PHP-Handbuch

von:
Mehdi Achour
Friedhelm Betz
Antony Dovgal
Nuno Lopes
Hannes Magnusson
Georg Richter
Damien Seguy
Jakub Vrana
Und etliche andere
2017-02-22
Herausgegeben von: Peter Cowburn
Bei der Übersetzung wirkten mit:
Oliver Albers
Florian Anderiasch
Christoph Michael Becker
Arne Blankerts
Cornelia Boenigk
Patrick Eigensatz
Hartmut Holzgraefe
Daniel Jänecke
Carola Köhntopp
Hakan Kücükyilmaz
Raphael Michel
Sebastian Nohn
Karl Pflästerer
Nikita Popov
Dirk Randhahn
Thorsten Rinne
Martin Samesch
Mark Wiesemann
Tim Hollmann
© 1997-2017 PHP-Dokumentationsgruppe
  • Copyright
  • PHP-Handbuch
    • Vorwort
  • Einführung
    • Einführung
    • Ein kleines Tutorial
  • Installation und Konfiguration
    • Generelle Überlegungen
    • Installation auf Unix-Systemen
    • Installation unter Mac OS X
    • Installation on Windows systems
    • Installation auf Cloud Computing Platformen
    • FastCGI Process Manager (FPM)
    • Installation of PECL extensions
    • Problems?
    • Laufzeiteinstellungen
  • Sprachreferenz
    • Grundlagen der Syntax
    • Typen
    • Variablen
    • Konstanten
    • Ausdrücke
    • Operatoren
    • Kontrollstrukturen
    • Funktionen
    • Klassen und Objekte
    • Namespaces
    • Fehler
    • Ausnahmebehandlung (Exception-Handling)
    • Generatoren
    • Referenzen in PHP
    • Vordefinierte Variablen
    • Vordefinierte Exceptions
    • Vordefinierte Interfaces und Klassen
    • Kontextoptionen und -parameter
    • Unterstützte Protokolle und Wrapper
  • Sicherheit
    • Einführung
    • Allgemeine Überlegungen
    • Installiert als CGI-Version
    • Verwendung als Apache-Modul
    • Session Security
    • Dateisystem - Sicherheit
    • Datenbank - Sicherheit
    • Fehlerbehandlung
    • Using Register Globals
    • Vom Nutzer übermittelte Daten
    • Magic Quotes
    • PHP verstecken
    • Aktuell bleiben
  • Features
    • HTTP-Authentifizierung mit PHP
    • Cookies
    • Sessions
    • Mit XForms umgehen
    • Steuerung von Dateiuploads
    • Zugriff auf entfernte Dateien
    • Verbindungssteuerung
    • Persistente Datenbankverbindungen
    • Safe Mode
    • Nutzung auf der Kommandzeile — Nutzung von PHP auf der Kommandozeile
    • Garbage Collection
    • DTrace Dynamic Tracing
  • Funktionsreferenz
    • Das Verhalten von PHP beeinflussen
    • Manipulation von Audioformaten
    • Authentifizierungsdienste
    • Eingabezeilenspezifische Erweiterungen
    • Erweiterungen zur Datenkompression und Archivierung
    • Kreditkartendaten-Verarbeitung
    • Kryptografische Erweiterungen
    • Datenbankerweiterungen
    • Datums- und zeitrelevante Erweiterungen
    • Dateisystemrelevante Erweiterungen
    • Unterstützung menschlicher Sprache und Zeichenkodierung
    • Bildverarbeitung und -generierung
    • E-Mail-relevante Erweiterungen
    • Mathematische Erweiterungen
    • Non-Text MIME-Ausgaben
    • Erweiterungen zur Prozesskontrolle
    • Sonstige Grunderweiterungen
    • Sonstige Dienste
    • Suchmaschinenerweiterungen
    • Serverspezifische Erweiterungen
    • Session-Erweiterungen
    • Textverarbeitung
    • Variablen- und typbezogene Erweiterungen
    • Web Services
    • Windowsbasierte Erweiterungen
    • XML-Manipulation
    • GUI Erweiterungen
  • PHP im Kern: Das Entwicklerhandbuch für die Zend Engine
    • Preface
    • Memory management
    • Working with Variables
    • Writing Functions
    • Writing Classes
    • Working with Resources
    • Working with INI settings
    • Working with streams
    • The "counter" Extension - A Continuing Example
    • The PHP 5 build system
    • Extension structure
    • PDO Driver How-To
    • Extension FAQs
    • Zend Engine 2 API reference
    • Zend Engine 2 Opcodes
    • Zend Engine 1
  • FAQ — FAQ: Frequently Asked Questions
    • Allgemeine Informationen
    • Mailing-Listen
    • PHP beziehen
    • PHP und Datenbanken
    • Installation
    • Probleme bei der Kompilierung
    • PHP benutzen
    • Password Hashing — Sicheres Password Hashing
    • PHP und HTML
    • PHP und COM
    • Verschiedene Fragen
  • Appendices
    • Die Geschichte von PHP und verwandten Projekten
    • Migrating from PHP 7.0.x to PHP 7.1.x
    • Migrating from PHP 5.6.x to PHP 7.0.x
    • Migration von PHP 5.5.x auf PHP 5.6.x
    • Migrating from PHP 5.4.x to PHP 5.5.x
    • Migration von PHP 5.3.x auf PHP 5.4.x
    • Migrating from PHP 5.2.x to PHP 5.3.x
    • Migrating from PHP 5.1.x to PHP 5.2.x
    • Migrating from PHP 5.0.x to PHP 5.1.x
    • Migrating from PHP 4 to PHP 5.0.x
    • PHP Debugging
    • Configure options
    • php.ini Richtlinien
    • Extension-Liste/-Kategorisierung
    • Liste der Funktions-Aliase
    • Liste der reservierten Wörter
    • Liste der Ressource-Typen
    • List of Available Filters
    • Liste der unterstützten Socket-Transporter
    • Tabelle zu Typenvergleichen in PHP
    • Liste der Parsertoken
    • Userland Naming Guide
    • Über das Handbuch
    • Creative Commons Attribution 3.0
    • Verzeichnis der Inhaltsverzeichnisse
    • Changelog
  • Windows HTML-Hilfe
    • Über diese Ausgabe
    • Using PHP Manual CHM Edition
    • The Full Text Search
    • Integrating the PHP Manual
Copyright
PHP Manual


Copyright

Copyright © 1997 - 2017 by the PHP Documentation Group. Dieses Material darf nur gemäß den Regeln und Bedingungen der Creative Commons Attribution License Version v3.0 oder neuer weiter verbreitet werden. Eine Kopie der Creative Commons Attribution 3.0 license ist in diesem Handbuch enthalten, die aktuellste Version ist unter » http://creativecommons.org/licenses/by/3.0/ verfügbar.

Für den Fall, dass Sie daran interessiert sind, dieses Dokument weiter zu verbreiten oder in sonstiger Form zu veröffentlichen, in Teilen oder als Ganzes, entweder verändert oder unverändert, und Sie Fragen haben, können Sie Kontakt zu den Copyright-Inhabern über » doc-license@lists.php.net. aufnehmen. Bitte beachten Sie, dass das Archiv dieser Maillingliste öffentlich zugänglich ist.

PHP-Handbuch
PHP-Handbuch
PHP-Handbuch


PHP-Handbuch
PHP Manual

PHP-Handbuch

  • Vorwort
Copyright
Vorwort
PHP-Handbuch
PHP Manual


Vorwort

PHP ist die Abkürzung für "PHP: Hypertext Preprocessor", eine weitverbreitete Open Source Skriptsprache speziell für Webentwicklungen. PHP läßt sich in HTML einbinden. Die Syntax erinnert an C, Java und Perl und ist einfach zu erlernen. Das Hauptziel der Sprache ist, Webentwicklern die Möglichkeit zu geben, schnell dynamisch generierte Webseiten zu erzeugen. Aber Sie können PHP für weitaus mehr einsetzen.

Dieses Handbuch besteht vorranging aus einer Funktionsreferenz, enthält aber zusätzlich auch eine Sprachreferenz, Erläuterungen zu den wichtigsten Features und weitere ergänzende Informationen.

Sie können dieses Handbuch in verschiedenen Formaten unter » http://www.php.net/download-docs.php herunterladen. Informationen dazu, wie dieses Handbuch erstellt wird, finden Sie im Anhang unter dem Kapitel 'Über dieses Handbuch'. Wenn Sie sich für die Geschichte von PHP interessieren, lesen Sie bitte den entsprechenden Anhang.

Autoren und Mitwirkende

Wir heben die zur Zeit aktivsten Personen auf der Titelseite des Handbuchs hervor, aber es gibt viel mehr Mitwirkende, die zur Zeit mithelfen oder in der Vergangenheit einen großen Beitrag zu diesem Projekt geleistet haben. Ebenfalls gibt es eine Vielzahl von Personen, die hier nicht namentlich aufgeführt sind, die durch ihre User Notes auf den Handbuchseiten mithelfen. Die User Notes werden kontinuierlich in unser Handbuch integriert und wir schätzen diese Unterstützung außerordentlich. Alle folgenden Listen sind alphabetisch sortiert.

Autoren und Editoren

Folgende Personen verdienenen Anerkennung dafür, dass Sie wesentlichen Inhalt zum Handbuch beigetragen haben und/oder weiterhin beitragen werden: Bill Abt, Jouni Ahto, Alexander Aulbach, Christoph Michael Becker, Daniel Beckham, Stig Bakken, Nilgün Belma Bugüner, Jesus M. Castagnetto, Ron Chmara, Sean Coates, John Coggeshall, Simone Cortesi, Peter Cowburn, Daniel Egeberg, Markus Fischer, Wez Furlong, Sara Golemon, Rui Hirokawa, Brad House, Pierre-Alain Joye, Etienne Kneuss, Moriyoshi Koizumi, Rasmus Lerdorf, Andrew Lindeman, Stanislav Malyshev, Justin Martin, Rafael Martinez, Rick McGuire, Moacir de Oliveira Miranda Júnior, Kalle Sommer Nielsen, Yasuo Ohgaki, Philip Olson, Richard Quadling, Derick Rethans, Rob Richards, Sander Roobol, Egon Schmid, Thomas Schoefbeck, Sascha Schumann, Dan Scott, Masahiro Takagi, Yannick Torres, Michael Wallner, Lars Torben Wilson, Jim Winstead, Jeroen van Wolffelaar und Andrei Zmievski.

Folgende Personen haben durch Ihre Editionsarbeit wesentlich zum Handbuch beigetragen: Stig Bakken, Gabor Hojtsy, Hartmut Holzgraefe, Philip Olson und Egon Schmid.

User Note-Betreuer

Die zurzeit aktivsten Betreuer: Daniel Brown, Nuno Lopes, Felipe Pena, Thiago Pojda und Maciek Sokolewicz.

Auch folgende Personen haben einiges an Mühe und Zeit zur Betreuung der User Notes investiert: Mehdi Achour, Daniel Beckham, Friedhelm Betz, Victor Boivie, Jesus M. Castagnetto, Nicolas Chaillan, Ron Chmara, Sean Coates, James Cox, Vincent Gevers, Sara Golemon, Zak Greant, Szabolcs Heilig, Oliver Hinckel, Hartmut Holzgraefe, Etienne Kneuss, Rasmus Lerdorf, Matthew Li, Andrew Lindeman, Aidan Lister, Hannes Magnusson, Maxim Maletsky, Bobby Matthis, James Moore, Philip Olson, Sebastian Picklum, Derick Rethans, Sander Roobol, Damien Seguy, Jason Sheets, Tom Sommer, Jani Taskinen, Yasuo Ohgaki, Jakub Vrana, Lars Torben Wilson, Jim Winstead, Jared Wyles und Jeroen van Wolffelaar.

PHP-Handbuch
Einführung
PHP-Handbuch


Einführung
PHP-Handbuch
PHP Manual

Einführung

  • Einführung
    • Was ist PHP?
    • Was kann PHP?
  • Ein kleines Tutorial
    • Was brauche ich?
    • Ihre erste PHP-erweiterte Seite
    • Etwas nützliches
    • Formulare verarbeiten
    • Alten Code mit neuen PHP-Versionen benutzen
    • Und weiter?
Vorwort
Einführung
PHP-Handbuch


Einführung
Was ist PHP?
Einführung
PHP Manual

Einführung

Inhaltsverzeichnis

  • Was ist PHP?
  • Was kann PHP?
Einführung
Was ist PHP?
Einführung
PHP Manual


Was ist PHP?

PHP (rekursives Akronym für PHP: Hypertext Preprocessor) ist eine weit verbreitete und für den allgemeinen Gebrauch bestimmte Open Source-Skriptsprache, welche speziell für die Webprogrammierung geeignet ist und in HTML eingebettet werden kann.

Nett, aber was heißt das genau? Ein Beispiel:

Beispiel #1 Ein einführendes Beispiel

<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 4.01 Transitional//EN
"http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <title>Beispiel</title>
    </head>
    <body>

        <?php
        echo "Hallo, ich bin ein PHP-Skript!";
        ?>

    </body>
</html>

Anstatt ein Programm mit vielen Anweisungen zur Ausgabe von HTML zu schreiben, schreibt man etwas HTML und bettet einige Anweisungen ein, die irgendetwas tun (wie hier "Hallo, ich bin ein PHP-Skript!" auszugeben). Der PHP-Code steht zwischen speziellen Anfangs- und Abschluss-Verarbeitungsinstruktionen <?php und ?>, mit denen man in den "PHP-Modus" und zurück wechseln kann.

PHP unterscheidet sich von clientseitigen Sprachen wie Javascript dadurch, dass der Code auf dem Server ausgeführt wird und dort HTML-Ausgaben generiert, die an den Client gesendet werden. Der Client erhält also nur das Ergebnis der Skriptausführung, ohne dass es möglich ist herauszufinden, wie der eigentliche Code aussieht. Sie können Ihren Webserver auch anweisen, alle Ihre HTML-Dateien mit PHP zu parsen, denn dann gibt es wirklich nichts, das dem Benutzer sagt, was Sie in petto haben.

Das Beste an der Verwendung von PHP ist, dass es für Neueinsteiger extrem einfach ist, aber auch einen riesigen Funktionsumfang für den professionellen Programmierer bietet. Scheuen Sie sich nicht, die lange Liste der PHP-Funktionen zu lesen. Sie können einsteigen, und binnen weniger Stunden bereits mit dem Schreiben von einfachen Skripten beginnen.

Auch wenn die Entwicklung von PHP auf serverseitige Programmierung fokussiert ist, können Sie mit PHP weitaus mehr anstellen. Lesen Sie mehr im Abschnitt Was kann PHP? oder benutzen Sie direkt das Einführungstutorial, wenn Sie nur an Webprogrammierung interessiert sind.

Einführung
Was kann PHP?
Einführung


Was kann PHP?

Alles. PHP ist hauptsächlich auf serverseitige Skripte fokussiert, weshalb Sie alles tun können, was auch ein anderes CGI-Programm kann, wie z.B. Formulardaten sammeln, dynamische Inhalte für Webseiten generieren oder Cookies senden und empfangen. Aber PHP kann noch viel mehr.

Es gibt drei Hauptgebiete, in denen PHP-Skripte genutzt werden.

  • Serverseitige Programmierung. Dies ist das traditionelle und auch Hauptfeld von PHP. Sie benötigen drei Dinge, um damit arbeiten zu können: Den PHP-Parser (CGI oder Server-Modul), einen Webserver und einen Webbrowser. Sie müssen einen Webserver laufen lassen, der mit einer PHP-Installation verbunden ist. Sie können auf die Ausgabe Ihres PHP-Programms mittels eines Webbrowsers zugreifen, der die Seite mithilfe des Servers darstellt. Dieses gesamte Szenario können Sie auf Ihrem heimischen Rechner laufen lassen, wenn Sie erst einmal mit PHP-Programmierung experimentieren wollen. Weitere Informationen finden Sie im Abschnitt Installation.
  • Kommandozeilenprogrammierung. Es ist auch möglich PHP-Skripte zu schreiben, die ohne einen Server oder Browser arbeiten können. Sie benötigen dafür nur den PHP-Parser. Die Art der Nutzung ist ideal für Programme, die regelmäßig mitels cron (auf *nix oder Linux) oder dem Task Scheduler (unter Windows) ausgeführt werden. Die Skripte können außerdem verwendet werden, um einfache Textprozessierung auszuführen. Weitere Informationen dazu finden Sie im Abschnitt Verwendung von PHP auf der Eingabezeile.
  • Schreiben von Desktop-Applikationen. PHP ist wahrscheinlich nicht die allerbeste Sprache, um Desktop-Anwendungen mit grafischer Oberfläche zu schreiben, aber wenn Sie PHP sehr gut kennen und einige weiterführende PHP-Features in Ihren clientseitigen Applikationen nutzen möchten, können Sie PHP-GTK nutzen, um derartige Programme zu schreiben. Auf diese Art haben Sie auch die Möglichkeit, plattformübergreifende Applikationen zu schreiben. PHP-GTK ist eine Erweiterung von PHP, die in der Hauptdistribution nicht enthalten ist. Sollten Sie daran interessiert sein, besuchen Sie die » PHP-GTK Website.

PHP kann auf allen gängigen Betriebssystemen verwendet werden, inkl. Linux, vielen Unix-Varianten (inkl. HP-UX, Solaris und OpenBSD), Microsoft Windows, Mac OS X, RISC OS, und wahrscheinlich anderen. PHP unterstützt auch die meisten der heute gebräuchlichen Webserver. Dies umfasst Apache, Microsoft Internet Information Server, Personal Web Server, Netscape- und iPlanet-Server, Oreilly Website Pro-Server, Caudium, Xitami, OmniHTTPd und viele andere. Für den Großteil der Server bietet PHP ein eigenes Modul, für die anderen, die den CGI-Standard unterstützen, kann PHP als CGI-Prozessor arbeiten.

So haben Sie die Freiheit, PHP auf dem Betriebssystem und dem Webserver Ihrer Wahl laufen zu lassen. Weiterhin können Sie je nach Vorliebe prozedural oder objektorientiert programmieren oder eine Mischung aus beidem verwenden. Auch wenn in PHP 4 noch nicht jedes Standard-OOP-Feature implementiert ist, sind viele Codebibliotheken und große Applikationen (unter anderem die PEAR-Bibliothek) bereits ausschließlich objektorientiert programmiert. Mit PHP 5 werden die objektorientierten Schwächen von PHP 4 behoben und ein vollständiges Objektmodell eingeführt.

Mit PHP sind Sie nicht auf die Ausgabe von HTML beschränkt. Seine Fähigkeiten umfassen auch das dynamische Generieren von Bildern, PDF-Dateien und Flashanimationen (mittels libswf und Ming). Sie können auch leicht jede Art von Text, wie XHTML oder irgendeine andere XML Datei, ausgeben. PHP kann diese Dateien automatisch generieren und im Dateisystem speichern anstatt diese nur auszugeben. Auf diese Weise lässt sich ein serverseitiger Cache Ihrer dynamischen Inhalte erstellen.

Vielleicht die größte und bemerkenswerteste Stärke von PHP ist seine Unterstützung für eine breite Masse von Datenbanken. Eine datenbankgestützte Website zu erstellen ist mithilfe der Datenbankerweiterungen (z.B. für mysql) unglaublich einfach. Wir haben auch eine Extension zur Datenbankabstraktion (names PDO), welche Ihnen die transparente Verwendung irgendeiner von dieser Erweiterung unterstützten Datenbank erlaubt. Desweiteren unterstützt PHP ODBC, den Open Database Connection Standard, mit welchem Sie sich mit jeder anderen Datenbank verbinden können, die diesen weltweiten Standard unterstützt. Andere Datenbanken können cURL oder sockets verwenden (wie z.B. CouchDB).

PHP unterstützt auch die Kommunikation mit anderen Services, welche Protokolle wie LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (auf Windows) und unzählige andere unterstützen. Sie können auch einfache Netzwerk-Sockets öffnen und unter Verwendung irgendeines anderen Protokolls kommunizieren. PHP unterstützt auch WDDX (Web Distributed Data Exchange) zum Austausch komplexer Daten zwischen Programmiersprachen. Da wir gerade vom Zusammenwirken sprechen: PHP unterstützt auch die Instantiierung von Java-Objekten und deren transparente Verwendung als PHP-Objekte.

PHP verfügt über äußerst hilfreiche Textverarbeitungsfunktionen, von den regulären Ausdrücken (PCRE) bis zum Parsen von XML-Dokumenten. PHP vereinheitlicht all diese XML-Erweiterungen auf der soliden Basis der libxml2-Bibliothek und erweitert diese Funktionalität durch die hinzugefügte Unterstützung von SimpleXML, XMLReader und XMLWriter.

Es gibt noch viele andere interessante Erweiterungen die alphabetisch sowie kategorisch dokumentiert sind. Ebenfalls existieren PECL Erweiterungen die ggf. in der PHP Dokumentation selbst dokumentiert sind, wie z.B. » XDebug

Wie Sie sehen können, reicht diese Seite nicht aus, um alle Möglichkeiten und Vorteile von PHP aufzulisten. Lesen Sie im Abschnitt Installation weiter und konsultieren Sie auch die Funktionsreferenz für weitere Erläuterungen der einzelnen hier erwähnten Erweiterungen.

Was ist PHP?
Ein kleines Tutorial
Einführung


Ein kleines Tutorial

Inhaltsverzeichnis

  • Was brauche ich?
  • Ihre erste PHP-erweiterte Seite
  • Etwas nützliches
  • Formulare verarbeiten
  • Alten Code mit neuen PHP-Versionen benutzen
  • Und weiter?

Auf diesen Seiten möchten wir Ihnen die Grundlagen von PHP in einem kleinen Tutorial vorstellen. Dieser Text behandelt nur das Erstellen von dynamischen Web-Seiten, obwohl PHP natürlich nicht nur dafür geeignet ist. Weitere Informationen finden Sie im Abschnitt Was kann PHP?.

Mit PHP erweiterte Web-Seiten werden wie normale HTML-Seiten behandelt. Sie können sie genauso wie normale HTML-Seiten erstellen und bearbeiten.

Was kann PHP?
Was brauche ich?
Einführung


Was brauche ich?

In diesem Tutorial gehen wir davon aus, dass auf Ihrem Server die PHP-Unterstützung aktiviert ist und dass die Dateiendung .php PHP zugeordnet ist. Auf den meisten Servern ist dies die Standardeinstellung für PHP-Dateien, aber fragen Sie bitte Ihren Server-Administrator, um sicherzugehen. Wenn Ihr Server PHP unterstützt, müssen Sie nichts machen. Erstellen Sie einfach Ihre .php-Dateien und legen Sie diese in Ihr Web-Verzeichnis - der Server wird sie dann für Sie parsen. Sie müssen nichts kompilieren und auch keine Zusatz-Tools installieren. Stellen Sie sich diese PHP-erweiterten Dateien wie normale HTML-Seiten mit einer ganzen Familie von "magischen" Tags, die Sie verschiedenste Dinge tun lassen, vor.

Angenommen, Sie möchten Bandbreite sparen und lokal entwickeln. In diesem Fall müssen Sie einen Webserver wie z.B. » Apache und natürlich » PHP installieren. Sehr empfehlenswert ist auch die Installation einer Datenbank wie z.B. » MySQL.

Sie können diese Programme entweder eins nach dem anderen selbst installieren oder den folgenden einfacheren Weg gehen. Unser Handbuch bietet ausführliche Installationsanweisungen für PHP (dabei gehen wir davon aus, dass Sie schon einen Webserver installiert haben). Falls Sie Probleme bei der Installation von PHP haben, dann empfehlen wir Ihnen, dass Sie Ihre Fragen auf unserer » Installations-Mailingliste stellen. Noch einfacher ist es, » vorkonfigurierte Pakete für Ihr Betriebssystem zu benutzen, die alle oben genannten Programme mit einigen wenigen Mausklicks installieren. Es ist ziemlich einfach, einen Webserver mit PHP-Unterstützung auf jedem Betriebssystem, wie macOS, Linux oder Windows, aufzusetzen. Unter Linux sind » rpmfind und » PBone hilfreich, wenn Sie RPM-Pakete suchen. Wenn Sie Pakete für Debian suchen, dann besuchen Sie bitte » apt-get.

Ein kleines Tutorial
Ihre erste PHP-erweiterte Seite
Ein kleines Tutorial


Ihre erste PHP-erweiterte Seite

Erstellen Sie eine Datei mit dem Namen hallo.php und speichern Sie diese im Root-Verzeichnis Ihres Webservers (DOCUMENT_ROOT) mit dem folgenden Inhalt:

Beispiel #1 Unser erstes PHP-Skript: hallo.php

<html>
 <head>
  <title>PHP-Test</title>
 </head>
 <body>
 <?php echo '<p>Hallo Welt</p>'; ?>
 </body>
</html>

Benutzen Sie Ihren Browser, um die Datei über den Webserver-URL aufzurufen. Der URL muss mit /hallo.php enden. Wenn Sie lokal entwickeln, sieht der URL z.B. so aus: http://localhost/hallo.php oder http://127.0.0.1/hallo.php - andere Adressen sind aber, abhängig vom Webserver, auch möglich. Wenn Sie alles korrekt installiert haben, wird die Datei von PHP geparst und Sie werden die folgende Ausgabe in Ihrem Browser sehen:

<html>
 <head>
  <title>PHP-Test</title>
 </head>
 <body>
 <p>Hallo Welt</p>
 </body>
</html>

Das Beispiel ist extrem einfach und natürlich brauchen Sie PHP nicht, um eine Seite wie diese zu erstellen. Denn es macht nicht mehr, als Hallo Welt mit der echo-Anweisung von PHP auszugeben. Bitte beachten Sie, dass die Datei nicht ausführbar sein muss. Der Server erkennt anhand der Dateiendung ".php", dass sie durch PHP interpretiert werden muss. Stellen Sie sich eine normale HTML-Datei vor, die eine Menge von speziellen Tags enthält, mit denen Sie einige interessante Dinge tun können.

Wenn Sie dieses Beispiel ausprobiert haben und Sie aber keine Ausgabe erhalten haben oder zum Download aufgefordert worden sind oder die komplette Datei als Text erhalten haben, dann ist es sehr wahrscheinlich, dass auf Ihrem Server PHP nicht aktiviert oder falsch konfiguriert ist. Fragen Sie in diesem Fall Ihren Administrator und weisen Sie ihn auf das Installations-Kapitel hin. Wenn Sie lokal entwickeln, lesen Sie bitte das Installations-Kapitel, um festzustellen, ob alles richtig konfiguriert wurde. Stellen Sie sicher, dass Sie die Datei über das HTTP-Protokoll aufrufen können. Wenn Sie die Datei direkt aus Ihrem Dateisystem aufrufen, wird sie nicht durch PHP geparst. Sollten Ihre Probleme nach Lesen dieses Kapitels immer noch bestehen, zögern Sie nicht und nutzen Sie eines der vielen » Support-Angebote.

Der wichtigste Punkt im Beispiel ist, Ihnen das spezielle PHP Tag-Format zu zeigen. Im Beispiel wurde <?php verwendet, um den Beginn eines PHP-Tags zu kennzeichnen. Anschließend folgte die PHP-Anweisung. Mit dem schließenden Tag, ?>, wurde der PHP-Modus wieder verlassen. Sie können an jeder Stelle und so oft Sie wollen, in den PHP-Modus wechseln und ihn wieder verlassen. Für weitere Details lesen Sie bitte den Abschnitt zu den Grundlagen der Syntax von PHP.

Hinweis: Anmerkungen zu Zeilenwechseln

Zeilenwechsel sind in HTML nur von geringer Bedeutung, trotzdem ist es sinnvoll HTML Code durch Zeilenwechsel zu formatieren um die Lesbarkeit zu erhöhen. Ein Zeilenwechsel, der direkt auf ein schließendes ?>> folgt, wird von PHP bei der Ausgabe entfernt. Dies ist äußerst nützlich, wenn Sie viele PHP-Blöcke einfügen oder Dateien includieren, die keine Ausgabe erzeugen sollen. Auf der anderen Seite kann es aber auch verwirrend sein. Sie können einen Zeilenwechsel erzwingen, indem Sie entweder ein zusätzliches Leerzeichen hinter ?> einfügen oder explizit mit echo oder print ein Zeilenwechselzeichen am Ende Ihres Codes ausgeben.

Hinweis: Anmerkung zu Text-Editoren

Es gibt eine ganze Reihe von Text-Editoren und Integrated Development Environments (IDEs), mit denen Sie Ihre PHP-Dateien erstellen, bearbeiten und managen können. Eine Liste solcher Programme finden Sie hier: » PHP Editors List. Wenn Sie einen Editor vorschlagen möchten, besuchen Sie bitte die genannte Seite und bitten Sie den Betreiber der Seite, dass er den Editor der Liste hinzufügt. Wir empfehlen Ihnen einen Editor zu benutzen, der Syntax-Highlighting bietet.

Hinweis: Anmerkung zu Textverarbeitungsprogrammen

Textverarbeitungsprogramme wie StarOffice Writer, Microsoft Word und Abiword sind keine gute Wahl, um PHP-Dateien zu bearbeiten. Wenn Sie eines dieser Programme für dieses Test-Skript nutzen möchten, dann müssen Sie sicherstellen, dass die Datei als "Nur Text"-Datei gespeichert wird, da PHP sonst das Skript nicht lesen und nicht ausführen kann.

Hinweis: Anmerkung zu Notepad, dem Windows-Standard-Editor

Wenn Sie Ihre PHP-Skripte mit Notepad schreiben, müssen Sie sicherstellen, dass Ihre Dateien mit der Endung .php gespeichert werden. (Notepad fügt die Endung .txt automatisch an den Dateinamen an, wenn Sie das nicht mit einem der folgenden Schritte verhindern.) Wenn Sie die Datei speichern und einen Namen für die Datei eingeben sollen, dann setzen Sie den Dateinamen in Anführungszeichen (z.B. "hallo.php"). Alternativ können Sie auch im "Datei speichern"-Fenster in der Drop-Down-Liste "Dateityp" die Einstellung auf "Alle Dateien" ändern. Sie können dann den Dateinamen ohne Anführungszeichen eingeben.

Nachdem Sie jetzt erfolgreich ein einfaches, funktionierendes PHP-Skript geschrieben haben, wird es Zeit, das berühmteste PHP-Skript zu schreiben. Rufen Sie die Funktion phpinfo() auf und Sie bekommen viele nützliche Informationen über Ihr System und Ihre Installation wie z.B. die verfügbaren vordefinierten Variablen, die geladenen PHP-Module und die Konfigurations-Einstellungen. Nehmen Sie sich etwas Zeit und schauen Sie sich diese wichtigen Informationen an.

Beispiel #2 Anzeigen von Systeminformationen mit PHP

<?php phpinfo(); ?>

Was brauche ich?
Etwas nützliches
Ein kleines Tutorial


Etwas nützliches

Kommen wir nun zu einem etwas nützlicheren Beispiel. Wir wollen prüfen, welchen Browser der Besucher benutzt. Um das zu tun, prüfen wir den "user agent"-String, den der Browser als Teil seiner HTTP-Anforderung sendet. Diese Information ist in einer Variablen abgelegt. In PHP beginnen Variablen immer mit einem Dollar-Zeichen. Die Variable, die uns jetzt interessiert, ist $_SERVER['HTTP_USER_AGENT'].

Hinweis:

$_SERVER ist eine speziell reservierte PHP-Variable, die alle Informationen über den Webserver enthält. Diese Variable wird auch als superglobal bezeichnet. Mehr Informationen darüber finden Sie auf der Manual-Seite über Superglobals. Diese speziellen Variablen wurden in PHP » 4.1.0 eingeführt. Vorher wurden stattdessen die älteren $HTTP_*_VARS-Arrays benutzt, also z.B. $HTTP_SERVER_VARS. Beginnend mit PHP 5.4.0 wurden diese älteren Variablen entfernt. (Beachten Sie auch die Seite Alten Code mit neuen PHP-Versionen benutzen.)

Um die Variable auszugeben, schreiben Sie einfach:

Beispiel #1 Variable ausgeben (Array-Element)

<?php
  echo $_SERVER['HTTP_USER_AGENT'];
?>

Die Ausgabe dieses Beispiels könnte so aussehen:

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

Es gibt viele Typen von Variablen. Im obigen Beispiel haben wir ein Array-Element ausgegeben. Arrays können sehr nützlich sein.

$_SERVER ist nur eine von vielen Variablen, die Ihnen automatisch von PHP zur Verfügung gestellt werden. Eine Liste finden Sie auf der Seite Reservierte Variablen im Manual. Eine vollständige Liste können Sie auch bekommen, wenn Sie sich die Ausgabe der phpinfo()-Funktion ansehen, die im Beispiel des vorigen Abschnitts benutzt wurde.

Sie können mehrere PHP-Anweisungen innerhalb eines PHP-Tags platzieren und so kleine Code-Blöcke schreiben, die mehr als nur eine Ausgabe mit echo enthalten. Wenn wir zum Beispiel prüfen möchten, ob es sich beim Browser des Besuchers um den Internet Explorer handelt, können wir folgenden Code benutzen:

Beispiel #2 Beispiel, das Kontrollstrukturen und Funktionen benutzt

<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
    echo "Sie benutzen Microsofts Internet Explorer.<br />";
}
?>

Die Ausgabe dieses Skripts könnte so aussehen:

Sie benutzen Microsofts Internet Explorer.<br />

Hier haben wir Ihnen eine ganze Reihe von neuen Konzepten vorgestellt. Wir haben hier zuerst eine if-Anweisung. Wenn Sie mit der Grundlagen-Syntax der Programmiersprache C vertraut sind, sollte Ihnen dies logisch erscheinen. Andernfalls sollten Sie sich ein Buch mit einer PHP-Einführung besorgen und die ersten Kapitel lesen. Sie können natürlich auch in die Sprachreferenz des Manuals schauen.

Das zweite hier vorgestellte Konzept ist der Aufruf der Funktion strpos(). strpos() ist eine in PHP eingebaute Funktion, die nach einem String in einem anderen String sucht. In diesem Fall suchen wir nach 'MSIE' (die so genannte Nadel, engl. needle) in $_SERVER['HTTP_USER_AGENT'] (der so genannte Heuhaufen, engl. haystack). Wenn die Nadel im Heuhaufen gefunden wird, gibt die Funktion die Position der Nadel relativ zum Start des Heuhaufens zurück. Andernfalls wird FALSE zurückgegeben. Wenn nicht FALSE zurückgeben wird, wird die if-Anweisung zu TRUE ausgewertet und der Code innerhalb der geschweiften Klammern wird ausgeführt. Andernfalls wird der Code innerhalb der Klammern nicht ausgeführt. Probieren Sie weitere ähnliche Beispiele mit if, else und anderen Funktionen wie strtoupper() oder strlen(). Jede dieser Manual-Seiten enthält weitere Beispiele. Wenn Sie unsicher sind, wie die Funktionen benutzt werden, lesen Sie die Handbuch-Seite Wie sind Funktionsdefinitionen (Prototypen) zu lesen? und den Abschnitt zu den PHP-Funktionen.

Wir können jetzt einen Schritt weitergehen und sehen, wie Sie innerhalb eines PHP-Blocks den PHP-Modus verlassen und wieder in ihn hinein gelangen können:

Beispiel #3 HTML- und PHP-Modus vermischt

<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
?>
<h3>strpos() hat nicht FALSE zurückgegeben</h3>
<p>Sie benutzen Internet Explorer</p>
<?php
} else {
?>
<h3>strpos() hat FALSE zurückgegeben</h3>
<p>Sie benutzen nicht Internet Explorer</p>
<?php
}
?>

Die Ausgabe dieses Skripts könnte so aussehen:

<h3>strpos() hat nicht FALSE zurückgegeben</h3>
<p>Sie benutzen Internet Explorer</p>

Anstatt die PHP echo-Anweisung für die Ausgabe zu benutzen, haben wir den PHP-Modus verlassen und normales HTML verwendet. Der wichtige Punkt hierbei ist, dass der logische Ablauf des Skripts dadurch nicht gestört wird. Nur einer der beiden HTML-Blöcke wird ausgegeben - abhängig davon, was strpos() zurückgibt bzw. ob der String MSIE gefunden wird oder nicht.

Ihre erste PHP-erweiterte Seite
Formulare verarbeiten
Ein kleines Tutorial


Formulare verarbeiten

Eine der mächtigsten Funktionen von PHP ist die Art, wie HTML-Formulare verarbeitet werden. Sie sollten wissen, dass jedes Element eines Formulars automatisch in Ihren PHP-Skripts verfügbar ist. Bitte lesen Sie die Seite Variablen aus externen Quellen für weitere Informationen und Beispiele über das Benutzen von Formularen mit PHP. Hier ist ein Beispiel-HTML-Formular:

Beispiel #1 Ein einfaches HTML-Formular

<form action="action.php" method="post">
 <p>Ihr Name: <input type="text" name="name" /></p>
 <p>Ihr Alter: <input type="text" name="alter" /></p>
 <p><input type="submit" /></p>
</form>

An diesem Formular ist nichts Besonderes. Es ist ein normales HTML-Formular ohne irgendwelche speziellen Tags. Wenn der Benutzer das Formular ausfüllt und den Submit-Button anklickt, wird die Seite action.php aufgerufen. Diese Datei könnte so aussehen:

Beispiel #2 Daten des Formulars ausgeben

Hallo <?php echo htmlspecialchars($_POST['name']); ?>.
Sie sind <?php echo (int)$_POST['alter']; ?> Jahre alt.

Die Ausgabe des Skripts könnte dann so aussehen:

Hallo Joe. Sie sind 22 Jahre alt.

Abgesehen von dem htmlspecialchars()-Aufruf und dem (int) Cast sollte einfach zu verstehen sein, was hier geschieht. htmlspecialchars() stellt sicher, dass die Zeichen, die in HTML eine spezielle Bedeutung haben, ordentlich codiert werden, sodass niemand HTML Tags oder Javascript-Code in Ihre Seite einschmuggeln kann. Da wir wissen, dass das "alter" Feld eine Zahl enthalten soll, konvertieren wir es in einen integer Wert, wodurch automatisch überflüssige Zeichen entfernt werden. Sie können diese Aufgabe auch PHP überlassen, indem Sie die Filter Extension benutzen. Die Variablen $_POST['name'] und $_POST['alter'] werden für Sie automatisch von PHP gesetzt. Weiter oben haben wir das superglobale Array $_SERVER eingeführt, jetzt benutzen wir hier das - ebenfalls superglobale - Array $_POST, welches alle POST-Daten enthält. Beachten Sie, dass die im Formular verwendete Methode POST ist. Hätten wir GET verwendet, wären die Daten unseres Formulars stattdessen im superglobalen Array $_GET verfügbar. Sie können auch das superglobale Array $_REQUEST benutzen, wenn die Quelle der Daten keine Rolle spielt. Dieses Array enthält die GET-, POST- und COOKIE-Daten.

Sie können ebenfalls die Eingaben von XForms in PHP verarbeiten, auch wenn Ihnen die von PHP unterstützten HTML-Formulare bisher gut gereicht haben. Auch wenn die Arbeit mit XForms nichts für Anfänger ist, sind Sie vielleicht trotzdem daran interessant. In unserem Features-Kapitel finden Sie eine kurze Einführung in die Verarbeitung von XForms-Daten.

Etwas nützliches
Alten Code mit neuen PHP-Versionen benutzen
Ein kleines Tutorial


Alten Code mit neuen PHP-Versionen benutzen

Dadurch, dass PHP eine immer beliebtere Skriptsprache ist, gibt es immer mehr öffentliche Quellen und Bibliotheken mit Code, den Sie wieder verwenden können. Die PHP-Entwickler haben versucht, den größten Teil der Sprache abwärtskompatibel zu halten. Das bedeutet, dass ein Skript, das für eine ältere PHP-Version geschrieben wurde, (im Idealfall) ohne Änderungen auch unter einer neueren PHP-Version läuft. In der Praxis sind aber meist einige Änderungen nötig.

Zwei der wichtigsten aktuellen Änderungen, die alten Code betreffen, sind:

  • Die alten $HTTP_*_VARS-Arrays sind ab PHP 5.4.0 nicht mehr verfügbar. Die folgenden Superglobalen Arrays wurden in PHP » 4.1.0 eingeführt: $_GET, $_POST, $_COOKIE, $_SERVER, $_FILES, $_ENV, $_REQUEST und $_SESSION.
  • Externe Variablen werden standardmäßig nicht mehr im globalen Namensraum registriert. Mit anderen Worten, seit PHP » 4.2.0 ist off die Standard-Einstellung für die PHP-Direktive register_globals. Die empfohlene Methode, auf diese Werte zuzugreifen, ist, die oben genannten superglobalen Arrays zu verwenden. Ältere Skripte, Bücher und Tutorials gehen eventuell davon aus, dass diese Einstellung auf on steht. Wäre die Einstellung z.B. on, dann wäre die Variable $id aus dem URL http://www.example.com/foo.php?id=42 verfügbar. Unabhängig davon, ob on oder off, ist $_GET['id'] immer verfügbar.
Für weitere Details über diese Änderungen siehe die Seite über vordefinierte Variablen und die Links dort.

Formulare verarbeiten
Und weiter?
Ein kleines Tutorial


Und weiter?

Mit dem neuen Wissen sollte es Ihnen möglich sein, das meiste aus diesem Manual und die vielen Beispiel-Skripte in den Beispiel-Archiven zu verstehen.

Wenn Sie an verschiedenen Präsentationen, die Ihnen zeigen, was PHP alles tun kann, interessiert sind, dann besuchen Sie doch folgende Seite: » http://talks.php.net/.

Alten Code mit neuen PHP-Versionen benutzen
Installation und Konfiguration
Ein kleines Tutorial


Installation und Konfiguration

  • Generelle Überlegungen
  • Installation auf Unix-Systemen
    • Apache 1.3.x auf Unix-Systemen
    • Apache 2.x auf Unixsystemen
    • Nginx 1.4.x auf Unix Systemen
    • Lighttpd 1.4 auf Unix systems
    • Sun, iPlanet and Netscape servers on Sun Solaris
    • CGI und Kommandozeilen Setups
    • HP-UX spezifische Installationsnotizen
    • OpenBSD installation notes
    • Solaris specific installation tips
    • Debian GNU/Linux-Installationshinweise
  • Installation unter Mac OS X
    • Verwendung von Paketen
    • Das enthaltene PHP verwenden
    • Kompilieren von PHP unter Mac OS X
  • Installation on Windows systems
    • Install Requirements
    • PECL
    • PHP Installer Tools on Windows
    • Recommended Configuration on Windows systems
    • Manual PHP Installation on Windows
    • Troubleshooting PHP on Windows
    • Installation auf Windowssystemen
  • Installation auf Cloud Computing Platformen
    • Azure App Services
    • Amazon EC2
  • FastCGI Process Manager (FPM)
    • Installation
    • Konfiguration
  • Installation of PECL extensions
    • Introduction to PECL Installations
    • Downloading PECL extensions
    • Installing a PHP extension on Windows
    • Compiling shared PECL extensions with the pecl command
    • Compiling shared PECL extensions with phpize
    • php-config
    • Compiling PECL extensions statically into PHP
  • Problems?
    • Read the FAQ
    • Other problems
    • Bug reports
  • Laufzeiteinstellungen
    • Die Konfigurationsdatei
    • .user.ini-Dateien
    • Wo Konfigurationseinstellungen gesetzt werden können
    • Wie man Konfigurationseinstellungen ändert
Und weiter?
Generelle Überlegungen
PHP-Handbuch


Generelle Überlegungen

Bevor Sie mit der Installation beginnen, sollten Sie wissen, für was Sie PHP verwenden wollen. Es gibt drei Hauptbereiche, in denen Sie PHP verwenden können, die im Abschnitt Was kann PHP? beschrieben werden:

  • Webseiten und Webapplikationen (serverseitiges Skripting)
  • Kommandozeilenskripte
  • Desktop(GUI-)Anwendungen

Für die erste und gebräuchlichste Variante brauchen Sie drei Dinge: PHP selbst, einen Webserver und einen Webbrowser. Sie haben wahrscheinlich bereits einen Webbrowser und, abhängig von Ihrem Betriebssystem, möglicherweise ebenso bereits einen Webserver (z.B. Apache auf Linux oder Mac OS X; IIS auf Windows). Sie können ebenfalls Webspace bei einem Unternehmen mieten. Auf diese Weise müssen Sie selbst nichts einrichten und müssen nur PHP-Skripte schreiben, diese auf den gemieteten Server hochladen und die Ergebnisse im Browser betrachten.

Für den Fall, dass Sie den Server und PHP selbst aufsetzen, haben Sie zwei Auswahlmöglichkeiten, um PHP mit dem Server zu verbinden. Für viele Server bietet PHP eine direkte Schnittstelle (auch SAPI genannt). Unter diesen Servern befinden sich Apache, Microsoft Internet Information Server, Netscape und iPlanet Server. Viele andere Server unterstützen ISAPI, die Microsoft Modulschnittstelle (z.B. OmniHTTPd). Falls PHP kein Modul für Ihren Webserver anbietet, können Sie es noch immer als CGI- oder FastCGI-Prozessor verwenden. Das bedeutet, Sie setzen Ihren Server so auf, dass er die ausführbare Datei für CGI von PHP verwendet, um alle Anfragen nach PHP Dateien auf dem Server zu verarbeiten.

Falls Sie außerdem darin interessiert sind, PHP für Kommandozeilenskripte zu verwenden (z.B. Skripte schreiben, die automatisch offline Bilder erzeugen oder Textdateien abhängig von einigen übergebenen Parametern zu verarbeiten), benötigen Sie die ausführbare Datei für die Kommandozeile. Für mehr Informationen lesen Sie bitte den Abschnitt über PHP auf der Kommandozeile. In diesem Fall benötigen Sie weder einen Server noch einen Browser.

Mit PHP können Sie ebenfalls grafische Desktopanwendungen mittels der PHP-GTK-Erweiterung schreiben. Dies erfordert einen völlig anderen Ansatz als das Verfassen von Webseiten, da man kein HTML ausgibt, sondern Fenster und darin enthaltene Objekte verwaltet. Für mehr Informationen zu PHP-GTK werfen Sie bitte einen Blick auf » diese Seite über die Erweiterung. PHP-GTK ist nicht in den offiziellen PHP-Paketen enthalten.

Von jetzt an behandelt dieser Abschnitt nur noch die Installation von PHP für Webserver auf Unix und Windows mittels Serverschnittstellen und CGI. Sie werden außerdem in den folgenden Abschnitten Informationen über die ausführbare Datei für die Kommandozeile finden.

Den PHP-Quellcode und die -Binärpakete für Windows finden Sie unter » http://www.php.net/downloads.php. Wir empfehlen, den Ihnen am nächsten gelegenen » gespiegelten Server für den Download zu verwenden.

Installation und Konfiguration
Installation auf Unix-Systemen
Installation und Konfiguration


Installation auf Unix-Systemen

Inhaltsverzeichnis

  • Apache 1.3.x auf Unix-Systemen
  • Apache 2.x auf Unixsystemen
  • Nginx 1.4.x auf Unix Systemen
  • Lighttpd 1.4 auf Unix systems
  • Sun, iPlanet and Netscape servers on Sun Solaris
  • CGI und Kommandozeilen Setups
  • HP-UX spezifische Installationsnotizen
  • OpenBSD installation notes
  • Solaris specific installation tips
  • Debian GNU/Linux-Installationshinweise

Dieser Abschnitt leitet Sie durch die generelle Konfiguration und Installation von PHP auf Unix-Systemen. Bitte lesen Sie zuerst alle Abschnitte, die speziell für Ihre Plattform oder Ihren Webserver zugeschnitten sind, bevor Sie mit dem Installationsprozess beginnen.

Wie dieses Handbuch im Abschnitt Generelle Installationsüberlegungen darlegt, behandeln wir hauptsächlich die web-zentrierten Einrichtungen von PHP, obwohl wir die Installation von PHP für die Kommandozeilennutzung ebenso beschreiben.

Es gibt veschiedene Wege, PHP auf Unix-Plattformen zu installieren: Entweder mit einem Kompilierungs- und Konfigurierungsprozess oder durch verschiedene Methoden von vorgefertigten Paketen. Diese Dokumentation richtet ihr Augenmerk hauptsächlich auf den Prozess des Selbstkompilierens und -konfigurierens von PHP. Viele unix-artige Systeme haben eine Art von Paketinstallationssystem. Dies kann beim Aufsetzen einer Standardkonfiguration helfen, aber wenn Sie eine davon abweichende Menge an Features benötigen (etwa sichere Server oder andere Datenbanktreiber), könnte es sein, dass Sie PHP und/oder Ihren Webserver selbst bauen müssen. Falls Ihnen das Bauen und Kompilieren von Software nicht geläufig ist, ist es lohnenswert zu prüfen, ob bereits jemand ein PHP-Paket mit den von Ihnen benötigten Features gebaut hat.

Folgende Fähigkeiten und Software benötigen Sie für die Kompilierung:

  • Grundlegende Unix-Fertigkeiten (die Fähigkeit, "make" und einen C- Kompiler zu bedienen)
  • Ein ANSI-C-Compiler
  • Einen Webserver
  • Modulspezifische Komponenten (wie GD, PDF-Bibliotheken usw.)

Wenn direkt von den Git Dateien kompiliert wird oder eigene Änderungen vorgenommen wurden, könnten folgende Komponenten benötigt werden:

  • autoconf: 2.13+ (für PHP < 5.4.0), 2.59+ (für PHP >= 5.4.0)
  • automake: 1.4+
  • libtool: 1.4.x+ (ausgenommen 1.4.2)
  • re2c: Version 0.13.4 oder aktueller
  • flex: Version 2.5.4 (für PHP <= 5.2)
  • bison:
    • PHP 5.4: 1.28, 1.35, 1.75, 1.875, 2.0, 2.1, 2.2, 2.3, 2.4, 2.4.1, 2.4.2, 2.4.3, 2.5, 2.5.1, 2.6, 2.6.1, 2.6.2, 2.6.4
    • PHP 5.5: 2.4, 2.4.1, 2.4.2, 2.4.3, 2.5, 2.5.1, 2.6, 2.6.1, 2.6.2, 2.6.3, 2.6.4, 2.6.5, 2.7
    • PHP 5.6: 2.4 oder höher, ausgenommen 3.0 (3.0.1 und höher sind in Ordnung)
    • PHP 7.0: 2.4 oder höher

Der anfängliche PHP Setup- und Konfigurationsprozess wird durch die Verwendung von Kommandozeilenoptionen des configure-Skriptes gesteuert. Sie sollten eine Liste von allen verfügbaren Optionen zusammen mit einer kurzen Erläuterung durch den Aufruf von ./configure --help erhalten. Unser Handbuch dokumentiert die verschiedenen Optionen einzeln. Sie finden die grundlegenden Optionen im Anhang, während die verschiedenen extensionspezifischen Optionen auf den Referenzseiten der Erweiterungen beschrieben sind.

Sobald PHP konfiguriert ist, sind Sie bereit, die Module und/oder die ausführbaren Dateien zu bauen. Der Befehl make sollte sich darum kümmern. Falls dies fehlschlägt und Sie nicht herausfinden können wieso, werfen Sie einen Blick in den Abschnitt Probleme.

Generelle Überlegungen
Apache 1.3.x auf Unix-Systemen
Installation und Konfiguration


Apache 1.3.x auf Unix-Systemen

Dieser Abschnitt beinhaltet Hinweise und Tipps, die sich auf die Installation von PHP speziell für Apache auf Unix-Plattformen beziehen. Wir haben Anweisungen und Hinweise für Apache 2 auf einer eigenen Seite.

Die Anweisungen, die Sie zum unten in Zeile 10 abgebildeten configure-Aufruf hinzufügen können, können Sie aus der Liste von grundlegenden Configure-Optionen und aus den für Erweiterungen spezifiscen Optionen, die auf den jeweiligen Handbuchseiten beschrieben sind, auswählen. Um sicherzustellen, dass die Anweisungen nicht inkorrekt sind, wurden Versionsnummern hier ausgelassen. Sie müssen die Zeichenkette 'xxx' hier mit den zu Ihren Dateien passenden Werten ersetzen.

Beispiel #1 Installationsanweisungen (Apache Shared Module Version) für PHP

1.  gunzip apache_xxx.tar.gz
2.  tar -xvf apache_xxx.tar
3.  gunzip php-xxx.tar.gz
4.  tar -xvf php-xxx.tar
5.  cd apache_xxx
6.  ./configure --prefix=/www --enable-module=so
7.  make
8.  make install
9.  cd ../php-xxx

10. Konfigurieren Sie jetzt Ihr PHP. Dies ist die Stelle, an der Sie
    Ihr PHP mit verschiedenen Optionen, z.B. welche Erweiterungen aktiviert
    sein werden, anpassen können. Rufen Sie ./configure --help für eine Liste
    von verfügbaren Optionen auf. In unseren beispiel werden wir eine einfache
    Konfiguration mit Unterstützung für Apache 1 und MySQL vornehmen. Ihr
    Pfad zu apxs könnte von unserem Beispiel abweichen.

      ./configure --with-mysql --with-apxs=/www/bin/apxs

11. make
12. make install

    Falls Sie sich entscheiden, die Werte Ihrer Konfiguration nach der
    Installation zu ändern, müssen Sie nur die letzten drei Schritte
    wiederholen. Sie müssen nur Apache neu starten, damit das neue Modul
    aktiv wird. Eine erneute Kompilation von Apache ist nicht erforderlich.

    Beachten Sie, dass 'make install', falls nicht anders angewiesen,
    ebenfalls PEAR, verschiedene PHP-Tools wie phpize, das PHP CLI und mehr
    installieren wird.

13. Ihre php.ini Datei einrichten:

      cp php.ini-development /usr/local/lib/php.ini

    Sie können Ihre .ini-Datei bearbeiten, um verschiedene PHP-Einstellungen
    vorzunehmen. Wenn Sie es bevorzugen, Ihre php.ini-Datei an anderer
    Stelle zu haben, verwenden Sie --with-config-file-path=/irgendein/pfad
    in Schritt 10.

    Wenn Sie stattdessen php.ini-production auswählen stellen Sie sicher, dass
    Sie die enthaltenen Änderungen lesen, da diese sich auf das Verhalten von
    PHP auswirken.

14. Ändern Sie Ihre httpd.conf-Datei, damit das PHP-Modul geladen wird. Der
    Pfad auf der rechten Seite des LoadModule Befehls muss zum Pfad des
    PHP-Moduls auf Ihrem System zeigen. Das 'make install' von oben könnte
    dies bereits für Sie hinzugefügt haben, aber prüfen Sie dies nach.

      LoadModule php5_module libexec/libphp5.so

15. Fügen Sie dies im AddModule-Abschnitt Ihrer httpd.conf, irgendwo unterhalb
    von ClearModuleList, hinzu:

      AddModule mod_php5.c

16. Sagen Sie Ihrem Apache, bestimmte Dateiendungen als PHP zu parsen. Zum
    Beispiel lassen wir die .php-Dateiendung als PHP behandeln. Sie können
    jede Erweiterung als PHP parsen lassen, indem Sie einfach weitere
    Endungen, jeweils durch ein Leerzeichen getrennt, hinzufügen. Wir fügen
    .phtml hinzu, um dies vorzuführen.

      AddType application/x-httpd-php .php .phtml

    Es ist weiterhin üblich, die .phps-Dateiendung zu konfigurieren, damit
    diese farblich hervorgehobenen Quellcode anzeigt. Dies kann wie folgt
    eingerichtet werden:

      AddType application/x-httpd-php-source .phps

17. Verwenden Sie Ihre normale Prozedur, um den Apache zu starten. (Sie müssen
    den Server anhalten und neu starten, nicht nur ein erneutes laden des
    Servers mittels eines HUP- oder USR1-Signals veranlassen.)

Alternativ, um PHP als statisches Objekt zu installieren:

Beispiel #2 Installationsanweisungen (Statische Modulinstallation für Apache) für PHP

1.  gunzip -c apache_1.3.x.tar.gz | tar xf -
2.  cd apache_1.3.x
3.  ./configure
4.  cd ..

5.  gunzip -c php-5.x.y.tar.gz | tar xf -
6.  cd php-5.x.y
7.  ./configure --with-mysql --with-apache=../apache_1.3.x
8.  make
9.  make install

10. cd ../apache_1.3.x

11. ./configure --prefix=/www --activate-module=src/modules/php5/libphp5.a
    (Die obige Zeile ist korrekt! Ja, wir wissen, dass libphp5.a zu diesem
    Zeitpunkt nicht existiert. Das soll sie auch noch nicht. Sie wird
    angelegt werden.)

12. make
    (Sie sollten jetzt eine ausführbare Datei httpd haben, welche Sie in Ihr
    Apache-Binärverezichnis kopieren können. Wenn dies Ihre Erstinstallation
    ist, müssen Sie außerdem noch "make install" aufrufen)

13. cd ../php-5.x.y
14. cp php.ini-development /usr/local/lib/php.ini

15. Sie können /usr/local/lib/php.ini bearbeiten, um PHP-Einstellungen zu
    ändern. Bearbeiten Sie Ihre httpd.conf oder srm.conf-Datei und fügen Sie
    folgendes hinzu:

    AddType application/x-httpd-php .php

Abhängig von Ihrer Apacheinstallation und Unixvariante gibt es viele verschiedene Methoden, um den Server anzuhalten und erneut zu starten. Unten sind für verschiedene Apache/Unix-Installationen einige typische Zeilen zum Neustart des Servers. Sie sollten /path/to mit dem Pfad dieser Anwendungen auf Ihrem System ersetzen.

Beispiel #3 Beispielbefehle, um Apache neu zu starten

1. Verschiedene Linux- und SysV-Varianten:
/etc/rc.d/init.d/httpd restart

2. Verwendung der apachectl Skripte:
/path/to/apachectl stop
/path/to/apachectl start

3. httpdctl und httpsdctl (mit OpenSSL), ähnlich wie apachectl:
/path/to/httpsdctl stop
/path/to/httpsdctl start

4. Mit mod_ssl oder einem anderen SSL Server, könnten Sie manuell stoppen
   und starten wollen:
/path/to/apachectl stop
/path/to/apachectl startssl

Die Orte der apachectl- und http(s)dctl-Binärdateien sind häufig verschieden. Wenn Ihr System einen locate-, whereis- oder which-Befehl besitzt, können diese Ihnen beim Auffinden des Serverkontrollprogrammes helfen.

Verschiedene Beispiele zur Kompilierung von PHP für Apache wie folgt:

./configure --with-apxs --with-pgsql

Dies wird eine Bibliothek libphp5.so erzeugen, die mittels einer LoadModule-Zeile in der httpd.conf des Apache geladen wird. PostgreSQL-Unterstützung ist in diese Bibliothek eingebaut.

./configure --with-apxs --with-pgsql=shared

Dies wird eine Bibliothek libphp5.so für Apache erzeugen, aber ebenso eine pgsql.so, die von PHP mit der Extension-Direktive in der php.ini-Datei oder durch explizites Laden in einem Skript mittels der Funktion dl() geladen wird.

./configure --with-apache=/path/to/apache_source --with-pgsql

Dies wird eine Bibliothek libmodphp5.a, eine mod_php5.c und einige zugehörige Dateien erzeugen und diese in das Verzeichnis src/modules/php5 des Apache Quellcodes kopieren. Kompilieren Sie danach Apache mit --activate-module=src/modules/php5/libphp5.a und das Apache Build System wird eine libphp5.a erzeugen und statisch in die Binärdatei httpd einbinden. Unterstützung für PostgreSQL wird in diese httpd Binärdatei mit eingebaut, weshalb das Endergebnis eine einzige Datei namens httpd ist, welche den gesamten Apache und PHP beinhaltet.

./configure --with-apache=/path/to/apache_source --with-pgsql=shared

Genau wie oben, aber anstatt die Unterstützung für PostgreSQL direkt in httpd mit einzubinden wird eine gemeinsam verwendete Bibliothek namens pgsql.so erzeugt, die man mittels der php.ini Datei oder direkt über dl() in PHP einbinden kann.

Wenn Sie aus den verschiedenen Möglichkeiten auswählen, PHP zu kompilieren, sollten Sie die Vor- und Nachteile der jeweiligen Methoden bedenken. Das Erzeugen einer gemeinsam verwendeten Bibliothek resultiert darin, dass man Apache getrennt kompilieren kann und nicht alles erneut kompilieren muss, wenn man etwas zu PHP hinzufügt oder ändert. Das direkte Einbauen in Apache (statisch) bedeutet, dass PHP schneller lädt und schneller läuft. Für weitere Informationen konsultieren Sie die Apache » Webseite zur DSO-Unterstützung.

Hinweis:

Apaches mitgelieferte httpd.conf enthält derzeit einen Abschnitt, der wie folgt aussieht:

User nobody
Group "#-1"
Wenn man dies nicht auf "Group nogroup" oder etwas ähnliches ("Group daemon" ist auch üblich) ändert, wird PHP nicht imstande sein, Dateien zu öffnen.

Hinweis:

Stellen Sie sicher, dass Sie die installierte Version von apxs angeben, wenn Sie --with-apxs=/path/to/apxs verwenden. Sie dürfen NICHT die apxs-Version angeben, die dem Apache Quellcode beiliegt, sondern jene, die tatsächlich auf Ihrem System installiert ist.

Installation auf Unix-Systemen
Apache 2.x auf Unixsystemen
Installation auf Unix-Systemen


Apache 2.x auf Unixsystemen

Dieser Abschnitt enthält Hinweise und Tipps, die sich auf die Installation von PHP speziell für Apache 2.x auf Unixsystemen beziehen.

Warnung

Wir empfehlen, in einer Produktionsumgebung kein Threaded MPM mit Apache2 zu verwenden. Verwenden Sie stattdessen das Prefork MPM, welches der Standard-MPM für Apace 2.0 und 2.2 ist. Für weitere Informationen und die Gründe lesen Sie bitte den entsprechenden FAQ-Eintrag über die Verwendung von Apache2 mit Threaded MPM.

Die » Apache Dokumentation ist die maßgebliche Informationsquelle für den Apache 2.x Server. Dort können weitere Informationen über Installationsoptionen für Apache gefunden werden.

Die aktuellste Version des Apache HTTP Servers kann von der » Apache Download Site bezogen werden, und eine passende PHP-Version von den oben angegebenen Quellen. Dieser Schnelleinstieg behandelt nur die Grundlagen, um mit Apache 2.x und PHP einzusteigen. Für mehr Informationen lesen Sie bitte die » Apache Dokumentation. Versionsnummern wurden hier ausgelassen, um sicherzustellen, dass die Anweisungen nicht inkorrekt sind. In den folgenden Beispielen sollte 'NN' durch die spezifische Version des verwendeten Apache ersetzt werden.

Es gibt aktuell zwei Versionen von Apache 2.x: 2.0 und 2.2. Obwohl es verschiedene Gründe gibt, sich für eine zu entscheiden, ist 2.2 die aktuellste Version, und diejenige, die empfohlen wird, wenn sie diese Möglichkeit haben. Allerdings funktionieren die folgenden Anweisungen sowohl für 2.0 als auch 2.2.

  1. Beziehen Sie den Apache HTTP Server vom oben genannten Ort, und entpacken Sie ihn:

    gzip -d httpd-2_x_NN.tar.gz
tar -xf httpd-2_x_NN.tar

  2. Beziehen und entpacken Sie die PHP-Quellen gleichermaßen:

    gunzip php-NN.tar.gz
tar -xf php-NN.tar

  3. Kompilieren und installieren Sie Apache. Entnehmen Sie der Apache Installationsdokumentation weitere Details zur Kompilierung.

    cd httpd-2_x_NN
./configure --enable-so
make
make install

  4. Nun steht Ihnen Apache 2.x.NN unter /usr/local/apache2 zur Verfügung, konfiguriert mit Unterstützung für nachladbare Module und dem Standard MPM Prefork. Um diese Installation zu testen, verwenden Sie die übliche Prozedur, den Apacheserver zu starten, also z.B.:

           /usr/local/apache2/bin/apachectl start
    Stoppen Sie nun den Server, um mit der Konfiguration von PHP fortzufahren:
           /usr/local/apache2/bin/apachectl stop.

  5. Konfigurieren und kompilieren Sie nun Ihr PHP. Dies ist die Stelle, an der Sie Ihr PHP mit verschiedenen Optionen, wie etwa installierten Erweiterungen, anpassen können. Rufen Sie ./configure --help auf, um eine Liste der verfügbaren Optionen zu erhalten. In unserem Beispiel werden wir eine einfache Konfiguration mit Unterstützung für Apache 2 und MySQL erzeugen.

    Wenn Sie Apache aus den Quelltexten kompiliert haben, wie oben beschrieben wurde, dann stimmt im folgenden Beispiel der Pfad von apxs, aber wenn Sie Apache auf andere Weise installiert haben, müssen Sie den Pfad von apxs entsprechend anpassen. Es ist zu beachten, dass einige Distros möglicherweise apxs zu apxs2 umbenennen.

    cd ../php-NN
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql
make
make install

    Wenn Sie sich entscheiden, Ihre Konfigurationsoptionen nach der Installation zu ändern, müssen Sie nur die configure, make und make install Schritte wiederholen. Sie müssen nur Apache neustarten, damit das neue Modul verwendet wird. Eine erneute Kompilierung von Apache ist nicht notwendig.

    Beachten Sie, dass, wenn nicht anders erwähnt, 'make install' ebenso PEAR und verschiedene PHP Werkzeuge wie phpize, PHP CLI und anderes installieren wird.

  6. Ihre php.ini einrichten

    cp php.ini-development /usr/local/lib/php.ini

    Sie können Ihre .ini-Datei ändern, um verschiedene PHP-Optionen zu setzen. Wenn Sie die php.ini-Datei an einer anderen Stelle bevorzugen, verwenden Sie --with-config-file-path=/some/path in Schritt 5.

    Wenn Sie sich stattdessen für php.ini-production entscheiden, stellen Sie sicher, dass Sie die darin enthaltene Liste von Änderungen lesen, da diese das Verhalten von PHP beeinflussen.

  7. Bearbeiten Sie Ihre httpd.conf, um das PHP Modul zu laden. Der Pfad auf der rechten Seite der LoadModule-Anweisung muss auf den Ort des PHP-Moduls auf Ihrem System zeigen. Das obige make install könnte dies bereits für Sie hinzugefügt haben, aber prüfen Sie dies.

    LoadModule php5_module modules/libphp5.so

  8. Weisen Sie Apache an, bestimmte Dateiendungen als PHP Skripte zu behandeln. Zum Beispiel werden wir den Apache Dateien mit der Endung .php als PHP ausführen lassen. Anstatt nur die Apachedirektive AddType zu verwenden, wollen wir zusätzlich verhindern, dass potentiell gefährliche hochgeladene und erzeugte Dateien wie exploit.php.jpg als PHP-Dateien ausgeführt werden. Wenn Sie dieses Beispiel verwenden, können Sie jede Dateiendung als PHP interpretieren lassen, wenn Sie sie einfach hinzufügen. Wir demonstrieren dies, indem wir .php einfügen.

    <FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

    Oder wenn wir erlauben wollen, dass .php, .php2, .php3, .php4, .php5, .php6 und .phtml und sonst nichts als PHP interpretiert werden, könnten wird ein Statement wie dieses verwenden:

    <FilesMatch "\.ph(p[2-6]?|tml)$">
    SetHandler application/x-httpd-php
</FilesMatch>

    Und um zu erlauben, dass .phps Dateien vom PHP Source-Filter verarbeitet und als Quellcode mit Syntax-Highlighting angezeigt werden, verwenden Sie:

    <FilesMatch "\.phps$">
    SetHandler application/x-httpd-php-source
</FilesMatch>

    mod_rewrite kann verwendet werden, um zu erlauben, dass jede beliebige .php Datei als Quellcode mit Syntax-Highlighting angezeigt wird, ohne dass sie die Datei zu .phps umbenennen oder kopieren müssen:

    RewriteEngine On
RewriteRule (.*\.php)s$ $1 [H=application/x-httpd-php-source]

    Der PHP-Source-Filter sollte auf Produktionssystemen nicht aktiviert werden, da er vertrauliche oder anderweise sensible Informationen, die im Quellcode enthalten sind, preisgeben könnte.

  9. Verwenden Sie die übliche Prozedur, um den Apache Server zu starten, z.B.:

    /usr/local/apache2/bin/apachectl start

    ODER

    service httpd restart

Wenn Sie den obigen Anweisungen folgen, werden Sie einen laufenden Apache2 mit Unterstützung für PHP als SAPI-Modul erhalten. Natürlich existieren für Apache und PHP viele weitere Konfigurationseinstellungen. Verwenden Sie ./configure --help im jeweiligen Quellcodeverzeichnis, um weitere Informationen zu erhalten.

Apache2 kann multithreaded kompiliert werden, indem das worker MPM anstatt des normalen prefork MPM für den Build gewählt wird. Dies erfolgt, indem die folgende Option zu dem Argument, das weiter oben in Schritt 3 an ./configure übergeben wird, hinzugefügt wird:

--with-mpm=worker

Dies sollte nicht durchgeführt werden, ohne sich der Konsequenzen dieser Entscheidung bewusst zu sein, und zumindest eine angemesse Kenntnis der Implikationen zu haben. Die Apache Dokumentation bezüglich der » MPM-Module erörtert MPMs sehr ausführlich.

Hinweis:

Das Apache MultiViews FAQ erörtert die Verwendung von Multiviews mit PHP.

Hinweis:

Um eine Multithreaded Version von Apache zu erzeugen, muss das Zielsystem Threads unterstützen. In diesem Fall sollte auch PHP mit der experimentellen Zend Thread Safety (ZTS) kompiliert werden. Unter dieser Konfiguration sind nicht alle Erweiterungen verfügbar. Die empfohlene Einstellung ist es, Apache mit dem normalen prefork -MPM-Modul zu bauen.

Apache 1.3.x auf Unix-Systemen
Nginx 1.4.x auf Unix Systemen
Installation auf Unix-Systemen


Nginx 1.4.x auf Unix Systemen

Diese Dokumentation deckt die Installation und Konfiguration von PHP mit PHP-FPM für ein Nginx 1.4.x HTTP Server ab.

Diese Anleitung setzt voraus, dass Sie Nginx aus dem Quelltext erstellt haben und dadurch alle Binaries haben und die Konfigurations Dateien in /usr/local/nginx abgelegt sind. Wenn dies nicht der Fall ist und Sie Nginx über eine andere Quelle bezogen haben, dann sehen Sie bitte unter » Nginx Wiki nach, um dieses Manual für Ihre Installation zu übersetzen.

Diese Anleitung wird die Basics der Konfiguration eines Nginx Servers abdecken, um PHP Applikationen auszuführen und unter Port 80 bereitzustellen. Eine Studie der Nginx und PHP-FPM Dokumentation ist Voraussetzung für eine optimale Installation, die auch über den Umfang dieser Dokumentation hinaus geht.

Hinweis: In dieser Dokumentation wurden Versionsnummern durchgehend mit einem 'x' ersetzt. Dies stellt sicher, dass die Dokumentation auch für künftige Versionen richtig bleibt. Bitte ersetzen Sie diese soweit notwendig mit Ihrer entstprechenden Version.

  1. Voraussetzung ist, dass Sie im Nginx Wiki die » Installations Seite besuchen, um Nginx für Ihr System zu erhalten und zu installieren.

  2. Erhalten und entpacken der PHP-Quelle:

    tar zxf php-x.x.x

  3. Konfigurieren und erstellen von PHP. Dies ist die Stelle, an der Sie Ihre PHP Installation individuell mit verschiedenen Optionen anpassen. Sowas wie: welche Erweiterung (extension) aktiviert (enabled) wird. Führen Sie ./configure --help für eine Liste der verfügbaren Optionen aus. In unserem Beispiel werden wir eine einfache Konfiguration mit PHP-FPM and MySQL Unterstützung durchführen.

    cd ../php-x.x.x
./configure --enable-fpm --with-mysql
make
sudo make install

  4. Erhalten und verschieben von Konfigurationsdateien an die richtige Stelle

    cp php.ini-development /usr/local/php/php.ini
cp /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf
cp sapi/fpm/php-fpm /usr/local/bin

  5. Es ist wichtig, dass wir Nginx daran hindern Anfragen an das PHP-FPM Backend zu leiten, wenn die Datei nicht existiert. Dies erlaubt uns willkürliche Skript Eingaben (script injection) zu verhindern.

    Wir können dies durch eine Einstellung beheben, indem wir innerhalb unserer php.ini Datei die cgi.fix_pathinfo Direktive auf 0 setzen.

    Einlesen der php.ini:

    vim /usr/local/php/php.ini

    Positionieren auf cgi.fix_pathinfo= und wie folgt modifizieren:

    cgi.fix_pathinfo=0

  6. php-fpm.conf muss angepasst werden, damit php-fpm als User www-data und Gruppe www-data ausgeführt wird, bevor wir es Service starten können:

    vim /usr/local/etc/php-fpm.conf

    Finden und modifizieren Sie folgendes:

    ; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
user = www-data
group = www-data

    Der php-fpm Service kann wie folgt gestartet werden:

    /usr/local/bin/php-fpm

    Diese Anleitung wird nicht weiter auf die php-fpm Konfiguration eingehen. Wenn Sie weiteres Interesse an der php-fpm Konfiguration haben, dann ziehen Sie bitte die entsprechende Dokumentation heran.

  7. Nginx muss jetzt konfiguriert werden, um PHP Applikationen ablaufen zu lassen:

    vim /usr/local/nginx/conf/nginx.conf

    Modifizieren Sie den Bereich voreingestellte Positionen, um zu gewährleisten, dass .php Dateien verarbeitet werden:

    location / {
    root   html;
    index  index.php index.html index.htm;
}

    Der nächste Schritt soll sicherstellen, dass .php Dateien an des PHP-FPM Backend geleitet werden. Sternen Sie die kommentierten Bereich aus und geben Sie folgendes ein:

    location ~* \.php$ {
    fastcgi_index   index.php;
    fastcgi_pass    127.0.0.1:9000;
    include         fastcgi_params;
    fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
    fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
}

    Neustart von Nginx.

    sudo /usr/local/nginx/sbin/nginx -s stop
sudo /usr/local/nginx/sbin/nginx

  8. Erstellen einer Test Datei

    rm /usr/local/nginx/html/index.html
echo "<?php phpinfo(); ?>" >> /usr/local/nginx/html/index.php

    Nun navigieren Sie zu http://localhost. Die Funktion phpinfo() sollte nun angezeigt werden.

Folgen Sie den obigen Schritten und Sie werden ein laufenden Nginx Web-Server mit Unterstützung für PHP als ein SAPI Modul erhalten. Natürlich sind noch viel mehr Konfigurations-Einstellungen für Nginx und PHP verfügbar. Für weitere Informationen geben Sie ./configure --help im entsprechenden Quellpfad ein.

Apache 2.x auf Unixsystemen
Lighttpd 1.4 auf Unix systems
Installation auf Unix-Systemen


Lighttpd 1.4 auf Unix systems

Dieser Abschnitt enthält Notizen und Hinweise zur Installtion von PHP für Lighttpd 1.4 für Unixsysteme.

Bitte benutzen Sie das » Lighttpd trac um die ordnungsgemäße Installation von Lighttpd zu lernen bevor Sie fortfahren.

Fastcgi ist die bevorzugte SAPI um PHP mit Lighttpd zu verbinden. Fastcgi ist automatisch bei php-cgi ab PHP Version 5.3 aktiviert. für ältere Version konfigurieren Sie PHP bitte mit der --enable-fastcgi Option. Um zu verifizieren, dass fastcgi aktiviert ist benutzen Sie bitte php -v. In diesen sollte Ihre Ausgabe PHP 5.2.5 (cgi-fcgi) enthalten. Vor PHP 5.2.3 war fastcgi in der php Binärtdatei aktiviert (es gab noch kein php-cgi).

Lighttpd einen php Prozess starten lassen

Um Lighttpd so zu konfigurieren, dass es sich mit php verbindet und einen fastcgi Prozess startet editieren sie bitte die lighttpd.conf. Sockets sind der bevorzugte Weg um sich auf einem lokalen System mit dem fastcgi Prozess zu verbinden.

Beispiel #1 Partial lighttpd.conf

server.modules += ( "mod_fastcgi" )

fastcgi.server = ( ".php" =>
  ((
    "socket" => "/tmp/php.socket",
    "bin-path" => "/usr/local/bin/php-cgi",
    "bin-environment" => (
      "PHP_FCGI_CHILDREN" => "16",
      "PHP_FCGI_MAX_REQUESTS" => "10000"
    ),
    "min-procs" => 1,
    "max-procs" => 1,
    "idle-timeout" => 20
  ))
)

Der bin-path erlaubt es Lighttpd einen neue fastcgi Prozess automatisch zu starten. PHP wird entsprechende der PHP_FCGI_CHILDREN Umgebungsvariable Kindprozesse starte. Das "bin-environment" Direktiv konfiguriert die Umgebung für gestartete Prozesse. PHP Wir Kindprozesse beenden nachdem die Anzahl von Anfragen laut PHP_FCGI_MAX_REQUESTS erreicht ist. Die Direktiven "min-procs" und "max-procs" sollten generell vermieden wirden bei PHP. PHP verwaltet seine eigenen Kindprozesse. Opcode caches wie APC werden nur unter Kindprozessen geteilt, welche von PHP verwaltet werden. Wenn "min-procs" auf einen Wert größer 1 gesetzt ist, wird die totale Anzahle an "php Respondern" mit PHP_FCGI_CHILDREN multipliziert. (2 min-procs * 16 Kindprozesser ergibt 32 Responder)

Spawning mit spawn-fcgi

Lighttpd bietet ein Programm "spawn-fcgi" an um den Prozess des Erstellens von fastcgi Prozessen zu vereinfachen.

Spawning php-cgi

Es ist möglich Prozesse ohne spawn-fcgi zu starten. Jedoch ist dafür etwas Arbeit nötig. Die Umgebungsvariable PHP_FCGI_CHILDREN Umgebungsvariable definiert wie viele Kindprozesse PHP spawnen wird um eingehende Anfragen zu bearbeiten. PHP_FCGI_MAX_REQUESTS definiert wie lange (in Anfragen) jeder Kindprozess existieren wird. Hier ist ein einfaches bash script um das Spawnen von PHP Respondern zu vereinfachen.

Beispiel #2 Spawning FastCGI Responders

#!/bin/sh

# Location of the php-cgi binary
PHP=/usr/local/bin/php-cgi

# PID File location
PHP_PID=/tmp/php.pid

# Binding to an address
#FCGI_BIND_ADDRESS=10.0.1.1:10000
# Binding to a domain socket
FCGI_BIND_ADDRESS=/tmp/php.sock

PHP_FCGI_CHILDREN=16
PHP_FCGI_MAX_REQUESTS=10000

env -i PHP_FCGI_CHILDREN=$PHP_FCGI_CHILDREN \
       PHP_FCGI_MAX_REQUESTS=$PHP_FCGI_MAX_REQUESTS \
       $PHP -b $FCGI_BIND_ADDRESS &

echo $! > "$PHP_PID"

Verbindung zu entfernten FCGI Instanzen

Um Anwendungen besser zu skalieren können fastcgi Instanzen auf mehreren entfernten Maschinen gestart werden.

Beispiel #3 Verbindung zu entferten php-fastcgi Instanzen

fastcgi.server = ( ".php" =>
   (( "host" => "10.0.0.2", "port" => 1030 ),
    ( "host" => "10.0.0.3", "port" => 1030 ))
)
Nginx 1.4.x auf Unix Systemen
Sun, iPlanet and Netscape servers on Sun Solaris
Installation auf Unix-Systemen


Sun, iPlanet and Netscape servers on Sun Solaris

This section contains notes and hints specific to Sun Java System Web Server, Sun ONE Web Server, iPlanet and Netscape server installs of PHP on Sun Solaris.

From PHP 4.3.3 on you can use PHP scripts with the NSAPI module to generate custom directory listings and error pages. Additional functions for Apache compatibility are also available. For support in current web servers read the note about subrequests.

You can find more information about setting up PHP for the Netscape Enterprise Server (NES) here: » http://benoit.noss.free.fr/php/install-php4.html

To build PHP with Sun JSWS/Sun ONE WS/iPlanet/Netscape web servers, enter the proper install directory for the --with-nsapi=[DIR] option. The default directory is usually /opt/netscape/suitespot/. Please also read /php-xxx-version/sapi/nsapi/nsapi-readme.txt.

  1. Install the following packages from » http://www.sunfreeware.com/ or another download site:

    • autoconf-2.13
    • automake-1.4
    • bison-1_25-sol26-sparc-local
    • flex-2_5_4a-sol26-sparc-local
    • gcc-2_95_2-sol26-sparc-local
    • gzip-1.2.4-sol26-sparc-local
    • m4-1_4-sol26-sparc-local
    • make-3_76_1-sol26-sparc-local
    • mysql-3.23.24-beta (if you want mysql support)
    • perl-5_005_03-sol26-sparc-local
    • tar-1.13 (GNU tar)

  2. Make sure your path includes the proper directories PATH=.:/usr/local/bin:/usr/sbin:/usr/bin:/usr/ccs/bin and make it available to your system export PATH.
  3. gunzip php-x.x.x.tar.gz (if you have a .gz dist, otherwise go to 4).
  4. tar xvf php-x.x.x.tar
  5. Change to your extracted PHP directory: cd ../php-x.x.x

  6. For the following step, make sure /opt/netscape/suitespot/ is where your netscape server is installed. Otherwise, change to the correct path and run:

    ./configure --with-mysql=/usr/local/mysql \
--with-nsapi=/opt/netscape/suitespot/ \
--enable-libgcc

  7. Run make followed by make install.

After performing the base install and reading the appropriate readme file, you may need to perform some additional configuration steps.

Configuration Instructions for Sun/iPlanet/Netscape

Firstly you may need to add some paths to the LD_LIBRARY_PATH environment for the server to find all the shared libs. This can best done in the start script for your web server. The start script is often located in: /path/to/server/https-servername/start. You may also need to edit the configuration files that are located in: /path/to/server/https-servername/config/.

  1. Add the following line to mime.types (you can do that by the administration server):

    type=magnus-internal/x-httpd-php exts=php

  2. Edit magnus.conf (for servers >= 6) or obj.conf (for servers < 6) and add the following, shlib will vary depending on your system, it will be something like /opt/netscape/suitespot/bin/libphp4.so. You should place the following lines after mime types init.

    Init fn="load-modules" funcs="php4_init,php4_execute,php4_auth_trans" shlib="/opt/netscape/suitespot/bin/libphp4.so"
Init fn="php4_init" LateInit="yes" errorString="Failed to initialize PHP!" [php_ini="/path/to/php.ini"]
    (PHP >= 4.3.3) The php_ini parameter is optional but with it you can place your php.ini in your web server config directory.

  3. Configure the default object in obj.conf (for virtual server classes [version 6.0+] in their vserver.obj.conf):

    <Object name="default">
.
.
.
.#NOTE this next line should happen after all 'ObjectType' and before all 'AddLog' lines
Service fn="php4_execute" type="magnus-internal/x-httpd-php" [inikey=value inikey=value ...]
.
.
</Object>
    (PHP >= 4.3.3) As additional parameters you can add some special php.ini-values, for example you can set a docroot="/path/to/docroot" specific to the context php4_execute is called. For boolean ini-keys please use 0/1 as value, not "On","Off",... (this will not work correctly), e.g. zlib.output_compression=1 instead of zlib.output_compression="On"

  4. This is only needed if you want to configure a directory that only consists of PHP scripts (same like a cgi-bin directory):

    <Object name="x-httpd-php">
ObjectType fn="force-type" type="magnus-internal/x-httpd-php"
Service fn=php4_execute [inikey=value inikey=value ...]
</Object>
    After that you can configure a directory in the Administration server and assign it the style x-httpd-php. All files in it will get executed as PHP. This is nice to hide PHP usage by renaming files to .html.

  5. Setup of authentication: PHP authentication cannot be used with any other authentication. ALL AUTHENTICATION IS PASSED TO YOUR PHP SCRIPT. To configure PHP Authentication for the entire server, add the following line to your default object:

    <Object name="default">
AuthTrans fn=php4_auth_trans
.
.
.
</Object>

  6. To use PHP Authentication on a single directory, add the following:

    <Object ppath="d:\path\to\authenticated\dir\*">
AuthTrans fn=php4_auth_trans
</Object>

Hinweis:

The stacksize that PHP uses depends on the configuration of the web server. If you get crashes with very large PHP scripts, it is recommended to raise it with the Admin Server (in the section "MAGNUS EDITOR").

CGI environment and recommended modifications in php.ini

Important when writing PHP scripts is the fact that Sun JSWS/Sun ONE WS/iPlanet/Netscape is a multithreaded web server. Because of that all requests are running in the same process space (the space of the web server itself) and this space has only one environment. If you want to get CGI variables like PATH_INFO, HTTP_HOST etc. it is not the correct way to try this in the old PHP way with getenv() or a similar way (register globals to environment, $_ENV). You would only get the environment of the running web server without any valid CGI variables!

Hinweis:

Why are there (invalid) CGI variables in the environment?

Answer: This is because you started the web server process from the admin server which runs the startup script of the web server, you wanted to start, as a CGI script (a CGI script inside of the admin server!). This is why the environment of the started web server has some CGI environment variables in it. You can test this by starting the web server not from the administration server. Use the command line as root user and start it manually - you will see there are no CGI-like environment variables.

Simply change your scripts to get CGI variables in the correct way for PHP 4.x by using the superglobal $_SERVER. If you have older scripts which use $HTTP_HOST, etc., you should turn on register_globals in php.ini and change the variable order too (important: remove "E" from it, because you do not need the environment here):

variables_order = "GPCS"
register_globals = On

Special use for error pages or self-made directory listings (PHP >= 4.3.3)

You can use PHP to generate the error pages for "404 Not Found" or similar. Add the following line to the object in obj.conf for every error page you want to overwrite:

Error fn="php4_execute" code=XXX script="/path/to/script.php" [inikey=value inikey=value...]
where XXX is the HTTP error code. Please delete any other Error directives which could interfere with yours. If you want to place a page for all errors that could exist, leave the code parameter out. Your script can get the HTTP status code with $_SERVER['ERROR_TYPE'].

Another possibility is to generate self-made directory listings. Just create a PHP script which displays a directory listing and replace the corresponding default Service line for type="magnus-internal/directory" in obj.conf with the following:

Service fn="php4_execute" type="magnus-internal/directory" script="/path/to/script.php" [inikey=value inikey=value...]
For both error and directory listing pages the original URI and translated URI are in the variables $_SERVER['PATH_INFO'] and $_SERVER['PATH_TRANSLATED'].

Note about nsapi_virtual() and subrequests (PHP >= 4.3.3)

The NSAPI module now supports the nsapi_virtual() function (alias: virtual()) to make subrequests on the web server and insert the result in the web page. This function uses some undocumented features from the NSAPI library. On Unix the module automatically looks for the needed functions and uses them if available. If not, nsapi_virtual() is disabled.

Hinweis:

But be warned: Support for nsapi_virtual() is EXPERIMENTAL!!!

Lighttpd 1.4 auf Unix systems
CGI und Kommandozeilen Setups
Installation auf Unix-Systemen


CGI und Kommandozeilen Setups

Sandardmäßig wird PHP als CLI und CGI Programm kompiliert. Sollte Ihr Webserver die Möglichkeit der Einbindung als Modul besitzen, dann sollten Sie generell diese Option bevorzugen. CGI Versionen bieten jedoch den Vorteil verschiedenen Usern verschiedene PHP Versionen zu bieten.

Warnung

Wenn Sie das CGI-Setup verwenden, ist Ihr Server für einige mögliche Angriffe anfällig. Wie Sie sich vor diesen Angriffen schützen können, entnehmen Sie bitte dem Kapitel über CGI-Sicherheit.

Testen

Wenn Sie PHP als CGI Programm kompiliert haben, dann können Sie Ihren Build mit make test überprüfen. Es ist generell eine gute Idee Ihren Build zu testen. Auf diesem Weg können sie Fehler frühzeitig erkennen statt durch diese später Schwierigkeiten zu bekommen.

Benutzung von Variablen

Einige vom Server bereitgestellte Variablen sind nicht in der aktuellen » CGI/1.1 Spezifikation spezifiziert.. Nur die folgenden Variablen sind hier definiert: AUTH_TYPE, CONTENT_LENGTH, CONTENT_TYPE, GATEWAY_INTERFACE, PATH_INFO, PATH_TRANSLATED, QUERY_STRING, REMOTE_ADDR, REMOTE_HOST, REMOTE_IDENT, REMOTE_USER, REQUEST_METHOD, SCRIPT_NAME, SERVER_NAME, SERVER_PORT, SERVER_PROTOCOL, and SERVER_SOFTWARE. Everything else should be treated as 'vendor extensions'.

Sun, iPlanet and Netscape servers on Sun Solaris
HP-UX spezifische Installationsnotizen
Installation auf Unix-Systemen


HP-UX spezifische Installationsnotizen

Dieser Abschnitt entält einige Notizen und Hinweise zur Installation von PHP auf HP-UX Systemen.

Es gibt hauptsächlich zwei Möglichkeiten PHP auf einem HP-UX System zu installieren. Entweder kompilieren sie PHP selber oder Sie benutzen bereits vorkompilierten Binärpakete.

Offizielle vorkompilierte Pakete können hier bezogen werden: » http://software.hp.com/

Bis dieser Abschnitt nicht neu geschrieben wurde, ist die Anleitung für das Kompilieren von PHP (und seinen Erweiterungen) auf HP-UX Systemen bis auf Weiteres entfernt. Sie können Sich jedoch auf extern Resourcen über den Prozess des Kompilieren informieren: » Building Apache and PHP on HP-UX 11.11

CGI und Kommandozeilen Setups
OpenBSD installation notes
Installation auf Unix-Systemen


OpenBSD installation notes

This section contains notes and hints specific to installing PHP on » OpenBSD 5.8.

Using Binary Packages

Using binary packages to install PHP on OpenBSD is the recommended and simplest method. The core package has been separated from the various modules, and each can be installed and removed independently from the others. The files you need can be found on your OpenBSD CD or on the FTP site.

The main package you need to install is php, which contains the basic engine (plus gettext and iconv). Next, take a look at the module packages, such as php-mysql or php-imap. You need to use the phpxs command to activate and deactivate these modules in your php.ini.

Beispiel #1 OpenBSD Package Install Example

# pkg_add php
# pkg_add php-fpm
# pkg_add php-mysql
  (install the PEAR libraries)
# pkg_add pear

Follow the instructions shown with each package!

  (to remove packages)
# pkg_delete php
# pkg_delete php-fpm
# pkg_delete php-mysql
# pkg_delete pear

Read the » packages(7) manual page for more information about binary packages on OpenBSD.

Using Ports

You can also compile up PHP from source using the » ports tree. However, this is only recommended for users familiar with OpenBSD. The PHP 4 port is split into two sub-directories: core and extensions. The extensions directory generates sub-packages for all of the supported PHP modules. If you find you do not want to create some of these modules, use the no_* FLAVOR. For example, to skip building the imap module, set the FLAVOR to no_imap.

Common Problems

  • Apache and Nginx are no longer the default server on OpenBSD, but they can both be easily found in ports and packages. The new default server is also called 'httpd'.
  • The default install of httpd runs inside a » chroot(2) jail, which will restrict PHP scripts to accessing files under /var/www. You will therefore need to create a /var/www/tmp directory for PHP session files to be stored, or use an alternative session backend. In addition, database sockets need to be placed inside the jail or listen on the localhost interface. If you use network functions, some files from /etc such as /etc/resolv.conf and /etc/services will need to be moved into /var/www/etc. The OpenBSD PEAR package automatically installs into the correct chroot directories.
  • The OpenBSD 5.7+ package for the » gd extension requires XFree86 to be installed. This can be added post-installation (See OpenBSD FAQ#4) by adding the xbase.tgz file set.

Older Releases

Older releases of OpenBSD used the FLAVORS system to compile up a statically linked PHP. Since it is hard to generate binary packages using this method, it is now deprecated. You can still use the old stable ports trees if you wish, but they are unsupported by the OpenBSD team. If you have any comments about this, the current maintainer for the port is Anil Madhavapeddy (avsm at openbsd dot org).

HP-UX spezifische Installationsnotizen
Solaris specific installation tips
Installation auf Unix-Systemen


Solaris specific installation tips

This section contains notes and hints specific to installing PHP on Solaris systems.

Required software

Solaris installs often lack C compilers and their related tools. Read this FAQ for information on why using GNU versions for some of these tools is necessary.

For unpacking the PHP distribution you need

  • tar
  • gzip or
  • bzip2

For compiling PHP you need

  • gcc (recommended, other C compilers may work)
  • make
  • GNU sed

For building extra extensions or hacking the code of PHP you might also need

  • flex (up to PHP 5.2)
  • re2c
  • bison
  • m4
  • autoconf
  • automake
In addition, you will need to install (and possibly compile) any additional software specific to your configuration, such as Oracle or MySQL.

Using Packages

You can simplify the Solaris install process by using pkgadd to install most of your needed components. The Image Packaging System (IPS) for Solaris 11 Express also contains most of the required components for installation using the pkg command.

OpenBSD installation notes
Debian GNU/Linux-Installationshinweise
Installation auf Unix-Systemen


Debian GNU/Linux-Installationshinweise

Dieser Abschnitt beinhaltet Hinweise und Tipps für die Installation von PHP unter » Debian GNU/Linux.

Warnung

Nicht offizielle Pakete von Drittanbietern werden hier nicht unterstützt. Alle Bugs sollten an das Debian-Team gemeldet werden, außer falls sie mit den letzten Paketen von unserer » Download-Seite reproduzierbar sind.

Auch wenn die Anweisungen zum Kompilieren von PHP unter Unix auch für Debian gelten, enthält diese Handbuchseite spezielle Informationen für weitere Optionen, wie z.B. über die Nutzung der apt-get- oder aptitude-Kommandos. Diese Handbuchseite nutzt beide Kommandos synonym.

APT verwenden

Beachten Sie zunächst, dass andere verwandte Pakete wie libapache2-mod-php5 (zur Integration mit Apache 2) oder php-pear (für PEAR) existieren.

Außerdem sollten Sie vor der Installation eines Pakets sicherstellen, dass die Paketliste auf dem aktuellen Stand ist. Üblicherweise kann dies durch das Kommando apt-get update erledigt werden.

Beispiel #1 Debian-Installations-Beispiel mit Apache 2

# apt-get install php5-common libapache2-mod-php5 php5-cli

APT wird automatisch das PHP-5-Modul für Apache 2 sowie alle seine Abhängigkeiten installieren und danach aktivieren. Damit die Änderungen in Kraft treten, muss Apache neu gestart werden. Zum Beispiel:

Beispiel #2 Stoppen und Starten von Apache nach der Installation von PHP

# /etc/init.d/apache2 stop
# /etc/init.d/apache2 start

Bessere Kontrolle über die Konfiguration

Im letzten Abschnitt wurde PHP nur mit den Basismodulen installiert. In den meisten Fällen werden Sie weitere Module wie MySQL, cURL oder GD benötigen. Auch diese Module können mit dem apt-get-Kommando installiert werden.

Beispiel #3 Methoden zur Anzeige weiterer PHP-5-Pakete

# apt-cache search php5
# aptitude search php5
# aptitude search php5 |grep -i mysql

Diese Beispiel werden eine große Zahl von Paketen, inklusive spezieller PHP-Pakete wie php5-cgi, php5-cli und php5-dev, anzeigen. Entscheiden Sie, welche Sie benötigen und installieren Sie diese wie jedes andere Paket entweder mit apt-get oder aptitude. Weil Debian Abhängigkeiten prüft, wird es Sie ggf. fragen, um MySQL und cURL zu installieren:

Beispiel #4 PHP mit MySQL und cURL installieren

# apt-get install php5-mysql php5-curl

APT wird automatisch die passenden Zeilen zu Ihren verschiedenen mit der php.ini verwandten Dateien hinzufügen, wie z.B. /etc/php5/apache2/php.ini, /etc/php5/conf.d/pdo.ini etc. Abhängig von der Erweiterung wird es Einträge ähnlich wie extension=foo.so hinzufügen. Das Neustarten des Web-Server (z.B. Apache) ist erforderlich, damit die Änderungen sich auswirken.

Bekannte Probleme

  • Wenn die PHP-Skripte nicht vom Web-Server geparst werden, ist es wahrscheinlich, dass PHP nicht zur Konfigurationsdatei des Web-Servers hinzugefügt wurde. Unter Debian ist dies meist /etc/apache2/apache2.conf (oder ähnlich). Im Debian-Handbuch finden Sie weitere Details hierzu.
  • Falls eine Erweiterung anscheinend installiert wurde, aber die Funktionen nicht definiert sind, müssen Sie sicherstellen, dass die entsprechede INI-Datei geladen wurde und/oder dass der Web-Server nach der Installation neu gestartet wurde.
  • Es gibt zwei grundlegende Kommandos für die Installation von Paketen unter Debian (und anderen Linux-Varianten): apt-get und aptitude. Die Erläuterung der feinen Unterschiede zwischen diesen Kommandos liegt außerhalb dessen, was dieses Handbuch umfasst.
Solaris specific installation tips
Installation unter Mac OS X
Installation auf Unix-Systemen


Installation unter Mac OS X

Inhaltsverzeichnis

  • Verwendung von Paketen
  • Das enthaltene PHP verwenden
  • Kompilieren von PHP unter Mac OS X

Diese Kapitel beschreibt die Installation von PHP unter Mac OS X. PHP wird auf Macs ausgeliefert; das Kompilieren ist ähnlich zur Installation unter Unix.

Debian GNU/Linux-Installationshinweise
Verwendung von Paketen
Installation und Konfiguration


Verwendung von Paketen

Es gibt verschiedene vorkompilierte und gepackte Versionen von PHP für Mac OS X. Sie können zum Aufsetzen von Standardkonfigurationen verwendet werden. Sobald Sie spezielle Funktionen benötigen (z.B. unterschiedliche Datenbanktreiber), müssen Sie sich Ihr eigenes PHP - eventuell auch einen eigenen Webserver - kompilieren. Wenn Sie nicht vertraut mit dem Kompilieren eigener Software sind, sollten Sie prüfen, ob nicht bereits jemand ein gepacktes und vorkompiliertes System bereitstellt, das Ihren Anforderungen entspricht.

Die folgenden Quellen bieten einfach zu installierende PHP-Pakete für Mac OS X an:

  • MacPorts: » http://www.macports.org/
  • Liip: » http://php-osx.liip.ch/
  • Fink: » http://www.finkproject.org/
  • Homebrew: » https://github.com/Homebrew/homebrew-php

Installation unter Mac OS X
Das enthaltene PHP verwenden
Installation unter Mac OS X


Das enthaltene PHP verwenden

Seit der Version 10.0.0 ist PHP standardmäßig in Mac OS X enthalten. Um PHP mit dem Standard-Webserver zu verwenden, müssen nur ein paar Zeilen in der Apache Konfigurationsdatei httpd.conf auskommentiert werden. CGI und/oder CLI sind standardmäßig aktiviert (zugänglich über das Terminal-Programm).

Die folgende Anleitung, um PHP zu aktivieren, ermöglicht ein einfaches und schnelles Aufsetzen einer lokalen Entwicklungsumgebung. Es wird dringend empfohlen PHP immer auf dem neusten Stand zu halten. Wie für die meisten Anwendungen werden auch für PHP regelmäßig neue Versionen erstellt, um Fehler zu beseitigen und um den Funktionsumfang zu erweitern. Für weitere Informationen sollten Sie die entsprechende Mac-OS-X-Installations-Dokumentation lesen. Die folgende Anleitung richtet sich an Anfänger, um eine Standardkonfiguration aufzusetzen. Alle Benutzer sollten angespornt sein, neuere Paket-Versionen zu installieren oder selbst zu kompilieren.

Die normale Installation beinhaltet die Aktivierung des mitgelieferten mod_php für den Apache-Webserver (Standard-Webserver, der über die Systemeinstellungen von Mac OS X zugänglich ist) und umfasst folgende Schritte:

  1. Öffnen Sie die Apache Konfigurationsdatei. Normalerweise finden Sie diese unter: /etc/httpd/httpd.conf Über den Finder oder Spotlight wird die Datei nur schwer zu finden sein, da sie privat ist und den Rechten des root-Benutzers unterliegt.

    Hinweis: Ein Weg, um die Datei zu öffnen, ist, einen Unix-basierten Texteditor im Terminal, z.B. nano, zu verwenden. Da die Datei dem Benutzer root gehört, sollten Sie den sudo-Befehl zum Öffnen (mit Root-Rechten) verwenden. Z.B. können Sie Folgendes im Terminal-Programm eingeben (danach werden Sie nach dem Passwort gefragt): sudo nano /etc/httpd/httpd.conf Nennenswerte Befehle für nano: ^w (suchen), ^o (speichern), und ^x (schließen) wobei ^ für die ctrl-Taste steht.

    Hinweis: Versionen von Mac OS X vor 10.5 enthielten ältere Versionen von PHP und Apache. Daher kann sich die Apache-Konfigurationen auf solchen älteren Maschinen im folgenden Verzeichnis befinden: /etc/httpd/httpd.conf.

  2. Mit einem Texteditor müssen Sie nur die Zeilen, die ähnlich wie die folgenden aussehen, einkommentieren (durch entfernen von #; die beiden Zeilen sind oft ein Stück voneinander getrennt):

    # LoadModule php5_module libexec/httpd/libphp4.so

# AddModule mod_php5.c
    Beachten Sie die Dateipfade. Wenn Sie zukünftig PHP selbst kompilieren, sollten die beiden Dateien ersetzt oder wieder auskommentiert werden.

  3. Stellen Sie sicher, dass die gewünschten Dateiendungen durch PHP geparst werden (z.B.: .php .html und .inc)

    Durch die bereits in der Datei httpd.conf (ab MacOS Panther), enthaltenen Angaben, werden Dateien mit der Endung .php nach dem Aktivieren von PHP automatisch geparst.

    <IfModule mod_php4.c>
    # Wenn PHP aktiviert wurde, werden .php und .phps Dateien berücksichtigt.
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps

    # Da die meisten Benutzer index.php verwenden möchten, aktivieren
    # wir ebenso automatisch die index.php
    <IfModule mod_dir.c>
        DirectoryIndex index.html index.php
    </IfModule>
</IfModule>

    Hinweis:

    Vor OS X 10.5 (Leopard) war PHP 4 statt PHP 5 enthalten, weswegen die oben genannten Anweisungen angepasst werden müssen (Ersetzen der "5" durch die "4").

  4. Stellen Sie sicher, dass durch DirectoryIndex die gewünschten richtigen Index-Dateien geladen werden. Dies kann ebenfalls in httpd.conf definiert werden. Normalerweise wird index.php und index.html verwendet. Standardmäßig ist index.php aktiviert, wie oben bereits gezeigt. Passen Sie es wie gewünscht an.
  5. Pfad zur php.ini setzen oder den Standard verwenden Der Standardpfad unter Mac OS X ist /usr/local/php/php.ini, was durch einen Aufruf von phpinfo() geprüft werden kann. Wenn keine php.ini angegeben ist, verwendet PHP die Standardwerte. Lesen Sie dazu die entsprechenden FAQ: Wo sollte sich meine php.ini befinden?.
  6. Finden oder Setzen des DocumentRoot Dies ist das Wurzelverzeichnis für alle Web-Dateien. Dateien in diesem Verzeichnis werden durch den Webserver ausgeliefert. PHP-Dateien werden geparst, bevor sie an einen Browser ausgeliefert werden. Der standardmäßig gesetzte Pfad ist /Library/WebServer/Documents und kann in der httpd.conf auf einen beliebigen Pfad gesetzt werden. Alternativ ist der standardmäßige Pfad zum DocumentRoot für die einzelnen Benutzer: /Users/ihr_benutzername/Sites
  7. Erstellen einer phpinfo()-Datei

    Die phpinfo()-Funktion zeigt Informationen über PHP an. Erstellen Sie eine Datei im DocumentRoot mit dem folgenden Inhalt:

    <?php phpinfo(); ?>

  8. Starten Sie den Apache neu und laden Sie die eben erzeugte PHP-Datei

    Um neu zu starten, können Sie entweder sudo apachectl graceful im Terminal aufrufen oder die Stop-/Start-Option des "Personal Web Server" in den Mac-OS-X-Systemeinstellungen verwenden. Standardmäßig sollte folgende URL zum Laden von lokalen Dateien im Webbrowser genügen: http://localhost/info.php Alternativ, um Dateien aus dem DocumentRoot eines lokalen Benutzers zu laden: http://localhost/~IHR_BENUTZER_NAME/info.php

Das CLI (oder CGI in älteren Versionen) heißt entsprechend php und existiert wahrscheinlich als /usr/bin/php. Öffnen Sie das Terminal, lesen Sie das Kapitel PHP auf der Kommandozeile des PHP-Handbuchs und führen Sie php -v aus, um die PHP-Version dieses PHP-Binärprogramms zu sehen. Ein Aufruf von phpinfo() enthält diese Informationen ebenfalls.

Verwendung von Paketen
Kompilieren von PHP unter Mac OS X
Installation unter Mac OS X


Kompilieren von PHP unter Mac OS X

Um PHP unter Mac OS X zu kompilieren, nutzen Sie die Unix-Installationsanleitung.

Das enthaltene PHP verwenden
Installation on Windows systems
Installation unter Mac OS X


Installation on Windows systems

Inhaltsverzeichnis

  • Install Requirements
  • PECL
  • PHP Installer Tools on Windows
  • Recommended Configuration on Windows systems
  • Manual PHP Installation on Windows
  • Troubleshooting PHP on Windows
  • Installation auf Windowssystemen

Installing PHP on modern Microsoft Windows systems and recommended configuration with common web servers.

Hinweis:

If you are looking for information about older systems, such as Windows XP, 2003, 98 or Apache 1.x, see the Legacy Info section.

The Official releases of PHP on Windows are recommended for production use. However, you are welcome to build PHP from Source. You will need a Visual Studio environment. See » Step by Step Build Instructions.

  • Using PHP on Windows Command line

  • Installing PHP on Azure App Services (aka Microsoft Azure, Windows Azure, or (Windows) Azure Web Apps).

Kompilieren von PHP unter Mac OS X
Install Requirements
Installation und Konfiguration


Install Requirements

PHP 5.5+ require at least Windows 2008/Vista, or 2008r2, 2012, 2012r2, 2016 or 7, 8, 8.1, 10. Either 32-Bit or 64-bit (aka X86 or X64. PHP does not run on Windows RT/WOA/ARM).

PHP requires the Visual C runtime(CRT). Many applications require that so it may already be installed.

PHP 5.5 and 5.6 require VC CRT 11 (Visual Studio 2012). See: » https://www.microsoft.com/en-us/download/details.aspx?id=30679

PHP 7.0+ requires VC CRT 14 (Visual Studio 2015). See: » https://www.microsoft.com/en-us/download/details.aspx?id=48145

You MUST download the x86 CRT for PHP x86 builds and the x64 CRT for PHP x64 builds.

If CRT is already installed, the installer will tell you that and not change anything.

The CRT installer supports the /quiet and /norestart command-line switches, so you can script running it.

VC11 CRT DLLs can be copied from your local machine to a remote machine(a `Copy Deployment` installation) instead of running the installer on the remote machine (such as a web server you have restricted access to). See: http://www.sitepoint.com/install-php53-windows/

VC14 CRT does not support a `Copy Deployment` installation. VC14 CRT has many more DLLs(most in files with names starting with api-*). If you can find them all and copy them, it will also work (try a tool like Resource Hacker to get a list of all the DLLs to copy).

Installation on Windows systems
PECL
Installation on Windows systems


PECL

PECL extensions are pre-built for Windows and available from: » http://windows.php.net/downloads/pecl/releases/

Some extensions use features specific to some Unix systems and so are not available on Windows. Otherwise, all extensions are available for Windows.

Install Requirements
PHP Installer Tools on Windows
Installation on Windows systems


PHP Installer Tools on Windows

PHP Install Tools

If you want to setup PHP, some common PHP applications and are using IIS, the easiest way is to use Microsoft's Web Platform Installer (WebPI).

XAMPP, WampServer and BitNami will setup PHP applications for use with Apache on Windows.

PECL
Recommended Configuration on Windows systems
Installation on Windows systems


Recommended Configuration on Windows systems

OpCache

Highly Recommended that you enable OpCache. This extension is included with PHP for Windows. It compiles and optimizes PHP scripts and caches them in memory so that they aren't compiled every time the page is loaded.

In your php.ini, set

Beispiel #1 Recommended OpCache configuration

zend_extension=php_opcache.dll
opcache.enable=On
opcache.cli_enable=On
And restart your web server. For more info, see: OpCache Configuration

WinCache

Recommended that you use WinCache if using IIS, especially if in a shared web hosting environment or using networked file storage (NAS). All PHP Applications automatically benefit from WinCache's file cache feature. File system operations are cached in memory. WinCache also can cache user objects in memory and share them between php.exe or php-cgi.exe processes (share objects between requests). Many major web applications have a plugin or extension or configuration option to make use of the WinCache user object cache. If you need high performance, you should use the object cache in your applications. See: » http://pecl.php.net/package/WinCache to download a WinCache DLL (or tgz) to your PHP extensions directory (extensions_dir in your php.ini). In your php.ini, set

Beispiel #2 Recommended WinCache configuration

extension=php_wincache.dll
wincache.fcenabled=1
wincache.ocenabled=1
For more info, see: » http://php.net/manual/en/wincache.configuration.php

IIS Configuration

In IIS Manager, Install FastCGI module and add a handler mapping for `.php` to the path to PHP-CGI.exe (not PHP.exe)

You may use the APPCMD command line tool to script IIS configuration.

Database

You'll probably need a Database Server. Popular databases provide PHP extensions to use them. If your web site doesn't get a lot of traffic, you can run your database server on the same server as your web server. Many popular database servers run on Windows.

PHP includes mysqli and pdo_mysql extensions. PHP 5.5 and 5.6 include mysql extension (deprecated in 7.0).

See » https://dev.mysql.com/downloads/windows/

PHP Installer Tools on Windows
Manual PHP Installation on Windows
Installation on Windows systems


Manual PHP Installation on Windows

Choose Web Server

  • IIS is builtin to Windows. On Windows Server, use Server Manager to add the IIS role. Be sure to include the CGI Role Feature. On Windows Desktop, use Control Panel's Add/Remove Programs to add IIS. See: » https://msdn.microsoft.com/en-us/library/ms181052%28v=vs.80%29.aspx?f=255&MSPPError=-2147217396 For desktop web apps and web-development, you can also use IIS/Express or PHP Desktop

    Beispiel #1 Command line to configure IIS and PHP

    @echo off

    REM download .ZIP file of PHP build from http://windows.php.net/downloads/
    REM
    REM path to directory you decompressed PHP .ZIP file into
set phpdir=c:\php
set phppath=php-5.6.19-nts-Win32-VC11-x86

REM Clear current PHP handlers
%windir%\system32\inetsrv\appcmd clear config /section:system.webServer/fastCGI
%windir%\system32\inetsrv\appcmd set config /section:system.webServer/handlers /-[name='PHP_via_FastCGI']

REM Set up the PHP handler
%windir%\system32\inetsrv\appcmd set config /section:system.webServer/fastCGI /+[fullPath='%phpdir%\%phppath%\php-cgi.exe']
%windir%\system32\inetsrv\appcmd set config /section:system.webServer/handlers /+[name='PHP_via_FastCGI',path='*.php',verb='*',modules='FastCgiModule',scriptProcessor='%phpdir%\%phppath%\php-cgi.exe',resourceType='Unspecified']
%windir%\system32\inetsrv\appcmd set config /section:system.webServer/handlers /accessPolicy:Read,Script

REM Configure FastCGI Variables
%windir%\system32\inetsrv\appcmd set config -section:system.webServer/fastCgi /[fullPath='%phpdir%\%phppath%\php-cgi.exe'].instanceMaxRequests:10000
%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi /+"[fullPath='%phpdir%\%phppath%\php-cgi.exe'].environmentVariables.[name='PHP_FCGI_MAX_REQUESTS',value='10000']"
%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi /+"[fullPath='%phpdir%\%phppath%\php-cgi.exe'].environmentVariables.[name='PHPRC',value='%phpdir%\%phppath%\php.ini']"
    How to manually configure IIS

  • There are several builds of Apache2 for Windows. We support ApacheLounge, but other options include XAMPP, WampServer and BitNami, which provide automatic installer tools. You may use mod_php or mod_fastcgi to load PHP on Apache. If you use mod_php, you MUST use a TS build of Apache built with same version of Visual C and same CPU (x86 or x64). How to manually configure Apache2

Choose Build

Download PHP production releases from » http://windows.php.net/download/. A lot of testing and optimization is already done on the snapshot and qa releases, but you are welcome to help us do more. There are 4 types of PHP builds:

  • Thread-Safe(TS) - use for single process web serves, like Apache with mod_php

  • Non-Thread-Safe(NTS) - use for IIS and other FastCGI web servers (Apache with mod_fastcgi) and recommended for command-line scripts

  • x86 - production use of PHP 5.5 or 5.6 or 7.0.

  • x64 - production use of PHP 7.0+ unless its a 32-bit only version of Windows. 5.5 and 5.6 x64 are expiremental.

Recommended Configuration on Windows systems
Troubleshooting PHP on Windows
Installation on Windows systems


Troubleshooting PHP on Windows

Check Temp Directory Permissions

  1. Right-click temp directory in File Explorer to get the permissions.

  2. For IIS, check that user IIS_User has MODIFY permission. You can get the temporary directory from the configuration or php info.

Manual PHP Installation on Windows
Installation auf Windowssystemen
Installation on Windows systems


Installation auf Windowssystemen

Dieser Abschnitt gilt für Windows 98/Me und Windows NT/2000/XP/2003. PHP läuft nicht auf 16-Bit Plattformen wie z.B. Windows 3.1 und manchmal empfehlen wir die unterstützte Windows Plattform Win32.

Hinweis:

Windows XP/2003 wird seit PHP 5.5.0 nicht mehr unterstützt.

Hinweis:

Windows 98/Me/NT4 wird seit PHP 5.3.0 nicht mehr unterstützt.

Hinweis:

Windows 95 wird seit PHP 4.3.0 nicht mehr unterstützt.

Falls Sie eine Entwicklungsumgebung wie z.B. Microsoft Visual Studio haben, können Sie auch selbst PHP aus dem original Quellcode kompilieren.

Wenn sie ersteinmal PHP auf Ihrem System installiert haben, möchten Sie vielleicht für erweiterte Funktionalität verschiedene Erweiterungen herunterladen.

Manual Installation Steps

This section contains instructions for manually installing and configuring PHP on Microsoft Windows.

Selecting and downloading the PHP distribution package

Download the PHP zip binary distribution from » PHP for Windows: Binaries and Sources. There are several different versions of the zip package - to choose the right version for you, follow the detailed guide on the » download page.

The PHP package structure and content

Unpack the content of the zip archive into a directory of your choice, for example C:\PHP\. The directory and file structure extracted from the zip will look as below:

Beispiel #1 PHP 5 package structure

c:\php
   |
   +--dev
   |  |
   |  |-php5ts.lib                 -- php5.lib in non thread safe version
   |
   +--ext                          -- extension DLLs for PHP
   |  |
   |  |-php_bz2.dll
   |  |
   |  |-php_cpdf.dll
   |  |
   |  |-...
   |
   +--extras                       -- empty
   |
   +--pear                         -- initial copy of PEAR
   |
   |
   |-go-pear.bat                   -- PEAR setup script
   |
   |-...
   |
   |-php-cgi.exe                   -- CGI executable
   |
   |-php-win.exe                   -- executes scripts without an opened command prompt
   |
   |-php.exe                       -- Command line PHP executable (CLI)
   |
   |-...
   |
   |-php.ini-development           -- default php.ini settings
   |
   |-php.ini-production            -- recommended php.ini settings
   |
   |-php5apache2_2.dll             -- does not exist in non thread safe version
   |
   |-php5apache2_2_filter.dll      -- does not exist in non thread safe version
   |
   |-...
   |
   |-php5ts.dll                    -- core PHP DLL ( php5.dll in non thread safe version)
   |
   |-...

Below is the list of the modules and executables included in the PHP zip distribution:

  • go-pear.bat - the PEAR setup script. Refer to » Installation (PEAR) for more details.

  • php-cgi.exe - CGI executable that can be used when running PHP on IIS via CGI or FastCGI.

  • php-win.exe - the PHP executable for executing PHP scripts without using a command line window (for example PHP applications that use Windows GUI).

  • php.exe - the PHP executable for executing PHP scripts within a command line interface (CLI).

  • php5apache2_2.dll - Apache 2.2.X module.

  • php5apache2_2_filter.dll - Apache 2.2.X filter.

Changing the php.ini file

After the php package content has been extracted, copy the php.ini-production into php.ini in the same folder. If necessary, it is also possible to place the php.ini into any other location of your choice but that will require additional configuration steps as described in PHP Configuration.

The php.ini file tells PHP how to configure itself, and how to work with the environment that it runs in. Here are a number of settings for the php.ini file that help PHP work better with Windows. Some of these are optional. There are many other directives that may be relevant to your environment - refer to the list of php.ini directives for more information.

Required directives:

  • extension_dir = <path to extension directory> - The extension_dir needs to point to the directory where PHP extensions files are stored. The path can be absolute (i.e. "C:\PHP\ext") or relative (i.e. ".\ext"). Extensions that are listed lower in the php.ini file need to be located in the extension_dir.

  • extension = xxxxx.dll - For each extension you wish to enable, you need a corresponding "extension=" directive that tells PHP which extensions in the extension_dir to load at startup time.

  • log_errors = On - PHP has an error logging facility that can be used to send errors to a file, or to a service (i.e. syslog) and works in conjunction with the error_log directive below. When running under IIS, the log_errors should be enabled, with a valid error_log.

  • error_log = <path to the error log file> - The error_log needs to specify the absolute, or relative path to the file where PHP errors should be logged. This file needs to be writable for the web server. The most common places for this file are in various TEMP directories, for example "C:\inetpub\temp\php-errors.log".

  • cgi.force_redirect = 0 - This directive is required for running under IIS. It is a directory security facility required by many other web servers. However, enabling it under IIS will cause the PHP engine to fail on Windows.

  • cgi.fix_pathinfo = 1 - This lets PHP access real path info following the CGI Spec. The IIS FastCGI implementation needs this set.

  • fastcgi.impersonate = 1 - FastCGI under IIS supports the ability to impersonate security tokens of the calling client. This allows IIS to define the security context that the request runs under.

  • fastcgi.logging = 0 - FastCGI logging should be disabled on IIS. If it is left enabled, then any messages of any class are treated by FastCGI as error conditions which will cause IIS to generate an HTTP 500 exception.

Optional directives

  • max_execution_time = ## - This directive tells PHP the maximum amount of time that it can spend executing any given script. The default for this is 30 seconds. Increase the value of this directive if PHP application take long time to execute.

  • memory_limit = ###M - The amount of memory available for the PHP process, in Megabytes. The default is 128, which is fine for most PHP applications. Some of the more complex ones might need more.

  • display_errors = Off - This directive tells PHP whether to include any error messages in the stream that it returns to the Web server. If this is set to "On", then PHP will send whichever classes of errors that you define with the error_reporting directive back to web server as part of the error stream. For security reasons it is recommended to set it to "Off" on production servers in order not to reveal any security sensitive information that is often included in the error messages.

  • open_basedir = <paths to directories, separated by semicolon>, e.g. openbasedir="C:\inetpub\wwwroot;C:\inetpub\temp". This directive specified the directory paths where PHP is allowed to perform file system operations. Any file operation outside of the specified paths will result in an error. This directive is especially useful for locking down the PHP installation in shared hosting environments to prevent PHP scripts from accessing any files outside of the web site's root directory.

  • upload_max_filesize = ###M and post_max_size = ###M - The maximum allowed size of an uploaded file and post data respectively. The values of these directives should be increased if PHP applications need to perform large uploads, such as for example photos or video files.

PHP is now setup on your system. The next step is to choose a web server, and enable it to run PHP. Choose a web server from the table of contents.

In addition to running PHP via a web server, PHP can run from the command line just like a .BAT script. See

Microsoft IIS

This section contains PHP installation instructions specific to Microsoft Internet Information Services (IIS).

  • Manually installing PHP on Microsoft IIS 5.1 and IIS 6.0
  • Manually installing PHP on Microsoft IIS 7.0 and later

Microsoft IIS 5.1 and IIS 6.0

This section contains instructions for manually setting up Internet Information Services (IIS) 5.1 and IIS 6.0 to work with PHP on Microsoft Windows XP and Windows Server 2003. For instructions on setting up IIS 7.0 and later versions on Windows Vista, Windows Server 2008, Windows 7 and Windows Server 2008 R2 refer to Microsoft IIS 7.0 and later.

Configuring IIS to process PHP requests

Download and install PHP in accordance to the instructions described in manual installation steps

Hinweis:

Non-thread-safe build of PHP is recommended when using IIS. The non-thread-safe builds are available at » PHP for Windows: Binaries and Sources Releases.

Configure the CGI- and FastCGI-specific settings in php.ini file as shown below:

Beispiel #2 CGI and FastCGI settings in php.ini

fastcgi.impersonate = 1
fastcgi.logging = 0
cgi.fix_pathinfo=1
cgi.force_redirect = 0

Download and install the » Microsoft FastCGI Extension for IIS 5.1 and 6.0. The extension is available for 32-bit and 64-bit platforms - select the right download package for your platform.

Configure the FastCGI extension to handle PHP-specific requests by running the command shown below. Replace the value of the "-path" parameter with the absolute file path to the php-cgi.exe file.

Beispiel #3 Configuring FastCGI extension to handle PHP requests

cscript %windir%\system32\inetsrv\fcgiconfig.js -add -section:"PHP" ^
-extension:php -path:"C:\PHP\php-cgi.exe"

This command will create an IIS script mapping for *.php file extension, which will result in all URLs that end with .php being handled by FastCGI extension. Also, it will configure FastCGI extension to use the executable php-cgi.exe to process the PHP requests.

Hinweis:

At this point the required installation and configuration steps are completed. The remaining instructions below are optional but highly recommended for achieving optimal functionality and performance of PHP on IIS.

Impersonation and file system access

It is recommended to enable FastCGI impersonation in PHP when using IIS. This is controlled by the fastcgi.impersonate directive in php.ini file. When impersonation is enabled, PHP will perform all the file system operations on behalf of the user account that has been determined by IIS authentication. This ensures that even if the same PHP process is shared across different IIS web sites, the PHP scripts in those web sites will not be able to access each others' files as long as different user accounts are used for IIS authentication on each web site.

For example IIS 5.1 and IIS 6.0, in its default configuration, has anonymous authentication enabled with built-in user account IUSR_<MACHINE_NAME> used as a default identity. This means that in order for IIS to execute PHP scripts, it is necessary to grant IUSR_<MACHINE_NAME> account read permission on those scripts. If PHP applications need to perform write operations on certain files or write files into some folders then IUSR_<MACHINE_NAME> account should have write permission to those.

To determine which user account is used by IIS anonymous authentication, follow these steps:

  1. In the Windows Start Menu choose "Run:", type "inetmgr" and click "Ok";

  2. Expand the list of web sites under the "Web Sites" node in the tree view, right-click on a web site that is being used and select "Properties";

  3. Click the "Directory Security" tab;

  4. Take note of a "User name:" field in the "Authentication Methods" dialog

Anonymous authenication for IIS 5.1 and IIS 6.0

To modify the permissions settings on files and folders, use the Windows Explorer user interface or icacls command.

Beispiel #4 Configuring file access permissions

icacls C:\inetpub\wwwroot\upload /grant IUSR:(OI)(CI)(M)

Set index.php as a default document in IIS

The IIS default documents are used for HTTP requests that do not specify a document name. With PHP applications, index.php usually acts as a default document. To add index.php to the list of IIS default documents, follow these steps:

  1. In the Windows Start Menu choose "Run:", type "inetmgr" and click "Ok";

  2. Right-click on the "Web Sites" node in the tree view and select "Properties";

  3. Click the "Documents" tab;

  4. Click the "Add..." button and enter "index.php" for the "Default content page:".

Setting index.php as default document for IIS

FastCGI and PHP Recycling configuration

Configure IIS FastCGI extension settings for recycling of PHP processes by using the commands shown below. The FastCGI setting instanceMaxRequests controls how many requests will be processed by a single php-cgi.exe process before FastCGI extension shuts it down. The PHP environment variable PHP_FCGI_MAX_REQUESTS controls how many requests a single php-cgi.exe process will handle before it recycles itself. Make sure that the value specified for FastCGI InstanceMaxRequests setting is less than or equal to the value specified for PHP_FCGI_MAX_REQUESTS.

Beispiel #5 Configuring FastCGI and PHP recycling

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-InstanceMaxRequests:10000

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-EnvironmentVars:PHP_FCGI_MAX_REQUESTS:10000

Configuring FastCGI timeout settings

Increase the timeout settings for FastCGI extension if there are applications that have long running PHP scripts. The two settings that control timeouts are ActivityTimeout and RequestTimeout. Refer to » Configuring FastCGI Extension for IIS 6.0 for more information about those settings.

Beispiel #6 Configuring FastCGI timeout settings

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-ActivityTimeout:90

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-RequestTimeout:90

Changing the Location of php.ini file

PHP searches for php.ini file in several locations and it is possible to change the default locations of php.ini file by using PHPRC environment variable. To instruct PHP to load the configuration file from a custom location run the command shown below. The absolute path to the directory with php.ini file should be specified as a value of PHPRC environment variable.

Beispiel #7 Changing the location of php.ini file

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-EnvironmentVars:PHPRC:"C:\Some\Directory\"

Microsoft IIS 7.0 and later

This section contains instructions for manually setting up Internet Information Services (IIS) 7.0 and later to work with PHP on Microsoft Windows Vista SP1, Windows 7, Windows Server 2008 and Windows Server 2008 R2. For instructions on setting up IIS 5.1 and IIS 6.0 on Windows XP and Windows Server 2003 refer to Microsoft IIS 5.1 and IIS 6.0.

Enabling FastCGI support in IIS

FastCGI module is disabled in default installation of IIS. The steps to enable it differ based on the version of Windows being used.

To enable FastCGI support on Windows Vista SP1 and Windows 7:

  1. In the Windows Start Menu choose "Run:", type "optionalfeatures.exe" and click "Ok";

  2. In the "Windows Features" dialog expand "Internet Information Services", "World Wide Web Services", "Application Development Features" and then enable the "CGI" checkbox;

  3. Click OK and wait until the installation is complete.

Enabling FastCGI support for IIS7 on Windows Vista SP1 and Windows 7

To enable FastCGI support on Windows Server 2008 and Windows Server 2008 R2:

  1. In the Windows Start Menu choose "Run:", type "CompMgmtLauncher" and click "Ok";

  2. If the "Web Server (IIS)" role is not present under the "Roles" node, then add it by clicking "Add Roles";

  3. If the "Web Server (IIS)" role is present, then click "Add Role Services" and then enable the "CGI" checkbox under "Application Development" group;

  4. Click "Next" and then "Install" and wait for the installation to complete.

Enabling FastCGI support on Windows Server 2008 and Windows Server 2008 R2

Configuring IIS to process PHP requests

Download and install PHP in accordance to the instructions described in manual installation steps

Hinweis:

Non-thread-safe build of PHP is recommended when using IIS. The non-thread-safe builds are available at » PHP for Windows: Binaries and Sources Releases.

Configure the CGI- and FastCGI-specific settings in php.ini file as shown below:

Beispiel #8 CGI and FastCGI settings in php.ini

fastcgi.impersonate = 1
fastcgi.logging = 0
cgi.fix_pathinfo=1
cgi.force_redirect = 0

Configure IIS handler mapping for PHP by using either IIS Manager user interface or a command line tool.

Using IIS Manager user interface to create a handler mapping for PHP

Follow these steps to create an IIS handler mapping for PHP in IIS Manager user interface:

  1. In the Windows Start Menu choose "Run:", type "inetmgr" and click "Ok";

  2. In the IIS Manager user interface select the server node in the "Connections" tree view;

  3. In the "Features View" page open the "Handler Mappings" feature;

    Create IIS handler mapping for PHP : Locate Handler Mappings

  4. In the "Actions" pane click "Add Module Mapping...";

  5. In the "Add Module Mapping" dialog enter the following:

    • Request path: *.php
    • Module: FastCgiModule
    • Executable: C:\[Path to PHP installation]\php-cgi.exe
    • Name: PHP_via_FastCGI

  6. Click "Request Restrictions" button and then configure the mapping to invoke handler only if request is mapped to a file or a folder;

  7. Click OK on all the dialogs to save the configuration.

Create IIS handler mapping for PHP : Add Handler Mapping

Using command line tool to create a handler mapping for PHP

Use the command shown below to create an IIS FastCGI process pool which will use php-cgi.exe executable for processing PHP requests. Replace the value of the fullPath parameter with the absolute file path to the php-cgi.exe file.

Beispiel #9 Creating IIS FastCGI process pool

%windir%\system32\inetsrv\appcmd set config /section:system.webServer/fastCGI ^
/+[fullPath='c:\PHP\php-cgi.exe']

Configure IIS to handle PHP specific requests by running the command shown below. Replace the value of the scriptProcessor parameter with the absolute file path to the php-cgi.exe file.

Beispiel #10 Creating handler mapping for PHP requests

%windir%\system32\inetsrv\appcmd set config /section:system.webServer/handlers ^
/+[name='PHP_via_FastCGI', path='*.php',verb='*',modules='FastCgiModule',^
scriptProcessor='c:\PHP\php-cgi.exe',resourceType='Either']

This command creates an IIS handler mapping for *.php file extension, which will result in all URLs that end with .php being handled by FastCGI module.

Hinweis:

At this point the required installation and configuration steps are completed. The remaining instructions below are optional but highly recommended for achieving optimal functionality and performance of PHP on IIS.

Impersonation and file system access

It is recommended to enable FastCGI impersonation in PHP when using IIS. This is controlled by the fastcgi.impersonate directive in php.ini file. When impersonation is enabled, PHP will perform all the file system operations on behalf of the user account that has been determined by IIS authentication. This ensures that even if the same PHP process is shared across different IIS web sites, the PHP scripts in those web sites will not be able to access each other's files as long as different user accounts are used for IIS authentication on each web site.

For example IIS 7, in its default configuration, has anonymous authentication enabled with built-in user account IUSR used as a default identity. This means that in order for IIS to execute PHP scripts, it is necessary to grant IUSR account read permission on those scripts. If PHP applications need to perform write operations on certain files or write files into some folders then IUSR account should have write permission to those.

To determine what user account is used as an anonymous identity in IIS 7 use the following command. Replace the "Default Web Site" with the name of IIS web site that you use. In the output XML configuration element look for the userName attribute.

Beispiel #11 Determining the account used as IIS anonymous identity

%windir%\system32\inetsrv\appcmd.exe list config "Default Web Site" ^
/section:anonymousAuthentication

<system.webServer>
  <security>
    <authentication>
      <anonymousAuthentication enabled="true" userName="IUSR" />
    </authentication>
   </security>
</system.webServer>

Hinweis:

If userName attribute is not present in the anonymousAuthentication element, or is set to an empty string, then it means that the application pool identity is used as an anonymous identity for that web site.

To modify the permissions settings on files and folders, use the Windows Explorer user interface or icacls command.

Beispiel #12 Configuring file access permissions

icacls C:\inetpub\wwwroot\upload /grant IUSR:(OI)(CI)(M)

Set index.php as a default document in IIS

The IIS default documents are used for HTTP requests that do not specify a document name. With PHP applications, index.php usually acts as a default document. To add index.php to the list of IIS default documents, use this command:

Beispiel #13 Set index.php as a default document in IIS

%windir%\system32\inetsrv\appcmd.exe set config ^
-section:system.webServer/defaultDocument /+"files.[value='index.php']" ^
/commit:apphost

FastCGI and PHP Recycling configuration

Configure IIS FastCGI settings for recycling of PHP processes by using the commands shown below. The FastCGI setting instanceMaxRequests controls how many requests will be processed by a single php-cgi.exe process before IIS shuts it down. The PHP environment variable PHP_FCGI_MAX_REQUESTS controls how many requests a single php-cgi.exe process will handle before it recycles itself. Make sure that the value specified for FastCGI InstanceMaxRequests setting is less than or equal to the value specified for PHP_FCGI_MAX_REQUESTS.

Beispiel #14 Configuring FastCGI and PHP recycling

%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi ^
/[fullPath='c:\php\php-cgi.exe'].instanceMaxRequests:10000

%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi ^
/+"[fullPath='C:\{php_folder}\php-cgi.exe'].environmentVariables.^
[name='PHP_FCGI_MAX_REQUESTS',value='10000']"

FastCGI timeout settings

Increase the timeout settings for FastCGI if it is expected to have long running PHP scripts. The two settings that control timeouts are activityTimeout and requestTimeout. Use the commands below to change the timeout settings. Make sure to replace the value in the fullPath parameter to contain the absolute path to the php-cgi.exe file.

Beispiel #15 Configuring FastCGI timeout settings

%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi ^
/[fullPath='C:\php\php-cgi.exe',arguments=''].activityTimeout:"90"  /commit:apphost

%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi ^
/[fullPath='C:\php\php-cgi.exe',arguments=''].requestTimeout:"90"  /commit:apphost

Changing the Location of php.ini file

PHP searches for php.ini file in several locations and it is possible to change the default locations of php.ini file by using PHPRC environment variable. To instruct PHP to load the configuration file from a custom location run the command shown below. The absolute path to the directory with php.ini file should be specified as a value of PHPRC environment variable.

Beispiel #16 Changing the location of php.ini file

appcmd.exe set config  -section:system.webServer/fastCgi ^
/+"[fullPath='C:\php\php.exe',arguments=''].environmentVariables.^
[name='PHPRC',value='C:\Some\Directory\']" /commit:apphost

Apache 1.3.x on Microsoft Windows

This section contains notes and hints specific to Apache 1.3.x installs of PHP on Microsoft Windows systems. There are also

Hinweis:

Please read the manual installation steps first!

There are two ways to set up PHP to work with Apache 1.3.x on Windows. One is to use the CGI binary (php.exe for PHP 4 and php-cgi.exe for PHP 5), the other is to use the Apache Module DLL. In either case you need to edit your httpd.conf to configure Apache to work with PHP, and then restart the server.

It is worth noting here that now the SAPI module has been made more stable under Windows, we recommend it's use above the CGI binary, since it is more transparent and secure.

Although there can be a few variations of configuring PHP under Apache, these are simple enough to be used by the newcomer. Please consult the Apache Documentation for further configuration directives.

After changing the configuration file, remember to restart the server, for example, NET STOP APACHE followed by NET START APACHE, if you run Apache as a Windows Service, or use your regular shortcuts.

Hinweis: Beachten Sie bitte, dass Sie bei Pfadangaben in der Apachekonfigurationsdatei unter Windows alle Backslashes, wie z.B. c:\directory\file.ext, in Schrägstriche umwandeln sollten: c:/directory/file.ext. Bei Verzeichnisnamen kann weiterhin ein abschließender Schrägstrich nötig sein.

Installing as an Apache module

You should add the following lines to your Apache httpd.conf file:

Beispiel #17 PHP as an Apache 1.3.x module

This assumes PHP is installed to c:\php. Adjust the path if this is not the case.

For PHP 4:

# Add to the end of the LoadModule section
# Don't forget to copy this file from the sapi directory!
LoadModule php4_module "C:/php/php4apache.dll"

# Add to the end of the AddModule section
AddModule mod_php4.c

For PHP 5:

# Add to the end of the LoadModule section
LoadModule php5_module "C:/php/php5apache.dll"

# Add to the end of the AddModule section
AddModule mod_php5.c

For both:

# Add this line inside the <IfModule mod_mime.c> conditional brace
AddType application/x-httpd-php .php

# For syntax highlighted .phps files, also add
AddType application/x-httpd-php-source .phps

Installing as a CGI binary

If you unzipped the PHP package to C:\php\ as described in the Manual Installation Steps section, you need to insert these lines to your Apache configuration file to set up the CGI binary:

Beispiel #18 PHP and Apache 1.3.x as CGI

ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php

# For PHP 4
Action application/x-httpd-php "/php/php.exe"

# For PHP 5
Action application/x-httpd-php "/php/php-cgi.exe"

# specify the directory where php.ini is
SetEnv PHPRC C:/php
Note that the second line in the list above can be found in the actual versions of httpd.conf, but it is commented out. Remember also to substitute the c:/php/ for your actual path to PHP.

Warnung

Wenn Sie das CGI-Setup verwenden, ist Ihr Server für einige mögliche Angriffe anfällig. Wie Sie sich vor diesen Angriffen schützen können, entnehmen Sie bitte dem Kapitel über CGI-Sicherheit.

If you would like to present PHP source files syntax highlighted, there is no such convenient option as with the module version of PHP. If you chose to configure Apache to use PHP as a CGI binary, you will need to use the highlight_file() function. To do this simply create a PHP script file and add this code: <?php highlight_file('some_php_script.php'); ?>.

Apache 2.x on Microsoft Windows

This section contains notes and hints specific to Apache 2.x installs of PHP on Microsoft Windows systems. We also

Hinweis:

You should read the manual installation steps first!

Hinweis: Apache 2.2 Support

Users of Apache 2.2 should note that the DLL file for Apache 2.2 is named php5apache2_2.dll rather than php5apache2.dll and is available only for PHP 5.2.0 and later.

You are strongly encouraged to consult the » Apache Documentation to get a basic understanding of the Apache 2.x Server. Also consider reading the » Windows specific notes for Apache 2.x before reading on here.

Apache 2.x is designed to run on the Windows version designated as server platforms, such as Windows NT 4.0, Windows 2000, Windows XP, or Windows 7. While Apache 2.x works tolerably well on Windows 9x, support on these platforms is incomplete, and some things will not work correctly. There is no plan to remedy this situation.

Download the most recent version of » Apache 2.x and a fitting PHP version. Follow the Manual Installation Steps and come back to go on with the integration of PHP and Apache.

There are three ways to set up PHP to work with Apache 2.x on Windows. You can run PHP as a handler, as a CGI, or under FastCGI.

Hinweis: Beachten Sie bitte, dass Sie bei Pfadangaben in der Apachekonfigurationsdatei unter Windows alle Backslashes, wie z.B. c:\directory\file.ext, in Schrägstriche umwandeln sollten: c:/directory/file.ext. Bei Verzeichnisnamen kann weiterhin ein abschließender Schrägstrich nötig sein.

Installing as an Apache handler

You need to insert the following lines into your Apache httpd.conf configuration file to load the PHP module for Apache 2.x:

Beispiel #19 PHP and Apache 2.x as handler

#
LoadModule php5_module "c:/php/php5apache2.dll"
AddHandler application/x-httpd-php .php

# configure the path to php.ini
PHPIniDir "C:/php"

Hinweis: Remember to substitute your actual path to PHP for the C:/php/ in the above examples. Take care to use either php5apache2.dll or php5apache2_2.dll in your LoadModule directive and verify that the referenced file is in fact located at the file path that you point to in this directive.

The above configuration will enable PHP handling of any file that has a .php extension, even if there are other file extensions. For example, a file named example.php.txt will be executed by the PHP handler. To ensure that only files that end in .php are executed, use the following configuration instead:

<FilesMatch \.php$>
      SetHandler application/x-httpd-php
 </FilesMatch>

Running PHP as CGI

You should consult the » Apache CGI documentation for a more complete understanding of running CGI on Apache.

To run PHP as CGI, you'll need to place your php-cgi files in a directory designated as a CGI directory using the ScriptAlias directive.

You will then need to insert a #! line in the PHP files, pointing to the location of your PHP binary:

Beispiel #20 PHP and Apache 2.x as CGI

#!C:/php/php.exe
<?php
  phpinfo();
?>

Warnung

Wenn Sie das CGI-Setup verwenden, ist Ihr Server für einige mögliche Angriffe anfällig. Wie Sie sich vor diesen Angriffen schützen können, entnehmen Sie bitte dem Kapitel über CGI-Sicherheit.

Running PHP under FastCGI

Running PHP under FastCGI has a number of advantages over running it as a CGI. Setting it up this way is fairly straightforward:

Obtain mod_fcgid from » http://httpd.apache.org/mod_fcgid/. Win32 binaries are available for download from that site. Install the module according to the instructions that will come with it.

Configure your web server as shown below, taking care to adjust any paths to reflect your how you have installed things on your particular system:

Beispiel #21 Configure Apache to run PHP as FastCGI

LoadModule fcgid_module modules/mod_fcgid.so

# Where is your php.ini file?
FcgidInitialEnv PHPRC        "c:/php"

AddHandler fcgid-script .php
FcgidWrapper "c:/php/php-cgi.exe" .php
Files with a .php extension will now be executed by the PHP FastCGI wrapper.

Sun, iPlanet and Netscape servers on Microsoft Windows

This section contains notes and hints specific to Sun Java System Web Server, Sun ONE Web Server, iPlanet and Netscape server installs of PHP on Windows.

From PHP 4.3.3 on you can use PHP scripts with the NSAPI module to Apache compatibility are also available. For support in current web servers

CGI setup on Sun, iPlanet and Netscape servers

To install PHP as a CGI handler, do the following:

  • Copy php4ts.dll to your systemroot (the directory where you installed Windows)

  • Make a file association from the command line. Type the following two lines:

    assoc .php=PHPScript
ftype PHPScript=c:\php\php.exe %1 %*

  • In the Netscape Enterprise Administration Server create a dummy shellcgi directory and remove it just after (this step creates 5 important lines in obj.conf and allow the web server to handle shellcgi scripts).
  • In the Netscape Enterprise Administration Server create a new mime type (Category: type, Content-Type: magnus-internal/shellcgi, File Suffix:php).
  • Do it for each web server instance you want PHP to run

More details about setting up PHP as a CGI executable can be found here: » http://benoit.noss.free.fr/php/install-php.html

NSAPI setup on Sun, iPlanet and Netscape servers

To install PHP with NSAPI, do the following:

  • Copy php4ts.dll to your systemroot (the directory where you installed Windows)

  • Make a file association from the command line. Type the following two lines:

    assoc .php=PHPScript
ftype PHPScript=c:\php\php.exe %1 %*

  • In the Netscape Enterprise Administration Server create a new mime type (Category: type, Content-Type: magnus-internal/x-httpd-php, File Suffix: php).

  • Edit magnus.conf (for servers >= 6) or obj.conf (for servers < 6) and add the following: You should place the lines after mime types init.

    Init fn="load-modules" funcs="php4_init,php4_execute,php4_auth_trans" shlib="c:/php/sapi/php4nsapi.dll"
Init fn="php4_init" LateInit="yes" errorString="Failed to initialise PHP!" [php_ini="c:/path/to/php.ini"]
    (PHP >= 4.3.3) The php_ini parameter is optional but with it you can place your php.ini in your web server configuration directory.

  • Configure the default object in obj.conf (for virtual server classes [Sun Web Server 6.0+] in their vserver.obj.conf): In the <Object name="default"> section, place this line necessarily after all 'ObjectType' and before all 'AddLog' lines:

    Service fn="php4_execute" type="magnus-internal/x-httpd-php" [inikey=value inikey=value ...]
    (PHP >= 4.3.3) As additional parameters you can add some special php.ini-values, for example you can set a docroot="/path/to/docroot" specific to the context php4_execute is called. For boolean ini-keys please use 0/1 as value, not "On","Off",... (this will not work correctly), e.g. zlib.output_compression=1 instead of zlib.output_compression="On"

  • This is only needed if you want to configure a directory that only consists of PHP scripts (same like a cgi-bin directory):

    <Object name="x-httpd-php">
ObjectType fn="force-type" type="magnus-internal/x-httpd-php"
Service fn=php4_execute [inikey=value inikey=value ...]
</Object>
    After that you can configure a directory in the Administration server and assign it the style x-httpd-php. All files in it will get executed as PHP. This is nice to hide PHP usage by renaming files to .html.

  • Restart your web service and apply changes
  • Do it for each web server instance you want PHP to run

Hinweis:

More details about setting up PHP as an NSAPI filter can be found here: » http://benoit.noss.free.fr/php/install-php4.html

Hinweis:

The stacksize that PHP uses depends on the configuration of the web server. If you get crashes with very large PHP scripts, it is recommended to raise it with the Admin Server (in the section "MAGNUS EDITOR").

CGI environment and recommended modifications in php.ini

Important when writing PHP scripts is the fact that Sun JSWS/Sun ONE WS/iPlanet/Netscape is a multithreaded web server. Because of that all requests are running in the same process space (the space of the web server itself) and this space has only one environment. If you want to get CGI variables like PATH_INFO, HTTP_HOST etc. it is not the correct way to try this in the old PHP way with getenv() or a similar way (register globals to environment, $_ENV). You would only get the environment of the running web server without any valid CGI variables!

Hinweis:

Why are there (invalid) CGI variables in the environment?

Answer: This is because you started the web server process from the admin server which runs the startup script of the web server, you wanted to start, as a CGI script (a CGI script inside of the admin server!). This is why the environment of the started web server has some CGI environment variables in it. You can test this by starting the web server not from the administration server. Use the command line as root user and start it manually - you will see there are no CGI-like environment variables.

Simply change your scripts to get CGI variables in the correct way for PHP 4.x by using the superglobal $_SERVER. If you have older scripts which use $HTTP_HOST, etc., you should turn on register_globals in php.ini and change the variable order too (important: remove "E" from it, because you do not need the environment here):

variables_order = "GPCS"
register_globals = On

Special use for error pages or self-made directory listings (PHP >= 4.3.3)

You can use PHP to generate the error pages for "404 Not Found" or similar. Add the following line to the object in obj.conf for every error page you want to overwrite:

Error fn="php4_execute" code=XXX script="/path/to/script.php" [inikey=value inikey=value...]
where XXX is the HTTP error code. Please delete any other Error directives which could interfere with yours. If you want to place a page for all errors that could exist, leave the code parameter out. Your script can get the HTTP status code with $_SERVER['ERROR_TYPE'].

Another possibility is to generate self-made directory listings. Just create a PHP script which displays a directory listing and replace the corresponding default Service line for type="magnus-internal/directory" in obj.conf with the following:

Service fn="php4_execute" type="magnus-internal/directory" script="/path/to/script.php" [inikey=value inikey=value...]
For both error and directory listing pages the original URI and translated URI are in the variables $_SERVER['PATH_INFO'] and $_SERVER['PATH_TRANSLATED'].

Note about nsapi_virtual() and subrequests (PHP >= 4.3.3)

The NSAPI module now supports the nsapi_virtual() function (alias: virtual()) to make subrequests on the web server and insert the result in the web page. The problem is, that this function uses some undocumented features from the NSAPI library.

Under Unix this is not a problem, because the module automatically looks for the needed functions and uses them if available. If not, nsapi_virtual() is disabled.

Under Windows limitations in the DLL handling need the use of a automatic detection of the most recent ns-httpdXX.dll file. This is tested for servers till version 6.1. If a newer version of the Sun server is used, the detection fails and nsapi_virtual() is disabled.

If this is the case, try the following: Add the following parameter to php4_init in magnus.conf/obj.conf:

Init fn=php4_init ... server_lib="ns-httpdXX.dll"
where XX is the correct DLL version number. To get it, look in the server-root for the correct DLL name. The DLL with the biggest filesize is the right one.

You can check the status by using the phpinfo() function.

Hinweis:

But be warned: Support for nsapi_virtual() is EXPERIMENTAL!!!

Sambar Server on Microsoft Windows

This section contains notes and hints specific to the » Sambar Server for Windows.

Hinweis:

You should read the manual installation steps first!

This list describes how to set up the ISAPI module to work with the Sambar server on Windows.

  • Find the file called mappings.ini (in the config directory) in the Sambar install directory.

  • Open mappings.ini and add the following line under [ISAPI]:

    Beispiel #22 ISAPI configuration of Sambar

    #for PHP 4
*.php = c:\php\php4isapi.dll

#for PHP 5
*.php = c:\php\php5isapi.dll
    (This line assumes that PHP was installed in c:\php.)

  • Now restart the Sambar server for the changes to take effect.

Hinweis:

If you intend to use PHP to communicate with resources which are held on a different computer on your network, then you will need to alter the account used by the Sambar Server Service. The default account used for the Sambar Server Service is LocalSystem which will not have access to remote resources. The account can be amended by using the Services option from within the Windows Control Panel Administation Tools.

Xitami on Microsoft Windows

This section contains notes and hints specific to » Xitami on Windows.

Hinweis:

You should read the manual installation steps first!

This list describes how to set up the PHP CGI binary to work with Xitami on Windows.

Hinweis: Important for CGI users

Read the faq on cgi.force_redirect for important details. This directive needs to be set to 0. If you want to use $_SERVER['PHP_SELF'] you have to enable the cgi.fix_pathinfo directive.

Warnung

Wenn Sie das CGI-Setup verwenden, ist Ihr Server für einige mögliche Angriffe anfällig. Wie Sie sich vor diesen Angriffen schützen können, entnehmen Sie bitte dem Kapitel über CGI-Sicherheit.

  • Make sure the web server is running, and point your browser to xitamis admin console (usually http://127.0.0.1/admin), and click on Configuration.

  • Navigate to the Filters, and put the extension which PHP should parse (i.e. .php) into the field File extensions (.xxx).

  • In Filter command or script put the path and name of your PHP CGI executable i.e. C:\php\php.exe for PHP 4, or C:\php\php-cgi.exe for PHP 5.

  • Press the 'Save' icon.

  • Restart the server to reflect changes.

Building from source

This chapter teaches how to compile PHP from sources on windows, using Microsoft's tools. To compile PHP with cygwin, please refer to Installation auf Unix-Systemen.

See the Wiki documentation at: » http://wiki.php.net/internals/windows/stepbystepbuild

Installation of extensions on Windows

After installing PHP and a web server on Windows, you will probably want to install some extensions for added functionality. You can choose which extensions you would like to load when PHP starts by modifying your php.ini. You can also load a module dynamically in your script using dl().

The DLLs for PHP extensions are prefixed with php_.

Many extensions are built into the Windows version of PHP. This means additional DLL files, and the extension directive, are not used to load these extensions. The Windows PHP Extensions table lists extensions that require, or used to require, additional PHP DLL files. Here's a list of built in extensions (updated PHP 5.0.4): BCMath, Caledar, COM, Ctype, DOM, FTP, LibXML, Iconv, ODBC, PCRE, Session, SimpleXML, SPL, SQLite, WDDX, XML und Zlib.

The default location PHP searches for extensions is C:\php5. To change this setting to reflect your setup of PHP edit your php.ini file:

  • You will need to change the extension_dir setting to point to the directory where your extensions lives, or where you have placed your php_*.dll files. For example:

    extension_dir = C:\php\extensions

  • Enable the extension(s) in php.ini you want to use by uncommenting the extension=php_*.dll lines in php.ini. This is done by deleting the leading ; from the extension you want to load.

    Beispiel #23 Enable Bzip2 extension for PHP-Windows

    // change the following line from ...
;extension=php_bz2.dll

// ... to
extension=php_bz2.dll

  • Some of the extensions need extra DLLs to work. Couple of them can be found in the distribution package, in the main folder, but some, for example Oracle (php_oci8.dll) require DLLs which are not bundled with the distribution package. Don't forget to include C:\php in the system PATH (this process is explained in a separate FAQ entry).

  • Some of these DLLs are not bundled with the PHP distribution. See each extensions documentation page for details. Also, read the manual section titled Installation of PECL extensions for details on PECL. An increasingly large number of PHP extensions are found in PECL, and these extensions require a separate download.

Hinweis: If you are running a server module version of PHP remember to restart your web server to reflect your changes to php.ini.

The following table describes some of the extensions available and required additional dlls.

PHP Extensions
Extension | Description | Notes
php_bz2.dll | bzip2 compression functions | None
php_calendar.dll | Calendar conversion functions | None
php_crack.dll | Crack functions | None
php_ctype.dll | ctype family functions | None
php_curl.dll | CURL, Client URL library functions | Requires: libeay32.dll, ssleay32.dll (bundled)
php_dba.dll | DBA: DataBase (dbm-style) Abstraction layer functions | None
php_dbase.dll | dBase functions | None
php_dbx.dll | dbx functions |
php_exif.dll | EXIF functions | php_mbstring.dll. And, php_exif.dll must be loaded after php_mbstring.dll in php.ini.
php_fbsql.dll | FrontBase functions | None
php_fdf.dll | FDF: Forms Data Format functions. | Requires: fdftk.dll (bundled)
php_filepro.dll | filePro functions | Read-only access
php_ftp.dll | FTP functions | None
php_gd2.dll | GD library image functions | GD2
php_gettext.dll | Gettext functions | PHP <= 4.2.0 requires gnu_gettext.dll (bundled), PHP >= 4.2.3 requires libintl-1.dll, iconv.dll (bundled).
php_hyperwave.dll | HyperWave functions | None
php_iconv.dll | ICONV characterset conversion | Requires: iconv-1.3.dll (bundled), iconv.dll
php_ifx.dll | Informix functions | Requires: Informix libraries
php_iisfunc.dll | IIS management functions | None
php_imap.dll | IMAP POP3 and NNTP functions | None
php_ingres.dll | Ingres functions | Requires: Ingres libraries
php_interbase.dll | InterBase functions | Requires: gds32.dll (bundled)
php_ldap.dll | LDAP functions | Requires libeay32.dll, ssleay32.dll (bundled)
php_mbstring.dll | Multi-Byte String functions | None
php_mcrypt.dll | Mcrypt Encryption functions | Requires: libmcrypt.dll
php_mhash.dll | Mhash functions | Requires: libmhash.dll (bundled)
php_mime_magic.dll | Mimetype functions | Requires: magic.mime (bundled)
php_ming.dll | Ming functions for Flash | None
php_msql.dll | mSQL functions | Requires: msql.dll (bundled)
php_mssql.dll | MSSQL functions | Requires: ntwdblib.dll (bundled)
php_mysql.dll | MySQL functions | Requires libmysql.dll (bundled)
php_mysqli.dll | MySQLi functions | Requires libmysql.dll (libmysqli.dll in PHP <= 5.0.2) (bundled)
php_oci8.dll | Oracle 8 functions | Requires: Oracle 8.1+ client libraries
php_openssl.dll | OpenSSL functions | Requires: libeay32.dll (bundled)
php_pdf.dll | PDF functions | None
php_pgsql.dll | PostgreSQL functions | None
php_shmop.dll | Shared Memory functions | None
php_snmp.dll | SNMP get and walk functions | NT only!
php_soap.dll | SOAP functions | None
php_sockets.dll | Socket functions | None
php_sybase_ct.dll | Sybase functions | Requires: Sybase client libraries
php_tidy.dll | Tidy functions | None
php_tokenizer.dll | Tokenizer functions | None
php_w32api.dll | W32api functions | None
php_xmlrpc.dll | XML-RPC functions | Requires: iconv.dll (bundled)
php_xslt.dll | XSLT functions | Requires sablot.dll, expat.dll, iconv.dll (bundled).
php_yaz.dll | YAZ functions | Requires: yaz.dll (bundled)
php_zip.dll | Zip File functions | Read only access
php_zlib.dll | ZLib compression functions | None

Command Line PHP on Microsoft Windows

This section contains notes and hints specific to getting PHP running from the command line for Windows.

Hinweis:

You should read the manual installation steps first!

Getting PHP to run from the command line can be performed without making any changes to Windows.

C:\PHP5\php.exe -f "C:\PHP Scripts\script.php" -- -arg1 -arg2 -arg3

But there are some easy steps that can be followed to make this simpler. Some of these steps should already have been taken, but are repeated here to be able to provide a complete step-by-step sequence.

    Hinweis:

    Both PATH and PATHEXT are important pre-existing system variables in Windows, and care should be taken to not overwrite either variable, only to add to them.

  • Append the location of the PHP executable (php.exe, php-win.exe or php-cli.exe depending upon your PHP version and display preferences) to the PATH environment variable. Read more about how to add your PHP directory to PATH in the corresponding FAQ entry.

  • Append the .PHP extension to the PATHEXT environment variable. This can be done at the same time as amending the PATH environment variable. Follow the same steps as described in the FAQ but amend the PATHEXT environment variable rather than the PATH environment variable.

    Hinweis:

    The position in which you place the .PHP will determine which script or program is executed when there are matching filenames. For example, placing .PHP before .BAT will cause your script to run, rather than the batch file, if there is a batch file with the same name.

  • Associate the .PHP extension with a file type. This is done by running the following command:

    assoc .php=phpfile

  • Associate the phpfile file type with the appropriate PHP executable. This is done by running the following command:

    ftype phpfile="C:\PHP5\php.exe" -f "%1" -- %~2

Following these steps will allow PHP scripts to be run from any directory without the need to type the PHP executable or the .PHP extension and all parameters will be supplied to the script for processing.

The example below details some of the registry changes that can be made manually.

Beispiel #24 Registry changes

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.php]
@="phpfile"
"Content Type"="application/php"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile]
@="PHP Script"
"EditFlags"=dword:00000000
"BrowserFlags"=dword:00000008
"AlwaysShowExt"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\DefaultIcon]
@="C:\\PHP5\\php-win.exe,0"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\shell]
@="Open"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\shell\Open]
@="&Open"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\shell\Open\command]
@="\"C:\\PHP5\\php.exe\" -f \"%1\" -- %~2"

With these changes the same command can be written as:

"C:\PHP Scripts\script" -arg1 -arg2 -arg3
or, if your "C:\PHP Scripts" path is in the PATH environment variable:
script -arg1 -arg2 -arg3

Hinweis:

There is a small problem if you intend to use this technique and use your PHP scripts as a command line filter, like the example below:

dir | "C:\PHP Scripts\script" -arg1 -arg2 -arg3
or
dir | script -arg1 -arg2 -arg3
You may find that the script simply hangs and nothing is output. To get this operational, you need to make another registry change.
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer]
"InheritConsoleHandles"=dword:00000001
Further information regarding this issue can be found in this » Microsoft Knowledgebase Article : 321788. As of Windows 10, this setting seems to be reversed, making the default install of Windows 10 support inherited console handles automatically. This » Microsoft forum post provides the explanation.

Troubleshooting PHP on Windows
Installation auf Cloud Computing Platformen
Installation on Windows systems


Installation auf Cloud Computing Platformen

Inhaltsverzeichnis

  • Azure App Services
  • Amazon EC2

PHP installiert in der Wolke. Auf zur PHP Wolke!

Installation auf Windowssystemen
Azure App Services
Installation und Konfiguration


Azure App Services

PHP is frequently used on Azure App Services (aka Microsoft Azure, Windows Azure, Azure Web Apps).

Azure App Services manages pools of Windows Web Servers to host your web application, as an alternative to managing your own web server on your own Azure Compute VMs or other servers.

PHP is already enabled for your Azure App Services web site automatically. In the Azure Portal, select your web site, and you can choose which version of PHP to use. You may want to choose a newer version than the default.

As such, PHP and extensions will run on Azure App Services just as it will on other Windows servers. Much of the knowledgebase is also portable, so see the Windows Troubleshooting Page too. However, the management interface for Azure App Services is different:

  • Azure portal: create, edit settings and delete web sites. » Azure Portal

  • Kudu Dashboard: [your web site name].azurewebsites.net Then, the Kudu dashboard is » https://[your web site name].scm.azurewebsites.net/. The Dashboard gives you access to some debugging capabilities, file management and site extensions. Site extensions are an Azure mechanism to add extra programs, like PHP preview builds, to your web site.

  • You can not use IIS Manager, Server Manager, or RDP.

There is also a PHP SDK for programmatically using many Azure Services from your PHP code. See » Azure SDK for PHP.

For more information, see » Azure PHP Developer Center

WinCache

WinCache is enabled by default on Azure App Services and it is recommended that you leave it enabled. If you install your own build of PHP, you should enable WinCache on that too.

Custom PHP Build

You may upload your own PHP build to your D:\Home (C:\ is NOT writable). Then in the Azure Portal, set SCRIPT_PROCESSOR for .php to the absolute path to php-cgi.exe file in your build.

Installation auf Cloud Computing Platformen
Amazon EC2
Installation auf Cloud Computing Platformen


Amazon EC2

PHP kann auf der » EC2 Cloud Plattform installiert werden.

Mehr Informationen hier: » AWS SDK für PHP.

Azure App Services
FastCGI Process Manager (FPM)
Installation auf Cloud Computing Platformen


FastCGI Process Manager (FPM)

Inhaltsverzeichnis

  • Installation
  • Konfiguration

FPM (FastCGI Process Manager) ist eine Alternative zu PHP FastCGI mit einigen zusätzlichen Features (besonders) für Websites mit hoher Last.

Zu diesen Features gehören:

  • fortschrittliches Prozessmanagement mit sanftem Stop/Start

  • die Möglichkeit einzelne Prozesse mit unterschiedlichen uid/gid/chroot/environment Einstellungen zu starten, auf unterschiedlichen Ports Anfragen entgegen zu nehmen, sowie jeweils eigene php.ini (ersetzt den safe_mode) verwenden zu können

  • Logging auf stdout und stderr

  • Notfall-Neustart, für den Fall einer zufälligen Zerstörung des Opcode-Caches

  • Unterstützung für beschleunigten Upload

  • "slowlog" - loggen von Scripts (nicht nur deren Namen, sondern deren PHP Backtraces, wobei ptrace und andere Dinge zum Einsatz kommen, um die "execute_data" des Prozesses zu debuggen) die ungewöhnlich langsam ausgeführt werden

  • fastcgi_finish_request() - Spezialfunktion, um Anfragen zu beenden und alle Daten zu senden, während gleichzeitig etwas zeitintensives, wie Videokonvertierung oder Statistik-Verarbeitung abläuft

  • dynamisches und statisches Starten von Kindprozessen

  • einfache SAPI Status Info (vergleichbar mit Apache mod_status)

  • php.ini-basierte Konfigurationsdatei

Amazon EC2
Installation
Installation und Konfiguration


Installation

Kompilierung des Quellcodes

Um FPM im Ihrem PHP Build zu aktivieren, müssen Sie --enable-fpm der Konfigurationszeile hinzufügen.

Es gibt verschiedene andere FPM-spezifsche Einstellungen (alle sind optional):

  • --with-fpm-user - setzt den FPM Nutzer (Standard - nobody).

  • --with-fpm-group - setzt die FPM Gruppe (Standard - nobody).

  • --with-fpm-systemd - Aktiviert systemd-Integration (Standard - no).

  • --with-fpm-acl - Verwende POSIX Access Control Lists (Standard - no).. Since 5.6.5

FastCGI Process Manager (FPM)
Konfiguration
FastCGI Process Manager (FPM)


Konfiguration

FPM verwendet die php.ini Syntax für die Konfigurationsdatei - php-fpm.conf, und Pool-Konfigurationsdateien.

Liste globaler php-fpm.conf Direktiven

pid string

Pfad zur PID Datei. Standardwert: none.

error_log string

Pfad zur error log Datei. Standardwert: #INSTALL_PREFIX#/log/php-fpm.log. Ist der Wert "syslog", wird das Log an syslogd gesendet anstatt in eine lokale Datei geschrieben zu werden.

log_level string

Error log level. Mögliche Werte: alert, error, warning, notice, debug. Standardwert: notice.

syslog.facility string

Wird verwendet, um anzugeben, welche Art von Programm die Nachricht protokolliert. Standardwert: daemon.

syslog.ident string

Wird jeder Nachricht vorangestellt. Werden mehrere FPM-Instanzen auf dem selben Server ausgeführt, können Sie den Standardwert so ändern, dass er den gemeinsamen Bedürfnissen entspricht. Standardwert: php-fpm.

emergency_restart_threshold int

Wenn diese Anzahl an Kindprozessen mit SIGSEGV oder SIGBUS terminiert, innerhalb des durch emergency_restart_interval gesetzten Zeitintervals, dann wird FPM neu starten. Der Wert 0 meint 'Off'. Standardwert: 0 (Off).

emergency_restart_interval mixed

Zeitinterval, dass von emergency_restart_interval verwendet wird, um zu bestimmen, wann ein zeitversetzter Neustart ausgelöst werden soll. Das kann als Workaround bei zufälligen Fehlern im Shared Memory eines Accelerators nützlich sein. Verfügbare Einheiten: s(econds), m(inutes), h(ours), oder d(ays). Standardeinheit: seconds. Standardwert: 0 (Off).

process_control_timeout mixed

Zeitlimit der Kindprozesse, um auf eine Reaktion vom Master zu warten. Verfügbare Einheiten: s(econds), m(inutes), h(ours), oder d(ays) Standardeinheit: seconds. Standardwert: 0.

process.max int

Die Höchstanzahl von Prozessen, die FPM forken wird. Dies wurde konzipiert, um die globale Prozessanzahl zu kontrollieren, wenn dynamisches PM in vielen Pools verwendet wird. Mit Vorsicht zu verwenden. Standardwert: 0.

process.priority int

Gibt die auf den Master-Prozess (wenn festgelegt) anzuwendende nice(2) Priorität an. Der Wert kann zwischen -19 (höchste Priorität) und 20 (niedrigere Priorität) liegen. Standardwert: nicht gesetzt.

daemonize boolean

Schickt FPM in den Hintergrund. Setze 'no', um FPM im Vordergrund zu halten und zu debuggen. Standardwert: yes.

rlimit_files int

Setzt das Ressourcenlimit (rlimit) der offenen Datei-Deskiptoren für den Master-Prozess. Standardwert: Setzt die Ressourcengrenze (rlimit) der offenen Datei-Deskiptoren für den Master-Prozess.

rlimit_core int

Setzt das Ressourcenlimit (rlimit) der Maximalgröße einer Core-Datei für den Master-Prozess. Standardwert: 0.

events.mechanism string

Spezifiziert den Ereignismechanismus den FPM verwendet. Die folgenden sind möglich: select, poll, epoll, kqueue (*BSD), port (Solaris). Standardwert: leer (Auto-Erkennung).

systemd_interval int

Wenn FPM mit systemd Integration kompiliert wurde, gibt dies das Intervall in Sekunden an, in dem Statusberichtsmeldungen an systemd gesendet werden. 0 deaktiviert dies. Standardwert: 10.

Liste der Pool Direktiven

Mit FPM sind mehrere Pools an Prozessen mit unterschiedlichen Einstellungen lauffähig. Nachfolgend finden Sie die Einstellungen die pro Pool verändert werden können.

listen string

Die Adresse, unter welcher FastCGI-Anfragen angenommen werden. Gültig ist die Syntax: 'ip.add.re.ss:port', 'port', '/path/to/unix/socket'. Diese Einstellunge ist für jeden Pool zwingend notwendig.

listen.backlog int

Setzt listen(2) backlog. Der Wert '-1' meint unbegrenzt. Standardwert: -1.

listen.allowed_clients string

Liste mit IPv4 Adressen von FastCGI Clients, denen eine Verbindung gestattet ist. Gleichzusetzen mit der FCGI_WEB_SERVER_ADDRS Umgebungsvariable im originalen PHP FastCGI (5.2.2+). Macht nur Sinn mit einem empfangenden TCP Socket. Die Adressen sind durch Komma zu trennen. Wenn der Wert leer gelassen wird, dann werden Verbindungen von beliebigen IP Adressen akzeptiert. Standardwert: any. IPv6 Adressen sind seit 5.5.20 und 5.6.4 erlaubt.

listen.owner string

Setzt die Rechte für den Unix Socket, falls dieser verwendet wird. Unter Linux müssen Lese- und Schreibrechte gesetzt werden, um Verbindungen eines Webservers zu erlauben. Viele BSD-Derivate erlauben Verbindungen unabhängig von den Rechteeinstellungen. Standardwert: user und group werden auf den aktuellen User gesetzt und Mode auf 0660.

listen.group string

Siehe listen.owner.

listen.mode string

Siehe listen.owner.

listen.acl_users string

Wenn POSIX Zugriffskontrolllisten unterstützt werden, können Sie diese mit dieser Option einstellen. Wenn eingestellt, dann werden listen.owner und listen.group ignoriert. Der Wert ist eine durch Kommas getrennte Liste von Benutzernamen. Seit PHP 5.6.5.

listen.acl_groups string

Siehe listen.acl_users. Der Wert ist eine durch Kommas getrennte Liste von Gruppennamen. Seit PHP 5.6.5.

user string

Der Unix-Benutzer der FPM Prozesse. Diese Einstellung ist zwingend notwendig.

group string

Die Unix-Benutzergruppe der FPM Prozesse. Wenn nicht eingestellt, wird als Wert die Gruppe des Standard-Nutzers verwendet.

pm string

Wähle, wie der Prozess-Manager die Anzahl der Kindprozesse verwaltet. Mögliche Werte: static, ondemand, dynamic. Diese Einstellung ist zwingend notwendig.

static - die Anzahl der Kindprozesse ist fest eingestellt (pm.max_children).

ondemand - die Kindprozesse werden gestartet, sobald sie benötigt werden, im Gegensatz zu dynamic, wo zu Beginn bereits pm.start_servers Prozesse gestartet werden.

dynamic - die Anzahl der Kindprozesse wird dynamisch eingestellt, wobei die folgenden Einstellungen zugrundegelegt werden: pm.max_children, pm.start_servers, pm.min_spare_servers, pm.max_spare_servers.

pm.max_children int

Die Anzahl an Kindprozessen, die erstellt werden, wenn pm auf static gesetzt und die maximale Anzahl an Kindprozessen, die erstellt werden, wenn pm auf dynamic gesetzt ist. Diese Einstellung ist zwingend notwendig.

Die Einstellung setzt das Limit für die Anzahl gleichzeitiger Verbindungen. Gleichzusetzen mit der ApacheMaxClients-Direktive mit mpm_prefork und der PHP_FCGI_CHILDREN Umgebungsvariable im originalen PHP FastCGI.

pm.start_servers int

Die Anzahl an Kindprozessen, die beim Start erstellt werden. Wird nur verwendet, wenn pm auf dynamic gesetzt ist. Standardwert: min_spare_servers + (max_spare_servers - min_spare_servers) / 2.

pm.min_spare_servers int

Die gewünschte Mindestanzahl an Prozessen. Wird nur genutzt, wenn pm auf dynamic gesetzt ist. Ebenfalls zwingend notwendig.

pm.max_spare_servers int

Die gewünschte Maximalanzahl an Prozessen. Wird nur genutzt, wenn pm auf dynamic gesetzt ist. Ebenfalls zwingend erforderlich.

pm.max_requests int

Die Anzahl an Anfragen, die ein Kindprozesse ausführt, bevor er neu startet. Das kann hilfreich sein, um Memory Leaks in Bibliotheken von Drittanbietern zu debuggen. Für eine unbegrenzte Anfrageanzahl '0' verwenden. Vergleichbar mit PHP_FCGI_MAX_REQUESTS. Standardwert: 0.

pm.status_path string

Die URI, um die FPM Statusseite anzuzeigen. Wenn dieser Wert nicht gesetzt ist, wird kein URI als Statusseite erkannt. Standardwert: none.

ping.path string

Die Ping URI, um die Monitoring-Seite von FPM aufzurufen. Wenn dieser Wert nicht gesetzt ist, dann wird keine URI als Ping-Seite erkannt. Das kann dafür verwendet werden, zu testen, ob FPM noch läuft und antwortet. Es sei der Hinweis gestattet, dass der Wert mit einem Forwardslash (/) zu beginnen hat.

ping.response string

Diese Direktive kann dazu verwendet werden, die Antwort auf eine Ping-Anfrage zu gestalten. Die Antwort ist vom Typ text/plain mit Antwortcode 200. Standardwert: pong.

request_terminate_timeout mixed

Das Zeitfenster, in dem die einzelne Anfrage beantwortet sein sollte und falls nicht, der bearbeitende Prozess terminiert wird. Diese Einstellung sollte verwendet werden, wenn die 'max_execution_time' php.ini Einstellung, aus irgendeinem Grund nicht zu einem Scriptabbruch führt.Der Wert '0' steht für 'Off'. Mögliche Einheiten: s(econds)(default), m(inutes), h(ours) oder d(ays). Standardwert: 0.

request_slowlog_timeout mixed

Das Zeitfenster, in dem die einzelne Anfrage beantwortet sein sollte und falls nicht, ein PHP Backtrace in die Log-Datei für langsame Anfragen geschrieben wird. Der Wert '0' meint 'Off'. Mögliche Einheiten: s(econds)(default), m(inutes), h(ours) oder d(ays). Standardwert: 0.

slowlog string

Die Log-Datei für langsame Anfragen. Standardwert: #INSTALL_PREFIX#/log/php-fpm.log.slow.

rlimit_files int

Setzt open file descriptor rlimit für Kind-Prozesse in diesem Pool. Standardwert: Systemeinstellung.

rlimit_core int

Setzt max core size rlimit für Kind-Prozesse in diesem Pool. Mögliche Werte: 'unlimited' oder ein Integer größer oder gleich 0. Standardwert: Systemeinstellung.

chroot string

Wechselt (chroot) beim Start in das angegebene Verzeichnis. Der Wert muss eine absolute Pfadangabe sein. Wenn dieser Wert nicht gesetzt ist, wird chroot nicht verwendet.

chdir string

Wechselt (chdir) beim Start in das angegebene Verzeichnis. Der Wert muss eine absolute Pfadangabe sein. Standardwert: aktuelles Verzeichnis oder / wenn chroot.

catch_workers_output boolean

Umleitung von Stdout und Stderr in das allgemeine Errorlog. Wenn nicht gesetzt, werden Stdout und Stderr umgeleitet nach /dev/null, entsprechend der FastCGI Spezifikation. Standardwert: no.

clear_env boolean

Löscht die Umgebung in FPM-Arbeitern. Verhindert, dass beliebige Umgebungsvariablen FPM-Arbeiterprozesse erreichen, indem die Umgebung in den Arbeitern gelöscht wird, bevor die Umgebungsvariablen, die in dieser Pool-Konfiguration angegeben sind, hinzugefügt werden. Seit PHP 5.4.27, 5.5.11, and 5.6.0. Standardwert: Yes.

security.limit_extensions string

Beschränkt die Dateirweiterungen des Haupt-Skripts, das FPM zu parsen erlaubt. Dies kann Konfigurationsfehler auf der Webserverseite verhindern. Sie sollten FPM nur auf .php Erweiterungen beschränken, um zu verhindern, dass bösartige Nutzter andere Erweiterungen verwenden, um PHP Code auszuführen. Standardwert: .php.

Es ist möglich, zusätzliche Umgebungsvariablen zu setzen und PHP Einstellungen eines bestimmten Pools zu verändern. Dazu sind die nachfolgenden Einstellungen in der Pool-Konfigurationsdatei erforderlich.

Beispiel #1 Übergabe von Umgebungsvariablen und PHP Einstellungen an einen Pool

env[HOSTNAME] = $HOSTNAME
     env[PATH] = /usr/local/bin:/usr/bin:/bin
     env[TMP] = /tmp
     env[TMPDIR] = /tmp
     env[TEMP] = /tmp

     php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com
     php_flag[display_errors] = off
     php_admin_value[error_log] = /var/log/fpm-php.www.log
     php_admin_flag[log_errors] = on
     php_admin_value[memory_limit] = 32M
PHP Einstellungen die mit php_value oder php_flag übergeben wurden überschreiben vorherige Werte. Es sei der Hinweis gestattet, dass disable_functions oder disable_classes nicht dazu führt, dass vorher definierte php.ini Einstellungen überschrieben werden, vielmehr werden die neuen Werte angehängt.

Einstellungen die mit php_admin_value und php_admin_flag gemacht wurden, können nicht durch Verwendung von ini_set() verändert werden.

Ab PHP 5.3.3 können PHP-Einstellungen ebenfalls im Webserver vorgenommen werden.

Beispiel #2 Festlegen von PHP-Einstellungen in nginx.conf

set $php_value "pcre.backtrack_limit=424242";
set $php_value "$php_value \n pcre.recursion_limit=99999";
fastcgi_param  PHP_VALUE $php_value;

fastcgi_param  PHP_ADMIN_VALUE "open_basedir=/var/www/htdocs";
Achtung

Weil diese Einstellungen an php-fpm als FastCGI Header übergeben werden, sollte php-fpm nicht an eine öffentlich zugängliche Adresse gebunden sein. Andernfalls könnte jeder die PHP Konfigurationsoptionen ändern. Siehe auch listen.allowed_clients.

Installation
Installation of PECL extensions
FastCGI Process Manager (FPM)


Installation of PECL extensions

Inhaltsverzeichnis

  • Introduction to PECL Installations
  • Downloading PECL extensions
  • Installing a PHP extension on Windows
  • Compiling shared PECL extensions with the pecl command
  • Compiling shared PECL extensions with phpize
  • php-config
  • Compiling PECL extensions statically into PHP
Konfiguration
Introduction to PECL Installations
Installation und Konfiguration


Introduction to PECL Installations

» PECL is a repository of PHP extensions that are made available to you via the » PEAR packaging system. This section of the manual is intended to demonstrate how to obtain and install PECL extensions.

These instructions assume /your/phpsrcdir/ is the path to the PHP source distribution, and that extname is the name of the PECL extension. Adjust accordingly. These instructions also assume a familiarity with the » pear command. The information in the PEAR manual for the pear command also applies to the pecl command.

To be useful, a shared extension must be built, installed, and loaded. The methods described below provide you with various instructions on how to build and install the extensions, but they do not automatically load them. Extensions can be loaded by adding an extension directive to the php.ini file, or through the use of the dl() function.

When building PHP modules, it's important to have known-good versions of the required tools (autoconf, automake, libtool, etc.) See the » Anonymous Git Instructions for details on the required tools, and required versions.

Installation of PECL extensions
Downloading PECL extensions
Installation of PECL extensions


Downloading PECL extensions

There are several options for downloading PECL extensions, such as:

  • The pecl install extname command downloads the extensions code automatically, so in this case there is no need for a separate download.
  • » http://pecl.php.net/ The PECL web site contains information about the different extensions that are offered by the PHP Development Team. The information available here includes: ChangeLog, release notes, requirements and other similar details.
  • pecl download extname PECL extensions that have releases listed on the PECL web site are available for download and installation using the » pecl command. Specific revisions may also be specified.
  • SVN Most PECL extensions also reside in SVN. A web-based view may be seen at » http://svn.php.net/viewvc/pecl/. To download straight from SVN, the following sequence of commands may be used:

    $ svn checkout http://svn.php.net/repository/pecl/extname/trunk extname

  • Windows downloads The PHP project compiles and offers Windows DLLs for most PECL extensions on the respective package page.
Introduction to PECL Installations
Installing a PHP extension on Windows
Installation of PECL extensions


Installing a PHP extension on Windows

On Windows, you have two ways to load a PHP extension: either compile it into PHP, or load the DLL. Loading a pre-compiled extension is the easiest and preferred way.

To load an extension, you need to have it available as a ".dll" file on your system. All the extensions are automatically and periodically compiled by the PHP Group (see next section for the download).

To compile an extension into PHP, please refer to building from source documentation.

To compile a standalone extension (aka a DLL file), please refer to building from source documentation. If the DLL file is available neither with your PHP distribution nor in PECL, you may have to compile it before you can start using the extension.

Where to find an extension?

PHP extensions are usually called "php_*.dll" (where the star represents the name of the extension) and they are located under the "PHP\ext" folder.

PHP ships with the extensions most useful to the majority of developers. They are called "core" extensions.

However, if you need functionality not provided by any core extension, you may still be able to find one in PECL. The PHP Extension Community Library (PECL) is a repository for PHP Extensions, providing a directory of all known extensions and hosting facilities for downloading and development of PHP extensions.

If you have developed an extension for your own uses, you might want to think about hosting it on PECL so that others with the same needs can benefit from your time. A nice side effect is that you give them a good chance to give you feedback, (hopefully) thanks, bug reports and even fixes/patches. Before you submit your extension for hosting on PECL, please read » PECL submit.

Which extension to download?

Many times, you will find several versions of each DLL:

  • Different version numbers (at least the first two numbers should match)
  • Different thread safety settings
  • Different processor architecture (x86, x64, ...)
  • Different debugging settings
  • etc.

You should keep in mind that your extension settings should match all the settings of the PHP executable you are using. The following PHP script will tell you all about your PHP settings:

Beispiel #1 phpinfo() call

<?php
phpinfo();
?>

Or from the command line, run:

drive:\\path\to\php\executable\php.exe -i

Loading an extension

The most common way to load a PHP extension is to include it in your php.ini configuration file. Please note that many extensions are already present in your php.ini and that you only need to remove the semicolon to activate them.

;extension=php_extname.dll

extension=php_extname.dll

However, some web servers are confusing because they do not use the php.ini located alongside your PHP executable. To find out where your actual php.ini resides, look for its path in phpinfo():

Configuration File (php.ini) Path  C:\WINDOWS

Loaded Configuration File   C:\Program Files\PHP\5.2\php.ini

After activating an extension, save php.ini, restart the web server and check phpinfo() again. The new extension should now have its own section.

Resolving problems

If the extension does not appear in phpinfo(), you should check your logs to learn where the problem comes from.

If you are using PHP from the command line (CLI), the extension loading error can be read directly on screen.

If you are using PHP with a web server, the location and format of the logs vary depending on your software. Please read your web server documentation to locate the logs, as it does not have anything to do with PHP itself.

Common problems are the location of the DLL, the value of the " extension_dir" setting inside php.ini and compile-time setting mismatches.

If the problem lies in a compile-time setting mismatch, you probably didn't download the right DLL. Try downloading again the extension with the right settings. Again, phpinfo() can be of great help.

Downloading PECL extensions
Compiling shared PECL extensions with the pecl command
Installation of PECL extensions


Compiling shared PECL extensions with the pecl command

PECL makes it easy to create shared PHP extensions. Using the » pecl command, do the following:

$ pecl install extname

This will download the source for extname, compile, and install extname.so into your extension_dir. extname.so may then be loaded via php.ini

By default, the pecl command will not install packages that are marked with the alpha or beta state. If no stable packages are available, you may install a beta package using the following command:

$ pecl install extname-beta

You may also install a specific version using this variant:

$ pecl install extname-0.1

Hinweis:

After enabling the extension in php.ini, restarting the web service is required for the changes to be picked up.

Installing a PHP extension on Windows
Compiling shared PECL extensions with phpize
Installation of PECL extensions


Compiling shared PECL extensions with phpize

Sometimes, using the pecl installer is not an option. This could be because you're behind a firewall, or it could be because the extension you want to install is not available as a PECL compatible package, such as unreleased extensions from SVN. If you need to build such an extension, you can use the lower-level build tools to perform the build manually.

The phpize command is used to prepare the build environment for a PHP extension. In the following sample, the sources for an extension are in a directory named extname:

$ cd extname
$ phpize
$ ./configure
$ make
# make install

A successful install will have created extname.so and put it into the PHP extensions directory. You'll need to and adjust php.ini and add an extension=extname.so line before you can use the extension.

If the system is missing the phpize command, and precompiled packages (like RPM's) are used, be sure to also install the appropriate devel version of the PHP package as they often include the phpize command along with the appropriate header files to build PHP and its extensions.

Execute phpize --help to display additional usage information.

Compiling shared PECL extensions with the pecl command
php-config
Installation of PECL extensions


php-config

php-config is a simple shell script for obtaining information about the installed PHP configuration.

When compiling extensions, if you have multiple PHP versions installed, you may specify for which installation you'd like to build by using the --with-php-config option during configuration, specifying the path of the respective php-config script.

The list of command line options provided by the php-config script can be queried anytime by running php-config with the -h switch:

Usage: /usr/local/bin/php-config [OPTION]
Options:
  --prefix            [...]
  --includes          [...]
  --ldflags           [...]
  --libs              [...]
  --extension-dir     [...]
  --include-dir       [...]
  --php-binary        [...]
  --php-sapis         [...]
  --configure-options [...]
  --version           [...]
  --vernum            [...]

Command line options
Option | Description
--prefix | Directory prefix where PHP is installed, e.g. /usr/local
--includes | List of -I options with all include files
--ldflags | LD Flags which PHP was compiled with
--libs | Extra libraries which PHP was compiled with
--extension-dir | Directory where extensions are searched by default
--include-dir | Directory prefix where header files are installed by default
--php-binary | Full path to php CLI or CGI binary
--php-sapis | Show all SAPI modules available
--configure-options | Configure options to recreate configuration of current PHP installation
--version | PHP version
--vernum | PHP version as integer

Compiling shared PECL extensions with phpize
Compiling PECL extensions statically into PHP
Installation of PECL extensions


Compiling PECL extensions statically into PHP

You might find that you need to build a PECL extension statically into your PHP binary. To do this, you'll need to place the extension source under the /your/phpsrcdir/ext/ directory and tell the PHP build system to regenerate its configure script.

$ cd /your/phpsrcdir/ext
$ pecl download extname
$ gzip -d < extname.tgz | tar -xvf -
$ mv extname-x.x.x extname

This will result in the following directory:

/your/phpsrcdir/ext/extname

From here, force PHP to rebuild the configure script, and then build PHP as normal:

$ cd /your/phpsrcdir
$ rm configure
$ ./buildconf --force
$ ./configure --help
$ ./configure --with-extname --enable-someotherext --with-foobar
$ make
$ make install

Hinweis: To run the 'buildconf' script you need autoconf 2.13 and automake 1.4+ (newer versions of autoconf may work, but are not supported).

Whether --enable-extname or --with-extname is used depends on the extension. Typically an extension that does not require external libraries uses --enable. To be sure, run the following after buildconf:

$ ./configure --help | grep extname

php-config
Problems?
Installation of PECL extensions


Problems?

Inhaltsverzeichnis

  • Read the FAQ
  • Other problems
  • Bug reports
Compiling PECL extensions statically into PHP
Read the FAQ
Installation und Konfiguration


Read the FAQ

Some problems are more common than others. The most common ones are listed in the PHP FAQ, part of this manual.

Problems?
Other problems
Problems?


Other problems

If you are still stuck, someone on the PHP installation mailing list may be able to help you. You should check out the archive first, in case someone already answered someone else who had the same problem as you. The archives are available from the support page on » http://www.php.net/support.php. To subscribe to the PHP installation mailing list, send an empty mail to » php-install-subscribe@lists.php.net. The mailing list address is » php-install@lists.php.net.

If you want to get help on the mailing list, please try to be precise and give the necessary details about your environment (which operating system, what PHP version, what web server, if you are running PHP as CGI or a server module, Safe Mode, etc.), and preferably enough code to make others able to reproduce and test your problem.

Read the FAQ
Bug reports
Problems?


Bug reports

If you think you have found a bug in PHP, please report it. The PHP developers probably don't know about it, and unless you report it, chances are it won't be fixed. You can report bugs using the bug-tracking system at » http://bugs.php.net/. Please do not send bug reports in mailing list or personal letters. The bug system is also suitable to submit feature requests.

Read the » How to report a bug document before submitting any bug reports!

Other problems
Laufzeiteinstellungen
Problems?


Laufzeiteinstellungen

Inhaltsverzeichnis

  • Die Konfigurationsdatei
  • .user.ini-Dateien
  • Wo Konfigurationseinstellungen gesetzt werden können
  • Wie man Konfigurationseinstellungen ändert
Bug reports
Die Konfigurationsdatei
Installation und Konfiguration


Die Konfigurationsdatei

Die Konfigurationsdatei wird beim Start von PHP eingelesen. Für die Servermodul-Versionen von PHP geschieht dies nur einmal beim Start des Webservers. Für die CGI- und CLI-Versionen geschieht dies bei jedem Aufruf.

Nach der php.ini wird an folgenden Orten in der angegebenen Reihenfolge gesucht:

  • Spezielle Orte für SAPI-Module (PHPIniDir-Direktive im Apache2, -c Kommandozeilenparameter in CGI und CLI, php_ini-Parameter in NSAPI, PHP_INI_PATH-Umgebungsvariable im THTTPD)
  • Die PHPRC-Umgebungsvariable. Vor PHP 5.2.0 wurde diese nach dem unten angegebenen Registrierungsschlüssel geprüft.
  • Seit PHP 5.2.0 kann die Position der php.ini-Datei für verschiedene Versionen von PHP gesetzt werden. Die folgenden Registrierungsschlüssel werden in der angegebenen Reihenfolge durchsucht: [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y.z], [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y] und [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x], wobei x, y und z die Major-, Minor- und Release-Versionen von PHP darstellen. Falls ein Wert für IniFilePath in einem dieser Schlüssel existiert, so wird der zuerst gefundene als Position der php.ini verwendet (nur unter Windows).
  • [HKEY_LOCAL_MACHINE\SOFTWARE\PHP], Wert von IniFilePath (nur unter Windows).
  • Aktuelles Arbeitsverzeichnis (außer CLI).
  • Das Webserververzeichnis (für SAPI-Module) oder das PHP-Verzeichnis (andernfalls in Windows).
  • Windows-Verzeichnis (C:\windows oder C:\winnt) (unter Windows) oder die --with-config-file-path-Kompilierungsoption.

Falls die Datei php-SAPI.ini existiert (wobei SAPI die verwendete SAPI ist, was als Dateinamen z.B. php-cli.ini oder php-apache.ini ergibt), wird diese anstelle der php.ini verwendet. Der Name der SAPI kann durch php_sapi_name() ermittelt werden.

Hinweis:

Der Apache-Webserver wechselt beim Start das Arbeitsverzeichnis in das Wurzelverzeichnis, weshalb PHP versucht, die php.ini aus dem Wurzelverzeichnis zu lesen, wenn diese existiert.

Wie untenstehend gezeigt können Umgebungsvariablen in php.ini verwendet werden.

Beispiel #1 php.ini Umgebungsvariablen

; PHP_MEMORY_LIMIT ist der Wert einer Umgebungsvariablen
memory_limit = ${PHP_MEMORY_LIMIT}

Die Optionen der php.ini für Extensions werden auf den Handbuchseiten der jeweiligen Extensions behandelt. Die Beschreibung der Core-php.ini-Einstellungen ist im Anhang verfügbar. Es werden jedoch wahrscheinlich nicht alle PHP-Direktiven im Handbuch erläutert. Für eine komplette Liste der in Ihrer PHP-Version verfügbaren Einstellungen lesen Sie bitte die gut kommentierte php.ini. Möglicherweise kann die » aktuellste php.ini aus dem Git-Repository ebenfalls hilfreich sein.

Beispiel #2 php.ini-Beispiel

; Jeder Text in einer Zeile nach einem Semikolon, welches nicht
; in Anführungszeichen steht, wird ignoriert
[php] ; Abschnittsmarkierungen (Text in eckigen Klammern) werden ebenfalls ignoriert
; Boolesche Werte können auf einen der folgenden Werte eingestellt werden:
;      true, on, yes
; oder false, off, no, none
register_globals = off
track_errors = yes

; Sie können Zeichenketten in Anführungszeichen einschließen
include_path = ".:/usr/local/lib/php"

; Backslashes werden wie alle anderen Zeichen behandelt
include_path = ".;c:\php\lib"

Seit PHP 5.1.0 ist es möglich, sich auf bereits definierte .ini-Variablen innerhalb der .ini-Dateien zu beziehen. Zum Beispiel: open_basedir = ${open_basedir}":/new/dir".

Scan directories

It is possible to configure PHP to scan for .ini files in a directory after reading php.ini. This can be done at compile time by setting the --with-config-file-scan-dir option. In PHP 5.2.0 and later, the scan directory can then be overridden at run time by setting the PHP_INI_SCAN_DIR environment variable.

It is possible to scan multiple directories by separating them with the platform-specific path separator (; on Windows, NetWare and RISC OS; : on all other platforms; the value PHP is using is available as the PATH_SEPARATOR constant). If a blank directory is given in PHP_INI_SCAN_DIR, PHP will also scan the directory given at compile time via --with-config-file-scan-dir .

Within each directory, PHP will scan all files ending in .ini in alphabetical order. A list of the files that were loaded, and in what order, is available by calling php_ini_scanned_files(), or by running PHP with the --ini option.

Assuming PHP is configured with --with-config-file-scan-dir=/etc/php.d,
and that the path separator is :...

$ php
  PHP will load all files in /etc/php.d/*.ini as configuration files.

$ PHP_INI_SCAN_DIR=/usr/local/etc/php.d php
  PHP will load all files in /usr/local/etc/php.d/*.ini as
  configuration files.

$ PHP_INI_SCAN_DIR=:/usr/local/etc/php.d php
  PHP will load all files in /etc/php.d/*.ini, then
  /usr/local/etc/php.d/*.ini as configuration files.

$ PHP_INI_SCAN_DIR=/usr/local/etc/php.d: php
  PHP will load all files in /usr/local/etc/php.d/*.ini, then
  /etc/php.d/*.ini as configuration files.

Changelog

Version | Beschreibung
7.0.0 | Hash marks (#) are no longer recognized as comments.
5.3.0 | Hash marks (#) should no longer be used as comments and will throw a deprecation warning if used.
5.2.0 | The PHP_INI_SCAN_DIR environment variable can be set to override the scan directory set via the configure script.
5.1.0 | It is possible to refer to existing .ini variables from within .ini files.

Laufzeiteinstellungen
.user.ini-Dateien
Laufzeiteinstellungen


.user.ini-Dateien

Seit PHP 5.3.0 bietet PHP Unterstützung für Konfigurations-INI-Dateien auf Verzeichnisebene an. Diese Dateien werden nur nur durch die CGI/FastCGI-SAPI verarbeitet. Durch diese Funktionalität wird die htscanner-PECL-Erweiterung obsolet. Falls Sie Apache benutzen, können Sie für den selben Effekt .htaccess-Dateien benutzen.

Zusätzlich zur Haupt-php.ini-Datei sucht PHP auch nach INI-Dateien in jedem Verzeichnis, beginnend mit dem Verzeichnis in der die angeforderte PHP-Datei liegt, aufwärts bis hin zum aktuellen "document root" (wie in $_SERVER['DOCUMENT_ROOT'] konfiguriert). Falls sich die PHP-Datei außerhalb des "document root" befindet, wird nur das Verzeichnis, in dem sich die Datei befindet, durchsucht.

Nur INI-Einstellungen mit den Modi PHP_INI_PERDIR und PHP_INI_USER werden als .user.ini-INI-Dateien erkannt.

Zwei neue INI-Direktiven, user_ini.filename und user_ini.cache_ttl, steuern die Nutzung der Benutzer-INI-Dateien.

user_ini.filename setzt den Namen der Datei, die von PHP in jedem Verzeichnis gesucht wird; falls dies auf eine leere Zeichenkette gesetzt wird, sucht PHP nach keiner Datei. Der Standardwert ist .user.ini.

user_ini.cache_ttl steuert, wie oft die Benutzer-INI-Dateien neu eingelesen werden. Der Standardwert beträgt 300 Sekunden (5 Minuten).

Die Konfigurationsdatei
Wo Konfigurationseinstellungen gesetzt werden können
Laufzeiteinstellungen


Wo Konfigurationseinstellungen gesetzt werden können

Diese Modi bestimmen wann und wo eine PHP-Direktive gesetzt oder nicht gesetzt werden kann. Jede Direktive im Handbuch verweist auf einen dieser Modi. Zum Beispiel können einige Einstellungen in einem PHP-Skript mittels ini_set() gesetzt werden, während andere nur über die php.ini oder httpd.conf gesetzt werden können.

Ein Beispiel ist die output_buffering-Einstellung. Wegen PHP_INI_PERDIR kann sie nicht mittels ini_set() gesetzt werden. Die display_errors-Einstellung hingegegen kann wegen PHP_INI_ALL überall gesetzt werden, also auch mittels ini_set().

Definition der PHP_INI_*-Modi
Modus | Bedeutung
PHP_INI_USER | Eintrag kann in Benutzerskripten (z.B. mittels ini_set()) oder in der Windows-Registry gesetzt werden. Seit PHP 5.3 kann die Option auch in der .user.ini gesetzt werden.
PHP_INI_PERDIR | Eintrag kann in der php.ini, .htaccess, httpd.conf oder .user.ini (seit PHP 5.3) gesetzt werden
PHP_INI_SYSTEM | Eintrag kann in der php.ini oder httpd.conf gesetzt werden
PHP_INI_ALL | Eintrag kann überall gesetzt werden

.user.ini-Dateien
Wie man Konfigurationseinstellungen ändert
Laufzeiteinstellungen


Wie man Konfigurationseinstellungen ändert

PHP läuft als Apachemodul

Wenn man PHP als Apachemodul verwendet, kann man die Konfigurationseinstellungen mittels Direktiven in den Apache-Konfigurationsdateien (z.B. httpd.conf) und .htaccess-Dateien ändern. Dafür benötigt man "AllowOverride Options"- oder "AllowOverride All"-Privilegien.

Es gibt verschiedene Apachedirektiven, die es erlauben, die PHP-Konfiguration aus den Apache-Konfigurationsdateien heraus zu ändern. Für eine Liste von Direktiven, die als PHP_INI_ALL, PHP_INI_PERDIR, oder PHP_INI_SYSTEM definiert sind, werfen Sie einen Blick auf den Anhang Liste von php.ini Einstellungen.

php_value Name Wert

Setzt den Wert der angegebenen Direktive. Kann nur für Direktiven mit den Typen PHP_INI_ALL und PHP_INI_PERDIR verwendet werden. Um einen vorher gesetzten Wert zu löschen, verwenden Sie none als Wert.

Hinweis: Verwenden Sie php_value nicht, um boolesche Werte zu setzen. php_flag (siehe unten) sollte stattdessen verwendet werden.

php_flag Name on|off

Setzt eine boolesche Konfigurationsdirektive. Kann nur für Direktiven mit den Typen PHP_INI_ALL und PHP_INI_PERDIR verwendet werden.

php_admin_value Name Wert

Setzt den Wert der angegebenen Direktive. Dies kann nicht in .htaccess-Dateien verwendet werden. Jeder Direktiventyp, der mit php_admin_value gesetzt wird, kann nicht durch .htaccess-Direktiven oder mit ini_set() überschrieben werden. Um einen vorher gesetzten Wert zu löschen, verwenden Sie none als Wert.

php_admin_flag Name on|off

Setzt eine boolesche Konfigurationsdirektive. Dies kann nicht in .htaccess-Dateien verwendet werden. Jeder Direktiventyp, der mit php_admin_value gesetzt wird, kann nicht durch .htaccess-Direktiven oder ini_set() überschrieben werden.

Beispiel #1 Apache-Konfigurationsbeispiel

<IfModule mod_php5.c>
  php_value include_path ".:/usr/local/lib/php"
  php_admin_flag engine on
</IfModule>
<IfModule mod_php4.c>
  php_value include_path ".:/usr/local/lib/php"
  php_admin_flag engine on
</IfModule>

Achtung

PHP-Konstanten existieren nicht außerhalb von PHP. So kann man z.B. in der httpd.conf nicht PHP-Konstanten wie E_ALL oder E_NOTICE verwenden, um den Wert der error_reporting-Direktive zu ändern, da diese keine Bedeutung haben und als 0 ausgewertet werden. Verwenden Sie stattdessen die zugehörigen Bitmasken-Werte direkt. Diese Konstanten können in der php.ini verwendet werden.

Die PHP-Konfiguration mit der Windows Registry ändern

Wenn Sie PHP unter Windows einsetzen, können Sie die Konfigurationseinstellungen für jedes einzelne Verzeichnis mit der Windows-Registry anpassen. Die Werte der Konfiguration werden unterhalb des Registrierungsschlüssels HKLM\SOFTWARE\PHP\Per Directory Values in den zum Verzeichnisnamen passenden Unterschlüssel gespeichert.Zum Beispiel würden Werte für das Verzeichnis c:\inetpub\wwwroot im Registrierungsschlüssel HKLM\SOFTWARE\PHP\Per Directory Values\c\inetpub\wwwroot gespeichert werden. Die Einstellungen für dieses Verzeichnis wären für alle Skripte aktiv, die in diesem Verzeichnis oder einem seiner Unterverzeichnisse laufen. Die Werte in diesem Schlüssel sollten den Namen eine PHP- Konfigurationsdirektive und einen Zeichenkettenwert haben. Konstenten in den Werten werden nicht ausgewertet. Es können jedoch nur Werte, die in PHP_INI_USER änderbar sind, auf diese Weise gesetzt werden, nicht als PHP_INI_PERDIR deklarierte Werte.

Andere Zugänge zu PHP

Egal wie Sie PHP betreiben, Sie können bestimmte Werte zur Laufzeit Ihrer Skripte mittels ini_set() setzen. Werfen Sie dazu einen Blick auf die Dokumentation von ini_set().

Wenn Sie an einer kompletten Liste von Konfigurationseinstellungen Ihres Systems inklusive deren aktuellen Werten interessiert sind, können Sie die Funktion phpinfo() ausführen und die daraus resultierende Seite betrachten. Sie können auf die Werte einzelner Konfigurationsdirektiven zur Laufzeit mittels ini_get() oder get_cfg_var() zugreifen.

Wo Konfigurationseinstellungen gesetzt werden können
Sprachreferenz
Laufzeiteinstellungen


Sprachreferenz

  • Grundlagen der Syntax
    • PHP Tags
    • Den HTML-Bereich der Datei verlassen
    • Abgrenzung von Anweisungen
    • Kommentare
  • Typen
    • Einführung
    • Booleans
    • Integers
    • Floating point numbers
    • Strings
    • Arrays
    • Objekte
    • Ressourcen
    • NULL
    • Callbacks / Callables
    • Pseudo-types and variables used in this documentation
    • Type Juggling
  • Variablen
    • Grundlegendes
    • Vordefinierte Variablen
    • Geltungsbereich von Variablen
    • Variable Variablen
    • Variablen aus externen Quellen
  • Konstanten
    • Syntax
    • Magische Konstanten
  • Ausdrücke
  • Operatoren
    • Operator-Rangfolge
    • Arithmetische Operatoren
    • Zuweisungsoperatoren
    • Bit-Operatoren
    • Vergleichs-Operatoren
    • Fehler-Kontroll-Operatoren
    • Operatoren zur Programmausführung
    • Inkrement- bzw. Dekrementoperatoren
    • Logische Operatoren
    • Zeichenketten-Operatoren
    • Array-Operatoren
    • Typ Operatoren
  • Kontrollstrukturen
    • Einführung
    • if
    • else
    • elseif/else if
    • Alternative Syntax für Kontrollstrukturen
    • while
    • do-while
    • for
    • foreach
    • break
    • continue
    • switch
    • declare
    • return
    • require
    • include
    • require_once
    • include_once
    • goto
  • Funktionen
    • Benutzerdefinierte Funktionen
    • Funktionsparameter
    • Rückgabewerte
    • Variablenfunktionen
    • Interne (eingebaute) Funktionen
    • Anonyme Funktionen
  • Klassen und Objekte
    • Einführung
    • Die Grundlagen
    • Eigenschaften
    • Klassenkonstanten
    • Autoloading
    • Konstruktoren und Destruktoren
    • Sichtbarkeit
    • Objekt-Vererbung
    • Gültigkeitsbereichsoperator (::)
    • Static-Schlüsselwort
    • Klassenabstraktion
    • Interfaces
    • Traits
    • Anonyme Klassen
    • Überladung
    • Objektiteration
    • Magische Methoden
    • Final-Schlüsselwort
    • Objekte klonen
    • Objekte vergleichen
    • Type-Hints
    • Späte statische Bindung
    • Objekte und Referenzen
    • Serialisierung von Objekten
    • OOP-Changelog
  • Namespaces
    • Übersicht über Namespaces
    • Namespaces definieren
    • Unter-Namespaces deklarieren
    • Mehrere Namespaces in der selben Datei definieren
    • Namespaces verwenden: Grundlagen
    • Namespaces und dynamische Sprachfeatures
    • Namespace-Schlüsselwort und __NAMESPACE__-Konstante
    • Namespaces verwenden: Aliase/Importieren
    • Globaler Namensraum
    • Namespaces verwenden: Rückgriff auf globale Funktion/Konstante
    • Regeln für Namensauflösung
    • FAQ: Dinge, die Sie über Namespaces wissen sollten
  • Fehler
    • Basics
    • Errors in PHP 7
  • Ausnahmebehandlung (Exception-Handling)
    • Exceptions erweitern
  • Generatoren
    • Generatoren-Übersicht
    • Generator-Syntax
    • Vergleich von Generatoren mit Iterator-Objekten
  • Referenzen in PHP
    • Was Referenzen sind
    • Was Referenzen leisten
    • Was Referenzen nicht sind
    • Parameterübergabe per Referenz
    • Referenzen zurückgeben
    • Referenzen aufheben
    • Referenzen entdecken
  • Vordefinierte Variablen
    • Superglobals — Superglobals sind Built-in-Variablen, die immer in allen Gültigkeitsbereichen verfügbar sind
    • $GLOBALS — Referenziert alle Variablen, die im globalen Gültigkeitsbereich vorhanden sind
    • $_SERVER — Informationen über Server und Ausführungsumgebung
    • $_GET — HTTP GET-Variablen
    • $_POST — HTTP POST-Variablen
    • $_FILES — HTTP Dateiupload-Variablen
    • $_REQUEST — HTTP Request-Variablen
    • $_SESSION — Sessionvariablen
    • $_ENV — Umgebungsvariablen
    • $_COOKIE — HTTP Cookies
    • $php_errormsg — Die vorangegangene Fehlermeldung
    • $HTTP_RAW_POST_DATA — Raw POST-Daten
    • $http_response_header — HTTP Response-Header
    • $argc — Die Anzahl der an das Skript übergebenen Argumente
    • $argv — Array der an das Skript übergebenen Argumente
  • Vordefinierte Exceptions
    • Exception
    • ErrorException
  • Vordefinierte Interfaces und Klassen
    • Traversable — Das Traversable-Interface
    • Iterator — Das Iterator-Interface
    • IteratorAggregate — Das IteratorAggregate-Interface
    • ArrayAccess — Das ArrayAccess-Interface
    • Serializable — Das Serializable-Interface
    • Closure — The Closure class
    • Generator — Die Generator Klasse
  • Kontextoptionen und -parameter
    • Socket context options — Socket context option listing
    • HTTP context options — HTTP context option listing
    • FTP-Kontextoptionen — Liste der FTP-Kontextoptionen
    • SSL-Kontext-Optionen — Auflistung der Optionen für SSL-Kontexte
    • CURL Kontextoptionen — Liste der CURL Kontextoptionen
    • Phar Kontextoptionen — Liste der Phar Kontextoptionen
    • MongoDB context options — MongoDB context option listing
    • Kontextparameter — Liste der Kontextparameter
  • Unterstützte Protokolle und Wrapper
    • file:// — Accessing local filesystem
    • http:// — Accessing HTTP(s) URLs
    • ftp:// — Accessing FTP(s) URLs
    • php:// — Accessing various I/O streams
    • zlib:// — Compression Streams
    • data:// — Data (RFC 2397)
    • glob:// — Find pathnames matching pattern
    • phar:// — PHP Archive
    • ssh2:// — Secure Shell 2
    • rar:// — RAR
    • ogg:// — Audio streams
    • expect:// — Process Interaction Streams
Wie man Konfigurationseinstellungen ändert
Grundlagen der Syntax
PHP-Handbuch


Grundlagen der Syntax

Inhaltsverzeichnis

  • PHP Tags
  • Den HTML-Bereich der Datei verlassen
  • Abgrenzung von Anweisungen
  • Kommentare
Sprachreferenz
PHP Tags
Sprachreferenz


PHP Tags

Wenn PHP eine Datei parst, schaut es nach öffnenden und schließenden Tags, also <?php und ?>, die PHP anweisen, das Interpretieren des zwischenliegenden Codes zu beginnen bzw. zu beenden. Auf diese Weise zu parsen ermöglicht die Einbettung von PHP in allen möglichen unterschiedlichen Dokumenten, da alles außerhalb eines Paares von öffnenden und schließenden Tags vom PHP Parser ignoriert wird.

PHP erlaubt ebenfalls kurze öffnende Tags <? (von denen abgeraten wird, da sie nur verfügbar sind, wenn sie durch die short_open_tag php.ini Konfigurationsdirektive aktiviert wurden, oder PHP mit der --enable-short-tags Option konfiguriert wurde).

Ist eine Datei reiner PHP-Code, ist es besser den schließenden PHP-Tag am Ende der Datei wegzulassen. Das verhindert, dass versehentlich Whitespace oder Zeilenumbrüche nach dem schließenden PHP-Tag hinzugefügt werden, die unerwünschte Auswirkungen haben können, da PHP das Puffern der Ausgabe beginnt, auch wenn der Programmierer keinerlei Absicht hatte, irgendwelche Ausgaben an dieser Stelle des Scripts zu senden.

<?php
echo "Hallo Welt";

// ... mehr Code

echo "Letzte Anweisung";

// das Script endet hier ohne schließenden PHP-Tag

Changelog
Version | Beschreibung
7.0.0 | Die ASP-Tags <%, %>, <%=, und der Script-Tag <script language="php"> wurden von PHP entfernt.
5.4.0 | Der Tag <?= ist immer verfügbar, unabhängig von der short_open_tag ini Einstellung.

Grundlagen der Syntax
Den HTML-Bereich der Datei verlassen
Grundlagen der Syntax


Den HTML-Bereich der Datei verlassen

Alles außerhalb eines Paares von öffnenden und schließenden Tags wird vom PHP-Parser ignoriert, was es ermöglicht, dass PHP-Dateien gemischten Inhalt haben können. Das ermöglicht die Einbettung von PHP in HTML-Dokumenten, zum Beispiel um Templates zu erstellen.

<p>Das hier wird von PHP ignoriert, und vom Browser angezeigt.</p>
<?php echo 'Wohingegen das hier geparst wird.'; ?>
<p>Dies wird ebenfalls von PHP ignoriert, und vom Browser angezeigt.</p>
Dies arbeitet wie erwartet, da PHP, wenn es auf ein schließendes >?-Tag trifft, einfach beginnt, alles folgende auszugeben, bis es wieder auf einen öffnenden Tag stößt (mit Ausnahme eines direkt folgenden Newline-Zeichens - siehe auch Abschnitt Abgrenzung von Anweisungen). Das gilt nicht in der Mitte einer bedingten Anweisung, in welchem Fall der Interpreter das Resultat der Bedingung ermittelt, bevor die Entscheidung getroffen wird, was übersprungen wird. Siehe das folgende Beispiel.

Verwendung von Strukturen mit Bedingungen

Beispiel #1 Fortgeschrittene Ausgabe unter Verwendung von Bedingungen

<?php if ($expression == true): ?>
  Dies wird angezeigt, wenn der Ausdruck wahr ist.
<?php else: ?>
  Andernfalls wird dies angezeigt.
<?php endif; ?>
In diesem Beispiel überspringt PHP die Blöcke, in denen die Bedingung nicht erfüllt ist; selbst wenn diese außerhalb der öffnenden/schließenden PHP-Tags liegen, überspringt PHP sie gemäß der Bedingung, da der PHP-Interpreter Blöcke überspringt, die in einer Bedinungen liegen, die nicht erfüllt ist.

Für die Ausgabe von großen Textblöcken ist der Ausstieg aus dem Parse-Modus generell effizienter, als den gesamten Text durch echo oder print zu jagen.

Es gibt in PHP 5 bis zu fünf unterschiedliche Paare öffnender und schließender Tags, die in Abhängigkeit von der PHP-Konfiguration verwendet werden können. Zwei davon, <?php ?> und <script language="php"> </script>, sind immer verfügbar. Es gibt ebenfalls den kurzen Echo-Tag <?= ?>, der ab PHP 5.4.0 immer verfügbar ist.

Die anderen beiden sind Short-Tags und ASP-Tags. Das bedeutet, wenn einige Leute Short-Tags und ASP-Tags bequem finden, sind die daraus resultierenden Skripte nicht überall einsetzbar, so dass diese Tags grundsätzlich nicht empfehlenswert sind.

Hinweis:

Beachten Sie auch, dass Sie, wenn Sie PHP in XML oder XHTML einbinden wollen, die <?php ?>-Tags verwenden müssen, um keine Parserfehler aufgrund vermischter Standards zu provozieren.

PHP 7 entfernt die Unterstützung von ASP-Tags und <script language="php"> Tags. Daher empfehlen wir beim Schreiben von PHP-Code für maximale Kompatibilität nur <?php ?> und <?= ?> zu verwenden.

Beispiel #2 Die öffnenden und schließenden Tags

1.  <?php echo 'wenn Sie PHP-Code in XHTML oder XML-Dokumenten ausliefern wollen,
                verwenden Sie diese Tags'; ?>

2.  Sie können den kurzen Echo-Tag verwenden um <?= 'diese Zeichenkette auszugeben' ?>.
    Jener ist ab PHP 5.4.0 immer verfügbar, und ist equivalent zu
    <?php echo 'diese Zeichenkette auszugeben' ?>.

3.  <? echo 'dieser Code befindet sich innerhalb von Short-Tags, und funktioniert nur, '.
            'wenn short_open_tag aktiviert ist'; ?>

4.  <script language="php">
        echo 'manche Editoren (like FrontPage) mögen
              keine Processing-Instructions innerhalb dieser Tags';
    </script>
    Diese Syntax wurde in PHP 7.0.0 entfernt.

5.  <% echo 'Sie können optional ASP-Tags verwenden'; %>
    Code innerhalb dieser Tags <%= $variable; %> ist eine Abkürzung für den Code <% echo $variable; %>
    Diese beiden syntaktischen Konstrukte wurde in PHP 7.0.0 entfernt.

Short-Tags (Beispiel drei) sind nur verfügbar, wenn sie via short_open_tag-Direktive im php.ini-Konfigurationsfile eingeschaltet wurden, oder wenn PHP mit --enable-short-tags konfiguriert wurde.

ASP-Tags (Beispiel fünf) sind nur verfügbar, wenn sie mittels der asp_tags-Direktive im php.ini Konfigurationsfile eingeschaltet wurden, und wurden in PHP 7.0.0 entfernt.

Hinweis:

Die Verwendung der Short-Tags sollten Sie vermeiden, wenn Sie Applikationen oder Bibliotheken entwickeln, die für die Weitergabe oder den Einsatz auf nicht Ihrer Kontrolle unterstehenden PHP-Servern bestimmt sind, da es sein kann, dass Short-Tags auf dem Zielsystem nicht unterstützt werden. Um portablen, weiterverteilbaren Code zu haben, verwenden Sie keine Short-Tags.

Hinweis:

Unter PHP 5.2 und früher war es nicht erlaubt, dass der öffnende <?php Tag allein in einer Datei stand. Dies ist seit PHP 5.3 erlaubt, vorausgesetzt, dass wenigstens ein Whitespace-Zeichen auf den öffnenden Tag folgt.

Hinweis:

Beginnend mit PHP 5.4 wird der kurze Echo-Tag <?= immer erkannt und ist gültig, unabhängig von der short_open_tag Einstellung.

PHP Tags
Abgrenzung von Anweisungen
Grundlagen der Syntax


Abgrenzung von Anweisungen

Wie in C oder Perl verlangt PHP, dass Anweisungen am Ende jedes Statements mit einem Semikolon beendet werden. Der schließende Tag eines Blocks mit PHP-Code impliziert automatisch ein Semikolon; Sie brauchen daher kein abschließendes Semikolon in der letzten Zeile des PHP-Blocks zu setzen. Der schließende Tag für den Block schließt das direkt nachfolgende Zeilenumbruch-Zeichen ein, wenn es vorhanden ist.

<?php
    echo 'Dies ist ein Test';
?>

<?php echo 'Dies ist ein Test' ?>

<?php echo 'Wir ließen den letzen schließenden Tag weg';

Hinweis:

Der schließende Tag eines PHP-Blocks am Ende einer Datei ist optional, und in einigen Fällen ist das Weglassen hilfreich, wenn Sie include oder require verwenden, so dass ungewollte Whitespaces nicht am Ende einer Datei auftreten und Sie noch im Stande sind, später weitere Header an die Response hinzuzufügen. Es ist ebenfalls praktisch, wenn Sie Output Buffering verwenden und keine ungewollten Whitespaces am Ende eines durch die eingebundenen Dateien erzeugten Parts sehen wollen.

Den HTML-Bereich der Datei verlassen
Kommentare
Grundlagen der Syntax


Kommentare

PHP unterstützt 'C', 'C++' und Unix-Shell-artige (Perl-artige) Kommentare. Zum Beispiel:

<?php
    echo 'Dies ist ein Test'; // Dies ist ein einzeiliger Kommentar im C++-Stil
    /* Dies ist ein mehrzeiliger Kommentar
       noch eine weitere Kommentar-Zeile */
    echo 'Dies ist noch ein Test';
    echo '... und ein letzter Test'; # Dies ist ein einzeiliger Shell-Kommentar
?>

Die "einzeiligen" Kommentar-Arten kommentieren sämtlichen Text bis zum Zeilenende oder bis zum Ende des aktuellen PHP-Blocks aus, je nachdem, was zuerst eintritt. Das bedeutet, das HTML-Code nach // ..?> oder # ... ?> ausgegeben WIRD: ?> beendet den PHP-Modus und kehrt in den HTML-Modus zurück, so dass sich // oder # nicht darauf auswirkt. Wenn die asp_tags Konfigurations-Direktive eingeschaltet ist, verhält es sich genauso bei // %> und # %>. Jedoch beendet der </script>-Tag den PHP-Modus innerhalb eines einzeiligen Kommentars nicht.

<h1>Dies ist ein <?php # echo 'einfaches';?> Beispiel.</h1>
<p>Obige Überschrift wird lauten: 'Dies ist ein  Beispiel.'.

'C'-artige Kommentare enden am ersten Vorkommen von */. Achten Sie daher darauf, 'C'-artige Kommentare nicht zu verschachteln. Dieser Fehler entsteht leicht, wenn Sie längere Code-Blöcke auskommentieren.

<?php
/*
   echo 'Dies ist ein Test'; /* Dieser Kommentar wird ein Problem verursachen. */
*/
?>

Abgrenzung von Anweisungen
Typen
Grundlagen der Syntax


Typen

Inhaltsverzeichnis

  • Einführung
  • Booleans
  • Integers
  • Floating point numbers
  • Strings
  • Arrays
  • Objekte
  • Ressourcen
  • NULL
  • Callbacks / Callables
  • Pseudo-types and variables used in this documentation
  • Type Juggling
Kommentare
Einführung
Sprachreferenz


Einführung

PHP unterstützt acht primitive Typen.

Vier skalare Typen:

  • Boolean
  • Integer
  • Fließkomma-Zahl (float) (auch double)
  • String / Zeichenkette

Drei zusammengesetzte Typen:

  • Array
  • Objekt
  • Callable

Und zuletzt zwei spezielle Typen:

  • Ressource
  • NULL

Für die bessere Lesbarkeit führt dieses Handbuch ein paar Pseudo-Typen ein:

  • mixed
  • number
  • callback (alias callable)
  • array|object
  • void

Sowie die Pseudovariable $....

Sie werden auch ein paar Hinweise auf den Typ "Double" finden. Betrachten Sie Double als dasselbe wie Float. Die beiden Bezeichnungen existieren nur aus historischen Gründen.

Der Typ einer Variablen wird normalerweise nicht vom Programmierer bestimmt. Zur Laufzeit von PHP wird entschieden, welchen Typs eine Variable ist. Dies ist abhängig vom Zusammenhang, in dem die Variable benutzt wird.

Hinweis: Um den Typ und den Wert eines bestimmten Ausdrucks (Expression) zu überprüfen, können Sie var_dump() benutzen.

Wenn Sie zur Fehlersuche einfach nur eine lesbare Darstellung eines Typs benötigen, benutzen Sie gettype(). Um auf einen bestimmten Typ zu prüfen, sollten Sie nicht gettype() benutzen. Stattdessen sollten Sie die is_type Funktionen verwenden. Ein paar Beispiele:

<?php
$a_bool = TRUE;   // ein Boolean (Wahrheitswert)
$a_str  = "foo";  // eine Zeichenkette (String)
$a_str2 = 'foo';  // eine Zeichenkette (String)
$an_int = 12;     // ein Integer (Ganzzahl)

echo gettype($a_bool); // gibt aus:  boolean
echo gettype($a_str);  // gibt aus:  string

// Falls es ein Integer ist, erhöhe ihn um vier
if (is_int($an_int)) {
    $an_int += 4;
}

// Falls $a_bool ein String ist, gib ihn aus
// (gibt überhaupt nichts aus)
if (is_string($a_bool)) {
    echo "String: $a_bool";
}
?>

Wenn sie die Umwandlung in einen bestimmten Variablen-Typ erzwingen wollen, erreichen Sie dies entweder durch Typ-Umwandlung (Cast) oder durch Gebrauch der Funktion settype().

Beachten Sie, dass eine Variable abhängig vom Typ, dem die Variable zu dem Zeitpunkt entspricht, in bestimmten Situationen unterschiedlich ausgewertet werden kann. Weitere Informationen entnehmen Sie dem Abschnitt zur Typ-Veränderung (Type Juggling). Schauen Sie sich außerdem Die PHP Typ-Vergleichstabellen an, wenn Sie an Beispielen verschiedener typenbezogener Vergleiche interessiert sind.

Typen
Booleans
Typen


Booleans

Dies ist der einfachste Typ. Ein boolean Ausdruck ist ein Wahrheitswert der entweder TRUE (wahr) oder FALSE (falsch) sein kann.

Syntax

Ein boolean Wert wird über die Konstanten TRUE und FALSE spezifiziert, Groß- und Kleinschreibung ist dabei nicht von Bedeutung.

<?php
$foo = True; // weist $foo den Wert TRUE zu
?>

Normalerweise wird ein boolean von einem Operator zurückgegeben und an eine Kontrollstruktur weitergegeben.

<?php
// == ist ein Operator der auf Gleichheit prüft
// und ein boolean Ergebnis zurückgibt
if ($action == "show_version") {
    echo "Die Version ist 1.23";
}

// die Angabe von '== TRUE' ist nicht nötig...
if ($show_separators == TRUE) {
    echo "<hr>\n";
}

// ... weil folgendes *genau* die selbe Bedeutung hat:
if ($show_separators) {
    echo "<hr>\n";
}
?>

Converting to boolean

Um einen Wert explizit zu boolean zu konvertieren, wird (bool) oder (boolean) zum casten verwendet. Dies ist jedoch in den meisten Fällen nicht nötig, da ein Wert automatisch konvertiert wird wenn eine Funktion oder Kontrollstruktur ein boolean Argument verlangt.

Siehe auch Typumwandlungen.

Bei der Konvertierung zum Typ boolean gelten die folgenden Werte als FALSE:

  • boolean FALSE selbst
  • integer 0 (zero)
  • float 0.0 (zero)
  • Der leere string, und der string "0"
  • Ein array ohne Elemente
  • Ein object ohne Eigenschaftsvariablen (nur PHP 4)
  • Der spezielle Typ NULL (inklusive nicht gesetzter Variablen)
  • SimpleXML Objekte die aus leeren Tags erzeugt wurden.

Jeder andere Wert wird als TRUE angenommen (inklusive jeglicher resource Werte).

Warnung

-1 gilt als TRUE wie jeder andere Integerwert ungleich 0 (egal ob positiv oder negativ)!

<?php
var_dump((bool) "");        // bool(false)
var_dump((bool) 1);         // bool(true)
var_dump((bool) -2);        // bool(true)
var_dump((bool) "foo");     // bool(true)
var_dump((bool) 2.3e5);     // bool(true)
var_dump((bool) array(12)); // bool(true)
var_dump((bool) array());   // bool(false)
var_dump((bool) "false");   // bool(true)
?>
Einführung
Integers
Typen


Integers

An integer is a number of the set Z = {..., -2, -1, 0, 1, 2, ...}.

See also:

  • Arbitrary length integer / GMP
  • Floating point numbers
  • Arbitrary precision / BCMath

Syntax

Integers can be specified in decimal (base 10), hexadecimal (base 16), octal (base 8) or binary (base 2) notation, optionally preceded by a sign (- or +).

Binary integer literals are available since PHP 5.4.0.

To use octal notation, precede the number with a 0 (zero). To use hexadecimal notation precede the number with 0x. To use binary notation precede the number with 0b.

Beispiel #1 Integer literals

<?php
$a = 1234; // decimal number
$a = -123; // a negative number
$a = 0123; // octal number (equivalent to 83 decimal)
$a = 0x1A; // hexadecimal number (equivalent to 26 decimal)
$a = 0b11111111; // binary number (equivalent to 255 decimal)
?>

Formally, the structure for integer literals is:

decimal     : [1-9][0-9]*
            | 0

hexadecimal : 0[xX][0-9a-fA-F]+

octal       : 0[0-7]+

binary      : 0b[01]+

integer     : [+-]?decimal
            | [+-]?hexadecimal
            | [+-]?octal
            | [+-]?binary

The size of an integer is platform-dependent, although a maximum value of about two billion is the usual value (that's 32 bits signed). 64-bit platforms usually have a maximum value of about 9E18, except on Windows prior to PHP 7, where it was always 32 bit. PHP does not support unsigned integers. Integer size can be determined using the constant PHP_INT_SIZE, maximum value using the constant PHP_INT_MAX since PHP 5.0.5, and minimum value using the constant PHP_INT_MIN since PHP 7.0.0.

Warnung

Prior to PHP 7, if an invalid digit was given in an octal integer (i.e. 8 or 9), the rest of the number was ignored. Since PHP 7, a parse error is emitted.

Integer overflow

If PHP encounters a number beyond the bounds of the integer type, it will be interpreted as a float instead. Also, an operation which results in a number beyond the bounds of the integer type will return a float instead.

Beispiel #2 Integer overflow on a 32-bit system

<?php
$large_number = 2147483647;
var_dump($large_number);                     // int(2147483647)

$large_number = 2147483648;
var_dump($large_number);                     // float(2147483648)

$million = 1000000;
$large_number =  50000 * $million;
var_dump($large_number);                     // float(50000000000)
?>

Beispiel #3 Integer overflow on a 64-bit system

<?php
$large_number = 9223372036854775807;
var_dump($large_number);                     // int(9223372036854775807)

$large_number = 9223372036854775808;
var_dump($large_number);                     // float(9.2233720368548E+18)

$million = 1000000;
$large_number =  50000000000000 * $million;
var_dump($large_number);                     // float(5.0E+19)
?>

There is no integer division operator in PHP. 1/2 yields the float 0.5. The value can be casted to an integer to round it towards zero, or the round() function provides finer control over rounding.

<?php
var_dump(25/7);         // float(3.5714285714286)
var_dump((int) (25/7)); // int(3)
var_dump(round(25/7));  // float(4)
?>

Converting to integer

To explicitly convert a value to integer, use either the (int) or (integer) casts. However, in most cases the cast is not needed, since a value will be automatically converted if an operator, function or control structure requires an integer argument. A value can also be converted to integer with the intval() function.

If a resource is converted to an integer, then the result will be the unique resource number assigned to the resource by PHP at runtime.

See also Type Juggling.

From booleans

FALSE will yield 0 (zero), and TRUE will yield 1 (one).

From floating point numbers

When converting from float to integer, the number will be rounded towards zero.

If the float is beyond the boundaries of integer (usually +/- 2.15e+9 = 2^31 on 32-bit platforms and +/- 9.22e+18 = 2^63 on 64-bit platforms other than Windows), the result is undefined, since the float doesn't have enough precision to give an exact integer result. No warning, not even a notice will be issued when this happens!

Hinweis:

As of PHP 7.0.0, instead of being undefined and platform-dependent, NaN and Infinity will always be zero when cast to integer.

Warnung

Never cast an unknown fraction to integer, as this can sometimes lead to unexpected results.

<?php
echo (int) ( (0.1+0.7) * 10 ); // echoes 7!
?>

See also the warning about float precision.

From strings

See String conversion to numbers

From other types

Achtung

The behaviour of converting to integer is undefined for other types. Do not rely on any observed behaviour, as it can change without notice.

Booleans
Floating point numbers
Typen


Floating point numbers

Floating point numbers (also known as "floats", "doubles", or "real numbers") can be specified using any of the following syntaxes:

<?php
$a = 1.234;
$b = 1.2e3;
$c = 7E-10;
?>

Formally:

LNUM          [0-9]+
DNUM          ([0-9]*[\.]{LNUM}) | ({LNUM}[\.][0-9]*)
EXPONENT_DNUM [+-]?(({LNUM} | {DNUM}) [eE][+-]? {LNUM})

The size of a float is platform-dependent, although a maximum of ~1.8e308 with a precision of roughly 14 decimal digits is a common value (the 64 bit IEEE format).

Warnung

Floating point precision

Floating point numbers have limited precision. Although it depends on the system, PHP typically uses the IEEE 754 double precision format, which will give a maximum relative error due to rounding in the order of 1.11e-16. Non elementary arithmetic operations may give larger errors, and, of course, error propagation must be considered when several operations are compounded.

Additionally, rational numbers that are exactly representable as floating point numbers in base 10, like 0.1 or 0.7, do not have an exact representation as floating point numbers in base 2, which is used internally, no matter the size of the mantissa. Hence, they cannot be converted into their internal binary counterparts without a small loss of precision. This can lead to confusing results: for example, floor((0.1+0.7)*10) will usually return 7 instead of the expected 8, since the internal representation will be something like 7.9999999999999991118....

So never trust floating number results to the last digit, and do not compare floating point numbers directly for equality. If higher precision is necessary, the arbitrary precision math functions and gmp functions are available.

For a "simple" explanation, see the » floating point guide that's also titled "Why don’t my numbers add up?"

Converting to float

For information on converting strings to float, see String conversion to numbers. For values of other types, the conversion is performed by converting the value to integer first and then to float. See Converting to integer for more information. As of PHP 5, a notice is thrown if an object is converted to float.

Comparing floats

As noted in the warning above, testing floating point values for equality is problematic, due to the way that they are represented internally. However, there are ways to make comparisons of floating point values that work around these limitations.

To test floating point values for equality, an upper bound on the relative error due to rounding is used. This value is known as the machine epsilon, or unit roundoff, and is the smallest acceptable difference in calculations.

$a and $b are equal to 5 digits of precision.

<?php
$a = 1.23456789;
$b = 1.23456780;
$epsilon = 0.00001;

if(abs($a-$b) < $epsilon) {
    echo "true";
}
?>

NaN

Some numeric operations can result in a value represented by the constant NAN. This result represents an undefined or unrepresentable value in floating-point calculations. Any loose or strict comparisons of this value against any other value, including itself, but except TRUE, will have a result of FALSE.

Because NAN represents any number of different values, NAN should not be compared to other values, including itself, and instead should be checked for using is_nan().

Integers
Strings
Typen


Strings

Ein String stellt eine Kette von Zeichen dar indem ein Zeichen gleichbedeutend mit einem Byte ist. Das bedeutet, es gibt exakt 256 mögliche Zeichen. Es impliziert zudem, dass PHP keine native Unterstützung von Unicode bietet. Siehe auch utf8_encode() und utf8_decode() zur Basis-Unicode Funktionalität.

Hinweis: Eine Zeichenkette (String) kann bis zu 2GB (maximal 2147483647 bytes) groß werden.

Syntax

Ein String-Literal kann auf vier unterschiedliche Arten spezifiziert werden:

  • einfache Anführungszeichen
  • doppelte Anführungszeichen
  • Heredoc Syntax
  • Nowdoc Syntax (since PHP 5.3.0)

Einfache Anführungszeichen

Der einfachste Weg einen String zu spezifizieren, ist ihn mit einfachen Anführungszeichen (das Zeichen ') zu umschließen.

Um ein einfaches Anführungszeichen hierin anzugeben, fügen sie einen Backslash (\) vor dem Zeichen ein. Um einen Backslash vor einem einfachen Anführungszeichen im String oder am Ende des Strings zu verwenden, verdoppeln sie es (\\). Sollten vor ein beliebiges anderes Zeichen einen Backslash setzen, wird dieser mit ausgegeben.

Hinweis: Im Gegensatz zu den anderen Syntax werden Variablen und Escape-Sequenzen für Sonderzeichen nicht maskiert (ersetzt) wenn sie in einem mit einfachen Anführungszeichen umschlossenen String erscheinen.

<?php
echo 'dies ist ein einfacher String';

echo 'Sie können auch Zeilenumbrüche
in dieser Art angeben,
dies ist okay so';

// Gibt aus: Arnold sagte einst: "I'll be back"
echo 'Arnold sagte einst: "I\'ll be back"';

// Ausgabe: Sie löschten C:\*.*?
echo 'Sie löschten C:\\*.*?';

// Ausgabe: Sie löschten C:\*.*?
echo 'Sie löschten C:\*.*?';

// Ausgabe: Dies erzeugt keinen: \n Zeilenumbruch
echo 'Dies erzeugt keinen: \n Zeilenumbruch';

// Ausgabe: Variablen werden $ebenfalls $nicht ersetzt
echo 'Variablen werden $ebenfalls $nicht ersetzt';
?>

Doppelte Anführungszeichen

Wenn der String in doppelte Anführungszeichen (") eingeschlossen wird, interpretiert PHP zusätzliche Escape-Sequenzen für Sonderzeichen:

Maskierte Zeichen
Sequenz | Bedeutung
\n | Zeilenumbruch (LF or 0x0A (10) in ASCII)
\r | Wagenrücklauf (CR or 0x0D (13) in ASCII)
\t | horizontaler Tabulator (HT or 0x09 (9) in ASCII)
\v | vertikaler Tabulator (VT or 0x0B (11) in ASCII) (since PHP 5.2.5)
\f | Seitenvorschub (FF or 0x0C (12) in ASCII) (since PHP 5.2.5)
\\ | Backslash (Rückstrich)
\$ | Dollar-Zeichen
\" | doppelte Anführungszeichen
\[0-7]{1,3} | the sequence of characters matching the regular expression is a character in octal notation
\x[0-9A-Fa-f]{1,2} | the sequence of characters matching the regular expression is a character in hexadecimal notation

Wie bei Strings in einfachen Anführungszeichen wird beim maskieren aller anderen Zeichen der Backslash mit ausgegeben. Vor PHP 5.1.1 wurde der Rückstrich vor \{$var} nicht ausgegeben.

Das Expandieren von Varibalen-Namen ist eine der wichtigsten Besonderheiten von in doppelten Anführungszeichen angegebenen Strings. Siehe hierzu string parsing für weitere Details.

Heredoc

Ein dritter Weg Strings zu begrenzen, stellt die Heredoc-Syntax dar: <<<. Nach diesem Operator wird ein beliebiger Bezeichner angegeben, dann eine neue Zeile. Hiernach folgt der eigentliche String und abschließend erneut der Bezeichner um die Auszeichnung abzuschließen.

Der schließende Bezeichner muss in der ersten Spalte der Zeile beginnen. Zudem muss dieser sich an die selben Namensregeln wie jede andere Kennung in PHP halten: es darf nur alphanumerische Zeichen und den Unterstrich enthalten und muss mit einem Buchstaben oder dem Unterstrich beginngen.

Warnung

Es ist sehr wichtig, dass die Zeile mit dem schließenden Bezeichner keine anderen Zeichen, außer möglicherweise einem Semikolon (;), enthält. Das heißt insbesondere auch, dass der Bezeichner nicht eingerückt wird und auch keine Leerzeichen oder Tabulatoren vor oder nach dem Semikolon bestehen. Zudem muss das erste Zeichen vor dem schließenden Bezeichner eine neue Zeile sein, so wie sie vom Betriebssystem definiert wird. In UNIX Systemen, auch Mac OS X, ist dies \n. Auf den schließenden Bezeichner (möglicherweise gefolgt von einem Semikolon) muss zudem ebenfalls eine neue Zeile folgen.

Wenn diese Regel gebrochen wird und der schließende Bezeichner nicht valide ist, wird er nicht als Bezeichner angenommen und PHP wird weiter nach einem solchen schließenden Bezeichner suchen. Wird kein gültiger schließender Bezeichner vor dem Dateiende gefunden, gibt PHP einen, auf die letzte Zeile der Datei zeigenden, Parser-Fehler aus.

Heredocs können nicht zur Initialisierung von Klassen-Eigenschaften benutzt werden. Benutzen Sie stattdessen nowdocs.

Beispiel #1 Ungültiges Beispiel

<?php
class foo {
    public $bar = <<<EOT
bar
EOT;
}
?>

Heredoc text behaves just like a double-quoted string, without the double quotes. This means that quotes in a heredoc do not need to be escaped, but the escape codes listed above can still be used. Variables are expanded, but the same care must be taken when expressing complex variables inside a heredoc as with strings.

Beispiel #2 Heredoc string quoting example

<?php
$str = <<<EOD
Example of string
spanning multiple lines
using heredoc syntax.
EOD;

/* More complex example, with variables. */
class foo
{
    var $foo;
    var $bar;

    function foo()
    {
        $this->foo = 'Foo';
        $this->bar = array('Bar1', 'Bar2', 'Bar3');
    }
}

$foo = new foo();
$name = 'MyName';

echo <<<EOT
My name is "$name". I am printing some $foo->foo.
Now, I am printing some {$foo->bar[1]}.
This should print a capital 'A': \x41
EOT;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

My name is "MyName". I am printing some Foo.
Now I am printing some Bar2.
This should print a capital 'A': \x41

Hinweis:

Heredoc support was added in PHP 4.

Nowdoc

Nowdocs are to single-quoted strings what heredocs are to double-quoted strings. A nowdoc is specified similarly to a heredoc, but no parsing is done inside a nowdoc. The construct is ideal for embedding PHP code or other large blocks of text without the need for escaping. It shares some features in common with the SGML &lt;![CDATA[ ]]&gt; construct, in that it declares a block of text which is not for parsing.

A nowdoc is identified with the same <<< seqeuence used for heredocs, but the identifier which follows is enclosed in single quotes, e.g. <<<'EOT'. All the rules for heredoc identifiers also apply to nowdoc identifiers, especially those regarding the appearance of the closing identifier.

Beispiel #3 Nowdoc string quoting example

<?php
$str = <<<'EOD'
Example of string
spanning multiple lines
using nowdoc syntax.
EOD;

/* More complex example, with variables. */
class foo
{
    var $foo;
    var $bar;

    function foo()
    {
        $this->foo = 'Foo';
        $this->bar = array('Bar1', 'Bar2', 'Bar3');
    }
}

$foo = new foo();
$name = 'MyName';

echo <<<'EOT'
My name is "$name". I am printing some $foo->foo.
Now, I am printing some {$foo->bar[1]}.
This should not print a capital 'A': \x41
EOT;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

My name is "$name". I am printing some $foo->foo.
Now, I am printing some {$foo->bar[1]}.
This should not print a capital 'A': \x41

Hinweis:

Unlike heredocs, nowdocs can be used in any static data context. The typical example is initializing class members or constants:

Beispiel #4 Static data example

<?php
class foo {
    public $bar = <<<'EOT'
bar
EOT;
}
?>

Hinweis:

Nowdoc support was added in PHP 5.3.0.

Variable parsing

When a string is specified in double quotes or with heredoc, variables are parsed within it.

There are two types of syntax: a simple one and a complex one. The simple syntax is the most common and convenient. It provides a way to embed a variable, an array value, or an object property in a string with a minimum of effort.

The complex syntax was introduced in PHP 4, and can be recognised by the curly braces surrounding the expression.

Simple syntax

If a dollar sign ($) is encountered, the parser will greedily take as many tokens as possible to form a valid variable name. Enclose the variable name in curly braces to explicitly specify the end of the name.

<?php
$beer = 'Heineken';
echo "$beer's taste is great"; // works; "'" is an invalid character for variable names
echo "He drank some $beers";   // won't work; 's' is a valid character for variable names
echo "He drank some ${beer}s"; // works
echo "He drank some {$beer}s"; // works
?>

Similarly, an array index or an object property can be parsed. With array indices, the closing square bracket (]) marks the end of the index. The same rules apply to object properties as to simple variables.

<?php
// These examples are specific to using arrays inside of strings.
// When outside of a string, always quote array string keys and do not use
// {braces}.

// Show all errors
error_reporting(E_ALL);

$fruits = array('strawberry' => 'red', 'banana' => 'yellow');

// Works, but note that this works differently outside a string
echo "A banana is $fruits[banana].";

// Works
echo "A banana is {$fruits['banana']}.";

// Works, but PHP looks for a constant named banana first, as described below.
echo "A banana is {$fruits[banana]}.";

// Won't work, use braces.  This results in a parse error.
echo "A banana is $fruits['banana'].";

// Works
echo "A banana is " . $fruits['banana'] . ".";

// Works
echo "This square is $square->width meters broad.";

// Won't work. For a solution, see the complex syntax.
echo "This square is $square->width00 centimeters broad.";
?>

For anything more complex, you should use the complex syntax.

Complex (curly) syntax

This isn't called complex because the syntax is complex, but because it allows for the use of complex expressions.

In fact, any value in the namespace can be included in a string with this syntax. Simply write the expression the same way as it would appeared outside the string, and then wrap it in { and }. Since { can not be escaped, this syntax will only be recognised when the $ immediately follows the {. Use {\$ to get a literal {$. Some examples to make it clear:

<?php
// Show all errors
error_reporting(E_ALL);

$great = 'fantastic';

// Won't work, outputs: This is { fantastic}
echo "This is { $great}";

// Works, outputs: This is fantastic
echo "This is {$great}";
echo "This is ${great}";

// Works
echo "This square is {$square->width}00 centimeters broad.";

// Works
echo "This works: {$arr[4][3]}";

// This is wrong for the same reason as $foo[bar] is wrong  outside a string.
// In other words, it will still work, but only because PHP first looks for a
// constant named foo; an error of level E_NOTICE (undefined constant) will be
// thrown.
echo "This is wrong: {$arr[foo][3]}";

// Works. When using multi-dimensional arrays, always use braces around arrays
// when inside of strings
echo "This works: {$arr['foo'][3]}";

// Works.
echo "This works: " . $arr['foo'][3];

echo "This works too: {$obj->values[3]->name}";

echo "This is the value of the var named $name: {${$name}}";

echo "This is the value of the var named by the return value of getName(): {${getName()}}";

echo "This is the value of the var named by the return value of \$object->getName(): {${$object->getName()}}";
?>

Hinweis:

Functions and method calls inside {$} work since PHP 5.

String access and modification by character

Characters within strings may be accessed and modified by specifying the zero-based offset of the desired character after the string using square array brackets, as in $str[42]. Think of a string as an array of characters for this purpose.

Hinweis: Strings may also be accessed using braces, as in $str{42}, for the same purpose. However, this syntax is deprecated as of PHP 6. Use square brackets instead.

Beispiel #5 Some string examples

<?php
// Get the first character of a string
$str = 'This is a test.';
$first = $str[0];

// Get the third character of a string
$third = $str[2];

// Get the last character of a string.
$str = 'This is still a test.';
$last = $str[strlen($str)-1];

// Modify the last character of a string
$str = 'Look at the sea';
$str[strlen($str)-1] = 'e';

?>

Hinweis:

Accessing variables of other types using [] or {} silently returns NULL.

Useful functions and operators

Strings may be concatenated using the '.' (dot) operator. Note that the '+' (addition) operator will not work for this. See String operators for more information.

There are a number of useful functions for string manipulation.

See the string functions section for general functions, and the regular expression functions or the Perl-compatible regular expression functions for advanced find & replace functionality.

There are also functions for URL strings, and functions to encrypt/decrypt strings (mcrypt and mhash).

Finally, see also the character type functions.

Converting to string

A value can be converted to a string using the (string) cast or the strval() function. String conversion is automatically done in the scope of an expression where a string is needed. This happens when using the echo or print functions, or when a variable is compared to a string. The sections on Types and Type Juggling will make the following clearer. See also the settype() function.

A boolean TRUE value is converted to the string "1". Boolean FALSE is converted to "" (the empty string). This allows conversion back and forth between boolean and string values.

An integer or float is converted to a string representing the number textually (including the exponent part for floats). Floating point numbers can be converted using exponential notation (4.1E+6).

Hinweis:

The decimal point character is defined in the script's locale (category LC_NUMERIC). See the setlocale() function.

Arrays are always converted to the string "Array"; because of this, echo and print can not by themselves show the contents of an array. To view a single element, use a construction such as echo $arr['foo']. See below for tips on viewing the entire contents.

Objects in PHP 4 are always converted to the string "Object". To print the values of object members for debugging reasons, read the paragraphs below. To get an object's class name, use the get_class() function. As of PHP 5, the __toString method is used when applicable.

Resources are always converted to strings with the structure "Resource id #1", where 1 is the unique number assigned to the resource by PHP at runtime. Do not rely upon this structure; it is subject to change. To get a resource's type, use the get_resource_type() function.

NULL is always converted to an empty string.

As stated above, directly converting an array, object, or resource to a string does not provide any useful information about the value beyond its type. See the functions print_r() and var_dump() for more effective means of inspecting the contents of these types.

Most PHP values can also be converted to strings for permanent storage. This method is called serialization, and is performed by the serialize() function. If the PHP engine was built with WDDX support, PHP values can also be serialized as well-formed XML text.

String conversion to numbers

When a string is evaluated in a numeric context, the resulting value and type are determined as follows.

The string will be evaluated as a float if it contains any of the characters '.', 'e', or 'E'. Otherwise, it will be evaluated as an integer.

The value is given by the initial portion of the string. If the string starts with valid numeric data, this will be the value used. Otherwise, the value will be 0 (zero). Valid numeric data is an optional sign, followed by one or more digits (optionally containing a decimal point), followed by an optional exponent. The exponent is an 'e' or 'E' followed by one or more digits.

<?php
$foo = 1 + "10.5";                // $foo is float (11.5)
$foo = 1 + "-1.3e3";              // $foo is float (-1299)
$foo = 1 + "bob-1.3e3";           // $foo is integer (1)
$foo = 1 + "bob3";                // $foo is integer (1)
$foo = 1 + "10 Small Pigs";       // $foo is integer (11)
$foo = 4 + "10.2 Little Piggies"; // $foo is float (14.2)
$foo = "10.0 pigs " + 1;          // $foo is float (11)
$foo = "10.0 pigs " + 1.0;        // $foo is float (11)
?>

For more information on this conversion, see the Unix manual page for strtod(3).

To test any of the examples in this section, cut and paste the examples and insert the following line to see what's going on:

<?php
echo "\$foo==$foo; type is " . gettype ($foo) . "<br />\n";
?>

Do not expect to get the code of one character by converting it to integer, as is done in C. Use the ord() and chr() functions to convert between ASCII codes and characters.

Floating point numbers
Arrays
Typen


Arrays

Ein Array in PHP ist tatsächlich eine geordnete Map. Eine Map ist ein Typ, der Werte zu Schlüsseln zuordnet. Dieser Typ ist für einige verschiedene Nutzungsarten optimiert. Er kann als ein Array verwendet werden, als Liste (Vektor), Hash Table (eine Implementierung einer Map), Dictionary, Collection, Stack, Queue und wahrscheinlich noch als vieles anderes. Da ein Wert eines Arrays ein weiteres Array sein kann, sind auch Bäume und mehrdimensionale Arrays möglich.

Die Erläuterung dieser Datenstrukturen liegt nicht im Rahmen dieses Handbuches, aber wenigstens ein Beispiel für jede ist hier angegeben. Um weitere Informationen zu erhalten wird auf die immense Literatur zu diesem weiten Feld verwiesen.

Syntax

Spezifizierung mittels array()

Ein Array kann durch das Sprachkonstrukt array() erzeugt werden. Dies nimmt eine beliebige Anzahl kommaseparierter Schlüssel => Wert- Paare als Parameter entgegen.

array(
    Schlüssel  => Wert,
    Schlüssel2 => Wert2,
    Schlüssel3 => Wert3,
    ...
)

Das Komma nach dem letzten Array-Element ist optional und kann weggelassen werden. Dies wird üblicherweise in einzeiligen Arrays getan, d.h. array(1, 2) wird der Schreibweise array(1, 2, ) vorgezogen. Andererseits wird bei mehrzeiligen Arrays das Komma am Ende üblicherweise genutzt, da dies ein einfaches Hinzufügen weiterer Elemente am Ende erlaubt.

Seit PHP 5.4 kann auch eine kurze Array-Syntax verwendet werden, welche array() durch [] ersetzt.

Beispiel #1 Ein einfaches Array

<?php
$array = array(
    "foo" => "bar",
    "bar" => "foo",
);

// seit PHP 5.4
$array = [
    "foo" => "bar",
    "bar" => "foo",
];
?>

Der Schlüssel kann entweder ein Integer oder ein String sein. Der Wert kann beliebige Datentypen annehmen.

Zusätzlich werden die folgenden Typkonvertierungen auf den Schlüssel angewendet:

  • Strings, die einen gültigen Integer enthalten, werden zum entsprechenden Integer umgewandelt. Beispielsweise wird der Schlüssel "8" tatsächlich unter 8 gespeichert. Andererseits wird "08" nicht umgewandelt, da dies kein gültiger Ganzzahlwert ist.
  • Floats werden ebenfalls zu Integer umgewandelt, was ein Abschneiden des Dezimalbruches zur Folge hat. Beispielsweise wird der Schlüssel 8.7 als 8 gespeichert.
  • Bools werden ebenfalls zu Integer umgewandelt, d.h. der Schlüssel true wird unter 1 gespeichert und der Schlüssel false unter 0.
  • Null wird zu einem leeren String umgewandelt, d.h. der Schlüssel null wird tatsächlich unter "" gespeichert.
  • Werte vom typ Array oder Object können nicht als Schlüssel verwendet werden. Ein Versuch dies zu tun wird die Warnung Illegal offset type zur Folge haben.

Wenn mehrere Elemente in einer Array-Deklaration den gleichen Schlüssel verwenden, dann wird nur der letzte verwendet und alle weiteren überschrieben.

Beispiel #2 Beispiel für Typenumwandlung und Überschreibung

<?php
$array = array(
    1    => "a",
    "1"  => "b",
    1.5  => "c",
    true => "d",
);
var_dump($array);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(1) {
  [1]=>
  string(1) "d"
}

Da alle Schlüssel im obigen Beispiel zu 1 umgewandelt werden, wird der Wert dieses Elements durch jeden angegebenen Wert überschrieben und nur der letzte zugewiesene Wert "d" bleibt übrig.

Arrays können in PHP gleichzeitig Schlüssel der Typen Integer und String enthalten, da PHP nicht zwischen indizierten und assoziativen Arrays unterscheidet.

Beispiel #3 Gemischte Integer und String Schlüssel

<?php
$array = array(
    "foo" => "bar",
    "bar" => "foo",
    100   => -100,
    -100  => 100,
);
var_dump($array);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(4) {
  ["foo"]=>
  string(3) "bar"
  ["bar"]=>
  string(3) "foo"
  [100]=>
  int(-100)
  [-100]=>
  int(100)
}

Die Angabe des Schlüssel ist optional.Ist keiner angegeben, so wird PHP den bisher größten angegebenen Integer Schlüssel erhöhen und das Ergebnis als Schlüssel verwenden.

Beispiel #4 Indizierte Arrays ohne Schlüssel

<?php
$array = array("foo", "bar", "hello", "world");
var_dump($array);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(4) {
  [0]=>
  string(3) "foo"
  [1]=>
  string(3) "bar"
  [2]=>
  string(5) "hello"
  [3]=>
  string(5) "world"
}

Es ist auch möglich den Schlüssel nur bei einigen Elementen anzugeben und bei anderen auszulassen:

Beispiel #5 Schlüssel nicht bei allen Elementen

<?php
$array = array(
         "a",
         "b",
    6 => "c",
         "d",
);
var_dump($array);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(4) {
  [0]=>
  string(1) "a"
  [1]=>
  string(1) "b"
  [6]=>
  string(1) "c"
  [7]=>
  string(1) "d"
}

Wie Sie sehen können, wurde dem letzten Wert "d" der Schlüssel 7 zugewiesen. Dies erfolgte, da der größte vorherige ganzzahlige Schlüssel 6 war.

Zugriff auf Elemente mit eckigen Klammern

Auf Elemente eines Arrays kann durch Verwendung der Syntax array[Schlüssel] zugegriffen werden.

Beispiel #6 Zugriff auf Array-Elemente

<?php
$array = array(
    "foo" => "bar",
    42    => 24,
    "multi" => array(
         "dimensional" => array(
             "array" => "foo"
         )
    )
);

var_dump($array["foo"]);
var_dump($array[42]);
var_dump($array["multi"]["dimensional"]["array"]);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(3) "bar"
int(24)
string(3) "foo"

Hinweis:

Sowohl eckige als auch geschweifte Klammern können verwendet werden, um auf die Elemente eines Arrays zuzugreifen (z.B. werden im obigen Beispiel $array[42] und array{42} auf das gleiche Element zugreifen).

Seit PHP 5.4 ist es möglich ein Array aus dem Rückgabewert eines Funktion- oder Methodenaufrufs direkt zu dereferenzieren. Vorher war dies nur über temporäre Variablen möglich.

Seit PHP 5.5 ist es möglich ein Array-Literal zu dereferenzieren.

Beispiel #7 Array-Dereferenzierung

<?php
function getArray() {
    return array(1, 2, 3);
}

// seit PHP 5.4
$secondElement = getArray()[1];

// vorher
$tmp = getArray();
$secondElement = $tmp[1];

// oder
list(, $secondElement) = getArray();
?>

Hinweis:

Der Versuch auf einen nicht definierten Arrayschlüssel zuzugreifen ist gleichwertig zum Zugriff auf jede andere undefinierte Variable: ein Fehler der Stufe E_NOTICE wird ausgegeben und das Ergebnis ist NULL.

Hinweis:

Array-Dereferenzierung eines skalaren Werts, der kein String ist, ergibt NULL ohne dass eine Fehlermeldung erzeugt wird.

Anlegen/Ändern mit eckigen Klammern

Ein bestehendes Array kann verändert werden, indem man explizit Werte darin setzt.

Dies wird getan, indem man Werte dem Array zuweist, und dabei den Schlüssel in eckigen Klammern angibt. Der Schlüssel kann dabei weggelassen werden, woraus ein leeres Klammernpaar resultiert ([]).

$arr[Schlüssel] = Wert;
$arr[] = Wert;
// Schlüssel kann ein Integer oder String sein
// Wert kann einen beliebigen Typen haben

Falls $arr noch nicht existiert, wird es erzeugt; dies ist also eine alternative Methode, um ein Array zu erzeugen. Dieses Vorgehen wird jedoch nicht empfohlen, da falls $arr bereits einen Wert enthält (z.B. ein String aus einer Requestvariablen), bleibt dieser Wert bestehen und [] kann tatsächlich für den String-Zugriffs-Operator stehen. Es ist immer besser eine Variable durch direkte Zuweisung zu initialisieren.

Hinweis: Seit PHP 7.1.0 wirft die Anwendung des leeren Index-Operators auf eine Zeichenkette einen fatalen Fehler. Zuvor wurde die Zeichenkette stillschweigend in ein Array umgewandelt.

Um einen bestimmten Wert zu ändern, kann man einen Wert zum Element anhand dessen Schlüssel zuweisen. Um ein Schlüssel-Wert-Paar zu entfernen, kann man die Funktion unset() darauf anwenden.

<?php
$arr = array(5 => 1, 12 => 2);

$arr[] = 56;    // Dies ist das selbe wie $arr[13] = 56;
                // an dieser Stelle im Programmablauf

$arr["x"] = 42; // Dies fügt ein neues Element zum Array
                // mit dem Schlüssel "x" hinzu

unset($arr[5]); // Dies entfernt das Element aus dem
                // Array

unset($arr);    // Dies löscht das gesamte Array
?>

Hinweis:

Wie vorher bereits erwähnt wird das Maximum der bestehenden Schlüssel vom Typ Integer verwendet, wenn kein Schlüssel angegeben ist, und der neue Schlüssel wird das Maximum plus 1 sein (aber mindestens 0). Wenn noch kein Integer-Schlüssel existiert wird der schlüssel 0 (Null) verwendet.

Beachten Sie, dass der Maximalwert der Integer-Schlüssel dafür aktuell nicht im Array existieren muss. Er muss nur zu einem vorherigen Zeitpunkt im Array existiert haben seitdem das Array zuletzt neu indiziert wurde. Das folgende Beispiel erläutert dies:

<?php
// Create a simple array.
$array = array(1, 2, 3, 4, 5);
print_r($array);

// Nun wird jeder Wert gelöscht, aber das Array selbst bleibt bestehen
foreach ($array as $i => $value) {
    unset($array[$i]);
}
print_r($array);

// Ein Element wird hinzugefügt
// (Beachten Sie, dass der neue Schlüssel 5 ist statt 0)
$array[] = 6;
print_r($array);

// Neue Indizierung
$array = array_values($array);
$array[] = 7;
print_r($array);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)
Array
(
)
Array
(
    [5] => 6
)
Array
(
    [0] => 6
    [1] => 7
)

Nützliche Funktionen

Es gibt einige nützliche Funktionen für die Arbeit mit Arrays, die im Abschnitt Array-Funktionen nachgeschlagen werden können.

Hinweis:

Die Funktion unset() erlaubt es, Schlüssel aus einem Array zu entfernen. Beachten Sie dabei, dass das Array nicht neu indiziert wird. Falls ein echtes Verhalten von "Entfernen und Verschieben" gewünscht ist, dann kann das Array mittels array_values() neu indiziert werden.

<?php
$a = array(1 => 'one', 2 => 'two', 3 => 'three');
unset($a[2]);
/* dies wird ein Array erzeugen, das wie folgt definiert worden wäre
   $a = array(1 => 'one', 3 => 'three');
   und nicht so
   $a = array(1 => 'one', 2 =>'three');
*/

$b = array_values($a);
// Nun ist $b array(0 => 'one', 1 =>'three')
?>

Die Kontrollstruktur foreach existiert speziell für Arrays. Sie bietet eine einfache Möglichkeit, ein Array zu durchlaufen.

Do's und Dont's für Arrays

Wieso ist $foo[bar] falsch?

Verwenden Sie immer Anführungszeichen um ein Arrayindex-Zeichenkettenliteral. Beispielsweise ist $foo['bar'] richtig, $foo[bar] hingegen nicht. Aber wieso? Es ist üblich die folgende Schreibweise in alten Skripten zu finden:

<?php
$foo[bar] = 'enemy';
echo $foo[bar];
// etc
?>

Dies ist falsch, funktioniert aber. Der Grund dafür ist, dass dieser Code eine undefinierte Konstante (bar) anstatt eines String verwendet ('bar' - beachten Sie die Anführungszeichen). Dies funktioniert, da PHP automatisch einen nackten String (ein String ohne Anführungszeichen welcher nicht einem bekannten Symbol entspricht) in einen String umwandelt, welcher den nackten String enthält. Beispielsweise wird, wenn keine Konstante namens bar definiert ist, PHP diese automatisch durch den String 'bar' ersetzen und verwenden.

Hinweis: Dies bedeutet nicht, dass man den Schlüssel immer in Anführungszeichen schreiben muss. Schreiben Sie keine Schlüssel in Anführungszeichen, welche Konstanten oder Variablen sind, da dies PHP daran hindern wird, diese zu interpretieren.

<?php
error_reporting(E_ALL);
ini_set('display_errors', true);
ini_set('html_errors', false);
// Simples Array:
$array = array(1, 2);
$count = count($array);
for ($i = 0; $i < $count; $i++) {
    echo "\nPrüfe $i: \n";
    echo "Schlecht: " . $array['$i'] . "\n";
    echo "Gut: " . $array[$i] . "\n";
    echo "Schlecht: {$array['$i']}\n";
    echo "Gut: {$array[$i]}\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Prüfe 0:
Notice: Undefined index:  $i in /path/to/script.html on line 9
Schlecht:
Gut: 1
Notice: Undefined index:  $i in /path/to/script.html on line 11
Schlecht:
Gut: 1

Prüfe 1:
Notice: Undefined index:  $i in /path/to/script.html on line 9
Schlecht:
Gut: 2
Notice: Undefined index:  $i in /path/to/script.html on line 11
Schlecht:
Gut: 2

Weitere Beispiele zur Erläuterung dieses Verhaltens:

<?php
// Alle Fehler anzeigen
error_reporting(E_ALL);

$arr = array('fruit' => 'apple', 'veggie' => 'carrot');

// Korrekt
print $arr['fruit'];  // apple
print $arr['veggie']; // carrot

// Inkorrekt. Dies Funktioniert, aber PHP wirft einen Fehler der Stufe
// E_NOTICE, da eine undefinierte Konstante namens fruit verwendet wird
//
// Notice: Use of undefined constant fruit - assumed 'fruit' in...
print $arr[fruit];    // apple

// Dies definiert eine Konstante, um darzustellen was hier passiert. Der Wert
// 'veggie' wird einer Konstanten namens fruit zugewiesen
define('fruit', 'veggie');

// Beachten Sie nun den Unterschied
print $arr['fruit'];  // apple
print $arr[fruit];    // carrot

// Hier ist es in Ordnung, da dies innerhalb eines String ist. Innerhalb eines
// Strings wird nicht nach Konstanten gesucht, weshalb kein E_NOTICE auftritt
print "Hello $arr[fruit]";      // Hello apple

// Mit einer Ausnahme: Klammern um ein Array sorgen dafür, dass Konstanten
// interpretiert werden
print "Hello {$arr[fruit]}";    // Hello carrot
print "Hello {$arr['fruit']}";  // Hello apple

// Dies wird nicht funktionieren und zu einem Parse-Fehler führen:
// Parse error: parse error, expecting T_STRING' or T_VARIABLE' or T_NUM_STRING'
// Dies gilt natürlich ebenso für superglobale Werte innerhalb von Strings
print "Hello $arr['fruit']";
print "Hello $_GET['foo']";

// Konkatenation ist eine weitere Möglichkeit
print "Hello " . $arr['fruit']; // Hello apple
?>

Wenn error_reporting so eingestellt wird, dass Fehler der Stufe E_NOTICE angezeigt werden (indem man es beispielsweise auf E_ALL stellt), so wird diese Verwendung sofort sichtbar. Standardmäßig zeigt error_reporting keine Hinweise.

Wie im Abschnitt zur Syntax gezeigt, muss der Inhalt der eckigen Klammern '[' und ']') ein Ausdruck sein. Das bedeutet dass folgendes funktioniert:

<?php
echo $arr[somefunc($bar)];
?>

Dieses Beispiel zeigt, wie der Rückgabewert einer Funktion als Arrayindex verwendet wird. PHP kann auch Konstanten auflösen:

<?php
$error_descriptions[E_ERROR]   = "Ein fataler Fehler ist aufgetreten";
$error_descriptions[E_WARNING] = "PHP hat eine Warnung ausgegeben";
$error_descriptions[E_NOTICE]  = "Dies ist nur ein informeller Hinweis";
?>

Beachten Sie, dass E_ERROR ein gültiger Bezeichner ist, genau wie bar im ersten Beispiel. Das vorherige Beispiel ist gleichbedeutend mit:

<?php
$error_descriptions[1] = "Ein fataler Fehler ist aufgetreten";
$error_descriptions[2] = "PHP hat eine Warnung ausgegeben";
$error_descriptions[8] = "Dies ist nur ein informeller Hinweis";
?>

da E_ERROR gleich 1 ist usw.

Wieso ist es also schlecht?

Irgendwann in der Zukunft könnte das PHP-Team eine weitere Konstante oder ein Schlüsselwort hinzufügen oder eine Kostante in anderem Code könnte Einfluss nehmen. Es ist beispielsweise bereits falsch die Wörter empty oder default so zu schreiben, da dies reservierte Schlüsselwörter sind.

Hinweis: Zur Wiederholung: innerhalb eines String in doppelten Anführungszeichen ist es korrekt einen Arrayschlüssel ohne Anführungszeichen zu schreiben wie "$foo[bar]". Die obigen Beispiele erklären dies ebenso wie der Abschnitt zum Parsen von Variablen in Strings.

Konvertierung zu Array

Für jeden der Typen Integer, Float, String, Boolean und Resource führt eine Konvertierung eines Wertes in ein Array zu einem Array mit einem einzigen Wert mit dem Index Null und dem Wert des Skalaren, der konvertiert wurde. Anders ausgedrückt ist (array)$scalarValue exakt identisch mit array($scalarValue).

Wenn ein Object in ein Array konvertiert wird, so ist das Ergebnis ein Array dessen Werte die Eigenschaften des Objects sind. Die Schlüssel sind die Namen der Eigenschaften des Objektes mit einigen Ausnahmen: Eigenschaften mit Ganzzahl-Namen sind nicht zugreifbar, privaten Variablen wird der Name der Klasse vorangestellt und protected Variablen wird dem Variablenamen ein '*' vorangestellt. Diese vorangestellten Werte haben Null-Bytes auf beiden Seiten. Dies kann zu unerwartetem Verhalten führen:

<?php

class A {
    private $A; // Dies wird zu '\0A\0A'
}

class B extends A {
    private $A; // Dies wird zu '\0B\0A'
    public $AA; // Dies wird zu 'AA'
}

var_dump((array) new B());
?>

Im obigen Beispiel scheint es zwei Schlüssel namens 'AA' zu geben, obwohl einer davon eigentlich '\0A\0A' ist.

Die Konvertierung von NULL in ein Array führt zu einem leeren Array.

Vergleiche

Es ist möglich Arrays mit der Funktion array_diff() und mit Array-Operatoren zu vergleichen.

Beispiele

Der Array-Typ in PHP ist sehr vielseitig. Hier sind einige Beispiele:

<?php
// Dies:
$a = array( 'color' => 'red',
            'taste' => 'sweet',
            'shape' => 'round',
            'name'  => 'apple',
            4        // Schlüssel wird 0 sein
          );

$b = array('a', 'b', 'c');

// . . .ist komplett gleichbedeutend mit:
$a = array();
$a['color'] = 'red';
$a['taste'] = 'sweet';
$a['shape'] = 'round';
$a['name']  = 'apple';
$a[]        = 4;        // Schlüssel wird 0 sein

$b = array();
$b[] = 'a';
$b[] = 'b';
$b[] = 'c';

// Nachdem der obige Code ausgeführt wurde wird $a das Array
// array('color' => 'red', 'taste' => 'sweet', 'shape' => 'round',
// 'name' => 'apple', 0 => 4) sein und $b wird das Array
// array(0 => 'a', 1 => 'b', 2 => 'c') oder einfach array('a', 'b', 'c')
// sein
?>

Beispiel #8 Verwendung von array()

<?php
// Array als Map von Eigenschaften
$map = array( 'version'    => 4,
              'OS'         => 'Linux',
              'lang'       => 'englisch',
              'short_tags' => true
            );

// Streng numerische Schlüssel
$array = array( 7,
                8,
                0,
                156,
                -10
              );
// das ist gleichbedeutend mit array(0 => 7, 1 => 8, ...)

$switching = array(         10, // Schlüssel = 0
                    5    =>  6,
                    3    =>  7,
                    'a'  =>  4,
                            11, // Schlüssel = 6 (Maximum der Integer-Schlüssel war 5)
                    '8'  =>  2, // Schlüssel = 8 (Integer!)
                    '02' => 77, // Schlüssel = '02'
                    0    => 12  // Der Wert 10 wird mit 12 überschrieben
                  );

// Leeres array
$empty = array();
?>

Beispiel #9 Collection

<?php
$colors = array('rot', 'blau', 'grün', 'gelb');

foreach ($colors as $color) {
    echo "Mögen sie $color?\n";
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Mögen sie rot?
Mögen sie blau?
Mögen sie grün?
Mögen sie gelb?

Die Veränderung der Werte eines Array ist mit der Übergabe als Referenz direkt möglich.

Beispiel #10 Elemente in der Schleife verändern

<?php
foreach ($colors as &$color) {
    $color = strtoupper($color);
}
unset($color); /* Sicherstellen, dass nachfolgende
Zugriffe auf $color nicht das letzte Element ändern */

print_r($colors);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => ROT
    [1] => BLAU
    [2] => GRÜN
    [3] => GELB
)

Dieses Beispiel erzeugt ein Array mit erstem Schlüssel 1.

Beispiel #11 1-basierte Indizes

<?php
$firstquarter  = array(1 => 'Januar', 'Februar', 'März');
print_r($firstquarter);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [1] => 'Januar'
    [2] => 'Februar'
    [3] => 'März'
)

Beispiel #12 Ein Array befüllen

<?php
// Dies füllt ein Array mit allen Einträgen eines Verzeichnisses
$handle = opendir('.');
while (false !== ($file = readdir($handle))) {
    $files[] = $file;
}
closedir($handle);
?>

Arrays sind geordnet. Die Reihenfolge kann durch verschiedene Sortierfunktionen verändert werden. Siehe Array-Funktionen für mehr Informationen. Die Funktion count() kann verwendet werden, um die Anzahl der Elemente eines Arrays zu ermitteln.

Beispiel #13 Ein Array sortieren

<?php
sort($files);
print_r($files);
?>

Da die Werte eines Array beliebig sein können, können diese auch andere Arrays sein. Dies ermöglicht die Erzeugung von rekursiven und mehrdimensionalen Arrays.

Beispiel #14 Rekursive und mehrdimensionale Arrays

<?php
$fruits = array ( "fruits"  => array ( "a" => "orange",
                                       "b" => "banana",
                                       "c" => "apple"
                                     ),
                  "numbers" => array ( 1,
                                       2,
                                       3,
                                       4,
                                       5,
                                       6
                                     ),
                  "holes"   => array (      "first",
                                       5 => "second",
                                            "third"
                                     )
                );

// Einige Beispiele um auf Werte in den obigen Beispielen zuzugreifen
echo $fruits["holes"][5];    // gibt "second" aus
echo $fruits["fruits"]["a"]; // gibt "orange" aus
unset($fruits["holes"][0]);  // entfernt "first"

// Ein neues mehrdimensionales Array erzeugen
$juices["apple"]["green"] = "good";
?>

Zuweisung von Arrays involviert immer eine Kopie der Werte. Verwenden Sie den Referenz-Operator um eine Kopie einer Referenz auf ein Array zu erzeugen.

<?php
$arr1 = array(2, 3);
$arr2 = $arr1;
$arr2[] = 4; // $arr2 wurde geändert,
             // $arr1 ist weiterhin array(2, 3)

$arr3 = &$arr1;
$arr3[] = 4; // nun sind $arr1 und $arr3 identisch
?>
Strings
Objekte
Typen


Objekte

Objekt Initialisierung

Um ein neues Objekt zu erstellen, nutzen Sie den new Befehl um ein Klasse zu instanziieren:

<?php
class foo
{
    function do_foo()
    {
        echo "Tue foo.";
    }
}

$bar = new foo;
$bar->do_foo();
?>

Für die komplette Diskussion, siehe im Kapitel Klassen und Objekte.

Konvertierung zu Objekt

Wenn ein Objekt zu einem Objekt konvertiert wird, wird es nicht verändert. Wenn ein Wert irgendeines anderen Typs zu einem Objekt konvertiert wird, dann wird eine neue Instanz der stdClass built-in Klasse erstellt. Wenn der Wert NULL war, wird die neue Instanz leer sein. Arrays konvertieren zu Objekten mit nach Schlüsseln benannten Eigenschaften und korrespondierenden Werten. Alle anderen Werte werden eine Mitglieds Variable genannt scalar und enthalten den Wert.

<?php
$obj = (object) array('1' => 'foo');
var_dump(isset($obj->{'1'})); // Ausgabe 'bool(false)'
var_dump(key($obj)); // Ausgabe 'int(1)'
?>

Für alle anderen Werte enthält eine Member-Variable namens scalar den Wert.

<?php
$obj = (object) 'ciao';
echo $obj->scalar;  // Ausgabe 'ciao'
?>
Arrays
Ressourcen
Typen


Ressourcen

Eine resource ist eine spezielle Variable, die eine Referenz zu einer externen Ressource darstellt. Ressourcen werden mit Hilfe spezieller Funktionen erzeugt und genutzt. Im Anhang finden Sie eine Liste all dieser Funktionen und der zugehörigen resource-Typen.

Siehe auch get_resource_type().

Konvertierung von Ressourcen

Da resource-Variablen spezielle Referenzen auf geöffnete Dateien, Datenbankverbindungen, Grafikbereiche usw. enthalten, ist die Konvertierung von resource nicht sinnvoll.

Resourcen freigeben

Dank der - mit der Zend Engine von PHP 4 eingeführten - Referenzzähler werden Ressourcen, die von keiner Variablen mehr referenziert werden, automatisch erkannt und vom Garbage Collector freigegeben. Aus diesem Grund ist es selten nötig, Speicher von Hand freizugeben.

Hinweis: Persistente Datenbankverbindungen sind eine Ausnahme von dieser Regel, sie werden nicht vom Garbage Collector entfernt. Mehr Informationen finden sie im Abschnitt Persistente Verbindungen.

Objekte
NULL
Typen


NULL

Der spezielle Wert NULL repräsentiert eine Variable ohne Wert. NULL ist der einzig mögliche Wert des Typs null.

Eine Variable gilt als vom Typ null wenn:

  • ihr die Konstante NULL zugewiesen wurde.

  • ihr noch kein Wert zugewiesen wurde.

  • sie mit unset() gelöscht wurde.

Syntax

Es gibt nur einen Wert vom Typ null: die Konstante NULL (Groß- und Kleinschreibung ist dabei nicht wichtig).

<?php
$var = NULL;
?>

Siehe auch die Funktionen is_null() und unset().

Umwandlung in NULL

Die Umwandlung einer Variable auf den Typ null durch (unset) $var entfernt die Variable nicht und löscht nicht ihren Inhalt. Es wird lediglich ein NULL Wert zurück gegeben.

Ressourcen
Callbacks / Callables
Typen


Callbacks / Callables

Callbacks can be denoted by callable type hint as of PHP 5.4. This documentation used callback type information for the same purpose.

Some functions like call_user_func() or usort() accept user-defined callback functions as a parameter. Callback functions can not only be simple functions, but also object methods, including static class methods.

Passing

A PHP function is passed by its name as a string. Any built-in
or user-defined function can be used, except language constructs such as:
array(), echo,
empty(), eval(),
exit(), isset(),
list(), print or
unset().

A method of an instantiated object is passed as an array containing an object at index 0 and the method name at index 1. Accessing protected and private methods from within a class is allowed.

Static class methods can also be passed without instantiating an object of that class by passing the class name instead of an object at index 0. As of PHP 5.2.3, it is also possible to pass 'ClassName::methodName'.

Apart from common user-defined function, anonymous functions can also be passed to a callback parameter.

Beispiel #1 Callback function examples

<?php

// An example callback function
function my_callback_function() {
    echo 'hello world!';
}

// An example callback method
class MyClass {
    static function myCallbackMethod() {
        echo 'Hello World!';
    }
}

// Type 1: Simple callback
call_user_func('my_callback_function');

// Type 2: Static class method call
call_user_func(array('MyClass', 'myCallbackMethod'));

// Type 3: Object method call
$obj = new MyClass();
call_user_func(array($obj, 'myCallbackMethod'));

// Type 4: Static class method call (As of PHP 5.2.3)
call_user_func('MyClass::myCallbackMethod');

// Type 5: Relative static class method call (As of PHP 5.3.0)
class A {
    public static function who() {
        echo "A\n";
    }
}

class B extends A {
    public static function who() {
        echo "B\n";
    }
}

call_user_func(array('B', 'parent::who')); // A

// Type 6: Objects implementing __invoke can be used as callables (since PHP 5.3)
class C {
    public function __invoke($name) {
        echo 'Hello ', $name, "\n";
    }
}

$c = new C();
call_user_func($c, 'PHP!');
?>

Beispiel #2 Callback example using a Closure

<?php
// Our closure
$double = function($a) {
    return $a * 2;
};

// This is our range of numbers
$numbers = range(1, 5);

// Use the closure as a callback here to
// double the size of each element in our
// range
$new_numbers = array_map($double, $numbers);

print implode(' ', $new_numbers);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

2 4 6 8 10

Hinweis:

Callbacks, die für Funktionen wie call_user_func() und call_user_func_array() registriert sind, werden nicht mehr ausgeführt, wenn in einem vorherigen Callback eine Exception geworfen und nicht gefangen wurde.

NULL
Pseudo-types and variables used in this documentation
Typen


Pseudo-types and variables used in this documentation

mixed

mixed indicates that a parameter may accept multiple (but not necessarily all) types.

gettype() for example will accept all PHP types, while str_replace() will accept strings and arrays.

number

number indicates that a parameter can be either integer or float.

callback

Some functions like call_user_func() or usort() accept user-defined callback functions as a parameter. Callback functions can not only be simple functions, but also object methods, including static class methods.

A PHP function is passed by its name as a string. Any built-in
or user-defined function can be used, except language constructs such as:
array(), echo,
empty(), eval(),
exit(), isset(),
list(), print or
unset().

A method of an instantiated object is passed as an array containing an object at index 0 and the method name at index 1.

Static class methods can also be passed without instantiating an object of that class by passing the class name instead of an object at index 0.

Apart from common user-defined function, create_function() can also be used to create an anonymous callback function.

Beispiel #1 Callback function examples

<?php

// An example callback function
function my_callback_function() {
    echo 'hello world!';
}

// An example callback method
class MyClass {
    static function myCallbackMethod() {
        echo 'Hello World!';
    }
}

// Type 1: Simple callback
call_user_func('my_callback_function');

// Type 2: Static class method call
call_user_func(array('MyClass', 'myCallbackMethod'));

// Type 3: Object method call
$obj = new MyClass();
call_user_func(array($obj, 'myCallbackMethod'));

// Type 4: Static class method call (As of PHP 5.2.3)
call_user_func('MyClass::myCallbackMethod');

// Type 5: Relative static class method call (As of PHP 5.3.0)
class A {
    public static function who() {
        echo "A\n";
    }
}

class B extends A {
    public static function who() {
        echo "B\n";
    }
}

call_user_func(array('B', 'parent::who')); // A
?>

Hinweis: In PHP4, it was necessary to use a reference to create a callback that points to the actual object, and not a copy of it. For more details, see References Explained.

void

void as a return type means that the return value is useless. void in a parameter list means that the function doesn't accept any parameters.

...

$... in function prototypes means and so on. This variable name is used when a function can take an endless number of arguments.

Callbacks / Callables
Type Juggling
Typen


Type Juggling

PHP does not require (or support) explicit type definition in variable declaration; a variable's type is determined by the context in which the variable is used. That is to say, if a string value is assigned to variable $var, $var becomes a string. If an integer value is then assigned to $var, it becomes an integer.

An example of PHP's automatic type conversion is the addition operator '+'. If either operand is a float, then both operands are evaluated as floats, and the result will be a float. Otherwise, the operands will be interpreted as integers, and the result will also be an integer. Note that this does not change the types of the operands themselves; the only change is in how the operands are evaluated and what the type of the expression itself is.

<?php
$foo = "0";  // $foo is string (ASCII 48)
$foo += 2;   // $foo is now an integer (2)
$foo = $foo + 1.3;  // $foo is now a float (3.3)
$foo = 5 + "10 Little Piggies"; // $foo is integer (15)
$foo = 5 + "10 Small Pigs";     // $foo is integer (15)
?>

If the last two examples above seem odd, see String conversion to numbers.

To force a variable to be evaluated as a certain type, see the section on Type casting. To change the type of a variable, see the settype() function.

To test any of the examples in this section, use the var_dump() function.

Hinweis:

The behaviour of an automatic conversion to array is currently undefined.

Also, because PHP supports indexing into strings via offsets using the same syntax as array indexing, the following example holds true for all PHP versions:

<?php
$a    = 'car'; // $a is a string
$a[0] = 'b';   // $a is still a string
echo $a;       // bar
?>

See the section titled String access by character for more information.

Type Casting

Type casting in PHP works much as it does in C: the name of the desired type is written in parentheses before the variable which is to be cast.

<?php
$foo = 10;   // $foo is an integer
$bar = (boolean) $foo;   // $bar is a boolean
?>

The casts allowed are:

  • (int), (integer) - cast to integer
  • (bool), (boolean) - cast to boolean
  • (float), (double), (real) - cast to float
  • (string) - cast to string
  • (binary) - cast to binary string (PHP 6)
  • (array) - cast to array
  • (object) - cast to object
  • (unset) - cast to NULL (PHP 5)

(binary) casting and b prefix forward support was added in PHP 5.2.1

Note that tabs and spaces are allowed inside the parentheses, so the following are functionally equivalent:

<?php
$foo = (int) $bar;
$foo = ( int ) $bar;
?>

Casting literal strings and variables to binary strings:

<?php
$binary = (binary)$string;
$binary = b"binary string";
?>

Hinweis:

Instead of casting a variable to a string, it is also possible to enclose the variable in double quotes.

<?php
$foo = 10;            // $foo is an integer
$str = "$foo";        // $str is a string
$fst = (string) $foo; // $fst is also a string

// This prints out that "they are the same"
if ($fst === $str) {
    echo "they are the same";
}
?>

It may not be obvious exactly what will happen when casting between certain types. For more information, see these sections:

  • Converting to boolean
  • Converting to integer
  • Converting to float
  • Converting to string
  • Converting to array
  • Converting to object
  • Converting to resource
  • Converting to NULL
  • The type comparison tables
Pseudo-types and variables used in this documentation
Variablen
Typen


Variablen

Inhaltsverzeichnis

  • Grundlegendes
  • Vordefinierte Variablen
  • Geltungsbereich von Variablen
  • Variable Variablen
  • Variablen aus externen Quellen
Type Juggling
Grundlegendes
Sprachreferenz


Grundlegendes

Variablen werden in PHP dargestellt durch ein Dollar-Zeichen ($) gefolgt vom Namen der Variablen. Bei Variablen-Namen wird zwischen Groß- und Kleinschreibung unterschieden (case-sensitive).

Variablen-Namen werden in PHP nach den gleichen Regeln wie andere Bezeichner erstellt. Ein gültiger Variablen-Name beginnt mit einem Buchstaben oder einem Unterstrich ("_"), gefolgt von einer beliebigen Anzahl von Buchstaben, Zahlen oder Unterstrichen. Als regulärer Ausdruck (regular expression) würde das wie folgt ausgedrückt: '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'.

Hinweis: Unserem Zweck entspricht also ein Buchstabe von a bis z bzw. A bis Z oder einem ASCII-Zeichen von 127 bis 255 (0x7f bis 0xff).

Hinweis: $this ist eine spezielle Variable der kein Wert zugewiesen werden kann.

Tipp

Siehe auch Userland Naming Guide.

Information zu Funktionen im Zusammenhang mit Variablen finden Sie im Abschnitt Funktionen zur Behandlung von Variablen.

<?php
$var = "Du";
$vaR = "und";
$Var = "ich";
$vAr = "wir lernen PHP"
echo "$var $vaR $Var, $vAr"; // gibt "Du und ich, wir lernen PHP" aus

$4site  = 'nicht jetzt';     // ungültig, da Anfang eine Zahl
$_4site = 'nicht jetzt';     // gültig, da Unterstrich am Anfang
$täbyte = 'irgendwas';       // gültig, da 'ä' dem (Erweiterten) ASCII-Wert 228 entspricht
?>

Variablen werden durch ihren Wert bestimmt. Das heißt, wenn Sie einer Variablen einen Ausdruck zuweisen, wird der gesamte Inhalt des Originalausdrucks in die Zielvariable kopiert. Die Folge ist, dass eine Variable, die ihren Inhalt von einer anderen Variablen erhalten hat, ihren Inhalt behält, auch wenn Sie danach den Inhalt der anderen (Quell- / Ursprungs-)Variablen ändern. Die Inhalte der Ziel- und Quellvariablen sind also insoweit unabhängig voneinander. Für weitere Informationen lesen Sie bitte das Kapitel unter Expressions / Ausdrücke.

PHP bietet eine andere Möglichkeit der Wertzuweisung bei Variablen: Zuweisung durch Referenzierung. Das bedeutet, dass der Wert der neuen Variablen eine Referenz zur Ursprungs-Variablen darstellt (mit anderen Worten: Der Wert ist ein Alias bzw. Zeiger auf den Inhalt der Ursprungsvariablen). Beide Variablen zeigen also auf die selbe(n) Speicherstelle(n). Änderungen der neuen Variablen ändern auch deren Ursprungs-Variable und umgekehrt.

Für die Zuweisung per Referenz müssen Sie lediglich ein & der (Ausgangs-, Quell-) Variablen voranstellen, die sie einer anderen Variablen zuweisen wollen. Der folgende Skript- Ausschnitt wird zweimal 'Mein Name ist Bob' ausgeben:

<?php
$foo = 'Bob';             // 'Bob' der Variablen $foo zuweisen.
$bar = &$foo;             // Zeiger auf $foo in $bar erzeugen.
$bar = "Ich heiße $bar";  // $bar verändern...
echo $bar;
echo $foo;                // $foo wurde dadurch ebenfalls verändert.
?>

Zu beachten ist, dass nur Variablenbezeichner referenziert werden können.

<?php
$foo = 25;
$bar = &$foo;     // Gültige Zuweisung.
$bar = &(24 * 7); // Ungültig, da kein Variablenbezeichner
                  // zugewiesen wird.
function test() {
    return 25;
}

$bar = &test();   // Ungültig.
?>

Es ist in PHP nicht zwingend notwendig Variablen zu initialisieren, es wird aber trotzdem empfohlen. Nicht initialisierte Variablen haben einen Vorgabewert der vom Typ abhängt - FALSE Null, leerer String oder leeres Array.

Beispiel #1 Vorgabewerte uninitialisierter Variablen

<?php
echo ($unset_bool ? "true" : "false"); // false
$unset_int += 25; // 0 + 25 => 25
echo $unset_string . "abc"; // "" . "abc" => "abc"
$unset_array[3] = "def"; // array() + array(3 => "def") => array(3 => "def")
?>

Es ist problematisch sich auf den Vorgabewert einer nicht initialisierten Variable zu verlassen wenn Sie Dateien inkludieren die die gleichen Variablennamen benutzen. Wenn register_globals aktiviert ist führt dies zu einem extremen Sicherheitsproblem. Bei Zugriffen auf nicht initialisierte Variablen wird ein Fehler der Stufe E_NOTICE ausgegeben, dies trifft allerdings nicht auf das Anfügen von Elementen an nicht initialisierte Arrays zu. Das isset() Sprachkonstrukt kann genutzt werden um zu prüfen ob eine Variable bereits initialisiert wurde.

Variablen
Vordefinierte Variablen
Variablen


Vordefinierte Variablen

PHP bietet jedem ausgeführtem Skript eine Vielzahl von vordefinierten Variablen an. Viele dieser Variablen können jedoch nicht vollständig erläutert werden, da sie abhängig sind vom Web-Server, der Version und dem Setup des Web- Servers sowie weiteren Faktoren. Einige dieser Variablen stehen nicht zur Verfügung, wenn PHP-Skripte per Kommando-Zeilen-Aufruf ausgeführt werden. Für eine Liste dieser Variablen lesen Sie bitte den Abschnitt Vordefinierte Variablen.

Warnung

Ab PHP 4.2.0 ist der standardmäßige Wert für die PHP-Anweisung register_globals off. Dies ist eine wesentliche Änderung in PHP. Die Anweisung register_globals off beeinflusst den Satz von vordefinierten Variablen, die im globalen Bereich verfügbar sind. Um zum Beispiel DOCUMENT_ROOT zu bekommen, müssen Sie $_SERVER['DOCUMENT_ROOT'] statt $DOCUMENT_ROOT verwenden oder um $id von der URL http://www.example.com/test.php?id=3 zu bekommen $_GET['id'] statt $id oder $_ENV['HOME'] statt $HOME.

Für diese Änderung betreffende Informationen lesen Sie bitte den Konfigurations-Eintrag für register_globals, das Sicherheitskapitel über die Verwendung von Register Globals und außerdem die PHP » 4.1.0 und » 4.2.0 Release Announcements.

Die reservierten vordefinierten Variablen, wie die Superglobalen Arrays, sollten bevorzugt verwendet werden.

Ab Version 4.1.0 stehen in PHP eine zusätzliche Reihe vordefinierter Arrays zur Verfügung, die Variablen vom Webserver (gegebenenfalls), von der Umgebung und von Benutzereingaben enthalten. Diese neuen Arrays sind insofern etwas sehr Spezielles, als sie automatisch global sind -- d.h., sie stehen automatisch in jedem Bereich zur Verfügung. Deshalb sind sie auch bekannt als 'Superglobale'. (Es gibt in PHP keinen Mechanismus für benutzerdefinierte Superglobale.) Die Superglobale werden nachfolgend aufgelistet, aber für eine Liste ihres Inhalts und die weitere Diskussion vordefinierter Variablen und ihres Wesens lesen Sie bitte den Abschnitt Reservierte vordefinierte Variablen. Außerdem werden Sie feststellen, dass die alten vordefinierten Variablen ($HTTP_*_VARS) noch existieren. Seit PHP 5.0.0 können Sie die Registrierung der langen von PHP vordefinierten Arrays mit der Konfigurationsoption register_long_arrays abschalten.

Hinweis: Variable Variablen

Superglobale können innerhalb von Funktionen und Methoden nicht als Variable Variablen verwendet werden.

Hinweis:

Obwohl Superglobale und die HTTP_*_VARS zur gleichen Zeit existieren können sind sie nicht identisch. Änderungen dieser Variablen haben keinen Einfluss auf die jeweils anderen.

Falls bestimmte Variablen nicht unter variables_order angegeben sind, dann bleiben auch ihre entsprechenden vordefinierten Arrays leer.

Grundlegendes
Geltungsbereich von Variablen
Variablen


Geltungsbereich von Variablen

Der Geltungsbereich einer Variablen ergibt sich aus dem Zusammenhang, in dem sie definiert wurde. Meistens besteht dieser aus einem einzigen Bereich. Dieser beinhaltet auch den Bereich für Dateien, die per "include"- oder "require"-Anweisung eingebunden wurden, z.B.:

<?php
$a = 1;
include "b.inc";
?>

Die Variable $a ist auch in der eingebundenen Datei b.inc verfügbar. In benutzerdefinierten Funktionen wird ein auf die Funktion beschränkter Geltungsbereich eingeführt. Jede in einer Funktion benutzte Variable ist zunächst auf den lokalen Bereich der Funktion beschränkt, z.B.:

<?php
$a = 1; // globaler Bereich

function test () {
    echo $a; // Referenz auf einen lokalen Variablen-Bereich
}

test ();
?>

Dieses Skript erzeugt keine Bildschirm-Ausgabe, da sich die Echo- Anweisung auf eine lokale Variable namens $a bezieht und dieser kein Wert im lokalen Bezug zugewiesen worden ist. Dies ist ein kleiner Unterschied zu C, wo globale Variablen auch in Funktionen vorhanden sind, es sei denn, sie werden durch eine funktionsinterne Definition überschrieben. Das kann zu Problemen führen, denn in PHP müssen global geltende Variablen innerhalb von Funktionen als solche definiert werden.

Das global Schlüsselwort

Zunächst ein Beispiel für die Verwendung von global:

Beispiel #1 Die Verwendung von global

<?php
$a = 1;
$b = 2;

function Summe()
{
    global $a, $b;

    $b = $a + $b;
}

Summe();
echo $b;
?>

Das obige Skript gibt "3" aus. Durch das Deklararieren der Variablen $a und $binnerhalb der Funktion als global, weisen alle Referenzen zu beiden Variablen auf die nun globalen Werte. Es gibt keine Beschränkungen bei der Anzahl an globalen Variablen, die durch eine Funktion verändert werden können.

Eine weitere Möglichkeit besteht in der Verwendung des speziellen $GLOBALS PHP-Array. Das obige Beispiel kann damit auch so geschrieben werden:

Beispiel #2 Die Verwendung von $GLOBALS statt global

<?php
$a = 1;
$b = 2;

function Summe()
{
    $GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"];
}

Summe();
echo $b;
?>

Das $GLOBALS-Array ist ein assoziatives Array mit dem Bezeichner der globalen Variablen als Schlüssel und dem Inhalt dieser Variablen als Wert des Array-Elements. Beachten Sie, dass $GLOBALS in jedem Bereich existiert, weil $GLOBALS eine Superglobale ist. Hier ist ein Beispiel, das die Stärke von Superglobalen demonstriert:

Beispiel #3 Beispiel zur Demonstration von Superglobalen und Bereich

<?php
function test_global()
{
    // Die meisten vordefinierten Variablen sind nicht "super" und
    // benötigen 'global', um im lokalen Bereich von Funktionen zur
    // Verfügung zu stehen.
    global $HTTP_POST_VARS;

    echo $HTTP_POST_VARS['name'];

    // Superglobale stehen in jedem Bereich zur Verfügung und
    // benötigen kein 'global'. Superglobale stehen seit PHP 4.1.0
    // zur Verfügung und HTTP_POST_VARS gilt nun als veraltet
    echo $_POST['name'];
}
?>

Die Verwendung von statischen Variablen

Ein weiterer wichtiger Anwendungszweck von Variablen-Bereichen ist die static-Variable. Eine statische Variable existiert nur in einem lokalen Funktions-Bereich, der Wert geht beim Verlassen dieses Bereichs aber nicht verloren. Schauen Sie das folgende Beispiel an:

Beispiel #4 Beispiel, das die Notwendigkeit von statischen Variablen demonstriert

<?php
function test ()
{
    $a = 0;
    echo $a;
    $a++;
}
?>

Diese Funktion ist sinnlos, da sie bei jedem Aufruf $a auf 0 setzt und "0" ausgibt. Die Anweisung $a++, welche den Wert erhöht, ergibt hier keinen Sinn, da der Wert von $a beim Verlassen der Funktion verloren geht. Um eine sinnvolle Zählfunktion zu implementieren, die ihren aktuell gesetzten Wert nicht vergisst, müssen Sie die Variable $aals "static" deklarieren:

Beispiel #5 Beispiel zur Verwendung statischer Variablen

<?php
function Test()
{
    static $a = 0;
    echo $a;
    $a++;
}
?>

Jetzt wird bei jedem Aufruf der Test()-Funktion der aktuelle Wert von $a ausgegeben und dann um 1 erhöht.

Static-Variablen ermöglichen auch einen Weg zum Umgang mit rekursiven Funktionen. Das sind Funktionen, die sich selbst aufrufen. Hierbei besteht die Gefahr, so genannte Endlos- Schleifen zu programmieren. Sie müssen also einen Weg vorsehen, diese Rekursion zu beenden. Die folgende einfache Funktion zählt rekursiv bis 10. Die statische Variable $zaehler wird benutzt, um die Rekursion zu beenden:

Beispiel #6 Statische Variablen in rekursiven Funktionen

<?php
function Test()
{
    static $zaehler = 0;

    $zaehler++;
    echo $zaehler;
    if ($zaehler < 10) {
        Test ();
    }
    $zaehler--;
}
?>

Hinweis:

Statische Variablen werden wie in oben stehenden Beispielen deklariert. Das Zuweisen eines Wertes, welcher das Ergebnis eines Ausdrucks ist, wird mit einem parse error quittiert.

Beispiel #7 Statische Variablen deklarieren

<?php
function foo(){
    static $int = 0;          // korrekt
    static $int = 1+2;        // falsch  (da ein Ausdruck vorliegt)
    static $int = sqrt(121);  // falsch  (ebenfalls ein Ausdruck)

    $int++;
    echo $int;
}
?>

Referenzen bei globalen und statischen Variablen

Die Zend Engine 1, die PHP 4 zugrunde liegt, führt die static- und global-Wandler für Variablen in Bezug auf Referenzen aus. Zum Beispiel erzeugt eine echte globale Variable, die mit der Anweisung global in den Funktionsbereich importiert wurde, tatsächlich eine Referenz zur globalen Variable. Das kann zu einem unerwarteten Verhalten führen, auf das im folgenden Beispiel eingegangen wird:

<?php
function test_global_ref() {
    global $obj;
    $obj = &new stdclass;
}

function test_global_noref() {
    global $obj;
    $obj = new stdclass;
}

test_global_ref();
var_dump($obj);
test_global_noref();
var_dump($obj);
?>

Die Ausführung dieses Beispiels erzeugt die folgende Ausgabe:

NULL
object(stdClass)(0) {
}

Ein ähnliches Verhalten gilt auch für die Anweisung static. Referenzen werden nicht statisch gespeichert:

<?php
function &get_instance_ref() {
    static $obj;

    echo "Statisches Objekt: ";
    var_dump($obj);
   if (!isset($obj)) {
        // Der statischen Variablen eine Referenz zuweisen
        $obj = &new stdclass;
    }
    $obj->eigenschaft++;
    return $obj;
}

function &get_instance_noref() {
    static $obj;

    echo "Statisches Objekt: ";
    var_dump($obj);
    if (!isset($obj)) {
        // Der statischen Variablen ein Objekt zuweisen
        $obj = new stdclass;
    }
    $obj->eigenschaft++;
    return $obj;
}

$obj1 = get_instance_ref();
$immer_noch_obj1 = get_instance_ref();
echo "\n";
$obj2 = get_instance_noref();
$immer_noch_obj2 = get_instance_noref();
?>

Die Ausführung dieses Beispiels erzeugt die folgende Ausgabe:

Statisches Objekt: NULL
Statisches Objekt: NULL

Statisches Objekt: NULL
Statisches Objekt: object(stdClass)(1) {
["eigenschaft"]=>
int(1)
}

Dieses Beispiel demonstriert, dass die Referenz, die einer statischen Variablen zugewiesen wird, beim zweiten Aufruf der Funktion &get_instance_ref() vergessen ist.

Vordefinierte Variablen
Variable Variablen
Variablen


Variable Variablen

Manchmal ist es komfortabel, variable Variablen-Bezeichner zu benutzen. Das bedeutet, einen Variablen-Namen zu setzen und dynamisch zu gebrauchen. Eine normale Variable wird wie folgt gebildet:

<?php
$a = "Hallo";
?>

Eine variable Variable nimmt den Wert einer Variablen und behandelt ihn als Bezeichner der Variablen. Im obigen Beispiel kann Hallo als Variablen-Name gebraucht werden, indem man zwei $-Zeichen benutzt, also schreibt:

<?php
$$a = "Welt";
?>

Nun existieren in der PHP-Symbol-Struktur zwei definierte und gespeicherte Variablen: $a mit dem Inhalt "Hallo" und $Hallo mit dem Inhalt "Welt". Deshalb wird die Anweisung

<?php
echo "$a ${$a}";
?>

zur genau gleichen Ausgabe führen wie:

<?php
echo "$a $Hallo";
?>

also zu: Hallo Welt.

Wenn Sie variable Variablen mit Arrays verwenden, müssen Sie eine Doppeldeutigkeit beachten. Wenn Sie nämlich $$a[1] schreiben, dann muss der Parser wissen, ob Sie $a[1] als Variable oder $$a als Variable und dann [1] als Index dieser Variablen verwenden wollen bzw. gemeint haben. Die Syntax zur Lösung dieser Doppeldeutigkeit: Verwenden Sie im ersten Fall ${$a[1]} und im zweiten Fall ${$a}[1].

Warnung

Bitte beachten Sie, dass variable Variablen nicht bei Superglobalen Arrays verwendet werden können. Die Variable $this ist also eine spezielle Variable, die nicht dynamisch referenziert werden kann.

Geltungsbereich von Variablen
Variablen aus externen Quellen
Variablen


Variablen aus externen Quellen

HTML-Formulare (GET and POST)

Sobald ein Formular an ein PHP-Skript übergeben wird, werden die Informationen dieses Formulars dem Skript automatisch verfügbar gemacht. Es gibt viele Möglichkeiten, auf diese Informationen zuzugreifen, zum Beispiel:

Beispiel #1 Ein einfaches HTML-Formular

<form action="foo.php" method="post">
    Name:  <input type="text" name="username" /><br />
    Email: <input type="text" name="email" /><br />
    <input type="submit" name="submit" value="Und ab!" />
</form>

Abhängig von Ihrem speziellen Setup und Ihren persönlichen Vorlieben gibt es viele Möglichkeiten, auf die Daten von Ihren HTML-Formularen zuzugreifen. Hier einige Beispiele:

Beispiel #2 Zugriff auf die Daten von einem einfachen POST HTML-Formular

<?php
// Seit PHP 4.1.0 verfügbar

   echo $_POST['benutzername'];
   echo $_REQUEST['benutzername'];

   import_request_variables('p', 'p_');
   echo $p_benutzername;

// Ab PHP 6.0.0 nicht mehr verfügbar. Ab PHP 5.0.0 können diese langen
// vordefinierten Variablen mit der Anweisung register_long_arrays
// deaktiviert werden.

   echo $HTTP_POST_VARS['benutzername'];

// Verfügbar, falls die PHP-Anweisung register_globals = on. Ab
// PHP 4.2.0 ist der standardmäßige Wert von register_globals = off.
// Es ist nicht empfehlenswert, diese Methode zu verwenden, bzw. sich
// darauf zu verlassen.

   echo $benutzername;
?>

Die Verwendung eines GET Formulars ist, davon abgesehen, dass Sie stattdessen die entsprechende vordefinierte GET-Variable erhalten, ähnlich. Außerdem wird GET auch für den QUERY_STRING (die Information nach dem '?' in einer URL) verwendet. So enthält zum Beispiel http://www.example.com/test.php?id=3 GET-Daten, auf die mit $_GET['id'] zugegriffen werden kann. Siehe auch $_REQUEST und import_request_variables().

Hinweis:

Superglobale Arrays wie $_POST und $_GET stehen seit PHP 4.1.0 zur Verfügung.

Wie gezeigt, war register_globals vor PHP 4.2.0 standardmäßig on. Die PHP-Gemeinschaft ermuntert alle, sich nicht auf diese Anweisung zu stützen, weil es vorzuziehen ist, davon auszugehen, dass sie off ist und entsprechend zu programmieren.

Hinweis:

Die Konfigurationseinstellung zu magic_quotes_gpc betrifft Get-, Post- und Cookie-Werte. Ist diese Einstellung aktiv, wird der Wert (It's "PHP!") automatisch zu (It\'s \"PHP!\"). Escaping ist notwendig, wenn Sie ihre Daten in eine Datenbank einfügen wollen. Siehe auch addslashes(), stripslashes() und magic_quotes_sybase.

Im Zusammenhang mit Formular-Variablen versteht PHP auch Arrays (siehe auch die verwandte Faq). Sie können z.B. die betreffenden Variablen gruppieren oder dieses Leistungsmerkmal nutzen, um Werte aus Mehrfach-Auswahl-Bereichen zu erhalten. Schicken wir zum Beispiel ein Formular an sich selbst und lassen nach dem Abschicken die Daten anzeigen:

Beispiel #3 Komplexere Formular-Variablen

<?php
if ($_POST) {
    echo '<pre>';
    echo htmlspecialchars(print_r($_POST, true));
    echo '</pre>';
}
?>
<form action="" method="post">
    Name:  <input type="text" name="personal[name]" /><br />
    Email: <input type="text" name="personal[email]" /><br />
    Bier: <br />
    <select multiple name="bier[]">
        <option value="warthog">Warthog</option>
        <option value="guinness">Guinness</option>
        <option value="stuttgarter">Stuttgarter Schwabenbräu</option>
    </select><br />
    <input type="submit" name="submit" value="Und ab!" />
</form>

IMAGE SUBMIT Variablen-Bezeichner

Zur Übertragung eines Formulars kann auch ein Bild (Image) statt eines Übertragungs-Schalters (Submit-Button) benutzt werden, dessen Tag wie folgt aussieht:

<input type="image" src="image.gif" name="sub" />

Klickt der Benutzer irgendwo auf das Bild, wird das entsprechende Formular an den Web-Server übertragen. Hierbei sind zwei zusätzliche Variablen vorhanden, sub_x und sub_y. Diese enthalten die Koordinaten des Klick-Punktes innerhalb des Bildes. Die Erfahreneren werden sagen, dass die Variablen, die vom Browser gesendet werden einen Punkt enthalten statt eines Unterstrichs. Dieser Punkt wird von PHP automatisch in einen Unterstrich verwandelt.

HTTP-Cookies

PHP unterstützt HTTP-Cookies, wie sie in Netscape's Spec definiert sind. Cookies ermöglichen die Daten-Speicherung innerhalb der jeweiligen Browser-Umgebung zur Weiterleitung oder wiederholten Identifikation von Benutzern. Sie können Cookies erzeugen, indem Sie die Funktion setcookie() benutzen. Cookies sind Teil des HTTP-Headers, deshalb muss die setcookie-Funktion aufgerufen werden, bevor irgendeine Ausgabe an den Browser gesendet wird. Dabei handelt es sich um die gleiche Einschränkung, die auch für die header()-Funktion gilt. Cookie-Daten stehen dann sowohl in den entsprechenden Cookie-Daten-Arrays, wie zum Beispiel $_COOKIE, $HTTP_COOKIE_VARS als auch in $_REQUEST zur Verfügung. Für weitere Details und Beispiele lesen Sie bitte die setcookie()-Seite des Handbuchs.

Wenn Sie einer einzelnen Cookie-Variable mehrere Werte zuweisen wollen, müssen Sie diese als Array übertragen. Zum Beispiel:

<?php
setcookie("MeinCookie[foo]", "Ich teste 1", time()+3600);
setcookie("MeinCookie[bar]", "Ich teste 2", time()+3600);
?>

Das erzeugt zwei einzelne Cookies obwohl MeinCookie in Ihrem Skript nun ein einziges Array ist. Wenn Sie nur ein Cookie mit mehreren Werten setzen wollen, sollten Sie zuerst serialize() oder explode() auf das Array anwenden.

Bedenken Sie, dass ein Cookie ein vorhergehendes Cookie gleichen Namens überschreibt, es sei denn, der Pfad oder die Domain ist anders. Für eine Warenkorb-Anwendung können Sie deshalb z.B. einen Zähler bilden und diesen weiterleiten:

Beispiel #4 Ein setcookie()-Beispiel

<?php
if (isset($_COOKIE['zaehler'])) {
    $zaehler = $_COOKIE['zaehler'] + 1;
} else {
    $zaehler = 1;
}
setcookie("zaehler", $zaehler, time()+3600);
setcookie("Cart[$zaehler]", $item, time()+3600);
?>

Punkte in eingelesenen Variablen-Bezeichnern

Normalerweise verändert PHP die Variablen-Bezeichner nicht, wenn sie einem Skript übergeben werden. Es sollte aber beachtet werden, dass der Punkt (".") kein gültiger Bestandteil eines Variablen-Bezeichners ist. Deshalb achten Sie auf folgendes:

<?php
$varname.ext;  /* ungültiger Variablen-Bezeichner */
?>
Der PHP-Parser sieht eine Variable namens $varname, gefolgt von einem Zeichenketten-Verbindungs-Operator, dieser wiederrum gefolgt von der offenen Zeichenkette 'ext' (also nicht eingegrenzt durch '"' und auch keinem Schlüssel oder reserviertem Bezeichner entsprechend). Das kann natürlich nicht zum gewünschten Ergebnis führen.

Deshalb ist es wichtig zu wissen, dass PHP in den ihm übergebenen Variablen alle Punkte (.) automatisch durch einen Unterstrich (_) ersetzt.

Bestimmung des Variablen-Typs

Da PHP den Typ der Variablen bestimmt und (im Allgemeinen) selbst eine entsprechende Umformung vornimmt, ist es nicht immer klar, welchen Typ eine Variable gerade hat. PHP beinhaltet einige Funktionen, die dies herausfinden, wie zum Beispiel: gettype(), is_array(), is_float(), is_int(), is_object() und is_string(). Lesen Sie bitte auch das Kapitel über Typen.

Variable Variablen
Konstanten
Variablen


Konstanten

Inhaltsverzeichnis

  • Syntax
  • Magische Konstanten

Eine Konstante ist ein Bezeichner (Name) für einen einfachen Wert. Wie der Name bereits nahelegt, kann der Wert einer Konstanten zur Laufzeit des Skripts nicht verändert werden (ausgenommen die Magischen Konstanten, die aber keine wirklichen Konstanten sind.) Eine Konstante unterscheidet standardmäßig zwischen Groß- und Kleinschreinbung (case-sensitive). Nach gängiger Konvention werden Konstanten immer in Großbuchstaben geschrieben.

Der Name einer Konstanten folgt den gleichen Regeln wie alle anderen Bezeichner in PHP. Ein gültiger Name beginnt mit einem Buchstaben oder einem Unterstrich, gefolgt von beliebig vielen Buchstaben, Ziffern oder Unterstrichen. Als regulärer Ausdruck könnte das so beschrieben werden: [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*

Tipp

Siehe auch Userland Naming Guide.

Beispiel #1 Gültige und ungültige Namen für Konstanten

<?php

// Gueltige Namen fuer Konstanten
define("FOO",     "irgendwas");
define("FOO2",    "etwas anderes");
define("FOO_BAR", "irgendwas ganz anderes");

// Ungueltige Namen fuer Konstanten
define("2FOO",    "irgendwas");

// Folgendes ist korrekt, sollte aber vermieden werden:
// PHP koennte eines Tages eine Magische Konstante unterstuetzen
// die Ihr Skript nicht mehr wie gewuenscht funktionieren laesst
define("__FOO__", "irgendwas");

?>

Hinweis: Für unsere Zwecke ist ein Buchstabe a-z, A-Z und die ASCII-Zeichen von 127 bis 255 (0x7f-0xff).

Wie bei superglobals ist der Gültigkeitsbereich einer Konstanten global. Unabhängig vom Gültigkeitsbereich können Sie in Ihrem Skript überall auf eine Konstante zugreifen. Für mehr Information zum Gültigkeitsbereich lesen Sie bitte den Abschnitt über den Geltungsbereich von Variablen.

Variablen aus externen Quellen
Syntax
Sprachreferenz


Syntax

Sie können eine Konstante definieren, indem Sie entweder die define()-Funktion oder ab PHP 5.3.0 das Schlüsselwort const außerhalb einer Klassendefinition verwenden. Während define() es ermöglicht eine Konstante auf einen beliebigen Wert zu definieren, hat das const Schlüsselwort Einschränkungen, die im nächsten Absatz beschrieben werden. Einmal definiert, kann eine Konstane weder verändert noch gelöscht werden.

Wenn das const Schlüsselwort verwendet wird, können Konstanten vor PHP 5.6 nur skalare Daten (boolean, integer, float und string) enthalten. Von PHP 5.6 an ist es möglich eine Konstante als skalaren Ausdruck zu definieren, und es ist ebenfalls möglich eine Array Konstante zu definieren. Es ist möglich, Konstanten vom Typ resource zu definieren, dies sollte allerdings vermieden werden, da es zu unerwarteten Ergebnissen führen kann.

Den Wert einer Konstanten erhalten Sie durch die einfache Angabe ihres Namens. Im Gegensatz zu Variablen sollten Sie einer Konstanten kein $ voranstellen. Ebenso können Sie die Funktion constant() benutzen, um den Wert einer Konstanten auszulesen, wenn Sie den Namen der Konstanten dynamisch erhalten wollen. Benutzen Sie get_defined_constants(), um eine Liste aller definierten Konstanten zu erhalten.

Hinweis: Konstanten und (globale) Variablen befinden sich in unterschiedlichen Namensräumen. Das hat zum Beispiel zur Folge, dass TRUE und $TRUE etwas völlig Verschiedenes sind.

Falls Sie eine undefinierte Konstante verwenden, nimmt PHP an, dass Sie den Namen der Konstanten selbst meinen, so als ob Sie sie als einen string (CONSTANT vs "CONSTANT") aufgerufen hätten. Falls das passiert, wird Ihnen ein Fehler vom Typ E_NOTICE ausgegeben. Lesen Sie ebenfalls den entsprechenden Manualabschnitt, der erklärt, warum $foo[bar] falsch ist (zumindest solange Sie nicht zuvor bar mittels define() als Konstante definiert haben). Dies gilt nicht für (vollständig) qualifizierte Konstanten, die einen fatalen Fehler erzeugen, wenn sie undefiniert sind. Möchten Sie einfach nur nachprüfen, ob eine Konstante definiert ist, benutzen Sie die Funktion defined().

Das hier sind die Unterschiede zwischen Konstanten und Variablen:

  • Konstanten haben kein Dollarzeichen ($) vorangestellt;
  • Vor PHP 5.3 können Konstanten nur über die Funktion define() definiert werden, nicht durch einfache Zuweisung;
  • Konstanten können überall definiert werden, und auf Ihren Wert können Sie ohne Rücksicht auf Namensraumregeln von Variablen zugreifen;
  • Sobald Konstanten definiert sind, können sie nicht neu definiert oder gelöscht werden; und
  • Konstanten können nur skalare Werte haben. Ab PHP 5.6.0 ist es möglich, Array-Konstanten mit dem const Schlüsselwort zu definieren; ab PHP 7 können Array-Konstanten ebenfalls mit define() definiert werden. In konstanten skalaren Ausdrücken können Arrays verwendet werden (z.B. const FOO = array(1, 2, 3)[0];), aber das Endergebnis muss ein Wert eines erlaubten Typs sein.

Beispiel #1 Definiton von Konstanten

<?php
define("KONSTANTE", "Hallo Welt.");
echo KONSTANTE;     // Ausgabe: "Hallo Welt."
echo Konstante;     // Ausgabe: "Konstante" und eine Notice.
?>

Beispiel #2 Definition von Konstanten unter Verwendung des const-Keywords

<?php
// Funktioniert seit PHP 5.3.0
const KONSTANTE = 'Hallo Welt';

echo KONSTANTE;

// Funktioniert seit PHP 5.6.0
const ANDERE_KONSTANTE = KONSTANTE . '; Ade Welt';

echo ANDERE_KONSTANTE;

const ANIMALS = array('Hund', 'Katze', 'Maus');
echo ANIMALS[1]; // gibt "Katze" aus

// Funktioniert seit PHP 7
define('ANIMALS', array(
    'Hund',
    'Katze',
    'Maus'
));
echo ANIMALS[1]; // gibt "Katze" aus
?>

Hinweis:

Im Gegensatz zu Konstanten, welche mit define() ersellt werden, müssen über const definierte Konstanten im Top-Level Scope erstellt werden, weil sie zur Compile Zeit definiert werden. Das heißt, dass sie nicht innerhalb von Funktionen, Schleifen, if Statements oder try/catch Blöcken definiert werden können.

Lesen Sie ebenfalls den Abschnitt über Klassenkonstanten.

Konstanten
Magische Konstanten
Konstanten


Magische Konstanten

PHP stellt jedem Skript zur Laufzeit eine Vielzahl von vordefinierten Konstanten zur Verfügung. Viele dieser Konstanten werden jedoch von verschiedenen Erweiterungen definiert, die nur zur Verfügung stehen, wenn diese Erweiterungen selbst zur Verfügung stehen, d.h. entweder über dynamisches Laden zur Laufzeit oder Einkompilieren.

Es gibt acht magische Konstanten, die, abhängig davon, wo sie eingesetzt werden, einen unterschiedlichen Wert haben. Zum Beispiel hängt der Wert der Konstanten __LINE__ davon ab, in welcher Zeile ihres Skripts Sie diese Konstante verwenden. Diese besonderen Konstanten sind unabhängig von Groß-/Kleinschreibung und sind folgende:

Einige "magische" PHP-Konstanten
Name | Beschreibung
__LINE__ | Die aktuelle Zeilennummer einer Datei.
__FILE__ | Der vollständige Pfad- und Dateiname einer Datei wobei Symlinks aufgelöst wurden. Wird diese Konstante innerhalb einer nachgeladenen Datei verwendet, wird der Name dieser eingebundenen Datei zurückgegeben.
__DIR__ | Der Name des Verzeichnisses, in dem sich die Datei befindet. Wird die Konstante innerhalb eines Includes verwendet, wird das Verzeichnis der eingebundenen Datei zurückgegeben. Dies entspricht dem Verhalten von dirname(__FILE__). Der Verzeichnisname hat keinen beendenden Schrägstrich, sofern es sich nicht um das Rootverzeichnis handelt.
__FUNCTION__ | Der Name der Funktion.
__CLASS__ | Der Name einer Klasse. Der Klassenname enthält auch den Namen des Namespaces in dem er deklariert wurde (z.B. Foo\Bar). __CLASS__ kann seit PHP 5.4 auch in Traits verwendet werden, in welchem Fall Name der Klasse welche den Trait verwendet zurückgegeben wird.
__TRAIT__ | Der Trait Name. Dieser enthält auch den Namespace in welchem der Trait definiert wurde (z.B. Foo\Bar).
__METHOD__ | Der Name der Klassenmethode.
__NAMESPACE__ | Der Name des aktuellen Namespace.

Siehe auch
get_class(),
get_object_vars(),
file_exists() und
function_exists().

Changelog

Version | Beschreibung
5.4.0 | __TRAIT__ Konstante hinzugefügt
5.3.0 | __DIR__ und __NAMESPACE__ Konstanten hinzugefügt
5.0.0 | __METHOD__ Konstante hinzugefügt
5.0.0 | Vor dieser Version waren die Werte von manchen "magischen" Konstanten immer in Kleinschreibung. Diese sind nun allesamt in der Groß-/Kleinschreibung, in der sie deklariert wurden.
4.3.0 | __FUNCTION__ und __CLASS__ Konstanten hinzugefügt
4.0.2 | __FILE__ enthält immer einen absoluten Pfad, wobei Symlinks aufgelöst wurden, wohingegen es in älteren Versionen unter Umständen einen relativen Pfad enthielt

Syntax
Ausdrücke
Konstanten


Ausdrücke

Ausdrücke (Expressions) sind die wichtigsten Bausteine von PHP. In PHP ist fast alles, was geschrieben wird, ein Ausdruck. Die einfachste, aber auch zutreffendste Definition für einen Ausdruck ist "alles, was einen Wert hat".

Die grundlegendsten Formen von Ausdrücken sind Konstanten und Variablen. Wenn man "$a = 5" schreibt, weist man $a den Ausdruck '5' zu. '5' hat offensichtlich den Wert 5. Anders ausgedrückt: '5' ist ein Ausdruck mit dem Wert 5 (in diesem Fall ist '5' eine Integer-Konstante).

Nach dieser Zuweisung würde man erwarten, dass der Wert von $a nun ebenfalls 5 ist; wenn man also $b = $a schreibt, sollte dasselbe dabei herauskommen, als hätte man $b = 5 geschrieben. Anders ausgedrückt: $a ist ebenfalls ein Ausdruck mit dem Wert 5. Wenn alles richtig funktioniert, wird genau das passieren.

Etwas kompliziertere Beispiele für Ausdrücke sind Funktionen. Betrachten wir zum Beispiel die folgende Funktion:

<?php
function foo ()
{
    return 5;
}
?>

Angenommen, Sie sind mit dem Konzept von Funktionen vertraut (wenn Sie es nicht sind, lesen Sie das Kapitel über Funktionen), dann würden Sie davon ausgehen, dass die Eingabe von $c = foo() grundsätzlich dasselbe bedeutet, als würde man $c = 5 schreiben, und genau das trifft zu. Funktionen sind Ausdrücke mit dem Wert ihres Rückgabewertes. Da foo() den Wert 5 zurückgibt, ist der Wert des Ausdruckes 'foo()' 5. Normalerweise geben Funktionen nicht einfach einen statischen Wert zurück, sondern berechnen etwas.

Natürlich müssen Werte in PHP keine Integer-Zahlen sein, und oft sind sie es auch nicht. PHP unterstützt vier skalare Datentypen: integer (Ganzzahlen), float (Fließkommazahlen), string (Zeichenketten) und boolean (Wahrheitswerte). (Skalare sind Datentypen, die man, im Gegensatz zu zum Beispiel Arrays, nicht in kleinere Stücke 'brechen' kann.) PHP unsterstützt auch zwei zusammengesetzte (nicht-skalare) Datentypen: Arrays und Objekte. Jeder dieser Datentypen kann Variablen zugewiesen und von Funktionen zurückgegeben werden.

PHP fasst den Begriff Ausdruck aber noch viel weiter, wie es auch andere Programmiersprachen tun. PHP ist eine ausdrucksorientierte Sprache, in dem Sinne, dass fast alles einen Ausdruck darstellt. Zurück zu dem Beispiel, mit dem wir uns bereits beschäftigt haben: '$a = 5'. Es ist einfach zu erkennen, dass hier zwei Werte enthalten sind: Der Wert der Integer-Konstanten '5' und der Wert von $a, der auf 5 geändert wird. In Wirklichkeit ist aber noch ein weiterer Wert enthalten, nämlich der Wert der Zuweisung selbst. Die Zuweisung selbst enthält den zugewiesenen Wert, in diesem Fall 5. In der Praxis bedeutet dies, dass '$a = 5', egal was es tut, immer einen Ausdruck mit dem Wert 5 darstellt. Folglich ist '$b = ($a = 5)' gleichbedeutend mit '$a = 5; $b = 5;' (ein Semikolon markiert das Ende einer Anweisung). Da Wertzuweisungen von rechts nach links geparst werden, kann man auch '$b = $a = 5' schreiben.

Ein anderes gutes Beispiel für die Ausdrucksorientierung von PHP sind Prä- und Post-Inkrement sowie die entsprechenden Dekremente. Benutzer von PHP und vielen anderen Sprachen sind vermutlich mit den Notationen 'variable++' und 'variable--' vertraut. Dies sind Inkrement- und Dekrement-Operatoren. In PHP gibt es, wie in C, zwei Arten von Inkrementen - Prä-Inkrement und Post-Inkrement. Grundsätzlich erhöhen sowohl Prä- als auch Post-Inkrement den Wert der Variable, und der Effekt auf die Variable ist derselbe. Der Unterschied liegt im Wert des Inkrement-Ausdruckes. Das Prä-Inkrement, das '++$variable' geschrieben wird, enthält als Wert den Wert der erhöhten Variabe (PHP erhöht den Wert der Variablen, bevor es ihren Wert ausliest, daher der Name 'PRÄ-Inkrement'). Das Post-Inkrement, das '$variable++' geschrieben wird, enthält dagegen den ursprünglichen Wert der Variablen vor der Erhöhung (PHP erhöht den Wert der Variablen, nachdem es ihren Wert ausgelesen hat, daher der Name 'POST-Inkrement').

Ein sehr gebräuchlicher Typ von Ausdrücken sind Vergleichsausdrücke. Diese Ausdrücke geben entweder FALSE oder TRUE zurück. PHP unterstützt > (größer), >= (größer oder gleich), == (gleich), != (ungleich), < (kleiner), und <= (kleiner oder gleich). Die Sprache unterstützt weiterhin ein Set von absoluten Vergleichsoperatoren: === (inhalts- und typgleich) und !== (nicht inhalts- oder typgleich). Diese Ausdrücke werden meist in bedingten Anweisungen, wie z. B. in if-Anweisungen, verwendet.

Im letzten Beispiel für Ausdrücke befassen wir uns mit kombinierten Zuweisungs- und Operator-Ausdrücken. Wir wissen bereits, dass, wenn wir $a um 1 erhöhen wollen, wir einfach '$a++' oder '++$a' schreiben können. Aber was tut man, wenn man den Wert um mehr als eins erhöhen will, z. B. um 3? Man könnte mehrer Male '$a++' schreiben, aber das ist offensichtlich weder ein effizienter noch komfortabler Weg. Viel üblicher ist es, einfach '$a = $a + 3' zu schreiben. '$a + 3' gibt den Wert von $a plus 3 zurück, dieser wird wieder $a zugewiesen, was dazu führt, dass $a nun um 3 erhöht wurde. In PHP - wie in einigen anderen Programmiersprachen, z. B. in C - kann man dies aber noch kürzer schreiben, was mit der Zeit klarer wird und auch einfacher zu verstehen ist. Um 3 zu dem aktuellen Wert von $a hinzuzufügen, schreibt man '$a += 3'. Das bedeutet exakt: "Nimm den Wert von $a, addiere 3 hinzu und weise $a den entstandenen Wert zu". Zusätzlich dazu, dass diese Schreibweise kürzer und klarer ist, wird sie auch schneller ausgeführt. Der Wert von '$a += 3' ist, wie der Wert einer regulären Zuweisung, der zugewiesene Wert. Beachten Sie, dass dieser Wert NICHT 3, sondern dem kombinierten Wert von $a plus 3 entspricht (das ist der Wert, der $a zugewiesen wird). Jeder Operator, der zwei Elemente verbindet, kann in dieser Schreibweise verwendet werden, z. B. '$a -= 5' (vermindert den Wert von $a um 5) oder '$b *= 7' (multipliziert den Wert von $b mit 7), usw.

Es gibt einen weiteren Ausdruck, der Ihnen vielleicht seltsam vorkommt, wenn Sie ihn bisher noch in keiner Programmiersprache kennengelernt haben, den dreifach konditionalen Operator:

<?php
$eins ? $zwei : $drei
?>

Wenn der Wert des ersten Sub-Ausdruckes (hier: $eins) TRUE ist (d. h. nicht 0), dann wird der Wert des zweiten Subausdrucks (hier: $zwei) ausgewertet und ist das Ergebnis des konditionalen Ausdrucks. Andernfalls wird der dritte Subausdruck ausgewertet und dessen Wert zurückgegeben.

Das folgende Beispiel sollte das Verständnis von Prä- und Post-Inkrement und von Ausdrücken im Allgemeinen erleichtern:

<?php
function verdoppeln($i)
{
    return $i*2;
}
$b = $a = 5;        /* Weise den Variablen $a und $b den Wert 5 zu */
$c = $a++;          /* Post-Inkrement, der urspruengliche Wert von $a (5)
                       wird $c zugewiesen. */
$e = $d = ++$b;     /* Prae-Inkrement, der erhöhte Wert von $b (6) wird $d und
                       $e zugewiesen. */

/* An diesem Punkt sind $d und $e beide gleich 6 */

$f = verdoppeln($d++);  /* Weise $f den doppelten Wert von $d vor
                           der Erhöhung um eins zu, 2*6 = 12 */
$g = verdoppeln(++$e);  /* Weise $g den doppelten Wert von $e nach
                           der Erhoehung um eins zu, 2*7 = 14 to $g */
$h = $g += 10;      /* Zuerst wird $g um 10 erhöht und hat damit den Wert
                       24. Der Wert dieser Zuweisung (24) wird dann $h
                       zugewiesen, womit $h ebenfalls den Wert von 24 hat. */
?>

Einige Ausdrücke können wie Anweisungen verwendet werden. In diesem Falle hat eine Anweisung die Form 'expr ;', dies meint einen Ausdruck gefolgt von einem Semikolon. In '$b = $a = 5;' ist '$a = 5' ein gültiger Ausdruck, aber für sich allein keine Anweisung. '$b = $a = 5;' ist jedoch eine gültige Anweisung.

Ein letzter Punkt, der noch zu erwähnen ist, ist der Wahrheitswert von Ausdrücken. In vielen Fällen, hauptsächlich in bedingten Anweisungen und Schleifen, ist man nicht am spezifischen Wert eines Ausdrucks interessiert, sondern kümmert sich nur darum, ob er TRUE oder FALSE bedeutet. Die Konstanten TRUE und FALSE (case-insensitiv) sind die beiden möglichen Wahrheitswerte. Wenn nötig wird ein Ausdruck automatisch in einen Boolschen Wert konvertiert. Wenn Sie mehr darüber erfahren wollen, lesen Sie den Abschnitt über Typecasting.

PHP stellt eine vollständige und mächtige Implementierung von Ausdrücken bereit, deren vollständige Dokumentation den Rahmen dieses Manuals sprengen würde. Die obigen Beispiele sollten Ihnen einen guten Eindruck davon verschaffen, was Ausdrücke sind und wie man nützliche Ausdrücke konstruieren kann. Im Rest dieses Manuals werden wir expr schreiben, um auszudrücken, dass an dieser Stelle jeder gültige PHP-Ausdruck stehen kann.

Magische Konstanten
Operatoren
Sprachreferenz


Operatoren

Inhaltsverzeichnis

  • Operator-Rangfolge
  • Arithmetische Operatoren
  • Zuweisungsoperatoren
  • Bit-Operatoren
  • Vergleichs-Operatoren
  • Fehler-Kontroll-Operatoren
  • Operatoren zur Programmausführung
  • Inkrement- bzw. Dekrementoperatoren
  • Logische Operatoren
  • Zeichenketten-Operatoren
  • Array-Operatoren
  • Typ Operatoren

Ein Operator ist etwas das Sie mit einem oder mehreren Werten füttern (oder Ausdrücken, um im Programmierjargon zu sprechen) und Sie erhalten als Ergebnis einen anderen Wert (damit wird diese Konstruktion selbst zu einem Ausdruck). Als Eselsbrücke können Sie sich Operatoren als Funktionen oder Konstrukte vorstellen, die Ihnen einen Wert zurück liefern (ähnlich print) und alles, was Ihnen keinen Wert zurück liefert (ähnlich echo) als irgend etwas Anderes.

Es gibt drei Arten von Operatoren. Als erstes gibt es den unären Operator, der nur mit einem Wert umgehen kann, zum Beispiel ! (der Verneinungsoperator) oder ++ (der Inkrementoperator). Die zweite Gruppe sind die sogenannten binären Operatoren; diese Gruppe enthält die meisten Operatoren, die PHP unterstützt. Eine Liste dieser Operatoren finden Sie weiter unten im Abschnitt Operator-Rangfolge .

Die dritte Gruppe bildet der ternäre Operator : ?:. Dieser sollte eher benutzt werden um abhängig von einem dritten Ausdruck eine Auswahl zwischen zwei Ausdrücken zu treffen, als zwischen zwei Sätzen oder Pfaden der Programmausführung zu wählen. Übrigens ist es eine sehr gute Idee ternäre Ausdrücke in Klammern zu setzen.

Ausdrücke
Operator-Rangfolge
Sprachreferenz


Operator-Rangfolge

Die Operator-Rangfolge legt fest, wie "eng" ein Operator zwei Ausdrücke miteinander verbindet. Zum Beispiel ist das Ergebnis des Ausdruckes 1 + 5 * 3 16 und nicht 18, da der Multiplikations-Operator ("*") in der Rangfolge höher steht als der Additions-Operator ("+"). Wenn nötig, können Sie Klammern setzen, um die Rangfolge der Operatoren zu beeinflussen. Zum Beispiel ergibt: (1 + 5) * 3 18. Ist die Rangfolge der Operatoren gleich, wird links nach rechts Assoziativität benutzt.

Die folgende Tabelle zeigt die Rangfolge der Operatoren, oben steht der Operator mit dem höchsten Rang.

Operator-Rangfolge
Assoziativität | Operator
keine Richtung | new
links | [
rechts | ! ~ ++ -- (int) (float) (string) (array) (object) @
links | * / %
links | + - .
links | << >>
keine Richtung | < <= > >=
keine Richtung | == != === !== <> <=>
links | &
links | ^
links | |
links | &&
links | ||
rechts | ??
links | ? :
rechts | = += -= *= /= .= %= &= |= ^= <<= >>=
rechts | print
links | and
links | xor
links | or
links | ,

Hinweis:

Obwohl ! einen höheren Rang gegenüber = hat, erlaubt es Ihnen PHP immer noch ähnliche Ausdrücke wie den folgenden zu schreiben: if (!$a =foo()).In diesem Ausdruck wird die Ausgabe von foo() der Variablen $a zugewiesen.

Operatoren
Arithmetische Operatoren
Operatoren


Arithmetische Operatoren

Erinnern Sie sich noch an die Grundrechenarten aus der Schule? Die arithmetischen Operatoren funktionieren genauso:

Arithmetische Operatoren
Beispiel | Name | Ergebnis
$a + $b | Addition | Summe von $a und $b.
$a - $b | Subtraktion | Differenz von $a und $b.
$a * $b | Multiplikation | Produkt von $a und $b.
$a / $b | Division | Quotient von $a und $b.
$a % $b | Modulus | Rest von $a geteilt durch $b.
$a ** $b | Potenz | $b-te Potenz von $a. (seit PHP 5.6)

Der Divisions-Operator ("/") gibt immer eine Fließkommazahl zurück, sogar wenn die zwei Operanden Ganzzahlen sind (oder Zeichenketten, die nach Ganzzahlen umgewandelt wurden).

Siehe auch im Handbuch das Kapitel über Mathematische Funktionen.

Operator-Rangfolge
Zuweisungsoperatoren
Operatoren


Zuweisungsoperatoren

Der einfachste Zuweisungsoperator ist "=". Wahrscheinlich kommt man als erstes auf die Idee, ihn mit "ist gleich" zu bezeichnen. Das ist falsch. In Wirklichkeit bedeutet er, dass dem linken Operanden der Wert des Ausdrucks auf der rechten Seite zugewiesen wird (man müsste ihn also mit "wird gesetzt auf den Wert von" übersetzen).

Der Wert eines Zuweisungs-Ausdruckes ist der zugewiesene Wert. D.h. der Wert des Ausdruckes "$a = 3" ist 3. Das erlaubt es, einige raffinierte Dinge anzustellen:

<?php

$a = ($b = 4) + 5; // $a ist nun gleich 9 und $b wurde auf den Wert 4 gesetzt.

?>

Zusätzlich zu dem oben vorgestellten Zuweisungsoperator "=" gibt es "kombinierte Operatoren" für alle binären, arithmetischen und String-Operatoren, die es erlauben, den Wert einer Variablen in einem Ausdruck zu benutzen, und dieser anschließend das Ergebnis des Ausdrucks als neuen Wert zuzuweisen. Zum Beispiel:

<?php

$a = 3;
$a += 5; // setzt $a auf den Wert 8, als ob wir geschrieben haetten: $a = $a + 5;
$b = "Hallo ";
$b .= "Du!"; // setzt $b auf den Wert "Hallo Du!", aequivalent zu
             // $b = $b . "Du!";
?>

Man beachte, dass die Zuweisung nur den Wert der Ursprungsvariable der neuen Variable zuweist (Zuweisung als Wert, sie "kopiert"), weshalb sich Änderungen an der einen Variablen nicht auf die andere auswirken werden. Das kann wichtig sein, wenn man ein großes Array o. ä. in einer Schleife kopieren muss. Beginnend mit PHP 4 wird 'assignement by reference' (Zuweisung als Verweis), mit Hilfe der Schreibweise $var =&$othervar; unterstützt , das funktioniert jedoch nicht in PHP 3. 'Assignement by reference' bedeutet, dass beide Variablen nach der Zuweisung die selben Daten repräsentieren und nichts kopiert wird. Um mehr über Referenzen zu lernen, lesen Sie bitte den Abschnitt Referenzen erklärt.

Arithmetische Operatoren
Bit-Operatoren
Operatoren


Bit-Operatoren

Bit-Operatoren erlauben es, in einem Integer bestimmte Bits "ein- oder auszuschalten" (auf 0 oder 1 zu setzen). Wenn beide, der links- und rechtsseitige Parameter, Zeichenketten sind, arbeiten die Bit-Operatoren mit ASCII-Werten der einzelnen Zeichen.

<?php
echo 12 ^ 9; // Ausgabe '5'

echo "12" ^ "9"; // Ausgabe: das Backspace-Zeichen (ascii 8)
                 // ('1' (ascii 49)) ^ ('9' (ascii 57)) = #8

echo "hallo" ^ "hello"; // Gibt die ASCII-Werte #0 #4 #0 #0 #0
                        // 'a' ^ 'e' = #4 aus
?>

Bit-Operatoren
Beispiel | Name | Ergebnis
$a & $b | Und | Bits, die in $a und $b gesetzt sind werden gesetzt.
$a | $b | Oder | Bits, die in $a oder $b gesetzt sind werden gesetzt.
$a ^ $b | Entweder oder (Xor) | Bits, die entweder in $a oder $b, jedoch nicht in beiden gesetzt sind, werden gesetzt.
~ $a | Nicht | Die Bits, die in $a nicht gesetzt sind, werden gesetzt und umgekehrt.
$a << $b | Nach links verschieben | Verschiebung der Bits von $a um $b Stellen nach links (jede Stelle entspricht einer Mulitplikation mit zwei).
$a >> $b | Nach rechts verschieben | Verschiebt die Bits von $a um $b Stellen nach rechts (jede Stelle entspricht einer Division durch zwei).
Zuweisungsoperatoren
Vergleichs-Operatoren
Operatoren


Vergleichs-Operatoren

Vergleichs-Operatoren erlauben es - wie der Name schon sagt - zwei Werte zu vergleichen. Wenn Sie an Beispielen verschiedener auf Typen bezogener Vergleiche interessiert sind, können Sie sich PHP type comparison tables anschauen.

Vergleichsoperatoren
Beispiel | Name | Ergebnis
$a == $b | Gleich | Gibt TRUE zurück, wenn $a gleich $b ist.
$a === $b | Identisch | Gibt TRUE zurück wenn $a gleich $b ist und beide vom gleichen Typ sind (eingeführt in PHP 4).
$a != $b | Ungleich | Gibt TRUE zurück, wenn $a nicht gleich $b ist.
$a <> $b | Ungleich | Gibt TRUE zurück, wenn $a nicht gleich $b ist.
$a !== $b | Nicht identisch | Gibt TRUE zurück, wenn $a nicht gleich $b ist, oder wenn beide nicht vom gleichen Typ sind (eingeführt in PHP 4).
$a < $b | Kleiner Als | Gibt TRUE zurück, wenn $a kleiner als $b ist.
$a > $b | Größer Als | Gibt TRUE zurück, wenn $a größer als $b ist.
$a <= $b | Kleiner Gleich | Gibt TRUE zurück, wenn $a kleiner oder gleich $b ist.
$a >= $b | Größer Gleich | Gibt TRUE zurück, wenn $a größer oder gleich $b ist.

Ternärer Operator

Ein weiterer Vergleichs-Operator ist der "?:" (oder ternäre) Operator.

<?php
// Beispielanwendung für den ternären Operator
$action = (empty($_POST['action'])) ? 'standard' : $_POST['action'];

// Obiges ist mit dieser if/else-Anweisung identisch
if (empty($_POST['action'])) {
    $action = 'standard';
} else {
    $action = $_POST['action'];
}
?>
Der Ausdruck (ausdr1) ? (ausdr2) : (ausdr3) gibt ausdr2 zurück, wenn ausdr1 TRUE zurückgibt und ausdr3, wenn ausdr1 FALSE zurückgibt.

Seit PHP 5.3 kann man beim ternären Operator den mittleren Teil weglassen. Der Ausdruck (ausdr1) ?: (ausdr3) gibt ausdr1 zurück, wenn ausdr1 als TRUE ausgewertet wird, andernfalls ausdr3.

Siehe auch strcasecmp(), strcmp(), Array-Operatoren und den Abschnitt über Typen.

Bit-Operatoren
Fehler-Kontroll-Operatoren
Operatoren


Fehler-Kontroll-Operatoren

PHP unterstützt einen Operator zur Fehlerkontrolle: Das @-Symbol. Stellt man das @ in PHP vor einen Ausdruck werden alle Fehlermeldungen, die von diesem Ausdruck erzeugt werden könnten, ignoriert.

Ist das track_errors -Feature aktiviert, werden alle Fehlermeldungen, die von diesem Ausdruck erzeugt werden, in der Variablen $php_errormsg gespeichert. Da diese Variable mit jedem neuen Auftreten eines Fehlers überschrieben wird, sollte man sie möglichst bald nach Verwendung des Ausdrucks überprüfen, wenn man mit ihr arbeiten will.

<?php
/* Beabsichtigter Dateifehler */
$my_file = @file ('nicht_vorhandene_Datei') or
    die ("Datei konnte nicht geöffnetwerden: Fehler war:'$php_errormsg'");

// Das funktioniert bei jedem Ausdruck, nicht nur bei Funktionen:
$value = @$cache[$key];
// erzeugt keine Notice, falls der Index $key nicht vorhanden ist.

?>

Hinweis: Der @-Operator funktioniert nur bei Ausdrücken. Eine einfache Daumenregel: wenn Sie den Wert von etwas bestimmen können, dann können Sie den @-Operator davor schreiben. Zum Beispiel können Sie ihn vor Variablen, Funktionsaufrufe und vor include setzen, vor Konstanten und so weiter. Nicht verwenden können Sie diesen Operator vor Funktions- oder Klassendefinitionen oder vor Kontrollstrukturen wie zum Beispiel if und foreach und so weiter.

Siehe auch error_reporting() und den Abschnitt über Error Handling and Logging Functions.

Hinweis:

Der @ Fehler-Kontroll-Operator verhindert jedoch keine Meldungen, welche aus Fehlern beim Parsen resultieren.

Warnung

Zum gegenwärtigen Zeitpunkt deaktiviert der "@" Fehler-Kontrolloperator die Fehlermeldungen selbst bei kritischen Fehlern, die die Ausführung eines Skripts beenden. Unter anderem bedeutet das, wenn Sie "@" einer bestimmten Funktion voranstellen, diese aber nicht zur Verfügung steht oder falsch geschrieben wurde, Ihr PHP-Skript einfach beendet wird, ohne Hinweis auf die Ursache.

Vergleichs-Operatoren
Operatoren zur Programmausführung
Operatoren


Operatoren zur Programmausführung

PHP unterstützt einen Operator zur Ausführung externer Programme: Die sog. Backticks (``). Achtung: Die Backticks sind keine einfachen Anführungszeichen! PHP versucht, den Text zwischen den Backticks als Kommandozeilen-Befehl auszuführen. Die Ausgabe des aufgerufenen Programms wird zurückgegeben (d.h. wird nicht einfach ausgegeben, sondern kann einer Variablen zugewiesen werden). Die Verwendung des Backtick-Operators ist mit shell_exec() identisch.

<?php
$output = `ls -al`;
echo "<pre>$output</pre>";
?>

Hinweis:

Der Backtick-Operator steht nicht zur Verfügung, wenn Safe Mode aktiviert ist oder die Funktion shell_exec() deaktiviert wurde.

Siehe auch den Abschnitt über Funktionen zur Programmausführung, popen(), proc_open() und Using PHP from the commandline.

Fehler-Kontroll-Operatoren
Inkrement- bzw. Dekrementoperatoren
Operatoren


Inkrement- bzw. Dekrementoperatoren

PHP unterstützt Prä- und Post-Inkrement- und Dekrementoperatoren im Stil der Programmiersprache C.

Inkrement- und Dekrementoperatoren
Beispiel | Name | Auswirkung
++$a | Prä-Inkrement | Erhöht den Wert von $a um eins (inkrementiert $a) und gibt anschließend den neuen Wert von $a zurück.
$a++ | Post-Inkrement | Gibt zuerst den aktuellen Wert von $a zurück und erhöht dann den Wert von $a um eins.
--$a | Prä-Dekrement | Vermindert den Wert von $a um eins (dekrementiert $a) und gibt anschließend den neuen Wert von $a zurück.
$a-- | Post-Dekrement | Gibt zuerst den aktuellen Wert von $a zurück und erniedrigt dann den Wert von $a um eins.

Ein einfaches Beispiel-Skript:

<?php
echo "<h3>Post-Inkrement</h3>";
$a = 5;
echo "Sollte 5 sein: " . $a++ . "<br />\n";
echo "Sollte 6 sein: " . $a . "<br />\n";

echo "<h3>Pre-Inkrement</h3>";
$a = 5;
echo "Sollte 6 sein: " . ++$a . "<br />\n";
echo "Sollte 6 sein: " . $a . "<br />\n";

echo "<h3>Post-Dekrement</h3>";
$a = 5;
echo "Sollte 5 sein: " . $a-- . "<br />\n";
echo "Sollte 4 sein: " . $a . "<br />\n";

echo "<h3>Pre-Dekrement</h3>";
$a = 5;
echo "Sollte 4 sein: " . --$a . "<br />\n";
echo "Sollte 4 sein: " . $a . "<br />\n";
?>

PHP folgt bei der Behandlung arithmetischer Operationen an Zeichenvariablen der Perl-Konvention und nicht der von C. Zum Beispiel wird in Perl aus 'Z'+1 'AA', während aus 'Z'+1 in C '[' wird ( ord('Z') == 90, ord('[') == 91 ). Beachten Sie, dass Zeichenvariablen zwar inkrementiert aber nicht dekrementiert werden können.

Beispiel #1 Arithmetrische Operationen an Zeichenvariablen

<?php
$i = 'W';
for($n=0; $n<6; $n++)
  echo ++$i . "\n";

/*
  Erzeugt in etwa folgende Ausgabe:

X
Y
Z
AA
AB
AC

*/
?>

Operatoren zur Programmausführung
Logische Operatoren
Operatoren


Logische Operatoren

Logische Operatoren
Beispiel | Name | Ergebnis
$a and $b | Und | TRUE wenn sowohl $a als auch $b TRUE ist.
$a or $b | Oder | TRUE wenn $a oder $b TRUE ist.
$a xor $b | Entweder Oder | TRUE wenn entweder $a oder $b TRUE ist, aber nicht beide.
! $a | Nicht | TRUE wenn $a nicht TRUE ist.
$a && $b | Und | TRUE wenn sowohl $a als auch $b TRUE ist.
$a || $b | Oder | TRUE wenn $a oder $b TRUE ist.

Der Grund dafür, dass es je zwei unterschiedliche Operatoren für die "Und"- und die "Oder"-Verknüpfung gibt ist der, dass die beiden Operatoren jeweils Rangfolgen haben. (siehe auch Operator-Rangfolge.)

Beispiel #1 Logische Operatoren dargestellt

<?php

// --------------------
// foo() wird nie aufgerufen werden, da die Operatoren umgangen werden

$a = (false && foo());
$b = (true  || foo());
$c = (false and foo());
$d = (true  or  foo());

// --------------------
// "||" hat eine größere Priorität als "or"

// Das Ergebnis des Ausdrucks (false || true) wird $e zugewiesen
// Funktioniert wie: ($e = (false || true))
$e = false || true;

// Die Konstante "false" wird $f zugewiesen und danach wird true ignoriert
// Funktioniert wie: (($e = false) or true)
$f = false or true;

var_dump($e, $f);

// --------------------
// "&&" hat eine größere Priorität als "and"

// Das Ergebnis des Ausdrucks (true && false) wird $g zugewiesen
// Funktioniert wie: ($g = (true && false))
$g = true && false;

// Die Konstante "true" wird $h zugewiesen und danach wird false ignoriert
// Funktioniert wie: (($h = true) and false)
$h = true and false;

var_dump($g, $h);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(true)
bool(false)
bool(false)
bool(true)
Inkrement- bzw. Dekrementoperatoren
Zeichenketten-Operatoren
Operatoren


Zeichenketten-Operatoren

Es gibt in PHP zwei Operatoren für string (Zeichenkette). Der erste ist der Vereinigungs-Operator ('.'), dessen Rückgabewert eine zusammengesetzte Zeichenkette aus dem rechten und dem linken Argument ist. Der zweite ist der Vereinigungs-Zuweisungsoperator ('.='), der das Argument auf der rechten Seite an das Argument der linken Seite anhängt. Siehe Zuweisungs-Operatoren für weitere Informationen.

<?php
$a = "Hallo ";
$b = $a . "Welt!"; // $b enthält jetzt den Text "Hallo Welt!"

$a = "Hallo ";
$a .= "Welt!";    // $a enthält jetzt den Text "Hallo Welt!"
?>

Siehe auch die Abschnitte über Strings / Zeichenketten und String-Funktionen.

Logische Operatoren
Array-Operatoren
Operatoren


Array-Operatoren

Array-Operatoren
Beispiel | Name | Ergebnis
$a + $b | Vereinigung | Vereinigung von $a und $b.
$a == $b | Gleichwertigkeit | TRUE wenn $a und $b die gleichen Schlüssel- und Wert-Paare enthalten.
$a === $b | Identität | TRUE wenn $a und $b die gleichen Schlüssel- und Wert-Paare in der gleichen Reihenfolge enthalten.
$a != $b | Ungleichheit | TRUE wenn $a nicht gleich $b ist.
$a <> $b | Ungleichheit | TRUE wenn $a nicht gleich $b ist.
$a !== $b | nicht identisch | TRUE wenn $a nicht identisch zu $b ist.

Der + Operator hängt das rechsstehende Array an das linksstehende Array an, wobei doppelte Schlüssel NICHT überschrieben werden.

<?php
$a = array("a" => "Apfel", "b" => "Banane");
$b = array("a" =>"Birne", "b" => "Erdbeere", "c" => "Kirsche");

$c = $a + $b; // Vereinigung von $a mit $b;
echo "Vereinigung von \$a mit \$b: \n";
var_dump($c);

$c = $b + $a; // Vereinigung von $b mit $a;
echo "Vereinigung von \$b mit \$a: \n";
var_dump($c);
?>
Dieses Skript gibt folgendes aus:
Vereinigung von $a mit $b:
array(3) {
  ["a"]=>
  string(5) "Apfel"
  ["b"]=>
  string(6) "Banane"
  ["c"]=>
  string(7) "Kirsche"
}
Vereinigung von $b mit $a:
array(3) {
  ["a"]=>
  string(4) "Birne"
  ["b"]=>
  string(8) "Erdbeere"
  ["c"]=>
  string(7) "Kirsche"
}

Beim Vergleich werden Arrayelemente als gleich angesehen, wenn diese dieselben Schlüssel und Werte beinhalten.

Beispiel #1 Array-Vergleiche

<?php
$a = array("Apfel", "Banane");
$b = array(1 => "Banane", "0" => "Apfel");

var_dump($a == $b); // bool(true)
var_dump($a === $b); // bool(false)
?>

Siehe auch die Abschnitte über Arrays und Array-Funktionen.

Zeichenketten-Operatoren
Typ Operatoren
Operatoren


Typ Operatoren

In PHP gibt es einen einzigen Typ Operator: instanceof. instanceof wird dazu verwendet um festzustellen, ob ein gegebenes Objekt ein Objekt ist, das zu einer bestimmten Klasse gehört.

instanceof wurde in PHP 5 eingeführt. Vorher wurde is_a() benutzt, aber is_a() ist veraltet und instanceof sollte stattdessen benutzt werden.

<?php
class A { }
class B { }

$ding = new A;

if ($ding instanceof A) {
    echo 'A';
}
if ($ding instanceof B) {
    echo 'B';
}
?>

Da $ding ein object vom Typ A und nicht von B ist, wird nur der Programmblock ausgeführt, der abhängig von Typ A ist:

A

Siehe auch get_class() und is_a().

Array-Operatoren
Kontrollstrukturen
Operatoren


Kontrollstrukturen

Inhaltsverzeichnis

  • Einführung
  • if
  • else
  • elseif/else if
  • Alternative Syntax für Kontrollstrukturen
  • while
  • do-while
  • for
  • foreach
  • break
  • continue
  • switch
  • declare
  • return
  • require
  • include
  • require_once
  • include_once
  • goto
Typ Operatoren
Einführung
Sprachreferenz


Einführung

Ein PHP-Skript besteht aus einer Abfolge von Anweisungen. Eine Anweisung kann eine Zuweisung, ein Funktionsaufruf oder ein bedingte Anweisung sein oder sogar eine Anweisung die nichts tut (eine leere Anweisung). Anweisungen enden in der Regel mit einem Semikolon. Anweisungen können des Weiteren in Anweisungsgruppen zusammengefasst werden indem sie in geschweifte Klammern eingeschlossen werden. Eine Anweisungsgruppe ist ebenfalls wieder eine Anweisung. Die verschiedenen Anweisungstypen werden in diesem Kapitel beschrieben.

Kontrollstrukturen
if
Kontrollstrukturen


if

(PHP 4, PHP 5, PHP 7)

Das if-Konstrukt ist eines der wichtigsten Features vieler Programmiersprachen, so auch in PHP, denn es ermöglicht die bedingte Ausführung von Kodefragmenten. PHP bietet eine if-Anweisung die der in C ähnelt:

if (expression)
  statement

expression wird wie im Abschnitt über Ausdrücke beschrieben zu einem boolschen Wahrheitswert ausgewertet. Evaluiert expression zu TRUE so wird statement von PHP ausgeführt, anderenfalls wird es ignoriert. Weitere Informationen dazu welche Werte als TRUE oder FALSE ausgewertet werden können Sie im Abschnitt 'Umwandlung zu boolean'.

Das folgende Beispiel würde a ist größer als b ausgeben wenn $a größer als $b ist:

<?php
if ($a > $b)
  echo "a ist größer als b";
?>

Oft werden Sie mehr als eine Anweisung bedingt ausführen wollen. Dazu ist es natürlich nicht möglich jede Anweisung mit einer eigenen if-Anweisung zu versehen. Sie können statt dessen mehrere Anweisung zu einer Anweisungsgruppe zusammenfassen. So würde z.B. der folgende Programmcode a ist größer als b ausgeben, falls $a größer als $b ist, und den Wert von $a an $b zuweisen:

<?php
if ($a > $b) {
  echo "a ist größer als b";
  $b = $a;
}
?>

If-Anweisungen können beliebig oft ineinander verschachtelt werden und bieten Ihnen so vollständige Flexibilität für die bedingte Ausführung der verschiedenen Teile Ihres Programs.

Einführung
else
Kontrollstrukturen


else

(PHP 4, PHP 5, PHP 7)

Oft will man eine Anweisung ausführen, wenn eine bestimmte Bedingung erfüllt ist, und eine andere Anweisung, wenn dies nicht der Fall ist. Dies ist der Einsatzzweck von else. else erweitert eine if-Anweisung um eine weitere Anweisung, die dann ausgeführt werden soll, wenn der Ausdruck in der if-Anweisung zu FALSE ausgewertet wird. Der folgende Programmcode würde z.B. a ist größer als b ausgeben, wenn $a größer als b ist, ansonsten a ist NICHT größer als b

<?php
if ($a > $b) {
  echo "a ist größer als b";
} else {
  echo "a ist NICHT größer als b";
}
?>
Die else Anweisung wird nur dann ausgeführt wenn der if Ausdruck und alle etwaigen elseif als FALSE ausgewertet wurden (siehe auch elseif).

if
elseif/else if
Kontrollstrukturen


elseif/else if

(PHP 4, PHP 5, PHP 7)

elseif, wie der Name schon sagt, ist eine Kombination aus if und else. Wie else erweitert es eine if-Kontrollstruktur, um alternative Befehle auszuführen, wenn die ursprüngliche if-Bedingung nicht zutrifft. Im Gegensatz zu else werden die Alternativ-Befehle aber nur ausgeführt, wenn die elseif-Bedingung zutrifft. Der folgende Beispielcode gibt a ist größer als b, a ist gleich groß wie b oder a ist kleiner als b aus:

<?php
if ($a > $b) {
    echo "a is größer als b";
} elseif ($a == $b) {
    echo "a ist gleich groß wie b";
} else {
    echo "a ist kleiner als b";
}
?>

Innerhalb einer if-Kontrollstruktur können mehrere elseif-Strukturen benutzt werden. Die erste, deren Bedingung zutrifft, wird ausgeführt. In PHP kann ebenfalls als Schlüsselwort 'else if' (in zwei Wörtern) benutzt werden, was sich komplett identisch wie 'elseif' (in einem Wort) verhält. Die syntaktische Bedeutung ist geringfügig anders (ähnlich wie in C), aber das Ergebnis ist, dass beide sich exakt genauso verhalten.

Der elseif-Teil wird nur ausgeführt, wenn die vorhergehende if-Bedingung und alle vorhergehenden elseif-Bedingungen nicht zutrafen (FALSE) und die aktuelle elseif-Bedingung zutrifft (TRUE).

Hinweis: Achtung: elseif und else if verhalten sich nur gleich, wenn geschwungene Klammern verwendet werden, wie im obigen Beispiel. Wenn ein Doppelpunkt zur Definition der if/elseif-Bedingungen benutzt wird, darf else if nicht in zwei Wörtern geschrieben werden, oder PHP wird das Skript mit einem Parse Error abbrechen.

<?php

/* Falsch: */
if($a > $b):
    echo $a." ist größer als ".$b;
else if($a == $b): // Funktioniert nicht.
    echo "Die vorige Zeile wird einen Parse Error verursachen.";
endif;

/* Richtig: */
if($a > $b):
    echo $a." ist größer als ".$b;
elseif($a == $b): // elseif in einem Wort!
    echo $a." ist gleich groß wie ".$b;
else:
    echo $a." ist weder größer als noch gleich wie ".$b;
endif;

?>

else
Alternative Syntax für Kontrollstrukturen
Kontrollstrukturen


Alternative Syntax für Kontrollstrukturen

(PHP 4, PHP 5, PHP 7)

PHP bietet eine alternative Syntax für einige seiner Kontrollstrukturen an, namentlich für if, while, for, foreach und switch. In jedem Fall ist die Grundform der alternativen Syntax ein Wechsel der öffnenden Klammer gegen einen Doppelpunkt (:) und der schließenden Klammer in endif;, endwhile, endfor;, endforeach; respektive endswitch.

<?php if ($a == 5): ?>
A ist gleich 5
<?php endif; ?>

Im obigen Beispiel ist der HTML-Block "A ist gleich 5" in ein if-Statement verschachtelt, das in alternativer Syntax notiert ist. Der HTML-Block würde nur angezeigt werden, wenn $a gleich 5 ist.

Die alternative Syntax lässt sich ebenfalls auf else und elseif anwenden. Im Folgenden wird eine if-Struktur mit elseif- und else-Teilen im alternativen Format gezeigt:

<?php
if ($a == 5):
    echo "a gleich 5";
    echo "...";
elseif ($a == 6):
    echo "a gleich 6";
    echo "!!!";
else:
    echo "a ist weder 5 noch 6";
endif;
?>

Hinweis:

Das Vermischen unterschiedlicher Schreibweisen im selben Kontrollblock ist nicht unterstützt.

Warnung

Jegliche Ausgabe (einschließlich Whitespace) zwischen einer switch Anweisung und dem ersten case ist ein Syntax Fehler. Zum Beispiel ist folgendes ungültig:

<?php switch ($foo): ?>
    <?php case 1: ?>
    ...
<?php endswitch ?>

Hingegen ist das folgende gültig, da das abschließende Zeilenende nach der switch Anweisung als Teil des schließenden ?> angesehen wird, und daher zwischen switch und case nichts ausgegeben wird:

<?php switch ($foo): ?>
<?php case 1: ?>
    ...
<?php endswitch ?>

Siehe auch while, for und if für weitere Beispiele.

elseif/else if
while
Kontrollstrukturen


while

(PHP 4, PHP 5, PHP 7)

while-Schleifen sind der einfachste Typ von Schleifen in PHP. Sie verhalten sich wie ihre Pendants in C. Die Grundform einer while-Schleife ist:

while (bedingung)
    anweisung

Die Bedeutung einer while-Schleife ist simpel. Die Schleife weist PHP an, die untergeordnete(n) Anweisung(en) wiederholt auszuführen, solange die while-Bedingung zutrifft. Die Bedingung wird jedes Mal am Anfang der Schleife überprüft, Das bedeutet, dass die Ausführung der untergeordneten Anweisungen nicht stoppt, auch wenn sich der Wahrheitsgehalt der Bedingung zwischendurch ändert (jedes Mal, wenn PHP die Anweisungen ausführt, handelt es sich um eine Runde). Wenn die while-Bedingung von Anfang an nicht zutrifft, werden die untergeordneten Anweisung nicht ein einziges Mal ausgeführt.

Wie bei if-Abfragen können mehrere Statements innerhalb der selben Schleife mit geschleiften Klammern oder mithilfe der alternativen Syntax gruppiert werden:

while (bedingung):
    anweisung
    ...
endwhile;

Die folgenden Beispiele sind identisch und geben die Zahlen von 1 bis 10 aus:

<?php
/* Beispiel 1 */

$i = 1;
while ($i <= 10) {
    echo $i++;  /* der ausgegebene Wert ist $i bevor
                   er erhöht wird (post-increment) */
}

/* Beispiel 2 */

$i = 1;
while ($i <= 10):
    echo $i;
    $i++;
endwhile;
?>

Alternative Syntax für Kontrollstrukturen
do-while
Kontrollstrukturen


do-while

(PHP 4, PHP 5, PHP 7)

do-while-Schleifen sind sehr ähnlich zu while-Schleifen, außer dass der Wahrheitsausdruck erst am Ende eines jeden Durchlaufs statt zu dessen Beginn geprüft wird. Der Hauptunterschied zu einer normalen while-Schleife ist, dass die do-while-Schleife garantiert mindestens einmal durchlaufen wird (Der Wahrheitsausdruck wird ja nur am Ende jeden Durchlaufs geprüft), wohingegen es nicht zwingend ist, dass eine reguläre while-Schleife immer ausgeführt wird (hier wird der Wahrheitsausdruck bereits zu Beginn eines jeden Durchlaufs überprüft. Evaluiert er dabei zu FALSE, wird die Verarbeitung der Schleife sofort abgebrochen).

Es gibt nur eine Syntax für do-while-Schleifen:

<?php
$i = 0;
do {
    echo $i;
} while ($i > 0);
?>

Die obige Schleife wird exakt einmal durchlaufen, da nach dem ersten Durchlauf, wenn der Wahrheitsausdruck geprüft wird, dieser FALSE ergibt ($i ist nicht größer als 0), so dass die Schleifenausführung beendet wird.

Fortgeschrittenen C-Programmierern ist möglicherweise eine etwas andere Verwendung von do-while-Schleifen bekannt, die es erlaubt, die Ausführung in der Mitte des Codeblocks zu unterbrechen. Dies wird durch ein Kapseln in do-while(0) und die Verwendung des break-Statements erreicht. Das folgende Codefragment demonstriert dieses Verhalten:

<?php
do {
    if ($i < 5) {
        echo "i ist nicht groß genug";
        break;
    }
    $i *= $factor;
    if ($i < $minimum_limit) {
        break;
    }
   echo "i ist ok";

    /* i verarbeiten */

} while (0);
?>

Seien Sie nicht traurig, wenn Sie dies nicht oder nicht ganz verstehen. Sie können trotzdem Skripte - und wirklich leistungsfähige Skripte! - programmieren, ohne dieses "Feature" zu verwenden. Seit PHP 5.3.0 ist es möglich, statt dieses Hacks den goto-Operator zu verwenden.

while
for
Kontrollstrukturen


for

(PHP 4, PHP 5, PHP 7)

for-Schleifen sind die komplexesten Schleifen in PHP. Sie verhalten sich wie ihre Pendants in C. Die Syntax einer for-Schleife ist:

for (expr1; expr2; expr3)
    statement

Der erste Ausdruck (expr1) wird vor Ausführung der Schleife ausgeführt.

Am Anfang jedes Schleifendurchlaufs wird die Anweisung expr2 ausgeführt. Wenn diese wahr ist (TRUE), wird die Schleife fortgesetzt und die untergeordneten Anweisungen werden ausgeführt. Andernfalls (FALSE) endet die Ausführung der Schleife.

Am Ende jedes Schleifendurchlaufs wird die Anweisung expr3 ausgeführt.

Jede der Anweisungen kann leer sein oder mehrere durch Kommata getrennte Anweisungen enthalten. In letzterem Fall werden bei expr2 zwar alle Anweisungen ausgeführt aber das Ergebnis wird nur von der letzten Anweisung verwendet. Wenn expr2 leer ist, läuft die Schleife unendlich lange (PHP nimmt dies als TRUE, ebenso wie C). Dies ist nicht so sinnlos, wie es scheint, denn oft will man die Schleife manuell mit break beenden.

Die folgenden Beispiele geben alle die Zahlen 1 bis 10 aus:

<?php
/* Beispiel 1 */

for ($i = 1; $i <= 10; $i++) {
    echo $i;
}

/* Beispiel 2 */

for ($i = 1; ; $i++) {
    if ($i > 10) {
        break;
    }
    echo $i;
}

/* Beispiel 3 */

$i = 1;
for (; ; ) {
    if ($i > 10) {
        break;
    }
    echo $i;
    $i++;
}

/* Beispiel 4 */

for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++);
?>

Sicher ist das erste das hübscheste (vielleicht auch das vierte), aber in manchen Fällen sind leere Anweisungen in for-Schleifen durchaus praktisch.

PHP untersützt bei for-Schleifen ebenfalls die alternative "Doppelpunkt-Syntax":

for (expr1; expr2; expr3):
    statement
    ...
endfor;

Es ist üblich, dass Arrays wie in dem folgenden Beispiel durchlaufen werden.

<?php
/*
 * Dies ist ein Array mit Daten, die wir in der
 * Schleife verändern wollen.
 */
$personen = array(
    array('name' => 'Hans', 'salt' => 856412),
    array('name' => 'Martin', 'salt' => 215863)
);

for($i = 0; $i < count($personen); ++$i) {
    $personen[$i]['salt'] = mt_rand(000000, 999999);
}
?>

Der obige Code kann langsam sein, weil die Größe des Arrays bei jedem Schleifendurchlauf abgerufen wird. Da sich die Größe nie ändern, kann die Schleife optimiert werden, indem man die Größe in einer Variablen zwischenspeichert, anstatt sie immer wieder mit count() abzurufen:

<?php
$personen = array(
    array('name' => 'Hans', 'salt' => 856412),
    array('name' => 'Martin', 'salt' => 215863)
);

for($i = 0, $groesse = count($personen); $i < $groesse; ++$i) {
    $personen[$i]['salt'] = mt_rand(000000, 999999);
}
?>

do-while
foreach
Kontrollstrukturen


foreach

(PHP 4, PHP 5, PHP 7)

Das foreach-Konstrukt bietet eine einfache Möglichkeit über Arrays zu iterieren. foreach arbeitet nur mit Arrays und Objekten zusammen und gibt beim Versuch es mit einer Variablen mit einem anderen Datentypen oder einer nicht initialisierten Variablen zu benutzen einen Fehler aus. Es gibt zwei Schreibweisen:

foreach (array_expression as $value)
    statement
foreach (array_expression as $key => $value)
    statement

Die erste Form durchläuft das in array_expression angegebene Array. Bei jedem Durchlauf wird der Wert des aktuellen Elementes der Variable $value zugewiesen und der interne Array-Zeiger um eins erhöht (womit im nächsten Durchlauf das nächste Element betrachtet wird).

Die zweite Form schreibt zusätzlich den Schlüssel des aktuellen Elementes in jedem Durchlauf in die Variable $key.

Es ist möglich, die Objektiteration anzupassen.

Hinweis:

Zu Beginn der Ausführung unter PHP 5 setzt foreach den internen Arrayzeiger automatisch auf das erste Element des Arrays zurück. Das bedeutet, dass es nicht notwendig ist vor einer foreach-Schleife reset() aufzurufen.

Da foreach sich unter PHP 5 auf den internen Arrayzeiger verlässt, kann es zu unerwartetem Verhalten führen, wenn dieser innerhalb der Schleife verändert wird.

Unter PHP 7 verwendet foreach den internen Arrayzeiger nicht.

Um Arrayelemente innerhalb der Schleife direkt verändern zu können, muss dem Variablennamen $value ein & vorangestellt werden. In diesem Fall wird dieser Variablen eine Referenz zugewiesen.

<?php
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
    $value = $value * 2;
}
// $arr ist nun array(2, 4, 6, 8)
unset($value); // Entferne die Referenz auf das letzte Element
?>

Warnung

Die Referenz eines $value auf das letzte Arrayelement bleiben auch nach der foreach-Schleife bestehen. Es wird empfohlen, diese durch unset() zu zerstören. Andernfalls ist folgendes Verhalten zu beobachten:

<?php
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
    $value = $value * 2;
}
// $arr ist jetzt array(2, 4, 6, 8)

// ohne ein unset($value), bleibt $value weiterhin eine Referenz auf das letzte Element: $arr[3]

foreach ($arr as $key => $value) {
    // $arr[3] wird mit jedem Wert von $arr aktualisiert...
    echo "{$key} => {$value} ";
    print_r($arr);
}
// bis schließlich der vorletzte Wert in den letzten Wert kopiert wird

// Ausgabe:
// 0 => 2 Array ( [0] => 2, [1] => 4, [2] => 6, [3] => 2 )
// 1 => 4 Array ( [0] => 2, [1] => 4, [2] => 6, [3] => 4 )
// 2 => 6 Array ( [0] => 2, [1] => 4, [2] => 6, [3] => 6 )
// 3 => 6 Array ( [0] => 2, [1] => 4, [2] => 6, [3] => 6 )
?>

Vor PHP 5.5.0 ist eine Referenz auf $value nur dann möglich, wenn das Array referenzierbar ist (d.h. es ist eine Variable). Der folgende Code funktioniert erst ab PHP 5.5.0:

<?php
foreach (array(1, 2, 3, 4) as &$value) {
    $value = $value * 2;
}
?>

Hinweis:

foreach unterstützt die Fehlerunterdrückung mittels '@' nicht.

Eventuell haben Sie bemerkt, dass folgendes identisch funktioniert:

<?php
$arr = array("eins", "zwei", "drei");
reset($arr);
while (list(, $value) = each($arr)) {
    echo "Wert: $value<br />\n";
}

foreach ($arr as $value) {
    echo "Wert: $value<br />\n";
}
?>

Das Folgende ist ebenfalls funktional identisch:

<?php
$arr = array("eins", "zwei", "drei");
reset($arr);
while (list($key, $value) = each($arr)) {
    echo "Schlüssel: $key; Wert: $value<br />\n";
}

foreach ($arr as $key => $value) {
    echo "Schlüssel: $key; Wert: $value<br />\n";
}
?>

Einige weitere Beispiele die die Nutzung demonstrieren:

<?php
/* foreach Beispiel 1: Nur Werte */

$a = array(1, 2, 3, 17);

foreach ($a as $v) {
    echo "Aktueller Wert von \$a: $v.\n";
}

/* foreach Beispiel 2: Werte (mit Schreibweise für Zugriff zur Veranschaulichung) */

$a = array(1, 2, 3, 17);

$i = 0; /* nur zur Veranschaulichung */

foreach ($a as $v) {
    echo "\$a[$i] => $v.\n";
    $i++;
}

/* foreach Beispiel 3: Schlüssel und Wert */

$a = array(
    "eins" => 1,
    "zwei" => 2,
    "drei" => 3,
    "siebzehn" => 17
);

foreach ($a as $k => $v) {
    echo "\$a[$k] => $v.\n";
}

/* foreach Beispiel 4: Mehrdimensionale Arrays */
$a = array();
$a[0][0] = "a";
$a[0][1] = "b";
$a[1][0] = "y";
$a[1][1] = "z";

foreach ($a as $v1) {
    foreach ($v1 as $v2) {
        echo "$v2\n";
    }
}

/* foreach Beispiel 5: Dynamische Arrays */

foreach (array(1, 2, 3, 4, 5) as $v) {
    echo "$v\n";
}
?>

Entpacken verschachtelter Arrays mit list()

(PHP 5 >= 5.5.0, PHP 7)

PHP 5.5 hat die Fähigkeit hinzugefügt über Arrays von Arrays zu iterieren und dabei die verschachtelten Arrays in Schleifenvariablen zu entpacken, indem man ein list() als Wert angibt.

For example:

<?php
$array = [
    [1, 2],
    [3, 4],
];

foreach ($array as list($a, $b)) {
    // $a enthält das erste Element des verschachtelten Arrays
    // und $b enthält das zweite Element
    echo "A: $a; B: $b\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

A: 1; B: 2
A: 3; B: 4

Es können auch weniger Elemente in list() angegeben werden als das verschachtelte Array enthält. In diesem Fall werden übrige Werte im Array ignoriert:

<?php
$array = [
    [1, 2],
    [3, 4],
];

foreach ($array as list($a)) {
    // Beachten Sie, dass es hier kein $b gibt.
    echo "$a\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1
3

Gibt es nicht ausreichend Elemente im Array, um list() zu füllen, wird eine Notice erzeugt.

<?php
$array = [
    [1, 2],
    [3, 4],
];

foreach ($array as list($a, $b, $c)) {
    echo "A: $a; B: $b; C: $c\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Notice: Undefined offset: 2 in example.php on line 7
A: 1; B: 2; C:

Notice: Undefined offset: 2 in example.php on line 7
A: 3; B: 4; C:

Changelog

Version | Beschreibung
7.0.0 | foreach verwendet den internen Arrayzeiger nicht mehr.
5.5.0 | Die Referenzierung von $value wird für Ausdrücke unterstützt. Zuvor wurden nur Variablen unterstützt.
5.5.0 | Das Entpacken verschachtelter Arrays mit list() wird unterstützt.

for
break
Kontrollstrukturen


break

(PHP 4, PHP 5, PHP 7)

break beendet die Ausführung der aktuellen for-, foreach-, while-, do-while- oder switch-Struktur.

break akzeptiert ein optionales numerisches Argument, das angibt, aus wievielen der es umschließenden verschachtelten Strukturen ausgebrochen werden soll. Der Standardwert ist 1; nur aus der unmittelbar umschließenden Verschachtelung wird ausgebrochen.

<?php
$arr = array('eins', 'zwei', 'drei', 'vier', 'stop', 'fünf');
while (list(, $val) = each($arr)) {
    if ($val == 'stop') {
        break;    /* Sie könnten hier auch 'break 1;' schreiben. */
    }
    echo "$val<br />\n";
}

/* Nutzung des optionalen Arguments. */

$i = 0;
while (++$i) {
    switch ($i) {
    case 5:
        echo "Bei 5<br />\n";
        break 1;  /* Verlässt nur das switch. */
    case 10:
        echo "Bei 10; brich ab<br />\n";
        break 2;  /* Verlässt das switch und das while. */
    default:
        break;
    }
}
?>

Changelog für break
Version | Beschreibung
5.4.0 | break 0; ist nicht länger gültig. In früheren Versionen wurde es genauso interpretiert wie break 1;.
5.4.0 | Die Möglichkeit eine Variable als numerisches Argument zu übergeben (z.B., $num = 2; break $num;) wurde entfernt.

foreach
continue
Kontrollstrukturen


continue

(PHP 4, PHP 5, PHP 7)

continue wird innerhalb von Schleifen verwendet, um den Rest des aktuellen Schleifendurchlaufs abzubrechen und mit der Auswertung der nächsten Bedingung fortzufahren, um dann den nächsten Durchlauf zu beginnen.

Hinweis: In PHP wird das switch-Statement im Sinne von continue als Schleifenstruktur betrachtet. continue verhält sich wie break (wenn keine Argumente übergeben werden). Falls sich ein switch innerhalb einer Schleife befindet, wird continue 2 mit der nächsten Iteration der äußeren Schleife fortsetzen.

continue akzeptiert ein optionales numerisches Argument, das angibt, wie viele Ebenen umschließender Schleifen bis zu ihrem Ende übersprungen werden sollen. Die Voreinstellung ist 1, so dass zum Ende der aktuellen Schleife gesprungen wird.

<?php
while (list($key, $value) = each($arr)) {
    if (!($key % 2)) { // ignoriere gerade Werte
        continue;
    }
    mach_etwas_ungerade($value);
}

$i = 0;
while ($i++ < 5) {
    echo "Äußere<br />\n";
    while (1) {
        echo "Mittlere<br />\n";
        while (1) {
            echo "Innere<br />\n";
            continue 3;
        }
        echo "Das hier wird nie ausgegeben.<br />\n";
    }
    echo "Das hier ebenfalls nicht.<br />\n";
}
?>

Das Weglassen des Semikolons nach continue kann zu unerwarteten Ergebnissen führen. Hier ist ein Beispiel, das zeigt, was Sie nicht tun sollten.

<?php
for ($i = 0; $i < 5; ++$i) {
    if ($i == 2)
        continue
    print "$i\n";
}
?>

Man könnte meinen, die Ausgabe wäre:

0
1
3
4

aber in PHP Versionen vor 5.4.0 gibt das Skript in Wirklichkeit ...

2

... aus, da continue print "$i\n"; als ein Ausdruck ausgewertet wird, und print somit nur aufgerufen wird, wenn $i == 2 ist. (Der Rückgabewert von print wird an continue als numerisches Argument übergeben.)

Hinweis:

Von PHP 5.4.0 an erzeugt das obige Beispiel einen E_COMPILE_ERROR Fehler.

Changelog für continue
Version | Beschreibung
5.4.0 | continue 0; ist nicht länger gültig. In vorherigen Versionen wurde es analog continue 1; interpretiert.
5.4.0 | Die Möglichkeit Variablen (z.B., $num = 2; continue $num;) als numerisches Argument übergeben zu können wurde entfernt

break
switch
Kontrollstrukturen


switch

(PHP 4, PHP 5, PHP 7)

Die switch Anweisung entspricht in etwa einer Folge von if Anweisungen die jeweils den gleichen Ausdruck prüfen. Es kommt oft vor, dass man dieselbe Variable (oder denselben Ausdruck) gegen viele verschiedene mögliche Werte prüfen und abhängig davon unterschiedlichen Code ausführen möchte. Genau hierfür wurde die switch Anweisung eingeführt.

Hinweis: Beachten Sie, dass im Unterschied zu einigen anderen Sprachen die continue Anweisung auch auf switch anwendbar ist und sich ähnlich wie break verhält. Wenn Sie ein switch innerhalb einer Schleife verwenden und mit dem nächsten Schleifendurchlauf beginnen wollen so müssen Sie in diesem Fall continue 2 angeben.

Hinweis:

Beachten Sie auch, dass switch/case typschwache Vergleiche durchführt.

Changelog
Version | Beschreibung
7.0.0 | Mehrere default case Anweisungen erzeugen einen E_COMPILE_ERROR Fehler.

Die folgenden beiden Beispiele zeigen zwei verschiedene Wege um das gleiche Verhalten zu erreichen. Eines benutzt eine Folge von if und elseif Anweisungen, das andere eine switch Anweisung:

Beispiel #1 switch Anweisung

<?php
if ($i == 0) {
    echo "i ist gleich 0";
} elseif ($i == 1) {
    echo "i ist gleich 1";
} elseif ($i == 2) {
    echo "i ist gleich 2";
}

switch ($i) {
    case 0:
        echo "i ist gleich 0";
        break;
    case 1:
        echo "i ist gleich 1";
        break;
    case 2:
        echo "i ist gleich 2";
        break;
}
?>

Beispiel #2 switch gestattet die Verwendung von Strings

<?php
switch ($i) {
    case "Apfel":
        echo "i ist Apfel";
        break;
    case "Balken":
        echo "i ist Balken";
        break;
    case "Kuchen":
        echo "i ist Kuchen";
        break;
}
?>

Um Fehler zu vermeiden ist es wichtig zu verstehen wie eine switch Anweisung ausgeführt wird. Eine switch Anweisung wird zeilenweise (genauer: Anweisung für Anweisung) ausgewertet. Zunächst einmal wird überhaupt kein Code ausgeführt. Erst wenn eine case Anweisung gefunden wird, deren Ausdruck zu einem Wert evaluiert, der dem an switch übergebenen Ausdruck entspricht, beginnt PHP tatsächlich die folgenden Anweisungen auszuführen. Die Ausführung wird fortgesetzt bis das Ende der switch Anweisung erreicht ist oder bis PHP bei der Ausführung auf eine break Anweisung stößt. Wenn Sie am Ende der Anweisungsliste eines case kein break setzen, so wird die Ausführung mit dem nächsten case fortgesetzt, z.B.:

<?php
switch ($i) {
    case 0:
        echo "i ist gleich 0";
    case 1:
        echo "i ist gleich 1";
    case 2:
        echo "i ist gleich 2";
}
?>

Wenn in diesem Beispiel $i gleich 0 ist, führt PHP alle echo Anweisungen aus! Ist $i gleich 1, führt PHP die letzten beiden echo Anweisungen aus. Sie erreichen das erwartete Verhalten nur, wenn $i gleich 2 ist. Daher ist es wichtig break Anweisungen nicht zu vergessen (auch wenn Sie gelegentlich absichtlich darauf verzichten werden, diese unter bestimmten Bedingungen anzugeben).

In einer switch Anweisung wird die Bedingung nur einmal ausgewertet und das Ergebnis mit jeder case Anweisung verglichen. In einer elseif Anweisung wird die Bedingung erneut ausgewertet. Wenn Ihre Bedingung komplizierter ist als ein einfacher Vergleich, und/oder sich in einer dichten Schleife befindet, kann ein switch schneller sein.

Die Anweisungsliste eines case kann ebenso leer sein, was einfach die Kontrolle an die Anweisungsliste des nächsten case übergibt.

<?php
switch ($i) {
case 0:
case 1:
case 2:
    echo "i ist kleiner als 3, aber nicht negativ";
    break;
case 3:
    echo "i ist 3";
}
?>

Ein Sonderfall ist die default Klausel. Diese fängt alles ab, was nicht durch eine der anderen case Klauseln behandelt wurde. Zum Beispiel:

<?php
switch ($i) {
    case 0:
        echo "i ist gleich 0";
        break;
    case 1:
        echo "i ist gleich 1";
        break;
    case 2:
        echo "i ist gleich 2";
        break;
    default:
       echo "i ist nicht gleich 0, 1 oder 2";
}
?>

Die alternative Syntax für Kontrollstrukturen wird für switch Anweisungen unterstützt. Weitere Information entnehmen Sie Alternative Syntax für Kontrollstrukturen.

<?php
switch ($i):
    case 0:
        echo "i ist gleich 0";
        break;
    case 1:
        echo "i ist gleich 1";
        break;
    case 2:
        echo "i ist gleich 2";
        break;
    default:
        echo "i ist nicht gleich 0, 1 oder 2";
endswitch;
?>

Es ist möglich ein Semikolon anstelle eines Doppelpunkts nach einem case zu verwenden, wie:

<?php
switch($beer)
{
    case 'Bitburger';
    case 'Erdinger';
    case 'Jever';
        echo 'Gute Wahl';
    break;
    default;
        echo 'Bitte treffen Sie eine andere Wahl...';
    break;
}
?>

continue
declare
Kontrollstrukturen


declare

(PHP 4, PHP 5, PHP 7)

Das declare-Konstrukt wird verwendet, um Ausführungsdirektiven für einen Codeblock festzulegen. Die Syntax von declare ist ähnlich wie die Syntax anderer Ablauf-Kontrollstrukturen:

declare (directive)
    statement

Die directive-Sektion erlaubt es, das Verhalten des declare-Blocks anzugeben. Aktuell werden nur drei Direktiven unterstützt: die ticks-Direktive (siehe unten für weitere Informationen über die ticks-Direktive), die encoding-Direktive (siehe unten für weitere Informationen über die encoding-Direktive), und die strict_types-Direktive (siehe den Abschnitt über strict auf der Seite über Funktionsargumente).

Version | Beschreibung
5.3.0 | Die encoding-Direktive hinzugefügt
7.0.0 | Die strict_types-Direktive hinzugefügt

Hinweis: Die Encoding-Direktive wurde in PHP 5.3.0 hinzugefügt.

Da Direktiven behandelt werden, wenn die Datei kompiliert wird, dürfen nur Literale als Direktiven-Werte angegeben werden. Variable und Konstante können nicht verwendet werden. Zur Veranschaulichung:

<?php
// Dies ist erlaubt:
declare(ticks=1);

// Dies ist ungültig:
const TICK_VALUE = 1;
declare(ticks=TICK_VALUE);
?>

Der statement-Teil des declare-Blocks wird ausgeführt - wie genau die Ausführung aussieht und welche Seiteneffekte während der Ausführung auftreten können, ist abhängig von der im directive-Block gesetzten Direktive.

Das declare-Konstrukt kann außerdem im globalen Sichtbarkeitsbereich verwendet werden, es hat dann Auswirkungen auf den gesamten folgenden Code (wird die Datei mit der declare-Anweisung inkludiert, hat die Anweisung jedoch keine Auswirkung auf das einbindende File).

<?php
// dies sind gleichwertige Schreibweisen:

// Sie können diese Schreibweise verwenden:
declare(ticks=1) {
    // hier das vollständige Skript einfügen
}

// oder diese:
declare(ticks=1);
// hier das vollständige Skript einfügen
?>

Ticks

Ein Tick ist ein Event, das für alle N Low-Level-Statements auftritt, die vom Parser innerhalb des declare-Blocks ausgeführt werden. Der Wert für N wird durch die Verwendung von ticks=N innerhalb der directive-Sektion des declare-Blocks angegeben.

Nicht alle Statements führen zu einem Tick-Event. So etwa Konditionen und Argumente.

Das/die bei jedem Tick auftretenden Event(s) werden durch die Verwendung der Funktion register_tick_function() angegeben. Betrachten Sie das folgende Beispiel für mehr Details. Beachten Sie, dass mehr als ein Event bei jedem Tick auftreten kann.

Beispiel #1 Tick Nutzungsbeispiel

<?php

declare(ticks=1);

// Funktion, welche bei jeden Tick-Event aufgerufen wird
function tick_handler()
{
    echo "tick_handler() aufgerufen\n";
}

register_tick_function('tick_handler');

$a = 1;

if ($a > 0) {
    $a += 2;
    print($a);
}

?>

Beispiel #2 Tick Nutzungsbeispiel

<?php

function tick_handler()
{
    echo "tick_handler() aufgerufen\n";
}

$a = 1;
tick_handler();

if ($a > 0) {
    $a += 2;
    tick_handler();
    print($a);
    tick_handler();
}
tick_handler();

?>

Siehe auch register_tick_function() und unregister_tick_function().

Encoding

Das Encoding eines Skripts kann pro Skript mittels der Encoding-Direktive festgelegt werden.

Beispiel #3 Das Encoding eines Skripts deklarieren.

<?php
declare(encoding='ISO-8859-1');
// hier folgt der Code
?>

Achtung

Die einzig zulässige Syntax für ein declare, das mit Namespaces kombiniert wird, ist declare(encoding='...');, wobei ... der Name des Encodings ist. declare(encoding='...') {} führt zu einem Parse-Error, wenn es mit Namespaces kombiniert wird.

Der encodete declare-Wert wird in PHP 5.3 ignoriert, sofern PHP nicht mit --enable-zend-multibyte kompiliert wurde.

PHP bietet abgesehen von phpinfo() keine Möglichkeit zur Laufzeit herauszufinden, ob es mit --enable-zend-multibyte kompiliert wurde.

See also zend.script_encoding.

switch
return
Kontrollstrukturen


return

(PHP 4, PHP 5, PHP 7)

return gibt die Programmsteuerung an das aufrufende Modul zurück. Die Ausführung wird mit dem Ausdruck fortgesetzt, der dem Aufruf des aufgerufenden Moduls folgt.

Wenn innerhalb einer Funktion aufgerufen, beendet return augenblicklich die Ausführung der Funktion und übergibt den Parameter als Rückgabewert der Funktion. return beendet ebenfalls die Ausführung von Code innerhalb von eval() oder einer Datei.

Wenn im globalen Raum aufgerufen, endet die Ausführung des Skripts. Wenn das aktuelle Skript mit include oder require eingebunden ist, endet nur die Ausführung der eingebundenen Datei und der Wert, der an return übergeben wurde, wird zum Rückgabewert des Aufrufs von include/require. Wenn return im Hauptskript aufgerufen wird, endet das gesamte Skript. Wenn das aktuelle Skript durch die Konfigurationsdirektiven auto_prepend_file oder auto_append_file aufgerufen wurde, wird die Ausführung dieses Skripts beendet.

Für mehr Informationen, siehe die Dokumentation zu Rückgabewerten.

Hinweis: Weil return ein Sprachkonstrukt und keine Funktion ist, sind die Klammern um das Argument optional. Es ist üblich, sie auszulassen, und dies wird ausdrücklich empfohlen, weil PHP in diesem Fall weniger zu tun hat.

Hinweis: Wenn kein Parameter übergeben wird, dürfen die Klammern nicht gesetzt werden und NULL wird zurückgegeben. Der Aufruf von return mit Klammern aber ohne Parameter verursacht einen Parse Error.

Hinweis: Das Zurückgeben von Referenzen funktioniert nicht, wenn Klammern um den Parameter verwendet werden. Bei return ($a); wird nicht die Variable $a sondern das Ergebnis des Ausdrucks ($a) zurückgegeben (was selbstverständlich der Wert von $a ist).

declare
require
Kontrollstrukturen


require

(PHP 4, PHP 5, PHP 7)

require entspricht im Wesentlichen include, wirft aber im Fehlerfall einen E_COMPILE_ERROR Fehler. Es beendet also die Programmausführung während include nur eine Warnung (E_WARNING) generiert und so die weitere Programmausführung gestattet.

Weitere Informationen hierzu finden Sie in der include-Dokumentation.

return
include
Kontrollstrukturen


include

(PHP 4, PHP 5, PHP 7)

include bindet eine angegebene Datei ein und führt sie aus.

Die folgende Dokumentation trifft ebenfalls auf require zu.

Dateien werden unter dem angegebenen Pfad gesucht, oder, wenn keiner gegeben ist, im include_path. Wenn die Datei auch im include_path nicht gefunden werden kann, sucht include noch in dem Verzeichnis der aufrufenden Datei und dem aktuellen Arbeitsverzeichnis. Wenn keine Datei gefunden wurde, erzeugt include eine Warnung, im Gegensatz dazu erzeugt require in diesem Fall einen Fatal Error.

Wenn ein Pfad angegeben ist — ob absolut (beginnend mit einem Laufwerksbuchstaben oder \ auf Windows oder / auf Unix/Linux) oder relativ (beginnend mit . oder ..), wird der include_path ignoriert. Wenn der Dateiname beispielsweise mit ../ beginnt, sucht der Parser im übergeordneten Verzeichnis des aktuellen Arbeitsverzeichnisses nach der Datei.

Mehr Informationen über den Umgang PHPs mit dem Einbinden von Dateien im Zusammenhang mit dem include_path, siehe die Dokumentation zu include_path.

Wenn eine Datei eingebunden wird, wird für den enthaltenen Code der gleiche Geltungsbereich für Variablen übernommen, der für die Zeile gilt, die den include-Befehl aufruft. Jede für diese Zeile verfügbare Variable ist in dem eingebundenen Code verfügbar und jede Variable, die in der eingebundenen Datei gesetzt wird, steht dem weiteren aufrufenden Skript zur Verfügung, als wäre sie in der Zeile, in der include aufgerufen wird, definiert worden. Alle Funktionen und Klassen in der eingebundenen Datei gehören zum globalen Geltungsbereich.

Beispiel #1 Grundlegendes include-Beispiel

vars.php
<?php

$farbe = 'grün';
$frucht = 'Apfel';

?>

test.php
<?php

echo "Der $frucht ist $farbe."; // Der  ist  .

include 'vars.php';

echo "Der $frucht ist $farbe"; // Der Apfel ist grün

?>

Wenn include innerhalb einer Funktion aufgerufen wird, verhält sich der gesamte Code aus der aufgerufenen Datei wie wenn er in der Funktion stände. Folglich hat er den selben Variablen-Gültigkeitsbereich wie diese Funktion. Eine Ausname von dieser Regel sind Magische Konstanten, die geparst werden, bevor die Einbindung durchgeführt wird.

Beispiel #2 Include in Funktionen

<?php

function foo()
{
    global $farbe;

    include 'vars.php';

    echo "Der $frucht ist $farbe.";
}

/* vars.php ist im Gültigkeitsbereich von foo(),  *
 * sodass $frucht außerhalb von diesem Bereich    *
 * nicht verfügbar ist. $farbe ist auch außerhalb *
 * verfügbar, weil es als global deklariert ist.  */

foo();                            // Der Apfel ist grün.
echo "Der $frucht ist $farbe.";   // Der  ist grün.

?>

Wenn eine Datei eingebunden wird, wechselt der Parser am Anfang der eingebundenen Datei in den HTML-Modus und am Ende wieder in den PHP-Modus. Aus diesem Grund muss jeder PHP-Code in der eingebundenen Datei mit gültigen PHP-Start- und -Endtags umschlossen sein.

Wenn "include-URL-Wrapper" aktiviert sind (was sie in der Standard-Konfiguration sind), kann die einzubindende Datei mit einem URL (über HTTP oder ein anderes unterstütztes Protokoll - siehe Unterstützte Protokolle und Wrapper für eine Liste unterstützter Protokolle) anstall eines lokalen Pfades eingebunden werden. Wenn der Zielserver die Zieldatei als PHP-Code interpretiert, können Variablen an die einzubindende Datei mithilfe von HTTP-GET-Query-Strings übergeben werden, obwohl dies nicht das selbe ist, wie wenn man die Datei einbindet und sie den Variablenbereich übernimmt; das Skript läuft weiterhin auf dem entfernten Server und das Ergebnis wird in das lokale Skript eingebunden.

Beispiel #3 include über HTTP

<?php

/* Dieses Beispiel setzt voraus, dass www.example.com konfiguriert ist, *
 * .php-Dateien als PHP-Skripte zu interpretieren und .txt-Dateien      *
 * nicht. Des Weiteren meint 'Funktioniert' hier, dass die Variablen    *
 * $foo und $bar innerhalb der eingebundenen Datei verfügbar sind.      */

// Funktioniert nicht; file.txt wird von www.example.com nicht als PHP interpretiert
include 'http://www.example.com/file.txt?foo=1&bar=2';

// Funktioniert nicht; hier wird nach einer Datei mit dem Namen
// 'file.php?foo=1&bar=2' im lokalen Dateisystem gesucht.
include 'file.php?foo=1&bar=2';

// Funktioniert
include 'http://www.example.com/file.php?foo=1&bar=2';

$foo = 1;
$bar = 2;
include 'file.txt';  // Funktioniert
include 'file.php';  // Funktioniert

?>

Warnung

Sicherheits-Warnung

Die entfernte Datei mag vom entfernten Server (je nach Konfiguration) geparst werden oder nicht, aber sie muss weiterhin ein gültiges PHP-Skript ausgeben, weil die Ausgabe auf dem lokalen Server als PHP ausgeführt wird. Wenn die Ausgabe des vom entfernten Server nur ausgegeben werden soll, ist readfile() die bessere Wahl. Andernfalls muss sehr gut acht gegeben werden, dass das entfernte Skript sicher gültigen und erwünschten Code ausgibt!

Siehe auch Entfernte Dateien, fopen() und file() für verwandte Informationen.

Umgang mit Rückgabewerten: include gibt im Fehlerfall FALSE zurück und und generiert eine Warnung. Erfolgreiches Einbinden, außer überschrieben durch die eingebundene Datei, gibt 1 zurück. Es ist möglich, in der eingebundenen Datei return aufzurufen um den Ablauf dieser Datei abzubrechen und zu dem einbindenden Skript zurückzukehren. Der zurückgegebene Wert kann als Rückgabewert des include-Aufrufs abgefragt werden, wie bei einer normalen Funktion. Dies ist beim Einbinden entfernter Dateien nur möglich, wenn die entfernte Datei mit gültigen PHP Start- und Endtags umschlossen ist (wie bei jeder lokalen Datei). Es ist möglich, die benötigten Variablen innerhalb diese Tags zu deklarieren und sie werden im einzubindenden Skript am dem Punkt, an dem die Datei eingebunden wird, verfügbar.

Weil include eine spezielles Sprachkonstrukt ist, sind die Klammern um das Argument optional. Beim Vergleichen des Rückgabewerts muss allerdings aufgepasst werden (siehe Beispiel).

Beispiel #4 Vergleichen des Rückgabewerts von include

<?php
// funktioniert nicht, wird als include(('vars.php') == TRUE) behandelt
// also als include('')
if (include('vars.php') == TRUE) {
    echo 'OK';
}

// Funktioniert
if ((include 'vars.php') == TRUE) {
    echo 'OK';
}
?>

Beispiel #5 include und return

return.php
<?php

$var = 'PHP';

return $var;

?>

noreturn.php
<?php

$var = 'PHP';

?>

testreturns.php
<?php

$foo = include 'return.php';

echo $foo; // gibt 'PHP' aus

$bar = include 'noreturn.php';

echo $bar; // gibt 1 aus

?>

$bar hat den Wert 1, weil das Einbinden erfolgreich war. Die erste Datei nutzt return, was die andere nicht tut. Wenn das Einbinden fehlschlägt, wird FALSE zurückgegeben und ein Fehler der Kategorie E_WARNING erzeugt.

Wenn in der eingebundenen Datei Funktionen definiert werden, können sie in der einbindenden Datei genutzt werden, unabhängig davon, ob sie vor oder nach return definiert werden. Wenn eine Datei zweimal eingebunden wird, erzeugt PHP 5 einen fatalen Fehler, weil Funktionen bereits definiert wurden, während PHP 4 Funktionen, die nach return definiert werden, ignoriert. Es ist empfohlen, include_once zu nutzen, anstatt zu überprüfen, ob die Datei bereits eingebunden wurde, und abhängig davon innerhalb der eingebundenen Datei zu handeln.

Ein anderer Weg, die Ausgabe eines eingebundenen Skriptes in eine Variable zu schreiben, ist das Arbeiten mit den Funktionen zur Steuerung des Ausgabepuffers mit include. Beispiel:

Beispiel #6 Nutzung des Ausgabepuffers um eine Datei "in einen String" einzubinden

<?php
$string = get_include_contents('somefile.php');

function get_include_contents($filename) {
    if (is_file($filename)) {
        ob_start();
        include $filename;
        return ob_get_clean();
    }
    return false;
}

?>

Um automatisch Dateien in Skripte einzubinden, siehe auch die Konfigurationsdirektiven auto_prepend_file und auto_append_file in php.ini.

Hinweis: Da dies ein Sprachkonstrukt und keine Funktion ist, können Sie dieses nicht mit Variablenfunktionen verwenden.

Siehe auch require, require_once, include_once, get_included_files(), readfile(), virtual(), und include_path.

require
require_once
Kontrollstrukturen


require_once

(PHP 4, PHP 5, PHP 7)

Die require_once entspricht im Wesentlichen der Funktion require. PHP prüft hier allerdings ob die gewünschte Datei bereits eingebunden wurde und wird sie in diesem Fall nicht ein weiteres mal einbinden.

Nähere Informationen zum Verhalten von _once und wie es sich von seinem nicht-_once-Gegenstück unterscheidet finden Sie in der Dokumentation zu include_once.

include
include_once
Kontrollstrukturen


include_once

(PHP 4, PHP 5, PHP 7)

include_once bindet eine angegebene Datei ein und führt sie als PHP-Skript aus. Dieses Verhalten ist identisch zu include, mit dem einzigen Unterschied, dass die Datei, wenn sie bereits eingebunden wurde, nicht erneut eingebunden wird, und include_once TRUE zurückgibt. Wie der Name schon sagt, wird die Datei nur einmal eingebunden werden.

include_once kann beispielsweise benutzt werden, wenn die selbe Datei an mehreren Stellen eingebunden wird, um Problemen durch erneute Definitionen von Funktionen, erneute Zuweisung von Variablen oder ähnliches zu vermeiden.

Für die Funktionsweise der Funktion, siehe die Dokumentation zu include.

Hinweis:

Mit PHP 4 wird auf Betriebssystemen, die bei Dateinamen nicht zwischen Groß- und Kleinschreibung unterscheiden (wie Windows), bei _once dennoch zwischen Groß- und Kleinschreibung unterschieden, wie das folgende Beispiel zeigt:

Beispiel #1 include_once mit einem case-insensitive Betriebssystem und PHP 4

<?php
include_once "a.php"; // a.php wird eingebunden.
include_once "A.php"; // a.php wird nochmal eingebunden! (Nur in PHP 4)
?>

Dieses Verhalten hat sich in PHP 5 geändert, so dass zum Beispiel bei Windows der Pfad zuerst normalisiert wird, sodass C:\PROGRA~1\A.php und C:\Program Files\a.php als das selbe erkannt und nur einmal eingebunden werden.

require_once
goto
Kontrollstrukturen


goto

(PHP 5 >= 5.3.0, PHP 7)

Was ist das schlimmste, was passieren könnte, wenn man goto benutzt?
Bild von » xkcd

Der goto-Operator kann benutzt werden, um innerhalb eines Programs zu einer anderen Anweisung zu springen. Die Zielanweisung wird durch einen Namen gefolgt von einem Doppelpunkt festgelegt und der goto-Anweisung wird der entsprechende Zielname angefügt. Hierbei handelt es sich jedoch nicht um ein vollständig uneingeschränktes goto: Die Zielanweisung muss in der selben Datei und im selben Kontext liegen, d.h. dass weder aus einer Funktion oder Methode herausgesprungen werden kann, noch in sie hineingesprungen. Weiterhin kann nicht in eine Schleifen- oder switch-Anweisung hineingesprungen werden. Es ist jedoch möglich aus diesen hinauszuspringen, weshalb goto häufig als Ersatz für ein mehrstufiges break verwendet wird.

Beispiel #1 goto-Beispiel

<?php
goto a;
echo 'Foo';

a:
echo 'Bar';
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Bar

Beispiel #2 goto Schleifenbeispiel

<?php
for ($i=0, $j=50; $i<100; $i++) {
  while ($j--) {
    if ($j==17) goto end;
  }
}
echo "i = $i";
end:
echo 'j hit 17';
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

j hit 17

Beispiel #3 Das wird nicht funktionieren

<?php
goto loop;
for ($i=0, $j=50; $i<100; $i++) {
  while ($j--) {
    loop:
  }
}
echo "$i = $i";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Fatal error: 'goto' into loop or switch statement is disallowed in
script on line 2

Hinweis:

Der goto-Operator ist ab PHP 5.3 verfügbar.

include_once
Funktionen
Kontrollstrukturen


Funktionen

Inhaltsverzeichnis

  • Benutzerdefinierte Funktionen
  • Funktionsparameter
  • Rückgabewerte
  • Variablenfunktionen
  • Interne (eingebaute) Funktionen
  • Anonyme Funktionen
goto
Benutzerdefinierte Funktionen
Sprachreferenz


Benutzerdefinierte Funktionen

Eine Funktion kann wie folgt definiert werden:

Beispiel #1 Pseudocode zur Demonstration der Nutzung von Funktionen

<?php
function foo($arg_1, $arg_2, ..., $arg_n)
{
    echo "Beispielfunktion.\n";
    return $retval;
}
?>

Jeder beliebige korrekte PHP-Code kann in einer Funktion vorkommen, sogar andere Funktionen und Klassen-Definitionen.

Für Funktionsnamen gelten in PHP die gleichen Regeln wie für andere Bezeichner. Ein gültiger Funktionsname beginnt mit einem Buchstaben oder Unterstrich gefolgt von einer beliebigen Anzahl von Buchstaben, Ziffern und Unterstrichen. Als regulärer Ausdruck wird dies so ausgedrückt: [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*.

Tipp

Siehe auch Userland Naming Guide.

Es ist nicht erforderlich, dass Funktionen bereits definiert sein müssen, wenn auf sie verwiesen wird, außer wenn eine Funktion nur bedingt definiert wird, wie in den beiden untenstehenden Beispielen gezeigt.

Wenn eine Funktion nur unter bestimmten Bedingungen definiert wird, wie in den beiden folgenden Beispielen, muss die Definition dieser Funktion noch vor deren Aufruf abgearbeitet werden.

Beispiel #2 Bedingte Funktionen

<?php

$makefoo = true;

/* Wir können foo() von hier aus nicht
   aufrufen, da sie noch nicht existiert,
   aber wir können bar() aufrufen */

bar();

if ($makefoo) {
  function foo ()
  {
    echo "Ich existiere nicht, bis mich die Programmausführung erreicht hat.\n";
  }
}

/* Nun können wir foo() sicher aufrufen,
   da $makefoo als true ausgewertet wurde */

if ($makefoo) foo();

function bar()
{
  echo "Ich existiere sofort nach Programmstart.\n";
}

?>

Beispiel #3 Funktionen innerhalb von Funktionen

<?php
function foo()
{
  function bar()
  {
    echo "Ich existiere nicht, bis foo() aufgerufen wurde.\n";
  }
}

/* Wir können bar() noch nicht
   aufrufen, da es nicht existiert */

foo();

/* Nun können wir auch bar() aufrufen,
   da sie durch die Abarbeitung von
   foo() verfügbar gemacht wurde */

bar();

?>

Alle Funktionen und Klassen in PHP existieren im globalen Namensraum - sie können außerhalb von Funktionen aufgerufen werden, selbst wenn sie innerhalb einer Funktion definiert wurden und umgekehrt.

PHP unterstützt weder das Überladen von Funktionen, noch ist es möglich, zuvor deklarierte Funktionen neu zu definieren oder die Definition zu löschen.

Hinweis: Groß- und Kleinschreibung spielt zwar bei Funktionsnamen keine Rolle, es empfiehlt sich aber trotzdem bei Funktionsaufrufen die gleiche Schreibweise wie in der Deklaration zu benutzen.

Sowohl eine variable Anzahl Parameter als auch Vorgabewerte für Parameter werden in Funktionen unterstützt. Siehe auch die Funktionsreferenzen für func_num_args(), func_get_arg() und func_get_args() für weitere Informationen.

Es ist in PHP möglich, Funktionen rekursiv aufzurufen.

Beispiel #4 Rekursive Funktionen

<?php
function recursion($a)
{
    if ($a < 20) {
        echo "$a\n";
        recursion($a + 1);
    }
}
?>

Hinweis: Rekursive Funktions-/Methodenaufrufe mit einer Tiefe von über 100-200 können zu einem Stacküberlauf und damit zum Programmabbruch führen. Besonders unbegrenzte Rekursion wird als Programmierfehler erachtet.

Funktionen
Funktionsparameter
Funktionen


Funktionsparameter

Mit einer Parameterliste kann man Informationen an eine Funktion übergeben. Die Parameterliste ist eine durch Kommas getrennte Liste von Ausdrücken. Die Parameter werden von links nach rechts ausgewertet.

PHP unterstützt die Weitergabe von Parametern als Werte (das ist der Standard), als Verweise und als Vorgabewerte. Eine variable Anzahl von Parametern wird ebenfalls unterstützt.

Beispiel #1 Arrays an Funktionen übergeben

<?php
function nimm_array($eingabe)
{
    echo "$eingabe[0] + $eingabe[1] = ", $eingabe[0]+$eingabe[1];
}
?>

Parameter als Verweise übergeben

Normalerweise werden den Funktionen Werte als Parameter übermittelt. Wenn man den Wert dieses Parameters innerhalb der Funktion ändert, bleibt der Parameter außerhalb der Funktion unverändert. Wollen Sie aber erreichen, dass die Änderung auch außerhalb der Funktion sichtbar wird, müssen Sie die Parameter als Verweise (Referenzen) übergeben.

Wenn eine Funktion einen Parameter generell als Verweis behandeln soll, setzt man in der Funktionsdefinition ein kaufmännisches Und (&) vor den Parameternamen:

Beispiel #2 Übergeben von Funktionsparametern als Verweis

<?php
function fuege_etwas_an(&$string)
{
    $string .= 'und etwas mehr.';
}
$str = 'Dies ist ein String, ';
fuege_etwas_an($str);
echo $str; // Ausgabe: 'Dies ist ein String, und etwas mehr.'
?>

Vorgabewerte für Parameter

Eine Funktion kann C++-artige Vorgabewerte für skalare Parameter wie folgt definieren:

Beispiel #3 Einsatz von Vorgabeparametern in Funktionen

<?php
function machkaffee($typ = "Cappucino")
{
    return "Ich mache eine Tasse $typ.\n";
}
echo machkaffee();
echo machkaffee(null);
echo machkaffee("Espresso");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Ich mache eine Tasse Cappucino.
Ich mache eine Tasse .
Ich mache eine Tasse Espresso.

PHP gestattet es, Arrays und den speziellen Typ NULL als Vorgabewert zu nutzen, zum Beispiel:

Beispiel #4 Nichtskalare Typen als Vorgabewert

<?php
function makecoffee($types = array("cappuccino"), $coffeeMaker = NULL)
{
    $device = is_null($coffeeMaker) ? "hands" : $coffeeMaker;
    return "Ich mache eine Tasse ".join(", ", $types)." mit $device.\n";
}
echo makecoffee();
echo makecoffee(array("cappuccino", "lavazza"), "teapot");
?>

Der Vorgabewert muss ein konstanter Ausdruck sein, darf also zum Beispiel keine Variable, Eigenschaft einer Klasse oder ein Funktionsaufruf sein.

Bitte beachten Sie, dass alle Parameter mit Vorgabewert rechts von den Parametern ohne Vorgabewert stehen müssen - sonst wird es nicht funktionieren. Betrachten Sie folgendes Beispiel:

Beispiel #5 Ungültige Anwendung von Vorgabewerten

<?php
function mach_joghurt($typ = "rechtsdrehendes", $geschmack)
{
    return "Mache einen Becher $typ $geschmack-joghurt.\n";
}

echo mach_joghurt("Brombeer");   // arbeitet nicht wie erwartet
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Warning: Missing argument 2 in call to mach_joghurt() in
/usr/local/etc/httpd/htdocs/phptest/functest.html on line 41
Mache einen Becher Brombeer -joghurt.

Nun vergleichen Sie bitte obiges Beispiel mit folgendem:

Beispiel #6 Richtiger Einsatz von Vorgabewerten

<?php
function mach_joghurt($geschmack, $typ = "rechtsdrehendes")
{
    return "Mache einen Becher $typ $geschmack-Joghurt.\n";
}

echo mach_joghurt("Brombeer");   // arbeitet wie erwartet.
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Mache einen Becher rechtsdrehendes Brombeer-Joghurt.

Hinweis: Das Setzen von Standardwerten für Argumente, die als Referenz übergeben werden ("passed by reference") wird seit PHP 5 unterstützt.

Typdeklarationen

Hinweis:

Typdeklarationen waren unter PHP 5 ebenfalls unter dem Namen Type-Hints bekannt.

Typdeklarationen erlauben es, dass Funktionsparameter zur Aufrufzeit von einem bestimmten Typ sind. Ist der gegebene Wert von einem falschen Typ, dann wird ein Fehler generiert: in PHP 5 ist es ein recoverable fatal error, während PHP 7 eine TypeError-Exception auslöst.

Um eine Typdeklaration zu spezifizieren, sollte der Typname vor dem Parameternamen hinzugefügt werden. Wird der Vorgabewert des Parameters als NULL definiert, akzeptiert die Funktion die Übergabe von NULL.

Gültige Typen

Typ | Beschreibung | Minimale PHP-Version
Klassen/Interface-Name | Der Parameter muss ein Exemplar (instanceof) der gegebenen Klasse oder des Interface sein. | PHP 5.0.0
self | Der Parameter muss ein Exemplar (instanceof) der selben Klasse sein für die die Methode definiert ist. Dies kann nur für Klassen- und Objektmethoden verwendet werden. | PHP 5.0.0
array | Der Parameter muss ein Array sein. | PHP 5.1.0
callable | Der Parameter muss ein gültiges Callable sein. | PHP 5.4.0
bool | Der Parameter muss ein Boolescher Wert (boolean) sein. | PHP 7.0.0
float | Der Parameter muss eine Gleitkommazahl (float) sein. | PHP 7.0.0
int | Der Parameter muss eine Ganzzahl (integer) sein. | PHP 7.0.0
string | Der Parameter muss ein String sein. | PHP 7.0.0
Warnung

Aliase der oben genannten skalaren Typen werden nicht unterstützt. Statt dessen werden sie als Klassen- oder Schnittstellennamen angesehen. Zum Beispiel erfordert die Verwendung von boolean als Parameter oder Rückgabetyp ein Argument oder einen Rückgabewert, der ein Exemplar (instanceof) der Klasse oder Schnittstelle boolean ist, anstatt vom Typ bool:

<?php
 function test(boolean $param) {}
 test(true);
 ?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

 Fatal error: Uncaught TypeError: Argument 1 passed to test() must be an instance of boolean, boolean given, called in - on line 1 and defined in -:1

Beispiele

Beispiel #7 Grundlegende Klassen-Typdeklaration

<?php
class C {}
class D extends C {}

// Dies erweitert C nicht.
class E {}

function f(C $c) {
    echo get_class($c)."\n";
}

f(new C);
f(new D);
f(new E);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

C
D

Fatal error: Uncaught TypeError: Argument 1 passed to f() must be an instance of C, instance of E given, called in - on line 14 and defined in -:8
Stack trace:
#0 -(14): f(Object(E))
#1 {main}
  thrown in - on line 8

Beispiel #8 Gundlegende Interface-Typdeklaration

<?php
interface I { public function f(); }
class C implements I { public function f() {} }

// Dies implementiert I nicht.
class E {}

function f(I $i) {
    echo get_class($i)."\n";
}

f(new C);
f(new E);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

C

Fatal error: Uncaught TypeError: Argument 1 passed to f() must implement interface I, instance of E given, called in - on line 13 and defined in -:8
Stack trace:
#0 -(13): f(Object(E))
#1 {main}
  thrown in - on line 8

Beispiel #9 Nullable Typdeklaration

<?php
class C {}

function f(C $c = null) {
    var_dump($c);
}

f(new C);
f(null);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(C)#1 (0) {
}
NULL

Strenge Typisierung

Standardmäßig erzwingt PHP die Umwandlung von Wertem des falschen Typs in den erwarteten skalaren Typ, falls möglich. Zum Beispiel erhält eine Funktion, der ein Integer für einen Parameter, der einen String erwartet, übergeben wurde, eine Variable vom Typ String.

Es ist möglich die strenge Typsierung für einzelne Dateien zu aktivieren. Im strengem Typisierungsmodus werden nur Variablen von genau dem Typ der Typdeklaration akzeptiert, oder ein TypeError wird ausgelöst. Die einzige Ausnahme dieser Regel ist, dass ein Integer an eine Funktion, die ein Float erwartet, übergeben werden darf. Funktionsaufrufe innerhalb von internen Funktionen sind nicht von der strict_types-Deklaration betroffen.

Um die strenge Typisierung zu aktivieren, wird die declare-Anweisung mit der strict_types-Deklaration verwendet:

Achtung

Das Aktivieren der strengen Typisierung betrifft ebenfalls Rückgabe-Typdeklarationen.

Hinweis:

Strenge Typisierung gilt für Funktionsaufrufe, die innerhalb einer Datei im strengen Typisierungsmodus durchgeführt werden, nicht für Funktionen, die innerhalb dieser Datei deklariert wurden. Ruft eine Datei, für die strenge Typisierung nicht aktiviert ist, eine Funktion, die in einer Datei im strengen Typisierungsmodus definiert wurde, auf, wird die Präferenz des Aufrufers (schwache Typsierung) beachtet, und die Konvertierung des Werts wird erzwungen.

Hinweis:

Strenge Typsierung ist nur für skalare Typdeklarationen gültig, und erfodert folglich PHP 7.0.0 oder höher, da skalare Typdeklarationen erst in dieser Version hinzugefügt wurden.

Beispiel #10 Strenge Typisierung

<?php
declare(strict_types=1);

function sum(int $a, int $b) {
    return $a + $b;
}

var_dump(sum(1, 2));
var_dump(sum(1.5, 2.5));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(3)

Fatal error: Uncaught TypeError: Argument 1 passed to sum() must be of the type integer, float given, called in - on line 9 and defined in -:4
Stack trace:
#0 -(9): sum(1.5, 2.5)
#1 {main}
  thrown in - on line 4

Beispiel #11 Schwache Typisierung

<?php
function sum(int $a, int $b) {
    return $a + $b;
}

var_dump(sum(1, 2));

// Die Konvertierung nach Integer wird erzwungen: beachten Sie die Ausgabe weiter unten!
var_dump(sum(1.5, 2.5));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(3)
int(3)

Beispiel #12 Abfangen von TypeError

<?php
declare(strict_types=1);

function sum(int $a, int $b) {
    return $a + $b;
}

try {
    var_dump(sum(1, 2));
    var_dump(sum(1.5, 2.5));
} catch (TypeError $e) {
    echo 'Fehler: '.$e->getMessage();
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(3)
Fehler: Argument 1 passed to sum() must be of the type integer, float given, called in - on line 10

Variable Anzahl von Parametern

PHP unterstützt eine variable Anzahl an Parametern für benutzerdefinierte Funktionen. Dies wird seit PHP 5.6 durch das Token ... umgesetzt. Für ältere Versionen von PHP stehen die Funktionen func_num_args(), func_get_arg(), und func_get_args() bereit.

... in PHP 5.6+

Ab PHP 5.6 kann eine Liste von Parametern das Token ... enthalten, um anzugeben, dass die Funktion eine variable Anzahl von Paramtern akzeptiert. Die zusätzlichen Werte werden als Array an die entsprechende Variable übergeben. Zum Beispiel:

Beispiel #13 Verwendung von ... für den Zugriff auf variable Parameter

<?php
function sum(...$numbers) {
    $acc = 0;
    foreach ($numbers as $n) {
        $acc += $n;
    }
    return $acc;
}

echo sum(1, 2, 3, 4);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

10

Das Token ... kann ebenfalls dazu verwendet werden, um ein Array oder Traversable-Objekt als Liste von Parametern zu übergeben:

Beispiel #14 Verwendung von ... zur Übergabe einer Parameterliste

<?php
function add($a, $b) {
    return $a + $b;
}

echo add(...[1, 2])."\n";

$a = [1, 2];
echo add(...$a);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

3
3

Die Definition von regulären, positionierten Parametern vor dem ... ist natürlich weiterhin möglich. In einem solchen Fall werden dann nur die zusätzlichen Werte, die zu keinem positionierten Parameter gehören, in das durch ... erzeugte Array übernommen.

Es ist zudem ebenfalls möglich dem ... Token eine Typangabe voran zu stellen. Ist dies der Fall, müssen alle Werte, die für ... relevant sind, vom entsprechenden Typ sein.

Beispiel #15 Variable Paramter mit Vorgabe des Typs

<?php
function total_intervals($unit, DateInterval ...$intervals) {
    $time = 0;
    foreach ($intervals as $interval) {
        $time += $interval->$unit;
    }
    return $time;
}

$a = new DateInterval('P1D');
$b = new DateInterval('P2D');
echo total_intervals('d', $a, $b).' days';

// Dieser Aufruf wird scheitern, da null keine Instanz von DateInterval ist
echo total_intervals('d', null);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

3 days
Catchable fatal error: Argument 2 passed to total_intervals() must be an instance of DateInterval, null given, called in - on line 14 and defined in - on line 2

Durch ein voran gestelltes & ist auch die Übergabe von variablen Parametern als Referenz möglich.

Ältere Versionen von PHP

Eine spezielle Syntax ist zur Definition von variablen Paramtern nicht notwendig. Um auf die übergebenen Werte zugreifen zu können, stehen die Funktionen func_num_args(), func_get_arg() und func_get_args() bereit.

Das erste Beispiel von weiter oben würde in PHP 5.5 und davor so umgesetzt werden können:

Beispiel #16 Zugriff auf variable Parameter in PHP 5.5 und davor

<?php
function sum() {
    $acc = 0;
    foreach (func_get_args() as $n) {
        $acc += $n;
    }
    return $acc;
}

echo sum(1, 2, 3, 4);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

10

Benutzerdefinierte Funktionen
Rückgabewerte
Funktionen


Rückgabewerte

Sie können Werte mit der optionalen return-Anweisung zurückgeben. Es können Variablen jeden Typs zurückgegeben werden, auch Arrays oder Objekte. Dies beendet sofort die Funktion und die Kontrolle wird wieder an die aufrufende Zeile zurückgegeben. Weitere Informationen finden Sie unter return.

Hinweis:

Wird return ausgelassen, dann wird der Wert NULL zurückgegeben.

Einsatz von return

Beispiel #1 Einsatz von return

<?php
function quadrat($zahl)
{
    return $zahl * $zahl;
}
echo quadrat(4);   // gibt '16' aus.

?>

Es ist nicht möglich, mehrere Werte von einer Funktion zurückzugeben. Ein ähnliches Resultat kann man aber durch die Rückgabe eines Arrays erreichen.

Beispiel #2 Rückgabe mehrerer Werte als Array

<?php
function kleine_zahlen()
{
   return array (0, 1, 2);
}
list ($null, $eins, $zwei) = kleine_zahlen();
?>

Um von einer Funktion eine Referenz zurückzugeben, müssen Sie den Referenz-Operator & sowohl in der Funktionsdeklaration, als auch bei der Zuweisung des zurückgegebenen Wertes verwenden:

Beispiel #3 Rückgabe von Referenzen aus Funktionen

<?php
function &returniere_referenz()
{
    return $einereferenz;
}

$neuereferenz =& returniere_referenz();
?>

Weitere Informationen über Referenzen finden Sie im Kapitel Referenzen in PHP.

Rückgabe-Typdeklarationen

PHP 7 führt die Unterstützung von Rückgabe-Typdeklarationen ein. Ähnlich wie Parameter-Typdeklarationen geben Rückgabe-Typdeklarationen den Typ des Wertes, der von einer Funktion zurückgegeben wird, an. Die gleichen Typen, die für Parameter-Typdeklarationen verfügbar sind, sind auch für Rückgabe-Typdeklarationen erlaubt.

Strenge Typsierung hat ebenfalls Auswirkungen auf Rückgabe-Typdeklarationen. Im normalen schwachen Typisierungsmodus werden zurückgegebene Werte in den korrekten Typ konvertiert, wenn sie nicht bereits diesen Typ haben. Im strengen Modus muss der zurückgegebene Wert den korrekten Typ haben; andernfalls wird ein TypeError ausgelöst.

Hinweis:

Wird eine Elternmethode überschrieben, muss die Rückgabe-Typdeklaration der Kindmethode mit der Elternmethode übereinstimmen. Definiert die Elternmethode keinen Rückgabetyp, dann darf die Kindmethode das tun.

Beispiele

Beispiel #4 Grundlegende Rückgabe-Typdeklaration

<?php
function sum($a, $b): float {
    return $a + $b;
}

// Beachten Sie, dass eine Gleitkommazahl zurückgegeben wird.
var_dump(sum(1, 2));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

float(3)

Beispiel #5 Einsatz des strengen Typisierungsmodus

<?php
declare(strict_types=1);

function sum($a, $b): int {
    return $a + $b;
}

var_dump(sum(1, 2));
var_dump(sum(1, 2.5));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(3)

Fatal error: Uncaught TypeError: Return value of sum() must be of the type integer, float returned in - on line 5 in -:5
Stack trace:
#0 -(9): sum(1, 2.5)
#1 {main}
  thrown in - on line 5

Beispiel #6 Rückgabe eines Objekts

<?php
class C {}

function getC(): C {
    return new C;
}

var_dump(getC());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(C)#1 (0) {
}
Funktionsparameter
Variablenfunktionen
Funktionen


Variablenfunktionen

PHP unterstützt das Konzept der Variablenfunktionen. Wenn Sie an das Ende einer Variablen Klammern hängen, versucht PHP eine Funktion aufzurufen, deren Name der aktuelle Wert der Variablen ist. Dies kann unter anderem für Callbacks, Funktionstabellen, usw. genutzt werden.

Variablenfunktionen funktionieren nicht mit Sprachkonstrukten wie echo, print, unset(), isset(), empty(), include und require. Sie müssen Ihre eigenen Wrapperfunktionen verwenden, um diese Konstrukte als Variablenfunktionen benutzen zu können.

Beispiel #1 Beispiel für Variablenfunktionen

<?php
function foo()
{
    echo "In foo()<br />\n";
}

function bar($arg = '')
{
    echo "In bar(); der Parameter ist '$arg'.<br />\n";
}

// Dies ist eine Wrapperfunkiton für echo
function echoit($string)
{
    echo $string;
}

$func = 'foo';
$func();        // Dies ruft foo() auf

$func = 'bar';
$func('test');  // Dies ruft bar() auf

$func = 'echoit';
$func('test');  // Dies ruft echoit() auf
?>

Sie können auch die Methode eines Objektes mittels der variablen Funktionen aufrufen.

Beispiel #2 Variable Methode

<?php
class Foo
{
    function Variable()
    {
        $name = 'Bar';
        $this->$name(); // Dies ruft die Bar() Methode auf
    }

    function Bar()
    {
        echo "Das ist Bar";
    }
}

$foo = new Foo();
$funcname = "Variable";
$foo->$funcname();   // Dies ruft $foo->Variable() auf

?>

Werden statische Methoden aufgerufen, ist der Funktionsaufruf stärker als der statische Eigenschaftsoperator:

Beispiel #3 Beispiel für variable Methoden mit statischen Eigenschaften

<?php
class Foo
{
    static $variable = 'statische Eigenschaft';
    static function Variable()
    {
        echo 'Method Variable called';
    }
}

echo Foo::$variable; // Dies gibt 'statische Eigenschaft' aus. Es bräuchte eine $variable im aktuellen Geltungsbereich.
$variable = "Variable";
Foo::$variable();  // Dies ruft $foo->Variable() auf, da $variable im aktuellen Geltungbereich vorliegt.

?>

Ab PHP 5.4.0 können beliebige Callabless, die in einer Variable gespeichert sind, aufgerufen werden.

Beispiel #4 Komplexe Callables

<?php
class Foo
{
    static function bar()
    {
        echo "bar\n";
    }
    function baz()
    {
        echo "baz\n";
    }
}

$func = array("Foo", "bar");
$func(); // gibt "bar" aus
$func = array(new Foo, "baz");
$func(); // gibt "baz" aus
$func = "Foo::bar";
$func(); // gibt ab PHP 7.0.0 "bar" aus; vorher wurde ein fataler Fehler ausgelöst
?>

Siehe auch is_callable(), call_user_func(), Variable Variablen und function_exists().

Changelog

Version | Beschreibung
7.0.0 | 'Klassenname::Methodenname' ist als Variablenfunktion erlaubt.
5.4.0 | Array, die gültige Callables sind, sind als Variablenfunktion erlaubt.

Rückgabewerte
Interne (eingebaute) Funktionen
Funktionen


Interne (eingebaute) Funktionen

PHP enthält standmäßig viele Funktionen und Konstrukte, weiterhin gibt es viele Funktionen die vorausssetzen, dass bestimmte PHP-Extensions einkompiliert wurden, anderenfalls erhalten Sie beim Aufruf "undefined function"-Fehlermeldungen. Um z.B. Grafik-Funktionen wie imagecreatetruecolor() zu nutzen, müssen Sie PHP mit GD-Unterstützung kompilieren, oder um mysql_connect() zu nutzen, muss Ihr PHP mit MySQL-Unterstützung kompiliert sein. Viele Kernfunktionen wie z.B. die String- und Variablen-Funktionen sind bereits in jeder PHP-Version enthalten. Ein Aufruf von phpinfo() oder get_loaded_extensions() zeigt Ihnen, welche Extensions in Ihrer PHP-Installation verfügbar sind. Beachten Sie weiterhin, dass viele Extensions bereits standardmäßig aktiviert sind und das PHP-Manual nach Extensions unterteilt ist. Weitere Informationen zur Einrichtung von PHP finden Sie in den Kapiteln Konfiguration, Installation und den Kapiteln zu den einzelnen Extensions.

Wie Funktionsprototypen zu lesen und zu verstehen sind, ist im Kapitel 'Wie man eine Funktionsdefinition (Prototyp) liest' erklärt. Es ist wichtig zu erkennen, was eine Funktion zurückgibt und ob die übergebenen Parameter verändert werden. So gibt z.B. str_replace() den bearbeiteten String zurück, während usort() direkt auf der übergebenen Variablen arbeitet. Jede Handbuchseite enthält spezifische Informationen für jede Funktion wie ihre Parameter, die Rückgabewerte sowohl bei Erfolg als auch im Fehlerfall, Änderungen des Verhaltens und die Verfügbarkeit. Die Kenntnis dieser wichtigen (aber oft subtilen) Unterschiede ist von entscheidender Bedeutung für das Schreiben korrekten PHP-Codes.

Hinweis: Wenn Funktionen andere Parameter erhalten als erwartet, d.h. wenn z.B. ein Array übergeben wird obwohl ein String erwartet wird, so ist der Rückgabewert undefiniert. In solchen Fällen ist es üblich, dass NULL zurückgegeben wird. Dies ist aber nur eine Konvention, auf die Sie sich nicht unbedingt verlassen können.

Siehe auch function_exists(), die Funktionsreferenz, get_extension_funcs() und dl().

Variablenfunktionen
Anonyme Funktionen
Funktionen


Anonyme Funktionen

Anonyme Funktionen, auch bekannt als Closures, ermöglichen es Funktionen ohne Funktionsnamen zu schreiben. Sie sind am wertvollsten als Werte von Callback-Parametern, haben aber noch viele andere Verwendungsmöglichkeiten.

Anonyme Funktionen werden unter Verwendung der Closure-Klasse implementiert.

Beispiel #1 Beispiel für eine anonyme Funktion

<?php
echo preg_replace_callback('~-([a-z])~', function ($match) {
    return strtoupper($match[1]);
}, 'hallo-welt');
// gibt halloWelt aus
?>

Closures können auch als Werte von Variablen verwendet werden; PHP konvertiert solche Ausdrücke automatisch in Instanzen der internen Klasse Closure. Die Zuweisung einer Closure an eine Variable verwendet die selbe Syntax wie andere Zuweisungen, einschließlich des abschließenden Semikolon:

Beispiel #2 Beispiel für die Zuweisung einer anonymen Funktion

<?php
$greet = function($name)
{
    printf("Hallo %s\r\n", $name);
};

$greet('Welt');
$greet('PHP');
?>

Closures können ebenfalls Variablen aus dem Eltern-Gültigkeitsbereich erben. Jede solche Variable muss an das use-Sprachkonstrukt übergeben werden.

Beispiel #3 Erben von Variablen aus dem Eltern-Scope

<?php
$message = 'hallo';

// Kein "use"
$example = function () {
    var_dump($message);
};
$example();

// $message vererben
$example = function () use ($message) {
    var_dump($message);
};
$example();

// der Wert einer geerbten Variable ist der zum Zeitpunkt
// der Funktionsdefinition, nicht des Funktionsaufrufs
$message = 'welt';
$example();

// $message wieder herstellen
$message = 'hallo';

// vererben per Referenz
$example = function () use (&$message) {
    var_dump($message);
};
$example();

// Der geänderte Wert im Eltern-Gültigkeitsbereich
// wird in der aufgerufenen Funktion reflektiert
$message = 'welt';
$example();

// Closures können ebenfalls regüläre Parameter akzeptieren
$example = function ($arg) use ($message) {
    var_dump($arg . ' ' . $message);
};
$example("hallo");
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Notice: Undefined variable: message in /example.php on line 6
NULL
string(5) "hallo"
string(5) "hallo"
string(5) "hallo"
string(4) "welt"
string(10) "hallo welt"

Das Erben von Variablen aus dem Eltern-Gültigkeitsbereich ist nicht das gleiche wie die Verwendung von globalen Variablen. Globale Variablen existieren im globalen Gültigkeitsbereich, der immer der gleiche ist, unabhängig davon welche Funktion ausgeführt wird. Der Eltern-Gültigkeitsbereich einer Closure ist die Funktion, in der die Closure deklariert wurde (nicht notwendigerweise die Funktion, aus der sie aufgerufen wurde). Betrachten Sie das folgende Beispiel:

Beispiel #4 Closures und Gültigkeitsbereiche

<?php
// Ein einfacher Einkaufswagen, der eine Liste von hinzugefügten Produkten
// enthält, und die Menge jedes Produkts. Enthält eine Methode, die den
// Gesamtpreise der Waren im Einkaufswagen unter Verwendung einer Closure
// als Callback berechnet.
class Cart
{
    const PRICE_BUTTER  = 1.00;
    const PRICE_MILK    = 3.00;
    const PRICE_EGGS    = 6.95;

    protected $products = array();

    public function add($product, $quantity)
    {
        $this->products[$product] = $quantity;
    }

    public function getQuantity($product)
    {
        return isset($this->products[$product]) ? $this->products[$product] :
               FALSE;
    }

    public function getTotal($tax)
    {
        $total = 0.00;

        $callback =
            function ($quantity, $product) use ($tax, &$total)
            {
                $pricePerItem = constant(__CLASS__ . "::PRICE_" .
                    strtoupper($product));
                $total += ($pricePerItem * $quantity) * ($tax + 1.0);
            };

        array_walk($this->products, $callback);
        return round($total, 2);
    }
}

$my_cart = new Cart;

// Lege ein paar Waren in den Einkaufskorb
$my_cart->add('butter', 1);
$my_cart->add('milk', 3);
$my_cart->add('eggs', 6);

// Gib die Gesamtsumme mit einer Mehrwertsteuer von 5% aus
print $my_cart->getTotal(0.05) . "\n";
// Das Ergebnis ist 54.29
?>

Beispiel #5 Automatisches Binden von $this

<?php

class Test
{
    public function testing()
    {
        return function() {
            var_dump($this);
        };
    }
}

$object = new Test;
$function = $object->testing();
$function();

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 5.3:

Notice: Undefined variable: this in script.php on line 8
NULL

Wird ab PHP 5.4.0 eine anonyme Funktion im Kontext einer Klasse deklariert, so wird diese Klasse automatisch an jene gebunden, was $this innerhalb des Geltungbereichs verfügbar macht. Ist diese automatische Bindung der aktuellen Klasse nicht erwünscht, dann können statt dessen statische anonyme Funktionen verwendet werden.

Statische anonyme Funktionen

Ab PHP 5.4 können anonyme Funktionen statisch deklariert werden. Dies verhindert, dass automatisch die aktuelle Klasse an sie gebunden wird. Objekte können zur Laufzeit ebenfalls nicht an sie gebunden werden.

Beispiel #6 Versuch der Verwendung von $this innerhalb einer statischen anonymen Funktion

<?php

new class {
    function __construct()
    {
        (static function() {
            var_dump($this);
        })();
    }
};
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Notice: Undefined variable: this in %s on line %d
NULL

Beispiel #7 Versuch ein Objekt an eine statische anonyme Funktion zu binden

<?php

(static function() {
    // function body
})->call(new StdClass);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Warning: Cannot bind an instance to a static closure in /in/sLLS9 on line 5

Changelog

Version | Beschreibung
5.4.0 | Anonyme Funktionen können sowohl $this verwenden als auch statisch deklariert werden.
5.3.0 | Anonyme Funktionen wurde eingeführt.

Anmerkungen

Hinweis: Es ist möglich func_num_args(), func_get_arg() und func_get_args() innerhalb einer Closure zu verwenden.

Interne (eingebaute) Funktionen
Klassen und Objekte
Funktionen


Klassen und Objekte

Inhaltsverzeichnis

  • Einführung
  • Die Grundlagen
  • Eigenschaften
  • Klassenkonstanten
  • Autoloading
  • Konstruktoren und Destruktoren
  • Sichtbarkeit
  • Objekt-Vererbung
  • Gültigkeitsbereichsoperator (::)
  • Static-Schlüsselwort
  • Klassenabstraktion
  • Interfaces
  • Traits
  • Anonyme Klassen
  • Überladung
  • Objektiteration
  • Magische Methoden
  • Final-Schlüsselwort
  • Objekte klonen
  • Objekte vergleichen
  • Type-Hints
  • Späte statische Bindung
  • Objekte und Referenzen
  • Serialisierung von Objekten
  • OOP-Changelog
Anonyme Funktionen
Einführung
Sprachreferenz


Einführung

Für PHP 5 wurde das Objektmodell neu geschrieben, um bessere Performance und mehr Features zu ermöglichen. Dies war eine maßgebliche Änderung gegenüber PHP 4. PHP 5 hat ein komplettes Objektmodell.

Unter den Features von PHP 5 finden sich unter anderem Sichtbarkeit, abstrakte und finale Klassen und Methoden sowie magische Methoden, Interfaces, Cloning und Typehinting.

PHP behandelt Objekte auf die gleiche Art wie Referenzen oder Handles, das bedeutet, dass jede Variable eine Objektreferenz statt einer Kopie des gesamten Objekts enthält. Lesen Sie dazu auch den Abschnitt Objekte und Referenzen.

Tipp

Siehe auch Userland Naming Guide.

Klassen und Objekte
Die Grundlagen
Klassen und Objekte


Die Grundlagen

class

Einfache Klassendefinitionen beginnen mit dem Schlüsselwort class, gefolgt von einem Klassennamen, gefolgt von einem Paar geschweifter Klammern, die die Definitionen der Eigenschaften und Methoden der Klasse enthalten.

Der Klassenname kann jeder gültige Bezeichner sein, vorausgesetzt es ist kein von PHP reserviertes Wort. Ein gültiger Klassenname beginnt mit einem Buchstaben oder einem Unterstrich, gefolgt von einer beliebigen Anzahl von Buchstaben, Ziffern oder Unterstrichen; als regulärer Ausdruck formuliert: ^[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*$.

Eine Klasse darf aus ihren eigenen Konstanten, Variablen ("Eigenschaften" genannt) und Funktionen ("Methoden" genannt) bestehen.

Beispiel #1 Definition einer einfachen Klasse

<?php
class SimpleClass
{
    // Deklaration einer Eigenschaft
    public $var = 'ein Standardwert';

    // Deklaration einer Methode
    public function displayVar() {
        echo $this->var;
    }
}
?>

Die Pseudovariable $this ist verfügbar, falls eine Methode aus einem Objektkontext heraus aufgerufen wird. $this ist eine Referenz auf das aufrufende Objekt (üblicherweise das Objekt, zu dem die Methode gehört, aber möglicherweise ein anderes Objekt, falls die Methode statisch aus dem Kontext eines zusätzlichen Objektes aufgerufen wird).

Beispiel #2 Einige Beispiele für die $this-Pseudovariable

<?php
class A
{
    function foo()
    {
        if (isset($this)) {
            echo '$this ist definiert (';
            echo get_class($this);
            echo ")\n";
        } else {
            echo "\$this ist nicht definiert.\n";
        }
    }
}

class B
{
    function bar()
    {
        // Hinweis: die folgende Zeile führt zu einer Warnung, wenn
        // E_STRICT aktiviert ist
        A::foo();
    }
}

$a = new A();
$a->foo();

// Hinweis: die folgende Zeile führt zu einer Warnung, wenn E_STRICT aktiviert ist
A::foo();
$b = new B();
$b->bar();

// Hinweis: die folgende Zeile führt zu einer Warnung, wenn E_STRICT aktiviert ist
B::bar();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

$this ist definiert (A)
$this ist nicht definiert.
$this ist definiert (B)
$this ist nicht definiert.

new

Um eine Instanz einer Klasse zu erzeugen, muss das new-Schlüsselwort verwendet werden. Ein Objekt wird immer erzeugt, außer wenn das Objekt einen definierten Konstruktor besitzt, der aufgrund eines Fehlers eine Exception wirft. Klassen sollten vor ihrer Instantiierung definiert werden (in manchen Fällen ist dies eine Notwendigkeit).

Wenn ein string mit dem Namen einer Klasse mit new genutzt wird, wird eine neue Instanz dieser Klasse erzeugt. Falls sich die Klasse in einem Namensraum befindet, muss der vollqualifizierte Name hierfür genutzt werden.

Beispiel #3 Eine Instanz erzeugen

<?php
$instanz = new SimpleClass();

// dies ist auch mit einer Variablen möglich:
$klassenname = 'SimpleClass';
$instanz = new $klassenname(); // new SimpleClass()
?>

Im Kontext einer Klasse ist es möglich, neue Objekte mit new self und new parent anzulegen.

Wenn man eine bereits erzeugte Instanz einer Klasse einer neuen Variablen zuweist, wird die neue Variable auf die selbe Instanz zugreifen wie das Objekt, das zugewiesen wurde. Dieses Verhalten ist das selbe, wenn man Instanzen an Funktionen übergibt. Eine Kopie eines bereits erzeugten Objektes erhält man, indem man es klont.

Beispiel #4 Objektzuweisung

<?php
$instanz = new SimpleClass();

$zugewiesen   =  $instanz;
$referenz     =& $instanz;

$instanz->var = '$zugewiesen wird diesen Wert haben';

$instanz = null; // $instanz und $referenz werden null

var_dump($instanz);
var_dump($referenz);
var_dump($zugewiesen);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

NULL
NULL
object(SimpleClass)#1 (1) {
   ["var"]=>
     string(30) "$zugewiesen wird diesen Wert haben"
}

Mit PHP 5.3.0 wurden neue Möglichkeiten zur Erzeugung von Instanzen eines Objekts eingeführt:

Beispiel #5 Erzeugen neuer Objekte

<?php
class Test
{
    static public function getNew()
    {
        return new static;
    }
}

class Child extends Test
{}

$obj1 = new Test();
$obj2 = new $obj1;
var_dump($obj1 !== $obj2);

$obj3 = Test::getNew();
var_dump($obj3 instanceof Test);

$obj4 = Child::getNew();
var_dump($obj4 instanceof Child);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(true)
bool(true)

extends

Eine Klasse kann Methoden und Eigenschaften einer anderen Klasse erben, indem man das extends-Schlüsselwort in der Deklaration benutzt. Es ist nicht möglich, mehrere Klassen zu erweitern; eine Klasse kann nur eine einzige Basisklasse beerben.

Die geerbten Methoden und Eigenschaften können durch eine Neudeklaration mit dem gleichen Namen wie in der Elternklasse überschrieben werden. Falls die Elternklasse eine Methode als final definiert hat, kann diese Methode nicht überschrieben werden. Es ist möglich, auf die überschriebenen Methoden oder statischen Eigenschaften zuzugreifen, wenn diese mittels parent:: referenziert werden.

Wenn Methoden überschrieben werden, sollte die Parametersignatur gleich bleiben; andernfalls wird PHP einen E_STRICT-Fehler generieren. Dies gilt nicht für den Konstruktor, der das Überschreiben mit unterschiedlichen Parameter erlaubt.

Beispiel #6 Einfache Vererbung

<?php
class ExtendClass extends SimpleClass
{
    // Die Vatermethode überschreiben
    function displayVar()
    {
        echo "Erweiternde Klasse\n";
        parent::displayVar();
    }
}

$extended = new ExtendClass();
$extended->displayVar();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Erweiternde Klasse
ein Standardwert

::class

Mit PHP 5.5 kann auch das Schlüsselwort class für die Namensauflösung einer Klasse verwendet werden. Man erhält den vollständig qualifizierten Namen der Klasse ClassName durch Verwendung von ClassName::class. Dies ist vor allem dann praktisch, wenn mit Namensräumen gearbeitet wird.

Beispiel #7 Auflösung von Klassennamen

<?php
namespace NS {
    class ClassName {
    }

    echo ClassName::class;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

NS\ClassName

Einführung
Eigenschaften
Klassen und Objekte


Eigenschaften

Variablen in einer Klasse werden "Eigenschaften" genannt. Die Begriffe "Attribute" oder "Felder" werden ebenfalls verwendet, um sich auf das selbe Konzept zu beziehen, aber innerhalb dieser Referenz wird der Begriff "Eigenschaften" verwendet. Diese werden definiert, indem man eines der Schlüsselwörter public, protected oder private gefolgt von einer regulären Variablendeklaration verwendet. Die Deklaration darf eine Initialisierung des Variablenwertes beinhalten, der zu setzende Wert muss dabei allerdings ein konstanter Wert sein - d.h. dieser muss zum Kompilierungszeitpunkt ausgewertet werden können und darf nicht von Informationen abhängen, die erst zur Laufzeit zur Verfügung stehen.

Siehe Sichtbarkeit für mehr Informationen zur Bedeutung von public, protected und private.

Hinweis:

Um Abwärtskompatibilität mit PHP 4 zu gewährleisten, akzeptiert PHP 5 weiterhin die Verwendung des Schlüsselwortes var zur Deklaration von Eigenschaften anstelle von (oder zusätzlich zu) public, protected oder private. var wird jedoch nicht mehr benötigt. In den Versionen von PHP 5.0 bis 5.1.3 wurde die Verwendung von var als veraltet betrachtet und erzeugte eine E_STRICT-Warnung, aber seit PHP 5.1.3 ist dies nicht länger veraltet und erzeugt keine Warnung.

Wenn eine Eigenschaft mittels var anstelle von public, protected oder private deklariert wird, so wird PHP 5 diese Eigenschaft so behandeln, als wäre sie mittels public deklariert worden.

Innerhalb der Methoden einer Klasse kann auf nicht-statische Eigenschaften zugegriffen werden, indem man (den Objektoperator) -> verwendet: $this->Eigenschaft(wobei Eigenschaft der Name der Eigenschaft ist). Zugriff auf statische Eigenschaften erhält man, indem man (den Doppel-Doppelpunkt) :: verwendet: self::$Eigenschaft. Siehe auch Static-Schlüsselwort für mehr Informationen zu diesem Thema.

Die Pseudo-Variable $this ist innerhalb jeder Klassenmethode verfügbar, wenn diese Methode im Kontext eines Objektes aufgerufen wird. $this ist eine Referenz auf das aufrufende Objekt (üblicherweise das Objekt, zu dem diese Methode gehört; möglicherweise ein anderes Objekt, wenn die Methode statisch aus einem sekundären Objekt aufgerufen wird).

Beispiel #1 Deklaration von Eigenschaften

<?php
class SimpleClass
{
   // Ungültige Deklarationen von Eigenschaften:
   public $var1 = 'Hallo ' . 'Welt';
   public $var2 = <<<EOD
Hallo Welt
EOD;
   public $var3 = 1+2;
   public $var4 = self::myStaticMethod();
   public $var5 = $myVar;

   // Gültige Deklarationen von Eigenschaften:
   public $var6 = myConstant;
   public $var7 = array(true, false);

   // Dies ist nur in PHP 5.3.0 oder später gültig.
   public $var8 = <<<'EOD'
Hallo Welt
EOD;
}
?>

Hinweis:

Es gibt einige nützliche Funktionen für den Umgang mit Klassen und Objekten. Siehe hierzu Klassen- und Objekt-Funktionen.

Im Gegensatz zur Heredoc-Syntax kann die Nowdoc-Syntax in jedem Kontext für statische Daten verwendet werden, einschließlich der Deklaration von Eigenschaften.

Beispiel #2 Beispiel für ein nowdoc zur Initialisierung einer Eigenschaft

<?php
class foo {
   // Seit PHP 5.3.0
   public $bar = <<<'EOT'
bar
EOT;
}
?>

Hinweis:

Unterstützung für Nowdoc wurde in PHP 5.3.0 hinzugefügt.

Die Grundlagen
Klassenkonstanten
Klassen und Objekte


Klassenkonstanten

Es ist möglich für jede Klasse konstante Werte zu definieren, die gleich und unabänderlich bleiben. Konstanten weichen darin von normalen Variablen ab, dass man nicht das $ Symbol benutzt, um sie zu deklarieren oder zu benutzen. Die standardmäßige Sichtbarkeit einer Klassenkonstante ist public.

Der Wert kann nur ein konstanter Ausdruck sein, keine (zum Beispiel) Variablen, Klassenattribute oder Funktionsaufrufe.

Ein Interface kann ebenfalls constants enthalten. Die Interface-Dokumentation enthält Beispiele dazu.

Beginnend mit PHP 5.3.0 ist es möglich eine Variable als Klassenreferenz zu nutzen. Der Variablenwert kann kein Schlüsselwort (wie self, parent oder static) sein.

Es ist zu beachten, dass Klassenkonstanten nur einmal pro Klasse angelegt werden, und nicht für jedes Klassenexemplar.

Beispiel #1 Eine Konstante definieren und benutzen

<?php
class MyClass
{
    const CONSTANT = 'Konstanter Wert';

    function showConstant() {
        echo  self::CONSTANT . "\n";
    }
}

echo MyClass::CONSTANT . "\n";

$classname = "MyClass";
echo $classname::CONSTANT . "\n"; // Ab PHP 5.3.0

$class = new MyClass();
$class->showConstant();

echo $class::CONSTANT;  // Ab PHP 5.3.0
?>

Beispiel #2 Beispiel für statische Daten

<?php
class foo {
    // Ab PHP 5.3.0
    const BAR = <<<'EOT'
bar
EOT;
    // Ab PHP 5.3.0
    const BAZ = <<<EOT
baz
EOT;
}
?>

Hinweis:

Die Unterstützung der Initialisierung von Konstanten mit Heredoc und Nowdoc Syntax wurde in PHP 5.3.0 eingeführt.

Beispiel #3 Beispiel mit konstanten Ausdrücken

<?php
const ONE = 1;

class foo {
    // Ab PHP 5.6.0
    const TWO = ONE * 2;
    const THREE = ONE + self::TWO;
    const SENTENCE = 'Der Wert von THREE ist '.self::THREE;
}
?>

Es ist möglich einen skalaren Ausdruck, der numerische und Zeichenketten-Literale und/oder Konstanten enthält, im Kontext einer Klassenkonstante zu verwenden.

Hinweis:

Die Unterstützung von konstanten Ausdrücken wurde in PHP 5.6.0 hinzugefügt.

Beispiel #4 Sichtbarkeitsmodifizierer von Klassenkonstanten

<?php
class Foo {
    // Von PHP 7.1.0 an
    public const BAR = 'bar';
    private const BAZ = 'baz';
}
echo Foo::BAR, PHP_EOL;
echo Foo::BAZ, PHP_EOL;
?>

Output of the above example in PHP 7.1:

bar

Fatal error: Uncaught Error: Cannot access private const Foo::BAZ in …

Hinweis:

Von PHP 7.1.0 an sind Sichtbarkeitsmodifizierer für Klassenkonstanten erlaubt.

Eigenschaften
Autoloading
Klassen und Objekte


Autoloading

Viele Entwickler, die objektorientierte Anwendungen entwickeln, erzeugen eine eigene PHP Quelldatei für jede Klassendefinition. Eines der größten Ärgernisse ist die Notwendigkeit, eine lange Liste von benötigten Include-Anweisungen am Anfang eines jeden Skripts (eine für jede Klasse).

In PHP 5 ist das nicht länger notwendig. Die spl_autoload_register() Funktion registriert eine beliebige Anzahl von Autoladern, die es ermöglichen, dass Klassen und Schnittstellen automatisch geladen werden, wenn sie derzeit nicht definiert sind. Durch das Registrieren von Autoladern erhält PHP einen letzten Versuch, die Klasse zu laden, bevor es unter Ausgabe einer Fehlermeldung scheitert.

Tipp

Obwohl die __autoload() Funktion ebenso für das automatische Laden von Klassen und Schnittstellen genutzt werden kann, ist es zu bevorzugen die spl_autoload_register() Funktion zu verwenden. Dies ist so, weil sie eine flexiblere Alternative darstellt (die es ermöglicht eine beliebige Anzahl von Autoladern in der Anwendung zu spezifizieren, wie etwa bei Fremdbibliotheken). Aus diesem Grund wird von der Verwendung von __autoload() abgeraten und diese Funktion könnte zukünftig als veraltet gekennzeichnet werden.

Hinweis:

Vor der Version 5.3.0 waren Exceptions, die in einer __autoload()-Funktion geworfen wurden nicht in einem Catch- Block fangbar und führten zu einem fatalen Fehler. Von PHP 5.3.0 an können Exceptions, die in einer __autoload-Funktion geworfen wurden, unter der folgenden Bedingung in einem Catch-Block gefangen werden. Wenn eine selbst definierte Exception geworfen wird, so muss die Klasse dieser Exception bereits verfügbar sein. Die __autoload- Funktion kann diese Exceptionklasse unter Umständen laden.

Hinweis:

Autoloading ist nicht verfügbar, wenn man PHP im CLI interaktiven Modus betreibt.

Hinweis:

Wird der Klassenname verwendet, z.B. in der Funktion call_user_func(), so ist zu beachten, dass er gefährliche Zeichen wie z.B. ../ enthalten kann. Es wird daher empfohlen keine Benutzereingaben an solche Funktionen weiterzugeben oder zumindest die Eingaben in __autoload() zu prüfen.

Beispiel #1 Autoload Beispiel

Dieses Beispiel versucht die Klassen MyClass1 und MyClass2 aus den entsprechenden Dateien MyClass1.php und MyClass2.php zu laden.

<?php
spl_autoload_register(function ($class_name) {
    include $class_name . '.php';
});

$obj  = new MyClass1();
$obj2 = new MyClass2();
?>

Beispiel #2 Weiteres Autoload Beispiel

Dieses Beispiel versucht das Interface ITest zu laden.

<?php

spl_autoload_register(function ($name) {
    var_dump($name);
});

class Foo implements ITest {
}

/*
string(5) "ITest"

Fatal error: Interface 'ITest' not found in ...
*/
?>

Beispiel #3 Autoloading mit Ausnahmebehandlung für 5.3.0+

In diesem Beispiel wird eine Exception geworfen und ein try/catch-Block demonstriert.

<?php
spl_autoload_register(function ($name) {
    echo "Möchte $name laden.\n";
    throw new Exception("Kann $name nicht laden.");
});

try {
    $obj = new NonLoadableClass();
} catch (Exception $e) {
    echo $e->getMessage(), "\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Möchte NonLoadableClass laden.
Kann NonLoadableClass nicht laden.

Beispiel #4 Autoloading mit Ausnahmebehandlung für 5.3.0+ mit fehlender eigener Exception

In diesem Beispiel wird eine Exception geworfen für eine nicht ladbare eigene Exception.

<?php
spl_autoload_register(function ($name) {
    echo "Möchte $name laden.\n";
    throw new MissingException("Kann $name nicht laden.");
});

try {
    $obj = new NonLoadableClass();
} catch (Exception $e) {
    echo $e->getMessage(), "\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Möchte NonLoadableClass laden.
Möchte MissingException laden.

Fatal error: Class 'MissingException' not found in testMissingException.php on line 4

Siehe auch

  • unserialize()
  • unserialize_callback_func
  • spl_autoload_register()
  • spl_autoload()
  • __autoload()

Klassenkonstanten
Konstruktoren und Destruktoren
Klassen und Objekte


Konstruktoren und Destruktoren

Konstruktor

void __construct ([ mixed $args = "" [, $... ]] )

PHP 5 erlaubt es Entwicklern, Konstruktormethoden für Klassen zu deklarieren. Klassen mit Konstruktormethoden rufen diese für jedes neu erzeugte Objekt auf, so dass Konstruktoren für alle Initialisierungen passend sind, die das Objekt brauchen könnte bevor es benutzt wird.

Hinweis: Konstruktoren von Vaterklassen werden nicht implizit aufgerufen, wenn die Kindklasse einen Konstruktor definiert. Um einen Vaterkonstruktor zu benutzen ist ein Aufruf von parent::__construct() innerhalb des Kindkonstruktors notwendig. Falls das Kind keinen Konstruktor definiert, dann kann er von der Vaterklasse genau wie eine normale Klassenmethode geerbt werden (falls er nicht als privat deklariert wurde).

Beispiel #1 Die neuen, vereinheitlichten Konstruktoren verwenden

<?php
class BaseClass {
   function __construct() {
       print "Im BaseClass Konstruktor\n";
   }
}

class SubClass extends BaseClass {
   function __construct() {
       parent::__construct();
       print "Im SubClass Konstruktor\n";
   }
}

class OtherSubClass extends BaseClass {
    // erbt den Konstruktor von BaseClass
}

// In BaseClass constructor
$obj = new BaseClass();

// In BaseClass constructor
// In SubClass constructor
$obj = new SubClass();

// In BaseClass constructor
$obj = new OtherSubClass();
?>

Aus Gründen der Abwärtskompatibilität sucht PHP 5, falls die Klasse keine __construct() Methode besitzt, und die Klasse keine von einer Elternklasse geerbt hat, nach einem Konstruktur des alten Stils, d.h. einer Methode mit dem selben Namen wie die Klasse. Der einzige Fall in dem somit Kompatibilitätsprobleme auftreten können, ist wenn die Klasse eine Methode __construct() definiert, welche jedoch für andere Zwecke benutzt wird.

Im Gegensatz zu anderen Methoden, generiert PHP keinen E_STRICT Fehler, wenn __construct() in einer Kindklasse andere Parameter definiert, als die __construct() Methode der Elternklasse.

Seit PHP 5.3.3 werden Methoden, welche mit dem Klassennamen übereinstimmen, nicht länger als Konstruktoren behandelt, wenn die Klasse sich in einem Namespace befindet. Klassen, welche sich nicht in einem Namespace befinden, betrifft dies jedoch nicht.

Beispiel #2 Konstruktoren in Klassen in Namespaces

<?php
namespace Foo;
class Bar {
    public function Bar() {
        // wird in PHP 5.3.0-5.3.2 als Konstruktor behandelt
        // wird in PHP 5.3.3 und höher als reguläre Methode behandelt
    }
}
?>

Destruktor

void __destruct ( void )

PHP 5 führt ein Destruktorkonzept ähnlich dem anderer objektorientierter Programmiersprachen wie C++ ein. Die Destruktormethode wird aufgerufen, sobald es keine weiteren Referenzen auf ein bestimmtes Objekt mehr gibt, oder in beliebiger Reihenfolge am Ende des Skripts.

Beispiel #3 Destruktor Beispiel

<?php
class MyDestructableClass {
   function __construct() {
       print "Im Konstruktor\n";
       $this->name = "MyDestructableClass";
   }

   function __destruct() {
       print "Zerstoere " . $this->name . "\n";
   }
}

$obj = new MyDestructableClass();
?>

Wie Konstruktoren auch, werden Vaterdestruktoren nicht implizit durch die Engine aufgerufen. Um einen Vaterdestruktor zu benutzen muss man explizit die Funktion parent::__destruct() in der Destruktorimplementierung aufrufen. Ebenso wie Konstruktoren kann eine Kindklasse den Destruktor des Vaters erben, falls sie keinen eigenen implementiert.

Der Destruktor wird aufgerufen, wenn das Script mittels exit() abgebrochen wird. Wenn exit() innerhalb eines Destruktors aufgerufen wird, verhindert das die Ausführung von jeglichen weiteren Shutdown Routinen.

Hinweis:

Der Destruktor wird während der Skript Abschaltung aufgerufen, weshalb die Header immer bereits gesendet sind. Das aktuelle Verzeichnis während der Beendigungsphase des Skripts kann bei einigen SAPIs (z.B. Apache) ein anderes sein.

Hinweis:

Der Versuch eine Exception aus einem Destruktor (der in der Beendigungsphase des Skripts aufgerufen wurde) heraus zu werfen wird einen fatalen Fehler auslösen.

Autoloading
Sichtbarkeit
Klassen und Objekte


Sichtbarkeit

Die Sichtbarkeit einer Eigenschaft oder Methode kann definiert werden, indem man der Deklaration eines der Schlüsselwörter public, protected oder private. voranstellt. Auf public deklarierte Elemente kann von überall her zugegriffen werden. Protected beschränkt den Zugang auf Elternklassen und abgeleitete Klassen (sowie die Klasse, die das Element definiert). Private grenzt die Sichtbarkeit einzig auf die Klasse ein, die das Element definiert.

Sichtbarkeit von Membern

Klasseneigenschaften müssen als public, private oder protected definiert werden. Wenn sie mit var deklariert werden, werden sie als public definiert.

Beispiel #1 Eigenschaftendeklaration

<?php
/**
 * Definiere MyClass
 */
class MyClass
{
    public $public = 'Public';
    protected $protected = 'Protected';
    private $private = 'Private';

    function printHello()
    {
        echo $this->public;
        echo $this->protected;
        echo $this->private;
    }
}

$obj = new MyClass();
echo $obj->public; // Funktioniert
echo $obj->protected; // Fataler Fehler
echo $obj->private; // Fataler Fehler
$obj->printHello(); // Zeigt Public, Protected und Private

/**
 * Definiere MyClass2
 */
class MyClass2 extends MyClass
{
    // Wir können die public- und protected-Methoden neu deklarieren,
    // aber nicht die private-Methode
    protected $protected = 'Protected2';

    function printHello()
    {
        echo $this->public;
        echo $this->protected;
        echo $this->private;
    }
}

$obj2 = new MyClass2();
echo $obj2->public; // Funktioniert
echo $obj2->protected; // Fataler Fehler
echo $obj2->private; // Undefiniert
$obj2->printHello(); // Zeigt Public, Protected2, Undefined

?>

Hinweis: Die PHP-4-Methode, Variablen mit dem Schlüsselwort var zu deklarieren, wird aus Gründen der Abswärtskompatibilität weiterhin unterstützt (als Synonym für das public-Schlüsselwort). In PHP 5 vor 5.1.3 hat dessen Verwendung eine E_STRICT-Warnung erzeugt.

Sichtbarkeit von Methoden

Klassenmethoden müssen mit public, private oder protected definiert werden. Methoden ohne jede explizite Deklaration sind als public definiert.

Beispiel #2 Methodendeklaration

<?php
/**
 * Definiere MyClass
 */
class MyClass
{
    // Deklariert einen public Konstruktor
    public function __construct() { }

    // Deklariere eine public Funktion
    public function MyPublic() { }

    // Deklariere eine protected Funktion
    protected function MyProtected() { }

    // Deklariere eine private Funktion
    private function MyPrivate() { }

    // Dies ist public
    function Foo()
    {
        $this->MyPublic();
        $this->MyProtected();
        $this->MyPrivate();
    }
}

$myclass = new MyClass;
$myclass->MyPublic(); // Funktioniert
$myclass->MyProtected(); // Fataler Fehler
$myclass->MyPrivate(); // Fataler Fehler
$myclass->Foo(); // Public, Protected und Private funktionieren

/**
 * Definiere MyClass2
 */
class MyClass2 extends MyClass
{
    // Dies ist public
    function Foo2()
    {
        $this->MyPublic();
        $this->MyProtected();
        $this->MyPrivate(); // Fataler Fehler
    }
}

$myclass2 = new MyClass2;
$myclass2->MyPublic(); // Funktioniert
$myclass2->Foo2(); // Public und Protected funktionieren, Private nicht

class Bar
{
    public function test() {
        $this->testPrivate();
        $this->testPublic();
    }

    public function testPublic() {
        echo "Bar::testPublic\n";
    }

    private function testPrivate() {
        echo "Bar::testPrivate\n";
    }
}

class Foo extends Bar
{
    public function testPublic() {
        echo "Foo::testPublic\n";
    }

    private function testPrivate() {
        echo "Foo::testPrivate\n";
    }
}

$myFoo = new foo();
$myFoo->test(); // Bar::testPrivate
                // Foo::testPublic
?>

Sichtbarkeit von anderen Objekten

Objekte des gleichen Types haben untereinander Zugriff auf die als private und protected markierten Member, obwohl es sich nicht um die gleichen Instanzen handelt. Dies liegt daran, dass die Details über die Implementierung innerhalb solcher Objekte bekannt sind.

Beispiel #3 Zugriff auf als private markierte Member des gleichen Objekttyps

<?php
class Test
{
    private $foo;

    public function __construct($foo)
    {
        $this->foo = $foo;
    }

    private function bar()
    {
        echo 'Zugriff auf die private Methode';
    }

    public function baz(Test $other)
    {
        // Ändern der privaten Eigenschaft ist möglich:
        $other->foo = 'Hallo';
        var_dump($other->foo);

        // Aufruf der privaten Methode ist ebenfalls möglich:
        $other->bar();
    }
}

$test = new Test('test');

$test->baz(new Test('other'));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(5) "Hallo"
Zugriff auf die private Methode
+
Konstruktoren und Destruktoren
Objekt-Vererbung
Klassen und Objekte


Objekt-Vererbung

Vererbung ist ein gängiges Prinzip der Programmierung und PHP verwendet dieses Prinzip in seinem Objektmodell. Dieses Prinzip beeinflusst die Art und Weise, in der mehrere Klassen und Objekte in Beziehung zueinander stehen.

Wenn man zum Beispiel von einer Klasse erbt, so erbt die Unterklasse alle Methoden der Sichtbarkeiten public und protected von der Vaterklasse. Wenn eine Klasse diese Methoden nicht überschreibt, wird die ursprüngliche Funktionalität beibehalten.

Dies ist nützlich, um Funktionalität zu definieren und zu abstrahieren und erlaubt es, zusätzliche Funktionalität in ähnlichen Objekten zu implementieren, ohne sämtliche gemeinsame Funktionalitäten neu implementieren zu müssen.

Hinweis:

Wenn Autoloading nicht verwendet wird, so müssen die Klassen definiert werden bevor sie verwendet werden. Wenn eine Klasse eine andere erweitert, so muss die Vaterklasse vor der Kindklasse deklariert werden. Diese Regel gilt für Klassen, die von anderen Klassen und Interfaces erben.

Beispiel #1 Beispiel für Vererbung

<?php

class Foo
{
    public function printItem($string)
    {
        echo 'Foo: ' . $string . PHP_EOL;
    }

    public function printPHP()
    {
        echo 'PHP ist großartig.' . PHP_EOL;
    }
}

class Bar extends Foo
{
    public function printItem($string)
    {
        echo 'Bar: ' . $string . PHP_EOL;
    }
}

$foo = new Foo();
$bar = new Bar();
$foo->printItem('baz'); // Ausgabe: 'Foo: baz'
$foo->printPHP();       // Ausgabe: 'PHP ist großartig.'
$bar->printItem('baz'); // Ausgabe: 'Bar: baz'
$bar->printPHP();       // Ausgabe: 'PHP ist großartig.'

?>
Sichtbarkeit
Gültigkeitsbereichsoperator (::)
Klassen und Objekte


Gültigkeitsbereichsoperator (::)

Der Gültigkeitsbereichsoperator (auch Paamayim Nekudotayim genannt) oder in einfacheren Worten der Doppel-Doppelpunkt ist ein Kürzel, das Zugriff auf statische, konstante und überschriebene Member oder Methoden einer Klasse erlaubt.

Wenn Sie diese Elemente außerhalb der Klassendefinition ansprechen, benutzen Sie den Namen der Klasse.

Beginnend mit PHP 5.3.0 ist es möglich eine Variable als Klassenreferenz zu nutzen. Der Variablenwert kann kein Schlüsselwort (wie self, parent oder static) sein.

Paamayim Nekudotayim scheint auf den ersten Blick eine eigenartige Wahl für die Benennung eines Doppel-Doppelpunktes zu sein. Jedoch entschied sich das Zend Team ihn so zu nennen, während Sie die Zend Engine 0.5 schrieben (welche PHP 3 antreibt). Tatsächlich bedeutet das Doppel-Doppelpunkt - in Hebräisch.

Beispiel #1 :: außerhalb der Klassendefinition

<?php
class MyClass {
    const CONST_VALUE = 'Ein konstanter Wert';
}

$classname = 'MyClass';
echo $classname::CONST_VALUE; // Ab PHP 5.3.0

echo MyClass::CONST_VALUE;
?>

Die drei speziellen Schlüsselwörter self, parent und static werden benutzt, um auf Member und Methoden von innerhalb der Klassendefinition zuzugreifen.

Beispiel #2 :: innerhalb der Klassendefinition

<?php
class OtherClass extends MyClass
{
    public static $my_static = 'statische var';

    public static function doubleColon() {
        echo parent::CONST_VALUE . "\n";
        echo self::$my_static . "\n";
    }
}

$classname = 'OtherClass';
$classname::doubleColon(); // Ab PHP 5.3.0

OtherClass::doubleColon();
?>

Wenn eine abgeleitete Klasse die Definition der Methode eines Vaters überschreibt, wird PHP die Methode des Vaters nicht aufrufen. Es obliegt der abgeleiteten Klasse, ob die Methode der Vaterklasse aufgerufen wird oder nicht. Dies gilt ebenfalls für Konstruktoren und Destruktoren, Überladung und magische Methodendefinitionen.

Beispiel #3 Eine Vatermethode aufrufen

<?php
class MyClass
{
    protected function myFunc() {
        echo "MyClass::myFunc()\n";
    }
}

class OtherClass extends MyClass
{
    // Die Definition des Vaters überschreiben
    public function myFunc()
    {
        // Aber dennoch die Funktion des Vaters aufrufen
        parent::myFunc();
        echo "OtherClass::myFunc()\n";
    }
}

$class = new OtherClass();
$class->myFunc();
?>

Siehe auch ein Beispiel zur Bedeutung von $this, wenn nich statische Methoden statisch aufgerufen werden.

Objekt-Vererbung
Static-Schlüsselwort
Klassen und Objekte


Static-Schlüsselwort

Tipp

Diese Seite beschreibt die Verwendung des static Schlüsselworts, um statische Methoden und Eigenschaften zu definieren. static kann ebenfalls benutzt werden, um statische Variablen zu definieren und für späte statische Bindung. Bitte entnehmen Sie diesen Seiten Informationen zu diesen Bedeutungen von static.

Klassenmember oder -methoden als statisch zu deklarieren macht diese zugänglich, ohne dass man die Klasse instantiieren muss. Auf ein als statisch deklariertes Member kann nicht mit einem instantiierten Klassenobjekt zugegriffen werden (obgleich eine statische Methode dies kann).

Für die Abwärtskompatibilität zu PHP 4 werden Eigenschaften oder Methoden behandelt, als ob diese als public static deklariert wären, wenn keine Sichtbarkeit deklariert wird.

Statische Methoden

Weil statische Methoden ohne die Instanz eines erzeugten Objektes aufrufbar sind, ist die Pseudovariable $this nicht innerhalb von der als statisch deklarierten Methode verfügbar.

Achtung

In PHP 5 erzeugt ein statischer Aufruf von nicht-statischen Methoden eine Warnung der Stufe E_STRICT.

Warnung

In PHP 7 ist der statische Aufruf von nicht-statischen Methoden missbilligt, und erzeugt eine Warnung der Stufe E_DEPRECATED. Die Unterstützung von statischen Aufrufen nicht-statischer Methoden kann in der Zukunft entfernt werden.

Beispiel #1 Statisches Methoden-Beispiel

<?php
class Foo {
    public static function aStaticMethod() {
        // ...
    }
}

Foo::aStaticMethod();
$classname = 'Foo';
$classname::aStaticMethod(); // Von PHP 5.3.0 an
?>

Statische Eigenschaften

Auf statische Eigenschaften kann nicht durch das Objekt mittels des Pfeiloperators -> zugegriffen werden.

Wie bei jeder anderen statischen PHP-Variablen können als Initialwerte für statische Eigenschaften nur Zeichenketten und Konstanten zugewiesen werden, die Zuweisung berechneter Ausdrücke ist nicht möglich. In PHP 5.6 und später gelten die Regeln für const Ausdrücke: einige beschränkte Ausdrücke sind möglich, vorausgesetzt dass sie zur Kompilierzeit ausgewertet werden können.

Beginnend mit PHP 5.3.0 kann die Klasse über eine Variable referenziert werden. Der Variablenwert kann dabei kein Schlüsselwort (wie self, parent oder static) sein.

Beispiel #2 Beispiel für statische Eigenschaften

<?php
class Foo
{
    public static $my_static = 'foo';

    public function staticValue() {
        return self::$my_static;
    }
}

class Bar extends Foo
{
    public function fooStatic() {
        return parent::$my_static;
    }
}

print Foo::$my_static . "\n";

$foo = new Foo();
print $foo->staticValue() . "\n";
print $foo->my_static . "\n";      // Undefinierte "Eigenschaft" my_static

print $foo::$my_static . "\n";
$classname = 'Foo';
print $classname::$my_static . "\n"; // Von PHP 5.3.0 an

print Bar::$my_static . "\n";
$bar = new Bar();
print $bar->fooStatic() . "\n";
?>
Gültigkeitsbereichsoperator (::)
Klassenabstraktion
Klassen und Objekte


Klassenabstraktion

PHP 5 führt abstrakte Klassen und Methoden ein. Abstrakt definierte Klassen dürfen nicht instanziiert werden. Jede Klasse, die wenigstens eine abstrakte Methode enthält, muss ebenso abstrakt sein. Abstrakt definierte Methoden deklarieren nur die Signatur der Methode - sie können nicht die Implementierung definieren.

Wenn eine abstrakte Klasse abgeleitet wird, müssen alle in der Deklaration der Elternklasse abstrakt bezeichneten Methoden durch das Kind definiert werden. Zusätzlich müssen diese Methoden mit derselben (oder einer weniger einschränkenden) Sichtbarkeit definiert werden. Wenn die abstrakte Methode zum Beispiel als protected definiert ist, muss die Funktionsimplementierung entweder als protected oder public, aber nicht private, definiert sein. Ebenfalls müssen die Methodensignaturen zueinander passen, d.h. die Type Hints und die Anzahl der verpflichtenden Parameter muss gleich sein. Wenn zum Beispiel die Kindklasse einen optionalen Parameter definiert, den die Signatur der abstrakten Methode nicht vorsieht, dann gibt es keinen Konflikt in den Signaturen. Gleiches gilt seit PHP 5.4 für Konstruktoren. Vor 5.4. konnten die Signaturen von Konstruktoren von einander abweichen.

Beispiel #1 Beispiel für abstrakte Klasse

<?php
abstract class AbstractClass
{
    // Die abgeleitete Klasse zwingen, diese Methoden zu definieren
    abstract protected function getValue();
    abstract protected function prefixValue($prefix);

    // Gemeinsame Methode
    public function printOut() {
        print $this->getValue() . "\n";
    }
}

class ConcreteClass1 extends AbstractClass
{
    protected function getValue() {
        return "ConcreteClass1";
    }

    public function prefixValue($prefix) {
        return "{$prefix}ConcreteClass1";
    }
}

class ConcreteClass2 extends AbstractClass
{
    public function getValue() {
        return "ConcreteClass2";
    }

    public function prefixValue($prefix) {
        return "{$prefix}ConcreteClass2";
    }
}

$class1 = new ConcreteClass1;
$class1->printOut();
echo $class1->prefixValue('FOO_') ."\n";

$class2 = new ConcreteClass2;
$class2->printOut();
echo $class2->prefixValue('FOO_') ."\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

ConcreteClass1
FOO_ConcreteClass1
ConcreteClass2
FOO_ConcreteClass2

Beispiel #2 Abstract class example

<?php
abstract class AbstractClass
{
  // Unsere abstrakte Methode muss nur die verpflichtenden Parameter definieren
  abstract protected function prefixName($name);

}

class ConcreteClass extends AbstractClass
{
  // Unsere Kindklasse kann optionale Parameter definieren die sich nicht in der
  // Signatur der Elternklasse wiederfinden
  public function prefixName($name, $separator = ".") {
      if ($name == "Pacman") {
          $prefix = "Mr";
      } elseif ($name == "Pacwoman") {
          $prefix = "Mrs";
      } else {
          $prefix = "";
      }
      return "{$prefix}{$separator} {$name}";
  }
}

$class = new ConcreteClass;
echo $class->prefixName("Pacman"), "\n";
echo $class->prefixName("Pacwoman"), "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Mr. Pacman
Mrs. Pacwoman

Älterer Code, der keine nutzerdefinierten Klassen oder Funktionen mit dem Namen 'abstract' besitzt, sollte ohne Änderungen lauffähig sein.

Static-Schlüsselwort
Interfaces
Klassen und Objekte


Interfaces

Interfaces erlauben die Erzeugung von Code, der spezifiziert, welche Methoden eine Klasse implementieren muss, ohne definieren zu müssen, wie diese Methoden behandelt werden.

Interfaces werden mit dem interface Schlüsselwort auf dieselbe Weise wie eine Standardklasse definiert, ohne dass eine der Methoden ihren Inhalt definiert.

Alle in einem Interface deklarierten Methoden müssen public sein; dies liegt in der Natur eines Interfaces.

implements

Um ein Interface zu implementieren, wird der implements-Operator benutzt. Alle Methoden des Interfaces müssen innerhalb der Klasse implementiert werden; Unterlassung wird zu einem fatalen Fehler führen. Klassen dürfen, falls dies gewünscht wird, mehr als ein Interface implementieren, indem man die Interfaces voneinander mit einem Komma abtrennt.

Hinweis:

Vor PHP 5.3.9 konnte eine Klasse nicht zwei Interfaces, die identische Funktionsnamen deklarieren, implementieren, da dies zu Doppeldeutigkeiten führen würde. Neuere Versionen von PHP erlauben dies, solange die doppelten Methoden die gleiche Signatur haben.

Hinweis:

Ein Interface kann ebenso wie eine Klasse mit Hilfe des Schlüsselwortes extends erweitert werden.

Hinweis:

Die Klasse, die das Interface implementiert, muss genau die gleichen Methoden-Signaturen, die im Interface definiert sind, verwenden. Andernfalls führt das zu einem fatalem Fehler.

Konstanten

Ein Interface kann Konstanten definieren. Interface-Konstanten funktionieren genauso wie Klassenkonstanten, außer dass sie von anderen Interfaces oder Klassen, die von diesem Interface erben, nicht verändert werden können.

Beispiele

Beispiel #1 Interface-Beispiel

<?php
// Deklariere das Interface 'iTemplate'
interface iTemplate
{
    public function setVariable($name, $var);
    public function getHtml($template);
}

// Implementiere das Interface
// Dies funktioniert
class Template implements iTemplate
{
    private $vars = array();

    public function setVariable($name, $var)
    {
        $this->vars[$name] = $var;
    }

    public function getHtml($template)
    {
        foreach($this->vars as $name => $value) {
            $template = str_replace('{' . $name . '}', $value, $template);
        }

        return $template;
    }
}

// Dies wird nicht funktionieren
// Fatal error: Class BadTemplate contains 1 abstract methods
// and must therefore be declared abstract (iTemplate::getHtml)
class BadTemplate implements iTemplate
{
    private $vars = array();

    public function setVariable($name, $var)
    {
        $this->vars[$name] = $var;
    }
}

?>

Beispiel #2 Interface-Vererbung

<?php
interface a

public function foo();

interface b extends a
{
  public function baz(Baz $baz);
}

// Dies Funktioniert
class c implements b
{
  public function foo()
  {
  }

  public function baz(Baz $baz)
  {
  }
}

// Dies funktioniert nicht und führt zu einem fatalen Fehler
class d implements b
{
  public function foo()
  {
  }

  public function baz(Foo $foo)
  {
  }
}
?>

Beispiel #3 Interface-Mehrfachvererbung

<?php
interface a
{
  public function foo();
}

interface b
{
  public function bar();
}

interface c extends a, b
{
  public function baz();
}

class d implements c
{
  public function foo()
  {
  }

  public function bar()
  {
  }

  public function baz()
  {
  }
}
?>

Beispiel #4 Interfaces mit Konstanten

<?php
interface a
{
  const b = 'Interface constant';
}

// Ausgabe: Interface constant
echo a::b;

// Der folgende Abschnitt wird nicht funktionieren, da
// ein Überschreiben der Konstanten nicht gestattet ist.
class b implements a
{
  const b = 'Class constant';
}
?>

Ein Interface, in Verbindung mit Type Hinting, bietet eine gute Möglichkeit, um sicherzustellen, dass ein bestimmtes Objekt bestimmte Methoden enthält. Siehe instanceof-Operator und Type Hinting.

Klassenabstraktion
Traits
Klassen und Objekte


Traits

Seit PHP 5.4.0 gibt es in PHP eine Methode der Wiederverwendung von Code, die Traits genannt wird.

Traits sind ein Mechanismus zur Wiederverwendung von Code, der in Programmiersprachen mit einfacher Vererbung wie PHP verwendet wird. Ein Trait kann verwendet werden, um den Beschränkungen der einfachen Vererbung auszuweichen, indem er erlaubt, dass Mengen von Methoden frei in mehreren unabhängigen Klassen, die in verschiedenen Klassenhierarchien stecken, wiederzuverwenden. Die Semantik der Kombination von Traits und Klassen ist so definiert, dass die Komplexität reduziert wird und die üblichen Probleme vermeidet, die mit Mehrfachvererbung und Mixins in Verbindung gebracht werden.

Ein Trait hat Ähnlichkeit mit einer Klasse, ist aber nur dafür vorgesehen, Funktionalität in einer feingranularen und konsistenten Art und Weise zu bündeln. Es ist nicht möglich einen Trait alleinstehend zu instantiieren. Es handelt sich um einen Zusatz zur traditionellen Vererbung und erlaubt horizontale Komposition von Verhaltensweisen, d.h. die Verwendung von Klassenmethoden ohne Vererbung vorauszusetzen.

Beispiel #1 Trait Beispiel

<?php
trait ezcReflectionReturnInfo {
    function getReturnType() { /*1*/ }
    function getReturnDescription() { /*2*/ }
}

class ezcReflectionMethod extends ReflectionMethod {
    use ezcReflectionReturnInfo;
    /* ... */
}

class ezcReflectionFunction extends ReflectionFunction {
    use ezcReflectionReturnInfo;
    /* ... */
}
?>

Rangfolge

Methoden der aktuellen Klasse überschreiben Methoden, welche von Traits definiert wurden. Jene wiederum überschreiben von Elternklassen geerbte Methoden.

Beispiel #2 Rangfolge Beispiel

Die Methode sayHello der Basisklasse wird durch die gleichnamige Methode aus dem Trait überschrieben.

<?php
class Base {
    public function sayHello() {
        echo 'Hallo ';
    }
}

trait SayWorld {
    public function sayHello() {
        parent::sayHello();
        echo 'Welt!';
    }
}

class MyHelloWorld extends Base {
    use SayWorld;
}

$o = new MyHelloWorld();
$o->sayHello();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Hallo Welt!

Beispiel #3 Weiteres Beispiel für Rangfolge

<?php
trait HelloWorld {
    public function sayHello() {
        echo 'Hallo Welt!';
    }
}

class TheWorldIsNotEnough {
    use HelloWorld;
    public function sayHello() {
        echo 'Hallo Universum!';
    }
}

$o = new TheWorldIsNotEnough();
$o->sayHello();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Hallo Universum!

Mehrere Traits

Mehrere Traits können durch eine kommaseparierte Auflistung im Use- Statement zu einer Klasse hinzugefügt werden.

Beispiel #4 Verwendung mehrerer Traits

<?php
trait Hello {
    public function sayHello() {
        echo 'Hallo ';
    }
}

trait World {
    public function sayWorld() {
        echo ' Welt';
    }
}

class MyHelloWorld {
    use Hello, World;
    public function sayExclamationMark() {
        echo '!';
    }
}

$o = new MyHelloWorld();
$o->sayHello();
$o->sayWorld();
$o->sayExclamationMark();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Hallo Welt!

Konfliktauflösung

Falls zwei Traits eine Methode mit gleichem Namen einfügen, so wird ein Fatal Error erzeugt, wenn der Konflikt nicht explizit aufgelöst wird.

Um einen Namenskonflikt zwischen Traits in der gleichen Klasse aufzulösen muss der insteadof-Operator verwendet werden, um genau eine der Methoden des Konflikts auszuwählen.

Da dies es nur erlaubt Methoden auszuschließen kann der as-Operator verwendet werden, um einen Alias zu einer der Methoden hinzuzufügen. Es ist zu beachten, dass der as Operator die Methode nicht umbenennt, und auch keine andere Methode beeinflusst.

Beispiel #5 Konfliktauflösung

In diesem Beispiel verwendet die Klasse Talker die Traits A und B. Nachdem A und B sich widersprechende Methoden besitzen definiert die Klasse, dass sie die Variante von smallTalk aus dem Trait B und die Variante von bigTalk des Traits A verwenden möchte.

Die Klasse Aliased_Talker verwendet den as-Operator, damit sie außerdem die Implementierung der bigTalk-Methode von B unter dem Alias talk verwenden kann.

<?php
trait A {
    public function smallTalk() {
        echo 'a';
    }
    public function bigTalk() {
        echo 'A';
    }
}

trait B {
    public function smallTalk() {
        echo 'b';
    }
    public function bigTalk() {
        echo 'B';
    }
}

class Talker {
    use A, B {
        B::smallTalk insteadof A;
        A::bigTalk insteadof B;
    }
}

class Aliased_Talker {
    use A, B {
        B::smallTalk insteadof A;
        A::bigTalk insteadof B;
        B::bigTalk as talk;
    }
}
?>

Veränderung der Sichtbarkeit von Methoden

Mit der as-Syntax ist es ebenso möglich, die Sichtbarkeit einer Methode in der darstellenden Klasse zu verändern.

Beispiel #6 Veränderung der Sichtbarkeit von Methoden

<?php
trait HelloWorld {
    public function sayHello() {
        echo 'Hallo Welt!';
    }
}

// Ändern der Sichtbarkeit von sayHello
class MyClass1 {
    use HelloWorld { sayHello as protected; }
}

// Alias der Methode mit geänderter Sichtbarkeit
// Die Sichtbarkeit von sayHello bleibt unverändert
class MyClass2 {
    use HelloWorld { doHelloWorld as private sayHello; }
}
?>

Trait-Zusammensetzung aus Traits

Ebenso wie Klassen können auch Traits andere Traits verwenden. Indem man einen oder mehrere Traits in einer Traitdefinition verwendet kann man Traits entweder teilweise oder vollständig aus Methoden, welche in anderen Traits definiert sind, zusammensetzen.

Beispiel #7 Trait-Zusammensetzung aus Traits

<?php
trait Hello {
    public function sayHello() {
        echo 'Hallo ';
    }
}

trait World {
    public function sayWorld() {
        echo 'Welt!';
    }
}

trait HelloWorld {
    use Hello, World;
}

class MyHelloWorld {
    use HelloWorld;
}

$o = new MyHelloWorld();
$o->sayHello();
$o->sayWorld();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Hallo Welt!

Abstrakte Traitmember

Traits unterstützen auch die Verwendung von abstrakten Methoden, um darstellenden Klassen Anforderungen aufzudrängen.

Beispiel #8 Ausdrücken von Anforderungen durch abstrakte Methoden

<?php
trait Hello {
    public function sayHelloWorld() {
       echo 'Hallo'.$this->getWorld();
    }
    abstract public function getWorld();
}

class MyHelloWorld {
    private $world;
    use Hello;
    public function getWorld() {
        return $this->world;
    }
    public function setWorld($val) {
        $this->world = $val;
    }
}
?>

Statische Traitmember

Traits unterstützen sowohl statische Variablen als auch statische Methoden.

Beispiel #9 Statische Variablen

<?php
trait Counter {
    public function inc() {
        static $c = 0;
        $c = $c + 1;
        echo "$c\n";
    }
}

class C1 {
    use Counter;
}

class C2 {
    use Counter;
}

$o = new C1(); $o->inc(); // echo 1
$p = new C2(); $p->inc(); // echo 1
?>

Beispiel #10 Statische Methoden

<?php
trait StaticExample {
    public static function doSomething() {
        return 'Tue etwas';
    }
}

class Example {
    use StaticExample;
}

Example::doSomething();
?>

Attribute

Traits können ebenfalls Attribute definieren.

Beispiel #11 Attribute definieren

<?php
trait PropertiesTrait {
    public $x = 1;
}

class PropertiesExample {
    use PropertiesTrait;
}

$example = new PropertiesExample;
$example->x;
?>

Ein Attribut, welches durch einen Trait definiert wurde, kann nicht von der Klasse erneut definiert werden. Wenn die Attribute kompatibel sind, d.h. die selbe Sichtbarkeit und den selben Standardwert besitzen, wird ein E_STRICT Fehler geworfen. Anderfalls wird ein Fatal Error geworfen.

Beispiel #12 Konfliktauflösung

<?php
trait PropertiesTrait {
    public $same = true;
    public $different = false;
}

class PropertiesExample {
    use PropertiesTrait;
    public $same = true; // Strict Standards
    public $different = true; // Fatal error
}
?>
Interfaces
Anonyme Klassen
Klassen und Objekte


Anonyme Klassen

Unterstützung für anonyme Klassen wurde in PHP 7 hinzugefügt. Anonyme Klassen sind nützlich, wenn einfache Objekte zum einmaligen Gebrauch erzeugt werden müssen.

<?php

// Code vor PHP 7
class Logger
{
    public function log($msg)
    {
        echo $msg;
    }
}

$util->setLogger(new Logger());

// PHP 7+ Code
$util->setLogger(new class {
    public function log($msg)
    {
        echo $msg;
    }
});

Sie können Argumente über ihren Konstruktor empfangen, andere Klassen erweitern, Interfaces implementieren und Traits verwenden, so wie das eine normale Klasse auch kann:

<?php

class SomeClass {}
interface SomeInterface {}
trait SomeTrait {}

var_dump(new class(10) extends SomeClass implements SomeInterface {
    private $num;

    public function __construct($num)
    {
        $this->num = $num;
    }

    use SomeTrait;
});

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(class@anonymous)#1 (1) {
  ["Command line code0x104c5b612":"class@anonymous":private]=>
  int(10)
}

Das Verschachteln einer anonymen Klasse innerhalb einer anderen Klasse gibt jener keinen Zugriff auf private oder geschützte Methoden oder Eigenschaften der äußeren Klasse. Um die geschützten Methoden oder Eigenschaften der äußeren Klasse zu verwenden, kann die anonyme Klasse die äußere Klasse erweitern. Um private Eigenschaften der äußeren Klasse in der anonymen Klasse zu verwenden, müssen sie dem Konstruktor übergeben werden:

<?php

class Outer
{
    private $prop = 1;
    protected $prop2 = 2;

    protected function func1()
    {
        return 3;
    }

    public function func2()
    {
        return new class($this->prop) extends Outer {
            private $prop3;

            public function __construct($prop)
            {
                $this->prop3 = $prop;
            }

            public function func3()
            {
                return $this->prop2 + $this->prop3 + $this->func1();
            }
        };
    }
}

echo (new Outer)->func2()->func3();

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

6

All objects created by the same anonymous class declaration are instances of that very class.

<?php
function anonymous_class()
{
    return new class {};
}

if (get_class(anonymous_class()) === get_class(anonymous_class())) {
    echo 'same class';
} else {
    echo 'different class';
}

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

same class

Hinweis:

Es ist zu beachten, dass anonymen Klassen von der Engine ein Name zugewiesen wird, wie im folgenden Beispiel gezeigt. Dieser Name muss als Implementierungsdetail eingestuft werden, auf dass sich nicht verlassen werden sollte.

<?php
echo get_class(new class {});

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

class@anonymous/in/oNi1A0x7f8636ad2021

Traits
Überladung
Klassen und Objekte


Überladung

Überladung bietet in PHP Möglichkeiten, um dynamisch Eigenschaften und Methoden zu "erzeugen". Diese dynamisch erzeugten Entitäten werden unter Zuhilfenahme von magischen Methoden verarbeitet, die man in einer Klasse zu verschiedenen Aktivitäten definieren kann.

Die Überladungsmethoden werden aufgerufen, wenn mit Eigenschaften oder Methoden interagiert wird, die entweder nicht deklariert wurden oder im aktuellen Geltungsbereich nicht sichtbar sind. Im Rest dieses Abschnitts werden die Begriffe "unzugreifbare Eigenschaft" und "unzugreifbare Methode" verwendet, um auf die Kombination von Deklaration und Sichtbarkeit zu verweisen.

Alle Überladungsmethoden müssen als public definiert sein.

Hinweis:

Keiner der Parameter dieser magischen Methoden kann als Referenz übergeben werden.

Hinweis:

Die Interpretation von "Überladung" weicht von den meisten objektorientierten Programmiersprachen ab. Traditionell bezeichnet Überladung die Möglichkeit mehrere Methoden mit gleichem Namen aber unterschiedlichen Anzahlen und Typen von Parametern zu definieren.

Changelog

Version | Beschreibung
5.3.0 | __callStatic hinzugefügt. Eine Warnung wurde hinzugefügt, um die Sichtbarkeit public und nicht statische Deklaration zu erzwingen.
5.1.0 | __isset und __unset hinzugefügt. Unterstützung von __get() zum Überladen von privaten Eigenschaften hinzugefügt.
5.0.0 | __get() hinzugefügt.

Überladung von Eigenschaften

public void __set ( string $name , mixed $value )
public mixed __get ( string $name )
public bool __isset ( string $name )
public void __unset ( string $name )

__set wird aufgerufen, wenn Daten in unzugreifbare Eigenschaften geschrieben werden sollen.

__get wird verwendet, um Daten aus unzugreifbaren Eigenschaften zu lesen.

__isset wird aufgerufen, indem isset() oder empty() auf unzugreifbare Eigenschaften angewendet wird.

__unset wird aufgerufen, wenn unset() für unzugreifbaren Eigenschaften aufgerufen wird.

Der Parameter $name beinhaltet den Namen der Eigenschaft, mit der interagiert wird. Der Parameter $value der Funktion __set spezifiziert den Wert den die Eigenschaft $name annehmen soll.

Überladung von Eigenschaften funktioniert nur im Kontext von Objekten. Diese magischen Methoden werden nicht aus einem statischen Kontext aufgerufen. Diese Methoden sollten daher nicht als static deklariert werden. Seit PHP 5.3.0 wird eine Warnung ausgegeben, wenn eine dieser magischen Überladungsmethoden als static deklariert ist.

Hinweis:

Der Rückgabewert von __set wird, aufgrund der Behandlung des Zuweisungsoperators in PHP, ignoriert. Aus ähnlichen Gründen wird __get nicht aufgerufen, wenn man Zuweisungen in etwa wie folgt verkettet:

 $a = $obj->b = 8;

Beispiel #1 Überladung von Eigenschaften mit den Methoden __get, __set, __isset und __unset

<?php
class EigenschaftTest
{
    /**  Speicherplatz für überladene Daten.  */
    private $data = array();

    /**  Überladung wird nicht bei deklarierten Eigenschaften benutzt.  */
    public $declared = 1;

    /**  Überladung wird nur von außerhalb der Klasse angewendet.  */
    private $hidden = 2;

    public function __set($name, $value)
    {
        echo "Setze '$name' auf '$value'\n";
        $this->data[$name] = $value;
    }

    public function __get($name)
    {
        echo "Lese '$name'\n";
        if (array_key_exists($name, $this->data)) {
            return $this->data[$name];
        }

        $trace = debug_backtrace();
        trigger_error(
            'Undefinierte Eigenschaft für __get(): ' . $name .
            ' in ' . $trace[0]['file'] .
            ' Zeile ' . $trace[0]['line'],
            E_USER_NOTICE);
        return null;
    }

    /** Seit PHP 5.1.0  */
    public function __isset($name)
    {
        echo "Ist '$name' gesetzt?\n";
        return isset($this->data[$name]);
    }

    /** Seit PHP 5.1.0  */
    public function __unset($name)
    {
        echo "Lösche '$name'\n";
        unset($this->data[$name]);
    }

    /**  Keine magische Methode, nur beispielhaft hier.  */
    public function getHidden()
    {
        return $this->hidden;
    }
}

echo "<pre>\n";

$obj = new EigenschaftTest;

$obj->a = 1;
echo $obj->a . "\n\n";

var_dump(isset($obj->a));
unset($obj->a);
var_dump(isset($obj->a));
echo "\n";

echo $obj->declared . "\n\n";

echo "Wir experimentieren nun mit der private-Eigenschaft 'hidden':\n";
echo "Private ist innerhalb der Klasse sichtbar, also wird __get() nicht benutzt...\n";
echo $obj->getHidden() . "\n";
echo "Private nicht sichtbar von außerhalb der Klasse, also wird __get() benutzt...\n";
echo $obj->hidden . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Setze 'a' auf '1'
Lese 'a'
1

Ist 'a' gesetzt?
bool(true)
Lösche 'a'
Ist 'a' gesetzt?
bool(false)

1

Wir experimentieren nun mit der private-Eigenschaft 'hidden':
Private ist innerhalb der Klasse sichtbar, also wird __get() nicht benutzt...
2
Private nicht sichtbar von außerhalb der Klasse, also wird __get() benutzt...
Lese 'hidden'

Notice:  Undefinierte Eigenschaft für __get(): hidden in <file> Zeile 70 in <file> on line 29

Überladung von Methoden

public mixed __call ( string $name , array $arguments )
public static mixed __callStatic ( string $name , array $arguments )

__call wird aufgerufen, wenn eine unzugreifbare Methode in einem Objekt aufgerufen wird.

__callStatic wird aufgerufen, wenn eine unzugreifbare Methode in einem statischen Kontext aufgerufen wird.

Der Parameter $name ist der Name der aufgerufenen Methode. Der Parameter $arguments beinhaltet ein Array mit den Parametern, die der Methode $name übergeben wurden.

Beispiel #2 Überladung von Methoden mit den methoden __call und __callStatic

<?php
class MethodenTest {
    public function __call($name, $arguments)
    {
        // Achtung: Der Wert von $name beachtet die Groß-/Kleinschreibung
        echo "Rufe die Objektmethode '$name' "
             . implode(', ', $arguments). "\n";
    }

    /**  Seit PHP 5.3.0  */
    public static function __callStatic($name, $arguments)
    {
        // Achtung: Der Wert von $name beachtet die Groß-/Kleinschreibung
        echo "Rufe die statische Methode '$name' "
             . implode(', ', $arguments). "\n";
    }
}

$obj = new MethodenTest;
$obj->runTest('eines Objektes auf');

MethodTest::runTest('aus statischem Kontext auf');  // Seit PHP 5.3.0
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Rufe die Objektmethode 'runTest' eines Objektes auf
Rufe die statische Methode 'runTest' aus statischem Kontext auf
Anonyme Klassen
Objektiteration
Klassen und Objekte


Objektiteration

PHP 5 bietet eine Möglichkeit Objekte so zu definieren, dass es möglich ist eine Liste von Elementen zu durchlaufen, z.B. mit einem foreach-Statement. Standardmäßig werden alle sichtbaren Eigenschaften für die Iteration benutzt.

Beispiel #1 Einfache Objektiteration

<?php
class MyClass
{
    public $var1 = 'Wert 1';
    public $var2 = 'Wert 2';
    public $var3 = 'Wert 3';

    protected $protected = 'protected var';
    private   $private   = 'private var';

    function iterateVisible() {
       echo "MyClass::iterateVisible:\n";
       foreach($this as $key => $value) {
           print "$key => $value\n";
       }
    }
}

$class = new MyClass();

foreach($class as $key => $value) {
    print "$key => $value\n";
}
echo "\n";

$class->iterateVisible();

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

var1 => Wert 1
var2 => Wert 2
var3 => Wert 3

MyClass::iterateVisible:
var1 => Wert 1
var2 => Wert 2
var3 => Wert 3
protected => protected var
private => private var

Wie die Ausgabe zeigt, lief das foreach über alle sichtbaren Eigenschaften, auf die zugegriffen werden kann.

Um es einen Schritt weiter zu treiben, kann man eines der PHP 5 internen Interfaces, nämlich Iterator, implementieren. Dies erlaubt es dem Objekt vorzugeben wie es iteriert wird und welche Werte in jeder Iteration verfügbar sind.

Beispiel #2 Objektiteration mit implementiertem Iterator

<?php
class MyIterator implements Iterator
{
    private $var = array();

    public function __construct($array)
    {
        if (is_array($array)) {
            $this->var = $array;
        }
    }

    public function rewind() {
        echo "zurückspulen\n";
        reset($this->var);
    }

    public function current() {
        $var = current($this->var);
        echo "aktuell: $var\n";
        return $var;
    }

    public function key() {
        $var = key($this->var);
        echo "key: $var\n";
        return $var;
    }

    public function next() {
        $var = next($this->var);
        echo "nächstes: $var\n";
        return $var;
    }

    public function valid() {
        $var = $this->current() !== false;
        echo "gültig: {$var}\n";
        return $var;
    }
}

$values = array(1,2,3);
$it = new MyIterator($values);

foreach ($it as $a => $b) {
    print "$a: $b\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

zurückspulen
aktuell: 1
gültig: 1
aktuell: 1
key: 0
0: 1
nächstes: 2
aktuell: 2
gültig: 1
aktuell: 2
key: 1
1: 2
nächstes: 3
aktuell: 3
gültig: 1
aktuell: 3
key: 2
2: 3
nächstes:
aktuell:
gültig:

Das IteratorAggregate-Interface kann als Alternative zur Implementierung aller Methoden von Iterator verwendet werden. IteratorAggregate erfordert nur die Implementierung einer einzigen Methode, IteratorAggregate::getIterator(), welche eine Instanz einer Klasse, die Iterator implementiert, zurückgeben sollte.

Beispiel #3 Objektiteration mit implementiertem IteratorAggregate

<?php
class MyCollection implements IteratorAggregate
{
    private $items = array();
    private $count = 0;

    // benötigte Funktion des IteratorAggregate Interface
    public function getIterator() {
        return new MyIterator($this->items);
    }

    public function add($value) {
        $this->items[$this->count++] = $value;
    }
}

$coll = new MyCollection();
$coll->add('Wert 1');
$coll->add('Wert 2');
$coll->add('Wert 3');

foreach ($coll as $key => $val) {
    echo "key/value: [$key -> $val]\n\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

zurückspulen
aktuell: Wert 1
gültig: 1
aktuell: Wert 1
key: 0
key/value: [0 -> Wert 1]

nächstes: Wert 2
aktuell: Wert 2
gültig: 1
aktuell: Wert 2
key: 1
key/value: [1 -> Wert 2]

nächstes: Wert 3
aktuell: Wert 3
gültig: 1
aktuell: Wert 3
key: 2
key/value: [2 -> Wert 3]

nächstes:
aktuell:
gültig:

Hinweis:

Für mehr Beispiele für die Benutzung von Iteratoren siehe auch SPL Erweiterung.

Hinweis:

Anwender von PHP 5.5 oder später sollten auch die Verwendung von Generatoren prüfen, welche eine Alternative zur Erzeugung von Iteratoren anbieten.

Überladung
Magische Methoden
Klassen und Objekte


Magische Methoden

Die Funktionen
__construct(),
__destruct(),
__call(),
__callStatic(),
__get(),
__set(),
__isset(),
__unset(),
__sleep(),
__wakeup(),
__toString(),
__invoke(),
__set_state(),
__clone() und
__debugInfo()
sind in PHP-Klassen magisch. Man kann keine Funktionen gleichen Namens in
einer seiner Klassen haben, wenn man nicht die magische Funktionalität,
die sie mit sich bringen, haben will.

Achtung

PHP reserviert alle Funktionsnamen, die mit __ beginnen, als magisch. Es wird empfohlen, keine Funktionsnamen mit __ in PHP zu benutzen, es sei denn, man möchte dokumentierte magische Funktionalität verwenden.

__sleep() and __wakeup()

public array __sleep ( void )
void __wakeup ( void )

serialize() prüft, ob Ihre Klasse eine Funktion mit dem magischen Namen __sleep() besitzt. Wenn dem so ist, wird die Funktion vor jeder Serialisierung ausgeführt. Sie kann das Objekt aufräumen und es wird von ihr erwartet, dass sie ein Array mit den Namen aller Variablen zurückliefert, die serialisiert werden sollen. Wenn die Methode nichts zurückgibt, so wird NULL serialisiert und eine E_NOTICE geworfen.

Hinweis:

__sleep() kann nicht Namen von privaten Eigenschaften von Elternklassen zurückgeben. In diesem Fall wird eine E_NOTICE geworfen. Stattdessen sollte das Serializable Interface verwendet werden.

Die beabsichtigte Verwendung von __sleep() ist, nicht gespeicherte Daten zu sichern oder ähnliche Aufräumarbeiten zu erledigen. Die Funktion ist ebenfalls nützlich, wenn Sie sehr große Objekte haben, welche nicht komplett gespeichert werden müssen.

Umgekehrt überprüft unserialize() die Anwesenheit einer Funktion mit dem magischen Namen __wakeup(). Falls vorhanden, kann diese Funktion alle Ressourcen, die das Objekt haben könnte, wiederherstellen.

Der beabsichtigte Zweck von __wakeup() ist es, alle Datenbankverbindungen wiederherzustellen, die während der Serialisierung verloren gegangen sein könnten, oder auch andere Aufgaben zur erneuten Initialisierung.

Beispiel #1 Sleep- und Wakeup-Beispiel

<?php
class Connection
{
 protected $link;
 private $dsn, $username, $password;

 public function __construct($dsn, $username, $password)
 {
  $this->dsn = $dsn;
  $this->username = $username;
  $this->password = $password;
  $this->connect();
 }

 private function connect()
 {
  $this->link = new PDO($this->dsn, $this->username, $this->password);
 }

 public function __sleep()
 {
  return array('dsn', 'username', 'password');
 }

 public function __wakeup()
 {
  $this->connect();
 }
}?>

__toString()

public string __toString ( void )

Die __toString() Methode erlaubt einer Klasse zu entscheiden, wie sie reagieren soll, wenn sie in eine Zeichenkette umgewandelt wird. Die beeinflusst beispielsweise, was echo $obj; ausgeben wird. Diese Methode muss eine Zeichenkette zurückgeben, ansonsten wird ein E_RECOVERABLE_ERROR geworfen.

Warnung

Aus der Methode __toString() kann keine Exception geworfen werden. Wenn dies getan wird, so tritt ein fataler Fehler auf.

Beispiel #2 Einfaches Beispiel

<?php
// Deklariere eine einfache Klasse
class TestClass
{
 public $foo;

 public function __construct($foo)
 {
  $this->foo = $foo;
 }

 public function __toString()
 {
  return $this->foo;
 }
}

$class = new TestClass('Hallo');
echo $class;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Hallo

Es muss angemerkt werden, dass die __toString() Methode in Versionen vor PHP 5.2.0 nur in direkter Kombination mit echo oder print aufgerufen wurde. Beginnend mit PHP 5.2.0 erfolgt dieser Aufruf in jedem Stringkontext (z.B. in printf() mit %s-Platzhalter), aber in keinem der anderen Typenkontexte (z.B. mit dem %d-Platzhalter). Ebenfalls beginnend mit PHP 5.2.0 bewirkt die Umwandlung eines Objekts ohne __toString() Methode in einen String einen Fehler der Klasse E_RECOVERABLE_ERROR.

__invoke()

mixed __invoke ([ $... ] )

Die __invoke()-Methode wird aufgerufen, wenn ein Skript versucht, ein Objekt als Funktion aufzurufen.

Hinweis:

Dieses Feature ist ab PHP 5.3.0 verfügbar.

Beispiel #3 Nutzung von __invoke()

<?php
class CallableClass
{
 function __invoke($x)
 {
  var_dump($x);
 }
}
$obj = new CallableClass;
$obj(5);
var_dump(is_callable($obj));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(5)
bool(true)

__set_state()

static object __set_state ( array $properties )

Diese statische Methode wird seit PHP 5.1.0 für Klassen aufgerufen, die mittels var_export() exportiert werden.

Der einzige Parameter dieser Methode ist ein Array, welches aus exportierten Eigenschaften der Form array('Eigenschaft' => Wert, ...) besteht.

Beispiel #4 Verwendung von __set_state() (seit PHP 5.1.0)

<?php

class A
{
 public $var1;
 public $var2;

 public static function __set_state($an_array) // seit PHP 5.1.0
 {
  $obj = new A;
  $obj->var1 = $an_array['var1'];
  $obj->var2 = $an_array['var2'];
  return $obj;
 }
}

$a = new A;
$a->var1 = 5;
$a->var2 = 'foo';

eval('$b = ' . var_export($a, true) . ';'); // $b = A::__set_state(array(
           //    'var1' => 5,
           //    'var2' => 'foo',
           // ));
var_dump($b);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(A)#2 (2) {
  ["var1"]=>
  int(5)
  ["var2"]=>
  string(3) "foo"
}

Hinweis: Wenn ein Objekt exportiert wird, überprüft var_export() nicht ob __set_state() von der Objektklasse implementiert wird, so dass der erneute Import solcher Objekte fehlschlägt, falls __set_state() nicht implementiert ist. Die betrifft im Besonderen einige interne Klassen. It is the responsibility of the programmer to verify that only objects will be re-imported, whose class implements __set_state().

__debugInfo()

array __debugInfo ( void )

Diese Methode wird von var_dump() aufgerufen, wenn ein Objekt ausgegeben wird, um die Eigenschaften auszulesen die gezeigt werden sollen. Wenn diese Methode in einem Objekt nicht definiert ist, so werden alle Eigenschaften die public, protected oder private sind angezeigt.

Diese Feature wurde mit PHP 5.6.0 hinzugefügt.

Beispiel #5 Verwendung von __debugInfo()

<?php
class C {
 private $prop;

 public function __construct($val) {
  $this->prop = $val;
 }

 public function __debugInfo() {
  return [
   'propSquared' => $this->prop ** 2,
  ];
 }
}

var_dump(new C(42));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(C)#1 (1) {
  ["propSquared"]=>
  int(1764)
}
Objektiteration
Final-Schlüsselwort
Klassen und Objekte


Final-Schlüsselwort

PHP 5 führt das final-Schlüsselwort ein, welches Kindklassen davon abhält, Methoden zu überschreiben, indem man der Definition final voranstellt. Wenn die Klasse selbst als final definiert wird, kann sie nicht erweitert werden.

Beispiel #1 Beispiel für final-Methoden

<?php
class BaseClass {
   public function test() {
       echo "BaseClass::test() aufgerufen\n";
   }

   final public function moreTesting() {
       echo "BaseClass::moreTesting() aufgerufen\n";
   }
}

class ChildClass extends BaseClass {
   public function moreTesting() {
       echo "ChildClass::moreTesting() aufgerufen\n";
   }
}
// Erzeugt einen fatalen Fehler: Cannot override final method BaseClass::moreTesting()
?>

Beispiel #2 Beispiel für final-Klassen

<?php
final class BaseClass {
   public function test() {
       echo "BaseClass::test() aufgerufen\n";
   }

   // Es macht hier keinen Unterschied, ob die Methode final ist oder nicht
   final public function moreTesting() {
       echo "BaseClass::moreTesting() aufgerufen\n";
   }
}

class ChildClass extends BaseClass {
}
// Erzeugt einen fatalen Fehler: Class ChildClass may not inherit from final class (BaseClass)
?>

Hinweis: Eigenschaften können nicht als final deklariert werden; nur Klassen und Methoden können als final deklariert werden.

Magische Methoden
Objekte klonen
Klassen und Objekte


Objekte klonen

Eine Kopie eines Objektes mit vollständig replizierten Eigenschaften zu erzeugen, ist nicht immer das gewünschte Verhalten. Ein gutes Beispiel für die Notwendigkeit von Kopierkonstruktoren ist ein Objekt, welches ein GTK Fenster repräsentiert und dieses Objekt enthält die Ressource des GTK-Fensters. Wenn Sie ein Duplikat dieses Objektes erzeugen, könnten Sie ein neues Fenster mit gleichen Eigenschaften erzeugen wollen und das neue Objekt soll die Ressource des neuen Fensters speichern. Ein weiteres Beispiel ist ein Objekt, welches eine Referenz auf ein anderes Objekt, das es benutzt, hält und wenn das Vaterobjekt repliziert wird, will man eine neue Instanz dieses anderen Objektes erzeugen, damit das Replikat eine eigene Kopie besitzt.

Eine Objektkopie wird durch die Nutzung des clone Schlüsselwortes (welches wenn möglich die __clone()-Methode des Objektes aufruft) erzeugt. Die __clone()-Methode eines Objektes kann nicht direkt aufgerufen werden.

$kopie_des_objektes = clone $objekt;

Wenn ein Objekt geklont wird, wird PHP 5 eine seichte Kopie der Eigenschaften des Objektes durchführen. Alle Eigenschaften, die Referenzen auf andere Variablen sind, werden Referenzen bleiben.

void __clone ( void )

Sobald der Klonvorgang abgeschlossen und eine __clone()- Methode definiert ist, so wird die __clone()-Methode des neu erzeugten Objekts aufgerufen, damit alle notwendigen Eigenschaften verändert werden können.

Beispiel #1 Ein Objekt klonen

<?php
class SubObject
{
    static $instanzen = 0;
    public $instanz;

    public function __construct() {
        $this->instanz = ++self::$instanzen;
    }

    public function __clone() {
        $this->instanz = ++self::$instanzen;
    }
}

class MyCloneable
{
    public $objekt1;
    public $objekt2;

    function __clone()
    {
        // Erzwinge eine Kopie von this->object,
        // andernfalls wird es auf das selbe Objekt zeigen
        $this->objekt1 = clone $this->objekt1;
    }
}

$obj = new MyCloneable();

$obj->objekt1 = new SubObject();
$obj->objekt2 = new SubObject();

$obj2 = clone $obj;

print("Original Objekt:\n");
print_r($obj);

print("geklontes Objekt:\n");
print_r($obj2);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Original Objekt:
MyCloneable Object
(
    [object1] => SubObject Object
        (
            [instanz] => 1
        )

    [object2] => SubObject Object
        (
            [instanz] => 2
        )

)
geklontes Object:
MyCloneable Object
(
    [objekt1] => SubObject Object
        (
            [instanz] => 3
        )

    [objekt2] => SubObject Object
        (
            [instanz] => 2
        )

)
Final-Schlüsselwort
Objekte vergleichen
Klassen und Objekte


Objekte vergleichen

Wenn man den Vergleichsoperator (==) benutzt, werden Objektvariablen auf einfache Weise verglichen, d.h.: Zwei Objektinstanzen sind gleich, wenn sie die gleichen Attribute mit dem selben Wert (verglichen mit ==) haben und Instanzen der selben Klasse sind.

Wenn man den Identitätsoperator benutzt (===), sind zwei Objekte identisch, genau dann, wenn sie die selbe Instanz der selben Klasse referenzieren.

Ein Beispiel wird diese Regeln verdeutlichen.

Beispiel #1 Beispiel für Objektvergleiche in PHP 5

<?php
function bool2str($bool)
{
    if ($bool === false) {
        return 'FALSE';
    } else {
        return 'TRUE';
    }
}

function compareObjects(&$o1, &$o2)
{
    echo 'o1 == o2 : ' . bool2str($o1 == $o2) . "\n";
    echo 'o1 != o2 : ' . bool2str($o1 != $o2) . "\n";
    echo 'o1 === o2 : ' . bool2str($o1 === $o2) . "\n";
    echo 'o1 !== o2 : ' . bool2str($o1 !== $o2) . "\n";
}

class Flag
{
    public $flag;

    function Flag($flag = true) {
        $this->flag = $flag;
    }
}

class OtherFlag
{
    public $flag;

    function OtherFlag($flag = true) {
        $this->flag = $flag;
    }
}

$o = new Flag();
$p = new Flag();
$q = $o;
$r = new OtherFlag();

echo "Zwei Instanzen der selben Klasse\n";
compareObjects($o, $p);

echo "\nZwei Referenzen auf die selbe Instanz\n";
compareObjects($o, $q);

echo "\nInstanzen zweier verschiedener Klassen\n";
compareObjects($o, $r);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Zwei Instanzen der selben Klasse
o1 == o2 : TRUE
o1 != o2 : FALSE
o1 === o2 : FALSE
o1 !== o2 : TRUE

Zwei Referenzen auf die selbe Instanz
o1 == o2 : TRUE
o1 != o2 : FALSE
o1 === o2 : TRUE
o1 !== o2 : FALSE

Instanzen zweier verschiedener Klassen
o1 == o2 : FALSE
o1 != o2 : TRUE
o1 === o2 : FALSE
o1 !== o2 : TRUE

Hinweis:

Erweiterungen können eigene Regeln für ihre Objektvergleiche (==) definieren.

Objekte klonen
Type-Hints
Klassen und Objekte


Type-Hints

Diese Dokumentation wurde in die Funktionsreferenz verschoben.

Objekte vergleichen
Späte statische Bindung
Klassen und Objekte


Späte statische Bindung

Beginnend mit PHP 5.3.0 unterstützt PHP späte statische Bindung ("Late static binding"). Hiermit kann die aufgerufene Klasse im Kontext statischer Vererbung referenziert werden.

Genauer gesagt funktioniert späte statische Bindung durch das Speichern der Klasse, die im letzten "nicht weiterleitenden Aufruf" angegeben wurde. Im Fall von statischen Methodenaufrufen, ist dies die explizit angegebene Klasse (üblicherweise diejenige auf der linken Seite des :: Operators); im Fall von nicht statischen Methodenaufrufen, ist es die Klasse des Objekts. Ein "weiterleitender Aufruf" ist ein statischer, der durch self::, parent::, static::, oder, in der Klassenhierarchie nach oben gehend, durch forward_static_call(), eingeleitet wurde. Die Funktion get_called_class() kann benutzt werden, um eine Zeichenkette mit dem Namen der aufgerufenen Klasse abzufragen, und static:: führt ihren Geltungsbereich ein.

Diese Funktionalität wurde in Hinblick auf die interne Perspektive als "späte statische Bindung" benannt. "Späte Bindung" bezieht sich auf die Tatsache, dass static:: nicht über die Klasse, in der die aufgerufene Methode definiert ist, aufgelöst wird, stattdessen wird diese mit Hilfe von Laufzeitinformationen bestimmt. Die Benennung als "statische Bindung" beruht darauf, dass dieser Mechanismus unter anderem für statische Methodenaufrufe genutzt werden kann.

Beschränkungen von self::

Statische Referenzen auf die aktuelle Klasse wie self:: oder __CLASS__ werden mit Hilfe der Klasse, zu der die Methode gehört, also in welcher sie definiert ist, aufgelöst.

Beispiel #1 Nutzung von self::

<?php
class A {
    public static function who() {
        echo __CLASS__;
    }
    public static function test() {
        self::who();
    }
}

class B extends A {
    public static function who() {
         echo __CLASS__;
    }
}

B::test();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

A

Nutzung später statischer Bindung

Späte statische Bindung versucht diese Beschränkung zu umgehen, indem ein neues Schlüsselwort eingeführt wird, dass die Klasse referenziert, die tatsächlich zur Laufzeit genutzt wurde, also im Wesentlichen ein Schlüsselwort, das es Ihnen gestattet im vorangegangenen Beispiel aus der aufgerufenen Methode test() die Klasse B zu referenzieren. Es wurde entschieden, kein neues Schlüsselwort einzuführen sondern statt dessen static zu verwenden, das bereits als reserviertes Schlüsselwort existierte.

Beispiel #2 Einfache Nutzung von static::

<?php
class A {
    public static function who() {
        echo __CLASS__;
    }
    public static function test() {
        static::who(); // statische Bindung
    }
}

class B extends A {
    public static function who() {
         echo __CLASS__;
    }
}

B::test();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

B

Hinweis:

In nicht statischen Kontexten ist die aufgerufene Klasse die Klasse des Objekt-Exemplars. Da $this-> versucht private Methoden im gleichen Geltungsbereich aufzurufen, kann die Verwendung von static:: andere Ergebnisse liefern. Ein weiterer Unterschied ist, dass static:: sich nur auf statische Eigenschaften beziehen kann.

Beispiel #3 Nutzung von static:: außerhalb eines statischen Kontexts

<?php
class A {
    private function foo() {
        echo "Erfolg!\n";
    }
    public function test() {
        $this->foo();
        static::foo();
    }
}

class B extends A {
   /* foo() wird nach B kopiert, weshalb ihr Geltungsbreich immer noch A ist,
    * und der Aufruf wird erfolgreich sein */
}

class C extends A {
    private function foo() {
        /* ursprüngliche Methode wird ersetzt; der Geltungsbereich der neuen ist C */
    }
}

$b = new B();
$b->test();
$c = new C();
$c->test();   //scheitert
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Erfolg!
Erfolg!
Erfolg!

Fatal error:  Call to private method C::foo() from context 'A' in /tmp/test.php on line 9

Hinweis:

Die Auflösung später statischer Bindungen endet mit einem vollständig aufgelösten statischen Aufruf ohne Alternative. Statische Aufrufe, die Schlüsselworte wie parent:: oder self:: nutzen, geben dagegen die Aufrufinformationen weiter.

Beispiel #4 Weitergegebene und nicht weitergegebene Aufrufe

<?php
class A {
    public static function foo() {
        static::who();
    }

    public static function who() {
        echo __CLASS__."\n";
    }
}

class B extends A {
    public static function test() {
        A::foo();
        parent::foo();
        self::foo();
    }

    public static function who() {
        echo __CLASS__."\n";
    }
}
class C extends B {
    public static function who() {
        echo __CLASS__."\n";
    }
}

C::test();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

A
C
C

Type-Hints
Objekte und Referenzen
Klassen und Objekte


Objekte und Referenzen

Eine der häufigsten Aussagen zu objektorientierter Programmierung in PHP5 ist, dass "Objekte standardmäßig als Referenz übergeben werden". Dies ist nicht komplett wahr. Dieser Abschnitt berichtigt diese verbreitete Annahme anhand von Beispielen.

Eine PHP-Referenz ist ein Alias, der es ermöglicht, dass zwei unterschiedliche Variablen sich auf denselben Wert beziehen. Beginnend mit PHP 5 enthält eine Objektvariable nicht mehr das Objekt als Wert, sondern nur einen Objektbezeichner, der bei Objektzugriffen die Identifizierung des eigentlichen Objektes ermöglicht. Wenn ein Objekt als Argument oder Rückgabewert übergeben oder einer anderen Variable zugewiesen wird, so sind die verschiedenen Variablen keine Aliase, sie enthalten vielmehr Kopien des Bezeichners, die auf dasselbe Objekt verweisen.

Beispiel #1 Referenzen und Objekte

<?php
class A {
    public $foo = 1;
}

$a = new A;
$b = $a;     // $a und $b sind Kopien des gleichen Bezeichners
             // ($a) = ($b) = <id>
$b->foo = 2;
echo $a->foo."\n";

$c = new A;
$d = &$c;    // $c und $d sind Referenzen
             // ($c,$d) = <id>

$d->foo = 2;
echo $c->foo."\n";

$e = new A;

function foo($obj) {
    // ($obj) = ($e) = <id>
    $obj->foo = 2;
}

foo($e);
echo $e->foo."\n";

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

2
2
2
Späte statische Bindung
Serialisierung von Objekten
Klassen und Objekte


Serialisierung von Objekten

Serialisierung von Objekten - Objekte in Sessions

serialize() erzeugt einen String, welcher die Byte-Stream-Repräsentation eines jeden Wertes besitzt, der in PHP gespeichert werden kann. unserialize() kann diesen String verwenden, um die ursprünglichen Variablenwerte wiederherzustellen. Verwendet man serialize(), um ein Objekt zu speichern, so werden alle Variablen dieses Objektes gespeichert. Die Methoden des Objektes werden nicht gespeichert, nur der Name der Klasse.

Damit man imstande ist, ein Objekt mit unserialize() wiederherzustellen, muss die Klasse des Objektes definiert sein. Das heißt, wenn man ein Objekt der Klasse A serialisiert, erhält man einen String, der sich auf die Klasse A bezieht und die Werte aller darin enthaltenen Variablen beinhaltet. Wenn man in einer anderen Datei diesen String wieder zu einem Objekt der Klasse A deserialisieren will, so muss die Klasse A in dieser Datei vorher bekannt sein. Dies kann man erreichen, indem man die Definition der Klasse A in eine mittels include ladbare Datei auslagert und diese Datei einbindet oder die Funktion spl_autoload_register() verwendet.

<?php
// classa.inc:

  class A {
      public $one = 1;

      public function show_one() {
          echo $this->one;
      }
  }

// page1.php:

  include("classa.inc");

  $a = new A;
  $s = serialize($a);
  // $s irgendwo ablegen, wo page2.php dies finden kann.
  file_put_contents('store', $s);

// page2.php:

  // Dies ist nötig, damit unserialize korrekt funktioniert.
  include("classa.inc");

  $s = file_get_contents('store');
  $a = unserialize($s);

  // Nun kann man die Funktion show_one() des Objektes $a
  // verwenden.
  $a->show_one();
?>

Wenn eine Anwendung Sessions verwendet und die Funktion session_register() benutzt, um Objekte zu registrieren, so werden diese Objekte automatisch am Schluss jeder PHP-Seite serialisiert und in jeder nachfolgenden PHP-Seite deserialisiert. Das heißt, dass diese Objekte in jeder Seite der Anwendung auftauchen können, sobald diese Teil der Session werden. session_register() wurde in PHP 5.4.0 jedoch entfernt.

Es ist dringend empfohlen, dass wenn eine Anwendung Objekte zur späteren Verwendung in der Anwendung serialisiert, die Klassendefinitionen in der gesamten Anwendung eingebunden werden. Wird dies nicht beachtet, so wird das Objekt ohne eine Klassendefinition deserialisiert, was dazu führen wird, dass PHP dem Objekt eine Klasse __PHP_Incomplete_Class_Name zuweisen wird, welche keine Methoden besitzt. Dies wird das Objekt nutzlos machen.

Wenn also im obigen Beispiel $a Teil einer Session würde, indem man session_register("a") benutzt, so sollte die Datei classa.inc in jeder Seite eingebunden werden, nicht nur in page1.php und page2.php.

Beachten Sie neben den obigen Hinweisen dass man sich in die Serialisierungs- und Deserialisierungs-Ereignisse einklinken kann, indem man die Methoden __sleep() und __wakeup() eines Objektes verwendet. Die Verwendung von __sleep() erlaubt es nur eine Teilmenge der Eigenschaften eines Objektes zu serialisieren.

Objekte und Referenzen
OOP-Changelog
Klassen und Objekte


OOP-Changelog

Hier werden Änderungen am OOP-Modell von PHP 5 protokolliert. Beschreibungen und andere Hinweise zu diesen Features werden innerhalb der OOP-5-Dokumentation dargelegt.

Version | Beschreibung
5.5.0 | finally zur Behandlung von Exceptions hinzugefügt.
5.4.0 | Traits hinzugefügt.
5.4.0 | Geändert: Wenn eine abstrakte Klasse eine Signatur für den Konstruktor definiert, so wird diese nun erzwungen.
5.3.3 | Geändert: Methoden, die den Namen des letzten Elementes eines Klassennamens in einem Namespace tragen, werden nicht länger als Konstruktor behandelt. Diese Änderung beeinflusst Klassen außerhalb von Namespaces nicht.
5.3.0 | Geändert: Klassen, die Interfaces implementieren, welche Methoden mit Vorgabewerten in ihrem Prototypen enthalten müssen nicht mehr dem Vorgabewert des Interfaces entsprechen.
5.3.0 | Geändert: Es ist nun möglich eine Klasse mittels einer Variablen zu referenzieren (z.B. echo $classname::constant;). Der Wert der Variable darf kein Schlüsselwort sein (z.B. self, parent oder static).
5.3.0 | Geändert: Ein Fehler der Stufe E_WARNING wird ausgelöst, wenn die magischen Methoden für Überladung als static deklariert werden. Dies erzwingt auch die Anforderung nach öffentlicher Sichtbarkeit.
5.3.0 | Geändert: Vor PHP 5.3.0 konnten Exceptions, die in einer __autoload()-Funktion geworfen wurden, nicht mit einem catch-Block gefangen werden und resultierten in einem "fatal error". Nun können Exceptions, die in einer __autoload-Funktion geworfen wurden, im catch-Block unter einer Bedingung gefangen werden. Wenn eine selbst definierte Exception geworfen wird, so muss diese Exception verfügbar sein. Die __autoload-Funktion kann jedoch rekursiv aufgerufen werden, um die Exceptionklasse automatisch zu laden.
5.3.0 | Hinzugefügt: Die Methode __callStatic.
5.3.0 | Hinzugefügt: Unterstützung für die heredoc- und nowdoc-Syntax für const und Definition von Eigenschaften in einer Klasse. Beachten Sie: die heredoc-Werte müssen den gleichen Regeln wie Strings in doppelten Anführungszeichen folgen (d.h. keine Variablen beinhalten).
5.3.0 | Hinzugefügt: Späte statische Bindung.
5.3.0 | Hinzugefügt: Die Methode __invoke.
5.2.0 | Geändert: Die Methode __toString wurde nur in direkter Verbindung mit echo oder print aufgerufen. Nun wird sie in jedem String-Kontext aufgerufen (z.B. in printf() mit dem %s-Modifizierer), aber nicht in anderen Kontexten (z.B. mit dem %d-Modifizierer). Seit PHP 5.2.0 löst die Konvertierung von Objekten ohne __toString-Methode zu Strings einen Fehler der Stufe E_RECOVERABLE_ERROR aus.
5.1.3 | Geändert: In vorhergehenden Versionen von PHP 5 wurde die Verwendung von var als veraltet betrachtet und löste einen Fehler der Stufe E_STRICT aus. Dies ist nicht länger veraltet und daher wird kein Fehler mehr ausgelöst.
5.1.0 | Geändert: Die statische Methode __set_state wird nun für Klassen aufgerufen, wenn sie durch var_export() exportiert werden.
5.1.0 | Hinzugefügt: Die Methoden __isset und __unset.

Serialisierung von Objekten
Namespaces
Klassen und Objekte


Namespaces

Inhaltsverzeichnis

  • Übersicht über Namespaces
  • Namespaces definieren
  • Unter-Namespaces deklarieren
  • Mehrere Namespaces in der selben Datei definieren
  • Namespaces verwenden: Grundlagen
  • Namespaces und dynamische Sprachfeatures
  • Namespace-Schlüsselwort und __NAMESPACE__-Konstante
  • Namespaces verwenden: Aliase/Importieren
  • Globaler Namensraum
  • Namespaces verwenden: Rückgriff auf globale Funktion/Konstante
  • Regeln für Namensauflösung
  • FAQ: Dinge, die Sie über Namespaces wissen sollten
OOP-Changelog
Übersicht über Namespaces
Sprachreferenz


Übersicht über Namespaces

(PHP 5 >= 5.3.0, PHP 7)

Was sind Namespaces? Im weitesten Sinne bieten Namespaces eine Möglichkeit, verschiedene Gegenstände zu kapseln. Dies kann man als abstraktes Konzept an vielen Dingen beobachten. In einem Betriebssystem dienen zum Beispiel Verzeichnisse dazu, um zusammengehörige Dateien zu gruppieren, und dienen als Namespace für die beinhalteten Dateien. In einem konkreten Beispiel kann die Datei foo.txt sowohl im Verzeichnis /home/greg als auch in /home/other existieren, aber es können keine zwei Varianten der Datei foo.txt im gleichen Verzeichnis existieren. Um auf die Datei foo.txt von außerhalb des Verzeichnisses /home/greg zuzugreifen, muss man zusätzlich dem Verzeichnisnamen den Dateinamen und ein Trennzeichen voranstellen, um /home/greg/foo.txt zu erhalten. Das gleiche Prinzip streckt sich auf Namespaces in der Programmierwelt aus.

Version | Beschreibung
7.0.0 | Gruppierte use-Deklarationen hinzugefügt.

In der Welt von PHP wurden Namespaces entworfen, um zwei Probleme zu lösen, auf die die Autoren von Bibliotheken und Anwendungen stoßen, wenn sie wiederverwendbare Codeelemente wie Klassen und Funktionen entwickeln:

  1. Namenskollisionen zwischen eigenem Code und internen PHP-Klassen/Funktionen/Konstanten oder Klassen/Funktionen/Konstanten von Drittanbietern.
  2. Die Möglichkeit, um einen Alias (oder einen Kurznamen) für Sehr_Lange_Namen einzuführen, die angelegt wurden, um das erste Problem zu umgehen. Damit kann man die Lesbarkeit des Quellcodes erhöhen.

PHP-Namespaces bieten eine Möglickeit, um zusammengehörige Klassen, Interfaces, Funktionen und Konstanten zusammenzufassen. Dies ist ein Beispiel für die Namespace-Syntax in PHP:

Beispiel #1 Beispiel für Namespace-Syntax

<?php
namespace my\name; // siehe Abschnitt "Namespaces definieren"

class MyClass {}
function myfunction() {}
const MYCONST = 1;

$a = new MyClass;
$c = new \my\name\MyClass; // siehe Abschnitt "Globaler Namensraum"

$a = strlen('hi'); // siehe Abschnitt "Namespaces verwenden: Rückgriff auf
                   // globale Funktion/Konstante"

$d = namespace\MYCONST; // siehe Abschnitt "Namespace-Schlüsselwort und __NAMESPACE__-
                        // Konstante"
$d = __NAMESPACE__ . '\MYCONST';
echo constant($d); // siehe Abschnitt "Namespaces und dynamische Sprachfeatures"
?>

Hinweis:

Die Namespaces PHP und php, sowie zusammengesetzte Namen, die mit diesen Bezeichnungen beginnen (wie z.B. PHP\Classes), sind zur internen Verwendung in der Sprache reserviert und sollten im eigene Programmcode nicht verwendet werden.

Namespaces
Namespaces definieren
Namespaces


Namespaces definieren

(PHP 5 >= 5.3.0, PHP 7)

Obwohl jeder gültige PHP-Quellcode in Namespaces eingeschlossen werden kann, werden nur die folgenden Arten von Code von Namespaces beeinflusst: Klassen (inklusive abstrakter Klassen und Traits), Interfaces, Funktionen und Konstanten.

Namespaces werden mit dem Schlüsselwort namespace definiert. Eine Datei, die einen Namespace beinhaltet, muss den Namespace am Anfang der Datei vor jeglichem anderen Code deklarieren - mit Ausnahme des declare-Schlüsselworts.

Beispiel #1 Einen einzelnen Namespace deklarieren

<?php
namespace MyProject;

const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */  }

?>
Der einzige Quellcode, der vor einer Namespacedeklaration stehen darf, ist der declare-Ausdruck, der die Kodierung der Quellcodedatei definiert. Gleichzeitig darf kein Nicht-PHP-Code vor einer Namespacedeklaration stehen - auch keine zusätzlichen Leerzeichen, Zeilenumbrüche oder Tabulatoren.

Beispiel #2 Einen einzelnen Namespace deklarieren

<html>
<?php
namespace MyProject; // fatal error - Namespace muss der erste Ausdruck im Skript sein
?>

Zusätzlich darf - im Gegensatz zu anderen PHP-Konstrukten - der selbe Namespace in mehreren Dateien definiert werden, womit man den Inhalt eines Namespaces im Dateisystem aufteilen kann.

Übersicht über Namespaces
Unter-Namespaces deklarieren
Namespaces


Unter-Namespaces deklarieren

(PHP 5 >= 5.3.0, PHP 7)

Ähnlich wie Verzeichnisse und Dateien hat ein PHP-Namespace auch die Möglichkeit, eine Hierarchie von Namespacenamen zu beinhalten. Ein Namespace kann also mit Unterebenen definiert werden:

Beispiel #1 Einen einzelnen Namespace mit einer Hierarchie deklarieren

<?php
namespace MyProject\Sub\Level;

const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */  }

?>
Das obige Beispiel erzeugt eine Konstante MyProject\Sub\Level\CONNECT_OK, die Klasse MyProject\Sub\Level\Connection und die Funktion MyProject\Sub\Level\connect.

Namespaces definieren
Mehrere Namespaces in der selben Datei definieren
Namespaces


Mehrere Namespaces in der selben Datei definieren

(PHP 5 >= 5.3.0, PHP 7)

Es können auch mehrere Namespaces in der selben Datei definiert werden. Es gibt hierfür zwei mögliche Schreibweisen:

Beispiel #1 Mehrere Namespaces definieren, einfache Kombinationssyntax

<?php
namespace MyProject;

const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */  }

namespace AnotherProject;

const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */  }
?>

Diese Syntax ist nicht die empfohlene Syntax, um mehrere Namespaces in einer einzigen Datei zusammenzuführen. Stattdessen wird die geklammerte Syntax empfohlen.

Beispiel #2 Mehrere Namespaces definieren, geklammerte Syntax

<?php
namespace MyProject {

const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */  }
}

namespace AnotherProject {

const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */  }
}
?>

Es wird stark von der Programierpraxis mehrere Namespaces in einer Datei zu definieren abgeraten. Der wichtigste Einsatzzweck für diese Möglichkeit ist es, mehrere PHP-Skripte in der selben Datei zusammenzuführen.

Um Code ohne Namensräume mit solchem mit Namensräumen zusammenzuführen, wird nur die geklammerte Syntax unterstützt. Globaler Code sollte in einem Namespace-Statement ohne Namespace eingeschlossen werden:

Beispiel #3 Mehrere Namespaces und Code ohne Namespace deklarieren

<?php
namespace MyProject {

const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */  }
}

namespace { // global code
session_start();
$a = MyProject\connect();
echo MyProject\Connection::start();
}
?>

Es darf kein PHP-Code außerhalb der Namespace-Klammern existieren, abgesehen von einem beginnenden declare-Ausdruck.

Beispiel #4 Mehrere Namespaces und Code ohne Namespace deklarieren

<?php
declare(encoding='UTF-8');
namespace MyProject {

const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */  }
}

namespace { // globaler Code
session_start();
$a = MyProject\connect();
echo MyProject\Connection::start();
}
?>

Unter-Namespaces deklarieren
Namespaces verwenden: Grundlagen
Namespaces


Namespaces verwenden: Grundlagen

(PHP 5 >= 5.3.0, PHP 7)

Bevor die Verwendung von Namespaces besprochen wird, ist es wichtig zu verstehen, woher PHP weiß, welches Element mit Namespace vom Code angefordert wird. Eine einfache Analogie kann zwischen PHP-Namensräumen und einem Dateisystem gesehen werden. Es gibt drei Möglichkeiten, mit denen man auf eine Datei in einem Dateisystem zugreifen kann:

  1. Relative Dateinamen wie foo.txt. Dies wird zu aktuellesVerzeichnis/foo.txt aufgelöst, wenn aktuellesVerzeichnis das gerade geöffnete Verzeichnis ist. Wenn also das aktuelle Verzeichnis /home/foo ist, so wird dies als /home/foo/foo.txt aufgelöst.
  2. Relative Pfade wie unterVerzeichnis/foo.txt. Dies wird zu aktuellesVerzeichnis/unterVerzeichnis/foo.txt aufgelöst.
  3. Absolute Pfadangaben wie /main/foo.txt. Dies wird zu /main/foo.txt aufgelöst.
Das gleiche Prinzip kann auf Elemente mit Namespaces in PHP angewandt werden. Zum Beispiel kann eine Klasse auf drei Arten angesprochen werden:
  1. Unqualifizierte Namen oder ein Klassenname ohne Präfix, wie etwa $a = new foo(); oder foo::staticmethod();. Falls der aktuelle Namespace aktuellerNamespace ist, so wird dies zu aktuellerNamespace\foo aufgelöst. Ist der Code globaler Code ohne Namespaces, so wird dies zu foo aufgelöst. Es gibt eine Ausnahme hierzu: Unqualifizierte Namen für Funktionen und Konstanten werden zu globalen Funktionen und Konstanten aufgelöst, wenn die Funktion oder Konstante im Namespace nicht definiert ist. Siehe auch Namespaces verwenden: Rückgriff auf globale Funktion/Konstante für weitere Details.
  2. Qualifizierte Namen oder ein Klassenname mit Präfix, wie etwa $a = new unterNamespace\foo(); oder unterNamespace\foo::staticmethod();. Wenn der aktuelle Namespace aktuellerNamespace ist, so wird dies als aktuellerNamespace\unterNamespace\foo verstanden. Wenn der Code global und ohne Namespaces ist, so wird dies zu unterNamespace\foo aufgelöst.
  3. Vollständig qualifizierte Namen oder Namen mit globalem Präfixoperator wie $a = new \aktuellerNamespace\foo(); oder \aktuellerNamespace\foo::staticmethod();. Dies wird immer wörtlich wie der im Code angegebene Name verstanden, also aktuellerNamespace\foo.

Hier ein Beispiel für die drei Schreibweisen in tatsächlichem Code:

file1.php

<?php
namespace Foo\Bar\subnamespace;

const FOO = 1;
function foo() {}
class foo
{
    static function staticmethod() {}
}
?>

file2.php

<?php
namespace Foo\Bar;
include 'file1.php';

const FOO = 2;
function foo() {}
class foo
{
    static function staticmethod() {}
}

/* Unqualifizierter Name */
foo(); // wird als Funktion Foo\Bar\foo aufgelöst
foo::staticmethod(); // wird als Klasse Foo\Bar\foo und Methode staticmethod aufgelöst
echo FOO; // gibt die Konstante Foo\Bar\FOO aus

/* Qualifizierter Name */
subnamespace\foo(); // wird als Funktion Foo\Bar\subnamespace\foo aufgelöst
subnamespace\foo::staticmethod(); // wird als Klasse Foo\Bar\subnamespace\foo und
                                  // Methode staticmethod aufgelöst
echo subnamespace\FOO; // gibt die Konstante Foo\Bar\subnamespace\FOO aus

/* Vollständig qualifizierter Name */
\Foo\Bar\foo(); // wird als Funktion Foo\Bar\foo aufgelöst
\Foo\Bar\foo::staticmethod(); // wird als Klasse Foo\Bar\foo und Methode staticmethod aufgelöst
echo \Foo\Bar\FOO; // gibt die Konstante Foo\Bar\FOO aus
?>

Beachten Sie, dass für den Zugriff auf jede globale Klasse, Funktion oder Konstante auch ein vollständig qualifizierter Name verwendet werden kann, wie z.B. \strlen(), \Exception oder \INI_ALL.

Beispiel #1 Zugriff auf globale Klassen, Funktionen und Konstanten aus einem Namespace

<?php
namespace Foo;

function strlen() {}
const INI_ALL = 3;
class Exception {}

$a = \strlen('hi'); // ruft die globale Funktion strlen auf
$b = \INI_ALL; // greift auf die globale Konstante INI_ALL zu
$c = new \Exception('error'); // erzeugt eine Neue Instanz der globalen
                              // Klasse Exception
?>

Mehrere Namespaces in der selben Datei definieren
Namespaces und dynamische Sprachfeatures
Namespaces


Namespaces und dynamische Sprachfeatures

(PHP 5 >= 5.3.0, PHP 7)

Die Implementierung von Namespaces in PHP ist stark von seinen Eigenschaften als Programmiersprache mit dynamischen Features beeinflusst. Man kann also den folgenden Code in Code mit Namespaces umformen:

Beispiel #1 Dynamischer Zugriff auf Elemente

example1.php:

<?php
class classname
{
    function __construct()
    {
        echo __METHOD__,"\n";
    }
}
function funcname()
{
    echo __FUNCTION__,"\n";
}
const constname = "global";

$a = 'classname';
$obj = new $a; // gibt classname::__construct aus
$b = 'funcname';
$b(); // gibt funcname aus
echo constant('constname'), "\n"; // gibt global aus
?>
Um diesen Code umzuformen, muss man den vollständig qualifizierten Namen (Klassenname mit namespace-Präfix) verwenden. Beachten Sie, dass, weil es keinen Unterschied zwischen einem qualifizierten und vollständig qualifizierten Namen innerhalb eines dynamischen Klassen-, Funktions- oder Konstantennamen gibt, der führende Backslash nicht notwendigerweise angegeben werden muss.

Beispiel #2 Dynamischer Zugriff auf Elemente mit Namespace

<?php
namespace namespacename;
class classname
{
    function __construct()
    {
        echo __METHOD__,"\n";
    }
}
function funcname()
{
    echo __FUNCTION__,"\n";
}
const constname = "namespaced";

/* Wenn man doppelte Anführungszeichen verwendet,
muss "\\namespacename\\classname" verwendet werden */
$a = '\namespacename\classname';
$obj = new $a; // gibt namespacename\classname::__construct aus
$a = 'namespacename\classname';
$obj = new $a; // gibt ebenfalls namespacename\classname::__construct aus
$b = 'namespacename\funcname';
$b(); // gibt namespacename\funcname aus
$b = '\namespacename\funcname';
$b(); // gibt ebenfalls namespacename\funcname aus
echo constant('\namespacename\constname'), "\n"; // gibt namespaced aus
echo constant('namespacename\constname'), "\n"; // gibt ebenfalls namespaced aus
?>

Bitte lesen Sie auch den Hinweis zum Escaping von Namespacenamen in Strings.

Namespaces verwenden: Grundlagen
Namespace-Schlüsselwort und __NAMESPACE__-Konstante
Namespaces


Namespace-Schlüsselwort und __NAMESPACE__-Konstante

(PHP 5 >= 5.3.0, PHP 7)

PHP unterstützt zwei Arten des abstrakten Zugriffs auf Elemente innerhalb eines Namenspaces, die magische Konstante __NAMESPACE__ und das Schlüsselwort namespace.

Der Wert von __NAMESPACE__ ist ein String, der den Namen des aktuellen Namespace beinhaltet. In globalem Code ohne Namespaces beinhaltet dies einen leeren String.

Beispiel #1 __NAMESPACE__-Beispiel, Code mit Namespace

<?php
namespace MyProject;

echo '"', __NAMESPACE__, '"'; // gibt "MyProject" aus
?>

Beispiel #2 __NAMESPACE__-Beispiel, globaler Code

<?php

echo '"', __NAMESPACE__, '"'; // gibt "" aus
?>
Die Konstante __NAMESPACE__ ist nützlich, um dynamische Namen zu konstruieren, zum Beispiel:

Beispiel #3 __NAMESPACE__ zur dynamischen Namenszusammensetzung verwenden

<?php
namespace MyProject;

function get($classname)
{
    $a = __NAMESPACE__ . '\\' . $classname;
    return new $a;
}
?>

Das Schlüsselwort namespace kann verwendet werden, um explizit ein Element des aktuellen Namespaces oder eines untergeordneten Namespaces anzufordern. Es ist das äquivalent der Namespaces zum self-Operator für Klassen.

Beispiel #4 Der namespace-Operator, innerhalb eines Namespace

<?php
namespace MyProject;

use blah\blah as mine; // siehe "Namespaces verwenden: Aliase/Importieren"

blah\mine(); // ruft die Funktion MyProject\blah\mine() auf
namespace\blah\mine(); // ruft die Funktion MyProject\blah\mine() auf

namespace\func(); // ruft die Function MyProject\func() auf
namespace\sub\func(); // ruft die Function MyProject\sub\func() auf
namespace\cname::method(); // ruft die statische Methode "method" der Klasse MyProject\cname auf
$a = new namespace\sub\cname(); // erzeugt ein Objekt der Klasse MyProject\sub\cname
$b = namespace\CONSTANT; // weist den Wert der Konstante MyProject\CONSTANT $b zu
?>

Beispiel #5 Der namespace-Operator, in globalem Code

<?php

namespace\func(); // ruft die Function func() auf
namespace\sub\func(); // ruft die Function sub\func() auf
namespace\cname::method(); // ruft die statische Methode "method" der Klasse cname auf
$a = new namespace\sub\cname(); // erzeugt ein Objekt der Klasse sub\cname
$b = namespace\CONSTANT; // weist den Wert der Konstante CONSTANT $b zu
?>

Namespaces und dynamische Sprachfeatures
Namespaces verwenden: Aliase/Importieren
Namespaces


Namespaces verwenden: Aliase/Importieren

(PHP 5 >= 5.3.0, PHP 7)

Die Möglichkeit, auf vollständig qualifizierte Namen mit einem Alias (Importieren) zuzugreifen, ist ein wichtiges Feature von Namespaces. Dies ist ähnlich wie die Möglichkeit von Unix-basierten Dateisystemen einen symbolischen Link auf eine Datei oder ein Verzeichnis anzulegen.

Alle PHP-Versionen die Namespaces unterstützen drei Arten von Aliasen oder Importen: Einen Alias für einen Klassennamen, einen Alias für einen Interfacenamen und einen Alias für einen Namespace. PHP 5.6+ erlauben ebenfalls den Import bzw. die Vergabe eines Alias für Funktionen und Konstanten.

Ein Alias wird in PHP mittels des use-Operators angelegt. Hier ein Beispiel, welches alle fünf Arten von Importen zeigt:

Beispiel #1 Aliase/Importieren mit dem use-Operator

<?php
namespace foo;
use My\Full\Classname as Another;

// dies ist das gleiche wie use My\Full\NSname as NSname
use My\Full\NSname;

// importiert eine globale Klasse
use ArrayObject;

// Eine Funktion importieren (PHP 5.6+)
use function My\Full\functionName;

// Alias für eine Funktion (PHP 5.6+)
use function My\Full\functionName as func;

// Eine Konstante importieren (PHP 5.6+)
use const My\Full\CONSTANT;

$obj = new namespace\Another; // erzeugt ein Objekt der Klasse foo\Another
$obj = new Another; // erzeugt ein Objekt der Klasse My\Full\Classname
NSname\subns\func(); // ruft die Funktion My\Full\NSname\subns\func auf
$a = new ArrayObject(array(1)); // erzeugt ein Objekt der Klasse ArrayObject
// ohne das "use ArrayObject" wäre ein Objekt der Klasse foo\ArrayObject erzeugt worden
func(); // ruft die Funktion My\Full\functionName auf
echo CONSTANT; // Gibt den Wert von My\Full\CONSTANT aus
?>
Beachten Sie, dass für Namen von Namespaces (vollständig qualifizierte Namespacenamen mit einem Namensraumseparator, wie Foo\Bar, im Gegensatz zu globalen Namen ohne Separator, wie FooBar) der führende Backslash nicht notwendig und nicht empfohlen ist, weil importierte Namen vollständig qualifiziert sein müssen und nicht relativ zum aktuellen Namespace verarbeitet werden.

PHP unterstützt zusätzlich auch eine komfortable Kurzsyntax, mit der mehrere use-Ausdrücke in der gleichen Zeile erscheinen können.

Beispiel #2 Aliase/Importieren mit dem use-Operator, mehrere use-Ausdrücke kombiniert

<?php
use My\Full\Classname as Another, My\Full\NSname;

$obj = new Another; // erzeugt ein Objekt der Klasse My\Full\Classname
NSname\subns\func(); // ruft die Funktion My\Full\NSname\subns\func auf
?>

Importieren wird zur Kompilierungszeit ausgeführt und hat daher keinen Einfluss auf dynamische Klassen-, Funktions- oder Konstantennamen.

Beispiel #3 Importieren und dynamische Namen

<?php
use My\Full\Classname as Another, My\Full\NSname;

$obj = new Another; // erzeugt ein Objekt der Klasse My\Full\Classname
$a = 'Another';
$obj = new $a;      // erzeugt ein Objekt der Klasse Another
?>

Zusätzlich beeinflusst das Importieren nur unqualifizierte und qualifizierte Namen. Vollständig qualifizierte Namen sind absolut und werden von Importen nicht beeinflusst.

Beispiel #4 Importieren und vollständig qualifizierte Namen

<?php
use My\Full\Classname as Another, My\Full\NSname;

$obj = new Another; // erzeugt ein Objekt der Klasse My\Full\Classname
$obj = new \Another; // erzeugt ein Objekt der Klasse Another
$obj = new Another\thing; // erzeugt ein Objekt der Klasse My\Full\Classname\thing
$obj = new \Another\thing; // erzeugt ein Objekt der Klasse Another\thing
?>

Gültigkeitsbereiche für Importe

Das Schlüsselwort use muss im äußersten Gültigkeitsbereich (dem globalen Gültigkeitsbereich) oder innerhalb einer Namespace-Deklaration angegeben werden. Das ist darin begründet, dass Importe zur Kompilierungszeit und nicht zur Laufzeit durchgeführt werden und daher nicht in einem anderen Gültigkeitsbereich liegen dürfen. Das folgende Beispiel zeigt eine ungültige Verwendung des use-Schlüsselwortes:

Beispiel #5 Ungültige Importregel

<?php
namespace Languages;

function toGreenlandic()
{
    use Languages\Danish;

    // ...
}
?>

Hinweis:

Importregeln sind auf Dateibasis gültig, das heißt eine eingebundene Datei wird NICHT die Importregeln der einbindenden Datei erben.

Gruppierte use Deklarationen

Von PHP 7.0 an können Klassen, Funktionen und Konstanten, die aus dem gleichen Namespace importiert werden, in einer einzigen use Anweisung gruppiert werden.

<?php

// Pre PHP 7 Code
use some\namespace\ClassA;
use some\namespace\ClassB;
use some\namespace\ClassC as C;

use function some\namespace\fn_a;
use function some\namespace\fn_b;
use function some\namespace\fn_c;

use const some\namespace\ConstA;
use const some\namespace\ConstB;
use const some\namespace\ConstC;

// PHP 7+ Code
use some\namespace\{ClassA, ClassB, ClassC as C};
use function some\namespace\{fn_a, fn_b, fn_c};
use const some\namespace\{ConstA, ConstB, ConstC};
Namespace-Schlüsselwort und __NAMESPACE__-Konstante
Globaler Namensraum
Namespaces


Globaler Namensraum

(PHP 5 >= 5.3.0, PHP 7)

Ohne die Definition eines Namespace werden alle Klassen- und Funktionsdefinitionen im globalen Namensraum platziert, so wie dies auch in PHP geschah bevor Namespaces unterstützt wurden. Wenn man dem Namen ein \ voranstellt, so spezifiziert man, dass der Name dem globalen Namensraum angehört, auch wenn man sich im Kontext eines Namensraumes befindet.

Beispiel #1 Verwenden der Spezifikation des gloablen Namensraumes

<?php
namespace A\B\C;

/* Diese Funktion ist A\B\C\fopen */
function fopen() {
     /* ... */
     $f = \fopen(...); // globale Funktion fopen aufrufen
     return $f;
}
?>

Namespaces verwenden: Aliase/Importieren
Namespaces verwenden: Rückgriff auf globale Funktion/Konstante
Namespaces


Namespaces verwenden: Rückgriff auf globale Funktion/Konstante

(PHP 5 >= 5.3.0, PHP 7)

Wenn PHP innerhalb eines Namespace auf einen unqualifizierten Namen für einen Klassen-, Funktions- oder Konstantennamen trifft, so werden diese mit unterschiedlichen Prioritäten aufgelöst. Klassennamen werden immer auf den aktuellen Namespace aufgelöst. Um also auf interne Klassen oder Benutzerklassen ohne Namespace zuzugreifen, muss man diese mit ihrem vollständig qualifizierten Namen ansprechen:

Beispiel #1 Zugriff auf globale Klasse innerhalb eines Namespace

<?php
namespace A\B\C;
class Exception extends \Exception {}

$a = new Exception('hi'); // $a ist ein Objekt der Klasse A\B\C\Exception
$b = new \Exception('hi'); // $b ist ein Objekt der Klasse Exception

$c = new ArrayObject; // fatal error, die Klasse A\B\C\ArrayObject konnte
                      // nicht gefunden werden
?>

Für Funktionen und Konstanten wird PHP auf globale Funktionen oder Konstanten zurückgreifen, wenn eine Funktion oder Konstante im Namespace nicht existiert.

Beispiel #2 Rückgriff auf globale Funktionen/Konstanten innerhalb eines Namespace

<?php
namespace A\B\C;

const E_ERROR = 45;
function strlen($str)
{
    return \strlen($str) - 1;
}

echo E_ERROR, "\n"; // gibt "45" aus
echo INI_ALL, "\n"; // gibt "7" aus - Rückgriff auf globale INI_ALL

echo strlen('hi'), "\n"; // gibt "1" aus
if (is_array('hi')) { // gibt "ist kein Array" aus
    echo "ist Array\n";
} else {
    echo "ist kein Array\n";
}
?>

Globaler Namensraum
Regeln für Namensauflösung
Namespaces


Regeln für Namensauflösung

(PHP 5 >= 5.3.0, PHP 7)

Hier einige wichtige Definitionen für die Zwecke der Namensauflösungsregeln:

Namespace-Namen-Definitionen
Unqualifizierter Name

Dies ist ein Bezeichner ohne einen Namespaceseparator, z.B. Foo

Qualifizierter Name

Dies ist ein Bezeichner mit einem Namespaceseparator, z.B. Foo\Bar

Vollständig qualifizierter Name

Dies ist ein Bezeichner mit einem Namespaceseparator, der mit einem Namespaceseparator beginnt, z.B. \Foo\Bar. Der Namespace namespace\Foo ist ebenfalls ein vollständig qualifizierter Name.

Namen werden gemäß den folgenden Regeln aufgelöst:

  1. Aufrufe von vollständig qualifizierten Funktionen, Klassen oder Konstanten werden zur Kompilierungszeit aufgelöst. new \A\B wird z.B. zur Klasse A\B aufgelöst.
  2. Alle unqualifizierten und qualifizierten Namen (nicht vollständig qualifizierte Namen) werden gemäß den aktuellen Importen zur Kompilierungszeit übersetzt. Wenn zum Beispiel der namespace A\B\C als C importiert wurde, so wird ein Aufruf von C\D\e() zu A\B\C\D\e() übersetzt.
  3. Innerhalb eines Namespace wird allen qualifizierten Namen, die noch nicht gemäß den Importregeln übersetzt wurden, der aktuelle Namespace vorangestellt. Wenn z.B. C\D\e() innerhalb des Namespace A\B aufgerufen wird, so wird dies zu A\B\C\D\e() übersetzt.
  4. Unqualifizierte Klassennamen werden zur Kompilierungszeit gemäß der aktuellen Importregeln (vollständige Namen ersetzt durch kurze Aliasnamen) übersetzt. Z.B. wenn der Namespace A\B\C als C importiert wurde, so wird new C() zu new A\B\C() übersetzt.
  5. Innerhalb eines Namespace (z.B. A\B) werden Aufrufe von unqualifizierten Funktionen zur Laufzeit aufgelöst. Der Aufruf der Funktion foo() wird wie folgt aufgelöst:
    1. Zuerst wird nach der Funktion im aktuellen Namespace gesucht: A\B\foo().
    2. Es wird versucht, die Funktion foo() im globalen Namensraum zu finden.
  6. Innerhalb eines Namespace (z.B. A\B) werden Aufrufe von unqualifizierten oder qualifizierten Klassennamen (nicht vollständig qualifizierte Klassennamen) zur Laufzeit aufgelöst. Der Aufruf von new C() oder new D\E() wird wir folgt aufgelöst. Für new C():
    1. Zuerst wird nach der Klasse im aktuellen Namespace gesucht: A\B\C.
    2. Es wird versucht, die Klasse A\B\C mittels Autoload zu laden.
    Für new D\E():
    1. Es wird nach der Klasse gesucht, indem der aktuelle Namespace vorangestellt wird: A\B\D\E.
    2. Es wird versucht, die Klasse A\B\D\E mittels Autoload zu laden.
    Um auf eine globale Klasse im globalen Namespace zuzugreifen, muss deren vollständig qualifizierter Name new \C() verwendet werden.

Beispiel #1 Illustration der Namensauflösung

<?php
namespace A;
use B\D, C\E as F;

// Funktionsaufrufe

foo();      // versucht zuerst die Funktion "foo" im Namespace "A" aufzurufen
            // danach wird die globale Funktion "foo" aufgerufen

\foo();     // ruft die Funktion "foo" im globalen Namensraum auf

my\foo();   // ruft die Funktion "foo" im Namespace "A\my" auf

F();        // versucht zuerst die Funktion "F" im Namespace "A" aufzurufen,
            // danach wird die globale Funktion "F" aufgerufen

// Klassenreferenzen

new B();    // erzeugt ein Objekt der Klasse "B" im Namespace "A"
            // wenn diese Klasse nicht bekannt ist, so wird versucht per
            //  Autoload die Klasse "A\B" zu laden

new D();    // gemäß den Importregeln wird ein Objekt der Klasse "D"
            //  aus dem Namenspace "B" erzeugt
            // wenn diese Klasse nicht bekannt ist, so wird versucht per
            //  Autoload die Klasse "B\D" zu laden

new F();    // gemäß den Importregeln wird ein Objekt der Klasse "E"
            //  aus dem Namespace "C" erzeugt
            // wenn diese Klasse nicht bekannt ist, so wird versucht per
            //  Autoload die Klasse "C\E" zu laden

new \B();   // erzeugt ein Objekt der Klasse "B" aus dem globalen Namensraum
            // wenn diese Klasse nicht bekannt ist, so wird versucht per
            //  Autoload die Klasse "B" zu laden

new \D();   // erzeugt ein Objekt der Klasse "D" aus dem globalen Namensraum
            // wenn diese Klasse nicht bekannt ist, so wird versucht per
            //  Autoload die Klasse "D" zu laden

new \F();   // erzeugt ein Objekt der Klasse "F" aus dem globalen Namensraum
            // wenn diese Klasse nicht bekannt ist, so wird versucht per
            //  Autoload die Klasse "F" zu laden

// statische Methoden und Funktionen mit Namespace aus anderen Namespaces

B\foo();    // ruft die Funktion "foo" aus dem Namensraum "A\B" auf

B::foo();   // ruft die Methode "foo" der Klasse "B" im Namensraum "A" auf
            // wenn die Klasse "A\B" nicht bekannt ist, so wird versucht
            //  die Klasse "A\B" mittels Autoload zu laden

D::foo();   // ruft gemäß den Importregeln die Methode "foo" der Klasse "D"
            //  im Namensraum "B" auf
            // wenn die Klasse "B\D" nicht bekannt ist, so wird versucht
            //  die Klasse "B\D" mittels Autoload zu laden

\B\foo();   // ruft die Funktion "foo" im Namespace "B" auf

\B::foo();  // ruft die Methode "foo" der Klasse "B" im
           //   globalen Namensraum auf
            // wenn die Klasse "B" nicht bekannt ist, so wird versucht
            //  die Klasse "B" mittels Autoload zu laden

// statische Methoden und Funktionen mit Namespace aus den gleichen Namespaces

A\B::foo();   // ruft die Methode "foo" der Klasse "B" aus dem Namespace "A\A" auf
              // wenn die Klasse "A\A\B" nicht bekannt ist, so wird
              //  versucht die Klasse "A\A\B" mittels Autoload zu laden

\A\B::foo();  // ruft die Methode "foo" der Klasse "B" aus dem Namespace "A" auf
              // wenn die Klasse "A\B" nicht bekannt ist, so wird
              //  versucht die Klasse "A\B" mittels Autoload zu laden
?>
Namespaces verwenden: Rückgriff auf globale Funktion/Konstante
FAQ: Dinge, die Sie über Namespaces wissen sollten
Namespaces


FAQ: Dinge, die Sie über Namespaces wissen sollten

(PHP 5 >= 5.3.0, PHP 7)

Diese häufig gestellten Fragen (FAQ) wurden in zwei Abschnitte aufgeteilt: allgemeine Fragen und einige Implementierungsdetails, deren vollständiges Verständnis hilfreich sein kann.

Zuerst die allgemeinen Fragen.

  1. Wenn ich keine Namespaces verwende, sollte mich das alles hier überhaupt interessieren?
  2. Wie verwende ich interne oder globale Klassen in einem Namespace?
  3. Wie verwende ich Klassen, Funktionen oder Konstanten mit Namespaces in ihrem eignenen Namespace?
  4. Wie wird ein Name wie \mein\name oder \name aufgelöst?
  5. Wie wird ein Name wie mein\name aufgelöst?
  6. Wie wird ein unqualifizierter Name wie name aufgelöst?
  7. Wie wird ein unqualifizierter Funktions- oder Konstantenname wie name aufgelöst?

Es gibt einige Implementierungsdetails von Namespaces, deren Verständnis hilfreich ist.

  1. Importierte Namen dürfen keine Konflikte mit Klassennamen in der gleichen Datei erzeugen.
  2. Verschachtelte Namespaces sind nicht erlaubt.
  3. Vor PHP 5.6 konnten weder Funktionen noch Konstanten mittels use importiert werden.
  4. Dynamische Namespacenamen sollten den Backslash escapen.
  5. Zugriff auf undefinierte Konstanten mit Backslashes beendet das Skript mit einem fatal error.
  6. Die speziellen Konstanten NULL, TRUE, FALSE, ZEND_THREAD_SAFE und ZEND_DEBUG_BUILD können nicht überschrieben werden.

Wenn ich keine Namespaces verwende, sollte mich das alles hier überhaupt interessieren?

Nein. Namespaces haben keinerlei Einfluss auf bereits bestehenden Code oder irgendwelchen Code der noch geschrieben wird, der keine Namespaces verwendet. Sie können folgenden Code schreiben, wenn Sie dies wünschen:

Beispiel #1 Zugriff auf globale Klassen außerhalb eines Namespace

<?php
$a = new \stdClass;
?>

Dies ist äquivalent zu:

Beispiel #2 Zugriff auf globale Klassen außerhalb eines Namespace

<?php
$a = new stdClass;
?>

Wie verwende ich interne oder globale Klassen in einem Namespace?

Beispiel #3 Zugriff auf interne Klassen in Namespaces

<?php
namespace foo;
$a = new \stdClass;

function test(\ArrayObject $typehintexample = null) {}

$a = \DirectoryIterator::CURRENT_AS_FILEINFO;

// erben von einer internen oder globalen Klasse
class MyException extends \Exception {}
?>

Wie verwende ich Klassen, Funktionen oder Konstanten mit Namespaces in ihrem eignenen Namespace?

Beispiel #4 Zugriff auf interne Klassen, Funktionen oder Konstanten in Namespaces

<?php
namespace foo;

class MyClass {}

// verwendet eine Klasse des aktuellen Namensraumes als Type-Hint
function test(MyClass $typehintexample = null) {}
// eine andere Möglichkeit, eine Klasse des aktuellen Namensraums
//  als Type-Hint zu verwenden
function test(\foo\MyClass $typehintexample = null) {}

// ableiten von einer Klasse aus dem aktuellen Namespace
class Extended extends MyClass {}

// Zugriff auf eine globale Funktion
$a = \globalfunc();

// Zugriff auf eine globale Konstante
$b = \INI_ALL;
?>

Wie wird ein Name wie \mein\name oder \name aufgelöst?

Namen, die mit einem \ beginnen, werden immer zu exakt dem aufgelöst wie sie aussehen. \mein\name ist also tatsächlich \mein\name und \Exception ist Exception.

Beispiel #5 Vollständig qualifizierte Namen

<?php
namespace foo;
$a = new \my\name(); // erzeugt ein Objekt der Klasse "my\name"
echo \strlen('hi'); // ruft die Funktion "strlen" auf
$a = \INI_ALL; // $a wird auf den Wert der Konstante "INI_ALL" gesetzt
?>

Wie wird ein Name wie mein\name aufgelöst?

Namen, die einen Backslash beinhalten, aber nicht mit einem Backslash beginnen, wie z.B. mein\name, können auf zwei verschiedene Arten aufgelöst werden.

Falls es einen Import-Ausdruck gibt, der einen Alias für einen anderen Namen definiert, so dass dieser mein heißen soll, dann wird dieser Alias für das mein in mein\name angewandt.

Andernfalls wird der aktuelle Namespace vor mein\name vorangestellt.

Beispiel #6 Qualifizierte Namen

<?php
namespace foo;
use blah\blah as foo;

$a = new my\name(); // erzeugt ein Objekt der Klasse "foo\my\name"
foo\bar::name(); // ruft die statische Methode "name"
                 // der Klasse "blah\blah\bar" auf
my\bar(); // ruft die Funktion "foo\my\bar" auf
$a = my\BAR; // setzt $a auf den Wert der Konstante "foo\my\BAR"
?>

Wie wird ein unqualifizierter Name wie name aufgelöst?

Klassennamen, die keinen Backslash beinhalten, wie z.B. name, können auf zwei Arten aufgelöst werden.

Falls es einen Import-Ausdruck gibt, der einen Alias für einen anderen Namen definiert, so dass dieser name heißen soll, dann wird dieser Alias angewandt.

Andernfalls wird der aktuelle Namespace name vorangestellt.

Beispiel #7 Unqualifizierter Klassennamen

<?php
namespace foo;
use blah\blah as foo;

$a = new name(); // erzeugt ein Objekt der Klasse "foo\name"
foo::name(); // ruft die statische Methode "name" der Klasse "blah\blah" auf
?>

Wie wird ein unqualifizierter Funktions- oder Konstantenname wie name aufgelöst?

Funktions- oder Konstantennamen, die keinen Backslash beinhalten, wie z.B. name, können auf zwei verschiedene Arten aufgelöst werden.

Zuerst wird der aktuelle Namespace dem name vorangestellt.

Wenn die Konstante oder Funktion name im aktuellen Namensraum nicht existiert, so wird die globale Konstante oder Funktion name verwendet, wenn sie existiert.

Beispiel #8 Unqualifizierte Funktions- oder Konstantennamen

<?php
namespace foo;
use blah\blah as foo;

const FOO = 1;

function my() {}
function foo() {}
function sort(&$a)
{
    \sort($a);
    $a = array_flip($a);
    return $a;
}

my(); // ruft "foo\my" auf
$a = strlen('hi'); // ruft die globale Funktion "strlen" auf, weil
                   // foo\strlen nicht existiert
$arr = array(1,3,2);
$b = sort($arr); // ruft die Funktion "foo\sort" auf
$c = foo(); // ruft die Funktion "foo\foo" auf - der Alias wird ignoriert

$a = FOO; // setzt $a auf den Wert der Konstante "foo\FOO" -
          // der Alias wird ignoriert
$b = INI_ALL; // setzt $b auf den Wert der globalen Konstante "INI_ALL"
?>

Importierte Namen dürfen keine Konflikte mit Klassennamen in der gleichen Datei erzeugen.

Die folgende Kombination von Skripten ist gültig:

file1.php

<?php
namespace mein\zeug;
class MyClass {}
?>

anderes.php

<?php
namespace anderes;
class Ding {}
?>

file2.php

<?php
namespace mein\zeug;
include 'file1.php';
include 'anderes.php';

use anderes\Ding as MyClass;
$a = new MyClass; // erzeugt ein Objekt der Klasse "Ding"
                  // aus dem Namespace "anderes"
?>

Es gibt hier, trotzdem es eine Klasse MyClass im Namespace mein\zeug gibt, keinen Namenskonflikt, weil die Definition der Klasse MyClass sich in einer anderen Datei befindet. Das nächste Beispiel erzeugt hingegen einen fatal error wegen eines Namenskonflikts, weil MyClass in derselben Datei definiert wird, die auch den use-Ausdruck beinhaltet.

<?php
namespace mein\zeug;
use anderes\Ding as MyClass;
class MyClass {} // fatal error: Konflikt zwischen MyClass und import-Ausdruck
$a = new MyClass;
?>

Verschachtelte Namespaces sind nicht erlaubt.

PHP erlaubt das Verschachteln von Namespaces nicht.

<?php
namespace mein\zeug {
    namespace verschachtelt {
        class foo {}
    }
}
?>
Es ist jedoch leicht möglich, verschachtelte Namespaces zu simulieren:
<?php
namespace mein\zeug\verschachtelt {
    class foo {}
}
?>

Vor PHP 5.6 konnten weder Funktionen noch Konstanten mittels use importiert werden.

Vor PHP 5.6 sind die einzigen Elemente, die von einem use-Ausdruck beeinflusst werden, Namespaces und Klassenamen. Um einen langen Konstanten- oder Funktionsnamen abzukürzen, kann dessen beinhaltender Namespace importiert werden.

<?php
namespace mein;
use sehr\langer\namespace\name;

$a = name\CONSTANT;
name\func();
?>
Von PHP 5.6 an sind Aliase und Importieren von Funktions- und Konstantennamen erlaubt.

Dynamische Namespacenamen sollten den Backslash escapen.

Es ist wichtig zu bemerken, dass ein Backslash in Strings als Escape-Zeichen verwendet wird und daher immer verdoppelt werden sollte, wenn er in einem String verwendet wird. Andernfalls besteht das Risiko ungewollter Auswirkungen:

Beispiel #9 Gefahren von Namespacenamen in Strings mit doppelten Anführungszeichen

<?php
$a = "gefaehrlicher\name"; // \n ist in doppelten Anführungszeichen
                           // ein Zeilenumbruch!
$obj = new $a;

$a = 'ueberhaupt\nicht\gefaehrlich'; // hier gibt es keine Probleme
$obj = new $a;
?>
Innerhalb eines Strings, der von einfachen Anführungszeichen umschlossen ist, ist es deutlich ungefährlicher, die Backslash-Escape-Sequenz zu verwenden. Es wird dennoch empfohlen, Backslashes in allen Strings zu escapen.

Zugriff auf undefinierte Konstanten mit Backslashes beendet das Skript mit einem fatal error.

Jeder Zugriff auf eine Konstante mit unqualifiziertem Namen, wie FOO, wird eine Notice erzeugen, welche erklärt, dass PHP angenommen hat, dass FOO der Wert der Konstante sei. Jede Konstante, qualifiziert oder vollständig qualifiziert, deren Name einen Backslash enthält, wird einen fatal error hervorrufen, wenn sie nicht gefunden wurde.

Beispiel #10 Undefinierte Konstanten

<?php
namespace bar;
$a = FOO; // notice - undefined constant "FOO" assumed "FOO";
$a = \FOO; // fatal error, undefined namespace constant FOO
$a = Bar\FOO; // fatal error, undefined namespace constant bar\Bar\FOO
$a = \Bar\FOO; // fatal error, undefined namespace constant Bar\FOO
?>

Die speziellen Konstanten NULL, TRUE, FALSE, ZEND_THREAD_SAFE und ZEND_DEBUG_BUILD können nicht überschrieben werden.

Jeder Versuch, eine Konstante in einem Namespace zu definieren, die eine der speziellen, eingebauten Konstanten ist, wird einen fatal error hervorrufen.

Beispiel #11 Spezielle Konstanten

<?php
namespace bar;
const NULL = 0; // fatal error;
const true = 'stupid'; // ebenfalls fatal error;
// etc.
?>

Regeln für Namensauflösung
Fehler
Namespaces


Fehler

Inhaltsverzeichnis

  • Basics
  • Errors in PHP 7

Einführung

Schade, aber wahr: egal wie vorsichtig wir unseren Code schreiben, Fehler sind ein Teil des Lebens. PHP zeigt Fehler, Warnungen und Hinweise für viele gängige Programmier- und Laufzeitprobleme an, und zu wissen, wie man diese erkennt und behandelt, macht das Debuggen viel einfacher.

FAQ: Dinge, die Sie über Namespaces wissen sollten
Basics
Sprachreferenz


Basics

PHP reports errors in response to a number of internal error conditions. These may be used to signal a number of different conditions, and can be displayed and/or logged as required.

Every error that PHP generates includes a type. A list of these types is available, along with a short description of their behaviour and how they can be caused.

Handling errors with PHP

If no error handler is set, then PHP will handle any errors that occur according to its configuration. Which errors are reported and which are ignored is controlled by the error_reporting php.ini directive, or at runtime by calling error_reporting(). It is strongly recommended that the configuration directive be set, however, as some errors can occur before execution of your script begins.

In a development environment, you should always set error_reporting to E_ALL, as you need to be aware of and fix the issues raised by PHP. In production, you may wish to set this to a less verbose level such as E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED, but in many cases E_ALL is also appropriate, as it may provide early warning of potential issues.

What PHP does with these errors depends on two further php.ini directives. display_errors controls whether the error is shown as part of the script's output. This should always be disabled in a production environment, as it can include confidential information such as database passwords, but is often useful to enable in development, as it ensures immediate reporting of issues.

In addition to displaying errors, PHP can log errors when the log_errors directive is enabled. This will log any errors to the file or syslog defined by error_log. This can be extremely useful in a production environment, as you can log errors that occur and then generate reports based on those errors.

User error handlers

If PHP's default error handling is inadequate, you can also handle many types of error with your own custom error handler by installing it with set_error_handler(). While some error types cannot be handled this way, those that can be handled can then be handled in the way that your script sees fit: for example, this can be used to show a custom error page to the user and then report more directly than via a log, such as by sending an e-mail.

Fehler
Errors in PHP 7
Fehler


Errors in PHP 7

PHP 7 changes how most errors are reported by PHP. Instead of reporting errors through the traditional error reporting mechanism used by PHP 5, most errors are now reported by throwing Error exceptions.

As with normal exceptions, these Error exceptions will bubble up until they reach the first matching catch block. If there are no matching blocks, then any default exception handler installed with set_exception_handler() will be called, and if there is no default exception handler, then the exception will be converted to a fatal error and will be handled like a traditional error.

As the Error hierarchy does not inherit from Exception, code that uses catch (Exception $e) { ... } blocks to handle uncaught exceptions in PHP 5 will find that these Errors are not caught by these blocks. Either a catch (Error $e) { ... } block or a set_exception_handler() handler is required.

Error hierarchy

  • Throwable
    • Error
      • ArithmeticError
        • DivisionByZeroError
      • AssertionError
      • ParseError
      • TypeError
    • Exception
      • ...
Basics
Ausnahmebehandlung (Exception-Handling)
Fehler


Ausnahmebehandlung (Exception-Handling)

Inhaltsverzeichnis

  • Exceptions erweitern

PHP 5 hat ein Exceptionmodell ähnlich dem anderer Programmiersprachen. Eine Exception kann in PHP geworfen (throw) und abgefangen (catch) werden. Um das Abfangen potentieller Exceptions zu ermöglichen, sollte der jeweilige Code von einem try-Block umschlossen werden. Jeder try-Block muss mindestens einen zugehörigen catch- oder finally-Block besitzen.

Das geworfene Objekt muss eine Instanz der Klasse Exception oder einer Unterklasse von Exception sein. Der Versuch ein Objekt zu werfen, das das nicht ist, wird einen fatalen PHP-Fehler zur Folge haben.

catch

Mehrere catch-Blöcke können verwendet werden, um verschiedene Klassen von Exceptions abzufangen. Die normale Programmausführung (wenn keine Exception innerhalb des try-Blockes geworfen wird) wird nach dem letzten in Folge definierten catch-Block fortgesetzt. Exceptions können innerhalb eines catch-Blockes geworfen (oder weitergeworfen) werden.

Wenn eine Exception geworfen wird, führt PHP den Programmcode hinter der auslösenden Anweisung nicht aus, sondern versucht, den ersten passenden catch-Block zu finden. Falls eine Exception nicht abgefangen wird, wird ein fataler Fehler mit einer "Uncaught Exception ..."-Nachricht ausgegeben, wenn keine Behandlung mittels set_exception_handler() definiert wurde.

finally

Ab PHP 5.5 darf nach den catch-Blöcken oder stattdessen auch ein finally-Block definiert werden. Egal, ob eine Exception geworfen wurde, wird der Code innerhalb des finally-Blocks immer nach den try- und catch-Blöcken ausgeführt, bevor die normale Ausführung fortgesetzt wird.

Anmerkungen

Hinweis:

Interne PHP-Funktionen verwenden in den meisten Fällen Error-Reporting, nur moderne objektorientierte Extensions nutzen Exceptions. Fehler können allerdings einfach mittels ErrorException in eine Exception umgewandelt werden.

Tipp

Die Standard PHP Library (SPL) bietet eine große Anzahl eingebauter Exceptions.

Beispiele

Beispiel #3 Eine Exception werfen

<?php
function inverse($x) {
    if (!$x) {
       throw new Exception('Division durch Null.');
    }
    return 1/$x;
}

try {
    echo inverse(5) . "\n";
    echo inverse(0) . "\n";
} catch (Exception $e) {
    echo 'Exception abgefangen: ',  $e->getMessage(), "\n";
}

// Ausführung fortsetzen
echo "Hallo Welt\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

0.2
Exception abgefangen: Division durch Null
Hallo Welt

Beispiel #4 Exceptionbehandlung mit einem finally-Block

<?php
function inverse($x) {
    if (!$x) {
        throw new Exception('Division durch Null.');
    }
    return 1/$x;
}

try {
    echo inverse(5) . "\n";
} catch (Exception $e) {
    echo 'Exception abgefangen: ',  $e->getMessage(), "\n";
} finally {
    echo "Erstes finally.\n";
}

try {
    echo inverse(0) . "\n";
} catch (Exception $e) {
    echo 'Exception abgefangen: ',  $e->getMessage(), "\n";
} finally {
    echo "Zweites finally.\n";
}

// Ausführung fortsetzen
echo "Hallo Welt\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

0.2
Erstes finally.
Exception abgefangen: Division durch Null.
Zweites finally.
Hallo Welt

Beispiel #5 Verschachtelte Exceptions

<?php

class MyException extends Exception { }

class Test {
    public function testing() {
        try {
            try {
                throw new MyException('foo!');
            } catch (MyException $e) {
                // weiterwerfen der Exception
                throw $e;
            }
        } catch (Exception $e) {
            var_dump($e->getMessage());
        }
    }
}

$foo = new Test;
$foo->testing();

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(4) "foo!"
Errors in PHP 7
Exceptions erweitern
Sprachreferenz


Exceptions erweitern

Eine benutzerdefinierte Exceptionklasse kann durch Ableitung von der eingebauten Exceptionklasse erstellt werden. Die unten angegebenen Methoden und Eigenschaften zeigen, was innerhalb der Kindklasse von der eingebauten Exceptionklasse verfügbar ist.

Beispiel #1 Die eingebaute Exceptionklasse

<?php
class Exception
{
    protected $message = 'Unknown exception';   // Exceptionmitteilung
    private   $string;                          // __toString-Cache
    protected $code = 0;                        // Benutzerdefinierte Fehlernummer
    protected $file;                            // Quelldateiname der Exception
    protected $line;                            // Quelldateizeile der Exception
    private   $trace;                           // Rückverfolgung
    private   $previous;                        // Vorherige Exception, falls verschachtelte Exception

    public function __construct($message = null, $code = 0, Exception $previous = null);

    final private function __clone();           // Verhindert klonen von Exceptions

    final public function getMessage();         // Mitteilung der Exception
    final public function getCode();            // Fehlercode der Exception
    final public function getFile();            // Quelldateiname
    final public function getLine();            // Quelldateizeile
    final public function getTrace();           // Array zum Rückverfolgen
    final public function getPrevious();        // Vorherige Exception
    final public function getTraceAsString();   // Formatierter String der Rückverfolgung

    // Überschreibbar
    public function __toString();               // Formatierter String für
                                                // Ausgabe
}
?>

Wenn eine Klasse die eingebaute Exceptionklasse erweitert und den Konstruktor neu definiert, ist es dringend empfohlen, dass der Konstruktor der Klasse parent::__construct() aufruft, um sicherzustellen, dass alle verfügbaren Daten korrekt zugewiesen wurden. Die __toString()-Methode kann überschrieben werden, um eine maßgeschneiderte Ausgabe anzubieten, wenn das Objekt durch eine Zeichenkette repräsentiert werden soll.

Hinweis:

Exceptions können nicht geklont werden. Der Versuch eine Exception zu klonen wird einen fatalen E_ERROR-Fehler zur Folge haben.

Beispiel #2 Die Exceptionklasse erweitern (PHP 5.3.0+)

<?php
/**
 * Eine maßgeschneiderte Exceptionklasse definieren
 */
class MyException extends Exception
{
    // Die Exception neu definieren, damit die Mitteilung nicht optional ist
    public function __construct($message, $code = 0, Exception $previous = null) {
        // etwas Code

        // sicherstellen, dass alles korrekt zugewiesen wird
        parent::__construct($message, $code, $previous);
    }

    // maßgeschneiderte Stringdarstellung des Objektes
    public function __toString() {
        return __CLASS__ . ": [{$this->code}]: {$this->message}\n";
    }

    public function customFunction() {
        echo "Eine eigene Funktion dieses Exceptiontyps\n";
    }
}

/**
 * Erzeuge eine Klasse, um die Exception zu testen
 */
class TestException
{
    public $var;

    const THROW_NONE    = 0;
    const THROW_CUSTOM  = 1;
    const THROW_DEFAULT = 2;

    function __construct($avalue = self::THROW_NONE) {

        switch ($avalue) {
            case self::THROW_CUSTOM:
                // eigene Exception werfen
                throw new MyException('1 ist ein ungültiger Parameter', 5);
                break;

            case self::THROW_DEFAULT:
                // Vorgabe werfen
                throw new Exception('2 ist kein zugelassener Parameter', 6);
                break;

            default:
                // Keine Exception, das Objekt wird erzeugt
                $this->var = $avalue;
                break;
        }
    }
}

// Beispiel 1
try {
    $o = new TestException(TestException::THROW_CUSTOM);
} catch (MyException $e) {      // Wird gefangen
    echo "Meine Exception gefangen\n", $e;
    $e->customFunction();
} catch (Exception $e) {        // Übersprungen
    echo "Standardexception gefangen\n", $e;
}

// Ausführung fortsetzen
var_dump($o); // Null
echo "\n\n";

// Beispiel 2
try {
    $o = new TestException(TestException::THROW_DEFAULT);
} catch (MyException $e) {      // Dieser Typ passt nicht
    echo "Meine Exception gefangen\n", $e;
    $e->customFunction();
} catch (Exception $e) {        // Wird gefangen
    echo "Standardexception gefangen\n", $e;
}

// Ausführung fortsetzen
var_dump($o); // Null
echo "\n\n";

// Beispiel 3
try {
    $o = new TestException(TestException::THROW_CUSTOM);
} catch (Exception $e) {        // Wird gefangen
    echo "Standardexception gefangen\n", $e;
}

// Ausführung fortsetzen
var_dump($o); // Null
echo "\n\n";

// Beispiel 4
try {
    $o = new TestException();
} catch (Exception $e) {        // Übersprungen, keine Exception ausgelöst
    echo "Standardexception gefangen\n", $e;
}

// Ausführung fortsetzen
var_dump($o); // TestException
echo "\n\n";
?>

Hinweis:

PHP 5-Versionen vor PHP 5.3.0 unterstützen keine verschachtelten Exceptions. Für das Beispiel kann der folgende Code-Schnipsel als Ersatz für die Klasse MyException verwendet werden.

<?php
/**
 * Eine maßgeschneiderte Exceptionklasse definieren
 */
class MyException extends Exception
{
    // Die Exception neu definieren, damit die Mitteilung nicht optional ist
    public function __construct($message, $code = 0) {
        // etwas Code

        // sicherstellen, dass alles korrekt zugewiesen wird
        parent::__construct($message, $code);
    }

    // maßgeschneiderte Stringdarstellung des Objektes
    public function __toString() {
        return __CLASS__ . ": [{$this->code}]: {$this->message}\n";
    }

    public function customFunction() {
        echo "Eine eigene Funktion dieses Exceptiontyps\n";
    }
}
?>

Ausnahmebehandlung (Exception-Handling)
Generatoren
Ausnahmebehandlung (Exception-Handling)


Generatoren

Inhaltsverzeichnis

  • Generatoren-Übersicht
  • Generator-Syntax
  • Vergleich von Generatoren mit Iterator-Objekten
Exceptions erweitern
Generatoren-Übersicht
Sprachreferenz


Generatoren-Übersicht

(PHP 5 >= 5.5.0, PHP 7)

Generatoren bieten eine einfache Möglichkeit, um einfache Iteratoren zu erstellen, ohne den Overhead oder die Komplexität der Erstellung einer Klasse zu haben, die das Iterator-Interface implementiert.

Ein Generator ermöglicht es Code zu schreiben, der foreach nutzt, um über eine Datenmenge zu iterieren, ohne ein Array im Speicher zu erzeugen, was zur Überschreitung des Speicherlimits führen kann oder beträchtliche Prozessorzeit benötigt. Alternativ können Sie eine Generatorfunktion schreiben, die einer normalen Funktion entspricht, bei der aber keine einmalige Rückgabe erfolgt, sondern der Generator so oft wie nötig einen Wert abgibt (Stichwort: yield), um die Werte zu liefern, über die iteriert werden soll.

Ein einfaches Beispiel dazu ist, die range()-Funktion durch einen Generator neu zu implementieren. Die Standard-range()-Funktion generiert und liefert Arrays, welche jeden Wert enthalten, was große Arrays zur Folge haben kann: zum Beispiel hat der Aufruf range(0, 1000000) zur Folge, dass weit über 100 MB an Speicher benötigt werden.

Als Alternative können wir einen xrange()-Generator implementieren, welcher immer nur genug Speicher benötigt, um ein Iterator-Objekt zu erzeugen und intern den aktuellen Zustand des Generators zu verfolgen, was sich als weniger als 1 Kilobyte herausstellt.

Beispiel #1 Implementierung von range() als Generator

<?php
function xrange($start, $limit, $step = 1) {
    if ($start < $limit) {
        if ($step <= 0) {
            throw new LogicException('Schrittweite muss positiv sein');
        }

        for ($i = $start; $i <= $limit; $i += $step) {
            yield $i;
        }
    } else {
        if ($step >= 0) {
            throw new LogicException('Schrittweite muss negativ sein');
        }

        for ($i = $start; $i >= $limit; $i += $step) {
            yield $i;
        }
    }
}

/*
 * Hinweis: sowohl range() als auch xrange()
 * erzeugen die gleiche Ausgabe.
 */

echo 'Einstellige ungerade Zahlen von range():  ';
foreach (range(1, 9, 2) as $zahl) {
    echo "$zahl ";
}
echo "\n";

echo 'Einstellige ungerade Zahlen von xrange(): ';
foreach (xrange(1, 9, 2) as $zahl) {
    echo "$zahl ";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Einstellige ungerade Zahlen von range():  1 3 5 7 9
Einstellige ungerade Zahlen von xrange(): 1 3 5 7 9

Generator-Objekte

Beim ersten Aufruf einer Generatorfunktion wird ein Objekt der internen Generator-Klasse zurückgegeben. Dieses Objekt implementiert das Iterator-Interface in gleicher Weise wie es ein forward-only Iterator-Objekt machen würde und stellt Methoden zur Verfügung, die aufgerufen werden können, um den Zustand des Generators zu manipulieren, einschließlich des Sendens von Werten an, und der Rückgabe von Werten von ihm.

Generatoren
Generator-Syntax
Generatoren


Generator-Syntax

Eine Generatorfunktion sieht genau so aus wie eine normale Funktion mit der Ausnahme, dass ein Generator statt eines Wertes so viele Werte wie nötig zurückgibt (Stichwort: yield).

Wenn eine Generatorfunktion aufgerufen wird, wird ein Objekt zurückgegeben, über das iteriert werden kann. Wenn Sie über dieses Objekt iterieren (zum Beispiel, per foreach-Schleife), wird PHP die Generatorfunktion jedesmal aufrufen, wenn ein Wert benötigt wird. Dann wird der Status des Generators gesichert, so dass fortgefahren werden kann, wenn der nächste Wert benötigt wird.

Sobald keine weiteren Werte zurückgegeben werden können, kann die Generatorfunktion einfach beendet werden, und der rufende Code wird fortgesetzt, als gäbe es keine weiteren Werte in einem Array.

Hinweis:

Ein Generator kann keine Werte zurückgeben: macht man dies, wird ein Kompilierungsfehler zurückgegeben. Eine leere return-Anweisung ist eine gültige Syntax innerhalb eines Generators und wird den Generator beenden.

yield-Schlüsselwort

Das Herz einer Generatorfunktion ist das yield-Schlüsselwort. In seiner einfachsten Form sieht das yield-Schlüsselwort wie eine return-Anweisung aus, ausser dass die Ausführung mit der Rückgabe nicht beendet wird, sondern yield stattdessen bei der Schleife über den Generator einen Wert für den Code bereitstellt und die Ausführung der Generatorfunktion anhält.

Beispiel #1 Ein einfaches Beispiel zum liefern (yielding) von Werten

<?php
function generiere_eins_bis_drei() {
    for ($i = 1; $i <= 3; $i++) {
        // Hinweis: $i bleibt zwischen den yields erhalten.
        yield $i;
    }
}

$generator = generiere_eins_bis_drei();
foreach ($generator as $wert) {
    echo "$wert\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1
2
3

Hinweis:

Intern werden sequentielle Integer-Schlüssel mit den abgelieferten Werten verknüpft, so wie mit einem nicht-assoziativen Array.

Achtung

Wenn Sie yield in einem Anweisungskontext nutzen (beispielsweise auf der rechten Seite einer Zuweisung), dann müssen Sie die yield-Anweisung in PHP 5 innerhalb von Klammern schreiben. Beispielsweise ist folgender Befehl gültig:

$daten = (yield $wert);

Aber dieser Befehl ist nicht gültig und wird in PHP 5 mit einem Syntaxfehler beendet:

$daten = yield $wert;

Für PHP 7 gilt die Klammerregel nicht.

Diese Syntax kann in Verbindung mit der Generator::send()-Methode verwendet werden.

Produzieren von Werten mit Schlüsseln

PHP unterstützt ebenfalls assoziative Arrays, und Generatoren unterscheiden sich nicht davon. Als Ergänzung zum Produzieren einfacher Werte, wie oben gezeigt, können Sie zur gleichen Zeit auch einen Schlüssel liefern.

Die Syntax für das Produzieren eines Schlüssel/Wert-Paares ist sehr ähnlich wie die Definition von assoziativen Arrays, wie unten gezeigt.

Beispiel #2 Produzieren eines Schlüssel/Wert-Paares

<?php
/*
 * Die Eingabe sind Semikolon getrennte Felder, wobei das erste Feld
 * eine ID ist, die als Schlüssel genutzt wird.
 */

$eingabe = <<<'EOF'
1;PHP;mag Dollarzeichen
2;Python;mag Leerzeichen
3;Ruby;mag Blöcke
EOF;

function eingabe_parser($eingabe) {
    foreach (explode("\n", $eingabe) as $zeile) {
        $felder = explode(';', $zeile);
        $id = array_shift($felder);

        yield $id => $felder;
    }
}

foreach (eingabe_parser($eingabe) as $id => $felder) {
    echo "$id:\n";
    echo "    $felder[0]\n";
    echo "    $felder[1]\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1:
    PHP
    mag Dollarzeichen
2:
    Python
    mag Leerzeichen
3:
    Ruby
    mag Blöcke
Achtung

Wie oben mit dem Zurückgeben einfacher Werte gezeigt, muss man beim Produzieren eines Schlüssel/Wert-Paares im Zuweisungskontext den yield-Befehl einklammern:

$daten = (yield $schluessel => $wert);

Produzieren von null-Werten

Yield kann ohne Argument aufgerufen werden, um einen NULL-Wert mit einem automatischen Schlüssel zurückzugeben.

Beispiel #3 Produzieren von NULLs

<?php
function generiere_drei_nulls() {
    foreach (range(1, 3) as $i) {
        yield;
    }
}

var_dump(iterator_to_array(generiere_drei_nulls()));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(3) {
  [0]=>
  NULL
  [1]=>
  NULL
  [2]=>
  NULL
}

Produzieren als Referenz

Generatorfunktionen sind genauso in der Lage Werte als Referenz zurückzugeben, wie als Wert. Dies kann in gleicher Weise erfolgen, wie beim Zurückgeben von Referenzen aus Funktionen: dies geschieht, indem dem Funktionsnamen ein Kaufmanns-Und vorangestellt wird.

Beispiel #4 Produzieren von Werten als Referenz

<?php
function &generiere_referenz() {
    $wert = 3;

    while ($wert > 0) {
        yield $wert;
    }
}

/*
 * Hinweis: wir können $nummer innerhalb der Schleife ändern,
 * und weil der Generator Referenzen zurückgibt, wird $wert
 * innerhalb von generiere_referenz() verändert.
 */
foreach (generiere_referenz() as &$nummer) {
    echo (--$nummer).'... ';
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

2... 1... 0...

Generatordelegation per yield from

In PHP 7 ermöglicht die Generatordelegation mittels yield from-Ausdruck Werte von einem anderen Generator, Traversable-Objekt oder Array liefern zu lassen. Der äußere Generator liefert dann alle Werte vom inneren Generator, Objekt oder Array, bis dies nicht mehr gültig ist und die Ausführung im äußeren Generator fortfährt.

Falls ein Generator mit yield from verwendet wird, gibt der yield from-Ausdruck auch alle Werte zurück, die vom inneren Generator zurückgegeben werden.

Achtung

Speichern in ein Array (z.B. mit iterator_to_array())

yield from setzt nicht die Schlüssel zurück. Es erhält die Schlüssel, die vom Traversable-Objekt oder Array zurückgegeben wurden. Daher können einige Werte den selben Schlüssel mit einem anderen yield oder yield from gemein haben, der, bei der Einfügung in ein Array, vorherige Werte mit diesem Schlüssel überschreibt.

Ein üblicher Fall, für den dies relevant ist, ist iterator_to_array(), das standardmäßig ein indexiertes Array zurück gibt, was zu möglicherweise unerwarteten Ergebnissen führen kann. iterator_to_array() hat einen zweiten Parameter use_keys, der auf FALSE gesetzt werden kann, um alle Werte zu sammeln, während die Schlüssel, die vom Generator geliefert werden, ignoriert werden.

Beispiel #5 yield from mit iterator_to_array()

<?php
function from() {
    yield 1; // Schlüssel 0
    yield 2; // Schlüssel 1
    yield 3; // Schlüssel 2
}
function gen() {
    yield 0; // Schlüssel 0
    yield from from(); // Schlüssel 0-2
    yield 4; // Schlüssel 1
}
// Übergib false als zweiten Parameter, um das Array [0, 1, 2, 3, 4] zu erhalten
var_dump(iterator_to_array(gen()));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(4)
  [2]=>
  int(3)
}

Beispiel #6 Grundlegende Verwendung von yield from

<?php
function zaehle_bis_zehn() {
    yield 1;
    yield 2;
    yield from [3, 4];
    yield from new ArrayIterator([5, 6]);
    yield from sieben_acht();
    yield 9;
    yield 10;
}

function sieben_acht() {
    yield 7;
    yield from acht();
}

function acht() {
    yield 8;
}

foreach (zaehle_bis_zehn() as $zahl) {
    echo "$zahl ";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1 2 3 4 5 6 7 8 9 10

Beispiel #7 yield from und Rückgabewerte

<?php
function zaehle_bis_zehn() {
    yield 1;
    yield 2;
    yield from [3, 4];
    yield from new ArrayIterator([5, 6]);
    yield from sieben_acht();
    return yield from neun_zehn();
}

function sieben_acht() {
    yield 7;
    yield from acht();
}

function acht() {
    yield 8;
}

function neun_zehn() {
    yield 9;
    return 10;
}

$gen = zaehle_bis_zehn();
foreach ($gen as $zahl) {
    echo "$zahl ";
}
echo $gen->getReturn();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1 2 3 4 5 6 7 8 9 10
Generatoren-Übersicht
Vergleich von Generatoren mit Iterator-Objekten
Generatoren


Vergleich von Generatoren mit Iterator-Objekten

Der Hauptvorteil von Generatoren ist deren Einfachheit. Viel weniger Boilerplate-Code muss geschrieben werden als im Vergleich zur Implementierung einer Iterator-Klasse und der Code ist generell einfacher zu lesen. Zum Beispiel sind die folgende Funktion und Klasse äquivalent:

<?php
function leseZeilenVonDatei($dateiName) {
    if (!$dateiHandle = fopen($dateiName, 'r')) {
        return;
    }

    while (false !== $zeile = fgets($dateiHandle)) {
        yield $zeile;
    }

    fclose($dateiHandle);
}

// im Gegensatz zu...

class LineIterator implements Iterator {
class LineIterator implements Iterator {
    protected $fileHandle;

    protected $line;
    protected $i;

    public function __construct($fileName) {
        if (!$this->fileHandle = fopen($fileName, 'r')) {
            throw new RuntimeException('Couldn\'t open file "' . $fileName . '"');
        }
    }

    public function rewind() {
        fseek($this->fileHandle, 0);
        $this->line = fgets($this->fileHandle);
        $this->i = 0;
    }

    public function valid() {
        return false !== $this->line;
    }

    public function current() {
        return $this->line;
    }

    public function key() {
        return $this->i;
    }

    public function next() {
        if (false !== $this->line) {
            $this->line = fgets($this->fileHandle);
            $this->i++;
        }
    }

    public function __destruct() {
        fclose($this->fileHandle);
    }
}
?>

Diese Flexibilität kommt allerdings nicht ohne Preis: Generatoren sind forward-only-Iteratoren, und können nicht zurückgesetzt werden, wenn sie einmal gestartet wurden. Das heißt außerdem, dass der selbe Generator nicht mehrfach iteriert werden kann: der Generator muss durch einen erneuten Aufruf der Generator-Funktion neu erstellt werden.

Generator-Syntax
Referenzen in PHP
Generatoren


Referenzen in PHP

Inhaltsverzeichnis

  • Was Referenzen sind
  • Was Referenzen leisten
  • Was Referenzen nicht sind
  • Parameterübergabe per Referenz
  • Referenzen zurückgeben
  • Referenzen aufheben
  • Referenzen entdecken
Vergleich von Generatoren mit Iterator-Objekten
Was Referenzen sind
Sprachreferenz


Was Referenzen sind

Referenzen sind in PHP ein Mechanismus um verschiedene Namen für den gleichen Inhalt von Variablen zu ermöglichen. Sie sind nicht mit Zeigern in C zu vergleichen, sondern Aliasdefinitionen für die Symboltabelle. PHP unterscheidet zwischen Variablenname und Variableninhalt, wobei der gleiche Variableninhalt unterschiedliche Namen besitzen kann. Der bestmögliche Vergleich ist der mit Dateinamen und Dateien im Dateisystem von Unix - Variablennamen sind Verzeichniseinträge, während der Variableninhalt die eigentliche Datei darstellt. Referenzen können nun als Hardlinks im Dateisystem verstanden werden.

Referenzen in PHP
Was Referenzen leisten
Referenzen in PHP


Was Referenzen leisten

PHP Referenzen erlauben es, zwei Variablennamen, sich auf den gleichen Variableninhalt beziehen zu lassen. Das heißt im folgenden Beispiel, dass sich $a und $b auf dieselbe Variable beziehen:

<?php
$a =& $b
?>

Hinweis:

$a und $b sind hier gleichwertig, und $a ist nicht nur ein Zeiger auf $b oder umgekehrt, sondern $a und $b zeigen auf den selben Inhalt.

Hinweis:

Wenn ein Array mit Referenzen kopiert wird, werden seine Werte nicht dereferenziert. Dies gilt auch für Array, die per Wert an Funktionen übergeben werden

Hinweis:

Wenn man eine undefinierte Variable per Referenz zuweist, übergibt oder zurückgibt, wird sie erstellt.

Beispiel #1 Referenzen mit undefinierten Variablen benutzen

<?php
function foo(&$var) { }

foo($a); // $a wird "erstellt" mit dem Wert null

$b = array();
foo($b['b']);
var_dump(array_key_exists('b', $b)); // bool(true)

$c = new StdClass;
foo($c->d);
var_dump(property_exists($c, 'd')); // bool(true)
?>

Diese Syntax kann auch mit Funktionen, die Referenzen zurückgeben, benutzt werden und seit PHP 4.0.4 auch in Verbindung mit dem new-Operator.

<?php
$bar =& new fooclass();
$foo =& find_var ($bar);
?>
Seit PHP 5 referenziert return new automatisch, also erzeugt die Verwendung der veralteten Syntax =& eine E_STRICT-Warnung.

Hinweis:

Wenn der &-Operator nicht verwendet wird, erzeugt PHP eine Kopie des Objekts. Wenn nun $this innerhalb der Klasse verwendet wird, bezieht es sich auf die aktuelle Instanz der Klasse. Die Zuordnung ohne & erzeugt eine Kopie der Instanz (d.h. des Objekts) und $this wird sich auf die Kopie beziehen. In der Regel will man aus Performance- und Speicherverbrausgründen nur eine einzige Instanz einer Klasse erzeugen.

Während man den @-Operator benutzen kann, um Fehler im Konstruktor zu unterdrücken, wenn man ihn als @new benutzt, funktioniert dies nicht bei der Benutzung von &new. Dies ist eine Einschränkung der Zend Engine und resultiert daher in einem Parserfehler.

Warnung

Wenn man einer als global deklarierten Variable eine Referenz innerhalb einer Funktion zuweist, wird die Referenz nur innerhalb der Funktion sichtbar sein. Dies kann durch die Verwendung des $GLOBALS-Arrays vermieden werden.

Beispiel #2 Globale Variablen innerhalb einer Funktion referenzieren

<?php
$var1 = "Beispielvariable";
$var2 = "";

function global_references($use_globals)
{
    global $var1, $var2;
    if (!$use_globals) {
        $var2 =& $var1; // nur innerhalb der Funktion sichtbar
    } else {
        $GLOBALS["var2"] =& $var1; // auch im globalen Kontext sichtbar
    }
}

global_references(false);
echo "var2 wurde auf '$var2' gesetzt\n"; // var2 ist ''
global_references(true);
echo "var2 wurde auf '$var2' gesetzt\n"; // var2 ist 'Beispielvariable'
?>
Man sollte global $var; als Abkürzung für $var =& $GLOBALS['var']; sehen. Deswegen ändert die Zuweisung per Referenz an $var nur die Referenz der lokalen Variable.

Hinweis:

Wenn man einer Variable einen Wert per Referenz in einer foreach-Anweisung zuweist, werden die Referenzen auch geändert.

Beispiel #3 Referenzen und die foreach-Anweisung

<?php
$ref = 0;
$row =& $ref;
foreach (array(1, 2, 3) as $row) {
    // do something
}
echo $ref; // 3 - letztes Element des durchlaufenen Arrays
?>

Eine weitere Einsatzmöglichkeit von Referenzen ist die Übergabe von Parametern an eine Funktion mit pass-by-reference. Hierbei beziehen sich der lokale Variablenname als auch der Variablenname der aufrufenden Instanz auf denselben Variableninhalt:

<?php
function foo(&$var) {
    $var++;
}

$a=5;
foo($a);
?>
Nach der Ausführung hat $a den Wert 6, da sich in der Funktion foo der Variablenname $var auf denselben Variableninhalt bezieht wie $a in der aufrufenden Instanz (hier das Hauptprogramm). Es gibt auch eine detailliertere Erläuterung der Parameterübergabe by-reference

Daneben besteht die Möglichkeit aus Funktionen heraus Werte mit return by-reference zurückzugeben.

Was Referenzen sind
Was Referenzen nicht sind
Referenzen in PHP


Was Referenzen nicht sind

Wie bereits gesagt: Referenzen sind keine Zeiger. Das bedeutet, der folgende Code tut nicht, was zum Beispiel ein C Programmierer erwarten würde:

<?php
function foo(&$var) {
    $var =& $GLOBALS["baz"];
}
foo($bar);
?>

Folgendes wird passieren: $var in foo wird zunächst an $bar aus der aufrufenden Instanz, dann aber an $GLOBALS["baz"] gebunden. Es gibt keine andere Möglichkeit als die Verwendung des Referenzmechanismus, um $bar im Sichtbarkeitsbereich an etwas anderes zu binden, da bar in der Funktion foo nicht verfügbar ist (diese ist durch $var repräsentiert, aber $var verfügt nur Variableninhalt und keinen Name-to-Binding-Eintrag in der Symboltabelle der aufrufenden Instanz). Man kann durch die Rückgabe von Referenzen die von der Funktion benutzten Variablen referenzieren.

Was Referenzen leisten
Parameterübergabe per Referenz
Referenzen in PHP


Parameterübergabe per Referenz

Man kann Variablen an Funktionen per Referenz übergeben, so dass die Funktion ihre Argumente modifizieren kann. Dazu benutzt man folgende Syntax:

<?php
function foo(&$var)
{
    $var++;
}

$a=5;
foo($a);
// $a ist 6
?>
Zu beachten ist, dass kein Referenz-Zeichen beim Funktionsaufruf steht, nur in der Funktionsdefinition. Diese allein ist ausreichend, um das Argument per Referenz zu übergeben. In neueren PHP-Versionen gibt es eine Warnung, dass die Benutzung von "Call-time pass-by-reference" mit Hilfe von & in foo(&$a); veraltet ist.

Folgende Dinge können per Referenz übergeben werden:

  • Variablen, zum Beispiel foo($a)
  • "New"-Ausdrücke, zum Beispiel foo(new foobar())

  • Referenzen, zurückgegeben von einer Funktion, zum Beispiel:

    <?php
    function &bar()
    {
            $a = 5;
        return     $a;
    }
    foo(bar());
    ?>
    Es gibt detailliertere Erläuterungen zur Rückgabe by-reference.

Alle anderen Ausdrücke sollte nicht per Referenz übergeben werden, da das Ergebnis undefiniert ist. Folgende Beispiele sind etwa ungültig:

<?php
function bar() // Beachte das fehlende &
{
    $a = 5;
    return $a;
}
foo(bar()); // Fatal error seit PHP 5.0.5

foo($a = 5); // Ausdruck, keine Variable
foo(5); // Fatal error
?>
Diese Anforderungen gelten für PHP 4.0.4 und später.

Was Referenzen nicht sind
Referenzen zurückgeben
Referenzen in PHP


Referenzen zurückgeben

Das Zurückgeben von Ergebnissen per Referenz aus Funktionen heraus kann manchmal recht nützlich sein, um herauszufinden, an welche Variable eine Referenz gebunden werden soll. Man sollte diese Funktionalität nicht aus Performancegründen benutzen, der Kern ist intelligent genug, um dies selbst zu optimieren. Man sollte Referenzen nur dann zurückgeben, wenn man sinnvolle technische Gründe hat. Hierbei ist folgende Syntax zu beachten:

<?php
class foo {
    public $value = 42;

    public function &getValue() {
        return $this->value;
    }
}

$obj = new foo;
$myValue = &$obj->getValue(); // $myValue ist eine  Referenz zu to $obj->value, mit dem Wert 42.
$obj->value = 2;
echo $myValue;                // Zeigt den neuen Wert von $obj->value, also 2.
?>
In diesem Beispiel wird also die Eigenschaft des von getValue gelieferten Objektes gesetzt, nicht die der Kopie, wie es der Fall wäre, wenn die Funktion getValue ihr Ergebnis nicht per Referenz liefern würde.

Hinweis: Im Gegensatz zur Parameterübergabe per Referenz ist bei der Rückgabe mittels Referenz an beiden Stellen die Angabe des & notwendig. Dies verdeutlicht, dass Sie eine Referenz und nicht wie gewöhnlich eine Kopie zurückgeben. Ebenfalls wird verdeutlicht, dass für $myValue im Gegensatz zur normalen Zuweisung ein Referencebinding durchgeführt wird.

Hinweis: Wenn man versucht, eine Referenz aus einer Funktion mit der Syntax return ($this->value); zurückzugeben, wird das nicht funktionieren, weil man versucht, das Ergebnis eines Ausdrucks zurückzugeben und nicht eine Variable per Referenz. Man kann nur Variablen per Referenz aus einer Funktion zurückgeben - sonst nichts. Seit PHP 4.4.0 und PHP 5.1.0 wird ein E_NOTICE-Fehler erzeugt, wenn versucht wird, einen dynamischen Ausdruck oder das Ergebnis eines new zurückzugeben.

Parameterübergabe per Referenz
Referenzen aufheben
Referenzen in PHP


Referenzen aufheben

Wird eine Referenz aufgehoben, so wird nur die Bindung zwischen einem Variablennamen und dem Variableninhalt entfernt. Der Inhalt der Variablen wird hierbei nicht gelöscht. Betrachten wir folgendes Beispiel:

<?php
$a = 1;
$b =& $a;
unset($a);
?>
Die Variable $b wird nicht gelöscht, sondern es wird nur die Bindung des Variablennamen $a an den Variableninhalt aufgehoben. Dieser Variableninhalt ist immer noch über $b verfügbar.

Wiederum sieht man die Analogie zwischen Unix und den Referenzen: Das Aufheben einer Referenz entspricht einem Aufruf von unlink unter Unix.

Referenzen zurückgeben
Referenzen entdecken
Referenzen in PHP


Referenzen entdecken

Viele Sprachelemente von PHP sind intern mit der Benutzung von Referenzen implementiert, daher gilt alles bisher gesagte auch für diese Konstrukte:

global References

Die Verwendung von global $var erzeugt im aktuellen Gültigkeitsbereich eine Referenz auf die globale Variable $var, sie ist also äquivalent zu folgendem:

<?php
$var =& $GLOBALS["var"];
?>

Dies hat zur Folge, dass das Anwenden von unset() auf $var keinen Einfluss auf die globale Variable hat.

$this

In einer Objektmethode ist $this immer eine Referenz auf die aufrufende Objektinstanz.

Referenzen aufheben
Vordefinierte Variablen
Referenzen in PHP


Vordefinierte Variablen

PHP unterstützt eine größere Anzahl vordefinierter Variablen in allen Skripten. Die Variablen repräsentieren die gesamte Spannweite von externen Variablen über built-in-Umgebungsvariablen, letzte Fehlermeldungen bis zu empfangenen Headern.

Lesen Sie ebenfalls die den FAQ-Abschnitt "Wie wirkt sich register_globals auf meine Skripte aus?"

Inhaltsverzeichnis

  • Superglobals — Superglobals sind Built-in-Variablen, die immer in allen Gültigkeitsbereichen verfügbar sind
  • $GLOBALS — Referenziert alle Variablen, die im globalen Gültigkeitsbereich vorhanden sind
  • $_SERVER — Informationen über Server und Ausführungsumgebung
  • $_GET — HTTP GET-Variablen
  • $_POST — HTTP POST-Variablen
  • $_FILES — HTTP Dateiupload-Variablen
  • $_REQUEST — HTTP Request-Variablen
  • $_SESSION — Sessionvariablen
  • $_ENV — Umgebungsvariablen
  • $_COOKIE — HTTP Cookies
  • $php_errormsg — Die vorangegangene Fehlermeldung
  • $HTTP_RAW_POST_DATA — Raw POST-Daten
  • $http_response_header — HTTP Response-Header
  • $argc — Die Anzahl der an das Skript übergebenen Argumente
  • $argv — Array der an das Skript übergebenen Argumente
Referenzen entdecken
Superglobals
Sprachreferenz


Superglobals sind Built-in-Variablen, die immer in allen Gültigkeitsbereichen verfügbar sind

Vordefinierte Variablen
$GLOBALS
Vordefinierte Variablen
PHP Manual

Superglobals

Superglobals — Superglobals sind Built-in-Variablen, die immer in allen Gültigkeitsbereichen verfügbar sind

Beschreibung

Etliche vordefinierte Variablen in PHP sind sogenannte "Superglobals", das bedeutet, sie sind in allen Gültigkeitsbereichen (s.g. Scopes) eines Skripts verfügbar. Daher gibt es keinen Grund, global $variable; zu verwenden, um auf sie innerhalb einer Funktion oder Methode zuzugreifen.

Diese Superglobals sind:

  • $GLOBALS
  • $_SERVER
  • $_GET
  • $_POST
  • $_FILES
  • $_COOKIE
  • $_SESSION
  • $_REQUEST
  • $_ENV

Changelog

Version | Beschreibung
4.1.0 | Superglobals wurden in PHP eingeführt.

Anmerkungen

Hinweis: Verfügbarkeit der Variablen

Standardmäßig sind alle Superglobals verfügbar, allerdings haben einige Einstellung in PHP Einfluss auf ihre Verfügbarkeit. Für weitere Informationen lesen Sie bitte die Dokumentation zu variables_order.

Hinweis: Abwicklung mit register_globals

Sollte die nicht mehr empfohlene Direktive register_globals auf on gesetzt sein, werden die davon betroffenen Variablen ebenfalls im globalen Gültigkeitsbereich des Skripts sichtbar. So existiert zum Beispiel $_POST['foo'] gleichzeitig als $foo.

Wenn Sie mehr über das Thema wissen wollen, werfen Sie am besten einen Blick in die FAQ "Wie wirkt sich register_globals auf meine Skripte aus?"

Hinweis: Variable Variablen

Superglobals können nicht als variable Variablen innerhalb von Funktionen oder Klassenmethoden verwendet werden.

Siehe auch

  • Gültigkeit von Variablen
  • The variables_order-Direktive
  • Die Filter-Erweiterung

Vordefinierte Variablen
$GLOBALS
Vordefinierte Variablen


Referenziert alle Variablen, die im globalen Gültigkeitsbereich vorhanden sind

Superglobals
$_SERVER
Vordefinierte Variablen
PHP Manual

$GLOBALS

(PHP 4, PHP 5, PHP 7)

$GLOBALS — Referenziert alle Variablen, die im globalen Gültigkeitsbereich vorhanden sind

Beschreibung

Ein assoziatives Array, das Referenzen auf alle Variablen enthält, die derzeit im globalen Gültigkeitsbereich (Scope) des Skripts bekannt sind. Die Namen der jeweiligen Variablen sind die Schlüsselwerte, um auf den Inhalt der jeweils referenzierten Variablen zuzugreifen.

Beispiele

Beispiel #1 $GLOBALS-Beispiel

<?php
function test() {
    $foo = "local variable";

    echo '$foo in global scope: ' . $GLOBALS["foo"] . "\n";
    echo '$foo in current scope: ' . $foo . "\n";
}

$foo = "Example content";
test();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

$foo in global scope: Example content
$foo in current scope: local variable

Anmerkungen

Hinweis:

Dies ist eine 'Superglobale' oder automatisch globale Variable. Dies bedeutet, dass sie innerhalb des Skripts in jedem Geltungsbereich sichtbar ist. Es ist nicht nötig, sie mit global $variable bekannt zu machen, um aus Funktionen oder Methoden darauf zuzugreifen.

Hinweis: Verfügbarkeit der Variablen

Im Gegensatz zu allen anderen Superglobals ist $GLOBALS notwendigerweise immer in PHP verfügbar.

Superglobals
$_SERVER
Vordefinierte Variablen


Informationen über Server und Ausführungsumgebung

$GLOBALS
$_GET
Vordefinierte Variablen
PHP Manual

$_SERVER

$HTTP_SERVER_VARS [entfernt]

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

$_SERVER -- $HTTP_SERVER_VARS [entfernt] — Informationen über Server und Ausführungsumgebung

Beschreibung

$_SERVER ist ein Array, das Informationen wie Header, Pfade und die verschiedenen Wege, das Skript anzusprechen beinhaltet. Die Einträge in diesem Array werden vom Webserver erstellt. Es gibt keine Garantie dafür, dass jeder Webserver alle möglichen Einträge unterstützt - Server können einige weglassen oder andere Einträge unterstützen, die hier nicht aufgeführt sind. Das meint, die meisten der Variablen werden in der» CGI 1.1-Spezifikation ausgewiesen, daher sollten Sie diese als von Ihrem Webserver unterstützt erwarten können.

Vor PHP 5.4.0 enthielt $HTTP_SERVER_VARS anfangs die selben Informationen, war aber kein Superglobal. (Beachten Sie, dass $HTTP_SERVER_VARS und $_SERVER unterschiedliche Variablen waren und von PHP daher entsprechend behandelt wurden.)

Indizes

Es kann sein, dass Sie die folgenden Elemente in $_SERVER vorfinden. Beachten Sie, dass einige davon, sofern vorhanden, nur verfügbar sind oder einen sinnvollen Wert haben, wenn PHP auf der Kommandozeile läuft.

'PHP_SELF'
Der Dateiname des aktuell ausgeführten Skripts, relativ zum Document Root. Beispielsweise enthält $_SERVER['PHP_SELF'] in einem Skript, das über die Adresse http://example.com/foo/bar.php aufgerufen wird, den Wert /foo/bar.php. Die Konstante __FILE__ enthält den vollständigen Pfad und Dateinamen der aktuellen (z.B. via include eingebundenen) Datei. Läuft PHP als Kommandozeilenprogramm, enthält diese Variable seit PHP 4.3.0 den Namen des Skripts. Davor war die Variable nicht verfügbar.
'argv'
Array der an das Skript übergebenen Argumente. Wenn das Skript auf der Kommandozeile ausgeführt wird, erhalten Sie auf diesem Weg einen an die Sprache C angelehnten Zugriff auf die Kommandozeilenparameter. Wird das Skript via GET aufgerufen, enthält die Variable den Querystring.
'argc'
Enthält die Anzahl der per Kommandozeile an das Skript übergebenen Parameter (sofern das Skript auf der Kommandozeile ausgeführt wird).
'GATEWAY_INTERFACE'
Enthält die Version der vom Server verwendete CGI-Spezifikation, z. B. 'CGI/1.1'.
'SERVER_ADDR'
Die IP-Adresse des Servers, auf dem das aktuelle Skript ausgeführt wird.
'SERVER_NAME'
Der Hostname des Servers, auf dem das aktuelle Skript ausgeführt wird. Wenn das Skript auf einem Virtuellen Host läuft, wird dieser Wert vom Virtuellen Host bestimmt.
'SERVER_SOFTWARE'
Identifikation der verwendeten Server-Software, die bei einer Antwort auf den eingegangenen Request verwendet wird.
'SERVER_PROTOCOL'
Name und Versionsnummer des verwendeten Übertragungsprotokolls, mittels dessen die aktuelle Seite aufgerufen wurde, z. B. 'HTTP/1.0'.
'REQUEST_METHOD'
Enthält die für den Zugriff auf die Seite verwendete Requestmethode, z. B. 'GET', 'HEAD', 'POST' oder 'PUT'.

Hinweis:

Ist die Requestmethode HEAD, wird ein PHP-Skript beendet, nachdem die Header gesendet wurden (sofern Ausgaben ohne die Verwendung des Ausgabepuffers (output buffering) erzeugt werden).

'REQUEST_TIME'
Der Timestamp des Zeitpunkts, an dem der Request eintraf. Verfügbar seit PHP 5.1.0.
'REQUEST_TIME_FLOAT'
Der Timestamp des Zeitpunkts, an dem der Request eintraf, in Mikrosekunden-Genauigkeit. Verfügbar seit PHP 5.4.0.
'QUERY_STRING'
Sofern vorhanden, der Querystring, mittels dessen auf die Seite zugegriffen wurde.
'DOCUMENT_ROOT'
Das Document Root-Verzeichnis, unter dem das aktuelle Skript ausgeführt wird, so wie es in der Konfiguration des Servers festgelegt wurde.
'HTTP_ACCEPT'
Enthält den Inhalt des Accept:-Headers des aktuellen Requests, sofern ein solcher gesendet wurde.
'HTTP_ACCEPT_CHARSET'
Enthält den Inhalt des Accept-Charset:-Headers des aktuellen Requests, sofern ein solcher gesendet wurde. Beispiel: 'iso-8859-1,*,utf-8'.
'HTTP_ACCEPT_ENCODING'
Enthält den Inhalt des Accept-Encoding:-Headers des aktuellen Requests, sofern ein solcher gesendet wurde. Beispiel: 'gzip'.
'HTTP_ACCEPT_LANGUAGE'
Enthält den Inhalt des Accept-Language:-Headers des aktuellen Requests, sofern ein solcher gesendet wurde. Beispiel: 'en'.
'HTTP_CONNECTION'
Enthält den Inhalt des Connection:-Headers des aktuellen Requests, sofern ein solcher gesendet wurde. Beispiel: 'Keep-Alive'.
'HTTP_HOST'
Enthält den Inhalt des Host:-Headers des aktuellen Requests, sofern ein solcher gesendet wurde.
'HTTP_REFERER'
Sofern vorhanden, die Adresse der Seite, auf der der Benutzer einen Link auf die aktuell aufgerufene Seite angeklickt hat. Dieser Wert wird vom Browser des Benutzers gesetzt. Nicht alle Programme unterstützen diesen Wert, manche offerieren als Feature sogar die Möglichkeit, den Wert von HTTP_REFERER selbst zu bestimmen. Kurz, Sie können diesem Wert nicht wirklich vertrauen.
'HTTP_USER_AGENT'
Enthält den Inhalt des User-Agent:-Headers des aktuellen Requests, sofern ein solcher gesendet wurde. Dies ist eine Zeichenkette, die das für den Zugriff auf die Seite verwendete Programm anzeigt. Ein typisches Beispiel ist Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586). Sie können diesen Wert unter anderem mittels der Funktion get_browser() dafür nutzen, den Inhalt Ihrer Seite auf die Möglichkeiten des jeweiligen Browsers zuzuschneiden.
'HTTPS'
Wird auf einen nicht-leeren Wert gesetzt, wenn das Skript via HTTPS aufgerufen wurde.

Hinweis: Beachten Sie bei der Verwendung von ISAPI unter IIS, dass der Wert auf off gesetzt wird, wenn der Request nicht mittels HTTPS erfolgte.

'REMOTE_ADDR'
Die IP-Adresse, von der aus der Benutzer die aktuelle Seite ansieht.
'REMOTE_HOST'
Der Name des Hosts, von dem aus der Benutzer die aktulle Seite ansieht. Der Auflösung der IP-Adresse (Reverse DNS Lookup) basiert auf der REMOTE_ADDR des Benutzers.

Hinweis: Ihr Webserver muss darauf konfiguriert sein, diese Variable zu erzeugen. Im Apache benötigen Sie dazu zum Beispiel die Direktive HostnameLookups On innerhalb der httpd.conf. Lesen Sie dazu auch die Beschreibung der Funktion gethostbyaddr().

'REMOTE_PORT'
Der vom Rechner des Benutzers verwendete Port, um mit dem Webserver zu kommunizieren.
'REMOTE_USER'
Der beglaubigte Benutzer.
'REDIRECT_REMOTE_USER'
Der beglaubigte Benutzer, falls der Request intern weiter geleitet wurde.
'SCRIPT_FILENAME'

Der absolute Pfad des aktuell ausgeführten Skripts.

Hinweis:

Wenn ein Skript als CLI mit einem relativen Pfad wie file.php oder ../file.php ausgeführt wird, enthält $_SERVER['SCRIPT_FILENAME'] den vom Benutzer angegebenen relativen Pfad.

'SERVER_ADMIN'
Der Wert, der für die SERVER_ADMIN-Direktive (für Apache) im Konfigurationsfile des Webservers eingestellt wurde. Wenn das Skript auf einem Virtuellen Host läuft, wird der für diesen Virtuellen Host definierte Wert verwendet.
'SERVER_PORT'
Der Port, der auf dem Server vom Webserver für die Kommunikation genutzt wird. In einer Standardumgebung ist dies '80'; wenn Sie beispielsweise SSL verwenden, wird dieser Wert auf den Port geändert, über den Sie Ihre verschlüsselte HTTP-Kommunikation abwickeln.

Hinweis: Unter Apache 2 müssen Sie UseCanonicalName = On sowie UseCanonicalPhysicalPort = On setzen, um den physikalischen (wirklichen) Port zu erhalten; andernfalls kann dieser Wert gefälscht werden, und gibt dann den physikalischen Port Wert zurück, oder nicht. Es ist nicht sicher, sich auf diesen Wert in sicherheitsabhängigen Umfeldern zu verlassen.

'SERVER_SIGNATURE'
Ein String, der die Version der verwendeten Serversoftware und den Namen des Virtuellen Hosts enthält, der, sofern die Option auf dem Server aktiviert ist, an die servergenerierte Seiten angefügt wird.
'PATH_TRANSLATED'
Auf dem Dateisystem (nicht dem Document Root!) basierender Pfad zum aktuellen Skript, nachdem der Server ein Virtual-to-Real-Mapping durchgeführt hat.

Hinweis: Seit PHP 4.3.2 wird PATH_TRANSLATED nicht länger implizit unter der Apache 2 SAPI gesetzt, im Gegensatz zur Situation unter Apache 1, bei dem diese Variable automatisch auf den Wert von SCRIPT_FILENAME gesetzt wird, sofern Apache nicht selbst einen Wert einfügt. Diese Änderung entspricht dem in der CGI-Spezifikation beschriebenen Verhalten, nach dem PATH_TRANSLATED nur dann gesetzt sein sollte, wenn PAT_INFO definiert ist. Apache 2-Benutzer können die Direktive AcceptPathInfo = On in der httpd.conf verwenden, um einen Wert für PATH_INFO zu definieren.

'SCRIPT_NAME'
Enthält den Pfad zum aktuellen Skript. Dies ist nützlich für Seiten, die auf sich selbst verweisen sollen. Die Konstante __FILE__ enthält den vollständigen Pfad und Dateinamen der aktuellen (z.B. via include eingebundenen) Datei.
'REQUEST_URI'
Der URI, der angegeben wurde, um auf die aktuelle Seite zuzugreifen, beispielsweise '/index.html'.
'PHP_AUTH_DIGEST'
Wenn Digest HTTP Authentication verwendet wird, wird diese Variable mit dem Inhalt des vom Client gesendeten 'Authorization'-Headers gefüllt, welchen Sie für eine adäquate Validierung nutzen sollten.
'PHP_AUTH_USER'
Wenn HTTP authentication verwendet wird, wird diese Variable mit dem vom Benutzer angegebenen Usernamen gefüllt.
'PHP_AUTH_PW'
Wenn HTTP authentication verwendet wird, wird diese Variable mit dem vom Benutzer angegebenen Passwort gefüllt.
'AUTH_TYPE'
Wenn HTTP authentication verwendet wird, wird diese Variable mit dem verwendeten HTTP-Authentifizierungsmechanismus gefüllt.
'PATH_INFO'
Enthält, sofern vorhanden, den Teil des Pfadnamens hinter dem Namen des PHP-Skripts, aber vor dem Query-String. Wenn zum Beispiel das aktuelle Skript mittels dem URL http://www.example.com/php/path_info.php/some/stuff?foo=bar aufgerufen wird, würde $_SERVER['PATH_INFO'] /some/stuff enthalten.
'ORIG_PATH_INFO'
Originalversion von 'PATH_INFO' vor der Verarbeitung durch PHP.

Changelog

Version | Beschreibung
5.4.0 | $HTTP_SERVER_VARS ist nicht mehr verfügbar, da die Registrierung von langen Arrays entfernt wurde.
5.3.0 | Die Direktive register_long_arrays, die $HTTP_SERVER_VARS verfügbar gemacht hat, wurde missbilligt.
4.1.0 | Einführung von $_SERVER als Ablösung der bis dahin existierenden $HTTP_SERVER_VARS.

Beispiele

Beispiel #1 $_SERVER-Beispiel

<?php
echo $_SERVER['SERVER_NAME'];
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

www.example.com

Anmerkungen

Hinweis:

Dies ist eine 'Superglobale' oder automatisch globale Variable. Dies bedeutet, dass sie innerhalb des Skripts in jedem Geltungsbereich sichtbar ist. Es ist nicht nötig, sie mit global $variable bekannt zu machen, um aus Funktionen oder Methoden darauf zuzugreifen.

Siehe auch

  • Die Filter-Erweiterung

$GLOBALS
$_GET
Vordefinierte Variablen


HTTP GET-Variablen

$_SERVER
$_POST
Vordefinierte Variablen
PHP Manual

$_GET

$HTTP_GET_VARS [veraltet, nicht empfohlen]

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

$_GET -- $HTTP_GET_VARS [veraltet, nicht empfohlen] — HTTP GET-Variablen

Beschreibung

Ein assoziatives Array von Variablen, die dem aktuellen Skript mittels der URL-Parameter übergeben werden.

$HTTP_GET_VARS enthält anfangs die selben Informationen, ist aber kein Superglobal. (Beachten Sie, dass $HTTP_GET_VARS und $_GET unterschiedliche Variablen sind und von PHP daher entsprechend behandelt werden.)

Changelog

Version | Beschreibung
4.1.0 | Einführung von $_GET als Ablösung des bis dahin existierenden $HTTP_GET_VARS.

Beispiele

Beispiel #1 $_GET-Beispiel

<?php
echo 'Hallo ' . htmlspecialchars($_GET["name"]) . '!';
?>

Angenommen, der Benutzer gab ein http://example.com/?name=Hannes

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Hallo Hannes!

Anmerkungen

Hinweis:

Dies ist eine 'Superglobale' oder automatisch globale Variable. Dies bedeutet, dass sie innerhalb des Skripts in jedem Geltungsbereich sichtbar ist. Es ist nicht nötig, sie mit global $variable bekannt zu machen, um aus Funktionen oder Methoden darauf zuzugreifen.

Hinweis:

Die GET-Variablen werden automatisch mit urldecode() behandelt.

Siehe auch

  • Behandlung externer Variablen
  • Die Filter-Erweiterung

$_SERVER
$_POST
Vordefinierte Variablen


HTTP POST-Variablen

$_GET
$_FILES
Vordefinierte Variablen
PHP Manual

$_POST

$HTTP_POST_VARS [veraltet, nicht empfohlen]

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

$_POST -- $HTTP_POST_VARS [veraltet, nicht empfohlen] — HTTP POST-Variablen

Beschreibung

Ein assoziatives Array von Variablen, die dem aktuellen Skript mittels der HTTP POST-Methode übergeben werden, wenn application/x-www-form-urlencoded oder multipart/form-data als HTTP Content-Type für die Anfrage verwendet wurde.

$HTTP_POST_VARS enthält anfangs die selben Informationen, ist aber kein Superglobal. (Beachten Sie, dass $HTTP_POST_VARS und $_POST unterschiedliche Variablen sind und von PHP daher entsprechend behandelt werden.)

Changelog

Version | Beschreibung
4.1.0 | Einführung von $_POST als Ablösung des bis dahin existierenden $HTTP_POST_VARS.

Beispiele

Beispiel #1 $_POST-Beispiel

<?php
echo 'Hello ' . htmlspecialchars($_POST["name"]) . '!';
?>

Angenommen, der User POSTete name=Hannes

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Hello Hannes!

Anmerkungen

Hinweis:

Dies ist eine 'Superglobale' oder automatisch globale Variable. Dies bedeutet, dass sie innerhalb des Skripts in jedem Geltungsbereich sichtbar ist. Es ist nicht nötig, sie mit global $variable bekannt zu machen, um aus Funktionen oder Methoden darauf zuzugreifen.

Siehe auch

  • Behandlung externer Variablen
  • Die Filter-Erweiterung

$_GET
$_FILES
Vordefinierte Variablen


HTTP Dateiupload-Variablen

$_POST
$_REQUEST
Vordefinierte Variablen
PHP Manual

$_FILES

$HTTP_POST_FILES [veraltet, nicht empfohlen]

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

$_FILES -- $HTTP_POST_FILES [veraltet, nicht empfohlen] — HTTP Dateiupload-Variablen

Beschreibung

Ein assoziatives Array von Elementen, die vom aktuellen Skript via HTTP POST-Methode hochgeladen werden.

$HTTP_FILES_VARS enthält anfangs die selben Informationen, ist aber kein Superglobal. (Beachten Sie, dass $HTTP_FILES_VARS und $_FILES unterschiedliche Variablen sind und von PHP daher entsprechend behandelt werden.)

Changelog

Version | Beschreibung
4.1.0 | Einführung von $_FILES als Ablösung des bis dahin existierenden $HTTP_FILES_VARS.

Anmerkungen

Hinweis:

Dies ist eine 'Superglobale' oder automatisch globale Variable. Dies bedeutet, dass sie innerhalb des Skripts in jedem Geltungsbereich sichtbar ist. Es ist nicht nötig, sie mit global $variable bekannt zu machen, um aus Funktionen oder Methoden darauf zuzugreifen.

Siehe auch

  • move_uploaded_file() - Verschiebt eine hochgeladene Datei an einen neuen Ort
  • Behandlung von Dateiuploads

$_POST
$_REQUEST
Vordefinierte Variablen


HTTP Request-Variablen

$_FILES
$_SESSION
Vordefinierte Variablen
PHP Manual

$_REQUEST

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

$_REQUEST — HTTP Request-Variablen

Beschreibung

Ein assoziatives Array, das standardmäßig den Inhalt von $_GET, $_POST und $_COOKIE enthält.

Changelog

Version | Beschreibung
5.3.0 | request_order eingeführt. Die Direktive wirkt sich auf den Inhalt von $_REQUEST aus.
4.3.0 | $_FILES-Informationen aus $_REQUEST entfernt.
4.1.0 | $_REQUEST eingeführt.

Anmerkungen

Hinweis:

Dies ist eine 'Superglobale' oder automatisch globale Variable. Dies bedeutet, dass sie innerhalb des Skripts in jedem Geltungsbereich sichtbar ist. Es ist nicht nötig, sie mit global $variable bekannt zu machen, um aus Funktionen oder Methoden darauf zuzugreifen.

Hinweis:

Wenn das Skript auf der Kommandozeile ausgeführt wird, enthält die Variable nicht den Inhalt von argv und argc; diese finden sich im Array $_SERVER.

Hinweis:

Die Variablen in $_REQUEST werden dem Skript mittels der GET-, POST- und COOKIE-Inputmechanismen zur Verfügung gestellt. Daher kann der Inhalt durch einen entfernten Benutzer modifiziert worden sein und ist daher als nicht vertrauenswürdig zu betrachten. Das Vorhandensein und die Reihenfolge des Variableninhalts in diesem Array wird entsprechend der PHP-Konfigurationsdirektive variables_order bestimmt.

Siehe auch

  • import_request_variables() - Import GET/POST/Cookie variables into the global scope
  • Behandlung externer Variablen
  • Die Filter-Erweiterung
$_FILES
$_SESSION
Vordefinierte Variablen


Sessionvariablen

$_REQUEST
$_ENV
Vordefinierte Variablen
PHP Manual

$_SESSION

$HTTP_SESSION_VARS [veraltet, nicht empfohlen]

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

$_SESSION -- $HTTP_SESSION_VARS [veraltet, nicht empfohlen] — Sessionvariablen

Beschreibung

Ein assoziatives Array, das die Sessionvariablen enthält und dem aktuellen Skript zur Verfügung stellt. Lesen Sie den Abschnitt Sessionfunktionen der Dokumentation, um weitere Informationen zur Verwendung zu erhalten.

$HTTP_SESSION_VARS enthält anfangs die selben Informationen, ist aber kein Superglobal. (Beachten Sie, dass $HTTP_SESSION_VARS und $_SESSION unterschiedliche Variablen sind und von PHP daher entsprechend behandelt werden.)

Changelog

Version | Beschreibung
4.1.0 | Einführung von $_SESSION als Ablösung der bis dahin existierenden $HTTP_SESSION_VARS.

Anmerkungen

Hinweis:

Dies ist eine 'Superglobale' oder automatisch globale Variable. Dies bedeutet, dass sie innerhalb des Skripts in jedem Geltungsbereich sichtbar ist. Es ist nicht nötig, sie mit global $variable bekannt zu machen, um aus Funktionen oder Methoden darauf zuzugreifen.

Siehe auch

  • session_start() - Erzeugt eine neue Session oder setzt eine vorhandene fort

$_REQUEST
$_ENV
Vordefinierte Variablen


Umgebungsvariablen

$_SESSION
$_COOKIE
Vordefinierte Variablen
PHP Manual

$_ENV

$HTTP_ENV_VARS [veraltet, nicht empfohlen]

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

$_ENV -- $HTTP_ENV_VARS [veraltet, nicht empfohlen] — Umgebungsvariablen

Beschreibung

Ein assoziatives Array von Variablen, die dem aktuellen Skript mittels der Environment-Methode übergeben werden.

Die Variablen werden aus der Laufzeitumgebung, unter der der PHP-Parser läuft, in PHPs globalen Namespace importiert. Die meisten Werte werden von der Shell, unter der PHP läuft, unterstützt, da es aber die unterschiedlichsten Systeme mit unterschiedlichsten Shells gibt, ist es unmöglich, eine definitive Liste aller verfügbaren Werte zu erstellen. Bitte konsultieren Sie die Dokumentation Ihrer Shell, um eine Liste aller definierten Umgebungsvariablen zu erhalten.

Andere Umgebungsvariablen enthalten die CGI-Variablen, die unabhängig davon eingefügt werden, ob PHP als Servermodul oder CGI-Prozess läuft.

$HTTP_ENV_VARS enthält anfangs die selben Informationen, ist aber kein Superglobal. (Beachten Sie, dass $HTTP_ENV_VARS und $_ENV unterschiedliche Variablen sind und von PHP daher entsprechend behandelt werden.)

Changelog

Version | Beschreibung
4.1.0 | Einführung von $_ENV als Ablösung des bis dahin existierenden $HTTP_ENV_VARS.

Beispiele

Beispiel #1 $_ENV-Beispiel

<?php
echo 'My username is ' .$_ENV["USER"] . '!';
?>

Angenommen "bjori" führt das Skript aus

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

My username is bjori!

Anmerkungen

Hinweis:

Dies ist eine 'Superglobale' oder automatisch globale Variable. Dies bedeutet, dass sie innerhalb des Skripts in jedem Geltungsbereich sichtbar ist. Es ist nicht nötig, sie mit global $variable bekannt zu machen, um aus Funktionen oder Methoden darauf zuzugreifen.

Siehe auch

  • getenv() - Liefert den Wert einer Umgebungsvariable
  • Die Filter-Erweiterung

$_SESSION
$_COOKIE
Vordefinierte Variablen


HTTP Cookies

$_ENV
$php_errormsg
Vordefinierte Variablen
PHP Manual

$_COOKIE

$HTTP_COOKIE_VARS [veraltet, nicht empfohlen]

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

$_COOKIE -- $HTTP_COOKIE_VARS [veraltet, nicht empfohlen] — HTTP Cookies

Beschreibung

Ein assoziatives Array von Variablen, die dem aktuellen Skript mittels HTTP-Cookies übergeben werden.

$HTTP_COOKIE_VARS enthält anfangs die selben Informationen, ist aber kein Superglobal. (Beachten Sie, dass $HTTP_COOKIE_VARS und $_COOKIE unterschiedliche Variablen sind und von PHP daher entsprechend behandelt werden.)

Changelog

Version | Beschreibung
4.1.0 | Einführung von $_COOKIE als Ablösung des bis dahin existierenden $HTTP_COOKIE_VARS.

Beispiele

Beispiel #1 $_COOKIE-Beispiel

<?php
echo 'Hello ' . htmlspecialchars($_COOKIE["name"]) . '!';
?>

Angenommen der Cookie "name" wurde bereits früher gesetzt:

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Hello Hannes!

Anmerkungen

Hinweis:

Dies ist eine 'Superglobale' oder automatisch globale Variable. Dies bedeutet, dass sie innerhalb des Skripts in jedem Geltungsbereich sichtbar ist. Es ist nicht nötig, sie mit global $variable bekannt zu machen, um aus Funktionen oder Methoden darauf zuzugreifen.

Siehe auch

  • setcookie() - Sendet ein Cookie
  • Behandlung externer Variablen
  • Die Filter-Erweiterung

$_ENV
$php_errormsg
Vordefinierte Variablen


Die vorangegangene Fehlermeldung

$_COOKIE
$HTTP_RAW_POST_DATA
Vordefinierte Variablen
PHP Manual

$php_errormsg

(PHP 4, PHP 5, PHP 7)

$php_errormsg — Die vorangegangene Fehlermeldung

Beschreibung

$php_errormsg ist eine Variable, die den Text der letzten von PHP generierten Fehlermeldung enthält. Die Variable ist nur innerhalb des Gültigkeitsbereichs (Scopes) verfügbar, in dem der Fehler auftrat, und auch nur, wenn die Konfigurationsoption track_errors eingeschaltet wurde (standardmäßig aus).

Warnung

Wird ein benutzerdefinierter Errorhandler (set_error_handler()) verwendet, wird $php_errormsg nur dann gesetzt, wenn der Errorhandler FALSE zurückgibt.

Beispiele

Beispiel #1 $php_errormsg-Beispiel

<?php
@strpos();
echo $php_errormsg;
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Wrong parameter count for strpos()

$_COOKIE
$HTTP_RAW_POST_DATA
Vordefinierte Variablen


Raw POST-Daten

$php_errormsg
$http_response_header
Vordefinierte Variablen
PHP Manual

$HTTP_RAW_POST_DATA

(PHP 4, PHP 5)

$HTTP_RAW_POST_DATA — Raw POST-Daten

Beschreibung

Warnung

Diese Funktion ist seit PHP 5.6.0 DEPRECATED (veraltet). Sich auf diese Funktion zu verlassen ist in keiner Weise empfehlenswert.

$HTTP_RAW_POST_DATA enthält die originalen (raw) POST-Daten. Lesen Sie auch always_populate_raw_post_data.

Im Allgemeinen sollte php://input anstelle von $HTTP_RAW_POST_DATA verwendet werden.

$php_errormsg
$http_response_header
Vordefinierte Variablen


HTTP Response-Header

$HTTP_RAW_POST_DATA
$argc
Vordefinierte Variablen
PHP Manual

$http_response_header

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

$http_response_header — HTTP Response-Header

Beschreibung

Das $http_response_header-Array ist vergleichbar mit der Funktion get_headers(). Bei der Verwendung eines HTTP-Wrappers enthält $http_response_header die HTTP Response-Header. $http_response_header wird im lokalen Variablengeltungsbereich erstellt.

Beispiele

Beispiel #1 $http_response_header-Beispiel

<?php
function get_contents() {
  file_get_contents("http://example.com");
  var_dump($http_response_header);
}
get_contents();
var_dump($http_response_header);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(9) {
  [0]=>
  string(15) "HTTP/1.1 200 OK"
  [1]=>
  string(35) "Date: Sat, 12 Apr 2008 17:30:38 GMT"
  [2]=>
  string(29) "Server: Apache/2.2.3 (CentOS)"
  [3]=>
  string(44) "Last-Modified: Tue, 15 Nov 2005 13:24:10 GMT"
  [4]=>
  string(27) "ETag: "280100-1b6-80bfd280""
  [5]=>
  string(20) "Accept-Ranges: bytes"
  [6]=>
  string(19) "Content-Length: 438"
  [7]=>
  string(17) "Connection: close"
  [8]=>
  string(38) "Content-Type: text/html; CHARSET=Windows-1252"
}
NULL

$HTTP_RAW_POST_DATA
$argc
Vordefinierte Variablen


Die Anzahl der an das Skript übergebenen Argumente

$http_response_header
$argv
Vordefinierte Variablen
PHP Manual

$argc

(PHP 4, PHP 5, PHP 7)

$argc — Die Anzahl der an das Skript übergebenen Argumente

Beschreibung

Enthält die Anzahl der an das aktuelle Skript übergebenen Argumente, wenn das Skript auf der Kommandozeile läuft.

Hinweis: Der Dateiname des Skripts ist immer das erste an das Skript übergebene Argument, damit ist der kleinstmögliche Wert von $argc 1.

Hinweis: Diese Variable ist nicht verfügbar, wenn register_argc_argv ausgeschaltet ist.

Beispiele

Beispiel #1 $argc-Beispiel

<?php
var_dump($argc);
?>

Wenn das Beispiel so aufgerufen wird: php script.php arg1 arg2 arg3

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(4)

$http_response_header
$argv
Vordefinierte Variablen


Array der an das Skript übergebenen Argumente

$argc
Vordefinierte Exceptions
Vordefinierte Variablen
PHP Manual

$argv

(PHP 4, PHP 5, PHP 7)

$argv — Array der an das Skript übergebenen Argumente

Beschreibung

Enthält ein Array aller an das Skript übergebenen Argumente, wenn dies auf der Kommandozeile ausgeführt wird.

Hinweis: Das erste Argument $argv[0] ist immer der Name der zum Aufrufen des Skripts genutzt wurde.

Hinweis: Diese Variable ist nicht verfügbar, wenn register_argc_argv ausgeschaltet ist.

Beispiele

Beispiel #1 $argv-Beispiel

<?php
var_dump($argv);
?>

Wenn das Beispiel so aufgerufen wird: php script.php arg1 arg2 arg3

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(4) {
  [0]=>
  string(10) "script.php"
  [1]=>
  string(4) "arg1"
  [2]=>
  string(4) "arg2"
  [3]=>
  string(4) "arg3"
}

Siehe auch

  • getopt() - Gets options from the command line argument list

$argc
Vordefinierte Exceptions
Vordefinierte Variablen


Vordefinierte Exceptions

Inhaltsverzeichnis

  • Exception
  • ErrorException

Siehe auch das Kapitel SPL-Exceptions.

$argv
Exception
Sprachreferenz


Exception

(PHP 5 >= 5.1.0, PHP 7)

Einführung

Exception ist die Basisklasse für alle Exceptions.

Klassenbeschreibung

Exception {
/* Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Methoden */
public __construct ([ string $message = "" [, int $code = 0 [, Exception $previous = NULL ]]] )
final public string getMessage ( void )
final public Exception getPrevious ( void )
final public mixed getCode ( void )
final public string getFile ( void )
final public int getLine ( void )
final public array getTrace ( void )
final public string getTraceAsString ( void )
public string __toString ( void )
final private void __clone ( void )
}

Eigenschaften

message

Die Exceptionmeldung.

code

Die Fehlernummer der Exception.

file

Der Name der Datei, in der die Exception erzeugt wurde.

line

Die Zeilennummer, in der die Exception erzeugt wurde.

Inhaltsverzeichnis

  • Exception::__construct — Erstellt die Exception
  • Exception::getMessage — Gibt die Exceptionbeschreibung zurück
  • Exception::getPrevious — Gibt die vorhergehende Exception zurück
  • Exception::getCode — Gibt die Fehlernummer der Exception zurück
  • Exception::getFile — Gibt den Namen der Datei zurück, in der die Exception aufgetreten ist
  • Exception::getLine — Gibt die Zeile zurück, in der die Exception auftrat
  • Exception::getTrace — Gibt den Stacktrace zurück
  • Exception::getTraceAsString — Gibt den Stacktrace als String zurück
  • Exception::__toString — Stringrepräsentation der Exception
  • Exception::__clone — Klont die Exception
Vordefinierte Exceptions
Exception::__construct
Vordefinierte Exceptions


Erstellt die Exception

Exception
Exception::getMessage
Exception
PHP Manual

Exception::__construct

(PHP 5 >= 5.1.0, PHP 7)

Exception::__construct — Erstellt die Exception

Beschreibung

public Exception::__construct ([ string $message = "" [, int $code = 0 [, Exception $previous = NULL ]]] )

Erstellt die Exception.

Parameter-Liste

message

Die auszugebende Beschreibung der Exception.

code

Die Fehlernummer der Exception.

previous

Die vorangegangene Exception, die für Exception-Verkettung verwendet werden soll.

Changelog

Version | Beschreibung
5.3.0 | Der Parameter previous wurde hinzugefügt.

Anmerkungen

Hinweis:

Die message is NICHT binary-safe.

Exception
Exception::getMessage
Exception


Gibt die Exceptionbeschreibung zurück

Exception::__construct
Exception::getPrevious
Exception
PHP Manual

Exception::getMessage

(PHP 5 >= 5.1.0, PHP 7)

Exception::getMessage — Gibt die Exceptionbeschreibung zurück

Beschreibung

final public string Exception::getMessage ( void )

Gibt die Exceptionbeschreibung zurück.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt die Exceptionbeschreibung als String zurück.

Beispiele

Beispiel #1 Exception::getMessage()-Beispiel

<?php
try {
    throw new Exception("Some error message");
} catch(Exception $e) {
    echo $e->getMessage();
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Some error message

Exception::__construct
Exception::getPrevious
Exception


Gibt die vorhergehende Exception zurück

Exception::getMessage
Exception::getCode
Exception
PHP Manual

Exception::getPrevious

(PHP 5 >= 5.3.0, PHP 7)

Exception::getPrevious — Gibt die vorhergehende Exception zurück

Beschreibung

final public Exception Exception::getPrevious ( void )

Gibt die vorhergehende Exception (dritter Parameter von Exception::__construct()) zurück.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt die vorhergehende Exception zurück falls vorhanden, anderenfalls NULL.

Beispiele

Beispiel #1 Exception::getPrevious() Beispiel

Ausgabeschleife über einen Exception-Verlauf

<?php
class MyCustomException extends Exception {}

function doStuff() {
    try {
        throw new InvalidArgumentException("Sie machen es nicht richtig!", 112);
    } catch(Exception $e) {
        throw new MyCustomException("Irgendetwas geschah", 911, $e);
    }
}

try {
    doStuff();
} catch(Exception $e) {
    do {
        printf("%s:%d %s (%d) [%s]\n", $e->getFile(), $e->getLine(), $e->getMessage(), $e->getCode(), get_class($e));
    } while($e = $e->getPrevious());
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

/home/bjori/ex.php:8 Irgendetwas geschah (911) [MyCustomException]
/home/bjori/ex.php:6 Sie machen es nicht richtig! (112) [InvalidArgumentException]

Exception::getMessage
Exception::getCode
Exception


Gibt die Fehlernummer der Exception zurück

Exception::getPrevious
Exception::getFile
Exception
PHP Manual

Exception::getCode

(PHP 5 >= 5.1.0, PHP 7)

Exception::getCode — Gibt die Fehlernummer der Exception zurück

Beschreibung

final public mixed Exception::getCode ( void )

Gibt die Fehlernummer der Exception zurück.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Exception selbst gibt den Fehlercode als integer zurück. Von Exception erbende Unterklassen können jedoch auch einen anderen Typ zurückgeben. So gibt PDOException beispielsweise ein string zurück.

Beispiele

Beispiel #1 Exception::getCode()-Beispiel

<?php
try {
    throw new Exception("Some error message", 30);
} catch(Exception $e) {
    echo "The exception code is: " . $e->getCode();
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

The exception code is: 30

Exception::getPrevious
Exception::getFile
Exception


Gibt den Namen der Datei zurück, in der die Exception aufgetreten ist

Exception::getCode
Exception::getLine
Exception
PHP Manual

Exception::getFile

(PHP 5 >= 5.1.0, PHP 7)

Exception::getFile — Gibt den Namen der Datei zurück, in der die Exception aufgetreten ist

Beschreibung

final public string Exception::getFile ( void )

Gibt den Namen der Datei zurück, in der die Exception ausgelöst wurde.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt den Namen der Datei zurück, in der die Exception ausgelöst wurde.

Beispiele

Beispiel #1 Exception::getFile()-Beispiel

<?php
try {
    throw new Exception;
} catch(Exception $e) {
    echo $e->getFile();
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

/home/bjori/tmp/ex.php

Exception::getCode
Exception::getLine
Exception


Gibt die Zeile zurück, in der die Exception auftrat

Exception::getFile
Exception::getTrace
Exception
PHP Manual

Exception::getLine

(PHP 5 >= 5.1.0, PHP 7)

Exception::getLine — Gibt die Zeile zurück, in der die Exception auftrat

Beschreibung

final public int Exception::getLine ( void )

Gibt die Zeile zurück, in der die Exception ausgelöst wurde.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt die Zeile zurück, in der die Exception ausgelöst wurde.

Beispiele

Beispiel #1 Exception::getLine()-Beispiel

<?php
try {
    throw new Exception("Some error message");
} catch(Exception $e) {
    echo "The exception was created on line: " . $e->getLine();
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

The exception was created on line: 3

Exception::getFile
Exception::getTrace
Exception


Gibt den Stacktrace zurück

Exception::getLine
Exception::getTraceAsString
Exception
PHP Manual

Exception::getTrace

(PHP 5 >= 5.1.0, PHP 7)

Exception::getTrace — Gibt den Stacktrace zurück

Beschreibung

final public array Exception::getTrace ( void )

Gibt den Stacktrace der Exception zurück.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt den Stacktrace der Exception als Array zurück.

Beispiele

Beispiel #1 Exception::getTrace()-Beispiel

<?php
function test() {
 throw new Exception;
}

try {
 test();
} catch(Exception $e) {
 var_dump($e->getTrace());
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(1) {
  [0]=>
  array(4) {
    ["file"]=>
    string(22) "/home/bjori/tmp/ex.php"
    ["line"]=>
    int(7)
    ["function"]=>
    string(4) "test"
    ["args"]=>
    array(0) {
    }
  }
}

Exception::getLine
Exception::getTraceAsString
Exception


Gibt den Stacktrace als String zurück

Exception::getTrace
Exception::__toString
Exception
PHP Manual

Exception::getTraceAsString

(PHP 5 >= 5.1.0, PHP 7)

Exception::getTraceAsString — Gibt den Stacktrace als String zurück

Beschreibung

final public string Exception::getTraceAsString ( void )

Gibt den Stacktrace als String zurück.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt den Stacktrace als String zurück.

Beispiele

Beispiel #1 Exception::getTraceAsString()-Beispiel

<?php
function test() {
    throw new Exception;
}

try {
    test();
} catch(Exception $e) {
    echo $e->getTraceAsString();
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

#0 /home/bjori/tmp/ex.php(7): test()
#1 {main}

Exception::getTrace
Exception::__toString
Exception


Stringrepräsentation der Exception

Exception::getTraceAsString
Exception::__clone
Exception
PHP Manual

Exception::__toString

(PHP 5 >= 5.1.0, PHP 7)

Exception::__toString — Stringrepräsentation der Exception

Beschreibung

public string Exception::__toString ( void )

Gibt die Stringrepräsentation der Exception zurück.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt die Stringrepräsentation der Exception zurück.

Beispiele

Beispiel #1 Exception::__toString()-Beispiel

<?php
try {
    throw new Exception("Some error message");
} catch(Exception $e) {
    echo $e;
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

exception 'Exception' with message 'Some error message' in /home/bjori/tmp/ex.php:3
Stack trace:
#0 {main}

Exception::getTraceAsString
Exception::__clone
Exception


Klont die Exception

Exception::__toString
ErrorException
Exception
PHP Manual

Exception::__clone

(PHP 5 >= 5.1.0, PHP 7)

Exception::__clone — Klont die Exception

Beschreibung

final private void Exception::__clone ( void )

Versucht, die Exception zu klonen. Dies erzeugt einen Fatal Error.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

Exceptions sind nicht klonbar.

Exception::__toString
ErrorException
Exception


ErrorException

(PHP 5 >= 5.1.0, PHP 7)

Einführung

Eine Error Exception.

Klassenbeschreibung

ErrorException extends Exception {
/* Eigenschaften */
protected int $severity ;
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Methoden */
public __construct ([ string $message = "" [, int $code = 0 [, int $severity = 1 [, string $filename = __FILE__ [, int $lineno = __LINE__ [, Exception $previous = NULL ]]]]]] )
final public int getSeverity ( void )
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Eigenschaften

severity

Die Schwere einer Exception

Beispiele

Beispiel #1 Verwenden von set_error_handler() zum Verändern von Fehlermeldungen innerhalb ErrorException.

<?php
function exception_error_handler($severity, $message, $file, $line) {
    if (!(error_reporting() & $severity)) {
        // Dieser Fehlercode ist nicht in error_reporting enthalten
        return;
    }
    throw new ErrorException($message, 0, $severity, $file, $line);
}
set_error_handler("exception_error_handler");

/* Exception ausloesen */
strpos();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Fatal error: Uncaught exception 'ErrorException' with message 'strpos() expects at least 2 parameters, 0 given' in /home/bjori/tmp/ex.php:12
Stack trace:
#0 [internal function]: exception_error_handler(2, 'strpos() expect...', '/home/bjori/php...', 12, Array)
#1 /home/bjori/php/cleandocs/test.php(12): strpos()
#2 {main}
  thrown in /home/bjori/tmp/ex.php on line 12

Inhaltsverzeichnis

  • ErrorException::__construct — Erstellt die Exception
  • ErrorException::getSeverity — Liefert die Schwere der Exception
Exception::__clone
ErrorException::__construct
Vordefinierte Exceptions


Erstellt die Exception

ErrorException
ErrorException::getSeverity
ErrorException
PHP Manual

ErrorException::__construct

(PHP 5 >= 5.1.0, PHP 7)

ErrorException::__construct — Erstellt die Exception

Beschreibung

public ErrorException::__construct ([ string $message = "" [, int $code = 0 [, int $severity = 1 [, string $filename = __FILE__ [, int $lineno = __LINE__ [, Exception $previous = NULL ]]]]]] )

Erstellt die Exception.

Parameter-Liste

message

Die auszugebende Exceptionbeschreibung.

code

Die Fehlernummer der Exception.

severity

Die Schwere des aufgetretenen Fehlers.

filename

Der Name der Datei, in der die Exception aufgetreten ist.

lineno

Die Zeilennummer, in der die Exception aufgetreten ist.

previous

Die vorherige Exception (für Exception Chaining).

Changelog

Version | Beschreibung
5.3.0 | Der Parameter previous wurde hinzugefügt.

ErrorException
ErrorException::getSeverity
ErrorException


Liefert die Schwere der Exception

ErrorException::__construct
Vordefinierte Interfaces und Klassen
ErrorException
PHP Manual

ErrorException::getSeverity

(PHP 5 >= 5.1.0, PHP 7)

ErrorException::getSeverity — Liefert die Schwere der Exception

Beschreibung

final public int ErrorException::getSeverity ( void )

Gibt die Schwere der Exception zurück.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt die Schwere der Exception zurück.

Beispiele

Beispiel #1 ErrorException::getSeverity()-Beispiel

<?php
try {
    throw new ErrorException("Exception message", 0, 75);
} catch(ErrorException $e) {
    echo "This exception severity is: " . $e->getSeverity();
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

This exception severity is: 75

ErrorException::__construct
Vordefinierte Interfaces und Klassen
ErrorException


Vordefinierte Interfaces und Klassen

Inhaltsverzeichnis

  • Traversable
  • Iterator
  • IteratorAggregate
  • ArrayAccess
  • Serializable
  • Closure
  • Generator

Siehe auch SPL-Interfaces und reservierte Klassen.

ErrorException::getSeverity
Traversable
Sprachreferenz


Das Traversable-Interface

(PHP 5 >= 5.0.0, PHP 7)

Einführung

Interface, um herauszufinden, ob eine Klasse mittels foreach traversierbar ist.

Das abstrakte Interface kann nicht direkt implementiert werden. Stattdessen müssen Sie es entweder mittels IteratorAggregate oder Iterator implementieren.

Hinweis:

Interne (eingebaute) Klassen, die dieses Interface implementieren, können in foreach-Konstrukten verwendet werden und benötigen keine explizite Implementierung von IteratorAggregate oder Iterator.

Hinweis:

Es handelt sich um ein internes Interface der Engine, das nicht in PHP-Skripten implementiert werden kann. Statt dessen müssen IteratorAggregate oder Iterator verwendet werden. Wenn ein Interface implementiert wird, das Traversable erweitert, ist sicherzustellen, dass IteratorAggregate oder Iterator vor dessen Name in der implements Klausel angegeben wird.

Interface-Übersicht

Traversable {
}

Dieses Interface besitzt keine Methoden, sein einziger Sinn ist es, als Basisinterface für alle traversierbaren Klassen zu dienen.

Vordefinierte Interfaces und Klassen
Iterator
Vordefinierte Interfaces und Klassen


Das Iterator-Interface

(PHP 5 >= 5.0.0, PHP 7)

Einführung

Interface für externe Iteratoren oder Objekte, die selbstiterierend sind.

Interface-Übersicht

Iterator extends Traversable {
/* Methoden */
abstract public mixed current ( void )
abstract public scalar key ( void )
abstract public void next ( void )
abstract public void rewind ( void )
abstract public boolean valid ( void )
}

Vordefinierte Iteratoren

PHP bietet bereits eine Anzahl von Iteratoren für viele alltägliche Aufgaben an. SPL iterators enthält eine entsprechende Liste.

Beispiele

Beispiel #1 Basisnutzung

Dieses Beispiel demonstriert, in welcher Reihenfolge Methoden aufgerufen werden, wenn Sie foreach auf einem Iterator anwenden.

<?php
class meinIterator implements Iterator {
    private $position = 0;
    private $array = array(
        "erstesElement",
        "zweitesElement",
        "letztesElement",
    );

    public function __construct() {
        $this->position = 0;
    }

    function rewind() {
        var_dump(__METHOD__);
        $this->position = 0;
    }

    function current() {
        var_dump(__METHOD__);
        return $this->array[$this->position];
    }

    function key() {
        var_dump(__METHOD__);
        return $this->position;
    }

    function next() {
        var_dump(__METHOD__);
        ++$this->position;
    }

    function valid() {
        var_dump(__METHOD__);
        return isset($this->array[$this->position]);
    }
}

$it = new meinIterator;

foreach($it as $key => $value) {
    var_dump($key, $value);
    echo "\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(18) "meinIterator::rewind"
string(17) "meinIterator::valid"
string(19) "meinIterator::current"
string(15) "meinIterator::key"
int(0)
string(12) "erstesElement"

string(16) "meinIterator::next"
string(17) "meinIterator::valid"
string(19) "meinIterator::current"
string(15) "meinIterator::key"
int(1)
string(13) "zweitesElement"

string(16) "meinIterator::next"
string(17) "meinIterator::valid"
string(19) "meinIterator::current"
string(15) "meinIterator::key"
int(2)
string(11) "letztesElement"

string(16) "meinIterator::next"
string(17) "meinIterator::valid"

Inhaltsverzeichnis

  • Iterator::current — Gibt das aktuelle Element zurück
  • Iterator::key — Gibt den Schlüssel des aktuellen Elements zurück
  • Iterator::next — Rückt den Zeiger auf das nächste Element vor
  • Iterator::rewind — Setzt den Iterator auf das erste Element zurück
  • Iterator::valid — Prüft, ob die aktuelle Position zulässig ist
Traversable
Iterator::current
Vordefinierte Interfaces und Klassen


Gibt das aktuelle Element zurück

Iterator
Iterator::key
Iterator
PHP Manual

Iterator::current

(PHP 5 >= 5.0.0, PHP 7)

Iterator::current — Gibt das aktuelle Element zurück

Beschreibung

abstract public mixed Iterator::current ( void )

Gibt das aktuelle Element zurück.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Kann Werte jeden Typs zurückgeben.

Iterator
Iterator::key
Iterator


Gibt den Schlüssel des aktuellen Elements zurück

Iterator::current
Iterator::next
Iterator
PHP Manual

Iterator::key

(PHP 5 >= 5.0.0, PHP 7)

Iterator::key — Gibt den Schlüssel des aktuellen Elements zurück

Beschreibung

abstract public scalar Iterator::key ( void )

Gibt den Schlüssel des aktuellen Elements zurück.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg einen Skalar zurück, im Fehlerfall wird NULL zurückgegeben.

Fehler/Exceptions

Wirft im Fehlerfall eine Meldung vom Typ E_NOTICE.

Iterator::current
Iterator::next
Iterator


Rückt den Zeiger auf das nächste Element vor

Iterator::key
Iterator::rewind
Iterator
PHP Manual

Iterator::next

(PHP 5 >= 5.0.0, PHP 7)

Iterator::next — Rückt den Zeiger auf das nächste Element vor

Beschreibung

abstract public void Iterator::next ( void )

Verschiebt die aktuelle Position auf das nächste Element.

Hinweis:

Diese Methode wird nach jedem Durchlauf der foreach-Schleife aufgerufen.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Jeder zurückgegebene Wert wird ignoriert.

Iterator::key
Iterator::rewind
Iterator


Setzt den Iterator auf das erste Element zurück

Iterator::next
Iterator::valid
Iterator
PHP Manual

Iterator::rewind

(PHP 5 >= 5.0.0, PHP 7)

Iterator::rewind — Setzt den Iterator auf das erste Element zurück

Beschreibung

abstract public void Iterator::rewind ( void )

Setzt den Zeiger auf das erste Element des Iterators zurück.

Hinweis:

Dies ist die erste Methode, die aufgerufen wird, wenn eine foreach-Schleife gestartet wird. Sie wird nicht nach foreach-Durchläufen ausgeführt.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Zurückgegebene Werte werden ignoriert.

Iterator::next
Iterator::valid
Iterator


Prüft, ob die aktuelle Position zulässig ist

Iterator::rewind
IteratorAggregate
Iterator
PHP Manual

Iterator::valid

(PHP 5 >= 5.0.0, PHP 7)

Iterator::valid — Prüft, ob die aktuelle Position zulässig ist

Beschreibung

abstract public boolean Iterator::valid ( void )

Diese Methode wird nach Iterator::rewind() und Iterator::next() aufgerufen, um zu prüfen, ob die aktuelle Position zulässig ist.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Der Rückgabewert wird in den Typ boolean gecastet und dann evaluiert. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Iterator::rewind
IteratorAggregate
Iterator


Das IteratorAggregate-Interface

(PHP 5 >= 5.0.0, PHP 7)

Einführung

Interface, um einen externen Iterator zu erzeugen.

Interface-Übersicht

IteratorAggregate extends Traversable {
/* Methoden */
abstract public Traversable getIterator ( void )
}

Beispiel #1 Basisnutzung

<?php
class meineDaten implements IteratorAggregate {
    public $property1 = "Öffentliche Eigenschaft eins";
    public $property2 = "Öffentliche Eigenschaft zwei";
    public $property3 = "Öffentliche Eigenschaft drei";

    public function __construct() {
        $this->property4 = "letzte Eigenschaft";
    }

    public function getIterator() {
        return new ArrayIterator($this);
    }
}

$obj = new meineDaten;

foreach($obj as $key => $value) {
    var_dump($key, $value);
    echo "\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(9) "property1"
string(19) "Öffentliche Eigenschaft eins"

string(9) "property2"
string(19) "Öffentliche Eigenschaft zwei"

string(9) "property3"
string(21) "Öffentliche Eigenschaft drei"

string(9) "property4"
string(13) "letzte Eigenschaft"

Inhaltsverzeichnis

  • IteratorAggregate::getIterator — Holt einen externen Iterator
Iterator::valid
IteratorAggregate::getIterator
Vordefinierte Interfaces und Klassen


Holt einen externen Iterator

IteratorAggregate
ArrayAccess
IteratorAggregate
PHP Manual

IteratorAggregate::getIterator

(PHP 5 >= 5.0.0, PHP 7)

IteratorAggregate::getIterator — Holt einen externen Iterator

Beschreibung

abstract public Traversable IteratorAggregate::getIterator ( void )

Gibt einen externen Iterator zurück.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Eine Instanz eines Objektes, das Iterator oder Traversable implementiert.

Fehler/Exceptions

Wirft im Fehlerfall eine Exception.

IteratorAggregate
ArrayAccess
IteratorAggregate


Das ArrayAccess-Interface

(PHP 5 >= 5.0.0, PHP 7)

Einführung

Interface, um Objekte als Arrays ansprechen zu können

Interface-Übersicht

ArrayAccess {
/* Methoden */
abstract public boolean offsetExists ( mixed $offset )
abstract public mixed offsetGet ( mixed $offset )
abstract public void offsetSet ( mixed $offset , mixed $value )
abstract public void offsetUnset ( mixed $offset )
}

Beispiel #1 Basisnutzung

<?php
class obj implements ArrayAccess {
    private $container = array();

    public function __construct() {
        $this->container = array(
            "eins"  => 1,
            "zwei"  => 2,
            "drei"  => 3,
        );
    }

    public function offsetSet($offset, $value) {
        if (is_null($offset)) {
            $this->container[] = $value;
        } else {
            $this->container[$offset] = $value;
        }
    }

    public function offsetExists($offset) {
        return isset($this->container[$offset]);
    }

    public function offsetUnset($offset) {
        unset($this->container[$offset]);
    }

    public function offsetGet($offset) {
        return isset($this->container[$offset]) ? $this->container[$offset] : null;
    }
}

$obj = new obj;

var_dump(isset($obj["zwei"]));
var_dump($obj["zwei"]);
unset($obj["zwei"]);
var_dump(isset($obj["zwei"]));
$obj["zwei"] = "Ein Wert";
var_dump($obj["zwei"]);
$obj[] = 'Anhängen 1';
$obj[] = 'Anhängen 2';
$obj[] = 'Anhängen 3';
print_r($obj);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(true)
int(2)
bool(false)
string(7) "Ein Wert"
obj Object
(
    [container:obj:private] => Array
        (
            [eins] => 1
            [drei] => 3
            [zwei] => Ein Wert
            [0] => Anhängen 1
            [1] => Anhängen 2
            [2] => Anhängen 3
        )

)

Inhaltsverzeichnis

  • ArrayAccess::offsetExists — Prüft, ob ein Offset-Punkt existiert
  • ArrayAccess::offsetGet — Gibt den Wert eines Offset-Punkts zurück
  • ArrayAccess::offsetSet — Zuweisen eines Wertes an angegebenen Offset
  • ArrayAccess::offsetUnset — Löschen eines Offsets
IteratorAggregate::getIterator
ArrayAccess::offsetExists
Vordefinierte Interfaces und Klassen


Prüft, ob ein Offset-Punkt existiert

ArrayAccess
ArrayAccess::offsetGet
ArrayAccess
PHP Manual

ArrayAccess::offsetExists

(PHP 5 >= 5.0.0, PHP 7)

ArrayAccess::offsetExists — Prüft, ob ein Offset-Punkt existiert

Beschreibung

abstract public boolean ArrayAccess::offsetExists ( mixed $offset )

Prüft, ob ein Offset-Punkt existiert oder nicht.

Diese Methode wird aufgerufen, wenn die Funktionen isset() oder empty() auf Objekte angewendet werden, die ArrayAccess implementieren.

Hinweis:

Wenn empty() verwendet wird, wird die Funktion ArrayAccess::offsetGet() aufgerufen und untersucht, ob bereits ein Wert zugewiesen wurde, sofern ArrayAccess::offsetExists() TRUE zurückliefert.

Parameter-Liste

offset

Der zu untersuchende Offset-Punkt.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Hinweis:

Der Rückgabewert wird zu boolean gecastet, sofern sonst ein nicht-boolscher Wert zurückgegeben würde.

Beispiele

Beispiel #1 ArrayAccess::offsetExists()-Beispiel

<?php
class obj implements ArrayAccess {
    public function offsetSet($offset, $wert) {
        var_dump(__METHOD__);
    }
    public function offsetExists($var) {
        var_dump(__METHOD__);
        if ($var == "foobar") {
            return true;
        }
        return false;
    }
    public function offsetUnset($var) {
        var_dump(__METHOD__);
    }
    public function offsetGet($var) {
        var_dump(__METHOD__);
        return "Wert";
    }
}

$obj = new obj;

echo "Ausführung obj::offsetExists()\n";
var_dump(isset($obj["foobar"]));

echo "\nAusführung obj::offsetExists() und obj::offsetGet()\n";
var_dump(empty($obj["foobar"]));

echo "\nAusführung obj::offsetExists(), "
    ."obj:offsetGet() wird *nicht* ausgeführt, "
    ."wenn nichts zurückgegeben werden kann\n";
var_dump(empty($obj["foobaz"]));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ausführung obj::offsetExists()
string(17) "obj::offsetExists"
bool(true)

Ausführung obj::offsetExists() und obj::offsetGet()
string(17) "obj::offsetExists"
string(14) "obj::offsetGet"
bool(false)

Ausführung obj::offsetExists(), obj:offsetGet() wird *nicht* ausgeführt, wenn nichts zurückgegeben werden kann
string(17) "obj::offsetExists"
bool(true)

ArrayAccess
ArrayAccess::offsetGet
ArrayAccess


Gibt den Wert eines Offset-Punkts zurück

ArrayAccess::offsetExists
ArrayAccess::offsetSet
ArrayAccess
PHP Manual

ArrayAccess::offsetGet

(PHP 5 >= 5.0.0, PHP 7)

ArrayAccess::offsetGet — Gibt den Wert eines Offset-Punkts zurück

Beschreibung

abstract public mixed ArrayAccess::offsetGet ( mixed $offset )

Gibt den Wert des angegebenen Offset-Punkts zurück.

Diese Methode wird ausgeführt, wenn geprüft wird, ob ein Offset-Punkt empty() ist.

Parameter-Liste

offset

Der zu untersuchende Offset-Punkt.

Anmerkungen

Hinweis:

Beginnend mit PHP 5.3.4 kann ArrayAccess::offsetGet() per Referenz zurückgeben. Somit ist es möglich Array Offsets von Objekten welche mit ArrayAccess überladen wurden indirekt zu modifizieren.

Bei einer direkten Änderung wird der Wert eines Array Offsets komplett ersetzt (beispielsweise $obj[6] = 7). Bei einer indirekten Änderung wird nur ein Teil des Array Offsets geändert ($obj[6][7] = 7) oder das Array Offset einer Variablen per Referenz zugewiesen ($var =& $obj[6]). Auch Inkrementierung mit ++ und Dekrementierung mit -- sind derartig implementiert, dass sie indirekte Änderung erfordern.

Direkte Änderungen führen zu einem Aufruf von ArrayAccess::offsetSet(), wohingegen indirekte Änderungen in einem Aufruf von ArrayAccess::offsetGet() resultieren. In diesem Fall muss die Implementierung von ArrayAccess::offsetGet() in der Lage sein per Referenz zurückzugeben, ansonsten wird ein E_NOTICE Fehler generiert.

Rückgabewerte

Kann Werte aller Typen zurückgeben.

Siehe auch

  • ArrayAccess::offsetExists() - Prüft, ob ein Offset-Punkt existiert

ArrayAccess::offsetExists
ArrayAccess::offsetSet
ArrayAccess


Zuweisen eines Wertes an angegebenen Offset

ArrayAccess::offsetGet
ArrayAccess::offsetUnset
ArrayAccess
PHP Manual

ArrayAccess::offsetSet

(PHP 5 >= 5.0.0, PHP 7)

ArrayAccess::offsetSet — Zuweisen eines Wertes an angegebenen Offset

Beschreibung

abstract public void ArrayAccess::offsetSet ( mixed $offset , mixed $value )

Weist dem angegebenen Offset-Punkt einen Wert zu.

Parameter-Liste

offset

Der Offset-Punkt, dem ein Wert zugewiesen werden soll.

value

Der zuzuweisende Wert.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Anmerkungen

Hinweis:

Der offset-Parameter wird auf NULL gesetzt, wenn sonst kein anderer Wert verfügbar ist, siehe auch das folgende Beispiel:

<?php
$arrayaccess[] = "Erster Wert";
$arrayaccess[] = "Zweiter Wert";
print_r($arrayaccess);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => Erster Wert
    [1] => Zweiter Wert
)

Hinweis:

Diese Funktion wird nicht aufgerufen, wenn einer Variable ein Array Offset per Referenz zugewiesen wird oder eine andere indirekte Änderungen eines Array Offsets stattfindet (wenn beispielsweise nur ein Sub-Offset oder eine Sub-Eigenschaft geändert wird). Stattdessen wird ArrayAccess::offsetGet() aufgerufen. Die Operation wird nur erfolgreich sein, wenn jene Methode per Referenz uzrückgibt, was erst seit PHP 5.3.4 möglich ist.

ArrayAccess::offsetGet
ArrayAccess::offsetUnset
ArrayAccess


Löschen eines Offsets

ArrayAccess::offsetSet
Serializable
ArrayAccess
PHP Manual

ArrayAccess::offsetUnset

(PHP 5 >= 5.0.0, PHP 7)

ArrayAccess::offsetUnset — Löschen eines Offsets

Beschreibung

abstract public void ArrayAccess::offsetUnset ( mixed $offset )

Löscht einen Offset-Punkt.

Hinweis:

Diese Methode wird nicht aufgerufen, wenn ein Typecast auf (unset) durchgeführt wird.

Parameter-Liste

offset

Der zu löschende Offset-Punkt.

Rückgabewerte

Es wird kein Wert zurückgegeben.

ArrayAccess::offsetSet
Serializable
ArrayAccess


Das Serializable-Interface

(PHP 5 >= 5.1.0, PHP 7)

Einführung

Interface für benutzerdefiniertes Serialisieren.

Klassen, die dieses Interface implementieren, unterstützen __sleep und __wakeup nicht mehr. Die Methode serialize wird immer aufgerufen, wenn eine Instanz serialisiert werden muss. Dabei wird weder __destruct() aufgerufen noch irgend ein anderer Seiteneffekt erzeugt, es sei denn, ein solcher wird in der Methode serialize explizit erzeugt. Wenn die Daten deserialisiert werden, ist die Klasse bekannt und die passende unserialize()-Methode wird anstelle des Konstruktors __construct() aufgerufen. Falls notwendig, kann der Standardkonstruktor innerhalb von unserialize() aufgerufen werden.

Interface-Übersicht

Serializable {
/* Methoden */
abstract public string serialize ( void )
abstract public void unserialize ( string $serialized )
}

Beispiel #1 Basisnutzung

<?php
class obj implements Serializable {
    private $data;
    public function __construct() {
        $this->data = "Meine private-Daten";
    }
    public function serialize() {
        return serialize($this->data);
    }
    public function unserialize($data) {
        $this->data = unserialize($data);
    }
    public function getData() {
        return $this->data;
    }
}

$obj = new obj;
$ser = serialize($obj);

var_dump($ser);

$newobj = unserialize($ser);

var_dump($newobj->getData());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(42) "C:3:"obj":27:{s:19:"Meine private-Daten";}"
string(15) "Meine private-Daten"

Inhaltsverzeichnis

  • Serializable::serialize — Stringrepräsentation eines Objekts
  • Serializable::unserialize — Erstellt das Objekt
ArrayAccess::offsetUnset
Serializable::serialize
Vordefinierte Interfaces und Klassen


Stringrepräsentation eines Objekts

Serializable
Serializable::unserialize
Serializable
PHP Manual

Serializable::serialize

(PHP 5 >= 5.1.0, PHP 7)

Serializable::serialize — Stringrepräsentation eines Objekts

Beschreibung

abstract public string Serializable::serialize ( void )

Die Funktion sollte die Stringrepräsentation des Objekts zurückgeben.

Hinweis:

Diese Methode agiert wie der Destruktor des Objekts. Die __destruct-Methode wird nach dieser Methode nicht aufgerufen.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt die Stringrepräsentation des Objekts oder NULL zurück.

Fehler/Exceptions

Wirft Exception, wenn andere Typen als String oder NULL zurückgegeben werden.

Siehe auch

  • __sleep()

Serializable
Serializable::unserialize
Serializable


Erstellt das Objekt

Serializable::serialize
Closure
Serializable
PHP Manual

Serializable::unserialize

(PHP 5 >= 5.1.0, PHP 7)

Serializable::unserialize — Erstellt das Objekt

Beschreibung

abstract public void Serializable::unserialize ( string $serialized )

Wird beim Deserialisieren des Objekts aufgerufen.

Hinweis:

Diese Methode agiert wie der Konstruktor des Objekts. Die __construct-Methode wird nach dieser Methode nicht aufgerufen.

Parameter-Liste

serialized

Die das Objekt repräsentierende Zeichenkette.

Rückgabewerte

Der Rückgabewert dieser Methode wird ignoriert.

Siehe auch

  • __wakeup()

Serializable::serialize
Closure
Serializable


The Closure class

(PHP 5 >= 5.3.0, PHP 7)

Einführung

Class used to represent anonymous functions.

Anonymous functions, implemented in PHP 5.3, yield objects of this type. This fact used to be considered an implementation detail, but it can now be relied upon. Starting with PHP 5.4, this class has methods that allow further control of the anonymous function after it has been created.

Besides the methods listed here, this class also has an __invoke method. This is for consistency with other classes that implement calling magic, as this method is not used for calling the function.

Klassenbeschreibung

Closure {
/* Methoden */
private __construct ( void )
public static Closure bind ( Closure $closure , object $newthis [, mixed $newscope = "static" ] )
public Closure bindTo ( object $newthis [, mixed $newscope = "static" ] )
public mixed call ( object $newthis [, mixed $... ] )
}

Inhaltsverzeichnis

  • Closure::__construct — Constructor that disallows instantiation
  • Closure::bind — Duplicates a closure with a specific bound object and class scope
  • Closure::bindTo — Duplicates the closure with a new bound object and class scope
  • Closure::call — Binds and calls the closure
Serializable::unserialize
Closure::__construct
Vordefinierte Interfaces und Klassen


Constructor that disallows instantiation

Closure
Closure::bind
Closure
PHP Manual

Closure::__construct

(PHP 5 >= 5.3.0, PHP 7)

Closure::__construct — Constructor that disallows instantiation

Beschreibung

private Closure::__construct ( void )

This method exists only to disallow instantiation of the Closure class. Objects of this class are created in the fashion described on the anonymous functions page.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

This method has no return value; it simply emits an error (of type E_RECOVERABLE_ERROR).

Siehe auch

  • Anonymous functions
Closure
Closure::bind
Closure


Duplicates a closure with a specific bound object and class scope

Closure::__construct
Closure::bindTo
Closure
PHP Manual

Closure::bind

(PHP 5 >= 5.4.0, PHP 7)

Closure::bind — Duplicates a closure with a specific bound object and class scope

Beschreibung

public static Closure Closure::bind ( Closure $closure , object $newthis [, mixed $newscope = "static" ] )

This method is a static version of Closure::bindTo(). See the documentation of that method for more information.

Parameter-Liste

closure

The anonymous functions to bind.

newthis

The object to which the given anonymous function should be bound, or NULL for the closure to be unbound.

newscope

The class scope to which associate the closure is to be associated, or 'static' to keep the current one. If an object is given, the type of the object will be used instead. This determines the visibility of protected and private methods of the bound object. It is not allowed to pass (an object of) an internal class as this parameter.

Rückgabewerte

Returns a new Closure object Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
7.0.0 | newscope can not be (an object of) an internal class anymore, what was possible prior to this version.

Beispiele

Beispiel #1 Closure::bind() example

<?php
class A {
    private static $sfoo = 1;
    private $ifoo = 2;
}
$cl1 = static function() {
    return A::$sfoo;
};
$cl2 = function() {
    return $this->ifoo;
};

$bcl1 = Closure::bind($cl1, null, 'A');
$bcl2 = Closure::bind($cl2, new A(), 'A');
echo $bcl1(), "\n";
echo $bcl2(), "\n";
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

1
2

Siehe auch

  • Anonymous functions
  • Closure::bindTo() - Duplicates the closure with a new bound object and class scope
Closure::__construct
Closure::bindTo
Closure


Duplicates the closure with a new bound object and class scope

Closure::bind
Closure::call
Closure
PHP Manual

Closure::bindTo

(PHP 5 >= 5.4.0, PHP 7)

Closure::bindTo — Duplicates the closure with a new bound object and class scope

Beschreibung

public Closure Closure::bindTo ( object $newthis [, mixed $newscope = "static" ] )

Create and return a new anonymous function with the same body and bound variables as this one, but possibly with a different bound object and a new class scope.

The “bound object” determines the value $this will have in the function body and the “class scope” represents a class which determines which private and protected members the anonymous function will be able to access. Namely, the members that will be visible are the same as if the anonymous function were a method of the class given as value of the newscope parameter.

Static closures cannot have any bound object (the value of the parameter newthis should be NULL), but this function can nevertheless be used to change their class scope.

This function will ensure that for a non-static closure, having a bound instance will imply being scoped and vice-versa. To this end, non-static closures that are given a scope but a NULL instance are made static and non-static non-scoped closures that are given a non-null instance are scoped to an unspecified class.

Hinweis:

If you only want to duplicate the anonymous functions, you can use cloning instead.

Parameter-Liste

newthis

The object to which the given anonymous function should be bound, or NULL for the closure to be unbound.

newscope

The class scope to which associate the closure is to be associated, or 'static' to keep the current one. If an object is given, the type of the object will be used instead. This determines the visibility of protected and private methods of the bound object.

Rückgabewerte

Returns the newly created Closure object Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Closure::bindTo() example

<?php

class A {
    function __construct($val) {
        $this->val = $val;
    }
    function getClosure() {
        //returns closure bound to this object and scope
        return function() { return $this->val; };
    }
}

$ob1 = new A(1);
$ob2 = new A(2);

$cl = $ob1->getClosure();
echo $cl(), "\n";
$cl = $cl->bindTo($ob2);
echo $cl(), "\n";
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

1
2

Siehe auch

  • Anonymous functions
  • Closure::bind() - Duplicates a closure with a specific bound object and class scope
Closure::bind
Closure::call
Closure


Binds and calls the closure

Closure::bindTo
Generator
Closure
PHP Manual

Closure::call

(PHP 7)

Closure::call — Binds and calls the closure

Beschreibung

public mixed Closure::call ( object $newthis [, mixed $... ] )

Temporarily binds the closure to newthis, and calls it with any given parameters.

Parameter-Liste

newthis

The object to bind the closure to for the duration of the call.

...

Zero or more parameters, which will be given as parameters to the closure.

Rückgabewerte

Returns the return value of the closure.

Beispiele

Beispiel #1 Closure::call() example

<?php
class Value {
    protected $value;

    public function __construct($value) {
        $this->value = $value;
    }

    public function getValue() {
        return $this->value;
    }
}

$three = new Value(3);
$four = new Value(4);

$closure = function ($delta) { var_dump($this->getValue() + $delta); };
$closure->call($three, 4);
$closure->call($four, 4);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(7)
int(8)
Closure::bindTo
Generator
Closure


Die Generator Klasse

(PHP 5 >= 5.5.0, PHP 7)

Einführung

Generator Objekte werden von Generatoren zurückgeliefert.

Achtung

Generator Objekte können nicht durch new instanziiert werden.

Klassenbeschreibung

Generator implements Iterator {
/* Methoden */
public mixed current ( void )
public mixed getReturn ( void )
public mixed key ( void )
public void next ( void )
public void rewind ( void )
public mixed send ( mixed $value )
public mixed throw ( Throwable $exception )
public bool valid ( void )
public void __wakeup ( void )
}

Inhaltsverzeichnis

  • Generator::current — Get the yielded value
  • Generator::getReturn — Get the return value of a generator
  • Generator::key — Get the yielded key
  • Generator::next — Resume execution of the generator
  • Generator::rewind — Rewind the iterator
  • Generator::send — Send a value to the generator
  • Generator::throw — Throw an exception into the generator
  • Generator::valid — Check if the iterator has been closed
  • Generator::__wakeup — Serialize callback
Closure::call
Generator::current
Vordefinierte Interfaces und Klassen


Get the yielded value

Generator
Generator::getReturn
Generator
PHP Manual

Generator::current

(PHP 5 >= 5.5.0, PHP 7)

Generator::current — Get the yielded value

Beschreibung

public mixed Generator::current ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the yielded value.

Generator
Generator::getReturn
Generator


Get the return value of a generator

Generator::current
Generator::key
Generator
PHP Manual

Generator::getReturn

(PHP 7)

Generator::getReturn — Get the return value of a generator

Beschreibung

public mixed Generator::getReturn ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the generator's return value once it has finished executing.

Beispiele

Beispiel #1 Generator::getReturn() example

<?php

$gen = (function() {
    yield 1;
    yield 2;

    return 3;
})();

foreach ($gen as $val) {
    echo $val, PHP_EOL;
}

echo $gen->getReturn(), PHP_EOL;

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1
2
3

Generator::current
Generator::key
Generator


Get the yielded key

Generator::getReturn
Generator::next
Generator
PHP Manual

Generator::key

(PHP 5 >= 5.5.0, PHP 7)

Generator::key — Get the yielded key

Beschreibung

public mixed Generator::key ( void )

Gets the key of the yielded value.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the yielded key.

Beispiele

Beispiel #1 Generator::key() example

<?php

function Gen()
{
    yield 'key' => 'value';
}

$gen = Gen();

echo "{$gen->key()} => {$gen->current()}";

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

key => value

Generator::getReturn
Generator::next
Generator


Resume execution of the generator

Generator::key
Generator::rewind
Generator
PHP Manual

Generator::next

(PHP 5 >= 5.5.0, PHP 7)

Generator::next — Resume execution of the generator

Beschreibung

public void Generator::next ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Generator::key
Generator::rewind
Generator


Rewind the iterator

Generator::next
Generator::send
Generator
PHP Manual

Generator::rewind

(PHP 5 >= 5.5.0, PHP 7)

Generator::rewind — Rewind the iterator

Beschreibung

public void Generator::rewind ( void )

If iteration has already begun, this will throw an exception.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Generator::next
Generator::send
Generator


Send a value to the generator

Generator::rewind
Generator::throw
Generator
PHP Manual

Generator::send

(PHP 5 >= 5.5.0, PHP 7)

Generator::send — Send a value to the generator

Beschreibung

public mixed Generator::send ( mixed $value )

Sends the given value to the generator as the result of the current yield expression and resumes execution of the generator.

If the generator is not at a yield expression when this method is called, it will first be let to advance to the first yield expression before sending the value. As such it is not necessary to "prime" PHP generators with a Generator::next() call (like it is done in Python).

Parameter-Liste

value

Value to send into the generator. This value will be the return value of the yield expression the generator is currently at.

Rückgabewerte

Returns the yielded value.

Beispiele

Beispiel #1 Using Generator::send() to inject values

<?php
function printer() {
    echo "I'm printer!".PHP_EOL;
    while (true) {
        $string = yield;
        echo $string.PHP_EOL;
    }
}

$printer = printer();
$printer->send('Hello world!');
$printer->send('Bye world!');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

I'm printer!
Hello world!
Bye world!

Generator::rewind
Generator::throw
Generator


Throw an exception into the generator

Generator::send
Generator::valid
Generator
PHP Manual

Generator::throw

(PHP 5 >= 5.5.0, PHP 7)

Generator::throw — Throw an exception into the generator

Beschreibung

public mixed Generator::throw ( Throwable $exception )

Throws an exception into the generator and resumes execution of the generator. The behavior will be the same as if the current yield expression was replaced with a throw $exception statement.

If the generator is already closed when this method is invoked, the exception will be thrown in the caller's context instead.

Parameter-Liste

exception

Exception to throw into the generator.

Rückgabewerte

Returns the yielded value.

Changelog

Version | Beschreibung
7.0.0 | The exception parameter also accepts Throwable now.

Beispiele

Beispiel #1 Throwing an exception into a generator

<?php
function gen() {
    echo "Foo\n";
    try {
        yield;
    } catch (Exception $e) {
        echo "Exception: {$e->getMessage()}\n";
    }
    echo "Bar\n";
}

$gen = gen();
$gen->rewind();
$gen->throw(new Exception('Test'));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Foo
Exception: Test
Bar

Generator::send
Generator::valid
Generator


Check if the iterator has been closed

Generator::throw
Generator::__wakeup
Generator
PHP Manual

Generator::valid

(PHP 5 >= 5.5.0, PHP 7)

Generator::valid — Check if the iterator has been closed

Beschreibung

public bool Generator::valid ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns FALSE if the iterator has been closed. Otherwise returns TRUE.

Generator::throw
Generator::__wakeup
Generator


Serialize callback

Generator::valid
Kontextoptionen und -parameter
Generator
PHP Manual

Generator::__wakeup

(PHP 5 >= 5.5.0, PHP 7)

Generator::__wakeup — Serialize callback

Beschreibung

public void Generator::__wakeup ( void )

Throws an exception as generators can't be serialized.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Generator::valid
Kontextoptionen und -parameter
Generator


Kontextoptionen und -parameter

PHP bietet eine Menge von Kontextoptionen und -parametern, die in Zusammenhang mit allen Dateisystem- und Streamwrappern genutzt werden können. Ein Kontext wird mit stream_context_create() erzeugt. Optionen werden mit stream_context_set_option() gesetzt und Parameter mit stream_context_set_params().

Inhaltsverzeichnis

  • Socket context options — Socket context option listing
  • HTTP context options — HTTP context option listing
  • FTP-Kontextoptionen — Liste der FTP-Kontextoptionen
  • SSL-Kontext-Optionen — Auflistung der Optionen für SSL-Kontexte
  • CURL Kontextoptionen — Liste der CURL Kontextoptionen
  • Phar Kontextoptionen — Liste der Phar Kontextoptionen
  • MongoDB context options — MongoDB context option listing
  • Kontextparameter — Liste der Kontextparameter
Generator::__wakeup
Socket context options
Sprachreferenz


Socket context option listing

Kontextoptionen und -parameter
HTTP context options
Kontextoptionen und -parameter
PHP Manual

Socket context options

Socket context options — Socket context option listing

Beschreibung

Socket context options are available for all wrappers that work over sockets, like tcp, http and ftp.

Optionen

bindto

Used to specify the IP address (either IPv4 or IPv6) and/or the port number that PHP will use to access the network. The syntax is ip:port for IPv4 addresses, and [ip]:port for IPv6 addresses. Setting the IP or the port to 0 will let the system choose the IP and/or port.

Hinweis:

As FTP creates two socket connections during normal operation, the port number cannot be specified using this option.

backlog

Used to limit the number of outstanding connections in the socket's listen queue.

Hinweis:

This is only applicable to stream_socket_server().

ipv6_v6only

Overrides the OS default regarding mapping IPv4 into IPv6.

Hinweis:

This is important in particular when trying to listen on IPv4 addresses separately while there exists a binding on [::].

This is only applicable to stream_socket_server().

so_reuseport

Allows multiple bindings to a same ip:port pair, even from separate processes.

Hinweis:

This is only applicable to stream_socket_server().

so_broadcast

Enables sending and receiving data to/from broadcast addresses.

Hinweis:

This is only applicable to stream_socket_server().

Changelog

Version | Beschreibung
7.0.1 | Added ipv6_v6only.
7.0.0 | Added so_broadcast.
7.0.0 | Added so_reuseport.
5.3.3 | Added backlog.
5.1.0 | Added bindto.

Beispiele

Beispiel #1 Basic bindto usage example

<?php
// connect to the internet using the '192.168.0.100' IP
$opts = array(
    'socket' => array(
        'bindto' => '192.168.0.100:0',
    ),
);

// connect to the internet using the '192.168.0.100' IP and port '7000'
$opts = array(
    'socket' => array(
        'bindto' => '192.168.0.100:7000',
    ),
);

// connect to the internet using the '2001:db8::1' IPv6 address
// and port '7000'
$opts = array(
    'socket' => array(
        'bindto' => '[2001:db8::1]:7000',
    ),
);

// connect to the internet using port '7000'
$opts = array(
    'socket' => array(
        'bindto' => '0:7000',
    ),
);

// create the context...
$context = stream_context_create($opts);

// ...and use it to fetch the data
echo file_get_contents('http://www.example.com', false, $context);

?>

Kontextoptionen und -parameter
HTTP context options
Kontextoptionen und -parameter


HTTP context option listing

Socket context options
FTP-Kontextoptionen
Kontextoptionen und -parameter
PHP Manual

HTTP context options

HTTP context options — HTTP context option listing

Beschreibung

Context options for http:// and https:// transports.

Optionen

method string

GET, POST, or any other HTTP method supported by the remote server.

Defaults to GET.

header string

Additional headers to be sent during request. Values in this option will override other values (such as User-agent:, Host:, and Authentication:).

user_agent string

Value to send with User-Agent: header. This value will only be used if user-agent is not specified in the header context option above.

By default the user_agent php.ini setting is used.

content string

Additional data to be sent after the headers. Typically used with POST or PUT requests.

proxy string

URI specifying address of proxy server. (e.g. tcp://proxy.example.com:5100).

request_fulluri boolean

When set to TRUE, the entire URI will be used when constructing the request. (i.e. GET http://www.example.com/path/to/file.html HTTP/1.0). While this is a non-standard request format, some proxy servers require it.

Defaults to FALSE.

max_redirects integer

The max number of redirects to follow. Value 1 or less means that no redirects are followed.

Defaults to 20.

protocol_version float

HTTP protocol version.

Defaults to 1.0.

timeout float

Read timeout in seconds, specified by a float (e.g. 10.5).

By default the default_socket_timeout php.ini setting is used.

ignore_errors boolean

Fetch the content even on failure status codes.

Defaults to FALSE

Changelog

Version | Beschreibung
5.3.0 | Added ignore_errors.
5.2.1 | Added timeout.
5.1.0 | Added HTTPS proxying through HTTP proxies.
5.1.0 | Added max_redirects.
5.1.0 | Added protocol_version.

Beispiele

Beispiel #1 Fetch a page and send POST data

<?php

$postdata = http_build_query(
    array(
        'var1' => 'some content',
        'var2' => 'doh'
    )
);

$opts = array('http' =>
    array(
        'method'  => 'POST',
        'header'  => 'Content-type: application/x-www-form-urlencoded',
        'content' => $postdata
    )
);

$context  = stream_context_create($opts);

$result = file_get_contents('http://example.com/submit.php', false, $context);

?>

Anmerkungen

Hinweis: Underlying socket stream context options
Additional context options may be supported by the underlying transport For http:// streams, refer to context options for the tcp:// transport. For https:// streams, refer to context options for the ssl:// transport.

Siehe auch

  • Socket context options
  • SSL-Kontext-Optionen

Socket context options
FTP-Kontextoptionen
Kontextoptionen und -parameter


Liste der FTP-Kontextoptionen

HTTP context options
SSL-Kontext-Optionen
Kontextoptionen und -parameter
PHP Manual

FTP-Kontextoptionen

FTP-Kontextoptionen — Liste der FTP-Kontextoptionen

Beschreibung

Kontextoptionen für ftp:// und ftps://.

Optionen

overwrite boolean

Gestattet das Überschreiben bereits existierender Dateien auf einem Server. Hat nur Auswirkungen auf den Schreibmodus (Upload).

Die Standardeinstellung ist FALSE.

resume_pos integer

Dateioffset von dem aus die Übertragung begonnen werden soll. Hat nur Auswirkungen auf den Lesemodus (Download).

Standardwert ist 0 (Dateianfang).

proxy string

Leitet FTP-Anfragen über einen Proxyserver um. Hat nur Auswirkungen auf Lesezugriffe. Beispiel: tcp://squid.example.com:8000.

Changelog

Version | Beschreibung
5.1.0 | proxy wurde hinzugefügt.
5.0.0 | overwrite und resume_pos wurden hinzugefügt.

Anmerkungen

Hinweis: Kontextoptionen des zugrundeliegenden Socket Streams
Der zugrundeliegende Transportmechanismus kann weitere Optionen zur Verfügung stellen. Für ftp:// Streams siehe hierzu die Optionen des tcp://-Mechanismus, für ftps:// Streams stehen entsprechend die Optionen des ssl://-Mechanismus zur Verfügung.

Siehe auch

  • ftp://
  • Socket context options
  • SSL-Kontext-Optionen

HTTP context options
SSL-Kontext-Optionen
Kontextoptionen und -parameter


Auflistung der Optionen für SSL-Kontexte

FTP-Kontextoptionen
CURL Kontextoptionen
Kontextoptionen und -parameter
PHP Manual

SSL-Kontext-Optionen

SSL-Kontext-Optionen — Auflistung der Optionen für SSL-Kontexte

Beschreibung

Kontextoptionen für die ssl:// und tls:// Übermittlung.

Optionen

peer_name string

Zu verwendender Peer-Name. Wird dieser Wert nicht gesetzt, so wird ein Name anhand des Hostnamen erraten, sobald der Stream geöffnet wird.

verify_peer boolean

Verifizierung des verwendeten SSL-Zertifikats voraussetzen.

Standardmäßig TRUE.

verify_peer_name boolean

Erfordere die Verfikation des Peernamens.

Standardmäßig TRUE.

allow_self_signed boolean

Selbst signierte Zerifikate erlauben. Setzt verify_peer voraus.

Standardmäßig FALSE

cafile string

Speicherort der Datei der Zertifizierungsstelle (CA) auf dem lokalen Dateisystem, welche im Zusammenhang mit der verify_peer -Option verwendet werden soll, um die Identität der Gegenstelle zu authentifizieren.

capath string

Falls cafile nicht angegeben wurde oder dort das Zertifikat nicht gefunden wurde, so wird das durch capath angegebene Verzeichnis nach einem passenden Zertifikat durchsucht. capath muss ein korrekt gehashtes Zertifikatsverzeichnis sein.

local_cert string

Pfad zur lokalen Zertifikatsdatei im Dateisystem. Dies muss eine im PEM-Format gespeicherte Datei sein welche das Zertifikat und den privaten Schlüssel enthält. Optional kann dies die Kette an Herausgeberzertifikaten enthalten.

passphrase string

Passphrase mit der die local_cert-Datei gespeichert wurde.

CN_match string

Der erwartete Common Name. PHP wird eine eingeschränkte Prüfung auf Wildcards vornehmen. Wenn der Common Name nicht diesem Wert entspricht, so wird der Verbindungsaufbau fehlschlagen.

Hinweis: Diese Option ist seit PHP 5.6.0 zugunsten von peer_name veraltet.

verify_depth integer

Abbruch, wenn die Zertifikatskette zu tief ist.

Standardmäßig keine Prüfung.

ciphers string

Setzt die Liste der verfügbaren Verschlüsselungsalgorithmen. Das Format dieser Zeichenkette wird in » ciphers(1) beschrieben.

Standardmäßig auf DEFAULT gesetzt

capture_peer_cert boolean

Falls dies auf TRUE gesetzt ist, so wird die Kontextoption peer_certificate angelegt, welche das Zertifikat der Gegenstelle enthält.

capture_peer_cert_chain boolean

Falls dies auf TRUE gesetzt ist, so wird die Kontextoption peer_certificate_chain angelegt, welche die Zertifikatskette enthält.

SNI_enabled boolean

Falls dies auf TRUE gesetzt wird, so wird Server Name Indication eingeschaltet. Die Verwendung von SNI erlaubt die Benutzung von mehreren Zertifikaten unter der gleichen IP-Adresse.

SNI_server_name string

Ist dies gesetzt, so wird der angegebene Wert als der Servername für die Server Name Indication verwendet. Ist dieser Wert nicht angegeben, so wird der Server Name anhand des Hostnamens beim Öffnen des Streams geraten.

Hinweis: Diese Option ist seit PHP 5.6.0 zugunsten von peer_name veraltet.

disable_compression boolean

Wenn dies gesetzt wird, so wird TLS-Komprimierung ausgeschaltet. Dies kann den Angriffsvektor für CRIME-Angriffe umgehen.

peer_fingerprint string | array

Beendet die Verbindung, wenn der Fingerabdruck des entfernten Zertifikats nicht dem angegebenen Hashwert entspricht.

Wird ein String verwendet, so wird der zu verwendende Hashalgorithmus anhand der Länge der Zeichenkette ermittelt, entweder "md5" (32) oder "sha1" (40).

Wird ein Array verwendet, so geben die Schlüsselnamen den Namen des Hashalgorithmus an und jeder zugehörige Wert entspricht dem erwarteten Fingerabdruck.

Changelog

Version | Beschreibung
5.6.0 | Die Parameter peer_fingerprint und verify_peer_name wurden hinzugefügt. Der Standardwert für verify_peer wurde zu TRUE geändert.
5.4.13 | disable_compression hinzugefügt. Benötigt OpenSSL >= 1.0.0.
5.3.2 | SNI_enabled und SNI_server_name hinzugefügt.
5.0.0 | capture_peer_cert, capture_peer_chain und ciphers hinzugefügt.

Anmerkungen

Hinweis: Weil ssl:// die den Wrappern https:// und ftps:// zugrunde liegende Übertragungsschicht ist, können alle Optionen die für ssl:// verwendet werden können ebenfalls bei https:// und ftps:// angewendet werden.

Hinweis: Damit SNI (Server Name Indication) verfügbar ist muss PHP mit OpenSSL 0.9.8j oder neuer kompiliert sein. Die Konstante OPENSSL_TLSEXT_SERVER_NAME kann zur Prüfung, ob SNI verfügbar ist, herangezogen werden.

Siehe auch

  • Socket context options

FTP-Kontextoptionen
CURL Kontextoptionen
Kontextoptionen und -parameter


Liste der CURL Kontextoptionen

SSL-Kontext-Optionen
Phar Kontextoptionen
Kontextoptionen und -parameter
PHP Manual

CURL Kontextoptionen

CURL Kontextoptionen — Liste der CURL Kontextoptionen

Beschreibung

Die CURL Kontextoptionen sind verfügbar wenn die CURL-Erweiterung mit Hilfe der configure-Option --with-curlwrappers kompiliert wurde.

Optionen

method string

GET, POST, oder jede andere vom angesprochenen Server unterstützte HTTP-Methode.

Vorgabewert ist GET.

header string

Additional headers to be sent during request. Values in this option will override other values (such as User-agent:, Host:, and Authentication:).

user_agent string

Der in der User-Agent: Kopfzeile zu übermittelnde Wert

Vorgabewert ist die php.ini-Einstellung user_agent.

content string

Additional data to be sent after the headers. This option is not used for GET or HEAD requests.

proxy string

URI specifying address of proxy server. (e.g. tcp://proxy.example.com:5100).

max_redirects integer

The max number of redirects to follow. Value 1 or less means that no redirects are followed.

Defaults to 20.

curl_verify_ssl_host boolean

Verify the host.

Defaults to FALSE

Hinweis:

This option is available for both the http and ftp protocol wrappers.

curl_verify_ssl_peer boolean

Require verification of SSL certificate used.

Defaults to FALSE

Hinweis:

This option is available for both the http and ftp protocol wrappers.

Beispiele

Beispiel #1 Fetch a page and send POST data

<?php

$postdata = http_build_query(
    array(
        'var1' => 'some content',
        'var2' => 'doh'
    )
);

$opts = array('http' =>
    array(
        'method'  => 'POST',
        'header'  => 'Content-type: application/x-www-form-urlencoded',
        'content' => $postdata
    )
);

$context = stream_context_create($opts);

$result = file_get_contents('http://example.com/submit.php', false, $context);

?>

Siehe auch

  • Socket context options

SSL-Kontext-Optionen
Phar Kontextoptionen
Kontextoptionen und -parameter


Liste der Phar Kontextoptionen

CURL Kontextoptionen
MongoDB context options
Kontextoptionen und -parameter
PHP Manual

Phar Kontextoptionen

Phar Kontextoptionen — Liste der Phar Kontextoptionen

Beschreibung

Kontextoptionen des phar:// Wrappers.

Optionen

compress int

Eine der Phar Kompressionskonstanten.

metadata mixed

Phar Metadaten, siehe auch Phar::setMetadata().

Siehe auch

  • phar://
  • Phar Stream Wrapper

CURL Kontextoptionen
MongoDB context options
Kontextoptionen und -parameter


MongoDB context option listing

Phar Kontextoptionen
Kontextparameter
Kontextoptionen und -parameter
PHP Manual

MongoDB context options

MongoDB context options — MongoDB context option listing

Beschreibung

Context options for mongodb:// transports.

Optionen

log_cmd_insert callable

A callback function called when inserting a document, see log_cmd_insert().

log_cmd_delete callable

A callback function called when deleting a document, see log_cmd_delete().

log_cmd_update callable

A callback function called when updating a document, see log_cmd_update().

log_write_batch callable

A callback function called when executing a Write Batch, see log_write_batch().

log_reply callable

A callback function called when reading a reply from MongoDB, see log_reply().

log_getmore callable

A callback function called when retrieving more results from a MongoDB cursor, see log_getmore().

log_killcursor callable

A callback function called executing a killcursor opcode, see log_killcursor().

Changelog

Version | Beschreibung
pecl/mongo 1.5.0 | Added Write API Context options

Siehe auch

  • Socket context options
  • SSL-Kontext-Optionen

Phar Kontextoptionen
Kontextparameter
Kontextoptionen und -parameter


Liste der Kontextparameter

MongoDB context options
Unterstützte Protokolle und Wrapper
Kontextoptionen und -parameter
PHP Manual

Kontextparameter

Kontextparameter — Liste der Kontextparameter

Beschreibung

Diese Parameter eines Kontextes können mit Hilfe der Funktion stream_context_set_params() gesetzt werden.

Optionen

notification callable

Ein callable, der bei dem Auftreten eines Ereignisses auf einem Stream aufgerufen wird.

Für weitere Informationen siehe auch stream_notification_callback.

MongoDB context options
Unterstützte Protokolle und Wrapper
Kontextoptionen und -parameter


Unterstützte Protokolle und Wrapper

PHP bietet viele integrierte Wrapper für verschiedene Protokolle im URL-Stil auf die so mit Dateisystem-Funktionen wie fopen(), copy(), file_exists() und filesize() zugegriffen werden. Zusätzlich zu diesen eingebauten Wrappern ist es auch möglich eigene mit Hilfe der stream_wrapper_register() Funktion hinzuzufügen.

Hinweis: Die zur Beschreibung eines Wrappers genutzte URL-Syntax unterstützt nur URLs der Form schema://... mit zwei Schrägstrichen. Die schema:/ und schema: Varianten werden nicht unterstützt.

Inhaltsverzeichnis

  • file:// — Accessing local filesystem
  • http:// — Accessing HTTP(s) URLs
  • ftp:// — Accessing FTP(s) URLs
  • php:// — Accessing various I/O streams
  • zlib:// — Compression Streams
  • data:// — Data (RFC 2397)
  • glob:// — Find pathnames matching pattern
  • phar:// — PHP Archive
  • ssh2:// — Secure Shell 2
  • rar:// — RAR
  • ogg:// — Audio streams
  • expect:// — Process Interaction Streams
Kontextparameter
file://
Sprachreferenz


Accessing local filesystem

Unterstützte Protokolle und Wrapper
http://
Unterstützte Protokolle und Wrapper
PHP Manual

file://

file:// — Accessing local filesystem

Beschreibung

Filesystem is the default wrapper used with PHP and represents the local filesystem. When a relative path is specified (a path which does not begin with /, \, \\, or a Windows drive letter) the path provided will be applied against the current working directory. In many cases this is the directory in which the script resides unless it has been changed. Using the CLI sapi, this defaults to the directory from which the script was called.

With some functions, such as fopen() and file_get_contents(), include_path may be optionally searched for relative paths as well.

Verwendung

  • /path/to/file.ext
  • relative/path/to/file.ext
  • fileInCwd.ext
  • C:/path/to/winfile.ext
  • C:\path\to\winfile.ext
  • \\smbserver\share\path\to\winfile.ext
  • file:///path/to/file.ext

Optionen

Wrapper Summary
Attribute | Supported
Restricted by allow_url_fopen | No
Allows Reading | Yes
Allows Writing | Yes
Allows Appending | Yes
Allows Simultaneous Reading and Writing | Yes
Supports stat() | Yes
Supports unlink() | Yes
Supports rename() | Yes
Supports mkdir() | Yes
Supports rmdir() | Yes

Changelog

Version | Beschreibung
5.0.0 | Added file://.

Unterstützte Protokolle und Wrapper
http://
Unterstützte Protokolle und Wrapper


Accessing HTTP(s) URLs

file://
ftp://
Unterstützte Protokolle und Wrapper
PHP Manual

http://

https://

http:// -- https:// — Accessing HTTP(s) URLs

Beschreibung

Allows read-only access to files/resources via HTTP 1.0, using the HTTP GET method. A Host: header is sent with the request to handle name-based virtual hosts. If you have configured a user_agent string using your php.ini file or the stream context, it will also be included in the request.

The stream allows access to the body of the resource; the headers are stored in the $http_response_header variable.

If it's important to know the URL of the resource where your document came from (after all redirects have been processed), you'll need to process the series of response headers returned by the stream.

The from directive will be used for the From: header if set and not overwritten by the Kontextoptionen und -parameter.

Verwendung

  • http://example.com
  • http://example.com/file.php?var1=val1&var2=val2
  • http://user:password@example.com
  • https://example.com
  • https://example.com/file.php?var1=val1&var2=val2
  • https://user:password@example.com

Optionen

Wrapper Summary
Attribute | Supported
Restricted by allow_url_fopen | Yes
Allows Reading | Yes
Allows Writing | No
Allows Appending | No
Allows Simultaneous Reading and Writing | N/A
Supports stat() | No
Supports unlink() | No
Supports rename() | No
Supports mkdir() | No
Supports rmdir() | No

Changelog

Version | Beschreibung
4.3.7 | Detect buggy IIS servers to avoid "SSL: Fatal Protocol Error" errors.
4.3.0 | Added https://.
4.0.5 | Added support for redirects.

Beispiele

Beispiel #1 Detecting which URL we ended up on after redirects

<?php
$url = 'http://www.example.com/redirecting_page.php';

$fp = fopen($url, 'r');

$meta_data = stream_get_meta_data($fp);
foreach ($meta_data['wrapper_data'] as $response) {

    /* Were we redirected? */
    if (strtolower(substr($response, 0, 10)) == 'location: ') {

        /* update $url with where we were redirected to */
        $url = substr($response, 10);
    }

}

?>

Anmerkungen

Hinweis: HTTPS is only supported when the openssl extension is enabled.

HTTP connections are read-only; writing data or copying files to an HTTP resource is not supported.

Sending POST and PUT requests, for example, can be done with the help of HTTP Contexts.

Siehe auch

  • HTTP context options
  • $http_response_header
  • stream_get_meta_data() - Retrieves header/meta data from streams/file pointers
file://
ftp://
Unterstützte Protokolle und Wrapper


Accessing FTP(s) URLs

http://
php://
Unterstützte Protokolle und Wrapper
PHP Manual

ftp://

ftps://

ftp:// -- ftps:// — Accessing FTP(s) URLs

Beschreibung

Allows read access to existing files and creation of new files via FTP. If the server does not support passive mode ftp, the connection will fail.

You can open files for either reading or writing, but not both simultaneously. If the remote file already exists on the ftp server and you attempt to open it for writing but have not specified the context option overwrite, the connection will fail. If you need to overwrite existing files over ftp, specify the overwrite option in the context and open the file for writing. Alternatively, you can use the FTP extension.

If you have set the from directive in php.ini, then this value will be sent as the anonymous FTP password.

Verwendung

  • ftp://example.com/pub/file.txt
  • ftp://user:password@example.com/pub/file.txt
  • ftps://example.com/pub/file.txt
  • ftps://user:password@example.com/pub/file.txt

Optionen

Wrapper Summary
Attribute | PHP 4 | PHP 5
Restricted by allow_url_fopen | Yes | Yes
Allows Reading | Yes | Yes
Allows Writing | Yes (new files only) | Yes (new files/existing files with overwrite)
Allows Appending | No | Yes
Allows Simultaneous Reading and Writing | No | No
Supports stat() | No | As of PHP 5.0.0: filesize(), filetype(), file_exists(), is_file(), and is_dir() elements only. As of PHP 5.1.0: filemtime().
Supports unlink() | No | Yes
Supports rename() | No | Yes
Supports mkdir() | No | Yes
Supports rmdir() | No | Yes

Changelog

Version | Beschreibung
4.3.0 | Added ftps://.

Anmerkungen

Hinweis:

FTPS is only supported when the openssl extension is enabled.

If the server does not support SSL, then the connection falls back to regular unencrypted ftp.

Hinweis: Appending
As of PHP 5.0.0 files may be appended via the ftp:// URL wrapper. In prior versions, attempting to append to a file via ftp:// will result in failure.

Siehe auch

  • FTP-Kontextoptionen
http://
php://
Unterstützte Protokolle und Wrapper


Accessing various I/O streams

ftp://
zlib://
Unterstützte Protokolle und Wrapper
PHP Manual

php://

php:// — Accessing various I/O streams

Beschreibung

PHP provides a number of miscellaneous I/O streams that allow access to PHP's own input and output streams, the standard input, output and error file descriptors, in-memory and disk-backed temporary file streams, and filters that can manipulate other file resources as they are read from and written to.

php://stdin, php://stdout and php://stderr

php://stdin, php://stdout and php://stderr allow direct access to the corresponding input or output stream of the PHP process. The stream references a duplicate file descriptor, so if you open php://stdin and later close it, you close only your copy of the descriptor-the actual stream referenced by STDIN is unaffected. Note that PHP exhibited buggy behavior in this regard until PHP 5.2.1. It is recommended that you simply use the constants STDIN, STDOUT and STDERR instead of manually opening streams using these wrappers.

php://stdin is read-only, whereas php://stdout and php://stderr are write-only.

php://input

php://input is a read-only stream that allows you to read raw data from the request body. In the case of POST requests, it is preferable to use php://input instead of $HTTP_RAW_POST_DATA as it does not depend on special php.ini directives. Moreover, for those cases where $HTTP_RAW_POST_DATA is not populated by default, it is a potentially less memory intensive alternative to activating always_populate_raw_post_data. php://input is not available with enctype="multipart/form-data".

Hinweis: Prior to PHP 5.6, a stream opened with php://input could only be read once; the stream did not support seek operations. However, depending on the SAPI implementation, it may be possible to open another php://input stream and restart reading. This is only possible if the request body data has been saved. Typically, this is the case for POST requests, but not other request methods, such as PUT or PROPFIND.

php://output

php://output is a write-only stream that allows you to write to the output buffer mechanism in the same way as print and echo.

php://fd

php://fd allows direct access to the given file descriptor. For example, php://fd/3 refers to file descriptor 3.

php://memory and php://temp

php://memory and php://temp are read-write streams that allow temporary data to be stored in a file-like wrapper. The only difference between the two is that php://memory will always store its data in memory, whereas php://temp will use a temporary file once the amount of data stored hits a predefined limit (the default is 2 MB). The location of this temporary file is determined in the same way as the sys_get_temp_dir() function.

The memory limit of php://temp can be controlled by appending /maxmemory:NN, where NN is the maximum amount of data to keep in memory before using a temporary file, in bytes.

php://filter

php://filter is a kind of meta-wrapper designed to permit the application of filters to a stream at the time of opening. This is useful with all-in-one file functions such as readfile(), file(), and file_get_contents() where there is otherwise no opportunity to apply a filter to the stream prior the contents being read.

The php://filter target takes the following parameters as part of its path. Multiple filter chains can be specified on one path. Please refer to the examples for specifics on using these parameters.

php://filter parameters
Name | Description
resource=<stream to be filtered> | This parameter is required. It specifies the stream that you would like to filter.
read=<filter list to apply to read chain> | This parameter is optional. One or more filter names can be provided here, separated by the pipe character (|).
write=<filter list to apply to write chain> | This parameter is optional. One or more filter names can be provided here, separated by the pipe character (|).
<filter list to apply to both chains> | Any filter lists which are not prefixed by read= or write= will be applied to both the read and write chains as appropriate.

Optionen

Wrapper Summary (for php://filter, refer to the summary of the wrapper being filtered)
Attribute | Supported
Restricted by allow_url_fopen | No
Restricted by allow_url_include | php://input, php://stdin, php://memory and php://temp only.
Allows Reading | php://stdin, php://input, php://fd, php://memory and php://temp only.
Allows Writing | php://stdout, php://stderr, php://output, php://fd, php://memory and php://temp only.
Allows Appending | php://stdout, php://stderr, php://output, php://fd, php://memory and php://temp only. (Equivalent to writing)
Allows Simultaneous Reading and Writing | php://fd, php://memory and php://temp only.
Supports stat() | php://memory and php://temp only.
Supports unlink() | No
Supports rename() | No
Supports mkdir() | No
Supports rmdir() | No
Supports stream_select() | php://stdin, php://stdout, php://stderr, php://fd and php://temp only.

Changelog

Version | Beschreibung
5.6.0 | php://input was made reusable.
5.3.6 | php://fd was added.
5.1.0 | php://memory and php://temp were added.
5.0.0 | php://filter was added.

Beispiele

Beispiel #1 php://temp/maxmemory

This optional parameter allows setting the memory limit before php://temp starts using a temporary file.

<?php
// Set the limit to 5 MB.
$fiveMBs = 5 * 1024 * 1024;
$fp = fopen("php://temp/maxmemory:$fiveMBs", 'r+');

fputs($fp, "hello\n");

// Read what we have written.
rewind($fp);
echo stream_get_contents($fp);
?>

Beispiel #2 php://filter/resource=<stream to be filtered>

This parameter must be located at the end of your php://filter specification and should point to the stream which you want filtered.

<?php
/* This is equivalent to simply:
  readfile("http://www.example.com");
  since no filters are actually specified */

readfile("php://filter/resource=http://www.example.com");
?>

Beispiel #3 php://filter/read=<filter list to apply to read chain>

This parameter takes one or more filternames separated by the pipe character |.

<?php
/* This will output the contents of
  www.example.com entirely in uppercase */
readfile("php://filter/read=string.toupper/resource=http://www.example.com");

/* This will do the same as above
  but will also ROT13 encode it */
readfile("php://filter/read=string.toupper|string.rot13/resource=http://www.example.com");
?>

Beispiel #4 php://filter/write=<filter list to apply to write chain>

This parameter takes one or more filternames separated by the pipe character |.

<?php
/* This will filter the string "Hello World"
  through the rot13 filter, then write to
  example.txt in the current directory */
file_put_contents("php://filter/write=string.rot13/resource=example.txt","Hello World");
?>

Beispiel #5 php://memory and php://temp are not reusable

php://memory and php://temp and not reusable, i.e. after the streams have been closed there is no way to refer to them again.

file_put_contents('php://memory', 'PHP');
echo file_get_contents('php://memory'); // prints nothing
ftp://
zlib://
Unterstützte Protokolle und Wrapper


Compression Streams

php://
data://
Unterstützte Protokolle und Wrapper
PHP Manual

zlib://

bzip2://

zip://

zlib:// -- bzip2:// -- zip:// — Compression Streams

Beschreibung

zlib: PHP 4.0.4 - PHP 4.2.3 (systems with fopencookie only)

compress.zlib:// and compress.bzip2:// PHP 4.3.0 and up

zlib: works like gzopen(), except that the stream can be used with fread() and the other filesystem functions. This is deprecated as of PHP 4.3.0 due to ambiguities with filenames containing ':' characters; use compress.zlib:// instead.

compress.zlib:// and compress.bzip2:// are equivalent to gzopen() and bzopen() respectively, and operate even on systems that do not support fopencookie.

ZIP extension registers zip: wrapper.

Verwendung

  • compress.zlib://file.gz
  • compress.bzip2://file.bz2
  • zip://archive.zip#dir/file.txt

Optionen

Wrapper Summary
Attribute | Supported
Restricted by allow_url_fopen | No
Allows Reading | Yes
Allows Writing | Yes (except zip://)
Allows Appending | Yes (except zip://)
Allows Simultaneous Reading and Writing | No
Supports stat() | No, use the normal file:// wrapper to stat compressed files.
Supports unlink() | No, use the normal file:// wrapper to unlink compressed files.
Supports rename() | No
Supports mkdir() | No
Supports rmdir() | No

php://
data://
Unterstützte Protokolle und Wrapper


Data (RFC 2397)

zlib://
glob://
Unterstützte Protokolle und Wrapper
PHP Manual

data://

data:// — Data (RFC 2397)

Beschreibung

The data: (» RFC 2397) stream wrapper is available since PHP 5.2.0.

Verwendung

  • data://text/plain;base64,

Optionen

Wrapper Summary
Attribute | Supported
Restricted by allow_url_fopen | No
Restricted by allow_url_include | Yes
Allows Reading | Yes
Allows Writing | No
Allows Appending | No
Allows Simultaneous Reading and Writing | No
Supports stat() | No
Supports unlink() | No
Supports rename() | No
Supports mkdir() | No
Supports rmdir() | No

Beispiele

Beispiel #1 Print data:// contents

<?php
// prints "I love PHP"
echo file_get_contents('data://text/plain;base64,SSBsb3ZlIFBIUAo=');
?>

Beispiel #2 Fetch the media type

<?php
$fp   = fopen('data://text/plain;base64,', 'r');
$meta = stream_get_meta_data($fp);

// prints "text/plain"
echo $meta['mediatype'];
?>
zlib://
glob://
Unterstützte Protokolle und Wrapper


Find pathnames matching pattern

data://
phar://
Unterstützte Protokolle und Wrapper
PHP Manual

glob://

glob:// — Find pathnames matching pattern

Beschreibung

The glob: stream wrapper is available since PHP 5.3.0.

Verwendung

  • glob://

Optionen

Wrapper Summary
Attribute | Supported
Restricted by allow_url_fopen | No
Restricted by allow_url_include | No
Allows Reading | No
Allows Writing | No
Allows Appending | No
Allows Simultaneous Reading and Writing | No
Supports stat() | No
Supports unlink() | No
Supports rename() | No
Supports mkdir() | No
Supports rmdir() | No

Beispiele

Beispiel #1 Basic usage

<?php
// Loop over all *.php files in ext/spl/examples/ directory
// and print the filename and its size
$it = new DirectoryIterator("glob://ext/spl/examples/*.php");
foreach($it as $f) {
    printf("%s: %.1FK\n", $f->getFilename(), $f->getSize()/1024);
}
?>
tree.php: 1.0K
findregex.php: 0.6K
findfile.php: 0.7K
dba_dump.php: 0.9K
nocvsdir.php: 1.1K
phar_from_dir.php: 1.0K
ini_groups.php: 0.9K
directorytree.php: 0.9K
dba_array.php: 1.1K
class_tree.php: 1.8K
data://
phar://
Unterstützte Protokolle und Wrapper


PHP Archive

glob://
ssh2://
Unterstützte Protokolle und Wrapper
PHP Manual

phar://

phar:// — PHP Archive

Beschreibung

The phar:// stream wrapper is available since PHP 5.3.0. See Phar stream wrapper for detailed description.

Verwendung

  • phar://

Optionen

Wrapper Summary
Attribute | Supported
Restricted by allow_url_fopen | No
Restricted by allow_url_include | No
Allows Reading | Yes
Allows Writing | Yes
Allows Appending | No
Allows Simultaneous Reading and Writing | Yes
Supports stat() | Yes
Supports unlink() | Yes
Supports rename() | Yes
Supports mkdir() | Yes
Supports rmdir() | Yes

Siehe auch

  • Phar Kontextoptionen
glob://
ssh2://
Unterstützte Protokolle und Wrapper


Secure Shell 2

phar://
rar://
Unterstützte Protokolle und Wrapper
PHP Manual

ssh2://

ssh2:// — Secure Shell 2

Beschreibung

ssh2.shell:// ssh2.exec:// ssh2.tunnel:// ssh2.sftp:// ssh2.scp:// PHP 4.3.0 and up (PECL)

Hinweis: This wrapper is not enabled by default
In order to use the ssh2.*:// wrappers you must install the » SSH2 extension available from » PECL.

In addition to accepting traditional URI login details, the ssh2 wrappers will also reuse open connections by passing the connection resource in the host portion of the URL.

Verwendung

  • ssh2.shell://user:pass@example.com:22/xterm
  • ssh2.exec://user:pass@example.com:22/usr/local/bin/somecmd
  • ssh2.tunnel://user:pass@example.com:22/192.168.0.1:14
  • ssh2.sftp://user:pass@example.com:22/path/to/filename

Optionen

Wrapper Summary
Attribute | ssh2.shell | ssh2.exec | ssh2.tunnel | ssh2.sftp | ssh2.scp
Restricted by allow_url_fopen | Yes | Yes | Yes | Yes | Yes
Allows Reading | Yes | Yes | Yes | Yes | Yes
Allows Writing | Yes | Yes | Yes | Yes | No
Allows Appending | No | No | No | Yes (When supported by server) | No
Allows Simultaneous Reading and Writing | Yes | Yes | Yes | Yes | No
Supports stat() | No | No | No | Yes | No
Supports unlink() | No | No | No | Yes | No
Supports rename() | No | No | No | Yes | No
Supports mkdir() | No | No | No | Yes | No
Supports rmdir() | No | No | No | Yes | No

Context options
Name | Usage | Default
session | Preconnected ssh2 resource to be reused |
sftp | Preallocated sftp resource to be reused |
methods | Key exchange, hostkey, cipher, compression, and MAC methods to use |
callbacks |  |
username | Username to connect as |
password | Password to use with password authentication |
pubkey_file | Name of public key file to use for authentication |
privkey_file | Name of private key file to use for authentication |
env | Associate array of environment variables to set |
term | Terminal emulation type to request when allocating a pty |
term_width | Width of terminal requested when allocating a pty |
term_height | Height of terminal requested when allocating a pty |
term_units | Units to use with term_width and term_height | SSH2_TERM_UNIT_CHARS

Beispiele

Beispiel #1 Opening a stream from an active connection

<?php
$session = ssh2_connect('example.com', 22);
ssh2_auth_pubkey_file($session, 'username', '/home/username/.ssh/id_rsa.pub',
                                            '/home/username/.ssh/id_rsa', 'secret');
$stream = fopen("ssh2.tunnel://$session/remote.example.com:1234", 'r');
?>

Beispiel #2 This $session variable must be kept available!

In order to use the ssh2.*://$session wrappers you must keep the $session resouce variable. The code below will not have the desired effect:

<?php
$session = ssh2_connect('example.com', 22);
ssh2_auth_pubkey_file($session, 'username', '/home/username/.ssh/id_rsa.pub',
                                            '/home/username/.ssh/id_rsa', 'secret');
$connection_string = "ssh2.sftp://$session/";
unset($session);
$stream = fopen($connection_string . "path/to/file", 'r');
?>

unset() closes the session, because $connection_string does not hold a reference to the $session variable, just a string cast derived from it. This also happens when the unset() is implicit because of leaving scope (like in a function).

phar://
rar://
Unterstützte Protokolle und Wrapper


RAR

ssh2://
ogg://
Unterstützte Protokolle und Wrapper
PHP Manual

rar://

rar:// — RAR

Beschreibung

The wrapper takes the url encoded path to the RAR archive (relative or absolute), an optional asterik (*), an optional number sign (#) and an optional url encoded entry name, as stored in the archive. Specifying an entry name requires the number sign; a leading forward slash in the entry name is optional.

This wrapper can open both files and directories. When opening directories, the asterisk sign forces the directory entries names to be returned unencoded. If it's not specified, they will be returned url encoded – the reason for this is to allow the wrapper to be correctly used with built-in functionality like the RecursiveDirectoryIterator in the presence of file names that seem like url encoded data.

If the pound sign and the entry name part are not included, the root of the archive will be displayed. This differs from regular directories in that the resulting stream will not contain information such as the modification time, as the root directory is not stored in an individual entry in the archive. The usage of the wrapper with RecursiveDirectoryIterator requires the number sign to be included in the URL when accessing the root, so that the URLs of the children may be constructed correctly.

Hinweis: This wrapper is not enabled by default
In order to use the rar:// wrapper, you must install the » rar extension available from » PECL.

rar:// Available since PECL rar 3.0.0

Verwendung

  • rar://<url encoded archive name>[*][#[<url encoded entry name>]]

Optionen

Wrapper Summary
Attribute | Supported
Restricted by allow_url_fopen | No
Restricted by allow_url_include | No
Allows Reading | Yes
Allows Writing | No
Allows Appending | No
Allows Simultaneous Reading and Writing | No
Supports stat() | Yes
Supports unlink() | No
Supports rename() | No
Supports mkdir() | No
Supports rmdir() | No

Context options
Name | Usage | Default
open_password | The password used to encrypt the headers of the archive, if any. WinRAR will encrypt all the files with the same password as the headers password when the later is present, so for archives with encrypted headers, file_password will be ignored. |
file_password | The password used to encrypt a file, if any. If the headers are also encrypted, this option will be ignored in favor of open_password. The reason there are two options is to cover the possibility of supporting archives with different headers and file passwords, should those archives arise. Note that if the archive does not have its headers encrypted, open_password will be ignored and this option must be used instead. |
volume_callback | A callback to determine the path of missing volumes. See RarArchive::open() for more information. |

Beispiele

Beispiel #1 Traversing a RAR archive

<?php

class MyRecDirIt extends RecursiveDirectoryIterator {
    function current() {
        return rawurldecode($this->getSubPathName()) .
            (is_dir(parent::current())?" [DIR]":"");
    }
}

$f = "rar://" . rawurlencode(dirname(__FILE__)) .
    DIRECTORY_SEPARATOR . 'dirs_and_extra_headers.rar#';

$it = new RecursiveTreeIterator(new MyRecDirIt($f));

foreach ($it as $s) {
    echo $s, "\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

|-allow_everyone_ni [DIR]
|-file1.txt
|-file2_?.txt
|-with_streams.txt
\-? [DIR]
  |-?\%2Fempty%2E [DIR]
  | \-?\%2Fempty%2E\file7.txt
  |-?\empty [DIR]
  |-?\file3.txt
  |-?\file4_?.txt
  \-?\?_2 [DIR]
    |-?\?_2\file5.txt
    \-?\?_2\file6_?.txt

Beispiel #2 Opening an encrypted file (header encryption)

<?php
$stream = fopen("rar://" .
    rawurlencode(dirname(__FILE__)) . DIRECTORY_SEPARATOR .
    'encrypted_headers.rar' . '#encfile1.txt', "r", false,
    stream_context_create(
        array(
            'rar' =>
                array(
                    'open_password' => 'samplepassword'
                )
            )
        )
    );
var_dump(stream_get_contents($stream));
/* creation and last access date is opt-in in WinRAR, hence most
 * files don't have them */
var_dump(fstat($stream));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(26) "Encrypted file 1 contents."
Array
(
    [0] => 0
    [1] => 0
    [2] => 33206
    [3] => 1
    [4] => 0
    [5] => 0
    [6] => 0
    [7] => 26
    [8] => 0
    [9] => 1259550052
    [10] => 0
    [11] => -1
    [12] => -1
    [dev] => 0
    [ino] => 0
    [mode] => 33206
    [nlink] => 1
    [uid] => 0
    [gid] => 0
    [rdev] => 0
    [size] => 26
    [atime] => 0
    [mtime] => 1259550052
    [ctime] => 0
    [blksize] => -1
    [blocks] => -1
)
ssh2://
ogg://
Unterstützte Protokolle und Wrapper


Audio streams

rar://
expect://
Unterstützte Protokolle und Wrapper
PHP Manual

ogg://

ogg:// — Audio streams

Beschreibung

Files opened for reading via the ogg:// wrapper are treated as compressed audio encoded using the OGG/Vorbis codec. Similarly, files opened for writing or appending via the ogg:// wrapper are writen as compressed audio data. stream_get_meta_data(), when used on an OGG/Vorbis file opened for reading will return various details about the stream including the vendor tag, any included comments, the number of channels, the sampling rate, and the encoding rate range described by: bitrate_lower, bitrate_upper, bitrate_nominal, and bitrate_window.

ogg:// PHP 4.3.0 and up (PECL)

Hinweis: This wrapper is not enabled by default
In order to use the ogg:// wrapper you must install the » OGG/Vorbis extension available from » PECL.

Verwendung

  • ogg://soundfile.ogg
  • ogg:///path/to/soundfile.ogg
  • ogg://http://www.example.com/path/to/soundstream.ogg

Optionen

Wrapper Summary
Attribute | Supported
Restricted by allow_url_fopen | No
Allows Reading | Yes
Allows Writing | Yes
Allows Appending | Yes
Allows Simultaneous Reading and Writing | No
Supports stat() | No
Supports unlink() | No
Supports rename() | No
Supports mkdir() | No
Supports rmdir() | No

Context options
Name | Usage | Default | Mode
pcm_mode | PCM encoding to apply while reading, one of: OGGVORBIS_PCM_U8, OGGVORBIS_PCM_S8, OGGVORBIS_PCM_U16_BE, OGGVORBIS_PCM_S16_BE, OGGVORBIS_PCM_U16_LE, and OGGVORBIS_PCM_S16_LE. (8 vs 16 bit, signed or unsigned, big or little endian) | OGGVORBIS_PCM_S16_LE | Read
rate | Sampling rate of input data, expressed in Hz | 44100 | Write/Append
bitrate | When given as an integer, the fixed bitrate at which to encode. (16000 to 131072) When given as a float, the variable bitrate quality to use. (-1.0 to 1.0) | 128000 | Write/Append
channels | The number of audio channels to encode, typically 1 (Mono), or 2 (Stereo). May range as high as 16. | 2 | Write/Append
comments | An array of string values to encode into the track header. |  | Write/Append

Beispiele

rar://
expect://
Unterstützte Protokolle und Wrapper


Process Interaction Streams

ogg://
Sicherheit
Unterstützte Protokolle und Wrapper
PHP Manual

expect://

expect:// — Process Interaction Streams

Beschreibung

Streams opened via the expect:// wrapper provide access to process'es stdio, stdout and stderr via PTY.

Hinweis: This wrapper is not enabled by default
In order to use the expect:// wrapper you must install the » Expect extension available from » PECL.

expect:// PHP 4.3.0 and up (PECL)

Verwendung

  • expect://command

Optionen

Wrapper Summary
Attribute | Supported
Restricted by allow_url_fopen | No
Allows Reading | Yes
Allows Writing | Yes
Allows Appending | Yes
Allows Simultaneous Reading and Writing | No
Supports stat() | No
Supports unlink() | No
Supports rename() | No
Supports mkdir() | No
Supports rmdir() | No

Beispiele

ogg://
Sicherheit
Unterstützte Protokolle und Wrapper


Sicherheit

  • Einführung
  • Allgemeine Überlegungen
  • Installiert als CGI-Version
    • Mögliche Angriffe
    • Fall 1: Nur öffentliche Dateien vorhanden
    • Fall 2: --enable-force-cgi-redirect benutzen
    • Fall 3: doc_root oder user_dir festlegen
    • Fall 4: PHP-Parser außerhalb des Webverzeichnisbaums
  • Verwendung als Apache-Modul
  • Session Security
  • Dateisystem - Sicherheit
    • Probleme im Zusammenhang mit Nullbytes
  • Datenbank - Sicherheit
    • Datenbanken designen
    • Zur Datenbank verbinden
    • Verschlüsseltes Speichermodell
    • SQL Injection
  • Fehlerbehandlung
  • Using Register Globals
  • Vom Nutzer übermittelte Daten
  • Magic Quotes
    • What are Magic Quotes
    • Why did we use Magic Quotes
    • Why not to use Magic Quotes
    • Disabling Magic Quotes
  • PHP verstecken
  • Aktuell bleiben
expect://
Einführung
PHP-Handbuch


Einführung

PHP ist eine mächtige Sprache, und der Interpreter, der in einen Webserver als Modul oder als separate CGI-Version eingebunden werden kann, kann auf Dateien zugreifen, Befehle ausführen und Netzwerkverbindungen zu einem Server herstellen. Diese Eigenschaften können einen Webserver unsicher machen, wenn man es bei den Voreinstellungen belässt. PHP wurde besonders dafür entwickelt, um eine sicherere Sprache als Perl oder C für die Erstellung von CGI-Programmen bereitzustellen. Mit der richtigen Wahl der Einstellungen beim Kompilieren und zur Laufzeit bietet PHP genau die Kombination aus Freiheit und Sicherheit, die gerade benötigt wird.

Da es sehr viele verschiedene Möglichkeiten gibt, PHP zu nutzen, gibt es viele Konfigurationseinstellungen, die das Verhalten von PHP beeinflussen. Eine große Auswahl an Einstellungen garantiert, dass man PHP für viele Zwecke einsetzen kann. Allerdings bedeutet das auch, dass es Kombinationen gibt, die eine Installation mit nur ungenügender Sicherheit zur Folge haben.

Die Flexibilität der Konfiguration konkurriert mit der Flexibilität in der Programmierung. Mit PHP können komplette Server-Applikationen mit allen Möglichkeiten eines Shell Benutzers erstellt werden, oder auch nur einfache Server-Side-Includes mit einem minimalen Risiko in einer streng kontrollierten Umgebung. Wie die Umgebung erstellt wird, und wie sicher diese ist, ist zu einem großen Teil die Sache des PHP-Entwicklers.

Dieses Kapitel beginnt mit einigen generellen Ratschlägen zur Sicherheit, erklärt die verschiedenen Kombinationen der Konfigurationseinstellungen und unter welchen Gegebenheiten sie sicher genutzt werden können, und beschreibt verschiedene Überlegungen zur Programmierung für verschiedene Sicherheitsstufen.

Sicherheit
Allgemeine Überlegungen
Sicherheit


Allgemeine Überlegungen

Ein komplett sicheres System ist praktisch ein Ding der Unmöglichkeit, weshalb ein unter Sicherheitsprofis oft genutzter Ansatz ist, einen Mittelweg zwischen Risiko und Verwendbarkeit zu finden. Wenn jede von einem Benutzer übermittelte Variable zwei Formen von biometrischer Prüfung (wie z.B. ein Scan der Netzhaut und ein Fingerabdruck) verlangen würde, wäre eine extrem hohe Ebene der Verantwortlichkeit erreicht. Ein sehr komplexes Formular auszufüllen würde auch eine halbe Stunde in Anspruch nehmen, die Benutzer dazu ermuntern könnte, Wege zur Umgehung der Sicherheitsmaßnahmen zu suchen.

Die beste Sicherheit ist oft unaufdringlich genug, um den Anforderungen zu entsprechen, ohne den Benutzer an seiner Arbeit zu hindern oder den Code-Autor mit übertriebener Komplexität zu überlasten. Tatsächlich sind einige Sicherheitsangriffe nur die Folge von allzu strengen Sicherheitsmaßnahmen, was mit der Zeit nur zu deren Unterminierung führt.

Eine Phrase, die es wert ist, sich an sie zu erinnern: Ein System ist nur so gut wie das schwächste Glied in der Kette. Wenn alle Transaktionen mittels Zeit, Ort, Transaktionstyp, etc. streng mitprotokolliert werden, der Benutzer aber nur mittels eines einzigen Cookies verifiziert wird, lässt die Zuverlässigkeit für die Bindung des Benutzers an das Transaktions-Log bedrohlich nach.

Denken Sie während der Tests daran, dass Sie selbst für die einfachsten Seiten nicht alle Möglichkeiten testen können. Der von Ihnen vielleicht erwartete Input wird zu dem eines verstimmten Mitarbeiters oder eines Crackers, der Monate Zeit hat, oder einer Katze, die über die Tastatur läuft, in keinerlei Zusammenhang stehen. Deshalb betrachten Sie Ihren Code am Besten aus der logischen Perspektive, um zu erkennen, wo unerwartete Daten eingebracht werden können und fragen sich dann, wie diese modifiziert, reduziert, oder weiter ausgeführt werden.

Das Internet ist voll von Leuten, die versuchen, sich durch Entschlüsseln/Zerstören Ihres Codes, den Zusammenbruch Ihres Systems, Einsetzen von unangebrachten Inhalten, und anderen, Ihren Tag interessant gestaltenden Maßnahmen, einen Namen zu machen. Es ist egal, ob Sie eine kleine oder große Site haben, Sie sind einfach ein Ziel, wenn Sie online sind oder wenn Sie einen Server haben, zu dem man eine Verbindung aufbauen kann. Viele Cracker-Programme erkennen nicht die Größe, sondern durchsieben einfach gewaltige IP-Blöcke im Netz, um Opfer zu finden. Versuchen Sie, keines zu werden.

Einführung
Installiert als CGI-Version
Sicherheit


Installiert als CGI-Version

Inhaltsverzeichnis

  • Mögliche Angriffe
  • Fall 1: Nur öffentliche Dateien vorhanden
  • Fall 2: --enable-force-cgi-redirect benutzen
  • Fall 3: doc_root oder user_dir festlegen
  • Fall 4: PHP-Parser außerhalb des Webverzeichnisbaums
Allgemeine Überlegungen
Mögliche Angriffe
Sicherheit


Mögliche Angriffe

PHP als CGI-Version zu nutzen, ist eine Möglichkeit für Installationen, bei denen aus irgendwelchen Gründen kein Modul in die Serversoftware eingebunden werden soll (wie beim Apache) oder für Systeme, bei denen verschiedene CGI-Wrapper genutzt werden sollen, um sichere chroot- und setuid-Umgebungen für Skripte zu schaffen. Bei dieser Konfiguration wird das ausführbare PHP-Binary üblicherweise im cgi-bin-Verzeichnis des Webservers installiert. CERT-Advisory » CA-96.11 spricht sich gegen die Platzierung von Interpretern im cgi-bin-Verzeichnis aus. Obwohl das PHP-Binary als eigenständiger Interpreter verwendet werden kann, wurde PHP so entwickelt, um den durch diese Konfiguration möglich werdenden Angriffe vorzubeugen:

  • Zugriff auf Systemdateien: http://my.host/cgi-bin/php?/etc/passwd Die auf ein Fragezeichen (?) folgende Abfrageinformation in einer URL wird durch das CGI-Interface als Kommandozeilenargument an den Interpreter weitergereicht. In der Kommandozeile wird üblicherweise die im ersten Argument angegebene Datei von Interpretern geöffnet und ausgeführt. Beim Aufruf als CGI-Binary verweigert PHP die Interpretation der Kommandozeilenargumente.
  • Zugriff auf beliebige Web-Dokumente auf dem Server: http://my.host/cgi-bin/php/secret/doc.html Der Teil der URL-Pfadinformation nach dem Namen der PHP Binärdatei, /secret/doc.html, wird im Allgemeinen benutzt, um den Namen der Datei zu übergeben, die durch das CGI-Programm geöffnet und interpretiert werden soll. Normalerweise werden einige Einträge in der Konfigurationsdatei des Webservers benutzt (Apache: Action), um Aufrufe von Dokumenten wie http://my.host/secret/script.php an den PHP-Interpreter umzuleiten. Bei dieser Konfiguration überprüft der Webserver zuerst die Zugriffsrechte im Verzeichnis /secret und erstellt anschließend den umgeleiteten Aufruf http://my.host/cgi-bin/php/secret/script.php. Unglücklicherweise wird, wenn der Aufruf bereits in dieser Form geschieht, vom Webserver keine Zugriffsüberprüfung der Datei /secret/script.php, sondern lediglich der Datei /cgi-bin/php vorgenommen. So ist jeder Benutzer, der auf /cgi-bin/php zugreifen darf, in der Lage, sich zu jedem geschützten Dokument auf dem Webserver Zugriff zu verschaffen. Bei PHP können beim Kompilieren die Konfigurationsdirektiven cgi.force_redirect, doc_root und user_dir benutzt werden, um diesen Angriff zu verhindern, falls der Verzeichnisbaum des Servers Verzeichnisse mit Zugriffsbeschränkungen beinhaltet. Ausführliche Informationen über die verschiedenen Kombinationen sind weiter unten beschrieben.
Installiert als CGI-Version
Fall 1: Nur öffentliche Dateien vorhanden
Installiert als CGI-Version


Fall 1: Nur öffentliche Dateien vorhanden

Wenn der Server keine Inhalte hat, die durch ein Passwort oder IP-basierte Zugriffskontrolle geschützt sind, werden diese Konfigurationsoptionen nicht benötigt. Wenn der Webserver keine Redirects erlaubt oder keine Möglichkeit hat, dem PHP-Binary mitzuteilen, dass es sich um eine sicher umgeleitete Anfrage handelt, kann die Option --enable-force-cgi-redirect im configure-Skript angegeben werden. Nichtsdestotrotz müssen Sie sicherstellen, dass Ihre PHP-Skripte nicht auf die eine oder andere Art des Aufrufs angewiesen sind, weder direkt durch http://my.host/cgi-bin/php/dir/script.php noch durch einen Redirect http://my.host/dir/script.php.

Beim Apache kann der Redirect durch den Gebrauch von AddHandler und Action konfiguriert werden (siehe unten).

Mögliche Angriffe
Fall 2: --enable-force-cgi-redirect benutzen
Installiert als CGI-Version


Fall 2: --enable-force-cgi-redirect benutzen

Die Konfigurationsdirektive cgi.force_redirect verhindert grundsätzlich den Aufruf von PHP mit einer URL wie http://my.host/cgi-bin/php/secretdir/script.php. Stattdessen parst PHP in diesem Modus nur dann, wenn der Aufruf durch einen korrekten Redirect des Webservers erfolgte. PHP älter als 4.2.0 nutzte stattdessen die --enable-force-cgi-redirect-Kompilierungsoption.n

Normalerweise wird der Redirect in der Apache-Konfiguration mit den folgenden Einträgen festgelegt:

Action php-script /cgi-bin/php
AddHandler php-script .php

Diese Option wurde nur mit dem Apache Webserver getestet und ist abhängig davon, wie Apache die nicht standardmäßige CGI-Umgebungsvariable REDIRECT_STATUS bei Redirect-Anfragen setzt. Sollte Ihr Webserver keine Möglichkeit unterstützen, zu übermitteln, ob es sich um einen direkten Aufruf oder einen Redirect handelt, können Sie diese Option nicht verwenden und müssen einen der anderen hier beschriebenen Wege gehen, die CGI-Version zu nutzen.

Fall 1: Nur öffentliche Dateien vorhanden
Fall 3: doc_root oder user_dir festlegen
Installiert als CGI-Version


Fall 3: doc_root oder user_dir festlegen

Aktiven Inhalt, wie beispielsweise Skripts und ausführbare Dateien, in den Dokumentverzeichnissen des Webservers abzulegen, wird manchmal als unsichere Methode angesehen. Wenn, beispielsweise aufgrund von Konfigurationsfehlern, die Skripte nicht ausgeführt, sondern als reguläre HTML-Dokumente angezeigt werden, kann dies ein Durchsickern von geistigem Eigentum und sicherheitsrelevanter Informationen wie Passwörtern zur Folge haben. Deshalb ziehen es viele Systemadministratoren vor, eine zweite Verzeichnisstruktur für Skripte einzurichten, auf die nur durch das PHP-CGI zugegriffen werden kann. Diese werden dann stets interpretiert und nicht angezeigt.

Auch wenn die Methode zum sichergestellten Verhindern einer Umleitung von Anfragen (wie im vorangegangenen Abschnitt beschrieben) nicht verfügbar ist, ist es notwendig, ein doc_root für Skripte zusätzlich zum Web-Dokumentenverzeichnis einzurichten.

Sie können das PHP-Skriptverzeichnis durch die Direktive doc_root in der Konfigurationsdatei festlegen, oder Sie setzen die Umgebungsvariable PHP_DOCUMENT_ROOT. Wenn sie gesetzt ist, wird die CGI-Version von PHP den Namen der zu öffnenden Datei stets aus doc_root und der Pfadinformation der Anfrage zusammensetzen, sodass man sicher sein kann, dass außerhalb dieses Verzeichnisses keine Skripte ausgeführt werden (außer user_dir, siehe unten).

Eine weitere hier nützliche Option ist user_dir. Wenn das user_dir nicht gesetzt ist, hat nur doc_root Einfluss auf die zu öffnende Datei. Der Aufruf einer URL wie http://my.host/~user/doc.php hat nicht zum Ergebnis, dass eine Datei im Heimatverzeichnis des Benutzers geöffnet wird, sondern eine Datei namens ~user/doc.php unterhalb des doc_root. (Ja, ein Verzeichnisname, der mit einer Tilde anfängt [~].)

Ist das user_dir beispielsweise auf public_php gesetzt, wird eine Anfrage wie http://my.host/~user/doc.php eine Datei namens doc.php im Verzeichnis public_php im Heimatverzeichnis des Benutzers öffnen. Wenn das Heimatverzeichnis des Benutzers /home/user ist, so ist die ausgeführte Datei /home/user/public_php/doc.php.

Die user_dir-Expansion erfolgt ohne Berücksichtigung der doc_root-Einstellung. So können Zugriffe auf die Dokumenten- und Benutzerverzeichnisse separat gesteuert werden.

Fall 2: --enable-force-cgi-redirect benutzen
Fall 4: PHP-Parser außerhalb des Webverzeichnisbaums
Installiert als CGI-Version


Fall 4: PHP-Parser außerhalb des Webverzeichnisbaums

Eine sehr sichere Sache ist es, das PHP-Parser-Binary irgendwo außerhalb des Webverzeichnisbaums zu platzieren, beispielsweise in /usr/local/bin. Der einzige Nachteil dieses Verfahrens ist, dass eine Zeile ähnlich der folgenden Zeile:

#!/usr/local/bin/php
als erste Zeile in jeder Datei, die PHP-Tags enthält, stehen muss. Außerdem muss die Datei ausführbar sein. Ansonsten ist sie genauso zu behandeln wie ein beliebiges CGI-Script in Perl oder sh oder anderen gebräuchlichen Skriptsprachen, die den #!-shell-escape-Mechanismus nutzen, um sich selbst aufzurufen.

Damit PHP bei dieser Konfiguration die PATH_INFO- und PATH_TRANSLATED-Informationen korrekt auswertet, sollte der PHP-Parser mit der Option --enable-discard-path kompiliert werden.

Fall 3: doc_root oder user_dir festlegen
Verwendung als Apache-Modul
Installiert als CGI-Version


Verwendung als Apache-Modul

Wenn PHP als Apache-Modul eingesetzt wird, übernimmt es die Benutzerrechte des Apache (üblicherweise die des Users "nobody"). Das hat verschiedene Auswirkungen auf Sicherheit und Authentifizierung. Wenn Sie beispielsweise via PHP auf eine Datenbank zugreifen, müssen Sie dem Benutzer "nobody" Zugriffsrechte auf die Datenbank erteilen, es sei denn, diese Datenbank hat eine integrierte Zugriffskontrolle. Das heißt, dass ein böswilliges Skript auch ohne Benutzerkennung und Passwort auf die Datenbank zugreifen und sie verändern könnte. Es ist durchaus möglich, dass ein Web-Spider über die Webseite eines Datenbankadministrators stolpert und alle Ihre Datenbanken löscht. Sie können sich dagegen mit Apache-Authentifizierung schützen, oder ein eigenes Zugangsmodell unter Verwendung von LDAP, .htaccess Dateien etc. entwerfen, und diesen Code als Teil Ihrer PHP-Skripte einbinden.

Ist erst einmal eine Sicherheitsstruktur bis zu dem Punkt eingerichtet, an dem der PHP-User (in diesem Falle der Apache-User) nur noch ein geringes Risiko darstellt, hat man meist die Situation, dass PHP gehindert wird, beliebige Dateien in das Benutzerverzeichnis zu schreiben. Oder vielleicht ist PHP dann nicht mehr in der Lage, auf Datenbanken lesend oder verändernd zuzugreifen. In gleicher Weise wird auch verhindert, "gute" oder "bösartige" Dateien zu schreiben, oder "gute" bzw. "bösartige" Datenbanktransaktionen durchzuführen.

Ein an diesem Punkt oft geöffnetes Sicherheitsloch ist die Zuweisung von Root-Rechten an den Apache-Prozess oder die Ausweitung der Rechte des Apache auf anderem Wege.

Die Ausweitung der Benutzerrechte für Apache auf root ist extrem gefährlich und kann das gesamte System kompromittieren, daher sollten Prozesse, die wie sudo oder chroot mit Rootrechten arbeiten, niemandem zugänglich sein, der kein Sicherheitsprofi ist.

Es gibt deutlich einfachere Lösungen. Mit open_basedir können Sie kontrollieren, welche Verzeichnisse PHP benutzen darf oder nicht. Sie können auch einen Bereich nur für Apache einrichten, um alle webbasierten Aktivitäten auf dem System oder nicht dem Benutzer gehörende Dateien zu verhindern.

Fall 4: PHP-Parser außerhalb des Webverzeichnisbaums
Session Security
Sicherheit


Session Security

It is important keeping HTTP session mangement secure. Session releated security is described in Session Security section of Session module reference.

Verwendung als Apache-Modul
Dateisystem - Sicherheit
Sicherheit


Dateisystem - Sicherheit

Inhaltsverzeichnis

  • Probleme im Zusammenhang mit Nullbytes

PHP ist von den in den meisten Serversystemen implementierten Sicherheitseinstellungen hinsichtlich der Berechtigungen auf Datei- und Verzeichnisebene abhängig. Dies verleiht Ihnen Kontrolle darüber, welche Dateien in dem Dateisystem gelesen werden dürfen. Vorsicht ist bei weltweit lesbaren Dateien geboten um sicherzustellen, dass diese sicher von allen Usern mit Zugriff auf dieses Dateisystem (nur) gelesen werden können.

Da PHP entwickelt wurde, um Zugriffe auf das Dateisystem auf Benutzebene zu erlauben, ist es natürlich auch möglich, ein PHP Skript zu schreiben, dass Ihnen erlaubt, Systemdateien wie /etc/passwd zu lesen, Ethernetverbindungen zu modifizieren, enorme Druckaufträge zu senden, etc. Dies hat offensichtliche Implikationen, indem Sie sicherstellen müssen, dass alle von Ihnen zu lesenden bzw. zu schreibenden Dateien auch die richtigen sind.

Stellen Sie sich folgendes Skript vor, in dem ein User zum Ausdruck bringt, dass gerne eine Datei in seinem Heimatverzeichnis löschen möchte. Dies geht von einer Situation aus, in der ein PHP Web-Interface regelmäßig zum Dateimanagement verwendet wird, und der Apache User ist auch berechtigt, in seinem Heimatverzeichnis Dateien zu löschen.

Beispiel #1 Schlechte Variablenprüfung führt zu....

<?php
// Löschen einer Datei aus dem Heimatverzeichnis des Users
$username = $_POST['user_submitted_name'];
$userfile = $_POST['user_submitted_filename'];
$homedir  = "/home/$username";
unlink("$homedir/$userfile");
echo "Die Datei wurde gelöscht!";
?>
Da der Benutzer- und Dateiname über ein Benutzerformular bereitgestellt werden kann jeder jemand anderes Benutzer- und Dateinamen übertragen und so Dateien ohne über die entsprechnde Erlaubnis zu verfügen. In diesem Fall empfiehlt es sich, eine andere Form der Authentifizierung zu verwenden. Stellen Sie sich vor was passieren würde, wenn die übertragenen Variablen "../etc/" und "passwd" beinhalten würden. Der Code würde dann effektiv lesen:

Beispiel #2 ... Ein Angriff auf das Dateisystem

<?php
// löscht eine Datei irgendwo auf der Festplatte, wo der
// Benutzer die nötigen Rechte besitzt. Wenn PHP root hat:
$username = $_POST['user_submitted_name']; // "../etc"
$userfile = $_POST['user_submitted_filename']; // "passwd"
$homedir  = "/home/$username"; // "/home/../etc"

unlink("$homedir/$userfile"); // "/home/../etc/passwd"

echo "Die Datei wurde gelöscht!";?>
Es gibt zwei wichtige Kriterien die Sie beachten sollten, um diese Dinge zu vermeiden:
  • Erteilen Sie dem PHP Web-user (Binärdatei) nur eingeschränkte Rechte.
  • Prüfen Sie alle übertragenen Variablen.
Hier ist ein verbessertes Skript:

Beispiel #3 Etwas sicherere Prüfung des Dateinamens

<?php
// löscht eine Datei von der Festplatte, auf die
// der PHP user Zugriff hat.
$username = $_SERVER['REMOTE_USER']; // using an authentication mechanisim
$userfile = basename($_POST['user_submitted_filename']);
$homedir  = "/home/$username";

$filepath = "$homedir/$userfile";

if (file_exists($filepath) && unlink($filepath)) {
    $logstring = "$filepath gelöscht\n";
} else {
    $logstring = "$filepath konnte nicht gelöscht\n";
}
$fp = fopen("/home/logging/filedelete.log", "a");
fwrite($fp, $logstring);
fclose($fp);

echo htmlentities($logstring, ENT_QUOTES);
?>
Auch dies nicht völlig makellos. Wenn Ihr Authentifizierungssystem Benutzern erlauben sollte, deren eigene Logins zu kreieren, und ein Benutzer wählt den Login "../etc", ist das System wieder aufgedeckt. Aus diesem Grund ziehen Sie es vielleicht vor, einen besseren Check zu schreiben:

Beispiel #4 Sicherere Dateinamensprüfung

<?php
$username     = $_SERVER['REMOTE_USER']; // Nutzung des Authentifikationsmechanismus
$userfile     = $_POST['user_submitted_filename'];
$homedir      = "/home/$username";

$filepath     = "$homedir/$userfile";

if (!ctype_alnum($username) || !preg_match('/^(?:[a-z0-9_-]|\.(?!\.))+$/iD', $userfile)) {
    die("Ungültiger Benutzer- oder Dateiname");
}

//etc...
?>

Abhängig vom Betriebssystem gibt es eine große Anzahl Dateien mit der Sie sich befassen sollten, inklusive Einträge für Geräte (/dev/ oder com1), Konfigurationsdateien (/etc/ Dateien und die .ini Dateien), gut bekannte Verzeichnisse (/home/, My Documents), etc. Aus diesem Grund ist es gewöhnlich einfacher eine Vorgangsweise einzuführen, bei der außer den von Ihnen explizit erlaubten Dingen alles verboten ist.

Session Security
Probleme im Zusammenhang mit Nullbytes
Sicherheit


Probleme im Zusammenhang mit Nullbytes

Da PHP die Funktionen der C-Standardbibliothek für Dateisystemoperationen nutzt kann es Nullbytes in unerwarteter Weise verarbeiten. Da Nullbytes in C das Stringende festlegen werden Strings die solche enthalten nicht vollständig verarbeitet sondern nur bis zum ersten Auftreten eines Nullbytes. Das folgende Beispiel zeigt verwundbaren Programmcode der das Problem demonstriert:

Beispiel #1 Skript mit Nullbyte-Verwundbarkeit

<?php
  $file = $_GET['file']; // "../../etc/passwd\0"
  if (file_exists('/home/wwwrun/'.$file.'.php')) {
    // file_exists gibt true zurück da /home/wwwrun/../../etc/passwd existiert
    include '/home/wwwrun/'.$file.'.php';
    // die Datei /etc/passwd wird eingebunden
  }
?>

Daher sollte jede nicht vertrauenswürdige Zeichenkette, die in Dateisystemoperationen verwendet wird, ordentlich geprüft werden. Hier sehen Sie eine eine bessere Versiond des vorhergehenden Beispiels:

Beispiel #2 Korrekte Validierung der Eingabe

<?php
  $file = $_GET['file'];

  // Gestatte gültige Werte
  switch ($file) {
    case 'main':
    case 'foo':
    case 'bar':
      include '/home/wwwrun/include/'.$file.'.php';
      break;
    default:
      include '/home/wwwrun/include/main.php';
  }
?>
Dateisystem - Sicherheit
Datenbank - Sicherheit
Dateisystem - Sicherheit


Datenbank - Sicherheit

Inhaltsverzeichnis

  • Datenbanken designen
  • Zur Datenbank verbinden
  • Verschlüsseltes Speichermodell
  • SQL Injection

Heutzutage sind Datenbanken die Hauptkomponenten jeder Webbasierten Applikation, aufgrund welcher Websites verschiedene dynamische Inhalte anbieten können. Nachdem heikle oder geheime Informationen in solch einer Datenbank gespeichert werden können, sollten Sie deren Schutz ernsthaft bedenken.

Um Informationen zu bekommen oder zu speichern, müssen Sie eine legitime Abfrage senden, das Ergebnis holen, und die Verbindung schließen. Heutzutage ist die allgemein verwendete Abfragesprache für solche Interaktionen die Structured Query Language (SQL). Sehen Sie, wie sich ein Angreifer an einer SQL Abfrage zu schaffen machen kann.

Sie werden merken, dass PHP Ihre Datenbank alleine nicht schützen kann. Die folgenden Abschnitte sind eine Einführung in die Grundlagen, wie man innerhalb von PHP Skripten auf Datenbanken zugreift und diese manipuliert.

Denken Sie an diese einfache Regel: tief gestaffelte Verteidigung. Je mehr Platz Sie den Maßnahmen zum Schutz Ihrer Datenbank geben, desto geringer ist die Wahrscheinlichkeit, dass ein Angreifer Erfolg hat, und gespeicherte Geheiminformationen aufdeckt oder missbraucht. Gutes Design des Datenbankschemas und die Applikation wird mit Ihren größten Befürchtungen fertig.

Probleme im Zusammenhang mit Nullbytes
Datenbanken designen
Sicherheit


Datenbanken designen

Der erste Schritt liegt immer im Erstellen der Datenbank, außer Sie wollen eine bereits existierende Dritter verwenden. Ist eine Datenbank erstellt, ist sie einem Eigentümer zugewiesen, welcher das Kommando zum Erstellen ausgeführt hat. Gewöhnlich kann nur der Eigentümer (oder ein Superuser) alles mit den Objekten in dieser Datenbank machen, und um anderen Benutzern die Verwendung zu erlauben, müssen Rechte vergeben werden.

Applikationen sollten sich mit der Datenbank nie als deren Eigentümer oder als ein Superuser verbinden, da diese Benutzer jede gewollte Abfrage ausführen können, um z.B. das Schema zu modifizieren (z.B. Tabellen löschen) oder den gesamten Inhalt löschen.

Sie können verschiedene Datenbanknutzer mit sehr limitierten Rechten auf Datenbankobjekte für jeden Aspekt Ihrer Applikation anlegen. Nur die wirklich benötigten Rechte sollten gewährt werden, und vermeiden Sie, dass der gleiche Benutzer in verschiedenen Anwendungsfällen mit der Datenbank interagieren kann. Das heißt, dass Eindringlinge, welche unter Verwendung einer dieser Referenzen Zugriff auf Ihre Datenbank erlangt haben, nur so viele Änderungen durchführen können, wie es Ihre Applikation kann.

Implementieren Sie nicht alle Geschäftslogik in die Webapplikation (z.B. Ihr Skript), sondern tun Sie das im Datenbankschema unter Verwendung von Sichten, Triggern, oder Regeln. Wenn sich das System entwickelt, werden neu zu öffnende Ports zu der Datenbank vorgesehen, und Sie müssen die Logik in jedem Datenbank-Client neu implementieren. Überdies können Trigger verwendet werden, um transparent und automatisch mit Feldern umzugehen, welche beim debuggen Ihrer Applikation oder beim Zurückverfolgen von Transaktionen oft einen Einblick gewähren.

Datenbank - Sicherheit
Zur Datenbank verbinden
Datenbank - Sicherheit


Zur Datenbank verbinden

Vielleicht wollen Sie die Verbindungen über SSL herstellen, um die Client/Server Kommunikation für eine erhöhte Sicherheit zu verschlüsseln, oder aber auch ssh verwenden, um die Netzwerkverbindung zwischen den Clients und dem Datenbankserver zu verschlüsseln. Ist eines davon realisiert, wird ein Monitoring Ihres Verkehrs und das Erlangen von Informationen zu harter Arbeit.

Datenbanken designen
Verschlüsseltes Speichermodell
Datenbank - Sicherheit


Verschlüsseltes Speichermodell

SSL/SSH schützt zwar die gerade auf dem Weg befindlichen Daten vom Client zum Server: SSL/SSH schützt jedoch nicht die dauernd in einer Datenbank gespeicherten Daten. SSL ist ein "auf-der-Leitung" Protokoll.

Hat ein Angreifer direkten Zugriff auf Ihre Datenbank (den Webserver umgehend), können gespeicherte heikle Daten aufgedeckt oder zweckentfremdet werden, außer wenn die Information von der Datenbank selbst geschützt ist. Die Daten zu verschlüsseln ist ein guter Weg, diese Gefahr zu mildern, doch bieten nur wenige Datenbanken diese Art der Verschlüsselung von Daten.

Der einfachste Weg, dieses Problem zu umgehen ist, erst einmal Ihr eigenes Verschlüsselungspaket zu erstellen, und dieses dann in Ihren PHP Skripten zu nutzen. PHP kann Ihnen in diesem Fall mit seinen verschiedenen Erweiterungen helfen, wie z.B. Mcrypt and Mhash, welche eine große Auswahl an Verschlüsselungsalgorhythmen abdecken. Das Skript verschlüsselt die Daten vor dem Speichern, und entschlüsselt diese wieder beim Erhalt. Siehe die Verweise für weitere Beispiele, wie Verschlüsselung arbeitet.

Im Fall von wirklich versteckten Daten, wenn deren unverfälschte Repräsentation nicht nötig ist (z.B. keine Anzeige), ist hashing ebenfalls überlegenswert. Das bekannte Beispiel für Hashing ist das Speichern des kryptographischen Hashs eines Passwortes in einer Datenbank, anstatt des Passwortes selbst. Siehe auch crypt().

Beispiel #1 Verwenden eines hashed Passwortfeldes

// Speichern des Passwort hash
// $random_chars z.B. unter Verwendung von /dev/random abgerufen
$query  = sprintf("INSERT INTO users(name,pwd) VALUES('%s','%s');",
            pg_escape_string($username),
            pg_escape_string(crypt($password, '$2a$07$' . $random_chars . '$')));
$result = pg_query($connection, $query);

// Afragen, ob der User das richtige Passwort übermittelt hat
$query = sprintf("SELECT pwd FROM users WHERE name='%s';",
            pg_escape_string($username));
$row = pg_fetch_assoc(pg_query($connection, $query));

if ($row && crypt($password, $row['pwd']) == $row['pwd']) {
    echo 'Willkommen, ' . htmlspecialchars($username) . '!';
} else {
    echo 'Authentifikation für ' . htmlspecialchars($username) . ' fehlgeschlagen.';
}

?>
Zur Datenbank verbinden
SQL Injection
Datenbank - Sicherheit


SQL Injection

Viele Entwickler sind sich nicht bewusst, wie man sich an SQL Abfragen zu schaffen machen kann und nehmen an, dass eine SQL Abfrage ein vertrauenswürdiges Kommando ist. Das heißt, dass SQL Abfragen Zugriffskontrollen hinters Licht führen, und dadurch Standard Authentifizierungs- und Authorisationschecks umgehen können, und manchmal können SQL Abfragen sogar Zugriff zu Kommandos auf Betriebssystemebene erlauben.

Direkt SQL Command Injection ist eine Technik, wo ein Angreifer SQL Kommandos erstellt oder existierende verändert, um versteckte Daten sichtbar zu machen, wertvolle Daten zu überschreiben, oder sogar gefährliche Kommandos auf Systemebene des Datenbank-Hosts auszuführen. Dies wird durch die Applikation erreicht, welche den Input des Benutzers mit statischen Parametern kombiniert, um eine SQL Abfrage zu erstellen. Die folgenden Beispiele basieren - leider - auf wahren Begebenheiten.

Dank dem Mangel an Input Validierungen, und dem Verbinden zum Datenbankserver als ein Superuser oder jemand der Benutzer anlegen kann, kann ein Angreifer einen Superuser in Ihrer Datenbank anlegen.

Beispiel #1 Die Ergebnisliste in mehrere Seiten aufsplitten ... und Superuser anlegen (PostgreSQL and MySQL)

$offset = $argv[0]; // Vorsicht, keine Validierung des Input !
$query  = "SELECT id, name FROM products ORDER BY name LIMIT 20 OFFSET $offset;";
// mit PostgreSQL
$result = pg_query($conn, $query);
// mit MySQL
$result = mysql_query($query);
Normale Benutzer klicken auf die 'nächste' bzw. 'vorige' Links, wo $offset in der URL enthalten ist. Das Skript erwartet, dass die ankommende $offset einen Dezimalwert enthält. Ganz gleich, jemand versucht einzubrechen, indem er das folgende in einer urlencode()'d Form an die URL anhängt
// Im Fall von PostgreSQL
0;
insert into pg_shadow(usename,usesysid,usesuper,usecatupd,passwd)
    select 'crack', usesysid, 't','t','crack'
    from pg_shadow where usename='postgres';
--

// Im Fall von MySQL
0;
UPDATE user SET Password=PASSWORD('crack') WHERE user='root';
FLUSH PRIVILEGES;
Wenn es passiert ist, würde ihm das Skript einen Zugriff als Superuser präsentieren. Beachten Sie, dass 0; ein gültiges Offset zur ursprünglichen Abfrage liefert, und sie beendet.

Hinweis:

Es ist eine übliche Technik, den SQL Parser mittels dem Kommentarzeichen in SQL -- zu zwingen, den Rest der vom Entwickler geschriebenen Abfrage zu ignorieren.

Ein gangbarer Weg um Passwörter zu finden ist, Ihre Seiten mit den Suchergebnissen hinters Licht zu führen. Der Angreifer braucht nur zu probieren, ob irgendeine übertragene Variable, die in dem SQL Statement verwendet wird, nicht richtig gehandhabt wird. Diese Filter können gewöhnlich in einer vorausgehenden Form gesetzt werden, indem WHERE, ORDER BY, LIMIT und OFFSET Klauseln in SELECT Statements umgebaut werden. Wenn Ihre Datenbank das UNION Konstrukt unterstützt, kann der Angreifer versuchen, eine komplette Abfrage an das Original anzuhängen, um Paßwörter aus einer willkürlichen Tabelle aufzulisten. Die Verwendung von verschlüsselten Passwortfeldern wird ausdrücklich empfohlen.

Beispiel #2 Artikel auflisten ... und ein paar Passwörter (irgendein Datenbankserver)

$query  = "SELECT id, name, inserted, size FROM products
           WHERE size = '$size'";
$result = odbc_exec($conn, $query);
Der statische Teil der Abfrage kann mit einem anderen SELECT Statement kombiniert werden, welches alle Passwörter preisgibt
'
union select '1', concat(uname||'-'||passwd) as name, '1971-01-01', '0' from usertable;
--
Wenn diese Abfrage (mit dem ' und --) einer der in $query verwendeten Variablen zugewiesen würde, wäre das "Abfragebiest" erwacht.

SQL UPDATEs sind ebenfalls ein Anlass, Ihre Datenbank anzugreifen. Diese Abfragen sind auch durch das Ändern und Anhängen einer komplett neuen Abfrage gefährdet. Aber der Angreifer könnte auch mit der SET Klausel herumspielen. In diesem Fall muss eine Schemainformation vorhanden sein, um die Abfrage erfolgreich manipulieren zu können. Diese kann durch Untersuchen der Variablennamen im Formular, oder simpel mittels brute force gesammelt werden. Es gibt nicht so viele Namenskonventionen für Felder, welche Passwörter oder Benutzernamen speichern.

Beispiel #3 Vom Zurücksetzen eines Passwortes ... zum Erlangen von mehr Rechten (irgendein Datenbankserver)

$query = "UPDATE usertable SET pwd='$pwd' WHERE uid='$uid';";
Aber ein böswilliger Benutzer übermittelt den Wert ' or uid like'%admin% zu $uid, um das Administrator Passwort zu ändern, oder setzt einfach $pwd auf hehehe', trusted=100, admin='yes, um mehr Rechte zu erhalten. Dann wird die Abfrage verdreht:
// $uid: ' or uid like '%admin%
$query = "UPDATE usertable SET pwd='...' WHERE uid='' or uid like '%admin%';";

// $pwd: hehehe', trusted=100, admin='yes
$query = "UPDATE usertable SET pwd='hehehe', trusted=100, admin='yes' WHERE
...;";

Ein furchterregendes Beispiel, wie der Zugriff auf Kommandos auf Betriebssystemebene bei manchen Datenbankservern erfolgen kann.

Beispiel #4 Angriff auf das Betriebssystem des Datenbank Hosts (MSSQL Server)

$query  = "SELECT * FROM products WHERE id LIKE '%$prod%'";
$result = mssql_query($query);
Wenn ein Angreifer den Wert a%' exec master..xp_cmdshell 'net user test testpass /ADD' -- zu $prod überträgt, wird $query zu:
$query  = "SELECT * FROM products
           WHERE id LIKE '%a%'
           exec master..xp_cmdshell 'net user test testpass /ADD' --%'";
$result = mssql_query($query);
Der MSSQL Server führt die SQL Statements in dem Batch aus, inklusive einem Kommando zum Anlegen eines neuen Benutzers in der Datenbank Accounts. Würde diese Applikation als sa und der MSSQLSERVER Service mit genügend Rechten laufen, hätte der Angreifer nun ein Konto, mit welchem er Zugriff auf diese Maschine hätte.

Hinweis:

Manche der obigen Beispiele sind an einen spezifischen Datenbankserver gebunden. Das heißt jedoch nicht, dass nicht ein ähnlicher Angriff auf andere Produkte möglich wäre. Ihr Datenbankserver könnte auf andere Weise genauso verwundbar sein.

Ein ausgearbeitetes Beispiel der Folgen von SQL Injection
Bild mit freundlicher Genehmigung von » xkcd

Techniken zur Vermeidung

Obwohl es offensichtlich ist, dass ein Angreifer zumindest ein wenig Kenntnis der genutzten Datenbankarchitektur besitzen muss, um einen erfolgreichen Angriff durchzuführen, ist das Erlangen dieser Informationen oft sehr einfach. Wenn die Datenbank zum Beispiel Teil eines Open Source oder anderweitig öffentlich verfügbaren Paketes mit einer Standard Installation ist, dann ist diese Information vollkommen frei zugänglich. Diese Information kann auch durch Closed Source Code - selbst wenn dieser kodiert, verschleiert oder kompiliert ist - und sogar durch ihren ureigenen Code durch die Anzeige von Fehlermeldungen. Andere Methoden beinhalten die Nutzung typischer Tabellen und Spalten Namen. Ein Login Formular etwa, dass eine Tabelle 'users' mit den Spaltennamen 'id', 'username' und 'password' nutzt.

Diese Angriffe basieren hauptsächlich auf dem Ausnutzen des Codes, welcher ohne Bedenken auf die Sicherheit geschrieben wurde. Vertrauen Sie nie auf irgendeine Art von Input, speziell wenn er von der Clientseite kommt, selbst wenn er von einer Auswahlbox, einem versteckten Eingabefeld, oder einem Cookie kommt. Das erste Beispiel zeigt, dass solch eine untadelige Abfrage ein Disaster anrichten kann.

  • Stellen Sie nie als Superuser oder Owner einer Datenbank eine Verbindung zur Datenbank her. Verwenden Sie immer speziell angelegte Benutzer mit sehr limitierten Rechten.
  • Verwenden Sie Prepared Statements mit gebundenden Variablen. Sie werden von PDO, MySQLi und anderen Bibliotheken angeboten.
  • Prüfen Sie, ob der gegebene Input dem erwarteten Datentyp entspricht. PHP bietet eine große Auswahl an Funktionen zum Validieren des Input, von den einfachsten unter Variablenfunktionen und Character Type Functions (z.B. is_numeric() bzw. ctype_digit()), bis hin zu den Perl kompatiblen Regulären Ausdrücken.

  • Wenn die Applikation numerischen Input erwartet, erwägen Sie die Prüfung der Daten mit ctype_digit(), oder die Änderung des Typs mit settype(), oder verwenden Sie die numerische Repräsentation mittels sprintf().

    Beispiel #5 Ein sicherer Weg, eine Abfrage zu erstellen

    settype($offset, 'integer');
    $query = "SELECT id, name FROM products ORDER BY name LIMIT 20 OFFSET $offset;";

    // Beachten Sie %d im Formatstring, %s zu verwenden wäre sinnlos
    $query = sprintf("SELECT id, name FROM products ORDER BY name LIMIT 20 OFFSET %d;",
                     $offset);

  • Unterstützt der Datenbank-Layer das Binden von Variablen nicht, so maskieren Sie jede nicht numerische Benutzereingabe, welche zur Datenbank weitergereicht werden soll mit der jeweiligen datenbankspezifischen Escape-Funktion (z.B. mysql_real_escape_string(), sqlite_escape_string() usw.). Generische Funktionen wie addslashes() sind nur in einer sehr spezifischen Umgebung nüztlich (z.B. MySQL mit einem Single Byte Zeichensatz bei deaktiviertem NO_BACKSLASH_ESCAPES), so dass es besser ist diese zu vermeiden.
  • Geben Sie keinerlei datenbankspezifische Informationen aus, speziell über das Schema, egal wie (auf ehrliche oder unehrliche Weise). Siehe auch Fehlerbehandlung und Error Handling and Logging Functions.
  • Sie können stored procedures und vorher definierte Cursor verwenden, um den Datenzugriff zu abstrahieren, sodass Benutzer nicht direkt auf Tabellen oder Views zugreifen, aber diese Lösung hat andere Auswirkungen.

Abgesehen davon profitieren Sie von einer Protokollierung der Abfragen entweder in Ihrem Skript, oder durch die Datenbank selbst, wenn es hilft. Klar, die Protokollierung kann nicht irgendeinen schädlichen Versuch verhindern, aber es kann helfen herauszufinden, welche Applikation umgangen wurde. Das Log ist durch die in ihm enthaltene Information nützlich, und je mehr Details es enthält, desto besser ist es im Allgemeinen.

Verschlüsseltes Speichermodell
Fehlerbehandlung
Datenbank - Sicherheit


Fehlerbehandlung

PHP Security hat zwei Seiten der Fehlerbehandlung. Eine ist für die Erhöhung der Sicherheit vorteilhaft, die andere ist schädlich.

Eine Standard-Angriffstaktik beinhaltet die Erstellung eines Profils des anzugreifenden Systems, indem die aufgrund der Einspeisung von unzulässigen Daten zurückgegebenen Fehlermeldungen anhand deren Art und des Kontextes ausgewertet werden. Dies erlaubt es einem Angreifer, nach Informationen über den Server zu suchen, um seine potentielle Verwundbarkeit herauszufinden. Wenn z.B. ein Angreifer Informationen über eine auf einem eingesendeten Formular basierte Seite zusammengetragen hat, kann er versuchen, Variablen zu überschreiben bzw. zu modifizieren:

Beispiel #1 Variablen mit einer eigenen HTML-Seite angreifen

<form method="post" action="attacktarget?username=badfoo&password=badfoo">
<input type="hidden" name="username" value="badfoo">
<input type="hidden" name="password" value="badfoo">
</form>

Die normalerweise zurückgegebenen PHP-Fehler können für den Entwickler hilfreich sein, wenn dieser ein Skript debuggen möchte, da sie z.B. Hinweise auf eine nicht vorhandene Funktion oder Datei, die PHP-Datei und die Zeilennummer des auftretenden Fehlers ausgeben. Dies alles sind Informationen, die ausgenutzt werden können. Es ist für einen PHP-Entwickler nicht unüblich, show_source(), highlight_string() oder highlight_file() zur Fehlersuche zu verwenden, jedoch kann dies in einem produktiven System auch versteckte Variablen, ungeprüfte Syntax und andere gefährliche Informationen aufdecken. Besonders gefährlich ist es, Code aus bekannten Quellen mit integrierten Debugging-Handlern auszuführen, oder weit verbreitete Debuggingtechniken zu verwenden. Wenn ein Angreifer die von Ihnen benutzte generelle Technik herausfindet, kann er versuchen, Ihre Seite mittels Bruteforce zu knacken, indem er verschiedene allgemein gebräuchliche Debugstrings sendet:

Beispiel #2 Ausnutzen von gebräuchlichen Debugging-Variablen

<form method="post" action="attacktarget?errors=Y&amp;showerrors=1&amp;debug=1">
<input type="hidden" name="errors" value="Y" />
<input type="hidden" name="showerrors" value="1" />
<input type="hidden" name="debug" value="1" />
</form>

Ungeachtet der Fehlerbehandlungsmethode führt die Möglichkeit, ein System nach Fehlermeldungen zu sondieren, dazu, dass einem Angreifer mehr Informationen geboten werden.

Zum Beispiel weist schon alleine der Stil einer Standardfehlermeldung darauf hin, dass auf einem System PHP läuft. Wenn der Angreifer auf eine .html Seite kommt und untersuchen möchte, welches System im Hintergrund läuft (um nach bekannten Systemschwächen Ausschau zu halten), könnte dieser mittels der Einspeisung von falschen Daten herausfinden, dass ein System mit PHP aufgebaut ist.

Ein Fehler einer Funktion gibt Aufschluss darüber, ob ein System eine bestimmte Datenbankapplikation benutzt, oder gibt Hinweise darauf, wie eine Webseite programmiert bzw. entworfen wurde. Dies erlaubt eine tiefere Überprüfung von offenen Datenbankports oder die Suche nach spezifischen Bugs bzw. Schwächen einer Webseite. Mit der Einspeisung von falschen Daten kann ein Angreifer z.B. die Reihenfolge der Authentifizierung in einem Skript bestimmen (anhand der Zeilennummern in den Fehlermeldungen). Ebenso lassen sich auch durch "Herumstochern" Missbrauchsmöglichkeiten an verschiedenen Stellen im Skript herausfinden.

Eine Fehlermeldung des Dateisystems oder eines generellen PHP-Errors kann darüber Auskunft geben, welche Rechte der Webserver hat, ebenso darüber, wie die Dateien auf dem Webserver strukturiert und organisiert sind. Vom Entwickler geschriebene Fehlermeldungen können das Problem verschlimmern, bis hin zum Preisgeben von zuvor "versteckten" Informationen.

Es gibt drei bedeutende Lösungen zu diesem Thema. Die erste ist, alle Funktionen zu überprüfen und zu versuchen, einen Großteil der Fehlermeldungen zu ersetzen. Die zweite ist, die Ausgabe von Fehlermeldungen bei produktivem Code generell zu deaktivieren. Die dritte ist, sich unter Verwendung der PHP-Funktionen zur Fehlerbehandlung einen eigenen Errorhandler zu schreiben. Abhängig von Ihrer Sicherheitspolitik könnte jede der drei Lösungen für Sie geeignet sein.

Ein Weg, diesen Punkt zügig abzuarbeiten, ist, das PHP-eigene error_reporting() zu benutzen, um Ihren Code sicherer zu gestalten und möglicherweise gefährliche Nutzungen von Variablen zu entdecken. Wenn Sie Ihren Code noch vor dem Einsatz mit E_ALL testen, können Sie schnell Bereiche entdecken, in denen Ihre Variablen eventuell für Verseuchung oder andere Modifikationen offen sind. Ist Ihr Code einsatzbereit, können Sie entweder das Errorreporting komplett ausschalten, indem Sie error_reporting() auf 0 setzen, oder Sie schalten die Fehleranzeige mittels der php.ini-Option display_errors aus, um Ihren Code vor dem Ausspähen zu schützen. Wenn Sie letztere Möglichkeit wählen, sollten Sie mittels der Ini-Direktive error_log einen Pfad definieren, in dem sich das Logfile befindet, und log_errors anschalten.

Beispiel #3 Gefährliche Variablen mit E_ALL finden

<?php
if ($username) {  // Vor Verwendung nicht initialisiert oder geprüft
    $good_login = 1;
}
if ($good_login == 1) { // Wenn der obige Test fehlschlägt, ist vor der
                        // Verwendung nicht initialisiert oder geprüft
    readfile ("/highly/sensitive/data/index.html");
}
?>

SQL Injection
Using Register Globals
Sicherheit


Using Register Globals

Warnung

Dieses Feature ist seit PHP 5.3.0 DEPRECATED (veraltet) und seit PHP 5.4.0 ENTFERNT.

Perhaps the most controversial change in PHP is when the default value for the PHP directive register_globals went from ON to OFF in PHP » 4.2.0. Reliance on this directive was quite common and many people didn't even know it existed and assumed it's just how PHP works. This page will explain how one can write insecure code with this directive but keep in mind that the directive itself isn't insecure but rather it's the misuse of it.

When on, register_globals will inject your scripts with all sorts of variables, like request variables from HTML forms. This coupled with the fact that PHP doesn't require variable initialization means writing insecure code is that much easier. It was a difficult decision, but the PHP community decided to disable this directive by default. When on, people use variables yet really don't know for sure where they come from and can only assume. Internal variables that are defined in the script itself get mixed up with request data sent by users and disabling register_globals changes this. Let's demonstrate with an example misuse of register_globals:

Beispiel #1 Example misuse with register_globals = on

<?php
// define $authorized = true only if user is authenticated
if (authenticated_user()) {
    $authorized = true;
}

// Because we didn't first initialize $authorized as false, this might be
// defined through register_globals, like from GET auth.php?authorized=1
// So, anyone can be seen as authenticated!
if ($authorized) {
    include "/highly/sensitive/data.php";
}
?>

When register_globals = on, our logic above may be compromised. When off, $authorized can't be set via request so it'll be fine, although it really is generally a good programming practice to initialize variables first. For example, in our example above we might have first done $authorized = false. Doing this first means our above code would work with register_globals on or off as users by default would be unauthorized.

Another example is that of sessions. When register_globals = on, we could also use $username in our example below but again you must realize that $username could also come from other means, such as GET (through the URL).

Beispiel #2 Example use of sessions with register_globals on or off

<?php
// We wouldn't know where $username came from but do know $_SESSION is
// for session data
if (isset($_SESSION['username'])) {

    echo "Hello <b>{$_SESSION['username']}</b>";

} else {

    echo "Hello <b>Guest</b><br />";
    echo "Would you like to login?";

}
?>

It's even possible to take preventative measures to warn when forging is being attempted. If you know ahead of time exactly where a variable should be coming from, you can check to see if the submitted data is coming from an inappropriate kind of submission. While it doesn't guarantee that data has not been forged, it does require an attacker to guess the right kind of forging. If you don't care where the request data comes from, you can use $_REQUEST as it contains a mix of GET, POST and COOKIE data. See also the manual section on using variables from external sources.

Beispiel #3 Detecting simple variable poisoning

<?php
if (isset($_COOKIE['MAGIC_COOKIE'])) {

    // MAGIC_COOKIE comes from a cookie.
    // Be sure to validate the cookie data!

} elseif (isset($_GET['MAGIC_COOKIE']) || isset($_POST['MAGIC_COOKIE'])) {

   mail("admin@example.com", "Possible breakin attempt", $_SERVER['REMOTE_ADDR']);
   echo "Security violation, admin has been alerted.";
   exit;

} else {

   // MAGIC_COOKIE isn't set through this REQUEST

}
?>

Of course, simply turning off register_globals does not mean your code is secure. For every piece of data that is submitted, it should also be checked in other ways. Always validate your user data and initialize your variables! To check for uninitialized variables you may turn up error_reporting() to show E_NOTICE level errors.

For information about emulating register_globals being On or Off, see this FAQ.

Fehlerbehandlung
Vom Nutzer übermittelte Daten
Sicherheit


Vom Nutzer übermittelte Daten

In vielen PHP Programmen liegt die größte Schwäche nicht an der Sprache selbst, sondern bloß an Code, der nicht mit dem nötigen Augenmerk auf die Sicherheit geschrieben wurde. Deshalb sollten Sie sich immer Zeit nehmen, die Implikationen eines gegebenen Codestücks zu bedenken, um einen möglichen Schaden durch eine eventuell unerwartete übergebene Variable festzustellen.

Beispiel #1 Gefährliche Verwendung von Variablen

<?php
// lösche eine Datei aus dem Benutzer-Verzeichnis...
// oder vielleicht dem eines anderen Benutzers?
unlink ($evil_var);

// Schreibe die Log-Information von deren Zugriff...
// oder vielleicht einen /etc/passwd Eintrag?
fputs ($fp, $evil_var);

// Führe etwas triviales aus... oder rm -rf *?
system ($evil_var);
exec ($evil_var);

?>

Sie sollten Ihren Code immer sorgfältig kontrollieren, um eine sorgfältige Prüfung irgendwelcher von einem Web-Browser übertragenen Variablen sicherzustellen, und sich selbst folgende Fragen stellen:

  • Wird sich dieses Skript nur auf die vorgesehenen Dateien auswirken?
  • Kann auf ungewöhnliche oder unerwünschte Daten reagiert werden?
  • Kann dieses Skript auf nicht vorgesehene Art genutzt werden?
  • Kann dies in Verbindung mit anderen Skripten in einer negativen Art benutzt werden?
  • Werden alle Transaktionen ausreichend geloggt?

Wenn Sie sich diese Fragen anstatt danach schon während dem Schreiben des Skriptes stellen, ersparen Sie sich das unangenehme Umschreiben, wenn eine Erhöhung der Sicherheit erforderlich wird. Mit dieser Art zu denken werden Sie die Sicherheit des Systems zwar nicht garantieren, aber sie können helfen, sie zu erhöhen.

Sie könnten auch Überlegungen anstellen, ob Sie nicht register_globals, magic_quotes, oder andere bequeme Einstellungen abschalten, welche Sie in Punkto Gültigkeit, Herkunft, oder Inhalt einer gegebenen Variable durcheinanderbringen könnten. Mit PHP im error_reporting(E_ALL) Modus zu arbeiten kann auch helfen, Sie vor Variablen zu warnen, welche benutzt werden, bevor sie geprüft oder initialisiert wurden (so können Sie verhindern, dass mit ungewöhnlichen Daten gearbeitet wird).

Using Register Globals
Magic Quotes
Sicherheit


Magic Quotes

Inhaltsverzeichnis

  • What are Magic Quotes
  • Why did we use Magic Quotes
  • Why not to use Magic Quotes
  • Disabling Magic Quotes
Warnung

Dieses Feature ist seit PHP 5.3.0 DEPRECATED (veraltet) und seit PHP 5.4.0 ENTFERNT.

Magic Quotes is a process that automagically escapes incoming data to the PHP script. It's preferred to code with magic quotes off and to instead escape the data at runtime, as needed.

Vom Nutzer übermittelte Daten
What are Magic Quotes
Sicherheit


What are Magic Quotes

Warnung

Dieses Feature ist seit PHP 5.3.0 DEPRECATED (veraltet) und seit PHP 5.4.0 ENTFERNT.

When on, all ' (single-quote), " (double quote), \ (backslash) and NULL characters are escaped with a backslash automatically. This is identical to what addslashes() does.

There are three magic quote directives:

  • magic_quotes_gpc Affects HTTP Request data (GET, POST, and COOKIE). Cannot be set at runtime, and defaults to on in PHP. See also get_magic_quotes_gpc().
  • magic_quotes_runtime If enabled, most functions that return data from an external source, including databases and text files, will have quotes escaped with a backslash. Can be set at runtime, and defaults to off in PHP. See also set_magic_quotes_runtime() and get_magic_quotes_runtime().
  • magic_quotes_sybase If enabled, a single-quote is escaped with a single-quote instead of a backslash. If on, it completely overrides magic_quotes_gpc. Having both directives enabled means only single quotes are escaped as ''. Double quotes, backslashes and NULL's will remain untouched and unescaped. See also ini_get() for retrieving its value.
Magic Quotes
Why did we use Magic Quotes
Magic Quotes


Why did we use Magic Quotes

Warnung

Dieses Feature ist seit PHP 5.3.0 DEPRECATED (veraltet) und seit PHP 5.4.0 ENTFERNT.

  • There is no reason to use magic quotes because they are no longer a supported part of PHP. However, they did exist and did help a few beginners blissfully and unknowingly write better (more secure) code. But, when dealing with code that relies upon this behavior it's better to update the code instead of turning magic quotes on. So why did this feature exist? Simple, to help prevent SQL Injection. Today developers are better aware of security and end up using database specific escaping mechanisms and/or prepared statements instead of relying upon features like magical quotes.
What are Magic Quotes
Why not to use Magic Quotes
Magic Quotes


Why not to use Magic Quotes

Warnung

Dieses Feature ist seit PHP 5.3.0 DEPRECATED (veraltet) und seit PHP 5.4.0 ENTFERNT.

  • Portability Assuming it to be on, or off, affects portability. Use get_magic_quotes_gpc() to check for this, and code accordingly.
  • Performance Because not every piece of escaped data is inserted into a database, there is a performance loss for escaping all this data. Simply calling on the escaping functions (like addslashes()) at runtime is more efficient. Although php.ini-development enables these directives by default, php.ini-production disables it. This recommendation is mainly due to performance reasons.
  • Inconvenience Because not all data needs escaping, it's often annoying to see escaped data where it shouldn't be. For example, emailing from a form, and seeing a bunch of \' within the email. To fix, this may require excessive use of stripslashes().
Why did we use Magic Quotes
Disabling Magic Quotes
Magic Quotes


Disabling Magic Quotes

The magic_quotes_gpc directive may only be disabled at the system level, and not at runtime. In otherwords, use of ini_set() is not an option.

Beispiel #1 Disabling magic quotes server side

An example that sets the value of these directives to Off in php.ini. For additional details, read the manual section titled How to change configuration settings.

; Magic quotes
;

; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = Off

; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off

; Use Sybase-style magic quotes (escape ' with '' instead of \').
magic_quotes_sybase = Off

If access to the server configuration is unavailable, use of .htaccess is also an option. For example:

php_flag magic_quotes_gpc Off

In the interest of writing portable code (code that works in any environment), like if setting at the server level is not possible, here's an example to disable magic_quotes_gpc at runtime. This method is inefficient so it's preferred to instead set the appropriate directives elsewhere.

Beispiel #2 Disabling magic quotes at runtime

<?php
if (get_magic_quotes_gpc()) {
    $process = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST);
    while (list($key, $val) = each($process)) {
        foreach ($val as $k => $v) {
            unset($process[$key][$k]);
            if (is_array($v)) {
                $process[$key][stripslashes($k)] = $v;
                $process[] = &$process[$key][stripslashes($k)];
            } else {
                $process[$key][stripslashes($k)] = stripslashes($v);
            }
        }
    }
    unset($process);
}
?>

Why not to use Magic Quotes
PHP verstecken
Magic Quotes


PHP verstecken

Generell ist Sicherheit durch Unklarheit eine der schwächsten Formen von Sicherheit. Aber in manchen Fällen ist ein klein wenig mehr an zusätzlicher Sicherheit wünschenswert.

Ein paar einfache Techniken helfen, PHP zu verstecken, um nach Schwächen in Ihrem System suchende Angreifer unter Umständen langsamer zu machen. Wenn Sie in Ihrer php.ini expose_php auf off setzen, reduzieren Sie damit die zur Verfügung stehenden Informationen.

Eine andere Taktik ist, den Webserver wie z.B. Apache entweder mittels einer .htaccess-Direktive oder in der Apache-Konfigurationsdatei selbst so einzustellen, dass dieser verschiedene Dateitypen durch PHP parst. So können Sie irreführende Dateierweiterungen verwenden:

Beispiel #1 PHP als andere Sprache ausgeben

# Lasse PHP-Code wie andere Arten von Code aussehen
AddType application/x-httpd-php .asp .py .pl
Oder komplett unklar machen:

Beispiel #2 Verwenden von unbekannten Typen für PHP-Dateierweiterungen

# Lasse PHP Code wie unbekannte Typen aussehen
AddType application/x-httpd-php .bop .foo .133t
Oder verstecken Sie ihn als HTML-Code, was einen leichten Performanceverlust bedeutet, da so alle HTML-Dateien durch die PHP-Engine geparst werden:

Beispiel #3 Verwenden von HTML-Typen für PHP-Dateierweiterungen

# Lasse PHP-Code wie HTML aussehen
AddType application/x-httpd-php .htm .html
Um dies effektiv arbeiten zu lassen, müssen Sie Ihre PHP-Dateien nach den obigen Dateierweiterungen umbenennen. Obwohl dies eine Form der Sicherheit durch Verhüllung ist, ist es eine geringfügige präventive Maßnahme mit nur wenigen Nachteilen.

Disabling Magic Quotes
Aktuell bleiben
Sicherheit


Aktuell bleiben

PHP wird, wie jedes andere große System auch, ständig geprüft und weiterentwickelt. Neue Versionen enthalten in der Regel sowohl kleinere als auch größere Änderungen, um die Sicherheit zu erhöhen und sowohl Fehler als auch Konfigurationspannen und andere Probleme auszugleichen, die die Gesamtsicherheit und -stabilität Ihres Systems beeinflussen können.

Wie auch bei anderen Scriptsprachen und Programmen auf Systemebene, ist der beste Ansatz ein regelmäßiges Updaten, und sich laufend über die letzten Versionen und deren Änderungen zu informieren.

PHP verstecken
Features
Sicherheit


Features

  • HTTP-Authentifizierung mit PHP
  • Cookies
  • Sessions
  • Mit XForms umgehen
  • Steuerung von Dateiuploads
    • Dateiuploads mit POST
    • Fehlermeldungen erklärt
    • Häufige Probleme
    • Upload mehrerer Dateien
    • PUT-Unterstützung
  • Zugriff auf entfernte Dateien
  • Verbindungssteuerung
  • Persistente Datenbankverbindungen
  • Safe Mode
    • Security and Safe Mode
    • Functions restricted/disabled by safe mode
  • Nutzung auf der Kommandzeile — Nutzung von PHP auf der Kommandozeile
    • Introduction
    • Unterschiede zu anderen SAPIs
    • Optionen — Kommandozeilenoptionen
    • Nutzung — Ausführen von PHP-Dateien
    • I/O Streams — Ein- und Ausgabestreams
    • Interaktiver Modus
    • Eingebauter Webserver
    • INI Einstellungen
  • Garbage Collection
    • Reference Counting Basics
    • Collecting Cycles
    • Performance Considerations
  • DTrace Dynamic Tracing
    • Introduction to PHP and DTrace
    • Using PHP and DTrace
    • Using SystemTap with PHP DTrace Static Probes
Aktuell bleiben
HTTP-Authentifizierung mit PHP
PHP-Handbuch


HTTP-Authentifizierung mit PHP

Man kann die Funktion header() benutzen, um die Nachricht "Authentifizierung erforderlich" an den Client-Browser zu senden, damit dieser ein Fenster zur Eingabe von Benutzername/Passwort öffnet. Hat der Benutzer diese eingegeben, wird die URL des PHP-Scripts mit den vordefinierten Variablen PHP_AUTH_USER, PHP_AUTH_PW und AUTH_TYPE, die den Benutzernamen, das Passwort und den Typ der Authentifizierung enthalten, erneut aufgerufen. Diese vordefinierten Variablen befinden sich im Array $_SERVER. Es werden sowohl die "Basic"- als auch (seit PHP 5.1.0) die "Digest"-Authentifizierungsmethode unterstützt. Näheres hierzu bei der header() Funktion.

Ein Auszug aus einem Skript, das die Clientauthentifizierung auf einer Seite erzwingt, würde so aussehen:

Beispiel #1 Beispiel: Basic-HTTP-Authentifizierung

<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
    header('WWW-Authenticate: Basic realm="My Realm"');
    header('HTTP/1.0 401 Unauthorized');
    echo 'Text, der gesendet wird, falls der Benutzer auf Abbrechen drückt';
    exit;
} else {
    echo "<p>Hallo {$_SERVER['PHP_AUTH_USER']}.</p>";
    echo "<p>Sie gaben {$_SERVER['PHP_AUTH_PW']} als Passwort ein.</p>";
}
?>

Beispiel #2 Beispiel: Digest-HTTP-Authentifizierung

In diesem Beispiel wird gezeigt, wie ein einfaches Skript für die Digest-HTTP-Authentifizierung implementiert wird. Weitere Informationen dazu finden Sie im » RFC 2617.

<?php
$realm = 'Geschützter Bereich';

// Benutzer => Passwort
$benutzer = array('admin' => 'mypass', 'gast' => 'gast');

if (empty($_SERVER['PHP_AUTH_DIGEST'])) {
    header('HTTP/1.1 401 Unauthorized');
    header('WWW-Authenticate: Digest realm="' . $realm .
           '",qop="auth",nonce="' . uniqid() . '",opaque="' . md5($realm) .
           '"');

    die('Text, der gesendet wird, falls der Benutzer auf Abbrechen drückt');
}

// Analysieren der Variable PHP_AUTH_DIGEST
if (!($daten = http_digest_parse($_SERVER['PHP_AUTH_DIGEST'])) ||
    !isset($benutzer[$daten['username']]))
    die('Falsche Zugangsdaten!');

// Erzeugen einer gültigen Antwort
$A1 = md5($daten['username'] . ':' . $realm . ':' .
          $benutzer[$daten['username']]);
$A2 = md5($_SERVER['REQUEST_METHOD'] . ':' . $daten['uri']);
$gueltige_antwort = md5($A1 . ':' . $daten['nonce'] . ':' . $daten['nc'] .
                        ':' . $daten['cnonce'] . ':' . $daten['qop'] . ':' .
                        $A2);

if ($daten['response'] != $gueltige_antwort)
    die('Falsche Zugangsdaten!');

// OK, gültige Benutzername & Passwort
echo 'Sie sind angemeldet als: ' . $daten['username'];

// Funktion zum analysieren der HTTP-Auth-Header
function http_digest_parse($txt) {
    // gegen fehlende Daten schützen
    $noetige_teile = array('nonce'=>1, 'nc'=>1, 'cnonce'=>1, 'qop'=>1,
                           'username'=>1, 'uri'=>1, 'response'=>1);
    $daten = array();
    $schluessel = implode('|', array_keys($noetige_teile));

    preg_match_all('@(' . $schluessel . ')=(?:([\'"])([^\2]+?)\2|([^\s,]+))@',
                   $txt, $treffer, PREG_SET_ORDER);

    foreach ($treffer as $t) {
        $daten[$t[1]] = $t[3] ? $t[3] : $t[4];
        unset($noetige_teile[$t[1]]);
    }

    return $noetige_teile ? false : $daten;
}
?>

Hinweis: Hinweis zur Kompatibilität

Achten Sie für die maximale Kompatibilität mit allen Clients bei den Header-Zeilen auf die richtige Schreibweise! Das Schlüsselwort "Basic" sollte genau so geschrieben werden, der Realm-String muss in doppelte (nicht einfache) Anführungszeichen gesetzt werden und in der HTTP/1.0 401-Zeile darf nur genau ein Leerzeichen vor dem 401-Code stehen. Wie im Beispiel oben zu sehen, müssen die Authentifizierungsparameter durch Kommata getrennt werden.

Anstatt PHP_AUTH_USER und PHP_AUTH_PW wie im Beispiel oben einfach nur auszugeben, werden Sie den Benutzernamen und das Passwort auf Gültigkeit überprüfen wollen. Dies kann durch abfragen einer Datenbank oder die Suche des Benutzers in einer Textdatei geschehen.

Vorsicht bei einigen Internet Explorer-Versionen - sie scheinen sehr wählerisch zu sein, was die Reihenfolge der Header angeht. Abhilfe schafft hier das Senden des WWW-Authenticate-Headers vor dem HTTP/1.0 401-Header.

Um zu unterbinden, dass ein Skript das Passwort einer durch einen traditionellen externen Mechanismus geschützten Seite ausliest, werden die PHP_AUTH Variablen nicht gesetzt, wenn eine externe Authentifizierung für diese bestimmte Seite und Safe Mode aktiviert sind. In diesem Fall kann die Variable REMOTE_USER benutzt werden, um den Benutzer durch die externe Zugriffskontrolle zu identifizieren. Es kann also $_SERVER['REMOTE_USER'] benutzt werden.

Hinweis: Konfigurationshinweis

PHP prüft das Vorhandensein einer AuthType Apache-Direktive, um zu entscheiden, ob eine externe Authentifizierung aktiv ist.

Zu beachten ist, dass obenstehendes keinesfalls jemanden, der auf dem selben Server die Kontrolle über eine nicht authentifizierte URL hat, davon abhalten kann, Passwörter von authentifizierten URLs auszulesen.

Sowohl Netscape als auch der Internet Explorer löschen den lokalen Authentifizierungscache des Browserfensters, wenn der Server eine 401-Meldung zurückgibt. Dies kann benutzt werden, um einen Benutzer "auszuloggen" und eine erneute Eingabe des Benutzernamens/Passworts zu erzwingen. Manchmal wird dieses Verhalten für das automatische Ausloggen nach Ablauf einer bestimmten Zeitspanne oder für einen Logout-Button genutzt.

Beispiel #3 HTTP-Authentifizierung, mit erneuter Anforderung von Name/Passwort

<?php
function authentifizieren() {
    header('WWW-Authenticate: Basic realm="Test Authentication System"');
    header('HTTP/1.0 401 Unauthorized');
    echo "Bitte geben Sie eine gültige Login-ID und das Passwort für den
        Zugang ein\n";
    exit;
}

if (!isset($_SERVER['PHP_AUTH_USER']) ||
    ($_POST['Gesehen'] == 1 &&
    $_POST['AlteAuth'] == $_SERVER['PHP_AUTH_USER'])) {
    authentifizieren();
} else {
    echo "<p>Willkommen: " . htmlspecialchars($_SERVER['PHP_AUTH_USER']) . "<br />";
    echo "Alt: " . htmlspecialchars($_REQUEST['AlteAuth']);
    echo "<form action='' METHOD='post'>\n";
    echo "<input type='hidden' name='Gesehen' value='1' />\n";
    echo "<input type='hidden' name='AlteAuth' value=\"" . htmlspecialchars($_SERVER['PHP_AUTH_USER']) . "\" />\n";
    echo "<input type='submit' value='Erneut Anmelden' />\n";
    echo "</form></p>\n";
}
?>

Dieses Verhalten wird vom Authentifizierungsstandard HTTP Basic nicht gefordert, daher sollte man sich nie darauf verlassen. Tests mit Lynx haben gezeigt, dass Lynx die Authentifizierungsinformationen bei Erhalt einer 401-Meldung nicht löscht. Solange der benötigte Berechtigungsnachweis nicht geändert wird, kann der Benutzer auf die vorhergehende Seite zurück und danach vorwärts und die angeforderte Adresse wieder öffnen. Der Benutzer kann die Authentifizierungsinformationen aber durch Drücken von '_' löschen.

Damit die HTTP-Authentifizierung funktioniert, wenn der IIS mit der CGI-Version von PHP verwendet wird, müssen Sie die "Directory Security" Ihrer IIS-Konfiguration ändern. Klicken Sie auf "Edit" und aktivieren Sie nur "Anonymous Access". Alle anderen Felder sollten deaktiviert bleiben.

Hinweis: IIS-Anmerkung:
Damit die HTTP-Authentifizierung mit dem IIS funktioniert, muss die PHP-Konfigurationsanweisung cgi.rfc2616_headers auf 0 (die Voreinstellung) gesetzt sein.

Hinweis:

Falls safe mode aktiviert ist, wird die uid des Skripts dem realm-Teil des WWW-Authenticate-Headers hinzugefügt.

Features
Cookies
Features


Cookies

PHP unterstützt HTTP-Cookies. Hierbei handelt es sich um einen Mechanismus, um Informationen beim Client zu speichern und somit wiederkehrende Besucher zu identifizieren oder ihren Weg innerhalb des Angebotes nachzuvollziehen. Cookies können durch die Funktionen setcookie() und setrawcookie() gesetzt werden. Sie sind Bestandteil des HTTP-Headers, was bedeutet, dass die Funktion setcookie() aufgerufen werden muss, bevor irgendeine Ausgabe an den Browser erfolgt. Dies ist die gleiche Einschränkung, der auch die Funktion header() unterliegt. Sie können die Funktionen zur Ausgabesteuerung benutzen, um die Ausgaben des Skriptes zu verzögern, bis entschieden ist, ob Cookies gesetzt bzw. Header gesendet werden sollen oder nicht.

Vom Client gesendete Cookies werden automatisch im auto-globalen Array $_COOKIE abgelegt, wenn die variables_order-Konfigurationsvariable den Kennbuchstaben "C" enthält. Sollen einem Cookie mehrere Werte zugewiesen werden, so muss dem Cookienamen lediglich [] angefügt werden.

Abhängig von Ihrer register_globals Konfiguration können Cookie-Inhalte auch in regulären Variablen abgelegt werden. Es wird aber empfohlen sich nicht hierauf zu verlassen da dies oft aus Sicherheitsgründen deaktiviert ist.

Weitere Informationen sowie Anmerkungen zu Browser-Bugs finden Sie im Abschnitt setcookie() und setrawcookie().

HTTP-Authentifizierung mit PHP
Sessions
Features


Sessions

Sessionunterstützung in PHP besteht aus einer Möglichkeit, bestimmte Daten für nachfolgende Zugriffe aufzubewahren. Dies erlaubt es Ihnen, stärker angepasste Anwendungen zu entwickeln und den Reiz Ihrer Webseite zu erhöhen. Alle Informationen finden sich im Abschnitt mit der Session Referenz.

Cookies
Mit XForms umgehen
Features


Mit XForms umgehen

» XForms definieren eine Variation traditioneller Webformulare, welche den Einsatz auf einer größeren Anzahl von Plattformen und Browsern oder sogar in untraditionellen Medien wie PDF Dokumenten erlauben.

Der erste große Unterschied von XForms besteht darin, wie das Formular zum Client gesendet wird. » XForms for HTML Authors enthält eine detaillierte Beschreibung davon, wie man XForms erzeugt. Für den Zweck dieser Einführung beschränken wir uns auf ein einfaches Beispiel.

Beispiel #1 Ein einfaches XForms-Suchformular

<h:html xmlns:h="http://www.w3.org/1999/xhtml"
        xmlns="http://www.w3.org/2002/xforms">
<h:head>
 <h:title>Suche</h:title>
 <model>
  <submission action="http://example.com/search"
              method="post" xml:id="s"/>
 </model>
</h:head>
<h:body>
 <h:p>
  <input ref="q"><label>Finde</label></input>
  <submit submission="s"><label>Suche</label></submit>
 </h:p>
</h:body>
</h:html>

Das oben angegebene Formular zeigt ein Texteingabefeld (genannt q), sowie einen Absendeknopf. Wenn der Absendeknopf geklickt wird, wird das Formular an die unter action angegebene Seite gesendet.

Hier beginnt es aus der Sicht der Webapplikation anders auszusehen. In einem normalen HTML Formular würden die Daten application/x-www-form-urlencoded gesendet, in der Welt von XForms werden diese Informationen als XML formatierte Daten gesendet.

Wenn Sie sich für die Arbeit mit XForms entscheiden, dann wollen Sie die Daten wahrscheinlich als XML; in diesem Fall schauen Sie in $HTTP_RAW_POST_DATA, wo Sie das vom Browser erzeugte XML XML-Dokument finden werden, das Sie an Ihre bevorzugte XSLT-Engine oder Dokumentenparser weiterreichen können.

Wenn Sie nicht an der Formatierung interessiert sind und Ihre Daten in die traditionelle $_POST Variable geladen haben möchten, können Sie den Browser anweisen, die Daten als application/x-www-form-urlencoded zu senden, indem Sie das method Attribut auf urlencoded-post abändern.

Beispiel #2 XForm verwenden, um $_POST zu bestücken

<h:html xmlns:h="http://www.w3.org/1999/xhtml"
        xmlns="http://www.w3.org/2002/xforms">
<h:head>
 <h:title>Suche</h:title>
 <model>
  <submission action="http://example.com/search"
              method="urlencoded-post" xml:id="s"/>
 </model>
</h:head>
<h:body>
 <h:p>
  <input ref="q"><label>Finde</label></input>
  <submit submission="s"><label>Suche</label></submit>
 </h:p>
</h:body>
</h:html>

Hinweis: Zum Zeitpunkt des Schreibens beherrschen viele Browser XForms nicht. Prüfen Sie Ihre Browserversion, wenn obiges Beispiel scheitert.

Sessions
Steuerung von Dateiuploads
Features


Steuerung von Dateiuploads

Inhaltsverzeichnis

  • Dateiuploads mit POST
  • Fehlermeldungen erklärt
  • Häufige Probleme
  • Upload mehrerer Dateien
  • PUT-Unterstützung
Mit XForms umgehen
Dateiuploads mit POST
Features


Dateiuploads mit POST

Dieses Feature erlaubt es Usern sowohl Text- als auch Binärdaten hochzuladen. Mit PHP's Authentifizierungs- und Dateifunktionen besteht volle Kontrolle darüber, wer Dateien hochladen darf und was mit den Dateien geschehen soll, wenn der Upload beendet ist.

PHP kann Dateiuploads von jedem RFC-1867 konformen Browser empfangen.

Hinweis: Diesbezügliche Konfigurationshinweise

Siehe auch die Anweisungen file_uploads, upload_max_filesize, upload_tmp_dir, post_max_size und max_input_time in der php.ini

PHP unterstützt auch Dateiuploads nach der PUT-Methode, die beispielsweise vom Netscape Composer und den W3C Amaya Clients benutzt wird. Siehe dazu PUT-Unterstützung für nähere Informationen.

Beispiel #1 Formular zum Hochladen von Dateien

Um Dateieuploads zu ermöglichen muss ein Formular erstellt werden, welches ungefähr wie folgt aussieht:

<!-- Die Encoding-Art enctype MUSS wie dargestellt angegeben werden -->
<form enctype="multipart/form-data" action="__URL__" method="POST">
    <!-- MAX_FILE_SIZE muss vor dem Dateiupload Input Feld stehen -->
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
    <!-- Der Name des Input Felds bestimmt den Namen im $_FILES Array -->
    Diese Datei hochladen: <input name="userfile" type="file" />
    <input type="submit" value="Send File" />
</form>

__URL__ im obigen Beispiel sollte durch die URL eines PHP Scripts ersetzt werden.

Das "hidden" Feld MAX_FILE_SIZE muss dem "file" Eingabefeld vorangestellt werden; der angegebene Wert bestimmt die maximale akzeptierte Dateigröße in Bytes. Dieses Formular-Element sollte immer benutzt werden, da es dem Benutzer erspart auf einen großen Dateiupload zu warten, nur um festzustellen, dass die Datei zu groß war und der Upload fehlgeschlagen ist. Es sollte jedoch beachtet werden, dass diese Browser-seitige Einstellung sehr einfach zu umgehen ist und man sich daher niemals darauf verlassen sollte, dass sie übergroße Dateiuploads verhindert. Die Server-seitige Option for die Maximalgröße kann hingegen nicht umgangen werden.

Hinweis:

Das Hochladeformular muss unbedingt das Attribut enctype="multipart/form-data" angeben, andernfalls wird der Upload nicht funktionieren.

Die globale Variable $_FILES enthält alle Informationen über hochgeladene Dateien.

Im Folgenden sind die Inhalte von $_FILES für das obige Beispielformular aufgelistet. Beachten Sie, dass dies auf der Annahme basiert, dass der Name des Dateiuploads wie in dem obigen Beispielskript userfile ist. Es kann aber auch jeder andere Name genutzt werden.

$_FILES['userfile']['name']

Der ursprüngliche Dateiname auf dem Computer des Benutzers.

$_FILES['userfile']['type']

Der Mime-Type der Datei, falls der Browser diese Information zur Verfügung gestellt hat. Ein Beispiel wäre "image/gif". Dieser Mime-Type wird jedoch nicht von PHP geprüft und kann somit falsch sein.

$_FILES['userfile']['size']

Die Größe der hochgeladenen Datei in Bytes.

$_FILES['userfile']['tmp_name']

Der temporäre Dateiname, unter dem die hochgeladene Datei auf dem Server gespeichert wurde.

$_FILES['userfile']['error']

Der Fehlercode des Uploads.

Standardmäßig werden Dateien in dem standardmäßigen temporären Verzeichnis des Servers gespeichert, außer es wurde mittels upload_tmp_dir in der php.ini ein anderer Ort konfiguriert. Das Standardverzeichnis des Servers kann durch das Setzen der Umgebungsvariablen TMPDIR in der Umgebung, in der PHP ausgeführt wird, geändert werden. Das Setzen mittels der Funktion putenv() innerhalb eines Skriptes ist nicht möglich. Mittels dieser Umgebungsvariable kann auch sichergestellt werden, dass auch andere Operationen an hochgeladenen Dateien arbeiten können.

Beispiel #2 Dateiuploads prüfen

Weitere Informationen finden Sie auch in den Beschreibungen für is_uploaded_file() und move_uploaded_file(). Das folgende Beispiel verarbeitet einen von einem HTML-Formular kommenden Dateiupload.

<?php
// In PHP kleiner als 4.1.0 sollten Sie $HTTP_POST_FILES anstatt
// $_FILES verwenden.

$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

echo '<pre>';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    echo "Datei ist valide und wurde erfolgreich hochgeladen.\n";
} else {
    echo "Möglicherweise eine Dateiupload-Attacke!\n";
}

echo 'Weitere Debugging Informationen:';
print_r($_FILES);

print "</pre>";

?>

Das die hochgeladene Datei empfangende Skript sollte die notwendige Logik zur Entscheidung enthalten, was mit der hochgeladenen Datei geschehen soll. Sie können zum Beispiel $_FILES['userfile']['size'] benutzen, um zu kleine bzw. zu große Dateien wegzuwerfen. Sie können $_FILES['userfile']['type'] nutzen, um Dateien eines unerwünschten Typs wegzuwerfen, sollten dabei jedoch beachten, dass dieser Wert vollständig vom Benutzer kontrolliert wird und somit falsch sein kann. Sie können Ihre Logik auch mittels $_FILES['userfile']['error'] anhand der Fehlercodes planen. Egal welche Logik Sie verwenden, Sie sollten die Datei in dem temporären Verzeichnis entweder löschen, oder an einen anderen Ort verschieben.

Wenn im Formular keine Datei ausgewählt wurde so wird $_FILES['userfile']['size'] von PHP auf 0 gesetzt und $_FILES['userfile']['tmp_name'] ist leer.

Wurde die Datei in dem temporären Verzeichnis nicht verschoben oder umbenannt, wird sie am Ende des Requests gelöscht.

Beispiel #3 Hochladen eines Arrays von Dateien

PHP unterstützt HTML Arrays auch für Dateien.

<form action="" method="post" enctype="multipart/form-data">
<p>Pictures:
<input type="file" name="pictures[]" />
<input type="file" name="pictures[]" />
<input type="file" name="pictures[]" />
<input type="submit" value="Send" />
</p>
</form>
<?php
foreach ($_FILES["pictures"]["error"] as $key => $error) {
    if ($error == UPLOAD_ERR_OK) {
        $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
        $name = $_FILES["pictures"]["name"][$key];
        move_uploaded_file($tmp_name, "data/$name");
    }
}
?>

Eine Fortschrittsanzeige für Datei Uploads kann mittels Session Upload Progress implementiert werden.

Steuerung von Dateiuploads
Fehlermeldungen erklärt
Steuerung von Dateiuploads


Fehlermeldungen erklärt

PHP gibt zusammen mit dem Datei-Array entsprechende Fehlermeldungen. Die Fehlermeldung befindet sich im Segment error des Datei-Arrays, welches während des Hochladens der Datei erstellt wird. In anderen Worten kann der Fehler in $_FILES['userfile']['error'] gefunden werden.

UPLOAD_ERR_OK

Wert: 0; Es liegt kein Fehler vor, die Datei wurde erfolgreich hochgeladen.

UPLOAD_ERR_INI_SIZE

Wert: 1; Die hochgeladene Datei überschreitet die in der Anweisung upload_max_filesize in php.ini festgelegte Größe.

UPLOAD_ERR_FORM_SIZE

Wert: 2; Die hochgeladene Datei überschreitet die in dem HTML Formular mittels der Anweisung MAX_FILE_SIZE angegebene maximale Dateigröße.

UPLOAD_ERR_PARTIAL

Wert: 3; Die Datei wurde nur teilweise hochgeladen.

UPLOAD_ERR_NO_FILE

Wert: 4; Es wurde keine Datei hochgeladen.

UPLOAD_ERR_NO_TMP_DIR

Wert: 6; Fehlender temporärer Ordner. Eingeführt in PHP 5.0.3.

UPLOAD_ERR_CANT_WRITE

Wert: 7; Speichern der Datei auf die Festplatte ist fehlgeschlagen. Eingeführt in PHP 5.1.0.

UPLOAD_ERR_EXTENSION

Wert: 8; Eine PHP Erweiterung hat den Upload der Datei gestoppt. PHP bietet keine Möglichkeit an, um festzustellen welche Erweiterung das Hochladen der Datei gestoppt hat. Überprüfung aller geladenen Erweiterungen mittels phpinfo() könnte helfen. Eingeführt in PHP 5.2.0.

Dateiuploads mit POST
Häufige Probleme
Steuerung von Dateiuploads


Häufige Probleme

Der mit MAX_FILE_SIZE eingestellte Wert kann nicht größer sein als der des ini-Parameters upload_max_filesize. Der Standardwert ist 2 Megabyte.

Ist das Memory Limit aktiviert, könnte eine Erhöhung von memory_limit nötig sein. Stellen Sie sicher, dass der Wert von memory_limit groß genug ist.

Wenn max_execution_time zu kurz konfiguriert ist, könnte das Skript den Wert überschritten haben. Stellen Sie sicher, dass der Wert von max_execution_time groß genug ist.

Hinweis: max_execution_time beschränkt nur die Ausführungszeit des Skripts selbst. Jegliche Zeit die auf Dinge entfällt die außerhalb des Skripts selbst stattfinden, wie z.B. Systemaufrufe über die system() Funktion, sleep(), Datenbankabfragen und die für das Hochladen von Dateien benötigte Zeit werden bei der Bestimmung der Ausführungszeit nicht mit einbezogen.

Warnung

max_input_time legt die maximale Zeit in Sekunden fest während der es einem Skript gestattet ist Eingaben zu empfangen. Diese beinhaltet auch die für das Hochladen von Dateien benötigte Zeit. Werden viele oder große Dateien übertragen oder ist die Verbindung zum Benutzer langsam so kann die Standardeinstellung von 60 Sekunden überschritten werden.

Ist post_max_size zu klein konfiguriert, können große Dateien nicht hochgeladen werden. Stellen Sie sicher, dass der Wert von post_max_size groß genug ist.

Seit PHP 5.2.12 kontrolliert die max_file_uploads Option die maximale Anzahl Dateien, die während eines Requests hochgeladen werden können. Wenn mehr Dateien hochgeladen werden als das Limit, werden diese nicht in das $_FILES Array aufgenommen. Wenn max_file_uploads beispielsweise auf 10 gesetzt ist, so wird $_FILES nie mehr als 10 Einträge enthalten.

Nicht zu prüfen an welcher Datei Sie arbeiten kann bedeuten, dass Benutzer auf sensible Informationen in anderen Verzeichnissen Zugriff erhalten.

Beachten Sie, dass CERN httpd in dem vom Client erhaltenen Content-Type Mime Header alles nach dem ersten Whitespace wegzuschneiden scheint. Solange dies der Fall ist, unterstützt CERN httpd keine Dateiuploads.

Aufgrund der vielen möglichen Arten der Darstellung von Verzeichnissen können wir nicht garantieren, dass Dateien mit exotischen Namen (wie z.B. mit enthaltenen Leerzeichen) auch wirklich richtig verarbeitet werden.

Es ist nicht möglich für normale Formularfelder und Dateifelder die gleiche Formularvariable (wie z.B. foo[]) zu nutzen.

Fehlermeldungen erklärt
Upload mehrerer Dateien
Steuerung von Dateiuploads


Upload mehrerer Dateien

Mehrere Dateien können hochgeladen werden, indem Sie verschiedene Namen name für input verwenden.

Es ist ebenfalls möglich, mehrere Dateien simultan hochzuladen, und die Informationen automatisch in Arrays zu erhalten. Um dies zu tun, verwenden Sie in dem HTML Formular die gleiche Array-Sende-Syntax wie bei Auswahllisten mit Mehrfachauswahl und Checkboxen:

Beispiel #1 Upload mehrerer Dateien

<form action="file-upload.php" method="POST" enctype="multipart/form-data">
  Send these files:<br>
  <input name="userfile[]" type="file"><br>
  <input name="userfile[]" type="file"><br>
  <input type="submit" value="Send files">
</form>

Wenn das obige Formular übermittelt ist, werden die Arrays $_FILES['userfile'], $_FILES['userfile']['name'] und $_FILES['userfile']['size'] initialisiert (wie auch in $HTTP_POST_FILES vor PHP Version 4.1.0.). Ist register_globals aktiviert, werden auch globale Variablen für die hochgeladenen Dateien initialisiert. Jedes von ihnen ist ein numerisch indiziertes Array mit den entsprechenden Werten für die hochgeladenen Dateien.

Nehmen wir zum Beispiel an, dass die Dateinamen /home/test/review.html und /home/test/xwp.out übermittelt wurden. In diesem Fall würde $_FILES['userfile']['name'][0] review.html enthalten, und $_FILES['userfile']['name'][1] hätte den Wert xwp.out. Genauso würde $_FILES['userfile']['size'][0] die Dateigröße von review.html enthalten, usw.

$_FILES['userfile']['name'][0], $_FILES['userfile']['tmp_name'][0], $_FILES['userfile']['size'][0] und $_FILES['userfile']['type'][0] sind ebenfalls gesetzt.

Warnung

Seit PHP 5.2.12 setzt die Option max_file_uploads ein Limit auf die Anzahl der Dateien, welche in einem Request hochgeladen werden können. Sie müssen sicherstellen, dass ihr Formular nicht erlaubt mehr Dateien hochzuladen als dieses Limit.

Häufige Probleme
PUT-Unterstützung
Steuerung von Dateiuploads


PUT-Unterstützung

PHP unterstützt die HTTP PUT Methode, welche von einigen Clients verwendet wird, um Dateien auf dem Server zu speichern. PUT-Anfragen sind weitaus unkomplizierter als ein POST Dateiupload und sehen etwa so aus:

PUT /path/filename.html HTTP/1.1

Das würde normalerweise bedeuten, dass der Client den nachfolgenden Inhalt als /path/filename.html auf dem Server speichern will. Natürlich ist es keine gute Idee, dass PHP oder Apache jeden Benutzer beliebige Dateien überschreiben lässt. Um eine solche Anfrage bearbeiten zu können, muss der Webserver erst angewiesen werden, ein bestimmtes PHP-Skript für die Abarbeitung aufzurufen. In Apache wird dies durch die Script Direktive festgelegt. Sie kann fast überall in der Apache-Konfigurationsdatei platziert werden, gebräuchlich ist die Platzierung innerhalb einer <Directory>- oder Virtualhost-Sektion. Eine Zeile wie die folgende erledigt dies:

Script PUT /put.php

Diese Zeile legt fest, dass Apache alle PUT-Anfragen für URIs, die dem Kontext entsprechen, in dem diese Zeile steht, an das put.php Skript weiterleitet. Dies setzt natürlich voraus, dass PHP aktiv und für die .php-Dateierweiterung registriert ist.

In der put.php könnte anschließend ein Code wie der folgende verwendet werden. Dieser würde den Inhalt der hochgeladenen Datei in die Datei myputfile.ext auf dem Server kopieren.

Beispiel #1 Speichern von HTTP PUT Dateien

<?php
/* PUT Daten kommen in den stdin Stream */
$putdata = fopen("php://input","r");

/* Eine Datei zum Schreiben öffnen */
$fp = fopen("myputfile.ext","w");

/* Jeweils 1kB Daten lesen und
   in die Datei schreiben */
while ($data = fread($putdata,1024))
  fwrite($fp,$data);

/* Die Streams schließen */
fclose($fp);
fclose($putdata);
?>

Upload mehrerer Dateien
Zugriff auf entfernte Dateien
Steuerung von Dateiuploads


Zugriff auf entfernte Dateien

Wenn allow_url_fopen in der php.ini aktiviert ist, können HTTP- und FTP-URLs bei den meisten Funktionen verwendet werden, die einen Dateinamen als Parameter benötigen. Darüber hinaus können URLs in include-, include_once-, require- und require_once-Anweisungen verwendet werden (ab PHP 5.2.0 muss dafür allow_url_include aktiviert sein). Weitere Informationen zu den Protokollen, die von PHP unterstützt werden, finden Sie im Abschnitt Unterstützte Protokolle und Wrapper.

Beispielsweise kann damit eine Datei auf einem anderen Webserver geöffnet und nach benötigten Daten analysiert werden. Diese Daten können zur Abfrage einer Datenbank benutzt werden oder passend zum Rest der eigenen Website ausgegeben werden.

Beispiel #1 Den Titel einer entfernten Seite auslesen

<?php
$datei = fopen ("http://www.example.com/", "r");
if (!$datei) {
    echo "<p>Datei konnte nicht geöffnet werden.\n";
    exit;
}
while (!feof ($datei)) {
    $zeile = fgets ($datei, 1024);
    /* Funktioniert nur, wenn Titel und title-Tags in einer Zeile stehen */
    if (preg_match ("@\<title\>(.*)\</title\>@i", $zeile, $treffer)) {
        $title = $treffer[1];
        break;
    }
}
fclose($datei);
?>

Auch eine Datei auf einem FTP-Server kann geschrieben werden, vorausgesetzt man ist als Benutzer mit entsprechenden Zugriffsrechten angemeldet. Auf diesem Weg können nur neue Dateien angelegt werden. Falls Sie versuchen eine schon existierende Datei zu überschreiben, wird der fopen()-Aufruf fehlschlagen.

Um sich statt als 'anonymous' als anderer Benutzer anzumelden, muss ein Benutzername (und möglicherweise ein Passwort) innerhalb der URL angegeben werden, wie z.B. 'ftp://benutzer:passwort@ftp.example.com/pfad/zur/datei'. Die selbe Syntax kann verwendet werden, um auf Dateien via HTTP zuzugreifen, wenn diese eine Basic-Authentifizierung benötigen.

Beispiel #2 Daten auf einen entfernten Server speichern

<?php
$datei = fopen ("ftp://ftp.example.com/incoming/outputfile", "w");
if (!$datei) {
    echo "<p>Datei konnte nicht zum schreiben geöffnet werden.\n";
    exit;
}
/* Schreibe die Daten hier hin. */
fputs ($datei, $_SERVER['HTTP_USER_AGENT'] . "\n");
fclose ($datei);
?>

Hinweis:

Obiges Beispiel könnte dazu verleiten, dieses Verfahren zu benutzen, um in eine entfernte Log-Datei zu schreiben. Das würde aber leider nicht funktionieren, weil der fopen()-Aufruf fehlschlagen würde, wenn die entfernte Datei bereits existiert. Für eine dezentralisierte Protokollierung sollten Sie sich die Funktion syslog() anschauen.

PUT-Unterstützung
Verbindungssteuerung
Features


Verbindungssteuerung

PHP erhält intern einen Verbindungsstatus. Dieser kann vier Zustände annehmen:

  • 0 - NORMAL
  • 1 - ABORTED
  • 2 - TIMEOUT
  • 3 - ABORTED und TIMEOUT

Wenn ein PHP-Skript aktiv ist, ist der Status üblicherweise NORMAL. Sollte der Client-Rechner die Verbindung beenden, wird der Status auf ABORTED gesetzt. Ein clientseitiges Beenden der Verbindung wird für gewöhnlich veranlasst, wenn der Benutzer den STOP-Button seines Browsers drückt. Wenn das eingestellte Zeitlimit (siehe set_time_limit()) überschritten wird, wird der Status TIMEOUT gesetzt.

Sie können entscheiden, ob der Verbindungsabbruch seitens des Clients den Abbruch des Skriptes zur Folge haben soll. Manchmal ist es sinnvoll, Skripte sauber zu beenden, auch wenn kein Browser mehr zur Verfügung steht, der die Ausgabe empfängt. Die Abarbeitung eines Skriptes wird standardmäßig abgebrochen, wenn der Client die Verbindung beendet. Dieses Verhalten kann sowohl durch die Option ignore_user_abort in der Konfigurationsdatei php.ini, durch die entsprechende Option php_value ignore_user_abort in der Apache-Konfigurationsdatei httpd.conf als auch durch ignore_user_abort() beeinflußt werden. Wenn PHP nicht angewiesen wird, einen Verbindungsabbruch durch den Benutzer zu ignorieren und die Verbindung dann durch den Benutzer beendet wird, wird die Abarbeitung des Scriptes abgebrochen. Die einzige Ausnahme ist, wenn durch die Funktion register_shutdown_function() eine Shutdown-Funktion angegeben wird, die bei clientseitigem Abbruch ausgeführt wird. Wenn dann der Benutzer den STOP-Button seines Browsers drückt, wird PHP bei der nächsten Ausgabe des Skriptes feststellen, dass die Verbindung abgebrochen wurde und die Shutdown-Funktion aufrufen. Diese Shutdown-Funktion wird auch aufgerufen, wenn das Skript auf normalem Wege beendet wird, daher sollte man, wenn man für den Fall eines Benutzerabbruchs etwas anderes vorgesehen hat, die Funktion connection_aborted() verwenden. Sie gibt TRUE zurück, wenn die Verbindung abgebrochen wurde.

Ein Skript kann ebenfalls durch den eingebauten Script-Timer beendet werden. Der Standard-Timeout beträgt 30 Sekunden. Er kann durch die Option max_execution_time in der php.ini, durch den entsprechenden Eintrag php_value max_execution_time in der Apache-Konfigurationsdatei httpd.conf oder durch die Funktion set_time_limit() beeinflußt werden. Bei Zeitüberschreitung wird das Skript beendet und, genau wie im obigen Fall des Verbindungsabbruchs, eine registrierte Shutdown-Funktion ausgeführt. Um zu überprüfen, ob es sich um einen Abbruch aufgrund von Zeitüberschreitung handelt, kann die Funktion connection_status() benutzt werden. Sie gibt 2 zurück, wenn es sich um eine Zeitüberschreitung handelt.

Zu bemerken ist, dass der ABORTED- und der TIMEOUT-Status gleichzeitig auftreten können. Dies ist möglich, wenn PHP angewiesen wird, Benutzerabbrüche zu ignorieren. PHP wird feststellen, dass der Benutzer die Verbindung abgebrochen hat, das Skript allerdings läuft weiter. Sollte es dann das Zeitlimit erreichen, wird es abgebrochen und eine Shutdown-Funktion, wenn definiert, wird aufgerufen. Zu diesem Zeitpunkt kann man feststellen, dass connection_timeout() und connection_aborted() TRUE zurückgeben. Diese beiden Statusmöglichkeiten können auch durch einen Aufruf der Funktion connection_status() abgefragt werden. Sie liefert ein Bitfeld des aktiven Status. Wenn beispielsweise TIMEOUT und ABORTED aktiv sind, wird 3 zurückgegeben.

Zugriff auf entfernte Dateien
Persistente Datenbankverbindungen
Features


Persistente Datenbankverbindungen

Persistente Verbindungen sind Verbindungen, die nach Abarbeitung des Skriptes nicht geschlossen werden. Wenn eine persistente Verbindung angefordert wird, prüft PHP zuerst, ob bereits eine identische persistente Verbindung (die vielleicht vorher offen geblieben ist) existiert und benutzt sie in diesem Fall. Sollte keine Verbindung existieren, wird eine hergestellt. Eine 'identische' Verbindung ist eine Verbindung, die zu dem gleichen Host mit dem gleichen Usernamen und Passwort hergestellt wurde.

Wer nicht durchgängig mit der Art und Weise vertraut ist, wie Webserver arbeiten und die Last verteilen, könnte missverstehen, wofür persistente Verbindungen gedacht sind. Im Besonderen bieten sie keine Möglichkeit, 'Benutzersitzungen' über die gleiche Verbindung zu öffnen und keine Möglichkeit, eine Transaktion effizient aufzubauen, und sie können auch viele andere Dinge nicht. Um absolute Klarheit zu schaffen: Persistente Verbindungen bieten keine Funktionalität, die nicht auch von nicht-persistenten Verbindungen bereitgestellt wird.

Warum?

Das hat mit der Arbeitsweise von Webservern zu tun. Es gibt drei Möglichkeiten, wie ein Webserver PHP zur Generierung von Webseiten einsetzen kann.

Die erste Methode ist, PHP als CGI-'Wrapper' zu benutzen. Wenn diese Methode eingesetzt wird, wird für jede Anfrage nach einer PHP-Seite vom Webserver eine Instanz des PHP- Interpreters gestartet und anschließend wieder beendet. Durch die Beendigung des Interpreters nach abgeschlossener Anfrage werden alle Ressourcen, auf die zugegriffen wurde (wie beispielsweise eine Verbindung zu einem SQL- Datenbankserver) wieder geschlossen. In diesem Fall erreicht man nichts, wenn man persistente Verbindungen benutzt - sie sind eben nicht beständig.

Die zweite und populärste Methode ist der Einsatz von PHP als Modul in einem Multiprozess-Webserver, was momentan nur auf den Apache zutrifft. Typischerweise hat ein Multiprozess-Webserver einen Prozess (den 'Eltern' Prozess), der einen Satz weiterer Prozesse (die 'Kinder') koordiniert, welche die eigentliche Arbeit des Bereitstellens der Seiten übernehmen. Jede Anfrage, die von einem Client erfolgt, wird an einen untergeordneten Prozess, der noch keine andere Anfrage bearbeitet, weitergereicht. Das bedeutet, dass eine zweite Anfrage des gleichen Clients an den Server unter Umständen von einem anderen untergeordneten Prozess als die erste Anfrage bearbeitet wird. Wurde eine persistente Verbindung einmal geöffnet kann jede danach folgende Seite innerhalb des gleichen Prozesses diese bereits zum Server bestehende Verbindung weiter verwenden.

Die letzte Methode ist, PHP als Plug-in für einen Multithread- Webserver zu benutzen. Derzeit bietet PHP 4 Unterstützung für ISAPI, WSAPI und NSAPI (unter Windows), wodurch die Nutzung von PHP mit Multithread-Serven wie Netscape Fast Track (iPlanet), Microsoft Internet Information Server (IIS) und O'Reilly's WebSite Pro ermöglicht wird. Das Verhalten entspricht im wesentlichen dem oben beschriebenen Multiprozess-Modell.

Wozu dienen persistente Verbindungen, wenn sie keine zusätzliche Funktionalität bieten?

Die Antwort ist außerordentlich einfach: Effizienz. Persistente Verbindungen sind nützlich, wenn der Aufwand für das Herstellen einer Verbindung zu einem SQL-Server hoch ist. Ob dies der Fall ist oder nicht, hängt von vielen Faktoren ab - zum Beispiel, um welche Datenbank es sich handelt, ob sie auf dem gleichen Rechner wie der Webserver läuft oder welche Last die SQL-Maschine zu bewältigen hat usw. Grundsätzlich gilt, dass, wenn viele Verbindungen hergestellt werden müssen, persistente Verbindungen außerordentlich hilfreich sind. Sie veranlassen den untergeordneten Prozess, sich während seiner gesamten Lebensdauer lediglich einmal mit dem SQL-Server zu verbinden, anstatt bei jedem Aufruf einer Seite, die eine Verbindung benötigt. Das heißt, dass jeder untergeordnete Prozess, der eine persistente Verbindung öffnet, seine eigene dauerhafte Verbindung zum Server hat. Bei 20 untergeordneten Prozessen, die ein Skript ausführen, das eine persistente Verbindung zum SQL-Server herstellt, hat man beispielsweise 20 verschiedene Verbindungen zum SQL-Server - eine für jeden untergeordneten Prozess.

Beachten Sie jedoch, dass dies auch ein paar Nachteile haben kann, wenn Sie eine Datenbank mit limitierten Verbindungen benutzen, welche durch persistente Verbindungen überschritten werden. Wenn Ihre Datenbank ein Limit von 16 gleichzeitigen Verbindungen hat, und aufgrund einer stark ausgelasteten Server-Session 17 Kind-Prozesse versuchen, eine Verbindung herzustellen, wird es einem nicht gelingen. Sollten in Ihren Skripten Fehler bestehen, welche das Schließen der Verbindungen nicht erlauben (wie z.B. Endlosschleifen), kann das eine Datenbank mit mit nur 16 Verbindungen sehr schnell überschwemmen. Konsultieren Sie die Dokumentation Ihrer Datenbank bezüglich der Behandlung von aufgegebenen Verbindungen oder Verbindungen im Leerlauf.

Warnung

Sie sollten sich zur Vorsicht noch ein paar Gedanken machen, wenn Sie persistente Verbindungen benutzen. Einer ist, wenn Sie über eine persistente Verbindung Tabellen sperren und das Skript diese Sperre aus welchem Grund auch immer nicht mehr aufheben kann, nachfolgende Skripte, welche die selbe Verbindung benutzen, blockieren und den Neustart von entweder dem Webserver oder dem Datenbankserver verlangen. Ein weiterer ist, dass wenn Sie Transaktionen benutzen, ein Transaktionsblock zu dem nächsten die Verbindung nutzenden Skript übertragen wird, wenn die Ausführung des Skriptes vor dem Transaktionsblock gestoppt wird. In jedem Fall können Sie register_shutdown_function() benutzen, um eine einfache Funktion zu registrieren, welche Ihre Tabellen wieder entsperrt, oder Ihre Transaktionen zurückstellt. Besser ist es, wenn Sie dieses Problem gänzlich vermeiden, indem keine persistenten Verbindungen in Skripten benutzen, welche Tabellen sperren oder Transaktionen verwenden (Sie können sie immer noch anderswo benutzen).

Eine wichtige Zusammenfassung. Persistente Verbindungen wurden entwickelt, um eins-zu-eins Abbildungen auf reguläre Verbindungen zu haben. Das heißt, dass man immer in der Lage sein sollte, die persistenten Verbindungen durch nicht-persistente zu ersetzten, ohne dass dies den Skriptablauf verändert. Es kann (und wird vermutlich auch) die Effizienz des Skriptes beeinflussen, aber nicht dessen Verhalten.

Siehe auch fbsql_pconnect(),
ibase_pconnect(), ifx_pconnect(),
msql_pconnect(), mssql_pconnect(),
mysql_pconnect(), ociplogon(),
odbc_pconnect(), ora_plogon(),
pfsockopen(), pg_pconnect() und
sybase_pconnect().

Verbindungssteuerung
Safe Mode
Features


Safe Mode

Inhaltsverzeichnis

  • Security and Safe Mode
  • Functions restricted/disabled by safe mode

The PHP safe mode is an attempt to solve the shared-server security problem. It is architecturally incorrect to try to solve this problem at the PHP level, but since the alternatives at the web server and OS levels aren't very realistic, many people, especially ISP's, use safe mode for now.

Warnung

Dieses Feature ist seit PHP 5.3.0 DEPRECATED (veraltet) und seit PHP 5.4.0 ENTFERNT.

Changelog for safe mode
Version | Beschreibung
5.4.0 | Removed from PHP, and generates a fatal E_CORE_ERROR level error when enabled.
5.3.0 | Deprecated, and E_DEPRECATED errors were added.

Persistente Datenbankverbindungen
Security and Safe Mode
Features


Security and Safe Mode

Security and Safe Mode Configuration Directives
Name | Standard | Veränderbar | Changelog
safe_mode | "0" | PHP_INI_SYSTEM | Removed in PHP 5.4.0.
safe_mode_gid | "0" | PHP_INI_SYSTEM | Removed in PHP 5.4.0.
safe_mode_include_dir | NULL | PHP_INI_SYSTEM | Removed in PHP 5.4.0.
safe_mode_exec_dir | "" | PHP_INI_SYSTEM | Removed in PHP 5.4.0.
safe_mode_allowed_env_vars | "PHP_" | PHP_INI_SYSTEM | Removed in PHP 5.4.0.
safe_mode_protected_env_vars | "LD_LIBRARY_PATH" | PHP_INI_SYSTEM | Removed in PHP 5.4.0.
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

safe_mode boolean

Whether to enable PHP's safe mode. If PHP is compiled with --enable-safe-mode then defaults to On, otherwise Off.

Warnung

Dieses Feature ist seit PHP 5.3.0 DEPRECATED (veraltet) und seit PHP 5.4.0 ENTFERNT.

safe_mode_gid boolean

By default, Safe Mode does a UID compare check when opening files. If you want to relax this to a GID compare, then turn on safe_mode_gid. Whether to use UID (FALSE) or GID (TRUE) checking upon file access.

safe_mode_include_dir string

UID/GID checks are bypassed when including files from this directory and its subdirectories (directory must also be in include_path or full path must including).

This directive can take a colon (semi-colon on Windows) separated path in a fashion similar to the include_path directive, rather than just a single directory. The restriction specified is actually a prefix, not a directory name. This means that "safe_mode_include_dir = /dir/incl" also allows access to "/dir/include" and "/dir/incls" if they exist. When you want to restrict access to only the specified directory, end with a slash. For example: "safe_mode_include_dir = /dir/incl/" If the value of this directive is empty, no files with different UID/GID can be included.
safe_mode_exec_dir string

If PHP is used in safe mode, system() and the other functions executing system programs refuse to start programs that are not in this directory. You have to use / as directory separator on all environments including Windows.

safe_mode_allowed_env_vars string

Setting certain environment variables may be a potential security breach. This directive contains a comma-delimited list of prefixes. In Safe Mode, the user may only alter environment variables whose names begin with the prefixes supplied here. By default, users will only be able to set environment variables that begin with PHP_ (e.g. PHP_FOO=BAR).

Hinweis:

If this directive is empty, PHP will let the user modify ANY environment variable!

safe_mode_protected_env_vars string

This directive contains a comma-delimited list of environment variables that the end user won't be able to change using putenv(). These variables will be protected even if safe_mode_allowed_env_vars is set to allow to change them.

See also: open_basedir, disable_functions, disable_classes, register_globals, display_errors, and log_errors.

When safe_mode is on, PHP checks to see if the owner of the current script matches the owner of the file to be operated on by a file function or its directory. For example:

-rw-rw-r--    1 rasmus   rasmus       33 Jul  1 19:20 script.php
-rw-r--r--    1 root     root       1116 May 26 18:01 /etc/passwd
Running script.php:
<?php
 readfile('/etc/passwd');
?>
results in this error when safe mode is enabled:
Warning: SAFE MODE Restriction in effect. The script whose uid is 500 is not
allowed to access /etc/passwd owned by uid 0 in /docroot/script.php on line 2

However, there may be environments where a strict UID check is not appropriate and a relaxed GID check is sufficient. This is supported by means of the safe_mode_gid switch. Setting it to On performs the relaxed GID checking, setting it to Off (the default) performs UID checking.

If instead of safe_mode, you set an open_basedir directory then all file operations will be limited to files under the specified directory. For example (Apache httpd.conf example):

<Directory /docroot>
  php_admin_value open_basedir /docroot
</Directory>
If you run the same script.php with this open_basedir setting then this is the result:
Warning: open_basedir restriction in effect. File is in wrong directory in
/docroot/script.php on line 2

You can also disable individual functions. Note that the disable_functions directive can not be used outside of the php.ini file which means that you cannot disable functions on a per-virtualhost or per-directory basis in your httpd.conf file. If we add this to our php.ini file:

disable_functions = readfile,system
Then we get this output:
Warning: readfile() has been disabled for security reasons in
/docroot/script.php on line 2

Warnung

These PHP restrictions are not valid in executed binaries, of course.

Safe Mode
Functions restricted/disabled by safe mode
Safe Mode


Functions restricted/disabled by safe mode

This is a still probably incomplete and possibly incorrect listing of the functions limited by safe mode.

Safe mode limited functions
Function | Limitations
dbmopen() | Überprüft ob die Dateien/Verzeichnisse, die mit dem Skript bearbeitet werden sollen, die gleiche UID (Eigentümer) haben wie das Skript selbst.
dbase_open() | Überprüft ob die Dateien/Verzeichnisse, die mit dem Skript bearbeitet werden sollen, die gleiche UID (Eigentümer) haben wie das Skript selbst.
filepro() | Überprüft ob die Dateien/Verzeichnisse, die mit dem Skript bearbeitet werden sollen, die gleiche UID (Eigentümer) haben wie das Skript selbst.
filepro_rowcount() | Überprüft ob die Dateien/Verzeichnisse, die mit dem Skript bearbeitet werden sollen, die gleiche UID (Eigentümer) haben wie das Skript selbst.
filepro_retrieve() | Überprüft ob die Dateien/Verzeichnisse, die mit dem Skript bearbeitet werden sollen, die gleiche UID (Eigentümer) haben wie das Skript selbst.
ifx_* | sql_safe_mode restrictions, (!= safe mode)
ingres_* | sql_safe_mode restrictions, (!= safe mode)
mysql_* | sql_safe_mode restrictions, (!= safe mode)
pg_lo_import() | Überprüft ob die Dateien/Verzeichnisse, die mit dem Skript bearbeitet werden sollen, die gleiche UID (Eigentümer) haben wie das Skript selbst.
posix_mkfifo() | Überprüft, ob das Verzeichnis, in dem das Skript ausgeführt werden soll, die gleiche UID (Eigentümer) hat wie das Skript selbst.
putenv() | Obeys the safe_mode_protected_env_vars and safe_mode_allowed_env_vars ini-directives. See also the documentation on putenv()
move_uploaded_file() | Überprüft ob die Dateien/Verzeichnisse, die mit dem Skript bearbeitet werden sollen, die gleiche UID (Eigentümer) haben wie das Skript selbst.
chdir() | Überprüft, ob das Verzeichnis, in dem das Skript ausgeführt werden soll, die gleiche UID (Eigentümer) hat wie das Skript selbst.
dl() | Diese Funktion steht im Safe Mode nicht zur Verfügung.
backtick operator | Diese Funktion steht im Safe Mode nicht zur Verfügung.
shell_exec() (functional equivalent of backticks) | Diese Funktion steht im Safe Mode nicht zur Verfügung.
exec() | You can only execute executables within the safe_mode_exec_dir. For practical reasons it's currently not allowed to have .. components in the path to the executable. escapeshellcmd() is executed on the argument of this function.
system() | You can only execute executables within the safe_mode_exec_dir. For practical reasons it's currently not allowed to have .. components in the path to the executable. escapeshellcmd() is executed on the argument of this function.
passthru() | You can only execute executables within the safe_mode_exec_dir. For practical reasons it's currently not allowed to have .. components in the path to the executable. escapeshellcmd() is executed on the argument of this function.
popen() | You can only execute executables within the safe_mode_exec_dir. For practical reasons it's currently not allowed to have .. components in the path to the executable. escapeshellcmd() is executed on the argument of this function.
fopen() | Überprüft, ob das Verzeichnis, in dem das Skript ausgeführt werden soll, die gleiche UID (Eigentümer) hat wie das Skript selbst.
mkdir() | Überprüft, ob das Verzeichnis, in dem das Skript ausgeführt werden soll, die gleiche UID (Eigentümer) hat wie das Skript selbst.
rmdir() | Überprüft, ob das Verzeichnis, in dem das Skript ausgeführt werden soll, die gleiche UID (Eigentümer) hat wie das Skript selbst.
rename() | Überprüft ob die Dateien/Verzeichnisse, die mit dem Skript bearbeitet werden sollen, die gleiche UID (Eigentümer) haben wie das Skript selbst. Überprüft, ob das Verzeichnis, in dem das Skript ausgeführt werden soll, die gleiche UID (Eigentümer) hat wie das Skript selbst.
unlink() | Überprüft ob die Dateien/Verzeichnisse, die mit dem Skript bearbeitet werden sollen, die gleiche UID (Eigentümer) haben wie das Skript selbst. Überprüft, ob das Verzeichnis, in dem das Skript ausgeführt werden soll, die gleiche UID (Eigentümer) hat wie das Skript selbst.
copy() | Überprüft ob die Dateien/Verzeichnisse, die mit dem Skript bearbeitet werden sollen, die gleiche UID (Eigentümer) haben wie das Skript selbst. Überprüft, ob das Verzeichnis, in dem das Skript ausgeführt werden soll, die gleiche UID (Eigentümer) hat wie das Skript selbst. (on source and target)
chgrp() | Überprüft ob die Dateien/Verzeichnisse, die mit dem Skript bearbeitet werden sollen, die gleiche UID (Eigentümer) haben wie das Skript selbst.
chown() | Überprüft ob die Dateien/Verzeichnisse, die mit dem Skript bearbeitet werden sollen, die gleiche UID (Eigentümer) haben wie das Skript selbst.
chmod() | Überprüft ob die Dateien/Verzeichnisse, die mit dem Skript bearbeitet werden sollen, die gleiche UID (Eigentümer) haben wie das Skript selbst. In addition, you cannot set the SUID, SGID and sticky bits
touch() | Überprüft ob die Dateien/Verzeichnisse, die mit dem Skript bearbeitet werden sollen, die gleiche UID (Eigentümer) haben wie das Skript selbst. Überprüft, ob das Verzeichnis, in dem das Skript ausgeführt werden soll, die gleiche UID (Eigentümer) hat wie das Skript selbst.
symlink() | Überprüft ob die Dateien/Verzeichnisse, die mit dem Skript bearbeitet werden sollen, die gleiche UID (Eigentümer) haben wie das Skript selbst. Überprüft, ob das Verzeichnis, in dem das Skript ausgeführt werden soll, die gleiche UID (Eigentümer) hat wie das Skript selbst. (note: only the target is checked)
link() | Überprüft ob die Dateien/Verzeichnisse, die mit dem Skript bearbeitet werden sollen, die gleiche UID (Eigentümer) haben wie das Skript selbst. Überprüft, ob das Verzeichnis, in dem das Skript ausgeführt werden soll, die gleiche UID (Eigentümer) hat wie das Skript selbst. (note: only the target is checked)
apache_request_headers() | In safe mode, headers beginning with authorization (case-insensitive) will not be returned.
header() | In safe mode, the uid of the script is added to the realm part of the WWW-Authenticate header if you set this header (used for HTTP Authentication).
PHP_AUTH variables | In safe mode, the variables PHP_AUTH_USER, PHP_AUTH_PW, and AUTH_TYPE are not available in $_SERVER. Regardless, you can still use REMOTE_USER for the USER. (note: only affected since PHP 4.3.0)
highlight_file(), show_source() | Überprüft ob die Dateien/Verzeichnisse, die mit dem Skript bearbeitet werden sollen, die gleiche UID (Eigentümer) haben wie das Skript selbst. Überprüft, ob das Verzeichnis, in dem das Skript ausgeführt werden soll, die gleiche UID (Eigentümer) hat wie das Skript selbst.
parse_ini_file() | Überprüft ob die Dateien/Verzeichnisse, die mit dem Skript bearbeitet werden sollen, die gleiche UID (Eigentümer) haben wie das Skript selbst. Überprüft, ob das Verzeichnis, in dem das Skript ausgeführt werden soll, die gleiche UID (Eigentümer) hat wie das Skript selbst.
set_time_limit() | Has no effect when PHP is running in Safe Mode.
max_execution_time | Has no effect when PHP is running in Safe Mode.
mail() | In safe mode, the fifth parameter is disabled.
session_start() | The owner of a script must be the same as owner of a session.save_path directory if the default files session.save_handler is used.
All filesystem and stream functions. | Überprüft ob die Dateien/Verzeichnisse, die mit dem Skript bearbeitet werden sollen, die gleiche UID (Eigentümer) haben wie das Skript selbst. Überprüft, ob das Verzeichnis, in dem das Skript ausgeführt werden soll, die gleiche UID (Eigentümer) hat wie das Skript selbst. (see the safe_mode_include_dir php.ini option.

Security and Safe Mode
Nutzung auf der Kommandzeile
Safe Mode


Nutzung von PHP auf der Kommandozeile

Inhaltsverzeichnis

  • Introduction
  • Unterschiede zu anderen SAPIs
  • Optionen
  • Nutzung
  • I/O Streams
  • Interaktiver Modus
  • Eingebauter Webserver
  • INI Einstellungen
Functions restricted/disabled by safe mode
Introduction
Features


Introduction

Das Hauptaugenmerk der CLI SAPI ist die Entwicklung von Kommandozeilenapplikationen. Es gibt einige Unterschiede zwischen der CLI SAPI und anderen SAPIs, welche in diesem Kapitel beschrieben werden. Es ist erwähnenswert, dass CLI und CGI verschiedene SAPIs sind, auch wenn sie viele Verhaltensweisen teilen.

Die CLI SAPI ist standardmäßig durch die --enable-cli Option aktiviert, kann jedoch durch Angabe der --disable-cli Option im ./configure Skript deaktiviert werden.

Der Name, der Pfad und das Vorhandensein der CLI/CGI Binaries hängt davon ab wie PHP auf dem System installiert wurde. Standarmäßig werden nach dem Aufruf von make sowohl CGI als auch CLI kompiliert und als sapi/cgi/php-cgi beziehungsweise sapi/cli/php in Ihrem PHP-Quellcodeverzeichnis gespeichert. Sie werden bemerken, dass beide php heissen. Was während make install passiert, hängt davon ab wie PHP konfiguriert wurde. Wenn eine Modul-SAPI während der Konfiguration gewählt wurde, wie etwa apxs, oder die --disable-cgi Option genutzt wurde, wird die CLI während make install nach {PREFIX}/bin/php kopiert. Andernfalls wird das CGI Binary dorthin kopiert. Also wird, wenn beispielsweise --with--apxs in Ihrem configure-Kommando angegeben ist, wird die CLI während make install nach {PREFIX}/bin/php kopiert. Wenn Sie die Installation des CGI Binaries überschreiben wollen, benutzen Sie make install-cli nach make install. Alternativ können Sie --disable-cgi in Ihrem configure-Kommando angeben.

Hinweis:

Weil sowohl --enable-cli als auch --enable-cgi standardmäßig eingeschaltet sind, muss --enable-cli in Ihrem configure-Kommando nicht zwingend bedeuten, dass die CLI während make install nach {PREFIX}/bin/php kopiert wird.

Seit PHP 5 wird auf Windows das CLI Binary im Hauptordner als php.exe ausgeliefert. Die CGI Version wird als php-cgi.exe bereitgestellt. Zusätzlich wird php-win.exe ausgeliefert, wenn PHP mit --enable-cli-win32 konfiguriert wurde. Dieses Binary verhält sich genauso wie die CLI Version, bis auf die Tatsache, dass sie nichts ausgibt und somit keine Konsole zur Verfügung stellt.

Hinweis: Welche SAPI habe ich?

Auf der Kommandozeile wird Ihnen die Eingabe von php -v verraten, ob Sie php als CGI oder CLI einsetzen. Sehen Sie sich auch die Funktion php_sapi_name() und die Konstante PHP_SAPI an.

Hinweis:

Eine UNIX man Seite ist durch eingabe von man php in der Kommandozeile verfügbar.

Nutzung auf der Kommandzeile
Unterschiede zu anderen SAPIs
Nutzung auf der Kommandzeile


Unterschiede zu anderen SAPIs

Beachtenswerte Unterschiede der CLI SAPI zu anderen SAPIs:

  • Anders als bei der CGI SAPI werden keine Header ausgegeben.

    Obwohl die CGI SAPI eine Option bietet, HTTP-Header zu unterdrücken, gibt es keine gleichwertige Option, sie in der CLI SAPI anzuzeigen.

    CLI wird standardmäßig im stillen Modus gestartet, dennoch gibt es die Optionen -q und --no-header aus Kompatibilitätsgründen noch, so dass Sie auch ältere CGI-Skripte noch benutzen können.

    Es verändert das Arbeitsverzeichnis nicht zu dem des Skriptes. (Die Optionen -C und --no-chdir wurden aus Kompatibilitätsgründen beibehalten.)

    Fehlermeldungen in Plaintext (keine HTML-Formatierung).

  • Es gibt bestimmte php.ini-Direktiven, die von der CLI SAPI außer Kraft gesetzt werden, weil sie in einer Kommandozeilenumgebung keinen Sinn ergeben.

    Überschriebene php.ini-Direktiven
    Direktive | CLI SAPI-Standardwert | Kommentar
    html_errors | FALSE | Es kann sehr schwierig sein, eine Fehlermeldung auf der Kommandozeile zu lesen, wenn sie mit all diesen bedeutungslosen HTML-Tags vollgestopft ist, deswegen wird diese Direktive auf FALSE gesetzt.
    implicit_flush | TRUE | Es ist normalerweise erwünscht, dass alle Ausgaben, die von print, echo und Konsorten kommen, sofort auf die Ausgabe geschrieben werden und nicht in einem Puffer gecacht werden. Sie können jedoch immer noch output buffering benutzen, wenn Sie die Standardausgabe aufschieben oder manipulieren wollen.
    max_execution_time | 0 (unendlich) | Da die Anwendungsbereiche von Kommandozeilenanwendungen deutlich unterschiedlicher sind als die von Web-Applikationen und da diese oft lange Laufzeiten besitzen, wird die maximale Ausführungszeit auf unendlich gesetzt. Wegen der unendlichen Möglichkeiten, PHP in
    register_argc_argv TRUE

    Weil diese Einstellung auf TRUE gesetzt ist, werden Scripte die über die CLI SAPI ausgeführt werden, immer Zugriff auf argc (Anzahl der Argumente, die der Anwendung übergeben wurden) und argv (Array der eigentlichen Argumente) haben.

    Die PHP-Variablen $argc und $argv werden automatisch mit den entsprechenden Werten gefüllt, wenn die CLI SAPI benutzt wird. Diese Werte können auch in dem $_SERVER Array gefunden werden, beispielsweise: $_SERVER['argv'].

    output_buffering FALSE

    Auch wenn die php.ini Option fest auf FALSE gesetzt ist, sind dennoch die Output buffering Funktionen verfügbar.

    max_input_time FALSE

    Die PHP CLI unterstützt GET, POST und File Uploads nicht.

    Hinweis:

    Diese Direktiven können nicht mit einem anderen Wert aus der Konfigurationsdatei php.ini oder einer eigenen (falls angegeben) initialisiert werden. Diese Einschränkung ergibt sich dadurch, dass diese Standardwerte angewandt werden, nachdem alle Konfigurationsdateien gelesen wurden. Dennoch können die Werte zur Laufzeit verändert werden (was aber nicht für alle dieser Direktiven einen Sinn ergibt, beispielsweise register_argc_argv).

    Hinweis:

    Es wird empfohlen ignore_user_abort für Kommandozeilenanwendungen zu setzen. Siehe ignore_user_abort() für weitere Informationen.

  • Um die Arbeit in der Kommandozeilenumgebung zu erleichtern, wurden einige Konstanten für Ein- und Ausgabestreams definiert.

  • Die CLI SAPI ändert das aktuelle Arbeitsverzeichnis nicht zu dem Verzeichnis des ausgeführten Skripts.

    Beispiel #1 Beispiel, welches den Unterschied zu der CGI SAPI verdeutlicht:

    <?php
    // Unsere einfache Anwendung namens test.php
    echo getcwd(), "\n";
    ?>

    Bei der CGI-Version ist die Ausgabe folgende:

    $ pwd
/tmp

$ php -q another_directory/test.php
/tmp/another_directory

    Dies zeigt deutlich, dass PHP das aktuelle Verzeichnis auf das des ausgeführten Skriptes ändert.

    Nutzung der CLI SAPI führt zu folgender Ausgabe:

    $ pwd
/tmp

$ php -f another_directory/test.php
/tmp

    Dies ermöglicht eine größere Flexibilität beim Erstellen von Kommandozeilenanwendungen in PHP.

    Hinweis:

    Die CGI SAPI unterstützt das Verhalten der CLI SAPI durch Angabe der Option -C beim Starten von der Kommandozeile.

Introduction
Optionen
Nutzung auf der Kommandzeile


Kommandozeilenoptionen

Die Liste der Kommandozeilenoptionen, die das PHP-Binary bereitstellt, kann jederzeit abgerufen werden, indem PHP mit der -h Option gestartet wird:

Usage: php [options] [-f] <file> [--] [args...]
   php [options] -r <code> [--] [args...]
   php [options] [-B <begin_code>] -R <code> [-E <end_code>] [--] [args...]
   php [options] [-B <begin_code>] -F <file> [-E <end_code>] [--] [args...]
   php [options] -- [args...]
   php [options] -a

  -a               Run interactively
  -c <path>|<file> Look for php.ini file in this directory
  -n               No php.ini file will be used
  -d foo[=bar]     Define INI entry foo with value 'bar'
  -e               Generate extended information for debugger/profiler
  -f <file>        Parse and execute <file>.
  -h               This help
  -i               PHP information
  -l               Syntax check only (lint)
  -m               Show compiled in modules
  -r <code>        Run PHP <code> without using script tags <?..?>
  -B <begin_code>  Run PHP <begin_code> before processing input lines
  -R <code>        Run PHP <code> for every input line
  -F <file>        Parse and execute <file> for every input line
  -E <end_code>    Run PHP <end_code> after processing all input lines
  -H               Hide any passed arguments from external tools.
  -S <addr>:<port> Run with built-in web server.
  -t <docroot>     Specify document root <docroot> for built-in web server.
  -s               Output HTML syntax highlighted source.
  -v               Version number
  -w               Output source with stripped comments and whitespace.
  -z <file>        Load Zend extension <file>.

  args...          Arguments passed to script. Use -- args when first argument
                   starts with - or script is read from stdin

  --ini            Show configuration file names

  --rf <name>      Show information about function <name>.
  --rc <name>      Show information about class <name>.
  --re <name>      Show information about extension <name>.
  --rz <name>      Show information about Zend extension <name>.
  --ri <name>      Show configuration for extension <name>.

Kommandozeilenoptionen
Option | Langform | Beschreibung
-a --interactive

Startet PHP im interaktiven Modus. Weitere Informationen siehe die Dokumentation für den Interaktiven Modus.

-b --bindpath

Bind Path für den externen FASTCGI Server Modus (nur CGI).

-C --no-chdir

Nicht in das Verzeichnis des Skripts wechseln (nur CGI).

-q --no-header

Quiet-mode. Unterdrücke die Ausgabe von HTTP Headern (nur CGI).

-T --timing

Messe die Ausführungszeit des Skriptes. Dies wird count Mal durchgeführt (nur CGI).

-c --php-ini

Mit dieser Option kann man entweder ein Verzichnis angeben, in welchem nach der php.ini gesucht werden soll, oder man kann eine eigene INI-Datei angeben (diese muss nicht php.ini heissen). Zum Beispiel:

$ php -c /custom/directory/ my_script.php

$ php -c /custom/directory/custom-file.ini my_script.php

Wenn Sie diese Option nicht angeben, wird die php.ini Datei an den vorgegebenen Orten gesucht.

-n --no-php-ini

php.ini komplett ignorieren.

-d --define

Diese Option erlaubt es Ihnen, einen eigenen Wert für eine beliebige in php.ini erlaubte Direktive zu setzen. Die Syntax ist:

-d configuration_directive[=value]

# Auslassen des Wertes setzt die Direktive auf "1"
$ php -d max_execution_time
      -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(1) "1"

# Übergeben eines leeren Wertes setzt die Direktive auf ""
php -d max_execution_time=
    -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(0) ""

# Die Direktive wird auf das gesetzt, was nach '=' kommt
$  php -d max_execution_time=20
       -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(2) "20"
$  php -d max_execution_time=doesntmakesense
       -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(15) "doesntmakesense"

-e --profile-info

Erweiterte Informationen für Debugger/Profiler erstellen.

-f --file

Parst und führt die angegebene Datei aus. Das -f ist optional und kann weggelassen werden. Es genügt nur den Dateinamen anzugeben.

Hinweis:

Um Argumente an das Skript zu übergeben, muss das erste Argument -- sein, ansonsten interpretiert PHP diese als PHP Optionen.

-h und -? | --help und --usage | Gibt eine Liste von Kommandozeilenoptionen, sowie kurzen Beschreibungen aus.
-i | --info | Diese Kommandozeilenoption ruft phpinfo() auf und gibt das Ergebnis aus. Wenn PHP nicht korrekt funktioniert, ist es empfehlenswert, php -i zu benutzen und nachzusehen, ob etwa Fehlermeldungen vor oder statt der Informationstabellen ausgegeben werden. Beachten Sie, dass die Ausgabe bei Verwendung des CGI-Modus in HTML erfolgt und deswegen ziemlich umfangreich ist.
-l --syntax-check

Diese Option stellt eine angenehme Methode bereit, nur eine Syntaxüberprüfung des angegebenen PHP-Codes durchzuführen. Bei Erfolg wird der Text No syntax errors detected in <filename> auf die Standardausgabe geschrieben und der Rückgabewert ist 0. Bei Misserfolg wird der Text Errors parsing <filename> zusätzlich zur internen Parser-Fehlermeldung auf der Standardausgabe ausgegeben und der Rückgabewert auf -1 gesetzt.

Diese Option wird keine Fatalen Fehler (wie undefinierte Funktionen) finden. Benutzen Sie die Option -f , wenn sie auch diese überprüfen wollen.

Hinweis:

Diese Option funktioniert nicht zusammen mit -r .

-m --modules

Beispiel #1 Ausgabe des geladenen PHP und Zend Module

$ php -m
[PHP Modules]
xml
tokenizer
standard
session
posix
pcre
overload
mysql
mbstring
ctype

[Zend Modules]

-r --run

Diese Option erlaubt die Ausführung von PHP Code direkt von der Kommandozeile. Die PHP Tags <?php und ?> werden nicht benötigt und verursachen einen Parsefehler, wenn sie dennoch vorhanden sind.

Hinweis:

Man muss bei Benutzung dieser Form von PHP aufpassen, dass es zu keinen Kollisionen mit Kommandozeilenvariablen kommt.

Beispiel #2 Syntax Fehler beim Verwenden von doppelten Anführungszeichen

$ php -r "$foo = get_defined_constants();"
PHP Parse error:  syntax error, unexpected '=' in Command line code on line 1

Parse error: syntax error, unexpected '=' in Command line code on line 1

Das Problem hier ist, dass sh/bash Variablen auch ersetzt, wenn doppelte Anführungszeichen verwendet werden ("). Weil die Variable $foo wahrscheinlich nicht definiert ist, wird die Variable zu nichts aufgelöst. Der entstehende Code, welcher PHP übergeben wird, sieht so aus:

$ php -r " = get_defined_constants();"

Der richtige Weg wäre, einfache Anführungszeichen zu benutzen ('). Variablen in einfachen Anführungszeichen werden von sh/bash nicht ersetzt.

Beispiel #3 Nutzung von einfachen Anführungszeichen ein Ersetzen der Variablen zu verhindern

$ php -r '$foo = get_defined_constants(); var_dump($foo);'
array(370) {
  ["E_ERROR"]=>
  int(1)
  ["E_WARNING"]=>
  int(2)
  ["E_PARSE"]=>
  int(4)
  ["E_NOTICE"]=>
  int(8)
  ["E_CORE_ERROR"]=>
  [...]

Wenn Sie eine andere Kommandozeilenumgebung als sh/bash benutzen, könnten Sie auf weitere Probleme stoßen. Sie können gerne einen Bugreport unter » http://bugs.php.net/ erstellen. Man kann dennoch leicht in Schwierigkeiten geraten, wenn man versucht PHP oder Shell Variablen zu verwenden oder Backslashes zum Escapen benutzt. Sie wurden gewarnt!

Hinweis:

-r ist in der CLI SAPI verfügbar, nicht jedoch in der CGI SAPI.

Hinweis:

Diese Option ist für sehr einfachen Code gedacht, weshalb einige Direktiven wie etwa auto_prepend_file und auto_append_file in diesem Modus ignoriert werden.

-B --process-begin

PHP-Code der ausgeführt werden soll, bevor stdin ausgewertet wird. Verfügbar seit PHP 5.

-R --process-code

PHP-Code der für jede Eingabezeile ausgeführt werden soll. Verfügbar seit PHP 5.

Es gibt zwei spezielle Variablen in diesem Modus: $argn und $argi. $argn enthält die Zeile, die PHP gerade verarbeitet und $argi enthält die Zeilennummer.

-F --process-file

PHP-Datei die für jede Eingabezeile ausgeführt werden soll. Verfügbar seit PHP 5.

-E --process-end

PHP-Code der nach der Verarbeitung der Eingabe ausgeführt werden soll. Verfügbar seit PHP 5.

Beispiel #4 Nutzung der -B , -R und -E Optionen, um die Anzahl der Zeilen in einem Projekt zu zählen.

$ find my_proj | php -B '$l=0;' -R '$l += count(@file($argn));' -E 'echo "Total Lines: $l\n";'
Total Lines: 37328

-S --server

Startet den eingebauten Webserver. Verfügbar seit PHP 5.4.0.

-t | --docroot | Gibt den Document Root für den eingebauten Webserver an. Verfügbar seit PHP 5.4.0.
-s --syntax-highlight und --syntax-highlighting

Den Quelltext mit farbiger Syntaxhervorhebung anzeigen.

Diese Option benutzt den internen Mechanismus zum Parsen von Dateien, um eine HTML-Version mit Syntax-Highlighting auf die Standardausgabe zu schreiben. Beachten Sie, dass sie nur einen Block von <code> [...] </code> HTML-Tags erzeugt, jedoch keine HTML-Header.

Hinweis:

Diese Option funktioniert nicht zusammen mit -r .

-v --version

Beispiel #5 Nutzung von -v , um den SAPI Namen, sowie die PHP und Zend Version zu bestimmen

$ php -v
PHP 5.3.1 (cli) (built: Dec 11 2009 19:55:07)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies

-w --strip

Den Quelltext mit entfernten Kommentaren und Leerzeichen anzeigen.

Hinweis:

Diese Option funktioniert nicht zusammen mit -r .

-z --zend-extension

Eine Zend-Erweiterung laden. Wenn nur ein Dateiname angegeben wird, versucht PHP, die Erweiterung aus dem momentanen Standard-Bibliotheken-Pfad auf Ihrem System zu laden (auf Linux-Systemen normalerweise in /etc/ld.so.conf angegeben). Wenn ein Dateiname mit absoluter Pfadinformation übergeben wird, wird der Bibliotheken-Pfad des Systems nicht benutzt. Ein relativer Dateiname mit Pfadinformationen wird PHP veranlassen, zu versuchen, die Erweiterung in einem Pfad relativ zum aktuellen Verzeichnis zu laden.

--ini

Zeigt die Namen der Konfigurationsdateien und die durchsuchten Verzeichnisse. Verfügbar seit PHP 5.2.3.

Beispiel #6 --ini example

$ php --ini
Configuration File (php.ini) Path: /usr/dev/php/5.2/lib
Loaded Configuration File:         /usr/dev/php/5.2/lib/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)
--rf --rfunction

Zeigt Informationen über die gegebene Funktion oder Klassenmethode (z.B. Anzahl und Namen der Parameter). Verfügbar seit PHP 5.1.2.

Diese Option ist nur verfügbar, wenn PHP mit Reflection-Unterstützung kompiliert wurde.

Beispiel #7 Einfache --rf Nutzung

$ php --rf var_dump
Function [ <internal> public function var_dump ] {

  - Parameters [2] {
    Parameter #0 [ <required> $var ]
    Parameter #1 [ <optional> $... ]
  }
}
--rc --rclass

Zeigt Inforationen über die gegebene Klasse (Liste der Konstanten, Eigenschaften und Methoden). Verfügbar seit PHP 5.1.2.

Diese Option ist nur verfügbar, wenn PHP mit Reflection-Unterstützung kompiliert wurde.

Beispiel #8 --rc Beispiel

$ php --rc Directory
Class [ <internal:standard> class Directory ] {

  - Constants [0] {
  }

  - Static properties [0] {
  }

  - Static methods [0] {
  }

  - Properties [0] {
  }

  - Methods [3] {
    Method [ <internal> public method close ] {
    }

    Method [ <internal> public method rewind ] {
    }

    Method [ <internal> public method read ] {
    }
  }
}
--re --rextension

Zeigt Informationen über die gegebene Erweiterung (Liste der php.ini Optionen, definierte Funktionen, Konstanten und Klassen. Verfügbar seit PHP 5.1.2.

Diese Option ist nur verfügbar, wenn PHP mit Reflection -nterstützung kompiliert wurde.

Beispiel #9 --re Beispiel

$ php --re json
Extension [ <persistent> extension #19 json version 1.2.1 ] {

  - Functions {
    Function [ <internal> function json_encode ] {
    }
    Function [ <internal> function json_decode ] {
    }
  }
}
--rz --rzendextension

Zeigt Konfiguration der gegebenen Zend-Erweiterung an (entspricht der von phpinfo() zurückgegebenen Information). Verfügbar seit PHP 5.4.0.

--ri --rextinfo

Zeigt die Konfiguration der gegebenen Extension (entspricht der von phpinfo() zurückgegebenen Information). Verfügbar seit PHP 5.2.2. Die Konfiguration des Sprachkerns kann über den speziellen Erweiterungsnamen "main" ermittelt werden.

Beispiel #10 --ri Beispiel

$ php --ri date

date

date/time support => enabled
"Olson" Timezone Database Version => 2009.20
Timezone Database => internal
Default timezone => Europe/Oslo

Directive => Local Value => Master Value
date.timezone => Europe/Oslo => Europe/Oslo
date.default_latitude => 59.930972 => 59.930972
date.default_longitude => 10.776699 => 10.776699
date.sunset_zenith => 90.583333 => 90.583333
date.sunrise_zenith => 90.583333 => 90.583333

Hinweis:

Die Optionen -rBRFEH, --ini und --r[fcezi] sind nur für CLI verfügbar.

Unterschiede zu anderen SAPIs
Nutzung
Nutzung auf der Kommandzeile


Ausführen von PHP-Dateien

Es gibt drei verschiedene Wege PHP Code in der CLI SAPI auszuführen:

  1. PHP mitteilen, eine bestimmte Datei auszuführen.

    php my_script.php

php -f my_script.php

    Beide Wege (ob sie die Option -f benutzen oder nicht) führen die Datei my_script.php aus. Es gibt keine Einschränkungen darauf welche Dateien ausgeführt werden können; beispielsweise muss ihr PHP-Skript nicht auf .php enden.

    Hinweis:

    Wenn Sie Argumente an das Skript übergeben wollen, müssen Sie als erstes Argument -- übergeben, wenn Sie die -f Option benutzen.

  2. Den auszuführenden PHP-Code direkt auf der Kommandozeile angeben.

    $ php -r 'print_r(get_defined_constants());'

    Es muss besonders Acht auf die Ersetzung von Kommandozeilenvariablen und Benutzung von Anführungszeichen gegeben werden.

    Hinweis:

    Achten Sie darauf, dass sie keine PHP tags übergeben. Die Option -r benötigt diese nicht und wirft einen Parser-Fehler falls sie dennoch benutzt werden.

  3. Eingabe des PHP-Codes über die Standardeingabe (stdin).

    Dies eröffnet die Möglichkeit PHP dynamisch zu generieren und anschließend an die Binary zu übergeben, wie in diesem (ausgedachten) Beispiel dargestellt:

    $ some_application | some_filter | php | sort -u > final_output.txt
Die drei Möglichkeiten zur Codeausführung können nicht kombiniert werden.

Wie jede Kommandozeilenanwendung nimmt das PHP-Binary etliche Argumente entgegen, aber auch das PHP-Skript kann Argumente entgegennehmen. Die Anzahl der Argumente, die an ein Skript übergeben werden können, ist nicht von PHP beschränkt (aber die Kommandozeilenumgebung hat ein bestimmtes Größenlimit für die Anzahl der Argumente, die übergeben werden können; normalerweise werden Sie dieses Limit nicht erreichen). Die Argumente, die dem Skript übergeben werden, sind in dem globalen Array $argv gespeichert. Der erste Index (Null) enthält immer den Skriptnamen. Wenn der Code mittels der -r Option ausgeführt wurde, ist der Wert von $argv[0] ein Bindestrich (-). Selbiges gilt für Code, welcher über STDIN ausgeführt wird.

Die zweite registrierte globale Variable ist $argc, welche die Anzahl der Elemente im $argv Array enthält (nicht die Anzahl Argumente, die dem Skript übergeben wurden).

Solange die Argumente, welche dem Skript übergeben werden, nicht mit dem Zeichen - beginnen, gibt es nichts besonderes zu beachten. Ein Argument, welches mit - beginnt zu übergeben, wird jedoch Probleme bereiten, da PHP denkt, dass es das Argument selbst verarbeiten muss. Nutzen Sie das Argument-Trennzeichen --, um dies zu vermeiden. Nachdem dieses Trennzeichen von PHP geparst wurde, wird jedes folgende Argument unangetastet an das Skript weitergereicht.

# Dies führt nicht den angegebenen Code aus, sondern zeigt die Optionen von PHP an
$ php -r 'var_dump($argv);' -h
Usage: php [options] [-f] <file> [args...]
[...]

# Dies übergibt das Argument '-h' an Ihr Skript und zeigt die Optionen von PHP nicht an
$ php -r 'var_dump($argv);' -- -h
array(2) {
  [0]=>
  string(1) "-"
  [1]=>
  string(2) "-h"
}

Es gibt auf Unix-Systemen jedoch einen weiteren Weg, um PHP für Kommandozeilenskripte zu benutzen. Sie können ein Skript erstellen, in dem die erste Zeile mit #!/usr/bin/php beginnt. Nachfolgend können Sie normalen PHP-Code innerhalb der PHP-Start- und -End-Tags benutzen. Sobald Sie die Datei ausführbar gemacht haben (beispielsweise mittels chmod +x test), kann Ihr Skript wie ein normales Kommandozeilen- oder Perl-Skript gestartet werden.

Beispiel #1 PHP als Shellskript ausführen

#!/usr/bin/php
<?php
var_dump($argv);
?>

Angenommen, die Datei heißt test und befindet sich im aktuellen Verzeichnis, dann können wir nun folgendes tun:

$ chmod +x test
$ ./test -h -- foo
array(4) {
  [0]=>
  string(6) "./test"
  [1]=>
  string(2) "-h"
  [2]=>
  string(2) "--"
  [3]=>
  string(3) "foo"
}

Wie Sie sehen können, müssen Sie sich in diesem Fall um nichts weiter kümmern, wenn Sie Ihrem Skript Paramater, die mit - beginnen, übergeben.

Die ausführbare PHP-Datei kann benutzt werden, um PHP-Skripte vollkommen unabhängig von einem Webserver auszuführen. Auf Unix-Systemen, sollte die spezielle #! ("shebang") erste Zeile zu PHP-Skripten hinzugefügt werden, damit das System automatisch herausfinden kann, welches Programm zur Ausführung der Datei genutzt werden soll. Auf einem Windows-System können Sie php.exe mit der Doppelklick-Option von .php-Dateien verknüpfen. Sie können auch eine Batchdatei erstellen, um das Skript von PHP ausführen zu lassen. Die erste Zeile, die dem Skript hinzugefügt wird, damit es unter UNIX läuft, stört unter Windows nicht, so dass Sie auf diese Weise problemlos plattformübergreifende Programme schreiben können. Sie finden anschließend ein einfaches Beispiel, wie man ein Kommandozeilenprogramm in PHP schreibt.

Beispiel #2 Ein Skript, das von der Kommandozeile aus ausgeführt werden soll (script.php)

#!/usr/bin/php
<?php

if ($argc != 2 || in_array($argv[1], array('--help', '-help', '-h', '-?'))) {
?>

Das ist ein Kommandozeilenprogramm in PHP mit einer Option.

  Benutzung:
  <?php echo $argv[0]; ?> <option>

  <option> kann ein Wort sein, das Sie gerne
  ausgeben möchten. Mit den Optionen --help,
  -help, -h oder -? bekommen Sie diese Hilfe.

<?php
} else {
    echo $argv[1];
}
?>

In dem oben beschriebenen Skript haben wir die erste Zeile dazu benutzt anzugeben, dass die Datei von PHP ausgeführt werden soll. Wir arbeiten hier mit einer CLI-Version, deswegen werden keine HTTP-Header ausgegeben.

In dem obigen Programm wird zuerst überprüft, dass das notwendige Argument angeben ist (zuzugülich dem Skriptnamen, welcher auch gezählt wird). Wenn nicht, oder wenn das Argument --help , -help , -h oder -? was, wird eine Hilfe-Nachricht ausgegeben, welche $argv[0] nutzt, um den genutzten Skript-Namen auszugeben. Andernfalls wird das Argument ausgegeben, genauso wie es übergeben wurde.

Wenn Sie das obige Skript unter UNIX laufen lassen wollen, müssen Sie es zuerst ausführbar machen, und es danach einfach als script.php GebeDasHierAus oder script.php -h aufrufen. Unter Windows können Sie zu diesem Zweck eine Batchdatei erstellen:

Beispiel #3 Batchdatei zur Ausführung eines Kommandozeilen-Skripts in PHP (script.bat)

@echo OFF
"C:\php\php.exe" script.php %*

Angenommen, Sie haben das Programm script.php genannt und die CLI php.exe hat den Pfad C:\php\php.exe so wird diese Batchdatei es mit allen übergebenen Argumenten aufrufen: script.bat GebeDasHierAus oder script.bat -h.

Siehe auch die Readline-Erweiterung für weitere Funktionen, um Kommandozeilenanwendungen zu verbessern.

Auf Windows kann PHP so konfiguiert werden, dass auch ausgeführt wird, wenn weder C:\php\php.exe angegeben wird, noch die .php Dateierweiterung genutzt wird. Siehe dazu die Dokumentation zur PHP Kommandozeile auf Microsoft Windows.

Optionen
I/O Streams
Nutzung auf der Kommandzeile


Ein- und Ausgabestreams

Die CLI SAPI definiert einige Konstanten für Ein- und Ausgabestreams, um das Erstellen von Kommandozeilenanwendungen zu erleichtern.

CLI-spezifische Konstanten
Konstante Beschreibung
STDIN

Ein schon geöffneter Stream auf stdin. Dies erspart das Öffnen mit

<?php
$stdin = fopen('php://stdin', 'r');
?>
Wenn sie einzelne Zeilen von stdin lesen wollen, können Sie folgendes Code-Fragment benutzen:
<?php
$line = trim(fgets(STDIN)); // liest eine Zeile von STDIN
fscanf(STDIN, "%d\n", $number); // liest eine Zahl von STDIN
?>

STDOUT

Ein schon geöffneter Stream auf stdout. Das erspart das Öffnen mit

<?php
$stdout = fopen('php://stdout', 'w');
?>

STDERR

Ein schon geöffneter Stream auf stderr. Das erspart das Öffnen mit

<?php
$stderr = fopen('php://stderr', 'w');
?>

Angesichts des oben genannten, brauchen Sie beispielsweise nicht selbst einen Stream für stderr öffnen, sondern können einfach die Konstante anstelle der Ressource benutzen:

php -r 'fwrite(STDERR, "stderr\n");'
Sie brauchen diese Streams nicht explizit schließen, weil sie automatisch von PHP geschlossen werden, wenn Ihr Skript endet.

Hinweis:

Diese Konstanten sind nicht verfügbar, wenn ein PHP Skript von stdin eingelesen wird.

Nutzung
Interaktiver Modus
Nutzung auf der Kommandzeile


Interaktiver Modus

Seite PHP 5.1.0 bietet die CLI SAPI mit der -a Option eine interaktive Shell an, wenn PHP mit der --with-readline Option kompiliert wurde.

Mittels der interaktiven Shell können sie PHP code eingeben und direkt ausführen lassen.

Beispiel #1 Ausführung von Code auf der interaktiven Shell

$ php -a
Interactive shell

php > echo 5+8;
13
php > function addTwo($n)
php > {
php { return $n + 2;
php { }
php > var_dump(addtwo(2));
int(4)
php >

Die interaktive Shell bietet ebenfalls Tab-Autovervollständigung für Funktionen, Konstanten, Klassen, Variablen, statische Methoden und Klassenkonstanten.

Beispiel #2 Tab-Autovervollständigung

Zweimaliges Drücken der Tab-Taste im Falle mehrerer Möglichkeiten führt zu einer Auflistung dieser Möglichkeiten:

php > strp[TAB][TAB]
strpbrk   strpos    strptime
php > strp

Wenn es nur eine mögliche Vervollständigung gibt, führt ein einmaliges Drücken der Tab-Taste zur Vervollständigung der Zeile:

php > strpt[TAB]ime(

Autovervollständigung funktioniert auch für Namen, welche bereits während dieser interaktiven Session definiert wurden:

php > $fooThisIsAReallyLongVariableName = 42;
php > $foo[TAB]ThisIsAReallyLongVariableName

Die interaktive Shell speichert den Verlauf von zuletzt eingegeben Zeilen. Auf diesen kann mittels der Pfeiltasten zugegriffen werden. Er wird in der ~/.php_history Datei gespeichert.

Seit PHP 5.4.0 bietet die CLI SAPI die php.ini Optionen cli.pager und cli.prompt. Die cli.pager Option erlaubt einem externen Programm (wie etwa less) als Pager für die Ausgabe zu agieren, anstatt dass diese direkt ausgegeben wird. Die cli.prompt Option erlaubt das Ändern der php > Eingabeaufforderung.

Seit PHP 5.4.0 ist es auch möglich php.ini Optionen einfacher zu ändern.

Beispiel #3 Setzen von php.ini Optionen in der interaktiven Shell

Die cli.prompt Option:

php > #cli.prompt=hello world :>
hello world :>

Mittels Backticks kann PHP Code in dem Präfix ausgeführt werden:

php > #cli.prompt=`echo date('H:i:s');` php >
15:49:35 php > echo 'hi';
hi
15:49:43 php > sleep(2);
15:49:45 php >

Setzen des Pagers auf less:

php > #cli.pager=less
php > phpinfo();
(output displayed in less)
php >

Die cli.prompt Option unterstützt einige Escape-Sequenzen.

cli.prompt Escape-Sequenzen
Sequenzen | Beschreibung
\e | Wird benutzt um Farben zur Eingabeaufforderung hinzuzufügen. Ein Beispiel: \e[032m\v \e[031m\b \e[34m\> \e[0m
\v | Die PHP Version.
\b | Gibt an, in welchem Block PHP sich befindet. Zum Beispiel gibt /* an, dass man sich gerade in einem mehrzeiligen Kommentar befindet. Der äußerste Block ist php.
\> | Gibt das Eingabeaufforderungszeichen an. Standardmäßig ist dies >, ändert sich jedoch, wenn sich die Shell innerhalb eines nicht beendeten Blocks oder Strings befindet. Mögliche Buchstaben sind: ' " { ( >

Hinweis:

Dateien, die mit auto_prepend_file und auto_append_file eingebunden wurden, werden in diesem Modus mit einigen Einschränkungen geparset - Funktionen müssen etwa vor dem Aufruf definiert werden.

Hinweis:

Automatisches Laden (autoload) ist im interaktiven PHP CLI Modus nicht verfügbar.

I/O Streams
Eingebauter Webserver
Nutzung auf der Kommandzeile


Eingebauter Webserver

Warnung

Dieser Webserver wurde entwickelt, um bei der Anwendungsentwicklung zu helfen. Er kann ebenso für Testzwecke und für Anwendungsdemonstrationen nützlich sein, die in kontrollierten Umgebungen ausgeführt werden. Er ist nicht als voll funktioneller Webserver gedacht. Er sollte nicht in einem öffentlichen Netzwerk verwendet werden.

Seit PHP 5.4.0 bietet die CLI SAPI einen eingebauten Webserver.

PHP Anwendung werden nicht weiter ausgeführt, wenn eine Anfrage blockiert wird.

URI Anfragen werden von dem aktuellen Arbeitsverzeichnis ausgehend ausgeliefert, sofern nicht die -t Option genutzt wurde um einen expliziten Document Root anzugeben. Wenn eine URI Anfrage keine Datei angibt, wird entweder index.php oder index.html aus dem aufgerufenen Verzeichnis zurückgegeben. Wenn beide Dateien nicht existieren, wird ein 404 Response Code zurückgeben.

Wenn auf der Kommandozeile beim Starten des Webservers eine PHP-Datei angegeben wird, wird diese als "Router" Skript verwendet. Dieses Skript wird dann zu Beginn jedes HTTP Requests gestartet. Wenn dieses Skript FALSE zurückgibt, dann wird die angefragte Ressource direkt zurückgegeben. Andernfalls wird die Ausgabe des Skripts zurückgegeben.

Standard MIME-Typen werden für Dateien mit den folgenden Erweiterungen zurückgegeben: .3gp, .apk, .avi, .bmp, .css, .csv, .doc, .docx, .flac, .gif, .gz, .gzip, .htm, .html, .ics, .jpe, .jpeg, .jpg, .js, .kml, .kmz, .m4a, .mov, .mp3, .mp4, .mpeg, .mpg, .odp, .ods, .odt, .oga, .ogg, .ogv, .pdf, .pdf, .png, .pps, .pptx, .qt, .svg, .swf, .tar, .text, .tif, .txt, .wav, .webm, .wmv, .xls, .xlsx, .xml, .xsl, .xsd und .zip.

Changelog: Unterstützte MIME-Typen (Dateierweiterungen)
Version | Beschreibung
5.5.12 | .xml, .xsl und .xsd
5.5.7 | .3gp, .apk, .avi, .bmp, .csv, .doc, .docx, .flac, .gz, .gzip, .ics, .kml, .kmz, .m4a, .mp3, .mp4, .mpg, .mpeg, .mov, .odp, .ods, .odt, .oga, .pdf, .pptx, .pps, .qt, .swf, .tar, .text, .tif, .wav, .wmv, .xls, .xlsx und .zip
5.5.5 | .pdf
5.4.11 | .ogg, .ogv und .webm
5.4.4 | .htm und .svg

Beispiel #1 Starten des Webservers

$ cd ~/public_html
$ php -S localhost:8000

Die Kommandozeile wird ausgeben:

PHP 5.4.0 Development Server started at Thu Jul 21 10:43:28 2011
Listening on localhost:8000
Document root is /home/me/public_html
Press Ctrl-C to quit

Nach URI Anfragen für http://localhost:8000/ und http://localhost:8000/myscript.html wird die Kommandozeile in etwa so aussehen:

PHP 5.4.0 Development Server started at Thu Jul 21 10:43:28 2011
Listening on localhost:8000
Document root is /home/me/public_html
Press Ctrl-C to quit.
[Thu Jul 21 10:48:48 2011] ::1:39144 GET /favicon.ico - Request read
[Thu Jul 21 10:48:50 2011] ::1:39146 GET / - Request read
[Thu Jul 21 10:48:50 2011] ::1:39147 GET /favicon.ico - Request read
[Thu Jul 21 10:48:52 2011] ::1:39148 GET /myscript.html - Request read
[Thu Jul 21 10:48:52 2011] ::1:39149 GET /favicon.ico - Request read

Beispiel #2 Starten mit einem expliziten Document Root

$ cd ~/public_html
$ php -S localhost:8000 -t foo/

Die Kommandozeile wird ausgeben:

PHP 5.4.0 Development Server started at Thu Jul 21 10:50:26 2011
Listening on localhost:8000
Document root is /home/me/public_html/foo
Press Ctrl-C to quit

Beispiel #3 Nutzung eines Router-Skripts

In diesem Beispiel werden Anfragen für Bilder diese direkt ausliefern; Anfragen für HTML-Dateien, werden stattdessen "Willkommen zu PHP!" ausgeben.

<?php
// router.php
if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
    return false; // Liefere die angefragte Ressource direkt aus
} else {
    echo "<p>Willkommen zu PHP!</p>";
}
?>
$ php -S localhost:8000 router.php

Beispiel #4 Prüfung auf die Verwendung des CLI Webservers

Um ein Framework-Router-Skript sowohl während der Entwicklung mit dem CLI Webserver als auch später mit einem Produktionswebserver zu verwenden:

<?php
// router.php
if (php_sapi_name() == 'cli-server') {
    /* route statische Assets und gibt false zurück */
}
/* weiter mit den normalen index.php Operationen */
?>
$ php -S localhost:8000 router.php

Beispiel #5 Behandlung nicht unterstützter Dateitypen

Wenn Sie statische Ressourcen, deren MIME Typ vom CLI Webserver nicht behandelt wird, ausliefern müssen, verwenden Sie:

<?php
// router.php
$path = pathinfo($_SERVER["SCRIPT_FILENAME"]);
if ($path["extension"] == "el") {
    header("Content-Type: text/x-script.elisp");
    readfile($_SERVER["SCRIPT_FILENAME"]);
}
else {
    return FALSE;
}
?>
$ php -S localhost:8000 router.php

Beispiel #6 Zugriff auf den CLI Webserver von Remote-Computern

Sie können den Webserver wie folgt auf Port 8000 für jeden zugänglich machen:

$ php -S 0.0.0.0:8000
Interaktiver Modus
INI Einstellungen
Nutzung auf der Kommandzeile


INI Einstellungen

CLI SAPI Konfigurations-Direktiven
Name | Standard | Veränderbar | Changelog
cli_server.color | "0" | PHP_INI_ALL | Verfügbar seit PHP 5.4.0.

Hier eine kurze Erklärung der Konfigurationsoptionen:

cli_server.color boolean

Gibt an, ob der eingebaute Web Server ANSI Color Codes für Ausgaben auf die Kommandozeile nutzen soll.

Eingebauter Webserver
Garbage Collection
Nutzung auf der Kommandzeile


Garbage Collection

Inhaltsverzeichnis

  • Reference Counting Basics
  • Collecting Cycles
  • Performance Considerations

This section explains the merits of the new Garbage Collection (also known as GC) mechanism that is part of PHP 5.3.

INI Einstellungen
Reference Counting Basics
Features


Reference Counting Basics

A PHP variable is stored in a container called a "zval". A zval container contains, besides the variable's type and value, two additional bits of information. The first is called "is_ref" and is a boolean value indicating whether or not the variable is part of a "reference set". With this bit, PHP's engine knows how to differentiate between normal variables and references. Since PHP allows user-land references, as created by the & operator, a zval container also has an internal reference counting mechanism to optimize memory usage. This second piece of additional information, called "refcount", contains how many variable names (also called symbols) point to this one zval container. All symbols are stored in a symbol table, of which there is one per scope. There is a scope for the main script (i.e., the one requested through the browser), as well as one for every function or method.

A zval container is created when a new variable is created with a constant value, such as:

Beispiel #1 Creating a new zval container

<?php
$a = "new string";
?>

In this case, the new symbol name, a, is created in the current scope, and a new variable container is created with the type string and the value new string. The "is_ref" bit is by default set to FALSE because no user-land reference has been created. The "refcount" is set to 1 as there is only one symbol that makes use of this variable container. Note that if "refcount" is 1, "is_ref" is always FALSE. If you have » Xdebug installed, you can display this information by calling xdebug_debug_zval().

Beispiel #2 Displaying zval information

<?php
xdebug_debug_zval('a');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

a: (refcount=1, is_ref=0)='new string'

Assigning this variable to another variable name will increase the refcount.

Beispiel #3 Increasing refcount of a zval

<?php
$a = "new string";
$b = $a;
xdebug_debug_zval( 'a' );
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

a: (refcount=2, is_ref=0)='new string'

The refcount is 2 here, because the same variable container is linked with both a and b. PHP is smart enough not to copy the actual variable container when it is not necessary. Variable containers get destroyed when the "refcount" reaches zero. The "refcount" gets decreased by one when any symbol linked to the variable container leaves the scope (e.g. when the function ends) or when a symbol is unassigned (e.g. by calling unset()). The following example shows this:

Beispiel #4 Decreasing zval refcount

<?php
$a = "new string";
$c = $b = $a;
xdebug_debug_zval( 'a' );
$b = 42;
xdebug_debug_zval( 'a' );
unset( $c );
xdebug_debug_zval( 'a' );
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

a: (refcount=3, is_ref=0)='new string'
a: (refcount=2, is_ref=0)='new string'
a: (refcount=1, is_ref=0)='new string'

If we now call unset($a);, the variable container, including the type and value, will be removed from memory.

Compound Types

Things get a tad more complex with compound types such as arrays and objects. As opposed to scalar values, arrays and objects store their properties in a symbol table of their own. This means that the following example creates three zval containers:

Beispiel #5 Creating a array zval

<?php
$a = array( 'meaning' => 'life', 'number' => 42 );
xdebug_debug_zval( 'a' );
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

a: (refcount=1, is_ref=0)=array (
   'meaning' => (refcount=1, is_ref=0)='life',
   'number' => (refcount=1, is_ref=0)=42
)

Or graphically

Zvals for a simple array

The three zval containers are: a, meaning, and number. Similar rules apply for increasing and decreasing "refcounts". Below, we add another element to the array, and set its value to the contents of an already existing element:

Beispiel #6 Adding already existing element to an array

<?php
$a = array( 'meaning' => 'life', 'number' => 42 );
$a['life'] = $a['meaning'];
xdebug_debug_zval( 'a' );
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

a: (refcount=1, is_ref=0)=array (
   'meaning' => (refcount=2, is_ref=0)='life',
   'number' => (refcount=1, is_ref=0)=42,
   'life' => (refcount=2, is_ref=0)='life'
)

Or graphically

Zvals for a simple array with a reference

From the above Xdebug output, we see that both the old and new array elements now point to a zval container whose "refcount" is 2. Although Xdebug's output shows two zval containers with value 'life', they are the same one. The xdebug_debug_zval() function does not show this, but you could see it by also displaying the memory pointer.

Removing an element from the array is like removing a symbol from a scope. By doing so, the "refcount" of a container that an array element points to is decreased. Again, when the "refcount" reaches zero, the variable container is removed from memory. Again, an example to show this:

Beispiel #7 Removing an element from an array

<?php
$a = array( 'meaning' => 'life', 'number' => 42 );
$a['life'] = $a['meaning'];
unset( $a['meaning'], $a['number'] );
xdebug_debug_zval( 'a' );
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

a: (refcount=1, is_ref=0)=array (
   'life' => (refcount=1, is_ref=0)='life'
)

Now, things get interesting if we add the array itself as an element of the array, which we do in the next example, in which we also sneak in a reference operator, since otherwise PHP would create a copy:

Beispiel #8 Adding the array itself as an element of it self

<?php
$a = array( 'one' );
$a[] =& $a;
xdebug_debug_zval( 'a' );
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

a: (refcount=2, is_ref=1)=array (
   0 => (refcount=1, is_ref=0)='one',
   1 => (refcount=2, is_ref=1)=...
)

Or graphically

Zvals for an array with a circular reference

You can see that the array variable (a) as well as the second element (1) now point to a variable container that has a "refcount" of 2. The "..." in the display above shows that there is recursion involved, which, of course, in this case means that the "..." points back to the original array.

Just like before, unsetting a variable removes the symbol, and the reference count of the variable container it points to is decreased by one. So, if we unset variable $a after running the above code, the reference count of the variable container that $a and element "1" point to gets decreased by one, from "2" to "1". This can be represented as:

Beispiel #9 Unsetting $a

(refcount=1, is_ref=1)=array (
   0 => (refcount=1, is_ref=0)='one',
   1 => (refcount=1, is_ref=1)=...
)

Or graphically

Zvals after removal of array with a circular reference demonstrating the memory leak

Cleanup Problems

Although there is no longer a symbol in any scope pointing to this structure, it cannot be cleaned up because the array element "1" still points to this same array. Because there is no external symbol pointing to it, there is no way for a user to clean up this structure; thus you get a memory leak. Fortunately, PHP will clean up this data structure at the end of the request, but before then, this is taking up valuable space in memory. This situation happens often if you're implementing parsing algorithms or other things where you have a child point back at a "parent" element. The same situation can also happen with objects of course, where it actually is more likely to occur, as objects are always implicitly used by reference.

This might not be a problem if this only happens once or twice, but if there are thousands, or even millions, of these memory losses, this obviously starts being a problem. This is especially problematic in long running scripts, such as daemons where the request basically never ends, or in large sets of unit tests. The latter caused problems while running the unit tests for the Template component of the eZ Components library. In some cases, it would require over 2 GB of memory, which the test server didn't quite have.

Garbage Collection
Collecting Cycles
Garbage Collection


Collecting Cycles

Traditionally, reference counting memory mechanisms, such as that used previously by PHP, fail to address circular reference memory leaks; however, as of 5.3.0, PHP implements the synchronous algorithm from the » Concurrent Cycle Collection in Reference Counted Systems paper which addresses that issue.

A full explanation of how the algorithm works would be slightly beyond the scope of this section, but the basics are explained here. First of all, we have to establish a few ground rules. If a refcount is increased, it's still in use and therefore, not garbage. If the refcount is decreased and hits zero, the zval can be freed. This means that garbage cycles can only be created when a refcount argument is decreased to a non-zero value. Secondly, in a garbage cycle, it is possible to discover which parts are garbage by checking whether it is possible to decrease their refcount by one, and then checking which of the zvals have a refcount of zero.

Garbage collection algorithm

To avoid having to call the checking of garbage cycles with every possible decrease of a refcount, the algorithm instead puts all possible roots (zvals) in the "root buffer" (marking them "purple"). It also makes sure that each possible garbage root ends up in the buffer only once. Only when the root buffer is full does the collection mechanism start for all the different zvals inside. See step A in the figure above.

In step B, the algorithm runs a depth-first search on all possible roots to decrease by one the refcounts of each zval it finds, making sure not to decrease a refcount on the same zval twice (by marking them as "grey"). In step C, the algorithm again runs a depth-first search from each root node, to check the refcount of each zval again. If it finds that the refcount is zero, the zval is marked "white" (blue in the figure). If it's larger than zero, it reverts the decreasing of the refcount by one with a depth-first search from that point on, and they are marked "black" again. In the last step (D), the algorithm walks over the root buffer removing the zval roots from there, and meanwhile, checks which zvals have been marked "white" in the previous step. Every zval marked as "white" will be freed.

Now that you have a basic understanding of how the algorithm works, we will look back at how this integrates with PHP. By default, PHP's garbage collector is turned on. There is, however, a php.ini setting that allows you to change this: zend.enable_gc.

When the garbage collector is turned on, the cycle-finding algorithm as described above is executed whenever the root buffer runs full. The root buffer has a fixed size of 10,000 possible roots (although you can alter this by changing the GC_ROOT_BUFFER_MAX_ENTRIES constant in Zend/zend_gc.c in the PHP source code, and re-compiling PHP). When the garbage collector is turned off, the cycle-finding algorithm will never run. However, possible roots will always be recorded in the root buffer, no matter whether the garbage collection mechanism has been activated with this configuration setting.

If the root buffer becomes full with possible roots while the garbage collection mechanism is turned off, further possible roots will simply not be recorded. Those possible roots that are not recorded will never be analyzed by the algorithm. If they were part of a circular reference cycle, they would never be cleaned up and would create a memory leak.

The reason why possible roots are recorded even if the mechanism has been disabled is because it's faster to record possible roots than to have to check whether the mechanism is turned on every time a possible root could be found. The garbage collection and analysis mechanism itself, however, can take a considerable amount of time.

Besides changing the zend.enable_gc configuration setting, it is also possible to turn the garbage collecting mechanism on and off by calling gc_enable() or gc_disable() respectively. Calling those functions has the same effect as turning on or off the mechanism with the configuration setting. It is also possible to force the collection of cycles even if the possible root buffer is not full yet. For this, you can use the gc_collect_cycles() function. This function will return how many cycles were collected by the algorithm.

The rationale behind the ability to turn the mechanism on and off, and to initiate cycle collection yourself, is that some parts of your application could be highly time-sensitive. In those cases, you might not want the garbage collection mechanism to kick in. Of course, by turning off the garbage collection for certain parts of your application, you do risk creating memory leaks because some possible roots might not fit into the limited root buffer. Therefore, it is probably wise to call gc_collect_cycles() just before you call gc_disable() to free up the memory that could be lost through possible roots that are already recorded in the root buffer. This then leaves an empty buffer so that there is more space for storing possible roots while the cycle collecting mechanism is turned off.

Reference Counting Basics
Performance Considerations
Garbage Collection


Performance Considerations

We have already mentioned in the previous section that simply collecting the possible roots had a very tiny performance impact, but this is when you compare PHP 5.2 against PHP 5.3. Although the recording of possible roots compared to not recording them at all, like in PHP 5.2, is slower, other changes to the PHP runtime in PHP 5.3 prevented this particular performance loss from even showing.

There are two major areas in which performance is affected. The first area is reduced memory usage, and the second area is run-time delay when the garbage collection mechanism performs its memory cleanups. We will look at both of those issues.

Reduced Memory Usage

First of all, the whole reason for implementing the garbage collection mechanism is to reduce memory usage by cleaning up circular-referenced variables as soon as the prerequisites are fulfilled. In PHP's implementation, this happens as soon as the root-buffer is full, or when the function gc_collect_cycles() is called. In the graph below, we display the memory usage of the script below, in both PHP 5.2 and PHP 5.3, excluding the base memory that PHP itself uses when starting up.

Beispiel #1 Memory usage example

<?php
class Foo
{
    public $var = '3.14159265359';
}

$baseMemory = memory_get_usage();

for ( $i = 0; $i <= 100000; $i++ )
{
    $a = new Foo;
    $a->self = $a;
    if ( $i % 500 === 0 )
    {
        echo sprintf( '%8d: ', $i ), memory_get_usage() - $baseMemory, "\n";
    }
}
?>
Comparison of memory usage between PHP 5.2 and PHP 5.3

In this very academic example, we are creating an object in which a property is set to point back to the object itself. When the $a variable in the script is re-assigned in the next iteration of the loop, a memory leak would typically occur. In this case, two zval-containers are leaked (the object zval, and the property zval), but only one possible root is found: the variable that was unset. When the root-buffer is full after 10,000 iterations (with a total of 10,000 possible roots), the garbage collection mechanism kicks in and frees the memory associated with those possible roots. This can very clearly be seen in the jagged memory-usage graph for PHP 5.3. After each 10,000 iterations, the mechanism kicks in and frees the memory associated with the circular referenced variables. The mechanism itself does not have to do a whole lot of work in this example, because the structure that is leaked is extremely simple. From the diagram, you see that the maximum memory usage in PHP 5.3 is about 9 Mb, whereas in PHP 5.2 the memory usage keeps increasing.

Run-Time Slowdowns

The second area where the garbage collection mechanism influences performance is the time taken when the garbage collection mechanism kicks in to free the "leaked" memory. In order to see how much this is, we slightly modify the previous script to allow for a larger number of iterations and the removal of the intermediate memory usage figures. The second script is here:

Beispiel #2 GC performance influences

<?php
class Foo
{
    public $var = '3.14159265359';
}

for ( $i = 0; $i <= 1000000; $i++ )
{
    $a = new Foo;
    $a->self = $a;
}

echo memory_get_peak_usage(), "\n";
?>

We will run this script two times, once with the zend.enable_gc setting turned on, and once with it turned off:

Beispiel #3 Running the above script

time php -dzend.enable_gc=0 -dmemory_limit=-1 -n example2.php
# and
time php -dzend.enable_gc=1 -dmemory_limit=-1 -n example2.php

On my machine, the first command seems to take consistently about 10.7 seconds, whereas the second command takes about 11.4 seconds. This is a slowdown of about 7%. However, the maximum amount of memory used by the script is reduced by 98% from 931Mb to 10Mb. This benchmark is not very scientific, or even representative of real-life applications, but it does demonstrate the memory usage benefits that this garbage collection mechanism provides. The good thing is that the slowdown is always the same 7%, for this particular script, while the memory saving capabilities save more and more memory as more circular references are found during script execution.

PHP's Internal GC Statistics

It is possible to coax a little bit more information about how the garbage collection mechanism is run from within PHP. But in order to do so, you will have to re-compile PHP to enable the benchmark and data-collecting code. You will have to set the CFLAGS environment variable to -DGC_BENCH=1 prior to running ./configure with your desired options. The following sequence should do the trick:

Beispiel #4 Recompiling PHP to enable GC benchmarking

export CFLAGS=-DGC_BENCH=1
./config.nice
make clean
make

When you run the above example code again with the newly built PHP binary, you will see the following being shown after PHP has finished execution:

Beispiel #5 GC statistics

GC Statistics
-------------
Runs:               110
Collected:          2072204
Root buffer length: 0
Root buffer peak:   10000

      Possible            Remove from  Marked
        Root    Buffered     buffer     grey
      --------  --------  -----------  ------
ZVAL   7175487   1491291    1241690   3611871
ZOBJ  28506264   1527980     677581   1025731

The most informative statistics are displayed in the first block. You can see here that the garbage collection mechanism ran 110 times, and in total, more than 2 million memory allocations were freed during those 110 runs. As soon as the garbage collection mechanism has run at least one time, the "Root buffer peak" is always 10000.

Conclusion

In general the garbage collector in PHP will only cause a slowdown when the cycle collecting algorithm actually runs, whereas in normal (smaller) scripts there should be no performance hit at all.

However, in the cases where the cycle collection mechanism does run for normal scripts, the memory reduction it will provide allows more of those scripts to run concurrently on your server, since not so much memory is used in total.

The benefits are most apparent for longer-running scripts, such as lengthy test suites or daemon scripts. Also, for » PHP-GTK applications that generally tend to run longer than scripts for the Web, the new mechanism should make quite a bit of a difference regarding memory leaks creeping in over time.

Collecting Cycles
DTrace Dynamic Tracing
Garbage Collection


DTrace Dynamic Tracing

Inhaltsverzeichnis

  • Introduction to PHP and DTrace
  • Using PHP and DTrace
  • Using SystemTap with PHP DTrace Static Probes
Performance Considerations
Introduction to PHP and DTrace
Features


Introduction to PHP and DTrace

DTrace is an always-available, low overhead, tracing framework available on a number of platforms including Solaris, Mac OS X, Oracle Linux and BSD. DTrace can trace operating system behavior and user program execution. It can display argument values and be used to infer performance statistics. Probes are monitored by user created scripts written in the DTrace D scripting language. This allows efficient analysis of data points.

PHP probes that are not being actively monitored by a user's DTrace D script do not contain instrumented code so there is no performance degradation during normal application execution. Probes that are being monitored incur an overhead low enough to generally allow DTrace monitoring on live production systems.

PHP incorporates "User-level Statically Defined Tracing" (USDT) probes that are triggered at runtime. For example, when a D script is monitoring PHP's function-entry probe, then, every time a PHP script function is called, this probe is fired and the associated D script action code is executed. This action code could, for example, print probe arguments such as the source file location of the PHP function. Or the action could aggregate data such as the number of times each function is called.

Only the PHP USDT probes are described here. Refer to external general and operating system-specific DTrace literature to see how DTrace can be used to trace arbitrary functions, and how it can be used to trace operating system behavior. Note not all DTrace features are available in all DTrace implementations.

DTrace static probes are included in PHP 5.4. Prior to this they were available via a » PECL extension, which is now obsolete.

The static DTrace probes in PHP can alternatively be used with the SystemTap facility on some Linux distributions.

DTrace Dynamic Tracing
Using PHP and DTrace
DTrace Dynamic Tracing


Using PHP and DTrace

PHP can be configured with DTrace static probes on platforms that support DTrace Dynamic Tracing.

Configuring PHP for DTrace Static Probes

Refer to external platform specific documentation for enabling operating system DTrace support. For example, on Oracle Linux boot a UEK3 kernel and do:

# modprobe fasttrap
# chmod 666 /dev/dtrace/helper

Instead of using chmod, you could instead use an ACL package rule to limit device access to a specific user.

Build PHP with the --enable-dtrace configuration parameter:

# ./configure --enable-dtrace ...
# make
# make install

This enables the static probes in core PHP. Any PHP extensions that provide their own probes should be built separately as shared extensions.

DTrace Static Probes in Core PHP

The following static probes are available in PHP
Probe Name | Probe Description | Probe Arguments
request-startup | Fires when a request starts. | char *file, char *request_uri, char *request_method
request-shutdown | Fires when a request shutdown. | char *file, char *request_uri, char *request_method
compile-file-entry | Fires when the compilation of a script starts. | char *compile_file, char *compile_file_translated
compile-file-return | Fires when the compilation of a script finishes. | char *compile_file, char *compile_file_translated
execute-entry | Fires when an opcode array is to be executed. For example, it fires on function calls, includes, and generator resumes. | char *request_file, int lineno
execute-return | Fires after execution of an opcode array. | char *request_file, int lineno
function-entry | Fires when the PHP engine enters a PHP function or method call. | char *function_name, char *request_file, int lineno, char *classname, char *scope
function-return | Fires when the PHP engine returns from a PHP function or method call. | char *function_name, char *request_file, int lineno, char *classname, char *scope
exception-thrown | Fires when an exception is thrown. | char *classname
exception-caught | Fires when an exception is caught. | char *classname
error | Fires when an error occurs, regardless of the error_reporting level. | char *errormsg, char *request_file, int lineno

PHP extensions may also have additional static probes.

Listing DTrace Static Probes in PHP

To list available probes, start a PHP process and then run:

# dtrace -l

The output will be similar to:

   ID   PROVIDER            MODULE                          FUNCTION NAME
   [ . . . ]
    4   php15271               php               dtrace_compile_file compile-file-entry
    5   php15271               php               dtrace_compile_file compile-file-return
    6   php15271               php                        zend_error error
    7   php15271               php  ZEND_CATCH_SPEC_CONST_CV_HANDLER exception-caught
    8   php15271               php     zend_throw_exception_internal exception-thrown
    9   php15271               php                 dtrace_execute_ex execute-entry
   10   php15271               php           dtrace_execute_internal execute-entry
   11   php15271               php                 dtrace_execute_ex execute-return
   12   php15271               php           dtrace_execute_internal execute-return
   13   php15271               php                 dtrace_execute_ex function-entry
   14   php15271               php                 dtrace_execute_ex function-return
   15   php15271               php              php_request_shutdown request-shutdown
   16   php15271               php               php_request_startup request-startup

The Provider column values consist of php and the process id of the currently running PHP process.

If the Apache web server is running, the module name might be, for example, libphp5.so, and there would be multiple blocks of listings, one per running Apache process.

The Function column refers to PHP's internal C implementation function names where each provider is located.

If a PHP process is not running, then no PHP probes will be shown.

DTrace with PHP Example

This example shows the basics of the DTrace D scripting language.

Beispiel #1 all_probes.d for tracing all PHP Static Probes with DTrace

#!/usr/sbin/dtrace -Zs

#pragma D option quiet

php*:::compile-file-entry
{
    printf("PHP compile-file-entry\n");
    printf("  compile_file              %s\n", copyinstr(arg0));
    printf("  compile_file_translated   %s\n", copyinstr(arg1));
}

php*:::compile-file-return
{
    printf("PHP compile-file-return\n");
    printf("  compile_file              %s\n", copyinstr(arg0));
    printf("  compile_file_translated   %s\n", copyinstr(arg1));
}

php*:::error
{
    printf("PHP error\n");
    printf("  errormsg                  %s\n", copyinstr(arg0));
    printf("  request_file              %s\n", copyinstr(arg1));
    printf("  lineno                    %d\n", (int)arg2);
}

php*:::exception-caught
{
    printf("PHP exception-caught\n");
    printf("  classname                 %s\n", copyinstr(arg0));
}

php*:::exception-thrown
{
    printf("PHP exception-thrown\n");
    printf("  classname                 %s\n", copyinstr(arg0));
}

php*:::execute-entry
{
    printf("PHP execute-entry\n");
    printf("  request_file              %s\n", copyinstr(arg0));
    printf("  lineno                    %d\n", (int)arg1);
}

php*:::execute-return
{
    printf("PHP execute-return\n");
    printf("  request_file              %s\n", copyinstr(arg0));
    printf("  lineno                    %d\n", (int)arg1);
}

php*:::function-entry
{
    printf("PHP function-entry\n");
    printf("  function_name             %s\n", copyinstr(arg0));
    printf("  request_file              %s\n", copyinstr(arg1));
    printf("  lineno                    %d\n", (int)arg2);
    printf("  classname                 %s\n", copyinstr(arg3));
    printf("  scope                     %s\n", copyinstr(arg4));
}

php*:::function-return
{
    printf("PHP function-return\n");
    printf("  function_name             %s\n", copyinstr(arg0));
    printf("  request_file              %s\n", copyinstr(arg1));
    printf("  lineno                    %d\n", (int)arg2);
    printf("  classname                 %s\n", copyinstr(arg3));
    printf("  scope                     %s\n", copyinstr(arg4));
}

php*:::request-shutdown
{
    printf("PHP request-shutdown\n");
    printf("  file                      %s\n", copyinstr(arg0));
    printf("  request_uri               %s\n", copyinstr(arg1));
    printf("  request_method            %s\n", copyinstr(arg2));
}

php*:::request-startup
{
    printf("PHP request-startup\n");
    printf("  file                      %s\n", copyinstr(arg0));
    printf("  request_uri               %s\n", copyinstr(arg1));
    printf("  request_method            %s\n", copyinstr(arg2));
}

This script uses the -Z option to dtrace, allowing it to be run when there is no PHP process executing. If this option were omitted the script would immediately terminate because it knows none of the probes to be monitored are in existence.

The script traces all core PHP static probe points throughout the duration of a running PHP script. Run the D script:

# ./all_probes.d

Run a PHP script or application. The monitoring D script will output each probe's arguments as it fires.

When monitoring is complete, the D script can be terminated with a ^C.

On multi-CPU machines the probe ordering might not appear to be sequential. This depends on which CPU was processing the probes, and how threads migrate across CPUs. Displaying probe time stamps will help reduce confusion, for example:

php*:::function-entry
{
      printf("%lld: PHP function-entry ", walltimestamp);
      [ . . .]
}

See Also

  • OCI8 and DTrace Dynamic Tracing
Introduction to PHP and DTrace
Using SystemTap with PHP DTrace Static Probes
DTrace Dynamic Tracing


Using SystemTap with PHP DTrace Static Probes

On some Linux distributions, the SystemTap tracing utility can be used to trace PHP's static DTrace probes. This is available with PHP 5.4.20 and PHP 5.5.

Installing PHP with SystemTap

Install the SystemTap SDT development package:

# yum install systemtap-sdt-devel

Install PHP with the DTrace probes enabled:

# ./configure --enable-dtrace ...
# make

Listing Static Probes with SystemTap

The static probes in PHP can be listed using stap:

# stap -l 'process.provider("php").mark("*")' -c 'sapi/cli/php -i'

This outputs:

process("sapi/cli/php").provider("php").mark("compile__file__entry")
process("sapi/cli/php").provider("php").mark("compile__file__return")
process("sapi/cli/php").provider("php").mark("error")
process("sapi/cli/php").provider("php").mark("exception__caught")
process("sapi/cli/php").provider("php").mark("exception__thrown")
process("sapi/cli/php").provider("php").mark("execute__entry")
process("sapi/cli/php").provider("php").mark("execute__return")
process("sapi/cli/php").provider("php").mark("function__entry")
process("sapi/cli/php").provider("php").mark("function__return")
process("sapi/cli/php").provider("php").mark("request__shutdown")
process("sapi/cli/php").provider("php").mark("request__startup")

SystemTap with PHP Example

Beispiel #1 all_probes.stp for tracing all PHP Static Probes with SystemTap

probe process("sapi/cli/php").provider("php").mark("compile__file__entry") {
    printf("Probe compile__file__entry\n");
    printf("  compile_file %s\n", user_string($arg1));
    printf("  compile_file_translated %s\n", user_string($arg2));
}
probe process("sapi/cli/php").provider("php").mark("compile__file__return") {
    printf("Probe compile__file__return\n");
    printf("  compile_file %s\n", user_string($arg1));
    printf("  compile_file_translated %s\n", user_string($arg2));
}
probe process("sapi/cli/php").provider("php").mark("error") {
    printf("Probe error\n");
    printf("  errormsg %s\n", user_string($arg1));
    printf("  request_file %s\n", user_string($arg2));
    printf("  lineno %d\n", $arg3);
}
probe process("sapi/cli/php").provider("php").mark("exception__caught") {
    printf("Probe exception__caught\n");
    printf("  classname %s\n", user_string($arg1));
}
probe process("sapi/cli/php").provider("php").mark("exception__thrown") {
    printf("Probe exception__thrown\n");
    printf("  classname %s\n", user_string($arg1));
}
probe process("sapi/cli/php").provider("php").mark("execute__entry") {
    printf("Probe execute__entry\n");
    printf("  request_file %s\n", user_string($arg1));
    printf("  lineno %d\n", $arg2);
}
probe process("sapi/cli/php").provider("php").mark("execute__return") {
    printf("Probe execute__return\n");
    printf("  request_file %s\n", user_string($arg1));
    printf("  lineno %d\n", $arg2);
}
probe process("sapi/cli/php").provider("php").mark("function__entry") {
    printf("Probe function__entry\n");
    printf("  function_name %s\n", user_string($arg1));
    printf("  request_file %s\n", user_string($arg2));
    printf("  lineno %d\n", $arg3);
    printf("  classname %s\n", user_string($arg4));
    printf("  scope %s\n", user_string($arg5));
}
probe process("sapi/cli/php").provider("php").mark("function__return") {
    printf("Probe function__return: %s\n", user_string($arg1));
    printf(" function_name %s\n", user_string($arg1));
    printf("  request_file %s\n", user_string($arg2));
    printf("  lineno %d\n", $arg3);
    printf("  classname %s\n", user_string($arg4));
    printf("  scope %s\n", user_string($arg5));
}
probe process("sapi/cli/php").provider("php").mark("request__shutdown") {
    printf("Probe request__shutdown\n");
    printf("  file %s\n", user_string($arg1));
    printf("  request_uri %s\n", user_string($arg2));
    printf("  request_method %s\n", user_string($arg3));
}
probe process("sapi/cli/php").provider("php").mark("request__startup") {
    printf("Probe request__startup\n");
    printf("  file %s\n", user_string($arg1));
    printf("  request_uri %s\n", user_string($arg2));
    printf("  request_method %s\n", user_string($arg3));
}

The above script will trace all core PHP static probe points throughout the duration of a running PHP script:

# stap -c 'sapi/cli/php test.php' all_probes.stp

Using PHP and DTrace
Funktionsreferenz
DTrace Dynamic Tracing


Funktionsreferenz

Tipp

Siehe auch Extension-Liste/-Kategorisierung.

  • Das Verhalten von PHP beeinflussen
    • APC — Alternativer PHP Cache
    • APCu — APC User Cache
    • APD — Advanced PHP debugger
    • bcompiler — PHP bytecode Compiler
    • BLENC — Blenc - BLowfish ENCoder for PHP source scripts
    • Fehlerbehandlung — Fehlerbehandlung und Protokollierung
    • htscanner — htaccess-artige Unterstützung für alle SAPIs
    • inclued — Inclusion hierarchy viewer
    • Memtrack
    • OPcache
    • Ausgabekontrolle — Ausgabepufferung
    • PHP-Optionen/-Informationen — PHP-Optionen und -Informationen
    • runkit
    • scream — Break the silence operator
    • uopz
    • Weakref — Weak References
    • WinCache — Windows Cache for PHP
    • Xhprof — Hierarchical Profiler
  • Manipulation von Audioformaten
    • ID3 — ID3 Tags
    • KTaglib
    • oggvorbis — OGG/Vorbis
    • OpenAL — OpenAL Audio Bindings
  • Authentifizierungsdienste
    • KADM5 — Kerberos V
    • Radius
  • Eingabezeilenspezifische Erweiterungen
    • Ncurses — Ncurses Terminal Screen Control
    • Newt
    • Readline — GNU Readline
  • Erweiterungen zur Datenkompression und Archivierung
    • Bzip2
    • LZF
    • Phar
    • Rar — Rar Archiving
    • Zip
    • Zlib — Zlib-Komprimierung
  • Kreditkartendaten-Verarbeitung
    • MCVE — MCVE (Monetra) Payment
  • Kryptografische Erweiterungen
    • Crack — Cracklib
    • CSPRNG
    • Hash — HASH-Erweiterung
    • Mcrypt
    • Mhash
    • OpenSSL
    • Password Hashing
  • Datenbankerweiterungen
    • Abstraktionsebenen
    • Anbieterspezifische Datenbankerweiterungen
  • Datums- und zeitrelevante Erweiterungen
    • Kalender
    • Datum/Uhrzeit — Datum und Uhrzeit
    • HRTime — High resolution timing
  • Dateisystemrelevante Erweiterungen
    • Direct-IO
    • Verzeichnis-Funktionen
    • Fileinfo — Dateiinformation
    • Dateisystem
    • Inotify
    • Mimetype
    • Proctitle
    • xattr
    • xdiff
  • Unterstützung menschlicher Sprache und Zeichenkodierung
    • Enchant — Enchant spelling library
    • FriBiDi
    • Gender — Geschlecht aus Vornamen ermitteln
    • Gettext
    • iconv
    • intl — Internationalization Functions
    • Multibyte String
    • Pspell
    • Recode — GNU Recode
  • Bildverarbeitung und -generierung
    • Cairo
    • Exif — Exchangable Image Information (EXIF)
    • GD — Bildbearbeitung und GD
    • Gmagick
    • ImageMagick — Image Processing (ImageMagick)
  • E-Mail-relevante Erweiterungen
    • Cyrus — Cyrus IMAP administration
    • IMAP — IMAP, POP3 and NNTP
    • Mail
    • Mailparse
    • vpopmail
  • Mathematische Erweiterungen
    • BC Math — BCMath Rechnen mit beliebiger Genauigkeit
    • GMP — GNU Multiple Precision
    • Lapack
    • Mathe — Mathematische Funktionen
    • Statistics
    • Trader — Technical Analysis for Traders
  • Non-Text MIME-Ausgaben
    • FDF — Forms Data Format Funktionen
    • GnuPG — GNU Privacy Guard
    • haru — Haru PDF
    • Ming — Ming (flash)
    • PDF
    • PS — PostScript document creation
    • RPM Reader — RPM Header Reading
  • Erweiterungen zur Prozesskontrolle
    • Eio
    • Ev
    • Expect
    • Libevent
    • PCNTL — Prozesskontrolle
    • POSIX
    • Programmausführung — Ausführung von Systemprogrammen
    • pthreads
    • Semaphore — Semaphore, Shared Memory and IPC
    • Shared Memory
    • Sync
  • Sonstige Grunderweiterungen
    • GeoIP — Geo IP Location
    • FANN — FANN (Fast Artificial Neural Network)
    • JSON — JavaScript-Objekt-Notation
    • Judy — Judy Arrays
    • Lua
    • Misc. — Miscellaneous Functions
    • Parsekit
    • SPL — Standard PHP Library (SPL)
    • SPL Types — SPL Type Handling
    • Streams
    • Tidy
    • Tokenizer
    • URLs
    • V8js — V8 Javascript-Engine Integration
    • Yaml — YAML Data Serialization
    • Yaf — Yet Another Framework
    • Taint
  • Sonstige Dienste
    • chdb — Constant hash database
    • cURL — CURL
    • Event
    • FAM — File Alteration Monitor
    • FTP
    • Gearman
    • Gopher — Net Gopher
    • Gupnp
    • Hyperwave API
    • LDAP — Lightweight Directory Access Protocol
    • Memcache
    • Memcached
    • mqseries
    • Network
    • RRD — RRDtool
    • SAM — Simple Asynchronous Messaging
    • SNMP
    • Sockets
    • SSH2 — Secure Shell2
    • Stomp — Stomp Client
    • SVM — Support Vector Machine
    • SVN — Subversion
    • TCP — TCP Wrappers
    • Varnish
    • YAZ
    • YP/NIS
    • 0MQ messaging — ZMQ
    • ZooKeeper
  • Suchmaschinenerweiterungen
    • mnoGoSearch
    • Solr — Apache Solr
    • Sphinx — Sphinx Client
    • Swish — Swish Indexing
  • Serverspezifische Erweiterungen
    • Apache
    • FastCGI Process Manager
    • IIS — IIS Administration
    • NSAPI
  • Session-Erweiterungen
    • msession — Mohawk Software Session Handler-Funktionen
    • Sessions — Sessionbehandlung
    • Session PgSQL — PostgreSQL Session Save Handler
  • Textverarbeitung
    • BBCode — Bulletin Board Code
    • PCRE — Reguläre Ausdrücke (Perl-kompatibel)
    • POSIX Regex — Reguläre Ausdrücke (POSIX-erweitert)
    • ssdeep — ssdeep Fuzzy Hashing
    • Zeichenketten
  • Variablen- und typbezogene Erweiterungen
    • Arrays
    • Klassen/Objekte — Klassen- und Objektinformationen
    • Classkit
    • Ctype — Zeichentypprüfung
    • Data Structures
    • Filter — Datenfilterung
    • Function Handling
    • Quickhash
    • Reflection
    • Variablenbehandlung
  • Web Services
    • OAuth
    • SCA
    • SOAP
    • Yar — Yet Another RPC Framework
    • XML-RPC
  • Windowsbasierte Erweiterungen
    • COM — COM and .Net (Windows)
    • win32ps
    • win32service
  • XML-Manipulation
    • DOM — Document Object Model
    • libxml
    • SDO — Service Data Objects
    • SDO-DAS-Relational — SDO Relational Data Access Service
    • SDO DAS XML — SDO XML Data Access Service
    • SimpleXML
    • WDDX
    • XMLDiff — XML diff and merge
    • XML Parser
    • XMLReader
    • XMLWriter
    • XSL
  • GUI Erweiterungen
    • UI
Using SystemTap with PHP DTrace Static Probes
Das Verhalten von PHP beeinflussen
PHP-Handbuch


Das Verhalten von PHP beeinflussen

  • APC — Alternativer PHP Cache
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • APC Funktionen
    • APCIterator — The APCIterator class
  • APCu — APC User Cache
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • APCu Funktionen
    • APCUIterator — The APCUIterator class
  • APD — Advanced PHP debugger
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • APD Funktionen
  • bcompiler — PHP bytecode Compiler
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • bcompiler Funktionen
  • BLENC — Blenc - BLowfish ENCoder for PHP source scripts
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Blenc Funktionen
  • Fehlerbehandlung — Fehlerbehandlung und Protokollierung
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Fehlerbehandlungsfunktionen
  • htscanner — htaccess-artige Unterstützung für alle SAPIs
    • Einführung
    • Installation/Konfiguration
  • inclued — Inclusion hierarchy viewer
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • inclued Funktionen
  • Memtrack
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
  • OPcache
    • Einführung
    • Installation/Konfiguration
    • OPcache Funktionen
  • Ausgabekontrolle — Ausgabepufferung
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Output-Control-Funktionen
  • PHP-Optionen/-Informationen — PHP-Optionen und -Informationen
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • PHP-Optionen-/-Informationen-Funktionen
  • runkit
    • Einführung
    • Vordefinierte Konstanten
    • Installation/Konfiguration
    • runkit Funktionen
  • scream — Break the silence operator
    • Einführung
    • Installation/Konfiguration
    • Beispiele
  • uopz
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Uopz Funktionen
  • Weakref — Weak References
    • Einführung
    • Installation/Konfiguration
    • WeakRef — The WeakRef class
    • WeakMap — The WeakMap class
  • WinCache — Windows Cache for PHP
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • WinCache Funktionen
    • Building for Windows
  • Xhprof — Hierarchical Profiler
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Xhprof Funktionen
Funktionsreferenz
APC
Funktionsreferenz


Alternativer PHP Cache

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • APC Funktionen
    • apc_add — Cache a new variable in the data store
    • apc_bin_dump — Get a binary dump of the given files and user variables
    • apc_bin_dumpfile — Output a binary dump of cached files and user variables to a file
    • apc_bin_load — Load a binary dump into the APC file/user cache
    • apc_bin_loadfile — Load a binary dump from a file into the APC file/user cache
    • apc_cache_info — Retrieves cached information from APC's data store
    • apc_cas — Updates an old value with a new value
    • apc_clear_cache — Clears the APC cache
    • apc_compile_file — Speichert eine Datei im Bytecode Cache unter Umgehung aller Filter.
    • apc_dec — Decrease a stored number
    • apc_define_constants — Defines a set of constants for retrieval and mass-definition
    • apc_delete_file — Deletes files from the opcode cache
    • apc_delete — Removes a stored variable from the cache
    • apc_exists — Checks if APC key exists
    • apc_fetch — Fetch a stored variable from the cache
    • apc_inc — Increase a stored number
    • apc_load_constants — Loads a set of constants from the cache
    • apc_sma_info — Retrieves APC's Shared Memory Allocation information
    • apc_store — Cache a variable in the data store
  • APCIterator — The APCIterator class
    • APCIterator::__construct — Constructs an APCIterator iterator object
    • APCIterator::current — Get current item
    • APCIterator::getTotalCount — Get total count
    • APCIterator::getTotalHits — Get total cache hits
    • APCIterator::getTotalSize — Get total cache size
    • APCIterator::key — Get iterator key
    • APCIterator::next — Move pointer to next item
    • APCIterator::rewind — Rewinds iterator
    • APCIterator::valid — Checks if current position is valid
Das Verhalten von PHP beeinflussen
Einführung
Das Verhalten von PHP beeinflussen


Einführung

Der Alternative PHP Cache (APC) ist ein freier und offener Opcode Cache für PHP. Er wurde erdacht um ein freies, offenes und robustes Gerüst zum Cachen und Optimieren von PHP Zwischencode bereitzustellen.

Warnung

This extension is considered unmaintained and dead. However, the source code for this extension is still available within PECL GIT here: http://git.php.net/?p=pecl/caching/apc.git.

Hinweis:

Alternativen zu dieser Extension sind OPcache, APCu, Windows Cache für PHP und das Session Upload Progress API.

APC
Installation/Konfiguration
APC


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
APC


Anforderungen

Diese Erweiterung benötigt für die Kompilierung keine externen Bibliotheken.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/apc.

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Hinweis: Unter Windows benötigt APC ein existierenden temporären Pfad zu einem für den Webserver schreibbaren Verzeichnis. APC prüft die TMP, TEMP und USERPROFILE Environmentvariablen in dieser Reihenfolge und versucht schließlich das WINDOWS Verzeichnis zu nutzen, falls keine dieser Variablen gesetzt ist.

Hinweis: Für weiter in die Tiefe gehende technische Implementationsdetails nutzen Sie bitte die von den Entwicklern bereitgestellte » TECHNOTES Datei.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Although the default APC settings are fine for many installations, serious users should consider tuning the following parameters.

There are two primary decisions to be made configuring APC. First, how much memory is going to be allocated to APC; and second, whether APC will check if a file has been modified on every request. The two ini directives that control these settings are apc.shm_size and apc.stat, respectively. Read the sections on these two directive carefully below.

Once the server is running, the apc.php script that is bundled with the extension should be copied somewhere into the docroot and viewed with a browser as it provides a detailed analysis of the internal workings of APC. If GD is enabled in PHP, it will even display some interesting graphs. The first thing to ensure, of course, is that it is actually caching files. If APC is working, the Cache full count number (on the left) will display the number of times the cache has reached maximum capacity and has had to forcefully clean any entries that haven't been accessed in the last apc.ttl seconds. This number is minimized in a well-configured cache. If the cache is constantly being filled, and thusly forcefully freed, the resulting churning will have disparaging effects on script performance. The easiest way to minimize this number is to allocate more memory for APC. Barring that, the apc.filters ought to be used to cache fewer scripts.

When APC is compiled with mmap support (Memory Mapping), it will use only one memory segment, unlike when APC is built with SHM (SysV Shared Memory) support that uses multiple memory segments. MMAP does not have a maximum limit like SHM does in /proc/sys/kernel/shmmax. In general MMAP support is recommeded because it will reclaim the memory faster when the webserver is restarted and all in all reduces memory allocation impact at startup.

APC configuration options
Name | Standard | Veränderbar | Changelog
apc.enabled | "1" | PHP_INI_SYSTEM | PHP_INI_SYSTEM in APC 2. PHP_INI_ALL in APC <= 3.0.12.
apc.shm_segments | "1" | PHP_INI_SYSTEM |
apc.shm_size | "32M" | PHP_INI_SYSTEM |
apc.shm_strings_buffer | "4M" | PHP_INI_SYSTEM | Available since APC 3.1.4.
apc.optimization | "0" | PHP_INI_ALL | PHP_INI_SYSTEM in APC 2. Removed in APC 3.0.13.
apc.num_files_hint | "1000" | PHP_INI_SYSTEM |
apc.user_entries_hint | "4096" | PHP_INI_SYSTEM | Available since APC 3.0.0.
apc.ttl | "0" | PHP_INI_SYSTEM | Available since APC 3.0.0.
apc.user_ttl | "0" | PHP_INI_SYSTEM | Available since APC 3.0.0.
apc.gc_ttl | "3600" | PHP_INI_SYSTEM |
apc.cache_by_default | "1" | PHP_INI_ALL | PHP_INI_SYSTEM in APC <= 3.0.12. Available since APC 3.0.0.
apc.filters | NULL | PHP_INI_SYSTEM |
apc.mmap_file_mask | NULL | PHP_INI_SYSTEM |
apc.slam_defense | "1" | PHP_INI_SYSTEM | Available since APC 3.0.0. Prior to APC 3.1.4, the default value was "0" (disabled).
apc.file_update_protection | "2" | PHP_INI_SYSTEM | Available since APC 3.0.6.
apc.enable_cli | "0" | PHP_INI_SYSTEM | Available since APC 3.0.7.
apc.max_file_size | "1M" | PHP_INI_SYSTEM | Available since APC 3.0.7.
apc.use_request_time | "1" | PHP_INI_ALL | Available since APC 3.1.3.
apc.stat | "1" | PHP_INI_SYSTEM | Available since APC 3.0.10.
apc.write_lock | "1" | PHP_INI_SYSTEM | Available since APC 3.0.11.
apc.report_autofilter | "0" | PHP_INI_SYSTEM | Available since APC 3.0.11.
apc.serializer | "default" | PHP_INI_SYSTEM | Available since APC 3.1.0.
apc.include_once_override | "0" | PHP_INI_SYSTEM | Available since APC 3.0.12.
apc.rfc1867 | "0" | PHP_INI_SYSTEM | Available since APC 3.0.13.
apc.rfc1867_prefix | "upload_" | PHP_INI_SYSTEM |
apc.rfc1867_name | "APC_UPLOAD_PROGRESS" | PHP_INI_SYSTEM |
apc.rfc1867_freq | "0" | PHP_INI_SYSTEM |
apc.rfc1867_ttl | "3600" | PHP_INI_SYSTEM | Available since APC 3.1.1.
apc.localcache | "0" | PHP_INI_SYSTEM | Available in APC 3.0.14 - 3.1.11.
apc.localcache.size | "512" | PHP_INI_SYSTEM | vailable in APC 3.0.14 - 3.1.11.
apc.coredump_unmap | "0" | PHP_INI_SYSTEM | Available since APC 3.0.16.
apc.stat_ctime | "0" | PHP_INI_SYSTEM | Available since APC 3.0.13.
apc.preload_path | NULL | PHP_INI_SYSTEM | Available since APC 3.1.1.
apc.file_md5 | "0" | PHP_INI_SYSTEM | Available since APC 3.1.1.
apc.canonicalize | "1" | PHP_INI_SYSTEM | Available since APC 3.1.1.
apc.lazy_functions | 0 | PHP_INI_SYSTEM | Available since APC 3.1.3.
apc.lazy_classes | 0 | PHP_INI_SYSTEM | Available since APC 3.1.3.
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

apc.enabled boolean

apc.enabled can be set to 0 to disable APC. This is primarily useful when APC is statically compiled into PHP, since there is no other way to disable it (when compiled as a DSO, the extension line in php.ini can just be commented-out).

apc.shm_segments integer

The number of shared memory segments to allocate for the compiler cache. If APC is running out of shared memory but apc.shm_size is set as high as the system allows, raising this value might prevent APC from exhausting its memory.

apc.shm_size string

The size of each shared memory segment given by a shorthand notation as described in this FAQ. By default, some systems (including most BSD variants) have very low limits on the size of a shared memory segment.

apc.shm_strings_buffer string

The size of memory to use as a shared buffer for strings used internally by APC. Size Should be suffixed by M for megabytes, G for gigabytes. Enabling this option will reduce the amount of memory used per PHP-FPM worker as strings will be stored once rather than for each worker.

apc.optimization integer

The optimization level. Zero disables the optimizer, and higher values use more aggressive optimizations. Expect very modest speed improvements. This is experimental.

apc.num_files_hint integer

A "hint" about the number of distinct source files that will be included or requested on your web server. Set to zero or omit if unsure; this setting is mainly useful for sites that have many thousands of source files.

apc.user_entries_hint integer

Just like apc.num_files_hint, a "hint" about the number of distinct user cache variables to store. Set to zero or omit if not sure.

apc.ttl integer

The number of seconds a cache entry is allowed to idle in a slot in case this cache entry slot is needed by another entry. Leaving this at zero means that APC's cache could potentially fill up with stale entries while newer entries won't be cached. In the event of a cache running out of available memory, the cache will be completely expunged if ttl is equal to 0. Otherwise, if the ttl is greater than 0, APC will attempt to remove expired entries.

apc.user_ttl integer

The number of seconds a cache entry is allowed to idle in a slot in case this cache entry slot is needed by another entry. Leaving this at zero means that APC's cache could potentially fill up with stale entries while newer entries won't be cached. In the event of a cache running out of available memory, the cache will be completely expunged if ttl is equal to 0. Otherwise, if the ttl is greater than 0, APC will attempt to remove expired entries.

apc.gc_ttl integer

The number of seconds that a cache entry may remain on the garbage-collection list. This value provides a fail-safe in the event that a server process dies while executing a cached source file; if that source file is modified, the memory allocated for the old version will not be reclaimed until this TTL reached. Set to zero to disable this feature.

apc.cache_by_default boolean

On by default, but can be set to off and used in conjunction with positive apc.filters so that files are only cached if matched by a positive filter.

apc.filters string

A comma-separated list of POSIX extended regular expressions. If any pattern matches the source filename, the file will not be cached. Note that the filename used for matching is the one passed to include/require, not the absolute path. If the first character of the expression is a + then the expression will be additive in the sense that any files matched by the expression will be cached, and if the first character is a - then anything matched will not be cached. The - case is the default, so it can be left off.

apc.mmap_file_mask string

If compiled with MMAP support by using --enable-mmap this is the mktemp-style file_mask to pass to the mmap module for determining whether your mmap'ed memory region is going to be file-backed or shared memory backed. For straight file-backed mmap, set it to something like /tmp/apc.XXXXXX (exactly 6 Xs). To use POSIX-style shm_open/mmap put a .shm somewhere in your mask. e.g. /apc.shm.XXXXXX You can also set it to /dev/zero to use your kernel's /dev/zero interface to anonymous mmap'ed memory. Leaving it undefined will force an anonymous mmap.

apc.slam_defense integer

On very busy servers whenever you start the server or modify files you can create a race of many processes all trying to cache the same file at the same time. This option sets the percentage of processes that will skip trying to cache an uncached file. Or think of it as the probability of a single process to skip caching. For example, setting apc.slam_defense to 75 would mean that there is a 75% chance that the process will not cache an uncached file. So, the higher the setting the greater the defense against cache slams. Setting this to 0 disables this feature.

Deprecated by apc.write_lock.

apc.file_update_protection integer

When a file is modified on a live web server it really ought to be done in an atomic manner. That is, written to a temporary file and renamed (mv) the file into its permanent position when it is ready. Many text editors, cp, tar and other such programs don't do this. This means that there is a chance that a file is accessed (and cached) while it is still being written to. This apc.file_update_protection setting puts a delay on caching brand new files. The default is 2 seconds, which means that if the modification timestamp (mtime) on a file shows that it is less than 2 seconds old when it is accessed, it will not be cached. The unfortunate person who accessed this half-written file will still see weirdness, but at least it won't persist. If all of the webserver's files are atomically updated, via some method like rsync (which updates correctly), this protection can be disabled by setting this directive to 0. If the system is flooded with i/o and some update procedures are taking longer than 2 seconds, this setting should be increased to enable the protection on those slower update operations.

apc.enable_cli integer

Mostly for testing and debugging. Setting this enables APC for the CLI version of PHP. Under normal circumstances, it is not ideal to create, populate and destroy the APC cache on every CLI request, but for various test scenarios it is useful to be able to enable APC for the CLI version of PHP easily.

apc.max_file_size integer

Prevent files larger than this value from getting cached. Defaults to 1M.

apc.stat integer

Be careful changing this setting. This defaults to on, forcing APC to stat (check) the script on each request to determine if it has been modified. If it has been modified it will recompile and cache the new version. If this setting is off, APC will not check, which usually means that to force APC to recheck files, the web server will have to be restarted or the cache will have to be manually cleared. Note that FastCGI web server configurations may not clear the cache on restart. On a production server where the script files rarely change, a significant performance boost can be achieved by disabled stats.

For included/required files this option applies as well, but note that for relative path includes (any path that doesn't start with / on Unix) APC has to check in order to uniquely identify the file. If you use absolute path includes APC can skip the stat and use that absolute path as the unique identifier for the file.

apc.write_lock boolean

On busy servers, when the web server is first started, or when many files have been modified at the same time, APC may try to compile and cache the same file multiple times. Write_lock guarantees that only one process will attempt to compile and cache an uncached script. The other processes attempting to use the script will run without using the opcode cache, rather than locking and waiting for the cache to prime.

apc.report_autofilter boolean

Logs any scripts that were automatically excluded from being cached due to early/late binding issues.

apc.serializer string

Used to configure APC to use a third party serializer.

apc.include_once_override boolean

Optimize include_once and require_once calls and avoid the expensive system calls used.

Warnung

This feature is EXPERIMENTAL. The behaviour of this directive, its name, and surrounding documentation may change without notice in a future release of APC. This feature should be used at your own risk.

apc.rfc1867 boolean

RFC1867 File Upload Progress hook handler is only available if APC was compiled against PHP 5.2.0 or later. When enabled, any file uploads which includes a field called APC_UPLOAD_PROGRESS before the file field in an upload form will cause APC to automatically create an upload_key user cache entry where key is the value of the APC_UPLOAD_PROGRESS form entry.

Note that the hidden field specified by APC_UPLOAD_PROGRESS must come before the file field, otherwise the upload progress will not work correctly.

Note that the file upload tracking is not threadsafe at this point, so new uploads that happen while a previous one is still going will disable the tracking for the previous.

Note that the rate is only available once all file transfers are completed.

Beispiel #1 An apc.rfc1867 example

<?php
print_r(apc_fetch("upload_$_POST[APC_UPLOAD_PROGRESS]"));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [total] => 1142543
    [current] => 1142543
    [rate] => 1828068.8
    [filename] => test
    [name] => file
    [temp_filename] => /tmp/php8F
    [cancel_upload] => 0
    [done] => 1
)

apc.rfc1867_prefix string

Key prefix to use for the user cache entry generated by rfc1867 upload progress functionality.

apc.rfc1867_name string

Specify the hidden form entry name that activates APC upload progress and specifies the user cache key suffix.

apc.rfc1867_freq string

The frequency that updates should be made to the user cache entry for upload progress. This can take the form of a percentage of the total file size or a size in bytes optionally suffixed with "k", "m", or "g" for kilobytes, megabytes, or gigabytes respectively (case insensitive). A setting of 0 updates as often as possible, which may cause slower uploads.

apc.rfc1867_ttl integer

TTL for rfc1867 entries.

apc.localcache boolean

This enables a lock-free local process shadow-cache which reduces lock contention when the cache is being written to.

apc.localcache.size integer

The size of the local process shadow-cache, should be set to a sufficiently large value, approximately half of apc.num_files_hint.

apc.coredump_unmap boolean

Enables APC handling of signals, such as SIGSEGV, that write core files when signaled. When these signals are received, APC will attempt to unmap the shared memory segment in order to exclude it from the core file. This setting may improve system stability when fatal signals are received and a large APC shared memory segment is configured.

Warnung

This feature is potentially dangerous. Unmapping the shared memory segment in a fatal signal handler may cause undefined behaviour if a fatal error occurs.

Hinweis:

Although some kernels may provide a facility to ignore various types of shared memory when generating a core dump file, these implementations may also ignore important shared memory segments such as the Apache scoreboard.

apc.stat_ctime integer

Verification with ctime will avoid problems caused by programs such as svn or rsync by making sure inodes haven't changed since the last stat. APC will normally only check mtime.

apc.canonicalize bool

If on, then relative paths are canonicalized in no-stat mode. If set, then files included via stream wrappers can not be cached as realpath() does not support stream wrappers.

apc.preload_path string

Optionally, set a path to the directory that APC will load cache data at startup.

apc.use_request_time bool

Use the SAPI request start time for TTL.

apc.file_md5 bool

Records a md5 hash of files.

apc.lazy_functions integer

Enables lazy loading for functions.

apc.lazy_classes integer

Enables lazy loading for classes.

Installation
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

Diese Erweiterung definiert keine Ressource-Typen.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

APC_BIN_VERIFY_CRC32 (integer)
APC_BIN_VERIFY_MD5 (integer)
APC_ITER_ALL (integer)
APC_ITER_ATIME (integer)
APC_ITER_CTIME (integer)
APC_ITER_DEVICE (integer)
APC_ITER_DTIME (integer)
APC_ITER_FILENAME (integer)
APC_ITER_INODE (integer)
APC_ITER_KEY (integer)
APC_ITER_MD5 (integer)
APC_ITER_MEM_SIZE (integer)
APC_ITER_MTIME (integer)
APC_ITER_NONE (integer)
APC_ITER_NUM_HITS (integer)
APC_ITER_REFCOUNT (integer)
APC_ITER_TTL (integer)
APC_ITER_TYPE (integer)
APC_ITER_VALUE (integer)
APC_LIST_ACTIVE (integer)
APC_LIST_DELETED (integer)

Ressource-Typen
APC Funktionen
APC


APC Funktionen

Inhaltsverzeichnis

  • apc_add — Cache a new variable in the data store
  • apc_bin_dump — Get a binary dump of the given files and user variables
  • apc_bin_dumpfile — Output a binary dump of cached files and user variables to a file
  • apc_bin_load — Load a binary dump into the APC file/user cache
  • apc_bin_loadfile — Load a binary dump from a file into the APC file/user cache
  • apc_cache_info — Retrieves cached information from APC's data store
  • apc_cas — Updates an old value with a new value
  • apc_clear_cache — Clears the APC cache
  • apc_compile_file — Speichert eine Datei im Bytecode Cache unter Umgehung aller Filter.
  • apc_dec — Decrease a stored number
  • apc_define_constants — Defines a set of constants for retrieval and mass-definition
  • apc_delete_file — Deletes files from the opcode cache
  • apc_delete — Removes a stored variable from the cache
  • apc_exists — Checks if APC key exists
  • apc_fetch — Fetch a stored variable from the cache
  • apc_inc — Increase a stored number
  • apc_load_constants — Loads a set of constants from the cache
  • apc_sma_info — Retrieves APC's Shared Memory Allocation information
  • apc_store — Cache a variable in the data store
Vordefinierte Konstanten
apc_add
APC


Cache a new variable in the data store

APC Funktionen
apc_bin_dump
APC Funktionen
PHP Manual

apc_add

(PECL apc >= 3.0.13)

apc_add — Cache a new variable in the data store

Beschreibung

bool apc_add ( string $key , mixed $var [, int $ttl = 0 ] )
array apc_add ( array $values [, mixed $unused = NULL [, int $ttl = 0 ]] )

Caches a variable in the data store, only if it's not already stored.

Hinweis: Unlike many other mechanisms in PHP, variables stored using apc_add() will persist between requests (until the value is removed from the cache).

Parameter-Liste

key

Store the variable using this name. keys are cache-unique, so attempting to use apc_add() to store data with a key that already exists will not overwrite the existing data, and will instead return FALSE. (This is the only difference between apc_add() and apc_store().)

var

The variable to store

ttl

Time To Live; store var in the cache for ttl seconds. After the ttl has passed, the stored variable will be expunged from the cache (on the next request). If no ttl is supplied (or if the ttl is 0), the value will persist until it is removed from the cache manually, or otherwise fails to exist in the cache (clear, restart, etc.).

values

Names in key, variables in value.

Rückgabewerte

Returns TRUE if something has effectively been added into the cache, FALSE otherwise. Second syntax returns array with error keys.

Beispiele

Beispiel #1 A apc_add() example

<?php
$bar = 'BAR';
apc_add('foo', $bar);
var_dump(apc_fetch('foo'));
echo "\n";
$bar = 'NEVER GETS SET';
apc_add('foo', $bar);
var_dump(apc_fetch('foo'));
echo "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(3) "BAR"
string(3) "BAR"

Siehe auch

  • apc_store() - Cache a variable in the data store
  • apc_fetch() - Fetch a stored variable from the cache
  • apc_delete() - Removes a stored variable from the cache

APC Funktionen
apc_bin_dump
APC Funktionen


Get a binary dump of the given files and user variables

apc_add
apc_bin_dumpfile
APC Funktionen
PHP Manual

apc_bin_dump

(PECL apc >= 3.1.4)

apc_bin_dump — Get a binary dump of the given files and user variables

Beschreibung

string apc_bin_dump ([ array $files = NULL [, array $user_vars = NULL ]] )

Returns a binary dump of the given files and user variables from the APC cache. A NULL for files or user_vars signals a dump of every entry, whereas array() will dump nothing.

Parameter-Liste

files

The files. Passing in NULL signals a dump of every entry, while passing in array() will dump nothing.

user_vars

The user vars. Passing in NULL signals a dump of every entry, while passing in array() will dump nothing.

Rückgabewerte

Returns a binary dump of the given files and user variables from the APC cache, FALSE if APC is not enabled, or NULL if an unknown error is encountered.

Siehe auch

  • apc_bin_dumpfile() - Output a binary dump of cached files and user variables to a file
  • apc_bin_load() - Load a binary dump into the APC file/user cache
apc_add
apc_bin_dumpfile
APC Funktionen


Output a binary dump of cached files and user variables to a file

apc_bin_dump
apc_bin_load
APC Funktionen
PHP Manual

apc_bin_dumpfile

(PECL apc >= 3.1.4)

apc_bin_dumpfile — Output a binary dump of cached files and user variables to a file

Beschreibung

int apc_bin_dumpfile ( array $files , array $user_vars , string $filename [, int $flags = 0 [, resource $context = NULL ]] )

Outputs a binary dump of the given files and user variables from the APC cache to the named file.

Parameter-Liste

files

The file names being dumped.

user_vars

The user variables being dumped.

filename

The filename where the dump is being saved.

flags

Flags passed to the filename stream. See the file_put_contents() documentation for details.

context

The context passed to the filename stream. See the file_put_contents() documentation for details.

Rückgabewerte

The number of bytes written to the file, otherwise FALSE if APC is not enabled, filename is an invalid file name, filename can't be opened, the file dump can't be completed (e.g., the hard drive is out of disk space), or an unknown error was encountered.

Siehe auch

  • apc_bin_dump() - Get a binary dump of the given files and user variables
  • apc_bin_load() - Load a binary dump into the APC file/user cache
apc_bin_dump
apc_bin_load
APC Funktionen


Load a binary dump into the APC file/user cache

apc_bin_dumpfile
apc_bin_loadfile
APC Funktionen
PHP Manual

apc_bin_load

(PECL apc >= 3.1.4)

apc_bin_load — Load a binary dump into the APC file/user cache

Beschreibung

bool apc_bin_load ( string $data [, int $flags = 0 ] )

Loads the given binary dump into the APC file/user cache.

Parameter-Liste

data

The binary dump being loaded, likely from apc_bin_dump().

flags

Either APC_BIN_VERIFY_CRC32, APC_BIN_VERIFY_MD5, or both.

Rückgabewerte

Returns TRUE if the binary dump data was loaded with success, otherwise FALSE is returned. FALSE is returned if APC is not enabled, or if the data is not a valid APC binary dump (e.g., unexpected size).

Beispiele

Beispiel #1 apc_bin_load() example

<?php
$data = apc_bin_dump(NULL, NULL);
apc_bin_load($data, APC_BIN_VERIFY_MD5 | APC_BIN_VERIFY_CRC32);
?>

Siehe auch

  • apc_bin_dump() - Get a binary dump of the given files and user variables
  • apc_bin_loadfile() - Load a binary dump from a file into the APC file/user cache
apc_bin_dumpfile
apc_bin_loadfile
APC Funktionen


Load a binary dump from a file into the APC file/user cache

apc_bin_load
apc_cache_info
APC Funktionen
PHP Manual

apc_bin_loadfile

(PECL apc >= 3.1.4)

apc_bin_loadfile — Load a binary dump from a file into the APC file/user cache

Beschreibung

bool apc_bin_loadfile ( string $filename [, resource $context = NULL [, int $flags = 0 ]] )

Loads a binary dump from a file into the APC file/user cache.

Parameter-Liste

filename

The file name containing the dump, likely from apc_bin_dumpfile().

context

The files context.

flags

Either APC_BIN_VERIFY_CRC32, APC_BIN_VERIFY_MD5, or both.

Rückgabewerte

Returns TRUE on success, otherwise FALSE Reasons it may return FALSE include APC is not enabled, filename is an invalid file name or empty, filename can't be opened, the file dump can't be completed, or if the data is not a valid APC binary dump (e.g., unexpected size).

Siehe auch

  • apc_bin_dumpfile() - Output a binary dump of cached files and user variables to a file
  • apc_bin_load() - Load a binary dump into the APC file/user cache
apc_bin_load
apc_cache_info
APC Funktionen


Retrieves cached information from APC's data store

apc_bin_loadfile
apc_cas
APC Funktionen
PHP Manual

apc_cache_info

(PECL apc >= 2.0.0)

apc_cache_info — Retrieves cached information from APC's data store

Beschreibung

array apc_cache_info ([ string $cache_type = "" [, bool $limited = false ]] )

Retrieves cached information and meta-data from APC's data store.

Parameter-Liste

cache_type

If cache_type is "user", information about the user cache will be returned.

If cache_type is "filehits", information about which files have been served from the bytecode cache for the current request will be returned. This feature must be enabled at compile time using --enable-filehits .

If an invalid or no cache_type is specified, information about the system cache (cached files) will be returned.

limited

If limited is TRUE, the return value will exclude the individual list of cache entries. This is useful when trying to optimize calls for statistics gathering.

Rückgabewerte

Array of cached data (and meta-data)Im Fehlerfall wird FALSE zurückgegeben.

Hinweis: apc_cache_info() will raise a warning if it is unable to retrieve APC cache data. This typically occurs when APC is not enabled.

Changelog

Version | Beschreibung
3.0.11 | The limited parameter was introduced.
3.0.16 | The "filehits" option for the cache_type parameter was introduced.

Beispiele

Beispiel #1 A apc_cache_info() example

<?php
print_r(apc_cache_info());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [num_slots] => 2000
    [ttl] => 0
    [num_hits] => 9
    [num_misses] => 3
    [start_time] => 1123958803
    [cache_list] => Array
        (
            [0] => Array
                (
                    [filename] => /path/to/apc_test.php
                    [device] => 29954
                    [inode] => 1130511
                    [type] => file
                    [num_hits] => 1
                    [mtime] => 1123960686
                    [creation_time] => 1123960696
                    [deletion_time] => 0
                    [access_time] => 1123962864
                    [ref_count] => 1
                    [mem_size] => 677
                )
            [1] => Array (...iterates for each cached file)
)

Siehe auch

  • APC configuration directives
  • APCIterator::getTotalSize() - Get total cache size
  • APCIterator::getTotalHits() - Get total cache hits
  • APCIterator::getTotalCount() - Get total count

apc_bin_loadfile
apc_cas
APC Funktionen


Updates an old value with a new value

apc_cache_info
apc_clear_cache
APC Funktionen
PHP Manual

apc_cas

(PECL apc >= 3.1.1)

apc_cas — Updates an old value with a new value

Beschreibung

bool apc_cas ( string $key , int $old , int $new )

apc_cas() updates an already existing integer value if the old parameter matches the currently stored value with the value of the new parameter.

Parameter-Liste

key

The key of the value being updated.

old

The old value (the value currently stored).

new

The new value to update to.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 apc_cas() example

<?php
apc_store('foobar', 2);
echo '$foobar = 2', PHP_EOL;
echo '$foobar == 1 ? 2 : 1 = ', (apc_cas('foobar', 1, 2) ? 'ok' : 'fail'), PHP_EOL;
echo '$foobar == 2 ? 1 : 2 = ', (apc_cas('foobar', 2, 1) ? 'ok' : 'fail'), PHP_EOL;

echo '$foobar = ', apc_fetch('foobar'), PHP_EOL;

echo '$f__bar == 1 ? 2 : 1 = ', (apc_cas('f__bar', 1, 2) ? 'ok' : 'fail'), PHP_EOL;

apc_store('perfection', 'xyz');
echo '$perfection == 2 ? 1 : 2 = ', (apc_cas('perfection', 2, 1) ? 'ok' : 'epic fail'), PHP_EOL;

echo '$foobar = ', apc_fetch('foobar'), PHP_EOL;
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

$foobar = 2
$foobar == 1 ? 2 : 1 = fail
$foobar == 2 ? 1 : 2 = ok
$foobar = 1
$f__bar == 1 ? 2 : 1 = fail
$perfection == 2 ? 1 : 2 = epic fail
$foobar = 1

Siehe auch

  • apc_dec() - Decrease a stored number
  • apc_store() - Cache a variable in the data store
apc_cache_info
apc_clear_cache
APC Funktionen


Clears the APC cache

apc_cas
apc_compile_file
APC Funktionen
PHP Manual

apc_clear_cache

(PECL apc >= 2.0.0)

apc_clear_cache — Clears the APC cache

Beschreibung

bool apc_clear_cache ([ string $cache_type = "" ] )

Clears the user/system cache.

Parameter-Liste

cache_type

If cache_type is "user", the user cache will be cleared; otherwise, the system cache (cached files) will be cleared.

Rückgabewerte

Returns TRUE always

Siehe auch

  • apc_cache_info() - Retrieves cached information from APC's data store

apc_cas
apc_compile_file
APC Funktionen


Speichert eine Datei im Bytecode Cache unter Umgehung aller Filter.

apc_clear_cache
apc_dec
APC Funktionen
PHP Manual

apc_compile_file

(PECL apc >= 3.0.13)

apc_compile_file — Speichert eine Datei im Bytecode Cache unter Umgehung aller Filter.

Beschreibung

mixed apc_compile_file ( string $filename [, bool $atomic = true ] )

Speichert eine Datei im Bytecode Cache unter Umgehung aller Filter.

Parameter-Liste

filename

Absoluter oder relativer Pfad zu einer PHP Datei die kompiliert und im Bytecode Cache abgelegt werden soll.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • apc_bin_dumpfile() - Output a binary dump of cached files and user variables to a file
  • apc_bin_loadfile() - Load a binary dump from a file into the APC file/user cache
apc_clear_cache
apc_dec
APC Funktionen


Decrease a stored number

apc_compile_file
apc_define_constants
APC Funktionen
PHP Manual

apc_dec

(PECL apc >= 3.1.1)

apc_dec — Decrease a stored number

Beschreibung

int apc_dec ( string $key [, int $step = 1 [, bool &$success ]] )

Decreases a stored integer value.

Parameter-Liste

key

The key of the value being decreased.

step

The step, or value to decrease.

success

Optionally pass the success or fail boolean value to this referenced variable.

Rückgabewerte

Returns the current value of key's value on success, Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 apc_dec() example

<?php
echo "Let's do something with success", PHP_EOL;

apc_store('anumber', 42);

echo apc_fetch('anumber'), PHP_EOL;

echo apc_dec('anumber'), PHP_EOL;
echo apc_dec('anumber', 10), PHP_EOL;
echo apc_dec('anumber', 10, $success), PHP_EOL;

var_dump($success);

echo "Now, let's fail", PHP_EOL, PHP_EOL;

apc_store('astring', 'foo');

$ret = apc_dec('astring', 1, $fail);

var_dump($ret);
var_dump($fail);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Let's do something with success
42
41
31
21
bool(true)

Now, let's fail
bool(false)
bool(false)

Siehe auch

  • apc_inc() - Increase a stored number
apc_compile_file
apc_define_constants
APC Funktionen


Defines a set of constants for retrieval and mass-definition

apc_dec
apc_delete_file
APC Funktionen
PHP Manual

apc_define_constants

(PECL apc >= 3.0.0)

apc_define_constants — Defines a set of constants for retrieval and mass-definition

Beschreibung

bool apc_define_constants ( string $key , array $constants [, bool $case_sensitive = true ] )

define() is notoriously slow. Since the main benefit of APC is to increase the performance of scripts/applications, this mechanism is provided to streamline the process of mass constant definition. However, this function does not perform as well as anticipated.

For a better-performing solution, try the » hidef extension from PECL.

Hinweis: To remove a set of stored constants (without clearing the entire cache), an empty array may be passed as the constants parameter, effectively clearing the stored value(s).

Parameter-Liste

key

The key serves as the name of the constant set being stored. This key is used to retrieve the stored constants in apc_load_constants().

constants

An associative array of constant_name => value pairs. The constant_name must follow the normal constant naming rules. value must evaluate to a scalar value.

case_sensitive

The default behaviour for constants is to be declared case-sensitive; i.e. CONSTANT and Constant represent different values. If this parameter evaluates to FALSE the constants will be declared as case-insensitive symbols.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 apc_define_constants() example

<?php
$constants = array(
    'ONE'   => 1,
    'TWO'   => 2,
    'THREE' => 3,
);
apc_define_constants('numbers', $constants);
echo ONE, TWO, THREE;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

123

Siehe auch

  • apc_load_constants() - Loads a set of constants from the cache
  • define() - Definiert eine benannte Konstante
  • constant() - Liefert den Wert einer Konstante
  • Or the PHP constants reference

apc_dec
apc_delete_file
APC Funktionen


Deletes files from the opcode cache

apc_define_constants
apc_delete
APC Funktionen
PHP Manual

apc_delete_file

(PECL apc >= 3.1.1)

apc_delete_file — Deletes files from the opcode cache

Beschreibung

mixed apc_delete_file ( mixed $keys )

Deletes the given files from the opcode cache.

Parameter-Liste

keys

The files to be deleted. Accepts a string, array of strings, or an APCIterator object.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. Or if keys is an array, then an empty array is returned on success, or an array of failed files is returned.

Beispiele

Beispiel #1 apc_delete_file() example

<?php
$filename = 'file.php';

if (apc_compile_file($filename)) {

    if (apc_delete_file($filename)) {
        echo "Successfully deleted file $filename from APC cache.", PHP_EOL;
    }
}

if (apc_compile_file($filename)) {

    if ($good = apc_delete_file(array($filename, 'donotexist.php'))) {
        var_dump($good);
    }
}

$bad = apc_delete_file('donotexist.php');
var_dump($bad);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Successfully deleted file file.php from APC cache.
[Mon May 24 09:30:33 2010] [apc-warning] Could not stat file donotexist.php, unable to delete from cache. in /tmp/test.php on line 13.
array(1) {
  [0]=>
  string(14) "donotexist.php"
}
[Mon May 24 09:30:33 2010] [apc-warning] Could not stat file donotexist.php, unable to delete from cache. in /tmp/test.php on line 18.
bool(false)

Siehe auch

  • apc_clear_cache() - Clears the APC cache
  • apc_delete() - Removes a stored variable from the cache
  • apc_exists() - Checks if APC key exists
apc_define_constants
apc_delete
APC Funktionen


Removes a stored variable from the cache

apc_delete_file
apc_exists
APC Funktionen
PHP Manual

apc_delete

(PECL apc >= 3.0.0)

apc_delete — Removes a stored variable from the cache

Beschreibung

mixed apc_delete ( string $key )

Removes a stored variable from the cache.

Parameter-Liste

key

The key used to store the value (with apc_store()).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 A apc_delete() example

<?php
$bar = 'BAR';
apc_store('foo', $bar);
apc_delete('foo');
// this is obviously useless in this form
?>

Siehe auch

  • apc_store() - Cache a variable in the data store
  • apc_fetch() - Fetch a stored variable from the cache

apc_delete_file
apc_exists
APC Funktionen


Checks if APC key exists

apc_delete
apc_fetch
APC Funktionen
PHP Manual

apc_exists

(PECL apc >= 3.1.4)

apc_exists — Checks if APC key exists

Beschreibung

mixed apc_exists ( mixed $keys )

Checks if one or more APC keys exist.

Parameter-Liste

keys

A string, or an array of strings, that contain keys.

Rückgabewerte

Returns TRUE if the key exists, otherwise FALSE Or if an array was passed to keys, then an array is returned that contains all existing keys, or an empty array if none exist.

Beispiele

Beispiel #1 apc_exists() example

<?php
$fruit  = 'apple';
$veggie = 'carrot';

apc_store('foo', $fruit);
apc_store('bar', $veggie);

if (apc_exists('foo')) {
    echo "Foo exists: ";
    echo apc_fetch('foo');
} else {
    echo "Foo does not exist";
}

echo PHP_EOL;
if (apc_exists('baz')) {
    echo "Baz exists.";
} else {
    echo "Baz does not exist";
}

echo PHP_EOL;

$ret = apc_exists(array('foo', 'donotexist', 'bar'));
var_dump($ret);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Foo exists: apple
Baz does not exist
array(2) {
  ["foo"]=>
  bool(true)
  ["bar"]=>
  bool(true)
}

Siehe auch

  • apc_cache_info() - Retrieves cached information from APC's data store
  • apc_fetch() - Fetch a stored variable from the cache
apc_delete
apc_fetch
APC Funktionen


Fetch a stored variable from the cache

apc_exists
apc_inc
APC Funktionen
PHP Manual

apc_fetch

(PECL apc >= 3.0.0)

apc_fetch — Fetch a stored variable from the cache

Beschreibung

mixed apc_fetch ( mixed $key [, bool &$success ] )

Fetchs a stored variable from the cache.

Parameter-Liste

key

The key used to store the value (with apc_store()). If an array is passed then each element is fetched and returned.

success

Set to TRUE in success and FALSE in failure.

Rückgabewerte

The stored variable or array of variables on success; FALSE on failure

Beispiele

Beispiel #1 A apc_fetch() example

<?php
$bar = 'BAR';
apc_store('foo', $bar);
var_dump(apc_fetch('foo'));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(3) "BAR"

Changelog

Version | Beschreibung
3.0.17 | The success parameter was added.

Siehe auch

  • apc_store() - Cache a variable in the data store
  • apc_delete() - Removes a stored variable from the cache
  • APCIterator

apc_exists
apc_inc
APC Funktionen


Increase a stored number

apc_fetch
apc_load_constants
APC Funktionen
PHP Manual

apc_inc

(PECL apc >= 3.1.1)

apc_inc — Increase a stored number

Beschreibung

int apc_inc ( string $key [, int $step = 1 [, bool &$success ]] )

Increases a stored number.

Parameter-Liste

key

The key of the value being increased.

step

The step, or value to increase.

success

Optionally pass the success or fail boolean value to this referenced variable.

Rückgabewerte

Returns the current value of key's value on success, Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 apc_inc() example

<?php
echo "Let's do something with success", PHP_EOL;

apc_store('anumber', 42);

echo apc_fetch('anumber'), PHP_EOL;

echo apc_inc('anumber'), PHP_EOL;
echo apc_inc('anumber', 10), PHP_EOL;
echo apc_inc('anumber', 10, $success), PHP_EOL;

var_dump($success);

echo "Now, let's fail", PHP_EOL, PHP_EOL;

apc_store('astring', 'foo');

$ret = apc_inc('astring', 1, $fail);

var_dump($ret);
var_dump($fail);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

42
43
53
63
bool(true)
Now, let's fail

bool(false)
bool(false)

Siehe auch

  • apc_dec() - Decrease a stored number
apc_fetch
apc_load_constants
APC Funktionen


Loads a set of constants from the cache

apc_inc
apc_sma_info
APC Funktionen
PHP Manual

apc_load_constants

(PECL apc >= 3.0.0)

apc_load_constants — Loads a set of constants from the cache

Beschreibung

bool apc_load_constants ( string $key [, bool $case_sensitive = true ] )

Loads a set of constants from the cache.

Parameter-Liste

key

The name of the constant set (that was stored with apc_define_constants()) to be retrieved.

case_sensitive

The default behaviour for constants is to be declared case-sensitive; i.e. CONSTANT and Constant represent different values. If this parameter evaluates to FALSE the constants will be declared as case-insensitive symbols.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 apc_load_constants() example

<?php
$constants = array(
    'ONE'   => 1,
    'TWO'   => 2,
    'THREE' => 3,
);
apc_define_constants('numbers', $constants);
apc_load_constants('numbers');
echo ONE, TWO, THREE;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

123

Siehe auch

  • apc_define_constants() - Defines a set of constants for retrieval and mass-definition
  • define() - Definiert eine benannte Konstante
  • constant() - Liefert den Wert einer Konstante
  • Or the PHP constants reference

apc_inc
apc_sma_info
APC Funktionen


Retrieves APC's Shared Memory Allocation information

apc_load_constants
apc_store
APC Funktionen
PHP Manual

apc_sma_info

(PECL apc >= 2.0.0)

apc_sma_info — Retrieves APC's Shared Memory Allocation information

Beschreibung

array apc_sma_info ([ bool $limited = false ] )

Retrieves APC's Shared Memory Allocation information.

Parameter-Liste

limited

When set to FALSE (default) apc_sma_info() will return a detailed information about each segment.

Rückgabewerte

Array of Shared Memory Allocation data; FALSE on failure.

Beispiele

Beispiel #1 A apc_sma_info() example

<?php
print_r(apc_sma_info());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [num_seg] => 1
    [seg_size] => 31457280
    [avail_mem] => 31448408
    [block_lists] => Array
        (
            [0] => Array
                (
                    [0] => Array
                        (
                            [size] => 31448408
                            [offset] => 8864
                        )

                )

        )

)

Siehe auch

  • APC configuration directives

apc_load_constants
apc_store
APC Funktionen


Cache a variable in the data store

apc_sma_info
APCIterator
APC Funktionen
PHP Manual

apc_store

(PECL apc >= 3.0.0)

apc_store — Cache a variable in the data store

Beschreibung

bool apc_store ( string $key , mixed $var [, int $ttl = 0 ] )
array apc_store ( array $values [, mixed $unused = NULL [, int $ttl = 0 ]] )

Cache a variable in the data store.

Hinweis: Unlike many other mechanisms in PHP, variables stored using apc_store() will persist between requests (until the value is removed from the cache).

Parameter-Liste

key

Store the variable using this name. keys are cache-unique, so storing a second value with the same key will overwrite the original value.

var

The variable to store

ttl

Time To Live; store var in the cache for ttl seconds. After the ttl has passed, the stored variable will be expunged from the cache (on the next request). If no ttl is supplied (or if the ttl is 0), the value will persist until it is removed from the cache manually, or otherwise fails to exist in the cache (clear, restart, etc.).

values

Names in key, variables in value.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. Second syntax returns array with error keys.

Beispiele

Beispiel #1 A apc_store() example

<?php
$bar = 'BAR';
apc_store('foo', $bar);
var_dump(apc_fetch('foo'));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(3) "BAR"

Siehe auch

  • apc_add() - Cache a new variable in the data store
  • apc_fetch() - Fetch a stored variable from the cache
  • apc_delete() - Removes a stored variable from the cache

apc_sma_info
APCIterator
APC Funktionen


The APCIterator class

(PECL apc >= 3.1.1)

Einführung

The APCIterator class makes it easier to iterate over large APC caches. This is helpful as it allows iterating over large caches in steps, while grabbing a defined number of entries per lock instance, so it frees the cache locks for other activities rather than hold up the entire cache to grab 100 (the default) entries. Also, using regular expression matching is more efficient as it's been moved to the C level.

Klassenbeschreibung

APCIterator implements Iterator {
/* Methods */
public __construct ( string $cache [, mixed $search = null [, int $format = APC_ITER_ALL [, int $chunk_size = 100 [, int $list = APC_LIST_ACTIVE ]]]] )
public mixed current ( void )
public int getTotalCount ( void )
public int getTotalHits ( void )
public int getTotalSize ( void )
public string key ( void )
public void next ( void )
public void rewind ( void )
public void valid ( void )
}

Inhaltsverzeichnis

  • APCIterator::__construct — Constructs an APCIterator iterator object
  • APCIterator::current — Get current item
  • APCIterator::getTotalCount — Get total count
  • APCIterator::getTotalHits — Get total cache hits
  • APCIterator::getTotalSize — Get total cache size
  • APCIterator::key — Get iterator key
  • APCIterator::next — Move pointer to next item
  • APCIterator::rewind — Rewinds iterator
  • APCIterator::valid — Checks if current position is valid
apc_store
APCIterator::__construct
APC


Constructs an APCIterator iterator object

APCIterator
APCIterator::current
APCIterator
PHP Manual

APCIterator::__construct

(PECL apc >= 3.1.1)

APCIterator::__construct — Constructs an APCIterator iterator object

Beschreibung

public APCIterator::__construct ( string $cache [, mixed $search = null [, int $format = APC_ITER_ALL [, int $chunk_size = 100 [, int $list = APC_LIST_ACTIVE ]]]] )

Constructs an APCIterator object.

Parameter-Liste

cache

The cache type, which will be user or file.

search

A PCRE regular expression that matches against APC key names, either as a string for a single regular expression, or as an array of regular expressions. Or, optionally pass in NULL to skip the search.

format

The desired format, as configured with one or more of the APC_ITER_* constants.

chunk_size

The chunk size. Must be a value greater than 0. The default value is 100.

list

The type to list. Either pass in APC_LIST_ACTIVE or APC_LIST_DELETED.

Rückgabewerte

An APCIterator object on success, or NULL on failure.

Beispiele

Beispiel #1 A APCIterator::__construct() example

<?php
foreach (new APCIterator('user', '/^counter\./') as $counter) {
    echo "$counter[key]: $counter[value]\n";
    apc_dec($counter['key'], $counter['value']);
}
?>

Siehe auch

  • apc_exists() - Checks if APC key exists
  • apc_cache_info() - Retrieves cached information from APC's data store
APCIterator
APCIterator::current
APCIterator


Get current item

APCIterator::__construct
APCIterator::getTotalCount
APCIterator
PHP Manual

APCIterator::current

(PECL apc >= 3.1.1)

APCIterator::current — Get current item

Beschreibung

public mixed APCIterator::current ( void )

Gets the current item from the APCIterator stack.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current item on success, or FALSE if no more items or exist, or on failure.

Siehe auch

  • APCIterator::next() - Move pointer to next item
  • Iterator::current() - Gibt das aktuelle Element zurück
APCIterator::__construct
APCIterator::getTotalCount
APCIterator


Get total count

APCIterator::current
APCIterator::getTotalHits
APCIterator
PHP Manual

APCIterator::getTotalCount

(PECL apc >= 3.1.1)

APCIterator::getTotalCount — Get total count

Beschreibung

public int APCIterator::getTotalCount ( void )

Get the total count.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The total count.

Siehe auch

  • APCIterator::getTotalHits() - Get total cache hits
  • APCIterator::getTotalSize() - Get total cache size
  • apc_cache_info() - Retrieves cached information from APC's data store
APCIterator::current
APCIterator::getTotalHits
APCIterator


Get total cache hits

APCIterator::getTotalCount
APCIterator::getTotalSize
APCIterator
PHP Manual

APCIterator::getTotalHits

(PECL apc >= 3.1.1)

APCIterator::getTotalHits — Get total cache hits

Beschreibung

public int APCIterator::getTotalHits ( void )

Gets the total number of cache hits.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The number of hits on success, or FALSE on failure.

Siehe auch

  • APCIterator::getTotalCount() - Get total count
  • APCIterator::getTotalSize() - Get total cache size
  • apc_cache_info() - Retrieves cached information from APC's data store
APCIterator::getTotalCount
APCIterator::getTotalSize
APCIterator


Get total cache size

APCIterator::getTotalHits
APCIterator::key
APCIterator
PHP Manual

APCIterator::getTotalSize

(PECL apc >= 3.1.1)

APCIterator::getTotalSize — Get total cache size

Beschreibung

public int APCIterator::getTotalSize ( void )

Gets the total cache size.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The total cache size.

Siehe auch

  • APCIterator::getTotalCount() - Get total count
  • APCIterator::getTotalHits() - Get total cache hits
  • apc_cache_info() - Retrieves cached information from APC's data store
APCIterator::getTotalHits
APCIterator::key
APCIterator


Get iterator key

APCIterator::getTotalSize
APCIterator::next
APCIterator
PHP Manual

APCIterator::key

(PECL apc >= 3.1.1)

APCIterator::key — Get iterator key

Beschreibung

public string APCIterator::key ( void )

Gets the current iterator key.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the key on success, or FALSE upon failure.

Siehe auch

  • APCIterator::current() - Get current item
  • Iterator::key() - Gibt den Schlüssel des aktuellen Elements zurück
APCIterator::getTotalSize
APCIterator::next
APCIterator


Move pointer to next item

APCIterator::key
APCIterator::rewind
APCIterator
PHP Manual

APCIterator::next

(PECL apc >= 3.1.1)

APCIterator::next — Move pointer to next item

Beschreibung

public void APCIterator::next ( void )

Moves the iterator pointer to the next element.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • APCIterator::current() - Get current item
  • APCIterator::rewind() - Rewinds iterator
  • Iterator::next() - Rückt den Zeiger auf das nächste Element vor
APCIterator::key
APCIterator::rewind
APCIterator


Rewinds iterator

APCIterator::next
APCIterator::valid
APCIterator
PHP Manual

APCIterator::rewind

(PECL apc >= 3.1.1)

APCIterator::rewind — Rewinds iterator

Beschreibung

public void APCIterator::rewind ( void )

Rewinds back the iterator to the first element.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • APCIterator::next() - Move pointer to next item
  • Iterator::next() - Rückt den Zeiger auf das nächste Element vor
APCIterator::next
APCIterator::valid
APCIterator


Checks if current position is valid

APCIterator::rewind
APCu
APCIterator
PHP Manual

APCIterator::valid

(PECL apc >= 3.1.1)

APCIterator::valid — Checks if current position is valid

Beschreibung

public void APCIterator::valid ( void )

Checks if the current iterator position is valid.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the current iterator position is valid, otherwise FALSE.

Siehe auch

  • APCIterator::current() - Get current item
  • Iterator::valid() - Prüft, ob die aktuelle Position zulässig ist
APCIterator::rewind
APCu
APCIterator


APC User Cache

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • APCu Funktionen
    • apcu_add — Cache a new variable in the data store
    • apcu_cache_info — Retrieves cached information from APCu's data store
    • apcu_cas — Updates an old value with a new value
    • apcu_clear_cache — Clears the APCu cache
    • apcu_dec — Decrease a stored number
    • apcu_delete — Removes a stored variable from the cache
    • apcu_entry — Atomically fetch or generate a cache entry
    • apcu_exists — Checks if entry exists
    • apcu_fetch — Fetch a stored variable from the cache
    • apcu_inc — Increase a stored number
    • apcu_sma_info — Retrieves APCu Shared Memory Allocation information
    • apcu_store — Cache a variable in the data store
  • APCUIterator — The APCUIterator class
    • APCUIterator::__construct — Constructs an APCUIterator iterator object
    • APCUIterator::current — Get current item
    • APCUIterator::getTotalCount — Get total count
    • APCUIterator::getTotalHits — Get total cache hits
    • APCUIterator::getTotalSize — Get total cache size
    • APCUIterator::key — Get iterator key
    • APCUIterator::next — Move pointer to next item
    • APCUIterator::rewind — Rewinds iterator
    • APCUIterator::valid — Checks if current position is valid
APCIterator::valid
Einführung
Das Verhalten von PHP beeinflussen


Einführung

APCu is APC stripped of opcode caching.

The first APCu codebase was versioned 4.0.0, it was forked from the head of the APC master branch at the time.

PHP 7 support is available as of APCu 5.0.0.

APCu can provide a compatibility mode, such that it can provide a drop in replacement for the applicable parts of APC.

APCu
Installation/Konfiguration
APCu


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
APCu


Installation

If backward compatibility with the applicable parts of APC is required, APCu must be configured with the option --enable-apcu-bc.

Warnung

PHP 7 has a separate module (» apc.so) for backwards compatibility with APC.

In backward compatibility mode, APCu registers the applicable APC functions with backward compatible prototypes.

Where an APC function accepted cache_type, it is simply ignored by the backward compatible version, and omitted from the prototype for the APCu version.

Hinweis: On Windows, APCu needs a temp path to exist, and be writable by the web server. It checks the TMP, TEMP and USERPROFILE environment variables in that order and finally tries the WINDOWS directory if none of those are set.

Hinweis: For more in-depth, highly technical implementation details, see the » developer-supplied TECHNOTES file .

APCu sources can be found » here.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Although the default APCu settings are fine for many installations, serious users should consider tuning the following parameters.

There is one decision to be made configuring APCu. How much memory is going to be allocated to APCu. The ini directive that controls this is apc.shm_size Read the sections on this carefully below.

Once the server is running, the apc.php script that is bundled with the extension should be copied somewhere into the docroot and viewed with a browser as it provides a detailed analysis of the internal workings of APCu. If GD is enabled in PHP, it will even display some interesting graphs. If APCu is working, the Cache full count number (on the left) will display the number of times the cache has reached maximum capacity and has had to forcefully clean any entries that haven't been accessed in the last apc.ttl seconds. This number is minimized in a well-configured cache. If the cache is constantly being filled, and thusly forcefully freed, the resulting churning will have disparaging effects on script performance. The easiest way to minimize this number is to allocate more memory for APCu.

When APCu is compiled with mmap support (Memory Mapping), it will use only one memory segment, unlike when APCu is built with SHM (SysV Shared Memory) support that uses multiple memory segments. MMAP does not have a maximum limit like SHM does in /proc/sys/kernel/shmmax. In general MMAP support is recommeded because it will reclaim the memory faster when the webserver is restarted and all in all reduces memory allocation impact at startup.

APCu configuration options
Name | Standard | Veränderbar | Changelog
apc.enabled | "1" | PHP_INI_SYSTEM |
apc.shm_segments | "1" | PHP_INI_SYSTEM |
apc.shm_size | "32M" | PHP_INI_SYSTEM |
apc.entries_hint | "4096" | PHP_INI_SYSTEM |
apc.ttl | "0" | PHP_INI_SYSTEM |
apc.gc_ttl | "3600" | PHP_INI_SYSTEM |
apc.mmap_file_mask | NULL | PHP_INI_SYSTEM |
apc.slam_defense | "1" | PHP_INI_SYSTEM |
apc.enable_cli | "0" | PHP_INI_SYSTEM |
apc.use_request_time | "1" | PHP_INI_ALL |
apc.serializer | "default" | PHP_INI_SYSTEM |
apc.rfc1867 | "0" | PHP_INI_SYSTEM |
apc.rfc1867_prefix | "upload_" | PHP_INI_SYSTEM |
apc.rfc1867_name | "APC_UPLOAD_PROGRESS" | PHP_INI_SYSTEM |
apc.rfc1867_freq | "0" | PHP_INI_SYSTEM |
apc.rfc1867_ttl | "3600" | PHP_INI_SYSTEM |
apc.coredump_unmap | "0" | PHP_INI_SYSTEM |
apc.preload_path | NULL | PHP_INI_SYSTEM |
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

apc.enabled boolean

apc.enabled can be set to 0 to disable APC. This is primarily useful when APC is statically compiled into PHP, since there is no other way to disable it (when compiled as a DSO, the extension line in php.ini can just be commented-out).

apc.shm_segments integer

The number of shared memory segments to allocate for the compiler cache. If APC is running out of shared memory but apc.shm_size is set as high as the system allows, raising this value might prevent APC from exhausting its memory.

apc.shm_size string

The size of each shared memory segment given by a shorthand notation as described in this FAQ. By default, some systems (including most BSD variants) have very low limits on the size of a shared memory segment.

apc.entries_hint integer

A "hint" about the number of distinct variables that might be stored. Set to zero or omit if not sure.

apc.ttl integer

The number of seconds a cache entry is allowed to idle in a slot in case this cache entry slot is needed by another entry. Leaving this at zero means that APC's cache could potentially fill up with stale entries while newer entries won't be cached. In the event of a cache running out of available memory, the cache will be completely expunged if ttl is equal to 0. Otherwise, if the ttl is greater than 0, APC will attempt to remove expired entries.

apc.gc_ttl integer

The number of seconds that a cache entry may remain on the garbage-collection list. This value provides a fail-safe in the event that a server process dies while executing a cached source file; if that source file is modified, the memory allocated for the old version will not be reclaimed until this TTL reached. Set to zero to disable this feature.

apc.mmap_file_mask string

If compiled with MMAP support by using --enable-mmap this is the mktemp-style file_mask to pass to the mmap module for determining whether your mmap'ed memory region is going to be file-backed or shared memory backed. For straight file-backed mmap, set it to something like /tmp/apc.XXXXXX (exactly 6 Xs). To use POSIX-style shm_open/mmap put a .shm somewhere in your mask. e.g. /apc.shm.XXXXXX You can also set it to /dev/zero to use your kernel's /dev/zero interface to anonymous mmap'ed memory. Leaving it undefined will force an anonymous mmap.

apc.slam_defense integer

On very busy servers whenever you start the server or modify files you can create a race of many processes all trying to cache the same file at the same time. This option sets the percentage of processes that will skip trying to cache an uncached file. Or think of it as the probability of a single process to skip caching. For example, setting apc.slam_defense to 75 would mean that there is a 75% chance that the process will not cache an uncached file. So, the higher the setting the greater the defense against cache slams. Setting this to 0 disables this feature.

apc.enable_cli integer

Mostly for testing and debugging. Setting this enables APC for the CLI version of PHP. Under normal circumstances, it is not ideal to create, populate and destroy the APC cache on every CLI request, but for various test scenarios it is useful to be able to enable APC for the CLI version of PHP easily.

apc.serializer string

Used to configure APC to use a third party serializer.

apc.rfc1867 boolean

RFC1867 File Upload Progress hook handler is only available if APC was compiled against PHP 5.2.0 or later. When enabled, any file uploads which includes a field called APC_UPLOAD_PROGRESS before the file field in an upload form will cause APC to automatically create an upload_key user cache entry where key is the value of the APC_UPLOAD_PROGRESS form entry.

Note that the hidden field specified by APC_UPLOAD_PROGRESS must come before the file field, otherwise the upload progress will not work correctly.

Note that the file upload tracking is not threadsafe at this point, so new uploads that happen while a previous one is still going will disable the tracking for the previous.

Note that the rate is only available once all file transfers are completed.

Beispiel #1 An apc.rfc1867 example

<?php
print_r(apcu_fetch("upload_$_POST[APC_UPLOAD_PROGRESS]"));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [total] => 1142543
    [current] => 1142543
    [rate] => 1828068.8
    [filename] => test
    [name] => file
    [temp_filename] => /tmp/php8F
    [cancel_upload] => 0
    [done] => 1
)

apc.rfc1867_prefix string

Key prefix to use for the user cache entry generated by rfc1867 upload progress functionality.

apc.rfc1867_name string

Specify the hidden form entry name that activates APC upload progress and specifies the user cache key suffix.

apc.rfc1867_freq string

The frequency that updates should be made to the user cache entry for upload progress. This can take the form of a percentage of the total file size or a size in bytes optionally suffixed with "k", "m", or "g" for kilobytes, megabytes, or gigabytes respectively (case insensitive). A setting of 0 updates as often as possible, which may cause slower uploads.

apc.rfc1867_ttl integer

TTL for rfc1867 entries.

apc.coredump_unmap boolean

Enables APC handling of signals, such as SIGSEGV, that write core files when signaled. When these signals are received, APC will attempt to unmap the shared memory segment in order to exclude it from the core file. This setting may improve system stability when fatal signals are received and a large APC shared memory segment is configured.

Warnung

This feature is potentially dangerous. Unmapping the shared memory segment in a fatal signal handler may cause undefined behaviour if a fatal error occurs.

Hinweis:

Although some kernels may provide a facility to ignore various types of shared memory when generating a core dump file, these implementations may also ignore important shared memory segments such as the Apache scoreboard.

apc.preload_path string

Optionally, set a path to the directory that APC will load cache data at startup.

apc.use_request_time bool

Use the SAPI request start time for TTL.

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

APC_ITER_ALL (integer)
APC_ITER_ATIME (integer)
APC_ITER_CTIME (integer)
APC_ITER_DEVICE (integer)
APC_ITER_DTIME (integer)
APC_ITER_FILENAME (integer)
APC_ITER_INODE (integer)
APC_ITER_KEY (integer)
APC_ITER_MD5 (integer)
APC_ITER_MEM_SIZE (integer)
APC_ITER_MTIME (integer)
APC_ITER_NONE (integer)
APC_ITER_NUM_HITS (integer)
APC_ITER_REFCOUNT (integer)
APC_ITER_TTL (integer)
APC_ITER_TYPE (integer)
APC_ITER_VALUE (integer)
APC_LIST_ACTIVE (integer)
APC_LIST_DELETED (integer)

Ressource-Typen
APCu Funktionen
APCu


APCu Funktionen

Inhaltsverzeichnis

  • apcu_add — Cache a new variable in the data store
  • apcu_cache_info — Retrieves cached information from APCu's data store
  • apcu_cas — Updates an old value with a new value
  • apcu_clear_cache — Clears the APCu cache
  • apcu_dec — Decrease a stored number
  • apcu_delete — Removes a stored variable from the cache
  • apcu_entry — Atomically fetch or generate a cache entry
  • apcu_exists — Checks if entry exists
  • apcu_fetch — Fetch a stored variable from the cache
  • apcu_inc — Increase a stored number
  • apcu_sma_info — Retrieves APCu Shared Memory Allocation information
  • apcu_store — Cache a variable in the data store
Vordefinierte Konstanten
apcu_add
APCu


Cache a new variable in the data store

APCu Funktionen
apcu_cache_info
APCu Funktionen
PHP Manual

apcu_add

(PECL apcu >= 4.0.0)

apcu_add — Cache a new variable in the data store

Beschreibung

bool apcu_add ( string $key , mixed $var [, int $ttl = 0 ] )
array apcu_add ( array $values [, mixed $unused = NULL [, int $ttl = 0 ]] )

Caches a variable in the data store, only if it's not already stored.

Hinweis: Unlike many other mechanisms in PHP, variables stored using apcu_add() will persist between requests (until the value is removed from the cache).

Parameter-Liste

key

Store the variable using this name. keys are cache-unique, so attempting to use apcu_add() to store data with a key that already exists will not overwrite the existing data, and will instead return FALSE. (This is the only difference between apcu_add() and apcu_store().)

var

The variable to store

ttl

Time To Live; store var in the cache for ttl seconds. After the ttl has passed, the stored variable will be expunged from the cache (on the next request). If no ttl is supplied (or if the ttl is 0), the value will persist until it is removed from the cache manually, or otherwise fails to exist in the cache (clear, restart, etc.).

values

Names in key, variables in value.

Rückgabewerte

Returns TRUE if something has effectively been added into the cache, FALSE otherwise. Second syntax returns array with error keys.

Beispiele

Beispiel #1 A apcu_add() example

<?php
$bar = 'BAR';
apcu_add('foo', $bar);
var_dump(apcu_fetch('foo'));
echo "\n";
$bar = 'NEVER GETS SET';
apcu_add('foo', $bar);
var_dump(apcu_fetch('foo'));
echo "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(3) "BAR"
string(3) "BAR"

Siehe auch

  • apcu_store() - Cache a variable in the data store
  • apcu_fetch() - Fetch a stored variable from the cache
  • apcu_delete() - Removes a stored variable from the cache

APCu Funktionen
apcu_cache_info
APCu Funktionen


Retrieves cached information from APCu's data store

apcu_add
apcu_cas
APCu Funktionen
PHP Manual

apcu_cache_info

(PECL apcu >= 4.0.0)

apcu_cache_info — Retrieves cached information from APCu's data store

Beschreibung

array apcu_cache_info ([ bool $limited = false ] )

Retrieves cached information and meta-data from APC's data store.

Parameter-Liste

limited

If limited is TRUE, the return value will exclude the individual list of cache entries. This is useful when trying to optimize calls for statistics gathering.

Rückgabewerte

Array of cached data (and meta-data)Im Fehlerfall wird FALSE zurückgegeben.

Hinweis: apcu_cache_info() will raise a warning if it is unable to retrieve APC cache data. This typically occurs when APC is not enabled.

Changelog

Version | Beschreibung
3.0.11 | The limited parameter was introduced.
3.0.16 | The "filehits" option for the cache_type parameter was introduced.

Beispiele

Beispiel #1 A apcu_cache_info() example

<?php
print_r(apcu_cache_info());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [num_slots] => 2000
    [ttl] => 0
    [num_hits] => 9
    [num_misses] => 3
    [start_time] => 1123958803
    [cache_list] => Array
        (
            [0] => Array
                (
                    [filename] => /path/to/apcu_test.php
                    [device] => 29954
                    [inode] => 1130511
                    [type] => file
                    [num_hits] => 1
                    [mtime] => 1123960686
                    [creation_time] => 1123960696
                    [deletion_time] => 0
                    [access_time] => 1123962864
                    [ref_count] => 1
                    [mem_size] => 677
                )
            [1] => Array (...iterates for each cached file)
)

Siehe auch

  • APCu configuration directives
  • APCUIterator::getTotalSize() - Get total cache size
  • APCUIterator::getTotalHits() - Get total cache hits
  • APCUIterator::getTotalCount() - Get total count

apcu_add
apcu_cas
APCu Funktionen


Updates an old value with a new value

apcu_cache_info
apcu_clear_cache
APCu Funktionen
PHP Manual

apcu_cas

(PECL apcu >= 4.0.0)

apcu_cas — Updates an old value with a new value

Beschreibung

bool apcu_cas ( string $key , int $old , int $new )

apcu_cas() updates an already existing integer value if the old parameter matches the currently stored value with the value of the new parameter.

Parameter-Liste

key

The key of the value being updated.

old

The old value (the value currently stored).

new

The new value to update to.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 apcu_cas() example

<?php
apcu_store('foobar', 2);
echo '$foobar = 2', PHP_EOL;
echo '$foobar == 1 ? 2 : 1 = ', (apcu_cas('foobar', 1, 2) ? 'ok' : 'fail'), PHP_EOL;
echo '$foobar == 2 ? 1 : 2 = ', (apcu_cas('foobar', 2, 1) ? 'ok' : 'fail'), PHP_EOL;

echo '$foobar = ', apcu_fetch('foobar'), PHP_EOL;

echo '$f__bar == 1 ? 2 : 1 = ', (apcu_cas('f__bar', 1, 2) ? 'ok' : 'fail'), PHP_EOL;

apcu_store('perfection', 'xyz');
echo '$perfection == 2 ? 1 : 2 = ', (apcu_cas('perfection', 2, 1) ? 'ok' : 'epic fail'), PHP_EOL;

echo '$foobar = ', apcu_fetch('foobar'), PHP_EOL;
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

$foobar = 2
$foobar == 1 ? 2 : 1 = fail
$foobar == 2 ? 1 : 2 = ok
$foobar = 1
$f__bar == 1 ? 2 : 1 = fail
$perfection == 2 ? 1 : 2 = epic fail
$foobar = 1

Siehe auch

  • apcu_dec() - Decrease a stored number
  • apcu_store() - Cache a variable in the data store
apcu_cache_info
apcu_clear_cache
APCu Funktionen


Clears the APCu cache

apcu_cas
apcu_dec
APCu Funktionen
PHP Manual

apcu_clear_cache

(PECL apcu >= 4.0.0)

apcu_clear_cache — Clears the APCu cache

Beschreibung

bool apcu_clear_cache ( void )

Clears the cache.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE always

Siehe auch

  • apcu_cache_info() - Retrieves cached information from APCu's data store

apcu_cas
apcu_dec
APCu Funktionen


Decrease a stored number

apcu_clear_cache
apcu_delete
APCu Funktionen
PHP Manual

apcu_dec

(PECL apcu >= 4.0.0)

apcu_dec — Decrease a stored number

Beschreibung

int apcu_dec ( string $key [, int $step = 1 [, bool &$success ]] )

Decreases a stored integer value.

Parameter-Liste

key

The key of the value being decreased.

step

The step, or value to decrease.

success

Optionally pass the success or fail boolean value to this referenced variable.

Rückgabewerte

Returns the current value of key's value on success, Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 apcu_dec() example

<?php
echo "Let's do something with success", PHP_EOL;

apcu_store('anumber', 42);

echo apcu_fetch('anumber'), PHP_EOL;

echo apcu_dec('anumber'), PHP_EOL;
echo apcu_dec('anumber', 10), PHP_EOL;
echo apcu_dec('anumber', 10, $success), PHP_EOL;

var_dump($success);

echo "Now, let's fail", PHP_EOL, PHP_EOL;

apcu_store('astring', 'foo');

$ret = apcu_dec('astring', 1, $fail);

var_dump($ret);
var_dump($fail);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Let's do something with success
42
41
31
21
bool(true)
Now, let's fail

bool(false)
bool(false)

Siehe auch

  • apcu_inc() - Increase a stored number
apcu_clear_cache
apcu_delete
APCu Funktionen


Removes a stored variable from the cache

apcu_dec
apcu_entry
APCu Funktionen
PHP Manual

apcu_delete

(PECL apcu >= 4.0.0)

apcu_delete — Removes a stored variable from the cache

Beschreibung

bool apcu_delete ( mixed $key )

Removes a stored variable from the cache.

Parameter-Liste

key

A key used to store the value as a string for a single key, or as an array of strings for several keys, or as an APCUIterator object.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 A apcu_delete() example

<?php
$bar = 'BAR';
apcu_store('foo', $bar);
apcu_delete('foo');
// this is obviously useless in this form

// Alternatively delete multiple keys.
apcu_delete(['foo', 'bar', 'baz']);

// Or use an Iterator with a regular expression.
apcu_delete(new APCUIterator('#^myprefix_#'));
?>

Siehe auch

  • apcu_store() - Cache a variable in the data store
  • apcu_fetch() - Fetch a stored variable from the cache
  • apcu_clear_cache() - Clears the APCu cache
  • APCUIterator

apcu_dec
apcu_entry
APCu Funktionen


Atomically fetch or generate a cache entry

apcu_delete
apcu_exists
APCu Funktionen
PHP Manual

apcu_entry

(PECL apcu >= 5.1.0)

apcu_entry — Atomically fetch or generate a cache entry

Beschreibung

mixed apcu_entry ( string $key , callable $generator [, int $ttl = 0 ] )

Atomically attempts to find key in the cache, if it cannot be found generator is called, passing key as the only argument. The return value of the call is then cached with the optionally specified ttl, and returned.

Hinweis: When control enters apcu_entry() the lock for the cache is acquired exclusively, it is released when control leaves apcu_entry(): In effect, this turns the body of generator into a critical section, disallowing two processes from executing the same code paths concurrently. In addition, it prohibits the concurrent execution of any other APCu functions, since they will acquire the same lock.

Warnung

The only APCu function that can be called safely by generator is apcu_entry().

Parameter-Liste

key

Identity of cache entry

generator

A callable that accepts key as the only argument and returns the value to cache.

ttl

Time To Live; store var in the cache for ttl seconds. After the ttl has passed, the stored variable will be expunged from the cache (on the next request). If no ttl is supplied (or if the ttl is 0), the value will persist until it is removed from the cache manually, or otherwise fails to exist in the cache (clear, restart, etc.).

Rückgabewerte

Returns the cached value

Beispiele

Beispiel #1 An apcu_entry() example

<?php
$config = apcu_entry("config", function($key) {
 return [
   "fruit" => apcu_entry("config.fruit", function($key){
     return [
       "apples",
       "pears"
     ];
   }),
   "people" => apcu_entry("config.people", function($key){
     return [
      "bob",
      "joe",
      "niki"
     ];
   })
 ];
});

var_dump($config);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  ["fruit"]=>
  array(2) {
    [0]=>
    string(6) "apples"
    [1]=>
    string(5) "pears"
  }
  ["people"]=>
  array(3) {
    [0]=>
    string(3) "bob"
    [1]=>
    string(3) "joe"
    [2]=>
    string(4) "niki"
  }
}

Siehe auch

  • apcu_store() - Cache a variable in the data store
  • apcu_fetch() - Fetch a stored variable from the cache
  • apcu_delete() - Removes a stored variable from the cache

apcu_delete
apcu_exists
APCu Funktionen


Checks if entry exists

apcu_entry
apcu_fetch
APCu Funktionen
PHP Manual

apcu_exists

(PECL apcu >= 4.0.0)

apcu_exists — Checks if entry exists

Beschreibung

mixed apcu_exists ( mixed $keys )

Checks if one or more APCu entries exist.

Parameter-Liste

keys

A string, or an array of strings, that contain keys.

Rückgabewerte

Returns TRUE if the key exists, otherwise FALSE Or if an array was passed to keys, then an array is returned that contains all existing keys, or an empty array if none exist.

Beispiele

Beispiel #1 apcu_exists() example

<?php
$fruit  = 'apple';
$veggie = 'carrot';

apcu_store('foo', $fruit);
apcu_store('bar', $veggie);

if (apcu_exists('foo')) {
    echo "Foo exists: ";
    echo apcu_fetch('foo');
} else {
    echo "Foo does not exist";
}

echo PHP_EOL;
if (apcu_exists('baz')) {
    echo "Baz exists.";
} else {
    echo "Baz does not exist";
}

echo PHP_EOL;

$ret = apcu_exists(array('foo', 'donotexist', 'bar'));
var_dump($ret);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Foo exists: apple
Baz does not exist
array(2) {
  ["foo"]=>
  bool(true)
  ["bar"]=>
  bool(true)
}

Siehe auch

  • apcu_cache_info() - Retrieves cached information from APCu's data store
  • apcu_fetch() - Fetch a stored variable from the cache
apcu_entry
apcu_fetch
APCu Funktionen


Fetch a stored variable from the cache

apcu_exists
apcu_inc
APCu Funktionen
PHP Manual

apcu_fetch

(PECL apcu >= 4.0.0)

apcu_fetch — Fetch a stored variable from the cache

Beschreibung

mixed apcu_fetch ( mixed $key [, bool &$success ] )

Fetchs an entry from the cache.

Parameter-Liste

key

The key used to store the value (with apcu_store()). If an array is passed then each element is fetched and returned.

success

Set to TRUE in success and FALSE in failure.

Rückgabewerte

The stored variable or array of variables on success; FALSE on failure

Beispiele

Beispiel #1 A apcu_fetch() example

<?php
$bar = 'BAR';
apcu_store('foo', $bar);
var_dump(apcu_fetch('foo'));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(3) "BAR"

Changelog

Version | Beschreibung
3.0.17 | The success parameter was added.

Siehe auch

  • apcu_store() - Cache a variable in the data store
  • apcu_delete() - Removes a stored variable from the cache
  • APCUIterator

apcu_exists
apcu_inc
APCu Funktionen


Increase a stored number

apcu_fetch
apcu_sma_info
APCu Funktionen
PHP Manual

apcu_inc

(PECL apcu >= 4.0.0)

apcu_inc — Increase a stored number

Beschreibung

int apcu_inc ( string $key [, int $step = 1 [, bool &$success ]] )

Increases a stored number.

Parameter-Liste

key

The key of the value being increased.

step

The step, or value to increase.

success

Optionally pass the success or fail boolean value to this referenced variable.

Rückgabewerte

Returns the current value of key's value on success, Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 apcu_inc() example

<?php
echo "Let's do something with success", PHP_EOL;

apcu_store('anumber', 42);

echo apcu_fetch('anumber'), PHP_EOL;

echo apcu_inc('anumber'), PHP_EOL;
echo apcu_inc('anumber', 10), PHP_EOL;
echo apcu_inc('anumber', 10, $success), PHP_EOL;

var_dump($success);

echo "Now, let's fail", PHP_EOL, PHP_EOL;

apcu_store('astring', 'foo');

$ret = apcu_inc('astring', 1, $fail);

var_dump($ret);
var_dump($fail);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Let's do something with success
42
43
53
63
bool(true)
Now, let's fail

bool(false)
bool(false)

Siehe auch

  • apcu_dec() - Decrease a stored number
apcu_fetch
apcu_sma_info
APCu Funktionen


Retrieves APCu Shared Memory Allocation information

apcu_inc
apcu_store
APCu Funktionen
PHP Manual

apcu_sma_info

(PECL apcu >= 4.0.0)

apcu_sma_info — Retrieves APCu Shared Memory Allocation information

Beschreibung

array apcu_sma_info ([ bool $limited = false ] )

Retrieves APCu Shared Memory Allocation information.

Parameter-Liste

limited

When set to FALSE (default) apcu_sma_info() will return a detailed information about each segment.

Rückgabewerte

Array of Shared Memory Allocation data; FALSE on failure.

Beispiele

Beispiel #1 A apcu_sma_info() example

<?php
print_r(apcu_sma_info());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [num_seg] => 1
    [seg_size] => 31457280
    [avail_mem] => 31448408
    [block_lists] => Array
        (
            [0] => Array
                (
                    [0] => Array
                        (
                            [size] => 31448408
                            [offset] => 8864
                        )

                )

        )

)

Siehe auch

  • APCu configuration directives

apcu_inc
apcu_store
APCu Funktionen


Cache a variable in the data store

apcu_sma_info
APCUIterator
APCu Funktionen
PHP Manual

apcu_store

(PECL apcu >= 4.0.0)

apcu_store — Cache a variable in the data store

Beschreibung

bool apcu_store ( string $key , mixed $var [, int $ttl = 0 ] )
array apcu_store ( array $values [, mixed $unused = NULL [, int $ttl = 0 ]] )

Cache a variable in the data store.

Hinweis: Unlike many other mechanisms in PHP, variables stored using apcu_store() will persist between requests (until the value is removed from the cache).

Parameter-Liste

key

Store the variable using this name. keys are cache-unique, so storing a second value with the same key will overwrite the original value.

var

The variable to store

ttl

Time To Live; store var in the cache for ttl seconds. After the ttl has passed, the stored variable will be expunged from the cache (on the next request). If no ttl is supplied (or if the ttl is 0), the value will persist until it is removed from the cache manually, or otherwise fails to exist in the cache (clear, restart, etc.).

values

Names in key, variables in value.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. Second syntax returns array with error keys.

Beispiele

Beispiel #1 A apcu_store() example

<?php
$bar = 'BAR';
apcu_store('foo', $bar);
var_dump(apcu_fetch('foo'));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(3) "BAR"

Siehe auch

  • apcu_add() - Cache a new variable in the data store
  • apcu_fetch() - Fetch a stored variable from the cache
  • apcu_delete() - Removes a stored variable from the cache

apcu_sma_info
APCUIterator
APCu Funktionen


The APCUIterator class

(PECL apcu >= 5.0.0)

Einführung

The APCUIterator class makes it easier to iterate over large APCu caches. This is helpful as it allows iterating over large caches in steps, while grabbing a defined number of entries per lock instance, so it frees the cache locks for other activities rather than hold up the entire cache to grab 100 (the default) entries. Also, using regular expression matching is more efficient as it's been moved to the C level.

Klassenbeschreibung

APCUIterator implements Iterator {
/* Methods */
public __construct ([ mixed $search = null [, int $format = APCU_ITER_ALL [, int $chunk_size = 100 [, int $list = APCU_LIST_ACTIVE ]]]] )
public mixed current ( void )
public int getTotalCount ( void )
public int getTotalHits ( void )
public int getTotalSize ( void )
public string key ( void )
public void next ( void )
public void rewind ( void )
public void valid ( void )
}

Inhaltsverzeichnis

  • APCUIterator::__construct — Constructs an APCUIterator iterator object
  • APCUIterator::current — Get current item
  • APCUIterator::getTotalCount — Get total count
  • APCUIterator::getTotalHits — Get total cache hits
  • APCUIterator::getTotalSize — Get total cache size
  • APCUIterator::key — Get iterator key
  • APCUIterator::next — Move pointer to next item
  • APCUIterator::rewind — Rewinds iterator
  • APCUIterator::valid — Checks if current position is valid
apcu_store
APCUIterator::__construct
APCu


Constructs an APCUIterator iterator object

APCUIterator
APCUIterator::current
APCUIterator
PHP Manual

APCUIterator::__construct

(PECL apcu >= 5.0.0)

APCUIterator::__construct — Constructs an APCUIterator iterator object

Beschreibung

public APCUIterator::__construct ([ mixed $search = null [, int $format = APCU_ITER_ALL [, int $chunk_size = 100 [, int $list = APCU_LIST_ACTIVE ]]]] )

Constructs an APCUIterator object.

Parameter-Liste

search

A PCRE regular expression that matches against APCu key names, either as a string for a single regular expression, or as an array of regular expressions. Or, optionally pass in NULL to skip the search.

format

The desired format, as configured with one or more of the APCU_ITER_* constants.

chunk_size

The chunk size. Must be a value greater than 0. The default value is 100.

list

The type to list. Either pass in APCU_LIST_ACTIVE or APCU_LIST_DELETED.

Rückgabewerte

An APCUIterator object on success, or NULL on failure.

Beispiele

Beispiel #1 A APCUIterator::__construct() example

<?php
foreach (new APCUIterator('/^counter\./') as $counter) {
    echo "$counter[key]: $counter[value]\n";
    apc_dec($counter['key'], $counter['value']);
}
?>

Siehe auch

  • apcu_exists() - Checks if entry exists
  • apcu_cache_info() - Retrieves cached information from APCu's data store
APCUIterator
APCUIterator::current
APCUIterator


Get current item

APCUIterator::__construct
APCUIterator::getTotalCount
APCUIterator
PHP Manual

APCUIterator::current

(PECL apcu >= 5.0.0)

APCUIterator::current — Get current item

Beschreibung

public mixed APCUIterator::current ( void )

Gets the current item from the APCUIterator stack.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current item on success, or FALSE if no more items or exist, or on failure.

Siehe auch

  • APCUIterator::next() - Move pointer to next item
  • Iterator::current() - Gibt das aktuelle Element zurück
APCUIterator::__construct
APCUIterator::getTotalCount
APCUIterator


Get total count

APCUIterator::current
APCUIterator::getTotalHits
APCUIterator
PHP Manual

APCUIterator::getTotalCount

(PECL apcu >= 5.0.0)

APCUIterator::getTotalCount — Get total count

Beschreibung

public int APCUIterator::getTotalCount ( void )

Get the total count.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The total count.

Siehe auch

  • APCUIterator::getTotalHits() - Get total cache hits
  • APCUIterator::getTotalSize() - Get total cache size
  • apcu_cache_info() - Retrieves cached information from APCu's data store
APCUIterator::current
APCUIterator::getTotalHits
APCUIterator


Get total cache hits

APCUIterator::getTotalCount
APCUIterator::getTotalSize
APCUIterator
PHP Manual

APCUIterator::getTotalHits

(PECL apcu >= 5.0.0)

APCUIterator::getTotalHits — Get total cache hits

Beschreibung

public int APCUIterator::getTotalHits ( void )

Gets the total number of cache hits.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The number of hits on success, or FALSE on failure.

Siehe auch

  • APCUIterator::getTotalCount() - Get total count
  • APCUIterator::getTotalSize() - Get total cache size
  • apcu_cache_info() - Retrieves cached information from APCu's data store
APCUIterator::getTotalCount
APCUIterator::getTotalSize
APCUIterator


Get total cache size

APCUIterator::getTotalHits
APCUIterator::key
APCUIterator
PHP Manual

APCUIterator::getTotalSize

(PECL apcu >= 5.0.0)

APCUIterator::getTotalSize — Get total cache size

Beschreibung

public int APCUIterator::getTotalSize ( void )

Gets the total cache size.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The total cache size.

Siehe auch

  • APCUIterator::getTotalCount() - Get total count
  • APCUIterator::getTotalHits() - Get total cache hits
  • apc_cache_info() - Retrieves cached information from APC's data store
APCUIterator::getTotalHits
APCUIterator::key
APCUIterator


Get iterator key

APCUIterator::getTotalSize
APCUIterator::next
APCUIterator
PHP Manual

APCUIterator::key

(PECL apcu >= 5.0.0)

APCUIterator::key — Get iterator key

Beschreibung

public string APCUIterator::key ( void )

Gets the current iterator key.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the key on success, or FALSE upon failure.

Siehe auch

  • APCUIterator::current() - Get current item
  • Iterator::key() - Gibt den Schlüssel des aktuellen Elements zurück
APCUIterator::getTotalSize
APCUIterator::next
APCUIterator


Move pointer to next item

APCUIterator::key
APCUIterator::rewind
APCUIterator
PHP Manual

APCUIterator::next

(PECL apcu >= 5.0.0)

APCUIterator::next — Move pointer to next item

Beschreibung

public void APCUIterator::next ( void )

Moves the iterator pointer to the next element.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • APCUIterator::current() - Get current item
  • APCUIterator::rewind() - Rewinds iterator
  • Iterator::next() - Rückt den Zeiger auf das nächste Element vor
APCUIterator::key
APCUIterator::rewind
APCUIterator


Rewinds iterator

APCUIterator::next
APCUIterator::valid
APCUIterator
PHP Manual

APCUIterator::rewind

(PECL apcu >= 5.0.0)

APCUIterator::rewind — Rewinds iterator

Beschreibung

public void APCUIterator::rewind ( void )

Rewinds back the iterator to the first element.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • APCUIterator::next() - Move pointer to next item
  • Iterator::next() - Rückt den Zeiger auf das nächste Element vor
APCUIterator::next
APCUIterator::valid
APCUIterator


Checks if current position is valid

APCUIterator::rewind
APD
APCUIterator
PHP Manual

APCUIterator::valid

(PECL apcu >= 5.0.0)

APCUIterator::valid — Checks if current position is valid

Beschreibung

public void APCUIterator::valid ( void )

Checks if the current iterator position is valid.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the current iterator position is valid, otherwise FALSE.

Siehe auch

  • APCUIterator::current() - Get current item
  • Iterator::valid() - Prüft, ob die aktuelle Position zulässig ist
APCUIterator::rewind
APD
APCUIterator


Advanced PHP debugger

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Building on Win32
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • How to use PHP-APD in your scripts
  • APD Funktionen
    • apd_breakpoint — Stops the interpreter and waits on a CR from the socket
    • apd_callstack — Returns the current call stack as an array
    • apd_clunk — Throw a warning and a callstack
    • apd_continue — Restarts the interpreter
    • apd_croak — Throw an error, a callstack and then exit
    • apd_dump_function_table — Outputs the current function table
    • apd_dump_persistent_resources — Return all persistent resources as an array
    • apd_dump_regular_resources — Return all current regular resources as an array
    • apd_echo — Echo to the debugging socket
    • apd_get_active_symbols — Get an array of the current variables names in the local scope
    • apd_set_pprof_trace — Starts the session debugging
    • apd_set_session_trace_socket — Starts the remote session debugging
    • apd_set_session_trace — Starts the session debugging
    • apd_set_session — Changes or sets the current debugging level
    • override_function — Overrides built-in functions
    • rename_function — Renames orig_name to new_name in the global function table
APCUIterator::valid
Einführung
Das Verhalten von PHP beeinflussen


Einführung

APD is the Advanced PHP Debugger. It was written to provide profiling and debugging capabilities for PHP code, as well as to provide the ability to print out a full stack backtrace. APD supports interactive debugging, but by default it writes data to trace files. It also offers event based logging so that varying levels of information (including function calls, arguments passed, timings, etc.) can be turned on or off for individual scripts.

Achtung

APD is a Zend Extension, modifying the way the internals of PHP handle function calls, and thus may or may not be compatible with other Zend Extensions (for example Zend Optimizer).

APD
Installation/Konfiguration
APD


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Building on Win32
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
APD


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/apd.

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

In your INI file, add the following lines:

zend_extension = /absolute/path/to/apd.so
apd.dumpdir = /absolute/path/to/trace/directory
apd.statement_tracing = 0

Depending on your PHP build, the zend_extension directive can be one of the following:

zend_extension              (non ZTS, non debug build)
zend_extension_ts           (    ZTS, non debug build)
zend_extension_debug        (non ZTS,     debug build)
zend_extension_debug_ts     (    ZTS,     debug build)

Anforderungen
Building on Win32
Installation/Konfiguration


Building on Win32

To build APD under Windows you need a working PHP compilation environment as described on http://php.net/ -- basically, it requires you to have Microsoft Visual C++, win32build.zip, bison/flex, and some know how to get it to work. Also ensure that adp.dsp has DOS line endings; if it has unix line endings, Microsoft Visual C++ will complain about it.

Installation
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

APD Configuration Options
Name | Standard | Veränderbar | Changelog
apd.dumpdir | NULL | PHP_INI_ALL |
apd.statement_tracing | "0" | PHP_INI_ALL | Available since apd 0.9.
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

apd.dumpdir string

Sets the directory in which APD writes profile dump files. You can specify an absolute path or a relative path.

You can specify a different directory as an argument to apd_set_pprof_trace().

apd.statement_tracing boolean

Specfies whether or not to do per-line tracings. Turning this on (1) will impact the performance of your application.

Building on Win32
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

APD constants
Constant | Value | Description
FUNCTION_TRACE (integer) | 1 |
ARGS_TRACE (integer) | 2 |
ASSIGNMENT_TRACE (integer) | 4 |
STATEMENT_TRACE (integer) | 8 |
MEMORY_TRACE (integer) | 16 |
TIMING_TRACE (integer) | 32 |
SUMMARY_TRACE (integer) | 64 |
ERROR_TRACE (integer) | 128 |
PROF_TRACE (integer) | 256 |
APD_VERSION (string) | example: 1.0.2-dev |
Ressource-Typen
Beispiele
APD


Beispiele

Inhaltsverzeichnis

  • How to use PHP-APD in your scripts
Vordefinierte Konstanten
How to use PHP-APD in your scripts
APD


How to use PHP-APD in your scripts

  1. As the first line of your PHP script, call the apd_set_pprof_trace() function to start the trace:

    <?php
    apd_set_pprof_trace    ();
    ?>

    You can insert the line anywhere in your script, but if you do not start tracing at the beginning of your script you discard profile data that might otherwise lead you to a performance bottleneck.

  2. Now run your script. The dump output will be written to apd.dumpdir/pprof_pid.ext.

    Tipp

    If you're running the CGI version of PHP, you will need to add the '-e' flag to enable extended information for apd to work properly. For example: php -e -f script.php

  3. To display formatted profile data, issue the pprofp command with the sort and display options of your choice. The formatted output will look something like:

    bash-2.05b$ pprofp -R /tmp/pprof.22141.0

Trace for /home/dan/testapd.php
Total Elapsed Time = 0.00
Total System Time  = 0.00
Total User Time    = 0.00

Real         User        System             secs/    cumm
%Time (excl/cumm)  (excl/cumm)  (excl/cumm) Calls    call    s/call  Memory Usage Name
--------------------------------------------------------------------------------------
100.0 0.00 0.00  0.00 0.00  0.00 0.00     1  0.0000   0.0009            0 main
56.9 0.00 0.00  0.00 0.00  0.00 0.00     1  0.0005   0.0005            0 apd_set_pprof_trace
28.0 0.00 0.00  0.00 0.00  0.00 0.00    10  0.0000   0.0000            0 preg_replace
14.3 0.00 0.00  0.00 0.00  0.00 0.00    10  0.0000   0.0000            0 str_replace

    The -R option used in this example sorts the profile table by the amount of real time the script spent executing a given function. The "cumm call" column reveals how many times each function was called, and the "s/call" column reveals how many seconds each call to the function required, on average.

  4. To generate a calltree file that you can import into the KCacheGrind profile analysis application, issue the pprof2calltree comand.

Beispiele
APD Funktionen
Beispiele


APD Funktionen

Contact information

If you have comments, bugfixes, enhancements or want to help developing this beast, you can send an mail to » apd@mail.communityconnect.com. Any help is very welcome.

Inhaltsverzeichnis

  • apd_breakpoint — Stops the interpreter and waits on a CR from the socket
  • apd_callstack — Returns the current call stack as an array
  • apd_clunk — Throw a warning and a callstack
  • apd_continue — Restarts the interpreter
  • apd_croak — Throw an error, a callstack and then exit
  • apd_dump_function_table — Outputs the current function table
  • apd_dump_persistent_resources — Return all persistent resources as an array
  • apd_dump_regular_resources — Return all current regular resources as an array
  • apd_echo — Echo to the debugging socket
  • apd_get_active_symbols — Get an array of the current variables names in the local scope
  • apd_set_pprof_trace — Starts the session debugging
  • apd_set_session_trace_socket — Starts the remote session debugging
  • apd_set_session_trace — Starts the session debugging
  • apd_set_session — Changes or sets the current debugging level
  • override_function — Overrides built-in functions
  • rename_function — Renames orig_name to new_name in the global function table
How to use PHP-APD in your scripts
apd_breakpoint
APD


Stops the interpreter and waits on a CR from the socket

APD Funktionen
apd_callstack
APD Funktionen
PHP Manual

apd_breakpoint

(PECL apd >= 0.2)

apd_breakpoint — Stops the interpreter and waits on a CR from the socket

Beschreibung

bool apd_breakpoint ( int $debug_level )

This can be used to stop the running of your script, and await responses on the connected socket. To step the program, just send enter (a blank line), or enter a php command to be executed.

Parameter-Liste

debug_level

Ein aus der Addition von XXX_TRACE-Konstanten gewonnener Integerwert.

. Von der Verwendung der MEMORY_TRACE-Konstante wird abgeraten, da diese die Ausführung sehr verlangsamt und keine genauen Ergebnisse zu liefern scheint. ASSIGNMENT_TRACE ist noch nicht implementiert.

Um alle funktioierenden Traces (TIMING, FUNCTIONS, ARGS SUMMARY (ähnlich zu strace -c)) zu aktivieren, benutzen Sie den Wert 99

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Typical session using tcplisten

bash#tcplisten localhost 7777

APD - Advanced PHP Debugger Trace File
---------------------------------------------------------------------------
Process Pid (6118)
Trace Begun at Sun Mar 10 23:13:12 2002
---------------------------------------------------------------------------
(  0.000000): apd_set_session_trace called at /home/alan/Projects/project2/test.
php:5
(  0.074824): apd_set_session_trace_socket() at /home/alan/Projects/project2/tes
t.php:5 returned.  Elapsed (0.074824)
(  0.074918): apd_breakpoint() /home/alan/Projects/project2/test.php:7
              ++ argv[0] $(??) = 9
apd_breakpoint() at /home/alan/Projects/project2/test.php:7 returned.  Elapsed (
-2089521468.1073275368)
>\n
statement: /home/alan/Projects/project2/test.php:8
>\n
statement: /home/alan/Projects/project2/test.php:8
>\n
statement: /home/alan/Projects/project2/test.php:10
>apd_echo($i);
EXEC: apd_echo($i);
0
>apd_echo(serialize(apd_get_active_symbols()));
EXEC:  apd_echo(serialize(apd_get_active_symbols()));
a:47:{i:0;s:4:"PWD";i:1;s:10:"COLORFGBG";i:2;s:11:"XAUTHORITY";i:3;s:14:"
COLORTERM_BCE";i:4;s:9:"WINDOWID";i:5;s:14:"ETERM_VERSION";i:6;s:16:"SE
SSION_MANAGER";i:7;s:4:"PS1";i:8;s:11:"GDMSESSION";i:9;s:5:"USER";i:10;s:5:"
MAIL";i:11;s:7:"OLDPWD";i:12;s:5:"LANG";i:13;s:10:"COLORTERM";i:14;s:8:"DISP
LAY";i:15;s:8:"LOGNAME";i:16;s:6:"
>apd_echo(system('ls /home/mydir'));
........
>apd_continue(0);

APD Funktionen
apd_callstack
APD Funktionen


Returns the current call stack as an array

apd_breakpoint
apd_clunk
APD Funktionen
PHP Manual

apd_callstack

(PECL apd 0.2-0.4)

apd_callstack — Returns the current call stack as an array

Beschreibung

array apd_callstack ( void )

Returns the current call stack as an array

Rückgabewerte

An array containing the current call stack.

Beispiele

Beispiel #1 apd_callstack() example

<?php
print_r(apd_callstack());
?>

apd_breakpoint
apd_clunk
APD Funktionen


Throw a warning and a callstack

apd_callstack
apd_continue
APD Funktionen
PHP Manual

apd_clunk

(PECL apd 0.2-0.4)

apd_clunk — Throw a warning and a callstack

Beschreibung

void apd_clunk ( string $warning [, string $delimiter = "<BR />" ] )

Behaves like perl's Carp::cluck. Throw a warning and a callstack.

Parameter-Liste

warning

The warning to throw.

delimiter

The delimiter. Default to <BR />.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 apd_clunk() example

<?php
apd_clunk("Some Warning", "<br/>");
?>

Siehe auch

  • apd_croak() - Throw an error, a callstack and then exit

apd_callstack
apd_continue
APD Funktionen


Restarts the interpreter

apd_clunk
apd_croak
APD Funktionen
PHP Manual

apd_continue

(PECL apd >= 0.2)

apd_continue — Restarts the interpreter

Beschreibung

bool apd_continue ( int $debug_level )

Usually sent via the socket to restart the interpreter.

Parameter-Liste

debug_level

Ein aus der Addition von XXX_TRACE-Konstanten gewonnener Integerwert.

. Von der Verwendung der MEMORY_TRACE-Konstante wird abgeraten, da diese die Ausführung sehr verlangsamt und keine genauen Ergebnisse zu liefern scheint. ASSIGNMENT_TRACE ist noch nicht implementiert.

Um alle funktioierenden Traces (TIMING, FUNCTIONS, ARGS SUMMARY (ähnlich zu strace -c)) zu aktivieren, benutzen Sie den Wert 99

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 apd_continue() example

<?php
apd_continue(0);
?>

apd_clunk
apd_croak
APD Funktionen


Throw an error, a callstack and then exit

apd_continue
apd_dump_function_table
APD Funktionen
PHP Manual

apd_croak

(PECL apd 0.2-0.4)

apd_croak — Throw an error, a callstack and then exit

Beschreibung

void apd_croak ( string $warning [, string $delimiter = "<BR />" ] )

Behaves like perl's Carp::croak. Throw an error, a callstack and then exit.

Parameter-Liste

warning

The warning to throw.

delimiter

The delimiter. Default to <BR />.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 apd_croak() example

<?php
apd_croak("Some Warning","<P>");
?>

Siehe auch

  • apd_clunk() - Throw a warning and a callstack

apd_continue
apd_dump_function_table
APD Funktionen


Outputs the current function table

apd_croak
apd_dump_persistent_resources
APD Funktionen
PHP Manual

apd_dump_function_table

(Unknown)

apd_dump_function_table — Outputs the current function table

Beschreibung

void apd_dump_function_table ( void )

Outputs the current function table.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 apd_dump_function_table() example

<?php
apd_dump_function_table();
?>

apd_croak
apd_dump_persistent_resources
APD Funktionen


Return all persistent resources as an array

apd_dump_function_table
apd_dump_regular_resources
APD Funktionen
PHP Manual

apd_dump_persistent_resources

(PECL apd 0.2-0.4)

apd_dump_persistent_resources — Return all persistent resources as an array

Beschreibung

array apd_dump_persistent_resources ( void )

Return all persistent resources as an array.

Rückgabewerte

An array containing the current persistent resources.

Beispiele

Beispiel #1 apd_dump_persistent_resources() example

<?php
print_r(apd_dump_persistent_resources());
?>

Siehe auch

  • apd_dump_regular_resources() - Return all current regular resources as an array

apd_dump_function_table
apd_dump_regular_resources
APD Funktionen


Return all current regular resources as an array

apd_dump_persistent_resources
apd_echo
APD Funktionen
PHP Manual

apd_dump_regular_resources

(PECL apd 0.2-0.4)

apd_dump_regular_resources — Return all current regular resources as an array

Beschreibung

array apd_dump_regular_resources ( void )

Return all current regular resources as an array.

Rückgabewerte

An array containing the current regular resources.

Beispiele

Beispiel #1 apd_dump_regular_resources() example

<?php
print_r(apd_dump_regular_resources());
?>

Siehe auch

  • apd_dump_persistent_resources() - Return all persistent resources as an array

apd_dump_persistent_resources
apd_echo
APD Funktionen


Echo to the debugging socket

apd_dump_regular_resources
apd_get_active_symbols
APD Funktionen
PHP Manual

apd_echo

(PECL apd >= 0.2)

apd_echo — Echo to the debugging socket

Beschreibung

bool apd_echo ( string $output )

Usually sent via the socket to request information about the running script.

Parameter-Liste

output

The debugged variable.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 apd_echo() example

<?php
apd_echo($i);
?>

apd_dump_regular_resources
apd_get_active_symbols
APD Funktionen


Get an array of the current variables names in the local scope

apd_echo
apd_set_pprof_trace
APD Funktionen
PHP Manual

apd_get_active_symbols

(PECL apd 0.2)

apd_get_active_symbols — Get an array of the current variables names in the local scope

Beschreibung

array apd_get_active_symbols ( void )

Returns the names of all the variables defined in the active scope, (not their values).

Rückgabewerte

A multidimensional array with all the variables.

Beispiele

Beispiel #1 apd_get_active_symbols() example

<?php
apd_echo(apd_get_active_symbols());
?>

apd_echo
apd_set_pprof_trace
APD Funktionen


Starts the session debugging

apd_get_active_symbols
apd_set_session_trace_socket
APD Funktionen
PHP Manual

apd_set_pprof_trace

(PECL apd >= 0.2)

apd_set_pprof_trace — Starts the session debugging

Beschreibung

string apd_set_pprof_trace ([ string $dump_directory = ini_get("apd.dumpdir") [, string $fragment = "pprof" ]] )

Starts debugging to pprof_{process_id} in the dump directory.

Parameter-Liste

dump_directory

The directory in which the profile dump file is written. If not set, the apd.dumpdir setting from the php.ini file is used.

fragment

Rückgabewerte

Returns path of the destination file.

Beispiele

Beispiel #1 apd_set_pprof_trace() example

<?php
apd_set_pprof_trace();
?>

Siehe auch

  • apd_set_session_trace() - Starts the session debugging

apd_get_active_symbols
apd_set_session_trace_socket
APD Funktionen


Starts the remote session debugging

apd_set_pprof_trace
apd_set_session_trace
APD Funktionen
PHP Manual

apd_set_session_trace_socket

(PECL apd >= 0.2)

apd_set_session_trace_socket — Starts the remote session debugging

Beschreibung

bool apd_set_session_trace_socket ( string $tcp_server , int $socket_type , int $port , int $debug_level )

Connects to the specified tcp_server (eg. tcplisten) and sends debugging data to the socket.

Parameter-Liste

tcp_server

IP or Unix Domain socket (like a file) of the TCP server.

socket_type

Can be AF_UNIX for file based sockets or APD_AF_INET for standard tcp/ip.

port

You can use any port, but higher numbers are better as most of the lower numbers may be used by other system services.

debug_level

Ein aus der Addition von XXX_TRACE-Konstanten gewonnener Integerwert.

. Von der Verwendung der MEMORY_TRACE-Konstante wird abgeraten, da diese die Ausführung sehr verlangsamt und keine genauen Ergebnisse zu liefern scheint. ASSIGNMENT_TRACE ist noch nicht implementiert.

Um alle funktioierenden Traces (TIMING, FUNCTIONS, ARGS SUMMARY (ähnlich zu strace -c)) zu aktivieren, benutzen Sie den Wert 99

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 apd_set_session_trace_socket() example

<?php
  apd_set_session_trace_socket("127.0.0.1",APD_AF_INET,7112,0);
?>

apd_set_pprof_trace
apd_set_session_trace
APD Funktionen


Starts the session debugging

apd_set_session_trace_socket
apd_set_session
APD Funktionen
PHP Manual

apd_set_session_trace

(PECL apd 0.2-0.4)

apd_set_session_trace — Starts the session debugging

Beschreibung

void apd_set_session_trace ( int $debug_level [, string $dump_directory = ini_get("apd.dumpdir") ] )

Starts debugging to apd_dump_{process_id} in the dump directory.

Parameter-Liste

debug_level

Ein aus der Addition von XXX_TRACE-Konstanten gewonnener Integerwert.

. Von der Verwendung der MEMORY_TRACE-Konstante wird abgeraten, da diese die Ausführung sehr verlangsamt und keine genauen Ergebnisse zu liefern scheint. ASSIGNMENT_TRACE ist noch nicht implementiert.

Um alle funktioierenden Traces (TIMING, FUNCTIONS, ARGS SUMMARY (ähnlich zu strace -c)) zu aktivieren, benutzen Sie den Wert 99

dump_directory

The directory in which the profile dump file is written. If not set, the apd.dumpdir setting from the php.ini file is used.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 apd_set_session_trace() example

<?php
apd_set_session_trace(99);
?>

apd_set_session_trace_socket
apd_set_session
APD Funktionen


Changes or sets the current debugging level

apd_set_session_trace
override_function
APD Funktionen
PHP Manual

apd_set_session

(PECL apd 0.2-0.4)

apd_set_session — Changes or sets the current debugging level

Beschreibung

void apd_set_session ( int $debug_level )

This can be used to increase or decrease debugging in a different area of your application.

Parameter-Liste

debug_level

Ein aus der Addition von XXX_TRACE-Konstanten gewonnener Integerwert.

. Von der Verwendung der MEMORY_TRACE-Konstante wird abgeraten, da diese die Ausführung sehr verlangsamt und keine genauen Ergebnisse zu liefern scheint. ASSIGNMENT_TRACE ist noch nicht implementiert.

Um alle funktioierenden Traces (TIMING, FUNCTIONS, ARGS SUMMARY (ähnlich zu strace -c)) zu aktivieren, benutzen Sie den Wert 99

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 apd_set_session() example

<?php
apd_set_session(9);
?>

apd_set_session_trace
override_function
APD Funktionen


Overrides built-in functions

apd_set_session
rename_function
APD Funktionen
PHP Manual

override_function

(PECL apd >= 0.2)

override_function — Overrides built-in functions

Beschreibung

bool override_function ( string $function_name , string $function_args , string $function_code )

Overrides built-in functions by replacing them in the symbol table.

Parameter-Liste

function_name

The function to override.

function_args

The function arguments, as a comma separated string.

Usually you will want to pass this parameter, as well as the function_code parameter, as a single quote delimited string. The reason for using single quoted strings, is to protect the variable names from parsing, otherwise, if you use double quotes there will be a need to escape the variable names, e.g. \$your_var.

function_code

The new code for the function.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 override_function() example

<?php
override_function('test', '$a,$b', 'echo "DOING TEST"; return $a * $b;');
?>

apd_set_session
rename_function
APD Funktionen


Renames orig_name to new_name in the global function table

override_function
bcompiler
APD Funktionen
PHP Manual

rename_function

(PECL apd >= 0.2)

rename_function — Renames orig_name to new_name in the global function table

Beschreibung

bool rename_function ( string $original_name , string $new_name )

Renames a orig_name to new_name in the global function table. Useful for temporarily overriding built-in functions.

Parameter-Liste

original_name

The original function name.

new_name

The new name for the original_name function.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 rename_function() example

<?php
rename_function('mysql_connect', 'debug_mysql_connect' );
?>

override_function
bcompiler
APD Funktionen


PHP bytecode Compiler

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • bcompiler Funktionen
    • bcompiler_load_exe — Reads and creates classes from a bcompiler exe file
    • bcompiler_load — Reads and creates classes from a bz compressed file
    • bcompiler_parse_class — Reads the bytecodes of a class and calls back to a user function
    • bcompiler_read — Reads and creates classes from a filehandle
    • bcompiler_write_class — Writes a defined class as bytecodes
    • bcompiler_write_constant — Writes a defined constant as bytecodes
    • bcompiler_write_exe_footer — Writes the start pos, and sig to the end of a exe type file
    • bcompiler_write_file — Writes a php source file as bytecodes
    • bcompiler_write_footer — Writes the single character \x00 to indicate End of compiled data
    • bcompiler_write_function — Writes a defined function as bytecodes
    • bcompiler_write_functions_from_file — Writes all functions defined in a file as bytecodes
    • bcompiler_write_header — Writes the bcompiler header
    • bcompiler_write_included_filename — Writes an included file as bytecodes
rename_function
Einführung
Das Verhalten von PHP beeinflussen


Einführung

Warnung

Diese Erweiterung ist EXPERIMENTELL. Das Verhalten dieser Erweiterung, einschließlich der Funktionsnamen, und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Erweiterung auf eigenes Risiko.

Bcompiler was written for several reasons:

  • To encode entire script in a proprietary PHP application
  • To encode some classes and/or functions in a proprietary PHP application
  • To enable the production of php-gtk applications that could be used on client desktops, without the need for a php.exe.
  • To do the feasibility study for a PHP to C converter
The first of these goals is achieved using the bcompiler_write_header(), bcompiler_write_file() and bcompiler_write_footer() functions. The bytecode files can be written as either uncompressed or plain. To use the generated bytecode, you can simply include it with include or require statements.

The second of these goals is achieved using the bcompiler_write_header(), bcompiler_write_class(), bcompiler_write_footer(), bcompiler_read(), and bcompiler_load() functions. The bytecode files can be written as either uncompressed or plain. The bcompiler_load() reads a bzip compressed bytecode file, which tends to be 1/3 of the size of the original file.

To create EXE type files, bcompiler has to be used with a modified sapi file or a version of PHP which has been compiled as a shared library. In this scenario, bcompiler reads the compressed bytecode from the end of the exe file.

bcompiler can improve performance by about 30% when used with uncompressed bytecodes only. But keep in mind that uncompressed bytecode can be up to 5 times larger than the original source code. Using bytecode compression can save your space, but decompression requires much more time than parsing a source. bcompiler also does not do any bytecode optimization, this could be added in the future...

In terms of code protection, it is safe to say that it would be impossible to recreate the exact source code that it was built from, and without the accompanying source code comments. It would effectively be useless to use the bcompiler bytecodes to recreate and modify a class. However it is possible to retrieve data from a bcompiled bytecode file - so don't put your private passwords or anything in it.

bcompiler
Installation/Konfiguration
bcompiler


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
bcompiler


Installation

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/bcompiler.

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Diese Erweiterung definiert keine Konfigurationseinstellungen in der php.ini.

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
bcompiler Funktionen
bcompiler


bcompiler Funktionen

Contact Information

If you have comments, bugfixes, enhancements or want to help developing this beast, you can drop me a mail at » alan_k@php.net. Any help is very welcome.

Inhaltsverzeichnis

  • bcompiler_load_exe — Reads and creates classes from a bcompiler exe file
  • bcompiler_load — Reads and creates classes from a bz compressed file
  • bcompiler_parse_class — Reads the bytecodes of a class and calls back to a user function
  • bcompiler_read — Reads and creates classes from a filehandle
  • bcompiler_write_class — Writes a defined class as bytecodes
  • bcompiler_write_constant — Writes a defined constant as bytecodes
  • bcompiler_write_exe_footer — Writes the start pos, and sig to the end of a exe type file
  • bcompiler_write_file — Writes a php source file as bytecodes
  • bcompiler_write_footer — Writes the single character \x00 to indicate End of compiled data
  • bcompiler_write_function — Writes a defined function as bytecodes
  • bcompiler_write_functions_from_file — Writes all functions defined in a file as bytecodes
  • bcompiler_write_header — Writes the bcompiler header
  • bcompiler_write_included_filename — Writes an included file as bytecodes
Vordefinierte Konstanten
bcompiler_load_exe
bcompiler


Reads and creates classes from a bcompiler exe file

bcompiler Funktionen
bcompiler_load
bcompiler Funktionen
PHP Manual

bcompiler_load_exe

(PECL bcompiler >= 0.4)

bcompiler_load_exe — Reads and creates classes from a bcompiler exe file

Beschreibung

bool bcompiler_load_exe ( string $filename )

Reads data from a bcompiler exe file and creates classes from the bytecodes.

Parameter-Liste

filename

The exe file path, as a string.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 bcompiler_load_exe() example

<?php

bcompiler_load_exe("/tmp/example.exe");
print_r(get_defined_classes());

?>

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Siehe auch

  • bcompiler_load() - Reads and creates classes from a bz compressed file

bcompiler Funktionen
bcompiler_load
bcompiler Funktionen


Reads and creates classes from a bz compressed file

bcompiler_load_exe
bcompiler_parse_class
bcompiler Funktionen
PHP Manual

bcompiler_load

(PECL bcompiler >= 0.4)

bcompiler_load — Reads and creates classes from a bz compressed file

Beschreibung

bool bcompiler_load ( string $filename )

Reads data from a bzcompressed file and creates classes from the bytecodes.

Parameter-Liste

filename

The bzcompressed file path, as a string.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 bcompiler_load() example

<?php

bcompiler_load("/tmp/example");

print_r(get_defined_classes());

?>

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Hinweis:

Please use include or require statements to parse bytecodes, it's more portable and convenient way than using this function.

Please note that this function won't execute script body code contained in the bytecode file.

Siehe auch

  • bcompiler_load_exe() - Reads and creates classes from a bcompiler exe file

bcompiler_load_exe
bcompiler_parse_class
bcompiler Funktionen


Reads the bytecodes of a class and calls back to a user function

bcompiler_load
bcompiler_read
bcompiler Funktionen
PHP Manual

bcompiler_parse_class

(PECL bcompiler >= 0.4)

bcompiler_parse_class — Reads the bytecodes of a class and calls back to a user function

Beschreibung

bool bcompiler_parse_class ( string $class , string $callback )

Reads the bytecodes of a class and calls back to a user function.

Parameter-Liste

class

The class name, as a string.

callback

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 bcompiler_parse_class() example

<?php

function readByteCodes($data) {
    print_r($data);
}

bcompiler_parse_class("DB","readByteCodes");

?>

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Hinweis:

This function has been removed from bcompiler and is no longer available as of bcompiler 0.5.

bcompiler_load
bcompiler_read
bcompiler Funktionen


Reads and creates classes from a filehandle

bcompiler_parse_class
bcompiler_write_class
bcompiler Funktionen
PHP Manual

bcompiler_read

(PECL bcompiler >= 0.4)

bcompiler_read — Reads and creates classes from a filehandle

Beschreibung

bool bcompiler_read ( resource $filehandle )

Reads data from a open file handle and creates classes from the bytecodes.

Parameter-Liste

filehandle

A file handle as returned by fopen().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 bcompiler_read() example

<?php
$fh = fopen("/tmp/example","r");
bcompiler_read($fh);
fclose($fh);
print_r(get_defined_classes());

?>

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Hinweis:

Please use include or require statements to parse bytecodes, it's more portable and convenient way than using this function.

Please note that this function won't execute script body code contained in the bytecode file.

bcompiler_parse_class
bcompiler_write_class
bcompiler Funktionen


Writes a defined class as bytecodes

bcompiler_read
bcompiler_write_constant
bcompiler Funktionen
PHP Manual

bcompiler_write_class

(PECL bcompiler >= 0.4)

bcompiler_write_class — Writes a defined class as bytecodes

Beschreibung

bool bcompiler_write_class ( resource $filehandle , string $className [, string $extends ] )

Reads the bytecodes from PHP for an existing class, and writes them to the open file handle.

Parameter-Liste

filehandle

A file handle as returned by fopen().

className

The class name, as a string.

extends

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 bcompiler_write_class() example

<?php
$fh = fopen("/tmp/example","w");
bcompiler_write_header($fh);
bcompiler_write_class($fh,"DB");
// you must write DB_common before DB_mysql, as DB_mysql extends DB_common.
bcompiler_write_class($fh,"DB_common");
bcompiler_write_class($fh,"DB_mysql");
bcompiler_write_footer($fh);
fclose($fh);

?>

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Hinweis:

This function does not perform dependency checking, so make sure you write the classes in an order that will not result in an undefined class error occurring when you load it.

Siehe auch

  • bcompiler_write_header() - Writes the bcompiler header
  • bcompiler_write_footer() - Writes the single character \x00 to indicate End of compiled data

bcompiler_read
bcompiler_write_constant
bcompiler Funktionen


Writes a defined constant as bytecodes

bcompiler_write_class
bcompiler_write_exe_footer
bcompiler Funktionen
PHP Manual

bcompiler_write_constant

(PECL bcompiler >= 0.5)

bcompiler_write_constant — Writes a defined constant as bytecodes

Beschreibung

bool bcompiler_write_constant ( resource $filehandle , string $constantName )

Reads the bytecodes from PHP for an existing constant, and writes them to the open file handle.

Parameter-Liste

filehandle

A file handle as returned by fopen().

constantName

The name of the defined constant, as a string.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 bcompiler_write_constant() example

<?php
define("MODULE_MAX", 30);

$fh = fopen("/tmp/example","w");
bcompiler_write_header($fh);
bcompiler_write_constant($fh,"MODULE_MAX");
bcompiler_write_footer($fh);
fclose($fh);

?>

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Siehe auch

  • bcompiler_write_header() - Writes the bcompiler header
  • bcompiler_write_footer() - Writes the single character \x00 to indicate End of compiled data

bcompiler_write_class
bcompiler_write_exe_footer
bcompiler Funktionen


Writes the start pos, and sig to the end of a exe type file

bcompiler_write_constant
bcompiler_write_file
bcompiler Funktionen
PHP Manual

bcompiler_write_exe_footer

(PECL bcompiler >= 0.4)

bcompiler_write_exe_footer — Writes the start pos, and sig to the end of a exe type file

Beschreibung

bool bcompiler_write_exe_footer ( resource $filehandle , int $startpos )

An EXE (or self executable) file consists of 3 parts:

  • The stub (executable code, e.g. a compiled C program) that loads PHP interpreter, bcompiler extension, stored Bytecodes and initiates a call for the specified function (e.g. main) or class method (e.g. main::main)
  • The Bytecodes (uncompressed only for the moment)
  • The bcompiler EXE footer

To obtain a suitable stub you can compile php_embed-based stub phpe.c located in the examples/embed directory on bcompiler's CVS.

Parameter-Liste

filehandle

A file handle as returned by fopen().

startpos

The file position at which the Bytecodes start, and can be obtained using ftell().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 bcompiler_write_exe_footer() example

<?php

/* creating the output file (example.exe) */
$fh = fopen("example.exe", "w");

/* 1) writing a stub (phpe.exe) */
$size = filesize("phpe.exe");
$fr = fopen("phpe.exe", "r");
fwrite($fh, fread($fr, $size), $size);
$startpos = ftell($fh);

/* 2) writing bytecodes */
bcompiler_write_header($fh);
bcompiler_write_class($fh, "myclass");
bcompiler_write_function($fh, "main");
bcompiler_write_footer($fh);

/* 3) writing EXE footer */
bcompiler_write_exe_footer($fh, $startpos);

/* closing the output file */
fclose($fh);
?>

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Siehe auch

  • bcompiler_write_header() - Writes the bcompiler header
  • bcompiler_write_class() - Writes a defined class as bytecodes
  • bcompiler_write_footer() - Writes the single character \x00 to indicate End of compiled data

bcompiler_write_constant
bcompiler_write_file
bcompiler Funktionen


Writes a php source file as bytecodes

bcompiler_write_exe_footer
bcompiler_write_footer
bcompiler Funktionen
PHP Manual

bcompiler_write_file

(PECL bcompiler >= 0.6)

bcompiler_write_file — Writes a php source file as bytecodes

Beschreibung

bool bcompiler_write_file ( resource $filehandle , string $filename )

This function compiles specified source file into bytecodes, and writes them to the open file handle.

Parameter-Liste

filehandle

A file handle as returned by fopen().

filename

The source file path, as a string.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 bcompiler_write_file() example

<?php
$fh = fopen("example.phb", "w");
bcompiler_write_header($fh);
bcompiler_write_file($fh, "example.php");
bcompiler_write_footer($fh);
fclose($fh);
/* the following should be equivalent:
include "example.php";
   and
include "example.phb";
*/
?>

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Siehe auch

  • bcompiler_write_header() - Writes the bcompiler header
  • bcompiler_write_footer() - Writes the single character \x00 to indicate End of compiled data

bcompiler_write_exe_footer
bcompiler_write_footer
bcompiler Funktionen


Writes the single character \x00 to indicate End of compiled data

bcompiler_write_file
bcompiler_write_function
bcompiler Funktionen
PHP Manual

bcompiler_write_footer

(PECL bcompiler >= 0.4)

bcompiler_write_footer — Writes the single character \x00 to indicate End of compiled data

Beschreibung

bool bcompiler_write_footer ( resource $filehandle )

Writes the single character \x00 to indicate End of compiled data.

Parameter-Liste

filehandle

A file handle as returned by fopen().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 bcompiler_write_footer() example

<?php
$fh = fopen("/tmp/example","w");
bcompiler_write_header($fh);
bcompiler_write_class($fh,"DB");
bcompiler_write_class($fh,"DB_common");
bcompiler_write_footer($fh);
fclose($fh);

?>

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Siehe auch

  • bcompiler_write_header() - Writes the bcompiler header

bcompiler_write_file
bcompiler_write_function
bcompiler Funktionen


Writes a defined function as bytecodes

bcompiler_write_footer
bcompiler_write_functions_from_file
bcompiler Funktionen
PHP Manual

bcompiler_write_function

(PECL bcompiler >= 0.5)

bcompiler_write_function — Writes a defined function as bytecodes

Beschreibung

bool bcompiler_write_function ( resource $filehandle , string $functionName )

Reads the bytecodes from PHP for an existing function, and writes them to the open file handle. Order is not important, (eg. if function b uses function a, and you compile it like the example below, it will work perfectly OK).

Parameter-Liste

filehandle

A file handle as returned by fopen().

functionName

The function name, as a string.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 bcompiler_write_function() example

<?php
$fh = fopen("/tmp/example","w");
bcompiler_write_header($fh);
bcompiler_write_function($fh,"my_function_a");
bcompiler_write_function($fh,"my_function_b");
bcompiler_write_footer($fh);
fclose($fh);

?>

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Siehe auch

  • bcompiler_write_header() - Writes the bcompiler header
  • bcompiler_write_footer() - Writes the single character \x00 to indicate End of compiled data

bcompiler_write_footer
bcompiler_write_functions_from_file
bcompiler Funktionen


Writes all functions defined in a file as bytecodes

bcompiler_write_function
bcompiler_write_header
bcompiler Funktionen
PHP Manual

bcompiler_write_functions_from_file

(PECL bcompiler >= 0.5)

bcompiler_write_functions_from_file — Writes all functions defined in a file as bytecodes

Beschreibung

bool bcompiler_write_functions_from_file ( resource $filehandle , string $fileName )

Searches for all functions declared in the given file, and writes their correspondent bytecodes to the open file handle.

Parameter-Liste

filehandle

A file handle as returned by fopen().

fileName

The file to be compiled. You must always include or require the file you intend to compile.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 bcompiler_write_functions_from_file() example

<?php
require('module.php');

$fh = fopen("/tmp/example","w");
bcompiler_write_header($fh);
bcompiler_write_functions_from_file($fh,'module.php');
bcompiler_write_footer($fh);
fclose($fh);

?>

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Siehe auch

  • bcompiler_write_header() - Writes the bcompiler header
  • bcompiler_write_footer() - Writes the single character \x00 to indicate End of compiled data

bcompiler_write_function
bcompiler_write_header
bcompiler Funktionen


Writes the bcompiler header

bcompiler_write_functions_from_file
bcompiler_write_included_filename
bcompiler Funktionen
PHP Manual

bcompiler_write_header

(PECL bcompiler >= 0.3)

bcompiler_write_header — Writes the bcompiler header

Beschreibung

bool bcompiler_write_header ( resource $filehandle [, string $write_ver ] )

Writes the header part of a bcompiler file.

Parameter-Liste

filehandle

A file handle as returned by fopen().

write_ver

Can be used to write bytecode in a previously used format, so that you can use it with older versions of bcompiler.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 bcompiler_write_header() example

<?php
$fh = fopen("/tmp/example","w");
bcompiler_write_header($fh);
bcompiler_write_class($fh,"DB");
bcompiler_write_footer($fh);
fclose($fh);

?>

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Siehe auch

  • bcompiler_write_footer() - Writes the single character \x00 to indicate End of compiled data

bcompiler_write_functions_from_file
bcompiler_write_included_filename
bcompiler Funktionen


Writes an included file as bytecodes

bcompiler_write_header
BLENC
bcompiler Funktionen
PHP Manual

bcompiler_write_included_filename

(PECL bcompiler >= 0.5)

bcompiler_write_included_filename — Writes an included file as bytecodes

Beschreibung

bool bcompiler_write_included_filename ( resource $filehandle , string $filename )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

bcompiler_write_header
BLENC
bcompiler Funktionen


Blenc - BLowfish ENCoder for PHP source scripts

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Blenc Funktionen
    • blenc_encrypt — Encrypt a PHP script with BLENC.
bcompiler_write_included_filename
Einführung
Das Verhalten von PHP beeinflussen


Einführung

Warnung

Diese Erweiterung ist EXPERIMENTELL. Das Verhalten dieser Erweiterung, einschließlich der Funktionsnamen, und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Erweiterung auf eigenes Risiko.

BLENC is a PHP source script protector that:

  • Encodes your source code with the blowfish algorithm.
  • Allows transparent decryption and execution of PHP scripts previously encoded with BLENC.

BLENC is an extension which hooks into the Zend Engine, allowing for transparent encryption and execution of PHP scripts using the blowfish algorithm. It is not designed for complete security (it is still possible to disassemble the script into op codes using a package such as XDebug), however it does keep people out of your code and make reverse engineering difficult.

In order to protect your PHP script you must encrypt each script with blenc_encrypt() function. After you can include the encoded script like the example below:

<?php

/* PHP script encoded with BLENC */
$my_source_encoded = 'my_source_encoded.phpe';

include($my_source_encoded);
?>

BLENC supports also expiration time for the module. So, if you want deploy your source code with a expiration time, you have to compile the extension modifying the header file related to encryption and expiration time. Please see configuration section for further informations.

BLENC
Installation/Konfiguration
BLENC


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
BLENC


Anforderungen

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/blenc

It's strongly recommended to install BLENC from sources without 'pecl' command. In this way you can:

  • Specify your personal encryption key used to create redistributable keys. Your sourcecode will be more difficult to decrypt also for users that can read your key_file on webserver.
  • Specify a expiration date for the BLENC module. With expiration date you can decide that BLENC module on target system will work until a date. After that BLENC will not decrypt any files.
All these configuration options are stored into header file: blenc_protect.h

Please read the content of blenc_protect.h in sources of BLENC to know how set these hardcoded options.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Blenc Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
blenc.key_file | /usr/local/etc/blenckeys | PHP_INI_ALL |

Hier eine kurze Erklärung der Konfigurationsoptionen:

blenc.key_file string

It's the location where BLENC can find the file containing a list of available decryption keys. This file must be readable by webserver.

Installation
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

BLENC_EXT_VERSION (string)

Ressource-Typen
Blenc Funktionen
BLENC


Blenc Funktionen

Inhaltsverzeichnis

  • blenc_encrypt — Encrypt a PHP script with BLENC.
Vordefinierte Konstanten
blenc_encrypt
BLENC


Encrypt a PHP script with BLENC.

Blenc Funktionen
Fehlerbehandlung
Blenc Funktionen
PHP Manual

blenc_encrypt

(PECL blenc >= 5)

blenc_encrypt — Encrypt a PHP script with BLENC.

Beschreibung

string blenc_encrypt ( string $plaintext , string $encodedfile [, string $encryption_key ] )

Encrypt the plaintext content and write it into encodedfile

Parameter-Liste

plaintext

A source code to encrypt. Does not need to contain opening/closing PHP tags

encodedfile

The filename where BLENC will save the encoded source.

encryption_key

The key that BLENC will use to encrypt plaintext content. If not given BLENC will create a valid key.

Rückgabewerte

BLENC will return the redistributable key that must be saved into key_file: the path of key_file is specified at runtime with the option blenc.key_file

Beispiele

Beispiel #1 blenc_encrypt() example

<?php

/* read the PHP source code */
$source_code = file_get_contents("my_source_to_protect.php");

/* create the encrypted version */
$redistributable_key = blenc_encrypt($source_code, "my_source_encoded.php");

/* read which is the key_file */
$key_file = ini_get('blenc.key_file');

/* save the redistributable key */
file_put_contents($key_file, $redistributable_key, FILE_APPEND);
?>

Blenc Funktionen
Fehlerbehandlung
Blenc Funktionen


Fehlerbehandlung und Protokollierung

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
  • Fehlerbehandlungsfunktionen
    • debug_backtrace — Erzeugt Daten zur Ablaufverfolgung
    • debug_print_backtrace — Gibt die Daten für eine Ablaufverfolgung aus
    • error_clear_last — Clear the most recent error
    • error_get_last — Liefert den zuletzt aufgetretenen Fehler
    • error_log — Sendet eine Fehlermeldung an die definierten Fehlerbehandlungsroutinen
    • error_reporting — Gibt an, welche PHP-Fehlermeldungen gemeldet werden
    • restore_error_handler — Rekonstruiert die zuvor benutzte Fehlerbehandlungsfunktion
    • restore_exception_handler — Stellt den vorherigen Exceptionhandler wieder her
    • set_error_handler — Bestimmt eine benutzerdefinierte Funktion zur Fehlerbehandlung
    • set_exception_handler — Installiert einen benutzerdefinierten Exceptionhandler
    • trigger_error — Erzeugt eine benutzerdefinierte Fehlermeldung/Warnung/Benachrichtigung
    • user_error — Alias von trigger_error
blenc_encrypt
Einführung
Das Verhalten von PHP beeinflussen


Einführung

Diese Funktionen beschäftigen sich mit Fehlerbehandlung und -protokollierung. Sie ermöglichen es Ihnen, sowohl Ihre eigenen Fehlerbehandlungsregeln aufzustellen als auch die Art, wie Fehler protokolliert werden, zu ändern. Dies gestattet es Ihnen, die Fehlerbehandlung nach Ihren Bedürfnissen zu ändern und zu erweitern.

Die Protokollierungsfunktionen ermöglichen es Ihnen, Fehlermeldungen direkt an andere Maschinen, als Email, in Systemprotokolle usw. zu senden. Sie können so selektiv die wichtigsten Teile Ihrer Applikationen und Websites beobachten und protokollieren.

Die Fehlermeldungsfunktionen gestatten es Ihnen, die Art und das Ausmaß der erzeugten Fehlermeldungen von einfachen Hinweisen bis zu speziell angepassten Funktionsaufrufen beim Auftreten eines Fehlers nach Ihren Bedürfnissen anzupassen.

Fehlerbehandlung
Installation/Konfiguration
Fehlerbehandlung


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Fehlerbehandlung


Installation

Für diese Funktionen ist keine Installation erforderlich, diese gehören zum Grundbestand von PHP.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Errors and Logging Configuration Options
Name | Standard | Veränderbar | Changelog
error_reporting | NULL | PHP_INI_ALL |
display_errors | "1" | PHP_INI_ALL |
display_startup_errors | "0" | PHP_INI_ALL |
log_errors | "0" | PHP_INI_ALL |
log_errors_max_len | "1024" | PHP_INI_ALL | Available since PHP 4.3.0.
ignore_repeated_errors | "0" | PHP_INI_ALL | Available since PHP 4.3.0.
ignore_repeated_source | "0" | PHP_INI_ALL | Available since PHP 4.3.0.
report_memleaks | "1" | PHP_INI_ALL | Available since PHP 4.3.0.
track_errors | "0" | PHP_INI_ALL |
html_errors | "1" | PHP_INI_ALL | PHP_INI_SYSTEM in PHP <= 4.2.3.
xmlrpc_errors | "0" | PHP_INI_SYSTEM | Available since PHP 4.1.0.
xmlrpc_error_number | "0" | PHP_INI_ALL | Available since PHP 4.1.0.
docref_root | "" | PHP_INI_ALL | Available since PHP 4.3.0.
docref_ext | "" | PHP_INI_ALL | Available since PHP 4.3.2.
error_prepend_string | NULL | PHP_INI_ALL |
error_append_string | NULL | PHP_INI_ALL |
error_log | NULL | PHP_INI_ALL |
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

error_reporting integer

Set the error reporting level. The parameter is either an integer representing a bit field, or named constants. The error_reporting levels and constants are described in Predefined Constants, and in php.ini. To set at runtime, use the error_reporting() function. See also the display_errors directive.

PHP 5.3 or later, the default value is E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED. This setting does not show E_NOTICE, E_STRICT and E_DEPRECATED level errors. You may want to show them during development. Prior to PHP 5.3.0, the default value is E_ALL & ~E_NOTICE & ~E_STRICT. In PHP 4 the default value is E_ALL & ~E_NOTICE.

Hinweis:

Enabling E_NOTICE during development has some benefits. For debugging purposes: NOTICE messages will warn you about possible bugs in your code. For example, use of unassigned values is warned. It is extremely useful to find typos and to save time for debugging. NOTICE messages will warn you about bad style. For example, $arr[item] is better to be written as $arr['item'] since PHP tries to treat "item" as constant. If it is not a constant, PHP assumes it is a string index for the array.

Hinweis:

In PHP 5 a new error level E_STRICT is available. Prior to PHP 5.4.0 E_STRICT was not included within E_ALL, so you would have to explicitly enable this kind of error level in PHP < 5.4.0. Enabling E_STRICT during development has some benefits. STRICT messages provide suggestions that can help ensure the best interoperability and forward compatibility of your code. These messages may include things such as calling non-static methods statically, defining properties in a compatible class definition while defined in a used trait, and prior to PHP 5.3 some deprecated features would issue E_STRICT errors such as assigning objects by reference upon instantiation.

Hinweis: PHP Constants outside of PHP

Using PHP Constants outside of PHP, like in httpd.conf, will have no useful meaning so in such cases the integer values are required. And since error levels will be added over time, the maximum value (for E_ALL) will likely change. So in place of E_ALL consider using a larger value to cover all bit fields from now and well into the future, a numeric value like 2147483647 (includes all errors, not just E_ALL).

display_errors string

This determines whether errors should be printed to the screen as part of the output or if they should be hidden from the user.

Value "stderr" sends the errors to stderr instead of stdout. The value is available as of PHP 5.2.4. In earlier versions, this directive was of type boolean.

Hinweis:

This is a feature to support your development and should never be used on production systems (e.g. systems connected to the internet).

Hinweis:

Although display_errors may be set at runtime (with ini_set()), it won't have any effect if the script has fatal errors. This is because the desired runtime action does not get executed.

display_startup_errors boolean

Even when display_errors is on, errors that occur during PHP's startup sequence are not displayed. It's strongly recommended to keep display_startup_errors off, except for debugging.

log_errors boolean

Tells whether script error messages should be logged to the server's error log or error_log. This option is thus server-specific.

Hinweis:

You're strongly advised to use error logging in place of error displaying on production web sites.

log_errors_max_len integer

Set the maximum length of log_errors in bytes. In error_log information about the source is added. The default is 1024 and 0 allows to not apply any maximum length at all. This length is applied to logged errors, displayed errors and also to $php_errormsg, but not to explicitly called functions such as error_log().

Wird ein integer-Wert verwendet, wird dieser Wert in Bytes gemessen. Sie können auch die Kurzschreibweise verwenden, wie in dieser FAQ beschrieben.
ignore_repeated_errors boolean

Do not log repeated messages. Repeated errors must occur in the same file on the same line unless ignore_repeated_source is set true.

ignore_repeated_source boolean

Ignore source of message when ignoring repeated messages. When this setting is On you will not log errors with repeated messages from different files or sourcelines.

report_memleaks boolean

If this parameter is set to On (the default), this parameter will show a report of memory leaks detected by the Zend memory manager. This report will be send to stderr on Posix platforms. On Windows, it will be send to the debugger using OutputDebugString(), and can be viewed with tools like » DbgView. This parameter only has effect in a debug build, and if error_reporting includes E_WARNING in the allowed list.

track_errors boolean

If enabled, the last error message will always be present in the variable $php_errormsg.

html_errors boolean

If enabled, error messages will include HTML tags. The format for HTML errors produces clickable messages that direct the user to a page describing the error or function in causing the error. These references are affected by docref_root and docref_ext.

If disabled, error message will be solely plain text.

xmlrpc_errors boolean

If enabled, turns off normal error reporting and formats errors as XML-RPC error message.

xmlrpc_error_number integer

Used as the value of the XML-RPC faultCode element.

docref_root string

The new error format contains a reference to a page describing the error or function causing the error. In case of manual pages you can download the manual in your language and set this ini directive to the URL of your local copy. If your local copy of the manual can be reached by "/manual/" you can simply use docref_root=/manual/. Additional you have to set docref_ext to match the fileextensions of your copy docref_ext=.html. It is possible to use external references. For example you can use docref_root=http://manual/en/ or docref_root="http://landonize.it/?how=url&theme=classic&filter=Landon &url=http%3A%2F%2Fwww.php.net%2F"

Most of the time you want the docref_root value to end with a slash "/". But see the second example above which does not have nor need it.

Hinweis:

This is a feature to support your development since it makes it easy to lookup a function description. However it should never be used on production systems (e.g. systems connected to the internet).

docref_ext string

See docref_root.

Hinweis:

The value of docref_ext must begin with a dot ".".

error_prepend_string string

String to output before an error message.

error_append_string string

String to output after an error message.

error_log string

Name of the file where script errors should be logged. The file should be writable by the web server's user. If the special value syslog is used, the errors are sent to the system logger instead. On Unix, this means syslog(3) and on Windows NT it means the event log. The system logger is not supported on Windows 95. See also: syslog(). If this directive is not set, errors are sent to the SAPI error logger. For example, it is an error log in Apache or stderr in CLI. See also error_log().

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Die aufgelisteten Konstanten stehen immer zur Verfügung, da sie zum Grundbestand von PHP gehören.

Hinweis: Sie können diese Konstanten innerhalb von php.ini benutzen, aber nicht ausserhalb von PHP, wie etwa in der httpd.conf, wo Sie stattdessen die Werte der Bitmasken benutzen sollten.

Fehler und Meldungen
Wert | Konstante | Beschreibung | Bemerkung
1 | E_ERROR (integer) | Fatale Laufzeit-Fehler. Dies zeigt Fehler an, die nicht behoben werden können. Beispielsweise Probleme bei der Speicherzuweisung. Die Ausführung des Skripts wird abgebrochen. |
2 | E_WARNING (integer) | Warnungen (keine fatalen Fehler) zur Laufzeit des Skripts. Das Skript wird nicht abgebrochen. |
4 | E_PARSE (integer) | Parser-Fehler während der Übersetzung. Parser-Fehler können nur vom Parser erzeugt werden. |
8 | E_NOTICE (integer) | Benachrichtigungen während der Laufzeit. Sie zeigen an, dass im Skript irgend etwas gefunden wurde, was einen Fehler verursachen könnte. Es ist aber genauso möglich, dass Benachrichtigungen im ordnungsgemäßen Ablauf eines Skripts ausgegeben werden. |
16 | E_CORE_ERROR (integer) | Fatale Fehler, die beim Starten von PHP auftreten. Diese sind ähnlich wie E_ERROR, nur dass diese Fehlermeldungen vom PHP-Kern erzeugt werden. |
32 | E_CORE_WARNING (integer) | Warnungen (keine fatalen Fehler), die beim Starten von PHP auftreten. Diese sind ähnlich wie E_WARNING, nur dass diese Warnungen vom PHP-Kern erzeugt werden. |
64 | E_COMPILE_ERROR (integer) | Fatale Fehler zur Übersetzungszeit. Diese sind ähnlich wie E_ERROR, nur dass diese Fehlermeldungen von der Zend Scripting Engine erzeugt werden. |
128 | E_COMPILE_WARNING (integer) | Warnungen zur Übersetzungszeit. Diese sind ähnlich wie E_WARNING, nur dass diese Warnungen von der Zend Scripting Engine erzeugt werden. |
256 | E_USER_ERROR (integer) | Benutzerdefinierte Fehlermeldungen. Diese sind ähnlich wie E_ERROR, nur dass diese Fehlermeldungen im PHP-Code mit trigger_error() erzeugt werden. |
512 | E_USER_WARNING (integer) | Benutzerdefinierte Warnungen. Diese sind ähnlich wie E_WARNING, nur dass diese Warnungen im PHP-Code mit trigger_error() erzeugt werden. |
1024 | E_USER_NOTICE (integer) | Benutzerdefinierte Benachrichtigung. Diese sind ähnlich wie E_NOTICE, nur dass diese Benachrichtigungen im PHP-Code mit trigger_error() erzeugt werden. |
2048 | E_STRICT (integer) | Benachrichtigungen des Laufzeitsystems. Damit erhalten Sie von PHP Vorschläge für Änderungen des Programmcodes, die eine bestmögliche Interoperabilität und zukünftige Kompatibilität Ihres Codes gewährleisten. | Seit PHP 5, aber vor PHP 5.4.0 nicht in E_ALL enthalten
4096 | E_RECOVERABLE_ERROR (integer) | Abfangbarer fataler Fehler. Dies bedeutet das ein potentiell gefährlicher Fehler aufgetreten ist, die Engine aber nicht in einem instabilen Zustand hinterlassen hat. Wird der Fehler nicht durch eine benutzerdefinierte Fehlerbehandlungsroutine abgefangen (siehe auch set_error_handler()) so wird die Anwendung wie bei einem E_ERROR Fehler abgebrochen. | Seit PHP 5.2.0
8192 | E_DEPRECATED (integer) | Notices zur Laufzeit des Programms. Aktivieren Sie diese Einstellung, um Warnungen über Codebestandteile zu erhalten, die in zukünftigen PHP-Versionen nicht mehr funktionieren werden. | Seit PHP 5.3.0
16384 | E_USER_DEPRECATED (integer) | Benutzererzeugte Warnmeldung. Diese entspricht E_DEPRECATED mit der Ausnahme, dass sie im PHP-Code durch die Verwendung der Funktion trigger_error() generiert wurde. | Seit PHP 5.3.0
32767 | E_ALL (integer) | Alle Fehler und Warnungen die unterstützt werden, mit Ausnahme von E_STRICT vor PHP 5.4.0. | 32767 in PHP 5.4.x, 30719 in PHP 5.3.x, 6143 in PHP 5.2.x, 2047 previously

Mit den obengennnten Werten (sowohl nummerisch als auch mit den Konstanten) wird eine Bitmaske erzeugt, die festlegt, welche Fehler angezeigt werden sollen. Mit den Bit Operatoren können Sie diese Werte kombinieren oder bestimmte Fehlertypen ausmaskieren. Beachten Sie, dass innerhalb von php.ini jedoch nur '|', '~', '!', '^' und '&' verstanden wird.

Ressource-Typen
Beispiele
Fehlerbehandlung


Beispiele

Unten können wir ein Beispiel dafür sehen, wie die Fehlercode-Funktionen in PHP benutzt werden. Wir definieren eine Fehlerfunktion, die die Information unter Verwendung des XML-Formates in einer Datei speichert und diese per E-Mail dem Entwickler sendet, wenn ein schwerer Fehler in der Programmlogik auftritt.

Beispiel #1 Fehlerbehandlung in einem Script

<?php
// Wir werden unsere Fehler selbst behandeln
error_reporting(0);

// Benutzerdefinierte Fehlerfunktion
function userErrorHandler($errno, $errmsg, $filename, $linenum, $vars)
{
    // Zeitstempel für den Fehlereintrag
    $dt = date("Y-m-d H:i:s (T)");

    // Definiert ein assoziatives Array für den Fehler
    // Tatsächlich sollten wir nur
    // E_WARNING, E_NOTICE, E_USER_ERROR,
    // E_USER_WARNING und E_USER_NOTICE beachten.
    $errortype = array (
                E_ERROR              => 'Fehler',
                E_WARNING            => 'Warnung',
                E_PARSE              => 'Parser-Fehler',
                E_NOTICE             => 'Hinweis',
                E_CORE_ERROR         => 'Kern-Fehler',
                E_CORE_WARNING       => 'Kern-Warnung',
                E_COMPILE_ERROR      => 'Kompilierungsfehler',
                E_COMPILE_WARNING    => 'Kompilierungswarnung',
                E_USER_ERROR         => 'Benutzerfehler',
                E_USER_WARNING       => 'Benutzerwarnung',
                E_USER_NOTICE        => 'Benutzerhinweis',
                E_STRICT             => 'Laufzeitwarnung',
                E_RECOVERABLE_ERROR  => 'Abfangbarer fataler Fehler'
                );
    // Satz von Fehlern für welche ein Eintrag gespeichert wird.
    $user_errors = array(E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE);

    $err = "<errorentry>\n";
    $err .= "\t<datetime>" . $dt . "</datetime>\n";
    $err .= "\t<errornum>" . $errno . "</errornum>\n";
    $err .= "\t<errortype>" . $errortype[$errno] . "</errortype>\n";
    $err .= "\t<errormsg>" . $errmsg . "</errormsg>\n";
    $err .= "\t<scriptname>" . $filename . "</scriptname>\n";
    $err .= "\t<scriptlinenum>" . $linenum . "</scriptlinenum>\n";

    if (in_array($errno, $user_errors)) {
        $err .= "\t<vartrace>" . wddx_serialize_value($vars, "Variablen") . "</vartrace>\n";
    }
    $err .= "</errorentry>\n\n";

    // Zum Test:
    // echo $err;

    // Speicher den Fehler im Log und schicke mir eine E-Mail falls es ein kritischer Benutzerfehler ist.
    error_log($err, 3, "/usr/local/php4/error.log");
    if ($errno == E_USER_ERROR) {
        mail("phpdev@example.com", "Critical User Error", $err);
    }
}

function distance($vect1, $vect2)
{
    if (!is_array($vect1) || !is_array($vect2)) {
        trigger_error("Falsche Parameter, Arrays erwartet", E_USER_ERROR);
        return NULL;
    }

    if (count($vect1) != count($vect2)) {
        trigger_error("Die Vektoren müssen die selbe Dimension besitzen.", E_USER_ERROR);
        return NULL;
    }

    for ($i=0; $i<count($vect1); $i++) {
        $c1 = $vect1[$i]; $c2 = $vect2[$i];
        $d = 0.0;
        if (!is_numeric($c1)) {
            trigger_error("Koordinate $i im Vektor 1 ist keine Nummer, verwende stattdessen Null.",
                            E_USER_WARNING);
            $c1 = 0.0;
        }
        if (!is_numeric($c2)) {
            trigger_error("Koordinate $i im Vektor 2 ist keine Nummer, verwende stattdessen Null",
                            E_USER_WARNING);
            $c2 = 0.0;
        }
        $d += $c2*$c2 - $c1*$c1;
    }
    return sqrt($d);
}

$old_error_handler = set_error_handler("userErrorHandler");

//Undefinierte Konstante, generiert eine Warnung
$t = I_AM_NOT_DEFINED;

// Definiere einige "Vektoren"
$a = array(2, 3, "foo");
$b = array(5.5, 4.3, -1.6);
$c = array(1, -3);

// Benutzerfehler erzeugen
$t1 = distance($c, $b) . "\n";

// Einen weiteren Benutzerfehler erzeugen
$t2 = distance($b, "i am not an array") . "\n";

// Eine Warnung erzeugen
$t3 = distance($a, $b) . "\n";

?>

Vordefinierte Konstanten
Fehlerbehandlungsfunktionen
Fehlerbehandlung


Fehlerbehandlungsfunktionen

Siehe auch

Siehe auch syslog().

Inhaltsverzeichnis

  • debug_backtrace — Erzeugt Daten zur Ablaufverfolgung
  • debug_print_backtrace — Gibt die Daten für eine Ablaufverfolgung aus
  • error_clear_last — Clear the most recent error
  • error_get_last — Liefert den zuletzt aufgetretenen Fehler
  • error_log — Sendet eine Fehlermeldung an die definierten Fehlerbehandlungsroutinen
  • error_reporting — Gibt an, welche PHP-Fehlermeldungen gemeldet werden
  • restore_error_handler — Rekonstruiert die zuvor benutzte Fehlerbehandlungsfunktion
  • restore_exception_handler — Stellt den vorherigen Exceptionhandler wieder her
  • set_error_handler — Bestimmt eine benutzerdefinierte Funktion zur Fehlerbehandlung
  • set_exception_handler — Installiert einen benutzerdefinierten Exceptionhandler
  • trigger_error — Erzeugt eine benutzerdefinierte Fehlermeldung/Warnung/Benachrichtigung
  • user_error — Alias von trigger_error
Beispiele
debug_backtrace
Fehlerbehandlung


Erzeugt Daten zur Ablaufverfolgung

Fehlerbehandlungsfunktionen
debug_print_backtrace
Fehlerbehandlungsfunktionen
PHP Manual

debug_backtrace

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

debug_backtrace — Erzeugt Daten zur Ablaufverfolgung

Beschreibung

array debug_backtrace ([ int $options = DEBUG_BACKTRACE_PROVIDE_OBJECT [, int $limit = 0 ]] )

debug_backtrace() erzeugt Daten zur Ablaufverfolgung.

Parameter-Liste

options

Ab 5.3.6 ist akzeptiert dieser Parameter eine Bitmaske mit den folgenden Optionen:

debug_backtrace() Optionen
DEBUG_BACKTRACE_PROVIDE_OBJECT | Ob der "object" Index befüllt werden soll.
DEBUG_BACKTRACE_IGNORE_ARGS | Ob der "args" Index, welcher alle Funktions- oder Methodenargumente enthält, ausgelassen werden soll um Arbeitsspeicher zu sparen.
Vor PHP 5.3.6 waren die einzigen möglichen Werte TRUE und FALSE, welche dem Setzen oder nicht Setzen von DEBUG_BACKTRACE_PROVIDE_OBJECT entsprachen.

limit

Ab PHP 5.4.0 kann dieser Parameter benutzt werden, um die Anzahl an zurückgegebenen Stack Frames zu limitieren. Standardmäßig (limit=0) werden alle Stack Frames zurückgegeben.

Rückgabewerte

Gibt ein assoziatives Array zurück. Als zurückgegebene Arrayelemente von debug_backtrace() sind möglich:

Mögliche Rückgabewerte von debug_backtrace()
Name | Typ | Beschreibung
function | string | Der Name der aktuell ausgeführten Funktion. Siehe auch __FUNCTION__.
line | integer | Die aktuelle Zeilennummer. Siehe auch __LINE__.
file | string | Der aktuelle Dateiname. Siehe auch __FILE__.
class | string | Der aktuelle class - Name. Siehe auch __CLASS__.
object | object | Das aktuelle Objekt.
type | string | Der aktuelle Typ des Aufrufs. Falls der Aufruf in einer Methode erfolgte, wird "->" zurückgegeben. Falls der Aufruf aus einer statischen Funktion erfolgte, wird "::" zurückgegeben und falls der Aufruf aus einer Funktion erfolgte, wird nichts zurückgegeben.
args | array | Falls der Aufruf aus einer Funktion erfolgte, werden hier die Funktionsargumente aufgelistet. Falls der Aufruf aus einer eingebundenen Datei erfolgte, werden die Namen der Include-Dateien angegeben.

Changelog

Version | Beschreibung
5.4.0 | Der Parameter limit wurde hinzugefügt.
5.3.6 | Der Parameter provide_object wurde durch options ersetzt und DEBUG_BACKTRACE_IGNORE_ARGS wurde als zusätzliche Option hinzugefügt.
5.2.5 | Der optionale Parameter provide_object wurde hinzugefügt.
5.1.1 | Aktuelles object als möglichen Rückgabewert hinzugefügt.

Beispiele

Beispiel #1 debug_backtrace()-Beispiel

<?php
// Dateiname: /tmp/a.php

function a_test($str)
{
    echo "\nHi: $str";
    var_dump(debug_backtrace());
}

a_test('friend');
?>

<?php
// Dateiname: /tmp/b.php
include_once '/tmp/a.php';
?>

Ergebnisse beim Aufruf von /tmp/b.php:

Hi: friend
array(2) {
  [0]=>
  array(4) {
    ["file"] => string(10) "/tmp/a.php"
    ["line"] => int(10)
    ["function"] => string(6) "a_test"
    ["args"]=>
    array(1) {
      [0] => &string(6) "friend"
    }
  }
  [1]=>
  array(4) {
    ["file"] => string(10) "/tmp/b.php"
    ["line"] => int(2)
    ["args"] =>
    array(1) {
      [0] => string(10) "/tmp/a.php"
    }
    ["function"] => string(12) "include_once"
  }
}

Siehe auch

  • trigger_error() - Erzeugt eine benutzerdefinierte Fehlermeldung/Warnung/Benachrichtigung
  • debug_print_backtrace() - Gibt die Daten für eine Ablaufverfolgung aus

Fehlerbehandlungsfunktionen
debug_print_backtrace
Fehlerbehandlungsfunktionen


Gibt die Daten für eine Ablaufverfolgung aus

debug_backtrace
error_clear_last
Fehlerbehandlungsfunktionen
PHP Manual

debug_print_backtrace

(PHP 5, PHP 7)

debug_print_backtrace — Gibt die Daten für eine Ablaufverfolgung aus

Beschreibung

void debug_print_backtrace ([ int $options = 0 [, int $limit = 0 ]] )

debug_print_backtrace() gibt eine PHP Ablaufverfolgung aus. Diese enthält Ausgaben zu allen Funktionsaufrufen, mit include oder require eingebundenen Dateien und mit eval() ausgeführtem Code.

Parameter-Liste

options

Beginnend mit PHP 5.3.6 kann über diesen Parameter eine Bitmaske mit folgenden möglichen Optionen übergeben werden:

debug_print_backtrace() Optionen
DEBUG_BACKTRACE_IGNORE_ARGS Gibt an ob der "args" Index aller Funktions- und Methoden- Argumente weggelassen werden soll (um z.B. Speicher zu sparen).

limit

Beginnend mit PHP 5.4.0 kann hiermit die Anzahl der auszugebenden Aufrufebenen begrenzt werden. Der Vorgabewert (limit=0) führt zur Ausgabe aller Aufrufe.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Changelog

Version | Beschreibung
5.4.0 | Der optionale Parameter limit wurde hinzugefügt.
5.3.6 | Der optionale Parameter options wurde hinzugefügt.

Beispiele

Beispiel #1 debug_print_backtrace() Beispiel

<?php
// include.php Datei

function a() {
    b();
}

function b() {
    c();
}

function c(){
    debug_print_backtrace();
}

a();

?>
<?php
// test.php Datei
// Dies ist die Datei die Sie ausführen sollten

include 'include.php';
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

#0  eval() called at [/tmp/include.php:5]
#1  a() called at [/tmp/include.php:17]
#2  include(/tmp/include.php) called at [/tmp/test.php:3]

#0  c() called at [/tmp/include.php:10]
#1  b() called at [/tmp/include.php:6]
#2  a() called at [/tmp/include.php:17]
#3  include(/tmp/include.php) called at [/tmp/test.php:3]

Siehe auch

  • debug_backtrace() - Erzeugt Daten zur Ablaufverfolgung

debug_backtrace
error_clear_last
Fehlerbehandlungsfunktionen


Clear the most recent error

debug_print_backtrace
error_get_last
Fehlerbehandlungsfunktionen
PHP Manual

error_clear_last

(PHP 7)

error_clear_last — Clear the most recent error

Beschreibung

void error_clear_last ( void )

Rückgabewerte

Clears the most recent errors, making it unable to be retrieved with error_get_last().

Beispiele

Beispiel #1 An error_clear_last() example

<?php
var_dump(error_get_last());
error_clear_last();
var_dump(error_get_last());

@$a = $b;

var_dump(error_get_last());
error_clear_last();
var_dump(error_get_last());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

NULL
NULL
array(4) {
  ["type"]=>
  int(8)
  ["message"]=>
  string(21) "Undefined variable: b"
  ["file"]=>
  string(9) "%s"
  ["line"]=>
  int(6)
}
NULL

Siehe auch

  • Error constants

debug_print_backtrace
error_get_last
Fehlerbehandlungsfunktionen


Liefert den zuletzt aufgetretenen Fehler

error_clear_last
error_log
Fehlerbehandlungsfunktionen
PHP Manual

error_get_last

(PHP 5 >= 5.2.0, PHP 7)

error_get_last — Liefert den zuletzt aufgetretenen Fehler

Beschreibung

array error_get_last ( void )

Liefert Informationen über den zuletzt aufgetretenen Fehler

Rückgabewerte

Gibt ein assoziatives Array zurück das den zuletzt aufgetretenen Fehler mit den Elementen "type" (für die Art des Fehlers), "message" (für die Fehlermeldung) sowie "file" und "line" (für den Ort an dem der Fehler aufgetreten ist) beschreibt. Wenn bisher noch kein Fehler aufgetreten ist, wird NULL zurückgegeben.

Beispiele

Beispiel #1 error_get_last()-Beispiel

<?php
echo $a;
print_r(error_get_last());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [type] => 8
    [message] => Undefined variable: a
    [file] => C:\WWW\index.php
    [line] => 2
)

Siehe auch

  • Fehlerkonstanten
  • Variable $php_errormsg
  • error_clear_last() - Clear the most recent error
  • Diedisplay_errors Direktive
  • Directive html_errors
  • Directive xmlrpc_errors

error_clear_last
error_log
Fehlerbehandlungsfunktionen


Sendet eine Fehlermeldung an die definierten Fehlerbehandlungsroutinen

error_get_last
error_reporting
Fehlerbehandlungsfunktionen
PHP Manual

error_log

(PHP 4, PHP 5, PHP 7)

error_log — Sendet eine Fehlermeldung an die definierten Fehlerbehandlungsroutinen

Beschreibung

bool error_log ( string $message [, int $message_type = 0 [, string $destination [, string $extra_headers ]]] )

Sendet eine Fehlermeldung an das Fehlerprotokoll (Errorlog) des Webservers, oder an eine Datei.

Parameter-Liste

message

Die Fehlermeldung, die protokolliert werden soll.

message_type

Sagt, wohin der Fehler gehen soll. Folgende Meldungstypen sind möglich:

error_log()-Protokolltypen
0 | message wird an das Log-Subsystem von PHP gesendet, das abhängig von der Einstellung in der Konfigurationsdirektive error_log das Errorlogging des Betriebssystems verwendet oder in eine Datei schreibt. Dies ist die Standardeinstellung.
1 | message wird via E-Mail an die Adresse gesendet, die im Parameter destination angegeben wurde. Dies ist der einzige Meldungstyp, bei dem der vierte Parameter extra_headers verwendet wird.
2 | Diese Option ist nicht mehr verfügbar.
3 | message wird an die Datei destination angefügt. Ein Zeilenumbruch wird nicht automatisch an das Ende des message-Strings angehängt.
4 | message wird direkt zum SAPI-Logging-Handler gesendet.

destination

Das Ziel. Die jeweilige Bedeutung hängt wie oben beschrieben vom Parameter message_type ab.

extra_headers

Die zusätzlichen Kopfzeilen. Dieser Parameter wird verwendet, wenn der Parameter message_type auf 1 gesetzt ist. Dieser Meldungstyp verwendet dieselbe interne Funktion wie mail().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Warnung

error_log() ist nicht binär-sicher. message wird durch Null-Zeichen abgeschnitten.

Tipp

message sollte keine Null-Zeichen enthalten. Es ist zu beachten, dass message an eine Datei, das Syslog, per Mail usw. gesendet werden kann. Geeignete Konvertierungs/Maskierungs-Funktionen, base64_encode(), rawurlencode() oder addslashes(), sind anzuwenden bevor error_log() aufgerufen wird.

Beispiele

Beispiel #1 error_log()-Beispiele

<?php
// Sende eine Nachricht an das Serverlog, falls
// keine Verbindung zur Datenbank herstellbar ist.
if (!Ora_Logon($benutzername, $passwort)) {
    error_log("Die Oracle-Datenbank ist nicht erreichbar!", 0);
}

// Benachrichtige den Administrator per E-Mail, falls kein FOO mehr verfügbar ist.
if (!($foo = allocate_new_foo())) {
    error_log("Wir haben ein Problem: FOO ist alle!", 1,
               "operator@example.com");
}

// Eine weitere Möglichkeit, error_log() aufzurufen:
error_log("Du hast Mist gebaut!", 3, "/var/tmp/meine-fehler.log");
?>

Changelog

Version | Beschreibung
5.2.7 | Der mögliche Wert 4 wurde zu message_type hinzugefügt.

error_get_last
error_reporting
Fehlerbehandlungsfunktionen


Gibt an, welche PHP-Fehlermeldungen gemeldet werden

error_log
restore_error_handler
Fehlerbehandlungsfunktionen
PHP Manual

error_reporting

(PHP 4, PHP 5, PHP 7)

error_reporting — Gibt an, welche PHP-Fehlermeldungen gemeldet werden

Beschreibung

int error_reporting ([ int $level ] )

Mit error_reporting() wird die error_reporting Direktive zur Laufzeit des Programms gesetzt. In PHP gibt es viele Stufen für die Anzeige von Fehlermeldungen, die mit dieser Funktion für die Dauer der Programmausführung eingestellt werden kann. Wenn das optionale level Argument nicht übergeben wird, gibt error_reporting() das aktuelle Error Level zurück.

Parameter-Liste

level

Das neue error_reporting Level. Es können sowohl eine numerische Bitmaske als auch benannte Konstanten übergeben werden. Der Einsatz benannter Konstanten wird empfohlen um die Kompatibilität mit zukünftigen Versionen sicherzustellen. Wann immer Error Level Konstanten hinzugefügt werden erweitert sich der genutzte Integerbereich so das ältere Integerkonstanten nicht unbedingt weiter das erwartete Verhalten zeigen.

Die verfügbaren Konstanten und die Bedeutungen der jeweiligen Error Level sind im Abschnitt Vordefinierte Konstanten beschrieben.

Rückgabewerte

Gibt den bisherigen error_reporting Wert zurück oder das aktuelle Level, wenn level nicht übergeben wurde.

Changelog

Version | Beschreibung
5.4.0 | E_STRICT ist nun in E_ALL enthalten.
5.3.0 | E_DEPRECATED und E_USER_DEPRECATED wurden hinzugefügt.
5.2.0 | E_RECOVERABLE_ERROR wurde hinzugefügt.
5.0.0 | E_STRICT wurde hinzugefügt (ist aber nicht Teil von E_ALL).

Beispiele

Beispiel #1 error_reporting() Beispiel

<?php

// Error Reporting komplett abschalten
error_reporting(0);

// Nur einfache Fehler melden
error_reporting(E_ERROR | E_WARNING | E_PARSE);

// E_NOTICE ist sinnvoll um uninitialisierte oder
// falsch geschriebene Variablen zu entdecken
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

// Melde alle Fehler außer E_NOTICE
error_reporting(E_ALL & ~E_NOTICE);

// Melde alle PHP Fehler (siehe Changelog)
error_reporting(E_ALL);

// Melde alle PHP Fehler
error_reporting(-1);

// Dies entspricht error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);

?>

Anmerkungen

Warnung

Der Großteil der E_STRICT Fehler werden zur Compile-Zeit generiert und werden somit nicht angezeigt, wenn E_STRICT zur Laufzeit zu error_reporting hinzugefügt wird (und auch andersrum).

Tipp

Durch Übergeben des Wertes -1 werden alle möglichen Fehler angezeigt, auch wenn neue Level in zukünftigen PHP-Versionen hinzugefügt werden. Die E_ALL Konstante verhält sich seit PHP 5.4 ebenfalls so.

Siehe auch

  • Die display_errors Direktive
  • Die html_errors Direktive
  • Die xmlrpc_errors Direktive
  • ini_set() - Sets the value of a configuration option

error_log
restore_error_handler
Fehlerbehandlungsfunktionen


Rekonstruiert die zuvor benutzte Fehlerbehandlungsfunktion

error_reporting
restore_exception_handler
Fehlerbehandlungsfunktionen
PHP Manual

restore_error_handler

(PHP 4 >= 4.0.1, PHP 5, PHP 7)

restore_error_handler — Rekonstruiert die zuvor benutzte Fehlerbehandlungsfunktion

Beschreibung

bool restore_error_handler ( void )

Diese Funktion wird benutzt, um eine mit set_error_handler() gesetzte Fehlerbehandlungsfunktion wieder zurückzusetzen und zur zuvor benutzten Fehlerbehandlung zurückzukehren. (Dies kann entweder eine eingebaute oder eine benutzerdefinierte Funktion sein.)

Rückgabewerte

Diese Funktion gibt immer TRUE zurück.

Beispiele

Beispiel #1 restore_error_handler() Beispiel

Prüft ob unserialize() einen Fehler verursacht, danach wird der ursprüngliche Error-Handler wiederhergestellt.

<?php
function unserialize_handler($errno, $errstr)
{
    echo "Ungültiger serialisierter Wert.\n";
}

$serialized = 'foo';
set_error_handler('unserialize_handler');
$original = unserialize($serialized);
restore_error_handler();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Ungültiger serialisierter Wert.

Siehe auch

  • error_reporting() - Gibt an, welche PHP-Fehlermeldungen gemeldet werden
  • set_error_handler() - Bestimmt eine benutzerdefinierte Funktion zur Fehlerbehandlung
  • restore_exception_handler() - Stellt den vorherigen Exceptionhandler wieder her
  • trigger_error() - Erzeugt eine benutzerdefinierte Fehlermeldung/Warnung/Benachrichtigung

error_reporting
restore_exception_handler
Fehlerbehandlungsfunktionen


Stellt den vorherigen Exceptionhandler wieder her

restore_error_handler
set_error_handler
Fehlerbehandlungsfunktionen
PHP Manual

restore_exception_handler

(PHP 5, PHP 7)

restore_exception_handler — Stellt den vorherigen Exceptionhandler wieder her

Beschreibung

bool restore_exception_handler ( void )

Diese Funktion kann genutzt werdem um die Installation eines Exceptionhandlers mit set_exception_handler() rückgängig zu machen und den vorherigen Handler wieder in Kraft zu setzen (entweder den eingebauten oder eine andere benutzerdefinierte Funktion).

Rückgabewerte

Diese Funktion gibt immer TRUE zurück.

Beispiele

Beispiel #1 restore_exception_handler() Beispiel

<?php
 function exception_handler_1(Exception $e)
 {
  echo '[' . __FUNCTION__ . '] ' . $e->getMessage();
 }

 function exception_handler_2(Exception $e)
 {
  echo '[' . __FUNCTION__ . '] ' . $e->getMessage();
 }

 set_exception_handler('exception_handler_1');
 set_exception_handler('exception_handler_2');

 restore_exception_handler();

 throw new Exception('Dies löst den ersten Exceptionhandler aus ...');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

[exception_handler_1] Dies löst den ersten Exceptionhandler aus ...

Siehe auch

  • set_exception_handler() - Installiert einen benutzerdefinierten Exceptionhandler
  • set_error_handler() - Bestimmt eine benutzerdefinierte Funktion zur Fehlerbehandlung
  • restore_error_handler() - Rekonstruiert die zuvor benutzte Fehlerbehandlungsfunktion
  • error_reporting() - Gibt an, welche PHP-Fehlermeldungen gemeldet werden

restore_error_handler
set_error_handler
Fehlerbehandlungsfunktionen


Bestimmt eine benutzerdefinierte Funktion zur Fehlerbehandlung

restore_exception_handler
set_exception_handler
Fehlerbehandlungsfunktionen
PHP Manual

set_error_handler

(PHP 4 >= 4.0.1, PHP 5, PHP 7)

set_error_handler — Bestimmt eine benutzerdefinierte Funktion zur Fehlerbehandlung

Beschreibung

mixed set_error_handler ( callable $error_handler [, int $error_types = E_ALL | E_STRICT ] )

Setzt eine benutzerdefinierte Funktion (error_handler), um Fehler in einem Skript zu behandeln.

Mit dieser Funktion können Sie Ihre eigene Behandlung von Laufzeitfehlern definieren, beispielsweise in Anwendungen, die bei einem kritischen Fehler die Löschung von Daten bzw. Dateien erfordert, oder wenn es nötig ist, unter bestimmten Bedingungen (mit der Funktion trigger_error()) eine Fehlermeldung zu generieren.

Vergessen Sie bei der Implementation auf keinen Fall, dass auf diese Weise die standardmäßige PHP-Fehlerbehandlung für die durch error_types angegebenen Fehlertypen vollkommen umgangen wird, außer wenn die Callback-Funktion FALSE zurück gibt. Die Einstellungen der Funktion error_reporting() haben keine Auswirkung, und Ihre eigene Fehlerbehandlungsroutine wird ohne Rücksicht darauf aufgerufen. Sie können jedoch immer noch den aktuellen Wert von error_reporting lesen und entsprechend handeln. Es ist besonders zu beachten, dass dieser Wert 0 sein wird, falls die Anweisung, die den Fehler verursacht hat, mit dem @ Fehler-Kontroll-Operator versehen ist.

Beachten Sie auch, dass Sie dafür zuständig sind, bei Bedarf die() aufzurufen. Nach der Funktion für die Fehlerbehandlung wird die Ausführung des Skripts bei der Anweisung fortgesetzt, die auf die Fehler verursachende Anweisung folgt.

Die folgenden Fehlertypen können nicht von einer benutzerdefinierten Funktion behandelt werden: E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING und die meisten E_STRICT, die in der Datei ausgelöst werden, in der set_error_handler() aufgerufen wird.

Falls Fehler auftreten, bevor das Skript ausgeführt wird (z.B. beim Hochladen von Dateien), kann eine benutzerdefinierte Fehlerbehandlung nicht aufgerufen werden, weil sie zu diesem Zeitpunkt noch nicht registriert ist.

Parameter-Liste

error_handler

Ein Callback mit der folgenden Signatur. NULL kann statt dessen übergeben werden, um diesen Handler auf seinen Standardwert zurück zu setzen. Statt eines Funktionsnamens, kann ein Array, das eine Objektreferenz und einen Methodennamen enthält, bereit gestellt werden.

bool handler ( int $errno , string $errstr [, string $errfile [, int $errline [, array $errcontext ]]] )
errno
Der erste Parameter errno enthält den Schweregrad des ausgelösten Fehlers als Integer.
errstr
Der zweite Parameter errstr enthält die Fehlermeldung als String.
errfile
Der dritte Parameter errfile ist optional. Er enthält den Namen der Datei, in der der Fehler verursacht wurde, als String.
errline
Der vierte Parameter errline ist optional. Er enthält die Zeilennummer, in der der Fehler verursacht wurde, als Integer.
errcontext
Der fünfte Parameter errcontext ist optional. Es handelt sich um ein Array, das auf die Stelle der aktiven Symboltabelle zeigt, die den Fehler verursacht hat. Mit anderen Worten: errcontext enthält ein Array mit allen Variablen, die im fehlerauslösenden Bereich existierten. Die benutzerdefinierte Fehlerbehandlung darf den Fehlerkontext nicht verändern.

Falls diese Funktion FALSE zurückgibt, wird mit der normalen Fehlerbehandlung fortgesetzt.

Fehlertypen

Kann wie die php.ini-Konfigurationseinstellung error_reporting, die bestimmt, welche Fehler angezeigt werden zum Maskieren des Aufrufs der error_handler-Funktion verwendet werden. Wird diese Maske nicht gesetzt, wird error_handler unabhängig von der Einstellung error_reporting bei jedem Fehler aufgerufen.

Rückgabewerte

Gibt eine Zeichenkette, die die zuvor definierte Fehlerbehandlungsroutine enthält (falls eine definiert wurde). Wenn der eingebaute Errorhandler verwendet wurde, wird NULL zurückgegeben. NULL wird ebenfalls zurückgegeben, falls ein Fehler wie z.B. ein ungültiger Callback aufgetreten ist. Wenn der vorgenannte Errorhandler eine Klassenmethode war, gibt die Funktion ein indiziertes Array mit dem Klassen- und dem Methodennamen zurück.

Changelog

Version | Beschreibung
5.5.0 | error_handler akzeptiert nun NULL.
5.2.0 | Die Fehlerbehandlung muss FALSE zurückgeben, um $php_errormsg zu füllen.

Beispiele

Beispiel #1 Fehlerbehandlung mit set_error_handler() und trigger_error()

Das untenstehende Beispiel zeigt die Behandlung von internen Ausnahmen, indem Fehler ausgelöst und durch eine benutzerdefinierte Funktion behandelt werden:

<?php
// Fehlerbehandlungsfunktion
function myErrorHandler($fehlercode, $fehlertext, $fehlerdatei, $fehlerzeile)
{
    if (!(error_reporting() & $fehlercode)) {
        // Dieser Fehlercode ist nicht in error_reporting enthalten
        return;
    }

    switch ($fehlercode) {
    case E_USER_ERROR:
        echo "<b>Mein FEHLER</b> [$fehlercode] $fehlertext<br />\n";
        echo "  Fataler Fehler in Zeile $fehlerzeile in der Datei $fehlerdatei";
        echo ", PHP " . PHP_VERSION . " (" . PHP_OS . ")<br />\n";
        echo "Abbruch...<br />\n";
        exit(1);
        break;

    case E_USER_WARNING:
        echo "<b>Meine WARNUNG</b> [$fehlercode] $fehlertext<br />\n";
        break;

    case E_USER_NOTICE:
        echo "<b>Mein HINWEIS</b> [$fehlercode] $fehlertext<br />\n";
        break;

    default:
        echo "Unbekannter Fehlertyp: [$fehlercode] $fehlertext<br />\n";
        break;
    }

    /* Damit die PHP-interne Fehlerbehandlung nicht ausgeführt wird */
    return true;
}

// Funktion zum Test der Fehlerbehandlung
function logarithmisch_skalieren($vektor, $skalierung)
{
    if (!is_numeric($skalierung) || $skalierung <= 0) {
        trigger_error("log(x) ist für x <= 0 nicht definiert, Sie verwendeten: skalierung = $skalierung", E_USER_ERROR);
    }

    if (!is_array($vektor)) {
        trigger_error("Fehlerhafter Eingabevektor, es wird ein Wertearray erwartet", E_USER_WARNING);
        return null;
    }

    $temp = array();
    foreach($vektor as $pos => $wert) {
        if (!is_numeric($wert)) {
            trigger_error("Der Wert an Position $pos ist keine Zahl, verwende 0 (Null)", E_USER_NOTICE);
            $wert = 0;
        }
        $temp[$pos] = log($skalierung) * $wert;
    }

    return $temp;
}

// auf die benutzerdefinierte Fehlerbehandlung umstellen
$alter_error_handler = set_error_handler("myErrorHandler");

// ein paar Fehler auslösen, zuerst wird ein gemischtes Array mit einem
// nichtnumerischen Eintrag definiert
echo "Vektor a\n";
$a = array(2, 3, "foo", 5.5, 43.3, 21.11);
print_r($a);

// ein zweites Array erzeugen
echo "----\nVektor b - ein Hinweis (b = log(PI) * a)\n";
/* Der Wert an Position $pos ist keine Zahl, verwende 0 (Null) */
$b = logarithmisch_skalieren($a, M_PI);
print_r($b);

// das gibt Ärger: statt eines Arrays wird eine Zeichenkette übergeben
echo "----\nVektor c - eine Warnung\n";
/* Fehlerhafter Eingabevektor, es wird ein Wertearray erwartet */
$c = logarithmisch_skalieren("kein Array", 2.3);
var_dump($c); // NULL

// dies ist ein kritischer Fehler: log ist für Null oder negative Werte
// nicht definiert
echo "----\nVektor d - fataler Fehler\n";
/* log(x) ist für x <= 0 nicht definiert, Sie verwendeten: skalierung = $skalierung */
$d = logarithmisch_skalieren($a, -2.5);
var_dump($d); // wird nie erreicht
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Vektor a
Array
(
    [0] => 2
    [1] => 3
    [2] => foo
    [3] => 5.5
    [4] => 43.3
    [5] => 21.11
)
----
Vektor b - ein Hinweis (b = log(PI) * a)
<b>Mein HINWEIS</b> [1024] Der Wert an Position 2 ist keine Zahl, verwende 0 (Null)<br />
Array
(
    [0] => 2.2894597716988
    [1] => 3.4341896575482
    [2] => 0
    [3] => 6.2960143721717
    [4] => 49.566804057279
    [5] => 24.165247890281
)
----
Vektor c - eine Warnung
<b>Meine WARNUNG</b> [512] Fehlerhafter Eingabevektor, es wird ein Wertearray erwartet<br />
NULL
----
Vektor d - fataler Fehler
<b>Mein FEHLER</b> [256] log(x) ist für x <= 0 nicht definiert, Sie verwendeten: skalierung = -2.5<br />
  Fataler Fehler in Zeile 35 in der Datei trigger_error.php, PHP 5.2.1 (FreeBSD)<br />
Abbruch...<br />

Siehe auch

  • ErrorException
  • error_reporting() - Gibt an, welche PHP-Fehlermeldungen gemeldet werden
  • restore_error_handler() - Rekonstruiert die zuvor benutzte Fehlerbehandlungsfunktion
  • trigger_error() - Erzeugt eine benutzerdefinierte Fehlermeldung/Warnung/Benachrichtigung
  • Errorlevel-Konstanten
  • Informationen über den Callback-Typ

restore_exception_handler
set_exception_handler
Fehlerbehandlungsfunktionen


Installiert einen benutzerdefinierten Exceptionhandler

set_error_handler
trigger_error
Fehlerbehandlungsfunktionen
PHP Manual

set_exception_handler

(PHP 5, PHP 7)

set_exception_handler — Installiert einen benutzerdefinierten Exceptionhandler

Beschreibung

callable set_exception_handler ( callable $exception_handler )

Setzt den Standardexceptionhandler für Exceptions die nicht von einem try/catch Block aufgefangen wurden. Nach dem Aufruf von exception_handler wird die Ausführung angehalten.

Parameter-Liste

exception_handler

Name der Funktion die aufgerufen werden soll wenn eine nicht aufgefangene Exception auftritt. Die Funktion muss einen Parameter akzeptieren, dieser enthält beim Aufruf das nicht aufgefangene Exception Objekt. Das ist die Signatur des Handlers vor PHP 7:

void handler ( Exception $ex )

Seit PHP 7 werden die meisten Fehler durch Werfen von Error-Exceptions gemeldet, die ebenfalls vom Handler gefangen werden. Sowohl Error als auch Exception implementieren das Throwable-Interface. Dies ist die Handler-Signatur seit PHP 7:

void handler ( Throwable $ex )

Statt dessen kann NULL übergeben werden, um den Handler auf seinen Standardwert zurück zu setzen.

Achtung

Es ist zu beachten, dass die Angabe des expliziten Exception Typ-Hints für den ex Parameter in Ihrem Callback Probleme mit der geänderten Exception-Hierarchie von PHP 7 verursachen kann.

Rückgabewerte

Gibt den Namen des zuvor definierten Exceptionhandlers zurück oder NULL bei Fehlern oder wenn kein vorheriger Exceptionhandler installiert war.

Changelog

Version | Beschreibung
7.0.0 | Der Typ des Parameters, der als exception_handler übergeben wird, wurde von Exception in Throwable geändert.
5.5.0 | Zuvor gab diese Funktion TRUE zurück, wenn NULL übergeben wurde. Seit PHP 5.5.0 wird der vorherige Handler zurück gegeben.

Beispiele

Beispiel #1 set_exception_handler() Beispiel

<?php
function exception_handler($exception) {
  echo "Nicht aufgefangene Exception: " , $exception->getMessage(), "\n";
}

set_exception_handler('exception_handler');

throw new Exception('Nicht aufgefangene Exception');
echo "Nicht ausgeführt.\n";
?>

Siehe auch

  • restore_exception_handler() - Stellt den vorherigen Exceptionhandler wieder her
  • restore_error_handler() - Rekonstruiert die zuvor benutzte Fehlerbehandlungsfunktion
  • error_reporting() - Gibt an, welche PHP-Fehlermeldungen gemeldet werden
  • Informationen über den Callback-Typ
  • PHP 5 Exceptions

set_error_handler
trigger_error
Fehlerbehandlungsfunktionen


Erzeugt eine benutzerdefinierte Fehlermeldung/Warnung/Benachrichtigung

set_exception_handler
user_error
Fehlerbehandlungsfunktionen
PHP Manual

trigger_error

(PHP 4 >= 4.0.1, PHP 5, PHP 7)

trigger_error — Erzeugt eine benutzerdefinierte Fehlermeldung/Warnung/Benachrichtigung

Beschreibung

bool trigger_error ( string $error_msg [, int $error_type = E_USER_NOTICE ] )

Mit dieser Funktion kann der Benutzer Bedingungen festlegen, die Fehler auslösen, entweder in Verbindung mit der standardmässigen Fehlerbehandlung oder einer benutzerdefinierten Routine, die als neue Fehlerbehandlungsfunktion gesetzt wurde (set_error_handler()).

Diese Funktion ist nützlich, wenn Sie zur Laufzeit eine bestimmte Rückmeldung bei einer Ausnahme brauchen.

Parameter-Liste

error_msg

Die gewünschte Fehlermeldung für diesen Fehler. Die Länge ist auf 1024 Bytes begrenzt, darüber hinausgehende Zeichen werden abgeschnitten.

error_type

Der gewünschte Fehlertyp für diesen Fehler. Es können nur Konstanten der E_USER Familie gewählt werden, der Vorgabewert ist E_USER_NOTICE.

Rückgabewerte

Die Funktion gibt FALSE zurück wenn ein falscher error_type übergeben wurde, sonst TRUE

Beispiele

Beispiel #1 trigger_error() Beispiel

Siehe auch set_error_handler() für ein ausführlicheres Beispiel.

<?php
if ($divisor == 0) {
    trigger_error("Kann nicht durch 0 teilen", E_USER_ERROR);
}
?>

Anmerkungen

Warnung

HTML-Entities in der error_msg werden nicht automatisch escaped. Wenn die Fehlermeldung in einem Browser ausgegeben werden soll so sollten Sie diese in diesem Fall selbst mit htmlentities() vorverarbeiten.

Siehe auch

  • error_reporting() - Gibt an, welche PHP-Fehlermeldungen gemeldet werden
  • set_error_handler() - Bestimmt eine benutzerdefinierte Funktion zur Fehlerbehandlung
  • restore_error_handler() - Rekonstruiert die zuvor benutzte Fehlerbehandlungsfunktion
  • Die Error Level Konstanten

set_exception_handler
user_error
Fehlerbehandlungsfunktionen


Alias von trigger_error

trigger_error
htscanner
Fehlerbehandlungsfunktionen
PHP Manual

user_error

(PHP 4, PHP 5, PHP 7)

user_error — Alias von trigger_error()

Beschreibung

Diese Funktion ist ein Alias für: trigger_error().

trigger_error
htscanner
Fehlerbehandlungsfunktionen


htaccess-artige Unterstützung für alle SAPIs

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
user_error
Einführung
Das Verhalten von PHP beeinflussen


Einführung

Die htscanner-Erweiterung eröffnet die Möglichkeit eine htaccess-ähnliche Datei zur Konfiguration von PHP durch ein Verzeichnis zu verwenden, genau wie Apaches .htaccess-Dateien. Es ist besonders nützlich mit fastcgi (IIS5/6/7, lighttpd, etc.)

htscanner
Installation/Konfiguration
htscanner


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
htscanner


Anforderungen

PHP Version 5.2.0 oder höher.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/htscanner

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

htscanner Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
htscanner.config_file | ".htscanner" | PHP_INI_SYSTEM |
htscanner.default_docroot | "/" | PHP_INI_SYSTEM |
htscanner.default_ttl | "300" | PHP_INI_SYSTEM |
htscanner.stop_on_error | "Off" | PHP_INI_SYSTEM |
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

htscanner.config_file string

Dateiname der zu nutzenden Konfigurationsdatei.

htscanner.default_docroot string

Standardmäßiger Datei-Root.

htscanner.default_ttl int

Cache-Zeit für die Konfigurationsdaten in Sekunden

htscanner.stop_on_error int

Bei einem Fehler anhalten(Parse-Fehler, kann keine INI-Einstellung setzen).

Installation
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

Diese Erweiterung definiert keine Ressource-Typen.

Laufzeit-Konfiguration
inclued
Installation/Konfiguration


Inclusion hierarchy viewer

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • Example that implements inclued into an application
  • inclued Funktionen
    • inclued_get_data — Gibt die Inclued-Daten aus
Ressource-Typen
Einführung
Das Verhalten von PHP beeinflussen


Einführung

Traces through and dumps the hierarchy of file inclusions and class inheritance at runtime.

The files may have been included using include, include_once, require, or require_once.

Class inheritance dependencies are also reported.

inclued
Installation/Konfiguration
inclued


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
inclued


Anforderungen

PHP version 5.1.0 or greater.

The included gengraph.php file utilizes the » graphviz library, however, this is not required.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/inclued

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

inclued Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
inclued.enabled | Off | PHP_INI_SYSTEM |
inclued.dumpdir | NULL | PHP_INI_SYSTEM |
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

inclued.enabled bool

Whether or not to enable inclued.

inclued.dumpdir string

Location (path) to the directory that stores inclued files. If set, each PHP request will create a file. These files are serialized versions of what inclued_get_data() would produce, so may be unserialized with unserialize().

Achtung

Because every request creates a file, this directory may fill up fast!

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
Beispiele
inclued


Beispiele

Inhaltsverzeichnis

  • Example that implements inclued into an application
Vordefinierte Konstanten
Example that implements inclued into an application
inclued


Example that implements inclued into an application

This example demonstrates the process of implementing inclued into an existing application, and viewing the results.

Beispiel #1 Getting the data within the PHP application itself (function)

<?php
// File to store the inclued information
$fp = fopen('/tmp/wp.ser', 'w');
if ($fp) {
    $clue = inclued_get_data();
    if ($clue) {
        fwrite($fp, serialize($clue));
    }
    fclose($fp);
}
?>

Now that some data exists, it's time to make sense of it in the form of a graph. The inclued extension includes a PHP file named gengraph.php that creates a dot file that requires the » graphviz library. However, this form is not required.

Beispiel #2 Example use of gengraph.php

This example creates an image named inclued.png that shows the inclued data.

# First, create the dot file
$ php gengraph.php -i /tmp/wp.ser -o wp.dot

# Next, create the image
$ dot -Tpng -o inclued.png wp.dot

Beispiel #3 Listing data via inclued dumps (configuration)

When using the inclued.dumpdir directive, files (include clues) are dumped with every request. Here's one way to list those files, and unserialize() them.

<?php
$path = ini_get('inclued.dumpdir');
if ($path && is_dir($path)) {

    echo "Path: $path", PHP_EOL;

    $inclues = new GlobIterator($path . DIRECTORY_SEPARATOR . 'inclued*');

    if ($inclues->count() === 0) {
        echo 'No clues today', PHP_EOL;
        exit;
    }

    foreach ($inclues as $inclue) {

        echo 'Inclued file: ', $inclue->getFilename(), PHP_EOL;

        $data = file_get_contents($inclue->getPathname());
        if ($data) {
            $inc = unserialize($data);
            echo ' -- filename: ', $inc['request']['SCRIPT_FILENAME'], PHP_EOL;
            echo ' -- number of includes: ', count($inc['includes']), PHP_EOL;
        }
        echo PHP_EOL;
    }
} else {
    echo 'I am totally clueless today.', PHP_EOL;
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

PATH: /tmp/inclued
Inclued file: inclued.56521.1
 -- filename: /Users/philip/test.php
 -- number of includes: 1

Inclued file: inclued.56563.1
 -- filename: /tmp/none.php
 -- number of includes: 0

Inclued file: inclued.56636.1
 -- filename: /tmp/three.php
 -- number of includes: 3

Beispiele
inclued Funktionen
Beispiele


inclued Funktionen

Inhaltsverzeichnis

  • inclued_get_data — Gibt die Inclued-Daten aus
Example that implements inclued into an application
inclued_get_data
inclued


Gibt die Inclued-Daten aus

inclued Funktionen
Memtrack
inclued Funktionen
PHP Manual

inclued_get_data

(PECL inclued >= 0.1.0)

inclued_get_data — Gibt die Inclued-Daten aus

Beschreibung

array inclued_get_data ( void )

Gibt die Inclued-Daten aus.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Die Inclued-Daten.

Beispiele

Beispiel #1 inclued_get_data() Beispiel

Der Abschnitt inclued Beispiele enthält weitere Informationen zur Erzeugung von Graphen mit diesen Daten.

<?php
include 'x.php';

$clue = inclued_get_data();

print_r($clue);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
  [includes] => Array
    (
      [0] => Array
        (
          [operation] => include
          [op_type] => 2
          [filename] => x.php
          [opened_path] => /tmp/x.php
          [fromfile] => /tmp/z.php
          [fromline] => 2
        )
    )
)

Siehe auch

  • Inclued Beispiele
  • debug_backtrace() - Erzeugt Daten zur Ablaufverfolgung
  • include - include

inclued Funktionen
Memtrack
inclued Funktionen


Memtrack

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • Basic usage
inclued_get_data
Einführung
Das Verhalten von PHP beeinflussen


Einführung

The purpose of this extension is to detect the most memory hungry scripts and functions.

memtrack tracks memory consumption in PHP scripts and produces reports (warnings) when the consumption reaches certain levels set by the user. This is achieved by replacing default executor function by a special function which compares memory usage before and after running the original executor - this way we can tell how much the memory usage has changed during the execution of the current part of the code.

Zend Engine runs its executor for each opcode array (op_array), which usually means function, plain script and such, so memtrack doesn't have any noticeable effect on performance.

memtrack doesn't provide any functions, there are only INI directives which allow you to configure the way it should work.

Warnung

Diese Erweiterung ist EXPERIMENTELL. Das Verhalten dieser Erweiterung, einschließlich der Funktionsnamen, und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Erweiterung auf eigenes Risiko.

Memtrack
Installation/Konfiguration
Memtrack


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Memtrack


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/memtrack

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Memtrack Configuration Options
Name | Standard | Veränderbar
memtrack.enabled | "0" | PHP_INI_SYSTEM
memtrack.soft_limit | "0" | PHP_INI_ALL
memtrack.hard_limit | "0" | PHP_INI_ALL
memtrack.vm_limit | "0" | PHP_INI_ALL
memtrack.ignore_functions | "" | PHP_INI_SYSTEM
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

memtrack.enabled boolean

Disables or enables the extension. Default value is 0, i.e. disabled.

memtrack.soft_limit int

Soft memory limit.

The extension checks memory consumption before and after executing an op_array and produces a warning is the difference between the two values is equal to or greater than the soft limit, but only if the function is not ignored.

Setting this option to 0 also disables both soft and hard limit warnings. Default value is 0, i.e. no warnings is produced.

memtrack.hard_limit int

Hard memory limit.

The extension checks memory consumption before and after executing an op_array and produces a warning is the difference between the two values is equal to or greater than the hard limit, even if the function is ignored. Setting this option to 0 disables hard limit warnings completely. Default value is 0, i.e. no hard limit warnings is produced.

memtrack.vm_limit int

Virtual memory limit (set on a process).

This limit is checked only on shutdown and a warning is produced if the value is greater than or equal to the limit.

This option is currently supported only on OSes where mallinfo() function is available (i.e. Linux).

memtrack.ignore_functions string

A comma or whitespace-separated list of functions which are to be ignored by soft_limit. The values are case-insensitive, for class methods use class::method syntax.

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
Beispiele
Memtrack


Beispiele

Inhaltsverzeichnis

  • Basic usage
Vordefinierte Konstanten
Basic usage
Memtrack


Basic usage

Basic example on using memtrack extension:

Beispiel #1 Creating large array in a function

<?php

/* /tmp/example1.php */

function foo() {
    $a = array();
    for ($i = 0; $i < 10000; $i++) $a[] = "test";
    return $a;
}
$arr = foo();

?>

Run the example with the following command:

php -d memtrack.enabled=1 -d memtrack.soft_limit=1M -d memtrack.vm_limit=3M /tmp/example1.php

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Warning: [memtrack] [pid 26177] user function foo() executed in /tmp/example1.php on line 10 allocated 4194304 bytes in /tmp/example1.php on line 0
Warning: [memtrack] [pid 26177] virtual memory usage on shutdown: 32911360 bytes in Unknown on line 0
Beispiele
OPcache
Beispiele


OPcache

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • OPcache Funktionen
    • opcache_compile_file — Compiles and caches a PHP script without executing it
    • opcache_get_configuration — Get configuration information about the cache
    • opcache_get_status — Liefert den Status des OPcode Caches
    • opcache_invalidate — Invalidates a cached script
    • opcache_is_script_cached — Tells whether a script is cached in OPCache
    • opcache_reset — Resettet den Inhalt des OPcode Caches
Basic usage
Einführung
Das Verhalten von PHP beeinflussen


Einführung

OPcache erhöht die PHP-Performance durch das Speichern des vorkompilierten Bytecodes im Arbeitsspeicher. Dadurch wird das Laden und Parsen der Scripte bei jedem Request vermieden.

Diese Erweiterung ist ab PHP 5.5.0 enthalten und auch als » PECL Paket für PHP Version 5.2, 5.3 und 5.4 verfügbar.

OPcache
Installation/Konfiguration
OPcache


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
OPcache


Installation

The process of installing OPcache varies depending on which version of PHP you're running. Please refer to the appropriate section below.

Hinweis:

If you want to use OPcache with » Xdebug, you must load OPcache before Xdebug.

PHP 5.5.0 and later

OPcache can only be compiled as a shared extension. If you have disabled the building of default extensions with --disable-all , you must compile PHP with the --enable-opcache option for OPcache to be available.

Once compiled, you can use the zend_extension configuration directive to load the OPcache extension into PHP. This can be done with zend_extension=/full/path/to/opcache.so on non-Windows platforms, and zend_extension=C:\path\to\php_opcache.dll on Windows.

PHP 5.2, 5.3 and 5.4

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/ZendOpcache.

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Recommended php.ini settings

The following settings are generally recommended as providing good performance:

opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1

You may also want to consider disabling opcache.save_comments and enabling opcache.enable_file_override, however note that you will have to test your code before using these in production as they are known to break some frameworks and applications, particularly in cases where documentation comment annotations are used.

A full list of configuration directives supported by OPcache is also available.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

OPcache configuration options
Name | Standard | Veränderbar | Changelog
opcache.enable | "1" | PHP_INI_ALL |
opcache.enable_cli | "0" | PHP_INI_SYSTEM |
opcache.memory_consumption | "64" | PHP_INI_SYSTEM |
opcache.interned_strings_buffer | "4" | PHP_INI_SYSTEM |
opcache.max_accelerated_files | "2000" | PHP_INI_SYSTEM |
opcache.max_wasted_percentage | "5" | PHP_INI_SYSTEM |
opcache.use_cwd | "1" | PHP_INI_SYSTEM |
opcache.validate_timestamps | "1" | PHP_INI_ALL |
opcache.revalidate_freq | "2" | PHP_INI_ALL |
opcache.revalidate_path | "0" | PHP_INI_ALL |
opcache.save_comments | "1" | PHP_INI_SYSTEM |
opcache.load_comments | "1" | PHP_INI_ALL |
opcache.fast_shutdown | "0" | PHP_INI_SYSTEM |
opcache.enable_file_override | "0" | PHP_INI_SYSTEM |
opcache.optimization_level | "0xffffffff" | PHP_INI_SYSTEM |
opcache.inherited_hack | "1" | PHP_INI_SYSTEM |
opcache.dups_fix | "0" | PHP_INI_ALL |
opcache.blacklist_filename | "" | PHP_INI_SYSTEM |
opcache.max_file_size | "0" | PHP_INI_SYSTEM |
opcache.consistency_checks | "0" | PHP_INI_ALL |
opcache.force_restart_timeout | "180" | PHP_INI_SYSTEM |
opcache.error_log | "" | PHP_INI_SYSTEM |
opcache.log_verbosity_level | "1" | PHP_INI_SYSTEM |
opcache.preferred_memory_model | "" | PHP_INI_SYSTEM |
opcache.protect_memory | "0" | PHP_INI_SYSTEM |
opcache.mmap_base | NULL | PHP_INI_SYSTEM |
opcache.restrict_api | "" | PHP_INI_SYSTEM |
opcache.file_cache | NULL | PHP_INI_SYSTEM | Available as of PHP 7.0.0
opcache.file_cache_only | "0" | PHP_INI_SYSTEM | Available as of PHP 7.0.0
opcache.file_cache_consistency_checks | "1" | PHP_INI_SYSTEM | Available as of PHP 7.0.0
opcache.file_cache_fallback | "1" | PHP_INI_SYSTEM | Available as of PHP 7.0.0
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

opcache.enable boolean

Enables the opcode cache. When disabled, code is not optimised or cached. The setting opcache.enable can not be enabled at runtime through ini_set(), it can only be disabled. Trying to enable it at in a script will generate a warning.

opcache.enable_cli boolean

Enables the opcode cache for the CLI version of PHP. This is mostly useful for testing and debugging.

opcache.memory_consumption integer

The size of the shared memory storage used by OPcache, in megabytes.

opcache.interned_strings_buffer integer

The amount of memory used to store interned strings, in megabytes. This configuration directive is ignored in PHP < 5.3.0.

opcache.max_accelerated_files integer

The maximum number of keys (and therefore scripts) in the OPcache hash table. The actual value used will be the first number in the set of prime numbers { 223, 463, 983, 1979, 3907, 7963, 16229, 32531, 65407, 130987 } that is greater than or equal to the configured value. The minimum value is 200. The maximum value is 100000 in PHP < 5.5.6, and 1000000 in later versions.

opcache.max_wasted_percentage integer

The maximum percentage of wasted memory that is allowed before a restart is scheduled.

opcache.use_cwd boolean

If enabled, OPcache appends the current working directory to the script key, thereby eliminating possible collisions between files with the same base name. Disabling this directive improves performance, but may break existing applications.

opcache.validate_timestamps boolean

If enabled, OPcache will check for updated scripts every opcache.revalidate_freq seconds. When this directive is disabled, you must reset OPcache manually via opcache_reset(), opcache_invalidate() or by restarting the Web server for changes to the filesystem to take effect.

opcache.revalidate_freq integer

How often to check script timestamps for updates, in seconds. 0 will result in OPcache checking for updates on every request.

This configuration directive is ignored if opcache.validate_timestamps is disabled.

opcache.revalidate_path boolean

If disabled, existing cached files using the same include_path will be reused. Thus, if a file with the same name is elsewhere in the include_path, it won't be found.

opcache.save_comments boolean

If disabled, all documentation comments will be discarded from the opcode cache to reduce the size of the optimised code. Disabling this configuration directive may break applications and frameworks that rely on comment parsing for annotations, including Doctrine, Zend Framework 2 and PHPUnit.

opcache.load_comments boolean

If disabled, documentation comments won't be loaded from the opcode cache even if they exist. This can be used with opcache.save_comments to only load comments for applications that require them.

opcache.fast_shutdown boolean

If enabled, a fast shutdown sequence is used that doesn't free each allocated block, but relies on the Zend Engine memory manager to deallocate the entire set of request variables en masse.

opcache.enable_file_override boolean

When enabled, the opcode cache will be checked for whether a file has already been cached when file_exists(), is_file() and is_readable() are called. This may increase performance in applications that check the existence and readability of PHP scripts, but risks returning stale data if opcache.validate_timestamps is disabled.

opcache.optimization_level integer

A bitmask that controls which optimisation passes are executed.

opcache.inherited_hack boolean

In PHP < 5.3, OPcache stores the places where DECLARE_CLASS opcodes used inheritance; when the file is loaded, OPcache then tries to bind the inherited classes using the current environment. The problem is that while the DECLARE_CLASS opcode may not be needed for the current script, if the script requires that the opcode be defined, it may not run.

This configuration directive is ignored in PHP 5.3 and later.

opcache.dups_fix boolean

This hack should only be enabled to work around "Cannot redeclare class" errors.

opcache.blacklist_filename string

The location of the OPcache blacklist file. A blacklist file is a text file containing the names of files that should not be accelerated, one per line. Wildcards are allowed, and prefixes can also be provided. Lines starting with a semi-colon are ignored as comments.

A simple blacklist file might look as follows:

; Matches a specific file.
/var/www/broken.php
; A prefix that matches all files starting with x.
/var/www/x
; A wildcard match.
/var/www/*-broken.php
opcache.max_file_size integer

The maximum file size that will be cached, in bytes. If this is 0, all files will be cached.

opcache.consistency_checks integer

If non-zero, OPcache will verify the cache checksum every N requests, where N is the value of this configuration directive. This should only be enabled when debugging, as it will impair performance.

opcache.force_restart_timeout integer

The length of time to wait for a scheduled restart to begin if the cache isn't active, in seconds. If the timeout is hit, then OPcache assumes that something is wrong and will kill the processes holding locks on the cache to permit a restart.

If opcache.log_verbosity_level is set to 2 or above, a warning will be recorded in the error log when this occurs.

opcache.error_log string

The error log for OPcache errors. An empty string is treated the same as stderr, and will result in logs being sent to standard error (which will be the Web server error log in most cases).

opcache.log_verbosity_level integer

The log verbosity level. By default, only fatal errors (level 0) and errors (level 1) are logged. Other levels available are warnings (level 2), information messages (level 3) and debug messages (level 4).

opcache.preferred_memory_model string

The preferred memory model for OPcache to use. If left empty, OPcache will choose the most appropriate model, which is the correct behaviour in virtually all cases.

Possible values include mmap, shm, posix and win32.

opcache.protect_memory boolean

Protects shared memory from unexpected writes while executing scripts. This is useful for internal debugging only.

opcache.mmap_base string

The base used for shared memory segments on Windows. All PHP processes have to map shared memory into the same address space. Using this directive allows "Unable to reattach to base address" errors to be fixed.

opcache.restrict_api string

Allows calling OPcache API functions only from PHP scripts which path is started from specified string. The default "" means no restriction.

opcache.file_cache string

Enables and sets the second level cache directory. It should improve performance when SHM memory is full, at server restart or SHM reset. The default "" disables file based caching.

opcache.file_cache_only boolean

Enables or disables opcode caching in shared memory.

opcache.file_cache_consistency_checks boolean

Enables or disables checksum validation when script loaded from file cache.

opcache.file_cache_fallback boolean

Implies opcache.file_cache_only=1 for a certain process that failed to reattach to the shared memory (for Windows only). Explicitly enabled file cache is required.

Installation
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

Diese Erweiterung definiert keine Ressource-Typen.

Laufzeit-Konfiguration
OPcache Funktionen
Installation/Konfiguration


OPcache Funktionen

Inhaltsverzeichnis

  • opcache_compile_file — Compiles and caches a PHP script without executing it
  • opcache_get_configuration — Get configuration information about the cache
  • opcache_get_status — Liefert den Status des OPcode Caches
  • opcache_invalidate — Invalidates a cached script
  • opcache_is_script_cached — Tells whether a script is cached in OPCache
  • opcache_reset — Resettet den Inhalt des OPcode Caches
Ressource-Typen
opcache_compile_file
OPcache


Compiles and caches a PHP script without executing it

OPcache Funktionen
opcache_get_configuration
OPcache Funktionen
PHP Manual

opcache_compile_file

(PHP 5 >= 5.5.5, PHP 7, PECL ZendOpcache > 7.0.2)

opcache_compile_file — Compiles and caches a PHP script without executing it

Beschreibung

boolean opcache_compile_file ( string $file )

This function compiles a PHP script and adds it to the opcode cache without executing it. This can be used to prime the cache after a Web server restart by pre-caching files that will be included in later requests.

Parameter-Liste

file

The path to the PHP script to be compiled.

Rückgabewerte

Returns TRUE if file was compiled successfully Im Fehlerfall wird FALSE zurückgegeben..

Fehler/Exceptions

If file cannot be loaded or compiled, an error of level E_WARNING is generated. You may use @ to suppress this warning.

Siehe auch

  • opcache_invalidate() - Invalidates a cached script

OPcache Funktionen
opcache_get_configuration
OPcache Funktionen


Get configuration information about the cache

opcache_compile_file
opcache_get_status
OPcache Funktionen
PHP Manual

opcache_get_configuration

(PHP 5 >= 5.5.5, PHP 7, PECL ZendOpcache > 7.0.2)

opcache_get_configuration — Get configuration information about the cache

Beschreibung

array opcache_get_configuration ( void )

This function returns configuration information about the cache instance

Rückgabewerte

Returns an array of information, including ini, blacklist and version

Fehler/Exceptions

If opcache.restrict_api is in use and the current path is in violation of the rule, an E_WARNING will be raised; no status information will be returned.

Siehe auch

  • opcache_get_status() - Liefert den Status des OPcode Caches

opcache_compile_file
opcache_get_status
OPcache Funktionen


Liefert den Status des OPcode Caches

opcache_get_configuration
opcache_invalidate
OPcache Funktionen
PHP Manual

opcache_get_status

(PHP 5 >= 5.5.5, PHP 7, PECL ZendOpcache > 7.0.2)

opcache_get_status — Liefert den Status des OPcode Caches

Beschreibung

array opcache_get_status ([ boolean $get_scripts = TRUE ] )

Diese Funktion liefert Statusinformationen zu der Cache Instanz.

Parameter-Liste

get_scripts

Include script specific state information

Rückgabewerte

Liefert ein Array mit Informationen, optional enthält dieses Script spezifische Status-Informationen.

Fehler/Exceptions

Wenn opcache.restrict_api benutzt wird und der aktuelle Pfad eine Verletzung dieser Regel ist, wird eine E_WARNING Meldung geschmissen und keine Status-Informationen zurückgegeben.

Siehe auch

  • opcache_get_configuration() - Get configuration information about the cache

opcache_get_configuration
opcache_invalidate
OPcache Funktionen


Invalidates a cached script

opcache_get_status
opcache_is_script_cached
OPcache Funktionen
PHP Manual

opcache_invalidate

(PHP 5 >= 5.5.0, PHP 7, PECL ZendOpcache >= 7.0.0)

opcache_invalidate — Invalidates a cached script

Beschreibung

boolean opcache_invalidate ( string $script [, boolean $force = FALSE ] )

This function invalidates a particular script from the opcode cache. If force is unset or FALSE, the script will only be invalidated if the modification time of the script is newer than the cached opcodes.

Parameter-Liste

script

The path to the script being invalidated.

force

If set to TRUE, the script will be invalidated regardless of whether invalidation is necessary.

Rückgabewerte

Returns TRUE if the opcode cache for script was invalidated or if there was nothing to invalidate, or FALSE if the opcode cache is disabled.

Siehe auch

  • opcache_compile_file() - Compiles and caches a PHP script without executing it
  • opcache_reset() - Resettet den Inhalt des OPcode Caches

opcache_get_status
opcache_is_script_cached
OPcache Funktionen


Tells whether a script is cached in OPCache

opcache_invalidate
opcache_reset
OPcache Funktionen
PHP Manual

opcache_is_script_cached

(PHP 5 >= 5.6.0, PHP 7, PECL ZendOpcache >= 7.0.4)

opcache_is_script_cached — Tells whether a script is cached in OPCache

Beschreibung

boolean opcache_is_script_cached ( string $file )

This function checks if a PHP script has been cached in OPCache. This can be used to more easily detect the "warming" of the cache for a particular script.

Parameter-Liste

file

The path to the PHP script to be checked.

Rückgabewerte

Returns TRUE if file is cached in OPCache, FALSE otherwise.

Siehe auch

  • opcache_compile_file() - Compiles and caches a PHP script without executing it

opcache_invalidate
opcache_reset
OPcache Funktionen


Resettet den Inhalt des OPcode Caches

opcache_is_script_cached
Ausgabekontrolle
OPcache Funktionen
PHP Manual

opcache_reset

(PHP 5 >= 5.5.0, PHP 7, PECL ZendOpcache >= 7.0.0)

opcache_reset — Resettet den Inhalt des OPcode Caches

Beschreibung

boolean opcache_reset ( void )

Diese Funktion resettet den gesammten OPcode Cache. Nach dem aufrufen von opcache_reset(), werden alles Scripte beim nächsten aufruf neu geladen und geparst.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt TRUE zurück wenn der OPcode cache resettet wurde, oder FALSE wenn der Cache deaktiviert ist.

Siehe auch

  • opcache_invalidate() - Invalidates a cached script

opcache_is_script_cached
Ausgabekontrolle
OPcache Funktionen


Ausgabepufferung

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • Einsatzgrundlagen
  • Output-Control-Funktionen
    • flush — Leert (sendet) den Ausgabepuffer
    • ob_clean — Löscht den Ausgabepuffer
    • ob_end_clean — Löscht den Ausgabe-Puffer und deaktiviert die Ausgabe-Pufferung
    • ob_end_flush — Leert (schickt/sendet) den Ausgabe-Puffer und deaktiviert die Ausgabe-Pufferung
    • ob_flush — Leert (sendet) den Ausgabepuffer
    • ob_get_clean — Get current buffer contents and delete current output buffer
    • ob_get_contents — Gibt den Inhalt des Ausgabe-Puffers zurück
    • ob_get_flush — Flush the output buffer, return it as a string and turn off output buffering
    • ob_get_length — Return the length of the output buffer
    • ob_get_level — Anzahl der aktiven Ausgabepuffer
    • ob_get_status — Get status of output buffers
    • ob_gzhandler — ob_start callback function to gzip output buffer
    • ob_implicit_flush — Schaltet die implizite Ausgabe ein bzw. aus
    • ob_list_handlers — List all output handlers in use
    • ob_start — Ausgabepufferung aktivieren
    • output_add_rewrite_var — Setzt URL-Rewrite-Variablen
    • output_reset_rewrite_vars — Reset URL rewriter values
opcache_reset
Einführung
Das Verhalten von PHP beeinflussen


Einführung

Mit den Funktionen zur Ausgabesteuerung können Sie die Ausgabe eines Skripts steuern. Dies kann in verschiedenen Situationen ganz nützlich sein, besonders wenn Sie Header an den Browser schicken müssen, nachdem Ihr Skript bereits etwas ausgegeben hat. Die Ausgabesteuerungsfunktionen gelten nicht für Header, die mit header() oder setcookie() geschickt wurden, sondern nur für Daten, die mit echo gesendet wurden oder für Daten zwischen PHP-Codeblöcken.

Hinweis:

Bei Upgrades von PHP 4.1.x (und 4.2.x) auf 4.3.x müssen Sie wegen eines Fehlers in früheren Versionen sicherstellen, dass implicit_flush in Ihrer php.ini auf OFF gesetzt ist, anderenfalls werden Ausgaben auch nach Aufruf von ob_start() noch an den Browser weitergegeben.

Ausgabekontrolle
Installation/Konfiguration
Ausgabekontrolle


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Ausgabekontrolle


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Output-Control-Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
output_buffering | "0" | PHP_INI_PERDIR |
output_handler | NULL | PHP_INI_PERDIR | Verfügbar seit 4.0.4.
implicit_flush | "0" | PHP_INI_ALL | PHP_INI_PERDIR in PHP <= 4.2.3.
url_rewriter.tags | "a=href,area=href,frame=src,form=,fieldset=" | PHP_INI_ALL | Verfügbar seit PHP 4.0.4. Vor PHP 7.1.0 wurde dies für das trans sid rewrite der Session verwendet. Von PHP 7.1.0 an wird es nur noch von output_add_rewrite_var() verwendet.
url_rewriter.hosts | $_SERVER['HTTP_HOST'] wird als Voreinstellung verwendet. | PHP_INI_ALL | Verfügbar seit PHP 7.1.0
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

output_buffering boolean/integer

Sie können Output Buffering für alle Scripte aktivieren, indem Sie diesen Wert auf 'On' setzen. Wenn Sie die Größe des Buffers auf limitieren wollen, so können Sie die maximale Größe in Bytes an Stelle von 'On' angeben (z.B. output_buffering=4096). Ab PHP 4.3.5 ist dieser Wert für den PHP-CLI-Kommandozeileninterpreter grundsätzlich 'Off'.

output_handler string

Sie können die Ausgaben Ihres Scriptes an eine Funktion weiterleiten. Wenn sie z.B. mb_output_handler() als output_handler setzen, so wird das Character-Encoding transparent in das spezifizierte Encoding umgewandelt. Das Setzen einer output_handle- Funktion aktiviert das Output Buffering automatisch.

Hinweis:

Sie können mb_output_handler() nicht
gleichzeitig mit ob_iconv_handler() und
ob_gzhandler() nicht gleichzeitig mit
zlib.output_compression.
benutzen.

Hinweis:

Es können nur eingebaute PHP-Funktionen angegeben werden, benutzerdefinierte Funktionen können mit Hilfe der ob_start()-Funktion genutzt werden.

implicit_flush boolean

Diese Option ist standardmäßig deaktiviert. Wenn Sie implicit_flush aktivieren, so wird PHP angewiesen, nach jedem Output-Block automatisch den Output-Layer zu leeren. Dies ist äquivalent zu flush()-Aufrufen nach jedem echo- oder print-Aufruf und nach jedem HTML-Block.

In Webanwendungen hat diese Option massive Performanceauswirkungen und sollte wenn überhaupt dann nur zu Debuggingzwecken aktiviert werden. Im PHP-CLI-Kommandozeileninterpreter dagegen ist diese Option standardmäßig aktiviert.

Siehe auch ob_implicit_flush().

url_rewriter.tags string
url_rewriter.tags gibt an welche HTML-Tags durch output_add_rewrite_var() umgeschrieben werden. Die Voreinstellung ist a=href,area=href,frame=src,input=src,form= form ist ein besonderes Tag. <input hidden="session_id" name="session_name"> wird als Form-Variable hinzugefügt.

Hinweis: Vor PHP 7.1.0 wurde url_rewriter.tags verwendet, um session.trans_sid_tags anzugeben. Seit PHP 7.1.0 wird fieldset nicht länger als besonderes Tag angesehen.

url_rewriter.hosts string
url_rewriter.hosts specifies which hosts are rewritten to include output_add_rewrite_var() values. Defaults to $_SERVER['HTTP_HOST']. Multiple hosts can be specified by ",", no space is allowed between hosts. e.g. php.net,wiki.php.net,bugs.php.net

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Die aufgelisteten Konstanten stehen immer zur Verfügung, da sie zum Grundbestand von PHP gehören.

PHP_OUTPUT_HANDLER_START (integer)

Zeigt an, dass die Pufferung der Ausgabe begann.

PHP_OUTPUT_HANDLER_WRITE (integer)

Zeigt an, dass der Ausgabepuffer geleert wird und Daten zur Ausgabe bereit stehen.

Verfügbar seit PHP 5.4.

PHP_OUTPUT_HANDLER_FLUSH (integer)

Zeigt an, dass der Ausgabepuffer geleert und ausgegeben wurde.

Verfügbar seit PHP 5.4.

PHP_OUTPUT_HANDLER_CLEAN (integer)

Zeigt an, dass der Ausgabepuffer gelöscht wurde.

Verfügbar seit PHP 5.4.

PHP_OUTPUT_HANDLER_FINAL (integer)

Zeigt an, dass dies die letzte Operation des Ausgabepuffers ist.

Verfügbar seit PHP 5.4.

PHP_OUTPUT_HANDLER_CONT (integer)

Zeigt an, dass der Ausgabepuffer geleert und ausgegeben wurde, aber die Pufferung fortgesetzt wird.

Zum Stand von PHP 5.4 ist dies ein Alias für PHP_OUTPUT_HANDLER_WRITE.

PHP_OUTPUT_HANDLER_END (integer)

Zeigt an, dass die Ausgabepufferung endete.

Zum Stand von PHP 5.4 ist dies ein Alias für PHP_OUTPUT_HANDLER_FINAL.

PHP_OUTPUT_HANDLER_CLEANABLE (integer)

Steuert, ob ein durch ob_start() erzeugter Ausgabepuffer gelöscht werden kann.

Verfügbar seit PHP 5.4.

PHP_OUTPUT_HANDLER_FLUSHABLE (integer)

Steuert, ob ein durch ob_start() erzeugter Ausgabepuffer geleert und ausgegeben werden kann.

Verfügbar seit PHP 5.4.

PHP_OUTPUT_HANDLER_REMOVABLE (integer)

Steuert, ob ein durch ob_start() erzeugter Ausgabepuffer vor Ende der Skriptlaufzeit entfernt werden kann.

Verfügbar seit PHP 5.4.

PHP_OUTPUT_HANDLER_STDFLAGS (integer)

Die Standardeinstellungen der Pufferflags. Derzeit gleichbedeutend mit PHP_OUTPUT_HANDLER_CLEANABLE | PHP_OUTPUT_HANDLER_FLUSHABLE | PHP_OUTPUT_HANDLER_REMOVABLE.

Verfügbar seit PHP 5.4.

Ressource-Typen
Beispiele
Ausgabekontrolle


Beispiele

Inhaltsverzeichnis

  • Einsatzgrundlagen
Vordefinierte Konstanten
Einsatzgrundlagen
Ausgabekontrolle


Einsatzgrundlagen

Beispiel #1 Output-Control-Beispiel

<?php

ob_start();
echo "Hello\n";

setcookie("cookiename", "cookiedata");

ob_end_flush();

?>

Im obigen Beispiel wird die Ausgabe der echo solange im Ausgabepuffer zwischengespeichert, bis die Funktion ob_end_flush() aufgerufen wird. In der Zwischenzeit speichert der Aufruf von setcookie() erfolgreich einen Cookie, ohne einen Fehler zu erzeugen. (Normalerweise können keine Header an den Browser mehr gesendet werden, wenn schon Daten ausgegeben wurden.)

Beispiele
Output-Control-Funktionen
Beispiele


Output-Control-Funktionen

Siehe auch

Siehe auch header() und setcookie().

Inhaltsverzeichnis

  • flush — Leert (sendet) den Ausgabepuffer
  • ob_clean — Löscht den Ausgabepuffer
  • ob_end_clean — Löscht den Ausgabe-Puffer und deaktiviert die Ausgabe-Pufferung
  • ob_end_flush — Leert (schickt/sendet) den Ausgabe-Puffer und deaktiviert die Ausgabe-Pufferung
  • ob_flush — Leert (sendet) den Ausgabepuffer
  • ob_get_clean — Get current buffer contents and delete current output buffer
  • ob_get_contents — Gibt den Inhalt des Ausgabe-Puffers zurück
  • ob_get_flush — Flush the output buffer, return it as a string and turn off output buffering
  • ob_get_length — Return the length of the output buffer
  • ob_get_level — Anzahl der aktiven Ausgabepuffer
  • ob_get_status — Get status of output buffers
  • ob_gzhandler — ob_start callback function to gzip output buffer
  • ob_implicit_flush — Schaltet die implizite Ausgabe ein bzw. aus
  • ob_list_handlers — List all output handlers in use
  • ob_start — Ausgabepufferung aktivieren
  • output_add_rewrite_var — Setzt URL-Rewrite-Variablen
  • output_reset_rewrite_vars — Reset URL rewriter values
Einsatzgrundlagen
flush
Ausgabekontrolle


Leert (sendet) den Ausgabepuffer

Output-Control-Funktionen
ob_clean
Output-Control-Funktionen
PHP Manual

flush

(PHP 4, PHP 5, PHP 7)

flush — Leert (sendet) den Ausgabepuffer

Beschreibung

void flush ( void )

flush() sendet den Inhalt des Ausgabepuffers und des darunterliegenden PHP Backends (CGI, Apache, ...). Die bisherigen Ausgaben werden damit soweit wie möglich in Richtung des Users weitergereicht.

flush() hat keinen Einfluss auf das Pufferverhalten des Webservers oder des Browsers auf der Clientseite. Es hat auch keinen Einfluss auf mit ob_start() erstellte Ausgabebuffer. Daher müssen Sie sowohl ob_flush() als auch flush() aufrufen, um die Ausgabebuffer zu leeren.

Einige Webserver, besonders auf Windows (Win32), puffern ihre Scriptausgaben weiterhin bis zum Scriptende bevor sie sie zum Browser übertragen.

Auch Apache-Module wie mod_gzip puffern zum Teil Ausgaben und verhindern so, dass Ausgaben nach flush() direkt zum Benutzer weitergegeben werden.

Selbst Browser können empfangene Ausgaben puffern bevor sie sie tatsächlich darstellen. Netscape Browser z.B. puffern Text bis sie entweder einen Zeilenwechsel oder den Anfang eines Tags empfangen und zeigen Tabellen erst nach dem Empfang des </table> Tags der äußersten Tabelle.

Einige Versionen des Microsoft Internet Explorers beginnen erst dann mit der Ausgabe wenn sie mindestens 256 Bytes empfangen haben. Sie müssen daher eventuell zusätzliche Leerzeichen in Ihre Ausgaben einfügen um eine Darstellung vor Skriptende auf solchen Browsern zu erzwingen.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Output-Control-Funktionen
ob_clean
Output-Control-Funktionen


Löscht den Ausgabepuffer

flush
ob_end_clean
Output-Control-Funktionen
PHP Manual

ob_clean

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

ob_clean — Löscht den Ausgabepuffer

Beschreibung

void ob_clean ( void )

Diese Funktion verwirft den aktuellen Inhalt des Ausgabepuffers. Anders als bei ob_end_clean() bleibt der Ausgabepuffer dabei aber erhalten.

Siehe auch ob_flush(),
ob_end_flush() und
ob_end_clean().

Der Ausgabepuffer muss durch ob_start() mit dem PHP_OUTPUT_HANDLER_CLEANABLE Flag aktiviert werden. Andernfalls funktioniert ob_clean() nicht.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • ob_flush() - Leert (sendet) den Ausgabepuffer
  • ob_end_flush() - Leert (schickt/sendet) den Ausgabe-Puffer und deaktiviert die Ausgabe-Pufferung
  • ob_end_clean() - Löscht den Ausgabe-Puffer und deaktiviert die Ausgabe-Pufferung

flush
ob_end_clean
Output-Control-Funktionen


Löscht den Ausgabe-Puffer und deaktiviert die Ausgabe-Pufferung

ob_clean
ob_end_flush
Output-Control-Funktionen
PHP Manual

ob_end_clean

(PHP 4, PHP 5, PHP 7)

ob_end_clean — Löscht den Ausgabe-Puffer und deaktiviert die Ausgabe-Pufferung

Beschreibung

bool ob_end_clean ( void )

Der Inhalt des Ausgabepuffers (sofern vorhanden) wird verworfen und der Ausgabepuffer (aber nur dieser) wird deaktiviert. Falls sie mit dem Puffer-Inhalt weiter arbeiten möchten, müssen sie diesen erst per ob_get_contents() zwischen speichern bevor sie ob_end_clean() aufrufen, da dadurch der Puffer geleert wird.

Der Ausgabepuffer muss durch ob_start() mit den PHP_OUTPUT_HANDLER_CLEANABLE und PHP_OUTPUT_HANDLER_REMOVABLE Flags aktiviert werden. Andernfalls funktioniert ob_end_clean() nicht.

Rückgabewerte

Die Funktion gibt TRUE zurück wenn ein Ausgabepuffer entfernt wurde, FALSE wenn kein aktiver Puffer vorhanden war oder der aktuelle Puffer nicht deaktiviert werden konnte (dies ist bei speziellen Puffern möglich).

Fehler/Exceptions

Im Fehlerfall generiert die Funktion eine E_NOTICE Meldung.

Beispiele

Das folgende Beispiel zeigt einen einfachen Weg um alle aktiven Ausgabepuffer zu entfernen:

Beispiel #1 ob_end_clean() Beispiel

<?php
ob_start();
echo 'Text der nicht ausgegeben wird.';
ob_end_clean();
?>

Siehe auch

  • ob_start() - Ausgabepufferung aktivieren
  • ob_get_contents() - Gibt den Inhalt des Ausgabe-Puffers zurück
  • ob_flush() - Leert (sendet) den Ausgabepuffer

ob_clean
ob_end_flush
Output-Control-Funktionen


Leert (schickt/sendet) den Ausgabe-Puffer und deaktiviert die Ausgabe-Pufferung

ob_end_clean
ob_flush
Output-Control-Funktionen
PHP Manual

ob_end_flush

(PHP 4, PHP 5, PHP 7)

ob_end_flush — Leert (schickt/sendet) den Ausgabe-Puffer und deaktiviert die Ausgabe-Pufferung

Beschreibung

bool ob_end_flush ( void )

Der Inhalt des Ausgabepuffers (sofern vorhanden) wird abgeschickt und der Ausgabepuffer (aber nur dieser) wird deaktiviert. Falls sie mit dem Puffer-Inhalt weiter arbeiten möchten, müssen sie diesen erst per ob_get_contents() zwischen speichern bevor sie ob_end_flush() aufrufen, da dadurch der Puffer geleert wird.

Der Ausgabepuffer muss durch ob_start() mit den PHP_OUTPUT_HANDLER_FLUSHABLE und PHP_OUTPUT_HANDLER_REMOVABLE Flags aktiviert werden. Andernfalls funktioniert ob_end_flush() nicht.

Hinweis: Diese Funktion ähnelt ob_get_flush(), aber ob_get_flush() liefert den Inhalt des Puffers als String zurück.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. Gründe für Fehler sind erstens, dass sie die Funktion ohne einen aktiven Puffer augerufen haben, oder zweitens, dass aus irgendeinem Grund der Puffer nicht gelöscht werden konnte (möglich bei speziellen Puffern).

Fehler/Exceptions

Wenn die Funktion fehlschlägt, generiert sie eine E_NOTICE.

Beispiele

Beispiel #1 ob_end_clean()-Beispiel

Das folgende Beispiel zeigt einen einfachen Weg, um alle aktiven Ausgabepuffer zu leeren und zu entfernen:

<?php
  while (@ob_end_flush());
?>

Siehe auch

  • ob_start() - Ausgabepufferung aktivieren
  • ob_get_contents() - Gibt den Inhalt des Ausgabe-Puffers zurück
  • ob_get_flush() - Flush the output buffer, return it as a string and turn off output buffering
  • ob_flush() - Leert (sendet) den Ausgabepuffer
  • ob_end_clean() - Löscht den Ausgabe-Puffer und deaktiviert die Ausgabe-Pufferung

ob_end_clean
ob_flush
Output-Control-Funktionen


Leert (sendet) den Ausgabepuffer

ob_end_flush
ob_get_clean
Output-Control-Funktionen
PHP Manual

ob_flush

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

ob_flush — Leert (sendet) den Ausgabepuffer

Beschreibung

void ob_flush ( void )

Diese Funktion sendet den aktuellen Inhalt des Ausgabepuffers (falls vorhanden). Wenn sie die Pufferinhalte mit ob_get_contents() weiterverarbeiten wollen so müssen sie dies vor Aufruf von ob_flush() tun da diese sonst nicht mehr vorhanden sind.

Anders als bei ob_end_flush() bleibt der Ausgabepuffer erhalten.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • ob_get_contents() - Gibt den Inhalt des Ausgabe-Puffers zurück
  • ob_clean() - Löscht den Ausgabepuffer
  • ob_end_flush() - Leert (schickt/sendet) den Ausgabe-Puffer und deaktiviert die Ausgabe-Pufferung
  • ob_end_clean() - Löscht den Ausgabe-Puffer und deaktiviert die Ausgabe-Pufferung

ob_end_flush
ob_get_clean
Output-Control-Funktionen


Get current buffer contents and delete current output buffer

ob_flush
ob_get_contents
Output-Control-Funktionen
PHP Manual

ob_get_clean

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

ob_get_clean — Get current buffer contents and delete current output buffer

Beschreibung

string ob_get_clean ( void )

Gets the current buffer contents and delete current output buffer.

ob_get_clean() essentially executes both
ob_get_contents() and
ob_end_clean().

The output buffer must be started by ob_start() with PHP_OUTPUT_HANDLER_CLEANABLE flag. Otherwise ob_get_clean() will not work.

Rückgabewerte

Returns the contents of the output buffer and end output buffering. If output buffering isn't active then FALSE is returned.

Beispiele

Beispiel #1 A simple ob_get_clean() example

<?php

ob_start();

echo "Hello World";

$out = ob_get_clean();
$out = strtolower($out);

var_dump($out);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(11) "hello world"

Siehe auch

  • ob_get_contents() - Gibt den Inhalt des Ausgabe-Puffers zurück
  • ob_start() - Ausgabepufferung aktivieren

ob_flush
ob_get_contents
Output-Control-Funktionen


Gibt den Inhalt des Ausgabe-Puffers zurück

ob_get_clean
ob_get_flush
Output-Control-Funktionen
PHP Manual

ob_get_contents

(PHP 4, PHP 5, PHP 7)

ob_get_contents — Gibt den Inhalt des Ausgabe-Puffers zurück

Beschreibung

string ob_get_contents ( void )

Gibt den Inhalt des Ausgabepuffers ohne Löschung zurück.

Rückgabewerte

ob_get_contents() gibt den Inhalt des Ausgabepuffers zurück ohne ihn zu löschen oder FALSE, wenn die Ausgabe-Pufferung nicht aktiv ist.

Beispiele

Beispiel #1 Einfaches ob_get_contents()-Beispiel

<?php

ob_start();

echo "Hello ";

$out1 = ob_get_contents();

echo "World";

$out2 = ob_get_contents();

ob_end_clean();

var_dump($out1, $out2);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(6) "Hello "
string(11) "Hello World"

Siehe auch

  • ob_start() - Ausgabepufferung aktivieren
  • ob_get_length() - Return the length of the output buffer

ob_get_clean
ob_get_flush
Output-Control-Funktionen


Flush the output buffer, return it as a string and turn off output buffering

ob_get_contents
ob_get_length
Output-Control-Funktionen
PHP Manual

ob_get_flush

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

ob_get_flush — Flush the output buffer, return it as a string and turn off output buffering

Beschreibung

string ob_get_flush ( void )

ob_get_flush() flushes the output buffer, return it as a string and turns off output buffering.

The output buffer must be started by ob_start() with PHP_OUTPUT_HANDLER_FLUSHABLE flag. Otherwise ob_get_flush() will not work.

Hinweis: This function is similar to ob_end_flush(), except that this function returns the buffer as a string.

Rückgabewerte

Returns the output buffer or FALSE if no buffering is active.

Beispiele

Beispiel #1 ob_get_flush() example

<?php
//using output_buffering=On
print_r(ob_list_handlers());

//save buffer in a file
$buffer = ob_get_flush();
file_put_contents('buffer.txt', $buffer);

print_r(ob_list_handlers());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => default output handler
)
Array
(
)

Siehe auch

  • ob_end_clean() - Löscht den Ausgabe-Puffer und deaktiviert die Ausgabe-Pufferung
  • ob_end_flush() - Leert (schickt/sendet) den Ausgabe-Puffer und deaktiviert die Ausgabe-Pufferung
  • ob_list_handlers() - List all output handlers in use

ob_get_contents
ob_get_length
Output-Control-Funktionen


Return the length of the output buffer

ob_get_flush
ob_get_level
Output-Control-Funktionen
PHP Manual

ob_get_length

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

ob_get_length — Return the length of the output buffer

Beschreibung

int ob_get_length ( void )

This will return the length of the contents in the output buffer, in bytes.

Rückgabewerte

Returns the length of the output buffer contents, in bytes, or FALSE if no buffering is active.

Beispiele

Beispiel #1 A simple ob_get_length() example

<?php

ob_start();

echo "Hello ";

$len1 = ob_get_length();

echo "World";

$len2 = ob_get_length();

ob_end_clean();

echo $len1 . ", ." . $len2;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

6, 11

Siehe auch

  • ob_start() - Ausgabepufferung aktivieren
  • ob_get_contents() - Gibt den Inhalt des Ausgabe-Puffers zurück

ob_get_flush
ob_get_level
Output-Control-Funktionen


Anzahl der aktiven Ausgabepuffer

ob_get_length
ob_get_status
Output-Control-Funktionen
PHP Manual

ob_get_level

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

ob_get_level — Anzahl der aktiven Ausgabepuffer

Beschreibung

int ob_get_level ( void )

ob_get_level() liefert die Anzahl der zur Zeit gleichzeitig (übereinanderliegend) aktiven Ausgabepuffer oder 0, wenn keine Ausgabepufferung genutzt wird.

Rückgabewerte

Gibt die Anzahle der aktiven Ausgabepuffer zurück. Wenn keine Ausgabepufferung aktiv ist, wird 0 zurückgegeben.

Siehe auch

  • ob_start() - Ausgabepufferung aktivieren
  • ob_get_contents() - Gibt den Inhalt des Ausgabe-Puffers zurück

ob_get_length
ob_get_status
Output-Control-Funktionen


Get status of output buffers

ob_get_level
ob_gzhandler
Output-Control-Funktionen
PHP Manual

ob_get_status

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

ob_get_status — Get status of output buffers

Beschreibung

array ob_get_status ([ bool $full_status = FALSE ] )

ob_get_status() returns status information on either the top level output buffer or all active output buffer levels if full_status is set to TRUE.

Parameter-Liste

full_status

TRUE to return all active output buffer levels. If FALSE or not set, only the top level output buffer is returned.

Rückgabewerte

If called without the full_status parameter or with full_status = FALSE a simple array with the following elements is returned:

Array
(
    [level] => 2
    [type] => 0
    [status] => 0
    [name] => URL-Rewriter
    [del] => 1
)
Simple ob_get_status() results
Key | Value
level | Output nesting level
type | PHP_OUTPUT_HANDLER_INTERNAL (0) or PHP_OUTPUT_HANDLER_USER (1)
status | One of PHP_OUTPUT_HANDLER_START (0), PHP_OUTPUT_HANDLER_CONT (1) or PHP_OUTPUT_HANDLER_END (2)
name | Name of active output handler or ' default output handler' if none is set
del | Erase-flag as set by ob_start()

If called with full_status = TRUE an array with one element for each active output buffer level is returned. The output level is used as key of the top level array and each array element itself is another array holding status information on one active output level.

Array
(
    [0] => Array
        (
            [chunk_size] => 0
            [size] => 40960
            [block_size] => 10240
            [type] => 1
            [status] => 0
            [name] => default output handler
            [del] => 1
        )

    [1] => Array
        (
            [chunk_size] => 0
            [size] => 40960
            [block_size] => 10240
            [type] => 0
            [buffer_size] => 0
            [status] => 0
            [name] => URL-Rewriter
            [del] => 1
        )

)

The full output contains these additional elements:

Full ob_get_status() results
Key | Value
chunk_size | Chunk size as set by ob_start()
size | ...
blocksize | ...

Siehe auch

  • ob_get_level() - Anzahl der aktiven Ausgabepuffer
  • ob_list_handlers() - List all output handlers in use

ob_get_level
ob_gzhandler
Output-Control-Funktionen


ob_start callback function to gzip output buffer

ob_get_status
ob_implicit_flush
Output-Control-Funktionen
PHP Manual

ob_gzhandler

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

ob_gzhandler — ob_start callback function to gzip output buffer

Beschreibung

string ob_gzhandler ( string $buffer , int $mode )

ob_gzhandler() is intended to be used as a callback function for ob_start() to help facilitate sending gz-encoded data to web browsers that support compressed web pages. Before ob_gzhandler() actually sends compressed data, it determines what type of content encoding the browser will accept ("gzip", "deflate" or none at all) and will return its output accordingly. All browsers are supported since it's up to the browser to send the correct header saying that it accepts compressed web pages. If a browser doesn't support compressed pages this function returns FALSE.

Parameter-Liste

buffer

mode

Rückgabewerte

Beispiele

Beispiel #1 ob_gzhandler() example

<?php

ob_start("ob_gzhandler");

?>
<html>
<body>
<p>This should be a compressed page.</p>
</body>
</html>

Anmerkungen

Hinweis:

ob_gzhandler() requires the zlib extension.

Hinweis:

You cannot use both ob_gzhandler() and zlib.output_compression. Also note that using zlib.output_compression is preferred over ob_gzhandler().

Siehe auch

  • ob_start() - Ausgabepufferung aktivieren
  • ob_end_flush() - Leert (schickt/sendet) den Ausgabe-Puffer und deaktiviert die Ausgabe-Pufferung

ob_get_status
ob_implicit_flush
Output-Control-Funktionen


Schaltet die implizite Ausgabe ein bzw. aus

ob_gzhandler
ob_list_handlers
Output-Control-Funktionen
PHP Manual

ob_implicit_flush

(PHP 4, PHP 5, PHP 7)

ob_implicit_flush — Schaltet die implizite Ausgabe ein bzw. aus

Beschreibung

void ob_implicit_flush ([ int $flag = true ] )

ob_implicit_flush() schaltet die implizite Ausgabe an oder aus. Die implizite Puffer-Ausgabe erzeugt eine Ausgabe nach jedem Ausgabe-Befehl, so dass keine Extra-Aufrufe von flush() mehr erforderlich sind.

Parameter-Liste

flag

TRUE schaltet implizite Ausgabe ein, FALSE schaltet sie aus.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • flush() - Leert (sendet) den Ausgabepuffer
  • ob_start() - Ausgabepufferung aktivieren
  • ob_end_flush() - Leert (schickt/sendet) den Ausgabe-Puffer und deaktiviert die Ausgabe-Pufferung

ob_gzhandler
ob_list_handlers
Output-Control-Funktionen


List all output handlers in use

ob_implicit_flush
ob_start
Output-Control-Funktionen
PHP Manual

ob_list_handlers

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

ob_list_handlers — List all output handlers in use

Beschreibung

array ob_list_handlers ( void )

Lists all output handlers in use.

Rückgabewerte

This will return an array with the output handlers in use (if any). If output_buffering is enabled or an anonymous function was used with ob_start(), ob_list_handlers() will return "default output handler".

Beispiele

Beispiel #1 ob_list_handlers() example

<?php
//using output_buffering=On
print_r(ob_list_handlers());
ob_end_flush();

ob_start("ob_gzhandler");
print_r(ob_list_handlers());
ob_end_flush();

// anonymous functions
ob_start(function($string) { return $string; });
print_r(ob_list_handlers());
ob_end_flush();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => default output handler
)

Array
(
    [0] => ob_gzhandler
)

Array
(
    [0] => Closure::__invoke
)

Siehe auch

  • ob_end_clean() - Löscht den Ausgabe-Puffer und deaktiviert die Ausgabe-Pufferung
  • ob_end_flush() - Leert (schickt/sendet) den Ausgabe-Puffer und deaktiviert die Ausgabe-Pufferung
  • ob_get_flush() - Flush the output buffer, return it as a string and turn off output buffering
  • ob_start() - Ausgabepufferung aktivieren

ob_implicit_flush
ob_start
Output-Control-Funktionen


Ausgabepufferung aktivieren

ob_list_handlers
output_add_rewrite_var
Output-Control-Funktionen
PHP Manual

ob_start

(PHP 4, PHP 5, PHP 7)

ob_start — Ausgabepufferung aktivieren

Beschreibung

bool ob_start ([ callable $output_callback = NULL [, int $chunk_size = 0 [, int $flags = PHP_OUTPUT_HANDLER_STDFLAGS ]]] )

Diese Funktion aktiviert die Ausgabepufferung. Während die Ausgabepufferung aktiv ist werden Scriptausgaben (mit Ausnahme von Headerinformationen) nicht direkt an den Client weitergegeben sondern in einem internen Puffer gesammelt.

Der Inhalt dieses internen Puffers kann mit Hilfe der Funktion ob_get_contents() in eine Stringvariable kopiert werden. Mit der Funktion ob_end_flush() können die Pufferinhalte an den Client ausgegeben werden, ob_end_clean() wird der Puffer ohne Ausgabe gelöscht.

Warnung

Einige Webserver (z.B. Apache) ändern das Arbeitsverzeichnis des Scripts vor dem Aufruf der Callback-Funktion am Scriptende. Sie können falls nötig mit Hilfe von chdir(dirname($_SERVER['SCRIPT_FILENAME'])) wieder in das Scriptverzeichnis zurückwechseln.

Ausgabepuffer können verschachtelt werden, d.h. Sie können ob_start() erneut aufrufen während bereits ein anderer ob_start() Aufruf aktiv ist. Sie müssen nur sicher stellen das Sie später auch ob_end_flush() entsprechend oft aufrufen. Sind mehrere Callback-Funktion aktiv so werden die Ausgaben der Reihe nach von Ausgabepuffer zu Ausgabepuffer weitergegeben und die Callback-Funktionen in Verschachtelungsreihenfolge aufgerufen.

Parameter-Liste

output_callback

An optional output_callback function may be specified. This function takes a string as a parameter and should return a string. The function will be called when the output buffer is flushed (sent) or cleaned (with ob_flush(), ob_clean() or similar function) or when the output buffer is flushed to the browser at the end of the request. When output_callback is called, it will receive the contents of the output buffer as its parameter and is expected to return a new output buffer as a result, which will be sent to the browser. If the output_callback is not a callable function, this function will return FALSE. This is the callback signature:

string handler ( string $buffer [, int $phase ] )
buffer
Contents of the output buffer.
phase
Bitmask of PHP_OUTPUT_HANDLER_* constants.

If output_callback returns FALSE original input is sent to the browser.

The output_callback parameter may be bypassed by passing a NULL value.

ob_end_clean(), ob_end_flush(),ob_clean(), ob_flush() und ob_start() können innerhalb einer Callback-Funktion nicht benutzt werden, das Ergebnis eines solchen Aufrufs ist nicht definiert. Wenn Sie den Inhalt eines Puffers aus einem Callback löschen wollen so gegeben Sie einfach den Leerstring "" zurück. Auch Funktionen wie print_r($expression, true) oder highlight_file($filename, true) die den Ausgabepuffermechanismus intern nutzen können innerhalb eines Callbacks nicht benutzt werden.

Hinweis:

In PHP 4.0.4, ob_gzhandler() was introduced to facilitate sending gz-encoded data to web browsers that support compressed web pages. ob_gzhandler() determines what type of content encoding the browser will accept and will return its output accordingly.

chunk_size

If the optional parameter chunk_size is passed, the buffer will be flushed after any output call which causes the buffer's length to equal or exceedchunk_size. The default value 0 means that the output function will only be called when the output buffer is closed.

Prior to PHP 5.4.0, the value 1 was a special case value that set the chunk size to 4096 bytes.

flags

The flags parameter is a bitmask that controls the operations that can be performed on the output buffer. The default is to allow output buffers to be cleaned, flushed and removed, which can be set explicitly via PHP_OUTPUT_HANDLER_CLEANABLE | PHP_OUTPUT_HANDLER_FLUSHABLE | PHP_OUTPUT_HANDLER_REMOVABLE, or PHP_OUTPUT_HANDLER_STDFLAGS as shorthand.

Each flag controls access to a set of functions, as described below:

Constant | Functions
PHP_OUTPUT_HANDLER_CLEANABLE | ob_clean(), ob_end_clean(), and ob_get_clean().
PHP_OUTPUT_HANDLER_FLUSHABLE | ob_end_flush(), ob_flush(), and ob_get_flush().
PHP_OUTPUT_HANDLER_REMOVABLE | ob_end_clean(), ob_end_flush(), and ob_get_flush().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
7.0.0 | Falls ob_start() innerhalb eines bereits aktiven Callbacks aufgerufen wird, erzeugt diese Funktion nicht länger den Fehler E_ERROR sondern E_RECOVERABLE_ERROR. Dies erlaubt es eigenen Funktionen zur Fehlerbehandlung diesen Fehler zu verarbeiten.
5.4.0 | The third parameter of ob_start() changed from a boolean parameter called erase (which, if set to FALSE, would prevent the output buffer from being deleted until the script finished executing) to an integer parameter calledflags. Unfortunately, this results in an API compatibility break for code written prior to PHP 5.4.0 that uses the third parameter. See the flags example for an example of how to handle this with code that needs to be compatible with both.
5.4.0 | A chunk size of 1 now results in chunks of 1 byte being sent to the output buffer.
4.3.2 | This function was changed to return FALSE in case the passed output_callback can not be executed.

Beispiele

Beispiel #1 Beispiel einer benutzerkonfigurierten Callbackfunktion

<?php

function callback($buffer)
{
  // ersetzt Äpfel mit Birnen
  return (str_replace("Äpfel", "Birnen", $buffer));
}

ob_start("callback");

?>
<html>
<body>
<p>Das ist wie Äpfel mit Birnen zu vergleichen.</p>
</body>
</html>
<?php

ob_end_flush();

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<html>
<body>
<p>Das ist wie Birnen mit Birnen zu vergleichen.</p>
</body>
</html>

Beispiel #2 Creating an uneraseable output buffer in a way compatible with both PHP 5.3 and 5.4

<?php

if (version_compare(PHP_VERSION, '5.4.0', '>=')) {
  ob_start(null, 0, PHP_OUTPUT_HANDLER_STDFLAGS ^
    PHP_OUTPUT_HANDLER_REMOVABLE);
} else {
  ob_start(null, 0, false);
}

?>

Siehe auch

  • ob_get_contents() - Gibt den Inhalt des Ausgabe-Puffers zurück
  • ob_end_flush() - Leert (schickt/sendet) den Ausgabe-Puffer und deaktiviert die Ausgabe-Pufferung
  • ob_end_clean() - Löscht den Ausgabe-Puffer und deaktiviert die Ausgabe-Pufferung
  • ob_implicit_flush() - Schaltet die implizite Ausgabe ein bzw. aus
  • ob_gzhandler() - ob_start callback function to gzip output buffer
  • ob_iconv_handler() - Konvertiert Zeichensatzkodierung als Ausgabepuffer-Handler (output buffer handler)
  • mb_output_handler() - Callback function converts character encoding in output buffer
  • ob_tidyhandler() - ob_start callback function to repair the buffer.

ob_list_handlers
output_add_rewrite_var
Output-Control-Funktionen


Setzt URL-Rewrite-Variablen

ob_start
output_reset_rewrite_vars
Output-Control-Funktionen
PHP Manual

output_add_rewrite_var

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

output_add_rewrite_var — Setzt URL-Rewrite-Variablen

Beschreibung

bool output_add_rewrite_var ( string $name , string $value )

Diese Funktion fügt ein Name/Wert-Paar zum URL Rewrite Mechanismus hinzu. Name und Wert werden in der gleichen Art wie die Session-ID als GET-Parameter zu URLs und als versteckte Felder zu Formularen hinzugefügt wenn das transparente URL-Rewriting mit session.use_trans_sid aktiviert ist. Bitte beachten Sie das nur relative URLs, nicht aber absolute wie http://example.com/... automatisch erweitert werden.

Diese Funktion wird auch über den php.ini Parameter url_rewriter.tags gesteuert.

Hinweis: Ein Aufruf dieser Funktion aktiviert automatisch die Ausgabepufferung falls sie nicht schon aktiv ist.

Beispiel #1 output_add_rewrite_var() Beispiel

<?php
output_add_rewrite_var('var', 'value');

// some links
echo '<a href="file.php">link</a>
<a href="http://example.com">link2</a>';

// a form
echo '<form action="script.php" method="post">
<input type="text" name="var2" />
</form>';

print_r(ob_list_handlers());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<a href="file.php?var=value">link</a>
<a href="http://example.com">link2</a>

<form action="script.php" method="post">
<input type="hidden" name="var" value="value" />
<input type="text" name="var2" />
</form>

Array
(
    [0] => URL-Rewriter
)

Siehe auch
output_reset_rewrite_vars(),
ob_flush() und
ob_list_handlers().

ob_start
output_reset_rewrite_vars
Output-Control-Funktionen


Reset URL rewriter values

output_add_rewrite_var
PHP-Optionen/-Informationen
Output-Control-Funktionen
PHP Manual

output_reset_rewrite_vars

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

output_reset_rewrite_vars — Reset URL rewriter values

Beschreibung

bool output_reset_rewrite_vars ( void )

This function resets the URL rewriter and removes all rewrite variables previously set by the output_add_rewrite_var() function.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
7.1.0 | Before PHP 7.1.0, rewrite vars set by output_add_rewrite_var() use the same Session module trans sid output buffer. Since PHP 7.1.0, dedicated output buffer is used and output_reset_rewrite_vars() only removes rewrite vars defined by output_add_rewrite_var().

Beispiele

Beispiel #1 output_reset_rewrite_vars() example

<?php
session_start();
output_add_rewrite_var('var', 'value');

echo '<a href="file.php">link</a>';
ob_flush();

output_reset_rewrite_vars();
echo '<a href="file.php">link</a>';
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<a href="file.php?PHPSESSID=xxx&var=value">link</a>
<a href="file.php">link</a>

Siehe auch

  • output_add_rewrite_var() - Setzt URL-Rewrite-Variablen
  • ob_flush() - Leert (sendet) den Ausgabepuffer
  • ob_list_handlers() - List all output handlers in use
  • url_rewriter.tags
  • url_rewriter.hosts
  • session.trans_sid_tags
  • session.trans_sid_hosts

output_add_rewrite_var
PHP-Optionen/-Informationen
Output-Control-Funktionen


PHP-Optionen und -Informationen

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • PHP-Optionen-/-Informationen-Funktionen
    • assert_options — Setzt oder liefert die Assert-Optionen
    • assert — Prüft ab, ob eine Zusicherung FALSE ist
    • cli_get_process_title — Returns the current process title
    • cli_set_process_title — Sets the process title
    • dl — Lädt eine PHP-Erweiterung (Extension) zur Laufzeit
    • extension_loaded — Prüft ob eine Extension geladen ist
    • gc_collect_cycles — Forces collection of any existing garbage cycles
    • gc_disable — Deactivates the circular reference collector
    • gc_enable — Activates the circular reference collector
    • gc_enabled — Returns status of the circular reference collector
    • gc_mem_caches — Reclaims memory used by the Zend Engine memory manager
    • get_cfg_var — Ermittelt den Wert einer Konfigurationsoption
    • get_current_user — Liefert den Benutzernamen des Besitzers des aktuellen PHP-Skripts
    • get_defined_constants — Returns an associative array with the names of all the constants and their values
    • get_extension_funcs — Liefert die Namen der Funktionen einer Extension
    • get_include_path — Gets the current include_path configuration option
    • get_included_files — Liefert ein Array mit den Namen der includierten Dateien
    • get_loaded_extensions — Liefert ein Array mit den Namen aller einkompilierten und geladenen Extensions
    • get_magic_quotes_gpc — Zeigt die aktuelle Konfiguration von magic quotes gpc
    • get_magic_quotes_runtime — Zeigt die aktuelle Konfiguration von magic_quotes_runtime
    • get_required_files — Alias von get_included_files
    • get_resources — Returns active resources
    • getenv — Liefert den Wert einer Umgebungsvariable
    • getlastmod — Uhrzeit der letzten Änderung eines Scripts
    • getmygid — Get PHP script owner's GID
    • getmyinode — Ermittelt den Inode eines Skripts
    • getmypid — Prozess-Id eines Scripts
    • getmyuid — Zeigt die User-ID des Besitzers eines PHP-Scripts
    • getopt — Gets options from the command line argument list
    • getrusage — Zeigt den aktuellen Ressourcenverbrauch an
    • ini_alter — Alias von ini_set
    • ini_get_all — Gets all configuration options
    • ini_get — Gets the value of a configuration option
    • ini_restore — Restores the value of a configuration option
    • ini_set — Sets the value of a configuration option
    • magic_quotes_runtime — Alias von set_magic_quotes_runtime
    • main — Dummy for main
    • memory_get_peak_usage — Returns the peak of memory allocated by PHP
    • memory_get_usage — Returns the amount of memory allocated to PHP
    • php_ini_loaded_file — Retrieve a path to the loaded php.ini file
    • php_ini_scanned_files — Liefert die Liste von analysierten .ini-Dateien aus einem zusätzlichen ini-Verzeichnis
    • php_logo_guid — Die GUID des PHP-Logos
    • php_sapi_name — Gibt das genutzte Interface zwischen PHP und dem Webserver zurück
    • php_uname — Returns information about the operating system PHP is running on
    • phpcredits — Prints out the credits for PHP
    • phpinfo — Gibt Informationen zur PHP-Konfiguration aus
    • phpversion — Liefert die aktuelle PHP-Version
    • putenv — Setzt den Wert einer Umgebungsvariablen.
    • restore_include_path — Restores the value of the include_path configuration option
    • set_include_path — Sets the include_path configuration option
    • set_magic_quotes_runtime — Setzt magic_quotes_runtime
    • set_time_limit — Beschränkt die maximale Ausführungszeit
    • sys_get_temp_dir — Returns directory path used for temporary files
    • version_compare — Vergleicht zwei Versionsnummern im PHP-Stil
    • zend_logo_guid — Die GUID des Zend Logos
    • zend_thread_id — Returns a unique identifier for the current thread
    • zend_version — Liefert die aktuelle Version der Zend Engine
output_reset_rewrite_vars
Einführung
Das Verhalten von PHP beeinflussen


Einführung

Diese Funktionen erlauben es Ihnen, eine Menge an nützlichen Informationen über PHP selber zu erhalten, z.B. Konfiguration zur Laufzeit, geladene Erweiterungen, Angaben zur Version und vieles mehr. Sie werden auch Funktionen finden, die es Ihnen erlauben, für Ihr laufendes PHP Optionen zu setzten. Die vermutlich bekannteste Funktion von PHP - phpinfo() - finden Sie hier.

PHP-Optionen/-Informationen
Installation/Konfiguration
PHP-Optionen/-Informationen


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
PHP-Optionen/-Informationen


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Konfigurationsoptionen für PHP Optionen/Info
Name | Standard | Veränderbar | Changelog
assert.active | "1" | PHP_INI_ALL |
assert.bail | "0" | PHP_INI_ALL |
assert.warning | "1" | PHP_INI_ALL |
assert.callback | NULL | PHP_INI_ALL |
assert.quiet_eval | "0" | PHP_INI_ALL |
assert.exception | "0" | PHP_INI_ALL | Verfügbar seit PHP 7.0.0.
enable_dl | "1" | PHP_INI_SYSTEM | Dieses veraltete Feature wird in der Zukunft sicherlich entfernt.
max_execution_time | "30" | PHP_INI_ALL |
max_input_time | "-1" | PHP_INI_PERDIR | Verfügbar seit PHP 4.3.0.
max_input_nesting_level | "64" | PHP_INI_SYSTEM|PHP_INI_PERDIR | Verfügbar ab PHP 4.4.8 und PHP 5.2.3.
max_input_vars | 1000 | PHP_INI_PERDIR | Verfügbar seit PHP 5.3.9.
magic_quotes_gpc | "1" | PHP_INI_PERDIR | PHP_INI_ALL ab PHP <= 4.2.3. Entfernt in PHP 5.4.0.
magic_quotes_runtime | "0" | PHP_INI_ALL | Entfernt in PHP 5.4.0.
zend.enable_gc | "1" | PHP_INI_ALL | Verfügbar ab PHP 5.3.0.
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

assert.active boolean

Aktiviert assert() Auswertung.

assert.bail boolean

Beendet die Ausführung eines Skripts bei fehlgeschlagener Aussage.

assert.warning boolean

Erzeugt ein PHP warning für jede fehlgeschlagene Aussage.

assert.callback string

Benutzerdefinierte Funktion, die bei fehlgeschlagenen Aussagen ausgeführt wird.

assert.quiet_eval boolean

Benutzt die aktuelle Einstellung von error_reporting() während der Überprüfung eines Ausdrucks einer Aussage. Ist diese Einstellung aktiviert, werden wähhrend der Überprüfung keine Fehler angezeigt (implizit error_reporting(0)). Falls deaktiviert, werden Fehler entsprechend der Einstellung von error_reporting() angezeigt.

assert.exception boolean

Erzeugt eine AssertionError Exception für die fehlgeschlagene Assertion.

enable_dl boolean

Sie können das dynamische Laden von PHP Erweiterungen mittels dl() für virtuelle Server oder per Verzeichnis an- und abschalten.

Der Hauptgrund dynmisches Laden abzustellen sind Sicherheitsüberlegungen. Mit dynamischen Laden ist es möglich, alle open_basedir Einschränkungen zu umgehen. Standard ist es, dynamisches Laden zu erlauben, außer wenn Sie den Safe Mode benutzen. Im Safe Mode ist es nicht möglich dl() zu benutzen.

max_execution_time integer

Legt die maximale Zeit in Sekunden fest, die ein Skript laufen darf, bevor der Parser die Ausführung stoppt. Diese Einstellung hilft zu verhindern, dass schlampig geschriebene Skripte Ihren Server lahmlegen. Der Standardwert für diese Einstellung ist 30 Sekunden. Wird PHP von der Kommandozeile ausgeführt so ist der Vorgabewert 0.

Die maximale Ausführungszeit beeinhaltet keine Systemaufrufe, Streamoperationen, usw. Weitere Details finden Sie bei der set_time_limit() Funktion.

Bei aktiviertem Safe Mode können Sie diese Einstellung nicht mit ini_set() verändern. Die einzige Möglichkeit diese Beschränkung zu umgehen besteht darin, entweder den Safe Mode abzustellen, oder das Zeitlimit in der php.ini zu verändern.

Ihr Webbserver kann andere Timeout-Einstellungen haben die ebenfalls die PHP-Ausführung unterbrechen können. Apache verfügt über eine TimeOut-Direktive und IIS hat eine CGI timeout Funktion. Beide sind als Standardwert auf 300 Sekunden eingestellt. Genauere Informationen finden Sie in der Dokumentation Ihres Webservers.

max_input_time integer

Legt die maximale Zeit in Sekunden fest, die ein Skript verbrauchen darf, um Eingabedaten (wie POST, GET und Dateiuploads) zu verarbeiten. Die Zeitmessung beginnt sobald PHP auf dem Server aufgerufen wird, und endet wenn die Ausführung beginnt.

max_input_nesting_level integer

Legt die maximale Verschachtelungtiefe für Eingabevariablen (z.B. $_GET, $_POST ...) fest.

max_input_vars integer

Wie viele Eingabe-Variablen maximal angenommen werden (dieses Limit wird auf die superglobalen $_GET, $_POST und $_COOKIE separat angewandt). Diese Direktive verhindert die Nutzung von Hashtable Kollisionen für eine Denial of Service Attacke. Wenn mehr Eingabe-Variablen gesendet werden, als mit dieser Direktive erlaubt, wird ein Fehler der Stufe E_WARNING geworfen und weitere Eingabe-Variablen werden nicht angenommen.

magic_quotes_gpc boolean
Warnung

Dieses Feature ist seit PHP 5.3.0 DEPRECATED (veraltet) und seit PHP 5.4.0 ENTFERNT.

Legt die magic_quotes Einstellungen für GPC (Get/Post/Cookie) fest. Ist diese Einstellung auf on, werden alle ' (einzelne Anführungszeichen), " (doppelte Anführungszeichen), \ (Backslash) und NUL's automatisch mit einem Backslash geschützt.

Hinweis:

PHP 4 werden auch $_ENV Variablen geschützt.

Hinweis:

Steht die Einstellung für magic_quotes_sybase ebenfalls auf ON, überschreibt diese magic_quotes_gpc komplett. Beide Einstellungen aktiviert bewirken, dass nur einzelne Anführungszeichen durch '' geschützt werden. Doppelte Anführungszeichen, Backslashes und NUL's werden nicht verändert und verbleiben im Originalzustand.

Siehe auch get_magic_quotes_gpc()

magic_quotes_runtime boolean
Warnung

Dieses Feature ist seit PHP 5.3.0 DEPRECATED (veraltet) und seit PHP 5.4.0 ENTFERNT.

Falls magic_quotes_runtime aktiviert ist, werden die meisten Funktionen die Daten von einer beliebigen externen Quelle zurückgeben, inklusive Datenbanken und Textdateien, die in den Daten enthaltenen Anführungszeichen mit einem Backslash geschützt zurückgeben. Falls zusätzlich magic_quotes_sybase auf on steht, werden einzelne Anführungszeichen mit einem einzelnen Anführungszeichen statt einem Backslash geschützt.

Funktionen die von magic_quotes_runtime betroffen sind (ohne die Funktionen aus PECL):

  • get_meta_tags()
  • file_get_contents()
  • file()
  • fgets()
  • fwrite()
  • fread()
  • fputcsv()
  • stream_socket_recvfrom()
  • exec()
  • system()
  • passthru()
  • stream_get_contents()
  • bzread()
  • gzfile()
  • gzgets()
  • gzwrite()
  • gzread()
  • phar_file_get_contents()
  • exif_read_data()
  • dba_insert()
  • dba_replace()
  • dba_fetch()
  • ibase_fetch_row()
  • ibase_fetch_assoc()
  • ibase_fetch_object()
  • mssql_fetch_row()
  • mssql_fetch_object()
  • mssql_fetch_array()
  • mssql_fetch_assoc()
  • mysqli_fetch_row()
  • mysqli_fetch_array()
  • mysqli_fetch_assoc()
  • mysqli_fetch_object()
  • pg_fetch_row()
  • pg_fetch_assoc()
  • pg_fetch_array()
  • pg_fetch_object()
  • pg_fetch_all()
  • pg_select()
  • sybase_fetch_object()
  • sybase_fetch_array()
  • sybase_fetch_assoc()
  • SplFileObject::fgets()
  • SplFileObject::fgetcsv()
  • SplFileObject::fwrite()

zend.enable_gc boolean

Aktiviert bzw. deaktiviert die Speicherbereinigung zirkulär abhängiger Referenzen.

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Die aufgelisteten Konstanten stehen immer zur Verfügung, da sie zum Grundbestand von PHP gehören.

Vordefinierte Konstanten für phpcredits()
Konstante | Wert | Beschreibung
CREDITS_GROUP | 1 | Eine Liste der Kernentwickler
CREDITS_GENERAL | 2 | Generelle Credits: Sprachentwurf und -konzept, PHP-Autoren und SAPI-Module.
CREDITS_SAPI | 4 | Eine Liste der Server-API-Module für PHP und deren Autoren.
CREDITS_MODULES | 8 | Eine Liste der Erweiterungsmodule für PHP und deren Autoren.
CREDITS_DOCS | 16 | Die Credits für das Documentationsteam.
CREDITS_FULLPAGE | 32 | Wird üblicherweise in Verbindung mit den anderen Konstanten verwendet. Gibt an, dass eine komplette, eigenständige HTML-Seite ausgegeben wird, die alle Informationen enthält, die mit anderen Konstanten angefordert wurden.
CREDITS_QA | 64 | Die Credits für das Qualitätssicherungsteam.
CREDITS_ALL | -1 | Alle Credits. Dies entspricht der Angabe von: CREDITS_DOCS + CREDITS_GENERAL + CREDITS_GROUP + CREDITS_MODULES + CREDITS_QA CREDITS_FULLPAGE. Eine komplette, eigenständige HTML-Seite mit den entsprechenden Tags wird erzeugt und ausgegeben. Das ist der Standardwert.
phpinfo()-Konstanten
Konstante | Wert | Beschreibung
INFO_GENERAL | 1 | Die Konfigurationsangaben, php.ini Speicherort, Builddatum, Webserver, Betriebssystem und mehr.
INFO_CREDITS | 2 | PHP-Credits. Siehe auch phpcredits().
INFO_CONFIGURATION | 4 | Gegenwärtige lokale und Master-Werte für PHP-Einstellungen. Siehe auch ini_get().
INFO_MODULES | 8 | Geladene Module und ihre entsprechenden Einstellungen.
INFO_ENVIRONMENT | 16 | Informationen über Umgebungsvariablen, die auch in $_ENV zur Verfügung stehen.
INFO_VARIABLES | 32 | Zeigt alle vordefinierten Variablen von EGPCS (Environment, GET, POST, Cookie, Server).
INFO_LICENSE | 64 | PHP-Lizenz-Informationen. Siehe auch die » Lizenz-FAQ.
INFO_ALL | -1 | Zeigt alle oben genannten Einträge. Das ist der Standardwert.
ASSERT_ACTIVE (integer)
ASSERT_CALLBACK (integer)
ASSERT_BAIL (integer)
ASSERT_WARNING (integer)
ASSERT_QUIET_EVAL (integer)
Ressource-Typen
PHP-Optionen-/-Informationen-Funktionen
PHP-Optionen/-Informationen


PHP-Optionen-/-Informationen-Funktionen

Inhaltsverzeichnis

  • assert_options — Setzt oder liefert die Assert-Optionen
  • assert — Prüft ab, ob eine Zusicherung FALSE ist
  • cli_get_process_title — Returns the current process title
  • cli_set_process_title — Sets the process title
  • dl — Lädt eine PHP-Erweiterung (Extension) zur Laufzeit
  • extension_loaded — Prüft ob eine Extension geladen ist
  • gc_collect_cycles — Forces collection of any existing garbage cycles
  • gc_disable — Deactivates the circular reference collector
  • gc_enable — Activates the circular reference collector
  • gc_enabled — Returns status of the circular reference collector
  • gc_mem_caches — Reclaims memory used by the Zend Engine memory manager
  • get_cfg_var — Ermittelt den Wert einer Konfigurationsoption
  • get_current_user — Liefert den Benutzernamen des Besitzers des aktuellen PHP-Skripts
  • get_defined_constants — Returns an associative array with the names of all the constants and their values
  • get_extension_funcs — Liefert die Namen der Funktionen einer Extension
  • get_include_path — Gets the current include_path configuration option
  • get_included_files — Liefert ein Array mit den Namen der includierten Dateien
  • get_loaded_extensions — Liefert ein Array mit den Namen aller einkompilierten und geladenen Extensions
  • get_magic_quotes_gpc — Zeigt die aktuelle Konfiguration von magic quotes gpc
  • get_magic_quotes_runtime — Zeigt die aktuelle Konfiguration von magic_quotes_runtime
  • get_required_files — Alias von get_included_files
  • get_resources — Returns active resources
  • getenv — Liefert den Wert einer Umgebungsvariable
  • getlastmod — Uhrzeit der letzten Änderung eines Scripts
  • getmygid — Get PHP script owner's GID
  • getmyinode — Ermittelt den Inode eines Skripts
  • getmypid — Prozess-Id eines Scripts
  • getmyuid — Zeigt die User-ID des Besitzers eines PHP-Scripts
  • getopt — Gets options from the command line argument list
  • getrusage — Zeigt den aktuellen Ressourcenverbrauch an
  • ini_alter — Alias von ini_set
  • ini_get_all — Gets all configuration options
  • ini_get — Gets the value of a configuration option
  • ini_restore — Restores the value of a configuration option
  • ini_set — Sets the value of a configuration option
  • magic_quotes_runtime — Alias von set_magic_quotes_runtime
  • main — Dummy for main
  • memory_get_peak_usage — Returns the peak of memory allocated by PHP
  • memory_get_usage — Returns the amount of memory allocated to PHP
  • php_ini_loaded_file — Retrieve a path to the loaded php.ini file
  • php_ini_scanned_files — Liefert die Liste von analysierten .ini-Dateien aus einem zusätzlichen ini-Verzeichnis
  • php_logo_guid — Die GUID des PHP-Logos
  • php_sapi_name — Gibt das genutzte Interface zwischen PHP und dem Webserver zurück
  • php_uname — Returns information about the operating system PHP is running on
  • phpcredits — Prints out the credits for PHP
  • phpinfo — Gibt Informationen zur PHP-Konfiguration aus
  • phpversion — Liefert die aktuelle PHP-Version
  • putenv — Setzt den Wert einer Umgebungsvariablen.
  • restore_include_path — Restores the value of the include_path configuration option
  • set_include_path — Sets the include_path configuration option
  • set_magic_quotes_runtime — Setzt magic_quotes_runtime
  • set_time_limit — Beschränkt die maximale Ausführungszeit
  • sys_get_temp_dir — Returns directory path used for temporary files
  • version_compare — Vergleicht zwei Versionsnummern im PHP-Stil
  • zend_logo_guid — Die GUID des Zend Logos
  • zend_thread_id — Returns a unique identifier for the current thread
  • zend_version — Liefert die aktuelle Version der Zend Engine
Vordefinierte Konstanten
assert_options
PHP-Optionen/-Informationen


Setzt oder liefert die Assert-Optionen

PHP-Optionen-/-Informationen-Funktionen
assert
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

assert_options

(PHP 4, PHP 5, PHP 7)

assert_options — Setzt oder liefert die Assert-Optionen

Beschreibung

mixed assert_options ( int $what [, mixed $value ] )

assert_options() ermöglicht es, die verschiedenen assert() Optionen zu setzen, oder abzufragen, welche Optionen gesetzt sind.

Parameter-Liste

what

assert Optionen
Option | Parameter in .ini-Datei | Standardwert | Beschreibung
ASSERT_ACTIVE | assert.active | 1 | assert() Überprüfung aktivieren
ASSERT_WARNING | assert.warning | 1 | gibt eine PHP-Warnung für jede fehlgeschlagene Überprüfung aus
ASSERT_BAIL | assert.bail | 0 | Beendet das Programm bei fehlgeschlagener Überprüfung
ASSERT_QUIET_EVAL | assert.quiet_eval | 0 | Unterdrückt die Fehlerausgabe während der Überprüfung
ASSERT_CALLBACK | assert_callback | (NULL) | Funktion, die bei fehlgeschlagener Überprüfung aufgerufen wird

value

An optional new value for the option.

Rückgabewerte

assert_options() gibt die Einstellung der gesetzten Optionen zurück oder liefert den Wert FALSE bei Auftreten eines Fehlers zurück.

Beispiele

Beispiel #1 assert_options() Beispiel

<?php
// Das ist unsere Funktion zur Behandlung von
// fehlgeschlagenen Überprüfungen
function assert_failure()
{
    echo 'Überprüfung fehlgeschlagen';
}

// Das ist unsere Testfunktion
function test_assert($parameter)
{
    assert(is_bool($parameter));
}

// Wir setzen unsere Überprüfungsoptionen
assert_options(ASSERT_ACTIVE,   true);
assert_options(ASSERT_BAIL,     true);
assert_options(ASSERT_WARNING,  false);
assert_options(ASSERT_CALLBACK, 'assert_failure');

// Wir führen eine Überprüfung durch, die fehlschlägt
test_assert(1);

// Dies wird nie erreicht, weil ASSERT_BAIL
// true ist
echo 'Unerreicht';
?>

Siehe auch

  • assert() - Prüft ab, ob eine Zusicherung FALSE ist

PHP-Optionen-/-Informationen-Funktionen
assert
PHP-Optionen-/-Informationen-Funktionen


Prüft ab, ob eine Zusicherung FALSE ist

assert_options
cli_get_process_title
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

assert

(PHP 4, PHP 5, PHP 7)

assert — Prüft ab, ob eine Zusicherung FALSE ist

Beschreibung

PHP 5 und 7

bool assert ( mixed $assertion [, string $description ] )

PHP 7

bool assert ( mixed $assertion [, Throwable $exception ] )

assert() überprüft den übergebenen Parameter assertion und verfährt entsprechend, falls die in assertion spezifizierte Bedingung FALSE ist.

Traditionelle Zusicherungen (PHP 5 und 7)

Wird der Parameter assertion als String übergeben, so wird der String als PHP-Code interpretiert. Vorteile der Übergabe des Parameters assertion als Zeichenkette sind geringerer Mehraufwand, wenn die Zusicherungsprüfung deaktiviert ist, und dass die ausgegebene Meldung die über assertion übergebene Zeichenkette enthält. Das bedeutet, dass bei Übergabe einer booleschen Bedingung an assertion, eine solche nicht als Parameter an die Zusicherungsfunktion, die möglicherweise per assert_options() Funktion definiert wurde, auftaucht; die Bedingung wird vor dem Aufruf der Handler-Funktion in eine Zeichenkette umgewandelt, und der boolesche Wert FALSE wird dabei zur leeren Zeichenkette konvertiert.

assert() sollte nur zum Debuggen des Codes verwendet werden. Es kann für Plausibilitätsprüfungen verwendet werden, um auf Bedingungen zu prüfen, die immer TRUE sein sollten, und die andernfalls Programmierfehler anzeigen, oder um auf die Verfügbarkeit bestimmter Merkmale, wie Erweiterungsfunktionen oder bestimmte Systembeschränkungen und Eigenschaften, zu prüfen.

Zusicherungen sollten nicht für normale Laufzeitoperationen wie die Überprüfung von Eingaben verwendet werden. Als Faustregel sollte der Code immer korrekt funktionieren können, auch wenn die Zusicherungsüberprüfung deaktiviert ist.

Die Optionen für die assert() können über die Funktion assert_options() oder durch ini Settings, die in der Handbuchseite dieser Funktion beschrieben werden, eingestellt werden.

Die Funktion assert_options() und/oder die ASSERT_CALLBACK Direktive ermöglicht eine Funktion anzugeben, die bei fehlschlagender Überprüfung aufgerufen wird.

Callback-Funktionen in Zusammenhang mit assert() sind nützlich, um beispielsweise automatisierte Tests durchzuführen, da die Callback-Funktion über die Information verfügt, von welcher Stelle sie aufgerufen wurde. Auch wenn diese Information mit anderen Methoden zugänglich ist, macht es die Verwendung von Zusicherungen viel schneller und leichter!

Die Callback-Funktion wird mit drei Parametern aufgerufen. Der erste Parameter enthält den Namen des Scripts, in dem die Überprüfung statt fand, der zweite Parameter die Zeilennummer, und der dritte Paramter enthält die über assertion angegebene Bedingung (wobei Literale wie 1 oder "zwei" nicht übergeben werden). Nutzer von PHP 5.4.8 und höher können ebenfalls ein viertes optionales Argument angeben, das die description, die an assert() übergeben wurde, enthält, wenn diese gesetzt wurde.

Erwartungen (nur PHP 7)

assert() ist in PHP 7 ein Sprachkonstrukt, das die Definition von Annahmen ermöglicht: Zusicherungen, die in Entwicklungs- und Testumgebungen wirken, aber so optimiert werden, dass sie in Produktionsumgebungen keinen Mehraufwand verursachen.

Während assert_options() noch immer verwendet werden kann, um das oben beschriebene Verhalten aus Gründen der Abwärtskompatibilität zu steuern, sollte Code, der nur für PHP 7 geschrieben wird, die beiden neuen Konfigurationsoptionen zur Steuerung von assert() verwenden, und nicht assert_options() aufrufen.

PHP 7 Konfigurationsdirektiven für assert()
Direktive Vorgabewert Mögliche Werte
zend.assertions 1
  • 1: erzeugt Code und führt ihn aus (Entwicklungsmodus)
  • 0: erzeugt Code, aber führt ihn zur Laufzeit nicht aus
  • -1: erzeugt keinen Code (Produktionsmodus)
assert.exception 0
  • 1: löst eine Exception aus, wenn die Zusicherung fehlschlägt; entweder das Objekt, das als exception übergeben wurde, oder ein neues AssertError Objekt, wenn exception nicht angegeben wurde.
  • 0: verwendet oder erzeugt eine Throwable Ausnahme wie oben beschrieben, aber erzeugt nur eine Warnung, die auf diesem Objekt basiert, anstatt eine Exception auszulösen (kompatibel zum Verhalten unter PHP 5).

Parameter-Liste

assertion

Die Zusicherung. In PHP 5 muss dies entweder ein auszuwertender string sein, oder ein zu testender boolean Ausdruck. In PHP 7 kann dies ebenso ein beliebiger Ausdruck, der einen Wert zurückgibt, sein, der ausgeführt und dessen Ergebnis verwendet wird, um anzuzeigen, ob die Zusicherung erfolgreich war oder fehlschlug.

description

Eine optionale Beschreibung, die in der Fehlermeldung enthalten sein wird, wenn die assertion fehlschlägt.

exception

In PHP 7 kann der zweite Parameter ein Throwable Objekt anstatt eines beschreibenden strings sein, so dass dieses Objekt als Exception geworfen wird, wenn die Zusicherung fehlschlägt und die assert.exception Konfigurationsdirektive aktiviert ist.

Rückgabewerte

FALSE wenn die Zusicherung nicht erfüllt ist, TRUE anderfalls.

Changelog

Version | Beschreibung
7.0.0 | assert() ist nun ein Sprachkonstrukt und keine Funktion mehr. assertion() kann nun ein Ausdruck sein. Der zweite Parameter wird nun entweder als exception interpretiert (wenn ein Throwable Objekt übergeben wird), oder als description, was ab PHP 5.4.8 unterstützt wird.
5.4.8 | Der description Parameter wurde hinzugefügt. Die description wird nun ebenfalls zu einer Callbackfunktion im ASSERT_CALLBACK Modus als viertes Argument übergeben.

Beispiele

Traditionelle Zusicherungen (PHP 5 und 7)

Beispiel #1 Überprüfung mit benutzerdefinierter Funktion

<?php
// Zusicherungen aktivieren und stumm schalten
assert_options(ASSERT_ACTIVE, 1);
assert_options(ASSERT_WARNING, 0);
assert_options(ASSERT_QUIET_EVAL, 1);

// Eine Handlerfunktion erzeugen
function my_assert_handler($file, $line, $code)
{
    echo "<hr>Zusicherung fehlgeschlagen:
        Datei '$file'<br />
        Zeile '$line'<br />
        Code '$code'<br /><hr />";
}

// Den Callback definieren
assert_options(ASSERT_CALLBACK, 'my_assert_handler');

// Eine fehlschlagende Zusicherung
assert('mysql_query("")');
?>

Beispiel #2 Verwendung eines benutzerdefinierten Handlers um eine Beschreibung anzuzeigen

<?php
// Zusicherungen aktivieren und stumm schalten
assert_options(ASSERT_ACTIVE, 1);
assert_options(ASSERT_WARNING, 0);
assert_options(ASSERT_QUIET_EVAL, 1);

// Eine Handlerfunktion erzeugen
function my_assert_handler($file, $line, $code, $desc = null)
{
    echo "Zusicherung fehlgeschlagen in $file:$line: $code";
    if ($desc) {
        echo ": $desc";
    }
    echo "\n";
}

// Den Callback definieren
assert_options(ASSERT_CALLBACK, 'my_assert_handler');

// Fehlschlagende Zusicherungen
assert('2 < 1');
assert('2 < 1', 'Zwei ist kleiner als Eins');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

 Zusicherung fehlgeschlagen in test.php:21: 2 < 1
 Zusicherung fehlgeschlagen in test.php:22: 2 < 1: Zwei ist kleiner als Eins

Annahmen (nur PHP 7)

Beispiel #3 Annahmen ohne benutzerdefinierte Exception

<?php
assert(true == false);
echo 'Hi!';
?>

Ist zend.assertions auf 0 gesetzt, gibt das obige Beispiel aus:

Hi!

Ist zend.assertions auf 1 und assert.exception auf 0 gesetzt, gibt das obige Beispiel aus:

Warning: assert(): assert(true == false) failed in - on line 2
Hi!

Ist zend.assertions auf 1 und assert.exception auf 1 gesetzt, gibt das obige Beispiel aus:

Fatal error: Uncaught AssertionError: assert(true == false) in -:2
Stack trace:
#0 -(2): assert(false, 'assert(true == ...')
#1 {main}
  thrown in - on line 2

Beispiel #4 Annahmen mit einer benutzerdefinierten Exception

<?php
class CustomError extends AssertionError {}

assert(true == false, new CustomError('True ist nicht false!'));
echo 'Hi!';
?>

Ist zend.assertions auf 0 gesetzt, gibt das obige Beispiel aus:

Hi!

Ist zend.assertions auf 1 und assert.exception auf 0 gesetzt, gibt das obige Beispiel aus:

Warning: assert(): CustomError: True ist nicht false! in -:4
Stack trace:
#0 {main} failed in - on line 4
Hi!

Ist zend.assertions auf 1 und assert.exception auf 1 gesetzt, gibt das obige Beispiel aus:

Fatal error: Uncaught CustomError: True ist nicht false! in -:4
Stack trace:
#0 {main}
  thrown in - on line 4

Siehe auch

  • assert_options() - Setzt oder liefert die Assert-Optionen

assert_options
cli_get_process_title
PHP-Optionen-/-Informationen-Funktionen


Returns the current process title

assert
cli_set_process_title
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

cli_get_process_title

(PHP 5 >= 5.5.0, PHP 7)

cli_get_process_title — Returns the current process title

Beschreibung

string cli_get_process_title ( void )

Returns the current process title, as set by cli_set_process_title(). Note that this may not exactly match what is shown in ps or top, depending on your operating system.

This function is available only in CLI mode.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Return a string with the current process title or NULL on error.

Fehler/Exceptions

An E_WARNING will be generated if the operating system is unsupported.

Beispiele

Beispiel #1 cli_get_process_title() example

<?php
echo "Process title: " . cli_get_process_title() . "\n";
?>

Siehe auch

  • cli_set_process_title() - Sets the process title

assert
cli_set_process_title
PHP-Optionen-/-Informationen-Funktionen


Sets the process title

cli_get_process_title
dl
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

cli_set_process_title

(PHP 5 >= 5.5.0, PHP 7)

cli_set_process_title — Sets the process title

Beschreibung

bool cli_set_process_title ( string $title )

Sets the process title visible in tools such as top and ps. This function is available only in CLI mode.

Parameter-Liste

title

The new title.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

An E_WARNING will be generated if the operating system is unsupported.

Beispiele

Beispiel #1 cli_set_process_title() example

<?php
$title = "My Amazing PHP Script";
$pid = getmypid(); // you can use this to see your process title in ps

if (!cli_set_process_title($title)) {
    echo "Unable to set process title for PID $pid...\n";
    exit(1);
} else {
    echo "The process title '$title' for PID $pid has been set for your process!\n";
    sleep(5);
}
?>

Siehe auch

  • cli_get_process_title() - Returns the current process title
  • setproctitle() - Set the process title

cli_get_process_title
dl
PHP-Optionen-/-Informationen-Funktionen


Lädt eine PHP-Erweiterung (Extension) zur Laufzeit

cli_set_process_title
extension_loaded
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

dl

(PHP 4, PHP 5, PHP 7)

dl — Lädt eine PHP-Erweiterung (Extension) zur Laufzeit

Beschreibung

int dl ( string $library )

Lädt die mittels dem Parameter library angegebene PHP-Erweiterung. Der Parameter library ist nur der Dateiname der zu ladenden Erweiterung (Extension), welcher von Ihrer Plattform abhängig ist. Z.B. würde die Extension sockets (wenn als shared module kompiliert, nicht standardmäßig!) auf Unix Plattformen sockets.so, und auf Windows Plattformen php_sockets.dll heißen.

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. Ist die Funktionalität des Ladens von Modulen nicht verfügbar (siehe Anmerkung), oder wurde sie deaktiviert (entweder durch Deaktivieren von enable_dl oder durch aktivieren von safe_mode in der php.ini), wird ein E_ERROR ausgegeben, und die Ausführung gestoppt. Scheitert dl() weil die angegebene Erweiterung nicht geladen werden konnte, wird zusätzlich zu FALSE eine E_WARNING Meldung ausgegeben.

Verwenden Sie extension_loaded() um zu testen, ob die gewünschte Erweiterung bereits verfügbar ist oder nicht. Dies funktioniert sowohl bei eingebauten, als auch bei dynamisch geladenen Erweiterungen (entweder durch php.ini, oder mittels dl()).

Beispiel #1 dl() Beispiel

if (!extension_loaded('gd')) {
    if (!dl('gd.so')) {
        exit;
    }
}

Das Verzeichnis, von wo aus die Erweiterung geladen wird, hängt von Ihrer Plattform ab:

Windows - Wenn nicht explizit in der php.ini angegeben, wird die Erweiterung standardmäßig von c:\php4\extensions\ geladen.

Unix - Wenn nicht explizit in der php.ini angegeben, hängt das standardmäßige Verzeichnis ab von:

  • ob PHP mit --enable-debug erstellt wurde oder nicht
  • ob PHP mit (experimentellem) ZTS (Zend Thread Safety) Unterstützung erstellt wurde oder nicht
  • der aktuellen internen ZEND_MODULE_API_NO (Zend interne Modul API Nummer, welche im Grunde das Datum der letzten größeren Modul API Änderung darstellt, z.B. 20010901).
Das obige in Betracht gezogen, ist das standardmäßige Verzeichnis <php-install-directory>/lib/php/extension/<debug-or-not>-<zts-or-not>-ZEND_MODULE_API_NO, z.B. /usr/local/php/lib/php/extensions/debug-non-zts-20010901 oder /usr/local/php/lib/php/extensions/no-debug-zts-20010901.

Hinweis:

dl() wird in multithreaded WebServern nicht unterstützt. In solch einer Umgebung verwenden Sie bitte die extensions Anweisung in Ihrer php.ini. Die CGI und CLI Module sind davon jedoch nicht betroffen!

Hinweis:

dl() unterscheidet auf Unix Plattformen zwischen Groß- und Kleinschreibung.

Siehe auch Extension Loading Directives and extension_loaded().

cli_set_process_title
extension_loaded
PHP-Optionen-/-Informationen-Funktionen


Prüft ob eine Extension geladen ist

dl
gc_collect_cycles
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

extension_loaded

(PHP 4, PHP 5, PHP 7)

extension_loaded — Prüft ob eine Extension geladen ist

Beschreibung

bool extension_loaded ( string $name )

Prüft ob eine Extension geladen ist.

Parameter-Liste

name

Der Name der Extension. Dieser Parameter ist Groß-/Kleinschreibungsunabhängig.

Eine Liste der Namen verschiedener Extensions finden Sie in der Ausgabe von phpinfo() oder Sie können das CGI oder CLI Binary mit der -m Option aufrufen:

$ php -m
[PHP Modules]
xml
tokenizer
standard
sockets
session
posix
pcre
overload
mysql
mbstring
ctype

[Zend Modules]

Rückgabewerte

Gibt TRUE zurück wenn die Extension mit dem gewünschten Namen geladen ist, sonst FALSE.

Beispiele

Beispiel #1 extension_loaded() Beispiel

<?php
if (!extension_loaded('gd')) {
    if (!dl('gd.so')) {
        exit;
    }
}
?>

Siehe auch

  • get_loaded_extensions() - Liefert ein Array mit den Namen aller einkompilierten und geladenen Extensions
  • get_extension_funcs() - Liefert die Namen der Funktionen einer Extension
  • phpinfo() - Gibt Informationen zur PHP-Konfiguration aus
  • dl() - Lädt eine PHP-Erweiterung (Extension) zur Laufzeit
  • function_exists() - Falls die angegebene Funktion definiert ist, wird TRUE zurück gegeben

dl
gc_collect_cycles
PHP-Optionen-/-Informationen-Funktionen


Forces collection of any existing garbage cycles

extension_loaded
gc_disable
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

gc_collect_cycles

(PHP 5 >= 5.3.0, PHP 7)

gc_collect_cycles — Forces collection of any existing garbage cycles

Beschreibung

int gc_collect_cycles ( void )

Forces collection of any existing garbage cycles.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns number of collected cycles.

Siehe auch

  • Garbage Collection

extension_loaded
gc_disable
PHP-Optionen-/-Informationen-Funktionen


Deactivates the circular reference collector

gc_collect_cycles
gc_enable
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

gc_disable

(PHP 5 >= 5.3.0, PHP 7)

gc_disable — Deactivates the circular reference collector

Beschreibung

void gc_disable ( void )

Deactivates the circular reference collector, setting zend.enable_gc to 0.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • Garbage Collection

gc_collect_cycles
gc_enable
PHP-Optionen-/-Informationen-Funktionen


Activates the circular reference collector

gc_disable
gc_enabled
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

gc_enable

(PHP 5 >= 5.3.0, PHP 7)

gc_enable — Activates the circular reference collector

Beschreibung

void gc_enable ( void )

Activates the circular reference collector, setting zend.enable_gc to 1.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • Garbage Collection

gc_disable
gc_enabled
PHP-Optionen-/-Informationen-Funktionen


Returns status of the circular reference collector

gc_enable
gc_mem_caches
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

gc_enabled

(PHP 5 >= 5.3.0, PHP 7)

gc_enabled — Returns status of the circular reference collector

Beschreibung

bool gc_enabled ( void )

Returns status of the circular reference collector.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the garbage collector is enabled, FALSE otherwise.

Beispiele

Beispiel #1 A gc_enabled() example

<?php
if(gc_enabled()) gc_collect_cycles();
?>

Siehe auch

  • Garbage Collection

gc_enable
gc_mem_caches
PHP-Optionen-/-Informationen-Funktionen


Reclaims memory used by the Zend Engine memory manager

gc_enabled
get_cfg_var
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

gc_mem_caches

(PHP 7)

gc_mem_caches — Reclaims memory used by the Zend Engine memory manager

Beschreibung

int gc_mem_caches ( void )

Reclaims memory used by the Zend Engine memory manager.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the number of bytes freed.

Siehe auch

  • Garbage Collection

gc_enabled
get_cfg_var
PHP-Optionen-/-Informationen-Funktionen


Ermittelt den Wert einer Konfigurationsoption

gc_mem_caches
get_current_user
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

get_cfg_var

(PHP 4, PHP 5, PHP 7)

get_cfg_var — Ermittelt den Wert einer Konfigurationsoption

Beschreibung

string get_cfg_var ( string $option )

Ermittelt den aktuellen Wert der Konfigurationsoption option.

Diese Funktion gibt keine Konfigurationsinformationen zurück die bereits bei der Kompilation von PHP oder über Apache-Konfigurationsdateien gesetzt wurden.

Um zu prüfen ob das System eine Konfigurationsdatei benutzt, können Sie versuchen den Wert der cfg_file_path Einstellung abzufragen. Wenn dieser verfügbar ist wird eine Konfigurationsdatei genutzt.

Parameter-Liste

option

Der Name der Konfigurationsvariable.

Rückgabewerte

Gibt den aktuellen Wert der mit option angegebenen Konfigurationsvariable zurück. Tritt ein Fehler auf so wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.3.0 | get_cfg_var() kann nun auch "array" Konfigurationsvariablen zurückgeben.

Siehe auch

  • ini_get() - Gets the value of a configuration option
  • ini_get_all() - Gets all configuration options

gc_mem_caches
get_current_user
PHP-Optionen-/-Informationen-Funktionen


Liefert den Benutzernamen des Besitzers des aktuellen PHP-Skripts

get_cfg_var
get_defined_constants
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

get_current_user

(PHP 4, PHP 5, PHP 7)

get_current_user — Liefert den Benutzernamen des Besitzers des aktuellen PHP-Skripts

Beschreibung

string get_current_user ( void )

Liefert den Namen des Benutzers, welcher der Besitzer der aktuell ausgeführten PHP-Skriptdatei ist.

Rückgabewerte

Liefert den Benutzernamen als String.

Beispiele

Beispiel #1 get_current_user()-Beispiel

<?php
echo 'Name des Benutzers: ' . get_current_user();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Name des Benutzers: SYSTEM

Siehe auch

  • getmyuid() - Zeigt die User-ID des Besitzers eines PHP-Scripts
  • getmygid() - Get PHP script owner's GID
  • getmypid() - Prozess-Id eines Scripts
  • getmyinode() - Ermittelt den Inode eines Skripts
  • getlastmod() - Uhrzeit der letzten Änderung eines Scripts

get_cfg_var
get_defined_constants
PHP-Optionen-/-Informationen-Funktionen


Returns an associative array with the names of all the constants and their values

get_current_user
get_extension_funcs
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

get_defined_constants

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

get_defined_constants — Returns an associative array with the names of all the constants and their values

Beschreibung

array get_defined_constants ([ bool $categorize = false ] )

Returns the names and values of all the constants currently defined. This includes those created by extensions as well as those created with the define() function.

Parameter-Liste

categorize

Causing this function to return a multi-dimensional array with categories in the keys of the first dimension and constants and their values in the second dimension.

<?php
define("MY_CONSTANT", 1);
print_r(get_defined_constants(true));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [Core] => Array
        (
            [E_ERROR] => 1
            [E_WARNING] => 2
            [E_PARSE] => 4
            [E_NOTICE] => 8
            [E_CORE_ERROR] => 16
            [E_CORE_WARNING] => 32
            [E_COMPILE_ERROR] => 64
            [E_COMPILE_WARNING] => 128
            [E_USER_ERROR] => 256
            [E_USER_WARNING] => 512
            [E_USER_NOTICE] => 1024
            [E_ALL] => 2047
            [TRUE] => 1
        )

    [pcre] => Array
        (
            [PREG_PATTERN_ORDER] => 1
            [PREG_SET_ORDER] => 2
            [PREG_OFFSET_CAPTURE] => 256
            [PREG_SPLIT_NO_EMPTY] => 1
            [PREG_SPLIT_DELIM_CAPTURE] => 2
            [PREG_SPLIT_OFFSET_CAPTURE] => 4
            [PREG_GREP_INVERT] => 1
        )

    [user] => Array
        (
            [MY_CONSTANT] => 1
        )

)

Rückgabewerte

Returns an array of constant name => constant value array, optionally groupped by extension name registering the constant.

Changelog

Version | Beschreibung
5.3.1 | Windows only: Core constants are categorized under Core, previously mhash.
5.3.0 | Core constants are categorized under Core, previously internal. On Windows, the Core Constants are categorized under mhash.
5.2.11 | The categorize parameter now operates appropriately. Previously, the categorize parameter was interpreted as !is_null($categorize), making any value other than NULL force the constants to be categorized.

Beispiele

Beispiel #1 get_defined_constants() Example

<?php
print_r(get_defined_constants());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [E_ERROR] => 1
    [E_WARNING] => 2
    [E_PARSE] => 4
    [E_NOTICE] => 8
    [E_CORE_ERROR] => 16
    [E_CORE_WARNING] => 32
    [E_COMPILE_ERROR] => 64
    [E_COMPILE_WARNING] => 128
    [E_USER_ERROR] => 256
    [E_USER_WARNING] => 512
    [E_USER_NOTICE] => 1024
    [E_ALL] => 2047
    [TRUE] => 1
)

Siehe auch

  • defined() - Prüft, ob eine benannte Konstante existiert
  • get_loaded_extensions() - Liefert ein Array mit den Namen aller einkompilierten und geladenen Extensions
  • get_defined_functions() - Liefert ein Array aller definierten Funktionen
  • get_defined_vars() - Gibt ein Array aller definierten Variablen zurück

get_current_user
get_extension_funcs
PHP-Optionen-/-Informationen-Funktionen


Liefert die Namen der Funktionen einer Extension

get_defined_constants
get_include_path
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

get_extension_funcs

(PHP 4, PHP 5, PHP 7)

get_extension_funcs — Liefert die Namen der Funktionen einer Extension

Beschreibung

array get_extension_funcs ( string $module_name )

Diese Funktion gibt die Namen aller in der gegebenen Extension definierten Funktionen zurück.

Parameter-Liste

module_name

Der Extensionname.

Hinweis:

Der Name muss klein geschrieben werden.

Rückgabewerte

Gibt ein Array mit den Namen aller Funktionen zurück oder FALSE wenn keine Extension mit dem Namen module_name geladen ist.

Beispiele

Beispiel #1 Gibt alle XML Funktionen aus

<?php
print_r(get_extension_funcs("xml"));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [0] => xml_parser_create
    [1] => xml_parser_create_ns
    [2] => xml_set_object
    [3] => xml_set_element_handler
    [4] => xml_set_character_data_handler
    [5] => xml_set_processing_instruction_handler
    [6] => xml_set_default_handler
    [7] => xml_set_unparsed_entity_decl_handler
    [8] => xml_set_notation_decl_handler
    [9] => xml_set_external_entity_ref_handler
    [10] => xml_set_start_namespace_decl_handler
    [11] => xml_set_end_namespace_decl_handler
    [12] => xml_parse
    [13] => xml_parse_into_struct
    [14] => xml_get_error_code
    [15] => xml_error_string
    [16] => xml_get_current_line_number
    [17] => xml_get_current_column_number
    [18] => xml_get_current_byte_index
    [19] => xml_parser_free
    [20] => xml_parser_set_option
    [21] => xml_parser_get_option
    [22] => utf8_encode
    [23] => utf8_decode
)

Siehe auch

  • get_loaded_extensions() - Liefert ein Array mit den Namen aller einkompilierten und geladenen Extensions
  • ReflectionExtension::getFunctions() - Gets extension functions

get_defined_constants
get_include_path
PHP-Optionen-/-Informationen-Funktionen


Gets the current include_path configuration option

get_extension_funcs
get_included_files
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

get_include_path

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

get_include_path — Gets the current include_path configuration option

Beschreibung

string get_include_path ( void )

Gets the current include_path configuration option value.

Rückgabewerte

Returns the path, as a string.

Beispiele

Beispiel #1 get_include_path() example

<?php
echo get_include_path();

// Or using ini_get()
echo ini_get('include_path');
?>

Siehe auch

  • ini_get() - Gets the value of a configuration option
  • restore_include_path() - Restores the value of the include_path configuration option
  • set_include_path() - Sets the include_path configuration option
  • include - include

get_extension_funcs
get_included_files
PHP-Optionen-/-Informationen-Funktionen


Liefert ein Array mit den Namen der includierten Dateien

get_include_path
get_loaded_extensions
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

get_included_files

(PHP 4, PHP 5, PHP 7)

get_included_files — Liefert ein Array mit den Namen der includierten Dateien

Beschreibung

array get_included_files ( void )

Gibt die Namen aller Dateien zurück die mit include, include_once, require oder require_once eingebunden wurden.

Rückgabewerte

Gibt ein Array mit Dateinamen zurück.

Das ursprünglich aufgerufene Skript wird auch als includierte Datei angesehen und damit zusammen mit den Namen der tatäschlich mit include etc. eingebundenen Dateien zurückgegeben.

Dateien die mehrfach eingebunden werden erscheinen nur einfach im Ergebnisarray.

Beispiele

Beispiel #1 get_included_files()Beispiel

<?php
// Diese Datei ist abc.php

include 'test1.php';
include_once 'test2.php';
require 'test3.php';
require_once 'test4.php';

$included_files = get_included_files();

foreach ($included_files as $filename) {
    echo "$filename\n";
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

abc.php
test1.php
test2.php
test3.php
test4.php

Anmerkungen

Hinweis:

Dateien die über die auto_prepend_file Konfigurationsdirektive eingebunden werden sind nicht Teil des Ergebnisarrays.

Siehe auch

  • include - include
  • include_once - include_once
  • require - require
  • require_once - require_once
  • get_required_files() - Alias von get_included_files

get_include_path
get_loaded_extensions
PHP-Optionen-/-Informationen-Funktionen


Liefert ein Array mit den Namen aller einkompilierten und geladenen Extensions

get_included_files
get_magic_quotes_gpc
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

get_loaded_extensions

(PHP 4, PHP 5, PHP 7)

get_loaded_extensions — Liefert ein Array mit den Namen aller einkompilierten und geladenen Extensions

Beschreibung

array get_loaded_extensions ([ bool $zend_extensions = false ] )

Diese Funktion gibt die Namen aller in den PHP Interpreter einkompilierten und geladenen Extensions aus.

Parameter-Liste

zend_extensions

Legt fest ob nur Zend Extensions zurückgegeben werden sollen. Vorgabewert ist FALSE d.h. es werden nur reguläre Extensions zurückgegeben.

Rückgabewerte

Gibt ein Array mit den Namen aller Extensions zurück.

Changelog

Version | Beschreibung
5.2.4 | Der optionale Parameter zend_extensions wurde hinzugefügt.

Beispiele

Beispiel #1 get_loaded_extensions() Beispiele

<?php
print_r(get_loaded_extensions());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
   [0] => xml
   [1] => wddx
   [2] => standard
   [3] => session
   [4] => posix
   [5] => pgsql
   [6] => pcre
   [7] => gd
   [8] => ftp
   [9] => db
   [10] => calendar
   [11] => bcmath
)

Siehe auch

  • get_extension_funcs() - Liefert die Namen der Funktionen einer Extension
  • extension_loaded() - Prüft ob eine Extension geladen ist
  • dl() - Lädt eine PHP-Erweiterung (Extension) zur Laufzeit
  • phpinfo() - Gibt Informationen zur PHP-Konfiguration aus

get_included_files
get_magic_quotes_gpc
PHP-Optionen-/-Informationen-Funktionen


Zeigt die aktuelle Konfiguration von magic quotes gpc

get_loaded_extensions
get_magic_quotes_runtime
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

get_magic_quotes_gpc

(PHP 4, PHP 5, PHP 7)

get_magic_quotes_gpc — Zeigt die aktuelle Konfiguration von magic quotes gpc

Beschreibung

bool get_magic_quotes_gpc ( void )

Zeigt die aktuelle Konfiguration von magic_quotes_gpc. (0 für aus, 1 für an).

Siehe auch get_magic_quotes_runtime() und set_magic_quotes_runtime().

get_loaded_extensions
get_magic_quotes_runtime
PHP-Optionen-/-Informationen-Funktionen


Zeigt die aktuelle Konfiguration von magic_quotes_runtime

get_magic_quotes_gpc
get_required_files
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

get_magic_quotes_runtime

(PHP 4, PHP 5, PHP 7)

get_magic_quotes_runtime — Zeigt die aktuelle Konfiguration von magic_quotes_runtime

Beschreibung

Long get_magic_quotes_runtime ( void )

Zeigt die aktuelle Konfiguration von magic_quotes_runtime. (0 für aus, 1 für an).

Siehe auch get_magic_quotes_gpc() und set_magic_quotes_runtime().

get_magic_quotes_gpc
get_required_files
PHP-Optionen-/-Informationen-Funktionen


Alias von get_included_files

get_magic_quotes_runtime
get_resources
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

get_required_files

(PHP 4, PHP 5, PHP 7)

get_required_files — Alias von get_included_files()

Beschreibung

Diese Funktion ist ein Alias für: get_included_files().

get_magic_quotes_runtime
get_resources
PHP-Optionen-/-Informationen-Funktionen


Returns active resources

get_required_files
getenv
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

get_resources

(PHP 7)

get_resources — Returns active resources

Beschreibung

array get_resources ([ string $type ] )

Returns an array of all currently active resources, optionally filtered by resource type.

Parameter-Liste

type

If defined, this will cause get_resources() to only return resources of the given type. A list of resource types is available.

If the string Unknown is provided as the type, then only resources that are of an unknown type will be returned.

If omitted, all resources will be returned.

Rückgabewerte

Returns an array of currently active resources, indexed by resource number.

Beispiele

Beispiel #1 Unfiltered get_resources()

<?php
$fp = tmpfile();
var_dump(get_resources());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(1) {
  [1]=>
  resource(1) of type (stream)
}

Beispiel #2 Filtered get_resources()

<?php
$fp = tmpfile();
var_dump(get_resources('stream'));
var_dump(get_resources('curl'));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(1) {
  [1]=>
  resource(1) of type (stream)
}
array(0) {
}

Siehe auch

  • get_loaded_extensions() - Liefert ein Array mit den Namen aller einkompilierten und geladenen Extensions
  • get_defined_constants() - Returns an associative array with the names of all the constants and their values
  • get_defined_functions() - Liefert ein Array aller definierten Funktionen
  • get_defined_vars() - Gibt ein Array aller definierten Variablen zurück

get_required_files
getenv
PHP-Optionen-/-Informationen-Funktionen


Liefert den Wert einer Umgebungsvariable

get_resources
getlastmod
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

getenv

(PHP 4, PHP 5, PHP 7)

getenv — Liefert den Wert einer Umgebungsvariable

Beschreibung

string getenv ( string $varname )

Liefert den Wert einer Umgebungsvariable.

Eine Liste aller Umgebungsvariablen können Sie über die Funktion phpinfo() anzeigen lassen. Die Bedeutung vieler dieser Variablen können Sie in der » RFC 3875 im Abschnitt 4.1 "Request Meta-Variables" nachlesen.

Parameter-Liste

varname

Der Variablenname

Rückgabewerte

Gibt den Wert der Umgebungsvariable varname zurück oder FALSE, wenn die Umgebungsvariable varname nicht existiert.

Beispiele

Beispiel #1 getenv()-Beispiel

<?php
// nutzen Sie getenv() ...
$ip = getenv('REMOTE_ADDR');

// ... oder einfache die superglobalen Arrays ($_SERVER oder $_ENV)
$ip = $_SERVER['REMOTE_ADDR'];
?>

Siehe auch

  • putenv() - Setzt den Wert einer Umgebungsvariablen.
  • apache_getenv() - Liefert eine Apache-Subprocess_env-Variable
  • Superglobals

get_resources
getlastmod
PHP-Optionen-/-Informationen-Funktionen


Uhrzeit der letzten Änderung eines Scripts

getenv
getmygid
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

getlastmod

(PHP 4, PHP 5, PHP 7)

getlastmod — Uhrzeit der letzten Änderung eines Scripts

Beschreibung

int getlastmod ( void )

Ermittelt die Uhrzeit der letzten Änderung des ausgeführten Scripts

Wenn Sie sich für das Änderungsdatum einer anderen Datei interessieren nutzen Sie statt dessen filemtime().

Rückgabewerte

Liefert die Zeit der letzten Änderung des auseführten Skripts. Der Wert wird als Unix Timestamp zurückgegebn und kann mit Hilfe der Funktion date() verarbeitet werden. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 getlastmod() Beispiel

<?php
// Liefert z.B. 'Letzte Änderung: March 04 1998 20:43:59.'
echo "Letzte Änderung: " . date ("F d Y H:i:s.", getlastmod());
?>

Siehe auch

  • date() - Formatiert ein(e) angegebene(s) Ortszeit/Datum
  • getmyuid() - Zeigt die User-ID des Besitzers eines PHP-Scripts
  • getmygid() - Get PHP script owner's GID
  • get_current_user() - Liefert den Benutzernamen des Besitzers des aktuellen PHP-Skripts
  • getmyinode() - Ermittelt den Inode eines Skripts
  • getmypid() - Prozess-Id eines Scripts
  • filemtime() - Liefert Datum und Uhrzeit der letzten Dateiänderung

getenv
getmygid
PHP-Optionen-/-Informationen-Funktionen


Get PHP script owner's GID

getlastmod
getmyinode
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

getmygid

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

getmygid — Get PHP script owner's GID

Beschreibung

int getmygid ( void )

Gets the group ID of the current script.

Rückgabewerte

Returns the group ID of the current script, or FALSE on error.

Siehe auch

  • getmyuid() - Zeigt die User-ID des Besitzers eines PHP-Scripts
  • getmypid() - Prozess-Id eines Scripts
  • get_current_user() - Liefert den Benutzernamen des Besitzers des aktuellen PHP-Skripts
  • getmyinode() - Ermittelt den Inode eines Skripts
  • getlastmod() - Uhrzeit der letzten Änderung eines Scripts

getlastmod
getmyinode
PHP-Optionen-/-Informationen-Funktionen


Ermittelt den Inode eines Skripts

getmygid
getmypid
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

getmyinode

(PHP 4, PHP 5, PHP 7)

getmyinode — Ermittelt den Inode eines Skripts

Beschreibung

int getmyinode ( void )

Ermittelt den Inode der aktuell ausgeführten Skriptdatei.

Rückgabewerte

Gibt die Inode-Nummer der aktuellen Skriptdatei als Integer zurück oder FALSE bei fehlern.

Anmerkungen

Hinweis: Diese Funktion ist auf Windows-Plattformen nicht implementiert.

Siehe auch

  • getmygid() - Get PHP script owner's GID
  • getmyuid() - Zeigt die User-ID des Besitzers eines PHP-Scripts
  • getmypid() - Prozess-Id eines Scripts
  • get_current_user() - Liefert den Benutzernamen des Besitzers des aktuellen PHP-Skripts
  • getlastmod() - Uhrzeit der letzten Änderung eines Scripts

getmygid
getmypid
PHP-Optionen-/-Informationen-Funktionen


Prozess-Id eines Scripts

getmyinode
getmyuid
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

getmypid

(PHP 4, PHP 5, PHP 7)

getmypid — Prozess-Id eines Scripts

Beschreibung

int getmypid ( void )

Liefert die Prozess-ID unter der das Skript ausgeführt wird.

Rückgabewerte

Liefert die Prozess-ID unter der das Skript ausgeführt wird, oder FALSE bei Fehlern

Anmerkungen

Warnung

Prozess-IDs sind nicht eindeutig, sie sind daher eine schwache Entropiequelle. Wir raten davon ab sich in sicherheitsrelevanten Bereichen auf Prozess-IDs zu verlassen.

Siehe auch

  • getmygid() - Get PHP script owner's GID
  • getmyuid() - Zeigt die User-ID des Besitzers eines PHP-Scripts
  • get_current_user() - Liefert den Benutzernamen des Besitzers des aktuellen PHP-Skripts
  • getmyinode() - Ermittelt den Inode eines Skripts
  • getlastmod() - Uhrzeit der letzten Änderung eines Scripts

getmyinode
getmyuid
PHP-Optionen-/-Informationen-Funktionen


Zeigt die User-ID des Besitzers eines PHP-Scripts

getmypid
getopt
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

getmyuid

(PHP 4, PHP 5, PHP 7)

getmyuid — Zeigt die User-ID des Besitzers eines PHP-Scripts

Beschreibung

int getmyuid ( void )

Liefert die User-ID des Besitzers des aktuellen Scripts

Rückgabewerte

Liefert die User-ID des aktuellen Scripts oder FALSE bei einem Fehler.

Siehe auch

  • getmygid() - Get PHP script owner's GID
  • getmypid() - Prozess-Id eines Scripts
  • get_current_user() - Liefert den Benutzernamen des Besitzers des aktuellen PHP-Skripts
  • getmyinode() - Ermittelt den Inode eines Skripts
  • getlastmod() - Uhrzeit der letzten Änderung eines Scripts

getmypid
getopt
PHP-Optionen-/-Informationen-Funktionen


Gets options from the command line argument list

getmyuid
getrusage
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

getopt

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

getopt — Gets options from the command line argument list

Beschreibung

array getopt ( string $options [, array $longopts [, int &$optind ]] )

Parses options passed to the script.

Parameter-Liste

options
Each character in this string will be used as option characters and matched against options passed to the script starting with a single hyphen (-). For example, an option string "x" recognizes an option -x. Only a-z, A-Z and 0-9 are allowed.
longopts
An array of options. Each element in this array will be used as option strings and matched against options passed to the script starting with two hyphens (--). For example, an longopts element "opt" recognizes an option --opt.
optind
If the optind parameter is present, then the index where argument parsing stopped will be written to this variable.

The options parameter may contain the following elements:

  • Individual characters (do not accept values)
  • Characters followed by a colon (parameter requires value)
  • Characters followed by two colons (optional value)
Option values are the first argument after the string. If a value is required, it does not matter whether the value has leading white space or not. See note.

Hinweis: Optional values do not accept " " (space) as a separator.

Hinweis:

The format for the options and longopts is almost the same, the only difference is that longopts takes an array of options (where each element is the option) whereas options takes a string (where each character is the option).

Rückgabewerte

This function will return an array of option / argument pairs, Im Fehlerfall wird FALSE zurückgegeben..

Hinweis:

The parsing of options will end at the first non-option found, anything that follows is discarded.

Changelog

Version | Beschreibung
7.1.0 | Added the optind parameter.
5.3.0 | Added support for "=" as argument/value separator.
5.3.0 | Added support for optional values (specified with "::").
5.3.0 | Parameter longopts is available on all systems.
5.3.0 | This function is no longer system dependent, and now works on Windows, too.

Beispiele

Beispiel #1 getopt() example: The basics

<?php
// Script example.php
$options = getopt("f:hp:");
var_dump($options);
?>
shell> php example.php -fvalue -h

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  ["f"]=>
  string(5) "value"
  ["h"]=>
  bool(false)
}

Beispiel #2 getopt() example: Introducing long options

<?php
// Script example.php
$shortopts  = "";
$shortopts .= "f:";  // Required value
$shortopts .= "v::"; // Optional value
$shortopts .= "abc"; // These options do not accept values

$longopts  = array(
    "required:",     // Required value
    "optional::",    // Optional value
    "option",        // No value
    "opt",           // No value
);
$options = getopt($shortopts, $longopts);
var_dump($options);
?>
shell> php example.php -f "value for f" -v -a --required value --optional="optional value" --option

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(6) {
  ["f"]=>
  string(11) "value for f"
  ["v"]=>
  bool(false)
  ["a"]=>
  bool(false)
  ["required"]=>
  string(5) "value"
  ["optional"]=>
  string(14) "optional value"
  ["option"]=>
  bool(false)
}

Beispiel #3 getopt() example: Passing multiple options as one

<?php
// Script example.php
$options = getopt("abc");
var_dump($options);
?>
shell> php example.php -aaac

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  ["a"]=>
  array(3) {
    [0]=>
    bool(false)
    [1]=>
    bool(false)
    [2]=>
    bool(false)
  }
  ["c"]=>
  bool(false)
}

Beispiel #4 getopt() example: Using optind

<?php
// Script example.php
$optind = null;
$opts = getopt('a:b:', [], $optind);
$pos_args = array_slice($argv, $optind);
var_dump($pos_args);
shell> php example.php -a 1 -b 2 -- test

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(1) {
  [0]=>
  string(4) "test"
}

Siehe auch

  • $argv

getmyuid
getrusage
PHP-Optionen-/-Informationen-Funktionen


Zeigt den aktuellen Ressourcenverbrauch an

getopt
ini_alter
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

getrusage

(PHP 4, PHP 5, PHP 7)

getrusage — Zeigt den aktuellen Ressourcenverbrauch an

Beschreibung

array getrusage ([ int $who ] )

Dies ist eine Schnittstlle zu getrusage(2). Stellt ein assoziatives Array mit den Daten zur Verfügung, die der Systemaufruf ausgibt. Wenn who 1 ist, wird getusage mit RUSAGE_CHILDREN aufgerufen.

Alle Einträge können über ihre Dukumentenfeldernamen aufgerufen werden.

Beispiel #1 getrusage() Beispiel

$dat = getrusage();
echo $dat["ru_nswap"];         # number of swaps
echo $dat["ru_majflt"];        # number of page faults
echo $dat["ru_utime.tv_sec"];  # user time used (seconds)
echo $dat["ru_utime.tv_usec"]; # user time used (microseconds)
Siehe auch im Handbuch des Betriebssystems für weitere Details.

getopt
ini_alter
PHP-Optionen-/-Informationen-Funktionen


Alias von ini_set

getrusage
ini_get_all
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

ini_alter

(PHP 4, PHP 5, PHP 7)

ini_alter — Alias von ini_set()

Beschreibung

Diese Funktion ist ein Alias für: ini_set().

getrusage
ini_get_all
PHP-Optionen-/-Informationen-Funktionen


Gets all configuration options

ini_alter
ini_get
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

ini_get_all

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

ini_get_all — Gets all configuration options

Beschreibung

array ini_get_all ([ string $extension [, bool $details = true ]] )

Returns all the registered configuration options.

Parameter-Liste

extension

An optional extension name. If set, the function return only options specific for that extension.

details

Retrieve details settings or only the current value for each setting. Default is TRUE (retrieve details).

Rückgabewerte

Returns an associative array with directive name as the array key.

When details is TRUE (default) the array will contain global_value (set in php.ini), local_value (perhaps set with ini_set() or .htaccess), and access (the access level).

When details is FALSE the value will be the current value of the option.

See the manual section for information on what access levels mean.

Hinweis:

It's possible for a directive to have multiple access levels, which is why access shows the appropriate bitmask values.

Anmerkungen

Hinweis:

ini_get_all() ignores "array" ini options such as pdo.dsn.*.

Changelog

Version | Beschreibung
5.3.0 | Added details.

Beispiele

Beispiel #1 ini_get_all() examples

<?php
print_r(ini_get_all("pcre"));
print_r(ini_get_all());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [pcre.backtrack_limit] => Array
        (
            [global_value] => 100000
            [local_value] => 100000
            [access] => 7
        )

    [pcre.recursion_limit] => Array
        (
            [global_value] => 100000
            [local_value] => 100000
            [access] => 7
        )

)
Array
(
    [allow_call_time_pass_reference] => Array
        (
            [global_value] => 0
            [local_value] => 0
            [access] => 6
        )

    [allow_url_fopen] => Array
        (
            [global_value] => 1
            [local_value] => 1
            [access] => 4
        )

    ...

)

Beispiel #2 Disabling details

<?php
print_r(ini_get_all("pcre", false)); // Added in PHP 5.3.0
print_r(ini_get_all(null, false)); // Added in PHP 5.3.0
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [pcre.backtrack_limit] => 100000
    [pcre.recursion_limit] => 100000
)
Array
(
    [allow_call_time_pass_reference] => 0
    [allow_url_fopen] => 1
    ...
)

Siehe auch

  • Wie man Konfigurationseinstellungen ändert
  • ini_get() - Gets the value of a configuration option
  • ini_restore() - Restores the value of a configuration option
  • ini_set() - Sets the value of a configuration option
  • get_loaded_extensions() - Liefert ein Array mit den Namen aller einkompilierten und geladenen Extensions
  • phpinfo() - Gibt Informationen zur PHP-Konfiguration aus
  • ReflectionExtension::getINIEntries() - Gets extension ini entries

ini_alter
ini_get
PHP-Optionen-/-Informationen-Funktionen


Gets the value of a configuration option

ini_get_all
ini_restore
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

ini_get

(PHP 4, PHP 5, PHP 7)

ini_get — Gets the value of a configuration option

Beschreibung

string ini_get ( string $varname )

Returns the value of the configuration option on success.

Parameter-Liste

varname

The configuration option name.

Rückgabewerte

Returns the value of the configuration option as a string on success, or an empty string for null values. Returns FALSE if the configuration option doesn't exist.

Beispiele

Beispiel #1 A few ini_get() examples

<?php
/*
Our php.ini contains the following settings:

display_errors = On
register_globals = Off
post_max_size = 8M
*/

echo 'display_errors = ' . ini_get('display_errors') . "\n";
echo 'register_globals = ' . ini_get('register_globals') . "\n";
echo 'post_max_size = ' . ini_get('post_max_size') . "\n";
echo 'post_max_size+1 = ' . (ini_get('post_max_size')+1) . "\n";
echo 'post_max_size in bytes = ' . return_bytes(ini_get('post_max_size'));

function return_bytes($val) {
    $val = trim($val);
    $last = strtolower($val[strlen($val)-1]);
    switch($last) {
        // The 'G' modifier is available since PHP 5.1.0
        case 'g':
            $val *= 1024;
        case 'm':
            $val *= 1024;
        case 'k':
            $val *= 1024;
    }

    return $val;
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

display_errors = 1
register_globals = 0
post_max_size = 8M
post_max_size+1 = 9
post_max_size in bytes = 8388608

Anmerkungen

Hinweis: When querying boolean values

A boolean ini value of off will be returned as an empty string or "0" while a boolean ini value of on will be returned as "1". The function can also return the literal string of INI value.

Hinweis: When querying memory size values

Many ini memory size values, such as upload_max_filesize, are stored in the php.ini file in shorthand notation. ini_get() will return the exact string stored in the php.ini file and NOT its integer equivalent. Attempting normal arithmetic functions on these values will not have otherwise expected results. The example above shows one way to convert shorthand notation into bytes, much like how the PHP source does it.

Hinweis:

ini_get() can't read "array" ini options such as pdo.dsn.*, and returns FALSE in this case.

Changelog

Version | Beschreibung
5.3.0 | Previously, the empty string was returned if the configuration option didn't exist. now, FALSE is returned instead.

Siehe auch

  • get_cfg_var() - Ermittelt den Wert einer Konfigurationsoption
  • ini_get_all() - Gets all configuration options
  • ini_restore() - Restores the value of a configuration option
  • ini_set() - Sets the value of a configuration option

ini_get_all
ini_restore
PHP-Optionen-/-Informationen-Funktionen


Restores the value of a configuration option

ini_get
ini_set
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

ini_restore

(PHP 4, PHP 5, PHP 7)

ini_restore — Restores the value of a configuration option

Beschreibung

void ini_restore ( string $varname )

Restores a given configuration option to its original value.

Parameter-Liste

varname

The configuration option name.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ini_restore() example

<?php
$setting = 'y2k_compliance';

echo 'Current value for \'' . $setting . '\': ' . ini_get($setting), PHP_EOL;

ini_set($setting, ini_get($setting) ? 0 : 1);
echo 'New value for \'' . $setting . '\': ' . ini_get($setting), PHP_EOL;

ini_restore($setting);
echo 'Original value for \'' . $setting . '\': ' . ini_get($setting), PHP_EOL;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Current value for 'y2k_compliance': 1
New value for 'y2k_compliance': 0
Original value for 'y2k_compliance': 1

Siehe auch

  • ini_get() - Gets the value of a configuration option
  • ini_get_all() - Gets all configuration options
  • ini_set() - Sets the value of a configuration option

ini_get
ini_set
PHP-Optionen-/-Informationen-Funktionen


Sets the value of a configuration option

ini_restore
magic_quotes_runtime
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

ini_set

(PHP 4, PHP 5, PHP 7)

ini_set — Sets the value of a configuration option

Beschreibung

string ini_set ( string $varname , string $newvalue )

Sets the value of the given configuration option. The configuration option will keep this new value during the script's execution, and will be restored at the script's ending.

Parameter-Liste

varname

Not all the available options can be changed using ini_set(). There is a list of all available options in the appendix.

newvalue

The new value for the option.

Rückgabewerte

Returns the old value on success, FALSE on failure.

Beispiele

Beispiel #1 Setting an ini option

<?php
echo ini_get('display_errors');

if (!ini_get('display_errors')) {
    ini_set('display_errors', '1');
}

echo ini_get('display_errors');
?>

Siehe auch

  • get_cfg_var() - Ermittelt den Wert einer Konfigurationsoption
  • ini_get() - Gets the value of a configuration option
  • ini_get_all() - Gets all configuration options
  • ini_restore() - Restores the value of a configuration option
  • How to change configuration settings

ini_restore
magic_quotes_runtime
PHP-Optionen-/-Informationen-Funktionen


Alias von set_magic_quotes_runtime

ini_set
main
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

magic_quotes_runtime

(PHP 4, PHP 5)

magic_quotes_runtime — Alias von set_magic_quotes_runtime()

Warnung

Dieser Alias ist seit PHP 5.3.0 DEPRECATED (veraltet) und seit PHP 7.0.0 ENTFERNT.

Beschreibung

Diese Funktion ist ein Alias für: set_magic_quotes_runtime()

ini_set
main
PHP-Optionen-/-Informationen-Funktionen


Dummy for main

magic_quotes_runtime
memory_get_peak_usage
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

main

main — Dummy for main()

Beschreibung

There is no function named main() except in the PHP source. In PHP 4.3.0, a new type of error handling in the PHP source (php_error_docref) was introduced. One feature is to provide links to a manual page in PHP error messages when the PHP directives html_errors (on by default) and docref_root (on by default until PHP 4.3.2) are set.

Sometimes error messages refer to a manual page for the function main() which is why this page exists. If you discover such a reference, please » file a bug report, indicating the PHP function caused the error that linked to main() and it will be fixed and properly documented.

Known errors that point to main()
Function name | No longer points here as of
include | 5.1.0
include_once | 5.1.0
require | 5.1.0
require_once | 5.1.0

Siehe auch

  • html_errors
  • display_errors

magic_quotes_runtime
memory_get_peak_usage
PHP-Optionen-/-Informationen-Funktionen


Returns the peak of memory allocated by PHP

main
memory_get_usage
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

memory_get_peak_usage

(PHP 5 >= 5.2.0, PHP 7)

memory_get_peak_usage — Returns the peak of memory allocated by PHP

Beschreibung

int memory_get_peak_usage ([ bool $real_usage = false ] )

Returns the peak of memory, in bytes, that's been allocated to your PHP script.

Parameter-Liste

real_usage

Set this to TRUE to get the real size of memory allocated from system. If not set or FALSE only the memory used by emalloc() is reported.

Rückgabewerte

Returns the memory peak in bytes.

Changelog

Version | Beschreibung
5.2.1 | Compiling with --enable-memory-limit is no longer required for this function to exist.
5.2.0 | real_usage was added.

Siehe auch

  • memory_get_usage() - Returns the amount of memory allocated to PHP
  • memory_limit

main
memory_get_usage
PHP-Optionen-/-Informationen-Funktionen


Returns the amount of memory allocated to PHP

memory_get_peak_usage
php_ini_loaded_file
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

memory_get_usage

(PHP 4 >= 4.3.2, PHP 5, PHP 7)

memory_get_usage — Returns the amount of memory allocated to PHP

Beschreibung

int memory_get_usage ([ bool $real_usage = false ] )

Returns the amount of memory, in bytes, that's currently being allocated to your PHP script.

Parameter-Liste

real_usage

Set this to TRUE to get total memory allocated from system, including unused pages. If not set or FALSE only the used memory is reported.

Hinweis:

PHP does not track memory that is not allocated by emalloc()

Rückgabewerte

Returns the memory amount in bytes.

Changelog

Version | Beschreibung
5.2.1 | Compiling with --enable-memory-limit is no longer required for this function to exist.
5.2.0 | real_usage was added.

Beispiele

Beispiel #1 A memory_get_usage() example

<?php
// This is only an example, the numbers below will
// differ depending on your system

echo memory_get_usage() . "\n"; // 36640

$a = str_repeat("Hello", 4242);

echo memory_get_usage() . "\n"; // 57960

unset($a);

echo memory_get_usage() . "\n"; // 36744

?>

Siehe auch

  • memory_get_peak_usage() - Returns the peak of memory allocated by PHP
  • memory_limit

memory_get_peak_usage
php_ini_loaded_file
PHP-Optionen-/-Informationen-Funktionen


Retrieve a path to the loaded php.ini file

memory_get_usage
php_ini_scanned_files
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

php_ini_loaded_file

(PHP 5 >= 5.2.4, PHP 7)

php_ini_loaded_file — Retrieve a path to the loaded php.ini file

Beschreibung

string php_ini_loaded_file ( void )

Check if a php.ini file is loaded, and retrieve its path.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The loaded php.ini path, or FALSE if one is not loaded.

Beispiele

Beispiel #1 php_ini_loaded_file() example

<?php
$inipath = php_ini_loaded_file();

if ($inipath) {
    echo 'Loaded php.ini: ' . $inipath;
} else {
    echo 'A php.ini file is not loaded';
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Loaded php.ini: /usr/local/php/php.ini

Siehe auch

  • php_ini_scanned_files() - Liefert die Liste von analysierten .ini-Dateien aus einem zusätzlichen ini-Verzeichnis
  • phpinfo() - Gibt Informationen zur PHP-Konfiguration aus
  • The configuration file

memory_get_usage
php_ini_scanned_files
PHP-Optionen-/-Informationen-Funktionen


Liefert die Liste von analysierten .ini-Dateien aus einem zusätzlichen ini-Verzeichnis

php_ini_loaded_file
php_logo_guid
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

php_ini_scanned_files

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

php_ini_scanned_files — Liefert die Liste von analysierten .ini-Dateien aus einem zusätzlichen ini-Verzeichnis

Beschreibung

string php_ini_scanned_files ( void )

php_ini_scanned_files() gibt eine durch Kommata getrennte Liste von Konfigurationsdateien zurück, die nach php.ini analysiert wurden. Die durchsuchten Verzeichnisse werden mittels Option während der Übersetzung angegeben und optional zur Laufzeit mittels Umgebungsvariable. Weitere Informationen gibt es in der Installationsanleitung.

Die zurückgegebenen Konfigurationsdateien enthalten den kompletten Pfad.

Rückgabewerte

Gibt bei Erfolg eine durch Kommata getrennte Liste von .ini-Dateien zurück. Jedes Komma wird gefolgt von einem Zeilenumbruch. Falls die Konfigurationsanweisung --with-config-file-scan-dir und die Umgebungsvariable PHP_INI_SCAN_DIR nicht gesetzt wurden, wird FALSE zurückgegeben. Falls sie gesetzt wurden und das Verzeichnis leer ist, wird eine leere Zeichenkette zurückgegeben. Falls eine Datei unkenntlich ist, erscheint sie trotzdem in der Liste, erzeugt aber auch einen PHP-Fehler. Dieser PHP-Fehler wird sowohl bei der Übersetzung als auch bei der Verwendung von php_ini_scanned_files() angezeigt.

Beispiele

Beispiel #1 Ein einfaches Beispiel um zurückgegebene ini-Dateien aufzulisten

<?php
if ($dateiliste = php_ini_scanned_files()) {
    if (strlen($dateiliste) > 0) {
        $dateien = explode(',', $dateiliste);

        foreach ($dateien as $datei) {
            echo "<li>" . trim($datei) . "</li>\n";
        }
    }
}
?>

Siehe auch

  • ini_set() - Sets the value of a configuration option
  • phpinfo() - Gibt Informationen zur PHP-Konfiguration aus
  • php_ini_loaded_file() - Retrieve a path to the loaded php.ini file

php_ini_loaded_file
php_logo_guid
PHP-Optionen-/-Informationen-Funktionen


Die GUID des PHP-Logos

php_ini_scanned_files
php_sapi_name
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

php_logo_guid

(PHP 4, PHP 5 < 5.5)

php_logo_guid — Die GUID des PHP-Logos

Beschreibung

string php_logo_guid ( void )

Diese Funktion gibt die ID zurück, die genutzt werden kann, um das eingebaute PHP-Logo darzustellen. Das Logo wird nur angezeigt, wenn expose_php auf On steht.

Warnung

Diese Funktion war DEPRECATED (veraltet) und wurde mit PHP 5.5.0 ENTFERNT.

Rückgabewerte

Gibt PHPE9568F34-D428-11d2-A769-00AA001ACF42 zurück.

Changelog

Version | Beschreibung
5.5.0 | php_logo_guid() wurde von PHP entfernt.

Beispiele

Beispiel #1 php_logo_guid()-Beispiel

<?php

echo '<img src="' . $_SERVER['PHP_SELF'] .
     '?=' . php_logo_guid() . '" alt="PHP Logo !" />';

?>

Siehe auch

  • phpinfo() - Gibt Informationen zur PHP-Konfiguration aus
  • phpversion() - Liefert die aktuelle PHP-Version
  • phpcredits() - Prints out the credits for PHP
  • zend_logo_guid() - Die GUID des Zend Logos

php_ini_scanned_files
php_sapi_name
PHP-Optionen-/-Informationen-Funktionen


Gibt das genutzte Interface zwischen PHP und dem Webserver zurück

php_logo_guid
php_uname
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

php_sapi_name

(PHP 4 >= 4.0.1, PHP 5, PHP 7)

php_sapi_name — Gibt das genutzte Interface zwischen PHP und dem Webserver zurück

Beschreibung

string php_sapi_name ( void )

Gibt einen kleingeschriebenen String zurück, der die Schnittstelle (das Server-API, SAPI) beschreibt, die PHP verwendet. Dieser String ist z.B. "cli" für den PHP-Kommandozeileninterpreter CLI, während beim Einsatz mit Apache unterschiedliche Werte zurückgegeben werden können, je nachdem welches SAPI genutzt wird. Die möglichen Rückgabewerte sind weiter unten aufgelistet.

Rückgabewerte

Gibt den Schnittstellentyp als kleingeschriebenen String zurück.

Mögliche Werte sind unter anderem aolserver, apache, apache2filter, apache2handler, caudium, cgi (until PHP 5.3), cgi-fcgi, cli, cli-server, continuity, embed, fpm-fcgi, isapi, litespeed, milter, nsapi, phttpd, pi3web, roxen, thttpd, tux und webjames.

Beispiele

Beispiel #1 php_sapi_name() Beispiel

Dieses Beispiel prüft auf die Teilzeichenkette cgi da es auch cgi-fcgi sein kann.

<?php
$sapi_type = php_sapi_name();
if (substr($sapi_type, 0, 3) == 'cgi') {
    echo "Sie benutzen CGI PHP\n";
} else {
    echo "Sie benutzen nicht CGI PHP\n";
}
?>

Anmerkungen

Hinweis: Ein alternativer Ansatz

Die PHP Konstante PHP_SAPI hat den gleichen Wert, wie php_sapi_name().

Tipp

Eine mögliche Überraschung

Die definierte SAPI muss nicht naheliegend sein, denn zum Beispiel anstatt als apache kann sie als apache2handler oder apache2filter definiert sein.

Siehe auch

  • PHP_SAPI

php_logo_guid
php_uname
PHP-Optionen-/-Informationen-Funktionen


Returns information about the operating system PHP is running on

php_sapi_name
phpcredits
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

php_uname

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

php_uname — Returns information about the operating system PHP is running on

Beschreibung

string php_uname ([ string $mode = "a" ] )

php_uname() returns a description of the operating system PHP is running on. This is the same string you see at the very top of the phpinfo() output. For the name of just the operating system, consider using the PHP_OS constant, but keep in mind this constant will contain the operating system PHP was built on.

On some older UNIX platforms, it may not be able to determine the current OS information in which case it will revert to displaying the OS PHP was built on. This will only happen if your uname() library call either doesn't exist or doesn't work.

Parameter-Liste

mode

mode is a single character that defines what information is returned:

  • 'a': This is the default. Contains all modes in the sequence "s n r v m".
  • 's': Operating system name. eg. FreeBSD.
  • 'n': Host name. eg. localhost.example.com.
  • 'r': Release name. eg. 5.1.2-RELEASE.
  • 'v': Version information. Varies a lot between operating systems.
  • 'm': Machine type. eg. i386.

Rückgabewerte

Returns the description, as a string.

Beispiele

Beispiel #1 Some php_uname() examples

<?php
echo php_uname();
echo PHP_OS;

/* Some possible outputs:
Linux localhost 2.4.21-0.13mdk #1 Fri Mar 14 15:08:06 EST 2003 i686
Linux

FreeBSD localhost 3.2-RELEASE #15: Mon Dec 17 08:46:02 GMT 2001
FreeBSD

Windows NT XN1 5.1 build 2600
WINNT
*/

if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
    echo 'This is a server using Windows!';
} else {
    echo 'This is a server not using Windows!';
}

?>

There are also some related Predefined PHP constants that may come in handy, for example:

Beispiel #2 A few OS related constant examples

<?php
// *nix
echo DIRECTORY_SEPARATOR; // /
echo PHP_SHLIB_SUFFIX;    // so
echo PATH_SEPARATOR;      // :

// Win*
echo DIRECTORY_SEPARATOR; // \
echo PHP_SHLIB_SUFFIX;    // dll
echo PATH_SEPARATOR;      // ;
?>

Siehe auch

  • phpversion() - Liefert die aktuelle PHP-Version
  • php_sapi_name() - Gibt das genutzte Interface zwischen PHP und dem Webserver zurück
  • phpinfo() - Gibt Informationen zur PHP-Konfiguration aus

php_sapi_name
phpcredits
PHP-Optionen-/-Informationen-Funktionen


Prints out the credits for PHP

php_uname
phpinfo
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

phpcredits

(PHP 4, PHP 5, PHP 7)

phpcredits — Prints out the credits for PHP

Beschreibung

bool phpcredits ([ int $flag = CREDITS_ALL ] )

This function prints out the credits listing the PHP developers, modules, etc. It generates the appropriate HTML codes to insert the information in a page.

Parameter-Liste

flag

To generate a custom credits page, you may want to use the flag parameter.

Pre-defined phpcredits() flags
name | description
CREDITS_ALL | All the credits, equivalent to using: CREDITS_DOCS + CREDITS_GENERAL + CREDITS_GROUP + CREDITS_MODULES + CREDITS_FULLPAGE. It generates a complete stand-alone HTML page with the appropriate tags.
CREDITS_DOCS | The credits for the documentation team
CREDITS_FULLPAGE | Usually used in combination with the other flags. Indicates that a complete stand-alone HTML page needs to be printed including the information indicated by the other flags.
CREDITS_GENERAL | General credits: Language design and concept, PHP authors and SAPI module.
CREDITS_GROUP | A list of the core developers
CREDITS_MODULES | A list of the extension modules for PHP, and their authors
CREDITS_SAPI | A list of the server API modules for PHP, and their authors

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Prints the general credits

<?php
phpcredits(CREDITS_GENERAL);
?>

Beispiel #2 Prints the core developers and the documentation group

<?php
phpcredits(CREDITS_GROUP | CREDITS_DOCS | CREDITS_FULLPAGE);
?>

Beispiel #3 Printing all the credits

<html>
 <head>
  <title>My credits page</title>
 </head>
 <body>
<?php
// some code of your own
phpcredits(CREDITS_ALL - CREDITS_FULLPAGE);
// some more code
?>
 </body>
</html>

Anmerkungen

Hinweis:

phpcredits() outputs plain text instead of HTML when using the CLI mode.

Siehe auch

  • phpversion() - Liefert die aktuelle PHP-Version
  • php_logo_guid() - Die GUID des PHP-Logos
  • phpinfo() - Gibt Informationen zur PHP-Konfiguration aus

php_uname
phpinfo
PHP-Optionen-/-Informationen-Funktionen


Gibt Informationen zur PHP-Konfiguration aus

phpcredits
phpversion
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

phpinfo

(PHP 4, PHP 5, PHP 7)

phpinfo — Gibt Informationen zur PHP-Konfiguration aus

Beschreibung

bool phpinfo ([ int $what = INFO_ALL ] )

Zeigt eine große Anzahl von Informationen über den aktuellen Zustand von PHP an. Dies umfasst Informationen über die Optionen während des Kompilierens und die Extensions, die PHP-Version, Server-Informationen und -Umgebung (falls als Modul kompiliert), die PHP-Umgebung, Versionsinformationen zum Betriebssystem, Pfade, Master- und lokale Werte der Konfigurationsoptionen, HTTP-Header und die PHP-Lizenz.

Weil jedes System anders installiert ist, wird phpinfo() oft genutzt, um die Konfigurationseinstellungen und die verfügbaren vordefinierten Variablen auf einem System zu prüfen.

phpinfo() ist außerdem ein wertvolles Debugging-Tool, da es alle EGPCS-Daten (Environment, GET, POST, Cookie, Server) enthält.

Parameter-Liste

what

Die Ausgabe kann durch die bitweise summierte Angabe von einer oder mehrerer der folgenden Konstanten im optionalen what-Parameter angepasst werden. Die Konstanten oder Bitwerte können auch mit dem or-Operator kombiniert werden.

phpinfo()-Optionen
Name (Konstante) | Wert | Beschreibung
INFO_GENERAL | 1 | Die Konfigurationszeile, der Ort der php.ini, das Übersetzungsdatum, der Webserver, das System und mehr.
INFO_CREDITS | 2 | PHP-Credits. Siehe auch phpcredits().
INFO_CONFIGURATION | 4 | Aktueller lokaler und Master-Wert der PHP-Direktiven. Siehe auch ini_get().
INFO_MODULES | 8 | Die geladenene Module und ihre jeweiligen Einstellungen. Siehe auch get_loaded_extensions().
INFO_ENVIRONMENT | 16 | Informationen über die Umgebungsvariablen, die auch in $_ENV verfügbar ist.
INFO_VARIABLES | 32 | Zeigt alle vordefinierten Variablen aus EGPCS (Environment, GET, POST, Cookie, Server).
INFO_LICENSE | 64 | PHP-Lizenz-Informationen. Siehe auch » Lizenz-FAQ.
INFO_ALL | -1 | Zeigt alle genannten Informationen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.5.0 | Die Logo-GUIDs wurden durch data URIs ersetzt, und daher hat das Abschalten von expose_php keine Auswirkung auf das Ergebnis von phpinfo(). Die Danksagungen sind nun ebenfalls direkt in der Ausgabe eingebettet anstatt verlinkt zu sein.
5.2.2 | Die Information über die "Loaded Configuration File" wurde hinzugefügt, während vorher nur die Information "Configuration File (php.ini) Path" existierte.

Beispiele

Beispiel #1 phpinfo()-Beispiel

<?php

// Zeigt alle Informationen (Standardwert ist INFO_ALL)
phpinfo();

// Zeigt nur die Modul-Informationen.
// phpinfo(8) führt zum gleichen Ergebnis.
phpinfo(INFO_MODULES);

?>

Anmerkungen

Hinweis:

In PHP-Versionen vor 5.5 sind Teile der angezeigten Informationen deaktiviert, wenn die expose_php Konfigurationseinstellung auf off eingestellt ist. Das beinhaltet die PHP- und Zend-Logos und die Danksagung.

Teile der angezeigten Informationen sind deaktiviert, wenn die expose_php-Konfigurationseinstellung auf off gesetzt ist. Dies umfasst die PHP- und Zend-Logos sowie die Credits.

Hinweis:

phpinfo() gibt reinen Text statt HTML aus, wenn es im CLI-Modus benutzt wird.

Siehe auch

  • phpversion() - Liefert die aktuelle PHP-Version
  • phpcredits() - Prints out the credits for PHP
  • php_logo_guid() - Die GUID des PHP-Logos
  • ini_get() - Gets the value of a configuration option
  • ini_set() - Sets the value of a configuration option
  • get_loaded_extensions() - Liefert ein Array mit den Namen aller einkompilierten und geladenen Extensions
  • vordefinierte Variable

phpcredits
phpversion
PHP-Optionen-/-Informationen-Funktionen


Liefert die aktuelle PHP-Version

phpinfo
putenv
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

phpversion

(PHP 4, PHP 5, PHP 7)

phpversion — Liefert die aktuelle PHP-Version

Beschreibung

string phpversion ([ string $extension ] )

Liefert die Versionsnummer der gerade laufenden PHP-Version oder der angegebenen extension als String.

Parameter-Liste

extension

Ein optionaler Extensionname

Rückgabewerte

Wenn der optionale Parameter extension angegeben wurde, wird die Versionsnummer dieser Extension zurückgegeben oder FALSE, falls die Extension nicht geladen ist oder keine Versionsinformation enthält.

Beispiele

Beispiel #1 phpversion()-Beispiel

<?php
// gibt z.B. 'Die aktuelle PHP-Version ist 4.1.1' aus
echo 'Die aktuelle PHP Version ist ' . phpversion();

// Gibt z.B. '2.0' aus oder nichts, falls die Extension nicht aktiviert ist
echo phpversion('tidy');
?>

Anmerkungen

Hinweis:

Die PHP Version kann auch über die vordefinierte Konstante PHP_VERSION ermittelt werden.

Siehe auch

  • version_compare() - Vergleicht zwei Versionsnummern im PHP-Stil
  • phpinfo() - Gibt Informationen zur PHP-Konfiguration aus
  • phpcredits() - Prints out the credits for PHP
  • php_logo_guid() - Die GUID des PHP-Logos
  • zend_version() - Liefert die aktuelle Version der Zend Engine

phpinfo
putenv
PHP-Optionen-/-Informationen-Funktionen


Setzt den Wert einer Umgebungsvariablen.

phpversion
restore_include_path
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

putenv

(PHP 4, PHP 5, PHP 7)

putenv — Setzt den Wert einer Umgebungsvariablen.

Beschreibung

void putenv ( string $setting )

Setzt setting als Umgebungsvariable.

Beispiel #1 Setzen einer Umgebungsvariablen

putenv ("UNIQID=$uniqid");

phpversion
restore_include_path
PHP-Optionen-/-Informationen-Funktionen


Restores the value of the include_path configuration option

putenv
set_include_path
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

restore_include_path

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

restore_include_path — Restores the value of the include_path configuration option

Beschreibung

void restore_include_path ( void )

Restores the include_path configuration option back to its original master value as set in php.ini

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 restore_include_path() example

<?php

echo get_include_path();  // .:/usr/local/lib/php

set_include_path('/inc');

echo get_include_path();  // /inc

restore_include_path();

// Or using ini_restore()
ini_restore('include_path');

echo get_include_path();  // .:/usr/local/lib/php

?>

Siehe auch

  • ini_restore() - Restores the value of a configuration option
  • get_include_path() - Gets the current include_path configuration option
  • set_include_path() - Sets the include_path configuration option
  • include - include

putenv
set_include_path
PHP-Optionen-/-Informationen-Funktionen


Sets the include_path configuration option

restore_include_path
set_magic_quotes_runtime
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

set_include_path

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

set_include_path — Sets the include_path configuration option

Beschreibung

string set_include_path ( string $new_include_path )

Sets the include_path configuration option for the duration of the script.

Parameter-Liste

new_include_path

The new value for the include_path

Rückgabewerte

Returns the old include_path on successIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 set_include_path() example

<?php
set_include_path('/usr/lib/pear');

// Or using ini_set()
ini_set('include_path', '/usr/lib/pear');
?>

Beispiel #2 Adding to the include path

Making use of the PATH_SEPARATOR constant, it is possible to extend the include path regardless of the operating system.

In this example we add /usr/lib/pear to the end of the existing include_path.

<?php
$path = '/usr/lib/pear';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
?>

Siehe auch

  • ini_set() - Sets the value of a configuration option
  • get_include_path() - Gets the current include_path configuration option
  • restore_include_path() - Restores the value of the include_path configuration option
  • include - include

restore_include_path
set_magic_quotes_runtime
PHP-Optionen-/-Informationen-Funktionen


Setzt magic_quotes_runtime

set_include_path
set_time_limit
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

set_magic_quotes_runtime

(PHP 4, PHP 5)

set_magic_quotes_runtime — Setzt magic_quotes_runtime

Beschreibung

long set_magic_quotes_runtime ( int $new_setting )

Setzt magic_quotes_runtime. (0 für aus, 1 für an).

Siehe auch get_magic_quotes_gpc() und get_magic_quotes_runtime().

set_include_path
set_time_limit
PHP-Optionen-/-Informationen-Funktionen


Beschränkt die maximale Ausführungszeit

set_magic_quotes_runtime
sys_get_temp_dir
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

set_time_limit

(PHP 4, PHP 5, PHP 7)

set_time_limit — Beschränkt die maximale Ausführungszeit

Beschreibung

bool set_time_limit ( int $seconds )

Legt die Zeit in Sekunden fest, die ein Script laufen darf. Ist diese Zeit abgelaufen, wird ein schwerwiegender Fehler zurückgegeben. Der Standard liegt bei 30 Sekunden, es sei denn max_execution_time wurde in php.ini gesetzt.

Wenn set_time_limit() aufgerufen wird, dann startet der Zähler neu. Das heißt, wenn die Standardeinstellung 30 Sekunden beträgt und nach 25 Sekunden durch ein Script ein Aufruf wie z.B. set_time_limit(20) erfolgt, darf das Script insgesamt 45 Sekunden laufen, bevor eine Fehlermeldung ausgegeben wird.

Parameter-Liste

seconds

Die maximale Ausführungszeit in Sekunden, oder 0 wenn die Ausführungszeit nicht limitiert werden soll.

Rückgabewerte

Gibt TRUE im Erfolgsfall zurück oder FALSE bei einem Fehler.

Anmerkungen

Warnung

Diese Funktion hat keine Wirkung, wenn PHP im Safe Mode ausgeführt wird. Dies lässt sich nur umgehen, wenn man den Safe Mode deaktiviert oder das Zeitlimit bereits in der php.ini ändert.

Hinweis:

Die set_time_limit()-Funktion und die max_execution_time Konfigurationsdirektive beschränken nur die Ausführungszeit des Skripts selbst. Zeit die für Aktivitäten außerhalb des Skripts aufgebracht wird wie z.B. die Ausführung von Systemaufrufen mit system(), Streamoperationen, Datenbankabfragen usw. werden nicht in die Berechnung der Ausführungszeit mit einbezogen.

Siehe auch

  • max_execution_time
  • max_input_time

set_magic_quotes_runtime
sys_get_temp_dir
PHP-Optionen-/-Informationen-Funktionen


Returns directory path used for temporary files

set_time_limit
version_compare
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

sys_get_temp_dir

(PHP 5 >= 5.2.1, PHP 7)

sys_get_temp_dir — Returns directory path used for temporary files

Beschreibung

string sys_get_temp_dir ( void )

Returns the path of the directory PHP stores temporary files in by default.

Rückgabewerte

Returns the path of the temporary directory.

Beispiele

Beispiel #1 sys_get_temp_dir() example

<?php
// Create a temporary file in the temporary
// files directory using sys_get_temp_dir()
$temp_file = tempnam(sys_get_temp_dir(), 'Tux');

echo $temp_file;
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

C:\Windows\Temp\TuxA318.tmp

Siehe auch

  • tmpfile() - Erstellt eine temporäre Datei
  • tempnam() - Erzeugt eine Datei mit eindeutigem Dateinamen

set_time_limit
version_compare
PHP-Optionen-/-Informationen-Funktionen


Vergleicht zwei Versionsnummern im PHP-Stil

sys_get_temp_dir
zend_logo_guid
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

version_compare

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

version_compare — Vergleicht zwei Versionsnummern im PHP-Stil

Beschreibung

mixed version_compare ( string $version1 , string $version2 [, string $operator ] )

version_compare() vergleicht zwei den PHP-Versionen angeglichenen Versionsnummern.

Zuerst ersetzt die Funktion _, - und + durch einen Punkt . in den Versionsangaben und setzt vor und nach jeder Kette aus nicht-numerischen Zeichen Punkte ein, sodass beispielsweise '4.3.2RC1' zu '4.3.2.RC.1' wird. Anschließend werden von links nach rechts die Teile verglichen. Wenn ein Teil spezielle Zeichen enthält, werden diese nach der folgenden Reihenfolge behandelt: jede Zeichenkette, die nicht in dieser Liste vorkommt < dev < alpha = a < beta = b < RC = rc < # < pl = p. Auf diese Weise können nicht nur Versionen verschiedener Tiefe wie '4.1' und '4.1.2' sondern auch alle anderen Versionen verglichen werden, die sich auf bestimmte Entwicklungsstadien von PHP beziehen.

Parameter-Liste

version1

Erste Versionsnummer.

version2

Zweite Versionsnummer.

operator

Wenn der freiwillige Parameter operator angegeben ist, wird auf ein bestimmtes Verhältnis geprüft. Mögliche Operatoren sind: <, lt, <=, le, >, gt, >=, ge, ==, =, eq, !=, <>, ne.

Dieser Parameter berücksicht Groß- und Kleinschreibung, die Werte sollten alle kleingeschrieben werden.

Rückgabewerte

Standardmäßig gibt version_compare() -1 zurück, wenn die erste Version kleiner ist als die zweite, 0, wenn die Versionen gleich sind und 1, wenn die zweite Version kleiner ist.

Wenn der optionale Parameter operator übergeben wurde, gibt die Funktion TRUE oder FALSE zurück, je nach dem, ob das mit dem Operator definierte Verhältnis der Wahrheit entspricht oder nicht.

Beispiele

Das untenstehende Beispiel benutzt die Konstante PHP_VERSION, die die Version des aktuell ausführenden PHP-Interpreters enthält.

Beispiel #1 version_compare()-Beispiele

<?php
if (version_compare(PHP_VERSION, '6.0.0') >= 0) {
    echo 'Ich bin mindestens PHP 6.0.0, und zwar: ' . PHP_VERSION . "\n";
}

if (version_compare(PHP_VERSION, '5.3.0') >= 0) {
    echo 'Ich bin mindestens PHP 5.3.0, nämlich: ' . PHP_VERSION . "\n";
}

if (version_compare(PHP_VERSION, '5.0.0', '>=')) {
    echo 'Ich bin PHP 5. Meine Versionsnummer lautet: ' . PHP_VERSION . "\n";
}

if (version_compare(PHP_VERSION, '5.0.0', '<')) {
    echo 'Ich bin PHP 4. Meine Versionsnummer lautet: ' . PHP_VERSION . "\n";
}
?>

Anmerkungen

Hinweis:

Die Konstante PHP_VERSION enthält die aktuelle PHP-Version

Hinweis:

Vorveröffentlichte Versionen wie 5.3.0-dev werden als kleiner erkannt als ihre finalen Veröffentlichungen wie 5.3.0.

Hinweis:

Bei besonderen Versionszeichenketten wie alpha und beta wird zwischen Groß-/Kleinschreibung unterschieden. Versionszeichenketten aus beliebigen Quellen, die nicht den PHP-Standard einhalten, müssen bei Bedarf mit strtolower() in Kleinschreibung gewandelt werden bevor version_compare() aufgerufen wird.

Siehe auch

  • phpversion() - Liefert die aktuelle PHP-Version
  • php_uname() - Returns information about the operating system PHP is running on
  • function_exists() - Falls die angegebene Funktion definiert ist, wird TRUE zurück gegeben

sys_get_temp_dir
zend_logo_guid
PHP-Optionen-/-Informationen-Funktionen


Die GUID des Zend Logos

version_compare
zend_thread_id
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

zend_logo_guid

(PHP 4, PHP < 5.5)

zend_logo_guid — Die GUID des Zend Logos

Beschreibung

string zend_logo_guid ( void )

Diese Funktion gibt die ID des eingebauten Zend Logos zurück die zur Darstellung dieses Logos benutzt werden kann.

Warnung

Diese Funktion war DEPRECATED (veraltet) und wurde mit PHP 5.5.0 ENTFERNT.

Rückgabewerte

Gibt PHPE9568F35-D428-11d2-A769-00AA001ACF42 zurück.

Changelog

Version | Beschreibung
5.5.0 | zend_logo_guid() wurde von PHP entfernt.

Beispiele

Beispiel #1 zend_logo_guid() Beispiel

<?php

echo '<img src="' . $_SERVER['PHP_SELF'] .
     '?=' . zend_logo_guid() . '" alt="Zend Logo !" />';

?>

Siehe auch

  • php_logo_guid() - Die GUID des PHP-Logos

version_compare
zend_thread_id
PHP-Optionen-/-Informationen-Funktionen


Returns a unique identifier for the current thread

zend_logo_guid
zend_version
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

zend_thread_id

(PHP 5, PHP 7)

zend_thread_id — Returns a unique identifier for the current thread

Beschreibung

int zend_thread_id ( void )

Die Funktion liefert eine eindeutige ID für den aktuellen Thread.

Rückgabewerte

Gibt die Thread-ID als Integer zurück.

Beispiele

Beispiel #1 zend_thread_id()-Beispiel

<?php
$thread_id = zend_thread_id();

echo 'Der aktuelle Thread ist: ' . $thread_id;
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Der aktuelle Thread ist: 7864

Anmerkungen

Hinweis:

Diese Funktion ist nur verfügbar, wenn PHP mit ZTS- (Zend Thread Safety) und Debug- (--enable-debug) -Unterstützung kompiliert wurde.

zend_logo_guid
zend_version
PHP-Optionen-/-Informationen-Funktionen


Liefert die aktuelle Version der Zend Engine

zend_thread_id
runkit
PHP-Optionen-/-Informationen-Funktionen
PHP Manual

zend_version

(PHP 4, PHP 5, PHP 7)

zend_version — Liefert die aktuelle Version der Zend Engine

Beschreibung

string zend_version ( void )

Liefert die Versionsnummer der aktuell laufenden Zend Engine als String. Zend Engine.

Rückgabewerte

Liefert die Versionsnummer der Zend Engine als String.

Beispiele

Beispiel #1 zend_version() Beispiel

<?php
echo "Zend Engine Version: " . zend_version();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Zend Engine Version: 2.2.0

Siehe auch

  • phpinfo() - Gibt Informationen zur PHP-Konfiguration aus
  • phpcredits() - Prints out the credits for PHP
  • php_logo_guid() - Die GUID des PHP-Logos
  • phpversion() - Liefert die aktuelle PHP-Version

zend_thread_id
runkit
PHP-Optionen-/-Informationen-Funktionen


runkit

  • Einführung
  • Vordefinierte Konstanten
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • runkit Funktionen
    • Runkit_Sandbox — Runkit Sandbox Class -- PHP Virtual Machine
    • Runkit_Sandbox_Parent — Runkit Anti-Sandbox Class
    • runkit_class_adopt — Convert a base class to an inherited class, add ancestral methods when appropriate
    • runkit_class_emancipate — Convert an inherited class to a base class, removes any method whose scope is ancestral
    • runkit_constant_add — Similar to define(), but allows defining in class definitions as well
    • runkit_constant_redefine — Redefine an already defined constant
    • runkit_constant_remove — Remove/Delete an already defined constant
    • runkit_function_add — Add a new function, similar to create_function
    • runkit_function_copy — Copy a function to a new function name
    • runkit_function_redefine — Replace a function definition with a new implementation
    • runkit_function_remove — Remove a function definition
    • runkit_function_rename — Change a function's name
    • runkit_import — Process a PHP file importing function and class definitions, overwriting where appropriate
    • runkit_lint_file — Check the PHP syntax of the specified file
    • runkit_lint — Check the PHP syntax of the specified php code
    • runkit_method_add — Dynamically adds a new method to a given class
    • runkit_method_copy — Copies a method from class to another
    • runkit_method_redefine — Dynamically changes the code of the given method
    • runkit_method_remove — Dynamically removes the given method
    • runkit_method_rename — Dynamically changes the name of the given method
    • runkit_return_value_used — Determines if the current functions return value will be used
    • runkit_sandbox_output_handler — Specify a function to capture and/or process output from a runkit sandbox
    • runkit_superglobals — Return numerically indexed array of registered superglobals
zend_version
Einführung
Das Verhalten von PHP beeinflussen


Einführung

The runkit extension provides means to modify constants, user-defined functions, and user-defined classes. It also provides for custom superglobal variables and embeddable sub-interpreters via sandboxing.

This package is meant as a feature added replacement for the » classkit package. When compiled with the --enable-runkit=classkit option to ./configure, it will export classkit compatible function definitions and constants.

runkit
Vordefinierte Konstanten
runkit


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

RUNKIT_IMPORT_FUNCTIONS (integer)
runkit_import() flag indicating that normal functions should be imported from the specified file.
RUNKIT_IMPORT_CLASS_METHODS (integer)
runkit_import() flag indicating that class methods should be imported from the specified file.
RUNKIT_IMPORT_CLASS_CONSTS (integer)
runkit_import() flag indicating that class constants should be imported from the specified file. Note that this flag is only meaningful in PHP versions 5.1.0 and above.
RUNKIT_IMPORT_CLASS_PROPS (integer)
runkit_import() flag indicating that class standard properties should be imported from the specified file.
RUNKIT_IMPORT_CLASS_STATIC_PROPS (integer)
runkit_import() flag indicating that class static properties should be imported from the specified file. Available since Runkit 1.0.1.
RUNKIT_IMPORT_CLASSES (integer)
runkit_import() flag representing a bitwise OR of the RUNKIT_IMPORT_CLASS_* constants.
RUNKIT_IMPORT_OVERRIDE (integer)
runkit_import() flag indicating that if any of the imported functions, methods, constants, or properties already exist, they should be replaced with the new definitions. If this flag is not set, then any imported definitions which already exist will be discarded.
RUNKIT_ACC_PUBLIC (integer)
PHP 5 specific flag to runkit_method_add() and runkit_method_redefine()
RUNKIT_ACC_PROTECTED (integer)
PHP 5 specific flag to runkit_method_add() and runkit_method_redefine()
RUNKIT_ACC_PRIVATE (integer)
PHP 5 specific flag to runkit_method_add() and runkit_method_redefine()
RUNKIT_ACC_STATIC (integer)
PHP 5 specific flag to runkit_method_add() and runkit_method_redefine(). Available since Runkit 1.0.1.
CLASSKIT_ACC_PUBLIC (integer)
PHP 5 specific flag to classkit_method_add() Only defined when classkit compatibility is enabled.
CLASSKIT_ACC_PROTECTED (integer)
PHP 5 specific flag to classkit_method_add() Only defined when classkit compatibility is enabled.
CLASSKIT_ACC_PRIVATE (integer)
PHP 5 specific flag to classkit_method_add() Only defined when classkit compatibility is enabled.
CLASSKIT_AGGREGATE_OVERRIDE (integer)
PHP 5 specific flag to classkit_import() Only defined when classkit compatibility is enabled.
RUNKIT_VERSION (string)
Defined to the current version of the runkit package.
CLASSKIT_VERSION (string)
Defined to the current version of the runkit package. Only defined when classkit compatibility is enabled.
Einführung
Installation/Konfiguration
runkit


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Vordefinierte Konstanten
Anforderungen
runkit


Anforderungen

Modifying Constants, Functions, Classes, and Methods as well as Custom Superglobals works with all releases of PHP 5. No special requirements are necessary.

Sandboxing requires PHP 5.1.0 or later, or PHP 5.0.0 with a special TSRM patch applied. Regardless of which version of PHP is in use it must be compiled with the --enable-maintainer-zts option. See the README file in the runkit package for additional information.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/runkit.

Windows binaries (DLL files) for this PECL extension are available from the PECL website.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Runkit Configuration Options
Name | Standard | Veränderbar | Changelog
runkit.superglobal | "" | PHP_INI_PERDIR |
runkit.internal_override | "0" | PHP_INI_SYSTEM |
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

runkit.superglobal string
Comma-separated list of variable names to be treated as superglobals. This value should be set in the systemwide php.ini file, but may work in perdir configuration contexts depending on your SAPI.

Beispiel #1 Custom Superglobals with runkit.superglobal=_FOO,_BAR in php.ini

<?php
function show_values() {
  echo "Foo is $_FOO\n";
  echo "Bar is $_BAR\n";
  echo "Baz is $_BAZ\n";
}

$_FOO = 'foo';
$_BAR = 'bar';
$_BAZ = 'baz';

/* Displays foo and bar, but not baz */
show_values();
?>
runkit.internal_override boolean
Enables ability to modify/rename/remove internal functions.

Installation
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

Diese Erweiterung definiert keine Ressource-Typen.

Laufzeit-Konfiguration
runkit Funktionen
Installation/Konfiguration


runkit Funktionen

Inhaltsverzeichnis

  • Runkit_Sandbox — Runkit Sandbox Class -- PHP Virtual Machine
  • Runkit_Sandbox_Parent — Runkit Anti-Sandbox Class
  • runkit_class_adopt — Convert a base class to an inherited class, add ancestral methods when appropriate
  • runkit_class_emancipate — Convert an inherited class to a base class, removes any method whose scope is ancestral
  • runkit_constant_add — Similar to define(), but allows defining in class definitions as well
  • runkit_constant_redefine — Redefine an already defined constant
  • runkit_constant_remove — Remove/Delete an already defined constant
  • runkit_function_add — Add a new function, similar to create_function
  • runkit_function_copy — Copy a function to a new function name
  • runkit_function_redefine — Replace a function definition with a new implementation
  • runkit_function_remove — Remove a function definition
  • runkit_function_rename — Change a function's name
  • runkit_import — Process a PHP file importing function and class definitions, overwriting where appropriate
  • runkit_lint_file — Check the PHP syntax of the specified file
  • runkit_lint — Check the PHP syntax of the specified php code
  • runkit_method_add — Dynamically adds a new method to a given class
  • runkit_method_copy — Copies a method from class to another
  • runkit_method_redefine — Dynamically changes the code of the given method
  • runkit_method_remove — Dynamically removes the given method
  • runkit_method_rename — Dynamically changes the name of the given method
  • runkit_return_value_used — Determines if the current functions return value will be used
  • runkit_sandbox_output_handler — Specify a function to capture and/or process output from a runkit sandbox
  • runkit_superglobals — Return numerically indexed array of registered superglobals
Ressource-Typen
Runkit_Sandbox
runkit


Runkit Sandbox Class -- PHP Virtual Machine

runkit Funktionen
Runkit_Sandbox_Parent
runkit Funktionen
PHP Manual

Runkit_Sandbox

(PECL runkit >= 0.7.0)

Runkit_Sandbox — Runkit Sandbox Class -- PHP Virtual Machine

Beschreibung

Instantiating the Runkit_Sandbox class creates a new thread with its own scope and program stack. Using a set of options passed to the constructor, this environment may be restricted to a subset of what the primary interpreter can do and provide a safer environment for executing user supplied code.

Hinweis: Sandbox-Unterstützung (wird benötigt für runkit_lint(), runkit_lint_file(), und die Runkit_Sandbox-Klasse) ist nur ab PHP 5.1 und speziell gepatchten Versionen von PHP 5.0 verfügbar und setzt voraus das Thread-Unterstützung aktiviert wurde. Weiterführende Informationen finden sie in der README-Datei des runkit-Pakets.

Constructor

void Runkit_Sandbox::__construct ([ array $options ] )

options is an associative array containing any combination of the special ini options listed below.

safe_mode

If the outer script which is instantiating the Runkit_Sandbox class is configured with safe_mode = off, then safe_mode may be turned on for the sandbox environment. This setting can not be used to disable safe_mode when it's already enabled in the outer script.

safe_mode_gid

If the outer script which is instantiating the Runkit_Sandbox class is configured with safe_mode_gid = on, then safe_mode_gid may be turned off for the sandbox environment. This setting can not be used to enable safe_mode_gid when it's already disabled in the outer script.

safe_mode_include_dir

If the outer script which is instantiating the Runkit_Sandbox class is configured with a safe_mode_include_dir, then a new safe_mode_include_dir may be set for sandbox environments below the currently defined value. safe_mode_include_dir may also be cleared to indicate that the bypass feature is disabled. If safe_mode_include_dir was blank in the outer script, but safe_mode was not enabled, then any arbitrary safe_mode_include_dir may be set while turning safe_mode on.

open_basedir

open_basedir may be set to any path below the current setting of open_basedir. If open_basedir is not set within the global scope, then it is assumed to be the root directory and may be set to any location.

allow_url_fopen

Like safe_mode, this setting can only be made more restrictive, in this case by setting it to FALSE when it is previously set to TRUE

disable_functions

Comma separated list of functions to disable within the sandbox sub-interpreter. This list need not contain the names of the currently disabled functions, they will remain disabled whether listed here or not.

disable_classes

Comma separated list of classes to disable within the sandbox sub-interpreter. This list need not contain the names of the currently disabled classes, they will remain disabled whether listed here or not.

runkit.superglobal

Comma separated list of variables to be treated as superglobals within the sandbox sub-interpreter. These variables will be used in addition to any variables defined internally or through the global runkit.superglobal setting.

runkit.internal_override

Ini option runkit.internal_override may be disabled (but not re-enabled) within sandboxes.

Beispiel #1 Instantiating a restricted sandbox

<?php
$options = array(
  'safe_mode'=>true,
  'open_basedir'=>'/var/www/users/jdoe/',
  'allow_url_fopen'=>'false',
  'disable_functions'=>'exec,shell_exec,passthru,system',
  'disable_classes'=>'myAppClass');
$sandbox = new Runkit_Sandbox($options);
/* Non-protected ini settings may set normally */
$sandbox->ini_set('html_errors',true);
?>

Accessing Variables

All variables in the global scope of the sandbox environment are accessible as properties of the sandbox object. The first thing to note is that because of the way memory between these two threads is managed, object and resource variables can not currently be exchanged between interpreters. Additionally, all arrays are deep copied and any references will be lost. This also means that references between interpreters are not possible.

Beispiel #2 Working with variables in a sandbox

<?php
$sandbox = new Runkit_Sandbox();

$sandbox->foo = 'bar';
$sandbox->eval('echo "$foo\n"; $bar = $foo . "baz";');
echo "{$sandbox->bar}\n";
if (isset($sandbox->foo)) unset($sandbox->foo);
$sandbox->eval('var_dump(isset($foo));');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bar
barbaz
bool(false)

Calling PHP Functions

Any function defined within the sandbox may be called as a method on the sandbox object. This also includes a few pseudo-function language constructs: eval(), include, include_once, require, require_once, echo, print, die(), and exit().

Beispiel #3 Calling sandbox functions

<?php
$sandbox = new Runkit_Sandbox();

echo $sandbox->str_replace('a','f','abc');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

fbc

When passing arguments to a sandbox function, the arguments are taken from the outer instance of PHP. If you wish to pass arguments from the sandbox's scope, be sure to access them as properties of the sandbox object as illustrated above.

Beispiel #4 Passing arguments to sandbox functions

<?php
$sandbox = new Runkit_Sandbox();

$foo = 'bar';
$sandbox->foo = 'baz';
echo $sandbox->str_replace('a',$foo,'a');
echo $sandbox->str_replace('a',$sandbox->foo,'a');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bar
baz

Changing Sandbox Settings

As of runkit version 0.5, certain Sandbox settings may be modified on the fly using ArrayAccess syntax. Some settings, such as active are read-only and meant to provide status information. Other settings, such as output_handler may be set and read much like a normal array offset. Future settings may be write-only, however no such settings currently exist.

Sandbox Settings / Status Indicators
Setting | Type | Purpose | Default
active | Boolean (Read Only) | TRUE if the Sandbox is still in a usable state, FALSE if the request is in bailout due to a call to die(), exit(), or because of a fatal error condition. | TRUE (Initial)
output_handler | Callback | When set to a valid callback, all output generated by the Sandbox instance will be processed through the named function. Sandbox output handlers follow the same calling conventions as the system-wide output handler. | None
parent_access | Boolean | May the sandbox use instances of the Runkit_Sandbox_Parent class? Must be enabled for other Runkit_Sandbox_Parent related settings to work. | FALSE
parent_read | Boolean | May the sandbox read variables in its parent's context? | FALSE
parent_write | Boolean | May the sandbox modify variables in its parent's context? | FALSE
parent_eval | Boolean | May the sandbox evaluate arbitrary code in its parent's context? DANGEROUS | FALSE
parent_include | Boolean | May the sandbox include php code files in its parent's context? DANGEROUS | FALSE
parent_echo | Boolean | May the sandbox echo data in its parent's context effectively bypassing its own output_handler? | FALSE
parent_call | Boolean | May the sandbox call functions in its parent's context? | FALSE
parent_die | Boolean | May the sandbox kill its own parent? (And thus itself) | FALSE
parent_scope | Integer | What scope will parental property access look at? 0 == Global scope, 1 == Calling scope, 2 == Scope preceding calling scope, 3 == The scope before that, etc..., etc... | 0 (Global)
parent_scope | String | When parent_scope is set to a string value, it refers to a named array variable in the global scope. If the named variable does not exist at the time of access it will be created as an empty array. If the variable exists but it not an array, a dummy array will be created containing a reference to the named global variable. |

runkit Funktionen
Runkit_Sandbox_Parent
runkit Funktionen


Runkit Anti-Sandbox Class

Runkit_Sandbox
runkit_class_adopt
runkit Funktionen
PHP Manual

Runkit_Sandbox_Parent

(PECL runkit >= 0.7.0)

Runkit_Sandbox_Parent — Runkit Anti-Sandbox Class

Beschreibung

void Runkit_Sandbox_Parent::__construct ( void )

Instantiating the Runkit_Sandbox_Parent class from within a sandbox environment created from the Runkit_Sandbox class provides some (controlled) means for a sandbox child to access its parent.

Hinweis: Sandbox-Unterstützung (wird benötigt für runkit_lint(), runkit_lint_file(), und die Runkit_Sandbox-Klasse) ist nur ab PHP 5.1 und speziell gepatchten Versionen von PHP 5.0 verfügbar und setzt voraus das Thread-Unterstützung aktiviert wurde. Weiterführende Informationen finden sie in der README-Datei des runkit-Pakets.

In order for any of the Runkit_Sandbox_Parent features to function. Support must be enabled on a per-sandbox basis by enabling the parent_access flag from the parent's context.

Beispiel #1 Working with variables in a sandbox

<?php
$sandbox = new Runkit_Sandbox();
$sandbox['parent_access'] = true;
?>

Accessing the Parent's Variables

Just as with sandbox variable access, a sandbox parent's variables may be read from and written to as properties of the Runkit_Sandbox_Parent class. Read access to parental variables may be enabled with the parent_read setting (in addition to the base parent_access setting). Write access, in turn, is enabled through the parent_write setting.

Unlike sandbox child variable access, the variable scope is not limited to globals only. By setting the parent_scope setting to an appropriate integer value, other scopes in the active call stack may be inspected instead. A value of 0 (Default) will direct variable access at the global scope. 1 will point variable access at whatever variable scope was active at the time the current block of sandbox code was executed. Higher values progress back through the functions that called the functions that led to the sandbox executing code that tried to access its own parent's variables.

Beispiel #2 Accessing parental variables

<?php
$php = new Runkit_Sandbox();
$php['parent_access'] = true;
$php['parent_read'] = true;

$test = "Global";

$php->eval('$PARENT = new Runkit_Sandbox_Parent;');

$php['parent_scope'] = 0;
one();

$php['parent_scope'] = 1;
one();

$php['parent_scope'] = 2;
one();

$php['parent_scope'] = 3;
one();

$php['parent_scope'] = 4;
one();

$php['parent_scope'] = 5;
one();

function one() {
    $test = "one()";
    two();
}

function two() {
    $test = "two()";
    three();
}

function three() {
    $test = "three()";
    $GLOBALS['php']->eval('var_dump($PARENT->test);');
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(6) "Global"
string(7) "three()"
string(5) "two()"
string(5) "one()"
string(6) "Global"
string(6) "Global"

Calling the Parent's Functions

Just as with sandbox access, a sandbox may access its parents functions providing that the proper settings have been enabled. Enabling parent_call will allow the sandbox to call all functions available to the parent scope. Language constructs are each controlled by their own setting: print and echo are enabled with parent_echo. die() and exit() are enabled with parent_die. eval() is enabled with parent_eval while include, include_once, require, and require_once are enabled through parent_include.

Runkit_Sandbox
runkit_class_adopt
runkit Funktionen


Convert a base class to an inherited class, add ancestral methods when appropriate

Runkit_Sandbox_Parent
runkit_class_emancipate
runkit Funktionen
PHP Manual

runkit_class_adopt

(PECL runkit >= 0.7.0)

runkit_class_adopt — Convert a base class to an inherited class, add ancestral methods when appropriate

Beschreibung

bool runkit_class_adopt ( string $classname , string $parentname )

Parameter-Liste

classname

Name of class to be adopted

parentname

Parent class which child class is extending

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 A runkit_class_adopt() example

<?php
class myParent {
  function parentFunc() {
    echo "Parent Function Output\n";
  }
}

class myChild {
}

runkit_class_adopt('myChild','myParent');
myChild::parentFunc();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Parent Function Output

Siehe auch

  • runkit_class_emancipate() - Convert an inherited class to a base class, removes any method whose scope is ancestral

Runkit_Sandbox_Parent
runkit_class_emancipate
runkit Funktionen


Convert an inherited class to a base class, removes any method whose scope is ancestral

runkit_class_adopt
runkit_constant_add
runkit Funktionen
PHP Manual

runkit_class_emancipate

(PECL runkit >= 0.7.0)

runkit_class_emancipate — Convert an inherited class to a base class, removes any method whose scope is ancestral

Beschreibung

bool runkit_class_emancipate ( string $classname )

Parameter-Liste

classname

Name of class to emancipate

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 A runkit_class_emancipate() example

<?php
class myParent {
  function parentFunc () {
    echo "Parent Function Output\n";
  }
}
class myChild extends myParent {
}

myChild::parentFunc();
runkit_class_emancipate('myChild');
myChild::parentFunc();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Parent Function Output
Fatal error: Call to undefined function:  parentFunc() in example.php on line 12

Siehe auch

  • runkit_class_adopt() - Convert a base class to an inherited class, add ancestral methods when appropriate

runkit_class_adopt
runkit_constant_add
runkit Funktionen


Similar to define(), but allows defining in class definitions as well

runkit_class_emancipate
runkit_constant_redefine
runkit Funktionen
PHP Manual

runkit_constant_add

(PECL runkit >= 0.7.0)

runkit_constant_add — Similar to define(), but allows defining in class definitions as well

Beschreibung

bool runkit_constant_add ( string $constname , mixed $value )

Parameter-Liste

constname

Name of constant to declare. Either a string to indicate a global constant, or classname::constname to indicate a class constant.

value

NULL, Bool, Long, Double, String, or Resource value to store in the new constant.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • define() - Definiert eine benannte Konstante
  • runkit_constant_redefine() - Redefine an already defined constant
  • runkit_constant_remove() - Remove/Delete an already defined constant

runkit_class_emancipate
runkit_constant_redefine
runkit Funktionen


Redefine an already defined constant

runkit_constant_add
runkit_constant_remove
runkit Funktionen
PHP Manual

runkit_constant_redefine

(PECL runkit >= 0.7.0)

runkit_constant_redefine — Redefine an already defined constant

Beschreibung

bool runkit_constant_redefine ( string $constname , mixed $newvalue )

Parameter-Liste

constname

Constant to redefine. Either string indicating global constant, or classname::constname indicating class constant.

newvalue

New value to assign to constant.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • runkit_constant_add() - Similar to define(), but allows defining in class definitions as well
  • runkit_constant_remove() - Remove/Delete an already defined constant

runkit_constant_add
runkit_constant_remove
runkit Funktionen


Remove/Delete an already defined constant

runkit_constant_redefine
runkit_function_add
runkit Funktionen
PHP Manual

runkit_constant_remove

(PECL runkit >= 0.7.0)

runkit_constant_remove — Remove/Delete an already defined constant

Beschreibung

bool runkit_constant_remove ( string $constname )

Parameter-Liste

constname

Name of constant to remove. Either a string indicating a global constant, or classname::constname indicating a class constant.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • define() - Definiert eine benannte Konstante
  • runkit_constant_add() - Similar to define(), but allows defining in class definitions as well
  • runkit_constant_redefine() - Redefine an already defined constant

runkit_constant_redefine
runkit_function_add
runkit Funktionen


Add a new function, similar to create_function

runkit_constant_remove
runkit_function_copy
runkit Funktionen
PHP Manual

runkit_function_add

(PECL runkit >= 0.7.0)

runkit_function_add — Add a new function, similar to create_function()

Beschreibung

bool runkit_function_add ( string $funcname , string $arglist , string $code [, bool $return_by_reference = NULL [, string $doc_comment = NULL ]] )
bool runkit_function_add ( string $funcname , Closure $closure [, string $doc_comment = NULL ] )

Parameter-Liste

funcname

Name of function to be created

arglist

Comma separated argument list

code

Code making up the function

closure

A closure that defines the function.

return_by_reference

Whether the function should return by reference.

doc_comment

The doc comment of the function.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
runkit 1.0.4 | An alternative syntax expecting a closure has been added.
runkit 1.0.4 | The optional parameters return_by_reference and doc_comment have been added.

Beispiele

Beispiel #1 A runkit_function_add() example

<?php
runkit_function_add('testme','$a,$b','echo "The value of a is $a\n"; echo "The value of b is $b\n";');
testme(1,2);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

The value of a is 1
The value of b is 2

Siehe auch

  • create_function() - Erzeugen einer anonymen (Lambda-Stil) Funktion
  • runkit_function_redefine() - Replace a function definition with a new implementation
  • runkit_function_copy() - Copy a function to a new function name
  • runkit_function_rename() - Change a function's name
  • runkit_function_remove() - Remove a function definition
  • runkit_method_add() - Dynamically adds a new method to a given class

runkit_constant_remove
runkit_function_copy
runkit Funktionen


Copy a function to a new function name

runkit_function_add
runkit_function_redefine
runkit Funktionen
PHP Manual

runkit_function_copy

(PECL runkit >= 0.7.0)

runkit_function_copy — Copy a function to a new function name

Beschreibung

bool runkit_function_copy ( string $funcname , string $targetname )

Parameter-Liste

funcname

Name of existing function

targetname

Name of new function to copy definition to

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 A runkit_function_copy() example

<?php
function original() {
  echo "In a function\n";
}
runkit_function_copy('original','duplicate');
original();
duplicate();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

In a function
In a function

Siehe auch

  • runkit_function_add() - Add a new function, similar to create_function
  • runkit_function_redefine() - Replace a function definition with a new implementation
  • runkit_function_rename() - Change a function's name
  • runkit_function_remove() - Remove a function definition

runkit_function_add
runkit_function_redefine
runkit Funktionen


Replace a function definition with a new implementation

runkit_function_copy
runkit_function_remove
runkit Funktionen
PHP Manual

runkit_function_redefine

(PECL runkit >= 0.7.0)

runkit_function_redefine — Replace a function definition with a new implementation

Beschreibung

bool runkit_function_redefine ( string $funcname , string $arglist , string $code [, bool $return_by_reference = NULL [, string $doc_comment = NULL ]] )
bool runkit_function_redefine ( string $funcname , Closure $closure [, string $doc_comment = NULL ] )

Hinweis: Normalerweise können nur benutzerdefinierte Funktionen gelöscht, umbenannt oder modifiziert werden. Wenn Sie auch interne Funktionen übersteuern wollen, müssen Sie runkit.internal_override in Ihrer php.ini aktivieren.

Parameter-Liste

funcname

Name of function to redefine

arglist

New list of arguments to be accepted by function

code

New code implementation

closure

A closure that defines the function.

return_by_reference

Whether the function should return by reference.

doc_comment

The doc comment of the function.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
runkit 1.0.4 | An alternative syntax expecting a closure has been added.
runkit 1.0.4 | The optional parameters return_by_reference and doc_comment have been added.

Beispiele

Beispiel #1 A runkit_function_redefine() example

<?php
function testme() {
  echo "Original Testme Implementation\n";
}
testme();
runkit_function_redefine('testme','','echo "New Testme Implementation\n";');
testme();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Original Testme Implementation
New Testme Implementation

Siehe auch

  • runkit_function_add() - Add a new function, similar to create_function
  • runkit_function_copy() - Copy a function to a new function name
  • runkit_function_rename() - Change a function's name
  • runkit_function_remove() - Remove a function definition
  • runkit_method_redefine() - Dynamically changes the code of the given method

runkit_function_copy
runkit_function_remove
runkit Funktionen


Remove a function definition

runkit_function_redefine
runkit_function_rename
runkit Funktionen
PHP Manual

runkit_function_remove

(PECL runkit >= 0.7.0)

runkit_function_remove — Remove a function definition

Beschreibung

bool runkit_function_remove ( string $funcname )

Hinweis: Normalerweise können nur benutzerdefinierte Funktionen gelöscht, umbenannt oder modifiziert werden. Wenn Sie auch interne Funktionen übersteuern wollen, müssen Sie runkit.internal_override in Ihrer php.ini aktivieren.

Parameter-Liste

funcname

Name of function to be deleted

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • runkit_function_add() - Add a new function, similar to create_function
  • runkit_function_copy() - Copy a function to a new function name
  • runkit_function_redefine() - Replace a function definition with a new implementation
  • runkit_function_rename() - Change a function's name

runkit_function_redefine
runkit_function_rename
runkit Funktionen


Change a function's name

runkit_function_remove
runkit_import
runkit Funktionen
PHP Manual

runkit_function_rename

(PECL runkit >= 0.7.0)

runkit_function_rename — Change a function's name

Beschreibung

bool runkit_function_rename ( string $funcname , string $newname )

Hinweis: Normalerweise können nur benutzerdefinierte Funktionen gelöscht, umbenannt oder modifiziert werden. Wenn Sie auch interne Funktionen übersteuern wollen, müssen Sie runkit.internal_override in Ihrer php.ini aktivieren.

Parameter-Liste

funcname

Current function name

newname

New function name

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • runkit_function_add() - Add a new function, similar to create_function
  • runkit_function_copy() - Copy a function to a new function name
  • runkit_function_redefine() - Replace a function definition with a new implementation
  • runkit_function_remove() - Remove a function definition

runkit_function_remove
runkit_import
runkit Funktionen


Process a PHP file importing function and class definitions, overwriting where appropriate

runkit_function_rename
runkit_lint_file
runkit Funktionen
PHP Manual

runkit_import

(PECL runkit >= 0.7.0)

runkit_import — Process a PHP file importing function and class definitions, overwriting where appropriate

Beschreibung

bool runkit_import ( string $filename [, int $flags = RUNKIT_IMPORT_CLASS_METHODS ] )

Similar to include however any code residing outside of a function or class is simply ignored. Additionally, depending on the value of flags, any functions or classes which already exist in the currently running environment may be automatically overwritten by their new definitions.

Parameter-Liste

filename

Filename to import function and class definitions from

flags

Bitwise OR of the RUNKIT_IMPORT_* family of constants.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 runkit_import() example

<?php
// import classes entirely
runkit_import('myfile.inc', RUNKIT_IMPORT_CLASSES);

/* import classes, but not imports their static properties
   (RUNKIT_IMPORT_CLASS_STATIC_PROPS is available since 1.0.1) */
runkit_import('myfile.inc', RUNKIT_IMPORT_CLASSES & ~RUNKIT_IMPORT_CLASS_STATIC_PROPS);

/* import only static properties of classes
   (RUNKIT_IMPORT_CLASS_STATIC_PROPS is available since 1.0.1) */
runkit_import('myfile.inc', RUNKIT_IMPORT_CLASS_STATIC_PROPS);
?>

runkit_function_rename
runkit_lint_file
runkit Funktionen


Check the PHP syntax of the specified file

runkit_import
runkit_lint
runkit Funktionen
PHP Manual

runkit_lint_file

(PECL runkit >= 0.7.0)

runkit_lint_file — Check the PHP syntax of the specified file

Beschreibung

bool runkit_lint_file ( string $filename )

The runkit_lint_file() function performs a syntax (lint) check on the specified filename testing for scripting errors. This is similar to using php -l from the commandline.

Hinweis: Sandbox-Unterstützung (wird benötigt für runkit_lint(), runkit_lint_file(), und die Runkit_Sandbox-Klasse) ist nur ab PHP 5.1 und speziell gepatchten Versionen von PHP 5.0 verfügbar und setzt voraus das Thread-Unterstützung aktiviert wurde. Weiterführende Informationen finden sie in der README-Datei des runkit-Pakets.

Parameter-Liste

filename

File containing PHP Code to be lint checked

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • runkit_lint() - Check the PHP syntax of the specified php code

runkit_import
runkit_lint
runkit Funktionen


Check the PHP syntax of the specified php code

runkit_lint_file
runkit_method_add
runkit Funktionen
PHP Manual

runkit_lint

(PECL runkit >= 0.7.0)

runkit_lint — Check the PHP syntax of the specified php code

Beschreibung

bool runkit_lint ( string $code )

The runkit_lint() function performs a syntax (lint) check on the specified php code testing for scripting errors. This is similar to using php -l from the command line except runkit_lint() accepts actual code rather than a filename.

Hinweis: Sandbox-Unterstützung (wird benötigt für runkit_lint(), runkit_lint_file(), und die Runkit_Sandbox-Klasse) ist nur ab PHP 5.1 und speziell gepatchten Versionen von PHP 5.0 verfügbar und setzt voraus das Thread-Unterstützung aktiviert wurde. Weiterführende Informationen finden sie in der README-Datei des runkit-Pakets.

Parameter-Liste

code

PHP Code to be lint checked

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • runkit_lint_file() - Check the PHP syntax of the specified file

runkit_lint_file
runkit_method_add
runkit Funktionen


Dynamically adds a new method to a given class

runkit_lint
runkit_method_copy
runkit Funktionen
PHP Manual

runkit_method_add

(PECL runkit >= 0.7.0)

runkit_method_add — Dynamically adds a new method to a given class

Beschreibung

bool runkit_method_add ( string $classname , string $methodname , string $args , string $code [, int $flags = RUNKIT_ACC_PUBLIC [, string $doc_comment = NULL ]] )
bool runkit_method_add ( string $classname , string $methodname , Closure $closure [, int $flags = RUNKIT_ACC_PUBLIC [, string $doc_comment = NULL ]] )

Parameter-Liste

classname

The class to which this method will be added

methodname

The name of the method to add

args

Comma-delimited list of arguments for the newly-created method

code

The code to be evaluated when methodname is called

closure

A closure that defines the method.

flags

The type of method to create, can be RUNKIT_ACC_PUBLIC, RUNKIT_ACC_PROTECTED or RUNKIT_ACC_PRIVATE optionally combined via bitwise OR with RUNKIT_ACC_STATIC (since 1.0.1)

Hinweis:

This parameter is only used as of PHP 5, because, prior to this, all methods were public.

doc_comment

The doc comment of the function.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
runkit 1.0.4 | An alternative syntax expecting a closure has been added.
runkit 1.0.4 | The optional parameter doc_comment has been added.

Beispiele

Beispiel #1 runkit_method_add() example

<?php
class Example {
    function foo() {
        echo "foo!\n";
    }
}

// create an Example object
$e = new Example();

// Add a new public method
runkit_method_add(
    'Example',
    'add',
    '$num1, $num2',
    'return $num1 + $num2;',
    RUNKIT_ACC_PUBLIC
);

// add 12 + 4
echo $e->add(12, 4);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

16

Siehe auch

  • runkit_method_copy() - Copies a method from class to another
  • runkit_method_redefine() - Dynamically changes the code of the given method
  • runkit_method_remove() - Dynamically removes the given method
  • runkit_method_rename() - Dynamically changes the name of the given method
  • runkit_function_add() - Add a new function, similar to create_function

runkit_lint
runkit_method_copy
runkit Funktionen


Copies a method from class to another

runkit_method_add
runkit_method_redefine
runkit Funktionen
PHP Manual

runkit_method_copy

(PECL runkit >= 0.7.0)

runkit_method_copy — Copies a method from class to another

Beschreibung

bool runkit_method_copy ( string $dClass , string $dMethod , string $sClass [, string $sMethod ] )

Parameter-Liste

dClass

Destination class for copied method

dMethod

Destination method name

sClass

Source class of the method to copy

sMethod

Name of the method to copy from the source class. If this parameter is omitted, the value of dMethod is assumed.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 runkit_method_copy() example

<?php
class Foo {
    function example() {
        return "foo!\n";
    }
}

class Bar {
    // initially, no methods
}

// copy the example() method from the Foo class to the Bar class, as baz()
runkit_method_copy('Bar', 'baz', 'Foo', 'example');

// output copied function
echo Bar::baz();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

foo!

Siehe auch

  • runkit_method_add() - Dynamically adds a new method to a given class
  • runkit_method_redefine() - Dynamically changes the code of the given method
  • runkit_method_remove() - Dynamically removes the given method
  • runkit_method_rename() - Dynamically changes the name of the given method
  • runkit_function_copy() - Copy a function to a new function name

runkit_method_add
runkit_method_redefine
runkit Funktionen


Dynamically changes the code of the given method

runkit_method_copy
runkit_method_remove
runkit Funktionen
PHP Manual

runkit_method_redefine

(PECL runkit >= 0.7.0)

runkit_method_redefine — Dynamically changes the code of the given method

Beschreibung

bool runkit_method_redefine ( string $classname , string $methodname , string $args , string $code [, int $flags = RUNKIT_ACC_PUBLIC [, string $doc_comment = NULL ]] )
bool runkit_method_redefine ( string $classname , string $methodname , Closure $closure [, int $flags = RUNKIT_ACC_PUBLIC [, string $doc_comment = NULL ]] )

Hinweis: Diese Funktion kann nicht genutzt werden, um die aktuell ausgeführte (oder verkette) Methode zu manipulieren.

Parameter-Liste

classname

The class in which to redefine the method

methodname

The name of the method to redefine

args

Comma-delimited list of arguments for the redefined method

code

The new code to be evaluated when methodname is called

closure

A closure that defines the method.

flags

The redefined method can be RUNKIT_ACC_PUBLIC, RUNKIT_ACC_PROTECTED or RUNKIT_ACC_PRIVATE optionally combined via bitwise OR with RUNKIT_ACC_STATIC (since 1.0.1)

doc_comment

The doc comment of the function.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
runkit 1.0.4 | An alternative syntax expecting a closure has been added.
runkit 1.0.4 | The optional parameter doc_comment has been added.

Beispiele

Beispiel #1 runkit_method_redefine() example

<?php
class Example {
    function foo() {
        return "foo!\n";
    }
}

// create an Example object
$e = new Example();

// output Example::foo() (before redefine)
echo "Before: " . $e->foo();

// Redefine the 'foo' method
runkit_method_redefine(
    'Example',
    'foo',
    '',
    'return "bar!\n";',
    RUNKIT_ACC_PUBLIC
);

// output Example::foo() (after redefine)
echo "After: " . $e->foo();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Before: foo!
After: bar!

Siehe auch

  • runkit_method_add() - Dynamically adds a new method to a given class
  • runkit_method_copy() - Copies a method from class to another
  • runkit_method_remove() - Dynamically removes the given method
  • runkit_method_rename() - Dynamically changes the name of the given method
  • runkit_function_redefine() - Replace a function definition with a new implementation

runkit_method_copy
runkit_method_remove
runkit Funktionen


Dynamically removes the given method

runkit_method_redefine
runkit_method_rename
runkit Funktionen
PHP Manual

runkit_method_remove

(PECL runkit >= 0.7.0)

runkit_method_remove — Dynamically removes the given method

Beschreibung

bool runkit_method_remove ( string $classname , string $methodname )

Hinweis: Diese Funktion kann nicht genutzt werden, um die aktuell ausgeführte (oder verkette) Methode zu manipulieren.

Parameter-Liste

classname

The class in which to remove the method

methodname

The name of the method to remove

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 runkit_method_remove() example

<?php
class Example {
    function foo() {
        return "foo!\n";
    }

    function bar() {
        return "bar!\n";
    }
}

// Remove the 'foo' method
runkit_method_remove(
    'Example',
    'foo'
);

echo implode(' ', get_class_methods('Example'));

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bar

Siehe auch

  • runkit_method_add() - Dynamically adds a new method to a given class
  • runkit_method_copy() - Copies a method from class to another
  • runkit_method_redefine() - Dynamically changes the code of the given method
  • runkit_method_rename() - Dynamically changes the name of the given method
  • runkit_function_remove() - Remove a function definition

runkit_method_redefine
runkit_method_rename
runkit Funktionen


Dynamically changes the name of the given method

runkit_method_remove
runkit_return_value_used
runkit Funktionen
PHP Manual

runkit_method_rename

(PECL runkit >= 0.7.0)

runkit_method_rename — Dynamically changes the name of the given method

Beschreibung

bool runkit_method_rename ( string $classname , string $methodname , string $newname )

Hinweis: Diese Funktion kann nicht genutzt werden, um die aktuell ausgeführte (oder verkette) Methode zu manipulieren.

Parameter-Liste

classname

The class in which to rename the method

methodname

The name of the method to rename

newname

The new name to give to the renamed method

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 runkit_method_rename() example

<?php
class Example {
    function foo() {
        return "foo!\n";
    }
}

// Rename the 'foo' method to 'bar'
runkit_method_rename(
    'Example',
    'foo',
    'bar'
);

// output renamed function
echo Example::bar();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

foo!

Siehe auch

  • runkit_method_add() - Dynamically adds a new method to a given class
  • runkit_method_copy() - Copies a method from class to another
  • runkit_method_redefine() - Dynamically changes the code of the given method
  • runkit_method_remove() - Dynamically removes the given method
  • runkit_function_rename() - Change a function's name

runkit_method_remove
runkit_return_value_used
runkit Funktionen


Determines if the current functions return value will be used

runkit_method_rename
runkit_sandbox_output_handler
runkit Funktionen
PHP Manual

runkit_return_value_used

(PECL runkit >= 0.8.0)

runkit_return_value_used — Determines if the current functions return value will be used

Beschreibung

bool runkit_return_value_used ( void )

Rückgabewerte

Returns TRUE if the function's return value is used by the calling scope, otherwise FALSE

Beispiele

Beispiel #1 runkit_return_value_used() example

<?php
function foo() {
  var_dump(runkit_return_value_used());
}

foo();
$f = foo();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(true)

runkit_method_rename
runkit_sandbox_output_handler
runkit Funktionen


Specify a function to capture and/or process output from a runkit sandbox

runkit_return_value_used
runkit_superglobals
runkit Funktionen
PHP Manual

runkit_sandbox_output_handler

(PECL runkit >= 0.7.0)

runkit_sandbox_output_handler — Specify a function to capture and/or process output from a runkit sandbox

Beschreibung

mixed runkit_sandbox_output_handler ( object $sandbox [, mixed $callback ] )

Ordinarily, anything output (such as with echo or print) will be output as though it were printed from the parent's scope. Using runkit_sandbox_output_handler() however, output generated by the sandbox (including errors), can be captured by a function outside of the sandbox.

Hinweis: Sandbox-Unterstützung (wird benötigt für runkit_lint(), runkit_lint_file(), und die Runkit_Sandbox-Klasse) ist nur ab PHP 5.1 und speziell gepatchten Versionen von PHP 5.0 verfügbar und setzt voraus das Thread-Unterstützung aktiviert wurde. Weiterführende Informationen finden sie in der README-Datei des runkit-Pakets.

Hinweis: Deprecated

As of runkit version 0.5, this function is deprecated and is scheduled to be removed from the package prior to a 1.0 release. The output handler for a given Runkit_Sandbox instance may be read/set using the array offset syntax shown on the Runkit_Sandbox class definition page.

Parameter-Liste

sandbox

Object instance of Runkit_Sandbox class on which to set output handling.

callback

Name of a function which expects one parameter. Output generated by sandbox will be passed to this callback. Anything returned by the callback will be displayed normally. If this parameter is not passed then output handling will not be changed. If a non-truth value is passed, output handling will be disabled and will revert to direct display.

Rückgabewerte

Returns the name of the previously defined output handler callback, or FALSE if no handler was previously defined.

Beispiele

Beispiel #1 Feeding output to a variable

<?php
function capture_output($str) {
  $GLOBALS['sandbox_output'] .= $str;

  return '';
}

$sandbox_output = '';

$php = new Runkit_Sandbox();
runkit_sandbox_output_handler($php, 'capture_output');
$php->echo("Hello\n");
$php->eval('var_dump("Excuse me");');
$php->die("I lost myself.");
unset($php);

echo "Sandbox Complete\n\n";
echo $sandbox_output;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Sandbox Complete

Hello
string(9) "Excuse me"
I lost myself.

runkit_return_value_used
runkit_superglobals
runkit Funktionen


Return numerically indexed array of registered superglobals

runkit_sandbox_output_handler
scream
runkit Funktionen
PHP Manual

runkit_superglobals

(PECL runkit >= 0.7.0)

runkit_superglobals — Return numerically indexed array of registered superglobals

Beschreibung

array runkit_superglobals ( void )

Rückgabewerte

Returns a numerically indexed array of the currently registered superglobals. i.e. _GET, _POST, _REQUEST, _COOKIE, _SESSION, _SERVER, _ENV, _FILES

Siehe auch

  • Variable Scope

runkit_sandbox_output_handler
scream
runkit Funktionen


Break the silence operator

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Beispiele
    • Example that shows the effect of scream
runkit_superglobals
Einführung
Das Verhalten von PHP beeinflussen


Einführung

The scream extension gives the possibility to disable the silencing error control operator so all errors are being reported. This feature is controlled by an ini setting.

scream
Installation/Konfiguration
scream


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
scream


Anforderungen

PHP version 5.2.0 or greater.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/scream

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

scream Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
scream.enabled | Off | PHP_INI_ALL |
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

scream.enabled int

Whether or not to enable scream.

Installation
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

Diese Erweiterung definiert keine Ressource-Typen.

Laufzeit-Konfiguration
Beispiele
Installation/Konfiguration


Beispiele

Inhaltsverzeichnis

  • Example that shows the effect of scream
Ressource-Typen
Example that shows the effect of scream
scream


Example that shows the effect of scream

This example demonstrates how scream affects the behaviour of PHP's error handler.

Beispiel #1 Enabling and disabling scream at runtime

<?php
// Make sure errors will be shown
ini_set('display_errors', true);
error_reporting(E_ALL);

// Disable scream - this is the default and produce an error
ini_set('scream.enabled', false);
echo "Opening http://example.com/not-existing-file\n";
@fopen('http://example.com/not-existing-file', 'r');

// Now enable scream and try again
ini_set('scream.enabled', true);
echo "Opening http://example.com/not-existing-file\n";
@fopen('http://example.com/not-existing-file', 'r');
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Opening http://example.com/not-existing-file
Opening http://example.com/not-existing-file

Warning: fopen(http://example.com/not-existing-file): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in example.php on line 14

Hinweis: Usually one would set this in the php.ini configuration file instead of changing the code.

Beispiele
uopz
Beispiele


uopz

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Uopz Funktionen
    • uopz_backup — Backup a function
    • uopz_compose — Compose a class
    • uopz_copy — Copy a function
    • uopz_delete — Delete a function
    • uopz_extend — Extend a class at runtime
    • uopz_flags — Get or set flags on function or class
    • uopz_function — Creates a function at runtime
    • uopz_implement — Implements an interface at runtime
    • uopz_overload — Overload a VM opcode
    • uopz_redefine — Redefine a constant
    • uopz_rename — Rename a function at runtime
    • uopz_restore — Restore a previously backed up function
    • uopz_undefine — Undefine a constant
Example that shows the effect of scream
Einführung
Das Verhalten von PHP beeinflussen


Einführung

The uopz - User Operations for Zend - extension exposes Zend Engine functionality normally used at compilation and execution time in order to allow modification of the internal structures that represent PHP code, and for user code to interact with the VM.

uopz supports the following activities:

  • Overloading some opcodes including ZEND_EXIT and ZEND_NEW
  • Backup and restore functions and methods
  • Renaming functions and methods
  • Copying of functions and methods
  • Deletion of functions and methods
  • Redefinition of global and class constants
  • Deletion of global and class constants
  • Runtime composition and modification of classes

Hinweis:

All of the activities supported are compatible with opcache

uopz
Installation/Konfiguration
uopz


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
uopz


Anforderungen

uopz requires 5.4+

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

uopz releases are hosted by PECL and the source code by » github, the easiest route to installation is the normal PECL route: » http://pecl.php.net/package/uopz.

Windows users can download prebuilt release binaries from the » PECL website.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

uopz must be loaded as a zend_extension

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

The following opcodes are defined as constants by uopz:

ZEND_EXIT (integer)
Invoked by exit() and die(), recieves no arguments. Return boolean TRUE to exit, FALSE to continue
ZEND_NEW (integer)
Invoked by object construction, receives the class of object being created as the only argument
ZEND_THROW (integer)
Invoked by the throw construct, receives the class of exception being thrown as the only argument
ZEND_FETCH_CLASS (integer)
Invoked upon composure, recieves the class the name of the class being fetched as the only argument
ZEND_ADD_TRAIT (integer)
Invoked upon composure, recieves the class the trait is being added to as the first argument, and the name of the trait as the second argument
ZEND_ADD_INTERFACE (integer)
Invoked upon composure, recieves the class the interface is being added to as the first argument, and the name of the interface as the second argument
ZEND_INSTANCEOF (integer)
Invoked by instanceof operator, recieves the object being verified as the first argument, and the name of the class which that object should be as the second argument

The following constants control the VM's behaviour after a user handler is invoked, be extremely careful!

ZEND_USER_OPCODE_CONTINUE (integer)
Advance 1 opcode and continuue
ZEND_USER_OPCODE_ENTER (integer)
Enter into new op_array without recursion
ZEND_USER_OPCODE_LEAVE (integer)
Return to calling op_array within the same executor
ZEND_USER_OPCODE_DISPATCH (integer)
Dispatch to original opcode handler
ZEND_USER_OPCODE_DISPATCH_TO (integer)
Dispatch to a specific handler (OR'd with ZEND opcode constant)
ZEND_USER_OPCODE_RETURN (integer)
Exit from executor (return from function)

The following modifiers are registered as constants by uopz

ZEND_ACC_PUBLIC (integer)
Mark function as public, the default
ZEND_ACC_PROTECTED (integer)
Mark function as protected
ZEND_ACC_PRIVATE (integer)
Mark function as private
ZEND_ACC_STATIC (integer)
Mark function as static
ZEND_ACC_FINAL (integer)
Mark function as final
ZEND_ACC_ABSTRACT (integer)
Mark function as abstract
ZEND_ACC_CLASS (integer)
Dummy registered for consistency, the default kind of class entry
ZEND_ACC_INTERFACE (integer)
Mark class as interface
ZEND_ACC_TRAIT (integer)
Mark class as trait
ZEND_ACC_FETCH (integer)
Used for getting flags only

Ressource-Typen
Uopz Funktionen
uopz


Uopz Funktionen

Inhaltsverzeichnis

  • uopz_backup — Backup a function
  • uopz_compose — Compose a class
  • uopz_copy — Copy a function
  • uopz_delete — Delete a function
  • uopz_extend — Extend a class at runtime
  • uopz_flags — Get or set flags on function or class
  • uopz_function — Creates a function at runtime
  • uopz_implement — Implements an interface at runtime
  • uopz_overload — Overload a VM opcode
  • uopz_redefine — Redefine a constant
  • uopz_rename — Rename a function at runtime
  • uopz_restore — Restore a previously backed up function
  • uopz_undefine — Undefine a constant
Vordefinierte Konstanten
uopz_backup
uopz


Backup a function

Uopz Funktionen
uopz_compose
Uopz Funktionen
PHP Manual

uopz_backup

(PECL uopz >= 1.0.3)

uopz_backup — Backup a function

Beschreibung

void uopz_backup ( string $class , string $function )
void uopz_backup ( string $function )

Backup a function at runtime, to be restored on shutdown

Parameter-Liste

class

The name of the class containing the function to backup

function

The name of the function

Rückgabewerte

Beispiele

Beispiel #1 uopz_backup() example

<?php
uopz_backup("fgets");
uopz_function("fgets", function(){
    return true;
});
var_dump(fgets());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(true)
Uopz Funktionen
uopz_compose
Uopz Funktionen


Compose a class

uopz_backup
uopz_copy
Uopz Funktionen
PHP Manual

uopz_compose

(PECL uopz >= 1.0.0)

uopz_compose — Compose a class

Beschreibung

void uopz_compose ( string $name , array $classes [, array $methods [, array $properties [, int $flags ]]] )

Creates a new class of the given name that implements, extends, or uses all of the provided classes

Parameter-Liste

name

A legal class name

classes

An array of class, interface and trait names

methods

An associative array of methods, values are either closures or [modifiers => closure]

properties

An associative array of properties, keys are names, values are modifiers

flags

Entry type, by default ZEND_ACC_CLASS

Rückgabewerte

Beispiele

Beispiel #1 uopz_compose() example

<?php
class myClass {}
trait myTrait {}
interface myInterface {}

uopz_compose(
    Composed::class, [
        myClass::class,
        myTrait::class,
        myInterface::class
    ], [
    "__construct" => function() {
        /* ... */
    }
]);

var_dump(
 class_uses(Composed::class),
 class_parents(Composed::class),
 class_implements(Composed::class));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(1) {
  ["myTrait"]=>
  string(7) "myTrait"
}
array(1) {
  ["myClass"]=>
  string(7) "myClass"
}
array(1) {
  ["myInterface"]=>
  string(11) "myInterface"
}
uopz_backup
uopz_copy
Uopz Funktionen


Copy a function

uopz_compose
uopz_delete
Uopz Funktionen
PHP Manual

uopz_copy

(PECL uopz >= 1.0.4)

uopz_copy — Copy a function

Beschreibung

Closure uopz_copy ( string $class , string $function )
Closure uopz_copy ( string $function )

Copy a function by name

Parameter-Liste

class

The name of the class containing the function to copy

function

The name of the function

Rückgabewerte

A Closure for the specified function

Beispiele

Beispiel #1 uopz_copy() example

<?php
$strtotime = uopz_copy('strtotime');

uopz_function("strtotime", function($arg1, $arg2) use($strtotime) {
    /* can call original strtotime from here */
    var_dump($arg1);
});

var_dump(strtotime('dummy'));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(5) "dummy"
uopz_compose
uopz_delete
Uopz Funktionen


Delete a function

uopz_copy
uopz_extend
Uopz Funktionen
PHP Manual

uopz_delete

(PECL uopz >= 1.0.0)

uopz_delete — Delete a function

Beschreibung

void uopz_delete ( string $class , string $function )
void uopz_delete ( string $function )

Deletes a function or method

Parameter-Liste

class

function

Rückgabewerte

Beispiele

Beispiel #1 uopz_delete() example

<?php
uopz_delete("strlen");

echo strlen("Hello World");
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

PHP Fatal error: Call to undefined function strlen() in /path/to/script.php on line 4

Beispiel #2 uopz_delete() class example

<?php
class My {
    public static function strlen($arg) {
        return strlen($arg);
    }
}

uopz_delete(My::class, "strlen");

echo My::strlen("Hello World");
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

PHP Fatal error: Call to undefined method My::strlen() in /path/to/script.php on line 10
uopz_copy
uopz_extend
Uopz Funktionen


Extend a class at runtime

uopz_delete
uopz_flags
Uopz Funktionen
PHP Manual

uopz_extend

(PECL uopz >= 1.0.0)

uopz_extend — Extend a class at runtime

Beschreibung

void uopz_extend ( string $class , string $parent )

Makes class extend parent

Parameter-Liste

class

The name of the class to extend

parent

The name of the class to inherit

Rückgabewerte

Beispiele

Beispiel #1 uopz_extend() example

<?php
class A {}
class B {}

uopz_extend(A::class, B::class);

var_dump(class_parents(A::class));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(1) {
  ["B"]=>
  string(1) "B"
}
uopz_delete
uopz_flags
Uopz Funktionen


Get or set flags on function or class

uopz_extend
uopz_function
Uopz Funktionen
PHP Manual

uopz_flags

(PECL uopz >= 2.0.2)

uopz_flags — Get or set flags on function or class

Beschreibung

int uopz_flags ( string $class , string $function , int $flags )
int uopz_flags ( string $function , int $flags )

Get or set the flags on a class or function entry at runtime

Parameter-Liste

class

The name of a class

function

The name of the function

flags

A valid set of ZEND_ACC_ flags, ZEND_ACC_FETCH to read flags

Rückgabewerte

If setting, returns old flags, else returns flags

Beispiele

Beispiel #1 uopz_flags() example

<?php
class Test {
    public function method() {
        return __CLASS__;
    }
}

$flags = uopz_flags("Test", "method", ZEND_ACC_FETCH);

var_dump((bool) (uopz_flags("Test", "method", ZEND_ACC_FETCH) & ZEND_ACC_PRIVATE));
var_dump((bool) (uopz_flags("Test", "method", ZEND_ACC_FETCH) & ZEND_ACC_STATIC));

var_dump(uopz_flags("Test", "method", $flags|ZEND_ACC_STATIC|ZEND_ACC_PRIVATE));

var_dump((bool) (uopz_flags("Test", "method", ZEND_ACC_FETCH) & ZEND_ACC_PRIVATE));
var_dump((bool) (uopz_flags("Test", "method", ZEND_ACC_FETCH) & ZEND_ACC_STATIC));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(false)
bool(false)
int(1234567890)
bool(true)
bool(true)
uopz_extend
uopz_function
Uopz Funktionen


Creates a function at runtime

uopz_flags
uopz_implement
Uopz Funktionen
PHP Manual

uopz_function

(PECL uopz >= 1.0.0)

uopz_function — Creates a function at runtime

Beschreibung

void uopz_function ( string $class , string $function , Closure $handler [, int $modifiers ] )
void uopz_function ( string $function , Closure $handler [, int $modifiers ] )

Creates a function at runtime

Parameter-Liste

class

The name of the class to receive the new function

function

The name of the function

handler

The Closure for the function

modifiers

The modifiers for the function, by default copied or ZEND_ACC_PUBLIC

Rückgabewerte

Beispiele

Beispiel #1 uopz_function() example

<?php
uopz_function("my_strlen", function($arg) {
    return strlen($arg);
});
echo my_strlen("Hello World");
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

11

Beispiel #2 uopz_function() class example

<?php
class My {}

uopz_function(My::class, "strlen", function($arg) {
    return strlen($arg);
}, ZEND_ACC_STATIC);

echo My::strlen("Hello World");
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

11
uopz_flags
uopz_implement
Uopz Funktionen


Implements an interface at runtime

uopz_function
uopz_overload
Uopz Funktionen
PHP Manual

uopz_implement

(PECL uopz >= 1.0.0)

uopz_implement — Implements an interface at runtime

Beschreibung

void uopz_implement ( string $class , string $interface )

Makes class implement interface

Parameter-Liste

class

interface

Rückgabewerte

Beispiele

Beispiel #1 uopz_implement() example

<?php
interface myInterface {}

class myClass {}

uopz_implement(myClass::class, myInterface::class);

var_dump(class_implements(myClass::class));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(1) {
  ["myInterface"]=>
  string(11) "myInterface"
}
uopz_function
uopz_overload
Uopz Funktionen


Overload a VM opcode

uopz_implement
uopz_redefine
Uopz Funktionen
PHP Manual

uopz_overload

(PECL uopz >= 1.0.0)

uopz_overload — Overload a VM opcode

Beschreibung

void uopz_overload ( int $opcode , Callable $callable )

Overloads the specified opcode with the user defined function

Parameter-Liste

opcode

A valid opcode, see constants for details of supported codes

callable

Rückgabewerte

Beispiele

Beispiel #1 uopz_overload() example

<?php
uopz_overload(ZEND_EXIT, function(){});

exit();
echo "Hello World";
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Hello World
uopz_implement
uopz_redefine
Uopz Funktionen


Redefine a constant

uopz_overload
uopz_rename
Uopz Funktionen
PHP Manual

uopz_redefine

(PECL uopz >= 1.0.0)

uopz_redefine — Redefine a constant

Beschreibung

void uopz_redefine ( string $class , string $constant , mixed $value )
void uopz_redefine ( string $constant , mixed $value )

Redefines the given constant as value

Parameter-Liste

class

The name of the class containing the constant

constant

The name of the constant

value

The new value for the constant, must be a valid type for a constant variable

Rückgabewerte

Beispiele

Beispiel #1 uopz_redefine() example

<?php
define("MY", 100);

uopz_redefine("MY", 1000);

echo MY;
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

1000
uopz_overload
uopz_rename
Uopz Funktionen


Rename a function at runtime

uopz_redefine
uopz_restore
Uopz Funktionen
PHP Manual

uopz_rename

(PECL uopz >= 1.0.0)

uopz_rename — Rename a function at runtime

Beschreibung

void uopz_rename ( string $class , string $function , string $rename )
void uopz_rename ( string $function , string $rename )

Renames function to rename

Hinweis:

If both functions exist, this effectively swaps their names

Parameter-Liste

class

The name of the class containing the function

function

The name of an existing function

rename

The new name for the function

Rückgabewerte

Beispiele

Beispiel #1 uopz_rename() example

<?php
uopz_rename("strlen", "original_strlen");

echo original_strlen("Hello World");
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

11

Beispiel #2 uopz_rename() class example

<?php
class My {
    public function strlen($arg) {
        return strlen($arg);
    }
}

uopz_rename(My::class, "strlen", "original_strlen");

echo My::original_strlen("Hello World");
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

11
uopz_redefine
uopz_restore
Uopz Funktionen


Restore a previously backed up function

uopz_rename
uopz_undefine
Uopz Funktionen
PHP Manual

uopz_restore

(PECL uopz >= 1.0.3)

uopz_restore — Restore a previously backed up function

Beschreibung

void uopz_restore ( string $class , string $function )
void uopz_restore ( string $function )

Restore a previously backed up function

Parameter-Liste

class

The name of the class containing the function to restore

function

The name of the function

Rückgabewerte

Beispiele

Beispiel #1 uopz_restore() example

<?php
uopz_backup("fgets");
uopz_function("fgets", function(){
    return true;
});
var_dump(fgets());
uopz_restore('fgets');
fgets();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Warning: fgets() expects at least 1 parameter, 0 given in /path/to/script.php on line 8
uopz_rename
uopz_undefine
Uopz Funktionen


Undefine a constant

uopz_restore
Weakref
Uopz Funktionen
PHP Manual

uopz_undefine

(PECL uopz >= 1.0.0)

uopz_undefine — Undefine a constant

Beschreibung

void uopz_undefine ( string $class , string $constant )
void uopz_undefine ( string $constant )

Removes the constant at runtime

Parameter-Liste

class

The name of the class containing constant

constant

The name of an existing constant

Rückgabewerte

Beispiele

Beispiel #1 uopz_undefine() example

<?php
define("MY", true);

uopz_undefine("MY");

var_dump(defined("MY"));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(false)
uopz_restore
Weakref
Uopz Funktionen


Weak References

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Ressource-Typen
  • WeakRef — The WeakRef class
    • Weakref::acquire — Acquires a strong reference on that object
    • Weakref::__construct — Constructs a new weak reference
    • Weakref::get — Returns the object pointed to by the weak reference
    • Weakref::release — Releases a previously acquired reference
    • Weakref::valid — Checks whether the object referenced still exists
  • WeakMap — The WeakMap class
    • WeakMap::__construct — Constructs a new map
    • WeakMap::count — Counts the number of live entries in the map
    • WeakMap::current — Returns the current value under iteration
    • WeakMap::key — Returns the current key under iteration.
    • WeakMap::next — Advances to the next map element
    • WeakMap::offsetExists — Checks whether a certain object is in the map
    • WeakMap::offsetGet — Returns the value pointed to by a certain object
    • WeakMap::offsetSet — Updates the map with a new key-value pair
    • WeakMap::offsetUnset — Removes an entry from the map
    • WeakMap::rewind — Rewinds the iterator to the beginning of the map
    • WeakMap::valid — Returns whether the iterator is still on a valid map element
uopz_undefine
Einführung
Das Verhalten von PHP beeinflussen


Einführung

Weak references provide a non-intrusive gateway to ephemeral objects. Unlike normal (strong) references, weak references do not prevent the garbage collector from freeing that object. For this reason, an object may be destroyed even though a weak reference to that object still exists. In such conditions, the weak reference seamlessly becomes invalid.

Beispiel #1 Weakref usage example

<?php
class MyClass {
    public function __destruct() {
        echo "Destroying object!\n";
    }
}

$o1 = new MyClass;

$r1 = new Weakref($o1);

if ($r1->valid()) {
    echo "Object still exists!\n";
    var_dump($r1->get());
} else {
    echo "Object is dead!\n";
}

unset($o1);

if ($r1->valid()) {
    echo "Object still exists!\n";
    var_dump($r1->get());
} else {
    echo "Object is dead!\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Object still exists!
object(MyClass)#1 (0) {
}
Destroying object!
Object is dead!

Weakref
Installation/Konfiguration
Weakref


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Ressource-Typen
Einführung
Anforderungen
Weakref


Installation

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/weakref.

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Anforderungen
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

Diese Erweiterung definiert keine Ressource-Typen.

Installation
WeakRef
Installation/Konfiguration


The WeakRef class

(PECL weakref >= 0.1.0)

Einführung

The WeakRef class provides a gateway to objects without preventing the garbage collector from freeing those objects. It also provides a way to turn a weak reference into a strong one.

Klassenbeschreibung

WeakRef {
/* Methoden */
public Weakref::__construct ( object $object )
public bool Weakref::acquire ( void )
public object Weakref::get ( void )
public bool Weakref::release ( void )
public bool Weakref::valid ( void )
}

Beispiele

Beispiel #1 WeakRef usage example

<?php
class MyClass {
    public function __destruct() {
        echo "Destroying object!\n";
    }
}

$o1 = new MyClass;

$r1 = new WeakRef($o1);

if ($r1->valid()) {
    echo "Object still exists!\n";
    var_dump($r1->get());
} else {
    echo "Object is dead!\n";
}

unset($o1);

if ($r1->valid()) {
    echo "Object still exists!\n";
    var_dump($r1->get());
} else {
    echo "Object is dead!\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Object still exists!
object(MyClass)#1 (0) {
}
Destroying object!
Object is dead!

Inhaltsverzeichnis

  • Weakref::acquire — Acquires a strong reference on that object
  • Weakref::__construct — Constructs a new weak reference
  • Weakref::get — Returns the object pointed to by the weak reference
  • Weakref::release — Releases a previously acquired reference
  • Weakref::valid — Checks whether the object referenced still exists
Ressource-Typen
Weakref::acquire
Weakref


Acquires a strong reference on that object

WeakRef
Weakref::__construct
WeakRef
PHP Manual

Weakref::acquire

(PECL weakref >= 0.1.0)

Weakref::acquire — Acquires a strong reference on that object

Beschreibung

public bool Weakref::acquire ( void )

Acquires a strong reference on that object, virtually turning the weak reference into a strong one.

The Weakref instance maintains an internal acquired counter to track outstanding strong references. If the call to Weakref::acquire() is successful, this counter will be incremented by one.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the reference was valid and could be turned into a strong reference, FALSE otherwise.

Beispiele

Beispiel #1 Weakref::acquire() example

<?php
class MyClass {
    public function __destruct() {
        echo "Destroying object!\n";
    }
}

$o1 = new MyClass;

$r1 = new Weakref($o1);

$r1->acquire();

echo "Unsetting o1...\n";
unset($o1);

$o2 = $r1->get();

$r1->release();

echo "Unsetting o2...\n";
unset($o2);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Unsetting o1...
Unsetting o2...
Destroying object!

Beispiel #2 Nested acquire/release example

<?php
class MyClass {
    public function __destruct() {
        echo "Destroying object!\n";
    }
}

$o1 = new MyClass;

$r1 = new Weakref($o1);

echo "Acquiring...\n";
$r1->acquire();

echo "  Unsetting...\n";
unset($o1);

echo "  Acquiring...\n";
$r1->acquire();

echo "    Acquiring...\n";
$r1->acquire();

echo "    Releasing...\n";
$r1->release();

echo "  Releasing...\n";
$r1->release();

echo "Releasing...\n";
$r1->release();

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Acquiring...
  Unsetting...
  Acquiring...
    Acquiring...
    Releasing...
  Releasing...
Releasing...
Destroying object!

Siehe auch

  • Weakref::release() - Releases a previously acquired reference

WeakRef
Weakref::__construct
WeakRef


Constructs a new weak reference

Weakref::acquire
Weakref::get
WeakRef
PHP Manual

Weakref::__construct

(PECL weakref >= 0.1.0)

Weakref::__construct — Constructs a new weak reference

Beschreibung

public Weakref::__construct ( object $object )

Constructs a new weak reference.

Parameter-Liste

object

The object to reference.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Weakref::__construct() example

<?php
class MyClass {
    public function __destruct() {
        echo "Destroying object!\n";
    }
}

$o1 = new MyClass;

$r1 = new Weakref($o1);

if ($r1->valid()) {
    echo "Object still exists!\n";
    var_dump($r1->get());
} else {
    echo "Object is dead!\n";
}

unset($o1);

if ($r1->valid()) {
    echo "Object still exists!\n";
    var_dump($r1->get());
} else {
    echo "Object is dead!\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Object still exists!
object(MyClass)#1 (0) {
}
Destroying object!
Object is dead!

Weakref::acquire
Weakref::get
WeakRef


Returns the object pointed to by the weak reference

Weakref::__construct
Weakref::release
WeakRef
PHP Manual

Weakref::get

(PECL weakref >= 0.1.0)

Weakref::get — Returns the object pointed to by the weak reference

Beschreibung

public object Weakref::get ( void )

Returns the object pointed to by the weak reference.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the object if the reference is still valid, NULL otherwise.

Siehe auch

  • Weakref::valid() - Checks whether the object referenced still exists

Weakref::__construct
Weakref::release
WeakRef


Releases a previously acquired reference

Weakref::get
Weakref::valid
WeakRef
PHP Manual

Weakref::release

(PECL weakref >= 0.1.0)

Weakref::release — Releases a previously acquired reference

Beschreibung

public bool Weakref::release ( void )

Releases a previously acquired reference, potentially turning a strong reference back into a weak reference.

The Weakref instance maintains an internal acquired counter to track outstanding strong references. If the call to Weakref::release() is successful, this counter will be decremented by one. Once this counter reaches zero, the strong reference is turned back into a weak reference.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the reference was previously acquired and thus could be released, FALSE otherwise.

Beispiele

Beispiel #1 Weakref::release() example

<?php
class MyClass {
    public function __destruct() {
        echo "Destroying object!\n";
    }
}

$o1 = new MyClass;

$r1 = new Weakref($o1);

$r1->acquire();

echo "Unsetting o1...\n";
unset($o1);

$o2 = $r1->get();

$r1->release();

echo "Unsetting o2...\n";
unset($o2);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Unsetting o1...
Unsetting o2...
Destroying object!

Siehe auch

  • Weakref::acquire() - Acquires a strong reference on that object

Weakref::get
Weakref::valid
WeakRef


Checks whether the object referenced still exists

Weakref::release
WeakMap
WeakRef
PHP Manual

Weakref::valid

(PECL weakref >= 0.1.0)

Weakref::valid — Checks whether the object referenced still exists

Beschreibung

public bool Weakref::valid ( void )

Checks whether the object referenced still exists.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the object still exists and is thus still accessible via Weakref::get(), FALSE otherwise.

Siehe auch

  • Weakref::get() - Returns the object pointed to by the weak reference

Weakref::release
WeakMap
WeakRef


The WeakMap class

(PECL weakref >= 0.2.0)

Einführung

Klassenbeschreibung

WeakMap implements Countable , ArrayAccess , Iterator {
/* Methoden */
public __construct ( void )
public int count ( void )
public mixed current ( void )
public object key ( void )
public void next ( void )
public bool offsetExists ( object $object )
public mixed offsetGet ( object $object )
public void offsetSet ( object $object , mixed $value )
public void offsetUnset ( object $object )
public void rewind ( void )
public bool valid ( void )
}

Beispiele

Beispiel #1 Weakmap usage example

<?php
$wm = new WeakMap();

$o = new StdClass;

class A {
    public function __destruct() {
        echo "Dead!\n";
    }
}

$wm[$o] = new A;

var_dump(count($wm));
echo "Unsetting..\n";
unset($o);
echo "Done\n";
var_dump(count($wm));

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(1)
Unsetting..
Dead!
Done
int(0)

Inhaltsverzeichnis

  • WeakMap::__construct — Constructs a new map
  • WeakMap::count — Counts the number of live entries in the map
  • WeakMap::current — Returns the current value under iteration
  • WeakMap::key — Returns the current key under iteration.
  • WeakMap::next — Advances to the next map element
  • WeakMap::offsetExists — Checks whether a certain object is in the map
  • WeakMap::offsetGet — Returns the value pointed to by a certain object
  • WeakMap::offsetSet — Updates the map with a new key-value pair
  • WeakMap::offsetUnset — Removes an entry from the map
  • WeakMap::rewind — Rewinds the iterator to the beginning of the map
  • WeakMap::valid — Returns whether the iterator is still on a valid map element
Weakref::valid
WeakMap::__construct
Weakref


Constructs a new map

WeakMap
WeakMap::count
WeakMap
PHP Manual

WeakMap::__construct

(PECL weakref >= 0.2.0)

WeakMap::__construct — Constructs a new map

Beschreibung

public WeakMap::__construct ( void )

Constructs a new map.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

WeakMap
WeakMap::count
WeakMap


Counts the number of live entries in the map

WeakMap::__construct
WeakMap::current
WeakMap
PHP Manual

WeakMap::count

(PECL weakref >= 0.2.0)

WeakMap::count — Counts the number of live entries in the map

Beschreibung

public int WeakMap::count ( void )

Counts the number of live entries in the map.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the number of live entries in the map.

WeakMap::__construct
WeakMap::current
WeakMap


Returns the current value under iteration

WeakMap::count
WeakMap::key
WeakMap
PHP Manual

WeakMap::current

(PECL weakref >= 0.2.0)

WeakMap::current — Returns the current value under iteration

Beschreibung

public mixed WeakMap::current ( void )

Returns the current value being iterated on in the map.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The value currently being iterated on.

WeakMap::count
WeakMap::key
WeakMap


Returns the current key under iteration.

WeakMap::current
WeakMap::next
WeakMap
PHP Manual

WeakMap::key

(PECL weakref >= 0.2.0)

WeakMap::key — Returns the current key under iteration.

Beschreibung

public object WeakMap::key ( void )

Returns the object serving as key in the map, at the current iterating position.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The object key currently being iterated.

WeakMap::current
WeakMap::next
WeakMap


Advances to the next map element

WeakMap::key
WeakMap::offsetExists
WeakMap
PHP Manual

WeakMap::next

(PECL weakref >= 0.2.0)

WeakMap::next — Advances to the next map element

Beschreibung

public void WeakMap::next ( void )

Advances to the next map element.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

WeakMap::key
WeakMap::offsetExists
WeakMap


Checks whether a certain object is in the map

WeakMap::next
WeakMap::offsetGet
WeakMap
PHP Manual

WeakMap::offsetExists

(PECL weakref >= 0.2.0)

WeakMap::offsetExists — Checks whether a certain object is in the map

Beschreibung

public bool WeakMap::offsetExists ( object $object )

Checks whether the passed object is referenced in the map.

Parameter-Liste

object

Object to check for.

Rückgabewerte

Returns TRUE if the object is contained in the map, FALSE otherwise.

WeakMap::next
WeakMap::offsetGet
WeakMap


Returns the value pointed to by a certain object

WeakMap::offsetExists
WeakMap::offsetSet
WeakMap
PHP Manual

WeakMap::offsetGet

(PECL weakref >= 0.2.0)

WeakMap::offsetGet — Returns the value pointed to by a certain object

Beschreibung

public mixed WeakMap::offsetGet ( object $object )

Returns the value pointed to by a certain object.

Parameter-Liste

object

Some object contained as key in the map.

Rückgabewerte

Returns the value associated to the object passed as argument, NULL otherwise.

WeakMap::offsetExists
WeakMap::offsetSet
WeakMap


Updates the map with a new key-value pair

WeakMap::offsetGet
WeakMap::offsetUnset
WeakMap
PHP Manual

WeakMap::offsetSet

(PECL weakref >= 0.2.0)

WeakMap::offsetSet — Updates the map with a new key-value pair

Beschreibung

public void WeakMap::offsetSet ( object $object , mixed $value )

Updates the map with a new key-value pair. If the key already existed in the map, the old value is replaced with the new.

Parameter-Liste

object

The object serving as key of the key-value pair.

value

The arbitrary data serving as value of the key-value pair.

Rückgabewerte

Es wird kein Wert zurückgegeben.

WeakMap::offsetGet
WeakMap::offsetUnset
WeakMap


Removes an entry from the map

WeakMap::offsetSet
WeakMap::rewind
WeakMap
PHP Manual

WeakMap::offsetUnset

(PECL weakref >= 0.2.0)

WeakMap::offsetUnset — Removes an entry from the map

Beschreibung

public void WeakMap::offsetUnset ( object $object )

Removes an entry from the map.

Parameter-Liste

object

The key object to remove from the map.

Rückgabewerte

Es wird kein Wert zurückgegeben.

WeakMap::offsetSet
WeakMap::rewind
WeakMap


Rewinds the iterator to the beginning of the map

WeakMap::offsetUnset
WeakMap::valid
WeakMap
PHP Manual

WeakMap::rewind

(PECL weakref >= 0.2.0)

WeakMap::rewind — Rewinds the iterator to the beginning of the map

Beschreibung

public void WeakMap::rewind ( void )

Rewinds the iterator to the beginning of the map.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

WeakMap::offsetUnset
WeakMap::valid
WeakMap


Returns whether the iterator is still on a valid map element

WeakMap::rewind
WinCache
WeakMap
PHP Manual

WeakMap::valid

(PECL weakref >= 0.2.0)

WeakMap::valid — Returns whether the iterator is still on a valid map element

Beschreibung

public bool WeakMap::valid ( void )

Returns whether the iterator is still on a valid map element.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the iterator is on a valid element that can be accessed, FALSE otherwise.

WeakMap::rewind
WinCache
WeakMap


Windows Cache for PHP

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • WinCache Statistics Script
    • WinCache Session Handler
    • WinCache Functions Reroutes
    • Ressource-Typen
  • Vordefinierte Konstanten
  • WinCache Funktionen
    • wincache_fcache_fileinfo — Retrieves information about files cached in the file cache
    • wincache_fcache_meminfo — Retrieves information about file cache memory usage
    • wincache_lock — Acquires an exclusive lock on a given key
    • wincache_ocache_fileinfo — Retrieves information about files cached in the opcode cache
    • wincache_ocache_meminfo — Retrieves information about opcode cache memory usage
    • wincache_refresh_if_changed — Refreshes the cache entries for the cached files
    • wincache_rplist_fileinfo — Retrieves information about resolve file path cache
    • wincache_rplist_meminfo — Retrieves information about memory usage by the resolve file path cache
    • wincache_scache_info — Retrieves information about files cached in the session cache
    • wincache_scache_meminfo — Retrieves information about session cache memory usage
    • wincache_ucache_add — Adds a variable in user cache only if variable does not already exist in the cache
    • wincache_ucache_cas — Compares the variable with old value and assigns new value to it
    • wincache_ucache_clear — Deletes entire content of the user cache
    • wincache_ucache_dec — Decrements the value associated with the key
    • wincache_ucache_delete — Deletes variables from the user cache
    • wincache_ucache_exists — Checks if a variable exists in the user cache
    • wincache_ucache_get — Gets a variable stored in the user cache
    • wincache_ucache_inc — Increments the value associated with the key
    • wincache_ucache_info — Retrieves information about data stored in the user cache
    • wincache_ucache_meminfo — Retrieves information about user cache memory usage
    • wincache_ucache_set — Adds a variable in user cache and overwrites a variable if it already exists in the cache
    • wincache_unlock — Releases an exclusive lock on a given key
  • Building for Windows
    • Prerequisites
    • Compiling and building
    • Verifying the build
WeakMap::valid
Einführung
Das Verhalten von PHP beeinflussen


Einführung

Windows Cache Extension for PHP is a PHP accelerator that is used to increase the speed of PHP applications running on Windows and Windows Server. Once the Windows Cache Extension for PHP is enabled and loaded by the PHP engine, PHP applications can take advantage of the functionality without any code modifications.

The Windows Cache Extension includes 5 different types of caches. The following describes the purpose of each cache type and the benefits it provides.

  • PHP Opcode Cache - PHP is a script processing engine, which reads an input stream of data that contains text and/or PHP instructions and produces another stream of data, most commonly in the HTML format. This means that on a web server the PHP engine reads, parses, compiles and executes a PHP script each time that it is requested by a Web client. The reading, parsing and compilation operations put additional load on the web server's CPU and file system and thus affect the overall performance of a PHP web application. The PHP bytecode (opcode) cache is used to store the compiled script bytecode in shared memory so that it can be re-used by PHP engine for subsequent executions of the same script.

  • File Cache - Even with the PHP opcode cache enabled, the PHP engine has to accesses the script files on a file system. When PHP scripts are stored on a remote UNC file share, the file operations introduce a significant performance overhead. The Windows Cache Extension for PHP includes a file cache that is used to store the content of the PHP script files in shared memory, which reduces the amount of file system operations performed by PHP engine.

  • Resolve File Path Cache - PHP scripts very often include or operate with files by using relative file paths. Every file path has to be normalized to an absolute file path by the PHP engine. When a PHP application uses many PHP files and accesses them by relative paths, the operation of resolving the paths may negatively impact the application's performance. The Windows Cache Extension for PHP provides a Resolve File Path cache, which is used to store the mappings between relative and absolute file paths, thereby reducing the number of path resolutions that the PHP engine has to perform.

  • User Cache (available since version 1.1.0) - PHP scripts can take advantage of the shared memory cache by using the user cache API's. PHP objects and variables can be stored in the user cache and then re-used on subsequent requests. This can be used to improve performance of PHP scripts and to share the data across multiple PHP processes.

  • Session Handler (available since version 1.1.0) - The WinCache session handler can be used to store the PHP session data in the shared memory cache. This avoids file system operations for reading and writing session data, which improves performance when large amount of data is stored in PHP session.

WinCache
Installation/Konfiguration
WinCache


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • WinCache Statistics Script
  • WinCache Session Handler
  • WinCache Functions Reroutes
  • Ressource-Typen
Einführung
Anforderungen
WinCache


Anforderungen

The extension is currently supported only on the following configurations:

Windows OS:

  • Windows XP SP3 with IIS 5.1 and » FastCGI Extension
  • Windows Server 2003 with IIS 6.0 and » FastCGI Extension
  • Windows Vista SP1 with IIS 7.0 and FastCGI Module
  • Windows Server 2008 with IIS 7.0 and FastCGI Module
  • Windows 7 with IIS 7.5 and FastCGI Module
  • Windows Server 2008 R2 with IIS 7.5 and FastCGI Module

PHP:

  • PHP 5.2.X, Non-thread-safe build
  • PHP 5.3 X86, Non-thread-safe VC9 build

Hinweis: The WinCache Extension can only be used when IIS is configured to run PHP via FastCGI.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/wincache.

There are two packages for this extension: one package is for PHP versions 5.2.X, and the other package is for PHP 5.3.X. Select the package that is appropriate for the PHP version being used.

To install and enable the extension, follow these steps:

  1. Unpack the package into some temporary location.

  2. Copy the php_wincache.dll file into the PHP extensions folder. Typically this folder is called "ext" and it is located in the same folder with all PHP binary files. For example: C:\Program Files\PHP\ext.

  3. Using a text editor, open the php.ini file, which is usually located in the same folder where all PHP binary files are. For example: C:\Program Files\PHP\php.ini.

  4. Add the following line at the end of the php.ini file: extension = php_wincache.dll.

  5. Save and close the php.ini file.

  6. Recycle the IIS Application Pools for PHP to pick up the configuration changes. To check that the extension has been enabled, create a file called phpinfo.php with a PHP code that calls phpinfo function.

  7. Save the phpinfo.php file in the root folder of a IIS web site that uses PHP, then open a browser and make a request to http://localhost/phpinfo.php. Search within the returned web page for a section called wincache. If the extension is enabled, then the phpinfo output will list the configuration settings provided by the WinCache.

Hinweis: Do not forget to remove phpinfo.php file from the web site's root folder after verifying that extension has been enabled.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

The following table lists and explains the configuration settings provided by the WinCache extension:

WinCache configuration options
Name | Standard | Minimum | Maximum | Veränderbar | Changelog
wincache.fcenabled | "1" | "0" | "1" | PHP_INI_ALL | Available as of WinCache 1.0.0
wincache.fcenabledfilter | "NULL" | "NULL" | "NULL" | PHP_INI_SYSTEM | Available as of WinCache 1.0.0
wincache.fcachesize | "24" | "5" | "255" | PHP_INI_SYSTEM | Available as of WinCache 1.0.0
wincache.fcndetect | "1" | "0" | "1" | PHP_INI_SYSTEM | Available as of WinCache 1.1.0
wincache.maxfilesize | "256" | "10" | "2048" | PHP_INI_SYSTEM | Available as of WinCache 1.0.0
wincache.ocenabled | "1" | "0" | "1" | PHP_INI_ALL | Available as of WinCache 1.0.0. Removed as of 2.0.0.0
wincache.ocenabledfilter | "NULL" | "NULL" | "NULL" | PHP_INI_SYSTEM | Available as of WinCache 1.0.0. Removed as of 2.0.0.0
wincache.ocachesize | "96" | "15" | "255" | PHP_INI_SYSTEM | Available as of WinCache 1.0.0. Removed as of 2.0.0.0
wincache.filecount | "4096" | "1024" | "16384" | PHP_INI_SYSTEM | Available as of WinCache 1.0.0
wincache.chkinterval | "30" | "0" | "300" | PHP_INI_SYSTEM | Available as of WinCache 1.0.0
wincache.ttlmax | "1200" | "0" | "7200" | PHP_INI_SYSTEM | Available as of WinCache 1.0.0
wincache.enablecli | 0 | 0 | 1 | PHP_INI_SYSTEM | Available as of WinCache 1.0.0
wincache.ignorelist | NULL | NULL | NULL | PHP_INI_ALL | Available as of WinCache 1.0.0
wincache.namesalt | NULL | NULL | NULL | PHP_INI_SYSTEM | Available as of WinCache 1.0.0
wincache.ucenabled | 1 | 0 | 1 | PHP_INI_SYSTEM | Available as of WinCache 1.1.0
wincache.ucachesize | 8 | 5 | 85 | PHP_INI_SYSTEM | Available as of WinCache 1.1.0
wincache.scachesize | 8 | 5 | 85 | PHP_INI_SYSTEM | Available as of WinCache 1.1.0
wincache.rerouteini | NULL | NULL | NULL | PHP_INI_SYSTEM | Available as of WinCache 1.2.0. Removed as of 1.3.7
wincache.reroute_enabled | 1 | 0 | 1 | PHP_INI_SYSTEM | PHP_INI_PERDIR | Available as of WinCache 1.3.7
wincache.srwlocks | 1 | 0 | 1 | PHP_INI_SYSTEM | Available as of WinCache 1.3.6.3. Removed as of 2.0.0.0
wincache.filemapdir | NULL | NULL | NULL | PHP_INI_SYSTEM | Available as of WinCache 1.3.7.4
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

wincache.fcenabled boolean
Enables or disables the file cache functionality.
wincache.fcenabledfilter string
Defines a comma-separated list of IIS web site identifiers where file cache should be enabled or disabled. This setting works in conjunction with wincache.fcenabled: if wincache.fcenabled is set to 1, then the sites listed in the wincache.fcenabledfilter will have the file cache turned off; if wincache.fcenabled is set to 0, then the sites listed in the wincache.fcenabledfilter will have the file cache turned on.
wincache.fcachesize integer
Defines the maximum memory size (in megabytes) that is allocated for the file cache. If the total size of all the cached files exceeds the value specified in this setting, then most stale files will be removed from the file cache.
wincache.fcndetect boolean
Enables or disables the file change notification detection functionality. If file change notification is supported then it will be used to refresh the opcode and file cache entries as soon as the corresponding files are modified on a file system. If file change notification is not supported, for example when using network file shares, then wincache will poll for file changes at regular time intervals specified by wincache.chkinterval.
wincache.maxfilesize integer
Defines the maximum allowed size (in kilobytes) for a single file to be cached. If a file size exceeds the specified value, the file will not be cached. This setting applies to the file cache only.
wincache.ocenabled boolean
Warnung

This option has been REMOVED as of 2.0.0.0

Enables or disables the opcode cache functionality
wincache.ocenabledfilter string
Warnung

This option has been REMOVED as of 2.0.0.0

Defines a comma-separated list of IIS web site identifiers where opcode cache should be enabled or disabled. This setting works in conjunction with wincache.ocenabled: if wincache.ocenabled is set to 1, then the sites listed in the wincache.ocenabledfilter will have the opcode cache turned off; if wincache.ocenabled is set to 0, then the sites listed in the wincache.ocenabledfilter will have the opcode cache turned on.
wincache.ocachesize integer
Warnung

This option has been REMOVED as of 2.0.0.0

Defines the maximum memory size (in megabytes) that is allocated for the opcode cache. If the cached opcode size exceeds the specified value, then most stale opcode will be removed from the cache. Note that the opcode cache size must be at least 3 times bigger than file cache size. If that is not the case the opcode cache size will be automatically increased.
wincache.filecount integer
Defines how many files are expected to be cached by the extension, so that appropriate memory size is allocated at the startup time. If the number of files exceeds the specified value, the WinCache will re-allocate more memory as needed.
wincache.chkinterval integer
Defines how often (in seconds) the extension checks for file changes in order to refresh the cache. Setting it to 0 will disable the refreshing of the cache. The file changes will not be reflected in the cache unless the cache entry for that file is removed by scavenger or IIS application pool is recycled or wincache_refresh_if_changed function is called.
wincache.ttlmax integer
Defines the maximum time to live (in seconds) for a cached entry without being used. Setting it to 0 will disable the cache scavenger, so the cached entries will never be removed from the cache during the lifetime of the IIS worker process.
wincache.enablecli boolean
Defines if caching is enabled when PHP is running in command line (CLI) mode.
wincache.ignorelist string

Defines a list of files that should not be cached by the extension. The files list is specified by using file names only, separated by the pipe symbol - "|".

Beispiel #1 wincache.ignorelist example

wincache.ignorelist = "index.php|misc.php|admin.php"

wincache.namesalt string
Defines a string that will be used when naming the extension specific objects that are stored in shared memory. This is used to avoid conflicts that may be caused if other applications within an IIS worker process tries to access shared memory. The length of the namesalt string cannot exceed 8 characters.
wincache.ucenabled boolean
Enables or disables the user cache functionality.
wincache.ucachesize integer
Defines the maximum memory size in megabytes that is allocated for the user cache. If the total size of variables stored in the user cache exceeds the specified value, then the most stale variables will be removed from the cache.
wincache.scachesize integer
Defines the maximum memory size in megabytes that is allocated for the session cache. If the total size of data stored in the session cache exceeds the specified value, then the most stale data will be removed from the cache.
wincache.rerouteini string
Warnung

This option has been REMOVED as of 1.3.7. See wincache.reroute_enabled for similar functionality as of 1.3.7.

Specifies an absolute or a relateve path to the reroute.ini file that contains the list of PHP functions whose implementation should be replaced with the WinCache function equivalents. If a relative path is specified then it is assumed to be relative to the location of php-cgi.exe file.
wincache.reroute_enabled boolean
Enables or disables the rerouting of certain file I/O functions through the file cache.
wincache.srwlocks boolean
Warnung

This option has been REMOVED as of 2.0.0.0

Enables or disables the use of shared reader/writer locks. Disabling is useful when troubleshooting deadlock conditions in WinCache.
wincache.filemapdir string
Specifies an absolute path to a directory where WinCache will store the temporary files used for shared memory segments. This directory must be on the local machine and not on a networked file system. If the directory is not specified, WinCache will use the Windows System Page File for all shared memory segments.

Installation
WinCache Statistics Script
Installation/Konfiguration


WinCache Statistics Script

The installation package for WinCache includes a PHP script, wincache.php, that can be used to obtain cache information and statistics.

If the WinCache extension was installed via the Microsoft Web Platform Installer, then this script is located in %SystemDrive%\Program Files\IIS\Windows Cache for PHP\. On a 64-bit version of the Windows Server operating system, the script is located in %SystemDrive%\Program Files (x86)\IIS\Windows Cache for PHP. If the extension was installed manually, then the wincache.php will be located in the same folder from which the content of the installation package was extracted.

To use wincache.php, copy it into a root folder of a Web site or into any subfolder. To protect the script, open it in any text editor and replace the values for USERNAME and PASSWORD constants. If any other IIS authentication is enabled on the server, then follow the instructions in the comments:

Beispiel #1 Authentication configuration for wincache.php

<?php
/**
 * ======================== CONFIGURATION SETTINGS ==============================
 * If you do not want to use authentication for this page, set USE_AUTHENTICATION to 0.
 * If you use authentication then replace the default password.
 */
define('USE_AUTHENTICATION', 1);
define('USERNAME', 'wincache');
define('PASSWORD', 'wincache');

/**
 * The Basic PHP authentication will work only when IIS is configured to support
 * Anonymous Authentication' and nothing else. If IIS is configured to support/use
 * any other kind of authentication like Basic/Negotiate/Digest etc, this will not work.
 * In that case use the array below to define the names of users in your
 * domain/network/workgroup which you want to grant access to.
 */
$user_allowed = array('DOMAIN\user1', 'DOMAIN\user2', 'DOMAIN\user3');

/**
 * If the array contains string 'all', then all the users authenticated by IIS
 * will have access to the page. Uncomment the below line and comment above line
 * to grant access to all users who gets authenticated by IIS.
 */
/* $user_allowed = array('all'); */

/** ===================== END OF CONFIGURATION SETTINGS ========================== */
?>

Hinweis: Always protect the wincache.php script by using either the built-in authentication or the server's authentication mechanism. Leaving this script unprotected may compromise the security of your web application and web server.

Laufzeit-Konfiguration
WinCache Session Handler
Installation/Konfiguration


WinCache Session Handler

The WinCache session handler (available since WinCache 1.1.0) can be used to configure PHP to store the session data in shared memory session cache. Using shared memory instead of the default file session storage helps improve performance of PHP applications that store large amount of data in session objects. Wincache session cache uses file-backed shared memory, which ensures that the session data is not lost during recycling of IIS application pools.

To configure PHP to use WinCache session handler set the php.ini setting session.save_handler to wincache. By default the Windows temporary file location is used for storing the session data. To change the location of the session file use session.save_path directive.

Beispiel #1 Enabling WinCache session handler

session.save_handler = wincache
session.save_path = C:\inetpub\temp\session\

WinCache Statistics Script
WinCache Functions Reroutes
Installation/Konfiguration


WinCache Functions Reroutes

NOTE: wincache.rerouteini was removed as of WinCache 1.3.7.0. It has been replaced with automatic function reroutes. See: wincache.reroute_enabled.

The WinCache functions reroutes (available since WinCache 1.2.0, removed since WinCache 1.3.7.0) can be used to replace built-in PHP functions with their equivalents that are optimized for a particular purpose. WinCache extension includes Windows-optimized implementation of PHP file functions that may improve performance of PHP applications in cases when PHP has to access files on network shares. The optimized implementation is provided for the following functions:

  • file_exists
  • file_get_contents
  • readfile
  • is_readable
  • is_writable
  • is_dir
  • realpath
  • filesize

To configure WinCache to use the functions reroutes use the file reroute.ini that is included in WinCache installation package. Copy this file into the same directory where php.ini file is located. After that add the wincache.rerouteini setting in php.ini and specify an absolute or relative path to the reroute.ini file.

Beispiel #1 Enabling WinCache functions reroutes

wincache.rerouteini = C:\PHP\reroute.ini

Hinweis: If WinCache functions reroutes are enabled it is recommended to increase the WinCache file cache size. This can be done by using wincache.fcachesize setting.

The reroute.ini file contains the mappings between the native PHP functions and their equivalents in WinCache. Each line in the file defines a mapping by using the following syntax:

<PHP function name>:[<number of function parameters>]=<wincache function name>

The example of the file is shown below. In this example the calls to PHP function file_get_contents() will be replaced with calls to wincache_file_get_contents() only if the number of parameters passed to the function is less than or equals to 2. Specifying the number of parameters is useful when replacement function does not handle all the function's parameters.

Beispiel #2 Reroute.ini file content

[FunctionRerouteList]
file_exists=wincache_file_exists
file_get_contents:2=wincache_file_get_contents
readfile:2=wincache_readfile
is_readable=wincache_is_readable
is_writable=wincache_is_writable
is_writeable=wincache_is_writable
is_file=wincache_is_file
is_dir=wincache_is_dir
realpath=wincache_realpath
filesize=wincache_filesize

WinCache Session Handler
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

Diese Erweiterung definiert keine Ressource-Typen.

WinCache Functions Reroutes
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
WinCache Funktionen
WinCache


WinCache Funktionen

Inhaltsverzeichnis

  • wincache_fcache_fileinfo — Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo — Retrieves information about file cache memory usage
  • wincache_lock — Acquires an exclusive lock on a given key
  • wincache_ocache_fileinfo — Retrieves information about files cached in the opcode cache
  • wincache_ocache_meminfo — Retrieves information about opcode cache memory usage
  • wincache_refresh_if_changed — Refreshes the cache entries for the cached files
  • wincache_rplist_fileinfo — Retrieves information about resolve file path cache
  • wincache_rplist_meminfo — Retrieves information about memory usage by the resolve file path cache
  • wincache_scache_info — Retrieves information about files cached in the session cache
  • wincache_scache_meminfo — Retrieves information about session cache memory usage
  • wincache_ucache_add — Adds a variable in user cache only if variable does not already exist in the cache
  • wincache_ucache_cas — Compares the variable with old value and assigns new value to it
  • wincache_ucache_clear — Deletes entire content of the user cache
  • wincache_ucache_dec — Decrements the value associated with the key
  • wincache_ucache_delete — Deletes variables from the user cache
  • wincache_ucache_exists — Checks if a variable exists in the user cache
  • wincache_ucache_get — Gets a variable stored in the user cache
  • wincache_ucache_inc — Increments the value associated with the key
  • wincache_ucache_info — Retrieves information about data stored in the user cache
  • wincache_ucache_meminfo — Retrieves information about user cache memory usage
  • wincache_ucache_set — Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_unlock — Releases an exclusive lock on a given key
Vordefinierte Konstanten
wincache_fcache_fileinfo
WinCache


Retrieves information about files cached in the file cache

WinCache Funktionen
wincache_fcache_meminfo
WinCache Funktionen
PHP Manual

wincache_fcache_fileinfo

(PECL wincache >= 1.0.0)

wincache_fcache_fileinfo — Retrieves information about files cached in the file cache

Beschreibung

array wincache_fcache_fileinfo ([ bool $summaryonly = false ] )

Retrieves information about file cache content and its usage.

Parameter-Liste

summaryonly

Controls whether the returned array will contain information about individual cache entries along with the file cache summary.

Rückgabewerte

Array of meta data about file cache Im Fehlerfall wird FALSE zurückgegeben.

The array returned by this function contains the following elements:

  • total_cache_uptime - total time in seconds that the file cache has been active
  • total_file_count - total number of files that are currently in the file cache
  • total_hit_count - number of times the files have been served from the file cache
  • total_miss_count - number of times the files have not been found in the file cache

  • file_entries - an array that contains the information about all the cached files:

    • file_name - absolute file name of the cached file
    • add_time - time in seconds since the file has been added to the file cache
    • use_time - time in seconds since the file has been accessed in the file cache
    • last_check - time in seconds since the file has been checked for modifications
    • hit_count - number of times the file has been served from the cache
    • file_size - size of the cached file in bytes

Beispiele

Beispiel #1 A wincache_fcache_fileinfo() example

<pre>
<?php
print_r(wincache_fcache_fileinfo());
?>
</pre>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(   [total_cache_uptime] => 3234
    [total_file_count] => 5
    [total_hit_count] => 0
    [total_miss_count] => 1
    [file_entries] => Array
        (
            [1] => Array
                (
                    [file_name] => c:\inetpub\wwwroot\checkcache.php
                    [add_time] => 1
                    [use_time] => 0
                    [last_check] => 1
                    [hit_count] => 1
                    [file_size] => 2435
                )
            [2] => Array (...iterates for each cached file)
        )
)

Siehe auch

  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage

WinCache Funktionen
wincache_fcache_meminfo
WinCache Funktionen


Retrieves information about file cache memory usage

wincache_fcache_fileinfo
wincache_lock
WinCache Funktionen
PHP Manual

wincache_fcache_meminfo

(PECL wincache >= 1.0.0)

wincache_fcache_meminfo — Retrieves information about file cache memory usage

Beschreibung

array wincache_fcache_meminfo ( void )

Retrieves information about memory usage by file cache.

Rückgabewerte

Array of meta data about file cache memory usage Im Fehlerfall wird FALSE zurückgegeben.

The array returned by this function contains the following elements:

  • memory_total - amount of memory in bytes allocated for the file cache
  • memory_free - amount of free memory in bytes available for the file cache
  • num_used_blks - number of memory blocks used by the file cache
  • num_free_blks - number of free memory blocks available for the file cache
  • memory_overhead - amount of memory in bytes used for the file cache internal structures

Beispiele

Beispiel #1 A wincache_fcache_meminfo() example

<pre>
<?php
print_r(wincache_fcache_meminfo());
?>
</pre>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [memory_total] => 134217728
    [memory_free] => 131339120
    [num_used_blks] => 361
    [num_free_blks] => 3
    [memory_overhead] => 5856
)

Siehe auch

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage

wincache_fcache_fileinfo
wincache_lock
WinCache Funktionen


Acquires an exclusive lock on a given key

wincache_fcache_meminfo
wincache_ocache_fileinfo
WinCache Funktionen
PHP Manual

wincache_lock

(PECL wincache >= 1.1.0)

wincache_lock — Acquires an exclusive lock on a given key

Beschreibung

bool wincache_lock ( string $key [, bool $isglobal = false ] )

Obtains an exclusive lock on a given key. The execution of the current script will be blocked until the lock can be obtained. Once the lock is obtained, the other scripts that try to request the lock by using the same key will be blocked, until the current script releases the lock by using wincache_unlock().

Warnung

Using of the wincache_lock() and wincache_unlock() can cause deadlocks when executing PHP scripts in a multi-process environment like FastCGI. Do not use these functions unless you are absolutely sure you need to use them. For the majority of the operations on the user cache it is not necessary to use these functions.

Parameter-Liste

key

Name of the key in the cache to get the lock on.

isglobal

Controls whether the scope of the lock is system-wide or local. Local locks are scoped to the application pool in IIS FastCGI case or to all php processes that have the same parent process identifier.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Using wincache_lock()

<?php
$fp = fopen("/tmp/lock.txt", "r+");
if (wincache_lock(“lock_txt_lock”)) { // do an exclusive lock
    ftruncate($fp, 0); // truncate file
    fwrite($fp, "Write something here\n");
    wincache_unlock(“lock_txt_lock”); // release the lock
} else {
    echo "Couldn't get the lock!";
}
fclose($fp);
?>

Siehe auch

  • wincache_unlock() - Releases an exclusive lock on a given key
  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_get() - Gets a variable stored in the user cache
  • wincache_ucache_delete() - Deletes variables from the user cache
  • wincache_ucache_clear() - Deletes entire content of the user cache
  • wincache_ucache_exists() - Checks if a variable exists in the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache

wincache_fcache_meminfo
wincache_ocache_fileinfo
WinCache Funktionen


Retrieves information about files cached in the opcode cache

wincache_lock
wincache_ocache_meminfo
WinCache Funktionen
PHP Manual

wincache_ocache_fileinfo

(PECL wincache >= 1.0.0)

wincache_ocache_fileinfo — Retrieves information about files cached in the opcode cache

Beschreibung

array wincache_ocache_fileinfo ([ bool $summaryonly = false ] )

Retrieves information about opcode cache content and its usage.

Warnung

Diese Funktion wurde seit PHP 7.0.0 ENTFERNT.

Parameter-Liste

summaryonly

Controls whether the returned array will contain information about individual cache entries along with the opcode cache summary.

Rückgabewerte

Array of meta data about opcode cache Im Fehlerfall wird FALSE zurückgegeben.

The array returned by this function contains the following elements:

  • total_cache_uptime - total time in seconds that the opcode cache has been active
  • total_file_count - total number of files that are currently in the opcode cache
  • total_hit_count - number of times the compiled opcode have been served from the cache
  • total_miss_count - number of times the compiled opcode have not been found in the cache
  • is_local_cache - true is the cache metadata is for a local cache instance, false if the metadata is for the global cache

  • file_entries - an array that contains the information about all the cached files:

    • file_name - absolute file name of the cached file
    • add_time - time in seconds since the file has been added to the opcode cache
    • use_time - time in seconds since the file has been accessed in the opcode cache
    • last_check - time in seconds since the file has been checked for modifications
    • hit_count - number of times the file has been served from the cache
    • function_count - number of functions in the cached file
    • class_count - number of classes in the cached file

Beispiele

Beispiel #1 A wincache_ocache_fileinfo() example

<pre>
<?php
print_r(wincache_ocache_fileinfo());
?>
</pre>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [total_cache_uptime] => 17357
    [total_file_count] => 121
    [total_hit_count] => 36562
    [total_miss_count] => 201
    [file_entries] => Array
        (
            [1] => Array
                (
                    [file_name] => c:\inetpub\wwwroot\checkcache.php
                    [add_time] => 17356
                    [use_time] => 7
                    [last_check] => 10
                    [hit_count] => 454
                    [function_count] => 0
                    [class_count] => 1
                )
            [2] => Array (...iterates for each cached file)
        )
)

Siehe auch

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage

wincache_lock
wincache_ocache_meminfo
WinCache Funktionen


Retrieves information about opcode cache memory usage

wincache_ocache_fileinfo
wincache_refresh_if_changed
WinCache Funktionen
PHP Manual

wincache_ocache_meminfo

(PECL wincache >= 1.0.0)

wincache_ocache_meminfo — Retrieves information about opcode cache memory usage

Beschreibung

array wincache_ocache_meminfo ( void )

Retrieves information about memory usage by opcode cache.

Rückgabewerte

Array of meta data about opcode cache memory usage Im Fehlerfall wird FALSE zurückgegeben.

The array returned by this function contains the following elements:

  • memory_total - amount of memory in bytes allocated for the opcode cache
  • memory_free - amount of free memory in bytes available for the opcode cache
  • num_used_blks - number of memory blocks used by the opcode cache
  • num_free_blks - number of free memory blocks available for the opcode cache
  • memory_overhead - amount of memory in bytes used for the opcode cache internal structures

Warnung

Diese Funktion wurde seit PHP 7.0.0 ENTFERNT.

Beispiele

Beispiel #1 A wincache_ocache_meminfo() example

<pre>
<?php
print_r(wincache_ocache_meminfo());
?>
</pre>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [memory_total] => 134217728
    [memory_free] => 112106972
    [num_used_blks] => 15469
    [num_free_blks] => 4
    [memory_overhead] => 247600
)

Siehe auch

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage

wincache_ocache_fileinfo
wincache_refresh_if_changed
WinCache Funktionen


Refreshes the cache entries for the cached files

wincache_ocache_meminfo
wincache_rplist_fileinfo
WinCache Funktionen
PHP Manual

wincache_refresh_if_changed

(PECL wincache >= 1.0.0)

wincache_refresh_if_changed — Refreshes the cache entries for the cached files

Beschreibung

bool wincache_refresh_if_changed ([ array $files = NULL ] )

Refreshes the cache entries for the files, whose names were passed in the input argument. If no argument is specified then refreshes all the entries in the cache.

Parameter-Liste

files

An array of file names for files that need to be refreshed. An absolute or relative file paths can be used.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

WinCache performs regular checks on the cached files to ensure that if any file has changed then the corresponding entry in the cache is updated. By default this check is performed every 30 seconds. If, for example, a PHP script updates another PHP script where the application's configuration settings are stored, then it may happen that after the configuration settings have been saved to a file, the application is still using old settings for some time until the cache is refreshed. In those cases it may be preferrable to refresh the cache right after the file has been changed. The following example shows how this can be done.

Beispiel #1 A wincache_refresh_if_changed() example

<?php
$filename = 'C:\inetpub\wwwroot\config.php';
$handle = fopen($filename, 'w+');
if ($handle === FALSE) die('Failed to open file '.$filename.' for writing');
fwrite($handle, '<?php $setting=something; ?>');
fclose($handle);
wincache_refresh_if_changed(array($filename));
?>

Siehe auch

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache

wincache_ocache_meminfo
wincache_rplist_fileinfo
WinCache Funktionen


Retrieves information about resolve file path cache

wincache_refresh_if_changed
wincache_rplist_meminfo
WinCache Funktionen
PHP Manual

wincache_rplist_fileinfo

(PECL wincache >= 1.0.0)

wincache_rplist_fileinfo — Retrieves information about resolve file path cache

Beschreibung

array wincache_rplist_fileinfo ([ bool $summaryonly = false ] )

Retrieves information about cached mappings between relative file paths and corresponding absolute file paths.

Rückgabewerte

Array of meta data about the resolve file path cache Im Fehlerfall wird FALSE zurückgegeben.

The array returned by this function contains the following elements:

  • total_file_count - total number of file path mappings stored in the cache

  • rplist_entries - an array that contains the information about all the cached file paths:

    • resolve_path - path to a file
    • subkey_data - corresponding absolute path to a file

Beispiele

Beispiel #1 A wincache_rplist_fileinfo() example

<pre>
<?php
print_r(wincache_rplist_fileinfo());
?>
</pre>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [total_file_count] => 5
    [rplist_entries] => Array
        (
            [1] => Array
                (
                    [resolve_path] => checkcache.php
                    [subkey_data] => c:\inetpub\wwwroot|c:\inetpub\wwwroot\checkcache.php
                )

            [2] => Array (...iterates for each cached file)
        )
)

Siehe auch

  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage

wincache_refresh_if_changed
wincache_rplist_meminfo
WinCache Funktionen


Retrieves information about memory usage by the resolve file path cache

wincache_rplist_fileinfo
wincache_scache_info
WinCache Funktionen
PHP Manual

wincache_rplist_meminfo

(PECL wincache >= 1.0.0)

wincache_rplist_meminfo — Retrieves information about memory usage by the resolve file path cache

Beschreibung

array wincache_rplist_meminfo ( void )

Retrieves information about memory usage by resolve file path cache.

Rückgabewerte

Array of meta data that describes memory usage by resolve file path cache. Im Fehlerfall wird FALSE zurückgegeben.

The array returned by this function contains the following elements:

  • memory_total - amount of memory in bytes allocated for the resolve file path cache
  • memory_free - amount of free memory in bytes available for the resolve file path cache
  • num_used_blks - number of memory blocks used by the resolve file path cache
  • num_free_blks - number of free memory blocks available for the resolve file path cache
  • memory_overhead - amount of memory in bytes used for the internal structures of resolve file path cache

Beispiele

Beispiel #1 A wincache_rplist_meminfo() example

<pre>
<?php
print_r(wincache_rplist_meminfo());
?>
</pre>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [memory_total] => 9437184
    [memory_free] => 9416744
    [num_used_blks] => 23
    [num_free_blks] => 1
    [memory_overhead] => 416
)

Siehe auch

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage

wincache_rplist_fileinfo
wincache_scache_info
WinCache Funktionen


Retrieves information about files cached in the session cache

wincache_rplist_meminfo
wincache_scache_meminfo
WinCache Funktionen
PHP Manual

wincache_scache_info

(PECL wincache >= 1.1.0)

wincache_scache_info — Retrieves information about files cached in the session cache

Beschreibung

array wincache_scache_info ([ bool $summaryonly = false ] )

Retrieves information about session cache content and its usage.

Parameter-Liste

summaryonly

Controls whether the returned array will contain information about individual cache entries along with the session cache summary.

Rückgabewerte

Array of meta data about session cache Im Fehlerfall wird FALSE zurückgegeben.

The array returned by this function contains the following elements:

  • total_cache_uptime - total time in seconds that the session cache has been active
  • total_item_count - total number of elements that are currently in the session cache
  • is_local_cache - true is the cache metadata is for a local cache instance, false if the metadata is for the global cache
  • total_hit_count - number of times the data has been served from the cache
  • total_miss_count - number of times the data has not been found in the cache

  • scache_entries - an array that contains the information about all the cached items:

    • key_name - name of the key which is used to store the data
    • value_type - type of value stored by the key
    • use_time - time in seconds since the file has been accessed in the opcode cache
    • last_check - time in seconds since the file has been checked for modifications
    • ttl_seconds - time remaining for the data to live in the cache, 0 meaning infinite
    • age_seconds - time elapsed from the time data has been added in the cache
    • hitcount - number of times data has been served from the cache

Beispiele

Beispiel #1 A wincache_scache_info() example

<pre>
<?php
print_r(wincache_scache_info());
?>
</pre>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [total_cache_uptime] => 17357
    [total_file_count] => 121
    [total_hit_count] => 36562
    [total_miss_count] => 201
    [scache_entries] => Array
        (
            [1] => Array
                (
                    [file_name] => c:\inetpub\wwwroot\checkcache.php
                    [add_time] => 17356
                    [use_time] => 7
                    [last_check] => 10
                    [hit_count] => 454
                    [function_count] => 0
                    [class_count] => 1
                )
            [2] => Array (...iterates for each cached file)
        )
)

Siehe auch

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage

wincache_rplist_meminfo
wincache_scache_meminfo
WinCache Funktionen


Retrieves information about session cache memory usage

wincache_scache_info
wincache_ucache_add
WinCache Funktionen
PHP Manual

wincache_scache_meminfo

(PECL wincache >= 1.1.0)

wincache_scache_meminfo — Retrieves information about session cache memory usage

Beschreibung

array wincache_scache_meminfo ( void )

Retrieves information about memory usage by session cache.

Rückgabewerte

Array of meta data about session cache memory usage Im Fehlerfall wird FALSE zurückgegeben.

The array returned by this function contains the following elements:

  • memory_total - amount of memory in bytes allocated for the session cache
  • memory_free - amount of free memory in bytes available for the session cache
  • num_used_blks - number of memory blocks used by the session cache
  • num_free_blks - number of free memory blocks available for the session cache
  • memory_overhead - amount of memory in bytes used for the session cache internal structures

Beispiele

Beispiel #1 A wincache_scache_meminfo() example

<pre>
<?php
print_r(wincache_scache_meminfo());
?>
</pre>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [memory_total] => 5242880
    [memory_free] => 5215056
    [num_used_blks] => 6
    [num_free_blks] => 3
    [memory_overhead] => 176
)

Siehe auch

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache

wincache_scache_info
wincache_ucache_add
WinCache Funktionen


Adds a variable in user cache only if variable does not already exist in the cache

wincache_scache_meminfo
wincache_ucache_cas
WinCache Funktionen
PHP Manual

wincache_ucache_add

(PECL wincache >= 1.1.0)

wincache_ucache_add — Adds a variable in user cache only if variable does not already exist in the cache

Beschreibung

bool wincache_ucache_add ( string $key , mixed $value [, int $ttl = 0 ] )
bool wincache_ucache_add ( array $values [, mixed $unused = NULL [, int $ttl = 0 ]] )

Adds a variable in user cache, only if this variable doesn't already exist in the cache. The added variable remains in the user cache unless its time to live expires or it is deleted by using wincache_ucache_delete() or wincache_ucache_clear() functions.

Parameter-Liste

key

Store the variable using this key name. If a variable with same key is already present the function will fail and return FALSE. key is case sensitive. To override the value even if key is present use wincache_ucache_set() function instad. key can also take array of name => value pairs where names will be used as keys. This can be used to add multiple values in the cache in one operation, thus avoiding race condition.

value

Value of a variable to store. Value supports all data types except resources, such as file handles. This paramter is ignored if first argument is an array. A general guidance is to pass NULL as value while using array as key. If value is an object, or an array containing objects, then the objects will be serialized. See __sleep() for details on serializing objects.

values

Associative array of keys and values.

ttl

Time for the variable to live in the cache in seconds. After the value specified in ttl has passed the stored variable will be deleted from the cache. This parameter takes a default value of 0 which means the variable will stay in the cache unless explicitly deleted by using wincache_ucache_delete() or wincache_ucache_clear() functions.

Rückgabewerte

If key is string, the function returns TRUE on success and FALSE on failure.

If key is an array, the function returns:

  • If all the name => value pairs in the array can be set, function returns an empty array;
  • If all the name => value pairs in the array cannot be set, function returns FALSE;
  • If some can be set while others cannot, function returns an array with name=>value pair for which the addition failed in the user cache.

Beispiele

Beispiel #1 wincache_ucache_add() with key as a string

<?php
$bar = 'BAR';
var_dump(wincache_ucache_add('foo', $bar));
var_dump(wincache_ucache_add('foo', $bar));
var_dump(wincache_ucache_get('foo'));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(false)
string(3) "BAR"

Beispiel #2 wincache_ucache_add() with key as an array

<?php
$colors_array = array('green' => '5', 'Blue' => '6', 'yellow' => '7', 'cyan' => '8');
var_dump(wincache_ucache_add($colors_array));
var_dump(wincache_ucache_add($colors_array));
var_dump(wincache_ucache_get('Blue'));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(0) { }
array(4) {
  ["green"]=> int(-1)
  ["Blue"]=> int(-1)
  ["yellow"]=> int(-1)
  ["cyan"]=> int(-1)
}
string(1) "6"

Siehe auch

  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_get() - Gets a variable stored in the user cache
  • wincache_ucache_delete() - Deletes variables from the user cache
  • wincache_ucache_clear() - Deletes entire content of the user cache
  • wincache_ucache_exists() - Checks if a variable exists in the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • __sleep()

wincache_scache_meminfo
wincache_ucache_cas
WinCache Funktionen


Compares the variable with old value and assigns new value to it

wincache_ucache_add
wincache_ucache_clear
WinCache Funktionen
PHP Manual

wincache_ucache_cas

(PECL wincache >= 1.1.0)

wincache_ucache_cas — Compares the variable with old value and assigns new value to it

Beschreibung

bool wincache_ucache_cas ( string $key , int $old_value , int $new_value )

Compares the variable associated with the key with old_value and if it matches then assigns the new_value to it.

Parameter-Liste

key

The key that is used to store the variable in the cache. key is case sensitive.

old_value

Old value of the variable pointed by key in the user cache. The value should be of type long, otherwise the function returns FALSE.

new_value

New value which will get assigned to variable pointer by key if a match is found. The value should be of type long, otherwise the function returns FALSE.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Using wincache_ucache_cas()

<?php
wincache_ucache_set('counter', 2922);
var_dump(wincache_ucache_cas('counter', 2922, 1));
var_dump(wincache_ucache_get('counter'));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
int(1)

Siehe auch

  • wincache_ucache_inc() - Increments the value associated with the key
  • wincache_ucache_dec() - Decrements the value associated with the key

wincache_ucache_add
wincache_ucache_clear
WinCache Funktionen


Deletes entire content of the user cache

wincache_ucache_cas
wincache_ucache_dec
WinCache Funktionen
PHP Manual

wincache_ucache_clear

(PECL wincache >= 1.1.0)

wincache_ucache_clear — Deletes entire content of the user cache

Beschreibung

bool wincache_ucache_clear ( void )

Clears/deletes all the values stored in the user cache.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 using wincache_ucache_clear()

<?php
wincache_ucache_set('green', 1);
wincache_ucache_set('red', 2);
wincache_ucache_set('orange', 4);
wincache_ucache_set('blue', 8);
wincache_ucache_set('cyan', 16);
$array1 = array('green', 'red', 'orange', 'blue', 'cyan');
var_dump(wincache_ucache_get($array1));
var_dump(wincache_ucache_clear());
var_dump(wincache_ucache_get($array1));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(5) { ["green"]=> int(1)
           ["red"]=> int(2)
           ["orange"]=> int(4)
           ["blue"]=> int(8)
           ["cyan"]=> int(16) }
bool(true)
bool(false)

Siehe auch

  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_add() - Adds a variable in user cache only if variable does not already exist in the cache
  • wincache_ucache_delete() - Deletes variables from the user cache
  • wincache_ucache_get() - Gets a variable stored in the user cache
  • wincache_ucache_exists() - Checks if a variable exists in the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache

wincache_ucache_cas
wincache_ucache_dec
WinCache Funktionen


Decrements the value associated with the key

wincache_ucache_clear
wincache_ucache_delete
WinCache Funktionen
PHP Manual

wincache_ucache_dec

(PECL wincache >= 1.1.0)

wincache_ucache_dec — Decrements the value associated with the key

Beschreibung

mixed wincache_ucache_dec ( string $key [, int $dec_by = 1 [, bool &$success ]] )

Decrements the value associated with the key by 1 or as specified by dec_by.

Parameter-Liste

key

The key that was used to store the variable in the cache. key is case sensitive.

dec_by

The value by which the variable associated with the key will get decremented. If the argument is a floating point number it will be truncated to nearest integer. The variable associated with the key should be of type long, otherwise the function fails and returns FALSE.

success

Will be set to TRUE on success and FALSE on failure.

Rückgabewerte

Returns the decremented value on success and FALSE on failure.

Beispiele

Beispiel #1 Using wincache_ucache_dec()

<?php
wincache_ucache_set('counter', 1);
var_dump(wincache_ucache_dec('counter', 2923, $success));
var_dump($success);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(2922)
bool(true)

Siehe auch

  • wincache_ucache_inc() - Increments the value associated with the key
  • wincache_ucache_cas() - Compares the variable with old value and assigns new value to it

wincache_ucache_clear
wincache_ucache_delete
WinCache Funktionen


Deletes variables from the user cache

wincache_ucache_dec
wincache_ucache_exists
WinCache Funktionen
PHP Manual

wincache_ucache_delete

(PECL wincache >= 1.1.0)

wincache_ucache_delete — Deletes variables from the user cache

Beschreibung

bool wincache_ucache_delete ( mixed $key )

Deletes the elements in the user cache pointed by key.

Parameter-Liste

key

The key that was used to store the variable in the cache. key is case sensitive. key can be an array of keys.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

If key is an array then the function returns FALSE if every element of the array fails to get deleted from the user cache, otherwise returns an array which consists of all the keys that are deleted.

Beispiele

Beispiel #1 Using wincache_ucache_delete() with key as a string

<?php
wincache_ucache_set('foo', 'bar');
var_dump(wincache_ucache_delete('foo'));
var_dump(wincache_ucache_exists('foo'));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(false)

Beispiel #2 Usingwincache_ucache_delete() with key as an array

<?php
$array1 = array('green' => '5', 'blue' => '6', 'yellow' => '7', 'cyan' => '8');
wincache_ucache_set($array1);
$array2 = array('green', 'blue', 'yellow', 'cyan');
var_dump(wincache_ucache_delete($array2));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(4) { [0]=> string(5) "green"
           [1]=> string(4) "Blue"
           [2]=> string(6) "yellow"
           [3]=> string(4) "cyan" }

Beispiel #3 Using wincache_ucache_delete() with key as an array where some elements cannot be deleted

<?php
$array1 = array('green' => '5', 'blue' => '6', 'yellow' => '7', 'cyan' => '8');
wincache_ucache_set($array1);
$array2 = array('orange', 'red', 'yellow', 'cyan');
var_dump(wincache_ucache_delete($array2));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) { [0]=> string(6) "yellow"
           [1]=> string(4) "cyan" }

Siehe auch

  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_add() - Adds a variable in user cache only if variable does not already exist in the cache
  • wincache_ucache_get() - Gets a variable stored in the user cache
  • wincache_ucache_clear() - Deletes entire content of the user cache
  • wincache_ucache_exists() - Checks if a variable exists in the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache

wincache_ucache_dec
wincache_ucache_exists
WinCache Funktionen


Checks if a variable exists in the user cache

wincache_ucache_delete
wincache_ucache_get
WinCache Funktionen
PHP Manual

wincache_ucache_exists

(PECL wincache >= 1.1.0)

wincache_ucache_exists — Checks if a variable exists in the user cache

Beschreibung

bool wincache_ucache_exists ( string $key )

Checks if a variable with the key exists in the user cache or not.

Parameter-Liste

key

The key that was used to store the variable in the cache. key is case sensitive.

Rückgabewerte

Returns TRUE if variable with the key exitsts, otherwise returns FALSE.

Beispiele

Beispiel #1 Using wincache_ucache_exists()

<?php
if (!wincache_ucache_exists('green'))
    wincache_ucache_set('green', 1);
var_dump(wincache_ucache_exists('green'));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)

Siehe auch

  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_add() - Adds a variable in user cache only if variable does not already exist in the cache
  • wincache_ucache_get() - Gets a variable stored in the user cache
  • wincache_ucache_clear() - Deletes entire content of the user cache
  • wincache_ucache_delete() - Deletes variables from the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache

wincache_ucache_delete
wincache_ucache_get
WinCache Funktionen


Gets a variable stored in the user cache

wincache_ucache_exists
wincache_ucache_inc
WinCache Funktionen
PHP Manual

wincache_ucache_get

(PECL wincache >= 1.1.0)

wincache_ucache_get — Gets a variable stored in the user cache

Beschreibung

mixed wincache_ucache_get ( mixed $key [, bool &$success ] )

Gets a variable stored in the user cache.

Parameter-Liste

key

The key that was used to store the variable in the cache. key is case sensitive. key can be an array of keys. In this case the return value will be an array of values of each element in the key array. If an object, or an array containing objects, is returned, then the objects will be unserialized. See __wakeup() for details on unserializing objects.

success

Will be set to TRUE on success and FALSE on failure.

Rückgabewerte

If key is a string, the function returns the value of the variable stored with that key. The success is set to TRUE on success and to FALSE on failure.

The key is an array, the parameter success is always set to TRUE. The returned array (name => value pairs) will contain only those name => value pairs for which the get operation in user cache was successful. If none of the keys in the key array finds a match in the user cache an empty array will be returned.

Beispiele

Beispiel #1 wincache_ucache_get() with key as a string

<?php
wincache_ucache_add('color', 'blue');
var_dump(wincache_ucache_get('color', $success));
var_dump($success);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(4) "blue"
bool(true)

Beispiel #2 wincache_ucache_get() with key as an array

<?php
$array1 = array('green' => '5', 'Blue' => '6', 'yellow' => '7', 'cyan' => '8');
wincache_ucache_set($array1);
$array2 = array('green', 'Blue', 'yellow', 'cyan');
var_dump(wincache_ucache_get($array2, $success));
var_dump($success);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(4) { ["green"]=> string(1) "5"
           ["Blue"]=> string(1) "6"
           ["yellow"]=> string(1) "7"
           ["cyan"]=> string(1) "8" }
bool(true)

Siehe auch

  • wincache_ucache_add() - Adds a variable in user cache only if variable does not already exist in the cache
  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_delete() - Deletes variables from the user cache
  • wincache_ucache_clear() - Deletes entire content of the user cache
  • wincache_ucache_exists() - Checks if a variable exists in the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • __wakeup()

wincache_ucache_exists
wincache_ucache_inc
WinCache Funktionen


Increments the value associated with the key

wincache_ucache_get
wincache_ucache_info
WinCache Funktionen
PHP Manual

wincache_ucache_inc

(PECL wincache >= 1.1.0)

wincache_ucache_inc — Increments the value associated with the key

Beschreibung

mixed wincache_ucache_inc ( string $key [, int $inc_by = 1 [, bool &$success ]] )

Increments the value associated with the key by 1 or as specified by inc_by.

Parameter-Liste

key

The key that was used to store the variable in the cache. key is case sensitive.

inc_by

The value by which the variable associated with the key will get incremented. If the argument is a floating point number it will be truncated to nearest integer. The variable associated with the key should be of type long, otherwise the function fails and returns FALSE.

success

Will be set to TRUE on success and FALSE on failure.

Rückgabewerte

Returns the incremented value on success and FALSE on failure.

Beispiele

Beispiel #1 Using wincache_ucache_inc()

<?php
wincache_ucache_set('counter', 1);
var_dump(wincache_ucache_inc('counter', 2921, $success));
var_dump($success);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(2922)
bool(true)

Siehe auch

  • wincache_ucache_dec() - Decrements the value associated with the key
  • wincache_ucache_cas() - Compares the variable with old value and assigns new value to it

wincache_ucache_get
wincache_ucache_info
WinCache Funktionen


Retrieves information about data stored in the user cache

wincache_ucache_inc
wincache_ucache_meminfo
WinCache Funktionen
PHP Manual

wincache_ucache_info

(PECL wincache >= 1.1.0)

wincache_ucache_info — Retrieves information about data stored in the user cache

Beschreibung

array wincache_ucache_info ([ bool $summaryonly = false [, string $key = NULL ]] )

Retrieves information about data stored in the user cache.

Parameter-Liste

summaryonly

Controls whether the returned array will contain information about individual cache entries along with the user cache summary.

key

The key of an entry in the user cache. If specified then the returned array will contain information only about that cache entry. If not specified and summaryonly is set to FALSE then the returned array will contain information about all entries in the cache.

Rückgabewerte

Array of meta data about user cache Im Fehlerfall wird FALSE zurückgegeben.

The array returned by this function contains the following elements:

  • total_cache_uptime - total time in seconds that the user cache has been active
  • total_item_count - total number of elements that are currently in the user cache
  • is_local_cache - true is the cache metadata is for a local cache instance, false if the metadata is for the global cache
  • total_hit_count - number of times the data has been served from the cache
  • total_miss_count - number of times the data has not been found in the cache

  • ucache_entries - an array that contains the information about all the cached items:

    • key_name - name of the key which is used to store the data
    • value_type - type of value stored by the key
    • use_time - time in seconds since the file has been accessed in the opcode cache
    • last_check - time in seconds since the file has been checked for modifications
    • is_session - indicates if the data is a session variable
    • ttl_seconds - time remaining for the data to live in the cache, 0 meaning infinite
    • age_seconds - time elapsed from the time data has been added in the cache
    • hitcount - number of times data has been served from the cache

Beispiele

Beispiel #1 Using wincache_ucache_info()

<?php
wincache_ucache_get('green');
wincache_ucache_set('green', 2922);
wincache_ucache_get('green');
wincache_ucache_get('green');
wincache_ucache_get('green');
print_r(wincache_ucache_info());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
( ["total_cache_uptime"] => int(0)
  ["is_local_cache"] => bool(false)
  ["total_item_count"] => int(1)
  ["total_hit_count"] => int(3)
  ["total_miss_count"] => int(1)
  ["ucache_entries"] => Array(1)
    ( [1] => Array(6)
      (
        ["key_name"] => string(5) "green"
        ["value_type"] => string(4) "long"
        ["is_session"] => int(0)
        ["ttl_seconds"] => int(0)
        ["age_seconds"] => int(0)
        ["hitcount"] => int(3)
       )
    )
)

Siehe auch

  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage

wincache_ucache_inc
wincache_ucache_meminfo
WinCache Funktionen


Retrieves information about user cache memory usage

wincache_ucache_info
wincache_ucache_set
WinCache Funktionen
PHP Manual

wincache_ucache_meminfo

(PECL wincache >= 1.1.0)

wincache_ucache_meminfo — Retrieves information about user cache memory usage

Beschreibung

array wincache_ucache_meminfo ( void )

Retrieves information about memory usage by user cache.

Rückgabewerte

Array of meta data about user cache memory usage Im Fehlerfall wird FALSE zurückgegeben.

The array returned by this function contains the following elements:

  • memory_total - amount of memory in bytes allocated for the user cache
  • memory_free - amount of free memory in bytes available for the user cache
  • num_used_blks - number of memory blocks used by the user cache
  • num_free_blks - number of free memory blocks available for the user cache
  • memory_overhead - amount of memory in bytes used for the user cache internal structures

Beispiele

Beispiel #1 A wincache_ucache_meminfo() example

<pre>
<?php
print_r(wincache_ucache_meminfo());
?>
</pre>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [memory_total] => 5242880
    [memory_free] => 5215056
    [num_used_blks] => 6
    [num_free_blks] => 3
    [memory_overhead] => 176
)

Siehe auch

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage

wincache_ucache_info
wincache_ucache_set
WinCache Funktionen


Adds a variable in user cache and overwrites a variable if it already exists in the cache

wincache_ucache_meminfo
wincache_unlock
WinCache Funktionen
PHP Manual

wincache_ucache_set

(PECL wincache >= 1.1.0)

wincache_ucache_set — Adds a variable in user cache and overwrites a variable if it already exists in the cache

Beschreibung

bool wincache_ucache_set ( mixed $key , mixed $value [, int $ttl = 0 ] )
bool wincache_ucache_set ( array $values [, mixed $unused = NULL [, int $ttl = 0 ]] )

Adds a variable in user cache. Overwrites a variable if it already exists in the cache. The added or updated variable remains in the user cache unless its time to live expires or it is deleted by using wincache_ucache_delete() or wincache_ucache_clear() functions.

Parameter-Liste

key

Store the variable using this key name. If a variable with same key is already present the function will overwrite the previous value with the new one. key is case sensitive. key can also take array of name => value pairs where names will be used as keys. This can be used to add multiple values in the cache in one operation, thus avoiding race condition.

value

Value of a variable to store. Value supports all data types except resources, such as file handles. This paramter is ignored if first argument is an array. A general guidance is to pass NULL as value while using array as key. If value is an object, or an array containing objects, then the objects will be serialized. See __sleep() for details on serializing objects.

values

Associative array of keys and values.

ttl

Time for the variable to live in the cache in seconds. After the value specified in ttl has passed the stored variable will be deleted from the cache. This parameter takes a default value of 0 which means the variable will stay in the cache unless explicitly deleted by using wincache_ucache_delete() or wincache_ucache_clear() functions.

Rückgabewerte

If key is string, the function returns TRUE on success and FALSE on failure.

If key is an array, the function returns:

  • If all the name => value pairs in the array can be set, function returns an empty array;
  • If all the name => value pairs in the array cannot be set, function returns FALSE;
  • If some can be set while others cannot, function returns an array with name=>value pair for which the addition failed in the user cache.

Beispiele

Beispiel #1 wincache_ucache_set() with key as a string

<?php
$bar = 'BAR';
var_dump(wincache_ucache_set('foo', $bar));
var_dump(wincache_ucache_get('foo'));
$bar1 = 'BAR1';
var_dump(wincache_ucache_set('foo', $bar1));
var_dump(wincache_ucache_get('foo'));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
string(3) "BAR"
bool(true)
string(3) "BAR1"

Beispiel #2 wincache_ucache_set() with key as an array

<?php
$colors_array = array('green' => '5', 'Blue' => '6', 'yellow' => '7', 'cyan' => '8');
var_dump(wincache_ucache_set($colors_array));
var_dump(wincache_ucache_set($colors_array));
var_dump(wincache_ucache_get('Blue'));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(0) {}
array(0) {}
string(1) "6"

Siehe auch

  • wincache_ucache_add() - Adds a variable in user cache only if variable does not already exist in the cache
  • wincache_ucache_get() - Gets a variable stored in the user cache
  • wincache_ucache_delete() - Deletes variables from the user cache
  • wincache_ucache_clear() - Deletes entire content of the user cache
  • wincache_ucache_exists() - Checks if a variable exists in the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • __sleep()

wincache_ucache_meminfo
wincache_unlock
WinCache Funktionen


Releases an exclusive lock on a given key

wincache_ucache_set
Building for Windows
WinCache Funktionen
PHP Manual

wincache_unlock

(PECL wincache >= 1.1.0)

wincache_unlock — Releases an exclusive lock on a given key

Beschreibung

bool wincache_unlock ( string $key )

Releases an exclusive lock that was obtained on a given key by using wincache_lock(). If any other process was blocked waiting for the lock on this key, that process will be able to obtain the lock.

Warnung

Using of the wincache_lock() and wincache_unlock() can cause deadlocks when executing PHP scripts in a multi-process environment like FastCGI. Do not use these functions unless you are absolutely sure you need to use them. For the majority of the operations on the user cache it is not necessary to use these functions.

Parameter-Liste

key

Name of the key in the cache to release the lock on.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Using wincache_unlock()

<?php
$fp = fopen("/tmp/lock.txt", "r+");
if (wincache_lock(“lock_txt_lock”)) { // do an exclusive lock
    ftruncate($fp, 0); // truncate file
    fwrite($fp, "Write something here\n");
    wincache_unlock(“lock_txt_lock”); // release the lock
} else {
    echo "Couldn't get the lock!";
}
fclose($fp);
?>

Siehe auch

  • wincache_lock() - Acquires an exclusive lock on a given key
  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_get() - Gets a variable stored in the user cache
  • wincache_ucache_delete() - Deletes variables from the user cache
  • wincache_ucache_clear() - Deletes entire content of the user cache
  • wincache_ucache_exists() - Checks if a variable exists in the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache

wincache_ucache_set
Building for Windows
WinCache Funktionen


Building for Windows

Inhaltsverzeichnis

  • Prerequisites
  • Compiling and building
  • Verifying the build
wincache_unlock
Prerequisites
WinCache


Prerequisites

Building WinCache extension will require:

  1. PHP source code
  2. PHP build environment
  3. WinCache source code

For completing first two steps, follow the step-by-step guide for how to » build PHP on Windows.

For getting the WinCache source code follow the instructions described in Downloading PECL extensions.

Building for Windows
Compiling and building
Building for Windows


Compiling and building

The following steps describe how to compile and build WinCache on Windows OS:

  1. Open a command prompt which is used to build PHP

  2. Go to the root folder where PHP sources are present

  3. Run the command:

    cscript.exe win32\build\buildconf.js

  4. Run the command:

    configure.bat --help
    The output will contain a new flag --enable-wincache.

  5. Run the command:

    configure.js [all options used to build PHP] --enable-wincache
    --enable-wincache is the only extra option which is required to ensure that WinCache extension gets built properly. This option will build WinCache and will statically link it with PHP dll. To build WinCache extension as a stand-alone DLL use the option --enable-wincache=shared.

  6. Run the command:

    nmake

Prerequisites
Verifying the build
Building for Windows


Verifying the build

The following steps describe how to verify that WinCache has been built correctly:

  1. Go to the folder where the PHP binaries are built

  2. Run the command:

    php.exe -n -d extension=php_wincache.dll -re wincache
    If WinCache has been built properly, the output of this command will list the INI directives and functions supported by WinCache.

Compiling and building
Xhprof
Building for Windows


Hierarchical Profiler

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
  • Xhprof Funktionen
    • xhprof_disable — Stops xhprof profiler
    • xhprof_enable — Start xhprof profiler
    • xhprof_sample_disable — Stops xhprof sample profiler
    • xhprof_sample_enable — Start XHProf profiling in sampling mode
Verifying the build
Einführung
Das Verhalten von PHP beeinflussen


Einführung

XHProf is a light-weight hierarchical and instrumentation based profiler. During the data collection phase, it keeps track of call counts and inclusive metrics for arcs in the dynamic callgraph of a program. It computes exclusive metrics in the reporting/post processing phase, such as wall (elapsed) time, CPU time and memory usage. A functions profile can be broken down by callers or callees. XHProf handles recursive functions by detecting cycles in the callgraph at data collection time itself and avoiding the cycles by giving unique depth qualified names for the recursive invocations.

XHProf includes a simple HTML based user interface (written in PHP). The browser based UI for viewing profiler results makes it easy to view results or to share results with peers. A callgraph image view is also supported.

XHProf reports can often be helpful in understanding the structure of the code being executed. The hierarchical nature of the reports can be used to determine, for example, what chain of calls led to a particular function getting called.

XHProf supports ability to compare two runs (a.k.a. "diff" reports) or aggregate data from multiple runs. Diff and aggregate reports, much like single run reports, offer "flat" as well as "hierarchical" views of the profile.

Additional documentation can be found via the » facebook xhprof website.

Xhprof
Installation/Konfiguration
Xhprof


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Xhprof


Anforderungen

Although not required, xhprof includes an interface that's written in PHP. It's used to save and display the profiled data in a usable way, where viewing is done via a web browser. So, a PHP enabled web server will likely make the xhprof experience more useful.

There's also a fork of the GUI interface at » http://github.com/preinheimer/xhprof

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/xhprof

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Xhprof Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
xhprof.output_dir | "" | PHP_INI_ALL |

Hier eine kurze Erklärung der Konfigurationsoptionen:

xhprof.output_dir string

Directory used by the default implementation of the iXHProfRuns interface (namely, the XHProfRuns_Default class) for storing XHProf runs.

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

XHPROF_FLAGS_NO_BUILTINS (integer)
Used to skip all built-in (internal) functions.
XHPROF_FLAGS_CPU (integer)
Used to add CPU profiling information to the output.
XHPROF_FLAGS_MEMORY (integer)
Used to add memory profiling information to the output.
Ressource-Typen
Beispiele
Xhprof


Beispiele

Beispiel #1 Xhprof example with the optional GUI

This example starts and stops the profiler, then uses the bundled GUI interface to save and parse the results. In other words, the code from the extension itself ends at the call to xhprof_disable().

<?php
xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);

for ($i = 0; $i <= 1000; $i++) {
    $a = $i * $i;
}

$xhprof_data = xhprof_disable();

$XHPROF_ROOT = "/tools/xhprof/";
include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_lib.php";
include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_runs.php";

$xhprof_runs = new XHProfRuns_Default();
$run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_testing");

echo "http://localhost/xhprof/xhprof_html/index.php?run={$run_id}&source=xhprof_testing\n";

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

http://localhost/xhprof/xhprof_html/index.php?run=t11_4bdf44d21121f&source=xhprof_testing
Vordefinierte Konstanten
Xhprof Funktionen
Xhprof


Xhprof Funktionen

Inhaltsverzeichnis

  • xhprof_disable — Stops xhprof profiler
  • xhprof_enable — Start xhprof profiler
  • xhprof_sample_disable — Stops xhprof sample profiler
  • xhprof_sample_enable — Start XHProf profiling in sampling mode
Beispiele
xhprof_disable
Xhprof


Stops xhprof profiler

Xhprof Funktionen
xhprof_enable
Xhprof Funktionen
PHP Manual

xhprof_disable

(PECL xhprof >= 0.9.0)

xhprof_disable — Stops xhprof profiler

Beschreibung

array xhprof_disable ( void )

Stops the profiler, and returns xhprof data from the run.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An array of xhprof data, from the run.

Beispiele

Beispiel #1 xhprof_disable() example

<?php
xhprof_enable();

$foo = strlen("foo bar");

$xhprof_data = xhprof_disable();

print_r($xhprof_data);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [main()==>strlen] => Array
        (
            [ct] => 1
            [wt] => 279
        )

    [main()==>xhprof_disable] => Array
        (
            [ct] => 1
            [wt] => 9
        )

    [main()] => Array
        (
            [ct] => 1
            [wt] => 610
        )

)
Xhprof Funktionen
xhprof_enable
Xhprof Funktionen


Start xhprof profiler

xhprof_disable
xhprof_sample_disable
Xhprof Funktionen
PHP Manual

xhprof_enable

(PECL xhprof >= 0.9.0)

xhprof_enable — Start xhprof profiler

Beschreibung

void xhprof_enable ([ int $flags = 0 [, array $options ]] )

Start xhprof profiling.

Parameter-Liste

flags

Optional flags to add additional information to the profiling. See the XHprof constants for further information about these flags, e.g., XHPROF_FLAGS_MEMORY to enable memory profiling.

options

An array of optional options, namely, the 'ignored_functions' option to pass in functions to be ignored during profiling.

Rückgabewerte

NULL

Changelog

Version | Beschreibung
0.9.2 | The optional options parameter was added.

Beispiele

Beispiel #1 xhprof_enable() examples

<?php
// 1. elapsed time + memory + CPU profiling; and ignore built-in (internal) functions
xhprof_enable(XHPROF_FLAGS_NO_BUILTINS | XHPROF_FLAGS_CPU | XHPROF_FLAGS_MEMORY);

// 2. elapsed time profiling; ignore call_user_func* during profiling
xhprof_enable(
    0,
    array('ignored_functions' =>  array('call_user_func',
                                        'call_user_func_array')));

// 3. elapsed time + memory profiling; ignore call_user_func* during profiling
xhprof_enable(
    XHPROF_FLAGS_MEMORY,
    array('ignored_functions' =>  array('call_user_func',
                                        'call_user_func_array')));
?>

Siehe auch

  • xhprof_disable() - Stops xhprof profiler
  • xhprof_sample_enable() - Start XHProf profiling in sampling mode
  • memory_get_usage() - Returns the amount of memory allocated to PHP
  • getrusage() - Zeigt den aktuellen Ressourcenverbrauch an
xhprof_disable
xhprof_sample_disable
Xhprof Funktionen


Stops xhprof sample profiler

xhprof_enable
xhprof_sample_enable
Xhprof Funktionen
PHP Manual

xhprof_sample_disable

(PECL xhprof >= 0.9.0)

xhprof_sample_disable — Stops xhprof sample profiler

Beschreibung

array xhprof_sample_disable ( void )

Stops the sample mode xhprof profiler, and

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An array of xhprof sample data, from the run.

Beispiele

Beispiel #1 xhprof_sample_disable() example

<?php
xhprof_sample_enable();

for ($i = 0; $i <= 10000; $i++) {
    $a = strlen($i);
    $b = $i * $a;
    $c = rand();
}

$xhprof_data = xhprof_sample_disable();

print_r($xhprof_data);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [1272935300.800000] => main()
    [1272935300.900000] => main()
)
xhprof_enable
xhprof_sample_enable
Xhprof Funktionen


Start XHProf profiling in sampling mode

xhprof_sample_disable
Manipulation von Audioformaten
Xhprof Funktionen
PHP Manual

xhprof_sample_enable

(PECL xhprof >= 0.9.0)

xhprof_sample_enable — Start XHProf profiling in sampling mode

Beschreibung

void xhprof_sample_enable ( void )

Starts profiling in sample mode, which is a lighter weight version of xhprof_enable(). The sampling interval is 0.1 seconds, and samples record the full function call stack. The main use case is when lower overhead is required when doing performance monitoring and diagnostics.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

NULL

Siehe auch

  • xhprof_sample_disable() - Stops xhprof sample profiler
  • xhprof_enable() - Start xhprof profiler
  • memory_get_usage() - Returns the amount of memory allocated to PHP
  • getrusage() - Zeigt den aktuellen Ressourcenverbrauch an
xhprof_sample_disable
Manipulation von Audioformaten
Xhprof Funktionen


Manipulation von Audioformaten

  • ID3 — ID3 Tags
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • ID3 Funktionen
  • KTaglib
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • KTaglib_MPEG_File — The KTaglib_MPEG_File class
    • KTaglib_MPEG_AudioProperties — The KTaglib_MPEG_AudioProperties class
    • KTaglib_Tag — The KTaglib_Tag class
    • KTaglib_ID3v2_Tag — The KTaglib_ID3v2_Tag class
    • KTaglib_ID3v2_Frame — The KTaglib_ID3v2_Frame class
    • KTaglib_ID3v2_AttachedPictureFrame — The KTaglib_ID3v2_AttachedPictureFrame class
  • oggvorbis — OGG/Vorbis
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Context options
    • Beispiele
  • OpenAL — OpenAL Audio Bindings
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • OpenAL Funktionen
xhprof_sample_enable
ID3
Funktionsreferenz


ID3 Tags

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • ID3 Funktionen
    • id3_get_frame_long_name — Ermittelt den ausführlichen Namen eines ID3v2-Frames
    • id3_get_frame_short_name — Ermittelt den kurzen Namen eines ID3v2-Frames
    • id3_get_genre_id — Ermitteln der ID für ein Genre
    • id3_get_genre_list — Ermitteln aller möglichen Genres
    • id3_get_genre_name — Ermitteln eine Genrenamen anhand einer Genre-Id
    • id3_get_tag — Ermitteln aller Informationen in einem ID3-Tag
    • id3_get_version — Version eines ID3-Tags feststellen
    • id3_remove_tag — Entfernen eines vorhandenen ID3-Tags
    • id3_set_tag — Manipulation der Informationen in einem ID3-Tag
Manipulation von Audioformaten
Einführung
Manipulation von Audioformaten


Einführung

Diese Funktionen erlauben Ihnen das Lesen und Schreiben von ID3-Tags. ID3-Tags werden in MP3-Dateien verwendet, um Informationen wie Songtitel, Interpret, Albumname, Kommentare und weitere zu speichern.

Seit Version 0.2 ist es mit der Extension auch möglich Text-Frames aus ID3 V2.2 Dateien oder höher zu extrahieren.

ID3
Installation/Konfiguration
ID3


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
ID3


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/id3.

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Bei den meisten id3-Funktionen können Sie eine Tag-Version als Parameter angeben oder erhalten eine solche als Rückgabewert der Funktion. Falls Sie auf diese Versionsnummern zugreifen, verwenden Sie bitte diese Konstanten.

ID3_V1_0 (integer)
Verwenden Sie ID3_V1_0 bei der Arbeit mit ID3v1.0 Tags. Diese Tags enthalten die Felder title, artist, album, genre, year und comment.
ID3_V1_1 (integer)
Verwenden Sie ID3_V1_1 bei der Arbeit mit ID3v1.1 Tags. Solche Tags enthalten sämtliche Informationen von ID3v1.0 Tags und zusätzlich eine Tracknummer.
ID3_V2_1 (integer)
Verwenden Sie ID3_V2_1 bei der Arbeit mit ID3 V2.1 tags.
ID3_V2_2 (integer)
Verwenden Sie ID3_V2_2 bei der Arbeit mit ID3v2.2 Tags.
ID3_V2_3 (integer)
Verwenden Sie ID3_V2_3 bei der Arbeit mit ID3v2.3 Tags.
ID3_V2_4 (integer)
Verwenden Sie ID3_V2_4 bei der Arbeit mit ID3v2.4 Tags.
ID3_BEST (integer)
Verwenden Sie ID3_BEST, wenn Sie die id3-Funktionen bestimmen lassen wollen, welche Tag-Version verwendet werden soll.

Ressource-Typen
ID3 Funktionen
ID3


ID3 Funktionen

Inhaltsverzeichnis

  • id3_get_frame_long_name — Ermittelt den ausführlichen Namen eines ID3v2-Frames
  • id3_get_frame_short_name — Ermittelt den kurzen Namen eines ID3v2-Frames
  • id3_get_genre_id — Ermitteln der ID für ein Genre
  • id3_get_genre_list — Ermitteln aller möglichen Genres
  • id3_get_genre_name — Ermitteln eine Genrenamen anhand einer Genre-Id
  • id3_get_tag — Ermitteln aller Informationen in einem ID3-Tag
  • id3_get_version — Version eines ID3-Tags feststellen
  • id3_remove_tag — Entfernen eines vorhandenen ID3-Tags
  • id3_set_tag — Manipulation der Informationen in einem ID3-Tag
Vordefinierte Konstanten
id3_get_frame_long_name
ID3


Ermittelt den ausführlichen Namen eines ID3v2-Frames

ID3 Funktionen
id3_get_frame_short_name
ID3 Funktionen
PHP Manual

id3_get_frame_long_name

(PECL id3 >= 0.2)

id3_get_frame_long_name — Ermittelt den ausführlichen Namen eines ID3v2-Frames

Beschreibung

string id3_get_frame_long_name ( string $frameId )

id3_get_frame_long_name() liefert den ausführlichen Namen eines ID3v2-Frames.

Beispiel #1 id3_get_frame_long_name() Beispiel

<?php
$longName = id3_get_frame_long_name("TOLY");
echo $longName;
?>

Das Beispiel liefert folgende Ausgabe:

Original lyricist(s)/text writer(s)

Siehe auch id3_get_frame_short_name().

ID3 Funktionen
id3_get_frame_short_name
ID3 Funktionen


Ermittelt den kurzen Namen eines ID3v2-Frames

id3_get_frame_long_name
id3_get_genre_id
ID3 Funktionen
PHP Manual

id3_get_frame_short_name

(PECL id3 >= 0.2)

id3_get_frame_short_name — Ermittelt den kurzen Namen eines ID3v2-Frames

Beschreibung

string id3_get_frame_short_name ( string $frameId )

id3_get_frame_short_name() liefert den kurzen Namen für einen ID3v2-Frame.

Beispiel #1 id3_get_frame_short_name() example

<?php
$shortName = id3_get_frame_short_name("TOLY");
echo $shortName;
?>

Liefert die Ausgabe:

originalLyricist

Die Werte, die von id3_get_short_name() zurückgegeben werden, verwendet id3_get_tag() im zurückgegebenen Array.

Siehe auch id3_get_frame_long_name().

id3_get_frame_long_name
id3_get_genre_id
ID3 Funktionen


Ermitteln der ID für ein Genre

id3_get_frame_short_name
id3_get_genre_list
ID3 Funktionen
PHP Manual

id3_get_genre_id

(PECL id3 >= 0.1)

id3_get_genre_id — Ermitteln der ID für ein Genre

Beschreibung

int id3_get_genre_id ( string $genre )

id3_get_genre_id() liefert die ID für ein Genre. Ist das angegebene Genre nicht in der Genreliste, so wird false zurückgegeben.

Das Genre wird in einem ID3-Tag als Ganzzahl mit einem Wert zwischen 0 und 147 gespeichert.

Beispiel #1 id3_get_genre_id() Beispiel

<?php
$id = id3_get_genre_id("Alternative");
echo $id;
?>

Liefert die Ausgabe:

20

Siehe auch id3_get_genre_list() and id3_get_genre_name().

id3_get_frame_short_name
id3_get_genre_list
ID3 Funktionen


Ermitteln aller möglichen Genres

id3_get_genre_id
id3_get_genre_name
ID3 Funktionen
PHP Manual

id3_get_genre_list

(PECL id3 >= 0.1)

id3_get_genre_list — Ermitteln aller möglichen Genres

Beschreibung

array id3_get_genre_list ( void )

id3_get_genre_list() liefert ein Array, das alle Genres enthält, die in einem ID3-Tag vorkommen können. Diese Liste wurde von Eric Kemp erstellt und später von WinAMP erweitert.

Die Funktion ist hilfreich, um Benutzern eine Liste aller möglichen Genres zur Auswahl zu geben. Beim Aktualisieren eines ID3-Tags, müssen Sie immer eine Ganzzahl zwischen 0 und 147 angeben.

Beispiel #1 id3_get_genre_list() Beispiel

<?php
$genres = id3_get_genre_list();
print_r($genres);
?>

Liefert die Ausgabe:

Array
(
    [0] => Blues
    [1] => Classic Rock
    [2] => Country
    [3] => Dance
    [4] => Disco
    [5] => Funk
    [6] => Grunge
    [7] => Hip-Hop
    [8] => Jazz
    [9] => Metal
    [10] => New Age
    [11] => Oldies
    [12] => Other
    [13] => Pop
    [14] => R&B
    [15] => Rap
    [16] => Reggae
    [17] => Rock
    [18] => Techno
    [19] => Industrial
    [20] => Alternative
    [21] => Ska
    [22] => Death Metal
    [23] => Pranks
    [24] => Soundtrack
    [25] => Euro-Techno
    [26] => Ambient
    [27] => Trip-Hop
    [28] => Vocal
    [29] => Jazz+Funk
    [30] => Fusion
    [31] => Trance
    [32] => Classical
    [33] => Instrumental
    [34] => Acid
    [35] => House
    [36] => Game
    [37] => Sound Clip
    [38] => Gospel
    [39] => Noise
    [40] => Alternative Rock
    [41] => Bass
    [42] => Soul
    [43] => Punk
    [44] => Space
    [45] => Meditative
    [46] => Instrumental Pop
    [47] => Instrumental Rock
    [48] => Ethnic
    [49] => Gothic
    [50] => Darkwave
    [51] => Techno-Industrial
    [52] => Electronic
    [53] => Pop-Folk
    [54] => Eurodance
    [55] => Dream
    [56] => Southern Rock
    [57] => Comedy
    [58] => Cult
    [59] => Gangsta
    [60] => Top 40
    [61] => Christian Rap
    [62] => Pop/Funk
    [63] => Jungle
    [64] => Native US
    [65] => Cabaret
    [66] => New Wave
    [67] => Psychadelic
    [68] => Rave
    [69] => Showtunes
    [70] => Trailer
    [71] => Lo-Fi
    [72] => Tribal
    [73] => Acid Punk
    [74] => Acid Jazz
    [75] => Polka
    [76] => Retro
    [77] => Musical
    [78] => Rock & Roll
    [79] => Hard Rock
    [80] => Folk
    [81] => Folk-Rock
    [82] => National Folk
    [83] => Swing
    [84] => Fast Fusion
    [85] => Bebob
    [86] => Latin
    [87] => Revival
    [88] => Celtic
    [89] => Bluegrass
    [90] => Avantgarde
    [91] => Gothic Rock
    [92] => Progressive Rock
    [93] => Psychedelic Rock
    [94] => Symphonic Rock
    [95] => Slow Rock
    [96] => Big Band
    [97] => Chorus
    [98] => Easy Listening
    [99] => Acoustic
    [100] => Humour
    [101] => Speech
    [102] => Chanson
    [103] => Opera
    [104] => Chamber Music
    [105] => Sonata
    [106] => Symphony
    [107] => Booty Bass
    [108] => Primus
    [109] => Porn Groove
    [110] => Satire
    [111] => Slow Jam
    [112] => Club
    [113] => Tango
    [114] => Samba
    [115] => Folklore
    [116] => Ballad
    [117] => Power Ballad
    [118] => Rhytmic Soul
    [119] => Freestyle
    [120] => Duet
    [121] => Punk Rock
    [122] => Drum Solo
    [123] => Acapella
    [124] => Euro-House
    [125] => Dance Hall
    [126] => Goa
    [127] => Drum & Bass
    [128] => Club-House
    [129] => Hardcore
    [130] => Terror
    [131] => Indie
    [132] => BritPop
    [133] => Negerpunk
    [134] => Polsk Punk
    [135] => Beat
    [136] => Christian Gangsta
    [137] => Heavy Metal
    [138] => Black Metal
    [139] => Crossover
    [140] => Contemporary C
    [141] => Christian Rock
    [142] => Merengue
    [143] => Salsa
    [144] => Thrash Metal
    [145] => Anime
    [146] => JPop
    [147] => SynthPop
)

Siehe auch id3_get_genre_name() and id3_get_genre_id().

id3_get_genre_id
id3_get_genre_name
ID3 Funktionen


Ermitteln eine Genrenamen anhand einer Genre-Id

id3_get_genre_list
id3_get_tag
ID3 Funktionen
PHP Manual

id3_get_genre_name

(PECL id3 >= 0.1)

id3_get_genre_name — Ermitteln eine Genrenamen anhand einer Genre-Id

Beschreibung

string id3_get_genre_name ( int $genre_id )

id3_get_genre_name() liefert den Genrenamen für eine zugehörige Genre-Id.

Das Genre wird in einem ID3-Tag als Ganzzahl mit einem Wert zwischen 0 und 147 gespeichert.

Beispiel #1 id3_get_genre_name() Beispiel

<?php
$genre = id3_get_genre_name(20);
echo $genre;
?>

Liefert die Ausgabe:

Alternative

Siehe auch id3_get_genre_list() und id3_get_genre_id().

id3_get_genre_list
id3_get_tag
ID3 Funktionen


Ermitteln aller Informationen in einem ID3-Tag

id3_get_genre_name
id3_get_version
ID3 Funktionen
PHP Manual

id3_get_tag

(PECL id3 >= 0.1)

id3_get_tag — Ermitteln aller Informationen in einem ID3-Tag

Beschreibung

array id3_get_tag ( string $filename [, int $version ] )

id3_get_tag() wird verwendet, um alle Informationen in einem ID3-Tag einer bestimmten Datei zu ermitteln.

Hinweis: Anstelle eines Dateinamens können Sie auch eine stream-Ressource übergeben.

Der optionale Parameter version erlaubt es, die Version des zu schreibenden Tags anzugeben. MP3-Dateien können sowohl ID3v1-, als auch ID3v2-Tags enthalten.

Beispiel #1 id3_get_tag() Beispiel

<?php
$tag = id3_get_tag( "path/to/example.mp3" );
print_r($tag);
?>

Die Ausgabe wird in etwa so aussehen:

Array
(
    [title] => DN-38416
    [artist] => Re:\Legion
    [album] => Reflections
    [year] => 2004
    [genre] => 19
)

Der Key genre enthält eine Ganzzahl zwischen 0 and 147. Sie können die Funktion id3_get_genre_name() verwenden, um diese in eine menschenlesbare Form zu bringen.

Seit Version 0.2 unterstützt id3_get_tag() auch ID3-Tags in den Versionen 2.2, 2.3 und 2.4. Übergeben Sie eine der Konstanten ID3_V2_2, ID3_V2_3 oder ID3_V2_4 als zweiten Parameter, um Informationen aus diesen Tags zu lesen.

Beispiel #2 id3_get_tag() Beispiel

<?php
$tag = id3_get_tag( "path/to/example2.mp3", ID3_V2_3 );
print_r($tag);
?>

Die Ausgabe wird in etwa so aussehen:

Array
(
    [copyright] => Dirty Mac
    [originalArtist] => Dirty Mac
    [composer] => Marcus Götze
    [artist] => Dirty Mac
    [title] => Little Big Man
    [album] => Demo-Tape
    [track] => 5/12
    [genre] => (17)Rock
    [year] => 2001
)

ID3v2.x Tags können weit mehr Informationen über eine MP3-Datei enthalten, als ID3v1.x Tags.

Siehe auch id3_set_tag(), id3_remove_tag() und id3_get_version().

id3_get_genre_name
id3_get_version
ID3 Funktionen


Version eines ID3-Tags feststellen

id3_get_tag
id3_remove_tag
ID3 Funktionen
PHP Manual

id3_get_version

(PECL id3 >= 0.1)

id3_get_version — Version eines ID3-Tags feststellen

Beschreibung

int id3_get_version ( string $filename )

id3_get_version() ermittelt die Version(en) des/der ID3-Tags in einer MP3-Datei. Da MP3-Dateien mehrere ID3-Tags enthalten können, sollten Sie den Rückgabewert dieser Funktion bitweise mit den vordefinierten Konstanten ID3_V1_0, ID3_V1_1 und ID3_V2 vergleichen.

Hinweis: Anstelle eines Dateinamens können Sie auch eine stream-Ressource übergeben.

Beispiel #1 id3_get_version() Beispiel

<?php
$version = id3_get_version( "path/to/example.mp3" );
if ($version & ID3_V1_0) {
    echo "Contains a 1.x tag\n";
}
if ($version & ID3_V1_1) {
    echo "Contains a 1.1 tag\n";
}
if ($version & ID3_V2) {
    echo "Contains a 2.x tag\n";
}
?>

Die Ausgabe wird in etwa so aussehen:

Contains a 1.x tag
Contains a 1.1 tag

Wenn eine Datei ein ID3v1.1-Tag enthält, ist auch immer ein v1.0-Tag enthalten, da v1.1 eine Erweiterung von v1.0 ist.

Siehe auch id3_get_tag(), id3_set_tag() und id3_remove_tag().

id3_get_tag
id3_remove_tag
ID3 Funktionen


Entfernen eines vorhandenen ID3-Tags

id3_get_version
id3_set_tag
ID3 Funktionen
PHP Manual

id3_remove_tag

(PECL id3 >= 0.1)

id3_remove_tag — Entfernen eines vorhandenen ID3-Tags

Beschreibung

bool id3_remove_tag ( string $filename [, int $version ] )

id3_remove_tag() entfernt die Informationen, die in einem ID3-Tag gespeichert sind. Wenn kein Tag vorhanden ist, belässt die Funktion die Datei unverändert und gibt false zurück.

Hinweis: Anstelle eines Dateinamens können Sie auch eine stream-Ressource übergeben.

Der optionale Parameter version erlaubt es, die Version des zu schreibenden Tags anzugeben. MP3-Dateien können sowohl ID3v1-, als auch ID3v2-Tags enthalten.

Beispiel #1 id3_remove_tag() Beispiel

<?php
$result = id3_remove_tag( "path/to/example.mp3", ID3_V1_0 );
if ($result === true) {
    echo "Tag succesfully removed\n";
}
?>

Wenn die Datei schreibbar ist und ein ID3v1.0-Tag enthält, erhalten Sie folgende Ausgabe:

Tag succesfully removed

Hinweis: Momentan unterstützt id3_remove_tag() nur ID3-Tags in den Versionen 1.0 und 1.1. Wenn Sie ein ID3v1.0-Tag entfernen und die Datei enthält ein ID3v1.1-Tag, wird dieses entfernt, da v1.1 nur eine Erweiterung von v1.0 ist.

Siehe auch id3_get_tag(), id3_set_tag() und id3_get_version().

id3_get_version
id3_set_tag
ID3 Funktionen


Manipulation der Informationen in einem ID3-Tag

id3_remove_tag
KTaglib
ID3 Funktionen
PHP Manual

id3_set_tag

(PECL id3 >= 0.1)

id3_set_tag — Manipulation der Informationen in einem ID3-Tag

Beschreibung

bool id3_set_tag ( string $filename , array $tag [, int $version ] )

id3_set_tag() wird verwendet, um die Informationen in einem ID3-Tag zu manipulieren. Wenn kein Tag existiert, so wird es zur Datei hinzugefügt.

Hinweis: Anstelle eines Dateinamens können Sie auch eine stream-Ressource übergeben.

Der optionale Parameter version erlaubt es, die Version des zu schreibenden Tags anzugeben. MP3-Dateien können sowohl ID3v1-, als auch ID3v2-Tags enthalten.

Beispiel #1 id3_set_tag() Beispiel

<?php
$data = array(
              "title" => "Re:Start",
              "artist" => "Re:\Legion",
              "comment" => "A nice track"
             );
$result = id3_set_tag( "path/to/example.mp3", $data, ID3_V1_0 );
if ($result === true) {
    echo "Tag succesfully updated\n";
}
?>

Wenn die Datei schreibbar ist, sieht die Ausgabe wie folgt aus:

Tag succesfully updated

Hinweis: Momentan unterstützt id3_set_tag() nur ID3-Tags in den Versionen 1.0 und 1.1.

Folgende Schlüssel können in dem assoziativen Array verwendet werden:

Schlüssel des assoziativen Arrays
Schlüssel | möglicher Wert | verfügbar in Tag-Version
title | String mit maximal 30 Zeichen | v1.0, v1.1
artist | String mit maximal 30 Zeichen | v1.0, v1.1
album | String mit maximal 30 Zeichen | v1.0, v1.1
year | 4-stellige Zahl | v1.0, v1.1
genre | Ganzzahl zwischen 0 und 147 | v1.0, v1.1
comment | String mit maximal 30 Zeichen (28 in v1.1) | v1.0, v1.1
track | Ganzzahl zwischen 0 und 255 | v1.1

Siehe auch id3_get_tag(), id3_remove_tag() und id3_get_version().

id3_remove_tag
KTaglib
ID3 Funktionen


KTaglib

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
  • Vordefinierte Konstanten
  • KTaglib_MPEG_File — The KTaglib_MPEG_File class
    • KTaglib_MPEG_File::__construct — Opens a new file
    • KTaglib_MPEG_File::getAudioProperties — Returns an object that provides access to the audio properties
    • KTaglib_MPEG_File::getID3v1Tag — Returns an object representing an ID3v1 tag
    • KTaglib_MPEG_File::getID3v2Tag — Returns a ID3v2 object
  • KTaglib_MPEG_AudioProperties — The KTaglib_MPEG_AudioProperties class
    • KTaglib_MPEG_AudioProperties::getBitrate — Returns the bitrate of the MPEG file
    • KTaglib_MPEG_AudioProperties::getChannels — Returns the amount of channels of a MPEG file
    • KTaglib_MPEG_AudioProperties::getLayer — Returns the layer of a MPEG file
    • KTaglib_MPEG_AudioProperties::getLength — Returns the length of a MPEG file
    • KTaglib_MPEG_AudioProperties::getSampleBitrate — Returns the sample bitrate of a MPEG file
    • KTaglib_MPEG_AudioProperties::getVersion — Returns the version of a MPEG file
    • KTaglib_MPEG_AudioProperties::isCopyrighted — Returns the copyright status of an MPEG file
    • KTaglib_MPEG_AudioProperties::isOriginal — Returns if the file is marked as the original file
    • KTaglib_MPEG_AudioProperties::isProtectionEnabled — Returns if protection mechanisms of an MPEG file are enabled
  • KTaglib_Tag — The KTaglib_Tag class
    • KTaglib_Tag::getAlbum — Returns the title string from a ID3 tag
    • KTaglib_Tag::getArtist — Returns the artist string from a ID3 tag
    • KTaglib_Tag::getComment — Returns the comment from a ID3 tag
    • KTaglib_Tag::getGenre — Returns the genre from a ID3 tag
    • KTaglib_Tag::getTitle — Returns the title string from a ID3 tag
    • KTaglib_Tag::getTrack — Returns the track number from a ID3 tag
    • KTaglib_Tag::getYear — Returns the year from a ID3 tag
    • KTaglib_Tag::isEmpty — Returns true if the tag is empty
  • KTaglib_ID3v2_Tag — The KTaglib_ID3v2_Tag class
    • KTaglib_ID3v2_Tag::addFrame — Add a frame to the ID3v2 tag
    • KTaglib_ID3v2_Tag::getFrameList — Returns an array of ID3v2 frames, associated with the ID3v2 tag
  • KTaglib_ID3v2_Frame — The KTaglib_ID3v2_Frame class
    • KTaglib_ID3v2_Frame::getSize — Returns the size of the frame in bytes
    • KTaglib_ID3v2_Frame::__toString — Returns a string representation of the frame
  • KTaglib_ID3v2_AttachedPictureFrame — The KTaglib_ID3v2_AttachedPictureFrame class
    • KTaglib_ID3v2_AttachedPictureFrame::getDescription — Returns a description for the picture in a picture frame
    • KTaglib_ID3v2_AttachedPictureFrame::getMimeType — Returns the mime type of the picture
    • KTaglib_ID3v2_AttachedPictureFrame::getType — Returns the type of the image
    • KTaglib_ID3v2_AttachedPictureFrame::savePicture — Saves the picture to a file
    • KTaglib_ID3v2_AttachedPictureFrame::setMimeType — Set's the mime type of the picture
    • KTaglib_ID3v2_AttachedPictureFrame::setPicture — Sets the frame picture to the given image
    • KTaglib_ID3v2_AttachedPictureFrame::setType — Set the type of the image
id3_set_tag
Einführung
Manipulation von Audioformaten


Einführung

KTaglib is an object oriented binding to the taglib library from the KDE project used in projects like Amarok to read and write ID3 and Ogg tags. The library also provides access to audio information. The bindings are designed usually follow the underlying C++ API, but were changed whenever there is a more PHP-like way.

Hinweis:

At the moment ktaglib is able to read and write ID3v1 and ID3v2 tags.

KTaglib
Installation/Konfiguration
KTaglib


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
Einführung
Anforderungen
KTaglib


Anforderungen

If you want to build ktaglib you need at least taglib 1.5 installed. To obtain the taglib see the » taglib project page. Windows DLL's are build static against taglib, therefore there is no need to have taglib installed.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/ktaglib.

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Anforderungen
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

KTaglib uses class constants. Most of the constants are mappings to the according Taglib enums and constants.

KTaglib_MPEG_Header::Version1 (integer)
ID3 version is 1.0
KTaglib_MPEG_Header::Version2 (integer)
ID3 version is 2.0
KTaglib_MPEG_Header::Version2_5 (integer)
ID3 version is 2.5
KTaglib_ID3v2_AttachedPictureFrame::Other (integer)
Picture type Other
KTaglib_ID3v2_AttachedPictureFrame::FileIcon (integer)
Picture type FileIcon
KTaglib_ID3v2_AttachedPictureFrame::OtherFileIcon (integer)
Picture type OtherFileIcon
KTaglib_ID3v2_AttachedPictureFrame::FrontCover (integer)
Picture type FrontCover
KTaglib_ID3v2_AttachedPictureFrame::BackCover (integer)
Picture type BackCover
KTaglib_ID3v2_AttachedPictureFrame::LeafletPage (integer)
Picture type LeafletPage
KTaglib_ID3v2_AttachedPictureFrame::Media (integer)
Picture type Media
KTaglib_ID3v2_AttachedPictureFrame::LeadArtist (integer)
Picture type LeadArtist
KTaglib_ID3v2_AttachedPictureFrame::Artist (integer)
Picture type Artist
KTaglib_ID3v2_AttachedPictureFrame::Conductor (integer)
Picture type Condutor
KTaglib_ID3v2_AttachedPictureFrame::Band (integer)
Picture type Band
KTaglib_ID3v2_AttachedPictureFrame::Composer (integer)
Picture type Composer
KTaglib_ID3v2_AttachedPictureFrame::Lyricist (integer)
Picture type Lyricist
KTaglib_ID3v2_AttachedPictureFrame::RecordingLocation (integer)
Picture type RecordingLocation
KTaglib_ID3v2_AttachedPictureFrame::DuringRecording (integer)
Picture type DuringRecording
KTaglib_ID3v2_AttachedPictureFrame::DuringPerformance (integer)
Picture type DuringPerformance
KTaglib_ID3v2_AttachedPictureFrame::MovieScreenCapture (integer)
Picture type MovieScreenCapture
KTaglib_ID3v2_AttachedPictureFrame::ColouredFish (integer)
Picture type ColouredFish
KTaglib_ID3v2_AttachedPictureFrame::Illustration (integer)
Picture type Illustration
KTaglib_ID3v2_AttachedPictureFrame::BandLogo (integer)
Picture type BandLogo
Installation
KTaglib_MPEG_File
KTaglib


The KTaglib_MPEG_File class

(0.0.1)

Einführung

Represents an MPEG file. MPEG files can have ID3v1, ID3v2 tags and audio properties.

Class synopsis

KTaglib_MPEG_File {
/* Methoden */
public KTaglib_MPEG_File getAudioProperties ( void )
public KTaglib_ID3v1_Tag getID3v1Tag ([ bool $create = false ] )
public KTaglib_ID3v2_Tag getID3v2Tag ([ bool $create = false ] )
}

Inhaltsverzeichnis

  • KTaglib_MPEG_File::__construct — Opens a new file
  • KTaglib_MPEG_File::getAudioProperties — Returns an object that provides access to the audio properties
  • KTaglib_MPEG_File::getID3v1Tag — Returns an object representing an ID3v1 tag
  • KTaglib_MPEG_File::getID3v2Tag — Returns a ID3v2 object
Vordefinierte Konstanten
KTaglib_MPEG_File::__construct
KTaglib


Opens a new file

KTaglib_MPEG_File
KTaglib_MPEG_File::getAudioProperties
KTaglib_MPEG_File
PHP Manual

KTaglib_MPEG_File::__construct

(0.0.1)

KTaglib_MPEG_File::__construct — Opens a new file

Beschreibung

public KTaglib_MPEG_File::__construct ( string $filename )

Opens a new MPEG file.

Parameter-Liste

filename

The file to read

Beispiele

Beispiel #1 Opens a new MP3 file and read the title

<?php
$mpeg = new KTaglib_MPEG_File('example.mp3');
echo $mpeg->getID3v1Tag()->getTitle();
?>

KTaglib_MPEG_File
KTaglib_MPEG_File::getAudioProperties
KTaglib_MPEG_File


Returns an object that provides access to the audio properties

KTaglib_MPEG_File::__construct
KTaglib_MPEG_File::getID3v1Tag
KTaglib_MPEG_File
PHP Manual

KTaglib_MPEG_File::getAudioProperties

(0.0.1)

KTaglib_MPEG_File::getAudioProperties — Returns an object that provides access to the audio properties

Beschreibung

public KTaglib_MPEG_File KTaglib_MPEG_File::getAudioProperties ( void )

Returns an object that provides access to the audio properties of the mpeg file.

Rückgabewerte

Returns an KTaglib_MPEG_AudioProperties object or false.

KTaglib_MPEG_File::__construct
KTaglib_MPEG_File::getID3v1Tag
KTaglib_MPEG_File


Returns an object representing an ID3v1 tag

KTaglib_MPEG_File::getAudioProperties
KTaglib_MPEG_File::getID3v2Tag
KTaglib_MPEG_File
PHP Manual

KTaglib_MPEG_File::getID3v1Tag

(0.0.1)

KTaglib_MPEG_File::getID3v1Tag — Returns an object representing an ID3v1 tag

Beschreibung

public KTaglib_ID3v1_Tag KTaglib_MPEG_File::getID3v1Tag ([ bool $create = false ] )

Returns an object that represents an ID3v1 tag, which can be used to get information about the ID3v1 tag.

Rückgabewerte

Returns an KTaglib_MPEG_ID3v1Tag object or false if there is no ID3v1 tag.

KTaglib_MPEG_File::getAudioProperties
KTaglib_MPEG_File::getID3v2Tag
KTaglib_MPEG_File


Returns a ID3v2 object

KTaglib_MPEG_File::getID3v1Tag
KTaglib_MPEG_AudioProperties
KTaglib_MPEG_File
PHP Manual

KTaglib_MPEG_File::getID3v2Tag

(0.0.1)

KTaglib_MPEG_File::getID3v2Tag — Returns a ID3v2 object

Beschreibung

public KTaglib_ID3v2_Tag KTaglib_MPEG_File::getID3v2Tag ([ bool $create = false ] )

Returns a ID3v2 object for the mpeg file. If no ID3v2 Tag is present, an KTaglib_TagNotFoundException is thrown.

Rückgabewerte

Returns the KTaglib_ID3v2_Tag object of the MPEG file or false if there is no ID3v2 tag

KTaglib_MPEG_File::getID3v1Tag
KTaglib_MPEG_AudioProperties
KTaglib_MPEG_File


The KTaglib_MPEG_AudioProperties class

(0.0.1)

Einführung

Represents the audio properties of a MPEG file, like length, bitrate or samplerate.

Class synopsis

KTaglib_MPEG_AudioProperties {
/* Methoden */
public int KTaglib_MPEG_AudioProperties::getBitrate ( void )
public int KTaglib_MPEG_AudioProperties::getChannels ( void )
public int KTaglib_MPEG_AudioProperties::getLayer ( void )
public int KTaglib_MPEG_AudioProperties::getLength ( void )
public int KTaglib_MPEG_AudioProperties::getSampleBitrate ( void )
public int KTaglib_MPEG_AudioProperties::getVersion ( void )
public bool KTaglib_MPEG_AudioProperties::isCopyrighted ( void )
public bool KTaglib_MPEG_AudioProperties::isOriginal ( void )
public bool KTaglib_MPEG_AudioProperties::isProtectionEnabled ( void )
}

Inhaltsverzeichnis

  • KTaglib_MPEG_AudioProperties::getBitrate — Returns the bitrate of the MPEG file
  • KTaglib_MPEG_AudioProperties::getChannels — Returns the amount of channels of a MPEG file
  • KTaglib_MPEG_AudioProperties::getLayer — Returns the layer of a MPEG file
  • KTaglib_MPEG_AudioProperties::getLength — Returns the length of a MPEG file
  • KTaglib_MPEG_AudioProperties::getSampleBitrate — Returns the sample bitrate of a MPEG file
  • KTaglib_MPEG_AudioProperties::getVersion — Returns the version of a MPEG file
  • KTaglib_MPEG_AudioProperties::isCopyrighted — Returns the copyright status of an MPEG file
  • KTaglib_MPEG_AudioProperties::isOriginal — Returns if the file is marked as the original file
  • KTaglib_MPEG_AudioProperties::isProtectionEnabled — Returns if protection mechanisms of an MPEG file are enabled
KTaglib_MPEG_File::getID3v2Tag
KTaglib_MPEG_AudioProperties::getBitrate
KTaglib


Returns the bitrate of the MPEG file

KTaglib_MPEG_AudioProperties
KTaglib_MPEG_AudioProperties::getChannels
KTaglib_MPEG_AudioProperties
PHP Manual

KTaglib_MPEG_AudioProperties::getBitrate

(0.0.1)

KTaglib_MPEG_AudioProperties::getBitrate — Returns the bitrate of the MPEG file

Beschreibung

public int KTaglib_MPEG_AudioProperties::getBitrate ( void )

Returns the bitrate of the MPEG file

Rückgabewerte

Returns the bitrate as an integer

KTaglib_MPEG_AudioProperties
KTaglib_MPEG_AudioProperties::getChannels
KTaglib_MPEG_AudioProperties


Returns the amount of channels of a MPEG file

KTaglib_MPEG_AudioProperties::getBitrate
KTaglib_MPEG_AudioProperties::getLayer
KTaglib_MPEG_AudioProperties
PHP Manual

KTaglib_MPEG_AudioProperties::getChannels

(0.0.1)

KTaglib_MPEG_AudioProperties::getChannels — Returns the amount of channels of a MPEG file

Beschreibung

public int KTaglib_MPEG_AudioProperties::getChannels ( void )

Returns the amount of channels of the MPEG file

Rückgabewerte

Returns the channel count as an integer

KTaglib_MPEG_AudioProperties::getBitrate
KTaglib_MPEG_AudioProperties::getLayer
KTaglib_MPEG_AudioProperties


Returns the layer of a MPEG file

KTaglib_MPEG_AudioProperties::getChannels
KTaglib_MPEG_AudioProperties::getLength
KTaglib_MPEG_AudioProperties
PHP Manual

KTaglib_MPEG_AudioProperties::getLayer

(0.0.1)

KTaglib_MPEG_AudioProperties::getLayer — Returns the layer of a MPEG file

Beschreibung

public int KTaglib_MPEG_AudioProperties::getLayer ( void )

Returns the layer of the MPEG file (usually 3 for MP3).

Rückgabewerte

Returns the layer as an integer

KTaglib_MPEG_AudioProperties::getChannels
KTaglib_MPEG_AudioProperties::getLength
KTaglib_MPEG_AudioProperties


Returns the length of a MPEG file

KTaglib_MPEG_AudioProperties::getLayer
KTaglib_MPEG_AudioProperties::getSampleBitrate
KTaglib_MPEG_AudioProperties
PHP Manual

KTaglib_MPEG_AudioProperties::getLength

(0.0.1)

KTaglib_MPEG_AudioProperties::getLength — Returns the length of a MPEG file

Beschreibung

public int KTaglib_MPEG_AudioProperties::getLength ( void )

Returns the length of the MPEG file

Rückgabewerte

Returns the length as an integer

KTaglib_MPEG_AudioProperties::getLayer
KTaglib_MPEG_AudioProperties::getSampleBitrate
KTaglib_MPEG_AudioProperties


Returns the sample bitrate of a MPEG file

KTaglib_MPEG_AudioProperties::getLength
KTaglib_MPEG_AudioProperties::getVersion
KTaglib_MPEG_AudioProperties
PHP Manual

KTaglib_MPEG_AudioProperties::getSampleBitrate

(0.0.1)

KTaglib_MPEG_AudioProperties::getSampleBitrate — Returns the sample bitrate of a MPEG file

Beschreibung

public int KTaglib_MPEG_AudioProperties::getSampleBitrate ( void )

Returns the sample bitrate of the MPEG file

Rückgabewerte

Returns the sample bitrate as an integer

KTaglib_MPEG_AudioProperties::getLength
KTaglib_MPEG_AudioProperties::getVersion
KTaglib_MPEG_AudioProperties


Returns the version of a MPEG file

KTaglib_MPEG_AudioProperties::getSampleBitrate
KTaglib_MPEG_AudioProperties::isCopyrighted
KTaglib_MPEG_AudioProperties
PHP Manual

KTaglib_MPEG_AudioProperties::getVersion

(0.0.1)

KTaglib_MPEG_AudioProperties::getVersion — Returns the version of a MPEG file

Beschreibung

public int KTaglib_MPEG_AudioProperties::getVersion ( void )

Returns the version of the MPEG file header. The possible versions are defined in Tag_MPEG_Header (Version1, Version2, Version2.5).

Rückgabewerte

Returns the version

KTaglib_MPEG_AudioProperties::getSampleBitrate
KTaglib_MPEG_AudioProperties::isCopyrighted
KTaglib_MPEG_AudioProperties


Returns the copyright status of an MPEG file

KTaglib_MPEG_AudioProperties::getVersion
KTaglib_MPEG_AudioProperties::isOriginal
KTaglib_MPEG_AudioProperties
PHP Manual

KTaglib_MPEG_AudioProperties::isCopyrighted

(0.0.1)

KTaglib_MPEG_AudioProperties::isCopyrighted — Returns the copyright status of an MPEG file

Beschreibung

public bool KTaglib_MPEG_AudioProperties::isCopyrighted ( void )

Returns true if the MPEG file is copyrighted

Rückgabewerte

Returns true if the MPEG file is copyrighted

KTaglib_MPEG_AudioProperties::getVersion
KTaglib_MPEG_AudioProperties::isOriginal
KTaglib_MPEG_AudioProperties


Returns if the file is marked as the original file

KTaglib_MPEG_AudioProperties::isCopyrighted
KTaglib_MPEG_AudioProperties::isProtectionEnabled
KTaglib_MPEG_AudioProperties
PHP Manual

KTaglib_MPEG_AudioProperties::isOriginal

(0.0.1)

KTaglib_MPEG_AudioProperties::isOriginal — Returns if the file is marked as the original file

Beschreibung

public bool KTaglib_MPEG_AudioProperties::isOriginal ( void )

Returns true if the file is marked as the original file

Rückgabewerte

Returns true if the file is marked as the original file

KTaglib_MPEG_AudioProperties::isCopyrighted
KTaglib_MPEG_AudioProperties::isProtectionEnabled
KTaglib_MPEG_AudioProperties


Returns if protection mechanisms of an MPEG file are enabled

KTaglib_MPEG_AudioProperties::isOriginal
KTaglib_Tag
KTaglib_MPEG_AudioProperties
PHP Manual

KTaglib_MPEG_AudioProperties::isProtectionEnabled

(0.0.1)

KTaglib_MPEG_AudioProperties::isProtectionEnabled — Returns if protection mechanisms of an MPEG file are enabled

Beschreibung

public bool KTaglib_MPEG_AudioProperties::isProtectionEnabled ( void )

Returns true if protection mechanisms (like DRM) are enabled for this file

Rückgabewerte

Returns true if protection mechanisms (like DRM) are enabled for this file

KTaglib_MPEG_AudioProperties::isOriginal
KTaglib_Tag
KTaglib_MPEG_AudioProperties


The KTaglib_Tag class

(0.0.1)

Einführung

Base class for ID3v1 or ID3v2 tags

Class synopsis

KTaglib_Tag {
/* Methoden */
public string getAlbum ( void )
public string getArtist ( void )
public string getComment ( void )
public string getGenre ( void )
public string getTitle ( void )
public int getTrack ( void )
public int getYear ( void )
public bool isEmpty ( void )
}

Inhaltsverzeichnis

  • KTaglib_Tag::getAlbum — Returns the title string from a ID3 tag
  • KTaglib_Tag::getArtist — Returns the artist string from a ID3 tag
  • KTaglib_Tag::getComment — Returns the comment from a ID3 tag
  • KTaglib_Tag::getGenre — Returns the genre from a ID3 tag
  • KTaglib_Tag::getTitle — Returns the title string from a ID3 tag
  • KTaglib_Tag::getTrack — Returns the track number from a ID3 tag
  • KTaglib_Tag::getYear — Returns the year from a ID3 tag
  • KTaglib_Tag::isEmpty — Returns true if the tag is empty
KTaglib_MPEG_AudioProperties::isProtectionEnabled
KTaglib_Tag::getAlbum
KTaglib


Returns the title string from a ID3 tag

KTaglib_Tag
KTaglib_Tag::getArtist
KTaglib_Tag
PHP Manual

KTaglib_Tag::getAlbum

(0.0.1)

KTaglib_Tag::getAlbum — Returns the title string from a ID3 tag

Beschreibung

public string KTaglib_Tag::getAlbum ( void )

Returns the album string of an ID3 tag. This method is implemented in ID3v1 and ID3v2 tags.

Rückgabewerte

Returns the album string

KTaglib_Tag
KTaglib_Tag::getArtist
KTaglib_Tag


Returns the artist string from a ID3 tag

KTaglib_Tag::getAlbum
KTaglib_Tag::getComment
KTaglib_Tag
PHP Manual

KTaglib_Tag::getArtist

(0.0.1)

KTaglib_Tag::getArtist — Returns the artist string from a ID3 tag

Beschreibung

public string KTaglib_Tag::getArtist ( void )

Returns the artist string of an ID3 tag. This method is implemented in ID3v1 and ID3v2 tags.

Rückgabewerte

Returns the artist string

KTaglib_Tag::getAlbum
KTaglib_Tag::getComment
KTaglib_Tag


Returns the comment from a ID3 tag

KTaglib_Tag::getArtist
KTaglib_Tag::getGenre
KTaglib_Tag
PHP Manual

KTaglib_Tag::getComment

(0.0.1)

KTaglib_Tag::getComment — Returns the comment from a ID3 tag

Beschreibung

public string KTaglib_Tag::getComment ( void )

Returns the comment of an ID3 tag. This method is implemented in ID3v1 and ID3v2 tags.

Rückgabewerte

Returns the comment string

KTaglib_Tag::getArtist
KTaglib_Tag::getGenre
KTaglib_Tag


Returns the genre from a ID3 tag

KTaglib_Tag::getComment
KTaglib_Tag::getTitle
KTaglib_Tag
PHP Manual

KTaglib_Tag::getGenre

(0.0.1)

KTaglib_Tag::getGenre — Returns the genre from a ID3 tag

Beschreibung

public string KTaglib_Tag::getGenre ( void )

Returns the genre of an ID3 tag. This method is implemented in ID3v1 and ID3v2 tags.

Rückgabewerte

Returns the genre string

KTaglib_Tag::getComment
KTaglib_Tag::getTitle
KTaglib_Tag


Returns the title string from a ID3 tag

KTaglib_Tag::getGenre
KTaglib_Tag::getTrack
KTaglib_Tag
PHP Manual

KTaglib_Tag::getTitle

(0.0.1)

KTaglib_Tag::getTitle — Returns the title string from a ID3 tag

Beschreibung

public string KTaglib_Tag::getTitle ( void )

Returns the title string of an ID3 tag. This method is implemented in ID3v1 and ID3v2 tags.

Rückgabewerte

Returns the title string

KTaglib_Tag::getGenre
KTaglib_Tag::getTrack
KTaglib_Tag


Returns the track number from a ID3 tag

KTaglib_Tag::getTitle
KTaglib_Tag::getYear
KTaglib_Tag
PHP Manual

KTaglib_Tag::getTrack

(0.0.1)

KTaglib_Tag::getTrack — Returns the track number from a ID3 tag

Beschreibung

public int KTaglib_Tag::getTrack ( void )

Returns the track number of an ID3 tag. This method is implemented in ID3v1 and ID3v2 tags.

Rückgabewerte

Returns the track number as an integer

KTaglib_Tag::getTitle
KTaglib_Tag::getYear
KTaglib_Tag


Returns the year from a ID3 tag

KTaglib_Tag::getTrack
KTaglib_Tag::isEmpty
KTaglib_Tag
PHP Manual

KTaglib_Tag::getYear

(0.0.1)

KTaglib_Tag::getYear — Returns the year from a ID3 tag

Beschreibung

public int KTaglib_Tag::getYear ( void )

Returns the year of an ID3 tag. This method is implemented in ID3v1 and ID3v2 tags.

Rückgabewerte

Returns the year as an integer

KTaglib_Tag::getTrack
KTaglib_Tag::isEmpty
KTaglib_Tag


Returns true if the tag is empty

KTaglib_Tag::getYear
KTaglib_ID3v2_Tag
KTaglib_Tag
PHP Manual

KTaglib_Tag::isEmpty

(0.0.1)

KTaglib_Tag::isEmpty — Returns true if the tag is empty

Beschreibung

public bool KTaglib_Tag::isEmpty ( void )

Returns true if the tag exists, but is empty. This method is implemented in ID3v1 and ID3v2 tags.

Rückgabewerte

Returns true if the tag is empty, otherwise false.

KTaglib_Tag::getYear
KTaglib_ID3v2_Tag
KTaglib_Tag


The KTaglib_ID3v2_Tag class

(0.0.1)

Einführung

Represents and ID3v2 tag. It provides a list of ID3v2 frames and can be used to add and remove additional frames.

Class synopsis

extends KTaglib_Tag {
/* Methoden */
public bool addFrame ( KTaglib_ID3v2_Frame $frame )
public array getFrameList ( void )
/* Geerbte Methoden */
public string KTaglib_Tag::getAlbum ( void )
public string KTaglib_Tag::getArtist ( void )
public string KTaglib_Tag::getComment ( void )
public string KTaglib_Tag::getGenre ( void )
public string KTaglib_Tag::getTitle ( void )
public int KTaglib_Tag::getTrack ( void )
public int KTaglib_Tag::getYear ( void )
public bool KTaglib_Tag::isEmpty ( void )
}

Inhaltsverzeichnis

  • KTaglib_ID3v2_Tag::addFrame — Add a frame to the ID3v2 tag
  • KTaglib_ID3v2_Tag::getFrameList — Returns an array of ID3v2 frames, associated with the ID3v2 tag
KTaglib_Tag::isEmpty
KTaglib_ID3v2_Tag::addFrame
KTaglib


Add a frame to the ID3v2 tag

KTaglib_ID3v2_Tag
KTaglib_ID3v2_Tag::getFrameList
KTaglib_ID3v2_Tag
PHP Manual

KTaglib_ID3v2_Tag::addFrame

(0.0.1)

KTaglib_ID3v2_Tag::addFrame — Add a frame to the ID3v2 tag

Beschreibung

public bool KTaglib_ID3v2_Tag::addFrame ( KTaglib_ID3v2_Frame $frame )

Adds a frame to the ID3v2 tag. The frame must be a valid KTaglib_ID3v2_Frame object. To save the tag, the save function needs to be invoked.

Rückgabewerte

Returns true on success, otherwise false.

KTaglib_ID3v2_Tag
KTaglib_ID3v2_Tag::getFrameList
KTaglib_ID3v2_Tag


Returns an array of ID3v2 frames, associated with the ID3v2 tag

KTaglib_ID3v2_Tag::addFrame
KTaglib_ID3v2_Frame
KTaglib_ID3v2_Tag
PHP Manual

KTaglib_ID3v2_Tag::getFrameList

(0.0.1)

KTaglib_ID3v2_Tag::getFrameList — Returns an array of ID3v2 frames, associated with the ID3v2 tag

Beschreibung

public array KTaglib_ID3v2_Tag::getFrameList ( void )

Returns an array of ID3v2 frames, associated with the ID3v2 tag.

Rückgabewerte

Return an array of KTaglib_ID3v2_Frame objects

KTaglib_ID3v2_Tag::addFrame
KTaglib_ID3v2_Frame
KTaglib_ID3v2_Tag


The KTaglib_ID3v2_Frame class

(0.0.1)

Einführung

The base class for ID3v2 frames. ID3v2 tags are separated in various specialized frames. Some frames can exists multiple times.

Class synopsis

extends KTaglib_Tag {
/* Methoden */
public int getSize ( void )
public string __toString ( void )
/* Geerbte Methoden */
public string KTaglib_Tag::getAlbum ( void )
public string KTaglib_Tag::getArtist ( void )
public string KTaglib_Tag::getComment ( void )
public string KTaglib_Tag::getGenre ( void )
public string KTaglib_Tag::getTitle ( void )
public int KTaglib_Tag::getTrack ( void )
public int KTaglib_Tag::getYear ( void )
public bool KTaglib_Tag::isEmpty ( void )
}

Inhaltsverzeichnis

  • KTaglib_ID3v2_Frame::getSize — Returns the size of the frame in bytes
  • KTaglib_ID3v2_Frame::__toString — Returns a string representation of the frame
KTaglib_ID3v2_Tag::getFrameList
KTaglib_ID3v2_Frame::getSize
KTaglib


Returns the size of the frame in bytes

KTaglib_ID3v2_Frame
KTaglib_ID3v2_Frame::__toString
KTaglib_ID3v2_Frame
PHP Manual

KTaglib_ID3v2_Frame::getSize

(0.0.1)

KTaglib_ID3v2_Frame::getSize — Returns the size of the frame in bytes

Beschreibung

public int KTaglib_ID3v2_Frame::getSize ( void )

Returns the size of the frame in bytes. Please refer to id3.org to see what ID3v2 frames are and how they are defined.

Rückgabewerte

Returns the size of the frame in bytes

KTaglib_ID3v2_Frame
KTaglib_ID3v2_Frame::__toString
KTaglib_ID3v2_Frame


Returns a string representation of the frame

KTaglib_ID3v2_Frame::getSize
KTaglib_ID3v2_AttachedPictureFrame
KTaglib_ID3v2_Frame
PHP Manual

KTaglib_ID3v2_Frame::__toString

(0.0.1)

KTaglib_ID3v2_Frame::__toString — Returns a string representation of the frame

Beschreibung

public string KTaglib_ID3v2_Frame::__toString ( void )

Returns a string representation of the frame. This might be just the frame id, but might contain more information. Please see the ktaglib documentation for more information

Rückgabewerte

Returns a string representation of the frame.

KTaglib_ID3v2_Frame::getSize
KTaglib_ID3v2_AttachedPictureFrame
KTaglib_ID3v2_Frame


The KTaglib_ID3v2_AttachedPictureFrame class

(0.0.1)

Einführung

Represents an ID3v2 frame that can hold a picture.

Class synopsis

extends KTaglib_ID3v2_Frame {
/* Methoden */
public string getDescription ( void )
public string getMimeType ( void )
public int getType ( void )
public bool savePicture ( string $filename )
public string getMimeType ( string $type )
public void setPicture ( string $filename )
public void setType ( int $type )
/* Geerbte Methoden */
public int KTaglib_ID3v2_Frame::getSize ( void )
public string KTaglib_ID3v2_Frame::__toString ( void )
public string KTaglib_Tag::getAlbum ( void )
public string KTaglib_Tag::getArtist ( void )
public string KTaglib_Tag::getComment ( void )
public string KTaglib_Tag::getGenre ( void )
public string KTaglib_Tag::getTitle ( void )
public int KTaglib_Tag::getTrack ( void )
public int KTaglib_Tag::getYear ( void )
public bool KTaglib_Tag::isEmpty ( void )
}

Inhaltsverzeichnis

  • KTaglib_ID3v2_AttachedPictureFrame::getDescription — Returns a description for the picture in a picture frame
  • KTaglib_ID3v2_AttachedPictureFrame::getMimeType — Returns the mime type of the picture
  • KTaglib_ID3v2_AttachedPictureFrame::getType — Returns the type of the image
  • KTaglib_ID3v2_AttachedPictureFrame::savePicture — Saves the picture to a file
  • KTaglib_ID3v2_AttachedPictureFrame::setMimeType — Set's the mime type of the picture
  • KTaglib_ID3v2_AttachedPictureFrame::setPicture — Sets the frame picture to the given image
  • KTaglib_ID3v2_AttachedPictureFrame::setType — Set the type of the image
KTaglib_ID3v2_Frame::__toString
KTaglib_ID3v2_AttachedPictureFrame::getDescription
KTaglib


Returns a description for the picture in a picture frame

KTaglib_ID3v2_AttachedPictureFrame
KTaglib_ID3v2_AttachedPictureFrame::getMimeType
KTaglib_ID3v2_AttachedPictureFrame
PHP Manual

KTaglib_ID3v2_AttachedPictureFrame::getDescription

(0.0.1)

KTaglib_ID3v2_AttachedPictureFrame::getDescription — Returns a description for the picture in a picture frame

Beschreibung

public string KTaglib_ID3v2_AttachedPictureFrame::getDescription ( void )

Returns the attached description for a picture frame in an ID3v2.x frame.

Rückgabewerte

Returns a description for the picture in a picture frame

KTaglib_ID3v2_AttachedPictureFrame
KTaglib_ID3v2_AttachedPictureFrame::getMimeType
KTaglib_ID3v2_AttachedPictureFrame


Returns the mime type of the picture

KTaglib_ID3v2_AttachedPictureFrame::getDescription
KTaglib_ID3v2_AttachedPictureFrame::getType
KTaglib_ID3v2_AttachedPictureFrame
PHP Manual

KTaglib_ID3v2_AttachedPictureFrame::getMimeType

(0.2.0)

KTaglib_ID3v2_AttachedPictureFrame::getMimeType — Returns the mime type of the picture

Beschreibung

public string KTaglib_ID3v2_AttachedPictureFrame::getMimeType ( void )

Returns the mime type of the image represented by the attached picture frame.

Please notice that this method might return different types. While ID3v2.2 have a mime type that doesn't start with "image/", ID3v2.3 and v2.4 usually start with "image/". Therefore the method might return "image/png" for IDv2.3 frames and just "PNG" for ID3v2.2 frames.

Notice that even the frame is an attached picture, the mime type might not be set and therefore an empty string might be returned.

Rückgabewerte

Returns the mime type of the image represented by the attached picture frame.

KTaglib_ID3v2_AttachedPictureFrame::getDescription
KTaglib_ID3v2_AttachedPictureFrame::getType
KTaglib_ID3v2_AttachedPictureFrame


Returns the type of the image

KTaglib_ID3v2_AttachedPictureFrame::getMimeType
KTaglib_ID3v2_AttachedPictureFrame::savePicture
KTaglib_ID3v2_AttachedPictureFrame
PHP Manual

KTaglib_ID3v2_AttachedPictureFrame::getType

(0.2.0)

KTaglib_ID3v2_AttachedPictureFrame::getType — Returns the type of the image

Beschreibung

public int KTaglib_ID3v2_AttachedPictureFrame::getType ( void )

Returns the type of the image.

The ID3v2 specification allows an AttachedPictureFrame to set the type of an image. This can be e.g. FrontCover or FileIcon. Please refer to the KTaglib_ID3v2_AttachedPictureFrame class description for a list of available types.

Rückgabewerte

Returns the integer representation of the type.

KTaglib_ID3v2_AttachedPictureFrame::getMimeType
KTaglib_ID3v2_AttachedPictureFrame::savePicture
KTaglib_ID3v2_AttachedPictureFrame


Saves the picture to a file

KTaglib_ID3v2_AttachedPictureFrame::getType
KTaglib_ID3v2_AttachedPictureFrame::setMimeType
KTaglib_ID3v2_AttachedPictureFrame
PHP Manual

KTaglib_ID3v2_AttachedPictureFrame::savePicture

(0.0.1)

KTaglib_ID3v2_AttachedPictureFrame::savePicture — Saves the picture to a file

Beschreibung

public bool KTaglib_ID3v2_AttachedPictureFrame::savePicture ( string $filename )

Saves the attached picture to the given filename.

Rückgabewerte

Returns true on success, otherwise false

KTaglib_ID3v2_AttachedPictureFrame::getType
KTaglib_ID3v2_AttachedPictureFrame::setMimeType
KTaglib_ID3v2_AttachedPictureFrame


Set's the mime type of the picture

KTaglib_ID3v2_AttachedPictureFrame::savePicture
KTaglib_ID3v2_AttachedPictureFrame::setPicture
KTaglib_ID3v2_AttachedPictureFrame
PHP Manual

KTaglib_ID3v2_AttachedPictureFrame::setMimeType

(0.2.0)

KTaglib_ID3v2_AttachedPictureFrame::setMimeType — Set's the mime type of the picture

Beschreibung

public string KTaglib_ID3v2_AttachedPictureFrame::getMimeType ( string $type )

Sets the mime type of the image. This should in most cases be "image/png" or "image/jpeg".

KTaglib_ID3v2_AttachedPictureFrame::savePicture
KTaglib_ID3v2_AttachedPictureFrame::setPicture
KTaglib_ID3v2_AttachedPictureFrame


Sets the frame picture to the given image

KTaglib_ID3v2_AttachedPictureFrame::setMimeType
KTaglib_ID3v2_AttachedPictureFrame::setType
KTaglib_ID3v2_AttachedPictureFrame
PHP Manual

KTaglib_ID3v2_AttachedPictureFrame::setPicture

(0.0.1)

KTaglib_ID3v2_AttachedPictureFrame::setPicture — Sets the frame picture to the given image

Beschreibung

public void KTaglib_ID3v2_AttachedPictureFrame::setPicture ( string $filename )

Sets the picture to the give image. The image is loaded from the given filename. Please note that the picture is not saved unless you call the save method of the corresponding file object.

Rückgabewerte

Returns true on success, otherwise false

KTaglib_ID3v2_AttachedPictureFrame::setMimeType
KTaglib_ID3v2_AttachedPictureFrame::setType
KTaglib_ID3v2_AttachedPictureFrame


Set the type of the image

KTaglib_ID3v2_AttachedPictureFrame::setPicture
oggvorbis
KTaglib_ID3v2_AttachedPictureFrame
PHP Manual

KTaglib_ID3v2_AttachedPictureFrame::setType

(0.2.0)

KTaglib_ID3v2_AttachedPictureFrame::setType — Set the type of the image

Beschreibung

public void KTaglib_ID3v2_AttachedPictureFrame::setType ( int $type )

Sets the type of the image. This can be e.g. FrontCover or FileIcon. Please refer to the KTaglib_ID3v2_AttachedPictureFrame class description for a list of available types and their constant mappings.

KTaglib_ID3v2_AttachedPictureFrame::setPicture
oggvorbis
KTaglib_ID3v2_AttachedPictureFrame


OGG/Vorbis

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Context options
  • Beispiele
    • Examples on using the ogg:// wrapper.
KTaglib_ID3v2_AttachedPictureFrame::setType
Einführung
Manipulation von Audioformaten


Einführung

The OGG/Vorbis file format, as defined by » http://www.vorbis.com/, is a scheme for compressing audio streams by multiple factors with a minimum of quality loss. This extension adds Ogg Vorbis support to PHP's URL Wrappers. When used in read mode, compressed OGG/Vorbis data is expanded to raw PCM audio in one of six PCM encoding formats listed in the predefined constants section.

oggvorbis
Installation/Konfiguration
oggvorbis


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
oggvorbis


Anforderungen

This extension requires PHP >= 4.3.0, » libogg >= 1.0, and » libvorbis >= 1.0.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/oggvorbis

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

OGG/Vorbis supports PCM encodings in the following formats
Constant | Definition
OGGVORBIS_PCM_U8 | Unsigned 8-bit PCM.
OGGVORBIS_PCM_S8 | Signed 8-bit PCM.
OGGVORBIS_PCM_U16_LE | Unsigned 16-bit PCM. Little Endian byte order.
OGGVORBIS_PCM_U16_BE | Unsigned 16-bit PCM. Big Endian byte order.
OGGVORBIS_PCM_S16_LE | Signed 16-bit PCM. Little Endian byte order.
OGGVORBIS_PCM_S16_BE | Signed 16-bit PCM. Big Endian byte order.
Ressource-Typen
Context options
oggvorbis


Context options

OGG/Vorbis tuning options
Option | Definition | Relevance | Default
pcm_mode | PCM byte encoding used. See constants below. | Read / Write | OGGVORBIS_PCM_S16_LE
rate | PCM Sampling rate. Measured in Hz. | Write only | 44100
bitrate | Vorbis Average Bitrate Encoding / Variable Bitrate Encoding. Measured in bps (ABR) or Quality level (VBR: 0.0 to 1.0). 128000 ABR is rough equal to 0.4 VBR. | Write only | 128000
channels | Number of PCM channels. 1 == Mono, 2 == Stereo. | Write only | 2
serialno | Serial Number of stream within file. Must be unique within file. Because of the potential to select a duplicate serial number within a chained file, make efforts to manually assign unique numbers when encoding. | Write only | Random
comments | Associative array of file comments. Will be translated to strtoupper($name) . "=$value". Note: This context option is not available in oggvorbis-0.1 | Write only | array('ENCODER' => 'PHP/OggVorbis, http://pear.php.net/oggvorbis')
Vordefinierte Konstanten
Beispiele
oggvorbis


Beispiele

Inhaltsverzeichnis

  • Examples on using the ogg:// wrapper.
Context options
Examples on using the ogg:// wrapper.
oggvorbis


Examples on using the ogg:// wrapper.

Beispiel #1 Reading an OGG/Vorbis file

<?php
dl("oggvorbis.so");

/* By default, ogg:// will decode to Signed 16-bit Little Endian */
$fp = fopen('ogg://myaudio.ogg', 'r');

/* Collect some information about the file. */
$metadata = stream_get_meta_data($fp);

/* Inspect the first song (usually the only song,
   but OGG/Vorbis files may be chained) */
$songdata = $metadata['wrapper_data'][0];

echo "OGG/Vorbis file encoded by: {$songdata['vendor']}\n.";
echo "  {$songdata['channels']} channels of {$songdata['rate']}Hz sampling encoded at {$songdata['bitrate_nominal']}bps.\n";
foreach($songdata['comments'] as $comment) {
    echo "  $comment\n";
}

while ($audio_data = fread($fp, 8192)) {
  /* Do something with the PCM audio we're extracting from the OGG.
     Copying to /dev/dsp is a good target on linux systems,
     just remember to setup the device for your sampling mode first. */
}

fclose($fp);

?>

Beispiel #2 Encode an audio file to OGG/Vorbis

<?php
dl('oggvorbis.so');

$context = stream_context_create(array('ogg'=>array(
             'pcm_mode' => OGGVORBIS_PCM_S8,  /* Signed 8bit audio */
             'rate' => 44100,                 /* 44kHz CD quality */
             'bitrate' => 0.5,                /* Midquality VBR */
             'channels' => 1,                 /* Mono */
             'serialno' => 12345)));          /* Unique within our stream */

/* Open file for appending.  This will "chain" a second OGG stream at the end of the first. */
$ogg = fopen('ogg://mysong.ogg', 'a', false, $context);

$pcm = fopen('mysample.pcm', 'r');

/* Compress the raw PCM audio from mysample.pcm into mysong.ogg */
stream_copy_to_stream($pcm, $ogg);

fclose($pcm);
fclose($ogg);
?>

Beispiele
OpenAL
Beispiele


OpenAL Audio Bindings

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • OpenAL Funktionen
    • openal_buffer_create — Generate OpenAL buffer
    • openal_buffer_data — Load a buffer with data
    • openal_buffer_destroy — Destroys an OpenAL buffer
    • openal_buffer_get — Retrieve an OpenAL buffer property
    • openal_buffer_loadwav — Load a .wav file into a buffer
    • openal_context_create — Create an audio processing context
    • openal_context_current — Make the specified context current
    • openal_context_destroy — Destroys a context
    • openal_context_process — Process the specified context
    • openal_context_suspend — Suspend the specified context
    • openal_device_close — Close an OpenAL device
    • openal_device_open — Initialize the OpenAL audio layer
    • openal_listener_get — Retrieve a listener property
    • openal_listener_set — Set a listener property
    • openal_source_create — Generate a source resource
    • openal_source_destroy — Destroy a source resource
    • openal_source_get — Retrieve an OpenAL source property
    • openal_source_pause — Pause the source
    • openal_source_play — Start playing the source
    • openal_source_rewind — Rewind the source
    • openal_source_set — Set source property
    • openal_source_stop — Stop playing the source
    • openal_stream — Begin streaming on a source
Examples on using the ogg:// wrapper.
Einführung
Manipulation von Audioformaten


Einführung

Platform independent audio bindings. Requires the » OpenAL library.

OpenAL
Installation/Konfiguration
OpenAL


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
OpenAL


Installation

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/openal.

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Ressource-Typen

This extension defines four resource types:
Open AL(Device) - Returned by openal_device_open(),
Open AL(Context) - Returned by openal_context_create(),
Open AL(Buffer) - Returned by openal_buffer_create(),
and Open AL(Source) - Returned by openal_source_create().

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

ALC_FREQUENCY (integer)
Context Attribute
ALC_REFRESH (integer)
Context Attribute
ALC_SYNC (integer)
Context Attribute
AL_FREQUENCY (integer)
Buffer Setting
AL_BITS (integer)
Buffer Setting
AL_CHANNELS (integer)
Buffer Setting
AL_SIZE (integer)
Buffer Setting
AL_BUFFER (integer)
Source/Listener Setting (Integer)
AL_SOURCE_RELATIVE (integer)
Source/Listener Setting (Integer)
AL_SOURCE_STATE (integer)
Source/Listener Setting (Integer)
AL_PITCH (integer)
Source/Listener Setting (Float)
AL_GAIN (integer)
Source/Listener Setting (Float)
AL_MIN_GAIN (integer)
Source/Listener Setting (Float)
AL_MAX_GAIN (integer)
Source/Listener Setting (Float)
AL_MAX_DISTANCE (integer)
Source/Listener Setting (Float)
AL_ROLLOFF_FACTOR (integer)
Source/Listener Setting (Float)
AL_CONE_OUTER_GAIN (integer)
Source/Listener Setting (Float)
AL_CONE_INNER_ANGLE (integer)
Source/Listener Setting (Float)
AL_CONE_OUTER_ANGLE (integer)
Source/Listener Setting (Float)
AL_REFERENCE_DISTANCE (integer)
Source/Listener Setting (Float)
AL_POSITION (integer)
Source/Listener Setting (Float Vector)
AL_VELOCITY (integer)
Source/Listener Setting (Float Vector)
AL_DIRECTION (integer)
Source/Listener Setting (Float Vector)
AL_ORIENTATION (integer)
Source/Listener Setting (Float Vector)
AL_FORMAT_MONO8 (integer)
PCM Format
AL_FORMAT_MONO16 (integer)
PCM Format
AL_FORMAT_STEREO8 (integer)
PCM Format
AL_FORMAT_STEREO16 (integer)
PCM Format
AL_INITIAL (integer)
Source State
AL_PLAYING (integer)
Source State
AL_PAUSED (integer)
Source State
AL_STOPPED (integer)
Source State
AL_LOOPING (integer)
Source State
AL_TRUE (integer)
Boolean value recognized by OpenAL
AL_FALSE (integer)
Boolean value recognized by OpenAL
Ressource-Typen
OpenAL Funktionen
OpenAL


OpenAL Funktionen

Inhaltsverzeichnis

  • openal_buffer_create — Generate OpenAL buffer
  • openal_buffer_data — Load a buffer with data
  • openal_buffer_destroy — Destroys an OpenAL buffer
  • openal_buffer_get — Retrieve an OpenAL buffer property
  • openal_buffer_loadwav — Load a .wav file into a buffer
  • openal_context_create — Create an audio processing context
  • openal_context_current — Make the specified context current
  • openal_context_destroy — Destroys a context
  • openal_context_process — Process the specified context
  • openal_context_suspend — Suspend the specified context
  • openal_device_close — Close an OpenAL device
  • openal_device_open — Initialize the OpenAL audio layer
  • openal_listener_get — Retrieve a listener property
  • openal_listener_set — Set a listener property
  • openal_source_create — Generate a source resource
  • openal_source_destroy — Destroy a source resource
  • openal_source_get — Retrieve an OpenAL source property
  • openal_source_pause — Pause the source
  • openal_source_play — Start playing the source
  • openal_source_rewind — Rewind the source
  • openal_source_set — Set source property
  • openal_source_stop — Stop playing the source
  • openal_stream — Begin streaming on a source
Vordefinierte Konstanten
openal_buffer_create
OpenAL


Generate OpenAL buffer

OpenAL Funktionen
openal_buffer_data
OpenAL Funktionen
PHP Manual

openal_buffer_create

(PECL openal >= 0.1.0)

openal_buffer_create — Generate OpenAL buffer

Beschreibung

resource openal_buffer_create ( void )

Rückgabewerte

Returns an Open AL(Buffer) resource on success or FALSE on failure.

Siehe auch

  • openal_buffer_loadwav() - Load a .wav file into a buffer
  • openal_buffer_data() - Load a buffer with data

OpenAL Funktionen
openal_buffer_data
OpenAL Funktionen


Load a buffer with data

openal_buffer_create
openal_buffer_destroy
OpenAL Funktionen
PHP Manual

openal_buffer_data

(PECL openal >= 0.1.0)

openal_buffer_data — Load a buffer with data

Beschreibung

bool openal_buffer_data ( resource $buffer , int $format , string $data , int $freq )

Parameter-Liste

buffer

An Open AL(Buffer) resource (previously created by openal_buffer_create()).

format

Format of data, one of: AL_FORMAT_MONO8, AL_FORMAT_MONO16, AL_FORMAT_STEREO8 und AL_FORMAT_STEREO16

data

Block of binary audio data in the format and freq specified.

freq

Frequency of data given in Hz.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • openal_buffer_loadwav() - Load a .wav file into a buffer
  • openal_stream() - Begin streaming on a source

openal_buffer_create
openal_buffer_destroy
OpenAL Funktionen


Destroys an OpenAL buffer

openal_buffer_data
openal_buffer_get
OpenAL Funktionen
PHP Manual

openal_buffer_destroy

(PECL openal >= 0.1.0)

openal_buffer_destroy — Destroys an OpenAL buffer

Beschreibung

bool openal_buffer_destroy ( resource $buffer )

Parameter-Liste

buffer

An Open AL(Buffer) resource (previously created by openal_buffer_create()).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • openal_buffer_create() - Generate OpenAL buffer

openal_buffer_data
openal_buffer_get
OpenAL Funktionen


Retrieve an OpenAL buffer property

openal_buffer_destroy
openal_buffer_loadwav
OpenAL Funktionen
PHP Manual

openal_buffer_get

(PECL openal >= 0.1.0)

openal_buffer_get — Retrieve an OpenAL buffer property

Beschreibung

int openal_buffer_get ( resource $buffer , int $property )

Parameter-Liste

buffer

An Open AL(Buffer) resource (previously created by openal_buffer_create()).

property

Specific property, one of: AL_FREQUENCY, AL_BITS, AL_CHANNELS und AL_SIZE.

Rückgabewerte

Returns an integer value appropriate to the property requestedIm Fehlerfall wird FALSE zurückgegeben..

Siehe auch

  • openal_buffer_create() - Generate OpenAL buffer

openal_buffer_destroy
openal_buffer_loadwav
OpenAL Funktionen


Load a .wav file into a buffer

openal_buffer_get
openal_context_create
OpenAL Funktionen
PHP Manual

openal_buffer_loadwav

(PECL openal >= 0.1.0)

openal_buffer_loadwav — Load a .wav file into a buffer

Beschreibung

bool openal_buffer_loadwav ( resource $buffer , string $wavfile )

Parameter-Liste

buffer

An Open AL(Buffer) resource (previously created by openal_buffer_create()).

wavfile

Path to .wav file on local file system.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • openal_buffer_data() - Load a buffer with data
  • openal_stream() - Begin streaming on a source

openal_buffer_get
openal_context_create
OpenAL Funktionen


Create an audio processing context

openal_buffer_loadwav
openal_context_current
OpenAL Funktionen
PHP Manual

openal_context_create

(PECL openal >= 0.1.0)

openal_context_create — Create an audio processing context

Beschreibung

resource openal_context_create ( resource $device )

Parameter-Liste

device

An Open AL(Device) resource (previously created by openal_device_open()).

Rückgabewerte

Returns an Open AL(Context) resource on success or FALSE on failure.

Siehe auch

  • openal_device_open() - Initialize the OpenAL audio layer
  • openal_context_destroy() - Destroys a context

openal_buffer_loadwav
openal_context_current
OpenAL Funktionen


Make the specified context current

openal_context_create
openal_context_destroy
OpenAL Funktionen
PHP Manual

openal_context_current

(PECL openal >= 0.1.0)

openal_context_current — Make the specified context current

Beschreibung

bool openal_context_current ( resource $context )

Parameter-Liste

context

An Open AL(Context) resource (previously created by openal_context_create()).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • openal_context_create() - Create an audio processing context

openal_context_create
openal_context_destroy
OpenAL Funktionen


Destroys a context

openal_context_current
openal_context_process
OpenAL Funktionen
PHP Manual

openal_context_destroy

(PECL openal >= 0.1.0)

openal_context_destroy — Destroys a context

Beschreibung

bool openal_context_destroy ( resource $context )

Parameter-Liste

context

An Open AL(Context) resource (previously created by openal_context_create()).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • openal_context_create() - Create an audio processing context

openal_context_current
openal_context_process
OpenAL Funktionen


Process the specified context

openal_context_destroy
openal_context_suspend
OpenAL Funktionen
PHP Manual

openal_context_process

(PECL openal >= 0.1.0)

openal_context_process — Process the specified context

Beschreibung

bool openal_context_process ( resource $context )

Parameter-Liste

context

An Open AL(Context) resource (previously created by openal_context_create()).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • openal_context_create() - Create an audio processing context
  • openal_context_current() - Make the specified context current
  • openal_context_suspend() - Suspend the specified context

openal_context_destroy
openal_context_suspend
OpenAL Funktionen


Suspend the specified context

openal_context_process
openal_device_close
OpenAL Funktionen
PHP Manual

openal_context_suspend

(PECL openal >= 0.1.0)

openal_context_suspend — Suspend the specified context

Beschreibung

bool openal_context_suspend ( resource $context )

Parameter-Liste

context

An Open AL(Context) resource (previously created by openal_context_create()).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • openal_context_create() - Create an audio processing context
  • openal_context_current() - Make the specified context current
  • openal_context_process() - Process the specified context

openal_context_process
openal_device_close
OpenAL Funktionen


Close an OpenAL device

openal_context_suspend
openal_device_open
OpenAL Funktionen
PHP Manual

openal_device_close

(PECL openal >= 0.1.0)

openal_device_close — Close an OpenAL device

Beschreibung

bool openal_device_close ( resource $device )

Parameter-Liste

device

An Open AL(Device) resource (previously created by openal_device_open()) to be closed.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • openal_device_open() - Initialize the OpenAL audio layer

openal_context_suspend
openal_device_open
OpenAL Funktionen


Initialize the OpenAL audio layer

openal_device_close
openal_listener_get
OpenAL Funktionen
PHP Manual

openal_device_open

(PECL openal >= 0.1.0)

openal_device_open — Initialize the OpenAL audio layer

Beschreibung

resource openal_device_open ([ string $device_desc ] )

Parameter-Liste

device_desc

Open an audio device optionally specified by device_desc. If device_desc is not specified the first available audio device will be used.

Rückgabewerte

Returns an Open AL(Device) resource on success or FALSE on failure.

Siehe auch

  • openal_device_close() - Close an OpenAL device
  • openal_context_create() - Create an audio processing context

openal_device_close
openal_listener_get
OpenAL Funktionen


Retrieve a listener property

openal_device_open
openal_listener_set
OpenAL Funktionen
PHP Manual

openal_listener_get

(PECL openal >= 0.1.0)

openal_listener_get — Retrieve a listener property

Beschreibung

mixed openal_listener_get ( int $property )

Parameter-Liste

property

Property to retrieve, one of:
AL_GAIN (float),
AL_POSITION (array(float,float,float)),
AL_VELOCITY (array(float,float,float)) und
AL_ORIENTATION (array(float,float,float)).

Rückgabewerte

Returns a float or array of floats (as appropriate)Im Fehlerfall wird FALSE zurückgegeben..

Siehe auch

  • openal_listener_set() - Set a listener property

openal_device_open
openal_listener_set
OpenAL Funktionen


Set a listener property

openal_listener_get
openal_source_create
OpenAL Funktionen
PHP Manual

openal_listener_set

(PECL openal >= 0.1.0)

openal_listener_set — Set a listener property

Beschreibung

bool openal_listener_set ( int $property , mixed $setting )

Parameter-Liste

property

Property to set, one of:
AL_GAIN (float),
AL_POSITION (array(float,float,float)),
AL_VELOCITY (array(float,float,float)) und
AL_ORIENTATION (array(float,float,float)).

setting

Value to set, either float, or an array of floats as appropriate.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • openal_listener_get() - Retrieve a listener property

openal_listener_get
openal_source_create
OpenAL Funktionen


Generate a source resource

openal_listener_set
openal_source_destroy
OpenAL Funktionen
PHP Manual

openal_source_create

(PECL openal >= 0.1.0)

openal_source_create — Generate a source resource

Beschreibung

resource openal_source_create ( void )

Rückgabewerte

Returns an Open AL(Source) resource on success or FALSE on failure.

Siehe auch

  • openal_source_set() - Set source property
  • openal_source_play() - Start playing the source
  • openal_source_destroy() - Destroy a source resource

openal_listener_set
openal_source_destroy
OpenAL Funktionen


Destroy a source resource

openal_source_create
openal_source_get
OpenAL Funktionen
PHP Manual

openal_source_destroy

(PECL openal >= 0.1.0)

openal_source_destroy — Destroy a source resource

Beschreibung

bool openal_source_destroy ( resource $source )

Parameter-Liste

source

An Open AL(Source) resource (previously created by openal_source_create()).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • openal_source_create() - Generate a source resource

openal_source_create
openal_source_get
OpenAL Funktionen


Retrieve an OpenAL source property

openal_source_destroy
openal_source_pause
OpenAL Funktionen
PHP Manual

openal_source_get

(PECL openal >= 0.1.0)

openal_source_get — Retrieve an OpenAL source property

Beschreibung

mixed openal_source_get ( resource $source , int $property )

Parameter-Liste

source

An Open AL(Source) resource (previously created by openal_source_create()).

property

Property to get, one of: AL_SOURCE_RELATIVE (int), AL_SOURCE_STATE (int), AL_PITCH (float), AL_GAIN (float), AL_MIN_GAIN (float), AL_MAX_GAIN (float), AL_MAX_DISTANCE (float), AL_ROLLOFF_FACTOR (float), AL_CONE_OUTER_GAIN (float), AL_CONE_INNER_ANGLE (float), AL_CONE_OUTER_ANGLE (float), AL_REFERENCE_DISTANCE (float), AL_POSITION (array(float,float,float)), AL_VELOCITY (array(float,float,float)), AL_DIRECTION (array(float,float,float)).

Rückgabewerte

Returns the type associated with the property being retrieved Im Fehlerfall wird FALSE zurückgegeben..

Siehe auch

  • openal_source_create() - Generate a source resource
  • openal_source_set() - Set source property
  • openal_source_play() - Start playing the source

openal_source_destroy
openal_source_pause
OpenAL Funktionen


Pause the source

openal_source_get
openal_source_play
OpenAL Funktionen
PHP Manual

openal_source_pause

(PECL openal >= 0.1.0)

openal_source_pause — Pause the source

Beschreibung

bool openal_source_pause ( resource $source )

Parameter-Liste

source

An Open AL(Source) resource (previously created by openal_source_create()).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • openal_source_stop() - Stop playing the source
  • openal_source_play() - Start playing the source
  • openal_source_rewind() - Rewind the source

openal_source_get
openal_source_play
OpenAL Funktionen


Start playing the source

openal_source_pause
openal_source_rewind
OpenAL Funktionen
PHP Manual

openal_source_play

(PECL openal >= 0.1.0)

openal_source_play — Start playing the source

Beschreibung

bool openal_source_play ( resource $source )

Parameter-Liste

source

An Open AL(Source) resource (previously created by openal_source_create()).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • openal_source_stop() - Stop playing the source
  • openal_source_pause() - Pause the source
  • openal_source_rewind() - Rewind the source

openal_source_pause
openal_source_rewind
OpenAL Funktionen


Rewind the source

openal_source_play
openal_source_set
OpenAL Funktionen
PHP Manual

openal_source_rewind

(PECL openal >= 0.1.0)

openal_source_rewind — Rewind the source

Beschreibung

bool openal_source_rewind ( resource $source )

Parameter-Liste

source

An Open AL(Source) resource (previously created by openal_source_create()).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • openal_source_stop() - Stop playing the source
  • openal_source_pause() - Pause the source
  • openal_source_play() - Start playing the source

openal_source_play
openal_source_set
OpenAL Funktionen


Set source property

openal_source_rewind
openal_source_stop
OpenAL Funktionen
PHP Manual

openal_source_set

(PECL openal >= 0.1.0)

openal_source_set — Set source property

Beschreibung

bool openal_source_set ( resource $source , int $property , mixed $setting )

Parameter-Liste

source

An Open AL(Source) resource (previously created by openal_source_create()).

property

Property to set, one of: AL_BUFFER (OpenAL(Source)), AL_LOOPING (bool), AL_SOURCE_RELATIVE (int), AL_SOURCE_STATE (int), AL_PITCH (float), AL_GAIN (float), AL_MIN_GAIN (float), AL_MAX_GAIN (float), AL_MAX_DISTANCE (float), AL_ROLLOFF_FACTOR (float), AL_CONE_OUTER_GAIN (float), AL_CONE_INNER_ANGLE (float), AL_CONE_OUTER_ANGLE (float), AL_REFERENCE_DISTANCE (float), AL_POSITION (array(float,float,float)), AL_VELOCITY (array(float,float,float)), AL_DIRECTION (array(float,float,float)).

setting

Value to assign to specified property. Refer to the description of property for a description of the value(s) expected.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • openal_source_create() - Generate a source resource
  • openal_source_get() - Retrieve an OpenAL source property
  • openal_source_play() - Start playing the source

openal_source_rewind
openal_source_stop
OpenAL Funktionen


Stop playing the source

openal_source_set
openal_stream
OpenAL Funktionen
PHP Manual

openal_source_stop

(PECL openal >= 0.1.0)

openal_source_stop — Stop playing the source

Beschreibung

bool openal_source_stop ( resource $source )

Parameter-Liste

source

An Open AL(Source) resource (previously created by openal_source_create()).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • openal_source_play() - Start playing the source
  • openal_source_pause() - Pause the source
  • openal_source_rewind() - Rewind the source

openal_source_set
openal_stream
OpenAL Funktionen


Begin streaming on a source

openal_source_stop
Authentifizierungsdienste
OpenAL Funktionen
PHP Manual

openal_stream

(PECL openal >= 0.1.0)

openal_stream — Begin streaming on a source

Beschreibung

resource openal_stream ( resource $source , int $format , int $rate )

Parameter-Liste

source

An Open AL(Source) resource (previously created by openal_source_create()).

format

Format of data, one of: AL_FORMAT_MONO8, AL_FORMAT_MONO16, AL_FORMAT_STEREO8 und AL_FORMAT_STEREO16

rate

Frequency of data to stream given in Hz.

Rückgabewerte

Returns a stream resource on successIm Fehlerfall wird FALSE zurückgegeben..

Siehe auch

  • openal_source_create() - Generate a source resource
  • fwrite() - Binär-sicheres Dateischreiben

openal_source_stop
Authentifizierungsdienste
OpenAL Funktionen


Authentifizierungsdienste

  • KADM5 — Kerberos V
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • KADM5 Funktionen
  • Radius
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Radius Funktionen
openal_stream
KADM5
Funktionsreferenz


Kerberos V

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
    • Constants for Attribute Flags
    • Constants for Options
  • Beispiele
    • Basic usage
  • KADM5 Funktionen
    • kadm5_chpass_principal — Changes the principal's password
    • kadm5_create_principal — Creates a kerberos principal with the given parameters
    • kadm5_delete_principal — Deletes a kerberos principal
    • kadm5_destroy — Closes the connection to the admin server and releases all related resources
    • kadm5_flush — Flush all changes to the Kerberos database
    • kadm5_get_policies — Gets all policies from the Kerberos database
    • kadm5_get_principal — Gets the principal's entries from the Kerberos database
    • kadm5_get_principals — Gets all principals from the Kerberos database
    • kadm5_init_with_password — Opens a connection to the KADM5 library
    • kadm5_modify_principal — Modifies a kerberos principal with the given parameters
Authentifizierungsdienste
Einführung
Authentifizierungsdienste


Einführung

These package allows you to access Kerberos V administration servers. You can create, modify, and delete Kerberos V principals and policies.

More information about Kerberos can be found at » http://web.mit.edu/kerberos/www/.

Documentation for Kerberos and KADM5 can be found at » http://web.mit.edu/kerberos/www/krb5-1.2/krb5-1.2.8/doc/admin_toc.html.

KADM5
Installation/Konfiguration
KADM5


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
KADM5


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/kadm5.

Hinweis:

If this option is used without specifying the path to KADM5, PHP will use the built-in KADM5 client libraries. Users who run other applications that use KADM5 (for example, running PHP 4 and PHP 5 as concurrent apache modules, or auth-kadm5) should always specify the path to KADM5: --with-kadm5=/path/to/kadm5. This will force PHP to use the client libraries installed by KADM5, avoiding any conflicts.

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Ressource-Typen

This extension defines a KADM5 handle returned by kadm5_init_with_password().

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Inhaltsverzeichnis

  • Constants for Attribute Flags
  • Constants for Options

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

Ressource-Typen
Constants for Attribute Flags
KADM5


Constants for Attribute Flags

The functions kadm5_create_principal(),
kadm5_modify_principal(), and
kadm5_modify_principal() allow to specify
special attributes using a bitfield. The symbols are defined below:

Attributes for use by the KDC
constant
KRB5_KDB_DISALLOW_POSTDATED
KRB5_KDB_DISALLOW_FORWARDABLE
KRB5_KDB_DISALLOW_TGT_BASED
KRB5_KDB_DISALLOW_RENEWABLE
KRB5_KDB_DISALLOW_PROXIABLE
KRB5_KDB_DISALLOW_DUP_SKEY
KRB5_KDB_DISALLOW_ALL_TIX
KRB5_KDB_REQUIRES_PRE_AUTH
KRB5_KDB_REQUIRES_HW_AUTH
KRB5_KDB_REQUIRES_PWCHANGE
KRB5_KDB_DISALLOW_SVR
KRB5_KDB_PWCHANGE_SERVER
KRB5_KDB_SUPPORT_DESMD5
KRB5_KDB_NEW_PRINC

Vordefinierte Konstanten
Constants for Options
Vordefinierte Konstanten


Constants for Options

The functions kadm5_create_principal(),
kadm5_modify_principal(), and
kadm5_get_principal() allow to specify or return
principal's options as an associative array. The keys for the associative
array are defined as string constants below:

Options for creating/modifying/retrieving principals
constant | funcdef | description
KADM5_PRINCIPAL | long | The expire time of the princial as a Kerberos timestamp.
KADM5_PRINC_EXPIRE_TIME | long | The expire time of the princial as a Kerberos timestamp.
KADM5_LAST_PW_CHANGE | long | The time this principal's password was last changed.
KADM5_PW_EXPIRATION | long | The expire time of the principal's current password, as a Kerberos timestamp.
KADM5_MAX_LIFE | long | The maximum lifetime of any Kerberos ticket issued to this principal.
KADM5_MAX_RLIFE | long | The maximum renewable lifetime of any Kerberos ticket issued to or for this principal.
KADM5_MOD_NAME | string | The name of the Kerberos principal that most recently modified this principal.
KADM5_MOD_TIME | long | The time this principal was last modified, as a Kerberos timestamp.
KADM5_KVNO | long | The version of the principal's current key.
KADM5_POLICY | string | The name of the policy controlling this principal.
KADM5_CLEARPOLICY | long | Standard procedure is to assign the 'default' policy to new principals. KADM5_CLEARPOLICY suppresses this behaviour.
KADM5_LAST_SUCCESS | long | The KDC time of the last successfull AS_REQ.
KADM5_LAST_FAILED | long | The KDC time of the last failed AS_REQ.
KADM5_FAIL_AUTH_COUNT | long | The number of consecutive failed AS_REQs.
KADM5_RANDKEY | long | Generates a random password for the principal. The parameter password will be ignored.
KADM5_ATTRIBUTES | long | A bitfield of attributes for use by the KDC.

Constants for Attribute Flags
Beispiele
Vordefinierte Konstanten


Beispiele

Inhaltsverzeichnis

  • Basic usage
Constants for Options
Basic usage
KADM5


Basic usage

This simple example shows how to connect, query, print resulting principals and disconnect from a KADM5 database.

Beispiel #1 KADM5 extension overview example

<?php

  $handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

  print "<h1>get_principals</h1>\n";
  $principals = kadm5_get_principals($handle);
  for( $i=0; $i<count($principals); $i++)
      print "$principals[$i]<br>\n";

  print "<h1>get_policies</h1>\n";
  $policies = kadm5_get_policies($handle);
  for( $i=0; $i<count($policies); $i++)
      print "$policies[$i]<br>\n";

  print "<h1>get_principal burbach@GONICUS.LOCAL</h1>\n";

  $options = kadm5_get_principal($handle, "burbach@GONICUS.LOCAL" );
  $keys = array_keys($options);
  for( $i=0; $i<count($keys); $i++) {
    $value = $options[$keys[$i]];
    print "$keys[$i]: $value<br>\n";
  }

  $options = array(KADM5_PRINC_EXPIRE_TIME => 0);
  kadm5_modify_principal($handle, "burbach@GONICUS.LOCAL", $options);

  kadm5_destroy($handle);
?>

Beispiele
KADM5 Funktionen
Beispiele


KADM5 Funktionen

Inhaltsverzeichnis

  • kadm5_chpass_principal — Changes the principal's password
  • kadm5_create_principal — Creates a kerberos principal with the given parameters
  • kadm5_delete_principal — Deletes a kerberos principal
  • kadm5_destroy — Closes the connection to the admin server and releases all related resources
  • kadm5_flush — Flush all changes to the Kerberos database
  • kadm5_get_policies — Gets all policies from the Kerberos database
  • kadm5_get_principal — Gets the principal's entries from the Kerberos database
  • kadm5_get_principals — Gets all principals from the Kerberos database
  • kadm5_init_with_password — Opens a connection to the KADM5 library
  • kadm5_modify_principal — Modifies a kerberos principal with the given parameters
Basic usage
kadm5_chpass_principal
KADM5


Changes the principal's password

KADM5 Funktionen
kadm5_create_principal
KADM5 Funktionen
PHP Manual

kadm5_chpass_principal

(PECL kadm5 >= 0.2.3)

kadm5_chpass_principal — Changes the principal's password

Beschreibung

bool kadm5_chpass_principal ( resource $handle , string $principal , string $password )

kadm5_chpass_principal() sets the new password password for the principal.

Parameter-Liste

handle

A KADM5 handle.

principal

The principal.

password

The new password.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Example of changing principal's password

<?php

$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

kadm5_chpass_principal($handle, "burbach@GONICUS.LOCAL", "newpassword");

kadm5_destroy($handle);
?>

KADM5 Funktionen
kadm5_create_principal
KADM5 Funktionen


Creates a kerberos principal with the given parameters

kadm5_chpass_principal
kadm5_delete_principal
KADM5 Funktionen
PHP Manual

kadm5_create_principal

(PECL kadm5 >= 0.2.3)

kadm5_create_principal — Creates a kerberos principal with the given parameters

Beschreibung

bool kadm5_create_principal ( resource $handle , string $principal [, string $password [, array $options ]] )

Creates a principal with the given password.

Parameter-Liste

handle

A KADM5 handle.

principal

The principal.

password

If password is omitted or is NULL, a random key will be generated.

options

It is possible to specify several optional parameters within the array options. Allowed are the following options: KADM5_PRINC_EXPIRE_TIME, KADM5_PW_EXPIRATION, KADM5_ATTRIBUTES, KADM5_MAX_LIFE, KADM5_KVNO, KADM5_POLICY, KADM5_CLEARPOLICY, KADM5_MAX_RLIFE.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Example of principal's creation

<?php

$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

$attributes = KRB5_KDB_REQUIRES_PRE_AUTH | KRB5_KDB_DISALLOW_PROXIABLE;
$options = array(KADM5_PRINC_EXPIRE_TIME => 0,
                 KADM5_POLICY => "default",
                 KADM5_ATTRIBUTES => $attributes);

kadm5_create_principal($handle, "burbach@GONICUS.LOCAL", "password", $options);

kadm5_destroy($handle);
?>

Siehe auch

  • kadm5_modify_principal() - Modifies a kerberos principal with the given parameters
  • kadm5_delete_principal() - Deletes a kerberos principal

kadm5_chpass_principal
kadm5_delete_principal
KADM5 Funktionen


Deletes a kerberos principal

kadm5_create_principal
kadm5_destroy
KADM5 Funktionen
PHP Manual

kadm5_delete_principal

(PECL kadm5 >= 0.2.3)

kadm5_delete_principal — Deletes a kerberos principal

Beschreibung

bool kadm5_delete_principal ( resource $handle , string $principal )

Removes the principal from the Kerberos database.

Parameter-Liste

handle

A KADM5 handle.

principal

The removed principal.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 kadm5_delete_principal() example

<?php

$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

kadm5_delete_principal($handle, "burbach@GONICUS.LOCAL");

kadm5_destroy($handle);
?>

Siehe auch

  • kadm5_modify_principal() - Modifies a kerberos principal with the given parameters
  • kadm5_create_principal() - Creates a kerberos principal with the given parameters

kadm5_create_principal
kadm5_destroy
KADM5 Funktionen


Closes the connection to the admin server and releases all related resources

kadm5_delete_principal
kadm5_flush
KADM5 Funktionen
PHP Manual

kadm5_destroy

(PECL kadm5 >= 0.2.3)

kadm5_destroy — Closes the connection to the admin server and releases all related resources

Beschreibung

bool kadm5_destroy ( resource $handle )

Closes the connection to the admin server and releases all related resources.

Parameter-Liste

handle

A KADM5 handle.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • kadm5_init_with_password() - Opens a connection to the KADM5 library

kadm5_delete_principal
kadm5_flush
KADM5 Funktionen


Flush all changes to the Kerberos database

kadm5_destroy
kadm5_get_policies
KADM5 Funktionen
PHP Manual

kadm5_flush

(PECL kadm5 >= 0.2.3)

kadm5_flush — Flush all changes to the Kerberos database

Beschreibung

bool kadm5_flush ( resource $handle )

Flush all changes to the Kerberos database, leaving the connection to the Kerberos admin server open.

Parameter-Liste

handle

A KADM5 handle.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

kadm5_destroy
kadm5_get_policies
KADM5 Funktionen


Gets all policies from the Kerberos database

kadm5_flush
kadm5_get_principal
KADM5 Funktionen
PHP Manual

kadm5_get_policies

(PECL kadm5 >= 0.2.3)

kadm5_get_policies — Gets all policies from the Kerberos database

Beschreibung

array kadm5_get_policies ( resource $handle )

Gets an array containing the policies's names.

Parameter-Liste

handle

A KADM5 handle.

Rückgabewerte

Returns array of policies on successIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 kadm5_get_policies() example

<?php
$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

print "<h1>get_policies</h1>\n";
foreach (kadm5_get_policies($handle) as $policy) {
    echo "$policy<br />\n";
}

kadm5_destroy($handle);
?>

kadm5_flush
kadm5_get_principal
KADM5 Funktionen


Gets the principal's entries from the Kerberos database

kadm5_get_policies
kadm5_get_principals
KADM5 Funktionen
PHP Manual

kadm5_get_principal

(PECL kadm5 >= 0.2.3)

kadm5_get_principal — Gets the principal's entries from the Kerberos database

Beschreibung

array kadm5_get_principal ( resource $handle , string $principal )

Gets the principal's entries from the Kerberos database.

Parameter-Liste

handle

A KADM5 handle.

principal

The principal.

Rückgabewerte

Returns array of options containing the following keys: KADM5_PRINCIPAL, KADM5_PRINC_EXPIRE_TIME, KADM5_PW_EXPIRATION, KADM5_ATTRIBUTES, KADM5_MAX_LIFE, KADM5_MOD_NAME, KADM5_MOD_TIME, KADM5_KVNO, KADM5_POLICY, KADM5_MAX_RLIFE, KADM5_LAST_SUCCESS, KADM5_LAST_FAILED, KADM5_FAIL_AUTH_COUNT on successIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 kadm5_get_principal() example

<?php
$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

print "<h1>get_principal burbach@GONICUS.LOCAL</h1>\n";

$options = kadm5_get_principal($handle, "burbach@GONICUS.LOCAL" );

foreach ($options as $key => $value) {
    echo "$key: $value<br />\n";
}

kadm5_destroy($handle);
?>

Siehe auch

  • kadm5_get_principals() - Gets all principals from the Kerberos database

kadm5_get_policies
kadm5_get_principals
KADM5 Funktionen


Gets all principals from the Kerberos database

kadm5_get_principal
kadm5_init_with_password
KADM5 Funktionen
PHP Manual

kadm5_get_principals

(PECL kadm5 >= 0.2.3)

kadm5_get_principals — Gets all principals from the Kerberos database

Beschreibung

array kadm5_get_principals ( resource $handle )

kadm5_get_principals() returns an array containing the principals's names.

Parameter-Liste

handle

A KADM5 handle.

Rückgabewerte

Returns array of principals on successIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 kadm5_get_principals() example

<?php
$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

print "<h1>get_principals</h1>\n";
foreach (kadm5_get_principals($handle) as $principal) {
    echo "$principal<br />\n";
}

kadm5_destroy($handle);
?>

Siehe auch

  • kadm5_get_principal() - Gets the principal's entries from the Kerberos database

kadm5_get_principal
kadm5_init_with_password
KADM5 Funktionen


Opens a connection to the KADM5 library

kadm5_get_principals
kadm5_modify_principal
KADM5 Funktionen
PHP Manual

kadm5_init_with_password

(PECL kadm5 >= 0.2.3)

kadm5_init_with_password — Opens a connection to the KADM5 library

Beschreibung

resource kadm5_init_with_password ( string $admin_server , string $realm , string $principal , string $password )

Opens a connection with the KADM5 library using the principal and the given password to obtain initial credentials from the admin_server.

Parameter-Liste

admin_server

The server.

realm

Defines the authentication domain for the connection.

principal

The principal.

password

If password is omitted or is NULL, a random key will be generated.

Rückgabewerte

Returns a KADM5 handle on successIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 KADM5 initialization example

<?php

$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

$attributes = KRB5_KDB_REQUIRES_PRE_AUTH | KRB5_KDB_DISALLOW_PROXIABLE;
$options = array(KADM5_PRINC_EXPIRE_TIME => 0,
                 KADM5_POLICY => "default",
                 KADM5_ATTRIBUTES => $attributes);

kadm5_create_principal($handle, "burbach@GONICUS.LOCAL", "password", $options);

kadm5_destroy($handle);
?>

Anmerkungen

Hinweis:

Connection should be closed after use with kadm5_destroy().

Siehe auch

  • kadm5_destroy() - Closes the connection to the admin server and releases all related resources

kadm5_get_principals
kadm5_modify_principal
KADM5 Funktionen


Modifies a kerberos principal with the given parameters

kadm5_init_with_password
Radius
KADM5 Funktionen
PHP Manual

kadm5_modify_principal

(PECL kadm5 >= 0.2.3)

kadm5_modify_principal — Modifies a kerberos principal with the given parameters

Beschreibung

bool kadm5_modify_principal ( resource $handle , string $principal , array $options )

Modifies a principal according to the given options.

Parameter-Liste

handle

A KADM5 handle.

principal

The principal.

options

It is possible to specify several optional parameters within the array options. Allowed are the following options: KADM5_PRINC_EXPIRE_TIME, KADM5_PW_EXPIRATION, KADM5_ATTRIBUTES, KADM5_MAX_LIFE, KADM5_KVNO, KADM5_POLICY, KADM5_CLEARPOLICY, KADM5_MAX_RLIFE. KADM5_FAIL_AUTH_COUNT.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Example of modifying principal

<?php

$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

$attributes = KRB5_KDB_REQUIRES_PRE_AUTH;
$options = array(KADM5_PRINC_EXPIRE_TIME => 3451234,
                 KADM5_POLICY => "gonicus",
                 KADM5_ATTRIBUTES => $attributes);

kadm5_modify_principal($handle, "burbach@GONICUS.LOCAL", $options);

kadm5_destroy($handle);
?>

Siehe auch

  • kadm5_create_principal() - Creates a kerberos principal with the given parameters
  • kadm5_delete_principal() - Deletes a kerberos principal

kadm5_init_with_password
Radius
KADM5 Funktionen


Radius

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
    • RADIUS Options
    • RADIUS Packet Types
    • RADIUS Attribute Types
    • RADIUS Vendor Specific Attribute Types
  • Beispiele
  • Radius Funktionen
    • radius_acct_open — Creates a Radius handle for accounting
    • radius_add_server — Adds a server
    • radius_auth_open — Creates a Radius handle for authentication
    • radius_close — Frees all ressources
    • radius_config — Causes the library to read the given configuration file
    • radius_create_request — Create accounting or authentication request
    • radius_cvt_addr — Converts raw data to IP-Address
    • radius_cvt_int — Converts raw data to integer
    • radius_cvt_string — Converts raw data to string
    • radius_demangle_mppe_key — Derives mppe-keys from mangled data
    • radius_demangle — Demangles data
    • radius_get_attr — Extracts an attribute
    • radius_get_tagged_attr_data — Extracts the data from a tagged attribute
    • radius_get_tagged_attr_tag — Extracts the tag from a tagged attribute
    • radius_get_vendor_attr — Extracts a vendor specific attribute
    • radius_put_addr — Attaches an IP address attribute
    • radius_put_attr — Attaches a binary attribute
    • radius_put_int — Attaches an integer attribute
    • radius_put_string — Attaches a string attribute
    • radius_put_vendor_addr — Attaches a vendor specific IP address attribute
    • radius_put_vendor_attr — Attaches a vendor specific binary attribute
    • radius_put_vendor_int — Attaches a vendor specific integer attribute
    • radius_put_vendor_string — Attaches a vendor specific string attribute
    • radius_request_authenticator — Returns the request authenticator
    • radius_salt_encrypt_attr — Salt-encrypts a value
    • radius_send_request — Sends the request and waites for a reply
    • radius_server_secret — Returns the shared secret
    • radius_strerror — Returns an error message
kadm5_modify_principal
Einführung
Authentifizierungsdienste


Einführung

This package is based on the libradius (Remote Authentication Dial In User Service) of FreeBSD. It allows clients to perform authentication and accounting by means of network requests to remote servers.

This PECL extension adds full support for Radius Authentication (» RFC 2865) and Radius Accounting (» RFC 2866). This package is available for Unix (tested on FreeBSD and Linux) and for Windows.

Hinweis:

An exact description for libradius can be found » here. A detailed description of the configuration file can be found » here.

Radius
Installation/Konfiguration
Radius


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Radius


Installation

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/radius.

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Inhaltsverzeichnis

  • RADIUS Options
  • RADIUS Packet Types
  • RADIUS Attribute Types
  • RADIUS Vendor Specific Attribute Types

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

RADIUS_MPPE_KEY_LEN (integer)
The maximum length of MPPE keys.
Ressource-Typen
RADIUS Options
Radius


RADIUS Options

Several RADIUS functions accept option flags as bitmasks. The constants representing those flags are listed below.

RADIUS_OPTION_SALT (integer)

When set, this option will result in the attribute value being salt-encrypted.

RADIUS_OPTION_TAGGED (integer)

When set, this option will result in the attribute value being tagged with the value of the tag parameter.

Vordefinierte Konstanten
RADIUS Packet Types
Vordefinierte Konstanten


RADIUS Packet Types

RADIUS packets, whether requests or responses, always include a type. These constants are provided to make it easier to specify types when using radius_create_request() and when comparing the result of radius_send_request().

RADIUS_ACCESS_REQUEST (integer)

An Access-Request, used to authenticate a user against a RADIUS server. Access request packets must include a RADIUS_NAS_IP_ADDRESS or a RADIUS_NAS_IDENTIFIER attribute, must also include a RADIUS_USER_PASSWORD, RADIUS_CHAP_PASSWORD or a RADIUS_STATE attribute, and should include a RADIUS_USER_NAME attribute.

RADIUS_ACCESS_ACCEPT (integer)

An Access-Accept response to an Access-Request indicating that the RADIUS server authenticated the user successfully.

RADIUS_ACCESS_REJECT (integer)

An Access-Reject response to an Access-Request indicating that the RADIUS server could not authenticate the user.

RADIUS_ACCESS_CHALLENGE (integer)

An Access-Challenge response to an Access-Request indicating that the RADIUS server requires further information in another Access-Request before authenticating the user.

RADIUS_ACCOUNTING_REQUEST (integer)

An Accounting-Request, used to convey accounting information for a service to the RADIUS server.

RADIUS_ACCOUNTING_RESPONSE (integer)

An Accounting-Response response to an Accounting-Request.

RADIUS_COA_REQUEST (integer)

A CoA-Request, sent from the RADIUS server to indicate that the authorisations within the user session have changed. A response must be sent in the form of a CoA-ACK or a CoA-NAK.

This constant is available in PECL radius 1.3.0 and later.

RADIUS_COA_ACK (integer)

A CoA-ACK, sent to the RADIUS server to indicate that the user authorisations have been updated.

This constant is available in PECL radius 1.3.0 and later.

RADIUS_COA_NAK (integer)

A CoA-NAK, sent to the RADIUS server to indicate that the user authorisations could not be updated.

This constant is available in PECL radius 1.3.0 and later.

RADIUS_DISCONNECT_REQUEST (integer)

A Disconnect-Request, sent from the RADIUS server to indicate that the user session must be terminated.

This constant is available in PECL radius 1.3.0 and later.

RADIUS_DISCONNECT_ACK (integer)

A Disconnect-ACK, sent to the RADIUS server to indicate that the user session has been terminated.

This constant is available in PECL radius 1.3.0 and later.

RADIUS_DISCONNECT_NAK (integer)

A Disconnect-NAK, sent to the RADIUS server to indicate that the user session could not be terminated.

This constant is available in PECL radius 1.3.0 and later.

RADIUS Options
RADIUS Attribute Types
Vordefinierte Konstanten


RADIUS Attribute Types

These constants define RADIUS attribute types that can be used with
radius_put_addr(), radius_put_attr(),
radius_put_int() and
radius_put_string().

RADIUS_USER_NAME (integer)

The User-Name attribute. The attribute value is expected to be a string containing the name of the user being authenticated, and can be set using radius_put_attr().

RADIUS_USER_PASSWORD (integer)

The User-Password attribute. The attribute value is expected to be a string containing the user's password, and can be set using radius_put_attr(). This value will be obfuscated on transmission as described in » section 5.2 of RFC 2865.

RADIUS_CHAP_PASSWORD (integer)

The Chap-Password attribute. The attribute value is expected to be a string with the first byte containing the CHAP identifier, and the subsequent 16 bytes containing the MD5 hash of the CHAP identifier, the plaintext password and the CHAP challenge value concatenated together. Note that the CHAP challenge value should also be sent separately in a RADIUS_CHAP_CHALLENGE attribute.

Beispiel #1 Using CHAP passwords

<?php
// Firstly, we'll create an authentication handle and request.
$radh = radius_auth_open();
radius_add_server($radh, $server, $port, $secret, 3, 3);
radius_create_request($radh, RADIUS_ACCESS_REQUEST);

// Assuming $password contains the plaintext password, we now:

// Generate a challenge.
$challenge = mt_rand();

// Specify a CHAP identifier.
$ident = 1;

// Add the Chap-Password attribute.
$cp = md5(pack('Ca*', $ident, $password.$challenge), true);
radius_put_attr($radh, RADIUS_CHAP_PASSWORD, pack('C', $ident).$cp);

// Add the Chap-Challenge attribute.
radius_put_attr($radh, RADIUS_CHAP_CHALLENGE, $challenge);

/* From here, you would add the remaining attributes and
 * call radius_send_request(). */
?>

RADIUS_NAS_IP_ADDRESS (integer)

The NAS-IP-Address attribute. The attribute value is expected to the IP address of the RADIUS client encoded as an integer, which can be set using radius_put_addr().

RADIUS_NAS_PORT (integer)

The NAS-Port attribute. The attribute value is expected to be the physical port of the user on the RADIUS client encoded as an integer, which can be set using radius_put_int().

RADIUS_SERVICE_TYPE (integer)

The Service-Type attribute. The attribute value indicates the service type the user is requesting, and is expected to be an integer, which can be set using radius_put_int().

A number of constants are provided to represent the possible values of this attribute. They include:

  • RADIUS_LOGIN
  • RADIUS_FRAMED
  • RADIUS_CALLBACK_LOGIN
  • RADIUS_CALLBACK_FRAMED
  • RADIUS_OUTBOUND
  • RADIUS_ADMINISTRATIVE
  • RADIUS_NAS_PROMPT
  • RADIUS_AUTHENTICATE_ONLY
  • RADIUS_CALLBACK_NAS_PROMPT

RADIUS_FRAMED_PROTOCOL (integer)

The Framed-Protocol attribute. The attribute value is expected to be an integer indicating the framing to be used for framed access, and can be set using radius_put_int(). The possible attribute values include these constants:

  • RADIUS_PPP
  • RADIUS_SLIP
  • RADIUS_ARAP
  • RADIUS_GANDALF
  • RADIUS_XYLOGICS

RADIUS_FRAMED_IP_ADDRESS (integer)

The Framed-IP-Address attribute. The attribute value is expected to be the address of the user's network encoded as an integer, which can be set using radius_put_addr() and retrieved using radius_cvt_addr().

RADIUS_FRAMED_IP_NETMASK (integer)

The Framed-IP-Netmask attribute. The attribute value is expected to be the netmask of the user's network encoded as an integer, which can be set using radius_put_addr() and retrieved using radius_cvt_addr().

RADIUS_FRAMED_ROUTING (integer)

The Framed-Routing attribute. The attribute value is expected to be an integer indicating the routing method for the user, which can be set using radius_put_int().

Possible values include:

  • 0: No routing
  • 1: Send routing packets
  • 2: Listen for routing packets
  • 3: Send and listen

RADIUS_FILTER_ID (integer)

The Filter-ID attribute. The attribute value is expected to be an implementation-specific, human-readable string of filters, which can be set using radius_put_attr().

RADIUS_FRAMED_MTU (integer)

The Framed-MTU attribute. The attribute value is expected to be an integer indicating the MTU to be configured for the user, and can be set using radius_put_int().

RADIUS_FRAMED_COMPRESSION (integer)

The Framed-Compression attribute. The attribute value is expected to be an integer indicating the compression protocol to be used, and can be set using radius_put_int(). Possible values include these constants:

  • RADIUS_COMP_NONE: No compression
  • RADIUS_COMP_VJ: VJ TCP/IP header compression
  • RADIUS_COMP_IPXHDR: IPX header compression
  • RADIUS_COMP_STAC_LZS: Stac-LZS compression (added in PECL radius 1.3.0b2)

RADIUS_LOGIN_IP_HOST (integer)

The Login-IP-Host attribute. The attribute value is expected to the IP address to connect the user to, encoded as an integer, which can be set using radius_put_addr().

RADIUS_LOGIN_SERVICE (integer)

The Login-Service attribute. The attribute value is an integer indicating the service to connect the user to on the login host. The value can be converted to a PHP integer via radius_cvt_int().

RADIUS_LOGIN_TCP_PORT (integer)

The Login-TCP-Port attribute. The attribute value is an integer indicating the port to connect the user to on the login host. The value can be converted to a PHP integer via radius_cvt_int().

RADIUS_REPLY_MESSAGE (integer)

The Reply-Message attribute. The attribute value is a string containing text that may be displayed to the user in response to an access request.

RADIUS_CALLBACK_NUMBER (integer)

The Callback-Number attribute. The attribute value is a string containing the dialing string to use for callback.

RADIUS_CALLBACK_ID (integer)

The Callback-Id attribute. The attribute value is a string containing an implementation-specific name of the place to be called.

RADIUS_FRAMED_ROUTE (integer)

The Framed-Route attribute. The attribute value is a string containing an implementation-specific set of routes to be configured for the user.

RADIUS_FRAMED_IPX_NETWORK (integer)

The Framed-IPX-Network attribute. The attribute value is an integer containing the IPX network to be configured for the user, or 0xFFFFFFFE to indicate that the RADIUS client should select the network, and can be accessed via radius_cvt_int().

RADIUS_STATE (integer)

The State attribute. The attribute value is an implementation-defined string included in an Access-Challenge from a server that must be included in the subsequent Access-Request, and can be set using radius_put_attr().

RADIUS_CLASS (integer)

The Class attribute. The attribute value is an arbitrary string included in an Access-Accept message that should then be sent to the accounting server in Accounting-Request messages, and can be set using radius_put_attr().

RADIUS_VENDOR_SPECIFIC (integer)

The Vendor-Specific attribute. In general, vendor attribute values
should be set using radius_put_vendor_addr(),
radius_put_vendor_attr(),
radius_put_vendor_int() and
radius_put_vendor_string(), rather than directly.

This constant is mostly useful when interpreting vendor specific attributes in responses from a RADIUS server; when a vendor specific attribute is received, the radius_get_vendor_attr() function should be used to access the vendor ID, attribute type and attribute value.

RADIUS_SESSION_TIMEOUT (integer)

Session timeout

RADIUS_IDLE_TIMEOUT (integer)

Idle timeout

RADIUS_TERMINATION_ACTION (integer)

Termination action

RADIUS_CALLED_STATION_ID (integer)

Called Station Id

RADIUS_CALLING_STATION_ID (integer)

Calling Station Id

RADIUS_NAS_IDENTIFIER (integer)

NAS ID

RADIUS_PROXY_STATE (integer)

Proxy State

RADIUS_LOGIN_LAT_SERVICE (integer)

Login LAT Service

RADIUS_LOGIN_LAT_NODE (integer)

Login LAT Node

RADIUS_LOGIN_LAT_GROUP (integer)

Login LAT Group

RADIUS_FRAMED_APPLETALK_LINK (integer)

Framed Appletalk Link

RADIUS_FRAMED_APPLETALK_NETWORK (integer)

Framed Appletalk Network

RADIUS_FRAMED_APPLETALK_ZONE (integer)

Framed Appletalk Zone

RADIUS_CHAP_CHALLENGE (integer)

Challenge

RADIUS_NAS_PORT_TYPE (integer)

NAS port type, one of:

  • RADIUS_ASYNC
  • RADIUS_SYNC
  • RADIUS_ISDN_SYNC
  • RADIUS_ISDN_ASYNC_V120
  • RADIUS_ISDN_ASYNC_V110
  • RADIUS_VIRTUAL
  • RADIUS_PIAFS
  • RADIUS_HDLC_CLEAR_CHANNEL
  • RADIUS_X_25
  • RADIUS_X_75
  • RADIUS_G_3_FAX
  • RADIUS_SDSL
  • RADIUS_ADSL_CAP
  • RADIUS_ADSL_DMT
  • RADIUS_IDSL
  • RADIUS_ETHERNET
  • RADIUS_XDSL
  • RADIUS_CABLE
  • RADIUS_WIRELESS_OTHER
  • RADIUS_WIRELESS_IEEE_802_11

RADIUS_PORT_LIMIT (integer)

Port Limit

RADIUS_LOGIN_LAT_PORT (integer)

Login LAT Port

RADIUS_CONNECT_INFO (integer)

Connect info

RADIUS_ACCT_STATUS_TYPE (integer)

Accounting status type, one of:

  • RADIUS_START
  • RADIUS_STOP
  • RADIUS_ACCOUNTING_ON
  • RADIUS_ACCOUNTING_OFF

RADIUS_ACCT_DELAY_TIME (integer)

Accounting delay time

RADIUS_ACCT_INPUT_OCTETS (integer)

Accounting input bytes

RADIUS_ACCT_OUTPUT_OCTETS (integer)

Accounting output bytes

RADIUS_ACCT_SESSION_ID (integer)

Accounting session ID

RADIUS_ACCT_AUTHENTIC (integer)

Accounting authentic, one of:

  • RADIUS_AUTH_RADIUS
  • RADIUS_AUTH_LOCAL
  • RADIUS_AUTH_REMOTE

RADIUS_ACCT_SESSION_TIME (integer)

Accounting session time

RADIUS_ACCT_INPUT_PACKETS (integer)

Accounting input packets

RADIUS_ACCT_OUTPUT_PACKETS (integer)

Accounting output packets

RADIUS_ACCT_TERMINATE_CAUSE (integer)

Accounting terminate cause, one of:

  • RADIUS_TERM_USER_REQUEST
  • RADIUS_TERM_LOST_CARRIER
  • RADIUS_TERM_LOST_SERVICE
  • RADIUS_TERM_IDLE_TIMEOUT
  • RADIUS_TERM_SESSION_TIMEOUT
  • RADIUS_TERM_ADMIN_RESET
  • RADIUS_TERM_ADMIN_REBOOT
  • RADIUS_TERM_PORT_ERROR
  • RADIUS_TERM_NAS_ERROR
  • RADIUS_TERM_NAS_REQUEST
  • RADIUS_TERM_NAS_REBOOT
  • RADIUS_TERM_PORT_UNNEEDED
  • RADIUS_TERM_PORT_PREEMPTED
  • RADIUS_TERM_PORT_SUSPENDED
  • RADIUS_TERM_SERVICE_UNAVAILABLE
  • RADIUS_TERM_CALLBACK
  • RADIUS_TERM_USER_ERROR
  • RADIUS_TERM_HOST_REQUEST

RADIUS_ACCT_MULTI_SESSION_ID (integer)

Accounting multi session ID

RADIUS_ACCT_LINK_COUNT (integer)

Accounting link count

RADIUS Packet Types
RADIUS Vendor Specific Attribute Types
Vordefinierte Konstanten


RADIUS Vendor Specific Attribute Types

RADIUS_VENDOR_MICROSOFT (integer)

Microsoft specific vendor attributes (» RFC 2548), one of:

  • RADIUS_MICROSOFT_MS_CHAP_RESPONSE
  • RADIUS_MICROSOFT_MS_CHAP_ERROR
  • RADIUS_MICROSOFT_MS_CHAP_PW_1
  • RADIUS_MICROSOFT_MS_CHAP_PW_2
  • RADIUS_MICROSOFT_MS_CHAP_LM_ENC_PW
  • RADIUS_MICROSOFT_MS_CHAP_NT_ENC_PW
  • RADIUS_MICROSOFT_MS_MPPE_ENCRYPTION_POLICY
  • RADIUS_MICROSOFT_MS_MPPE_ENCRYPTION_TYPES
  • RADIUS_MICROSOFT_MS_RAS_VENDOR
  • RADIUS_MICROSOFT_MS_CHAP_DOMAIN
  • RADIUS_MICROSOFT_MS_CHAP_CHALLENGE
  • RADIUS_MICROSOFT_MS_CHAP_MPPE_KEYS
  • RADIUS_MICROSOFT_MS_BAP_USAGE
  • RADIUS_MICROSOFT_MS_LINK_UTILIZATION_THRESHOLD
  • RADIUS_MICROSOFT_MS_LINK_DROP_TIME_LIMIT
  • RADIUS_MICROSOFT_MS_MPPE_SEND_KEY
  • RADIUS_MICROSOFT_MS_MPPE_RECV_KEY
  • RADIUS_MICROSOFT_MS_RAS_VERSION
  • RADIUS_MICROSOFT_MS_OLD_ARAP_PASSWORD
  • RADIUS_MICROSOFT_MS_NEW_ARAP_PASSWORD
  • RADIUS_MICROSOFT_MS_ARAP_PASSWORD_CHANGE_REASON
  • RADIUS_MICROSOFT_MS_FILTER
  • RADIUS_MICROSOFT_MS_ACCT_AUTH_TYPE
  • RADIUS_MICROSOFT_MS_ACCT_EAP_TYPE
  • RADIUS_MICROSOFT_MS_CHAP2_RESPONSE
  • RADIUS_MICROSOFT_MS_CHAP2_SUCCESS
  • RADIUS_MICROSOFT_MS_CHAP2_PW
  • RADIUS_MICROSOFT_MS_PRIMARY_DNS_SERVER
  • RADIUS_MICROSOFT_MS_SECONDARY_DNS_SERVER
  • RADIUS_MICROSOFT_MS_PRIMARY_NBNS_SERVER
  • RADIUS_MICROSOFT_MS_SECONDARY_NBNS_SERVER
  • RADIUS_MICROSOFT_MS_ARAP_CHALLENGE

RADIUS Attribute Types
Beispiele
Vordefinierte Konstanten


Beispiele

Howto start?

  • get a radius resource
  • configure the library
  • create the request
  • put attributes
  • send the request
  • receive attributes
  • close the radius resource (optional)
Take also a look at the examples in this package.

The package contains an example php script. This script demonstrates howto authenticate with radius using PAP or CHAP (md5). If you authenticate with Microsoft Radius servers then its not possible to use CHAP (md5). If you would like to authenticate with Microsoft Servers you have to use MS-CHAPv1 or MS-CHAPv2, but its more complicated, because you need md4, sha1 and des to generate the right data. The enclosed examples demonstrate all authentication-methods, including MS-CHAPv1 and MS-CHAPv2. To get the MS-CHAP to work you need the mcrypt and the mhash extension, starting with version 1.2 of the package, the mcrypt extension is no longer needed.

RADIUS Vendor Specific Attribute Types
Radius Funktionen
Radius


Radius Funktionen

Inhaltsverzeichnis

  • radius_acct_open — Creates a Radius handle for accounting
  • radius_add_server — Adds a server
  • radius_auth_open — Creates a Radius handle for authentication
  • radius_close — Frees all ressources
  • radius_config — Causes the library to read the given configuration file
  • radius_create_request — Create accounting or authentication request
  • radius_cvt_addr — Converts raw data to IP-Address
  • radius_cvt_int — Converts raw data to integer
  • radius_cvt_string — Converts raw data to string
  • radius_demangle_mppe_key — Derives mppe-keys from mangled data
  • radius_demangle — Demangles data
  • radius_get_attr — Extracts an attribute
  • radius_get_tagged_attr_data — Extracts the data from a tagged attribute
  • radius_get_tagged_attr_tag — Extracts the tag from a tagged attribute
  • radius_get_vendor_attr — Extracts a vendor specific attribute
  • radius_put_addr — Attaches an IP address attribute
  • radius_put_attr — Attaches a binary attribute
  • radius_put_int — Attaches an integer attribute
  • radius_put_string — Attaches a string attribute
  • radius_put_vendor_addr — Attaches a vendor specific IP address attribute
  • radius_put_vendor_attr — Attaches a vendor specific binary attribute
  • radius_put_vendor_int — Attaches a vendor specific integer attribute
  • radius_put_vendor_string — Attaches a vendor specific string attribute
  • radius_request_authenticator — Returns the request authenticator
  • radius_salt_encrypt_attr — Salt-encrypts a value
  • radius_send_request — Sends the request and waites for a reply
  • radius_server_secret — Returns the shared secret
  • radius_strerror — Returns an error message
Beispiele
radius_acct_open
Radius


Creates a Radius handle for accounting

Radius Funktionen
radius_add_server
Radius Funktionen
PHP Manual

radius_acct_open

(PECL radius >= 1.1.0)

radius_acct_open — Creates a Radius handle for accounting

Beschreibung

resource radius_acct_open ( void )

Rückgabewerte

Returns a handle on success, FALSE on error. This function only fails if insufficient memory is available.

Beispiele

Beispiel #1 radius_acct_open() example

<?php
$res = radius_acct_open ()
    or die ("Could not create handle");
print("Handle successfully created");
?>

Radius Funktionen
radius_add_server
Radius Funktionen


Adds a server

radius_acct_open
radius_auth_open
Radius Funktionen
PHP Manual

radius_add_server

(PECL radius >= 1.1.0)

radius_add_server — Adds a server

Beschreibung

bool radius_add_server ( resource $radius_handle , string $hostname , int $port , string $secret , int $timeout , int $max_tries )

radius_add_server() may be called multiple times, and it may be used together with radius_config(). At most 10 servers may be specified. When multiple servers are given, they are tried in round-robin fashion until a valid response is received, or until each server's max_tries limit has been reached.

Parameter-Liste

radius_handle

hostname

The hostname parameter specifies the server host, either as a fully qualified domain name or as a dotted-quad IP address in text form.

port

The port specifies the UDP port to contact on the server. If port is given as 0, the library looks up the radius/udp or radacct/udp service in the network services database, and uses the port found there. If no entry is found, the library uses the standard Radius ports, 1812 for authentication and 1813 for accounting.

secret

The shared secret for the server host is passed to the secret parameter. The Radius protocol ignores all but the leading 128 bytes of the shared secret.

timeout

The timeout for receiving replies from the server is passed to the timeout parameter, in units of seconds.

max_tries

The maximum number of repeated requests to make before giving up is passed into the max_tries.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 radius_add_server() example

<?php
if (!radius_add_server($res, 'radius.example.com', 1812, 'testing123', 3, 3)) {
    echo 'RadiusError:' . radius_strerror($res). "\n<br>";
    exit;
}
?>

Siehe auch

  • radius_config() - Causes the library to read the given configuration file

radius_acct_open
radius_auth_open
Radius Funktionen


Creates a Radius handle for authentication

radius_add_server
radius_close
Radius Funktionen
PHP Manual

radius_auth_open

(PECL radius >= 1.1.0)

radius_auth_open — Creates a Radius handle for authentication

Beschreibung

resource radius_auth_open ( void )

Rückgabewerte

Returns a handle on success, FALSE on error. This function only fails if insufficient memory is available.

Beispiele

Beispiel #1 radius_auth_open() example

<?php
$radh = radius_auth_open()
    or die ("Could not create handle");
echo "Handle successfully created";
?>

radius_add_server
radius_close
Radius Funktionen


Frees all ressources

radius_auth_open
radius_config
Radius Funktionen
PHP Manual

radius_close

(PECL radius >= 1.1.0)

radius_close — Frees all ressources

Beschreibung

bool radius_close ( resource $radius_handle )

It is not needed to call this function because php frees all resources at the end of each request.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

radius_auth_open
radius_config
Radius Funktionen


Causes the library to read the given configuration file

radius_close
radius_create_request
Radius Funktionen
PHP Manual

radius_config

(PECL radius >= 1.1.0)

radius_config — Causes the library to read the given configuration file

Beschreibung

bool radius_config ( resource $radius_handle , string $file )

Before issuing any Radius requests, the library must be made aware of the servers it can contact. The easiest way to configure the library is to call radius_config(). radius_config() causes the library to read a configuration file whose format is described in » radius.conf.

Parameter-Liste

radius_handle

file

The pathname of the configuration file is passed as the file argument to radius_config(). The library can also be configured programmatically by calls to radius_add_server().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • radius_add_server() - Adds a server

radius_close
radius_create_request
Radius Funktionen


Create accounting or authentication request

radius_config
radius_cvt_addr
Radius Funktionen
PHP Manual

radius_create_request

(PECL radius >= 1.1.0)

radius_create_request — Create accounting or authentication request

Beschreibung

bool radius_create_request ( resource $radius_handle , int $type )

A Radius request consists of a code specifying the kind of request, and zero or more attributes which provide additional information. To begin constructing a new request, call radius_create_request().

Hinweis: Attention: You must call this function, before you can put any attribute!

Parameter-Liste

radius_handle

type

Type is RADIUS_ACCESS_REQUEST or RADIUS_ACCOUNTING_REQUEST.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 radius_create_request() example

<?php
if (!radius_create_request($res, RADIUS_ACCESS_REQUEST)) {
    echo 'RadiusError:' . radius_strerror($res). "\n<br />";
    exit;
}
?>

Siehe auch

  • radius_send_request() - Sends the request and waites for a reply

radius_config
radius_cvt_addr
Radius Funktionen


Converts raw data to IP-Address

radius_create_request
radius_cvt_int
Radius Funktionen
PHP Manual

radius_cvt_addr

(PECL radius >= 1.1.0)

radius_cvt_addr — Converts raw data to IP-Address

Beschreibung

string radius_cvt_addr ( string $data )

Beispiele

Beispiel #1 radius_cvt_addr() example

<?php
while ($resa = radius_get_attr($res)) {

    if (!is_array($resa)) {
        printf ("Error getting attribute: %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];

    switch ($attr) {

    case RADIUS_FRAMED_IP_ADDRESS:
        $ip = radius_cvt_addr($data);
        echo "IP: $ip<br>\n";
        break;

    case RADIUS_FRAMED_IP_NETMASK:
        $mask = radius_cvt_addr($data);
        echo "MASK: $mask<br>\n";
        break;
    }
}
?>

Siehe auch

  • radius_cvt_int() - Converts raw data to integer
  • radius_cvt_string() - Converts raw data to string

radius_create_request
radius_cvt_int
Radius Funktionen


Converts raw data to integer

radius_cvt_addr
radius_cvt_string
Radius Funktionen
PHP Manual

radius_cvt_int

(PECL radius >= 1.1.0)

radius_cvt_int — Converts raw data to integer

Beschreibung

int radius_cvt_int ( string $data )

Beispiele

Beispiel #1 radius_cvt_int() example

<?php
while ($resa = radius_get_attr($res)) {

    if (!is_array($resa)) {
        printf ("Error getting attribute: %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];

    switch ($attr) {

    case RADIUS_FRAMED_MTU:
        $mtu = radius_cvt_int($data);
        echo "MTU: $mtu<br>\n";
        break;
    }
}
?>

Siehe auch

  • radius_cvt_addr() - Converts raw data to IP-Address
  • radius_cvt_string() - Converts raw data to string

radius_cvt_addr
radius_cvt_string
Radius Funktionen


Converts raw data to string

radius_cvt_int
radius_demangle_mppe_key
Radius Funktionen
PHP Manual

radius_cvt_string

(PECL radius >= 1.1.0)

radius_cvt_string — Converts raw data to string

Beschreibung

string radius_cvt_string ( string $data )

Beispiele

Beispiel #1 radius_cvt_string() example

<?php
while ($resa = radius_get_attr($res)) {

    if (!is_array($resa)) {
        printf ("Error getting attribute: %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];

    switch ($attr) {

    case RADIUS_FILTER_ID:
        $id = radius_cvt_string($data);
        echo "Filter ID: $id<br>\n";
        break;
    }
}
?>

Siehe auch

  • radius_cvt_addr() - Converts raw data to IP-Address
  • radius_cvt_int() - Converts raw data to integer

radius_cvt_int
radius_demangle_mppe_key
Radius Funktionen


Derives mppe-keys from mangled data

radius_cvt_string
radius_demangle
Radius Funktionen
PHP Manual

radius_demangle_mppe_key

(PECL radius >= 1.2.0)

radius_demangle_mppe_key — Derives mppe-keys from mangled data

Beschreibung

string radius_demangle_mppe_key ( resource $radius_handle , string $mangled )

When using MPPE with MS-CHAPv2, the send- and recv-keys are mangled (see » RFC 2548), however this function is useless, because I don't think that there is or will be a PPTP-MPPE implementation in PHP.

Rückgabewerte

Returns the demangled string, or FALSE on error.

radius_cvt_string
radius_demangle
Radius Funktionen


Demangles data

radius_demangle_mppe_key
radius_get_attr
Radius Funktionen
PHP Manual

radius_demangle

(PECL radius >= 1.2.0)

radius_demangle — Demangles data

Beschreibung

string radius_demangle ( resource $radius_handle , string $mangled )

Some data (Passwords, MS-CHAPv1 MPPE-Keys) is mangled for security reasons, and must be demangled before you can use them.

Rückgabewerte

Returns the demangled string, or FALSE on error.

radius_demangle_mppe_key
radius_get_attr
Radius Funktionen


Extracts an attribute

radius_demangle
radius_get_tagged_attr_data
Radius Funktionen
PHP Manual

radius_get_attr

(PECL radius >= 1.1.0)

radius_get_attr — Extracts an attribute

Beschreibung

mixed radius_get_attr ( resource $radius_handle )

Like Radius requests, each response may contain zero or more attributes. After a response has been received successfully by radius_send_request(), its attributes can be extracted one by one using radius_get_attr(). Each time radius_get_attr() is called, it gets the next attribute from the current response.

Rückgabewerte

Returns an associative array containing the attribute-type and the data, or error number <= 0.

Beispiele

Beispiel #1 radius_get_attr() example

<?php
while ($resa = radius_get_attr($res)) {

    if (!is_array($resa)) {
        printf("Error getting attribute: %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];
    printf("Got Attr:%d %d Bytes %s\n", $attr, strlen($data), bin2hex($data));
}
?>

Siehe auch

  • radius_put_attr() - Attaches a binary attribute
  • radius_get_vendor_attr() - Extracts a vendor specific attribute
  • radius_put_vendor_attr() - Attaches a vendor specific binary attribute
  • radius_send_request() - Sends the request and waites for a reply

radius_demangle
radius_get_tagged_attr_data
Radius Funktionen


Extracts the data from a tagged attribute

radius_get_attr
radius_get_tagged_attr_tag
Radius Funktionen
PHP Manual

radius_get_tagged_attr_data

(PECL radius >= 1.3.0)

radius_get_tagged_attr_data — Extracts the data from a tagged attribute

Beschreibung

string radius_get_tagged_attr_data ( string $data )

If a tagged attribute has been returned from radius_get_attr(), radius_get_tagged_attr_data() will return the data from the attribute.

Parameter-Liste

data

The tagged attribute to be decoded.

Rückgabewerte

Returns the data from the tagged attribute Im Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 radius_get_tagged_attr_data() example

<?php
while ($resa = radius_get_attr($res)) {
    if (!is_array($resa)) {
        printf ("Error getting attribute: %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];

    $tag = radius_get_tagged_attr_tag($data);
    $value = radius_get_tagged_attr_data($data);

    printf("Got tagged attribute with tag %d and value %s\n", $tag, $value);
}
?>

Siehe auch

  • radius_get_attr() - Extracts an attribute
  • radius_get_tagged_attr_tag() - Extracts the tag from a tagged attribute

radius_get_attr
radius_get_tagged_attr_tag
Radius Funktionen


Extracts the tag from a tagged attribute

radius_get_tagged_attr_data
radius_get_vendor_attr
Radius Funktionen
PHP Manual

radius_get_tagged_attr_tag

(PECL radius >= 1.3.0)

radius_get_tagged_attr_tag — Extracts the tag from a tagged attribute

Beschreibung

integer radius_get_tagged_attr_tag ( string $data )

If a tagged attribute has been returned from radius_get_attr(), radius_get_tagged_attr_data() will return the tag from the attribute.

Parameter-Liste

data

The tagged attribute to be decoded.

Rückgabewerte

Returns the tag from the tagged attribute Im Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 radius_get_tagged_attr_tag() example

<?php
while ($resa = radius_get_attr($res)) {
    if (!is_array($resa)) {
        printf ("Error getting attribute: %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];

    $tag = radius_get_tagged_attr_tag($data);
    $value = radius_get_tagged_attr_data($data);

    printf("Got tagged attribute with tag %d and value %s\n", $tag, $value);
}
?>

Siehe auch

  • radius_get_attr() - Extracts an attribute
  • radius_get_tagged_attr_data() - Extracts the data from a tagged attribute

radius_get_tagged_attr_data
radius_get_vendor_attr
Radius Funktionen


Extracts a vendor specific attribute

radius_get_tagged_attr_tag
radius_put_addr
Radius Funktionen
PHP Manual

radius_get_vendor_attr

(PECL radius >= 1.1.0)

radius_get_vendor_attr — Extracts a vendor specific attribute

Beschreibung

array radius_get_vendor_attr ( string $data )

If radius_get_attr() returns RADIUS_VENDOR_SPECIFIC, radius_get_vendor_attr() may be called to determine the vendor.

Rückgabewerte

Returns an associative array containing the attribute-type, vendor and the data, or FALSE on error.

Beispiele

Beispiel #1 radius_get_vendor_attr() example

<?php
while ($resa = radius_get_attr($res)) {

    if (!is_array($resa)) {
        printf ("Error getting attribute: %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];
    printf("Got Attr:%d %d Bytes %s\n", $attr, strlen($data), bin2hex($data));
    if ($attr == RADIUS_VENDOR_SPECIFIC) {

        $resv = radius_get_vendor_attr($data);
        if (is_array($resv)) {
            $vendor = $resv['vendor'];
            $attrv = $resv['attr'];
            $datav = $resv['data'];
            printf("Got Vendor Attr:%d %d Bytes %s\n", $attrv, strlen($datav), bin2hex($datav));
        }

    }
}
?>

Siehe auch

  • radius_get_attr() - Extracts an attribute
  • radius_put_vendor_attr() - Attaches a vendor specific binary attribute

radius_get_tagged_attr_tag
radius_put_addr
Radius Funktionen


Attaches an IP address attribute

radius_get_vendor_attr
radius_put_attr
Radius Funktionen
PHP Manual

radius_put_addr

(PECL radius >= 1.1.0)

radius_put_addr — Attaches an IP address attribute

Beschreibung

bool radius_put_addr ( resource $radius_handle , int $type , string $addr [, int $options = 0 [, int $tag ]] )

Attaches an IP address attribute to the current RADIUS request.

Hinweis:

A request must be created via radius_create_request() before this function can be called.

Parameter-Liste

radius_handle

The RADIUS resource.

type

The attribute type.

addr

An IPv4 address in string form, such as 10.0.0.1.

options

A bitmask of the attribute options. The available options include RADIUS_OPTION_TAGGED and RADIUS_OPTION_SALT.

tag

The attribute tag. This parameter is ignored unless the RADIUS_OPTION_TAGGED option is set.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
PECL radius 1.3.0 | The options and tag parameters were added.

radius_get_vendor_attr
radius_put_attr
Radius Funktionen


Attaches a binary attribute

radius_put_addr
radius_put_int
Radius Funktionen
PHP Manual

radius_put_attr

(PECL radius >= 1.1.0)

radius_put_attr — Attaches a binary attribute

Beschreibung

bool radius_put_attr ( resource $radius_handle , int $type , string $value [, int $options = 0 [, int $tag ]] )

Attaches a binary attribute to the current RADIUS request.

Hinweis:

A request must be created via radius_create_request() before this function can be called.

Parameter-Liste

radius_handle

The RADIUS resource.

type

The attribute type.

value

The attribute value, which will be treated as a raw binary string.

options

A bitmask of the attribute options. The available options include RADIUS_OPTION_TAGGED and RADIUS_OPTION_SALT.

tag

The attribute tag. This parameter is ignored unless the RADIUS_OPTION_TAGGED option is set.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 radius_put_attr() example

<?php
mt_srand(time());
$chall = mt_rand();
$chapval = md5(pack('Ca*',1 , 'sepp' . $chall));
$pass = pack('CH*', 1, $chapval);
if (!radius_put_attr($res, RADIUS_CHAP_PASSWORD, $pass)) {
    echo 'RadiusError:' . radius_strerror($res). "\n<br />";
    exit;
}
?>

Changelog

Version | Beschreibung
PECL radius 1.3.0 | The options and tag parameters were added.

Siehe auch

  • radius_get_attr() - Extracts an attribute
  • radius_get_vendor_attr() - Extracts a vendor specific attribute
  • radius_put_vendor_attr() - Attaches a vendor specific binary attribute

radius_put_addr
radius_put_int
Radius Funktionen


Attaches an integer attribute

radius_put_attr
radius_put_string
Radius Funktionen
PHP Manual

radius_put_int

(PECL radius >= 1.1.0)

radius_put_int — Attaches an integer attribute

Beschreibung

bool radius_put_int ( resource $radius_handle , int $type , int $value [, int $options = 0 [, int $tag ]] )

Attaches an integer attribute to the current RADIUS request.

Hinweis:

A request must be created via radius_create_request() before this function can be called.

Parameter-Liste

radius_handle

The RADIUS resource.

type

The attribute type.

value

The attribute value.

options

A bitmask of the attribute options. The available options include RADIUS_OPTION_TAGGED and RADIUS_OPTION_SALT.

tag

The attribute tag. This parameter is ignored unless the RADIUS_OPTION_TAGGED option is set.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
PECL radius 1.3.0 | The options and tag parameters were added.

Beispiele

Beispiel #1 radius_put_int() example

<?php
if (!radius_put_int($res, RAD_FRAMED_PROTOCOL, RAD_PPP)) {
   echo 'RadiusError:' . radius_strerror($res). "\n<br />";
   exit;
}
?>

Siehe auch

  • radius_put_string() - Attaches a string attribute
  • radius_put_vendor_int() - Attaches a vendor specific integer attribute
  • radius_put_vendor_string() - Attaches a vendor specific string attribute

radius_put_attr
radius_put_string
Radius Funktionen


Attaches a string attribute

radius_put_int
radius_put_vendor_addr
Radius Funktionen
PHP Manual

radius_put_string

(PECL radius >= 1.1.0)

radius_put_string — Attaches a string attribute

Beschreibung

bool radius_put_string ( resource $radius_handle , int $type , string $value [, int $options = 0 [, int $tag ]] )

Attaches a string attribute to the current RADIUS request. In general, radius_put_attr() is a more useful function for attaching string attributes, as it is binary safe.

Hinweis:

A request must be created via radius_create_request() before this function can be called.

Parameter-Liste

radius_handle

The RADIUS resource.

type

The attribute type.

value

The attribute value. This value is expected by the underlying library to be null terminated, therefore this parameter is not binary safe.

options

A bitmask of the attribute options. The available options include RADIUS_OPTION_TAGGED and RADIUS_OPTION_SALT.

tag

The attribute tag. This parameter is ignored unless the RADIUS_OPTION_TAGGED option is set.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
PECL radius 1.3.0 | The options and tag parameters were added.

Beispiele

Beispiel #1 radius_put_string() example

<?php
if (!radius_put_string($res, RADIUS_USER_NAME, 'billy')) {
    echo 'RadiusError:' . radius_strerror($res). "\n<br />";
    exit;
}
?>

Siehe auch

  • radius_put_int() - Attaches an integer attribute
  • radius_put_vendor_int() - Attaches a vendor specific integer attribute
  • radius_put_vendor_string() - Attaches a vendor specific string attribute

radius_put_int
radius_put_vendor_addr
Radius Funktionen


Attaches a vendor specific IP address attribute

radius_put_string
radius_put_vendor_attr
Radius Funktionen
PHP Manual

radius_put_vendor_addr

(PECL radius >= 1.1.0)

radius_put_vendor_addr — Attaches a vendor specific IP address attribute

Beschreibung

bool radius_put_vendor_addr ( resource $radius_handle , int $vendor , int $type , string $addr )

Attaches an IP address vendor specific attribute to the current RADIUS request.

Hinweis:

A request must be created via radius_create_request() before this function can be called.

Parameter-Liste

radius_handle

The RADIUS resource.

vendor

The vendor ID.

type

The attribute type.

addr

An IPv4 address in string form, such as 10.0.0.1.

options

A bitmask of the attribute options. The available options include RADIUS_OPTION_TAGGED and RADIUS_OPTION_SALT.

tag

The attribute tag. This parameter is ignored unless the RADIUS_OPTION_TAGGED option is set.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
PECL radius 1.3.0 | The options and tag parameters were added.

radius_put_string
radius_put_vendor_attr
Radius Funktionen


Attaches a vendor specific binary attribute

radius_put_vendor_addr
radius_put_vendor_int
Radius Funktionen
PHP Manual

radius_put_vendor_attr

(PECL radius >= 1.1.0)

radius_put_vendor_attr — Attaches a vendor specific binary attribute

Beschreibung

bool radius_put_vendor_attr ( resource $radius_handle , int $vendor , int $type , string $value [, int $options = 0 [, int $tag ]] )

Attaches a vendor specific binary attribute to the current RADIUS request.

Hinweis:

A request must be created via radius_create_request() before this function can be called.

Parameter-Liste

radius_handle

The RADIUS resource.

vendor

The vendor ID.

type

The attribute type.

value

The attribute value, which will be treated as a raw binary string.

options

A bitmask of the attribute options. The available options include RADIUS_OPTION_TAGGED and RADIUS_OPTION_SALT.

tag

The attribute tag. This parameter is ignored unless the RADIUS_OPTION_TAGGED option is set.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
PECL radius 1.3.0 | The options and tag parameters were added.

Beispiele

Beispiel #1 radius_put_vendor_attr() example

<?php
if (!radius_put_vendor_attr($res, RADIUS_VENDOR_MICROSOFT, RAD_MICROSOFT_MS_CHAP_CHALLENGE, $challenge)) {
    echo 'RadiusError:' . radius_strerror($res). "\n<br />";
    exit;
}
?>

Siehe auch

  • radius_get_vendor_attr() - Extracts a vendor specific attribute

radius_put_vendor_addr
radius_put_vendor_int
Radius Funktionen


Attaches a vendor specific integer attribute

radius_put_vendor_attr
radius_put_vendor_string
Radius Funktionen
PHP Manual

radius_put_vendor_int

(PECL radius >= 1.1.0)

radius_put_vendor_int — Attaches a vendor specific integer attribute

Beschreibung

bool radius_put_vendor_int ( resource $radius_handle , int $vendor , int $type , int $value [, int $options = 0 [, int $tag ]] )

Attaches a vendor specific integer attribute to the current RADIUS request.

Hinweis:

A request must be created via radius_create_request() before this function can be called.

Parameter-Liste

radius_handle

The RADIUS resource.

vendor

The vendor ID.

type

The attribute type.

value

The attribute value.

options

A bitmask of the attribute options. The available options include RADIUS_OPTION_TAGGED and RADIUS_OPTION_SALT.

tag

The attribute tag. This parameter is ignored unless the RADIUS_OPTION_TAGGED option is set.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
PECL radius 1.3.0 | The options and tag parameters were added.

Siehe auch

  • radius_put_vendor_string() - Attaches a vendor specific string attribute

radius_put_vendor_attr
radius_put_vendor_string
Radius Funktionen


Attaches a vendor specific string attribute

radius_put_vendor_int
radius_request_authenticator
Radius Funktionen
PHP Manual

radius_put_vendor_string

(PECL radius >= 1.1.0)

radius_put_vendor_string — Attaches a vendor specific string attribute

Beschreibung

bool radius_put_vendor_string ( resource $radius_handle , int $vendor , int $type , string $value [, int $options = 0 [, int $tag ]] )

Attaches a vendor specific string attribute to the current RADIUS request. In general, radius_put_vendor_attr() is a more useful function for attaching string attributes, as it is binary safe.

Hinweis:

A request must be created via radius_create_request() before this function can be called.

Parameter-Liste

radius_handle

The RADIUS resource.

vendor

The vendor ID.

type

The attribute type.

value

The attribute value. This value is expected by the underlying library to be null terminated, therefore this parameter is not binary safe.

options

A bitmask of the attribute options. The available options include RADIUS_OPTION_TAGGED and RADIUS_OPTION_SALT.

tag

The attribute tag. This parameter is ignored unless the RADIUS_OPTION_TAGGED option is set.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
PECL radius 1.3.0 | The options and tag parameters were added.

Siehe auch

  • radius_put_vendor_int() - Attaches a vendor specific integer attribute

radius_put_vendor_int
radius_request_authenticator
Radius Funktionen


Returns the request authenticator

radius_put_vendor_string
radius_salt_encrypt_attr
Radius Funktionen
PHP Manual

radius_request_authenticator

(PECL radius >= 1.1.0)

radius_request_authenticator — Returns the request authenticator

Beschreibung

string radius_request_authenticator ( resource $radius_handle )

The request authenticator is needed for demangling mangled data like passwords and encryption-keys.

Rückgabewerte

Returns the request authenticator as string, or FALSE on error.

Siehe auch

  • radius_demangle() - Demangles data

radius_put_vendor_string
radius_salt_encrypt_attr
Radius Funktionen


Salt-encrypts a value

radius_request_authenticator
radius_send_request
Radius Funktionen
PHP Manual

radius_salt_encrypt_attr

(PECL radius >= 1.3.0)

radius_salt_encrypt_attr — Salt-encrypts a value

Beschreibung

string radius_salt_encrypt_attr ( resource $radius_handle , string $data )

Applies the RADIUS salt-encryption algorithm to the given value.

In general, this is achieved automatically by providing the RADIUS_OPTION_SALT option to an attribute setter function, but this function can be used if low-level request construction is required.

Parameter-Liste

data

The data to be salt-encrypted.

Rückgabewerte

Returns the salt-encrypted data Im Fehlerfall wird FALSE zurückgegeben..

Siehe auch

  • radius_put_addr() - Attaches an IP address attribute
  • radius_put_attr() - Attaches a binary attribute
  • radius_put_int() - Attaches an integer attribute
  • radius_put_string() - Attaches a string attribute

radius_request_authenticator
radius_send_request
Radius Funktionen


Sends the request and waites for a reply

radius_salt_encrypt_attr
radius_server_secret
Radius Funktionen
PHP Manual

radius_send_request

(PECL radius >= 1.1.0)

radius_send_request — Sends the request and waites for a reply

Beschreibung

int radius_send_request ( resource $radius_handle )

After the Radius request has been constructed, it is sent by radius_send_request().

The radius_send_request() function sends the request and waits for a valid reply, retrying the defined servers in round-robin fashion as necessary.

Rückgabewerte

If a valid response is received, radius_send_request() returns the Radius code which specifies the type of the response. This will typically be RADIUS_ACCESS_ACCEPT, RADIUS_ACCESS_REJECT, or RADIUS_ACCESS_CHALLENGE. If no valid response is received, radius_send_request() returns FALSE.

Siehe auch

  • radius_create_request() - Create accounting or authentication request

radius_salt_encrypt_attr
radius_server_secret
Radius Funktionen


Returns the shared secret

radius_send_request
radius_strerror
Radius Funktionen
PHP Manual

radius_server_secret

(PECL radius >= 1.1.0)

radius_server_secret — Returns the shared secret

Beschreibung

string radius_server_secret ( resource $radius_handle )

The shared secret is needed as salt for demangling mangled data like passwords and encryption-keys.

Rückgabewerte

Returns the server's shared secret as string, or FALSE on error.

radius_send_request
radius_strerror
Radius Funktionen


Returns an error message

radius_server_secret
Eingabezeilenspezifische Erweiterungen
Radius Funktionen
PHP Manual

radius_strerror

(PECL radius >= 1.1.0)

radius_strerror — Returns an error message

Beschreibung

string radius_strerror ( resource $radius_handle )

If Radius-functions fail then they record an error message. This error message can be retrieved with this function.

Rückgabewerte

Returns error messages as string from failed radius functions.

radius_server_secret
Eingabezeilenspezifische Erweiterungen
Radius Funktionen


Eingabezeilenspezifische Erweiterungen

  • Ncurses — Ncurses Terminal Screen Control
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Ncurses Funktionen
  • Newt
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Newt Funktionen
  • Readline — GNU Readline
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Readline-Funktionen
radius_strerror
Ncurses
Funktionsreferenz


Ncurses Terminal Screen Control

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
    • Error codes
    • Colors
    • Keys
    • Mouse
  • Ncurses Funktionen
    • ncurses_addch — Add character at current position and advance cursor
    • ncurses_addchnstr — Add attributed string with specified length at current position
    • ncurses_addchstr — Add attributed string at current position
    • ncurses_addnstr — Add string with specified length at current position
    • ncurses_addstr — Output text at current position
    • ncurses_assume_default_colors — Define default colors for color 0
    • ncurses_attroff — Turn off the given attributes
    • ncurses_attron — Turn on the given attributes
    • ncurses_attrset — Set given attributes
    • ncurses_baudrate — Returns baudrate of terminal
    • ncurses_beep — Let the terminal beep
    • ncurses_bkgd — Set background property for terminal screen
    • ncurses_bkgdset — Control screen background
    • ncurses_border — Draw a border around the screen using attributed characters
    • ncurses_bottom_panel — Moves a visible panel to the bottom of the stack
    • ncurses_can_change_color — Checks if terminal color definitions can be changed
    • ncurses_cbreak — Switch off input buffering
    • ncurses_clear — Clear screen
    • ncurses_clrtobot — Clear screen from current position to bottom
    • ncurses_clrtoeol — Clear screen from current position to end of line
    • ncurses_color_content — Retrieves RGB components of a color
    • ncurses_color_set — Set active foreground and background colors
    • ncurses_curs_set — Set cursor state
    • ncurses_def_prog_mode — Saves terminals (program) mode
    • ncurses_def_shell_mode — Saves terminals (shell) mode
    • ncurses_define_key — Define a keycode
    • ncurses_del_panel — Remove panel from the stack and delete it (but not the associated window)
    • ncurses_delay_output — Delay output on terminal using padding characters
    • ncurses_delch — Delete character at current position, move rest of line left
    • ncurses_deleteln — Delete line at current position, move rest of screen up
    • ncurses_delwin — Delete a ncurses window
    • ncurses_doupdate — Write all prepared refreshes to terminal
    • ncurses_echo — Activate keyboard input echo
    • ncurses_echochar — Single character output including refresh
    • ncurses_end — Stop using ncurses, clean up the screen
    • ncurses_erase — Erase terminal screen
    • ncurses_erasechar — Returns current erase character
    • ncurses_filter — Set LINES for iniscr() and newterm() to 1
    • ncurses_flash — Flash terminal screen (visual bell)
    • ncurses_flushinp — Flush keyboard input buffer
    • ncurses_getch — Read a character from keyboard
    • ncurses_getmaxyx — Returns the size of a window
    • ncurses_getmouse — Reads mouse event
    • ncurses_getyx — Returns the current cursor position for a window
    • ncurses_halfdelay — Put terminal into halfdelay mode
    • ncurses_has_colors — Checks if terminal has color capabilities
    • ncurses_has_ic — Check for insert- and delete-capabilities
    • ncurses_has_il — Check for line insert- and delete-capabilities
    • ncurses_has_key — Check for presence of a function key on terminal keyboard
    • ncurses_hide_panel — Remove panel from the stack, making it invisible
    • ncurses_hline — Draw a horizontal line at current position using an attributed character and max. n characters long
    • ncurses_inch — Get character and attribute at current position
    • ncurses_init_color — Define a terminal color
    • ncurses_init_pair — Define a color pair
    • ncurses_init — Initialize ncurses
    • ncurses_insch — Insert character moving rest of line including character at current position
    • ncurses_insdelln — Insert lines before current line scrolling down (negative numbers delete and scroll up)
    • ncurses_insertln — Insert a line, move rest of screen down
    • ncurses_insstr — Insert string at current position, moving rest of line right
    • ncurses_instr — Reads string from terminal screen
    • ncurses_isendwin — Ncurses is in endwin mode, normal screen output may be performed
    • ncurses_keyok — Enable or disable a keycode
    • ncurses_keypad — Turns keypad on or off
    • ncurses_killchar — Returns current line kill character
    • ncurses_longname — Returns terminals description
    • ncurses_meta — Enables/Disable 8-bit meta key information
    • ncurses_mouse_trafo — Transforms coordinates
    • ncurses_mouseinterval — Set timeout for mouse button clicks
    • ncurses_mousemask — Sets mouse options
    • ncurses_move_panel — Moves a panel so that its upper-left corner is at [startx, starty]
    • ncurses_move — Move output position
    • ncurses_mvaddch — Move current position and add character
    • ncurses_mvaddchnstr — Move position and add attributed string with specified length
    • ncurses_mvaddchstr — Move position and add attributed string
    • ncurses_mvaddnstr — Move position and add string with specified length
    • ncurses_mvaddstr — Move position and add string
    • ncurses_mvcur — Move cursor immediately
    • ncurses_mvdelch — Move position and delete character, shift rest of line left
    • ncurses_mvgetch — Move position and get character at new position
    • ncurses_mvhline — Set new position and draw a horizontal line using an attributed character and max. n characters long
    • ncurses_mvinch — Move position and get attributed character at new position
    • ncurses_mvvline — Set new position and draw a vertical line using an attributed character and max. n characters long
    • ncurses_mvwaddstr — Add string at new position in window
    • ncurses_napms — Sleep
    • ncurses_new_panel — Create a new panel and associate it with window
    • ncurses_newpad — Creates a new pad (window)
    • ncurses_newwin — Create a new window
    • ncurses_nl — Translate newline and carriage return / line feed
    • ncurses_nocbreak — Switch terminal to cooked mode
    • ncurses_noecho — Switch off keyboard input echo
    • ncurses_nonl — Do not translate newline and carriage return / line feed
    • ncurses_noqiflush — Do not flush on signal characters
    • ncurses_noraw — Switch terminal out of raw mode
    • ncurses_pair_content — Retrieves foreground and background colors of a color pair
    • ncurses_panel_above — Returns the panel above panel
    • ncurses_panel_below — Returns the panel below panel
    • ncurses_panel_window — Returns the window associated with panel
    • ncurses_pnoutrefresh — Copies a region from a pad into the virtual screen
    • ncurses_prefresh — Copies a region from a pad into the virtual screen
    • ncurses_putp — Apply padding information to the string and output it
    • ncurses_qiflush — Flush on signal characters
    • ncurses_raw — Switch terminal into raw mode
    • ncurses_refresh — Refresh screen
    • ncurses_replace_panel — Replaces the window associated with panel
    • ncurses_reset_prog_mode — Resets the prog mode saved by def_prog_mode
    • ncurses_reset_shell_mode — Resets the shell mode saved by def_shell_mode
    • ncurses_resetty — Restores saved terminal state
    • ncurses_savetty — Saves terminal state
    • ncurses_scr_dump — Dump screen content to file
    • ncurses_scr_init — Initialize screen from file dump
    • ncurses_scr_restore — Restore screen from file dump
    • ncurses_scr_set — Inherit screen from file dump
    • ncurses_scrl — Scroll window content up or down without changing current position
    • ncurses_show_panel — Places an invisible panel on top of the stack, making it visible
    • ncurses_slk_attr — Returns current soft label key attribute
    • ncurses_slk_attroff — Turn off the given attributes for soft function-key labels
    • ncurses_slk_attron — Turn on the given attributes for soft function-key labels
    • ncurses_slk_attrset — Set given attributes for soft function-key labels
    • ncurses_slk_clear — Clears soft labels from screen
    • ncurses_slk_color — Sets color for soft label keys
    • ncurses_slk_init — Initializes soft label key functions
    • ncurses_slk_noutrefresh — Copies soft label keys to virtual screen
    • ncurses_slk_refresh — Copies soft label keys to screen
    • ncurses_slk_restore — Restores soft label keys
    • ncurses_slk_set — Sets function key labels
    • ncurses_slk_touch — Forces output when ncurses_slk_noutrefresh is performed
    • ncurses_standend — Stop using 'standout' attribute
    • ncurses_standout — Start using 'standout' attribute
    • ncurses_start_color — Initializes color functionality
    • ncurses_termattrs — Returns a logical OR of all attribute flags supported by terminal
    • ncurses_termname — Returns terminals (short)-name
    • ncurses_timeout — Set timeout for special key sequences
    • ncurses_top_panel — Moves a visible panel to the top of the stack
    • ncurses_typeahead — Specify different filedescriptor for typeahead checking
    • ncurses_ungetch — Put a character back into the input stream
    • ncurses_ungetmouse — Pushes mouse event to queue
    • ncurses_update_panels — Refreshes the virtual screen to reflect the relations between panels in the stack
    • ncurses_use_default_colors — Assign terminal default colors to color id -1
    • ncurses_use_env — Control use of environment information about terminal size
    • ncurses_use_extended_names — Control use of extended names in terminfo descriptions
    • ncurses_vidattr — Display the string on the terminal in the video attribute mode
    • ncurses_vline — Draw a vertical line at current position using an attributed character and max. n characters long
    • ncurses_waddch — Adds character at current position in a window and advance cursor
    • ncurses_waddstr — Outputs text at current postion in window
    • ncurses_wattroff — Turns off attributes for a window
    • ncurses_wattron — Turns on attributes for a window
    • ncurses_wattrset — Set the attributes for a window
    • ncurses_wborder — Draws a border around the window using attributed characters
    • ncurses_wclear — Clears window
    • ncurses_wcolor_set — Sets windows color pairings
    • ncurses_werase — Erase window contents
    • ncurses_wgetch — Reads a character from keyboard (window)
    • ncurses_whline — Draws a horizontal line in a window at current position using an attributed character and max. n characters long
    • ncurses_wmouse_trafo — Transforms window/stdscr coordinates
    • ncurses_wmove — Moves windows output position
    • ncurses_wnoutrefresh — Copies window to virtual screen
    • ncurses_wrefresh — Refresh window on terminal screen
    • ncurses_wstandend — End standout mode for a window
    • ncurses_wstandout — Enter standout mode for a window
    • ncurses_wvline — Draws a vertical line in a window at current position using an attributed character and max. n characters long
Eingabezeilenspezifische Erweiterungen
Einführung
Eingabezeilenspezifische Erweiterungen


Einführung

ncurses (new curses) is a free software emulation of curses in System V Rel 4.0 (and above). It uses terminfo format, supports pads, colors, multiple highlights, form characters and function key mapping. Because of the interactive nature of this library, it will be of little use for writing Web applications, but may be useful when writing scripts meant using PHP from the command line.

The features available, such as colors, depend on the terminal that you are using. Use functions such as ncurses_has_colors(), ncurses_can_change_color(), and ncurses_has_ic() to check for individual capabilities.

Hinweis:

Diese Erweiterung wurde ins » PECL-Repositorium verschoben und ist nicht mehr Teil von PHP ab PHP 5.3.0.

ncurses is available for the following platforms:

  • AIX
  • BeOS
  • BSD variants (FreeBSD, NetBSD, OpenBSD)
  • Cygwin
  • Digital Unix (aka OSF1)
  • GNU/Linux
  • HPUX
  • IRIX64
  • Mac OS X
  • OS/2
  • QNX
  • SCO OpenServer
  • Solaris
  • Tru64

Ncurses
Installation/Konfiguration
Ncurses


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Ncurses


Anforderungen

You need the ncurses libraries and headerfiles. Download the latest version from the » ftp://ftp.gnu.org/pub/gnu/ncurses/ or from an other GNU-Mirror.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/ncurses.

Wide character CRT screen handling (ncursesw) support was added in version 1.0.1 of this PECL extension.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Ressource-Typen

This extension defines window, panel and pad resources.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Inhaltsverzeichnis

  • Error codes
  • Colors
  • Keys
  • Mouse

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

Ressource-Typen
Error codes
Ncurses


Error codes

On error ncurses functions return -1. Some functions return 0 on success. See the relevant pages in the documentation for actual return values.

Vordefinierte Konstanten
Colors
Vordefinierte Konstanten


Colors

ncurses color constants
constant | meaning
NCURSES_COLOR_BLACK | no color (black)
NCURSES_COLOR_WHITE | white
NCURSES_COLOR_RED | red - supported when terminal is in color mode
NCURSES_COLOR_GREEN | green - supported when terminal is in color mode
NCURSES_COLOR_YELLOW | yellow - supported when terminal is in color mode
NCURSES_COLOR_BLUE | blue - supported when terminal is in color mode
NCURSES_COLOR_CYAN | cyan - supported when terminal is in color mode
NCURSES_COLOR_MAGENTA | magenta - supported when terminal is in color mode
Error codes
Keys
Vordefinierte Konstanten


Keys

ncurses key constants
constant | meaning
NCURSES_KEY_F0 - NCURSES_KEY_F64 | function keys F1 - F64
NCURSES_KEY_DOWN | down arrow
NCURSES_KEY_UP | up arrow
NCURSES_KEY_LEFT | left arrow
NCURSES_KEY_RIGHT | right arrow
NCURSES_KEY_HOME | home key (upward+left arrow)
NCURSES_KEY_BACKSPACE | backspace
NCURSES_KEY_DL | delete line
NCURSES_KEY_IL | insert line
NCURSES_KEY_DC | delete character
NCURSES_KEY_IC | insert char or enter insert mode
NCURSES_KEY_EIC | exit insert char mode
NCURSES_KEY_CLEAR | clear screen
NCURSES_KEY_EOS | clear to end of screen
NCURSES_KEY_EOL | clear to end of line
NCURSES_KEY_SF | scroll one line forward
NCURSES_KEY_SR | scroll one line backward
NCURSES_KEY_NPAGE | next page
NCURSES_KEY_PPAGE | previous page
NCURSES_KEY_STAB | set tab
NCURSES_KEY_CTAB | clear tab
NCURSES_KEY_CATAB | clear all tabs
NCURSES_KEY_SRESET | soft (partial) reset
NCURSES_KEY_RESET | reset or hard reset
NCURSES_KEY_PRINT | print
NCURSES_KEY_LL | lower left
NCURSES_KEY_A1 | upper left of keypad
NCURSES_KEY_A3 | upper right of keypad
NCURSES_KEY_B2 | center of keypad
NCURSES_KEY_C1 | lower left of keypad
NCURSES_KEY_C3 | lower right of keypad
NCURSES_KEY_BTAB | back tab
NCURSES_KEY_BEG | beginning
NCURSES_KEY_CANCEL | cancel
NCURSES_KEY_CLOSE | close
NCURSES_KEY_COMMAND | cmd (command)
NCURSES_KEY_COPY | copy
NCURSES_KEY_CREATE | create
NCURSES_KEY_END | end
NCURSES_KEY_EXIT | exit
NCURSES_KEY_FIND | find
NCURSES_KEY_HELP | help
NCURSES_KEY_MARK | mark
NCURSES_KEY_MESSAGE | message
NCURSES_KEY_MOVE | move
NCURSES_KEY_NEXT | next
NCURSES_KEY_OPEN | open
NCURSES_KEY_OPTIONS | options
NCURSES_KEY_PREVIOUS | previous
NCURSES_KEY_REDO | redo
NCURSES_KEY_REFERENCE | ref (reference)
NCURSES_KEY_REFRESH | refresh
NCURSES_KEY_REPLACE | replace
NCURSES_KEY_RESTART | restart
NCURSES_KEY_RESUME | resume
NCURSES_KEY_SAVE | save
NCURSES_KEY_SBEG | shiftet beg (beginning)
NCURSES_KEY_SCANCEL | shifted cancel
NCURSES_KEY_SCOMMAND | shifted command
NCURSES_KEY_SCOPY | shifted copy
NCURSES_KEY_SCREATE | shifted create
NCURSES_KEY_SDC | shifted delete char
NCURSES_KEY_SDL | shifted delete line
NCURSES_KEY_SELECT | select
NCURSES_KEY_SEND | shifted end
NCURSES_KEY_SEOL | shifted end of line
NCURSES_KEY_SEXIT | shifted exit
NCURSES_KEY_SFIND | shifted find
NCURSES_KEY_SHELP | shifted help
NCURSES_KEY_SHOME | shifted home
NCURSES_KEY_SIC | shifted input
NCURSES_KEY_SLEFT | shifted left arrow
NCURSES_KEY_SMESSAGE | shifted message
NCURSES_KEY_SMOVE | shifted move
NCURSES_KEY_SNEXT | shifted next
NCURSES_KEY_SOPTIONS | shifted options
NCURSES_KEY_SPREVIOUS | shifted previous
NCURSES_KEY_SPRINT | shifted print
NCURSES_KEY_SREDO | shifted redo
NCURSES_KEY_SREPLACE | shifted replace
NCURSES_KEY_SRIGHT | shifted right arrow
NCURSES_KEY_SRSUME | shifted resume
NCURSES_KEY_SSAVE | shifted save
NCURSES_KEY_SSUSPEND | shifted suspend
NCURSES_KEY_UNDO | undo
NCURSES_KEY_MOUSE | mouse event has occurred
NCURSES_KEY_MAX | maximum key value
Colors
Mouse
Vordefinierte Konstanten


Mouse

mouse constants
Constant | meaning
NCURSES_BUTTON1_RELEASED - NCURSES_BUTTON4_RELEASED | button (1-4) released
NCURSES_BUTTON1_PRESSED - NCURSES_BUTTON4_PRESSED | button (1-4) pressed
NCURSES_BUTTON1_CLICKED - NCURSES_BUTTON4_CLICKED | button (1-4) clicked
NCURSES_BUTTON1_DOUBLE_CLICKED - NCURSES_BUTTON4_DOUBLE_CLICKED | button (1-4) double clicked
NCURSES_BUTTON1_TRIPLE_CLICKED - NCURSES_BUTTON4_TRIPLE_CLICKED | button (1-4) triple clicked
NCURSES_BUTTON_CTRL | ctrl pressed during click
NCURSES_BUTTON_SHIFT | shift pressed during click
NCURSES_BUTTON_ALT | alt pressed during click
NCURSES_ALL_MOUSE_EVENTS | report all mouse events
NCURSES_REPORT_MOUSE_POSITION | report mouse position
Keys
Ncurses Funktionen
Vordefinierte Konstanten


Ncurses Funktionen

Inhaltsverzeichnis

  • ncurses_addch — Add character at current position and advance cursor
  • ncurses_addchnstr — Add attributed string with specified length at current position
  • ncurses_addchstr — Add attributed string at current position
  • ncurses_addnstr — Add string with specified length at current position
  • ncurses_addstr — Output text at current position
  • ncurses_assume_default_colors — Define default colors for color 0
  • ncurses_attroff — Turn off the given attributes
  • ncurses_attron — Turn on the given attributes
  • ncurses_attrset — Set given attributes
  • ncurses_baudrate — Returns baudrate of terminal
  • ncurses_beep — Let the terminal beep
  • ncurses_bkgd — Set background property for terminal screen
  • ncurses_bkgdset — Control screen background
  • ncurses_border — Draw a border around the screen using attributed characters
  • ncurses_bottom_panel — Moves a visible panel to the bottom of the stack
  • ncurses_can_change_color — Checks if terminal color definitions can be changed
  • ncurses_cbreak — Switch off input buffering
  • ncurses_clear — Clear screen
  • ncurses_clrtobot — Clear screen from current position to bottom
  • ncurses_clrtoeol — Clear screen from current position to end of line
  • ncurses_color_content — Retrieves RGB components of a color
  • ncurses_color_set — Set active foreground and background colors
  • ncurses_curs_set — Set cursor state
  • ncurses_def_prog_mode — Saves terminals (program) mode
  • ncurses_def_shell_mode — Saves terminals (shell) mode
  • ncurses_define_key — Define a keycode
  • ncurses_del_panel — Remove panel from the stack and delete it (but not the associated window)
  • ncurses_delay_output — Delay output on terminal using padding characters
  • ncurses_delch — Delete character at current position, move rest of line left
  • ncurses_deleteln — Delete line at current position, move rest of screen up
  • ncurses_delwin — Delete a ncurses window
  • ncurses_doupdate — Write all prepared refreshes to terminal
  • ncurses_echo — Activate keyboard input echo
  • ncurses_echochar — Single character output including refresh
  • ncurses_end — Stop using ncurses, clean up the screen
  • ncurses_erase — Erase terminal screen
  • ncurses_erasechar — Returns current erase character
  • ncurses_filter — Set LINES for iniscr() and newterm() to 1
  • ncurses_flash — Flash terminal screen (visual bell)
  • ncurses_flushinp — Flush keyboard input buffer
  • ncurses_getch — Read a character from keyboard
  • ncurses_getmaxyx — Returns the size of a window
  • ncurses_getmouse — Reads mouse event
  • ncurses_getyx — Returns the current cursor position for a window
  • ncurses_halfdelay — Put terminal into halfdelay mode
  • ncurses_has_colors — Checks if terminal has color capabilities
  • ncurses_has_ic — Check for insert- and delete-capabilities
  • ncurses_has_il — Check for line insert- and delete-capabilities
  • ncurses_has_key — Check for presence of a function key on terminal keyboard
  • ncurses_hide_panel — Remove panel from the stack, making it invisible
  • ncurses_hline — Draw a horizontal line at current position using an attributed character and max. n characters long
  • ncurses_inch — Get character and attribute at current position
  • ncurses_init_color — Define a terminal color
  • ncurses_init_pair — Define a color pair
  • ncurses_init — Initialize ncurses
  • ncurses_insch — Insert character moving rest of line including character at current position
  • ncurses_insdelln — Insert lines before current line scrolling down (negative numbers delete and scroll up)
  • ncurses_insertln — Insert a line, move rest of screen down
  • ncurses_insstr — Insert string at current position, moving rest of line right
  • ncurses_instr — Reads string from terminal screen
  • ncurses_isendwin — Ncurses is in endwin mode, normal screen output may be performed
  • ncurses_keyok — Enable or disable a keycode
  • ncurses_keypad — Turns keypad on or off
  • ncurses_killchar — Returns current line kill character
  • ncurses_longname — Returns terminals description
  • ncurses_meta — Enables/Disable 8-bit meta key information
  • ncurses_mouse_trafo — Transforms coordinates
  • ncurses_mouseinterval — Set timeout for mouse button clicks
  • ncurses_mousemask — Sets mouse options
  • ncurses_move_panel — Moves a panel so that its upper-left corner is at [startx, starty]
  • ncurses_move — Move output position
  • ncurses_mvaddch — Move current position and add character
  • ncurses_mvaddchnstr — Move position and add attributed string with specified length
  • ncurses_mvaddchstr — Move position and add attributed string
  • ncurses_mvaddnstr — Move position and add string with specified length
  • ncurses_mvaddstr — Move position and add string
  • ncurses_mvcur — Move cursor immediately
  • ncurses_mvdelch — Move position and delete character, shift rest of line left
  • ncurses_mvgetch — Move position and get character at new position
  • ncurses_mvhline — Set new position and draw a horizontal line using an attributed character and max. n characters long
  • ncurses_mvinch — Move position and get attributed character at new position
  • ncurses_mvvline — Set new position and draw a vertical line using an attributed character and max. n characters long
  • ncurses_mvwaddstr — Add string at new position in window
  • ncurses_napms — Sleep
  • ncurses_new_panel — Create a new panel and associate it with window
  • ncurses_newpad — Creates a new pad (window)
  • ncurses_newwin — Create a new window
  • ncurses_nl — Translate newline and carriage return / line feed
  • ncurses_nocbreak — Switch terminal to cooked mode
  • ncurses_noecho — Switch off keyboard input echo
  • ncurses_nonl — Do not translate newline and carriage return / line feed
  • ncurses_noqiflush — Do not flush on signal characters
  • ncurses_noraw — Switch terminal out of raw mode
  • ncurses_pair_content — Retrieves foreground and background colors of a color pair
  • ncurses_panel_above — Returns the panel above panel
  • ncurses_panel_below — Returns the panel below panel
  • ncurses_panel_window — Returns the window associated with panel
  • ncurses_pnoutrefresh — Copies a region from a pad into the virtual screen
  • ncurses_prefresh — Copies a region from a pad into the virtual screen
  • ncurses_putp — Apply padding information to the string and output it
  • ncurses_qiflush — Flush on signal characters
  • ncurses_raw — Switch terminal into raw mode
  • ncurses_refresh — Refresh screen
  • ncurses_replace_panel — Replaces the window associated with panel
  • ncurses_reset_prog_mode — Resets the prog mode saved by def_prog_mode
  • ncurses_reset_shell_mode — Resets the shell mode saved by def_shell_mode
  • ncurses_resetty — Restores saved terminal state
  • ncurses_savetty — Saves terminal state
  • ncurses_scr_dump — Dump screen content to file
  • ncurses_scr_init — Initialize screen from file dump
  • ncurses_scr_restore — Restore screen from file dump
  • ncurses_scr_set — Inherit screen from file dump
  • ncurses_scrl — Scroll window content up or down without changing current position
  • ncurses_show_panel — Places an invisible panel on top of the stack, making it visible
  • ncurses_slk_attr — Returns current soft label key attribute
  • ncurses_slk_attroff — Turn off the given attributes for soft function-key labels
  • ncurses_slk_attron — Turn on the given attributes for soft function-key labels
  • ncurses_slk_attrset — Set given attributes for soft function-key labels
  • ncurses_slk_clear — Clears soft labels from screen
  • ncurses_slk_color — Sets color for soft label keys
  • ncurses_slk_init — Initializes soft label key functions
  • ncurses_slk_noutrefresh — Copies soft label keys to virtual screen
  • ncurses_slk_refresh — Copies soft label keys to screen
  • ncurses_slk_restore — Restores soft label keys
  • ncurses_slk_set — Sets function key labels
  • ncurses_slk_touch — Forces output when ncurses_slk_noutrefresh is performed
  • ncurses_standend — Stop using 'standout' attribute
  • ncurses_standout — Start using 'standout' attribute
  • ncurses_start_color — Initializes color functionality
  • ncurses_termattrs — Returns a logical OR of all attribute flags supported by terminal
  • ncurses_termname — Returns terminals (short)-name
  • ncurses_timeout — Set timeout for special key sequences
  • ncurses_top_panel — Moves a visible panel to the top of the stack
  • ncurses_typeahead — Specify different filedescriptor for typeahead checking
  • ncurses_ungetch — Put a character back into the input stream
  • ncurses_ungetmouse — Pushes mouse event to queue
  • ncurses_update_panels — Refreshes the virtual screen to reflect the relations between panels in the stack
  • ncurses_use_default_colors — Assign terminal default colors to color id -1
  • ncurses_use_env — Control use of environment information about terminal size
  • ncurses_use_extended_names — Control use of extended names in terminfo descriptions
  • ncurses_vidattr — Display the string on the terminal in the video attribute mode
  • ncurses_vline — Draw a vertical line at current position using an attributed character and max. n characters long
  • ncurses_waddch — Adds character at current position in a window and advance cursor
  • ncurses_waddstr — Outputs text at current postion in window
  • ncurses_wattroff — Turns off attributes for a window
  • ncurses_wattron — Turns on attributes for a window
  • ncurses_wattrset — Set the attributes for a window
  • ncurses_wborder — Draws a border around the window using attributed characters
  • ncurses_wclear — Clears window
  • ncurses_wcolor_set — Sets windows color pairings
  • ncurses_werase — Erase window contents
  • ncurses_wgetch — Reads a character from keyboard (window)
  • ncurses_whline — Draws a horizontal line in a window at current position using an attributed character and max. n characters long
  • ncurses_wmouse_trafo — Transforms window/stdscr coordinates
  • ncurses_wmove — Moves windows output position
  • ncurses_wnoutrefresh — Copies window to virtual screen
  • ncurses_wrefresh — Refresh window on terminal screen
  • ncurses_wstandend — End standout mode for a window
  • ncurses_wstandout — Enter standout mode for a window
  • ncurses_wvline — Draws a vertical line in a window at current position using an attributed character and max. n characters long
Mouse
ncurses_addch
Ncurses


Add character at current position and advance cursor

Ncurses Funktionen
ncurses_addchnstr
Ncurses Funktionen
PHP Manual

ncurses_addch

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_addch — Add character at current position and advance cursor

Beschreibung

int ncurses_addch ( int $ch )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

ch

Ncurses Funktionen
ncurses_addchnstr
Ncurses Funktionen


Add attributed string with specified length at current position

ncurses_addch
ncurses_addchstr
Ncurses Funktionen
PHP Manual

ncurses_addchnstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_addchnstr — Add attributed string with specified length at current position

Beschreibung

int ncurses_addchnstr ( string $s , int $n )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

s

n

ncurses_addch
ncurses_addchstr
Ncurses Funktionen


Add attributed string at current position

ncurses_addchnstr
ncurses_addnstr
Ncurses Funktionen
PHP Manual

ncurses_addchstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_addchstr — Add attributed string at current position

Beschreibung

int ncurses_addchstr ( string $s )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

s

ncurses_addchnstr
ncurses_addnstr
Ncurses Funktionen


Add string with specified length at current position

ncurses_addchstr
ncurses_addstr
Ncurses Funktionen
PHP Manual

ncurses_addnstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_addnstr — Add string with specified length at current position

Beschreibung

int ncurses_addnstr ( string $s , int $n )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

s

n

ncurses_addchstr
ncurses_addstr
Ncurses Funktionen


Output text at current position

ncurses_addnstr
ncurses_assume_default_colors
Ncurses Funktionen
PHP Manual

ncurses_addstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_addstr — Output text at current position

Beschreibung

int ncurses_addstr ( string $text )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

text

ncurses_addnstr
ncurses_assume_default_colors
Ncurses Funktionen


Define default colors for color 0

ncurses_addstr
ncurses_attroff
Ncurses Funktionen
PHP Manual

ncurses_assume_default_colors

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_assume_default_colors — Define default colors for color 0

Beschreibung

int ncurses_assume_default_colors ( int $fg , int $bg )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

fg

bg

ncurses_addstr
ncurses_attroff
Ncurses Funktionen


Turn off the given attributes

ncurses_assume_default_colors
ncurses_attron
Ncurses Funktionen
PHP Manual

ncurses_attroff

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_attroff — Turn off the given attributes

Beschreibung

int ncurses_attroff ( int $attributes )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

attributes

ncurses_assume_default_colors
ncurses_attron
Ncurses Funktionen


Turn on the given attributes

ncurses_attroff
ncurses_attrset
Ncurses Funktionen
PHP Manual

ncurses_attron

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_attron — Turn on the given attributes

Beschreibung

int ncurses_attron ( int $attributes )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

attributes

ncurses_attroff
ncurses_attrset
Ncurses Funktionen


Set given attributes

ncurses_attron
ncurses_baudrate
Ncurses Funktionen
PHP Manual

ncurses_attrset

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_attrset — Set given attributes

Beschreibung

int ncurses_attrset ( int $attributes )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

attributes

ncurses_attron
ncurses_baudrate
Ncurses Funktionen


Returns baudrate of terminal

ncurses_attrset
ncurses_beep
Ncurses Funktionen
PHP Manual

ncurses_baudrate

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_baudrate — Returns baudrate of terminal

Beschreibung

int ncurses_baudrate ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

ncurses_attrset
ncurses_beep
Ncurses Funktionen


Let the terminal beep

ncurses_baudrate
ncurses_bkgd
Ncurses Funktionen
PHP Manual

ncurses_beep

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_beep — Let the terminal beep

Beschreibung

int ncurses_beep ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

ncurses_beep() sends an audible alert (bell) and if its not possible flashes the screen.

Siehe auch

  • ncurses_flash() - Flash terminal screen (visual bell)

ncurses_baudrate
ncurses_bkgd
Ncurses Funktionen


Set background property for terminal screen

ncurses_beep
ncurses_bkgdset
Ncurses Funktionen
PHP Manual

ncurses_bkgd

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_bkgd — Set background property for terminal screen

Beschreibung

int ncurses_bkgd ( int $attrchar )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

attrchar

ncurses_beep
ncurses_bkgdset
Ncurses Funktionen


Control screen background

ncurses_bkgd
ncurses_border
Ncurses Funktionen
PHP Manual

ncurses_bkgdset

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_bkgdset — Control screen background

Beschreibung

void ncurses_bkgdset ( int $attrchar )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

attrchar

ncurses_bkgd
ncurses_border
Ncurses Funktionen


Draw a border around the screen using attributed characters

ncurses_bkgdset
ncurses_bottom_panel
Ncurses Funktionen
PHP Manual

ncurses_border

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_border — Draw a border around the screen using attributed characters

Beschreibung

int ncurses_border ( int $left , int $right , int $top , int $bottom , int $tl_corner , int $tr_corner , int $bl_corner , int $br_corner )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Draws the specified lines and corners around the main window.

Use ncurses_wborder() for borders around subwindows!

Parameter-Liste

Every parameter expects 0 to draw a line or 1 to skip it.

left

right

top

bottom

tl_corner

Top left corner

tr_corner

Top right corner

bl_corner

Bottom left corner

br_corner

Bottom right corner

Siehe auch

  • ncurses_wborder() - Draws a border around the window using attributed characters

ncurses_bkgdset
ncurses_bottom_panel
Ncurses Funktionen


Moves a visible panel to the bottom of the stack

ncurses_border
ncurses_can_change_color
Ncurses Funktionen
PHP Manual

ncurses_bottom_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_bottom_panel — Moves a visible panel to the bottom of the stack

Beschreibung

int ncurses_bottom_panel ( resource $panel )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

panel

ncurses_border
ncurses_can_change_color
Ncurses Funktionen


Checks if terminal color definitions can be changed

ncurses_bottom_panel
ncurses_cbreak
Ncurses Funktionen
PHP Manual

ncurses_can_change_color

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_can_change_color — Checks if terminal color definitions can be changed

Beschreibung

bool ncurses_can_change_color ( void )

Checks whether the terminal has color capabilities and whether the programmer can change color definitions using ncurses_init_color(). ncurses must be initialized using ncurses_init() before calling this function.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Return TRUE if the programmer can change color definitions, FALSE otherwise.

Siehe auch

  • ncurses_has_colors() - Checks if terminal has color capabilities
  • ncurses_init_color() - Define a terminal color
  • ncurses_start_color() - Initializes color functionality

ncurses_bottom_panel
ncurses_cbreak
Ncurses Funktionen


Switch off input buffering

ncurses_can_change_color
ncurses_clear
Ncurses Funktionen
PHP Manual

ncurses_cbreak

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_cbreak — Switch off input buffering

Beschreibung

bool ncurses_cbreak ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Disables line buffering and character processing (interrupt and flow control characters are unaffected), making characters typed by the user immediately available to the program.

Rückgabewerte

Returns TRUE or NCURSES_ERR if any error occurred.

Siehe auch

  • ncurses_nocbreak() - Switch terminal to cooked mode

ncurses_can_change_color
ncurses_clear
Ncurses Funktionen


Clear screen

ncurses_cbreak
ncurses_clrtobot
Ncurses Funktionen
PHP Manual

ncurses_clear

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_clear — Clear screen

Beschreibung

bool ncurses_clear ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Clears the screen completely without setting blanks.

Note: ncurses_clear() clears the screen without setting blanks, which have the current background rendition. To clear screen with blanks, use ncurses_erase().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ncurses_erase() - Erase terminal screen

ncurses_cbreak
ncurses_clrtobot
Ncurses Funktionen


Clear screen from current position to bottom

ncurses_clear
ncurses_clrtoeol
Ncurses Funktionen
PHP Manual

ncurses_clrtobot

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_clrtobot — Clear screen from current position to bottom

Beschreibung

bool ncurses_clrtobot ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Erases all lines from cursor to end of screen and creates blanks. Blanks created by ncurses_clrtobot() have the current background rendition.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ncurses_clear() - Clear screen
  • ncurses_clrtoeol() - Clear screen from current position to end of line

ncurses_clear
ncurses_clrtoeol
Ncurses Funktionen


Clear screen from current position to end of line

ncurses_clrtobot
ncurses_color_content
Ncurses Funktionen
PHP Manual

ncurses_clrtoeol

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_clrtoeol — Clear screen from current position to end of line

Beschreibung

bool ncurses_clrtoeol ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Erases the current line from cursor position to the end. Blanks created by ncurses_clrtoeol() have the current background rendition.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ncurses_clear() - Clear screen
  • ncurses_clrtobot() - Clear screen from current position to bottom

ncurses_clrtobot
ncurses_color_content
Ncurses Funktionen


Retrieves RGB components of a color

ncurses_clrtoeol
ncurses_color_set
Ncurses Funktionen
PHP Manual

ncurses_color_content

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_color_content — Retrieves RGB components of a color

Beschreibung

int ncurses_color_content ( int $color , int &$r , int &$g , int &$b )

Retrieves the red, green, and blue components for the given color definition. Terminal color capabilities must be initialized with ncurses_start_color() prior to calling this function.

Parameter-Liste

color

The number of the color to retrieve information for. May be one of the pre-defined color constants.

r

A reference to which to return the red component of the color. The value returned to the reference will be between 0 and 1000.

g

A reference to which to return the green component of the color. The value returned to the reference will be between 0 and 1000.

b

A reference to which to return the blue component of the color. The value returned to the reference will be between 0 and 1000.

Rückgabewerte

Returns -1 if the function was successful, and 0 if ncurses or terminal color capabilities have not been initialized.

Siehe auch

  • ncurses_init_color() - Define a terminal color
  • ncurses_start_color() - Initializes color functionality

ncurses_clrtoeol
ncurses_color_set
Ncurses Funktionen


Set active foreground and background colors

ncurses_color_content
ncurses_curs_set
Ncurses Funktionen
PHP Manual

ncurses_color_set

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_color_set — Set active foreground and background colors

Beschreibung

int ncurses_color_set ( int $pair )

Sets the active foreground and background colors. Any characters written after this function is invoked will have these colors. This function requires terminal colors to be supported and initialized using ncurses_start_color() beforehand.

ncurses uses color pairs to specify both foreground and background colors. Use ncurses_init_pair() to define a color pair.

Parameter-Liste

pair

The color pair from which to get the foreground and background colors to set as the active colors.

Rückgabewerte

Returns -1 on success, and 0 on failure.

Beispiele

Beispiel #1 Writing a string with a specified color to the screen

<?php
ncurses_init();

// If the terminal supports colors, initialize and set active color
if (ncurses_has_colors()) {
    ncurses_start_color();
    ncurses_init_pair(1, NCURSES_COLOR_YELLOW, NCURSES_COLOR_BLUE);
    ncurses_color_set(1);
}

// Write a string at specified location
ncurses_mvaddstr(10, 10, "Hello world! Yellow on blue text!");

// Flush output to screen
ncurses_refresh();

ncurses_end();
?>

Siehe auch

  • ncurses_init_pair() - Define a color pair
  • ncurses_start_color() - Initializes color functionality

ncurses_color_content
ncurses_curs_set
Ncurses Funktionen


Set cursor state

ncurses_color_set
ncurses_def_prog_mode
Ncurses Funktionen
PHP Manual

ncurses_curs_set

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_curs_set — Set cursor state

Beschreibung

int ncurses_curs_set ( int $visibility )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

visibility

ncurses_color_set
ncurses_def_prog_mode
Ncurses Funktionen


Saves terminals (program) mode

ncurses_curs_set
ncurses_def_shell_mode
Ncurses Funktionen
PHP Manual

ncurses_def_prog_mode

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_def_prog_mode — Saves terminals (program) mode

Beschreibung

bool ncurses_def_prog_mode ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Saves the current terminal modes for program (in curses) for use by ncurses_reset_prog_mode().

Rückgabewerte

Returns FALSE on success, otherwise TRUE.

Siehe auch

  • ncurses_reset_prog_mode() - Resets the prog mode saved by def_prog_mode

ncurses_curs_set
ncurses_def_shell_mode
Ncurses Funktionen


Saves terminals (shell) mode

ncurses_def_prog_mode
ncurses_define_key
Ncurses Funktionen
PHP Manual

ncurses_def_shell_mode

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_def_shell_mode — Saves terminals (shell) mode

Beschreibung

bool ncurses_def_shell_mode ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Saves the current terminal modes for shell (not in curses) for use by ncurses_reset_shell_mode().

Rückgabewerte

Returns FALSE on success, TRUE otherwise.

Siehe auch

  • ncurses_reset_shell_mode() - Resets the shell mode saved by def_shell_mode

ncurses_def_prog_mode
ncurses_define_key
Ncurses Funktionen


Define a keycode

ncurses_def_shell_mode
ncurses_del_panel
Ncurses Funktionen
PHP Manual

ncurses_define_key

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_define_key — Define a keycode

Beschreibung

int ncurses_define_key ( string $definition , int $keycode )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

definition

keycode

ncurses_def_shell_mode
ncurses_del_panel
Ncurses Funktionen


Remove panel from the stack and delete it (but not the associated window)

ncurses_define_key
ncurses_delay_output
Ncurses Funktionen
PHP Manual

ncurses_del_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_del_panel — Remove panel from the stack and delete it (but not the associated window)

Beschreibung

bool ncurses_del_panel ( resource $panel )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

panel

ncurses_define_key
ncurses_delay_output
Ncurses Funktionen


Delay output on terminal using padding characters

ncurses_del_panel
ncurses_delch
Ncurses Funktionen
PHP Manual

ncurses_delay_output

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_delay_output — Delay output on terminal using padding characters

Beschreibung

int ncurses_delay_output ( int $milliseconds )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

milliseconds

ncurses_del_panel
ncurses_delch
Ncurses Funktionen


Delete character at current position, move rest of line left

ncurses_delay_output
ncurses_deleteln
Ncurses Funktionen
PHP Manual

ncurses_delch

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_delch — Delete character at current position, move rest of line left

Beschreibung

bool ncurses_delch ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Deletes the character under the cursor. All characters to the right of the cursor on the same line are moved to the left one position and the last character on the line is filled with a blank. The cursor position does not change.

Rückgabewerte

Returns FALSE on success, TRUE otherwise.

Siehe auch

  • ncurses_deleteln() - Delete line at current position, move rest of screen up

ncurses_delay_output
ncurses_deleteln
Ncurses Funktionen


Delete line at current position, move rest of screen up

ncurses_delch
ncurses_delwin
Ncurses Funktionen
PHP Manual

ncurses_deleteln

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_deleteln — Delete line at current position, move rest of screen up

Beschreibung

bool ncurses_deleteln ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Deletes the current line under cursor position. All lines below the current line are moved up one line. The bottom line of window is cleared. Cursor position does not change.

Rückgabewerte

Returns FALSE on success, otherwise TRUE.

Siehe auch

  • ncurses_delch() - Delete character at current position, move rest of line left

ncurses_delch
ncurses_delwin
Ncurses Funktionen


Delete a ncurses window

ncurses_deleteln
ncurses_doupdate
Ncurses Funktionen
PHP Manual

ncurses_delwin

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_delwin — Delete a ncurses window

Beschreibung

bool ncurses_delwin ( resource $window )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

window

ncurses_deleteln
ncurses_doupdate
Ncurses Funktionen


Write all prepared refreshes to terminal

ncurses_delwin
ncurses_echo
Ncurses Funktionen
PHP Manual

ncurses_doupdate

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_doupdate — Write all prepared refreshes to terminal

Beschreibung

bool ncurses_doupdate ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Compares the virtual screen to the physical screen and updates the physical screen. This way is more effective than using multiple refresh calls.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

ncurses_delwin
ncurses_echo
Ncurses Funktionen


Activate keyboard input echo

ncurses_doupdate
ncurses_echochar
Ncurses Funktionen
PHP Manual

ncurses_echo

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_echo — Activate keyboard input echo

Beschreibung

bool ncurses_echo ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Enables echo mode. All characters typed by user are echoed by ncurses_getch().

Rückgabewerte

Returns FALSE on success, TRUE if any error occurred.

Siehe auch

  • ncurses_noecho() - Switch off keyboard input echo to disable echo mode

ncurses_doupdate
ncurses_echochar
Ncurses Funktionen


Single character output including refresh

ncurses_echo
ncurses_end
Ncurses Funktionen
PHP Manual

ncurses_echochar

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_echochar — Single character output including refresh

Beschreibung

int ncurses_echochar ( int $character )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

character

ncurses_echo
ncurses_end
Ncurses Funktionen


Stop using ncurses, clean up the screen

ncurses_echochar
ncurses_erase
Ncurses Funktionen
PHP Manual

ncurses_end

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_end — Stop using ncurses, clean up the screen

Beschreibung

int ncurses_end ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

ncurses_echochar
ncurses_erase
Ncurses Funktionen


Erase terminal screen

ncurses_end
ncurses_erasechar
Ncurses Funktionen
PHP Manual

ncurses_erase

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_erase — Erase terminal screen

Beschreibung

bool ncurses_erase ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Fills the terminal screen with blanks.

Created blanks have the current background rendition, set by ncurses_bkgd().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ncurses_bkgd() - Set background property for terminal screen
  • ncurses_clear() - Clear screen

ncurses_end
ncurses_erasechar
Ncurses Funktionen


Returns current erase character

ncurses_erase
ncurses_filter
Ncurses Funktionen
PHP Manual

ncurses_erasechar

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_erasechar — Returns current erase character

Beschreibung

string ncurses_erasechar ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Returns the current erase character.

Rückgabewerte

The current erase char, as a string.

Siehe auch

  • ncurses_killchar() - Returns current line kill character

ncurses_erase
ncurses_filter
Ncurses Funktionen


Set LINES for iniscr() and newterm() to 1

ncurses_erasechar
ncurses_flash
Ncurses Funktionen
PHP Manual

ncurses_filter

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_filter — Set LINES for iniscr() and newterm() to 1

Beschreibung

void ncurses_filter ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

ncurses_erasechar
ncurses_flash
Ncurses Funktionen


Flash terminal screen (visual bell)

ncurses_filter
ncurses_flushinp
Ncurses Funktionen
PHP Manual

ncurses_flash

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_flash — Flash terminal screen (visual bell)

Beschreibung

bool ncurses_flash ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Flashes the screen, and if its not possible, sends an audible alert (bell).

Rückgabewerte

Returns FALSE on success, otherwise TRUE.

Siehe auch

  • ncurses_beep() - Let the terminal beep

ncurses_filter
ncurses_flushinp
Ncurses Funktionen


Flush keyboard input buffer

ncurses_flash
ncurses_getch
Ncurses Funktionen
PHP Manual

ncurses_flushinp

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_flushinp — Flush keyboard input buffer

Beschreibung

bool ncurses_flushinp ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Throws away any typeahead that has been typed and has not yet been read by your program.

Rückgabewerte

Returns FALSE on success, otherwise TRUE.

ncurses_flash
ncurses_getch
Ncurses Funktionen


Read a character from keyboard

ncurses_flushinp
ncurses_getmaxyx
Ncurses Funktionen
PHP Manual

ncurses_getch

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_getch — Read a character from keyboard

Beschreibung

int ncurses_getch ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

ncurses_flushinp
ncurses_getmaxyx
Ncurses Funktionen


Returns the size of a window

ncurses_getch
ncurses_getmouse
Ncurses Funktionen
PHP Manual

ncurses_getmaxyx

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_getmaxyx — Returns the size of a window

Beschreibung

void ncurses_getmaxyx ( resource $window , int &$y , int &$x )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Gets the horizontal and vertical size of the given window into the given variables.

Variables must be passed as reference, so they are updated when the user changes the terminal size.

Parameter-Liste

window

The measured window

y

This will be set to the window height

x

This will be set to the window width

Rückgabewerte

Es wird kein Wert zurückgegeben.

ncurses_getch
ncurses_getmouse
Ncurses Funktionen


Reads mouse event

ncurses_getmaxyx
ncurses_getyx
Ncurses Funktionen
PHP Manual

ncurses_getmouse

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_getmouse — Reads mouse event

Beschreibung

bool ncurses_getmouse ( array &$mevent )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

ncurses_getmouse() reads mouse event out of queue.

Parameter-Liste

mevent

Event options will be delivered in this parameter which has to be an array, passed by reference (see example below).

On success an associative array with following keys will be delivered:

  • "id" : Id to distinguish multiple devices

  • "x" : screen relative x-position in character cells

  • "y" : screen relative y-position in character cells

  • "z" : currently not supported

  • "mmask" : Mouse action

Rückgabewerte

Returns FALSE if a mouse event is actually visible in the given window, otherwise returns TRUE.

Beispiele

Beispiel #1 ncurses_getmouse() example

<?php
switch (ncurses_getch()){
  case NCURSES_KEY_MOUSE:
    if (!ncurses_getmouse($mevent)){
      if ($mevent["mmask"] & NCURSES_MOUSE_BUTTON1_PRESSED){
        $mouse_x = $mevent["x"]; // Save mouse position
        $mouse_y = $mevent["y"];
      }
    }
  break;

  default:
    /* .... */
}
?>

Siehe auch

  • ncurses_ungetmouse() - Pushes mouse event to queue

ncurses_getmaxyx
ncurses_getyx
Ncurses Funktionen


Returns the current cursor position for a window

ncurses_getmouse
ncurses_halfdelay
Ncurses Funktionen
PHP Manual

ncurses_getyx

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_getyx — Returns the current cursor position for a window

Beschreibung

void ncurses_getyx ( resource $window , int &$y , int &$x )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

window

y

x

ncurses_getmouse
ncurses_halfdelay
Ncurses Funktionen


Put terminal into halfdelay mode

ncurses_getyx
ncurses_has_colors
Ncurses Funktionen
PHP Manual

ncurses_halfdelay

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_halfdelay — Put terminal into halfdelay mode

Beschreibung

int ncurses_halfdelay ( int $tenth )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

tenth

ncurses_getyx
ncurses_has_colors
Ncurses Funktionen


Checks if terminal has color capabilities

ncurses_halfdelay
ncurses_has_ic
Ncurses Funktionen
PHP Manual

ncurses_has_colors

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_has_colors — Checks if terminal has color capabilities

Beschreibung

bool ncurses_has_colors ( void )

Checks whether the terminal has color capabilities. This function can be used to write terminal-independent programs. ncurses must be initialized using ncurses_init() before calling this function.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Return TRUE if the terminal has color capabilities, FALSE otherwise.

Beispiele

Beispiel #1 Writing a string with a specified color to the screen

<?php
ncurses_init();

// If the terminal supports colors, initialize and set active color
if (ncurses_has_colors()) {
    ncurses_start_color();
    ncurses_init_pair(1, NCURSES_COLOR_YELLOW, NCURSES_COLOR_BLUE);
    ncurses_color_set(1);
}

// Write a string at specified location
ncurses_mvaddstr(10, 10, "Hello world! Yellow on blue text!");

// Flush output to screen
ncurses_refresh();

ncurses_end();
?>

Siehe auch

  • ncurses_can_change_color() - Checks if terminal color definitions can be changed
  • ncurses_start_color() - Initializes color functionality

ncurses_halfdelay
ncurses_has_ic
Ncurses Funktionen


Check for insert- and delete-capabilities

ncurses_has_colors
ncurses_has_il
Ncurses Funktionen
PHP Manual

ncurses_has_ic

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_has_ic — Check for insert- and delete-capabilities

Beschreibung

bool ncurses_has_ic ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Checks whether the terminal has insert and delete capabilities.

Rückgabewerte

Returns TRUE if the terminal has insert/delete-capabilities, FALSE otherwise.

Siehe auch

  • ncurses_has_il() - Check for line insert- and delete-capabilities

ncurses_has_colors
ncurses_has_il
Ncurses Funktionen


Check for line insert- and delete-capabilities

ncurses_has_ic
ncurses_has_key
Ncurses Funktionen
PHP Manual

ncurses_has_il

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_has_il — Check for line insert- and delete-capabilities

Beschreibung

bool ncurses_has_il ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Checks whether the terminal has insert- and delete-line-capabilities.

Rückgabewerte

Returns TRUE if the terminal has insert/delete-line capabilities, FALSE otherwise.

Siehe auch

  • ncurses_has_ic() - Check for insert- and delete-capabilities

ncurses_has_ic
ncurses_has_key
Ncurses Funktionen


Check for presence of a function key on terminal keyboard

ncurses_has_il
ncurses_hide_panel
Ncurses Funktionen
PHP Manual

ncurses_has_key

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_has_key — Check for presence of a function key on terminal keyboard

Beschreibung

int ncurses_has_key ( int $keycode )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

keycode

ncurses_has_il
ncurses_hide_panel
Ncurses Funktionen


Remove panel from the stack, making it invisible

ncurses_has_key
ncurses_hline
Ncurses Funktionen
PHP Manual

ncurses_hide_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_hide_panel — Remove panel from the stack, making it invisible

Beschreibung

int ncurses_hide_panel ( resource $panel )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

panel

ncurses_has_key
ncurses_hline
Ncurses Funktionen


Draw a horizontal line at current position using an attributed character and max. n characters long

ncurses_hide_panel
ncurses_inch
Ncurses Funktionen
PHP Manual

ncurses_hline

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_hline — Draw a horizontal line at current position using an attributed character and max. n characters long

Beschreibung

int ncurses_hline ( int $charattr , int $n )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

charattr

n

ncurses_hide_panel
ncurses_inch
Ncurses Funktionen


Get character and attribute at current position

ncurses_hline
ncurses_init_color
Ncurses Funktionen
PHP Manual

ncurses_inch

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_inch — Get character and attribute at current position

Beschreibung

string ncurses_inch ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Returns the character from the current position.

Rückgabewerte

Returns the character, as a string.

ncurses_hline
ncurses_init_color
Ncurses Funktionen


Define a terminal color

ncurses_inch
ncurses_init_pair
Ncurses Funktionen
PHP Manual

ncurses_init_color

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_init_color — Define a terminal color

Beschreibung

int ncurses_init_color ( int $color , int $r , int $g , int $b )

Defines or redefines the given color. When this function is called, all occurrences of the given color on the screen, if any, immediately change to the new definition.

Color capabilities must be supported by the terminal and initialized using ncurses_start_color() prior to calling this function. In addition, the terminal must have color changing capabilities; use ncurses_can_change_color() to check for this.

Parameter-Liste

color

The identification number of the color to redefine. It may be one of the default color constants.

r

A color value, between 0 and 1000, for the red component.

g

A color value, between 0 and 1000, for the green component.

b

A color value, between 0 and 1000, for the blue component.

Rückgabewerte

Returns -1 if the function was successful, and 0 if ncurses or terminal color capabilities have not been initialized or the terminal does not have color changing capabilities.

Siehe auch

  • ncurses_color_content() - Retrieves RGB components of a color
  • ncurses_start_color() - Initializes color functionality

ncurses_inch
ncurses_init_pair
Ncurses Funktionen


Define a color pair

ncurses_init_color
ncurses_init
Ncurses Funktionen
PHP Manual

ncurses_init_pair

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_init_pair — Define a color pair

Beschreibung

int ncurses_init_pair ( int $pair , int $fg , int $bg )

Defines or redefines the given color pair to have the given foreground and background colors. If the color pair was previously initialized, the screen is refreshed and all occurrences of it are changed to reflect the new definition.

Color capabilities must be initialized using ncurses_start_color() before calling this function. The first color pair (color pair 0) is assumed to be white on black by default, but can be changed using ncurses_assume_default_colors().

Parameter-Liste

pair

The number of the color pair to define.

fg

The foreground color for the color pair. May be one of the pre-defined colors or one defined by ncurses_init_color() if the terminal has color changing capabilities.

bg

The background color for the color pair. May be one of the pre-defined colors or one defined by ncurses_init_color() if the terminal has color changing capabilities.

Rückgabewerte

Returns -1 if the function was successful, and 0 if ncurses or color support were not initialized.

Anmerkungen

Note that color changing capabilities are not required for defining color pairs of pre-existing colors, but only for changing definitions (red, green, and blue components) of colors themselves per ncurses_init_color().

Beispiele

Beispiel #1 Writing a string with a specified color to the screen

<?php
ncurses_init();

// If the terminal supports colors, initialize and set active color
if (ncurses_has_colors()) {
    ncurses_start_color();
    ncurses_init_pair(1, NCURSES_COLOR_YELLOW, NCURSES_COLOR_BLUE);
    ncurses_color_set(1);
}

// Write a string at specified location
ncurses_mvaddstr(10, 10, "Hello world! Yellow on blue text!");

// Flush output to screen
ncurses_refresh();

ncurses_end();
?>

Siehe auch

  • ncurses_pair_content() - Retrieves foreground and background colors of a color pair
  • ncurses_start_color() - Initializes color functionality

ncurses_init_color
ncurses_init
Ncurses Funktionen


Initialize ncurses

ncurses_init_pair
ncurses_insch
Ncurses Funktionen
PHP Manual

ncurses_init

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_init — Initialize ncurses

Beschreibung

void ncurses_init ( void )

Initializes the ncurses interface. This function must be used before any other ncurses function call.

Note that ncurses_end() must be called before exiting from the program, or the terminal will not be restored to its proper non-visual mode.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • ncurses_end() - Stop using ncurses, clean up the screen

ncurses_init_pair
ncurses_insch
Ncurses Funktionen


Insert character moving rest of line including character at current position

ncurses_init
ncurses_insdelln
Ncurses Funktionen
PHP Manual

ncurses_insch

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_insch — Insert character moving rest of line including character at current position

Beschreibung

int ncurses_insch ( int $character )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

character

ncurses_init
ncurses_insdelln
Ncurses Funktionen


Insert lines before current line scrolling down (negative numbers delete and scroll up)

ncurses_insch
ncurses_insertln
Ncurses Funktionen
PHP Manual

ncurses_insdelln

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_insdelln — Insert lines before current line scrolling down (negative numbers delete and scroll up)

Beschreibung

int ncurses_insdelln ( int $count )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

count

ncurses_insch
ncurses_insertln
Ncurses Funktionen


Insert a line, move rest of screen down

ncurses_insdelln
ncurses_insstr
Ncurses Funktionen
PHP Manual

ncurses_insertln

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_insertln — Insert a line, move rest of screen down

Beschreibung

int ncurses_insertln ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Inserts a new line above the current line. The bottom line will be lost.

ncurses_insdelln
ncurses_insstr
Ncurses Funktionen


Insert string at current position, moving rest of line right

ncurses_insertln
ncurses_instr
Ncurses Funktionen
PHP Manual

ncurses_insstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_insstr — Insert string at current position, moving rest of line right

Beschreibung

int ncurses_insstr ( string $text )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

text

ncurses_insertln
ncurses_instr
Ncurses Funktionen


Reads string from terminal screen

ncurses_insstr
ncurses_isendwin
Ncurses Funktionen
PHP Manual

ncurses_instr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_instr — Reads string from terminal screen

Beschreibung

int ncurses_instr ( string &$buffer )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Reads a string from the terminal screen and returns the number of characters read from the current character position until end of line.

Parameter-Liste

buffer

The characters. Attributes will be stripped.

Rückgabewerte

Returns the number of characters.

ncurses_insstr
ncurses_isendwin
Ncurses Funktionen


Ncurses is in endwin mode, normal screen output may be performed

ncurses_instr
ncurses_keyok
Ncurses Funktionen
PHP Manual

ncurses_isendwin

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_isendwin — Ncurses is in endwin mode, normal screen output may be performed

Beschreibung

bool ncurses_isendwin ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Checks if ncurses is in endwin mode.

Rückgabewerte

Returns TRUE, if ncurses_end() has been called without any subsequent calls to ncurses_wrefresh(), FALSE otherwise.

Siehe auch

  • ncurses_end() - Stop using ncurses, clean up the screen
  • ncurses_wrefresh() - Refresh window on terminal screen

ncurses_instr
ncurses_keyok
Ncurses Funktionen


Enable or disable a keycode

ncurses_isendwin
ncurses_keypad
Ncurses Funktionen
PHP Manual

ncurses_keyok

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_keyok — Enable or disable a keycode

Beschreibung

int ncurses_keyok ( int $keycode , bool $enable )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

keycode

enable

ncurses_isendwin
ncurses_keypad
Ncurses Funktionen


Turns keypad on or off

ncurses_keyok
ncurses_killchar
Ncurses Funktionen
PHP Manual

ncurses_keypad

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_keypad — Turns keypad on or off

Beschreibung

int ncurses_keypad ( resource $window , bool $bf )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

window

bf

ncurses_keyok
ncurses_killchar
Ncurses Funktionen


Returns current line kill character

ncurses_keypad
ncurses_longname
Ncurses Funktionen
PHP Manual

ncurses_killchar

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_killchar — Returns current line kill character

Beschreibung

string ncurses_killchar ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Returns the current line kill character.

Rückgabewerte

Returns the kill character, as a string.

Siehe auch

  • ncurses_erasechar() - Returns current erase character

ncurses_keypad
ncurses_longname
Ncurses Funktionen


Returns terminals description

ncurses_killchar
ncurses_meta
Ncurses Funktionen
PHP Manual

ncurses_longname

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_longname — Returns terminals description

Beschreibung

string ncurses_longname ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Returns a verbose description of the terminal.

Rückgabewerte

Returns the description, as a string truncated to 128 characters. On errors, returns NULL.

Siehe auch

  • ncurses_termname() - Returns terminals (short)-name

ncurses_killchar
ncurses_meta
Ncurses Funktionen


Enables/Disable 8-bit meta key information

ncurses_longname
ncurses_mouse_trafo
Ncurses Funktionen
PHP Manual

ncurses_meta

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_meta — Enables/Disable 8-bit meta key information

Beschreibung

int ncurses_meta ( resource $window , bool $8bit )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

window

8bit

ncurses_longname
ncurses_mouse_trafo
Ncurses Funktionen


Transforms coordinates

ncurses_meta
ncurses_mouseinterval
Ncurses Funktionen
PHP Manual

ncurses_mouse_trafo

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mouse_trafo — Transforms coordinates

Beschreibung

bool ncurses_mouse_trafo ( int &$y , int &$x , bool $toscreen )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

y

x

toscreen

ncurses_meta
ncurses_mouseinterval
Ncurses Funktionen


Set timeout for mouse button clicks

ncurses_mouse_trafo
ncurses_mousemask
Ncurses Funktionen
PHP Manual

ncurses_mouseinterval

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mouseinterval — Set timeout for mouse button clicks

Beschreibung

int ncurses_mouseinterval ( int $milliseconds )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

milliseconds

ncurses_mouse_trafo
ncurses_mousemask
Ncurses Funktionen


Sets mouse options

ncurses_mouseinterval
ncurses_move_panel
Ncurses Funktionen
PHP Manual

ncurses_mousemask

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mousemask — Sets mouse options

Beschreibung

int ncurses_mousemask ( int $newmask , int &$oldmask )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Sets mouse events to be reported. By default no mouse events will be reported.

Mouse events are represented by NCURSES_KEY_MOUSE in the ncurses_wgetch() input stream. To read the event data and pop the event of queue, call ncurses_getmouse().

Parameter-Liste

newmask

Mouse mask options can be set with the following predefined constants:

  • NCURSES_BUTTON1_PRESSED

  • NCURSES_BUTTON1_RELEASED

  • NCURSES_BUTTON1_CLICKED

  • NCURSES_BUTTON1_DOUBLE_CLICKED

  • NCURSES_BUTTON1_TRIPLE_CLICKED

  • NCURSES_BUTTON2_PRESSED

  • NCURSES_BUTTON2_RELEASED

  • NCURSES_BUTTON2_CLICKED

  • NCURSES_BUTTON2_DOUBLE_CLICKED

  • NCURSES_BUTTON2_TRIPLE_CLICKED

  • NCURSES_BUTTON3_PRESSED

  • NCURSES_BUTTON3_RELEASED

  • NCURSES_BUTTON3_CLICKED

  • NCURSES_BUTTON3_DOUBLE_CLICKED

  • NCURSES_BUTTON3_TRIPLE_CLICKED

  • NCURSES_BUTTON4_PRESSED

  • NCURSES_BUTTON4_RELEASED

  • NCURSES_BUTTON4_CLICKED

  • NCURSES_BUTTON4_DOUBLE_CLICKED

  • NCURSES_BUTTON4_TRIPLE_CLICKED

  • NCURSES_BUTTON_SHIFT>

  • NCURSES_BUTTON_CTRL

  • NCURSES_BUTTON_ALT

  • NCURSES_ALL_MOUSE_EVENTS

  • NCURSES_REPORT_MOUSE_POSITION

As a side effect, setting a zero mousemask in newmask turns off the mouse pointer. Setting a non zero value turns mouse pointer on.

oldmask

This will be set to the previous value of the mouse event mask.

Rückgabewerte

Returns the mask of reportable events. On complete failure, it returns 0.

Beispiele

Beispiel #1 ncurses_mousemask() example

<?php
$newmask = NCURSES_BUTTON1_CLICKED + NCURSES_BUTTON1_RELEASED;
$mask = ncurses_mousemask($newmask, $oldmask);
if ($mask & $newmask){
    printf("All specified mouse options will be supported\n");
}
?>

Siehe auch

  • ncurses_getch() - Read a character from keyboard
  • ncurses_getmouse() - Reads mouse event
  • ncurses_ungetmouse() - Pushes mouse event to queue

ncurses_mouseinterval
ncurses_move_panel
Ncurses Funktionen


Moves a panel so that its upper-left corner is at [startx, starty]

ncurses_mousemask
ncurses_move
Ncurses Funktionen
PHP Manual

ncurses_move_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_move_panel — Moves a panel so that its upper-left corner is at [startx, starty]

Beschreibung

int ncurses_move_panel ( resource $panel , int $startx , int $starty )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

panel

startx

starty

ncurses_mousemask
ncurses_move
Ncurses Funktionen


Move output position

ncurses_move_panel
ncurses_mvaddch
Ncurses Funktionen
PHP Manual

ncurses_move

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_move — Move output position

Beschreibung

int ncurses_move ( int $y , int $x )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

y

x

ncurses_move_panel
ncurses_mvaddch
Ncurses Funktionen


Move current position and add character

ncurses_move
ncurses_mvaddchnstr
Ncurses Funktionen
PHP Manual

ncurses_mvaddch

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvaddch — Move current position and add character

Beschreibung

int ncurses_mvaddch ( int $y , int $x , int $c )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

y

x

c

ncurses_move
ncurses_mvaddchnstr
Ncurses Funktionen


Move position and add attributed string with specified length

ncurses_mvaddch
ncurses_mvaddchstr
Ncurses Funktionen
PHP Manual

ncurses_mvaddchnstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvaddchnstr — Move position and add attributed string with specified length

Beschreibung

int ncurses_mvaddchnstr ( int $y , int $x , string $s , int $n )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

y

x

s

n

ncurses_mvaddch
ncurses_mvaddchstr
Ncurses Funktionen


Move position and add attributed string

ncurses_mvaddchnstr
ncurses_mvaddnstr
Ncurses Funktionen
PHP Manual

ncurses_mvaddchstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvaddchstr — Move position and add attributed string

Beschreibung

int ncurses_mvaddchstr ( int $y , int $x , string $s )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

y

x

s

ncurses_mvaddchnstr
ncurses_mvaddnstr
Ncurses Funktionen


Move position and add string with specified length

ncurses_mvaddchstr
ncurses_mvaddstr
Ncurses Funktionen
PHP Manual

ncurses_mvaddnstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvaddnstr — Move position and add string with specified length

Beschreibung

int ncurses_mvaddnstr ( int $y , int $x , string $s , int $n )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

y

x

s

n

ncurses_mvaddchstr
ncurses_mvaddstr
Ncurses Funktionen


Move position and add string

ncurses_mvaddnstr
ncurses_mvcur
Ncurses Funktionen
PHP Manual

ncurses_mvaddstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvaddstr — Move position and add string

Beschreibung

int ncurses_mvaddstr ( int $y , int $x , string $s )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

y

x

s

ncurses_mvaddnstr
ncurses_mvcur
Ncurses Funktionen


Move cursor immediately

ncurses_mvaddstr
ncurses_mvdelch
Ncurses Funktionen
PHP Manual

ncurses_mvcur

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvcur — Move cursor immediately

Beschreibung

int ncurses_mvcur ( int $old_y , int $old_x , int $new_y , int $new_x )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

old_y

old_x

new_y

new_x

ncurses_mvaddstr
ncurses_mvdelch
Ncurses Funktionen


Move position and delete character, shift rest of line left

ncurses_mvcur
ncurses_mvgetch
Ncurses Funktionen
PHP Manual

ncurses_mvdelch

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvdelch — Move position and delete character, shift rest of line left

Beschreibung

int ncurses_mvdelch ( int $y , int $x )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

y

x

ncurses_mvcur
ncurses_mvgetch
Ncurses Funktionen


Move position and get character at new position

ncurses_mvdelch
ncurses_mvhline
Ncurses Funktionen
PHP Manual

ncurses_mvgetch

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvgetch — Move position and get character at new position

Beschreibung

int ncurses_mvgetch ( int $y , int $x )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

y

x

ncurses_mvdelch
ncurses_mvhline
Ncurses Funktionen


Set new position and draw a horizontal line using an attributed character and max. n characters long

ncurses_mvgetch
ncurses_mvinch
Ncurses Funktionen
PHP Manual

ncurses_mvhline

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvhline — Set new position and draw a horizontal line using an attributed character and max. n characters long

Beschreibung

int ncurses_mvhline ( int $y , int $x , int $attrchar , int $n )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

y

x

attrchar

n

ncurses_mvgetch
ncurses_mvinch
Ncurses Funktionen


Move position and get attributed character at new position

ncurses_mvhline
ncurses_mvvline
Ncurses Funktionen
PHP Manual

ncurses_mvinch

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvinch — Move position and get attributed character at new position

Beschreibung

int ncurses_mvinch ( int $y , int $x )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

y

x

ncurses_mvhline
ncurses_mvvline
Ncurses Funktionen


Set new position and draw a vertical line using an attributed character and max. n characters long

ncurses_mvinch
ncurses_mvwaddstr
Ncurses Funktionen
PHP Manual

ncurses_mvvline

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvvline — Set new position and draw a vertical line using an attributed character and max. n characters long

Beschreibung

int ncurses_mvvline ( int $y , int $x , int $attrchar , int $n )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

y

x

attrchar

n

ncurses_mvinch
ncurses_mvwaddstr
Ncurses Funktionen


Add string at new position in window

ncurses_mvvline
ncurses_napms
Ncurses Funktionen
PHP Manual

ncurses_mvwaddstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvwaddstr — Add string at new position in window

Beschreibung

int ncurses_mvwaddstr ( resource $window , int $y , int $x , string $text )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

window

y

x

text

ncurses_mvvline
ncurses_napms
Ncurses Funktionen


Sleep

ncurses_mvwaddstr
ncurses_new_panel
Ncurses Funktionen
PHP Manual

ncurses_napms

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_napms — Sleep

Beschreibung

int ncurses_napms ( int $milliseconds )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

milliseconds

ncurses_mvwaddstr
ncurses_new_panel
Ncurses Funktionen


Create a new panel and associate it with window

ncurses_napms
ncurses_newpad
Ncurses Funktionen
PHP Manual

ncurses_new_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_new_panel — Create a new panel and associate it with window

Beschreibung

resource ncurses_new_panel ( resource $window )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

window

ncurses_napms
ncurses_newpad
Ncurses Funktionen


Creates a new pad (window)

ncurses_new_panel
ncurses_newwin
Ncurses Funktionen
PHP Manual

ncurses_newpad

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_newpad — Creates a new pad (window)

Beschreibung

resource ncurses_newpad ( int $rows , int $cols )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

rows

cols

ncurses_new_panel
ncurses_newwin
Ncurses Funktionen


Create a new window

ncurses_newpad
ncurses_nl
Ncurses Funktionen
PHP Manual

ncurses_newwin

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_newwin — Create a new window

Beschreibung

resource ncurses_newwin ( int $rows , int $cols , int $y , int $x )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Creates a new window to draw elements in.

When creating additional windows, remember to use ncurses_getmaxyx() to check for available space, as terminal size is individual and may vary.

Parameter-Liste

rows

Number of rows

cols

Number of columns

y

y-coordinate of the origin

x

x-coordinate of the origin

Rückgabewerte

Returns a resource ID for the new window.

ncurses_newpad
ncurses_nl
Ncurses Funktionen


Translate newline and carriage return / line feed

ncurses_newwin
ncurses_nocbreak
Ncurses Funktionen
PHP Manual

ncurses_nl

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_nl — Translate newline and carriage return / line feed

Beschreibung

bool ncurses_nl ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

ncurses_newwin
ncurses_nocbreak
Ncurses Funktionen


Switch terminal to cooked mode

ncurses_nl
ncurses_noecho
Ncurses Funktionen
PHP Manual

ncurses_nocbreak

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_nocbreak — Switch terminal to cooked mode

Beschreibung

bool ncurses_nocbreak ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Returns terminal to normal (cooked) mode. Initially the terminal may or may not be in cbreak mode as the mode is inherited. Therefore a program should call ncurses_cbreak() and ncurses_nocbreak() explicitly.

Rückgabewerte

Returns TRUE if any error occurred, otherwise FALSE.

Siehe auch

  • ncurses_cbreak() - Switch off input buffering

ncurses_nl
ncurses_noecho
Ncurses Funktionen


Switch off keyboard input echo

ncurses_nocbreak
ncurses_nonl
Ncurses Funktionen
PHP Manual

ncurses_noecho

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_noecho — Switch off keyboard input echo

Beschreibung

bool ncurses_noecho ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Prevents echoing of user typed characters.

Rückgabewerte

Returns TRUE if any error occurred, FALSE otherwise.

Siehe auch

  • ncurses_echo() - Activate keyboard input echo
  • ncurses_getch() - Read a character from keyboard

ncurses_nocbreak
ncurses_nonl
Ncurses Funktionen


Do not translate newline and carriage return / line feed

ncurses_noecho
ncurses_noqiflush
Ncurses Funktionen
PHP Manual

ncurses_nonl

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_nonl — Do not translate newline and carriage return / line feed

Beschreibung

bool ncurses_nonl ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

ncurses_noecho
ncurses_noqiflush
Ncurses Funktionen


Do not flush on signal characters

ncurses_nonl
ncurses_noraw
Ncurses Funktionen
PHP Manual

ncurses_noqiflush

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_noqiflush — Do not flush on signal characters

Beschreibung

void ncurses_noqiflush ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

ncurses_nonl
ncurses_noraw
Ncurses Funktionen


Switch terminal out of raw mode

ncurses_noqiflush
ncurses_pair_content
Ncurses Funktionen
PHP Manual

ncurses_noraw

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_noraw — Switch terminal out of raw mode

Beschreibung

bool ncurses_noraw ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Switches the terminal out of raw mode. Raw mode is similar to cbreak mode, in that characters typed are immediately passed through to the user program. The difference is that in raw mode, the interrupt, quit, suspend and flow control characters are all passed through uninterpreted, instead of generating a signal.

Rückgabewerte

Returns TRUE if any error occurred, otherwise FALSE.

Siehe auch

  • ncurses_raw() - Switch terminal into raw mode
  • ncurses_cbreak() - Switch off input buffering
  • ncurses_nocbreak() - Switch terminal to cooked mode

ncurses_noqiflush
ncurses_pair_content
Ncurses Funktionen


Retrieves foreground and background colors of a color pair

ncurses_noraw
ncurses_panel_above
Ncurses Funktionen
PHP Manual

ncurses_pair_content

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_pair_content — Retrieves foreground and background colors of a color pair

Beschreibung

int ncurses_pair_content ( int $pair , int &$f , int &$b )

Retrieves the foreground and background colors that constitute the given color pair. Terminal color capabilities must be initialized with ncurses_start_color() prior to calling this function.

Parameter-Liste

pair

The number of the color pair to retrieve information for.

f

A reference to which to return the foreground color of the color pair. The information returned will be a color number referring to one of the pre-defined colors or a color defined previously by ncurses_init_color() if the terminal supports color changing.

b

A reference to which to return the background color of the color pair. The information returned will be a color number referring to one of the pre-defined colors or a color defined previously by ncurses_init_color() if the terminal supports color changing.

Rückgabewerte

Returns -1 if the function was successful, and 0 if ncurses or terminal color capabilities have not been initialized.

Siehe auch

  • ncurses_init_pair() - Define a color pair
  • ncurses_start_color() - Initializes color functionality

ncurses_noraw
ncurses_panel_above
Ncurses Funktionen


Returns the panel above panel

ncurses_pair_content
ncurses_panel_below
Ncurses Funktionen
PHP Manual

ncurses_panel_above

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_panel_above — Returns the panel above panel

Beschreibung

resource ncurses_panel_above ( resource $panel )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

panel

Rückgabewerte

If panel is null, returns the bottom panel in the stack.

ncurses_pair_content
ncurses_panel_below
Ncurses Funktionen


Returns the panel below panel

ncurses_panel_above
ncurses_panel_window
Ncurses Funktionen
PHP Manual

ncurses_panel_below

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_panel_below — Returns the panel below panel

Beschreibung

resource ncurses_panel_below ( resource $panel )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

panel

Parameter-Liste

If panel is null, returns the top panel in the stack.

ncurses_panel_above
ncurses_panel_window
Ncurses Funktionen


Returns the window associated with panel

ncurses_panel_below
ncurses_pnoutrefresh
Ncurses Funktionen
PHP Manual

ncurses_panel_window

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_panel_window — Returns the window associated with panel

Beschreibung

resource ncurses_panel_window ( resource $panel )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

panel

ncurses_panel_below
ncurses_pnoutrefresh
Ncurses Funktionen


Copies a region from a pad into the virtual screen

ncurses_panel_window
ncurses_prefresh
Ncurses Funktionen
PHP Manual

ncurses_pnoutrefresh

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_pnoutrefresh — Copies a region from a pad into the virtual screen

Beschreibung

int ncurses_pnoutrefresh ( resource $pad , int $pminrow , int $pmincol , int $sminrow , int $smincol , int $smaxrow , int $smaxcol )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

pad

pminrow

pmincol

sminrow

smincol

smaxrow

smaxcol

ncurses_panel_window
ncurses_prefresh
Ncurses Funktionen


Copies a region from a pad into the virtual screen

ncurses_pnoutrefresh
ncurses_putp
Ncurses Funktionen
PHP Manual

ncurses_prefresh

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_prefresh — Copies a region from a pad into the virtual screen

Beschreibung

int ncurses_prefresh ( resource $pad , int $pminrow , int $pmincol , int $sminrow , int $smincol , int $smaxrow , int $smaxcol )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

pad

pminrow

pmincol

sminrow

smincol

smaxrow

smaxcol

ncurses_pnoutrefresh
ncurses_putp
Ncurses Funktionen


Apply padding information to the string and output it

ncurses_prefresh
ncurses_qiflush
Ncurses Funktionen
PHP Manual

ncurses_putp

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_putp — Apply padding information to the string and output it

Beschreibung

int ncurses_putp ( string $text )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

text

ncurses_prefresh
ncurses_qiflush
Ncurses Funktionen


Flush on signal characters

ncurses_putp
ncurses_raw
Ncurses Funktionen
PHP Manual

ncurses_qiflush

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_qiflush — Flush on signal characters

Beschreibung

void ncurses_qiflush ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

ncurses_putp
ncurses_raw
Ncurses Funktionen


Switch terminal into raw mode

ncurses_qiflush
ncurses_refresh
Ncurses Funktionen
PHP Manual

ncurses_raw

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_raw — Switch terminal into raw mode

Beschreibung

bool ncurses_raw ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Places the terminal in raw mode. Raw mode is similar to cbreak mode, in that characters typed are immediately passed through to the user program. The difference is that in raw mode, the interrupt, quit, suspend and flow control characters are all passed through uninterpreted, instead of generating a signal.

Rückgabewerte

Returns TRUE if any error occurred, otherwise FALSE.

Siehe auch

  • ncurses_noraw() - Switch terminal out of raw mode
  • ncurses_cbreak() - Switch off input buffering
  • ncurses_nocbreak() - Switch terminal to cooked mode

ncurses_qiflush
ncurses_refresh
Ncurses Funktionen


Refresh screen

ncurses_raw
ncurses_replace_panel
Ncurses Funktionen
PHP Manual

ncurses_refresh

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_refresh — Refresh screen

Beschreibung

int ncurses_refresh ( int $ch )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

ch

ncurses_raw
ncurses_replace_panel
Ncurses Funktionen


Replaces the window associated with panel

ncurses_refresh
ncurses_reset_prog_mode
Ncurses Funktionen
PHP Manual

ncurses_replace_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_replace_panel — Replaces the window associated with panel

Beschreibung

int ncurses_replace_panel ( resource $panel , resource $window )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

panel

window

ncurses_refresh
ncurses_reset_prog_mode
Ncurses Funktionen


Resets the prog mode saved by def_prog_mode

ncurses_replace_panel
ncurses_reset_shell_mode
Ncurses Funktionen
PHP Manual

ncurses_reset_prog_mode

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_reset_prog_mode — Resets the prog mode saved by def_prog_mode

Beschreibung

int ncurses_reset_prog_mode ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

ncurses_replace_panel
ncurses_reset_shell_mode
Ncurses Funktionen


Resets the shell mode saved by def_shell_mode

ncurses_reset_prog_mode
ncurses_resetty
Ncurses Funktionen
PHP Manual

ncurses_reset_shell_mode

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_reset_shell_mode — Resets the shell mode saved by def_shell_mode

Beschreibung

int ncurses_reset_shell_mode ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

ncurses_reset_prog_mode
ncurses_resetty
Ncurses Funktionen


Restores saved terminal state

ncurses_reset_shell_mode
ncurses_savetty
Ncurses Funktionen
PHP Manual

ncurses_resetty

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_resetty — Restores saved terminal state

Beschreibung

bool ncurses_resetty ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Restores the terminal state, which was previously saved by calling ncurses_savetty().

Rückgabewerte

Always returns FALSE.

Siehe auch

  • ncurses_savetty() - Saves terminal state

ncurses_reset_shell_mode
ncurses_savetty
Ncurses Funktionen


Saves terminal state

ncurses_resetty
ncurses_scr_dump
Ncurses Funktionen
PHP Manual

ncurses_savetty

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_savetty — Saves terminal state

Beschreibung

bool ncurses_savetty ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Saves the current terminal state. The saved terminal state can be restored with ncurses_resetty().

Rückgabewerte

Always returns FALSE.

Siehe auch

  • ncurses_resetty() - Restores saved terminal state

ncurses_resetty
ncurses_scr_dump
Ncurses Funktionen


Dump screen content to file

ncurses_savetty
ncurses_scr_init
Ncurses Funktionen
PHP Manual

ncurses_scr_dump

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_scr_dump — Dump screen content to file

Beschreibung

int ncurses_scr_dump ( string $filename )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

filename

ncurses_savetty
ncurses_scr_init
Ncurses Funktionen


Initialize screen from file dump

ncurses_scr_dump
ncurses_scr_restore
Ncurses Funktionen
PHP Manual

ncurses_scr_init

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_scr_init — Initialize screen from file dump

Beschreibung

int ncurses_scr_init ( string $filename )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

filename

ncurses_scr_dump
ncurses_scr_restore
Ncurses Funktionen


Restore screen from file dump

ncurses_scr_init
ncurses_scr_set
Ncurses Funktionen
PHP Manual

ncurses_scr_restore

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_scr_restore — Restore screen from file dump

Beschreibung

int ncurses_scr_restore ( string $filename )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

filename

ncurses_scr_init
ncurses_scr_set
Ncurses Funktionen


Inherit screen from file dump

ncurses_scr_restore
ncurses_scrl
Ncurses Funktionen
PHP Manual

ncurses_scr_set

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_scr_set — Inherit screen from file dump

Beschreibung

int ncurses_scr_set ( string $filename )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

filename

ncurses_scr_restore
ncurses_scrl
Ncurses Funktionen


Scroll window content up or down without changing current position

ncurses_scr_set
ncurses_show_panel
Ncurses Funktionen
PHP Manual

ncurses_scrl

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_scrl — Scroll window content up or down without changing current position

Beschreibung

int ncurses_scrl ( int $count )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

count

ncurses_scr_set
ncurses_show_panel
Ncurses Funktionen


Places an invisible panel on top of the stack, making it visible

ncurses_scrl
ncurses_slk_attr
Ncurses Funktionen
PHP Manual

ncurses_show_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_show_panel — Places an invisible panel on top of the stack, making it visible

Beschreibung

int ncurses_show_panel ( resource $panel )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

panel

ncurses_scrl
ncurses_slk_attr
Ncurses Funktionen


Returns current soft label key attribute

ncurses_show_panel
ncurses_slk_attroff
Ncurses Funktionen
PHP Manual

ncurses_slk_attr

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_attr — Returns current soft label key attribute

Beschreibung

int ncurses_slk_attr ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Returns the current soft label key attribute.

Rückgabewerte

The attribute, as an integer.

ncurses_show_panel
ncurses_slk_attroff
Ncurses Funktionen


Turn off the given attributes for soft function-key labels

ncurses_slk_attr
ncurses_slk_attron
Ncurses Funktionen
PHP Manual

ncurses_slk_attroff

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_attroff — Turn off the given attributes for soft function-key labels

Beschreibung

int ncurses_slk_attroff ( int $intarg )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

intarg

ncurses_slk_attr
ncurses_slk_attron
Ncurses Funktionen


Turn on the given attributes for soft function-key labels

ncurses_slk_attroff
ncurses_slk_attrset
Ncurses Funktionen
PHP Manual

ncurses_slk_attron

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_attron — Turn on the given attributes for soft function-key labels

Beschreibung

int ncurses_slk_attron ( int $intarg )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

intarg

ncurses_slk_attroff
ncurses_slk_attrset
Ncurses Funktionen


Set given attributes for soft function-key labels

ncurses_slk_attron
ncurses_slk_clear
Ncurses Funktionen
PHP Manual

ncurses_slk_attrset

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_attrset — Set given attributes for soft function-key labels

Beschreibung

int ncurses_slk_attrset ( int $intarg )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

intarg

ncurses_slk_attron
ncurses_slk_clear
Ncurses Funktionen


Clears soft labels from screen

ncurses_slk_attrset
ncurses_slk_color
Ncurses Funktionen
PHP Manual

ncurses_slk_clear

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_clear — Clears soft labels from screen

Beschreibung

bool ncurses_slk_clear ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

The function ncurses_slk_clear() clears soft label keys from screen.

Rückgabewerte

Returns TRUE on errors, FALSE otherwise.

ncurses_slk_attrset
ncurses_slk_color
Ncurses Funktionen


Sets color for soft label keys

ncurses_slk_clear
ncurses_slk_init
Ncurses Funktionen
PHP Manual

ncurses_slk_color

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_color — Sets color for soft label keys

Beschreibung

int ncurses_slk_color ( int $intarg )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

intarg

ncurses_slk_clear
ncurses_slk_init
Ncurses Funktionen


Initializes soft label key functions

ncurses_slk_color
ncurses_slk_noutrefresh
Ncurses Funktionen
PHP Manual

ncurses_slk_init

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_init — Initializes soft label key functions

Beschreibung

bool ncurses_slk_init ( int $format )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Initializes soft label key functions

This function must be called before ncurses_init() or ncurses_newwin() is called.

Parameter-Liste

format

If ncurses_init() eventually uses a line from stdscr to emulate the soft labels, then this parameter determines how the labels are arranged of the screen.

0 indicates a 3-2-3 arrangement of the labels, 1 indicates a 4-4 arrangement and 2 indicates the PC like 4-4-4 mode, but in addition an index line will be created.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

ncurses_slk_color
ncurses_slk_noutrefresh
Ncurses Funktionen


Copies soft label keys to virtual screen

ncurses_slk_init
ncurses_slk_refresh
Ncurses Funktionen
PHP Manual

ncurses_slk_noutrefresh

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_noutrefresh — Copies soft label keys to virtual screen

Beschreibung

bool ncurses_slk_noutrefresh ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

ncurses_slk_init
ncurses_slk_refresh
Ncurses Funktionen


Copies soft label keys to screen

ncurses_slk_noutrefresh
ncurses_slk_restore
Ncurses Funktionen
PHP Manual

ncurses_slk_refresh

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_refresh — Copies soft label keys to screen

Beschreibung

int ncurses_slk_refresh ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Copies soft label keys from virtual screen to physical screen.

ncurses_slk_noutrefresh
ncurses_slk_restore
Ncurses Funktionen


Restores soft label keys

ncurses_slk_refresh
ncurses_slk_set
Ncurses Funktionen
PHP Manual

ncurses_slk_restore

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_restore — Restores soft label keys

Beschreibung

int ncurses_slk_restore ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Restores the soft label keys after ncurses_slk_clear() has been performed.

ncurses_slk_refresh
ncurses_slk_set
Ncurses Funktionen


Sets function key labels

ncurses_slk_restore
ncurses_slk_touch
Ncurses Funktionen
PHP Manual

ncurses_slk_set

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_set — Sets function key labels

Beschreibung

bool ncurses_slk_set ( int $labelnr , string $label , int $format )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

labelnr

label

format

ncurses_slk_restore
ncurses_slk_touch
Ncurses Funktionen


Forces output when ncurses_slk_noutrefresh is performed

ncurses_slk_set
ncurses_standend
Ncurses Funktionen
PHP Manual

ncurses_slk_touch

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_touch — Forces output when ncurses_slk_noutrefresh is performed

Beschreibung

int ncurses_slk_touch ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Forces all the soft labels to be output the next time a ncurses_slk_noutrefresh() is performed.

ncurses_slk_set
ncurses_standend
Ncurses Funktionen


Stop using 'standout' attribute

ncurses_slk_touch
ncurses_standout
Ncurses Funktionen
PHP Manual

ncurses_standend

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_standend — Stop using 'standout' attribute

Beschreibung

int ncurses_standend ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

ncurses_slk_touch
ncurses_standout
Ncurses Funktionen


Start using 'standout' attribute

ncurses_standend
ncurses_start_color
Ncurses Funktionen
PHP Manual

ncurses_standout

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_standout — Start using 'standout' attribute

Beschreibung

int ncurses_standout ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

ncurses_standend
ncurses_start_color
Ncurses Funktionen


Initializes color functionality

ncurses_standout
ncurses_termattrs
Ncurses Funktionen
PHP Manual

ncurses_start_color

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_start_color — Initializes color functionality

Beschreibung

int ncurses_start_color ( void )

Initializes color functionality in ncurses. This function must be called before any color manipulation functions are called and after ncurses_init() is called. It is good practice to call this function right after ncurses_init().

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns 0 on success, or -1 if the color table could not be allocated or ncurses was not initialized.

Beispiele

Beispiel #1 Writing a string with a specified color to the screen

<?php
ncurses_init();

// If the terminal supports colors, initialize and set active color
if (ncurses_has_colors()) {
    ncurses_start_color();
    ncurses_init_pair(1, NCURSES_COLOR_YELLOW, NCURSES_COLOR_BLUE);
    ncurses_color_set(1);
}

// Write a string at specified location
ncurses_mvaddstr(10, 10, "Hello world! Yellow on blue text!");

// Flush output to screen
ncurses_refresh();

ncurses_end();
?>

Siehe auch

  • ncurses_can_change_color() - Checks if terminal color definitions can be changed
  • ncurses_has_colors() - Checks if terminal has color capabilities

ncurses_standout
ncurses_termattrs
Ncurses Funktionen


Returns a logical OR of all attribute flags supported by terminal

ncurses_start_color
ncurses_termname
Ncurses Funktionen
PHP Manual

ncurses_termattrs

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_termattrs — Returns a logical OR of all attribute flags supported by terminal

Beschreibung

bool ncurses_termattrs ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

ncurses_start_color
ncurses_termname
Ncurses Funktionen


Returns terminals (short)-name

ncurses_termattrs
ncurses_timeout
Ncurses Funktionen
PHP Manual

ncurses_termname

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_termname — Returns terminals (short)-name

Beschreibung

string ncurses_termname ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Returns terminals shortname.

Rückgabewerte

Returns the shortname of the terminal, truncated to 14 characters. On errors, returns NULL.

Siehe auch

  • ncurses_longname() - Returns terminals description

ncurses_termattrs
ncurses_timeout
Ncurses Funktionen


Set timeout for special key sequences

ncurses_termname
ncurses_top_panel
Ncurses Funktionen
PHP Manual

ncurses_timeout

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_timeout — Set timeout for special key sequences

Beschreibung

void ncurses_timeout ( int $millisec )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

millisec

ncurses_termname
ncurses_top_panel
Ncurses Funktionen


Moves a visible panel to the top of the stack

ncurses_timeout
ncurses_typeahead
Ncurses Funktionen
PHP Manual

ncurses_top_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_top_panel — Moves a visible panel to the top of the stack

Beschreibung

int ncurses_top_panel ( resource $panel )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

panel

ncurses_timeout
ncurses_typeahead
Ncurses Funktionen


Specify different filedescriptor for typeahead checking

ncurses_top_panel
ncurses_ungetch
Ncurses Funktionen
PHP Manual

ncurses_typeahead

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_typeahead — Specify different filedescriptor for typeahead checking

Beschreibung

int ncurses_typeahead ( int $fd )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

fd

ncurses_top_panel
ncurses_ungetch
Ncurses Funktionen


Put a character back into the input stream

ncurses_typeahead
ncurses_ungetmouse
Ncurses Funktionen
PHP Manual

ncurses_ungetch

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_ungetch — Put a character back into the input stream

Beschreibung

int ncurses_ungetch ( int $keycode )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

keycode

ncurses_typeahead
ncurses_ungetmouse
Ncurses Funktionen


Pushes mouse event to queue

ncurses_ungetch
ncurses_update_panels
Ncurses Funktionen
PHP Manual

ncurses_ungetmouse

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_ungetmouse — Pushes mouse event to queue

Beschreibung

bool ncurses_ungetmouse ( array $mevent )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Pushes a KEY_MOUSE event onto the input queue and associates with this event the given state data and screen-relative character cell coordinates, specified in mevent.

Parameter-Liste

mevent

An associative array specifying the event options:

  • "id" : Id to distinguish multiple devices

  • "x" : screen relative x-position in character cells

  • "y" : screen relative y-position in character cells

  • "z" : currently not supported

  • "mmask" : Mouse action

Rückgabewerte

Returns FALSE on success, TRUE otherwise.

Siehe auch

  • ncurses_getmouse() - Reads mouse event

ncurses_ungetch
ncurses_update_panels
Ncurses Funktionen


Refreshes the virtual screen to reflect the relations between panels in the stack

ncurses_ungetmouse
ncurses_use_default_colors
Ncurses Funktionen
PHP Manual

ncurses_update_panels

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_update_panels — Refreshes the virtual screen to reflect the relations between panels in the stack

Beschreibung

void ncurses_update_panels ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

ncurses_ungetmouse
ncurses_use_default_colors
Ncurses Funktionen


Assign terminal default colors to color id -1

ncurses_update_panels
ncurses_use_env
Ncurses Funktionen
PHP Manual

ncurses_use_default_colors

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_use_default_colors — Assign terminal default colors to color id -1

Beschreibung

bool ncurses_use_default_colors ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

ncurses_update_panels
ncurses_use_env
Ncurses Funktionen


Control use of environment information about terminal size

ncurses_use_default_colors
ncurses_use_extended_names
Ncurses Funktionen
PHP Manual

ncurses_use_env

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_use_env — Control use of environment information about terminal size

Beschreibung

void ncurses_use_env ( bool $flag )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

flag

ncurses_use_default_colors
ncurses_use_extended_names
Ncurses Funktionen


Control use of extended names in terminfo descriptions

ncurses_use_env
ncurses_vidattr
Ncurses Funktionen
PHP Manual

ncurses_use_extended_names

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_use_extended_names — Control use of extended names in terminfo descriptions

Beschreibung

int ncurses_use_extended_names ( bool $flag )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

flag

ncurses_use_env
ncurses_vidattr
Ncurses Funktionen


Display the string on the terminal in the video attribute mode

ncurses_use_extended_names
ncurses_vline
Ncurses Funktionen
PHP Manual

ncurses_vidattr

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_vidattr — Display the string on the terminal in the video attribute mode

Beschreibung

int ncurses_vidattr ( int $intarg )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

intarg

ncurses_use_extended_names
ncurses_vline
Ncurses Funktionen


Draw a vertical line at current position using an attributed character and max. n characters long

ncurses_vidattr
ncurses_waddch
Ncurses Funktionen
PHP Manual

ncurses_vline

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_vline — Draw a vertical line at current position using an attributed character and max. n characters long

Beschreibung

int ncurses_vline ( int $charattr , int $n )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

charattr

n

ncurses_vidattr
ncurses_waddch
Ncurses Funktionen


Adds character at current position in a window and advance cursor

ncurses_vline
ncurses_waddstr
Ncurses Funktionen
PHP Manual

ncurses_waddch

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_waddch — Adds character at current position in a window and advance cursor

Beschreibung

int ncurses_waddch ( resource $window , int $ch )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

window

ch

ncurses_vline
ncurses_waddstr
Ncurses Funktionen


Outputs text at current postion in window

ncurses_waddch
ncurses_wattroff
Ncurses Funktionen
PHP Manual

ncurses_waddstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_waddstr — Outputs text at current postion in window

Beschreibung

int ncurses_waddstr ( resource $window , string $str [, int $n ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

window

str

n

ncurses_waddch
ncurses_wattroff
Ncurses Funktionen


Turns off attributes for a window

ncurses_waddstr
ncurses_wattron
Ncurses Funktionen
PHP Manual

ncurses_wattroff

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wattroff — Turns off attributes for a window

Beschreibung

int ncurses_wattroff ( resource $window , int $attrs )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

window

attrs

ncurses_waddstr
ncurses_wattron
Ncurses Funktionen


Turns on attributes for a window

ncurses_wattroff
ncurses_wattrset
Ncurses Funktionen
PHP Manual

ncurses_wattron

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wattron — Turns on attributes for a window

Beschreibung

int ncurses_wattron ( resource $window , int $attrs )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

window

attrs

ncurses_wattroff
ncurses_wattrset
Ncurses Funktionen


Set the attributes for a window

ncurses_wattron
ncurses_wborder
Ncurses Funktionen
PHP Manual

ncurses_wattrset

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wattrset — Set the attributes for a window

Beschreibung

int ncurses_wattrset ( resource $window , int $attrs )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

window

attrs

ncurses_wattron
ncurses_wborder
Ncurses Funktionen


Draws a border around the window using attributed characters

ncurses_wattrset
ncurses_wclear
Ncurses Funktionen
PHP Manual

ncurses_wborder

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wborder — Draws a border around the window using attributed characters

Beschreibung

int ncurses_wborder ( resource $window , int $left , int $right , int $top , int $bottom , int $tl_corner , int $tr_corner , int $bl_corner , int $br_corner )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Draws the specified lines and corners around the passed window.

Use ncurses_border() for borders around the main window.

Parameter-Liste

Each parameter expects 0 to draw a line and 1 to skip it.

window

The window on which we operate

left

right

top

bottom

tl_corner

Top left corner

tr_corner

Top right corner

bl_corner

Bottom left corner

br_corner

Bottom right corner

Siehe auch

  • ncurses_border() - Draw a border around the screen using attributed characters

ncurses_wattrset
ncurses_wclear
Ncurses Funktionen


Clears window

ncurses_wborder
ncurses_wcolor_set
Ncurses Funktionen
PHP Manual

ncurses_wclear

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wclear — Clears window

Beschreibung

int ncurses_wclear ( resource $window )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

window

ncurses_wborder
ncurses_wcolor_set
Ncurses Funktionen


Sets windows color pairings

ncurses_wclear
ncurses_werase
Ncurses Funktionen
PHP Manual

ncurses_wcolor_set

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wcolor_set — Sets windows color pairings

Beschreibung

int ncurses_wcolor_set ( resource $window , int $color_pair )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

window

color_pair

ncurses_wclear
ncurses_werase
Ncurses Funktionen


Erase window contents

ncurses_wcolor_set
ncurses_wgetch
Ncurses Funktionen
PHP Manual

ncurses_werase

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_werase — Erase window contents

Beschreibung

int ncurses_werase ( resource $window )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

window

ncurses_wcolor_set
ncurses_wgetch
Ncurses Funktionen


Reads a character from keyboard (window)

ncurses_werase
ncurses_whline
Ncurses Funktionen
PHP Manual

ncurses_wgetch

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wgetch — Reads a character from keyboard (window)

Beschreibung

int ncurses_wgetch ( resource $window )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

window

ncurses_werase
ncurses_whline
Ncurses Funktionen


Draws a horizontal line in a window at current position using an attributed character and max. n characters long

ncurses_wgetch
ncurses_wmouse_trafo
Ncurses Funktionen
PHP Manual

ncurses_whline

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_whline — Draws a horizontal line in a window at current position using an attributed character and max. n characters long

Beschreibung

int ncurses_whline ( resource $window , int $charattr , int $n )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

window

charattr

n

ncurses_wgetch
ncurses_wmouse_trafo
Ncurses Funktionen


Transforms window/stdscr coordinates

ncurses_whline
ncurses_wmove
Ncurses Funktionen
PHP Manual

ncurses_wmouse_trafo

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wmouse_trafo — Transforms window/stdscr coordinates

Beschreibung

bool ncurses_wmouse_trafo ( resource $window , int &$y , int &$x , bool $toscreen )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

window

x

y

toscreen

ncurses_whline
ncurses_wmove
Ncurses Funktionen


Moves windows output position

ncurses_wmouse_trafo
ncurses_wnoutrefresh
Ncurses Funktionen
PHP Manual

ncurses_wmove

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wmove — Moves windows output position

Beschreibung

int ncurses_wmove ( resource $window , int $y , int $x )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

window

y

x

ncurses_wmouse_trafo
ncurses_wnoutrefresh
Ncurses Funktionen


Copies window to virtual screen

ncurses_wmove
ncurses_wrefresh
Ncurses Funktionen
PHP Manual

ncurses_wnoutrefresh

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wnoutrefresh — Copies window to virtual screen

Beschreibung

int ncurses_wnoutrefresh ( resource $window )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

window

ncurses_wmove
ncurses_wrefresh
Ncurses Funktionen


Refresh window on terminal screen

ncurses_wnoutrefresh
ncurses_wstandend
Ncurses Funktionen
PHP Manual

ncurses_wrefresh

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wrefresh — Refresh window on terminal screen

Beschreibung

int ncurses_wrefresh ( resource $window )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

window

ncurses_wnoutrefresh
ncurses_wstandend
Ncurses Funktionen


End standout mode for a window

ncurses_wrefresh
ncurses_wstandout
Ncurses Funktionen
PHP Manual

ncurses_wstandend

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wstandend — End standout mode for a window

Beschreibung

int ncurses_wstandend ( resource $window )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

window

ncurses_wrefresh
ncurses_wstandout
Ncurses Funktionen


Enter standout mode for a window

ncurses_wstandend
ncurses_wvline
Ncurses Funktionen
PHP Manual

ncurses_wstandout

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wstandout — Enter standout mode for a window

Beschreibung

int ncurses_wstandout ( resource $window )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

window

ncurses_wstandend
ncurses_wvline
Ncurses Funktionen


Draws a vertical line in a window at current position using an attributed character and max. n characters long

ncurses_wstandout
Newt
Ncurses Funktionen
PHP Manual

ncurses_wvline

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wvline — Draws a vertical line in a window at current position using an attributed character and max. n characters long

Beschreibung

int ncurses_wvline ( resource $window , int $charattr , int $n )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

window

charattr

n

ncurses_wstandout
Newt
Ncurses Funktionen


Newt

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
    • Newt form exit reasons
    • Newt colorsets
    • Newt argument flags
    • Newt Flags Sense
    • Newt Components Flags
    • File Descriptor Flags
    • Checkbox Tree Flags
    • Entry Flags
    • Listbox Flags
    • Textbox Flags
    • Form Flags
    • Newt Keys
    • Newt Anchors
    • Grid Flags
  • Beispiele
    • Basic usage
  • Newt Funktionen
    • newt_bell — Send a beep to the terminal
    • newt_button_bar — This function returns a grid containing the buttons created.
    • newt_button — Create a new button
    • newt_centered_window — Open a centered window of the specified size
    • newt_checkbox_get_value — Retreives value of checkox resource
    • newt_checkbox_set_flags — Configures checkbox resource
    • newt_checkbox_set_value — Sets the value of the checkbox
    • newt_checkbox_tree_add_item — Adds new item to the checkbox tree
    • newt_checkbox_tree_find_item — Finds an item in the checkbox tree
    • newt_checkbox_tree_get_current — Returns checkbox tree selected item
    • newt_checkbox_tree_get_entry_value — Beschreibung
    • newt_checkbox_tree_get_multi_selection — Beschreibung
    • newt_checkbox_tree_get_selection — Beschreibung
    • newt_checkbox_tree_multi — Beschreibung
    • newt_checkbox_tree_set_current — Beschreibung
    • newt_checkbox_tree_set_entry_value — Beschreibung
    • newt_checkbox_tree_set_entry — Beschreibung
    • newt_checkbox_tree_set_width — Beschreibung
    • newt_checkbox_tree — Beschreibung
    • newt_checkbox — Beschreibung
    • newt_clear_key_buffer — Discards the contents of the terminal's input buffer without waiting for additional input
    • newt_cls — Beschreibung
    • newt_compact_button — Beschreibung
    • newt_component_add_callback — Beschreibung
    • newt_component_takes_focus — Beschreibung
    • newt_create_grid — Beschreibung
    • newt_cursor_off — Beschreibung
    • newt_cursor_on — Beschreibung
    • newt_delay — Beschreibung
    • newt_draw_form — Beschreibung
    • newt_draw_root_text — Displays the string text at the position indicated
    • newt_entry_get_value — Beschreibung
    • newt_entry_set_filter — Beschreibung
    • newt_entry_set_flags — Beschreibung
    • newt_entry_set — Beschreibung
    • newt_entry — Beschreibung
    • newt_finished — Uninitializes newt interface
    • newt_form_add_component — Adds a single component to the form
    • newt_form_add_components — Add several components to the form
    • newt_form_add_hot_key — Beschreibung
    • newt_form_destroy — Destroys a form
    • newt_form_get_current — Beschreibung
    • newt_form_run — Runs a form
    • newt_form_set_background — Beschreibung
    • newt_form_set_height — Beschreibung
    • newt_form_set_size — Beschreibung
    • newt_form_set_timer — Beschreibung
    • newt_form_set_width — Beschreibung
    • newt_form_watch_fd — Beschreibung
    • newt_form — Create a form
    • newt_get_screen_size — Fills in the passed references with the current size of the terminal
    • newt_grid_add_components_to_form — Beschreibung
    • newt_grid_basic_window — Beschreibung
    • newt_grid_free — Beschreibung
    • newt_grid_get_size — Beschreibung
    • newt_grid_h_close_stacked — Beschreibung
    • newt_grid_h_stacked — Beschreibung
    • newt_grid_place — Beschreibung
    • newt_grid_set_field — Beschreibung
    • newt_grid_simple_window — Beschreibung
    • newt_grid_v_close_stacked — Beschreibung
    • newt_grid_v_stacked — Beschreibung
    • newt_grid_wrapped_window_at — Beschreibung
    • newt_grid_wrapped_window — Beschreibung
    • newt_init — Initialize newt
    • newt_label_set_text — Beschreibung
    • newt_label — Beschreibung
    • newt_listbox_append_entry — Beschreibung
    • newt_listbox_clear_selection — Beschreibung
    • newt_listbox_clear — Beschreibung
    • newt_listbox_delete_entry — Beschreibung
    • newt_listbox_get_current — Beschreibung
    • newt_listbox_get_selection — Beschreibung
    • newt_listbox_insert_entry — Beschreibung
    • newt_listbox_item_count — Beschreibung
    • newt_listbox_select_item — Beschreibung
    • newt_listbox_set_current_by_key — Beschreibung
    • newt_listbox_set_current — Beschreibung
    • newt_listbox_set_data — Beschreibung
    • newt_listbox_set_entry — Beschreibung
    • newt_listbox_set_width — Beschreibung
    • newt_listbox — Beschreibung
    • newt_listitem_get_data — Beschreibung
    • newt_listitem_set — Beschreibung
    • newt_listitem — Beschreibung
    • newt_open_window — Open a window of the specified size and position
    • newt_pop_help_line — Replaces the current help line with the one from the stack
    • newt_pop_window — Removes the top window from the display
    • newt_push_help_line — Saves the current help line on a stack, and displays the new line
    • newt_radio_get_current — Beschreibung
    • newt_radiobutton — Beschreibung
    • newt_redraw_help_line — Beschreibung
    • newt_reflow_text — Beschreibung
    • newt_refresh — Updates modified portions of the screen
    • newt_resize_screen — Beschreibung
    • newt_resume — Resume using the newt interface after calling newt_suspend
    • newt_run_form — Runs a form
    • newt_scale_set — Beschreibung
    • newt_scale — Beschreibung
    • newt_scrollbar_set — Beschreibung
    • newt_set_help_callback — Beschreibung
    • newt_set_suspend_callback — Set a callback function which gets invoked when user presses the suspend key
    • newt_suspend — Tells newt to return the terminal to its initial state
    • newt_textbox_get_num_lines — Beschreibung
    • newt_textbox_reflowed — Beschreibung
    • newt_textbox_set_height — Beschreibung
    • newt_textbox_set_text — Beschreibung
    • newt_textbox — Beschreibung
    • newt_vertical_scrollbar — Beschreibung
    • newt_wait_for_key — Doesn't return until a key has been pressed
    • newt_win_choice — Beschreibung
    • newt_win_entries — Beschreibung
    • newt_win_menu — Beschreibung
    • newt_win_message — Beschreibung
    • newt_win_messagev — Beschreibung
    • newt_win_ternary — Beschreibung
ncurses_wvline
Einführung
Eingabezeilenspezifische Erweiterungen


Einführung

This is a PHP language extension for RedHat Newt library, a terminal-based window and widget library for writing applications with user friendly interface. Once this extension is enabled in PHP it will provide the use of Newt widgets, such as windows, buttons, checkboxes, radiobuttons, labels, editboxes, scrolls, textareas, scales, etc. Use of this extension is very similar to the original Newt API of C programming language.

Newt
Installation/Konfiguration
Newt


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Newt


Anforderungen

This module uses the functions of the RedHat Newt library. You need libnewt version >= 0.51.0.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese » PECL-Extension ist nicht Teil von PHP. Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/newt.

In order to use these functions you must compile CGI or CLI PHP with newt support by using the --with-newt[=DIR] configure option.

Hinweis:

This extension is not available for Windows platform.

You may need also curses and slang libraries, in order to compile this extension. To specify locations of these libraries, use the following configuration options: --with-curses-dir=/path/to/libcurses --with-slang-dir=/path/to/libslang

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Ressource-Typen

This extension uses two resource types: "newt component" and "newt grid".

Resource type "newt component" is returned by functions, which create common newt widgets (for example: newt_button())

Resource type "newt grid" is a special link identifier for components, returned by newt grid factory functions (for example: newt_create_grid())

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Inhaltsverzeichnis

  • Newt form exit reasons
  • Newt colorsets
  • Newt argument flags
  • Newt Flags Sense
  • Newt Components Flags
  • File Descriptor Flags
  • Checkbox Tree Flags
  • Entry Flags
  • Listbox Flags
  • Textbox Flags
  • Form Flags
  • Newt Keys
  • Newt Anchors
  • Grid Flags

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

Ressource-Typen
Newt form exit reasons
Newt


Newt form exit reasons

Newt form exit reasons
constant | meaning
NEWT_EXIT_HOTKEY | hotkey defined by newt_form_add_hot_key() was pressed
NEWT_EXIT_COMPONENT | some component has caused form to exit
NEWT_EXIT_FDREADY | file descriptor specified in newt_form_watch_fd() is ready to be read or written to
NEWT_EXIT_TIMER | time specified in newt_form_set_timer() has elapsed
Vordefinierte Konstanten
Newt colorsets
Vordefinierte Konstanten


Newt colorsets

Newt colorsets
constant | meaning
NEWT_COLORSET_ROOT |
NEWT_COLORSET_BORDER |
NEWT_COLORSET_WINDOW |
NEWT_COLORSET_SHADOW |
NEWT_COLORSET_TITLE |
NEWT_COLORSET_BUTTON |
NEWT_COLORSET_ACTBUTTON |
NEWT_COLORSET_CHECKBOX |
NEWT_COLORSET_ACTCHECKBOX |
NEWT_COLORSET_ENTRY |
NEWT_COLORSET_LABEL |
NEWT_COLORSET_LISTBOX |
NEWT_COLORSET_ACTLISTBOX |
NEWT_COLORSET_TEXTBOX |
NEWT_COLORSET_ACTTEXTBOX |
NEWT_COLORSET_HELPLINE |
NEWT_COLORSET_ROOTTEXT |
NEWT_COLORSET_EMPTYSCALE |
NEWT_COLORSET_FULLSCALE |
NEWT_COLORSET_DISENTRY |
NEWT_COLORSET_COMPACTBUTTON |
NEWT_COLORSET_ACTSELLISTBOX |
NEWT_COLORSET_SELLISTBOX |
Newt form exit reasons
Newt argument flags
Vordefinierte Konstanten


Newt argument flags

Newt argument flags
constant | meaning
NEWT_ARG_LAST |
NEWT_ARG_APPEND |
Newt colorsets
Newt Flags Sense
Vordefinierte Konstanten


Newt Flags Sense

Newt Flags Sense
constant | meaning
NEWT_FLAGS_SET |
NEWT_FLAGS_RESET |
NEWT_FLAGS_TOGGLE |
Newt argument flags
Newt Components Flags
Vordefinierte Konstanten


Newt Components Flags

Newt Components Flags
constant | meaning
NEWT_FLAG_RETURNEXIT | Exit form, when component is activated
NEWT_FLAG_HIDDEN | Component is hidden
NEWT_FLAG_SCROLL | Component is scrollable
NEWT_FLAG_DISABLED | Component is disabled
NEWT_FLAG_BORDER |
NEWT_FLAG_WRAP | Wrap text
NEWT_FLAG_NOF12 | Don't exit form on pressing F12
NEWT_FLAG_MULTIPLE |
NEWT_FLAG_SELECTED | Component is selected
NEWT_FLAG_CHECKBOX | Component is checkbox
NEWT_FLAG_PASSWORD | Entry component is password entry
NEWT_FLAG_SHOWCURSOR | Show cursor
Newt Flags Sense
File Descriptor Flags
Vordefinierte Konstanten


File Descriptor Flags

File Descriptor Flags
constant | meaning
NEWT_FD_READ |
NEWT_FD_WRITE |
NEWT_FD_EXCEPT |
Newt Components Flags
Checkbox Tree Flags
Vordefinierte Konstanten


Checkbox Tree Flags

Checkbox Tree Flags
constant | meaning
NEWT_CHECKBOXTREE_UNSELECTABLE |
NEWT_CHECKBOXTREE_HIDE_BOX |
NEWT_CHECKBOXTREE_COLLAPSED |
NEWT_CHECKBOXTREE_EXPANDED |
NEWT_CHECKBOXTREE_UNSELECTED |
NEWT_CHECKBOXTREE_SELECTED |
File Descriptor Flags
Entry Flags
Vordefinierte Konstanten


Entry Flags

Entry Flags
constant | meaning
NEWT_ENTRY_SCROLL |
NEWT_ENTRY_HIDDEN |
NEWT_ENTRY_RETURNEXIT |
NEWT_ENTRY_DISABLED |
Checkbox Tree Flags
Listbox Flags
Vordefinierte Konstanten


Listbox Flags

Listbox Flags
constant | meaning
NEWT_LISTBOX_RETURNEXIT |
Entry Flags
Textbox Flags
Vordefinierte Konstanten


Textbox Flags

Textbox Flags
constant | meaning
NEWT_TEXTBOX_WRAP | Wrap text in the textbox
NEWT_TEXTBOX_SCROLL | Scroll text in the textbox
Listbox Flags
Form Flags
Vordefinierte Konstanten


Form Flags

Form Flags
constant | meaning
NEWT_FORM_NOF12 | Don't exit form on F12 press
Textbox Flags
Newt Keys
Vordefinierte Konstanten


Newt Keys

Newt Keys
constant | meaning
NEWT_KEY_TAB |
NEWT_KEY_ENTER |
NEWT_KEY_SUSPEND |
NEWT_KEY_ESCAPE |
NEWT_KEY_RETURN |
NEWT_KEY_EXTRA_BASE |
NEWT_KEY_UP |
NEWT_KEY_DOWN |
NEWT_KEY_LEFT |
NEWT_KEY_RIGHT |
NEWT_KEY_BKSPC |
NEWT_KEY_DELETE |
NEWT_KEY_HOME |
NEWT_KEY_END |
NEWT_KEY_UNTAB |
NEWT_KEY_PGUP |
NEWT_KEY_PGDN |
NEWT_KEY_INSERT |
NEWT_KEY_F1 |
NEWT_KEY_F2 |
NEWT_KEY_F3 |
NEWT_KEY_F4 |
NEWT_KEY_F5 |
NEWT_KEY_F6 |
NEWT_KEY_F7 |
NEWT_KEY_F8 |
NEWT_KEY_F9 |
NEWT_KEY_F10 |
NEWT_KEY_F11 |
NEWT_KEY_F12 |
NEWT_KEY_RESIZE |
Form Flags
Newt Anchors
Vordefinierte Konstanten


Newt Anchors

Newt Anchors
constant | meaning
NEWT_ANCHOR_LEFT |
NEWT_ANCHOR_RIGHT |
NEWT_ANCHOR_TOP |
NEWT_ANCHOR_BOTTOM |
Newt Keys
Grid Flags
Vordefinierte Konstanten


Grid Flags

Grid Flags
constant | meaning
NEWT_GRID_FLAG_GROWX |
NEWT_GRID_FLAG_GROWY |
NEWT_GRID_EMPTY |
NEWT_GRID_COMPONENT |
NEWT_GRID_SUBGRID |
Newt Anchors
Beispiele
Vordefinierte Konstanten


Beispiele

Inhaltsverzeichnis

  • Basic usage
Grid Flags
Basic usage
Newt


Basic usage

This example is a PHP port of RedHat 'setup' utility dialog, executed in text mode.

Beispiel #1 Newt Usage Example

<?php
newt_init ();
newt_cls ();

newt_draw_root_text (0, 0, "Test Mode Setup Utility 1.12");
newt_push_help_line (null);
newt_draw_root_text (-30, 0, "(c) 1999-2002 RedHat, Inc");

newt_get_screen_size ($rows, $cols);

newt_open_window ($rows/2-17, $cols/2-10, 34, 17, "Choose a Tool");

$form = newt_form ();

$list = newt_listbox (3, 2, 10);

foreach (array (
    "Authentication configuration",
    "Firewall configuration",
    "Mouse configuration",
    "Network configuration",
    "Printer configuration",
    "System services") as $l_item)
{
    newt_listbox_add_entry ($list, $l_item, $l_item);
}

$b1 = newt_button (5, 12, "Run Tool");
$b2 = newt_button (21, 12, "Quit");

newt_form_add_component ($form, $list);
newt_form_add_components ($form, array($b1, $b2));

newt_refresh ();
newt_run_form ($form);

newt_pop_window ();
newt_pop_help_line ();
newt_finished ();
newt_form_destroy ($form);
?>
Beispiele
Newt Funktionen
Beispiele


Newt Funktionen

Inhaltsverzeichnis

  • newt_bell — Send a beep to the terminal
  • newt_button_bar — This function returns a grid containing the buttons created.
  • newt_button — Create a new button
  • newt_centered_window — Open a centered window of the specified size
  • newt_checkbox_get_value — Retreives value of checkox resource
  • newt_checkbox_set_flags — Configures checkbox resource
  • newt_checkbox_set_value — Sets the value of the checkbox
  • newt_checkbox_tree_add_item — Adds new item to the checkbox tree
  • newt_checkbox_tree_find_item — Finds an item in the checkbox tree
  • newt_checkbox_tree_get_current — Returns checkbox tree selected item
  • newt_checkbox_tree_get_entry_value — Beschreibung
  • newt_checkbox_tree_get_multi_selection — Beschreibung
  • newt_checkbox_tree_get_selection — Beschreibung
  • newt_checkbox_tree_multi — Beschreibung
  • newt_checkbox_tree_set_current — Beschreibung
  • newt_checkbox_tree_set_entry_value — Beschreibung
  • newt_checkbox_tree_set_entry — Beschreibung
  • newt_checkbox_tree_set_width — Beschreibung
  • newt_checkbox_tree — Beschreibung
  • newt_checkbox — Beschreibung
  • newt_clear_key_buffer — Discards the contents of the terminal's input buffer without waiting for additional input
  • newt_cls — Beschreibung
  • newt_compact_button — Beschreibung
  • newt_component_add_callback — Beschreibung
  • newt_component_takes_focus — Beschreibung
  • newt_create_grid — Beschreibung
  • newt_cursor_off — Beschreibung
  • newt_cursor_on — Beschreibung
  • newt_delay — Beschreibung
  • newt_draw_form — Beschreibung
  • newt_draw_root_text — Displays the string text at the position indicated
  • newt_entry_get_value — Beschreibung
  • newt_entry_set_filter — Beschreibung
  • newt_entry_set_flags — Beschreibung
  • newt_entry_set — Beschreibung
  • newt_entry — Beschreibung
  • newt_finished — Uninitializes newt interface
  • newt_form_add_component — Adds a single component to the form
  • newt_form_add_components — Add several components to the form
  • newt_form_add_hot_key — Beschreibung
  • newt_form_destroy — Destroys a form
  • newt_form_get_current — Beschreibung
  • newt_form_run — Runs a form
  • newt_form_set_background — Beschreibung
  • newt_form_set_height — Beschreibung
  • newt_form_set_size — Beschreibung
  • newt_form_set_timer — Beschreibung
  • newt_form_set_width — Beschreibung
  • newt_form_watch_fd — Beschreibung
  • newt_form — Create a form
  • newt_get_screen_size — Fills in the passed references with the current size of the terminal
  • newt_grid_add_components_to_form — Beschreibung
  • newt_grid_basic_window — Beschreibung
  • newt_grid_free — Beschreibung
  • newt_grid_get_size — Beschreibung
  • newt_grid_h_close_stacked — Beschreibung
  • newt_grid_h_stacked — Beschreibung
  • newt_grid_place — Beschreibung
  • newt_grid_set_field — Beschreibung
  • newt_grid_simple_window — Beschreibung
  • newt_grid_v_close_stacked — Beschreibung
  • newt_grid_v_stacked — Beschreibung
  • newt_grid_wrapped_window_at — Beschreibung
  • newt_grid_wrapped_window — Beschreibung
  • newt_init — Initialize newt
  • newt_label_set_text — Beschreibung
  • newt_label — Beschreibung
  • newt_listbox_append_entry — Beschreibung
  • newt_listbox_clear_selection — Beschreibung
  • newt_listbox_clear — Beschreibung
  • newt_listbox_delete_entry — Beschreibung
  • newt_listbox_get_current — Beschreibung
  • newt_listbox_get_selection — Beschreibung
  • newt_listbox_insert_entry — Beschreibung
  • newt_listbox_item_count — Beschreibung
  • newt_listbox_select_item — Beschreibung
  • newt_listbox_set_current_by_key — Beschreibung
  • newt_listbox_set_current — Beschreibung
  • newt_listbox_set_data — Beschreibung
  • newt_listbox_set_entry — Beschreibung
  • newt_listbox_set_width — Beschreibung
  • newt_listbox — Beschreibung
  • newt_listitem_get_data — Beschreibung
  • newt_listitem_set — Beschreibung
  • newt_listitem — Beschreibung
  • newt_open_window — Open a window of the specified size and position
  • newt_pop_help_line — Replaces the current help line with the one from the stack
  • newt_pop_window — Removes the top window from the display
  • newt_push_help_line — Saves the current help line on a stack, and displays the new line
  • newt_radio_get_current — Beschreibung
  • newt_radiobutton — Beschreibung
  • newt_redraw_help_line — Beschreibung
  • newt_reflow_text — Beschreibung
  • newt_refresh — Updates modified portions of the screen
  • newt_resize_screen — Beschreibung
  • newt_resume — Resume using the newt interface after calling newt_suspend
  • newt_run_form — Runs a form
  • newt_scale_set — Beschreibung
  • newt_scale — Beschreibung
  • newt_scrollbar_set — Beschreibung
  • newt_set_help_callback — Beschreibung
  • newt_set_suspend_callback — Set a callback function which gets invoked when user presses the suspend key
  • newt_suspend — Tells newt to return the terminal to its initial state
  • newt_textbox_get_num_lines — Beschreibung
  • newt_textbox_reflowed — Beschreibung
  • newt_textbox_set_height — Beschreibung
  • newt_textbox_set_text — Beschreibung
  • newt_textbox — Beschreibung
  • newt_vertical_scrollbar — Beschreibung
  • newt_wait_for_key — Doesn't return until a key has been pressed
  • newt_win_choice — Beschreibung
  • newt_win_entries — Beschreibung
  • newt_win_menu — Beschreibung
  • newt_win_message — Beschreibung
  • newt_win_messagev — Beschreibung
  • newt_win_ternary — Beschreibung
Basic usage
newt_bell
Newt


Send a beep to the terminal

Newt Funktionen
newt_button_bar
Newt Funktionen
PHP Manual

newt_bell

(PECL newt >= 0.1)

newt_bell — Send a beep to the terminal

Beschreibung

void newt_bell ( void )

This function sends a beep to the terminal.

Hinweis:

Depending on the terminal's settings, this beep may or may not be audible.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Newt Funktionen
newt_button_bar
Newt Funktionen


This function returns a grid containing the buttons created.

newt_bell
newt_button
Newt Funktionen
PHP Manual

newt_button_bar

(PECL newt >= 0.1)

newt_button_bar — This function returns a grid containing the buttons created.

Beschreibung

resource newt_button_bar ( array &$buttons )

This function returns a grid containing the buttons created.

Parameter-Liste

buttons

Rückgabewerte

Returns grid containing the buttons created.

newt_bell
newt_button
Newt Funktionen


Create a new button

newt_button_bar
newt_centered_window
Newt Funktionen
PHP Manual

newt_button

(PECL newt >= 0.1)

newt_button — Create a new button

Beschreibung

resource newt_button ( int $left , int $top , string $text )

Creates a new button.

Parameter-Liste

left

X-coordinate of the button.

top

Y-coordinate of the button.

text

The text which should be displayed in the button.

Rückgabewerte

Returns a resource link to the created button component, or FALSE on error.

Beispiele

Beispiel #1 A newt_button() example

<?php

$form = newt_form();

$ok_button = newt_button(5, 12, "Run Tool");

newt_form_add_component($form, $ok_button);

?>

Siehe auch

  • newt_button_bar() - This function returns a grid containing the buttons created.

newt_button_bar
newt_centered_window
Newt Funktionen


Open a centered window of the specified size

newt_button
newt_checkbox_get_value
Newt Funktionen
PHP Manual

newt_centered_window

(PECL newt >= 0.1)

newt_centered_window — Open a centered window of the specified size

Beschreibung

int newt_centered_window ( int $width , int $height [, string $title ] )

Open a centered window of the specified size.

Parameter-Liste

width

Window width

height

Window height

title

Window title

Rückgabewerte

Undefined value.

Siehe auch

  • newt_pop_window() - Removes the top window from the display
  • newt_open_window() - Open a window of the specified size and position

newt_button
newt_checkbox_get_value
Newt Funktionen


Retreives value of checkox resource

newt_centered_window
newt_checkbox_set_flags
Newt Funktionen
PHP Manual

newt_checkbox_get_value

(PECL newt >= 0.1)

newt_checkbox_get_value — Retreives value of checkox resource

Beschreibung

string newt_checkbox_get_value ( resource $checkbox )

This function returns the character in the sequence which indicates the current value of the checkbox.

Parameter-Liste

checkbox

Rückgabewerte

Returns character indicating the value of the checkbox.

newt_centered_window
newt_checkbox_set_flags
Newt Funktionen


Configures checkbox resource

newt_checkbox_get_value
newt_checkbox_set_value
Newt Funktionen
PHP Manual

newt_checkbox_set_flags

(PECL newt >= 0.1)

newt_checkbox_set_flags — Configures checkbox resource

Beschreibung

void newt_checkbox_set_flags ( resource $checkbox , int $flags , int $sense )

This function allows to set various flags on checkbox resource.

Parameter-Liste

checkbox

flags

sense

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_checkbox_get_value
newt_checkbox_set_value
Newt Funktionen


Sets the value of the checkbox

newt_checkbox_set_flags
newt_checkbox_tree_add_item
Newt Funktionen
PHP Manual

newt_checkbox_set_value

(PECL newt >= 0.1)

newt_checkbox_set_value — Sets the value of the checkbox

Beschreibung

void newt_checkbox_set_value ( resource $checkbox , string $value )

This function allows to set the current value of the checkbox resource.

Parameter-Liste

checkbox

value

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_checkbox_set_flags
newt_checkbox_tree_add_item
Newt Funktionen


Adds new item to the checkbox tree

newt_checkbox_set_value
newt_checkbox_tree_find_item
Newt Funktionen
PHP Manual

newt_checkbox_tree_add_item

(PECL newt >= 0.1)

newt_checkbox_tree_add_item — Adds new item to the checkbox tree

Beschreibung

void newt_checkbox_tree_add_item ( resource $checkboxtree , string $text , mixed $data , int $flags , int $index [, int $... ] )

This function allows to add new item to the checkbox tree.

Parameter-Liste

checkboxtree

text

data

flags

index

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_checkbox_set_value
newt_checkbox_tree_find_item
Newt Funktionen


Finds an item in the checkbox tree

newt_checkbox_tree_add_item
newt_checkbox_tree_get_current
Newt Funktionen
PHP Manual

newt_checkbox_tree_find_item

(PECL newt >= 0.1)

newt_checkbox_tree_find_item — Finds an item in the checkbox tree

Beschreibung

array newt_checkbox_tree_find_item ( resource $checkboxtree , mixed $data )

Finds an item in the checkbox tree by item's data.

Parameter-Liste

checkboxtree

data

Rückgabewerte

Returns checkbox tree item resource, or NULL if it wasn't found.

newt_checkbox_tree_add_item
newt_checkbox_tree_get_current
Newt Funktionen


Returns checkbox tree selected item

newt_checkbox_tree_find_item
newt_checkbox_tree_get_entry_value
Newt Funktionen
PHP Manual

newt_checkbox_tree_get_current

(PECL newt >= 0.1)

newt_checkbox_tree_get_current — Returns checkbox tree selected item

Beschreibung

mixed newt_checkbox_tree_get_current ( resource $checkboxtree )

This method returns checkbox tree selected tem.

Parameter-Liste

checkboxtree

Rückgabewerte

Returns current (selected) checkbox tree item.

newt_checkbox_tree_find_item
newt_checkbox_tree_get_entry_value
Newt Funktionen


newt_checkbox_tree_get_current
newt_checkbox_tree_get_multi_selection
Newt Funktionen
PHP Manual

newt_checkbox_tree_get_entry_value

(PECL newt >= 0.1)

newt_checkbox_tree_get_entry_value —

Beschreibung

string newt_checkbox_tree_get_entry_value ( resource $checkboxtree , mixed $data )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

checkboxtree

data

Rückgabewerte

newt_checkbox_tree_get_current
newt_checkbox_tree_get_multi_selection
Newt Funktionen


newt_checkbox_tree_get_entry_value
newt_checkbox_tree_get_selection
Newt Funktionen
PHP Manual

newt_checkbox_tree_get_multi_selection

(PECL newt >= 0.1)

newt_checkbox_tree_get_multi_selection —

Beschreibung

array newt_checkbox_tree_get_multi_selection ( resource $checkboxtree , string $seqnum )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

checkboxtree

seqnum

Rückgabewerte

newt_checkbox_tree_get_entry_value
newt_checkbox_tree_get_selection
Newt Funktionen


newt_checkbox_tree_get_multi_selection
newt_checkbox_tree_multi
Newt Funktionen
PHP Manual

newt_checkbox_tree_get_selection

(PECL newt >= 0.1)

newt_checkbox_tree_get_selection —

Beschreibung

array newt_checkbox_tree_get_selection ( resource $checkboxtree )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

checkboxtree

Rückgabewerte

newt_checkbox_tree_get_multi_selection
newt_checkbox_tree_multi
Newt Funktionen


newt_checkbox_tree_get_selection
newt_checkbox_tree_set_current
Newt Funktionen
PHP Manual

newt_checkbox_tree_multi

(PECL newt >= 0.1)

newt_checkbox_tree_multi —

Beschreibung

resource newt_checkbox_tree_multi ( int $left , int $top , int $height , string $seq [, int $flags ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

left

top

height

seq

flags

Rückgabewerte

newt_checkbox_tree_get_selection
newt_checkbox_tree_set_current
Newt Funktionen


newt_checkbox_tree_multi
newt_checkbox_tree_set_entry_value
Newt Funktionen
PHP Manual

newt_checkbox_tree_set_current

(PECL newt >= 0.1)

newt_checkbox_tree_set_current —

Beschreibung

void newt_checkbox_tree_set_current ( resource $checkboxtree , mixed $data )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

checkboxtree

data

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_checkbox_tree_multi
newt_checkbox_tree_set_entry_value
Newt Funktionen


newt_checkbox_tree_set_current
newt_checkbox_tree_set_entry
Newt Funktionen
PHP Manual

newt_checkbox_tree_set_entry_value

(PECL newt >= 0.1)

newt_checkbox_tree_set_entry_value —

Beschreibung

void newt_checkbox_tree_set_entry_value ( resource $checkboxtree , mixed $data , string $value )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

checkboxtree

data

value

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_checkbox_tree_set_current
newt_checkbox_tree_set_entry
Newt Funktionen


newt_checkbox_tree_set_entry_value
newt_checkbox_tree_set_width
Newt Funktionen
PHP Manual

newt_checkbox_tree_set_entry

(PECL newt >= 0.1)

newt_checkbox_tree_set_entry —

Beschreibung

void newt_checkbox_tree_set_entry ( resource $checkboxtree , mixed $data , string $text )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

checkboxtree

data

text

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_checkbox_tree_set_entry_value
newt_checkbox_tree_set_width
Newt Funktionen


newt_checkbox_tree_set_entry
newt_checkbox_tree
Newt Funktionen
PHP Manual

newt_checkbox_tree_set_width

(PECL newt >= 0.1)

newt_checkbox_tree_set_width —

Beschreibung

void newt_checkbox_tree_set_width ( resource $checkbox_tree , int $width )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

checkbox_tree

width

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_checkbox_tree_set_entry
newt_checkbox_tree
Newt Funktionen


newt_checkbox_tree_set_width
newt_checkbox
Newt Funktionen
PHP Manual

newt_checkbox_tree

(PECL newt >= 0.1)

newt_checkbox_tree —

Beschreibung

resource newt_checkbox_tree ( int $left , int $top , int $height [, int $flags ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

left

top

height

flags

Rückgabewerte

newt_checkbox_tree_set_width
newt_checkbox
Newt Funktionen


newt_checkbox_tree
newt_clear_key_buffer
Newt Funktionen
PHP Manual

newt_checkbox

(PECL newt >= 0.1)

newt_checkbox —

Beschreibung

resource newt_checkbox ( int $left , int $top , string $text , string $def_value [, string $seq ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

left

top

text

def_value

seq

Rückgabewerte

newt_checkbox_tree
newt_clear_key_buffer
Newt Funktionen


Discards the contents of the terminal's input buffer without waiting for additional input

newt_checkbox
newt_cls
Newt Funktionen
PHP Manual

newt_clear_key_buffer

(PECL newt >= 0.1)

newt_clear_key_buffer — Discards the contents of the terminal's input buffer without waiting for additional input

Beschreibung

void newt_clear_key_buffer ( void )

Discards the contents of the terminal's input buffer without waiting for additional input.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • newt_wait_for_key() - Doesn't return until a key has been pressed

newt_checkbox
newt_cls
Newt Funktionen


newt_clear_key_buffer
newt_compact_button
Newt Funktionen
PHP Manual

newt_cls

(PECL newt >= 0.1)

newt_cls —

Beschreibung

void newt_cls ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_clear_key_buffer
newt_compact_button
Newt Funktionen


newt_cls
newt_component_add_callback
Newt Funktionen
PHP Manual

newt_compact_button

(PECL newt >= 0.1)

newt_compact_button —

Beschreibung

resource newt_compact_button ( int $left , int $top , string $text )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

left

top

text

Rückgabewerte

newt_cls
newt_component_add_callback
Newt Funktionen


newt_compact_button
newt_component_takes_focus
Newt Funktionen
PHP Manual

newt_component_add_callback

(PECL newt >= 0.1)

newt_component_add_callback —

Beschreibung

void newt_component_add_callback ( resource $component , mixed $func_name , mixed $data )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

component

func_name

data

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_compact_button
newt_component_takes_focus
Newt Funktionen


newt_component_add_callback
newt_create_grid
Newt Funktionen
PHP Manual

newt_component_takes_focus

(PECL newt >= 0.1)

newt_component_takes_focus —

Beschreibung

void newt_component_takes_focus ( resource $component , bool $takes_focus )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

component

takes_focus

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_component_add_callback
newt_create_grid
Newt Funktionen


newt_component_takes_focus
newt_cursor_off
Newt Funktionen
PHP Manual

newt_create_grid

(PECL newt >= 0.1)

newt_create_grid —

Beschreibung

resource newt_create_grid ( int $cols , int $rows )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

cols

rows

Rückgabewerte

newt_component_takes_focus
newt_cursor_off
Newt Funktionen


newt_create_grid
newt_cursor_on
Newt Funktionen
PHP Manual

newt_cursor_off

(PECL newt >= 0.1)

newt_cursor_off —

Beschreibung

void newt_cursor_off ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_create_grid
newt_cursor_on
Newt Funktionen


newt_cursor_off
newt_delay
Newt Funktionen
PHP Manual

newt_cursor_on

(PECL newt >= 0.1)

newt_cursor_on —

Beschreibung

void newt_cursor_on ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_cursor_off
newt_delay
Newt Funktionen


newt_cursor_on
newt_draw_form
Newt Funktionen
PHP Manual

newt_delay

(PECL newt >= 0.1)

newt_delay —

Beschreibung

void newt_delay ( int $microseconds )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

microseconds

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_cursor_on
newt_draw_form
Newt Funktionen


newt_delay
newt_draw_root_text
Newt Funktionen
PHP Manual

newt_draw_form

(PECL newt >= 0.1)

newt_draw_form —

Beschreibung

void newt_draw_form ( resource $form )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

form

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_delay
newt_draw_root_text
Newt Funktionen


Displays the string text at the position indicated

newt_draw_form
newt_entry_get_value
Newt Funktionen
PHP Manual

newt_draw_root_text

(PECL newt >= 0.1)

newt_draw_root_text — Displays the string text at the position indicated

Beschreibung

void newt_draw_root_text ( int $left , int $top , string $text )

Displays the string text at the position indicated.

Parameter-Liste

left

Column number

Hinweis:

If left is negative, the position is measured from the opposite side of the screen.

top

Line number

Hinweis:

If top is negative, the position is measured from the opposite side of the screen.

text

Text to display.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 A newt_draw_root_text() example

This code demonstrates drawing of titles in the both corners of the screen.

<?php
 newt_init();
 newt_cls();

 newt_draw_root_text (2, 0, "Some root text");
 newt_refresh();
 sleep(1);

 newt_draw_root_text (-30, 0, "Root text in the other corner");
 newt_refresh();
 sleep(1);

 newt_finished();
?>

Siehe auch

  • newt_push_help_line() - Saves the current help line on a stack, and displays the new line
  • newt_pop_help_line() - Replaces the current help line with the one from the stack

newt_draw_form
newt_entry_get_value
Newt Funktionen


newt_draw_root_text
newt_entry_set_filter
Newt Funktionen
PHP Manual

newt_entry_get_value

(PECL newt >= 0.1)

newt_entry_get_value —

Beschreibung

string newt_entry_get_value ( resource $entry )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

entry

Rückgabewerte

newt_draw_root_text
newt_entry_set_filter
Newt Funktionen


newt_entry_get_value
newt_entry_set_flags
Newt Funktionen
PHP Manual

newt_entry_set_filter

(PECL newt >= 0.1)

newt_entry_set_filter —

Beschreibung

void newt_entry_set_filter ( resource $entry , callable $filter , mixed $data )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

entry

filter

data

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_entry_get_value
newt_entry_set_flags
Newt Funktionen


newt_entry_set_filter
newt_entry_set
Newt Funktionen
PHP Manual

newt_entry_set_flags

(PECL newt >= 0.1)

newt_entry_set_flags —

Beschreibung

void newt_entry_set_flags ( resource $entry , int $flags , int $sense )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

entry

flags

sense

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_entry_set_filter
newt_entry_set
Newt Funktionen


newt_entry_set_flags
newt_entry
Newt Funktionen
PHP Manual

newt_entry_set

(PECL newt >= 0.1)

newt_entry_set —

Beschreibung

void newt_entry_set ( resource $entry , string $value [, bool $cursor_at_end ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

entry

value

cursor_at_end

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_entry_set_flags
newt_entry
Newt Funktionen


newt_entry_set
newt_finished
Newt Funktionen
PHP Manual

newt_entry

(PECL newt >= 0.1)

newt_entry —

Beschreibung

resource newt_entry ( int $left , int $top , int $width [, string $init_value [, int $flags ]] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

left

top

width

init_value

flags

Rückgabewerte

newt_entry_set
newt_finished
Newt Funktionen


Uninitializes newt interface

newt_entry
newt_form_add_component
Newt Funktionen
PHP Manual

newt_finished

(PECL newt >= 0.1)

newt_finished — Uninitializes newt interface

Beschreibung

int newt_finished ( void )

Uninitializes newt interface. This function be called, when program is ready to exit.

Rückgabewerte

Returns 1 on success, 0 on failure.

Siehe auch

  • newt_init() - Initialize newt

newt_entry
newt_form_add_component
Newt Funktionen


Adds a single component to the form

newt_finished
newt_form_add_components
Newt Funktionen
PHP Manual

newt_form_add_component

(PECL newt >= 0.1)

newt_form_add_component — Adds a single component to the form

Beschreibung

void newt_form_add_component ( resource $form , resource $component )

Adds a single component to the form.

Parameter-Liste

form

Form to which component will be added

component

Component to add to the form

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 A newt_form_add_component() example

<?php
$form = newt_form();

$options = array("Authentication configuration", "Firewall configuration",
"Mouse configuration", "Network configuration", "Printer configuration",
"System services");

$list = newt_listbox(3, 2, 10);

foreach ($options as $l_item) {
    newt_listbox_add_entry($list, $l_item, $l_item);
}

newt_form_add_component($form, $list);
?>

Siehe auch

  • newt_form_add_components() - Add several components to the form

newt_finished
newt_form_add_components
Newt Funktionen


Add several components to the form

newt_form_add_component
newt_form_add_hot_key
Newt Funktionen
PHP Manual

newt_form_add_components

(PECL newt >= 0.1)

newt_form_add_components — Add several components to the form

Beschreibung

void newt_form_add_components ( resource $form , array $components )

Adds several components to the form.

Parameter-Liste

form

Form to which components will be added

components

Array of components to add to the form

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 A newt_form_add_components() example

<?php
$form = newt_form();

$b1 = newt_button(5, 12, "Run Tool");
$b2 = newt_button(21, 12, "Quit");

newt_form_add_components($form, array($b1, $b2));
?>

Siehe auch

  • newt_form_add_component() - Adds a single component to the form

newt_form_add_component
newt_form_add_hot_key
Newt Funktionen


newt_form_add_components
newt_form_destroy
Newt Funktionen
PHP Manual

newt_form_add_hot_key

(PECL newt >= 0.1)

newt_form_add_hot_key —

Beschreibung

void newt_form_add_hot_key ( resource $form , int $key )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

form

key

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_form_add_components
newt_form_destroy
Newt Funktionen


Destroys a form

newt_form_add_hot_key
newt_form_get_current
Newt Funktionen
PHP Manual

newt_form_destroy

(PECL newt >= 0.1)

newt_form_destroy — Destroys a form

Beschreibung

void newt_form_destroy ( resource $form )

This function frees the memory resources used by the form and all of the components which have been added to the form (including those components which are on subforms). Once a form has been destroyed, none of the form's components can be used.

Parameter-Liste

form

Form component, which is going to be destroyed

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • newt_form_run() - Runs a form
  • newt_run_form() - Runs a form

newt_form_add_hot_key
newt_form_get_current
Newt Funktionen


newt_form_destroy
newt_form_run
Newt Funktionen
PHP Manual

newt_form_get_current

(PECL newt >= 0.1)

newt_form_get_current —

Beschreibung

resource newt_form_get_current ( resource $form )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

form

Rückgabewerte

newt_form_destroy
newt_form_run
Newt Funktionen


Runs a form

newt_form_get_current
newt_form_set_background
Newt Funktionen
PHP Manual

newt_form_run

(PECL newt >= 0.1)

newt_form_run — Runs a form

Beschreibung

void newt_form_run ( resource $form , array &$exit_struct )

This function runs the form passed to it.

Parameter-Liste

form

Form component

exit_struct

Array, used for returning information after running the form component. Keys and values are described in the following table:

Form Exit Structure
Index Key | Value Type | Description
reason | integer | The reason, why the form has been exited. Possible values are defined here.
watch | resource | Resource link, specified in newt_form_watch_fd()
key | integer | Hotkey
component | resource | Component, which caused the form to exit

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • newt_run_form() - Runs a form

newt_form_get_current
newt_form_set_background
Newt Funktionen


newt_form_run
newt_form_set_height
Newt Funktionen
PHP Manual

newt_form_set_background

(PECL newt >= 0.1)

newt_form_set_background —

Beschreibung

void newt_form_set_background ( resource $from , int $background )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

from

background

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_form_run
newt_form_set_height
Newt Funktionen


newt_form_set_background
newt_form_set_size
Newt Funktionen
PHP Manual

newt_form_set_height

(PECL newt >= 0.1)

newt_form_set_height —

Beschreibung

void newt_form_set_height ( resource $form , int $height )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

form

height

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_form_set_background
newt_form_set_size
Newt Funktionen


newt_form_set_height
newt_form_set_timer
Newt Funktionen
PHP Manual

newt_form_set_size

(PECL newt >= 0.1)

newt_form_set_size —

Beschreibung

void newt_form_set_size ( resource $form )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

form

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_form_set_height
newt_form_set_timer
Newt Funktionen


newt_form_set_size
newt_form_set_width
Newt Funktionen
PHP Manual

newt_form_set_timer

(PECL newt >= 0.1)

newt_form_set_timer —

Beschreibung

void newt_form_set_timer ( resource $form , int $milliseconds )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

form

milliseconds

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_form_set_size
newt_form_set_width
Newt Funktionen


newt_form_set_timer
newt_form_watch_fd
Newt Funktionen
PHP Manual

newt_form_set_width

(PECL newt >= 0.1)

newt_form_set_width —

Beschreibung

void newt_form_set_width ( resource $form , int $width )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

form

width

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_form_set_timer
newt_form_watch_fd
Newt Funktionen


newt_form_set_width
newt_form
Newt Funktionen
PHP Manual

newt_form_watch_fd

(PECL newt >= 0.1)

newt_form_watch_fd —

Beschreibung

void newt_form_watch_fd ( resource $form , resource $stream [, int $flags ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

form

stream

flags

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_form_set_width
newt_form
Newt Funktionen


Create a form

newt_form_watch_fd
newt_get_screen_size
Newt Funktionen
PHP Manual

newt_form

(PECL newt >= 0.1)

newt_form — Create a form

Beschreibung

resource newt_form ([ resource $vert_bar [, string $help [, int $flags ]]] )

Create a new form.

Parameter-Liste

vert_bar

Vertical scrollbar which should be associated with the form

help

Help text string

flags

Various flags

Rückgabewerte

Returns a resource link to the created form component, or FALSE on error.

Beispiele

Beispiel #1 A newt_form() example

Displays a single button "Quit", which closes the application once it's pressed.

<?php
newt_init();
newt_cls();

$myform = newt_form();
$button = newt_button (5, 12, "Quit");

newt_form_add_component ($myform, $button);
newt_refresh ();
newt_run_form ($myform);

newt_finished ();
newt_form_destroy ($myform);
?>

Siehe auch

  • newt_form_run() - Runs a form
  • newt_run_form() - Runs a form
  • newt_form_add_component() - Adds a single component to the form
  • newt_form_add_components() - Add several components to the form
  • newt_form_destroy() - Destroys a form

newt_form_watch_fd
newt_get_screen_size
Newt Funktionen


Fills in the passed references with the current size of the terminal

newt_form
newt_grid_add_components_to_form
Newt Funktionen
PHP Manual

newt_get_screen_size

(PECL newt >= 0.1)

newt_get_screen_size — Fills in the passed references with the current size of the terminal

Beschreibung

void newt_get_screen_size ( int &$cols , int &$rows )

Fills in the passed references with the current size of the terminal.

Parameter-Liste

cols

Number of columns in the terminal

rows

Number of rows in the terminal

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 A newt_get_screen_size() example

This code prints out the screen size of your terminal.

<?php
 newt_init();
 newt_get_screen_size (&$cols, &$rows);
 newt_finished();

 print "Your terminal size is: {$cols}x{$rows}\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Your terminal size is: 138x47

newt_form
newt_grid_add_components_to_form
Newt Funktionen


newt_get_screen_size
newt_grid_basic_window
Newt Funktionen
PHP Manual

newt_grid_add_components_to_form

(PECL newt >= 0.1)

newt_grid_add_components_to_form —

Beschreibung

void newt_grid_add_components_to_form ( resource $grid , resource $form , bool $recurse )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

grid

form

recurse

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_get_screen_size
newt_grid_basic_window
Newt Funktionen


newt_grid_add_components_to_form
newt_grid_free
Newt Funktionen
PHP Manual

newt_grid_basic_window

(PECL newt >= 0.1)

newt_grid_basic_window —

Beschreibung

resource newt_grid_basic_window ( resource $text , resource $middle , resource $buttons )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

text

middle

buttons

Rückgabewerte

newt_grid_add_components_to_form
newt_grid_free
Newt Funktionen


newt_grid_basic_window
newt_grid_get_size
Newt Funktionen
PHP Manual

newt_grid_free

(PECL newt >= 0.1)

newt_grid_free —

Beschreibung

void newt_grid_free ( resource $grid , bool $recurse )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

grid

recurse

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_grid_basic_window
newt_grid_get_size
Newt Funktionen


newt_grid_free
newt_grid_h_close_stacked
Newt Funktionen
PHP Manual

newt_grid_get_size

(PECL newt >= 0.1)

newt_grid_get_size —

Beschreibung

void newt_grid_get_size ( resouce $grid , int &$width , int &$height )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

grid

width

height

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_grid_free
newt_grid_h_close_stacked
Newt Funktionen


newt_grid_get_size
newt_grid_h_stacked
Newt Funktionen
PHP Manual

newt_grid_h_close_stacked

(PECL newt >= 0.1)

newt_grid_h_close_stacked —

Beschreibung

resource newt_grid_h_close_stacked ( int $element1_type , resource $element1 [, int $... [, resource $... ]] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

element1_type

element1

Rückgabewerte

newt_grid_get_size
newt_grid_h_stacked
Newt Funktionen


newt_grid_h_close_stacked
newt_grid_place
Newt Funktionen
PHP Manual

newt_grid_h_stacked

(PECL newt >= 0.1)

newt_grid_h_stacked —

Beschreibung

resource newt_grid_h_stacked ( int $element1_type , resource $element1 [, int $... [, resource $... ]] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

element1_type

element1

Rückgabewerte

newt_grid_h_close_stacked
newt_grid_place
Newt Funktionen


newt_grid_h_stacked
newt_grid_set_field
Newt Funktionen
PHP Manual

newt_grid_place

(PECL newt >= 0.1)

newt_grid_place —

Beschreibung

void newt_grid_place ( resource $grid , int $left , int $top )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

grid

left

top

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_grid_h_stacked
newt_grid_set_field
Newt Funktionen


newt_grid_place
newt_grid_simple_window
Newt Funktionen
PHP Manual

newt_grid_set_field

(PECL newt >= 0.1)

newt_grid_set_field —

Beschreibung

void newt_grid_set_field ( resource $grid , int $col , int $row , int $type , resource $val , int $pad_left , int $pad_top , int $pad_right , int $pad_bottom , int $anchor [, int $flags ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

grid

col

row

type

val

pad_left

pad_top

pad_right

pad_bottom

anchor

flags

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_grid_place
newt_grid_simple_window
Newt Funktionen


newt_grid_set_field
newt_grid_v_close_stacked
Newt Funktionen
PHP Manual

newt_grid_simple_window

(PECL newt >= 0.1)

newt_grid_simple_window —

Beschreibung

resource newt_grid_simple_window ( resource $text , resource $middle , resource $buttons )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

text

middle

buttons

Rückgabewerte

newt_grid_set_field
newt_grid_v_close_stacked
Newt Funktionen


newt_grid_simple_window
newt_grid_v_stacked
Newt Funktionen
PHP Manual

newt_grid_v_close_stacked

(PECL newt >= 0.1)

newt_grid_v_close_stacked —

Beschreibung

resource newt_grid_v_close_stacked ( int $element1_type , resource $element1 [, int $... [, resource $... ]] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

element1_type

element1

Rückgabewerte

newt_grid_simple_window
newt_grid_v_stacked
Newt Funktionen


newt_grid_v_close_stacked
newt_grid_wrapped_window_at
Newt Funktionen
PHP Manual

newt_grid_v_stacked

(PECL newt >= 0.1)

newt_grid_v_stacked —

Beschreibung

resource newt_grid_v_stacked ( int $element1_type , resource $element1 [, int $... [, resource $... ]] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

element1_type

element1

Rückgabewerte

newt_grid_v_close_stacked
newt_grid_wrapped_window_at
Newt Funktionen


newt_grid_v_stacked
newt_grid_wrapped_window
Newt Funktionen
PHP Manual

newt_grid_wrapped_window_at

(PECL newt >= 0.1)

newt_grid_wrapped_window_at —

Beschreibung

void newt_grid_wrapped_window_at ( resource $grid , string $title , int $left , int $top )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

grid

title

left

top

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_grid_v_stacked
newt_grid_wrapped_window
Newt Funktionen


newt_grid_wrapped_window_at
newt_init
Newt Funktionen
PHP Manual

newt_grid_wrapped_window

(PECL newt >= 0.1)

newt_grid_wrapped_window —

Beschreibung

void newt_grid_wrapped_window ( resource $grid , string $title )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

grid

title

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_grid_wrapped_window_at
newt_init
Newt Funktionen


Initialize newt

newt_grid_wrapped_window
newt_label_set_text
Newt Funktionen
PHP Manual

newt_init

(PECL newt >= 0.1)

newt_init — Initialize newt

Beschreibung

int newt_init ( void )

Initializes the newt interface. This function must be called before any other newt function.

Rückgabewerte

Returns 1 on success, 0 on failure.

Siehe auch

  • newt_finished() - Uninitializes newt interface

newt_grid_wrapped_window
newt_label_set_text
Newt Funktionen


newt_init
newt_label
Newt Funktionen
PHP Manual

newt_label_set_text

(PECL newt >= 0.1)

newt_label_set_text —

Beschreibung

void newt_label_set_text ( resource $label , string $text )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

label

text

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_init
newt_label
Newt Funktionen


newt_label_set_text
newt_listbox_append_entry
Newt Funktionen
PHP Manual

newt_label

(PECL newt >= 0.1)

newt_label —

Beschreibung

resource newt_label ( int $left , int $top , string $text )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

left

top

text

Rückgabewerte

newt_label_set_text
newt_listbox_append_entry
Newt Funktionen


newt_label
newt_listbox_clear_selection
Newt Funktionen
PHP Manual

newt_listbox_append_entry

(PECL newt >= 0.1)

newt_listbox_append_entry —

Beschreibung

void newt_listbox_append_entry ( resource $listbox , string $text , mixed $data )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

listbox

text

data

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_label
newt_listbox_clear_selection
Newt Funktionen


newt_listbox_append_entry
newt_listbox_clear
Newt Funktionen
PHP Manual

newt_listbox_clear_selection

(PECL newt >= 0.1)

newt_listbox_clear_selection —

Beschreibung

void newt_listbox_clear_selection ( resource $listbox )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

listbox

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_listbox_append_entry
newt_listbox_clear
Newt Funktionen


newt_listbox_clear_selection
newt_listbox_delete_entry
Newt Funktionen
PHP Manual

newt_listbox_clear

(PECL newt >= 0.1)

newt_listbox_clear —

Beschreibung

void newt_listbox_clear ( resource $listobx )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

listobx

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_listbox_clear_selection
newt_listbox_delete_entry
Newt Funktionen


newt_listbox_clear
newt_listbox_get_current
Newt Funktionen
PHP Manual

newt_listbox_delete_entry

(PECL newt >= 0.1)

newt_listbox_delete_entry —

Beschreibung

void newt_listbox_delete_entry ( resource $listbox , mixed $key )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

listbox

key

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_listbox_clear
newt_listbox_get_current
Newt Funktionen


newt_listbox_delete_entry
newt_listbox_get_selection
Newt Funktionen
PHP Manual

newt_listbox_get_current

(PECL newt >= 0.1)

newt_listbox_get_current —

Beschreibung

string newt_listbox_get_current ( resource $listbox )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

listbox

Rückgabewerte

newt_listbox_delete_entry
newt_listbox_get_selection
Newt Funktionen


newt_listbox_get_current
newt_listbox_insert_entry
Newt Funktionen
PHP Manual

newt_listbox_get_selection

(PECL newt >= 0.1)

newt_listbox_get_selection —

Beschreibung

array newt_listbox_get_selection ( resource $listbox )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

listbox

Rückgabewerte

newt_listbox_get_current
newt_listbox_insert_entry
Newt Funktionen


newt_listbox_get_selection
newt_listbox_item_count
Newt Funktionen
PHP Manual

newt_listbox_insert_entry

(PECL newt >= 0.1)

newt_listbox_insert_entry —

Beschreibung

void newt_listbox_insert_entry ( resource $listbox , string $text , mixed $data , mixed $key )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

listbox

text

data

key

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_listbox_get_selection
newt_listbox_item_count
Newt Funktionen


newt_listbox_insert_entry
newt_listbox_select_item
Newt Funktionen
PHP Manual

newt_listbox_item_count

(PECL newt >= 0.1)

newt_listbox_item_count —

Beschreibung

int newt_listbox_item_count ( resource $listbox )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

listbox

Rückgabewerte

newt_listbox_insert_entry
newt_listbox_select_item
Newt Funktionen


newt_listbox_item_count
newt_listbox_set_current_by_key
Newt Funktionen
PHP Manual

newt_listbox_select_item

(PECL newt >= 0.1)

newt_listbox_select_item —

Beschreibung

void newt_listbox_select_item ( resource $listbox , mixed $key , int $sense )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

listbox

key

sense

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_listbox_item_count
newt_listbox_set_current_by_key
Newt Funktionen


newt_listbox_select_item
newt_listbox_set_current
Newt Funktionen
PHP Manual

newt_listbox_set_current_by_key

(PECL newt >= 0.1)

newt_listbox_set_current_by_key —

Beschreibung

void newt_listbox_set_current_by_key ( resource $listbox , mixed $key )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

listbox

key

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_listbox_select_item
newt_listbox_set_current
Newt Funktionen


newt_listbox_set_current_by_key
newt_listbox_set_data
Newt Funktionen
PHP Manual

newt_listbox_set_current

(PECL newt >= 0.1)

newt_listbox_set_current —

Beschreibung

void newt_listbox_set_current ( resource $listbox , int $num )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

listbox

num

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_listbox_set_current_by_key
newt_listbox_set_data
Newt Funktionen


newt_listbox_set_current
newt_listbox_set_entry
Newt Funktionen
PHP Manual

newt_listbox_set_data

(PECL newt >= 0.1)

newt_listbox_set_data —

Beschreibung

void newt_listbox_set_data ( resource $listbox , int $num , mixed $data )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

listbox

num

data

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_listbox_set_current
newt_listbox_set_entry
Newt Funktionen


newt_listbox_set_data
newt_listbox_set_width
Newt Funktionen
PHP Manual

newt_listbox_set_entry

(PECL newt >= 0.1)

newt_listbox_set_entry —

Beschreibung

void newt_listbox_set_entry ( resource $listbox , int $num , string $text )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

listbox

num

text

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_listbox_set_data
newt_listbox_set_width
Newt Funktionen


newt_listbox_set_entry
newt_listbox
Newt Funktionen
PHP Manual

newt_listbox_set_width

(PECL newt >= 0.1)

newt_listbox_set_width —

Beschreibung

void newt_listbox_set_width ( resource $listbox , int $width )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

listbox

width

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_listbox_set_entry
newt_listbox
Newt Funktionen


newt_listbox_set_width
newt_listitem_get_data
Newt Funktionen
PHP Manual

newt_listbox

(PECL newt >= 0.1)

newt_listbox —

Beschreibung

resource newt_listbox ( int $left , int $top , int $height [, int $flags ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

left

top

height

flags

Rückgabewerte

newt_listbox_set_width
newt_listitem_get_data
Newt Funktionen


newt_listbox
newt_listitem_set
Newt Funktionen
PHP Manual

newt_listitem_get_data

(PECL newt >= 0.1)

newt_listitem_get_data —

Beschreibung

mixed newt_listitem_get_data ( resource $item )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

item

Rückgabewerte

newt_listbox
newt_listitem_set
Newt Funktionen


newt_listitem_get_data
newt_listitem
Newt Funktionen
PHP Manual

newt_listitem_set

(PECL newt >= 0.1)

newt_listitem_set —

Beschreibung

void newt_listitem_set ( resource $item , string $text )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

item

text

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_listitem_get_data
newt_listitem
Newt Funktionen


newt_listitem_set
newt_open_window
Newt Funktionen
PHP Manual

newt_listitem

(PECL newt >= 0.1)

newt_listitem —

Beschreibung

resource newt_listitem ( int $left , int $top , string $text , bool $is_default , resouce $prev_item , mixed $data [, int $flags ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

left

top

text

is_default

prev_item

data

flags

Rückgabewerte

newt_listitem_set
newt_open_window
Newt Funktionen


Open a window of the specified size and position

newt_listitem
newt_pop_help_line
Newt Funktionen
PHP Manual

newt_open_window

(PECL newt >= 0.1)

newt_open_window — Open a window of the specified size and position

Beschreibung

int newt_open_window ( int $left , int $top , int $width , int $height [, string $title ] )

Open a window of the specified size and position.

Parameter-Liste

left

Location of the upper left-hand corner of the window (column number)

top

Location of the upper left-hand corner of the window (row number)

width

Window width

height

Window height

title

Window title

Rückgabewerte

Returns 1 on success, 0 on failure.

Siehe auch

  • newt_pop_window() - Removes the top window from the display
  • newt_centered_window() - Open a centered window of the specified size

newt_listitem
newt_pop_help_line
Newt Funktionen


Replaces the current help line with the one from the stack

newt_open_window
newt_pop_window
Newt Funktionen
PHP Manual

newt_pop_help_line

(PECL newt >= 0.1)

newt_pop_help_line — Replaces the current help line with the one from the stack

Beschreibung

void newt_pop_help_line ( void )

Replaces the current help line with the one from the stack.

Hinweis:

It's important not to call to newt_pop_help_line() more than newt_push_help_line().

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • newt_push_help_line() - Saves the current help line on a stack, and displays the new line

newt_open_window
newt_pop_window
Newt Funktionen


Removes the top window from the display

newt_pop_help_line
newt_push_help_line
Newt Funktionen
PHP Manual

newt_pop_window

(PECL newt >= 0.1)

newt_pop_window — Removes the top window from the display

Beschreibung

void newt_pop_window ( void )

Removes the top window from the display, and redraws the display areas which the window overwrote.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • newt_open_window() - Open a window of the specified size and position
  • newt_centered_window() - Open a centered window of the specified size

newt_pop_help_line
newt_push_help_line
Newt Funktionen


Saves the current help line on a stack, and displays the new line

newt_pop_window
newt_radio_get_current
Newt Funktionen
PHP Manual

newt_push_help_line

(PECL newt >= 0.1)

newt_push_help_line — Saves the current help line on a stack, and displays the new line

Beschreibung

void newt_push_help_line ([ string $text ] )

Saves the current help line on a stack, and displays the new line.

Parameter-Liste

text

New help text message

Hinweis:

If not specified, the help line is cleared.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • newt_pop_help_line() - Replaces the current help line with the one from the stack

newt_pop_window
newt_radio_get_current
Newt Funktionen


newt_push_help_line
newt_radiobutton
Newt Funktionen
PHP Manual

newt_radio_get_current

(PECL newt >= 0.1)

newt_radio_get_current —

Beschreibung

resource newt_radio_get_current ( resource $set_member )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

set_member

Rückgabewerte

newt_push_help_line
newt_radiobutton
Newt Funktionen


newt_radio_get_current
newt_redraw_help_line
Newt Funktionen
PHP Manual

newt_radiobutton

(PECL newt >= 0.1)

newt_radiobutton —

Beschreibung

resource newt_radiobutton ( int $left , int $top , string $text , bool $is_default [, resource $prev_button ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

left

top

text

is_default

prev_button

Rückgabewerte

newt_radio_get_current
newt_redraw_help_line
Newt Funktionen


newt_radiobutton
newt_reflow_text
Newt Funktionen
PHP Manual

newt_redraw_help_line

(PECL newt >= 0.1)

newt_redraw_help_line —

Beschreibung

void newt_redraw_help_line ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_radiobutton
newt_reflow_text
Newt Funktionen


newt_redraw_help_line
newt_refresh
Newt Funktionen
PHP Manual

newt_reflow_text

(PECL newt >= 0.1)

newt_reflow_text —

Beschreibung

string newt_reflow_text ( string $text , int $width , int $flex_down , int $flex_up , int &$actual_width , int &$actual_height )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

text

width

flex_down

flex_up

actual_width

actual_height

Rückgabewerte

newt_redraw_help_line
newt_refresh
Newt Funktionen


Updates modified portions of the screen

newt_reflow_text
newt_resize_screen
Newt Funktionen
PHP Manual

newt_refresh

(PECL newt >= 0.1)

newt_refresh — Updates modified portions of the screen

Beschreibung

void newt_refresh ( void )

To increase performance, newt only updates the display when it needs to, not when the program tells it to write to the terminal. Applications can force newt to immediately update modified portions of the screen by calling this function.

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_reflow_text
newt_resize_screen
Newt Funktionen


newt_refresh
newt_resume
Newt Funktionen
PHP Manual

newt_resize_screen

(PECL newt >= 0.1)

newt_resize_screen —

Beschreibung

void newt_resize_screen ([ bool $redraw ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

redraw

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_refresh
newt_resume
Newt Funktionen


Resume using the newt interface after calling newt_suspend

newt_resize_screen
newt_run_form
Newt Funktionen
PHP Manual

newt_resume

(PECL newt >= 0.1)

newt_resume — Resume using the newt interface after calling newt_suspend()

Beschreibung

void newt_resume ( void )

Resume using the newt interface after calling newt_suspend().

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • newt_suspend() - Tells newt to return the terminal to its initial state

newt_resize_screen
newt_run_form
Newt Funktionen


Runs a form

newt_resume
newt_scale_set
Newt Funktionen
PHP Manual

newt_run_form

(PECL newt >= 0.1)

newt_run_form — Runs a form

Beschreibung

resource newt_run_form ( resource $form )

This function runs the form passed to it.

Parameter-Liste

form

Form component

Rückgabewerte

The component which caused the form to stop running.

Hinweis:

Notice that this function doesn't fit in with newt's normal naming convention. It is an older interface which will not work for all forms. It was left in newt only for legacy applications. It is a simpler interface than the new newt_form_run() though, and is still used quite often as a result. When an application is done with a form, it destroys the form and all of the components the form contains.

Siehe auch

  • newt_form_run() - Runs a form
  • newt_form_destroy() - Destroys a form

newt_resume
newt_scale_set
Newt Funktionen


newt_run_form
newt_scale
Newt Funktionen
PHP Manual

newt_scale_set

(PECL newt >= 0.1)

newt_scale_set —

Beschreibung

void newt_scale_set ( resource $scale , int $amount )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

scale

amount

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_run_form
newt_scale
Newt Funktionen


newt_scale_set
newt_scrollbar_set
Newt Funktionen
PHP Manual

newt_scale

(PECL newt >= 0.1)

newt_scale —

Beschreibung

resource newt_scale ( int $left , int $top , int $width , int $full_value )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

left

top

width

full_value

Rückgabewerte

newt_scale_set
newt_scrollbar_set
Newt Funktionen


newt_scale
newt_set_help_callback
Newt Funktionen
PHP Manual

newt_scrollbar_set

(PECL newt >= 0.1)

newt_scrollbar_set —

Beschreibung

void newt_scrollbar_set ( resource $scrollbar , int $where , int $total )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

scrollbar

where

total

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_scale
newt_set_help_callback
Newt Funktionen


newt_scrollbar_set
newt_set_suspend_callback
Newt Funktionen
PHP Manual

newt_set_help_callback

(PECL newt >= 0.1)

newt_set_help_callback —

Beschreibung

void newt_set_help_callback ( mixed $function )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

function

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_scrollbar_set
newt_set_suspend_callback
Newt Funktionen


Set a callback function which gets invoked when user presses the suspend key

newt_set_help_callback
newt_suspend
Newt Funktionen
PHP Manual

newt_set_suspend_callback

(PECL newt >= 0.1)

newt_set_suspend_callback — Set a callback function which gets invoked when user presses the suspend key

Beschreibung

void newt_set_suspend_callback ( callable $function , mixed $data )

Set a callback function which gets invoked when user presses the suspend key (normally ^Z). If no suspend callback is registered, the suspend keystroke is ignored.

Parameter-Liste

function

A callback function, which accepts one argument: data

data

This data is been passed to the callback function

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • newt_suspend() - Tells newt to return the terminal to its initial state
  • newt_resume() - Resume using the newt interface after calling newt_suspend

newt_set_help_callback
newt_suspend
Newt Funktionen


Tells newt to return the terminal to its initial state

newt_set_suspend_callback
newt_textbox_get_num_lines
Newt Funktionen
PHP Manual

newt_suspend

(PECL newt >= 0.1)

newt_suspend — Tells newt to return the terminal to its initial state

Beschreibung

void newt_suspend ( void )

Tells newt to return the terminal to its initial state. Once this is done, the application can suspend itself (by sending itself a SIGTSTP, fork a child program, or do whatever else it likes).

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • newt_resume() - Resume using the newt interface after calling newt_suspend

newt_set_suspend_callback
newt_textbox_get_num_lines
Newt Funktionen


newt_suspend
newt_textbox_reflowed
Newt Funktionen
PHP Manual

newt_textbox_get_num_lines

(PECL newt >= 0.1)

newt_textbox_get_num_lines —

Beschreibung

int newt_textbox_get_num_lines ( resource $textbox )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

textbox

Rückgabewerte

newt_suspend
newt_textbox_reflowed
Newt Funktionen


newt_textbox_get_num_lines
newt_textbox_set_height
Newt Funktionen
PHP Manual

newt_textbox_reflowed

(PECL newt >= 0.1)

newt_textbox_reflowed —

Beschreibung

resource newt_textbox_reflowed ( int $left , int $top , char $*text , int $width , int $flex_down , int $flex_up [, int $flags ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

left

top

*text

width

flex_down

flex_up

flags

Rückgabewerte

newt_textbox_get_num_lines
newt_textbox_set_height
Newt Funktionen


newt_textbox_reflowed
newt_textbox_set_text
Newt Funktionen
PHP Manual

newt_textbox_set_height

(PECL newt >= 0.1)

newt_textbox_set_height —

Beschreibung

void newt_textbox_set_height ( resource $textbox , int $height )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

textbox

height

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_textbox_reflowed
newt_textbox_set_text
Newt Funktionen


newt_textbox_set_height
newt_textbox
Newt Funktionen
PHP Manual

newt_textbox_set_text

(PECL newt >= 0.1)

newt_textbox_set_text —

Beschreibung

void newt_textbox_set_text ( resource $textbox , string $text )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

textbox

text

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_textbox_set_height
newt_textbox
Newt Funktionen


newt_textbox_set_text
newt_vertical_scrollbar
Newt Funktionen
PHP Manual

newt_textbox

(PECL newt >= 0.1)

newt_textbox —

Beschreibung

resource newt_textbox ( int $left , int $top , int $width , int $height [, int $flags ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

left

top

width

height

flags

Rückgabewerte

newt_textbox_set_text
newt_vertical_scrollbar
Newt Funktionen


newt_textbox
newt_wait_for_key
Newt Funktionen
PHP Manual

newt_vertical_scrollbar

(PECL newt >= 0.1)

newt_vertical_scrollbar —

Beschreibung

resource newt_vertical_scrollbar ( int $left , int $top , int $height [, int $normal_colorset [, int $thumb_colorset ]] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

left

top

height

normal_colorset

thumb_colorset

Rückgabewerte

newt_textbox
newt_wait_for_key
Newt Funktionen


Doesn't return until a key has been pressed

newt_vertical_scrollbar
newt_win_choice
Newt Funktionen
PHP Manual

newt_wait_for_key

(PECL newt >= 0.1)

newt_wait_for_key — Doesn't return until a key has been pressed

Beschreibung

void newt_wait_for_key ( void )

This function doesn't return until a key has been pressed. The keystroke is then ignored. If a key is already in the terminal's buffer, this function discards a keystroke and returns immediately.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • newt_clear_key_buffer() - Discards the contents of the terminal's input buffer without waiting for additional input

newt_vertical_scrollbar
newt_win_choice
Newt Funktionen


newt_wait_for_key
newt_win_entries
Newt Funktionen
PHP Manual

newt_win_choice

(PECL newt >= 0.1)

newt_win_choice —

Beschreibung

int newt_win_choice ( string $title , string $button1_text , string $button2_text , string $format [, mixed $args [, mixed $... ]] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

title

button1_text

button2_text

format

args

Rückgabewerte

newt_wait_for_key
newt_win_entries
Newt Funktionen


newt_win_choice
newt_win_menu
Newt Funktionen
PHP Manual

newt_win_entries

(PECL newt >= 0.1)

newt_win_entries —

Beschreibung

int newt_win_entries ( string $title , string $text , int $suggested_width , int $flex_down , int $flex_up , int $data_width , array &$items , string $button1 [, string $... ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

title

text

suggested_width

flex_down

flex_up

data_width

items

button1

button2

Rückgabewerte

Beispiele

Beispiel #1 A newt_win_entries() example

<?php

newt_init();
newt_cls();

$entries[] = array('text' => 'First name:', 'value' => &$f_name);
$entries[] = array('text' => 'Last name:',  'value' => &$l_name);

$rc = newt_win_entries("User information", "Please enter your credentials:", 50, 7, 7, 30, $entries, "Ok", "Back");
newt_finished ();

if ($rc != 2) {
    echo "Your name is: $f_name $l_name\n";
}
?>

newt_win_choice
newt_win_menu
Newt Funktionen


newt_win_entries
newt_win_message
Newt Funktionen
PHP Manual

newt_win_menu

(PECL newt >= 0.1)

newt_win_menu —

Beschreibung

int newt_win_menu ( string $title , string $text , int $suggestedWidth , int $flexDown , int $flexUp , int $maxListHeight , array $items , int &$listItem [, string $button1 [, string $... ]] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

title

text

suggestedWidth

flexDown

flexUp

maxListHeight

items

listItem

button1

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_win_entries
newt_win_message
Newt Funktionen


newt_win_menu
newt_win_messagev
Newt Funktionen
PHP Manual

newt_win_message

(PECL newt >= 0.1)

newt_win_message —

Beschreibung

void newt_win_message ( string $title , string $button_text , string $format [, mixed $args [, mixed $... ]] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

title

button_text

format

args

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_win_menu
newt_win_messagev
Newt Funktionen


newt_win_message
newt_win_ternary
Newt Funktionen
PHP Manual

newt_win_messagev

(PECL newt >= 0.1)

newt_win_messagev —

Beschreibung

void newt_win_messagev ( string $title , string $button_text , string $format , array $args )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

title

button_text

format

args

Rückgabewerte

Es wird kein Wert zurückgegeben.

newt_win_message
newt_win_ternary
Newt Funktionen


newt_win_messagev
Readline
Newt Funktionen
PHP Manual

newt_win_ternary

(PECL newt >= 0.1)

newt_win_ternary —

Beschreibung

int newt_win_ternary ( string $title , string $button1_text , string $button2_text , string $button3_text , string $format [, mixed $args [, mixed $... ]] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

title

Its description

button1_text

Its description

button2_text

Its description

button3_text

Its description

format

Its description

args

Its description

Rückgabewerte

What the function returns, first on success, then on failure. See also the &return.success; entity

newt_win_messagev
Readline
Newt Funktionen


GNU Readline

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Readline-Funktionen
    • readline_add_history — Fügt eine Zeile zur History hinzu
    • readline_callback_handler_install — Initialisiert das readline-Callback-Interface und das Terminal, gibt den Prompt aus und springt direkt zurück
    • readline_callback_handler_remove — Entfernt den letztdefinierten Callbackhandler und setzt die Terminalumgebung auf die Ursprungswerte zurück
    • readline_callback_read_char — Liest ein Zeichen und informiert das readline-Callback-Interface, wenn die Eingabezeile abgeschlossen wurde
    • readline_clear_history — Löscht die History
    • readline_completion_function — Registriert eine Vervollständigungsfunktion
    • readline_info — Liest/Setzt verschiedene interne readline-Variablen
    • readline_list_history — Auflistung der History
    • readline_on_new_line — Informiert readline, dass der Cursor in eine neue Zeile bewegt wurde
    • readline_read_history — Liest die History
    • readline_redisplay — Zeichnet den Bildschirm neu
    • readline_write_history — Schreibt die History
    • readline — Liest eine Zeile
newt_win_ternary
Einführung
Eingabezeilenspezifische Erweiterungen


Einführung

Die readline-Funktionen implementieren eine Schnittstelle zur GNU-Readline-Bibliothek. Diese Funktionen bieten die Möglichkeit, Kommandozeilen zu editieren. Ein Beispiel für die Anwendung ist die Art und Weise, wie die Bash es erlaubt, die Pfeiltasten zu benutzen, um Schriftzeichen einzufügen oder durch die Kommando-History zu scrollen. Auf Grund des interaktiven Charakters dieser Bibliothek ist diese beim Programmieren von Webanwendungen von geringem Nutzen, kann aber nützlich sein, wenn Sie Skripte schreiben, die dafür gedacht sind, PHP von der Kommandozeile auszuführen.

Hinweis: Diese Erweiterung steht auf Windows-Betriebssystemen nicht zur Verfügung.

Readline
Installation/Konfiguration
Readline


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Readline


Anforderungen

Möchten Sie die readline Funktionen nutzen, müssen Sie die libreadline-Bibliothek installieren. Die libreadline-Bibliothek finden Sie auf der Homepage des GNU-Readline-Projekts unter » http://cnswww.cns.cwru.edu/~chet/readline/rltop.html. Dieses Projekt wird von Chet Ramey betreut, der auch der Author der Bash ist.

Sie können diese Funktionen auch mit der libedit-Bibliothek benutzen, die einen Ersatz für readline darstellt und nicht der GPL unterliegt. Die libedit-Bibliothek ist BSD-lizensiert und steht unter der Adresse » http://www.thrysoee.dk/editline/ zum Download bereit.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Um diese Funktionen benutzten zu können, müssen Sie die CLI- oder CGI-Version von PHP mit readline-Unterstützung kompilieren. Konfigurieren Sie PHP mit der Option --with-readline[=DIR] . Wenn Sie libedit als Ersatz für readline benutzen wollen, konfigurieren Sie PHP mit der Option --with-libedit[=DIR] .

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Readline Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
cli.pager | "" | PHP_INI_ALL | Verfügbar seit PHP 5.4.0.
cli.prompt | "\\b \\> " | PHP_INI_ALL | Verfügbar seit PHP 5.4.0.

Hier eine kurze Erklärung der Konfigurationsoptionen:

cli.pager string

Externes Werkzeug für die Ausgabe der Kommandozeile.

cli.prompt string

Kommandozeile Eingabe.

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
Readline-Funktionen
Readline


Readline-Funktionen

Inhaltsverzeichnis

  • readline_add_history — Fügt eine Zeile zur History hinzu
  • readline_callback_handler_install — Initialisiert das readline-Callback-Interface und das Terminal, gibt den Prompt aus und springt direkt zurück
  • readline_callback_handler_remove — Entfernt den letztdefinierten Callbackhandler und setzt die Terminalumgebung auf die Ursprungswerte zurück
  • readline_callback_read_char — Liest ein Zeichen und informiert das readline-Callback-Interface, wenn die Eingabezeile abgeschlossen wurde
  • readline_clear_history — Löscht die History
  • readline_completion_function — Registriert eine Vervollständigungsfunktion
  • readline_info — Liest/Setzt verschiedene interne readline-Variablen
  • readline_list_history — Auflistung der History
  • readline_on_new_line — Informiert readline, dass der Cursor in eine neue Zeile bewegt wurde
  • readline_read_history — Liest die History
  • readline_redisplay — Zeichnet den Bildschirm neu
  • readline_write_history — Schreibt die History
  • readline — Liest eine Zeile
Vordefinierte Konstanten
readline_add_history
Readline


Fügt eine Zeile zur History hinzu

Readline-Funktionen
readline_callback_handler_install
Readline-Funktionen
PHP Manual

readline_add_history

(PHP 4, PHP 5, PHP 7)

readline_add_history — Fügt eine Zeile zur History hinzu

Beschreibung

bool readline_add_history ( string $line )

Diese Funktion fügt eine Zeile zur Kommandozeilen-History hinzu.

Parameter-Liste

line

Die zur History hinzuzufügende Zeile.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Readline-Funktionen
readline_callback_handler_install
Readline-Funktionen


Initialisiert das readline-Callback-Interface und das Terminal, gibt den Prompt aus und springt direkt zurück

readline_add_history
readline_callback_handler_remove
Readline-Funktionen
PHP Manual

readline_callback_handler_install

(PHP 5 >= 5.1.0, PHP 7)

readline_callback_handler_install — Initialisiert das readline-Callback-Interface und das Terminal, gibt den Prompt aus und springt direkt zurück

Beschreibung

bool readline_callback_handler_install ( string $prompt , callable $callback )

Initialisiert ein readline-Callback-Interface, gibt danach den prompt aus und springt direkt zurück. Der doppelte Aufruf der Funktion ohne Zurücksetzen des verwendeten Callback-Interfaces wird automatisch und in geeigneter Weise das alte Interface überschreiben.

Die Callback-Fähigkeiten sind hilfreich, wenn sie mit stream_select() kombiniert werden, da dies eine Verschränkung von IO und Benutzereingaben wie mittels readline() ermöglicht.

Parameter-Liste

prompt

Die Prompt-Message.

callback

Die callback-Funktion benötigt einen Parameter; die Benutzereingabe wird zurückgegeben.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Readline-Callback-Interface-Beispiel

<?php
function rl_callback($ret)
{
    global $c, $prompting;

    echo "Sie haben eingegeben: $ret\n";
    $c++;

    if ($c > 10) {
        $prompting = false;
        readline_callback_handler_remove();
    } else {
        readline_callback_handler_install("[$c] Geben Sie etwas ein: ", 'rl_callback');
    }
}

$c = 1;
$prompting = true;

readline_callback_handler_install("[$c] Geben Sie etwas ein: ", 'rl_callback');

while ($prompting) {
    $w = NULL;
    $e = NULL;
    $n = stream_select($r = array(STDIN), $w, $e, null);
    if ($n && in_array(STDIN, $r)) {
        // Liest das aktuelle Zeichen und ruft die Callbackfunktion auf, wenn ein
        // Newline-Zeichen eingegeben wurde
        readline_callback_read_char();
    }
}

echo "Eingabe deaktiviert. Komplett ausgeführt.\n";
?>

Siehe auch

  • readline_callback_handler_remove() - Entfernt den letztdefinierten Callbackhandler und setzt die Terminalumgebung auf die Ursprungswerte zurück
  • readline_callback_read_char() - Liest ein Zeichen und informiert das readline-Callback-Interface, wenn die Eingabezeile abgeschlossen wurde
  • stream_select() - Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec

readline_add_history
readline_callback_handler_remove
Readline-Funktionen


Entfernt den letztdefinierten Callbackhandler und setzt die Terminalumgebung auf die Ursprungswerte zurück

readline_callback_handler_install
readline_callback_read_char
Readline-Funktionen
PHP Manual

readline_callback_handler_remove

(PHP 5 >= 5.1.0, PHP 7)

readline_callback_handler_remove — Entfernt den letztdefinierten Callbackhandler und setzt die Terminalumgebung auf die Ursprungswerte zurück

Beschreibung

bool readline_callback_handler_remove ( void )

Entfernt den letztdefinierten Callbackhandler und setzt die Terminalumgebung auf die Ursprungswerte zurück.

Rückgabewerte

Gibt TRUE zurück, wenn der letztdefinierte Callbackhandler zurückgesetzt wurde; falls dieser nicht gefunden wurde, wird FALSE zurückgegeben.

Beispiele

Werfen Sie auch einen Blick auf die Dokumentation der Funktion readline_callback_handler_install(), dort finden Sie ein Beispiel zur Verwendung des readline-Callback-Interfaces.

Siehe auch

  • readline_callback_handler_install() - Initialisiert das readline-Callback-Interface und das Terminal, gibt den Prompt aus und springt direkt zurück
  • readline_callback_read_char() - Liest ein Zeichen und informiert das readline-Callback-Interface, wenn die Eingabezeile abgeschlossen wurde

readline_callback_handler_install
readline_callback_read_char
Readline-Funktionen


Liest ein Zeichen und informiert das readline-Callback-Interface, wenn die Eingabezeile abgeschlossen wurde

readline_callback_handler_remove
readline_clear_history
Readline-Funktionen
PHP Manual

readline_callback_read_char

(PHP 5 >= 5.1.0, PHP 7)

readline_callback_read_char — Liest ein Zeichen und informiert das readline-Callback-Interface, wenn die Eingabezeile abgeschlossen wurde

Beschreibung

void readline_callback_read_char ( void )

Liest ein Zeichen der Benutzereingabe ein. Wenn eine Eingabezeile abgeschlossen ist, informiert diese Funktion das readline-Callback-Interface, das mittels readline_callback_handler_install()

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Werfen Sie auch einen Blick auf die Dokumentation der Funktion readline_callback_handler_install(), dort finden Sie ein Beispiel zur Verwendung des readline-Callback-Interfaces.

Siehe auch

  • readline_callback_handler_install() - Initialisiert das readline-Callback-Interface und das Terminal, gibt den Prompt aus und springt direkt zurück
  • readline_callback_handler_remove() - Entfernt den letztdefinierten Callbackhandler und setzt die Terminalumgebung auf die Ursprungswerte zurück

readline_callback_handler_remove
readline_clear_history
Readline-Funktionen


Löscht die History

readline_callback_read_char
readline_completion_function
Readline-Funktionen
PHP Manual

readline_clear_history

(PHP 4, PHP 5, PHP 7)

readline_clear_history — Löscht die History

Beschreibung

bool readline_clear_history ( void )

Diese Funktion löscht die gesamte Kommandozeilen-History.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

readline_callback_read_char
readline_completion_function
Readline-Funktionen


Registriert eine Vervollständigungsfunktion

readline_clear_history
readline_info
Readline-Funktionen
PHP Manual

readline_completion_function

(PHP 4, PHP 5, PHP 7)

readline_completion_function — Registriert eine Vervollständigungsfunktion

Beschreibung

bool readline_completion_function ( callable $function )

Diese Funktion registriert eine Vervollständigungsfunktion. Das ist die gleiche Art von Funktionalität als wenn Sie die Tab-Taste benutzen, während Sie mit der Bash arbeiten.

Parameter-Liste

function

Sie müssen den Namen einer existierenden Funktion angeben, die einen Teil einer Kommandozeile akzeptiert und ein Array möglicher Übereinstimmungen zurückgibt.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

readline_clear_history
readline_info
Readline-Funktionen


Liest/Setzt verschiedene interne readline-Variablen

readline_completion_function
readline_list_history
Readline-Funktionen
PHP Manual

readline_info

(PHP 4, PHP 5, PHP 7)

readline_info — Liest/Setzt verschiedene interne readline-Variablen

Beschreibung

mixed readline_info ([ string $varname [, string $newvalue ]] )

Liest/Setzt verschiedene interne readline-Variablen.

Parameter-Liste

varname

Ein Variablenname.

newvalue

Sofern unterstützt, entspricht der Parameter dem neuen gesetzten Wert.

Rückgabewerte

Wenn diese Funktion ohne Parameter aufgerufen wird, gibt sie einen Array von Werten für alle Einstellungen zurück, die readline benutzt. Die Elemente werden durch die folgenden Werte indiziert: done, end, erase_empty_line, library_version, line_buffer, mark, pending_input, point, prompt, readline_name und terminal_name.

Wird die Funktion mit einem oder zwei Parametern aufgerufen, wird der alte Wert zurückgegeben.

readline_completion_function
readline_list_history
Readline-Funktionen


Auflistung der History

readline_info
readline_on_new_line
Readline-Funktionen
PHP Manual

readline_list_history

(PHP 4, PHP 5, PHP 7)

readline_list_history — Auflistung der History

Beschreibung

array readline_list_history ( void )

Gibt die vollständige Kommandozeilen-History zurück.

Rückgabewerte

Diese Funktion gibt ein Array der gesamten Kommandozeilen-History zurück. Die Elemente sind numerisch indiziert, beginnend bei Null.

readline_info
readline_on_new_line
Readline-Funktionen


Informiert readline, dass der Cursor in eine neue Zeile bewegt wurde

readline_list_history
readline_read_history
Readline-Funktionen
PHP Manual

readline_on_new_line

(PHP 5 >= 5.1.0, PHP 7)

readline_on_new_line — Informiert readline, dass der Cursor in eine neue Zeile bewegt wurde

Beschreibung

void readline_on_new_line ( void )

Informiert readline, dass der Cursor in eine neue Zeile bewegt wurde.

Rückgabewerte

Es wird kein Wert zurückgegeben.

readline_list_history
readline_read_history
Readline-Funktionen


Liest die History

readline_on_new_line
readline_redisplay
Readline-Funktionen
PHP Manual

readline_read_history

(PHP 4, PHP 5, PHP 7)

readline_read_history — Liest die History

Beschreibung

bool readline_read_history ([ string $filename ] )

Diese Funktion liest eine Kommandozeilen-History aus einer Datei.

Parameter-Liste

filename

Pfad zur Datei, die die Kommandozeilen-History enthält.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

readline_on_new_line
readline_redisplay
Readline-Funktionen


Zeichnet den Bildschirm neu

readline_read_history
readline_write_history
Readline-Funktionen
PHP Manual

readline_redisplay

(PHP 5 >= 5.1.0, PHP 7)

readline_redisplay — Zeichnet den Bildschirm neu

Beschreibung

void readline_redisplay ( void )

Zeichnet die Eingabezeile neu um den Bildschirm neu aufzubauen.

Rückgabewerte

Es wird kein Wert zurückgegeben.

readline_read_history
readline_write_history
Readline-Funktionen


Schreibt die History

readline_redisplay
readline
Readline-Funktionen
PHP Manual

readline_write_history

(PHP 4, PHP 5, PHP 7)

readline_write_history — Schreibt die History

Beschreibung

bool readline_write_history ([ string $filename ] )

Diese Funktion schreibt die Kommandozeilen-History in eine Datei.

Parameter-Liste

filename

Pfad zur Datei, in der gespeichert werden soll.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

readline_redisplay
readline
Readline-Funktionen


Liest eine Zeile

readline_write_history
Erweiterungen zur Datenkompression und Archivierung
Readline-Funktionen
PHP Manual

readline

(PHP 4, PHP 5, PHP 7)

readline — Liest eine Zeile

Beschreibung

string readline ([ string $prompt ] )

Liest eine einzelne Zeile vom Benutzer ein. Sie müssen diese Zeile selbst mittels readline_add_history() zur History hinzufügen.

Parameter-Liste

prompt

Sie können eine Zeichenkette angeben, mit dem Sie den Benutzer zur Eingabe auffordern.

Rückgabewerte

Gibt eine einzelne Zeile des Benutzers zurück. Der Zeile, die Sie erhalten, fehlt das abschließende Zeichen für einen Zeilenvorschub.

Beispiele

Beispiel #1 readline()-Beispiel

<?php
// Drei Kommandos vom Benutzer abfragen
for ($i=0; $i < 3; $i++) {
        $line = readline("Command: ");
        readline_add_history($line);
}

// History ausgeben
print_r(readline_list_history());

// Variablen ausgeben
print_r(readline_info());
?>

readline_write_history
Erweiterungen zur Datenkompression und Archivierung
Readline-Funktionen


Erweiterungen zur Datenkompression und Archivierung

  • Bzip2
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Bzip2 Funktionen
  • LZF
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • LZF Funktionen
  • Phar
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Using Phar Archives
    • Creating Phar Archives
    • What makes a phar a phar and not a tar or a zip?
    • Phar — Die Phar Klasse
    • PharData — The PharData class
    • PharFileInfo — The PharFileInfo class
    • PharException — The PharException class
  • Rar — Rar Archiving
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • RAR Funktionen
    • RarArchive — The RarArchive class
    • RarEntry — The RarEntry class
    • RarException — The RarException class
  • Zip
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • ZipArchive — Die ZipArchive Klasse
    • Zip Funktionen
  • Zlib — Zlib-Komprimierung
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Zlib-Funktionen
readline
Bzip2
Funktionsreferenz


Bzip2

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
  • Bzip2 Funktionen
    • bzclose — Schließt eine bzip2-Datei
    • bzcompress — Komprimiert eine Zeichenkette in bzip2-encodierte Daten
    • bzdecompress — Dekomprimiert bzip2-kodierte Daten
    • bzerrno — Gibt eine bzip2-Fehlernummer zurück
    • bzerror — Gibt die bzip2-Fehlernummer und die -Fehlermeldung in einem Array zurück
    • bzerrstr — Gibt eine bzip2-Fehlermeldung zurÃ¼ck
    • bzflush — Erzwingt das Schreiben aller gepufferten Daten
    • bzopen — Öffnet eine bzip2-komprimierte Datei
    • bzread — Binär-sicheres Lesen aus einer bzip2-Datei
    • bzwrite — Binär-sicheres Schreiben einer bzip2-Datei
Erweiterungen zur Datenkompression und Archivierung
Einführung
Erweiterungen zur Datenkompression und Archivierung


Einführung

Die bzip2-Funktionen werden benutzt, um transparent bzip2 (.bz2)-komprimierte Dateien lesen und schreiben zu können.

Bzip2
Installation/Konfiguration
Bzip2


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Bzip2


Anforderungen

Dieses Module nutzt die Funktionen der » bzip2-Bibliothek von Julian Seward. Dabei benötigt das Modul eine Version der bzip2/libbzip2 >= 1.0.x.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Die Bzip2-Unterstützung ist in PHP nicht standardmäßig aktiviert. Es ist erforderlich, die Option --with-bz2[=DIR] beim Kompilieren von PHP anzugeben.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Ressource-Typen

This extension defines one resource type: a file pointer identifying the bz2-file to work on.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
Beispiele
Bzip2


Beispiele

Dieses Beispiel öffnet eine temporäre Datei und schreibt einen Teststring in diese, danach wird der Inhalt der Datei ausgegeben.

Beispiel #1 Ein kleines bzip2()-Beispiel

<?php

$filename = "/tmp/testfile.bz2";
$str = "Das ist ein Test.\n";

// Datei zum Schreiben öffnen
$bz = bzopen($filename, "w");

// Zeichenkette in Datei schreiben
bzwrite($bz, $str);

// Datei schließen
bzclose($bz);

// Datei zum Lesen öffnen
$bz = bzopen($filename, "r");

// 10 Zeichen lesen
echo bzread($bz, 10);

/* Ausgabe bis zum Dateiende (oder der nächsten 1024 Zeichen) und schließen
der Datei. */
echo bzread($bz);

bzclose($bz);

?>
Vordefinierte Konstanten
Bzip2 Funktionen
Bzip2


Bzip2 Funktionen

Inhaltsverzeichnis

  • bzclose — Schließt eine bzip2-Datei
  • bzcompress — Komprimiert eine Zeichenkette in bzip2-encodierte Daten
  • bzdecompress — Dekomprimiert bzip2-kodierte Daten
  • bzerrno — Gibt eine bzip2-Fehlernummer zurück
  • bzerror — Gibt die bzip2-Fehlernummer und die -Fehlermeldung in einem Array zurück
  • bzerrstr — Gibt eine bzip2-Fehlermeldung zurÃ¼ck
  • bzflush — Erzwingt das Schreiben aller gepufferten Daten
  • bzopen — Öffnet eine bzip2-komprimierte Datei
  • bzread — Binär-sicheres Lesen aus einer bzip2-Datei
  • bzwrite — Binär-sicheres Schreiben einer bzip2-Datei
Beispiele
bzclose
Bzip2


Schließt eine bzip2-Datei

Bzip2 Funktionen
bzcompress
Bzip2 Funktionen
PHP Manual

bzclose

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

bzclose — Schließt eine bzip2-Datei

Beschreibung

int bzclose ( resource $bz )

Schließt die vom übergebenen Dateizeiger bezeichnete bzip2-Datei.

Parameter-Liste

bz

Der Dateizeiger. Dieser muss eine valide Ressource sein und muss auf eine Datei zeigen, die erfolgreich mittels bzopen() geöffnet wurde.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • bzopen() - Öffnet eine bzip2-komprimierte Datei

Bzip2 Funktionen
bzcompress
Bzip2 Funktionen


Komprimiert eine Zeichenkette in bzip2-encodierte Daten

bzclose
bzdecompress
Bzip2 Funktionen
PHP Manual

bzcompress

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

bzcompress — Komprimiert eine Zeichenkette in bzip2-encodierte Daten

Beschreibung

mixed bzcompress ( string $source [, int $blocksize = 4 [, int $workfactor = 0 ]] )

bzcompress() komprimiert den übergebenen String und gibt ihn als bzip2-komprimierte Daten zurück.

Parameter-Liste

source

Die zu komprimierende Zeichenkette.

blocksize

Spezifiziert die Blockgröße während der Komprierung und darf zwischen 1 und 9 liegen. 9 ist dabei die beste Komprimierung, die allerdings mehr Ressourcen benötigt.

workfactor

Bestimmt, wie die Funktion sich im schlimmsten Fall, sich stark wiederholender Eingabedaten, verhält. Der Wert darf zwischen 0 und 250 liegen, wobei 0 ein spezieller Wert ist.

Unabhängig vom workfactor-Parameter wird die generierte Ausgabe stets gleich bleiben.

Rückgabewerte

Die komprimierte Zeichenkette oder die Fehlernummer im Falle eines Fehlers.

Beispiele

Beispiel #1 Komprimierung von Daten

<?php
$str = "sample data";
$bzstr = bzcompress($str, 9);
echo $bzstr;
?>

Siehe auch

  • bzdecompress() - Dekomprimiert bzip2-kodierte Daten

bzclose
bzdecompress
Bzip2 Funktionen


Dekomprimiert bzip2-kodierte Daten

bzcompress
bzerrno
Bzip2 Funktionen
PHP Manual

bzdecompress

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

bzdecompress — Dekomprimiert bzip2-kodierte Daten

Beschreibung

mixed bzdecompress ( string $source [, int $small = 0 ] )

bzdecompress() dekomprimiert die übergebene Zeichenkette, die bzip2-kodierte Daten enthält.

Parameter-Liste

source

Zu dekomprimierende Zeichenkette

small

Wenn TRUE, wird ein alternativer Dekompressionsalgorithmus verwendet, der weniger Speicher benötigt. Es werden dann nur maximal etwa 2300K benötigt, allerdings findet die Dekompression nur mit etwa halber Geschwindigkeit statt.

Weitere Details finden sich in der » bzip2-Dokumentation.

Rückgabewerte

Die dekomprimierte Zeichenkette oder Fehlernummer im Falle eines Fehlers.

Beispiele

Beispiel #1 Dekomprimieren einer Zeichenkette

<?php
$start_str = "Ist dies nicht ein ernstes Gesicht?";
$bzstr = bzcompress($start_str);

echo "Komprimierte Zeichenkette: ";
echo $bzstr;
echo "\n<br />\n";

$str = bzdecompress($bzstr);
echo "Dekomprimierte Zeichenkette: ";
echo $str;
echo "\n<br />\n";
?>

Siehe auch

  • bzcompress() - Komprimiert eine Zeichenkette in bzip2-encodierte Daten

bzcompress
bzerrno
Bzip2 Funktionen


Gibt eine bzip2-Fehlernummer zurück

bzdecompress
bzerror
Bzip2 Funktionen
PHP Manual

bzerrno

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

bzerrno — Gibt eine bzip2-Fehlernummer zurück

Beschreibung

int bzerrno ( resource $bz )

Gibt die Fehlernummer eines beliebigen bzip2-Fehlers, der von übergebenen Dateizeiger zurückgegeben wird.

Parameter-Liste

bz

Zeiger auf eine erfolgreich mittels bzopen() geöffnete Datei.

Rückgabewerte

Gibt die Fehlernummer als Integer zurück.

Siehe auch

  • bzerror() - Gibt die bzip2-Fehlernummer und die -Fehlermeldung in einem Array zurück
  • bzerrstr() - Gibt eine bzip2-Fehlermeldung zurÃ¼ck

bzdecompress
bzerror
Bzip2 Funktionen


Gibt die bzip2-Fehlernummer und die -Fehlermeldung in einem Array zurück

bzerrno
bzerrstr
Bzip2 Funktionen
PHP Manual

bzerror

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

bzerror — Gibt die bzip2-Fehlernummer und die -Fehlermeldung in einem Array zurück

Beschreibung

array bzerror ( resource $bz )

Gibt die Fehlernummer und die Fehlermeldung eines beliebigen vom gegebenen Dateizeiger gelieferten bzip2-Fehlers zurück.

Parameter-Liste

bz

Zeiger auf eine erfolgreich mittels bzopen() geöffnete Datei.

Rückgabewerte

Gibt ein assoziatives Array zurück, das die Fehlernummer im errno-Eintrag und die Fehlermeldung im errstr-Eintrag enthält.

Beispiele

Beispiel #1 bzerror()-Beispiel

<?php
$error = bzerror($bz);

echo $error["errno"];
echo $error["errstr"];
?>

Siehe auch

  • bzerrno() - Gibt eine bzip2-Fehlernummer zurück
  • bzerrstr() - Gibt eine bzip2-Fehlermeldung zurÃ¼ck

bzerrno
bzerrstr
Bzip2 Funktionen


Gibt eine bzip2-Fehlermeldung zurÃ¼ck

bzerror
bzflush
Bzip2 Funktionen
PHP Manual

bzerrstr

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

bzerrstr — Gibt eine bzip2-Fehlermeldung zurück

Beschreibung

string bzerrstr ( resource $bz )

Gibt die Fehlermeldung eines bzip2-Fehlers zurück, der vom gegebenen Dateizeiger zurückgegeben wird.

Parameter-Liste

bz

Zeiger auf eine erfolgreich mittels bzopen() geöffnete Datei.

R�ckgabewerte

Gibt eine Zeichenkette mit der Fehlermeldung zurück.

Siehe auch

  • bzerrno() - Gibt eine bzip2-Fehlernummer zurück
  • bzerror() - Gibt die bzip2-Fehlernummer und die -Fehlermeldung in einem Array zurück

bzerror
bzflush
Bzip2 Funktionen


Erzwingt das Schreiben aller gepufferten Daten

bzerrstr
bzopen
Bzip2 Funktionen
PHP Manual

bzflush

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

bzflush — Erzwingt das Schreiben aller gepufferten Daten

Beschreibung

bool bzflush ( resource $bz )

Erzwingt das Schreiben aller gepufferten bzip2-Daten für den Dateizeiger bz.

Parameter-Liste

bz

Zeiger auf eine erfolgreich mittels bzopen() geöffnete Datei.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • bzread() - Binär-sicheres Lesen aus einer bzip2-Datei
  • bzwrite() - Binär-sicheres Schreiben einer bzip2-Datei

bzerrstr
bzopen
Bzip2 Funktionen


Öffnet eine bzip2-komprimierte Datei

bzflush
bzread
Bzip2 Funktionen
PHP Manual

bzopen

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

bzopen — Öffnet eine bzip2-komprimierte Datei

Beschreibung

resource bzopen ( string $file , string $mode )

Öffnet eine bzip2-Datei (.bz2) zum Lesen oder Schreiben.

Parameter-Liste

file

Name der zu öffnenden Datei, oder eine bestehende Stream-Ressource.

mode

Die Modi 'r' und 'w' werden unterstützt. Andere Werte führen dazu, daß bzopen FALSE zurückgibt.

Rückgabewerte

Wenn das Öffnen fehlschlägt, gibt bzopen() FALSE zurück, andernfalls wird ein Zeiger auf die geöffnete Datei zurückgegeben.

Beispiele

Beispiel #1 bzopen()-Beispiel

<?php

$file = "/tmp/foo.bz2";
$bz = bzopen($file, "r") or die("$file konnte nicht zum Lesen geöffnet werden");

bzclose($bz);

?>

Siehe auch

  • bzclose() - Schließt eine bzip2-Datei

bzflush
bzread
Bzip2 Funktionen


Binär-sicheres Lesen aus einer bzip2-Datei

bzopen
bzwrite
Bzip2 Funktionen
PHP Manual

bzread

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

bzread — Binär-sicheres Lesen aus einer bzip2-Datei

Beschreibung

string bzread ( resource $bz [, int $length = 1024 ] )

bzread() liest Daten vom übergebenen bzip2-Dateizeiger.

Das Lesen wird beendet, wenn length (unkomprimierte) Bytes gelesen wurden oder das Ende der Datei (EOF) erreicht ist, je nachdem, welcher Fall zuerst auftritt.

Parameter-Liste

bz

Der Dateizeiger. Es muss ein valider Zeiger sein und auf eine Datei zeigen, die erfolgreich mittels bzopen() geöffnet wurde.

length

Wenn nichts angegeben ist, liest bzread() 1024 (unkomprimierte) Bytes auf einmal. Maximal 8192 unkomprimierte Bytes können auf einmal gelesen werden.

Rückgabewerte

Gibt die unkomprimierten Daten oder im Fehlerfall FALSE zurück.

Beispiele

Beispiel #1 bzread()-Beispiel

<?php

$file = "/tmp/foo.bz2";
$bz = bzopen($file, "r") or die("Konnte $file nicht öffnen");

$decompressed_file = '';
while (!feof($bz)) {
  $decompressed_file .= bzread($bz, 4096);
}
bzclose($bz);

echo "Der Inhalt von $file ist: <br />\n";
echo $decompressed_file;

?>

Siehe auch

  • bzwrite() - Binär-sicheres Schreiben einer bzip2-Datei
  • feof() - Prüft, ob ein Dateizeiger am Ende der Datei steht
  • bzopen() - Öffnet eine bzip2-komprimierte Datei

bzopen
bzwrite
Bzip2 Funktionen


Binär-sicheres Schreiben einer bzip2-Datei

bzread
LZF
Bzip2 Funktionen
PHP Manual

bzwrite

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

bzwrite — Binär-sicheres Schreiben einer bzip2-Datei

Beschreibung

int bzwrite ( resource $bz , string $data [, int $length ] )

bzwrite() schreibt eine Zeichenkette in den übergebenen bzip2-Dateistream.

Parameter-Liste

bz

Der Dateizeiger. Muss gültig sein und auf eine erfolgreich von bzopen() geöffnete Datei zeigen.

data

Die zu schreibenden Daten.

length

Wird dieser Parameter übergeben, stoppt das Schreiben nach length (unkomprimiert) geschriebenen Bytes oder wenn alle Bytes aus data geschrieben wurden, je nachdem, welcher Fall zuerst auftritt.

Rückgabewerte

Gibt die Anzahl der geschriebenen Bytes bzw. FALSE im Falle eines Fehlers zurück.

Beispiele

Beispiel #1 bzwrite()-Beispiel

<?php
$str = "uncompressed data";
$bz = bzopen("/tmp/foo.bz2", "w");
bzwrite($bz, $str, strlen($str));
bzclose($bz);
?>

Siehe auch

  • bzread() - Binär-sicheres Lesen aus einer bzip2-Datei
  • bzopen() - Öffnet eine bzip2-komprimierte Datei

bzread
LZF
Bzip2 Funktionen


LZF

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • LZF Funktionen
    • lzf_compress — LZF compression
    • lzf_decompress — LZF decompression
    • lzf_optimized_for — Determines what LZF extension was optimized for
bzwrite
Einführung
Erweiterungen zur Datenkompression und Archivierung


Einführung

LZF is a very fast compression algorithm, ideal for saving space with only slight speed cost. It can be optimized for speed or space at the time of compilation. This extension is using » liblzf library by Marc Lehmann for its operations.

LZF
Installation/Konfiguration
LZF


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
LZF


Installation

Diese » PECL-Extension ist nicht Teil von PHP. Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/lzf.

In order to use these functions you must compile PHP with lzf support by using the --with-lzf[=DIR] configure option. You may also pass --enable-lzf-better-compression to optimize LZF for space rather than speed.

Windows users will enable php_lzf.dll inside of php.ini in order to use these functions. Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
LZF Funktionen
LZF


LZF Funktionen

Inhaltsverzeichnis

  • lzf_compress — LZF compression
  • lzf_decompress — LZF decompression
  • lzf_optimized_for — Determines what LZF extension was optimized for
Vordefinierte Konstanten
lzf_compress
LZF


LZF compression

LZF Funktionen
lzf_decompress
LZF Funktionen
PHP Manual

lzf_compress

(PECL lzf >= 0.1.0)

lzf_compress — LZF compression

Beschreibung

string lzf_compress ( string $data )

lzf_compress() compresses the given data string using LZF encoding.

Parameter-Liste

data

The string to compress.

Rückgabewerte

Returns the compressed data or FALSE if an error occurred.

Siehe auch

  • lzf_decompress() - LZF decompression

LZF Funktionen
lzf_decompress
LZF Funktionen


LZF decompression

lzf_compress
lzf_optimized_for
LZF Funktionen
PHP Manual

lzf_decompress

(PECL lzf >= 0.1.0)

lzf_decompress — LZF decompression

Beschreibung

string lzf_decompress ( string $data )

lzf_compress() decompresses the given data string containing lzf encoded data.

Parameter-Liste

data

The compressed string.

Rückgabewerte

Returns the decompressed data or FALSE if an error occurred.

Siehe auch

  • lzf_compress() - LZF compression

lzf_compress
lzf_optimized_for
LZF Funktionen


Determines what LZF extension was optimized for

lzf_decompress
Phar
LZF Funktionen
PHP Manual

lzf_optimized_for

(PECL lzf >= 1.0.0)

lzf_optimized_for — Determines what LZF extension was optimized for

Beschreibung

int lzf_optimized_for ( void )

Determines what was LZF extension optimized for during compilation.

Rückgabewerte

Returns 1 if LZF was optimized for speed, 0 for compression.

lzf_decompress
Phar
LZF Funktionen


Phar

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Using Phar Archives
    • Using Phar Archives: Introduction
    • Using Phar Archives: the phar stream wrapper
    • Using Phar Archives: the Phar and PharData class
  • Creating Phar Archives
    • Creating Phar Archives: Introduction
  • What makes a phar a phar and not a tar or a zip?
    • Ingredients of all Phar archives, independent of file format
    • Phar file stub
    • Head-to-head comparison of Phar, Tar and Zip
    • Tar-based phars
    • Zip-based phars
    • Phar File Format
    • Global Phar bitmapped flags
    • Phar manifest file entry definition
    • Phar Signature format
  • Phar — Die Phar Klasse
    • Phar::addEmptyDir — Add an empty directory to the phar archive
    • Phar::addFile — Add a file from the filesystem to the phar archive
    • Phar::addFromString — Add a file from a string to the phar archive
    • Phar::apiVersion — Returns the api version
    • Phar::buildFromDirectory — Construct a phar archive from the files within a directory.
    • Phar::buildFromIterator — Construct a phar archive from an iterator.
    • Phar::canCompress — Returns whether phar extension supports compression using either zlib or bzip2
    • Phar::canWrite — Returns whether phar extension supports writing and creating phars
    • Phar::compress — Compresses the entire Phar archive using Gzip or Bzip2 compression
    • Phar::compressAllFilesBZIP2 — Compresses all files in the current Phar archive using Bzip2 compression
    • Phar::compressAllFilesGZ — Compresses all files in the current Phar archive using Gzip compression
    • Phar::compressFiles — Compresses all files in the current Phar archive
    • Phar::__construct — Construct a Phar archive object
    • Phar::convertToData — Convert a phar archive to a non-executable tar or zip file
    • Phar::convertToExecutable — Convert a phar archive to another executable phar archive file format
    • Phar::copy — Copy a file internal to the phar archive to another new file within the phar
    • Phar::count — Returns the number of entries (files) in the Phar archive
    • Phar::createDefaultStub — Create a phar-file format specific stub
    • Phar::decompress — Decompresses the entire Phar archive
    • Phar::decompressFiles — Decompresses all files in the current Phar archive
    • Phar::delMetadata — Deletes the global metadata of the phar
    • Phar::delete — Delete a file within a phar archive
    • Phar::extractTo — Extract the contents of a phar archive to a directory
    • Phar::getMetadata — Returns phar archive meta-data
    • Phar::getModified — Return whether phar was modified
    • Phar::getSignature — Return MD5/SHA1/SHA256/SHA512/OpenSSL signature of a Phar archive
    • Phar::getStub — Return the PHP loader or bootstrap stub of a Phar archive
    • Phar::getSupportedCompression — Return array of supported compression algorithms
    • Phar::getSupportedSignatures — Return array of supported signature types
    • Phar::getVersion — Return version info of Phar archive
    • Phar::hasMetadata — Returns whether phar has global meta-data
    • Phar::interceptFileFuncs — instructs phar to intercept fopen, file_get_contents, opendir, and all of the stat-related functions
    • Phar::isBuffering — Used to determine whether Phar write operations are being buffered, or are flushing directly to disk
    • Phar::isCompressed — Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
    • Phar::isFileFormat — Returns true if the phar archive is based on the tar/phar/zip file format depending on the parameter
    • Phar::isValidPharFilename — Returns whether the given filename is a valid phar filename
    • Phar::isWritable — Returns true if the phar archive can be modified
    • Phar::loadPhar — Loads any phar archive with an alias
    • Phar::mapPhar — Reads the currently executed file (a phar) and registers its manifest
    • Phar::mount — Mount an external path or file to a virtual location within the phar archive
    • Phar::mungServer — Defines a list of up to 4 $_SERVER variables that should be modified for execution
    • Phar::offsetExists — determines whether a file exists in the phar
    • Phar::offsetGet — Gets a PharFileInfo object for a specific file
    • Phar::offsetSet — set the contents of an internal file to those of an external file
    • Phar::offsetUnset — remove a file from a phar
    • Phar::running — Returns the full path on disk or full phar URL to the currently executing Phar archive
    • Phar::setAlias — Set the alias for the Phar archive
    • Phar::setDefaultStub — Used to set the PHP loader or bootstrap stub of a Phar archive to the default loader
    • Phar::setMetadata — Sets phar archive meta-data
    • Phar::setSignatureAlgorithm — set the signature algorithm for a phar and apply it.
    • Phar::setStub — Used to set the PHP loader or bootstrap stub of a Phar archive
    • Phar::startBuffering — Start buffering Phar write operations, do not modify the Phar object on disk
    • Phar::stopBuffering — Stop buffering write requests to the Phar archive, and save changes to disk
    • Phar::uncompressAllFiles — Uncompresses all files in the current Phar archive
    • Phar::unlinkArchive — Completely remove a phar archive from disk and from memory
    • Phar::webPhar — mapPhar for web-based phars. front controller for web applications
  • PharData — The PharData class
    • PharData::addEmptyDir — Add an empty directory to the tar/zip archive
    • PharData::addFile — Add a file from the filesystem to the tar/zip archive
    • PharData::addFromString — Add a file from the filesystem to the tar/zip archive
    • PharData::buildFromDirectory — Construct a tar/zip archive from the files within a directory.
    • PharData::buildFromIterator — Construct a tar or zip archive from an iterator.
    • PharData::compress — Compresses the entire tar/zip archive using Gzip or Bzip2 compression
    • PharData::compressFiles — Compresses all files in the current tar/zip archive
    • PharData::__construct — Construct a non-executable tar or zip archive object
    • PharData::convertToData — Convert a phar archive to a non-executable tar or zip file
    • PharData::convertToExecutable — Convert a non-executable tar/zip archive to an executable phar archive
    • PharData::copy — Copy a file internal to the phar archive to another new file within the phar
    • PharData::decompress — Decompresses the entire Phar archive
    • PharData::decompressFiles — Decompresses all files in the current zip archive
    • PharData::delMetadata — Deletes the global metadata of a zip archive
    • PharData::delete — Delete a file within a tar/zip archive
    • PharData::extractTo — Extract the contents of a tar/zip archive to a directory
    • PharData::isWritable — Returns true if the tar/zip archive can be modified
    • PharData::offsetSet — set the contents of a file within the tar/zip to those of an external file or string
    • PharData::offsetUnset — remove a file from a tar/zip archive
    • PharData::setAlias — dummy function (Phar::setAlias is not valid for PharData)
    • PharData::setDefaultStub — dummy function (Phar::setDefaultStub is not valid for PharData)
    • Phar::setMetadata — Sets phar archive meta-data
    • Phar::setSignatureAlgorithm — set the signature algorithm for a phar and apply it.
    • PharData::setStub — dummy function (Phar::setStub is not valid for PharData)
  • PharFileInfo — The PharFileInfo class
    • PharFileInfo::chmod — Sets file-specific permission bits
    • PharFileInfo::compress — Compresses the current Phar entry with either zlib or bzip2 compression
    • PharFileInfo::__construct — Construct a Phar entry object
    • PharFileInfo::decompress — Decompresses the current Phar entry within the phar
    • PharFileInfo::delMetadata — Deletes the metadata of the entry
    • PharFileInfo::getCRC32 — Returns CRC32 code or throws an exception if CRC has not been verified
    • PharFileInfo::getCompressedSize — Returns the actual size of the file (with compression) inside the Phar archive
    • PharFileInfo::getMetadata — Returns file-specific meta-data saved with a file
    • PharFileInfo::getPharFlags — Returns the Phar file entry flags
    • PharFileInfo::hasMetadata — Returns the metadata of the entry
    • PharFileInfo::isCRCChecked — Returns whether file entry has had its CRC verified
    • PharFileInfo::isCompressed — Returns whether the entry is compressed
    • PharFileInfo::isCompressedBZIP2 — Returns whether the entry is compressed using bzip2
    • PharFileInfo::isCompressedGZ — Returns whether the entry is compressed using gz
    • PharFileInfo::setCompressedBZIP2 — Compresses the current Phar entry within the phar using Bzip2 compression
    • PharFileInfo::setCompressedGZ — Compresses the current Phar entry within the phar using gz compression
    • PharFileInfo::setMetadata — Sets file-specific meta-data saved with a file
    • PharFileInfo::setUncompressed — Uncompresses the current Phar entry within the phar, if it is compressed
  • PharException — The PharException class
    • PharException — The PharException class provides a phar-specific exception class for try/catch blocks.
lzf_optimized_for
Einführung
Erweiterungen zur Datenkompression und Archivierung


Einführung

The phar extension provides a way to put entire PHP applications into a single file called a "phar" (PHP Archive) for easy distribution and installation. In addition to providing this service, the phar extension also provides a file-format abstraction method for creating and manipulating tar and zip files through the PharData class, much as PDO provides a unified interface for accessing different databases. Unlike PDO, which cannot convert between different databases, Phar also can convert between tar, zip and phar file formats with a single line of code. see Phar::convertToExecutable() for one example.

What is phar? Phar archives are best characterized as a convenient way to group several files into a single file. As such, a phar archive provides a way to distribute a complete PHP application in a single file and run it from that file without the need to extract it to disk. Additionally, phar archives can be executed by PHP as easily as any other file, both on the commandline and from a web server. Phar is kind of like a thumb drive for PHP applications.

Phar implements this functionality through a Stream Wrapper. Normally, to use an external file within a PHP script, you would use include

Beispiel #1 Using an external file

<?php
 include '/path/to/external/file.php';
 ?>

PHP can be thought of as actually translating /path/to/external/file.php into a stream wrapper as file:///path/to/external/file.php, and under the hood it does in fact use the plain file stream wrapper stream functions to access all local files.

To use a file named file.php contained with a phar archive /path/to/myphar.phar, the syntax is very similar to the file:// syntax above.

Beispiel #2 Using a file within a phar archive

<?php
 include 'phar:///path/to/myphar.phar/file.php';
 ?>

In fact, one can treat a phar archive exactly as if it were an external disk, using any of fopen()-related functions, opendir() and mkdir()-related functions to read, change, or create new files and directories within the phar archive. This allows complete PHP applications to be distributed in a single file and run directly from that file.

The most common usage for a phar archive is to distribute a complete application in a single file. For instance, the PEAR Installer that is bundled with PHP versions is distributed as a phar archive. To use a phar archive distributed in this way, the archive can be executed on the command-line or via a web server.

Phar archives can be distributed as tar archives, zip archives, or as the custom phar file format designed specifically for the phar extension. Each file format has advantages and disadvantages. The tar and zip file formats can be read or extracted by any third-party tool that can read the format, but require the phar extension in order to run with PHP. The phar file format is customized and unique to the phar extension, and can only be created by the phar extension or the PEAR package » PHP_Archive, but has the advantage that applications created in this format will run even if the phar extension is not enabled.

In other words, even with the phar extension disabled, one can execute or include a phar-based archive. Accessing individual files within a phar archive is only possible with the phar extension unless the phar archive was created by PHP_Archive.

The phar extension is also capable of converting a phar archive from tar to zip or to phar file format in a single command:

Beispiel #3 Converting a phar archive from phar to tar file format

<?php
 $phar = new Phar('myphar.phar');
 $pgz = $phar->convertToExecutable(Phar::TAR, Phar::GZ); // makes myphar.phar.tar.gz
 ?>

Phar can compress individual files or an entire archive using gzip compression or bzip2 compression, and can verify archive integrity automatically through the use of MD5, SHA-1, SHA-256 or SHA-512 signatures.

Lastly, the Phar extension is security-conscious, and disables write access to executable phar archives by default, and requires system-level disabling of the phar.readonly php.ini setting in order to create or modify phar archives. Normal tar and zip archives without an executable stub can always be created or modified using the PharData class.

If you are creating applications for distribution, you will want to read How to create Phar Archives. If you want more information on the differences between the three file formats that phar supports, you should read Phar, Tar and Zip.

If you are using phar applications, there are helpful tips in How to use Phar Archives

The word phar is a portmanteau of PHP and Archive and is based loosely on the jar (Java Archive) familiar to Java developers.

The implementation for Phar archives is based on the PEAR package » PHP_Archive, and the implementation details are similar, although the Phar extension is much more powerful. In addition, the Phar extension allows most PHP applications to be run unmodified while PHP_Archive-based phar archives often require extensive modification in order to work.

Phar
Installation/Konfiguration
Phar


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Phar


Anforderungen

Phar requires PHP 5.2.0 or newer. Additional features require the SPL extension in order to take advantage of iteration and array access to a Phar's file contents. The phar stream does not require any additional extensions to function.

You may optionally wish to enable the zlib and bzip2 extensions to take advantage of compressed phar support. In addition, to take advantage of OpenSSL signing, the OpenSSL extension must be enabled.

Note that a bug in the zlib.deflate stream filter fixed in PHP version 5.2.6 and newer may cause truncation of gzip and bzip2-compressed phar archives.

PHP 5.3 configured with --enable-zend-multibyte makes phar dependant on the ini option detect_unicode.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

The Phar extension is built into PHP as of PHP version 5.3.0. Phar may be installed via the PECL extension with previous PHP versions, and the » Phar PECL page contains further information and history.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Filesystem and Streams Configuration Options
Name | Standard | Veränderbar | Changelog
phar.readonly | "1" | PHP_INI_ALL |
phar.require_hash | "1" | PHP_INI_ALL |
phar.extract_list | "" | PHP_INI_ALL | Available from phar 1.1.0 to 1.2.3, removed in 2.0.0.
phar.cache_list | "" | PHP_INI_SYSTEM | Available from phar 2.0.0.

Hier eine kurze Erklärung der Konfigurationsoptionen:

phar.readonly boolean

This option disables creation or modification of Phar archives using the phar stream or Phar object's write support. This setting should always be enabled on production machines, as the phar extension's convenient write support could allow straightforward creation of a php-based virus when coupled with other common security vulnerabilities.

Hinweis:

This setting can only be unset in php.ini due to security reasons. If phar.readonly is disabled in php.ini, the user may enable phar.readonly in a script or disable it later. If phar.readonly is enabled in php.ini, a script may harmlessly "re-enable" the INI variable, but may not disable it.

phar.require_hash boolean

This option will force all opened Phar archives to contain some kind of signature (currently MD5, SHA1, SHA256 and SHA512 are supported), and will refuse to process any Phar archive that does not contain a signature.

Hinweis:

This setting can only be unset in php.ini due to security reasons. If phar.require_hash is disabled in php.ini, the user may enable phar.require_hash in a script or disable it later. If phar.require_hash is enabled in php.ini, a script may harmlessly "re-enable" the INI variable, but may not disable it.

This setting does not affect reading plain tar files with the PharData class.

phar.extract_list string

This INI setting has been removed as of phar 2.0.0

Allows mappings from a full path to a phar archive or its alias to the location of its extracted files. The format of the parameter is name=archive,name2=archive2. This allows extraction of phar files to disk, and allows phar to act as a kind of mapper to extracted disk files. This is often done for performance reasons, or to assist with debugging a phar.

Beispiel #1 phar.extract_list usage example

in php.ini:
phar.extract_list = archive=/full/path/to/archive/,arch2=/full/path/to/arch2
<?php
include "phar://archive/content.php";
include "phar://arch2/foo.php";
?>

phar.cache_list string

This INI setting was added in phar 2.0.0

Allows mapping phar archives to be pre-parsed at web server startup, providing a performance improvement that brings running files out of a phar archive very close to the speed of running those files from a traditional disk-based installation.

Beispiel #2 phar.cache_list usage example

in php.ini (windows):
phar.cache_list =C:\path\to\phar1.phar;C:\path\to\phar2.phar
in php.ini (unix):
phar.cache_list =/path/to/phar1.phar:/path/to/phar2.phar

Installation
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

The Phar extension provides the phar stream, which allows accessing files contained within a phar transparently. See also the description of the Phar file format.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

Phar compression constants
Constant | Value | Description
Phar::NONE (integer) | 0x00000000 | no compression
Phar::COMPRESSED (integer) | 0x0000F000 | bitmask that can be used with file flags to determine if any compression is present
Phar::GZ (integer) | 0x00001000 | zlib (gzip) compression
Phar::BZ2 (integer) | 0x00002000 | bzip2 compression
Phar file format constants
Constant | Value | Description
Phar::SAME (integer) | 0 | retain the same file format
Phar::PHAR (integer) | 1 | phar file format
Phar::TAR (integer) | 2 | tar file format
Phar::ZIP (integer) | 3 | zip file format
Phar signature constants
Constant | Value | Description
Phar::MD5 (integer) | 0x0001 | signature with md5 hash algorithm
Phar::SHA1 (integer) | 0x0002 | signature with sha1 hash algorithm
Phar::SHA256 (integer) | 0x0003 | signature with sha256 hash algorithm (requires hash extension)
Phar::SHA512 (integer) | 0x0004 | signature with sha512 hash algorithm (requires hash extension)
Phar::OPENSSL (integer) | 0x0010 | signature with OpenSSL public/private key pair. This is a true, asymmetric key signature.
Phar webPhar mime override constants
Constant | Value | Description
Phar::PHP (integer) | 1 | used to instruct the mimeoverrides parameter of Phar::webPhar() that the extension should be parsed as a PHP file
Phar::PHPS (integer) | 2 | used to instruct the mimeoverrides parameter of Phar::webPhar() that the extension should be parsed as a PHP source file through highlight_file()
Ressource-Typen
Using Phar Archives
Phar


Using Phar Archives

Inhaltsverzeichnis

  • Using Phar Archives: Introduction
  • Using Phar Archives: the phar stream wrapper
  • Using Phar Archives: the Phar and PharData class
Vordefinierte Konstanten
Using Phar Archives: Introduction
Phar


Using Phar Archives: Introduction

Phar archives are similar in concept to Java JAR archives, but are tailored to the needs and to the flexibility of PHP applications. A Phar archive is used to distribute a complete PHP application or library in a single file. A Phar archive application is used exactly like any other PHP application:

php coolapplication.phar

Using a Phar archive library is identical to using any other PHP library:

<?php
include 'coollibrary.phar';
?>

The phar stream wrapper provides the core of the phar extension, and is explained in detail here. The phar stream wrapper allows accessing the files within a phar archive using PHP's standard file functions fopen(), opendir(), and others that work on regular files. The phar stream wrapper supports all read/write operations on both files and directories.

<?php
include 'phar://coollibrary.phar/internal/file.php';
header('Content-type: image/jpeg');
// phars can be accessed by full path or by alias
echo file_get_contents('phar:///fullpath/to/coollibrary.phar/images/wow.jpg');
?>

The Phar class implements advanced functionality for accessing files and for creating phar archives. The Phar class is explained in detail here.

<?php
try {
    // open an existing phar
    $p = new Phar('coollibrary.phar', 0);
    // Phar extends SPL's DirectoryIterator class
    foreach (new RecursiveIteratorIterator($p) as $file) {
        // $file is a PharFileInfo class, and inherits from SplFileInfo
        echo $file->getFileName() . "\n";
        echo file_get_contents($file->getPathName()) . "\n"; // display contents;
    }
    if (isset($p['internal/file.php'])) {
        var_dump($p['internal/file.php']->getMetadata());
    }

    // create a new phar - phar.readonly must be 0 in php.ini
    // phar.readonly is enabled by default for security reasons.
    // On production servers, Phars need never be created,
    // only executed.
    if (Phar::canWrite()) {
        $p = new Phar('newphar.tar.phar', 0, 'newphar.tar.phar');
        // make this a tar-based phar archive, compressed with gzip compression (.tar.gz)
        $p = $p->convertToExecutable(Phar::TAR, Phar::GZ);

        // create transaction - nothing is written to newphar.phar
        // until stopBuffering() is called, although temporary storage is needed
        $p->startBuffering();
        // add all files in /path/to/project, saving in the phar with the prefix "project"
        $p->buildFromIterator(new RecursiveIteratorIterator(new DirectoryIterator('/path/to/project')), '/path/to/');

        // add a new file via the array access API
        $p['file1.txt'] = 'Information';
        $fp = fopen('hugefile.dat', 'rb');
        // copy all data from the stream
        $p['data/hugefile.dat'] = $fp;

        if (Phar::canCompress(Phar::GZ)) {
            $p['data/hugefile.dat']->compress(Phar::GZ);
        }

        $p['images/wow.jpg'] = file_get_contents('images/wow.jpg');
        // any value can be saved as file-specific meta-data
        $p['images/wow.jpg']->setMetadata(array('mime-type' => 'image/jpeg'));
        $p['index.php'] = file_get_contents('index.php');
        $p->setMetadata(array('bootstrap' => 'index.php'));

        // save the phar archive to disk
        $p->stopBuffering();
    }
} catch (Exception $e) {
    echo 'Could not open Phar: ', $e;
}
?>

In addition, verification of phar file contents can be done using any of the supported symmetric hash algorithms (MD5, SHA1, SHA256 and SHA512 if ext/hash is enabled) and using asymmetric public/private key signing using OpenSSL (new in Phar 2.0.0). To take advantage of OpenSSL signing, you need to generate a public/private key pair, and use the private key to set the signature using Phar::setSignatureAlgorithm(). In addition, the public key as extracted using this code:

<?php
$public = openssl_get_publickey(file_get_contents('private.pem'));
$pkey = '';
openssl_pkey_export($public, $pkey);
?>
must be saved adjacent to the phar archive it verifies. If the phar archive is saved as /path/to/my.phar, the public key must be saved as /path/to/my.phar.pubkey, or phar will be unable to verify the OpenSSL signature.

As of version 2.0.0, The Phar class also provides 3 static methods, Phar::webPhar(), Phar::mungServer() and Phar::interceptFileFuncs() that are crucial to packaging up PHP applications designed for usage on regular filesystems and for web-based applications. Phar::webPhar() implements a front controller that routes HTTP calls to the correct location within the phar archive. Phar::mungServer() is used to modify the values of the $_SERVER array to trick applications that process these values. Phar::interceptFileFuncs() instructs Phar to intercept calls to fopen(), file_get_contents(), opendir(), and all of the stat-based functions (file_exists(), is_readable() and so on) and route all relative paths to locations within the phar archive.

As an example, packaging up a release of the popular phpMyAdmin application for use as a phar archive requires only this simple script and then phpMyAdmin.phar.tar.php can be accessed as a regular file from your web server after modifying the user/password:

<?php
@unlink('phpMyAdmin.phar.tar.php');
copy('phpMyAdmin-2.11.3-english.tar.gz', 'phpMyAdmin.phar.tar.php');
$a = new Phar('phpMyAdmin.phar.tar.php');
$a->startBuffering();
$a["phpMyAdmin-2.11.3-english/config.inc.php"] = '<?php
/* Servers configuration */
$i = 0;

/* Server localhost (config:root) [1] */
$i++;
$cfg[\'Servers\'][$i][\'host\'] = \'localhost\';
$cfg[\'Servers\'][$i][\'extension\'] = \'mysqli\';
$cfg[\'Servers\'][$i][\'connect_type\'] = \'tcp\';
$cfg[\'Servers\'][$i][\'compress\'] = false;
$cfg[\'Servers\'][$i][\'auth_type\'] = \'config\';
$cfg[\'Servers\'][$i][\'user\'] = \'root\';
$cfg[\'Servers\'][$i][\'password\'] = \'\';

/* End of servers configuration */
if (strpos(PHP_OS, \'WIN\') !== false) {
    $cfg[\'UploadDir\'] = getcwd();
} else {
    $cfg[\'UploadDir\'] = \'/tmp/pharphpmyadmin\';
    @mkdir(\'/tmp/pharphpmyadmin\');
    @chmod(\'/tmp/pharphpmyadmin\', 0777);
}';
$a->setStub('<?php
Phar::interceptFileFuncs();
Phar::webPhar("phpMyAdmin.phar", "phpMyAdmin-2.11.3-english/index.php");
echo "phpMyAdmin is intended to be executed from a web browser\n";
exit -1;
__HALT_COMPILER();
');
$a->stopBuffering();
?>

Using Phar Archives
Using Phar Archives: the phar stream wrapper
Using Phar Archives


Using Phar Archives: the phar stream wrapper

The Phar stream wrapper fully supports fopen() for read and write (not append), unlink(), stat(), fstat(), fseek(), rename() and directory stream operations opendir() and as of version 2.0.0, rmdir() and mkdir().

Individual file compression and per-file metadata can also be manipulated in a Phar archive using stream contexts:

<?php
$context = stream_context_create(array('phar' =>
                                    array('compress' => Phar::GZ)),
                                    array('metadata' => array('user' => 'cellog')));
file_put_contents('phar://my.phar/somefile.php', 0, $context);
?>

The phar stream wrapper does not operate on remote files, and cannot operate on remote files, and so is allowed even when the allow_url_fopen and allow_url_include INI options are disabled.

Although it is possible to create phar archives from scratch just using stream operations, it is best to use the functionality built into the Phar class. The stream wrapper is best used for read-only operations.

Using Phar Archives: Introduction
Using Phar Archives: the Phar and PharData class
Using Phar Archives


Using Phar Archives: the Phar and PharData class

The Phar class supports reading and manipulation of Phar archives, as well as iteration through inherited functionality of the RecursiveDirectoryIterator class. With support for the ArrayAccess interface, files inside a Phar archive can be accessed as if they were part of an associative array.

The PharData class extends the Phar, and allows creating and modifying non-executable (data) tar and zip archives even if phar.readonly=1 in php.ini. As such, PharData::setAlias() and PharData::setStub() are both disabled as the concept of alias and stub are unique to executable phar archives.

It is important to note that when creating a Phar archive, the full path should be passed to the Phar object constructor. Relative paths will fail to initialize.

Assuming that $p is a Phar object initialized as follows:

<?php
$p = new Phar('/path/to/myphar.phar', 0, 'myphar.phar');
?>

An empty Phar archive will be created at /path/to/myphar.phar, or if /path/to/myphar.phar already exists, it will be opened again. The literal myphar.phar demonstrates the concept of an alias that can be used to reference /path/to/myphar.phar in URLs as in:

<?php
// these two calls to file_get_contents() are equivalent if
// /path/to/myphar.phar has an explicit alias of "myphar.phar"
// in its manifest, or if the phar was initialized with the
// previous example's Phar object setup
$f = file_get_contents('phar:///path/to/myphar.phar/whatever.txt');
$f = file_get_contents('phar://myphar.phar/whatever.txt');
?>

With the newly created $p Phar object, the following is possible:

  • $a = $p['file.php'] creates a PharFileInfo class that refers to the contents of phar://myphar.phar/file.php
  • $p['file.php'] = $v creates a new file (phar://myphar.phar/file.php), or overwrites an existing file within myphar.phar. $v can be either a string or an open file pointer, in which case the entire contents of the file will be used to create the new file. Note that $p->addFromString('file.php', $v) is functionally equivalent to the above. Also possible is to add the contents of a file with $p->addFile('/path/to/file.php', 'file.php'). Lastly, an empty directory can be created with $p->addEmptyDir('empty').
  • isset($p['file.php']) can be used to determine whether phar://myphar.phar/file.php exists within myphar.phar.
  • unset($p['file.php']) erases phar://myphar.phar/file.php from myphar.phar.

In addition, the Phar object is the only way to access Phar-specific metadata, through Phar::getMetadata(), and the only way to set or retrieve a Phar archive's PHP loader stub through Phar::getStub() and Phar::setStub(). Additionally, compression for the entire Phar archive at once can only be manipulated using the Phar class.

The full list of Phar object functionality is documented below.

The PharFileInfo class extends the SplFileInfo class, and adds several methods for manipulating Phar-specific details of a file contained within a Phar, such as manipulating compression and metadata.

Using Phar Archives: the phar stream wrapper
Creating Phar Archives
Using Phar Archives


Creating Phar Archives

Inhaltsverzeichnis

  • Creating Phar Archives: Introduction
Using Phar Archives: the Phar and PharData class
Creating Phar Archives: Introduction
Phar


Creating Phar Archives: Introduction

To be written fully in the near future. Before reading this, be sure to read How to use Phar Archives.

A great place to start is by reading about Phar::buildFromIterator(), and the specifics of the file format choices available for archives. A healthy understanding of what a stub is and does is crucial to phar archive creation, and so Phar::setStub() and Phar::createDefaultStub() are good places to start as well. If you are distributing a web-based application, it is crucial to know about Phar::webPhar() and related method Phar::mungServer(). Any application that accesses its own files should also consider using Phar::interceptFileFuncs().

Creating Phar Archives
What makes a phar a phar and not a tar or a zip?
Creating Phar Archives


What makes a phar a phar and not a tar or a zip?

Inhaltsverzeichnis

  • Ingredients of all Phar archives, independent of file format
  • Phar file stub
  • Head-to-head comparison of Phar, Tar and Zip
  • Tar-based phars
  • Zip-based phars
  • Phar File Format
  • Global Phar bitmapped flags
  • Phar manifest file entry definition
  • Phar Signature format
Creating Phar Archives: Introduction
Ingredients of all Phar archives, independent of file format
Phar


Ingredients of all Phar archives, independent of file format

All Phar archives contain three to four sections:

  1. a stub

  2. a manifest describing the contents

  3. the file contents

  4. [optional] a signature for verifying Phar integrity (phar file format only)

What makes a phar a phar and not a tar or a zip?
Phar file stub
What makes a phar a phar and not a tar or a zip?


Phar file stub

A Phar's stub is a simple PHP file. The smallest possible stub follows:

<?php __HALT_COMPILER();

A stub must contain as a minimum, the __HALT_COMPILER(); token at its conclusion. Typically, a stub will contain loader functionality like so:

<?php
Phar::mapPhar();
include 'phar://myphar.phar/index.php';
__HALT_COMPILER();

There are no restrictions on the contents of a Phar stub, except for the requirement that it conclude with __HALT_COMPILER();. The closing PHP tag

?>
may be included or omitted, but there can be no more than 1 space between the ; and the close tag
?>
 or the phar extension will be unable to process the Phar archive's manifest.

In a tar or zip-based phar archive, the stub is stored in the .phar/stub.php file. The default stub for phar-based Phar archives contains approximately 7k of code to extract the contents of the phar and execute them. See Phar::createDefaultStub() for more detail.

The phar alias is stored in a tar or zip-based phar archive in the .phar/alias.txt file as plain text.

Ingredients of all Phar archives, independent of file format
Head-to-head comparison of Phar, Tar and Zip
What makes a phar a phar and not a tar or a zip?


Head-to-head comparison of Phar, Tar and Zip

What are the good and the bad things about the three supported file formats in the phar extension? This table attempts to address that question.

Feature matrix: Phar vs. Tar vs. Zip
Feature | Phar | Tar | Zip
Standard File Format | No | Yes | Yes
Can be executed without the Phar Extension [1] | Yes | No | No
Per-file compression | Yes | No | Yes
Whole-archive compression | Yes | Yes | No
Whole-archive signature validation | Yes | Yes | Yes (PHP 5.3.1+)
Web-specific application support | Yes | Yes | Yes
Per-file Meta-data | Yes | Yes | Yes
Whole-Archive Meta-data | Yes | Yes | Yes
Archive creation/modification [2] | Yes | Yes | Yes
Full support for all stream wrapper functions | Yes | Yes | Yes
Can be created/modified even if phar.readonly=1 [3] | No | Yes | Yes

Tipp

[1] PHP can only directly access the contents of a Phar archive without the Phar extension if it is using a stub that extracts the contents of the phar archive. The stub created by Phar::createDefaultStub() extracts the phar archive and runs its contents from a temporary directory if no phar extension is found.

Tipp

[2] All write access requires phar.readonly to be disabled in php.ini or on the command-line directly.

Tipp

[3] Only tar and zip archives without .phar in their filename and without an executable stub .phar/stub.php can be created if phar.readonly=1.

Phar file stub
Tar-based phars
What makes a phar a phar and not a tar or a zip?


Tar-based phars

Archives based on the tar file format follow the more modern USTAR file format. The design of the tar file header makes them more efficient to access than the zip file format, and almost as efficient as the phar file format. File names are limited to 255 bytes, including full path within the phar archive. There is no limit on the number of files within a tar-based phar archive. These archives can fully compressed in gzip or bzip2 format and still be executed by the Phar extension.

To compress an entire archive, use Phar::compress(). To decompress an entire archive, use Phar::decompress().

Head-to-head comparison of Phar, Tar and Zip
Zip-based phars
What makes a phar a phar and not a tar or a zip?


Zip-based phars

Archives based on the zip file format support several features built into the zip file format. Per-file and whole-archive metadata is stored in the zip file comment and zip archive comment as a serialized string. Pre-existing zip comments will be successfully read as a string. Per-file compression read/write is supported with zlib compression, and read access is supported with bzip2 compression. There is no limit on the number of files within a zip-based phar archive. Empty directories are stored in the zip archive as files with a trailing slash like my/directory/

Tar-based phars
Phar File Format
What makes a phar a phar and not a tar or a zip?


Phar File Format

The phar file format is literally laid out as stub/manifest/contents/signature, and stores the crucial information of what is included in the phar archive in its manifest.

The Phar manifest is a highly optimized format that allows per-file specification of file compression, file permissions, and even user-defined meta-data such as file user or group. All values greater than 1 byte are stored in little-endian byte order, with the exception of the API version, which for historical reasons is stored as 3 nibbles in big-endian order.

All unused flags are reserved for future use, and must not be used to store custom information. Use the per-file meta-data facility to store customized information about particular files.

The basic file format of a Phar archive manifest is as follows:

Global Phar manifest format
Size in bytes | Description
4 bytes | Length of manifest in bytes (1 MB limit)
4 bytes | Number of files in the Phar
2 bytes | API version of the Phar manifest (currently 1.0.0)
4 bytes | Global Phar bitmapped flags
4 bytes | Length of Phar alias
?? | Phar alias (length based on previous)
4 bytes | Length of Phar metadata (0 for none)
?? | Serialized Phar Meta-data, stored in serialize() format
at least 24 * number of entries bytes | entries for each file

Zip-based phars
Global Phar bitmapped flags
What makes a phar a phar and not a tar or a zip?


Global Phar bitmapped flags

Here are the bitmapped flags currently recognized by the Phar extension for the global Phar flat bitmap:

Bitmap values recognized
Value | Description
0x00010000 | If set, this Phar contains a verification signature
0x00001000 | If set, this Phar contains at least 1 file that is compressed with zlib compression
0x00002000 | If set, this Phar contains at least 1 file that is compressed with bzip compression

Phar File Format
Phar manifest file entry definition
What makes a phar a phar and not a tar or a zip?


Phar manifest file entry definition

Each file in the manifest contains the following information:

Phar Manifest file entry
Size in bytes | Description
4 bytes | Filename length in bytes
?? | Filename (length specified in previous)
4 bytes | Un-compressed file size in bytes
4 bytes | Unix timestamp of file
4 bytes | Compressed file size in bytes
4 bytes | CRC32 checksum of un-compressed file contents
4 bytes | Bit-mapped File-specific flags
4 bytes | Serialized File Meta-data length (0 for none)
?? | Serialized File Meta-data, stored in serialize() format

Note that as of API version 1.1.1, empty directories are stored as filenames with a trailing slash like my/directory/

The File-specific bitmap values recognized are:

Bitmap values recognized
Value | Description
0x000001FF | These bits are reserved for defining specific file permissions of a file. Permissions are used for fstat() and can be used to recreate desired permissions upon extraction.
0x00001000 | If set, this file is compressed with zlib compression
0x00002000 | If set, this file is compressed with bzip compression

Global Phar bitmapped flags
Phar Signature format
What makes a phar a phar and not a tar or a zip?


Phar Signature format

Phars containing a signature always have the signature appended to the end of the Phar archive after the loader, manifest, and file contents. The two signature formats supported at this time are MD5 and SHA1.

Signature format
Length in bytes | Description
16 or 20 bytes | The actual signature, 20 bytes for an SHA1 signature, 16 bytes for an MD5 signature, 32 bytes for an SHA256 signature, and 64 bytes for an SHA512 signature.
4 bytes | Signature flags. 0x0001 is used to define an MD5 signature, 0x0002 is used to define an SHA1 signature, 0x0004 is used to define an SHA256 signature, and 0x0008 is used to define an SHA512 signature. The SHA256 and SHA512 signature support was introduced with API version 1.1.0.
4 bytes | Magic GBMB used to define the presence of a signature.

Phar manifest file entry definition
Phar
What makes a phar a phar and not a tar or a zip?


Die Phar Klasse

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Einführung

Die Phar Klasse bietet ein gehobenes Interface zum Zugreifen und Erstellen von Phar Archiven.

Klassenbeschreibung

Phar extends RecursiveDirectoryIterator implements Countable , ArrayAccess {
/* Methoden */
public void addEmptyDir ( string $dirname )
public void addFile ( string $file [, string $localname ] )
public void addFromString ( string $localname , string $contents )
final public static string apiVersion ( void )
public array buildFromDirectory ( string $base_dir [, string $regex ] )
public array buildFromIterator ( Iterator $iter [, string $base_directory ] )
final public static bool canCompress ([ int $type = 0 ] )
final public static bool canWrite ( void )
public object compress ( int $compression [, string $extension ] )
public bool compressAllFilesBZIP2 ( void )
public bool compressAllFilesGZ ( void )
public void compressFiles ( int $compression )
public __construct ( string $fname [, int $flags [, string $alias ]] )
public PharData convertToData ([ int $format = 9021976 [, int $compression = 9021976 [, string $extension ]]] )
public Phar convertToExecutable ([ int $format = 9021976 [, int $compression = 9021976 [, string $extension ]]] )
public bool copy ( string $oldfile , string $newfile )
public int count ( void )
final public static string createDefaultStub ([ string $indexfile [, string $webindexfile ]] )
public object decompress ([ string $extension ] )
public bool decompressFiles ( void )
public bool delMetadata ( void )
public bool delete ( string $entry )
public bool extractTo ( string $pathto [, string|array $files [, bool $overwrite = false ]] )
public mixed getMetadata ( void )
public bool getModified ( void )
public array getSignature ( void )
public string getStub ( void )
final public static array getSupportedCompression ( void )
final public static array getSupportedSignatures ( void )
public string getVersion ( void )
public bool hasMetadata ( void )
final public static void interceptFileFuncs ( void )
public bool isBuffering ( void )
public mixed isCompressed ( void )
public bool isFileFormat ( int $format )
final public static bool isValidPharFilename ( string $filename [, bool $executable = true ] )
public bool isWritable ( void )
final public static bool loadPhar ( string $filename [, string $alias ] )
final public static bool mapPhar ([ string $alias [, int $dataoffset = 0 ]] )
final public static void mount ( string $pharpath , string $externalpath )
final public static void mungServer ( array $munglist )
public bool offsetExists ( string $offset )
public int offsetGet ( string $offset )
public void offsetSet ( string $offset , string $value )
public bool offsetUnset ( string $offset )
final public static string running ([ bool $retphar = true ] )
public bool setAlias ( string $alias )
public bool setDefaultStub ([ string $index [, string $webindex ]] )
public void setMetadata ( mixed $metadata )
public void setSignatureAlgorithm ( int $sigtype [, string $privatekey ] )
public bool setStub ( string $stub [, int $len = -1 ] )
public void startBuffering ( void )
public void stopBuffering ( void )
public bool uncompressAllFiles ( void )
final public static bool unlinkArchive ( string $archive )
final public static void webPhar ([ string $alias [, string $index = "index.php" [, string $f404 [, array $mimetypes [, callable $rewrites ]]]]] )
}

Inhaltsverzeichnis

  • Phar::addEmptyDir — Add an empty directory to the phar archive
  • Phar::addFile — Add a file from the filesystem to the phar archive
  • Phar::addFromString — Add a file from a string to the phar archive
  • Phar::apiVersion — Returns the api version
  • Phar::buildFromDirectory — Construct a phar archive from the files within a directory.
  • Phar::buildFromIterator — Construct a phar archive from an iterator.
  • Phar::canCompress — Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::canWrite — Returns whether phar extension supports writing and creating phars
  • Phar::compress — Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::compressAllFilesBZIP2 — Compresses all files in the current Phar archive using Bzip2 compression
  • Phar::compressAllFilesGZ — Compresses all files in the current Phar archive using Gzip compression
  • Phar::compressFiles — Compresses all files in the current Phar archive
  • Phar::__construct — Construct a Phar archive object
  • Phar::convertToData — Convert a phar archive to a non-executable tar or zip file
  • Phar::convertToExecutable — Convert a phar archive to another executable phar archive file format
  • Phar::copy — Copy a file internal to the phar archive to another new file within the phar
  • Phar::count — Returns the number of entries (files) in the Phar archive
  • Phar::createDefaultStub — Create a phar-file format specific stub
  • Phar::decompress — Decompresses the entire Phar archive
  • Phar::decompressFiles — Decompresses all files in the current Phar archive
  • Phar::delMetadata — Deletes the global metadata of the phar
  • Phar::delete — Delete a file within a phar archive
  • Phar::extractTo — Extract the contents of a phar archive to a directory
  • Phar::getMetadata — Returns phar archive meta-data
  • Phar::getModified — Return whether phar was modified
  • Phar::getSignature — Return MD5/SHA1/SHA256/SHA512/OpenSSL signature of a Phar archive
  • Phar::getStub — Return the PHP loader or bootstrap stub of a Phar archive
  • Phar::getSupportedCompression — Return array of supported compression algorithms
  • Phar::getSupportedSignatures — Return array of supported signature types
  • Phar::getVersion — Return version info of Phar archive
  • Phar::hasMetadata — Returns whether phar has global meta-data
  • Phar::interceptFileFuncs — instructs phar to intercept fopen, file_get_contents, opendir, and all of the stat-related functions
  • Phar::isBuffering — Used to determine whether Phar write operations are being buffered, or are flushing directly to disk
  • Phar::isCompressed — Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::isFileFormat — Returns true if the phar archive is based on the tar/phar/zip file format depending on the parameter
  • Phar::isValidPharFilename — Returns whether the given filename is a valid phar filename
  • Phar::isWritable — Returns true if the phar archive can be modified
  • Phar::loadPhar — Loads any phar archive with an alias
  • Phar::mapPhar — Reads the currently executed file (a phar) and registers its manifest
  • Phar::mount — Mount an external path or file to a virtual location within the phar archive
  • Phar::mungServer — Defines a list of up to 4 $_SERVER variables that should be modified for execution
  • Phar::offsetExists — determines whether a file exists in the phar
  • Phar::offsetGet — Gets a PharFileInfo object for a specific file
  • Phar::offsetSet — set the contents of an internal file to those of an external file
  • Phar::offsetUnset — remove a file from a phar
  • Phar::running — Returns the full path on disk or full phar URL to the currently executing Phar archive
  • Phar::setAlias — Set the alias for the Phar archive
  • Phar::setDefaultStub — Used to set the PHP loader or bootstrap stub of a Phar archive to the default loader
  • Phar::setMetadata — Sets phar archive meta-data
  • Phar::setSignatureAlgorithm — set the signature algorithm for a phar and apply it.
  • Phar::setStub — Used to set the PHP loader or bootstrap stub of a Phar archive
  • Phar::startBuffering — Start buffering Phar write operations, do not modify the Phar object on disk
  • Phar::stopBuffering — Stop buffering write requests to the Phar archive, and save changes to disk
  • Phar::uncompressAllFiles — Uncompresses all files in the current Phar archive
  • Phar::unlinkArchive — Completely remove a phar archive from disk and from memory
  • Phar::webPhar — mapPhar for web-based phars. front controller for web applications
Phar Signature format
Phar::addEmptyDir
Phar


Add an empty directory to the phar archive

Phar
Phar::addFile
Phar
PHP Manual

Phar::addEmptyDir

(Unknown)

Phar::addEmptyDir — Add an empty directory to the phar archive

Beschreibung

public void Phar::addEmptyDir ( string $dirname )

Hinweis:

Diese Methode des Phar-Objekts funktioniert nur wenn die php.ini-Einstellung phar.readonly auf 0 gesetzt ist, sonst wird eine PharException geworfen.

With this method, an empty directory is created with path dirname. This method is similar to ZipArchive::addEmptyDir().

Parameter-Liste

dirname

The name of the empty directory to create in the phar archive

Rückgabewerte

no return value, exception is thrown on failure.

Beispiele

Beispiel #1 A Phar::addEmptyDir() example

<?php
try {
    $a = new Phar('/path/to/phar.phar');

    $a->addEmptyDir('/full/path/to/file');
    // demonstrates how this file is stored
    $b = $a['full/path/to/file']->isDir();
} catch (Exception $e) {
    // handle errors here
}
?>

Siehe auch

  • PharData::addEmptyDir() - Add an empty directory to the tar/zip archive
  • Phar::addFile() - Add a file from the filesystem to the phar archive
  • Phar::addFromString() - Add a file from a string to the phar archive

Phar
Phar::addFile
Phar


Add a file from the filesystem to the phar archive

Phar::addEmptyDir
Phar::addFromString
Phar
PHP Manual

Phar::addFile

(Unknown)

Phar::addFile — Add a file from the filesystem to the phar archive

Beschreibung

public void Phar::addFile ( string $file [, string $localname ] )

Hinweis:

Diese Methode des Phar-Objekts funktioniert nur wenn die php.ini-Einstellung phar.readonly auf 0 gesetzt ist, sonst wird eine PharException geworfen.

With this method, any file or URL can be added to the phar archive. If the optional second parameter localname is specified, the file will be stored in the archive with that name, otherwise the file parameter is used as the path to store within the archive. URLs must have a localname or an exception is thrown. This method is similar to ZipArchive::addFile().

Parameter-Liste

file

Full or relative path to a file on disk to be added to the phar archive.

localname

Path that the file will be stored in the archive.

Rückgabewerte

no return value, exception is thrown on failure.

Beispiele

Beispiel #1 A Phar::addFile() example

<?php
try {
    $a = new Phar('/path/to/phar.phar');

    $a->addFile('/full/path/to/file');
    // demonstrates how this file is stored
    $b = $a['full/path/to/file']->getContent();

    $a->addFile('/full/path/to/file', 'my/file.txt');
    $c = $a['my/file.txt']->getContent();

    // demonstrate URL usage
    $a->addFile('http://www.example.com', 'example.html');
} catch (Exception $e) {
    // handle errors here
}
?>

Siehe auch

  • Phar::offsetSet() - set the contents of an internal file to those of an external file
  • PharData::addFile() - Add a file from the filesystem to the tar/zip archive
  • Phar::addFromString() - Add a file from a string to the phar archive
  • Phar::addEmptyDir() - Add an empty directory to the phar archive

Phar::addEmptyDir
Phar::addFromString
Phar


Add a file from a string to the phar archive

Phar::addFile
Phar::apiVersion
Phar
PHP Manual

Phar::addFromString

(Unknown)

Phar::addFromString — Add a file from a string to the phar archive

Beschreibung

public void Phar::addFromString ( string $localname , string $contents )

Hinweis:

Diese Methode des Phar-Objekts funktioniert nur wenn die php.ini-Einstellung phar.readonly auf 0 gesetzt ist, sonst wird eine PharException geworfen.

With this method, any string can be added to the phar archive. The file will be stored in the archive with localname as its path. This method is similar to ZipArchive::addFromString().

Parameter-Liste

localname

Path that the file will be stored in the archive.

contents

The file contents to store

Rückgabewerte

no return value, exception is thrown on failure.

Beispiele

Beispiel #1 A Phar::addFromString() example

<?php
try {
    $a = new Phar('/path/to/phar.phar');

    $a->addFromString('path/to/file.txt', 'my simple file');
    $b = $a['path/to/file.txt']->getContent();

    // to add contents from a stream handle for large files, use offsetSet()
    $c = fopen('/path/to/hugefile.bin');
    $a['largefile.bin'] = $c;
    fclose($c);
} catch (Exception $e) {
    // handle errors here
}
?>

Siehe auch

  • Phar::offsetSet() - set the contents of an internal file to those of an external file
  • PharData::addFromString() - Add a file from the filesystem to the tar/zip archive
  • Phar::addFile() - Add a file from the filesystem to the phar archive
  • Phar::addEmptyDir() - Add an empty directory to the phar archive

Phar::addFile
Phar::apiVersion
Phar


Returns the api version

Phar::addFromString
Phar::buildFromDirectory
Phar
PHP Manual

Phar::apiVersion

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::apiVersion — Returns the api version

Beschreibung

final public static string Phar::apiVersion ( void )

Return the API version of the phar file format that will be used when creating phars. The Phar extension supports reading API version 1.0.0 or newer. API version 1.1.0 is required for SHA-256 and SHA-512 hash, and API version 1.1.1 is required to store empty directories.

Parameter-Liste

Rückgabewerte

The API version string as in "1.0.0".

Beispiele

Beispiel #1 A Phar::apiVersion() example

<?php
echo Phar::apiVersion();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1.1.1

Phar::addFromString
Phar::buildFromDirectory
Phar


Construct a phar archive from the files within a directory.

Phar::apiVersion
Phar::buildFromIterator
Phar
PHP Manual

Phar::buildFromDirectory

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::buildFromDirectory — Construct a phar archive from the files within a directory.

Beschreibung

public array Phar::buildFromDirectory ( string $base_dir [, string $regex ] )

Hinweis:

Diese Methode des Phar-Objekts funktioniert nur wenn die php.ini-Einstellung phar.readonly auf 0 gesetzt ist, sonst wird eine PharException geworfen.

Populate a phar archive from directory contents. The optional second parameter is a regular expression (pcre) that is used to exclude files. Any filename that matches the regular expression will be included, all others will be excluded. For more fine-grained control, use Phar::buildFromIterator().

Parameter-Liste

base_dir

The full or relative path to the directory that contains all files to add to the archive.

regex

An optional pcre regular expression that is used to filter the list of files. Only file paths matching the regular expression will be included in the archive.

Rückgabewerte

Phar::buildFromDirectory() returns an associative array mapping internal path of file to the full path of the file on the filesystem.

Fehler/Exceptions

This method throws BadMethodCallException when unable to instantiate the internal directory iterators, or a PharException if there were errors saving the phar archive.

Beispiele

Beispiel #1 A Phar::buildFromDirectory() example

<?php
// create with alias "project.phar"
$phar = new Phar('project.phar', 0, 'project.phar');
// add all files in the project
$phar->buildFromDirectory(dirname(__FILE__) . '/project');
$phar->setStub($phar->createDefaultStub('cli/index.php', 'www/index.php'));

$phar2 = new Phar('project2.phar', 0, 'project2.phar');
// add all files in the project, only include php files
$phar2->buildFromDirectory(dirname(__FILE__) . '/project', '/\.php$/');
$phar2->setStub($phar->createDefaultStub('cli/index.php', 'www/index.php'));
?>

Siehe auch

  • Phar::buildFromIterator() - Construct a phar archive from an iterator.

Phar::apiVersion
Phar::buildFromIterator
Phar


Construct a phar archive from an iterator.

Phar::buildFromDirectory
Phar::canCompress
Phar
PHP Manual

Phar::buildFromIterator

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::buildFromIterator — Construct a phar archive from an iterator.

Beschreibung

public array Phar::buildFromIterator ( Iterator $iter [, string $base_directory ] )

Hinweis:

Diese Methode des Phar-Objekts funktioniert nur wenn die php.ini-Einstellung phar.readonly auf 0 gesetzt ist, sonst wird eine PharException geworfen.

Populate a phar archive from an iterator. Two styles of iterators are supported, iterators that map the filename within the phar to the name of a file on disk, and iterators like DirectoryIterator that return SplFileInfo objects. For iterators that return SplFileInfo objects, the second parameter is required.

Parameter-Liste

iter

Any iterator that either associatively maps phar file to location or returns SplFileInfo objects

base_directory

For iterators that return SplFileInfo objects, the portion of each file's full path to remove when adding to the phar archive

Rückgabewerte

Phar::buildFromIterator() returns an associative array mapping internal path of file to the full path of the file on the filesystem.

Beispiele

Beispiel #1 A Phar::buildFromIterator() with SplFileInfo

For most phar archives, the archive will reflect an actual directory layout, and the second style is the most useful. For instance, to create a phar archive containing the files in this sample directory layout:

/path/to/project/
                 config/
                        dist.xml
                        debug.xml
                 lib/
                     file1.php
                     file2.php
                 src/
                     processthing.php
                 www/
                     index.php
                 cli/
                     index.php

This code could be used to add these files to the "project.phar" phar archive:

<?php
// create with alias "project.phar"
$phar = new Phar('project.phar', 0, 'project.phar');
$phar->buildFromIterator(
    new RecursiveIteratorIterator(
     new RecursiveDirectoryIterator('/path/to/project')),
    '/path/to/project');
$phar->setStub($phar->createDefaultStub('cli/index.php', 'www/index.php'));
?>

The file project.phar can then be used immediately. Phar::buildFromIterator() does not set values such as compression, metadata, and this can be done after creating the phar archive.

As an interesting note, Phar::buildFromIterator() can also be used to copy the contents of an existing phar archive, as the Phar object descends from DirectoryIterator:

<?php
// create with alias "project.phar"
$phar = new Phar('project.phar', 0, 'project.phar');
$phar->buildFromIterator(
    new RecursiveIteratorIterator(
     new Phar('/path/to/anotherphar.phar')),
    'phar:///path/to/anotherphar.phar/path/to/project');
$phar->setStub($phar->createDefaultStub('cli/index.php', 'www/index.php'));
?>

Beispiel #2 A Phar::buildFromIterator() with other iterators

The second form of the iterator can be used with any iterator that returns a key => value mapping, such as an ArrayIterator:

<?php
// create with alias "project.phar"
$phar = new Phar('project.phar', 0, 'project.phar');
$phar->buildFromIterator(
    new ArrayIterator(
     array(
        'internal/file.php' => dirname(__FILE__) . '/somefile.php',
        'another/file.jpg' => fopen('/path/to/bigfile.jpg', 'rb'),
     )));
$phar->setStub($phar->createDefaultStub('cli/index.php', 'www/index.php'));
?>

Fehler/Exceptions

This method returns UnexpectedValueException when the iterator returns incorrect values, such as an integer key instead of a string, a BadMethodCallException when an SplFileInfo-based iterator is passed without a base_directory parameter, or a PharException if there were errors saving the phar archive.

Siehe auch

  • Phar::buildFromDirectory() - Construct a phar archive from the files within a directory.

Phar::buildFromDirectory
Phar::canCompress
Phar


Returns whether phar extension supports compression using either zlib or bzip2

Phar::buildFromIterator
Phar::canWrite
Phar
PHP Manual

Phar::canCompress

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::canCompress — Returns whether phar extension supports compression using either zlib or bzip2

Beschreibung

final public static bool Phar::canCompress ([ int $type = 0 ] )

This should be used to test whether compression is possible prior to loading a phar archive containing compressed files.

Parameter-Liste

type

Either Phar::GZ or Phar::BZ2 can be used to test whether compression is possible with a specific compression algorithm (zlib or bzip2).

Rückgabewerte

TRUE if compression/decompression is available, FALSE if not.

Beispiele

Beispiel #1 A Phar::canCompress() example

<?php
if (Phar::canCompress()) {
    echo file_get_contents('phar://compressedphar.phar/internal/file.txt');
} else {
    echo 'no compression available';
}
?>

Siehe auch

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compressFiles() - Compresses all files in the current Phar archive
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::convertToExecutable() - Convert a phar archive to another executable phar archive file format
  • Phar::convertToData() - Convert a phar archive to a non-executable tar or zip file

Phar::buildFromIterator
Phar::canWrite
Phar


Returns whether phar extension supports writing and creating phars

Phar::canCompress
Phar::compress
Phar
PHP Manual

Phar::canWrite

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::canWrite — Returns whether phar extension supports writing and creating phars

Beschreibung

final public static bool Phar::canWrite ( void )

This static method determines whether write access has been disabled in the system php.ini via the phar.readonly ini variable.

Parameter-Liste

Rückgabewerte

TRUE if write access is enabled, FALSE if it is disabled.

Beispiele

Beispiel #1 A Phar::canWrite() example

<?php
if (Phar::canWrite()) {
    file_put_contents('phar://myphar.phar/file.txt', 'hi there');
}
?>

Siehe auch

  • phar.readonly
  • Phar::isWritable() - Returns true if the phar archive can be modified

Phar::canCompress
Phar::compress
Phar


Compresses the entire Phar archive using Gzip or Bzip2 compression

Phar::canWrite
Phar::compressAllFilesBZIP2
Phar
PHP Manual

Phar::compress

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::compress — Compresses the entire Phar archive using Gzip or Bzip2 compression

Beschreibung

public object Phar::compress ( int $compression [, string $extension ] )

Hinweis:

Diese Methode des Phar-Objekts funktioniert nur wenn die php.ini-Einstellung phar.readonly auf 0 gesetzt ist, sonst wird eine PharException geworfen.

For tar-based and phar-based phar archives, this method compresses the entire archive using gzip compression or bzip2 compression. The resulting file can be processed with the gunzip command/bunzip command, or accessed directly and transparently with the Phar extension.

For Zip-based phar archives, this method fails with an exception. The zlib extension must be enabled to compress with gzip compression, the bzip2 extension must be enabled in order to compress with bzip2 compression. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

In addition, this method automatically renames the archive, appending .gz, .bz2 or removing the extension if passed Phar::NONE to remove compression. Alternatively, a file extension may be specified with the second parameter.

Parameter-Liste

compression

Compression must be one of Phar::GZ, Phar::BZ2 to add compression, or Phar::NONE to remove compression.

extension

By default, the extension is .phar.gz or .phar.bz2 for compressing phar archives, and .phar.tar.gz or .phar.tar.bz2 for compressing tar archives. For decompressing, the default file extensions are .phar and .phar.tar.

Rückgabewerte

Returns a Phar object.

Fehler/Exceptions

Throws BadMethodCallException if the phar.readonly INI variable is on, the zlib extension is not available, or the bzip2 extension is not enabled.

Beispiele

Beispiel #1 A Phar::compress() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
$p1 = $p->compress(Phar::GZ); // copies to /path/to/my.phar.gz
$p2 = $p->compress(Phar::BZ2); // copies to /path/to/my.phar.bz2
$p3 = $p2->compress(Phar::NONE); // exception: /path/to/my.phar already exists
?>

Siehe auch

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • PharData::compress() - Compresses the entire tar/zip archive using Gzip or Bzip2 compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::decompress() - Decompresses the entire Phar archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::compressFiles() - Compresses all files in the current Phar archive
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive

Phar::canWrite
Phar::compressAllFilesBZIP2
Phar


Compresses all files in the current Phar archive using Bzip2 compression

Phar::compress
Phar::compressAllFilesGZ
Phar
PHP Manual

Phar::compressAllFilesBZIP2

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::compressAllFilesBZIP2 — Compresses all files in the current Phar archive using Bzip2 compression

Beschreibung

public bool Phar::compressAllFilesBZIP2 ( void )

Hinweis:

Diese Methode wurde beginnend mit Version 2.0.0 der phar-Extension
entfernt. Alternative Implementationen bieten Phar::compress(),
Phar::decompress(), Phar::compressFiles() und
Phar::decompressFiles().

Hinweis:

Diese Methode des Phar-Objekts funktioniert nur wenn die php.ini-Einstellung phar.readonly auf 0 gesetzt ist, sonst wird eine PharException geworfen.

This method compresses all files in the Phar archive using bzip2 compression. The bzip2 extension must be enabled to take advantage of this feature. In addition, if any files are already compressed using gzip compression, the zlib extension must be enabled in order to decompress the files prior to re-compressing with bzip2 compression. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Throws BadMethodCallException if the phar.readonly INI variable is on, the bzip2 extension is not available, or if any files are compressed using gzip compression and the zlib extension is not enabled.

Beispiele

Beispiel #1 A Phar::compressAllFilesBZIP2() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressedBZIP2());
    var_dump($file->isCompressedGZ());
}
$p->compressAllFilesBZIP2();
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressedBZIP2());
    var_dump($file->isCompressedGZ());
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(10) "myfile.txt"
bool(false)
bool(false)
bool(false)
string(11) "myfile2.txt"
bool(false)
bool(false)
bool(false)
string(10) "myfile.txt"
bool(true)
bool(true)
bool(false)
string(11) "myfile2.txt"
bool(true)
bool(true)
bool(false)

Siehe auch

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressedBZIP2() - Returns whether the entry is compressed using bzip2
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::isCompressedGZ() - Returns whether the entry is compressed using gz
  • PharFileInfo::setCompressedBZIP2() - Compresses the current Phar entry within the phar using Bzip2 compression
  • PharFileInfo::setUncompressed() - Uncompresses the current Phar entry within the phar, if it is compressed
  • PharFileInfo::setCompressedGZ() - Compresses the current Phar entry within the phar using gz compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compressAllFilesGZ() - Compresses all files in the current Phar archive using Gzip compression
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::uncompressAllFiles() - Uncompresses all files in the current Phar archive

Phar::compress
Phar::compressAllFilesGZ
Phar


Compresses all files in the current Phar archive using Gzip compression

Phar::compressAllFilesBZIP2
Phar::compressFiles
Phar
PHP Manual

Phar::compressAllFilesGZ

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::compressAllFilesGZ — Compresses all files in the current Phar archive using Gzip compression

Beschreibung

public bool Phar::compressAllFilesGZ ( void )

Hinweis:

Diese Methode wurde beginnend mit Version 2.0.0 der phar-Extension
entfernt. Alternative Implementationen bieten Phar::compress(),
Phar::decompress(), Phar::compressFiles() und
Phar::decompressFiles().

Hinweis:

Diese Methode des Phar-Objekts funktioniert nur wenn die php.ini-Einstellung phar.readonly auf 0 gesetzt ist, sonst wird eine PharException geworfen.

For tar-based phar archives, this method compresses the entire archive using gzip compression. The resulting file can be processed with the gunzip command, or accessed directly and transparently with the Phar extension.

For Zip-based and phar-based phar archives, this method compresses all files in the Phar archive using gzip compression. The zlib extension must be enabled to take advantage of this feature. In addition, if any files are already compressed using bzip2 compression, the bzip2 extension must be enabled in order to decompress the files prior to re-compressing with gzip compression. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Throws BadMethodCallException if the phar.readonly INI variable is on, the zlib extension is not available, or if any files are compressed using bzip2 compression and the bzip2 extension is not enabled.

Beispiele

Beispiel #1 A Phar::compressAllFilesGZ() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressedBZIP2());
    var_dump($file->isCompressedGZ());
}
$p->compressAllFilesGZ();
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressedBZIP2());
    var_dump($file->isCompressedGZ());
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(10) "myfile.txt"
bool(false)
bool(false)
bool(false)
string(11) "myfile2.txt"
bool(false)
bool(false)
bool(false)
string(10) "myfile.txt"
bool(true)
bool(false)
bool(true)
string(11) "myfile2.txt"
bool(true)
bool(false)
bool(true)

Siehe auch

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressedBZIP2() - Returns whether the entry is compressed using bzip2
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::isCompressedGZ() - Returns whether the entry is compressed using gz
  • PharFileInfo::setCompressedBZIP2() - Compresses the current Phar entry within the phar using Bzip2 compression
  • PharFileInfo::setUncompressed() - Uncompresses the current Phar entry within the phar, if it is compressed
  • PharFileInfo::setCompressedGZ() - Compresses the current Phar entry within the phar using gz compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compressAllFilesBZIP2() - Compresses all files in the current Phar archive using Bzip2 compression
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::uncompressAllFiles() - Uncompresses all files in the current Phar archive

Phar::compressAllFilesBZIP2
Phar::compressFiles
Phar


Compresses all files in the current Phar archive

Phar::compressAllFilesGZ
Phar::__construct
Phar
PHP Manual

Phar::compressFiles

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::compressFiles — Compresses all files in the current Phar archive

Beschreibung

public void Phar::compressFiles ( int $compression )

Hinweis:

Diese Methode des Phar-Objekts funktioniert nur wenn die php.ini-Einstellung phar.readonly auf 0 gesetzt ist, sonst wird eine PharException geworfen.

For tar-based phar archives, this method throws a BadMethodCallException, as compression of individual files within a tar archive is not supported by the file format. Use Phar::compress() to compress an entire tar-based phar archive.

For Zip-based and phar-based phar archives, this method compresses all files in the Phar archive using the specified compression. The zlib or bzip2 extensions must be enabled to take advantage of this feature. In addition, if any files are already compressed using bzip2/zlib compression, the respective extension must be enabled in order to decompress the files prior to re-compressing. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

Parameter-Liste

compression

Compression must be one of Phar::GZ, Phar::BZ2 to add compression, or Phar::NONE to remove compression.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

Throws BadMethodCallException if the phar.readonly INI variable is on, the zlib extension is not available, or if any files are compressed using bzip2 compression and the bzip2 extension is not enabled.

Beispiele

Beispiel #1 A Phar::compressFiles() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressed(Phar::BZ2));
    var_dump($file->isCompressed(Phar::GZ));
}
$p->compressFiles(Phar::GZ);
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressed(Phar::BZ2));
    var_dump($file->isCompressed(Phar::GZ));
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(10) "myfile.txt"
bool(false)
bool(false)
bool(false)
string(11) "myfile2.txt"
bool(false)
bool(false)
bool(false)
string(10) "myfile.txt"
int(4096)
bool(false)
bool(true)
string(11) "myfile2.txt"
int(4096)
bool(false)
bool(true)

Siehe auch

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::decompress() - Decompresses the entire Phar archive

Phar::compressAllFilesGZ
Phar::__construct
Phar


Construct a Phar archive object

Phar::compressFiles
Phar::convertToData
Phar
PHP Manual

Phar::__construct

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::__construct — Construct a Phar archive object

Beschreibung

public Phar::__construct ( string $fname [, int $flags [, string $alias ]] )

Parameter-Liste

fname

Path to an existing Phar archive or to-be-created archive. The file name's extension must contain .phar.

flags

Flags to pass to parent class RecursiveDirectoryIterator.

alias

Alias with which this Phar archive should be referred to in calls to stream functionality.

Fehler/Exceptions

Throws BadMethodCallException if called twice, UnexpectedValueException if the phar archive can't be opened.

Beispiele

Beispiel #1 A Phar::__construct() example

<?php
try {
    $p = new Phar('/path/to/my.phar', FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::KEY_AS_FILENAME,
                  'my.phar');
} catch (UnexpectedValueException $e) {
    die('Could not open my.phar');
} catch (BadMethodCallException $e) {
    echo 'technically, this cannot happen';
}
// this works now
echo file_get_contents('phar://my.phar/example.txt');
// and works as if we had typed
echo file_get_contents('phar:///path/to/my.phar/example.txt');
?>

Phar::compressFiles
Phar::convertToData
Phar


Convert a phar archive to a non-executable tar or zip file

Phar::__construct
Phar::convertToExecutable
Phar
PHP Manual

Phar::convertToData

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::convertToData — Convert a phar archive to a non-executable tar or zip file

Beschreibung

public PharData Phar::convertToData ([ int $format = 9021976 [, int $compression = 9021976 [, string $extension ]]] )

This method is used to convert an executable phar archive to either a tar or zip file. To make the tar or zip non-executable, the phar stub and phar alias files are removed from the newly created archive.

If no changes are specified, this method throws a BadMethodCallException if the archive is in phar file format. For archives in tar or zip file format, this method converts the archive to a non-executable archive.

If successful, the method creates a new archive on disk and returns a PharData object. The old archive is not removed from disk, and should be done manually after the process has finished.

Parameter-Liste

format

This should be one of Phar::TAR or Phar::ZIP. If set to NULL, the existing file format will be preserved.

compression

This should be one of Phar::NONE for no whole-archive compression, Phar::GZ for zlib-based compression, and Phar::BZ2 for bzip-based compression.

extension

This parameter is used to override the default file extension for a converted archive. Note that .phar cannot be used anywhere in the filename for a non-executable tar or zip archive.

If converting to a tar-based phar archive, the default extensions are .tar, .tar.gz, and .tar.bz2 depending on specified compression. For zip-based archives, the default extension is .zip.

Rückgabewerte

The method returns a PharData object on success and throws an exception on failure.

Fehler/Exceptions

This method throws BadMethodCallException when unable to compress, an unknown compression method has been specified, the requested archive is buffering with Phar::startBuffering() and has not concluded with Phar::stopBuffering(), and a PharException if any problems are encountered during the phar creation process.

Beispiele

Beispiel #1 A Phar::convertToData() example

Using Phar::convertToData():

<?php
try {
    $tarphar = new Phar('myphar.phar.tar');
    // note that myphar.phar.tar is *not* unlinked
    // convert it to the non-executable tar file format
    // creates myphar.tar
    $tar = $tarphar->convertToData();
    // convert to non-executable zip format, creates myphar.zip
    $zip = $tarphar->convertToData(Phar::ZIP);
    // create myphar.tbz
    $tgz = $tarphar->convertToData(Phar::TAR, Phar::BZ2, '.tbz');
    // creates myphar.phar.tgz
    $phar = $tarphar->convertToData(Phar::PHAR); // throws exception
} catch (Exception $e) {
    // handle the error here
}
?>

Siehe auch

  • Phar::convertToExecutable() - Convert a phar archive to another executable phar archive file format
  • PharData::convertToExecutable() - Convert a non-executable tar/zip archive to an executable phar archive
  • PharData::convertToData() - Convert a phar archive to a non-executable tar or zip file

Phar::__construct
Phar::convertToExecutable
Phar


Convert a phar archive to another executable phar archive file format

Phar::convertToData
Phar::copy
Phar
PHP Manual

Phar::convertToExecutable

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::convertToExecutable — Convert a phar archive to another executable phar archive file format

Beschreibung

public Phar Phar::convertToExecutable ([ int $format = 9021976 [, int $compression = 9021976 [, string $extension ]]] )

Hinweis:

Diese Methode des Phar-Objekts funktioniert nur wenn die php.ini-Einstellung phar.readonly auf 0 gesetzt ist, sonst wird eine PharException geworfen.

This method is used to convert a phar archive to another file format. For instance, it can be used to create a tar-based executable phar archive from a zip-based executable phar archive, or from an executable phar archive in the phar file format. In addition, it can be used to apply whole-archive compression to a tar or phar-based archive.

If no changes are specified, this method throws a BadMethodCallException.

If successful, the method creates a new archive on disk and returns a Phar object. The old archive is not removed from disk, and should be done manually after the process has finished.

Parameter-Liste

format

This should be one of Phar::PHAR, Phar::TAR, or Phar::ZIP. If set to NULL, the existing file format will be preserved.

compression

This should be one of Phar::NONE for no whole-archive compression, Phar::GZ for zlib-based compression, and Phar::BZ2 for bzip-based compression.

extension

This parameter is used to override the default file extension for a converted archive. Note that all zip- and tar-based phar archives must contain .phar in their file extension in order to be processed as a phar archive.

If converting to a phar-based archive, the default extensions are .phar, .phar.gz, or .phar.bz2 depending on the specified compression. For tar-based phar archives, the default extensions are .phar.tar, .phar.tar.gz, and .phar.tar.bz2. For zip-based phar archives, the default extension is .phar.zip.

Rückgabewerte

The method returns a Phar object on success and throws an exception on failure.

Fehler/Exceptions

This method throws BadMethodCallException when unable to compress, an unknown compression method has been specified, the requested archive is buffering with Phar::startBuffering() and has not concluded with Phar::stopBuffering(), an UnexpectedValueException if write support is disabled, and a PharException if any problems are encountered during the phar creation process.

Beispiele

Beispiel #1 A Phar::convertToExecutable() example

Using Phar::convertToExecutable():

<?php
try {
    $tarphar = new Phar('myphar.phar.tar');
    // convert it to the phar file format
    // note that myphar.phar.tar is *not* unlinked
    $phar = $tarphar->convertToExecutable(Phar::PHAR); // creates myphar.phar
    $phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
    // creates myphar.phar.tgz
    $compressed = $phar->convertToExecutable(Phar::TAR, Phar::GZ, '.phar.tgz');
} catch (Exception $e) {
    // handle the error here
}
?>

Siehe auch

  • Phar::convertToData() - Convert a phar archive to a non-executable tar or zip file
  • PharData::convertToExecutable() - Convert a non-executable tar/zip archive to an executable phar archive
  • PharData::convertToData() - Convert a phar archive to a non-executable tar or zip file

Phar::convertToData
Phar::copy
Phar


Copy a file internal to the phar archive to another new file within the phar

Phar::convertToExecutable
Phar::count
Phar
PHP Manual

Phar::copy

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::copy — Copy a file internal to the phar archive to another new file within the phar

Beschreibung

public bool Phar::copy ( string $oldfile , string $newfile )

Hinweis:

Diese Methode des Phar-Objekts funktioniert nur wenn die php.ini-Einstellung phar.readonly auf 0 gesetzt ist, sonst wird eine PharException geworfen.

Copy a file internal to the phar archive to another new file within the phar. This is an object-oriented alternative to using copy() with the phar stream wrapper.

Parameter-Liste

oldfile

newfile

Rückgabewerte

returns TRUE on success, but it is safer to encase method call in a try/catch block and assume success if no exception is thrown.

Fehler/Exceptions

throws UnexpectedValueException if the source file does not exist, the destination file already exists, write access is disabled, opening either file fails, reading the source file fails, or a PharException if writing the changes to the phar fails.

Beispiele

Beispiel #1 A Phar::copy() example

This example shows using Phar::copy() and the equivalent stream wrapper performance of the same thing. The primary difference between the two approaches is error handling. All Phar methods throw exceptions, whereas the stream wrapper uses trigger_error().

<?php
try {
    $phar = new Phar('myphar.phar');
    $phar['a'] = 'hi';
    $phar->copy('a', 'b');
    echo $phar['b']; // outputs "hi"
} catch (Exception $e) {
    // handle error
}

// the stream wrapper equivalent of the above code.
// E_WARNINGS are triggered on error rather than exceptions.
copy('phar://myphar.phar/a', 'phar//myphar.phar/c');
echo file_get_contents('phar://myphar.phar/c'); // outputs "hi"
?>

Phar::convertToExecutable
Phar::count
Phar


Returns the number of entries (files) in the Phar archive

Phar::copy
Phar::createDefaultStub
Phar
PHP Manual

Phar::count

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::count — Returns the number of entries (files) in the Phar archive

Beschreibung

public int Phar::count ( void )

Parameter-Liste

Rückgabewerte

The number of files contained within this phar, or 0 (the number zero) if none.

Beispiele

Beispiel #1 A Phar::count() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
} catch (Exception $e) {
    echo 'Could not create phar:', $e;
}
echo 'The new phar has ' . $p->count() . " entries\n";
$p['file.txt'] = 'hi';
echo 'The new phar has ' . $p->count() . " entries\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

The new phar has 0 entries
The new phar has 1 entries

Phar::copy
Phar::createDefaultStub
Phar


Create a phar-file format specific stub

Phar::count
Phar::decompress
Phar
PHP Manual

Phar::createDefaultStub

(Unknown)

Phar::createDefaultStub — Create a phar-file format specific stub

Beschreibung

final public static string Phar::createDefaultStub ([ string $indexfile [, string $webindexfile ]] )

This method is intended for creation of phar-file format-specific stubs, and is not intended for use with tar- or zip-based phar archives.

Phar archives contain a bootstrap loader, or stub written in PHP that is executed when the archive is executed in PHP either via include:

<?php
include 'myphar.phar';
?>
or by simple execution:
php myphar.phar

This method provides a simple and easy method to create a stub that will run a startup file from the phar archive. In addition, different files can be specified for running the phar archive from the command line versus through a web server. The loader stub also calls Phar::interceptFileFuncs() to allow easy bundling of a PHP application that accesses the file system. If the phar extension is not present, the loader stub will extract the phar archive to a temporary directory and then operate on the files. A shutdown function erases the temporary files on exit.

Rückgabewerte

Returns a string containing the contents of a customized bootstrap loader (stub) that allows the created Phar archive to work with or without the Phar extension enabled.

Fehler/Exceptions

Throws UnexpectedValueException if either parameter is longer than 400 bytes.

Beispiele

Beispiel #1 A Phar::createDefaultStub() example

<?php
try {
    $phar = new Phar('myphar.phar');
    $phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
} catch (Exception $e) {
    // handle errors
}
?>

Siehe auch

  • Phar::setStub() - Used to set the PHP loader or bootstrap stub of a Phar archive
  • Phar::getStub() - Return the PHP loader or bootstrap stub of a Phar archive

Phar::count
Phar::decompress
Phar


Decompresses the entire Phar archive

Phar::createDefaultStub
Phar::decompressFiles
Phar
PHP Manual

Phar::decompress

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::decompress — Decompresses the entire Phar archive

Beschreibung

public object Phar::decompress ([ string $extension ] )

Hinweis:

Diese Methode des Phar-Objekts funktioniert nur wenn die php.ini-Einstellung phar.readonly auf 0 gesetzt ist, sonst wird eine PharException geworfen.

For tar-based and phar-based phar archives, this method decompresses the entire archive.

For Zip-based phar archives, this method fails with an exception. The zlib extension must be enabled to decompress an archive compressed with gzip compression, and the bzip2 extension must be enabled in order to decompress an archive compressed with bzip2 compression. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

In addition, this method automatically changes the file extension of the archive, .phar by default for phar archives, or .phar.tar for tar-based phar archives. Alternatively, a file extension may be specified with the second parameter.

Parameter-Liste

extension

For decompressing, the default file extensions are .phar and .phar.tar. Use this parameter to specify another file extension. Be aware that all executable phar archives must contain .phar in their filename.

Rückgabewerte

A Phar object is returned.

Fehler/Exceptions

Throws BadMethodCallException if the phar.readonly INI variable is on, the zlib extension is not available, or the bzip2 extension is not enabled.

Beispiele

Beispiel #1 A Phar::decompress() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar.gz');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
$p3 = $p2->decompress(); // creates /path/to/my.phar
?>

Siehe auch

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • PharData::compress() - Compresses the entire tar/zip archive using Gzip or Bzip2 compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::compressFiles() - Compresses all files in the current Phar archive
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive

Phar::createDefaultStub
Phar::decompressFiles
Phar


Decompresses all files in the current Phar archive

Phar::decompress
Phar::delMetadata
Phar
PHP Manual

Phar::decompressFiles

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::decompressFiles — Decompresses all files in the current Phar archive

Beschreibung

public bool Phar::decompressFiles ( void )

Hinweis:

Diese Methode des Phar-Objekts funktioniert nur wenn die php.ini-Einstellung phar.readonly auf 0 gesetzt ist, sonst wird eine PharException geworfen.

For tar-based phar archives, this method throws a BadMethodCallException, as compression of individual files within a tar archive is not supported by the file format. Use Phar::compress() to compress an entire tar-based phar archive.

For Zip-based and phar-based phar archives, this method decompresses all files in the Phar archive. The zlib or bzip2 extensions must be enabled to take advantage of this feature if any files are compressed using bzip2/zlib compression. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Throws BadMethodCallException if the phar.readonly INI variable is on, the zlib extension is not available, or if any files are compressed using bzip2 compression and the bzip2 extension is not enabled.

Beispiele

Beispiel #1 A Phar::decompressFiles() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
$p->compressFiles(Phar::GZ);
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressed(Phar::BZ2));
    var_dump($file->isCompressed(Phar::GZ));
}
$p->decompressFiles();
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressed(Phar::BZ2));
    var_dump($file->isCompressed(Phar::GZ));
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(10) "myfile.txt"
int(4096)
bool(false)
bool(true)
string(11) "myfile2.txt"
int(4096)
bool(false)
bool(true)
string(10) "myfile.txt"
bool(false)
bool(false)
bool(false)
string(11) "myfile2.txt"
bool(false)
bool(false)
bool(false)

Siehe auch

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compressFiles() - Compresses all files in the current Phar archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::decompress() - Decompresses the entire Phar archive

Phar::decompress
Phar::delMetadata
Phar


Deletes the global metadata of the phar

Phar::decompressFiles
Phar::delete
Phar
PHP Manual

Phar::delMetadata

(PHP >= 5.3.0, PECL phar >= 1.2.0)

Phar::delMetadata — Deletes the global metadata of the phar

Beschreibung

public bool Phar::delMetadata ( void )

Hinweis:

Diese Methode des Phar-Objekts funktioniert nur wenn die php.ini-Einstellung phar.readonly auf 0 gesetzt ist, sonst wird eine PharException geworfen.

Deletes the global metadata of the phar

Parameter-Liste

Rückgabewerte

returns TRUE on success, but it is better to check for thrown exception, and assume success if none is thrown.

Fehler/Exceptions

Throws PharException if errors occur while flushing changes to disk.

Beispiele

Beispiel #1 A Phar::delMetaData() example

<?php
try {
    $phar = new Phar('myphar.phar');
    var_dump($phar->getMetadata());
    $phar->setMetadata("hi there");
    var_dump($phar->getMetadata());
    $phar->delMetadata();
    var_dump($phar->getMetadata());
} catch (Exception $e) {
    // handle errors
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

NULL
string(8) "hi there"
NULL

Siehe auch

  • Phar::getMetadata() - Returns phar archive meta-data
  • Phar::setMetadata() - Sets phar archive meta-data
  • Phar::hasMetadata() - Returns whether phar has global meta-data

Phar::decompressFiles
Phar::delete
Phar


Delete a file within a phar archive

Phar::delMetadata
Phar::extractTo
Phar
PHP Manual

Phar::delete

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::delete — Delete a file within a phar archive

Beschreibung

public bool Phar::delete ( string $entry )

Hinweis:

Diese Methode des Phar-Objekts funktioniert nur wenn die php.ini-Einstellung phar.readonly auf 0 gesetzt ist, sonst wird eine PharException geworfen.

Delete a file within an archive. This is the functional equivalent of calling unlink() on the stream wrapper equivalent, as shown in the example below.

Parameter-Liste

entry

Path within an archive to the file to delete.

Rückgabewerte

returns TRUE on success, but it is better to check for thrown exception, and assume success if none is thrown.

Fehler/Exceptions

Throws PharException if errors occur while flushing changes to disk.

Beispiele

Beispiel #1 A Phar::delete() example

<?php
try {
    $phar = new Phar('myphar.phar');
    $phar->delete('unlink/me.php');
    // this is equivalent to:
    unlink('phar://myphar.phar/unlink/me.php');
} catch (Exception $e) {
    // handle errors
}
?>

Siehe auch

  • PharData::delete() - Delete a file within a tar/zip archive
  • Phar::unlinkArchive() - Completely remove a phar archive from disk and from memory

Phar::delMetadata
Phar::extractTo
Phar


Extract the contents of a phar archive to a directory

Phar::delete
Phar::getMetadata
Phar
PHP Manual

Phar::extractTo

(Unknown)

Phar::extractTo — Extract the contents of a phar archive to a directory

Beschreibung

public bool Phar::extractTo ( string $pathto [, string|array $files [, bool $overwrite = false ]] )

Extract all files within a phar archive to disk. Extracted files and directories preserve permissions as stored in the archive. The optional parameters allow optional control over which files are extracted, and whether existing files on disk can be overwritten. The second parameter files can be either the name of a file or directory to extract, or an array of names of files and directories to extract. By default, this method will not overwrite existing files, the third parameter can be set to true to enable overwriting of files. This method is similar to ZipArchive::extractTo().

Parameter-Liste

pathto

Path to extract the given files to

files

The name of a file or directory to extract, or an array of files/directories to extract

overwrite

Set to TRUE to enable overwriting existing files

Rückgabewerte

returns TRUE on success, but it is better to check for thrown exception, and assume success if none is thrown.

Fehler/Exceptions

Throws PharException if errors occur while flushing changes to disk.

Beispiele

Beispiel #1 A Phar::extractTo() example

<?php
try {
    $phar = new Phar('myphar.phar');
    $phar->extractTo('/full/path'); // extract all files
    $phar->extractTo('/another/path', 'file.txt'); // extract only file.txt
    $phar->extractTo('/this/path',
        array('file1.txt', 'file2.txt')); // extract 2 files only
    $phar->extractTo('/third/path', null, true); // extract all files, and overwrite
} catch (Exception $e) {
    // handle errors
}
?>

Siehe auch

  • PharData::extractTo() - Extract the contents of a tar/zip archive to a directory

Phar::delete
Phar::getMetadata
Phar


Returns phar archive meta-data

Phar::extractTo
Phar::getModified
Phar
PHP Manual

Phar::getMetadata

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::getMetadata — Returns phar archive meta-data

Beschreibung

public mixed Phar::getMetadata ( void )

Retrieve archive meta-data. Meta-data can be any PHP variable that can be serialized.

Parameter-Liste

No parameters.

Rückgabewerte

any PHP variable that can be serialized and is stored as meta-data for the Phar archive, or NULL if no meta-data is stored.

Beispiele

Beispiel #1 A Phar::getMetadata() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
    $p['file.php'] = '<?php echo "hello";';
    $p->setMetadata(array('bootstrap' => 'file.php'));
    var_dump($p->getMetadata());
} catch (Exception $e) {
    echo 'Could not modify phar:', $e;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(1) {
  ["bootstrap"]=>
  string(8) "file.php"
}

Siehe auch

  • Phar::setMetadata() - Sets phar archive meta-data
  • Phar::delMetadata() - Deletes the global metadata of the phar
  • Phar::hasMetadata() - Returns whether phar has global meta-data

Phar::extractTo
Phar::getModified
Phar


Return whether phar was modified

Phar::getMetadata
Phar::getSignature
Phar
PHP Manual

Phar::getModified

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::getModified — Return whether phar was modified

Beschreibung

public bool Phar::getModified ( void )

This method can be used to determine whether a phar has either had an internal file deleted, or contents of a file changed in some way.

Parameter-Liste

No parameters.

Rückgabewerte

TRUE if the phar has been modified since opened, FALSE if not.

Phar::getMetadata
Phar::getSignature
Phar


Return MD5/SHA1/SHA256/SHA512/OpenSSL signature of a Phar archive

Phar::getModified
Phar::getStub
Phar
PHP Manual

Phar::getSignature

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::getSignature — Return MD5/SHA1/SHA256/SHA512/OpenSSL signature of a Phar archive

Beschreibung

public array Phar::getSignature ( void )

Returns the verification signature of a phar archive in a hexadecimal string.

Parameter-Liste

Rückgabewerte

Array with the opened archive's signature in hash key and MD5, SHA-1, SHA-256, SHA-512, or OpenSSL in hash_type. This signature is a hash calculated on the entire phar's contents, and may be used to verify the integrity of the archive. A valid signature is absolutely required of all executable phar archives if the phar.require_hash INI variable is set to true.

Phar::getModified
Phar::getStub
Phar


Return the PHP loader or bootstrap stub of a Phar archive

Phar::getSignature
Phar::getSupportedCompression
Phar
PHP Manual

Phar::getStub

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::getStub — Return the PHP loader or bootstrap stub of a Phar archive

Beschreibung

public string Phar::getStub ( void )

Phar archives contain a bootstrap loader, or stub written in PHP that is executed when the archive is executed in PHP either via include:

<?php
include 'myphar.phar';
?>
or by simple execution:
php myphar.phar

Rückgabewerte

Returns a string containing the contents of the bootstrap loader (stub) of the current Phar archive.

Fehler/Exceptions

Throws RuntimeException if it is not possible to read the stub from the Phar archive.

Beispiele

Beispiel #1 A Phar::getStub() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
echo $p->getStub();
echo "==NEXT==\n";
$p->setStub("<?php
function __autoload($class)
{
    include 'phar://' . str_replace('_', '/', $class);
}
Phar::mapPhar('myphar.phar');
include 'phar://myphar.phar/startup.php';
__HALT_COMPILER(); ?>");
echo $p->getStub();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<?php __HALT_COMPILER(); ?>
==NEXT==
<?php
function __autoload($class)
{
    include 'phar://' . str_replace('_', '/', $class);
}
Phar::mapPhar('myphar.phar');
include 'phar://myphar.phar/startup.php';
__HALT_COMPILER(); ?>

Siehe auch

  • Phar::setStub() - Used to set the PHP loader or bootstrap stub of a Phar archive
  • Phar::createDefaultStub() - Create a phar-file format specific stub

Phar::getSignature
Phar::getSupportedCompression
Phar


Return array of supported compression algorithms

Phar::getStub
Phar::getSupportedSignatures
Phar
PHP Manual

Phar::getSupportedCompression

(PHP >= 5.3.0, PECL phar >= 1.2.0)

Phar::getSupportedCompression — Return array of supported compression algorithms

Beschreibung

final public static array Phar::getSupportedCompression ( void )

Parameter-Liste

No parameters.

Rückgabewerte

Returns an array containing any of Phar::GZ or Phar::BZ2, depending on the availability of the zlib extension or the bz2 extension.

Siehe auch

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::decompress() - Decompresses the entire Phar archive
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compressFiles() - Compresses all files in the current Phar archive
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive

Phar::getStub
Phar::getSupportedSignatures
Phar


Return array of supported signature types

Phar::getSupportedCompression
Phar::getVersion
Phar
PHP Manual

Phar::getSupportedSignatures

(PHP >= 5.3.0, PECL phar >= 1.1.0)

Phar::getSupportedSignatures — Return array of supported signature types

Beschreibung

final public static array Phar::getSupportedSignatures ( void )

Return array of supported signature types

Parameter-Liste

No parameters.

Rückgabewerte

Returns an array containing any of MD5, SHA-1, SHA-256, SHA-512, or OpenSSL.

Siehe auch

  • Phar::getSignature() - Return MD5/SHA1/SHA256/SHA512/OpenSSL signature of a Phar archive
  • Phar::setSignatureAlgorithm() - set the signature algorithm for a phar and apply it.

Phar::getSupportedCompression
Phar::getVersion
Phar


Return version info of Phar archive

Phar::getSupportedSignatures
Phar::hasMetadata
Phar
PHP Manual

Phar::getVersion

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::getVersion — Return version info of Phar archive

Beschreibung

public string Phar::getVersion ( void )

Returns the API version of an opened Phar archive.

Parameter-Liste

Rückgabewerte

The opened archive's API version. This is not to be confused with the API version that the loaded phar extension will use to create new phars. Each Phar archive has the API version hard-coded into its manifest. See Phar file format documentation for more information.

Siehe auch

  • Phar::apiVersion() - Returns the api version

Phar::getSupportedSignatures
Phar::hasMetadata
Phar


Returns whether phar has global meta-data

Phar::getVersion
Phar::interceptFileFuncs
Phar
PHP Manual

Phar::hasMetadata

(PHP >= 5.3.0, PECL phar >= 1.2.0)

Phar::hasMetadata — Returns whether phar has global meta-data

Beschreibung

public bool Phar::hasMetadata ( void )

Returns whether phar has global meta-data set.

Parameter-Liste

No parameters.

Rückgabewerte

Returns TRUE if meta-data has been set, and FALSE if not.

Beispiele

Beispiel #1 A Phar::hasMetadata() example

<?php
try {
    $phar = new Phar('myphar.phar');
    var_dump($phar->hasMetadata());
    $phar->setMetadata(array('thing' => 'hi'));
    var_dump($phar->hasMetadata());
    $phar->delMetadata();
    var_dump($phar->hasMetadata());
} catch (Exception $e) {
    // handle error
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(true)
bool(false)

Siehe auch

  • Phar::getMetadata() - Returns phar archive meta-data
  • Phar::setMetadata() - Sets phar archive meta-data
  • Phar::delMetadata() - Deletes the global metadata of the phar

Phar::getVersion
Phar::interceptFileFuncs
Phar


instructs phar to intercept fopen, file_get_contents, opendir, and all of the stat-related functions

Phar::hasMetadata
Phar::isBuffering
Phar
PHP Manual

Phar::interceptFileFuncs

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::interceptFileFuncs — instructs phar to intercept fopen, file_get_contents, opendir, and all of the stat-related functions

Beschreibung

final public static void Phar::interceptFileFuncs ( void )

instructs phar to intercept fopen(), readfile(), file_get_contents(), opendir(), and all of the stat-related functions. If any of these functions is called from within a phar archive with a relative path, the call is modified to access a file within the phar archive. Absolute paths are assumed to be attempts to load external files from the filesystem.

This function makes it possible to run PHP applications designed to run off of a hard disk as a phar application.

Parameter-Liste

No parameters.

Rückgabewerte

Beispiele

Beispiel #1 A Phar::interceptFileFuncs() example

<?php
Phar::interceptFileFuncs();
include 'phar://' . __FILE__ . '/file.php';
?>

Assuming that this phar is at /path/to/myphar.phar and it contains file.php and file2.txt, if file.php contains this code:

Beispiel #2 A Phar::interceptFileFuncs() example

<?php
echo file_get_contents('file2.txt');
?>

Normally PHP would search the current directory for file2.txt, which would translate as the directory of file.php, or the current directory of a command-line user. Phar::interceptFileFuncs() instructs PHP to consider the current directory to be phar:///path/to/myphar.phar/ and so opens phar:///path/to/myphar.phar/file2.txt in the above example code.

Phar::hasMetadata
Phar::isBuffering
Phar


Used to determine whether Phar write operations are being buffered, or are flushing directly to disk

Phar::interceptFileFuncs
Phar::isCompressed
Phar
PHP Manual

Phar::isBuffering

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::isBuffering — Used to determine whether Phar write operations are being buffered, or are flushing directly to disk

Beschreibung

public bool Phar::isBuffering ( void )

This method can be used to determine whether a Phar will save changes to disk immediately, or whether a call to Phar::stopBuffering() is needed to enable saving changes.

Phar write buffering is per-archive, buffering active for the foo.phar Phar archive does not affect changes to the bar.phar Phar archive.

Rückgabewerte

Returns TRUE if the write operations are being buffer, FALSE otherwise.

Beispiele

Beispiel #1 A Phar::isBuffering() example

<?php
$p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
$p2 = new Phar('existingphar.phar');
$p['file1.txt'] = 'hi';
var_dump($p->isBuffering());
var_dump($p2->isBuffering());
?>
=2=
<?php
$p->startBuffering();
var_dump($p->isBuffering());
var_dump($p2->isBuffering());
$p->stopBuffering();
?>
=3=
<?php
var_dump($p->isBuffering());
var_dump($p2->isBuffering());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(false)
=2=
bool(true)
bool(false)
=3=
bool(false)
bool(false)

Siehe auch

  • Phar::startBuffering() - Start buffering Phar write operations, do not modify the Phar object on disk
  • Phar::stopBuffering() - Stop buffering write requests to the Phar archive, and save changes to disk

Phar::interceptFileFuncs
Phar::isCompressed
Phar


Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)

Phar::isBuffering
Phar::isFileFormat
Phar
PHP Manual

Phar::isCompressed

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::isCompressed — Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)

Beschreibung

public mixed Phar::isCompressed ( void )

Hinweis:

Diese Methode des Phar-Objekts funktioniert nur wenn die php.ini-Einstellung phar.readonly auf 0 gesetzt ist, sonst wird eine PharException geworfen.

Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on). Zip-based phar archives cannot be compressed as a file, and so this method will always return FALSE if a zip-based phar archive is queried.

Parameter-Liste

No parameters.

Rückgabewerte

Phar::GZ, Phar::BZ2 or FALSE

Beispiele

Beispiel #1 A Phar::isCompressed() example

<?php
try {
    $phar1 = new Phar('myphar.zip.phar');
    var_dump($phar1->isCompressed());
    $phar2 = new Phar('myuncompressed.tar.phar');
    var_dump($phar2->isCompressed());
    $phar2->compress(Phar::GZ);
    var_dump($phar2->isCompressed() == Phar::GZ);
} catch (Exception $e) {
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(false)
bool(true)

Siehe auch

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • Phar::decompress() - Decompresses the entire Phar archive
  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::compressFiles() - Compresses all files in the current Phar archive
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms

Phar::isBuffering
Phar::isFileFormat
Phar


Returns true if the phar archive is based on the tar/phar/zip file format depending on the parameter

Phar::isCompressed
Phar::isValidPharFilename
Phar
PHP Manual

Phar::isFileFormat

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::isFileFormat — Returns true if the phar archive is based on the tar/phar/zip file format depending on the parameter

Beschreibung

public bool Phar::isFileFormat ( int $format )

Parameter-Liste

format

Either Phar::PHAR, Phar::TAR, or Phar::ZIP to test for the format of the archive.

Rückgabewerte

Returns TRUE if the phar archive matches the file format requested by the parameter

Fehler/Exceptions

PharException is thrown if the parameter is an unknown file format specifier.

Siehe auch

  • Phar::convertToExecutable() - Convert a phar archive to another executable phar archive file format
  • Phar::convertToData() - Convert a phar archive to a non-executable tar or zip file

Phar::isCompressed
Phar::isValidPharFilename
Phar


Returns whether the given filename is a valid phar filename

Phar::isFileFormat
Phar::isWritable
Phar
PHP Manual

Phar::isValidPharFilename

(PHP >= 5.3.0, PECL phar >= 1.2.0)

Phar::isValidPharFilename — Returns whether the given filename is a valid phar filename

Beschreibung

final public static bool Phar::isValidPharFilename ( string $filename [, bool $executable = true ] )

Returns whether the given filename is a valid phar filename that will be recognized as a phar archive by the phar extension. This can be used to test a name without having to instantiate a phar archive and catch the inevitable Exception that will be thrown if an invalid name is specified.

Parameter-Liste

filename

The name or full path to a phar archive not yet created

executable

This parameter determines whether the filename should be treated as a phar executable archive, or a data non-executable archive

Rückgabewerte

Returns TRUE if the filename is valid, FALSE if not.

Phar::isFileFormat
Phar::isWritable
Phar


Returns true if the phar archive can be modified

Phar::isValidPharFilename
Phar::loadPhar
Phar
PHP Manual

Phar::isWritable

(Unknown)

Phar::isWritable — Returns true if the phar archive can be modified

Beschreibung

public bool Phar::isWritable ( void )

This method returns TRUE if phar.readonly is 0, and the actual phar archive on disk is not read-only.

Parameter-Liste

No parameters.

Rückgabewerte

Returns TRUE if the phar archive can be modified

Siehe auch

  • Phar::canWrite() - Returns whether phar extension supports writing and creating phars
  • PharData::isWritable() - Returns true if the tar/zip archive can be modified

Phar::isValidPharFilename
Phar::loadPhar
Phar


Loads any phar archive with an alias

Phar::isWritable
Phar::mapPhar
Phar
PHP Manual

Phar::loadPhar

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::loadPhar — Loads any phar archive with an alias

Beschreibung

final public static bool Phar::loadPhar ( string $filename [, string $alias ] )

This can be used to read the contents of an external Phar archive. This is most useful for assigning an alias to a phar so that subsequent references to the phar can use the shorter alias, or for loading Phar archives that only contain data and are not intended for execution/inclusion in PHP scripts.

Parameter-Liste

filename

the full or relative path to the phar archive to open

alias

The alias that may be used to refer to the phar archive. Note that many phar archives specify an explicit alias inside the phar archive, and a PharException will be thrown if a new alias is specified in this case.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

PharException is thrown if an alias is passed in and the phar archive already has an explicit alias

Beispiele

Beispiel #1 A Phar::loadPhar() example

Phar::loadPhar can be used anywhere to load an external Phar archive, whereas Phar::mapPhar should be used in a loader stub for a Phar.

<?php
try {
    Phar::loadPhar('/path/to/phar.phar', 'my.phar');
    echo file_get_contents('phar://my.phar/file.txt');
} catch (PharException $e) {
    echo $e;
}
?>

Siehe auch

  • Phar::mapPhar() - Reads the currently executed file (a phar) and registers its manifest

Phar::isWritable
Phar::mapPhar
Phar


Reads the currently executed file (a phar) and registers its manifest

Phar::loadPhar
Phar::mount
Phar
PHP Manual

Phar::mapPhar

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::mapPhar — Reads the currently executed file (a phar) and registers its manifest

Beschreibung

final public static bool Phar::mapPhar ([ string $alias [, int $dataoffset = 0 ]] )

This static method can only be used inside a Phar archive's loader stub in order to initialize the phar when it is directly executed, or when it is included in another script.

Parameter-Liste

alias

The alias that can be used in phar:// URLs to refer to this archive, rather than its full path.

dataoffset

Unused variable, here for compatibility with PEAR's PHP_Archive.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

PharException is thrown if not called directly within PHP execution, if no __HALT_COMPILER(); token is found in the current source file, or if the file cannot be opened for reading.

Beispiele

Beispiel #1 A Phar::mapPhar() example

mapPhar should be used only inside a phar's loader stub. Use loadPhar to load an external phar into memory.

Here is a sample Phar loader stub that uses mapPhar.

<?php
function __autoload($class)
{
    include 'phar://me.phar/' . str_replace('_', '/', $class) . '.php';
}
try {
    Phar::mapPhar('me.phar');
    include 'phar://me.phar/startup.php';
} catch (PharException $e) {
    echo $e->getMessage();
    die('Cannot initialize Phar');
}
__HALT_COMPILER();

Siehe auch

  • Phar::loadPhar() - Loads any phar archive with an alias

Phar::loadPhar
Phar::mount
Phar


Mount an external path or file to a virtual location within the phar archive

Phar::mapPhar
Phar::mungServer
Phar
PHP Manual

Phar::mount

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::mount — Mount an external path or file to a virtual location within the phar archive

Beschreibung

final public static void Phar::mount ( string $pharpath , string $externalpath )

Much like the unix file system concept of mounting external devices to paths within the directory tree, Phar::mount() allows referring to external files and directories as if they were inside of an archive. This allows powerful abstraction such as referring to external configuration files as if they were inside the archive.

Parameter-Liste

pharpath

The internal path within the phar archive to use as the mounted path location. This must be a relative path within the phar archive, and must not already exist.

externalpath

A path or URL to an external file or directory to mount within the phar archive

Rückgabewerte

No return. PharException is thrown on failure.

Fehler/Exceptions

Throws PharException if any problems occur mounting the path.

Beispiele

Beispiel #1 A Phar::mount() example

The following example shows accessing an external configuration file as if it were a path within a phar archive.

First, the code inside of a phar archive:

<?php
$configuration = simplexml_load_string(file_get_contents(
    Phar::running(false) . '/config.xml'));
?>

Next the external code used to mount the configuration file:

<?php
// first set up the association between the abstract config.xml
// and the actual one on disk
Phar::mount('phar://config.xml', '/home/example/config.xml');
// now run the application
include '/path/to/archive.phar';
?>

Another method is to put the mounting code inside the stub of the phar archive. Here is an example of setting up a default configuration file if no user configuration is specified:

<?php
// first set up the association between the abstract config.xml
// and the actual one on disk
if (defined('EXTERNAL_CONFIG')) {
    Phar::mount('config.xml', EXTERNAL_CONFIG);
    if (file_exists(__DIR__ . '/extra_config.xml')) {
        Phar::mount('extra.xml', __DIR__ . '/extra_config.xml');
    }
} else {
    Phar::mount('config.xml', 'phar://' . __FILE__ . '/default_config.xml');
    Phar::mount('extra.xml', 'phar://' . __FILE__ . '/default_extra.xml');
}
// now run the application
include 'phar://' . __FILE__ . '/index.php';
__HALT_COMPILER();
?>

...and the code externally to load this phar archive:

<?php
define('EXTERNAL_CONFIG', '/home/example/config.xml');
// now run the application
include '/path/to/archive.phar';
?>

Phar::mapPhar
Phar::mungServer
Phar


Defines a list of up to 4 $_SERVER variables that should be modified for execution

Phar::mount
Phar::offsetExists
Phar
PHP Manual

Phar::mungServer

(Unknown)

Phar::mungServer — Defines a list of up to 4 $_SERVER variables that should be modified for execution

Beschreibung

final public static void Phar::mungServer ( array $munglist )

Phar::mungServer() should only be called within the stub of a phar archive.

Defines a list of up to 4 $_SERVER variables that should be modified for execution. Variables that can be modified to remove traces of phar execution are REQUEST_URI, PHP_SELF, SCRIPT_NAME and SCRIPT_FILENAME.

On its own, this method does nothing. Only when combined with Phar::webPhar() does it take effect, and only when the requested file is a PHP file to be parsed. Note that the PATH_INFO and PATH_TRANSLATED variables are always modified.

The original values of variables that are modified are stored in the SERVER array with PHAR_ prepended, so for instance SCRIPT_NAME would be saved as PHAR_SCRIPT_NAME.

Parameter-Liste

munglist

an array containing as string indices any of REQUEST_URI, PHP_SELF, SCRIPT_NAME and SCRIPT_FILENAME. Other values trigger an exception, and Phar::mungServer() is case-sensitive.

Rückgabewerte

No return.

Fehler/Exceptions

Throws UnexpectedValueException if any problems are found with the passed in data.

Beispiele

Beispiel #1 A Phar::mungServer() example

<?php
// example stub
Phar::mungServer(array('REQUEST_URI'));
Phar::webPhar();
__HALT_COMPILER();
?>

Siehe auch

  • Phar::webPhar() - mapPhar for web-based phars. front controller for web applications
  • Phar::setStub() - Used to set the PHP loader or bootstrap stub of a Phar archive

Phar::mount
Phar::offsetExists
Phar


determines whether a file exists in the phar

Phar::mungServer
Phar::offsetGet
Phar
PHP Manual

Phar::offsetExists

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::offsetExists — determines whether a file exists in the phar

Beschreibung

public bool Phar::offsetExists ( string $offset )

This is an implementation of the ArrayAccess interface allowing direct manipulation of the contents of a Phar archive using array access brackets.

offsetExists() is called whenever isset() is called.

Parameter-Liste

offset

The filename (relative path) to look for in a Phar.

Rückgabewerte

Returns TRUE if the file exists within the phar, or FALSE if not.

Beispiele

Beispiel #1 A Phar::offsetExists() example

<?php
$p = new Phar(dirname(__FILE__) . '/my.phar', 0, 'my.phar');
$p['firstfile.txt'] = 'first file';
$p['secondfile.txt'] = 'second file';
// the next set of lines call offsetExists() indirectly
var_dump(isset($p['firstfile.txt']));
var_dump(isset($p['nothere.txt']));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(false)

Siehe auch

  • Phar::offsetGet() - Gets a PharFileInfo object for a specific file
  • Phar::offsetSet() - set the contents of an internal file to those of an external file
  • Phar::offsetUnset() - remove a file from a phar

Phar::mungServer
Phar::offsetGet
Phar


Gets a PharFileInfo object for a specific file

Phar::offsetExists
Phar::offsetSet
Phar
PHP Manual

Phar::offsetGet

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::offsetGet — Gets a PharFileInfo object for a specific file

Beschreibung

public int Phar::offsetGet ( string $offset )

This is an implementation of the ArrayAccess interface allowing direct manipulation of the contents of a Phar archive using array access brackets. Phar::offsetGet() is used for retrieving files from a Phar archive.

Parameter-Liste

offset

The filename (relative path) to look for in a Phar.

Rückgabewerte

A PharFileInfo object is returned that can be used to iterate over a file's contents or to retrieve information about the current file.

Fehler/Exceptions

This method throws BadMethodCallException if the file does not exist in the Phar archive.

Beispiele

Beispiel #1 Phar::offsetGet() example

As with all classes that implement the ArrayAccess interface, Phar::offsetGet() is automatically called when using the [] angle bracket operator.

<?php
$p = new Phar(dirname(__FILE__) . '/myphar.phar', 0, 'myphar.phar');
$p['exists.txt'] = "file exists\n";
try {
    // automatically calls offsetGet()
    echo $p['exists.txt'];
    echo $p['doesnotexist.txt'];
} catch (BadMethodCallException $e) {
    echo $e;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

file exists
Entry doesnotexist.txt does not exist

Siehe auch

  • Phar::offsetExists() - determines whether a file exists in the phar
  • Phar::offsetSet() - set the contents of an internal file to those of an external file
  • Phar::offsetUnset() - remove a file from a phar

Phar::offsetExists
Phar::offsetSet
Phar


set the contents of an internal file to those of an external file

Phar::offsetGet
Phar::offsetUnset
Phar
PHP Manual

Phar::offsetSet

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::offsetSet — set the contents of an internal file to those of an external file

Beschreibung

public void Phar::offsetSet ( string $offset , string $value )

Hinweis:

Diese Methode des Phar-Objekts funktioniert nur wenn die php.ini-Einstellung phar.readonly auf 0 gesetzt ist, sonst wird eine PharException geworfen.

This is an implementation of the ArrayAccess interface allowing direct manipulation of the contents of a Phar archive using array access brackets. offsetSet is used for modifying an existing file, or adding a new file to a Phar archive.

Parameter-Liste

offset

The filename (relative path) to modify in a Phar.

value

Content of the file.

Rückgabewerte

No return values.

Fehler/Exceptions

if phar.readonly is 1, BadMethodCallException is thrown, as modifying a Phar is only allowed when phar.readonly is set to 0. Throws PharException if there are any problems flushing changes made to the Phar archive to disk.

Beispiele

Beispiel #1 A Phar::offsetSet() example

offsetSet should not be accessed directly, but instead used via array access with the [] operator.

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
try {
    // calls offsetSet
    $p['file.txt'] = 'Hi there';
} catch (Exception $e) {
    echo 'Could not modify file.txt:', $e;
}
?>

Siehe auch

  • Phar::offsetExists() - determines whether a file exists in the phar
  • Phar::offsetGet() - Gets a PharFileInfo object for a specific file
  • Phar::offsetUnset() - remove a file from a phar

Phar::offsetGet
Phar::offsetUnset
Phar


remove a file from a phar

Phar::offsetSet
Phar::running
Phar
PHP Manual

Phar::offsetUnset

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::offsetUnset — remove a file from a phar

Beschreibung

public bool Phar::offsetUnset ( string $offset )

Hinweis:

Diese Methode des Phar-Objekts funktioniert nur wenn die php.ini-Einstellung phar.readonly auf 0 gesetzt ist, sonst wird eine PharException geworfen.

This is an implementation of the ArrayAccess interface allowing direct manipulation of the contents of a Phar archive using array access brackets. offsetUnset is used for deleting an existing file, and is called by the unset() language construct.

Parameter-Liste

offset

The filename (relative path) to modify in a Phar.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

if phar.readonly is 1, BadMethodCallException is thrown, as modifying a Phar is only allowed when phar.readonly is set to 0. Throws PharException if there are any problems flushing changes made to the Phar archive to disk.

Beispiele

Beispiel #1 A Phar::offsetUnset() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
try {
    // deletes file.txt from my.phar by calling offsetUnset
    unset($p['file.txt']);
} catch (Exception $e) {
    echo 'Could not delete file.txt: ', $e;
}
?>

Siehe auch

  • Phar::offsetExists() - determines whether a file exists in the phar
  • Phar::offsetGet() - Gets a PharFileInfo object for a specific file
  • Phar::offsetSet() - set the contents of an internal file to those of an external file
  • Phar::unlinkArchive() - Completely remove a phar archive from disk and from memory
  • Phar::delete() - Delete a file within a phar archive

Phar::offsetSet
Phar::running
Phar


Returns the full path on disk or full phar URL to the currently executing Phar archive

Phar::offsetUnset
Phar::setAlias
Phar
PHP Manual

Phar::running

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::running — Returns the full path on disk or full phar URL to the currently executing Phar archive

Beschreibung

final public static string Phar::running ([ bool $retphar = true ] )

Returns the full path to the running phar archive. This is intended for use much like the __FILE__ magic constant, and only has effect inside an executing phar archive.

Inside the stub of an archive, Phar::running() returns "". Simply use __FILE__ to access the current running phar inside a stub.

Parameter-Liste

retphar

If FALSE, the full path on disk to the phar archive is returned. If TRUE, a full phar URL is returned.

Rückgabewerte

Returns the filename if valid, empty string otherwise.

Beispiele

Beispiel #1 A Phar::running() example

For the following example, assume the phar archive is located at /path/to/phar/my.phar.

<?php
$a = Phar::running(); // $a is "phar:///path/to/my.phar"
$b = Phar::running(false); // $b is "/path/to/my.phar"
?>

Phar::offsetUnset
Phar::setAlias
Phar


Set the alias for the Phar archive

Phar::running
Phar::setDefaultStub
Phar
PHP Manual

Phar::setAlias

(PHP >= 5.3.0, PECL phar >= 1.2.1)

Phar::setAlias — Set the alias for the Phar archive

Beschreibung

public bool Phar::setAlias ( string $alias )

Hinweis:

Diese Methode des Phar-Objekts funktioniert nur wenn die php.ini-Einstellung phar.readonly auf 0 gesetzt ist, sonst wird eine PharException geworfen.

Set the alias for the Phar archive, and write it as the permanent alias for this phar archive. An alias can be used internally to a phar archive to ensure that use of the phar stream wrapper to access internal files always works regardless of the location of the phar archive on the filesystem. Another alternative is to rely upon Phar's interception of include or to use Phar::interceptFileFuncs() and use relative paths.

Parameter-Liste

alias

A shorthand string that this archive can be referred to in phar stream wrapper access.

Rückgabewerte

Fehler/Exceptions

Throws UnexpectedValueException when write access is disabled, and PharException if the alias is already in use or any problems were encountered flushing changes to disk.

Beispiele

Beispiel #1 A Phar::setAlias() example

<?php
try {
    $phar = new Phar('myphar.phar');
    $phar->setAlias('myp.phar');
} catch (Exception $e) {
    // handle error
}
?>

Siehe auch

  • Phar::__construct() - Construct a Phar archive object
  • Phar::interceptFileFuncs() - instructs phar to intercept fopen, file_get_contents, opendir, and all of the stat-related functions

Phar::running
Phar::setDefaultStub
Phar


Used to set the PHP loader or bootstrap stub of a Phar archive to the default loader

Phar::setAlias
Phar::setMetadata
Phar
PHP Manual

Phar::setDefaultStub

(Unknown)

Phar::setDefaultStub — Used to set the PHP loader or bootstrap stub of a Phar archive to the default loader

Beschreibung

public bool Phar::setDefaultStub ([ string $index [, string $webindex ]] )

Hinweis:

Diese Methode des Phar-Objekts funktioniert nur wenn die php.ini-Einstellung phar.readonly auf 0 gesetzt ist, sonst wird eine PharException geworfen.

This method is a convenience method that combines the functionality of Phar::createDefaultStub() and Phar::setStub().

Parameter-Liste

index

Relative path within the phar archive to run if accessed on the command-line

webindex

Relative path within the phar archive to run if accessed through a web browser

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

UnexpectedValueException is thrown if phar.readonly is enabled in php.ini. PharException is thrown if any problems are encountered flushing changes to disk.

Beispiele

Beispiel #1 A Phar::setDefaultStub() example

<?php
try {
    $phar = new Phar('myphar.phar');
    $phar->setDefaultStub('cli.php', 'web/index.php');
    // this is the same as:
    // $phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
} catch (Exception $e) {
    // handle errors
}
?>

Siehe auch

  • Phar::setStub() - Used to set the PHP loader or bootstrap stub of a Phar archive
  • Phar::createDefaultStub() - Create a phar-file format specific stub

Phar::setAlias
Phar::setMetadata
Phar


Sets phar archive meta-data

Phar::setDefaultStub
Phar::setSignatureAlgorithm
Phar
PHP Manual

Phar::setMetadata

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::setMetadata — Sets phar archive meta-data

Beschreibung

public void Phar::setMetadata ( mixed $metadata )

Hinweis:

Diese Methode des Phar-Objekts funktioniert nur wenn die php.ini-Einstellung phar.readonly auf 0 gesetzt ist, sonst wird eine PharException geworfen.

Phar::setMetadata() should be used to store customized data that describes something about the phar archive as a complete entity. PharFileInfo::setMetadata() should be used for file-specific meta-data. Meta-data can slow down the performance of loading a phar archive if the data is large.

Some possible uses for meta-data include specifying which file within the archive should be used to bootstrap the archive, or the location of a file manifest like » PEAR's package.xml file. However, any useful data that describes the phar archive may be stored.

Parameter-Liste

metadata

Any PHP variable containing information to store that describes the phar archive

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 A Phar::setMetadata() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
    $p['file.php'] = '<?php echo "hello"';
    $p->setMetadata(array('bootstrap' => 'file.php'));
    var_dump($p->getMetadata());
} catch (Exception $e) {
    echo 'Could not create and/or modify phar:', $e;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(1) {
  ["bootstrap"]=>
  string(8) "file.php"
}

Siehe auch

  • Phar::getMetadata() - Returns phar archive meta-data
  • Phar::delMetadata() - Deletes the global metadata of the phar
  • Phar::hasMetadata() - Returns whether phar has global meta-data

Phar::setDefaultStub
Phar::setSignatureAlgorithm
Phar


set the signature algorithm for a phar and apply it.

Phar::setMetadata
Phar::setStub
Phar
PHP Manual

Phar::setSignatureAlgorithm

(PHP >= 5.3.0, PECL phar >= 1.1.0)

Phar::setSignatureAlgorithm — set the signature algorithm for a phar and apply it.

Beschreibung

public void Phar::setSignatureAlgorithm ( int $sigtype [, string $privatekey ] )

Hinweis:

Diese Methode des Phar-Objekts funktioniert nur wenn die php.ini-Einstellung phar.readonly auf 0 gesetzt ist, sonst wird eine PharException geworfen.

set the signature algorithm for a phar and apply it. The signature algorithm must be one of Phar::MD5, Phar::SHA1, Phar::SHA256, Phar::SHA512, or Phar::OPENSSL.

Note that all executable phar archives have a signature created automatically, SHA1 by default. data tar- or zip-based archives (archives created with the PharData class) must have their signature created and set explicitly via Phar::setSignatureAlgorithm().

Parameter-Liste

sigtype

    One of Phar::MD5,
Phar::SHA1, Phar::SHA256,
Phar::SHA512, or Phar::OPENSSL

privatekey

The contents of an OpenSSL private key, as extracted from a certificate or OpenSSL key file:

<?php
$private = openssl_get_privatekey(file_get_contents('private.pem'));
$pkey = '';
openssl_pkey_export($private, $pkey);
$p->setSignatureAlgorithm(Phar::OPENSSL, $pkey);
?>
See phar introduction for instructions on naming and placement of the public key file.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

Throws UnexpectedValueException for many errors, and a PharException if any problems occur flushing changes to disk.

Siehe auch

  • Phar::getSupportedSignatures() - Return array of supported signature types
  • Phar::getSignature() - Return MD5/SHA1/SHA256/SHA512/OpenSSL signature of a Phar archive

Phar::setMetadata
Phar::setStub
Phar


Used to set the PHP loader or bootstrap stub of a Phar archive

Phar::setSignatureAlgorithm
Phar::startBuffering
Phar
PHP Manual

Phar::setStub

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::setStub — Used to set the PHP loader or bootstrap stub of a Phar archive

Beschreibung

public bool Phar::setStub ( string $stub [, int $len = -1 ] )

Hinweis:

Diese Methode des Phar-Objekts funktioniert nur wenn die php.ini-Einstellung phar.readonly auf 0 gesetzt ist, sonst wird eine PharException geworfen.

This method is used to add a PHP bootstrap loader stub to a new Phar archive, or to replace the loader stub in an existing Phar archive.

The loader stub for a Phar archive is used whenever an archive is included directly as in this example:

<?php
include 'myphar.phar';
?>

The loader is not accessed when including a file through the phar stream wrapper like so:

<?php
include 'phar://myphar.phar/somefile.php';
?>

Parameter-Liste

stub

A string or an open stream handle to use as the executable stub for this phar archive.

len

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

UnexpectedValueException is thrown if phar.readonly is enabled in php.ini. PharException is thrown if any problems are encountered flushing changes to disk.

Beispiele

Beispiel #1 A Phar::setStub() example

<?php
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
    $p['a.php'] = '<?php var_dump("Hello");';
    $p->setStub('<?php var_dump("First"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>');
    include 'phar://brandnewphar.phar/a.php';
    var_dump($p->getStub());
    $p['b.php'] = '<?php var_dump("World");';
    $p->setStub('<?php var_dump("Second"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>');
    include 'phar://brandnewphar.phar/b.php';
    var_dump($p->getStub());
} catch (Exception $e) {
    echo 'Write operations failed on brandnewphar.phar: ', $e;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(5) "Hello"
string(82) "<?php var_dump("First"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>"
string(5) "World"
string(83) "<?php var_dump("Second"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>"

Changelog

Version | Beschreibung
5.4.0 | Added len parameter.

Siehe auch

  • Phar::getStub() - Return the PHP loader or bootstrap stub of a Phar archive
  • Phar::createDefaultStub() - Create a phar-file format specific stub

Phar::setSignatureAlgorithm
Phar::startBuffering
Phar


Start buffering Phar write operations, do not modify the Phar object on disk

Phar::setStub
Phar::stopBuffering
Phar
PHP Manual

Phar::startBuffering

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::startBuffering — Start buffering Phar write operations, do not modify the Phar object on disk

Beschreibung

public void Phar::startBuffering ( void )

Although technically unnecessary, the Phar::startBuffering() method can provide a significant performance boost when creating or modifying a Phar archive with a large number of files. Ordinarily, every time a file within a Phar archive is created or modified in any way, the entire Phar archive will be recreated with the changes. In this way, the archive will be up-to-date with the activity performed on it.

However, this can be unnecessary when simply creating a new Phar archive, when it would make more sense to write the entire archive out at once. Similarly, it is often necessary to make a series of changes and to ensure that they all are possible before making any changes on disk, similar to the relational database concept of transactions. the Phar::startBuffering()/Phar::stopBuffering() pair of methods is provided for this purpose.

Phar write buffering is per-archive, buffering active for the foo.phar Phar archive does not affect changes to the bar.phar Phar archive.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 A Phar::startBuffering() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
} catch (Exception $e) {
    echo 'Could not create phar:', $e;
}
echo 'The new phar has ' . $p->count() . " entries\n";
$p->startBuffering();
$p['file.txt'] = 'hi';
$p['file2.txt'] = 'there';
$p['file2.txt']->setCompressedGZ();
$p['file3.txt'] = 'babyface';
$p['file3.txt']->setMetadata(42);
$p->setStub("<?php
function __autoload($class)
{
    include 'phar://myphar.phar/' . str_replace('_', '/', $class) . '.php';
}
Phar::mapPhar('myphar.phar');
include 'phar://myphar.phar/startup.php';
__HALT_COMPILER();");
$p->stopBuffering();
?>

Siehe auch

  • Phar::stopBuffering() - Stop buffering write requests to the Phar archive, and save changes to disk
  • Phar::isBuffering() - Used to determine whether Phar write operations are being buffered, or are flushing directly to disk

Phar::setStub
Phar::stopBuffering
Phar


Stop buffering write requests to the Phar archive, and save changes to disk

Phar::startBuffering
Phar::uncompressAllFiles
Phar
PHP Manual

Phar::stopBuffering

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::stopBuffering — Stop buffering write requests to the Phar archive, and save changes to disk

Beschreibung

public void Phar::stopBuffering ( void )

Phar::stopBuffering() is used in conjunction with the Phar::startBuffering() method. Phar::startBuffering() can provide a significant performance boost when creating or modifying a Phar archive with a large number of files. Ordinarily, every time a file within a Phar archive is created or modified in any way, the entire Phar archive will be recreated with the changes. In this way, the archive will be up-to-date with the activity performed on it.

However, this can be unnecessary when simply creating a new Phar archive, when it would make more sense to write the entire archive out at once. Similarly, it is often necessary to make a series of changes and to ensure that they all are possible before making any changes on disk, similar to the relational database concept of transactions. The Phar::startBuffering()/Phar::stopBuffering() pair of methods is provided for this purpose.

Phar write buffering is per-archive, buffering active for the foo.phar Phar archive does not affect changes to the bar.phar Phar archive.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

PharException is thrown if any problems are encountered flushing changes to disk.

Beispiele

Beispiel #1 A Phar::stopBuffering() example

<?php
$p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
$p['file1.txt'] = 'hi';
$p->startBuffering();
var_dump($p->getStub());
$p->setStub("<?php
function __autoload(\$class)
{
    include 'phar://brandnewphar.phar/' . str_replace('_', '/', \$class) . '.php';
}
Phar::mapPhar('brandnewphar.phar');
include 'phar://brandnewphar.phar/startup.php';
__HALT_COMPILER();");
$p->stopBuffering();
var_dump($p->getStub());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(24) "<?php __HALT_COMPILER();"
string(195) "<?php
function __autoload($class)
{
    include 'phar://' . str_replace('_', '/', $class);
}
Phar::mapPhar('brandnewphar.phar');
include 'phar://brandnewphar.phar/startup.php';
__HALT_COMPILER();"

Siehe auch

  • Phar::startBuffering() - Start buffering Phar write operations, do not modify the Phar object on disk
  • Phar::isBuffering() - Used to determine whether Phar write operations are being buffered, or are flushing directly to disk

Phar::startBuffering
Phar::uncompressAllFiles
Phar


Uncompresses all files in the current Phar archive

Phar::stopBuffering
Phar::unlinkArchive
Phar
PHP Manual

Phar::uncompressAllFiles

(PECL phar < 2.0.0)

Phar::uncompressAllFiles — Uncompresses all files in the current Phar archive

Beschreibung

public bool Phar::uncompressAllFiles ( void )

Hinweis:

Diese Methode wurde beginnend mit Version 2.0.0 der phar-Extension
entfernt. Alternative Implementationen bieten Phar::compress(),
Phar::decompress(), Phar::compressFiles() und
Phar::decompressFiles().

Hinweis:

Diese Methode des Phar-Objekts funktioniert nur wenn die php.ini-Einstellung phar.readonly auf 0 gesetzt ist, sonst wird eine PharException geworfen.

This method decompresses all files in the Phar archive. If any files are already compressed using gzip compression, the zlib extension must be enabled in order to decompress the files, and any files compressed using bzip2 compression require the bzip2 extension to decompress the files. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Throws BadMethodCallException if the phar.readonly INI variable is on, the bzip2 extension is not enabled and any files are compressed using bzip2 compression, or if any files are compressed using gzip compression and the zlib extension is not enabled.

Beispiele

Beispiel #1 A Phar::uncompressAllFiles() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $p['myfile2.txt'] = 'hi';
    $p->compressAllFilesGZ();
    foreach ($p as $file) {
        var_dump($file->getFileName());
        var_dump($file->isCompressed());
        var_dump($file->isCompressedBZIP2());
        var_dump($file->isCompressedGZ());
    }
    $p->uncompressAllFiles();
    foreach ($p as $file) {
        var_dump($file->getFileName());
        var_dump($file->isCompressed());
        var_dump($file->isCompressedBZIP2());
        var_dump($file->isCompressedGZ());
    }
} catch (Exception $e) {
    echo 'Write operations failed on my.phar: ', $e;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(10) "myfile.txt"
bool(true)
bool(false)
bool(true)
string(11) "myfile2.txt"
bool(true)
bool(false)
bool(true)
string(10) "myfile.txt"
bool(false)
bool(false)
bool(false)
string(11) "myfile2.txt"
bool(false)
bool(false)
bool(false)

Siehe auch

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressedBZIP2() - Returns whether the entry is compressed using bzip2
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::isCompressedGZ() - Returns whether the entry is compressed using gz
  • PharFileInfo::setCompressedBZIP2() - Compresses the current Phar entry within the phar using Bzip2 compression
  • PharFileInfo::setUncompressed() - Uncompresses the current Phar entry within the phar, if it is compressed
  • PharFileInfo::setCompressedGZ() - Compresses the current Phar entry within the phar using gz compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compressAllFilesBZIP2() - Compresses all files in the current Phar archive using Bzip2 compression
  • Phar::compressAllFilesGZ() - Compresses all files in the current Phar archive using Gzip compression
  • Phar::getSupportedCompression() - Return array of supported compression algorithms

Phar::stopBuffering
Phar::unlinkArchive
Phar


Completely remove a phar archive from disk and from memory

Phar::uncompressAllFiles
Phar::webPhar
Phar
PHP Manual

Phar::unlinkArchive

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::unlinkArchive — Completely remove a phar archive from disk and from memory

Beschreibung

final public static bool Phar::unlinkArchive ( string $archive )

Removes a phar archive from disk and memory.

Parameter-Liste

archive

The path on disk to the phar archive.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

PharException is thrown if there are any open file pointers to the phar archive, or any existing Phar, PharData, or PharFileInfo objects referring to the phar archive.

Beispiele

Beispiel #1 A Phar::unlinkArchive() example

<?php
// simple usage
Phar::unlinkArchive('/path/to/my.phar');

// more common example:
$p = new Phar('my.phar');
$fp = fopen('phar://my.phar/file.txt', 'r');
// this creates 'my.phar.gz'
$gp = $p->compress(Phar::GZ);
// remove all references to the archive
unset($p);
fclose($fp);
// now remove all traces of the archive
Phar::unlinkArchive('my.phar');
?>

Siehe auch

  • Phar::delete() - Delete a file within a phar archive
  • Phar::offsetUnset() - remove a file from a phar

Phar::uncompressAllFiles
Phar::webPhar
Phar


mapPhar for web-based phars. front controller for web applications

Phar::unlinkArchive
PharData
Phar
PHP Manual

Phar::webPhar

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::webPhar — mapPhar for web-based phars. front controller for web applications

Beschreibung

final public static void Phar::webPhar ([ string $alias [, string $index = "index.php" [, string $f404 [, array $mimetypes [, callable $rewrites ]]]]] )

Phar::mapPhar() for web-based phars. This method parses $_SERVER['REQUEST_URI'] and routes a request from a web browser to an internal file within the phar archive. In essence, it simulates a web server, routing requests to the correct file, echoing the correct headers and parsing PHP files as needed. This powerful method is part of what makes it easy to convert an existing PHP application into a phar archive. Combined with Phar::mungServer() and Phar::interceptFileFuncs(), any web application can be used unmodified from a phar archive.

Phar::webPhar() should only be called from the stub of a phar archive (see here for more information on what a stub is).

Parameter-Liste

alias

The alias that can be used in phar:// URLs to refer to this archive, rather than its full path.

index

The location within the phar of the directory index.

f404

The location of the script to run when a file is not found. This script should output the proper HTTP 404 headers.

mimetypes

An array mapping additional file extensions to MIME type. If the default mapping is sufficient, pass an empty array. By default, these extensions are mapped to these MIME types:

<?php
$mimes = array(
    'phps' => Phar::PHPS, // pass to highlight_file()
    'c' => 'text/plain',
    'cc' => 'text/plain',
    'cpp' => 'text/plain',
    'c++' => 'text/plain',
    'dtd' => 'text/plain',
    'h' => 'text/plain',
    'log' => 'text/plain',
    'rng' => 'text/plain',
    'txt' => 'text/plain',
    'xsd' => 'text/plain',
    'php' => Phar::PHP, // parse as PHP
    'inc' => Phar::PHP, // parse as PHP
    'avi' => 'video/avi',
    'bmp' => 'image/bmp',
    'css' => 'text/css',
    'gif' => 'image/gif',
    'htm' => 'text/html',
    'html' => 'text/html',
    'htmls' => 'text/html',
    'ico' => 'image/x-ico',
    'jpe' => 'image/jpeg',
    'jpg' => 'image/jpeg',
    'jpeg' => 'image/jpeg',
    'js' => 'application/x-javascript',
    'midi' => 'audio/midi',
    'mid' => 'audio/midi',
    'mod' => 'audio/mod',
    'mov' => 'movie/quicktime',
    'mp3' => 'audio/mp3',
    'mpg' => 'video/mpeg',
    'mpeg' => 'video/mpeg',
    'pdf' => 'application/pdf',
    'png' => 'image/png',
    'swf' => 'application/shockwave-flash',
    'tif' => 'image/tiff',
    'tiff' => 'image/tiff',
    'wav' => 'audio/wav',
    'xbm' => 'image/xbm',
    'xml' => 'text/xml',
);
?>

rewrites

The rewrites function is passed a string as its only parameter and must return a string or FALSE.

If you are using fast-cgi or cgi then the parameter passed to the function is the value of the $_SERVER['PATH_INFO'] variable. Otherwise, the parameter passed to the function is the value of the $_SERVER['REQUEST_URI'] variable.

If a string is returned it is used as the internal file path. If FALSE is returned then webPhar() will send a HTTP 403 Denied Code.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

Throws PharException when unable to open the internal file to output, or if called from a non-stub. If an invalid array value is passed into mimetypes or an invalid callback is passed into rewrites, then UnexpectedValueException is thrown.

Beispiele

Beispiel #1 A Phar::webPhar() example

With the example below, the created phar will display Hello World if one browses to /myphar.phar/index.php or to /myphar.phar, and will display the source of index.phps if one browses to /myphar.phar/index.phps.

<?php
// creating the phar archive:
try {
    $phar = new Phar('myphar.phar');
    $phar['index.php'] = '<?php echo "Hello World"; ?>';
    $phar['index.phps'] = '<?php echo "Hello World"; ?>';
    $phar->setStub('<?php
Phar::webPhar();
__HALT_COMPILER(); ?>');
} catch (Exception $e) {
    // handle error here
}
?>

Siehe auch

  • Phar::mungServer() - Defines a list of up to 4 $_SERVER variables that should be modified for execution
  • Phar::interceptFileFuncs() - instructs phar to intercept fopen, file_get_contents, opendir, and all of the stat-related functions

Phar::unlinkArchive
PharData
Phar


The PharData class

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Einführung

The PharData class provides a high-level interface to accessing and creating non-executable tar and zip archives. Because these archives do not contain a stub and cannot be executed by the phar extension, it is possible to create and manipulate regular zip and tar files using the PharData class even if phar.readonly php.ini setting is 1.

Klassenbeschreibung

PharData extends Phar {
/* Methoden */
bool addEmptyDir ( string $dirname )
public void Phar::addFile ( string $file [, string $localname ] )
bool addFromString ( string $localname , string $contents )
public array Phar::buildFromDirectory ( string $base_dir [, string $regex ] )
array buildFromIterator ( Iterator $iter [, string $base_directory ] )
object compress ( int $compression [, string $extension ] )
bool compressFiles ( int $compression )
__construct ( string $fname [, int $flags [, string $alias [, int $format = Phar::TAR ]]] )
PharData convertToData ([ int $format [, int $compression [, string $extension ]]] )
Phar convertToExecutable ([ int $format [, int $compression [, string $extension ]]] )
bool copy ( string $oldfile , string $newfile )
object decompress ([ string $extension ] )
bool decompressFiles ( void )
bool delMetadata ( void )
bool delete ( string $entry )
bool extractTo ( string $pathto [, string|array $files [, bool $overwrite = false ]] )
bool isWritable ( void )
void offsetSet ( string $offset , string $value )
bool offsetUnset ( string $offset )
bool setAlias ( string $alias )
bool setDefaultStub ([ string $index [, string $webindex ]] )
public void Phar::setMetadata ( mixed $metadata )
public void Phar::setSignatureAlgorithm ( int $sigtype )
bool setStub ( string $stub [, int $len = -1 ] )
/* Geerbte Methoden */
public void Phar::addEmptyDir ( string $dirname )
public void Phar::addFile ( string $file [, string $localname ] )
public void Phar::addFromString ( string $localname , string $contents )
final public static string Phar::apiVersion ( void )
public array Phar::buildFromDirectory ( string $base_dir [, string $regex ] )
public array Phar::buildFromIterator ( Iterator $iter [, string $base_directory ] )
final public static bool Phar::canCompress ([ int $type = 0 ] )
final public static bool Phar::canWrite ( void )
public object Phar::compress ( int $compression [, string $extension ] )
public bool Phar::compressAllFilesBZIP2 ( void )
public bool Phar::compressAllFilesGZ ( void )
public void Phar::compressFiles ( int $compression )
public Phar::__construct ( string $fname [, int $flags [, string $alias ]] )
public PharData Phar::convertToData ([ int $format = 9021976 [, int $compression = 9021976 [, string $extension ]]] )
public Phar Phar::convertToExecutable ([ int $format = 9021976 [, int $compression = 9021976 [, string $extension ]]] )
public bool Phar::copy ( string $oldfile , string $newfile )
public int Phar::count ( void )
final public static string Phar::createDefaultStub ([ string $indexfile [, string $webindexfile ]] )
public object Phar::decompress ([ string $extension ] )
public bool Phar::decompressFiles ( void )
public bool Phar::delMetadata ( void )
public bool Phar::delete ( string $entry )
public bool Phar::extractTo ( string $pathto [, string|array $files [, bool $overwrite = false ]] )
public mixed Phar::getMetadata ( void )
public bool Phar::getModified ( void )
public array Phar::getSignature ( void )
public string Phar::getStub ( void )
final public static array Phar::getSupportedCompression ( void )
final public static array Phar::getSupportedSignatures ( void )
public string Phar::getVersion ( void )
public bool Phar::hasMetadata ( void )
final public static void Phar::interceptFileFuncs ( void )
public bool Phar::isBuffering ( void )
public mixed Phar::isCompressed ( void )
public bool Phar::isFileFormat ( int $format )
final public static bool Phar::isValidPharFilename ( string $filename [, bool $executable = true ] )
public bool Phar::isWritable ( void )
final public static bool Phar::loadPhar ( string $filename [, string $alias ] )
final public static bool Phar::mapPhar ([ string $alias [, int $dataoffset = 0 ]] )
final public static void Phar::mount ( string $pharpath , string $externalpath )
final public static void Phar::mungServer ( array $munglist )
public bool Phar::offsetExists ( string $offset )
public int Phar::offsetGet ( string $offset )
public void Phar::offsetSet ( string $offset , string $value )
public bool Phar::offsetUnset ( string $offset )
final public static string Phar::running ([ bool $retphar = true ] )
public bool Phar::setAlias ( string $alias )
public bool Phar::setDefaultStub ([ string $index [, string $webindex ]] )
public void Phar::setMetadata ( mixed $metadata )
public void Phar::setSignatureAlgorithm ( int $sigtype [, string $privatekey ] )
public bool Phar::setStub ( string $stub [, int $len = -1 ] )
public void Phar::startBuffering ( void )
public void Phar::stopBuffering ( void )
public bool Phar::uncompressAllFiles ( void )
final public static bool Phar::unlinkArchive ( string $archive )
final public static void Phar::webPhar ([ string $alias [, string $index = "index.php" [, string $f404 [, array $mimetypes [, callable $rewrites ]]]]] )
}

Inhaltsverzeichnis

  • PharData::addEmptyDir — Add an empty directory to the tar/zip archive
  • PharData::addFile — Add a file from the filesystem to the tar/zip archive
  • PharData::addFromString — Add a file from the filesystem to the tar/zip archive
  • PharData::buildFromDirectory — Construct a tar/zip archive from the files within a directory.
  • PharData::buildFromIterator — Construct a tar or zip archive from an iterator.
  • PharData::compress — Compresses the entire tar/zip archive using Gzip or Bzip2 compression
  • PharData::compressFiles — Compresses all files in the current tar/zip archive
  • PharData::__construct — Construct a non-executable tar or zip archive object
  • PharData::convertToData — Convert a phar archive to a non-executable tar or zip file
  • PharData::convertToExecutable — Convert a non-executable tar/zip archive to an executable phar archive
  • PharData::copy — Copy a file internal to the phar archive to another new file within the phar
  • PharData::decompress — Decompresses the entire Phar archive
  • PharData::decompressFiles — Decompresses all files in the current zip archive
  • PharData::delMetadata — Deletes the global metadata of a zip archive
  • PharData::delete — Delete a file within a tar/zip archive
  • PharData::extractTo — Extract the contents of a tar/zip archive to a directory
  • PharData::isWritable — Returns true if the tar/zip archive can be modified
  • PharData::offsetSet — set the contents of a file within the tar/zip to those of an external file or string
  • PharData::offsetUnset — remove a file from a tar/zip archive
  • PharData::setAlias — dummy function (Phar::setAlias is not valid for PharData)
  • PharData::setDefaultStub — dummy function (Phar::setDefaultStub is not valid for PharData)
  • Phar::setMetadata — Sets phar archive meta-data
  • Phar::setSignatureAlgorithm — set the signature algorithm for a phar and apply it.
  • PharData::setStub — dummy function (Phar::setStub is not valid for PharData)
Phar::webPhar
PharData::addEmptyDir
Phar


Add an empty directory to the tar/zip archive

PharData
PharData::addFile
PharData
PHP Manual

PharData::addEmptyDir

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::addEmptyDir — Add an empty directory to the tar/zip archive

Beschreibung

bool PharData::addEmptyDir ( string $dirname )

With this method, an empty directory is created with path dirname. This method is similar to ZipArchive::addEmptyDir().

Parameter-Liste

dirname

The name of the empty directory to create in the phar archive

Rückgabewerte

no return value, exception is thrown on failure.

Beispiele

Beispiel #1 A PharData::addEmptyDir() example

<?php
try {
    $a = new PharData('/path/to/my.tar');

    $a->addEmptyDir('/full/path/to/file');
    // demonstrates how this file is stored
    $b = $a['full/path/to/file']->isDir();
} catch (Exception $e) {
    // handle errors here
}
?>

Siehe auch

  • Phar::addEmptyDir() - Add an empty directory to the phar archive
  • PharData::addFile() - Add a file from the filesystem to the tar/zip archive
  • PharData::addFromString() - Add a file from the filesystem to the tar/zip archive

PharData
PharData::addFile
PharData


Add a file from the filesystem to the tar/zip archive

PharData::addEmptyDir
PharData::addFromString
PharData
PHP Manual

PharData::addFile

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::addFile — Add a file from the filesystem to the tar/zip archive

Beschreibung

public void Phar::addFile ( string $file [, string $localname ] )

With this method, any file or URL can be added to the tar/zip archive. If the optional second parameter localname is specified, the file will be stored in the archive with that name, otherwise the file parameter is used as the path to store within the archive. URLs must have a localname or an exception is thrown. This method is similar to ZipArchive::addFile().

Parameter-Liste

file

Full or relative path to a file on disk to be added to the phar archive.

localname

Path that the file will be stored in the archive.

Rückgabewerte

no return value, exception is thrown on failure.

Beispiele

Beispiel #1 A PharData::addFile() example

<?php
try {
    $a = new PharData('/path/to/my.tar');

    $a->addFile('/full/path/to/file');
    // demonstrates how this file is stored
    $b = $a['full/path/to/file']->getContent();

    $a->addFile('/full/path/to/file', 'my/file.txt');
    $c = $a['my/file.txt']->getContent();

    // demonstrate URL usage
    $a->addFile('http://www.example.com', 'example.html');
} catch (Exception $e) {
    // handle errors here
}
?>

Siehe auch

  • PharData::offsetSet() - set the contents of a file within the tar/zip to those of an external file or string
  • Phar::addFile() - Add a file from the filesystem to the phar archive
  • PharData::addFromString() - Add a file from the filesystem to the tar/zip archive
  • PharData::addEmptyDir() - Add an empty directory to the tar/zip archive

PharData::addEmptyDir
PharData::addFromString
PharData


Add a file from the filesystem to the tar/zip archive

PharData::addFile
PharData::buildFromDirectory
PharData
PHP Manual

PharData::addFromString

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::addFromString — Add a file from the filesystem to the tar/zip archive

Beschreibung

bool PharData::addFromString ( string $localname , string $contents )

With this method, any string can be added to the tar/zip archive. The file will be stored in the archive with localname as its path. This method is similar to ZipArchive::addFromString().

Parameter-Liste

localname

Path that the file will be stored in the archive.

contents

The file contents to store

Rückgabewerte

no return value, exception is thrown on failure.

Beispiele

Beispiel #1 A PharData::addFromString() example

<?php
try {
    $a = new PharData('/path/to/my.tar');

    $a->addFromString('path/to/file.txt', 'my simple file');
    $b = $a['path/to/file.txt']->getContent();

    // to add contents from a stream handle for large files, use offsetSet()
    $c = fopen('/path/to/hugefile.bin');
    $a['largefile.bin'] = $c;
    fclose($c);
} catch (Exception $e) {
    // handle errors here
}
?>

Siehe auch

  • PharData::offsetSet() - set the contents of a file within the tar/zip to those of an external file or string
  • Phar::addFromString() - Add a file from a string to the phar archive
  • PharData::addFile() - Add a file from the filesystem to the tar/zip archive
  • PharData::addEmptyDir() - Add an empty directory to the tar/zip archive

PharData::addFile
PharData::buildFromDirectory
PharData


Construct a tar/zip archive from the files within a directory.

PharData::addFromString
PharData::buildFromIterator
PharData
PHP Manual

PharData::buildFromDirectory

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::buildFromDirectory — Construct a tar/zip archive from the files within a directory.

Beschreibung

public array Phar::buildFromDirectory ( string $base_dir [, string $regex ] )

Populate a tar/zip archive from directory contents. The optional second parameter is a regular expression (pcre) that is used to exclude files. Any filename that matches the regular expression will be included, all others will be excluded. For more fine-grained control, use PharData::buildFromIterator().

Parameter-Liste

base_dir

The full or relative path to the directory that contains all files to add to the archive.

regex

An optional pcre regular expression that is used to filter the list of files. Only file paths matching the regular expression will be included in the archive.

Rückgabewerte

Phar::buildFromDirectory() returns an associative array mapping internal path of file to the full path of the file on the filesystem.

Fehler/Exceptions

This method throws BadMethodCallException when unable to instantiate the internal directory iterators, or a PharException if there were errors saving the phar archive.

Beispiele

Beispiel #1 A PharData::buildFromDirectory() example

<?php
$phar = new PharData('project.tar');
// add all files in the project
$phar->buildFromDirectory(dirname(__FILE__) . '/project');

$phar2 = new PharData('project2.zip');
// add all files in the project, only include php files
$phar2->buildFromDirectory(dirname(__FILE__) . '/project', '/\.php$/');
?>

Siehe auch

  • Phar::buildFromDirectory() - Construct a phar archive from the files within a directory.
  • PharData::buildFromIterator() - Construct a tar or zip archive from an iterator.

PharData::addFromString
PharData::buildFromIterator
PharData


Construct a tar or zip archive from an iterator.

PharData::buildFromDirectory
PharData::compress
PharData
PHP Manual

PharData::buildFromIterator

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::buildFromIterator — Construct a tar or zip archive from an iterator.

Beschreibung

array PharData::buildFromIterator ( Iterator $iter [, string $base_directory ] )

Populate a tar or zip archive from an iterator. Two styles of iterators are supported, iterators that map the filename within the tar/zip to the name of a file on disk, and iterators like DirectoryIterator that return SplFileInfo objects. For iterators that return SplFileInfo objects, the second parameter is required.

Beispiele

Beispiel #1 A PharData::buildFromIterator() with SplFileInfo

For most tar/zip archives, the archive will reflect an actual directory layout, and the second style is the most useful. For instance, to create a tar/zip archive containing the files in this sample directory layout:

/path/to/project/
                 config/
                        dist.xml
                        debug.xml
                 lib/
                     file1.php
                     file2.php
                 src/
                     processthing.php
                 www/
                     index.php
                 cli/
                     index.php

This code could be used to add these files to the "project.tar" tar archive:

<?php
$phar = new PharData('project.tar');
$phar->buildFromIterator(
    new RecursiveIteratorIterator(
     new RecursiveDirectoryIterator('/path/to/project')),
    '/path/to/project');
?>

The file project.tar can then be used immediately. PharData::buildFromIterator() does not set values such as compression, metadata, and this can be done after creating the tar/zip archive.

As an interesting note, PharData::buildFromIterator() can also be used to copy the contents of an existing phar, tar or zip archive, as the PharData object descends from DirectoryIterator:

<?php
$phar = new PharData('project.tar');
$phar->buildFromIterator(
    new RecursiveIteratorIterator(
     new Phar('/path/to/anotherphar.phar')),
    'phar:///path/to/anotherphar.phar/path/to/project');
$phar->setStub($phar->createDefaultStub('cli/index.php', 'www/index.php'));
?>

Beispiel #2 A PharData::buildFromIterator() with other iterators

The second form of the iterator can be used with any iterator that returns a key => value mapping, such as an ArrayIterator:

<?php
$phar = new PharData('project.tar');
$phar->buildFromIterator(
    new ArrayIterator(
     array(
        'internal/file.php' => dirname(__FILE__) . '/somefile.php',
        'another/file.jpg' => fopen('/path/to/bigfile.jpg', 'rb'),
     )));
?>

Parameter-Liste

iter

Any iterator that either associatively maps tar/zip file to location or returns SplFileInfo objects

base_directory

For iterators that return SplFileInfo objects, the portion of each file's full path to remove when adding to the tar/zip archive

Rückgabewerte

PharData::buildFromIterator() returns an associative array mapping internal path of file to the full path of the file on the filesystem.

Fehler/Exceptions

This method returns UnexpectedValueException when the iterator returns incorrect values, such as an integer key instead of a string, a BadMethodCallException when an SplFileInfo-based iterator is passed without a base_directory parameter, or a PharException if there were errors saving the phar archive.

Siehe auch

  • Phar::buildFromIterator() - Construct a phar archive from an iterator.

PharData::buildFromDirectory
PharData::compress
PharData


Compresses the entire tar/zip archive using Gzip or Bzip2 compression

PharData::buildFromIterator
PharData::compressFiles
PharData
PHP Manual

PharData::compress

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::compress — Compresses the entire tar/zip archive using Gzip or Bzip2 compression

Beschreibung

object PharData::compress ( int $compression [, string $extension ] )

For tar archives, this method compresses the entire archive using gzip compression or bzip2 compression. The resulting file can be processed with the gunzip command/bunzip command, or accessed directly and transparently with the Phar extension.

For zip archives, this method fails with an exception. The zlib extension must be enabled to compress with gzip compression, the bzip2 extension must be enabled in order to compress with bzip2 compression.

In addition, this method automatically renames the archive, appending .gz, .bz2 or removing the extension if passed Phar::NONE to remove compression. Alternatively, a file extension may be specified with the second parameter.

Parameter-Liste

compression

Compression must be one of Phar::GZ, Phar::BZ2 to add compression, or Phar::NONE to remove compression.

extension

By default, the extension is .tar.gz or .tar.bz2 for compressing a tar, and .tar for decompressing.

Rückgabewerte

A PharData object is returned.

Fehler/Exceptions

Throws BadMethodCallException if the zlib extension is not available, or the bzip2 extension is not enabled.

Beispiele

Beispiel #1 A PharData::compress() example

<?php
$p = new PharData('/path/to/my.tar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
$p1 = $p->compress(Phar::GZ); // copies to /path/to/my.tar.gz
$p2 = $p->compress(Phar::BZ2); // copies to /path/to/my.tar.bz2
$p3 = $p2->compress(Phar::NONE); // exception: /path/to/my.tar already exists
?>

Siehe auch

  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression

PharData::buildFromIterator
PharData::compressFiles
PharData


Compresses all files in the current tar/zip archive

PharData::compress
PharData::__construct
PharData
PHP Manual

PharData::compressFiles

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::compressFiles — Compresses all files in the current tar/zip archive

Beschreibung

bool PharData::compressFiles ( int $compression )

For tar-based archives, this method throws a BadMethodCallException, as compression of individual files within a tar archive is not supported by the file format. Use PharData::compress() to compress an entire tar-based archive.

For Zip-based archives, this method compresses all files in the archive using the specified compression. The zlib or bzip2 extensions must be enabled to take advantage of this feature. In addition, if any files are already compressed using bzip2/zlib compression, the respective extension must be enabled in order to decompress the files prior to re-compressing.

Parameter-Liste

compression

Compression must be one of Phar::GZ, Phar::BZ2 to add compression, or Phar::NONE to remove compression.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Throws BadMethodCallException if the phar.readonly INI variable is on, the zlib extension is not available, or if any files are compressed using bzip2 compression and the bzip2 extension is not enabled.

Beispiele

Beispiel #1 A PharData::compressFiles() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressed(Phar::BZ2));
    var_dump($file->isCompressed(Phar::GZ));
}
$p->compressFiles(Phar::GZ);
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressed(Phar::BZ2));
    var_dump($file->isCompressed(Phar::GZ));
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(10) "myfile.txt"
bool(false)
bool(false)
bool(false)
string(11) "myfile2.txt"
bool(false)
bool(false)
bool(false)
string(10) "myfile.txt"
int(4096)
bool(false)
bool(true)
string(11) "myfile2.txt"
int(4096)
bool(false)
bool(true)

Siehe auch

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • PharData::decompressFiles() - Decompresses all files in the current zip archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • PharData::compress() - Compresses the entire tar/zip archive using Gzip or Bzip2 compression
  • PharData::decompress() - Decompresses the entire Phar archive

PharData::compress
PharData::__construct
PharData


Construct a non-executable tar or zip archive object

PharData::compressFiles
PharData::convertToData
PharData
PHP Manual

PharData::__construct

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::__construct — Construct a non-executable tar or zip archive object

Beschreibung

PharData::__construct ( string $fname [, int $flags [, string $alias [, int $format = Phar::TAR ]]] )

Parameter-Liste

fname

Path to an existing tar/zip archive or to-be-created archive

flags

Flags to pass to Phar parent class RecursiveDirectoryIterator.

alias

Alias with which this Phar archive should be referred to in calls to stream functionality.

format

One of the file format constants available within the Phar class.

Fehler/Exceptions

Throws BadMethodCallException if called twice; UnexpectedValueException if the Phar archive can't be opened.

Beispiele

Beispiel #1 A PharData::__construct() example

<?php
try {
    $p = new PharData('/path/to/my.tar', Phar::CURRENT_AS_FILEINFO | Phar::KEY_AS_FILENAME);
} catch (UnexpectedValueException $e) {
    die('Could not open my.tar');
} catch (BadMethodCallException $e) {
    echo 'technically, this cannot happen';
}
echo file_get_contents('phar:///path/to/my.tar/example.txt');
?>

PharData::compressFiles
PharData::convertToData
PharData


Convert a phar archive to a non-executable tar or zip file

PharData::__construct
PharData::convertToExecutable
PharData
PHP Manual

PharData::convertToData

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::convertToData — Convert a phar archive to a non-executable tar or zip file

Beschreibung

PharData PharData::convertToData ([ int $format [, int $compression [, string $extension ]]] )

This method is used to convert a non-executable tar or zip archive to another non-executable format.

If no changes are specified, this method throws a BadMethodCallException. This method should be used to convert a tar archive to zip format or vice-versa. Although it is possible to simply change the compression of a tar archive using this method, it is better to use the PharData::compress() method for logical consistency.

If successful, the method creates a new archive on disk and returns a PharData object. The old archive is not removed from disk, and should be done manually after the process has finished.

Parameter-Liste

format

This should be one of Phar::TAR or Phar::ZIP. If set to NULL, the existing file format will be preserved.

compression

This should be one of Phar::NONE for no whole-archive compression, Phar::GZ for zlib-based compression, and Phar::BZ2 for bzip-based compression.

extension

This parameter is used to override the default file extension for a converted archive. Note that .phar cannot be used anywhere in the filename for a non-executable tar or zip archive.

If converting to a tar-based phar archive, the default extensions are .tar, .tar.gz, and .tar.bz2 depending on specified compression. For zip-based archives, the default extension is .zip.

Rückgabewerte

The method returns a PharData object on success and throws an exception on failure.

Fehler/Exceptions

This method throws BadMethodCallException when unable to compress, an unknown compression method has been specified, the requested archive is buffering with Phar::startBuffering() and has not concluded with Phar::stopBuffering(), and a PharException if any problems are encountered during the phar creation process.

Beispiele

Beispiel #1 A PharData::convertToData() example

Using PharData::convertToData():

<?php
try {
    $tarphar = new PharData('myphar.tar');
    // note that myphar.tar is *not* unlinked
    // convert it to the non-executable tar file format
    // creates myphar.zip
    $zip = $tarphar->convertToData(Phar::ZIP);
    // create myphar.tbz
    $tgz = $zip->convertToData(Phar::TAR, Phar::BZ2, '.tbz');
    // creates myphar.phar.tgz
    $phar = $tarphar->convertToData(Phar::PHAR); // throws exception
} catch (Exception $e) {
    // handle the error here
}
?>

Siehe auch

  • Phar::convertToExecutable() - Convert a phar archive to another executable phar archive file format
  • Phar::convertToData() - Convert a phar archive to a non-executable tar or zip file
  • PharData::convertToExecutable() - Convert a non-executable tar/zip archive to an executable phar archive

PharData::__construct
PharData::convertToExecutable
PharData


Convert a non-executable tar/zip archive to an executable phar archive

PharData::convertToData
PharData::copy
PharData
PHP Manual

PharData::convertToExecutable

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::convertToExecutable — Convert a non-executable tar/zip archive to an executable phar archive

Beschreibung

Phar PharData::convertToExecutable ([ int $format [, int $compression [, string $extension ]]] )

Hinweis:

Diese Methode des Phar-Objekts funktioniert nur wenn die php.ini-Einstellung phar.readonly auf 0 gesetzt ist, sonst wird eine PharException geworfen.

This method is used to convert a non-executable tar or zip archive to an executable phar archive. Any of the three executable file formats (phar, tar or zip) can be used, and whole-archive compression can also be performed.

If no changes are specified, this method throws a BadMethodCallException.

If successful, the method creates a new archive on disk and returns a Phar object. The old archive is not removed from disk, and should be done manually after the process has finished.

Parameter-Liste

format

This should be one of Phar::PHAR, Phar::TAR, or Phar::ZIP. If set to NULL, the existing file format will be preserved.

compression

This should be one of Phar::NONE for no whole-archive compression, Phar::GZ for zlib-based compression, and Phar::BZ2 for bzip-based compression.

extension

This parameter is used to override the default file extension for a converted archive. Note that all zip- and tar-based phar archives must contain .phar in their file extension in order to be processed as a phar archive.

If converting to a phar-based archive, the default extensions are .phar, .phar.gz, or .phar.bz2 depending on the specified compression. For tar-based phar archives, the default extensions are .phar.tar, .phar.tar.gz, and .phar.tar.bz2. For zip-based phar archives, the default extension is .phar.zip.

Rückgabewerte

The method returns a Phar object on success and throws an exception on failure.

Fehler/Exceptions

This method throws BadMethodCallException when unable to compress, an unknown compression method has been specified, the requested archive is buffering with Phar::startBuffering() and has not concluded with Phar::stopBuffering(), an UnexpectedValueException if write support is disabled, and a PharException if any problems are encountered during the phar creation process.

Beispiele

Beispiel #1 A PharData::convertToExecutable() example

Using PharData::convertToExecutable():

<?php
try {
    $tarphar = new PharData('myphar.tar');
    // convert it to the phar file format
    // note that myphar.tar is *not* unlinked
    $phar = $tarphar->convertToExecutable(Phar::PHAR); // creates myphar.phar
    $phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
    // creates myphar.phar.tgz
    $compressed = $tarphar->convertToExecutable(Phar::TAR, Phar::GZ, '.phar.tgz');
} catch (Exception $e) {
    // handle the error here
}
?>

Siehe auch

  • Phar::convertToExecutable() - Convert a phar archive to another executable phar archive file format
  • Phar::convertToData() - Convert a phar archive to a non-executable tar or zip file
  • PharData::convertToData() - Convert a phar archive to a non-executable tar or zip file

PharData::convertToData
PharData::copy
PharData


Copy a file internal to the phar archive to another new file within the phar

PharData::convertToExecutable
PharData::decompress
PharData
PHP Manual

PharData::copy

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::copy — Copy a file internal to the phar archive to another new file within the phar

Beschreibung

bool PharData::copy ( string $oldfile , string $newfile )

Copy a file internal to the tar/zip archive to another new file within the same archive. This is an object-oriented alternative to using copy() with the phar stream wrapper.

Parameter-Liste

oldfile

newfile

Rückgabewerte

returns TRUE on success, but it is safer to encase method call in a try/catch block and assume success if no exception is thrown.

Fehler/Exceptions

throws UnexpectedValueException if the source file does not exist, the destination file already exists, write access is disabled, opening either file fails, reading the source file fails, or a PharException if writing the changes to the phar fails.

Beispiele

Beispiel #1 A PharData::copy() example

This example shows using PharData::copy() and the equivalent stream wrapper performance of the same thing. The primary difference between the two approaches is error handling. All PharData methods throw exceptions, whereas the stream wrapper uses trigger_error().

<?php
try {
    $phar = new PharData('myphar.tar');
    $phar['a'] = 'hi';
    $phar->copy('a', 'b');
    echo $phar['b']; // outputs "phar://myphar.tar/b"
} catch (Exception $e) {
    // handle error
}

// the stream wrapper equivalent of the above code.
// E_WARNINGS are triggered on error rather than exceptions.
copy('phar://myphar.tar/a', 'phar//myphar.tar/c');
echo file_get_contents('phar://myphar.tar/c'); // outputs "hi"
?>

PharData::convertToExecutable
PharData::decompress
PharData


Decompresses the entire Phar archive

PharData::copy
PharData::decompressFiles
PharData
PHP Manual

PharData::decompress

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::decompress — Decompresses the entire Phar archive

Beschreibung

object PharData::decompress ([ string $extension ] )

For tar-based archives, this method decompresses the entire archive.

For Zip-based archives, this method fails with an exception. The zlib extension must be enabled to decompress an archive compressed with gzip compression, and the bzip2 extension must be enabled in order to decompress an archive compressed with bzip2 compression.

In addition, this method automatically renames the file extension of the archive, .tar by default. Alternatively, a file extension may be specified with the second parameter.

Parameter-Liste

extension

For decompressing, the default file extension is .phar.tar. Use this parameter to specify another file extension. Be aware that no non-executable archives cannot contain .phar in their filename.

Rückgabewerte

A PharData object is returned.

Fehler/Exceptions

Throws BadMethodCallException if the zlib extension is not available, or the bzip2 extension is not enabled.

Beispiele

Beispiel #1 A PharData::decompress() example

<?php
$p = new PharData('/path/to/my.tar.gz');
$p->decompress(); // creates /path/to/my.tar
?>

Siehe auch

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • PharData::compress() - Compresses the entire tar/zip archive using Gzip or Bzip2 compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • PharData::compress() - Compresses the entire tar/zip archive using Gzip or Bzip2 compression
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • PharData::compressFiles() - Compresses all files in the current tar/zip archive
  • PharData::decompressFiles() - Decompresses all files in the current zip archive

PharData::copy
PharData::decompressFiles
PharData


Decompresses all files in the current zip archive

PharData::decompress
PharData::delMetadata
PharData
PHP Manual

PharData::decompressFiles

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::decompressFiles — Decompresses all files in the current zip archive

Beschreibung

bool PharData::decompressFiles ( void )

Hinweis:

Diese Methode des Phar-Objekts funktioniert nur wenn die php.ini-Einstellung phar.readonly auf 0 gesetzt ist, sonst wird eine PharException geworfen.

For tar-based archives, this method throws a BadMethodCallException, as compression of individual files within a tar archive is not supported by the file format. Use PharData::compress() to compress an entire tar-based archive.

For Zip-based archives, this method decompresses all files in the archive. The zlib or bzip2 extensions must be enabled to take advantage of this feature if any files are compressed using bzip2/zlib compression.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Throws BadMethodCallException if the zlib extension is not available, or if any files are compressed using bzip2 compression and the bzip2 extension is not enabled.

Beispiele

Beispiel #1 A PharData::decompressFiles() example

<?php
$p = new PharData('/path/to/my.zip');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
$p->compressFiles(Phar::GZ);
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressed(Phar::BZ2));
    var_dump($file->isCompressed(Phar::GZ));
}
$p->decompressFiles();
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressed(Phar::BZ2));
    var_dump($file->isCompressed(Phar::GZ));
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(10) "myfile.txt"
int(4096)
bool(false)
bool(true)
string(11) "myfile2.txt"
int(4096)
bool(false)
bool(true)
string(10) "myfile.txt"
bool(false)
bool(false)
bool(false)
string(11) "myfile2.txt"
bool(false)
bool(false)
bool(false)

Siehe auch

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • PharData::compressFiles() - Compresses all files in the current tar/zip archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • PharData::compress() - Compresses the entire tar/zip archive using Gzip or Bzip2 compression
  • PharData::decompress() - Decompresses the entire Phar archive

PharData::decompress
PharData::delMetadata
PharData


Deletes the global metadata of a zip archive

PharData::decompressFiles
PharData::delete
PharData
PHP Manual

PharData::delMetadata

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::delMetadata — Deletes the global metadata of a zip archive

Beschreibung

bool PharData::delMetadata ( void )

Hinweis:

Diese Methode des Phar-Objekts funktioniert nur wenn die php.ini-Einstellung phar.readonly auf 0 gesetzt ist, sonst wird eine PharException geworfen.

Deletes the global metadata of the zip archive

Parameter-Liste

Rückgabewerte

returns TRUE on success, but it is better to check for thrown exception, and assume success if none is thrown.

Fehler/Exceptions

Throws PharException if errors occur while flushing changes to disk.

Beispiele

Beispiel #1 A PharData::delMetaData() example

<?php
try {
    $phar = new PharData('myphar.zip');
    var_dump($phar->getMetadata());
    $phar->setMetadata("hi there");
    var_dump($phar->getMetadata());
    $phar->delMetadata();
    var_dump($phar->getMetadata());
} catch (Exception $e) {
    // handle errors
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

NULL
string(8) "hi there"
NULL

Siehe auch

  • Phar::delMetadata() - Deletes the global metadata of the phar

PharData::decompressFiles
PharData::delete
PharData


Delete a file within a tar/zip archive

PharData::delMetadata
PharData::extractTo
PharData
PHP Manual

PharData::delete

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::delete — Delete a file within a tar/zip archive

Beschreibung

bool PharData::delete ( string $entry )

Delete a file within an archive. This is the functional equivalent of calling unlink() on the stream wrapper equivalent, as shown in the example below.

Parameter-Liste

entry

Path within an archive to the file to delete.

Rückgabewerte

returns TRUE on success, but it is better to check for thrown exception, and assume success if none is thrown.

Fehler/Exceptions

Throws PharException if errors occur while flushing changes to disk.

Beispiele

Beispiel #1 A PharData::delete() example

<?php
try {
    $phar = new PharData('myphar.zip');
    $phar->delete('unlink/me.php');
    // this is equivalent to:
    unlink('phar://myphar.phar/unlink/me.php');
} catch (Exception $e) {
    // handle errors
}
?>

Siehe auch

  • Phar::delete() - Delete a file within a phar archive

PharData::delMetadata
PharData::extractTo
PharData


Extract the contents of a tar/zip archive to a directory

PharData::delete
PharData::isWritable
PharData
PHP Manual

PharData::extractTo

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::extractTo — Extract the contents of a tar/zip archive to a directory

Beschreibung

bool PharData::extractTo ( string $pathto [, string|array $files [, bool $overwrite = false ]] )

Extract all files within a tar/zip archive to disk. Extracted files and directories preserve permissions as stored in the archive. The optional parameters allow optional control over which files are extracted, and whether existing files on disk can be overwritten. The second parameter files can be either the name of a file or directory to extract, or an array of names of files and directories to extract. By default, this method will not overwrite existing files, the third parameter can be set to true to enable overwriting of files. This method is similar to ZipArchive::extractTo().

Parameter-Liste

pathto

Path to extract the given files to

files

The name of a file or directory to extract, or an array of files/directories to extract

overwrite

Set to TRUE to enable overwriting existing files

Rückgabewerte

returns TRUE on success, but it is better to check for thrown exception, and assume success if none is thrown.

Fehler/Exceptions

Throws PharException if errors occur while flushing changes to disk.

Beispiele

Beispiel #1 A PharData::extractTo() example

<?php
try {
    $phar = new PharData('myphar.tar');
    $phar->extractTo('/full/path'); // extract all files
    $phar->extractTo('/another/path', 'file.txt'); // extract only file.txt
    $phar->extractTo('/this/path',
        array('file1.txt', 'file2.txt')); // extract 2 files only
    $phar->extractTo('/third/path', null, true); // extract all files, and overwrite
} catch (Exception $e) {
    // handle errors
}
?>

Siehe auch

  • Phar::extractTo() - Extract the contents of a phar archive to a directory

PharData::delete
PharData::isWritable
PharData


Returns true if the tar/zip archive can be modified

PharData::extractTo
PharData::offsetSet
PharData
PHP Manual

PharData::isWritable

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::isWritable — Returns true if the tar/zip archive can be modified

Beschreibung

bool PharData::isWritable ( void )

This method returns TRUE if the tar/zip archive on disk is not read-only. Unlike Phar::isWritable(), data-only tar/zip archives can be modified even if phar.readonly is set to 1.

Parameter-Liste

No parameters.

Rückgabewerte

Returns TRUE if the tar/zip archive can be modified

Siehe auch

  • Phar::canWrite() - Returns whether phar extension supports writing and creating phars
  • Phar::isWritable() - Returns true if the phar archive can be modified

PharData::extractTo
PharData::offsetSet
PharData


set the contents of a file within the tar/zip to those of an external file or string

PharData::isWritable
PharData::offsetUnset
PharData
PHP Manual

PharData::offsetSet

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::offsetSet — set the contents of a file within the tar/zip to those of an external file or string

Beschreibung

void PharData::offsetSet ( string $offset , string $value )

This is an implementation of the ArrayAccess interface allowing direct manipulation of the contents of a tar/zip archive using array access brackets. offsetSet is used for modifying an existing file, or adding a new file to a tar/zip archive.

Parameter-Liste

offset

The filename (relative path) to modify in a tar or zip archive.

value

Content of the file.

Rückgabewerte

No return values.

Fehler/Exceptions

Throws PharException if there are any problems flushing changes made to the tar/zip archive to disk.

Beispiele

Beispiel #1 A PharData::offsetSet() example

offsetSet should not be accessed directly, but instead used via array access with the [] operator.

<?php
$p = new PharData('/path/to/my.tar');
try {
    // calls offsetSet
    $p['file.txt'] = 'Hi there';
} catch (Exception $e) {
    echo 'Could not modify file.txt:', $e;
}
?>

Siehe auch

  • Phar::offsetSet() - set the contents of an internal file to those of an external file

PharData::isWritable
PharData::offsetUnset
PharData


remove a file from a tar/zip archive

PharData::offsetSet
PharData::setAlias
PharData
PHP Manual

PharData::offsetUnset

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::offsetUnset — remove a file from a tar/zip archive

Beschreibung

bool PharData::offsetUnset ( string $offset )

This is an implementation of the ArrayAccess interface allowing direct manipulation of the contents of a tar/zip archive using array access brackets. offsetUnset is used for deleting an existing file, and is called by the unset() language construct.

Parameter-Liste

offset

The filename (relative path) to modify in the tar/zip archive.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Throws PharException if there are any problems flushing changes made to the tar/zip archive to disk.

Beispiele

Beispiel #1 A PharData::offsetUnset() example

<?php
$p = new PharData('/path/to/my.zip');
try {
    // deletes file.txt from my.zip by calling offsetUnset
    unset($p['file.txt']);
} catch (Exception $e) {
    echo 'Could not delete file.txt: ', $e;
}
?>

Siehe auch

  • Phar::offsetUnset() - remove a file from a phar

PharData::offsetSet
PharData::setAlias
PharData


dummy function (Phar::setAlias is not valid for PharData)

PharData::offsetUnset
PharData::setDefaultStub
PharData
PHP Manual

PharData::setAlias

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::setAlias — dummy function (Phar::setAlias is not valid for PharData)

Beschreibung

bool PharData::setAlias ( string $alias )

Non-executable tar/zip archives cannot have an alias, so this method simply throws an exception.

Parameter-Liste

alias

A shorthand string that this archive can be referred to in phar stream wrapper access. This parameter is ignored.

Rückgabewerte

Fehler/Exceptions

Throws PharException on all method calls

Siehe auch

  • Phar::setAlias() - Set the alias for the Phar archive

PharData::offsetUnset
PharData::setDefaultStub
PharData


dummy function (Phar::setDefaultStub is not valid for PharData)

PharData::setAlias
Phar::setMetadata
PharData
PHP Manual

PharData::setDefaultStub

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::setDefaultStub — dummy function (Phar::setDefaultStub is not valid for PharData)

Beschreibung

bool PharData::setDefaultStub ([ string $index [, string $webindex ]] )

Non-executable tar/zip archives cannot have a stub, so this method simply throws an exception.

Parameter-Liste

index

Relative path within the phar archive to run if accessed on the command-line

webindex

Relative path within the phar archive to run if accessed through a web browser

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Throws PharException on all method calls

Siehe auch

  • Phar::setDefaultStub() - Used to set the PHP loader or bootstrap stub of a Phar archive to the default loader

PharData::setAlias
Phar::setMetadata
PharData


Sets phar archive meta-data

PharData::setDefaultStub
Phar::setSignatureAlgorithm
PharData
PHP Manual

Phar::setMetadata

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::setMetadata — Sets phar archive meta-data

Beschreibung

public void Phar::setMetadata ( mixed $metadata )

Hinweis:

Diese Methode des Phar-Objekts funktioniert nur wenn die php.ini-Einstellung phar.readonly auf 0 gesetzt ist, sonst wird eine PharException geworfen.

Phar::setMetadata() should be used to store customized data that describes something about the phar archive as a complete entity. PharFileInfo::setMetadata() should be used for file-specific meta-data. Meta-data can slow down the performance of loading a phar archive if the data is large.

Some possible uses for meta-data include specifying which file within the archive should be used to bootstrap the archive, or the location of a file manifest like » PEAR's package.xml file. However, any useful data that describes the phar archive may be stored.

Parameter-Liste

metadata

Any PHP variable containing information to store that describes the phar archive

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 A Phar::setMetadata() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
    $p['file.php'] = '<?php echo "hello"';
    $p->setMetadata(array('bootstrap' => 'file.php'));
    var_dump($p->getMetadata());
} catch (Exception $e) {
    echo 'Could not create and/or modify phar:', $e;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(1) {
  ["bootstrap"]=>
  string(8) "file.php"
}

Siehe auch

  • Phar::getMetadata() - Returns phar archive meta-data
  • Phar::delMetadata() - Deletes the global metadata of the phar
  • Phar::hasMetadata() - Returns whether phar has global meta-data

PharData::setDefaultStub
Phar::setSignatureAlgorithm
PharData


set the signature algorithm for a phar and apply it.

Phar::setMetadata
PharData::setStub
PharData
PHP Manual

Phar::setSignatureAlgorithm

(PHP >= 5.3.0, PECL phar >= 1.1.0)

Phar::setSignatureAlgorithm — set the signature algorithm for a phar and apply it.

Beschreibung

public void Phar::setSignatureAlgorithm ( int $sigtype )

Hinweis:

Diese Methode des Phar-Objekts funktioniert nur wenn die php.ini-Einstellung phar.readonly auf 0 gesetzt ist, sonst wird eine PharException geworfen.

Set the signature algorithm for a phar and apply it. The signature algorithm must be one of Phar::MD5, Phar::SHA1, Phar::SHA256, Phar::SHA512, or Phar::PGP (pgp not yet supported and falls back to SHA-1).

Parameter-Liste

sigtype

    One of Phar::MD5,
Phar::SHA1, Phar::SHA256,
Phar::SHA512, or Phar::PGP

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

Throws UnexpectedValueException for many errors, BadMethodCallException if called for a zip- or a tar-based phar archive, and a PharException if any problems occur flushing changes to disk.

Siehe auch

  • Phar::getSupportedSignatures() - Return array of supported signature types
  • Phar::getSignature() - Return MD5/SHA1/SHA256/SHA512/OpenSSL signature of a Phar archive

Phar::setMetadata
PharData::setStub
PharData


dummy function (Phar::setStub is not valid for PharData)

Phar::setSignatureAlgorithm
PharFileInfo
PharData
PHP Manual

PharData::setStub

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::setStub — dummy function (Phar::setStub is not valid for PharData)

Beschreibung

bool PharData::setStub ( string $stub [, int $len = -1 ] )

Non-executable tar/zip archives cannot have a stub, so this method simply throws an exception.

Parameter-Liste

stub

A string or an open stream handle to use as the executable stub for this phar archive. This parameter is ignored.

len

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Throws PharException on all method calls

Changelog

Version | Beschreibung
5.4.0 | Added len parameter.

Siehe auch

  • Phar::setStub() - Used to set the PHP loader or bootstrap stub of a Phar archive

Phar::setSignatureAlgorithm
PharFileInfo
PharData


The PharFileInfo class

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Einführung

The PharFileInfo class provides a high-level interface to the contents and attributes of a single file within a phar archive.

Klassenbeschreibung

PharFileInfo extends SplFileInfo {
/* Methoden */
public void chmod ( int $permissions )
public bool compress ( int $compression )
public __construct ( string $entry )
public bool decompress ( void )
public bool delMetadata ( void )
public int getCRC32 ( void )
public int getCompressedSize ( void )
public mixed getMetadata ( void )
public int getPharFlags ( void )
public bool hasMetadata ( void )
public bool isCRCChecked ( void )
public bool isCompressed ([ int $compression_type = 9021976 ] )
public bool isCompressedBZIP2 ( void )
public bool isCompressedGZ ( void )
public bool setCompressedBZIP2 ( void )
public bool setCompressedGZ ( void )
public void setMetadata ( mixed $metadata )
public bool setUncompressed ( void )
}

Inhaltsverzeichnis

  • PharFileInfo::chmod — Sets file-specific permission bits
  • PharFileInfo::compress — Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::__construct — Construct a Phar entry object
  • PharFileInfo::decompress — Decompresses the current Phar entry within the phar
  • PharFileInfo::delMetadata — Deletes the metadata of the entry
  • PharFileInfo::getCRC32 — Returns CRC32 code or throws an exception if CRC has not been verified
  • PharFileInfo::getCompressedSize — Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::getMetadata — Returns file-specific meta-data saved with a file
  • PharFileInfo::getPharFlags — Returns the Phar file entry flags
  • PharFileInfo::hasMetadata — Returns the metadata of the entry
  • PharFileInfo::isCRCChecked — Returns whether file entry has had its CRC verified
  • PharFileInfo::isCompressed — Returns whether the entry is compressed
  • PharFileInfo::isCompressedBZIP2 — Returns whether the entry is compressed using bzip2
  • PharFileInfo::isCompressedGZ — Returns whether the entry is compressed using gz
  • PharFileInfo::setCompressedBZIP2 — Compresses the current Phar entry within the phar using Bzip2 compression
  • PharFileInfo::setCompressedGZ — Compresses the current Phar entry within the phar using gz compression
  • PharFileInfo::setMetadata — Sets file-specific meta-data saved with a file
  • PharFileInfo::setUncompressed — Uncompresses the current Phar entry within the phar, if it is compressed
PharData::setStub
PharFileInfo::chmod
Phar


Sets file-specific permission bits

PharFileInfo
PharFileInfo::compress
PharFileInfo
PHP Manual

PharFileInfo::chmod

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::chmod — Sets file-specific permission bits

Beschreibung

public void PharFileInfo::chmod ( int $permissions )

PharFileInfo::chmod() allows setting of the executable file permissions bit, as well as read-only bits. Writeable bits are ignored, and set at runtime based on the phar.readonly INI variable. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed if the file is within a Phar archive. Files within PharData archives do not have this restriction.

Parameter-Liste

permissions

permissions (see chmod())

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 A PharFileInfo::chmod() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar('brandnewphar.phar', 0, 'brandnewphar.phar');
    $p['file.sh'] = '#!/usr/local/lib/php
    <?php echo "hi"; ?>';
    // set executable bit
    $p['file.sh']->chmod(0555);
    var_dump($p['file.sh']->isExecutable());
} catch (Exception $e) {
    echo 'Could not create/modify phar: ', $e;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)

PharFileInfo
PharFileInfo::compress
PharFileInfo


Compresses the current Phar entry with either zlib or bzip2 compression

PharFileInfo::chmod
PharFileInfo::__construct
PharFileInfo
PHP Manual

PharFileInfo::compress

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharFileInfo::compress — Compresses the current Phar entry with either zlib or bzip2 compression

Beschreibung

public bool PharFileInfo::compress ( int $compression )

This method compresses the file inside the Phar archive using either bzip2 compression or zlib compression. The bzip2 or zlib extension must be enabled to take advantage of this feature. In addition, if the file is already compressed, the respective extension must be enabled in order to decompress the file. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed if the file is within a Phar archive. Files within PharData archives do not have this restriction.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Throws BadMethodCallException if the phar.readonly INI variable is on, or if the bzip2/zlib extension is not available.

Beispiele

Beispiel #1 A PharFileInfo::compress() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    var_dump($file->isCompressed(Phar::BZ2));
    $p['myfile.txt']->compress(Phar::BZ2);
    var_dump($file->isCompressed(Phar::BZ2));
} catch (Exception $e) {
    echo 'Create/modify operations on my.phar failed: ', $e;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(true)

Siehe auch

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compressFiles() - Compresses all files in the current Phar archive
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive
  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::decompress() - Decompresses the entire Phar archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms

PharFileInfo::chmod
PharFileInfo::__construct
PharFileInfo


Construct a Phar entry object

PharFileInfo::compress
PharFileInfo::decompress
PharFileInfo
PHP Manual

PharFileInfo::__construct

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::__construct — Construct a Phar entry object

Beschreibung

public PharFileInfo::__construct ( string $entry )

This should not be called directly. Instead, a PharFileInfo object is initialized by calling Phar::offsetGet() through array access.

Parameter-Liste

entry

The full url to retrieve a file. If you wish to retrieve the information for the file my/file.php from the phar boo.phar, the entry should be phar://boo.phar/my/file.php.

Fehler/Exceptions

Throws BadMethodCallException if __construct() is called twice. Throws UnexpectedValueException if the phar URL requested is malformed, the requested phar cannot be opened, or the file can't be found within the phar.

Beispiele

Beispiel #1 A PharFileInfo::__construct() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['testfile.txt'] = "hi\nthere\ndude";
    $file = $p['testfile.txt'];
    foreach ($file as $line => $text) {
        echo "line number $line: $text";
    }
    // this also works
    $file = new PharFileInfo('phar:///path/to/my.phar/testfile.txt');
    foreach ($file as $line => $text) {
        echo "line number $line: $text";
    }
} catch (Exception $e) {
    echo 'Phar operations failed: ', $e;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

line number 1: hi
line number 2: there
line number 3: dude
line number 1: hi
line number 2: there
line number 3: dude

PharFileInfo::compress
PharFileInfo::decompress
PharFileInfo


Decompresses the current Phar entry within the phar

PharFileInfo::__construct
PharFileInfo::delMetadata
PharFileInfo
PHP Manual

PharFileInfo::decompress

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharFileInfo::decompress — Decompresses the current Phar entry within the phar

Beschreibung

public bool PharFileInfo::decompress ( void )

This method decompresses the file inside the Phar archive. Depending on how the file is compressed, the bzip2 or zlib extensions must be enabled to take advantage of this feature. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed if the file is within a Phar archive. Files within PharData archives do not have this restriction.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Throws BadMethodCallException if the phar.readonly INI variable is on, or if the bzip2/zlib extension is not available.

Beispiele

Beispiel #1 A PharFileInfo::decompress() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    $file->compress(Phar::GZ);
    var_dump($file->isCompressed());
    $p['myfile.txt']->decompress();
    var_dump($file->isCompressed());
} catch (Exception $e) {
    echo 'Create/modify failed for my.phar: ', $e;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(4096)
bool(false)

Siehe auch

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compressFiles() - Compresses all files in the current Phar archive
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive
  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::decompress() - Decompresses the entire Phar archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms

PharFileInfo::__construct
PharFileInfo::delMetadata
PharFileInfo


Deletes the metadata of the entry

PharFileInfo::decompress
PharFileInfo::getCRC32
PharFileInfo
PHP Manual

PharFileInfo::delMetadata

(PHP >= 5.3.0, PECL phar >= 1.2.0)

PharFileInfo::delMetadata — Deletes the metadata of the entry

Beschreibung

public bool PharFileInfo::delMetadata ( void )

Deletes the metadata of the entry, if any.

Parameter-Liste

No parameters.

Rückgabewerte

Returns TRUE if successful, FALSE if the entry had no metadata. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed if the file is within a Phar archive. Files within PharData archives do not have this restriction.

Fehler/Exceptions

Throws PharException if errors occurred while flushing changes to disk, and BadMethodCallException if write access is disabled.

Beispiele

Beispiel #1 A PharFileInfo::delMetaData() example

<?php
try {
    $a = new Phar('myphar.phar');
    $a['hi'] = 'hi';
    var_dump($a['hi']->delMetadata());
    $a['hi']->setMetadata('there');
    var_dump($a['hi']->delMetadata());
    var_dump($a['hi']->delMetadata());
} catch (Exception $e) {
    // handle errors
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(true)
bool(false)

Siehe auch

  • PharFileInfo::setMetadata() - Sets file-specific meta-data saved with a file
  • PharFileInfo::hasMetadata() - Returns the metadata of the entry
  • PharFileInfo::getMetadata() - Returns file-specific meta-data saved with a file
  • Phar::setMetadata() - Sets phar archive meta-data
  • Phar::hasMetadata() - Returns whether phar has global meta-data
  • Phar::getMetadata() - Returns phar archive meta-data

PharFileInfo::decompress
PharFileInfo::getCRC32
PharFileInfo


Returns CRC32 code or throws an exception if CRC has not been verified

PharFileInfo::delMetadata
PharFileInfo::getCompressedSize
PharFileInfo
PHP Manual

PharFileInfo::getCRC32

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::getCRC32 — Returns CRC32 code or throws an exception if CRC has not been verified

Beschreibung

public int PharFileInfo::getCRC32 ( void )

This returns the crc32() checksum of the file within the Phar archive.

Rückgabewerte

The crc32() checksum of the file within the Phar archive.

Fehler/Exceptions

Throws BadMethodCallException if the file has not yet had its CRC32 verified. This should be impossible with normal use, as the CRC is verified upon opening the file for reading or writing.

Beispiele

Beispiel #1 A PharFileInfo::getCRC32() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    echo $file->getCRC32();
} catch (Exception $e) {
    echo 'Write operations on my.phar.phar failed: ', $e;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

3633523372

PharFileInfo::delMetadata
PharFileInfo::getCompressedSize
PharFileInfo


Returns the actual size of the file (with compression) inside the Phar archive

PharFileInfo::getCRC32
PharFileInfo::getMetadata
PharFileInfo
PHP Manual

PharFileInfo::getCompressedSize

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::getCompressedSize — Returns the actual size of the file (with compression) inside the Phar archive

Beschreibung

public int PharFileInfo::getCompressedSize ( void )

This returns the size of the file within the Phar archive. Uncompressed files will return the same value for getCompressedSize as they will with filesize()

Rückgabewerte

The size in bytes of the file within the Phar archive on disk.

Beispiele

Beispiel #1 A PharFileInfo::getCompressedSize() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    echo $file->getCompressedSize();
} catch (Exception $e) {
    echo 'Write operations failed on my.phar: ', $e;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

2

Siehe auch

  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::decompress() - Decompresses the entire Phar archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive
  • Phar::compressFiles() - Compresses all files in the current Phar archive

PharFileInfo::getCRC32
PharFileInfo::getMetadata
PharFileInfo


Returns file-specific meta-data saved with a file

PharFileInfo::getCompressedSize
PharFileInfo::getPharFlags
PharFileInfo
PHP Manual

PharFileInfo::getMetadata

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::getMetadata — Returns file-specific meta-data saved with a file

Beschreibung

public mixed PharFileInfo::getMetadata ( void )

Return meta-data that was saved in the Phar archive's manifest for this file.

Parameter-Liste

Rückgabewerte

any PHP variable that can be serialized and is stored as meta-data for the file, or NULL if no meta-data is stored.

Beispiele

Beispiel #1 A PharFileInfo::getMetadata() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
    $p['file.txt'] = 'hello';
    $p['file.txt']->setMetadata(array('user' => 'bill', 'mime-type' => 'text/plain'));
    var_dump($p['file.txt']->getMetadata());
} catch (Exception $e) {
    echo 'Could not create/modify brandnewphar.phar: ', $e;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  ["user"]=>
  string(4) "bill"
  ["mime-type"]=>
  string(10) "text/plain"
}

Siehe auch

  • PharFileInfo::setMetadata() - Sets file-specific meta-data saved with a file
  • PharFileInfo::hasMetadata() - Returns the metadata of the entry
  • PharFileInfo::delMetadata() - Deletes the metadata of the entry
  • Phar::setMetadata() - Sets phar archive meta-data
  • Phar::hasMetadata() - Returns whether phar has global meta-data
  • Phar::getMetadata() - Returns phar archive meta-data

PharFileInfo::getCompressedSize
PharFileInfo::getPharFlags
PharFileInfo


Returns the Phar file entry flags

PharFileInfo::getMetadata
PharFileInfo::hasMetadata
PharFileInfo
PHP Manual

PharFileInfo::getPharFlags

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::getPharFlags — Returns the Phar file entry flags

Beschreibung

public int PharFileInfo::getPharFlags ( void )

This returns the flags set in the manifest for a Phar. This will always return 0 in the current implementation.

Rückgabewerte

The Phar flags (always 0 in the current implementation)

Beispiele

Beispiel #1 A PharFileInfo::getPharFlags() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    var_dump($file->getPharFlags());
} catch (Exception $e) {
    echo 'Could not create/modify my.phar: ', $e;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(0)

PharFileInfo::getMetadata
PharFileInfo::hasMetadata
PharFileInfo


Returns the metadata of the entry

PharFileInfo::getPharFlags
PharFileInfo::isCRCChecked
PharFileInfo
PHP Manual

PharFileInfo::hasMetadata

(PHP >= 5.3.0, PECL phar >= 1.2.0)

PharFileInfo::hasMetadata — Returns the metadata of the entry

Beschreibung

public bool PharFileInfo::hasMetadata ( void )

Returns the metadata of a file within a phar archive.

Parameter-Liste

No parameters.

Rückgabewerte

Returns FALSE if no metadata is set or is NULL, TRUE if metadata is not NULL

Siehe auch

  • PharFileInfo::setMetadata() - Sets file-specific meta-data saved with a file
  • PharFileInfo::getMetadata() - Returns file-specific meta-data saved with a file
  • PharFileInfo::delMetadata() - Deletes the metadata of the entry
  • Phar::setMetadata() - Sets phar archive meta-data
  • Phar::hasMetadata() - Returns whether phar has global meta-data
  • Phar::getMetadata() - Returns phar archive meta-data

PharFileInfo::getPharFlags
PharFileInfo::isCRCChecked
PharFileInfo


Returns whether file entry has had its CRC verified

PharFileInfo::hasMetadata
PharFileInfo::isCompressed
PharFileInfo
PHP Manual

PharFileInfo::isCRCChecked

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::isCRCChecked — Returns whether file entry has had its CRC verified

Beschreibung

public bool PharFileInfo::isCRCChecked ( void )

This returns whether a file within a Phar archive has had its CRC verified.

Rückgabewerte

TRUE if the file has had its CRC verified, FALSE if not.

Beispiele

Beispiel #1 A PharFileInfo::isCRCChecked() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    var_dump($file->isCRCChecked());
} catch (Exception $e) {
    echo 'Create/modify operations failed on my.phar: ', $e;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)

PharFileInfo::hasMetadata
PharFileInfo::isCompressed
PharFileInfo


Returns whether the entry is compressed

PharFileInfo::isCRCChecked
PharFileInfo::isCompressedBZIP2
PharFileInfo
PHP Manual

PharFileInfo::isCompressed

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::isCompressed — Returns whether the entry is compressed

Beschreibung

public bool PharFileInfo::isCompressed ([ int $compression_type = 9021976 ] )

This returns whether a file is compressed within a Phar archive with either Gzip or Bzip2 compression.

Parameter-Liste

compression_type

One of Phar::GZ or Phar::BZ2, defaults to any compression.

Rückgabewerte

TRUE if the file is compressed within the Phar archive, FALSE if not.

Beispiele

Beispiel #1 A PharFileInfo::isCompressed() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $p['myfile2.txt'] = 'hi';
    $p['myfile2.txt']->setCompressedGZ();
    $file = $p['myfile.txt'];
    $file2 = $p['myfile2.txt'];
    var_dump($file->isCompressed());
    var_dump($file2->isCompressed());
} catch (Exception $e) {
    echo 'Create/modify on phar my.phar failed: ', $e;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(true)

Siehe auch

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • Phar::decompress() - Decompresses the entire Phar archive
  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive
  • Phar::compressFiles() - Compresses all files in the current Phar archive

PharFileInfo::isCRCChecked
PharFileInfo::isCompressedBZIP2
PharFileInfo


Returns whether the entry is compressed using bzip2

PharFileInfo::isCompressed
PharFileInfo::isCompressedGZ
PharFileInfo
PHP Manual

PharFileInfo::isCompressedBZIP2

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::isCompressedBZIP2 — Returns whether the entry is compressed using bzip2

Beschreibung

public bool PharFileInfo::isCompressedBZIP2 ( void )

Hinweis:

Diese Methode wurde beginnend mit Version 2.0.0 der phar-Extension
entfernt. Alternative Implementationen bieten PharFileInfo::isCompressed(),
PharFileInfo::decompress() und
PharFileInfo::compress().

This returns whether a file is compressed within a Phar archive with Bzip2 compression.

Rückgabewerte

TRUE if the file is compressed within the Phar archive using Bzip2, FALSE if not.

Beispiele

Beispiel #1 A PharFileInfo::isCompressedBZIP2() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $p['myfile2.txt'] = 'hi';
    $p['myfile3.txt'] = 'hi';
    $p['myfile2.txt']->setCompressedGZ();
    $p['myfile3.txt']->setCompressedBZIP2();
    $file = $p['myfile.txt'];
    $file2 = $p['myfile2.txt'];
    $file3 = $p['myfile3.txt'];
    var_dump($file->isCompressedBZIP2());
    var_dump($file2->isCompressedBZIP2());
    var_dump($file3->isCompressedBZIP2());
} catch (Exception $e) {
    echo 'Create/modify on phar my.phar failed: ', $e;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(false)
bool(true)

Siehe auch

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::isCompressedGZ() - Returns whether the entry is compressed using gz
  • PharFileInfo::setCompressedBZIP2() - Compresses the current Phar entry within the phar using Bzip2 compression
  • PharFileInfo::setUncompressed() - Uncompresses the current Phar entry within the phar, if it is compressed
  • PharFileInfo::setCompressedGZ() - Compresses the current Phar entry within the phar using gz compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compressAllFilesBZIP2() - Compresses all files in the current Phar archive using Bzip2 compression
  • Phar::compressAllFilesGZ() - Compresses all files in the current Phar archive using Gzip compression
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::uncompressAllFiles() - Uncompresses all files in the current Phar archive

PharFileInfo::isCompressed
PharFileInfo::isCompressedGZ
PharFileInfo


Returns whether the entry is compressed using gz

PharFileInfo::isCompressedBZIP2
PharFileInfo::setCompressedBZIP2
PharFileInfo
PHP Manual

PharFileInfo::isCompressedGZ

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::isCompressedGZ — Returns whether the entry is compressed using gz

Beschreibung

public bool PharFileInfo::isCompressedGZ ( void )

Hinweis:

Diese Methode wurde beginnend mit Version 2.0.0 der phar-Extension
entfernt. Alternative Implementationen bieten PharFileInfo::isCompressed(),
PharFileInfo::decompress() und
PharFileInfo::compress().

This returns whether a file is compressed within a Phar archive with Gzip compression.

Rückgabewerte

TRUE if the file is compressed within the Phar archive using Gzip, FALSE if not.

Beispiele

Beispiel #1 A PharFileInfo::isCompressedGZ() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $p['myfile2.txt'] = 'hi';
    $p['myfile3.txt'] = 'hi';
    $p['myfile2.txt']->setCompressedGZ();
    $p['myfile3.txt']->setCompressedBZIP2();
    $file = $p['myfile.txt'];
    $file2 = $p['myfile2.txt'];
    $file3 = $p['myfile3.txt'];
    var_dump($file->isCompressedGZ());
    var_dump($file2->isCompressedGZ());
    var_dump($file3->isCompressedGZ());
} catch (Exception $e) {
    echo 'Create/modify on phar my.phar failed: ', $e;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(true)
bool(false)

Siehe auch

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressedBZIP2() - Returns whether the entry is compressed using bzip2
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::setCompressedBZIP2() - Compresses the current Phar entry within the phar using Bzip2 compression
  • PharFileInfo::setUncompressed() - Uncompresses the current Phar entry within the phar, if it is compressed
  • PharFileInfo::setCompressedGZ() - Compresses the current Phar entry within the phar using gz compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compressAllFilesBZIP2() - Compresses all files in the current Phar archive using Bzip2 compression
  • Phar::compressAllFilesGZ() - Compresses all files in the current Phar archive using Gzip compression
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::uncompressAllFiles() - Uncompresses all files in the current Phar archive

PharFileInfo::isCompressedBZIP2
PharFileInfo::setCompressedBZIP2
PharFileInfo


Compresses the current Phar entry within the phar using Bzip2 compression

PharFileInfo::isCompressedGZ
PharFileInfo::setCompressedGZ
PharFileInfo
PHP Manual

PharFileInfo::setCompressedBZIP2

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::setCompressedBZIP2 — Compresses the current Phar entry within the phar using Bzip2 compression

Beschreibung

public bool PharFileInfo::setCompressedBZIP2 ( void )

Hinweis:

Diese Methode wurde beginnend mit Version 2.0.0 der phar-Extension
entfernt. Alternative Implementationen bieten PharFileInfo::isCompressed(),
PharFileInfo::decompress() und
PharFileInfo::compress().

This method compresses the file inside the Phar archive using bzip2 compression. The bzip2 extension must be enabled to take advantage of this feature. In addition, if the file is already compressed using gzip compression, the zlib extension must be enabled in order to decompress the file. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Throws BadMethodCallException if the phar.readonly INI variable is on, or if the bzip2 extension is not available.

Beispiele

Beispiel #1 A PharFileInfo::setCompressedBZIP2() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    var_dump($file->isCompressedBZIP2());
    $p['myfile.txt']->setCompressedBZIP2();
    var_dump($file->isCompressedBZIP2());
} catch (Exception $e) {
    echo 'Create/modify operations on my.phar failed: ', $e;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(true)

Siehe auch

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressedBZIP2() - Returns whether the entry is compressed using bzip2
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::isCompressedGZ() - Returns whether the entry is compressed using gz
  • PharFileInfo::setUncompressed() - Uncompresses the current Phar entry within the phar, if it is compressed
  • PharFileInfo::setCompressedGZ() - Compresses the current Phar entry within the phar using gz compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compressAllFilesBZIP2() - Compresses all files in the current Phar archive using Bzip2 compression
  • Phar::compressAllFilesGZ() - Compresses all files in the current Phar archive using Gzip compression
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::uncompressAllFiles() - Uncompresses all files in the current Phar archive

PharFileInfo::isCompressedGZ
PharFileInfo::setCompressedGZ
PharFileInfo


Compresses the current Phar entry within the phar using gz compression

PharFileInfo::setCompressedBZIP2
PharFileInfo::setMetadata
PharFileInfo
PHP Manual

PharFileInfo::setCompressedGZ

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::setCompressedGZ — Compresses the current Phar entry within the phar using gz compression

Beschreibung

public bool PharFileInfo::setCompressedGZ ( void )

Hinweis:

Diese Methode wurde beginnend mit Version 2.0.0 der phar-Extension
entfernt. Alternative Implementationen bieten PharFileInfo::isCompressed(),
PharFileInfo::decompress() und
PharFileInfo::compress().

This method compresses the file inside the Phar archive using gzip compression. The zlib extension must be enabled to take advantage of this feature. In addition, if the file is already compressed using bzip2 compression, the bzip2 extension must be enabled in order to decompress the file. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Throws BadMethodCallException if the phar.readonly INI variable is on, or if the zlib extension is not available.

Beispiele

Beispiel #1 A PharFileInfo::setCompressedGZ() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    var_dump($file->isCompressedGZ());
    $p['myfile.txt']->setCompressedGZ();
    var_dump($file->isCompressedGZ());
} catch (Exception $e) {
    echo 'Create/modify operations on my.phar failed: ', $e;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(true)

Siehe auch

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressedBZIP2() - Returns whether the entry is compressed using bzip2
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::isCompressedGZ() - Returns whether the entry is compressed using gz
  • PharFileInfo::setCompressedBZIP2() - Compresses the current Phar entry within the phar using Bzip2 compression
  • PharFileInfo::setUncompressed() - Uncompresses the current Phar entry within the phar, if it is compressed
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compressAllFilesBZIP2() - Compresses all files in the current Phar archive using Bzip2 compression
  • Phar::compressAllFilesGZ() - Compresses all files in the current Phar archive using Gzip compression
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::uncompressAllFiles() - Uncompresses all files in the current Phar archive

PharFileInfo::setCompressedBZIP2
PharFileInfo::setMetadata
PharFileInfo


Sets file-specific meta-data saved with a file

PharFileInfo::setCompressedGZ
PharFileInfo::setUncompressed
PharFileInfo
PHP Manual

PharFileInfo::setMetadata

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::setMetadata — Sets file-specific meta-data saved with a file

Beschreibung

public void PharFileInfo::setMetadata ( mixed $metadata )

PharFileInfo::setMetadata() should only be used to store customized data in a file that cannot be represented with existing information stored with a file. Meta-data can significantly slow down the performance of loading a phar archive if the data is large, or if there are many files containing meta-data. It is important to note that file permissions are natively supported inside a phar; it is possible to set them with the PharFileInfo::chmod() method. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed if the file is within a Phar archive. Files within PharData archives do not have this restriction.

Some possible uses for meta-data include passing a user/group that should be set when a file is extracted from the phar to disk. Other uses could include explicitly specifying a MIME type to return. However, any useful data that describes a file, but should not be contained inside of it may be stored.

Parameter-Liste

metadata

Any PHP variable containing information to store alongside a file

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 A PharFileInfo::setMetadata() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
    $p['file.txt'] = 'hello';
    $p['file.txt']->setMetadata(array('user' => 'bill', 'mime-type' => 'text/plain'));
    var_dump($p['file.txt']->getMetaData());
} catch (Exception $e) {
    echo 'Could not create/modify phar: ', $e;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  ["user"]=>
  string(4) "bill"
  ["mime-type"]=>
  string(10) "text/plain"
}

Siehe auch

  • PharFileInfo::hasMetadata() - Returns the metadata of the entry
  • PharFileInfo::getMetadata() - Returns file-specific meta-data saved with a file
  • PharFileInfo::delMetadata() - Deletes the metadata of the entry
  • Phar::setMetadata() - Sets phar archive meta-data
  • Phar::hasMetadata() - Returns whether phar has global meta-data
  • Phar::getMetadata() - Returns phar archive meta-data

PharFileInfo::setCompressedGZ
PharFileInfo::setUncompressed
PharFileInfo


Uncompresses the current Phar entry within the phar, if it is compressed

PharFileInfo::setMetadata
PharException
PharFileInfo
PHP Manual

PharFileInfo::setUncompressed

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::setUncompressed — Uncompresses the current Phar entry within the phar, if it is compressed

Beschreibung

public bool PharFileInfo::setUncompressed ( void )

Hinweis:

Diese Methode wurde beginnend mit Version 2.0.0 der phar-Extension
entfernt. Alternative Implementationen bieten PharFileInfo::isCompressed(),
PharFileInfo::decompress() und
PharFileInfo::compress().

This method decompresses the file inside the Phar archive. Depending on how the file is compressed, the bzip2 or zlib extensions must be enabled to take advantage of this feature. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Throws BadMethodCallException if the phar.readonly INI variable is on, or if the bzip2/zlib extension is not available.

Beispiele

Beispiel #1 A PharFileInfo::setUncompressed() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    $file->setCompressedGZ();
    var_dump($file->isCompressed());
    $p['myfile.txt']->setUncompressed();
    var_dump($file->isCompressed());
} catch (Exception $e) {
    echo 'Create/modify failed for my.phar: ', $e;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(false)

Siehe auch

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressedBZIP2() - Returns whether the entry is compressed using bzip2
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::isCompressedGZ() - Returns whether the entry is compressed using gz
  • PharFileInfo::setCompressedBZIP2() - Compresses the current Phar entry within the phar using Bzip2 compression
  • PharFileInfo::setCompressedGZ() - Compresses the current Phar entry within the phar using gz compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compressAllFilesBZIP2() - Compresses all files in the current Phar archive using Bzip2 compression
  • Phar::compressAllFilesGZ() - Compresses all files in the current Phar archive using Gzip compression
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::uncompressAllFiles() - Uncompresses all files in the current Phar archive

PharFileInfo::setMetadata
PharException
PharFileInfo


The PharException class

(Unknown)

Einführung

The PharException class provides a phar-specific exception class for try/catch blocks.

Klassenbeschreibung

PharException extends Exception {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Inhaltsverzeichnis

  • PharException — The PharException class provides a phar-specific exception class for try/catch blocks.
PharFileInfo::setUncompressed
PharException
Phar


The PharException class provides a phar-specific exception class for try/catch blocks.

PharException
Rar
PharException
PHP Manual

PharException

(Unknown)

PharException — The PharException class provides a phar-specific exception class for try/catch blocks.

Beschreibung

PharException
Rar
PharException
PHP Manual


Rar Archiving

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
  • RAR Funktionen
    • rar_wrapper_cache_stats — Cache hits and misses for the URL wrapper
  • RarArchive — The RarArchive class
    • RarArchive::close — Close RAR archive and free all resources
    • RarArchive::getComment — Get comment text from the RAR archive
    • RarArchive::getEntries — Get full list of entries from the RAR archive
    • RarArchive::getEntry — Get entry object from the RAR archive
    • RarArchive::isBroken — Test whether an archive is broken (incomplete)
    • RarArchive::isSolid — Check whether the RAR archive is solid
    • RarArchive::open — Open RAR archive
    • RarArchive::setAllowBroken — Whether opening broken archives is allowed
    • RarArchive::__toString — Get text representation
  • RarEntry — The RarEntry class
    • RarEntry::extract — Extract entry from the archive
    • RarEntry::getAttr — Get attributes of the entry
    • RarEntry::getCrc — Get CRC of the entry
    • RarEntry::getFileTime — Get entry last modification time
    • RarEntry::getHostOs — Get entry host OS
    • RarEntry::getMethod — Get pack method of the entry
    • RarEntry::getName — Get name of the entry
    • RarEntry::getPackedSize — Get packed size of the entry
    • RarEntry::getStream — Get file handler for entry
    • RarEntry::getUnpackedSize — Get unpacked size of the entry
    • RarEntry::getVersion — Get minimum version of RAR program required to unpack the entry
    • RarEntry::isDirectory — Test whether an entry represents a directory
    • RarEntry::isEncrypted — Test whether an entry is encrypted
    • RarEntry::__toString — Get text representation of entry
  • RarException — The RarException class
    • RarException::isUsingExceptions — Check whether error handling with exceptions is in use
    • RarException::setUsingExceptions — Activate and deactivate error handling with exceptions
PharException
Einführung
Erweiterungen zur Datenkompression und Archivierung


Einführung

RAR ist ein von Eugene Roshal erstellter machtvoller und effektiver Archiver. Diese Erweiterung erlaubt es, RAR-Archive auszulesen, aber nicht, diese zu erstellen, da dies von der UnRAR-Bibliothek nicht unterstützt und auch durch dessen Lizenz direkt verboten ist.

Mehr Information über RAR und UnRAR kann unter » http://www.rarlabs.com/ gefunden werden.

Rar
Installation/Konfiguration
Rar


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Rar


Installation

RAR ist aktuell verfügbar durch PECL » http://pecl.php.net/package/rar.

Sie können den PECL-Installer benutzen, um die RAR-Erweiterung zu installieren, mit diesem Befehl: pecl -v install rar.

Sie können immer das tar.gz Paket herunterladen und RAR manuell installieren.:

Beispiel #1 Rar Installation

gunzip rar-xxx.tgz
tar -xvf rar-xxx.tar
cd rar-xxx
phpize
./configure && make && make install

Windows Benutzer müssen php_rar.dll in der php.ini aktivieren, um diese Funktionen verwenden zu können. Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Ressource-Typen

Diese Erweiterung registriert drei interne Klassen: Die von rar_open() zurückgegebenen Archiv-Darstellungen - RarArchive -,die von rar_list() und rar_entry_get() zurückgegebenen Eintragsdarstellungen - RarEntry und der Ausnahmetyp RarException.

Diese Erweiterung registriert auch eine Stream Ressource, "rar" genannt und einen URL Wrapper, "rar wrapper" genannt, registriert unter dem Präfix "rar".

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

RAR_HOST_MSDOS (integer)
Use RarEntry::HOST_MSDOS instead.
RAR_HOST_OS2 (integer)
Use RarEntry::HOST_OS2 instead.
RAR_HOST_WIN32 (integer)
Use RarEntry::HOST_WIN32 instead.
RAR_HOST_UNIX (integer)
Use RarEntry::HOST_UNIX instead.
RAR_HOST_BEOS (integer)
Use RarEntry::HOST_BEOS instead.
Ressource-Typen
Beispiele
Rar


Beispiele

See also the examples under rar:// wrapper.

Beispiel #1 On-the-fly decompression

<?php

if (!array_key_exists("i", $_GET) || !is_numeric($_GET["i"]))
    die("Index unspecified or non-numeric");
$index = (int) $_GET["i"];

$arch = RarArchive::open("example.rar");
if ($arch === FALSE)
    die("Cannot open example.rar");

$entries = $arch->getEntries();
if ($entries === FALSE)
    die("Cannot retrieve entries");

if (!array_key_exists($index, $entries))
    die("No such index: $index");

$orfilename = $entries[$index]->getName(); //UTF-8 encoded

$filesize = $entries[$index]->getUnpackedSize();

/* you could check HTTP_IF_MODIFIED_SINCE here and compare with
 * $entries[$index]->getFileTime(). You could also send a
 * "Last modified" header */

$fp = $entries[$index]->getStream();
if ($fp === FALSE)
    die("Cannot open file with index $index insided the archive.");

$arch->close(); //no longer needed; stream is independent

function detectUserAgent() {
    if (!array_key_exists('HTTP_USER_AGENT', $_SERVER))
        return "Other";

    $uas = $_SERVER['HTTP_USER_AGENT'];
    if (preg_match("@Opera/@", $uas))
        return "Opera";
    if (preg_match("@Firefox/@", $uas))
        return "Firefox";
    if (preg_match("@Chrome/@", $uas))
        return "Chrome";
    if (preg_match("@MSIE ([0-9.]+);@", $uas, $matches)) {
        if (((float)$matches[1]) >= 7.0)
            return "IE";
    }

    return "Other";
}

/*
 * We have 3 options:
 * - For FF and Opera, which support RFC 2231, use that format.
 * - For IE and Chrome, use attwithfnrawpctenclong
 *   (http://greenbytes.de/tech/tc2231/#attwithfnrawpctenclong)
 * - For the others, convert to ISO-8859-1, if possible
 */
$formatRFC2231 = 'Content-Disposition: attachment; filename*=UTF-8\'\'%s';
$formatDef = 'Content-Disposition: attachment; filename="%s"';

switch (detectUserAgent()) {
    case "Opera":
    case "Firefox":
        $orfilename = rawurlencode($orfilename);
        $format = $formatRFC2231;
        break;

    case "IE":
    case "Chrome":
        $orfilename = rawurlencode($orfilename);
        $format = $formatDef;
        break;
    default:
        if (function_exists('iconv'))
            $orfilename =
                @iconv("UTF-8", "ISO-8859-1//TRANSLIT", $orfilename);
        $format = $formatDef;
}

header(sprintf($format, $orfilename));
//cannot send error messages from now on (headers already sent)

//replace by real content type, perhaps infering from the file extension
$contentType = "application/octet-stream";
header("Content-Type: $contentType");

header("Content-Transfer-Encoding: binary");

header("Content-Length: $filesize");

if ($_SERVER['REQUEST_METHOD'] == "HEAD")
    die();

while (!feof($fp)) {
    $s = @fread($fp, 8192);
    if ($s === false)
        break; //useless to send error messages

    echo $s;
}
?>

This example opens a RAR file and presents the requested file inside the RAR archive for download to the client.

Beispiel #2 RAR extension filesystem extraction example

<?php

$rar_file = rar_open('example.rar') or die("Can't open Rar archive");

$entries = rar_list($rar_file);

foreach ($entries as $entry) {
    echo 'Filename: ' . $entry->getName() . "\n";
    echo 'Packed size: ' . $entry->getPackedSize() . "\n";
    echo 'Unpacked size: ' . $entry->getUnpackedSize() . "\n";

    $entry->extract('/dir/extract/to/');
}

rar_close($rar_file);

?>

This example opens a RAR file archive and extracts each entry to the specified directory.

Vordefinierte Konstanten
RAR Funktionen
Rar


RAR Funktionen

Inhaltsverzeichnis

  • rar_wrapper_cache_stats — Cache hits and misses for the URL wrapper
Beispiele
rar_wrapper_cache_stats
Rar


Cache hits and misses for the URL wrapper

RAR Funktionen
RarArchive
RAR Funktionen
PHP Manual

rar_wrapper_cache_stats

(PECL rar >= 3.0.0)

rar_wrapper_cache_stats — Cache hits and misses for the URL wrapper

Beschreibung

string rar_wrapper_cache_stats ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

RAR Funktionen
RarArchive
RAR Funktionen


The RarArchive class

(PECL rar >= 2.0.0)

Einführung

This class represents a RAR archive, which may be formed by several volumes (parts) and which contains a number of RAR entries (i.e., files, directories and other special objects such as symbolic links).

Objects of this class can be traversed, yielding the entries stored in the respective RAR archive. Those entries can also be obtained through RarArchive::getEntry() and RarArchive::getEntries().

Klassenbeschreibung

final RarArchive implements Traversable {
/* Methoden */
public bool close ( void )
public string getComment ( void )
public array getEntries ( void )
public RarEntry getEntry ( string $entryname )
public bool isBroken ( void )
public bool isSolid ( void )
public static RarArchive open ( string $filename [, string $password = NULL [, callable $volume_callback = NULL ]] )
public bool setAllowBroken ( bool $allow_broken )
public string __toString ( void )
}

Inhaltsverzeichnis

  • RarArchive::close — Close RAR archive and free all resources
  • RarArchive::getComment — Get comment text from the RAR archive
  • RarArchive::getEntries — Get full list of entries from the RAR archive
  • RarArchive::getEntry — Get entry object from the RAR archive
  • RarArchive::isBroken — Test whether an archive is broken (incomplete)
  • RarArchive::isSolid — Check whether the RAR archive is solid
  • RarArchive::open — Open RAR archive
  • RarArchive::setAllowBroken — Whether opening broken archives is allowed
  • RarArchive::__toString — Get text representation
rar_wrapper_cache_stats
RarArchive::close
Rar


Close RAR archive and free all resources

RarArchive
RarArchive::getComment
RarArchive
PHP Manual

RarArchive::close

rar_close

(PECL rar >= 2.0.0)

RarArchive::close -- rar_close — Close RAR archive and free all resources

Beschreibung

Objektorientierter Stil (method):

public bool RarArchive::close ( void )

Prozeduraler Stil:

bool rar_close ( RarArchive $rarfile )

Close RAR archive and free all allocated resources.

Parameter-Liste

rarfile

A RarArchive object, opened with rar_open().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
2.0.0 | The RAR entries returned by RarArchive::getEntry() and RarArchive::getEntries() are now invalidated when calling this method. This means that all instance methods called for such entries and not guaranteed to succeed.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$rar_arch = RarArchive::open('latest_winrar.rar');
echo $rar_arch."\n";
$rar_arch->close();
echo $rar_arch."\n";
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

RAR Archive "D:\php_rar\trunk\tests\latest_winrar.rar"
RAR Archive "D:\php_rar\trunk\tests\latest_winrar.rar" (closed)

Beispiel #2 Prozeduraler Stil

<?php
$rar_arch = rar_open('latest_winrar.rar');
echo $rar_arch."\n";
rar_close($rar_arch);
echo $rar_arch."\n";
?>

RarArchive
RarArchive::getComment
RarArchive


Get comment text from the RAR archive

RarArchive::close
RarArchive::getEntries
RarArchive
PHP Manual

RarArchive::getComment

rar_comment_get

(PECL rar >= 2.0.0)

RarArchive::getComment -- rar_comment_get — Get comment text from the RAR archive

Beschreibung

Objektorientierter Stil (method):

public string RarArchive::getComment ( void )

Prozeduraler Stil:

string rar_comment_get ( RarArchive $rarfile )

Get the (global) comment stored in the RAR archive. It may be up to 64 KiB long.

Hinweis:

This extension does not support comments at the entry level.

Parameter-Liste

rarfile

A RarArchive object, opened with rar_open().

Rückgabewerte

Returns the comment or NULL if there is none.

Hinweis:

RAR has currently no support for unicode comments. The encoding of the result of this function is not specified, but it will probably be Windows-1252.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$rar_arch = RarArchive::open('commented.rar');
echo $rar_arch->getComment();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

This is the comment of the file commented.rar.

Beispiel #2 Prozeduraler Stil

<?php
$rar_arch = rar_open('commented.rar');
echo rar_comment_get($rar_arch);
?>

RarArchive::close
RarArchive::getEntries
RarArchive


Get full list of entries from the RAR archive

RarArchive::getComment
RarArchive::getEntry
RarArchive
PHP Manual

RarArchive::getEntries

rar_list

(PECL rar >= 2.0.0)

RarArchive::getEntries -- rar_list — Get full list of entries from the RAR archive

Beschreibung

Objektorientierter Stil (method):

public array RarArchive::getEntries ( void )

Prozeduraler Stil:

array rar_list ( RarArchive $rarfile )

Get entries list (files and directories) from the RAR archive.

Hinweis:

If the archive has entries with the same name, this method, together with RarArchive foreach iteration and array-like access with numeric indexes, are the only ones to access all the entries (i.e., RarArchive::getEntry() and the rar:// wrapper are insufficient).

Parameter-Liste

rarfile

A RarArchive object, opened with rar_open().

Rückgabewerte

rar_list() returns array of RarEntry objects Im Fehlerfall wird FALSE zurückgegeben..

Changelog

Version | Beschreibung
3.0.0 | Support for RAR archives with repeated entry names is no longer defective.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$rar_arch = RarArchive::open('solid.rar');
if ($rar_arch === FALSE)
    die("Could not open RAR archive.");

$rar_entries = $rar_arch->getEntries();
if ($rar_entries === FALSE)
    die("Could not retrieve entries.");

echo "Found " . count($rar_entries) . " entries.\n";

foreach ($rar_entries as $e) {
    echo $e;
    echo "\n";
}
$rar_arch->close();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Found 2 entries.
RarEntry for file "tese.txt" (23b93a7a)
RarEntry for file "unrardll.txt" (2ed64b6e)

Beispiel #2 Prozeduraler Stil

<?php
$rar_arch = rar_open('solid.rar');
if ($rar_arch === FALSE)
    die("Could not open RAR archive.");

$rar_entries = rar_list($rar_arch);
if ($rar_entries === FALSE)
    die("Could retrieve entries.");

echo "Found " . count($rar_entries) . " entries.\n";

foreach ($rar_entries as $e) {
    echo $e;
    echo "\n";
}
rar_close($rar_arch);
?>

Siehe auch

  • RarArchive::getEntry() - Get entry object from the RAR archive
  • rar:// wrapper

RarArchive::getComment
RarArchive::getEntry
RarArchive


Get entry object from the RAR archive

RarArchive::getEntries
RarArchive::isBroken
RarArchive
PHP Manual

RarArchive::getEntry

rar_entry_get

(PECL rar >= 2.0.0)

RarArchive::getEntry -- rar_entry_get — Get entry object from the RAR archive

Beschreibung

Objektorientierter Stil (method):

public RarEntry RarArchive::getEntry ( string $entryname )

Prozeduraler Stil:

RarEntry rar_entry_get ( RarArchive $rarfile , string $entryname )

Get entry object (file or directory) from the RAR archive.

Hinweis:

You can also get entry objects using RarArchive::getEntries().

Note that a RAR archive can have multiple entries with the same name; this method will retrieve only the first.

Parameter-Liste

rarfile

A RarArchive object, opened with rar_open().

entryname

Path to the entry within the RAR archive.

Hinweis:

The path must be the same returned by RarEntry::getName().

Rückgabewerte

Returns the matching RarEntry object Im Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$rar_arch = RarArchive::open('solid.rar');
if ($rar_arch === FALSE)
    die("Could not open RAR archive.");
$rar_entry = $rar_arch->getEntry('tese.txt');
if ($rar_entry === FALSE)
    die("Could not get such entry");
echo get_class($rar_entry)."\n";
echo $rar_entry;
$rar_arch->close();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

RarEntry
RarEntry for file "tese.txt" (23b93a7a)

Beispiel #2 Prozeduraler Stil

<?php
$rar_arch = rar_open('solid.rar');
if ($rar_arch === FALSE)
    die("Could not open RAR archive.");
$rar_entry = rar_entry_get($rar_arch, 'tese.txt');
if ($rar_entry === FALSE)
    die("Could not get such entry");
echo get_class($rar_entry)."\n";
echo $rar_entry;
rar_close($rar_arch);
?>

Siehe auch

  • RarArchive::getEntries() - Get full list of entries from the RAR archive
  • rar:// wrapper

RarArchive::getEntries
RarArchive::isBroken
RarArchive


Test whether an archive is broken (incomplete)

RarArchive::getEntry
RarArchive::isSolid
RarArchive
PHP Manual

RarArchive::isBroken

rar_broken_is

(PECL rar >= 3.0.0)

RarArchive::isBroken -- rar_broken_is — Test whether an archive is broken (incomplete)

Beschreibung

Objektorientierter Stil (method):

public bool RarArchive::isBroken ( void )

Prozeduraler Stil:

bool rar_broken_is ( RarArchive $rarfile )

This function determines whether an archive is incomplete, i.e., if a volume is missing or a volume is truncated.

Parameter-Liste

rarfile

A RarArchive object, opened with rar_open().

Rückgabewerte

Returns TRUE if the archive is broken, FALSE otherwise. This function may also return FALSE if the passed file has already been closed. The only way to tell the two cases apart is to enable exceptions with RarException::setUsingExceptions(); however, this should be unnecessary as a program should not operate on closed files.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
function retnull() { return null; }
$file = dirname(__FILE__) . "/multi_broken.part1.rar";
/* Third argument is used to omit notice */
$arch = RarArchive::open($file, null, 'retnull');
var_dump($arch->isBroken());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(true)

Beispiel #2 Prozeduraler Stil

<?php
function retnull() { return null; }
$file = dirname(__FILE__) . "/multi_broken.part1.rar";
/* Third argument is used to omit notice */
$arch = rar_open($file, null, 'retnull');
var_dump(rar_broken_is($arch));
?>

Siehe auch

  • RarArchive::setAllowBroken() - Whether opening broken archives is allowed

RarArchive::getEntry
RarArchive::isSolid
RarArchive


Check whether the RAR archive is solid

RarArchive::isBroken
RarArchive::open
RarArchive
PHP Manual

RarArchive::isSolid

rar_solid_is

(PECL rar >= 2.0.0)

RarArchive::isSolid -- rar_solid_is — Check whether the RAR archive is solid

Beschreibung

Objektorientierter Stil (method):

public bool RarArchive::isSolid ( void )

Prozeduraler Stil:

bool rar_solid_is ( RarArchive $rarfile )

Check whether the RAR archive is solid. Individual file extraction is slower on solid archives.

Parameter-Liste

rarfile

A RarArchive object, opened with rar_open().

Rückgabewerte

Returns TRUE if the archive is solid, FALSE otherwise.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$arch1 = RarArchive::open("store_method.rar");
$arch2 = RarArchive::open("solid.rar");
echo "$arch1: " . ($arch1->isSolid()?'yes':'no') ."\n";
echo "$arch2: " . ($arch2->isSolid()?'yes':'no') . "\n";
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

RAR Archive "C:\php_rar\trunk\tests\store_method.rar": no
RAR Archive "C:\php_rar\trunk\tests\solid.rar": yes

Beispiel #2 Prozeduraler Stil

<?php
$arch1 = rar_open("store_method.rar");
$arch2 = rar_open("solid.rar");
echo "$arch1: " . (rar_solid_is($arch1)?'yes':'no') ."\n";
echo "$arch2: " . (rar_solid_is($arch2)?'yes':'no') . "\n";
?>

RarArchive::isBroken
RarArchive::open
RarArchive


Open RAR archive

RarArchive::isSolid
RarArchive::setAllowBroken
RarArchive
PHP Manual

RarArchive::open

rar_open

(PECL rar >= 2.0.0)

RarArchive::open -- rar_open — Open RAR archive

Beschreibung

Objektorientierter Stil (method):

public static RarArchive RarArchive::open ( string $filename [, string $password = NULL [, callable $volume_callback = NULL ]] )

Prozeduraler Stil:

RarArchive rar_open ( string $filename [, string $password = NULL [, callable $volume_callback = NULL ]] )

Open specified RAR archive and return RarArchive instance representing it.

Hinweis:

If opening a multi-volume archive, the path of the first volume should be passed as the first parameter. Otherwise, not all files will be shown. This is by design.

Parameter-Liste

filename

Path to the Rar archive.

password

A plain password, if needed to decrypt the headers. It will also be used by default if encrypted files are found. Note that the files may have different passwords in respect to the headers and among them.

volume_callback

A function that receives one parameter – the path of the volume that was not found – and returns a string with the correct path for such volume or NULL if such volume does not exist or is not known. The programmer should ensure the passed function doesn't cause loops as this function is called repeatedly if the path returned in a previous call did not correspond to the needed volume. Specifying this parameter omits the notice that would otherwise be emitted whenever a volume is not found; an implementation that only returns NULL can therefore be used to merely omit such notices.

Warnung

Prior to version 2.0.0, this function would not handle relative paths correctly. Use realpath() as a workaround.

Rückgabewerte

Returns the requested RarArchive instance Im Fehlerfall wird FALSE zurückgegeben..

Changelog

Version | Beschreibung
3.0.0 | volume_callback was added.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$rar_arch = RarArchive::open('encrypted_headers.rar', 'samplepassword');
if ($rar_arch === FALSE)
    die("Failed opening file");

$entries = $rar_arch->getEntries();
if ($entries === FALSE)
    die("Failed fetching entries");

echo "Found " . count($entries) . " files.\n";

if (empty($entries))
    die("No valid entries found.");

$stream = reset($entries)->getStream();
if ($stream === FALSE)
    die("Failed opening first file");

$rar_arch->close();

echo "Content of first one follows:\n";
echo stream_get_contents($stream);

fclose($stream);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Found 2 files.
Content of first one follows:
Encrypted file 1 contents.

Beispiel #2 Prozeduraler Stil

<?php
$rar_arch = rar_open('encrypted_headers.rar', 'samplepassword');
if ($rar_arch === FALSE)
    die("Failed opening file");

$entries = rar_list($rar_arch);
if ($entries === FALSE)
    die("Failed fetching entries");

echo "Found " . count($entries) . " files.\n";

if (empty($entries))
    die("No valid entries found.");

$stream = reset($entries)->getStream();
if ($stream === FALSE)
    die("Failed opening first file");

rar_close($rar_arch);

echo "Content of first one follows:\n";
echo stream_get_contents($stream);

fclose($stream);
?>

Beispiel #3 Volume Callback

<?php
/* In this example, there's a volume named multi_broken.part1.rar
 * whose next volume is named multi.part2.rar */
function resolve($vol) {
    if (preg_match('/_broken/', $vol))
        return str_replace('_broken', '', $vol);
    else
        return null;
}
$rar_file1 = rar_open(dirname(__FILE__).'/multi_broken.part1.rar', null, 'resolve');
$entry = $rar_file1->getEntry('file2.txt');
$entry->extract(null, dirname(__FILE__) . "/temp_file2.txt");
?>

Siehe auch

  • rar:// wrapper

RarArchive::isSolid
RarArchive::setAllowBroken
RarArchive


Whether opening broken archives is allowed

RarArchive::open
RarArchive::__toString
RarArchive
PHP Manual

RarArchive::setAllowBroken

(PECL rar >= 3.0.0)

RarArchive::setAllowBroken — Whether opening broken archives is allowed

Beschreibung

Objektorientierter Stil (method):

public bool RarArchive::setAllowBroken ( bool $allow_broken )

Prozeduraler Stil:

bool rar_allow_broken_set ( RarArchive $rarfile , bool $allow_broken )

This method defines whether broken archives can be read or all the operations that attempt to extract the archive entries will fail. Broken archives are archives for which no error is detected when the file is opened but an error occurs when reading the entries.

Parameter-Liste

rarfile

A RarArchive object, opened with rar_open().

allow_broken

Whether to allow reading broken files (TRUE) or not (FALSE).

Rückgabewerte

Returns TRUE Im Fehlerfall wird FALSE zurückgegeben.. It will only fail if the file has already been closed.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
function retnull() { return null; }
$file = dirname(__FILE__) . "/multi_broken.part1.rar";
/* Third argument omits "volume not found" message */
$a = RarArchive::open($file, null, 'retnull');
$a->setAllowBroken(true);
foreach ($a->getEntries() as $e) {
    echo "$e\n";
}
var_dump(count($a));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

RarEntry for file "file1.txt" (52b28202)
int(1)

Beispiel #2 Prozeduraler Stil

<?php
function retnull() { return null; }
$file = dirname(__FILE__) . "/multi_broken.part1.rar";
/* Third argument omits "volume not found" message */
$a = rar_open($file, null, 'retnull');
rar_allow_broken_set($a, true);
foreach (rar_list($a) as $e) {
    echo "$e\n";
}
var_dump(count($a));
?>

Siehe auch

  • RarArchive::isBroken() - Test whether an archive is broken (incomplete)

RarArchive::open
RarArchive::__toString
RarArchive


Get text representation

RarArchive::setAllowBroken
RarEntry
RarArchive
PHP Manual

RarArchive::__toString

(PECL rar >= 2.0.0)

RarArchive::__toString — Get text representation

Beschreibung

public string RarArchive::__toString ( void )

Provides a string representation for this RarArchive object. It currently shows the full path name of the archive volume that was opened and whether the resource is valid or was already closed through a call to RarArchive::close().

This method may be used only for debugging purposes, as there are no guarantees as to which information the result contains or how it is formatted.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A textual representation of this RarArchive object. The content of this representation is unspecified.

Beispiele

Beispiel #1 RarArchive::__toString() example

<?php
$rar_arch = RarArchive::open('latest_winrar.rar');
echo $rar_arch."\n";
$rar_arch->close();
echo $rar_arch."\n";
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

RAR Archive "D:\php_rar\trunk\tests\latest_winrar.rar"
RAR Archive "D:\php_rar\trunk\tests\latest_winrar.rar" (closed)

RarArchive::setAllowBroken
RarEntry
RarArchive


The RarEntry class

(PECL rar >= 0.1)

Einführung

A RAR entry, representing a directory or a compressed file inside a RAR archive.

Klassenbeschreibung

final RarEntry {
/* Konstanten */
const integer HOST_MSDOS = 0 ;
const integer HOST_OS2 = 1 ;
const integer HOST_WIN32 = 2 ;
const integer HOST_UNIX = 3 ;
const integer HOST_MACOS = 4 ;
const integer HOST_BEOS = 5 ;
const integer ATTRIBUTE_WIN_READONLY = 1 ;
const integer ATTRIBUTE_WIN_HIDDEN = 2 ;
const integer ATTRIBUTE_WIN_SYSTEM = 4 ;
const integer ATTRIBUTE_WIN_DIRECTORY = 16 ;
const integer ATTRIBUTE_WIN_ARCHIVE = 32 ;
const integer ATTRIBUTE_WIN_DEVICE = 64 ;
const integer ATTRIBUTE_WIN_NORMAL = 128 ;
const integer ATTRIBUTE_WIN_TEMPORARY = 256 ;
const integer ATTRIBUTE_WIN_SPARSE_FILE = 512 ;
const integer ATTRIBUTE_WIN_REPARSE_POINT = 1024 ;
const integer ATTRIBUTE_WIN_COMPRESSED = 2048 ;
const integer ATTRIBUTE_WIN_OFFLINE = 4096 ;
const integer ATTRIBUTE_WIN_NOT_CONTENT_INDEXED = 8192 ;
const integer ATTRIBUTE_WIN_ENCRYPTED = 16384 ;
const integer ATTRIBUTE_WIN_VIRTUAL = 65536 ;
const integer ATTRIBUTE_UNIX_WORLD_EXECUTE = 1 ;
const integer ATTRIBUTE_UNIX_WORLD_WRITE = 2 ;
const integer ATTRIBUTE_UNIX_WORLD_READ = 4 ;
const integer ATTRIBUTE_UNIX_GROUP_EXECUTE = 8 ;
const integer ATTRIBUTE_UNIX_GROUP_WRITE = 16 ;
const integer ATTRIBUTE_UNIX_GROUP_READ = 32 ;
const integer ATTRIBUTE_UNIX_OWNER_EXECUTE = 64 ;
const integer ATTRIBUTE_UNIX_OWNER_WRITE = 128 ;
const integer ATTRIBUTE_UNIX_OWNER_READ = 256 ;
const integer ATTRIBUTE_UNIX_STICKY = 512 ;
const integer ATTRIBUTE_UNIX_SETGID = 1024 ;
const integer ATTRIBUTE_UNIX_SETUID = 2048 ;
const integer ATTRIBUTE_UNIX_FINAL_QUARTET = 61440 ;
const integer ATTRIBUTE_UNIX_FIFO = 4096 ;
const integer ATTRIBUTE_UNIX_CHAR_DEV = 8192 ;
const integer ATTRIBUTE_UNIX_DIRECTORY = 16384 ;
const integer ATTRIBUTE_UNIX_BLOCK_DEV = 24576 ;
const integer ATTRIBUTE_UNIX_REGULAR_FILE = 32768 ;
const integer ATTRIBUTE_UNIX_SYM_LINK = 40960 ;
const integer ATTRIBUTE_UNIX_SOCKET = 49152 ;
/* Methoden */
public bool extract ( string $dir [, string $filepath = "" [, string $password = NULL [, bool $extended_data = false ]]] )
public int getAttr ( void )
public string getCrc ( void )
public string getFileTime ( void )
public int getHostOs ( void )
public int getMethod ( void )
public string getName ( void )
public int getPackedSize ( void )
public resource getStream ([ string $password ] )
public int getUnpackedSize ( void )
public int getVersion ( void )
public bool isDirectory ( void )
public bool isEncrypted ( void )
public string __toString ( void )
}

Vordefinierte Konstanten

RarEntry::HOST_MSDOS

If the return value of RarEntry::getHostOs() equals this constant, MS-DOS was used to add this entry. Use instead of RAR_HOST_MSDOS.

RarEntry::HOST_OS2

If the return value of RarEntry::getHostOs() equals this constant, OS/2 was used to add this entry. Intended to replace RAR_HOST_OS2.

RarEntry::HOST_WIN32

If the return value of RarEntry::getHostOs() equals this constant, Microsoft Windows was used to add this entry. Intended to replace RAR_HOST_WIN32.

RarEntry::HOST_UNIX

If the return value of RarEntry::getHostOs() equals this constant, an unspecified UNIX OS was used to add this entry. Intended to replace RAR_HOST_UNIX.

RarEntry::HOST_MACOS

If the return value of RarEntry::getHostOs() equals this constant, Mac OS was used to add this entry.

RarEntry::HOST_BEOS

If the return value of RarEntry::getHostOs() equals this constant, BeOS was used to add this entry. Intended to replace RAR_HOST_BEOS.

RarEntry::ATTRIBUTE_WIN_READONLY

Bit that represents a Windows entry with a read-only attribute. To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_HIDDEN

Bit that represents a Windows entry with a hidden attribute. To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_SYSTEM

Bit that represents a Windows entry with a system attribute. To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_DIRECTORY

Bit that represents a Windows entry with a directory attribute (entry is a directory). To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows. See also RarEntry::isDirectory(), which also works with entries that were not added in WinRAR.

RarEntry::ATTRIBUTE_WIN_ARCHIVE

Bit that represents a Windows entry with an archive attribute. To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_DEVICE

Bit that represents a Windows entry with a device attribute. To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_NORMAL

Bit that represents a Windows entry with a normal file attribute (entry is NOT a directory). To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows. See also RarEntry::isDirectory(), which also works with entries that were not added in WinRAR.

RarEntry::ATTRIBUTE_WIN_TEMPORARY

Bit that represents a Windows entry with a temporary attribute. To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_SPARSE_FILE

Bit that represents a Windows entry with a sparse file attribute (file is an NTFS sparse file). To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_REPARSE_POINT

Bit that represents a Windows entry with a reparse point attribute (entry is an NTFS reparse point, e.g. a directory junction or a mount file system). To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_COMPRESSED

Bit that represents a Windows entry with a compressed attribute (NTFS only). To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_OFFLINE

Bit that represents a Windows entry with an offline attribute (entry is offline and not accessible). To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_NOT_CONTENT_INDEXED

Bit that represents a Windows entry with a not content indexed attribute (entry is to be indexed). To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_ENCRYPTED

Bit that represents a Windows entry with an encrypted attribute (NTFS only). To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_VIRTUAL

Bit that represents a Windows entry with a virtual attribute. To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_UNIX_WORLD_EXECUTE

Bit that represents a UNIX entry that is world executable. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_WORLD_WRITE

Bit that represents a UNIX entry that is world writable. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_WORLD_READ

Bit that represents a UNIX entry that is world readable. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_GROUP_EXECUTE

Bit that represents a UNIX entry that is group executable. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_GROUP_WRITE

Bit that represents a UNIX entry that is group writable. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_GROUP_READ

Bit that represents a UNIX entry that is group readable. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_OWNER_EXECUTE

Bit that represents a UNIX entry that is owner executable. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_OWNER_WRITE

Bit that represents a UNIX entry that is owner writable. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_OWNER_READ

Bit that represents a UNIX entry that is owner readable. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_STICKY

Bit that represents the UNIX sticky bit. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_SETGID

Bit that represents the UNIX setgid attribute. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_SETUID

Bit that represents the UNIX setuid attribute. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET

Mask to isolate the last four bits (nibble) of UNIX attributes
      (_S_IFMT, the type of file mask). To be used with
      RarEntry::getAttr() on entries whose host OS is UNIX and with the
      constants RarEntry::ATTRIBUTE_UNIX_FIFO,
      RarEntry::ATTRIBUTE_UNIX_CHAR_DEV,
      RarEntry::ATTRIBUTE_UNIX_DIRECTORY,
      RarEntry::ATTRIBUTE_UNIX_BLOCK_DEV,
      RarEntry::ATTRIBUTE_UNIX_REGULAR_FILE,
      RarEntry::ATTRIBUTE_UNIX_SYM_LINK and
      RarEntry::ATTRIBUTE_UNIX_SOCKET.

RarEntry::ATTRIBUTE_UNIX_FIFO

Unix FIFOs will have attributes whose last four bits have this value. To be used with RarEntry::getAttr() on entries whose host OS is UNIX and with the constant RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET.

RarEntry::ATTRIBUTE_UNIX_CHAR_DEV

Unix character devices will have attributes whose last four bits have this value. To be used with RarEntry::getAttr() on entries whose host OS is UNIX and with the constant RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET.

RarEntry::ATTRIBUTE_UNIX_DIRECTORY

Unix directories will have attributes whose last four bits have this value. To be used with RarEntry::getAttr() on entries whose host OS is UNIX and with the constant RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET. See also RarEntry::isDirectory(), which also works with entries that were added in other operating systems.

RarEntry::ATTRIBUTE_UNIX_BLOCK_DEV

Unix block devices will have attributes whose last four bits have this value. To be used with RarEntry::getAttr() on entries whose host OS is UNIX and with the constant RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET.

RarEntry::ATTRIBUTE_UNIX_REGULAR_FILE

Unix regular files (not directories) will have attributes whose last four bits have this value. To be used with RarEntry::getAttr() on entries whose host OS is UNIX and with the constant RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET. See also RarEntry::isDirectory(), which also works with entries that were added in other operating systems.

RarEntry::ATTRIBUTE_UNIX_SYM_LINK

Unix symbolic links will have attributes whose last four bits have this value. To be used with RarEntry::getAttr() on entries whose host OS is UNIX and with the constant RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET.

RarEntry::ATTRIBUTE_UNIX_SOCKET

Unix sockets will have attributes whose last four bits have this value. To be used with RarEntry::getAttr() on entries whose host OS is UNIX and with the constant RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET.

Inhaltsverzeichnis

  • RarEntry::extract — Extract entry from the archive
  • RarEntry::getAttr — Get attributes of the entry
  • RarEntry::getCrc — Get CRC of the entry
  • RarEntry::getFileTime — Get entry last modification time
  • RarEntry::getHostOs — Get entry host OS
  • RarEntry::getMethod — Get pack method of the entry
  • RarEntry::getName — Get name of the entry
  • RarEntry::getPackedSize — Get packed size of the entry
  • RarEntry::getStream — Get file handler for entry
  • RarEntry::getUnpackedSize — Get unpacked size of the entry
  • RarEntry::getVersion — Get minimum version of RAR program required to unpack the entry
  • RarEntry::isDirectory — Test whether an entry represents a directory
  • RarEntry::isEncrypted — Test whether an entry is encrypted
  • RarEntry::__toString — Get text representation of entry
RarArchive::__toString
RarEntry::extract
Rar


Extract entry from the archive

RarEntry
RarEntry::getAttr
RarEntry
PHP Manual

RarEntry::extract

(PECL rar >= 0.1)

RarEntry::extract — Extract entry from the archive

Beschreibung

public bool RarEntry::extract ( string $dir [, string $filepath = "" [, string $password = NULL [, bool $extended_data = false ]]] )

RarEntry::extract() extracts the entry's data. It will create new file in the specified dir with the name identical to the entry's name, unless the second argument is specified. See below for more information.

Parameter-Liste

dir

Path to the directory where files should be extracted. This parameter is considered if and only if filepath is not. If both parameters are empty an extraction to the current directory will be attempted.

filepath

Path (relative or absolute) containing the directory and filename of the extracted file. This parameter overrides both the parameter dir and the original file name.

password

The password used to encrypt this entry. If the entry is not encrypted, this value will not be used and can be omitted. If this parameter is omitted and the entry is encrypted, the password given to rar_open(), if any, will be used. If a wrong password is given, either explicitly or implicitly via rar_open(), CRC checking will fail and this method will fail and return FALSE. If no password is given and one is required, this method will fail and return FALSE. You can check whether an entry is encrypted with RarEntry::isEncrypted().

extended_data

If TRUE, extended information such as NTFS ACLs and Unix owner information will be set in the extract files, as long as it's present in the archive.

Warnung

Prior to version 2.0.0, this function would not handle relative paths correctly. Use realpath() as a workaround.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
3.0.0 | extended_data was added.
3.0.0 | Support for RAR archives with repeated entry names is no longer defective.

Beispiele

Beispiel #1 RarEntry::extract() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

$entry->extract('/dir/to'); // create /dir/to/Dir/file.txt
$entry->extract(false, '/dir/to/new_name.txt'); // create /dir/to/new_name.txt

?>

Beispiel #2 How to extract all files in archive:

<?php

/* example by Erik Jenssen aka erix */

$filename = "foobar.rar";
$filepath = "/home/foo/bar/";

$rar_file = rar_open($filepath.$filename);
$list = rar_list($rar_file);
foreach($list as $file) {
    $entry = rar_entry_get($rar_file, $file);
    $entry->extract("."); // extract to the current dir
}
rar_close($rar_file);

?>

Siehe auch

  • RarEntry::getStream() - Get file handler for entry
  • rar:// wrapper

RarEntry
RarEntry::getAttr
RarEntry


Get attributes of the entry

RarEntry::extract
RarEntry::getCrc
RarEntry
PHP Manual

RarEntry::getAttr

(PECL rar >= 0.1)

RarEntry::getAttr — Get attributes of the entry

Beschreibung

public int RarEntry::getAttr ( void )

Returns the OS-dependent attributes of the archive entry.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the attributes or FALSE on error.

Beispiele

Beispiel #1 RarEntry::getAttr() example

<?php

$rar_file = rar_open('example.rar') or die("Can't open Rar archive");

$entry = rar_entry_get($rar_file, 'dir/in/the/archive') or die("Can't find such entry");

$host_os = $entry->getHostOs();
$attr = $entry->getAttr();

switch($host_os) {
    case RAR_HOST_MSDOS:
    case RAR_HOST_OS2:
    case RAR_HOST_WIN32:
    case RAR_HOST_MACOS:
        printf("%c%c%c%c%c%c\n",
                ($attr & 0x08) ? 'V' : '.',
                ($attr & 0x10) ? 'D' : '.',
                ($attr & 0x01) ? 'R' : '.',
                ($attr & 0x02) ? 'H' : '.',
                ($attr & 0x04) ? 'S' : '.',
                ($attr & 0x20) ? 'A' : '.');
        break;
    case RAR_HOST_UNIX:
    case RAR_HOST_BEOS:
        switch ($attr & 0xF000)
        {
            case 0x4000:
                printf("d");
                break;
            case 0xA000:
                printf("l");
                break;
            default:
                printf("-");
                break;
        }
        printf("%c%c%c%c%c%c%c%c%c\n",
                ($attr & 0x0100) ? 'r' : '-',
                ($attr & 0x0080) ? 'w' : '-',
                ($attr & 0x0040) ? (($attr & 0x0800) ? 's':'x'):(($attr & 0x0800) ? 'S':'-'),
                ($attr & 0x0020) ? 'r' : '-',
                ($attr & 0x0010) ? 'w' : '-',
                ($attr & 0x0008) ? (($attr & 0x0400) ? 's':'x'):(($attr & 0x0400) ? 'S':'-'),
                ($attr & 0x0004) ? 'r' : '-',
                ($attr & 0x0002) ? 'w' : '-',
                ($attr & 0x0001) ? 'x' : '-');
        break;
}

rar_close($rar_file);

?>

Siehe auch

  • RarEntry::getHostOs() - Get entry host OS
  • The constants in RarEntry

RarEntry::extract
RarEntry::getCrc
RarEntry


Get CRC of the entry

RarEntry::getAttr
RarEntry::getFileTime
RarEntry
PHP Manual

RarEntry::getCrc

(PECL rar >= 0.1)

RarEntry::getCrc — Get CRC of the entry

Beschreibung

public string RarEntry::getCrc ( void )

Returns an hexadecimal string representation of the CRC of the archive entry.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the CRC of the archive entry or FALSE on error.

Changelog

Version | Beschreibung
2.0.0 | This method now returns correct values for multiple volume archives.

RarEntry::getAttr
RarEntry::getFileTime
RarEntry


Get entry last modification time

RarEntry::getCrc
RarEntry::getHostOs
RarEntry
PHP Manual

RarEntry::getFileTime

(PECL rar >= 0.1)

RarEntry::getFileTime — Get entry last modification time

Beschreibung

public string RarEntry::getFileTime ( void )

Gets entry last modification time.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns entry last modification time as string in format YYYY-MM-DD HH:II:SS, or FALSE on error.

RarEntry::getCrc
RarEntry::getHostOs
RarEntry


Get entry host OS

RarEntry::getFileTime
RarEntry::getMethod
RarEntry
PHP Manual

RarEntry::getHostOs

(PECL rar >= 0.1)

RarEntry::getHostOs — Get entry host OS

Beschreibung

public int RarEntry::getHostOs ( void )

Returns the code of the host OS of the archive entry.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the code of the host OS, or FALSE on error.

Beispiele

Beispiel #1 RarEntry::getHostOs() example (version >= 2.0.0)

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

switch ($entry->getHostOs()) {
    case RarEntry::HOST_MSDOS:
        echo "MS-DOS\n";
        break;
    case RarEntry::HOST_OS2:
        echo "OS2\n";
        break;
    case RarEntry::HOST_WIN32:
        echo "Win32\n";
        break;
    case RarEntry::HOST_MACOS:
        echo "MacOS\n";
        break;
    case RarEntry::HOST_UNIX:
        echo "Unix/Linux\n";
        break;
    case RarEntry::HOST_BEOS:
        echo "BeOS\n";
        break;
}

?>

Beispiel #2 RarEntry::getHostOs() example (version <= 1.0.0)

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

switch ($entry->getHostOs()) {
    case RAR_HOST_MSDOS:
        echo "MS-DOS\n";
        break;
    case RAR_HOST_OS2:
        echo "OS2\n";
        break;
    case RAR_HOST_WIN32:
        echo "Win32\n";
        break;
    case RAR_HOST_MACOS:
        echo "MacOS\n";
        break;
    case RAR_HOST_UNIX:
        echo "Unix/Linux\n";
        break;
    case RAR_HOST_BEOS:
        echo "BeOS\n";
        break;
}

?>

Siehe auch

  • RarEntry::extract() - Extract entry from the archive

RarEntry::getFileTime
RarEntry::getMethod
RarEntry


Get pack method of the entry

RarEntry::getHostOs
RarEntry::getName
RarEntry
PHP Manual

RarEntry::getMethod

(PECL rar >= 0.1)

RarEntry::getMethod — Get pack method of the entry

Beschreibung

public int RarEntry::getMethod ( void )

RarEntry::getMethod() returns number of the method used when adding current archive entry.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the method number or FALSE on error.

Beispiele

Beispiel #1 RarEntry::getMethod() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

echo "Method number: " . $entry->getMethod();

?>

RarEntry::getHostOs
RarEntry::getName
RarEntry


Get name of the entry

RarEntry::getMethod
RarEntry::getPackedSize
RarEntry
PHP Manual

RarEntry::getName

(PECL rar >= 0.1)

RarEntry::getName — Get name of the entry

Beschreibung

public string RarEntry::getName ( void )

Returns the name (with path) of the archive entry.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the entry name as a string, or FALSE on error.

Changelog

Version | Beschreibung
2.0.0 | As of version 2.0.0, the returned string is encoded in Unicode/UTF-8.

Beispiele

Beispiel #1 RarEntry::getName() example

<?php

//this example is safe even in pages not encoded in UTF-8
//for those encoded in UTF-8, the call to mb_convert_encoding is unnecessary

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

echo "Entry name: " . mb_convert_encoding(
    htmlentities(
        $entry->getName(),
        ENT_COMPAT,
        "UTF-8"
    ),
    "HTML-ENTITIES",
    "UTF-8"
);

?>

RarEntry::getMethod
RarEntry::getPackedSize
RarEntry


Get packed size of the entry

RarEntry::getName
RarEntry::getStream
RarEntry
PHP Manual

RarEntry::getPackedSize

(PECL rar >= 0.1)

RarEntry::getPackedSize — Get packed size of the entry

Beschreibung

public int RarEntry::getPackedSize ( void )

Get packed size of the archive entry.

Hinweis:

Note that on platforms with 32-bit longs (that includes Windows x64), the maximum size returned is capped at 2 GiB. Check the constant PHP_INT_MAX.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the packed size, or FALSE on error.

Changelog

Version | Beschreibung
2.0.0 | This method now returns correct values of packed sizes bigger than 2 GiB on platforms with 64-bit integers and never returns negative values on other platforms.

Beispiele

Beispiel #1 RarEntry::getPackedSize() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

echo "Packed size of " . $entry->getName() . " = " . $entry->getPackedSize() . " bytes";

?>

RarEntry::getName
RarEntry::getStream
RarEntry


Get file handler for entry

RarEntry::getPackedSize
RarEntry::getUnpackedSize
RarEntry
PHP Manual

RarEntry::getStream

(PECL rar >= 2.0.0)

RarEntry::getStream — Get file handler for entry

Beschreibung

public resource RarEntry::getStream ([ string $password ] )

Returns a file handler that supports read operations. This handler provides on-the-fly decompression for this entry.

The handler is not invalidated by calling rar_close().

Warnung

The resulting stream has no integrity verification. In particular, file corruption and decryption with a wrong a key will not be detected. It is the programmer's responsability to use the entry's CRC to check for integrity, if he so wishes.

Parameter-Liste

password

The password used to encrypt this entry. If the entry is not encrypted, this value will not be used and can be omitted. If this parameter is omitted and the entry is encrypted, the password given to rar_open(), if any, will be used. If a wrong password is given, either explicitly or implicitly via rar_open(), this method's resulting stream will produce wrong output. If no password is given and one is required, this method will fail and return FALSE. You can check whether an entry is encrypted with RarEntry::isEncrypted().

Rückgabewerte

The file handler Im Fehlerfall wird FALSE zurückgegeben..

Changelog

Version | Beschreibung
3.0.0 | Support for RAR archives with repeated entry names is no longer defective.

Beispiele

Beispiel #1 RarEntry::getStream() example

<?php

$rar_file = rar_open('example.rar');
if ($rar_file === false)
    die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt');
if ($entry === false)
    die("Failed to find such entry");

$stream = $entry->getStream();
if ($stream === false)
    die("Failed to obtain stream.");

rar_close($rar_file); //stream is independent from file

while (!feof($stream)) {
    $buff = fread($stream, 8192);
    if ($buff !== false)
        echo $buff;
    else
        break; //fread error
}

fclose($stream);

?>

Siehe auch

  • RarEntry::extract() - Extract entry from the archive
  • rar:// wrapper

RarEntry::getPackedSize
RarEntry::getUnpackedSize
RarEntry


Get unpacked size of the entry

RarEntry::getStream
RarEntry::getVersion
RarEntry
PHP Manual

RarEntry::getUnpackedSize

(PECL rar >= 0.1)

RarEntry::getUnpackedSize — Get unpacked size of the entry

Beschreibung

public int RarEntry::getUnpackedSize ( void )

Get unpacked size of the archive entry.

Hinweis:

Note that on platforms with 32-bit longs (that includes Windows x64), the maximum size returned is capped at 2 GiB. Check the constant PHP_INT_MAX.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the unpacked size, or FALSE on error.

Changelog

Version | Beschreibung
2.0.0 | This method now returns correct values of unpacked sizes bigger than 2 GiB on platforms with 64-bit integers and never returns negative values on other platforms.

Rückgabewerte

Beispiel #1 RarEntry::getUnpackedSize() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

echo "Unpacked size of " . $entry->getName() . " = " . $entry->getPackedSize() . " bytes";

?>

RarEntry::getStream
RarEntry::getVersion
RarEntry


Get minimum version of RAR program required to unpack the entry

RarEntry::getUnpackedSize
RarEntry::isDirectory
RarEntry
PHP Manual

RarEntry::getVersion

(PECL rar >= 0.1)

RarEntry::getVersion — Get minimum version of RAR program required to unpack the entry

Beschreibung

public int RarEntry::getVersion ( void )

Returns minimum version of RAR program (e.g. WinRAR) required to unpack the entry. It is encoded as 10 * major version + minor version.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the version or FALSE on error.

Beispiele

Beispiel #1 RarEntry::getVersion() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

echo "Rar version required for unpacking: " . $entry->getVersion();

?>

RarEntry::getUnpackedSize
RarEntry::isDirectory
RarEntry


Test whether an entry represents a directory

RarEntry::getVersion
RarEntry::isEncrypted
RarEntry
PHP Manual

RarEntry::isDirectory

(PECL rar >= 2.0.0)

RarEntry::isDirectory — Test whether an entry represents a directory

Beschreibung

public bool RarEntry::isDirectory ( void )

Tests whether the current entry is a directory.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if this entry is a directory and FALSE otherwise.

Anmerkungen

This function is only available starting with version 2.0.0, but one can also test whether an entry is a directory by checking the entry attributes, like this (only works for files compressed in RAR for Windows or Unix):

<?php
//...
//Open file, get entry and store in variable $e...
//...

$isDirectory = (bool) ((($e->getHostOs() == RAR_HOST_WIN32) && ($e->getAttr() & 0x10)) ||
    (($e->getHostOs() == RAR_HOST_UNIX) && (($e->getAttr() & 0xf000) == 0x4000)));
?>

RarEntry::getVersion
RarEntry::isEncrypted
RarEntry


Test whether an entry is encrypted

RarEntry::isDirectory
RarEntry::__toString
RarEntry
PHP Manual

RarEntry::isEncrypted

(PECL rar >= 2.0.0)

RarEntry::isEncrypted — Test whether an entry is encrypted

Beschreibung

public bool RarEntry::isEncrypted ( void )

Tests whether the current entry contents are encrypted.

Hinweis:

The password used may differ between files inside the same RAR archive.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the current entry is encrypted and FALSE otherwise.

RarEntry::isDirectory
RarEntry::__toString
RarEntry


Get text representation of entry

RarEntry::isEncrypted
RarException
RarEntry
PHP Manual

RarEntry::__toString

(PECL rar >= 2.0.0)

RarEntry::__toString — Get text representation of entry

Beschreibung

public string RarEntry::__toString ( void )

RarEntry::__toString() returns a textual representation for this entry. It includes whether the entry is a file or a directory (symbolic links and other special objects will be treated as files), the UTF-8 name of the entry and its CRC. The form and content of this representation may be changed in the future, so they cannot be relied upon.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A textual representation for the entry.

RarEntry::isEncrypted
RarException
RarEntry


The RarException class

(PECL rar >= 2.0.0)

Einführung

This class serves two purposes: it is the type of the exceptions thrown by the RAR extension functions and methods and it allows, through static methods to query and define the error behaviour of the extension, i.e., whether exceptions are thrown or only warnings are emitted.

The following error codes are used:

  • -1 - error outside UnRAR library
  • 11 - insufficient memory
  • 12 - bad data
  • 13 - bad archive
  • 14 - unknown format
  • 15 - file open error
  • 16 - file create error
  • 17 - file close error
  • 18 - read error
  • 19 - write error
  • 20 - buffer too small
  • 21 - unkown RAR error
  • 22 - password required but not given

Klassenbeschreibung

final RarException extends Exception {
/* Methoden */
public static bool isUsingExceptions ( void )
public static void setUsingExceptions ( bool $using_exceptions )
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Inhaltsverzeichnis

  • RarException::isUsingExceptions — Check whether error handling with exceptions is in use
  • RarException::setUsingExceptions — Activate and deactivate error handling with exceptions
RarEntry::__toString
RarException::isUsingExceptions
Rar


Check whether error handling with exceptions is in use

RarException
RarException::setUsingExceptions
RarException
PHP Manual

RarException::isUsingExceptions

(PECL rar >= 2.0.0)

RarException::isUsingExceptions — Check whether error handling with exceptions is in use

Beschreibung

public static bool RarException::isUsingExceptions ( void )

Checks whether the RAR functions will emit warnings and return error values or whether they will throw exceptions in most of the circumstances (does not include some programmatic errors such as passing the wrong type of arguments).

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if exceptions are being used, FALSE otherwise.

Beispiele

Beispiel #1 RarException::isUsingExceptions() example

<?php
//The default is not to use exceptions
var_dump(RarException::isUsingExceptions());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(false)

Siehe auch

  • RarException::setUsingExceptions() - Activate and deactivate error handling with exceptions

RarException
RarException::setUsingExceptions
RarException


Activate and deactivate error handling with exceptions

RarException::isUsingExceptions
Zip
RarException
PHP Manual

RarException::setUsingExceptions

(PECL rar >= 2.0.0)

RarException::setUsingExceptions — Activate and deactivate error handling with exceptions

Beschreibung

public static void RarException::setUsingExceptions ( bool $using_exceptions )

If and only if the argument is TRUE, then, instead of emitting warnings and returning a special value indicating error when the UnRAR library encounters an error, an exception of type RarException will be thrown.

Exceptions will also be thrown for the following errors, which occur outside the library (their error code will be -1):

  • attempting some operations on a closed RarArchive object or a RarEntry object relative to the first;
  • attempting to get an entry that does not exist with RarArchive::getEntry().

Parameter-Liste

using_exceptions

Should be TRUE to activate exception throwing, FALSE to deactivate (the default).

Beispiele

Beispiel #1 RarException::setUsingExceptions() example

<?php
var_dump(RarException::isUsingExceptions());
$arch = RarArchive::open("does_not_exist.rar");
var_dump($arch);

RarException::setUsingExceptions(true);
var_dump(RarException::isUsingExceptions());
$arch = RarArchive::open("does_not_exist.rar");
var_dump($arch); //not reached
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(false)

Warning: RarArchive::open(): Failed to open does_not_exist.rar: ERAR_EOPEN (file open error) in C:\php_rar\trunk\tests\test.php on line 3
bool(false)
bool(true)

Fatal error: Uncaught exception 'RarException' with message 'unRAR internal error: Failed to open does_not_exist.rar: ERAR_EOPEN (file open error)' in C:\php_rar\trunk\tests\test.php:8
Stack trace:
#0 C:\php_rar\trunk\tests\test.php(8): RarArchive::open('does_not_exist....')
#1 {main}
  thrown in C:\php_rar\trunk\tests\test.php on line 8

Siehe auch

  • RarException::isUsingExceptions() - Check whether error handling with exceptions is in use

RarException::isUsingExceptions
Zip
RarException


Zip

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
  • ZipArchive — Die ZipArchive Klasse
    • ZipArchive::addEmptyDir — Fügt ein neues Verzeichnis hinzu
    • ZipArchive::addFile — Fügt eine Datei von einem gegebenen Pfad zu einem ZIP-Archiv hinzu
    • ZipArchive::addFromString — Fügt eine Datei unter Verwendung ihres Inhalts zu einem ZIP-Archiv hinzu
    • ZipArchive::addGlob — Add files from a directory by glob pattern
    • ZipArchive::addPattern — Add files from a directory by PCRE pattern
    • ZipArchive::close — Schließt das aktive Archiv (geöffnet oder neu erstellt)
    • ZipArchive::deleteIndex — Löscht einen Archiveintrag unter Verwendung seines Index
    • ZipArchive::deleteName — Löscht einen Archiveintrag unter Verwendung seines Namens
    • ZipArchive::extractTo — Extrahiert den Archivinhalt
    • ZipArchive::getArchiveComment — Gibt den ZIP-Archiv-Kommentar zurück
    • ZipArchive::getCommentIndex — Gibt den Kommentar zu einem Eintrag unter Verwendung des Eintragsindex zurück
    • ZipArchive::getCommentName — Gibt den Kommentar zu einem Eintrag unter Verwendung des Eintragsnamens zurück
    • ZipArchive::getExternalAttributesIndex — Retrieve the external attributes of an entry defined by its index
    • ZipArchive::getExternalAttributesName — Retrieve the external attributes of an entry defined by its name
    • ZipArchive::getFromIndex — Gibt den Inhalt eines Eintrags unter Verwendung seines Index zurück
    • ZipArchive::getFromName — Gibt den Inhalt eines Eintrags unter Verwendung seines Namens zurück
    • ZipArchive::getNameIndex — Gibt den Namen eines Eintrags unter Verwendung seines Index zurück
    • ZipArchive::getStatusString — Gibt die Statusfehlermeldung sowie die System- oder ZIP-Meldung zurück
    • ZipArchive::getStream — Erzeugt einen Dateizeiger zu dem per Name bestimmten Eintrag (read only)
    • ZipArchive::locateName — Gibt den Index eines Archiveintrags zurück
    • ZipArchive::open — Öffnet ein ZIP-Dateiarchiv
    • ZipArchive::renameIndex — Benennt einen durch seinen Index bestimmten Eintrag um
    • ZipArchive::renameName — Benennt einen durch seinen Namen bestimmten Eintrag um
    • ZipArchive::setArchiveComment — Setzt einen Kommentar zu einem ZIP-Archiv
    • ZipArchive::setCommentIndex — Setzt einen Eintragskommentar, der via Eintragsindex bestimmt wird
    • ZipArchive::setCommentName — Setzt einen Eintragskommentar, der via Eintragsnamen bestimmt wird
    • ZipArchive::setCompressionIndex — Set the compression method of an entry defined by its index
    • ZipArchive::setCompressionName — Set the compression method of an entry defined by its name
    • ZipArchive::setExternalAttributesIndex — Set the external attributes of an entry defined by its index
    • ZipArchive::setExternalAttributesName — Set the external attributes of an entry defined by its name
    • ZipArchive::setPassword — Set the password for the active archive
    • ZipArchive::statIndex — Gibt die Details eines via Index bestimmten Eintrags zurück
    • ZipArchive::statName — Gibt die Details eines via Namen bestimmten Eintrags zurück
    • ZipArchive::unchangeAll — Setzt alle im Archiv durchgeführten Änderungen zurück
    • ZipArchive::unchangeArchive — Nimmt alle globalen Änderungen zurück, die im Archiv durchgeführt wurden
    • ZipArchive::unchangeIndex — Nimmt alle Änderungen zurück, die auf dem Eintrag mit dem gegebenen Index gemacht wurden
    • ZipArchive::unchangeName — Nimmt alle Änderungen zurück, die auf dem Eintrag mit dem gegebenen Namen gemacht wurden
  • Zip Funktionen
    • zip_close — Schließt ein ZIP-Archiv
    • zip_entry_close — Schließt einen Verzeichniseintrag
    • zip_entry_compressedsize — Ermittelt die komprimierte Größe eines Verzeichniseintrages
    • zip_entry_compressionmethod — Ermittelt die Komprimierungsmethode eines Verzeichniseintrags
    • zip_entry_filesize — Ermittelt die effektive Größe eines Verzeichniseintrages
    • zip_entry_name — Gibt den Namen eines Verzeichniseintrages zurück
    • zip_entry_open — Öffnet einen Verzeichniseintrag für den Lesezugriff
    • zip_entry_read — Liest einen geöffneten Verzeichniseintrag aus
    • zip_open — Öffnet ein ZIP-Archiv
    • zip_read — Liest den nächsten Eintrag innerhalb des ZIP Archivs
RarException::setUsingExceptions
Einführung
Erweiterungen zur Datenkompression und Archivierung


Einführung

Diese Extension ermöglicht den transparenten Lese- und Schreibzugriff auf ZIP-komprimierte Archive und die darin enthaltenen Dateien.

Zip
Installation/Konfiguration
Zip


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Zip


Anforderungen

Diese Extension benötigt » libzip, das mit PHP ausgeliefert wird.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Linux systems

Um diese Funktionen nutzen zu können müssen sie PHP mit der Option --enable-zip übersetzen.

Mit PHP 5.6.0 wurde die --with-libzip=DIR Konfigurationsoption hinzugefügt, um eine System-Installation von libzip zu verwenden. libzip 0.11 wird benötigt, aber 0.11.2 oder höher werden empfohlen.

Windows

Ab PHP 5.3 ist diese Erweiterung eingebaut. Vorher mussten Windows Benutzer php_zip.dll in ihrer php.ini laden um diese Funktionen nutzen zu können.

Installation via PECL

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/zip.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Ressource-Typen

Die Zip Extension benutzt zwei Resourcetypen, einen für Verzeichnisse innerhalb eines Zip-Archivs und einen für die eigentlichen Dateieinträge innerhalb des Archivs.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

ZipArchive nutzt Klassenkonstanten. Es gibt drei Arten von Konstanten für Flags (FL_), Fehler (ER_) und Modi (ohne Prefix).

ZIPARCHIVE::CREATE (integer)
Archiv anlegen wenn es noch nicht existiert.
ZIPARCHIVE::OVERWRITE (integer)
Immer ein neues Archiv anlegen, dieser Modus überschreibt ein eventuell bereits bestehendes Archiv.
ZIPARCHIVE::EXCL (integer)
Mit einer Fehlermeldung abbrechen falls das Archiv bereits existiert.
ZIPARCHIVE::CHECKCONS (integer)
Prüft zusätliche Konsistenzbedingungen und bricht mit einem Fehler ab wenn diese nicht erfüllt sind.
ZIPARCHIVE::FL_NOCASE (integer)
Namensverleiche ohne Beachtung von Groß- und Kleinschreibung.
ZIPARCHIVE::FL_NODIR (integer)
Verzeichniskomponenten ignorieren.
ZIPARCHIVE::FL_COMPRESSED (integer)
Komprimierte Daten lesen.
ZIPARCHIVE::FL_UNCHANGED (integer)
Orginaldaten benutzen und Änderungen ignorieren.
ZipArchive::FL_ENC_GUESS (integer)
Versuche die String-Kodierung zu erraten (Standardwert). Verfügbar ab PHP 7.0.8.
ZipArchive::FL_ENC_RAW (integer)
Lies unmodifizierten String. Verfügbar ab PHP 7.0.8.
ZipArchive::FL_ENC_STRICT (integer)
Folge streng der Spezifikation. Verfügbar ab PHP 7.0.8.
ZipArchive::FL_ENC_UTF_8 (integer)
Der String ist UTF-8 kodiert. Verfügbar ab PHP 7.0.8.
ZipArchive::FL_ENC_CP437 (integer)
Der String ist CP437 kodiert. Verfügbar ab PHP 7.0.8.
ZIPARCHIVE::CM_DEFAULT (integer)
Benutze "deflate" oder "store" je nachdem was effektiver ist.
ZIPARCHIVE::CM_STORE (integer)
Daten unkomprimiert mit der "store" Methode ablegen
ZIPARCHIVE::CM_SHRINK (integer)
Daten mit der "shrink" Methode ablegen
ZIPARCHIVE::CM_REDUCE_1 (integer)
Daten mit Faktor 1 reduzieren
ZIPARCHIVE::CM_REDUCE_2 (integer)
Daten mit Faktor 2 reduzieren
ZIPARCHIVE::CM_REDUCE_3 (integer)
Daten mit Faktor 3 reduzieren
ZIPARCHIVE::CM_REDUCE_4 (integer)
Daten mit Faktor 4 reduzieren
ZIPARCHIVE::CM_IMPLODE (integer)
Daten mit der "implode" Methode ablegen
ZIPARCHIVE::CM_DEFLATE (integer)
Daten mit der "deflate" Methode ablegen
ZIPARCHIVE::CM_DEFLATE64 (integer)
Daten mit der "deflate64" Methode ablegen
ZIPARCHIVE::CM_PKWARE_IMPLODE (integer)
Daten mit der PKWARE Implode Methode ablegen
ZIPARCHIVE::CM_BZIP2 (integer)
Daten mit dem Bzip2 Algorithmus ablegen
ZIPARCHIVE::ER_OK (integer)
Kein Fehler.
ZIPARCHIVE::ER_MULTIDISK (integer)
ZIP Archiv über mehrere Datenträger nicht unterstützt.
ZIPARCHIVE::ER_RENAME (integer)
Umbenennung einer temporären Datei fehlgeschlagen.
ZIPARCHIVE::ER_CLOSE (integer)
Schließen eines Archivs fehlgeschlagen.
ZIPARCHIVE::ER_SEEK (integer)
Seek Fehler
ZIPARCHIVE::ER_READ (integer)
Lesefehler
ZIPARCHIVE::ER_WRITE (integer)
Schreibfehler
ZIPARCHIVE::ER_CRC (integer)
CRC Prüfsummenfehler
ZIPARCHIVE::ER_ZIPCLOSED (integer)
Das die Datei enthaltende Archiv wurde geschlossen.
ZIPARCHIVE::ER_NOENT (integer)
Datei nicht gefunden.
ZIPARCHIVE::ER_EXISTS (integer)
Datei existiert bereits.
ZIPARCHIVE::ER_OPEN (integer)
Datei kann nicht geöffnet werden.
ZIPARCHIVE::ER_TMPOPEN (integer)
Temporäre Datei kann nicht angelegt werden.
ZIPARCHIVE::ER_ZLIB (integer)
Zlib Fehler
ZIPARCHIVE::ER_MEMORY (integer)
Speicheranforderung fehlgeschlagen
ZIPARCHIVE::ER_CHANGED (string)
Eintrag wurde geändert.
ZIPARCHIVE::ER_COMPNOTSUPP (integer)
Kompressionsmethode nicht unterstützt.
ZIPARCHIVE::ER_EOF (integer)
Unerwartetes Dateiende.
ZIPARCHIVE::ER_INVAL (integer)
Ungültiges Argument.
ZIPARCHIVE::ER_NOZIP (integer)
Kein Ziparchiv.
ZIPARCHIVE::ER_INTERNAL (integer)
Interner Fehler.
ZIPARCHIVE::ER_INCONS (integer)
Ziparchiv inkonsistent.
ZIPARCHIVE::ER_REMOVE (integer)
Datei kann nicht entfernt werden.
ZIPARCHIVE::ER_DELETED (integer)
Eintrag wurde entfernt.
Betriebssystemkonstanten für externe Attribute
ZipArchive::OPSYS_DOS (integer)
ZipArchive::OPSYS_AMIGA (integer)
ZipArchive::OPSYS_OPENVMS (integer)
ZipArchive::OPSYS_UNIX (integer)
ZipArchive::OPSYS_VM_CMS (integer)
ZipArchive::OPSYS_ATARI_ST (integer)
ZipArchive::OPSYS_OS_2 (integer)
ZipArchive::OPSYS_MACINTOSH (integer)
ZipArchive::OPSYS_Z_SYSTEM (integer)
ZipArchive::OPSYS_CPM (integer)
ZipArchive::OPSYS_WINDOWS_NTFS (integer)
ZipArchive::OPSYS_MVS (integer)
ZipArchive::OPSYS_VSE (integer)
ZipArchive::OPSYS_ACORN_RISC (integer)
ZipArchive::OPSYS_VFAT (integer)
ZipArchive::OPSYS_ALTERNATE_MVS (integer)
ZipArchive::OPSYS_BEOS (integer)
ZipArchive::OPSYS_TANDEM (integer)
ZipArchive::OPSYS_OS_400 (integer)
ZipArchive::OPSYS_OS_X (integer)
ZipArchive::OPSYS_DEFAULT (integer)
Seit PHP 5.6.0, PECL zip 1.12.4
Ressource-Typen
Beispiele
Zip


Beispiele

Beispiel #1 Erstellen eines Zip-Archivs

<?php

$zip = new ZipArchive();
$filename = "./test112.zip";

if ($zip->open($filename, ZipArchive::CREATE)!==TRUE) {
    exit("cannot open <$filename>\n");
}

$zip->addFromString("testfilephp.txt" . time(), "#1 This is a test string added as testfilephp.txt.\n");
$zip->addFromString("testfilephp2.txt" . time(), "#2 This is a test string added as testfilephp2.txt.\n");
$zip->addFile($thisdir . "/too.php","/testfromfile.php");
echo "numfiles: " . $zip->numFiles . "\n";
echo "status:" . $zip->status . "\n";
$zip->close();
?>

Beispiel #2 Ausgabe eines detailierten Archivlistings

<?php
$za = new ZipArchive();

$za->open('test_with_comment.zip');
print_r($za);
var_dump($za);
echo "numFiles: " . $za->numFiles . "\n";
echo "status: " . $za->status  . "\n";
echo "statusSys: " . $za->statusSys . "\n";
echo "filename: " . $za->filename . "\n";
echo "comment: " . $za->comment . "\n";

for ($i=0; $i<$za->numFiles;$i++) {
    echo "index: $i\n";
    print_r($za->statIndex($i));
}
echo "numFile:" . $za->numFiles . "\n";
?>

Beispiel #3 Zip Stream Wrapper, Auslesen von OpenOffice Metainformationen

<?php
$reader = new XMLReader();

$reader->open('zip://' . dirname(__FILE__) . '/test.odt#meta.xml');
$odt_meta = array();
while ($reader->read()) {
    if ($reader->nodeType == XMLREADER::ELEMENT) {
        $elm = $reader->name;
    } else {
        if ($reader->nodeType == XMLREADER::END_ELEMENT && $reader->name == 'office:meta') {
            break;
        }
        if (!trim($reader->value)) {
            continue;
        }
        $odt_meta[$elm] = $reader->value;
    }
}
print_r($odt_meta);
?>

Das folgende Beispiel benutzt das alte PHP 4 API, es öffnet eine Zip-Datei, liest jede einzelne Datei im Archiv und gibt deren Inhalt aus. Die in diesem Beispiel genutzte test2.zip Datei ist Teil des Testarchivs des ZZIPlib Quellcodes.

Beispiel #4 Zip Beispiel

<?php

$zip = zip_open("/tmp/test2.zip");

if ($zip) {
    while ($zip_entry = zip_read($zip)) {
        echo "Name:               " . zip_entry_name($zip_entry) . "\n";
        echo "Actual Filesize:    " . zip_entry_filesize($zip_entry) . "\n";
        echo "Compressed Size:    " . zip_entry_compressedsize($zip_entry) . "\n";
        echo "Compression Method: " . zip_entry_compressionmethod($zip_entry) . "\n";

        if (zip_entry_open($zip, $zip_entry, "r")) {
            echo "File Contents:\n";
            $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
            echo "$buf\n";

            zip_entry_close($zip_entry);
        }
        echo "\n";

    }

    zip_close($zip);

}
?>
Vordefinierte Konstanten
ZipArchive
Zip


Die ZipArchive Klasse

(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.1.0)

Einführung

Ein Dateiarchiv, komprimiert mit Zip.

Klassenbeschreibung

ZipArchive {
/* Eigenschaften */
int $status;
int $statusSys;
int $numFiles;
string $filename;
string $comment;
/* Methoden */
bool addEmptyDir ( string $dirname )
bool addFile ( string $filename [, string $localname = NULL [, int $start = 0 [, int $length = 0 ]]] )
bool addFromString ( string $localname , string $contents )
bool addGlob ( string $pattern [, int $flags = 0 [, array $options = array() ]] )
bool addPattern ( string $pattern [, string $path = "." [, array $options = array() ]] )
bool close ( void )
bool deleteIndex ( int $index )
bool deleteName ( string $name )
bool extractTo ( string $destination [, mixed $entries ] )
string getArchiveComment ([ int $flags ] )
string getCommentIndex ( int $index [, int $flags ] )
string getCommentName ( string $name [, int $flags ] )
bool GetExternalAttributesIndex ( int $index , int &$opsys , int &$attr [, int $flags ] )
bool getExternalAttributesName ( string $name , int &$opsys , int &$attr [, int $flags ] )
string getFromIndex ( int $index [, int $length = 0 [, int $flags ]] )
string getFromName ( string $name [, int $length = 0 [, int $flags ]] )
string getNameIndex ( int $index [, int $flags ] )
string getStatusString ( void )
resource getStream ( string $name )
int locateName ( string $name [, int $flags ] )
mixed open ( string $filename [, int $flags ] )
bool renameIndex ( int $index , string $newname )
bool renameName ( string $name , string $newname )
bool setArchiveComment ( string $comment )
bool setCommentIndex ( int $index , string $comment )
bool setCommentName ( string $name , string $comment )
bool setCompressionIndex ( int $index , int $comp_method [, int $comp_flags = 0 ] )
bool setCompressionName ( string $name , int $comp_method [, int $comp_flags = 0 ] )
bool setExternalAttributesIndex ( int $index , int $opsys , int $attr [, int $flags ] )
bool setExternalAttributesName ( string $name , int $opsys , int $attr [, int $flags ] )
public bool setPassword ( string $password )
array statIndex ( int $index [, int $flags ] )
array statName ( string $name [, int $flags ] )
bool unchangeAll ( void )
bool unchangeArchive ( void )
bool unchangeIndex ( int $index )
bool unchangeName ( string $name )
}

Eigenschaften

status

Status des Zip-Archives

statusSys

System Status des Zip-Archives

numFiles

Anzahl Dateien im Archiv

filename

Dateiname im Dateisystem

comment

Kommentar für das Archiv

Inhaltsverzeichnis

  • ZipArchive::addEmptyDir — Fügt ein neues Verzeichnis hinzu
  • ZipArchive::addFile — Fügt eine Datei von einem gegebenen Pfad zu einem ZIP-Archiv hinzu
  • ZipArchive::addFromString — Fügt eine Datei unter Verwendung ihres Inhalts zu einem ZIP-Archiv hinzu
  • ZipArchive::addGlob — Add files from a directory by glob pattern
  • ZipArchive::addPattern — Add files from a directory by PCRE pattern
  • ZipArchive::close — Schließt das aktive Archiv (geöffnet oder neu erstellt)
  • ZipArchive::deleteIndex — Löscht einen Archiveintrag unter Verwendung seines Index
  • ZipArchive::deleteName — Löscht einen Archiveintrag unter Verwendung seines Namens
  • ZipArchive::extractTo — Extrahiert den Archivinhalt
  • ZipArchive::getArchiveComment — Gibt den ZIP-Archiv-Kommentar zurück
  • ZipArchive::getCommentIndex — Gibt den Kommentar zu einem Eintrag unter Verwendung des Eintragsindex zurück
  • ZipArchive::getCommentName — Gibt den Kommentar zu einem Eintrag unter Verwendung des Eintragsnamens zurück
  • ZipArchive::getExternalAttributesIndex — Retrieve the external attributes of an entry defined by its index
  • ZipArchive::getExternalAttributesName — Retrieve the external attributes of an entry defined by its name
  • ZipArchive::getFromIndex — Gibt den Inhalt eines Eintrags unter Verwendung seines Index zurück
  • ZipArchive::getFromName — Gibt den Inhalt eines Eintrags unter Verwendung seines Namens zurück
  • ZipArchive::getNameIndex — Gibt den Namen eines Eintrags unter Verwendung seines Index zurück
  • ZipArchive::getStatusString — Gibt die Statusfehlermeldung sowie die System- oder ZIP-Meldung zurück
  • ZipArchive::getStream — Erzeugt einen Dateizeiger zu dem per Name bestimmten Eintrag (read only)
  • ZipArchive::locateName — Gibt den Index eines Archiveintrags zurück
  • ZipArchive::open — Öffnet ein ZIP-Dateiarchiv
  • ZipArchive::renameIndex — Benennt einen durch seinen Index bestimmten Eintrag um
  • ZipArchive::renameName — Benennt einen durch seinen Namen bestimmten Eintrag um
  • ZipArchive::setArchiveComment — Setzt einen Kommentar zu einem ZIP-Archiv
  • ZipArchive::setCommentIndex — Setzt einen Eintragskommentar, der via Eintragsindex bestimmt wird
  • ZipArchive::setCommentName — Setzt einen Eintragskommentar, der via Eintragsnamen bestimmt wird
  • ZipArchive::setCompressionIndex — Set the compression method of an entry defined by its index
  • ZipArchive::setCompressionName — Set the compression method of an entry defined by its name
  • ZipArchive::setExternalAttributesIndex — Set the external attributes of an entry defined by its index
  • ZipArchive::setExternalAttributesName — Set the external attributes of an entry defined by its name
  • ZipArchive::setPassword — Set the password for the active archive
  • ZipArchive::statIndex — Gibt die Details eines via Index bestimmten Eintrags zurück
  • ZipArchive::statName — Gibt die Details eines via Namen bestimmten Eintrags zurück
  • ZipArchive::unchangeAll — Setzt alle im Archiv durchgeführten Änderungen zurück
  • ZipArchive::unchangeArchive — Nimmt alle globalen Änderungen zurück, die im Archiv durchgeführt wurden
  • ZipArchive::unchangeIndex — Nimmt alle Änderungen zurück, die auf dem Eintrag mit dem gegebenen Index gemacht wurden
  • ZipArchive::unchangeName — Nimmt alle Änderungen zurück, die auf dem Eintrag mit dem gegebenen Namen gemacht wurden
Beispiele
ZipArchive::addEmptyDir
Zip


Fügt ein neues Verzeichnis hinzu

ZipArchive
ZipArchive::addFile
ZipArchive
PHP Manual

ZipArchive::addEmptyDir

(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.8.0)

ZipArchive::addEmptyDir — Fügt ein neues Verzeichnis hinzu

Beschreibung

bool ZipArchive::addEmptyDir ( string $dirname )

Fügt dem Archiv ein neues Verzeichnis hinzu.

Parameter-Liste

dirname

Das hinzuzufügende Verzeichnis.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Erstellt ein neues Verzeichnis im Archiv

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    if($zip->addEmptyDir('newDirectory')) {
        echo 'Neues Rootverzeichnis erstellt.';
    } else {
        echo 'Konnte Verzeichnis nicht erstellen.';
    }
    $zip->close();
} else {
    echo 'Fehler';
}
?>
ZipArchive
ZipArchive::addFile
ZipArchive


Fügt eine Datei von einem gegebenen Pfad zu einem ZIP-Archiv hinzu

ZipArchive::addEmptyDir
ZipArchive::addFromString
ZipArchive
PHP Manual

ZipArchive::addFile

(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.1.0)

ZipArchive::addFile — Fügt eine Datei von einem gegebenen Pfad zu einem ZIP-Archiv hinzu

Beschreibung

bool ZipArchive::addFile ( string $filename [, string $localname = NULL [, int $start = 0 [, int $length = 0 ]]] )

Fügt eine Datei von einem gegebenen Pfad zu einem ZIP-Archiv hinzu.

Hinweis: For maximum portability, it is recommended to always use forward slashes (/) as directory separator in ZIP filenames.

Parameter-Liste

filename

Der Pfad zur hinzuzufügenden Datei.

localname

Falls übergeben, ist dies der lokale Name innerhalb des ZIP-Archives, der den filename überschreibt.

start

Dieser Parameter wird nicht genutzt, aber benötigt, um ZipArchive zu erweitern.

length

Dieser Parameter wird nicht genutzt, aber benötigt, um ZipArchive zu erweitern.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Dieses Beispiel öffnet ein ZIP-Dateiarchiv test.zip und fügt die Datei /pfad/zur/datei.txt als neuername.txt hinzu.

Beispiel #1 Öffnen und hinzufügen

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->addFile('/pfad/zur/datei.txt', 'neuername.txt');
    $zip->close();
    echo 'ok';
} else {
    echo 'Fehler';
}
?>

Anmerkungen

Hinweis:

Falls eine Datei zu einem Archiv hinzugefügt werden soll, wird PHP die Datei sperren; die Sperre wird erst gelöst, nachdem das ZipArchive Objekt geschlossen wurde, entweder per ZipArchive::close(), oder weil das ZipArchive Objekt zerstört wurde. Dies kann dazu führen, dass die hinzuzufügende Datei erst gelöscht werden kann nachdem die Sperre gelöst wurde.

ZipArchive::addEmptyDir
ZipArchive::addFromString
ZipArchive


Fügt eine Datei unter Verwendung ihres Inhalts zu einem ZIP-Archiv hinzu

ZipArchive::addFile
ZipArchive::addGlob
ZipArchive
PHP Manual

ZipArchive::addFromString

(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.1.0)

ZipArchive::addFromString — Fügt eine Datei unter Verwendung ihres Inhalts zu einem ZIP-Archiv hinzu

Beschreibung

bool ZipArchive::addFromString ( string $localname , string $contents )

Fügt eine Datei unter Verwendung ihres Inhalts zu einem ZIP-Archiv hinzu.

Hinweis: For maximum portability, it is recommended to always use forward slashes (/) as directory separator in ZIP filenames.

Parameter-Liste

localname

Der Name des anzulegenden Eintrags.

contents

Der Inhalt, der zum Erstellen des Eintrags verwendet werden soll. Dieser wird im Binary safe-Modus verwendet.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Einen Eintrag zu einem neuen Archiv hinzufügen

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
    $zip->addFromString('test.txt', 'Dateiinhalt kommt hier');
    $zip->close();
    echo 'ok';
} else {
    echo 'Fehler';
}
?>

Beispiel #2 Eine Datei zu einem Verzeichnis innerhalb eines Archivs hinzufügen

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->addFromString('dir/test.txt', 'file content goes here');
    $zip->close();
    echo 'ok';
} else {
    echo 'Fehler';
}
?>
ZipArchive::addFile
ZipArchive::addGlob
ZipArchive


Add files from a directory by glob pattern

ZipArchive::addFromString
ZipArchive::addPattern
ZipArchive
PHP Manual

ZipArchive::addGlob

(PHP 5 >= 5.3.0, PHP 7, PECL zip >= 1.9.0)

ZipArchive::addGlob — Add files from a directory by glob pattern

Beschreibung

bool ZipArchive::addGlob ( string $pattern [, int $flags = 0 [, array $options = array() ]] )

Add files from a directory which match the glob pattern.

Hinweis: For maximum portability, it is recommended to always use forward slashes (/) as directory separator in ZIP filenames.

Parameter-Liste

pattern

A glob() pattern against which files will be matched.

flags

A bit mask of glob() flags.

options

An associative array of options. Available options are:

  • "add_path"

    Prefix to prepend when translating to the local path of the file within the archive. This is applied after any remove operations defined by the "remove_path" or "remove_all_path" options.

  • "remove_path"

    Prefix to remove from matching file paths before adding to the archive.

  • "remove_all_path"

    TRUE to use the file name only and add to the root of the archive.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 ZipArchive::addGlob() example

Add all php scripts and text files from current working directory

<?php
$zip = new ZipArchive();
$ret = $zip->open('application.zip', ZipArchive::OVERWRITE);
if ($ret !== TRUE) {
    printf('Failed with code %d', $ret);
} else {
    $options = array('add_path' => 'sources/', 'remove_all_path' => TRUE);
    $zip->addGlob('*.{php,txt}', GLOB_BRACE, $options);
    $zip->close();
}
?>

Siehe auch

  • ZipArchive::addFile() - Fügt eine Datei von einem gegebenen Pfad zu einem ZIP-Archiv hinzu
  • ZipArchive::addPattern() - Add files from a directory by PCRE pattern

ZipArchive::addFromString
ZipArchive::addPattern
ZipArchive


Add files from a directory by PCRE pattern

ZipArchive::addGlob
ZipArchive::close
ZipArchive
PHP Manual

ZipArchive::addPattern

(PHP 5 >= 5.3.0, PHP 7, PECL zip >= 1.9.0)

ZipArchive::addPattern — Add files from a directory by PCRE pattern

Beschreibung

bool ZipArchive::addPattern ( string $pattern [, string $path = "." [, array $options = array() ]] )

Add files from a directory which match the regular expression pattern. The operation is not recursive. The pattern will be matched against the file name only.

Parameter-Liste

pattern

A PCRE pattern against which files will be matched.

path

The directory that will be scanned. Defaults to the current working directory.

options

An associative array of options accepted by ZipArchive::addGlob().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 ZipArchive::addPattern() example

Add all php scripts and text files from current directory

<?php
$zip = new ZipArchive();
$ret = $zip->open('application.zip', ZipArchive::OVERWRITE);
if ($ret !== TRUE) {
    printf('Failed with code %d', $ret);
} else {
    $directory = realpath('.');
    $options = array('add_path' => 'sources/', 'remove_path' => $directory);
    $zip->addPattern('/\.(?:php|txt)$/', $directory, $options);
    $zip->close();
}
?>

Siehe auch

  • ZipArchive::addFile() - Fügt eine Datei von einem gegebenen Pfad zu einem ZIP-Archiv hinzu
  • ZipArchive::addGlob() - Add files from a directory by glob pattern

ZipArchive::addGlob
ZipArchive::close
ZipArchive


Schließt das aktive Archiv (geöffnet oder neu erstellt)

ZipArchive::addPattern
ZipArchive::deleteIndex
ZipArchive
PHP Manual

ZipArchive::close

(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.1.0)

ZipArchive::close — Schließt das aktive Archiv (geöffnet oder neu erstellt)

Beschreibung

bool ZipArchive::close ( void )

Schließt das geöffnete oder neu erstellte Archiv und speichert die Änderungen. Diese Methode wird am Ende des Skripts automatisch aufgerufen.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

ZipArchive::addPattern
ZipArchive::deleteIndex
ZipArchive


Löscht einen Archiveintrag unter Verwendung seines Index

ZipArchive::close
ZipArchive::deleteName
ZipArchive
PHP Manual

ZipArchive::deleteIndex

(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.5.0)

ZipArchive::deleteIndex — Löscht einen Archiveintrag unter Verwendung seines Index

Beschreibung

bool ZipArchive::deleteIndex ( int $index )

Löscht einen Archiveintrag unter Verwendung seines Index.

Parameter-Liste

index

Index des zu löschenden Eintrags.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Löschen einer Datei aus dem Archiv unter Verwendung ihres Index

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->deleteIndex(2);
    $zip->close();
    echo 'ok';
} else {
    echo 'Fehler';
}
?>
ZipArchive::close
ZipArchive::deleteName
ZipArchive


Löscht einen Archiveintrag unter Verwendung seines Namens

ZipArchive::deleteIndex
ZipArchive::extractTo
ZipArchive
PHP Manual

ZipArchive::deleteName

(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.5.0)

ZipArchive::deleteName — Löscht einen Archiveintrag unter Verwendung seines Namens

Beschreibung

bool ZipArchive::deleteName ( string $name )

Löscht einen Archiveintrag unter Verwendung seines Namens.

Parameter-Liste

name

Name des zu löschenden Eintrags.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Eine Datei und ein Verzeichnis unter Verwendung ihrer Namen aus einem Archiv löschen

<?php
$zip = new ZipArchive;
if ($zip->open('test1.zip') === TRUE) {
    $zip->deleteName('testfromfile.php');
    $zip->deleteName('testDir/');
    $zip->close();
    echo 'ok';
} else {
    echo 'Fehler';
}
?>
ZipArchive::deleteIndex
ZipArchive::extractTo
ZipArchive


Extrahiert den Archivinhalt

ZipArchive::deleteName
ZipArchive::getArchiveComment
ZipArchive
PHP Manual

ZipArchive::extractTo

(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.1.0)

ZipArchive::extractTo — Extrahiert den Archivinhalt

Beschreibung

bool ZipArchive::extractTo ( string $destination [, mixed $entries ] )

Extrahiert das komplette Archiv oder die gegebenen Dateien in das angegebene Ziel.

Parameter-Liste

destination

Stelle, an die die Dateien extrahiert werden sollen.

entries

Die zu extrahierenden Einträge. Es wird entweder ein einzelner Eintragsname oder ein Array von Namen akzeptiert.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Alle Einträge extrahieren

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->extractTo('/mein/ziel/verzeichnis/');
    $zip->close();
    echo 'ok';
} else {
    echo 'Fehler';
}
?>

Beispiel #2 Zwei Einträge extrahieren

<?php
$zip = new ZipArchive;
$res = $zip->open('test_im.zip');
if ($res === TRUE) {
    $zip->extractTo('/mein/ziel/verzeichnis/', array('pear_item.gif', 'testfromfile.php'));
    $zip->close();
    echo 'ok';
} else {
    echo 'Fehler';
}
?>
ZipArchive::deleteName
ZipArchive::getArchiveComment
ZipArchive


Gibt den ZIP-Archiv-Kommentar zurück

ZipArchive::extractTo
ZipArchive::getCommentIndex
ZipArchive
PHP Manual

ZipArchive::getArchiveComment

(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.1.0)

ZipArchive::getArchiveComment — Gibt den ZIP-Archiv-Kommentar zurück

Beschreibung

string ZipArchive::getArchiveComment ([ int $flags ] )

Gibt den ZIP-Archiv-Kommentar zurück.

Parameter-Liste

flags

Ist flags aufZipArchive::FL_UNCHANGED gesetzt, wird der originale unveränderte Kommentar zurückgegeben.

Rückgabewerte

Gibt bei Erfolg den ZIP-Archiv-Kommentar zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Einen Archivkommentar ausgeben

<?php
$zip = new ZipArchive;
$res = $zip->open('test_with_comment.zip');
if ($res === TRUE) {
    var_dump($zip->getArchiveComment());
    /* Oder die Archiveigenschaft verwenden */
    var_dump($zip->comment);
} else {
    echo 'Fehler, Code:' . $res;
}
?>
ZipArchive::extractTo
ZipArchive::getCommentIndex
ZipArchive


Gibt den Kommentar zu einem Eintrag unter Verwendung des Eintragsindex zurück

ZipArchive::getArchiveComment
ZipArchive::getCommentName
ZipArchive
PHP Manual

ZipArchive::getCommentIndex

(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.4.0)

ZipArchive::getCommentIndex — Gibt den Kommentar zu einem Eintrag unter Verwendung des Eintragsindex zurück

Beschreibung

string ZipArchive::getCommentIndex ( int $index [, int $flags ] )

Gibt den Kommentar zu einem Eintrag unter Verwendung des Eintragsindex zurück.

Parameter-Liste

index

Index des Eintrags.

flags

Wenn das Flag auf ZipArchive::FL_UNCHANGED gesetzt ist, wird der originale Kommentar unverändert zurückgegeben.

Rückgabewerte

Gibt bei Erfolg den Kommentar zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Einen Eintragskommentar ausgeben

<?php
$zip = new ZipArchive;
$res = $zip->open('test1.zip');
if ($res === TRUE) {
    var_dump($zip->getCommentIndex(1));
} else {
    echo 'Fehler, Code:' . $res;
}
?>
ZipArchive::getArchiveComment
ZipArchive::getCommentName
ZipArchive


Gibt den Kommentar zu einem Eintrag unter Verwendung des Eintragsnamens zurück

ZipArchive::getCommentIndex
ZipArchive::getExternalAttributesIndex
ZipArchive
PHP Manual

ZipArchive::getCommentName

(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.4.0)

ZipArchive::getCommentName — Gibt den Kommentar zu einem Eintrag unter Verwendung des Eintragsnamens zurück

Beschreibung

string ZipArchive::getCommentName ( string $name [, int $flags ] )

Gibt den Kommentar zu einem Eintrag unter Verwendung des Eintragsnamens zurück.

Parameter-Liste

name

Name des Eintrags.

flags

Wenn das Flag auf ZipArchive::FL_UNCHANGED gesetzt ist, wird der originale Kommentar unverändert zurückgegeben.

Rückgabewerte

Gibt bei Erfolg den Kommentar zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Einen Eintragskommentar ausgeben

<?php
$zip = new ZipArchive;
$res = $zip->open('test1.zip');
if ($res === TRUE) {
    var_dump($zip->getCommentName('test/eintrag1.txt'));
} else {
    echo 'Fehler, Code:' . $res;
}
?>
ZipArchive::getCommentIndex
ZipArchive::getExternalAttributesIndex
ZipArchive


Retrieve the external attributes of an entry defined by its index

ZipArchive::getCommentName
ZipArchive::getExternalAttributesName
ZipArchive
PHP Manual

ZipArchive::getExternalAttributesIndex

(PHP 5 >= 5.6.0, PHP 7, PECL zip >= 1.12.4)

ZipArchive::getExternalAttributesIndex — Retrieve the external attributes of an entry defined by its index

Beschreibung

bool ZipArchive::GetExternalAttributesIndex ( int $index , int &$opsys , int &$attr [, int $flags ] )

Retrieve the external attributes of an entry defined by its index.

Parameter-Liste

index

Index of the entry.

opsys

On success, receive the operating system code defined by one of the ZipArchive::OPSYS_ constants.

attr

On success, receive the external attributes. Value depends on operating system.

flags

If flags is set to ZipArchive::FL_UNCHANGED, the original unchanged attributes are returned.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

This example extract all the entries of a ZIP archive test.zip and set the Unix rights from external attributes.

Beispiel #1 Extract all entries with Unix rights

<?php
$zip = new ZipArchive();
if ($zip->open('test.zip') === TRUE) {
    for ($idx=0 ; $s = $zip->statIndex($idx) ; $idx++) {
        if ($zip->extractTo('.', $s['name'])) {
            if ($zip->getExternalAttributesIndex($idx, $opsys, $attr)
                && $opsys==ZipArchive::OPSYS_UNIX) {
               chmod($s['name'], ($attr >> 16) & 0777);
            }
        }
    }
    $zip->close();
    echo "Ok\n";
} else {
    echo "KO\n";
}
?>
ZipArchive::getCommentName
ZipArchive::getExternalAttributesName
ZipArchive


Retrieve the external attributes of an entry defined by its name

ZipArchive::getExternalAttributesIndex
ZipArchive::getFromIndex
ZipArchive
PHP Manual

ZipArchive::getExternalAttributesName

(PHP 5 >= 5.6.0, PHP 7, PECL zip >= 1.12.4)

ZipArchive::getExternalAttributesName — Retrieve the external attributes of an entry defined by its name

Beschreibung

bool ZipArchive::getExternalAttributesName ( string $name , int &$opsys , int &$attr [, int $flags ] )

Retrieve the external attributes of an entry defined by its name.

Parameter-Liste

name

Name of the entry.

opsys

On success, receive the operating system code defined by one of the ZipArchive::OPSYS_ constants.

attr

On success, receive the external attributes. Value depends on operating system.

flags

If flags is set to ZipArchive::FL_UNCHANGED, the original unchanged attributes are returned.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

ZipArchive::getExternalAttributesIndex
ZipArchive::getFromIndex
ZipArchive


Gibt den Inhalt eines Eintrags unter Verwendung seines Index zurück

ZipArchive::getExternalAttributesName
ZipArchive::getFromName
ZipArchive
PHP Manual

ZipArchive::getFromIndex

(No version information available, might only be in Git)

ZipArchive::getFromIndex — Gibt den Inhalt eines Eintrags unter Verwendung seines Index zurück

Beschreibung

string ZipArchive::getFromIndex ( int $index [, int $length = 0 [, int $flags ]] )

Gibt den Inhalt eines Eintrags unter Verwendung seines Index zurück.

Parameter-Liste

index

Index des Eintrags

length

Die von dem Eintrag zu lesende Länge. Falls 0, wird der gesamte Eintrag gelesen.

flags

Die Flags, die beim Öffnen des Archivs verwendet werden können. Die folgenden Werte können darauf angewendet werden (ODER verknüpft):

  • ZipArchive::FL_UNCHANGED

  • ZipArchive::FL_COMPRESSED

Rückgabewerte

Gibt im Erfolgsfall den Inhalt des Eintrags zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Den Dateiinhalt auslesen

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    echo $zip->getFromIndex(2);
    $zip->close();
} else {
    echo 'Fehler';
}
?>

Siehe auch

  • ZipArchive::getFromName() - Gibt den Inhalt eines Eintrags unter Verwendung seines Namens zurück

ZipArchive::getExternalAttributesName
ZipArchive::getFromName
ZipArchive


Gibt den Inhalt eines Eintrags unter Verwendung seines Namens zurück

ZipArchive::getFromIndex
ZipArchive::getNameIndex
ZipArchive
PHP Manual

ZipArchive::getFromName

(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.1.0)

ZipArchive::getFromName — Gibt den Inhalt eines Eintrags unter Verwendung seines Namens zurück

Beschreibung

string ZipArchive::getFromName ( string $name [, int $length = 0 [, int $flags ]] )

Gibt den Inhalt eines Eintrags unter Verwendung seines Namens zurück.

Parameter-Liste

name

Name des Eintrags

length

Die von dem Eintrag zu lesende Länge. Falls 0, wird der gesamte Eintrag gelesen.

flags

Die Flags, die beim Suchen des Eintrags verwendet werden können. Die folgenden Werte können darauf angewendet werden (ODER verknüpft):

  • ZipArchive::FL_UNCHANGED

  • ZipArchive::FL_COMPRESSED

  • ZipArchive::FL_NOCASE

Rückgabewerte

Gibt im Erfolgsfall den Inhalt des Eintrags zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Den Dateiinhalt auslesen

<?php
$zip = new ZipArchive;
if ($zip->open('test1.zip') === TRUE) {
    echo $zip->getFromName('testfromfile.php');
    $zip->close();
} else {
    echo 'Fehler';
}
?>

Beispiel #2 Ein Bild aus einem ZIP-Eintrag konvertieren

<?php
$z = new ZipArchive();
if ($z->open(dirname(__FILE__) . '/test_im.zip')) {
    $im_string = $z->getFromName("pear_item.gif");
    $im = imagecreatefromstring($im_string);
    imagepng($im, 'b.png');
}
?>

Siehe auch

  • ZipArchive::getFromIndex() - Gibt den Inhalt eines Eintrags unter Verwendung seines Index zurück

ZipArchive::getFromIndex
ZipArchive::getNameIndex
ZipArchive


Gibt den Namen eines Eintrags unter Verwendung seines Index zurück

ZipArchive::getFromName
ZipArchive::getStatusString
ZipArchive
PHP Manual

ZipArchive::getNameIndex

(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.5.0)

ZipArchive::getNameIndex — Gibt den Namen eines Eintrags unter Verwendung seines Index zurück

Beschreibung

string ZipArchive::getNameIndex ( int $index [, int $flags ] )

Gibt den Namen eines Eintrags unter Verwendung seines Index zurück.

Parameter-Liste

index

Index des Eintrags.

flags

Ist flags aufZipArchive::FL_UNCHANGED gesetzt, wird der originale unveränderte Name zurückgegeben.

Rückgabewerte

Gibt im Erfolgsfall den Namen zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 ZipArchive::getNameIndex() Beispiel

<?php
if ($zip->open('test.zip') == TRUE) {
 for ($i = 0; $i < $zip->numFiles; $i++) {
     $filename = $zip->getNameIndex($i);
     // ...
 }
}
?>

ZipArchive::getFromName
ZipArchive::getStatusString
ZipArchive


Gibt die Statusfehlermeldung sowie die System- oder ZIP-Meldung zurück

ZipArchive::getNameIndex
ZipArchive::getStream
ZipArchive
PHP Manual

ZipArchive::getStatusString

(PHP 5 >= 5.2.7, PHP 7)

ZipArchive::getStatusString — Gibt die Statusfehlermeldung sowie die System- oder ZIP-Meldung zurück

Beschreibung

string ZipArchive::getStatusString ( void )

Gibt die Statusfehlermeldung sowie die System- oder ZIP-Meldung zurück

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Liefert einen string mit der StatusmeldungIm Fehlerfall wird FALSE zurückgegeben..

ZipArchive::getNameIndex
ZipArchive::getStream
ZipArchive


Erzeugt einen Dateizeiger zu dem per Name bestimmten Eintrag (read only)

ZipArchive::getStatusString
ZipArchive::locateName
ZipArchive
PHP Manual

ZipArchive::getStream

(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.1.0)

ZipArchive::getStream — Erzeugt einen Dateizeiger zu dem per Name bestimmten Eintrag (read only)

Beschreibung

resource ZipArchive::getStream ( string $name )

Erzeugt einen Dateizeiger zu dem per Name bestimmten Eintrag. Derzeit werden nur Leseoperationen unterstützt.

Parameter-Liste

name

Der Name des zu verwendenden Eintrags.

Rückgabewerte

Gibt im Erfolgsfall einen Filepointer (resource) zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Den Eintragsinhalt mit fread() holen und speichern

<?php
$contents = '';
$z = new ZipArchive();
if ($z->open('test.zip')) {
    $fp = $z->getStream('test');
    if(!$fp) exit("Fehler\n");

    while (!feof($fp)) {
        $contents .= fread($fp, 2);
    }

    fclose($fp);
    file_put_contents('t',$contents);
    echo "Erledigt.\n";
}
?>

Beispiel #2 Das gleiche wie im vorigen Beispiel aber mit fopen() und dem ZIP-Streamwrapper

<?php
$contents = '';
$fp = fopen('zip://' . dirname(__FILE__) . '/test.zip#test', 'r');
if (!$fp) {
    exit("Datei kann nicht geöffnet werden\n");
}
while (!feof($fp)) {
    $contents .= fread($fp, 2);
}
echo "$contents\n";
fclose($fp);
echo "Erledigt.\n";
?>

Beispiel #3 Streamwrapper und Bild, kann ebenfalls mit der XML-Funktion verwendet werden

<?php
$im = imagecreatefromgif('zip://' . dirname(__FILE__) . '/test_im.zip#pear_item.gif');
imagepng($im, 'a.png');
?>
ZipArchive::getStatusString
ZipArchive::locateName
ZipArchive


Gibt den Index eines Archiveintrags zurück

ZipArchive::getStream
ZipArchive::open
ZipArchive
PHP Manual

ZipArchive::locateName

(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.5.0)

ZipArchive::locateName — Gibt den Index eines Archiveintrags zurück

Beschreibung

int ZipArchive::locateName ( string $name [, int $flags ] )

Lokalisiert einen Eintrag unter Verwendung seines Namens.

Parameter-Liste

name

Der Name des Eintrags, nach dem gesucht werden soll.

flags

Die Funktion gibt den Index der Datei namens fname im Archiv zurück. Die Flags können miteinander kombiniert werden, soll keines davon genutzt werden, sollte 0 verwendet werden.

  • ZipArchive::FL_NOCASE

  • ZipArchive::FL_NODIR

Rückgabewerte

Gibt im Erfolgsfall den Index eines Eintrags zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Ein Archiv erstellen und es mit locateName verwenden

<?php
$file = 'testlocate.zip';

$zip = new ZipArchive;
if ($zip->open($file, ZipArchive::CREATE) !== TRUE) {
    exit('Fehler');
}

$zip->addFromString('eintrag1.txt', 'Eintrag #1');
$zip->addFromString('eintrag2.txt', 'Eintrag #2');
$zip->addFromString('dir/eintrag2d.txt', 'Eintrag #2');

if (!$zip->status == ZipArchive::ER_OK) {
    echo "Fehler beim Schreiben des ZIP\n";
}
$zip->close();

if ($zip->open($file) !== TRUE) {
    exit('Fehler');
}

echo $zip->locateName('eintrag1.txt') . "\n";
echo $zip->locateName('eiNtrag2.txt') . "\n";
echo $zip->locateName('eiNtrag2.txt', ZipArchive::FL_NOCASE) . "\n";
echo $zip->locateName('einTRag2d.txt', ZipArchive::FL_NOCASE|ZipArchive::FL_NODIR) . "\n";
$zip->close();

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

0

1
2
ZipArchive::getStream
ZipArchive::open
ZipArchive


Öffnet ein ZIP-Dateiarchiv

ZipArchive::locateName
ZipArchive::renameIndex
ZipArchive
PHP Manual

ZipArchive::open

(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.1.0)

ZipArchive::open — Öffnet ein ZIP-Dateiarchiv

Beschreibung

mixed ZipArchive::open ( string $filename [, int $flags ] )

Öffnet ein neues ZIP-Archiv für Lese-, Schreib- und Veränderungszugriffe.

Parameter-Liste

filename

Der Name des zu öffnenden ZIP-Archivs.

flags

Der Modus, in dem das zu öffnende Archiv verwendet werden soll.

  • ZipArchive::OVERWRITE

  • ZipArchive::CREATE

  • ZipArchive::EXCL

  • ZipArchive::CHECKCONS

Rückgabewerte

Fehlercodes

Gibt TRUE oder den Fehlercode zurück.

  • ZipArchive::ER_EXISTS

    Die Datei existiert bereits.

  • ZipArchive::ER_INCONS

    Das Zip-Archiv ist inkonsistent.

  • ZipArchive::ER_INVAL

    Ungültiges Argument.

  • ZipArchive::ER_MEMORY

    Malloc Fehler

  • ZipArchive::ER_NOENT

    Keine solche Datei.

  • ZipArchive::ER_NOZIP

    Kein ZIP-Archiv.

  • ZipArchive::ER_OPEN

    Datei konnte nicht geöffnet werden.

  • ZipArchive::ER_READ

    Lesefehler.

  • ZipArchive::ER_SEEK

    Positionierungsfehler.

Beispiele

Beispiel #1 Öffnen und extrahieren

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    echo 'ok';
    $zip->extractTo('test');
    $zip->close();
} else {
    echo 'Fehler, Code:' . $res;
}
?>

Beispiel #2 Ein Archiv erstellen

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
    $zip->addFromString('test.txt', 'Der Dateiinhalt kommt hier');
    $zip->addFile('data.txt', 'eintragsname.txt');
    $zip->close();
    echo 'ok';
} else {
    echo 'Fehler';
}
?>
ZipArchive::locateName
ZipArchive::renameIndex
ZipArchive


Benennt einen durch seinen Index bestimmten Eintrag um

ZipArchive::open
ZipArchive::renameName
ZipArchive
PHP Manual

ZipArchive::renameIndex

(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.5.0)

ZipArchive::renameIndex — Benennt einen durch seinen Index bestimmten Eintrag um

Beschreibung

bool ZipArchive::renameIndex ( int $index , string $newname )

Benennt einen durch seinen Index bestimmten Eintrag um.

Parameter-Liste

index

Index des umzubenennenden Eintrags.

newname

Neuer Name.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Einen Eintrag umbenennen

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    $zip->renameIndex(2,'neuer_name.txt');
    $zip->close();
} else {
    echo 'Fehler, Code:' . $res;
}
?>
ZipArchive::open
ZipArchive::renameName
ZipArchive


Benennt einen durch seinen Namen bestimmten Eintrag um

ZipArchive::renameIndex
ZipArchive::setArchiveComment
ZipArchive
PHP Manual

ZipArchive::renameName

(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.5.0)

ZipArchive::renameName — Benennt einen durch seinen Namen bestimmten Eintrag um

Beschreibung

bool ZipArchive::renameName ( string $name , string $newname )

Benennt einen durch seinen Namen bestimmten Eintrag um.

Parameter-Liste

name

Name des umzubenennenden Eintrags.

newname

Neuer Name.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Einen Eintrag umbenennen

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    $zip->renameName('aktueller_name.txt','neuer_name.txt');
    $zip->close();
} else {
    echo 'Fehler, Code:' . $res;
}
?>
ZipArchive::renameIndex
ZipArchive::setArchiveComment
ZipArchive


Setzt einen Kommentar zu einem ZIP-Archiv

ZipArchive::renameName
ZipArchive::setCommentIndex
ZipArchive
PHP Manual

ZipArchive::setArchiveComment

(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.4.0)

ZipArchive::setArchiveComment — Setzt einen Kommentar zu einem ZIP-Archiv

Beschreibung

bool ZipArchive::setArchiveComment ( string $comment )

Setzt einen Kommentar zu einem ZIP-Archiv.

Parameter-Liste

comment

Der Inhalt des Kommentars.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Ein Archiv erstellen und einen Kommentar hinzufügen

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
    $zip->addFromString('test.txt', 'Der Dateiinhalt kommt hier');
    $zip->setArchiveComment('Neuer Archivkommentar');
    $zip->close();
    echo 'ok';
} else {
    echo 'Fehler';
}
?>
ZipArchive::renameName
ZipArchive::setCommentIndex
ZipArchive


Setzt einen Eintragskommentar, der via Eintragsindex bestimmt wird

ZipArchive::setArchiveComment
ZipArchive::setCommentName
ZipArchive
PHP Manual

ZipArchive::setCommentIndex

(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.4.0)

ZipArchive::setCommentIndex — Setzt einen Eintragskommentar, der via Eintragsindex bestimmt wird

Beschreibung

bool ZipArchive::setCommentIndex ( int $index , string $comment )

Setzt einen Eintragskommentar, der via Eintragsindex bestimmt wird.

Parameter-Liste

index

Index des Eintrags.

comment

Der Inhalt des Kommentars.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Ein Archiv öffnen und für einen Eintrag einen Kommentar hinzufügen

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    $zip->setCommentIndex(2, 'Neuer Eintragskommentar');
    $zip->close();
    echo 'ok';
} else {
    echo 'Fehler';
}
?>
ZipArchive::setArchiveComment
ZipArchive::setCommentName
ZipArchive


Setzt einen Eintragskommentar, der via Eintragsnamen bestimmt wird

ZipArchive::setCommentIndex
ZipArchive::setCompressionIndex
ZipArchive
PHP Manual

ZipArchive::setCommentName

(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.4.0)

ZipArchive::setCommentName — Setzt einen Eintragskommentar, der via Eintragsnamen bestimmt wird

Beschreibung

bool ZipArchive::setCommentName ( string $name , string $comment )

Setzt einen Eintragskommentar, der via Eintragsnamen bestimmt wird.

Parameter-Liste

name

Name des Eintrags.

comment

Der Inhalt des Kommentars.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Ein Archiv öffnen und für einen Eintrag einen Kommentar hinzufügen

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    $zip->setCommentName('eintrag1.txt', 'Neuer Eintragskommentar');
    $zip->close();
    echo 'ok';
} else {
    echo 'Fehler';
}
?>
ZipArchive::setCommentIndex
ZipArchive::setCompressionIndex
ZipArchive


Set the compression method of an entry defined by its index

ZipArchive::setCommentName
ZipArchive::setCompressionName
ZipArchive
PHP Manual

ZipArchive::setCompressionIndex

(PHP 7, PECL zip >= 1.13.0)

ZipArchive::setCompressionIndex — Set the compression method of an entry defined by its index

Beschreibung

bool ZipArchive::setCompressionIndex ( int $index , int $comp_method [, int $comp_flags = 0 ] )

Set the compression method of an entry defined by its index.

Parameter-Liste

index

Index of the entry.

comp_method

The compression method. Either
ZipArchive::CM_DEFAULT,
ZipArchive::CM_STORE or
ZipArchive::CM_DEFLATE.

comp_flags

Compression flags. Currently unused.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Add files with different compression methods to an archive

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
    $zip->addFromString('foo', 'Some text');
    $zip->addFromString('bar', 'Some other text');
    $zip->setCompressionIndex(0, ZipArchive::CM_STORE);
    $zip->setCompressionIndex(1, ZipArchive::CM_DEFLATE);
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>
ZipArchive::setCommentName
ZipArchive::setCompressionName
ZipArchive


Set the compression method of an entry defined by its name

ZipArchive::setCompressionIndex
ZipArchive::setExternalAttributesIndex
ZipArchive
PHP Manual

ZipArchive::setCompressionName

(PHP 7, PECL zip >= 1.13.0)

ZipArchive::setCompressionName — Set the compression method of an entry defined by its name

Beschreibung

bool ZipArchive::setCompressionName ( string $name , int $comp_method [, int $comp_flags = 0 ] )

Set the compression method of an entry defined by its name.

Parameter-Liste

name

Name of the entry.

comp_method

The compression method. Either
ZipArchive::CM_DEFAULT,
ZipArchive::CM_STORE or
ZipArchive::CM_DEFLATE.

comp_flags

Compression flags. Currently unused.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Add files with different compression methods to an archive

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
    $zip->addFromString('foo', 'Some text');
    $zip->addFromString('bar', 'Some other text');
    $zip->setCompressionName('foo', ZipArchive::CM_STORE);
    $zip->setCompressionName('bar', ZipArchive::CM_DEFLATE);
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>
ZipArchive::setCompressionIndex
ZipArchive::setExternalAttributesIndex
ZipArchive


Set the external attributes of an entry defined by its index

ZipArchive::setCompressionName
ZipArchive::setExternalAttributesName
ZipArchive
PHP Manual

ZipArchive::setExternalAttributesIndex

(PHP 5 >= 5.6.0, PHP 7, PECL zip >= 1.12.4)

ZipArchive::setExternalAttributesIndex — Set the external attributes of an entry defined by its index

Beschreibung

bool ZipArchive::setExternalAttributesIndex ( int $index , int $opsys , int $attr [, int $flags ] )

Set the external attributes of an entry defined by its index.

Parameter-Liste

index

Index of the entry.

opsys

The operating system code defined by one of the ZipArchive::OPSYS_ constants.

attr

The external attributes. Value depends on operating system.

flags

Optional flags. Currently unused.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

ZipArchive::setCompressionName
ZipArchive::setExternalAttributesName
ZipArchive


Set the external attributes of an entry defined by its name

ZipArchive::setExternalAttributesIndex
ZipArchive::setPassword
ZipArchive
PHP Manual

ZipArchive::setExternalAttributesName

(PHP 5 >= 5.6.0, PHP 7, PECL zip >= 1.12.4)

ZipArchive::setExternalAttributesName — Set the external attributes of an entry defined by its name

Beschreibung

bool ZipArchive::setExternalAttributesName ( string $name , int $opsys , int $attr [, int $flags ] )

Set the external attributes of an entry defined by its name.

Parameter-Liste

name

Name of the entry.

opsys

The operating system code defined by one of the ZipArchive::OPSYS_ constants.

attr

The external attributes. Value depends on operating system.

flags

Optional flags. Currently unused.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

This example opens a ZIP file archive test.zip and add the file test.txt with its Unix rights as external attributes.

Beispiel #1 Archive a file, with its Unix rights

<?php
$zip = new ZipArchive();
$stat = stat($filename='test.txt');
if (is_array($stat) && $zip->open('test.zip', ZipArchive::CREATE) === TRUE) {
    $zip->addFile($filename);
    $zip->setExternalAttributesName($filename, ZipArchive::OPSYS_UNIX, $stat['mode'] << 16);
    $zip->close();
    echo "Ok\n";
} else {
    echo "KO\n";
}
?>
ZipArchive::setExternalAttributesIndex
ZipArchive::setPassword
ZipArchive


Set the password for the active archive

ZipArchive::setExternalAttributesName
ZipArchive::statIndex
ZipArchive
PHP Manual

ZipArchive::setPassword

(PHP 5 >= 5.6.0, PHP 7, PECL zip >= 1.12.4)

ZipArchive::setPassword — Set the password for the active archive

Beschreibung

public bool ZipArchive::setPassword ( string $password )

Sets the password for the active archive.

Parameter-Liste

password

The password to be used for the archive.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Hinweis:

This function only sets the password to be used to decompress the archive; it does not turn a non-password-protected ZipArchive into a password-protected ZipArchive.

ZipArchive::setExternalAttributesName
ZipArchive::statIndex
ZipArchive


Gibt die Details eines via Index bestimmten Eintrags zurück

ZipArchive::setPassword
ZipArchive::statName
ZipArchive
PHP Manual

ZipArchive::statIndex

(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.1.0)

ZipArchive::statIndex — Gibt die Details eines via Index bestimmten Eintrags zurück

Beschreibung

array ZipArchive::statIndex ( int $index [, int $flags ] )

Die Funktion erhält Informationen über einen Eintrag, der mittels seines Index bestimmt wird.

Parameter-Liste

index

Index des Eintrags.

flags

ZipArchive::FL_UNCHANGED kann angewendet werden, um ohne Berücksichtigung eventueller Veränderungen Informationen über die originale Datei im Archiv zu erhalten.

Rückgabewerte

Gibt ein Array zurück, das die Eintragsdetails enthält. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Die Statusinformation eines Eintrags ausgeben

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    print_r($zip->statIndex(3));
    $zip->close();
} else {
    echo 'Fehler, Code:' . $res;
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [name] => foobar/baz
    [index] => 3
    [crc] => 499465816
    [size] => 27
    [mtime] => 1123164748
    [comp_size] => 24
    [comp_method] => 8
)
ZipArchive::setPassword
ZipArchive::statName
ZipArchive


Gibt die Details eines via Namen bestimmten Eintrags zurück

ZipArchive::statIndex
ZipArchive::unchangeAll
ZipArchive
PHP Manual

ZipArchive::statName

(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.5.0)

ZipArchive::statName — Gibt die Details eines via Namen bestimmten Eintrags zurück

Beschreibung

array ZipArchive::statName ( string $name [, int $flags ] )

Die Funktion erhält Informationen über einen Eintrag, der mittels seines Namens bestimmt wird.

Parameter-Liste

name

Name des Eintrags

flags

Das flags-Argument gibt an, wie die Namensauflösung durchgeführt werden soll. Außerdem kann ZipArchive::FL_UNCHANGED angewendet werden, um ohne Berücksichtigung eventueller Veränderungen Informationen über die originale Datei im Archiv zu erhalten.

  • ZipArchive::FL_NOCASE

  • ZipArchive::FL_NODIR

  • ZipArchive::FL_UNCHANGED

Rückgabewerte

Gibt ein Array zurück, das die Eintragsdetails enthält. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Die Statusinformation eines Eintrags ausgeben

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    print_r($zip->statName('foobar/baz'));
    $zip->close();
} else {
    echo 'Fehler, Code:' . $res;
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [name] => foobar/baz
    [index] => 3
    [crc] => 499465816
    [size] => 27
    [mtime] => 1123164748
    [comp_size] => 24
    [comp_method] => 8
)
ZipArchive::statIndex
ZipArchive::unchangeAll
ZipArchive


Setzt alle im Archiv durchgeführten Änderungen zurück

ZipArchive::statName
ZipArchive::unchangeArchive
ZipArchive
PHP Manual

ZipArchive::unchangeAll

(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.1.0)

ZipArchive::unchangeAll — Setzt alle im Archiv durchgeführten Änderungen zurück

Beschreibung

bool ZipArchive::unchangeAll ( void )

Setzt alle im Archiv durchgeführten Änderungen zurück.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

ZipArchive::statName
ZipArchive::unchangeArchive
ZipArchive


Nimmt alle globalen Änderungen zurück, die im Archiv durchgeführt wurden

ZipArchive::unchangeAll
ZipArchive::unchangeIndex
ZipArchive
PHP Manual

ZipArchive::unchangeArchive

(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.1.0)

ZipArchive::unchangeArchive — Nimmt alle globalen Änderungen zurück, die im Archiv durchgeführt wurden

Beschreibung

bool ZipArchive::unchangeArchive ( void )

Nimmt alle globalen Änderungen zurück, die im Archiv durchführt wurden. Derzeit bedeutet das, dass nur Änderungen an Archivkommentaren zurückgenommen werden können.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

ZipArchive::unchangeAll
ZipArchive::unchangeIndex
ZipArchive


Nimmt alle Änderungen zurück, die auf dem Eintrag mit dem gegebenen Index gemacht wurden

ZipArchive::unchangeArchive
ZipArchive::unchangeName
ZipArchive
PHP Manual

ZipArchive::unchangeIndex

(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.1.0)

ZipArchive::unchangeIndex — Nimmt alle Änderungen zurück, die auf dem Eintrag mit dem gegebenen Index gemacht wurden

Beschreibung

bool ZipArchive::unchangeIndex ( int $index )

Nimmt alle Änderungen zurück, die auf dem Eintrag mit dem gegebenen Index gemacht wurden.

Parameter-Liste

index

Index des Eintrags.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

ZipArchive::unchangeArchive
ZipArchive::unchangeName
ZipArchive


Nimmt alle Änderungen zurück, die auf dem Eintrag mit dem gegebenen Namen gemacht wurden

ZipArchive::unchangeIndex
Zip Funktionen
ZipArchive
PHP Manual

ZipArchive::unchangeName

(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.5.0)

ZipArchive::unchangeName — Nimmt alle Änderungen zurück, die auf dem Eintrag mit dem gegebenen Namen gemacht wurden

Beschreibung

bool ZipArchive::unchangeName ( string $name )

Nimmt alle zu einem Eintrag gehörenden Veränderungen zurück.

Parameter-Liste

name

Name des Eintrags.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

ZipArchive::unchangeIndex
Zip Funktionen
ZipArchive


Zip Funktionen

Inhaltsverzeichnis

  • zip_close — Schließt ein ZIP-Archiv
  • zip_entry_close — Schließt einen Verzeichniseintrag
  • zip_entry_compressedsize — Ermittelt die komprimierte Größe eines Verzeichniseintrages
  • zip_entry_compressionmethod — Ermittelt die Komprimierungsmethode eines Verzeichniseintrags
  • zip_entry_filesize — Ermittelt die effektive Größe eines Verzeichniseintrages
  • zip_entry_name — Gibt den Namen eines Verzeichniseintrages zurück
  • zip_entry_open — Öffnet einen Verzeichniseintrag für den Lesezugriff
  • zip_entry_read — Liest einen geöffneten Verzeichniseintrag aus
  • zip_open — Öffnet ein ZIP-Archiv
  • zip_read — Liest den nächsten Eintrag innerhalb des ZIP Archivs
ZipArchive::unchangeName
zip_close
Zip


Schließt ein ZIP-Archiv

Zip Funktionen
zip_entry_close
Zip Funktionen
PHP Manual

zip_close

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.0.0)

zip_close — Schließt ein ZIP-Archiv

Beschreibung

void zip_close ( resource $zip )

Schließt das übergebene ZIP-Archiv.

Parameter-Liste

zip

Eine ZIP-Datei, die zuvor mittels zip_open() geöffnet wurde.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • zip_open() - Öffnet ein ZIP-Archiv
  • zip_read() - Liest den nächsten Eintrag innerhalb des ZIP Archivs

Zip Funktionen
zip_entry_close
Zip Funktionen


Schließt einen Verzeichniseintrag

zip_close
zip_entry_compressedsize
Zip Funktionen
PHP Manual

zip_entry_close

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.0.0)

zip_entry_close — Schließt einen Verzeichniseintrag

Beschreibung

bool zip_entry_close ( resource $zip_entry )

Schließt den angegebenen Verzeichniseintrag.

Parameter-Liste

zip_entry

Ein Verzeichniseintrag, der zuvor mit zip_entry_open() geöffnet wurde.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • zip_entry_open() - Öffnet einen Verzeichniseintrag für den Lesezugriff
  • zip_entry_read() - Liest einen geöffneten Verzeichniseintrag aus

zip_close
zip_entry_compressedsize
Zip Funktionen


Ermittelt die komprimierte Größe eines Verzeichniseintrages

zip_entry_close
zip_entry_compressionmethod
Zip Funktionen
PHP Manual

zip_entry_compressedsize

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.0.0)

zip_entry_compressedsize — Ermittelt die komprimierte Größe eines Verzeichniseintrages

Beschreibung

int zip_entry_compressedsize ( resource $zip_entry )

Gibt die komprimierte Größe des angegebenen Verzeichniseintrages zurück.

Parameter-Liste

zip_entry

Ein von zip_read() zurückgegebener Verzeichniseintrag.

Rückgabewerte

Die komprimierte Größe.

Siehe auch

  • zip_open() - Öffnet ein ZIP-Archiv
  • zip_read() - Liest den nächsten Eintrag innerhalb des ZIP Archivs

zip_entry_close
zip_entry_compressionmethod
Zip Funktionen


Ermittelt die Komprimierungsmethode eines Verzeichniseintrags

zip_entry_compressedsize
zip_entry_filesize
Zip Funktionen
PHP Manual

zip_entry_compressionmethod

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.0.0)

zip_entry_compressionmethod — Ermittelt die Komprimierungsmethode eines Verzeichniseintrags

Beschreibung

string zip_entry_compressionmethod ( resource $zip_entry )

Gibt die Komprimierungsmethode des von zip_entry angegebenen Verzeichniseintrages zurück.

Parameter-Liste

zip_entry

Ein von zip_read() zurückgegebener Verzeichniseintrag.

Rückgabewerte

Die Komprimierungsmethode.

Siehe auch

  • zip_open() - Öffnet ein ZIP-Archiv
  • zip_read() - Liest den nächsten Eintrag innerhalb des ZIP Archivs

zip_entry_compressedsize
zip_entry_filesize
Zip Funktionen


Ermittelt die effektive Größe eines Verzeichniseintrages

zip_entry_compressionmethod
zip_entry_name
Zip Funktionen
PHP Manual

zip_entry_filesize

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.0.0)

zip_entry_filesize — Ermittelt die effektive Größe eines Verzeichniseintrages

Beschreibung

int zip_entry_filesize ( resource $zip_entry )

Gibt die effektive Größe des angegebenen Verzeichniseintrags zurück.

Parameter-Liste

zip_entry

Ein von zip_read() zurückgegebener Verzeichniseintrag.

Rückgabewerte

Die Größe des Verzeichniseintrags.

Siehe auch

  • zip_open() - Öffnet ein ZIP-Archiv
  • zip_read() - Liest den nächsten Eintrag innerhalb des ZIP Archivs

zip_entry_compressionmethod
zip_entry_name
Zip Funktionen


Gibt den Namen eines Verzeichniseintrages zurück

zip_entry_filesize
zip_entry_open
Zip Funktionen
PHP Manual

zip_entry_name

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.0.0)

zip_entry_name — Gibt den Namen eines Verzeichniseintrages zurück

Beschreibung

string zip_entry_name ( resource $zip_entry )

Gibt den Names eines angegebenen Verzeichniseintrags zurück.

Parameter-Liste

zip_entry

Ein von zip_read() zurückgegebener Verzeichniseintrag.

Rückgabewerte

Der Name des Verzeichniseintrags.

Siehe auch

  • zip_open() - Öffnet ein ZIP-Archiv
  • zip_read() - Liest den nächsten Eintrag innerhalb des ZIP Archivs

zip_entry_filesize
zip_entry_open
Zip Funktionen


Öffnet einen Verzeichniseintrag für den Lesezugriff

zip_entry_name
zip_entry_read
Zip Funktionen
PHP Manual

zip_entry_open

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.0.0)

zip_entry_open — Öffnet einen Verzeichniseintrag für den Lesezugriff

Beschreibung

bool zip_entry_open ( resource $zip , resource $zip_entry [, string $mode ] )

Öffnet einen Verzeichniseintrag für den Lesezugriff.

Parameter-Liste

zip

Ein valides Ressource-Handle, das von der zip_open() zurückgegeben wurde.

zip_entry

Ein Verzeichniseintrag, der von zip_read() zurückgegeben wurde.

mode

Einer der in der Dokumentation zu fopen() angegebenen Modi.

Hinweis:

Derzeit wird mode ignoriert und statt dessen standardmäßig "rb" verwendet. Dies ist dadurch bedingt, dass der ZIP-Support in PHP nur den Nur-Lesen-Modus unterstützt.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Hinweis:

Im Gegensatz zu fopen() und vergleichbaren Funktionen zeigt der Rückgabewert von zip_entry_open() nur das Gelingen an und wird nicht für weitere Operationen benötigt.

Siehe auch

  • zip_entry_close() - Schließt einen Verzeichniseintrag
  • zip_entry_read() - Liest einen geöffneten Verzeichniseintrag aus

zip_entry_name
zip_entry_read
Zip Funktionen


Liest einen geöffneten Verzeichniseintrag aus

zip_entry_open
zip_open
Zip Funktionen
PHP Manual

zip_entry_read

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.0.0)

zip_entry_read — Liest einen geöffneten Verzeichniseintrag aus

Beschreibung

string zip_entry_read ( resource $zip_entry [, int $length = 1024 ] )

Liest aus einem geöffneten Verzeichniseintrag.

Parameter-Liste

zip_entry

Ein von zip_read() zurückgegebener Verzeichniseintrag.

length

Die Anzahl der zurückzugebenden Bytes.

Hinweis:

Dies sollte die Länge der der unkomprimierten Daten sein, die Sie auslesen möchten.

Rückgabewerte

Gibt die gelesenen Daten zurück oder einen leeren String, wenn das Ende der Datei erreicht ist oder FALSE, bei einem Fehler.

Siehe auch

  • zip_entry_open() - Öffnet einen Verzeichniseintrag für den Lesezugriff
  • zip_entry_close() - Schließt einen Verzeichniseintrag
  • zip_entry_filesize() - Ermittelt die effektive Größe eines Verzeichniseintrages

zip_entry_open
zip_open
Zip Funktionen


Öffnet ein ZIP-Archiv

zip_entry_read
zip_read
Zip Funktionen
PHP Manual

zip_open

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.0.0)

zip_open — Öffnet ein ZIP-Archiv

Beschreibung

resource zip_open ( string $filename )

Öffnet ein ZIP-Archiv für den Lesezugriff.

Parameter-Liste

filename

Der Name der zu öffnenden ZIP-Datei.

Rückgabewerte

Gibt einen Dateizeiger für die spätere Verwendung mit zip_read() und zip_close() zurück. Ist filename nicht vorhanden oder tritt ein anderer Fehler auf, wird die Fehlernummer zurückgegeben.

Siehe auch

  • zip_read() - Liest den nächsten Eintrag innerhalb des ZIP Archivs
  • zip_close() - Schließt ein ZIP-Archiv

zip_entry_read
zip_read
Zip Funktionen


Liest den nächsten Eintrag innerhalb des ZIP Archivs

zip_open
Zlib
Zip Funktionen
PHP Manual

zip_read

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.0.0)

zip_read — Liest den nächsten Eintrag innerhalb des ZIP Archivs

Beschreibung

resource zip_read ( resource $zip )

Liest den nächsten Eintrag innerhalb des ZIP Archivs.

Parameter-Liste

zip

Eine ZIP-Datei, die zuvor mittels zip_open() geöffnet wurde.

Rückgabewerte

Gibt im Erfolgsfall einen Verzeichniseintrag zur späteren Benutzung mit den zip_entry_... Funktionen zurück. Wenn keine weiteren Einträge vorhanden sind, wird FALSE zurückgegeben. Tritt ein Fehler auf, ist der Rückgabewert die entsprechende Fehlernummer.

Siehe auch

  • zip_open() - Öffnet ein ZIP-Archiv
  • zip_close() - Schließt ein ZIP-Archiv
  • zip_entry_open() - Öffnet einen Verzeichniseintrag für den Lesezugriff
  • zip_entry_read() - Liest einen geöffneten Verzeichniseintrag aus

zip_open
Zlib
Zip Funktionen


Zlib-Komprimierung

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
  • Zlib-Funktionen
    • deflate_add — Incrementally deflate data
    • deflate_init — Initialize an incremental deflate context
    • gzclose — Schließt eine geöffnete gz-Datei
    • gzcompress — Komprimiert einen String
    • gzdecode — Decodes a gzip compressed string
    • gzdeflate — Komprimiert eine Zeichenkette
    • gzencode — Create a gzip compressed string
    • gzeof — Prüfe auf EOF bei einem gz-Datei Descriptor
    • gzfile — Read entire gz-file into an array
    • gzgetc — Hole Zeichen von gz-Datei Deskriptor
    • gzgets — Get line from file pointer
    • gzgetss — Get line from gz-file pointer and strip HTML tags
    • gzinflate — Dekomprimiere (inflate) eine komprimierte (deflate) Zeichenkette
    • gzopen — Öffnet gz-Dateien
    • gzpassthru — Gibt alle verbleibenden Daten eines gz-Datei Deskriptors aus
    • gzputs — Alias von gzwrite
    • gzread — Liest binary-safe aus einer gz-Datei
    • gzrewind — Setzt die Dateiposition auf den Anfang zurück
    • gzseek — Positioniert innerhalb einer gz-Datei
    • gztell — Ermittelt die aktuelle Position in einer gz-Datei
    • gzuncompress — Dekomprimiert einen komprimierten String
    • gzwrite — Ausgabe in gz-komprimierte Dateien
    • inflate_add — Incrementally inflate encoded data
    • inflate_init — Initialize an incremental inflate context
    • readgzfile — Gibt eine gz-komprimierte Datei aus
    • zlib_decode — raw/gzip/zlib kodierte Daten dekomprimieren
    • zlib_encode — Komprimiert Daten mit der gewählten Kodierung
    • zlib_get_coding_type — Gibt die für Ausgabekomprimierung genutze Methode zurück
zip_read
Einführung
Erweiterungen zur Datenkompression und Archivierung


Einführung

Dieses Modul gibt Ihnen die Möglichkeit, transparent gzip-komprimierte Dateien (*.gz) zu lesen und zu schreiben. Hierfür bietet die Erweiterung die Versionen der meisten Dateisystem-Funktionen, die mit gzip-komprimierten (und unkomprimierten) Dateien, jedoch nicht mit Sockets funktionieren.

Hinweis:

Mit Version 4.0.4 wurde ein fopen-wrapper für .gz-Dateien eingeführt, so dass Sie den speziellen zlib:-URL verwenden können, um auf komprimierte Dateien transparent über die f*()-Dateifunktionen zuzugreifen. Beim Aufruf von fopen() müssen Sie dazu lediglich vor dem Dateinamen das Präfix zlib: schreiben. Diese Möglichkeit erfordert eine C-Laufzeitbibliothek, die die fopencookie()-Funktion bereitstellt. Nach aktuellem Stand scheint die GNU libc die einzige Bibliothek zu sein, die dieses Feature bereitstellt.

In PHP 4.3.0 wurde zlib: in compress.zlib:// geändert, um Konflikte mit Dateinamen zu vermeiden die ':' Zeichen enthalten. Die fopencookie() Funktion wird nicht mehr benötigt. Mehr Information hierzu finden Sie im Abschnitt über zlib://.

Zlib
Installation/Konfiguration
Zlib


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Zlib


Anforderungen

Diese Erweiterung nutzt die Funktionen der » zlib-Bibliothek von Jean-loup Gailly und Mark Adler. Sie benötigen zlib >= 1.0.9, um die Funktionen nutzen zu können.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Die Unterstützung für zlib ist in PHP nicht standardmäßig aktiviert. Es ist erforderlich, die Option --with-zlib[=DIR] beim Kompilieren von PHP anzugeben.

Die Windowsversion von PHP enthält diese Erweiterung. Um diese Funktionen zu verwenden, müssen Sie keine zusätzlichen Erweiterungen aktivieren.

Hinweis: Die integrierte Unterstützung für zlib in der Windowsversion steht ab PHP 4.3.0 zur Verfügung.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Die zlib-Erweiterung gibt Ihnen die Möglichkeit, Ihre Seiten on-the-fly transparent zu komprimieren, wenn der Browser dies unterstützt. Dafür gibt es drei Optionen in der Konfigurationsdatei php.ini.

Zlib-Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
zlib.output_compression | "0" | PHP_INI_ALL | Verfügbar seit PHP 4.0.5.
zlib.output_compression_level | "-1" | PHP_INI_ALL | Verfügbar seit PHP 4.3.0.
zlib.output_handler | "" | PHP_INI_ALL | Verfügbar seit PHP 4.3.0.
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

zlib.output_compression boolean/integer

Wenn diese Option in der php.ini oder der Apachekonfiguration auf "On" gesetzt ist, werden die Seiten komprimiert, wenn der Browser einen "Accept-Encoding: gzip"- oder einen "deflate"-Header sendet. Zu den normalerweise vom Server gesendeten Headern werden nun "Content-Encoding: gzip" (respektive "deflate") und "Vary: Accept-Encoding" hinzugefügt. Zur Laufzeit kann die Option nur gesetzt werden, bevor irgendeine Ausgabe gesendet wurde.

Diese Option akzeptiert auch Integerwerte anstelle des boolschen On/Off, wenn Sie diese verwenden, können Sie die Ausgabepuffergröße festlegen (der Standardwert ist 4KB).

Hinweis:

output_handler muss leer sein, wenn diese Option den Wert "On" hat! Verwenden Sie statt dessen zlib.output_handler.

zlib.output_compression_level integer

Der Kompressionsgrad für die transparente Ausgabekomprimierung. Geben Sie einen Wert zwischen 0 (keine Kompression) und 9 (stärkste Kompressionsrate) an. Der Vorgabewert -1 lässt den Server darüber entscheiden, welchen Kompressionsgrad zu verwenden ist.

zlib.output_handler string

Sie können keine zusätzlichen Outputhandler angeben, wenn Sie zlib.output_compression aktiviert haben. Diese Einstellung tut das Gleiche wie output_handler, allerdings in einer anderen Reihenfolge.

Installation
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

Die Extension definiert eine Filepointer-Ressource, die von gzopen() zurückgegeben wird.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

FORCE_GZIP (integer)
FORCE_DEFLATE (integer)
ZLIB_ENCODING_RAW (integer)
DEFLATE-Algorithmus gemäß RFC 1951. Verfügbar ab PHP 7.0.0.
ZLIB_ENCODING_DEFLATE (integer)
ZLIB-Komprimierungsalgorithmus gemäß RFC 1950. Verfügbar ab PHP 7.0.0.
ZLIB_ENCODING_GZIP (integer)
GZIP-Algorithmus gemäß RFC 1952. Verfügbar ab PHP 7.0.0.
ZLIB_FILTERED (integer)
Verfügbar ab PHP 7.0.0.
ZLIB_HUFFMAN_ONLY (integer)
Verfügbar ab PHP 7.0.0.
ZLIB_FIXED (integer)
Verfügbar ab PHP 7.0.0.
ZLIB_RLE (integer)
Verfügbar ab PHP 7.0.0.
ZLIB_DEFAULT_STRATEGY (integer)
Verfügbar ab PHP 7.0.0.
ZLIB_BLOCK (integer)
Verfügbar ab PHP 7.0.0.
ZLIB_NO_FLUSH (integer)
Verfügbar ab PHP 7.0.0.
ZLIB_PARTIAL_FLUSH (integer)
Verfügbar ab PHP 7.0.0.
ZLIB_SYNC_FLUSH (integer)
Verfügbar ab PHP 7.0.0.
ZLIB_FULL_FLUSH (integer)
Verfügbar ab PHP 7.0.0.
ZLIB_FINISH (integer)
Verfügbar ab PHP 7.0.0.
Ressource-Typen
Beispiele
Zlib


Beispiele

Dieses Beispiel öffnet eine temporäre Datei und schreibt einen Teststring in die Datei, dann wird der Inhalt dieser Datei zweimal ausgegeben.

Beispiel #1 Ein kleines Beispiel zu Zlib

<?php

$filename = tempnam('/tmp', 'zlibtest') . '.gz';
echo "<html>\n<head></head>\n<body>\n<pre>\n";
$s = "Nur ein test, test, test, test, test, test, test, test!\n";

// TemporÃ¤re Datei zum Schreiben mit der maximalen Kompressionsstufe Ã¶ffnen
$zp = gzopen($filename, "w9");

// String in die Datei schreiben
gzwrite($zp, $s);

// Datei schlieÃ?en
gzclose($zp);

// Datei zum Lesen Ã¶ffnen
$zp = gzopen($filename, "r");

// 3 Zeichen einlesen und ausgeben
echo gzread($zp, 3);

// Inhalt der Datei ausgeben und die Datei schlieÃ?en
gzpassthru($zp);
gzclose($zp);

echo "\n";

// Ã?ffne die Datei und gib den Inhalt zum zweiten Mal aus
if (readgzfile($filename) != strlen($s)) {
        echo "Error with zlib functions!";
}
unlink($filename);
echo "</pre>\n</body>\n</html>\n";

?>

Beispiel #2 Arbeiten mit dem inkrementellen Kompriemierungs- und Dekomprimierungs-API ab PHP 7.0.0

// führe GZIP-Komprimierung durch:
$deflateContext = deflate_init(ZLIB_ENCODING_GZIP);
$compressed = deflate_add($deflateContext, "Zu komprimierende Daten", ZLIB_NO_FLUSH);
$compressed .= deflate_add($deflateContext, ", weitere Daten", ZLIB_NO_FLUSH);
$compressed .= deflate_add($deflateContext, ", und noch mehr Daten!", ZLIB_FINISH);?>

// führe GZIP-Dekomprimierung durch:
$inflateContext = inflate_init(ZLIB_ENCODING_GZIP);
$uncompressed = inflate_add($inflateContext, $compressed, ZLIB_NO_FLUSH);
$uncompressed .= inflate_add($inflateContext, NULL, ZLIB_FINISH);
echo $uncompressed;

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Zu komprimierende Daten, weitere Daten, und noch mehr Daten!
Vordefinierte Konstanten
Zlib-Funktionen
Zlib


Zlib-Funktionen

Inhaltsverzeichnis

  • deflate_add — Incrementally deflate data
  • deflate_init — Initialize an incremental deflate context
  • gzclose — Schließt eine geöffnete gz-Datei
  • gzcompress — Komprimiert einen String
  • gzdecode — Decodes a gzip compressed string
  • gzdeflate — Komprimiert eine Zeichenkette
  • gzencode — Create a gzip compressed string
  • gzeof — Prüfe auf EOF bei einem gz-Datei Descriptor
  • gzfile — Read entire gz-file into an array
  • gzgetc — Hole Zeichen von gz-Datei Deskriptor
  • gzgets — Get line from file pointer
  • gzgetss — Get line from gz-file pointer and strip HTML tags
  • gzinflate — Dekomprimiere (inflate) eine komprimierte (deflate) Zeichenkette
  • gzopen — Öffnet gz-Dateien
  • gzpassthru — Gibt alle verbleibenden Daten eines gz-Datei Deskriptors aus
  • gzputs — Alias von gzwrite
  • gzread — Liest binary-safe aus einer gz-Datei
  • gzrewind — Setzt die Dateiposition auf den Anfang zurück
  • gzseek — Positioniert innerhalb einer gz-Datei
  • gztell — Ermittelt die aktuelle Position in einer gz-Datei
  • gzuncompress — Dekomprimiert einen komprimierten String
  • gzwrite — Ausgabe in gz-komprimierte Dateien
  • inflate_add — Incrementally inflate encoded data
  • inflate_init — Initialize an incremental inflate context
  • readgzfile — Gibt eine gz-komprimierte Datei aus
  • zlib_decode — raw/gzip/zlib kodierte Daten dekomprimieren
  • zlib_encode — Komprimiert Daten mit der gewählten Kodierung
  • zlib_get_coding_type — Gibt die für Ausgabekomprimierung genutze Methode zurück
Beispiele
deflate_add
Zlib


Incrementally deflate data

Zlib-Funktionen
deflate_init
Zlib-Funktionen
PHP Manual

deflate_add

(PHP 7)

deflate_add — Incrementally deflate data

Beschreibung

string deflate_add ( resource $context , string $data [, int $flush_mode = ZLIB_SYNC_FLUSH ] )

Incrementally deflates data in the specified context.

Parameter-Liste

context

A context created with deflate_init().

data

A chunk of data to compress.

flush_mode

One of ZLIB_BLOCK, ZLIB_NO_FLUSH, ZLIB_PARTIAL_FLUSH, ZLIB_SYNC_FLUSH (default), ZLIB_FULL_FLUSH, ZLIB_FINISH. Normally you will want to set ZLIB_NO_FLUSH to maximize compression, and ZLIB_FINISH to terminate with the last chunk of data. See the » zlib manual for a detailed description of these constants.

Rückgabewerte

Returns a chunk of compressed data, Im Fehlerfall wird FALSE zurückgegeben..

Fehler/Exceptions

If invalid arguments are given, an error of level E_WARNING is generated.

Siehe auch

  • deflate_init() - Initialize an incremental deflate context
Zlib-Funktionen
deflate_init
Zlib-Funktionen


Initialize an incremental deflate context

deflate_add
gzclose
Zlib-Funktionen
PHP Manual

deflate_init

(PHP 7)

deflate_init — Initialize an incremental deflate context

Beschreibung

resource deflate_init ( int $encoding [, array $options = array() ] )

Initializes an incremental deflate context using the specified encoding.

Note that the window option here only sets the window size of the algorithm, differently from the zlib filters where the same parameter also sets the encoding to use; the encoding must be set with the encoding parameter.

Limitation: there is currently no way to set the header information on a GZIP compressed stream, which are set as follows: GZIP signature (\x1f\x8B); compression method (\x08 == DEFLATE); 6 zero bytes; the operating system set to the current system (\x00 = Windows, \x03 = Unix, etc.)

Parameter-Liste

encoding

One of the ZLIB_ENCODING_* constants.

options

An associative array which may contain the following elements:

level

The compression level in range -1..9; defaults to -1.

memory

The compression memory level in range 1..9; defaults to 8.

window

The zlib window size (logarithmic) in range 8..15; defaults to 15.

strategy

One of ZLIB_FILTERED, ZLIB_HUFFMAN_ONLY, ZLIB_RLE, ZLIB_FIXED or ZLIB_DEFAULT_STRATEGY (the default).

dictionary

A string or an array of strings of the preset dictionary (default: no preset dictionary).

Rückgabewerte

Returns a deflate context resource (zlib.deflate) on success, Im Fehlerfall wird FALSE zurückgegeben..

Fehler/Exceptions

If an invalid option is passed to options or the context couldn't be created, an error of level E_WARNING is generated.

Siehe auch

  • deflate_add() - Incrementally deflate data
  • inflate_init() - Initialize an incremental inflate context
deflate_add
gzclose
Zlib-Funktionen


Schließt eine geöffnete gz-Datei

deflate_init
gzcompress
Zlib-Funktionen
PHP Manual

gzclose

(PHP 4, PHP 5, PHP 7)

gzclose — Schließt eine geöffnete gz-Datei

Beschreibung

bool gzclose ( resource $zp )

Schließt die angegebe gz-Datei Resource.

Parameter-Liste

zp

Die gz-Datei Resource. Dies muss auf eine gültige, erfolgreich mit gzopen() geöffnete Datei zeigen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 gzclose() Beispiel

<?php
$gz = gzopen('somefile.gz','w9');
gzputs ($gz, 'Ich wurde zu somefile.gz hinzugefügt');
gzclose($gz);
?>

Siehe auch

  • gzopen() - Öffnet gz-Dateien

deflate_init
gzcompress
Zlib-Funktionen


Komprimiert einen String

gzclose
gzdecode
Zlib-Funktionen
PHP Manual

gzcompress

(PHP 4 >= 4.0.1, PHP 5, PHP 7)

gzcompress — Komprimiert einen String

Beschreibung

string gzcompress ( string $data [, int $level = -1 [, int $encoding = ZLIB_ENCODING_DEFLATE ]] )

Diese Funktion komprimiert den gegebenen String mittels des ZLIB Daten Format.

Details zum ZLIB-Kompressionsalgorithmus finden Sie im Dokument "» ZLIB Compressed Data Format Specification version 3.3" (RFC 1950).

Hinweis:

Dies entspricht nicht der gzip-Kompression welche zusätzliche Kopfdaten enthält. Für gzip-Kompression nutzen Sie bitte gzencode().

Parameter-Liste

data

Die zu komprimierenden Daten.

level

Der Kompressionsgrad. Dieser reicht von 0 für keine Kompression bis 9 für maximale Kompression.

Wird -1 angegeben, wird die Standardkompression der zlib Bibliothek verwendet, die 6 ist.

encoding

Eine der ZLIB_ENCODING_* Konstanten.

Rückgabewerte

Der komprimierte String oder FALSE falls ein Fehler aufgetreten ist.

Beispiele

Beispiel #1 gzcompress() Beispiel

<?php
$compressed = gzcompress('Komprimiere nicht', 9);
echo $compressed;
?>

Changelog

Version | Beschreibung
5.4.0 | encoding Parameter hinzugefügt.

Siehe auch

  • gzdeflate() - Komprimiert eine Zeichenkette
  • gzinflate() - Dekomprimiere (inflate) eine komprimierte (deflate) Zeichenkette
  • gzuncompress() - Dekomprimiert einen komprimierten String
  • gzencode() - Create a gzip compressed string

gzclose
gzdecode
Zlib-Funktionen


Decodes a gzip compressed string

gzcompress
gzdeflate
Zlib-Funktionen
PHP Manual

gzdecode

(PHP 5 >= 5.4.0, PHP 7)

gzdecode — Decodes a gzip compressed string

Beschreibung

string gzdecode ( string $data [, int $length ] )

This function returns a decoded version of the input data.

Parameter-Liste

data

The data to decode, encoded by gzencode().

length

The maximum length of data to decode.

Rückgabewerte

The decoded string, or FALSE if an error occurred.

Siehe auch

  • gzencode() - Create a gzip compressed string

gzcompress
gzdeflate
Zlib-Funktionen


Komprimiert eine Zeichenkette

gzdecode
gzencode
Zlib-Funktionen
PHP Manual

gzdeflate

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gzdeflate — Komprimiert eine Zeichenkette

Beschreibung

string gzdeflate ( string $data [, int $level = -1 [, int $encoding = ZLIB_ENCODING_RAW ]] )

Diese Funktion komprimiert die übergebene Zeichenkette mit dem DEFLATE Daten Format.

Zu Einzelheiten bezüglich des DEFLATE Kompressions Algorithmus siehe das Dokument "» DEFLATE Compressed Data Format Specification version 1.3" (RFC 1951).

Parameter-Liste

data

Die zu komprimierenden (deflate == entleeren) Daten.

level

Der Komprimierungsfaktor. Kann von 0 für keine Kompression bis 9 für maximale Kompression übergeben werden. Wird er nicht übergeben, ist der Standard Komprimierungsfaktor der Standard Komprimierungsfaktor der zlib Bibliothek.

encoding

Eine der ZLIB_ENCODING_* Konstanten.

Rückgabewerte

Die komprimierte (entleerte) Zeichenkette oder FALSE wenn ein Fehler auftrat.

Beispiele

Beispiel #1 gzdeflate() Beispiel

<?php
$compressed = gzdeflate('Compress me', 9);
echo $compressed;
?>

Changelog

Version | Beschreibung
5.4.0 | encoding Parameter hinzugefügt.

Siehe auch

  • gzinflate() - Dekomprimiere (inflate) eine komprimierte (deflate) Zeichenkette
  • gzcompress() - Komprimiert einen String
  • gzuncompress() - Dekomprimiert einen komprimierten String
  • gzencode() - Create a gzip compressed string

gzdecode
gzencode
Zlib-Funktionen


Create a gzip compressed string

gzdeflate
gzeof
Zlib-Funktionen
PHP Manual

gzencode

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gzencode — Create a gzip compressed string

Beschreibung

string gzencode ( string $data [, int $level = -1 [, int $encoding_mode = FORCE_GZIP ]] )

This function returns a compressed version of the input data compatible with the output of the gzip program.

For more information on the GZIP file format, see the document: » GZIP file format specification version 4.3 (RFC 1952).

Parameter-Liste

data

The data to encode.

level

The level of compression. Can be given as 0 for no compression up to 9 for maximum compression. If not given, the default compression level will be the default compression level of the zlib library.

encoding_mode

The encoding mode. Can be FORCE_GZIP (the default) or FORCE_DEFLATE.

Prior to PHP 5.4.0, using FORCE_DEFLATE results in a standard zlib deflated string (inclusive zlib headers) after a gzip file header but without the trailing crc32 checksum.

In PHP 5.4.0 and later, FORCE_DEFLATE generates RFC 1950 compliant output, consisting of a zlib header, the deflated data, and an Adler checksum.

Rückgabewerte

The encoded string, or FALSE if an error occurred.

Changelog

Version | Beschreibung
5.4.0 | FORCE_DEFLATE now generates RFC 1950 compliant output.

Beispiele

The resulting data contains the appropriate headers and data structure to make a standard .gz file, e.g.:

Beispiel #1 Creating a gzip file

<?php
$data = implode("", file("bigfile.txt"));
$gzdata = gzencode($data, 9);
$fp = fopen("bigfile.txt.gz", "w");
fwrite($fp, $gzdata);
fclose($fp);
?>

Siehe auch

  • gzdecode() - Decodes a gzip compressed string
  • gzdeflate() - Komprimiert eine Zeichenkette
  • gzinflate() - Dekomprimiere (inflate) eine komprimierte (deflate) Zeichenkette
  • gzuncompress() - Dekomprimiert einen komprimierten String
  • gzcompress() - Komprimiert einen String
  • » ZLIB Compressed Data Format Specification (RFC 1950)

gzdeflate
gzeof
Zlib-Funktionen


Prüfe auf EOF bei einem gz-Datei Descriptor

gzencode
gzfile
Zlib-Funktionen
PHP Manual

gzeof

(PHP 4, PHP 5, PHP 7)

gzeof — Prüfe auf EOF bei einem gz-Datei Descriptor

Beschreibung

int gzeof ( resource $zp )

Prüft den übergebenen GZ Dateidescriptor auf EOF.

Parameter-Liste

zp

Der gz-Datei Deskriptor. Er muss gültig sein und muss auf eine Datei zeigen, die erfolgreich mit gzopen() geöffnet wurde.

Rückgabewerte

Gibt TRUE zurück wenn der gz-Datei Deskriptor an EOF (Dateiende) ist oder ein Fehler auftritt; gibt ansonst FALSE zurück.

Beispiele

Beispiel #1 gzeof() Beispiel

<?php
$gz = gzopen('somefile.gz', 'r');
while (!gzeof($gz)) {
  echo gzgetc($gz);
}
gzclose($gz);
?>

gzencode
gzfile
Zlib-Funktionen


Read entire gz-file into an array

gzeof
gzgetc
Zlib-Funktionen
PHP Manual

gzfile

(PHP 4, PHP 5, PHP 7)

gzfile — Read entire gz-file into an array

Beschreibung

array gzfile ( string $filename [, int $use_include_path = 0 ] )

Diese Funktion entspricht weitgehend readgzfile(), gibt die Datei aber in einem Array zurück.

Parameter-Liste

filename

Der Dateiname.

use_include_path

Sie können diesen optionalen Parameter auf 1 setzen wenn Sie die Datei auch im include_path suchen lassen wollen.

Rückgabewerte

Ein Array, das die Zeilen der Datei als Elemente enthält. Leere Zeilen sind enthalten, und Zeilenumbrüche sind noch angefügt.

Beispiele

Beispiel #1 gzfile() example

<?php
$lines = gzfile('somefile.gz');
foreach ($lines as $line) {
    echo $line;
}
?>

Siehe auch

  • readgzfile() - Gibt eine gz-komprimierte Datei aus
  • gzopen() - Öffnet gz-Dateien

gzeof
gzgetc
Zlib-Funktionen


Hole Zeichen von gz-Datei Deskriptor

gzfile
gzgets
Zlib-Funktionen
PHP Manual

gzgetc

(PHP 4, PHP 5, PHP 7)

gzgetc — Hole Zeichen von gz-Datei Deskriptor

Beschreibung

string gzgetc ( resource $zp )

Gibt eine Zeichenkette zurück, die ein einzelnes (unkomprimiertes) Zeichen, gelesen von dem übergebenen gz-Datei Deskriptor.

Parameter-Liste

zp

Der gz-Datei Deskriptor. Er muss gültig sein und auf eine mit gzopen() erfolgreiche geöffnete Datei zeigen.

Rückgabewerte

Das unkomprimierte Zeichen oder FALSE bei EOF (ungleich gzeof()).

Beispiele

Beispiel #1 gzgetc() Beispiel

<?php
$gz = gzopen('somefile.gz', 'r');
while (!gzeof($gz)) {
  echo gzgetc($gz);
}
gzclose($gz);
?>

Siehe auch

  • gzopen() - Öffnet gz-Dateien
  • gzgets() - Get line from file pointer

gzfile
gzgets
Zlib-Funktionen


Get line from file pointer

gzgetc
gzgetss
Zlib-Funktionen
PHP Manual

gzgets

(PHP 4, PHP 5, PHP 7)

gzgets — Get line from file pointer

Beschreibung

string gzgets ( resource $zp [, int $length ] )

Gets a (uncompressed) string of up to length - 1 bytes read from the given file pointer. Reading ends when length - 1 bytes have been read, on a newline, or on EOF (whichever comes first).

Parameter-Liste

zp

The gz-file pointer. It must be valid, and must point to a file successfully opened by gzopen().

length

The length of data to get.

Rückgabewerte

The uncompressed string, or FALSE on error.

Beispiele

Beispiel #1 gzgets() example

<?php
$handle = gzopen('somefile.gz', 'r');
while (!gzeof($handle)) {
   $buffer = gzgets($handle, 4096);
   echo $buffer;
}
gzclose($handle);
?>

Siehe auch

  • gzopen() - Öffnet gz-Dateien
  • gzgetc() - Hole Zeichen von gz-Datei Deskriptor
  • gzwrite() - Ausgabe in gz-komprimierte Dateien

gzgetc
gzgetss
Zlib-Funktionen


Get line from gz-file pointer and strip HTML tags

gzgets
gzinflate
Zlib-Funktionen
PHP Manual

gzgetss

(PHP 4, PHP 5, PHP 7)

gzgetss — Get line from gz-file pointer and strip HTML tags

Beschreibung

string gzgetss ( resource $zp , int $length [, string $allowable_tags ] )

Identisch zu gzgets(), außer dass gzgetss() versucht, HTML und PHP Tags aus dem gelesenen Text zu entfernen.

Parameter-Liste

zp

Der gz-Datei Deskriptor. Er muss gültig sein und auf eine mit gzopen() erfolgreiche geöffnete Datei zeigen.

length

Die Länge der zu erhaltenden Daten.

allowable_tags

Dieser optionale Parameter kann genutzt werden, um Tags anzugeben, die nicht entfernt werden sollen.

Rückgabewerte

Die unkomprimierte und bereinigte Zeichenkette oder FALSE bei Fehlern.

Beispiele

Beispiel #1 gzgetss() Beispiel

<?php
$handle = gzopen('somefile.gz', 'r');
while (!gzeof($handle)) {
   $buffer = gzgetss($handle, 4096);
   echo $buffer;
}
gzclose($handle);
?>

Siehe auch

  • gzopen() - Öffnet gz-Dateien
  • gzgets() - Get line from file pointer
  • strip_tags() - Entfernt HTML- und PHP-Tags aus einem String

gzgets
gzinflate
Zlib-Funktionen


Dekomprimiere (inflate) eine komprimierte (deflate) Zeichenkette

gzgetss
gzopen
Zlib-Funktionen
PHP Manual

gzinflate

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gzinflate — Dekomprimiere (inflate) eine komprimierte (deflate) Zeichenkette

Beschreibung

string gzinflate ( string $data [, int $length = 0 ] )

Diese Funktion dekomprimiert eine Zeichenkette, die mit dem DEFLATE Kompressions Algorithmus komprimiert wurde.

Parameter-Liste

data

Die Daten, die mitgzdeflate() komprimiert wurden.

length

Die maximale Länge der zu dekodierenden Daten.

Rückgabewerte

Die originalen unkomprimierten Daten oder FALSE bei Fehlern.

Diese Funktion wird einen Fehler zurückgeben, wenn die Länge der unkomprimierten Daten mehr als das 32768-fache der Länge der komprimierten Eingabe data oder größer als der optionale Parameterlength ist.

Beispiele

Beispiel #1 gzinflate() Beispiel

<?php
$compressed   = gzdeflate('Compress me', 9);
$uncompressed = gzinflate($compressed);
echo $uncompressed;
?>

Siehe auch

  • gzdeflate() - Komprimiert eine Zeichenkette
  • gzcompress() - Komprimiert einen String
  • gzuncompress() - Dekomprimiert einen komprimierten String
  • gzencode() - Create a gzip compressed string

gzgetss
gzopen
Zlib-Funktionen


Öffnet gz-Dateien

gzinflate
gzpassthru
Zlib-Funktionen
PHP Manual

gzopen

(PHP 4, PHP 5, PHP 7)

gzopen — Öffnet gz-Dateien

Beschreibung

resource gzopen ( string $filename , string $mode [, int $use_include_path = 0 ] )

Öffnet eine gzip (.gz) Datei zum Lesen oder Schreiben.

gzopen() kann auch Dateien lesen die nicht im gzip-Format vorliegen. In diesem Fall liest gzread() direkt aus der Datei ohne zu entpacken.

Parameter-Liste

filename

Der Dateiname.

mode

Wie in fopen() (rb oder wb), allerdings kann auch der Kompressionsgrad (wb9) oder die Strategie angegeben werden: f für gefilterte Daten (wb6f) oder h für Huffman-Kompression (wb1h). (Weitere Informationen über den Strategieparameter finden Sie in der Beschreibung zu deflateInit2 in zlib.h.)

use_include_path

Sie können diesen optionalen Parameter auf 1 setzen um die Datei auch im include_path suchen zu lassen.

Rückgabewerte

Gibt einen Dateidescriptor auf die geöffnete Datei zurück. Alles was Sie von nun an hieraus lesen wird transparaent entpackt und alles was Sie schreiben wird komprimiert.

Schlägt das Öffnen fehl so gibt die Funktion FALSE zurück.

Beispiele

Beispiel #1 gzopen() Beispiel

<?php
$fp = gzopen("/tmp/file.gz", "r");
?>

Siehe auch

  • gzclose() - Schließt eine geöffnete gz-Datei

gzinflate
gzpassthru
Zlib-Funktionen


Gibt alle verbleibenden Daten eines gz-Datei Deskriptors aus

gzopen
gzputs
Zlib-Funktionen
PHP Manual

gzpassthru

(PHP 4, PHP 5, PHP 7)

gzpassthru — Gibt alle verbleibenden Daten eines gz-Datei Deskriptors aus

Beschreibung

int gzpassthru ( resource $zp )

Liest bis EOF von der aktuellen Position auf dem übergebenen gz-Datei Deskriptor und schreibt die (unkomprimierten) Ergebnisse auf die Standard Ausgabe.

Hinweis:

Eventuell müssen sie gzrewind() aufrufen, um den Datei Deskriptor auf den Anfang der Datei zurückzusetzen, falls sie schon Daten dorthin geschrieben haben.

Tipp

Wenn sie einfach den Inhalt einer Datei in den Ausgabe Puffer ausgeben wollen, ohne sie zuerst zu verändern oder zu einem bestimmten Offset zu springen (seek), können sie readgzfile() nutzen, was den gzopen() Aufruf spart.

Parameter-Liste

zp

Der gz-Datei Deskriptor. Er muss gültig sein und auf eine mit gzopen() erfolgreiche geöffnete Datei zeigen.

Rückgabewerte

Die Anzahl umkomprimierter Zeichen gelesen von gz und durchgereicht zu der Eingabe oder FALSE bei Fehlern.

Beispiele

Beispiel #1 gzpassthru() example

<?php
$fp = gzopen('file.gz', 'r');
gzpassthru($fp);
gzclose($fp);
?>

gzopen
gzputs
Zlib-Funktionen


Alias von gzwrite

gzpassthru
gzread
Zlib-Funktionen
PHP Manual

gzputs

(PHP 4, PHP 5, PHP 7)

gzputs — Alias von gzwrite()

Beschreibung

Diese Funktion ist ein Alias für: gzwrite().

gzpassthru
gzread
Zlib-Funktionen


Liest binary-safe aus einer gz-Datei

gzputs
gzrewind
Zlib-Funktionen
PHP Manual

gzread

(PHP 4, PHP 5, PHP 7)

gzread — Liest binary-safe aus einer gz-Datei

Beschreibung

string gzread ( resource $zp , int $length )

gzread() liest bis zu length Bytes aus der gegebenen gz-Datei Resource. Lesen stoppt, wenn length (unkomprimierte) Bytes gelesen wurden oder EOF (Dateiende) erreicht wurde, je nachdem, was zuerst eintrifft.

Parameter-Liste

zp

Die gz-Datei Ressource. Dies muss auf eine gültige, erfolgreich mit gzopen() geöffnete Datei zeigen.

length

Die Anzahl der zu lesenden Bytes.

Rückgabewerte

Die gelesenen Daten.

Beispiele

Beispiel #1 gzread() Beispiel

<?php
// Liest den Inhalt einer gz-Datei in einen String
$filename = "/usr/local/something.txt.gz";
$zd = gzopen($filename, "r");
$contents = gzread($zd, 10000);
gzclose($zd);
?>

Siehe auch

  • gzwrite() - Ausgabe in gz-komprimierte Dateien
  • gzopen() - Öffnet gz-Dateien
  • gzgets() - Get line from file pointer
  • gzgetss() - Get line from gz-file pointer and strip HTML tags
  • gzfile() - Read entire gz-file into an array
  • gzpassthru() - Gibt alle verbleibenden Daten eines gz-Datei Deskriptors aus

gzputs
gzrewind
Zlib-Funktionen


Setzt die Dateiposition auf den Anfang zurück

gzread
gzseek
Zlib-Funktionen
PHP Manual

gzrewind

(PHP 4, PHP 5, PHP 7)

gzrewind — Setzt die Dateiposition auf den Anfang zurück

Beschreibung

bool gzrewind ( resource $zp )

Setzt die Schreib-/Leseposition der gz-Datei Resource auf den Anfang des Streams zurück.

Parameter-Liste

zp

Die gz-Datei Resource. Dies muss auf eine gültige, erfolgreich mit gzopen() geöffnete Datei zeigen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • gzseek() - Positioniert innerhalb einer gz-Datei
  • gztell() - Ermittelt die aktuelle Position in einer gz-Datei

gzread
gzseek
Zlib-Funktionen


Positioniert innerhalb einer gz-Datei

gzrewind
gztell
Zlib-Funktionen
PHP Manual

gzseek

(PHP 4, PHP 5, PHP 7)

gzseek — Positioniert innerhalb einer gz-Datei

Beschreibung

int gzseek ( resource $zp , int $offset [, int $whence = SEEK_SET ] )

Setzt die Schreib-/Leseposition für die angegebene Datei. Dies entspricht dem C-API Aufruf gzseek(zp, offset, SEEK_SET).

Wenn die Datei für Lesezugriffe geöffnet ist wird diese Funktion emuliert und kann sehr langsam sein. Wenn die Datei zum Schreiben geöffnet ist kann nur vorwärts positioniert werden, die Funktion komprimiert dann eine Sequenz von Nullbytes um die gewünschte Position zu erreichen.

Parameter-Liste

zp

Die gz-Datei Resource. Dies muss auf eine gültige, erfolgreich mit gzopen() geöffnete Datei zeigen.

offset

Die gewünschte Position.

whence

whence gibt an auf welche Anfangsposition sich offset bezieht. Mögliche Werte sind:

  • SEEK_SET - Setzt die Position auf offset Bytes vom Dataianfang.
  • SEEK_CUR - Verschiebt die Position um offset Bytes ausgehend von der aktuellen Position.

Wird whence nicht angegeben so wird SEEK_SET angenommen.

Rückgabewerte

Gibt 0 bei Erfolg und -1 bei Fehlern zurück. Beachten Sie das eine Suche über das Dateiende hinaus nicht als Fehler gilt.

Beispiele

Beispiel #1 gzseek() Beispiel

<?php
$gz = gzopen('somefile.gz', 'r');
gzseek($gz,2);
echo gzgetc($gz);
gzclose($gz);
?>

Siehe auch

  • gztell() - Ermittelt die aktuelle Position in einer gz-Datei
  • gzrewind() - Setzt die Dateiposition auf den Anfang zurück

gzrewind
gztell
Zlib-Funktionen


Ermittelt die aktuelle Position in einer gz-Datei

gzseek
gzuncompress
Zlib-Funktionen
PHP Manual

gztell

(PHP 4, PHP 5, PHP 7)

gztell — Ermittelt die aktuelle Position in einer gz-Datei

Beschreibung

int gztell ( resource $zp )

Gibt die aktuelle Schreib-/Leseposition innerhalb der gegebenen gz-Datei zurück. Diese entspricht dem Offset in die nicht komprimierten Dateidaten.

Parameter-Liste

zp

Die gz-Datei Resource. Dies muss auf eine gültige, erfolgreich mit gzopen() geöffnete Datei zeigen.

Rückgabewerte

Die aktuelle Dateiposition oder FALSE bei Fehlern.

Siehe auch

  • gzopen() - Öffnet gz-Dateien
  • gzseek() - Positioniert innerhalb einer gz-Datei
  • gzrewind() - Setzt die Dateiposition auf den Anfang zurück

gzseek
gzuncompress
Zlib-Funktionen


Dekomprimiert einen komprimierten String

gztell
gzwrite
Zlib-Funktionen
PHP Manual

gzuncompress

(PHP 4 >= 4.0.1, PHP 5, PHP 7)

gzuncompress — Dekomprimiert einen komprimierten String

Beschreibung

string gzuncompress ( string $data [, int $length = 0 ] )

Diese Funktion dekomprimiert einen komprimierten String.

Parameter-Liste

data

Mit gzcompress() komprimierte Daten

length

Die maximale Länge der dekodierten Daten.

Rückgabewerte

Die ursprünglichen nicht komprimierten Daten oder FALSE bei Fehlern.

Die Funktion gibt einen Fehler zurück wenn die unkomprimierten Daten mehr als 32768 mal so lang sind wie die komprimierte Eingabe oder länger als mit dem optionalen Parameter length angegeben.

Beispiele

Beispiel #1 gzuncompress() Beispiel

<?php
$compressed   = gzcompress('Compress me', 9);
$uncompressed = gzuncompress($compressed);
echo $uncompressed;
?>

Siehe auch

  • gzcompress() - Komprimiert einen String
  • gzinflate() - Dekomprimiere (inflate) eine komprimierte (deflate) Zeichenkette
  • gzdeflate() - Komprimiert eine Zeichenkette
  • gzencode() - Create a gzip compressed string

gztell
gzwrite
Zlib-Funktionen


Ausgabe in gz-komprimierte Dateien

gzuncompress
inflate_add
Zlib-Funktionen
PHP Manual

gzwrite

(PHP 4, PHP 5, PHP 7)

gzwrite — Ausgabe in gz-komprimierte Dateien

Beschreibung

int gzwrite ( resource $zp , string $string [, int $length ] )

gzwrite() schreibt den Inhalt von string in die angegebene gz-Datei aus.

Parameter-Liste

zp

Eine gz-Datei Resource. Diese muss gültig sein und auf eine Datei zeigen die erfolgreich mit gzopen() geöffnet wurde.

string

Der auszugebende String.

length

Die Anzahl unkomprimierter Bytes die ausgegeben werden soll. Wenn angegeben wird nach length geschriebenen Bytes aus string abgebrochen wenn bis dahin das Ende des Strings nicht erreicht ist.

Hinweis:

Beachten Sie das der magic_quotes_runtime Konfigurationsparameter ignoriert wird und keine Slashes aus string entfernt werden wenn der optionale Parameter length übergeben wird.

Rückgabewerte

Gibt die Anzahl der (unkomprimierten) Bytes zurück die auf den gegebenen gz-Stream ausgegeben wurden.

Beispiele

Beispiel #1 gzwrite() Beispiel

<?php
$string = 'Zu komprimierende Daten';
$gz = gzopen('somefile.gz','w9');
gzwrite($gz, $string);
gzclose($gz);
?>

Siehe auch

  • gzread() - Liest binary-safe aus einer gz-Datei
  • gzopen() - Öffnet gz-Dateien

gzuncompress
inflate_add
Zlib-Funktionen


Incrementally inflate encoded data

gzwrite
inflate_init
Zlib-Funktionen
PHP Manual

inflate_add

(PHP 7)

inflate_add — Incrementally inflate encoded data

Beschreibung

string inflate_add ( resource $context , string $encoded_data [, int $flush_mode = ZLIB_SYNC_FLUSH ] )

Incrementally inflates encoded data in the specified context.

Limitation: header information from GZIP compressed data are not made available.

Parameter-Liste

context

A context created with inflate_init().

encoded_data

A chunk of compressed data.

flush_mode

One of ZLIB_BLOCK, ZLIB_NO_FLUSH, ZLIB_PARTIAL_FLUSH, ZLIB_SYNC_FLUSH (default), ZLIB_FULL_FLUSH, ZLIB_FINISH. Normally you will want to set ZLIB_NO_FLUSH to maximize compression, and ZLIB_FINISH to terminate with the last chunk of data. See the » zlib manual for a detailed description of these constants.

Rückgabewerte

Returns a chunk of uncompressed data, Im Fehlerfall wird FALSE zurückgegeben..

Fehler/Exceptions

If invalid parameters are given, inflating the data requires a preset dictionary, but none is specified, the compressed stream is corrupt or has an invalid checksum, an error of level E_WARNING is generated.

Siehe auch

  • inflate_init() - Initialize an incremental inflate context
gzwrite
inflate_init
Zlib-Funktionen


Initialize an incremental inflate context

inflate_add
readgzfile
Zlib-Funktionen
PHP Manual

inflate_init

(PHP 7)

inflate_init — Initialize an incremental inflate context

Beschreibung

resource inflate_init ( int $encoding [, array $options = array() ] )

Initialize an incremental inflate context with the specified encoding.

Parameter-Liste

encoding

One of the ZLIB_ENCODING_* constants.

options

An associative array which may contain the following elements:

level

The compression level in range -1..9; defaults to -1.

memory

The compression memory level in range 1..9; defaults to 8.

window

The zlib window size (logarithmic) in range 8..15; defaults to 15.

strategy

One of ZLIB_FILTERED, ZLIB_HUFFMAN_ONLY, ZLIB_RLE, ZLIB_FIXED or ZLIB_DEFAULT_STRATEGY (the default).

dictionary

A string or an array of strings of the preset dictionary (default: no preset dictionary).

Rückgabewerte

Returns an inflate context resource (zlib.inflate) on success, Im Fehlerfall wird FALSE zurückgegeben..

Fehler/Exceptions

If an invalid encoding or option is passed to options, or the context couldn't be created, an error of level E_WARNING is generated.

Siehe auch

  • inflate_add() - Incrementally inflate encoded data
  • deflate_init() - Initialize an incremental deflate context
inflate_add
readgzfile
Zlib-Funktionen


Gibt eine gz-komprimierte Datei aus

inflate_init
zlib_decode
Zlib-Funktionen
PHP Manual

readgzfile

(PHP 4, PHP 5, PHP 7)

readgzfile — Gibt eine gz-komprimierte Datei aus

Beschreibung

int readgzfile ( string $filename [, int $use_include_path = 0 ] )

Liest eine Datei, dekomprimiert sie und gibt das Ergebnis auf die Standardausgabe aus.

readgzfile() kann auch Dateien lesen die nicht im gzip Format vorliegen; in diesem Fall wird der Inhalt der Datei direkt ohne Dekomprimierung ausgegeben.

Parameter-Liste

filename

Der Dateiname. Die Datei wird geöffnet und ihr Inhalt auf die Standartausgabe ausgegeben.

use_include_path

Sie können diesen Parameter auf 1 setzen wenn die Datei auch im include_path gesucht werden soll.

Rückgabewerte

Gibt die Anzahl der ausgegebenen Zeichen zurück. Falls ein Fehler auftritt wird FALSE zurückgegeben, außerdem wird eine Fehlermeldung ausgegeben es sei denn die Funktion wurde als @readgzfile aufgerufen. printed.

Siehe auch

  • gzpassthru() - Gibt alle verbleibenden Daten eines gz-Datei Deskriptors aus
  • gzfile() - Read entire gz-file into an array
  • gzopen() - Öffnet gz-Dateien

inflate_init
zlib_decode
Zlib-Funktionen


raw/gzip/zlib kodierte Daten dekomprimieren

readgzfile
zlib_encode
Zlib-Funktionen
PHP Manual

zlib_decode

(PHP 5 >= 5.4.0, PHP 7)

zlib_decode — raw/gzip/zlib kodierte Daten dekomprimieren

Beschreibung

string zlib_decode ( string $data [, string $max_decoded_len ] )

raw/gzip/zlib kodierte Daten dekomprimieren.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

data

max_decoded_len

Rückgabewerte

Gibt die unkomprimierten Daten zurück. Im Fehlerfall wird FALSE zurückgegeben..

Siehe auch

  • zlib_encode() - Komprimiert Daten mit der gewählten Kodierung
readgzfile
zlib_encode
Zlib-Funktionen


Komprimiert Daten mit der gewählten Kodierung

zlib_decode
zlib_get_coding_type
Zlib-Funktionen
PHP Manual

zlib_encode

(PHP 5 >= 5.4.0, PHP 7)

zlib_encode — Komprimiert Daten mit der gewählten Kodierung

Beschreibung

string zlib_encode ( string $data , string $encoding [, string $level = -1 ] )

Komprimiert Daten mit der gewählten Kodierung.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

data

Die zu komprimierenden Daten.

encoding

Der Komprimierungsalgorithmus. Entweder ZLIB_ENCODING_RAW, ZLIB_ENCODING_DEFLATE oder ZLIB_ENCODING_GZIP.

level

Rückgabewerte

Beispiele

Beispiel #1 zlib_encode() Beispiel

<?php
$str = 'hallo welt';
$enc = zlib_encode($str, ZLIB_ENCODING_DEFLATE);
echo bin2hex($enc);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

789ccb48ccc9c957284fcd290100156803ed

Siehe auch

  • zlib_decode() - raw/gzip/zlib kodierte Daten dekomprimieren
zlib_decode
zlib_get_coding_type
Zlib-Funktionen


Gibt die für Ausgabekomprimierung genutze Methode zurück

zlib_encode
Kreditkartendaten-Verarbeitung
Zlib-Funktionen
PHP Manual

zlib_get_coding_type

(PHP 4 >= 4.3.2, PHP 5, PHP 7)

zlib_get_coding_type — Gibt die für Ausgabekomprimierung genutze Methode zurück

Beschreibung

string zlib_get_coding_type ( void )

Gibt die für Ausgabekomprimierung genutze Methode zurück.

Rückgabewerte

Mögliche Ergebnisse sind gzip, deflate, oder FALSE.

Siehe auch

  • Die zlib.output_compression Direktive.

zlib_encode
Kreditkartendaten-Verarbeitung
Zlib-Funktionen


Kreditkartendaten-Verarbeitung

  • MCVE — MCVE (Monetra) Payment
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • MCVE Funktionen
zlib_get_coding_type
MCVE
Funktionsreferenz


MCVE (Monetra) Payment

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • MCVE Funktionen
    • m_checkstatus — Check to see if a transaction has completed
    • m_completeauthorizations — Number of complete authorizations in queue, returning an array of their identifiers
    • m_connect — Establish the connection to MCVE
    • m_connectionerror — Get a textual representation of why a connection failed
    • m_deletetrans — Delete specified transaction from MCVE_CONN structure
    • m_destroyconn — Destroy the connection and MCVE_CONN structure
    • m_destroyengine — Free memory associated with IP/SSL connectivity
    • m_getcell — Get a specific cell from a comma delimited response by column name
    • m_getcellbynum — Get a specific cell from a comma delimited response by column number
    • m_getcommadelimited — Get the RAW comma delimited data returned from MCVE
    • m_getheader — Get the name of the column in a comma-delimited response
    • m_initconn — Create and initialize an MCVE_CONN structure
    • m_initengine — Ready the client for IP/SSL Communication
    • m_iscommadelimited — Checks to see if response is comma delimited
    • m_maxconntimeout — The maximum amount of time the API will attempt a connection to MCVE
    • m_monitor — Perform communication with MCVE (send/receive data) Non-blocking
    • m_numcolumns — Number of columns returned in a comma delimited response
    • m_numrows — Number of rows returned in a comma delimited response
    • m_parsecommadelimited — Parse the comma delimited response so m_getcell, etc will work
    • m_responsekeys — Returns array of strings which represents the keys that can be used for response parameters on this transaction
    • m_responseparam — Get a custom response parameter
    • m_returnstatus — Check to see if the transaction was successful
    • m_setblocking — Set blocking/non-blocking mode for connection
    • m_setdropfile — Set the connection method to Drop-File
    • m_setip — Set the connection method to IP
    • m_setssl_cafile — Set SSL CA (Certificate Authority) file for verification of server certificate
    • m_setssl_files — Set certificate key files and certificates if server requires client certificate verification
    • m_setssl — Set the connection method to SSL
    • m_settimeout — Set maximum transaction time (per trans)
    • m_sslcert_gen_hash — Generate hash for SSL client certificate verification
    • m_transactionssent — Check to see if outgoing buffer is clear
    • m_transinqueue — Number of transactions in client-queue
    • m_transkeyval — Add key/value pair to a transaction. Replaces deprecated transparam()
    • m_transnew — Start a new transaction
    • m_transsend — Finalize and send the transaction
    • m_uwait — Wait x microsecs
    • m_validateidentifier — Whether or not to validate the passed identifier on any transaction it is passed to
    • m_verifyconnection — Set whether or not to PING upon connect to verify connection
    • m_verifysslcert — Set whether or not to verify the server ssl certificate
Kreditkartendaten-Verarbeitung
Einführung
Kreditkartendaten-Verarbeitung


Einführung

These functions interface the MCVE (Monetra) API (libmonetra, formerly known as libmcve), allowing you to work directly with MCVE/Monetra from your PHP scripts. MCVE/Monetra is Main Street Softworks' solution to direct credit/debit/gift card processing for Linux/Unix/MacOSX/Windows ( » http://www.mainstreetsoftworks.com/ ). It lets you directly address the credit card clearing houses via your *nix box, modem and/or internet connection (bypassing the need for an additional service such as Authorize.Net or Pay Flow Pro). Using the MCVE/Monetra module for PHP, you can process credit cards directly through MCVE/Monetra via your PHP scripts. The following references will outline the process.

Hinweis:

MCVE/Monetra is the replacement for RedHat's CCVS. They contracted with RedHat in late 2001 to migrate all existing clientele to the MCVE platform.

Hinweis:

Diese Erweiterung wurde ins » PECL-Repositorium verschoben und ist nicht mehr Teil von PHP ab PHP 5.1.0.

Hinweis: Diese Erweiterung steht auf Windows-Betriebssystemen nicht zur Verfügung.

MCVE
Installation/Konfiguration
MCVE


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
MCVE


Anforderungen

The LibMonetra (formerly libmcve) library.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/mcve.

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

If installing without specifying the libmonetra path, PHP will attempt to look in the default LibMonetra Install location (/usr/local). If Monetra (MCVE) is in a non-standard location, run configure with: --with-mcve=$mcve_path , where $mcve_path is the path to your MCVE/Monetra installation. Please note that MCVE/Monetra support requires that $mcve_path/lib and $mcve_path/include exist, and include mcve.h or monetra.h under the include directory and libmcve.so and/or libmcve.a and/or libmonetra.so and/or libmonetra.a under the lib directory.

Since MCVE/Monetra has true server/client separation, there are no additional requirements for running PHP with MCVE support. To test your MCVE/Monetra extension in PHP, you may connect to testbox.monetra.com on port 8333 for IP, or port 8444 for SSL using the MCVE/Monetra PHP API. Use 'vitale' for your username, and 'test' for your password. Additional information about test facilities are available at » http://www.mainstreetsoftworks.com/.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Ressource-Typen

This extension defines a MCVE_CONN resource returned by m_initconn().

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

M_PENDING (integer)
M_DONE (integer)
M_ERROR (integer)
M_FAIL (integer)
M_SUCCESS (integer)
Ressource-Typen
MCVE Funktionen
MCVE


MCVE Funktionen

Siehe auch

Additional documentation about MCVE/Monetra's PHP API can be found at » http://www.mainstreetsoftworks.com/documentation.html. Main Street's documentation is complete and should be the primary reference for functions.

Inhaltsverzeichnis

  • m_checkstatus — Check to see if a transaction has completed
  • m_completeauthorizations — Number of complete authorizations in queue, returning an array of their identifiers
  • m_connect — Establish the connection to MCVE
  • m_connectionerror — Get a textual representation of why a connection failed
  • m_deletetrans — Delete specified transaction from MCVE_CONN structure
  • m_destroyconn — Destroy the connection and MCVE_CONN structure
  • m_destroyengine — Free memory associated with IP/SSL connectivity
  • m_getcell — Get a specific cell from a comma delimited response by column name
  • m_getcellbynum — Get a specific cell from a comma delimited response by column number
  • m_getcommadelimited — Get the RAW comma delimited data returned from MCVE
  • m_getheader — Get the name of the column in a comma-delimited response
  • m_initconn — Create and initialize an MCVE_CONN structure
  • m_initengine — Ready the client for IP/SSL Communication
  • m_iscommadelimited — Checks to see if response is comma delimited
  • m_maxconntimeout — The maximum amount of time the API will attempt a connection to MCVE
  • m_monitor — Perform communication with MCVE (send/receive data) Non-blocking
  • m_numcolumns — Number of columns returned in a comma delimited response
  • m_numrows — Number of rows returned in a comma delimited response
  • m_parsecommadelimited — Parse the comma delimited response so m_getcell, etc will work
  • m_responsekeys — Returns array of strings which represents the keys that can be used for response parameters on this transaction
  • m_responseparam — Get a custom response parameter
  • m_returnstatus — Check to see if the transaction was successful
  • m_setblocking — Set blocking/non-blocking mode for connection
  • m_setdropfile — Set the connection method to Drop-File
  • m_setip — Set the connection method to IP
  • m_setssl_cafile — Set SSL CA (Certificate Authority) file for verification of server certificate
  • m_setssl_files — Set certificate key files and certificates if server requires client certificate verification
  • m_setssl — Set the connection method to SSL
  • m_settimeout — Set maximum transaction time (per trans)
  • m_sslcert_gen_hash — Generate hash for SSL client certificate verification
  • m_transactionssent — Check to see if outgoing buffer is clear
  • m_transinqueue — Number of transactions in client-queue
  • m_transkeyval — Add key/value pair to a transaction. Replaces deprecated transparam()
  • m_transnew — Start a new transaction
  • m_transsend — Finalize and send the transaction
  • m_uwait — Wait x microsecs
  • m_validateidentifier — Whether or not to validate the passed identifier on any transaction it is passed to
  • m_verifyconnection — Set whether or not to PING upon connect to verify connection
  • m_verifysslcert — Set whether or not to verify the server ssl certificate
Vordefinierte Konstanten
m_checkstatus
MCVE


Check to see if a transaction has completed

MCVE Funktionen
m_completeauthorizations
MCVE Funktionen
PHP Manual

m_checkstatus

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_checkstatus — Check to see if a transaction has completed

Beschreibung

int m_checkstatus ( resource $conn , int $identifier )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

conn

Eine von m_initengine() zurückgegebene MCVE_CONN-Ressource.

identifier

Rückgabewerte

MCVE Funktionen
m_completeauthorizations
MCVE Funktionen


Number of complete authorizations in queue, returning an array of their identifiers

m_checkstatus
m_connect
MCVE Funktionen
PHP Manual

m_completeauthorizations

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_completeauthorizations — Number of complete authorizations in queue, returning an array of their identifiers

Beschreibung

int m_completeauthorizations ( resource $conn , int &$array )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

conn

Eine von m_initengine() zurückgegebene MCVE_CONN-Ressource.

array

Its description

Rückgabewerte

What the function returns, first on success, then on failure. See also the &return.success; entity

m_checkstatus
m_connect
MCVE Funktionen


Establish the connection to MCVE

m_completeauthorizations
m_connectionerror
MCVE Funktionen
PHP Manual

m_connect

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_connect — Establish the connection to MCVE

Beschreibung

int m_connect ( resource $conn )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

conn

Eine von m_initengine() zurückgegebene MCVE_CONN-Ressource.

Rückgabewerte

m_completeauthorizations
m_connectionerror
MCVE Funktionen


Get a textual representation of why a connection failed

m_connect
m_deletetrans
MCVE Funktionen
PHP Manual

m_connectionerror

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_connectionerror — Get a textual representation of why a connection failed

Beschreibung

string m_connectionerror ( resource $conn )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

conn

Eine von m_initengine() zurückgegebene MCVE_CONN-Ressource.

Rückgabewerte

m_connect
m_deletetrans
MCVE Funktionen


Delete specified transaction from MCVE_CONN structure

m_connectionerror
m_destroyconn
MCVE Funktionen
PHP Manual

m_deletetrans

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_deletetrans — Delete specified transaction from MCVE_CONN structure

Beschreibung

bool m_deletetrans ( resource $conn , int $identifier )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

conn

Eine von m_initengine() zurückgegebene MCVE_CONN-Ressource.

identifier

Rückgabewerte

m_connectionerror
m_destroyconn
MCVE Funktionen


Destroy the connection and MCVE_CONN structure

m_deletetrans
m_destroyengine
MCVE Funktionen
PHP Manual

m_destroyconn

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_destroyconn — Destroy the connection and MCVE_CONN structure

Beschreibung

bool m_destroyconn ( resource $conn )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

conn

Eine von m_initengine() zurückgegebene MCVE_CONN-Ressource.

Rückgabewerte

Returns TRUE.

Siehe auch

  • m_initconn() - Create and initialize an MCVE_CONN structure

m_deletetrans
m_destroyengine
MCVE Funktionen


Free memory associated with IP/SSL connectivity

m_destroyconn
m_getcell
MCVE Funktionen
PHP Manual

m_destroyengine

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_destroyengine — Free memory associated with IP/SSL connectivity

Beschreibung

void m_destroyengine ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Rückgabewerte

Es wird kein Wert zurückgegeben.

m_destroyconn
m_getcell
MCVE Funktionen


Get a specific cell from a comma delimited response by column name

m_destroyengine
m_getcellbynum
MCVE Funktionen
PHP Manual

m_getcell

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_getcell — Get a specific cell from a comma delimited response by column name

Beschreibung

string m_getcell ( resource $conn , int $identifier , string $column , int $row )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

conn

Eine von m_initengine() zurückgegebene MCVE_CONN-Ressource.

identifier

column

row

Rückgabewerte

m_destroyengine
m_getcellbynum
MCVE Funktionen


Get a specific cell from a comma delimited response by column number

m_getcell
m_getcommadelimited
MCVE Funktionen
PHP Manual

m_getcellbynum

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_getcellbynum — Get a specific cell from a comma delimited response by column number

Beschreibung

string m_getcellbynum ( resource $conn , int $identifier , int $column , int $row )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

conn

Eine von m_initengine() zurückgegebene MCVE_CONN-Ressource.

identifier

column

row

Rückgabewerte

m_getcell
m_getcommadelimited
MCVE Funktionen


Get the RAW comma delimited data returned from MCVE

m_getcellbynum
m_getheader
MCVE Funktionen
PHP Manual

m_getcommadelimited

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_getcommadelimited — Get the RAW comma delimited data returned from MCVE

Beschreibung

string m_getcommadelimited ( resource $conn , int $identifier )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

conn

Eine von m_initengine() zurückgegebene MCVE_CONN-Ressource.

identifier

Rückgabewerte

m_getcellbynum
m_getheader
MCVE Funktionen


Get the name of the column in a comma-delimited response

m_getcommadelimited
m_initconn
MCVE Funktionen
PHP Manual

m_getheader

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_getheader — Get the name of the column in a comma-delimited response

Beschreibung

string m_getheader ( resource $conn , int $identifier , int $column_num )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

conn

Eine von m_initengine() zurückgegebene MCVE_CONN-Ressource.

identifier

column_num

Rückgabewerte

m_getcommadelimited
m_initconn
MCVE Funktionen


Create and initialize an MCVE_CONN structure

m_getheader
m_initengine
MCVE Funktionen
PHP Manual

m_initconn

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_initconn — Create and initialize an MCVE_CONN structure

Beschreibung

resource m_initconn ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Rückgabewerte

Returns an MCVE_CONN resource.

Siehe auch

  • m_destroyconn() - Destroy the connection and MCVE_CONN structure

m_getheader
m_initengine
MCVE Funktionen


Ready the client for IP/SSL Communication

m_initconn
m_iscommadelimited
MCVE Funktionen
PHP Manual

m_initengine

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_initengine — Ready the client for IP/SSL Communication

Beschreibung

int m_initengine ( string $location )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

location

Rückgabewerte

m_initconn
m_iscommadelimited
MCVE Funktionen


Checks to see if response is comma delimited

m_initengine
m_maxconntimeout
MCVE Funktionen
PHP Manual

m_iscommadelimited

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_iscommadelimited — Checks to see if response is comma delimited

Beschreibung

int m_iscommadelimited ( resource $conn , int $identifier )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

conn

Eine von m_initengine() zurückgegebene MCVE_CONN-Ressource.

identifier

Rückgabewerte

m_initengine
m_maxconntimeout
MCVE Funktionen


The maximum amount of time the API will attempt a connection to MCVE

m_iscommadelimited
m_monitor
MCVE Funktionen
PHP Manual

m_maxconntimeout

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_maxconntimeout — The maximum amount of time the API will attempt a connection to MCVE

Beschreibung

bool m_maxconntimeout ( resource $conn , int $secs )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

conn

Eine von m_initengine() zurückgegebene MCVE_CONN-Ressource.

secs

Rückgabewerte

m_iscommadelimited
m_monitor
MCVE Funktionen


Perform communication with MCVE (send/receive data) Non-blocking

m_maxconntimeout
m_numcolumns
MCVE Funktionen
PHP Manual

m_monitor

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_monitor — Perform communication with MCVE (send/receive data) Non-blocking

Beschreibung

int m_monitor ( resource $conn )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

conn

Eine von m_initengine() zurückgegebene MCVE_CONN-Ressource.

Rückgabewerte

m_maxconntimeout
m_numcolumns
MCVE Funktionen


Number of columns returned in a comma delimited response

m_monitor
m_numrows
MCVE Funktionen
PHP Manual

m_numcolumns

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_numcolumns — Number of columns returned in a comma delimited response

Beschreibung

int m_numcolumns ( resource $conn , int $identifier )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

conn

Eine von m_initengine() zurückgegebene MCVE_CONN-Ressource.

identifier

Rückgabewerte

m_monitor
m_numrows
MCVE Funktionen


Number of rows returned in a comma delimited response

m_numcolumns
m_parsecommadelimited
MCVE Funktionen
PHP Manual

m_numrows

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_numrows — Number of rows returned in a comma delimited response

Beschreibung

int m_numrows ( resource $conn , int $identifier )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

conn

Eine von m_initengine() zurückgegebene MCVE_CONN-Ressource.

identifier

Rückgabewerte

m_numcolumns
m_parsecommadelimited
MCVE Funktionen


Parse the comma delimited response so m_getcell, etc will work

m_numrows
m_responsekeys
MCVE Funktionen
PHP Manual

m_parsecommadelimited

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_parsecommadelimited — Parse the comma delimited response so m_getcell, etc will work

Beschreibung

int m_parsecommadelimited ( resource $conn , int $identifier )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

conn

Eine von m_initengine() zurückgegebene MCVE_CONN-Ressource.

identifier

Rückgabewerte

m_numrows
m_responsekeys
MCVE Funktionen


Returns array of strings which represents the keys that can be used for response parameters on this transaction

m_parsecommadelimited
m_responseparam
MCVE Funktionen
PHP Manual

m_responsekeys

(PHP 5 >= 5.0.5, PHP 7, PECL mcve >= 1.0.0)

m_responsekeys — Returns array of strings which represents the keys that can be used for response parameters on this transaction

Beschreibung

array m_responsekeys ( resource $conn , int $identifier )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

conn

Eine von m_initengine() zurückgegebene MCVE_CONN-Ressource.

identifier

Rückgabewerte

m_parsecommadelimited
m_responseparam
MCVE Funktionen


Get a custom response parameter

m_responsekeys
m_returnstatus
MCVE Funktionen
PHP Manual

m_responseparam

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_responseparam — Get a custom response parameter

Beschreibung

string m_responseparam ( resource $conn , int $identifier , string $key )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

conn

Eine von m_initengine() zurückgegebene MCVE_CONN-Ressource.

identifier

key

Rückgabewerte

m_responsekeys
m_returnstatus
MCVE Funktionen


Check to see if the transaction was successful

m_responseparam
m_setblocking
MCVE Funktionen
PHP Manual

m_returnstatus

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_returnstatus — Check to see if the transaction was successful

Beschreibung

int m_returnstatus ( resource $conn , int $identifier )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

conn

Eine von m_initengine() zurückgegebene MCVE_CONN-Ressource.

identifier

Rückgabewerte

m_responseparam
m_setblocking
MCVE Funktionen


Set blocking/non-blocking mode for connection

m_returnstatus
m_setdropfile
MCVE Funktionen
PHP Manual

m_setblocking

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_setblocking — Set blocking/non-blocking mode for connection

Beschreibung

int m_setblocking ( resource $conn , int $tf )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

conn

Eine von m_initengine() zurückgegebene MCVE_CONN-Ressource.

tf

Rückgabewerte

m_returnstatus
m_setdropfile
MCVE Funktionen


Set the connection method to Drop-File

m_setblocking
m_setip
MCVE Funktionen
PHP Manual

m_setdropfile

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_setdropfile — Set the connection method to Drop-File

Beschreibung

int m_setdropfile ( resource $conn , string $directory )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

conn

Eine von m_initengine() zurückgegebene MCVE_CONN-Ressource.

directory

Rückgabewerte

m_setblocking
m_setip
MCVE Funktionen


Set the connection method to IP

m_setdropfile
m_setssl_cafile
MCVE Funktionen
PHP Manual

m_setip

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_setip — Set the connection method to IP

Beschreibung

int m_setip ( resource $conn , string $host , int $port )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

conn

Eine von m_initengine() zurückgegebene MCVE_CONN-Ressource.

host

port

Rückgabewerte

m_setdropfile
m_setssl_cafile
MCVE Funktionen


Set SSL CA (Certificate Authority) file for verification of server certificate

m_setip
m_setssl_files
MCVE Funktionen
PHP Manual

m_setssl_cafile

(PHP 5 >= 5.0.5, PHP 7, PECL mcve >= 1.0.0)

m_setssl_cafile — Set SSL CA (Certificate Authority) file for verification of server certificate

Beschreibung

int m_setssl_cafile ( resource $conn , string $cafile )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

conn

Eine von m_initengine() zurückgegebene MCVE_CONN-Ressource.

cafile

Rückgabewerte

m_setip
m_setssl_files
MCVE Funktionen


Set certificate key files and certificates if server requires client certificate verification

m_setssl_cafile
m_setssl
MCVE Funktionen
PHP Manual

m_setssl_files

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_setssl_files — Set certificate key files and certificates if server requires client certificate verification

Beschreibung

int m_setssl_files ( resource $conn , string $sslkeyfile , string $sslcertfile )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

conn

Eine von m_initengine() zurückgegebene MCVE_CONN-Ressource.

sslkeyfile

sslcertfile

Rückgabewerte

m_setssl_cafile
m_setssl
MCVE Funktionen


Set the connection method to SSL

m_setssl_files
m_settimeout
MCVE Funktionen
PHP Manual

m_setssl

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_setssl — Set the connection method to SSL

Beschreibung

int m_setssl ( resource $conn , string $host , int $port )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

conn

Eine von m_initengine() zurückgegebene MCVE_CONN-Ressource.

host

port

Rückgabewerte

m_setssl_files
m_settimeout
MCVE Funktionen


Set maximum transaction time (per trans)

m_setssl
m_sslcert_gen_hash
MCVE Funktionen
PHP Manual

m_settimeout

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_settimeout — Set maximum transaction time (per trans)

Beschreibung

int m_settimeout ( resource $conn , int $seconds )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

conn

Eine von m_initengine() zurückgegebene MCVE_CONN-Ressource.

seconds

Rückgabewerte

m_setssl
m_sslcert_gen_hash
MCVE Funktionen


Generate hash for SSL client certificate verification

m_settimeout
m_transactionssent
MCVE Funktionen
PHP Manual

m_sslcert_gen_hash

(PECL mcve >= 5.2.0)

m_sslcert_gen_hash — Generate hash for SSL client certificate verification

Beschreibung

string m_sslcert_gen_hash ( string $filename )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

filename

Rückgabewerte

m_settimeout
m_transactionssent
MCVE Funktionen


Check to see if outgoing buffer is clear

m_sslcert_gen_hash
m_transinqueue
MCVE Funktionen
PHP Manual

m_transactionssent

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_transactionssent — Check to see if outgoing buffer is clear

Beschreibung

int m_transactionssent ( resource $conn )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

conn

Eine von m_initengine() zurückgegebene MCVE_CONN-Ressource.

Rückgabewerte

m_sslcert_gen_hash
m_transinqueue
MCVE Funktionen


Number of transactions in client-queue

m_transactionssent
m_transkeyval
MCVE Funktionen
PHP Manual

m_transinqueue

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_transinqueue — Number of transactions in client-queue

Beschreibung

int m_transinqueue ( resource $conn )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

conn

Eine von m_initengine() zurückgegebene MCVE_CONN-Ressource.

Rückgabewerte

m_transactionssent
m_transkeyval
MCVE Funktionen


Add key/value pair to a transaction. Replaces deprecated transparam()

m_transinqueue
m_transnew
MCVE Funktionen
PHP Manual

m_transkeyval

(PHP 5 >= 5.0.5, PHP 7, PECL mcve >= 1.0.0)

m_transkeyval — Add key/value pair to a transaction. Replaces deprecated transparam()

Beschreibung

int m_transkeyval ( resource $conn , int $identifier , string $key , string $value )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

conn

Eine von m_initengine() zurückgegebene MCVE_CONN-Ressource.

identifier

key

value

Rückgabewerte

m_transinqueue
m_transnew
MCVE Funktionen


Start a new transaction

m_transkeyval
m_transsend
MCVE Funktionen
PHP Manual

m_transnew

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_transnew — Start a new transaction

Beschreibung

int m_transnew ( resource $conn )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

conn

Eine von m_initengine() zurückgegebene MCVE_CONN-Ressource.

Rückgabewerte

m_transkeyval
m_transsend
MCVE Funktionen


Finalize and send the transaction

m_transnew
m_uwait
MCVE Funktionen
PHP Manual

m_transsend

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_transsend — Finalize and send the transaction

Beschreibung

int m_transsend ( resource $conn , int $identifier )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

conn

Eine von m_initengine() zurückgegebene MCVE_CONN-Ressource.

identifier

Rückgabewerte

m_transnew
m_uwait
MCVE Funktionen


Wait x microsecs

m_transsend
m_validateidentifier
MCVE Funktionen
PHP Manual

m_uwait

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_uwait — Wait x microsecs

Beschreibung

int m_uwait ( int $microsecs )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

microsecs

Rückgabewerte

m_transsend
m_validateidentifier
MCVE Funktionen


Whether or not to validate the passed identifier on any transaction it is passed to

m_uwait
m_verifyconnection
MCVE Funktionen
PHP Manual

m_validateidentifier

(PHP 5 >= 5.0.5, PHP 7, PECL mcve >= 1.0.0)

m_validateidentifier — Whether or not to validate the passed identifier on any transaction it is passed to

Beschreibung

int m_validateidentifier ( resource $conn , int $tf )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

conn

Eine von m_initengine() zurückgegebene MCVE_CONN-Ressource.

tf

Rückgabewerte

m_uwait
m_verifyconnection
MCVE Funktionen


Set whether or not to PING upon connect to verify connection

m_validateidentifier
m_verifysslcert
MCVE Funktionen
PHP Manual

m_verifyconnection

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_verifyconnection — Set whether or not to PING upon connect to verify connection

Beschreibung

bool m_verifyconnection ( resource $conn , int $tf )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

conn

Eine von m_initengine() zurückgegebene MCVE_CONN-Ressource.

tf

Rückgabewerte

m_validateidentifier
m_verifysslcert
MCVE Funktionen


Set whether or not to verify the server ssl certificate

m_verifyconnection
Kryptografische Erweiterungen
MCVE Funktionen
PHP Manual

m_verifysslcert

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_verifysslcert — Set whether or not to verify the server ssl certificate

Beschreibung

bool m_verifysslcert ( resource $conn , int $tf )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

conn

Eine von m_initengine() zurückgegebene MCVE_CONN-Ressource.

tf

Rückgabewerte

m_verifyconnection
Kryptografische Erweiterungen
MCVE Funktionen


Kryptografische Erweiterungen

  • Crack — Cracklib
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Crack Funktionen
  • CSPRNG
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • CSPRNG Funktionen
  • Hash — HASH-Erweiterung
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Hash-Funktionen
  • Mcrypt
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Mcrypt Chiffren
    • Beispiele
    • Mcrypt Funktionen
  • Mhash
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Mhash Funktionen
  • OpenSSL
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Schlüssel/Zertifikat Parameter
    • Zertifikatprüfung
    • OpenSSL Funktionen
  • Password Hashing
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Password Hashing Funktionen
m_verifysslcert
Crack
Funktionsreferenz


Cracklib

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
  • Crack Funktionen
    • crack_check — Führt eine Überprüfung des übergebenen Passwortes durch
    • crack_closedict — Schließt ein CrackLib-Wörterbuch
    • crack_getlastmessage — Gibt die Nachricht der letzten Überprüfung zurück
    • crack_opendict — Öffnet ein CrackLib-Wörterbuch
Kryptografische Erweiterungen
Einführung
Kryptografische Erweiterungen


Einführung

Diese Funktionen erlauben die Nutzung der CrackLib Bibliothek, die dazu verwendet werden kann, die 'Stärke' eines Passworts zu überprüfen. Die 'Stärke' eines Passwortes wird über die Länge, die Benutzung von Groß- und Kleinschreibung und den Vergleich des Passwortes gegen ein bestimmtes Cracklib-Wörterbuch überprüft. Die Cracklib gibt hilfreiche Fehlermeldungen zurück, die es erlauben, das Passwort zu 'verstärken'.

Hinweis:

Diese Erweiterung wurde ins » PECL-Repositorium verschoben und ist nicht mehr Teil von PHP ab PHP 5.0.0.

Crack
Installation/Konfiguration
Crack


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Crack


Anforderungen

Weiterführende Informationen zur CrackLib können unter » http://sourceforge.net/projects/cracklib gefunden werden.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese » PECL-Extension ist nicht Teil von PHP. Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/crack.

Um diese Funktionen nutzen zu können, müssen Sie PHP mit --with-crack[=DIR] übersetzen.

Unter Windows aktivieren Sie php_crack.dll in ihrer php.ini um diese Funktionen nutzen zu können. Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Ressource-Typen

The CrackLib extension defines a dictionary resource identifier returned by crack_opendict().

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
Beispiele
Crack


Beispiele

Diese Beispiel zeigt, wie ein CrackLib Wörterbuch geöffnet wird, ein übergebenes Passwort überprüft wird und Diagnosemeldungen ausgewertet werden. Anschließend wird das Wörterbuch wieder geschlossen.

Beispiel #1 CrackLib Beispiel

<?php
// Öffne das CrackLib Wörterbuch
$dictionary = crack_opendict('/usr/local/lib/pw_dict')
     or die('Kann das CrackLib Wörterbuch nicht öffnen');

// Führe eine Überprüfung des Passworts durch
$check = crack_check($dictionary, 'gx9A2s0x');

// Empfange Rückmeldungen
$diag = crack_getlastmessage();
echo $diag; // 'starkes Passwort'

// Schliesse das Wörterbuch
crack_closedict($dictionary);
?>

Hinweis:

Wenn crack_check() TRUE zurückliefert, wird crack_getlastmessage() 'strong password' zurückliefern.

Vordefinierte Konstanten
Crack Funktionen
Crack


Crack Funktionen

Inhaltsverzeichnis

  • crack_check — Führt eine Überprüfung des übergebenen Passwortes durch
  • crack_closedict — Schließt ein CrackLib-Wörterbuch
  • crack_getlastmessage — Gibt die Nachricht der letzten Überprüfung zurück
  • crack_opendict — Öffnet ein CrackLib-Wörterbuch
Beispiele
crack_check
Crack


Führt eine Überprüfung des übergebenen Passwortes durch

Crack Funktionen
crack_closedict
Crack Funktionen
PHP Manual

crack_check

(PECL crack >= 0.1)

crack_check — Führt eine Überprüfung des übergebenen Passwortes durch

Beschreibung

bool crack_check ( resource $dictionary , string $password )
bool crack_check ( string $password , string $username = "" , string $gecos = "" , resource $dictionary = NULL )

Führt einen Test der Kennwortstärke auf dem übergebenen Wörterbuch durch. Die alternative Signatur berücksichtigt ebenfalls den Benutzernamen und die GECOS Information.

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Parameter-Liste

dictionary

Das Cracklib-Wörterbuch. Wenn nicht angegeben, wird das zuletzt geöffnete Wörterbuch genutzt.

password

Das zu prüfende Passwort.

username

Der Benutzername des Kontos mit dem Passwort.

gecos

Die GECOS Information, die mit diesem Benutzerkonto assoziiert ist.

Rückgabewerte

Gibt TRUE zurück, wenn password 'stark' ist. Wenn nicht, wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
0.3 | Die username, gecos und dictionary Parameter wurden zur alternativen Signatur hinzugefügt.

Crack Funktionen
crack_closedict
Crack Funktionen


Schließt ein CrackLib-Wörterbuch

crack_check
crack_getlastmessage
Crack Funktionen
PHP Manual

crack_closedict

(PECL crack >= 0.1)

crack_closedict — Schließt ein CrackLib-Wörterbuch

Beschreibung

bool crack_closedict ([ resource $dictionary ] )

crack_closedict() schließt den angegebenen dictionary-Zeiger.

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Parameter-Liste

dictionary

Das zu schließende Wörterbuch. Wenn nichts angegeben ist, wird das gerade verwendete Wörterbuch geschlossen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • crack_opendict() - Öffnet ein CrackLib-Wörterbuch

crack_check
crack_getlastmessage
Crack Funktionen


Gibt die Nachricht der letzten Überprüfung zurück

crack_closedict
crack_opendict
Crack Funktionen
PHP Manual

crack_getlastmessage

(PECL crack >= 0.1)

crack_getlastmessage — Gibt die Nachricht der letzten Überprüfung zurück

Beschreibung

string crack_getlastmessage ( void )

crack_getlastmessage() gibt die Nachricht der letzten Passwortüberprüfung zurück.

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Rückgabewerte

Die Nachricht der letzen Passwortüberprüfung oder FALSE, wenn bislang keine Passwortüberprüfung statt gefunden hat.

Die zurückgegebene Nachricht ist eine von:

  • it's WAY too short (das Kennwort ist viel zu kurz)
  • it is too short (das Kennwort ist zu kurz)
  • it does not contain enough DIFFERENT characters (das Kennwort enthält nicht genügend UNTERSCHIEDLICHE Zeichen)
  • it is all whitespace (das Kennwort enthält nur Leerzeichen)
  • it is too simplistic/systematic (das Kenntwort ist zu einfach)
  • it looks like a National Insurance number. (das Kenntwort sieht wie eine Versicherungsnummer aus)
  • it is based on a dictionary word (das Kennwort taucht in einem Wörterbuch auf)
  • it is based on a (reversed) dictionary word (das Kennwort taucht (umgekehrt) in einem Wörterbuch auf)
  • strong password (sicheres Passwort)

Siehe auch

  • crack_check() - Führt eine Überprüfung des übergebenen Passwortes durch

crack_closedict
crack_opendict
Crack Funktionen


Öffnet ein CrackLib-Wörterbuch

crack_getlastmessage
CSPRNG
Crack Funktionen
PHP Manual

crack_opendict

(PECL crack >= 0.1)

crack_opendict — Öffnet ein CrackLib-Wörterbuch

Beschreibung

resource crack_opendict ( string $dictionary )

crack_opendict() öffnet das mit dictionary angegebene Wörterbuch, um es mit crack_check() benutzen zu können.

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Hinweis:

Es kann nur ein Wörterbuch zur gleichen Zeit geöffnet sein.

Parameter-Liste

dictionary

Der Pfad zum Wörterbuch.

Rückgabewerte

Gibt bei Erfolg einen Zeiger auf ein Wörterbuch oder FALSE im Fehlerfall zurück.

Siehe auch

  • crack_check() - Führt eine Überprüfung des übergebenen Passwortes durch
  • crack_closedict() - Schließt ein CrackLib-Wörterbuch

crack_getlastmessage
CSPRNG
Crack Funktionen


CSPRNG

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • CSPRNG Funktionen
    • random_bytes — Generates cryptographically secure pseudo-random bytes
    • random_int — Generates cryptographically secure pseudo-random integers
crack_opendict
Einführung
Kryptografische Erweiterungen


Einführung

The » cryptographically secure pseudo-random number generator (CSPRNG) API provides an easy and reliable way to generate crypto-strong random integers and bytes for use within cryptographic contexts.

Dies existiert seit PHP 7.0.0 but there is also a » userland implementation for PHP >= 5.2.0.

CSPRNG
Installation/Konfiguration
CSPRNG


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
CSPRNG


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
CSPRNG Funktionen
CSPRNG


CSPRNG Funktionen

Inhaltsverzeichnis

  • random_bytes — Generates cryptographically secure pseudo-random bytes
  • random_int — Generates cryptographically secure pseudo-random integers
Vordefinierte Konstanten
random_bytes
CSPRNG


Generates cryptographically secure pseudo-random bytes

CSPRNG Funktionen
random_int
CSPRNG Funktionen
PHP Manual

random_bytes

(PHP 7)

random_bytes — Generates cryptographically secure pseudo-random bytes

Beschreibung

string random_bytes ( int $length )

Generates an arbitrary length string of cryptographic random bytes that are suitable for cryptographic use, such as when generating salts, keys or initialization vectors.

Die Zufallsquellen, die für diese Funktion verwendet werden, sind folgende:

  • Unter Windows wird immer CryptGenRandom() verwendet.
  • Auf anderen Plattformen, wird arc4random_buf() verwendet, wenn es verfügbar ist. Dies ist im Allgemeinen nur unter BSD-Derivation oder Systemen mit libbsd der Fall.
  • Schlägt obiges fehl, wird /dev/arandom verwendet, falls verfügbar.
  • Ist /dev/arandom nicht verfügbar, dann wird /dev/urandom als Fallback verwendet.
  • Ist keine der zuvor aufgezählten Quellen verfübar, wird ein Error geworfen.

Hinweis: Although this function was added to PHP in PHP 7.0, a » userland implementation is available for PHP 5.2 to 5.6, inclusive.

Parameter-Liste

length

The length of the random string that should be returned in bytes.

Rückgabewerte

Returns a string containing the requested number of cryptographically secure random bytes.

Fehler/Exceptions

  • If an appropriate source of randomness cannot be found, an Exception will be thrown.
  • If invalid parameters are given, a TypeError will be thrown.
  • If an invalid length of bytes is given, an Error will be thrown.

Beispiele

Beispiel #1 random_bytes() example

<?php
$bytes = random_bytes(5);
var_dump(bin2hex($bytes));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(10) "385e33f741"

Siehe auch

  • random_int() - Generates cryptographically secure pseudo-random integers
  • openssl_random_pseudo_bytes() - Generate a pseudo-random string of bytes
  • bin2hex() - Wandelt Binär-Daten in ihre hexadezimale Entsprechung um
CSPRNG Funktionen
random_int
CSPRNG Funktionen


Generates cryptographically secure pseudo-random integers

random_bytes
Hash
CSPRNG Funktionen
PHP Manual

random_int

(PHP 7)

random_int — Generates cryptographically secure pseudo-random integers

Beschreibung

int random_int ( int $min , int $max )

Generates cryptographic random integers that are suitable for use where unbiased results are critical, such as when shuffling a deck of cards for a poker game.

Die Zufallsquellen, die für diese Funktion verwendet werden, sind folgende:

  • Unter Windows wird immer CryptGenRandom() verwendet.
  • Auf anderen Plattformen, wird arc4random_buf() verwendet, wenn es verfügbar ist. Dies ist im Allgemeinen nur unter BSD-Derivation oder Systemen mit libbsd der Fall.
  • Schlägt obiges fehl, wird /dev/arandom verwendet, falls verfügbar.
  • Ist /dev/arandom nicht verfügbar, dann wird /dev/urandom als Fallback verwendet.
  • Ist keine der zuvor aufgezählten Quellen verfübar, wird ein Error geworfen.

Hinweis: Although this function was added to PHP in PHP 7.0, a » userland implementation is available for PHP 5.2 to 5.6, inclusive.

Parameter-Liste

min

The lowest value to be returned, which must be PHP_INT_MIN or higher.

max

The highest value to be returned, which must be less than or equal to PHP_INT_MAX.

Rückgabewerte

Returns a cryptographically secure random integer in the range min to max, inclusive.

Fehler/Exceptions

  • If an appropriate source of randomness cannot be found, an Exception will be thrown.
  • If invalid parameters are given, a TypeError will be thrown.
  • If max is less than min, an Error will be thrown.

Beispiele

Beispiel #1 random_int() example

<?php
var_dump(random_int(100, 999));
var_dump(random_int(-1000, 0));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(248)
int(-898)

Siehe auch

  • random_bytes() - Generates cryptographically secure pseudo-random bytes
random_bytes
Hash
CSPRNG Funktionen


HASH-Erweiterung

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Hash-Funktionen
    • hash_algos — Gibt einer Liste der verfügbaren Hashing-Algorithmen zurück
    • hash_copy — Dupliziert einen Hash-Kontext
    • hash_equals — Timing attack safe string comparison
    • hash_file — Berechnet den Hash des Inhalts einer Datei
    • hash_final — Schließt einen schrittweisen Hashing-Vorgang ab und gibt sein Ergebnis zurück
    • hash_hmac_file — Berechnet einen Hash einer Datei mit Schlüssel unter Verwendung von HMAC
    • hash_hmac — Berechnet einen Hash mit Schlüssel unter Verwendung von HMAC
    • hash_init — Initialisiert einen schrittweisen Hashing-Kontext
    • hash_pbkdf2 — Generate a PBKDF2 key derivation of a supplied password
    • hash_update_file — Fügt Daten aus einer Datei an einen aktiven Hash-Kontext an
    • hash_update_stream — Fügt Daten aus einem Stream an einen aktiven Hash-Kontext an
    • hash_update — Fügt Daten an einen aktiven Hash-Kontext an
    • hash — Berechnet den Hash einer Nachricht
random_int
Einführung
Kryptografische Erweiterungen


Einführung

Funktionen zur Nutzung kryptographischer Hash-Algorithmen. Die Erweiterung erlaubt direktes oder schrittweises Verarbeiten von Daten beliebiger Länge unter Nutzung einer großen Auswahl von Hashing-Algorithmen.

Hash
Installation/Konfiguration
Hash


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Hash


Anforderungen

Für diese Funktionen ist keine Installation erforderlich, diese gehören zum Grundbestand von PHP.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Von PHP 5.1.2 an wird die Hash-Erweiterung mitgeliefert und standardmäßig in PHP einkompiliert.

Sie kann mit dem --disable-hash Umschalter für configure explizit deaktiviert werden. Frühere PHP-Versionen können die Hash-Erweiterung mit der Installation des » PECL-Moduls nutzen.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Ressource-Typen

Diese Erweiterung stellt eine Kontextressource für Hashs bereit, die von hash_init() zurückgegeben wird.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

HASH_HMAC (integer)
Optionales Symbol für hash_init(). Es bewirkt, dass der HMAC-digest-keying-Algorithmus auf den aktuellen Hashing- Kontext angewendet werden soll.
Ressource-Typen
Hash-Funktionen
Hash


Hash-Funktionen

Inhaltsverzeichnis

  • hash_algos — Gibt einer Liste der verfügbaren Hashing-Algorithmen zurück
  • hash_copy — Dupliziert einen Hash-Kontext
  • hash_equals — Timing attack safe string comparison
  • hash_file — Berechnet den Hash des Inhalts einer Datei
  • hash_final — Schließt einen schrittweisen Hashing-Vorgang ab und gibt sein Ergebnis zurück
  • hash_hmac_file — Berechnet einen Hash einer Datei mit Schlüssel unter Verwendung von HMAC
  • hash_hmac — Berechnet einen Hash mit Schlüssel unter Verwendung von HMAC
  • hash_init — Initialisiert einen schrittweisen Hashing-Kontext
  • hash_pbkdf2 — Generate a PBKDF2 key derivation of a supplied password
  • hash_update_file — Fügt Daten aus einer Datei an einen aktiven Hash-Kontext an
  • hash_update_stream — Fügt Daten aus einem Stream an einen aktiven Hash-Kontext an
  • hash_update — Fügt Daten an einen aktiven Hash-Kontext an
  • hash — Berechnet den Hash einer Nachricht
Vordefinierte Konstanten
hash_algos
Hash


Gibt einer Liste der verfügbaren Hashing-Algorithmen zurück

Hash-Funktionen
hash_copy
Hash-Funktionen
PHP Manual

hash_algos

(PHP 5 >= 5.1.2, PHP 7, PECL hash >= 1.1)

hash_algos — Gibt einer Liste der verfügbaren Hashing-Algorithmen zurück

Beschreibung

array hash_algos ( void )

Rückgabewerte

Gibt ein nicht-assoziatives Array mit allen unterstützten Hashing-Algorithmen zurück.

Changelog

Version | Beschreibung
5.6.0 | Unterstützung für gost-crypto hinzugefügt. Dieser implementiert die GOST Hash-Funktion unter Verwendung der CryptoPro S-box Tabellen wie unter » RFC 4357, section 11.2 spezifiziert.
5.4.0 | Unterstützung für joaat, fnv132 und fnv164 hinzugefügt. Unterstützung für Salsa10 und Salsa20 entfernt.
5.3.0 | Unterstützung für md2, ripemd256, ripemd320, salsa10, salsa20, snefru256 und sha224 hinzugefügt.

Beispiele

Beispiel #1 hash_algos()-Beispiel

Ab PHP 5.6.0 gibt hash_algos() die folgende Liste von Algorithmen zurück.

<?php
print_r(hash_algos());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [0] => md2
    [1] => md4
    [2] => md5
    [3] => sha1
    [4] => sha224
    [5] => sha256
    [6] => sha384
    [7] => sha512
    [8] => ripemd128
    [9] => ripemd160
    [10] => ripemd256
    [11] => ripemd320
    [12] => whirlpool
    [13] => tiger128,3
    [14] => tiger160,3
    [15] => tiger192,3
    [16] => tiger128,4
    [17] => tiger160,4
    [18] => tiger192,4
    [19] => snefru
    [20] => snefru256
    [21] => gost
    [22] => gost-crypto
    [23] => adler32
    [24] => crc32
    [25] => crc32b
    [26] => fnv132
    [27] => fnv1a32
    [28] => fnv164
    [29] => fnv1a64
    [30] => joaat
    [31] => haval128,3
    [32] => haval160,3
    [33] => haval192,3
    [34] => haval224,3
    [35] => haval256,3
    [36] => haval128,4
    [37] => haval160,4
    [38] => haval192,4
    [39] => haval224,4
    [40] => haval256,4
    [41] => haval128,5
    [42] => haval160,5
    [43] => haval192,5
    [44] => haval224,5
    [45] => haval256,5
)

Hash-Funktionen
hash_copy
Hash-Funktionen


Dupliziert einen Hash-Kontext

hash_algos
hash_equals
Hash-Funktionen
PHP Manual

hash_copy

(PHP 5 >= 5.3.0, PHP 7)

hash_copy — Dupliziert einen Hash-Kontext

Beschreibung

resource hash_copy ( resource $context )

Parameter-Liste

context

Von hash_init() zurückgegebener Hash-Kontext

Rückgabewerte

Gibt eine Kopie des Hash-Kontexts zurück.

Beispiele

Beispiel #1 hash_copy()-Beispiel

<?php
$context = hash_init("md5");
hash_update($context, "data");

/* Dupliziere Kontext um ihn weiter nutzen zu können */
$copy_context = hash_copy($context);

echo hash_final($context), "\n";

hash_update($copy_context, "data");
echo hash_final($copy_context), "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

8d777f385d3dfec8815d20f7496026dc
511ae0b1c13f95e5f08f1a0dd3da3d93

hash_algos
hash_equals
Hash-Funktionen


Timing attack safe string comparison

hash_copy
hash_file
Hash-Funktionen
PHP Manual

hash_equals

(PHP 5 >= 5.6.0, PHP 7)

hash_equals — Timing attack safe string comparison

Beschreibung

bool hash_equals ( string $known_string , string $user_string )

Compares two strings using the same time whether they're equal or not.

This function should be used to mitigate timing attacks; for instance, when testing crypt() password hashes.

Parameter-Liste

known_string

The string of known length to compare against

user_string

The user-supplied string

Rückgabewerte

Returns TRUE when the two strings are equal, FALSE otherwise.

Fehler/Exceptions

Emits an E_WARNING message when either of the supplied parameters is not a string.

Beispiele

Beispiel #1 example

<?php
$expected  = crypt('12345', '$2a$07$usesomesillystringforsalt$');
$correct   = crypt('12345', '$2a$07$usesomesillystringforsalt$');
$incorrect = crypt('apple',  '$2a$07$usesomesillystringforsalt$');

var_dump(hash_equals($expected, $correct));
var_dump(hash_equals($expected, $incorrect));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(false)

Anmerkungen

Hinweis:

Both arguments must be of the same length to be compared successfully. When arguments of differing length are supplied, FALSE is returned immediately and the length of the known string may be leaked in case of a timing attack.

Hinweis:

It is important to provide the user-supplied string as the second parameter, rather than the first.

hash_copy
hash_file
Hash-Funktionen


Berechnet den Hash des Inhalts einer Datei

hash_equals
hash_final
Hash-Funktionen
PHP Manual

hash_file

(PHP 5 >= 5.1.2, PHP 7, PECL hash >= 1.1)

hash_file — Berechnet den Hash des Inhalts einer Datei

Beschreibung

string hash_file ( string $algo , string $filename [, bool $raw_output = false ] )

Parameter-Liste

algo

Name des gewählten Hash-Algorithmus (z.B. "md5", "sha256", "haval160,4", usw...)

filename

URL der Datei, die gehasht werden soll, fopen-Wrapper werden unterstützt.

raw_output

Ist dieser Parameter TRUE, werden direkt Binärdaten zurückgegeben, andernfalls werden klein geschriebene Hexadezimalziffern zurückgegeben.

Rückgabewerte

Gibt den berechneten Hash als Hexadezimalzahl zurück, außer raw_output ist wahr, in diesem Fall wird die binäre Darstellung des Hashes zurückgegeben.

Beispiele

Beispiel #1 hash_file()-Beispiel

<?php
/* Erstelle die Datei, deren Inhalt gehasht werden soll */
file_put_contents('example.txt', 'Franz jagt im komplett verwahrlosten Taxi quer durch Bayern.');

echo hash_file('md5', 'example.txt');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

ba4b9da310763a91f8edc7c185a1e4bf

Siehe auch

  • hash() - Berechnet den Hash einer Nachricht
  • hash_hmac_file() - Berechnet einen Hash einer Datei mit Schlüssel unter Verwendung von HMAC
  • hash_update_file() - Fügt Daten aus einer Datei an einen aktiven Hash-Kontext an
  • md5_file() - Berechnet den MD5-Code einer Datei
  • sha1_file() - Berechnet den SHA1-Hash einer Datei

hash_equals
hash_final
Hash-Funktionen


Schließt einen schrittweisen Hashing-Vorgang ab und gibt sein Ergebnis zurück

hash_file
hash_hmac_file
Hash-Funktionen
PHP Manual

hash_final

(PHP 5 >= 5.1.2, PHP 7, PECL hash >= 1.1)

hash_final — Schließt einen schrittweisen Hashing-Vorgang ab und gibt sein Ergebnis zurück

Beschreibung

string hash_final ( resource $context [, bool $raw_output = false ] )

Parameter-Liste

context

Hashing-Kontext, zurückgegeben von hash_init().

raw_output

Ist dieser Parameter TRUE, werden direkt Binärdaten zurückgegeben, andernfalls werden klein geschriebene Hexadezimalziffern zurückgegeben.

Rückgabewerte

Gibt den berechneten Hash als Hexadezimalzahl zurück, außer raw_output ist wahr, in diesem Fall wird die binäre Darstellung des Hashes zurückgegeben.

Beispiele

Beispiel #1 hash_final()-Beispiel

<?php
$ctx = hash_init('sha1');
hash_update($ctx, 'Franz jagt im komplett verwahrlosten Taxi quer durch Bayern.');
echo hash_final($ctx);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

48e3273628b29b2a640adee09a488f6f885f5116

Siehe auch

  • hash_init() - Initialisiert einen schrittweisen Hashing-Kontext
  • hash_update() - Fügt Daten an einen aktiven Hash-Kontext an
  • hash_update_stream() - Fügt Daten aus einem Stream an einen aktiven Hash-Kontext an
  • hash_update_file() - Fügt Daten aus einer Datei an einen aktiven Hash-Kontext an

hash_file
hash_hmac_file
Hash-Funktionen


Berechnet einen Hash einer Datei mit Schlüssel unter Verwendung von HMAC

hash_final
hash_hmac
Hash-Funktionen
PHP Manual

hash_hmac_file

(PHP 5 >= 5.1.2, PHP 7, PECL hash >= 1.1)

hash_hmac_file — Berechnet einen Hash einer Datei mit Schlüssel unter Verwendung von HMAC

Beschreibung

string hash_hmac_file ( string $algo , string $filename , string $key [, bool $raw_output = false ] )

Parameter-Liste

algo

Name des gewählten Hash-Algorithmus (z.B. "md5", "sha256", "haval160,4", usw...). Für eine Liste der unterstützten Algorithmen, siehe hash_algos().

filename

URL der Datei, die gehasht werden soll, fopen-Wrapper werden unterstützt.

key

Geheimer Schlüssel für die Berechnung der HMAC-Variante des Hashs.

raw_output

Ist dieser Parameter TRUE, werden direkt Binärdaten zurückgegeben, andernfalls werden klein geschriebene Hexadezimalziffern zurückgegeben.

Rückgabewerte

Gibt den berechneten Hash als Hexadezimalzahl zurück, außer raw_output ist wahr, in diesem Fall wird die binäre Darstellung des Hashes zurückgegeben.

Beispiele

Beispiel #1 hash_hmac_file()-Beispiel

<?php
/* Erstelle die Datei, deren Inhalt gehasht werden soll */
file_put_contents('example.txt', 'Franz jagt im komplett verwahrlosten Taxi quer durch Bayern.');

echo hash_hmac_file('md5', 'example.txt', 'geheimnis');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

e949d0086c79cc6d67cf757bab4e5be8

Siehe auch

  • hash_algos() - Gibt einer Liste der verfügbaren Hashing-Algorithmen zurück
  • hash_hmac() - Berechnet einen Hash mit Schlüssel unter Verwendung von HMAC
  • hash_file() - Berechnet den Hash des Inhalts einer Datei

hash_final
hash_hmac
Hash-Funktionen


Berechnet einen Hash mit Schlüssel unter Verwendung von HMAC

hash_hmac_file
hash_init
Hash-Funktionen
PHP Manual

hash_hmac

(PHP 5 >= 5.1.2, PHP 7, PECL hash >= 1.1)

hash_hmac — Berechnet einen Hash mit Schlüssel unter Verwendung von HMAC

Beschreibung

string hash_hmac ( string $algo , string $data , string $key [, bool $raw_output = false ] )

Parameter-Liste

algo

Name des gewählten Hash-Algorithmus (z.B. "md5", "sha256", "haval160,4", usw...). Für eine Liste der unterstützten Algorithmen, siehe hash_algos().

data

Nachricht, die gehasht werden soll.

key

Geheimer Schlüssel für die Berechnung der HMAC-Variante des Hashs.

raw_output

Ist dieser Parameter TRUE, werden direkt Binärdaten zurückgegeben, andernfalls werden klein geschriebene Hexadezimalziffern zurückgegeben.

Rückgabewerte

Gibt den berechneten Hash als Hexadezimalzahl zurück, außer raw_output ist wahr, in diesem Fall wird die binäre Darstellung des Hashes zurückgegeben. Gibt FALSE zurück, wenn algo nicht bekannt ist.

Beispiele

Beispiel #1 hash_hmac()-Beispiel

<?php
echo hash_hmac('ripemd160', 'Franz jagt im komplett verwahrlosten Taxi quer durch Bayern.', 'geheimnis');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

2c74049f7b3ce927cefaaa4162c98abe234f971f

Siehe auch

  • hash() - Berechnet den Hash einer Nachricht
  • hash_algos() - Gibt einer Liste der verfügbaren Hashing-Algorithmen zurück
  • hash_init() - Initialisiert einen schrittweisen Hashing-Kontext
  • hash_hmac_file() - Berechnet einen Hash einer Datei mit Schlüssel unter Verwendung von HMAC

hash_hmac_file
hash_init
Hash-Funktionen


Initialisiert einen schrittweisen Hashing-Kontext

hash_hmac
hash_pbkdf2
Hash-Funktionen
PHP Manual

hash_init

(PHP 5 >= 5.1.2, PHP 7, PECL hash >= 1.1)

hash_init — Initialisiert einen schrittweisen Hashing-Kontext

Beschreibung

resource hash_init ( string $algo [, int $options = 0 [, string $key = NULL ]] )

Parameter-Liste

algo

Name des gewählten Hash-Algorithmus (z.B. "md5", "sha256", "haval160,4", usw...) Eine Liste der unterstützten Algorithmen ist hash_algos() zu entnehmen.

options

Optionale Einstellungen für die Hash-Generierung, aktuell wird nur eine Option unterstützt: HASH_HMAC. Wenn diese gesetzt ist, ist der Parameter key Pflicht.

key

Ein geheimer Schlüssel zur Verwendung mit dem HMAC-Verfahren. Wenn HASH_HMAC bei options gesetzt ist, muss key gesetzt werden.

Rückgabewerte

Gibt eine Hashing-Kontextressource zur Nutzung mit hash_update(), hash_update_stream(), hash_update_file(), und hash_final() zurück.

Beispiele

Beispiel #1 Beispiel für schrittweises Hashing

<?php
$ctx = hash_init('md5');
hash_update($ctx, 'Franz jagt im komplett verwahrlosten ');
hash_update($ctx, 'Taxi quer durch Bayern.');
echo hash_final($ctx);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

ba4b9da310763a91f8edc7c185a1e4bf

Siehe auch

  • hash() - Berechnet den Hash einer Nachricht
  • hash_algos() - Gibt einer Liste der verfügbaren Hashing-Algorithmen zurück
  • hash_file() - Berechnet den Hash des Inhalts einer Datei
  • hash_hmac() - Berechnet einen Hash mit Schlüssel unter Verwendung von HMAC
  • hash_hmac_file() - Berechnet einen Hash einer Datei mit Schlüssel unter Verwendung von HMAC

hash_hmac
hash_pbkdf2
Hash-Funktionen


Generate a PBKDF2 key derivation of a supplied password

hash_init
hash_update_file
Hash-Funktionen
PHP Manual

hash_pbkdf2

(PHP 5 >= 5.5.0, PHP 7)

hash_pbkdf2 — Generate a PBKDF2 key derivation of a supplied password

Beschreibung

string hash_pbkdf2 ( string $algo , string $password , string $salt , int $iterations [, int $length = 0 [, bool $raw_output = false ]] )

Parameter-Liste

algo

Name of selected hashing algorithm (i.e. md5, sha256, haval160,4, etc..) See hash_algos() for a list of supported algorithms.

password

The password to use for the derivation.

salt

The salt to use for the derivation. This value should be generated randomly.

iterations

The number of internal iterations to perform for the derivation.

length

The length of the output string. If raw_output is TRUE this corresponds to the byte-length of the derived key, if raw_output is FALSE this corresponds to twice the byte-length of the derived key (as every byte of the key is returned as two hexits).

If 0 is passed, the entire output of the supplied algorithm is used.

raw_output

When set to TRUE, outputs raw binary data. FALSE outputs lowercase hexits.

Rückgabewerte

Returns a string containing the derived key as lowercase hexits unless raw_output is set to TRUE in which case the raw binary representation of the derived key is returned.

Fehler/Exceptions

An E_WARNING will be raised if the algorithm is unknown, the iterations parameter is less than or equal to 0, the length is less than 0 or the salt is too long (greater than INT_MAX - 4).

Beispiele

Beispiel #1 hash_pbkdf2() example, basic usage

<?php
$password = "password";
$iterations = 1000;

// Generate a random IV using mcrypt_create_iv(),
// openssl_random_pseudo_bytes() or another suitable source of randomness
$salt = mcrypt_create_iv(16, MCRYPT_DEV_URANDOM);

$hash = hash_pbkdf2("sha256", $password, $salt, $iterations, 20);
echo $hash;
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

120fb6cffcf8b32c43e7

Anmerkungen

Achtung

The PBKDF2 method can be used for hashing passwords for storage. However, it should be noted that password_hash() or crypt() with CRYPT_BLOWFISH are better suited for password storage.

Siehe auch

  • crypt() - Einweg-String-Hashing
  • password_hash() - Erstellt einen Passwort-Hash
  • hash() - Berechnet den Hash einer Nachricht
  • hash_algos() - Gibt einer Liste der verfügbaren Hashing-Algorithmen zurück
  • hash_init() - Initialisiert einen schrittweisen Hashing-Kontext
  • hash_hmac() - Berechnet einen Hash mit Schlüssel unter Verwendung von HMAC
  • hash_hmac_file() - Berechnet einen Hash einer Datei mit Schlüssel unter Verwendung von HMAC

hash_init
hash_update_file
Hash-Funktionen


Fügt Daten aus einer Datei an einen aktiven Hash-Kontext an

hash_pbkdf2
hash_update_stream
Hash-Funktionen
PHP Manual

hash_update_file

(PHP 5 >= 5.1.2, PHP 7, PECL hash >= 1.1)

hash_update_file — Fügt Daten aus einer Datei an einen aktiven Hash-Kontext an

Beschreibung

bool hash_update_file ( resource $hcontext , string $filename [, resource $scontext = NULL ] )

Parameter-Liste

hcontext

Hashing-Kontext, zurückgegeben von hash_init().

filename

URL der Datei, die zum Kontext hinzugefügt werden soll; fopen-Wrapper werden unterstützt.

scontext

Stream-Kontext, wie von stream_context_create() zurückgegeben.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • hash_init() - Initialisiert einen schrittweisen Hashing-Kontext
  • hash_update() - Fügt Daten an einen aktiven Hash-Kontext an
  • hash_update_stream() - Fügt Daten aus einem Stream an einen aktiven Hash-Kontext an
  • hash_final() - Schließt einen schrittweisen Hashing-Vorgang ab und gibt sein Ergebnis zurück
  • hash() - Berechnet den Hash einer Nachricht
  • hash_file() - Berechnet den Hash des Inhalts einer Datei

hash_pbkdf2
hash_update_stream
Hash-Funktionen


Fügt Daten aus einem Stream an einen aktiven Hash-Kontext an

hash_update_file
hash_update
Hash-Funktionen
PHP Manual

hash_update_stream

(PHP 5 >= 5.1.2, PHP 7, PECL hash >= 1.1)

hash_update_stream — Fügt Daten aus einem Stream an einen aktiven Hash-Kontext an

Beschreibung

int hash_update_stream ( resource $context , resource $handle [, int $length = -1 ] )

Parameter-Liste

context

Hashing-Kontext, zurückgegeben von hash_init().

handle

Offene Datei-Ressource, wie von einer Stream-erstellenden Funktion zurückgegeben.

length

Maximale Anzahl an Zeichen, die von handle in den Hashing-Kontext kopiert werden

Rückgabewerte

Anzahl an Bytes, die dem Hashing-Kontext von handle hinzugefügt wurden.

Beispiele

Beispiel #1 hash_update_stream()-Beispiel

<?php
$fp = tmpfile();
fwrite($fp, 'Franz jagt im komplett verwahrlosten Taxi quer durch Bayern.');
rewind($fp);

$ctx = hash_init('md5');
hash_update_stream($ctx, $fp);
echo hash_final($ctx);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

ba4b9da310763a91f8edc7c185a1e4bf

Siehe auch

  • hash_init() - Initialisiert einen schrittweisen Hashing-Kontext
  • hash_update() - Fügt Daten an einen aktiven Hash-Kontext an
  • hash_final() - Schließt einen schrittweisen Hashing-Vorgang ab und gibt sein Ergebnis zurück
  • hash() - Berechnet den Hash einer Nachricht
  • hash_file() - Berechnet den Hash des Inhalts einer Datei

hash_update_file
hash_update
Hash-Funktionen


Fügt Daten an einen aktiven Hash-Kontext an

hash_update_stream
hash
Hash-Funktionen
PHP Manual

hash_update

(PHP 5 >= 5.1.2, PHP 7, PECL hash >= 1.1)

hash_update — Fügt Daten an einen aktiven Hash-Kontext an

Beschreibung

bool hash_update ( resource $context , string $data )

Parameter-Liste

context

Hashing-Kontext, zurückgegeben von hash_init().

data

Nachricht, die in den Hash-Kontext eingefügt wird.

Rückgabewerte

Returns TRUE.

Siehe auch

  • hash_init() - Initialisiert einen schrittweisen Hashing-Kontext
  • hash_update_file() - Fügt Daten aus einer Datei an einen aktiven Hash-Kontext an
  • hash_update_stream() - Fügt Daten aus einem Stream an einen aktiven Hash-Kontext an
  • hash_final() - Schließt einen schrittweisen Hashing-Vorgang ab und gibt sein Ergebnis zurück

hash_update_stream
hash
Hash-Funktionen


Berechnet den Hash einer Nachricht

hash_update
Mcrypt
Hash-Funktionen
PHP Manual

hash

(PHP 5 >= 5.1.2, PHP 7, PECL hash >= 1.1)

hash — Berechnet den Hash einer Nachricht

Beschreibung

string hash ( string $algo , string $data [, bool $raw_output = false ] )

Parameter-Liste

algo

Name des gewählten Hash-Algorithmus (z.B. "md5", "sha256", "haval160,4", usw...)

data

Nachricht, die gehasht werden soll.

raw_output

Ist dieser Parameter TRUE, werden direkt Binärdaten zurückgegeben, andernfalls werden klein geschriebene Hexadezimalziffern zurückgegeben.

Rückgabewerte

Gibt den berechneten Hash als Hexadezimalzahl zurück, außer raw_output ist wahr, in diesem Fall wird die binäre Darstellung des Hashes zurückgegeben.

Changelog

Version | Beschreibung
5.4.0 | Der tiger Algorithmus verwendet nun Big-Endian-Bytereihenfolge. Vergleiche das Beispiel weiter unten.

Beispiele

Beispiel #1 hash()-Beispiel

<?php
echo hash('ripemd160', 'Franz jagt im komplett verwahrlosten Taxi quer durch Bayern.');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1e3d00e6a15336c66e46881d1efe8afc7813f66e

Beispiel #2 Ermitteln von Prä-PHP 5.4 tiger Hashes mit PHP 5.4 und höher

<?php
function old_tiger($data = "", $width=192, $rounds = 3) {
    return substr(
        implode(
            array_map(
                function ($h) {
                    return str_pad(bin2hex(strrev($h)), 16, "0");
                },
                str_split(hash("tiger192,$rounds", $data, true), 8)
            )
        ),
        0, 48-(192-$width)/4
    );
}
echo hash('tiger192,3', 'a-string'), PHP_EOL;
echo old_tiger('a-string'), PHP_EOL;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 5.3:

146a7492719b3564094efe7abbd40a7416fd900179d02773
64359b7192746a14740ad4bb7afe4e097327d0790190fd16

Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 5.4:

64359b7192746a14740ad4bb7afe4e097327d0790190fd16
146a7492719b3564094efe7abbd40a7416fd900179d02773

Siehe auch

  • hash_file() - Berechnet den Hash des Inhalts einer Datei
  • hash_hmac() - Berechnet einen Hash mit Schlüssel unter Verwendung von HMAC
  • hash_init() - Initialisiert einen schrittweisen Hashing-Kontext
  • md5() - Errechnet den MD5-Hash eines Strings
  • sha1() - Berechnet den SHA1-Hash eines Strings

hash_update
Mcrypt
Hash-Funktionen


Mcrypt

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Mcrypt Chiffren
  • Beispiele
  • Mcrypt Funktionen
    • mcrypt_cbc — Entschlüsselt/Verschlüsselt Daten im CBC Modus
    • mcrypt_cfb — Encrypts/decrypts data in CFB mode
    • mcrypt_create_iv — Creates an initialization vector (IV) from a random source
    • mcrypt_decrypt — Decrypts crypttext with given parameters
    • mcrypt_ecb — Deprecated: Encrypts/decrypts data in ECB mode
    • mcrypt_enc_get_algorithms_name — Returns the name of the opened algorithm
    • mcrypt_enc_get_block_size — Returns the blocksize of the opened algorithm
    • mcrypt_enc_get_iv_size — Returns the size of the IV of the opened algorithm
    • mcrypt_enc_get_key_size — Returns the maximum supported keysize of the opened mode
    • mcrypt_enc_get_modes_name — Returns the name of the opened mode
    • mcrypt_enc_get_supported_key_sizes — Returns an array with the supported keysizes of the opened algorithm
    • mcrypt_enc_is_block_algorithm_mode — Checks whether the encryption of the opened mode works on blocks
    • mcrypt_enc_is_block_algorithm — Checks whether the algorithm of the opened mode is a block algorithm
    • mcrypt_enc_is_block_mode — Checks whether the opened mode outputs blocks
    • mcrypt_enc_self_test — Runs a self test on the opened module
    • mcrypt_encrypt — Encrypts plaintext with given parameters
    • mcrypt_generic_deinit — This function deinitializes an encryption module
    • mcrypt_generic_end — This function terminates encryption
    • mcrypt_generic_init — This function initializes all buffers needed for encryption
    • mcrypt_generic — This function encrypts data
    • mcrypt_get_block_size — Gets the block size of the specified cipher
    • mcrypt_get_cipher_name — Gets the name of the specified cipher
    • mcrypt_get_iv_size — Returns the size of the IV belonging to a specific cipher/mode combination
    • mcrypt_get_key_size — Gets the key size of the specified cipher
    • mcrypt_list_algorithms — Gets an array of all supported ciphers
    • mcrypt_list_modes — Gets an array of all supported modes
    • mcrypt_module_close — Closes the mcrypt module
    • mcrypt_module_get_algo_block_size — Returns the blocksize of the specified algorithm
    • mcrypt_module_get_algo_key_size — Returns the maximum supported keysize of the opened mode
    • mcrypt_module_get_supported_key_sizes — Returns an array with the supported keysizes of the opened algorithm
    • mcrypt_module_is_block_algorithm_mode — Returns if the specified module is a block algorithm or not
    • mcrypt_module_is_block_algorithm — This function checks whether the specified algorithm is a block algorithm
    • mcrypt_module_is_block_mode — Returns if the specified mode outputs blocks or not
    • mcrypt_module_open — Opens the module of the algorithm and the mode to be used
    • mcrypt_module_self_test — This function runs a self test on the specified module
    • mcrypt_ofb — Encrypts/decrypts data in OFB mode
    • mdecrypt_generic — Decrypts data
hash
Einführung
Kryptografische Erweiterungen


Einführung

Dies ist eine Schnittstelle zur mcrypt Bibliothek, welche eine breite Spanne von Block-Algorythmen wie DES, TripleDES, Blowfish(standard), 3-WAY, SAFER-SK64, SAFER-SK128, TWOFISH, TEA, RC2 und GOST in den Chiffriermodi CBC, CFB, CFB und ECB unterstützt. Darüber hinaus unterstützt es auch RC6 und IDEA, welche als "nicht frei" gelten. CFB/OFB sind standardmäßig 8bit.

Mcrypt
Installation/Konfiguration
Mcrypt


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Mcrypt


Anforderungen

Diese Funktionen arbeiten mit mcrypt. Um es zu verwenden, laden Sie libmcrypt-x.x.tar.gz von » http://mcrypt.sourceforge.net/ herunter und folgen den beiliegenden Installationsanweisungen.

Seit PHP 5.0.0 benötigen Sie libmcrypt Version >=2.5.6.

Windows-Benutzer werden die Bibliothek in den veröffentlichten PHP 5.2 Windows-Binärdateien finden. Die PHP 5.3 Windows-Binärdateien verwenden die statische Version der Mcrypt-Bibliothek, es werden keine DLLs benötigt.

Wenn Sie libmcrypt 2.4.x oder höher verwenden, werden die folgenden zusätzlichen Blockalgorythmen unterstützt: CASE, LOKI97, RIJNDAEL, SAFERPLUS, SERPENT und die folgenden Chiffren: ENIGMA (crypt), PANAMA, RC4 und WAKE. Mit libmcrypt 2.4.x oder höher ist ein weiterer Chiffriermodus verfügbar; nOFB.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Sie müssen PHP mit dem --with-mcrypt[=DIR] -Parameter kompilieren, um diese Erweiterung zu aktivieren. DIR ist das mcrypt-Installationsverzeichnis. Stellen Sie sicher, dass sie libmcrypt mit der Option --disable-posix-threads kompilieren.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Mcrypt Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
mcrypt.algorithms_dir | NULL | PHP_INI_ALL |
mcrypt.modes_dir | NULL | PHP_INI_ALL |
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

mcrypt.algorithms_dir string

Das Verzeichnis, das den Algorythmus enthält. Entspricht standardmäßig den innerhalb von libmcrypt kompilierten Verzeichnissen, welches in der Regel /usr/local/lib/libmcrypt ist. Siehe mcrypt_list_algorithms() für genauere Informationen.

mcrypt.modes_dir string

Das Verzeichnis, das die Modi enthält. Entspricht standardmäßig den innerhalb von libmcrypt kompilierten Verzeichnissen, welches in der Regel /usr/local/lib/libmcrypt ist. Siehe mcrypt_list_modes() für zusätzliche Informationen.

Installation
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

mcrypt_module_open() gibt einen Verschlüsselungs-Deskriptor zurück.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

Mcrypt kann in vier Blockchiffriermodi arbeiten(CBC, OFB, CFB und ECB). Wenn verknüpft mit libmcrypt-2.4.x oder höher, können die Funktionen auch in den Blockchiffriermodi nOFB und STREAM arbeiten. Unten finden Sie eine Liste mit allen unterstützten Verschlüsselungsmodi zusammen mit den für die Verschlüsselung definierten Konstanten. Für eine vollständige Referenz und Diskussionen siehe Applied Cryptography by Schneier (ISBN 0-471-11709-9).

  • MCRYPT_MODE_ECB (electronic codebook) ist geeignet für zufällige Daten, wie z.B. andere Schlüssel zu verschlüsseln. Da die Daten dort sehr klein und zufällig sind, haben die Nachteile von ECB eine positive negative Wirkung.
  • MCRYPT_MODE_CBC (cipher block chaining) ist besonders für die Verschlüsselung von Dateien geeignet, wo die Sicherheit über ECB deutlich erhöht wird.
  • MCRYPT_MODE_CFB (cipher feedback) ist der Beste Modus zur Verschlüsselung von Byte-Streams, wo die Bytes einzeln verschlüsselt werden müssen.
  • MCRYPT_MODE_OFB (output feedback, in 8bit) ist mit CFB vergleichbar, aber kann in Anwendungen verwendet werden, in denen die Verbreitung von Fehlern nicht toleriert werden kann. Da es unsicher ist (es arbeitet im 8Bit Modus) ist es nicht zu empfehlen, diesen Modus zu verwenden.
  • MCRYPT_MODE_NOFB (output feedback, in nbit) ist mit OFB vergleichbar, aber es ist sicherer, da es in der Blockgröße des Algorithmus arbeitet.
  • MCRYPT_MODE_STREAM ist ein extra Modus zum Einbinden einiger Stream-Algorithmen wie "WAKE" oder "RC4".

Some other mode and random device constants:

MCRYPT_ENCRYPT (integer)
MCRYPT_DECRYPT (integer)
MCRYPT_DEV_RANDOM (integer)
MCRYPT_DEV_URANDOM (integer)
MCRYPT_RAND (integer)

Ressource-Typen
Mcrypt Chiffren
Mcrypt


Mcrypt Chiffren

Hier ist eine Liste der Chiffren, die aktuell von der mcrypt-Erweiterung unterstützt werden. Für eine komplette Liste der unterstützten Chiffren siehe die Definitionen am Ende der Datei mcrypt.h. Im allgemeinen gilt für die mcrypt-2.2.x API, dass auf die Chiffre mit MCRYPT_[chiffrename] zugegriffen werden kann. Diese Konstanten funktionieren ebenfalls mit der libmcrypt-2.4.x und libmcrypt-2.5.x API, jedoch ist es möglich, den Namen der Chiffre als String mit einem Aufruf der Funktion mcrypt_module_open() anzugeben.

  • MCRYPT_3DES
  • MCRYPT_ARCFOUR_IV (nur libmcrypt > 2.4.x)
  • MCRYPT_ARCFOUR (nur libmcrypt > 2.4.x)
  • MCRYPT_BLOWFISH
  • MCRYPT_CAST_128
  • MCRYPT_CAST_256
  • MCRYPT_CRYPT
  • MCRYPT_DES
  • MCRYPT_DES_COMPAT (nur libmcrypt 2.2.x)
  • MCRYPT_ENIGMA (nur libmcrypt > 2.4.x, Aliase für MCRYPT_CRYPT)
  • MCRYPT_GOST
  • MCRYPT_IDEA (nicht frei)
  • MCRYPT_LOKI97 (nur libmcrypt > 2.4.x)
  • MCRYPT_MARS (nur libmcrypt > 2.4.x, nicht frei)
  • MCRYPT_PANAMA (nur libmcrypt > 2.4.x)
  • MCRYPT_RIJNDAEL_128 (nur libmcrypt > 2.4.x)
  • MCRYPT_RIJNDAEL_192 (nur libmcrypt > 2.4.x)
  • MCRYPT_RIJNDAEL_256 (nur libmcrypt > 2.4.x)
  • MCRYPT_RC2
  • MCRYPT_RC4 (nur libmcrypt 2.2.x)
  • MCRYPT_RC6 (nur libmcrypt > 2.4.x)
  • MCRYPT_RC6_128 (nur libmcrypt 2.2.x)
  • MCRYPT_RC6_192 (nur libmcrypt 2.2.x)
  • MCRYPT_RC6_256 (nur libmcrypt 2.2.x)
  • MCRYPT_SAFER64
  • MCRYPT_SAFER128
  • MCRYPT_SAFERPLUS (nur libmcrypt > 2.4.x)
  • MCRYPT_SERPENT(nur libmcrypt > 2.4.x)
  • MCRYPT_SERPENT_128 (nur libmcrypt 2.2.x)
  • MCRYPT_SERPENT_192 (nur libmcrypt 2.2.x)
  • MCRYPT_SERPENT_256 (nur libmcrypt 2.2.x)
  • MCRYPT_SKIPJACK (nur libmcrypt > 2.4.x)
  • MCRYPT_TEAN (nur libmcrypt 2.2.x)
  • MCRYPT_THREEWAY
  • MCRYPT_TRIPLEDES (nur libmcrypt > 2.4.x)
  • MCRYPT_TWOFISH (für ältere mcrypt 2.x Versionen, oder mcrypt > 2.4.x )
  • MCRYPT_TWOFISH128 (TWOFISHxxx sind verfügbar in neueren 2.x Versionen, aber nicht in den 2.4.x Versionen)
  • MCRYPT_TWOFISH192
  • MCRYPT_TWOFISH256
  • MCRYPT_WAKE (nur libmcrypt > 2.4.x)
  • MCRYPT_XTEA (nur libmcrypt > 2.4.x)

Sie müssen (im CFB und OFB Modus) oder können (im CBC Modus) die jeweiligen Chiffrierfunktionen mit einem Initialierungs-Vektor versorgen (initialization vector, IV). Der IV muss einmalig und sowohl für die Verschlüsselung als auch für die Entschlüsselung gleich sein. Bei Daten, die verschlüsselt gespeichert werden, können Sie die Ausgabe einer Funktion des Indexes verwenden, unter welcher die Daten gespeichert werden (z.B. der MD5-Hash des Dateinamens). Alternativ können die den IV zusammen mit den verschlüsselten Daten übermitteln (siehe Kapitel 9.3 aus Applied Cryptography by Schneier (ISBN 0-471-11709-9) für eine Diskussion zu diesem Thema).

Vordefinierte Konstanten
Beispiele
Mcrypt


Beispiele

Mcrypt kann zur Ver- und Entschlüsselung unter Verwendung der oben erwähnten Chiffren benutzt werden. Wenn Sie mit libmcrypt-2.2.x verknüpft sind, können die vier wichtigen mcrypt-Befehle (mcrypt_cfb(), mcrypt_cbc(), mcrypt_ecb(), and mcrypt_ofb()) in beiden Modi, die MCRYPT_ENCRYPT und MCRYPT_DECRYPT genannt werden, operieren.

Wenn Sie mit libmcrypt 2.4.x oder 2.5.x verknüpft sind, sind diese Funktionen immer noch verfügbar, jedoch wird es empfohlen, die erweiterten Funktionen zu verwenden.

Beispiel #1 Verschlüsselt einen übergebenen Wert mit AES mit einem 256-bit Schlüssel unter 2.4.x und höher im Modus CBC

<?php
    $key = hash('sha256', 'Geheimer Schlüssel', true);
    $input = "Treffpunkt: 9 Uhr am geheimen Platz.";

    $td = mcrypt_module_open('rijndael-128', '', 'cbc', '');
    $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_DEV_URANDOM);
    mcrypt_generic_init($td, $key, $iv);
    $encrypted_data = mcrypt_generic($td, $input);
    mcrypt_generic_deinit($td);
    mcrypt_module_close($td);
?>
Dieses Beispiel gibt Ihnen die verschlüsselten Daten als String in $encrypted_data. Für ein vollständiges Beispiel siehe mcrypt_module_open().

Mcrypt Chiffren
Mcrypt Funktionen
Mcrypt


Mcrypt Funktionen

Inhaltsverzeichnis

  • mcrypt_cbc — Entschlüsselt/Verschlüsselt Daten im CBC Modus
  • mcrypt_cfb — Encrypts/decrypts data in CFB mode
  • mcrypt_create_iv — Creates an initialization vector (IV) from a random source
  • mcrypt_decrypt — Decrypts crypttext with given parameters
  • mcrypt_ecb — Deprecated: Encrypts/decrypts data in ECB mode
  • mcrypt_enc_get_algorithms_name — Returns the name of the opened algorithm
  • mcrypt_enc_get_block_size — Returns the blocksize of the opened algorithm
  • mcrypt_enc_get_iv_size — Returns the size of the IV of the opened algorithm
  • mcrypt_enc_get_key_size — Returns the maximum supported keysize of the opened mode
  • mcrypt_enc_get_modes_name — Returns the name of the opened mode
  • mcrypt_enc_get_supported_key_sizes — Returns an array with the supported keysizes of the opened algorithm
  • mcrypt_enc_is_block_algorithm_mode — Checks whether the encryption of the opened mode works on blocks
  • mcrypt_enc_is_block_algorithm — Checks whether the algorithm of the opened mode is a block algorithm
  • mcrypt_enc_is_block_mode — Checks whether the opened mode outputs blocks
  • mcrypt_enc_self_test — Runs a self test on the opened module
  • mcrypt_encrypt — Encrypts plaintext with given parameters
  • mcrypt_generic_deinit — This function deinitializes an encryption module
  • mcrypt_generic_end — This function terminates encryption
  • mcrypt_generic_init — This function initializes all buffers needed for encryption
  • mcrypt_generic — This function encrypts data
  • mcrypt_get_block_size — Gets the block size of the specified cipher
  • mcrypt_get_cipher_name — Gets the name of the specified cipher
  • mcrypt_get_iv_size — Returns the size of the IV belonging to a specific cipher/mode combination
  • mcrypt_get_key_size — Gets the key size of the specified cipher
  • mcrypt_list_algorithms — Gets an array of all supported ciphers
  • mcrypt_list_modes — Gets an array of all supported modes
  • mcrypt_module_close — Closes the mcrypt module
  • mcrypt_module_get_algo_block_size — Returns the blocksize of the specified algorithm
  • mcrypt_module_get_algo_key_size — Returns the maximum supported keysize of the opened mode
  • mcrypt_module_get_supported_key_sizes — Returns an array with the supported keysizes of the opened algorithm
  • mcrypt_module_is_block_algorithm_mode — Returns if the specified module is a block algorithm or not
  • mcrypt_module_is_block_algorithm — This function checks whether the specified algorithm is a block algorithm
  • mcrypt_module_is_block_mode — Returns if the specified mode outputs blocks or not
  • mcrypt_module_open — Opens the module of the algorithm and the mode to be used
  • mcrypt_module_self_test — This function runs a self test on the specified module
  • mcrypt_ofb — Encrypts/decrypts data in OFB mode
  • mdecrypt_generic — Decrypts data
Beispiele
mcrypt_cbc
Mcrypt


Entschlüsselt/Verschlüsselt Daten im CBC Modus

Mcrypt Funktionen
mcrypt_cfb
Mcrypt Funktionen
PHP Manual

mcrypt_cbc

(PHP 4, PHP 5)

mcrypt_cbc — Entschlüsselt/Verschlüsselt Daten im CBC Modus

Beschreibung

string mcrypt_cbc ( int $cipher , string $key , string $data , int $mode [, string $iv ] )
string mcrypt_cbc ( string $cipher , string $key , string $data , int $mode [, string $iv ] )

Der erste Prototyp ist in libmcrypt 2.2.x, der zweite in >=2.4.x. Der mode sollte entweder MCRYPT_ENCRYPT oder MCRYPT_DECRYPT sein.

Diese Funktion sollte nicht mehr verwendet werden, für Alternativen siehe mcrypt_generic() und mdecrypt_generic().

Warnung

Diese Funktion ist seit PHP 5.5.0 DEPRECATED (veraltet) und seit PHP 7.0.0 ENTFERNT.

Mcrypt Funktionen
mcrypt_cfb
Mcrypt Funktionen


Encrypts/decrypts data in CFB mode

mcrypt_cbc
mcrypt_create_iv
Mcrypt Funktionen
PHP Manual

mcrypt_cfb

(PHP 4, PHP 5)

mcrypt_cfb — Encrypts/decrypts data in CFB mode

Warnung

This function was DEPRECATED in PHP 5.5.0, and REMOVED in PHP 7.0.0.

Alternatives to this function include:

  • mcrypt_decrypt()
  • mcrypt_encrypt()

Beschreibung

string mcrypt_cfb ( int $cipher , string $key , string $data , int $mode , string $iv )
string mcrypt_cfb ( string $cipher , string $key , string $data , int $mode [, string $iv ] )

The first prototype is when linked against libmcrypt 2.2.x, the second when linked against libmcrypt 2.4.x or higher. The mode should be either MCRYPT_ENCRYPT or MCRYPT_DECRYPT.

mcrypt_cbc
mcrypt_create_iv
Mcrypt Funktionen


Creates an initialization vector (IV) from a random source

mcrypt_cfb
mcrypt_decrypt
Mcrypt Funktionen
PHP Manual

mcrypt_create_iv

(PHP 4, PHP 5, PHP 7)

mcrypt_create_iv — Creates an initialization vector (IV) from a random source

Warnung

This function was DEPRECATED in PHP 7.1.0.

Alternatives to this function include:

  • random_bytes()

Beschreibung

string mcrypt_create_iv ( int $size [, int $source = MCRYPT_DEV_URANDOM ] )

Creates an initialization vector (IV) from a random source.

The IV is only meant to give an alternative seed to the encryption routines. This IV does not need to be secret at all, though it can be desirable. You even can send it along with your ciphertext without losing security.

Parameter-Liste

size

The size of the IV.

source

The source of the IV. The source can be MCRYPT_RAND (system random number generator), MCRYPT_DEV_RANDOM (read data from /dev/random) and MCRYPT_DEV_URANDOM (read data from /dev/urandom). Prior to 5.3.0, MCRYPT_RAND was the only one supported on Windows.

Note that the default value of this parameter was MCRYPT_DEV_RANDOM prior to PHP 5.6.0.

Hinweis: Note that MCRYPT_DEV_RANDOM may block until more entropy is available.

Rückgabewerte

Returns the initialization vector, or FALSE on error.

Changelog

Version | Beschreibung
5.6.0 | MCRYPT_DEV_URANDOM is now the default value of source.
5.3.0 | MCRYPT_DEV_RANDOM and MCRYPT_DEV_URANDOM became available on Windows platforms.
5.3.0 | It is no longer required to call srand() first. This is now done automatically.

Beispiele

Beispiel #1 mcrypt_create_iv() Example

<?php
    $size = mcrypt_get_iv_size(MCRYPT_CAST_256, MCRYPT_MODE_CFB);
    $iv = mcrypt_create_iv($size, MCRYPT_DEV_RANDOM);
?>

Siehe auch

  • » http://www.ciphersbyritter.com/GLOSSARY.HTM#IV
  • » http://www.quadibloc.com/crypto/co0409.htm
  • Chapter 9.3 of Applied Cryptography by Schneier (ISBN 0-471-11709-9)
  • random_bytes() - Generates cryptographically secure pseudo-random bytes

mcrypt_cfb
mcrypt_decrypt
Mcrypt Funktionen


Decrypts crypttext with given parameters

mcrypt_create_iv
mcrypt_ecb
Mcrypt Funktionen
PHP Manual

mcrypt_decrypt

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

mcrypt_decrypt — Decrypts crypttext with given parameters

Warnung

This function has been DEPRECATED as of PHP 7.1.0. Relying on this function is highly discouraged.

Beschreibung

string mcrypt_decrypt ( string $cipher , string $key , string $data , string $mode [, string $iv ] )

Decrypts the data and returns the unencrypted data.

Parameter-Liste

cipher

Eine der Konstanten von MCRYPT_ciphername oder der Name eines Algorithmus als Zeichenkette.

key

The key with which the data was encrypted. If the provided key size is not supported by the cipher, the function will emit a warning and return FALSE

data

The data that will be decrypted with the given cipher and mode. If the size of the data is not n * blocksize, the data will be padded with '\0'.

mode

Eine der Konstanten von MCRYPT_MODE_modename oder eine der folgenden Zeichenketten: "ecb", "cbc", "cfb", "ofb", "nofb" oder "stream".

iv

Wird für die Initialisierung in den Modi CBC, CFB oder OFB und von einigen Algorithmen im STREAM-Modus verwendet. Wird die Länge des angegebenen IV vom betriebsmodus nicht unterstützt, oder wurde kein IV angegeben aber der Betriebsmodus benötigt einen, so wird diese Funktion eine Warnung ausgeben und FALSE zurückgeben.

Rückgabewerte

Returns the decrypted data as a string Im Fehlerfall wird FALSE zurückgegeben..

Changelog

Version | Beschreibung
5.6.0 | Invalid key and iv sizes are no longer accepted. mcrypt_decrypt() will now throw a warning and return FALSE if the inputs are invalid. Previously keys and IVs were padded with '\0' bytes to the next valid size.

Siehe auch

  • mcrypt_encrypt() - Encrypts plaintext with given parameters

mcrypt_create_iv
mcrypt_ecb
Mcrypt Funktionen


Deprecated: Encrypts/decrypts data in ECB mode

mcrypt_decrypt
mcrypt_enc_get_algorithms_name
Mcrypt Funktionen
PHP Manual

mcrypt_ecb

(PHP 4, PHP 5)

mcrypt_ecb — Deprecated: Encrypts/decrypts data in ECB mode

Warnung

This function was DEPRECATED in PHP 5.5.0, and REMOVED in PHP 7.0.0.

Alternatives to this function include:

  • mcrypt_decrypt()
  • mcrypt_encrypt()

Beschreibung

string mcrypt_ecb ( int $cipher , string $key , string $data , int $mode )
string mcrypt_ecb ( string $cipher , string $key , string $data , int $mode [, string $iv ] )

The first prototype is when linked against libmcrypt 2.2.x, the second when linked against libmcrypt 2.4.x or higher. The mode should be either MCRYPT_ENCRYPT or MCRYPT_DECRYPT.

mcrypt_decrypt
mcrypt_enc_get_algorithms_name
Mcrypt Funktionen


Returns the name of the opened algorithm

mcrypt_ecb
mcrypt_enc_get_block_size
Mcrypt Funktionen
PHP Manual

mcrypt_enc_get_algorithms_name

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

mcrypt_enc_get_algorithms_name — Returns the name of the opened algorithm

Warnung

This function has been DEPRECATED as of PHP 7.1.0. Relying on this function is highly discouraged.

Beschreibung

string mcrypt_enc_get_algorithms_name ( resource $td )

This function returns the name of the algorithm.

Parameter-Liste

td

The encryption descriptor.

Rückgabewerte

Returns the name of the opened algorithm as a string.

Beispiele

Beispiel #1 mcrypt_enc_get_algorithms_name() example

<?php
$td = mcrypt_module_open(MCRYPT_CAST_256, '', MCRYPT_MODE_CFB, '');
echo mcrypt_enc_get_algorithms_name($td). "\n";

$td = mcrypt_module_open('cast-256', '', MCRYPT_MODE_CFB, '');
echo mcrypt_enc_get_algorithms_name($td). "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

CAST-256
CAST-256

mcrypt_ecb
mcrypt_enc_get_block_size
Mcrypt Funktionen


Returns the blocksize of the opened algorithm

mcrypt_enc_get_algorithms_name
mcrypt_enc_get_iv_size
Mcrypt Funktionen
PHP Manual

mcrypt_enc_get_block_size

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

mcrypt_enc_get_block_size — Returns the blocksize of the opened algorithm

Warnung

This function has been DEPRECATED as of PHP 7.1.0. Relying on this function is highly discouraged.

Beschreibung

int mcrypt_enc_get_block_size ( resource $td )

Gets the blocksize of the opened algorithm.

Parameter-Liste

td

The encryption descriptor.

Rückgabewerte

Returns the block size of the specified algorithm in bytes.

mcrypt_enc_get_algorithms_name
mcrypt_enc_get_iv_size
Mcrypt Funktionen


Returns the size of the IV of the opened algorithm

mcrypt_enc_get_block_size
mcrypt_enc_get_key_size
Mcrypt Funktionen
PHP Manual

mcrypt_enc_get_iv_size

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

mcrypt_enc_get_iv_size — Returns the size of the IV of the opened algorithm

Warnung

This function has been DEPRECATED as of PHP 7.1.0. Relying on this function is highly discouraged.

Beschreibung

int mcrypt_enc_get_iv_size ( resource $td )

This function returns the size of the IV of the algorithm specified by the encryption descriptor in bytes. An IV is used in cbc, cfb and ofb modes, and in some algorithms in stream mode.

Parameter-Liste

td

The encryption descriptor.

Rückgabewerte

Returns the size of the IV, or 0 if the IV is ignored by the algorithm.

mcrypt_enc_get_block_size
mcrypt_enc_get_key_size
Mcrypt Funktionen


Returns the maximum supported keysize of the opened mode

mcrypt_enc_get_iv_size
mcrypt_enc_get_modes_name
Mcrypt Funktionen
PHP Manual

mcrypt_enc_get_key_size

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

mcrypt_enc_get_key_size — Returns the maximum supported keysize of the opened mode

Warnung

This function has been DEPRECATED as of PHP 7.1.0. Relying on this function is highly discouraged.

Beschreibung

int mcrypt_enc_get_key_size ( resource $td )

Gets the maximum supported key size of the algorithm in bytes.

Parameter-Liste

td

The encryption descriptor.

Rückgabewerte

Returns the maximum supported key size of the algorithm in bytes.

mcrypt_enc_get_iv_size
mcrypt_enc_get_modes_name
Mcrypt Funktionen


Returns the name of the opened mode

mcrypt_enc_get_key_size
mcrypt_enc_get_supported_key_sizes
Mcrypt Funktionen
PHP Manual

mcrypt_enc_get_modes_name

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

mcrypt_enc_get_modes_name — Returns the name of the opened mode

Warnung

This function has been DEPRECATED as of PHP 7.1.0. Relying on this function is highly discouraged.

Beschreibung

string mcrypt_enc_get_modes_name ( resource $td )

This function returns the name of the mode.

Parameter-Liste

td

The encryption descriptor.

Rückgabewerte

Returns the name as a string.

Beispiele

Beispiel #1 mcrypt_enc_get_modes_name() example

<?php
$td = mcrypt_module_open (MCRYPT_CAST_256, '', MCRYPT_MODE_CFB, '');
echo mcrypt_enc_get_modes_name($td). "\n";

$td = mcrypt_module_open ('cast-256', '', 'ecb', '');
echo mcrypt_enc_get_modes_name($td). "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

CFB
ECB

mcrypt_enc_get_key_size
mcrypt_enc_get_supported_key_sizes
Mcrypt Funktionen


Returns an array with the supported keysizes of the opened algorithm

mcrypt_enc_get_modes_name
mcrypt_enc_is_block_algorithm_mode
Mcrypt Funktionen
PHP Manual

mcrypt_enc_get_supported_key_sizes

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

mcrypt_enc_get_supported_key_sizes — Returns an array with the supported keysizes of the opened algorithm

Warnung

This function has been DEPRECATED as of PHP 7.1.0. Relying on this function is highly discouraged.

Beschreibung

array mcrypt_enc_get_supported_key_sizes ( resource $td )

Gets the supported key sizes of the opened algorithm.

Parameter-Liste

td

The encryption descriptor.

Rückgabewerte

Returns an array with the key sizes supported by the algorithm specified by the encryption descriptor. If it returns an empty array then all key sizes between 1 and mcrypt_enc_get_key_size() are supported by the algorithm.

Beispiele

Beispiel #1 mcrypt_enc_get_supported_key_sizes() example

<?php
    $td = mcrypt_module_open('rijndael-256', '', 'ecb', '');
    var_dump(mcrypt_enc_get_supported_key_sizes($td));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(3) {
  [0]=>
  int(16)
  [1]=>
  int(24)
  [2]=>
  int(32)
}

mcrypt_enc_get_modes_name
mcrypt_enc_is_block_algorithm_mode
Mcrypt Funktionen


Checks whether the encryption of the opened mode works on blocks

mcrypt_enc_get_supported_key_sizes
mcrypt_enc_is_block_algorithm
Mcrypt Funktionen
PHP Manual

mcrypt_enc_is_block_algorithm_mode

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

mcrypt_enc_is_block_algorithm_mode — Checks whether the encryption of the opened mode works on blocks

Warnung

This function has been DEPRECATED as of PHP 7.1.0. Relying on this function is highly discouraged.

Beschreibung

bool mcrypt_enc_is_block_algorithm_mode ( resource $td )

Tells whether the algorithm of the opened mode works on blocks (e.g. FALSE for stream, and TRUE for cbc, cfb, ofb)..

Parameter-Liste

td

The encryption descriptor.

Rückgabewerte

Returns TRUE if the mode is for use with block algorithms, otherwise it returns FALSE.

mcrypt_enc_get_supported_key_sizes
mcrypt_enc_is_block_algorithm
Mcrypt Funktionen


Checks whether the algorithm of the opened mode is a block algorithm

mcrypt_enc_is_block_algorithm_mode
mcrypt_enc_is_block_mode
Mcrypt Funktionen
PHP Manual

mcrypt_enc_is_block_algorithm

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

mcrypt_enc_is_block_algorithm — Checks whether the algorithm of the opened mode is a block algorithm

Warnung

This function has been DEPRECATED as of PHP 7.1.0. Relying on this function is highly discouraged.

Beschreibung

bool mcrypt_enc_is_block_algorithm ( resource $td )

Tells whether the algorithm of the opened mode is a block algorithm.

Parameter-Liste

td

The encryption descriptor.

Rückgabewerte

Returns TRUE if the algorithm is a block algorithm or FALSE if it is a stream one.

mcrypt_enc_is_block_algorithm_mode
mcrypt_enc_is_block_mode
Mcrypt Funktionen


Checks whether the opened mode outputs blocks

mcrypt_enc_is_block_algorithm
mcrypt_enc_self_test
Mcrypt Funktionen
PHP Manual

mcrypt_enc_is_block_mode

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

mcrypt_enc_is_block_mode — Checks whether the opened mode outputs blocks

Warnung

This function has been DEPRECATED as of PHP 7.1.0. Relying on this function is highly discouraged.

Beschreibung

bool mcrypt_enc_is_block_mode ( resource $td )

Tells whether the opened mode outputs blocks (e.g. TRUE for cbc and ecb, and FALSE for cfb and stream).

Parameter-Liste

td

The encryption descriptor.

Rückgabewerte

Returns TRUE if the mode outputs blocks of bytes, or FALSE if it outputs just bytes.

mcrypt_enc_is_block_algorithm
mcrypt_enc_self_test
Mcrypt Funktionen


Runs a self test on the opened module

mcrypt_enc_is_block_mode
mcrypt_encrypt
Mcrypt Funktionen
PHP Manual

mcrypt_enc_self_test

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

mcrypt_enc_self_test — Runs a self test on the opened module

Warnung

This function has been DEPRECATED as of PHP 7.1.0. Relying on this function is highly discouraged.

Beschreibung

int mcrypt_enc_self_test ( resource $td )

This function runs the self test on the algorithm specified by the descriptor td.

Parameter-Liste

td

The encryption descriptor.

Rückgabewerte

If the self test succeeds it returns FALSE. In case of an error, it returns TRUE.

mcrypt_enc_is_block_mode
mcrypt_encrypt
Mcrypt Funktionen


Encrypts plaintext with given parameters

mcrypt_enc_self_test
mcrypt_generic_deinit
Mcrypt Funktionen
PHP Manual

mcrypt_encrypt

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

mcrypt_encrypt — Encrypts plaintext with given parameters

Warnung

This function has been DEPRECATED as of PHP 7.1.0. Relying on this function is highly discouraged.

Beschreibung

string mcrypt_encrypt ( string $cipher , string $key , string $data , string $mode [, string $iv ] )

Encrypts the data and returns it.

Parameter-Liste

cipher

Eine der Konstanten von MCRYPT_ciphername oder der Name eines Algorithmus als Zeichenkette.

key

The key with which the data will be encrypted. If the provided key size is not supported by the cipher, the function will emit a warning and return FALSE

data

The data that will be encrypted with the given cipher and mode. If the size of the data is not n * blocksize, the data will be padded with '\0'.

The returned crypttext can be larger than the size of the data that was given by data.

mode

Eine der Konstanten von MCRYPT_MODE_modename oder eine der folgenden Zeichenketten: "ecb", "cbc", "cfb", "ofb", "nofb" oder "stream".

iv

Wird für die Initialisierung in den Modi CBC, CFB oder OFB und von einigen Algorithmen im STREAM-Modus verwendet. Wird die Länge des angegebenen IV vom betriebsmodus nicht unterstützt, oder wurde kein IV angegeben aber der Betriebsmodus benötigt einen, so wird diese Funktion eine Warnung ausgeben und FALSE zurückgeben.

Rückgabewerte

Returns the encrypted data as a string Im Fehlerfall wird FALSE zurückgegeben..

Changelog

Version | Beschreibung
5.6.0 | Invalid key and iv sizes are no longer accepted. mcrypt_encrypt() will now throw a warning and return FALSE if the inputs are invalid. Previously keys and IVs were padded with '\0' bytes to the next valid size.

Beispiele

Beispiel #1 mcrypt_encrypt() Example

<?php
    # --- ENCRYPTION ---

    # the key should be random binary, use scrypt, bcrypt or PBKDF2 to
    # convert a string into a key
    # key is specified using hexadecimal
    $key = pack('H*', "bcb04b7e103a0cd8b54763051cef08bc55abe029fdebae5e1d417e2ffb2a00a3");

    # show key size use either 16, 24 or 32 byte keys for AES-128, 192
    # and 256 respectively
    $key_size =  strlen($key);
    echo "Key size: " . $key_size . "\n";

    $plaintext = "This string was AES-256 / CBC / ZeroBytePadding encrypted.";

    # create a random IV to use with CBC encoding
    $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);
    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);

    # creates a cipher text compatible with AES (Rijndael block size = 128)
    # to keep the text confidential
    # only suitable for encoded input that never ends with value 00h
    # (because of default zero padding)
    $ciphertext = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key,
                                 $plaintext, MCRYPT_MODE_CBC, $iv);

    # prepend the IV for it to be available for decryption
    $ciphertext = $iv . $ciphertext;

    # encode the resulting cipher text so it can be represented by a string
    $ciphertext_base64 = base64_encode($ciphertext);

    echo  $ciphertext_base64 . "\n";

    # === WARNING ===

    # Resulting cipher text has no integrity or authenticity added
    # and is not protected against padding oracle attacks.

    # --- DECRYPTION ---

    $ciphertext_dec = base64_decode($ciphertext_base64);

    # retrieves the IV, iv_size should be created using mcrypt_get_iv_size()
    $iv_dec = substr($ciphertext_dec, 0, $iv_size);

    # retrieves the cipher text (everything except the $iv_size in the front)
    $ciphertext_dec = substr($ciphertext_dec, $iv_size);

    # may remove 00h valued characters from end of plain text
    $plaintext_dec = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key,
                                    $ciphertext_dec, MCRYPT_MODE_CBC, $iv_dec);

    echo  $plaintext_dec . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Key size: 32
ENJW8mS2KaJoNB5E5CoSAAu0xARgsR1bdzFWpEn+poYw45q+73az5kYi4j+0haevext1dGrcW8Qi59txfCBV8BBj3bzRP3dFCp3CPQSJ8eU=
This string was AES-256 / CBC / ZeroBytePadding encrypted.

Siehe auch

  • mcrypt_decrypt() - Decrypts crypttext with given parameters
  • mcrypt_module_open() - Opens the module of the algorithm and the mode to be used

mcrypt_enc_self_test
mcrypt_generic_deinit
Mcrypt Funktionen


This function deinitializes an encryption module

mcrypt_encrypt
mcrypt_generic_end
Mcrypt Funktionen
PHP Manual

mcrypt_generic_deinit

(PHP 4 >= 4.0.7, PHP 5, PHP 7)

mcrypt_generic_deinit — This function deinitializes an encryption module

Warnung

This function has been DEPRECATED as of PHP 7.1.0. Relying on this function is highly discouraged.

Beschreibung

bool mcrypt_generic_deinit ( resource $td )

This function terminates encryption specified by the encryption descriptor (td). It clears all buffers, but does not close the module. You need to call mcrypt_module_close() yourself. (But PHP does this for you at the end of the script.)

Parameter-Liste

td

The encryption descriptor.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • mcrypt_module_open() - Opens the module of the algorithm and the mode to be used
  • mcrypt_generic_init() - This function initializes all buffers needed for encryption

mcrypt_encrypt
mcrypt_generic_end
Mcrypt Funktionen


This function terminates encryption

mcrypt_generic_deinit
mcrypt_generic_init
Mcrypt Funktionen
PHP Manual

mcrypt_generic_end

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_generic_end — This function terminates encryption

Warnung

This function was DEPRECATED in PHP 5.3.0, and REMOVED in PHP 7.0.0.

Alternatives to this function include:

  • mcrypt_generic_deinit()

Beschreibung

bool mcrypt_generic_end ( resource $td )

Warnung

mcrypt_generic_deinit() should be used instead of this function, as it can cause crashes when used with mcrypt_module_close() due to multiple buffer frees.

This function terminates encryption specified by the encryption descriptor (td). Actually it clears all buffers, and closes all the modules used. Returns FALSE on error, or TRUE on success.

mcrypt_generic_deinit
mcrypt_generic_init
Mcrypt Funktionen


This function initializes all buffers needed for encryption

mcrypt_generic_end
mcrypt_generic
Mcrypt Funktionen
PHP Manual

mcrypt_generic_init

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

mcrypt_generic_init — This function initializes all buffers needed for encryption

Warnung

This function has been DEPRECATED as of PHP 7.1.0. Relying on this function is highly discouraged.

Beschreibung

int mcrypt_generic_init ( resource $td , string $key , string $iv )

You need to call this function before every call to mcrypt_generic() or mdecrypt_generic().

Parameter-Liste

td

The encryption descriptor.

key

The maximum length of the key should be the one obtained by calling mcrypt_enc_get_key_size() and every value smaller than this is legal.

iv

The IV should normally have the size of the algorithms block size, but you must obtain the size by calling mcrypt_enc_get_iv_size(). IV is ignored in ECB. IV MUST exist in CFB, CBC, STREAM, nOFB and OFB modes. It needs to be random and unique (but not secret). The same IV must be used for encryption/decryption. If you do not want to use it you should set it to zeros, but this is not recommended.

Rückgabewerte

The function returns a negative value on error: -3 when the key length was incorrect, -4 when there was a memory allocation problem and any other return value is an unknown error. If an error occurs a warning will be displayed accordingly. FALSE is returned if incorrect parameters were passed.

Siehe auch

  • mcrypt_module_open() - Opens the module of the algorithm and the mode to be used

mcrypt_generic_end
mcrypt_generic
Mcrypt Funktionen


This function encrypts data

mcrypt_generic_init
mcrypt_get_block_size
Mcrypt Funktionen
PHP Manual

mcrypt_generic

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

mcrypt_generic — This function encrypts data

Warnung

This function has been DEPRECATED as of PHP 7.1.0. Relying on this function is highly discouraged.

Beschreibung

string mcrypt_generic ( resource $td , string $data )

This function encrypts data. The data is padded with "\0" to make sure the length of the data is n * blocksize. This function returns the encrypted data. Note that the length of the returned string can in fact be longer than the input, due to the padding of the data.

If you want to store the encrypted data in a database make sure to store the entire string as returned by mcrypt_generic, or the string will not entirely decrypt properly. If your original string is 10 characters long and the block size is 8 (use mcrypt_enc_get_block_size() to determine the blocksize), you would need at least 16 characters in your database field. Note the string returned by mdecrypt_generic() will be 16 characters as well...use rtrim($str, "\0") to remove the padding.

If you are for example storing the data in a MySQL database remember that varchar fields automatically have trailing spaces removed during insertion. As encrypted data can end in a space (ASCII 32), the data will be damaged by this removal. Store data in a tinyblob/tinytext (or larger) field instead.

Parameter-Liste

td

The encryption descriptor.

The encryption handle should always be initialized with mcrypt_generic_init() with a key and an IV before calling this function. Where the encryption is done, you should free the encryption buffers by calling mcrypt_generic_deinit(). See mcrypt_module_open() for an example.

data

The data to encrypt.

Rückgabewerte

Returns the encrypted data.

Siehe auch

  • mdecrypt_generic() - Decrypts data
  • mcrypt_generic_init() - This function initializes all buffers needed for encryption
  • mcrypt_generic_deinit() - This function deinitializes an encryption module

mcrypt_generic_init
mcrypt_get_block_size
Mcrypt Funktionen


Gets the block size of the specified cipher

mcrypt_generic
mcrypt_get_cipher_name
Mcrypt Funktionen
PHP Manual

mcrypt_get_block_size

(PHP 4, PHP 5, PHP 7)

mcrypt_get_block_size — Gets the block size of the specified cipher

Warnung

This function has been DEPRECATED as of PHP 7.1.0. Relying on this function is highly discouraged.

Beschreibung

int mcrypt_get_block_size ( int $cipher )
int mcrypt_get_block_size ( string $cipher , string $mode )

The first prototype is when linked against libmcrypt 2.2.x, the second when linked against libmcrypt 2.4.x or 2.5.x.

mcrypt_get_block_size() is used to get the size of a block of the specified cipher (in combination with an encryption mode).

It is more useful to use the mcrypt_enc_get_block_size() function as this uses the resource returned by mcrypt_module_open().

Parameter-Liste

cipher

Eine der Konstanten von MCRYPT_ciphername oder der Name eines Algorithmus als Zeichenkette.

mode

Eine der Konstanten von MCRYPT_MODE_modename oder eine der folgenden Zeichenketten: "ecb", "cbc", "cfb", "ofb", "nofb" oder "stream".

Rückgabewerte

Gets the block size, as an integer.

Beispiele

Beispiel #1 mcrypt_get_block_size() example

This example shows how to use this function when linked against libmcrypt 2.4.x and 2.5.x.

<?php

echo mcrypt_get_block_size('tripledes', 'ecb'); // 8

?>

Siehe auch

  • mcrypt_get_key_size() - Gets the key size of the specified cipher
  • mcrypt_enc_get_block_size() - Returns the blocksize of the opened algorithm
  • mcrypt_encrypt() - Encrypts plaintext with given parameters

mcrypt_generic
mcrypt_get_cipher_name
Mcrypt Funktionen


Gets the name of the specified cipher

mcrypt_get_block_size
mcrypt_get_iv_size
Mcrypt Funktionen
PHP Manual

mcrypt_get_cipher_name

(PHP 4, PHP 5, PHP 7)

mcrypt_get_cipher_name — Gets the name of the specified cipher

Warnung

This function has been DEPRECATED as of PHP 7.1.0. Relying on this function is highly discouraged.

Beschreibung

string mcrypt_get_cipher_name ( int $cipher )
string mcrypt_get_cipher_name ( string $cipher )

mcrypt_get_cipher_name() is used to get the name of the specified cipher.

mcrypt_get_cipher_name() takes the cipher number as an argument (libmcrypt 2.2.x) or takes the cipher name as an argument (libmcrypt 2.4.x or higher) and returns the name of the cipher or FALSE, if the cipher does not exist.

Parameter-Liste

cipher

Eine der Konstanten von MCRYPT_ciphername oder der Name eines Algorithmus als Zeichenkette.

Rückgabewerte

This function returns the name of the cipher or FALSE if the cipher does not exist.

Beispiele

Beispiel #1 mcrypt_get_cipher_name() Example

<?php
   $cipher = MCRYPT_TripleDES;

   echo mcrypt_get_cipher_name($cipher);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

3DES

mcrypt_get_block_size
mcrypt_get_iv_size
Mcrypt Funktionen


Returns the size of the IV belonging to a specific cipher/mode combination

mcrypt_get_cipher_name
mcrypt_get_key_size
Mcrypt Funktionen
PHP Manual

mcrypt_get_iv_size

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

mcrypt_get_iv_size — Returns the size of the IV belonging to a specific cipher/mode combination

Warnung

This function has been DEPRECATED as of PHP 7.1.0. Relying on this function is highly discouraged.

Beschreibung

int mcrypt_get_iv_size ( string $cipher , string $mode )

Gets the size of the IV belonging to a specific cipher/mode combination.

It is more useful to use the mcrypt_enc_get_iv_size() function as this uses the resource returned by mcrypt_module_open().

Parameter-Liste

cipher

Eine der Konstanten von MCRYPT_ciphername oder der Name eines Algorithmus als Zeichenkette.

mode

Eine der Konstanten von MCRYPT_MODE_modename oder eine der folgenden Zeichenketten: "ecb", "cbc", "cfb", "ofb", "nofb" oder "stream".

The IV is ignored in ECB mode as this mode does not require it. You will need to have the same IV (think: starting point) both at encryption and decryption stages, otherwise your encryption will fail.

Rückgabewerte

Returns the size of the Initialization Vector (IV) in bytes. On error the function returns FALSE. If the IV is ignored in the specified cipher/mode combination zero is returned.

Beispiele

Beispiel #1 mcrypt_get_iv_size() Example

<?php
    echo mcrypt_get_iv_size(MCRYPT_CAST_256, MCRYPT_MODE_CFB) . "\n";

    echo mcrypt_get_iv_size('des', 'ecb') . "\n";
?>

Siehe auch

  • mcrypt_get_block_size() - Gets the block size of the specified cipher
  • mcrypt_enc_get_iv_size() - Returns the size of the IV of the opened algorithm
  • mcrypt_create_iv() - Creates an initialization vector (IV) from a random source

mcrypt_get_cipher_name
mcrypt_get_key_size
Mcrypt Funktionen


Gets the key size of the specified cipher

mcrypt_get_iv_size
mcrypt_list_algorithms
Mcrypt Funktionen
PHP Manual

mcrypt_get_key_size

(PHP 4, PHP 5, PHP 7)

mcrypt_get_key_size — Gets the key size of the specified cipher

Warnung

This function has been DEPRECATED as of PHP 7.1.0. Relying on this function is highly discouraged.

Beschreibung

int mcrypt_get_key_size ( int $cipher )
int mcrypt_get_key_size ( string $cipher , string $mode )

The first prototype is when linked against libmcrypt 2.2.x, the second when linked against libmcrypt 2.4.x or 2.5.x.

mcrypt_get_key_size() is used to get the size of a key of the specified cipher (in combination with an encryption mode).

It is more useful to use the mcrypt_enc_get_key_size() function as this uses the resource returned by mcrypt_module_open().

Parameter-Liste

cipher

Eine der Konstanten von MCRYPT_ciphername oder der Name eines Algorithmus als Zeichenkette.

mode

Eine der Konstanten von MCRYPT_MODE_modename oder eine der folgenden Zeichenketten: "ecb", "cbc", "cfb", "ofb", "nofb" oder "stream".

Rückgabewerte

Returns the maximum supported key size of the algorithm in bytes Im Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 mcrypt_get_key_size() Example

<?php
    echo mcrypt_get_key_size('tripledes', 'ecb');
?>

The example above shows how to use this function when linked against libmcrypt 2.4.x or 2.5.x.

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

24

Siehe auch

  • mcrypt_get_block_size() - Gets the block size of the specified cipher
  • mcrypt_enc_get_key_size() - Returns the maximum supported keysize of the opened mode
  • mcrypt_encrypt() - Encrypts plaintext with given parameters

mcrypt_get_iv_size
mcrypt_list_algorithms
Mcrypt Funktionen


Gets an array of all supported ciphers

mcrypt_get_key_size
mcrypt_list_modes
Mcrypt Funktionen
PHP Manual

mcrypt_list_algorithms

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

mcrypt_list_algorithms — Gets an array of all supported ciphers

Warnung

This function has been DEPRECATED as of PHP 7.1.0. Relying on this function is highly discouraged.

Beschreibung

array mcrypt_list_algorithms ([ string $lib_dir = ini_get("mcrypt.algorithms_dir") ] )

Gets the list of all supported algorithms in the lib_dir parameter.

Parameter-Liste

lib_dir

Specifies the directory where all algorithms are located. If not specified, the value of the mcrypt.algorithms_dir php.ini directive is used.

Rückgabewerte

Returns an array with all the supported algorithms.

Beispiele

Beispiel #1 mcrypt_list_algorithms() Example

<?php
    $algorithms = mcrypt_list_algorithms("/usr/local/lib/libmcrypt");

    foreach ($algorithms as $cipher) {
        echo "$cipher<br />\n";
    }
?>

The example above will produce a list with all supported algorithms in the "/usr/local/lib/libmcrypt" directory.

mcrypt_get_key_size
mcrypt_list_modes
Mcrypt Funktionen


Gets an array of all supported modes

mcrypt_list_algorithms
mcrypt_module_close
Mcrypt Funktionen
PHP Manual

mcrypt_list_modes

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

mcrypt_list_modes — Gets an array of all supported modes

Warnung

This function has been DEPRECATED as of PHP 7.1.0. Relying on this function is highly discouraged.

Beschreibung

array mcrypt_list_modes ([ string $lib_dir = ini_get("mcrypt.modes_dir") ] )

Gets the list of all supported modes in the lib_dir parameter.

Parameter-Liste

lib_dir

Specifies the directory where all modes are located. If not specified, the value of the mcrypt.modes_dir php.ini directive is used.

Rückgabewerte

Returns an array with all the supported modes.

Beispiele

Beispiel #1 mcrypt_list_modes() Example

<?php
    $modes = mcrypt_list_modes();

    foreach ($modes as $mode) {
        echo "$mode <br />\n";
    }
?>

The example above will produce a list with all supported algorithms in the default mode directory. If it is not set with the mcrypt.modes_dir php.ini directive, the default directory of mcrypt is used (which is /usr/local/lib/libmcrypt).

mcrypt_list_algorithms
mcrypt_module_close
Mcrypt Funktionen


Closes the mcrypt module

mcrypt_list_modes
mcrypt_module_get_algo_block_size
Mcrypt Funktionen
PHP Manual

mcrypt_module_close

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

mcrypt_module_close — Closes the mcrypt module

Warnung

This function has been DEPRECATED as of PHP 7.1.0. Relying on this function is highly discouraged.

Beschreibung

bool mcrypt_module_close ( resource $td )

Closes the specified encryption handle.

Parameter-Liste

td

The encryption descriptor.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • mcrypt_module_open() - Opens the module of the algorithm and the mode to be used

mcrypt_list_modes
mcrypt_module_get_algo_block_size
Mcrypt Funktionen


Returns the blocksize of the specified algorithm

mcrypt_module_close
mcrypt_module_get_algo_key_size
Mcrypt Funktionen
PHP Manual

mcrypt_module_get_algo_block_size

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

mcrypt_module_get_algo_block_size — Returns the blocksize of the specified algorithm

Warnung

This function has been DEPRECATED as of PHP 7.1.0. Relying on this function is highly discouraged.

Beschreibung

int mcrypt_module_get_algo_block_size ( string $algorithm [, string $lib_dir ] )

Gets the blocksize of the specified algorithm.

Parameter-Liste

algorithm

The algorithm name.

lib_dir

This optional parameter can contain the location where the mode module is on the system.

Rückgabewerte

Returns the block size of the algorithm specified in bytes.

mcrypt_module_close
mcrypt_module_get_algo_key_size
Mcrypt Funktionen


Returns the maximum supported keysize of the opened mode

mcrypt_module_get_algo_block_size
mcrypt_module_get_supported_key_sizes
Mcrypt Funktionen
PHP Manual

mcrypt_module_get_algo_key_size

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

mcrypt_module_get_algo_key_size — Returns the maximum supported keysize of the opened mode

Warnung

This function has been DEPRECATED as of PHP 7.1.0. Relying on this function is highly discouraged.

Beschreibung

int mcrypt_module_get_algo_key_size ( string $algorithm [, string $lib_dir ] )

Gets the maximum supported keysize of the opened mode.

Parameter-Liste

algorithm

The algorithm name.

lib_dir

This optional parameter can contain the location where the mode module is on the system.

Rückgabewerte

This function returns the maximum supported key size of the algorithm specified in bytes.

mcrypt_module_get_algo_block_size
mcrypt_module_get_supported_key_sizes
Mcrypt Funktionen


Returns an array with the supported keysizes of the opened algorithm

mcrypt_module_get_algo_key_size
mcrypt_module_is_block_algorithm_mode
Mcrypt Funktionen
PHP Manual

mcrypt_module_get_supported_key_sizes

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

mcrypt_module_get_supported_key_sizes — Returns an array with the supported keysizes of the opened algorithm

Warnung

This function has been DEPRECATED as of PHP 7.1.0. Relying on this function is highly discouraged.

Beschreibung

array mcrypt_module_get_supported_key_sizes ( string $algorithm [, string $lib_dir ] )

Returns an array with the key sizes supported by the specified algorithm. If it returns an empty array then all key sizes between 1 and mcrypt_module_get_algo_key_size() are supported by the algorithm.

Parameter-Liste

algorithm

The algorithm to be used.

lib_dir

The optional lib_dir parameter can contain the location where the algorithm module is on the system.

Rückgabewerte

Returns an array with the key sizes supported by the specified algorithm. If it returns an empty array then all key sizes between 1 and mcrypt_module_get_algo_key_size() are supported by the algorithm.

Siehe auch

  • mcrypt_enc_get_supported_key_sizes() - Returns an array with the supported keysizes of the opened algorithm

mcrypt_module_get_algo_key_size
mcrypt_module_is_block_algorithm_mode
Mcrypt Funktionen


Returns if the specified module is a block algorithm or not

mcrypt_module_get_supported_key_sizes
mcrypt_module_is_block_algorithm
Mcrypt Funktionen
PHP Manual

mcrypt_module_is_block_algorithm_mode

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

mcrypt_module_is_block_algorithm_mode — Returns if the specified module is a block algorithm or not

Warnung

This function has been DEPRECATED as of PHP 7.1.0. Relying on this function is highly discouraged.

Beschreibung

bool mcrypt_module_is_block_algorithm_mode ( string $mode [, string $lib_dir ] )

This function returns TRUE if the mode is for use with block algorithms, otherwise it returns FALSE. (e.g. FALSE for stream, and TRUE for cbc, cfb, ofb).

Parameter-Liste

mode

The mode to check.

lib_dir

The optional lib_dir parameter can contain the location where the algorithm module is on the system.

Rückgabewerte

This function returns TRUE if the mode is for use with block algorithms, otherwise it returns FALSE. (e.g. FALSE for stream, and TRUE for cbc, cfb, ofb).

mcrypt_module_get_supported_key_sizes
mcrypt_module_is_block_algorithm
Mcrypt Funktionen


This function checks whether the specified algorithm is a block algorithm

mcrypt_module_is_block_algorithm_mode
mcrypt_module_is_block_mode
Mcrypt Funktionen
PHP Manual

mcrypt_module_is_block_algorithm

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

mcrypt_module_is_block_algorithm — This function checks whether the specified algorithm is a block algorithm

Warnung

This function has been DEPRECATED as of PHP 7.1.0. Relying on this function is highly discouraged.

Beschreibung

bool mcrypt_module_is_block_algorithm ( string $algorithm [, string $lib_dir ] )

This function returns TRUE if the specified algorithm is a block algorithm, or FALSE if it is a stream one.

Parameter-Liste

algorithm

The algorithm to check.

lib_dir

The optional lib_dir parameter can contain the location where the algorithm module is on the system.

Rückgabewerte

This function returns TRUE if the specified algorithm is a block algorithm, or FALSE if it is a stream one.

mcrypt_module_is_block_algorithm_mode
mcrypt_module_is_block_mode
Mcrypt Funktionen


Returns if the specified mode outputs blocks or not

mcrypt_module_is_block_algorithm
mcrypt_module_open
Mcrypt Funktionen
PHP Manual

mcrypt_module_is_block_mode

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

mcrypt_module_is_block_mode — Returns if the specified mode outputs blocks or not

Warnung

This function has been DEPRECATED as of PHP 7.1.0. Relying on this function is highly discouraged.

Beschreibung

bool mcrypt_module_is_block_mode ( string $mode [, string $lib_dir ] )

This function returns TRUE if the mode outputs blocks of bytes or FALSE if it outputs just bytes. (e.g. TRUE for cbc and ecb, and FALSE for cfb and stream).

Parameter-Liste

mode

Eine der Konstanten von MCRYPT_MODE_modename oder eine der folgenden Zeichenketten: "ecb", "cbc", "cfb", "ofb", "nofb" oder "stream".

lib_dir

The optional lib_dir parameter can contain the location where the algorithm module is on the system.

Rückgabewerte

This function returns TRUE if the mode outputs blocks of bytes or FALSE if it outputs just bytes. (e.g. TRUE for cbc and ecb, and FALSE for cfb and stream).

mcrypt_module_is_block_algorithm
mcrypt_module_open
Mcrypt Funktionen


Opens the module of the algorithm and the mode to be used

mcrypt_module_is_block_mode
mcrypt_module_self_test
Mcrypt Funktionen
PHP Manual

mcrypt_module_open

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

mcrypt_module_open — Opens the module of the algorithm and the mode to be used

Warnung

This function has been DEPRECATED as of PHP 7.1.0. Relying on this function is highly discouraged.

Beschreibung

resource mcrypt_module_open ( string $algorithm , string $algorithm_directory , string $mode , string $mode_directory )

This function opens the module of the algorithm and the mode to be used. The name of the algorithm is specified in algorithm, e.g. "twofish" or is one of the MCRYPT_ciphername constants. The module is closed by calling mcrypt_module_close().

Parameter-Liste

algorithm

Eine der Konstanten von MCRYPT_ciphername oder der Name eines Algorithmus als Zeichenkette.

algorithm_directory

The algorithm_directory parameter is used to locate the encryption module. When you supply a directory name, it is used. When you set it to an empty string (""), the value set by the mcrypt.algorithms_dir php.ini directive is used. When it is not set, the default directory that is used is the one that was compiled into libmcrypt (usually /usr/local/lib/libmcrypt).

mode

Eine der Konstanten von MCRYPT_MODE_modename oder eine der folgenden Zeichenketten: "ecb", "cbc", "cfb", "ofb", "nofb" oder "stream".

mode_directory

The mode_directory parameter is used to locate the encryption module. When you supply a directory name, it is used. When you set it to an empty string (""), the value set by the mcrypt.modes_dir php.ini directive is used. When it is not set, the default directory that is used is the one that was compiled-in into libmcrypt (usually /usr/local/lib/libmcrypt).

Rückgabewerte

Normally it returns an encryption descriptor, or FALSE on error.

Beispiele

Beispiel #1 mcrypt_module_open() Examples

<?php
    $td = mcrypt_module_open(MCRYPT_DES, '',
        MCRYPT_MODE_ECB, '/usr/lib/mcrypt-modes');

    $td = mcrypt_module_open('rijndael-256', '', 'ofb', '');
?>

The first line in the example above will try to open the DES cipher from the default directory and the ECB mode from the directory /usr/lib/mcrypt-modes. The second example uses strings as name for the cipher and mode, this only works when the extension is linked against libmcrypt 2.4.x or 2.5.x.

Beispiel #2 Using mcrypt_module_open() in encryption

<?php
    /* Open the cipher */
    $td = mcrypt_module_open('rijndael-256', '', 'ofb', '');

    /* Create the IV and determine the keysize length, use MCRYPT_RAND
     * on Windows instead */
    $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_DEV_RANDOM);
    $ks = mcrypt_enc_get_key_size($td);

    /* Create key */
    $key = substr(md5('very secret key'), 0, $ks);

    /* Intialize encryption */
    mcrypt_generic_init($td, $key, $iv);

    /* Encrypt data */
    $encrypted = mcrypt_generic($td, 'This is very important data');

    /* Terminate encryption handler */
    mcrypt_generic_deinit($td);

    /* Initialize encryption module for decryption */
    mcrypt_generic_init($td, $key, $iv);

    /* Decrypt encrypted string */
    $decrypted = mdecrypt_generic($td, $encrypted);

    /* Terminate decryption handle and close module */
    mcrypt_generic_deinit($td);
    mcrypt_module_close($td);

    /* Show string */
    echo trim($decrypted) . "\n";
?>

Siehe auch

  • mcrypt_module_close() - Closes the mcrypt module
  • mcrypt_generic() - This function encrypts data
  • mdecrypt_generic() - Decrypts data
  • mcrypt_generic_init() - This function initializes all buffers needed for encryption
  • mcrypt_generic_deinit() - This function deinitializes an encryption module

mcrypt_module_is_block_mode
mcrypt_module_self_test
Mcrypt Funktionen


This function runs a self test on the specified module

mcrypt_module_open
mcrypt_ofb
Mcrypt Funktionen
PHP Manual

mcrypt_module_self_test

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

mcrypt_module_self_test — This function runs a self test on the specified module

Warnung

This function has been DEPRECATED as of PHP 7.1.0. Relying on this function is highly discouraged.

Beschreibung

bool mcrypt_module_self_test ( string $algorithm [, string $lib_dir ] )

This function runs the self test on the algorithm specified.

Parameter-Liste

algorithm

Eine der Konstanten von MCRYPT_ciphername oder der Name eines Algorithmus als Zeichenkette.

lib_dir

The optional lib_dir parameter can contain the location where the algorithm module is on the system.

Rückgabewerte

The function returns TRUE if the self test succeeds, or FALSE when it fails.

Beispiele

Beispiel #1 mcrypt_module_self_test() example

<?php
var_dump(mcrypt_module_self_test(MCRYPT_RIJNDAEL_128)) . "\n";
var_dump(mcrypt_module_self_test(MCRYPT_BOGUS_CYPHER));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(false)

mcrypt_module_open
mcrypt_ofb
Mcrypt Funktionen


Encrypts/decrypts data in OFB mode

mcrypt_module_self_test
mdecrypt_generic
Mcrypt Funktionen
PHP Manual

mcrypt_ofb

(PHP 4, PHP 5)

mcrypt_ofb — Encrypts/decrypts data in OFB mode

Warnung

This function was DEPRECATED in PHP 5.5.0, and REMOVED in PHP 7.0.0.

Alternatives to this function include:

  • mcrypt_decrypt()
  • mcrypt_encrypt()

Beschreibung

string mcrypt_ofb ( int $cipher , string $key , string $data , int $mode , string $iv )
string mcrypt_ofb ( string $cipher , string $key , string $data , int $mode [, string $iv ] )

The first prototype is when linked against libmcrypt 2.2.x, the second when linked against libmcrypt 2.4.x or higher. The mode should be either MCRYPT_ENCRYPT or MCRYPT_DECRYPT.

mcrypt_module_self_test
mdecrypt_generic
Mcrypt Funktionen


Decrypts data

mcrypt_ofb
Mhash
Mcrypt Funktionen
PHP Manual

mdecrypt_generic

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

mdecrypt_generic — Decrypts data

Warnung

This function has been DEPRECATED as of PHP 7.1.0. Relying on this function is highly discouraged.

Beschreibung

string mdecrypt_generic ( resource $td , string $data )

This function decrypts data. Note that the length of the returned string can in fact be longer than the unencrypted string, due to the padding of the data.

Parameter-Liste

td

An encryption descriptor returned by mcrypt_module_open()

data

Encrypted data.

Beispiele

Beispiel #1 mdecrypt_generic() Example

<?php
    /* Data */
    $key = 'this is a very long key, even too long for the cipher';
    $plain_text = 'very important data';

    /* Open module, and create IV */
    $td = mcrypt_module_open('des', '', 'ecb', '');
    $key = substr($key, 0, mcrypt_enc_get_key_size($td));
    $iv_size = mcrypt_enc_get_iv_size($td);
    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);

    /* Initialize encryption handle */
    if (mcrypt_generic_init($td, $key, $iv) != -1) {

        /* Encrypt data */
        $c_t = mcrypt_generic($td, $plain_text);
        mcrypt_generic_deinit($td);

        /* Reinitialize buffers for decryption */
        mcrypt_generic_init($td, $key, $iv);
        $p_t = mdecrypt_generic($td, $c_t);

        /* Clean up */
        mcrypt_generic_deinit($td);
        mcrypt_module_close($td);
    }

    if (strncmp($p_t, $plain_text, strlen($plain_text)) == 0) {
        echo "ok\n";
    } else {
        echo "error\n";
    }
?>

The example above shows how to check if the data before the encryption is the same as the data after the decryption. It is very important to reinitialize the encryption buffer with mcrypt_generic_init() before you try to decrypt the data.

The decryption handle should always be initialized with mcrypt_generic_init() with a key and an IV before calling this function. Where the encryption is done, you should free the encryption buffers by calling mcrypt_generic_deinit(). See mcrypt_module_open() for an example.

Siehe auch

  • mcrypt_generic() - This function encrypts data
  • mcrypt_generic_init() - This function initializes all buffers needed for encryption
  • mcrypt_generic_deinit() - This function deinitializes an encryption module

mcrypt_ofb
Mhash
Mcrypt Funktionen


Mhash

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
  • Mhash Funktionen
    • mhash_count — Gibt die höchstmöglichen Hash-ID zurück
    • mhash_get_block_size — Gibt die Blockgröße von dem übergebenem Hash zurück
    • mhash_get_hash_name — Gibt den Namen eines Hashs zurück
    • mhash_keygen_s2k — Generates a key
    • mhash — Hash berechnen
mdecrypt_generic
Einführung
Kryptografische Erweiterungen


Einführung

These functions are intended to work with » mhash. Mhash can be used to create checksums, message digests, message authentication codes, and more.

This is an interface to the mhash library. Mhash supports a wide variety of hash algorithms such as MD5, SHA1, GOST, and many others. For a complete list of supported hashes, refer to the constants page. The general rule is that you can access the hash algorithm from PHP with MHASH_hashname. For example, to access TIGER you use the PHP constant MHASH_TIGER.

Hinweis:

This extension is obsoleted by Hash.

Mhash
Installation/Konfiguration
Mhash


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Mhash


Anforderungen

To use it, download the mhash distribution from » its web site and follow the included installation instructions.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

You need to compile PHP with the --with-mhash[=DIR] parameter to enable this extension. DIR is the mhash installation directory.

As of PHP 5.3.0, the mhash extension is emulated thru the Hash extension. This makes the mhash installation directory have no effect, and requires the hash extension enabled to make the mhash support available.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

Here is a list of hashes which are currently supported by mhash. If a hash is not listed here, but it is listed in the mhash documentation as supported, you can safely assume that this documentation is outdated.

  • MHASH_ADLER32
  • MHASH_CRC32
  • MHASH_CRC32B
  • MHASH_GOST
  • MHASH_HAVAL128
  • MHASH_HAVAL160
  • MHASH_HAVAL192
  • MHASH_HAVAL224
  • MHASH_HAVAL256
  • MHASH_MD2
  • MHASH_MD4
  • MHASH_MD5
  • MHASH_RIPEMD128
  • MHASH_RIPEMD256
  • MHASH_RIPEMD320
  • MHASH_SHA1
  • MHASH_SHA192
  • MHASH_SHA224
  • MHASH_SHA256
  • MHASH_SHA384
  • MHASH_SHA512
  • MHASH_SNEFRU128
  • MHASH_SNEFRU256
  • MHASH_TIGER
  • MHASH_TIGER128
  • MHASH_TIGER160
  • MHASH_WHIRLPOOL

Ressource-Typen
Beispiele
Mhash


Beispiele

Beispiel #1 Computes the MD5 digest and hmac and print it out as hex

<?php
$input = "what do ya want for nothing?";
$hash = mhash(MHASH_MD5, $input);
echo "The hash is " . bin2hex($hash) . "<br />\n";
$hash = mhash(MHASH_MD5, $input, "Jefe");
echo "The hmac is " . bin2hex($hash) . "<br />\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

The hash is d03cb659cbf9192dcd066272249f8412
The hmac is 750c783e6ab0b503eaa86e310a5db738

Vordefinierte Konstanten
Mhash Funktionen
Mhash


Mhash Funktionen

Inhaltsverzeichnis

  • mhash_count — Gibt die höchstmöglichen Hash-ID zurück
  • mhash_get_block_size — Gibt die Blockgröße von dem übergebenem Hash zurück
  • mhash_get_hash_name — Gibt den Namen eines Hashs zurück
  • mhash_keygen_s2k — Generates a key
  • mhash — Hash berechnen
Beispiele
mhash_count
Mhash


Gibt die höchstmöglichen Hash-ID zurück

Mhash Funktionen
mhash_get_block_size
Mhash Funktionen
PHP Manual

mhash_count

(PHP 4, PHP 5, PHP 7)

mhash_count — Gibt die höchstmöglichen Hash-ID zurück

Beschreibung

int mhash_count ( void )

mhash_count() gibt die höchste verfügbare Hash-ID zurück.

Rückgabewerte

Gibt die höchste verfügbare Hash-ID zurück. Hashes sind von 0 bis zu der Hash-ID nummeriert.

Beispiele

Beispiel #1 Alle Hashes durchlaufen

<?php

$nr = mhash_count();

for ($i = 0; $i <= $nr; $i++) {
    echo sprintf ("Die Blockgröße von %s ist %d\n",
        mhash_get_hash_name ($i),
        mhash_get_block_size ($i));
}
?>

Mhash Funktionen
mhash_get_block_size
Mhash Funktionen


Gibt die Blockgröße von dem übergebenem Hash zurück

mhash_count
mhash_get_hash_name
Mhash Funktionen
PHP Manual

mhash_get_block_size

(PHP 4, PHP 5, PHP 7)

mhash_get_block_size — Gibt die Blockgröße von dem übergebenem Hash zurück

Beschreibung

int mhash_get_block_size ( int $hash )

mhash_get_block_size() gibt die Größe des übergebenen Hashs.

mhash_get_block_size() nimmt ein Argument, den Hash und gibt die Größe in Byte oder FALSE, wenn Hash nicht existiert.

mhash_count
mhash_get_hash_name
Mhash Funktionen


Gibt den Namen eines Hashs zurück

mhash_get_block_size
mhash_keygen_s2k
Mhash Funktionen
PHP Manual

mhash_get_hash_name

(PHP 4, PHP 5, PHP 7)

mhash_get_hash_name — Gibt den Namen eines Hashs zurück

Beschreibung

string mhash_get_hash_name ( int $hash )

mhash_get_hash_name() wird verwendet, um den Namen eines Hashes zu erfahren.

mhash_get_hash_name() nimmt die Hash-Id als Argument und gibt den Namen des Hashs zurück oder FALSE, wenn der Hash nicht existiert.

Beispiel #1 mhash_get_hash_name-Beispiel

<?php
$hash = MHASH_MD5;

print mhash_get_hash_name ($hash);
?>

Das Beispiel oben gibt aus:

MD5

mhash_get_block_size
mhash_keygen_s2k
Mhash Funktionen


Generates a key

mhash_get_hash_name
mhash
Mhash Funktionen
PHP Manual

mhash_keygen_s2k

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

mhash_keygen_s2k — Generates a key

Beschreibung

string mhash_keygen_s2k ( int $hash , string $password , string $salt , int $bytes )

Generates a key according to the given hash, using an user provided password.

This is the Salted S2K algorithm as specified in the OpenPGP document (» RFC 2440).

Keep in mind that user supplied passwords are not really suitable to be used as keys in cryptographic algorithms, since users normally choose keys they can write on keyboard. These passwords use only 6 to 7 bits per character (or less). It is highly recommended to use some kind of transformation (like this function) to the user supplied key.

Parameter-Liste

hash

The hash ID used to create the key. One of the MHASH_hashname constants.

password

An user supplied password.

salt

Must be different and random enough for every key you generate in order to create different keys. Because salt must be known when you check the keys, it is a good idea to append the key to it. Salt has a fixed length of 8 bytes and will be padded with zeros if you supply less bytes.

bytes

The key length, in bytes.

Rückgabewerte

Returns the generated key as a string, or FALSE on error.

mhash_get_hash_name
mhash
Mhash Funktionen


Hash berechnen

mhash_keygen_s2k
OpenSSL
Mhash Funktionen
PHP Manual

mhash

(PHP 4, PHP 5, PHP 7)

mhash — Hash berechnen

Beschreibung

string mhash ( int $hash , string $data )

mhash() verwendet eine Hash-Funktion abhängig von hash auf data und gibt den resultierenden Hash zurück (wird auch Digest genannt).

mhash_keygen_s2k
OpenSSL
Mhash Funktionen


OpenSSL

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
    • Zweckprüfende Flags
    • Padding Flags für asymetrische Verschlüsselung
    • Key types
    • PKCS7 Flags/Konstanten
    • Signatur-Algorithmen
    • Ciphers
    • Versions-Konstanten
    • Server Name Indication Konstanten
  • Schlüssel/Zertifikat Parameter
  • Zertifikatprüfung
  • OpenSSL Funktionen
    • openssl_cipher_iv_length — Gets the cipher iv length
    • openssl_csr_export_to_file — Exportiert ein CSR in eine Datei
    • openssl_csr_export — Exportiert einen CSR als Zeichenkette
    • openssl_csr_get_public_key — Gibt den öffentlichen Schlüssel eines CERT zurück
    • openssl_csr_get_subject — Gibt das Subject eines CERT zurück
    • openssl_csr_new — Erzeugt einen CSR
    • openssl_csr_sign — Signiert einen CSR mit einem anderen Zertifikat (oder sich selbst) und generiert ein Zertifikat
    • openssl_decrypt — Decrypts data
    • openssl_dh_compute_key — Computes shared secret for public value of remote DH key and local DH key
    • openssl_digest — Computes a digest
    • openssl_encrypt — Verschlüsselt Daten
    • openssl_error_string — Gibt eine openSSL Fehlermeldung zurück
    • openssl_free_key — Free key resource
    • openssl_get_cert_locations — Retrieve the available certificate locations
    • openssl_get_cipher_methods — Gets available cipher methods
    • openssl_get_md_methods — Gets available digest methods
    • openssl_get_privatekey — Alias von openssl_pkey_get_private
    • openssl_get_publickey — Alias von openssl_pkey_get_public
    • openssl_open — Öffnet versiegelte Daten
    • openssl_pbkdf2 — Generates a PKCS5 v2 PBKDF2 string, defaults to SHA-1
    • openssl_pkcs12_export_to_file — Exportiert eine PKCS#12-kompatible Zertifikats-Datei
    • openssl_pkcs12_export — Exportiert eine PKCS#12-kompatible Zertifikats-Datei in eine Variable
    • openssl_pkcs12_read — Speichert ein PKCS#12 Zertifikat in einem Array
    • openssl_pkcs7_decrypt — Entschlüsseln einer S/MIME verschlüsselten Nachricht
    • openssl_pkcs7_encrypt — Verschlüsseln einer S/MIME Nachricht
    • openssl_pkcs7_sign — Signieren einer S/MIME message
    • openssl_pkcs7_verify — überprüft die Unterschrift einer mit S/MIME unterschriebenen Nachricht
    • openssl_pkey_export_to_file — Liefert eine exportierbare Representation eines Schlüssels in einer Datei
    • openssl_pkey_export — Liefert eine exportierbare Repräsentation eines Schlüssels in einem String
    • openssl_pkey_free — Gibt einen privaten Schlüssel frei
    • openssl_pkey_get_details — Gibt ein Array mit den Schlüssel-Details zurück
    • openssl_pkey_get_private — Liefert einen privaten Schlüssel
    • openssl_pkey_get_public — Extrahiert einen öffentlichen Schlüssel aus einem Zertifikat und bereitet diesen zur Nutzung vor
    • openssl_pkey_new — Erzeugt einen neuen privaten Schlüssel
    • openssl_private_decrypt — Entschlüsselt Daten mit einem privaten Schlüssel
    • openssl_private_encrypt — Verschlüsselt Daten mit einem privaten Schlüssel
    • openssl_public_decrypt — Entschlüsselt Daten mit einem öffentlichen Schlüssel
    • openssl_public_encrypt — Verschlüsselt Daten mit einem öffentlichen Schlüssel
    • openssl_random_pseudo_bytes — Generate a pseudo-random string of bytes
    • openssl_seal — Versiegelt (verschlüsselt) Daten
    • openssl_sign — Erzeugen einer Signatur
    • openssl_spki_export_challenge — Exports the challenge assoicated with a signed public key and challenge
    • openssl_spki_export — Exports a valid PEM formatted public key signed public key and challenge
    • openssl_spki_new — Generate a new signed public key and challenge
    • openssl_spki_verify — Verifies a signed public key and challenge
    • openssl_verify — Überprüft eine Signatur
    • openssl_x509_check_private_key — Überprüft, ob ein privater Schlüssel zu einem Zertifikat passt
    • openssl_x509_checkpurpose — Überprüft, ob ein Zertifikat für einen bestimmten Zweck benutzt werden kann
    • openssl_x509_export_to_file — Exportiert ein Zertifikat in eine Datei
    • openssl_x509_export — Exports a certificate as a string
    • openssl_x509_fingerprint — Calculates the fingerprint, or digest, of a given X.509 certificate
    • openssl_x509_free — Freigabe einer Zertifikats Resource
    • openssl_x509_parse — Parst ein X.509-Zertifikat und liefert die Informationen als Array zurück
    • openssl_x509_read — Parst ein X.509-Zertitifikat und gibt eine Ressource zurück
mhash
Einführung
Kryptografische Erweiterungen


Einführung

Dieses Modul nutzt die Funktionen von » OpenSSL zur Erzeugung und Überprüfung von Signaturen und zum versiegeln (verschlüsseln) und öffnen (entschlüsseln) von Daten. OpenSSL bietet viele Möglichkeiten die dieses Modul zum jetzigen Zeitpunkt nicht unterstützt. Einige dieser Möglichkeiten werden vielleicht in zukünftigen Versionen zur Verfügung stehen.

OpenSSL
Installation/Konfiguration
OpenSSL


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
OpenSSL


Anforderungen

Bevor Sie die Openssl-Funktionen nutzen können, müssen Sie das » OpenSSL Paket installieren. PHP zwischen 4.0.5 und 4.3.1 funktionieren mit OpenSSL >= 0.9.5. Andere Versionen (PHP <=4.0.4 and >= 4.3.2) setzen OpenSSL >= 0.9.6 voraus.

Warnung

Es wird dringnd empfohlen die aktuellste OpenSSL Version zu verwenden, anderenfalls könnte Ihr Webserver anfällig für Attacken sein.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Um Openssl mit PHP nutzen zu können, müssen Sie PHP mit der Option --with-openssl[=DIR] kompilieren.

Die OpenSSL Bibliothek stellt einige weitere Bedingungen, um zur Laufzeit korrekt funktionieren zu können. Insbesondere benötigt OpenSLL Zugang zu einer Quelle für zufällige oder pseudo-zufällige Zahlen. Auf Unix und Unix-ähnlichen Systemen bedeutet dies, dass OpenSSL Zugang zu /dev/urandom oder /dev/random haben sollte.

Hinweis: Hinweis für Win32 Benutzer

Diese Extension benötigt DLL-Dateien. die für Windows verfügbar seien müssen. Der FAQ-Eintrag " Wie füge ich unter Windows PATH mein PHP-Verzeichnis hinzu?" gibt hierzu weitere Informationen. Obwohl ein einfaches Kopieren der DLL-Dateien vom PHP-Verzeichnis in den Windows-Systemordner auch funktioniert (weil der Systemordner immer im PATH enthalten ist), ist dieses Vorgehen nicht empfehlenswert. Diese Extension benötigt die folgenden Dateien im PATH: libeay32.dll

Wenn Sie vorhaben, Schlüssel erzeugende und Zertifikate signierende Funktionen zu benutzen, müssen Sie eine gültige Konfigurationsdatei für OpenSSL, openssl.cnf, installieren. Wir fügen der win32 Binärdistribution eine Beispielkonfigurationsdatei bei, die Sie im Verzeichnis extras/openssl finden.

PHP verwendet folgende Logik um die Konfigurationsdatei openssl.cnf zu finden:

  • Die Umgebungsvariable OPENSSL_CONF wird, falls gesetzt, als Pfad zur Konfigurationsdatei benutzt (den Dateinamen mit eingeschlossen).
  • Die Umgebungsvariable SSLEAY_CONF wird, falls gesetzt, als Pfad zur Konfigurationsdatei benutzt (den Dateinamen mit eingeschlossen).
  • PHP sucht die Datei openssl.cnf an dem Ort, der bei der Kompilierung der openssl DLL als Speicherort für Zertifikate angegeben wurde. Üblicherweise ist der Standarddateiname c:\usr\local\ssl\openssl.cnf.

Damit diese Datei gefunden wird, müsssen Sie sich bei der Installation entscheiden, entweder die Konfigurationsdatei unter c:\usr\local\ssl\openssl.cnf anzulegen, oder diese Datei an einem anderen Ort abzulegen und Umgebungsvariablen zu benutzen (möglicherweise auf Basis verschiedener Virtual-Host Konfigurationen). Bei Funktionen, die diese Konfigurationsdatei benötigen, ist es möglich, durch die Angabe des Parameters configargs den Standardpfad zu dieser Datei in einem Skript zu überschreiben.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

openssl Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
openssl.cafile | "" | PHP_INI_PERDIR | Available since PHP 5.6.0.
openssl.capath | "" | PHP_INI_PERDIR | Available since PHP 5.6.0.
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

openssl.cafile string

Location of Certificate Authority file on local filesystem which should be used with the verify_peer context option to authenticate the identity of the remote peer.

openssl.capath string

If cafile is not specified or if the certificate is not found there, the directory pointed to by capath is searched for a suitable certificate. capath must be a correctly hashed certificate directory.

See also the SSL stream context options.

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Inhaltsverzeichnis

  • Zweckprüfende Flags
  • Padding Flags für asymetrische Verschlüsselung
  • Key types
  • PKCS7 Flags/Konstanten
  • Signatur-Algorithmen
  • Ciphers
  • Versions-Konstanten
  • Server Name Indication Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

Ressource-Typen
Zweckprüfende Flags
OpenSSL


Zweckprüfende Flags

X509_PURPOSE_SSL_CLIENT (integer)
X509_PURPOSE_SSL_SERVER (integer)
X509_PURPOSE_NS_SSL_SERVER (integer)
X509_PURPOSE_SMIME_SIGN (integer)
X509_PURPOSE_SMIME_ENCRYPT (integer)
X509_PURPOSE_CRL_SIGN (integer)
X509_PURPOSE_ANY (integer)
Vordefinierte Konstanten
Padding Flags für asymetrische Verschlüsselung
Vordefinierte Konstanten


Padding Flags für asymetrische Verschlüsselung

OPENSSL_PKCS1_PADDING (integer)
OPENSSL_SSLV23_PADDING (integer)
OPENSSL_NO_PADDING (integer)
OPENSSL_PKCS1_OAEP_PADDING (integer)
Zweckprüfende Flags
Key types
Vordefinierte Konstanten


Key types

OPENSSL_KEYTYPE_RSA (integer)
OPENSSL_KEYTYPE_DSA (integer)
OPENSSL_KEYTYPE_DH (integer)
OPENSSL_KEYTYPE_EC (integer)
Diese Konstante ist nur verfügbar, wenn PHP mit OpenSSL 0.9.8+ kompiliert wurde

Hinweis:

Die Konstante wurde in 5.2.0 hinzugefügt.

OPENSSL_KEYTYPE_EC

Padding Flags für asymetrische Verschlüsselung
PKCS7 Flags/Konstanten
Vordefinierte Konstanten


PKCS7 Flags/Konstanten

Die S/MIME Funktionen nutzen Flags die durch ein Bitfeld angegeben werden, das einen oder mehrere der folgenden Werte enthalten kann:

PKCS7 KONSTANTEN
Konstante | Beschreibung
PKCS7_TEXT | Fügt den Inhaltstyp Header text/plain zu einer verschlüsselten/signierten Nachricht hinzu. Wenn Sie entschlüsseln oder überprüfen, werden diese Header von der Ausgabe entfernt. Entspricht die entschlüsselte oder geprüfte Nachricht nicht dem MIME Typ text/plain, tritt ein Fehler auf.
PKCS7_BINARY | Normalerweise wird die Nachricht in ein "kanonisches" Format konvertiert, das effektiv CR und LF als Zeilende benutzt, wie von der S/MIME Spezifikation gefordert. Wird diese Option angegeben, findet keine Konvertierung statt. Das kann sich als nützlich erweisen, wenn Sie es mit binären Daten zu tun haben, die nicht dem MIME Format entprechen.
PKCS7_NOINTERN | Wenn Sie eine Nachricht überprüfen, werden in der Nachricht enthaltene Zertifikate (falls es welche gibt) nach dem unterzeichnenden Zertifikat durchsucht. Mit dieser Option werden nur Zertifikate benutzt, die mit dem Parameter extracerts in der Funktion openssl_pkcs7_verify() angegeben wurden. Die mitgelieferten Zertifikate können aber dennoch als nicht vertrauenswürdige CAs benutzt werden.
PKCS7_NOVERIFY | Keine Überprüfung des signierenden Zertifikats einer signierten Nachricht durchführen.
PKCS7_NOCHAIN | Keine Verknüpfung der Überprüfung des Zertifikats mit den Zertifikaten des Unterzeichners: das bedeutet, die Zertifikate in der signierten Nachricht werden nicht als nicht vertrauenswürdige CAs benutzt.
PKCS7_NOCERTS | Beim Signieren einer Nachricht wird normalerweise das Zertifikat des Unterzeichnenden mit in die Nachricht aufgenommen - mit dieser Option wird das Zertifikat nicht mit aufgenommen. Diese Option verringert die Größe der signierten Nachricht, aber der Überprüfende muss eine lokale Kopie des Zertifikats vom Unterzeichnenden besitzen (zum Beispiel durch Angabe des Parameters extracerts in der Funktion openssl_pkcs7_verify()).
PKCS7_NOATTR | Beim Signieren einer Nachricht wird normalerweise eine Reihe von Attributen mit angehängt. Diese enthalten die Zeit der Signierung und die unterstützen symmetrischen Algorithmen. Mit dieser Option werden diese Attribute nicht mit aufgenommen.
PKCS7_DETACHED | Beim Signieren einer Nachricht wird Klartext-Signierung verwendet mit dem MIME Typ "multipart/signed". Das ist der Standard, wenn Sie keinen optionalen Parameter flags an die Funktion openssl_pkcs7_sign() übergeben. Wenn Sie diese Option ausschalten, wird die Nachricht mit einer undurchsichtigen Signatur unterzeichnet. Dieses Verhalten ist robuster gegenüber der Übersetzung durch Mail-Relays, kann aber nicht mit Mailprogrammen gelesen werden, die nicht den S/Mime Standard unterstützen.
PKCS7_NOSIGS | Kein Versuch der Überprüfung der Signaturen einer Nachricht wird durchgeführt.

Hinweis:

Diese Konstanten wurden in 4.0.6 hinzugefügt.

Key types
Signatur-Algorithmen
Vordefinierte Konstanten


Signatur-Algorithmen

OPENSSL_ALGO_DSS1 (integer)
OPENSSL_ALGO_SHA1 (integer)
Wird als Standard-Algorithmus für die Funktionen openssl_sign() und openssl_verify() verwendet.
OPENSSL_ALGO_SHA224 (integer)
OPENSSL_ALGO_SHA256 (integer)
OPENSSL_ALGO_SHA384 (integer)
OPENSSL_ALGO_SHA512 (integer)
OPENSSL_ALGO_RMD160 (integer)
OPENSSL_ALGO_MD5 (integer)
OPENSSL_ALGO_MD4 (integer)
OPENSSL_ALGO_MD2 (integer)
Von PHP 5.2.13 und PHP 5.3.2 an ist diese Konstante nur verfügbar, wenn PHP mit MD2 Support kompiliert wurde. Dies erfordert die Übergabe des -DHAVE_OPENSSL_MD2_H CFLAG wenn PHP, und enable-md2, wenn OpenSSL 1.0.0+ kompiliert wird.

Hinweis:

Diese Konstanten wurden in 5.0.0 hinzugefügt.

OPENSSL_ALGO_MD2, OPENSSL_ALGO_MD4, OPENSSL_ALGO_MD5, OPENSSL_ALGO_SHA1, OPENSSL_ALGO_DSS1

Hinweis:

Diese Konstanten wurden in 5.4.8 hinzugefügt.

OPENSSL_ALGO_RMD160, OPENSSL_ALGO_SHA224, OPENSSL_ALGO_SHA256, OPENSSL_ALGO_SHA384, OPENSSL_ALGO_SHA512

PKCS7 Flags/Konstanten
Ciphers
Vordefinierte Konstanten


Ciphers

OPENSSL_CIPHER_RC2_40 (integer)
OPENSSL_CIPHER_RC2_128 (integer)
OPENSSL_CIPHER_RC2_64 (integer)
OPENSSL_CIPHER_DES (integer)
OPENSSL_CIPHER_3DES (integer)

Hinweis:

Diese Konstanten wurden in 4.3.0 hinzugefügt.

OPENSSL_CIPHER_AES_128_CBC (integer)
OPENSSL_CIPHER_AES_192_CBC (integer)
OPENSSL_CIPHER_AES_256_CBC (integer)

Hinweis:

Diese Konstanten wurden in 5.4.0 hinzugefügt.

Signatur-Algorithmen
Versions-Konstanten
Vordefinierte Konstanten


Versions-Konstanten

OPENSSL_VERSION_TEXT (string)
OPENSSL_VERSION_NUMBER (integer)

Hinweis:

Diese Konstanten wurden in 5.2.0 hinzugefügt.

Ciphers
Server Name Indication Konstanten
Vordefinierte Konstanten


Server Name Indication Konstanten

OPENSSL_TLSEXT_SERVER_NAME (string)
Ob SNI unterstützt wird oder nicht.

Hinweis:

Diese Konstante wurde in 5.3.2 hinzugefügt, und erfordert dass PHP mit OpenSSL 0.9.8j oder höher kompiliert wurde.

Versions-Konstanten
Schlüssel/Zertifikat Parameter
Vordefinierte Konstanten


Schlüssel/Zertifikat Parameter

Ziemlich viele der OpenSSL Funktionen benötigen einen Schlüssel- oder einen Zertifikatparameter. PHP 4.0.5 und frühere Versionen müssen eine Schlüssel oder Zertifikat resource nutzen, die von einer der openssl_get_xxx() Funktionen zurückgegeben wird. Spätere Versionen können eine der folgenden Methoden benutzen:

  • Zertifikate

    1. Eine X.509 Resource die von openssl_x509_read() zurückgegeben wird.
    2. Eine Zeichenkette mit dem Format file://pfad/zu/cert.pem; die angegebene Datei muss ein PEM verschlüsseltes Zertifikat enthalten.
    3. Eine Zeichenkette die den Inhalt eines Zertifikats enthält, PEM verschlüsselt.

  • Öffentliche/Private Schlüssel

    1. Eine Schlüsselresource die von openssl_get_publickey() oder openssl_get_privatekey() zurückgegeben wird.
    2. Nur für öffentliche Schlüssel: eine X.509 Resource.
    3. Eine Zeichenkette mit dem Format file://pfad/zu/datei.pem - die angegebene Datei muss ein PEM verschlüsseltes Zertifikat/privaten Schlüssel enthalten (kann auch beides enthalten).
    4. Eine Zeichenkette die den Inhalt eines Zertifikats/Schlüssels enthält, PEM verschlüsselt.
    5. Für private Schlüssel können Sie auch die Syntax array($key, $passphrase) verwenden. $key repräsentiert einen Schlüssel, den Sie entweder mit der Notation file:// oder dem textlichen Inhalt wie oben angeben. $passphrase ist eine Zeichenfolge, die die Passphrase für den privaten Schlüssel enthält.

Server Name Indication Konstanten
Zertifikatprüfung
OpenSSL


Zertifikatprüfung

Wenn Sie eine Funktion aufrufen, die eine Signatur/ein Zertifikat Überprüft, ist der Parameter cainfo ein Array, das Datei- und Verzeichnisnamen enthält, die auf vertrauenswürdige CA Dateien verweisen. Falls Sie ein Verzeichnis angeben, muss dies ein korrekt geformtes gehashdes Verzeichnis sein, in der Art, wie es der Befehl openssl verwenden würde.

Schlüssel/Zertifikat Parameter
OpenSSL Funktionen
OpenSSL


OpenSSL Funktionen

Inhaltsverzeichnis

  • openssl_cipher_iv_length — Gets the cipher iv length
  • openssl_csr_export_to_file — Exportiert ein CSR in eine Datei
  • openssl_csr_export — Exportiert einen CSR als Zeichenkette
  • openssl_csr_get_public_key — Gibt den öffentlichen Schlüssel eines CERT zurück
  • openssl_csr_get_subject — Gibt das Subject eines CERT zurück
  • openssl_csr_new — Erzeugt einen CSR
  • openssl_csr_sign — Signiert einen CSR mit einem anderen Zertifikat (oder sich selbst) und generiert ein Zertifikat
  • openssl_decrypt — Decrypts data
  • openssl_dh_compute_key — Computes shared secret for public value of remote DH key and local DH key
  • openssl_digest — Computes a digest
  • openssl_encrypt — Verschlüsselt Daten
  • openssl_error_string — Gibt eine openSSL Fehlermeldung zurück
  • openssl_free_key — Free key resource
  • openssl_get_cert_locations — Retrieve the available certificate locations
  • openssl_get_cipher_methods — Gets available cipher methods
  • openssl_get_md_methods — Gets available digest methods
  • openssl_get_privatekey — Alias von openssl_pkey_get_private
  • openssl_get_publickey — Alias von openssl_pkey_get_public
  • openssl_open — Öffnet versiegelte Daten
  • openssl_pbkdf2 — Generates a PKCS5 v2 PBKDF2 string, defaults to SHA-1
  • openssl_pkcs12_export_to_file — Exportiert eine PKCS#12-kompatible Zertifikats-Datei
  • openssl_pkcs12_export — Exportiert eine PKCS#12-kompatible Zertifikats-Datei in eine Variable
  • openssl_pkcs12_read — Speichert ein PKCS#12 Zertifikat in einem Array
  • openssl_pkcs7_decrypt — Entschlüsseln einer S/MIME verschlüsselten Nachricht
  • openssl_pkcs7_encrypt — Verschlüsseln einer S/MIME Nachricht
  • openssl_pkcs7_sign — Signieren einer S/MIME message
  • openssl_pkcs7_verify — überprüft die Unterschrift einer mit S/MIME unterschriebenen Nachricht
  • openssl_pkey_export_to_file — Liefert eine exportierbare Representation eines Schlüssels in einer Datei
  • openssl_pkey_export — Liefert eine exportierbare Repräsentation eines Schlüssels in einem String
  • openssl_pkey_free — Gibt einen privaten Schlüssel frei
  • openssl_pkey_get_details — Gibt ein Array mit den Schlüssel-Details zurück
  • openssl_pkey_get_private — Liefert einen privaten Schlüssel
  • openssl_pkey_get_public — Extrahiert einen öffentlichen Schlüssel aus einem Zertifikat und bereitet diesen zur Nutzung vor
  • openssl_pkey_new — Erzeugt einen neuen privaten Schlüssel
  • openssl_private_decrypt — Entschlüsselt Daten mit einem privaten Schlüssel
  • openssl_private_encrypt — Verschlüsselt Daten mit einem privaten Schlüssel
  • openssl_public_decrypt — Entschlüsselt Daten mit einem öffentlichen Schlüssel
  • openssl_public_encrypt — Verschlüsselt Daten mit einem öffentlichen Schlüssel
  • openssl_random_pseudo_bytes — Generate a pseudo-random string of bytes
  • openssl_seal — Versiegelt (verschlüsselt) Daten
  • openssl_sign — Erzeugen einer Signatur
  • openssl_spki_export_challenge — Exports the challenge assoicated with a signed public key and challenge
  • openssl_spki_export — Exports a valid PEM formatted public key signed public key and challenge
  • openssl_spki_new — Generate a new signed public key and challenge
  • openssl_spki_verify — Verifies a signed public key and challenge
  • openssl_verify — Überprüft eine Signatur
  • openssl_x509_check_private_key — Überprüft, ob ein privater Schlüssel zu einem Zertifikat passt
  • openssl_x509_checkpurpose — Überprüft, ob ein Zertifikat für einen bestimmten Zweck benutzt werden kann
  • openssl_x509_export_to_file — Exportiert ein Zertifikat in eine Datei
  • openssl_x509_export — Exports a certificate as a string
  • openssl_x509_fingerprint — Calculates the fingerprint, or digest, of a given X.509 certificate
  • openssl_x509_free — Freigabe einer Zertifikats Resource
  • openssl_x509_parse — Parst ein X.509-Zertifikat und liefert die Informationen als Array zurück
  • openssl_x509_read — Parst ein X.509-Zertitifikat und gibt eine Ressource zurück
Zertifikatprüfung
openssl_cipher_iv_length
OpenSSL


Gets the cipher iv length

OpenSSL Funktionen
openssl_csr_export_to_file
OpenSSL Funktionen
PHP Manual

openssl_cipher_iv_length

(PHP 5 >= PHP 5.3.3, PHP 7)

openssl_cipher_iv_length — Gets the cipher iv length

Beschreibung

int openssl_cipher_iv_length ( string $method )

Gets the cipher initialization vector (iv) length.

Parameter-Liste

method

The cipher method, see openssl_get_cipher_methods() for a list of potential values.

Rückgabewerte

Returns the cipher length on success, or FALSE on failure.

Fehler/Exceptions

Emits an E_WARNING level error when the cipher algorithm is unknown.

Beispiele

Beispiel #1 openssl_cipher_iv_length() example

<?php
$method = 'AES-128-CBC';
$ivlen = openssl_cipher_iv_length($method);

echo $ivlen;
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

16
OpenSSL Funktionen
openssl_csr_export_to_file
OpenSSL Funktionen


Exportiert ein CSR in eine Datei

openssl_cipher_iv_length
openssl_csr_export
OpenSSL Funktionen
PHP Manual

openssl_csr_export_to_file

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

openssl_csr_export_to_file — Exportiert ein CSR in eine Datei

Beschreibung

bool openssl_csr_export_to_file ( resource $csr , string $outfilename [, bool $notext ] )

openssl_csr_export_to_file() exportiert die mit dem Parameter csr angegebene Zertifikatssignierungsanfrage und speichert diese als ASCII-armierten Text in die Datei mit dem Namen outfilename.

Parameter-Liste

csr

outfilename

Pfad zur Ausgabedatei.

notext

Der optionale Parameternotext beinflusst die Ausführlichkeit der Ausgabe. Wenn er auf FALSE gesetzt wird, werden zusätzliche lesbare Informationen in die Ausgabe aufgenommen. Der Vorgabewert für notext ist TRUE.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • openssl_csr_export() - Exportiert einen CSR als Zeichenkette
  • openssl_csr_new() - Erzeugt einen CSR
  • openssl_csr_sign() - Signiert einen CSR mit einem anderen Zertifikat (oder sich selbst) und generiert ein Zertifikat

openssl_cipher_iv_length
openssl_csr_export
OpenSSL Funktionen


Exportiert einen CSR als Zeichenkette

openssl_csr_export_to_file
openssl_csr_get_public_key
OpenSSL Funktionen
PHP Manual

openssl_csr_export

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

openssl_csr_export — Exportiert einen CSR als Zeichenkette

Beschreibung

bool openssl_csr_export ( resource $csr , string &$out [, bool $notext ] )

openssl_csr_export() exportiert die mit dem Parameter csr angegebene Zertifikatssignierungsanfrage und speichert diese als ASCII-armierten Text in out, der per Referenz übergeben wird.

Parameter-Liste

csr

out

notext

Der optionale Parameternotext beinflusst die Ausführlichkeit der Ausgabe. Wenn er auf FALSE gesetzt wird, werden zusätzliche lesbare Informationen in die Ausgabe aufgenommen. Der Vorgabewert für notext ist TRUE.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • openssl_csr_export_to_file() - Exportiert ein CSR in eine Datei
  • openssl_csr_new() - Erzeugt einen CSR
  • openssl_csr_sign() - Signiert einen CSR mit einem anderen Zertifikat (oder sich selbst) und generiert ein Zertifikat

openssl_csr_export_to_file
openssl_csr_get_public_key
OpenSSL Funktionen


Gibt den öffentlichen Schlüssel eines CERT zurück

openssl_csr_export
openssl_csr_get_subject
OpenSSL Funktionen
PHP Manual

openssl_csr_get_public_key

(PHP 5 >= 5.2.0, PHP 7)

openssl_csr_get_public_key — Gibt den öffentlichen Schlüssel eines CERT zurück

Beschreibung

resource openssl_csr_get_public_key ( mixed $csr [, bool $use_shortnames ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

openssl_csr_export
openssl_csr_get_subject
OpenSSL Funktionen


Gibt das Subject eines CERT zurück

openssl_csr_get_public_key
openssl_csr_new
OpenSSL Funktionen
PHP Manual

openssl_csr_get_subject

(PHP 5 >= 5.2.0, PHP 7)

openssl_csr_get_subject — Gibt das Subject eines CERT zurück

Beschreibung

array openssl_csr_get_subject ( mixed $csr [, bool $use_shortnames ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

openssl_csr_get_public_key
openssl_csr_new
OpenSSL Funktionen


Erzeugt einen CSR

openssl_csr_get_subject
openssl_csr_sign
OpenSSL Funktionen
PHP Manual

openssl_csr_new

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

openssl_csr_new — Erzeugt einen CSR

Beschreibung

mixed openssl_csr_new ( array $dn , resource &$privkey [, array $configargs [, array $extraattribs ]] )

openssl_csr_new() erzeugt einen neuen CSR (Zertifikatssignierungsanfrage) basierend auf den Informationen, die mit dem Parameter dn angegeben werden. Dieser bestimmt den Distinguished Name, der im Zertifikat benutzt werden soll.

Hinweis: Die ordnungsgemäße Ausführung dieser Funktion setzt die Installation einer gültigen openssl.cnf-Datei voraus. Mehr Information hierzu finden sie im Installationsabschnitt.

Parameter-Liste

dn

Der Distinguished Name der im Zertifikat genutzt werden soll

privkey

privkey sollte auf einen privaten Schlüssel zeigen, der vorher mit openssl_pkey_new() erzeugt wurde (oder den Sie auf andere Weise von der Familie der openssl_pkey Funktionen erhalten haben). Der entsprechende öffentliche Teil des Schlüssels wird benutzt um den CSR zu signieren.

configargs

configargskönnen Sie benutzen um zusätzliche Konfigurationsoptionen für den CSR anzugeben. Sowohl dn als auch extraattribs sind assoziative Arrays, deren Schlüssel zu OIDs konvertiert und auf den relevanten Teil der Anfrage angewendet werden.

Im Standard werden die Informationen für die Anfrage aus der openssl.conf ihres Systems benutzt. Sie können einen Konfigurationsabsschnitt mit dem Schlüssel config_section_section des Arrays configargssetzen. Außerdem haben Sie die Möglichkeit eine alternative openssl Konfigurationsdatei anzugeben, indem Sie den Wert des Schlüssels config auf den Pfad zu der Datei setzen, die Sie benutzen möchten. Die unten in der Tabelle aufgeführten Schlüssel in configargs, falls Sie diese definiert haben, verhalten sich genau gleich wie die entsprechenden Werte in der openssl.conf

Überschreiben der Konfiguration
configargs Schlüssel | Typ | openssl.conf Entsprechung | Beschreibung
digest_alg | string | default_md | Bestimmt welche digest Methode benutzt wird
x509_extensions | string | x509_extensions | Bestimmt welche Erweiterung benutzt werden soll, wenn ein x509 Zertifikat erzeugt werden soll.
req_extensions | string | req_extensions | Bestimmt welche Erweiterung benutzt werden soll, wenn eine Zertifikatssignierungsanfrage (CSR) erzeugt werden soll.
private_key_bits | integer | default_bits | Bestimmt wieviele Bits verwendet werden, um einen privaten Schlüssel zu erzeugen.
private_key_type | integer | keine | Bestimmt den Typ des privaten Schlüssels der erzeugt werden soll. Der Typ kann einer der folgenden sein: OPENSSL_KEYTYPE_DSA, OPENSSL_KEYTYPE_DH oder OPENSSL_KEYTYPE_RSA. Der Standardwert ist OPENSSL_KEYTYPE_RSA, momentan ist das der einzige Schlüsseltyp, der unterstützt wird.
encrypt_key | boolean | encrypt_key | Soll ein exportiertet Schlüssel (mit Passphrase) verschlüsselt werden?
encrypt_key_cipher | integer | keine | Eine der Ziffer-Konstanten.

Rückgabewerte

Gibt den CSR zurück.

Beispiele

Beispiel #1 Erzeugen eines selbstsignierten Zertifikats

<?php
// Angabe der Daten für den distinguished name, der in dem Zertifikat benutzt
// wird. Sie müssen die Werte dieser Schlüssel so anpassen, dass diese ihrem
// Namen und Firma entsprechen, oder um präziser zu sein, den Namen und die
// Firma der Person/Seite angeben, für die Sie das Zertifikat erzeugen.
// Für SSL Zertifikate entspricht der commonName gewöhnlich dem Domainnamen,
// für den das Zertifikat benutzt werden soll, aber bei S/MIME Zertifikaten
// entspricht der commonName dem Namen der Person, die das Zertifikat nutzen
// möchte.
$dn = array(
    "countryName" => "UK",
    "stateOrProvinceName" => "Somerset",
    "localityName" => "Glastonbury",
    "organizationName" => "The Brain Room Limited",
    "organizationalUnitName" => "PHP Documentation Team",
    "commonName" => "Wez Furlong",
    "emailAddress" => "wez@example.com"
);

// Erzeugen eines neuen privaten (und öffentlichen) Schlüsselpaars
$privkey = openssl_pkey_new();

// Erzeugen einer Zertifikatssignierungsanfrage
$csr = openssl_csr_new($dn, $privkey);

// Gewöhnlicherweise möchten Sie zu diesem Zeitpunkt ein selbstsigniertes
// Zertifikat erzeugen, das Sie benutzten können, bis ihre CA ihre Anfrage
// im positiven Sinne bearbeitet hat.
// Erzeugen eines selbstsignierten Zertifikts, das für die Dauer von 365 Tagen
// gültig ist.
$sscert = openssl_csr_sign($csr, null, $privkey, 365);

// Jetzt möchten Sie ihren privaten Schlüssel, ihren CSR und das
// selbstsignierte Zertifikat sichern, damit Sie dieses, abhängig vom
// beabsichtigten Verwendungszweck, auf ihrem Web-, Mailserver oder
// in ihrem Mailprogramm installieren können.
// Dieses Beispiel zeigt ihnen, wie Sie diese Dinge in Variablen abspeichern,
// aber genauso können Sie die Informationen direkt in Dateien speichern.
// Typischerweise schicken Sie den CSR an Ihre CA, die daraufhin diese Anfrage
// bearbeitet und Sie mit einem "richtigen" Zertifikat ausstattet.
openssl_csr_export($csr, $csrout) and var_dump($csrout);;
openssl_x509_export($sscert, $certout) and var_dump($certout);
openssl_pkey_export($privkey, $pkeyout, "mypassword") and var_dump($pkeyout);

// Anzeigen der möglichen aufgetretenen Fehler
while (($e = openssl_error_string()) !== false) {
    echo $e . "\n";
}
?>

openssl_csr_get_subject
openssl_csr_sign
OpenSSL Funktionen


Signiert einen CSR mit einem anderen Zertifikat (oder sich selbst) und generiert ein Zertifikat

openssl_csr_new
openssl_decrypt
OpenSSL Funktionen
PHP Manual

openssl_csr_sign

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

openssl_csr_sign — Signiert einen CSR mit einem anderen Zertifikat (oder sich selbst) und generiert ein Zertifikat

Beschreibung

resource openssl_csr_sign ( mixed $csr , mixed $cacert , mixed $priv_key , int $days [, array $configargs [, int $serial ]] )

openssl_csr_sign() erzeugt eine x509 Zertifikatressource aus dem übergebenen CSR.

Hinweis: Die ordnungsgemäße Ausführung dieser Funktion setzt die Installation einer gültigen openssl.cnf-Datei voraus. Mehr Information hierzu finden sie im Installationsabschnitt.

Parameter-Liste

csr

Ein zuvor mit openssl_csr_new() erzeugter CSR. Es kann sich aber auch um den Pfad zu einer PEM-kodierten CSR-Datei in der Form file://path/to/csr handeln oder einen String wie von openssl_csr_export() zurückgegeben.

cacert

Das generierte Zertifikat wird mit cacert signiert. Falls Sie hier NULL angeben wird ein selbstsigniertes Zertifikat erstellt.

priv_key

priv_key ist der zu cacert gehörende private Schlüssel.

days

days Die Gültigkeitsdauer des Zertifikats, in Tagen.

configargs

Mit configargs können Sie die Signierung des CSR feiner abstimmen. Für weitere Informationen lesen Sie bitte openssl_csr_new().

serial

Eine optionale Seriennummer für das ausgestellte Zertifikat. Wenn nicht abgegeben wird der Standardwert 0 verwendet.

Rückgabewerte

Gibt bei Erfolg eine x509 Zertifikat-Ressource zurück, FALSE bei einem Fehler.

Changelog

Version | Beschreibung
4.3.3 | Der Parameter serial wurde hinzugefügt.

Beispiele

Beispiel #1 openssl_csr_sign() example - signing a CSR (how to implement your own CA)

<?php
// Annahme: dieses Skript erhält einen CSR, der auf einer anderen Seite in
// eine Textarea eingegeben wurde.
$csrdata = $_POST["CSR"];

// Wir werden die Anfrage mit unserem eigenen ""certificate authority"
// Zertifikat signieren. Sie können jedes beliebige Zertifikat verwenden, um
// ein anderes zu signieren. Aber das Ganze ist ziemlich nutzlos, solange die
// Software/Benutzer, die dieses neu signierte Zertifikat nutzen werden, dem
// signierenden Zertifikat

// Wir brauchen unser CA Zertifikat und dessen privaten Schlüssel
$cacert = "file://path/to/ca.crt";
$privkey = array("file://path/to/ca.key", "your_ca_key_passphrase");

$userscert = openssl_csr_sign($csrdata, $cacert, $privkey, 365);

// Jetzt zeigem wir das generierte Zertifikat an, damit die Benutzer es
// kopieren und in ihre lokale Konfiguration einfügen können (wie z.B. eine
// Datei, die das Zertifikat für ihren SSL Server enthalten soll.
openssl_x509_export($usercert, $certout);
echo $certout;

// Anzeigen der möglichen aufgetretenen Fehler
while (($e = openssl_error_string()) !== false) {
    echo $e . "\n";
}
?>

openssl_csr_new
openssl_decrypt
OpenSSL Funktionen


Decrypts data

openssl_csr_sign
openssl_dh_compute_key
OpenSSL Funktionen
PHP Manual

openssl_decrypt

(PHP 5 >= 5.3.0, PHP 7)

openssl_decrypt — Decrypts data

Beschreibung

string openssl_decrypt ( string $data , string $method , string $password [, int $options = 0 [, string $iv = "" [, string $tag = "" [, string $aad = "" ]]]] )

Takes a raw or base64 encoded string and decrypts it using a given method and key.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

data

The data.

method

The cipher method.

password

The password.

options

options can be one of OPENSSL_RAW_DATA, OPENSSL_ZERO_PADDING.

iv

A non-NULL Initialization Vector.

tag

The authentication tag in AEAD cipher mode. If it is incorrect, the authentication fails and the function returns FALSE.

aad

Additional authentication data.

Rückgabewerte

The decrypted string on successIm Fehlerfall wird FALSE zurückgegeben..

Fehler/Exceptions

Emits an E_WARNING level error if an unknown cipher algorithm is passed via the method parameter.

Emits an E_WARNING level error if an empty value is passed in via the iv parameter.

Changelog

Version | Beschreibung
5.3.3 | The iv parameter was added.
5.4.0 | The raw_output was changed to options.
7.1.0 | The tag and aad parameters were added.

Siehe auch

  • openssl_encrypt() - Verschlüsselt Daten

openssl_csr_sign
openssl_dh_compute_key
OpenSSL Funktionen


Computes shared secret for public value of remote DH key and local DH key

openssl_decrypt
openssl_digest
OpenSSL Funktionen
PHP Manual

openssl_dh_compute_key

(PHP 5 >= 5.3.11, PHP 7)

openssl_dh_compute_key — Computes shared secret for public value of remote DH key and local DH key

Beschreibung

string openssl_dh_compute_key ( string $pub_key , resource $dh_key )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

pub_key

Public key

dh_key

DH key

Rückgabewerte

Returns computed key on successIm Fehlerfall wird FALSE zurückgegeben..

openssl_decrypt
openssl_digest
OpenSSL Funktionen


Computes a digest

openssl_dh_compute_key
openssl_encrypt
OpenSSL Funktionen
PHP Manual

openssl_digest

(PHP 5 >= 5.3.0, PHP 7)

openssl_digest — Computes a digest

Beschreibung

string openssl_digest ( string $data , string $method [, bool $raw_output = false ] )

Computes a digest hash value for the given data using a given method, and returns a raw or binhex encoded string.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

data

The data.

method

The digest method.

raw_output

Setting to TRUE will return as raw output data, otherwise the return value is binhex encoded.

Rückgabewerte

Returns the digested hash value on successIm Fehlerfall wird FALSE zurückgegeben..

Fehler/Exceptions

Emits an E_WARNING level error if an unknown signature algorithm is passed via the method parameter.

Siehe auch

  • openssl_get_md_methods() - Gets available digest methods

openssl_dh_compute_key
openssl_encrypt
OpenSSL Funktionen


Verschlüsselt Daten

openssl_digest
openssl_error_string
OpenSSL Funktionen
PHP Manual

openssl_encrypt

(PHP 5 >= 5.3.0, PHP 7)

openssl_encrypt — Verschlüsselt Daten

Beschreibung

string openssl_encrypt ( string $data , string $method , string $password [, int $options = 0 [, string $iv = "" ]] )

Verschlüsselt die Daten mit der angegebenen Methode und Schlüssel. Die Rückgabe kann aus unbearbeiteten oder base64 kodierten Zeichenketten bestehen.

Parameter-Liste

data

Die zu verschlüsselnden Daten.

method

Verschlüsselungsmethode. openssl_get_cipher_methods() liefert eine Liste der verfügbaren Verschlüsselungsmethoden.

password

Das Passwort.

options

options ist eine Bitmaske aus OPENSSL_RAW_DATA und OPENSSL_ZERO_PADDING.

iv

Initialisierungsvektor (darf nicht NULL sein).

Rückgabewerte

Gibt nach erfolgreicher Verarbeitung die verschlüsselte Zeichenkette zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Gibt einen E_WARNING Fehler aus, wenn eine unbekannte Verschlüsselungsmethode über den method Parameter übergeben wurde.

Gibt einen E_WARNING Fehler aus, wenn eine leere Zeichenkette über den iv Parameter übergeben wurde.

Changelog

Version | Beschreibung
5.3.3 | Der iv wurde hinzugefügt.
5.4.0 | Der raw_output wurde geändert zu options.

Siehe auch

  • openssl_decrypt() - Decrypts data

openssl_digest
openssl_error_string
OpenSSL Funktionen


Gibt eine openSSL Fehlermeldung zurück

openssl_encrypt
openssl_free_key
OpenSSL Funktionen
PHP Manual

openssl_error_string

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

openssl_error_string — Gibt eine openSSL Fehlermeldung zurück

Beschreibung

string openssl_error_string ( void )

openssl_error_string() gibt den letzten Fehlertext der openSSL-Bibliothek zurück. Fehler werden in einer Queue gesammelt, daher sollte diese Funktion mehrmals aufgerufen werden, um alle Informationen zu erhalten. Der letzte Fehler ist der zuletzt aufgetretene.

Rückgabewerte

Gibt eine Fehlermeldung als String zurück oder FALSE, sofern keine weiteren Fehlermeldungen vorliegen.

Beispiele

Beispiel #1 openssl_error_string() Beispiel

<?php
// Annahme: Sie haben eine openssl-Funktion aufgerufen, die einen Fehler
// verursacht hat.
while ($msg = openssl_error_string())
    echo $msg . "<br />\n";
?>

openssl_encrypt
openssl_free_key
OpenSSL Funktionen


Free key resource

openssl_error_string
openssl_get_cert_locations
OpenSSL Funktionen
PHP Manual

openssl_free_key

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

openssl_free_key — Free key resource

Beschreibung

void openssl_free_key ( resource $key_identifier )

openssl_free_key() gibt den Speicher des über den Parameter key_identifier identifizierten Schlüssels frei,

Parameter-Liste

key_identifier

Rückgabewerte

Es wird kein Wert zurückgegeben.

openssl_error_string
openssl_get_cert_locations
OpenSSL Funktionen


Retrieve the available certificate locations

openssl_free_key
openssl_get_cipher_methods
OpenSSL Funktionen
PHP Manual

openssl_get_cert_locations

(PHP 5 >= 5.6.0, PHP 7)

openssl_get_cert_locations — Retrieve the available certificate locations

Beschreibung

array openssl_get_cert_locations ( void )

openssl_get_cert_locations() returns an array with information about the available certificate locations that will be searched for SSL certificates.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array with the available certificate locations.

Beispiele

Beispiel #1 openssl_get_cert_locations() example

<?php
var_dump(openssl_get_cert_locations());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(8) {
  ["default_cert_file"]=>
  string(21) "/usr/lib/ssl/cert.pem"
  ["default_cert_file_env"]=>
  string(13) "SSL_CERT_FILE"
  ["default_cert_dir"]=>
  string(18) "/usr/lib/ssl/certs"
  ["default_cert_dir_env"]=>
  string(12) "SSL_CERT_DIR"
  ["default_private_dir"]=>
  string(20) "/usr/lib/ssl/private"
  ["default_default_cert_area"]=>
  string(12) "/usr/lib/ssl"
  ["ini_cafile"]=>
  string(0) ""
  ["ini_capath"]=>
  string(0) ""
}

openssl_free_key
openssl_get_cipher_methods
OpenSSL Funktionen


Gets available cipher methods

openssl_get_cert_locations
openssl_get_md_methods
OpenSSL Funktionen
PHP Manual

openssl_get_cipher_methods

(PHP 5 >= 5.3.0, PHP 7)

openssl_get_cipher_methods — Gets available cipher methods

Beschreibung

array openssl_get_cipher_methods ([ bool $aliases = false ] )

Gets a list of available cipher methods.

Parameter-Liste

aliases

Set to TRUE if cipher aliases should be included within the returned array.

Rückgabewerte

An array of available cipher methods.

Beispiele

Beispiel #1 openssl_get_cipher_methods() example

Shows how the available ciphers might look, and also which aliases might be available.

<?php
$ciphers             = openssl_get_cipher_methods();
$ciphers_and_aliases = openssl_get_cipher_methods(true);
$cipher_aliases      = array_diff($ciphers_and_aliases, $ciphers);

print_r($ciphers);

print_r($cipher_aliases);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [0] => AES-128-CBC
    [1] => AES-128-CFB
    [2] => AES-128-CFB1
    [3] => AES-128-CFB8
    [4] => AES-128-ECB
    [5] => AES-128-OFB
    [6] => AES-192-CBC
    [7] => AES-192-CFB
    [8] => AES-192-CFB1
    [9] => AES-192-CFB8
    [10] => AES-192-ECB
    [11] => AES-192-OFB
    [12] => AES-256-CBC
    [13] => AES-256-CFB
    [14] => AES-256-CFB1
    [15] => AES-256-CFB8
    [16] => AES-256-ECB
    [17] => AES-256-OFB
    [18] => BF-CBC
    [19] => BF-CFB
    [20] => BF-ECB
    [21] => BF-OFB
    [22] => CAST5-CBC
    [23] => CAST5-CFB
    [24] => CAST5-ECB
    [25] => CAST5-OFB
    [26] => DES-CBC
    [27] => DES-CFB
    [28] => DES-CFB1
    [29] => DES-CFB8
    [30] => DES-ECB
    [31] => DES-EDE
    [32] => DES-EDE-CBC
    [33] => DES-EDE-CFB
    [34] => DES-EDE-OFB
    [35] => DES-EDE3
    [36] => DES-EDE3-CBC
    [37] => DES-EDE3-CFB
    [38] => DES-EDE3-OFB
    [39] => DES-OFB
    [40] => DESX-CBC
    [41] => IDEA-CBC
    [42] => IDEA-CFB
    [43] => IDEA-ECB
    [44] => IDEA-OFB
    [45] => RC2-40-CBC
    [46] => RC2-64-CBC
    [47] => RC2-CBC
    [48] => RC2-CFB
    [49] => RC2-ECB
    [50] => RC2-OFB
    [51] => RC4
    [52] => RC4-40
    [53] => aes-128-cbc
    [54] => aes-128-cfb
    [55] => aes-128-cfb1
    [56] => aes-128-cfb8
    [57] => aes-128-ecb
    [58] => aes-128-ofb
    [59] => aes-192-cbc
    [60] => aes-192-cfb
    [61] => aes-192-cfb1
    [62] => aes-192-cfb8
    [63] => aes-192-ecb
    [64] => aes-192-ofb
    [65] => aes-256-cbc
    [66] => aes-256-cfb
    [67] => aes-256-cfb1
    [68] => aes-256-cfb8
    [69] => aes-256-ecb
    [70] => aes-256-ofb
    [71] => bf-cbc
    [72] => bf-cfb
    [73] => bf-ecb
    [74] => bf-ofb
    [75] => cast5-cbc
    [76] => cast5-cfb
    [77] => cast5-ecb
    [78] => cast5-ofb
    [79] => des-cbc
    [80] => des-cfb
    [81] => des-cfb1
    [82] => des-cfb8
    [83] => des-ecb
    [84] => des-ede
    [85] => des-ede-cbc
    [86] => des-ede-cfb
    [87] => des-ede-ofb
    [88] => des-ede3
    [89] => des-ede3-cbc
    [90] => des-ede3-cfb
    [91] => des-ede3-ofb
    [92] => des-ofb
    [93] => desx-cbc
    [94] => idea-cbc
    [95] => idea-cfb
    [96] => idea-ecb
    [97] => idea-ofb
    [98] => rc2-40-cbc
    [99] => rc2-64-cbc
    [100] => rc2-cbc
    [101] => rc2-cfb
    [102] => rc2-ecb
    [103] => rc2-ofb
    [104] => rc4
    [105] => rc4-40
)
Array
(
    [18] => AES128
    [19] => AES192
    [20] => AES256
    [21] => BF
    [26] => CAST
    [27] => CAST-cbc
    [32] => DES
    [47] => DES3
    [48] => DESX
    [50] => IDEA
    [55] => RC2
    [82] => aes128
    [83] => aes192
    [84] => aes256
    [85] => bf
    [90] => blowfish
    [91] => cast
    [92] => cast-cbc
    [97] => des
    [112] => des3
    [113] => desx
    [115] => idea
    [120] => rc2
)

Siehe auch

  • openssl_get_md_methods() - Gets available digest methods

openssl_get_cert_locations
openssl_get_md_methods
OpenSSL Funktionen


Gets available digest methods

openssl_get_cipher_methods
openssl_get_privatekey
OpenSSL Funktionen
PHP Manual

openssl_get_md_methods

(PHP 5 >= 5.3.0, PHP 7)

openssl_get_md_methods — Gets available digest methods

Beschreibung

array openssl_get_md_methods ([ bool $aliases = false ] )

Gets a list of available digest methods.

Parameter-Liste

aliases

Set to TRUE if digest aliases should be included within the returned array.

Rückgabewerte

An array of available digest methods.

Beispiele

Beispiel #1 openssl_get_md_methods() example

Shows how the available digests might look, and also which aliases might be available.

<?php
$digests             = openssl_get_md_methods();
$digests_and_aliases = openssl_get_md_methods(true);
$digest_aliases      = array_diff($digests_and_aliases, $digests);

print_r($digests);

print_r($digest_aliases);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [0] => DSA
    [1] => DSA-SHA
    [2] => MD2
    [3] => MD4
    [4] => MD5
    [5] => RIPEMD160
    [6] => SHA
    [7] => SHA1
    [8] => SHA224
    [9] => SHA256
    [10] => SHA384
    [11] => SHA512
    [12] => dsaEncryption
    [13] => dsaWithSHA
    [14] => ecdsa-with-SHA1
    [15] => md2
    [16] => md4
    [17] => md5
    [18] => ripemd160
    [19] => sha
    [20] => sha1
    [21] => sha224
    [22] => sha256
    [23] => sha384
    [24] => sha512
)
Array
(
    [2] => DSA-SHA1
    [3] => DSA-SHA1-old
    [4] => DSS1
    [9] => RSA-MD2
    [10] => RSA-MD4
    [11] => RSA-MD5
    [12] => RSA-RIPEMD160
    [13] => RSA-SHA
    [14] => RSA-SHA1
    [15] => RSA-SHA1-2
    [16] => RSA-SHA224
    [17] => RSA-SHA256
    [18] => RSA-SHA384
    [19] => RSA-SHA512
    [28] => dsaWithSHA1
    [29] => dss1
    [32] => md2WithRSAEncryption
    [34] => md4WithRSAEncryption
    [36] => md5WithRSAEncryption
    [37] => ripemd
    [39] => ripemd160WithRSA
    [40] => rmd160
    [43] => sha1WithRSAEncryption
    [45] => sha224WithRSAEncryption
    [47] => sha256WithRSAEncryption
    [49] => sha384WithRSAEncryption
    [51] => sha512WithRSAEncryption
    [52] => shaWithRSAEncryption
    [53] => ssl2-md5
    [54] => ssl3-md5
    [55] => ssl3-sha1
)

Siehe auch

  • openssl_digest() - Computes a digest
  • openssl_get_cipher_methods() - Gets available cipher methods

openssl_get_cipher_methods
openssl_get_privatekey
OpenSSL Funktionen


Alias von openssl_pkey_get_private

openssl_get_md_methods
openssl_get_publickey
OpenSSL Funktionen
PHP Manual

openssl_get_privatekey

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

openssl_get_privatekey — Alias von openssl_pkey_get_private()

Beschreibung

Diese Funktion ist ein Alias für: openssl_pkey_get_private().

openssl_get_md_methods
openssl_get_publickey
OpenSSL Funktionen


Alias von openssl_pkey_get_public

openssl_get_privatekey
openssl_open
OpenSSL Funktionen
PHP Manual

openssl_get_publickey

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

openssl_get_publickey — Alias von openssl_pkey_get_public()

Beschreibung

Diese Funktion ist ein Alias für: openssl_pkey_get_public().

openssl_get_privatekey
openssl_open
OpenSSL Funktionen


Öffnet versiegelte Daten

openssl_get_publickey
openssl_pbkdf2
OpenSSL Funktionen
PHP Manual

openssl_open

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

openssl_open — Öffnet versiegelte Daten

Beschreibung

bool openssl_open ( string $sealed_data , string &$open_data , string $env_key , mixed $priv_key_id )

Die Funktion openssl_open() öffnet (entschlüsselt) sealed_data unter Verwendung des privaten Schlüssels, der mit der Schlüsselkennung priv_key_id und dem Umschlagschlüssel env_key verknüpft ist und füllt open_data mit den entschlüsselten Daten. Der Umschlagschlüssel wird bei der Versiegelung erzeugt und kann ausschlieslich für einen bestimmten privaten Schlüssel verwendet werden. Mehr Informationen erhalten Sie bei der Dokumentation zu openssl_seal().

Parameter-Liste

sealed_data

open_data

Bei erfolgreicher Ausführung werden die gelesenen Daten in diesem Parameter zurückgegeben.

env_key

priv_key_id

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 openssl_open() Beispiel

<?php
// Annahme: $sealed und $env_key enthalten versiegelte Daten und unseren
// Umschlagschlüssel; beide haben wir von dem Versiegelnden erhalten

// privaten Schlüssel aus einer Datei holen und vorbereiten
$fp = fopen("/src/openssl-0.9.6/demos/sign/key.pem", "r");
$priv_key = fread($fp, 8192);
fclose($fp);
$pkeyid = openssl_get_privatekey($priv_key);

// entschlüsseln der Daten und speichern in $open
if (openssl_open($sealed, $open, $env_key, $pkeyid)) {
    echo "Das sind die geöffneten Daten: ", $open;
} else {
    echo "Öffnen der Daten nicht möglich!";
}

// löschen des privaten Schlüssels aus dem Speicher
openssl_free_key($pkeyid);
?>

Siehe auch

  • openssl_seal() - Versiegelt (verschlüsselt) Daten

openssl_get_publickey
openssl_pbkdf2
OpenSSL Funktionen


Generates a PKCS5 v2 PBKDF2 string, defaults to SHA-1

openssl_open
openssl_pkcs12_export_to_file
OpenSSL Funktionen
PHP Manual

openssl_pbkdf2

(PHP 5 >= 5.5.0, PHP 7)

openssl_pbkdf2 — Generates a PKCS5 v2 PBKDF2 string, defaults to SHA-1

Beschreibung

string openssl_pbkdf2 ( string $password , string $salt , int $key_length , int $iterations [, string $digest_algorithm ] )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

password

salt

key_length

iterations

digest_algorithm

Rückgabewerte

Returns stringIm Fehlerfall wird FALSE zurückgegeben..

openssl_open
openssl_pkcs12_export_to_file
OpenSSL Funktionen


Exportiert eine PKCS#12-kompatible Zertifikats-Datei

openssl_pbkdf2
openssl_pkcs12_export
OpenSSL Funktionen
PHP Manual

openssl_pkcs12_export_to_file

(PHP 5 >= 5.2.2, PHP 7)

openssl_pkcs12_export_to_file — Exportiert eine PKCS#12-kompatible Zertifikats-Datei

Beschreibung

bool openssl_pkcs12_export_to_file ( mixed $x509 , string $filename , mixed $priv_key , string $pass [, array $args ] )

openssl_pkcs12_export_to_file() speichert x509 in der in filename angegebenen Datei im Format PKCS#12.

Parameter-Liste

x509

Siehe Schlüssel-/Zertifikatsparameter für eine Auflistung der gültigen Werte.

filename

Pfad zur Ausgabe-Datei.

priv_key

Privater Schlüssel der PKCS#12-Datei.

pass

Passwort um die PKCS#12-Datei zu entschlüsseln.

args

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

openssl_pbkdf2
openssl_pkcs12_export
OpenSSL Funktionen


Exportiert eine PKCS#12-kompatible Zertifikats-Datei in eine Variable

openssl_pkcs12_export_to_file
openssl_pkcs12_read
OpenSSL Funktionen
PHP Manual

openssl_pkcs12_export

(PHP 5 >= 5.2.2, PHP 7)

openssl_pkcs12_export — Exportiert eine PKCS#12-kompatible Zertifikats-Datei in eine Variable

Beschreibung

bool openssl_pkcs12_export ( mixed $x509 , string &$out , mixed $priv_key , string $pass [, array $args ] )

openssl_pkcs12_export() speichert x509 als String im PKCS#12-Format in die Variable out.

Parameter-Liste

x509

Siehe Schlüssel-/Zertifikatsparameter für eine Auflistung der gültigen Werte.

out

Bei Erfolg enthält diese Variable den PKCS#12-String

priv_key

Der private Schlüsel zur PKCS#12-Datei

pass

Passwort zum Entschlüsseln der PKCS#12-Datei.

args

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

openssl_pkcs12_export_to_file
openssl_pkcs12_read
OpenSSL Funktionen


Speichert ein PKCS#12 Zertifikat in einem Array

openssl_pkcs12_export
openssl_pkcs7_decrypt
OpenSSL Funktionen
PHP Manual

openssl_pkcs12_read

(PHP 5 >= 5.2.2, PHP 7)

openssl_pkcs12_read — Speichert ein PKCS#12 Zertifikat in einem Array

Beschreibung

bool openssl_pkcs12_read ( mixed $PKCS12 , array &$certs , string $pass )

openssl_pkcs12_read() speichert das im Parameter PKCS12 übergebene PKCS#12 Zertifikat als Array im Parameter certs.

Parameter-Liste

PKCS12

certs

Enthält im Erfolgsfall die Zertifikatsdaten als Array.

pass

Passwort zum Entschlüsseln der PKCS#12-Datei.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

openssl_pkcs12_export
openssl_pkcs7_decrypt
OpenSSL Funktionen


Entschlüsseln einer S/MIME verschlüsselten Nachricht

openssl_pkcs12_read
openssl_pkcs7_encrypt
OpenSSL Funktionen
PHP Manual

openssl_pkcs7_decrypt

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

openssl_pkcs7_decrypt — Entschlüsseln einer S/MIME verschlüsselten Nachricht

Beschreibung

bool openssl_pkcs7_decrypt ( string $infilename , string $outfilename , mixed $recipcert [, mixed $recipkey ] )

Die Funktion openssl_pkcs7_decrypt() entschlüsselt die mit S/MIME verschlüsselte Nachricht, die sich in der Datei befindet, die mit dem Paramter infilename angegeben wurde. Benutzt wird dafür das Zertifikat, angegeben durch recipcert, und der damit verknüpfte private Schlüssel, angegeben durch recipkey.

Parameter-Liste

infilename

outfilename

Die entschlüsselte Nachricht wird in die Datei namens outfilename geschrieben.

recipcert

recipkey

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 openssl_pkcs7_decrypt() Beispiel

<?php
// Annahme: $cert enthält Ihr persönliches Zertifikat und
// $key Ihr privates Schlüsselpaar. Sie erhalten eine S/MIME Nachricht.
$infilename = "encrypted.msg";  // diese Datei enthält ihre verschlüsselte Nachricht
$outfilename = "decrypted.msg"; // stellen Sie sicher, dass Sie Schreibrechte haben!

if (openssl_pkcs7_decrypt($infilename, $outfilename, $cert, $key)) {
    echo "entschlüsselt!";
} else {
    echo "entschlüsseln fehlgeschlagen!";
}
?>

openssl_pkcs12_read
openssl_pkcs7_encrypt
OpenSSL Funktionen


Verschlüsseln einer S/MIME Nachricht

openssl_pkcs7_decrypt
openssl_pkcs7_sign
OpenSSL Funktionen
PHP Manual

openssl_pkcs7_encrypt

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

openssl_pkcs7_encrypt — Verschlüsseln einer S/MIME Nachricht

Beschreibung

bool openssl_pkcs7_encrypt ( string $infile , string $outfile , mixed $recipcerts , array $headers [, int $flags [, int $cipherid ]] )

openssl_pkcs7_encrypt() verschlüsselt den Inhalt der Datei namens infile und verschlüsselt ihn unter Verwendung eines RC2 40-Bit Schlüssels. Der Inhalt kann anschließend nur von den im Parameter recipcerts angegebenen Empfängern gelesen werden.

Parameter-Liste

infile

outfile

recipcerts

Entweder ein einzelnes X.509-Zertifikat oder ein Array solcher Zertifikate.

headers

headers ist ein Array von Headern die den Daten nach der Verschlüsselung vorangestellt werden.

Bei headers kann es sich entweder um ein assoziatives Array handeln, wobei der Key dem Header-Namen entspricht, oder um ein indiziertes Array, bei dem jedes Element einen einzelnen Header enthält.

flags

Mittels flags können Optionen angegeben werden die den Verschlüsselungsprozeß beeinflussen. Siehe PKCS7 Konstanten.

cipherid

Mittels cipherid kann seit PHP5 der Schlüssel bestimmt werden.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.0.0 | Der Parameter cipherid wurde hinzugefügt.

Beispiele

Beispiel #1 openssl_pkcs7_encrypt() Beispiel

<?php
// die zu verschlüsselnde Nachricht, die Sie Ihrem als "Nighthawk" bekanntem
// Geheimagenten im Einsatz schicken wollen.
// Sein Zertifikat liegt in der Datei nighthawk.pem vor
$data = <<<EOD
Nighthawk,

Streng geheim!

Der Feind rückt näher. Treffen Sie mich im Cafè um 0830.

HQ
EOD;

// Schlüssel laden
$key = file_get_contents("nighthawk.pem");

// Nachricht in Datei speichern
$fp = fopen("msg.txt", "w");
fwrite($fp, $data);
fclose($fp);

// Verschlüsseln
if (openssl_pkcs7_encrypt("msg.txt", "enc.txt", $key,
    array("To" => "nighthawk@example.com", // keyed syntax
          "From: HQ <hq@example.com>", // indexed syntax
          "Subject" => "Streng geheim!"))) {
    // message encrypted - send it!
    exec(ini_get("sendmail_path") . " < enc.txt");
}
?>

openssl_pkcs7_decrypt
openssl_pkcs7_sign
OpenSSL Funktionen


Signieren einer S/MIME message

openssl_pkcs7_encrypt
openssl_pkcs7_verify
OpenSSL Funktionen
PHP Manual

openssl_pkcs7_sign

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

openssl_pkcs7_sign — Signieren einer S/MIME message

Beschreibung

bool openssl_pkcs7_sign ( string $infilename , string $outfilename , mixed $signcert , mixed $privkey , array $headers [, int $flags [, string $extracerts ]] )

Die Funktion openssl_pkcs7_sign() signiert die Inhalte der Datei, angegeben durch den Pararmeter infilename. Beim Signieren wird das Zertifikat, angegeben durch signcert, und der dazu gehörige private Schlüssel privkey benutzt.

Parameter-Liste

infilename

outfilename

signcert

privkey

headers

headers ist ein Array aus Headern die den Daten vorangestellt werden, nachdem diese signiert wurden (Für mehr Informationen über das Format dieses Parameters schauen Sie bei der Funktion openssl_pkcs7_encrypt() nach).

flags

Der Parameter flags kann zur Änderung der Ausgabe benutzt werden - siehe PKCS7 Konstanten - falls nicht angegeben ist die Vorgabe PKCS7_DETACHED.

extracerts

Der Parameter extracerts gibt den Namen einer Datei an, die ein oder mehrere extra Zertifikate enthält, die in die Unterschrift mit eingefügt werden. Das kann zum Beispiel als Hilfe für einen Empfänger dienen, das von Ihnen benutzte Zertifikat zu überprüfen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 openssl_pkcs7_sign() Beispiel

<?php
// Die Nachricht die Sie unterschreiben möchten, damit der Empfänger sicher
// sein kann, dass diese Nachricht von ihnen stammt.

$data = <<<EOD

Sie haben meine Erlaubnis 10.000 EUR für Essen auszugeben.

Der CEO
EOD;
// Nachricht in einer Datei speichern
$fp = fopen("msg.txt", "w");
fwrite($fp, $data);
fclose($fp);
// verschlüsslen
if (openssl_pkcs7_sign("msg.txt", "signed.txt", "mycert.pem",
    array("file://mycert.pem", "mypassphrase"),
    array("To" => "joes@example.com", // keyed syntax
          "From: HQ <ceo@example.com>", // indexed syntax
          "Subject" => "Eyes only")
    )) {
    // Nachricht signiert - abschicken!
    exec(ini_get("sendmail_path") . " < signed.txt");
}
?>

openssl_pkcs7_encrypt
openssl_pkcs7_verify
OpenSSL Funktionen


überprüft die Unterschrift einer mit S/MIME unterschriebenen Nachricht

openssl_pkcs7_sign
openssl_pkey_export_to_file
OpenSSL Funktionen
PHP Manual

openssl_pkcs7_verify

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

openssl_pkcs7_verify — überprüft die Unterschrift einer mit S/MIME unterschriebenen Nachricht

Beschreibung

mixed openssl_pkcs7_verify ( string $filename , int $flags [, string $outfilename [, array $cainfo [, string $extracerts [, string $content ]]]] )

openssl_pkcs7_verify() liest die in der angegebenen Datei enthaltene S/MIME Nachricht und untersucht die digitale Signatur.

Parameter-Liste

filename

Pfad zur Datei.

flags

Mit dem Parameter flags wird beeinflusst auf welche Art die Signatur verifiziert wird. Für mehr Informationen siehe PKCS7 Konstanten

outfilename

Wird der Parameter outfilename angegeben, sollte dies eine Zeichenkette sein, die den Namen einer Datei enthält, in der das Zertifikat der unterzeichnenden Person im PEM Format gespeichert wird.

cainfo

Der Parameter cainfo sollte sofern angegeben Informationen über die vertrauenswürdigen CA Zertifikate enthalten, die für den Überprüfungsprozess benutzt werden. Für weitere Informationen siehe Zertifikat Nachweis

extracerts

Wird der Parameter extracerts angegeben, ist es der Name einer Datei, die ein mehrere extra Zertifikate enthält, die als nicht vertrauenswürdige CAs genutzt werden.

content

content ist der Name einer Datei die mit den verifizierten Daten gefüllt wird, jedoch ohne Signaturinformationen.

Rückgabewerte

Gibt TRUE zurück wenn die Signatur verifiziert werden konnte, FALSE wenn die Signatur nicht korrekt ist (die Daten wurden verändert oder das signierende Zertifikat ist ungültig). Im Falle eines Fehlers wird -1 zurückgegeben.

Changelog

Version | Beschreibung
5.1.0 | Der Parameter content wurde hinzugefügt.

Anmerkungen

Hinweis: Wie in RFC 2045 spezifiziert dürfen Zeilen im filename Parameter nicht länger als 76 Zeichen sein.

openssl_pkcs7_sign
openssl_pkey_export_to_file
OpenSSL Funktionen


Liefert eine exportierbare Representation eines Schlüssels in einer Datei

openssl_pkcs7_verify
openssl_pkey_export
OpenSSL Funktionen
PHP Manual

openssl_pkey_export_to_file

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

openssl_pkey_export_to_file — Liefert eine exportierbare Representation eines Schlüssels in einer Datei

Beschreibung

bool openssl_pkey_export_to_file ( mixed $key , string $outfilename [, string $passphrase [, array $configargs ]] )

openssl_pkey_export_to_file() speichert eine mit einer ASCII-Hülle (PEM-kodiert) versehene Repräsentation des Schlüssels key in die in outfilename.benannte Datei.

Hinweis: Die ordnungsgemäße Ausführung dieser Funktion setzt die Installation einer gültigen openssl.cnf-Datei voraus. Mehr Information hierzu finden sie im Installationsabschnitt.

Parameter-Liste

key

outfilename

Der Pfad zur Ausgabedatei.

passphrase

Der Schlüssel wird optional von einer passphrase geschützt.

configargs

configargs können Sie benutzen, um den Export feiner abzustimmen. Sie können damit Optionen für die openssl Konfigurationsdatei bestimmen und/oder überschreiben. Für mehr Informationen über configargs schauen Sie bitte bei der Dokumentation zu openssl_csr_new() nach.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

openssl_pkcs7_verify
openssl_pkey_export
OpenSSL Funktionen


Liefert eine exportierbare Repräsentation eines Schlüssels in einem String

openssl_pkey_export_to_file
openssl_pkey_free
OpenSSL Funktionen
PHP Manual

openssl_pkey_export

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

openssl_pkey_export — Liefert eine exportierbare Repräsentation eines Schlüssels in einem String

Beschreibung

bool openssl_pkey_export ( mixed $key , string &$out [, string $passphrase [, array $configargs ]] )

openssl_pkey_export() exportiert key als eine PEM kodierte Zeichenkette und speichert diese in out (welcher per Referenz übergeben wird).

Hinweis: Die ordnungsgemäße Ausführung dieser Funktion setzt die Installation einer gültigen openssl.cnf-Datei voraus. Mehr Information hierzu finden sie im Installationsabschnitt.

Parameter-Liste

key

out

passphrase

Der Schlüssel wird optional von einer passphrase geschützt.

configargs

configargs können Sie benutzen, um den Export feiner abzustimmen. Sie können damit Optionen für die openssl Konfigurationsdatei bestimmen und/oder überschreiben. Für mehr Informationen über configargs schauen Sie bitte bei der Dokumentation zu openssl_csr_new() nach.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

openssl_pkey_export_to_file
openssl_pkey_free
OpenSSL Funktionen


Gibt einen privaten Schlüssel frei

openssl_pkey_export
openssl_pkey_get_details
OpenSSL Funktionen
PHP Manual

openssl_pkey_free

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

openssl_pkey_free — Gibt einen privaten Schlüssel frei

Beschreibung

void openssl_pkey_free ( resource $key )

Diese Funktion gibt einen privaten Schlüssel frei der mittels openssl_pkey_new() erstellt wurde.

Parameter-Liste

key

Die Resource die den Schlüssel enthält.

Rückgabewerte

Es wird kein Wert zurückgegeben.

openssl_pkey_export
openssl_pkey_get_details
OpenSSL Funktionen


Gibt ein Array mit den Schlüssel-Details zurück

openssl_pkey_free
openssl_pkey_get_private
OpenSSL Funktionen
PHP Manual

openssl_pkey_get_details

(PHP 5 >= 5.2.0, PHP 7)

openssl_pkey_get_details — Gibt ein Array mit den Schlüssel-Details zurück

Beschreibung

array openssl_pkey_get_details ( resource $key )

Diese Funktion gibt die Schlüssel-Details zurück (Bits, Schlüssel, Typ).

Parameter-Liste

key

Die Resource die den Schlüssel enthält.

Rückgabewerte

Gibt bei Erfolg ein Array mit den Schlüssel-Details zurück oder FALSE im Fehlerfall. Das zurückgegebene Array enthalt die Indizes bits (Anzahl der Bits), key (der öffentliche Schlüssel als String) und type (Typ des Schlüssels, eine der Konstanten OPENSSL_KEYTYPE_RSA, OPENSSL_KEYTYPE_DSA, OPENSSL_KEYTYPE_DH, OPENSSL_KEYTYPE_EC oder -1 für einen unbekannten Typ).

In Abhängigkeit vom verwendeten Schlüssel-Typ können zusätzliche Details zurück gegeben werden. Es ist zu beachten, dass manche Elemente u.U. nicht immer verfügbar sind.

  • OPENSSL_KEYTYPE_RSA: ein zusätzlicher Array-Schlüssel mit dem Namen "rsa", der die Schlüssel-Daten enthält, wird zurück gegeben.
    Schlüssel Beschreibung
    "n"
    "e"
    "d"
    "p"
    "q"
    "dmp1"
    "dmq1"
    "iqmp"
  • OPENSSL_KEYTYPE_DSA: ein zusätzlicher Array-Schlüssel mit dem Namen "dsa", der die Schlüssel-Daten enthält, wird zurück gegeben.
    Schlüssel Beschreibung
    "p"
    "q"
    "g"
    "priv_key"
    "pub_key"
  • OPENSSL_KEYTYPE_DH: ein zusätzlicher Array-Schlüssel mit dem Namen "dh", der die Schlüssel-Daten enthält, wird zurück gegeben.
    Schlüssel Beschreibung
    "p"
    "g"
    "priv_key"
    "pub_key"
openssl_pkey_free
openssl_pkey_get_private
OpenSSL Funktionen


Liefert einen privaten Schlüssel

openssl_pkey_get_details
openssl_pkey_get_public
OpenSSL Funktionen
PHP Manual

openssl_pkey_get_private

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

openssl_pkey_get_private — Liefert einen privaten Schlüssel

Beschreibung

resource openssl_pkey_get_private ( mixed $key [, string $passphrase ] )

openssl_get_privatekey() parst key und bereitet ihn zur Nutzung durch andere Funktionen vor.

Parameter-Liste

key

Als key kann angegeben werden:

  1. Eine Zeichenkette im Format file://path/to/file.pem. Die angegebene Datei muss ein PEM kodiertes Zertifikat und/oder einen privaten Schlüssel enthalten.
  2. Ein privater Schlüssel im PEM-Format.

passphrase

Der optionale Parameter passphrase muß angegeben werden falls der Schlüssel selbst verschlüsselt ist (durch eine Passphrase geschützt).

Rückgabewerte

Gibt bei Erfolg eine Schlüssel-Resource zurück, FALSE wenn ein Fehler auftritt.

openssl_pkey_get_details
openssl_pkey_get_public
OpenSSL Funktionen


Extrahiert einen öffentlichen Schlüssel aus einem Zertifikat und bereitet diesen zur Nutzung vor

openssl_pkey_get_private
openssl_pkey_new
OpenSSL Funktionen
PHP Manual

openssl_pkey_get_public

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

openssl_pkey_get_public — Extrahiert einen öffentlichen Schlüssel aus einem Zertifikat und bereitet diesen zur Nutzung vor

Beschreibung

resource openssl_pkey_get_public ( mixed $certificate )

openssl_get_publickey() extrahiert den öffentlichen Schlüssel aus certificate und bereitet ihn für den Gebrauch durch andere Funktionen vor.

Parameter-Liste

certificate

certificate kann folgendes sein:

  1. eine X.509 Zertifikatsressource
  2. Eine Zeichenkette im Format file://path/to/file.pem. Die angegebene Datei muß ein PEM-kodiertes Zertifikat und/oder einen privaten Schlüssel enthalten.
  3. Ein öffentlicher Schlüssel im PEM-Format.

Rückgabewerte

Gibt bei Erfolg eine Schlüssel-Resource zurück, FALSE wenn ein Fehler auftritt.

openssl_pkey_get_private
openssl_pkey_new
OpenSSL Funktionen


Erzeugt einen neuen privaten Schlüssel

openssl_pkey_get_public
openssl_private_decrypt
OpenSSL Funktionen
PHP Manual

openssl_pkey_new

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

openssl_pkey_new — Erzeugt einen neuen privaten Schlüssel

Beschreibung

resource openssl_pkey_new ([ array $configargs ] )

openssl_pkey_new() erzeugt ein neues privates und öffentliches Schlüsselpaar. Den öffentlichen Teil des Schlüssels können Sie mit openssl_pkey_get_public() erhalten.

Hinweis: Die ordnungsgemäße Ausführung dieser Funktion setzt die Installation einer gültigen openssl.cnf-Datei voraus. Mehr Information hierzu finden sie im Installationsabschnitt.

Parameter-Liste

configargs

Die Schlüsselerzeugung können Sie mit configargs feiner abstimmen (z.B. die Angabe der verwendeten Bits). Weitere Informationen zu configargs entnehmen Sie bitte der Dokumentation zu openssl_csr_new().

Rückgabewerte

Gibt eine Resource für den privaten Schlüssel im Erfolgsfall zurück, andernfalls FALSE

openssl_pkey_get_public
openssl_private_decrypt
OpenSSL Funktionen


Entschlüsselt Daten mit einem privaten Schlüssel

openssl_pkey_new
openssl_private_encrypt
OpenSSL Funktionen
PHP Manual

openssl_private_decrypt

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

openssl_private_decrypt — Entschlüsselt Daten mit einem privaten Schlüssel

Beschreibung

bool openssl_private_decrypt ( string $data , string &$decrypted , mixed $key [, int $padding ] )

openssl_private_decrypt() entschlüselt data, die zuvor mit openssl_public_encrypt() verschlüsselt wurden und speichert das Ergebnis in decrypted.

Mit dieser Funktion können beispielweise Daten entschlüsselt werden die einzig für Sie bestimmt sind.

Parameter-Liste

data

decrypted

key

key muss der private Schlüssel sein, der dem Schlüssel entspricht, mit dem die Daten verschlüsselt wurden.

padding

padding ist per Standard OPENSSL_PKCS1_PADDING, kann aber auch eine der Konstanten OPENSSL_SSLV23_PADDING, OPENSSL_PKCS1_OAEP_PADDING oder OPENSSL_NO_PADDING sein.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • openssl_public_encrypt() - Verschlüsselt Daten mit einem öffentlichen Schlüssel
  • openssl_public_decrypt() - Entschlüsselt Daten mit einem öffentlichen Schlüssel

openssl_pkey_new
openssl_private_encrypt
OpenSSL Funktionen


Verschlüsselt Daten mit einem privaten Schlüssel

openssl_private_decrypt
openssl_public_decrypt
OpenSSL Funktionen
PHP Manual

openssl_private_encrypt

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

openssl_private_encrypt — Verschlüsselt Daten mit einem privaten Schlüssel

Beschreibung

bool openssl_private_encrypt ( string $data , string &$crypted , mixed $key [, int $padding ] )

openssl_private_encrypt() verschlüsselt data mit dem privaten key und speichert das Ergebnis in crypted. Verschlüsselte Daten können Sie mit openssl_public_decrypt() entschlüsseln.

Zum Beispiel können Sie diese Funktion benutzen umd Daten (oder deren Hashwert) zu signieren um damit sicher zu stellen, dass diese Daten wirklich von Ihnen selbst stammen und nicht von jemanden anders.

Parameter-Liste

data

crypted

key

padding

padding ist per Standard OPENSSL_PKCS1_PADDING, kann aber auch OPENSSL_NO_PADDING sein.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • openssl_public_encrypt() - Verschlüsselt Daten mit einem öffentlichen Schlüssel
  • openssl_public_decrypt() - Entschlüsselt Daten mit einem öffentlichen Schlüssel

openssl_private_decrypt
openssl_public_decrypt
OpenSSL Funktionen


Entschlüsselt Daten mit einem öffentlichen Schlüssel

openssl_private_encrypt
openssl_public_encrypt
OpenSSL Funktionen
PHP Manual

openssl_public_decrypt

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

openssl_public_decrypt — Entschlüsselt Daten mit einem öffentlichen Schlüssel

Beschreibung

bool openssl_public_decrypt ( string $data , string &$decrypted , mixed $key [, int $padding ] )

openssl_public_decrypt() entschlüsselt data, die zuvor mit openssl_private_encrypt() verschlüsselt wurden und speichert das Ergebnis in decrypted.

Sie können diese Funktion beispielsweise verwenden um zu überprüfen, ob eine Nachricht wirklich vom Eigentümer des privaten Schlüssels geschrieben wurde.

Parameter-Liste

data

decrypted

key

key muss der öffentliche Schlüssel sein der mit dem privaten Schlüssel übereinstimmt mit dem die Daten verschlüsselt wurden.

padding

Für padding ist OPENSSL_PKCS1_PADDING voreingestellt, zulässig ist aber auch OPENSSL_NO_PADDING.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • openssl_private_encrypt() - Verschlüsselt Daten mit einem privaten Schlüssel
  • openssl_private_decrypt() - Entschlüsselt Daten mit einem privaten Schlüssel

openssl_private_encrypt
openssl_public_encrypt
OpenSSL Funktionen


Verschlüsselt Daten mit einem öffentlichen Schlüssel

openssl_public_decrypt
openssl_random_pseudo_bytes
OpenSSL Funktionen
PHP Manual

openssl_public_encrypt

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

openssl_public_encrypt — Verschlüsselt Daten mit einem öffentlichen Schlüssel

Beschreibung

bool openssl_public_encrypt ( string $data , string &$crypted , mixed $key [, int $padding ] )

openssl_public_encrypt() verschlüsselt data mit dem öffentlichen Schlüssel key und speichert das Ergebnis in crypted. Verschlüsselte Daten können mittels openssl_private_decrypt() entschlüsselt werden.

Mit dieser Funktion können Sie beispielsweise eine Nachricht verschlüsseln so daß sie nur vom Eigentümer des privaten Schlüssels gelesen werden kann.

Parameter-Liste

data

crypted

Hier werden die verschlüsselten Daten abgelegt.

key

Der öffentliche Schlüssel.

padding

Für padding ist als Standard OPENSSL_PKCS1_PADDING voreingestellt, aber auch OPENSSL_SSLV23_PADDING, OPENSSL_PKCS1_OAEP_PADDING oder OPENSSL_NO_PADDING sind zulässige Werte.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • openssl_private_encrypt() - Verschlüsselt Daten mit einem privaten Schlüssel
  • openssl_private_decrypt() - Entschlüsselt Daten mit einem privaten Schlüssel

openssl_public_decrypt
openssl_random_pseudo_bytes
OpenSSL Funktionen


Generate a pseudo-random string of bytes

openssl_public_encrypt
openssl_seal
OpenSSL Funktionen
PHP Manual

openssl_random_pseudo_bytes

(PHP 5 >= 5.3.0, PHP 7)

openssl_random_pseudo_bytes — Generate a pseudo-random string of bytes

Beschreibung

string openssl_random_pseudo_bytes ( int $length [, bool &$crypto_strong ] )

Generates a string of pseudo-random bytes, with the number of bytes determined by the length parameter.

It also indicates if a cryptographically strong algorithm was used to produce the pseudo-random bytes, and does this via the optional crypto_strong parameter. It's rare for this to be FALSE, but some systems may be broken or old.

Parameter-Liste

length

The length of the desired string of bytes. Must be a positive integer. PHP will try to cast this parameter to a non-null integer to use it.

crypto_strong

If passed into the function, this will hold a boolean value that determines if the algorithm used was "cryptographically strong", e.g., safe for usage with GPG, passwords, etc. TRUE if it did, otherwise FALSE

Rückgabewerte

Returns the generated string of bytes on success, Im Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 openssl_random_pseudo_bytes() example

<?php
for ($i = -1; $i <= 4; $i++) {
    $bytes = openssl_random_pseudo_bytes($i, $cstrong);
    $hex   = bin2hex($bytes);

    echo "Lengths: Bytes: $i and Hex: " . strlen($hex) . PHP_EOL;
    var_dump($hex);
    var_dump($cstrong);
    echo PHP_EOL;
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Lengths: Bytes: -1 and Hex: 0
string(0) ""
NULL

Lengths: Bytes: 0 and Hex: 0
string(0) ""
NULL

Lengths: Bytes: 1 and Hex: 2
string(2) "42"
bool(true)

Lengths: Bytes: 2 and Hex: 4
string(4) "dc6e"
bool(true)

Lengths: Bytes: 3 and Hex: 6
string(6) "288591"
bool(true)

Lengths: Bytes: 4 and Hex: 8
string(8) "ab86d144"
bool(true)

Siehe auch

  • random_bytes() - Generates cryptographically secure pseudo-random bytes
  • bin2hex() - Wandelt Binär-Daten in ihre hexadezimale Entsprechung um
  • crypt() - Einweg-String-Hashing
  • mt_rand() - Erzeugt "bessere" Zufallszahlen
  • uniqid() - Erzeugt eine eindeutige ID
openssl_public_encrypt
openssl_seal
OpenSSL Funktionen


Versiegelt (verschlüsselt) Daten

openssl_random_pseudo_bytes
openssl_sign
OpenSSL Funktionen
PHP Manual

openssl_seal

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

openssl_seal — Versiegelt (verschlüsselt) Daten

Beschreibung

int openssl_seal ( string $data , string &$sealed_data , array &$env_keys , array $pub_key_ids [, string $method ] )

Die Funktion openssl_seal() verschlüsselt data unter Verwendung von RC4 mit einem zufällig erzeugten geheimen Schlüssel. Dieser Schlüssel wird mit jedem öffentlichen Schlüssel verschlüsselt, der mit der Kennung in pub_key_ids verknüpft ist. Jeder verschlüsselte Schlüssel wird in env_keyszurückgegeben. Das bedeutet, daß Sie verschlüsselte Daten an mehrere Empfänger versenden können (unter der Voraussetzung, daß Sie irgendwann die öffentlichen Schlüssel der Empfänger erhalten haben). Jeder Empfänger muss sowohl die verschlüsselten Daten als auch den entsprechenden Umschlagschlüssel erhalten, der mit dem öffentlichen Schlüssel des Empfängers versiegelt wurde.

Parameter-Liste

data

sealed_data

env_keys

pub_key_ids

Rückgabewerte

Gibt bei Erfolg die Länge der verschlüsselten Daten zurück; in diesem Fall sind die verschlüsselten Daten in sealed_data enthalten und env_keys enthält die Umschlagschlüssel. Sollte ein Fehler aufgetreten sein gibt die Funktion FALSE zurück.

Beispiele

Beispiel #1 openssl_seal() example

<?php
// Annahme: $data enthält die zu versiegelnden Daten

// holen und vorbereiten der öffentlichen Schlüssel unserer Empfänger
$fp = fopen("/src/openssl-0.9.6/demos/maurice/cert.pem", "r");
$cert = fread($fp, 8192);
fclose($fp);
$pk1 = openssl_get_publickey($cert);

// Wiederholung für den zweiten Empfänger
$fp = fopen("/src/openssl-0.9.6/demos/sign/cert.pem", "r");
$cert = fread($fp, 8192);
fclose($fp);
$pk2 = openssl_get_publickey($cert);

// versiegeln der Nachricht, nur Besitzer von $pk1 und $pk2 können mit
// Schlüsseln $sealed entschlüsseln, entsprechendes gilt für $ekeys[0]
// und $ekeys[1].
openssl_seal($data, $sealed, $ekeys, array($pk1, $pk2));

// Löschen der Schlüssel aus dem Speicher
openssl_free_key($pk1);
openssl_free_key($pk2);
?>

Siehe auch

  • openssl_open() - Öffnet versiegelte Daten

openssl_random_pseudo_bytes
openssl_sign
OpenSSL Funktionen


Erzeugen einer Signatur

openssl_seal
openssl_spki_export_challenge
OpenSSL Funktionen
PHP Manual

openssl_sign

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

openssl_sign — Erzeugen einer Signatur

Beschreibung

bool openssl_sign ( string $data , string &$signature , mixed $priv_key_id [, int $signature_alg ] )

openssl_sign() errechnet eine Signatur für die im Parameter dataangegebenen Daten. Dazu werden die Daten zunächst mit SHA1 gehasht und dann unter Verwendung des in priv_key_id angegebenen privaten Schlüssels verschlüsselt. Bitte beachten Sie daß die Daten selbst nicht verschlüsselt werden.

Parameter-Liste

data

signature

Nach erfolgreicher Ausführung wird die Signatur im Parameter signature zurückgegeben.

priv_key_id

signature_alg

Standard ist OPENSSL_ALGO_SHA1. Für weitere Informationen siehe Signatur-Algorithmen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.0.0 | Der Parameter signature_alg wurde hinzugefügt.

Beispiele

Beispiel #1 openssl_sign() example

<?php
// Annahme: $data enthält die Daten, die signiert werden sollen.

// holen und vorbereiten des privaten Schlüssels aus einer Datei.
$fp = fopen("/src/openssl-0.9.6/demos/sign/key.pem", "r");
$priv_key = fread($fp, 8192);
fclose($fp);
$pkeyid = openssl_get_privatekey($priv_key);

// errechnen der Unterschrift
openssl_sign($data, $signature, $pkeyid);

// Löschen des Schlüssels aus dem Speicher
openssl_free_key($pkeyid);
?>

Siehe auch

  • openssl_verify() - Überprüft eine Signatur

openssl_seal
openssl_spki_export_challenge
OpenSSL Funktionen


Exports the challenge assoicated with a signed public key and challenge

openssl_sign
openssl_spki_export
OpenSSL Funktionen
PHP Manual

openssl_spki_export_challenge

(PHP 5 >= 5.6.0, PHP 7)

openssl_spki_export_challenge — Exports the challenge assoicated with a signed public key and challenge

Beschreibung

string openssl_spki_export_challenge ( string &$spkac )

Exports challenge from encoded signed public key and challenge

Parameter-Liste

spkac

Expects a valid signed public key and challenge

Rückgabewerte

Returns the associated challenge string or NULL on failure.

Fehler/Exceptions

Emits an E_WARNING level error if an invalid argument is passed via the spkac parameter.

Beispiele

Beispiel #1 openssl_spki_export_challenge() example

Extracts the associated challenge string or NULL on failure.

<?php
$pkey = openssl_pkey_new('secret password');
$spkac = openssl_spki_new($pkey, 'challenge string');
$challenge = openssl_spki_export_challenge(preg_replace('/SPKAC=/', '', $spkac));
?>

Beispiel #2 openssl_spki_export_challenge() example from <keygen>

Extracts the associated challenge string issued from the <keygen> element

<?php
$challenge = openssl_spki_export_challenge(preg_replace('/SPKAC=/', '', $_POST['spkac']));
?>
<keygen name="spkac" challenge="challenge string" keytype="RSA">

Siehe auch

  • openssl_spki_new() - Generate a new signed public key and challenge
  • openssl_spki_verify() - Verifies a signed public key and challenge
  • openssl_spki_export() - Exports a valid PEM formatted public key signed public key and challenge
  • openssl_md_method()
  • openssl_csr_new() - Erzeugt einen CSR
  • openssl_csr_sign() - Signiert einen CSR mit einem anderen Zertifikat (oder sich selbst) und generiert ein Zertifikat

openssl_sign
openssl_spki_export
OpenSSL Funktionen


Exports a valid PEM formatted public key signed public key and challenge

openssl_spki_export_challenge
openssl_spki_new
OpenSSL Funktionen
PHP Manual

openssl_spki_export

(PHP 5 >= 5.6.0, PHP 7)

openssl_spki_export — Exports a valid PEM formatted public key signed public key and challenge

Beschreibung

string openssl_spki_export ( string &$spkac )

Exports PEM formatted public key from encoded signed public key and challenge

Parameter-Liste

spkac

Expects a valid signed public key and challenge

Rückgabewerte

Returns the associated PEM formatted public key or NULL on failure.

Fehler/Exceptions

Emits an E_WARNING level error if an invalid argument is passed via the spkac parameter.

Beispiele

Beispiel #1 openssl_spki_export() example

Extracts the associated PEM formatted public key or NULL on failure.

<?php
$pkey = openssl_pkey_new('secret password');
$spkac = openssl_spki_new($pkey, 'challenge string');
$pubKey = openssl_spki_export(preg_replace('/SPKAC=/', '', $spkac));

if ($pubKey) {
    echo $pubKey;
}
?>

Beispiel #2 openssl_spki_export() example from <keygen>

Extracts the associated PEM formatted public key issued from the <keygen> element

<?php
$spkac = openssl_spki_export(preg_replace('/SPKAC=/', '', $_POST['spkac']));
if ($spkac != NULL) {
    echo $spkac;
} else {
    echo "Extraction of pub key failed";
}
?>
<keygen name="spkac" challenge="challenge string" keytype="RSA">

Siehe auch

  • openssl_spki_new() - Generate a new signed public key and challenge
  • openssl_spki_verify() - Verifies a signed public key and challenge
  • openssl_spki_export_challenge() - Exports the challenge assoicated with a signed public key and challenge
  • openssl_md_method()
  • openssl_csr_new() - Erzeugt einen CSR
  • openssl_csr_sign() - Signiert einen CSR mit einem anderen Zertifikat (oder sich selbst) und generiert ein Zertifikat

openssl_spki_export_challenge
openssl_spki_new
OpenSSL Funktionen


Generate a new signed public key and challenge

openssl_spki_export
openssl_spki_verify
OpenSSL Funktionen
PHP Manual

openssl_spki_new

(PHP 5 >= 5.6.0, PHP 7)

openssl_spki_new — Generate a new signed public key and challenge

Beschreibung

string openssl_spki_new ( resource &$privkey , string &$challenge [, int $algorithm = 0 ] )

Generates a signed public key and challenge using specified hashing algorithm

Parameter-Liste

privkey

privkey should be set to a private key that was previously generated by openssl_pkey_new() (or otherwise obtained from the other openssl_pkey family of functions). The corresponding public portion of the key will be used to sign the CSR.

challenge

The challenge associated to associate with the SPKAC

algorithm

The digest algorithm. See openssl_get_md_method().

Rückgabewerte

Returns a signed public key and challenge string or NULL on failure.

Fehler/Exceptions

Emits an E_WARNING level error if an unknown signature algorithm is passed via the algorithm parameter.

Beispiele

Beispiel #1 openssl_spki_new() example

Generate a new SPKAC with the default digest (MD5)

<?php
$pkey = openssl_pkey_new('secret password');
$spkac = openssl_spki_new($pkey, 'testing');

if ($spkac !== NULL) {
    echo $spkac;
} else {
    echo "SPKAC generation failed";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

MIICRzCCAS8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDM3V3sS4o4
mB9dczziRnjGAmSp+JwPrHoYMAFGvDNmZGyiWfU586X4BKs++BAj7e/FsAfno0Hd
hN9FwpCNFSox30L03nQvLYJE7f/WqigwBeMRT7Op/xvFks4sT70xP2HRYv4KqP9a
WRcKU6cFH8VxhFhqM2txEIxZKdFLaL28yT7bEDmcglf4JLDdgNMb9rET1dkgtKE6
dOaJHPGjf1uvnOH4YwkQr7n4sLUR3Kdbh0ZJAFuQVDZulo+LLzxBBkqJJcB6FhF+
oXCdHTKZnqAhpWDz+NXYytAmevab6IYm5TWPWsJUv1YKJA5lg2mXbbloIZlN9Mgc
i9fi03bdw+crAgMBAAEWB3Rlc3RpbmcwDQYJKoZIhvcNAQEEBQADggEBALyUvP/o
pPSoWBlorFyZ2RnGwKf9qMpE0q2IJP7G3oDR4LyK/m933DUiZ+YnqThrH/CWb4Ek
y5I3OCyl3S4wCuU1ibZZwDVwYShr5ELp0J9PEf7qMQZOhNsizoC7k+Czb2xB6hYW
sKfsfTKm3cXBtH3fdgc/Z1Z7VSWnAzYo38snqm72NTf5yFRnrQdphNNXi+kn1zHA
lxXRyFDXHOcYsOnwAWfyXFA4QDHQ0ezz0UoCY8gJXovcZb4GRYqOLUAsF2HcNboy
29WN8VqE29sL9QxVZFlwMcqyoLcNnyw38GvNvAGqSvzzbnEFP2MAQXJVe0H0hdp/
MML5G2iNVgNozAo=

Siehe auch

  • openssl_spki_new()
  • openssl_spki_export_challenge() - Exports the challenge assoicated with a signed public key and challenge
  • openssl_spki_export() - Exports a valid PEM formatted public key signed public key and challenge
  • openssl_csr_new() - Erzeugt einen CSR
  • openssl_csr_sign() - Signiert einen CSR mit einem anderen Zertifikat (oder sich selbst) und generiert ein Zertifikat

openssl_spki_export
openssl_spki_verify
OpenSSL Funktionen


Verifies a signed public key and challenge

openssl_spki_new
openssl_verify
OpenSSL Funktionen
PHP Manual

openssl_spki_verify

(PHP 5 >= 5.6.0, PHP 7)

openssl_spki_verify — Verifies a signed public key and challenge

Beschreibung

string openssl_spki_verify ( string &$spkac )

Validates the supplied signed public key and challenge

Parameter-Liste

spkac

Expects a valid signed public key and challenge

Rückgabewerte

Returns a boolean on success or failure.

Fehler/Exceptions

Emits an E_WARNING level error if an invalid argument is passed via the spkac parameter.

Beispiele

Beispiel #1 openssl_spki_verify() example

Validates an existing signed public key and challenge

<?php
$pkey = openssl_pkey_new('secret password');
$spkac = openssl_spki_new($pkey, 'challenge string');

if (openssl_spki_verify(preg_replace('/SPKAC=/', '', $spkac))) {
    echo $spkac;
} else {
    echo "SPKAC validation failed";
}
?>

Beispiel #2 openssl_spki_verify() example from <keygen>

Validates an existing signed public key and challenge issued from the <keygen> element

<?php
if (openssl_spki_verify(preg_replace('/SPKAC=/', '', $_POST['spkac']))) {
    echo $spkac;
} else {
    echo "SPKAC validation failed";
}
?>
<keygen name="spkac" challenge="challenge string" keytype="RSA">

Siehe auch

  • openssl_spki_new() - Generate a new signed public key and challenge
  • openssl_spki_export_challenge() - Exports the challenge assoicated with a signed public key and challenge
  • openssl_spki_export() - Exports a valid PEM formatted public key signed public key and challenge
  • openssl_md_method()
  • openssl_csr_new() - Erzeugt einen CSR
  • openssl_csr_sign() - Signiert einen CSR mit einem anderen Zertifikat (oder sich selbst) und generiert ein Zertifikat

openssl_spki_new
openssl_verify
OpenSSL Funktionen


Überprüft eine Signatur

openssl_spki_verify
openssl_x509_check_private_key
OpenSSL Funktionen
PHP Manual

openssl_verify

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

openssl_verify — Überprüft eine Signatur

Beschreibung

int openssl_verify ( string $data , string $signature , mixed $pub_key_id [, mixed $signature_alg = OPENSSL_ALGO_SHA1 ] )

Die Funktion openssl_verify() überprüft die Korrektheit der Unterschrift signature für die angegebenen Daten data mit Hilfe des öffentlichen Schlüssels pub_key_id. Das muss der passende öffentliche zum privaten Schlüssel sein, der für die Unterschrift benutzt wurde.

Parameter-Liste

data

Der Daten-String, der verwendet wurde um die Signatur zuvor zu erstellen

signature

Ein roher Binär-String, erzeugt durch openssl_sign() oder ähnliche Mittel

pub_key_id

resource - ein von openssl_get_publickey() zurück gegebener Schlüssel

string - ein PEM formatierter Schlüssel, zum Beispiel "-----BEGIN PUBLIC KEY----- MIIBCgK..."

signature_alg

int - einer von diesen Signatur-Algorithmen.

string - von openssl_get_md_methods() zurück gegebener gültiger String, zum Beispiel "sha1WithRSAEncryption" oder "sha512".

Rückgabewerte

Gibt für eine korrekte Signatur 1 zurück, 0 für eine unkorrekte und -1 falls ein Fehler aufgetreten ist.

Changelog

Version | Beschreibung
5.2.0 | Der Parameter signature_alg wurde hinzugefügt.

Beispiele

Beispiel #1 openssl_verify() example

<?php
// Annahme: $data und $signature enthalten die Daten und die Unterschrift

// holen des öffentlichen Schlüssels aus dem Zertifikat und vorbereiten
$pubkeyid = openssl_pkey_get_public("file://src/openssl-0.9.6/demos/sign/cert.pem");

// feststellen, ob die Unterschrift ok ist oder nicht
$ok = openssl_verify($data, $signature, $pubkeyid);
if ($ok == 1) {
    echo "gut";
} elseif ($ok == 0) {
    echo "schlecht";
} else {
    echo "Mist, Fehler beim überprüfen der Signatur";
}

// Löschen des Schlüssels aus dem Speicher
openssl_free_key($pubkeyid);
?>

Beispiel #2 openssl_verify() Beispiel

<?php
// die zu signierenden Daten
$data = 'my data';

// erzeuge neuen privaten und öffentlichen Schlüssel
$private_key_res = openssl_pkey_new(array(
    "private_key_bits" => 2048,
    "private_key_type" => OPENSSL_KEYTYPE_RSA,
));
$details = openssl_pkey_get_details($private_key_res);
$public_key_res = openssl_pkey_get_public($details['key']);

// erzeuge Signatur
openssl_sign($data, $signature, $private_key_res, "sha1WithRSAEncryption");

// überprüfe Signatur
$ok = openssl_verify($data, $signature, $public_key_res, OPENSSL_ALGO_SHA1);
if ($ok == 1) {
    echo "gültig";
} elseif ($ok == 0) {
    echo "ungültig";
} else {
    echo "Fehler: ".openssl_error_string();
}
?>

Siehe auch

  • openssl_sign() - Erzeugen einer Signatur

openssl_spki_verify
openssl_x509_check_private_key
OpenSSL Funktionen


Überprüft, ob ein privater Schlüssel zu einem Zertifikat passt

openssl_verify
openssl_x509_checkpurpose
OpenSSL Funktionen
PHP Manual

openssl_x509_check_private_key

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

openssl_x509_check_private_key — Überprüft, ob ein privater Schlüssel zu einem Zertifikat passt

Beschreibung

bool openssl_x509_check_private_key ( mixed $cert , mixed $key )

Prüft ob der übergebene Schlüssel key der private Schlüssel zum Zertifikat cert ist.

Parameter-Liste

cert

Das Zertifikat

key

Der private Schlüssel.

Rückgabewerte

Gibt TRUE zurück wenn key der private Schlüssel zum Zertifikat certist, andernfalls FALSE.

openssl_verify
openssl_x509_checkpurpose
OpenSSL Funktionen


Überprüft, ob ein Zertifikat für einen bestimmten Zweck benutzt werden kann

openssl_x509_check_private_key
openssl_x509_export_to_file
OpenSSL Funktionen
PHP Manual

openssl_x509_checkpurpose

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

openssl_x509_checkpurpose — Überprüft, ob ein Zertifikat für einen bestimmten Zweck benutzt werden kann

Beschreibung

int openssl_x509_checkpurpose ( mixed $x509cert , int $purpose [, array $cainfo = array() [, string $untrustedfile ]] )

openssl_x509_checkpurpose() überprüft ein Zertifikat um festzustellen, ob es für den in purpose angegebenen Zweck eingesetzt werden kann.

Parameter-Liste

x509cert

Das zu prüfende Zertifikat.

purpose

openssl_x509_checkpurpose() Zweck
Konstante | Beschreibung
X509_PURPOSE_SSL_CLIENT | Kann das Zertifikat für die Clientseite einer SSL-Verbindung benutzt werden?
X509_PURPOSE_SSL_SERVER | Kann das Zertifikat für die Serverseite einer SSL-Verbindung benutzt werden?
X509_PURPOSE_NS_SSL_SERVER | Kann das Zertifikat für den Netscape SSL-Server benutzt werden?
X509_PURPOSE_SMIME_SIGN | Kann das Zertifikat zum Signieren einer S/MIME-Email benutzt werden?
X509_PURPOSE_SMIME_ENCRYPT | Kann das Zertifikat zum Verschlüsseln einer S/MIME-Email benutzt werden?
X509_PURPOSE_CRL_SIGN | Kann das Zertifikat zum Signieren einer Zertifikatswiderrufliste (CRL) benutzt werden?
X509_PURPOSE_ANY | Kann das Zertifikat für beliebige/alle Zwecke benutzt werden?
Diese Optionen sind keine Bitfelder, nur eine kann angegeben werden!

cainfo

cainfo sollte ein Array von vertrauenswürdigen CA-Dateien / -Verzeichnissen sein, wie in Zertifikatprüfung beschrieben.

untrustedfile

Wenn angegeben sollte dies der Name einer PEM-kodierten Datei sein, die Zertifikate enthält die bei der Prüfung des Zertifikats helfen können. Die Zertifikate aus dieser Datei werden als nicht vertrauenswürdig erachtet.

Rückgabewerte

Gibt TRUE zurück wenn das Zertifikat für den angegebenen Zweck benutzt werden kann, ansonsten FALSE; im Falle eines Fehlers wird -1 zurückgegeben.

openssl_x509_check_private_key
openssl_x509_export_to_file
OpenSSL Funktionen


Exportiert ein Zertifikat in eine Datei

openssl_x509_checkpurpose
openssl_x509_export
OpenSSL Funktionen
PHP Manual

openssl_x509_export_to_file

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

openssl_x509_export_to_file — Exportiert ein Zertifikat in eine Datei

Beschreibung

bool openssl_x509_export_to_file ( mixed $x509 , string $outfilename [, bool $notext = TRUE ] )

openssl_x509_export_to_file() speichert ein x509 in eine Datei mit Namen outfilename in einem PEM-Format.

Parameter-Liste

x509

Siehe Schlüssel-/Zertifikatsparameter für eine Auflistung der gültigen Werte.

outfilename

Pfad zur Ausgabe-Datei.

notext

Der optionale Parameternotext beinflusst die Ausführlichkeit der Ausgabe. Wenn er auf FALSE gesetzt wird, werden zusätzliche lesbare Informationen in die Ausgabe aufgenommen. Der Vorgabewert für notext ist TRUE.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

openssl_x509_checkpurpose
openssl_x509_export
OpenSSL Funktionen


Exports a certificate as a string

openssl_x509_export_to_file
openssl_x509_fingerprint
OpenSSL Funktionen
PHP Manual

openssl_x509_export

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

openssl_x509_export — Exports a certificate as a string

Beschreibung

bool openssl_x509_export ( mixed $x509 , string &$output [, bool $notext = TRUE ] )

openssl_x509_export() stores x509 into a string named by output in a PEM encoded format.

Parameter-Liste

x509

Siehe Schlüssel-/Zertifikatsparameter für eine Auflistung der gültigen Werte.

output

On success, this will hold the PEM.

notext

Der optionale Parameternotext beinflusst die Ausführlichkeit der Ausgabe. Wenn er auf FALSE gesetzt wird, werden zusätzliche lesbare Informationen in die Ausgabe aufgenommen. Der Vorgabewert für notext ist TRUE.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

openssl_x509_export_to_file
openssl_x509_fingerprint
OpenSSL Funktionen


Calculates the fingerprint, or digest, of a given X.509 certificate

openssl_x509_export
openssl_x509_free
OpenSSL Funktionen
PHP Manual

openssl_x509_fingerprint

(PHP 5.6, PHP 7)

openssl_x509_fingerprint — Calculates the fingerprint, or digest, of a given X.509 certificate

Beschreibung

bool openssl_x509_fingerprint ( mixed $x509 [, string $hash_algorithm = "sha1" [, bool $raw_output = FALSE ]] )

openssl_x509_fingerprint() returns the digest of x509 as a string.

Parameter-Liste

x509

Siehe Schlüssel-/Zertifikatsparameter für eine Auflistung der gültigen Werte.

hash_algorithm

The hash algorithm to use, e.g. "md5" or "sha1"

raw_output

When set to TRUE, outputs raw binary data. FALSE outputs lowercase hexits.

Rückgabewerte

Returns a string containing the calculated certificate fingerprint as lowercase hexits unless raw_output is set to TRUE in which case the raw binary representation of the message digest is returned.

Returns FALSE on failure.

openssl_x509_export
openssl_x509_free
OpenSSL Funktionen


Freigabe einer Zertifikats Resource

openssl_x509_fingerprint
openssl_x509_parse
OpenSSL Funktionen
PHP Manual

openssl_x509_free

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

openssl_x509_free — Freigabe einer Zertifikats Resource

Beschreibung

void openssl_x509_free ( resource $x509cert )

Die Funktion openssl_x509_free() gibt den Speicherbereich frei, der von einer Zertifikatsressource x509cert belegt wurde.

openssl_x509_fingerprint
openssl_x509_parse
OpenSSL Funktionen


Parst ein X.509-Zertifikat und liefert die Informationen als Array zurück

openssl_x509_free
openssl_x509_read
OpenSSL Funktionen
PHP Manual

openssl_x509_parse

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

openssl_x509_parse — Parst ein X.509-Zertifikat und liefert die Informationen als Array zurück

Beschreibung

array openssl_x509_parse ( mixed $x509cert [, bool $shortnames ] )

openssl_x509_parse() liefert Informationen über das per x509cert übergebene Zertifikat zurück, wie beispielsweise Name des Gegenstands, Name des Herausgebers, Zweck, Zeitangaben zur Gültigkeit etc.

Parameter-Liste

x509cert

shortnames

Der Parameter shortnames kontrolliert wie die Daten im Array indiziert werden. Wenn TRUE übergeben wird (Standard) dann wird die Kurzform verwendet, andernfalls werden die langen Bezeichner benutzt; CN ist beispielsweise die Kurzform zu commonName.

Rückgabewerte

Die Struktur der zurückgegeben Daten ist absichtlich noch nicht dokumentiert, da es noch Änderungen geben wird.

openssl_x509_free
openssl_x509_read
OpenSSL Funktionen


Parst ein X.509-Zertitifikat und gibt eine Ressource zurück

openssl_x509_parse
Password Hashing
OpenSSL Funktionen
PHP Manual

openssl_x509_read

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

openssl_x509_read — Parst ein X.509-Zertitifikat und gibt eine Ressource zurück

Beschreibung

resource openssl_x509_read ( mixed $x509certdata )

Die Funktion openssl_x509_read() parst das in x509certdata übergebene Zertifikat und gibt eine Ressource zurück.

Parameter-Liste

x509certdata

Rückgabewerte

Gibt im Erfolgsfall eine Ressource zurück. Im Fehlerfall wird FALSE zurückgegeben.

openssl_x509_parse
Password Hashing
OpenSSL Funktionen


Password Hashing

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Password Hashing Funktionen
    • password_get_info — Gibt Informationen über einen Hash zurück
    • password_hash — Erstellt einen Passwort-Hash
    • password_needs_rehash — Überprüft, ob der übergebene Hash mit den übergebenen Optionen übereinstimmt
    • password_verify — Überprüft, ob ein Passwort und ein Hash zusammenpassen
openssl_x509_read
Einführung
Kryptografische Erweiterungen


Einführung

Die password hashing API stellt einen einfach zu benutzenden Wrapper über der funktion crypt() zur einfachen Erstellung und Verwaltung von Passwörtern zur Verfügung.

Diese Erweiterung ist verfügbar seit PHP 5.5.0 aber es gibt ebenso eine » userland implementation für PHP >= 5.3.7.

Password Hashing
Installation/Konfiguration
Password Hashing


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Password Hashing


Vordefinierte Konstanten

Die aufgelisteten Konstanten stehen immer zur Verfügung, da sie zum Grundbestand von PHP gehören.

PASSWORD_BCRYPT (integer)

PASSWORD_BCRYPT is used to create new password hashes using the CRYPT_BLOWFISH algorithm.

This will always result in a hash using the "$2y$" crypt format, which is always 60 characters wide.

Supported Options:

  • salt - to manually provide a salt to use when hashing the password. Note that this will override and prevent a salt from being automatically generated.

    If omitted, a random salt will be generated by password_hash() for each password hashed. This is the intended mode of operation.

  • cost - which denotes the algorithmic cost that should be used. Examples of these values can be found on the crypt() page.

    If ommitted, a default value of 10 will be used. This is a good baseline cost, but you may want to consider increasing it depending on your hardware.

PASSWORD_DEFAULT (integer)

The default algorithm to use for hashing if no algorithm is provided. This may change in newer PHP releases when newer, stronger hashing algorithms are supported.

It is worth noting that over time this constant can (and likely will) change. Therefore you should be aware that the length of the resulting hash can change. Therefore, if you use PASSWORD_DEFAULT you should store the resulting hash in a way that can store more than 60 characters (255 is the recomended width).

Values for this constant:

  • PHP 5.5.0 - PASSWORD_BCRYPT

Ressource-Typen
Password Hashing Funktionen
Password Hashing


Password Hashing Funktionen

Inhaltsverzeichnis

  • password_get_info — Gibt Informationen über einen Hash zurück
  • password_hash — Erstellt einen Passwort-Hash
  • password_needs_rehash — Überprüft, ob der übergebene Hash mit den übergebenen Optionen übereinstimmt
  • password_verify — Überprüft, ob ein Passwort und ein Hash zusammenpassen
Vordefinierte Konstanten
password_get_info
Password Hashing


Gibt Informationen über einen Hash zurück

Password Hashing Funktionen
password_hash
Password Hashing Funktionen
PHP Manual

password_get_info

(PHP 5 >= 5.5.0, PHP 7)

password_get_info — Gibt Informationen über einen Hash zurück

Beschreibung

array password_get_info ( string $hash )

Falls ein gültiger Hash übergeben wird, der durch einen von password_hash() unterstützen Algorithmus erzeugt wurde, gibt diese Funktion ein Array mit Informationen über diesen Hash zurück.

Parameter-Liste

hash

Ein Hash, der durch password_hash() erzeugt wurde.

Rückgabewerte

Gibt ein assoziatives Array mit drei Elementen zurück:

  • algo, dies ist eine der Passwort-Algorithmus-Konstanten
  • algoName, dies ist der lesbare Name des Algorithmus
  • options, dies enthält die Optionen, die password_hash() übergeben wurden

Password Hashing Funktionen
password_hash
Password Hashing Funktionen


Erstellt einen Passwort-Hash

password_get_info
password_needs_rehash
Password Hashing Funktionen
PHP Manual

password_hash

(PHP 5 >= 5.5.0, PHP 7)

password_hash — Erstellt einen Passwort-Hash

Beschreibung

string password_hash ( string $password , integer $algo [, array $options ] )

password_hash() erstellt einen neuen Passwort-Hash und benutzt dabei einen starken Einweg-Hashing-Algorithmus.

Die folgenden Algorithmen werden zur Zeit unterstützt:

  • PASSWORD_DEFAULT - Benutzt den bcrypt-Algorithmus (Standard in PHP 5.5.0). Beachte, dass sich diese Konstante mit der Zeit ändern wird, wenn stärkere Algorithmen in PHP implementiert werden. Aus diesem Grund kann sich die Länge des zurückgegebenen Strings mit der Zeit ändern. Es wird deshalb empfohlen das Ergebnis in einem Datenbankfeld zu speichern, das mehr als 60 Zeichen speichern kann. (z.B. 255 Zeichen).
  • PASSWORD_BCRYPT - Benutzt den CRYPT_BLOWFISH-Algorithmus zum Erstellen des Hashes. Dies erstellt einen crypt()-kompatiblen Hash und benutzt die "$2y$"-Kennung. Es wird immer ein 60 Zeichen langer String zurückgegeben, Im Fehlerfall wird FALSE zurückgegeben..

    Unterstützte Optionen:

    • salt - to manually provide a salt to use when hashing the password. Note that this will override and prevent a salt from being automatically generated.

      If omitted, a random salt will be generated by password_hash() for each password hashed. This is the intended mode of operation.

    • cost - which denotes the algorithmic cost that should be used. Examples of these values can be found on the crypt() page.

      If omitted, a default value of 10 will be used. This is a good baseline cost, but you may want to consider increasing it depending on your hardware.

Parameter-Liste

password

Das Passwort des Benutzers.

algo

Eine Konstante für den Passwort-Algorithmus, die den Algorithmus zum hashen des Passwortes angibt.

options

Ein assoziatives Array mit Optionen. Siehe auch Konstanten für Passwort-Algorithmen für Informationen zu den von dein jeweiligen Algorithmen unterstützten Optionen.

If omitted, a random salt will be created and the default cost will be used.

Rückgabewerte

Returns the hashed password, Im Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 password_hash() example

<?php
/**
 * We just want to hash our password using the current DEFAULT algorithm.
 * This is presently BCRYPT, and will produce a 60 character result.
 *
 * Beware that DEFAULT may change over time, so you would want to prepare
 * By allowing your storage to expand past 60 characters (255 would be good)
 */
echo password_hash("rasmuslerdorf", PASSWORD_DEFAULT)."\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

$2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a

Beispiel #2 password_hash() example setting cost manually

<?php
/**
 * In this case, we want to increase the default cost for BCRYPT to 12.
 * Note that we also switched to BCRYPT, which will always be 60 characters.
 */
$options = [
    'cost' => 12,
];
echo password_hash("rasmuslerdorf", PASSWORD_BCRYPT, $options)."\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

$2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K

Beispiel #3 password_hash() example setting salt manually

<?php
/**
 * Note that the salt here is randomly generated.
 * Never use a static salt or one that is not randomly generated.
 *
 * For the VAST majority of use-cases, let password_hash generate the salt randomly for you
 */
$options = [
    'cost' => 11,
    'salt' => mcrypt_create_iv(22, MCRYPT_DEV_URANDOM),
];
echo password_hash("rasmuslerdorf", PASSWORD_BCRYPT, $options)."\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

$2y$11$q5MkhSBtlsJcNEVsYh64a.aCluzHnGog7TQAKVmQwO9C8xb.t89F.

Beispiel #4 password_hash() example finding a good cost

<?php
/**
 * This code will benchmark your server to determine how high of a cost you can
 * afford. You want to set the highest cost that you can without slowing down
 * you server too much. 10 is a good baseline, and more is good if your servers
 * are fast enough.
 */
$timeTarget = 0.2;

$cost = 9;
do {
    $cost++;
    $start = microtime(true);
    password_hash("test", PASSWORD_BCRYPT, ["cost" => $cost]);
    $end = microtime(true);
} while (($end - $start) < $timeTarget);

echo "Appropriate Cost Found: " . $cost . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Appropriate Cost Found: 11

Anmerkungen

Achtung

It is strongly recommended that you do not generate your own salt for this function. It will create a secure salt automatically for you if you do not specify one.

Hinweis:

It is recommended that you should test this function on your servers, and adjust the cost parameter so that execution of the function takes approximately 0.1 to 0.5 seconds. The script in the above example will help you choose a good cost value for your hardware.

Hinweis: Updates to supported algorithms by this function (or changes to the default one) must follow the follwoing rules:

  • Any new algorithm must be in core for at least 1 full release of PHP prior to becoming default. So if, for example, a new algorithm is added in 5.5.5, it would not be eligible for default until 5.7 (since 5.6 would be the first full release). But if a different algorithm was added in 5.6.0, it would also be eligible for default at 5.7.0.
  • The default should only change on a full release (5.6.0, 6.0.0, etc) and not on a revision release. The only exception to this is in an emergency when a critical security flaw is found in the current default.

Siehe auch

  • password_verify() - Überprüft, ob ein Passwort und ein Hash zusammenpassen
  • crypt() - Einweg-String-Hashing
  • » userland implementation

password_get_info
password_needs_rehash
Password Hashing Funktionen


Überprüft, ob der übergebene Hash mit den übergebenen Optionen übereinstimmt

password_hash
password_verify
Password Hashing Funktionen
PHP Manual

password_needs_rehash

(PHP 5 >= 5.5.0, PHP 7)

password_needs_rehash — Überprüft, ob der übergebene Hash mit den übergebenen Optionen übereinstimmt

Beschreibung

boolean password_needs_rehash ( string $hash , string $algo [, string $options ] )

Diese Funktion überprüft, ob der übergebene Hash den gleichen Algorithmus und die gleichen Optionen nutzt, wie in den übergebenen Optionen abgegeben. Falls nicht, wird angenommen, dass erneutes Hashen notwendig ist.

Parameter-Liste

hash

Ein Hash, der durch password_hash() erzeugt wurde.

algo

Eine Konstante für den Passwort-Algorithmus, die den Algorithmus zum hashen des Passwortes angibt.

options

Ein assoziatives Array mit Optionen. Siehe auch Konstanten für Passwort-Algorithmen für Informationen zu den von dein jeweiligen Algorithmen unterstützten Optionen.

Rückgabewerte

Gibt TRUE zurück, falls der Hash erneut gehasht werden muss, damit die übergebenen Parameter algo und options übereinstimmen, sonst FALSE.

password_hash
password_verify
Password Hashing Funktionen


Überprüft, ob ein Passwort und ein Hash zusammenpassen

password_needs_rehash
Datenbankerweiterungen
Password Hashing Funktionen
PHP Manual

password_verify

(PHP 5 >= 5.5.0, PHP 7)

password_verify — Überprüft, ob ein Passwort und ein Hash zusammenpassen

Beschreibung

boolean password_verify ( string $password , string $hash )

Überprüft, ob ein Passwort und ein Hash zusammenpassen.

Beachte, dass password_hash() den Algorithmus, den Aufwand und den Salt als Teil des Hashes zurückgibt. Somit sind alle benötigten Informationen im Hash enthalten, was der Funktion erlaubt den Hash zu prüfen, ohne dass Informationen über den Salt oder den Algorithmus an anderer Stelle gespeichert werden müssen.

Parameter-Liste

password

Das Passwort des Benutzers.

hash

Ein Hash, der durch password_hash() erzeugt wurde.

Rückgabewerte

Gibt TRUE zurück, falls Password und Hash zusammenpassen, sonst FALSE.

Beispiele

Beispiel #1 password_verify()-Beispiel

<?php
// Siehe auch das password_hash() Beispiel in diesem Kontext
$hash = '$2y$07$BCryptRequires22Chrcte/VlQH0piJtjXl.0t1XkA8pw9dMXTpOq';

if (password_verify('rasmuslerdorf', $hash)) {
    echo 'Valides Passwort!';
} else {
    echo 'Invalides Passwort.';
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Valides Passwort!

Siehe auch

  • password_hash() - Erstellt einen Passwort-Hash
  • » Userland Implementation

password_needs_rehash
Datenbankerweiterungen
Password Hashing Funktionen


Datenbankerweiterungen

  • Abstraktionsebenen
    • DBA — Abstraktionsschicht für dbm-style-Datenbanken
    • dbx
    • ODBC — ODBC (Unified)
    • PDO — PHP Data Objects
  • Anbieterspezifische Datenbankerweiterungen
    • CUBRID
    • DB++
    • dBase
    • filePro
    • Firebird/InterBase
    • FrontBase
    • IBM DB2 — IBM DB2, Cloudscape and Apache Derby
    • Informix
    • Ingres — Ingres DBMS, EDBC und Enterprise Access Gateways
    • MaxDB
    • Mongo — MongoDB driver (legacy)
    • MongoDB — MongoDB driver
    • mSQL
    • Mssql — Microsoft SQL Server
    • MySQL — MySQL Drivers and Plugins
    • OCI8 — Oracle OCI8
    • Paradox — Paradox File Access
    • PostgreSQL
    • SQLite
    • SQLite3
    • SQLSRV — Microsoft SQL Server Driver for PHP
    • Sybase
    • tokyo_tyrant
password_verify
Abstraktionsebenen
Funktionsreferenz


Abstraktionsebenen

  • DBA — Abstraktionsschicht für dbm-style-Datenbanken
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • DBA-Funktionen
  • dbx
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • dbx Funktionen
  • ODBC — ODBC (Unified)
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • ODBC Funktionen
  • PDO — PHP Data Objects
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Verbindungen und Verbindungsmanagement
    • Transaktionen und auto-commit
    • Prepared Statements und Stored Procedures
    • Fehler und Fehlerbehandlung
    • Large Objects (LOBs)
    • PDO — Die PDO-Klasse
    • PDOStatement — Die PDOStatement-Klasse
    • PDOException — Die Klasse PDOException
    • PDO-Treiber
Datenbankerweiterungen
DBA
Datenbankerweiterungen


Abstraktionsschicht für dbm-style-Datenbanken

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • Die grundlegende Verwendung
  • DBA-Funktionen
    • dba_close — Schließt eine DBA-Datenbank
    • dba_delete — Löscht den zum angegebenen Schlüssel gehörigen DBA-Eintrag
    • dba_exists — Überprüft, ob ein angegebener Schlüssel existiert
    • dba_fetch — Liest die Daten zu einem angegebenen Schlüssel aus
    • dba_firstkey — Liefert den ersten Schlüssel
    • dba_handlers — Listet alle verfügbaren Handler auf
    • dba_insert — Fügt einen Eintrag ein
    • dba_key_split — Zerlegt einen Schlüssel in Zeichenketten-Darstellung in eine Array-Darstellung
    • dba_list — Listet alle offenen Datenbank-Dateien auf
    • dba_nextkey — Liefert den nachfolgenden Schlüssel
    • dba_open — Öffnet eine Datenbank
    • dba_optimize — Optimiert eine Datenbank
    • dba_popen — Öffnet eine persistente Datenbank-Verbindung
    • dba_replace — Ersetzt einen Eintrag oder fügt ihn ein
    • dba_sync — Synchronisiert eine Datenbank
Abstraktionsebenen
Einführung
Abstraktionsebenen


Einführung

Diese Funktionen bilden die Basis für den Zugriff auf Datenbanken vom Typ "Berkeley DB".

"dba" implementiert eine generelle Abstraktionsschicht für verschiedene dateibasierte Datenbanken. Der Funktionsumfang ist daher beschränkt auf eine gemeinsame Teilmenge des Funktionsumfangs aktueller Datenbanken wie zum Beispiel » Oracle Berkeley DB.

DBA
Installation/Konfiguration
DBA


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
DBA


Anforderungen

Das Verhalten der dba-Funktionen ist teilweise abhängig von der Implementation des zugrundeliegenden Datenbanksystems. Funktionen wie zum Beispiel dba_optimize() und dba_sync() funktionieren vielleicht bei einem Datenbanksystem und tun gar nichts bei einem anderen. Die unterstützten DBA-Handler müssen heruntergeladen und installiert werden.

Liste der DBA-Handler
Handler | Hinweise
dbm | Dbm ist der ursprüngliche und älteste Typ der "Berkeley DB" Datenbanken. Wenn möglich, sollten Sie diesen Typ vermeiden. Die in DB2 und gdbm enthaltenen Kompatibilitätsfunktionen werden nicht unterstützt, da sie nur auf Quellcode-Basis kompatibel sind, aber das original dbm-Format nicht bearbeiten können.
ndbm | Ndbm ist neuer und flexibler als Dbm. Es hat jedoch die meisten Einschränkungen von Dbm übernommen und ist daher ebenfalls nicht empfehlenswert.
gdbm | Gdbm ist der » GNU Datenbank Manager.
db2 | DB2 ist für » Oracle Berkeley DB 2. Es wird beschrieben als "Werkzeugsatz mit eingebauter Hochleistungs-Unterstützung von Datenbanken sowohl für Standalone- als auch für Client/Server-Anwendungen".
db3 | DB3 ist für » Oracle Berkeley DB 3.
db4 | DB4 ist für » Oracle Berkeley DB 4 oder 5. Dieser Handler steht ab PHP 4.3.2 zur Verfügung. Ab PHP 5.3.3 kann er mit BDB 5 verwendet werden.
cdb | Cdb ist "ein schnelles, zuverlässiges und kompaktes Paket zum Erstellen und Auslesen konstanter Datenbanken." Es stammt vom Autor von qmail und kann bei » http://cr.yp.to/cdb.html heruntergeladen werden. Da es für konstante Daten ausgelegt ist, werden nur lesende Operationen unterstützt. Ab PHP 4.3.0 werden duch die interne cdb-Bibliothek auch schreibende Operationen (aber keine Aktualisierungen) unterstützt.
cdb_make | Ab PHP 4.3.0 können bei Verwendung der in PHP mitgelieferten cdb-Bibliothek cdb-Dateien erzeugt (aber nicht aktualisiert) werden.
flatfile | Steht ab PHP 4.3.0 nur wegen der Kompatibilität mit der veralteten dbm-Erweiterung zur Verfügung und sollte vermieden werden. Sie können ihn aber bei Dateien verwenden, die in diesem Format erzeugt wurden. Das geschieht, wenn configure keine externe Bibliothek finden konnte.
inifile | Steht ab PHP 4.3.3 zur Verfügung, damit php.ini-Dateien über PHP-Skripts geändert werden können. Wenn mit ini-Dateien gearbeitet wird, können Arrays der Form array(0=>gruppe,1=>wert_name) oder Zeichenketten der Form "[gruppe]wert_name" (gruppe ist optional) übergeben werden. Da die Funktionen dba_firstkey() und dba_nextkey() die Zeichenketten-Darstellung des Schlüssels zurückgeben, steht ab PHP 5 die neue Funktion dba_key_split() zur Verfügung, die es ermöglicht, die Zeichenketten-Schlüssel in Array-Schlüssel umzuwandeln, ohne dass das FALSE verloren geht.
qdbm | Steht ab PHP 5.0.0 zur Verfügung. Die qdbm-Bibliothek kann bei » http://fallabs.com/qdbm/index.html heruntergeladen werden.

Beim Aufruf von dba_open() oder dba_popen() muss einer der Handler-Namen als Argument angegeben werden. Die Liste der tatsächlich verfügbaren Handler lässt sich mittlels phpinfo() oder dba_handlers() angezeigen.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Durch die Verwendung der Konfigurationsoption --enable-dba=shared wird ein dynamisch ladbares Modul erstellt, mit dem PHP eine grundlegende Unterstützung von dbm-style-Datenbanken bietet. Es muss außerdem die Unterstützung für mindestens einen der folgenden Handler hinzugefügt werden, indem der configure-Schalter --with-XXXX im PHP-Konfigurationsaufruf angegegeben wird.

Warnung

Nachdem PHP konfiguriert und kompiliert wurde, muss in der Kommandozeile der folgende Test ausgeführt werden: php run-tests.php ext/dba. Damit zeigt sich, ob die Kombination der Handler funktioniert. Am problematischsten sind dbm und ndbm, die mit vielen Installationen kollidieren. Das liegt daran, dass diese Bibliotheken auf einigen Systemen Bestandteil von mehr als einer anderen Bibliothek sind. Der Konfigurationstest verhindert nur die Konfiguration fehlerhafter einzelner Handler, aber nicht die Konfiguration fehlerhafter Kombinationen.

Unterstützte DBA-Handler
Handler | Configure-Schalter
dbm

Fügen Sie --with-dbm[=DIR] hinzu, um die Unterstützung für dbm zu aktivieren.

Hinweis:

dbm ist für gewöhnlich ein Wrapper, der häufig zu Fehlern führt. Das bedeutet, dass Sie dbm nur benutzen sollten, wenn Sie sicher sind, dass er funktioniert und wenn Sie dieses Format wirklich benötigen.

ndbm

Fügen Sie --with-ndbm[=DIR] hinzu, um die Unterstützung für ndbm zu aktivieren.

Hinweis:

ndbm ist für gewöhnlich ein Wrapper, der häufig zu Fehlern führt. Das bedeutet, dass Sie ndbm nur benutzen sollten, wenn Sie sicher sind, dass er funktioniert und wenn Sie dieses Format wirklich benötigen.

gdbm | Fügen Sie --with-gdbm[=DIR] hinzu, um die Unterstützung für gdbm zu aktivieren.
db2

Fügen Sie --with-db2[=DIR] hinzu, um die Unterstützung für Oracle Berkeley DB 2 zu aktivieren.

Hinweis:

db2 kollidiert mit db3 und db4.

db3

Fügen Sie --with-db3[=DIR] hinzu, um die Unterstützung für Oracle Berkeley DB 3 zu aktivieren.

Hinweis:

db3 kollidiert mit db2 und db4.

db4

Fügen Sie --with-db4[=DIR] hinzu, um die Unterstützung für Oracle Berkeley DB 4 oder 5 zu aktivieren.

Hinweis:

db4 kollidiert mit db2 und db3.

Hinweis:

Die db4-Option wurde in PHP 4.3.2 hinzugefügt. In früheren PHP-Versionen muss --with-db3=DIR verwendet werden, wobei DIR der Pfad zur db4-Bibliothek ist. Es ist nicht möglich, db ab Version 4.1 mit PHP vor Version 4.3.0 zu verwenden. Darüber hinaus können die db-Bibliotheken von Version 4.1 bis 4.1.24 mit keiner Version von PHP verwendet werden.

Die Unterstützung für BDB 5 wurde in PHP 5.3.3 hinzugefügt.

cdb

Fügen Sie --with-cdb[=DIR] hinzu, um die Unterstützung für cdb zu aktivieren.

Hinweis:

Ab PHP 4.3.0 kann DIR weggelassen werden um die in PHP enthaltene cdb-Bibliothek zu verwenden. Diese fügt den cdb_make-Handler hinzu, mit dem es möglich ist, cdb-Dateien zu erzeugen und über den Datenstrom von PHP auf cdb-Dateien im Netzwerk zuzugreifen.

flatfile

Fügen Sie --with-flatfile hinzu, um die Unterstützung für flatfile zu aktivieren.

Hinweis:

Dies wurde in PHP 4.3.0 für die Kompatibilität mit der veralteten dbm-Erweiterung hinzugefügt. Verwenden Sie diesen Handler nur dann, wenn Sie keine der Bibliotheken installieren können, die von anderen Handlern benötigt werden und den in PHP enthaltenen cdb-Handler nicht verwenden können.

inifile

Fügen Sie --with-inifile hinzu, um die Unterstützung für inifile zu aktivieren.

Hinweis:

Dies wurde in PHP 5.0.0 hinzugefügt und ermöglicht es, .ini-Dateien im Microsoft-Stil (wie z.B. die php.ini) zu lesen und zu schreiben.

qdbm

Fügen Sie --with-qdbm[=DIR] hinzu, um die Unterstützung für qdbm zu aktivieren.

Hinweis:

qdbm kollidiert mit dbm und gdbm.

Hinweis:

Dies wurde in PHP 5.0.0 hinzugefügt. Die qdbm-Bibliothek kann bei » http://fallabs.com/qdbm/index.html heruntergeladen werden.

Hinweis:

Bis PHP 4.3.0 können Sie sowohl db2- als auch db3-Handler hinzufügen, aber nur einer von beiden kann intern verwendet werden. Das bedeutet, dass Sie nicht beide Datei-Formate haben können. Ab PHP 5.0.0 wird bei der Konfiguration eine entsprechende Überprüfung durchgeführt, die eine derartige Fehlkonfiguration verhindert.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

DBA Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
dba.default_handler | DBA_DEFAULT | PHP_INI_ALL |

Hier eine kurze Erklärung der Konfigurationsoptionen:

dba.default_handler string

Der Name der Standard-Verbindungskennung

Installation
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

Die Funktionen dba_open() und dba_popen() geben eine Kennung für den Zugriff auf die angegebene Datenbank-Datei zurück, die bei allen dba-Funktionsaufrufen verwendet wird.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
Beispiele
DBA


Beispiele

Inhaltsverzeichnis

  • Die grundlegende Verwendung
Vordefinierte Konstanten
Die grundlegende Verwendung
DBA


Die grundlegende Verwendung

Beispiel #1 DBA Beispiel

<?php

$id = dba_open("/tmp/test.db", "n", "db2");

if (!$id) {
    echo "dba_open schlug fehl\n";
    exit;
}

dba_replace("schluessel", "Dies ist ein Beispiel!", $id);

if (dba_exists("schluessel", $id)) {
    echo dba_fetch("schluessel", $id);
    dba_delete("schluessel", $id);
}

dba_close($id);
?>

DBA arbeitet binärsicher und besitzt keine willkürlichen Limits. Es erbt allerdings alle Einschränkungen von der zugrundeliegenden Datenbank-Implementation.

Alle dateibasierten Datenbanken müssen, soweit es überhaupt möglich ist, einen Weg zur Verfügung stellen, um den Dateimodus einer neu erstellten Datenbank festzulegen. Der Dateimodus wird gewöhnlich als viertes Argument an die Funktionen dba_open() oder dba_popen() übergeben.

Sie können auf alle Einträge in einer Datenbank sequentiell durch die Verwendung von dba_firstkey() und dba_nextkey() zugreifen. Während die Datenbank so durchlaufen wird, darf sie nicht verändert werden.

Beispiel #2 Durchlaufen einer Datenbank

<?php

// ...Oeffnen der Datenbank...

$schluessel = dba_firstkey($id);

while ($schluessel != false) {
    if (true) {          // den Schluessel fuer spaetere Aktionen merken
        $spaeter_bearbeiten[] = $schluessel;
    }
    $schluessel = dba_nextkey($id);
}

foreach ($spaeter_bearbeiten as $wert) {
    dba_delete($wert, $id);
}

?>

Beispiele
DBA-Funktionen
Beispiele


DBA-Funktionen

Inhaltsverzeichnis

  • dba_close — Schließt eine DBA-Datenbank
  • dba_delete — Löscht den zum angegebenen Schlüssel gehörigen DBA-Eintrag
  • dba_exists — Überprüft, ob ein angegebener Schlüssel existiert
  • dba_fetch — Liest die Daten zu einem angegebenen Schlüssel aus
  • dba_firstkey — Liefert den ersten Schlüssel
  • dba_handlers — Listet alle verfügbaren Handler auf
  • dba_insert — Fügt einen Eintrag ein
  • dba_key_split — Zerlegt einen Schlüssel in Zeichenketten-Darstellung in eine Array-Darstellung
  • dba_list — Listet alle offenen Datenbank-Dateien auf
  • dba_nextkey — Liefert den nachfolgenden Schlüssel
  • dba_open — Öffnet eine Datenbank
  • dba_optimize — Optimiert eine Datenbank
  • dba_popen — Öffnet eine persistente Datenbank-Verbindung
  • dba_replace — Ersetzt einen Eintrag oder fügt ihn ein
  • dba_sync — Synchronisiert eine Datenbank
Die grundlegende Verwendung
dba_close
DBA


Schließt eine DBA-Datenbank

DBA-Funktionen
dba_delete
DBA-Funktionen
PHP Manual

dba_close

(PHP 4, PHP 5, PHP 7)

dba_close — Schließt eine DBA-Datenbank

Beschreibung

void dba_close ( resource $handle )

dba_close() schließt die offene Datenbank und gibt alle Ressourcen der angegebenen Datenbank-Verbindungskennung frei.

Parameter-Liste

handle

Die Datenbank-Verbindungskennung, die von dba_open() oder dba_popen() zurückgegeben wurde.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • dba_open() - Öffnet eine Datenbank
  • dba_popen() - Öffnet eine persistente Datenbank-Verbindung

DBA-Funktionen
dba_delete
DBA-Funktionen


Löscht den zum angegebenen Schlüssel gehörigen DBA-Eintrag

dba_close
dba_exists
DBA-Funktionen
PHP Manual

dba_delete

(PHP 4, PHP 5, PHP 7)

dba_delete — Löscht den zum angegebenen Schlüssel gehörigen DBA-Eintrag

Beschreibung

bool dba_delete ( string $key , resource $handle )

dba_delete() löscht den angegebenen Eintrag aus der Datenbank.

Parameter-Liste

key

Der Schlüssel des zu löschenden Eintrags.

handle

Die Datenbank-Verbindungskennung, die von dba_open() oder dba_popen() zurückgegeben wurde.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • dba_exists() - Überprüft, ob ein angegebener Schlüssel existiert
  • dba_fetch() - Liest die Daten zu einem angegebenen Schlüssel aus
  • dba_insert() - Fügt einen Eintrag ein
  • dba_replace() - Ersetzt einen Eintrag oder fügt ihn ein

dba_close
dba_exists
DBA-Funktionen


Überprüft, ob ein angegebener Schlüssel existiert

dba_delete
dba_fetch
DBA-Funktionen
PHP Manual

dba_exists

(PHP 4, PHP 5, PHP 7)

dba_exists — Überprüft, ob ein angegebener Schlüssel existiert

Beschreibung

bool dba_exists ( string $key , resource $handle )

dba_exists() überprüft, ob der angegebene Schlüssel in der Datenbank existiert.

Parameter-Liste

key

Der Schlüssel, für den die Überprüfung durchgeführt wird.

handle

Die Datenbank-Verbindungskennung, die von dba_open() oder dba_popen() zurückgegeben wurde.

Rückgabewerte

Gibt TRUE zurück, falls der Schlüssel existiert und andernfalls FALSE.

Siehe auch

  • dba_delete() - Löscht den zum angegebenen Schlüssel gehörigen DBA-Eintrag
  • dba_fetch() - Liest die Daten zu einem angegebenen Schlüssel aus
  • dba_insert() - Fügt einen Eintrag ein
  • dba_replace() - Ersetzt einen Eintrag oder fügt ihn ein

dba_delete
dba_fetch
DBA-Funktionen


Liest die Daten zu einem angegebenen Schlüssel aus

dba_exists
dba_firstkey
DBA-Funktionen
PHP Manual

dba_fetch

(PHP 4, PHP 5, PHP 7)

dba_fetch — Liest die Daten zu einem angegebenen Schlüssel aus

Beschreibung

string dba_fetch ( string $key , resource $handle )
string dba_fetch ( string $key , int $skip , resource $handle )

dba_fetch() liest die durch key festgelegten Daten aus der durch handle spezifizierten Datenbank aus.

Parameter-Liste

key

Der Schlüssel, durch den die Daten bestimmt sind.

Hinweis:

Wenn mit ini-Dateien gearbeitet wird, akzeptiert diese Funktion Arrays als Schlüssel, wobei der Index 0 die Gruppe ist und der Index 1 der Name des Wertes. Siehe dba_key_split().

skip

Die Anzahl der Schlüssel-Wert-Paare, die bei cdb-Datenbanken ignoriert werden sollen. Dieser Wert wird bei allen anderen Datenbanken, die keine Unterstützung für mehrere Schlüssel mit dem selben Namen bieten, ignoriert.

handle

Die Datenbank-Verbindungskennung, die von dba_open() oder dba_popen() zurückgegeben wurde.

Rückgabewerte

Falls das Schlüssel/Wert-Paar gefunden wird, wird die zugehörige Zeichenkette zurückgegeben, andernfalls FALSE.

Changelog

Version | Beschreibung
4.3.0 | Der Parameter skip steht zur Verfügung, um die Fähigkeit von cdb zu unterstützen, mehrere Schlüssel mit dem selben Namen haben zu können.

Siehe auch

  • dba_exists() - Überprüft, ob ein angegebener Schlüssel existiert
  • dba_delete() - Löscht den zum angegebenen Schlüssel gehörigen DBA-Eintrag
  • dba_insert() - Fügt einen Eintrag ein
  • dba_replace() - Ersetzt einen Eintrag oder fügt ihn ein
  • dba_key_split() - Zerlegt einen Schlüssel in Zeichenketten-Darstellung in eine Array-Darstellung

dba_exists
dba_firstkey
DBA-Funktionen


Liefert den ersten Schlüssel

dba_fetch
dba_handlers
DBA-Funktionen
PHP Manual

dba_firstkey

(PHP 4, PHP 5, PHP 7)

dba_firstkey — Liefert den ersten Schlüssel

Beschreibung

string dba_firstkey ( resource $handle )

dba_firstkey() gibt den ersten Schlüssel aus der Datenbank zurück und setzt den internen Schlüssel-Zeiger zurück. Dies erlaubt eine sequentielle Suche durch die gesamte Datenbank.

Parameter-Liste

handle

Die Datenbank-Verbindungskennung, die von dba_open() oder dba_popen() zurückgegeben wurde.

Rückgabewerte

Gibt bei Erfolg den Schlüssel zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • dba_nextkey() - Liefert den nachfolgenden Schlüssel
  • dba_key_split() - Zerlegt einen Schlüssel in Zeichenketten-Darstellung in eine Array-Darstellung
  • Beispiel 2 der DBA-Beispiele

dba_fetch
dba_handlers
DBA-Funktionen


Listet alle verfügbaren Handler auf

dba_firstkey
dba_insert
DBA-Funktionen
PHP Manual

dba_handlers

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

dba_handlers — Listet alle verfügbaren Handler auf

Beschreibung

array dba_handlers ([ bool $full_info = false ] )

dba_handlers() listet alle Handler auf, die von dieser Erweiterung unterstützt werden.

Parameter-Liste

full_info

Schaltet die Anzeige der kompletten Information im Ergebnis ein/aus.

Rückgabewerte

Gibt ein Array mit Datenbank-Handlern zurück. Falls full_info auf TRUE gesetzt war, ist es ein assoziatives Array mit den Namen der Handler als Schlüssel und deren Versionsinformationen als Wert. Andernfalls ist das Ergebnis ein indiziertes Array mit den Namen der Handler.

Hinweis:

Falls die interne cdb-Bibliothek verwendet wird, sehen Sie cdb und cdb_make.

Beispiele

Beispiel #1 dba_handlers()-Beispiel

<?php

echo "Verfügbare DBA-Handler:\n";
foreach (dba_handlers(true) as $handler_name => $handler_version) {
  // die Versionen "säubern"
  $handler_version = str_replace('$', '', $handler_version);
  echo " - $handler_name: $handler_version\n";
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Verfügbare DBA-Handler:
 - cdb: 0.75, Revision: 1.3.2.3
 - cdb_make: 0.75, Revision: 1.2.2.4
 - db2: Sleepycat Software: Berkeley DB 2.7.7: (08/20/99)
 - inifile: 1.0, Revision: 1.6.2.3
 - flatfile: 1.0, Revision: 1.5.2.4

dba_firstkey
dba_insert
DBA-Funktionen


Fügt einen Eintrag ein

dba_handlers
dba_key_split
DBA-Funktionen
PHP Manual

dba_insert

(PHP 4, PHP 5, PHP 7)

dba_insert — Fügt einen Eintrag ein

Beschreibung

bool dba_insert ( string $key , string $value , resource $handle )

dba_insert() fügt den Eintrag, der durch key und value beschrieben wird, in die Datenbank ein.

Parameter-Liste

key

Der Schlüssel des einzufügenden Eintrags. Die Aktion schlägt fehl, wenn es den Schlüssel schon in der Datenbank gibt. Verwenden Sie dba_replace(), falls Sie einen vorhandenen Schlüssel ersetzen wollen.

value

Der Wert, der eingefügt werden soll.

handle

Die Datenbank-Verbindungskennung, die von dba_open() oder dba_popen() zurückgegeben wurde.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • dba_exists() - Überprüft, ob ein angegebener Schlüssel existiert
  • dba_delete() - Löscht den zum angegebenen Schlüssel gehörigen DBA-Eintrag
  • dba_fetch() - Liest die Daten zu einem angegebenen Schlüssel aus
  • dba_replace() - Ersetzt einen Eintrag oder fügt ihn ein

dba_handlers
dba_key_split
DBA-Funktionen


Zerlegt einen Schlüssel in Zeichenketten-Darstellung in eine Array-Darstellung

dba_insert
dba_list
DBA-Funktionen
PHP Manual

dba_key_split

(PHP 5, PHP 7)

dba_key_split — Zerlegt einen Schlüssel in Zeichenketten-Darstellung in eine Array-Darstellung

Beschreibung

mixed dba_key_split ( mixed $key )

dba_key_split() zerlegt einen Schlüssel, der in Zeichenketten-Darstellung vorliegt in eine Array-Darstellung.

Parameter-Liste

key

Der Schlüssel in Zeichenketten-Darstellung.

Rückgabewerte

Gibt ein Array der Form array(0 => gruppe, 1 => wert_name) zurück. Falls Schlüssel NULL oder FALSE ist, gibt diese Funktion FALSE zurück.

Siehe auch

  • dba_firstkey() - Liefert den ersten Schlüssel
  • dba_nextkey() - Liefert den nachfolgenden Schlüssel
  • dba_fetch() - Liest die Daten zu einem angegebenen Schlüssel aus

dba_insert
dba_list
DBA-Funktionen


Listet alle offenen Datenbank-Dateien auf

dba_key_split
dba_nextkey
DBA-Funktionen
PHP Manual

dba_list

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

dba_list — Listet alle offenen Datenbank-Dateien auf

Beschreibung

array dba_list ( void )

dba_list() listet alle offenen Datenbank-Dateien auf.

Rückgabewerte

Ein assoziatives Array der Form Ressource-ID => Dateiname.

dba_key_split
dba_nextkey
DBA-Funktionen


Liefert den nachfolgenden Schlüssel

dba_list
dba_open
DBA-Funktionen
PHP Manual

dba_nextkey

(PHP 4, PHP 5, PHP 7)

dba_nextkey — Liefert den nachfolgenden Schlüssel

Beschreibung

string dba_nextkey ( resource $handle )

dba_nextkey() gibt den nachfolgenden Schlüssel aus der Datenbank zurück und erhöht den internen Schlüssel-Zeiger.

Parameter-Liste

handle

Die Datenbank-Verbindungskennung, die von dba_open() oder dba_popen() zurückgegeben wurde.

Rückgabewerte

Gibt bei Erfolg den Schlüssel zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • dba_firstkey() - Liefert den ersten Schlüssel
  • dba_key_split() - Zerlegt einen Schlüssel in Zeichenketten-Darstellung in eine Array-Darstellung
  • Beispiel 2 der DBA-Beispiele

dba_list
dba_open
DBA-Funktionen


Öffnet eine Datenbank

dba_nextkey
dba_optimize
DBA-Funktionen
PHP Manual

dba_open

(PHP 4, PHP 5, PHP 7)

dba_open — Öffnet eine Datenbank

Beschreibung

resource dba_open ( string $path , string $mode [, string $handler [, mixed $... ]] )

dba_open() stellt eine Datenbankinstanz für path mit mode her und benutzt dabei handler.

Parameter-Liste

path

Ein gültiger Pfad in Ihrem Dateisystem.

mode

Das ist r für lesenden Zugriff, w für lesenden und schreibenden Zugriff auf eine existierende Datenbank, c für lesenden und schreibenden Zugriff und Erstellen der Datenbank, falls sie noch nicht existiert und n für das Erstellen einer Datenbank, bzw. deren Zurücksetzen auf die Größe 0, falls sie schon existiert und lesenden und schreibenden Zugriff. Die Datenbank wird im BTree-Modus erzeugt. Andere Modi, wie Hash oder Queue, werden nicht unterstützt.

Zusätzlich können Sie mit dem nächsten Buchstaben die Datenbank-Sperrmethode festlegen. Verwenden Sie l um die Datenbank mit einer .lck-Datei zu sperren oder d um die Datenbank-Datei selbst zu sperren. Es ist wichtig, dass alle Ihre Anwendungen das einheitlich machen.

Falls Sie den Zugriff testen wollen, ohne auf die Sperrung zu warten, können Sie t als dritten Buchstaben anfügen. Wenn Sie sich absolut sicher sind, dass Sie keine Datenbanksperre benötigen, können Sie statt l oder d - verwenden. Wenn weder d oder l noch - verwendet wird, sperrt dba die Datenbank-Datei wie bei Verwendung von d.

Hinweis:

Es kann jeweils nur einen Schreibzugriff auf eine Datenbank-Datei geben. Wenn dba auf einen Webserver verwendet wird und mehr als eine Anfrage Schreibzugriff benötigt, kann nur einer nach dem anderen erledigt werden. Auch das Lesen ist während des Schreibens nicht erlaubt. Die DBA-Erweiterung verwendet Sperren, um dies zu verhindern. Siehe folgende Tabelle:

DBA-Sperrung
schon geöffnet | Modus = "rl" | Modus = "rlt" | Modus = "wl" | Modus = "wlt" | Modus = "rd" | Modus = "rdt" | Modus = "wd" | Modus = "wdt"
nicht geöffnet | OK | OK | OK | OK | OK | OK | OK | OK
Modus = "rl" | OK | OK | warten | FALSE | unzulässig | unzulässig | unzulässig | unzulässig
Modus = "wl" | warten | FALSE | warten | FALSE | unzulässig | unzulässig | unzulässig | unzulässig
Modus = "rd" | unzulässig | unzulässig | unzulässig | unzulässig | OK | OK | warten | FALSE
Modus = "wd" | unzulässig | unzulässig | unzulässig | unzulässig | warten | FALSE | warten | FALSE
  • OK: der zweite Aufruf ist erfolgreich.
  • warten: der zweite Aufruf wartet bis für den ersten dba_close() aufgerufen wird.
  • FALSE: der zweite Aufruf gibt FALSE zurück.
  • unzulässig: Sie dürfen beim Parameter Modus die Modifikatoren "l" und "d" nicht zusammen verwenden.

Handler

Der Name des handlers, der für den Zugriff auf path benutzt werden soll. Er bekommt alle optionalen Argumente, die der Funktion dba_open() mitgegeben wurden, übergeben und kann damit in deren Name verfahren.

Rückgabewerte

Gibt eine positive Verbindungskennung zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
4.3.0 | Es ist möglich, Datenbank-Dateien über eine Netzwerkverbindung zu öffnen. Falls eine Socket-Verbindung verwendet wird (wie bei HTTP oder FTP), wird anstelle der Datenquelle selbst die Verbindung gesperrt. Das ist wichtig zu wissen, weil in einem solchen Fall die Sperrung von der Datenquelle ignoriert wird und eine andere Lösung gefunden werden muss.

Siehe auch

  • dba_popen() - Öffnet eine persistente Datenbank-Verbindung
  • dba_close() - Schließt eine DBA-Datenbank

dba_nextkey
dba_optimize
DBA-Funktionen


Optimiert eine Datenbank

dba_open
dba_popen
DBA-Funktionen
PHP Manual

dba_optimize

(PHP 4, PHP 5, PHP 7)

dba_optimize — Optimiert eine Datenbank

Beschreibung

bool dba_optimize ( resource $handle )

dba_optimize() optimiert die zugrunde liegende Datenbank.

Parameter-Liste

handle

Die Datenbank-Verbindungskennung, die von dba_open() oder dba_popen() zurückgegeben wurde.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • dba_sync() - Synchronisiert eine Datenbank

dba_open
dba_popen
DBA-Funktionen


Öffnet eine persistente Datenbank-Verbindung

dba_optimize
dba_replace
DBA-Funktionen
PHP Manual

dba_popen

(PHP 4, PHP 5, PHP 7)

dba_popen — Öffnet eine persistente Datenbank-Verbindung

Beschreibung

resource dba_popen ( string $path , string $mode [, string $handler [, mixed $... ]] )

dba_popen() stellt eine persistente Datenbankinstanz für path mit mode her und benutzt dabei den Handler handler.

Parameter-Liste

path

Ein gültiger Pfad in Ihrem Dateisystem.

mode

Das ist r für lesenden Zugriff, w für lesenden und schreibenden Zugriff auf eine existierende Datenbank, c für lesenden und schreibenden Zugriff und Erstellen der Datenbank, falls sie noch nicht existiert und n für das Erstellen einer Datenbank, bzw. deren Zurücksetzen auf die Größe 0, falls sie schon existiert und lesenden und schreibenden Zugriff.

handler

Der Name des handlers, der für den Zugriff auf path benutzt werden soll. Er bekommt alle optionalen Argumente, die der Funktion dba_popen() mitgegeben wurden, übergeben und kann damit in deren Name verfahren.

Rückgabewerte

Gibt eine positive Verbindungskennung zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • dba_open() - Öffnet eine Datenbank
  • dba_close() - Schließt eine DBA-Datenbank

dba_optimize
dba_replace
DBA-Funktionen


Ersetzt einen Eintrag oder fügt ihn ein

dba_popen
dba_sync
DBA-Funktionen
PHP Manual

dba_replace

(PHP 4, PHP 5, PHP 7)

dba_replace — Ersetzt einen Eintrag oder fügt ihn ein

Beschreibung

bool dba_replace ( string $key , string $value , resource $handle )

dba_replace() ersetzt in der durch handle spezifizierten Datenbank den Eintrag, der durch key und value beschrieben wird, oder fügt ihn ein.

Parameter-Liste

key

Der Schlüssel des zu ersetzenden Eintrags.

value

Der Wert, der ersetzt werden soll.

Verbindungskennung

Die Datenbank-Verbindungskennung, die von dba_open() oder dba_popen() zurückgegeben wurde.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • dba_exists() - Überprüft, ob ein angegebener Schlüssel existiert
  • dba_delete() - Löscht den zum angegebenen Schlüssel gehörigen DBA-Eintrag
  • dba_fetch() - Liest die Daten zu einem angegebenen Schlüssel aus
  • dba_insert() - Fügt einen Eintrag ein

dba_popen
dba_sync
DBA-Funktionen


Synchronisiert eine Datenbank

dba_replace
dbx
DBA-Funktionen
PHP Manual

dba_sync

(PHP 4, PHP 5, PHP 7)

dba_sync — Synchronisiert eine Datenbank

Beschreibung

bool dba_sync ( resource $handle )

dba_sync() synchronisiert die Datenbank. Dies kann möglicherweise einen physikalischen Schreibvorgang auf den Datenträger auslösen, falls dies unterstützt wird.

Parameter-Liste

handle

Die Datenbank-Verbindungskennung, die von dba_open() oder dba_popen() zurückgegeben wurde.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • dba_optimize() - Optimiert eine Datenbank

dba_replace
dbx
DBA-Funktionen


dbx

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • dbx Funktionen
    • dbx_close — Schließt eine offene Verbindung/Datenbank
    • dbx_compare — Vergleicht zwei Reihen für Sortierzwecke
    • dbx_connect — Öffnet eine Verbindung/Datenbank
    • dbx_error — Liefert die Fehlermeldung des letzten Funktionsaufrufes in dem Modul
    • dbx_escape_string — Maskiert einen String, so dass er sicher in einem SQL-Statement verwendet werden kann
    • dbx_fetch_row — Liest Zeilen aus einem Abfrageergebnis, das das DBX_RESULT_UNBUFFERED-Flag gesetzt hat
    • dbx_query — Sendet eine Abfrage und holt alle Ergebnisse (falls vorhanden)
    • dbx_sort — Sortiert das Ergebnis eines dbx_query mittels einer benutzerdefinierten Sortierfunktion
dba_sync
Einführung
Abstraktionsebenen


Einführung

Bei der dbx Extension handelt es sich um eine Datenbankabstraktionsschicht (db 'X', wobei 'X' stellvertretend für eine der unterstützten Datenbanken steht). Die dbx Funktionen ermöglichen den Zugriff auf alle unterstützten Datenbanken über eine einheitliche Aufrufkonvention. Die dbx Funktionen selbst greifen nicht direkt auf die jeweilige Datenbank zu sondern nur auf die Module die die jeweilige Datenbank unterstützen.

Hinweis:

Diese Erweiterung wurde ins » PECL-Repositorium verschoben und ist nicht mehr Teil von PHP ab PHP 5.1.0.

dbx
Installation/Konfiguration
dbx


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
dbx


Anforderungen

Um eine Datenbank über die dbx Extension ansprechen zu können muss die entsprechende Datenbankextension entweder in PHP einkompiliert oder geladen sein und von dbx unterstützt werden. Zur Zeit werden folgende Datenbanken unterstützt, andere werden folgen:

  • FrontBase (Verfügbar ab PHP 4.1.0).
  • Microsoft SQL Server
  • MySQL
  • ODBC
  • PostgreSQL
  • Sybase-CT (Verfügbar ab PHP 4.2.0).
  • Oracle (oci8) (Verfügbar ab PHP 4.3.0).
  • SQLite (PHP 5).

Die zum Hinzufügen weiterer Datenbanken nötigen Informationen können unter » http://www.guidance.nl/php/dbx/doc/ gefunden werden.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Die dbx Funktionen sind nur verfügbar wenn PHP mit dbx Unterstützung, also mit --enable-dbx kompiliert wurde. Für die jeweiligen zu unterstützenden Datenbanken müssen weitere Konfigurationen angegeben werden. Für MySQL Unterstützung muss z.B. auch --with-mysql=[DIR] angegeben werde. Informationen zur Aktivierung der Treiber anderer unterstützter Datenbanken finden sich in der Dokumentation zur jeweiligen Datenbank.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

DBX Configuration Options
Name | Standard | Veränderbar | Changelog
dbx.colnames_case | "unchanged" | PHP_INI_SYSTEM | Verfügbar seit PHP 4.3.0. Entfernt ab PHP 5.1.0.
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

dbx.colnames_case string

Spaltennamen können unverändert ("unchanged") zurückgegeben werden oder in Groß- ("uppercase") oder Kleinbuchstaben ("lowercase") umgewandelt werden. Diese Einstellung kann über ein Flag der dbx_query() gesteuert werden.

Installation
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

Die dbx Extension definiert zwei Resource-Typen. Der erste ist das Verbindungsobjekt zur Datenbank, das zweite verwaltet das Ergebnis einer Abfrage.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

DBX_MYSQL (integer)
DBX_ODBC (integer)
DBX_PGSQL (integer)
DBX_MSSQL (integer)
DBX_FBSQL (integer)
DBX_OCI8 (integer) (available from PHP 4.3.0)
DBX_SYBASECT (integer)
DBX_SQLITE (integer) (PHP 5)
DBX_PERSISTENT (integer)
DBX_RESULT_INFO (integer)
DBX_RESULT_INDEX (integer)
DBX_RESULT_ASSOC (integer)
DBX_RESULT_UNBUFFERED (integer) (PHP 5)
DBX_COLNAMES_UNCHANGED (integer) (available from PHP 4.3.0)
DBX_COLNAMES_UPPERCASE (integer) (available from PHP 4.3.0)
DBX_COLNAMES_LOWERCASE (integer) (available from PHP 4.3.0)
DBX_CMP_NATIVE (integer)
DBX_CMP_TEXT (integer)
DBX_CMP_NUMBER (integer)
DBX_CMP_ASC (integer)
DBX_CMP_DESC (integer)
Ressource-Typen
dbx Funktionen
dbx


dbx Funktionen

Inhaltsverzeichnis

  • dbx_close — Schließt eine offene Verbindung/Datenbank
  • dbx_compare — Vergleicht zwei Reihen für Sortierzwecke
  • dbx_connect — Öffnet eine Verbindung/Datenbank
  • dbx_error — Liefert die Fehlermeldung des letzten Funktionsaufrufes in dem Modul
  • dbx_escape_string — Maskiert einen String, so dass er sicher in einem SQL-Statement verwendet werden kann
  • dbx_fetch_row — Liest Zeilen aus einem Abfrageergebnis, das das DBX_RESULT_UNBUFFERED-Flag gesetzt hat
  • dbx_query — Sendet eine Abfrage und holt alle Ergebnisse (falls vorhanden)
  • dbx_sort — Sortiert das Ergebnis eines dbx_query mittels einer benutzerdefinierten Sortierfunktion
Vordefinierte Konstanten
dbx_close
dbx


Schließt eine offene Verbindung/Datenbank

dbx Funktionen
dbx_compare
dbx Funktionen
PHP Manual

dbx_close

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)

dbx_close — Schließt eine offene Verbindung/Datenbank

Beschreibung

int dbx_close ( object $link_identifier )

Parameter-Liste

link_identifier

Das zu schließende DBX-Zeiger-Objekt.

Rückgabewerte

Gibt im Erfolgsfall 1 und im Fehlerfall 0 zurück.

Beispiele

Beispiel #1 dbx_close()-Beispiel

<?php
$link = dbx_connect(DBX_MYSQL, "localhost", "db", "username", "password")
    or die("Fehler beim Verbinden");

echo "Verbindung hergestellt";
dbx_close($link);
?>

Anmerkungen

Hinweis:

Konsultieren Sie bitte auch die modulspezifische Dokumentation.

Siehe auch

  • dbx_connect() - Öffnet eine Verbindung/Datenbank

dbx Funktionen
dbx_compare
dbx Funktionen


Vergleicht zwei Reihen für Sortierzwecke

dbx_close
dbx_connect
dbx Funktionen
PHP Manual

dbx_compare

(PHP 4 >= 4.1.0, PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)

dbx_compare — Vergleicht zwei Reihen für Sortierzwecke

Beschreibung

int dbx_compare ( array $row_a , array $row_b , string $column_key [, int $flags = DBX_CMP_ASC | DBX_CMP_NATIVE ] )

dbx_compare() ist eine Hilfsfunktion für dbx_sort(), um das Erstellen bzw. Verwenden benutzerdefinierter Sortierfunktionen zu vereinfachen.

Parameter-Liste

row_a

Erste Reihe

row_b

Zweite Reihe

column_key

Die verglichene Spalte

flags

Der Parameter flags kann angegeben werden, um die Vergleichsrichtung:

  • DBX_CMP_ASC - aufsteigende Reihenfolge
  • DBX_CMP_DESC - absteigende Reihenfolge
und den bevorzugten Vergleichstyp zu spezifizieren:
  • DBX_CMP_NATIVE - keine Typkonvertierung
  • DBX_CMP_TEXT - vergleicht die Werte als Strings
  • DBX_CMP_NUMBER - vergleicht die Werte numerisch
Eine der Vergleichs- und eine der Typkonstanten kann mit dem Bit-Operator OR (|) kombiniert werden.

Rückgabewerte

Gibt 0 zurück, wenn row_a[$column_key] gleich row_b[$column_key] ist. Ist der erste Wert größer oder kleiner als der zweite, wird 1 bzw. -1 zurückgegeben (oder umgekehrt, wenn der Parameter flag auf DBX_CMP_DESC gesetzt ist).

Beispiele

Beispiel #1 dbx_compare()-Beispiel

<?php
function user_re_order($a, $b)
{
    $rv = dbx_compare($a, $b, "parentid", DBX_CMP_DESC);
    if (!$rv) {
        $rv = dbx_compare($a, $b, "id", DBX_CMP_NUMBER);
    }
    return $rv;
}

$link   = dbx_connect(DBX_ODBC, "", "db", "username", "password")
    or die("Fehler beim Verbinden");

$result = dbx_query($link, "SELECT id, parentid, description FROM table ORDER BY id");
    // Die Daten in $result sind nun nach id sortiert

dbx_sort($result, "user_re_order");
    // Die Daten in $result sind nun nach parentid (absteigend) sortiert,
    // dann nach id

dbx_close($link);
?>

Siehe auch

  • dbx_sort() - Sortiert das Ergebnis eines dbx_query mittels einer benutzerdefinierten Sortierfunktion

dbx_close
dbx_connect
dbx Funktionen


Öffnet eine Verbindung/Datenbank

dbx_compare
dbx_error
dbx Funktionen
PHP Manual

dbx_connect

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)

dbx_connect — Öffnet eine Verbindung/Datenbank

Beschreibung

object dbx_connect ( mixed $module , string $host , string $database , string $username , string $password [, int $persistent ] )

Öffnet eine Verbindung zu einer Datenbank.

Parameter-Liste

module

Der Parameter module kann entweder einen String, oder eine Konstante enthalten, wobei letztere Form präferiert wird. Die möglichen Werte sind nachstehend aufgelistet, aber bedenken Sie bitte, dass diese nur funktionieren, wenn das Modul gerade geladen ist.

  • DBX_MYSQL oder "mysql"
  • DBX_ODBC oder "odbc"
  • DBX_PGSQL oder "pgsql"
  • DBX_MSSQL oder "mssql"
  • DBX_FBSQL oder "fbsql"
  • DBX_SYBASECT oder "sybase_ct"
  • DBX_OCI8 oder "oci8"
  • DBX_SQLITE oder "sqlite"

host

Der Host des SQL-Servers

database

Der Datenbankname

username

Der Username

password

Das Passwort

persistent

Der persistent-Parameter kann auf DBX_PERSISTENT gesetzt werden. In diesem Fall wird eine persistente Verbindung aufgebaut.

Die Parameter host, database, username und password werden erwartet, werden aber abhängig von den Verbindungsfunktionen für das abstrahierte Modul nicht immer verwendet.

Rückgabewerte

Gibt im Erfolgsfall ein Objekt, im Fehlerfall FALSE zurück. Wenn eine Verbindung hergestellt, jedoch keine Datenbank ausgewählt werden konnte, wird die Verbindung geschlossen und FALSE zurückgegeben.

Das zurückgegebene object hat drei Eigenschaften:

database
Der Name der aktuell ausgewählten Datenbank.
handle

Ein gültiges Handle für die verbundene Datenbank, und als solches kann es wenn nötig auch in modulspezifischen Funktionen verwendet werden.

<?php
$link = dbx_connect(DBX_MYSQL, "localhost", "db", "username", "password");
mysql_close($link->handle); // dbx_close($link) wäre hier besser
?>

module
Die oben erwähnte Modulnummer. Wird ausschließlich dbx-intern verwendet.

Changelog

Version | Beschreibung
5.0.0 | DBX_SQLITE eingeführt.
4.3.0 | DBX_OCI8 eingeführt.
4.2.0 | DBX_SYBASECT eingeführt.
4.1.0 | DBX_FBSQL eingeführt.

Beispiele

Beispiel #1 dbx_connect()-Beispiel

<?php
$link = dbx_connect(DBX_ODBC, "", "db", "username", "password", DBX_PERSISTENT)
    or die("Fehler beim Verbinden");

echo "Verbindung hergestellt";
dbx_close($link);
?>

Anmerkungen

Hinweis:

Konsultieren Sie bitte auch die modulspezifische Dokumentation.

Siehe auch

  • dbx_close() - Schließt eine offene Verbindung/Datenbank

dbx_compare
dbx_error
dbx Funktionen


Liefert die Fehlermeldung des letzten Funktionsaufrufes in dem Modul

dbx_connect
dbx_escape_string
dbx Funktionen
PHP Manual

dbx_error

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)

dbx_error — Liefert die Fehlermeldung des letzten Funktionsaufrufes in dem Modul

Beschreibung

string dbx_error ( object $link_identifier )

dbx_error() gibt die letzte Fehlermeldung zurück.

Parameter-Liste

link_identifier

Das DBX Link-Objekt, das von dbx_connect() zurückgegeben wurde.

Rückgabewerte

Gibt eine Zeichenkette mit der Fehlermeldung des letzten Funktionsaufrufes von dem abstrahierten Modul (z.B. MySQL-Modul) zurück. Bestehen mehrere Verbindungen im gleichen Modul, wird nur der letzte Fehler zurückgegeben. Bestehen Verbindungen zu verschiedenen Modulen, wird der letzte Fehler von dem im Parameter link_identifier angegebenen Modul zurückgegeben.

Beispiele

Beispiel #1 dbx_error()-Beispiel

<?php
$link   = dbx_connect(DBX_MYSQL, "localhost", "db", "username", "password")
    or die("Fehler beim Verbinden");

$result = dbx_query($link, "select id from non_existing_table");
if ($result == 0) {
    echo dbx_error($link);
}
dbx_close($link);
?>

Anmerkungen

Hinweis:

Konsultieren Sie bitte auch die modulspezifische Dokumentation.

Die Fehlermeldung des Microsoft SQL-Server ist übrigens das Ergebnis der Funktion mssql_get_last_message().

Die Fehlermeldung für Oracle (oci8) ist noch nicht implementiert.

dbx_connect
dbx_escape_string
dbx Funktionen


Maskiert einen String, so dass er sicher in einem SQL-Statement verwendet werden kann

dbx_error
dbx_fetch_row
dbx Funktionen
PHP Manual

dbx_escape_string

(PHP 4 >= 4.3.0, PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)

dbx_escape_string — Maskiert einen String, so dass er sicher in einem SQL-Statement verwendet werden kann

Beschreibung

string dbx_escape_string ( object $link_identifier , string $text )

Maskiert die übergebene Zeichenkette, so dass sie sicher in einem SQL-Statement verwendet werden kann.

Parameter-Liste

link_identifier

Das DBX-Link-Objekt, das von dbx_connect() zurückgegeben wurde.

text

Der zu maskierende String.

Rückgabewerte

Gibt den Text zurück, an dessen notwendigen Stellen (Hochkommata, Backslashes etc.) eine Maskierung durchgeführt wurde. Im Fehlerfall wird NULL zurückgegeben.

Beispiele

Beispiel #1 dbx_escape_string()-Beispiel

<?php
$link   = dbx_connect(DBX_MYSQL, "localhost", "db", "username", "password")
    or die("Could not connect");

$text = dbx_escape_string($link, "It\'s quoted and backslashed (\\).");
$result = dbx_query($link, "insert into tbl (txt) values ('" . $text . "')");
if ($result == 0) {
    echo dbx_error($link);
}
dbx_close($link);
?>

Siehe auch

  • dbx_query() - Sendet eine Abfrage und holt alle Ergebnisse (falls vorhanden)

dbx_error
dbx_fetch_row
dbx Funktionen


Liest Zeilen aus einem Abfrageergebnis, das das DBX_RESULT_UNBUFFERED-Flag gesetzt hat

dbx_escape_string
dbx_query
dbx Funktionen
PHP Manual

dbx_fetch_row

(PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)

dbx_fetch_row — Liest Zeilen aus einem Abfrageergebnis, das das DBX_RESULT_UNBUFFERED-Flag gesetzt hat

Beschreibung

mixed dbx_fetch_row ( object $result_identifier )

dbx_fetch_row() liest Zeilen von einem Resulthandle, das das DBX_RESULT_UNBUFFERED-Flag gesetzt hat.

Wenn DBX_RESULT_UNBUFFERED in der Abfrage nicht gesetzt wurde, schlägt dbx_fetch_row() fehl, da alle Zeilen bereits abgeholt und in der data-Eigenschaft gespeichert wurden.

Als ein Seiteneffekt wird die rows-Eigenschaft des Abfrageergebnis-Objekts bei jedem erfolgreichen Aufruf von dbx_fetch_row() hochgezählt.

Parameter-Liste

result_identifier

Ein Resultset, das von dbx_query() zurückgegeben wurde.

Rückgabewerte

Gibt bei Erfolg ein Objekt zurück, das die selben Informationen enthält, wie eine Reihe der dbx_query()-Ergebniseigenschaft data sie haben würde. Dies beinhaltet auch den Spaltenzugriff via Index oder Feldnamen, wenn die Flags für dbx_query() entsprechend gesetzt wurden.

Sofern ein Fehler auftrat, wird 0 zurückgegeben (z.B wenn keine weiteren Zeilen mehr verfügbar sind).

Beispiele

Beispiel #1 Den Rückgabewert richtig verarbeiten

<?php
$result = dbx_query($link, 'SELECT id, parentid, description FROM table', DBX_RESULT_UNBUFFERED);

echo "<table>\n";
while ($row = dbx_fetch_row($result)) {
    echo "<tr>\n";
    foreach ($row as $field) {
        echo "<td>$field</td>";
    }
    echo "</tr>\n";
}
echo "</table>\n";
?>

Siehe auch

  • dbx_query() - Sendet eine Abfrage und holt alle Ergebnisse (falls vorhanden)

dbx_escape_string
dbx_query
dbx Funktionen


Sendet eine Abfrage und holt alle Ergebnisse (falls vorhanden)

dbx_fetch_row
dbx_sort
dbx Funktionen
PHP Manual

dbx_query

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)

dbx_query — Sendet eine Abfrage und holt alle Ergebnisse (falls vorhanden)

Beschreibung

object dbx_query ( object $link_identifier , string $sql_statement [, long $flags ] )

dbx_query() gibt bei Erfolg ein Objekt oder 1 zurück, oder 0 im Fehlerfall. Das Objekt wird nur zurückgegeben, wenn die in sql_statement angegebene Abfrage eine Ergebnisliste liefert.

Beispiel #1 Wie mit dem gelieferten Wert umgegangen wird

<?php
$link   = dbx_connect(DBX_ODBC, "", "db", "username", "password")
    or die("Fehler beim Verbinden");

$result = dbx_query($link, 'SELECT id, parentid, description FROM table');

if ( is_object($result) ) {
    // ... tue hier irgendetwas, detaillierte Beispiele siehe unten ...
    // erst die Ausgabe der Feldnamen und Typen
    // dann die Ausgabe einer Tabelle mit den gelieferten Werten
}
else if ( $result == 1 ) {
    echo("Abfrage wurde erfolgreich ausgeführt, jedoch keine Ergebnisse");
}
else {
    exit("Fehler bei Abfrage");
}

dbx_close($link);
?>

Der Parameter flags wird verwendet, um die Menge der zu liefernden Informationen zu steuern. Die folgenden Konstanten können mit dem Bit-Operator (|) beliebig kombiniert werden. Die Flags DBX_COLNAMES_* heben die Einstellungen dbx.colnames_case in der php.ini auf.

DBX_RESULT_INDEX
Dieser Flag ist immer gesetzt, d.h. dass zurückgegebene Objekt hat eine Eigenschaft data, welche aus einem zweidimensionalen, numerisch indizierten Array besteht. Zum Beispiel steht in data[2][3] die 2 für die Reihen- (bzw. Datensatz-) Nummer, und 3 steht für die Spalten- (bzw. Feld- Nummer). Die erste Reihe und Spalte haben den Index 0. Ist DBX_RESULT_ASSOC ebenfalls angegeben, so enthält das zurückgegebene Objekt auch Informationen im Zusammenhang mit DBX_RESULT_INFO, selbst wenn es nicht angegeben wurde.
DBX_RESULT_INFO
Liefert Informationen über Spalten, wie Feldnamen und Feldtypen.
DBX_RESULT_ASSOC
Dies bewirkt, dass in der data Eigenschaft des zurückgegebenen Objektes auf die Werte eines Feldes mit den entsprechenden Spaltennamen als Schlüssel zugegriffen werden kann. Assoziierte Ergebnisse sind eigentlich Referenzen zu den numerisch indizierten Daten, weshalb eine Änderung von data[0][0] auch den Inhalt von data[0]['feldname_für_erste_spalte'] betrifft.
DBX_COLNAMES_UNCHANGED (available from PHP 4.3.0)
The case of the returned column names will not be changed.
DBX_COLNAMES_UPPERCASE (available from PHP 4.3.0)
The case of the returned column names will be changed to uppercase.
DBX_COLNAMES_LOWERCASE (available from PHP 4.3.0)
The case of the returned column names will be changed to lowercase.
Beachten Sie, dass DBX_RESULT_INDEX unabhängig von dem aktuell verwendeten Wert des Parameters flags immer verwendet wird. Das heißt, dass es effektiv nur die folgenden Kombinationen gibt:
  • DBX_RESULT_INDEX
  • DBX_RESULT_INDEX | DBX_RESULT_INFO
  • DBX_RESULT_INDEX | DBX_RESULT_INFO | DBX_RESULT_ASSOC - dies ist Standard, wenn flags nicht angegeben ist.

Das zurückgegebene Objekt hat abhängig von flags vier oder fünf Eigenschaften:

handle

Das ein gültiges Handle für die verbundene Datenbank, und als solche kann es (wenn nötig) auch in modulspezifischen Funktionen verwendet werden.

$result = dbx_query ($link, "SELECT id FROM table");
mysql_field_len ($result->handle, 0);

cols und rows

Diese enthalten die Anzahl der Spalten (oder Felder) bzw. Reihen (oder Datensätze).

$result = dbx_query ($link, 'SELECT id FROM table');
echo $result->rows; // Anzahl der Datensätze
echo $result->cols; // Anzahl der Felder

info (optional)
Dies wird nur zurückgegeben, wenn im Parameter flags entweder DBX_RESULT_INFO oder DBX_RESULT_ASSOC spezifiziert sind. Es ist ein zweidimensionales Array mit zwei Reihen (name und type), welches die Spalteninformationen enthält.

Beispiel #2 Auflistung von Name und Typ jedes Feldes

$result = dbx_query ($link, 'SELECT id FROM table',
                     DBX_RESULT_INDEX | DBX_RESULT_INFO);

for ($i = 0; $i < $result->cols; $i++ ) {
    echo $result->info['name'][$i] . "\n";
    echo $result->info['type'][$i] . "\n";
}
data
Diese Eigenschaft enthält die aktuellen Ergebnisdaten, möglicherweise auch mit den Spaltennamen assoziiert, was jedoch vom Parameter flags abhängig ist. Wenn DBX_RESULT_ASSOC gesetzt ist, können Sie $result->data[2]["feldname"] verwenden.

Beispiel #3 Ausgabe des Inhaltes der data Eigenschaft in eine HTML Tabelle

$result = dbx_query ($link, 'SELECT id, parentid, description FROM table');

echo "<table>\n";
foreach ( $result->data as $row ) {
    echo "<tr>\n";
    foreach ( $row as $field ) {
        echo "<td>$field</td>";
    }
    echo "</tr>\n";
}
echo "</table>\n";

Hinweis:

Konsultieren Sie bitte auch die modulspezifische Dokumentation.

Spaltennamen für Abfragen an einer Oracle Datenbank werden in Kleinbuchstaben zurückgegeben.

Siehe auch dbx_escape_string() und dbx_connect().

dbx_fetch_row
dbx_sort
dbx Funktionen


Sortiert das Ergebnis eines dbx_query mittels einer benutzerdefinierten Sortierfunktion

dbx_query
ODBC
dbx Funktionen
PHP Manual

dbx_sort

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)

dbx_sort — Sortiert das Ergebnis eines dbx_query mittels einer benutzerdefinierten Sortierfunktion

Beschreibung

bool dbx_sort ( object $result , string $user_compare_function )

Sortiert das Ergebnis eines dbx_query()-Aufrufs mit einer benutzerdefinierten Sortierfunktion.

Parameter-Liste

result

Ein Resultset, das von dbx_query() zurückgegeben wurde.

user_compare_function

Die benutzerdefinierte Vergleichsfunktion. Diese muss zwei Argumente akzeptieren und einen Integer kleiner, größer oder gleich null zurückgeben, wenn das erste Argument entsprechend als kleiner, größer oder gleich dem zweiten Argument betrachtet wird.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 dbx_sort()-Beispiel

<?php
function user_re_order($a, $b)
{
    $rv = dbx_compare($a, $b, "parentid", DBX_CMP_DESC);
    if (!$rv) {
        $rv = dbx_compare($a, $b, "id", DBX_CMP_NUMBER);
    }
    return $rv;
}

$link   = dbx_connect(DBX_ODBC, "", "db", "username", "password")
    or die("Fehler beim Verbinden");

$result = dbx_query($link, "SELECT id, parentid, description FROM tbl ORDER BY id");
    // Die Daten in $result sind nun nach id geordnet

dbx_sort($result, "user_re_order");
    // Die Daten in $result sind nun nach parentid (absteigend) geordnet,
    // dann nach id

dbx_close($link);
?>

Anmerkungen

Hinweis:

Es ist immer besser, wenn irgend möglich die ORDER_BY SQL-Klausel statt der Funktion dbx_sort() zu verwenden.

Siehe auch

  • dbx_compare() - Vergleicht zwei Reihen für Sortierzwecke

dbx_query
ODBC
dbx Funktionen


ODBC (Unified)

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • ODBC Funktionen
    • odbc_autocommit — Ändert das Autocommit-Verhalten
    • odbc_binmode — Die Behandlung von Binärdaten
    • odbc_close_all — Beendet alle ODBC-Verbindungen
    • odbc_close — Beendet eine ODBC-Verbindung
    • odbc_columnprivileges — Liefert eine Ergebnis-Resource zurück, die eine Liste von Spalten und damit verbundenen Rechten enthält.
    • odbc_columns — Lists the column names in specified tables
    • odbc_commit — Führt eine ODBC-Transaktion aus
    • odbc_connect — Baut die Verbindung zu einer ODBC-Datenquelle auf
    • odbc_cursor — Findet den Cursornamen heraus
    • odbc_data_source — Returns information about a current connection
    • odbc_do — Ein Synonym für odbc_exec
    • odbc_error — Get the last error code
    • odbc_errormsg — Get the last error message
    • odbc_exec — Bereitet einen SQL-Befehl auf und führt ihn aus
    • odbc_execute — Führt ein vorbereiteten SQL-Befehl aus
    • odbc_fetch_array — Fetch a result row as an associative array
    • odbc_fetch_into — Eine Ergebniszeile in ein Array stellen
    • odbc_fetch_object — Fetch a result row as an object
    • odbc_fetch_row — Liefert eine Datenzeile zurück
    • odbc_field_len — Bestimmt die Länge eines Feldes
    • odbc_field_name — Liefert die Spaltenbezeichnung
    • odbc_field_num — Liefert die Spaltennummer für eine Spaltenbezeichnung
    • odbc_field_precision — Alias von odbc_field_len
    • odbc_field_scale — Get the scale of a field
    • odbc_field_type — Liefert den Datentyp eines Feldes
    • odbc_foreignkeys — Retrieves a list of foreign keys
    • odbc_free_result — Gibt den durch ein Abfrageergebnis belegten Speicher wieder frei
    • odbc_gettypeinfo — Retrieves information about data types supported by the data source
    • odbc_longreadlen — Steuert die Nutzung von LONG-Spalten
    • odbc_next_result — Checks if multiple results are available
    • odbc_num_fields — Liefert die Anzahl der Ergebnisspalten
    • odbc_num_rows — Ergibt die Zeilenzahl des Abfrageergebnisses
    • odbc_pconnect — Öffnet eine persistente Datenbankverbindung
    • odbc_prepare — Stellt einen SQL-Befehl zur Ausführung bereit
    • odbc_primarykeys — Gets the primary keys for a table
    • odbc_procedurecolumns — Retrieve information about parameters to procedures
    • odbc_procedures — Get the list of procedures stored in a specific data source
    • odbc_result_all — Gibt das aktuelle Abfrageergebnis als HTML-Tabelle aus
    • odbc_result — Erlaubt den Zugriff auf die Ergebnisdaten
    • odbc_rollback — Hebt eine Transaktion wieder auf
    • odbc_setoption — Verändert die ODBC-Einstellungen
    • odbc_specialcolumns — Retrieves special columns
    • odbc_statistics — Retrieve statistics about a table
    • odbc_tableprivileges — Lists tables and the privileges associated with each table
    • odbc_tables — Get the list of table names stored in a specific data source
dbx_sort
Einführung
Abstraktionsebenen


Einführung

Zusätzlich zur normalen ODBC Unterstützung bieten die Unified ODBC Funktionen in PHP Zugriff auf Datenbanken die bei der Implementierung ihrer eigenen APIs die Semantik dem ODBC API entliehen haben. Statt mehrere beinahe identische Datenbankerweiterungen zu pflegen wurden all diese Treiber zu einem vereinheitlichten Satz von ODBC Funktione verschmolzen.

Die folgenden Datenbanken werden von Unified ODBC unterstützt: » Adabas D, » IBM DB2, » iODBC, » Solid, and » Sybase SQL Anywhere.

Hinweis:

Mit Ausnahme von iODBC erfolgt der Zugriff auf die genannten Datenbanken ohne das ODBC selbst benötigt wird. Die Funktionen greifen direkt auf die jeweilige Datenbank zu, bieten aber die gleichen Funktionsnamen und Parameter wie die entsprechenden ODBC Funktionen. Wird PHP dagegen mit iODBC Unsterstützung kompiliert so ist es möglich jeden ODBC-konforme Treiber aus PHP Applikationen heraus zu nutzen. Weitere Informationen zu iODBC finden sich unter » www.iodbc.org und der Alternative unixODBC » www.unixodbc.org.

ODBC
Installation/Konfiguration
ODBC


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
ODBC


Anforderungen

To access any of the supported databases you need to have the required libraries installed.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

--with-adabas[=DIR]

Aktiviert Adabas D Unterstützung. DIR ist das Adabas Installationsverzeichnis oder /usr/local wenn nicht angegeben.

--with-sapdb[=DIR]

Aktiviert SAP DB Unterstützung. DIR ist das SAP DB Installationsverzeichnis oder /usr/local wenn nicht angegeben.

--with-solid[=DIR]

Aktiviert Solid Unterstützung. DIR ist das Solid Installationsverzeichnis oder /usr/local/solid wenn nicht angegeben.

--with-ibm-db2[=DIR]

Aktiviert IBM DB2 Unterstützung. DIR ist das IBM DB2 Installationsverzeichnis oder /home/db2inst1/sqllib wenn nicht angegeben.

--with-empress[=DIR]

Aktiviert Empress Unterstützung. DIR ist das Empress Installationsverzeichnis oder $EMPRESSPATH wenn nicht angegeben. Beginnend mit PHP 4 wird nur noch Empress Version 8.60 oder größer unterstützt.

--with-empress-bcs[=DIR]

Aktiviert Empress Local Access Unterstützung. DIR ist das Empress Installationsverzeichnis oder $EMPRESSPATH wenn nicht angegeben. Beginnend mit PHP 4 wird nur noch Empress Version 8.60 oder größer unterstützt.

--with-birdstep[=DIR]

Aktiviert Birdstep Unterstützung. DIR ist das Birdstep Installationsverzeichnis oder /usr/local/birdstep wenn nicht angegeben.

--with-custom-odbc[=DIR]

Aktiviert benutzerdefinierte ODBC Unterstützung. DIR ist das ODBC Installationsverzeichnis oder /usr/local. Es muss sichergestellt werden das CUSTOM_ODBC_LIBS definert ist und das eine odbc.h Datei im Includepfad existiert. Für Sybase SQL Anywhere 5.5.00 sollte z.B. folgendes vor dem configure Aufruf folgende Environmentvariablen gesetzt werden:

   CPPFLAGS="-DODBC_QNX -DSQLANY_BUG"
   LDFLAGS=-lunix
   CUSTOM_ODBC_LIBS="-ldblib -lodbc".

--with-iodbc[=DIR]

Aktiviert iODBC Unterstützung. DIR ist das iODBC Installationsverzeichnis oder /usr/local wenn nicht angegeben.

--with-esoob[=DIR]

Aktiviert Easysoft OOB support. DIR ist das OOB Installationsverzeichnis oder /usr/local/easysoft/oob/client wenn nicht angegeben.

--with-unixODBC[=DIR]

Aktiviert unixODBC Unterstützung. DIR ist das unixODBC Installationsverzeichnis oder /usr/local wenn nicht angegeben.

--with-openlink[=DIR]

Aktiviert OpenLink ODBC Unterstützung. DIR ist das OpenLink Installationsverzeichnis oder /usr/local wenn nicht angegeben. Dieses Modul entspricht iODBC.

--with-dbmaker[=DIR]

Aktiviert DBMaker Unterstützung. DIR ist das DBMaker Installationsverzeichnis oder das Verzeichnis in dem die neueste DBMaker Version installiert ist wenn nicht angegeben (z.B. /home/dbmaker/3.6).

Die Windowsversion von PHP enthält diese Erweiterung. Um diese Funktionen zu verwenden, müssen Sie keine zusätzlichen Erweiterungen aktivieren.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Unified ODBC-Konfigurationsoptionen
Name | Standard | Änderbar | Changelog
odbc.default_db * | NULL | PHP_INI_ALL |
odbc.default_user * | NULL | PHP_INI_ALL |
odbc.default_pw * | NULL | PHP_INI_ALL |
odbc.allow_persistent | "1" | PHP_INI_SYSTEM |
odbc.check_persistent | "1" | PHP_INI_SYSTEM |
odbc.max_persistent | "-1" | PHP_INI_SYSTEM |
odbc.max_links | "-1" | PHP_INI_SYSTEM |
odbc.defaultlrl | "4096" | PHP_INI_ALL |
odbc.defaultbinmode | "1" | PHP_INI_ALL |
odbc.default_cursortype | "3" | PHP_INI_ALL | Verfügbar ab PHP 5.3.0

Hinweis: Mit * markierte Optionen sind noch nicht implementiert.

Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

odbc.default_db string

Zu verwendende ODBC-Datenquelle, falls keine mit odbc_connect() oder odbc_pconnect() angegeben wurde.

odbc.default_user string

Zu verwendender Benutzername, falls keiner in odbc_connect() oder odbc_pconnect() angegeben wurde.

odbc.default_pw string

Zu verwendendes Passwort, falls keines in odbc_connect() oder odbc_pconnect() angegeben wurde.

odbc.allow_persistent boolean

Gibt an, ob persistente ODBC-Verbindungen möglich sein sollen.

odbc.check_persistent boolean

Prüft vor der Benutzung, ob eine persistente Verbindung noch gültig ist.

odbc.max_persistent integer

Die maximale Anzahl persistenter ODBC-Verbindungen je Prozess.

odbc.max_links integer

Die maximale Anzahl der ODBC-Verbindungen je Prozess (inklusive persistenter Verbindungen).

odbc.defaultlrl integer

Behandlung von LONG-Feldern. Gibt die Anzahl der Bytes an, die an Variablen zurückgegeben werden.

Wird ein integer-Wert verwendet, wird dieser Wert in Bytes gemessen. Sie können auch die Kurzschreibweise verwenden, wie in dieser FAQ beschrieben.
odbc.defaultbinmode integer

Handhabung binärer Daten.

odbc.default_cursortype integer

Bestimmt das ODBC-Cursormodell. Mögliche Werte sind SQL_CURSOR_FORWARD_ONLY, SQL_CURSOR_KEYSET_DRIVEN, SQL_CURSOR_DYNAMIC und SQL_CURSOR_STATIC (Standardwert).

Installation
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

Diese Extension definiert zwei Resourcetypen für ODBC Verbindungen und ODBC Abfrageergebnisse.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

ODBC_TYPE (integer)
ODBC_BINMODE_PASSTHRU (integer)
ODBC_BINMODE_RETURN (integer)
ODBC_BINMODE_CONVERT (integer)
SQL_ODBC_CURSORS (integer)
SQL_CUR_USE_DRIVER (integer)
SQL_CUR_USE_IF_NEEDED (integer)
SQL_CUR_USE_ODBC (integer)
SQL_CONCURRENCY (integer)
SQL_CONCUR_READ_ONLY (integer)
SQL_CONCUR_LOCK (integer)
SQL_CONCUR_ROWVER (integer)
SQL_CONCUR_VALUES (integer)
SQL_CURSOR_TYPE (integer)
SQL_CURSOR_FORWARD_ONLY (integer)
SQL_CURSOR_KEYSET_DRIVEN (integer)
SQL_CURSOR_DYNAMIC (integer)
SQL_CURSOR_STATIC (integer)
SQL_KEYSET_SIZE (integer)
SQL_CHAR (integer)
SQL_VARCHAR (integer)
SQL_LONGVARCHAR (integer)
SQL_DECIMAL (integer)
SQL_NUMERIC (integer)
SQL_BIT (integer)
SQL_TINYINT (integer)
SQL_SMALLINT (integer)
SQL_INTEGER (integer)
SQL_BIGINT (integer)
SQL_REAL (integer)
SQL_FLOAT (integer)
SQL_DOUBLE (integer)
SQL_BINARY (integer)
SQL_VARBINARY (integer)
SQL_LONGVARBINARY (integer)
SQL_DATE (integer)
SQL_TIME (integer)
SQL_TIMESTAMP (integer)
SQL_TYPE_DATE (integer)
SQL_TYPE_TIME (integer)
SQL_TYPE_TIMESTAMP (integer)
SQL_BEST_ROWID (integer)
SQL_ROWVER (integer)
SQL_SCOPE_CURROW (integer)
SQL_SCOPE_TRANSACTION (integer)
SQL_SCOPE_SESSION (integer)
SQL_NO_NULLS (integer)
SQL_NULLABLE (integer)
SQL_INDEX_UNIQUE (integer)
SQL_INDEX_ALL (integer)
SQL_ENSURE (integer)
SQL_QUICK (integer)
Ressource-Typen
ODBC Funktionen
ODBC


ODBC Funktionen

Inhaltsverzeichnis

  • odbc_autocommit — Ändert das Autocommit-Verhalten
  • odbc_binmode — Die Behandlung von Binärdaten
  • odbc_close_all — Beendet alle ODBC-Verbindungen
  • odbc_close — Beendet eine ODBC-Verbindung
  • odbc_columnprivileges — Liefert eine Ergebnis-Resource zurück, die eine Liste von Spalten und damit verbundenen Rechten enthält.
  • odbc_columns — Lists the column names in specified tables
  • odbc_commit — Führt eine ODBC-Transaktion aus
  • odbc_connect — Baut die Verbindung zu einer ODBC-Datenquelle auf
  • odbc_cursor — Findet den Cursornamen heraus
  • odbc_data_source — Returns information about a current connection
  • odbc_do — Ein Synonym für odbc_exec
  • odbc_error — Get the last error code
  • odbc_errormsg — Get the last error message
  • odbc_exec — Bereitet einen SQL-Befehl auf und führt ihn aus
  • odbc_execute — Führt ein vorbereiteten SQL-Befehl aus
  • odbc_fetch_array — Fetch a result row as an associative array
  • odbc_fetch_into — Eine Ergebniszeile in ein Array stellen
  • odbc_fetch_object — Fetch a result row as an object
  • odbc_fetch_row — Liefert eine Datenzeile zurück
  • odbc_field_len — Bestimmt die Länge eines Feldes
  • odbc_field_name — Liefert die Spaltenbezeichnung
  • odbc_field_num — Liefert die Spaltennummer für eine Spaltenbezeichnung
  • odbc_field_precision — Alias von odbc_field_len
  • odbc_field_scale — Get the scale of a field
  • odbc_field_type — Liefert den Datentyp eines Feldes
  • odbc_foreignkeys — Retrieves a list of foreign keys
  • odbc_free_result — Gibt den durch ein Abfrageergebnis belegten Speicher wieder frei
  • odbc_gettypeinfo — Retrieves information about data types supported by the data source
  • odbc_longreadlen — Steuert die Nutzung von LONG-Spalten
  • odbc_next_result — Checks if multiple results are available
  • odbc_num_fields — Liefert die Anzahl der Ergebnisspalten
  • odbc_num_rows — Ergibt die Zeilenzahl des Abfrageergebnisses
  • odbc_pconnect — Öffnet eine persistente Datenbankverbindung
  • odbc_prepare — Stellt einen SQL-Befehl zur Ausführung bereit
  • odbc_primarykeys — Gets the primary keys for a table
  • odbc_procedurecolumns — Retrieve information about parameters to procedures
  • odbc_procedures — Get the list of procedures stored in a specific data source
  • odbc_result_all — Gibt das aktuelle Abfrageergebnis als HTML-Tabelle aus
  • odbc_result — Erlaubt den Zugriff auf die Ergebnisdaten
  • odbc_rollback — Hebt eine Transaktion wieder auf
  • odbc_setoption — Verändert die ODBC-Einstellungen
  • odbc_specialcolumns — Retrieves special columns
  • odbc_statistics — Retrieve statistics about a table
  • odbc_tableprivileges — Lists tables and the privileges associated with each table
  • odbc_tables — Get the list of table names stored in a specific data source
Vordefinierte Konstanten
odbc_autocommit
ODBC


Ändert das Autocommit-Verhalten

ODBC Funktionen
odbc_binmode
ODBC Funktionen
PHP Manual

odbc_autocommit

(PHP 4, PHP 5, PHP 7)

odbc_autocommit — Ändert das Autocommit-Verhalten

Beschreibung

int odbc_autocommit ( int $connection_id [, int $OnOff ] )

Ohne den Parameter OnOff gibt odbc_autocommit() den aktuellen autocommit-Status für die Datenbankverbindung connection_id zurück. Wenn autocommit aktiviert ist, wird TRUE zurückgeliefert, FALSE wenn es deaktiviert ist oder ein Fehler auftritt.

In der Standardeinstellung ist autocommit für eine Datenbankverbindung aktiviert. Das Deaktivieren von autocommit enspricht dem Durchführen einer Transaktion.

Siehe auch odbc_commit() und odbc_rollback().

ODBC Funktionen
odbc_binmode
ODBC Funktionen


Die Behandlung von Binärdaten

odbc_autocommit
odbc_close_all
ODBC Funktionen
PHP Manual

odbc_binmode

(PHP 4, PHP 5, PHP 7)

odbc_binmode — Die Behandlung von Binärdaten

Beschreibung

int odbc_binmode ( int $result_id , int $mode )

(Betrifft die ODBC SQL Typen: BINARY, VARBINARY und LONGVARBINARY)

  • ODBC_BINMODE_PASSTHRU: gibt Binärdaten direkt zum Output durch
  • ODBC_BINMODE_RETURN: liefert die Binärdaten unverändert zurück
  • ODBC_BINMODE_CONVERT: konvertiert die Binärdaten zu Zeichen und liefere sie zurück

Im ODBC_BINMODE_CONVERT werden die Binärdaten zu Character-C-data gewandelt. Jedes Byte (8 Bits) der ursprünglichen Daten wird zu zwei ASCII-Zeichen, die der hexadezimalen Darstellung des Wertes entsprechen. Der Binärwert 00000001 wird zum Beispiel zu "01" gewandelt, der Binärwert 11111111 zu "FF".

Die Benutzung von LONGVARBINARY
binmode | longreadlen | Resultat
ODBC_BINMODE_PASSTHRU | 0 | Direkte Ausgabe
ODBC_BINMODE_RETURN | 0 | Direkte Ausgabe
ODBC_BINMODE_CONVERT | 0 | Direkte Ausgabe
ODBC_BINMODE_PASSTHRU | 0 | Direkte Ausgabe
ODBC_BINMODE_PASSTHRU | >0 | Direkte Ausgabe
ODBC_BINMODE_RETURN | >0 | Direkte Ausgabe
ODBC_BINMODE_CONVERT | >0 | Rückgabe als CHAR-Werte

Wenn odbc_fetch_into() genutzt wird, wird bei direkter Ausgabe ein leerer String als Spaltenwert zurückgeliefert.

Wenn result_id gleich 0 ist, wird die Einstellung als Defaultwert für die nächsten Transaktionen gesetzt.

Hinweis: Der Defahltwert für longreadlen ist 4096, für odbc_binmode() ODBC_BINMODE_RETURN, also die unveränderte Rückgabe. Das Verhalten von LONGVARBINARY wird ebenfalls durch die Funktion odbc_longreadlen() bestimmt.

odbc_autocommit
odbc_close_all
ODBC Funktionen


Beendet alle ODBC-Verbindungen

odbc_binmode
odbc_close
ODBC Funktionen
PHP Manual

odbc_close_all

(PHP 4, PHP 5, PHP 7)

odbc_close_all — Beendet alle ODBC-Verbindungen

Beschreibung

void odbc_close_all ( void )

odbc_close_all() beendet alle bestehenden Verbindungen zu allen Datenbankservern.

Hinweis: Wie odbc_close() scheitert auch dieser Befehl, wenn auf einer Datenbankverbindung noch Transaktionen ausstehen oder aktiv sind. In diesem Fall bleibt die betroffene Verbindung auch nach dem odbc_close_all() bestehen.

odbc_binmode
odbc_close
ODBC Funktionen


Beendet eine ODBC-Verbindung

odbc_close_all
odbc_columnprivileges
ODBC Funktionen
PHP Manual

odbc_close

(PHP 4, PHP 5, PHP 7)

odbc_close — Beendet eine ODBC-Verbindung

Beschreibung

void odbc_close ( int $connection_id )

odbc_close() beendete die Verbindung zum Datenbankserver, die durch das Verbindungskennzeichen connection_id gekennzeichnet wird.

Hinweis: Diese Funktion scheitert, wenn auf dieser Datenbankverbindung noch Transaktionen ausstehen. In diesem Fall bleibt die Verbindung bestehen.

odbc_close_all
odbc_columnprivileges
ODBC Funktionen


Liefert eine Ergebnis-Resource zurück, die eine Liste von Spalten und damit verbundenen Rechten enthält.

odbc_close
odbc_columns
ODBC Funktionen
PHP Manual

odbc_columnprivileges

(PHP 4, PHP 5, PHP 7)

odbc_columnprivileges — Liefert eine Ergebnis-Resource zurück, die eine Liste von Spalten und damit verbundenen Rechten enthält.

Beschreibung

int odbc_columnprivileges ( resource $Verbindungskennung [, string $Kennzeichner [, string $Eigentümer [, string $Tabellenname [, string $Spaltename ]]]] )

Listet die Spalten und die mit ihnen verbundenen Rechte für die gegebene Tabelle auf. Rückgabewert ist eine Ergebnis-Resource oder ein FALSE, wenn ein Fehler aufgetreten ist.

Die Ergebnis-Resource enhält die folgenden Spalten:

  • TABLE_QUALIFIER
  • TABLE_OWNER
  • TABLE_NAME
  • GRANTOR
  • GRANTEE
  • PRIVILEGE
  • IS_GRANTABLE

Die Ergebnis-Resource ist nach TABLE_QUALIFIER, TABLE_OWNER und TABLE_NAME sortiert.

Der Spaltenname kann Wildcards enhalten ('%' für für einen oder mehrere Zeichen und "_" für ein einzelnes Zeichen).

odbc_close
odbc_columns
ODBC Funktionen


Lists the column names in specified tables

odbc_columnprivileges
odbc_commit
ODBC Funktionen
PHP Manual

odbc_columns

(PHP 4, PHP 5, PHP 7)

odbc_columns — Lists the column names in specified tables

Beschreibung

resource odbc_columns ( resource $connection_id [, string $qualifier [, string $schema [, string $table_name [, string $column_name ]]]] )

Lists all columns in the requested range.

Parameter-Liste

connection_id

Eine ODBC-Verbindungsressource, siehe odbc_connect() für Details.

qualifier

The qualifier.

schema

The owner.

table_name

The table name.

column_name

The column name.

The schema, table_name, and column_name accept search patterns ('%' to match zero or more characters and '_' to match a single character).

Rückgabewerte

Returns an ODBC result identifierIm Fehlerfall wird FALSE zurückgegeben..

The result set has the following columns:

  • TABLE_QUALIFIER
  • TABLE_SCHEM
  • TABLE_NAME
  • COLUMN_NAME
  • DATA_TYPE
  • TYPE_NAME
  • PRECISION
  • LENGTH
  • SCALE
  • RADIX
  • NULLABLE
  • REMARKS

The result set is ordered by TABLE_QUALIFIER, TABLE_SCHEM and TABLE_NAME.

Siehe auch

  • odbc_columnprivileges() - Liefert eine Ergebnis-Resource zurück, die eine Liste von Spalten und damit verbundenen Rechten enthält. to retrieve associated privileges

odbc_columnprivileges
odbc_commit
ODBC Funktionen


Führt eine ODBC-Transaktion aus

odbc_columns
odbc_connect
ODBC Funktionen
PHP Manual

odbc_commit

(PHP 4, PHP 5, PHP 7)

odbc_commit — Führt eine ODBC-Transaktion aus

Beschreibung

int odbc_commit ( int $connection_id )

Gibt bei Erfolg TRUE zurück, bei Mißerfolg FALSE. Alle ausstehenden Transaktionen auf der Datenbankverbindung connection_id werden ausgeführt.

odbc_columns
odbc_connect
ODBC Funktionen


Baut die Verbindung zu einer ODBC-Datenquelle auf

odbc_commit
odbc_cursor
ODBC Funktionen
PHP Manual

odbc_connect

(PHP 4, PHP 5, PHP 7)

odbc_connect — Baut die Verbindung zu einer ODBC-Datenquelle auf

Beschreibung

int odbc_connect ( string $dsn , string $user , string $password [, int $ cursor_type ] )

Liefert eine ODBC-Verbindungskennung connection_id oder 0 (FALSE) bei Fehlfunktion zurück.

Die Verbindungskennung connection_id wird von den anderen ODBC-Funktionen benötigt. Es können mehrere ODBC-Verbindungen nebeneinander bestehen. Der optionale vierte Parameter cursor_type setzt die Art des Cursors, der für diese Verbindung genutzt werden soll. Normalerweise wird er nicht benötigt, kann aber bei manchen ODBC-Treiberproblemen nützlich sein.

Es können etwa Probleme bei der Ausführung von komplexen Prozeduren auftreten. Die Fehlermeldung lautet dann zum Beispiel "Cannot open a cursor on a stored procedure that has anything other than a single select statement in it". Dieser Fehler kann durch die Verwendung von SQL_CUR_USE_ODBC als cursor_type gelöst werden. Einige ODBC-Treiber unterstützen den optionalen Parameter row_number in der Funktion odbc_fetch_row() nicht. Auch in diesem Fall kann SQL_CUR_USE_ODBC helfen.

Folgende Konstanten sind als Cursortyp definiert:

  • SQL_CUR_USE_IF_NEEDED
  • SQL_CUR_USE_ODBC
  • SQL_CUR_USE_DRIVER
  • SQL_CUR_DEFAULT

Für persistente Verbindungen schauen Sie sich bitte odbc_pconnect() an.

odbc_commit
odbc_cursor
ODBC Funktionen


Findet den Cursornamen heraus

odbc_connect
odbc_data_source
ODBC Funktionen
PHP Manual

odbc_cursor

(PHP 4, PHP 5, PHP 7)

odbc_cursor — Findet den Cursornamen heraus

Beschreibung

string odbc_cursor ( int $result_id )

odbc_cursor() liefert einen Cursornamen für die gegebene Ergebniskennung result_id zurück.

odbc_connect
odbc_data_source
ODBC Funktionen


Returns information about a current connection

odbc_cursor
odbc_do
ODBC Funktionen
PHP Manual

odbc_data_source

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

odbc_data_source — Returns information about a current connection

Beschreibung

array odbc_data_source ( resource $connection_id , int $fetch_type )

This function will return the list of available DSN (after calling it several times).

Parameter-Liste

connection_id

Eine ODBC-Verbindungsressource, siehe odbc_connect() für Details.

fetch_type

The fetch_type can be one of two constant types: SQL_FETCH_FIRST, SQL_FETCH_NEXT. Use SQL_FETCH_FIRST the first time this function is called, thereafter use the SQL_FETCH_NEXT.

Rückgabewerte

Returns FALSE on error, and an array upon success.

odbc_cursor
odbc_do
ODBC Funktionen


Ein Synonym für odbc_exec

odbc_data_source
odbc_error
ODBC Funktionen
PHP Manual

odbc_do

(PHP 4, PHP 5, PHP 7)

odbc_do — Ein Synonym für odbc_exec()

Beschreibung

int odbc_do ( int $conn_id , string $query )

odbc_do() führt eine Anfrage auf der gegebenen Verbindung durch.

odbc_data_source
odbc_error
ODBC Funktionen


Get the last error code

odbc_do
odbc_errormsg
ODBC Funktionen
PHP Manual

odbc_error

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

odbc_error — Get the last error code

Beschreibung

string odbc_error ([ resource $connection_id ] )

Returns a six-digit ODBC state, or an empty string if there has been no errors.

Parameter-Liste

connection_id

Eine ODBC-Verbindungsressource, siehe odbc_connect() für Details.

Rückgabewerte

If connection_id is specified, the last state of that connection is returned, else the last state of any connection is returned.

This function returns meaningful value only if last odbc query failed (i.e. odbc_exec() returned FALSE).

Siehe auch

  • odbc_errormsg() - Get the last error message
  • odbc_exec() - Bereitet einen SQL-Befehl auf und führt ihn aus

odbc_do
odbc_errormsg
ODBC Funktionen


Get the last error message

odbc_error
odbc_exec
ODBC Funktionen
PHP Manual

odbc_errormsg

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

odbc_errormsg — Get the last error message

Beschreibung

string odbc_errormsg ([ resource $connection_id ] )

Returns a string containing the last ODBC error message, or an empty string if there has been no errors.

Parameter-Liste

connection_id

Eine ODBC-Verbindungsressource, siehe odbc_connect() für Details.

Rückgabewerte

If connection_id is specified, the last state of that connection is returned, else the last state of any connection is returned.

This function returns meaningful value only if last odbc query failed (i.e. odbc_exec() returned FALSE).

Siehe auch

  • odbc_error() - Get the last error code
  • odbc_exec() - Bereitet einen SQL-Befehl auf und führt ihn aus

odbc_error
odbc_exec
ODBC Funktionen


Bereitet einen SQL-Befehl auf und führt ihn aus

odbc_errormsg
odbc_execute
ODBC Funktionen
PHP Manual

odbc_exec

(PHP 4, PHP 5, PHP 7)

odbc_exec — Bereitet einen SQL-Befehl auf und führt ihn aus

Beschreibung

int odbc_exec ( int $connection_id , string $query_string )

Liefert bei einem Fehler FALSE zurück, sonst eine ODBC-Ergebniskennung result_id.

odbc_exec() sendet einen SQL-Befehl zu dem Datenbankserver, der durch die Verbindungskennung connection_id bezeichnet wird. Dieser Parameter muss durch odbc_connect() oder odbc_pconnect() erzeugt worden sein.

Siehe auch: odbc_prepare() und odbc_execute() für die gleichzeitige Ausführung von mehreren SQL-Befehlen.

odbc_errormsg
odbc_execute
ODBC Funktionen


Führt ein vorbereiteten SQL-Befehl aus

odbc_exec
odbc_fetch_array
ODBC Funktionen
PHP Manual

odbc_execute

(PHP 4, PHP 5, PHP 7)

odbc_execute — Führt ein vorbereiteten SQL-Befehl aus

Beschreibung

int odbc_execute ( int $result_id [, array $ parameters_array ] )

Führt ein oder mehrere durch odbc_prepare() vorbereitete SQL-Befehle aus. Nach erfolgreicher Ausführung wird TRUE zurückgeliefert, sonst FALSE. Das Array parameters_array braucht nur angegeben zu werden, wenn im Befehl tatsächlich Parameter vorhanden sind.

odbc_exec
odbc_fetch_array
ODBC Funktionen


Fetch a result row as an associative array

odbc_execute
odbc_fetch_into
ODBC Funktionen
PHP Manual

odbc_fetch_array

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

odbc_fetch_array — Fetch a result row as an associative array

Beschreibung

array odbc_fetch_array ( resource $result [, int $rownumber ] )

Fetch an associative array from an ODBC query.

Parameter-Liste

result

The result resource from odbc_exec().

rownumber

Optionally choose which row number to retrieve.

Rückgabewerte

Returns an array that corresponds to the fetched row, or FALSE if there are no more rows.

Anmerkungen

Hinweis: This function exists when compiled with DBMaker, IBM DB2 or UnixODBC support.

Siehe auch

  • odbc_fetch_row() - Liefert eine Datenzeile zurück
  • odbc_fetch_object() - Fetch a result row as an object
  • odbc_num_rows() - Ergibt die Zeilenzahl des Abfrageergebnisses

odbc_execute
odbc_fetch_into
ODBC Funktionen


Eine Ergebniszeile in ein Array stellen

odbc_fetch_array
odbc_fetch_object
ODBC Funktionen
PHP Manual

odbc_fetch_into

(PHP 4, PHP 5, PHP 7)

odbc_fetch_into — Eine Ergebniszeile in ein Array stellen

Beschreibung

int odbc_fetch_into ( resource $result_id , array &$result_array [, int $rownumber ] )

Liest eine Ergebniszeile in ein Array.

Parameter-Liste

result_id

Die Resource, die das Abfrageergebnis beinhaltet.

result_array

Das Array, welches das Ergebnis aufnehmen soll. Hier kann ein beliebiger Typ übergeben werden, da dies in ein Array konvertiert wird. Das Array wird die Werte der einzelnen Spalten ab der Arrayposition 0 enthalten.

rownumber

Die Zeilennummer.

Rückgabewerte

Gibt die Anzahl der Spalten im Ergebnis zurück, FALSE bei einem Fehler.

Beispiele

Beispiel #1 odbc_fetch_into()-Beispiele

<?php
$rc = odbc_fetch_into($res_id, $my_array);
?>

oder

<?php
$rc = odbc_fetch_into($res_id, $my_array, 2);
?>

odbc_fetch_array
odbc_fetch_object
ODBC Funktionen


Fetch a result row as an object

odbc_fetch_into
odbc_fetch_row
ODBC Funktionen
PHP Manual

odbc_fetch_object

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

odbc_fetch_object — Fetch a result row as an object

Beschreibung

object odbc_fetch_object ( resource $result [, int $rownumber ] )

Fetch an object from an ODBC query.

Parameter-Liste

result

The result resource from odbc_exec().

rownumber

Optionally choose which row number to retrieve.

Rückgabewerte

Returns an object that corresponds to the fetched row, or FALSE if there are no more rows.

Anmerkungen

Hinweis: This function exists when compiled with DBMaker, IBM DB2 or UnixODBC support.

Siehe auch

  • odbc_fetch_row() - Liefert eine Datenzeile zurück
  • odbc_fetch_array() - Fetch a result row as an associative array
  • odbc_num_rows() - Ergibt die Zeilenzahl des Abfrageergebnisses

odbc_fetch_into
odbc_fetch_row
ODBC Funktionen


Liefert eine Datenzeile zurück

odbc_fetch_object
odbc_field_len
ODBC Funktionen
PHP Manual

odbc_fetch_row

(PHP 4, PHP 5, PHP 7)

odbc_fetch_row — Liefert eine Datenzeile zurück

Beschreibung

int odbc_fetch_row ( int $result_id [, int $ row_number ] )

Wenn odbc_fetch_row() erfolgreich durchgeführt wurde (also eine oder mehrere Datenzeilen gefunden wurden), dann wird TRUE zurückgeliefert. Wenn keine (weitere) Zeile vorhanden ist, wird FALSE zurückgegeben.

odbc_fetch_row() stellt eine Zeile der von odbc_do()/odbc_exec() zurückgegeben Daten bereit. Nachdem odbc_fetch_row() aufgerufen wurde, können die Felder dieser Zeile mit odbc_result() genutzt werden.

Wenn row_number nicht definiert ist, versucht odbc_fetch_row() die nächste Zeile aus dem Abfrageergebnis result_id zu holen. odbc_fetch_row() kann abwechselnd ohne und mit dem Parameter row_number genutzt werden.

Um durch ein Abfrageergebnis mehrfach zu durchlaufen, kann man odbc_fetch_row() mit row_number gleich 1 aufrufen, um dann wie gewohnt mit odbc_fetch_row() ohne Zeilenparameter fortzufahren. Wenn der ODBC-Treiber die Herausgabe von bestimmten Zeilen nicht unterstützt, wird der Parameter ignoriert.

odbc_fetch_object
odbc_field_len
ODBC Funktionen


Bestimmt die Länge eines Feldes

odbc_fetch_row
odbc_field_name
ODBC Funktionen
PHP Manual

odbc_field_len

(PHP 4, PHP 5, PHP 7)

odbc_field_len — Bestimmt die Länge eines Feldes

Beschreibung

int odbc_field_len ( int $result_id , int $field_number )

odbc_field_len() gibt die Länge eines Feldes an. Das Feld wird durch die Feldnummer field_number im Abfrageergebnis result_id bestimmt. Die Feldnummerierung beginnt mit 1.

odbc_fetch_row
odbc_field_name
ODBC Funktionen


Liefert die Spaltenbezeichnung

odbc_field_len
odbc_field_num
ODBC Funktionen
PHP Manual

odbc_field_name

(PHP 4, PHP 5, PHP 7)

odbc_field_name — Liefert die Spaltenbezeichnung

Beschreibung

string odbc_field_name ( int $result_id , int $field_number )

odbc_field_name() gibt den Namen der Spalte mit der Nummer field_number für des Abfrageergebnisses result_id zurück. Die Nummerierung der Spalten beginnt mit 1. Bei einem Fehler wird FALSE zurückgegeben.

odbc_field_len
odbc_field_num
ODBC Funktionen


Liefert die Spaltennummer für eine Spaltenbezeichnung

odbc_field_name
odbc_field_precision
ODBC Funktionen
PHP Manual

odbc_field_num

(PHP 4, PHP 5, PHP 7)

odbc_field_num — Liefert die Spaltennummer für eine Spaltenbezeichnung

Beschreibung

int odbc_field_num ( int $result_id , string $field_name )

odbc_field_num() will return the number of the column slot that corresponds to the named field in the given ODBC result identifier. Field numbering starts at 1. FALSE is returned on error.

odbc_field_name
odbc_field_precision
ODBC Funktionen


Alias von odbc_field_len

odbc_field_num
odbc_field_scale
ODBC Funktionen
PHP Manual

odbc_field_precision

(PHP 4, PHP 5, PHP 7)

odbc_field_precision — Alias von odbc_field_len()

Beschreibung

Diese Funktion ist ein Alias für: odbc_field_len().

Siehe auch

  • odbc_field_scale() - Get the scale of a field to get the scale of a floating point number.

odbc_field_num
odbc_field_scale
ODBC Funktionen


Get the scale of a field

odbc_field_precision
odbc_field_type
ODBC Funktionen
PHP Manual

odbc_field_scale

(PHP 4, PHP 5, PHP 7)

odbc_field_scale — Get the scale of a field

Beschreibung

int odbc_field_scale ( resource $result_id , int $field_number )

Gets the scale of the field referenced by number in the given result identifier.

Parameter-Liste

result_id

The result identifier.

field_number

The field number. Field numbering starts at 1.

Rückgabewerte

Returns the field scale as a integer, or FALSE on error.

odbc_field_precision
odbc_field_type
ODBC Funktionen


Liefert den Datentyp eines Feldes

odbc_field_scale
odbc_foreignkeys
ODBC Funktionen
PHP Manual

odbc_field_type

(PHP 4, PHP 5, PHP 7)

odbc_field_type — Liefert den Datentyp eines Feldes

Beschreibung

string odbc_field_type ( int $result_id , int $field_number )

odbc_field_type() liefert den SQL-Datentyp eines Feldes zurück, das in dem Abfrageergebnis result_id an der Stelle field_number zu finden ist.

odbc_field_scale
odbc_foreignkeys
ODBC Funktionen


Retrieves a list of foreign keys

odbc_field_type
odbc_free_result
ODBC Funktionen
PHP Manual

odbc_foreignkeys

(PHP 4, PHP 5, PHP 7)

odbc_foreignkeys — Retrieves a list of foreign keys

Beschreibung

resource odbc_foreignkeys ( resource $connection_id , string $pk_qualifier , string $pk_owner , string $pk_table , string $fk_qualifier , string $fk_owner , string $fk_table )

Retrieves a list of foreign keys in the specified table or a list of foreign keys in other tables that refer to the primary key in the specified table

Parameter-Liste

connection_id

Eine ODBC-Verbindungsressource, siehe odbc_connect() für Details.

pk_qualifier

The primary key qualifier.

pk_owner

The primary key owner.

pk_table

The primary key table.

fk_qualifier

The foreign key qualifier.

fk_owner

The foreign key owner.

fk_table

The foreign key table.

Rückgabewerte

Returns an ODBC result identifierIm Fehlerfall wird FALSE zurückgegeben..

The result set has the following columns:

  • PKTABLE_QUALIFIER
  • PKTABLE_OWNER
  • PKTABLE_NAME
  • PKCOLUMN_NAME
  • FKTABLE_QUALIFIER
  • FKTABLE_OWNER
  • FKTABLE_NAME
  • FKCOLUMN_NAME
  • KEY_SEQ
  • UPDATE_RULE
  • DELETE_RULE
  • FK_NAME
  • PK_NAME

If pk_table contains a table name, odbc_foreignkeys() returns a result set containing the primary key of the specified table and all of the foreign keys that refer to it.

If fk_table contains a table name, odbc_foreignkeys() returns a result set containing all of the foreign keys in the specified table and the primary keys (in other tables) to which they refer.

If both pk_table and fk_table contain table names, odbc_foreignkeys() returns the foreign keys in the table specified in fk_table that refer to the primary key of the table specified in pk_table. This should be one key at most.

odbc_field_type
odbc_free_result
ODBC Funktionen


Gibt den durch ein Abfrageergebnis belegten Speicher wieder frei

odbc_foreignkeys
odbc_gettypeinfo
ODBC Funktionen
PHP Manual

odbc_free_result

(PHP 4, PHP 5, PHP 7)

odbc_free_result — Gibt den durch ein Abfrageergebnis belegten Speicher wieder frei

Beschreibung

int odbc_free_result ( int $result_id )

Gibt immer TRUE zurück.

odbc_free_result() braucht nur aufgerufen zu werden, wenn Sie einen zu hohen Speicherverbrauch durch das aktuell laufende Skript vermeiden wollen. Das gesamte Abfrageergebnis wird automatisch nach Beendigung des Skriptes gelöscht. Aber wenn Sie sicher sind, dass Sie dieses Ergebnis nicht länger benötigen, dann können Sie bei Speicherproblemen die Funktion odbc_free_result() benutzen.

Hinweis: Wenn autocommit deaktiviert ist (siehe odbc_autocommit()) und Sie odbc_free_result() bevor ein Commit gemacht wird, werden alle austehenden Transaktionen zurückgenommen.

odbc_foreignkeys
odbc_gettypeinfo
ODBC Funktionen


Retrieves information about data types supported by the data source

odbc_free_result
odbc_longreadlen
ODBC Funktionen
PHP Manual

odbc_gettypeinfo

(PHP 4, PHP 5, PHP 7)

odbc_gettypeinfo — Retrieves information about data types supported by the data source

Beschreibung

resource odbc_gettypeinfo ( resource $connection_id [, int $data_type ] )

Retrieves information about data types supported by the data source.

Parameter-Liste

connection_id

Eine ODBC-Verbindungsressource, siehe odbc_connect() für Details.

data_type

The data type, which can be used to restrict the information to a single data type.

Rückgabewerte

Returns an ODBC result identifier or FALSE on failure.

The result set has the following columns:

  • TYPE_NAME
  • DATA_TYPE
  • PRECISION
  • LITERAL_PREFIX
  • LITERAL_SUFFIX
  • CREATE_PARAMS
  • NULLABLE
  • CASE_SENSITIVE
  • SEARCHABLE
  • UNSIGNED_ATTRIBUTE
  • MONEY
  • AUTO_INCREMENT
  • LOCAL_TYPE_NAME
  • MINIMUM_SCALE
  • MAXIMUM_SCALE

The result set is ordered by DATA_TYPE and TYPE_NAME.

odbc_free_result
odbc_longreadlen
ODBC Funktionen


Steuert die Nutzung von LONG-Spalten

odbc_gettypeinfo
odbc_next_result
ODBC Funktionen
PHP Manual

odbc_longreadlen

(PHP 4, PHP 5, PHP 7)

odbc_longreadlen — Steuert die Nutzung von LONG-Spalten

Beschreibung

int odbc_longreadlen ( int $result_id , int $length )

(Betrifft folgende ODBC-SQL-Typen: LONG, LONGVARBINARY) Die Anzahl der an PHP zurückgelieferten Bytes wird von durch den Parameter length bestimmt. Wenn er auf 0 gesetzt ist, wird der Inhalt von LONG-Spalten direkt an den Klienten weitergegeben.

Hinweis: Die Behandlung von LONGVARBINARY-Spalten wird auch von odbc_binmode() beeinflußt.

odbc_gettypeinfo
odbc_next_result
ODBC Funktionen


Checks if multiple results are available

odbc_longreadlen
odbc_num_fields
ODBC Funktionen
PHP Manual

odbc_next_result

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

odbc_next_result — Checks if multiple results are available

Beschreibung

bool odbc_next_result ( resource $result_id )

Checks if there are more result sets available as well as allowing access to the next result set via odbc_fetch_array(), odbc_fetch_row(), odbc_result(), etc.

Parameter-Liste

result_id

The result identifier.

Rückgabewerte

Returns TRUE if there are more result sets, FALSE otherwise.

Beispiele

Beispiel #1 odbc_next_result()

<?php
$r_Connection = odbc_connect($dsn, $username, $password);

$s_SQL = <<<END_SQL
SELECT 'A'
SELECT 'B'
SELECT 'C'
END_SQL;

$r_Results = odbc_exec($r_Connection, $s_SQL);

$a_Row1 = odbc_fetch_array($r_Results);
$a_Row2 = odbc_fetch_array($r_Results);
echo "Dump first result set";
var_dump($a_Row1, $a_Row2);

echo "Get second results set ";
var_dump(odbc_next_result($r_Results));

$a_Row1 = odbc_fetch_array($r_Results);
$a_Row2 = odbc_fetch_array($r_Results);
echo "Dump second result set ";
var_dump($a_Row1, $a_Row2);

echo "Get third results set ";
var_dump(odbc_next_result($r_Results));

$a_Row1 = odbc_fetch_array($r_Results);
$a_Row2 = odbc_fetch_array($r_Results);
echo "Dump third result set ";
var_dump($a_Row1, $a_Row2);

echo "Try for a fourth result set ";
var_dump(odbc_next_result($r_Results));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Dump first result set array(1) {
  ["A"]=>
  string(1) "A"
}
bool(false)
Get second results set bool(true)
Dump second result set array(1) {
  ["B"]=>
  string(1) "B"
}
bool(false)
Get third results set bool(true)
Dump third result set array(1) {
  ["C"]=>
  string(1) "C"
}
bool(false)
Try for a fourth result set bool(false)

odbc_longreadlen
odbc_num_fields
ODBC Funktionen


Liefert die Anzahl der Ergebnisspalten

odbc_next_result
odbc_num_rows
ODBC Funktionen
PHP Manual

odbc_num_fields

(PHP 4, PHP 5, PHP 7)

odbc_num_fields — Liefert die Anzahl der Ergebnisspalten

Beschreibung

int odbc_num_fields ( int $result_id )

odbc_num_fields() liefert die Anzahl der Spalten, die in einem ODBC-Ergebnis vorhanden sind, zurück. Bei einem Fehler ergibt odbc_num_fields() -1.

odbc_next_result
odbc_num_rows
ODBC Funktionen


Ergibt die Zeilenzahl des Abfrageergebnisses

odbc_num_fields
odbc_pconnect
ODBC Funktionen
PHP Manual

odbc_num_rows

(PHP 4, PHP 5, PHP 7)

odbc_num_rows — Ergibt die Zeilenzahl des Abfrageergebnisses

Beschreibung

int odbc_num_rows ( int $result_id )

odbc_num_rows() liefert die Anzahl Zeilen eines ODBC-Abfrageergebnisses. Tritt ein Fehler auf, ist sie -1. Bei INSERT, UPDATE und DELETE-Befehlen wird die Zahl der betroffenen Zeilen zurückgegeben. Bei einer SELECT-Abfrage kann dies die Anzahl der vorhanden Zeilen sein.

Hinweis:

Bei vielen Treibern wird -1 als Anzahl möglicher Zeilen nach einem SELECT-Befehl zurückgeliefert.

odbc_num_fields
odbc_pconnect
ODBC Funktionen


Öffnet eine persistente Datenbankverbindung

odbc_num_rows
odbc_prepare
ODBC Funktionen
PHP Manual

odbc_pconnect

(PHP 4, PHP 5, PHP 7)

odbc_pconnect — Öffnet eine persistente Datenbankverbindung

Beschreibung

int odbc_pconnect ( string $dsn , string $user , string $password [, int $ cursor_type ] )

Gibt eine ODBC-Verbindungskennung zurück, bei einem Fehler 0 (FALSE). Diese Funktion ist odbc_connect() sehr ähnlich. Der einzige Unterschied besteht darin, dass die Verbindung nach dem Ende des Skriptes erhalten bleibt. Folgende Verbindungen mit gleicher Datenquelle, Nutzer und Passwort-Kombination über odbc_connect() oder odbc_pconnect() können dann die bestehende Verbindung weiterbenutzen.

Hinweis: Persistente Verbindungen können bei einem CGI-PHP nicht benutzt werden. In diesem Fall entspricht odbc_pconnect() odbc_connect().

Für weitere Informationen über den optionalen Parameter cursor_type schauen Sie bitte bei odbc_connect(). Weitere Informationen über persistente Datenbankverbindungen finden Sie in der PHP-FAQ

odbc_num_rows
odbc_prepare
ODBC Funktionen


Stellt einen SQL-Befehl zur Ausführung bereit

odbc_pconnect
odbc_primarykeys
ODBC Funktionen
PHP Manual

odbc_prepare

(PHP 4, PHP 5, PHP 7)

odbc_prepare — Stellt einen SQL-Befehl zur Ausführung bereit

Beschreibung

int odbc_prepare ( int $connection_id , string $query_string )

Liefert bei einem Fehler FALSE zurück.

Gibt eine ODBC-Ergebniskennung zurück, wenn der SQL-Befehl erfolgreich bereitgestellt wurde. Die Ergebniskennung kann später zur Ausführung des Befehles mit odbc_execute() genutzt werden.

odbc_pconnect
odbc_primarykeys
ODBC Funktionen


Gets the primary keys for a table

odbc_prepare
odbc_procedurecolumns
ODBC Funktionen
PHP Manual

odbc_primarykeys

(PHP 4, PHP 5, PHP 7)

odbc_primarykeys — Gets the primary keys for a table

Beschreibung

resource odbc_primarykeys ( resource $connection_id , string $qualifier , string $owner , string $table )

Returns a result identifier that can be used to fetch the column names that comprise the primary key for a table.

Parameter-Liste

connection_id

Eine ODBC-Verbindungsressource, siehe odbc_connect() für Details.

qualifier

owner

table

Rückgabewerte

Returns an ODBC result identifierIm Fehlerfall wird FALSE zurückgegeben..

The result set has the following columns:

  • TABLE_QUALIFIER
  • TABLE_OWNER
  • TABLE_NAME
  • COLUMN_NAME
  • KEY_SEQ
  • PK_NAME

odbc_prepare
odbc_procedurecolumns
ODBC Funktionen


Retrieve information about parameters to procedures

odbc_primarykeys
odbc_procedures
ODBC Funktionen
PHP Manual

odbc_procedurecolumns

(PHP 4, PHP 5, PHP 7)

odbc_procedurecolumns — Retrieve information about parameters to procedures

Beschreibung

resource odbc_procedurecolumns ( resource $connection_id )
resource odbc_procedurecolumns ( resource $connection_id , string $qualifier , string $owner , string $proc , string $column )

Retrieve information about parameters to procedures.

Parameter-Liste

connection_id

Eine ODBC-Verbindungsressource, siehe odbc_connect() für Details.

qualifier

The qualifier.

owner

The owner. Dieser Parameter akzeptiert die folgenden Suchmuster: "%" für 0 oder mehr Zeichen und "_" für genau ein beliebiges Zeichen.

proc

The proc. Dieser Parameter akzeptiert die folgenden Suchmuster: "%" für 0 oder mehr Zeichen und "_" für genau ein beliebiges Zeichen.

column

The column. Dieser Parameter akzeptiert die folgenden Suchmuster: "%" für 0 oder mehr Zeichen und "_" für genau ein beliebiges Zeichen.

Rückgabewerte

Returns the list of input and output parameters, as well as the columns that make up the result set for the specified procedures. Returns an ODBC result identifierIm Fehlerfall wird FALSE zurückgegeben..

The result set has the following columns:

  • PROCEDURE_QUALIFIER
  • PROCEDURE_OWNER
  • PROCEDURE_NAME
  • COLUMN_NAME
  • COLUMN_TYPE
  • DATA_TYPE
  • TYPE_NAME
  • PRECISION
  • LENGTH
  • SCALE
  • RADIX
  • NULLABLE
  • REMARKS

The result set is ordered by PROCEDURE_QUALIFIER, PROCEDURE_OWNER, PROCEDURE_NAME and COLUMN_TYPE.

odbc_primarykeys
odbc_procedures
ODBC Funktionen


Get the list of procedures stored in a specific data source

odbc_procedurecolumns
odbc_result_all
ODBC Funktionen
PHP Manual

odbc_procedures

(PHP 4, PHP 5, PHP 7)

odbc_procedures — Get the list of procedures stored in a specific data source

Beschreibung

resource odbc_procedures ( resource $connection_id )
resource odbc_procedures ( resource $connection_id , string $qualifier , string $owner , string $name )

Lists all procedures in the requested range.

Parameter-Liste

connection_id

Eine ODBC-Verbindungsressource, siehe odbc_connect() für Details.

qualifier

The qualifier.

owner

The owner. Dieser Parameter akzeptiert die folgenden Suchmuster: "%" für 0 oder mehr Zeichen und "_" für genau ein beliebiges Zeichen.

name

The name. Dieser Parameter akzeptiert die folgenden Suchmuster: "%" für 0 oder mehr Zeichen und "_" für genau ein beliebiges Zeichen.

Rückgabewerte

Returns an ODBC result identifier containing the informationIm Fehlerfall wird FALSE zurückgegeben..

The result set has the following columns:

  • PROCEDURE_QUALIFIER
  • PROCEDURE_OWNER
  • PROCEDURE_NAME
  • NUM_INPUT_PARAMS
  • NUM_OUTPUT_PARAMS
  • NUM_RESULT_SETS
  • REMARKS
  • PROCEDURE_TYPE

odbc_procedurecolumns
odbc_result_all
ODBC Funktionen


Gibt das aktuelle Abfrageergebnis als HTML-Tabelle aus

odbc_procedures
odbc_result
ODBC Funktionen
PHP Manual

odbc_result_all

(PHP 4, PHP 5, PHP 7)

odbc_result_all — Gibt das aktuelle Abfrageergebnis als HTML-Tabelle aus

Beschreibung

int odbc_result_all ( int $result_id [, string $ format ] )

Liefert die Anzahl Reihen im Abfrageergebnis result_id zurück, wenn ein Fehler auftritt FALSE.

odbc_result_all() gibt alle Reihen eines SQL-Abfrageergebnisses result_id aus einem odbc_exec()-Aufruf als HTML-Tabelle aus. Mit dem optionalen String format kann ein allgemeines Tabellenformat angegeben werden.

odbc_procedures
odbc_result
ODBC Funktionen


Erlaubt den Zugriff auf die Ergebnisdaten

odbc_result_all
odbc_rollback
ODBC Funktionen
PHP Manual

odbc_result

(PHP 4, PHP 5, PHP 7)

odbc_result — Erlaubt den Zugriff auf die Ergebnisdaten

Beschreibung

string odbc_result ( int $result_id , mixed $field )

Liefert den Inhalt eines bestimmtes Feldes zurück.

Der Feldparameter field kann entweder der Integerwert der Spaltennummer oder ein String mit dem Spaltennamen sein. Als Beispiel:

$produkt_3 = odbc_result ($Query_ID, 3 );
$produkt_wert = odbc_result ($Query_ID, "wert");

Der erste Aufruf von odbc_result() liefert den Wert des drittes Feldes im aktuellen Datensatz im Abfrageergebnis zurück. Der zweite Funktionsaufruf gibt den Wert der Spalte "wert" im aktuellen Datensatz zurück. Wenn die Spaltennummer kleiner als 1 oder größer als die Spaltenzahl ist, tritt ein Fehler auf. Gleiches gilt für einen Spaltennamen, der im Abfrageergebnis nicht vorkommt.

Die Spaltennummern beginngen mit 1. Für die Nutzung von Binärdaten und LONG-Spalten schauen Sie bitte bei odbc_binmode() und odbc_longreadlen() nach.

odbc_result_all
odbc_rollback
ODBC Funktionen


Hebt eine Transaktion wieder auf

odbc_result
odbc_setoption
ODBC Funktionen
PHP Manual

odbc_rollback

(PHP 4, PHP 5, PHP 7)

odbc_rollback — Hebt eine Transaktion wieder auf

Beschreibung

int odbc_rollback ( int $connection_id )

Hebt alle ausstehenden Transaktionen auf der Verbindung connection_id wieder auf. Bei Erfolg wird TRUE zurückgegeben, sonst FALSE.

odbc_result
odbc_setoption
ODBC Funktionen


Verändert die ODBC-Einstellungen

odbc_rollback
odbc_specialcolumns
ODBC Funktionen
PHP Manual

odbc_setoption

(PHP 4, PHP 5, PHP 7)

odbc_setoption — Verändert die ODBC-Einstellungen

Beschreibung

int odbc_setoption ( int $id , int $function , int $option , int $param )

Diese Funktion erlaubt das Einstellen der ODBC-Optionen für eine einzelne Verbindung. Sie soll beim Auffinden und Beheben von Problemen mit ODBC-Treibern helfen. Es empfiehlt sich, diese Funktionen nur zu nutzen, wenn man einige Erfahrung mit ODBC-Programmierung gesammelt hat und die Wirkungen der einzelnen Parameter kennt. Um mit Ihnen zu arbeiten, benötigen Sie eine Referenz der aktuellen Treiberversion des eingesetzten ODBC-Treibers, denn die Optionen sind von Treiber zu Treiber und von Version zu Version unterschiedlich.

Weil die Effekte je nach ODBC-Treiber unterschiedlich sind, sollte Skripte mit diesen Funktionen nicht veröffentlich werden. Einige Optionen stehen nicht zur Verfügung, weil sie vor dem Aufbau einer ODBC-Verbindung eingestellt sein müssen. Wie auch immer, in einigen Fällen hilft diese Funktion zu vermeiden, dass man von seinem Vorgesetzten gezwungen wird, ein kommerzielles Programm einzusetzen - und darauf kommt es doch an ;-) .

Id ist die Verbindungs oder Ergebniskennung, deren Optionen geändert werden sollen. Bei SQLSetConnectOption() ist es eine Verbindungskennung, bei SQLSetStmtOption() eine Ergebniskennung.

function ist die ODBC-Funktion, die genutzt werden soll. Die Werte sind 1 für SQLSetConnectOption() und 2 für SQLSetStntOption().

Der Parameter option ist die Option, die gesetzt werden soll.

Der Parameter param ist der Wert für die gegebene option.

Beispiel #1 odbc.setoption Beispiele

// 1. Option 102 von SQLSetConnectOption() ist SQL_AUTOCOMMIT.
//    Wert 1 für SQL_AUTOCOMMIT entspricht SQL_AUTOCOMMIT_ON.
//    Dieses Beispiel hat denselben Effekt wie
//    odbc_autocommit($conn, true);

odbc_setoption ($conn, 1, 102, 1);

// 2. Option 0 von SQLSetStmtOption() ist SQL_QUERY_TIMEOUT.
//    Dieses Beispiel setzt den Timeout auf 30 Sekunden.

$result = odbc_prepare ($conn, $sql);
odbc_setoption ($result, 2, 0, 30);
odbc_execute ($result);

odbc_rollback
odbc_specialcolumns
ODBC Funktionen


Retrieves special columns

odbc_setoption
odbc_statistics
ODBC Funktionen
PHP Manual

odbc_specialcolumns

(PHP 4, PHP 5, PHP 7)

odbc_specialcolumns — Retrieves special columns

Beschreibung

resource odbc_specialcolumns ( resource $connection_id , int $type , string $qualifier , string $owner , string $table , int $scope , int $nullable )

Retrieves either the optimal set of columns that uniquely identifies a row in the table, or columns that are automatically updated when any value in the row is updated by a transaction.

Parameter-Liste

connection_id

Eine ODBC-Verbindungsressource, siehe odbc_connect() für Details.

type
When the type argument is SQL_BEST_ROWID, odbc_specialcolumns() returns the column or columns that uniquely identify each row in the table. When the type argument is SQL_ROWVER, odbc_specialcolumns() returns the column or columns in the specified table, if any, that are automatically updated by the data source when any value in the row is updated by any transaction.
qualifier

The qualifier.

owner

The owner.

table

The table.

scope

The scope, which orders the result set.

nullable

The nullable option.

Rückgabewerte

Returns an ODBC result identifier or FALSE on failure.

The result set has the following columns:

  • SCOPE
  • COLUMN_NAME
  • DATA_TYPE
  • TYPE_NAME
  • PRECISION
  • LENGTH
  • SCALE
  • PSEUDO_COLUMN

odbc_setoption
odbc_statistics
ODBC Funktionen


Retrieve statistics about a table

odbc_specialcolumns
odbc_tableprivileges
ODBC Funktionen
PHP Manual

odbc_statistics

(PHP 4, PHP 5, PHP 7)

odbc_statistics — Retrieve statistics about a table

Beschreibung

resource odbc_statistics ( resource $connection_id , string $qualifier , string $owner , string $table_name , int $unique , int $accuracy )

Get statistics about a table and its indexes.

Parameter-Liste

connection_id

Eine ODBC-Verbindungsressource, siehe odbc_connect() für Details.

qualifier

The qualifier.

owner

The owner.

table_name

The table name.

unique

The unique attribute.

accuracy

The accuracy.

Rückgabewerte

Returns an ODBC result identifierIm Fehlerfall wird FALSE zurückgegeben..

The result set has the following columns:

  • TABLE_QUALIFIER
  • TABLE_OWNER
  • TABLE_NAME
  • NON_UNIQUE
  • INDEX_QUALIFIER
  • INDEX_NAME
  • TYPE
  • SEQ_IN_INDEX
  • COLUMN_NAME
  • COLLATION
  • CARDINALITY
  • PAGES
  • FILTER_CONDITION

The result set is ordered by NON_UNIQUE, TYPE, INDEX_QUALIFIER, INDEX_NAME and SEQ_IN_INDEX.

odbc_specialcolumns
odbc_tableprivileges
ODBC Funktionen


Lists tables and the privileges associated with each table

odbc_statistics
odbc_tables
ODBC Funktionen
PHP Manual

odbc_tableprivileges

(PHP 4, PHP 5, PHP 7)

odbc_tableprivileges — Lists tables and the privileges associated with each table

Beschreibung

resource odbc_tableprivileges ( resource $connection_id , string $qualifier , string $owner , string $name )

Lists tables in the requested range and the privileges associated with each table.

Parameter-Liste

connection_id

Eine ODBC-Verbindungsressource, siehe odbc_connect() für Details.

qualifier

The qualifier.

owner

The owner. Accepts the following search patterns: ('%' to match zero or more characters and '_' to match a single character)

name

The name. Accepts the following search patterns: ('%' to match zero or more characters and '_' to match a single character)

Rückgabewerte

An ODBC result identifierIm Fehlerfall wird FALSE zurückgegeben..

The result set has the following columns:

  • TABLE_QUALIFIER
  • TABLE_OWNER
  • TABLE_NAME
  • GRANTOR
  • GRANTEE
  • PRIVILEGE
  • IS_GRANTABLE

The result set is ordered by TABLE_QUALIFIER, TABLE_OWNER and TABLE_NAME.

odbc_statistics
odbc_tables
ODBC Funktionen


Get the list of table names stored in a specific data source

odbc_tableprivileges
PDO
ODBC Funktionen
PHP Manual

odbc_tables

(PHP 4, PHP 5, PHP 7)

odbc_tables — Get the list of table names stored in a specific data source

Beschreibung

resource odbc_tables ( resource $connection_id [, string $qualifier [, string $owner [, string $name [, string $types ]]]] )

Lists all tables in the requested range.

To support enumeration of qualifiers, owners, and table types, the following special semantics for the qualifier, owner, name, and table_type are available:

  • If qualifier is a single percent character (%) and owner and name are empty strings, then the result set contains a list of valid qualifiers for the data source. (All columns except the TABLE_QUALIFIER column contain NULLs.)
  • If owner is a single percent character (%) and qualifier and name are empty strings, then the result set contains a list of valid owners for the data source. (All columns except the TABLE_OWNER column contain NULLs.)
  • If table_type is a single percent character (%) and qualifier, owner and name are empty strings, then the result set contains a list of valid table types for the data source. (All columns except the TABLE_TYPE column contain NULLs.)

Parameter-Liste

connection_id

Eine ODBC-Verbindungsressource, siehe odbc_connect() für Details.

qualifier

The qualifier.

owner

The owner. Accepts search patterns ('%' to match zero or more characters and '_' to match a single character).

name

The name. Accepts search patterns ('%' to match zero or more characters and '_' to match a single character).

types

If table_type is not an empty string, it must contain a list of comma-separated values for the types of interest; each value may be enclosed in single quotes (') or unquoted. For example, "'TABLE','VIEW'" or "TABLE, VIEW". If the data source does not support a specified table type, odbc_tables() does not return any results for that type.

Rückgabewerte

Returns an ODBC result identifier containing the information Im Fehlerfall wird FALSE zurückgegeben..

The result set has the following columns:

  • TABLE_QUALIFIER
  • TABLE_OWNER
  • TABLE_NAME
  • TABLE_TYPE
  • REMARKS

The result set is ordered by TABLE_TYPE, TABLE_QUALIFIER, TABLE_OWNER and TABLE_NAME.

Siehe auch

  • odbc_tableprivileges() - Lists tables and the privileges associated with each table

odbc_tableprivileges
PDO
ODBC Funktionen


PHP Data Objects

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Verbindungen und Verbindungsmanagement
  • Transaktionen und auto-commit
  • Prepared Statements und Stored Procedures
  • Fehler und Fehlerbehandlung
  • Large Objects (LOBs)
  • PDO — Die PDO-Klasse
    • PDO::beginTransaction — Initiates a transaction
    • PDO::commit — Commits a transaction
    • PDO::__construct — Creates a PDO instance representing a connection to a database
    • PDO::errorCode — Fetch the SQLSTATE associated with the last operation on the database handle
    • PDO::errorInfo — Fetch extended error information associated with the last operation on the database handle
    • PDO::exec — Führt ein SQL Statement aus und gibt die Zahl der betroffenen Zeilen zurück
    • PDO::getAttribute — Retrieve a database connection attribute
    • PDO::getAvailableDrivers — Return an array of available PDO drivers
    • PDO::inTransaction — Checks if inside a transaction
    • PDO::lastInsertId — Returns the ID of the last inserted row or sequence value
    • PDO::prepare — Prepares a statement for execution and returns a statement object
    • PDO::query — Executes an SQL statement, returning a result set as a PDOStatement object
    • PDO::quote — Quotes a string for use in a query.
    • PDO::rollBack — Rolls back a transaction
    • PDO::setAttribute — Set an attribute
  • PDOStatement — Die PDOStatement-Klasse
    • PDOStatement::bindColumn — Bind a column to a PHP variable
    • PDOStatement::bindParam — Binds a parameter to the specified variable name
    • PDOStatement::bindValue — Binds a value to a parameter
    • PDOStatement::closeCursor — Closes the cursor, enabling the statement to be executed again.
    • PDOStatement::columnCount — Returns the number of columns in the result set
    • PDOStatement::debugDumpParams — Dump an SQL prepared command
    • PDOStatement::errorCode — Fetch the SQLSTATE associated with the last operation on the statement handle
    • PDOStatement::errorInfo — Fetch extended error information associated with the last operation on the statement handle
    • PDOStatement::execute — Executes a prepared statement
    • PDOStatement::fetch — Fetches the next row from a result set
    • PDOStatement::fetchAll — Returns an array containing all of the result set rows
    • PDOStatement::fetchColumn — Returns a single column from the next row of a result set
    • PDOStatement::fetchObject — Fetches the next row and returns it as an object.
    • PDOStatement::getAttribute — Retrieve a statement attribute
    • PDOStatement::getColumnMeta — Returns metadata for a column in a result set
    • PDOStatement::nextRowset — Advances to the next rowset in a multi-rowset statement handle
    • PDOStatement::rowCount — Returns the number of rows affected by the last SQL statement
    • PDOStatement::setAttribute — Set a statement attribute
    • PDOStatement::setFetchMode — Set the default fetch mode for this statement
  • PDOException — Die Klasse PDOException
  • PDO-Treiber
    • CUBRID (PDO) — CUBRID Functions (PDO_CUBRID)
    • MS SQL Server (PDO) — Microsoft SQL Server and Sybase Functions (PDO_DBLIB)
    • Firebird (PDO) — Firebird Functions (PDO_FIREBIRD)
    • IBM (PDO) — IBM Functions (PDO_IBM)
    • Informix (PDO) — Informix Functions (PDO_INFORMIX)
    • MySQL (PDO) — MySQL Funktionen (PDO_MYSQL)
    • MS SQL Server (PDO) — Microsoft SQL Server Functions (PDO_SQLSRV)
    • Oracle (PDO) — Oracle Functions (PDO_OCI)
    • ODBC and DB2 (PDO) — ODBC and DB2 Functions (PDO_ODBC)
    • PostgreSQL (PDO) — PostgreSQL Functions (PDO_PGSQL)
    • SQLite (PDO) — SQLite Functions (PDO_SQLITE)
    • 4D (PDO) — 4D Functions (PDO_4D)
odbc_tables
Einführung
Abstraktionsebenen


Einführung

Die PHP Data Objects-Erweiterung (PDO) stellt eine leichte, konsistente Schnittstelle bereit, um mit PHP auf Datenbanken zuzugreifen. Jeder Datenbanktreiber, der die PDO-Schnittstelle implementiert, kann spezifische Features als reguläre Funktionen der Erweiterung bereitstellen. Beachten Sie, dass Sie keine Funktionen der Datenbank mit PDO allein benutzen können. Sie müssen einen datenbankspezifischen PDO-Treiber benutzen, um auf eine Datenbank zuzugreifen.

PDO bietet eine Abstraktionsschicht für den Datenzugriff, das bedeutet, dass Sie, egal welche Datenbank Sie benutzen, dieselben Funktionen verwenden können, um Abfragen zu erstellen und Daten zu lesen. PDO bietet keine Abstraktion für Datenbanken. Es schreibt keine SQL-Abfragen um oder emuliert fehlende Features. Sie sollten eine komplette Abstraktionsschicht verwenden, wenn Sie diese Funktionalität benötigen.

PDO wird mit PHP 5.1 ausgeliefert und ist als PECL-Erweiterung für PHP 5.0 verfügbar. PDO benötigt die neuen OO-Features im Kern von PHP 5 und wird deswegen nicht mit früheren Versionen von PHP funktionieren.

PDO
Installation/Konfiguration
PDO


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
PDO


Installation

PDO auf Unix-Systemen installieren

  1. PDO und der PDO_SQLITE Treiber sind seit PHP 5.1.0 standardmäßig aktiviert. Zusätzlich müssen Sie eventuell den PDO-Treiber für die Datenbank Ihrer Wahl aktivieren. Ziehen Sie die Dokumentation für datenbankspezifische PDO-Treiber zu Rate, um mehr darüber zu erfahren.

    Hinweis:

    Beachten Sie: Wenn Sie PDO als Shared Extension (nicht empfohlen) kompilieren, müssen alle PDO-Treiber nach PDO selbst geladen werden.

  2. Wenn PDO als Shared Module installiert wurde, muss die php.ini-Datei dahingehend geändert werden, dass die PDO-Erweiterung automatisch geladen wird, wenn PHP ausgeführt wird. Sie müssen dort auch alle datenbankspezifischen Treiber aktivieren. Versichern Sie sich, dass diese nach der Zeile mit pdo.so stehen, da PDO initialisiert werden muss, bevor die datenbankspezifischen Erweiterungen geladen werden können. Wenn Sie PDO und die datenbankspezifischen Erweiterungen statisch kompiliert haben, können Sie diesen Schritt überspringen.

    extension=pdo.so

Installation auf Windows

  1. PDO und alle gängigen Treiber werden mit PHP als Shared Module mitgeliefert und müssen nur durch Bearbeiten der Datei php.ini aktiviert werden:

    extension=php_pdo.dll

    Hinweis:

    Dieser Schritt ist seit PHP 5.3 nicht mehr notwendig, da für PDO keine DLL mehr benötigt wird.

  2. Als nächstes wählen Sie die datenbankspezifischen DLL-Dateien und laden sie entweder per dl() zur Laufzeit oder aktivieren sie in der Datei php.ini unterhalb von php_pdo.dll. Zum Beispiel:

    extension=php_pdo.dll
extension=php_pdo_firebird.dll
extension=php_pdo_informix.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_oci.dll
extension=php_pdo_oci8.dll
extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll

    Diese DLLs sollten im extension_dir des Systems vorhanden sein.

Hinweis:

Vergessen Sie nicht, dass nach Änderungen an der php.ini Datei PHP neu gestartet werden muss, damit neue Konfigurationsanweisungen wirken.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

PDO Configuration Options
Name | Standard | Veränderbar | Changelog
pdo.dsn.* |  | php.ini only |

Hier eine kurze Erklärung der Konfigurationsoptionen:

pdo.dsn.* string

Defines DSN alias. See PDO::__construct() for thorough explanation.

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

Warnung

PDO uses class constants since PHP 5.1. Prior releases use global constants in the form PDO_PARAM_BOOL.

PDO::PARAM_BOOL (integer)
Stellt den Datentyp Boolean dar.
PDO::PARAM_NULL (integer)
Stellt den Datentyp SQL NULL dar.
PDO::PARAM_INT (integer)
Stellt den Datentyp SQL INTEGER dar.
PDO::PARAM_STR (integer)
Stellt SQL CHAR, VARCHAR und andere String-Datentypen dar.
PDO::PARAM_LOB (integer)
Stellt den SQL-Datentyp LOB (large object) dar.
PDO::PARAM_STMT (integer)
Stellt einen Recordset dar. Wird derzeit noch von keinem Treiber unterstützt.
PDO::PARAM_INPUT_OUTPUT (integer)
Legt fest, dass der Parameter ein INOUT Parameter für eine Stored Procedure sein muss. Auf den Wert muss eine bitweises OR mit einem eindeutigen PDO::PARAM_* Parameter ausgeführt werden.
PDO::FETCH_LAZY (integer)
Legt fest, dass die Fetch-Methode jede Zeile als eigenständiges Objekt mit variablem Namen, welcher gleichlautend mit den Spaltennamen in der Ergebnismenge ist, zurück geben soll. PDO::FETCH_LAZY erstellt die variablen Objektnamen, sobald auf diese zugegriffen wird.
PDO::FETCH_ASSOC (integer)
Legt fest, dass die Fetch-Methode jede Zeile in einem assoziativen Array zurück gibt, wobei jeder Index-Key mit dem Spaltennamen aus dem Resultset gleichgesetzt wird. Wenn das Resultset mehrere gleichlautende Spaltennamen enthält, gibt PDO::FETCH_ASSOC nur einen Wert pro Spaltenname zurück
PDO::FETCH_NAMED (integer)
Specifies that the fetch method shall return each row as an array indexed by column name as returned in the corresponding result set. If the result set contains multiple columns with the same name, PDO::FETCH_NAMED returns an array of values per column name.
PDO::FETCH_NUM (integer)
Specifies that the fetch method shall return each row as an array indexed by column number as returned in the corresponding result set, starting at column 0.
PDO::FETCH_BOTH (integer)
Specifies that the fetch method shall return each row as an array indexed by both column name and number as returned in the corresponding result set, starting at column 0.
PDO::FETCH_OBJ (integer)
Specifies that the fetch method shall return each row as an object with property names that correspond to the column names returned in the result set.
PDO::FETCH_BOUND (integer)
Specifies that the fetch method shall return TRUE and assign the values of the columns in the result set to the PHP variables to which they were bound with the PDOStatement::bindParam() or PDOStatement::bindColumn() methods.
PDO::FETCH_COLUMN (integer)
Specifies that the fetch method shall return only a single requested column from the next row in the result set.
PDO::FETCH_CLASS (integer)
Specifies that the fetch method shall return a new instance of the requested class, mapping the columns to named properties in the class.

Hinweis: The magic __set() method is called if the property doesn't exist in the requested class

PDO::FETCH_INTO (integer)
Specifies that the fetch method shall update an existing instance of the requested class, mapping the columns to named properties in the class.
PDO::FETCH_FUNC (integer)
PDO::FETCH_GROUP (integer)
PDO::FETCH_UNIQUE (integer)
PDO::FETCH_KEY_PAIR (integer)
Fetch a two-column result into an array where the first column is a key and the second column is the value. Available since PHP 5.2.3.
PDO::FETCH_CLASSTYPE (integer)
Determine the class name from the value of first column.
PDO::FETCH_SERIALIZE (integer)
As PDO::FETCH_INTO but object is provided as a serialized string. Available since PHP 5.1.0.
PDO::FETCH_PROPS_LATE (integer)
Available since PHP 5.2.0
PDO::ATTR_AUTOCOMMIT (integer)
If this value is FALSE, PDO attempts to disable autocommit so that the connection begins a transaction.
PDO::ATTR_PREFETCH (integer)
Setting the prefetch size allows you to balance speed against memory usage for your application. Not all database/driver combinations support setting of the prefetch size. A larger prefetch size results in increased performance at the cost of higher memory usage.
PDO::ATTR_TIMEOUT (integer)
Sets the timeout value in seconds for communications with the database.
PDO::ATTR_ERRMODE (integer)
See the Errors and error handling section for more information about this attribute.
PDO::ATTR_SERVER_VERSION (integer)
This is a read only attribute; it will return information about the version of the database server to which PDO is connected.
PDO::ATTR_CLIENT_VERSION (integer)
This is a read only attribute; it will return information about the version of the client libraries that the PDO driver is using.
PDO::ATTR_SERVER_INFO (integer)
This is a read only attribute; it will return some meta information about the database server to which PDO is connected.
PDO::ATTR_CONNECTION_STATUS (integer)
PDO::ATTR_CASE (integer)
Force column names to a specific case specified by the PDO::CASE_* constants.
PDO::ATTR_CURSOR_NAME (integer)
Get or set the name to use for a cursor. Most useful when using scrollable cursors and positioned updates.
PDO::ATTR_CURSOR (integer)
Selects the cursor type. PDO currently supports either PDO::CURSOR_FWDONLY and PDO::CURSOR_SCROLL. Stick with PDO::CURSOR_FWDONLY unless you know that you need a scrollable cursor.
PDO::ATTR_DRIVER_NAME (string)
Returns the name of the driver.

Beispiel #1 using PDO::ATTR_DRIVER_NAME

<?php
if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') {
  echo "Running on mysql; doing something mysql specific here\n";
}
?>

PDO::ATTR_ORACLE_NULLS (integer)
Convert empty strings to SQL NULL values on data fetches.
PDO::ATTR_PERSISTENT (integer)
Request a persistent connection, rather than creating a new connection. See Connections and Connection management for more information on this attribute.
PDO::ATTR_STATEMENT_CLASS (integer)
PDO::ATTR_FETCH_CATALOG_NAMES (integer)
Prepend the containing catalog name to each column name returned in the result set. The catalog name and column name are separated by a decimal (.) character. Support of this attribute is at the driver level; it may not be supported by your driver.
PDO::ATTR_FETCH_TABLE_NAMES (integer)
Prepend the containing table name to each column name returned in the result set. The table name and column name are separated by a decimal (.) character. Support of this attribute is at the driver level; it may not be supported by your driver.
PDO::ATTR_STRINGIFY_FETCHES (integer)
PDO::ATTR_MAX_COLUMN_LEN (integer)
PDO::ATTR_DEFAULT_FETCH_MODE (integer)
Available since PHP 5.2.0
PDO::ATTR_EMULATE_PREPARES (integer)
Available since PHP 5.1.3.
PDO::ERRMODE_SILENT (integer)
Do not raise an error or exception if an error occurs. The developer is expected to explicitly check for errors. This is the default mode. See Errors and error handling for more information about this attribute.
PDO::ERRMODE_WARNING (integer)
Issue a PHP E_WARNING message if an error occurs. See Errors and error handling for more information about this attribute.
PDO::ERRMODE_EXCEPTION (integer)
Throw a PDOException if an error occurs. See Errors and error handling for more information about this attribute.
PDO::CASE_NATURAL (integer)
Leave column names as returned by the database driver.
PDO::CASE_LOWER (integer)
Force column names to lower case.
PDO::CASE_UPPER (integer)
Force column names to upper case.
PDO::NULL_NATURAL (integer)
PDO::NULL_EMPTY_STRING (integer)
PDO::NULL_TO_STRING (integer)
PDO::FETCH_ORI_NEXT (integer)
Fetch the next row in the result set. Valid only for scrollable cursors.
PDO::FETCH_ORI_PRIOR (integer)
Fetch the previous row in the result set. Valid only for scrollable cursors.
PDO::FETCH_ORI_FIRST (integer)
Fetch the first row in the result set. Valid only for scrollable cursors.
PDO::FETCH_ORI_LAST (integer)
Fetch the last row in the result set. Valid only for scrollable cursors.
PDO::FETCH_ORI_ABS (integer)
Fetch the requested row by row number from the result set. Valid only for scrollable cursors.
PDO::FETCH_ORI_REL (integer)
Fetch the requested row by relative position from the current position of the cursor in the result set. Valid only for scrollable cursors.
PDO::CURSOR_FWDONLY (integer)
Create a PDOStatement object with a forward-only cursor. This is the default cursor choice, as it is the fastest and most common data access pattern in PHP.
PDO::CURSOR_SCROLL (integer)
Create a PDOStatement object with a scrollable cursor. Pass the PDO::FETCH_ORI_* constants to control the rows fetched from the result set.
PDO::ERR_NONE (string)
Corresponds to SQLSTATE '00000', meaning that the SQL statement was successfully issued with no errors or warnings. This constant is for your convenience when checking PDO::errorCode() or PDOStatement::errorCode() to determine if an error occurred. You will usually know if this is the case by examining the return code from the method that raised the error condition anyway.
PDO::PARAM_EVT_ALLOC (integer)
Allocation event
PDO::PARAM_EVT_FREE (integer)
Deallocation event
PDO::PARAM_EVT_EXEC_PRE (integer)
Event triggered prior to execution of a prepared statement.
PDO::PARAM_EVT_EXEC_POST (integer)
Event triggered subsequent to execution of a prepared statement.
PDO::PARAM_EVT_FETCH_PRE (integer)
Event triggered prior to fetching a result from a resultset.
PDO::PARAM_EVT_FETCH_POST (integer)
Event triggered subsequent to fetching a result from a resultset.
PDO::PARAM_EVT_NORMALIZE (integer)
Event triggered during bound parameter registration allowing the driver to normalize the parameter name.
Ressource-Typen
Verbindungen und Verbindungsmanagement
PDO


Verbindungen und Verbindungsmanagement

Verbindungen und Verwaltung der Verbindungen

Verbindungen werden durch das Erstellen von Instanzen der PDO-Basisklasse erzeugt. Es ist unerheblich, welchen Treiber Sie benutzen wollen. Sie benutzen immer den PDO-Klassennamen. Der Konstruktor erwartet Parameter zur Angabe der Datenbankquelle (auch bekannt als DSN) und optional für Benutzername und Passwort (falls vorhanden).

Beispiel #1 Mit MySQL verbinden

<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
?>

Wenn es Fehler bei der Verbindung gibt, wird eine Ausnahme vom Typ PDOException geworfen. Sie können die Ausnahme abfangen, wenn Sie sich selbst um die Fehlerbedingung kümmern wollen, oder Sie können es einer globalen Routine zur Ausnahmebehandlung überlassen, die Sie mit set_exception_handler() konfigurieren.

Beispiel #2 Verbindungsfehler behandeln

<?php
try {
   $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
   foreach ($dbh->query('SELECT * from FOO') as $row) {
      print_r($row);
   }
   $dbh = null;
} catch (PDOException $e) {
   print "Error!: " . $e->getMessage() . "<br/>";
   die();
}
?>

Warnung

Wenn Ihre Anwendung die vom PDO-Konstruktor geworfene Ausnahme nicht auffängt, ist die normale Vorgehensweise der Zend Engine, das Skript zu terminieren und einen Backtrace anzuzeigen. Dieser Backtrace wird wahrscheinlich alle Details der Datenbankverbindung enthüllen, inklusive Benutzername und Passwort. Sie sind also verantwortlich, diese Ausnahme aufzufangen, entweder explizit (mit einem catch-Block) oder implizit mit set_exception_handler().

Bei erfolgreicher Verbindung zur Datenbank wird eine Instanz der PDO-Klasse an Ihr Skript zurückgegeben. Die Verbindung bleibt während der Lebensdauer des PDO-Objekts aktiv. Um die Verbindung zu beenden, müssen Sie das Objekt löschen, indem Sie sicherstellen, dass alle Referenzen darauf gelöscht werden - das erreichen Sie, indem Sie der Variable, die das Objekt beinhaltet, NULL zuweisen. Wenn Sie das nicht explizit tun, schließt PHP die Verbindung automatisch, wenn Ihr Skript endet.

Beispiel #3 Eine Verbindung schließen

<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
// hier die Verbindung nutzen

// und nachdem das erledigt ist, wird sie geschlossen
$dbh = null;
?>

Viele Webanwendungen profitieren von persistenten Verbindungen zum Datenbankserver. Persistente Verbindungen werden nicht am Ende des Skripts geschlossen, sondern werden gecacht und wiederverwendet, wenn ein anderes Skript eine Verbindung mit denselben Daten anfordert. Der Cache an persistenten Verbindungen erlaubt Ihnen, den Overhead zu vermeiden, wenn jedesmal eine neue Verbindung geöffnet wird, sobald ein Skript mit der Datenbank kommunizieren muss, was sich in einer schnelleren Anwendung widerspiegelt.

Beispiel #4 Persistente Verbindungen

<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass, array(
  PDO::ATTR_PERSISTENT => true
));
?>

Hinweis:

Wenn Sie persistente Verbindungen verwenden wollen, müssen Sie PDO::ATTR_PERSISTENT im Array von Treiberoptionen setzen, das an den PDO-Konstruktor übergeben wird. Wenn Sie dieses Attribut mittels PDO::setAttribute() nach der Instanziierung des Objekts setzen, verwendet der Treiber keine persistenten Verbindungen.

Hinweis:

Wenn Sie den PDO-ODBC-Treiber benutzen und Ihre ODBC-Bibliotheken ODBC Connection Pooling unterstützen (unixODBC und Windows etwa, es könnte auch andere geben), dann wird empfohlen, dass sie keine persistenten PDO-Verbindungen benutzen, sondern das Cachen der Verbindungen der ODBC Connection Pooling-Schicht überlassen. Der ODBC Connection Pool wird mit anderen Modulen im Prozess geteilt. Wenn PDO also angewiesen wird die Verbindung zu cachen, wird diese Verbindung nie dem ODBC Connection Pool zurückgegeben, was darin resultiert, dass zusätzliche Verbindungen aufgebaut werden, um jene anderen Module zu bedienen.

Vordefinierte Konstanten
Transaktionen und auto-commit
PDO


Transaktionen und auto-commit

Jetzt, wo Sie via PDO verbunden sind, müssen Sie sich bewusst machen, wie PDO Transaktionen verwaltet, bevor Sie anfangen, Abfragen auszuführen. Falls Sie noch nie mit Transaktionen zu tun hatten, diese bieten 4 wichtige Features: Atomizität, Konsistenz (Consistency), Isolation und Dauerhaftigkeit (Durability) (ACID). Einfach gesagt wird alles in einer Transaktion, auch wenn es in Einzelschritten ausgeführt wird, garantiert in sicherer Weise in die Datenbank eingetragen, ohne Beeinträchtigung durch andere Verbindungen, wenn es abgeschickt wird. Aktivitäten in Transaktionen können auch automatisch annulliert werden (wenn Sie es noch nicht abgeschickt haben), was Fehlerbehandlung in Ihren Scripts einfacher macht.

Transaktionen werden typischerweise implementiert, indem Ihre Menge an Änderungen "aufgespart" wird und dann in einem Rutsch abgearbeitet werden. Das hat den netten Nebeneffekt, dass die Effizienz der Aktualisierungen drastisch erhöht wird. In anderen Worten können Transaktionen Ihre Scripts schneller und möglicherweise auch robuster machen. Aber Sie müssen sie korrekt verwenden, um davon zu profitieren.

Unglücklicherweise unterstützt nicht jede Datenbank Transaktionen, deswegen muss PDO in einem "auto-commit" genannten Modus laufen, wenn Sie die Verbindung zum ersten Mal öffnen. "Auto-commit" bedeutet, dass jede Abfrage, die Sie ausführen ihre eigene implizite Transaktion besitzt, wenn die Datenbank das unterstützt, oder keine Transaktion, wenn die Datenbank keine Transaktionen unterstützt. Wenn Sie eine Transaktion benötigen, müssen Sie eine mit der Methode PDO::beginTransaction() initiieren. Wenn der zu Grunde liegende Treiber keine Transaktionen unterstützt, wird eine PDOException geworfen (unbeachtet Ihrer Einstellungen zur Fehlerbehandlung: dies ist immer eine ernste Fehlerbedingung). Wenn Sie dann in einer Transaktion sind, können Sie PDO::commit() oder PDO::rollBack() benutzen, um die Transaktion abzuschließen, abhängig vom Erfolg des Codes, den Sie während der Transaktion ausgeführt haben.

Warnung

PDO überprüft nur auf Treiberebene auf Transaktionsfähigkeit. Wenn bestimmte Laufzeitbedingunen ergeben, dass Transaktionen nicht verfügbar sind, wird PDO::beginTransaction() trotzdem ohne Fehler TRUE zurückgeben, wenn der Server die Anfrage zum Start einer Transaktion akzeptiert.

Ein Beispiel wäre es, Transaktionen auf MyISAM-Tabellen in einer MySQL-Datenbank zu verwenden

Wenn das Script endet oder die Verbindung im Begriff ist, geschlossen zu werden und Sie eine Transaktion ausstehen haben, wird PDO automatisch einen Rollback durchführen. Dies ist eine Sicherheitsmaßnahme, um Inkonsistenzen in dem Fall, dass das Script unerwartet beendet wird, zu vermeiden - wenn Sie die Transaktion nicht explizit ausgeführt haben, wird angenommen, dass etwas schiefgegangen ist, deswegen wird zur Sicherheit Ihrer Daten ein Rollback durchgeführt.

Warnung

Der automatische Rollback wird nur durchgeführt, wenn Sie die Transaktion per PDO::beginTransaction() starten. Wenn Sie manuell eine Abfrage ausführen, die eine Transaktion startet, kann PDO nichts davon wissen und kann deswegen auch keinen Rollback durchführen, wenn etwas schiefgeht.

Beispiel #1 Mehrere Abfragen in einer Transaktion

Im folgenden Beispiel nehmen wir an, dass wir einen Satz von Einträgen für einen neuen Angestellten eintragen wollen, dem die ID-Nummer 23 zugeordnet wurde. Zusätzlich zur Angabe der Basisdaten für diese Person müssen wir auch ihr Gehalt festhalten. Es ist ziemlich einfach, zwei getrennte Aktualisierungen durchzuführen, aber indem wir sie in PDO::beginTransaction() und PDO::commit() einschließen, garantieren wir, dass niemand anderes diese Änderungen sieht, bis sie komplett sind. Wenn etwas schiefgeht, wird der catch-Block alle seit Beginn der Transaktion durchgeführten Änderungen rückgängig machen und dann eine Fehlermeldung ausgeben.

<?php
try {
  $dbh = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2',
      array(PDO::ATTR_PERSISTENT => true));
  echo "Connected\n";
} catch (Exception $e) {
  die("Unable to connect: " . $e->getMessage());
}

try {
  $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

  $dbh->beginTransaction();
  $dbh->exec("insert into staff (id, first, last) values (23, 'Joe', 'Bloggs')");
  $dbh->exec("insert into salarychange (id, amount, changedate)
      values (23, 50000, NOW())");
  $dbh->commit();

} catch (Exception $e) {
  $dbh->rollBack();
  echo "Failed: " . $e->getMessage();
}
?>

Sie sind nicht darauf beschränkt, Änderungen in einer Transaktion durchzuführen. Sie können auch komplexe Abfragen ausführen um Daten zu erhalten, und diese Informationen etwa dazu benutzen, mehr Änderungen und Abfragen zu erzeugen. Während die Transaktion aktiv ist, kann garantiert niemand anderes Änderungen durchführen, während Sie bei der Arbeit sind. Um ehrlich zu sein, stimmt das nicht 100%, aber es ist für den Anfang ausreichend, falls Sie noch nie von Transaktionen gehört haben.

Verbindungen und Verbindungsmanagement
Prepared Statements und Stored Procedures
PDO


Prepared Statements und Stored Procedures

Viele der ausgereifteren Datenbanken unterstützen das Konzept der Prepared Statements. Was ist das? Man kann sie sich als eine Art von kompiliertem Template für SQL das eine Anwendung ausführen will vorstellen, das durch variable Parameter angepasst werden kann. Prepared Statements haben zwei wichtige Vorteile:

  • Die Abfrage muss nur einmal geparst (oder vorbereitet) werden, kann dann aber mehrere Male mit denselben oder anderen Parametern ausgeführt werden. Wenn die Abfrage vorbereitet wird, kann die Datenbank ihre Vorgehensweise zur Ausführung der Abfrage analysieren, kompilieren und optimieren. Für komplexe Abfragen kann dieser Vorgang genug Zeit benötigen, dass es eine Anwendung merklich verlangsamt, wenn dieselbe Abfrage oft mit verschiedenen Parametern wiederholt wird. Mit einem Prepared Statement vermeidet die Anwendung den Zyklus der Analyse/Kompilierung/Optimierung. Kurz gesagt benötigen Prepared Statements weniger Ressourcen und laufen deswegen schneller.
  • Die Parameter für Prepared Statements müssen nicht maskiert werden. Der Treiber übernimmt das automatisch. Wenn eine Anwendung ausschließlich Prepared Statements benutzt, kann sich der Entwickler sicher sein, dass keine SQL-Injection auftreten wird. (Wenn aber trotzdem andere Teile der Abfrage aus nicht zuverlässigen Eingaben generiert werden, ist dies immer noch möglich.)

Prepared Statements sind so nützlich, dass sie das einzige Feature sind, das PDO auch für Treiber emulieren wird, die diese nicht unterstützen. Das garantiert, dass eine Anwendung unabhängig von den Möglichkeiten der Datenbank dieselbe Art des Datenzugriffs nutzen können.

Beispiel #1 Wiederholte Inserts mit Prepared Statements

Dieses Beispiel führt eine INSERT-Abfrage durch, in der ein name und ein value für die benannten Platzhalter eingesetzt werden.

<?php
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)");
$stmt->bindParam(':name', $name);
$stmt->bindParam(':value', $value);

// eine Zeile einfügen
$name = 'one';
$value = 1;
$stmt->execute();

// eine weitere Zeile mit anderen Werten einfügen
$name = 'two';
$value = 2;
$stmt->execute();
?>

Beispiel #2 Wiederholte Inserts mit Prepared Statements

Dieses Beispiel führt eine INSERT-Abfrage durch, in der ein name und ein value für die positionsabhängigen ?-Platzhalter eingesetzt werden.

<?php
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (?, ?)");
$stmt->bindParam(1, $name);
$stmt->bindParam(2, $value);

// eine Zeile einfügen
$name = 'one';
$value = 1;
$stmt->execute();

// eine weitere Zeile mit anderen Werten einfügen
$name = 'two';
$value = 2;
$stmt->execute();
?>

Beispiel #3 Abfragen von Daten mit Prepared Statements

Dieses Beispiel ruft Daten basierend auf einem Schlüsselwert ab, der von einem Formular geliefert wird. Die Benutzereingabe wird automatisch maskiert, deswegen gibt es kein Risiko eines SQL-Injection-Angriffs.

<?php
$stmt = $dbh->prepare("SELECT * FROM REGISTRY where name = ?");
if ($stmt->execute(array($_GET['name']))) {
  while ($row = $stmt->fetch()) {
    print_r($row);
  }
}
?>

Wenn es der Datenbanktreiber unterstützt, kann eine Anwendung auch Parameter für die Ausgabe einführen, ähnlich der Eingabe. Ausgabeparameter werden typischerweise benutzt, um Werte von Stored Procedures abzurufen. Ausgabeparameter sind etwas komplexer in der Verwendung als Eingabeparameter, weil die Entwickler wissen muss, wie groß ein gegebener Parameter sein könnte, wenn sie ihn einführen. Wenn der Wert sich als größer herausstellt als die vorgeschlagene Größe, wird eine Fehlermeldung erzeugt.

Beispiel #4 Eine Stored Procedure mit einem Ausgabeparameter aufrufen

<?php
$stmt = $dbh->prepare("CALL sp_returns_string(?)");
$stmt->bindParam(1, $return_value, PDO::PARAM_STR, 4000);

// Aufruf der Stored Procedure
$stmt->execute();

print "Rückgabewert der Stored Procedure: $return_value\n";
?>

Entwickler können auch Parameter angeben, die Werte für Eingabe und Ausgabe enthalten. Die Syntax ist ähnlich den Ausgabeparametern. In diesem nächsten Beispiel wird die Zeichenkette 'hallo' der Stored Procedure übergeben. Wenn diese etwas zurückgibt, wird 'hallo' durch den Rückgabewert der Stored Procedure ersetzt.

Beispiel #5 Eine Stored Procedure mit einem Eingabe-/Ausgabe-Parameter aufrufen

<?php
$stmt = $dbh->prepare("CALL sp_takes_string_returns_string(?)");
$value = 'hallo';
$stmt->bindParam(1, $value, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 4000);

// Aufruf der Stored Procedure
$stmt->execute();

print "Rückgabewert der Stored Procedure: $value\n";
?>

Beispiel #6 Ungültige Verwendung von Platzhaltern

<?php
$stmt = $dbh->prepare("SELECT * FROM REGISTRY where name LIKE '%?%'");
$stmt->execute(array($_GET['name']));

// Platzhalter müssen anstelle des ganzen Wertes verwendet werden
$stmt = $dbh->prepare("SELECT * FROM REGISTRY where name LIKE ?");
$stmt->execute(array("%$_GET[name]%"));
?>

Transaktionen und auto-commit
Fehler und Fehlerbehandlung
PDO


Fehler und Fehlerbehandlung

PDO bietet Ihnen die Wahl unter 3 verschiedenen Strategien zur Fehlerbehandlung, um Ihrem Stil der Anwendungsentwicklung gerecht zu werden.

  • PDO::ERRMODE_SILENT

    Das ist die Standardmethode. PDO setzt einfach den Fehler-Code, damit Sie ihn mit den Methoden PDO::errorCode() und PDO::errorInfo() sowohl im Statement- als auch im Datenbank-Objekt überprüfen können. Wenn der Fehler aus einem Aufruf eines Statement-Objekts hervorging, würden Sie die Methoden PDOStatement::errorCode() oder PDOStatement::errorInfo() des Objekts aufrufen. Wenn der Fehler aus einem Aufruf des Datenbank-Objekts hervorging, würden Sie diese Methoden des Datenbank-Objekts aufrufen.

  • PDO::ERRMODE_WARNING

    Zusätzlich zum Setzen des Fehler-Codes wird PDO eine traditionelle E_WARNING-Nachricht ausgeben. Diese Einstellung ist nützlich während des Debuggens/Testens, wenn Sie sehen wollen, welche Probleme aufgetreten sind, ohne den Ablauf der Anwendung zu unterbrechen.

  • PDO::ERRMODE_EXCEPTION

    Zusätzlich zum Setzen des Fehler-Codes wirft PDO eine PDOException und setzt deren Eigenschaften so, dass sie den Fehler-Code und Fehlerinformationen widergeben. Diese Einstellung ist auch nützlich während des Debuggens, da sie das Script am Ort des Fehlers gewissermaßen "sprengt" und sehr schnell mögliche Problemstellen in Ihrem Code aufzeigt. (Zur Erinnerung: Transaktionen bekommen automatisch einen Rollback, wenn eine Ausnahme das Script beendet.)

    Diese Einstellung ist auch nützlich, da Sie ihre Fehlerbehandlung klarer als mit traditionellen PHP-Warnungen strukturireren können und mit weniger Code und Verschachtelung als im stillen Modus mit expliziter Überprüfung des Rückgabewertes jedes einzelnen Datenbankaufrufes.

    Unter Ausnahmen finden Sie weitere Informationen über Ausnahmen in PHP.

PDO benutzt Fehler-Codes nach SQL-92 SQLSTATE. Individuelle PDO-Treiber sind selbst verantwortlich, ihre nativen Fehler-Codes in die entsprechenden SQLSTATE-Pendants umzuwandeln. Die Methode PDO::errorCode() gibt einen einzelnen SQLSTATE-Code zurück. Wenn Sie genauere Informationen über einen Fehler benötigen, bietet PDO auch die Methode PDO::errorInfo(), die ein Array zurückgibt, das den SQLSTATE-Code, den treiberspezifischen Fehler-Code und die treiberspezifische Fehlermeldung enthält.

Beispiel #1 Eine PDO Instanz erstellen und den Error Mode setzen

<?php
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';

try {
    $dbh = new PDO($dsn, $user, $password);
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    echo 'Verbindung fehlgeschlagen: ' . $e->getMessage();
}

?>

Hinweis:

PDO::__construct() wirft immer eine PDOException wenn die Verbindung fehlschlägt unabhängig davon welcher PDO::ATTR_ERRMODE gerade eingestellt ist. Nicht abgefangene Exceptions sind fatal.

Beispiel #2 Erzeugen eines PDO Exemplars und setzen des Fehlermodus per Konstruktor

<?php
$dsn = 'mysql:dbname=test;host=127.0.0.1';
$user = 'googleguy';
$password = 'googleguy';

/*
    Die Verwendung von try/catch um den Konstruktor ist berechtigt, auch wenn
    wir ERRMODE auf WARNING setzen, da PDO::__construct immer eine PDOException
    auslöst, wenn die Verbindung fehlschlägt.
*/
try {
    $dbh = new PDO($dsn, $user, $password, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING));
} catch (PDOException $e) {
    echo 'Verbindung fehlgeschlagen: ' . $e->getMessage();
    exit;
}

// Dies wird PDO veranlassen einen Fehler der Stufe E_WARNING anstelle einer
// Exception auszulösen (falls die Tabelle nicht existiert)
$dbh->query("SELECT wrongcolumn FROM wrongtable");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Warning: PDO::query(): SQLSTATE[42S02]: Base table or view not found: 1146 Table 'test.wrongtable' doesn't exist in
/tmp/pdo_test.php on line 18

Prepared Statements und Stored Procedures
Large Objects (LOBs)
PDO


Large Objects (LOBs)

Es könnte an irgendeinem Punkt in Ihrer Anwendung passieren, dass Sie eine "große" Menge an Daten in Ihrer Datenbank ablegen müssen. Groß bedeutet typischerweise "etwa 4 kb oder mehr", obwohl manche Datenbanken spielend bis zu 32 kb bearbeiten können, bevor das als "groß" zählt. Large Objects können entweder textueller oder binärer Natur sein. PDO erlaubt Ihnen, mit diesem großen Datentyp zu arbeiten, indem Sie PDO::PARAM_LOB als Typ in Ihren Methodenaufrufen von PDOStatement::bindParam() oder PDOStatement::bindColumn() benutzen. PDO::PARAM_LOB veranlasst PDO, die Daten als Stream zu behandeln, so dass Sie diese mit Hilfe der PHP Streams-API bearbeiten können.

Beispiel #1 Ein Bild aus einer Datenbank anzeigen

Dieses Beispiel weist das LOB der Variable namens $lob zu und sendet es mittels fpassthru() an den Browser. Weil das LOB als Stream dargestellt wird, können Funktionen wie fgets(), fread() und stream_get_contents() damit benutzt werden.

<?php
$db = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2');
$stmt = $db->prepare("select contenttype, imagedata from images where id=?");
$stmt->execute(array($_GET['id']));
$stmt->bindColumn(1, $type, PDO::PARAM_STR, 256);
$stmt->bindColumn(2, $lob, PDO::PARAM_LOB);
$stmt->fetch(PDO::FETCH_BOUND);

header("Content-Type: $type");
fpassthru($lob);
?>

Beispiel #2 Ein Bild in eine Datenbank einfügen

Dieses Beispiel öffnet eine Datei und übergibt das File-Handle an PDO, damit sie als LOB eingefügt wird. PDO wird sein Möglichstes tun, den Inhalt der Datei auf möglichst effiziente Weise in die Datenbank zu bekommen.

<?php
$db = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2');
$stmt = $db->prepare("insert into images (id, contenttype, imagedata) values (?, ?, ?)");
$id = get_new_id(); // Eine Funktion zum Allokieren der neuen ID

// Wir nehmen an, das Skript läuft als Teil eines Datei-Upload-Formulars
// Sie finden weitere Informationen in der PHP-Dokumentation

$fp = fopen($_FILES['file']['tmp_name'], 'rb');

$stmt->bindParam(1, $id);
$stmt->bindParam(2, $_FILES['file']['type']);
$stmt->bindParam(3, $fp, PDO::PARAM_LOB);

$db->beginTransaction();
$stmt->execute();
$db->commit();
?>

Beispiel #3 Ein Bild in eine Datenbank einfügen: Oracle

Oracle erfordert eine leicht unterschiedliche Syntax, um ein LOB aus einer Datei einzufügen. Es ist auch unumgänglich, dass Sie diesen Insert innerhalb einer Transaktion durchführen, andernfalls wird Ihr frisch eingefügtes LOB mit einer Länge von 0 als Teil des impliziten Commits, der beim Ausführen der Abfrage passiert, gespeichert.

<?php
$db = new PDO('oci:', 'scott', 'tiger');
$stmt = $db->prepare("insert into images (id, contenttype, imagedata) " .
  "VALUES (?, ?, EMPTY_BLOB()) RETURNING imagedata INTO ?");
$id = get_new_id(); // Eine Funktion zum Allokieren einer neuen ID

// Wir nehmen an, das Skript läuft als Teil eines Datei-Upload-Formulars
// Sie finden weitere Informationen in der PHP-Dokumentation

$fp = fopen($_FILES['file']['tmp_name'], 'rb');

$stmt->bindParam(1, $id);
$stmt->bindParam(2, $_FILES['file']['type']);
$stmt->bindParam(3, $fp, PDO::PARAM_LOB);

$db->beginTransaction();
$stmt->execute();
$db->commit();
?>

Fehler und Fehlerbehandlung
PDO
PDO


Die PDO-Klasse

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

Einführung

Repräsentiert eine Verbindung zwischen PHP und einem Datenbankserver.

Klassenbeschreibung

PDO {
public __construct ( string $dsn [, string $username [, string $password [, array $options ]]] )
public bool beginTransaction ( void )
public bool commit ( void )
public mixed errorCode ( void )
public array errorInfo ( void )
public int exec ( string $statement )
public mixed getAttribute ( int $attribute )
public static array getAvailableDrivers ( void )
public bool inTransaction ( void )
public string lastInsertId ([ string $name = NULL ] )
public PDOStatement prepare ( string $statement [, array $driver_options = array() ] )
public PDOStatement query ( string $statement )
public string quote ( string $string [, int $parameter_type = PDO::PARAM_STR ] )
public bool rollBack ( void )
public bool setAttribute ( int $attribute , mixed $value )
}

Inhaltsverzeichnis

  • PDO::beginTransaction — Initiates a transaction
  • PDO::commit — Commits a transaction
  • PDO::__construct — Creates a PDO instance representing a connection to a database
  • PDO::errorCode — Fetch the SQLSTATE associated with the last operation on the database handle
  • PDO::errorInfo — Fetch extended error information associated with the last operation on the database handle
  • PDO::exec — Führt ein SQL Statement aus und gibt die Zahl der betroffenen Zeilen zurück
  • PDO::getAttribute — Retrieve a database connection attribute
  • PDO::getAvailableDrivers — Return an array of available PDO drivers
  • PDO::inTransaction — Checks if inside a transaction
  • PDO::lastInsertId — Returns the ID of the last inserted row or sequence value
  • PDO::prepare — Prepares a statement for execution and returns a statement object
  • PDO::query — Executes an SQL statement, returning a result set as a PDOStatement object
  • PDO::quote — Quotes a string for use in a query.
  • PDO::rollBack — Rolls back a transaction
  • PDO::setAttribute — Set an attribute
Large Objects (LOBs)
PDO::beginTransaction
PDO


Initiates a transaction

PDO
PDO::commit
PDO
PHP Manual

PDO::beginTransaction

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDO::beginTransaction — Initiates a transaction

Beschreibung

public bool PDO::beginTransaction ( void )

Turns off autocommit mode. While autocommit mode is turned off, changes made to the database via the PDO object instance are not committed until you end the transaction by calling PDO::commit(). Calling PDO::rollBack() will roll back all changes to the database and return the connection to autocommit mode.

Some databases, including MySQL, automatically issue an implicit COMMIT when a database definition language (DDL) statement such as DROP TABLE or CREATE TABLE is issued within a transaction. The implicit COMMIT will prevent you from rolling back any other changes within the transaction boundary.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Throws a PDOException if there is already a transaction started or the driver does not support transactions.

Hinweis: An exception is raised even when the PDO::ATTR_ERRMODE attribute is not PDO::ERRMODE_EXCEPTION.

Beispiele

Beispiel #1 Roll back a transaction

The following example begins a transaction and issues two statements that modify the database before rolling back the changes. On MySQL, however, the DROP TABLE statement automatically commits the transaction so that none of the changes in the transaction are rolled back.

<?php
/* Begin a transaction, turning off autocommit */
$dbh->beginTransaction();

/* Change the database schema and data */
$sth = $dbh->exec("DROP TABLE fruit");
$sth = $dbh->exec("UPDATE dessert
    SET name = 'hamburger'");

/* Recognize mistake and roll back changes */
$dbh->rollBack();

/* Database connection is now back in autocommit mode */
?>

Siehe auch

  • PDO::commit() - Commits a transaction
  • PDO::rollBack() - Rolls back a transaction
  • Transactions and auto-commit

PDO
PDO::commit
PDO


Commits a transaction

PDO::beginTransaction
PDO::__construct
PDO
PHP Manual

PDO::commit

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDO::commit — Commits a transaction

Beschreibung

public bool PDO::commit ( void )

Commits a transaction, returning the database connection to autocommit mode until the next call to PDO::beginTransaction() starts a new transaction.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Throws a PDOException if there is no active transaction.

Hinweis: An exception is raised even when the PDO::ATTR_ERRMODE attribute is not PDO::ERRMODE_EXCEPTION.

Beispiele

Beispiel #1 Committing a basic transaction

<?php
/* Begin a transaction, turning off autocommit */
$dbh->beginTransaction();

/* Insert multiple records on an all-or-nothing basis */
$sql = 'INSERT INTO fruit
    (name, colour, calories)
    VALUES (?, ?, ?)';

$sth = $dbh->prepare($sql);

foreach ($fruits as $fruit) {
    $sth->execute(array(
        $fruit->name,
        $fruit->colour,
        $fruit->calories,
    ));
}

/* Commit the changes */
$dbh->commit();

/* Database connection is now back in autocommit mode */
?>

Beispiel #2 Committing a DDL transaction

<?php
/* Begin a transaction, turning off autocommit */
$dbh->beginTransaction();

/* Change the database schema */
$sth = $dbh->exec("DROP TABLE fruit");

/* Commit the changes */
$dbh->commit();

/* Database connection is now back in autocommit mode */
?>

Hinweis: Not all databases will allow transactions to operate on DDL statements: some will generate errors, whereas others (including MySQL) will automatically commit the transaction after the first DDL statement has been encountered.

Siehe auch

  • PDO::beginTransaction() - Initiates a transaction
  • PDO::rollBack() - Rolls back a transaction
  • Transactions and auto-commit

PDO::beginTransaction
PDO::__construct
PDO


Creates a PDO instance representing a connection to a database

PDO::commit
PDO::errorCode
PDO
PHP Manual

PDO::__construct

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDO::__construct — Creates a PDO instance representing a connection to a database

Beschreibung

public PDO::__construct ( string $dsn [, string $username [, string $password [, array $options ]]] )

Creates a PDO instance to represent a connection to the requested database.

Parameter-Liste

dsn

The Data Source Name, or DSN, contains the information required to connect to the database.

In general, a DSN consists of the PDO driver name, followed by a colon, followed by the PDO driver-specific connection syntax. Further information is available from the PDO driver-specific documentation.

The dsn parameter supports three different methods of specifying the arguments required to create a database connection:

Driver invocation

dsn contains the full DSN.

URI invocation

dsn consists of uri: followed by a URI that defines the location of a file containing the DSN string. The URI can specify a local file or a remote URL.

uri:file:///path/to/dsnfile

Aliasing

dsn consists of a name name that maps to pdo.dsn.name in php.ini defining the DSN string.

Hinweis:

The alias must be defined in php.ini, and not .htaccess or httpd.conf

username

The user name for the DSN string. This parameter is optional for some PDO drivers.

password

The password for the DSN string. This parameter is optional for some PDO drivers.

options

A key=>value array of driver-specific connection options.

Rückgabewerte

Returns a PDO object on success.

Fehler/Exceptions

PDO::__construct() throws a PDOException if the attempt to connect to the requested database fails.

Beispiele

Beispiel #1 Create a PDO instance via driver invocation

<?php
/* Connect to a MySQL database using driver invocation */
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';

try {
    $dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

?>

Beispiel #2 Create a PDO instance via URI invocation

The following example assumes that the file /usr/local/dbconnect exists with file permissions that enable PHP to read the file. The file contains the PDO DSN to connect to a DB2 database through the PDO_ODBC driver:

odbc:DSN=SAMPLE;UID=john;PWD=mypass

The PHP script can then create a database connection by simply passing the uri: parameter and pointing to the file URI:

<?php
/* Connect to an ODBC database using driver invocation */
$dsn = 'uri:file:///usr/local/dbconnect';
$user = '';
$password = '';

try {
    $dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

?>

Beispiel #3 Create a PDO instance using an alias

The following example assumes that php.ini contains the following entry to enable a connection to a MySQL database using only the alias mydb:

[PDO]
pdo.dsn.mydb="mysql:dbname=testdb;host=localhost"
<?php
/* Connect to an ODBC database using an alias */
$dsn = 'mydb';
$user = '';
$password = '';

try {
    $dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

?>

Hinweis:

Before PHP5.3, a class which extends PDO and implements __call magic will always receive lower case $method.

PDO::commit
PDO::errorCode
PDO


Fetch the SQLSTATE associated with the last operation on the database handle

PDO::__construct
PDO::errorInfo
PDO
PHP Manual

PDO::errorCode

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDO::errorCode — Fetch the SQLSTATE associated with the last operation on the database handle

Beschreibung

public mixed PDO::errorCode ( void )

Rückgabewerte

Returns an SQLSTATE, a five characters alphanumeric identifier defined in the ANSI SQL-92 standard. Briefly, an SQLSTATE consists of a two characters class value followed by a three characters subclass value. A class value of 01 indicates a warning and is accompanied by a return code of SQL_SUCCESS_WITH_INFO. Class values other than '01', except for the class 'IM', indicate an error. The class 'IM' is specific to warnings and errors that derive from the implementation of PDO (or perhaps ODBC, if you're using the ODBC driver) itself. The subclass value '000' in any class indicates that there is no subclass for that SQLSTATE.

PDO::errorCode() only retrieves error codes for operations performed directly on the database handle. If you create a PDOStatement object through PDO::prepare() or PDO::query() and invoke an error on the statement handle, PDO::errorCode() will not reflect that error. You must call PDOStatement::errorCode() to return the error code for an operation performed on a particular statement handle.

Returns NULL if no operation has been run on the database handle.

Beispiele

Beispiel #1 Retrieving an SQLSTATE code

<?php
/* Provoke an error -- the BONES table does not exist */
$dbh->exec("INSERT INTO bones(skull) VALUES ('lucy')");

echo "\nPDO::errorCode(): ", $dbh->errorCode();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

PDO::errorCode(): 42S02

Siehe auch

  • PDO::errorInfo() - Fetch extended error information associated with the last operation on the database handle
  • PDOStatement::errorCode() - Fetch the SQLSTATE associated with the last operation on the statement handle
  • PDOStatement::errorInfo() - Fetch extended error information associated with the last operation on the statement handle

PDO::__construct
PDO::errorInfo
PDO


Fetch extended error information associated with the last operation on the database handle

PDO::errorCode
PDO::exec
PDO
PHP Manual

PDO::errorInfo

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDO::errorInfo — Fetch extended error information associated with the last operation on the database handle

Beschreibung

public array PDO::errorInfo ( void )

Rückgabewerte

PDO::errorInfo() returns an array of error information about the last operation performed by this database handle. The array consists of the following fields:

Element | Information
0 | SQLSTATE error code (a five characters alphanumeric identifier defined in the ANSI SQL standard).
1 | Driver-specific error code.
2 | Driver-specific error message.

Hinweis:

If the SQLSTATE error code is not set or there is no driver-specific error, the elements following element 0 will be set to NULL.

PDO::errorInfo() only retrieves error information for operations performed directly on the database handle. If you create a PDOStatement object through PDO::prepare() or PDO::query() and invoke an error on the statement handle, PDO::errorInfo() will not reflect the error from the statement handle. You must call PDOStatement::errorInfo() to return the error information for an operation performed on a particular statement handle.

Beispiele

Beispiel #1 Displaying errorInfo() fields for a PDO_ODBC connection to a DB2 database

<?php
/* Provoke an error -- bogus SQL syntax */
$stmt = $dbh->prepare('bogus sql');
if (!$stmt) {
    echo "\nPDO::errorInfo():\n";
    print_r($dbh->errorInfo());
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

PDO::errorInfo():
Array
(
    [0] => HY000
    [1] => 1
    [2] => near "bogus": syntax error
)

Siehe auch

  • PDO::errorCode() - Fetch the SQLSTATE associated with the last operation on the database handle
  • PDOStatement::errorCode() - Fetch the SQLSTATE associated with the last operation on the statement handle
  • PDOStatement::errorInfo() - Fetch extended error information associated with the last operation on the statement handle

PDO::errorCode
PDO::exec
PDO


Führt ein SQL Statement aus und gibt die Zahl der betroffenen Zeilen zurück

PDO::errorInfo
PDO::getAttribute
PDO
PHP Manual

PDO::exec

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDO::exec — Führt ein SQL Statement aus und gibt die Zahl der betroffenen Zeilen zurück

Beschreibung

public int PDO::exec ( string $statement )

PDO::exec() führt ein SQL Statement aus und gibt die Anzahl der betroffenen Zeilen zurück.

PDO::exec() gibt nicht die Ergebnisse eines SELECT Statements zurück. Um diese zu erhalten kann entweder PDO::query() genutzt werden, oder ein ein PDOStatement, welches über PDO::prepare() erstellt und über PDOStatement::execute() ausgeführt wird.

Parameter-Liste

statement

Das SQL Statement, welches ausgeführt werden soll.

Alle Usereingaben in diesem Query müssen maskiert werden.

Rückgabewerte

PDO::exec() gibt die Anzahl von Zeilen zurück, welche durch diese Abfrage geändert oder gelöscht wurden. Wenn keine Zeilen geändert wurden, gibt PDO::exec() 0 zurück.

Warnung

Diese Funktion kann sowohl das boolsche FALSE zurückliefern, als auch einen nicht-boolschen Wert, welcher zu FALSE ausgewertet wird. Weitere Informationen entnehmen Sie bitte dem Abschnitt über die boolschen Typen. Benutzen Sie deshalb den === Operator, um den Rückgabewert dieser Funktion zu überprüfen.

Das folgende Beispiel verlässt sich fälschlicherweise auf den Rückgabewert von PDO::exec(), weswegen ein Statement, welches 0 Zeilen ändert, einen Aufruf von die() nach sich zieht:

<?php
$db->exec() or die(print_r($db->errorInfo(), true));
?>

Beispiele

Beispiel #1 Ein DELETE Statement ausführen

Führt das DELETE Statement aus und gibt die Anzahl der gelöschten Zeilen aus.

<?php
$dbh = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');

/* Entferne alle roten Früchte aus der Tabelle */
$count = $dbh->exec("DELETE FROM fruit WHERE colour = 'red'");

/* Und gebe die Anzahl an gelöschten Zeilen zurück */
echo "$count Zeilen wurden gelöscht.\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

10 Zeilen wurden gelöscht.

Siehe auch

  • PDO::prepare() - Prepares a statement for execution and returns a statement object
  • PDO::query() - Executes an SQL statement, returning a result set as a PDOStatement object
  • PDOStatement::execute() - Executes a prepared statement

PDO::errorInfo
PDO::getAttribute
PDO


Retrieve a database connection attribute

PDO::exec
PDO::getAvailableDrivers
PDO
PHP Manual

PDO::getAttribute

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.0)

PDO::getAttribute — Retrieve a database connection attribute

Beschreibung

public mixed PDO::getAttribute ( int $attribute )

This function returns the value of a database connection attribute. To retrieve PDOStatement attributes, refer to PDOStatement::getAttribute().

Note that some database/driver combinations may not support all of the database connection attributes.

Parameter-Liste

attribute

One of the PDO::ATTR_* constants. The constants that apply to database connections are as follows:

  • PDO::ATTR_AUTOCOMMIT
  • PDO::ATTR_CASE
  • PDO::ATTR_CLIENT_VERSION
  • PDO::ATTR_CONNECTION_STATUS
  • PDO::ATTR_DRIVER_NAME
  • PDO::ATTR_ERRMODE
  • PDO::ATTR_ORACLE_NULLS
  • PDO::ATTR_PERSISTENT
  • PDO::ATTR_PREFETCH
  • PDO::ATTR_SERVER_INFO
  • PDO::ATTR_SERVER_VERSION
  • PDO::ATTR_TIMEOUT

Rückgabewerte

A successful call returns the value of the requested PDO attribute. An unsuccessful call returns null.

Beispiele

Beispiel #1 Retrieving database connection attributes

<?php
$conn = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');
$attributes = array(
    "AUTOCOMMIT", "ERRMODE", "CASE", "CLIENT_VERSION", "CONNECTION_STATUS",
    "ORACLE_NULLS", "PERSISTENT", "PREFETCH", "SERVER_INFO", "SERVER_VERSION",
    "TIMEOUT"
);

foreach ($attributes as $val) {
    echo "PDO::ATTR_$val: ";
    echo $conn->getAttribute(constant("PDO::ATTR_$val")) . "\n";
}
?>

Siehe auch

  • PDO::setAttribute() - Set an attribute
  • PDOStatement::getAttribute() - Retrieve a statement attribute
  • PDOStatement::setAttribute() - Set a statement attribute

PDO::exec
PDO::getAvailableDrivers
PDO


Return an array of available PDO drivers

PDO::getAttribute
PDO::inTransaction
PDO
PHP Manual

PDO::getAvailableDrivers

(PHP 5 >= 5.1.3, PHP 7, PECL pdo >= 1.0.3)

PDO::getAvailableDrivers — Return an array of available PDO drivers

Beschreibung

public static array PDO::getAvailableDrivers ( void )
array pdo_drivers ( void )

This function returns all currently available PDO drivers which can be used in DSN parameter of PDO::__construct().

Rückgabewerte

PDO::getAvailableDrivers() returns an array of PDO driver names. If no drivers are available, it returns an empty array.

Beispiele

Beispiel #1 A PDO::getAvailableDrivers() example

<?php
print_r(PDO::getAvailableDrivers());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [0] => mysql
    [1] => sqlite
)

PDO::getAttribute
PDO::inTransaction
PDO


Checks if inside a transaction

PDO::getAvailableDrivers
PDO::lastInsertId
PDO
PHP Manual

PDO::inTransaction

(PHP 5 >= 5.3.3, Bundled pdo_pgsql, PHP 7)

PDO::inTransaction — Checks if inside a transaction

Beschreibung

public bool PDO::inTransaction ( void )

Checks if a transaction is currently active within the driver. This method only works for database drivers that support transactions.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if a transaction is currently active, and FALSE if not.

PDO::getAvailableDrivers
PDO::lastInsertId
PDO


Returns the ID of the last inserted row or sequence value

PDO::inTransaction
PDO::prepare
PDO
PHP Manual

PDO::lastInsertId

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDO::lastInsertId — Returns the ID of the last inserted row or sequence value

Beschreibung

public string PDO::lastInsertId ([ string $name = NULL ] )

Returns the ID of the last inserted row, or the last value from a sequence object, depending on the underlying driver. For example, PDO_PGSQL requires you to specify the name of a sequence object for the name parameter.

Hinweis:

This method may not return a meaningful or consistent result across different PDO drivers, because the underlying database may not even support the notion of auto-increment fields or sequences.

Parameter-Liste

name

Name of the sequence object from which the ID should be returned.

Rückgabewerte

If a sequence name was not specified for the name parameter, PDO::lastInsertId() returns a string representing the row ID of the last row that was inserted into the database.

If a sequence name was specified for the name parameter, PDO::lastInsertId() returns a string representing the last value retrieved from the specified sequence object.

If the PDO driver does not support this capability, PDO::lastInsertId() triggers an IM001 SQLSTATE.

PDO::inTransaction
PDO::prepare
PDO


Prepares a statement for execution and returns a statement object

PDO::lastInsertId
PDO::query
PDO
PHP Manual

PDO::prepare

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDO::prepare — Prepares a statement for execution and returns a statement object

Beschreibung

public PDOStatement PDO::prepare ( string $statement [, array $driver_options = array() ] )

Prepares an SQL statement to be executed by the PDOStatement::execute() method. The SQL statement can contain zero or more named (:name) or question mark (?) parameter markers for which real values will be substituted when the statement is executed. You cannot use both named and question mark parameter markers within the same SQL statement; pick one or the other parameter style. Use these parameters to bind any user-input, do not include the user-input directly in the query.

You must include a unique parameter marker for each value you wish to pass in to the statement when you call PDOStatement::execute(). You cannot use a named parameter marker of the same name more than once in a prepared statement, unless emulation mode is on.

Hinweis:

Parameter markers can represent a complete data literal only. Neither part of literal, nor keyword, nor identifier, nor whatever arbitrary query part can be bound using parameters. For example, you cannot bind multiple values to a single parameter in the IN() clause of an SQL statement.

Calling PDO::prepare() and PDOStatement::execute() for statements that will be issued multiple times with different parameter values optimizes the performance of your application by allowing the driver to negotiate client and/or server side caching of the query plan and meta information, and helps to prevent SQL injection attacks by eliminating the need to manually quote the parameters.

PDO will emulate prepared statements/bound parameters for drivers that do not natively support them, and can also rewrite named or question mark style parameter markers to something more appropriate, if the driver supports one style but not the other.

Parameter-Liste

statement

This must be a valid SQL statement template for the target database server.

driver_options

This array holds one or more key=>value pairs to set attribute values for the PDOStatement object that this method returns. You would most commonly use this to set the PDO::ATTR_CURSOR value to PDO::CURSOR_SCROLL to request a scrollable cursor. Some drivers have driver specific options that may be set at prepare-time.

Rückgabewerte

If the database server successfully prepares the statement, PDO::prepare() returns a PDOStatement object. If the database server cannot successfully prepare the statement, PDO::prepare() returns FALSE or emits PDOException (depending on error handling).

Hinweis:

Emulated prepared statements does not communicate with the database server so PDO::prepare() does not check the statement.

Beispiele

Beispiel #1 Prepare an SQL statement with named parameters

<?php
/* Execute a prepared statement by passing an array of values */
$sql = 'SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour';
$sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$sth->execute(array(':calories' => 150, ':colour' => 'red'));
$red = $sth->fetchAll();
$sth->execute(array(':calories' => 175, ':colour' => 'yellow'));
$yellow = $sth->fetchAll();
?>

Beispiel #2 Prepare an SQL statement with question mark parameters

<?php
/* Execute a prepared statement by passing an array of values */
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->execute(array(150, 'red'));
$red = $sth->fetchAll();
$sth->execute(array(175, 'yellow'));
$yellow = $sth->fetchAll();
?>

Siehe auch

  • PDO::exec() - Führt ein SQL Statement aus und gibt die Zahl der betroffenen Zeilen zurück
  • PDO::query() - Executes an SQL statement, returning a result set as a PDOStatement object
  • PDOStatement::execute() - Executes a prepared statement

PDO::lastInsertId
PDO::query
PDO


Executes an SQL statement, returning a result set as a PDOStatement object

PDO::prepare
PDO::quote
PDO
PHP Manual

PDO::query

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.0)

PDO::query — Executes an SQL statement, returning a result set as a PDOStatement object

Beschreibung

public PDOStatement PDO::query ( string $statement )
public PDOStatement PDO::query ( string $statement , int $PDO::FETCH_COLUMN , int $colno )
public PDOStatement PDO::query ( string $statement , int $PDO::FETCH_CLASS , string $classname , array $ctorargs )
public PDOStatement PDO::query ( string $statement , int $PDO::FETCH_INTO , object $object )

PDO::query() executes an SQL statement in a single function call, returning the result set (if any) returned by the statement as a PDOStatement object.

For a query that you need to issue multiple times, you will realize better performance if you prepare a PDOStatement object using PDO::prepare() and issue the statement with multiple calls to PDOStatement::execute().

If you do not fetch all of the data in a result set before issuing your next call to PDO::query(), your call may fail. Call PDOStatement::closeCursor() to release the database resources associated with the PDOStatement object before issuing your next call to PDO::query().

Hinweis:

Although this function is only documented as having a single parameter, you may pass additional arguments to this function. They will be treated as though you called PDOStatement::setFetchMode() on the resultant statement object.

Parameter-Liste

statement

The SQL statement to prepare and execute.

Data inside the query should be properly escaped.

Rückgabewerte

PDO::query() returns a PDOStatement object, or FALSE on failure.

Beispiele

Beispiel #1 Demonstrate PDO::query

A nice feature of PDO::query() is that it enables you to iterate over the rowset returned by a successfully executed SELECT statement.

<?php
function getFruit($conn) {
    $sql = 'SELECT name, color, calories FROM fruit ORDER BY name';
    foreach ($conn->query($sql) as $row) {
        print $row['name'] . "\t";
        print $row['color'] . "\t";
        print $row['calories'] . "\n";
    }
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

apple   red     150
banana  yellow  250
kiwi    brown   75
lemon   yellow  25
orange  orange  300
pear    green   150
watermelon      pink    90

Siehe auch

  • PDO::exec() - Führt ein SQL Statement aus und gibt die Zahl der betroffenen Zeilen zurück
  • PDO::prepare() - Prepares a statement for execution and returns a statement object
  • PDOStatement::execute() - Executes a prepared statement

PDO::prepare
PDO::quote
PDO


Quotes a string for use in a query.

PDO::query
PDO::rollBack
PDO
PHP Manual

PDO::quote

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.1)

PDO::quote — Quotes a string for use in a query.

Beschreibung

public string PDO::quote ( string $string [, int $parameter_type = PDO::PARAM_STR ] )

PDO::quote() places quotes around the input string (if required) and escapes special characters within the input string, using a quoting style appropriate to the underlying driver.

If you are using this function to build SQL statements, you are strongly recommended to use PDO::prepare() to prepare SQL statements with bound parameters instead of using PDO::quote() to interpolate user input into an SQL statement. Prepared statements with bound parameters are not only more portable, more convenient, immune to SQL injection, but are often much faster to execute than interpolated queries, as both the server and client side can cache a compiled form of the query.

Not all PDO drivers implement this method (notably PDO_ODBC). Consider using prepared statements instead.

Achtung

Security: the default character set

The character set must be set either on the server level, or within the database connection itself (depending on the driver) for it to affect PDO::quote(). See the driver-specific documentation for more information.

Parameter-Liste

string

The string to be quoted.

parameter_type

Provides a data type hint for drivers that have alternate quoting styles.

Rückgabewerte

Returns a quoted string that is theoretically safe to pass into an SQL statement. Returns FALSE if the driver does not support quoting in this way.

Beispiele

Beispiel #1 Quoting a normal string

<?php
$conn = new PDO('sqlite:/home/lynn/music.sql3');

/* Simple string */
$string = 'Nice';
print "Unquoted string: $string\n";
print "Quoted string: " . $conn->quote($string) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Unquoted string: Nice
Quoted string: 'Nice'

Beispiel #2 Quoting a dangerous string

<?php
$conn = new PDO('sqlite:/home/lynn/music.sql3');

/* Dangerous string */
$string = 'Naughty \' string';
print "Unquoted string: $string\n";
print "Quoted string:" . $conn->quote($string) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Unquoted string: Naughty ' string
Quoted string: 'Naughty '' string'

Beispiel #3 Quoting a complex string

<?php
$conn = new PDO('sqlite:/home/lynn/music.sql3');

/* Complex string */
$string = "Co'mpl''ex \"st'\"ring";
print "Unquoted string: $string\n";
print "Quoted string: " . $conn->quote($string) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Unquoted string: Co'mpl''ex "st'"ring
Quoted string: 'Co''mpl''''ex "st''"ring'

Siehe auch

  • PDO::prepare() - Prepares a statement for execution and returns a statement object
  • PDOStatement::execute() - Executes a prepared statement

PDO::query
PDO::rollBack
PDO


Rolls back a transaction

PDO::quote
PDO::setAttribute
PDO
PHP Manual

PDO::rollBack

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDO::rollBack — Rolls back a transaction

Beschreibung

public bool PDO::rollBack ( void )

Rolls back the current transaction, as initiated by PDO::beginTransaction().

If the database was set to autocommit mode, this function will restore autocommit mode after it has rolled back the transaction.

Some databases, including MySQL, automatically issue an implicit COMMIT when a database definition language (DDL) statement such as DROP TABLE or CREATE TABLE is issued within a transaction. The implicit COMMIT will prevent you from rolling back any other changes within the transaction boundary.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Throws a PDOException if there is no active transaction.

Hinweis: An exception is raised even when the PDO::ATTR_ERRMODE attribute is not PDO::ERRMODE_EXCEPTION.

Beispiele

Beispiel #1 Roll back a transaction

The following example begins a transaction and issues two statements that modify the database before rolling back the changes. On MySQL, however, the DROP TABLE statement automatically commits the transaction so that none of the changes in the transaction are rolled back.

<?php
/* Begin a transaction, turning off autocommit */
$dbh->beginTransaction();

/* Change the database schema and data */
$sth = $dbh->exec("DROP TABLE fruit");
$sth = $dbh->exec("UPDATE dessert
    SET name = 'hamburger'");

/* Recognize mistake and roll back changes */
$dbh->rollBack();

/* Database connection is now back in autocommit mode */
?>

Siehe auch

  • PDO::beginTransaction() - Initiates a transaction
  • PDO::commit() - Commits a transaction
  • Transactions and auto-commit

PDO::quote
PDO::setAttribute
PDO


Set an attribute

PDO::rollBack
PDOStatement
PDO
PHP Manual

PDO::setAttribute

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDO::setAttribute — Set an attribute

Beschreibung

public bool PDO::setAttribute ( int $attribute , mixed $value )

Sets an attribute on the database handle. Some of the available generic attributes are listed below; some drivers may make use of additional driver specific attributes.

  • PDO::ATTR_CASE: Force column names to a specific case.

    • PDO::CASE_LOWER: Force column names to lower case.

    • PDO::CASE_NATURAL: Leave column names as returned by the database driver.

    • PDO::CASE_UPPER: Force column names to upper case.

  • PDO::ATTR_ERRMODE: Error reporting.

    • PDO::ERRMODE_SILENT: Just set error codes.

    • PDO::ERRMODE_WARNING: Raise E_WARNING.

    • PDO::ERRMODE_EXCEPTION: Throw exceptions.

  • PDO::ATTR_ORACLE_NULLS (available with all drivers, not just Oracle): Conversion of NULL and empty strings.

    • PDO::NULL_NATURAL: No conversion.

    • PDO::NULL_EMPTY_STRING: Empty string is converted to NULL.

    • PDO::NULL_TO_STRING: NULL is converted to an empty string.

  • PDO::ATTR_STRINGIFY_FETCHES: Convert numeric values to strings when fetching. Requires bool.

  • PDO::ATTR_STATEMENT_CLASS: Set user-supplied statement class derived from PDOStatement. Cannot be used with persistent PDO instances. Requires array(string classname, array(mixed constructor_args)).

  • PDO::ATTR_TIMEOUT: Specifies the timeout duration in seconds. Not all drivers support this option, and its meaning may differ from driver to driver. For example, sqlite will wait for up to this time value before giving up on obtaining an writable lock, but other drivers may interpret this as a connect or a read timeout interval. Requires int.

  • PDO::ATTR_AUTOCOMMIT (available in OCI, Firebird and MySQL): Whether to autocommit every single statement.

  • PDO::ATTR_EMULATE_PREPARES Enables or disables emulation of prepared statements. Some drivers do not support native prepared statements or have limited support for them. Use this setting to force PDO to either always emulate prepared statements (if TRUE and emulated prepares are supported by the driver), or to try to use native prepared statements (if FALSE). It will always fall back to emulating the prepared statement if the driver cannot successfully prepare the current query. Requires bool.

  • PDO::MYSQL_ATTR_USE_BUFFERED_QUERY (available in MySQL): Use buffered queries.

  • PDO::ATTR_DEFAULT_FETCH_MODE: Set default fetch mode. Description of modes is available in PDOStatement::fetch() documentation.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDO::rollBack
PDOStatement
PDO


Die PDOStatement-Klasse

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 1.0.0)

Einführung

Repräsentiert ein Prepared Statement und, nachdem es ausgeführt wurde, die zugehörigen Datensätze.

Klassenbeschreibung

PDOStatement implements Traversable {
/* Eigenschaften */
readonly string $queryString;
/* Methoden */
public bool bindColumn ( mixed $column , mixed &$param [, int $type [, int $maxlen [, mixed $driverdata ]]] )
public bool bindParam ( mixed $parameter , mixed &$variable [, int $data_type = PDO::PARAM_STR [, int $length [, mixed $driver_options ]]] )
public bool bindValue ( mixed $parameter , mixed $value [, int $data_type = PDO::PARAM_STR ] )
public bool closeCursor ( void )
public int columnCount ( void )
public void debugDumpParams ( void )
public string errorCode ( void )
public array errorInfo ( void )
public bool execute ([ array $input_parameters ] )
public mixed fetch ([ int $fetch_style [, int $cursor_orientation = PDO::FETCH_ORI_NEXT [, int $cursor_offset = 0 ]]] )
public array fetchAll ([ int $fetch_style [, mixed $fetch_argument [, array $ctor_args = array() ]]] )
public mixed fetchColumn ([ int $column_number = 0 ] )
public mixed fetchObject ([ string $class_name = "stdClass" [, array $ctor_args ]] )
public mixed getAttribute ( int $attribute )
public array getColumnMeta ( int $column )
public bool nextRowset ( void )
public int rowCount ( void )
public bool setAttribute ( int $attribute , mixed $value )
public bool setFetchMode ( int $mode )
}

Eigenschaften

queryString

Verwendete Abfrage.

Inhaltsverzeichnis

  • PDOStatement::bindColumn — Bind a column to a PHP variable
  • PDOStatement::bindParam — Binds a parameter to the specified variable name
  • PDOStatement::bindValue — Binds a value to a parameter
  • PDOStatement::closeCursor — Closes the cursor, enabling the statement to be executed again.
  • PDOStatement::columnCount — Returns the number of columns in the result set
  • PDOStatement::debugDumpParams — Dump an SQL prepared command
  • PDOStatement::errorCode — Fetch the SQLSTATE associated with the last operation on the statement handle
  • PDOStatement::errorInfo — Fetch extended error information associated with the last operation on the statement handle
  • PDOStatement::execute — Executes a prepared statement
  • PDOStatement::fetch — Fetches the next row from a result set
  • PDOStatement::fetchAll — Returns an array containing all of the result set rows
  • PDOStatement::fetchColumn — Returns a single column from the next row of a result set
  • PDOStatement::fetchObject — Fetches the next row and returns it as an object.
  • PDOStatement::getAttribute — Retrieve a statement attribute
  • PDOStatement::getColumnMeta — Returns metadata for a column in a result set
  • PDOStatement::nextRowset — Advances to the next rowset in a multi-rowset statement handle
  • PDOStatement::rowCount — Returns the number of rows affected by the last SQL statement
  • PDOStatement::setAttribute — Set a statement attribute
  • PDOStatement::setFetchMode — Set the default fetch mode for this statement
PDO::setAttribute
PDOStatement::bindColumn
PDO


Bind a column to a PHP variable

PDOStatement
PDOStatement::bindParam
PDOStatement
PHP Manual

PDOStatement::bindColumn

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDOStatement::bindColumn — Bind a column to a PHP variable

Beschreibung

public bool PDOStatement::bindColumn ( mixed $column , mixed &$param [, int $type [, int $maxlen [, mixed $driverdata ]]] )

PDOStatement::bindColumn() arranges to have a particular variable bound to a given column in the result-set from a query. Each call to PDOStatement::fetch() or PDOStatement::fetchAll() will update all the variables that are bound to columns.

Hinweis:

Since information about the columns is not always available to PDO until the statement is executed, portable applications should call this function after PDOStatement::execute().

However, to be able to bind a LOB column as a stream when using the PgSQL driver, applications should call this method before calling PDOStatement::execute(), otherwise the large object OID will be returned as an integer.

Parameter-Liste

column

Number of the column (1-indexed) or name of the column in the result set. If using the column name, be aware that the name should match the case of the column, as returned by the driver.

param

Name of the PHP variable to which the column will be bound.

type

Data type of the parameter, specified by the PDO::PARAM_* constants.

maxlen

A hint for pre-allocation.

driverdata

Optional parameter(s) for the driver.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Binding result set output to PHP variables

Binding columns in the result set to PHP variables is an effective way to make the data contained in each row immediately available to your application. The following example demonstrates how PDO allows you to bind and retrieve columns with a variety of options and with intelligent defaults.

<?php
function readData($dbh) {
  $sql = 'SELECT name, colour, calories FROM fruit';
  try {
    $stmt = $dbh->prepare($sql);
    $stmt->execute();

    /* Bind by column number */
    $stmt->bindColumn(1, $name);
    $stmt->bindColumn(2, $colour);

    /* Bind by column name */
    $stmt->bindColumn('calories', $cals);

    while ($row = $stmt->fetch(PDO::FETCH_BOUND)) {
      $data = $name . "\t" . $colour . "\t" . $cals . "\n";
      print $data;
    }
  }
  catch (PDOException $e) {
    print $e->getMessage();
  }
}
readData($dbh);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

apple   red     150
banana  yellow  175
kiwi    green   75
orange  orange  150
mango   red     200
strawberry      red     25

Siehe auch

  • PDOStatement::execute() - Executes a prepared statement
  • PDOStatement::fetch() - Fetches the next row from a result set
  • PDOStatement::fetchAll() - Returns an array containing all of the result set rows
  • PDOStatement::fetchColumn() - Returns a single column from the next row of a result set

PDOStatement
PDOStatement::bindParam
PDOStatement


Binds a parameter to the specified variable name

PDOStatement::bindColumn
PDOStatement::bindValue
PDOStatement
PHP Manual

PDOStatement::bindParam

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDOStatement::bindParam — Binds a parameter to the specified variable name

Beschreibung

public bool PDOStatement::bindParam ( mixed $parameter , mixed &$variable [, int $data_type = PDO::PARAM_STR [, int $length [, mixed $driver_options ]]] )

Binds a PHP variable to a corresponding named or question mark placeholder in the SQL statement that was used to prepare the statement. Unlike PDOStatement::bindValue(), the variable is bound as a reference and will only be evaluated at the time that PDOStatement::execute() is called.

Most parameters are input parameters, that is, parameters that are used in a read-only fashion to build up the query. Some drivers support the invocation of stored procedures that return data as output parameters, and some also as input/output parameters that both send in data and are updated to receive it.

Parameter-Liste

parameter

Parameter identifier. For a prepared statement using named placeholders, this will be a parameter name of the form :name. For a prepared statement using question mark placeholders, this will be the 1-indexed position of the parameter.

variable

Name of the PHP variable to bind to the SQL statement parameter.

data_type

Explicit data type for the parameter using the PDO::PARAM_* constants. To return an INOUT parameter from a stored procedure, use the bitwise OR operator to set the PDO::PARAM_INPUT_OUTPUT bits for the data_type parameter.

length

Length of the data type. To indicate that a parameter is an OUT parameter from a stored procedure, you must explicitly set the length.

driver_options

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Execute a prepared statement with named placeholders

<?php
/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');
$sth->bindParam(':calories', $calories, PDO::PARAM_INT);
$sth->bindParam(':colour', $colour, PDO::PARAM_STR, 12);
$sth->execute();
?>

Beispiel #2 Execute a prepared statement with question mark placeholders

<?php
/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->bindParam(1, $calories, PDO::PARAM_INT);
$sth->bindParam(2, $colour, PDO::PARAM_STR, 12);
$sth->execute();
?>

Beispiel #3 Call a stored procedure with an INOUT parameter

<?php
/* Call a stored procedure with an INOUT parameter */
$colour = 'red';
$sth = $dbh->prepare('CALL puree_fruit(?)');
$sth->bindParam(1, $colour, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 12);
$sth->execute();
print("After pureeing fruit, the colour is: $colour");
?>

Siehe auch

  • PDO::prepare() - Prepares a statement for execution and returns a statement object
  • PDOStatement::execute() - Executes a prepared statement
  • PDOStatement::bindValue() - Binds a value to a parameter

PDOStatement::bindColumn
PDOStatement::bindValue
PDOStatement


Binds a value to a parameter

PDOStatement::bindParam
PDOStatement::closeCursor
PDOStatement
PHP Manual

PDOStatement::bindValue

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 1.0.0)

PDOStatement::bindValue — Binds a value to a parameter

Beschreibung

public bool PDOStatement::bindValue ( mixed $parameter , mixed $value [, int $data_type = PDO::PARAM_STR ] )

Binds a value to a corresponding named or question mark placeholder in the SQL statement that was used to prepare the statement.

Parameter-Liste

parameter

Parameter identifier. For a prepared statement using named placeholders, this will be a parameter name of the form :name. For a prepared statement using question mark placeholders, this will be the 1-indexed position of the parameter.

value

The value to bind to the parameter.

data_type

Explicit data type for the parameter using the PDO::PARAM_* constants.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Execute a prepared statement with named placeholders

<?php
/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');
$sth->bindValue(':calories', $calories, PDO::PARAM_INT);
$sth->bindValue(':colour', $colour, PDO::PARAM_STR);
$sth->execute();
?>

Beispiel #2 Execute a prepared statement with question mark placeholders

<?php
/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->bindValue(1, $calories, PDO::PARAM_INT);
$sth->bindValue(2, $colour, PDO::PARAM_STR);
$sth->execute();
?>

Siehe auch

  • PDO::prepare() - Prepares a statement for execution and returns a statement object
  • PDOStatement::execute() - Executes a prepared statement
  • PDOStatement::bindParam() - Binds a parameter to the specified variable name

PDOStatement::bindParam
PDOStatement::closeCursor
PDOStatement


Closes the cursor, enabling the statement to be executed again.

PDOStatement::bindValue
PDOStatement::columnCount
PDOStatement
PHP Manual

PDOStatement::closeCursor

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.9.0)

PDOStatement::closeCursor — Closes the cursor, enabling the statement to be executed again.

Beschreibung

public bool PDOStatement::closeCursor ( void )

PDOStatement::closeCursor() frees up the connection to the server so that other SQL statements may be issued, but leaves the statement in a state that enables it to be executed again.

This method is useful for database drivers that do not support executing a PDOStatement object when a previously executed PDOStatement object still has unfetched rows. If your database driver suffers from this limitation, the problem may manifest itself in an out-of-sequence error.

PDOStatement::closeCursor() is implemented either as an optional driver specific method (allowing for maximum efficiency), or as the generic PDO fallback if no driver specific function is installed. The PDO generic fallback is semantically the same as writing the following code in your PHP script:

<?php
do {
    while ($stmt->fetch())
        ;
    if (!$stmt->nextRowset())
        break;
} while (true);
?>

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 A PDOStatement::closeCursor() example

In the following example, the $stmt PDOStatement object returns multiple rows but the application fetches only the first row, leaving the PDOStatement object in a state of having unfetched rows. To ensure that the application will work with all database drivers, the author inserts a call to PDOStatement::closeCursor() on $stmt before executing the $otherStmt PDOStatement object.

<?php
/* Create a PDOStatement object */
$stmt = $dbh->prepare('SELECT foo FROM bar');

/* Create a second PDOStatement object */
$otherStmt = $dbh->prepare('SELECT foobaz FROM foobar');

/* Execute the first statement */
$stmt->execute();

/* Fetch only the first row from the results */
$stmt->fetch();

/* The following call to closeCursor() may be required by some drivers */
$stmt->closeCursor();

/* Now we can execute the second statement */
$otherStmt->execute();
?>

Siehe auch

  • PDOStatement::execute() - Executes a prepared statement

PDOStatement::bindValue
PDOStatement::columnCount
PDOStatement


Returns the number of columns in the result set

PDOStatement::closeCursor
PDOStatement::debugDumpParams
PDOStatement
PHP Manual

PDOStatement::columnCount

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.0)

PDOStatement::columnCount — Returns the number of columns in the result set

Beschreibung

public int PDOStatement::columnCount ( void )

Use PDOStatement::columnCount() to return the number of columns in the result set represented by the PDOStatement object.

If the PDOStatement object was returned from PDO::query(), the column count is immediately available.

If the PDOStatement object was returned from PDO::prepare(), an accurate column count will not be available until you invoke PDOStatement::execute().

Rückgabewerte

Returns the number of columns in the result set represented by the PDOStatement object, even if the result set is empty. If there is no result set, PDOStatement::columnCount() returns 0.

Beispiele

Beispiel #1 Counting columns

This example demonstrates how PDOStatement::columnCount() operates with and without a result set.

<?php
$dbh = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');

$sth = $dbh->prepare("SELECT name, colour FROM fruit");

/* Count the number of columns in the (non-existent) result set */
$colcount = $sth->columnCount();
print("Before execute(), result set has $colcount columns (should be 0)\n");

$sth->execute();

/* Count the number of columns in the result set */
$colcount = $sth->columnCount();
print("After execute(), result set has $colcount columns (should be 2)\n");

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Before execute(), result set has 0 columns (should be 0)
After execute(), result set has 2 columns (should be 2)

Siehe auch

  • PDO::prepare() - Prepares a statement for execution and returns a statement object
  • PDOStatement::execute() - Executes a prepared statement
  • PDOStatement::rowCount() - Returns the number of rows affected by the last SQL statement

PDOStatement::closeCursor
PDOStatement::debugDumpParams
PDOStatement


Dump an SQL prepared command

PDOStatement::columnCount
PDOStatement::errorCode
PDOStatement
PHP Manual

PDOStatement::debugDumpParams

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.9.0)

PDOStatement::debugDumpParams — Dump an SQL prepared command

Beschreibung

public void PDOStatement::debugDumpParams ( void )

Dumps the information contained by a prepared statement directly on the output. It will provide the SQL query in use, the number of parameters used (Params), the list of parameters with their key name or position, their name, their position in the query (if this is supported by the PDO driver, otherwise, it will be -1), type (param_type) as an integer, and a boolean value is_param.

This is a debug function, which dumps the data directly to the normal output.

Tipp

Bei allem, dessen Ergebnisausgabe direkt im Browser angezeigt wird, können Sie die Funktionen zur Ausgabesteuerung verwenden. Damit lässt sich die Ausgabe dieser Funktion erfassen, und - zum Beispiel - in einem string speichern.

This will only dump the parameters in the statement at the moment of the dump. Extra parameters are not stored in the statement, and not displayed.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 PDOStatement::debugDumpParams() example with named parameters

<?php
/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');
$sth->bindParam(':calories', $calories, PDO::PARAM_INT);
$sth->bindValue(':colour', $colour, PDO::PARAM_STR, 12);
$sth->execute();

$sth->debugDumpParams();

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

SQL: [96] SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour
Params:  2
Key: Name: [9] :calories
paramno=-1
name=[9] ":calories"
is_param=1
param_type=1
Key: Name: [7] :colour
paramno=-1
name=[7] ":colour"
is_param=1
param_type=2

Beispiel #2 PDOStatement::debugDumpParams() example with unnamed parameters

<?php

/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$name = 'apple';

$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->bindParam(1, $calories, PDO::PARAM_INT);
$sth->bindValue(2, $colour, PDO::PARAM_STR);
$sth->execute();

$sth->debugDumpParams();

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

SQL: [82] SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?
Params:  2
Key: Position #0:
paramno=0
name=[0] ""
is_param=1
param_type=1
Key: Position #1:
paramno=1
name=[0] ""
is_param=1
param_type=2

Siehe auch

  • PDO::prepare() - Prepares a statement for execution and returns a statement object
  • PDOStatement::bindParam() - Binds a parameter to the specified variable name
  • PDOStatement::bindValue() - Binds a value to a parameter

PDOStatement::columnCount
PDOStatement::errorCode
PDOStatement


Fetch the SQLSTATE associated with the last operation on the statement handle

PDOStatement::debugDumpParams
PDOStatement::errorInfo
PDOStatement
PHP Manual

PDOStatement::errorCode

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDOStatement::errorCode — Fetch the SQLSTATE associated with the last operation on the statement handle

Beschreibung

public string PDOStatement::errorCode ( void )

Rückgabewerte

Identical to PDO::errorCode(), except that PDOStatement::errorCode() only retrieves error codes for operations performed with PDOStatement objects.

Beispiele

Beispiel #1 Retrieving an SQLSTATE code

<?php
/* Provoke an error -- the BONES table does not exist */
$err = $dbh->prepare('SELECT skull FROM bones');
$err->execute();

echo "\nPDOStatement::errorCode(): ";
print $err->errorCode();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

PDOStatement::errorCode(): 42S02

Siehe auch

  • PDO::errorCode() - Fetch the SQLSTATE associated with the last operation on the database handle
  • PDO::errorInfo() - Fetch extended error information associated with the last operation on the database handle
  • PDOStatement::errorInfo() - Fetch extended error information associated with the last operation on the statement handle

PDOStatement::debugDumpParams
PDOStatement::errorInfo
PDOStatement


Fetch extended error information associated with the last operation on the statement handle

PDOStatement::errorCode
PDOStatement::execute
PDOStatement
PHP Manual

PDOStatement::errorInfo

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDOStatement::errorInfo — Fetch extended error information associated with the last operation on the statement handle

Beschreibung

public array PDOStatement::errorInfo ( void )

Rückgabewerte

PDOStatement::errorInfo() returns an array of error information about the last operation performed by this statement handle. The array consists of the following fields:

Element | Information
0 | SQLSTATE error code (a five characters alphanumeric identifier defined in the ANSI SQL standard).
1 | Driver specific error code.
2 | Driver specific error message.

Beispiele

Beispiel #1 Displaying errorInfo() fields for a PDO_ODBC connection to a DB2 database

<?php
/* Provoke an error -- the BONES table does not exist */
$sth = $dbh->prepare('SELECT skull FROM bones');
$sth->execute();

echo "\nPDOStatement::errorInfo():\n";
$arr = $sth->errorInfo();
print_r($arr);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

PDOStatement::errorInfo():
Array
(
    [0] => 42S02
    [1] => -204
    [2] => [IBM][CLI Driver][DB2/LINUX] SQL0204N  "DANIELS.BONES" is an undefined name.  SQLSTATE=42704
)

Siehe auch

  • PDO::errorCode() - Fetch the SQLSTATE associated with the last operation on the database handle
  • PDO::errorInfo() - Fetch extended error information associated with the last operation on the database handle
  • PDOStatement::errorCode() - Fetch the SQLSTATE associated with the last operation on the statement handle

PDOStatement::errorCode
PDOStatement::execute
PDOStatement


Executes a prepared statement

PDOStatement::errorInfo
PDOStatement::fetch
PDOStatement
PHP Manual

PDOStatement::execute

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDOStatement::execute — Executes a prepared statement

Beschreibung

public bool PDOStatement::execute ([ array $input_parameters ] )

Execute the prepared statement. If the prepared statement included parameter markers, either:

  • PDOStatement::bindParam() and/or PDOStatement::bindValue() has to be called to bind either variables or values (respectively) to the parameter markers. Bound variables pass their value as input and receive the output value, if any, of their associated parameter markers

  • or an array of input-only parameter values has to be passed

Parameter-Liste

input_parameters

An array of values with as many elements as there are bound parameters in the SQL statement being executed. All values are treated as PDO::PARAM_STR.

Multiple values cannot be bound to a single parameter; for example, it is not allowed to bind two values to a single named parameter in an IN() clause.

Binding more values than specified is not possible; if more keys exist in input_parameters than in the SQL specified in the PDO::prepare(), then the statement will fail and an error is emitted.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.2.0 | The keys from input_parameters must match the ones declared in the SQL. Before PHP 5.2.0 this was silently ignored.

Beispiele

Beispiel #1 Execute a prepared statement with a bound variable and value

<?php
/* Execute a prepared statement by binding a variable and value */
$calories = 150;
$colour = 'gre';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour LIKE :colour');
$sth->bindParam(':calories', $calories, PDO::PARAM_INT);
$sth->bindValue(':colour', "%{$colour}%");
$sth->execute();
?>

Beispiel #2 Execute a prepared statement with an array of insert values (named parameters)

<?php
/* Execute a prepared statement by passing an array of insert values */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');
$sth->execute(array(':calories' => $calories, ':colour' => $colour));
?>

Beispiel #3 Execute a prepared statement with an array of insert values (placeholders)

<?php
/* Execute a prepared statement by passing an array of insert values */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->execute(array($calories, $colour));
?>

Beispiel #4 Execute a prepared statement with question mark placeholders

<?php
/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->bindParam(1, $calories, PDO::PARAM_INT);
$sth->bindParam(2, $colour, PDO::PARAM_STR, 12);
$sth->execute();
?>

Beispiel #5 Execute a prepared statement using array for IN clause

<?php
/* Execute a prepared statement using an array of values for an IN clause */
$params = array(1, 21, 63, 171);
/* Create a string for the parameter placeholders filled to the number of params */
$place_holders = implode(',', array_fill(0, count($params), '?'));

/*
    This prepares the statement with enough unnamed placeholders for every value
    in our $params array. The values of the $params array are then bound to the
    placeholders in the prepared statement when the statement is executed.
    This is not the same thing as using PDOStatement::bindParam() since this
    requires a reference to the variable. PDOStatement::execute() only binds
    by value instead.
*/
$sth = $dbh->prepare("SELECT id, name FROM contacts WHERE id IN ($place_holders)");
$sth->execute($params);
?>

Anmerkungen

Hinweis:

Some drivers require to close cursor before executing next statement.

Siehe auch

  • PDO::prepare() - Prepares a statement for execution and returns a statement object
  • PDOStatement::bindParam() - Binds a parameter to the specified variable name
  • PDOStatement::fetch() - Fetches the next row from a result set
  • PDOStatement::fetchAll() - Returns an array containing all of the result set rows
  • PDOStatement::fetchColumn() - Returns a single column from the next row of a result set

PDOStatement::errorInfo
PDOStatement::fetch
PDOStatement


Fetches the next row from a result set

PDOStatement::execute
PDOStatement::fetchAll
PDOStatement
PHP Manual

PDOStatement::fetch

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDOStatement::fetch — Fetches the next row from a result set

Beschreibung

public mixed PDOStatement::fetch ([ int $fetch_style [, int $cursor_orientation = PDO::FETCH_ORI_NEXT [, int $cursor_offset = 0 ]]] )

Fetches a row from a result set associated with a PDOStatement object. The fetch_style parameter determines how PDO returns the row.

Parameter-Liste

fetch_style

Controls how the next row will be returned to the caller. This value must be one of the PDO::FETCH_* constants, defaulting to value of PDO::ATTR_DEFAULT_FETCH_MODE (which defaults to PDO::FETCH_BOTH).

  • PDO::FETCH_ASSOC: returns an array indexed by column name as returned in your result set

  • PDO::FETCH_BOTH (default): returns an array indexed by both column name and 0-indexed column number as returned in your result set

  • PDO::FETCH_BOUND: returns TRUE and assigns the values of the columns in your result set to the PHP variables to which they were bound with the PDOStatement::bindColumn() method

  • PDO::FETCH_CLASS: returns a new instance of the requested class, mapping the columns of the result set to named properties in the class, and calling the constructor afterwards, unless PDO::FETCH_PROPS_LATE is also given. If fetch_style includes PDO::FETCH_CLASSTYPE (e.g. PDO::FETCH_CLASS | PDO::FETCH_CLASSTYPE) then the name of the class is determined from a value of the first column.

  • PDO::FETCH_INTO: updates an existing instance of the requested class, mapping the columns of the result set to named properties in the class

  • PDO::FETCH_LAZY: combines PDO::FETCH_BOTH and PDO::FETCH_OBJ, creating the object variable names as they are accessed

  • PDO::FETCH_NAMED: returns an array with the same form as PDO::FETCH_ASSOC, except that if there are multiple columns with the same name, the value referred to by that key will be an array of all the values in the row that had that column name

  • PDO::FETCH_NUM: returns an array indexed by column number as returned in your result set, starting at column 0

  • PDO::FETCH_OBJ: returns an anonymous object with property names that correspond to the column names returned in your result set

  • PDO::FETCH_PROPS_LATE: when used with PDO::FETCH_CLASS, the constructor of the class is called before the properties are assigned from the respective column values.

cursor_orientation

For a PDOStatement object representing a scrollable cursor, this value determines which row will be returned to the caller. This value must be one of the PDO::FETCH_ORI_* constants, defaulting to PDO::FETCH_ORI_NEXT. To request a scrollable cursor for your PDOStatement object, you must set the PDO::ATTR_CURSOR attribute to PDO::CURSOR_SCROLL when you prepare the SQL statement with PDO::prepare().

offset

For a PDOStatement object representing a scrollable cursor for which the cursor_orientation parameter is set to PDO::FETCH_ORI_ABS, this value specifies the absolute number of the row in the result set that shall be fetched.

For a PDOStatement object representing a scrollable cursor for which the cursor_orientation parameter is set to PDO::FETCH_ORI_REL, this value specifies the row to fetch relative to the cursor position before PDOStatement::fetch() was called.

Rückgabewerte

The return value of this function on success depends on the fetch type. In all cases, FALSE is returned on failure.

Beispiele

Beispiel #1 Fetching rows using different fetch styles

<?php
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* Exercise PDOStatement::fetch styles */
print("PDO::FETCH_ASSOC: ");
print("Return next row as an array indexed by column name\n");
$result = $sth->fetch(PDO::FETCH_ASSOC);
print_r($result);
print("\n");

print("PDO::FETCH_BOTH: ");
print("Return next row as an array indexed by both column name and number\n");
$result = $sth->fetch(PDO::FETCH_BOTH);
print_r($result);
print("\n");

print("PDO::FETCH_LAZY: ");
print("Return next row as an anonymous object with column names as properties\n");
$result = $sth->fetch(PDO::FETCH_LAZY);
print_r($result);
print("\n");

print("PDO::FETCH_OBJ: ");
print("Return next row as an anonymous object with column names as properties\n");
$result = $sth->fetch(PDO::FETCH_OBJ);
print $result->name;
print("\n");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

PDO::FETCH_ASSOC: Return next row as an array indexed by column name
Array
(
    [name] => apple
    [colour] => red
)

PDO::FETCH_BOTH: Return next row as an array indexed by both column name and number
Array
(
    [name] => banana
    [0] => banana
    [colour] => yellow
    [1] => yellow
)

PDO::FETCH_LAZY: Return next row as an anonymous object with column names as properties
PDORow Object
(
    [name] => orange
    [colour] => orange
)

PDO::FETCH_OBJ: Return next row as an anonymous object with column names as properties
kiwi

Beispiel #2 Fetching rows with a scrollable cursor

<?php
function readDataForwards($dbh) {
  $sql = 'SELECT hand, won, bet FROM mynumbers ORDER BY BET';
  try {
    $stmt = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));
    $stmt->execute();
    while ($row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_NEXT)) {
      $data = $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n";
      print $data;
    }
    $stmt = null;
  }
  catch (PDOException $e) {
    print $e->getMessage();
  }
}
function readDataBackwards($dbh) {
  $sql = 'SELECT hand, won, bet FROM mynumbers ORDER BY bet';
  try {
    $stmt = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));
    $stmt->execute();
    $row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_LAST);
    do {
      $data = $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n";
      print $data;
    } while ($row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_PRIOR));
    $stmt = null;
  }
  catch (PDOException $e) {
    print $e->getMessage();
  }
}

print "Reading forwards:\n";
readDataForwards($conn);

print "Reading backwards:\n";
readDataBackwards($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Reading forwards:
21    10    5
16    0     5
19    20    10

Reading backwards:
19    20    10
16    0     5
21    10    5

Beispiel #3 Construction order

When objects are fetched via PDO::FETCH_CLASS the object properties are assigned first, and then the constructor of the class is invoked. If PDO::FETCH_PROPS_LATE is also given, this order is reversed, i.e. first the constructor is called, and afterwards the properties are assigned.

<?php
class Person
{
    private $name;

    public function __construct()
    {
        $this->tell();
    }

    public function tell()
    {
        if (isset($this->name)) {
            echo "I am {$this->name}.\n";
        } else {
            echo "I don't have a name yet.\n";
        }
    }
}

$sth = $dbh->query("SELECT * FROM people");
$sth->setFetchMode(PDO::FETCH_CLASS, 'Person');
$person = $sth->fetch();
$person->tell();
$sth->setFetchMode(PDO::FETCH_CLASS|PDO::FETCH_PROPS_LATE, 'Person');
$person = $sth->fetch();
$person->tell();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

I am Alice.
I am Alice.
I don't have a name yet.
I am Bob.

Siehe auch

  • PDO::prepare() - Prepares a statement for execution and returns a statement object
  • PDOStatement::execute() - Executes a prepared statement
  • PDOStatement::fetchAll() - Returns an array containing all of the result set rows
  • PDOStatement::fetchColumn() - Returns a single column from the next row of a result set
  • PDOStatement::fetchObject() - Fetches the next row and returns it as an object.
  • PDOStatement::setFetchMode() - Set the default fetch mode for this statement

PDOStatement::execute
PDOStatement::fetchAll
PDOStatement


Returns an array containing all of the result set rows

PDOStatement::fetch
PDOStatement::fetchColumn
PDOStatement
PHP Manual

PDOStatement::fetchAll

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDOStatement::fetchAll — Returns an array containing all of the result set rows

Beschreibung

public array PDOStatement::fetchAll ([ int $fetch_style [, mixed $fetch_argument [, array $ctor_args = array() ]]] )

Parameter-Liste

fetch_style

Controls the contents of the returned array as documented in
PDOStatement::fetch().
Defaults to value of PDO::ATTR_DEFAULT_FETCH_MODE
(which defaults to PDO::FETCH_BOTH)

To return an array consisting of all values of a single column from the result set, specify PDO::FETCH_COLUMN. You can specify which column you want with the fetch_argument parameter.

To fetch only the unique values of a single column from the result set, bitwise-OR PDO::FETCH_COLUMN with PDO::FETCH_UNIQUE.

To return an associative array grouped by the values of a specified column, bitwise-OR PDO::FETCH_COLUMN with PDO::FETCH_GROUP.

fetch_argument

This argument has a different meaning depending on the value of the fetch_style parameter:

  • PDO::FETCH_COLUMN: Returns the indicated 0-indexed column.

  • PDO::FETCH_CLASS: Returns instances of the specified class, mapping the columns of each row to named properties in the class.

  • PDO::FETCH_FUNC: Returns the results of calling the specified function, using each row's columns as parameters in the call.

ctor_args

Arguments of custom class constructor when the fetch_style parameter is PDO::FETCH_CLASS.

Rückgabewerte

PDOStatement::fetchAll() returns an array containing all of the remaining rows in the result set. The array represents each row as either an array of column values or an object with properties corresponding to each column name. An empty array is returned if there are zero results to fetch, or FALSE on failure.

Using this method to fetch large result sets will result in a heavy demand on system and possibly network resources. Rather than retrieving all of the data and manipulating it in PHP, consider using the database server to manipulate the result sets. For example, use the WHERE and ORDER BY clauses in SQL to restrict results before retrieving and processing them with PHP.

Beispiele

Beispiel #1 Fetch all remaining rows in a result set

<?php
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* Fetch all of the remaining rows in the result set */
print("Fetch all of the remaining rows in the result set:\n");
$result = $sth->fetchAll();
print_r($result);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Fetch all of the remaining rows in the result set:
Array
(
    [0] => Array
        (
            [name] => pear
            [0] => pear
            [colour] => green
            [1] => green
        )

    [1] => Array
        (
            [name] => watermelon
            [0] => watermelon
            [colour] => pink
            [1] => pink
        )

)

Beispiel #2 Fetching all values of a single column from a result set

The following example demonstrates how to return all of the values of a single column from a result set, even though the SQL statement itself may return multiple columns per row.

<?php
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* Fetch all of the values of the first column */
$result = $sth->fetchAll(PDO::FETCH_COLUMN, 0);
var_dump($result);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array(3)
(
    [0] =>
    string(5) => apple
    [1] =>
    string(4) => pear
    [2] =>
    string(10) => watermelon
)

Beispiel #3 Grouping all values by a single column

The following example demonstrates how to return an associative array grouped by the values of the specified column in the result set. The array contains three keys: values apple and pear are returned as arrays that contain two different colours, while watermelon is returned as an array that contains only one colour.

<?php
$insert = $dbh->prepare("INSERT INTO fruit(name, colour) VALUES (?, ?)");
$insert->execute(array('apple', 'green'));
$insert->execute(array('pear', 'yellow'));

$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* Group values by the first column */
var_dump($sth->fetchAll(PDO::FETCH_COLUMN|PDO::FETCH_GROUP));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(3) {
  ["apple"]=>
  array(2) {
    [0]=>
    string(5) "green"
    [1]=>
    string(3) "red"
  }
  ["pear"]=>
  array(2) {
    [0]=>
    string(5) "green"
    [1]=>
    string(6) "yellow"
  }
  ["watermelon"]=>
  array(1) {
    [0]=>
    string(5) "green"
  }
}

Beispiel #4 Instantiating a class for each result

The following example demonstrates the behaviour of the PDO::FETCH_CLASS fetch style.

<?php
class fruit {
    public $name;
    public $colour;
}

$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

$result = $sth->fetchAll(PDO::FETCH_CLASS, "fruit");
var_dump($result);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(3) {
  [0]=>
  object(fruit)#1 (2) {
    ["name"]=>
    string(5) "apple"
    ["colour"]=>
    string(5) "green"
  }
  [1]=>
  object(fruit)#2 (2) {
    ["name"]=>
    string(4) "pear"
    ["colour"]=>
    string(6) "yellow"
  }
  [2]=>
  object(fruit)#3 (2) {
    ["name"]=>
    string(10) "watermelon"
    ["colour"]=>
    string(4) "pink"
  }
}

Beispiel #5 Calling a function for each result

The following example demonstrates the behaviour of the PDO::FETCH_FUNC fetch style.

<?php
function fruit($name, $colour) {
    return "{$name}: {$colour}";
}

$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

$result = $sth->fetchAll(PDO::FETCH_FUNC, "fruit");
var_dump($result);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(3) {
  [0]=>
  string(12) "apple: green"
  [1]=>
  string(12) "pear: yellow"
  [2]=>
  string(16) "watermelon: pink"
}

Siehe auch

  • PDO::query() - Executes an SQL statement, returning a result set as a PDOStatement object
  • PDOStatement::fetch() - Fetches the next row from a result set
  • PDOStatement::fetchColumn() - Returns a single column from the next row of a result set
  • PDO::prepare() - Prepares a statement for execution and returns a statement object
  • PDOStatement::setFetchMode() - Set the default fetch mode for this statement

PDOStatement::fetch
PDOStatement::fetchColumn
PDOStatement


Returns a single column from the next row of a result set

PDOStatement::fetchAll
PDOStatement::fetchObject
PDOStatement
PHP Manual

PDOStatement::fetchColumn

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.9.0)

PDOStatement::fetchColumn — Returns a single column from the next row of a result set

Beschreibung

public mixed PDOStatement::fetchColumn ([ int $column_number = 0 ] )

Returns a single column from the next row of a result set or FALSE if there are no more rows.

Hinweis:

PDOStatement::fetchColumn() should not be used to retrieve boolean columns, as it is impossible to distinguish a value of FALSE from there being no more rows to retrieve. Use PDOStatement::fetch() instead.

Parameter-Liste

column_number

0-indexed number of the column you wish to retrieve from the row. If no value is supplied, PDOStatement::fetchColumn() fetches the first column.

Rückgabewerte

PDOStatement::fetchColumn() returns a single column from the next row of a result set or FALSE if there are no more rows.

Warnung

There is no way to return another column from the same row if you use PDOStatement::fetchColumn() to retrieve data.

Beispiele

Beispiel #1 Return first column of the next row

<?php
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

print("Fetch the first column from the first row in the result set:\n");
$result = $sth->fetchColumn();
print("name = $result\n");

print("Fetch the second column from the second row in the result set:\n");
$result = $sth->fetchColumn(1);
print("colour = $result\n");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Fetch the first column from the first row in the result set:
name = lemon
Fetch the second column from the second row in the result set:
colour = red

Siehe auch

  • PDO::query() - Executes an SQL statement, returning a result set as a PDOStatement object
  • PDOStatement::fetch() - Fetches the next row from a result set
  • PDOStatement::fetchAll() - Returns an array containing all of the result set rows
  • PDO::prepare() - Prepares a statement for execution and returns a statement object
  • PDOStatement::setFetchMode() - Set the default fetch mode for this statement

PDOStatement::fetchAll
PDOStatement::fetchObject
PDOStatement


Fetches the next row and returns it as an object.

PDOStatement::fetchColumn
PDOStatement::getAttribute
PDOStatement
PHP Manual

PDOStatement::fetchObject

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.4)

PDOStatement::fetchObject — Fetches the next row and returns it as an object.

Beschreibung

public mixed PDOStatement::fetchObject ([ string $class_name = "stdClass" [, array $ctor_args ]] )

Fetches the next row and returns it as an object. This function is an
alternative to PDOStatement::fetch() with
PDO::FETCH_CLASS or
PDO::FETCH_OBJ style.

When an object is fetched, its properties are assigned from respective column values, and afterwards its constructor is invoked.

Parameter-Liste

class_name

Name of the created class.

ctor_args

Elements of this array are passed to the constructor.

Rückgabewerte

Returns an instance of the required class with property names that correspond to the column names Im Fehlerfall wird FALSE zurückgegeben..

Siehe auch

  • PDOStatement::fetch() - Fetches the next row from a result set

PDOStatement::fetchColumn
PDOStatement::getAttribute
PDOStatement


Retrieve a statement attribute

PDOStatement::fetchObject
PDOStatement::getColumnMeta
PDOStatement
PHP Manual

PDOStatement::getAttribute

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.0)

PDOStatement::getAttribute — Retrieve a statement attribute

Beschreibung

public mixed PDOStatement::getAttribute ( int $attribute )

Gets an attribute of the statement. Currently, no generic attributes exist but only driver specific:

  • PDO::ATTR_CURSOR_NAME (Firebird and ODBC specific): Get the name of cursor for UPDATE ... WHERE CURRENT OF.

Rückgabewerte

Returns the attribute value.

Siehe auch

  • PDO::getAttribute() - Retrieve a database connection attribute
  • PDO::setAttribute() - Set an attribute
  • PDOStatement::setAttribute() - Set a statement attribute

PDOStatement::fetchObject
PDOStatement::getColumnMeta
PDOStatement


Returns metadata for a column in a result set

PDOStatement::getAttribute
PDOStatement::nextRowset
PDOStatement
PHP Manual

PDOStatement::getColumnMeta

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.0)

PDOStatement::getColumnMeta — Returns metadata for a column in a result set

Beschreibung

public array PDOStatement::getColumnMeta ( int $column )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Retrieves the metadata for a 0-indexed column in a result set as an associative array.

Warnung

Not all PDO drivers support PDOStatement::getColumnMeta().

Parameter-Liste

column

The 0-indexed column in the result set.

Rückgabewerte

Returns an associative array containing the following values representing the metadata for a single column:

Column metadata
Name | Value
native_type | The PHP native type used to represent the column value.
driver:decl_type | The SQL type used to represent the column value in the database. If the column in the result set is the result of a function, this value is not returned by PDOStatement::getColumnMeta().
flags | Any flags set for this column.
name | The name of this column as returned by the database.
table | The name of this column's table as returned by the database.
len | The length of this column. Normally -1 for types other than floating point decimals.
precision | The numeric precision of this column. Normally 0 for types other than floating point decimals.
pdo_type | The type of this column as represented by the PDO::PARAM_* constants.

Returns FALSE if the requested column does not exist in the result set, or if no result set exists.

Changelog

Version | Beschreibung
5.2.3 | table field

Beispiele

Beispiel #1 Retrieving column metadata

The following example shows the results of retrieving the metadata for a single column generated by a function (COUNT) in a PDO_SQLITE driver.

<?php
$select = $DB->query('SELECT COUNT(*) FROM fruit');
$meta = $select->getColumnMeta(0);
var_dump($meta);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(6) {
  ["native_type"]=>
  string(7) "integer"
  ["flags"]=>
  array(0) {
  }
  ["name"]=>
  string(8) "COUNT(*)"
  ["len"]=>
  int(-1)
  ["precision"]=>
  int(0)
  ["pdo_type"]=>
  int(2)
}

Siehe auch

  • PDOStatement::columnCount() - Returns the number of columns in the result set
  • PDOStatement::rowCount() - Returns the number of rows affected by the last SQL statement

PDOStatement::getAttribute
PDOStatement::nextRowset
PDOStatement


Advances to the next rowset in a multi-rowset statement handle

PDOStatement::getColumnMeta
PDOStatement::rowCount
PDOStatement
PHP Manual

PDOStatement::nextRowset

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.0)

PDOStatement::nextRowset — Advances to the next rowset in a multi-rowset statement handle

Beschreibung

public bool PDOStatement::nextRowset ( void )

Some database servers support stored procedures that return more than one rowset (also known as a result set). PDOStatement::nextRowset() enables you to access the second and subsequent rowsets associated with a PDOStatement object. Each rowset can have a different set of columns from the preceding rowset.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Fetching multiple rowsets returned from a stored procedure

The following example shows how to call a stored procedure, MULTIPLE_ROWSETS, that returns three rowsets. We use a do / while loop to loop over the PDOStatement::nextRowset() method, which returns false and terminates the loop when no more rowsets can be returned.

<?php
$sql = 'CALL multiple_rowsets()';
$stmt = $conn->query($sql);
$i = 1;
do {
    $rowset = $stmt->fetchAll(PDO::FETCH_NUM);
    if ($rowset) {
        printResultSet($rowset, $i);
    }
    $i++;
} while ($stmt->nextRowset());

function printResultSet(&$rowset, $i) {
    print "Result set $i:\n";
    foreach ($rowset as $row) {
        foreach ($row as $col) {
            print $col . "\t";
        }
        print "\n";
    }
    print "\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Result set 1:
apple    red
banana   yellow

Result set 2:
orange   orange    150
banana   yellow    175

Result set 3:
lime     green
apple    red
banana   yellow

Siehe auch

  • PDOStatement::columnCount() - Returns the number of columns in the result set
  • PDOStatement::execute() - Executes a prepared statement
  • PDOStatement::getColumnMeta() - Returns metadata for a column in a result set
  • PDO::query() - Executes an SQL statement, returning a result set as a PDOStatement object

PDOStatement::getColumnMeta
PDOStatement::rowCount
PDOStatement


Returns the number of rows affected by the last SQL statement

PDOStatement::nextRowset
PDOStatement::setAttribute
PDOStatement
PHP Manual

PDOStatement::rowCount

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDOStatement::rowCount — Returns the number of rows affected by the last SQL statement

Beschreibung

public int PDOStatement::rowCount ( void )

PDOStatement::rowCount() returns the number of rows affected by the last DELETE, INSERT, or UPDATE statement executed by the corresponding PDOStatement object.

If the last SQL statement executed by the associated PDOStatement was a SELECT statement, some databases may return the number of rows returned by that statement. However, this behaviour is not guaranteed for all databases and should not be relied on for portable applications.

Rückgabewerte

Returns the number of rows.

Beispiele

Beispiel #1 Return the number of deleted rows

PDOStatement::rowCount() returns the number of rows affected by a DELETE, INSERT, or UPDATE statement.

<?php
/* Delete all rows from the FRUIT table */
$del = $dbh->prepare('DELETE FROM fruit');
$del->execute();

/* Return number of rows that were deleted */
print("Return number of rows that were deleted:\n");
$count = $del->rowCount();
print("Deleted $count rows.\n");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Return number of rows that were deleted:
Deleted 9 rows.

Beispiel #2 Counting rows returned by a SELECT statement

For most databases, PDOStatement::rowCount() does not return the number of rows affected by a SELECT statement. Instead, use PDO::query() to issue a SELECT COUNT(*) statement with the same predicates as your intended SELECT statement, then use PDOStatement::fetchColumn() to retrieve the number of rows that will be returned. Your application can then perform the correct action.

<?php
$sql = "SELECT COUNT(*) FROM fruit WHERE calories > 100";
if ($res = $conn->query($sql)) {

    /* Check the number of rows that match the SELECT statement */
  if ($res->fetchColumn() > 0) {

        /* Issue the real SELECT statement and work with the results */
         $sql = "SELECT name FROM fruit WHERE calories > 100";
       foreach ($conn->query($sql) as $row) {
           print "Name: " .  $row['NAME'] . "\n";
         }
    }
    /* No rows matched -- do something else */
  else {
      print "No rows matched the query.";
    }
}

$res = null;
$conn = null;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

apple
banana
orange
pear

Siehe auch

  • PDOStatement::columnCount() - Returns the number of columns in the result set
  • PDOStatement::fetchColumn() - Returns a single column from the next row of a result set
  • PDO::query() - Executes an SQL statement, returning a result set as a PDOStatement object

PDOStatement::nextRowset
PDOStatement::setAttribute
PDOStatement


Set a statement attribute

PDOStatement::rowCount
PDOStatement::setFetchMode
PDOStatement
PHP Manual

PDOStatement::setAttribute

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.0)

PDOStatement::setAttribute — Set a statement attribute

Beschreibung

public bool PDOStatement::setAttribute ( int $attribute , mixed $value )

Sets an attribute on the statement. Currently, no generic attributes are set but only driver specific:

  • PDO::ATTR_CURSOR_NAME (Firebird and ODBC specific): Set the name of cursor for UPDATE ... WHERE CURRENT OF.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • PDO::getAttribute() - Retrieve a database connection attribute
  • PDO::setAttribute() - Set an attribute
  • PDOStatement::getAttribute() - Retrieve a statement attribute

PDOStatement::rowCount
PDOStatement::setFetchMode
PDOStatement


Set the default fetch mode for this statement

PDOStatement::setAttribute
PDOException
PDOStatement
PHP Manual

PDOStatement::setFetchMode

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.0)

PDOStatement::setFetchMode — Set the default fetch mode for this statement

Beschreibung

public bool PDOStatement::setFetchMode ( int $mode )
public bool PDOStatement::setFetchMode ( int $PDO::FETCH_COLUMN , int $colno )
public bool PDOStatement::setFetchMode ( int $PDO::FETCH_CLASS , string $classname , array $ctorargs )
public bool PDOStatement::setFetchMode ( int $PDO::FETCH_INTO , object $object )

Parameter-Liste

mode

The fetch mode must be one of the PDO::FETCH_* constants.

colno

Column number.

classname

Class name.

ctorargs

Constructor arguments.

object

Object.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Setting the fetch mode

The following example demonstrates how PDOStatement::setFetchMode() changes the default fetch mode for a PDOStatement object.

<?php
$sql = 'SELECT name, colour, calories FROM fruit';
try {
  $stmt = $dbh->query($sql);
  $result = $stmt->setFetchMode(PDO::FETCH_NUM);
  while ($row = $stmt->fetch()) {
    print $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n";
  }
}
catch (PDOException $e) {
  print $e->getMessage();
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

apple   red     150
banana  yellow  250
orange  orange  300
kiwi    brown   75
lemon   yellow  25
pear    green   150
watermelon      pink    90

PDOStatement::setAttribute
PDOException
PDOStatement


Die Klasse PDOException

(PHP 5 >= 5.1.0, PHP 7)

Einführung

Stellt einen Fehler dar, der von PDO ausgelöst wird. Sie sollten selbst keine PDOException in Ihrem eigenen Code werfen. Unter Ausnahmen finden Sie weitere Informationen über Ausnahmen in PHP.

Klassenbeschreibung

PDOException extends RuntimeException {
/* Eigenschaften */
public array $errorInfo ;
protected string $code ;
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Eigenschaften

errorInfo

Entsprechend PDO::errorInfo() oder PDOStatement::errorInfo()

code

SQLSTATE-Fehlercode. Zugriff via Exception::getCode().

PDOStatement::setFetchMode
PDO-Treiber
PDO


PDO-Treiber

Inhaltsverzeichnis

  • CUBRID (PDO)
  • MS SQL Server (PDO)
  • Firebird (PDO)
  • IBM (PDO)
  • Informix (PDO)
  • MySQL (PDO)
  • MS SQL Server (PDO)
  • Oracle (PDO)
  • ODBC and DB2 (PDO)
  • PostgreSQL (PDO)
  • SQLite (PDO)
  • 4D (PDO)

Die folgenden Treiber implementieren momentan die PDO-Schnittstelle:

Treibername | Unterstützte Datenbanken
PDO_CUBRID | Cubrid
PDO_DBLIB | FreeTDS / Microsoft SQL Server / Sybase
PDO_FIREBIRD | Firebird
PDO_IBM | IBM DB2
PDO_INFORMIX | IBM Informix Dynamic Server
PDO_MYSQL | MySQL 3.x/4.x/5.x
PDO_OCI | Oracle Call Interface
PDO_ODBC | ODBC v3 (IBM DB2, unixODBC und win32 ODBC)
PDO_PGSQL | PostgreSQL
PDO_SQLITE | SQLite 3 und SQLite 2
PDO_SQLSRV | Microsoft SQL Server / SQL Azure
PDO_4D | 4D

PDOException
CUBRID (PDO)
PDO


CUBRID Functions (PDO_CUBRID)

Einführung

PDO_CUBRID is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to CUBRID databases.

Hinweis:

Current version of PDO_CUBRID doesn't support persistent connection now.

Installation

To build the PDO_CUBRID extension, the CUBRID DBMS must be installed on the same system as PHP. PDO_CUBRID is a » PECL extension, so follow the instructions in Installation of PECL extensions to install the PDO_CUBRID extension. Issue the configure command to point to the location of your CUBRID base dir as follows:

   $ ./configure --with-pdo-cubrid=/path/to/CUBRID[,shared]
The configure command defaults to the value of the CUBRID environment variable.

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows. Detailed information about installation on Linux and Windows manually, please read build-guide.html in PECL package CUBRID for reference.

Features

PDO_CUBRID Features
Feature | Description
Scrollable cursors | PDO_CUBRID supports scrollable cursors. The default cursor type is forward only, and you can use parameter driver_options in PDO::prepare() to change cursor type.
Timeout | PDO_CUBRID supports sql statement execution timeout setting; You can use PDO::setAttribute() to set timeout value.
Autocommit_mode and Transaction PDO_CUBRID supports both autocommit_mode and transaction, and autocommit_mode is enabled by default. You can use PDO::setAttribute() to change its state.

If you use PDO::beginTransaction() to begin a transaction, it will disable autocommit_mode automatically and restore it after PDO::commit() or PDO::rollBack(). Note that before disabling the autocommit_mode, any pending work is automatically committed.

Multiple SQL Statements | PDO_CUBRID supports Multiple SQL statements. Multiple SQL statements are separated by semicolons (;)
Schema Information | PDO_CUBRID implements a function PDO::cubrid_schema() to get schema information.
LOBs PDO_CUBRID supports BLOB/CLOB data type. The LOB in PDO is represented as a stream, so you can insert LOBs by binding a stream, and get LOBs by reading a stream returned by CUBRID PDO. For example:

Beispiel #1 Insert LOBs in CUBRID PDO

<?php
$fp = fopen('lob_test.png', 'rb');

$sql_stmt = "INSERT INTO lob_test(name, content) VALUES('lob_test.png', ?)";

$stmt = $dbh->prepare($sql_stmt);
$ret = $stmt->bindParam(1, $fp, PDO::PARAM_LOB);
$ret = $stmt->execute();
?>

Beispiel #2 Fetch LOBs in CUBRID PDO

<?php
$sql_stmt = "SELECT content FROM lob_test WHERE name='lob_test.png'";

$stmt = $dbh->prepare($sql_stmt);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_NUM);

header("Content-Type: image/png");
fpassthru($result[0]);
?>

Column meta The PDOStatement::getColumnMeta() in CUBRID PDO will return an associative array containing the following values:
  • type
  • name
  • table
  • def
  • precision
  • scale
  • not_null
  • auto_increment
  • unique_key
  • multiple_key
  • primary_key
  • foreign_key
  • reverse_index
  • reverse_unique
Collection Data Type PDO_CUBRID supports SET/MULTISET/SEQUENCE data type. If you don't specify data type, the default data type is char,for example:

Beispiel #3 Insert set in CUBRID PDO with default data type.

<?php
$conn_str ="cubrid:dbname=demodb;host=localhost;port=33000";
$cubrid_pdo = new PDO($conn_str, 'dba', '');

$cubrid_pdo->exec("DROP TABLE if exists test_tbl");
$cubrid_pdo->exec("CREATE TABLE test_tbl (col_1 SET(VARCHAR))");

$sql_stmt_insert = "INSERT INTO test_tbl VALUES (?);";
$stmt = $cubrid_pdo->prepare($sql_stmt_insert);
$data = array("abc","def","ghi");
$ret = $stmt->bindParam(1, $data, PDO::PARAM_NULL);
$ret = $stmt->execute();
var_Dump($ret);
?>

Beispiel #4 Specify data type when insert set in CUBRID PDO

<?php
$conn_str ="cubrid:dbname=demodb;host=localhost;port=33000";
$cubrid_pdo = new PDO($conn_str, 'dba', '');

$cubrid_pdo->exec("DROP TABLE if exists test_tbl");
$cubrid_pdo->exec("CREATE TABLE test_tbl (col_1 SET(int))");

$sql_stmt_insert = "INSERT INTO test_tbl VALUES (?);";
$stmt = $cubrid_pdo->prepare($sql_stmt_insert);
$data = array(1,2,3,4);
$ret = $stmt->bindParam(1, $data, 0,0,"int");
$ret = $stmt->execute();
var_Dump($ret);
?>

CUBRID Bind Data Types:(The fifth parameter of PDOStatement::bindParam):
  • CHAR
  • STRING
  • NCHAR
  • VARNCHAR
  • BIT
  • VARBIT
  • NUMERIC
  • NUMBER
  • INT
  • SHORT
  • BIGINT
  • MONETARY
  • FLOAT
  • DOUBLE
  • DATE
  • TIME
  • DATETIME
  • TIMESTAMP

Vordefinierte Konstanten

Die folgenden Konstanten werden vom Treiber definiert und sind nur verfügbar, wenn die Extension entweder in PHP einkompiliert oder dynamisch zur Laufzeit geladen wurde. Weiterhin sind diese Konstanten treiberspezifisch und sollten nur mit diesem Treiber benutzt werden. MySQL-spezifische Attribute mit dem PostgreSQL Treiber zu nutzen, kann zu unerwarteten Ergebnissen führen. Kann Ihr Code mit verschiedenen Treibern arbeiten, so können Sie PDO::getAttribute() benutzen, um mit PDO_ATTR_DRIVER_NAME den aktuellen Treiber zu ermitteln.

The following constants can be used when setting the database attribute. They can be passed to PDO::getAttribute() or PDO::setAttribute().

PDO::CUBRID attribute flags
Constant | Description
PDO::CUBRID_ATTR_ISOLATION_LEVEL | Transaction isolation level for the database connection.
PDO::CUBRID_ATTR_LOCK_TIMEOUT | Transaction timeout in seconds.
PDO::CUBRID_ATTR_MAX_STRING_LENGTH | Read only. The maximum string length for bit, varbit, char, varchar, nchar, nchar varying data types when using CUBRID PDO API.

The following constants can be used when setting the transaction isolation level. They can be passed to PDO::getAttribute() or returned by PDO::setAttribute().

PDO::CUBRID isolation level flags
Constant | Description
PDO::TRAN_COMMIT_CLASS_UNCOMMIT_INSTANCE | The lowest isolation level (1). A dirty, non-repeatable or phantom read may occur for the tuple and a non-repeatable read may occur for the table as well.
PDO::TRAN_COMMIT_CLASS_COMMIT_INSTANCE | A relatively low isolation level (2). A dirty read does not occur, but non-repeatable or phantom read may occur.
PDO::TRAN_REP_CLASS_UNCOMMIT_INSTANCE | The default isolation of CUBRID (3). A dirty, non-repeatable or phantom read may occur for the tuple, but repeatable read is ensured for the table.
PDO::TRAN_REP_CLASS_COMMIT_INSTANCE | A relatively low isolation level (4). A dirty read does not occur, but non-repeatable or phantom read may.
PDO::TRAN_REP_CLASS_REP_INSTANCE | A relatively high isolation level (5). A dirty or non-repeatable read does not occur, but a phantom read may.
PDO::TRAN_SERIALIZABLE | The highest isolation level (6). Problems concerning concurrency (e.g. dirty read, non-repeatable read, phantom read, etc.) do not occur.

The following constants can be used when getting schema information. They can be passed to PDO::cubrid_schema().

PDO::CUBRID schema flags
Constant | Description
PDO::CUBRID_SCH_TABLE | Get name and type of table in CUBRID.
PDO::CUBRID_SCH_VIEW | Get name and type of view in CUBRID.
PDO::CUBRID_SCH_QUERY_SPEC | Get the query definition of view.
PDO::CUBRID_SCH_ATTRIBUTE | Get the attributes of table column.
PDO::CUBRID_SCH_TABLE_ATTRIBUTE | Get the attributes of table.
PDO::CUBRID_SCH_METHOD | Get the instance method. The instance method is a method called by a class instance. It is used more often than the class method because most operations are executed in the instance.
PDO::CUBRID_SCH_TABLE_METHOD | Get the class method. The class method is a method called by a class object. It is usually used to create a new class instance or to initialize it. It is also used to access or update class attributes.
PDO::CUBRID_SCH_METHOD_FILE | Get the information of the file where the method of the table is defined.
PDO::CUBRID_SCH_SUPER_TABLE | Get the name and type of table which table inherites attributes from.
PDO::CUBRID_SCH_SUB_TABLE | Get the name and type of table which inherites attributes from this table.
PDO::CUBRID_SCH_CONSTRAINT | Get the table constraints.
PDO::CUBRID_SCH_TRIGGER | Get the table triggers.
PDO::CUBRID_SCH_TABLE_PRIVILEGE | Get the privilege information of table.
PDO::CUBRID_SCH_COL_PRIVILEGE | Get the privilege information of column.
PDO::CUBRID_SCH_DIRECT_SUPER_TABLE | Get the direct super table of table.
PDO::CUBRID_SCH_PRIMARY_KEY | Get the table primary key.
PDO::CUBRID_SCH_IMPORTED_KEYS | Get imported keys of table.
PDO::CUBRID_SCH_EXPORTED_KEYS | Get exported keys of table.
PDO::CUBRID_SCH_CROSS_REFERENCE | Get reference relationship of tow tables.

Inhaltsverzeichnis

  • PDO_CUBRID DSN — Connecting to CUBRID databases
  • PDO::cubrid_schema — Get the requested schema information
PDO-Treiber
PDO_CUBRID DSN
PDO-Treiber


Connecting to CUBRID databases

CUBRID (PDO)
PDO::cubrid_schema
CUBRID (PDO)
PHP Manual

PDO_CUBRID DSN

(No version information available, might only be in Git)

PDO_CUBRID DSN — Connecting to CUBRID databases

Beschreibung

The PDO_CUBRID Data Source Name (DSN) is composed of the following elements, delimited by semicolons:

DSN prefix

The DSN prefix is cubrid:.

host

The hostname on which the database server resides.

port

The port on which the database server is running.

dbname

The name of the database.

Anmerkungen

Hinweis:

When you estalish the connection to CUBRID, you should give username and password except DSN.

Beispiele

Beispiel #1 PDO_CUBRID DSN examples

The following example shows a PDO_CUBRID DSN for connecting to a CUBRID database:

cubrid:host=localhost;port=33000;dbname=demodb

CUBRID (PDO)
PDO::cubrid_schema
CUBRID (PDO)


Get the requested schema information

PDO_CUBRID DSN
MS SQL Server (PDO)
CUBRID (PDO)
PHP Manual

PDO::cubrid_schema

(No version information available, might only be in Git)

PDO::cubrid_schema — Get the requested schema information

Beschreibung

public array PDO::cubrid_schema ( int $schema_type [, string $table_name [, string $col_name ]] )

This function is used to get the requested schema information from database. You have to designate table_name, if you want to get information on certain table, col_name, if you want to get information on certain column (can be used only with PDO::CUBRID_SCH_COL_PRIVILEGE).

The result of this function is returned as a two-dimensional array (column (associative array) * row (numeric array)). The following tables shows types of schema and the column structure of the result array to be returned based on the schema type.

Result Composition of Each Type
Schema | Column Number | Column Name | Value
PDO::CUBRID_SCH_TABLE | 1 | NAME |
 | 2 | TYPE | 0:system table 1:view 2:table
PDO::CUBRID_SCH_VIEW | 1 | NAME |
 | 2 | TYPE | 1:view
PDO::CUBRID_SCH_QUERY_SPEC | 1 | QUERY_SPEC |
PDO::CUBRID_SCH_ATTRIBUTE / PDO::CUBRID_SCH_TABLE_ATTRIBUTE | 1 | ATTR_NAME |
 | 2 | DOMAIN |
 | 3 | SCALE |
 | 4 | PRECISION |
 | 5 | INDEXED | 1:indexed
 | 6 | NOT NULL | 1:not null
 | 7 | SHARED | 1:shared
 | 8 | UNIQUE | 1:unique
 | 9 | DEFAULT |
 | 10 | ATTR_ORDER | base:1
 | 11 | CLASS_NAME |
 | 12 | SOURCE_CLASS |
 | 13 | IS_KEY | 1:key
PDO::CUBRID_SCH_METHOD / PDO::CUBRID_SCH_TABLE_METHOD | 1 | NAME |
 | 2 | RET_DOMAIN |
 | 3 | ARG_DOMAIN |
PDO::CUBRID_SCH_METHOD_FILE | 1 | METHOD_FILE |
PDO::CUBRID_SCH_SUPER_TABLE / PDO::CUBRID_SCH_DIRECT_SUPER_TABLE / PDO::CUBRID_SCH_SUB_TABLE | 1 | CLASS_NAME |
 | 2 | TYPE | 0:system table 1:view 2:table
PDO::CUBRID_SCH_CONSTRAINT | 1 | TYPE | 0:unique 1:index 2:reverse unique 3:reverse index
 | 2 | NAME |
 | 3 | ATTR_NAME |
 | 4 | NUM_PAGES |
 | 5 | NUM_KEYS |
 | 6 | PRIMARY_KEY | 1:primary key
 | 7 | KEY_ORDER | base:1
PDO::CUBRID_SCH_TRIGGER | 1 | NAME |
 | 2 | STATUS |
 | 3 | EVENT |
 | 4 | TARGET_CLASS |
 | 5 | TARGET_ATTR |
 | 6 | ACTION_TIME |
 | 7 | ACTION |
 | 8 | PRIORITY |
 | 9 | CONDITION_TIME |
 | 10 | CONDITION |
PDO::CUBRID_SCH_TABLE_PRIVILEGE / PDO::CUBRID_SCH_COL_PRIVILEGE | 1 | CLASS_NAME / ATTR_NAME |
 | 2 | PRIVILEGE |
 | 3 | GRANTABLE |
PDO::CUBRID_SCH_PRIMARY_KEY | 1 | CLASS_NAME |
 | 2 | ATTR_NAME |
 | 3 | KEY_SEQ | base:1
 | 4 | KEY_NAME |
PDO::CUBRID_SCH_IMPORTED_KEYS / PDO::CUBRID_SCH_EXPORTED_KEYS / PDO::CUBRID_SCH_CROSS_REFERENCE | 1 | PKTABLE_NAME |
 | 2 | PKCOLUMN_NAME |
 | 3 | FKTABLE_NAME | base:1
 | 4 | FKCOLUMN_NAME |
 | 5 | KEY_SEQ | base:1
 | 6 | UPDATE_ACTION | 0:cascade 1:restrict 2:no action 3:set null
 | 7 | DELETE_ACTION | 0:cascade 1:restrict 2:no action 3:set null
 | 8 | FK_NAME |
 | 9 | PK_NAME |

Parameter-Liste

schema_type

Schema type that you want to know.

table_name

Table you want to know the schema of.

col_name

Column you want to know the schema of.

Rückgabewerte

Array containing the schema information, when process is successful;

FALSE, when process is unsuccessful

Beispiele

Beispiel #1 A PDO::cubrid_schema() example

This example shows how to get primary key and foreign keys of table game.

<?php
$pk_list = $dbh->cubrid_schema(PDO::CUBRID_SCH_PRIMARY_KEY, "game");
print_r($pk_list);

$fk_list = $dbh->cubrid_schema(PDO::CUBRID_SCH_IMPORTED_KEYS, "game");
print_r($fk_list);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Result:
Array
(
    [0] => Array
        (
            [CLASS_NAME] => game
            [ATTR_NAME] => athlete_code
            [KEY_SEQ] => 3
            [KEY_NAME] => pk_game_host_year_event_code_athlete_code
        )

    [1] => Array
        (
            [CLASS_NAME] => game
            [ATTR_NAME] => event_code
            [KEY_SEQ] => 2
            [KEY_NAME] => pk_game_host_year_event_code_athlete_code
        )

    [2] => Array
        (
            [CLASS_NAME] => game
            [ATTR_NAME] => host_year
            [KEY_SEQ] => 1
            [KEY_NAME] => pk_game_host_year_event_code_athlete_code
        )

)
Array
(
    [0] => Array
        (
            [PKTABLE_NAME] => athlete
            [PKCOLUMN_NAME] => code
            [FKTABLE_NAME] => game
            [FKCOLUMN_NAME] => athlete_code
            [KEY_SEQ] => 1
            [UPDATE_RULE] => 1
            [DELETE_RULE] => 1
            [FK_NAME] => fk_game_athlete_code
            [PK_NAME] => pk_athlete_code
        )

    [1] => Array
        (
            [PKTABLE_NAME] => event
            [PKCOLUMN_NAME] => code
            [FKTABLE_NAME] => game
            [FKCOLUMN_NAME] => event_code
            [KEY_SEQ] => 1
            [UPDATE_RULE] => 1
            [DELETE_RULE] => 1
            [FK_NAME] => fk_game_event_code
            [PK_NAME] => pk_event_code
        )

)

PDO_CUBRID DSN
MS SQL Server (PDO)
CUBRID (PDO)


Microsoft SQL Server and Sybase Functions (PDO_DBLIB)

Einführung

PDO_DBLIB is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to Microsoft SQL Server and Sybase databases through the FreeTDS library.

This extension is not available anymore on Windows with PHP 5.3 or later.

On Windows, you should use SqlSrv, an alternative driver for MS SQL is available from Microsoft: » http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx .

If it is not possible to use SqlSrv, you can use the PDO_ODBC driver to connect to Microsoft SQL Server and Sybase databases, as the native Windows DB-LIB is ancient, thread un-safe and no longer supported by Microsoft.

Inhaltsverzeichnis

  • PDO_DBLIB DSN — Connecting to Microsoft SQL Server and Sybase databases
PDO::cubrid_schema
PDO_DBLIB DSN
PDO-Treiber


Connecting to Microsoft SQL Server and Sybase databases

MS SQL Server (PDO)
Firebird (PDO)
MS SQL Server (PDO)
PHP Manual

PDO_DBLIB DSN

(PECL PDO_DBLIB >= 0.9.0)

PDO_DBLIB DSN — Connecting to Microsoft SQL Server and Sybase databases

Beschreibung

The PDO_DBLIB Data Source Name (DSN) is composed of the following elements:

DSN prefix

The DSN prefix is sybase: if PDO_DBLIB was linked against the Sybase ct-lib libraries, mssql: if PDO_DBLIB was linked against the Microsoft SQL Server libraries, or dblib: if PDO_DBLIB was linked against the FreeTDS libraries.

host

The hostname on which the database server resides. Defaults to 127.0.0.1.

dbname

The name of the database.

charset

The client character set.

appname

The application name (used in sysprocesses). Defaults to "PHP Generic DB-lib" or "PHP freetds".

secure

Currently unused.

Beispiele

Beispiel #1 PDO_DBLIB DSN examples

The following examples show a PDO_DBLIB DSN for connecting to Microsoft SQL Server and Sybase databases:

mssql:host=localhost;dbname=testdb
sybase:host=localhost;dbname=testdb
dblib:host=localhost;dbname=testdb

MS SQL Server (PDO)
Firebird (PDO)
MS SQL Server (PDO)


Firebird Functions (PDO_FIREBIRD)

Einführung

PDO_FIREBIRD is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to Firebird database.

Installation

Use --with-pdo-firebird[=DIR] to install the PDO Firebird extension, where the optional [=DIR] is the Firebird base install directory.

$ ./configure --with-pdo-firebird

Vordefinierte Konstanten

Die folgenden Konstanten werden vom Treiber definiert und sind nur verfügbar, wenn die Extension entweder in PHP einkompiliert oder dynamisch zur Laufzeit geladen wurde. Weiterhin sind diese Konstanten treiberspezifisch und sollten nur mit diesem Treiber benutzt werden. MySQL-spezifische Attribute mit dem PostgreSQL Treiber zu nutzen, kann zu unerwarteten Ergebnissen führen. Kann Ihr Code mit verschiedenen Treibern arbeiten, so können Sie PDO::getAttribute() benutzen, um mit PDO_ATTR_DRIVER_NAME den aktuellen Treiber zu ermitteln.

PDO::FB_ATTR_DATE_FORMAT (integer)

Available since PHP 5.3.0.

Sets the date format.

PDO::FB_ATTR_TIME_FORMAT (integer)

Sets the time format.

Available since PHP 5.3.0.

PDO::FB_ATTR_TIMESTAMP_FORMAT (integer)

Sets the timestamp format.

Available since PHP 5.3.0.

Inhaltsverzeichnis

  • PDO_FIREBIRD DSN — Connecting to Firebird databases
PDO_DBLIB DSN
PDO_FIREBIRD DSN
PDO-Treiber


Connecting to Firebird databases

Firebird (PDO)
IBM (PDO)
Firebird (PDO)
PHP Manual

PDO_FIREBIRD DSN

(PECL PDO_FIREBIRD >= 0.1.0)

PDO_FIREBIRD DSN — Connecting to Firebird databases

Beschreibung

The PDO_FIREBIRD Data Source Name (DSN) is composed of the following elements:

DSN prefix

The DSN prefix is firebird:.

dbname

The name of the database.

charset

The character set.

role

The SQL role name.

Beispiele

Beispiel #1 PDO_FIREBIRD DSN example with path

The following example shows a PDO_FIREBIRD DSN for connecting to Firebird databases:

firebird:dbname=/path/to/DATABASE.FDB

Beispiel #2 PDO_FIREBIRD DSN example with port and path

The following example shows a PDO_FIREBIRD DSN for connecting to a Firebird database using hostname port and path:

firebird:dbname=hostname/port:/path/to/DATABASE.FDB

Beispiel #3 PDO_FIREBIRD DSN example with localhost and path to employee.fdb on Debian system

The following example shows a PDO_FIREBIRD DSN for connecting to a Firebird database employee.fdb using localhost:

firebird:dbname=localhost:/var/lib/firebird/2.5/data/employee.fdb

Firebird (PDO)
IBM (PDO)
Firebird (PDO)


IBM Functions (PDO_IBM)

Einführung

PDO_IBM is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to IBM databases.

Installation

To build the PDO_IBM extension, the DB2 Client v9.1 or later must be installed on the same system as PHP. The DB2 Client can be downloaded from the IBM » Application Development Site.

Hinweis: Note

The DB2 Client v9.1 or later supports direct access to DB2 for Linux, UNIX, and Windows v8 and v9.1 servers.

The DB2 Client v9.1 also supports access to DB2 UDB for i5 and DB2 UDB for z/OS servers using the separately purchased » DB2 Connect product.

PDO_IBM is a » PECL extension, so follow the instructions in Installation of PECL extensions to install the PDO_IBM extension. Issue the configure command to point to the location of your DB2 Client header files and libraries as follows:

bash$ ./configure --with-pdo-ibm=/path/to/sqllib[,shared]
The configure command defaults to the value of the DB2DIR environment variable.

Inhaltsverzeichnis

  • PDO_IBM DSN — Connecting to IBM databases
PDO_FIREBIRD DSN
PDO_IBM DSN
PDO-Treiber


Connecting to IBM databases

IBM (PDO)
Informix (PDO)
IBM (PDO)
PHP Manual

PDO_IBM DSN

(PECL PDO_IBM >= 0.9.0)

PDO_IBM DSN — Connecting to IBM databases

Beschreibung

The PDO_IBM Data Source Name (DSN) is based on the IBM CLI DSN. The major components of the PDO_IBM DSN are:

DSN prefix

The DSN prefix is ibm:.

DSN

The DSN can be any of the following:

  • a) Data source setup using db2cli.ini or odbc.ini

  • b) Catalogued database name i.e. database alias in the DB2 client catalog

  • c) Complete connection string in the following format: DRIVER={IBM DB2 ODBC DRIVER};DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password; where the parameters represent the following values:

    database

    The name of the database.

    hostname

    The hostname or IP address of the database server.

    port

    The TCP/IP port on which the database is listening for requests.

    username

    The username with which you are connecting to the database.

    password

    The password with which you are connecting to the database.

Beispiele

Beispiel #1 PDO_IBM DSN example using db2cli.ini

The following example shows a PDO_IBM DSN for connecting to an DB2 database cataloged as DB2_9 in db2cli.ini:

$db = new PDO("ibm:DSN=DB2_9", "", "");

[DB2_9]
Database=testdb
Protocol=tcpip
Hostname=11.22.33.444
Servicename=56789

Beispiel #2 PDO_IBM DSN example using a connection string

The following example shows a PDO_IBM DSN for connecting to an DB2 database named testdb using the DB2 CLI connection string syntax.

$db = new PDO("ibm:DRIVER={IBM DB2 ODBC DRIVER};DATABASE=testdb;" .
  "HOSTNAME=11.22.33.444;PORT=56789;PROTOCOL=TCPIP;", "testuser", "tespass");

IBM (PDO)
Informix (PDO)
IBM (PDO)


Informix Functions (PDO_INFORMIX)

Einführung

PDO_INFORMIX is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to Informix databases.

Installation

To build the PDO_INFORMIX extension, the Informix Client SDK 2.81 UC1 or higher must be installed on the same system as PHP. The Informix Client SDK is available from the » IBM Informix Support Site.

PDO_INFORMIX is a » PECL extension, so follow the instructions in Installation of PECL extensions to install the PDO_INFORMIX extension. Issue the configure command to point to the location of your Informix Client SDK header files and libraries as follows:

   bash$ ./configure --with-pdo-informix=/path/to/SDK[,shared]
The configure command defaults to the value of the INFORMIXDIR environment variable.

Scrollable cursors

PDO_INFORMIX supports scrollable cursors; however, they are not enabled by default. To enable scrollable cursor support, you must either set ENABLESCROLLABLECURSORS=1 in the corresponding ODBC connection settings in odbc.ini or pass the EnableScrollableCursors=1 clause in the DSN connection string.

Inhaltsverzeichnis

  • PDO_INFORMIX DSN — Connecting to Informix databases
PDO_IBM DSN
PDO_INFORMIX DSN
PDO-Treiber


Connecting to Informix databases

Informix (PDO)
MySQL (PDO)
Informix (PDO)
PHP Manual

PDO_INFORMIX DSN

(PECL PDO_INFORMIX >= 0.1.0)

PDO_INFORMIX DSN — Connecting to Informix databases

Beschreibung

The PDO_INFORMIX Data Source Name (DSN) is based on the Informix ODBC DSN string. Details on configuring an Informix ODBC DSN are available from the » Informix Dynamic Server Information Center. The major components of the PDO_INFORMIX DSN are:

DSN prefix

The DSN prefix is informix:.

DSN

The DSN can be either a data source setup using odbc.ini or a complete » connection string.

Beispiele

Beispiel #1 PDO_INFORMIX DSN example using odbc.ini

The following example shows a PDO_INFORMIX DSN for connecting to an Informix database cataloged as Infdrv33 in odbc.ini:

$db = new PDO("informix:DSN=Infdrv33", "", "");

[ODBC Data Sources]
Infdrv33=INFORMIX 3.3 32-BIT

[Infdrv33]
Driver=/opt/informix/csdk_2.81.UC1G2/lib/cli/iclis09b.so
Description=INFORMIX 3.3 32-BIT
Database=common_db
LogonID=testuser
pwd=testpass
Servername=ids_server
DB_LOCALE=en_US.819
OPTIMIZEAUTOCOMMIT=1
ENABLESCROLLABLECURSORS=1

Beispiel #2 PDO_INFORMIX DSN example using a connection string

The following example shows a PDO_INFORMIX DSN for connecting to an Informix database named common_db using the Informix connection string syntax.

$db = new PDO("informix:host=host.domain.com; service=9800;
    database=common_db; server=ids_server; protocol=onsoctcp;
    EnableScrollableCursors=1", "testuser", "tespass");

Informix (PDO)
MySQL (PDO)
Informix (PDO)


MySQL Funktionen (PDO_MYSQL)

Einführung

PDO_MYSQL ist ein Treiber welcher das PHP Data Objects (PDO) interface implementiert hat. Es ermöglicht den Zugriff von PHP auf MySQL 3.x, 4.x und 5.x Datenbanken.

PDO_MYSQL will take advantage of native prepared statement support present in MySQL 4.1 and higher. If you're using an older version of the mysql client libraries, PDO will emulate them for you.

Warnung

Vorsicht: Einige MySQL Tabellen Typen (storage engines), u.a. MyISAM, unterstützen keine Transaktionen. Wenn Transaktionen im PHP Code verwendet und auf nicht transaktionsfähige Tabellen verwendet werden, wird von MySQL eine erfolgreiche Rückmeldung betreffend der Transaktionsausführung kommen. Ausserdem werden einige DDL Queries eine implizit Übertragung der hängenden Transaktionen ausgeben.

Installation

The common Unix distributions include binary versions of PHP that can be installed. Although these binary versions are typically built with support for the MySQL extensions, the extension libraries themselves may need to be installed using an additional package. Check the package manager than comes with your chosen distribution for availability.

For example, on Ubuntu the php5-mysql package installs the ext/mysql, ext/mysqli, and PDO_MYSQL PHP extensions. On CentOS, the php-mysql package also installs these three PHP extensions.

Alternatively, you can compile this extension yourself. Building PHP from source allows you to specify the MySQL extensions you want to use, as well as your choice of client library for each extension.

When compiling, use --with-pdo-mysql[=DIR] to install the PDO MySQL extension, where the optional [=DIR] is the MySQL base library. As of PHP 5.4, mysqlnd is the default library. For details about choosing a library, see Choosing a MySQL library.

Optionally, the --with-mysql-sock[=DIR] sets to location to the MySQL unix socket pointer for all MySQL extensions, including PDO_MYSQL. If unspecified, the default locations are searched.

Optionally, the --with-zlib-dir[=DIR] is used to set the path to the libz install prefix.

$ ./configure --with-pdo-mysql --with-mysql-sock=/var/mysql/mysql.sock

SSL support is enabled using the appropriate PDO_MySQL constants, which is equivalent to calling the » MySQL C API function mysql_ssl_set(). Also, SSL cannot be enabled with PDO::setAttribute because the connection already exists. See also the MySQL documentation about » connecting to MySQL with SSL.

Changelog
Version | Beschreibung
5.4.0 | mysqlnd became the default MySQL library when compiling PDO_MYSQL. Previously, libmysqlclient was the default MySQL library.
5.4.0 | MySQL client libraries 4.1 and below are no longer supported.
5.3.9 | Added SSL support with mysqlnd and OpenSSL.
5.3.7 | Added SSL support with libmysqlclient and OpenSSL.

Vordefinierte Konstanten

Die folgenden Konstanten werden vom Treiber definiert und sind nur verfügbar, wenn die Extension entweder in PHP einkompiliert oder dynamisch zur Laufzeit geladen wurde. Weiterhin sind diese Konstanten treiberspezifisch und sollten nur mit diesem Treiber benutzt werden. MySQL-spezifische Attribute mit dem PostgreSQL Treiber zu nutzen, kann zu unerwarteten Ergebnissen führen. Kann Ihr Code mit verschiedenen Treibern arbeiten, so können Sie PDO::getAttribute() benutzen, um mit PDO_ATTR_DRIVER_NAME den aktuellen Treiber zu ermitteln.

PDO::MYSQL_ATTR_USE_BUFFERED_QUERY (integer)
If this attribute is set to TRUE on a PDOStatement, the MySQL driver will use the buffered versions of the MySQL API. If you're writing portable code, you should use PDOStatement::fetchAll() instead.

Beispiel #1 Forcing queries to be buffered in mysql

<?php
if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') {
    $stmt = $db->prepare('select * from foo',
        array(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true));
} else {
    die("my application only works with mysql; I should use \$stmt->fetchAll() instead");
}
?>

PDO::MYSQL_ATTR_LOCAL_INFILE (integer)

Enable LOAD LOCAL INFILE.

Note, this constant can only be used in the driver_options array when constructing a new database handle.

PDO::MYSQL_ATTR_INIT_COMMAND (integer)

Command to execute when connecting to the MySQL server. Will automatically be re-executed when reconnecting.

Note, this constant can only be used in the driver_options array when constructing a new database handle.

PDO::MYSQL_ATTR_READ_DEFAULT_FILE (integer)

Read options from the named option file instead of from my.cnf. This option is not available if mysqlnd is used, because mysqlnd does not read the mysql configuration files.

PDO::MYSQL_ATTR_READ_DEFAULT_GROUP (integer)

Read options from the named group from my.cnf or the file specified with MYSQL_READ_DEFAULT_FILE. This option is not available if mysqlnd is used, because mysqlnd does not read the mysql configuration files.

PDO::MYSQL_ATTR_MAX_BUFFER_SIZE (integer)

Maximum buffer size. Defaults to 1 MiB. This constant is not supported when compiled against mysqlnd.

PDO::MYSQL_ATTR_DIRECT_QUERY (integer)

Perform direct queries, don't use prepared statements.

PDO::MYSQL_ATTR_FOUND_ROWS (integer)

Return the number of found (matched) rows, not the number of changed rows.

PDO::MYSQL_ATTR_IGNORE_SPACE (integer)

Permit spaces after function names. Makes all functions names reserved words.

PDO::MYSQL_ATTR_COMPRESS (integer)

Enable network communication compression. This is also supported when compiled against mysqlnd as of PHP 5.3.11.

PDO::MYSQL_ATTR_SSL_CA (integer)

The file path to the SSL certificate authority.

Dies existiert seit PHP 5.3.7.

PDO::MYSQL_ATTR_SSL_CAPATH (integer)

The file path to the directory that contains the trusted SSL CA certificates, which are stored in PEM format.

Dies existiert seit PHP 5.3.7.

PDO::MYSQL_ATTR_SSL_CERT (integer)

The file path to the SSL certificate.

Dies existiert seit PHP 5.3.7.

PDO::MYSQL_ATTR_SSL_CIPHER (integer)

A list of one or more permissible ciphers to use for SSL encryption, in a format understood by OpenSSL. For example: DHE-RSA-AES256-SHA:AES128-SHA

Dies existiert seit PHP 5.3.7.

PDO::MYSQL_ATTR_SSL_KEY (integer)

The file path to the SSL key.

Dies existiert seit PHP 5.3.7.

PDO::MYSQL_ATTR_MULTI_STATEMENTS (integer)

Disables multi query execution in both PDO::prepare() and PDO::query() when set to FALSE.

Note, this constant can only be used in the driver_options array when constructing a new database handle.

Dies existiert seit PHP 5.5.21 and PHP 5.6.5.

Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

PDO_MYSQL Configuration Options
Name | Standard | Veränderbar
pdo_mysql.default_socket | "/tmp/mysql.sock" | PHP_INI_SYSTEM
pdo_mysql.debug | NULL | PHP_INI_SYSTEM
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

pdo_mysql.default_socket string

Sets a Unix domain socket. This value can either be set at compile time if a domain socket is found at configure. This ini setting is Unix only.

pdo_mysql.debug boolean

Enables debugging for PDO_MYSQL. This setting is only available when PDO_MYSQL is compiled against mysqlnd and in PDO debug mode.

Inhaltsverzeichnis

  • PDO_MYSQL DSN — Mit einer MySQL Datenbank verbinden
PDO_INFORMIX DSN
PDO_MYSQL DSN
PDO-Treiber


Mit einer MySQL Datenbank verbinden

MySQL (PDO)
MS SQL Server (PDO)
MySQL (PDO)
PHP Manual

PDO_MYSQL DSN

(PECL PDO_MYSQL >= 0.1.0)

PDO_MYSQL DSN — Mit einer MySQL Datenbank verbinden

Beschreibung

The PDO_MYSQL Data Source Name (DSN) is composed of the following elements:

DSN prefix

The DSN prefix is mysql:.

host

The hostname on which the database server resides.

port

The port number where the database server is listening.

dbname

The name of the database.

unix_socket

The MySQL Unix socket (shouldn't be used with host or port).

charset

The character set. See the character set concepts documentation for more information.

Prior to PHP 5.3.6, this element was silently ignored. The same behaviour can be partly replicated with the PDO::MYSQL_ATTR_INIT_COMMAND driver option, as the following example shows.

Warnung

The method in the below example can only be used with character sets that share the same lower 7 bit representation as ASCII, such as ISO-8859-1 and UTF-8. Users using character sets that have different representations (such as UTF-16 or Big5) must use the charset option provided in PHP 5.3.6 and later versions.

Beispiel #1 Setting the connection character set to UTF-8 prior to PHP 5.3.6

<?php
$dsn = 'mysql:host=localhost;dbname=testdb';
$username = 'username';
$password = 'password';
$options = array(
    PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
);

$dbh = new PDO($dsn, $username, $password, $options);
?>

Changelog

Version | Beschreibung
5.3.6 | Prior to version 5.3.6, charset was ignored.

Beispiele

Beispiel #2 PDO_MYSQL DSN examples

The following example shows a PDO_MYSQL DSN for connecting to MySQL databases:

mysql:host=localhost;dbname=testdb
More complete examples:
mysql:host=localhost;port=3307;dbname=testdb
mysql:unix_socket=/tmp/mysql.sock;dbname=testdb

Anmerkungen

Hinweis: Unix only:

When the host name is set to "localhost", then the connection to the server is made thru a domain socket. If PDO_MYSQL is compiled against libmysqlclient then the location of the socket file is at libmysqlclient's compiled in location. If PDO_MYSQL is compiled against mysqlnd a default socket can be set thru the pdo_mysql.default_socket setting.

MySQL (PDO)
MS SQL Server (PDO)
MySQL (PDO)


Microsoft SQL Server Functions (PDO_SQLSRV)

Einführung

PDO_SQLSRV is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to MS SQL Server (starting with SQL Server 2005) and SQL Azure databases.

Installation

The PDO_SQLSRV extension is enabled by adding appropriate DLL file to your PHP extension directory and the corresponding entry to the php.ini file. The PDO_SQLSRV download comes 8 driver files, four of which are for PDO support. If you are running non-thread-safe PHP (PHP 5.3), use the php_pdo_sqlsrv_53_nts.dll file. (You should use a non-thread-safe version if you are using IIS as your web server). If you are running thread-safe PHP, use the php_pdo_sqlsrv_53_ts.dll file. Similarly for PHP 5.4, use the php_pdo_sqlsrv_54_nts.dll or php_pdo_sqlsrv_54_ts.dll depending on whether your PHP installation is non-thread-safe or thread-safe.

The most recent version of the driver is available for download here: » SQLSRV 3.0 download. If you need support for PHP 5.2 and/or PHP compiled with VC6, use the 2.0 release of the driver: » SQLSRV 2.0 download.

For more information about system requirements, see » SQLSRV System Requirements.

The PDO_SQLSRV extension is only compatible with PHP running on Windows. For Linux, see ODBC and » Microsoft's SQL Server ODBC Driver for Linux.

Vordefinierte Konstanten

Die folgenden Konstanten werden vom Treiber definiert und sind nur verfügbar, wenn die Extension entweder in PHP einkompiliert oder dynamisch zur Laufzeit geladen wurde. Weiterhin sind diese Konstanten treiberspezifisch und sollten nur mit diesem Treiber benutzt werden. MySQL-spezifische Attribute mit dem PostgreSQL Treiber zu nutzen, kann zu unerwarteten Ergebnissen führen. Kann Ihr Code mit verschiedenen Treibern arbeiten, so können Sie PDO::getAttribute() benutzen, um mit PDO_ATTR_DRIVER_NAME den aktuellen Treiber zu ermitteln.

PDO::SQLSRV_TXN_READ_UNCOMMITTED (integer)
This constant is an acceptable value for the SQLSRV DSN key TransactionIsolation. This constant sets the transaction isolation level for the connection to Read Uncommitted.
PDO::SQLSRV_TXN_READ_COMMITTED (integer)
This constant is an acceptable value for the SQLSRV DSN key TransactionIsolation. This constant sets the transaction isolation level for the connection to Read Committed.
PDO::SQLSRV_TXN_REPEATABLE_READ (integer)
This constant is an acceptable value for the SQLSRV DSN key TransactionIsolation. This constant sets the transaction isolation level for the connection to Repeateable Read.
PDO::SQLSRV_TXN_SNAPSHOT (integer)
This constant is an acceptable value for the SQLSRV DSN key TransactionIsolation. This constant sets the transaction isolation level for the connection to Snapshot.
PDO::SQLSRV_TXN_SERIALIZABLE (integer)
This constant is an acceptable value for the SQLSRV DSN key TransactionIsolation. This constant sets the transaction isolation level for the connection to Serializable.
PDO::SQLSRV_ENCODING_BINARY (integer)
Specifies that data is sent/retrieved as a raw byte stream to/from the server without performing encoding or translation. This constant can be passed to PDOStatement::setAttribute, PDO::prepare, PDOStatement::bindColumn, and PDOStatement::bindParam.
PDO::SQLSRV_ENCODING_SYSTEM (integer)
Specifies that data is sent/retrieved to/from the server as 8-bit characters as specified in the code page of the Windows locale that is set on the system. Any multi-byte characters or characters that do not map into this code page are substituted with a single byte question mark (?) character. This constant can be passed to PDOStatement::setAttribute, PDO::setAttribute, PDO::prepare, PDOStatement::bindColumn, and PDOStatement::bindParam.
PDO::SQLSRV_ENCODING_UTF8 (integer)
Specifies that data is sent/retrieved to/from the server in UTF-8 encoding. This is the default encoding. This constant can be passed to PDOStatement::setAttribute, PDO::setAttribute, PDO::prepare, PDOStatement::bindColumn, and PDOStatement::bindParam.
PDO::SQLSRV_ENCODING_DEFAULT (integer)
Specifies that data is sent/retrieved to/from the server according to PDO::SQLSRV_ENCODING_SYSTEM if specified during connection. The connection's encoding is used if specified in a prepare statement. This constant can be passed to PDOStatement::setAttribute, PDO::setAttribute, PDO::prepare, PDOStatement::bindColumn, and PDOStatement::bindParam.
PDO::SQLSRV_ATTR_QUERY_TIMEOUT (integer)
A non-negative integer representing the timeout period, in seconds. Zero (0) is the default and means no timeout. This constant can be passed to PDOStatement::setAttribute, PDO::setAttribute, and PDO::prepare.
PDO::SQLSRV_ATTR_DIRECT_QUERY (integer)
Indicates that a query should be executed directly, without being prepared. This constant can be passed to PDO::setAttribute, and PDO::prepare. For more information, see » Direct and Prepared Statement Execution.

Inhaltsverzeichnis

  • PDO_SQLSRV DSN — Connecting to MS SQL Server and SQL Azure databases
PDO_MYSQL DSN
PDO_SQLSRV DSN
PDO-Treiber


Connecting to MS SQL Server and SQL Azure databases

MS SQL Server (PDO)
Oracle (PDO)
MS SQL Server (PDO)
PHP Manual

PDO_SQLSRV DSN

(No version information available, might only be in Git)

PDO_SQLSRV DSN — Connecting to MS SQL Server and SQL Azure databases

Beschreibung

The PDO_SQLSRV Data Source Name (DSN) is composed of the following elements:

DSN prefix

The DSN prefix is sqlsrv:.

APP

The application name used in tracing.

ConnectionPooling

Specifies whether the connection is assigned from a connection pool (1 or TRUE) or not (0 or FALSE).

Database

The name of the database.

Encrypt

Specifies whether the communication with SQL Server is encrypted (1 or TRUE) or unencrypted (0 or FALSE).

Failover_Partner

Specifies the server and instance of the database's mirror (if enabled and configured) to use when the primary server is unavailable.

LoginTimeout

Specifies the number of seconds to wait before failing the connection attempt.

MultipleActiveResultSets

Disables or explicitly enables support for multiple active Result sets (MARS).

QuotedId

Specifies whether to use SQL-92 rules for quoted identifiers (1 or TRUE) or to use legacy Transact-SQL rules (0 or FALSE).

Server

The name of the database server.

TraceFile

Specifies the path for the file used for trace data.

TraceOn

Specifies whether ODBC tracing is enabled (1 or TRUE) or disabled (0 or FALSE) for the connection being established.

TransactionIsolation

Specifies the transaction isolation level. The accepted values for this
option are PDO::SQLSRV_TXN_READ_UNCOMMITTED, PDO::SQLSRV_TXN_READ_COMMITTED,
PDO::SQLSRV_TXN_REPEATABLE_READ, PDO::SQLSRV_TXN_SNAPSHOT, and
PDO::SQLSRV_TXN_SERIALIZABLE.

TrustServerCertificate

Specifies whether the client should trust (1 or TRUE) or reject (0 or FALSE) a self-signed server certificate.

WSID

Specifies the name of the computer for tracing.

Beispiele

Beispiel #1 PDO_SQLSRV DSN examples

The following example shows how to connecto to a specified MS SQL Server database:

$c = new PDO("sqlsrv:Server=localhost;Database=testdb", "UserName", "Password");

The following example shows how to connect to a MS SQL Server database on a specified port:

$c = new PDO("sqlsrv:Server=localhost,1521;Database=testdb", "UserName", "Password");

The following example shows how to connecto to a SQL Azure database with server ID 12345abcde. Note that when you connect to SQL Azure with PDO, your username will be UserName@12345abcde (UserName@ServerId).

$c = new PDO("sqlsrv:Server=12345abcde.database.windows.net;Database=testdb", "UserName@12345abcde", "Password");

MS SQL Server (PDO)
Oracle (PDO)
MS SQL Server (PDO)


Oracle Functions (PDO_OCI)

Installation

Use --with-pdo-oci[=DIR] to install the PDO Oracle OCI extension, where the optional [=DIR] is the Oracle Home directory. [=DIR] defaults to the $ORACLE_HOME environment variable.

Use --with-pdo-oci=instantclient,prefix,version for an Oracle Instant Client SDK, where prefix and version are configured.

// Using $ORACLE_HOME
$ ./configure --with-pdo-oci

// Using OIC for Linux with 10.2.0.3 RPMs with a /usr prefix
$ ./configure --with-pdo-oci=instantclient,/usr,10.2.0.3

Inhaltsverzeichnis

  • PDO_OCI DSN — Connecting to Oracle databases
PDO_SQLSRV DSN
PDO_OCI DSN
PDO-Treiber


Connecting to Oracle databases

Oracle (PDO)
ODBC and DB2 (PDO)
Oracle (PDO)
PHP Manual

PDO_OCI DSN

(PECL PDO_OCI >= 0.1.0)

PDO_OCI DSN — Connecting to Oracle databases

Beschreibung

The PDO_OCI Data Source Name (DSN) is composed of the following elements:

DSN prefix

The DSN prefix is oci:.

dbname (Oracle Instant Client)

The URI for the Oracle Instant Client connection takes the form of dbname=//hostname:port-number/database. If you are connecting to a database defined in tnsnames.ora, use only the name of the database: dbname=database.

charset

The client-side character set for the current environment handle.

Beispiele

Beispiel #1 PDO_OCI DSN examples

The following examples show a PDO_OCI DSN for connecting to Oracle databases:

// Connect to a database defined in tnsnames.ora
oci:dbname=mydb

// Connect using the Oracle Instant Client
oci:dbname=//localhost:1521/mydb

Oracle (PDO)
ODBC and DB2 (PDO)
Oracle (PDO)


ODBC and DB2 Functions (PDO_ODBC)

Einführung

PDO_ODBC is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to databases through ODBC drivers or through the IBM DB2 Call Level Interface (DB2 CLI) library. PDO_ODBC currently supports three different "flavours" of database drivers:

ibm-db2

Supports access to IBM DB2 Universal Database, Cloudscape, and Apache Derby servers through the free DB2 client.

unixODBC

Supports access to database servers through the unixODBC driver manager and the database's own ODBC drivers.

generic

Offers a compile option for ODBC driver managers that are not explicitly supported by PDO_ODBC.

On Windows, php_pdo_odbc.dll has to be enabled as extension in php.ini. It is linked against the Windows ODBC Driver Manager so that PHP can connect to any database cataloged as a System DSN, and is the recommended driver for connecting to Microsoft SQL Server databases.

Installation

PDO_ODBC on UNIX systems

  1. As of PHP 5.1, PDO_ODBC is included in the PHP source. You can compile the PDO_ODBC extension as either a static or shared module using the following configure commands.

    ibm_db2

    ./configure --with-pdo-odbc=ibm-db2,/opt/IBM/db2/V8.1/
    To build PDO_ODBC with the ibm-db2 flavour, you have to have previously installed the DB2 application development headers on the same machine on which you are compiling PDO_ODBC. The DB2 application development headers are an installable option in the DB2 servers, and are also available as part of the DB2 Application Development Client freely available for download from the IBM DB2 Universal Database » support site.

    If you do not supply a location for the DB2 libraries and headers to the configure command, PDO_ODBC defaults to /home/db2inst1/sqllib.

    unixODBC

    ./configure --with-pdo-odbc=unixODBC,/usr/local
    If you do not supply a location for the unixODBC libraries and headers to the configure command, PDO_ODBC defaults to /usr/local.

    generic
    ./configure --with-pdo-odbc=generic,/usr/local,libname,ldflags,cflags

Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

PDO_ODBC Configuration Options
Name | Standard | Veränderbar | Changelog
pdo_odbc.connection_pooling | "strict" | PHP_INI_ALL | Available since PHP 5.1.0.
pdo_odbc.db2_instance_name | NULL | PHP_INI_SYSTEM | Available since PHP 5.1.1. Dieses veraltete Feature wird in der Zukunft sicherlich entfernt.
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

pdo_odbc.connection_pooling string

Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" (equals to ""). The parameter describes how strict the connection manager should be when matching connection parameters to existing pooled connections. strict is the recommend default, and will result in the use of cached connections only when all the connection parameters match exactly. relaxed will result in the use of cached connections when similar connection parameters are used. This can result in increased use of the cache, at the risk of bleeding connection information between (for example) virtual hosts.

This setting can only be changed from the php.ini file, and affects the entire process; any other modules loaded into the process that use the same ODBC libraries will be affected too, including the Unified ODBC extension.

Warnung

relaxed matching should not be used on a shared server, for security reasons.

Tipp

Leave this setting at the default strict setting unless you have good reason to change it.

pdo_odbc.db2_instance_name string

If you compile PDO_ODBC using the db2 flavour, this setting sets the value of the DB2INSTANCE environment variable on Linux and UNIX operating systems to the specified name of the DB2 instance. This enables PDO_ODBC to resolve the location of the DB2 libraries and make cataloged connections to DB2 databases.

This setting can only be changed from the php.ini file, and affects the entire process; any other modules loaded into the process that use the same ODBC libraries will be affected too, including the Unified ODBC extension.

This setting has no effect on Windows.

Inhaltsverzeichnis

  • PDO_ODBC DSN — Connecting to ODBC or DB2 databases
PDO_OCI DSN
PDO_ODBC DSN
PDO-Treiber


Connecting to ODBC or DB2 databases

ODBC and DB2 (PDO)
PostgreSQL (PDO)
ODBC and DB2 (PDO)
PHP Manual

PDO_ODBC DSN

(PECL PDO_ODBC >= 0.1.0)

PDO_ODBC DSN — Connecting to ODBC or DB2 databases

Beschreibung

The PDO_ODBC Data Source Name (DSN) is composed of the following elements:

DSN prefix

The DSN prefix is odbc:. If you are connecting to a database cataloged in the ODBC driver manager or the DB2 catalog, you can append the cataloged name of the database to the DSN.

DSN

The name of the database as cataloged in the ODBC driver manager or the DB2 catalog. Alternately, you can provide a complete ODBC connection string to connect to a database as described at » http://www.connectionstrings.com/.

UID

The name of the user for the connection. If you specify the user name in the DSN, PDO ignores the value of the user name argument in the PDO constructor.

PWD

The password of the user for the connection. If you specify the password in the DSN, PDO ignores the value of the password argument in the PDO constructor.

Beispiele

Beispiel #1 PDO_ODBC DSN example (ODBC driver manager)

The following example shows a PDO_ODBC DSN for connecting to an ODBC database cataloged as testdb in the ODBC driver manager:

odbc:testdb

Beispiel #2 PDO_ODBC DSN example (IBM DB2 uncataloged connection)

The following example shows a PDO_ODBC DSN for connecting to an IBM DB2 database named SAMPLE using the full ODBC DSN syntax:

odbc:DRIVER={IBM DB2 ODBC DRIVER};HOSTNAME=localhost;PORT=50000;DATABASE=SAMPLE;PROTOCOL=TCPIP;UID=db2inst1;PWD=ibmdb2;

Beispiel #3 PDO_ODBC DSN example (Microsoft Access uncataloged connection)

The following example shows a PDO_ODBC DSN for connecting to a Microsoft Access database stored at C:\db.mdb using the full ODBC DSN syntax:

odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\\db.mdb;Uid=Admin

ODBC and DB2 (PDO)
PostgreSQL (PDO)
ODBC and DB2 (PDO)


PostgreSQL Functions (PDO_PGSQL)

Einführung

PDO_PGSQL is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to PostgreSQL databases.

Ressource-Typen

This extension defines a stream resource returned by PDO::pgsqlLOBOpen().

Installation

Use --with-pdo-pgsql[=DIR] to install the PDO PostgreSQL extension, where the optional [=DIR] is the PostgreSQL base install directory, or the path to pg_config.

$ ./configure --with-pdo-pgsql

Inhaltsverzeichnis

  • PDO_PGSQL DSN — Connecting to PostgreSQL databases
  • PDO::pgsqlCopyFromArray — Copy data from PHP array into table
  • PDO::pgsqlCopyFromFile — Copy data from file into table
  • PDO::pgsqlCopyToArray — Copy data from database table into PHP array
  • PDO::pgsqlCopyToFile — Copy data from table into file
  • PDO::pgsqlGetNotify — Get asynchronous notification
  • PDO::pgsqlGetPid — Get the server PID
  • PDO::pgsqlLOBCreate — Creates a new large object
  • PDO::pgsqlLOBOpen — Opens an existing large object stream
  • PDO::pgsqlLOBUnlink — Deletes the large object
PDO_ODBC DSN
PDO_PGSQL DSN
PDO-Treiber


Connecting to PostgreSQL databases

PostgreSQL (PDO)
PDO::pgsqlCopyFromArray
PostgreSQL (PDO)
PHP Manual

PDO_PGSQL DSN

(PECL PDO_PGSQL >= 0.1.0)

PDO_PGSQL DSN — Connecting to PostgreSQL databases

Beschreibung

The PDO_PGSQL Data Source Name (DSN) is composed of the following elements, delimited by spaces or semicolons:

DSN prefix

The DSN prefix is pgsql:.

host

The hostname on which the database server resides.

port

The port on which the database server is running.

dbname

The name of the database.

user

The name of the user for the connection. If you specify the user name in the DSN, PDO ignores the value of the user name argument in the PDO constructor.

password

The password of the user for the connection. If you specify the password in the DSN, PDO ignores the value of the password argument in the PDO constructor.

Hinweis:

The bytea fields are returned as streams.

Beispiele

Beispiel #1 PDO_PGSQL DSN examples

The following example shows a PDO_PGSQL DSN for connecting to a PostgreSQL database:

pgsql:host=localhost;port=5432;dbname=testdb;user=bruce;password=mypass

PostgreSQL (PDO)
PDO::pgsqlCopyFromArray
PostgreSQL (PDO)


Copy data from PHP array into table

PDO_PGSQL DSN
PDO::pgsqlCopyFromFile
PostgreSQL (PDO)
PHP Manual

PDO::pgsqlCopyFromArray

(PHP 5 >= 5.3.3, PHP 7)

PDO::pgsqlCopyFromArray — Copy data from PHP array into table

Beschreibung

public bool PDO::pgsqlCopyFromArray ( string $table_name , array $rows [, string $delimiter = '\t' [, string $null_as = "\\\\N" [, string $fields ]]] )

Copies data from rows array to table table_name using delimiter as fields delimiter and fields list

Parameter-Liste

table_name

String containing table name

rows

Array of strings with fields separated by delimiter

delimiter

Delimiter used in rows array

null_as

How to interpret null values

fields

List of fields to insert

Rückgabewerte

Returns TRUE on success,Im Fehlerfall wird FALSE zurückgegeben..

PDO_PGSQL DSN
PDO::pgsqlCopyFromFile
PostgreSQL (PDO)


Copy data from file into table

PDO::pgsqlCopyFromArray
PDO::pgsqlCopyToArray
PostgreSQL (PDO)
PHP Manual

PDO::pgsqlCopyFromFile

(PHP 5 >= 5.3.3, PHP 7)

PDO::pgsqlCopyFromFile — Copy data from file into table

Beschreibung

public bool PDO::pgsqlCopyFromFile ( string $table_name , string $filename [, string $delimiter = '\t' [, string $null_as = "\\\\N" [, string $fields ]]] )

Copies data from file specified by filename into table table_name using delimiter as fields delimiter and fields list

Parameter-Liste

table_name

String containing table name

filename

Filename containing data to import

delimiter

Delimiter used in file specified by filename

null_as

How to interpret null values

fields

List of fields to insert

Rückgabewerte

Returns TRUE on success,Im Fehlerfall wird FALSE zurückgegeben..

PDO::pgsqlCopyFromArray
PDO::pgsqlCopyToArray
PostgreSQL (PDO)


Copy data from database table into PHP array

PDO::pgsqlCopyFromFile
PDO::pgsqlCopyToFile
PostgreSQL (PDO)
PHP Manual

PDO::pgsqlCopyToArray

(PHP 5 >= 5.3.3, PHP 7)

PDO::pgsqlCopyToArray — Copy data from database table into PHP array

Beschreibung

public array PDO::pgsqlCopyToArray ( string $table_name , array $rows [, string $delimiter = '\t' [, string $null_as = "\\\\N" [, string $fields ]]] )

Copies data from table into array using delimiter as fields delimiter and fields list

Parameter-Liste

table_name

String containing table name

delimiter

Delimiter used in rows array

null_as

How to interpret null values

fields

List of fields to export

Rückgabewerte

Returns an array of rows,Im Fehlerfall wird FALSE zurückgegeben..

PDO::pgsqlCopyFromFile
PDO::pgsqlCopyToFile
PostgreSQL (PDO)


Copy data from table into file

PDO::pgsqlCopyToArray
PDO::pgsqlGetNotify
PostgreSQL (PDO)
PHP Manual

PDO::pgsqlCopyToFile

(PHP 5 >= 5.3.3, PHP 7)

PDO::pgsqlCopyToFile — Copy data from table into file

Beschreibung

public bool PDO::pgsqlCopyToFile ( string $table_name , string $filename [, string $delimiter = '\t' [, string $null_as = "\\\\N" [, string $fields ]]] )

Copies data from table into file specified by filename using delimiter as fields delimiter and fields list

Parameter-Liste

table_name

String containing table name

filename

Filename to export data

delimiter

Delimiter used in file specified by filename

null_as

How to interpret null values

fields

List of fields to insert

Rückgabewerte

Returns TRUE on success,Im Fehlerfall wird FALSE zurückgegeben..

PDO::pgsqlCopyToArray
PDO::pgsqlGetNotify
PostgreSQL (PDO)


Get asynchronous notification

PDO::pgsqlCopyToFile
PDO::pgsqlGetPid
PostgreSQL (PDO)
PHP Manual

PDO::pgsqlGetNotify

(PHP 5 >= 5.6.0, PHP 7)

PDO::pgsqlGetNotify — Get asynchronous notification

Beschreibung

public array PDO::pgsqlGetNotify ([ int $result_type = PDO::FETCH_USE_DEFAULT [, int $ms_timeout = 0 ]] )

Returns a result set representing a pending asynchronous notification.

Parameter-Liste

result_type

The format the result set should be returned as, represented as a PDO::FETCH_* constant.

ms_timeout

The length of time to wait for a response, in milliseconds.

Rückgabewerte

If one or more notifications is pending, returns a single row, with fields message and pid, otherwise returns FALSE.

PDO::pgsqlCopyToFile
PDO::pgsqlGetPid
PostgreSQL (PDO)


Get the server PID

PDO::pgsqlGetNotify
PDO::pgsqlLOBCreate
PostgreSQL (PDO)
PHP Manual

PDO::pgsqlGetPid

(PHP 5 >= 5.6.0, PHP 7)

PDO::pgsqlGetPid — Get the server PID

Beschreibung

public int PDO::pgsqlGetPid ( void )

Returns the server's PID.

Rückgabewerte

The server's PID.

PDO::pgsqlGetNotify
PDO::pgsqlLOBCreate
PostgreSQL (PDO)


Creates a new large object

PDO::pgsqlGetPid
PDO::pgsqlLOBOpen
PostgreSQL (PDO)
PHP Manual

PDO::pgsqlLOBCreate

(PHP 5 >= 5.1.2, PHP 7, PECL pdo_pgsql >= 1.0.2)

PDO::pgsqlLOBCreate — Creates a new large object

Beschreibung

public string PDO::pgsqlLOBCreate ( void )

PDO::pgsqlLOBCreate() creates a large object and returns the OID of that object. You may then open a stream on the object using PDO::pgsqlLOBOpen() to read or write data to it. The OID can be stored in columns of type OID and be used to reference the large object, without causing the row to grow arbitrarily large. The large object will continue to live in the database until it is removed by calling PDO::pgsqlLOBUnlink().

Large objects can be up to 2GB in size, but are cumbersome to use; you need to ensure that PDO::pgsqlLOBUnlink() is called prior to deleting the last row that references its OID from your database. In addition, large objects have no access controls. As an alternative, try the bytea column type; recent versions of PostgreSQL allow bytea columns of up to 1GB in size and transparently manage the storage for optimal row size.

Hinweis: This function must be called within a transaction.

Parameter-Liste

PDO::pgsqlLOBCreate() takes no parameters.

Rückgabewerte

Returns the OID of the newly created large object on success, or FALSE on failure.

Beispiele

Beispiel #1 A PDO::pgsqlLOBCreate() example

This example creates a new large object and copies the contents of a file into it. The OID is then stored into a table.

<?php
$db = new PDO('pgsql:dbname=test host=localhost', $user, $pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->beginTransaction();
$oid = $db->pgsqlLOBCreate();
$stream = $db->pgsqlLOBOpen($oid, 'w');
$local = fopen($filename, 'rb');
stream_copy_to_stream($local, $stream);
$local = null;
$stream = null;
$stmt = $db->prepare("INSERT INTO BLOBS (ident, oid) VALUES (?, ?)");
$stmt->execute(array($some_id, $oid));
$db->commit();
?>

Siehe auch

  • PDO::pgsqlLOBOpen() - Opens an existing large object stream
  • PDO::pgsqlLOBUnlink() - Deletes the large object
  • pg_lo_create() - Erzeugt ein Large Object

PDO::pgsqlGetPid
PDO::pgsqlLOBOpen
PostgreSQL (PDO)


Opens an existing large object stream

PDO::pgsqlLOBCreate
PDO::pgsqlLOBUnlink
PostgreSQL (PDO)
PHP Manual

PDO::pgsqlLOBOpen

(PHP 5 >= 5.1.2, PHP 7, PECL pdo_pgsql >= 1.0.2)

PDO::pgsqlLOBOpen — Opens an existing large object stream

Beschreibung

public resource PDO::pgsqlLOBOpen ( string $oid [, string $mode = "rb" ] )

PDO::pgsqlLOBOpen() opens a stream to access the data referenced by oid. If mode is r, the stream is opened for reading, if mode is w, then the stream will be opened for writing. You can use all the usual filesystem functions, such as fread(), fwrite() and fgets() to manipulate the contents of the stream.

Hinweis: This function, and all manipulations of the large object, must be called and carried out within a transaction.

Parameter-Liste

oid

A large object identifier.

mode

If mode is r, open the stream for reading. If mode is w, open the stream for writing.

Rückgabewerte

Returns a stream resource on successIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 A PDO::pgsqlLOBOpen() example

Following on from the PDO::pgsqlLOBCreate() example, this code snippet retrieves the large object from the database and outputs it to the browser.

<?php
$db = new PDO('pgsql:dbname=test host=localhost', $user, $pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->beginTransaction();
$stmt = $db->prepare("select oid from BLOBS where ident = ?");
$stmt->execute(array($some_id));
$stmt->bindColumn('oid', $oid, PDO::PARAM_STR);
$stmt->fetch(PDO::FETCH_BOUND);
$stream = $db->pgsqlLOBOpen($oid, 'r');
header("Content-type: application/octet-stream");
fpassthru($stream);
?>

Siehe auch

  • PDO::pgsqlLOBCreate() - Creates a new large object
  • PDO::pgsqlLOBUnlink() - Deletes the large object
  • pg_lo_open() - Öffnet ein Large Object

PDO::pgsqlLOBCreate
PDO::pgsqlLOBUnlink
PostgreSQL (PDO)


Deletes the large object

PDO::pgsqlLOBOpen
SQLite (PDO)
PostgreSQL (PDO)
PHP Manual

PDO::pgsqlLOBUnlink

(PHP 5 >= 5.1.2, PHP 7, PECL pdo_pgsql >= 1.0.2)

PDO::pgsqlLOBUnlink — Deletes the large object

Beschreibung

public bool PDO::pgsqlLOBUnlink ( string $oid )

Deletes a large object from the database identified by OID.

Hinweis: This function must be called within a transaction.

Parameter-Liste

oid

A large object identifier

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 A PDO::pgsqlLOBUnlink() example

This example unlinks a large object from the database prior to deleting the row that references it from the blobs table we've been using in our PDO::pgsqlLOBCreate() and PDO::pgsqlLOBOpen() examples.

<?php
$db = new PDO('pgsql:dbname=test host=localhost', $user, $pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->beginTransaction();
$db->pgsqlLOBUnlink($oid);
$stmt = $db->prepare("DELETE FROM BLOBS where ident = ?");
$stmt->execute(array($some_id));
$db->commit();
?>

Siehe auch

  • PDO::pgsqlLOBOpen() - Opens an existing large object stream
  • PDO::pgsqlLOBCreate() - Creates a new large object

PDO::pgsqlLOBOpen
SQLite (PDO)
PostgreSQL (PDO)


SQLite Functions (PDO_SQLITE)

Einführung

Der PDO_SQLITE-Treiber implementiert das PHP Data Objects (PDO) Interface, um Zugriff auf SQLite3-Datenbanken zu ermöglichen.

Unter PHP 5.1 bietet die SQLite-Erweiterung ebenfalls einen Treiber für SQLite2-Datenbanken. Obwohl dieser kein Bestandteil des PDO_SQLITE-Treibers ist, verhält er sich ähnlich, weshalb er nebenher dokumentiert wird. Der SQLite2-Treiber für PDO wird nur deshalb angeboten, damit es einfacher ist bestehende SQLite2-Datenbankdateien in Applikationen einzubinden, die bereits den schnelleren und effizienteren SQLITE_PDO-Treiber nutzen. Das hat zur Folge, dass der SQlite2-Treiber nicht so umfangreich an Fähigkeiten ist, wie der SQLite3-Treiber.

Hinweis:

PDO_SQLITE erlaubt es Zeichenketten, abgesehen von Datenströmen, mit PDO::PARAM_LOB zu nutzen.

Installation

The PDO_SQLITE PDO driver is enabled by default. To disable, --without-pdo-sqlite[=DIR] may be used, where the optional [=DIR] is the sqlite base install directory.

Inhaltsverzeichnis

  • PDO_SQLITE DSN — Verbindungen zu SQLite-Datenbanken aufbauen
  • PDO::sqliteCreateAggregate — Registers an aggregating User Defined Function for use in SQL statements
  • PDO::sqliteCreateCollation — Registers a User Defined Function for use as a collating function in SQL statements
  • PDO::sqliteCreateFunction — Registers a User Defined Function for use in SQL statements
PDO::pgsqlLOBUnlink
PDO_SQLITE DSN
PDO-Treiber


Verbindungen zu SQLite-Datenbanken aufbauen

SQLite (PDO)
PDO::sqliteCreateAggregate
SQLite (PDO)
PHP Manual

PDO_SQLITE DSN

(PECL PDO_SQLITE >= 0.2.0)

PDO_SQLITE DSN — Verbindungen zu SQLite-Datenbanken aufbauen

Beschreibung

Der PDO_SQLITE-Data Source Name (DSN) setzt sich aus den folgenden Elementen zusammen:

DSN-Präfix (SQLite 3)

Das DSN-Präfix ist sqlite:.

  • Um eine Datenbank auf dem Datenträger anzusprechen, wird ihr absolute Pfad an das DSN-Präfix angehängt.

  • Um eine Datenbank im Speicher zu erzeugen, wird :memory: an das DSN-Präfix angefügt.

DSN-Präfix (SQLite 2)

Die SQLite-Erweiterung in PHP 5.1 stellt einen PDO-Treiber zur Verfügung, welcher den Zugriff auf und das Erstellen von SQLite2-Datenbanken unterstützt. Das versetzt Sie in die Lage, auf Datenbanken zu zugreifen, die Sie mit einer SQLite-Erweiterung in früheren PHP-Versionen erstellt haben.

Hinweis:

Der SQLite2-Treiber steht in PHP 5.1.x nur zur Verfügung, wenn Sie PDO und ext/sqlite aktiviert haben. Er ist zur Zeit nicht in PECL verfügbar.

Der DSN-Präfix, um eine Verbindung zu einer SQLite2-Datenbank aufzubauen ist sqlite2:.

  • Um eine Datenbank auf dem Datenträger anzusprechen, wird ihr absoluter Pfad an das DSN-Präfix angehängt.

  • Um eine Datenbank im Speicher zu erzeugen, wird :memory: an das DSN-Präfix angefügt.

Beispiele

Beispiel #1 PDO_SQLITE DSN Beispiele

Die folgenden Beispiele zeigen PDO_SQLITE DSN, die genutzt werden, um Verbindungen zu SQLite-Datenbanken aufzubauen:

sqlite:/opt/databases/mydb.sq3
sqlite::memory:
sqlite2:/opt/databases/mydb.sq2
sqlite2::memory:

SQLite (PDO)
PDO::sqliteCreateAggregate
SQLite (PDO)


Registers an aggregating User Defined Function for use in SQL statements

PDO_SQLITE DSN
PDO::sqliteCreateCollation
SQLite (PDO)
PHP Manual

PDO::sqliteCreateAggregate

(PHP 5 >= 5.1.0, PHP 7, PECL pdo_sqlite >= 1.0.0)

PDO::sqliteCreateAggregate — Registers an aggregating User Defined Function for use in SQL statements

Beschreibung

public bool PDO::sqliteCreateAggregate ( string $function_name , callable $step_func , callable $finalize_func [, int $num_args ] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

This method is similar to PDO::sqliteCreateFunction except that it registers functions that can be used to calculate a result aggregated across all the rows of a query.

The key difference between this method and PDO::sqliteCreateFunction is that two functions are required to manage the aggregate.

Parameter-Liste

function_name

The name of the function used in SQL statements.

step_func

Callback function called for each row of the result set. Your PHP function should accumulate the result and store it in the aggregation context.

This function need to be defined as:

mixed step ( mixed $context , int $rownumber , mixed $value1 [, mixed $value2 [, mixed $.. ]] )

context will be NULL for the first row; on subsequent rows it will have the value that was previously returned from the step function; you should use this to maintain the aggregate state.

rownumber will hold the current row number.

The return value of this function will be used as the context argument in the next call of the step or finalize functions.

finalize_func

Callback function to aggregate the "stepped" data from each row. Once all the rows have been processed, this function will be called and it should then take the data from the aggregation context and return the result. Callback functions should return a type understood by SQLite (i.e. scalar type).

This function need to be defined as:

mixed fini ( mixed $context , int $rownumber )

context will hold the return value from the very last call to the step function.

rownumber will hold the number of rows over which the aggregate was performed.

The return value of this function will be used as the return value for the aggregate.

num_args

Hint to the SQLite parser if the callback function accepts a predetermined number of arguments.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 max_length aggregation function example

<?php
$data = array(
   'one',
   'two',
   'three',
   'four',
   'five',
   'six',
   'seven',
   'eight',
   'nine',
   'ten',
   );
$db = new PDO('sqlite::memory:');
$db->exec("CREATE TABLE strings(a)");
$insert = $db->prepare('INSERT INTO strings VALUES (?)');
foreach ($data as $str) {
    $insert->execute(array($str));
}
$insert = null;

function max_len_step(&$context, $rownumber, $string)
{
    if (strlen($string) > $context) {
        $context = strlen($string);
    }
    return $context;
}

function max_len_finalize(&$context, $rownumber)
{
    return $context;
}

$db->sqliteCreateAggregate('max_len', 'max_len_step', 'max_len_finalize');

var_dump($db->query('SELECT max_len(a) from strings')->fetchAll());

?>

In this example, we are creating an aggregating function that will calculate the length of the longest string in one of the columns of the table. For each row, the max_len_step function is called and passed a context parameter. The context parameter is just like any other PHP variable and be set to hold an array or even an object value. In this example, we are simply using it to hold the maximum length we have seen so far; if the string has a length longer than the current maximum, we update the context to hold this new maximum length.

After all of the rows have been processed, SQLite calls the max_len_finalize function to determine the aggregate result. Here, we could perform some kind of calculation based on the data found in the context. In our simple example though, we have been calculating the result as the query progressed, so we simply need to return the context value.

Tipp

It is NOT recommended for you to store a copy of the values in the context and then process them at the end, as you would cause SQLite to use a lot of memory to process the query - just think of how much memory you would need if a million rows were stored in memory, each containing a string 32 bytes in length.

Tipp

You can use PDO::sqliteCreateFunction and PDO::sqliteCreateAggregate to override SQLite native SQL functions.

Hinweis:

This method is not available with the SQLite2 driver. Use the old style sqlite API for that instead.

Siehe auch

  • PDO::sqliteCreateFunction
  • sqlite_create_function() - Registriert eine "reguläre" nutzerdefinierte Funktion für den Gebrauch in SQL-Befehlen
  • sqlite_create_aggregate() - Registriert eine benutzerdefinierte Funktion, um SQL-Abfragen zu aggregieren

PDO_SQLITE DSN
PDO::sqliteCreateCollation
SQLite (PDO)


Registers a User Defined Function for use as a collating function in SQL statements

PDO::sqliteCreateAggregate
PDO::sqliteCreateFunction
SQLite (PDO)
PHP Manual

PDO::sqliteCreateCollation

(PHP 5 >= 5.3.11, PHP 7)

PDO::sqliteCreateCollation — Registers a User Defined Function for use as a collating function in SQL statements

Beschreibung

public bool PDO::sqliteCreateCollation ( string $name , callable $callback )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Parameter-Liste

name

Name of the SQL collating function to be created or redefined.

callback

The name of a PHP function or user-defined function to apply as a callback, defining the behavior of the collation. It should accept two strings and return as strcmp() does, i.e. it should return -1, 1, or 0 if the first string sorts before, sorts after, or is equal to the second.

This function need to be defined as:

int collation ( string $string1 , string $string2 )

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 PDO::sqliteCreateCollation() example

<?php
$db = new PDO('sqlite::memory:');
$db->exec("CREATE TABLE test (col1 string)");
$db->exec("INSERT INTO test VALUES ('a1')");
$db->exec("INSERT INTO test VALUES ('a10')");
$db->exec("INSERT INTO test VALUES ('a2')");

$db->sqliteCreateCollation('NATURAL_CMP', 'strnatcmp');
foreach ($db->query("SELECT col1 FROM test ORDER BY col1") as $row) {
  echo $row['col1'] . "\n";
}
echo "\n";
foreach ($db->query("SELECT col1 FROM test ORDER BY col1 COLLATE NATURAL_CMP") as $row) {
  echo $row['col1'] . "\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

a1
a10
a2

a1
a2
a10

Anmerkungen

Hinweis:

This method is not available with the SQLite2 driver. Use the old style sqlite API for that instead.

PDO::sqliteCreateAggregate
PDO::sqliteCreateFunction
SQLite (PDO)


Registers a User Defined Function for use in SQL statements

PDO::sqliteCreateCollation
4D (PDO)
SQLite (PDO)
PHP Manual

PDO::sqliteCreateFunction

(PHP 5 >= 5.1.0, PHP 7, PECL pdo_sqlite >= 1.0.0)

PDO::sqliteCreateFunction — Registers a User Defined Function for use in SQL statements

Beschreibung

public bool PDO::sqliteCreateFunction ( string $function_name , callable $callback [, int $num_args ] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

This method allows you to register a PHP function with SQLite as an UDF (User Defined Function), so that it can be called from within your SQL statements.

The UDF can be used in any SQL statement that can call functions, such as SELECT and UPDATE statements and also in triggers.

Parameter-Liste

function_name

The name of the function used in SQL statements.

callback

Callback function to handle the defined SQL function.

Hinweis: Callback functions should return a type understood by SQLite (i.e. scalar type).

num_args

Hint to the SQLite parser if the callback function accepts a predetermined number of arguments.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 PDO::sqliteCreateFunction() example

<?php
function md5_and_reverse($string)
{
    return strrev(md5($string));
}

$db = new PDO('sqlite:sqlitedb');
$db->sqliteCreateFunction('md5rev', 'md5_and_reverse', 1);
$rows = $db->query('SELECT md5rev(filename) FROM files')->fetchAll();
?>

In this example, we have a function that calculates the md5 sum of a string, and then reverses it. When the SQL statement executes, it returns the value of the filename transformed by our function. The data returned in $rows contains the processed result.

The beauty of this technique is that you do not need to process the result using a foreach loop after you have queried for the data.

Tipp

You can use PDO::sqliteCreateFunction and PDO::sqliteCreateAggregate to override SQLite native SQL functions.

Hinweis:

This method is not available with the SQLite2 driver. Use the old style sqlite API for that instead.

Siehe auch

  • PDO::sqliteCreateAggregate
  • sqlite_create_function() - Registriert eine "reguläre" nutzerdefinierte Funktion für den Gebrauch in SQL-Befehlen
  • sqlite_create_aggregate() - Registriert eine benutzerdefinierte Funktion, um SQL-Abfragen zu aggregieren

PDO::sqliteCreateCollation
4D (PDO)
SQLite (PDO)


4D Functions (PDO_4D)

Einführung

Warnung

Diese Erweiterung ist EXPERIMENTELL. Das Verhalten dieser Erweiterung, einschließlich der Funktionsnamen, und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Erweiterung auf eigenes Risiko.

PDO_4D is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to 4D databases.

4D is an integrated platform that speeds and simplifies the development and deployment of business applications, used in over 70 countries, by a community of thousands of developers and vertical solution providers, with millions of end-users worldwide.

By offering a suite of integrated tools such as an ANSI SQL relational and transactional database, a graphical development environment, a fourth-generation language with over 1000 high-level commands, a built-in HTTP server, application server, etc., 4D facilitates the creation and maintenance of applications from one to hundreds of simultaneous users, whether on Windows, Mac or from any Web client.

4D is also an open platform, offering a complete API for plug-in creation, including various connectors that allow it to act as a back-end or front-end for many environments (Oracle via OCI, SOAP client or server, Flex data source, all ODBC databases, XML over HTTP, etc.)

In addition to the ability to interact with 4D applications across Web Services, 4D databases can now be directly accessed using the PDO_4D driver.

More details about the 4D development environment on » http://www.4d.com/.

PDO_4D is known to work with 4D versions 12 beta and up, for Mac OS X and Windows. Older plat-forms may work, but are unsupported.

Inhaltsverzeichnis

  • PDO_4D DSN — Connecting to 4D SQL server
  • Constants for PDO_4D — Constants for PDO_4D
  • SQL types with PDO_4D and PHP — SQL types with PDO_4D and PHP
  • SQL acceptable by 4D — PDO and SQL 4D
  • Examples with PDO_4D — Examples PDO_4D
PDO::sqliteCreateFunction
PDO_4D DSN
PDO-Treiber


Connecting to 4D SQL server

4D (PDO)
Constants for PDO_4D
4D (PDO)
PHP Manual

PDO_4D DSN

(No version information available, might only be in Git)

PDO_4D DSN — Connecting to 4D SQL server

Beschreibung

The PDO_4D DSN consists of:

DSN prefix

The DSN prefix is 4D:.

host

The host on which the 4D SQL server is.

port

The port number for the server. This is optional.

user

The login name when connecting to the database.

password

The password for the above login.

dbname

The name of the database. This parameter is optional, and it is not used.

charset

The 4D character set.

Beispiele

Beispiel #1 DSN examples for PDO_4D

The following examples has two DSN for PDO_4D, that connects to a 4D database :

4D:host=localhost;CHARSET=Windows-1252
Other possible values :
4D:host=localhost
4D:

4D (PDO)
Constants for PDO_4D
4D (PDO)


Constants for PDO_4D

(No version information available, might only be in Git)

Constants for PDO_4D — Constants for PDO_4D

Vordefinierte Konstanten

Die folgenden Konstanten werden vom Treiber definiert und sind nur verfügbar, wenn die Extension entweder in PHP einkompiliert oder dynamisch zur Laufzeit geladen wurde. Weiterhin sind diese Konstanten treiberspezifisch und sollten nur mit diesem Treiber benutzt werden. MySQL-spezifische Attribute mit dem PostgreSQL Treiber zu nutzen, kann zu unerwarteten Ergebnissen führen. Kann Ihr Code mit verschiedenen Treibern arbeiten, so können Sie PDO::getAttribute() benutzen, um mit PDO_ATTR_DRIVER_NAME den aktuellen Treiber zu ermitteln.

PDO::FOURD_ATTR_CHARSET (integer)

Change the charset in which 4D returns data. (Default is UTF-8).

PDO::FOURD_ATTR_PREFERRED_IMAGE_TYPES (integer)

The requested format of the image, when selecting a row with a column type PICTURE. It may be any type that 4D supports.

PDO_4D DSN
SQL types with PDO_4D and PHP
4D (PDO)


SQL types with PDO_4D and PHP

(No version information available, might only be in Git)

SQL types with PDO_4D and PHP — SQL types with PDO_4D and PHP

Supported SQL types
Type SQL 4D | Equivalent 4D | Note
ALPHA_NUMERIC | TEXT |
VARCHAR | TEXT |
TEXT | TEXT |
TIMESTAMP | DATE |
INTERVAL | HOUR |
DURATION | HOUR |
BOOLEAN | BOOLEAN |
BIT | BOOLEAN |
BYTE | INT32 |
INT16 | SMALLINT |
SMALLINT | SMALLINT |
INT32 | INT32 |
INT | INT32 |
INT64 | INT64 |
NUMERIC | INT64 |
REAL | REAL | Unsupported (use VARCHAR conversion)
FLOAT | FLOAT | Unsupported (use VARCHAR conversion)
DOUBLE PRECISION | FLOAT |
BLOB | BLOB | Must use a prepared statement, and PDO::PARAM_LOB
BIT VARYING | BLOB | Must use a prepared statement, and PDO::PARAM_LOB
CLOB | TEXT |
PICTURE | PICTURE | Must use a prepared statement, and PDO::PARAM_LOB

Constants for PDO_4D
SQL acceptable by 4D
4D (PDO)


PDO and SQL 4D

SQL types with PDO_4D and PHP
Examples with PDO_4D
4D (PDO)
PHP Manual

SQL acceptable by 4D

(No version information available, might only be in Git)

SQL acceptable by 4D — PDO and SQL 4D

Beschreibung

4D implements strictly the ANSI 89 standard, and have it enforced. It is highly recommended to read the 4D SQL documentation to learn about the available commands. The URL of the manual is : » http://doc.4d.com/. Below is a list of 4D SQL characteristics: it is not exhaustive, but may serve as an introduction.

Characteristics of 4D SQL
Characteristics | Alternative | Note
INTEGER | Modify the SQL to use INT. | INT is the supported integer type in 4Dv12.0.
CHAR | Use VARCHAR instead. | Unsupported in 4Dv12.0
UNION | Unsupported. Make separate queries. | Unsupported in 4Dv12.0
SELECT 1 + 1; | SELECT 1 + 1 FROM _USER_SCHEMAS; | FROM is required
FLOAT | Cast the FLOAT value into a FLOAT or STRING, with an SQL 4D function (CAST, ROUND, TRUNC or TRUNCATE) | Unsupported in current versions of the PDO_4D driver
Strong typing | Take care your SQL query, or your PHP code provides data with the expected type | One must provide the right type that 4D expect. One can't insert '1' (as a string) in an INTEGER column.
PDO::execute($row)() : only works if all the table's column are of type TEXT or VARCHAR | Use the prepared statements, and use the right types. | The PDO extension cast all values through execute() as string, and expect the SQL database to parse the values.
SELECT NULL FROM TABLE | Do not use NULL constants. Extract them from the table | It is not allowed to use the NULL constant in the select list
SELECT * FROM TABLE WHERE 1 | Use WHERE 1 = 1 | A constant can't be used in a WHERE clause
SHOW TABLES | Use system tables | The list of tables, schemas, index, etc. are in these system tables : _USER_TABLES, _USER_COLUMNS, _USER_INDEXES, _USER_CONSTRAINTS, _USER_IND_COLUMNS, _USER_CONS_COLUMNS, and _USER_SCHEMAS.
SQL structure delimiter | Use the following function to protect SQL elements: function sqlEscapeElement(elem) { return '[' . str_replace(']',']]', $elem) . ']'; } | To escape SQL elements names (tables, fields, users, groups, schema, primary key, etc.), the whole identifier must be between square brackets, and the closing brackets ']' must be doubled.

SQL types with PDO_4D and PHP
Examples with PDO_4D
4D (PDO)


Examples PDO_4D

SQL acceptable by 4D
Anbieterspezifische Datenbankerweiterungen
4D (PDO)
PHP Manual

Examples with PDO_4D

(No version information available, might only be in Git)

Examples with PDO_4D — Examples PDO_4D

This basic example show how to connect, execute a query, read data and disconnect from a 4D SQL server.

Beispiel #1 Basic example with PDO_4D

<?php
$dsn = '4D:host=localhost;CHARSET=Windows-1252';
$user = 'test';
$pass = 'test';

// Connection to the 4D SQL server
$db = new PDO($dsn, $user, $pass);

try {
    $db->exec('CREATE TABLE test(id varCHAR(1) NOT NULL, val VARCHAR(10))');
} catch (PDOException $e) {
    die("Erreur 4D : " . $e->getMessage());
}

$db->exec("INSERT INTO test VALUES('A', 'B')");
$db->exec("INSERT INTO test VALUES('C', 'D')");
$db->exec("INSERT INTO test VALUES('E', 'F')");

$stmt = $db->prepare('SELECT id, val from test');

$stmt->execute();
print_r($stmt->fetchAll());

unset($stmt);
unset($db);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

    Array
(
    [0] => Array
        (
            [ID] => A
            [0] => A
            [VAL] => B
            [1] => B
        )

    [1] => Array
        (
            [ID] => C
            [0] => C
            [VAL] => D
            [1] => D
        )

    [2] => Array
        (
            [ID] => E
            [0] => E
            [VAL] => F
            [1] => F
        )

)

This example shows how to execute a query in 4D language, and how to read the result through PDO_4D.

Beispiel #2 Accessing 4D language from pdo_4d

Set up a 4D method, called method. Make sure in the method properties that the option Available via SQL is checked. The 4D code is the following.

C_TEXT($0)
$0:=Application Version(*)

The PHP code to use the above 4D method is :

<?php
$dsn = '4D:host=localhost;CHARSET=Windows-1252';
$user = 'test';
$pass = 'test';

// Connection to the 4D server
$db = new PDO($dsn, $user, $pass);

$stmt = $db->prepare('SELECT {FN method() AS VARCHAR } FROM _USER_SCHEMAS LIMIT 1');

$stmt->execute();
print_r($stmt->fetchAll());

unset($stmt);
unset($db);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

(
    [0] => Array
        (
            [<expression>] => F0011140
            [0] => F0011140
        )

)

Beispiel #3 Escaping 4D table names

This examples illustrates how to escape characters in a 4D SQL query.

<?php
$dsn = '4D:host=localhost;CHARSET=Windows-1252';
$user = 'test';
$pass = 'test';

// Connection to 4D server 4D
$db = new PDO($dsn, $user, $pass);

$objects = array('[',']','[]','][','[[',']]','[[[',']]]','TBL ]]32[23');

foreach($objects as $id => $object) {
    $object = str_replace(']',']]', $object);
    print "$object\n";

    $db->exec('CREATE TABLE IF NOT EXISTS ['.$object.'](['.$object.'] FLOAT)');

    $req = "INSERT INTO [$object] ([$object]) VALUES ($id);";
    $db->query($req);

    $q = $db->prepare("SELECT [$object] FROM [$object]");
    $q->execute();
    $x[] = $q->fetch(PDO::FETCH_NUM);

    $db->exec('DROP TABLE ['.$object.'];');
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

[
]]
[]]
]][
[[
]]]]
[[[
]]]]]]
TBL ]]]]32[23

SQL acceptable by 4D
Anbieterspezifische Datenbankerweiterungen
4D (PDO)


Anbieterspezifische Datenbankerweiterungen

  • CUBRID
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • CUBRID Funktionen
    • CUBRID MySQL Compatibility Functions
    • CUBRID Obsolete Aliases and Functions
  • DB++
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • DB++ Funktionen
  • dBase
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • dBase Funktionen
  • filePro
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • filePro Funktionen
  • Firebird/InterBase
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Firebird/InterBase Funktionen
  • FrontBase
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • FrontBase Funktionen
  • IBM DB2 — IBM DB2, Cloudscape and Apache Derby
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • IBM DB2 Funktionen
  • Informix
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Informix Funktionen
  • Ingres — Ingres DBMS, EDBC und Enterprise Access Gateways
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Ingres-Funktionen
  • MaxDB
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • MaxDB Funktionen
  • Mongo — MongoDB driver (legacy)
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Manual
    • Core Classes
    • Types
    • GridFS Classes
    • Batch Classes
    • Miscellaneous
    • Mongo Funktionen
    • Exceptions
    • Changelog
  • MongoDB — MongoDB driver
    • Installation/Konfiguration
    • Tutorials
    • Driver Architecture and Internals — Explains the driver architecure, and special features
    • Security
    • MongoDB\Driver — MongoDB driver classes
    • MongoDB\BSON — BSON type classes and serialization functions
    • MongoDB\Driver\Exception — Exception classes
  • mSQL
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • mSQL-Funktionen
  • Mssql — Microsoft SQL Server
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Mssql-Funktionen
  • MySQL — MySQL Drivers and Plugins
    • Overview of the MySQL PHP drivers
    • Mysqli — MySQL Improved Extension
    • MySQL (Original) — Ursprüngliche MySQL API
    • Mysqlnd — MySQL Native Driver
    • mysqlnd_ms — Mysqlnd replication and load balancing plugin
    • mysqlnd_qc — Mysqlnd query result cache plugin
    • mysqlnd_uh — Mysqlnd user handler plugin
    • mysqlnd_mux — Mysqlnd connection multiplexing plugin
    • mysqlnd_memcache — Mysqlnd Memcache plugin
  • OCI8 — Oracle OCI8
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • OCI8 Connection Handling and Connection Pooling
    • OCI8 Fast Application Notification (FAN) Support
    • OCI8 and DTrace Dynamic Tracing
    • Supported Datatypes
    • OCI8 Funktionen
    • OCI-Collection — The OCI-Collection class
    • OCI-Lob — The OCI-Lob class
    • OCI8 - Veraltete Aliase und Funktionen
  • Paradox — Paradox File Access
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Paradox Funktionen
  • PostgreSQL
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • PostgreSQL-Funktionen
  • SQLite
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • SQLite Funktionen
  • SQLite3
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • SQLite3 — Die SQLite3-Klasse
    • SQLite3Stmt — The SQLite3Stmt class
    • SQLite3Result — Die SQLite3Result Klasse
  • SQLSRV — Microsoft SQL Server Driver for PHP
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • SQLSRV Funktionen
  • Sybase
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Sybase Funktionen
  • tokyo_tyrant
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • TokyoTyrant — The TokyoTyrant class
    • TokyoTyrantTable — The TokyoTyrantTable class
    • TokyoTyrantQuery — The TokyoTyrantQuery class
    • TokyoTyrantIterator — The TokyoTyrantIterator class
    • TokyoTyrantException — The TokyoTyrantException class
Examples with PDO_4D
CUBRID
Datenbankerweiterungen


CUBRID

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
  • CUBRID Funktionen
    • cubrid_bind — Bind variables to a prepared statement as parameters
    • cubrid_close_prepare — Close the request handle
    • cubrid_close_request — Close the request handle
    • cubrid_col_get — Get contents of collection type column using OID
    • cubrid_col_size — Get the number of elements in collection type column using OID
    • cubrid_column_names — Get the column names in result
    • cubrid_column_types — Get column types in result
    • cubrid_commit — Commit a transaction
    • cubrid_connect_with_url — Establish the environment for connecting to CUBRID server
    • cubrid_connect — Open a connection to a CUBRID Server
    • cubrid_current_oid — Get OID of the current cursor location
    • cubrid_disconnect — Close a database connection
    • cubrid_drop — Delete an instance using OID
    • cubrid_error_code_facility — Get the facility code of error
    • cubrid_error_code — Get error code for the most recent function call
    • cubrid_error_msg — Get last error message for the most recent function call
    • cubrid_execute — Execute a prepared SQL statement
    • cubrid_fetch — Fetch the next row from a result set
    • cubrid_free_result — Free the memory occupied by the result data
    • cubrid_get_autocommit — Get auto-commit mode of the connection
    • cubrid_get_charset — Return the current CUBRID connection charset
    • cubrid_get_class_name — Get the class name using OID
    • cubrid_get_client_info — Return the client library version
    • cubrid_get_db_parameter — Returns the CUBRID database parameters
    • cubrid_get_query_timeout — Get the query timeout value of the request
    • cubrid_get_server_info — Return the CUBRID server version
    • cubrid_get — Get a column using OID
    • cubrid_insert_id — Return the ID generated for the last updated AUTO_INCREMENT column
    • cubrid_is_instance — Check whether the instance pointed by OID exists
    • cubrid_lob_close — Close BLOB/CLOB data
    • cubrid_lob_export — Export BLOB/CLOB data to file
    • cubrid_lob_get — Get BLOB/CLOB data
    • cubrid_lob_send — Read BLOB/CLOB data and send straight to browser
    • cubrid_lob_size — Get BLOB/CLOB data size
    • cubrid_lob2_bind — Bind a lob object or a string as a lob object to a prepared statement as parameters.
    • cubrid_lob2_close — Close LOB object.
    • cubrid_lob2_export — Export the lob object to a file.
    • cubrid_lob2_import — Import BLOB/CLOB data from a file.
    • cubrid_lob2_new — Create a lob object.
    • cubrid_lob2_read — Read from BLOB/CLOB data.
    • cubrid_lob2_seek64 — Move the cursor of a lob object.
    • cubrid_lob2_seek — Move the cursor of a lob object.
    • cubrid_lob2_size64 — Get a lob object's size.
    • cubrid_lob2_size — Get a lob object's size.
    • cubrid_lob2_tell64 — Tell the cursor position of the LOB object.
    • cubrid_lob2_tell — Tell the cursor position of the LOB object.
    • cubrid_lob2_write — Write to a lob object.
    • cubrid_lock_read — Set a read lock on the given OID
    • cubrid_lock_write — Set a write lock on the given OID
    • cubrid_move_cursor — Move the cursor in the result
    • cubrid_next_result — Get result of next query when executing multiple SQL statements
    • cubrid_num_cols — Return the number of columns in the result set
    • cubrid_num_rows — Get the number of rows in the result set
    • cubrid_pconnect_with_url — Open a persistent connection to CUBRID server
    • cubrid_pconnect — Open a persistent connection to a CUBRID server
    • cubrid_prepare — Prepare a SQL statement for execution
    • cubrid_put — Update a column using OID
    • cubrid_rollback — Roll back a transaction
    • cubrid_schema — Get the requested schema information
    • cubrid_seq_drop — Delete an element from sequence type column using OID
    • cubrid_seq_insert — Insert an element to a sequence type column using OID
    • cubrid_seq_put — Update the element value of sequence type column using OID
    • cubrid_set_add — Insert a single element to set type column using OID
    • cubrid_set_autocommit — Set autocommit mode of the connection
    • cubrid_set_db_parameter — Sets the CUBRID database parameters
    • cubrid_set_drop — Delete an element from set type column using OID
    • cubrid_set_query_timeout — Set the timeout time of query execution
    • cubrid_version — Get the CUBRID PHP module's version
  • CUBRID MySQL Compatibility Functions
    • cubrid_affected_rows — Return the number of rows affected by the last SQL statement
    • cubrid_client_encoding — Return the current CUBRID connection charset
    • cubrid_close — Close CUBRID connection
    • cubrid_data_seek — Move the internal row pointer of the CUBRID result
    • cubrid_db_name — Get db name from results of cubrid_list_dbs
    • cubrid_errno — Return the numerical value of the error message from previous CUBRID operation
    • cubrid_error — Get the error message
    • cubrid_fetch_array — Fetch a result row as an associative array, a numeric array, or both
    • cubrid_fetch_assoc — Return the associative array that corresponds to the fetched row
    • cubrid_fetch_field — Get column information from a result and return as an object
    • cubrid_fetch_lengths — Return an array with the lengths of the values of each field from the current row
    • cubrid_fetch_object — Fetch the next row and return it as an object
    • cubrid_fetch_row — Return a numerical array with the values of the current row
    • cubrid_field_flags — Return a string with the flags of the given field offset
    • cubrid_field_len — Get the maximum length of the specified field
    • cubrid_field_name — Return the name of the specified field index
    • cubrid_field_seek — Move the result set cursor to the specified field offset
    • cubrid_field_table — Return the name of the table of the specified field
    • cubrid_field_type — Return the type of the column corresponding to the given field offset
    • cubrid_list_dbs — Return an array with the list of all existing CUBRID databases
    • cubrid_num_fields — Return the number of columns in the result set
    • cubrid_ping — Ping a server connection or reconnect if there is no connection
    • cubrid_query — Send a CUBRID query
    • cubrid_real_escape_string — Escape special characters in a string for use in an SQL statement
    • cubrid_result — Return the value of a specific field in a specific row
    • cubrid_unbuffered_query — Perform a query without fetching the results into memory
  • CUBRID Obsolete Aliases and Functions
    • cubrid_load_from_glo — Read data from a GLO instance and save it in a file
    • cubrid_new_glo — Create a glo instance
    • cubrid_save_to_glo — Save requested file in a GLO instance
    • cubrid_send_glo — Read data from glo and send it to std output
Anbieterspezifische Datenbankerweiterungen
Einführung
Anbieterspezifische Datenbankerweiterungen


Einführung

These functions allow you to access CUBRID database servers. More information about CUBRID can be found at » CUBRID.

Documentation for CUBRID can be found at » CUBRID Documentation.

CUBRID
Installation/Konfiguration
CUBRID


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
CUBRID


Anforderungen

In order to have these functions available, you must install CUBRID, and compile CUBRID PHP Library with CUBRID support.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/cubrid.

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

For information about manual installation on Linux and Windows systems, please read the file build-guide.html included in the package.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

There is no runtime configuration now.

Installation
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

There are four resource types used in CUBRID. The first one is the link identifier for a database connection, the second is the a resource which holds the result of a query, and the last two a resource which holds the query results of BLOB/CLOB data types.

connection identifier

A connection identifier returned by cubrid_connect(),
cubrid_connect_with_url(),
cubrid_pconnect() and
cubrid_pconnect_with_url().

request identifier

A request identifier returned by cubrid_prepare() and cubrid_execute().

LOB identifier

A LOB identifier returned by cubrid_lob_get().

LOB2 identifier

A LOB identifier returned by cubrid_lob2_new() or get from the result set.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

The following constants can be used when executing SQL statement. They can be passed to cubrid_prepare() and cubrid_execute().

CUBRID SQL execution flags
Constant | Description
CUBRID_INCLUDE_OID | Determine whether to get OID during query execution.
CUBRID_ASYNC | Execute the query in asynchronous mode.
CUBRID_EXEC_QUERY_ALL | Execute the query in synchronous mode. This flag must be set when executing multiple SQL statements.

The following constants can be used when fetching the results to specify fetch behaviour. They can be passed to cubrid_fetch() and cubrid_fetch_array().

CUBRID fetch flags
Constant | Description
CUBRID_NUM | Get query result as a numeric array (0-default).
CUBRID_ASSOC | Get query result as an associative array.
CUBRID_BOTH | Get query result as both numeric and associative arrays (default value).
CUBRID_OBJECT | Get query result an object.
CUBRID_LOB | The constant CUBRID_LOB can be used when you want to operate the lob object. It can be passed to cubrid_fetch(), cubrid_fetch_row(), cubrid_fetch_array(), cubrid_fetch_assoc() and cubrid_fetch_object().

The following constants can be used when positioning the cursor in query results. They can be passed to or returned by cubrid_move_cursor().

CUBRID cursor position flags
Constant | Description
CUBRID_CURSOR_FIRST | Move current cursor to the first position in the result.
CUBRID_CURSOR_CURRENT | Move current cursor as a default value if the origin is not specified.
CUBRID_CURSOR_LAST | Move current cursor to the last position in the result.
CUBRID_CURSOR_SUCCESS | Returned value of cubrid_move_cursor() function in case of success. This flag has been removed from 8.4.1.
CUBRID_NO_MORE_DATA | Returned value of cubrid_move_cursor() function in case of failure. This flag has been removed from 8.4.1.
CUBRID_CURSOR_ERROR | Returned value of cubrid_move_cursor() function in case of failure. This flag has been removed from 8.4.1.

The following constants can be used when setting the auto-commit mode for the database connection. They can be passed to cubrid_set_autocommit() or returned by cubrid_get_autocommit().

CUBRID auto-commit mode flags
Constant | Description
CUBRID_AUTOCOMMIT_TRUE | Enable the auto-commit mode.
CUBRID_AUTOCOMMIT_FALSE | Disable the auto-commit mode.

The following constants can be used when setting the database parameter. They can be passed to cubrid_set_db_parameter().

CUBRID parameter flags
Constant | Description
CUBRID_PARAM_ISOLATION_LEVEL | Transaction isolation level for the database connection.
CUBRID_PARAM_LOCK_TIMEOUT | Transaction timeout in seconds.

The following constants can be used when setting the transaction isolation level. They can be passed to cubrid_set_db_parameter() or returned by cubrid_get_db_parameter().

CUBRID isolation level flags
Constant | Description
TRAN_COMMIT_CLASS_UNCOMMIT_INSTANCE | The lowest isolation level (1). A dirty, non-repeatable or phantom read may occur for the tuple and a non-repeatable read may occur for the table as well.
TRAN_COMMIT_CLASS_COMMIT_INSTANCE | A relatively low isolation level (2). A dirty read does not occur, but non-repeatable or phantom read may occur.
TRAN_REP_CLASS_UNCOMMIT_INSTANCE | The default isolation of CUBRID (3). A dirty, non-repeatable or phantom read may occur for the tuple, but repeatable read is ensured for the table.
TRAN_REP_CLASS_COMMIT_INSTANCE | A relatively low isolation level (4). A dirty read does not occur, but non-repeatable or phantom read may.
TRAN_REP_CLASS_REP_INSTANCE | A relatively high isolation level (5). A dirty or non-repeatable read does not occur, but a phantom read may.
TRAN_SERIALIZABLE | The highest isolation level (6). Problems concerning concurrency (e.g. dirty read, non-repeatable read, phantom read, etc.) do not occur.

The following constants can be used when getting schema information. They can be passed to cubrid_schema().

CUBRID schema flags
Constant | Description
CUBRID_SCH_CLASS | Get name and type of table in CUBRID.
CUBRID_SCH_VCLASS | Get name and type of view in CUBRID.
CUBRID_SCH_QUERY_SPEC | Get the query definition of view.
CUBRID_SCH_ATTRIBUTE | Get the attributes of table column.
CUBRID_SCH_CLASS_ATTRIBUTE | Get the attributes of table.
CUBRID_SCH_METHOD | Get the instance method. The instance method is a method called by a class instance. It is used more often than the class method because most operations are executed in the instance.
CUBRID_SCH_CLASS_METHOD | Get the class method. The class method is a method called by a class object. It is usually used to create a new class instance or to initialize it. It is also used to access or update class attributes.
CUBRID_SCH_METHOD_FILE | Get the information of the file where the method of the table is defined.
CUBRID_SCH_SUPERCLASS | Get the name and type of table which table inherites attributes from.
CUBRID_SCH_SUBCLASS | Get the name and type of table which inherites attributes from this table.
CUBRID_SCH_CONSTRAINT | Get the table constraints.
CUBRID_SCH_TRIGGER | Get the table triggers.
CUBRID_SCH_CLASS_PRIVILEGE | Get the privilege information of table.
CUBRID_SCH_ATTR_PRIVILEGE | Get the privilege information of column.
CUBRID_SCH_DIRECT_SUPER_CLASS | Get the direct super table of table.
CUBRID_SCH_PRIMARY_KEY | Get the table primary key.
CUBRID_SCH_IMPORTED_KEYS | Get imported keys of table.
CUBRID_SCH_EXPORTED_KEYS | Get exported keys of table.
CUBRID_SCH_CROSS_REFERENCE | Get reference relationship of tow tables.

The following constants can be used when reporting errors. They can be returned from cubrid_error_code_facility().

CUBRID error facility code
Constant | Description
CUBRID_FACILITY_DBMS | The error occurred in CUBRID dbms.
CUBRID_FACILITY_CAS | The error occurred in CUBRID broker cas.
CUBRID_FACILITY_CCI | The error occurred in CUBRID cci.
CUBRID_FACILITY_CLIENT | The error occurred in CUBRID PHP client.

Ressource-Typen
Beispiele
CUBRID


Beispiele

The following is a simple example that establishes a connection between PHP and CUBRID. This section will cover the most basic and notable features. The following code required to connect to CUBRID database, which means CUBRID Server and CUBRID Broker have to be running.

The example below uses the demodb database as an examples. By default it is created during the installation. Make sure it has been created.

Beispiel #1 Example of Data Retrieval

<html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=euc-kr">
    </head>
    <body>
    <center>
    <table border=2>
    <?php
        /**
         * Set server information for CUBRID connection. host_ip is the IP
         * address where the CUBRID Broker is installed (localhost in this
         * example), and host_port is the port number of the CUBRID Broker.
         * The port number is the default given during the installation.
         * For details, see "Administrator's Guide."
         */
        $host_ip = "localhost";
        $host_port = 33000;
        $db_name = "demodb";
        /**
         * Connect to CUBRID Server. Do not make the actual connection, but
         * only retain the connection information. The reason for not making
         * the actual connection is to handle transaction more efficiently
         * in the 3-tier architecture.
         */
        $cubrid_con = @cubrid_connect($host_ip, $host_port, $db_name);

        if (!$cubrid_con) {
            echo "Database Connection Error";
            exit;
        }
    ?>
    <?php
        $sql = "select sports, count(players) as players from event group by sports";
        /**
         * Request the CUBRID Server for the results of the SQL statement.
         * Now make the actual connection to the CUBRID Server.
         */
        $result = cubrid_execute($cubrid_con, $sql);

        if ($result) {
            /**
             * Get the column names from the result set created by the SQL query.
             */
            $columns = cubrid_column_names($result);
            /**
             * Get the number of columns in the result set created by the SQL query.
             */
            $num_fields = cubrid_num_cols($result);
            /**
             * List the column names of the result set on the screen.
             */
            echo("<tr>");

            while (list($key, $colname) = each($columns)) {
                echo("<td align=center>$colname</td>");
            }

            echo("</tr>");

            /**
             * Get the results from the result set.
             */
            while ($row = cubrid_fetch($result)) {
                echo("<tr>");

                for ($i = 0; $i < $num_fields; $i++) {
                    echo("<td align=center>");
                    echo($row[$i]);
                    echo("</td>");
                }

                echo("</tr>");
            }
        }
        /**
         * The PHP module in the CUBRID runs in a 3-tier architecture. Even when
         * calling SELECT for transaction processing, it is processed as a part
         * of the transaction. Therefore, the transaction needs to be rolled back
         * by calling commit or rollback even though SELECT was called for smooth
         * performance.
         */
        cubrid_commit($cubrid_con);
        cubrid_disconnect($cubrid_con);
    ?>
    </body>
    </html>

Beispiel #2 Example of Data Insertion

<html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=euc- kr">
    </head>
    <body>
    <center>
    <table border=2>
    <?php
        /**
         * host_ip is the IP address where the CUBRID Broker is installed
         * host_port is the port number of the CUBRID Broker
         * db_name is the name of CUBRID Database
         */
        $host_ip = "localhost";
        $host_port = 33000;
        $db_name = "demodb";
        $cubrid_con = @cubrid_connect($host_ip, $host_port, $db_name);

        if (!$cubrid_con) {
            echo "Database Connection Error";
            exit;
        }
    ?>
    <?php
        $sql = "insert into olympic (host_year,host_nation,host_city,"
            . "opening_date,closing_date) values (2008, 'China', 'Beijing',"
            . "to_date('08-08-2008','mm-dd- yyyy'),to_date('08-24-2008','mm-dd-yyyy')) ;"
        $result = cubrid_execute($cubrid_con, $sql);
        if ($result) {
            /**
             * Handled successfully, so commit.
             */
            cubrid_commit($cubrid_con);
            echo("Inserted successfully ");
        } else {
            /**
             * Error occurred, so the error message is output and rollback is called.
             */
            echo(cubrid_error_msg());
            cubrid_rollback($cubrid_con);
        }
        cubrid_disconnect($cubrid_con);
    ?>
    </body>
    </html>
Vordefinierte Konstanten
CUBRID Funktionen
CUBRID


CUBRID Funktionen

Inhaltsverzeichnis

  • cubrid_bind — Bind variables to a prepared statement as parameters
  • cubrid_close_prepare — Close the request handle
  • cubrid_close_request — Close the request handle
  • cubrid_col_get — Get contents of collection type column using OID
  • cubrid_col_size — Get the number of elements in collection type column using OID
  • cubrid_column_names — Get the column names in result
  • cubrid_column_types — Get column types in result
  • cubrid_commit — Commit a transaction
  • cubrid_connect_with_url — Establish the environment for connecting to CUBRID server
  • cubrid_connect — Open a connection to a CUBRID Server
  • cubrid_current_oid — Get OID of the current cursor location
  • cubrid_disconnect — Close a database connection
  • cubrid_drop — Delete an instance using OID
  • cubrid_error_code_facility — Get the facility code of error
  • cubrid_error_code — Get error code for the most recent function call
  • cubrid_error_msg — Get last error message for the most recent function call
  • cubrid_execute — Execute a prepared SQL statement
  • cubrid_fetch — Fetch the next row from a result set
  • cubrid_free_result — Free the memory occupied by the result data
  • cubrid_get_autocommit — Get auto-commit mode of the connection
  • cubrid_get_charset — Return the current CUBRID connection charset
  • cubrid_get_class_name — Get the class name using OID
  • cubrid_get_client_info — Return the client library version
  • cubrid_get_db_parameter — Returns the CUBRID database parameters
  • cubrid_get_query_timeout — Get the query timeout value of the request
  • cubrid_get_server_info — Return the CUBRID server version
  • cubrid_get — Get a column using OID
  • cubrid_insert_id — Return the ID generated for the last updated AUTO_INCREMENT column
  • cubrid_is_instance — Check whether the instance pointed by OID exists
  • cubrid_lob_close — Close BLOB/CLOB data
  • cubrid_lob_export — Export BLOB/CLOB data to file
  • cubrid_lob_get — Get BLOB/CLOB data
  • cubrid_lob_send — Read BLOB/CLOB data and send straight to browser
  • cubrid_lob_size — Get BLOB/CLOB data size
  • cubrid_lob2_bind — Bind a lob object or a string as a lob object to a prepared statement as parameters.
  • cubrid_lob2_close — Close LOB object.
  • cubrid_lob2_export — Export the lob object to a file.
  • cubrid_lob2_import — Import BLOB/CLOB data from a file.
  • cubrid_lob2_new — Create a lob object.
  • cubrid_lob2_read — Read from BLOB/CLOB data.
  • cubrid_lob2_seek64 — Move the cursor of a lob object.
  • cubrid_lob2_seek — Move the cursor of a lob object.
  • cubrid_lob2_size64 — Get a lob object's size.
  • cubrid_lob2_size — Get a lob object's size.
  • cubrid_lob2_tell64 — Tell the cursor position of the LOB object.
  • cubrid_lob2_tell — Tell the cursor position of the LOB object.
  • cubrid_lob2_write — Write to a lob object.
  • cubrid_lock_read — Set a read lock on the given OID
  • cubrid_lock_write — Set a write lock on the given OID
  • cubrid_move_cursor — Move the cursor in the result
  • cubrid_next_result — Get result of next query when executing multiple SQL statements
  • cubrid_num_cols — Return the number of columns in the result set
  • cubrid_num_rows — Get the number of rows in the result set
  • cubrid_pconnect_with_url — Open a persistent connection to CUBRID server
  • cubrid_pconnect — Open a persistent connection to a CUBRID server
  • cubrid_prepare — Prepare a SQL statement for execution
  • cubrid_put — Update a column using OID
  • cubrid_rollback — Roll back a transaction
  • cubrid_schema — Get the requested schema information
  • cubrid_seq_drop — Delete an element from sequence type column using OID
  • cubrid_seq_insert — Insert an element to a sequence type column using OID
  • cubrid_seq_put — Update the element value of sequence type column using OID
  • cubrid_set_add — Insert a single element to set type column using OID
  • cubrid_set_autocommit — Set autocommit mode of the connection
  • cubrid_set_db_parameter — Sets the CUBRID database parameters
  • cubrid_set_drop — Delete an element from set type column using OID
  • cubrid_set_query_timeout — Set the timeout time of query execution
  • cubrid_version — Get the CUBRID PHP module's version
Beispiele
cubrid_bind
CUBRID


Bind variables to a prepared statement as parameters

CUBRID Funktionen
cubrid_close_prepare
CUBRID Funktionen
PHP Manual

cubrid_bind

(PECL CUBRID >= 8.3.0)

cubrid_bind — Bind variables to a prepared statement as parameters

Beschreibung

bool cubrid_bind ( resource $req_identifier , int $bind_index , mixed $bind_value [, string $bind_value_type ] )

The cubrid_bind() function is used to bind values to a corresponding named or question mark placeholder in the SQL statement that was passed to cubrid_prepare(). If bind_value_type is not given, string will be the default.

Hinweis:

If the type of data to be bound is BLOB/CLOB, CUBRID will try to map the data as a PHP stream. If the actually bind value type is not stream, CUBRID will convert it to string, and use it as the full path and file name of a file on the client filesystem.

If the type of data to be bound explicitly is ENUM, the $bind_value argument should be the enum element which is in string format.

In CUBRID shard envrioment, the $bind_value_type must be included in the cubrid_bind function.

The following table shows the types of substitute values.

CUBRID Bind Date Types
Support | Bind Type | Corresponding SQL Type
Supported | STRING | CHAR, VARCHAR
 | NCHAR | NCHAR, NVARCHAR
 | BIT | BIT, VARBIT
 | NUMERIC or NUMBER | SHORT, INT, NUMERIC
 | FLOAT | FLOAT
 | DOUBLE | DOUBLE
 | TIME | TIME
 | DATE | DATE
 | TIMESTAMP | TIMESTAMP
 | OBJECT | OBJECT
 | ENUM | ENUM
 | BLOB | BLOB
 | CLOB | CLOB
 | NULL | NULL
Not supported | SET | SET
 | MULTISET | MULTISET
 | SEQUENCE | SEQUENCE

Parameter-Liste

req_identifier

Request identifier as a result of cubrid_prepare().

bind_index

Location of binding parameters. It starts with 1.

bind_value

Actual value for binding.

bind_value_type

A type of the value to bind. (It is omitted by default. Thus, the system internally uses string by default. However, you need to specify the exact type of the value as an argument when they are NCHAR, BIT, or BLOB/CLOB).

Rückgabewerte

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Changelog

Version | Beschreibung
8.3.1 | Added BLOB/CLOB data types support.

Beispiele

Beispiel #1 cubrid_bind() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

$result = cubrid_execute($conn, "SELECT code FROM event WHERE sports='Basketball' and gender='M'");
$row = cubrid_fetch_array($result, CUBRID_ASSOC);
$event_code = $row["code"];

cubrid_close_request($result);

$game_req = cubrid_prepare($conn, "SELECT athlete_code FROM game WHERE host_year=1992 and event_code=? and nation_code='USA'");
cubrid_bind($game_req, 1, $event_code, "number");
cubrid_execute($game_req);

printf("--- Dream Team (1992 United States men's Olympic basketball team) ---\n");
while ($athlete_code = cubrid_fetch_array($game_req, CUBRID_NUM)) {
    $athlete_req = cubrid_prepare($conn, "SELECT name FROM athlete WHERE code=? AND nation_code='USA' AND event='Basketball' AND gender='M'");
    cubrid_bind($athlete_req, 1, $athlete_code[0], "number");
    cubrid_execute($athlete_req);
    $row = cubrid_fetch_assoc($athlete_req);
    printf("%s\n", $row["name"]);
}

cubrid_close_request($game_req);
cubrid_close_request($athlete_req);

cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

--- Dream Team (1992 United States men's Olympic basketball team) ---
Stockton John
Robinson David
Pippen Scottie
Mullin C.
Malone Karl
Laettner C.
Jordan Michael
Johnson Earvin
Ewing Patrick
Drexler Clyde
Bird Larry
Barkley Charles

Beispiel #2 cubrid_bind() BLOB/CLOB example

<?php
$con = cubrid_connect("localhost", 33000, "demodb", "dba", "");
if ($con) {
    cubrid_execute($con,"DROP TABLE if exists php_cubrid_lob_test");
    cubrid_execute($con,"CREATE TABLE php_cubrid_lob_test (doc_content CLOB)");
    $sql = "INSERT INTO php_cubrid_lob_test(doc_content) VALUES(?)";
    $req = cubrid_prepare($con, $sql);

    $fp = fopen("book.txt", "rb");

    cubrid_bind($req, 1, $fp, "clob");
    cubrid_execute($req);
}
?>

Beispiel #3 cubrid_bind() BLOB/CLOB example

<?php
$con = cubrid_connect("localhost", 33000, "demodb", "dba", "");
if ($con) {
    cubrid_execute($con,"DROP TABLE if exists php_cubrid_lob_test");
    cubrid_execute($con,"CREATE TABLE php_cubrid_lob_test (image BLOB)");
    $sql = "INSERT INTO php_cubrid_lob_test(image) VALUES(?)";
    $req = cubrid_prepare($con, $sql);

    cubrid_bind($req, 1, "cubrid_logo.png", "blob");
    cubrid_execute($req);
}
?>

Siehe auch

  • cubrid_execute() - Execute a prepared SQL statement
  • cubrid_prepare() - Prepare a SQL statement for execution

CUBRID Funktionen
cubrid_close_prepare
CUBRID Funktionen


Close the request handle

cubrid_bind
cubrid_close_request
CUBRID Funktionen
PHP Manual

cubrid_close_prepare

(PECL CUBRID >= 8.3.0)

cubrid_close_prepare — Close the request handle

Beschreibung

bool cubrid_close_prepare ( resource $req_identifier )

The cubrid_close_prepare() function closes the request handle given by the req_identifier argument, and releases the memory region related to the handle. It is an alias of cubrid_close_request().

Parameter-Liste

req_identifier

Request identifier.

Rückgabewerte

Return TRUE on success.

Beispiele

Beispiel #1 cubrid_close_prepare() example

<?php
$con = cubrid_connect ("localhost", 33000, "demodb", "dba", "");
if ($con) {
   echo "connected successfully";
   $req = cubrid_execute ( $con, "select * from members",
                           CUBRID_INCLUDE_OID | CUBRID_ASYNC);
   if ($req) {
      while ( list ($id, $name) = cubrid_fetch ($req) ){
         echo $id;
         echo $name;
      }
      cubrid_close_prepare($req); // or you can use cubrid_close_request($req)
   }
   cubrid_disconnect($con);
}
?>

Siehe auch

  • cubrid_close_request() - Close the request handle

cubrid_bind
cubrid_close_request
CUBRID Funktionen


Close the request handle

cubrid_close_prepare
cubrid_col_get
CUBRID Funktionen
PHP Manual

cubrid_close_request

(PECL CUBRID >= 8.3.0)

cubrid_close_request — Close the request handle

Beschreibung

bool cubrid_close_request ( resource $req_identifier )

The cubrid_close_request() function closes the request handle given by the req_identifier argument, and releases the memory region related to the handle. It is an alias of cubrid_close_prepare().

Parameter-Liste

req_identifier

Request identifier.

Rückgabewerte

Return TRUE on success.

Beispiele

Beispiel #1 cubrid_close_request() example

<?php
$con = cubrid_connect ("localhost", 33000, "demodb", "dba", "");
if ($con) {
   echo "connected successfully";
   $req = cubrid_execute ( $con, "select * from members",
                           CUBRID_INCLUDE_OID | CUBRID_ASYNC);
   if ($req) {
      while ( list ($id, $name) = cubrid_fetch ($req) ){
         echo $id;
         echo $name;
      }
      cubrid_close_request($req); // or you can use cubrid_close_prepare($req)
   }
   cubrid_disconnect($con);
}
?>

Siehe auch

  • cubrid_close_prepare() - Close the request handle

cubrid_close_prepare
cubrid_col_get
CUBRID Funktionen


Get contents of collection type column using OID

cubrid_close_request
cubrid_col_size
CUBRID Funktionen
PHP Manual

cubrid_col_get

(PECL CUBRID >= 8.3.0)

cubrid_col_get — Get contents of collection type column using OID

Beschreibung

array cubrid_col_get ( resource $conn_identifier , string $oid , string $attr_name )

The cubrid_col_get() function is used to get contents of the elements of the collection type (set, multiset, sequence) attribute you requested as an array.

Parameter-Liste

conn_identifier

Connection identifier.

oid

OID of the instance that you want to read.

attr_name

Attribute name that you want to read from the instance.

Rückgabewerte

Array (0-based numerical array) containing the elements you requested, when process is successful;

FALSE (to distinguish the error from the situation of attribute having empty collection or NULL, in case of error, a warning message is shown; in such case you can check the error by using cubrid_error_code()), when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_col_get() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

$size = cubrid_col_size($conn, $oid, "b");
var_dump($size);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(3) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "3"
}
int(3)
cubrid_close_request
cubrid_col_size
CUBRID Funktionen


Get the number of elements in collection type column using OID

cubrid_col_get
cubrid_column_names
CUBRID Funktionen
PHP Manual

cubrid_col_size

(PECL CUBRID >= 8.3.0)

cubrid_col_size — Get the number of elements in collection type column using OID

Beschreibung

int cubrid_col_size ( resource $conn_identifier , string $oid , string $attr_name )

The cubrid_col_size() function is used to get the number of elements in a collection type (set, multiset, sequence) attribute.

Parameter-Liste

conn_identifier

Connection identifier.

oid

OID the instance that you want to work with.

attr_name

Name of the attribute that you want to work with.

Rückgabewerte

Number of elements, when process is successful.

FALSE, when process is unsuccessful.

Changelog

Version | Beschreibung
8.3.1 | Change return value: when process is unsuccessful, return false, not -1.

Beispiele

Beispiel #1 cubrid_col_size() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

$size = cubrid_col_size($conn, $oid, "b");
var_dump($size);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(3) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "3"
}
int(3)
cubrid_col_get
cubrid_column_names
CUBRID Funktionen


Get the column names in result

cubrid_col_size
cubrid_column_types
CUBRID Funktionen
PHP Manual

cubrid_column_names

(PECL CUBRID >= 8.3.0)

cubrid_column_names — Get the column names in result

Beschreibung

array cubrid_column_names ( resource $req_identifier )

The cubrid_column_names() function is used to get the column names of the query result by using req_identifier.

Parameter-Liste

req_identifier

Request identifier.

Rückgabewerte

Array of string values containing the column names, when process is successful.

FALSE, when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_column_names() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");
$result = cubrid_execute($conn, "SELECT * FROM game WHERE host_year=2004 AND nation_code='AUS' AND medal='G'");

$column_names = cubrid_column_names($result);
$column_types = cubrid_column_types($result);

printf("%-30s %-30s %-15s\n", "Column Names", "Column Types", "Column Maxlen");
for($i = 0, $size = count($column_names); $i < $size; $i++) {
    $column_len = cubrid_field_len($result, $i);
    printf("%-30s %-30s %-15s\n", $column_names[$i], $column_types[$i], $column_len);
}

cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Column Names                   Column Types                   Column Maxlen
host_year                      integer                        11
event_code                     integer                        11
athlete_code                   integer                        11
stadium_code                   integer                        11
nation_code                    char                           3
medal                          char                           1
game_date                      date                           10

Siehe auch

  • cubrid_prepare() - Prepare a SQL statement for execution
  • cubrid_execute() - Execute a prepared SQL statement
  • cubrid_column_types() - Get column types in result

cubrid_col_size
cubrid_column_types
CUBRID Funktionen


Get column types in result

cubrid_column_names
cubrid_commit
CUBRID Funktionen
PHP Manual

cubrid_column_types

(PECL CUBRID >= 8.3.0)

cubrid_column_types — Get column types in result

Beschreibung

array cubrid_column_types ( resource $req_identifier )

The cubrid_column_types() function gets column types of query results by using req_identifier.

Parameter-Liste

req_identifier

Request identifier.

Rückgabewerte

Array of string values containing the column types, when process is successful.

FALSE, when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_column_types() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");
$result = cubrid_execute($conn, "SELECT * FROM game WHERE host_year=2004 AND nation_code='AUS' AND medal='G'");

$column_names = cubrid_column_names($result);
$column_types = cubrid_column_types($result);

printf("%-30s %-30s %-15s\n", "Column Names", "Column Types", "Column Maxlen");
for($i = 0, $size = count($column_names); $i < $size; $i++) {
    $column_len = cubrid_field_len($result, $i);
    printf("%-30s %-30s %-15s\n", $column_names[$i], $column_types[$i], $column_len);
}

cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Column Names                   Column Types                   Column Maxlen
host_year                      integer                        11
event_code                     integer                        11
athlete_code                   integer                        11
stadium_code                   integer                        11
nation_code                    char                           3
medal                          char                           1
game_date                      date                           10

Siehe auch

  • cubrid_column_names() - Get the column names in result
  • cubrid_prepare() - Prepare a SQL statement for execution
  • cubrid_execute() - Execute a prepared SQL statement

cubrid_column_names
cubrid_commit
CUBRID Funktionen


Commit a transaction

cubrid_column_types
cubrid_connect_with_url
CUBRID Funktionen
PHP Manual

cubrid_commit

(PECL CUBRID >= 8.3.0)

cubrid_commit — Commit a transaction

Beschreibung

bool cubrid_commit ( resource $conn_identifier )

The cubrid_commit() function is used to execute commit on the transaction pointed by conn_identifier, currently in progress. Connection to the server is closed after the cubrid_commit() function is called; However, the connection handle is still valid.

In CUBRID PHP, auto-commit mode is disabled by default for transaction management. You can set it by using cubrid_set_autocommit(). You can get its status by using cubrid_get_autocommit(). Before you start a transaction, remember to disable the auto-commit mode.

Parameter-Liste

conn_identifier

Connection identifier.

Rückgabewerte

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_commit() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE publishers");

$sql = <<<EOD
CREATE TABLE publishers(
pub_id CHAR(3),
pub_name VARCHAR(20),
city VARCHAR(15),
state CHAR(2),
country VARCHAR(15)
)
EOD;
cubrid_set_autocommit($conn,false);
if (!cubrid_execute($conn, $sql)) {
    printf("Error facility: %d\nError code: %d\nError msg: %s\n", cubrid_error_code_facility(), cubrid_error_code(), cubrid_error_msg());

    cubrid_disconnect($conn);
    exit;
}

$req = cubrid_prepare($conn, "INSERT INTO publishers VALUES(?, ?, ?, ?, ?)");

$id_list = array("P01", "P02", "P03", "P04");
$name_list = array("Abatis Publishers", "Core Dump Books", "Schadenfreude Press", "Tenterhooks Press");
$city_list = array("New York", "San Francisco", "Hamburg", "Berkeley");
$state_list = array("NY", "CA", NULL, "CA");
$country_list = array("USA", "USA", "Germany", "USA");

for ($i = 0, $size = count($id_list); $i < $size; $i++) {
    cubrid_bind($req, 1, $id_list[$i]);
    cubrid_bind($req, 2, $name_list[$i]);
    cubrid_bind($req, 3, $city_list[$i]);
    cubrid_bind($req, 4, $state_list[$i]);
    cubrid_bind($req, 5, $country_list[$i]);

    if (!($ret = cubrid_execute($req))) {
        break;
    }
}

if (!$ret) {
    cubrid_rollback($conn);
} else {
    cubrid_commit($conn);

    $req = cubrid_execute($conn, "SELECT * FROM publishers");
    while ($result = cubrid_fetch_assoc($req)) {
        printf("%-3s %-20s %-15s %-3s %-15s\n",
            $result["pub_id"], $result["pub_name"], $result["city"], $result["state"], $result["country"]);
    }
}

cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

P01 Abatis Publishers    New York        NY  USA
P02 Core Dump Books      San Francisco   CA  USA
P03 Schadenfreude Press  Hamburg             Germany
P04 Tenterhooks Press    Berkeley        CA  USA

Siehe auch

  • cubrid_rollback() - Roll back a transaction
  • cubrid_get_autocommit() - Get auto-commit mode of the connection
  • cubrid_set_autocommit() - Set autocommit mode of the connection

cubrid_column_types
cubrid_connect_with_url
CUBRID Funktionen


Establish the environment for connecting to CUBRID server

cubrid_commit
cubrid_connect
CUBRID Funktionen
PHP Manual

cubrid_connect_with_url

(PECL CUBRID >= 8.3.1)

cubrid_connect_with_url — Establish the environment for connecting to CUBRID server

Beschreibung

resource cubrid_connect_with_url ( string $conn_url [, string $userid [, string $passwd [, bool $new_link = false ]]] )

The cubrid_connect_with_url() function is used to establish the environment for connecting to your server by using connection information passed with an url string argument. If the HA feature is enabled in CUBRID, you must specify the connection information of the standby server, which is used for failover when failure occurs, in the url string argument of this function. If the user name and password is not given, then the "PUBLIC" connection will be made by default.

<url> ::= CUBRID:<host>:<db_name>:<db_user>:<db_password>:[?<properties>]

<properties> ::= <property> [&<property>]

<properties> ::= alhosts=<alternative_hosts>[ &rctime=<time>]

<properties> ::= login_timeout=<milli_sec>

<properties> ::= query_timeout=<milli_sec>

<properties> ::= disconnect_on_query_timeout=true|false

<alternative_hosts> ::= <standby_broker1_host>:<port> [,<standby_broker2_host>:<port>]

<host> := HOSTNAME | IP_ADDR

<time> := SECOND

<milli_sec> := MILLI SECOND

  • host : A host name or IP address of the master database
  • db_name : A name of the database
  • db_user : A name of the database user
  • db_password : A database user password
  • alhosts : Specifies the broker information of the standby server, which is used for failover when it is impossible to connect to the active server. You can specify multiple brokers for failover, and the connection to the brokers is attempted in the order listed in alhosts
  • rctime : An interval between the attempts to connect to the active broker in which failure occurred. After a failure occurs, the system connects to the broker specified by althosts (failover), terminates the transaction, and then attempts to connect to the active broker of the master database at every rctime. The default value is 600 seconds.
  • login_timeout : Timeout value (unit: msec.) for database login. The default value is 0, which means infinite postponement.
  • query_timeout : Timeout value (unit: msec.) for query request. Upon timeout, a message to cancel requesting a query transferred to server is sent. The return value can depend on the disconnect_on_query_timeout configuration; even though the message to cancel a request is sent to server, that request may succeed.
  • disconnect_on_query_timeout : Configures a value whether to immediately return an error of function being executed upon timeout. The default value is false.

Hinweis:

? and : that are used as identifiers in PHP connection URL can't be included in the password. The following is an example of a password that is invalid to use as connection URL because it contains "?:".

$url = "CUBRID:localhost:33000:tdb:dba:12?:?login_timeout=100";

Passwords that contain ? or : may be passed as a separate parameter.

$url = "CUBRID:localhost:33000:tbd:::?login_timeout=100";

$conn = cubrid_connect_with_url($url, "dba", "12?");

If user or password is empty,you can't delete ":",the following is an example.

$url = "CUBRID:localhost:33000:demodb:::";

Parameter-Liste

conn_url

A character string that contains server connection information.

userid

User name for the database.

passwd

User password.

new_link

If a second call is made to cubrid_connect_with_url() with the same arguments, no new connection will be established, but instead, the connection identifier of the already opened connection will be returned. The new_link parameter modifies this behavior and makes cubrid_connect_with_url() always open a new connection, even if cubrid_connect_with_url() was called before with the same parameters.

Rückgabewerte

Connection identifier, when process is successful.

FALSE, when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_connect_with_url() url without properties example

<?php
$conn_url = "CUBRID:localhost:33000:demodb:dba::";
$con = cubrid_connect_with_url($conn_url);

if ($con) {
   echo "connected successfully";
   cubrid_execute($con, "create table person(id int,name char(16))");
   $req =cubrid_execute($con, "insert into person values(1,'James')");

   if ($req) {
      cubrid_close_request($req);
      cubrid_commit($con);
   } else {
      cubrid_rollback($con);
   }
   cubrid_disconnect($con);
}
?>

Beispiel #2 cubrid_connect_with_url() url with properties example

<?php
$conn_url = "CUBRID:127.0.0.1:33000:demodb:dba::?login_timeout=100"
$con = cubrid_connect_with_url ($conn_url);

if ($con) {
   echo "connected successfully";
   cubrid_execute($con, "create table person(id int,name char(16))");
   $req =cubrid_execute($con, "insert into person values(1,'James')");

   if ($req) {
      cubrid_close_request($req);
      cubrid_commit($con);
   } else {
      cubrid_rollback($con);
   }
   cubrid_disconnect($con);
}
?>

Siehe auch

  • cubrid_connect() - Open a connection to a CUBRID Server
  • cubrid_pconnect() - Open a persistent connection to a CUBRID server
  • cubrid_pconnect_with_url() - Open a persistent connection to CUBRID server
  • cubrid_disconnect() - Close a database connection
  • cubrid_close() - Close CUBRID connection

cubrid_commit
cubrid_connect
CUBRID Funktionen


Open a connection to a CUBRID Server

cubrid_connect_with_url
cubrid_current_oid
CUBRID Funktionen
PHP Manual

cubrid_connect

(PECL CUBRID >= 8.3.1)

cubrid_connect — Open a connection to a CUBRID Server

Beschreibung

resource cubrid_connect ( string $host , int $port , string $dbname [, string $userid [, string $passwd [, bool $new_link = false ]]] )

The cubrid_connect() function is used to establish the environment for connecting to your server by using your server address, port number, database name, user name, and password. If the user name and password is not given, then the "PUBLIC" connection will be made by default.

Parameter-Liste

host

Host name or IP address of CUBRID CAS server.

port

Port number of CUBRID CAS server (BROKER_PORT configured in $CUBRID/conf/cubrid_broker.conf).

dbname

Name of database.

userid

User name for the database. If not given, the default value is "public".

passwd

User password. If not given, the default value is "".

new_link

If a second call is made to cubrid_connect() with the same arguments, no new connection will be established, but instead, the connection identifier of the already opened connection will be returned. The new_link parameter modifies this behavior and makes cubrid_connect() always open a new connection, even if cubrid_connect() was called before with the same parameters.

Rückgabewerte

Connection identifier, when process is successful.

FALSE, when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_connect() example

<?php
printf("%-30s %s\n", "CUBRID PHP Version:", cubrid_version());

printf("\n");

$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

if (!$conn) {
    die('Connect Error ('. cubrid_error_code() .')' . cubrid_error_msg());
}

$db_params = cubrid_get_db_parameter($conn);

while (list($param_name, $param_value) = each($db_params)) {
    printf("%-30s %s\n", $param_name, $param_value);
}

printf("\n");

$server_info = cubrid_get_server_info($conn);
$client_info = cubrid_get_client_info();

printf("%-30s %s\n", "Server Info:", $server_info);
printf("%-30s %s\n", "Client Info:", $client_info);

printf("\n");

$charset = cubrid_get_charset($conn);

printf("%-30s %s\n", "CUBRID Charset:", $charset);

cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

CUBRID PHP Version:            9.1.0.0001

PARAM_ISOLATION_LEVEL          3
LOCK_TIMEOUT                   -1
MAX_STRING_LENGTH              1073741823
PARAM_AUTO_COMMIT              1

Server Info:                   9.1.0.0212
Client Info:                   9.1.0

CUBRID Charset:                iso8859-1

Siehe auch

  • cubrid_pconnect() - Open a persistent connection to a CUBRID server
  • cubrid_connect_with_url() - Establish the environment for connecting to CUBRID server
  • cubrid_pconnect_with_url() - Open a persistent connection to CUBRID server
  • cubrid_disconnect() - Close a database connection
  • cubrid_close() - Close CUBRID connection

cubrid_connect_with_url
cubrid_current_oid
CUBRID Funktionen


Get OID of the current cursor location

cubrid_connect
cubrid_disconnect
CUBRID Funktionen
PHP Manual

cubrid_current_oid

(PECL CUBRID >= 8.3.0)

cubrid_current_oid — Get OID of the current cursor location

Beschreibung

string cubrid_current_oid ( resource $req_identifier )

The cubrid_current_oid() function is used to get the oid of the current cursor location from the query result. To use cubrid_current_oid(), the query executed must be a updatable query, and the CUBRID_INCLUDE_OID option must be included during the query execution.

Parameter-Liste

req_identifier

Request identifier.

Rückgabewerte

Oid of current cursor location, when process is successful

FALSE, when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_current_oid() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

$req = cubrid_execute($conn, "SELECT * FROM code", CUBRID_INCLUDE_OID);
$oid = cubrid_current_oid($req);
$res = cubrid_get($conn, $oid);

print_r($res);

cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [s_name] => X
    [f_name] => Mixed
)

Siehe auch

  • cubrid_execute() - Execute a prepared SQL statement

cubrid_connect
cubrid_disconnect
CUBRID Funktionen


Close a database connection

cubrid_current_oid
cubrid_drop
CUBRID Funktionen
PHP Manual

cubrid_disconnect

(PECL CUBRID >= 8.3.0)

cubrid_disconnect — Close a database connection

Beschreibung

bool cubrid_disconnect ([ resource $conn_identifier ] )

The cubrid_disconnect() function closes the connection handle and disconnects from server. If any request handle is not closed at this point, it will be closed. It is similar to the CUBRID MySQL compatible function cubrid_close().

Parameter-Liste

conn_identifier

Connection identifier.

Rückgabewerte

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_disconnect() example

<?php
$con = cubrid_connect ("localhost", 33000, "demodb");
if ($con) {
   echo "connected successfully";

   $req = cubrid_execute( $con, "create table person(id int,name char(10))");
   if ($req) {
      cubrid_close_request($req);
      cubrid_commit($con);
   } else {
      cubrid_rollback($con);
   }

   $req = cubrid_execute( $con, "insert into person values(1,'James')");
   if ($req) {
      cubrid_close_request($req);
      cubrid_commit($con);
   } else {
      cubrid_rollback($con);
   }
   cubrid_disconnect($con);
}
?>

Siehe auch

  • cubrid_close() - Close CUBRID connection
  • cubrid_connect() - Open a connection to a CUBRID Server
  • cubrid_connect_with_url() - Establish the environment for connecting to CUBRID server

cubrid_current_oid
cubrid_drop
CUBRID Funktionen


Delete an instance using OID

cubrid_disconnect
cubrid_error_code_facility
CUBRID Funktionen
PHP Manual

cubrid_drop

(PECL CUBRID >= 8.3.0)

cubrid_drop — Delete an instance using OID

Beschreibung

bool cubrid_drop ( resource $conn_identifier , string $oid )

The cubrid_drop() function is used to delete an instance from database by using the oid of the instance.

Parameter-Liste

conn_identifier

Connection identifier.

oid

Oid of the instance that you want to delete.

Rückgabewerte

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_drop() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(2, {4,5,7}, {44,55,66,666}, 'b')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

printf("--- Before Drop: ---\n");
$attr = cubrid_get($conn, $oid);
var_dump($attr);

if (cubrid_drop($conn, $oid)) {
    cubrid_commit($conn);
} else {
    cubrid_rollback($conn);
}

cubrid_close_request($req);

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

printf("\n--- After Drop: ---\n");
$attr = cubrid_get($conn, $oid);
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

--- Before Drop: ---
array(4) {
  ["a"]=>
  string(1) "1"
  ["b"]=>
  array(3) {
    [0]=>
    string(1) "1"
    [1]=>
    string(1) "2"
    [2]=>
    string(1) "3"
  }
  ["c"]=>
  array(4) {
    [0]=>
    string(2) "11"
    [1]=>
    string(2) "22"
    [2]=>
    string(2) "33"
    [3]=>
    string(3) "333"
  }
  ["d"]=>
  string(10) "a         "
}

--- After Drop: ---
array(4) {
  ["a"]=>
  string(1) "2"
  ["b"]=>
  array(3) {
    [0]=>
    string(1) "4"
    [1]=>
    string(1) "5"
    [2]=>
    string(1) "7"
  }
  ["c"]=>
  array(4) {
    [0]=>
    string(2) "44"
    [1]=>
    string(2) "55"
    [2]=>
    string(2) "66"
    [3]=>
    string(3) "666"
  }
  ["d"]=>
  string(10) "b         "
}

Siehe auch

  • cubrid_is_instance() - Check whether the instance pointed by OID exists

cubrid_disconnect
cubrid_error_code_facility
CUBRID Funktionen


Get the facility code of error

cubrid_drop
cubrid_error_code
CUBRID Funktionen
PHP Manual

cubrid_error_code_facility

(PECL CUBRID >= 8.3.0)

cubrid_error_code_facility — Get the facility code of error

Beschreibung

int cubrid_error_code_facility ( void )

The cubrid_error_code_facility() function is used to get the facility code (level in which the error occurred) from the error code of the error that occurred during the API execution. Usually, you can get the error code when API returns false as its return value.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Facility code of the error code that occurred: CUBRID_FACILITY_DBMS, CUBRID_FACILITY_CAS, CUBRID_FACILITY_CCI, CUBRID_FACILITY_CLIENT

Beispiele

Beispiel #1 cubrid_error_code_facility() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = @cubrid_execute($conn, "SELECT * FROM unknown");
if (!$req) {
    printf("Error facility: %d\nError code: %d\nError msg: %s\n",
        cubrid_error_code_facility(), cubrid_error_code(), cubrid_error_msg());

    cubrid_disconnect($conn);
    exit;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Error facility: 1
Error code: -493
Error msg: Syntax: In line 1, column 15 before END OF STATEMENT
Syntax error: unexpected 'unknown'

Siehe auch

  • cubrid_error_code() - Get error code for the most recent function call
  • cubrid_error_msg() - Get last error message for the most recent function call

cubrid_drop
cubrid_error_code
CUBRID Funktionen


Get error code for the most recent function call

cubrid_error_code_facility
cubrid_error_msg
CUBRID Funktionen
PHP Manual

cubrid_error_code

(PECL CUBRID >= 8.3.0)

cubrid_error_code — Get error code for the most recent function call

Beschreibung

int cubrid_error_code ( void )

The cubrid_error_code() function is used to get the error code of the error that occurred during the API execution. Usually, it gets the error code when API returns false as its return value.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Error code of the error that occurred, or 0 (zero) if no error occurred.

Beispiele

Beispiel #1 cubrid_error_code() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = cubrid_prepare($conn , "SELECT * FROM code WHERE s_name=?");

$req = @cubrid_execute($req);
if (!$req) {
    printf("Error facility: %d\nError code: %d\nError msg: %s\n",
        cubrid_error_code_facility(), cubrid_error_code(), cubrid_error_msg());

    cubrid_disconnect($conn);
    exit;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Error facility: 4
Error code: -30015
Error msg: Some parameter not binded

Siehe auch

  • cubrid_error_code_facility() - Get the facility code of error
  • cubrid_error_msg() - Get last error message for the most recent function call

cubrid_error_code_facility
cubrid_error_msg
CUBRID Funktionen


Get last error message for the most recent function call

cubrid_error_code
cubrid_execute
CUBRID Funktionen
PHP Manual

cubrid_error_msg

(PECL CUBRID >= 8.3.0)

cubrid_error_msg — Get last error message for the most recent function call

Beschreibung

string cubrid_error_msg ( void )

The cubrid_error_msg() function is used to get the error message that occurred during the use of CUBRID API. Usually, it gets error message when API returns false as its return value.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Error message that occurred.

Beispiele

Beispiel #1 cubrid_error_msg() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

if (!@cubrid_schema($conn, 100000)) {
    printf("Error facility: %d\nError code: %d\nError msg: %s\n",
        cubrid_error_code_facility(), cubrid_error_code(), cubrid_error_msg());

    cubrid_disconnect($conn);
    exit;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Error facility: 2
Error code: -10015
Error msg: Invalid T_CCI_SCH_TYPE value

Siehe auch

  • cubrid_error_code() - Get error code for the most recent function call
  • cubrid_error_code_facility() - Get the facility code of error

cubrid_error_code
cubrid_execute
CUBRID Funktionen


Execute a prepared SQL statement

cubrid_error_msg
cubrid_fetch
CUBRID Funktionen
PHP Manual

cubrid_execute

(PECL CUBRID >= 8.3.0)

cubrid_execute — Execute a prepared SQL statement

Beschreibung

resource cubrid_execute ( resource $conn_identifier , string $sql [, int $option ] )
bool cubrid_execute ( resource $request_identifier [, int $option ] )

The cubrid_execute() function is used to execute the given SQL statement. It executes the query by using conn_identifier and SQL, and then returns the request identifier created. It is used for simple execution of query, where the parameter binding is not needed. In addition, the cubrid_execute() function is used to execute the prepared statement by means of cubrid_prepare() and cubrid_bind(). At this time, you need to specify arguments of request_identifier and option.

The option is used to determine whether to get OID after query execution and whether to execute the query in synchronous or asynchronous mode. CUBRID_INCLUDE_OID and CUBRID_ASYNC (or CUBRID_EXEC_QUERY_ALL if you want to execute multiple SQL statements) can be specified by using a bitwise OR operator. If not specified, neither of them isselected. If the flag CUBRID_EXEC_QUERY_ALL is set, a synchronous mode (sync_mode) is used to retrieve query results, and in such cases the following rules are applied:

  • The return value is the result of the first query.
  • If an error occurs in any query, the execution is processed as a failure.
  • In a query composed of q1 q2 q3, if an error occurs in q2 after q1 succeeds the execution, the result of q1 remains valid. That is, the previous successful query executions are not rolled back when an error occurs.
  • If a query is executed successfully, the result of the second query can be obtained using cubrid_next_result().

If the first argument is request_identifier to execute the cubrid_prepare() function, you can specify an option, CUBRID_ASYNC only.

Parameter-Liste

conn_identifier

Connection identifier.

sql

SQL to be executed.

option

Query execution option CUBRID_INCLUDE_OID, CUBRID_ASYNC, CUBRID_EXEC_QUERY_ALL.

request_identifier

cubrid_prepare() identifier.

Rückgabewerte

Request identifier, when process is successful and first param is conn_identifier; TRUE, when process is successful and first argument is request_identifier.

FALSE, when process is unsuccessful.

Changelog

Version | Beschreibung
8.4.0 | Add new option CUBRID_EXEC_QUERY_ALL.

Beispiele

Beispiel #1 cubrid_execute() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$result = cubrid_execute($conn, "SELECT code FROM event WHERE name='100m Butterfly' and gender='M'", CUBRID_ASYNC);
$row = cubrid_fetch_array($result, CUBRID_ASSOC);
$event_code = $row["code"];

cubrid_close_request($result);

$history_req = cubrid_prepare($conn, "SELECT * FROM history WHERE event_code=?");
cubrid_bind($history_req, 1, $event_code, "number");
cubrid_execute($history_req);

printf("%-20s %-9s %-10s %-5s\n", "athlete", "host_year", "score", "unit");
while ($row = cubrid_fetch_array($history_req, CUBRID_ASSOC)) {
    printf("%-20s %-9s %-10s %-5s\n",
        $row["athlete"], $row["host_year"], $row["score"], $row["unit"]);
}

cubrid_close_request($history_req);

cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

athlete              host_year score      unit
Phelps Michael       2004      51.25      time

Siehe auch

  • cubrid_prepare() - Prepare a SQL statement for execution
  • cubrid_bind() - Bind variables to a prepared statement as parameters
  • cubrid_next_result() - Get result of next query when executing multiple SQL statements
  • cubrid_close_request() - Close the request handle
  • cubrid_commit() - Commit a transaction
  • cubrid_rollback() - Roll back a transaction

cubrid_error_msg
cubrid_fetch
CUBRID Funktionen


Fetch the next row from a result set

cubrid_execute
cubrid_free_result
CUBRID Funktionen
PHP Manual

cubrid_fetch

(PECL CUBRID >= 8.3.0)

cubrid_fetch — Fetch the next row from a result set

Beschreibung

mixed cubrid_fetch ( resource $result [, int $type = CUBRID_BOTH ] )

The cubrid_fetch() function is used to get a single row from the query result. The cursor automatically moves to the next row after getting the result.

Parameter-Liste

result

result comes from a call to cubrid_execute()

type

Array type of the fetched result CUBRID_NUM, CUBRID_ASSOC, CUBRID_BOTH, CUBRID_OBJECT. If you want to operate the lob object, you can use CUBRID_LOB.

Rückgabewerte

Result array or object, when process is successful.

FALSE, when there are no more rows; NULL, when process is unsuccessful.

The result can be received either as an array or as an object, and you can decide which data type to use by setting the type argument. The type variable can be set to one of the following values:

  • CUBRID_NUM : Numerical array (0-based)
  • CUBRID_ASSOC : Associative array
  • CUBRID_BOTH : Numerical & Associative array (default)
  • CUBRID_OBJECT : object that has the attribute name as the column name of query result

When type argument is omitted, the result will be received using CUBRID_BOTH option as default. When you want to receive query result in object data type, the column name of the result must obey the naming rules for identifiers in PHP. For example, column name such as "count(*)" cannot be received in object type.

Beispiele

Beispiel #1 cubrid_fetch() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = cubrid_execute($conn, "SELECT * FROM stadium WHERE nation_code='GRE' AND seats > 10000");

printf("%-40s %-10s %-6s %-20s\n", "name", "area", "seats", "address");
while ($row = cubrid_fetch($req)) {
    printf("%-40s %-10s %-6s %-20s\n",
        $row["name"], $row["area"], $row["seats"], $row["address"]);
}

// if you want to operate lob object, you can use cubrid_fetch($req, CUBRID_LOB)

cubrid_close_request($req);

cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

name                                     area       seats  address
Panathinaiko Stadium                     86300.00   50000  Athens, Greece
Olympic Stadium                          54700.00   13000  Athens, Greece
Olympic Indoor Hall                      34100.00   18800  Athens, Greece
Olympic Hall                             52400.00   21000  Athens, Greece
Olympic Aquatic Centre                   42500.00   11500  Athens, Greece
Markopoulo Olympic Equestrian Centre     64000.00   15000  Markopoulo, Athens, Greece
Faliro Coastal Zone Olympic Complex      34650.00   12171  Faliro, Athens, Greece
Athens Olympic Stadium                   120400.00  71030  Maroussi, Athens, Greece
Ano Liossia                              34000.00   12000  Ano Liosia, Athens, Greece

Siehe auch

  • cubrid_execute() - Execute a prepared SQL statement
  • cubrid_fetch_array() - Fetch a result row as an associative array, a numeric array, or both
  • cubrid_fetch_row() - Return a numerical array with the values of the current row
  • cubrid_fetch_assoc() - Return the associative array that corresponds to the fetched row
  • cubrid_fetch_object() - Fetch the next row and return it as an object

cubrid_execute
cubrid_free_result
CUBRID Funktionen


Free the memory occupied by the result data

cubrid_fetch
cubrid_get_autocommit
CUBRID Funktionen
PHP Manual

cubrid_free_result

(PECL CUBRID >= 8.3.0)

cubrid_free_result — Free the memory occupied by the result data

Beschreibung

bool cubrid_free_result ( resource $req_identifier )

This function frees the memory occupied by the result data. It returns TRUE on success or FALSE on failure. Note that it can only frees the client fetch buffer now, and if you want free all memory, use function cubrid_close_request().

Parameter-Liste

req_identifier

This is the request identifier.

Rückgabewerte

TRUE on success.

FALSE on failure.

Beispiele

Beispiel #1 cubrid_free_result() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$req = cubrid_execute($conn, "SELECT * FROM history WHERE host_year=2004 ORDER BY event_code");
$row = cubrid_fetch_assoc($req);
var_dump($row);

cubrid_free_result($req);
cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(5) {
  ["event_code"]=>
  string(5) "20005"
  ["athlete"]=>
  string(12) "Hayes Joanna"
  ["host_year"]=>
  string(4) "2004"
  ["score"]=>
  string(5) "12.37"
  ["unit"]=>
  string(4) "time"
}
cubrid_fetch
cubrid_get_autocommit
CUBRID Funktionen


Get auto-commit mode of the connection

cubrid_free_result
cubrid_get_charset
CUBRID Funktionen
PHP Manual

cubrid_get_autocommit

(PECL CUBRID >= 8.4.0)

cubrid_get_autocommit — Get auto-commit mode of the connection

Beschreibung

bool cubrid_get_autocommit ( resource $conn_identifier )

The cubrid_get_autocommit() function is used to get the status of CUBRID database connection auto-commit mode.

For CUBRID 8.4.0, auto-commit mode is disabled by default for transaction management.

For CUBRID 8.4.1, auto-commit mode is enabled by default for transaction management.

Parameter-Liste

conn_identifier

Connection identifier.

Rückgabewerte

TRUE, when auto-commit is on.

FALSE, when auto-commit is off.

NULL on error.

Siehe auch

  • cubrid_set_autocommit() - Set autocommit mode of the connection
  • cubrid_commit() - Commit a transaction

cubrid_free_result
cubrid_get_charset
CUBRID Funktionen


Return the current CUBRID connection charset

cubrid_get_autocommit
cubrid_get_class_name
CUBRID Funktionen
PHP Manual

cubrid_get_charset

(PECL CUBRID >= 8.3.0)

cubrid_get_charset — Return the current CUBRID connection charset

Beschreibung

string cubrid_get_charset ( resource $conn_identifier )

This function returns the current CUBRID connection charset and is similar to the CUBRID MySQL compatible function cubrid_client_encoding().

Parameter-Liste

conn_identifier

The CUBRID connection.

Rückgabewerte

A string that represents the CUBRID connection charset; on success.

FALSE on failure.

Beispiele

Beispiel #1 cubrid_get_charset() example

<?php

$con = cubrid_connect("localhost", 33000, "demodb");
if (!$con)
{
    die('Could not connect.');
}

printf("CUBRID current charset: %s\n", cubrid_get_charset($con));

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

CUBRID current charset: iso8859-1

Siehe auch

  • cubrid_client_encoding() - Return the current CUBRID connection charset

cubrid_get_autocommit
cubrid_get_class_name
CUBRID Funktionen


Get the class name using OID

cubrid_get_charset
cubrid_get_client_info
CUBRID Funktionen
PHP Manual

cubrid_get_class_name

(PECL CUBRID >= 8.3.0)

cubrid_get_class_name — Get the class name using OID

Beschreibung

string cubrid_get_class_name ( resource $conn_identifier , string $oid )

The cubrid_get_class_name() function is used to get the class name from oid. It doesn't work when selecting data from the system tables, for example db_class.

Parameter-Liste

conn_identifier

Connection identifier.

oid

OID of the instance that you want to check the existence.

Rückgabewerte

Class name when process is successful.

FALSE, when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_get_class_name() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

$req = cubrid_execute($conn, "SELECT * FROM code", CUBRID_INCLUDE_OID);
$oid = cubrid_current_oid($req);
$class_name = cubrid_get_class_name($conn, $oid);

print_r($class_name);

cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

code

Siehe auch

  • cubrid_is_instance() - Check whether the instance pointed by OID exists
  • cubrid_drop() - Delete an instance using OID

cubrid_get_charset
cubrid_get_client_info
CUBRID Funktionen


Return the client library version

cubrid_get_class_name
cubrid_get_db_parameter
CUBRID Funktionen
PHP Manual

cubrid_get_client_info

(PECL CUBRID >= 8.3.0)

cubrid_get_client_info — Return the client library version

Beschreibung

string cubrid_get_client_info ( void )

This function returns a string that represents the client library version.

Parameter-Liste

Rückgabewerte

A string that represents the client library version; on success.

FALSE on failure.

Beispiele

Beispiel #1 cubrid_get_client_info() example

<?php
printf("%-30s %s\n", "CUBRID PHP Version:", cubrid_version());

printf("\n");

$conn = cubrid_connect("localhost", 33088, "demodb");

if (!$conn) {
    die('Connect Error ('. cubrid_error_code() .')' . cubrid_error_msg());
}

$db_params = cubrid_get_db_parameter($conn);

while (list($param_name, $param_value) = each($db_params)) {
    printf("%-30s %s\n", $param_name, $param_value);
}

printf("\n");

$server_info = cubrid_get_server_info($conn);
$client_info = cubrid_get_client_info();

printf("%-30s %s\n", "Server Info:", $server_info);
printf("%-30s %s\n", "Client Info:", $client_info);

printf("\n");

$charset = cubrid_get_charset($conn);

printf("%-30s %s\n", "CUBRID Charset:", $charset);

cubrid_disconnect($conn);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

CUBRID PHP Version:            9.1.0.0001

PARAM_ISOLATION_LEVEL          3
LOCK_TIMEOUT                   -1
MAX_STRING_LENGTH              1073741823
PARAM_AUTO_COMMIT              1

Server Info:                   9.1.0.0212
Client Info:                   9.1.0

CUBRID Charset:                iso8859-1
cubrid_get_class_name
cubrid_get_db_parameter
CUBRID Funktionen


Returns the CUBRID database parameters

cubrid_get_client_info
cubrid_get_query_timeout
CUBRID Funktionen
PHP Manual

cubrid_get_db_parameter

(PECL CUBRID >= 8.3.0)

cubrid_get_db_parameter — Returns the CUBRID database parameters

Beschreibung

array cubrid_get_db_parameter ( resource $conn_identifier )

This function returns the CUBRID database parameters or it returns FALSE on failure. It returns an associative array with the values for the following parameters:

  • PARAM_ISOLATION_LEVEL
  • PARAM_LOCK_TIMEOUT
  • PARAM_MAX_STRING_LENGTH
  • PARAM_AUTO_COMMIT

Database parameters
Parameter | Description
PARAM_ISOLATION_LEVEL | The transaction isolation level.
LOCK_TIMEOUT | CUBRID provides the lock timeout feature, which sets the waiting time (in seconds) for the lock until the transaction lock setting is allowed. The default value of the lock_timeout_in_secs parameter is -1, which means the application client will wait indefinitely until the transaction lock is allowed.
PARAM_AUTO_COMMIT | In CUBRID PHP, auto-commit mode is disabled by default for transaction management. It can be set by using cubrid_set_autocommit().

The following table shows the isolation levels from 1 to 6. It consists of table schema (row) and isolation level:

Levels of Isolation Supported by CUBRID
Name | Description
SERIALIZABLE (6) | In this isolation level, problems concerning concurrency (e.g. dirty read, non-repeatable read, phantom read, etc.) do not occur.
REPEATABLE READ CLASS with REPEATABLE READ INSTANCES (5) | Another transaction T2 cannot update the schema of table A while transaction T1 is viewing table A. Transaction T1 may experience phantom read for the record R that was inserted by another transaction T2 when it is repeatedly retrieving a specific record.
REPEATABLE READ CLASS with READ COMMITTED INSTANCES (or CURSOR STABILITY) (4) | Another transaction T2 cannot update the schema of table A while transaction T1 is viewing table A. Transaction T1 may experience R read (non-repeatable read) that was updated and committed by another transaction T2 when it is repeatedly retrieving the record R.
REPEATABLE READ CLASS with READ UNCOMMITTED INSTANCES (3) | Default isolation level. Another transaction T2 cannot update the schema of table A while transaction T1 is viewing table A. Transaction T1 may experience R' read (dirty read) for the record that was updated but not committed by another transaction T2.
READ COMMITTED CLASS with READ COMMITTED INSTANCES (2) | Transaction T1 may experience A' read (non-repeatable read) for the table that was updated and committed by another transaction T2 while it is viewing table A repeatedly. Transaction T1 may experience R' read (non-repeatable read) for the record that was updated and committed by another transaction T2 while it is retrieving the record R repeatedly.
READ COMMITTED CLASS with READ UNCOMMITTED INSTANCES (1) | Transaction T1 may experience A' read (non-repeatable read) for the table that was updated and committed by another transaction T2 while it is repeatedly viewing table A. Transaction T1 may experience R' read (dirty read) for the record that was updated but not committed by another transaction T2.

Parameter-Liste

conn_identifier

The CUBRID connection. If the connection identifier is not specified, the last link opened by cubrid_connect() is assumed.

Rückgabewerte

An associative array with CUBRID database parameters; on success.

FALSE on failure.

Changelog

Version | Beschreibung
8.4.0 | Change LOCK_TIMEOUT to PARAM_LOCK_TIMEOUT, and MAX_STRING_LENGTH to PARAM_MAX_STRING_LENGTH in result.

Beispiele

Beispiel #1 cubrid_get_db_parameter() example

<?php
printf("%-30s %s\n", "CUBRID PHP Version:", cubrid_version());

printf("\n");

$conn = cubrid_connect("localhost", 33088, "demodb");

if (!$conn) {
    die('Connect Error ('. cubrid_error_code() .')' . cubrid_error_msg());
}

$db_params = cubrid_get_db_parameter($conn);

while (list($param_name, $param_value) = each($db_params)) {
    printf("%-30s %s\n", $param_name, $param_value);
}

printf("\n");

$server_info = cubrid_get_server_info($conn);
$client_info = cubrid_get_client_info();

printf("%-30s %s\n", "Server Info:", $server_info);
printf("%-30s %s\n", "Client Info:", $client_info);

printf("\n");

$charset = cubrid_get_charset($conn);

printf("%-30s %s\n", "CUBRID Charset:", $charset);

cubrid_disconnect($conn);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

CUBRID PHP Version:            9.1.0.0001

PARAM_ISOLATION_LEVEL          3
LOCK_TIMEOUT                   -1
MAX_STRING_LENGTH              1073741823
PARAM_AUTO_COMMIT              1

Server Info:                   9.1.0.0212
Client Info:                   9.1.0

CUBRID Charset:                iso8859-1

Siehe auch

  • cubrid_set_db_parameter() - Sets the CUBRID database parameters
  • cubrid_get_autocommit() - Get auto-commit mode of the connection

cubrid_get_client_info
cubrid_get_query_timeout
CUBRID Funktionen


Get the query timeout value of the request

cubrid_get_db_parameter
cubrid_get_server_info
CUBRID Funktionen
PHP Manual

cubrid_get_query_timeout

(PECL CUBRID >= 8.4.1)

cubrid_get_query_timeout — Get the query timeout value of the request

Beschreibung

int cubrid_get_query_timeout ( resource $req_identifier )

The cubrid_get_query_timeout() function is used to get the query timeout of the request.

Parameter-Liste

req_identifier

Request identifier.

Rückgabewerte

Success: the query timeout value of the current request. Units of msec.

Failure: FALSE

Beispiele

Beispiel #1 cubrid_get_query_timeout() example

<?php

$host = "localhost";
$port = 33000;
$db = "demodb";

$conn =
cubrid_connect_with_url("CUBRID:$host:$port:$db:::?login_timeout=50000&query_timeout=5000&disconnect_on_query_timeout=yes");

$req = cubrid_prepare($conn, "SELECT * FROM code");

$timeout = cubrid_get_query_timeout($req);
var_dump($timeout);

cubrid_set_query_timeout($req, 1000);
$timeout = cubrid_get_query_timeout($req);
var_dump($timeout);

cubrid_close($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(5000)
int(1000)

Siehe auch

  • cubrid_set_query_timeout() - Set the timeout time of query execution

cubrid_get_db_parameter
cubrid_get_server_info
CUBRID Funktionen


Return the CUBRID server version

cubrid_get_query_timeout
cubrid_get
CUBRID Funktionen
PHP Manual

cubrid_get_server_info

(PECL CUBRID >= 8.3.0)

cubrid_get_server_info — Return the CUBRID server version

Beschreibung

string cubrid_get_server_info ( resource $conn_identifier )

This function returns a string that represents the CUBRID server version.

Parameter-Liste

conn_identifier

The CUBRID connection.

Rückgabewerte

A string that represents the CUBRID server version; on success.

FALSE on failure.

Beispiele

Beispiel #1 cubrid_get_server_info() example

<?php
printf("%-30s %s\n", "CUBRID PHP Version:", cubrid_version());

printf("\n");

$conn = cubrid_connect("localhost", 33088, "demodb");

if (!$conn) {
    die('Connect Error ('. cubrid_error_code() .')' . cubrid_error_msg());
}

$db_params = cubrid_get_db_parameter($conn);

while (list($param_name, $param_value) = each($db_params)) {
    printf("%-30s %s\n", $param_name, $param_value);
}

printf("\n");

$server_info = cubrid_get_server_info($conn);
$client_info = cubrid_get_client_info();

printf("%-30s %s\n", "Server Info:", $server_info);
printf("%-30s %s\n", "Client Info:", $client_info);

printf("\n");

$charset = cubrid_get_charset($conn);

printf("%-30s %s\n", "CUBRID Charset:", $charset);

cubrid_disconnect($conn);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

CUBRID PHP Version:            9.1.0.0001

PARAM_ISOLATION_LEVEL          3
LOCK_TIMEOUT                   -1
MAX_STRING_LENGTH              1073741823
PARAM_AUTO_COMMIT              1

Server Info:                   9.1.0.0212
Client Info:                   9.1.0

CUBRID Charset:                iso8859-1
cubrid_get_query_timeout
cubrid_get
CUBRID Funktionen


Get a column using OID

cubrid_get_server_info
cubrid_insert_id
CUBRID Funktionen
PHP Manual

cubrid_get

(PECL CUBRID >= 8.3.0)

cubrid_get — Get a column using OID

Beschreibung

mixed cubrid_get ( resource $conn_identifier , string $oid [, mixed $attr ] )

The cubrid_get() function is used to get the attribute of the instance of the given oid. You can get single attribute by using string data type for the attr argument, or many attributes by using array data type for the attr argument.

Parameter-Liste

conn_identifier

Connection identifier.

oid

OID of the instance that you want to read.

attr

Name of the attribute that you want to read.

Rückgabewerte

Content of the requested attribute, when process is successful; When attr is set with string data type, the result is returned as a string; when attr is set with array data type (0-based numerical array), then the result is returned in associative array. When attr is omitted, then all attributes are received in array form.

FALSE when process is unsuccessful or result is NULL (If error occurs to distinguish empty string from NULL, then it prints the warning message. You can check the error by using cubrid_error_code())

Beispiele

Beispiel #1 cubrid_get() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(2, {4,5,7}, {44,55,66,666}, 'b')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_get($conn, $oid, "b");
var_dump($attr);

$attr = cubrid_get($conn, $oid);
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(9) "{1, 2, 3}"
array(4) {
  ["a"]=>
  string(1) "1"
  ["b"]=>
  array(3) {
    [0]=>
    string(1) "1"
    [1]=>
    string(1) "2"
    [2]=>
    string(1) "3"
  }
  ["c"]=>
  array(4) {
    [0]=>
    string(2) "11"
    [1]=>
    string(2) "22"
    [2]=>
    string(2) "33"
    [3]=>
    string(3) "333"
  }
  ["d"]=>
  string(10) "a         "
}

Siehe auch

  • cubrid_put() - Update a column using OID

cubrid_get_server_info
cubrid_insert_id
CUBRID Funktionen


Return the ID generated for the last updated AUTO_INCREMENT column

cubrid_get
cubrid_is_instance
CUBRID Funktionen
PHP Manual

cubrid_insert_id

(PECL CUBRID >= 8.3.0)

cubrid_insert_id — Return the ID generated for the last updated AUTO_INCREMENT column

Beschreibung

string cubrid_insert_id ([ resource $conn_identifier ] )

The cubrid_insert_id() function retrieves the ID generated for the AUTO_INCREMENT column which is updated by the previous INSERT query. It returns 0 if the previous query does not generate new rows, or FALSE on failure.

Hinweis:

CUBRID supports AUTO_INCREMENT for more than one columns in a table. In most cases, there will be a single AUTO_INCREMENT column in a table. If there are multiple AUTO_INCREMENT columns, this function should not be used even if it will return a value.

Parameter-Liste

conn_identifier

The connection identifier previously obtained by a call to cubrid_connect().

Rückgabewerte

A string representing the ID generated for an AUTO_INCREMENT column by the previous query, on success.

0, if the previous query does not generate new rows.

FALSE on failure.

Changelog

Version | Beschreibung
8.4.0 | Change the return value from an array to string; Remove the first parameter class_name.

Beispiele

Beispiel #1 cubrid_insert_id() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

@cubrid_execute($conn, "DROP TABLE cubrid_test");
cubrid_execute($conn, "CREATE TABLE cubrid_test (d int AUTO_INCREMENT(1, 2), t varchar)");

for ($i = 0; $i < 10; $i++) {
    cubrid_execute($conn, "INSERT INTO cubrid_test(t) VALUES('cubrid_test')");
}

$id = cubrid_insert_id();
var_dump($id);

cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(2) "19"
cubrid_get
cubrid_is_instance
CUBRID Funktionen


Check whether the instance pointed by OID exists

cubrid_insert_id
cubrid_lob_close
CUBRID Funktionen
PHP Manual

cubrid_is_instance

(PECL CUBRID >= 8.3.0)

cubrid_is_instance — Check whether the instance pointed by OID exists

Beschreibung

int cubrid_is_instance ( resource $conn_identifier , string $oid )

The cubrid_is_instance() function is used to check whether the instance pointed by the given oid exists or not.

Parameter-Liste

conn_identifier

Connection identifier.

oid

OID of the instance that you want to check the existence.

Rückgabewerte

1, if such instance exists;

0, if such instance does not exist;

-1, in case of error

Beispiele

Beispiel #1 cubrid_is_instance() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$sql = <<<EOD
SELECT host_year, medal, game_date
FROM game
WHERE athlete_code IN
    (SELECT code FROM athlete WHERE name='Thorpe Ian');
EOD;

$req = cubrid_execute($conn, $sql, CUBRID_INCLUDE_OID);
$oid = cubrid_current_oid($req);

$res = cubrid_is_instance ($conn, $oid);
if ($res == 1) {
    echo "Instance pointed by $oid exists.\n";
} else if ($res == 0){
    echo "Instance pointed by $oid doesn't exist.\n";
} else {
    echo "error\n";
}

cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Instance pointed by @0|0|0 doesn't exist.

Siehe auch

  • cubrid_drop() - Delete an instance using OID
  • cubrid_get_class_name() - Get the class name using OID

cubrid_insert_id
cubrid_lob_close
CUBRID Funktionen


Close BLOB/CLOB data

cubrid_is_instance
cubrid_lob_export
CUBRID Funktionen
PHP Manual

cubrid_lob_close

(PECL CUBRID >= 8.3.1)

cubrid_lob_close — Close BLOB/CLOB data

Beschreibung

bool cubrid_lob_close ( array $lob_identifier_array )

cubrid_lob_close() is used to close all BLOB/CLOB returned from cubrid_lob_get().

Parameter-Liste

lob_identifier_array

LOB identifier array return from cubrid_lob_get.

Rückgabewerte

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_lob_close() example

<?php
$conn = cubrid_connect ("localhost", 33000, "demodb", "dba");

cubrid_execute($conn,"DROP TABLE if exists doc");
cubrid_execute($conn,"CREATE TABLE doc (id INT, doc_content CLOB)");
cubrid_execute($conn,"INSERT INTO doc VALUES (5,'hello,cubrid')");

$lobs = cubrid_lob_get($conn, "SELECT doc_content FROM doc WHERE id=5");
echo "Doc size: ".cubrid_lob_size($lobs[0])." bytes";
cubrid_lob_export($conn, $lobs[0], "doc_5.txt");
cubrid_lob_close($lobs);
cubrid_disconnect($conn);
?>

Siehe auch

  • cubrid_lob_get() - Get BLOB/CLOB data
  • cubrid_lob_size() - Get BLOB/CLOB data size
  • cubrid_lob_export() - Export BLOB/CLOB data to file
  • cubrid_lob_send() - Read BLOB/CLOB data and send straight to browser

cubrid_is_instance
cubrid_lob_export
CUBRID Funktionen


Export BLOB/CLOB data to file

cubrid_lob_close
cubrid_lob_get
CUBRID Funktionen
PHP Manual

cubrid_lob_export

(PECL CUBRID >= 8.3.1)

cubrid_lob_export — Export BLOB/CLOB data to file

Beschreibung

bool cubrid_lob_export ( resource $conn_identifier , resource $lob_identifier , string $path_name )

cubrid_lob_export() is used to get BLOB/CLOB data from CUBRID database, and saves its contents to a file. To use this function, you must use cubrid_lob_get() first to get BLOB/CLOB info from CUBRID.

Parameter-Liste

conn_identifier

Connection identifier.

lob_identifier

LOB identifier.

path_name

Path name of the file.

Rückgabewerte

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_lob_export() example

<?php
$conn = cubrid_connect ("localhost", 33000, "demodb", "dba");

cubrid_execute($conn,"DROP TABLE if exists doc");
cubrid_execute($conn,"CREATE TABLE doc (id INT, doc_content CLOB)");
cubrid_execute($conn,"INSERT INTO doc VALUES (5,'hello,cubrid')");

$lobs = cubrid_lob_get($conn, "SELECT doc_content FROM doc WHERE id=5");
echo "Doc size: ".cubrid_lob_size($lobs[0])." bytes";
cubrid_lob_export($conn, $lobs[0], "doc_5.txt");
cubrid_lob_close($lobs);
cubrid_disconnect($conn);
?>

Siehe auch

  • cubrid_lob_get() - Get BLOB/CLOB data
  • cubrid_lob_close() - Close BLOB/CLOB data
  • cubrid_lob_size() - Get BLOB/CLOB data size
  • cubrid_lob_send() - Read BLOB/CLOB data and send straight to browser

cubrid_lob_close
cubrid_lob_get
CUBRID Funktionen


Get BLOB/CLOB data

cubrid_lob_export
cubrid_lob_send
CUBRID Funktionen
PHP Manual

cubrid_lob_get

(PECL CUBRID >= 8.3.1)

cubrid_lob_get — Get BLOB/CLOB data

Beschreibung

array cubrid_lob_get ( resource $conn_identifier , string $sql )

cubrid_lob_get() is used to get BLOB/CLOB meta info from CUBRID database, CUBRID gets BLOB/CLOB by executing the SQL statement, and returns all LOBs as a resource array. Be sure that the SQL retrieves only one column and its data type is BLOB or CLOB.

Remember to use cubrid_lob_close() to release the LOBs if you don't need it any more.

Parameter-Liste

conn_identifier

Connection identifier.

sql

SQL statement to be executed.

Rückgabewerte

Return an array of LOB resources, when process is successful.

FALSE, when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_lob_get() example

<?php
$conn = cubrid_connect ("localhost", 33000, "demodb", "dba");

cubrid_execute($conn,"DROP TABLE if exists doc");
cubrid_execute($conn,"CREATE TABLE doc (id INT, doc_content CLOB)");
cubrid_execute($conn,"INSERT INTO doc VALUES (5,'hello,cubrid')");

$lobs = cubrid_lob_get($conn, "SELECT doc_content FROM doc WHERE id=5");
echo "Doc size: ".cubrid_lob_size($lobs[0])." bytes";
cubrid_lob_export($conn, $lobs[0], "doc_5.txt");
cubrid_lob_close($lobs);
cubrid_disconnect($conn);
?>

Siehe auch

  • cubrid_lob_close() - Close BLOB/CLOB data
  • cubrid_lob_size() - Get BLOB/CLOB data size
  • cubrid_lob_export() - Export BLOB/CLOB data to file
  • cubrid_lob_send() - Read BLOB/CLOB data and send straight to browser

cubrid_lob_export
cubrid_lob_send
CUBRID Funktionen


Read BLOB/CLOB data and send straight to browser

cubrid_lob_get
cubrid_lob_size
CUBRID Funktionen
PHP Manual

cubrid_lob_send

(PECL CUBRID >= 8.3.1)

cubrid_lob_send — Read BLOB/CLOB data and send straight to browser

Beschreibung

bool cubrid_lob_send ( resource $conn_identifier , resource $lob_identifier )

cubrid_lob_send() reads BLOB/CLOB data and passes it straight through to the browser. To use this function, you must use cubrid_lob_get() first to get BLOB/CLOB info from CUBRID.

Parameter-Liste

conn_identifier

Connection identifier.

lob_identifier

LOB identifier.

Rückgabewerte

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_lob_send() example

<?php
$conn = cubrid_connect ("localhost", 33000, "demodb", "dba");

cubrid_execute($conn,"DROP TABLE if exists doc");
cubrid_execute($conn,"CREATE TABLE doc (id INT, doc_content CLOB)");
cubrid_execute($conn,"INSERT INTO doc VALUES (5,'hello,cubrid')");

$lobs = cubrid_lob_get($conn, "SELECT doc_content FROM doc WHERE id=5");

cubrid_lob_send($conn, $lobs[0]);
cubrid_lob_close($lobs);
cubrid_disconnect($conn);
?>

Siehe auch

  • cubrid_lob_get() - Get BLOB/CLOB data
  • cubrid_lob_close() - Close BLOB/CLOB data
  • cubrid_lob_size() - Get BLOB/CLOB data size
  • cubrid_lob_export() - Export BLOB/CLOB data to file

cubrid_lob_get
cubrid_lob_size
CUBRID Funktionen


Get BLOB/CLOB data size

cubrid_lob_send
cubrid_lob2_bind
CUBRID Funktionen
PHP Manual

cubrid_lob_size

(PECL CUBRID >= 8.3.1)

cubrid_lob_size — Get BLOB/CLOB data size

Beschreibung

string cubrid_lob_size ( resource $lob_identifier )

cubrid_lob_size() is used to get BLOB/CLOB data size.

Parameter-Liste

lob_identifier

LOB identifier.

Rückgabewerte

A string representing LOB data size, when process is successful.

FALSE, when process is unsuccessful.

Changelog

Version | Beschreibung
8.4.0 | Change return value type from int to string.

Beispiele

Beispiel #1 cubrid_lob_size() example

<?php
$lobs = cubrid_lob_get($con, "SELECT doc_content FROM doc WHERE doc_id=5");
echo "Doc size:".cubrid_lob_size($lobs[0]);
cubrid_lob_export($conn, $lobs[0], "doc_5.txt");
cubrid_lob_close($lobs);
?>

Siehe auch

  • cubrid_lob_get() - Get BLOB/CLOB data
  • cubrid_lob_close() - Close BLOB/CLOB data
  • cubrid_lob_export() - Export BLOB/CLOB data to file
  • cubrid_lob_send() - Read BLOB/CLOB data and send straight to browser

cubrid_lob_send
cubrid_lob2_bind
CUBRID Funktionen


Bind a lob object or a string as a lob object to a prepared statement as parameters.

cubrid_lob_size
cubrid_lob2_close
CUBRID Funktionen
PHP Manual

cubrid_lob2_bind

(PECL CUBRID >= 8.4.1)

cubrid_lob2_bind — Bind a lob object or a string as a lob object to a prepared statement as parameters.

Beschreibung

bool cubrid_lob2_bind ( resource $req_identifier , int $bind_index , mixed $bind_value [, string $bind_value_type ] )

The cubrid_lob2_bind() function is used to bind BLOB/CLOB datas to a corresponding question mark placeholder in the SQL statement that was passed to cubrid_prepare(). If bind_value_type is not given, string will be "BLOB" as the default. But if you use cubrid_lob2_new() before, bind_value_type will be consistent with type in cubrid_lob2_new() as the default.

Parameter-Liste

req_identifier

Request identifier as a result of cubrid_prepare().

bind_index

Location of binding parameters. It starts with 1.

bind_value

Actual value for binding.

bind_value_type

It must be "BLOB" or "CLOB" and it won't be case-sensitive. If it not be given, the default value is "BLOB".

Rückgabewerte

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_lob2_bind() example

<?php
// Table: test_lob (id INT, contents CLOB)

$conn = cubrid_connect("localhost", 33000, "demodb", "dba", "");

cubrid_execute($conn,"DROP TABLE if exists test_lob");
cubrid_execute($conn,"CREATE TABLE test_lob (id INT, contents CLOB)");

$req = cubrid_prepare($conn, "INSERT INTO test_lob VALUES (?, ?)");

cubrid_bind($req,1, 3);

$lob = cubrid_lob2_new($conn, 'CLOB');
cubrid_lob2_bind($req, 2, $lob);

cubrid_execute($req);

cubrid_bind($req, 1, 4);

cubrid_lob2_bind($req, 2, 'CUBRID LOB2 TEST', 'CLOB');

cubrid_execute($req);

cubrid_disconnect($conn);
?>

Siehe auch

  • cubrid_lob2_new() - Create a lob object.
  • cubrid_lob2_close() - Close LOB object.

cubrid_lob_size
cubrid_lob2_close
CUBRID Funktionen


Close LOB object.

cubrid_lob2_bind
cubrid_lob2_export
CUBRID Funktionen
PHP Manual

cubrid_lob2_close

(PECL CUBRID >= 8.4.1)

cubrid_lob2_close — Close LOB object.

Beschreibung

bool cubrid_lob2_close ( resource $lob_identifier )

The cubrid_lob2_close() function is used to close LOB object returned from cubrid_lob2_new() or got from the result set.

Parameter-Liste

lob_identifier

Lob identifier as a result of cubrid_lob2_new() or get from the result set.

Rückgabewerte

TRUE, on success.

FALSE, on failure.

Siehe auch

  • cubrid_lob2_new() - Create a lob object.

cubrid_lob2_bind
cubrid_lob2_export
CUBRID Funktionen


Export the lob object to a file.

cubrid_lob2_close
cubrid_lob2_import
CUBRID Funktionen
PHP Manual

cubrid_lob2_export

(PECL CUBRID >= 8.4.1)

cubrid_lob2_export — Export the lob object to a file.

Beschreibung

bool cubrid_lob2_export ( resource $lob_identifier , string $file_name )

The cubrid_lob2_export() function is used to save the contents of BLOB/CLOB data to a file. To use this function, you must use cubrid_lob2_new() or fetch a lob object from CUBRID database first. If the file already exists, the operation will fail. This function will not influence the cursor position of the lob object. It operates the entire lob object.

Parameter-Liste

lob_identifier

Lob identifier as a result of cubrid_lob2_new() or get from the result set.

filename

File name you want to store BLOB/CLOB data. It also supports the path of the file.

Rückgabewerte

TRUE if the process is successful and FALSE for failure.

Beispiele

Beispiel #1 cubrid_lob2_export() example

<?php
// Table: test_lob (id INT, contents CLOB)

$conn = cubrid_connect("localhost", 33000, "demodb", "dba", "");

cubrid_execute($conn,"DROP TABLE if exists doc");
cubrid_execute($conn,"CREATE TABLE doc (id INT, doc_content CLOB)");
cubrid_execute($conn,"INSERT INTO doc VALUES (5,'hello,cubrid')");

$req = cubrid_prepare($conn, "select * from doc");

cubrid_execute($req);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);

$row = cubrid_fetch($req, CUBRID_NUM | CUBRID_LOB);

cubrid_lob2_export($row[1], "doc_3.txt");

cubrid_lob2_close($row[1]);
cubrid_disconnect($conn);
?>

Siehe auch

  • cubrid_lob2_new() - Create a lob object.
  • cubrid_lob2_close() - Close LOB object.
  • cubrid_lob2_import() - Import BLOB/CLOB data from a file.
  • cubrid_lob2_bind() - Bind a lob object or a string as a lob object to a prepared statement as parameters.

cubrid_lob2_close
cubrid_lob2_import
CUBRID Funktionen


Import BLOB/CLOB data from a file.

cubrid_lob2_export
cubrid_lob2_new
CUBRID Funktionen
PHP Manual

cubrid_lob2_import

(PECL CUBRID >= 8.4.1)

cubrid_lob2_import — Import BLOB/CLOB data from a file.

Beschreibung

bool cubrid_lob2_import ( resource $lob_identifier , string $file_name )

The cubrid_lob2_import() function is used to save the contents of BLOB/CLOB data from a file. To use this function, you must use cubrid_lob2_new() or fetch a lob object from CUBRID database first. If the file already exists, the operation will fail. This function will not influence the cursor position of the lob object. It operates the entire lob object.

Parameter-Liste

lob_identifier

Lob identifier as a result of cubrid_lob2_new() or get from the result set.

filename

File name you want to import BLOB/CLOB data. It also supports the path of the file.

Rückgabewerte

TRUE if the process is successful and FALSE for failure.

Beispiele

Beispiel #1 cubrid_lob2_export() example

<?php

$conn = cubrid_connect("localhost", 33000, "demodb", "dba", "");

cubrid_execute($conn,"DROP TABLE if exists test_lob");
cubrid_execute($conn,"CREATE TABLE test_lob (id INT, contents CLOB)");

$req = cubrid_prepare($conn, "INSERT INTO test_lob VALUES (?, ?)");
cubrid_bind($req, 1, 1);

$lob = cubrid_lob2_new($conn, "clob");
cubrid_lob2_import($lob, "doc_1.txt");
cubrid_lob2_bind($req, 2, $lob, 'CLOB'); // or cubrid_lob2_bind($req, 2, $lob);

cubrid_execute($req);

cubrid_lob2_close($lob);
cubrid_disconnect($conn);
?>

Siehe auch

  • cubrid_lob2_new() - Create a lob object.
  • cubrid_lob2_close() - Close LOB object.
  • cubrid_lob2_export() - Export the lob object to a file.
  • cubrid_lob2_bind() - Bind a lob object or a string as a lob object to a prepared statement as parameters.

cubrid_lob2_export
cubrid_lob2_new
CUBRID Funktionen


Create a lob object.

cubrid_lob2_import
cubrid_lob2_read
CUBRID Funktionen
PHP Manual

cubrid_lob2_new

(PECL CUBRID >= 8.4.1)

cubrid_lob2_new — Create a lob object.

Beschreibung

resource cubrid_lob2_new ([ resource $conn_identifier [, string $type = "BLOB" ]] )

The cubrid_lob2_new() function is used to create a lob object (both BLOB and CLOB). This function should be used before you bind a lob object.

Parameter-Liste

conn_identifier

Connection identifier. If the connection identifier is not specified, the last connection opened by cubrid_connect() or cubrid_connect_with_url() is assumed.

type

It may be "BLOB" or "CLOB", it won't be case-sensitive. The default value is "BLOB".

Rückgabewerte

Lob identifier when it is successful.

FALSE on failure.

Siehe auch

  • cubrid_lob2_close() - Close LOB object.

cubrid_lob2_import
cubrid_lob2_read
CUBRID Funktionen


Read from BLOB/CLOB data.

cubrid_lob2_new
cubrid_lob2_seek64
CUBRID Funktionen
PHP Manual

cubrid_lob2_read

(PECL CUBRID >= 8.4.1)

cubrid_lob2_read — Read from BLOB/CLOB data.

Beschreibung

string cubrid_lob2_read ( resource $lob_identifier , int $len )

The cubrid_lob2_read() function reads len bytes from the LOB data and returns the bytes read.

Parameter-Liste

lob_identifier

Lob identifier as a result of cubrid_lob2_new() or get from the result set.

len

Length from buffer you want to read from the lob data.

Rückgabewerte

Returns the contents as a string.

FALSE when there is no more data.

NULL on failure.

Beispiele

Beispiel #1 cubrid_lob2_read() example 1

<?php
// test_lob (id INT, contents CLOB)

$conn = cubrid_connect("localhost", 33000, "demodb", "public", "");

$req = cubrid_execute($conn, "select * from test_lob");

$row = cubrid_fetch_row($req, CUBRID_LOB);

print "position now is " . cubrid_lob2_tell($row[1]) . "\n";

cubrid_lob2_seek($row[1], 10, CUBRID_CURSOR_FIRST);

print "\nposition after moving farword is " . cubrid_lob2_tell($row[1]) . "\n";

$data = cubrid_lob2_read($row[1], 12);

print "\nposition after reading is " . cubrid_lob2_tell($row[1]) . "\n";

print $data . "\n";

cubrid_lob2_seek($row[1], 5, CUBRID_CURSOR_CURRENT);

print "\nposition after moving again is " . cubrid_lob2_tell($row[1]) . "\n";

$data = cubrid_lob2_read($row[1], 20);
print $data . "\n";

cubrid_disconnect($conn);
?>

Beispiel #2 cubrid_lob2_read() example 2

<?php
// test_lob (id INT, contents CLOB)

$conn = cubrid_connect("localhost", 33000, "demodb", "dba", "");

$req = cubrid_execute($conn, "select * from test_lob");

$row = cubrid_fetch_row($req, CUBRID_LOB);

while (true) {
    if ($data = cubrid_lob2_read($row[1], 1024)) {
        print $data . "\n";
    }
    elseif ($data === false) {
        print "There is no more data\n";
        break;
    }
    else {
        print "There must some errors\n";
        break;
    }
}

cubrid_disconnect($conn);
?>

Siehe auch

  • cubrid_lob2_write() - Write to a lob object.
  • cubrid_lob2_seek() - Move the cursor of a lob object.
  • cubrid_lob2_seek64() - Move the cursor of a lob object.
  • cubrid_lob2_tell() - Tell the cursor position of the LOB object.
  • cubrid_lob2_tell64() - Tell the cursor position of the LOB object.
  • cubrid_lob2_size() - Get a lob object's size.
  • cubrid_lob2_size64() - Get a lob object's size.

cubrid_lob2_new
cubrid_lob2_seek64
CUBRID Funktionen


Move the cursor of a lob object.

cubrid_lob2_read
cubrid_lob2_seek
CUBRID Funktionen
PHP Manual

cubrid_lob2_seek64

(PECL CUBRID >= 8.4.1)

cubrid_lob2_seek64 — Move the cursor of a lob object.

Beschreibung

bool cubrid_lob2_seek64 ( resource $lob_identifier , string $offset [, int $origin = CUBRID_CURSOR_CURRENT ] )

The cubrid_lob2_seek64() function is used to move the cursor position of a lob object by the value set in the offset argument, to the direction set in the origin argument. If the offset you want to move is larger than an integer data can be stored, you can use this function.

To set the origin argument, you can use CUBRID_CURSOR_FIRST to set the cursor position moving forward offset units from the first beginning. In this case, offset must be a positive value.

If you use CUBRID_CURSOR_CURRENT for origin, you can move forward or backward. and offset can be positive or negative.

If you use CUBRID_CURSOR_LAST for origin, you can move backward offset units from the end of LOB object and offset only can be positive.

Hinweis:

If you use this function to move the cursor position of the lob object, you should pass offset as a string.

Parameter-Liste

lob_identifier

Lob identifier as a result of cubrid_lob2_new() or get from the result set.

offset

Number of units you want to move the cursor.

origin

This parameter can be the following values:

CUBRID_CURSOR_FIRST: move forward from the first beginning.

CUBRID_CURSOR_CURRENT: move forward or backward from the current position.

CUBRID_CURSOR_LAST: move backward at the end of LOB object.

Rückgabewerte

TRUE if the process is successful and FALSE for failure.

Beispiele

Beispiel #1 cubrid_lob2_seek64() example

<?php
// test_lob (id INT, contents CLOB)
// Data length of doc_1.txt should be greater than 20101029056306120215.

$conn = cubrid_connect("localhost", 33000, "demodb", "dba", "");

cubrid_execute($conn,"DROP TABLE if exists test_lob");
cubrid_execute($conn,"CREATE TABLE test_lob (id INT, contents CLOB)");

$req = cubrid_prepare($conn, "INSERT INTO test_lob VALUES (?, ?)");
cubrid_bind($req, 1, 1);

$lob = cubrid_lob2_new($conn, "clob");
cubrid_lob2_import($lob, "doc_1.txt");
cubrid_lob2_bind($req, 2, $lob, 'CLOB'); // or cubrid_lob2_bind($req, 2, $lob);

cubrid_execute($req);

cubrid_lob2_close($lob);

$req = cubrid_execute($conn, "select * from test_lob");
$row = cubrid_fetch_row($req, CUBRID_LOB);
$lob = $row[1];

cubrid_lob2_seek64($lob, "20101029056306120215", CUBRID_CURSOR_FIRST);
$data = cubrid_lob2_read($lob, 20);
echo $data."\n";
cubrid_disconnect($conn);
?>

Siehe auch

  • cubrid_lob2_read() - Read from BLOB/CLOB data.
  • cubrid_lob2_write() - Write to a lob object.
  • cubrid_lob2_seek() - Move the cursor of a lob object.
  • cubrid_lob2_tell() - Tell the cursor position of the LOB object.
  • cubrid_lob2_tell64() - Tell the cursor position of the LOB object.
  • cubrid_lob2_size() - Get a lob object's size.
  • cubrid_lob2_size64() - Get a lob object's size.

cubrid_lob2_read
cubrid_lob2_seek
CUBRID Funktionen


Move the cursor of a lob object.

cubrid_lob2_seek64
cubrid_lob2_size64
CUBRID Funktionen
PHP Manual

cubrid_lob2_seek

(PECL CUBRID >= 8.4.1)

cubrid_lob2_seek — Move the cursor of a lob object.

Beschreibung

bool cubrid_lob2_seek ( resource $lob_identifier , int $offset [, int $origin = CUBRID_CURSOR_CURRENT ] )

The cubrid_lob2_seek() function is used to move the cursor position of a lob object by the value set in the offset argument, to the direction set in the origin argument.

To set the origin argument, you can use CUBRID_CURSOR_FIRST to set the cursor position moving forward offset units from the first beginning. In this case, offset must be a positive value.

If you use CUBRID_CURSOR_CURRENT for origin, you can move forward or backward. and offset can be positive or negative.

If you use CUBRID_CURSOR_LAST for origin, you can move backward offset units from the end of LOB object and offset only can be positive.

Parameter-Liste

lob_identifier

Lob identifier as a result of cubrid_lob2_new() or get from the result set.

offset

Number of units you want to move the cursor.

origin

This parameter can be the following values:

CUBRID_CURSOR_FIRST: move forward from the first beginning.

CUBRID_CURSOR_CURRENT: move forward or backward from the current position.

CUBRID_CURSOR_LAST: move backward at the end of LOB object.

Rückgabewerte

TRUE if the process is successful and FALSE for failure.

Beispiele

Beispiel #1 cubrid_lob2_seek() example

<?php
// test_lob (id INT, contents CLOB)
$conn = cubrid_connect("localhost", 33000, "demodb", "dba", "");

cubrid_execute($conn,"DROP TABLE if exists test_lob");
cubrid_execute($conn,"CREATE TABLE test_lob (id INT, contents CLOB)");
$req = cubrid_prepare($conn, "INSERT INTO test_lob VALUES(2, ?)");

$lob = cubrid_lob2_new($conn, 'CLOB');
$len = cubrid_lob2_write($lob, "Hello world");

cubrid_lob2_seek($lob, 0, CUBRID_CURSOR_LAST);
cubrid_lob2_write($lob, "beautiful");

cubrid_lob2_seek($lob, 15, CUBRID_CURSOR_FIRST);
$data = cubrid_lob2_read($lob, 5);

echo $data."\n";

cubrid_lob2_bind($req, 1, $lob);
cubrid_execute($req);

cubrid_disconnect($conn);
?>

Siehe auch

  • cubrid_lob2_read() - Read from BLOB/CLOB data.
  • cubrid_lob2_write() - Write to a lob object.
  • cubrid_lob2_seek64() - Move the cursor of a lob object.
  • cubrid_lob2_tell() - Tell the cursor position of the LOB object.
  • cubrid_lob2_tell64() - Tell the cursor position of the LOB object.
  • cubrid_lob2_size() - Get a lob object's size.
  • cubrid_lob2_size64() - Get a lob object's size.

cubrid_lob2_seek64
cubrid_lob2_size64
CUBRID Funktionen


Get a lob object's size.

cubrid_lob2_seek
cubrid_lob2_size
CUBRID Funktionen
PHP Manual

cubrid_lob2_size64

(PECL CUBRID >= 8.4.1)

cubrid_lob2_size64 — Get a lob object's size.

Beschreibung

string cubrid_lob2_size64 ( resource $lob_identifier )

The cubrid_lob2_size64() function is used to get the size of a lob object. If the size of a lob object is larger than an integer data can be stored, you can use this function and it will return the size as a string.

Parameter-Liste

lob_identifier

Lob identifier as a result of cubrid_lob2_new() or get from the result set.

Rückgabewerte

It will return the size of the LOB object as a string when it processes successfully.

FALSE on failure.

Siehe auch

  • cubrid_lob2_read() - Read from BLOB/CLOB data.
  • cubrid_lob2_write() - Write to a lob object.
  • cubrid_lob2_seek() - Move the cursor of a lob object.
  • cubrid_lob2_seek64() - Move the cursor of a lob object.
  • cubrid_lob2_tell() - Tell the cursor position of the LOB object.
  • cubrid_lob2_tell64() - Tell the cursor position of the LOB object.
  • cubrid_lob2_size() - Get a lob object's size.

cubrid_lob2_seek
cubrid_lob2_size
CUBRID Funktionen


Get a lob object's size.

cubrid_lob2_size64
cubrid_lob2_tell64
CUBRID Funktionen
PHP Manual

cubrid_lob2_size

(PECL CUBRID >= 8.4.1)

cubrid_lob2_size — Get a lob object's size.

Beschreibung

int cubrid_lob2_size ( resource $lob_identifier )

The cubrid_lob2_size() function is used to get the size of a lob object.

Parameter-Liste

lob_identifier

Lob identifier as a result of cubrid_lob2_new() or get from the result set.

Rückgabewerte

It will return the size of the LOB object when it processes successfully.

FALSE on failure.

Siehe auch

  • cubrid_lob2_read() - Read from BLOB/CLOB data.
  • cubrid_lob2_write() - Write to a lob object.
  • cubrid_lob2_seek() - Move the cursor of a lob object.
  • cubrid_lob2_seek64() - Move the cursor of a lob object.
  • cubrid_lob2_tell() - Tell the cursor position of the LOB object.
  • cubrid_lob2_tell64() - Tell the cursor position of the LOB object.
  • cubrid_lob2_size64() - Get a lob object's size.

cubrid_lob2_size64
cubrid_lob2_tell64
CUBRID Funktionen


Tell the cursor position of the LOB object.

cubrid_lob2_size
cubrid_lob2_tell
CUBRID Funktionen
PHP Manual

cubrid_lob2_tell64

(PECL CUBRID >= 8.4.1)

cubrid_lob2_tell64 — Tell the cursor position of the LOB object.

Beschreibung

string cubrid_lob2_tell64 ( resource $lob_identifier )

The cubrid_lob2_tell64() function is used to tell the cursor position of the LOB object. If the size of a lob object is larger than an integer data can be stored, you can use this function and it will return the position information as a string.

Parameter-Liste

lob_identifier

Lob identifier as a result of cubrid_lob2_new() or get from the result set.

Rückgabewerte

It will return the cursor position on the LOB object as a string when it processes successfully.

FALSE on failure.

Siehe auch

  • cubrid_lob2_read() - Read from BLOB/CLOB data.
  • cubrid_lob2_write() - Write to a lob object.
  • cubrid_lob2_seek() - Move the cursor of a lob object.
  • cubrid_lob2_seek64() - Move the cursor of a lob object.
  • cubrid_lob2_tell() - Tell the cursor position of the LOB object.
  • cubrid_lob2_size() - Get a lob object's size.
  • cubrid_lob2_size64() - Get a lob object's size.

cubrid_lob2_size
cubrid_lob2_tell
CUBRID Funktionen


Tell the cursor position of the LOB object.

cubrid_lob2_tell64
cubrid_lob2_write
CUBRID Funktionen
PHP Manual

cubrid_lob2_tell

(PECL CUBRID >= 8.4.1)

cubrid_lob2_tell — Tell the cursor position of the LOB object.

Beschreibung

int cubrid_lob2_tell ( resource $lob_identifier )

The cubrid_lob2_tell() function is used to tell the cursor position of the LOB object.

Parameter-Liste

lob_identifier

Lob identifier as a result of cubrid_lob2_new() or get from the result set.

Rückgabewerte

It will return the cursor position on the LOB object when it processes successfully.

FALSE on failure.

Siehe auch

  • cubrid_lob2_read() - Read from BLOB/CLOB data.
  • cubrid_lob2_write() - Write to a lob object.
  • cubrid_lob2_seek() - Move the cursor of a lob object.
  • cubrid_lob2_seek64() - Move the cursor of a lob object.
  • cubrid_lob2_tell64() - Tell the cursor position of the LOB object.
  • cubrid_lob2_size() - Get a lob object's size.
  • cubrid_lob2_size64() - Get a lob object's size.

cubrid_lob2_tell64
cubrid_lob2_write
CUBRID Funktionen


Write to a lob object.

cubrid_lob2_tell
cubrid_lock_read
CUBRID Funktionen
PHP Manual

cubrid_lob2_write

(PECL CUBRID >= 8.4.1)

cubrid_lob2_write — Write to a lob object.

Beschreibung

bool cubrid_lob2_write ( resource $lob_identifier , string $buf )

The cubrid_lob2_write() function reads as much as data from buf and stores it to the LOB object. Note that this function can only append characters now.

Parameter-Liste

lob_identifier

Lob identifier as a result of cubrid_lob2_new() or get from the result set.

buf

Data that need to be written to the lob object.

Rückgabewerte

TRUE if the process is successful and FALSE for failure.

Beispiele

Beispiel #1 cubrid_lob2_write() example 1

<?php
// test_lob (id INT, contents CLOB)

$conn = cubrid_connect("localhost", 33000, "demodb", "dba", "");

cubrid_execute($conn,"DROP TABLE if exists test_lob");
cubrid_execute($conn,"CREATE TABLE test_lob (id INT, contents CLOB)");

$req = cubrid_prepare($conn, "INSERT INTO test_lob VALUES(2, ?)");

$lob = cubrid_lob2_new($conn, 'CLOB');
$len = cubrid_lob2_write($lob, "Hello world");

cubrid_lob2_bind($req, 1, $lob);
cubrid_execute($req);

cubrid_disconnect($conn);
?>

Beispiel #2 cubrid_lob2_write() example 2

<?php
// test_lob (id INT, contents CLOB)

$conn = cubrid_connect("localhost", 33000, "demodb", "dba", "");

cubrid_execute($conn,"DROP TABLE if exists test_lob");
cubrid_execute($conn,"CREATE TABLE test_lob (id INT, contents CLOB)");

$req = cubrid_prepare($conn, "INSERT INTO test_lob VALUES(1, ?)");
$lob1 = cubrid_lob2_new($conn, 'CLOB');
$len = cubrid_lob2_write($lob1, "cubrid php driver");
cubrid_lob2_bind($req, 1, $lob1);
cubrid_execute($req);

$req = cubrid_execute($conn, "select * from test_lob");

$row = cubrid_fetch_row($req, CUBRID_LOB);
$lob2 = $row[1];
cubrid_lob2_seek($lob2, 0, CUBRID_CURSOR_LAST);

$pos = cubrid_lob2_tell($lob2);
print "pos before write: $pos\n";

cubrid_lob2_write($lob2, "Hello world");

$pos = cubrid_lob2_tell($lob2);
print "pos after write: $pos\n";

cubrid_disconnect($conn);
?>

Siehe auch

  • cubrid_lob2_read() - Read from BLOB/CLOB data.
  • cubrid_lob2_seek() - Move the cursor of a lob object.
  • cubrid_lob2_seek64() - Move the cursor of a lob object.
  • cubrid_lob2_tell() - Tell the cursor position of the LOB object.
  • cubrid_lob2_tell64() - Tell the cursor position of the LOB object.
  • cubrid_lob2_size() - Get a lob object's size.
  • cubrid_lob2_size64() - Get a lob object's size.

cubrid_lob2_tell
cubrid_lock_read
CUBRID Funktionen


Set a read lock on the given OID

cubrid_lob2_write
cubrid_lock_write
CUBRID Funktionen
PHP Manual

cubrid_lock_read

(PECL CUBRID >= 8.3.0)

cubrid_lock_read — Set a read lock on the given OID

Beschreibung

bool cubrid_lock_read ( resource $conn_identifier , string $oid )

The cubrid_lock_read() function is used to put read lock on the instance pointed by given oid.

Parameter-Liste

conn_identifier

Connection identifier.

oid

OID of the instance that you want to put read lock on.

Rückgabewerte

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_lock_read() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(2, {4,5,7}, {44,55,66,666}, 'b')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

cubrid_lock_read($conn, $oid);

$attr = cubrid_get($conn, $oid, "b");
var_dump($attr);

$attr = cubrid_get($conn, $oid);
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(9) "{1, 2, 3}"
array(4) {
  ["a"]=>
  string(1) "1"
  ["b"]=>
  array(3) {
    [0]=>
    string(1) "1"
    [1]=>
    string(1) "2"
    [2]=>
    string(1) "3"
  }
  ["c"]=>
  array(4) {
    [0]=>
    string(2) "11"
    [1]=>
    string(2) "22"
    [2]=>
    string(2) "33"
    [3]=>
    string(3) "333"
  }
  ["d"]=>
  string(10) "a         "
}

Siehe auch

  • cubrid_lock_write() - Set a write lock on the given OID

cubrid_lob2_write
cubrid_lock_write
CUBRID Funktionen


Set a write lock on the given OID

cubrid_lock_read
cubrid_move_cursor
CUBRID Funktionen
PHP Manual

cubrid_lock_write

(PECL CUBRID >= 8.3.0)

cubrid_lock_write — Set a write lock on the given OID

Beschreibung

bool cubrid_lock_write ( resource $conn_identifier , string $oid )

The cubrid_lock_write() function is used to put write lock on the instance pointed by the given oid.

Parameter-Liste

conn_identifier

Connection identifier.

oid

OID of the instance that you want to put write lock on.

Rückgabewerte

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_lock_write() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(2, {4,5,7}, {44,55,66,666}, 'b')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

cubrid_lock_write($conn, $oid);

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_put($conn, $oid, "b", array(2, 4, 8));

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(3) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "3"
}
array(3) {
  [0]=>
  string(1) "2"
  [1]=>
  string(1) "4"
  [2]=>
  string(1) "8"
}

Siehe auch

  • cubrid_lock_read() - Set a read lock on the given OID

cubrid_lock_read
cubrid_move_cursor
CUBRID Funktionen


Move the cursor in the result

cubrid_lock_write
cubrid_next_result
CUBRID Funktionen
PHP Manual

cubrid_move_cursor

(PECL CUBRID >= 8.3.0)

cubrid_move_cursor — Move the cursor in the result

Beschreibung

int cubrid_move_cursor ( resource $req_identifier , int $offset [, int $origin = CUBRID_CURSOR_CURRENT ] )

The cubrid_move_cursor() function is used to move the current cursor location of req_identifier by the value set in the offset argument, to the direction set in the origin argument. To set the origin argument, you can use CUBRID_CURSOR_FIRST for the first part of the result, CUBRID_CURSOR_CURRENT for the current location of the result, or CUBRID_CURSOR_LAST for the last part of the result. If origin argument is not explicitly designated, then the function uses CUBRID_CURSOR_CURRENT as its default value.

If the value of cursor movement range goes over the valid limit, then the cursor moves to the next location after the valid range for the cursor. For example, if you move 20 units in the result with the size of 10, then the cursor will move to 11th place and return CUBRID_NO_MORE_DATA.

Parameter-Liste

req_identifier

Request identifier.

offset

Number of units you want to move the cursor.

origin

Location where you want to move the cursor from CUBRID_CURSOR_FIRST, CUBRID_CURSOR_CURRENT, CUBRID_CURSOR_LAST.

Rückgabewerte

TRUE, when process is successful.

FALSE, when process is unsucceful.

Beispiele

Beispiel #1 cubrid_move_cursor() example

<?php
$conn = cubrid_connect("127.0.0.1", 33000, "demodb", "dba");

$req = cubrid_execute($conn, "SELECT * FROM code");
cubrid_move_cursor($req, 1, CUBRID_CURSOR_LAST);

$result = cubrid_fetch_row($req);
var_dump($result);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$result = cubrid_fetch_row($req);
var_dump($result);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_CURRENT);
$result = cubrid_fetch_row($req);
var_dump($result);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  [0]=>
  string(1) "G"
  [1]=>
  string(4) "Gold"
}
array(2) {
  [0]=>
  string(1) "X"
  [1]=>
  string(5) "Mixed"
}
array(2) {
  [0]=>
  string(1) "M"
  [1]=>
  string(3) "Man"
}

Siehe auch

  • cubrid_execute() - Execute a prepared SQL statement

cubrid_lock_write
cubrid_next_result
CUBRID Funktionen


Get result of next query when executing multiple SQL statements

cubrid_move_cursor
cubrid_num_cols
CUBRID Funktionen
PHP Manual

cubrid_next_result

(PECL CUBRID >= 8.4.0)

cubrid_next_result — Get result of next query when executing multiple SQL statements

Beschreibung

bool cubrid_next_result ( resource $result )

The cubrid_next_result() function is used to get results of next query if multiple SQL statements are executed and CUBRID_EXEC_QUERY_ALL flag is set upon cubrid_execute().

Parameter-Liste

result

result comes from a call to cubrid_execute()

Rückgabewerte

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_next_result() example

<?php
$conn = cubrid_connect("127.0.0.1", 33000, "demodb", "dba");

$sql_stmt = "SELECT * FROM code; SELECT * FROM history WHERE host_year=2004 AND event_code=20281";
$res = cubrid_execute($conn, $sql_stmt, CUBRID_EXEC_QUERY_ALL);

get_result_info($res);
cubrid_next_result($res);
get_result_info($res);

function get_result_info($req)
{
    printf("\n------------ get_result_info --------------------\n");

    $row_num = cubrid_num_rows($req);
    $col_num = cubrid_num_cols($req);

    $column_name_list = cubrid_column_names($req);
    $column_type_list = cubrid_column_types($req);

    $column_last_name = cubrid_field_name($req, $col_num - 1);
    $column_last_table = cubrid_field_table($req, $col_num - 1);

    $column_last_type = cubrid_field_type($req, $col_num - 1);
    $column_last_len = cubrid_field_len($req, $col_num - 1);

    $column_1_flags = cubrid_field_flags($req, 1);

    printf("%-30s %d\n", "Row count:", $row_num);
    printf("%-30s %d\n", "Column count:", $col_num);
    printf("\n");

    printf("%-30s %-30s %-15s\n", "Column Names", "Column Types", "Column Len");
    printf("------------------------------------------------------------------------------\n");

    $size = count($column_name_list);
    for($i = 0; $i < $size; $i++) {
        $column_len = cubrid_field_len($req, $i);
        printf("%-30s %-30s %-15s\n", $column_name_list[$i], $column_type_list[$i], $column_len);
    }
    printf("\n\n");

    printf("%-30s %s\n", "Last Column Name:", $column_last_name);
    printf("%-30s %s\n", "Last Column Table:", $column_last_table);
    printf("%-30s %s\n", "Last Column Type:", $column_last_type);
    printf("%-30s %d\n", "Last Column Len:", $column_last_len);
    printf("%-30s %s\n", "Second Column Flags:", $column_1_flags);

    printf("\n\n");
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

------------ get_result_info --------------------
Row count:                     6
Column count:                  2

Column Names                   Column Types                   Column Len
------------------------------------------------------------------------------
s_name                         char                           1
f_name                         varchar                        6

Last Column Name:              f_name
Last Column Table:             code
Last Column Type:              varchar
Last Column Len:               6
Second Column Flags:

------------ get_result_info --------------------
Row count:                     4
Column count:                  5

Column Names                   Column Types                   Column Len
------------------------------------------------------------------------------
event_code                     integer                        11
athlete                        varchar                        40
host_year                      integer                        11
score                          varchar                        10
unit                           varchar                        5

Last Column Name:              unit
Last Column Table:             history
Last Column Type:              varchar
Last Column Len:               5
Second Column Flags:           not_null primary_key unique_key

Siehe auch

  • cubrid_execute() - Execute a prepared SQL statement

cubrid_move_cursor
cubrid_num_cols
CUBRID Funktionen


Return the number of columns in the result set

cubrid_next_result
cubrid_num_rows
CUBRID Funktionen
PHP Manual

cubrid_num_cols

(PECL CUBRID >= 8.3.0)

cubrid_num_cols — Return the number of columns in the result set

Beschreibung

int cubrid_num_cols ( resource $result )

The cubrid_num_cols() function is used to get the number of columns from the query result. It can only be used when the query executed is a select statement.

Parameter-Liste

result

Result.

Rückgabewerte

Number of columns, when process is successful.

FALSE, if SQL statement is not SELECT.

Beispiele

Beispiel #1 cubrid_num_cols() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

$req = cubrid_execute($conn, "SELECT * FROM code");

$row_num = cubrid_num_rows($req);
$col_num = cubrid_num_cols($req);

printf("Row Num: %d\nColumn Num: %d\n", $row_num, $col_num);

cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Row Num: 6
Column Num: 2

Siehe auch

  • cubrid_execute() - Execute a prepared SQL statement
  • cubrid_num_rows() - Get the number of rows in the result set

cubrid_next_result
cubrid_num_rows
CUBRID Funktionen


Get the number of rows in the result set

cubrid_num_cols
cubrid_pconnect_with_url
CUBRID Funktionen
PHP Manual

cubrid_num_rows

(PECL CUBRID >= 8.3.0)

cubrid_num_rows — Get the number of rows in the result set

Beschreibung

int cubrid_num_rows ( resource $result )

The cubrid_num_rows() function is used to get the number of rows from the query result. You can use it only when the query executed is a select statement. When you want to know such value for INSERT, UPDATE, or DELETE query, you have to use the cubrid_affected_rows() function.

Note: The cubrid_num_rows() function can only be used for synchronous query; it returns 0 when it is used for asynchronous query.

Parameter-Liste

result

result comes from a call to cubrid_execute(), cubrid_query() and cubrid_prepare()

Rückgabewerte

Number of rows, when process is successful.

0 when the query was done in async mode.

-1, if SQL statement is not SELECT.

FALSE when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_num_rows() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

$req = cubrid_execute($conn, "SELECT * FROM code");

$row_num = cubrid_num_rows($req);
$col_num = cubrid_num_cols($req);

printf("Row Num: %d\nColumn Num: %d\n", $row_num, $col_num);

cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Row Num: 6
Column Num: 2

Siehe auch

  • cubrid_execute() - Execute a prepared SQL statement
  • cubrid_num_cols() - Return the number of columns in the result set
  • cubrid_affected_rows() - Return the number of rows affected by the last SQL statement

cubrid_num_cols
cubrid_pconnect_with_url
CUBRID Funktionen


Open a persistent connection to CUBRID server

cubrid_num_rows
cubrid_pconnect
CUBRID Funktionen
PHP Manual

cubrid_pconnect_with_url

(PECL CUBRID >= 8.3.1)

cubrid_pconnect_with_url — Open a persistent connection to CUBRID server

Beschreibung

resource cubrid_pconnect_with_url ( string $conn_url [, string $userid [, string $passwd ]] )

Establishes a persistent connection to a CUBRID server.

cubrid_pconnect_with_url() acts very much like cubrid_connect_with_url() with two major differences.

First, when connecting, the function would first try to find a (persistent) link that's already open with the same host, port, dbname and userid. If one is found, an identifier for it will be returned instead of opening a new connection.

Second, the connection to the SQL server will not be closed when the execution of the script ends. Instead, the link will remain open for future use (cubrid_close() or cubrid_disconnect() will not close links established by cubrid_pconnect_with_url()).

This type of link is therefore called 'persistent'.

<url> ::= CUBRID:<host>:<db_name>:<db_user>:<db_password>:[?<properties>]

<properties> ::= <property> [&<property>]

<properties> ::= alhosts=<alternative_hosts>[ &rctime=<time>]

<properties> ::= login_timeout=<milli_sec>

<properties> ::= query_timeout=<milli_sec>

<properties> ::= disconnect_on_query_timeout=true|false

<alternative_hosts> ::= <standby_broker1_host>:<port> [,<standby_broker2_host>:<port>]

<host> := HOSTNAME | IP_ADDR

<time> := SECOND

<milli_sec> := MILLI SECOND

  • host : A host name or IP address of the master database
  • db_name : A name of the database
  • db_user : A name of the database user
  • db_password : A database user password
  • alhosts : Specifies the broker information of the standby server, which is used for failover when it is impossible to connect to the active server. You can specify multiple brokers for failover, and the connection to the brokers is attempted in the order listed in alhosts
  • rctime : An interval between the attempts to connect to the active broker in which failure occurred. After a failure occurs, the system connects to the broker specified by althosts (failover), terminates the transaction, and then attempts to connect to the active broker of the master database at every rctime. The default value is 600 seconds.
  • login_timeout : Timeout value (unit: msec.) for database login. The default value is 0, which means infinite postponement.
  • query_timeout : Timeout value (unit: msec.) for query request. Upon timeout, a message to cancel requesting a query transferred to server is sent. The return value can depend on the disconnect_on_query_timeout configuration; even though the message to cancel a request is sent to server, that request may succeed.
  • disconnect_on_query_timeout : Configures a value whether to immediately return an error of function being executed upon timeout. The default value is false.

Hinweis:

? and : that are used as identifiers in PHP connection URL can't be included in the password. The following is an example of a password that is invalid to use as connection URL because it contains "?:".

$url = "CUBRID:localhost:33000:tdb:dba:12?:?login_timeout=100";

Passwords that contain ? or : may be passed as a separate parameter.

$url = "CUBRID:localhost:33000:tbd:::?login_timeout=100";

$conn = cubrid_pconnect_with_url ($url, "dba", "12?");

If user or password is empty,you can't delete ":",the following is an example.

$url = "CUBRID:localhost:33000:demodb:::";

Parameter-Liste

conn_url

A character string that contains server connection information.

userid

User name for the database.

passwd

User password.

Rückgabewerte

Connection identifier, when process is successful.

FALSE, when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_pconnect_with_url() url without properties example

<?php
$conn_url = "CUBRID:127.0.0.1:33000:demodb:dba::"
$con = cubrid_pconnect_with_url ($conn_url);

if ($con) {
   echo "connected successfully";
   cubrid_execute($con, "create table person(id int,name char(16))");
   $req =cubrid_execute($con, "insert into person values(1,'James')");

   if ($req) {
      cubrid_close_request ($req);
      cubrid_commit ($con);
   } else {
      cubrid_rollback ($con);
   }
   cubrid_disconnect ($con);
}
?>

Beispiel #2 cubrid_pconnect_with_url() url with properties example

<?php
$conn_url = "CUBRID:127.0.0.1:33000:demodb:dba::?althost=10.34.63.132:33088&rctime=100"
$con = cubrid_pconnect_with_url ($conn_url);

if ($con) {
   echo "connected successfully";
   $req =cubrid_execute($con, "insert into person values(1,'James')");

   if ($req) {
      cubrid_close_request ($req);
      cubrid_commit ($con);
   } else {
      cubrid_rollback ($con);
   }
   cubrid_disconnect ($con);
}
?>

Siehe auch

  • cubrid_connect() - Open a connection to a CUBRID Server
  • cubrid_pconnect() - Open a persistent connection to a CUBRID server
  • cubrid_pconnect_with_url()
  • cubrid_disconnect() - Close a database connection
  • cubrid_close() - Close CUBRID connection

cubrid_num_rows
cubrid_pconnect
CUBRID Funktionen


Open a persistent connection to a CUBRID server

cubrid_pconnect_with_url
cubrid_prepare
CUBRID Funktionen
PHP Manual

cubrid_pconnect

(PECL CUBRID >= 8.3.1)

cubrid_pconnect — Open a persistent connection to a CUBRID server

Beschreibung

resource cubrid_pconnect ( string $host , int $port , string $dbname [, string $userid [, string $passwd ]] )

Establishes a persistent connection to a CUBRID server.

cubrid_pconnect() acts very much like cubrid_connect() with two major differences.

First, when connecting, the function would first try to find a (persistent) link that's already open with the same host, port, dbname and userid. If one is found, an identifier for it will be returned instead of opening a new connection.

Second, the connection to the SQL server will not be closed when the execution of the script ends. Instead, the link will remain open for future use (cubrid_close() or cubrid_disconnect() will not close links established by cubrid_pconnect()).

This type of link is therefore called 'persistent'.

Parameter-Liste

host

Host name or IP address of CUBRID CAS server.

port

Port number of CUBRID CAS server (BROKER_PORT configured in $CUBRID/conf/cubrid_broker.conf).

dbname

Name of database.

userid

User name for the database.

passwd

User password.

Rückgabewerte

Connection identifier, when process is successful.

FALSE, when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_connect() example

<?php
printf("%-30s %s\n", "CUBRID PHP Version:", cubrid_version());

printf("\n");

$conn = cubrid_pconnect("localhost", 33000, "demodb", "dba");

if (!$conn) {
    die('Connect Error ('. cubrid_error_code() .')' . cubrid_error_msg());
}

$db_params = cubrid_get_db_parameter($conn);

while (list($param_name, $param_value) = each($db_params)) {
    printf("%-30s %s\n", $param_name, $param_value);
}

printf("\n");

$server_info = cubrid_get_server_info($conn);
$client_info = cubrid_get_client_info();

printf("%-30s %s\n", "Server Info:", $server_info);
printf("%-30s %s\n", "Client Info:", $client_info);

printf("\n");

$charset = cubrid_get_charset($conn);

printf("%-30s %s\n", "CUBRID Charset:", $charset);

cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

CUBRID PHP Version:            9.1.0.0001

PARAM_ISOLATION_LEVEL          3
LOCK_TIMEOUT                   -1
MAX_STRING_LENGTH              1073741823
PARAM_AUTO_COMMIT              1

Server Info:                   9.1.0.0212
Client Info:                   9.1.0

CUBRID Charset:                iso8859-1

Siehe auch

  • cubrid_connect() - Open a connection to a CUBRID Server
  • cubrid_connect_with_url() - Establish the environment for connecting to CUBRID server
  • cubrid_pconnect_with_url() - Open a persistent connection to CUBRID server
  • cubrid_disconnect() - Close a database connection
  • cubrid_close() - Close CUBRID connection

cubrid_pconnect_with_url
cubrid_prepare
CUBRID Funktionen


Prepare a SQL statement for execution

cubrid_pconnect
cubrid_put
CUBRID Funktionen
PHP Manual

cubrid_prepare

(PECL CUBRID >= 8.3.0)

cubrid_prepare — Prepare a SQL statement for execution

Beschreibung

resource cubrid_prepare ( resource $conn_identifier , string $prepare_stmt [, int $option = 0 ] )

The cubrid_prepare() function is a sort of API which represents SQL statements compiled previously to a given connection handle. This pre-compiled SQL statement will be included in the cubrid_prepare().

Accordingly, you can use this statement effectively to execute several times repeatedly or to process long data. Only a single statement can be used and a parameter may put a question mark (?) to appropriate area in the SQL statement. Add a parameter when you bind a value in the VALUES clause of INSERT statement or in the WHERE clause. Note that it is allowed to bind a value to a MARK(?) by using the cubrid_bind() function only.

Parameter-Liste

conn_identifier

Connection identifier.

prepare_stmt

Prepare query.

option

OID return option CUBRID_INCLUDE_OID.

Rückgabewerte

Request identifier, if process is successful;

FALSE, if process is unsuccessful.

Beispiele

Beispiel #1 cubrid_prepare() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$sql = <<<EOD
SELECT g.event_code, e.name
FROM game g
JOIN event e ON g.event_code=e.code
WHERE host_year = ? AND event_code NOT IN (SELECT event_code FROM game WHERE host_year=?) GROUP BY event_code;
EOD;

$req = cubrid_prepare($conn, $sql);

cubrid_bind($req, 1, 2004);
cubrid_bind($req, 2, 2000);
cubrid_execute($req);

$row_num = cubrid_num_rows($req);
printf("There are %d event that exits in 2004 olympic but not in 2000. For example:\n\n", $row_num);

printf("%-15s %s\n", "Event_code", "Event_name");
printf("----------------------------\n");

$row = cubrid_fetch_assoc($req);
printf("%-15d %s\n", $row["event_code"], $row["name"]);
$row = cubrid_fetch_assoc($req);
printf("%-15d %s\n", $row["event_code"], $row["name"]);

cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

There are 27 event that exits in 2004 olympic but not in 2000. For example:

Event_code      Event_name
----------------------------
20063           +91kg
20070           64kg

Siehe auch

  • cubrid_execute() - Execute a prepared SQL statement
  • cubrid_bind() - Bind variables to a prepared statement as parameters

cubrid_pconnect
cubrid_put
CUBRID Funktionen


Update a column using OID

cubrid_prepare
cubrid_rollback
CUBRID Funktionen
PHP Manual

cubrid_put

(PECL CUBRID >= 8.3.0)

cubrid_put — Update a column using OID

Beschreibung

int cubrid_put ( resource $conn_identifier , string $oid [, string $attr ], mixed $value )

The cubrid_put() function is used to update an attribute of the instance of the given oid.

You can update single attribute by using string data type to set attr. In such case, you can use integer, floating point or string type data for the value argument. To update multiple number of attributes, you can disregard the attr argument, and set value argument with associative array data type.

Parameter-Liste

conn_identifier

Connection identifier.

oid

OID of the instance that you want to update.

attr

Name of the attribute that you want to update.

value

New value that you want to assign to the attribute.

Rückgabewerte

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_put() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(2, {4,5,7}, {44,55,66,666}, 'b')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_put($conn, $oid, "b", array(2, 4, 8));

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(3) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "3"
}
array(3) {
  [0]=>
  string(1) "2"
  [1]=>
  string(1) "4"
  [2]=>
  string(1) "8"
}

Siehe auch

  • cubrid_get() - Get a column using OID
  • cubrid_set_add() - Insert a single element to set type column using OID
  • cubrid_set_drop() - Delete an element from set type column using OID
  • cubrid_seq_insert() - Insert an element to a sequence type column using OID
  • cubrid_seq_drop() - Delete an element from sequence type column using OID
  • cubrid_seq_put() - Update the element value of sequence type column using OID

cubrid_prepare
cubrid_rollback
CUBRID Funktionen


Roll back a transaction

cubrid_put
cubrid_schema
CUBRID Funktionen
PHP Manual

cubrid_rollback

(PECL CUBRID >= 8.3.0)

cubrid_rollback — Roll back a transaction

Beschreibung

bool cubrid_rollback ( resource $conn_identifier )

The cubrid_rollback() function executes rollback on the transaction pointed by conn_identifier, currently in progress.

Connection to server is closed after calling cubrid_rollback(). Connection handle, however, is still valid.

Parameter-Liste

conn_identifier

Connection identifier.

Rückgabewerte

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_rollback() example

<?php
$conn = cubrid_connect("127.0.0.1", 33000, "demodb", "dba");
cubrid_set_autocommit($conn,false);

@cubrid_execute($conn, "DROP TABLE publishers");

$sql = <<<EOD
CREATE TABLE publishers(
pub_id CHAR(3),
pub_name VARCHAR(20),
city VARCHAR(15),
state CHAR(2),
country VARCHAR(15)
)
EOD;

if (!cubrid_execute($conn, $sql)) {
    printf("Error facility: %d\nError code: %d\nError msg: %s\n", cubrid_error_code_facility(), cubrid_error_code(), cubrid_error_msg());

    cubrid_disconnect($conn);
    exit;
}

$req = cubrid_prepare($conn, "INSERT INTO publishers VALUES(?, ?, ?, ?, ?)");

$id_list = array("P01", "P02", "P03", "P04");
$name_list = array("Abatis Publishers", "Core Dump Books", "Schadenfreude Press", "Tenterhooks Press");
$city_list = array("New York", "San Francisco", "Hamburg", "Berkeley");
$state_list = array("NY", "CA", NULL, "CA");
$country_list = array("USA", "USA", "Germany", "USA");

for ($i = 0, $size = count($id_list); $i < $size; $i++) {
    cubrid_bind($req, 1, $id_list[$i]);
    cubrid_bind($req, 2, $name_list[$i]);
    cubrid_bind($req, 3, $city_list[$i]);
    cubrid_bind($req, 4, $state_list[$i]);
    cubrid_bind($req, 5, $country_list[$i]);

    if (!($ret = cubrid_execute($req))) {
        break;
    }
}

if (!$ret) {
    cubrid_rollback($conn);
} else {
    cubrid_commit($conn);

    $req = cubrid_execute($conn, "SELECT * FROM publishers");
    while ($result = cubrid_fetch_assoc($req)) {
        printf("%-3s %-20s %-15s %-3s %-15s\n",
            $result["pub_id"], $result["pub_name"], $result["city"], $result["state"], $result["country"]);
    }
}

cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

P01 Abatis Publishers    New York        NY  USA
P02 Core Dump Books      San Francisco   CA  USA
P03 Schadenfreude Press  Hamburg             Germany
P04 Tenterhooks Press    Berkeley        CA  USA

Siehe auch

  • cubrid_commit() - Commit a transaction
  • cubrid_disconnect() - Close a database connection

cubrid_put
cubrid_schema
CUBRID Funktionen


Get the requested schema information

cubrid_rollback
cubrid_seq_drop
CUBRID Funktionen
PHP Manual

cubrid_schema

(PECL CUBRID >= 8.3.0)

cubrid_schema — Get the requested schema information

Beschreibung

array cubrid_schema ( resource $conn_identifier , int $schema_type [, string $class_name [, string $attr_name ]] )

The cubrid_schema() function is used to get the requested schema information from database. You have to designate class_name, if you want to get information on certain class, attr_name, if you want to get information on certain attribute (can be used only with CUBRID_ SCH_ATTR_PRIVILEGE).

The result of the cubrid_schema function is returned as a two-dimensional array (column (associative array) * row (numeric array)). The following tables shows types of schema and the column structure of the result array to be returned based on the schema type.

Result Composition of Each Type
Schema | Column Number | Column Name | Value
CUBRID_SCH_CLASS | 1 | NAME |
 | 2 | TYPE | 0:system class 1:vclass 2:class
CUBRID_SCH_VCLASS | 1 | NAME |
 | 2 | TYPE | 1:vclass
CUBRID_SCH_QUERY_SPEC | 1 | QUERY_SPEC |
CUBRID_SCH_ATTRIBUTE / CUBRID_SCH_CLASS_ATTRIBUTE | 1 | ATTR_NAME |
 | 2 | DOMAIN |
 | 3 | SCALE |
 | 4 | PRECISION |
 | 5 | INDEXED | 1:indexed
 | 6 | NOT NULL | 1:not null
 | 7 | SHARED | 1:shared
 | 8 | UNIQUE | 1:unique
 | 9 | DEFAULT |
 | 10 | ATTR_ORDER | base:1
 | 11 | CLASS_NAME |
 | 12 | SOURCE_CLASS |
 | 13 | IS_KEY | 1:key
CUBRID_SCH_METHOD / CUBRID_SCH_CLASS_METHOD | 1 | NAME |
 | 2 | RET_DOMAIN |
 | 3 | ARG_DOMAIN |
CUBRID_SCH_METHOD_FILE | 1 | METHOD_FILE |
CUBRID_SCH_SUPERCLASS / CUBRID_SCH_DIRECT_SUPER_CLASS / CUBRID_SCH_SUBCLASS | 1 | CLASS_NAME |
 | 2 | TYPE | 0:system class 1:vclass 2:class
CUBRID_SCH_CONSTRAINT | 1 | TYPE | 0:unique 1:index 2:reverse unique 3:reverse index
 | 2 | NAME |
 | 3 | ATTR_NAME |
 | 4 | NUM_PAGES |
 | 5 | NUM_KEYS |
 | 6 | PRIMARY_KEY | 1:primary key
 | 7 | KEY_ORDER | base:1
CUBRID_SCH_TRIGGER | 1 | NAME |
 | 2 | STATUS |
 | 3 | EVENT |
 | 4 | TARGET_CLASS |
 | 5 | TARGET_ATTR |
 | 6 | ACTION_TIME |
 | 7 | ACTION |
 | 8 | PRIORITY |
 | 9 | CONDITION_TIME |
 | 10 | CONDITION |
CUBRID_SCH_CLASS_PRIVILEGE / CUBRID_SCH_ATTR_PRIVILEGE | 1 | CLASS_NAME / ATTR_NAME |
 | 2 | PRIVILEGE |
 | 3 | GRANTABLE |
CUBRID_SCH_PRIMARY_KEY | 1 | CLASS_NAME |
 | 2 | ATTR_NAME |
 | 3 | KEY_SEQ | base:1
 | 4 | KEY_NAME |
CUBRID_SCH_IMPORTED_KEYS / CUBRID_SCH_EXPORTED_KEYS / CUBRID_SCH_CROSS_REFERENCE | 1 | PKTABLE_NAME |
 | 2 | PKCOLUMN_NAME |
 | 3 | FKTABLE_NAME | base:1
 | 4 | FKCOLUMN_NAME |
 | 5 | KEY_SEQ | base:1
 | 6 | UPDATE_ACTION | 0:cascade 1:restrict 2:no action 3:set null
 | 7 | DELETE_ACTION | 0:cascade 1:restrict 2:no action 3:set null
 | 8 | FK_NAME |
 | 9 | PK_NAME |

Parameter-Liste

conn_identifier

Connection identifier.

schema_type

Schema data that you want to know.

class_name

Class you want to know the schema of.

attr_name

Attribute you want to know the schema of.

Rückgabewerte

Array containing the schema information, when process is successful;

FALSE, when process is unsuccessful

Changelog

Version | Beschreibung
8.3.1 | Change return value: when process is unsuccessful, return false, not -1.

Beispiele

Beispiel #1 cubrid_schema() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

printf("\n--- Primary Key ---\n");
$pk = cubrid_schema($conn, CUBRID_SCH_PRIMARY_KEY, "game");
var_dump($pk);

printf("\n--- Foreign Keys ---\n");
$fk = cubrid_schema($conn, CUBRID_SCH_IMPORTED_KEYS, "game");
var_dump($fk);

printf("\n--- Column Attribute ---\n");
$attr = cubrid_schema($conn, CUBRID_SCH_ATTRIBUTE, "stadium", "area");
var_dump($attr);

cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

--- Primary Key ---
array(3) {
  [0]=>
  array(4) {
    ["CLASS_NAME"]=>
    string(4) "game"
    ["ATTR_NAME"]=>
    string(12) "athlete_code"
    ["KEY_SEQ"]=>
    string(1) "3"
    ["KEY_NAME"]=>
    string(41) "pk_game_host_year_event_code_athlete_code"
  }
  [1]=>
  array(4) {
    ["CLASS_NAME"]=>
    string(4) "game"
    ["ATTR_NAME"]=>
    string(10) "event_code"
    ["KEY_SEQ"]=>
    string(1) "2"
    ["KEY_NAME"]=>
    string(41) "pk_game_host_year_event_code_athlete_code"
  }
  [2]=>
  array(4) {
    ["CLASS_NAME"]=>
    string(4) "game"
    ["ATTR_NAME"]=>
    string(9) "host_year"
    ["KEY_SEQ"]=>
    string(1) "1"
    ["KEY_NAME"]=>
    string(41) "pk_game_host_year_event_code_athlete_code"
  }
}

--- Foreign Keys ---
array(2) {
  [0]=>
  array(9) {
    ["PKTABLE_NAME"]=>
    string(7) "athlete"
    ["PKCOLUMN_NAME"]=>
    string(4) "code"
    ["FKTABLE_NAME"]=>
    string(4) "game"
    ["FKCOLUMN_NAME"]=>
    string(12) "athlete_code"
    ["KEY_SEQ"]=>
    string(1) "1"
    ["UPDATE_RULE"]=>
    string(1) "1"
    ["DELETE_RULE"]=>
    string(1) "1"
    ["FK_NAME"]=>
    string(20) "fk_game_athlete_code"
    ["PK_NAME"]=>
    string(15) "pk_athlete_code"
  }
  [1]=>
  array(9) {
    ["PKTABLE_NAME"]=>
    string(5) "event"
    ["PKCOLUMN_NAME"]=>
    string(4) "code"
    ["FKTABLE_NAME"]=>
    string(4) "game"
    ["FKCOLUMN_NAME"]=>
    string(10) "event_code"
    ["KEY_SEQ"]=>
    string(1) "1"
    ["UPDATE_RULE"]=>
    string(1) "1"
    ["DELETE_RULE"]=>
    string(1) "1"
    ["FK_NAME"]=>
    string(18) "fk_game_event_code"
    ["PK_NAME"]=>
    string(13) "pk_event_code"
  }
}

--- Column Attribute ---
array(1) {
  [0]=>
  array(13) {
    ["ATTR_NAME"]=>
    string(4) "area"
    ["DOMAIN"]=>
    string(1) "7"
    ["SCALE"]=>
    string(1) "2"
    ["PRECISION"]=>
    string(2) "10"
    ["INDEXED"]=>
    string(1) "0"
    ["NON_NULL"]=>
    string(1) "0"
    ["SHARED"]=>
    string(1) "0"
    ["UNIQUE"]=>
    string(1) "0"
    ["DEFAULT"]=>
    NULL
    ["ATTR_ORDER"]=>
    string(1) "4"
    ["CLASS_NAME"]=>
    string(7) "stadium"
    ["SOURCE_CLASS"]=>
    string(7) "stadium"
    ["IS_KEY"]=>
    string(1) "0"
  }
}
cubrid_rollback
cubrid_seq_drop
CUBRID Funktionen


Delete an element from sequence type column using OID

cubrid_schema
cubrid_seq_insert
CUBRID Funktionen
PHP Manual

cubrid_seq_drop

(PECL CUBRID >= 8.3.0)

cubrid_seq_drop — Delete an element from sequence type column using OID

Beschreibung

bool cubrid_seq_drop ( resource $conn_identifier , string $oid , string $attr_name , int $index )

The cubrid_seq_drop() function is used to delete an element you request from the given sequence type attribute in the database.

Parameter-Liste

conn_identifier

Connection identifier.

oid

OID of the instance you want to work with.

attr_name

Name of the attribute that you want to delete an element from.

index

Index of the element that you want to delete (1-based).

Rückgabewerte

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_seq_drop() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c sequence(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "c");
var_dump($attr);

cubrid_seq_drop($conn, $oid, "c", 4);

$attr = cubrid_col_get($conn, $oid, "c");
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(4) {
  [0]=>
  string(2) "11"
  [1]=>
  string(2) "22"
  [2]=>
  string(2) "33"
  [3]=>
  string(3) "333"
}
array(3) {
  [0]=>
  string(2) "11"
  [1]=>
  string(2) "22"
  [2]=>
  string(2) "33"
}

Siehe auch

  • cubrid_seq_insert() - Insert an element to a sequence type column using OID
  • cubrid_seq_put() - Update the element value of sequence type column using OID

cubrid_schema
cubrid_seq_insert
CUBRID Funktionen


Insert an element to a sequence type column using OID

cubrid_seq_drop
cubrid_seq_put
CUBRID Funktionen
PHP Manual

cubrid_seq_insert

(PECL CUBRID >= 8.3.0)

cubrid_seq_insert — Insert an element to a sequence type column using OID

Beschreibung

bool cubrid_seq_insert ( resource $conn_identifier , string $oid , string $attr_name , int $index , string $seq_element )

The cubrid_col_insert() function is used to insert an element to a sequence type attribute in a requested location.

Parameter-Liste

conn_identifier

Connection identifier.

oid

OID of the instance you want to work with.

attr_name

Name of the attribute you want to insert an instance to.

index

Location of the element, you want to insert the element to (1-based).

seq_element

Content of the element that you want to insert.

Rückgabewerte

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_seq_insert() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c sequence(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "c");
var_dump($attr);

cubrid_seq_insert($conn, $oid, "c", 5, "44");

$attr = cubrid_col_get($conn, $oid, "c");
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(4) {
  [0]=>
  string(2) "11"
  [1]=>
  string(2) "22"
  [2]=>
  string(2) "33"
  [3]=>
  string(3) "333"
}
array(5) {
  [0]=>
  string(2) "11"
  [1]=>
  string(2) "22"
  [2]=>
  string(2) "33"
  [3]=>
  string(3) "333"
  [4]=>
  string(2) "44"
}

Siehe auch

  • cubrid_seq_drop() - Delete an element from sequence type column using OID
  • cubrid_seq_put() - Update the element value of sequence type column using OID

cubrid_seq_drop
cubrid_seq_put
CUBRID Funktionen


Update the element value of sequence type column using OID

cubrid_seq_insert
cubrid_set_add
CUBRID Funktionen
PHP Manual

cubrid_seq_put

(PECL CUBRID >= 8.3.0)

cubrid_seq_put — Update the element value of sequence type column using OID

Beschreibung

bool cubrid_seq_put ( resource $conn_identifier , string $oid , string $attr_name , int $index , string $seq_element )

The cubrid_seq_put() function is used to update the content of the requested element in a sequent type attribute using OID.

Parameter-Liste

conn_identifier

Connection identifier.

oid

OID of the instance you want to work with.

attr_name

Name of the attribute that you want to update an element.

index

Index (1-based) of the element that you want to update.

seq_element

New content that you want to use for the update.

Rückgabewerte

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_seq_put() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c sequence(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "c");
var_dump($attr);

cubrid_seq_put($conn, $oid, "c", 1, "111");

$attr = cubrid_col_get($conn, $oid, "c");
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(4) {
  [0]=>
  string(2) "11"
  [1]=>
  string(2) "22"
  [2]=>
  string(2) "33"
  [3]=>
  string(3) "333"
}
array(4) {
  [0]=>
  string(3) "111"
  [1]=>
  string(2) "22"
  [2]=>
  string(2) "33"
  [3]=>
  string(3) "333"
}

Siehe auch

  • cubrid_seq_drop() - Delete an element from sequence type column using OID
  • cubrid_seq_insert() - Insert an element to a sequence type column using OID

cubrid_seq_insert
cubrid_set_add
CUBRID Funktionen


Insert a single element to set type column using OID

cubrid_seq_put
cubrid_set_autocommit
CUBRID Funktionen
PHP Manual

cubrid_set_add

(PECL CUBRID >= 8.3.0)

cubrid_set_add — Insert a single element to set type column using OID

Beschreibung

bool cubrid_set_add ( resource $conn_identifier , string $oid , string $attr_name , string $set_element )

The cubrid_set_add() function is used to insert a single element to a set type attribute (set, multiset, sequence) you requested.

Parameter-Liste

conn_identifier

Connection identifier.

oid

OID of the instance you want to work with.

attr_name

Name of the attribute you want to insert an element.

set_element

Content of the element you want to insert.

Rückgabewerte

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_set_add() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_set_add($conn, $oid, "b", "4");

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(3) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "3"
}
array(4) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "3"
  [3]=>
  string(1) "4"
}

Siehe auch

  • cubrid_seq_drop() - Delete an element from sequence type column using OID

cubrid_seq_put
cubrid_set_autocommit
CUBRID Funktionen


Set autocommit mode of the connection

cubrid_set_add
cubrid_set_db_parameter
CUBRID Funktionen
PHP Manual

cubrid_set_autocommit

(PECL CUBRID >= 8.4.0)

cubrid_set_autocommit — Set autocommit mode of the connection

Beschreibung

bool cubrid_set_autocommit ( resource $conn_identifier , bool $mode )

The cubrid_set_autocommit() function is used to set the CUBRID database auto-commit mode of the current database connection.

In CUBRID PHP, auto-commit mode is disabled by default for transaction management. When auto-commit mode is truned from off to on, any pending work is automatically committed.

Parameter-Liste

conn_identifier

Connection identifier.

mode

Auto-commit mode. The following constants can be used:

  • CUBRID_AUTOCOMMIT_FALSE
  • CUBRID_AUTOCOMMIT_TRUE

Rückgabewerte

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Siehe auch

  • cubrid_get_autocommit() - Get auto-commit mode of the connection
  • cubrid_commit() - Commit a transaction

cubrid_set_add
cubrid_set_db_parameter
CUBRID Funktionen


Sets the CUBRID database parameters

cubrid_set_autocommit
cubrid_set_drop
CUBRID Funktionen
PHP Manual

cubrid_set_db_parameter

(PECL CUBRID >= 8.4.0)

cubrid_set_db_parameter — Sets the CUBRID database parameters

Beschreibung

bool cubrid_set_db_parameter ( resource $conn_identifier , int $param_type , int $param_value )

The cubrid_set_db_parameter() function is used to set the CUBRID database parameters. It can set the following CUBRID database parameters:

  • PARAM_ISOLATION_LEVEL
  • PARAM_LOCK_TIMEOUT

Hinweis:

The auto-commit mode can be set by using cubrid_set_autocommit().

Parameter-Liste

conn_identifier

The CUBRID connection. If the connection identifier is not specified, the last link opened by cubrid_connect() is assumed.

param_type

Database parameter type.

param_value

Isolation level value (1-6) or lock timeout (in seconds) value.

Rückgabewerte

TRUE on success.

FALSE on failure.

Beispiele

Beispiel #1 cubrid_get_db_parameter() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

$params = cubrid_get_db_parameter($conn);
var_dump($params);

cubrid_set_autocommit($conn, CUBRID_AUTOCOMMIT_TRUE);
cubrid_set_db_parameter($conn, CUBRID_PARAM_ISOLATION_LEVEL, 2);

$params_new = cubrid_get_db_parameter($conn);
var_dump($params_new);

cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(4) {
  ["PARAM_ISOLATION_LEVEL"]=>
  int(3)
  ["PARAM_LOCK_TIMEOUT"]=>
  int(-1)
  ["PARAM_MAX_STRING_LENGTH"]=>
  int(1073741823)
  ["PARAM_AUTO_COMMIT"]=>
  int(0)
}
array(4) {
  ["PARAM_ISOLATION_LEVEL"]=>
  int(2)
  ["PARAM_LOCK_TIMEOUT"]=>
  int(-1)
  ["PARAM_MAX_STRING_LENGTH"]=>
  int(1073741823)
  ["PARAM_AUTO_COMMIT"]=>
  int(1)
}

Siehe auch

  • cubrid_get_db_parameter() - Returns the CUBRID database parameters
  • cubrid_set_autocommit() - Set autocommit mode of the connection

cubrid_set_autocommit
cubrid_set_drop
CUBRID Funktionen


Delete an element from set type column using OID

cubrid_set_db_parameter
cubrid_set_query_timeout
CUBRID Funktionen
PHP Manual

cubrid_set_drop

(PECL CUBRID >= 8.3.0)

cubrid_set_drop — Delete an element from set type column using OID

Beschreibung

bool cubrid_set_drop ( resource $conn_identifier , string $oid , string $attr_name , string $set_element )

The cubrid_set_drop() function is used to delete an element that you request from the given set type (set, multiset) attribute of the database.

Parameter-Liste

conn_identifier

Connection identifier.

oid

OID of the instance you want to work with.

attr_name

Name of the attribute you want to delete an element from.

set_element

Content of the element you want to delete.

Rückgabewerte

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_set_drop() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_set_drop($conn, $oid, "b", "1");

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(3) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "3"
}
array(2) {
  [0]=>
  string(1) "2"
  [1]=>
  string(1) "3"
}

Siehe auch

  • cubrid_set_add() - Insert a single element to set type column using OID

cubrid_set_db_parameter
cubrid_set_query_timeout
CUBRID Funktionen


Set the timeout time of query execution

cubrid_set_drop
cubrid_version
CUBRID Funktionen
PHP Manual

cubrid_set_query_timeout

(PECL CUBRID >= 8.4.1)

cubrid_set_query_timeout — Set the timeout time of query execution

Beschreibung

bool cubrid_set_query_timeout ( resource $req_identifier , int $timeout )

The cubrid_set_query_timeout() function is used to set the timeout time of query execution.

Parameter-Liste

req_identifier

Request identifier.

timeout

Timeout time, unit of msec.

Rückgabewerte

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Siehe auch

  • cubrid_get_query_timeout() - Get the query timeout value of the request

cubrid_set_drop
cubrid_version
CUBRID Funktionen


Get the CUBRID PHP module's version

cubrid_set_query_timeout
CUBRID MySQL Compatibility Functions
CUBRID Funktionen
PHP Manual

cubrid_version

(PECL CUBRID >= 8.3.0)

cubrid_version — Get the CUBRID PHP module's version

Beschreibung

string cubrid_version ( void )

The cubrid_version() function is used to get the CUBRID PHP module's version.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Version information (eg. "8.3.1.0001").

Beispiele

Beispiel #1 cubrid_version() example

<?php
printf("%-30s %s\n", "CUBRID PHP Version:", cubrid_version());

printf("\n");

$conn = cubrid_connect("localhost", 33088, "demodb", "dba");

if (!$conn) {
    die('Connect Error ('. cubrid_error_code() .')' . cubrid_error_msg());
}

$db_params = cubrid_get_db_parameter($conn);

while (list($param_name, $param_value) = each($db_params)) {
    printf("%-30s %s\n", $param_name, $param_value);
}

printf("\n");

$server_info = cubrid_get_server_info($conn);
$client_info = cubrid_get_client_info();

printf("%-30s %s\n", "Server Info:", $server_info);
printf("%-30s %s\n", "Client Info:", $client_info);

printf("\n");

$charset = cubrid_get_charset($conn);

printf("%-30s %s\n", "CUBRID Charset:", $charset);

cubrid_disconnect($conn);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

CUBRID PHP Version:            9.1.0.0001

PARAM_ISOLATION_LEVEL          3
LOCK_TIMEOUT                   -1
MAX_STRING_LENGTH              1073741823
PARAM_AUTO_COMMIT              1

Server Info:                   9.1.0.0212
Client Info:                   9.1.0

CUBRID Charset:                iso8859-1

Siehe auch

  • cubrid_error_code() - Get error code for the most recent function call
  • cubrid_error_code_facility() - Get the facility code of error

cubrid_set_query_timeout
CUBRID MySQL Compatibility Functions
CUBRID Funktionen


CUBRID MySQL Compatibility Functions

Inhaltsverzeichnis

  • cubrid_affected_rows — Return the number of rows affected by the last SQL statement
  • cubrid_client_encoding — Return the current CUBRID connection charset
  • cubrid_close — Close CUBRID connection
  • cubrid_data_seek — Move the internal row pointer of the CUBRID result
  • cubrid_db_name — Get db name from results of cubrid_list_dbs
  • cubrid_errno — Return the numerical value of the error message from previous CUBRID operation
  • cubrid_error — Get the error message
  • cubrid_fetch_array — Fetch a result row as an associative array, a numeric array, or both
  • cubrid_fetch_assoc — Return the associative array that corresponds to the fetched row
  • cubrid_fetch_field — Get column information from a result and return as an object
  • cubrid_fetch_lengths — Return an array with the lengths of the values of each field from the current row
  • cubrid_fetch_object — Fetch the next row and return it as an object
  • cubrid_fetch_row — Return a numerical array with the values of the current row
  • cubrid_field_flags — Return a string with the flags of the given field offset
  • cubrid_field_len — Get the maximum length of the specified field
  • cubrid_field_name — Return the name of the specified field index
  • cubrid_field_seek — Move the result set cursor to the specified field offset
  • cubrid_field_table — Return the name of the table of the specified field
  • cubrid_field_type — Return the type of the column corresponding to the given field offset
  • cubrid_list_dbs — Return an array with the list of all existing CUBRID databases
  • cubrid_num_fields — Return the number of columns in the result set
  • cubrid_ping — Ping a server connection or reconnect if there is no connection
  • cubrid_query — Send a CUBRID query
  • cubrid_real_escape_string — Escape special characters in a string for use in an SQL statement
  • cubrid_result — Return the value of a specific field in a specific row
  • cubrid_unbuffered_query — Perform a query without fetching the results into memory
cubrid_version
cubrid_affected_rows
CUBRID


Return the number of rows affected by the last SQL statement

CUBRID MySQL Compatibility Functions
cubrid_client_encoding
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_affected_rows

(PECL CUBRID >= 8.3.0)

cubrid_affected_rows — Return the number of rows affected by the last SQL statement

Beschreibung

int cubrid_affected_rows ([ resource $conn_identifier ] )
int cubrid_affected_rows ([ resource $req_identifier ] )

The cubrid_affected_rows() function is used to get the number of rows affected by the SQL statement (INSERT, DELETE, UPDATE).

Parameter-Liste

conn_identifier

The CUBRID connection. If the connection identifier is not specified, the last link opend by cubrid_connect() is assumed.

req_identifier

Request Identifier, could be returned from either cubrid_prepare() or cubrid_execute(). If the request identifier is not specified, the last identifier requested by cubrid_prepare() or cubrid_execute() is assumed.

Rückgabewerte

Number of rows affected by the SQL statement, when process is successful.

-1, when SQL statement is not INSERT, DELETE or UPDATE.

FALSE, when the request identifier is not specified, and there is no last request.

Beispiele

Beispiel #1 cubrid_affected_rows() example

<?php
$conn = cubrid_connect('localhost', 33000, 'demodb', 'dba', '');
cubrid_execute($conn, "DROP TABLE IF EXISTS cubrid_test");
cubrid_execute($conn, "CREATE TABLE cubrid_test (d varchar)");
$sql_stmt = "INSERT INTO cubrid_test(d) VALUES('php-test')";
$req = cubrid_prepare($conn, $sql_stmt);

for ($i = 0; $i < 10; $i++) {
    cubrid_execute($req);
}
cubrid_commit($conn);

$req = cubrid_execute($conn, "DELETE FROM cubrid_test WHERE d='php-test'", CUBRID_ASYNC);
var_dump(cubrid_affected_rows());
var_dump(cubrid_affected_rows($conn));
var_dump(cubrid_affected_rows($req));

cubrid_disconnect($conn);

print "done!";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Rows deleted: 5

Siehe auch

  • cubrid_execute() - Execute a prepared SQL statement

CUBRID MySQL Compatibility Functions
cubrid_client_encoding
CUBRID MySQL Compatibility Functions


Return the current CUBRID connection charset

cubrid_affected_rows
cubrid_close
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_client_encoding

(PECL CUBRID >= 8.3.1)

cubrid_client_encoding — Return the current CUBRID connection charset

Beschreibung

string cubrid_client_encoding ([ resource $conn_identifier ] )

This function returns the current CUBRID connection charset and is similar to the CUBRID function cubrid_get_charset().

Parameter-Liste

conn_identifier

The CUBRID connection. If the connection identifier is not specified, the last link opened by cubrid_connect() is assumed.

Rückgabewerte

A string that represents the CUBRID connection charset; on success.

FALSE on failure.

Beispiele

Beispiel #1 cubrid_client_encoding() example

<?php

$con = cubrid_connect("localhost", 33000, "demodb");
if (!$con)
{
    die('Could not connect.');
}

printf("CUBRID current charset: %s\n", cubrid_client_encoding($con));

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

CUBRID current charset: iso8859-1

Siehe auch

  • cubrid_get_charset() - Return the current CUBRID connection charset

cubrid_affected_rows
cubrid_close
CUBRID MySQL Compatibility Functions


Close CUBRID connection

cubrid_client_encoding
cubrid_data_seek
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_close

(PECL CUBRID >= 8.3.1)

cubrid_close — Close CUBRID connection

Beschreibung

bool cubrid_close ([ resource $conn_identifier ] )

The cubrid_close() function ends the transaction currently in process, closes the connection handle and disconnects from server. If there is any request handles not closed yet at this point, they will be closed. It is similar to the CUBRID function cubrid_disconnect().

Parameter-Liste

conn_identifier

The CUBRID connection identifier. If the connection identifier is not specified, the last connection opened by cubrid_connect() is assumed.

Rückgabewerte

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_close() example

<?php
$con = cubrid_connect ("localhost", 33000, "demodb");
if ($con) {
   echo "connected successfully";
   $req = cubrid_execute ( $con, "insert into person values(1,'James')");
   if ($req) {
      cubrid_close_request ($req);
      cubrid_commit ($con);
   } else {
      cubrid_rollback ($con);
   }
   cubrid_close ($con);
}
?>

Siehe auch

  • cubrid_disconnect() - Close a database connection
  • cubrid_connect() - Open a connection to a CUBRID Server
  • cubrid_connect_with_url() - Establish the environment for connecting to CUBRID server

cubrid_client_encoding
cubrid_data_seek
CUBRID MySQL Compatibility Functions


Move the internal row pointer of the CUBRID result

cubrid_close
cubrid_db_name
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_data_seek

(PECL CUBRID >= 8.3.0)

cubrid_data_seek — Move the internal row pointer of the CUBRID result

Beschreibung

bool cubrid_data_seek ( resource $result , int $row_number )

This function performs the moving of the internal row pointer of the CUBRID result (associated with the specified result identifier) to point to a specific row number. There are functions, such as cubrid_fetch_assoc(), which use the current stored value of row number.

Parameter-Liste

result

The result.

row_number

This is the desired row number of the new result pointer.

Rückgabewerte

Returns TRUE on success or FALSE on failure.

Beispiele

Beispiel #1 cubrid_data_seek() example

<?php
$conn = cubrid_connect("127.0.0.1", 33000, "demodb");

$req = cubrid_execute($conn, "SELECT * FROM code");
cubrid_data_seek($req, 0);

$result = cubrid_fetch_row($req);
var_dump($result);

cubrid_data_seek($req, 2);
$result = cubrid_fetch_row($req);
var_dump($result);

cubrid_data_seek($req, 4);
$result = cubrid_fetch_row($req);
var_dump($result);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  [0]=>
  string(1) "X"
  [1]=>
  string(5) "Mixed"
}
array(2) {
  [0]=>
  string(1) "M"
  [1]=>
  string(3) "Man"
}
array(2) {
  [0]=>
  string(1) "S"
  [1]=>
  string(6) "Silver"
}
cubrid_close
cubrid_db_name
CUBRID MySQL Compatibility Functions


Get db name from results of cubrid_list_dbs

cubrid_data_seek
cubrid_errno
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_db_name

(PECL CUBRID >= 8.3.1)

cubrid_db_name — Get db name from results of cubrid_list_dbs

Beschreibung

string cubrid_db_name ( array $result , int $index )

Retrieve the database name from a call to cubrid_list_dbs().

Parameter-Liste

result

The result pointer from a call to cubrid_list_dbs().

index

The index into the result set.

Rückgabewerte

Returns the database name on success, and FALSE on failure. If FALSE is returned, use cubrid_error() to determine the nature of the error.

Beispiele

Beispiel #1 cubrid_db_name() example

<?php
error_reporting(E_ALL);

$conn = cubrid_connect('localhost', 33000, 'demodb', 'dba', '');
$db_list = cubrid_list_dbs($conn);

$i = 0;
$cnt = count($db_list);
while ($i < $cnt) {
    echo cubrid_db_name($db_list, $i) . "\n";
    $i++;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

demodb

Siehe auch

  • cubrid_list_dbs() - Return an array with the list of all existing CUBRID databases

cubrid_data_seek
cubrid_errno
CUBRID MySQL Compatibility Functions


Return the numerical value of the error message from previous CUBRID operation

cubrid_db_name
cubrid_error
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_errno

(PECL CUBRID >= 8.3.1)

cubrid_errno — Return the numerical value of the error message from previous CUBRID operation

Beschreibung

int cubrid_errno ([ resource $conn_identifier ] )

Returns the error number from the last CUBRID function.

The cubrid_errno() function is used to get the error code of the error that occurred during the API execution. Usually, it gets the error code when API returns false as its return value.

Parameter-Liste

conn_identifier

The CUBRID connection identifier. If the connection identifier is not specified, the last connection opened by cubrid_connect() is assumed.

Rückgabewerte

Returns the error number from the last CUBRID function, or 0 (zero) if no error occurred.

Beispiele

Beispiel #1 cubrid_errno() example

<?php
$con = cubrid_connect('localhost', 33000, 'demodb', 'dba', '');
$req = cubrid_execute($con, "select id, name from person");
if ($req) {
    while (list ($id, $name) = cubrid_fetch($req))
    echo $id, $name;
} else {
    echo "Error Code: ", cubrid_errno($con);
    echo "Error Message: ", cubrid_error($con);
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Error Code: -493 Error Message: Syntax: Unknown class "person". select id, [name] from person

Siehe auch

  • cubrid_error() - Get the error message
  • cubrid_error_code() - Get error code for the most recent function call
  • cubrid_error_msg() - Get last error message for the most recent function call

cubrid_db_name
cubrid_error
CUBRID MySQL Compatibility Functions


Get the error message

cubrid_errno
cubrid_fetch_array
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_error

(PECL CUBRID >= 8.3.1)

cubrid_error — Get the error message

Beschreibung

string cubrid_error ([ resource $connection ] )

The cubrid_error() function is used to get the error message that occurred during the use of CUBRID API. Usually, it gets error message when API returns false as its return value.

Parameter-Liste

connection

The CUBRID connection.

Rückgabewerte

Error message that occurred.

Beispiele

Beispiel #1 cubrid_error() example

<?php
$con = cubrid_connect('localhost', 33000, 'demodb', 'dba', '');
$req = cubrid_execute($con, "select id, name from person");
if ($req) {
    while (list ($id, $name) = cubrid_fetch($req))
    echo $id, $name;
} else {
    echo "Error Code: ", cubrid_errno($con);
    echo "Error Message: ", cubrid_error($con);
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Error Code: -493 Error Message: Syntax: Unknown class "person". select id, [name] from person

Siehe auch

  • cubrid_errno() - Return the numerical value of the error message from previous CUBRID operation
  • cubrid_error_code() - Get error code for the most recent function call
  • cubrid_error_msg() - Get last error message for the most recent function call

cubrid_errno
cubrid_fetch_array
CUBRID MySQL Compatibility Functions


Fetch a result row as an associative array, a numeric array, or both

cubrid_error
cubrid_fetch_assoc
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_fetch_array

(PECL CUBRID >=8.3.0)

cubrid_fetch_array — Fetch a result row as an associative array, a numeric array, or both

Beschreibung

array cubrid_fetch_array ( resource $result [, int $type = CUBRID_BOTH ] )

The cubrid_fetch_array() function is used to get a single row from the query result and returns an array. The cursor automatically moves to the next row after getting the result.

Parameter-Liste

result

Result comes from a call to cubrid_execute()

type

Array type of the fetched result CUBRID_NUM, CUBRID_ASSOC, CUBRID_BOTH. If you need to operate the lob object, you can use CUBRID_LOB.

Rückgabewerte

Returns an array of strings that corresponds to the fetched row, when process is successful.

FALSE, when there are no more rows; NULL, when process is unsuccessful.

The type of returned array depends on how type is defined. By using CUBRID_BOTH (default), you'll get an array with both associative and number indices, and you can decide which data type to use by setting the type argument. The type variable can be set to one of the following values:

  • CUBRID_NUM : Numerical array (0-based)
  • CUBRID_ASSOC : Associative array
  • CUBRID_BOTH : Numerical & Associative array (default)

Beispiele

Beispiel #1 cubrid_fetch_array() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = cubrid_execute($conn, "SELECT name,area,seats,address FROM stadium WHERE nation_code='GRE' AND seats > 10000");

printf("%-40s %-10s %-6s %-20s\n", "name", "area", "seats", "address");
while ($row = cubrid_fetch_array($req, CUBRID_NUM)) {
    printf("%-40s %-10s %-6s %-20s\n", $row[0], $row[1], $row[2], $row[3]);
}

// if you want to operate LOB object, you can use cubrid_fetch_array($req, CUBRID_NUM | CUBRID_LOB)

cubrid_close_request($req);

cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

name                                     area       seats  address
Panathinaiko Stadium                     86300.00   50000  Athens, Greece
Olympic Stadium                          54700.00   13000  Athens, Greece
Olympic Indoor Hall                      34100.00   18800  Athens, Greece
Olympic Hall                             52400.00   21000  Athens, Greece
Olympic Aquatic Centre                   42500.00   11500  Athens, Greece
Markopoulo Olympic Equestrian Centre     64000.00   15000  Markopoulo, Athens, Greece
Faliro Coastal Zone Olympic Complex      34650.00   12171  Faliro, Athens, Greece
Athens Olympic Stadium                   120400.00  71030  Maroussi, Athens, Greece
Ano Liossia                              34000.00   12000  Ano Liosia, Athens, Greece

Siehe auch

  • cubrid_execute() - Execute a prepared SQL statement
  • cubrid_fetch() - Fetch the next row from a result set
  • cubrid_fetch_row() - Return a numerical array with the values of the current row
  • cubrid_fetch_assoc() - Return the associative array that corresponds to the fetched row
  • cubrid_fetch_object() - Fetch the next row and return it as an object

cubrid_error
cubrid_fetch_assoc
CUBRID MySQL Compatibility Functions


Return the associative array that corresponds to the fetched row

cubrid_fetch_array
cubrid_fetch_field
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_fetch_assoc

(PECL CUBRID >= 8.3.0)

cubrid_fetch_assoc — Return the associative array that corresponds to the fetched row

Beschreibung

array cubrid_fetch_assoc ( resource $result [, int $type ] )

This function returns the associative array, that corresponds to the fetched row, and then moves the internal data pointer ahead, or returns FALSE when the end is reached.

Parameter-Liste

result

result comes from a call to cubrid_execute()

type

Type can only be CUBRID_LOB, this parameter will be used only when you need to operate the lob object.

Rückgabewerte

Associative array, when process is successful.

FALSE, when there are no more rows; NULL, when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_fetch_assoc() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = cubrid_execute($conn, "SELECT name,area,seats,address FROM stadium WHERE nation_code='GRE' AND seats > 10000");

printf("%-40s %-10s %-6s %-20s\n", "name", "area", "seats", "address");
while ($row = cubrid_fetch_assoc($req)) {
    printf("%-40s %-10s %-6s %-20s\n",
        $row["name"], $row["area"], $row["seats"], $row["address"]);
}

// if you want to operate LOB object, you can use cubrid_fetch_assoc($req, CUBRID_LOB)

cubrid_close_request($req);

cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

name                                     area       seats  address
Panathinaiko Stadium                     86300.00   50000  Athens, Greece
Olympic Stadium                          54700.00   13000  Athens, Greece
Olympic Indoor Hall                      34100.00   18800  Athens, Greece
Olympic Hall                             52400.00   21000  Athens, Greece
Olympic Aquatic Centre                   42500.00   11500  Athens, Greece
Markopoulo Olympic Equestrian Centre     64000.00   15000  Markopoulo, Athens, Greece
Faliro Coastal Zone Olympic Complex      34650.00   12171  Faliro, Athens, Greece
Athens Olympic Stadium                   120400.00  71030  Maroussi, Athens, Greece
Ano Liossia                              34000.00   12000  Ano Liosia, Athens, Greece

Siehe auch

  • cubrid_execute() - Execute a prepared SQL statement
  • cubrid_fetch() - Fetch the next row from a result set
  • cubrid_fetch_row() - Return a numerical array with the values of the current row
  • cubrid_fetch_array() - Fetch a result row as an associative array, a numeric array, or both
  • cubrid_fetch_object() - Fetch the next row and return it as an object

cubrid_fetch_array
cubrid_fetch_field
CUBRID MySQL Compatibility Functions


Get column information from a result and return as an object

cubrid_fetch_assoc
cubrid_fetch_lengths
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_fetch_field

(PECL CUBRID >= 8.3.1)

cubrid_fetch_field — Get column information from a result and return as an object

Beschreibung

object cubrid_fetch_field ( resource $result [, int $field_offset = 0 ] )

This function returns an object with certain properties of the specific column. The properties of the object are:

name

column name

table

name of the table that the column belongs to

def

default value of the column

max_length

maximum length of the column

not_null

1 if the column cannot be NULL

primary_key

1 if the column is a primary key

unique_key

1 if the column is an unique key

multiple_key

1 if the column is a non-unique key

numeric

1 if the column is numeric

blob

1 if the column is a BLOB

type

the type of the column

unsigned

1 if the column is unsigned

zerofill

1 if the column is zero-filled

Parameter-Liste

result

result comes from a call to cubrid_execute()

field_offset

The numerical field offset. If the field offset is not specified, the next field (that was not yet retrieved by this function) is retrieved. The field_offset starts at 0.

Rückgabewerte

Object with certain properties of the specific column, when process is successful.

FALSE on failure.

Beispiele

Beispiel #1 cubrid_fetch_field() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = cubrid_execute($conn, "SELECT event_code,athlete_code,nation_code,game_date FROM game WHERE host_year=1988 and event_code=20001;");

var_dump(cubrid_fetch_row($req));

cubrid_field_seek($req, 1);
$field = cubrid_fetch_field($req);

printf("\n--- Field Properties ---\n");
printf("%-30s %s\n", "name:", $field->name);
printf("%-30s %s\n", "table:", $field->table);
printf("%-30s \"%s\"\n", "default value:", $field->def);
printf("%-30s %d\n", "max length:", $field->max_length);
printf("%-30s %d\n", "not null:", $field->not_null);
printf("%-30s %d\n", "primary key:", $field->primary_key);
printf("%-30s %d\n", "unique key:", $field->unique_key);
printf("%-30s %d\n", "multiple key:", $field->multiple_key);
printf("%-30s %d\n", "numeric:", $field->numeric);
printf("%-30s %d\n", "blob:", $field->blob);
printf("%-30s %s\n", "type:", $field->type);
printf("%-30s %d\n", "unsigned:", $field->unsigned);
printf("%-30s %d\n", "zerofill:", $field->zerofill);

cubrid_close_request($req);

cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(4) {
  [0]=>
  string(5) "20001"
  [1]=>
  string(5) "16681"
  [2]=>
  string(3) "KOR"
  [3]=>
  string(9) "1988-9-30"
}

--- Field Properties ---
name:                          athlete_code
table:                         game
default value:                 ""
max length:                    0
not null:                      1
primary key:                   1
unique key:                    1
multiple key:                  0
numeric:                       1
blob:                          0
type:                          integer
unsigned:                      0
zerofill:                      0
cubrid_fetch_assoc
cubrid_fetch_lengths
CUBRID MySQL Compatibility Functions


Return an array with the lengths of the values of each field from the current row

cubrid_fetch_field
cubrid_fetch_object
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_fetch_lengths

(PECL CUBRID >= 8.3.0)

cubrid_fetch_lengths — Return an array with the lengths of the values of each field from the current row

Beschreibung

array cubrid_fetch_lengths ( resource $result )

This function returns an numeric array with the lengths of the values of each field from the current row of the result set or it returns FALSE on failure.

Hinweis:

If field data type is BLOB/CLOB, you should get its length by using cubrid_lob_size().

Parameter-Liste

result

result comes from a call to cubrid_execute()

Rückgabewerte

An numeric array, when process is successful.

FALSE on failure.

Beispiele

Beispiel #1 cubrid_fetch_lengths() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$result = cubrid_execute($conn, "SELECT * FROM game WHERE host_year=2004 AND nation_code='AUS' AND medal='G'");

$row = cubrid_fetch_row($result);
print_r($row);

$lens = cubrid_fetch_lengths($result);
print_r($lens);

cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => 2004
    [1] => 20085
    [2] => 15118
    [3] => 30134
    [4] => AUS
    [5] => G
    [6] => 2004-8-20
)
Array
(
    [0] => 4
    [1] => 5
    [2] => 5
    [3] => 5
    [4] => 3
    [5] => 1
    [6] => 10
)
cubrid_fetch_field
cubrid_fetch_object
CUBRID MySQL Compatibility Functions


Fetch the next row and return it as an object

cubrid_fetch_lengths
cubrid_fetch_row
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_fetch_object

(PECL CUBRID >= 8.3.0)

cubrid_fetch_object — Fetch the next row and return it as an object

Beschreibung

object cubrid_fetch_object ( resource $result [, string $class_name [, array $params [, int $type ]]] )

This function returns an object with the column names of the result set as properties. The values of these properties are extracted from the current row of the result.

Parameter-Liste

result

result comes from a call to cubrid_execute()

class_name

The name of the class to instantiate. If not specified, a stdClass (stdClass is PHP's generic empty class that's used when casting other types to objects) object is returned.

params

An optional array of parameters to pass to the constructor for class_name objects.

type

Type can only be CUBRID_LOB, this parameter will be used only when you need to operate the lob object.

Rückgabewerte

An object, when process is successful.

FALSE, when there are no more rows; NULL, when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_fetch_object() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$res = cubrid_execute($conn, "SELECT * FROM code");

var_dump(cubrid_fetch_object($res));

// if you want to operate LOB object, you can use cubrid_fetch_object($res, CUBRID_LOB)

class demodb_code {
    public $s_name = null;
    public $f_name = null;

    public function toString() {
        var_dump($this);
    }
}

var_dump(cubrid_fetch_object($res, "demodb_code"));

// if you want to operate LOB object, you can use cubrid_fetch_object($res, "demodb_code", CUBRID_LOB)

class demodb_code_construct extends demodb_code {
    public function __construct($s, $f) {
        $this->s_name = $s;
        $this->f_name = $f;
    }
}

var_dump(cubrid_fetch_object($res, 'demodb_code_construct', array('s_name', 'f_name')));

// if you want to operate LOB object, you can use cubrid_fetch_object($res, 'demodb_code_construct', array('s_name', 'f_name'), CUBRID_LOB)

var_dump(cubrid_fetch_object($res));

cubrid_close_request($res);
cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(stdClass)#1 (2) {
  ["s_name"]=>
  string(1) "X"
  ["f_name"]=>
  string(5) "Mixed"
}
object(demodb_code)#1 (2) {
  ["s_name"]=>
  string(1) "W"
  ["f_name"]=>
  string(5) "Woman"
}
object(demodb_code_construct)#1 (2) {
  ["s_name"]=>
  string(6) "s_name"
  ["f_name"]=>
  string(6) "f_name"
}
object(stdClass)#1 (2) {
  ["s_name"]=>
  string(1) "B"
  ["f_name"]=>
  string(6) "Bronze"
}

Siehe auch

  • cubrid_execute() - Execute a prepared SQL statement
  • cubrid_fetch() - Fetch the next row from a result set
  • cubrid_fetch_array() - Fetch a result row as an associative array, a numeric array, or both
  • cubrid_fetch_assoc() - Return the associative array that corresponds to the fetched row
  • cubrid_fetch_row() - Return a numerical array with the values of the current row

cubrid_fetch_lengths
cubrid_fetch_row
CUBRID MySQL Compatibility Functions


Return a numerical array with the values of the current row

cubrid_fetch_object
cubrid_field_flags
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_fetch_row

(PECL CUBRID >= 8.3.0)

cubrid_fetch_row — Return a numerical array with the values of the current row

Beschreibung

array cubrid_fetch_row ( resource $result [, int $type ] )

This function returns a numerical array with the values of the current row from the result set, starting from 0, and moves the internal data pointer ahead.

Parameter-Liste

result

result comes from a call to cubrid_execute()

type

Type can only be CUBRID_LOB, this parameter will be used only when you need to operate the lob object.

Rückgabewerte

A numerical array, when process is successful.

FALSE, when there are no more rows; NULL, when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_fetch_row() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = cubrid_execute($conn, "SELECT name,area,seats,address FROM stadium WHERE nation_code='GRE' AND seats > 10000");

printf("%-40s %-10s %-6s %-20s\n", "name", "area", "seats", "address");
while ($row = cubrid_fetch_row($req)) {
    printf("%-40s %-10s %-6s %-20s\n", $row[0], $row[1], $row[2], $row[3]);
}

// if you want to operate LOB object, you can use cubrid_fetch_row($req, CUBRID_LOB)

cubrid_close_request($req);

cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

name                                     area       seats  address
Panathinaiko Stadium                     86300.00   50000  Athens, Greece
Olympic Stadium                          54700.00   13000  Athens, Greece
Olympic Indoor Hall                      34100.00   18800  Athens, Greece
Olympic Hall                             52400.00   21000  Athens, Greece
Olympic Aquatic Centre                   42500.00   11500  Athens, Greece
Markopoulo Olympic Equestrian Centre     64000.00   15000  Markopoulo, Athens, Greece
Faliro Coastal Zone Olympic Complex      34650.00   12171  Faliro, Athens, Greece
Athens Olympic Stadium                   120400.00  71030  Maroussi, Athens, Greece
Ano Liossia                              34000.00   12000  Ano Liosia, Athens, Greece

Siehe auch

  • cubrid_execute() - Execute a prepared SQL statement
  • cubrid_fetch() - Fetch the next row from a result set
  • cubrid_fetch_array() - Fetch a result row as an associative array, a numeric array, or both
  • cubrid_fetch_assoc() - Return the associative array that corresponds to the fetched row
  • cubrid_fetch_object() - Fetch the next row and return it as an object

cubrid_fetch_object
cubrid_field_flags
CUBRID MySQL Compatibility Functions


Return a string with the flags of the given field offset

cubrid_fetch_row
cubrid_field_len
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_field_flags

(PECL CUBRID >= 8.3.0)

cubrid_field_flags — Return a string with the flags of the given field offset

Beschreibung

string cubrid_field_flags ( resource $result , int $field_offset )

This function returns a string with the flags of the given field offset separated by space. You can split the returned value using explode. The possible flags could be: not_null, primary_key, unique_key, foreign_key, auto_increment, shared, reverse_index, reverse_unique and timestamp.

Parameter-Liste

result

result comes from a call to cubrid_execute()

field_offset

The numerical field offset. The field_offset starts at 0. If field_offset does not exist, an error of level E_WARNING is also issued.

Rückgabewerte

A string with flags, when process is successful.

FALSE when invalid field_offset value.

-1 if SQL sentence is not SELECT.

Beispiele

Beispiel #1 cubrid_field_flags() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$result = cubrid_execute($conn, "SELECT * FROM game WHERE host_year=2004 AND nation_code='AUS' AND medal='G'");

$col_num = cubrid_num_cols($result);

printf("%-30s %s\n", "Field Name", "Field Flags");
for($i = 0; $i < $col_num; $i++) {
    printf("%-30s %s\n", cubrid_field_name($result, $i), cubrid_field_flags($result, $i));
}

cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Field Name                     Field Flags
host_year                      not_null primary_key unique_key
event_code                     not_null primary_key unique_key foreign_key
athlete_code                   not_null primary_key unique_key foreign_key
stadium_code                   not_null
nation_code
medal
game_date
cubrid_fetch_row
cubrid_field_len
CUBRID MySQL Compatibility Functions


Get the maximum length of the specified field

cubrid_field_flags
cubrid_field_name
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_field_len

(PECL CUBRID >= 8.3.0)

cubrid_field_len — Get the maximum length of the specified field

Beschreibung

int cubrid_field_len ( resource $result , int $field_offset )

This function returns the maximum length of the specified field on success, or it returns FALSE on failure.

Parameter-Liste

result

result comes from a call to cubrid_execute()

field_offset

The numerical field offset. The field_offset starts at 0. If field_offset does not exist, an error of level E_WARNING is also issued.

Rückgabewerte

Maximum length, when process is successful.

FALSE on failure.

Beispiele

Beispiel #1 cubrid_field_len() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$result = cubrid_execute($conn, "SELECT * FROM game WHERE host_year=2004 AND nation_code='AUS' AND medal='G'");

$column_names = cubrid_column_names($result);
$column_types = cubrid_column_types($result);

printf("%-30s %-30s %-15s\n", "Column Names", "Column Types", "Column Maxlen");
for($i = 0, $size = count($column_names); $i < $size; $i++) {
    $column_len = cubrid_field_len($result, $i);
    printf("%-30s %-30s %-15s\n", $column_names[$i], $column_types[$i], $column_len);
}

cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Column Names                   Column Types                   Column Maxlen
host_year                      integer                        11
event_code                     integer                        11
athlete_code                   integer                        11
stadium_code                   integer                        11
nation_code                    char                           3
medal                          char                           1
game_date                      date                           10
cubrid_field_flags
cubrid_field_name
CUBRID MySQL Compatibility Functions


Return the name of the specified field index

cubrid_field_len
cubrid_field_seek
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_field_name

(PECL CUBRID >= 8.3.0)

cubrid_field_name — Return the name of the specified field index

Beschreibung

string cubrid_field_name ( resource $result , int $field_offset )

This function returns the name of the specified field index on success or it returns FALSE on failure.

Parameter-Liste

result

result comes from a call to cubrid_execute()

field_offset

The numerical field offset. The field_offset starts at 0. If field_offset does not exist, an error of level E_WARNING is also issued.

Rückgabewerte

Name of specified field index, on success.

FALSE on failure.

Beispiele

Beispiel #1 cubrid_field_name() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$result = cubrid_execute($conn, "SELECT * FROM game WHERE host_year=2004 AND nation_code='AUS' AND medal='G'");

$col_num = cubrid_num_cols($result);

printf("%-30s %s\n", "Field Name", "Field Flags");
for($i = 0; $i < $col_num; $i++) {
    printf("%-30s %s\n", cubrid_field_name($result, $i), cubrid_field_flags($result, $i));
}

cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Field Name                     Field Flags
host_year                      not_null primary_key unique_key
event_code                     not_null primary_key unique_key foreign_key
athlete_code                   not_null primary_key unique_key foreign_key
stadium_code                   not_null
nation_code
medal
game_date
cubrid_field_len
cubrid_field_seek
CUBRID MySQL Compatibility Functions


Move the result set cursor to the specified field offset

cubrid_field_name
cubrid_field_table
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_field_seek

(PECL CUBRID >= 8.3.0)

cubrid_field_seek — Move the result set cursor to the specified field offset

Beschreibung

bool cubrid_field_seek ( resource $result [, int $field_offset = 0 ] )

This function moves the result set cursor to the specified field offset. This offset is used by cubrid_fetch_field() if it doesn't include a field offset. It returns TRUE on success or FALSE on failure.

Parameter-Liste

result

result comes from a call to cubrid_execute()

field_offset

The numerical field offset. The field_offset starts at 0. If field_offset does not exist, an error of level E_WARNING is also issued.

Rückgabewerte

TRUE on success.

FALSE on failure.

Beispiele

Beispiel #1 cubrid_field_seek() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = cubrid_execute($conn, "SELECT event_code,athlete_code,nation_code,game_date FROM game WHERE host_year=1988 and event_code=20001;");

var_dump(cubrid_fetch_row($req));

cubrid_field_seek($req, 1);
$field = cubrid_fetch_field($req);

printf("\n--- Field Properties ---\n");
printf("%-30s %s\n", "name:", $field->name);
printf("%-30s %s\n", "table:", $field->table);
printf("%-30s \"%s\"\n", "default value:", $field->def);
printf("%-30s %d\n", "max length:", $field->max_length);
printf("%-30s %d\n", "not null:", $field->not_null);
printf("%-30s %d\n", "unique key:", $field->unique_key);
printf("%-30s %d\n", "multiple key:", $field->multiple_key);
printf("%-30s %d\n", "numeric:", $field->numeric);
printf("%-30s %s\n", "type:", $field->type);

cubrid_close_request($req);

cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(4) {
  [0]=>
  string(5) "20001"
  [1]=>
  string(5) "16132"
  [2]=>
  string(3) "KOR"
  [3]=>
  string(9) "1988-09-30"
}

--- Field Properties ---
name:                          athlete_code
table:                         game
default value:                 ""
max length:                    0
not null:                      1
unique key:                    1
multiple key:                  0
numeric:                       1
type:                          integer
cubrid_field_name
cubrid_field_table
CUBRID MySQL Compatibility Functions


Return the name of the table of the specified field

cubrid_field_seek
cubrid_field_type
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_field_table

(PECL CUBRID >= 8.3.0)

cubrid_field_table — Return the name of the table of the specified field

Beschreibung

string cubrid_field_table ( resource $result , int $field_offset )

This function returns the name of the table of the specified field. This is useful when using large select queries with JOINS.

Parameter-Liste

result

result comes from a call to cubrid_execute()

field_offset

The numerical field offset. The field_offset starts at 0. If field_offset does not exist, an error of level E_WARNING is also issued.

Rückgabewerte

Name of the table of the specified field, on success.

FALSE when invalid field_offset value.

-1 if SQL sentence is not SELECT.

Beispiele

Beispiel #1 cubrid_field_table() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$result = cubrid_execute($conn, "SELECT * FROM code");

$col_num = cubrid_num_cols($result);

printf("%-15s %-15s %s\n", "Field Table", "Field Name", "Field Type");
for($i = 0; $i < $col_num; $i++) {
    printf("%-15s %-15s %s\n",
        cubrid_field_table($result, $i), cubrid_field_name($result, $i), cubrid_field_type($result, $i));
}

cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Field Table     Field Name      Field Type
code            s_name          char
code            f_name          varchar
cubrid_field_seek
cubrid_field_type
CUBRID MySQL Compatibility Functions


Return the type of the column corresponding to the given field offset

cubrid_field_table
cubrid_list_dbs
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_field_type

(PECL CUBRID >= 8.3.0)

cubrid_field_type — Return the type of the column corresponding to the given field offset

Beschreibung

string cubrid_field_type ( resource $result , int $field_offset )

This function returns the type of the column corresponding to the given field offset. The returned field type could be one of the following: "int", "real", "string", etc.

Parameter-Liste

result

result comes from a call to cubrid_execute()

field_offset

The numerical field offset. The field_offset starts at 0. If field_offset does not exist, an error of level E_WARNING is also issued.

Rückgabewerte

Type of the column, on success.

FALSE when invalid field_offset value.

-1 if SQL sentence is not SELECT.

Beispiele

Beispiel #1 cubrid_field_type() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$result = cubrid_execute($conn, "SELECT * FROM code");

$col_num = cubrid_num_cols($result);

printf("%-15s %-15s %s\n", "Field Table", "Field Name", "Field Type");
for($i = 0; $i < $col_num; $i++) {
    printf("%-15s %-15s %s\n",
        cubrid_field_table($result, $i), cubrid_field_name($result, $i), cubrid_field_type($result, $i));
}

cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Field Table     Field Name      Field Type
code            s_name          char
code            f_name          varchar
cubrid_field_table
cubrid_list_dbs
CUBRID MySQL Compatibility Functions


Return an array with the list of all existing CUBRID databases

cubrid_field_type
cubrid_num_fields
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_list_dbs

(PECL CUBRID >= 8.3.0)

cubrid_list_dbs — Return an array with the list of all existing CUBRID databases

Beschreibung

array cubrid_list_dbs ([ resource $conn_identifier ] )

This function returns an array with the list of all existing Cubrid databases.

Parameter-Liste

conn_identifier

The CUBRID connection.

Rückgabewerte

An numeric array with all existing Cubrid databases; on success.

FALSE on failure.

Beispiele

Beispiel #1 cubrid_list_dbs() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$db_list = cubrid_list_dbs($conn);
var_dump($db_list);

cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(1) {
  [0]=>
  string(6) "demodb"
}
cubrid_field_type
cubrid_num_fields
CUBRID MySQL Compatibility Functions


Return the number of columns in the result set

cubrid_list_dbs
cubrid_ping
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_num_fields

(PECL CUBRID >= 8.3.0)

cubrid_num_fields — Return the number of columns in the result set

Beschreibung

int cubrid_num_fields ( resource $result )

This function returns the number of columns in the result set, on success, or it returns FALSE on failure.

Parameter-Liste

result

result comes from a call to cubrid_execute(), cubrid_query() and cubrid_prepare()

Rückgabewerte

Number of columns, on success.

-1 if SQL sentence is not SELECT.

FALSE when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_num_fields() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$req = cubrid_execute($conn, "SELECT * FROM code");

$row_num = cubrid_num_rows($req);
$col_num = cubrid_num_fields($req);

printf("Row Num: %d\nColumn Num: %d\n", $row_num, $col_num);

cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Row Num: 6
Column Num: 2
cubrid_list_dbs
cubrid_ping
CUBRID MySQL Compatibility Functions


Ping a server connection or reconnect if there is no connection

cubrid_num_fields
cubrid_query
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_ping

(PECL CUBRID >= 8.3.1)

cubrid_ping — Ping a server connection or reconnect if there is no connection

Beschreibung

bool cubrid_ping ([ resource $conn_identifier ] )

Checks whether or not the connection to the server is working.

Parameter-Liste

conn_identifier

The CUBRID connection identifier. If the connection identifier is not specified, the last connection opened by cubrid_connect() is assumed.

Rückgabewerte

Returns TRUE if the connection to the server CUBRID server is working, otherwise FALSE.

Beispiele

Beispiel #1 cubrid_ping() example

<?php
set_time_limit(0);

$conn = cubrid_connect('localhost', 33000, 'demodb');

/* Assuming this query will take a long time */
$sql = "select * from athlete";
$result = cubrid_query($sql);
if (!$result) {
    echo 'Query #1 failed, exiting.';
    exit;
}

/* Make sure the connection is still alive, if not, try to reconnect */
if (!cubrid_ping($conn)) {
    echo 'Lost connection, exiting after query #1';
    exit;
}
cubrid_free_result($result);

/* So the connection is still alive, let's run another query */
$sql2 = "select * from code";
$result2 = cubrid_query($sql2);
?>

cubrid_num_fields
cubrid_query
CUBRID MySQL Compatibility Functions


Send a CUBRID query

cubrid_ping
cubrid_real_escape_string
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_query

(PECL CUBRID >= 8.3.1)

cubrid_query — Send a CUBRID query

Beschreibung

resource cubrid_query ( string $query [, resource $conn_identifier ] )

cubrid_query() sends a unique query (multiple queries are not supported) to the currently active database on the server that's associated with the specified conn_identifier.

Parameter-Liste

query

An SQL query

Data inside the query should be properly escaped.

conn_identifier

The CUBRID connection. If the connection identifier is not specified, the last connection opened by cubrid_connect() is assumed.

Rückgabewerte

For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning resultset, cubrid_query() returns a resource on success, or FALSE on error.

For other type of SQL statements, INSERT, UPDATE, DELETE, DROP, etc, cubrid_query() returns TRUE on success or FALSE on error.

The returned result resource should be passed to cubrid_fetch_array(), and other functions for dealing with result tables, to access the returned data.

Use cubrid_num_rows() to find out how many rows were returned for a SELECT statement or cubrid_affected_rows() to find out how many rows were affected by a DELETE, INSERT, REPLACE, or UPDATE statement.

cubrid_query() will also fail and return FALSE if the user does not have permission to access the table(s) referenced by the query.

Beispiele

Beispiel #1 Invalid Query

The following query is syntactically invalid, so cubrid_query() fails and returns FALSE.

<?php
$conn = cubrid_connect('localhost', 33000, 'demodb');

$result = cubrid_query('SELECT * WHERE 1=1');
if (!$result) {
    die('Invalid query: ' . cubrid_error());
}

?>

Beispiel #2 Valid Query

The following query is valid, so cubrid_query() returns a resource.

<?php
// This could be supplied by a user, for example
$firstname = 'fred';
$lastname  = 'fox';

$conn = cubrid_connect('localhost', 33000, 'demodb');

cubrid_execute($conn,"DROP TABLE if exists friends");
cubrid_execute($conn,"create table friends(firstname varchar,lastname varchar,address char(24),age int)");
cubrid_execute($conn,"insert into friends values('fred','fox','home-1','20')");
cubrid_execute($conn,"insert into friends values('blue','cat','home-2','21')");
// Formulate Query
// This is the best way to perform an SQL query
// For more examples, see cubrid_real_escape_string()
$query = sprintf("SELECT firstname, lastname, address, age FROM friends WHERE firstname='%s' AND lastname='%s'",
cubrid_real_escape_string($firstname),
cubrid_real_escape_string($lastname));

// Perform Query
$result = cubrid_query($query);

// Check result
// This shows the actual query sent to CUBRID, and the error. Useful for debugging.
if (!$result) {
    $message  = 'Invalid query: ' . cubrid_error() . "\n";
    $message .= 'Whole query: ' . $query;
    die($message);
}

// Use result
// Attempting to print $result won't allow access to information in the resource
// One of the cubrid result functions must be used
// See also cubrid_result(), cubrid_fetch_array(), cubrid_fetch_row(), etc.
while ($row = cubrid_fetch_assoc($result)) {
    echo $row['firstname'];
    echo $row['lastname'];
    echo $row['address'];
    echo $row['age'];
}

// Free the resources associated with the result set
// This is done automatically at the end of the script
cubrid_free_result($result);
?>

Siehe auch

  • cubrid_connect() - Open a connection to a CUBRID Server
  • cubrid_error() - Get the error message
  • cubrid_real_escape_string() - Escape special characters in a string for use in an SQL statement
  • cubrid_result() - Return the value of a specific field in a specific row
  • cubrid_fetch_assoc() - Return the associative array that corresponds to the fetched row
  • cubrid_unbuffered_query() - Perform a query without fetching the results into memory

cubrid_ping
cubrid_real_escape_string
CUBRID MySQL Compatibility Functions


Escape special characters in a string for use in an SQL statement

cubrid_query
cubrid_result
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_real_escape_string

(PECL CUBRID >= 8.3.0)

cubrid_real_escape_string — Escape special characters in a string for use in an SQL statement

Beschreibung

string cubrid_real_escape_string ( string $unescaped_string [, resource $conn_identifier ] )

This function returns the escaped string version of the given string. It will escape the following characters: '. In general, single quotations are used to enclose character string. Double quotations may be used as well depending on the value of ansi_quotes, which is a parameter related to SQL statement. If the ansi_quotes value is set to no, character string enclosed by double quotations is handled as character string, not as an identifier. The default value is yes. If you want to include a single quote as part of a character string, enter two single quotes in a row.

Parameter-Liste

unescaped_string

The string that is to be escaped.

conn_identifier

The CUBRID connection. If the connection identifier is not specified, the last connection opened by cubrid_connect() is assumed.

Rückgabewerte

Escaped string version of the given string, on success.

FALSE on failure.

Beispiele

Beispiel #1 cubrid_real_escape_string() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$unescaped_str = ' !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
$escaped_str = cubrid_real_escape_string($unescaped_str);

$len = strlen($unescaped_str);

@cubrid_execute($conn, "DROP TABLE cubrid_test");
cubrid_execute($conn, "CREATE TABLE cubrid_test (t char($len))");
cubrid_execute($conn, "INSERT INTO cubrid_test (t) VALUES('$escaped_str')");

$req = cubrid_execute($conn, "SELECT * FROM cubrid_test");
$row = cubrid_fetch_assoc($req);

var_dump($row);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(1) {
  ["t"]=>
  string(95) " !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
}
cubrid_query
cubrid_result
CUBRID MySQL Compatibility Functions


Return the value of a specific field in a specific row

cubrid_real_escape_string
cubrid_unbuffered_query
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_result

(PECL CUBRID >= 8.3.0)

cubrid_result — Return the value of a specific field in a specific row

Beschreibung

string cubrid_result ( resource $result , int $row [, mixed $field = 0 ] )

This function returns the value of a specific field in a specific row from a result set.

Parameter-Liste

result

result comes from a call to cubrid_execute()

row

The row number from the result that is being retrieved. Row numbers start at 0.

field

The name or offset of the field being retrieved. It can be the field's offset, the field's name, or the field's table dot field name (tablename.fieldname). If the column name has been aliased ('select foo as bar from...'), use the alias instead of the column name. If undefined, the first field is retrieved.

Rückgabewerte

Value of a specific field, on success (NULL if value if null).

FALSE on failure.

Beispiele

Beispiel #1 cubrid_result() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$req = cubrid_execute($conn, "SELECT * FROM code");

$result = cubrid_result($req, 0);
var_dump($result);

$result = cubrid_result($req, 0, 1);
var_dump($result);

$result = cubrid_result($req, 5, "f_name");
var_dump($result);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(1) "X"
string(5) "Mixed"
string(4) "Gold"
cubrid_real_escape_string
cubrid_unbuffered_query
CUBRID MySQL Compatibility Functions


Perform a query without fetching the results into memory

cubrid_result
CUBRID Obsolete Aliases and Functions
CUBRID MySQL Compatibility Functions
PHP Manual

cubrid_unbuffered_query

(PECL CUBRID >= 8.3.0)

cubrid_unbuffered_query — Perform a query without fetching the results into memory

Beschreibung

resource cubrid_unbuffered_query ( string $query [, resource $conn_identifier ] )

This function performs a query without waiting for that all query results have been complete. It will return when the results are being generated.

Parameter-Liste

query

A SQL query.

conn_identifier

The CUBRID connection. If the connection identifier is not specified, the last connection opened by cubrid_connect() is assumed.

Rückgabewerte

For SELECT, SHOW, DESCRIBE or EXPLAIN statements returns a request identifier resource on success.

For other type of SQL statements, UPDATE, DELETE, DROP, etc, returns TRUE on success.

FALSE on failure.

Anmerkungen

Hinweis:

The benefits of cubrid_unbuffered_query() come at a cost: you cannot use cubrid_num_rows() and cubrid_data_seek() on a result set returned from cubrid_unbuffered_query().

Beispiele

Beispiel #1 cubrid_unbuffered_query() example

<?php
    $link = cubrid_connect("localhost", 30000, "demodb", "dba", "");
    if (!$link)
    {
        die('Could not connect.');
    }
    $query = "select * from code";
    $result = cubrid_unbuffered_query($query, $link);

    while ($row = cubrid_fetch($result))
    {
        var_dump($row);
    }

    cubrid_close_request($result);
    cubrid_disconnect($link);
?>
cubrid_result
CUBRID Obsolete Aliases and Functions
CUBRID MySQL Compatibility Functions


CUBRID Obsolete Aliases and Functions

Inhaltsverzeichnis

  • cubrid_load_from_glo — Read data from a GLO instance and save it in a file
  • cubrid_new_glo — Create a glo instance
  • cubrid_save_to_glo — Save requested file in a GLO instance
  • cubrid_send_glo — Read data from glo and send it to std output
cubrid_unbuffered_query
cubrid_load_from_glo
CUBRID


Read data from a GLO instance and save it in a file

CUBRID Obsolete Aliases and Functions
cubrid_new_glo
CUBRID Obsolete Aliases and Functions
PHP Manual

cubrid_load_from_glo

(PECL CUBRID >= 8.3.0)

cubrid_load_from_glo — Read data from a GLO instance and save it in a file

Beschreibung

int cubrid_load_from_glo ( resource $conn_identifier , string $oid , string $file_name )

The cubrid_load_from_glo() function is used to read a data from a glo instance, and saves it in a designated file.

Parameter-Liste

conn_identifier

Connection identifier.

oid

Oid of the glo instance that you want to read the data from.

file_name

Name of the file where you want to save the data in.

Rückgabewerte

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_load_from_glo() example

<?php
$req = cubrid_execute ($con, "select image from person where id=1");
if ($req) {
   list ($oid) = cubrid_fetch($req);
   cubrid_close_request($req);
   $res = cubrid_load_from_glo ($con, $oid, "output.jpg");
   if ($res) {
      echo "image changed successfully";
   }
}
?>

Anmerkungen

Hinweis:

Für die Abwärtskompatibiliät kann der folgende veraltete Alias verwendet werden: cubrid_load_from_glo()

Hinweis:

This function is removed from CUBRID 3.1.

Siehe auch

  • cubrid_new_glo() - Create a glo instance
  • cubrid_save_to_glo() - Save requested file in a GLO instance
  • cubrid_send_glo() - Read data from glo and send it to std output

CUBRID Obsolete Aliases and Functions
cubrid_new_glo
CUBRID Obsolete Aliases and Functions


Create a glo instance

cubrid_load_from_glo
cubrid_save_to_glo
CUBRID Obsolete Aliases and Functions
PHP Manual

cubrid_new_glo

(PECL CUBRID >= 8.3.0)

cubrid_new_glo — Create a glo instance

Beschreibung

string cubrid_new_glo ( resource $conn_identifier , string $class_name , string $file_name )

The cubrid_new_glo() function is used to create a glo instance in the requested class (glo class). The glo created is a LO type, and is stored in the file_name file.

Parameter-Liste

conn_identifier

Connection identifier.

class_name

Name of the class that you want to create a glo in.

file_name

The file name that you want to save in the newly created glo.

Rückgabewerte

Oid of the instance created, when process is successful.

FALSE, when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_new_glo() example

<?php
$oid = cubrid_new_glo ($con, "glo", "input.jpg");
if ($oid){
   // the type of column "image" is "object"
   $req = cubrid_execute ($con, "insert into person(image) values($oid)");
   if ($req) {
      echo "image inserted successfully";
      cubrid_close_request ($req);
      cubrid_commit($con);
   }
}
?>

Anmerkungen

Hinweis:

Für die Abwärtskompatibiliät kann der folgende veraltete Alias verwendet werden: cubrid_new_glo()

Hinweis:

This function is removed from CUBRID 3.1.

Siehe auch

  • cubrid_save_to_glo() - Save requested file in a GLO instance
  • cubrid_load_from_glo() - Read data from a GLO instance and save it in a file
  • cubrid_send_glo() - Read data from glo and send it to std output

cubrid_load_from_glo
cubrid_save_to_glo
CUBRID Obsolete Aliases and Functions


Save requested file in a GLO instance

cubrid_new_glo
cubrid_send_glo
CUBRID Obsolete Aliases and Functions
PHP Manual

cubrid_save_to_glo

(PECL CUBRID >= 8.3.0)

cubrid_save_to_glo — Save requested file in a GLO instance

Beschreibung

int cubrid_save_to_glo ( resource $conn_identifier , string $oid , string $file_name )

The cubrid_save_to_glo() function is used to save requested file in a glo instance.

Parameter-Liste

conn_identifier

Connection identifier.

oid

Oid of the glo instance that you want to save a file in.

file_name

The name of the file that you want to save.

Rückgabewerte

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_save_to_glo() example

<?php
$req = cubrid_execute ($con, "select image from person where id=1");
if ($req) {
   list ($oid) = cubrid_fetch($req);
   cubrid_close_request($req);
   $res = cubrid_save_to_glo ($con, $oid, "input.jpg");
   if ($res) {
      echo "image changed successfully";
   }
}
?>

Anmerkungen

Hinweis:

Für die Abwärtskompatibiliät kann der folgende veraltete Alias verwendet werden: cubrid_save_to_glo()

Hinweis:

This function is removed from CUBRID 3.1.

Siehe auch

  • cubrid_new_glo() - Create a glo instance
  • cubrid_load_from_glo() - Read data from a GLO instance and save it in a file
  • cubrid_send_glo() - Read data from glo and send it to std output

cubrid_new_glo
cubrid_send_glo
CUBRID Obsolete Aliases and Functions


Read data from glo and send it to std output

cubrid_save_to_glo
DB++
CUBRID Obsolete Aliases and Functions
PHP Manual

cubrid_send_glo

(PECL CUBRID >= 8.3.0)

cubrid_send_glo — Read data from glo and send it to std output

Beschreibung

int cubrid_send_glo ( resource $conn_identifier , string $oid )

The cubrid_send_glo() function is used to read data from glo instance and sends it to the PHP standard output.

Parameter-Liste

conn_identifier

Connection identifier.

oid

Oid of the glo instance that you want to read data from.

Rückgabewerte

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_send_glo() example

<?php
$req = cubrid_execute ($con, "select image from person where id =1");
if ($req) {
  list ($oid) = cubrid_fetch($req);
  cubrid_close_request($req);
  Header ("Content-type: image/jpeg");
  cubrid_send_glo ($con, $oid);
}
?>

Anmerkungen

Hinweis:

Für die Abwärtskompatibiliät kann der folgende veraltete Alias verwendet werden: cubrid_send_glo()

Hinweis:

This function is removed from CUBRID 3.1.

Siehe auch

  • cubrid_new_glo() - Create a glo instance
  • cubrid_save_to_glo() - Save requested file in a GLO instance
  • cubrid_load_from_glo() - Read data from a GLO instance and save it in a file

cubrid_save_to_glo
DB++
CUBRID Obsolete Aliases and Functions


DB++

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
    • db++ error codes
  • DB++ Funktionen
    • dbplus_add — Add a tuple to a relation
    • dbplus_aql — Perform AQL query
    • dbplus_chdir — Get/Set database virtual current directory
    • dbplus_close — Close a relation
    • dbplus_curr — Get current tuple from relation
    • dbplus_errcode — Get error string for given errorcode or last error
    • dbplus_errno — Get error code for last operation
    • dbplus_find — Set a constraint on a relation
    • dbplus_first — Get first tuple from relation
    • dbplus_flush — Flush all changes made on a relation
    • dbplus_freealllocks — Free all locks held by this client
    • dbplus_freelock — Release write lock on tuple
    • dbplus_freerlocks — Free all tuple locks on given relation
    • dbplus_getlock — Get a write lock on a tuple
    • dbplus_getunique — Get an id number unique to a relation
    • dbplus_info — Get information about a relation
    • dbplus_last — Get last tuple from relation
    • dbplus_lockrel — Request write lock on relation
    • dbplus_next — Get next tuple from relation
    • dbplus_open — Open relation file
    • dbplus_prev — Get previous tuple from relation
    • dbplus_rchperm — Change relation permissions
    • dbplus_rcreate — Creates a new DB++ relation
    • dbplus_rcrtexact — Creates an exact but empty copy of a relation including indices
    • dbplus_rcrtlike — Creates an empty copy of a relation with default indices
    • dbplus_resolve — Resolve host information for relation
    • dbplus_restorepos — Restore position
    • dbplus_rkeys — Specify new primary key for a relation
    • dbplus_ropen — Open relation file local
    • dbplus_rquery — Perform local (raw) AQL query
    • dbplus_rrename — Rename a relation
    • dbplus_rsecindex — Create a new secondary index for a relation
    • dbplus_runlink — Remove relation from filesystem
    • dbplus_rzap — Remove all tuples from relation
    • dbplus_savepos — Save position
    • dbplus_setindex — Set index
    • dbplus_setindexbynumber — Set index by number
    • dbplus_sql — Perform SQL query
    • dbplus_tcl — Execute TCL code on server side
    • dbplus_tremove — Remove tuple and return new current tuple
    • dbplus_undo — Undo
    • dbplus_undoprepare — Prepare undo
    • dbplus_unlockrel — Give up write lock on relation
    • dbplus_unselect — Remove a constraint from relation
    • dbplus_update — Update specified tuple in relation
    • dbplus_xlockrel — Request exclusive lock on relation
    • dbplus_xunlockrel — Free exclusive lock on relation
cubrid_send_glo
Einführung
Anbieterspezifische Datenbankerweiterungen


Einführung

db++, made by the German company » Concept asa, is a relational database system with high performance and low memory and disk usage in mind. While providing SQL as an additional language interface, it is not really an SQL database in the first place but provides its own AQL query language which is much more influenced by the relational algebra than SQL is.

Concept asa always had an interest in supporting open source languages, db++ has had Perl and Tcl call interfaces for years now and uses Tcl as its internal stored procedure language.

Warnung

Diese Erweiterung ist EXPERIMENTELL. Das Verhalten dieser Erweiterung, einschließlich der Funktionsnamen, und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Erweiterung auf eigenes Risiko.

DB++
Installation/Konfiguration
DB++


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
DB++


Anforderungen

This extension relies on external client libraries so you have to have a db++ client installed on the system you want to use this extension on.

» Concept asa provides » db++ Demo versions and » documentation for Linux, some other Unix versions. There is also a Windows version of db++, but this extension doesn't support it (yet).

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

In order to build this extension yourself you need the db++ client libraries and header files to be installed on your system (these are included in the db++ installation archives by default). You have to run configure with option --with-dbplus to build this extension.

configure looks for the client libraries and header files under the default paths /usr/dbplus, /usr/local/dbplus and /opt/dblus. If you have installed db++ in a different place you have add the installation path to the configure option like this: --with-dbplus=/your/installation/path .

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Ressource-Typen

dbplus_relation

Most db++ functions operate on or return dbplus_relation resources. A dbplus_relation is a handle to a stored relation or a relation generated as the result of a query.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Inhaltsverzeichnis

  • db++ error codes

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

Ressource-Typen
db++ error codes
DB++


db++ error codes

DB++ Error Codes
PHP Constant | db++ constant | meaning
DBPLUS_ERR_NOERR (integer) | ERR_NOERR | Null error condition
DBPLUS_ERR_DUPLICATE (integer) | ERR_DUPLICATE | Tried to insert a duplicate tuple
DBPLUS_ERR_EOSCAN (integer) | ERR_EOSCAN | End of scan from rget()
DBPLUS_ERR_EMPTY (integer) | ERR_EMPTY | Relation is empty (server)
DBPLUS_ERR_CLOSE (integer) | ERR_CLOSE | The server can't close
DBPLUS_ERR_WLOCKED (integer) | ERR_WLOCKED | The record is write locked
DBPLUS_ERR_LOCKED (integer) | ERR_LOCKED | Relation was already locked
DBPLUS_ERR_NOLOCK (integer) | ERR_NOLOCK | Relation cannot be locked
DBPLUS_ERR_READ (integer) | ERR_READ | Read error on relation
DBPLUS_ERR_WRITE (integer) | ERR_WRITE | Write error on relation
DBPLUS_ERR_CREATE (integer) | ERR_CREATE | Create() system call failed
DBPLUS_ERR_LSEEK (integer) | ERR_LSEEK | Lseek() system call failed
DBPLUS_ERR_LENGTH (integer) | ERR_LENGTH | Tuple exceeds maximum length
DBPLUS_ERR_OPEN (integer) | ERR_OPEN | Open() system call failed
DBPLUS_ERR_WOPEN (integer) | ERR_WOPEN | Relation already opened for writing
DBPLUS_ERR_MAGIC (integer) | ERR_MAGIC | File is not a relation
DBPLUS_ERR_VERSION (integer) | ERR_VERSION | File is a very old relation
DBPLUS_ERR_PGSIZE (integer) | ERR_PGSIZE | Relation uses a different page size
DBPLUS_ERR_CRC (integer) | ERR_CRC | Invalid crc in the superpage
DBPLUS_ERR_PIPE (integer) | ERR_PIPE | Piped relation requires lseek()
DBPLUS_ERR_NIDX (integer) | ERR_NIDX | Too many secondary indices
DBPLUS_ERR_MALLOC (integer) | ERR_MALLOC | Malloc() call failed
DBPLUS_ERR_NUSERS (integer) | ERR_NUSERS | Error use of max users
DBPLUS_ERR_PREEXIT (integer) | ERR_PREEXIT | Caused by invalid usage
DBPLUS_ERR_ONTRAP (integer) | ERR_ONTRAP | Caused by a signal
DBPLUS_ERR_PREPROC (integer) | ERR_PREPROC | Error in the preprocessor
DBPLUS_ERR_DBPARSE (integer) | ERR_DBPARSE | Error in the parser
DBPLUS_ERR_DBRUNERR (integer) | ERR_DBRUNERR | Run error in db
DBPLUS_ERR_DBPREEXIT (integer) | ERR_DBPREEXIT | Exit condition caused by prexit() * procedure
DBPLUS_ERR_WAIT (integer) | ERR_WAIT | Wait a little (Simple only)
DBPLUS_ERR_CORRUPT_TUPLE (integer) | ERR_CORRUPT_TUPLE | A client sent a corrupt tuple
DBPLUS_ERR_WARNING0 (integer) | ERR_WARNING0 | The Simple routines encountered a non fatal error which was corrected
DBPLUS_ERR_PANIC (integer) | ERR_PANIC | The server should not really die but after a disaster send ERR_PANIC to all its clients
DBPLUS_ERR_FIFO (integer) | ERR_FIFO | Can't create a fifo
DBPLUS_ERR_PERM (integer) | ERR_PERM | Permission denied
DBPLUS_ERR_TCL (integer) | ERR_TCL | TCL_error
DBPLUS_ERR_RESTRICTED (integer) | ERR_RESTRICTED | Only two users
DBPLUS_ERR_USER (integer) | ERR_USER | An error in the use of the library by an application programmer
DBPLUS_ERR_UNKNOWN (integer) | ERR_UNKNOWN |

Vordefinierte Konstanten
DB++ Funktionen
Vordefinierte Konstanten


DB++ Funktionen

Inhaltsverzeichnis

  • dbplus_add — Add a tuple to a relation
  • dbplus_aql — Perform AQL query
  • dbplus_chdir — Get/Set database virtual current directory
  • dbplus_close — Close a relation
  • dbplus_curr — Get current tuple from relation
  • dbplus_errcode — Get error string for given errorcode or last error
  • dbplus_errno — Get error code for last operation
  • dbplus_find — Set a constraint on a relation
  • dbplus_first — Get first tuple from relation
  • dbplus_flush — Flush all changes made on a relation
  • dbplus_freealllocks — Free all locks held by this client
  • dbplus_freelock — Release write lock on tuple
  • dbplus_freerlocks — Free all tuple locks on given relation
  • dbplus_getlock — Get a write lock on a tuple
  • dbplus_getunique — Get an id number unique to a relation
  • dbplus_info — Get information about a relation
  • dbplus_last — Get last tuple from relation
  • dbplus_lockrel — Request write lock on relation
  • dbplus_next — Get next tuple from relation
  • dbplus_open — Open relation file
  • dbplus_prev — Get previous tuple from relation
  • dbplus_rchperm — Change relation permissions
  • dbplus_rcreate — Creates a new DB++ relation
  • dbplus_rcrtexact — Creates an exact but empty copy of a relation including indices
  • dbplus_rcrtlike — Creates an empty copy of a relation with default indices
  • dbplus_resolve — Resolve host information for relation
  • dbplus_restorepos — Restore position
  • dbplus_rkeys — Specify new primary key for a relation
  • dbplus_ropen — Open relation file local
  • dbplus_rquery — Perform local (raw) AQL query
  • dbplus_rrename — Rename a relation
  • dbplus_rsecindex — Create a new secondary index for a relation
  • dbplus_runlink — Remove relation from filesystem
  • dbplus_rzap — Remove all tuples from relation
  • dbplus_savepos — Save position
  • dbplus_setindex — Set index
  • dbplus_setindexbynumber — Set index by number
  • dbplus_sql — Perform SQL query
  • dbplus_tcl — Execute TCL code on server side
  • dbplus_tremove — Remove tuple and return new current tuple
  • dbplus_undo — Undo
  • dbplus_undoprepare — Prepare undo
  • dbplus_unlockrel — Give up write lock on relation
  • dbplus_unselect — Remove a constraint from relation
  • dbplus_update — Update specified tuple in relation
  • dbplus_xlockrel — Request exclusive lock on relation
  • dbplus_xunlockrel — Free exclusive lock on relation
db++ error codes
dbplus_add
DB++


Add a tuple to a relation

DB++ Funktionen
dbplus_aql
DB++ Funktionen
PHP Manual

dbplus_add

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_add — Add a tuple to a relation

Beschreibung

int dbplus_add ( resource $relation , array $tuple )

Adds a tuple to a relation.

Parameter-Liste

relation

tuple

An array of attribute/value pairs to be inserted into the given relation.

After successful execution this array will contain the complete data of the newly created tuple, including all implicitly set domain fields like sequences.

Rückgabewerte

The function will return DBPLUS_ERR_NOERR on success or a db++ error code on failure.

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Siehe auch

  • dbplus_errcode() - Get error string for given errorcode or last error

DB++ Funktionen
dbplus_aql
DB++ Funktionen


Perform AQL query

dbplus_add
dbplus_chdir
DB++ Funktionen
PHP Manual

dbplus_aql

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_aql — Perform AQL query

Beschreibung

resource dbplus_aql ( string $query [, string $server [, string $dbpath ]] )

Executes an AQL query on the given server and dbpath.

Parameter-Liste

query

The AQL query to be executed. Further information on the AQL (Algebraic Query Language) is provided in the original db++ manual.

server

dbpath

Rückgabewerte

Returns a relation handle on success. The result data may be fetched from this relation by calling dbplus_next() and dbplus_curr(). Other relation access functions will not work on a result relation.

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

dbplus_add
dbplus_chdir
DB++ Funktionen


Get/Set database virtual current directory

dbplus_aql
dbplus_close
DB++ Funktionen
PHP Manual

dbplus_chdir

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_chdir — Get/Set database virtual current directory

Beschreibung

string dbplus_chdir ([ string $newdir ] )

Changes the virtual current directory where relation files will be looked for by dbplus_open().

Parameter-Liste

newdir

The new directory for relation files. You can omit this parameter to query the current working directory.

Rückgabewerte

Returns the absolute path of the current directory.

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

dbplus_aql
dbplus_close
DB++ Funktionen


Close a relation

dbplus_chdir
dbplus_curr
DB++ Funktionen
PHP Manual

dbplus_close

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_close — Close a relation

Beschreibung

mixed dbplus_close ( resource $relation )

Closes a relation previously opened by dbplus_open().

Parameter-Liste

relation

A relation opened by dbplus_open().

Rückgabewerte

Returns TRUE on success or DBPLUS_ERR_UNKNOWN on failure.

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

dbplus_chdir
dbplus_curr
DB++ Funktionen


Get current tuple from relation

dbplus_close
dbplus_errcode
DB++ Funktionen
PHP Manual

dbplus_curr

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_curr — Get current tuple from relation

Beschreibung

int dbplus_curr ( resource $relation , array &$tuple )

Reads the data for the current tuple for the given relation.

Parameter-Liste

relation

A relation opened by dbplus_open().

tuple

The data will be passed back in this parameter, as an associative array.

Rückgabewerte

The function will return zero (aka. DBPLUS_ERR_NOERR) on success or a db++ error code on failure.

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Siehe auch

  • dbplus_first() - Get first tuple from relation
  • dbplus_prev() - Get previous tuple from relation
  • dbplus_next() - Get next tuple from relation
  • dbplus_last() - Get last tuple from relation
  • dbplus_errcode() - Get error string for given errorcode or last error

dbplus_close
dbplus_errcode
DB++ Funktionen


Get error string for given errorcode or last error

dbplus_curr
dbplus_errno
DB++ Funktionen
PHP Manual

dbplus_errcode

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_errcode — Get error string for given errorcode or last error

Beschreibung

string dbplus_errcode ([ int $errno ] )

Returns a clear error string for the given error code.

Parameter-Liste

errno

The error code. If not provided, the result code of the last db++ operation is assumed.

Rückgabewerte

Returns the error message.

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

dbplus_curr
dbplus_errno
DB++ Funktionen


Get error code for last operation

dbplus_errcode
dbplus_find
DB++ Funktionen
PHP Manual

dbplus_errno

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_errno — Get error code for last operation

Beschreibung

int dbplus_errno ( void )

Returns the error code returned by the last db++ operation.

Rückgabewerte

Returns the error code, as an integer.

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Siehe auch

  • dbplus_errcode() - Get error string for given errorcode or last error

dbplus_errcode
dbplus_find
DB++ Funktionen


Set a constraint on a relation

dbplus_errno
dbplus_first
DB++ Funktionen
PHP Manual

dbplus_find

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_find — Set a constraint on a relation

Beschreibung

int dbplus_find ( resource $relation , array $constraints , mixed $tuple )

Places a constraint on the given relation.

Further calls to functions like dbplus_curr() or dbplus_next() will only return tuples matching the given constraints.

Parameter-Liste

relation

A relation opened by dbplus_open().

constraints

Constraints are triplets of strings containing of a domain name, a comparison operator and a comparison value. The constraints parameter array may consist of a collection of string arrays, each of which contains a domain, an operator and a value, or of a single string array containing a multiple of three elements.

The comparison operator may be one of the following strings: '==', '>', '>=', '<', '<=', '!=', '~' for a regular expression match and 'BAND' or 'BOR' for bitwise operations.

tuple

Rückgabewerte

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Siehe auch

  • dbplus_unselect() - Remove a constraint from relation

dbplus_errno
dbplus_first
DB++ Funktionen


Get first tuple from relation

dbplus_find
dbplus_flush
DB++ Funktionen
PHP Manual

dbplus_first

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_first — Get first tuple from relation

Beschreibung

int dbplus_first ( resource $relation , array &$tuple )

Reads the data for the first tuple for the given relation, makes it the current tuple and pass it back as an associative array in tuple.

Parameter-Liste

relation

A relation opened by dbplus_open().

tuple

Rückgabewerte

Returns DBPLUS_ERR_NOERR on success or a db++ error code on failure.

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Siehe auch

  • dbplus_curr() - Get current tuple from relation
  • dbplus_prev() - Get previous tuple from relation
  • dbplus_next() - Get next tuple from relation
  • dbplus_last() - Get last tuple from relation
  • dbplus_errcode() - Get error string for given errorcode or last error

dbplus_find
dbplus_flush
DB++ Funktionen


Flush all changes made on a relation

dbplus_first
dbplus_freealllocks
DB++ Funktionen
PHP Manual

dbplus_flush

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_flush — Flush all changes made on a relation

Beschreibung

int dbplus_flush ( resource $relation )

Writes all changes applied to relation since the last flush to disk.

Parameter-Liste

relation

A relation opened by dbplus_open().

Rückgabewerte

Returns DBPLUS_ERR_NOERR on success or a db++ error code on failure.

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Siehe auch

  • dbplus_errcode() - Get error string for given errorcode or last error

dbplus_first
dbplus_freealllocks
DB++ Funktionen


Free all locks held by this client

dbplus_flush
dbplus_freelock
DB++ Funktionen
PHP Manual

dbplus_freealllocks

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_freealllocks — Free all locks held by this client

Beschreibung

int dbplus_freealllocks ( void )

Frees all tuple locks held by this client.

Rückgabewerte

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Siehe auch

  • dbplus_getlock() - Get a write lock on a tuple
  • dbplus_freelock() - Release write lock on tuple
  • dbplus_freerlocks() - Free all tuple locks on given relation

dbplus_flush
dbplus_freelock
DB++ Funktionen


Release write lock on tuple

dbplus_freealllocks
dbplus_freerlocks
DB++ Funktionen
PHP Manual

dbplus_freelock

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_freelock — Release write lock on tuple

Beschreibung

int dbplus_freelock ( resource $relation , string $tuple )

Releases a write lock on the given tuple previously obtained by dbplus_getlock().

Parameter-Liste

relation

A relation opened by dbplus_open().

tuple

Rückgabewerte

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Siehe auch

  • dbplus_getlock() - Get a write lock on a tuple
  • dbplus_freerlocks() - Free all tuple locks on given relation
  • dbplus_freealllocks() - Free all locks held by this client

dbplus_freealllocks
dbplus_freerlocks
DB++ Funktionen


Free all tuple locks on given relation

dbplus_freelock
dbplus_getlock
DB++ Funktionen
PHP Manual

dbplus_freerlocks

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_freerlocks — Free all tuple locks on given relation

Beschreibung

int dbplus_freerlocks ( resource $relation )

Frees all tuple locks held on the given relation.

Parameter-Liste

relation

A relation opened by dbplus_open().

Rückgabewerte

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Siehe auch

  • dbplus_getlock() - Get a write lock on a tuple
  • dbplus_freelock() - Release write lock on tuple
  • dbplus_freealllocks() - Free all locks held by this client

dbplus_freelock
dbplus_getlock
DB++ Funktionen


Get a write lock on a tuple

dbplus_freerlocks
dbplus_getunique
DB++ Funktionen
PHP Manual

dbplus_getlock

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_getlock — Get a write lock on a tuple

Beschreibung

int dbplus_getlock ( resource $relation , string $tuple )

Requests a write lock on the specified tuple.

Parameter-Liste

relation

A relation opened by dbplus_open().

tuple

Rückgabewerte

Returns zero on success or a non-zero error code, especially DBPLUS_ERR_WLOCKED on failure.

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Siehe auch

  • dbplus_freelock() - Release write lock on tuple
  • dbplus_freerlocks() - Free all tuple locks on given relation
  • dbplus_freealllocks() - Free all locks held by this client

dbplus_freerlocks
dbplus_getunique
DB++ Funktionen


Get an id number unique to a relation

dbplus_getlock
dbplus_info
DB++ Funktionen
PHP Manual

dbplus_getunique

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_getunique — Get an id number unique to a relation

Beschreibung

int dbplus_getunique ( resource $relation , int $uniqueid )

Obtains a number guaranteed to be unique for the given relation and will pass it back in the variable given as uniqueid.

Parameter-Liste

relation

A relation opened by dbplus_open().

uniqueid

Rückgabewerte

Returns DBPLUS_ERR_NOERR on success or a db++ error code on failure.

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

dbplus_getlock
dbplus_info
DB++ Funktionen


Get information about a relation

dbplus_getunique
dbplus_last
DB++ Funktionen
PHP Manual

dbplus_info

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_info — Get information about a relation

Beschreibung

int dbplus_info ( resource $relation , string $key , array &$result )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

relation

A relation opened by dbplus_open().

key

result

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

dbplus_getunique
dbplus_last
DB++ Funktionen


Get last tuple from relation

dbplus_info
dbplus_lockrel
DB++ Funktionen
PHP Manual

dbplus_last

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_last — Get last tuple from relation

Beschreibung

int dbplus_last ( resource $relation , array &$tuple )

Reads the data for the last tuple for the given relation, makes it the current tuple and pass it back as an associative array in tuple.

Parameter-Liste

relation

A relation opened by dbplus_open().

tuple

Rückgabewerte

Returns DBPLUS_ERR_NOERR on success or a db++ error code on failure.

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Siehe auch

  • dbplus_first() - Get first tuple from relation
  • dbplus_curr() - Get current tuple from relation
  • dbplus_prev() - Get previous tuple from relation
  • dbplus_next() - Get next tuple from relation

dbplus_info
dbplus_lockrel
DB++ Funktionen


Request write lock on relation

dbplus_last
dbplus_next
DB++ Funktionen
PHP Manual

dbplus_lockrel

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_lockrel — Request write lock on relation

Beschreibung

int dbplus_lockrel ( resource $relation )

Requests a write lock on the given relation.

Other clients may still query the relation, but can't alter it while it is locked.

Parameter-Liste

relation

A relation opened by dbplus_open().

Rückgabewerte

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

dbplus_last
dbplus_next
DB++ Funktionen


Get next tuple from relation

dbplus_lockrel
dbplus_open
DB++ Funktionen
PHP Manual

dbplus_next

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_next — Get next tuple from relation

Beschreibung

int dbplus_next ( resource $relation , array &$tuple )

Reads the data for the next tuple for the given relation, makes it the current tuple and will pass it back as an associative array in tuple.

Parameter-Liste

relation

A relation opened by dbplus_open().

tuple

Rückgabewerte

Returns DBPLUS_ERR_NOERR on success or a db++ error code on failure.

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Siehe auch

  • dbplus_first() - Get first tuple from relation
  • dbplus_curr() - Get current tuple from relation
  • dbplus_prev() - Get previous tuple from relation
  • dbplus_last() - Get last tuple from relation

dbplus_lockrel
dbplus_open
DB++ Funktionen


Open relation file

dbplus_next
dbplus_prev
DB++ Funktionen
PHP Manual

dbplus_open

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_open — Open relation file

Beschreibung

resource dbplus_open ( string $name )

Opens the given relation file.

Parameter-Liste

name

Can be either a file name or a relative or absolute path name. This will be mapped in any case to an absolute relation file path on a specific host machine and server.

Rückgabewerte

On success a relation file resource (cursor) is returned which must be used in any subsequent commands referencing the relation. Failure leads to a zero return value, the actual error code may be asked for by calling dbplus_errno().

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

dbplus_next
dbplus_prev
DB++ Funktionen


Get previous tuple from relation

dbplus_open
dbplus_rchperm
DB++ Funktionen
PHP Manual

dbplus_prev

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_prev — Get previous tuple from relation

Beschreibung

int dbplus_prev ( resource $relation , array &$tuple )

Reads the data for the previous tuple for the given relation, makes it the current tuple and will pass it back as an associative array in tuple.

Parameter-Liste

relation

A relation opened by dbplus_open().

tuple

Rückgabewerte

Returns DBPLUS_ERR_NOERR on success or a db++ error code on failure.

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Siehe auch

  • dbplus_first() - Get first tuple from relation
  • dbplus_curr() - Get current tuple from relation
  • dbplus_next() - Get next tuple from relation
  • dbplus_last() - Get last tuple from relation

dbplus_open
dbplus_rchperm
DB++ Funktionen


Change relation permissions

dbplus_prev
dbplus_rcreate
DB++ Funktionen
PHP Manual

dbplus_rchperm

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_rchperm — Change relation permissions

Beschreibung

int dbplus_rchperm ( resource $relation , int $mask , string $user , string $group )

Changes access permissions as specified by mask, user and group. The values for these are operating system specific.

Parameter-Liste

relation

A relation opened by dbplus_open().

mask

user

group

Rückgabewerte

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

dbplus_prev
dbplus_rcreate
DB++ Funktionen


Creates a new DB++ relation

dbplus_rchperm
dbplus_rcrtexact
DB++ Funktionen
PHP Manual

dbplus_rcreate

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_rcreate — Creates a new DB++ relation

Beschreibung

resource dbplus_rcreate ( string $name , mixed $domlist [, bool $overwrite ] )

Creates a new relation. Any existing relation sharing the same name will be overwritten if the relation is currently not in use and overwrite is set to TRUE.

Parameter-Liste

name

domlist

A combination of domains. May be passed as a single domain name string or as an array of domain names.

This parameter should contain the domain specification for the new relation within an array of domain description strings. A domain description string consists of a domain name unique to this relation, a slash and a type specification character. See the db++ documentation, especially the dbcreate(1) manpage, for a description of available type specifiers and their meanings.

Hinweis:

This function will also accept a string with space delimited domain description strings, but it is recommended to use an array

overwrite

Rückgabewerte

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

dbplus_rchperm
dbplus_rcrtexact
DB++ Funktionen


Creates an exact but empty copy of a relation including indices

dbplus_rcreate
dbplus_rcrtlike
DB++ Funktionen
PHP Manual

dbplus_rcrtexact

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_rcrtexact — Creates an exact but empty copy of a relation including indices

Beschreibung

mixed dbplus_rcrtexact ( string $name , resource $relation [, bool $overwrite ] )

dbplus_rcrtexact() will create an exact but empty copy of the given relation under a new name.

Parameter-Liste

name

relation

The copied relation, opened by dbplus_open().

overwrite

An existing relation by the same name will only be overwritten if this parameter is set to TRUE and no other process is currently using the relation.

Rückgabewerte

Returns resource on success or DBPLUS_ERR_UNKNOWN on failure.

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

dbplus_rcreate
dbplus_rcrtlike
DB++ Funktionen


Creates an empty copy of a relation with default indices

dbplus_rcrtexact
dbplus_resolve
DB++ Funktionen
PHP Manual

dbplus_rcrtlike

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_rcrtlike — Creates an empty copy of a relation with default indices

Beschreibung

mixed dbplus_rcrtlike ( string $name , resource $relation [, int $overwrite ] )

dbplus_rcrtexact() will create an empty copy of the given relation under a new name, but with default indices.

Parameter-Liste

name

relation

The copied relation, opened by dbplus_open().

overwrite

An existing relation by the same name will only be overwritten if this parameter is set to TRUE and no other process is currently using the relation.

Rückgabewerte

Returns resource on success or DBPLUS_ERR_UNKNOWN on failure.

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

dbplus_rcrtexact
dbplus_resolve
DB++ Funktionen


Resolve host information for relation

dbplus_rcrtlike
dbplus_restorepos
DB++ Funktionen
PHP Manual

dbplus_resolve

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_resolve — Resolve host information for relation

Beschreibung

array dbplus_resolve ( string $relation_name )

dbplus_resolve() will try to resolve the given relation_name and find out internal server id, real hostname and the database path on this host.

Parameter-Liste

relation_name

The relation name.

Rückgabewerte

Returns an array containing these values under the keys sid, host and host_path or FALSE on error.

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Siehe auch

  • dbplus_tcl() - Execute TCL code on server side

dbplus_rcrtlike
dbplus_restorepos
DB++ Funktionen


Restore position

dbplus_resolve
dbplus_rkeys
DB++ Funktionen
PHP Manual

dbplus_restorepos

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_restorepos — Restore position

Beschreibung

int dbplus_restorepos ( resource $relation , array $tuple )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

relation

A relation opened by dbplus_open().

tuple

Rückgabewerte

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

dbplus_resolve
dbplus_rkeys
DB++ Funktionen


Specify new primary key for a relation

dbplus_restorepos
dbplus_ropen
DB++ Funktionen
PHP Manual

dbplus_rkeys

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_rkeys — Specify new primary key for a relation

Beschreibung

mixed dbplus_rkeys ( resource $relation , mixed $domlist )

dbplus_rkeys() will replace the current primary key for relation with the combination of domains specified by domlist.

Parameter-Liste

relation

A relation opened by dbplus_open().

domlist

A combination of domains. May be passed as a single domain name string or as an array of domain names.

Rückgabewerte

Returns resource on success or DBPLUS_ERR_UNKNOWN on failure.

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

dbplus_restorepos
dbplus_ropen
DB++ Funktionen


Open relation file local

dbplus_rkeys
dbplus_rquery
DB++ Funktionen
PHP Manual

dbplus_ropen

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_ropen — Open relation file local

Beschreibung

resource dbplus_ropen ( string $name )

dbplus_ropen() will open the relation file locally for quick access without any client/server overhead. Access is read only and only dbplus_curr() and dbplus_next() may be applied to the returned relation.

Parameter-Liste

name

Rückgabewerte

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

dbplus_rkeys
dbplus_rquery
DB++ Funktionen


Perform local (raw) AQL query

dbplus_ropen
dbplus_rrename
DB++ Funktionen
PHP Manual

dbplus_rquery

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_rquery — Perform local (raw) AQL query

Beschreibung

resource dbplus_rquery ( string $query [, string $dbpath ] )

dbplus_rquery() performs a local (raw) AQL query using an AQL interpreter embedded into the db++ client library. dbplus_rquery() is faster than dbplus_aql() but will work on local data only.

Parameter-Liste

query

dbpath

Rückgabewerte

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

dbplus_ropen
dbplus_rrename
DB++ Funktionen


Rename a relation

dbplus_rquery
dbplus_rsecindex
DB++ Funktionen
PHP Manual

dbplus_rrename

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_rrename — Rename a relation

Beschreibung

int dbplus_rrename ( resource $relation , string $name )

dbplus_rrename() will change the name of relation to name.

Parameter-Liste

relation

A relation opened by dbplus_open().

name

Rückgabewerte

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

dbplus_rquery
dbplus_rsecindex
DB++ Funktionen


Create a new secondary index for a relation

dbplus_rrename
dbplus_runlink
DB++ Funktionen
PHP Manual

dbplus_rsecindex

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_rsecindex — Create a new secondary index for a relation

Beschreibung

mixed dbplus_rsecindex ( resource $relation , mixed $domlist , int $type )

dbplus_rsecindex() will create a new secondary index for relation with consists of the domains specified by domlist and is of type type

Parameter-Liste

relation

A relation opened by dbplus_open().

domlist

A combination of domains. May be passed as a single domain name string or as an array of domain names.

type

Rückgabewerte

Returns resource on success or DBPLUS_ERR_UNKNOWN on failure.

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

dbplus_rrename
dbplus_runlink
DB++ Funktionen


Remove relation from filesystem

dbplus_rsecindex
dbplus_rzap
DB++ Funktionen
PHP Manual

dbplus_runlink

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_runlink — Remove relation from filesystem

Beschreibung

int dbplus_runlink ( resource $relation )

dbplus_runlink() will close and remove the relation.

Parameter-Liste

relation

A relation opened by dbplus_open().

Rückgabewerte

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

dbplus_rsecindex
dbplus_rzap
DB++ Funktionen


Remove all tuples from relation

dbplus_runlink
dbplus_savepos
DB++ Funktionen
PHP Manual

dbplus_rzap

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_rzap — Remove all tuples from relation

Beschreibung

int dbplus_rzap ( resource $relation )

dbplus_rzap() will remove all tuples from relation.

Parameter-Liste

relation

A relation opened by dbplus_open().

Rückgabewerte

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

dbplus_runlink
dbplus_savepos
DB++ Funktionen


Save position

dbplus_rzap
dbplus_setindex
DB++ Funktionen
PHP Manual

dbplus_savepos

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_savepos — Save position

Beschreibung

int dbplus_savepos ( resource $relation )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

relation

A relation opened by dbplus_open().

Rückgabewerte

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

dbplus_rzap
dbplus_setindex
DB++ Funktionen


Set index

dbplus_savepos
dbplus_setindexbynumber
DB++ Funktionen
PHP Manual

dbplus_setindex

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_setindex — Set index

Beschreibung

int dbplus_setindex ( resource $relation , string $idx_name )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

relation

A relation opened by dbplus_open().

idx_name

Rückgabewerte

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

dbplus_savepos
dbplus_setindexbynumber
DB++ Funktionen


Set index by number

dbplus_setindex
dbplus_sql
DB++ Funktionen
PHP Manual

dbplus_setindexbynumber

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_setindexbynumber — Set index by number

Beschreibung

int dbplus_setindexbynumber ( resource $relation , int $idx_number )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

relation

A relation opened by dbplus_open().

idx_number

Rückgabewerte

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

dbplus_setindex
dbplus_sql
DB++ Funktionen


Perform SQL query

dbplus_setindexbynumber
dbplus_tcl
DB++ Funktionen
PHP Manual

dbplus_sql

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_sql — Perform SQL query

Beschreibung

resource dbplus_sql ( string $query [, string $server [, string $dbpath ]] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

query

server

dbpath

Rückgabewerte

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

dbplus_setindexbynumber
dbplus_tcl
DB++ Funktionen


Execute TCL code on server side

dbplus_sql
dbplus_tremove
DB++ Funktionen
PHP Manual

dbplus_tcl

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_tcl — Execute TCL code on server side

Beschreibung

string dbplus_tcl ( int $sid , string $script )

A db++ server will prepare a TCL interpreter for each client connection. This interpreter will enable the server to execute TCL code provided by the client as a sort of stored procedures to improve the performance of database operations by avoiding client/server data transfers and context switches.

dbplus_tcl() needs to pass the client connection id the TCL script code should be executed by. dbplus_resolve() will provide this connection id. The function will return whatever the TCL code returns or a TCL error message if the TCL code fails.

Parameter-Liste

sid

script

Rückgabewerte

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Siehe auch

  • dbplus_resolve() - Resolve host information for relation

dbplus_sql
dbplus_tremove
DB++ Funktionen


Remove tuple and return new current tuple

dbplus_tcl
dbplus_undo
DB++ Funktionen
PHP Manual

dbplus_tremove

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_tremove — Remove tuple and return new current tuple

Beschreibung

int dbplus_tremove ( resource $relation , array $tuple [, array &$current ] )

dbplus_tremove() removes tuple from relation if it perfectly matches a tuple within the relation. current, if given, will contain the data of the new current tuple after calling dbplus_tremove().

Parameter-Liste

relation

A relation opened by dbplus_open().

tuple

current

Rückgabewerte

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

dbplus_tcl
dbplus_undo
DB++ Funktionen


Undo

dbplus_tremove
dbplus_undoprepare
DB++ Funktionen
PHP Manual

dbplus_undo

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_undo — Undo

Beschreibung

int dbplus_undo ( resource $relation )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

relation

A relation opened by dbplus_open().

Rückgabewerte

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

dbplus_tremove
dbplus_undoprepare
DB++ Funktionen


Prepare undo

dbplus_undo
dbplus_unlockrel
DB++ Funktionen
PHP Manual

dbplus_undoprepare

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_undoprepare — Prepare undo

Beschreibung

int dbplus_undoprepare ( resource $relation )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

relation

A relation opened by dbplus_open().

Rückgabewerte

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

dbplus_undo
dbplus_unlockrel
DB++ Funktionen


Give up write lock on relation

dbplus_undoprepare
dbplus_unselect
DB++ Funktionen
PHP Manual

dbplus_unlockrel

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_unlockrel — Give up write lock on relation

Beschreibung

int dbplus_unlockrel ( resource $relation )

Release a write lock previously obtained by dbplus_lockrel().

Parameter-Liste

relation

A relation opened by dbplus_open().

Rückgabewerte

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

dbplus_undoprepare
dbplus_unselect
DB++ Funktionen


Remove a constraint from relation

dbplus_unlockrel
dbplus_update
DB++ Funktionen
PHP Manual

dbplus_unselect

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_unselect — Remove a constraint from relation

Beschreibung

int dbplus_unselect ( resource $relation )

Calling dbplus_unselect() will remove a constraint previously set by dbplus_find() on relation.

Parameter-Liste

relation

A relation opened by dbplus_open().

Rückgabewerte

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

dbplus_unlockrel
dbplus_update
DB++ Funktionen


Update specified tuple in relation

dbplus_unselect
dbplus_xlockrel
DB++ Funktionen
PHP Manual

dbplus_update

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_update — Update specified tuple in relation

Beschreibung

int dbplus_update ( resource $relation , array $old , array $new )

dbplus_update() replaces the old tuple with the data from the new one, only if the old completely matches a tuple within relation.

Parameter-Liste

relation

A relation opened by dbplus_open().

old

The old tuple.

new

The new tuple.

Rückgabewerte

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

dbplus_unselect
dbplus_xlockrel
DB++ Funktionen


Request exclusive lock on relation

dbplus_update
dbplus_xunlockrel
DB++ Funktionen
PHP Manual

dbplus_xlockrel

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_xlockrel — Request exclusive lock on relation

Beschreibung

int dbplus_xlockrel ( resource $relation )

Request an exclusive lock on relation preventing even read access from other clients.

Parameter-Liste

relation

A relation opened by dbplus_open().

Rückgabewerte

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Siehe auch

  • dbplus_xunlockrel() - Free exclusive lock on relation

dbplus_update
dbplus_xunlockrel
DB++ Funktionen


Free exclusive lock on relation

dbplus_xlockrel
dBase
DB++ Funktionen
PHP Manual

dbplus_xunlockrel

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_xunlockrel — Free exclusive lock on relation

Beschreibung

int dbplus_xunlockrel ( resource $relation )

Releases an exclusive lock previously obtained by dbplus_xlockrel().

Parameter-Liste

relation

A relation opened by dbplus_open().

Rückgabewerte

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

dbplus_xlockrel
dBase
DB++ Funktionen


dBase

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • dBase Funktionen
    • dbase_add_record — Hängt einen Datensatz an eine Datenbank an
    • dbase_close — Schließt eine Datenbank
    • dbase_create — Erzeugt eine Datenbank
    • dbase_delete_record — Markiert einen Datensatz als gelöscht
    • dbase_get_header_info — Liefert Informationen des Dateikopfs einer Datenbank
    • dbase_get_record_with_names — Liefert einen Datensatz aus einer Datenbank als assoziatives Array
    • dbase_get_record — Liefert einen Datensatz aus einer Datenbank als indiziertes Array
    • dbase_numfields — Liefert die Anzahl der Felder einer Datenbank
    • dbase_numrecords — Liefert die Anzahl der Datensätze einer Datenbank
    • dbase_open — Öffnet eine Datenbank
    • dbase_pack — Entfernt die als gelöscht markierten Datensätze aus einer Datenbank
    • dbase_replace_record — Ersetzt einen Datensatz in einer Datenbank
dbplus_xunlockrel
Einführung
Anbieterspezifische Datenbankerweiterungen


Einführung

Diese Funktionen erlauben Ihnen den Zugriff auf Datensätze, die in Datenbanken im dBase-Format (dbf) vorliegen.

dBase-Dateien sind einfache sequentielle Dateien mit fester Datensatzlänge. Neue Datensätze werden am Dateiende angehängt und gelöschte Datensätze werden beibehalten, bis Sie dbase_pack() aufrufen.

Nur dbf Datei-Level 3 (dBASE III+) - 5 (dBASE V) werden unterstützt. Folgende dBase-Feldtypen stehen stehen zur Verfügung:

Verfügbare Feldtypen
Feld | dBase-Typ | Format | Zusätzliche Informationen
M | Memo | n/a | Dieser Typ wird von PHP nicht unterstützt, ein solches Feld wird ignoriert
D | Date | YYYYMMDD | Die Feldlänge ist auf acht Zeichen begrenzt
T | DateTime | YYYYMMDDhhmmss.uuu | Es wird keine Gültigkeitsprüfung vorgenommen. Verfügbar seit dbase 7.0.0.
N | Number | Eine Zahl | Sie müssen die Länge und die Genauigkeit (die Anzahl der Nachkommastellen) angeben
C | String | Eine Zeichenkette | Sie müssen die Länge angeben. Wenn Daten eingetragen werden, werden Leerzeichen ans Ende der Zeichenkette angehängt, bis die festgelegte Länge erreicht ist. Überlange Zeichenketten werden stillschweigend abgeschnitten, wenn die Daten gespeichert werden.
L | Boolean | T oder Y für TRUE, F oder N für FALSE | Wird seit dbase 7.0.0 als bool (TRUE oder FALSE) zurückgeliefert. Wurde vorher als int (1 oder 0> zurückgeliefert.
F | Float | Eine Gleitkommazahl | Die Unterstützung für diesen Feldtyp wurde in PHP 5.2.0 hinzugefügt

Hinweis:

Diese Erweiterung wurde ins » PECL-Repositorium verschoben und ist nicht mehr Teil von PHP ab PHP 5.3.0.

Warnung

Es gibt keine Unterstützug für Indizes oder Memo-Felder. Auch Sperrfunktionen sind nicht vorhanden. Zwei gleichzeitig ablaufende Webserver-Prozesse, die die selbe dBase-Datei bearbeiten, werden Ihre Datenbank sehr wahrscheinlich zerstören.

Wir empfehlen, keine dBase-Dateien als Produktions-Datenbank zu benutzen. Wählen Sie dafür stattdessen einen echten SQL-Server; » MySQL oder » Postgres sind bei PHP eine gute Wahl. Die dBase-Unterstützung durch PHP dient hauptsächlich dem Im- und Export von Daten zu oder aus ihrer Web-Datenbank, weil das DBF-Datei-Format allgemein von Windows-Tabellenkalulationen und -Zeitplanern verstanden wird.

dBase
Installation/Konfiguration
dBase


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
dBase


Installation

Um die mitgelieferte dBase-Bibliothek zu aktivieren und diese Funktionen zu benutzen, müssen Sie PHP mit der Option --enable-dbase übersetzen.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
dBase Funktionen
dBase


dBase Funktionen

Beispiele

Für viele Beispiele dieses Abschnitts wird eine dBase-Datenbank benötigt. Wir werden die Datenbank /tmp/test.dbf verwenden, die im Beispiel von dbase_create() erzeugt wird.

Inhaltsverzeichnis

  • dbase_add_record — Hängt einen Datensatz an eine Datenbank an
  • dbase_close — Schließt eine Datenbank
  • dbase_create — Erzeugt eine Datenbank
  • dbase_delete_record — Markiert einen Datensatz als gelöscht
  • dbase_get_header_info — Liefert Informationen des Dateikopfs einer Datenbank
  • dbase_get_record_with_names — Liefert einen Datensatz aus einer Datenbank als assoziatives Array
  • dbase_get_record — Liefert einen Datensatz aus einer Datenbank als indiziertes Array
  • dbase_numfields — Liefert die Anzahl der Felder einer Datenbank
  • dbase_numrecords — Liefert die Anzahl der Datensätze einer Datenbank
  • dbase_open — Öffnet eine Datenbank
  • dbase_pack — Entfernt die als gelöscht markierten Datensätze aus einer Datenbank
  • dbase_replace_record — Ersetzt einen Datensatz in einer Datenbank
Vordefinierte Konstanten
dbase_add_record
dBase


Hängt einen Datensatz an eine Datenbank an

dBase Funktionen
dbase_close
dBase Funktionen
PHP Manual

dbase_add_record

(PHP 5 < 5.3.0, dbase 5, dbase 7)

dbase_add_record — Hängt einen Datensatz an eine Datenbank an

Beschreibung

bool dbase_add_record ( int $dbase_identifier , array $record )

Hängt die angegebenen Daten an die Datenbank an.

Parameter-Liste

dbase_identifier

Die Datenbank-Verbindungskennung, die von dbase_open() oder dbase_create() zurückgegeben wurde.

record

Ein indiziertes Datenarray. Falls die Anzahl der Elemente nicht mit der Anzahl der Datenbankfelder übereinstimmt, schlägt dbase_add_record() fehl.

Hinweis:

Vergessen Sie nicht, den deleted-Schlüssel zu löschen, wenn Sie für diesen Parameter den Rückgabewert von dbase_get_record() verwenden.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Einen Datensatz in eine dBase-Datenbank einfügen

<?php

// im lesen/schreiben-Modus öffnen
$db = dbase_open('/tmp/test.dbf', 2);

if ($db) {
  dbase_add_record($db, array(
      date('Ymd'),
      'Maxim Topolov',
      '23',
      'max@example.com',
      'T'));
  dbase_close($db);
}

?>

Siehe auch

  • dbase_delete_record() - Markiert einen Datensatz als gelöscht
  • dbase_replace_record() - Ersetzt einen Datensatz in einer Datenbank

dBase Funktionen
dbase_close
dBase Funktionen


Schließt eine Datenbank

dbase_add_record
dbase_create
dBase Funktionen
PHP Manual

dbase_close

(PHP 5 < 5.3.0, dbase 5, dbase 7)

dbase_close — Schließt eine Datenbank

Beschreibung

bool dbase_close ( int $dbase_identifier )

Schließt die angegebene Datenbank-Verbindungskennung.

Parameter-Liste

dbase_identifier

Die Datenbank-Verbindungskennung, die von dbase_open() oder dbase_create() zurückgegeben wurde.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Schließen einer dBase-Datenbankdatei

<?php

// im nur-lesen-Modus öffnen
$db = dbase_open('/tmp/test.dbf', 0);

if ($db) {
  // ein paar Daten auslesen ...

  dbase_close($db);
}

?>

Siehe auch

  • dbase_open() - Öffnet eine Datenbank
  • dbase_create() - Erzeugt eine Datenbank

dbase_add_record
dbase_create
dBase Funktionen


Erzeugt eine Datenbank

dbase_close
dbase_delete_record
dBase Funktionen
PHP Manual

dbase_create

(PHP 5 < 5.3.0, dbase 5, dbase 7)

dbase_create — Erzeugt eine Datenbank

Beschreibung

int dbase_create ( string $filename , array $fields )

Erzeugt eine der angegebenen Definition entsprechende dBase-Datenbank.

Hinweis: Wenn Safe Mode aktiviert ist, überprüft PHP, ob die Dateien/Verzeichnisse, die mit dem Skript bearbeitet werden sollen, die gleiche UID (Eigentümer) haben wie das Skript selbst.

Hinweis:

Diese Funktion wird von open_basedir beeinflusst.

Parameter-Liste

filename

Der Name der Datenbank. Das kann ein relativer oder absoluter Pfad zu der Datei sein, in der dBase die Daten speichert.

fields

Ein Array aus Arrays, von denen jedes das Format eines Datenbankfeldes beschreibt. Jedes Feld besteht aus einem Namen, einem Zeichen für den Feldtyp und gegebenenfalls einer Länge und einer Genauigkeit.

Hinweis:

Feldnamen dürfen nicht mehr als zehn Zeichen haben.

Rückgabewerte

Gibt eine Datenbank-Verbindungskennung zurück, falls die Datenbank erfolgreich erzeugt werden konnte oder FALSE, falls ein Fehler auftrat.

Beispiele

Beispiel #1 Erzeugen einer dBase-Datenbankdatei

<?php

// Datenbank-"Definition"
$def = array(
  array("Datum",       "D"),
  array("Name",        "C",  50),
  array("Alter",       "N",   3, 0),
  array("Email",       "C", 128),
  array("IstMitglied", "L")
);

// Erzeugung
if (!dbase_create('/tmp/test.dbf', $def)) {
  echo "Fehler, konnte die Datenbank nicht erzeugen\n";
}

?>

Siehe auch

  • dbase_open() - Öffnet eine Datenbank
  • dbase_close() - Schließt eine Datenbank

dbase_close
dbase_delete_record
dBase Funktionen


Markiert einen Datensatz als gelöscht

dbase_create
dbase_get_header_info
dBase Funktionen
PHP Manual

dbase_delete_record

(PHP 5 < 5.3.0, dbase 5, dbase 7)

dbase_delete_record — Markiert einen Datensatz als gelöscht

Beschreibung

bool dbase_delete_record ( int $dbase_identifier , int $record_number )

Markiert den angegebenen Datensatz in der Datenbank als gelöscht.

Hinweis:

Um den Datensatz wirklich aus der Datenbank zu entfernen, müssen sie noch dbase_pack() aufrufen.

Parameter-Liste

dbase_identifier

Die Datenbank-Verbindungskennung, die von dbase_open() oder dbase_create() zurückgegeben wurde.

record_number

Eine Ganzzahl, die von 1 bis zur Anzahl der Datensätze in der Datenbank (wie von dbase_numrecords() zurückgegeben) geht.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • dbase_add_record() - Hängt einen Datensatz an eine Datenbank an
  • dbase_replace_record() - Ersetzt einen Datensatz in einer Datenbank

dbase_create
dbase_get_header_info
dBase Funktionen


Liefert Informationen des Dateikopfs einer Datenbank

dbase_delete_record
dbase_get_record_with_names
dBase Funktionen
PHP Manual

dbase_get_header_info

(PHP 5 < 5.3.0, dbase 5, dbase 7)

dbase_get_header_info — Liefert Informationen des Dateikopfs einer Datenbank

Beschreibung

array dbase_get_header_info ( int $dbase_identifier )

Liefert für die angegebene Datenbank-Verbindungskennung Informationen über die Datenbankstruktur.

Parameter-Liste

dbase_identifier

Die Datenbank-Verbindungskennung, die von dbase_open() oder dbase_create() zurückgegeben wurde.

Rückgabewerte

Ein indiziertes Array mit einem Eintrag für jedes Feld der Datenbank. Der Index des Arrays beginnt bei 0.

Jedes Element des Arrays enthält ein assoziatives Array mit folgenden Informationen über die Felder:

name
Der Name des Feldes
type
Der lesbare Name für den dBase-Typ des Feldes (d.h. date, boolean, etc.)
length
Die Anzahl der Bytes, die dieses Feld haben kann
precision
Die Anzahl der Nachkommastellen des Feldes
format
Ein für das Feld vorgeschlagenes printf()-Format-Spezifikationssymbol
offset
Der Byte-Abstand des Feldes vom Anfang der Zeile

Falls die Dateikopf-Informationen der Datenbank nicht gelesen werden können, wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Anzeigen der Informationen des Dateikopfs einer dBase-Datenbankdatei

<?php
// Der Pfad zur dBase-Datei
$db_pfad = "/tmp/test.dbf";

// Öffnen der dBase-Datei
$dbh = dbase_open($db_pfad, 0)
  or die("Fehler! Konnte die dBase-Datenbankdatei '$db_pfad' nicht öffnen.");

// Auslesen der Feldinformationen
$feld_info = dbase_get_header_info($dbh);

// Ausgeben der Informationen
print_r($feld_info);
?>

dbase_delete_record
dbase_get_record_with_names
dBase Funktionen


Liefert einen Datensatz aus einer Datenbank als assoziatives Array

dbase_get_header_info
dbase_get_record
dBase Funktionen
PHP Manual

dbase_get_record_with_names

(PHP 5 < 5.3.0, dbase 5, dbase 7)

dbase_get_record_with_names — Liefert einen Datensatz aus einer Datenbank als assoziatives Array

Beschreibung

array dbase_get_record_with_names ( int $dbase_identifier , int $record_number )

Gibt einen Datensatz aus einer dBase-Datenbank als assoziatives Array zurück.

Parameter-Liste

dbase_identifier

Die Datenbank-Verbindungskennung, die von dbase_open() oder dbase_create() zurückgegeben wurde.

record_number

Der Index des Datensatzes

Rückgabewerte

Ein assoziatives Array mit dem Datensatz. Dieses Array enthält einen zusätzlichen Schlüssel namens deleted, der auf 1 gesetzt ist, wenn der Datensatz zum Löschen markiert wurde (siehe dbase_delete_record()).

Jedes Feld wird in den entsprechenden PHP-Typ umgewandelt, ausgenommen:

  • Datumsfelder werden als Zeichenkette zurückgegeben.
  • Ganzzahlen, die zu einem Überlauf geführt hätten (> 32 Bit), werden als Zeichenkette zurückgegeben.

Falls ein Fehler auftritt, gibt dbase_get_record_with_names() FALSE zurück.

Beispiele

Beispiel #1 Liste aller in der Datenbank eingetragener Mitglieder

<?php
// im nur-lesen-Modus öffnen
$db = dbase_open('/tmp/test.dbf', 0);

if ($db) {
  $anzahl_datensaetze = dbase_numrecords($db);
  for ($i = 1; $i <= $anzahl_datensaetze; $i++) {
      $datensatz = dbase_get_record_with_names($db, $i);
      if ($datensatz['IstMitglied'] == 1) {
          echo "Mitglied #$i: " . trim($datensatz['Name']) . "\n";
      }
  }
}
?>

Siehe auch

  • dbase_get_record() - Liefert einen Datensatz aus einer Datenbank als indiziertes Array

dbase_get_header_info
dbase_get_record
dBase Funktionen


Liefert einen Datensatz aus einer Datenbank als indiziertes Array

dbase_get_record_with_names
dbase_numfields
dBase Funktionen
PHP Manual

dbase_get_record

(PHP 5 < 5.3.0, dbase 5, dbase 7)

dbase_get_record — Liefert einen Datensatz aus einer Datenbank als indiziertes Array

Beschreibung

array dbase_get_record ( int $dbase_identifier , int $record_number )

Gibt einen Datensatz aus einer Datenbank als indiziertes Array zurück.

Parameter-Liste

dbase_identifier

Die Datenbank-Verbindungskennung, die von dbase_open() oder dbase_create() zurückgegeben wurde.

record_number

Der Index des Datensatzes

Rückgabewerte

Ein indiziertes Array mit dem Datensatz. Dieses Array enthält zusätzlich einen assoziativen Schlüssel namens deleted, der auf 1 gesetzt ist, wenn der Datensatz zum Löschen markiert wurde (siehe dbase_delete_record()).

Jedes Feld wird in den entsprechenden PHP-Typ umgewandelt, ausgenommen:

  • Datumsfelder werden als Zeichenkette zurückgegeben.
  • Ganzzahlen, die zu einem Überlauf geführt hätten (> 32 Bit), werden als Zeichenkette zurückgegeben.

Falls ein Fehler auftritt, gibt dbase_get_record() FALSE zurück.

Siehe auch

  • dbase_get_record_with_names() - Liefert einen Datensatz aus einer Datenbank als assoziatives Array

dbase_get_record_with_names
dbase_numfields
dBase Funktionen


Liefert die Anzahl der Felder einer Datenbank

dbase_get_record
dbase_numrecords
dBase Funktionen
PHP Manual

dbase_numfields

(PHP 5 < 5.3.0, dbase 5, dbase 7)

dbase_numfields — Liefert die Anzahl der Felder einer Datenbank

Beschreibung

int dbase_numfields ( int $dbase_identifier )

Gibt die Anzahl der Felder (Spalten) der angegebenen Datenbank zurück.

Hinweis:

Die Anzahl der Felder liegt zwischen 0 und dbase_numfields($db)-1, wogegen die Anzahl der Datensätze zwischen 1 und dbase_numrecords($db) liegt.

Parameter-Liste

dbase_identifier

Die Datenbank-Verbindungskennung, die von dbase_open() oder dbase_create() zurückgegeben wurde.

Rückgabewerte

Die Anzahl der Felder in der Datenbank oder FALSE, falls ein Fehler auftrat.

Beispiele

Beispiel #1 dbase_numfields()-Beispiel

<?php

$rec = dbase_get_record($db, $recno);
$nf  = dbase_numfields($db);
for ($i = 0; $i < $nf; $i++) {
  echo $rec[$i], "\n";
}

?>

Siehe auch

  • dbase_numrecords() - Liefert die Anzahl der Datensätze einer Datenbank

dbase_get_record
dbase_numrecords
dBase Funktionen


Liefert die Anzahl der Datensätze einer Datenbank

dbase_numfields
dbase_open
dBase Funktionen
PHP Manual

dbase_numrecords

(PHP 5 < 5.3.0, dbase 5, dbase 7)

dbase_numrecords — Liefert die Anzahl der Datensätze einer Datenbank

Beschreibung

int dbase_numrecords ( int $dbase_identifier )

Gibt die Anzahl der Datensätze (Zeilen) der angegebenen Datenbank zurück.

Hinweis:

Die Anzahl der Datensätze liegt zwischen 1 und dbase_numrecords($db), wogegen die Anzahl der Felder zwischen 0 und dbase_numfields($db)-1 liegt.

Parameter-Liste

dbase_identifier

Die Datenbank-Verbindungskennung, die von dbase_open() oder dbase_create() zurückgegeben wurde.

Rückgabewerte

Die Anzahl der Datensätze in der Datenbank oder FALSE, falls ein Fehler auftrat.

Beispiele

Beispiel #1 Eine Schleife über alle Datensätze der Datenbank ausführen

<?php

// im nur-lesen-Modus öffnen
$db = dbase_open('/tmp/test.dbf', 0);

if ($db) {
  $anzahl_datensaetze = dbase_numrecords($db);
  for ($i = 1; $i <= $anzahl_datensaetze; $i++) {
      // mache hier mit jedem Datensatz etwas
  }
}

?>

Siehe auch

  • dbase_numfields() - Liefert die Anzahl der Felder einer Datenbank

dbase_numfields
dbase_open
dBase Funktionen


Öffnet eine Datenbank

dbase_numrecords
dbase_pack
dBase Funktionen
PHP Manual

dbase_open

(PHP 5 < 5.3.0, dbase 5, dbase 7)

dbase_open — Öffnet eine Datenbank

Beschreibung

int dbase_open ( string $filename , int $mode )

dbase_open() öffnet eine dBase-Datenbank im angegebenen Zugriffsmodus.

Hinweis: Wenn Safe Mode aktiviert ist, überprüft PHP, ob die Dateien/Verzeichnisse, die mit dem Skript bearbeitet werden sollen, die gleiche UID (Eigentümer) haben wie das Skript selbst.

Hinweis:

Diese Funktion wird von open_basedir beeinflusst.

Parameter-Liste

filename

Der Name der Datenbank. Das kann ein relativer oder absoluter Pfad zu der Datei sein, in der dBase die Daten speichert.

mode

Eine Ganzzahl, die denen des open()-Systemaufrufs entspricht (typischerweise bedeutet 0 nur lesen, 1 nur schreiben und 2 lesen und schreiben).

Hinweis:

Eine dBase-Datei kann nicht im nur-schreiben-Modus geöffnet werden, weil diese Funktion dann die Informationen des Dateikopfs nicht lesen könnte. Deshalb kann der mode 1 nicht verwendet werden.

Beispiele

Beispiel #1 Öffnen einer dBase-Datenbankdatei

<?php

// im nur-lesen-Modus öffnen
$db = dbase_open('/tmp/test.dbf', 0);

if ($db) {
  // ein paar Daten lesen ...

  dbase_close($db);
}

?>

Rückgabewerte

Gibt eine Datenbank-Verbindungskennung für die geöffnete Datenbank zurück oder FALSE, falls ein Fehler auftrat.

Siehe auch

  • dbase_create() - Erzeugt eine Datenbank
  • dbase_close() - Schließt eine Datenbank

dbase_numrecords
dbase_pack
dBase Funktionen


Entfernt die als gelöscht markierten Datensätze aus einer Datenbank

dbase_open
dbase_replace_record
dBase Funktionen
PHP Manual

dbase_pack

(PHP 5 < 5.3.0, dbase 5, dbase 7)

dbase_pack — Entfernt die als gelöscht markierten Datensätze aus einer Datenbank

Beschreibung

bool dbase_pack ( int $dbase_identifier )

Entfernt die mittels dbase_delete_record() als gelöscht markierten Datensätze endgültig aus der angegebenen Datenbank.

Parameter-Liste

dbase_identifier

Die Datenbank-Verbindungskennung, die von dbase_open() oder dbase_create() zurückgegeben wurde.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Leeren einer dBase-Datenbank

<?php

// im lesen-schreiben-Modus öffnen
$db = dbase_open('/tmp/test.dbf', 2);

if ($db) {
  $anzahl_datensaetze = dbase_numrecords($db);
  for ($i = 1; $i <= $anzahl_datensaetze; $i++) {
      dbase_delete_record($db, $i);
  }
  // Datensätze löschen
  dbase_pack($db);
}

?>

Siehe auch

  • dbase_delete_record() - Markiert einen Datensatz als gelöscht

dbase_open
dbase_replace_record
dBase Funktionen


Ersetzt einen Datensatz in einer Datenbank

dbase_pack
filePro
dBase Funktionen
PHP Manual

dbase_replace_record

(PHP 5 < 5.3.0, dbase 5, dbase 7)

dbase_replace_record — Ersetzt einen Datensatz in einer Datenbank

Beschreibung

bool dbase_replace_record ( int $dbase_identifier , array $record , int $record_number )

Ersetzt in der Datenbank den angegebenen Datensatz record_number mit den Daten aus record.

Parameter-Liste

dbase_identifier

Die Datenbank-Verbindungskennung, die von dbase_open() oder dbase_create() zurückgegeben wurde.

record

Ein indiziertes Datenarray. Falls die Anzahl der Elemente nicht mit der Anzahl der Datenbankfelder übereinstimmt, schlägt dbase_replace_record() fehl.

Hinweis:

Vergessen Sie nicht, den deleted-Schlüssel zu löschen, wenn Sie für diesen Parameter den Rückgabewert von dbase_get_record() verwenden.

record_number

Eine Ganzzahl, die von 1 bis zur Anzahl der Datensätze in der Datenbank (wie von dbase_numrecords() zurückgegeben) geht.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Aktualisieren eines Datensatzes in der Datenbank

<?php

// im lesen-schreiben-Modus öffnen
$db = dbase_open('/tmp/test.dbf', 2);

if ($db) {
  // den alten Datensatz holen
  $datensatz = dbase_get_record_with_names($db, 1);

  // den Eintrag 'deleted' entfernen
  unset($datensatz['deleted']);

  // das Datumsfeld mit dem aktuellen Zeitstempel aktualisieren
  $datensatz['Datum'] = date('Ymd');

  // den Datensatz ersetzen
  dbase_replace_record($db, $datensatz, 1);
  dbase_close($db);
}

?>

Siehe auch

  • dbase_add_record() - Hängt einen Datensatz an eine Datenbank an
  • dbase_delete_record() - Markiert einen Datensatz als gelöscht

dbase_pack
filePro
dBase Funktionen


filePro

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • filePro Funktionen
    • filepro_fieldcount — Bestimmt, wieviele Felder in einer filePro-Datenbank vorhanden sind
    • filepro_fieldname — Ermittelt den Namen eines Feldes
    • filepro_fieldtype — Ermittelt den Typ eines Feldes
    • filepro_fieldwidth — Ermittelt die Länge eines Feldes
    • filepro_retrieve — Holt Daten aus einer filePro-Datenbank
    • filepro_rowcount — bestimmt, wieviele Zeilen eine filePro-Datenbank enthält
    • filepro — Liest und überprüft die Map-Datei
dbase_replace_record
Einführung
Anbieterspezifische Datenbankerweiterungen


Einführung

Diese Funktionen erlauben Lesezugriff auf die Daten, die in einer filePro-Datenbank gespeichert sind.

filePro ist eingetragenes Warenzeichen von fP Technologies, Inc. Mehr Informationen zu filePro finden Sie unter » http://www.fptech.com/.

Hinweis:

Diese Erweiterung wurde ins » PECL-Repositorium verschoben und ist nicht mehr Teil von PHP ab PHP 5.2.0.

filePro
Installation/Konfiguration
filePro


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
filePro


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/filepro.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
filePro Funktionen
filePro


filePro Funktionen

Inhaltsverzeichnis

  • filepro_fieldcount — Bestimmt, wieviele Felder in einer filePro-Datenbank vorhanden sind
  • filepro_fieldname — Ermittelt den Namen eines Feldes
  • filepro_fieldtype — Ermittelt den Typ eines Feldes
  • filepro_fieldwidth — Ermittelt die Länge eines Feldes
  • filepro_retrieve — Holt Daten aus einer filePro-Datenbank
  • filepro_rowcount — bestimmt, wieviele Zeilen eine filePro-Datenbank enthält
  • filepro — Liest und überprüft die Map-Datei
Vordefinierte Konstanten
filepro_fieldcount
filePro


Bestimmt, wieviele Felder in einer filePro-Datenbank vorhanden sind

filePro Funktionen
filepro_fieldname
filePro Funktionen
PHP Manual

filepro_fieldcount

(PHP 4, PHP 5 <= 5.1.6, PHP 7)

filepro_fieldcount — Bestimmt, wieviele Felder in einer filePro-Datenbank vorhanden sind

Beschreibung

int filepro_fieldcount ( void )

Gibt die Anzahl der Felder (Spalten) in der geöffneten filePro-Datenbank zurück.

Rückgabewerte

Gibt die Anzahl der Felder in der geöffneten filePro-Datenbank oder im Fehlerfall FALSE zurück.

Siehe auch

  • filepro() - Liest und überprüft die Map-Datei

filePro Funktionen
filepro_fieldname
filePro Funktionen


Ermittelt den Namen eines Feldes

filepro_fieldcount
filepro_fieldtype
filePro Funktionen
PHP Manual

filepro_fieldname

(PHP 4, PHP 5 <= 5.1.6, PHP 7)

filepro_fieldname — Ermittelt den Namen eines Feldes

Beschreibung

string filepro_fieldname ( int $field_number )

Gibt den Namen des Feldes zurück, dass der Angabe in field_number entspricht.

Parameter-Liste

field_number

Die Feldnummer.

Rückgabewerte

Gibt den Namen des Feldes als String oder im Fehlerfall FALSE zurück.

filepro_fieldcount
filepro_fieldtype
filePro Funktionen


Ermittelt den Typ eines Feldes

filepro_fieldname
filepro_fieldwidth
filePro Funktionen
PHP Manual

filepro_fieldtype

(PHP 4, PHP 5 <= 5.1.6, PHP 7)

filepro_fieldtype — Ermittelt den Typ eines Feldes

Beschreibung

string filepro_fieldtype ( int $field_number )

Gibt den Inhaltstyp des Feldes zurück, das der Angabe in field_number entspricht.

Parameter-Liste

field_number

Die Feldnummer.

Rückgabewerte

Gibt den Inhaltstyp eines Feldes als String oder im Fehlerfall FALSE zurück.

filepro_fieldname
filepro_fieldwidth
filePro Funktionen


Ermittelt die Länge eines Feldes

filepro_fieldtype
filepro_retrieve
filePro Funktionen
PHP Manual

filepro_fieldwidth

(PHP 4, PHP 5 <= 5.1.6, PHP 7)

filepro_fieldwidth — Ermittelt die Länge eines Feldes

Beschreibung

int filepro_fieldwidth ( int $field_number )

Gibt die Länge des Feldes zurück, das der Angabe in field_number entspricht.

Parameter-Liste

field_number

Die Feldnummer.

Rückgabewerte

Gibt die Feldlänge als Integer oder im Fehlerfall FALSE zurück.

filepro_fieldtype
filepro_retrieve
filePro Funktionen


Holt Daten aus einer filePro-Datenbank

filepro_fieldwidth
filepro_rowcount
filePro Funktionen
PHP Manual

filepro_retrieve

(PHP 4, PHP 5 <= 5.1.6, PHP 7)

filepro_retrieve — Holt Daten aus einer filePro-Datenbank

Beschreibung

string filepro_retrieve ( int $row_number , int $field_number )

Gibt die Daten von einer bestimmten Stelle in der Datenbank zurück.

Hinweis: Wenn Safe Mode aktiviert ist, überprüft PHP, ob die Dateien/Verzeichnisse, die mit dem Skript bearbeitet werden sollen, die gleiche UID (Eigentümer) haben wie das Skript selbst.

Parameter-Liste

row_number

Die Zeilennummer. Muss zwischen null und der absoluten Anzahl der Zeilen minus eins liegen (0..filepro_rowcount() - 1)

field_number

Die Feldnummer. Akzeptiert Werte zwischen null und der absoluten Anzahl der Felder minus eins (0..filepro_fieldcount() - 1)

Rückgabewerte

Gibt die angegebenen Daten oder im Fehlerfall FALSE zurück.

filepro_fieldwidth
filepro_rowcount
filePro Funktionen


bestimmt, wieviele Zeilen eine filePro-Datenbank enthält

filepro_retrieve
filepro
filePro Funktionen
PHP Manual

filepro_rowcount

(PHP 4, PHP 5 <= 5.1.6, PHP 7)

filepro_rowcount — bestimmt, wieviele Zeilen eine filePro-Datenbank enthält

Beschreibung

int filepro_rowcount ( void )

Gibt die Anzahl der Zeilen in der geöffneten filePro-Datenbank zurück.

Hinweis: Wenn Safe Mode aktiviert ist, überprüft PHP, ob die Dateien/Verzeichnisse, die mit dem Skript bearbeitet werden sollen, die gleiche UID (Eigentümer) haben wie das Skript selbst.

Rückgabewerte

Gibt die Anzahl der Zeilen in der geöffneten filePro-Datenbank oder im Fehlerfall FALSE zurück.

Siehe auch

  • filepro() - Liest und überprüft die Map-Datei

filepro_retrieve
filepro
filePro Funktionen


Liest und überprüft die Map-Datei

filepro_rowcount
Firebird/InterBase
filePro Funktionen
PHP Manual

filepro

(PHP 4, PHP 5 <= 5.1.6, PHP 7)

filepro — Liest und überprüft die Map-Datei

Beschreibung

bool filepro ( string $directory )

Die Funktion liest und überprüft die Map-Datei, die die Feldnummern und dazugehörigen Informationen enthält.

Es wird kein Locking durchgeführt, daher sollten Sie davon absehen, an einer mit PHP geöffneten filePro-Datenbank Veränderungen vorzunehmen.

Hinweis: Wenn Safe Mode aktiviert ist, überprüft PHP, ob die Dateien/Verzeichnisse, die mit dem Skript bearbeitet werden sollen, die gleiche UID (Eigentümer) haben wie das Skript selbst.

Parameter-Liste

directory

Das Map-Verzeichnis.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

filepro_rowcount
Firebird/InterBase
filePro Funktionen


Firebird/InterBase

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Firebird/InterBase Funktionen
    • ibase_add_user — Add a user to a security database
    • ibase_affected_rows — Return the number of rows that were affected by the previous query
    • ibase_backup — Initiates a backup task in the service manager and returns immediately
    • ibase_blob_add — Add data into a newly created blob
    • ibase_blob_cancel — Cancel creating blob
    • ibase_blob_close — Close blob
    • ibase_blob_create — Create a new blob for adding data
    • ibase_blob_echo — Output blob contents to browser
    • ibase_blob_get — Get len bytes data from open blob
    • ibase_blob_import — Create blob, copy file in it, and close it
    • ibase_blob_info — Return blob length and other useful info
    • ibase_blob_open — Open blob for retrieving data parts
    • ibase_close — Schließt eine Verbindung zu einer InterBase-Datenbank
    • ibase_commit_ret — Commit a transaction without closing it
    • ibase_commit — Commit a transaction
    • ibase_connect — Öffnet eine Verbindung zu einer Datenbank
    • ibase_db_info — Request statistics about a database
    • ibase_delete_user — Delete a user from a security database
    • ibase_drop_db — Drops a database
    • ibase_errcode — Return an error code
    • ibase_errmsg — Return error messages
    • ibase_execute — Ausführen einer vorbereiteten Abfrage
    • ibase_fetch_assoc — Fetch a result row from a query as an associative array
    • ibase_fetch_object — Liest einen Datensatz einer InterBase-Datenbank als Objekt ein
    • ibase_fetch_row — Ruft eine Zeile aus einer InterBase-Datenbank ab
    • ibase_field_info — Get information about a field
    • ibase_free_event_handler — Cancels a registered event handler
    • ibase_free_query — Gibt den Speicher einer vorbereiteten Abfrage wieder frei
    • ibase_free_result — Gibt eine Ergebnismenge frei
    • ibase_gen_id — Increments the named generator and returns its new value
    • ibase_maintain_db — Execute a maintenance command on the database server
    • ibase_modify_user — Modify a user to a security database
    • ibase_name_result — Assigns a name to a result set
    • ibase_num_fields — Ermittelt die Anzahl der Felder einer Ergebnismenge
    • ibase_num_params — Return the number of parameters in a prepared query
    • ibase_param_info — Return information about a parameter in a prepared query
    • ibase_pconnect — Öffnet eine persistente Verbindung zu einer InterBase-Datenbank
    • ibase_prepare — Bereitet eine Abfrage für späteres Binden der Parameter-Platzhalter und Ausführung vor
    • ibase_query — Führt eine Abfrage auf einer InterBase Datenbank aus
    • ibase_restore — Initiates a restore task in the service manager and returns immediately
    • ibase_rollback_ret — Roll back a transaction without closing it
    • ibase_rollback — Roll back a transaction
    • ibase_server_info — Request information about a database server
    • ibase_service_attach — Connect to the service manager
    • ibase_service_detach — Disconnect from the service manager
    • ibase_set_event_handler — Register a callback function to be called when events are posted
    • ibase_trans — Begin a transaction
    • ibase_wait_event — Wait for an event to be posted by the database
filepro
Einführung
Anbieterspezifische Datenbankerweiterungen


Einführung

Firebird is a relational database offering many ISO SQL-2003 features that runs on Linux, Windows, and a variety of Unix platforms. Firebird offers excellent concurrency, high performance, and powerful language support for stored procedures and triggers. It has been used in production systems, under a variety of names since 1981.

InterBase is the name of the closed-source variant of this RDBMS that was developed by Embarcadero/Inprise. More information about InterBase is available at » http://www.embarcadero.com/products/interbase.

Firebird is a commercially independent project (fundation) of C++ programmers, technical advisors and supporters developing and enhancing a multi-platform relational database management system based on the source code released by Inprise Corp (now known as Embarcadero) under the InterBase Public License v.1.0 on 25 July, 2000. More information about Firebird is available at » http://www.firebirdsql.org/.

Hinweis:

This extension supports InterBase versions 6 and up and Firebird version 2.0 and up.

This database uses a single quote (') character for escaping add to your php.ini the following directive(Deprecated in PHP 5.3.0. Removed in PHP 5.4.0):

magic_quotes_sybase = On

Firebird/InterBase
Installation/Konfiguration
Firebird/InterBase


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Firebird/InterBase


Installation

To enable Firebird/InterBase support configure PHP --with-interbase[=DIR] , where DIR is the Firebird/InterBase base install directory, which defaults to /usr.

Hinweis: Note to Win32/Win64 Users

Diese Extension benötigt DLL-Dateien. die für Windows verfügbar seien müssen. Der FAQ-Eintrag " Wie füge ich unter Windows PATH mein PHP-Verzeichnis hinzu?" gibt hierzu weitere Informationen. Obwohl ein einfaches Kopieren der DLL-Dateien vom PHP-Verzeichnis in den Windows-Systemordner auch funktioniert (weil der Systemordner immer im PATH enthalten ist), ist dieses Vorgehen nicht empfehlenswert. Diese Extension benötigt die folgenden Dateien im PATH: fbclient.dll,gds32.dll

If you installed the Firebird/InterBase database server on the same machine PHP is running on, you will have this DLL already and fbclient.dll,gds32.dll (gds32.dll is generated from the installer for legacy applications) will already be in the PATH.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

InterBase configuration options
Name | Standard | Veränderbar | Changelog
ibase.allow_persistent | "1" | PHP_INI_SYSTEM |
ibase.max_persistent | "-1" | PHP_INI_SYSTEM |
ibase.max_links | "-1" | PHP_INI_SYSTEM |
ibase.default_db | NULL | PHP_INI_SYSTEM | Available since PHP 5.0.0.
ibase.default_user | NULL | PHP_INI_ALL |
ibase.default_password | NULL | PHP_INI_ALL |
ibase.default_charset | NULL | PHP_INI_ALL | Available since PHP 5.0.0.
ibase.timestampformat | "%Y-%m-%d %H:%M:%S" | PHP_INI_ALL |
ibase.dateformat | "%Y-%m-%d" | PHP_INI_ALL |
ibase.timeformat | "%H:%M:%S" | PHP_INI_ALL |
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

ibase.allow_persistent boolean

Whether to allow persistent connections to Firebird/InterBase.

ibase.max_persistent integer

The maximum number of persistent Firebird/InterBase connections per process. New connections created with ibase_pconnect() will be non-persistent if this number would be exceeded.

ibase.max_links integer

The maximum number of Firebird/InterBase connections per process, including persistent connections.

ibase.default_db string

The default database to connect to when ibase_[p]connect() is called without specifying a database name. If this value is set and SQL safe mode is enabled, no other connections than to this database will be allowed.

ibase.default_user string

The user name to use when connecting to a database if no user name is specified.

ibase.default_password string

The password to use when connecting to a database if no password is specified.

ibase.default_charset string

The character set to use when connecting to a database if no character set is specified.

ibase.timestampformat string

ibase.dateformat string

ibase.timeformat string

These directives are used to set the date and time formats that are used when returning dates and times from a result set, or when binding arguments to date and time parameters.

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

The following constants can be passed to ibase_trans() to specify transaction behaviour.

Firebird/InterBase transaction flags
Constant | Description
IBASE_DEFAULT | The default transaction settings are to be used. This default is determined by the client library, which defines it as IBASE_WRITE|IBASE_CONCURRENCY|IBASE_WAIT in most cases.
IBASE_READ | Starts a read-only transaction.
IBASE_WRITE | Starts a read-write transaction.
IBASE_CONSISTENCY | Starts a transaction with the isolation level set to 'consistency', which means the transaction cannot read from tables that are being modified by other concurrent transactions.
IBASE_CONCURRENCY | Starts a transaction with the isolation level set to 'concurrency' (or 'snapshot'), which means the transaction has access to all tables, but cannot see changes that were committed by other transactions after the transaction was started.
IBASE_COMMITTED | Starts a transaction with the isolation level set to 'read committed'. This flag should be combined with either IBASE_REC_VERSION or IBASE_REC_NO_VERSION. This isolation level allows access to changes that were committed after the transaction was started. If IBASE_REC_NO_VERSION was specified, only the latest version of a row can be read. If IBASE_REC_VERSION was specified, a row can even be read when a modification to it is pending in a concurrent transaction.
IBASE_WAIT | Indicated that a transaction should wait and retry when a conflict occurs.
IBASE_NOWAIT | Indicated that a transaction should fail immediately when a conflict occurs.

The following constants can be passed to ibase_fetch_row(), ibase_fetch_assoc() or ibase_fetch_object() to specify fetch behaviour.

Firebird/InterBase fetch flags
Constant | Description
IBASE_FETCH_BLOBS | Also available as IBASE_TEXTfor backward compatibility. Causes BLOB contents to be fetched inline, instead of being fetched as BLOB identifiers.
IBASE_FETCH_ARRAYS | Causes arrays to be fetched inline. Otherwise, array identifiers are returned. Array identifiers can only be used as arguments to INSERT operations, as no functions to handle array identifiers are currently available.
IBASE_UNIXTIME | Causes date and time fields not to be returned as strings, but as UNIX timestamps (the number of seconds since the epoch, which is 1-Jan-1970 0:00 UTC). Might be problematic if used with dates before 1970 on some systems.

The following constants are used to pass requests and options to the service
API functions (ibase_server_info(), ibase_db_info(),
ibase_backup(), ibase_restore()
and ibase_maintain_db()). Please refer to
the Firebird/InterBase manuals for the meaning of these options.

IBASE_BKP_IGNORE_CHECKSUMS
IBASE_BKP_IGNORE_LIMBO
IBASE_BKP_METADATA_ONLY
IBASE_BKP_NO_GARBAGE_COLLECT
IBASE_BKP_OLD_DESCRIPTIONS
IBASE_BKP_NON_TRANSPORTABLE
IBASE_BKP_CONVERT
Options to ibase_backup()
IBASE_RES_DEACTIVATE_IDX
IBASE_RES_NO_SHADOW
IBASE_RES_NO_VALIDITY
IBASE_RES_ONE_AT_A_TIME
IBASE_RES_REPLACE
IBASE_RES_CREATE
IBASE_RES_USE_ALL_SPACE
Options to ibase_restore()
IBASE_PRP_PAGE_BUFFERS
IBASE_PRP_SWEEP_INTERVAL
IBASE_PRP_SHUTDOWN_DB
IBASE_PRP_DENY_NEW_TRANSACTIONS
IBASE_PRP_DENY_NEW_ATTACHMENTS
IBASE_PRP_RESERVE_SPACE
IBASE_PRP_RES_USE_FULL
IBASE_PRP_RES
IBASE_PRP_WRITE_MODE
IBASE_PRP_WM_ASYNC
IBASE_PRP_WM_SYNC
IBASE_PRP_ACCESS_MODE
IBASE_PRP_AM_READONLY
IBASE_PRP_AM_READWRITE
IBASE_PRP_SET_SQL_DIALECT
IBASE_PRP_ACTIVATE
IBASE_PRP_DB_ONLINE
IBASE_RPR_CHECK_DB
IBASE_RPR_IGNORE_CHECKSUM
IBASE_RPR_KILL_SHADOWS
IBASE_RPR_MEND_DB
IBASE_RPR_VALIDATE_DB
IBASE_RPR_FULL
IBASE_RPR_SWEEP_DB
Options to ibase_maintain_db()
IBASE_STS_DATA_PAGES
IBASE_STS_DB_LOG
IBASE_STS_HDR_PAGES
IBASE_STS_IDX_PAGES
IBASE_STS_SYS_RELATIONS
Options to ibase_db_info()
IBASE_SVC_SERVER_VERSION
IBASE_SVC_IMPLEMENTATION
IBASE_SVC_GET_ENV
IBASE_SVC_GET_ENV_LOCK
IBASE_SVC_GET_ENV_MSG
IBASE_SVC_USER_DBPATH
IBASE_SVC_SVR_DB_INFO
IBASE_SVC_GET_USERS
Options to ibase_server_info()

Ressource-Typen
Firebird/InterBase Funktionen
Firebird/InterBase


Firebird/InterBase Funktionen

Inhaltsverzeichnis

  • ibase_add_user — Add a user to a security database
  • ibase_affected_rows — Return the number of rows that were affected by the previous query
  • ibase_backup — Initiates a backup task in the service manager and returns immediately
  • ibase_blob_add — Add data into a newly created blob
  • ibase_blob_cancel — Cancel creating blob
  • ibase_blob_close — Close blob
  • ibase_blob_create — Create a new blob for adding data
  • ibase_blob_echo — Output blob contents to browser
  • ibase_blob_get — Get len bytes data from open blob
  • ibase_blob_import — Create blob, copy file in it, and close it
  • ibase_blob_info — Return blob length and other useful info
  • ibase_blob_open — Open blob for retrieving data parts
  • ibase_close — Schließt eine Verbindung zu einer InterBase-Datenbank
  • ibase_commit_ret — Commit a transaction without closing it
  • ibase_commit — Commit a transaction
  • ibase_connect — Öffnet eine Verbindung zu einer Datenbank
  • ibase_db_info — Request statistics about a database
  • ibase_delete_user — Delete a user from a security database
  • ibase_drop_db — Drops a database
  • ibase_errcode — Return an error code
  • ibase_errmsg — Return error messages
  • ibase_execute — Ausführen einer vorbereiteten Abfrage
  • ibase_fetch_assoc — Fetch a result row from a query as an associative array
  • ibase_fetch_object — Liest einen Datensatz einer InterBase-Datenbank als Objekt ein
  • ibase_fetch_row — Ruft eine Zeile aus einer InterBase-Datenbank ab
  • ibase_field_info — Get information about a field
  • ibase_free_event_handler — Cancels a registered event handler
  • ibase_free_query — Gibt den Speicher einer vorbereiteten Abfrage wieder frei
  • ibase_free_result — Gibt eine Ergebnismenge frei
  • ibase_gen_id — Increments the named generator and returns its new value
  • ibase_maintain_db — Execute a maintenance command on the database server
  • ibase_modify_user — Modify a user to a security database
  • ibase_name_result — Assigns a name to a result set
  • ibase_num_fields — Ermittelt die Anzahl der Felder einer Ergebnismenge
  • ibase_num_params — Return the number of parameters in a prepared query
  • ibase_param_info — Return information about a parameter in a prepared query
  • ibase_pconnect — Öffnet eine persistente Verbindung zu einer InterBase-Datenbank
  • ibase_prepare — Bereitet eine Abfrage für späteres Binden der Parameter-Platzhalter und Ausführung vor
  • ibase_query — Führt eine Abfrage auf einer InterBase Datenbank aus
  • ibase_restore — Initiates a restore task in the service manager and returns immediately
  • ibase_rollback_ret — Roll back a transaction without closing it
  • ibase_rollback — Roll back a transaction
  • ibase_server_info — Request information about a database server
  • ibase_service_attach — Connect to the service manager
  • ibase_service_detach — Disconnect from the service manager
  • ibase_set_event_handler — Register a callback function to be called when events are posted
  • ibase_trans — Begin a transaction
  • ibase_wait_event — Wait for an event to be posted by the database
Vordefinierte Konstanten
ibase_add_user
Firebird/InterBase


Add a user to a security database

Firebird/InterBase Funktionen
ibase_affected_rows
Firebird/InterBase Funktionen
PHP Manual

ibase_add_user

(PHP 5, PHP 7)

ibase_add_user — Add a user to a security database

Beschreibung

bool ibase_add_user ( resource $service_handle , string $user_name , string $password [, string $first_name [, string $middle_name [, string $last_name ]]] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ibase_modify_user() - Modify a user to a security database
  • ibase_delete_user() - Delete a user from a security database

Firebird/InterBase Funktionen
ibase_affected_rows
Firebird/InterBase Funktionen


Return the number of rows that were affected by the previous query

ibase_add_user
ibase_backup
Firebird/InterBase Funktionen
PHP Manual

ibase_affected_rows

(PHP 5, PHP 7)

ibase_affected_rows — Return the number of rows that were affected by the previous query

Beschreibung

int ibase_affected_rows ([ resource $link_identifier ] )

This function returns the number of rows that were affected by the previous query (INSERT, UPDATE or DELETE) that was executed from within the specified transaction context.

Parameter-Liste

link_identifier

A transaction context. If link_identifier is a connection resource, its default transaction is used.

Rückgabewerte

Returns the number of rows as an integer.

Siehe auch

  • ibase_query() - Führt eine Abfrage auf einer InterBase Datenbank aus
  • ibase_execute() - Ausführen einer vorbereiteten Abfrage

ibase_add_user
ibase_backup
Firebird/InterBase Funktionen


Initiates a backup task in the service manager and returns immediately

ibase_affected_rows
ibase_blob_add
Firebird/InterBase Funktionen
PHP Manual

ibase_backup

(PHP 5, PHP 7)

ibase_backup — Initiates a backup task in the service manager and returns immediately

Beschreibung

mixed ibase_backup ( resource $service_handle , string $source_db , string $dest_file [, int $options = 0 [, bool $verbose = false ]] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

ibase_affected_rows
ibase_blob_add
Firebird/InterBase Funktionen


Add data into a newly created blob

ibase_backup
ibase_blob_cancel
Firebird/InterBase Funktionen
PHP Manual

ibase_blob_add

(PHP 5, PHP 7)

ibase_blob_add — Add data into a newly created blob

Beschreibung

void ibase_blob_add ( resource $blob_handle , string $data )

ibase_blob_add() adds data into a blob created with ibase_blob_create().

Parameter-Liste

blob_handle

A blob handle opened with ibase_blob_create().

data

The data to be added.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • ibase_blob_cancel() - Cancel creating blob
  • ibase_blob_close() - Close blob
  • ibase_blob_create() - Create a new blob for adding data
  • ibase_blob_import() - Create blob, copy file in it, and close it

ibase_backup
ibase_blob_cancel
Firebird/InterBase Funktionen


Cancel creating blob

ibase_blob_add
ibase_blob_close
Firebird/InterBase Funktionen
PHP Manual

ibase_blob_cancel

(PHP 5, PHP 7)

ibase_blob_cancel — Cancel creating blob

Beschreibung

bool ibase_blob_cancel ( resource $blob_handle )

This function will discard a BLOB if it has not yet been closed by ibase_blob_close().

Parameter-Liste

blob_handle

A BLOB handle opened with ibase_blob_create().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ibase_blob_close() - Close blob
  • ibase_blob_create() - Create a new blob for adding data
  • ibase_blob_import() - Create blob, copy file in it, and close it

ibase_blob_add
ibase_blob_close
Firebird/InterBase Funktionen


Close blob

ibase_blob_cancel
ibase_blob_create
Firebird/InterBase Funktionen
PHP Manual

ibase_blob_close

(PHP 5, PHP 7)

ibase_blob_close — Close blob

Beschreibung

mixed ibase_blob_close ( resource $blob_handle )

This function closes a BLOB that has either been opened for reading by ibase_blob_open() or has been opened for writing by ibase_blob_create().

Parameter-Liste

blob_handle

A BLOB handle opened with ibase_blob_create() or ibase_blob_open().

Rückgabewerte

If the BLOB was being read, this function returns TRUE on success, if the BLOB was being written to, this function returns a string containing the BLOB id that has been assigned to it by the database. On failure, this function returns FALSE.

Siehe auch

  • ibase_blob_cancel() - Cancel creating blob
  • ibase_blob_open() - Open blob for retrieving data parts

ibase_blob_cancel
ibase_blob_create
Firebird/InterBase Funktionen


Create a new blob for adding data

ibase_blob_close
ibase_blob_echo
Firebird/InterBase Funktionen
PHP Manual

ibase_blob_create

(PHP 5, PHP 7)

ibase_blob_create — Create a new blob for adding data

Beschreibung

resource ibase_blob_create ([ resource $link_identifier = NULL ] )

ibase_blob_create() creates a new BLOB for filling with data.

Parameter-Liste

link_identifier

An InterBase link identifier. If omitted, the last opened link is assumed.

Rückgabewerte

Returns a BLOB handle for later use with ibase_blob_add()Im Fehlerfall wird FALSE zurückgegeben..

Siehe auch

  • ibase_blob_add() - Add data into a newly created blob
  • ibase_blob_cancel() - Cancel creating blob
  • ibase_blob_close() - Close blob
  • ibase_blob_import() - Create blob, copy file in it, and close it

ibase_blob_close
ibase_blob_echo
Firebird/InterBase Funktionen


Output blob contents to browser

ibase_blob_create
ibase_blob_get
Firebird/InterBase Funktionen
PHP Manual

ibase_blob_echo

(PHP 5, PHP 7)

ibase_blob_echo — Output blob contents to browser

Beschreibung

bool ibase_blob_echo ( string $blob_id )
bool ibase_blob_echo ( resource $link_identifier , string $blob_id )

This function opens a BLOB for reading and sends its contents directly to standard output (the browser, in most cases).

Parameter-Liste

link_identifier

An InterBase link identifier. If omitted, the last opened link is assumed.

blob_id

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ibase_blob_open() - Open blob for retrieving data parts
  • ibase_blob_close() - Close blob
  • ibase_blob_get() - Get len bytes data from open blob

ibase_blob_create
ibase_blob_get
Firebird/InterBase Funktionen


Get len bytes data from open blob

ibase_blob_echo
ibase_blob_import
Firebird/InterBase Funktionen
PHP Manual

ibase_blob_get

(PHP 5, PHP 7)

ibase_blob_get — Get len bytes data from open blob

Beschreibung

string ibase_blob_get ( resource $blob_handle , int $len )

This function returns at most len bytes from a BLOB that has been opened for reading by ibase_blob_open().

Hinweis:

It is not possible to read from a BLOB that has been opened for writing by ibase_blob_create().

Parameter-Liste

blob_handle

A BLOB handle opened with ibase_blob_open().

len

Size of returned data.

Rückgabewerte

Returns at most len bytes from the BLOB, or FALSE on failure.

Beispiele

Beispiel #1 ibase_blob_get() example

<?php
$result    = ibase_query("SELECT blob_value FROM table");
$data      = ibase_fetch_object($result);
$blob_data = ibase_blob_info($data->BLOB_VALUE);
$blob_hndl = ibase_blob_open($data->BLOB_VALUE);
echo         ibase_blob_get($blob_hndl, $blob_data[0]);
?>
Whilst this example doesn't do much more than a 'ibase_blob_echo($data->BLOB_VALUE)' would do, it does show you how to get information into a $variable to manipulate as you please.

Siehe auch

  • ibase_blob_open() - Open blob for retrieving data parts
  • ibase_blob_close() - Close blob
  • ibase_blob_echo() - Output blob contents to browser

ibase_blob_echo
ibase_blob_import
Firebird/InterBase Funktionen


Create blob, copy file in it, and close it

ibase_blob_get
ibase_blob_info
Firebird/InterBase Funktionen
PHP Manual

ibase_blob_import

(PHP 5, PHP 7)

ibase_blob_import — Create blob, copy file in it, and close it

Beschreibung

string ibase_blob_import ( resource $link_identifier , resource $file_handle )
string ibase_blob_import ( resource $file_handle )

This function creates a BLOB, reads an entire file into it, closes it and returns the assigned BLOB id.

Parameter-Liste

link_identifier

An InterBase link identifier. If omitted, the last opened link is assumed.

file_handle

The file handle is a handle returned by fopen().

Rückgabewerte

Returns the BLOB id on success, or FALSE on error.

Beispiele

Beispiel #1 ibase_blob_import() example

<?php
$dbh = ibase_connect($host, $username, $password);
$filename = '/tmp/bar';

$fd = fopen($filename, 'r');
if ($fd) {

    $blob = ibase_blob_import($dbh, $fd);
    fclose($fd);

    if (!is_string($blob)) {
        // import failed
    } else {
        $query = "INSERT INTO foo (name, data) VALUES ('$filename', ?)";
        $prepared = ibase_prepare($dbh, $query);
        if (!ibase_execute($prepared, $blob)) {
            // record insertion failed
        }
    }
} else {
    // unable to open the data file
}
?>

Siehe auch

  • ibase_blob_add() - Add data into a newly created blob
  • ibase_blob_cancel() - Cancel creating blob
  • ibase_blob_close() - Close blob
  • ibase_blob_create() - Create a new blob for adding data

ibase_blob_get
ibase_blob_info
Firebird/InterBase Funktionen


Return blob length and other useful info

ibase_blob_import
ibase_blob_open
Firebird/InterBase Funktionen
PHP Manual

ibase_blob_info

(PHP 5, PHP 7)

ibase_blob_info — Return blob length and other useful info

Beschreibung

array ibase_blob_info ( resource $link_identifier , string $blob_id )
array ibase_blob_info ( string $blob_id )

Returns the BLOB length and other useful information.

Parameter-Liste

link_identifier

An InterBase link identifier. If omitted, the last opened link is assumed.

blob_id

A BLOB id.

Rückgabewerte

Returns an array containing information about a BLOB. The information returned consists of the length of the BLOB, the number of segments it contains, the size of the largest segment, and whether it is a stream BLOB or a segmented BLOB.

ibase_blob_import
ibase_blob_open
Firebird/InterBase Funktionen


Open blob for retrieving data parts

ibase_blob_info
ibase_close
Firebird/InterBase Funktionen
PHP Manual

ibase_blob_open

(PHP 5, PHP 7)

ibase_blob_open — Open blob for retrieving data parts

Beschreibung

resource ibase_blob_open ( resource $link_identifier , string $blob_id )
resource ibase_blob_open ( string $blob_id )

Opens an existing BLOB for reading.

Parameter-Liste

link_identifier

An InterBase link identifier. If omitted, the last opened link is assumed.

blob_id

A BLOB id.

Rückgabewerte

Returns a BLOB handle for later use with ibase_blob_get()Im Fehlerfall wird FALSE zurückgegeben..

Siehe auch

  • ibase_blob_close() - Close blob
  • ibase_blob_echo() - Output blob contents to browser
  • ibase_blob_get() - Get len bytes data from open blob

ibase_blob_info
ibase_close
Firebird/InterBase Funktionen


Schließt eine Verbindung zu einer InterBase-Datenbank

ibase_blob_open
ibase_commit_ret
Firebird/InterBase Funktionen
PHP Manual

ibase_close

(PHP 5, PHP 7)

ibase_close — Schließt eine Verbindung zu einer InterBase-Datenbank

Beschreibung

bool ibase_close ([ resource $connection_id = NULL ] )

Beendet die Verbindung zu einer InterBase-DB, deren Verbindungs-ID mit der von ibase_connect() zurück gegebenen ID überein stimmt. Vorgenommene Transaktionen der Verbindung werden übertragen, andere werden zurück genommen.

Parameter-Liste

connection_id

Eine Interbase Verbindungs-ID, die von ibase_connect() zurückgegeben wurde. Wenn ausgelassen, wird die zuletzt geöffnete Verbindung angenommen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ibase_connect() - Öffnet eine Verbindung zu einer Datenbank
  • ibase_pconnect() - Öffnet eine persistente Verbindung zu einer InterBase-Datenbank

ibase_blob_open
ibase_commit_ret
Firebird/InterBase Funktionen


Commit a transaction without closing it

ibase_close
ibase_commit
Firebird/InterBase Funktionen
PHP Manual

ibase_commit_ret

(PHP 5, PHP 7)

ibase_commit_ret — Commit a transaction without closing it

Beschreibung

bool ibase_commit_ret ([ resource $link_or_trans_identifier = NULL ] )

Commits a transaction without closing it.

Parameter-Liste

link_or_trans_identifier

If called without an argument, this function commits the default transaction of the default link. If the argument is a connection identifier, the default transaction of the corresponding connection will be committed. If the argument is a transaction identifier, the corresponding transaction will be committed. The transaction context will be retained, so statements executed from within this transaction will not be invalidated.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

ibase_close
ibase_commit
Firebird/InterBase Funktionen


Commit a transaction

ibase_commit_ret
ibase_connect
Firebird/InterBase Funktionen
PHP Manual

ibase_commit

(PHP 5, PHP 7)

ibase_commit — Commit a transaction

Beschreibung

bool ibase_commit ([ resource $link_or_trans_identifier = NULL ] )

Commits a transaction.

Parameter-Liste

link_or_trans_identifier

If called without an argument, this function commits the default transaction of the default link. If the argument is a connection identifier, the default transaction of the corresponding connection will be committed. If the argument is a transaction identifier, the corresponding transaction will be committed.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

ibase_commit_ret
ibase_connect
Firebird/InterBase Funktionen


Öffnet eine Verbindung zu einer Datenbank

ibase_commit
ibase_db_info
Firebird/InterBase Funktionen
PHP Manual

ibase_connect

(PHP 5, PHP 7)

ibase_connect — Öffnet eine Verbindung zu einer Datenbank

Beschreibung

resource ibase_connect ([ string $database [, string $username [, string $password [, string $charset [, int $buffers [, int $dialect [, string $role [, int $sync ]]]]]]]] )

Stellt eine Verbindung zu einem Firebird/InterBase-Server her.

Wenn ibase_connect() mit den selben Argumenten erneut aufgerufen wird, wird keine neue Verbindung hergestellt, sondern die ID der bereits geöffneten Verbindung zurück gegeben. Die Verbindung zum InterBase-Server wird am Ende des jeweiligen Skripts automatisch beendet, es sei denn, es wird vorher die Funktion ibase_close() aufgerufen.

Parameter-Liste

database

Das database-Argument muss ein gültiger Pfad zu einer bestehenden Datenbank des Servers sein. Ist der DB-Server nicht lokal, muss ihm - in Abhängigkeit vom benutzten Protokoll - ein 'hostname:' (bei TCP/IP), 'hostname/port:' (TCP/IP für Interbase Server auf benutzerdefiniertem TCP Port), oder '//hostname/' (bei NetBEUI) vorangestellt werden.

username

Der Benutzername. Kann mit der ibase.default_user php.ini Direktive festgelegt werden.

password

Das Passwort für username. Kann mit der ibase.default_password php.ini Direktive festegelegt werden.

charset

charset ist der reguläre Zeichensatz der Datenbank.

buffers

Mit buffers geben sie die Anzahl der Datenbank-Cache-Buffer (serverseitig) an. Ist der Wert 0 oder nicht angegeben, benutzt der Server seine Default-Werte.

dialect

Mittels dialect bestimmen sie den Default-Wert des anzuwendenden SQL-Dialekts für alle Anweisungen während einer Datenbank-Verbindung (default ist der Client-seitig höchst verfügbare Dialekt).

role

Wirkt nur unter InterBase 5 und höher.

sync

Rückgabewerte

Gibt bei Erfolg eine Firebird/Interbase Verbindungs-ID zurück, oder FALSE im Fehlerfall.

Fehler/Exceptions

Erhalten Sie Fehlermeldungen wie "arithmetic exception, numeric overflow, or string truncation. Cannot transliterate character between character sets" (diese treten auf, wenn Sie Zeichen mit Akzent verwenden), wenn Sie diese Funktion und ibase_query() verwenden, müssen Sie den Zeichensatz (d.h. ISO8859_1 oder Ihren aktuellen Zeichensatz) einstellen.

Beispiele

Beispiel #1 ibase_connect()-Beispiel:

<?php
$host = 'localhost:/pfad/zu/ihrer.gdb';

$dbh = ibase_connect($host, $username, $password);
$stmt = 'SELECT * FROM tblname';
$sth = ibase_query($dbh, $stmt);
while ($row = ibase_fetch_object($sth)) {
    echo $row->email, "\n";
}
ibase_free_result($sth);
ibase_close($dbh);
?>

Siehe auch

  • ibase_pconnect() - Öffnet eine persistente Verbindung zu einer InterBase-Datenbank
  • ibase_close() - Schließt eine Verbindung zu einer InterBase-Datenbank

ibase_commit
ibase_db_info
Firebird/InterBase Funktionen


Request statistics about a database

ibase_connect
ibase_delete_user
Firebird/InterBase Funktionen
PHP Manual

ibase_db_info

(PHP 5, PHP 7)

ibase_db_info — Request statistics about a database

Beschreibung

string ibase_db_info ( resource $service_handle , string $db , int $action [, int $argument = 0 ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

ibase_connect
ibase_delete_user
Firebird/InterBase Funktionen


Delete a user from a security database

ibase_db_info
ibase_drop_db
Firebird/InterBase Funktionen
PHP Manual

ibase_delete_user

(PHP 5, PHP 7)

ibase_delete_user — Delete a user from a security database

Beschreibung

bool ibase_delete_user ( resource $service_handle , string $user_name )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ibase_add_user() - Add a user to a security database
  • ibase_modify_user() - Modify a user to a security database

ibase_db_info
ibase_drop_db
Firebird/InterBase Funktionen


Drops a database

ibase_delete_user
ibase_errcode
Firebird/InterBase Funktionen
PHP Manual

ibase_drop_db

(PHP 5, PHP 7)

ibase_drop_db — Drops a database

Beschreibung

bool ibase_drop_db ([ resource $connection = NULL ] )

This functions drops a database that was opened by either ibase_connect() or ibase_pconnect(). The database is closed and deleted from the server.

Parameter-Liste

connection

An InterBase link identifier. If omitted, the last opened link is assumed.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ibase_connect() - Öffnet eine Verbindung zu einer Datenbank
  • ibase_pconnect() - Öffnet eine persistente Verbindung zu einer InterBase-Datenbank

ibase_delete_user
ibase_errcode
Firebird/InterBase Funktionen


Return an error code

ibase_drop_db
ibase_errmsg
Firebird/InterBase Funktionen
PHP Manual

ibase_errcode

(PHP 5, PHP 7)

ibase_errcode — Return an error code

Beschreibung

int ibase_errcode ( void )

Returns the error code that resulted from the most recent InterBase function call.

Rückgabewerte

Returns the error code as an integer, or FALSE if no error occurred.

Siehe auch

  • ibase_errmsg() - Return error messages

ibase_drop_db
ibase_errmsg
Firebird/InterBase Funktionen


Return error messages

ibase_errcode
ibase_execute
Firebird/InterBase Funktionen
PHP Manual

ibase_errmsg

(PHP 5, PHP 7)

ibase_errmsg — Return error messages

Beschreibung

string ibase_errmsg ( void )

Returns the error message that resulted from the most recent InterBase function call.

Rückgabewerte

Returns the error message as a string, or FALSE if no error occurred.

Siehe auch

  • ibase_errcode() - Return an error code

ibase_errcode
ibase_execute
Firebird/InterBase Funktionen


Ausführen einer vorbereiteten Abfrage

ibase_errmsg
ibase_fetch_assoc
Firebird/InterBase Funktionen
PHP Manual

ibase_execute

(PHP 5, PHP 7)

ibase_execute — Ausführen einer vorbereiteten Abfrage

Beschreibung

resource ibase_execute ( resource $query [, mixed $bind_arg [, mixed $... ]] )

Führt eine zuvor per ibase_prepare() vorbereitete Abfrage aus.

Dies ist effizienter als der Gebrauch von ibase_query(), sofern sie mehrere ähnliche Abfragen durchführen wollen, bei denen sich immer nur einige Parameter ändern.

Parameter-Liste

query

Eine per ibase_prepare() vorbereite InterBase-Abfrage.

bind_arg

...

Rückgabewerte

Erzeugt die Abfrage einen Fehler, wird FALSE zurückgegeben. Ist sie erfolgreich und es gibt eine (möglicherweise leere) Ergebnismenge (so wie bei einer SELECT Abfrage), wird eine Ergebniskennung zurückgegeben. War die Abfrage erfolgreich und es gibt keine Ergebnisse, wird TRUE zurückgegeben.

Hinweis:

Diese Funktion gibt die Anzahl der Zeilen zurück, die von der Abfrage betroffen waren (falls größer als 0 und für den Anweisungstyp zutreffend). Eine Abfrage, die erfolgreich war, aber keine Zeilen betraf (z.B. ein UPDATE eines nicht existierenden Datensatzes), gibt TRUE zurück.

Beispiele

Beispiel #1 ibase_execute() Beispiel

<?php

$dbh = ibase_connect($host, $username, $password);

$updates = array(
    1 => 'Erik',
    5 => 'Philipp',
    7 => 'Laurenz'
);

$query = ibase_prepare($dbh, "UPDATE FOO SET BAR = ? WHERE BAZ = ?");

foreach ($updates as $baz => $bar) {
    ibase_execute($query, $bar, $baz);
}

?>

Siehe auch

  • ibase_query() - Führt eine Abfrage auf einer InterBase Datenbank aus

ibase_errmsg
ibase_fetch_assoc
Firebird/InterBase Funktionen


Fetch a result row from a query as an associative array

ibase_execute
ibase_fetch_object
Firebird/InterBase Funktionen
PHP Manual

ibase_fetch_assoc

(PHP 5, PHP 7)

ibase_fetch_assoc — Fetch a result row from a query as an associative array

Beschreibung

array ibase_fetch_assoc ( resource $result [, int $fetch_flag = 0 ] )

Fetch a result row from a query as an associative array.

ibase_fetch_assoc() fetches one row of data from the result. If two or more columns of the result have the same field names, the last column will take precedence. To access the other column(s) of the same name, you either need to access the result with numeric indices by using ibase_fetch_row() or use alias names in your query.

Parameter-Liste

result

The result handle.

fetch_flag

fetch_flag is a combination of the constants IBASE_TEXT and IBASE_UNIXTIME ORed together. Passing IBASE_TEXT will cause this function to return BLOB contents instead of BLOB ids. Passing IBASE_UNIXTIME will cause this function to return date/time values as Unix timestamps instead of as formatted strings.

Rückgabewerte

Returns an associative array that corresponds to the fetched row. Subsequent calls will return the next row in the result set, or FALSE if there are no more rows.

Siehe auch

  • ibase_fetch_row() - Ruft eine Zeile aus einer InterBase-Datenbank ab
  • ibase_fetch_object() - Liest einen Datensatz einer InterBase-Datenbank als Objekt ein

ibase_execute
ibase_fetch_object
Firebird/InterBase Funktionen


Liest einen Datensatz einer InterBase-Datenbank als Objekt ein

ibase_fetch_assoc
ibase_fetch_row
Firebird/InterBase Funktionen
PHP Manual

ibase_fetch_object

(PHP 5, PHP 7)

ibase_fetch_object — Liest einen Datensatz einer InterBase-Datenbank als Objekt ein

Beschreibung:

object ibase_fetch_object ( int $result_id )

Liest die Daten der per ibase_query() oder ibase_execute() gewonnenen result_id in ein Pseudo-Objekt ein.

<php
    $dbh  = ibase_connect ($host, $username, $password);
    $stmt = 'SELECT * FROM tblname';
    $sth  = ibase_query ($dbh, $stmt);
    while ($row = ibase_fetch_object ($sth)) {
        print $row->email . "\n";
    }
    ibase_close ($dbh);
?>

Siehe auch ibase_fetch_row().

ibase_fetch_assoc
ibase_fetch_row
Firebird/InterBase Funktionen


Ruft eine Zeile aus einer InterBase-Datenbank ab

ibase_fetch_object
ibase_field_info
Firebird/InterBase Funktionen
PHP Manual

ibase_fetch_row

(PHP 5, PHP 7)

ibase_fetch_row — Ruft eine Zeile aus einer InterBase-Datenbank ab

Beschreibung

array ibase_fetch_row ( resource $result_identifier [, int $fetch_flag = 0 ] )

ibase_fetch_row() ruft eine Datenzeile aus der gegebenen Ergebnismenge ab.

Folgende Aufrufe von ibase_fetch_row() geben die nächste Zeile der Ergebnismenge zurück, oder FALSE, wenn es keine weiteren Zeilen gibt.

Parameter-Liste

result_identifier

Eine InterBase Ergebniskennung.

fetch_flag

fetch_flag ist eine Oder-Verknüpfung der Konstanten IBASE_TEXT und IBASE_UNIXTIME. Wird IBASE_TEXT angegeben, dann werden BLOB Inhalte anstelle von BLOB-IDs zurückgegeben. Wird IBASE_UNIXTIME angegeben, dann werden Datum/Zeit-Werte als Unix Zeitstempel anstelle von formatierten Zeichenketten zurückgegeben.

Rückgabewerte

Gibt ein Array zurück, das der abgerufenen Zeile entspricht, oder FALSE, wenn es keine weiteren Zeilen gibt. Jede Ergebnisspalte wird in einem Array-Offset gespeichert, beginnend mit Offset 0.

Siehe auch

  • ibase_fetch_assoc() - Fetch a result row from a query as an associative array
  • ibase_fetch_object() - Liest einen Datensatz einer InterBase-Datenbank als Objekt ein

ibase_fetch_object
ibase_field_info
Firebird/InterBase Funktionen


Get information about a field

ibase_fetch_row
ibase_free_event_handler
Firebird/InterBase Funktionen
PHP Manual

ibase_field_info

(PHP 5, PHP 7)

ibase_field_info — Get information about a field

Beschreibung

array ibase_field_info ( resource $result , int $field_number )

Returns an array with information about a field after a select query has been run.

Parameter-Liste

result

An InterBase result identifier.

field_number

Field offset.

Rückgabewerte

Returns an array with the following keys: name, alias, relation, length and type.

Beispiele

Beispiel #1 ibase_field_info() example

<?php
$rs = ibase_query("SELECT * FROM tablename");
$coln = ibase_num_fields($rs);
for ($i = 0; $i < $coln; $i++) {
    $col_info = ibase_field_info($rs, $i);
    echo "name: ". $col_info['name']. "\n";
    echo "alias: ". $col_info['alias']. "\n";
    echo "relation: ". $col_info['relation']. "\n";
    echo "length: ". $col_info['length']. "\n";
    echo "type: ". $col_info['type']. "\n";
}
?>

Siehe auch

  • ibase_num_fields() - Ermittelt die Anzahl der Felder einer Ergebnismenge

ibase_fetch_row
ibase_free_event_handler
Firebird/InterBase Funktionen


Cancels a registered event handler

ibase_field_info
ibase_free_query
Firebird/InterBase Funktionen
PHP Manual

ibase_free_event_handler

(PHP 5, PHP 7)

ibase_free_event_handler — Cancels a registered event handler

Beschreibung

bool ibase_free_event_handler ( resource $event )

This function causes the registered event handler specified by event to be cancelled. The callback function will no longer be called for the events it was registered to handle.

Parameter-Liste

event

An event resource, created by ibase_set_event_handler().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ibase_set_event_handler() - Register a callback function to be called when events are posted

ibase_field_info
ibase_free_query
Firebird/InterBase Funktionen


Gibt den Speicher einer vorbereiteten Abfrage wieder frei

ibase_free_event_handler
ibase_free_result
Firebird/InterBase Funktionen
PHP Manual

ibase_free_query

(PHP 5, PHP 7)

ibase_free_query — Gibt den Speicher einer vorbereiteten Abfrage wieder frei

Beschreibung

bool ibase_free_query ( resource $query )

Gibt eine vorbereitete Abfrage frei.

Parameter-Liste

query

Eine mit ibase_prepare() vorbereitete Abfrage.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

ibase_free_event_handler
ibase_free_result
Firebird/InterBase Funktionen


Gibt eine Ergebnismenge frei

ibase_free_query
ibase_gen_id
Firebird/InterBase Funktionen
PHP Manual

ibase_free_result

(PHP 5, PHP 7)

ibase_free_result — Gibt eine Ergebnismenge frei

Beschreibung

bool ibase_free_result ( resource $result_identifier )

Gibt eine Ergebnismenge frei.

Parameter-Liste

result_identifier

Eine Ergebnismenge, die durch ibase_query() oder ibase_execute() erzeugt wurde.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

ibase_free_query
ibase_gen_id
Firebird/InterBase Funktionen


Increments the named generator and returns its new value

ibase_free_result
ibase_maintain_db
Firebird/InterBase Funktionen
PHP Manual

ibase_gen_id

(PHP 5, PHP 7)

ibase_gen_id — Increments the named generator and returns its new value

Beschreibung

mixed ibase_gen_id ( string $generator [, int $increment = 1 [, resource $link_identifier = NULL ]] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Rückgabewerte

Returns new generator value as integer, or as string if the value is too big.

ibase_free_result
ibase_maintain_db
Firebird/InterBase Funktionen


Execute a maintenance command on the database server

ibase_gen_id
ibase_modify_user
Firebird/InterBase Funktionen
PHP Manual

ibase_maintain_db

(PHP 5, PHP 7)

ibase_maintain_db — Execute a maintenance command on the database server

Beschreibung

bool ibase_maintain_db ( resource $service_handle , string $db , int $action [, int $argument = 0 ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

ibase_gen_id
ibase_modify_user
Firebird/InterBase Funktionen


Modify a user to a security database

ibase_maintain_db
ibase_name_result
Firebird/InterBase Funktionen
PHP Manual

ibase_modify_user

(PHP 5, PHP 7)

ibase_modify_user — Modify a user to a security database

Beschreibung

bool ibase_modify_user ( resource $service_handle , string $user_name , string $password [, string $first_name [, string $middle_name [, string $last_name ]]] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ibase_add_user() - Add a user to a security database
  • ibase_delete_user() - Delete a user from a security database

ibase_maintain_db
ibase_name_result
Firebird/InterBase Funktionen


Assigns a name to a result set

ibase_modify_user
ibase_num_fields
Firebird/InterBase Funktionen
PHP Manual

ibase_name_result

(PHP 5, PHP 7)

ibase_name_result — Assigns a name to a result set

Beschreibung

bool ibase_name_result ( resource $result , string $name )

This function assigns a name to a result set. This name can be used later in UPDATE|DELETE ... WHERE CURRENT OF name statements.

Parameter-Liste

result

An InterBase result set.

name

The name to be assigned.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 ibase_name_result() example

<?php
$result = ibase_query("SELECT field1,field2 FROM table FOR UPDATE");
ibase_name_result($result, "my_cursor");

$updateqry = ibase_prepare("UPDATE table SET field2 = ? WHERE CURRENT OF my_cursor");

for ($i = 0; ibase_fetch_row($result); ++$i) {
    ibase_execute($updateqry, $i);
}
?>

Siehe auch

  • ibase_prepare() - Bereitet eine Abfrage für späteres Binden der Parameter-Platzhalter und Ausführung vor
  • ibase_execute() - Ausführen einer vorbereiteten Abfrage

ibase_modify_user
ibase_num_fields
Firebird/InterBase Funktionen


Ermittelt die Anzahl der Felder einer Ergebnismenge

ibase_name_result
ibase_num_params
Firebird/InterBase Funktionen
PHP Manual

ibase_num_fields

(PHP 5, PHP 7)

ibase_num_fields — Ermittelt die Anzahl der Felder einer Ergebnismenge

Beschreibung

int ibase_num_fields ( resource $result_id )

Ermittelt die Anzahl der Felder einer Ergebnismenge.

Parameter-Liste

result_id

Eine InterBase Ergebniskennung.

Rückgabewerte

Gibt die Anzahl der Felder als Ganzzahl zurück.

Beispiele

Beispiel #1 ibase_num_fields() Beispiel

<?php
$rs = ibase_query("SELECT * FROM tablename");
$coln = ibase_num_fields($rs);
for ($i = 0; $i < $coln; $i++) {
    $col_info = ibase_field_info($rs, $i);
    echo "Name: " . $col_info['name'] . "\n";
    echo "Alias: " . $col_info['alias'] . "\n";
    echo "Relation: " . $col_info['relation'] . "\n";
    echo "Länge: " . $col_info['length'] . "\n";
    echo "Typ: " . $col_info['type'] . "\n";
}
?>

Siehe auch

  • ibase_field_info() - Get information about a field

ibase_name_result
ibase_num_params
Firebird/InterBase Funktionen


Return the number of parameters in a prepared query

ibase_num_fields
ibase_param_info
Firebird/InterBase Funktionen
PHP Manual

ibase_num_params

(PHP 5, PHP 7)

ibase_num_params — Return the number of parameters in a prepared query

Beschreibung

int ibase_num_params ( resource $query )

This function returns the number of parameters in the prepared query specified by query. This is the number of binding arguments that must be present when calling ibase_execute().

Parameter-Liste

query

The prepared query handle.

Rückgabewerte

Returns the number of parameters as an integer.

Siehe auch

  • ibase_prepare() - Bereitet eine Abfrage für späteres Binden der Parameter-Platzhalter und Ausführung vor
  • ibase_param_info() - Return information about a parameter in a prepared query

ibase_num_fields
ibase_param_info
Firebird/InterBase Funktionen


Return information about a parameter in a prepared query

ibase_num_params
ibase_pconnect
Firebird/InterBase Funktionen
PHP Manual

ibase_param_info

(PHP 5, PHP 7)

ibase_param_info — Return information about a parameter in a prepared query

Beschreibung

array ibase_param_info ( resource $query , int $param_number )

Returns an array with information about a parameter after a query has been prepared.

Parameter-Liste

query

An InterBase prepared query handle.

param_number

Parameter offset.

Rückgabewerte

Returns an array with the following keys: name, alias, relation, length and type.

Siehe auch

  • ibase_field_info() - Get information about a field
  • ibase_num_params() - Return the number of parameters in a prepared query

ibase_num_params
ibase_pconnect
Firebird/InterBase Funktionen


Öffnet eine persistente Verbindung zu einer InterBase-Datenbank

ibase_param_info
ibase_prepare
Firebird/InterBase Funktionen
PHP Manual

ibase_pconnect

(PHP 5, PHP 7)

ibase_pconnect — Öffnet eine persistente Verbindung zu einer InterBase-Datenbank

Beschreibung

resource ibase_pconnect ([ string $database [, string $username [, string $password [, string $charset [, int $buffers [, int $dialect [, string $role [, int $sync ]]]]]]]] )

Öffnet eine persistente Verbindung zu einer InterBase-Datenbank.

ibase_pconnect() agiert ähnlich der Funktion ibase_connect(), mit zwei Ausnahmen.

Erstens wird beim Verbindungs-Aufbau versucht, eine bereits bestehende (persistente) Verbindung zu finden, die mit den selben Parametern aufgebaut worden ist. Wird eine solche gefunden, wird statt eines neuen Verbindungs-Aufbaus die ID der bestehenden Verbindung zurückgegeben.

Zweitens wird beim Beenden des Skripts die Verbindung zum InterBase Server nicht beendet. Statt dessen wird die Verbindung für den weiteren Gebrauch beibehalten (ibase_close() beendet keine Verbindungen, die mittels ibase_pconnect() erzeugt wurden). Diese Art der Verbindung wird deshalb auch 'persistent' genannt.

Parameter-Liste

database

Das database-Argument muss ein gültiger Pfad zu einer bestehenden Datenbank des Servers sein. Ist der DB-Server nicht lokal, muss ihm - in Abhängigkeit vom benutzten Protokoll - ein 'hostname:' (bei TCP/IP), '//hostname/' (bei NetBEUI) oder 'hostname@' (IPX/SPX) vorangestellt werden.

username

Der Benutzername. Kann mit der ibase.default_user php.ini Direktive festgelegt werden.

password

Das Passwort für username. Kann mit der ibase.default_password php.ini Direktive festegelegt werden.

charset

charset ist der reguläre Zeichensatz der Datenbank.

buffers

Mit buffers geben sie die Anzahl der Datenbank-Cache-Buffer (serverseitig) an. Ist der Wert 0 oder nicht angegeben, benutzt der Server seine Default-Werte.

dialect

Mittels dialect bestimmen sie den Default-Wert des anzuwendenden SQL-Dialekts für alle Anweisungen während einer Datenbank-Verbindung (default ist der Client-seitig höchst verfügbare Dialekt). Dies wirkt nur mit InterBase 6 und höher.

role

Wirkt nur unter InterBase 5 und höher.

sync

Rückgabewerte

Gibt bei Erfolg eine Firebird/Interbase Verbindungs-ID zurück, oder FALSE im Fehlerfall.

Siehe auch

  • ibase_close() - Schließt eine Verbindung zu einer InterBase-Datenbank
  • ibase_connect() - Öffnet eine Verbindung zu einer Datenbank

ibase_param_info
ibase_prepare
Firebird/InterBase Funktionen


Bereitet eine Abfrage für späteres Binden der Parameter-Platzhalter und Ausführung vor

ibase_pconnect
ibase_query
Firebird/InterBase Funktionen
PHP Manual

ibase_prepare

(PHP 5, PHP 7)

ibase_prepare — Bereitet eine Abfrage für späteres Binden der Parameter-Platzhalter und Ausführung vor

Beschreibung

resource ibase_prepare ( string $query )
resource ibase_prepare ( resource $link_identifier , string $query )
resource ibase_prepare ( resource $link_identifier , string $trans , string $query )

Bereitet eine Abfrage für späteres Binden der Parameter-Platzhalter und Ausführung vor (per ibase_execute()).

Parameter-Liste

query

Eine InterBase Abfrage.

link_identifier

Ein InterBase-Verbindungs-Bezeichner, der von ibase_connect() zurückgegeben wurde. Falls ausgelassen, wird die zuletzt geöffnete Verbindung verwendet.

trans

Ein InterBase-Transaktions-Handle mit der die Abfrage assoziiert werden soll. Falls ausgelassen, wird die Standard-Transaktion der Abfrage verwendet.

Rückgabewerte

Gibt ein Handle der vorbereiteten Abfrage zurück, oder FALSE im Fehlerfall.

ibase_pconnect
ibase_query
Firebird/InterBase Funktionen


Führt eine Abfrage auf einer InterBase Datenbank aus

ibase_prepare
ibase_restore
Firebird/InterBase Funktionen
PHP Manual

ibase_query

(PHP 5, PHP 7)

ibase_query — Führt eine Abfrage auf einer InterBase Datenbank aus

Beschreibung

resource ibase_query ([ resource $link_identifier ], string $query [, int $bind_args ] )

Führt eine Abfrage auf einer InterBase Datenbank aus.

Parameter-Liste

link_identifier

Eine InterBase Verbindungskennung. Wenn ausgelassen, wird die zuletzt geöffnete Verbindung angenommen.

query

Eine InterBase Abfrage.

bind_args

Rückgabewerte

Erzeugt die Abfrage einen Fehler, wird FALSE zurückgegeben. Ist sie erfolgreich und es gibt eine (möglicherweise leere) Ergebnismenge (so wie bei einer SELECT Abfrage), wird eine Ergebniskennung zurückgegeben. War die Abfrage erfolgreich und es gibt keine Ergebnisse, wird TRUE zurückgegeben.

Hinweis:

Unter PHP 5.0.0 und höher gibt diese Funktion die Anzahl der Zeilen zurück, die von der Abfrage für INSERT, UPDATE und DELETE Anweisungen betroffen waren. Um die Abwärtskompatibilität zu erhalten, wird TRUE für diese Anweisungen zurückgegeben, wenn die Abfrage erfolgreich war, aber keine Zeilen betraf.

Fehler/Exceptions

Erhalten Sie Fehlermeldungen wie "arithmetic exception, numeric overflow, or string truncation. Cannot transliterate character between character sets" (diese treten auf, wenn Sie Zeichen mit Akzent verwenden), wenn Sie diese Funktion und ibase_query() verwenden, müssen Sie den Zeichensatz (d.h. ISO8859_1 oder Ihren aktuellen Zeichensatz) einstellen.

Changelog

Version | Beschreibung
5.3.1 | Im Erfolgsfall gibt die Funktion nun TRUE zurück, wenn keine Zeilen betroffen waren, wohingegen zuvor 0 (eine Null gefolgt von einem Leerzeichen) zurückgegeben wurde.

Beispiele

Beispiel #1 ibase_query() example

<?php

$host = 'localhost:/pfad/zu/ihrer.gdb';

$dbh = ibase_connect($host, $username, $password);
$stmt = 'SELECT * FROM tblname';

$sth = ibase_query($dbh, $stmt) or die(ibase_errmsg());

?>

Siehe auch

  • ibase_errmsg() - Return error messages
  • ibase_fetch_row() - Ruft eine Zeile aus einer InterBase-Datenbank ab
  • ibase_fetch_object() - Liest einen Datensatz einer InterBase-Datenbank als Objekt ein
  • ibase_free_result() - Gibt eine Ergebnismenge frei

ibase_prepare
ibase_restore
Firebird/InterBase Funktionen


Initiates a restore task in the service manager and returns immediately

ibase_query
ibase_rollback_ret
Firebird/InterBase Funktionen
PHP Manual

ibase_restore

(PHP 5, PHP 7)

ibase_restore — Initiates a restore task in the service manager and returns immediately

Beschreibung

mixed ibase_restore ( resource $service_handle , string $source_file , string $dest_db [, int $options = 0 [, bool $verbose = false ]] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

ibase_query
ibase_rollback_ret
Firebird/InterBase Funktionen


Roll back a transaction without closing it

ibase_restore
ibase_rollback
Firebird/InterBase Funktionen
PHP Manual

ibase_rollback_ret

(PHP 5, PHP 7)

ibase_rollback_ret — Roll back a transaction without closing it

Beschreibung

bool ibase_rollback_ret ([ resource $link_or_trans_identifier = NULL ] )

Rolls back a transaction without closing it.

Parameter-Liste

link_or_trans_identifier

If called without an argument, this function rolls back the default transaction of the default link. If the argument is a connection identifier, the default transaction of the corresponding connection will be rolled back. If the argument is a transaction identifier, the corresponding transaction will be rolled back. The transaction context will be retained, so statements executed from within this transaction will not be invalidated.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

ibase_restore
ibase_rollback
Firebird/InterBase Funktionen


Roll back a transaction

ibase_rollback_ret
ibase_server_info
Firebird/InterBase Funktionen
PHP Manual

ibase_rollback

(PHP 5, PHP 7)

ibase_rollback — Roll back a transaction

Beschreibung

bool ibase_rollback ([ resource $link_or_trans_identifier = NULL ] )

Rolls back a transaction.

Parameter-Liste

link_or_trans_identifier

If called without an argument, this function rolls back the default transaction of the default link. If the argument is a connection identifier, the default transaction of the corresponding connection will be rolled back. If the argument is a transaction identifier, the corresponding transaction will be rolled back.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

ibase_rollback_ret
ibase_server_info
Firebird/InterBase Funktionen


Request information about a database server

ibase_rollback
ibase_service_attach
Firebird/InterBase Funktionen
PHP Manual

ibase_server_info

(PHP 5, PHP 7)

ibase_server_info — Request information about a database server

Beschreibung

string ibase_server_info ( resource $service_handle , int $action )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

ibase_rollback
ibase_service_attach
Firebird/InterBase Funktionen


Connect to the service manager

ibase_server_info
ibase_service_detach
Firebird/InterBase Funktionen
PHP Manual

ibase_service_attach

(PHP 5, PHP 7)

ibase_service_attach — Connect to the service manager

Beschreibung

resource ibase_service_attach ( string $host , string $dba_username , string $dba_password )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

ibase_server_info
ibase_service_detach
Firebird/InterBase Funktionen


Disconnect from the service manager

ibase_service_attach
ibase_set_event_handler
Firebird/InterBase Funktionen
PHP Manual

ibase_service_detach

(PHP 5, PHP 7)

ibase_service_detach — Disconnect from the service manager

Beschreibung

bool ibase_service_detach ( resource $service_handle )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

ibase_service_attach
ibase_set_event_handler
Firebird/InterBase Funktionen


Register a callback function to be called when events are posted

ibase_service_detach
ibase_trans
Firebird/InterBase Funktionen
PHP Manual

ibase_set_event_handler

(PHP 5, PHP 7)

ibase_set_event_handler — Register a callback function to be called when events are posted

Beschreibung

resource ibase_set_event_handler ( callable $event_handler , string $event_name1 [, string $event_name2 [, string $... ]] )
resource ibase_set_event_handler ( resource $connection , callable $event_handler , string $event_name1 [, string $event_name2 [, string $... ]] )

This function registers a PHP user function as event handler for the specified events.

Parameter-Liste

event_handler

The callback is called with the event name and the link resource as arguments whenever one of the specified events is posted by the database.

The callback must return FALSE if the event handler should be canceled. Any other return value is ignored. This function accepts up to 15 event arguments.

event_name1

An event name.

event_name2

At most 15 events allowed.

Rückgabewerte

The return value is an event resource. This resource can be used to free the event handler using ibase_free_event_handler().

Beispiele

Beispiel #1 ibase_set_event_handler() example

<?php

function event_handler($event_name, $link)
{
    if ($event_name == "NEW ORDER") {
        // process new order
        ibase_query($link, "UPDATE orders SET status='handled'");
    } else if ($event_name == "DB_SHUTDOWN") {
        // free event handler
        return false;
    }
}

ibase_set_event_handler($link, "event_handler", "NEW_ORDER", "DB_SHUTDOWN");
?>

Siehe auch

  • ibase_free_event_handler() - Cancels a registered event handler
  • ibase_wait_event() - Wait for an event to be posted by the database

ibase_service_detach
ibase_trans
Firebird/InterBase Funktionen


Begin a transaction

ibase_set_event_handler
ibase_wait_event
Firebird/InterBase Funktionen
PHP Manual

ibase_trans

(PHP 5, PHP 7)

ibase_trans — Begin a transaction

Beschreibung

resource ibase_trans ([ int $trans_args [, resource $link_identifier ]] )
resource ibase_trans ([ resource $link_identifier [, int $trans_args ]] )

Begins a transaction.

Hinweis:

The first call to ibase_trans() will not return the default transaction of a connection. All transactions started by ibase_trans() will be rolled back at the end of the script if they were not committed or rolled back by either ibase_commit() or ibase_rollback().

Hinweis:

This function will accept multiple trans_args and link_identifier arguments. This allows transactions over multiple database connections, which are committed using a 2-phase commit algorithm. This means you can rely on the updates to either succeed in every database, or fail in every database. It does NOT mean you can use tables from different databases in the same query!

If you use transactions over multiple databases, you will have to specify both the link_id and transaction_id in calls to ibase_query() and ibase_prepare().

Parameter-Liste

trans_args

trans_args can be a combination of IBASE_READ, IBASE_WRITE, IBASE_COMMITTED, IBASE_CONSISTENCY, IBASE_CONCURRENCY, IBASE_REC_VERSION, IBASE_REC_NO_VERSION, IBASE_WAIT and IBASE_NOWAIT.

link_identifier

An InterBase link identifier. If omitted, the last opened link is assumed.

Rückgabewerte

Returns a transaction handle, or FALSE on error.

ibase_set_event_handler
ibase_wait_event
Firebird/InterBase Funktionen


Wait for an event to be posted by the database

ibase_trans
FrontBase
Firebird/InterBase Funktionen
PHP Manual

ibase_wait_event

(PHP 5, PHP 7)

ibase_wait_event — Wait for an event to be posted by the database

Beschreibung

string ibase_wait_event ( string $event_name1 [, string $event_name2 [, string $... ]] )
string ibase_wait_event ( resource $connection , string $event_name1 [, string $event_name2 [, string $... ]] )

This function suspends execution of the script until one of the specified events is posted by the database. The name of the event that was posted is returned. This function accepts up to 15 event arguments.

Parameter-Liste

event_name1

The event name.

event_name2

...

Rückgabewerte

Returns the name of the event that was posted.

Siehe auch

  • ibase_set_event_handler() - Register a callback function to be called when events are posted
  • ibase_free_event_handler() - Cancels a registered event handler

ibase_trans
FrontBase
Firebird/InterBase Funktionen


FrontBase

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • FrontBase Funktionen
    • fbsql_affected_rows — Ermittelt die Anzahl der von der vorherigen FrontBase-Operation betroffenen Datensätze
    • fbsql_autocommit — Aktiviert oder deaktiviert Autocommit
    • fbsql_blob_size — Get the size of a BLOB
    • fbsql_change_user — Wechselt den eingeloggten Benutzer der aktiven Verbindung
    • fbsql_clob_size — Get the size of a CLOB
    • fbsql_close — Beendet eine FrontBase-Verbindung
    • fbsql_commit — Wendet eine Transaktion auf die Datenbank an
    • fbsql_connect — Öffnet eine Verbindung zu einem FrontBase-Server
    • fbsql_create_blob — Create a BLOB
    • fbsql_create_clob — Create a CLOB
    • fbsql_create_db — Erstellt eine FrontBase-Datenbank
    • fbsql_data_seek — Bewegt den internen Ergebnis-Zeiger
    • fbsql_database_password — Sets or retrieves the password for a FrontBase database
    • fbsql_database — Lesen oder Setzen des Datenbanknamens, der mit einer Verbindung verwendet wird
    • fbsql_db_query — Absetzen einer Anfrage an die Datenbank
    • fbsql_db_status — Ermittelt den Status einer angegebenen Datenbank
    • fbsql_drop_db — Löschen (DROP) einer FrontBase-Datenbank
    • fbsql_errno — Liefert die numerische Fehlermeldung der der letzten Operation zurück
    • fbsql_error — Liefert den Fehlertext der zuvor ausgeführten Operation
    • fbsql_fetch_array — Fetch a result row as an associative array, a numeric array, or both
    • fbsql_fetch_assoc — Fetch a result row as an associative array
    • fbsql_fetch_field — Liefert ein Objekt mit Feldinformationen aus einem Abfrageergebnis
    • fbsql_fetch_lengths — Get the length of each output in a result
    • fbsql_fetch_object — Fetch a result row as an object
    • fbsql_fetch_row — Liefert einen Datensatz als numerisches Array
    • fbsql_field_flags — Get the flags associated with the specified field in a result
    • fbsql_field_len — Returns the length of the specified field
    • fbsql_field_name — Liefert den Namen des angegebenen Feldes im Ergebnis
    • fbsql_field_seek — Setzt den Ergebniszeiger auf den angegebenen Feldoffset
    • fbsql_field_table — Liefert den Namen der Tabelle, die das genannte Feld enthält
    • fbsql_field_type — Liefert den Typ des angegebenen Feldes in einem Ergebnis
    • fbsql_free_result — Gibt vom Ergebnis belegten Speicher wieder frei
    • fbsql_get_autostart_info — Beschreibung
    • fbsql_hostname — Ermittelt oder setzt den mit einer Verbindung verwendeten Hostnamen
    • fbsql_insert_id — Get the id generated from the previous INSERT operation
    • fbsql_list_dbs — List databases available on a FrontBase server
    • fbsql_list_fields — List FrontBase result fields
    • fbsql_list_tables — List tables in a FrontBase database
    • fbsql_next_result — Setzt den internen Ergebniskennungszeiger auf das nächste Ergebnis
    • fbsql_num_fields — Ermittelt Anzahl der Felder im Ergebnis
    • fbsql_num_rows — Liefert die Anzahl der Datensätze in einem Ergebnis
    • fbsql_password — Liest oder setzt das Bentuzerpasswort für eine Verbindung
    • fbsql_pconnect — Öffnet eine persistente Verbindung zu einem FrontBase-Server
    • fbsql_query — Sendet eine FrontBase-Abfrage
    • fbsql_read_blob — Read a BLOB from the database
    • fbsql_read_clob — Read a CLOB from the database
    • fbsql_result — Liefert Ergebnisdaten
    • fbsql_rollback — Rollback a transaction to the database
    • fbsql_rows_fetched — Get the number of rows affected by the last statement
    • fbsql_select_db — Wählt eine FrontBase-Datenbank aus
    • fbsql_set_characterset — Change input/output character set
    • fbsql_set_lob_mode — Setzt den LOB-Lese-Modus für ein FrontBase-Ergebnis
    • fbsql_set_password — Change the password for a given user
    • fbsql_set_transaction — Set the transaction locking and isolation
    • fbsql_start_db — Startet eine Datenbank auf einem lokalen oder entfernten Server
    • fbsql_stop_db — Stoppt eine Datenbank auf einem lokalen oder entferneten Server
    • fbsql_tablename — Liefert den Tabellennamen eines Felds
    • fbsql_tablename — Alias von fbsql_table_name
    • fbsql_username — Liest oder setzt den Benutzernamen für die Verbindung
    • fbsql_warnings — Aktivieren oder Deaktivieren von FrontBase-Warnungen
ibase_wait_event
Einführung
Anbieterspezifische Datenbankerweiterungen


Einführung

Über diese Funktionen können Sie auf FrontBase Datenbank-Server zugreifen. Weiterführende Informationen über FrontBase erhalten Sie unter » http://www.frontbase.com/.

Die FrontBase-Dokumentation finden Sie unter » http://www.frontbase.com/cgi-bin/WebObjects/FBWebSite.woa.

Die FrontBase-Unterstützung wurde in PHP 4.0.6 eingeführt.

Hinweis:

Diese Erweiterung wurde ins » PECL-Repositorium verschoben und ist nicht mehr Teil von PHP ab PHP 5.3.0.

FrontBase
Installation/Konfiguration
FrontBase


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
FrontBase


Anforderungen

Sie müssen den FrontBase Datenbank-Server oder die fbsql-Client-Bibliotheken installieren, um die Funktionen nutzen zu können. FrontBase können Sie über » http://www.frontbase.com/ bekommen.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Um diese Funktionen nutzen zu können, muss PHP mit fbsql-Unterstützung kompiliert werden, hierzu dient die --with-fbsql[=DIR] -Option. Wird kein Pfad angegeben, sucht PHP die fbsql-Bibliotheken im Standardinstallationsverzeichnis der jeweiligen Plattform. Benutzer, die FrontBase an einem anderen Ort installiert haben, sollten den Pfad zu fbsql grundsätzlich angeben: --with-fbsql=/path/to/fbsql . Hierdurch wird PHP gezwungen, die von FrontBase installierten Bibliotheken zu nutzen, um Konflikte zu vermeiden.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

FrontBase configuration options
Name | Standard | Veränderbar | Changelog
fbsql.allow_persistent | "1" | PHP_INI_SYSTEM | Verfügbar ab PHP 4.2.0.
fbsql.generate_warnings | "0" | PHP_INI_SYSTEM | Verfügbar ab PHP 4.0.6.
fbsql.autocommit | "1" | PHP_INI_SYSTEM | Verfügbar ab PHP 4.0.6.
fbsql.max_persistent | "-1" | PHP_INI_SYSTEM | Verfügbar ab PHP 4.0.6.
fbsql.max_links | "128" | PHP_INI_SYSTEM | Verfügbar ab PHP 4.0.6.
fbsql.max_connections | "128" | PHP_INI_SYSTEM | Verfügbar ab PHP 4.0.6.
fbsql.max_results | "128" | PHP_INI_SYSTEM | Verfügbar ab PHP 4.0.6.
fbsql.batchSize | "1000" | PHP_INI_SYSTEM | Verfügbar ab PHP 4.2.0. Entfernt in PHP 5.1.0.
fbsql.default_host | NULL | PHP_INI_SYSTEM | Verfügbar ab PHP 4.0.6.
fbsql.default_user | "_SYSTEM" | PHP_INI_SYSTEM | Verfügbar ab PHP 4.0.6.
fbsql.default_password | "" | PHP_INI_SYSTEM | Verfügbar ab PHP 4.0.6.
fbsql.default_database | "" | PHP_INI_SYSTEM | Verfügbar ab PHP 4.0.6.
fbsql.default_database_password | "" | PHP_INI_SYSTEM | Verfügbar ab PHP 4.0.6.
fbsql.mbatchSize | "1000" | PHP_INI_SYSTEM | Verfügbar ab PHP 4.0.6. Entfernt in PHP 4.2.0.
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

FBSQL_ASSOC (integer)
FBSQL_NUM (integer)
FBSQL_BOTH (integer)
FBSQL_LOCK_DEFERRED (integer)
FBSQL_LOCK_OPTIMISTIC (integer)
FBSQL_LOCK_PESSIMISTIC (integer)
FBSQL_ISO_READ_UNCOMMITTED (integer)
FBSQL_ISO_READ_COMMITTED (integer)
FBSQL_ISO_REPEATABLE_READ (integer)
FBSQL_ISO_SERIALIZABLE (integer)
FBSQL_ISO_VERSIONED (integer)
FBSQL_UNKNOWN (integer)
FBSQL_STOPPED (integer)
FBSQL_STARTING (integer)
FBSQL_RUNNING (integer)
FBSQL_STOPPING (integer)
FBSQL_NOEXEC (integer)
FBSQL_LOB_DIRECT (integer)
FBSQL_LOB_HANDLE (integer)
Ressource-Typen
FrontBase Funktionen
FrontBase


FrontBase Funktionen

Inhaltsverzeichnis

  • fbsql_affected_rows — Ermittelt die Anzahl der von der vorherigen FrontBase-Operation betroffenen Datensätze
  • fbsql_autocommit — Aktiviert oder deaktiviert Autocommit
  • fbsql_blob_size — Get the size of a BLOB
  • fbsql_change_user — Wechselt den eingeloggten Benutzer der aktiven Verbindung
  • fbsql_clob_size — Get the size of a CLOB
  • fbsql_close — Beendet eine FrontBase-Verbindung
  • fbsql_commit — Wendet eine Transaktion auf die Datenbank an
  • fbsql_connect — Öffnet eine Verbindung zu einem FrontBase-Server
  • fbsql_create_blob — Create a BLOB
  • fbsql_create_clob — Create a CLOB
  • fbsql_create_db — Erstellt eine FrontBase-Datenbank
  • fbsql_data_seek — Bewegt den internen Ergebnis-Zeiger
  • fbsql_database_password — Sets or retrieves the password for a FrontBase database
  • fbsql_database — Lesen oder Setzen des Datenbanknamens, der mit einer Verbindung verwendet wird
  • fbsql_db_query — Absetzen einer Anfrage an die Datenbank
  • fbsql_db_status — Ermittelt den Status einer angegebenen Datenbank
  • fbsql_drop_db — Löschen (DROP) einer FrontBase-Datenbank
  • fbsql_errno — Liefert die numerische Fehlermeldung der der letzten Operation zurück
  • fbsql_error — Liefert den Fehlertext der zuvor ausgeführten Operation
  • fbsql_fetch_array — Fetch a result row as an associative array, a numeric array, or both
  • fbsql_fetch_assoc — Fetch a result row as an associative array
  • fbsql_fetch_field — Liefert ein Objekt mit Feldinformationen aus einem Abfrageergebnis
  • fbsql_fetch_lengths — Get the length of each output in a result
  • fbsql_fetch_object — Fetch a result row as an object
  • fbsql_fetch_row — Liefert einen Datensatz als numerisches Array
  • fbsql_field_flags — Get the flags associated with the specified field in a result
  • fbsql_field_len — Returns the length of the specified field
  • fbsql_field_name — Liefert den Namen des angegebenen Feldes im Ergebnis
  • fbsql_field_seek — Setzt den Ergebniszeiger auf den angegebenen Feldoffset
  • fbsql_field_table — Liefert den Namen der Tabelle, die das genannte Feld enthält
  • fbsql_field_type — Liefert den Typ des angegebenen Feldes in einem Ergebnis
  • fbsql_free_result — Gibt vom Ergebnis belegten Speicher wieder frei
  • fbsql_get_autostart_info — Beschreibung
  • fbsql_hostname — Ermittelt oder setzt den mit einer Verbindung verwendeten Hostnamen
  • fbsql_insert_id — Get the id generated from the previous INSERT operation
  • fbsql_list_dbs — List databases available on a FrontBase server
  • fbsql_list_fields — List FrontBase result fields
  • fbsql_list_tables — List tables in a FrontBase database
  • fbsql_next_result — Setzt den internen Ergebniskennungszeiger auf das nächste Ergebnis
  • fbsql_num_fields — Ermittelt Anzahl der Felder im Ergebnis
  • fbsql_num_rows — Liefert die Anzahl der Datensätze in einem Ergebnis
  • fbsql_password — Liest oder setzt das Bentuzerpasswort für eine Verbindung
  • fbsql_pconnect — Öffnet eine persistente Verbindung zu einem FrontBase-Server
  • fbsql_query — Sendet eine FrontBase-Abfrage
  • fbsql_read_blob — Read a BLOB from the database
  • fbsql_read_clob — Read a CLOB from the database
  • fbsql_result — Liefert Ergebnisdaten
  • fbsql_rollback — Rollback a transaction to the database
  • fbsql_rows_fetched — Get the number of rows affected by the last statement
  • fbsql_select_db — Wählt eine FrontBase-Datenbank aus
  • fbsql_set_characterset — Change input/output character set
  • fbsql_set_lob_mode — Setzt den LOB-Lese-Modus für ein FrontBase-Ergebnis
  • fbsql_set_password — Change the password for a given user
  • fbsql_set_transaction — Set the transaction locking and isolation
  • fbsql_start_db — Startet eine Datenbank auf einem lokalen oder entfernten Server
  • fbsql_stop_db — Stoppt eine Datenbank auf einem lokalen oder entferneten Server
  • fbsql_tablename — Liefert den Tabellennamen eines Felds
  • fbsql_tablename — Alias von fbsql_table_name
  • fbsql_username — Liest oder setzt den Benutzernamen für die Verbindung
  • fbsql_warnings — Aktivieren oder Deaktivieren von FrontBase-Warnungen
Vordefinierte Konstanten
fbsql_affected_rows
FrontBase


Ermittelt die Anzahl der von der vorherigen FrontBase-Operation betroffenen Datensätze

FrontBase Funktionen
fbsql_autocommit
FrontBase Funktionen
PHP Manual

fbsql_affected_rows

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_affected_rows — Ermittelt die Anzahl der von der vorherigen FrontBase-Operation betroffenen Datensätze

Beschreibung

int fbsql_affected_rows ([ resource $link_identifier ] )

fbsql_affected_rows() liefert die Anzahl der von der letzten INSERT-, UPDATE- oder DELETE-Abfrage betroffenen Datensätze auf dem Server, der mit dem angegebenen link_identifier assoziiert ist.

Hinweis:

Falls Sie Transaktionen verwenden, müssen Sie fbsql_affected_rows() unmittelbar nach Ihrer INSERT-, UPDATE-, oder DELETE-Abfrage aufrufen, nicht nach dem Commit.

War die letzte Abfrage eine DELETE-Anweisung ohne WHERE-Bedingung, wurden zwar alle Datensätze aus der Tabelle gelöscht, aber diese Funktion gibt in diesem Falle trotzdem Null(0) zurück.

Hinweis:

Benutzen Sie UPDATE, wird FrontBase keine Spalten aktualisieren, bei denen der Neue dem Alten Wert entspricht. Dies kann dazu führen, dass fbsql_affected_rows() unter Umständen nicht die Anzahl der passenden Datensätze liefert, sondern nur die, die tatsächlich durch die Anfrage betroffen waren.

Parameter-Liste

link_identifier

Eine von fbsql_connect() oder fbsql_pconnect() zurückgegebe FrontBase-Verbindung.

Wenn optional und nicht angegeben, wird versucht, eine bereits geöffnete FrontBase-Verbindung zu finden, falls keine vorhanden ist, wird versucht, eine zu öffnen, als ob fbsql_connect() ohne Parameter aufgerufen wurde.

Rückgabewerte

Falls die letze Anfrage fehlschlug, liefert diese Funktion -1 zurück.

Siehe auch

  • fbsql_num_rows() - Liefert die Anzahl der Datensätze in einem Ergebnis

FrontBase Funktionen
fbsql_autocommit
FrontBase Funktionen


Aktiviert oder deaktiviert Autocommit

fbsql_affected_rows
fbsql_blob_size
FrontBase Funktionen
PHP Manual

fbsql_autocommit

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_autocommit — Aktiviert oder deaktiviert Autocommit

Beschreibung

bool fbsql_autocommit ( resource $link_identifier [, bool $OnOff ] )

Gibt den derzeitigen Autocommit-Status zurück.

Parameter-Liste

link_identifier

Eine von fbsql_connect() oder fbsql_pconnect() zurückgegebe FrontBase-Verbindung.

Wenn optional und nicht angegeben, wird versucht, eine bereits geöffnete FrontBase-Verbindung zu finden, falls keine vorhanden ist, wird versucht, eine zu öffnen, als ob fbsql_connect() ohne Parameter aufgerufen wurde.

OnOff

Wird dieser optionale Parameter angegeben, wird der Autocommit-Status geändert.

Ist OnOff TRUE werden aus Abfragen resultierende Änderungen sofort in die Datenbank geschrieben (committed), wenn keine Fehler aufgetreten sind.

Ist OnOff FALSE muss der Benutzer die Änderungen über fbsql_commit() schreiben (commit) oder über fbsql_rollback()die Datentransaktion rückgängig machen (rollback).

Rückgabewerte

Gibt den derzeitigen Autocommit-Status als booleschen Wert zurück.

Siehe auch

  • fbsql_commit() - Wendet eine Transaktion auf die Datenbank an
  • fbsql_rollback() - Rollback a transaction to the database

fbsql_affected_rows
fbsql_blob_size
FrontBase Funktionen


Get the size of a BLOB

fbsql_autocommit
fbsql_change_user
FrontBase Funktionen
PHP Manual

fbsql_blob_size

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

fbsql_blob_size — Get the size of a BLOB

Beschreibung

int fbsql_blob_size ( string $blob_handle [, resource $link_identifier ] )

Returns the size of the given BLOB.

Parameter-Liste

blob_handle

A BLOB handle, returned by fbsql_create_blob().

link_identifier

Eine von fbsql_connect() oder fbsql_pconnect() zurückgegebe FrontBase-Verbindung.

Wenn optional und nicht angegeben, wird versucht, eine bereits geöffnete FrontBase-Verbindung zu finden, falls keine vorhanden ist, wird versucht, eine zu öffnen, als ob fbsql_connect() ohne Parameter aufgerufen wurde.

Rückgabewerte

Returns the BLOB size as an integer, or FALSE on error.

Siehe auch

  • fbsql_clob_size() - Get the size of a CLOB

fbsql_autocommit
fbsql_change_user
FrontBase Funktionen


Wechselt den eingeloggten Benutzer der aktiven Verbindung

fbsql_blob_size
fbsql_clob_size
FrontBase Funktionen
PHP Manual

fbsql_change_user

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_change_user — Wechselt den eingeloggten Benutzer der aktiven Verbindung

Beschreibung

bool fbsql_change_user ( string $user , string $password [, string $database [, resource $link_identifier ]] )

fbsql_change_user() wechselt den eingeloggten Benutzer der angegebenen Verbindung. Wenn die Autorisation des neuen Benutzers und Passworts fehlschlägt, bleibt der momentan verbundene Benutzer aktiv.

Parameter-Liste

user

Der neue Benutzername.

password

Das neue Benutzerpasswort.

database

Wenn angegeben, wird dies zur standardmäßigen oder aktuellen Datenbank, nachdem der Benutzer gewechselt wurde.

link_identifier

Eine von fbsql_connect() oder fbsql_pconnect() zurückgegebe FrontBase-Verbindung.

Wenn optional und nicht angegeben, wird versucht, eine bereits geöffnete FrontBase-Verbindung zu finden, falls keine vorhanden ist, wird versucht, eine zu öffnen, als ob fbsql_connect() ohne Parameter aufgerufen wurde.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

fbsql_blob_size
fbsql_clob_size
FrontBase Funktionen


Get the size of a CLOB

fbsql_change_user
fbsql_close
FrontBase Funktionen
PHP Manual

fbsql_clob_size

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

fbsql_clob_size — Get the size of a CLOB

Beschreibung

int fbsql_clob_size ( string $clob_handle [, resource $link_identifier ] )

Returns the size of the given CLOB.

Parameter-Liste

clob_handle

A CLOB handle, returned by fbsql_create_clob().

link_identifier

Eine von fbsql_connect() oder fbsql_pconnect() zurückgegebe FrontBase-Verbindung.

Wenn optional und nicht angegeben, wird versucht, eine bereits geöffnete FrontBase-Verbindung zu finden, falls keine vorhanden ist, wird versucht, eine zu öffnen, als ob fbsql_connect() ohne Parameter aufgerufen wurde.

Rückgabewerte

Returns the CLOB size as an integer, or FALSE on error.

Siehe auch

  • fbsql_blob_size() - Get the size of a BLOB

fbsql_change_user
fbsql_close
FrontBase Funktionen


Beendet eine FrontBase-Verbindung

fbsql_clob_size
fbsql_commit
FrontBase Funktionen
PHP Manual

fbsql_close

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_close — Beendet eine FrontBase-Verbindung

Beschreibung

bool fbsql_close ([ resource $link_identifier ] )

Beendet eine Verbindung mit dem FrontBase-Server, welche die angegebene Verbindungskennung hat.

Die Benutzung von fbsql_close() ist normalerweise nicht nötig, da alle nicht-persistenten geöffneten Verbindungen automatisch am Ende der Scriptausführung geschlossen werden.

Parameter-Liste

link_identifier

Eine von fbsql_connect() oder fbsql_pconnect() zurückgegebe FrontBase-Verbindung.

Wenn optional und nicht angegeben, wird versucht, eine bereits geöffnete FrontBase-Verbindung zu finden, falls keine vorhanden ist, wird versucht, eine zu öffnen, als ob fbsql_connect() ohne Parameter aufgerufen wurde.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 fbsql_close() Beispiel

<?php
$link = fbsql_connect("localhost", "_SYSTEM", "secret")
    or die ("Konnte nicht verbinden");
echo "Erfolgreich verbunden";
fbsql_close($link);
?>

Siehe auch

  • fbsql_connect() - Öffnet eine Verbindung zu einem FrontBase-Server
  • fbsql_pconnect() - Öffnet eine persistente Verbindung zu einem FrontBase-Server

fbsql_clob_size
fbsql_commit
FrontBase Funktionen


Wendet eine Transaktion auf die Datenbank an

fbsql_close
fbsql_connect
FrontBase Funktionen
PHP Manual

fbsql_commit

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_commit — Wendet eine Transaktion auf die Datenbank an

Beschreibung

bool fbsql_commit ([ resource $link_identifier ] )

Beendet die momentane Transaktion durch Schreiben aller inserts, updates und deletes auf den Datenträger und Freigabe aller von der Transaktion gesperrten Reihen und Tabellen. Dieser Befehl wird nur benötigt, wenn autocommit auf FALSE gesetzt wurde.

Parameter-Liste

link_identifier

Eine von fbsql_connect() oder fbsql_pconnect() zurückgegebe FrontBase-Verbindung.

Wenn optional und nicht angegeben, wird versucht, eine bereits geöffnete FrontBase-Verbindung zu finden, falls keine vorhanden ist, wird versucht, eine zu öffnen, als ob fbsql_connect() ohne Parameter aufgerufen wurde.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • fbsql_autocommit() - Aktiviert oder deaktiviert Autocommit
  • fbsql_rollback() - Rollback a transaction to the database

fbsql_close
fbsql_connect
FrontBase Funktionen


Öffnet eine Verbindung zu einem FrontBase-Server

fbsql_commit
fbsql_create_blob
FrontBase Funktionen
PHP Manual

fbsql_connect

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_connect — Öffnet eine Verbindung zu einem FrontBase-Server

Beschreibung

resource fbsql_connect ([ string $hostname [, string $username [, string $password ]]] )

fbsql_connect() stellt eine Verbindung zu einem FrontBase-Server her.

Sollte ein zweites Mal fbsql_connect() mit den gleichen Argumenten aufgerufen werden, wird keine neue Verbindung hergestellt, sondern statt dessen liefert die Funktion die Kennung der bereits bestehenden Verbindung zurück.

Die Verbindung wird geschlossen sobald die Scriptausführung beendet wird oder vorher, wenn fbsql_close() aufgerufen wird.

Parameter-Liste

hostname

Der Server-Hostname.

username

Der Benutzername für die Verbindung.

password

Das Passwort für die Verbindung.

Rückgabewerte

Liefert bei Erfolg eine positive FrontBase-Verbindungskennung oder FALSE im Fehlerfall.

Beispiele

Beispiel #1 fbsql_connect()-Beispiel:

<?php

$link = fbsql_connect("localhost", "_SYSTEM", "geheim")
    or die ("Konnte keine Verbindung herstellen!");
echo "Verbinden mit FrontBase erfolgreich";
fbsql_close($link);

?>

Siehe auch

  • fbsql_pconnect() - Öffnet eine persistente Verbindung zu einem FrontBase-Server
  • fbsql_close() - Beendet eine FrontBase-Verbindung

fbsql_commit
fbsql_create_blob
FrontBase Funktionen


Create a BLOB

fbsql_connect
fbsql_create_clob
FrontBase Funktionen
PHP Manual

fbsql_create_blob

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

fbsql_create_blob — Create a BLOB

Beschreibung

string fbsql_create_blob ( string $blob_data [, resource $link_identifier ] )

Creates a BLOB from the given data.

Parameter-Liste

blob_data

The BLOB data.

link_identifier

Eine von fbsql_connect() oder fbsql_pconnect() zurückgegebe FrontBase-Verbindung.

Wenn optional und nicht angegeben, wird versucht, eine bereits geöffnete FrontBase-Verbindung zu finden, falls keine vorhanden ist, wird versucht, eine zu öffnen, als ob fbsql_connect() ohne Parameter aufgerufen wurde.

Rückgabewerte

Returns a resource handle to the newly created BLOB, which can be used with insert and update commands to store the BLOB in the database.

Beispiele

Beispiel #1 fbsql_create_blob() example

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");
$filename = "blobfile.bin";
$fp = fopen($filename, "rb");
$blobdata = fread($fp, filesize($filename));
fclose($fp);

$blobHandle = fbsql_create_blob($blobdata, $link);

$sql = "INSERT INTO BLOB_TABLE (BLOB_COLUMN) VALUES ($blobHandle);";
$rs = fbsql_query($sql, $link);
?>

Siehe auch

  • fbsql_create_clob() - Create a CLOB
  • fbsql_read_blob() - Read a BLOB from the database
  • fbsql_read_clob() - Read a CLOB from the database
  • fbsql_set_lob_mode() - Setzt den LOB-Lese-Modus für ein FrontBase-Ergebnis

fbsql_connect
fbsql_create_clob
FrontBase Funktionen


Create a CLOB

fbsql_create_blob
fbsql_create_db
FrontBase Funktionen
PHP Manual

fbsql_create_clob

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

fbsql_create_clob — Create a CLOB

Beschreibung

string fbsql_create_clob ( string $clob_data [, resource $link_identifier ] )

Creates a CLOB from the given data.

Parameter-Liste

clob_data

The CLOB data.

link_identifier

Eine von fbsql_connect() oder fbsql_pconnect() zurückgegebe FrontBase-Verbindung.

Wenn optional und nicht angegeben, wird versucht, eine bereits geöffnete FrontBase-Verbindung zu finden, falls keine vorhanden ist, wird versucht, eine zu öffnen, als ob fbsql_connect() ohne Parameter aufgerufen wurde.

Rückgabewerte

Returns a resource handle to the newly created CLOB, which can be used with insert and update commands to store the CLOB in the database.

Beispiele

Beispiel #1 fbsql_create_clob() example

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");
$filename = "clob_file.txt";
$fp = fopen($filename, "rb");
$clobdata = fread($fp, filesize($filename));
fclose($fp);

$clobHandle = fbsql_create_clob($clobdata, $link);

$sql = "INSERT INTO CLOB_TABLE (CLOB_COLUMN) VALUES ($clobHandle);";
$rs = fbsql_query($sql, $link);
?>

Siehe auch

  • fbsql_create_blob() - Create a BLOB
  • fbsql_read_blob() - Read a BLOB from the database
  • fbsql_read_clob() - Read a CLOB from the database
  • fbsql_set_lob_mode() - Setzt den LOB-Lese-Modus für ein FrontBase-Ergebnis

fbsql_create_blob
fbsql_create_db
FrontBase Funktionen


Erstellt eine FrontBase-Datenbank

fbsql_create_clob
fbsql_data_seek
FrontBase Funktionen
PHP Manual

fbsql_create_db

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_create_db — Erstellt eine FrontBase-Datenbank

Beschreibung

bool fbsql_create_db ( string $database_name [, resource $link_identifier [, string $database_options ]] )

Versucht eine neue Datenbank auf dem angegebenen Server anzulegen.

Parameter-Liste

database_name

Der Datenbankname als Zeichenkette.

link_identifier

Eine von fbsql_connect() oder fbsql_pconnect() zurückgegebe FrontBase-Verbindung.

Wenn optional und nicht angegeben, wird versucht, eine bereits geöffnete FrontBase-Verbindung zu finden, falls keine vorhanden ist, wird versucht, eine zu öffnen, als ob fbsql_connect() ohne Parameter aufgerufen wurde.

database_options

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 fbsql_create_db() Beispiel

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "geheim")
    or die ("Konnte nicht verbinden");
if (fbsql_create_db("my_db")) {
    echo "Datenbank erfolgreich erstellt\n";
} else {
    printf("Fehler beim Erstellen der Datenbank: %s\n", fbsql_error ());
}
?>

Siehe auch

  • fbsql_drop_db() - Löschen (DROP) einer FrontBase-Datenbank

fbsql_create_clob
fbsql_data_seek
FrontBase Funktionen


Bewegt den internen Ergebnis-Zeiger

fbsql_create_db
fbsql_database_password
FrontBase Funktionen
PHP Manual

fbsql_data_seek

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_data_seek — Bewegt den internen Ergebnis-Zeiger

Beschreibung

bool fbsql_data_seek ( resource $result , int $row_number )

Bewegt den internen Datensatz-Zeiger eines FrontBase-Abfrageergebnisses zum Datensatz mit der übergebenen Nummer.

Der nächste Aufruf von fbsql_fetch_row() liefert den entsprechenden Datensatz.

Parameter-Liste

result

Ein von fbsql_query() zurückgegebenes Erebnishandle.

row_number

Die Datensatznummer. Beginnt bei 0.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 fbsql_data_seek() Beispiel

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "geheim")
    or die("Verbindung nicht möglich");

fbsql_select_db("samp_db")
    or die("Konnte Datenbank nicht auswählen");

$query = "SELECT last_name, first_name FROM friends;";
$result = fbsql_query($query)
    or die("Abfrage gescheitert");

// Datensätze in umgekehrter Reihenfolge holen

for ($i = fbsql_num_rows($result) - 1; $i >=0; $i--) {
    if (!fbsql_data_seek($result, $i)) {
        printf("Konnte nicht zum Datensatz %d wechseln\n", $i);
        continue;
    }

    if (!($row = fbsql_fetch_object($result)))
        continue;

    echo $row->last_name . $row->first_name . "<br />\n";
}

fbsql_free_result ($result);
?>

fbsql_create_db
fbsql_database_password
FrontBase Funktionen


Sets or retrieves the password for a FrontBase database

fbsql_data_seek
fbsql_database
FrontBase Funktionen
PHP Manual

fbsql_database_password

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_database_password — Sets or retrieves the password for a FrontBase database

Beschreibung

string fbsql_database_password ( resource $link_identifier [, string $database_password ] )

Sets and retrieves the database password used by the connection. If a database is protected by a database password, the user must call this function before calling fbsql_select_db().

If no link is open, the function will try to establish a link as if fbsql_connect() was called, and use it.

This function does not change the database password in the database nor can it be used to retrieve the database password for a database.

Parameter-Liste

link_identifier

Eine von fbsql_connect() oder fbsql_pconnect() zurückgegebe FrontBase-Verbindung.

Wenn optional und nicht angegeben, wird versucht, eine bereits geöffnete FrontBase-Verbindung zu finden, falls keine vorhanden ist, wird versucht, eine zu öffnen, als ob fbsql_connect() ohne Parameter aufgerufen wurde.

database_password

The database password, as a string. If given, the function sets the database password for the specified link identifier.

Rückgabewerte

Returns the database password associated with the link identifier.

Beispiele

Beispiel #1 fbsql_create_clob() example

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");
fbsql_database_password($link, "secret db password");
fbsql_select_db($database, $link);
?>

Siehe auch

  • fbsql_connect() - Öffnet eine Verbindung zu einem FrontBase-Server
  • fbsql_pconnect() - Öffnet eine persistente Verbindung zu einem FrontBase-Server
  • fbsql_select_db() - Wählt eine FrontBase-Datenbank aus

fbsql_data_seek
fbsql_database
FrontBase Funktionen


Lesen oder Setzen des Datenbanknamens, der mit einer Verbindung verwendet wird

fbsql_database_password
fbsql_db_query
FrontBase Funktionen
PHP Manual

fbsql_database

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_database — Lesen oder Setzen des Datenbanknamens, der mit einer Verbindung verwendet wird

Beschreibung

string fbsql_database ( resource $link_identifier [, string $database ] )

Lesen oder Setzen des Datenbanknamens, der mit der Verbindung verwendet wird.

Parameter-Liste

link_identifier

Eine von fbsql_connect() oder fbsql_pconnect() zurückgegebe FrontBase-Verbindung.

Wenn optional und nicht angegeben, wird versucht, eine bereits geöffnete FrontBase-Verbindung zu finden, falls keine vorhanden ist, wird versucht, eine zu öffnen, als ob fbsql_connect() ohne Parameter aufgerufen wurde.

database

Der Datenbankname. Wenn angegeben, wird die Standard-Datenbank der Verbindung zu database geändert.

Rückgabewerte

Gibt den Namen der Datenbank zurück, die mit dieser Verbindung verwendet wird.

fbsql_database_password
fbsql_db_query
FrontBase Funktionen


Absetzen einer Anfrage an die Datenbank

fbsql_database
fbsql_db_status
FrontBase Funktionen
PHP Manual

fbsql_db_query

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_db_query — Absetzen einer Anfrage an die Datenbank

Beschreibung

resource fbsql_db_query ( string $database , string $query [, resource $link_identifier ] )

fbsql_db_query() wählt eine Datenbank aus und führt darauf eine Abfrage aus.

Parameter-Liste

database

Die auszuwählende Datenbank.

query

Die auszuführende SQL-Abfrage.

Hinweis:

Die Abfragezeichenkette sollte immer mit einem Semikolon enden.

link_identifier

Eine von fbsql_connect() oder fbsql_pconnect() zurückgegebe FrontBase-Verbindung.

Wenn optional und nicht angegeben, wird versucht, eine bereits geöffnete FrontBase-Verbindung zu finden, falls keine vorhanden ist, wird versucht, eine zu öffnen, als ob fbsql_connect() ohne Parameter aufgerufen wurde.

Rückgabewerte

Liefert die positive FrontBase-Ergebniskennung des Abfrageergebnisses oder FALSE bei einem Fehler.

Siehe auch

  • fbsql_query() - Sendet eine FrontBase-Abfrage
  • fbsql_connect() - Öffnet eine Verbindung zu einem FrontBase-Server

fbsql_database
fbsql_db_status
FrontBase Funktionen


Ermittelt den Status einer angegebenen Datenbank

fbsql_db_query
fbsql_drop_db
FrontBase Funktionen
PHP Manual

fbsql_db_status

(PHP 4 >= 4.0.7, PHP 5, PHP 7)

fbsql_db_status — Ermittelt den Status einer angegebenen Datenbank

Beschreibung

int fbsql_db_status ( string $database_name [, resource $link_identifier ] )

Ermittelt den momentanen Status der angegebenen Datenbank.

Parameter-Liste

database_name

Der Datenbankname.

link_identifier

Eine von fbsql_connect() oder fbsql_pconnect() zurückgegebe FrontBase-Verbindung.

Wenn optional und nicht angegeben, wird versucht, eine bereits geöffnete FrontBase-Verbindung zu finden, falls keine vorhanden ist, wird versucht, eine zu öffnen, als ob fbsql_connect() ohne Parameter aufgerufen wurde.

Rückgabewerte

Gibt einen Integerwert mit dem momentanen Status zurück. Dies kann eine der folgenden Konstanten sein:

  • FALSE - Der Ausführungshandler für den Host war ungültig. Dieser Fehler tritt auf wenn link_identifier direkt zu einer Datenbank über eine Portnummer verbindet. FBExec kann auf dem Server verfügbar sein, aber es wurde keine Verbindung hergestellt.
  • FBSQL_UNKNOWN - Der Status ist unbekannt.
  • FBSQL_STOPPED - Die Datenbank läuft nicht. Benutzen Sie fbsql_start_db(), um die Datenbank zu starten.
  • FBSQL_STARTING - Die Datenbank startet.
  • FBSQL_RUNNING - Die Datenbank läuft und kann für SQL-Operationen benutzt werden.
  • FBSQL_STOPPING - Die Datenbank stoppt.
  • FBSQL_NOEXEC - FBExec wird auf dem Server nicht ausgeführt und es ist nicht möglich, den Status der Datenbank auszulesen.

Siehe auch

  • fbsql_start_db() - Startet eine Datenbank auf einem lokalen oder entfernten Server
  • fbsql_stop_db() - Stoppt eine Datenbank auf einem lokalen oder entferneten Server

fbsql_db_query
fbsql_drop_db
FrontBase Funktionen


Löschen (DROP) einer FrontBase-Datenbank

fbsql_db_status
fbsql_errno
FrontBase Funktionen
PHP Manual

fbsql_drop_db

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_drop_db — Löschen (DROP) einer FrontBase-Datenbank

Beschreibung

bool fbsql_drop_db ( string $database_name [, resource $link_identifier ] )

fbsql_drop_db() versucht eine ganze Datenbank von dem Server zu entfernen, der mit der angegebenen Verbindungkennung assoziert ist.

Parameter-Liste

database_name

Der Datenbankname als Zeichenkette.

link_identifier

Eine von fbsql_connect() oder fbsql_pconnect() zurückgegebe FrontBase-Verbindung.

Wenn optional und nicht angegeben, wird versucht, eine bereits geöffnete FrontBase-Verbindung zu finden, falls keine vorhanden ist, wird versucht, eine zu öffnen, als ob fbsql_connect() ohne Parameter aufgerufen wurde.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • fbsql_create_db() - Erstellt eine FrontBase-Datenbank

fbsql_db_status
fbsql_errno
FrontBase Funktionen


Liefert die numerische Fehlermeldung der der letzten Operation zurück

fbsql_drop_db
fbsql_error
FrontBase Funktionen
PHP Manual

fbsql_errno

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_errno — Liefert die numerische Fehlermeldung der der letzten Operation zurück

Beschreibung

int fbsql_errno ([ resource $link_identifier ] )

Liefert die Fehlernummer der letzten FrontBase-Operation.

Fehler, die vom fbsql Datenbank-Backend kommen führen nicht zu Warnungen. Stattdessen sollten Sie die Funktion fbsql_errno() verwenden, um die Fehlernummer auszulesen. Beachten Sie, dass diese Funktion nur die Fehlernummer der zuletzt ausgeführten fbsql-Funktion zurückliefert (ausgenommen sind die Funktionen fbsql_error() und fbsql_errno()). Wenn Sie diese Funktion verwenden wollen, sollten Sie den Wert überprüfen, bevor Sie eine weitere fbsql-Funktion ausführen.

Parameter-Liste

link_identifier

Eine von fbsql_connect() oder fbsql_pconnect() zurückgegebe FrontBase-Verbindung.

Wenn optional und nicht angegeben, wird versucht, eine bereits geöffnete FrontBase-Verbindung zu finden, falls keine vorhanden ist, wird versucht, eine zu öffnen, als ob fbsql_connect() ohne Parameter aufgerufen wurde.

Rückgabewerte

Liefert die Fehlernummer der letzten fbsql-Funktion, oder 0 (Null), wenn kein Fehler aufgetreten ist.

Beispiele

Beispiel #1 fbsql_errno() Beispiel

<?php
fbsql_connect("marliesle");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
fbsql_select_db("nicht_existierende_datenbank");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
$conn = fbsql_query("SELECT * FROM nicht_existierende_tabelle;");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
?>

Siehe auch

  • fbsql_error() - Liefert den Fehlertext der zuvor ausgeführten Operation
  • fbsql_warnings() - Aktivieren oder Deaktivieren von FrontBase-Warnungen

fbsql_drop_db
fbsql_error
FrontBase Funktionen


Liefert den Fehlertext der zuvor ausgeführten Operation

fbsql_errno
fbsql_fetch_array
FrontBase Funktionen
PHP Manual

fbsql_error

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_error — Liefert den Fehlertext der zuvor ausgeführten Operation

Beschreibung

string fbsql_error ([ resource $link_identifier ] )

Liefert den Fehlertext der zuvor ausgeführten FrontBase-Operation.

Fehler, die vom FrontBase-Server kommen, führen nicht zu Warnungen. Stattdessen sollten Sie die Funktion fbsql_error() verwenden, um den Fehlertext zu erhalten. Beachten Sie, dass diese Funktion nur den Fehlertext der zuletzt ausgeführten fbsql-Operation liefert (ausgenommen sind die Funktionen fbsql_error() und fbsql_errno()). Wenn Sie die Funktion verwenden wollen, sollten Sie den Wert überprüfen, bevor Sie eine weitere fbsql-Funktion aufrufen.

Parameter-Liste

link_identifier

Eine von fbsql_connect() oder fbsql_pconnect() zurückgegebe FrontBase-Verbindung.

Wenn optional und nicht angegeben, wird versucht, eine bereits geöffnete FrontBase-Verbindung zu finden, falls keine vorhanden ist, wird versucht, eine zu öffnen, als ob fbsql_connect() ohne Parameter aufgerufen wurde.

Rückgabewerte

Liefert den Fehlertext der zuletzt ausgeführten fbsql-Funktion, oder '' (eine leere Zeichenkette), falls kein Fehler aufgetreten ist.

Beispiele

Beispiel #1 fbsql_error() Beispiel

<?php
fbsql_connect("marliesle");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
fbsql_select_db("nicht_existierende_datenbank");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
$conn = fbsql_query("SELECT * FROM nicht_existierende_tabelle;");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
?>

Siehe auch

  • fbsql_errno() - Liefert die numerische Fehlermeldung der der letzten Operation zurück
  • fbsql_warnings() - Aktivieren oder Deaktivieren von FrontBase-Warnungen

fbsql_errno
fbsql_fetch_array
FrontBase Funktionen


Fetch a result row as an associative array, a numeric array, or both

fbsql_error
fbsql_fetch_assoc
FrontBase Funktionen
PHP Manual

fbsql_fetch_array

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_fetch_array — Fetch a result row as an associative array, a numeric array, or both

Beschreibung

array fbsql_fetch_array ( resource $result [, int $result_type ] )

fbsql_fetch_array() is a combination of
fbsql_fetch_row() and
fbsql_fetch_assoc().

An important thing to note is that using fbsql_fetch_array() is NOT significantly slower than using fbsql_fetch_row(), while it provides a significant added value.

Parameter-Liste

result

Ein von fbsql_query() zurückgegebenes Erebnishandle.

result_type

A constant and can take the following values: FBSQL_ASSOC, FBSQL_NUM, or FBSQL_BOTH.

When using FBSQL_BOTH, in addition to storing the data in the numeric indices of the result array, it also stores the data in associative indices, using the field names as keys.

Rückgabewerte

Returns an array that corresponds to the fetched row, or FALSE if there are no more rows.

If two or more columns of the result have the same field names, the last column will take precedence. To access the other column(s) of the same name, you must the numeric index of the column or make an alias for the column.

select t1.f1 as foo t2.f1 as bar from t1, t2

Beispiele

Beispiel #1 fbsql_fetch_array() example

<?php
fbsql_connect($host, $user, $password);
$result = fbsql_db_query("database", "select user_id, fullname from table");
while ($row = fbsql_fetch_array($result)) {
    echo "user_id: " . $row["user_id"] . "<br />\n";
    echo "user_id: " . $row[0] . "<br />\n";
    echo "fullname: " . $row["fullname"] . "<br />\n";
    echo "fullname: " . $row[1] . "<br />\n";
}
fbsql_free_result($result);
?>

Siehe auch

  • fbsql_fetch_row() - Liefert einen Datensatz als numerisches Array
  • fbsql_fetch_assoc() - Fetch a result row as an associative array
  • fbsql_fetch_object() - Fetch a result row as an object

fbsql_error
fbsql_fetch_assoc
FrontBase Funktionen


Fetch a result row as an associative array

fbsql_fetch_array
fbsql_fetch_field
FrontBase Funktionen
PHP Manual

fbsql_fetch_assoc

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_fetch_assoc — Fetch a result row as an associative array

Beschreibung

array fbsql_fetch_assoc ( resource $result )

Calling fbsql_fetch_assoc() is equivalent to calling fbsql_fetch_array() with FBSQL_ASSOC as second parameter. It only returns an associative array.

This is the way fbsql_fetch_array() originally worked. If you need the numeric indices as well as the associative, use fbsql_fetch_array().

An important thing to note is that using fbsql_fetch_assoc() is NOT significantly slower than using fbsql_fetch_row(), while it provides a significant added value.

Parameter-Liste

result

Ein von fbsql_query() zurückgegebenes Erebnishandle.

Rückgabewerte

Returns an associative array that corresponds to the fetched row, or FALSE if there are no more rows.

If two or more columns of the result have the same field names, the last column will take precedence. To access the other column(s) of the same name, you must use fbsql_fetch_array() and have it return the numeric indices as well.

Beispiele

Beispiel #1 fbsql_fetch_assoc() example

<?php
fbsql_connect($host, $user, $password);
$result = fbsql_db_query("database", "select * from table");
while ($row = fbsql_fetch_assoc($result)) {
    echo $row["user_id"];
    echo $row["fullname"];
}
fbsql_free_result($result);
?>

Siehe auch

  • fbsql_fetch_row() - Liefert einen Datensatz als numerisches Array
  • fbsql_fetch_array() - Fetch a result row as an associative array, a numeric array, or both
  • fbsql_fetch_object() - Fetch a result row as an object

fbsql_fetch_array
fbsql_fetch_field
FrontBase Funktionen


Liefert ein Objekt mit Feldinformationen aus einem Abfrageergebnis

fbsql_fetch_assoc
fbsql_fetch_lengths
FrontBase Funktionen
PHP Manual

fbsql_fetch_field

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_fetch_field — Liefert ein Objekt mit Feldinformationen aus einem Abfrageergebnis

Beschreibung

object fbsql_fetch_field ( resource $result [, int $field_offset ] )

Wird verwendet, um Feldinformationen aus einem bestimmten Abfrageergebnis zu erhalten.

Parameter-Liste

result

Ein von fbsql_query() zurückgegebenes Erebnishandle.

field_offset

Der numerische Offset des Feldes. Der Feldindex beginnt mit 0. Wenn nicht angegeben, wird das nächste Feld, das noch nicht durch fbsql_fetch_field() ausgelesen wurde, ermittelt.

Rückgabewerte

Gibt ein Objekt mit Feldinformationen zurück, oder FALSE im Fehlerfall.

Die Eigenschaften des Objekts sind:

  • name - Feldname
  • table - Name der Tabelle zu der das Feld gehört
  • max_length - maximale Länge des Feldes
  • not_null - 1, wenn das Feld nicht NULL sein kann
  • type - der Typ des Feldes

Beispiele

Beispiel #1 fbsql_fetch_field() Beispiel

<?php
fbsql_connect($host, $user, $password)
    or die ("Keine Verbindung möglich");
$result = fbsql_db_query("database", "select * from table")
    or die ("Abfrage gescheitert");
# get column metadata
$i = 0;
while ($i < fbsql_num_fields($result)) {
    echo "Information für Feld $i:<br />\n";
    $meta = fbsql_fetch_field($result);
    if (!$meta) {
        echo "Keine Information verfügbar<br />\n";
    }
    echo "<pre>
max_length:   $meta->max_length
name:         $meta->name
not_null:     $meta->not_null
table:        $meta->table
type:         $meta->type
</pre>";
    $i++;
}
fbsql_free_result($result);
?>

Siehe auch

  • fbsql_field_seek() - Setzt den Ergebniszeiger auf den angegebenen Feldoffset

fbsql_fetch_assoc
fbsql_fetch_lengths
FrontBase Funktionen


Get the length of each output in a result

fbsql_fetch_field
fbsql_fetch_object
FrontBase Funktionen
PHP Manual

fbsql_fetch_lengths

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_fetch_lengths — Get the length of each output in a result

Beschreibung

array fbsql_fetch_lengths ( resource $result )

Stores the lengths of each result column in the last row returned by
fbsql_fetch_row(),
fbsql_fetch_array() and
fbsql_fetch_object() in an array.

Parameter-Liste

result

Ein von fbsql_query() zurückgegebenes Erebnishandle.

Rückgabewerte

Returns an array, starting at offset 0, that corresponds to the lengths of each field in the last row fetched by fbsql_fetch_row(), or FALSE on error.

Siehe auch

  • fbsql_fetch_row() - Liefert einen Datensatz als numerisches Array

fbsql_fetch_field
fbsql_fetch_object
FrontBase Funktionen


Fetch a result row as an object

fbsql_fetch_lengths
fbsql_fetch_row
FrontBase Funktionen
PHP Manual

fbsql_fetch_object

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_fetch_object — Fetch a result row as an object

Beschreibung

object fbsql_fetch_object ( resource $result )

fbsql_fetch_object() is similar to fbsql_fetch_array(), with one difference - an object is returned, instead of an array. Indirectly, that means that you can only access the data by the field names, and not by their offsets (numbers are illegal property names).

Speed-wise, the function is identical to fbsql_fetch_array(), and almost as quick as fbsql_fetch_row() (the difference is insignificant).

Parameter-Liste

result

Ein von fbsql_query() zurückgegebenes Erebnishandle.

Rückgabewerte

Returns an object with properties that correspond to the fetched row, or FALSE if there are no more rows.

Beispiele

Beispiel #1 fbsql_fetch_object() example

<?php
fbsql_connect($host, $user, $password);
$result = fbsql_db_query("database", "select * from table");
while ($row = fbsql_fetch_object($result)) {
    echo $row->user_id;
    echo $row->fullname;
}
fbsql_free_result($result);
?>

Siehe auch

  • fbsql_fetch_array() - Fetch a result row as an associative array, a numeric array, or both
  • fbsql_fetch_row() - Liefert einen Datensatz als numerisches Array
  • fbsql_fetch_assoc() - Fetch a result row as an associative array

fbsql_fetch_lengths
fbsql_fetch_row
FrontBase Funktionen


Liefert einen Datensatz als numerisches Array

fbsql_fetch_object
fbsql_field_flags
FrontBase Funktionen
PHP Manual

fbsql_fetch_row

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_fetch_row — Liefert einen Datensatz als numerisches Array

Beschreibung

array fbsql_fetch_row ( resource $result )

fbsql_fetch_row() liefert einen Datensatz aus dem Abfrageergebnis mit der übergebenen Kennung.

Wiederholtes Aufrufen von fbsql_fetch_row() liefert den nächsten Datensatz des Abfrageergebnisses oder FALSE, wenn keine weiteren Datensätze verfügbar sind.

Parameter-Liste

result

Ein von fbsql_query() zurückgegebenes Erebnishandle.

Rückgabewerte

Liefert ein Array, das der Ergebniszeile entspricht, wobei jedes Ergebnisfeld unter einem Offset, beginnend mit 0, gespeichert ist, oder FALSE, wenn es keine weiteren Zeilen gibt.

Siehe auch

  • fbsql_fetch_array() - Fetch a result row as an associative array, a numeric array, or both
  • fbsql_fetch_assoc() - Fetch a result row as an associative array
  • fbsql_fetch_object() - Fetch a result row as an object
  • fbsql_data_seek() - Bewegt den internen Ergebnis-Zeiger
  • fbsql_fetch_lengths() - Get the length of each output in a result
  • fbsql_result() - Liefert Ergebnisdaten

fbsql_fetch_object
fbsql_field_flags
FrontBase Funktionen


Get the flags associated with the specified field in a result

fbsql_fetch_row
fbsql_field_len
FrontBase Funktionen
PHP Manual

fbsql_field_flags

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_field_flags — Get the flags associated with the specified field in a result

Beschreibung

string fbsql_field_flags ( resource $result [, int $field_offset ] )

Gets the flags associated with the specified field in a result.

Parameter-Liste

result

A result pointer returned by fbsql_list_fields().

field_offset

The numerical offset of the field. The field index starts at 0.

Rückgabewerte

Returns the field flags of the specified field as a single word per flag separated by a single space, so that you can split the returned value using explode().

fbsql_fetch_row
fbsql_field_len
FrontBase Funktionen


Returns the length of the specified field

fbsql_field_flags
fbsql_field_name
FrontBase Funktionen
PHP Manual

fbsql_field_len

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_field_len — Returns the length of the specified field

Beschreibung

int fbsql_field_len ( resource $result [, int $field_offset ] )

Returns the length of the specified field.

Parameter-Liste

result

A result pointer returned by fbsql_list_fields().

field_offset

The numerical offset of the field. The field index starts at 0.

Rückgabewerte

Returns the length of the specified field.

fbsql_field_flags
fbsql_field_name
FrontBase Funktionen


Liefert den Namen des angegebenen Feldes im Ergebnis

fbsql_field_len
fbsql_field_seek
FrontBase Funktionen
PHP Manual

fbsql_field_name

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_field_name — Liefert den Namen des angegebenen Feldes im Ergebnis

Beschreibung

string fbsql_field_name ( resource $result [, int $field_index ] )

Liefert den Namen des angegebenen Feldindex zurück.

Parameter-Liste

result

Eine Ergebniskennung, die von fbsql_list_fields() zurückgeliefert wurde.

field_index

Der numerische Offset des Felds. Der Feldindex beginnt mit 0.

Rückgabewerte

Liefert den Namen als Zeichenkette zurück, oder FALSE wenn das Feld nicht existiert.

Beispiele

Beispiel #1 fbsql_field_name() Beispiel

<?php
// Die Benutzertabelle besteht aus drei Feldern:
//   user_id
//   username
//   password.

$res = fbsql_db_query("users", "select * from users", $link);

echo fbsql_field_name($res, 0) . "\n";
echo fbsql_field_name($res, 2);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

user_id
password

Siehe auch

  • fbsql_field_type() - Liefert den Typ des angegebenen Feldes in einem Ergebnis

fbsql_field_len
fbsql_field_seek
FrontBase Funktionen


Setzt den Ergebniszeiger auf den angegebenen Feldoffset

fbsql_field_name
fbsql_field_table
FrontBase Funktionen
PHP Manual

fbsql_field_seek

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_field_seek — Setzt den Ergebniszeiger auf den angegebenen Feldoffset

Beschreibung

bool fbsql_field_seek ( resource $result [, int $field_offset ] )

Setzt den Feldzeiger auf den angegeben Feldoffset. Wird beim nächsten Aufruf von fbsql_fetch_field() kein Feldoffset übergeben, wird der Feldoffset zurückgeliefert, der bei fbsql_field_seek() angegeben wurde.

Parameter-Liste

result

Ein von fbsql_query() zurückgegebenes Erebnishandle.

field_offset

Der numerische Offset des Felds. Der Feldindex beginnt mit 0.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • fbsql_fetch_field() - Liefert ein Objekt mit Feldinformationen aus einem Abfrageergebnis

fbsql_field_name
fbsql_field_table
FrontBase Funktionen


Liefert den Namen der Tabelle, die das genannte Feld enthält

fbsql_field_seek
fbsql_field_type
FrontBase Funktionen
PHP Manual

fbsql_field_table

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_field_table — Liefert den Namen der Tabelle, die das genannte Feld enthält

Beschreibung

string fbsql_field_table ( resource $result [, int $field_offset ] )

Liefert den Namen der Tabelle, die das genannte Feld enthält.

Parameter-Liste

result

Ein von fbsql_query() zurückgegebenes Erebnishandle.

field_offset

Der numerische Offset des Felds. Der Feldindex beginnt mit 0.

Rückgabewerte

Liefert den Namen der Tabelle als Zeichenkette zurück.

fbsql_field_seek
fbsql_field_type
FrontBase Funktionen


Liefert den Typ des angegebenen Feldes in einem Ergebnis

fbsql_field_table
fbsql_free_result
FrontBase Funktionen
PHP Manual

fbsql_field_type

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_field_type — Liefert den Typ des angegebenen Feldes in einem Ergebnis

Beschreibung

string fbsql_field_type ( resource $result [, int $field_offset ] )

fbsql_field_type() ist ähnlich zur Funktion fbsql_field_name(), allerdings wird der Feldtyp stattdessen zurückgeliefert.

Parameter-Liste

result

Ein von fbsql_query() zurückgegebenes Erebnishandle.

field_offset

Der numerische Offset des Felds. Der Feldindex beginnt mit 0.

Rückgabewerte

Liefert den Feldtyp als Zeichenkette zurück.

Der Feldtyp ist einer der folgenden Werte: int, real, string, blob, oder ein anderer, wie in der » FrontBase Dokumentation ausgeführt.

Beispiele

Beispiel #1 fbsql_field_type() Beispiel

<?php

fbsql_connect("localhost", "_SYSTEM", "");
fbsql_select_db("wisconsin");
$result = fbsql_query("SELECT * FROM onek;");
$fields = fbsql_num_fields($result);
$rows   = fbsql_num_rows($result);
$i = 0;
$table = fbsql_field_table($result, $i);
echo "Ihre '" .$table . "' Tabelle hat " . $fields . " Felder und " . $rows . " Datensaetze <br />";
echo "Die Tabelle hat die folgenden Felder <br />";
while ($i < $fields) {
    $type  = fbsql_field_type($result, $i);
    $name  = fbsql_field_name($result, $i);
    $len   = fbsql_field_len($result, $i);
    $flags = fbsql_field_flags($result, $i);
    echo $type . " " . $name . " " . $len . " " . $flags . "<br />";
    $i++;
}
fbsql_close();

?>

Siehe auch

  • fbsql_field_name() - Liefert den Namen des angegebenen Feldes im Ergebnis

fbsql_field_table
fbsql_free_result
FrontBase Funktionen


Gibt vom Ergebnis belegten Speicher wieder frei

fbsql_field_type
fbsql_get_autostart_info
FrontBase Funktionen
PHP Manual

fbsql_free_result

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_free_result — Gibt vom Ergebnis belegten Speicher wieder frei

Beschreibung

bool fbsql_free_result ( resource $result )

Gibt den Speicher frei, der mit der angegebenen result-Kennung assoziert ist.

fbsql_free_result() muss nur dann aufgerufen werden, wenn Sie sich bei Anfragen, die große Ergebnismengen liefern, Sorgen über den Speicherverbrauch machen. Nach Ablauf des PHP-Skripts wird der Speicher ohnehin freigegeben.

Parameter-Liste

result

Ein von fbsql_query() zurückgegebenes Erebnishandle.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

fbsql_field_type
fbsql_get_autostart_info
FrontBase Funktionen


fbsql_free_result
fbsql_hostname
FrontBase Funktionen
PHP Manual

fbsql_get_autostart_info

(PHP 4 >= 4.0.7, PHP 5, PHP 7)

fbsql_get_autostart_info —

Beschreibung

array fbsql_get_autostart_info ([ resource $link_identifier ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

link_identifier

Eine von fbsql_connect() oder fbsql_pconnect() zurückgegebe FrontBase-Verbindung.

Wenn optional und nicht angegeben, wird versucht, eine bereits geöffnete FrontBase-Verbindung zu finden, falls keine vorhanden ist, wird versucht, eine zu öffnen, als ob fbsql_connect() ohne Parameter aufgerufen wurde.

fbsql_free_result
fbsql_hostname
FrontBase Funktionen


Ermittelt oder setzt den mit einer Verbindung verwendeten Hostnamen

fbsql_get_autostart_info
fbsql_insert_id
FrontBase Funktionen
PHP Manual

fbsql_hostname

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_hostname — Ermittelt oder setzt den mit einer Verbindung verwendeten Hostnamen

Beschreibung

string fbsql_hostname ( resource $link_identifier [, string $host_name ] )

Ermittelt oder setzt den mit einer Verbindung verwendeten Hostnamen.

Parameter-Liste

link_identifier

Eine von fbsql_connect() oder fbsql_pconnect() zurückgegebe FrontBase-Verbindung.

Wenn optional und nicht angegeben, wird versucht, eine bereits geöffnete FrontBase-Verbindung zu finden, falls keine vorhanden ist, wird versucht, eine zu öffnen, als ob fbsql_connect() ohne Parameter aufgerufen wurde.

host_name

Wenn angegeben, wird dies der neue Hostname der Verbindung.

Rückgabewerte

Gibt den derzeitigen Hostnamen, der von der Verbindung verwendet wird, zürück.

Siehe auch

  • fbsql_username() - Liest oder setzt den Benutzernamen für die Verbindung
  • fbsql_password() - Liest oder setzt das Bentuzerpasswort für eine Verbindung

fbsql_get_autostart_info
fbsql_insert_id
FrontBase Funktionen


Get the id generated from the previous INSERT operation

fbsql_hostname
fbsql_list_dbs
FrontBase Funktionen
PHP Manual

fbsql_insert_id

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_insert_id — Get the id generated from the previous INSERT operation

Beschreibung

int fbsql_insert_id ([ resource $link_identifier ] )

Gets the id generated from the previous INSERT operation which created a DEFAULT UNIQUE value.

Hinweis:

The value of the FrontBase SQL function fbsql_insert_id() always contains the most recently generated DEFAULT UNIQUE value, and is not reset between queries.

Parameter-Liste

link_identifier

Eine von fbsql_connect() oder fbsql_pconnect() zurückgegebe FrontBase-Verbindung.

Wenn optional und nicht angegeben, wird versucht, eine bereits geöffnete FrontBase-Verbindung zu finden, falls keine vorhanden ist, wird versucht, eine zu öffnen, als ob fbsql_connect() ohne Parameter aufgerufen wurde.

Rückgabewerte

Returns the ID generated from the previous INSERT query, or 0 if the previous query does not generate an DEFAULT UNIQUE value.

If you need to save the value for later, be sure to call this function immediately after the query that generates the value.

Siehe auch

  • fbsql_affected_rows() - Ermittelt die Anzahl der von der vorherigen FrontBase-Operation betroffenen Datensätze

fbsql_hostname
fbsql_list_dbs
FrontBase Funktionen


List databases available on a FrontBase server

fbsql_insert_id
fbsql_list_fields
FrontBase Funktionen
PHP Manual

fbsql_list_dbs

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_list_dbs — List databases available on a FrontBase server

Beschreibung

resource fbsql_list_dbs ([ resource $link_identifier ] )

Return a result pointer containing the databases available from the current fbsql daemon. Use the fbsql_tablename() to traverse this result pointer.

Parameter-Liste

link_identifier

Eine von fbsql_connect() oder fbsql_pconnect() zurückgegebe FrontBase-Verbindung.

Wenn optional und nicht angegeben, wird versucht, eine bereits geöffnete FrontBase-Verbindung zu finden, falls keine vorhanden ist, wird versucht, eine zu öffnen, als ob fbsql_connect() ohne Parameter aufgerufen wurde.

Rückgabewerte

Returns a result pointer or FALSE on error.

Beispiele

Beispiel #1 fbsql_list_dbs() example

<?php
$link = fbsql_connect('localhost', 'myname', 'secret');
$db_list = fbsql_list_dbs($link);

while ($row = fbsql_fetch_object($db_list)) {
    echo $row->Database . "\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

database1
database2
database3
...

Hinweis:

The above code would just as easily work with fbsql_fetch_row() or other similar functions.

Siehe auch

  • fbsql_list_fields() - List FrontBase result fields
  • fbsql_list_tables() - List tables in a FrontBase database

fbsql_insert_id
fbsql_list_fields
FrontBase Funktionen


List FrontBase result fields

fbsql_list_dbs
fbsql_list_tables
FrontBase Funktionen
PHP Manual

fbsql_list_fields

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_list_fields — List FrontBase result fields

Beschreibung

resource fbsql_list_fields ( string $database_name , string $table_name [, resource $link_identifier ] )

Retrieves information about the given table.

Parameter-Liste

database_name

The database name.

table_name

The table name.

link_identifier

Eine von fbsql_connect() oder fbsql_pconnect() zurückgegebe FrontBase-Verbindung.

Wenn optional und nicht angegeben, wird versucht, eine bereits geöffnete FrontBase-Verbindung zu finden, falls keine vorhanden ist, wird versucht, eine zu öffnen, als ob fbsql_connect() ohne Parameter aufgerufen wurde.

Rückgabewerte

Returns a result pointer which can be used with the fbsql_field_xxx functions, or FALSE on error.

Fehler/Exceptions

A string describing the error will be placed in $phperrmsg, and unless the function was called as @fbsql() then this error string will also be printed out.

Beispiele

Beispiel #1 fbsql_list_fields() example

<?php
$link = fbsql_connect('localhost', 'myname', 'secret');

$fields = fbsql_list_fields("database1", "table1", $link);
$columns = fbsql_num_fields($fields);

for ($i = 0; $i < $columns; $i++) {
    echo fbsql_field_name($fields, $i) . "\n";;
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

field1
field2
field3
...

Siehe auch

  • fbsql_field_len() - Returns the length of the specified field
  • fbsql_field_name() - Liefert den Namen des angegebenen Feldes im Ergebnis
  • fbsql_field_type() - Liefert den Typ des angegebenen Feldes in einem Ergebnis
  • fbsql_field_flags() - Get the flags associated with the specified field in a result

fbsql_list_dbs
fbsql_list_tables
FrontBase Funktionen


List tables in a FrontBase database

fbsql_list_fields
fbsql_next_result
FrontBase Funktionen
PHP Manual

fbsql_list_tables

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_list_tables — List tables in a FrontBase database

Beschreibung

resource fbsql_list_tables ( string $database [, resource $link_identifier ] )

Returns a result pointer describing the database.

Parameter-Liste

database

The database name.

link_identifier

Eine von fbsql_connect() oder fbsql_pconnect() zurückgegebe FrontBase-Verbindung.

Wenn optional und nicht angegeben, wird versucht, eine bereits geöffnete FrontBase-Verbindung zu finden, falls keine vorhanden ist, wird versucht, eine zu öffnen, als ob fbsql_connect() ohne Parameter aufgerufen wurde.

Rückgabewerte

Returns a result pointer which can be used with the fbsql_tablename() function to read the actual table names, or FALSE on error.

Siehe auch

  • fbsql_list_fields() - List FrontBase result fields
  • fbsql_list_dbs() - List databases available on a FrontBase server

fbsql_list_fields
fbsql_next_result
FrontBase Funktionen


Setzt den internen Ergebniskennungszeiger auf das nächste Ergebnis

fbsql_list_tables
fbsql_num_fields
FrontBase Funktionen
PHP Manual

fbsql_next_result

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_next_result — Setzt den internen Ergebniskennungszeiger auf das nächste Ergebnis

Beschreibung

bool fbsql_next_result ( resource $result )

Wenn mehr als eine SQL-Anweisung an den Server gesendet wird oder eine gespeicherte Prozedur mit mehreren Ergebnissen ausgeführt wird, liefert der Server mehrere Ergebnismengen zurück. Diese Funktion überprüft auf zusätzliche auf dem Server verfügbare Ergebnisse. Wenn weitere Ergebnismengen existieren, wird die existierende Ergebnismenge frei gegeben und mit dem nächsten Ergebnis gefüllt.

Parameter-Liste

result

Ein von fbsql_query() zurückgegebenes Erebnishandle.

Rückgabewerte

Liefert TRUE zurück, wenn ein zusätzliches Ergebnis verfügbar war; ansonsten wird FALSE zurückgeliefert.

Beispiele

Beispiel #1 fbsql_next_result() Beispiel

<?php
$link = fbsql_connect("localhost", "_SYSTEM", "secret");
fbsql_select_db("MyDB", $link);
$SQL = "Select * from table1; select * from table2;";
$rs = fbsql_query($SQL, $link);
do {
    while ($row = fbsql_fetch_row($rs)) {
    }
} while (fbsql_next_result($rs));
fbsql_free_result($rs);
fbsql_close ($link);
?>

fbsql_list_tables
fbsql_num_fields
FrontBase Funktionen


Ermittelt Anzahl der Felder im Ergebnis

fbsql_next_result
fbsql_num_rows
FrontBase Funktionen
PHP Manual

fbsql_num_fields

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_num_fields — Ermittelt Anzahl der Felder im Ergebnis

Beschreibung

int fbsql_num_fields ( resource $result )

Liefert die Anzahl der Felder im angegebenen result zurück.

Parameter-Liste

result

Ein von fbsql_query() zurückgegebenes Erebnishandle.

Rückgabewerte

Liefert die Anzahl der Felder als Integer zurück.

Siehe auch

  • fbsql_db_query() - Absetzen einer Anfrage an die Datenbank
  • fbsql_query() - Sendet eine FrontBase-Abfrage
  • fbsql_fetch_field() - Liefert ein Objekt mit Feldinformationen aus einem Abfrageergebnis
  • fbsql_num_rows() - Liefert die Anzahl der Datensätze in einem Ergebnis

fbsql_next_result
fbsql_num_rows
FrontBase Funktionen


Liefert die Anzahl der Datensätze in einem Ergebnis

fbsql_num_fields
fbsql_password
FrontBase Funktionen
PHP Manual

fbsql_num_rows

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_num_rows — Liefert die Anzahl der Datensätze in einem Ergebnis

Beschreibung

int fbsql_num_rows ( resource $result )

Liefert die Anzahl der Datensätze im angegebenen result.

Diese Funktion ist nur für SELECT-Abfragen gültig. Um die Anzahl der betroffenen Datensätze bei INSERT-, UPDATE- oder DELETE-Abfragen zu ermittelt, müssen Sie fbsql_affected_rows() verwenden.

Parameter-Liste

result

Ein von fbsql_query() zurückgegebenes Erebnishandle.

Rückgabewerte

Liefert die Anzahl der Datensätze, die von der letzten SELECT Anweisung zurückgegeben wurden.

Beispiele

Beispiel #1 fbsql_num_rows() Beispiel

<?php

$link = fbsql_connect("localhost", "username", "passwort");
fbsql_select_db("database", $link);

$result = fbsql_query("SELECT * FROM table1;", $link);
$num_rows = fbsql_num_rows($result);

echo "$num_rows Rows\n";

?>

Siehe auch

  • fbsql_affected_rows() - Ermittelt die Anzahl der von der vorherigen FrontBase-Operation betroffenen Datensätze
  • fbsql_connect() - Öffnet eine Verbindung zu einem FrontBase-Server
  • fbsql_select_db() - Wählt eine FrontBase-Datenbank aus
  • fbsql_query() - Sendet eine FrontBase-Abfrage

fbsql_num_fields
fbsql_password
FrontBase Funktionen


Liest oder setzt das Bentuzerpasswort für eine Verbindung

fbsql_num_rows
fbsql_pconnect
FrontBase Funktionen
PHP Manual

fbsql_password

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_password — Liest oder setzt das Bentuzerpasswort für eine Verbindung

Beschreibung

string fbsql_password ( resource $link_identifier [, string $password ] )

Liest oder setzt das Benutzerpasswort für eine Verbindung.

Parameter-Liste

link_identifier

Eine von fbsql_connect() oder fbsql_pconnect() zurückgegebe FrontBase-Verbindung.

Wenn optional und nicht angegeben, wird versucht, eine bereits geöffnete FrontBase-Verbindung zu finden, falls keine vorhanden ist, wird versucht, eine zu öffnen, als ob fbsql_connect() ohne Parameter aufgerufen wurde.

password

Wenn angegeben, wird dies das neue Verbindungspasswort.

Rückgabewerte

Liefert das aktuelle Passwort für die Verbindung zurück.

Siehe auch

  • fbsql_username() - Liest oder setzt den Benutzernamen für die Verbindung
  • fbsql_hostname() - Ermittelt oder setzt den mit einer Verbindung verwendeten Hostnamen

fbsql_num_rows
fbsql_pconnect
FrontBase Funktionen


Öffnet eine persistente Verbindung zu einem FrontBase-Server

fbsql_password
fbsql_query
FrontBase Funktionen
PHP Manual

fbsql_pconnect

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_pconnect — Öffnet eine persistente Verbindung zu einem FrontBase-Server

Beschreibung

 resource fbsql_pconnect
  ([ string $hostname = ini_get("fbsql.default_host")
 [, string $username = ini_get("fbsql.default_user")
 [, string $password = ini_get("fbsql.default_password")
]]] )

Stellt eine persistente Verbindung zu einem FrontBase-Server her.

Um die Port-Nummer für den Server zu setzen, verwenden Sie fbsql_select_db().

fbsql_pconnect() verhält sich sehr ähnlich zu fbsql_connect(), weist aber zwei wesentliche Unterschiede auf.

Erstens: vor dem Verbindungsaufbau wird zunächst versucht eine offene (persistente) Verbindung zum gleichen Host, mit dem gleichen Benutzernamen und Benutzerkennwort zu finden. Wenn das gelingt, wird die Verbindungskennung dieser Verbindung zurückgeliefert anstatt eine neue Verbindung aufzubauen.

Zweitens: die Verbindung zum SQL Server wird beim Beenden des PHP-Skripts nicht geschlossen. Sie bleibt zur zukünftigen Verwendung bestehen.

Deshalb wird dieser Verbindungstyp 'persistent' genannt.

Parameter-Liste

hostname

Der Server-Hostname.

username

Der Benutzername für die Verbindung.

password

Das Passwort für die Verbindung.

Rückgabewerte

Liefert eine positive, FrontBase-persistente Verbindungs-Kennung im Erfolgsfall oder FALSE im Fehlerfall.

Siehe auch

  • fbsql_connect() - Öffnet eine Verbindung zu einem FrontBase-Server

fbsql_password
fbsql_query
FrontBase Funktionen


Sendet eine FrontBase-Abfrage

fbsql_pconnect
fbsql_read_blob
FrontBase Funktionen
PHP Manual

fbsql_query

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_query — Sendet eine FrontBase-Abfrage

Beschreibung

resource fbsql_query ( string $query [, resource $link_identifier [, int $batch_size ]] )

Sendet eine Abfrage an die momentan aktive Datenbank auf dem Server.

Ist die Abfrage erfolgreich, können Sie fbsql_num_rows() aufrufen, um herauszufinden wie viele Datensätze von einer SELECT-Abfrage zurückgeliefert wurden. Falls Sie eine DELETE-, INSERT-, REPLACE- oder UPDATE-Abfrage verwendet haben, können Sie fbsql_affected_rows() verwenden, um die betroffenen Datensätze herauszufinden.

Parameter-Liste

query

Die auszuführende SQL-Abfrage.

Hinweis:

Der Abfrage-String soll immer mit einem Semikolon enden.

link_identifier

Eine von fbsql_connect() oder fbsql_pconnect() zurückgegebe FrontBase-Verbindung.

Wenn optional und nicht angegeben, wird versucht, eine bereits geöffnete FrontBase-Verbindung zu finden, falls keine vorhanden ist, wird versucht, eine zu öffnen, als ob fbsql_connect() ohne Parameter aufgerufen wurde.

batch_size

Rückgabewerte

fbsql_query() liefert zur Überprüfung des Erfolgs der Abfrage TRUE (nicht null) oder FALSE zurück. Ein TRUE-Rückgabewert bestätigt, dass die Abfrage gültig war und vom Server ausgeführt werden konnte. Über den Rückgabewert können nicht die betroffenen oder selektierten Datensätze ermittelt werden. Es ist sogar möglich, dass die Abfrage erfolgreich war, aber keine Datensätze betroffen oder selektiert werden.

Bei SELECT-Abfragen gibt fbsql_query() eine neue Ergebniskennung zurück, die Sie an fbsql_result() übergeben können.

fbsql_query() schlägt ebenso fehl und liefert FALSE, wenn Sie keine Berechtigung zum Zugriff auf die verwiesene(n) Tabelle(n) haben.

Beispiele

Die folgende Abfrage ist syntaktisch falsch, so dass fbsql_query() fehlschlägt und FALSE zurückliefert:

Beispiel #1 fbsql_query() Beispiel

<?php
$result = fbsql_query("SELECT * WHERE 1=1")
    or die ("Ungültige Abfrage");
?>

Die folgende Abfrage ist sematisch falsch, wenn my_col keine Spalte in der Tabelle my_tbl ist. Deshalb schlägt fbsql_query() fehl und liefert FALSE zurück:

Beispiel #2 fbsql_query() Beispiel

<?php
$result = fbsql_query("SELECT my_col FROM my_tbl;")
    or die ("Ungültige Abfrage");
?>

Siehe auch

  • fbsql_affected_rows() - Ermittelt die Anzahl der von der vorherigen FrontBase-Operation betroffenen Datensätze
  • fbsql_db_query() - Absetzen einer Anfrage an die Datenbank
  • fbsql_free_result() - Gibt vom Ergebnis belegten Speicher wieder frei
  • fbsql_result() - Liefert Ergebnisdaten
  • fbsql_select_db() - Wählt eine FrontBase-Datenbank aus
  • fbsql_connect() - Öffnet eine Verbindung zu einem FrontBase-Server

fbsql_pconnect
fbsql_read_blob
FrontBase Funktionen


Read a BLOB from the database

fbsql_query
fbsql_read_clob
FrontBase Funktionen
PHP Manual

fbsql_read_blob

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

fbsql_read_blob — Read a BLOB from the database

Beschreibung

string fbsql_read_blob ( string $blob_handle [, resource $link_identifier ] )

Reads BLOB data from the database.

If a select statement contains BLOB and/or CLOB columns FrontBase will return the data directly when data is fetched. This default behavior can be changed with fbsql_set_lob_mode() so the fetch functions will return handles to BLOB and CLOB data. If a handle is fetched a user must call fbsql_read_blob() to get the actual BLOB data from the database.

Parameter-Liste

blob_handle

A BLOB handle, returned by fbsql_create_blob().

link_identifier

Eine von fbsql_connect() oder fbsql_pconnect() zurückgegebe FrontBase-Verbindung.

Wenn optional und nicht angegeben, wird versucht, eine bereits geöffnete FrontBase-Verbindung zu finden, falls keine vorhanden ist, wird versucht, eine zu öffnen, als ob fbsql_connect() ohne Parameter aufgerufen wurde.

Rückgabewerte

Returns a string containing the specified BLOB data.

Beispiele

Beispiel #1 fbsql_read_blob() example

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");
$sql = "SELECT BLOB_COLUMN FROM BLOB_TABLE;";
$rs = fbsql_query($sql, $link);
$row_data = fbsql_fetch_row($rs);
// $row_data[0] will now contain the blob data for the first row
fbsql_free_result($rs);

$rs = fbsql_query($sql, $link);
fbsql_set_lob_mode($rs, FBSQL_LOB_HANDLE);
$row_data = fbsql_fetch_row($rs);
// $row_data[0] will now contain a handle to the BLOB data in the first row
$blob_data = fbsql_read_blob($row_data[0]);
fbsql_free_result($rs);

?>

Siehe auch

  • fbsql_create_blob() - Create a BLOB
  • fbsql_read_clob() - Read a CLOB from the database
  • fbsql_set_lob_mode() - Setzt den LOB-Lese-Modus für ein FrontBase-Ergebnis

fbsql_query
fbsql_read_clob
FrontBase Funktionen


Read a CLOB from the database

fbsql_read_blob
fbsql_result
FrontBase Funktionen
PHP Manual

fbsql_read_clob

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

fbsql_read_clob — Read a CLOB from the database

Beschreibung

string fbsql_read_clob ( string $clob_handle [, resource $link_identifier ] )

Reads CLOB data from the database.

If a select statement contains BLOB and/or CLOB columns FrontBase will return the data directly when data is fetched. This default behavior can be changed with fbsql_set_lob_mode() so the fetch functions will return handles to BLOB and CLOB data. If a handle is fetched a user must call fbsql_read_clob() to get the actual CLOB data from the database.

Parameter-Liste

clob_handle

A CLOB handle, returned by fbsql_create_clob().

link_identifier

Eine von fbsql_connect() oder fbsql_pconnect() zurückgegebe FrontBase-Verbindung.

Wenn optional und nicht angegeben, wird versucht, eine bereits geöffnete FrontBase-Verbindung zu finden, falls keine vorhanden ist, wird versucht, eine zu öffnen, als ob fbsql_connect() ohne Parameter aufgerufen wurde.

Rückgabewerte

Returns a string containing the specified CLOB data.

Beispiele

Beispiel #1 fbsql_read_clob() example

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");
$sql = "SELECT CLOB_COLUMN FROM CLOB_TABLE;";
$rs = fbsql_query($sql, $link);
$row_data = fbsql_fetch_row($rs);
// $row_data[0] will now contain the clob data for the first row
fbsql_free_result($rs);

$rs = fbsql_query($sql, $link);
fbsql_set_lob_mode($rs, FBSQL_LOB_HANDLE);
$row_data = fbsql_fetch_row($rs);
// $row_data[0] will now contain a handle to the CLOB data in the first row
$clob_data = fbsql_read_clob($row_data[0]);
fbsql_free_result($rs);

?>

Siehe auch

  • fbsql_create_clob() - Create a CLOB
  • fbsql_read_blob() - Read a BLOB from the database
  • fbsql_set_lob_mode() - Setzt den LOB-Lese-Modus für ein FrontBase-Ergebnis

fbsql_read_blob
fbsql_result
FrontBase Funktionen


Liefert Ergebnisdaten

fbsql_read_clob
fbsql_rollback
FrontBase Funktionen
PHP Manual

fbsql_result

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_result — Liefert Ergebnisdaten

Beschreibung

mixed fbsql_result ( resource $result [, int $row [, mixed $field ]] )

Liefert den Inhalt eines Felds aus einer FrontBase result Menge.

Wenn auf Anfrageergebnisse mit vielen Datensätzen zugegriffen werden soll, sollten Sie Funktionen, die auf ganze Datensätze zugreifen,in Betracht ziehen (siehe unten). Diese Funktionen liefern bei einem einzigen Aufruf den Inhalt mehrerer Felder und sind aus diesem Grund SEHR viel schneller als fbsql_result().

Aufrufe von fbsql_result() sollten nicht mit Aufrufen anderer Funktionen verschachtelt werden, die auch auf das Ergebnis zugreifen.

Parameter-Liste

result

Ein von fbsql_query() zurückgegebenes Erebnishandle.

row

field

Kann der Feldoffset, der Feldname, oder ein Bezeichner in der Form Tabellenname.Feldname sein.

Wenn das Feld einen Alias besitzt ('select foo as bar from...') muss der Alias anstatt des Feldnamens verwendet werden.

Hinweis:

Die Angabe eines numerischen Offsets für das field Argument ist viel schneller als die Angabe eines Feldnamens oder tabellenname.feldname.

Rückgabewerte

Siehe auch

Recommended high-performance alternatives:

  • fbsql_fetch_row() - Liefert einen Datensatz als numerisches Array
  • fbsql_fetch_array() - Fetch a result row as an associative array, a numeric array, or both
  • fbsql_fetch_assoc() - Fetch a result row as an associative array
  • fbsql_fetch_object() - Fetch a result row as an object

fbsql_read_clob
fbsql_rollback
FrontBase Funktionen


Rollback a transaction to the database

fbsql_result
fbsql_rows_fetched
FrontBase Funktionen
PHP Manual

fbsql_rollback

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_rollback — Rollback a transaction to the database

Beschreibung

bool fbsql_rollback ([ resource $link_identifier ] )

Ends the current transaction by rolling back all statements issued since last commit.

This command is only needed if autocommit is set to false.

Parameter-Liste

link_identifier

Eine von fbsql_connect() oder fbsql_pconnect() zurückgegebe FrontBase-Verbindung.

Wenn optional und nicht angegeben, wird versucht, eine bereits geöffnete FrontBase-Verbindung zu finden, falls keine vorhanden ist, wird versucht, eine zu öffnen, als ob fbsql_connect() ohne Parameter aufgerufen wurde.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • fbsql_autocommit() - Aktiviert oder deaktiviert Autocommit
  • fbsql_commit() - Wendet eine Transaktion auf die Datenbank an

fbsql_result
fbsql_rows_fetched
FrontBase Funktionen


Get the number of rows affected by the last statement

fbsql_rollback
fbsql_select_db
FrontBase Funktionen
PHP Manual

fbsql_rows_fetched

(PHP 5 >= 5.1.0, PHP 7)

fbsql_rows_fetched — Get the number of rows affected by the last statement

Beschreibung

int fbsql_rows_fetched ( resource $result )

Gets the number of rows affected by the last statement.

Parameter-Liste

result

Ein von fbsql_query() zurückgegebenes Erebnishandle.

Rückgabewerte

Returns the number of rows, as an integer.

fbsql_rollback
fbsql_select_db
FrontBase Funktionen


Wählt eine FrontBase-Datenbank aus

fbsql_rows_fetched
fbsql_set_characterset
FrontBase Funktionen
PHP Manual

fbsql_select_db

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_select_db — Wählt eine FrontBase-Datenbank aus

Beschreibung

bool fbsql_select_db ([ string $database_name [, resource $link_identifier ]] )

Setzt die momentan aktive Datenbank für die angegebene Verbindungskennung.

Der Client kontaktiert FBExec, um die Portnummer für die Datenbankverbindung abzufragen. Wenn der Datenbankname eine Nummer ist, wird FBExec nicht abgefragt und die Nummer als Portnummer verwendet. Der FrontBase-Server kann über FrontBase -FBExec=No -port=<port number> <database name>. gestartet werden.

Jeder nachfolgende Aufruf von fbsql_query() wird auf der aktiven Datenbank ausgeführt.

Parameter-Liste

database_name

Der Name der auszuwählenden Datenbank.

Wenn die Datenbank mit einem Passwort geschützt ist, muss vorher fbsql_database_password() aufgerufen werden.

link_identifier

Eine von fbsql_connect() oder fbsql_pconnect() zurückgegebe FrontBase-Verbindung.

Wenn optional und nicht angegeben, wird versucht, eine bereits geöffnete FrontBase-Verbindung zu finden, falls keine vorhanden ist, wird versucht, eine zu öffnen, als ob fbsql_connect() ohne Parameter aufgerufen wurde.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • fbsql_connect() - Öffnet eine Verbindung zu einem FrontBase-Server
  • fbsql_pconnect() - Öffnet eine persistente Verbindung zu einem FrontBase-Server
  • fbsql_database_password() - Sets or retrieves the password for a FrontBase database
  • fbsql_query() - Sendet eine FrontBase-Abfrage

fbsql_rows_fetched
fbsql_set_characterset
FrontBase Funktionen


Change input/output character set

fbsql_select_db
fbsql_set_lob_mode
FrontBase Funktionen
PHP Manual

fbsql_set_characterset

(PHP 5 >= 5.1.0, PHP 7)

fbsql_set_characterset — Change input/output character set

Beschreibung

void fbsql_set_characterset ( resource $link_identifier , int $characterset [, int $in_out_both ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Rückgabewerte

Es wird kein Wert zurückgegeben.

fbsql_select_db
fbsql_set_lob_mode
FrontBase Funktionen


Setzt den LOB-Lese-Modus für ein FrontBase-Ergebnis

fbsql_set_characterset
fbsql_set_password
FrontBase Funktionen
PHP Manual

fbsql_set_lob_mode

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

fbsql_set_lob_mode — Setzt den LOB-Lese-Modus für ein FrontBase-Ergebnis

Beschreibung

bool fbsql_set_lob_mode ( resource $result , int $lob_mode )

Setzt den Modus für das Auslesen von LOB-Daten aus der Datenbank.

BLOB- und CLOB-Daten können bei FrontBase direkt oder indirekt abgerufen werden. Direkt abgerufene LOB-Daten werden immer ohne Berücksichtigung des gesetzten LOB-Modus geholt. Wenn die LOB-Daten kleiner als 512 Bytes sind, werden sie immer direkt abgerufen.

Parameter-Liste

result

Ein von fbsql_query() zurückgegebenes Erebnishandle.

lob_mode

Can be one of:

  • FBSQL_LOB_DIRECT - LOB-Daten werden direkt geholt. Wenn Daten aus der Datenbank mit fbsql_fetch_row() oder einer anderen fetch-Funktion geholt werden, werden alle CLOB- und BLOB-Spalten als gewöhnliche Spalten geliefert. Dies ist der Standardwert bei einem neuen FrontBase-Ergebnis
  • FBSQL_LOB_HANDLE - LOB-Daten werden als Datenhandles geholt. Wenn Daten aus der Datenbank mit fbsql_fetch_row () oder einer anderen fetch-Funtion geholt werden, werden bei indirekt gespeicherten LOB-Daten das Handle zu den eigentlichen Daten geliefert. Ein Handle wird als 27 Byte langer String mit der Formatierung @'000000000000000000000000' zurückgeliefert. Bei direkt gespeicherten Daten werden die Daten an sich geliefert.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • fbsql_create_blob() - Create a BLOB
  • fbsql_create_clob() - Create a CLOB
  • fbsql_read_blob() - Read a BLOB from the database
  • fbsql_read_clob() - Read a CLOB from the database

fbsql_set_characterset
fbsql_set_password
FrontBase Funktionen


Change the password for a given user

fbsql_set_lob_mode
fbsql_set_transaction
FrontBase Funktionen
PHP Manual

fbsql_set_password

(PHP 5, PHP 7)

fbsql_set_password — Change the password for a given user

Beschreibung

bool fbsql_set_password ( resource $link_identifier , string $user , string $password , string $old_password )

Changes the password for the given user.

Parameter-Liste

link_identifier

Eine von fbsql_connect() oder fbsql_pconnect() zurückgegebe FrontBase-Verbindung.

Wenn optional und nicht angegeben, wird versucht, eine bereits geöffnete FrontBase-Verbindung zu finden, falls keine vorhanden ist, wird versucht, eine zu öffnen, als ob fbsql_connect() ohne Parameter aufgerufen wurde.

user

The user name.

password

The new password to be set.

old_password

The old password to be replaced.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

fbsql_set_lob_mode
fbsql_set_transaction
FrontBase Funktionen


Set the transaction locking and isolation

fbsql_set_password
fbsql_start_db
FrontBase Funktionen
PHP Manual

fbsql_set_transaction

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

fbsql_set_transaction — Set the transaction locking and isolation

Beschreibung

void fbsql_set_transaction ( resource $link_identifier , int $locking , int $isolation )

Sets the transaction locking and isolation.

Parameter-Liste

link_identifier

Eine von fbsql_connect() oder fbsql_pconnect() zurückgegebe FrontBase-Verbindung.

Wenn optional und nicht angegeben, wird versucht, eine bereits geöffnete FrontBase-Verbindung zu finden, falls keine vorhanden ist, wird versucht, eine zu öffnen, als ob fbsql_connect() ohne Parameter aufgerufen wurde.

locking

The type of locking to be set. It can be one of the following constants: FBSQL_LOCK_DEFERRED, FBSQL_LOCK_OPTIMISTIC, or FBSQL_LOCK_PESSIMISTIC.

isolation

The type of isolation to be set. It can be one of the following constants: FBSQL_ISO_READ_UNCOMMITTED, FBSQL_ISO_READ_COMMITTED, FBSQL_ISO_REPEATABLE_READ, FBSQL_ISO_SERIALIZABLE, or FBSQL_ISO_VERSIONED.

Rückgabewerte

Es wird kein Wert zurückgegeben.

fbsql_set_password
fbsql_start_db
FrontBase Funktionen


Startet eine Datenbank auf einem lokalen oder entfernten Server

fbsql_set_transaction
fbsql_stop_db
FrontBase Funktionen
PHP Manual

fbsql_start_db

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_start_db — Startet eine Datenbank auf einem lokalen oder entfernten Server

Beschreibung

bool fbsql_start_db ( string $database_name [, resource $link_identifier [, string $database_options ]] )

Startet eine Datenbank auf einem lokalen oder entfernten Server.

Parameter-Liste

database_name

Der Datenbankname.

link_identifier

Eine von fbsql_connect() oder fbsql_pconnect() zurückgegebe FrontBase-Verbindung.

Wenn optional und nicht angegeben, wird versucht, eine bereits geöffnete FrontBase-Verbindung zu finden, falls keine vorhanden ist, wird versucht, eine zu öffnen, als ob fbsql_connect() ohne Parameter aufgerufen wurde.

database_options

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • fbsql_db_status() - Ermittelt den Status einer angegebenen Datenbank
  • fbsql_stop_db() - Stoppt eine Datenbank auf einem lokalen oder entferneten Server

fbsql_set_transaction
fbsql_stop_db
FrontBase Funktionen


Stoppt eine Datenbank auf einem lokalen oder entferneten Server

fbsql_start_db
fbsql_tablename
FrontBase Funktionen
PHP Manual

fbsql_stop_db

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_stop_db — Stoppt eine Datenbank auf einem lokalen oder entferneten Server

Beschreibung

bool fbsql_stop_db ( string $database_name [, resource $link_identifier ] )

Stoppt eine Datenbank auf einem lokalen oder entferneten Server.

Parameter-Liste

database_name

Der Datenbankname.

link_identifier

Eine von fbsql_connect() oder fbsql_pconnect() zurückgegebe FrontBase-Verbindung.

Wenn optional und nicht angegeben, wird versucht, eine bereits geöffnete FrontBase-Verbindung zu finden, falls keine vorhanden ist, wird versucht, eine zu öffnen, als ob fbsql_connect() ohne Parameter aufgerufen wurde.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • fbsql_db_status() - Ermittelt den Status einer angegebenen Datenbank
  • fbsql_start_db() - Startet eine Datenbank auf einem lokalen oder entfernten Server

fbsql_start_db
fbsql_tablename
FrontBase Funktionen


Liefert den Tabellennamen eines Felds

fbsql_stop_db
fbsql_tablename
FrontBase Funktionen
PHP Manual

fbsql_tablename

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

fbsql_tablename — Liefert den Tabellennamen eines Felds

Beschreibung

string fbsql_table_name ( resource $result , int $index )

fbsql_tablename() ermittelt den Namen der aktuellen Tabelle in der angegebenen result Menge.

Die Funktion fbsql_num_rows() kann verwendet werden, um die Anzahl der Tabellen in der Ergebnis-Kennung zu ermitteln.

Parameter-Liste

result

Eine von fbsql_list_tables() zurückgegebe Ergebnis-Kennung.

index

Integer-Index für die aktuelle Tabelle.

Rückgabewerte

Liefert den Tabellennamen als Zeichenkette zurück.

Beispiele

Beispiel #1 fbsql_tablename() Beispiel

<?php
fbsql_connect("localhost", "_SYSTEM", "");
$result = fbsql_list_tables("wisconsin");
$i = 0;
while ($i < fbsql_num_rows($result)) {
    $tb_names[$i] = fbsql_tablename($result, $i);
    echo $tb_names[$i] . "<br />";
    $i++;
}
?>

fbsql_stop_db
fbsql_tablename
FrontBase Funktionen


Alias von fbsql_table_name

fbsql_tablename
fbsql_username
FrontBase Funktionen
PHP Manual

fbsql_tablename

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

fbsql_tablename — Alias von fbsql_table_name()

Beschreibung

Diese Funktion ist ein Alias für: fbsql_table_name().

fbsql_tablename
fbsql_username
FrontBase Funktionen


Liest oder setzt den Benutzernamen für die Verbindung

fbsql_tablename
fbsql_warnings
FrontBase Funktionen
PHP Manual

fbsql_username

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_username — Liest oder setzt den Benutzernamen für die Verbindung

Beschreibung

string fbsql_username ( resource $link_identifier [, string $username ] )

Liest oder setzt den Benutzernamen, der für die Verbindung verwendet wird.

Parameter-Liste

link_identifier

Eine von fbsql_connect() oder fbsql_pconnect() zurückgegebe FrontBase-Verbindung.

Wenn optional und nicht angegeben, wird versucht, eine bereits geöffnete FrontBase-Verbindung zu finden, falls keine vorhanden ist, wird versucht, eine zu öffnen, als ob fbsql_connect() ohne Parameter aufgerufen wurde.

username

Wenn angegeben, ist dies der neu zu setzende Benutzername.

Rückgabewerte

Liefert den aktuellen Benutzernamen, der mit der Verbindung verwendet wird, als Zeichenkette zurück.

Siehe auch

  • fbsql_password() - Liest oder setzt das Bentuzerpasswort für eine Verbindung
  • fbsql_hostname() - Ermittelt oder setzt den mit einer Verbindung verwendeten Hostnamen

fbsql_tablename
fbsql_warnings
FrontBase Funktionen


Aktivieren oder Deaktivieren von FrontBase-Warnungen

fbsql_username
IBM DB2
FrontBase Funktionen
PHP Manual

fbsql_warnings

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_warnings — Aktivieren oder Deaktivieren von FrontBase-Warnungen

Beschreibung

bool fbsql_warnings ([ bool $OnOff ] )

Aktiviert oder deaktiviert FrontBase-Warnungen.

Parameter-Liste

OnOff

Ob Warnungen aktiviert werden sollen oder nicht.

Rückgabewerte

Liefert bei eingeschalteten Warnmeldungen TRUE zurück, andernfalls FALSE.

Siehe auch

  • fbsql_errno() - Liefert die numerische Fehlermeldung der der letzten Operation zurück
  • fbsql_error() - Liefert den Fehlertext der zuvor ausgeführten Operation

fbsql_username
IBM DB2
FrontBase Funktionen


IBM DB2, Cloudscape and Apache Derby

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • IBM DB2 Funktionen
    • db2_autocommit — Returns or sets the AUTOCOMMIT state for a database connection
    • db2_bind_param — Binds a PHP variable to an SQL statement parameter
    • db2_client_info — Returns an object with properties that describe the DB2 database client
    • db2_close — Closes a database connection
    • db2_column_privileges — Returns a result set listing the columns and associated privileges for a table
    • db2_columns — Returns a result set listing the columns and associated metadata for a table
    • db2_commit — Commits a transaction
    • db2_conn_error — Returns a string containing the SQLSTATE returned by the last connection attempt
    • db2_conn_errormsg — Returns the last connection error message and SQLCODE value
    • db2_connect — Returns a connection to a database
    • db2_cursor_type — Returns the cursor type used by a statement resource
    • db2_escape_string — Used to escape certain characters
    • db2_exec — Executes an SQL statement directly
    • db2_execute — Executes a prepared SQL statement
    • db2_fetch_array — Returns an array, indexed by column position, representing a row in a result set
    • db2_fetch_assoc — Returns an array, indexed by column name, representing a row in a result set
    • db2_fetch_both — Returns an array, indexed by both column name and position, representing a row in a result set
    • db2_fetch_object — Returns an object with properties representing columns in the fetched row
    • db2_fetch_row — Sets the result set pointer to the next row or requested row
    • db2_field_display_size — Returns the maximum number of bytes required to display a column
    • db2_field_name — Returns the name of the column in the result set
    • db2_field_num — Returns the position of the named column in a result set
    • db2_field_precision — Returns the precision of the indicated column in a result set
    • db2_field_scale — Returns the scale of the indicated column in a result set
    • db2_field_type — Returns the data type of the indicated column in a result set
    • db2_field_width — Returns the width of the current value of the indicated column in a result set
    • db2_foreign_keys — Returns a result set listing the foreign keys for a table
    • db2_free_result — Frees resources associated with a result set
    • db2_free_stmt — Frees resources associated with the indicated statement resource
    • db2_get_option — Retrieves an option value for a statement resource or a connection resource
    • db2_last_insert_id — Returns the auto generated ID of the last insert query that successfully executed on this connection
    • db2_lob_read — Gets a user defined size of LOB files with each invocation
    • db2_next_result — Requests the next result set from a stored procedure
    • db2_num_fields — Returns the number of fields contained in a result set
    • db2_num_rows — Returns the number of rows affected by an SQL statement
    • db2_pclose — Closes a persistent database connection
    • db2_pconnect — Returns a persistent connection to a database
    • db2_prepare — Prepares an SQL statement to be executed
    • db2_primary_keys — Returns a result set listing primary keys for a table
    • db2_procedure_columns — Returns a result set listing stored procedure parameters
    • db2_procedures — Returns a result set listing the stored procedures registered in a database
    • db2_result — Returns a single column from a row in the result set
    • db2_rollback — Rolls back a transaction
    • db2_server_info — Returns an object with properties that describe the DB2 database server
    • db2_set_option — Set options for connection or statement resources
    • db2_special_columns — Returns a result set listing the unique row identifier columns for a table
    • db2_statistics — Returns a result set listing the index and statistics for a table
    • db2_stmt_error — Returns a string containing the SQLSTATE returned by an SQL statement
    • db2_stmt_errormsg — Returns a string containing the last SQL statement error message
    • db2_table_privileges — Returns a result set listing the tables and associated privileges in a database
    • db2_tables — Returns a result set listing the tables and associated metadata in a database
fbsql_warnings
Einführung
Anbieterspezifische Datenbankerweiterungen


Einführung

These functions enable you to access IBM DB2 Universal Database, IBM Cloudscape, and Apache Derby databases using the DB2 Call Level Interface (DB2 CLI).

IBM DB2
Installation/Konfiguration
IBM DB2


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
IBM DB2


Anforderungen

To connect to IBM DB2 Universal Database for Linux, UNIX, and Windows, or IBM Cloudscape, or Apache Derby, you must install an IBM DB2 Universal Database client on the same computer on which you are running PHP. The extension has been developed and tested with DB2 Version 8.2.

To connect to IBM DB2 Universal Database for z/OS or iSeries, you also require IBM DB2 Connect or the equivalent DRDA gateway software.

Requirements on Linux or Unix

The user invoking the PHP executable or SAPI must specify the DB2 instance before accessing these functions. You can set the name of the DB2 instance in php.ini using the ibm_db2.instance_name configuration option, or you can source the DB2 instance profile before invoking the PHP executable.

If you created a DB2 instance named db2inst1 in /home/db2inst1/, for example, you can add the following line to php.ini:

ibm_db2.instance_name=db2inst1
If you do not set this option in php.ini, you must issue the following command to modify your environment variables to enable access to DB2:
bash$ source /home/db2inst1/sqllib/db2profile
To enable your PHP-enabled Web server to access these functions, you must either set the ibm_db2.instance_name configuration option in php.ini, or source the DB2 instance environment in your Web server start script (typically /etc/init.d/httpd or /etc/init.d/apache).

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

To build the ibm_db2 extension, the DB2 application development header files and libraries must be installed on your system. DB2 does not install these by default, so you may have to return to your DB2 installer and add this option. The header files are included with the DB2 Application Development Client freely available for download from the IBM DB2 Universal Database » support site.

If you add the DB2 application development header files and libraries to a Linux or Unix operating system on which DB2 was already installed, you must issue the command db2iupdt -e to update the symbolic links to the header files and libraries in your DB2 instances.

ibm_db2 is a » PECL extension, so follow the instructions in Installation of PECL extensions to install the ibm_db2 extension for PHP. Issue the configure command to point to the location of your DB2 header files and libraries as follows:

bash$ ./configure --with-IBM_DB2=/path/to/DB2
The configure command defaults to /opt/IBM/db2/V8.1.

Hinweis: Note for IIS users

If you are using the ibm_db2 driver with Microsoft Internet Information Server (IIS) you may have to do the following:

  • Install DB2 with extended operating system security.
  • Add the PHP binary path to the PATH system environment variable (default C:\php\).
  • Create another system environment variable equal to the path where the PHP.INI file is located (eg: PHPRC = C:\php\).
  • Add the IUSR_COMPUTERNAME to the DB2USERS group.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

ibm_db2 Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
ibm_db2.binmode | "1" | PHP_INI_ALL |
ibm_db2.i5_all_pconnect | "0" | PHP_INI_SYSTEM | Available since ibm_db2 1.6.5.
ibm_db2.i5_allow_commit | "0" | PHP_INI_SYSTEM | Available since ibm_db2 1.4.9.
ibm_db2.i5_dbcs_alloc | "0" | PHP_INI_SYSTEM | Available since ibm_db2 1.5.0.
ibm_db2.instance_name | NULL | PHP_INI_SYSTEM | Available since ibm_db2 1.0.2.
ibm_db2.i5_ignore_userid | "0" | PHP_INI_SYSTEM | Available since ibm_db2 1.8.0.

Hier eine kurze Erklärung der Konfigurationsoptionen:

ibm_db2.binmode integer

This option controls the mode used for converting to and from binary data in the PHP application.

  • 1 (DB2_BINARY)

  • 2 (DB2_CONVERT)

  • 3 (DB2_PASSTHRU)

ibm_db2.i5_all_pconnect integer

This option overrides i5 db2_connect() full open and close in the PHP application. When ibm_db2.i5_all_pconnect = 1, all db2 connections become persistent (db2_pconnect()). On i5/OS, db2_pconnect() performs dramatically better with lower machine stress over db2_connect(). This is a convenience override of db2_connect() to evoke db2_pconnect() without PHP source code changes.

  • 0 db2_connect() default full open and close

  • 1 db2_connect() override to db2_pconnect() for persistent connection only

ibm_db2.i5_allow_commit integer

This option controls the isolation mode used for i5 schema collections in the PHP application (see i5_commit for override).

  • 0 - commitment control is not used

  • 1 - read uncommitted, dirty reads possible.

  • 2 - read committed, dirty reads are not possible.

  • 3 - repeatable read, dirty reads and non-repeatable reads are not possible

  • 4 - serializeable, dirty reads, non-repeatable reads, and phantoms are not possible

ibm_db2.i5_dbcs_alloc integer

This option controls the internal ibm_db2 allocation scheme for large DBCS column buffers.

  • 0 no expanded allocations (see i5_dbcs_alloc for override)

  • 1 use expanded allocations (see i5_dbcs_alloc for override)

ibm_db2.instance_name string

On Linux and UNIX operating systems, this option defines the name of the instance to use for cataloged database connections. If this option is set, its value overrides the DB2INSTANCE environment variable setting.

This option is ignored on Windows operating systems.

ibm_db2.i5_ignore_userid integer

This option overrides i5 db2_(p)connect userid and password in the PHP application. When ibm_db2.i5_ignore_userid = 1, all db2 (p)connections become null userid and null password. Therefore Apache jobs connect with the current profile (NOBODY). Use of this override is only for simple DB2 based websites that never require profile switching and therefore can avoid all overhead of server mode additional QSQSRVR jobs. This is a convenience override of db2_(p)connect to set the userid and password values to null without PHP source code changes. This override can be used in combination with ibm_db2.i5_all_pconnect = 1.

  • 0 db2_(p)connect with specified userid and password

  • 1 db2_(p)connect override connect with null userid and null password

Installation
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

The ibm_db2 extension returns connection resources, statement resources, and result set resources.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

DB2_BINARY (integer)
Specifies that binary data shall be returned as is. This is the default mode.
DB2_CONVERT (integer)
Specifies that binary data shall be converted to a hexadecimal encoding and returned as an ASCII string.
DB2_PASSTHRU (integer)
Specifies that binary data shall be converted to a NULL value.
DB2_SCROLLABLE (integer)
Specifies a scrollable cursor for a statement resource. This mode enables random access to rows in a result set, but currently is supported only by IBM DB2 Universal Database.
DB2_FORWARD_ONLY (integer)
Specifies a forward-only cursor for a statement resource. This is the default cursor type and is supported on all database servers.
DB2_PARAM_IN (integer)
Specifies the PHP variable should be bound as an IN parameter for a stored procedure.
DB2_PARAM_OUT (integer)
Specifies the PHP variable should be bound as an OUT parameter for a stored procedure.
DB2_PARAM_INOUT (integer)
Specifies the PHP variable should be bound as an INOUT parameter for a stored procedure.
DB2_PARAM_FILE (integer)
Specifies that the column should be bound directly to a file for input.
DB2_AUTOCOMMIT_ON (integer)
Specifies that autocommit should be turned on.
DB2_AUTOCOMMIT_OFF (integer)
Specifies that autocommit should be turned off.
DB2_DOUBLE (integer)
Specifies that the variable should be bound as a DOUBLE, FLOAT, or REAL data type.
DB2_LONG (integer)
Specifies that the variable should be bound as a SMALLINT, INTEGER, or BIGINT data type.
DB2_CHAR (integer)
Specifies that the variable should be bound as a CHAR or VARCHAR data type.
DB2_CASE_NATURAL (integer)
Specifies that column names will be returned in their natural case.
DB2_CASE_LOWER (integer)
Specifies that column names will be returned in lower case.
DB2_CASE_UPPER (integer)
Specifies that column names will be returned in upper case.
DB2_DEFERRED_PREPARE_ON (integer)
Specifies that deferred prepare should be turned on for the specified statement resource.
DB2_DEFERRED_PREPARE_OFF (integer)
Specifies that deferred prepare should be turned off for the specified statement resource.
Ressource-Typen
IBM DB2 Funktionen
IBM DB2


IBM DB2 Funktionen

Inhaltsverzeichnis

  • db2_autocommit — Returns or sets the AUTOCOMMIT state for a database connection
  • db2_bind_param — Binds a PHP variable to an SQL statement parameter
  • db2_client_info — Returns an object with properties that describe the DB2 database client
  • db2_close — Closes a database connection
  • db2_column_privileges — Returns a result set listing the columns and associated privileges for a table
  • db2_columns — Returns a result set listing the columns and associated metadata for a table
  • db2_commit — Commits a transaction
  • db2_conn_error — Returns a string containing the SQLSTATE returned by the last connection attempt
  • db2_conn_errormsg — Returns the last connection error message and SQLCODE value
  • db2_connect — Returns a connection to a database
  • db2_cursor_type — Returns the cursor type used by a statement resource
  • db2_escape_string — Used to escape certain characters
  • db2_exec — Executes an SQL statement directly
  • db2_execute — Executes a prepared SQL statement
  • db2_fetch_array — Returns an array, indexed by column position, representing a row in a result set
  • db2_fetch_assoc — Returns an array, indexed by column name, representing a row in a result set
  • db2_fetch_both — Returns an array, indexed by both column name and position, representing a row in a result set
  • db2_fetch_object — Returns an object with properties representing columns in the fetched row
  • db2_fetch_row — Sets the result set pointer to the next row or requested row
  • db2_field_display_size — Returns the maximum number of bytes required to display a column
  • db2_field_name — Returns the name of the column in the result set
  • db2_field_num — Returns the position of the named column in a result set
  • db2_field_precision — Returns the precision of the indicated column in a result set
  • db2_field_scale — Returns the scale of the indicated column in a result set
  • db2_field_type — Returns the data type of the indicated column in a result set
  • db2_field_width — Returns the width of the current value of the indicated column in a result set
  • db2_foreign_keys — Returns a result set listing the foreign keys for a table
  • db2_free_result — Frees resources associated with a result set
  • db2_free_stmt — Frees resources associated with the indicated statement resource
  • db2_get_option — Retrieves an option value for a statement resource or a connection resource
  • db2_last_insert_id — Returns the auto generated ID of the last insert query that successfully executed on this connection
  • db2_lob_read — Gets a user defined size of LOB files with each invocation
  • db2_next_result — Requests the next result set from a stored procedure
  • db2_num_fields — Returns the number of fields contained in a result set
  • db2_num_rows — Returns the number of rows affected by an SQL statement
  • db2_pclose — Closes a persistent database connection
  • db2_pconnect — Returns a persistent connection to a database
  • db2_prepare — Prepares an SQL statement to be executed
  • db2_primary_keys — Returns a result set listing primary keys for a table
  • db2_procedure_columns — Returns a result set listing stored procedure parameters
  • db2_procedures — Returns a result set listing the stored procedures registered in a database
  • db2_result — Returns a single column from a row in the result set
  • db2_rollback — Rolls back a transaction
  • db2_server_info — Returns an object with properties that describe the DB2 database server
  • db2_set_option — Set options for connection or statement resources
  • db2_special_columns — Returns a result set listing the unique row identifier columns for a table
  • db2_statistics — Returns a result set listing the index and statistics for a table
  • db2_stmt_error — Returns a string containing the SQLSTATE returned by an SQL statement
  • db2_stmt_errormsg — Returns a string containing the last SQL statement error message
  • db2_table_privileges — Returns a result set listing the tables and associated privileges in a database
  • db2_tables — Returns a result set listing the tables and associated metadata in a database
Vordefinierte Konstanten
db2_autocommit
IBM DB2


Returns or sets the AUTOCOMMIT state for a database connection

IBM DB2 Funktionen
db2_bind_param
IBM DB2 Funktionen
PHP Manual

db2_autocommit

(PECL ibm_db2 >= 1.0.0)

db2_autocommit — Returns or sets the AUTOCOMMIT state for a database connection

Beschreibung

mixed db2_autocommit ( resource $connection [, bool $value ] )

Sets or gets the AUTOCOMMIT behavior of the specified connection resource.

Parameter-Liste

connection

A valid database connection resource variable as returned from db2_connect() or db2_pconnect().

value

One of the following constants:

DB2_AUTOCOMMIT_OFF

Turns AUTOCOMMIT off.

DB2_AUTOCOMMIT_ON

Turns AUTOCOMMIT on.

Rückgabewerte

When db2_autocommit() receives only the connection parameter, it returns the current state of AUTOCOMMIT for the requested connection as an integer value. A value of 0 indicates that AUTOCOMMIT is off, while a value of 1 indicates that AUTOCOMMIT is on.

When db2_autocommit() receives both the connection parameter and autocommit parameter, it attempts to set the AUTOCOMMIT state of the requested connection to the corresponding state. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Retrieving the AUTOCOMMIT value for a connection

In the following example, a connection which has been created with AUTOCOMMIT turned off is tested with the db2_autocommit() function.

<?php
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF);
$conn = db2_connect($database, $user, $password, $options);
$ac = db2_autocommit($conn);
if ($ac == 0) {
    print "$ac -- AUTOCOMMIT is off.";
} else {
    print "$ac -- AUTOCOMMIT is on.";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

0 -- AUTOCOMMIT is off.

Beispiel #2 Setting the AUTOCOMMIT value for a connection

In the following example, a connection which was initially created with AUTOCOMMIT turned off has its behavior changed to turn AUTOCOMMIT on.

<?php
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF);
$conn = db2_connect($database, $user, $password, $options);

// Turn AUTOCOMMIT on
$rc = db2_autocommit($conn, DB2_AUTOCOMMIT_ON);
if ($rc) {
    print "Turning AUTOCOMMIT on succeeded.\n";
}

// Check AUTOCOMMIT state
$ac = db2_autocommit($conn);
if ($ac == 0) {
    print "$ac -- AUTOCOMMIT is off.";
} else {
    print "$ac -- AUTOCOMMIT is on.";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Turning AUTOCOMMIT on succeeded.
1 -- AUTOCOMMIT is on.

Siehe auch

  • db2_connect() - Returns a connection to a database
  • db2_pconnect() - Returns a persistent connection to a database

IBM DB2 Funktionen
db2_bind_param
IBM DB2 Funktionen


Binds a PHP variable to an SQL statement parameter

db2_autocommit
db2_client_info
IBM DB2 Funktionen
PHP Manual

db2_bind_param

(PECL ibm_db2 >= 1.0.0)

db2_bind_param — Binds a PHP variable to an SQL statement parameter

Beschreibung

bool db2_bind_param ( resource $stmt , int $parameter-number , string $variable-name [, int $parameter-type [, int $data-type = 0 [, int $precision = -1 [, int $scale = 0 ]]]] )

Binds a PHP variable to an SQL statement parameter in a statement resource returned by db2_prepare(). This function gives you more control over the parameter type, data type, precision, and scale for the parameter than simply passing the variable as part of the optional input array to db2_execute().

Parameter-Liste

stmt

A prepared statement returned from db2_prepare().

parameter-number

Specifies the 1-indexed position of the parameter in the prepared statement.

variable-name

A string specifying the name of the PHP variable to bind to the parameter specified by parameter-number.

parameter-type

A constant specifying whether the PHP variable should be bound to the SQL parameter as an input parameter (DB2_PARAM_IN), an output parameter (DB2_PARAM_OUT), or as a parameter that accepts input and returns output (DB2_PARAM_INOUT). To avoid memory overhead, you can also specify DB2_PARAM_FILE to bind the PHP variable to the name of a file that contains large object (BLOB, CLOB, or DBCLOB) data.

data-type

A constant specifying the SQL data type that the PHP variable should be bound as: one of DB2_BINARY, DB2_CHAR, DB2_DOUBLE, or DB2_LONG .

precision

Specifies the precision with which the variable should be bound to the database. This parameter can also be used for retrieving XML output values from stored procedures. A non-negative value specifies the maximum size of the XML data that will be retrieved from the database. If this parameter is not used, a default of 1MB will be assumed for retrieving the XML output value from the stored procedure.

scale

Specifies the scale with which the variable should be bound to the database.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Binding PHP variables to a prepared statement

The SQL statement in the following example uses two input parameters in the WHERE clause. We call db2_bind_param() to bind two PHP variables to the corresponding SQL parameters. Notice that the PHP variables do not have to be declared or assigned before the call to db2_bind_param(); in the example, $lower_limit is assigned a value before the call to db2_bind_param(), but $upper_limit is assigned a value after the call to db2_bind_param(). The variables must be bound and, for parameters that accept input, must have any value assigned, before calling db2_execute().

<?php

$sql = 'SELECT name, breed, weight FROM animals
    WHERE weight > ? AND weight < ?';
$conn = db2_connect($database, $user, $password);
$stmt = db2_prepare($conn, $sql);

// We can declare the variable before calling db2_bind_param()
$lower_limit = 1;

db2_bind_param($stmt, 1, "lower_limit", DB2_PARAM_IN);
db2_bind_param($stmt, 2, "upper_limit", DB2_PARAM_IN);

// We can also declare the variable after calling db2_bind_param()
$upper_limit = 15.0;

if (db2_execute($stmt)) {
    while ($row = db2_fetch_array($stmt)) {
        print "{$row[0]}, {$row[1]}, {$row[2]}\n";
    }
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Pook, cat, 3.2
Rickety Ride, goat, 9.7
Peaches, dog, 12.3

Beispiel #2 Calling stored procedures with IN and OUT parameters

The stored procedure match_animal in the following example accepts three different parameters:

  1. an input (IN) parameter that accepts the name of the first animal as input

  2. an input-output (INOUT) parameter that accepts the name of the second animal as input and returns the string TRUE if an animal in the database matches that name

  3. an output (OUT) parameter that returns the sum of the weight of the two identified animals

In addition, the stored procedure returns a result set consisting of the animals listed in alphabetic order starting at the animal corresponding to the input value of the first parameter and ending at the animal corresponding to the input value of the second parameter.

<?php

$sql = 'CALL match_animal(?, ?, ?)';
$conn = db2_connect($database, $user, $password);
$stmt = db2_prepare($conn, $sql);

$name = "Peaches";
$second_name = "Rickety Ride";
$weight = 0;

db2_bind_param($stmt, 1, "name", DB2_PARAM_IN);
db2_bind_param($stmt, 2, "second_name", DB2_PARAM_INOUT);
db2_bind_param($stmt, 3, "weight", DB2_PARAM_OUT);

print "Values of bound parameters _before_ CALL:\n";
print "  1: {$name} 2: {$second_name} 3: {$weight}\n\n";

if (db2_execute($stmt)) {
    print "Values of bound parameters _after_ CALL:\n";
    print "  1: {$name} 2: {$second_name} 3: {$weight}\n\n";

    print "Results:\n";
    while ($row = db2_fetch_array($stmt)) {
        print "  {$row[0]}, {$row[1]}, {$row[2]}\n";
    }
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Values of bound parameters _before_ CALL:
  1: Peaches 2: Rickety Ride 3: 0

Values of bound parameters _after_ CALL:
  1: Peaches 2: TRUE 3: 22

Results:
  Peaches, dog, 12.3
  Pook, cat, 3.2
  Rickety Ride, goat, 9.7

Beispiel #3 Inserting a binary large object (BLOB) directly from a file

The data for large objects are typically stored in files, such as XML documents or audio files. Rather than reading an entire file into a PHP variable, and then binding that PHP variable into an SQL statement, you can avoid some memory overhead by binding the file directly to the input parameter of your SQL statement. The following example demonstrates how to bind a file directly into a BLOB column.

<?php
$stmt = db2_prepare($conn, "INSERT INTO animal_pictures(picture) VALUES (?)");

$picture = "/opt/albums/spook/grooming.jpg";
$rc = db2_bind_param($stmt, 1, "picture", DB2_PARAM_FILE);
$rc = db2_execute($stmt);
?>

Siehe auch

  • db2_execute() - Executes a prepared SQL statement
  • db2_prepare() - Prepares an SQL statement to be executed

db2_autocommit
db2_client_info
IBM DB2 Funktionen


Returns an object with properties that describe the DB2 database client

db2_bind_param
db2_close
IBM DB2 Funktionen
PHP Manual

db2_client_info

(PECL ibm_db2 >= 1.1.1)

db2_client_info — Returns an object with properties that describe the DB2 database client

Beschreibung

object db2_client_info ( resource $connection )

This function returns an object with read-only properties that return information about the DB2 database client. The following table lists the DB2 client properties:

DB2 client properties
Property name | Return type | Description
APPL_CODEPAGE | int | The application code page.
CONN_CODEPAGE | int | The code page for the current connection.
DATA_SOURCE_NAME | string | The data source name (DSN) used to create the current connection to the database.
DRIVER_NAME | string | The name of the library that implements the DB2 Call Level Interface (CLI) specification.
DRIVER_ODBC_VER | string | The version of ODBC that the DB2 client supports. This returns a string "MM.mm" where MM is the major version and mm is the minor version. The DB2 client always returns "03.51".
DRIVER_VER | string | The version of the client, in the form of a string "MM.mm.uuuu" where MM is the major version, mm is the minor version, and uuuu is the update. For example, "08.02.0001" represents major version 8, minor version 2, update 1.
ODBC_SQL_CONFORMANCE string

The level of ODBC SQL grammar supported by the client:

MINIMUM

Supports the minimum ODBC SQL grammar.

CORE

Supports the core ODBC SQL grammar.

EXTENDED

Supports extended ODBC SQL grammar.

ODBC_VER | string | The version of ODBC that the ODBC driver manager supports. This returns a string "MM.mm.rrrr" where MM is the major version, mm is the minor version, and rrrr is the release. The DB2 client always returns "03.01.0000".

Parameter-Liste

connection

Specifies an active DB2 client connection.

Rückgabewerte

Returns an object on a successful call. Returns FALSE on failure.

Beispiele

Beispiel #1 A db2_client_info() example

To retrieve information about the client, you must pass a valid database connection resource to db2_client_info().

<?php
$conn = db2_connect( 'SAMPLE', 'db2inst1', 'ibmdb2' );
$client = db2_client_info( $conn );

if ($client) {
    echo "DRIVER_NAME: ";           var_dump( $client->DRIVER_NAME );
    echo "DRIVER_VER: ";            var_dump( $client->DRIVER_VER );
    echo "DATA_SOURCE_NAME: ";      var_dump( $client->DATA_SOURCE_NAME );
    echo "DRIVER_ODBC_VER: ";       var_dump( $client->DRIVER_ODBC_VER );
    echo "ODBC_VER: ";              var_dump( $client->ODBC_VER );
    echo "ODBC_SQL_CONFORMANCE: ";  var_dump( $client->ODBC_SQL_CONFORMANCE );
    echo "APPL_CODEPAGE: ";         var_dump( $client->APPL_CODEPAGE );
    echo "CONN_CODEPAGE: ";         var_dump( $client->CONN_CODEPAGE );
}
else {
    echo "Error retrieving client information.
     Perhaps your database connection was invalid.";
}
db2_close($conn);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

DRIVER_NAME: string(8) "libdb2.a"
DRIVER_VER: string(10) "08.02.0001"
DATA_SOURCE_NAME: string(6) "SAMPLE"
DRIVER_ODBC_VER: string(5) "03.51"
ODBC_VER: string(10) "03.01.0000"
ODBC_SQL_CONFORMANCE: string(8) "EXTENDED"
APPL_CODEPAGE: int(819)
CONN_CODEPAGE: int(819)

Siehe auch

  • db2_server_info() - Returns an object with properties that describe the DB2 database server

db2_bind_param
db2_close
IBM DB2 Funktionen


Closes a database connection

db2_client_info
db2_column_privileges
IBM DB2 Funktionen
PHP Manual

db2_close

(PECL ibm_db2 >= 1.0.0)

db2_close — Closes a database connection

Beschreibung

bool db2_close ( resource $connection )

This function closes a DB2 client connection created with db2_connect() and returns the corresponding resources to the database server.

If you attempt to close a persistent DB2 client connection created with db2_pconnect(), the close request is ignored and the persistent DB2 client connection remains available for the next caller.

Parameter-Liste

connection

Specifies an active DB2 client connection.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Closing a connection

The following example demonstrates a successful attempt to close a connection to an IBM DB2, Cloudscape, or Apache Derby database.

<?php
$conn = db2_connect('SAMPLE', 'db2inst1', 'ibmdb2');
$rc = db2_close($conn);
if ($rc) {
    echo "Connection was successfully closed.";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Connection was successfully closed.

Siehe auch

  • db2_connect() - Returns a connection to a database
  • db2_pclose() - Closes a persistent database connection
  • db2_pconnect() - Returns a persistent connection to a database

db2_client_info
db2_column_privileges
IBM DB2 Funktionen


Returns a result set listing the columns and associated privileges for a table

db2_close
db2_columns
IBM DB2 Funktionen
PHP Manual

db2_column_privileges

(PECL ibm_db2 >= 1.0.0)

db2_column_privileges — Returns a result set listing the columns and associated privileges for a table

Beschreibung

resource db2_column_privileges ( resource $connection [, string $qualifier [, string $schema [, string $table-name [, string $column-name ]]]] )

Returns a result set listing the columns and associated privileges for a table.

Parameter-Liste

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the tables. To match all schemas, pass NULL or an empty string.

table-name

The name of the table or view. To match all tables in the database, pass NULL or an empty string.

column-name

The name of the column. To match all columns in the table, pass NULL or an empty string.

Rückgabewerte

Returns a statement resource with a result set containing rows describing the column privileges for columns matching the specified parameters. The rows are composed of the following columns:

Column name | Description
TABLE_CAT | Name of the catalog. The value is NULL if this table does not have catalogs.
TABLE_SCHEM | Name of the schema.
TABLE_NAME | Name of the table or view.
COLUMN_NAME | Name of the column.
GRANTOR | Authorization ID of the user who granted the privilege.
GRANTEE | Authorization ID of the user to whom the privilege was granted.
PRIVILEGE | The privilege for the column.
IS_GRANTABLE | Whether the GRANTEE is permitted to grant this privilege to other users.

Siehe auch

  • db2_columns() - Returns a result set listing the columns and associated metadata for a table
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database

db2_close
db2_columns
IBM DB2 Funktionen


Returns a result set listing the columns and associated metadata for a table

db2_column_privileges
db2_commit
IBM DB2 Funktionen
PHP Manual

db2_columns

(PECL ibm_db2 >= 1.0.0)

db2_columns — Returns a result set listing the columns and associated metadata for a table

Beschreibung

resource db2_columns ( resource $connection [, string $qualifier [, string $schema [, string $table-name [, string $column-name ]]]] )

Returns a result set listing the columns and associated metadata for a table.

Parameter-Liste

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the tables. To match all schemas, pass '%'.

table-name

The name of the table or view. To match all tables in the database, pass NULL or an empty string.

column-name

The name of the column. To match all columns in the table, pass NULL or an empty string.

Rückgabewerte

Returns a statement resource with a result set containing rows describing the columns matching the specified parameters. The rows are composed of the following columns:

Column name | Description
TABLE_CAT | Name of the catalog. The value is NULL if this table does not have catalogs.
TABLE_SCHEM | Name of the schema.
TABLE_NAME | Name of the table or view.
COLUMN_NAME | Name of the column.
DATA_TYPE | The SQL data type for the column represented as an integer value.
TYPE_NAME | A string representing the data type for the column.
COLUMN_SIZE | An integer value representing the size of the column.
BUFFER_LENGTH | Maximum number of bytes necessary to store data from this column.
DECIMAL_DIGITS | The scale of the column, or NULL where scale is not applicable.
NUM_PREC_RADIX | An integer value of either 10 (representing an exact numeric data type), 2 (representing an approximate numeric data type), or NULL (representing a data type for which radix is not applicable).
NULLABLE | An integer value representing whether the column is nullable or not.
REMARKS | Description of the column.
COLUMN_DEF | Default value for the column.
SQL_DATA_TYPE | An integer value representing the size of the column.
SQL_DATETIME_SUB | Returns an integer value representing a datetime subtype code, or NULL for SQL data types to which this does not apply.
CHAR_OCTET_LENGTH | Maximum length in octets for a character data type column, which matches COLUMN_SIZE for single-byte character set data, or NULL for non-character data types.
ORDINAL_POSITION | The 1-indexed position of the column in the table.
IS_NULLABLE | A string value where 'YES' means that the column is nullable and 'NO' means that the column is not nullable.

Siehe auch

  • db2_column_privileges() - Returns a result set listing the columns and associated privileges for a table
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database

db2_column_privileges
db2_commit
IBM DB2 Funktionen


Commits a transaction

db2_columns
db2_conn_error
IBM DB2 Funktionen
PHP Manual

db2_commit

(PECL ibm_db2 >= 1.0.0)

db2_commit — Commits a transaction

Beschreibung

bool db2_commit ( resource $connection )

Commits an in-progress transaction on the specified connection resource and begins a new transaction. PHP applications normally default to AUTOCOMMIT mode, so db2_commit() is not necessary unless AUTOCOMMIT has been turned off for the connection resource.

Parameter-Liste

connection

A valid database connection resource variable as returned from db2_connect() or db2_pconnect().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • db2_autocommit() - Returns or sets the AUTOCOMMIT state for a database connection
  • db2_rollback() - Rolls back a transaction

db2_columns
db2_conn_error
IBM DB2 Funktionen


Returns a string containing the SQLSTATE returned by the last connection attempt

db2_commit
db2_conn_errormsg
IBM DB2 Funktionen
PHP Manual

db2_conn_error

(PECL ibm_db2 >= 1.0.0)

db2_conn_error — Returns a string containing the SQLSTATE returned by the last connection attempt

Beschreibung

string db2_conn_error ([ resource $connection ] )

db2_conn_error() returns an SQLSTATE value representing the reason the last attempt to connect to a database failed. As db2_connect() returns FALSE in the event of a failed connection attempt, you do not pass any parameters to db2_conn_error() to retrieve the SQLSTATE value.

If, however, the connection was successful but becomes invalid over time, you can pass the connection parameter to retrieve the SQLSTATE value for a specific connection.

To learn what the SQLSTATE value means, you can issue the following command at a DB2 Command Line Processor prompt: db2 '? sqlstate-value'. You can also call db2_conn_errormsg() to retrieve an explicit error message and the associated SQLCODE value.

Parameter-Liste

connection

A connection resource associated with a connection that initially succeeded, but which over time became invalid.

Rückgabewerte

Returns the SQLSTATE value resulting from a failed connection attempt. Returns an empty string if there is no error associated with the last connection attempt.

Beispiele

Beispiel #1 Retrieving an SQLSTATE value for a failed connection attempt

The following example demonstrates how to return an SQLSTATE value after deliberately passing invalid parameters to db2_connect().

<?php
$conn = db2_connect('badname', 'baduser', 'badpassword');
if (!$conn) {
    print "SQLSTATE value: " . db2_conn_error();
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

SQLSTATE value: 08001

Siehe auch

  • db2_conn_errormsg() - Returns the last connection error message and SQLCODE value
  • db2_connect() - Returns a connection to a database
  • db2_stmt_error() - Returns a string containing the SQLSTATE returned by an SQL statement
  • db2_stmt_errormsg() - Returns a string containing the last SQL statement error message

db2_commit
db2_conn_errormsg
IBM DB2 Funktionen


Returns the last connection error message and SQLCODE value

db2_conn_error
db2_connect
IBM DB2 Funktionen
PHP Manual

db2_conn_errormsg

(PECL ibm_db2 >= 1.0.0)

db2_conn_errormsg — Returns the last connection error message and SQLCODE value

Beschreibung

string db2_conn_errormsg ([ resource $connection ] )

db2_conn_errormsg() returns an error message and SQLCODE value representing the reason the last database connection attempt failed. As db2_connect() returns FALSE in the event of a failed connection attempt, do not pass any parameters to db2_conn_errormsg() to retrieve the associated error message and SQLCODE value.

If, however, the connection was successful but becomes invalid over time, you can pass the connection parameter to retrieve the associated error message and SQLCODE value for a specific connection.

Parameter-Liste

connection

A connection resource associated with a connection that initially succeeded, but which over time became invalid.

Rückgabewerte

Returns a string containing the error message and SQLCODE value resulting from a failed connection attempt. If there is no error associated with the last connection attempt, db2_conn_errormsg() returns an empty string.

Beispiele

Beispiel #1 Retrieving the error message returned by a failed connection attempt

The following example demonstrates how to return an error message and SQLCODE value after deliberately passing invalid parameters to db2_connect().

<?php
$conn = db2_connect('badname', 'baduser', 'badpassword');
if (!$conn) {
    print db2_conn_errormsg();
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

[IBM][CLI Driver] SQL1013N  The database alias name
or database name "BADNAME" could not be found.  SQLSTATE=42705
 SQLCODE=-1013

Siehe auch

  • db2_conn_error() - Returns a string containing the SQLSTATE returned by the last connection attempt
  • db2_connect() - Returns a connection to a database
  • db2_stmt_error() - Returns a string containing the SQLSTATE returned by an SQL statement
  • db2_stmt_errormsg() - Returns a string containing the last SQL statement error message

db2_conn_error
db2_connect
IBM DB2 Funktionen


Returns a connection to a database

db2_conn_errormsg
db2_cursor_type
IBM DB2 Funktionen
PHP Manual

db2_connect

(PECL ibm_db2 >= 1.0.0)

db2_connect — Returns a connection to a database

Beschreibung

resource db2_connect ( string $database , string $username , string $password [, array $options ] )

Creates a new connection to an IBM DB2 Universal Database, IBM Cloudscape, or Apache Derby database.

Parameter-Liste

database

For a cataloged connection to a database, database represents the database alias in the DB2 client catalog.

For an uncataloged connection to a database, database represents a complete connection string in the following format:

DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password;
where the parameters represent the following values:
database

The name of the database.

hostname

The hostname or IP address of the database server.

port

The TCP/IP port on which the database is listening for requests.

username

The username with which you are connecting to the database.

password

The password with which you are connecting to the database.

username

The username with which you are connecting to the database.

For uncataloged connections, you must pass a NULL value or empty string.

password

The password with which you are connecting to the database.

For uncataloged connections, you must pass a NULL value or empty string.

options

An associative array of connection options that affect the behavior of the connection, where valid array keys include:

autocommit

Passing the DB2_AUTOCOMMIT_ON value turns autocommit on for this connection handle.

Passing the DB2_AUTOCOMMIT_OFF value turns autocommit off for this connection handle.

DB2_ATTR_CASE

Passing the DB2_CASE_NATURAL value specifies that column names are returned in natural case.

Passing the DB2_CASE_LOWER value specifies that column names are returned in lower case.

Passing the DB2_CASE_UPPER value specifies that column names are returned in upper case.

CURSOR

Passing the DB2_FORWARD_ONLY value specifies a forward-only cursor for a statement resource. This is the default cursor type and is supported on all database servers.

Passing the DB2_SCROLLABLE value specifies a scrollable cursor for a statement resource. This mode enables random access to rows in a result set, but currently is supported only by IBM DB2 Universal Database.

The following new option is available in ibm_db2 version 1.7.0 and later.

trustedcontext

Passing the DB2_TRUSTED_CONTEXT_ENABLE value turns trusted context on for this connection handle. This parameter cannot be set using db2_set_option().

This key works only if the database is cataloged (even if the database is local), or if you specify the full DSN when you create the connection.

To catalog the database, use following commands:

db2 catalog tcpip node loopback remote <SERVERNAME> server <SERVICENAME>
db2 catalog database <LOCALDBNAME> as <REMOTEDBNAME> at node loopback
db2 "update dbm cfg using svcename <SERVICENAME>"
db2set DB2COMM=TCPIP

The following new i5/OS options are available in ibm_db2 version 1.5.1 and later.

i5_lib

A character value that indicates the default library that will be used for resolving unqualified file references. This is not valid if the connection is using system naming mode.

i5_naming

DB2_I5_NAMING_ON value turns on DB2 UDB CLI iSeries system naming mode. Files are qualified using the slash (/) delimiter. Unqualified files are resolved using the library list for the job.

DB2_I5_NAMING_OFF value turns off DB2 UDB CLI default naming mode, which is SQL naming. Files are qualified using the period (.) delimiter. Unqualified files are resolved using either the default library or the current user ID.

i5_commit

The i5_commit attribute should be set before the db2_connect(). If the value is changed after the connection has been established, and the connection is to a remote data source, the change does not take effect until the next successful db2_connect() for the connection handle.

Hinweis:

The php.ini setting ibm_db2.i5_allow_commit==0 or DB2_I5_TXN_NO_COMMIT is the default, but may be overridden with the i5_commit option.

DB2_I5_TXN_NO_COMMIT - Commitment control is not used.

DB2_I5_TXN_READ_UNCOMMITTED - Dirty reads, nonrepeatable reads, and phantoms are possible.

DB2_I5_TXN_READ_COMMITTED - Dirty reads are not possible. Nonrepeatable reads, and phantoms are possible.

DB2_I5_TXN_REPEATABLE_READ - Dirty reads and nonrepeatable reads are not possible. Phantoms are possible.

DB2_I5_TXN_SERIALIZABLE - Transactions are serializable. Dirty reads, non-repeatable reads, and phantoms are not possible

i5_query_optimize

DB2_FIRST_IO All queries are optimized with the goal of returning the first page of output as fast as possible. This goal works well when the output is controlled by a user who is most likely to cancel the query after viewing the first page of output data. Queries coded with an OPTIMIZE FOR nnn ROWS clause honor the goal specified by the clause.

DB2_ALL_IO All queries are optimized with the goal of running the entire query to completion in the shortest amount of elapsed time. This is a good option when the output of a query is being written to a file or report, or the interface is queuing the output data. Queries coded with an OPTIMIZE FOR nnn ROWS clause honor the goal specified by the clause. This is the default.

i5_dbcs_alloc

DB2_I5_DBCS_ALLOC_ON value turns on DB2 6X allocation scheme for DBCS translation column size growth.

DB2_I5_DBCS_ALLOC_OFF value turns off DB2 6X allocation scheme for DBCS translation column size growth.

Note: php.ini setting ibm_db2.i5_dbcs_alloc==0 or DB2_I5_DBCS_ALLOC_OFF is the default, but may be overridden with the i5_dbcs_alloc option.

i5_date_fmt

DB2_I5_FMT_ISO - The International Organization for Standardization (ISO) date format yyyy-mm-dd is used. This is the default.

DB2_I5_FMT_USA - The United States date format mm/dd/yyyy is used.

DB2_I5_FMT_EUR - The European date format dd.mm.yyyy is used.

DB2_I5_FMT_JIS - The Japanese Industrial Standard date format yyyy-mm-dd is used.

DB2_I5_FMT_MDY - The date format mm/dd/yyyy is used.

DB2_I5_FMT_DMY - The date format dd/mm/yyyy is used.

DB2_I5_FMT_YMD - The date format yy/mm/dd is used.

DB2_I5_FMT_JUL - The Julian date format yy/ddd is used.

DB2_I5_FMT_JOB - The job default is used.

i5_date_sep

DB2_I5_SEP_SLASH - A slash ( / ) is used as the date separator. This is the default.

DB2_I5_SEP_DASH - A dash ( - ) is used as the date separator.

DB2_I5_SEP_PERIOD - A period ( . ) is used as the date separator.

DB2_I5_SEP_COMMA - A comma ( , ) is used as the date separator.

DB2_I5_SEP_BLANK - A blank is used as the date separator.

DB2_I5_SEP_JOB - The job default is used

i5_time_fmt

DB2_I5_FMT_ISO - The International Organization for Standardization (ISO) time format hh.mm.ss is used. This is the default.

DB2_I5_FMT_USA - The United States time format hh:mmxx is used, where xx is AM or PM.

DB2_I5_FMT_EUR - The European time format hh.mm.ss is used.

DB2_I5_FMT_JIS - The Japanese Industrial Standard time format hh:mm:ss is used.

DB2_I5_FMT_HMS - The hh:mm:ss format is used.

i5_time_sep

DB2_I5_SEP_COLON - A colon ( : ) is used as the time separator. This is the default.

DB2_I5_SEP_PERIOD - A period ( . ) is used as the time separator.

DB2_I5_SEP_COMMA - A comma ( , ) is used as the time separator.

DB2_I5_SEP_BLANK - A blank is used as the time separator.

DB2_I5_SEP_JOB - The job default is used.

i5_decimal_sep

DB2_I5_SEP_PERIOD - A period ( . ) is used as the decimal separator. This is the default.

DB2_I5_SEP_COMMA - A comma ( , ) is used as the decimal separator.

DB2_I5_SEP_JOB - The job default is used.

The following new i5/OS option is available in ibm_db2 version 1.8.0 and later.

i5_libl

A character value that indicates the library list that will be used for resolving unqualified file references. Specify the library list elements separated by blanks 'i5_libl'=>"MYLIB YOURLIB ANYLIB".

Hinweis:

i5_libl calls qsys2/qcmdexc('cmd',cmdlen), which is only available in i5/OS V5R4 and later.

Rückgabewerte

Returns a connection handle resource if the connection attempt is successful. If the connection attempt fails, db2_connect() returns FALSE.

Beispiele

Beispiel #1 Creating a cataloged connection

Cataloged connections require you to have previously cataloged the target database through the DB2 Command Line Processor (CLP) or DB2 Configuration Assistant.

<?php
$database = 'SAMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';

$conn = db2_connect($database, $user, $password);

if ($conn) {
    echo "Connection succeeded.";
    db2_close($conn);
}
else {
    echo "Connection failed.";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Connection succeeded.

Beispiel #2 Creating an uncataloged connection

An uncataloged connection enables you to dynamically connect to a database.

<?php
$database = 'SAMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';
$hostname = 'localhost';
$port = 50000;

$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;" .
  "HOSTNAME=$hostname;PORT=$port;PROTOCOL=TCPIP;UID=$user;PWD=$password;";
$conn = db2_connect($conn_string, '', '');

if ($conn) {
    echo "Connection succeeded.";
    db2_close($conn);
}
else {
    echo "Connection failed.";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Connection succeeded.

Beispiel #3 Creating a connection with autocommit off by default

Passing an array of options to db2_connect() enables you to modify the default behavior of the connection handle.

<?php
$database = 'SAMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF);

$conn = db2_connect($database, $user, $password, $options);

if ($conn) {
    echo "Connection succeeded.\n";
    if (db2_autocommit($conn)) {
         echo "Autocommit is on.\n";
    }
    else {
         echo "Autocommit is off.\n";
    }
    db2_close($conn);
}
else {
    echo "Connection failed.";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Connection succeeded.
Autocommit is off.

Beispiel #4 i5/OS best performance

To achieve best performance for your i5/OS ibm_db2 1.5.1 PHP application use the default host, userid, and password for your db2_connect().

<?php
  $library = "ADC";
  $i5 = db2_connect("", "", "", array("i5_lib"=>"qsys2"));
  $result = db2_exec($i5,
       "select * from systables where table_schema = '$library'");
  while ($row = db2_fetch_both($result)) {
     echo $row['TABLE_NAME']."</br>";
  }
  db2_close($i5);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

ANIMALS
NAMES
PICTURES

Beispiel #5 Using trusted context

The following example shows how to enable trusted context, switch users, and get the current user ID.

<?php

$database = "SAMPLE";
$hostname = "localhost";
$port = 50000;
$authID = "db2inst1";
$auth_pass = "ibmdb2";

$tc_user = "tcuser";
$tc_pass = "tcpassword";

$dsn = "DATABASE=$database;HOSTNAME=$hostname;PORT=$port;
  PROTOCOL=TCPIP;UID=$authID;PWD=$auth_pass;";
$options = array ("trustedcontext" => DB2_TRUSTED_CONTEXT_ENABLE);

$tc_conn = db2_connect($dsn, "", "", $options);
if($tc_conn) {
    echo "Explicit trusted connection succeeded.\n";

    if(db2_get_option($tc_conn, "trustedcontext")) {
        $userBefore = db2_get_option($tc_conn, "trusted_user");

        //Do some work as user 1.

        //Switching to trusted user.
        $parameters = array("trusted_user" => $tc_user,
          "trusted_password" => $tcuser_pass);
        $res = db2_set_option ($tc_conn, $parameters, 1);

        $userAfter = db2_get_option($tc_conn, "trusted_user");
        //Do more work as trusted user.

        if($userBefore != $userAfter) {
            echo "User has been switched." . "\n";
        }
    }

    db2_close($tc_conn);
}
else {
    echo "Explicit trusted connection failed.\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Explicit trusted connection succeeded.
User has been switched.

Siehe auch

  • db2_close() - Closes a database connection
  • db2_pconnect() - Returns a persistent connection to a database

db2_conn_errormsg
db2_cursor_type
IBM DB2 Funktionen


Returns the cursor type used by a statement resource

db2_connect
db2_escape_string
IBM DB2 Funktionen
PHP Manual

db2_cursor_type

(PECL ibm_db2 >= 1.0.0)

db2_cursor_type — Returns the cursor type used by a statement resource

Beschreibung

int db2_cursor_type ( resource $stmt )

Returns the cursor type used by a statement resource. Use this to determine if you are working with a forward-only cursor or scrollable cursor.

Parameter-Liste

stmt

A valid statement resource.

Rückgabewerte

Returns either DB2_FORWARD_ONLY if the statement resource uses a forward-only cursor or DB2_SCROLLABLE if the statement resource uses a scrollable cursor.

Siehe auch

  • db2_prepare() - Prepares an SQL statement to be executed

db2_connect
db2_escape_string
IBM DB2 Funktionen


Used to escape certain characters

db2_cursor_type
db2_exec
IBM DB2 Funktionen
PHP Manual

db2_escape_string

(PECL ibm_db2 >= 1.6.0)

db2_escape_string — Used to escape certain characters

Beschreibung

string db2_escape_string ( string $string_literal )

Prepends backslashes to special characters in the string argument.

Parameter-Liste

string_literal

The string that contains special characters that need to be modified. Characters that are prepended with a backslash are \x00, \n, \r, \, ', " and \x1a.

Rückgabewerte

Returns string_literal with the special characters noted above prepended with backslashes.

Beispiele

Beispiel #1 A db2_escape_string() example

Result of using the db2_escape_string() function

<?php

$conn = db2_connect($database, $user, $password);

if ($conn) {
    $str[0] = "All characters: \x00 , \n , \r , \ , ' , \" , \x1a .";
    $str[1] = "Backslash (\). Single quote ('). Double quote (\")";
    $str[2] = "The NULL character \0 must be quoted as well";
    $str[3] = "Intersting characters: \x1a , \x00 .";
    $str[4] = "Nothing to quote";
    $str[5] = 200676;
    $str[6] = "";

    foreach( $str as $string ) {
        echo "db2_escape_string: " . db2_escape_string($string). "\n";
    }
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

db2_escape_string: All characters: \0 , \n , \r , \\ , \' , \" , \Z .
db2_escape_string: Backslash (\\). Single quote (\'). Double quote (\")
db2_escape_string: The NULL character \0 must be quoted as well
db2_escape_string: Intersting characters: \Z , \0 .
db2_escape_string: Nothing to quote
db2_escape_string: 200676
db2_escape_string:

Siehe auch

  • db2_prepare() - Prepares an SQL statement to be executed

db2_cursor_type
db2_exec
IBM DB2 Funktionen


Executes an SQL statement directly

db2_escape_string
db2_execute
IBM DB2 Funktionen
PHP Manual

db2_exec

(PECL ibm_db2 >= 1.0.0)

db2_exec — Executes an SQL statement directly

Beschreibung

resource db2_exec ( resource $connection , string $statement [, array $options ] )

Executes an SQL statement directly.

If you plan to interpolate PHP variables into the SQL statement, understand that this is one of the more common security exposures. Consider calling db2_prepare() to prepare an SQL statement with parameter markers for input values. Then you can call db2_execute() to pass in the input values and avoid SQL injection attacks.

If you plan to repeatedly issue the same SQL statement with different parameters, consider calling db2_prepare() and db2_execute() to enable the database server to reuse its access plan and increase the efficiency of your database access.

Parameter-Liste

connection

A valid database connection resource variable as returned from db2_connect() or db2_pconnect().

statement

An SQL statement. The statement cannot contain any parameter markers.

options

An associative array containing statement options. You can use this parameter to request a scrollable cursor on database servers that support this functionality.

For a description of valid statement options, see db2_set_option().

Rückgabewerte

Returns a statement resource if the SQL statement was issued successfully, or FALSE if the database failed to execute the SQL statement.

Beispiele

Beispiel #1 Creating a table with db2_exec()

The following example uses db2_exec() to issue a set of DDL statements in the process of creating a table.

<?php
$conn = db2_connect($database, $user, $password);

// Create the test table
$create = 'CREATE TABLE animals (id INTEGER, breed VARCHAR(32),
    name CHAR(16), weight DECIMAL(7,2))';
$result = db2_exec($conn, $create);
if ($result) {
    print "Successfully created the table.\n";
}

// Populate the test table
$animals = array(
    array(0, 'cat', 'Pook', 3.2),
    array(1, 'dog', 'Peaches', 12.3),
    array(2, 'horse', 'Smarty', 350.0),
    array(3, 'gold fish', 'Bubbles', 0.1),
    array(4, 'budgerigar', 'Gizmo', 0.2),
    array(5, 'goat', 'Rickety Ride', 9.7),
    array(6, 'llama', 'Sweater', 150)
);

foreach ($animals as $animal) {
    $rc = db2_exec($conn, "INSERT INTO animals (id, breed, name, weight)
      VALUES ({$animal[0]}, '{$animal[1]}', '{$animal[2]}', {$animal[3]})");
    if ($rc) {
        print "Insert... ";
    }
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Successfully created the table.
Insert... Insert... Insert... Insert... Insert... Insert... Insert...

Beispiel #2 Executing a SELECT statement with a scrollable cursor

The following example demonstrates how to request a scrollable cursor for an SQL statement issued by db2_exec().

<?php
$conn = db2_connect($database, $user, $password);
$sql = "SELECT name FROM animals
    WHERE weight < 10.0
    ORDER BY name";
if ($conn) {
    require_once('prepare.inc');
    $stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE));
    while ($row = db2_fetch_array($stmt)) {
        print "$row[0]\n";
    }
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Bubbles
Gizmo
Pook
Rickety Ride

Beispiel #3 Returning XML data as an SQL ResultSet

The following example demonstrates how to work with documents stored in a XML column using the SAMPLE database. Using some pretty simple SQL/XML, this example returns some of the nodes in a XML document in an SQL ResultSet format that most users are familiar with.

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = 'SELECT * FROM XMLTABLE(
    XMLNAMESPACES (DEFAULT \'http://posample.org\'),
    \'db2-fn:xmlcolumn("CUSTOMER.INFO")/customerinfo\'
    COLUMNS
    "CID" VARCHAR (50) PATH \'@Cid\',
    "NAME" VARCHAR (50) PATH \'name\',
    "PHONE" VARCHAR (50) PATH \'phone [ @type = "work"]\'
    ) AS T
    WHERE NAME = \'Kathy Smith\'
    ';
$stmt = db2_exec($conn, $query);

while($row = db2_fetch_object($stmt)){
    printf("$row->CID     $row->NAME     $row->PHONE\n");
}
db2_close($conn);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1000     Kathy Smith     416-555-1358
1001     Kathy Smith     905-555-7258

Beispiel #4 Performing a "JOIN" with XML data

The following example works with documents stored in 2 different XML columns in the SAMPLE database. It creates 2 temporary tables from the XML documents from 2 different columns and returns an SQL ResultSet with information regarding shipping status for the customer.

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = '
    SELECT A.CID, A.NAME, A.PHONE, C.PONUM, C.STATUS
    FROM
    XMLTABLE(
    XMLNAMESPACES (DEFAULT \'http://posample.org\'),
    \'db2-fn:xmlcolumn("CUSTOMER.INFO")/customerinfo\'
    COLUMNS
    "CID" BIGINT PATH \'@Cid\',
    "NAME" VARCHAR (50) PATH \'name\',
    "PHONE" VARCHAR (50) PATH \'phone [ @type = "work"]\'
    ) as A,
    PURCHASEORDER AS B,
    XMLTABLE (
    XMLNAMESPACES (DEFAULT \'http://posample.org\'),
    \'db2-fn:xmlcolumn("PURCHASEORDER.PORDER")/PurchaseOrder\'
    COLUMNS
    "PONUM"  BIGINT PATH \'@PoNum\',
    "STATUS" VARCHAR (50) PATH \'@Status\'
    ) as C
    WHERE A.CID = B.CUSTID AND
    B.POID = C.PONUM AND
    A.NAME = \'Kathy Smith\'
';

$stmt = db2_exec($conn, $query);

while($row = db2_fetch_object($stmt)){
    printf("$row->CID     $row->NAME     $row->PHONE     $row->PONUM     $row->STATUS\n");
}

db2_close($conn);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1001     Kathy Smith     905-555-7258     5002     Shipped

Beispiel #5 Returning SQL data as part of a larger XML document

The following example works with a portion of the PRODUCT.DESCRIPTION documents in the SAMPLE database. It creates a XML document containing product description (XML data) and pricing info (SQL data).

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = '
SELECT
XMLSERIALIZE(
XMLQUERY(\'
    declare boundary-space strip;
    declare default element namespace "http://posample.org";
    <promoList> {
    for $prod in $doc/product
    where $prod/description/price < 10.00
    order by $prod/description/price ascending
    return(
        <promoitem> {
        $prod,
        <startdate> {$start} </startdate>,
        <enddate> {$end} </enddate>,
        <promoprice> {$promo} </promoprice>
        } </promoitem>
    )
    } </promoList>
\' passing by ref DESCRIPTION AS "doc",
PROMOSTART as "start",
PROMOEND as "end",
PROMOPRICE as "promo"
RETURNING SEQUENCE)
AS CLOB (32000))
AS NEW_PRODUCT_INFO
FROM PRODUCT
WHERE PID = \'100-100-01\'
';

$stmt = db2_exec($conn, $query);

while($row = db2_fetch_array($stmt)){
    printf("$row[0]\n");
}
db2_close($conn);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<promoList xmlns="http://posample.org">
    <promoitem>
    <product pid="100-100-01">
        <description>
            <name>Snow Shovel, Basic 22 inch</name>
            <details>Basic Snow Shovel, 22 inches wide, straight handle with D-Grip</details>
            <price>9.99</price>
            <weight>1 kg</weight>
        </description>
    </product>
    <startdate>2004-11-19</startdate>
    <enddate>2004-12-19</enddate>
    <promoprice>7.25</promoprice>
    </promoitem>
</promoList>

Siehe auch

  • db2_execute() - Executes a prepared SQL statement
  • db2_prepare() - Prepares an SQL statement to be executed

db2_escape_string
db2_execute
IBM DB2 Funktionen


Executes a prepared SQL statement

db2_exec
db2_fetch_array
IBM DB2 Funktionen
PHP Manual

db2_execute

(PECL ibm_db2 >= 1.0.0)

db2_execute — Executes a prepared SQL statement

Beschreibung

bool db2_execute ( resource $stmt [, array $parameters ] )

db2_execute() executes an SQL statement that was prepared by db2_prepare().

If the SQL statement returns a result set, for example, a SELECT statement or a CALL to a stored procedure that returns one or more result sets, you can retrieve a row as an array from the stmt resource using db2_fetch_assoc(), db2_fetch_both(), or db2_fetch_array(). Alternatively, you can use db2_fetch_row() to move the result set pointer to the next row and fetch a column at a time from that row with db2_result().

Refer to db2_prepare() for a brief discussion of the advantages of using db2_prepare() and db2_execute() rather than db2_exec().

Parameter-Liste

stmt

A prepared statement returned from db2_prepare().

parameters

An array of input parameters matching any parameter markers contained in the prepared statement.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Preparing and executing an SQL statement with parameter markers

The following example prepares an INSERT statement that accepts four parameter markers, then iterates over an array of arrays containing the input values to be passed to db2_execute().

<?php
$pet = array(0, 'cat', 'Pook', 3.2);

$insert = 'INSERT INTO animals (id, breed, name, weight)
    VALUES (?, ?, ?, ?)';

$stmt = db2_prepare($conn, $insert);
if ($stmt) {
    $result = db2_execute($stmt, $pet);
    if ($result) {
        print "Successfully added new pet.";
    }
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Successfully added new pet.

Beispiel #2 Calling a stored procedure with an OUT parameter

The following example prepares a CALL statement that accepts one parameter marker representing an OUT parameter, binds the PHP variable $my_pets to the parameter using db2_bind_param(), then issues db2_execute() to execute the CALL statement. After the CALL to the stored procedure has been made, the value of $num_pets changes to reflect the value returned by the stored procedure for that OUT parameter.

<?php
$num_pets = 0;
$res = db2_prepare($conn, "CALL count_my_pets(?)");
$rc = db2_bind_param($res, 1, "num_pets", DB2_PARAM_OUT);
$rc = db2_execute($res);
print "I have $num_pets pets!";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

I have 7 pets!

Beispiel #3 Returning XML data as an SQL ResultSet

The following example demonstrates how to work with documents stored in a XML column using the SAMPLE database. Using some pretty simple SQL/XML, this example returns some of the nodes in a XML document in an SQL ResultSet format that most users are familiar with.

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = 'SELECT * FROM XMLTABLE(
    XMLNAMESPACES (DEFAULT \'http://posample.org\'),
    \'db2-fn:xmlcolumn("CUSTOMER.INFO")/customerinfo\'
    COLUMNS
    "CID" VARCHAR (50) PATH \'@Cid\',
    "NAME" VARCHAR (50) PATH \'name\',
    "PHONE" VARCHAR (50) PATH \'phone [ @type = "work"]\'
    ) AS T
    WHERE NAME = ?
    ';

$stmt = db2_prepare($conn, $query);

$name = 'Kathy Smith';

if ($stmt) {
    db2_bind_param($stmt, 1, "name", DB2_PARAM_IN);
    db2_execute($stmt);

    while($row = db2_fetch_object($stmt)){
    printf("$row->CID     $row->NAME     $row->PHONE\n");
    }
}
db2_close($conn);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1000     Kathy Smith     416-555-1358
1001     Kathy Smith     905-555-7258

Beispiel #4 Performing a "JOIN" with XML data

The following example works with documents stored in 2 different XML columns in the SAMPLE database. It creates 2 temporary tables from the XML documents from 2 different columns and returns an SQL ResultSet with information regarding shipping status for the customer.

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = '
SELECT A.CID, A.NAME, A.PHONE, C.PONUM, C.STATUS
FROM
XMLTABLE(
XMLNAMESPACES (DEFAULT \'http://posample.org\'),
\'db2-fn:xmlcolumn("CUSTOMER.INFO")/customerinfo\'
COLUMNS
"CID" BIGINT PATH \'@Cid\',
"NAME" VARCHAR (50) PATH \'name\',
"PHONE" VARCHAR (50) PATH \'phone [ @type = "work"]\'
) as A,
PURCHASEORDER AS B,
XMLTABLE (
XMLNAMESPACES (DEFAULT \'http://posample.org\'),
\'db2-fn:xmlcolumn("PURCHASEORDER.PORDER")/PurchaseOrder\'
COLUMNS
"PONUM"  BIGINT PATH \'@PoNum\',
"STATUS" VARCHAR (50) PATH \'@Status\'
) as C
WHERE A.CID = B.CUSTID AND
    B.POID = C.PONUM AND
    A.NAME = ?
';

$stmt = db2_prepare($conn, $query);

$name = 'Kathy Smith';

if ($stmt) {
    db2_bind_param($stmt, 1, "name", DB2_PARAM_IN);
    db2_execute($stmt);

    while($row = db2_fetch_object($stmt)){
    printf("$row->CID     $row->NAME     $row->PHONE     $row->PONUM     $row->STATUS\n");
    }
}

db2_close($conn);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1001     Kathy Smith     905-555-7258     5002     Shipped

Beispiel #5 Returning SQL data as part of a larger XML document

The following example works with a portion of the PRODUCT.DESCRIPTION documents in the SAMPLE database. It creates a XML document containing product description (XML data) and pricing info (SQL data).

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = '
SELECT
XMLSERIALIZE(
XMLQUERY(\'
    declare boundary-space strip;
    declare default element namespace "http://posample.org";
    <promoList> {
    for $prod in $doc/product
    where $prod/description/price < 10.00
    order by $prod/description/price ascending
    return(
        <promoitem> {
        $prod,
        <startdate> {$start} </startdate>,
        <enddate> {$end} </enddate>,
        <promoprice> {$promo} </promoprice>
            } </promoitem>
    )
    } </promoList>
\' passing by ref DESCRIPTION AS "doc",
PROMOSTART as "start",
PROMOEND as "end",
PROMOPRICE as "promo"
RETURNING SEQUENCE)
AS CLOB (32000))
AS NEW_PRODUCT_INFO
FROM PRODUCT
WHERE PID = ?
';

$stmt = db2_prepare($conn, $query);

$pid = "100-100-01";

if ($stmt) {
    db2_bind_param($stmt, 1, "pid", DB2_PARAM_IN);
    db2_execute($stmt);

    while($row = db2_fetch_array($stmt)){
    printf("$row[0]\n");
    }
}

db2_close($conn);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<promoList xmlns="http://posample.org">
    <promoitem>
    <product pid="100-100-01">
        <description>
            <name>Snow Shovel, Basic 22 inch</name>
            <details>Basic Snow Shovel, 22 inches wide, straight handle with D-Grip</details>
            <price>9.99</price>
            <weight>1 kg</weight>
        </description>
    </product>
    <startdate>2004-11-19</startdate>
    <enddate>2004-12-19</enddate>
    <promoprice>7.25</promoprice>
    </promoitem>
</promoList>

Siehe auch

  • db2_exec() - Executes an SQL statement directly
  • db2_fetch_array() - Returns an array, indexed by column position, representing a row in a result set
  • db2_fetch_assoc() - Returns an array, indexed by column name, representing a row in a result set
  • db2_fetch_both() - Returns an array, indexed by both column name and position, representing a row in a result set
  • db2_fetch_row() - Sets the result set pointer to the next row or requested row
  • db2_prepare() - Prepares an SQL statement to be executed
  • db2_result() - Returns a single column from a row in the result set

db2_exec
db2_fetch_array
IBM DB2 Funktionen


Returns an array, indexed by column position, representing a row in a result set

db2_execute
db2_fetch_assoc
IBM DB2 Funktionen
PHP Manual

db2_fetch_array

(PECL ibm_db2 >= 1.0.1)

db2_fetch_array — Returns an array, indexed by column position, representing a row in a result set

Beschreibung

array db2_fetch_array ( resource $stmt [, int $row_number = -1 ] )

Returns an array, indexed by column position, representing a row in a result set. The columns are 0-indexed.

Parameter-Liste

stmt

A valid stmt resource containing a result set.

row_number

Requests a specific 1-indexed row from the result set. Passing this parameter results in a PHP warning if the result set uses a forward-only cursor.

Rückgabewerte

Returns a 0-indexed array with column values indexed by the column position representing the next or requested row in the result set. Returns FALSE if there are no rows left in the result set, or if the row requested by row_number does not exist in the result set.

Beispiele

Beispiel #1 Iterating through a forward-only cursor

If you call db2_fetch_array() without a specific row number, it automatically retrieves the next row in the result set.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$stmt = db2_prepare($conn, $sql);
$result = db2_execute($stmt);

while ($row = db2_fetch_array($stmt)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row[0], $row[1], $row[2], $row[3]);
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

Beispiel #2 Retrieving specific rows with db2_fetch_array() from a scrollable cursor

If your result set uses a scrollable cursor, you can call db2_fetch_array() with a specific row number. The following example retrieves every other row in the result set, starting with the second row.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$result = db2_exec($stmt, $sql, array('cursor' => DB2_SCROLLABLE));

$i=2;
while ($row = db2_fetch_array($result, $i)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row[0], $row[1], $row[2], $row[3]);
    $i = $i + 2;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

Siehe auch

  • db2_fetch_assoc() - Returns an array, indexed by column name, representing a row in a result set
  • db2_fetch_both() - Returns an array, indexed by both column name and position, representing a row in a result set
  • db2_fetch_object() - Returns an object with properties representing columns in the fetched row
  • db2_fetch_row() - Sets the result set pointer to the next row or requested row
  • db2_result() - Returns a single column from a row in the result set

db2_execute
db2_fetch_assoc
IBM DB2 Funktionen


Returns an array, indexed by column name, representing a row in a result set

db2_fetch_array
db2_fetch_both
IBM DB2 Funktionen
PHP Manual

db2_fetch_assoc

(PECL ibm_db2 >= 1.0.0)

db2_fetch_assoc — Returns an array, indexed by column name, representing a row in a result set

Beschreibung

array db2_fetch_assoc ( resource $stmt [, int $row_number = -1 ] )

Returns an array, indexed by column name, representing a row in a result set.

Parameter-Liste

stmt

A valid stmt resource containing a result set.

row_number

Requests a specific 1-indexed row from the result set. Passing this parameter results in a PHP warning if the result set uses a forward-only cursor.

Rückgabewerte

Returns an associative array with column values indexed by the column name representing the next or requested row in the result set. Returns FALSE if there are no rows left in the result set, or if the row requested by row_number does not exist in the result set.

Beispiele

Beispiel #1 Iterating through a forward-only cursor

If you call db2_fetch_assoc() without a specific row number, it automatically retrieves the next row in the result set.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$stmt = db2_prepare($conn, $sql);
$result = db2_execute($stmt);

while ($row = db2_fetch_assoc($stmt)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row['ID'], $row['NAME'], $row['BREED'], $row['WEIGHT']);
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

Beispiel #2 Retrieving specific rows with db2_fetch_assoc() from a scrollable cursor

If your result set uses a scrollable cursor, you can call db2_fetch_assoc() with a specific row number. The following example retrieves every other row in the result set, starting with the second row.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$result = db2_exec($stmt, $sql, array('cursor' => DB2_SCROLLABLE));

$i=2;
while ($row = db2_fetch_assoc($result, $i)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row['ID'], $row['NAME'], $row['BREED'], $row['WEIGHT']);
    $i = $i + 2;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

Siehe auch

  • db2_fetch_array() - Returns an array, indexed by column position, representing a row in a result set
  • db2_fetch_both() - Returns an array, indexed by both column name and position, representing a row in a result set
  • db2_fetch_object() - Returns an object with properties representing columns in the fetched row
  • db2_fetch_row() - Sets the result set pointer to the next row or requested row
  • db2_result() - Returns a single column from a row in the result set

db2_fetch_array
db2_fetch_both
IBM DB2 Funktionen


Returns an array, indexed by both column name and position, representing a row in a result set

db2_fetch_assoc
db2_fetch_object
IBM DB2 Funktionen
PHP Manual

db2_fetch_both

(PECL ibm_db2 >= 1.0.0)

db2_fetch_both — Returns an array, indexed by both column name and position, representing a row in a result set

Beschreibung

array db2_fetch_both ( resource $stmt [, int $row_number = -1 ] )

Returns an array, indexed by both column name and position, representing a
row in a result set. Note that the row returned by
db2_fetch_both() requires more memory than the
single-indexed arrays returned by db2_fetch_assoc() or
db2_fetch_array().

Parameter-Liste

stmt

A valid stmt resource containing a result set.

row_number

Requests a specific 1-indexed row from the result set. Passing this parameter results in a PHP warning if the result set uses a forward-only cursor.

Rückgabewerte

Returns an associative array with column values indexed by both the column name and 0-indexed column number. The array represents the next or requested row in the result set. Returns FALSE if there are no rows left in the result set, or if the row requested by row_number does not exist in the result set.

Beispiele

Beispiel #1 Iterating through a forward-only cursor

If you call db2_fetch_both() without a specific row number, it automatically retrieves the next row in the result set. The following example accesses columns in the returned array by both column name and by numeric index.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$stmt = db2_prepare($conn, $sql);
$result = db2_execute($stmt);

while ($row = db2_fetch_both($stmt)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row['ID'], $row[0], $row['BREED'], $row[3]);
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

Beispiel #2 Retrieving specific rows with db2_fetch_both() from a scrollable cursor

If your result set uses a scrollable cursor, you can call db2_fetch_both() with a specific row number. The following example retrieves every other row in the result set, starting with the second row.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$result = db2_exec($stmt, $sql, array('cursor' => DB2_SCROLLABLE));

$i=2;
while ($row = db2_fetch_both($result, $i)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row[0], $row['NAME'], $row[2], $row['WEIGHT']);
    $i = $i + 2;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

Siehe auch

  • db2_fetch_array() - Returns an array, indexed by column position, representing a row in a result set
  • db2_fetch_assoc() - Returns an array, indexed by column name, representing a row in a result set
  • db2_fetch_object() - Returns an object with properties representing columns in the fetched row
  • db2_fetch_row() - Sets the result set pointer to the next row or requested row
  • db2_result() - Returns a single column from a row in the result set

db2_fetch_assoc
db2_fetch_object
IBM DB2 Funktionen


Returns an object with properties representing columns in the fetched row

db2_fetch_both
db2_fetch_row
IBM DB2 Funktionen
PHP Manual

db2_fetch_object

(PECL ibm_db2 >= 1.0.0)

db2_fetch_object — Returns an object with properties representing columns in the fetched row

Beschreibung

object db2_fetch_object ( resource $stmt [, int $row_number = -1 ] )

Returns an object in which each property represents a column returned in the row fetched from a result set.

Parameter-Liste

stmt

A valid stmt resource containing a result set.

row_number

Requests a specific 1-indexed row from the result set. Passing this parameter results in a PHP warning if the result set uses a forward-only cursor.

Rückgabewerte

Returns an object representing a single row in the result set. The properties of the object map to the names of the columns in the result set.

The IBM DB2, Cloudscape, and Apache Derby database servers typically fold column names to upper-case, so the object properties will reflect that case.

If your SELECT statement calls a scalar function to modify the value of a column, the database servers return the column number as the name of the column in the result set. If you prefer a more descriptive column name and object property, you can use the AS clause to assign a name to the column in the result set.

Returns FALSE if no row was retrieved.

Beispiele

Beispiel #1 A db2_fetch_object() example

The following example issues a SELECT statement with a scalar function, RTRIM, that removes whitespace from the end of the column. Rather than creating an object with the properties "BREED" and "2", we use the AS clause in the SELECT statement to assign the name "name" to the modified column. The database server folds the column names to upper-case, resulting in an object with the properties "BREED" and "NAME".

<?php
$conn = db2_connect($database, $user, $password);

$sql = "SELECT breed, RTRIM(name) AS name
    FROM animals
    WHERE id = ?";

if ($conn) {
    $stmt = db2_prepare($conn, $sql);
    db2_execute($stmt, array(0));

    while ($pet = db2_fetch_object($stmt)) {
        echo "Come here, {$pet->NAME}, my little {$pet->BREED}!";
    }
    db2_close($conn);
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Come here, Pook, my little cat!

Siehe auch

  • db2_fetch_array() - Returns an array, indexed by column position, representing a row in a result set
  • db2_fetch_assoc() - Returns an array, indexed by column name, representing a row in a result set
  • db2_fetch_both() - Returns an array, indexed by both column name and position, representing a row in a result set
  • db2_fetch_row() - Sets the result set pointer to the next row or requested row
  • db2_result() - Returns a single column from a row in the result set

db2_fetch_both
db2_fetch_row
IBM DB2 Funktionen


Sets the result set pointer to the next row or requested row

db2_fetch_object
db2_field_display_size
IBM DB2 Funktionen
PHP Manual

db2_fetch_row

(PECL ibm_db2 >= 1.0.0)

db2_fetch_row — Sets the result set pointer to the next row or requested row

Beschreibung

bool db2_fetch_row ( resource $stmt [, int $row_number ] )

Use db2_fetch_row() to iterate through a result set, or to point to a specific row in a result set if you requested a scrollable cursor.

To retrieve individual fields from the result set, call the db2_result() function.

Rather than calling db2_fetch_row() and db2_result(), most applications will call one of db2_fetch_assoc(), db2_fetch_both(), or db2_fetch_array() to advance the result set pointer and return a complete row as an array.

Parameter-Liste

stmt

A valid stmt resource.

row_number

With scrollable cursors, you can request a specific row number in the result set. Row numbering is 1-indexed.

Rückgabewerte

Returns TRUE if the requested row exists in the result set. Returns FALSE if the requested row does not exist in the result set.

Beispiele

Beispiel #1 Iterating through a result set

The following example demonstrates how to iterate through a result set with db2_fetch_row() and retrieve columns from the result set with db2_result().

<?php
$sql = 'SELECT name, breed FROM animals WHERE weight < ?';
$stmt = db2_prepare($conn, $sql);
db2_execute($stmt, array(10));
while (db2_fetch_row($stmt)) {
    $name = db2_result($stmt, 0);
    $breed = db2_result($stmt, 1);
    print "$name $breed";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

cat Pook
gold fish Bubbles
budgerigar Gizmo
goat Rickety Ride

Beispiel #2 i5/OS recommended alternatives to db2_fetch_row/db2_result

On i5/OS it is recommended that you use db2_fetch_both(), db2_fetch_array(), or db2_fetch_object() over db2_fetch_row()/db2_result(). In general db2_fetch_row()/db2_result() have more issues with various column types in EBCIDIC to ASCII translation, including possible truncation in DBCS applications. You may also find the performance of db2_fetch_both(), db2_fetch_array(), and db2_fetch_object() to be superior to db2_fetch_row()/db2_result().

<?php
  $conn = db2_connect("","","");
  $sql = 'SELECT SPECIFIC_SCHEMA, SPECIFIC_NAME, ROUTINE_SCHEMA, ROUTINE_NAME, ROUTINE_TYPE, ROUTINE_CREATED, ROUTINE_BODY, IN_PARMS, OUT_PARMS, INOUT_PARMS, PARAMETER_STYLE, EXTERNAL_NAME, EXTERNAL_LANGUAGE FROM QSYS2.SYSROUTINES FETCH FIRST 2 ROWS ONLY';
  $stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE));
  while ($row = db2_fetch_both($stmt)){
    echo "<br>db2_fetch_both {$row['SPECIFIC_NAME']} {$row['ROUTINE_CREATED']} {$row[5]}";
  }
  $stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE));
  while ($row = db2_fetch_array($stmt)){
    echo "<br>db2_fetch_array {$row[1]}  {$row[5]}";
  }
  $stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE));
  while ($row = db2_fetch_object($stmt)){
    echo "<br>db2_fetch_object {$row->SPECIFIC_NAME} {$row->ROUTINE_CREATED}";
  }
  db2_close($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

db2_fetch_both MATCH_ANIMAL 2006-08-25-17.10.23.775000 2006-08-25-17.10.23.775000
db2_fetch_both MULTIRESULTS 2006-10-17-10.11.05.308000 2006-10-17-10.11.05.308000
db2_fetch_array MATCH_ANIMAL 2006-08-25-17.10.23.775000
db2_fetch_array MULTIRESULTS 2006-10-17-10.11.05.308000
db2_fetch_object MATCH_ANIMAL 2006-08-25-17.10.23.775000
db2_fetch_object MULTIRESULTS 2006-10-17-10.11.05.308000

Siehe auch

  • db2_fetch_array() - Returns an array, indexed by column position, representing a row in a result set
  • db2_fetch_assoc() - Returns an array, indexed by column name, representing a row in a result set
  • db2_fetch_both() - Returns an array, indexed by both column name and position, representing a row in a result set
  • db2_fetch_object() - Returns an object with properties representing columns in the fetched row
  • db2_result() - Returns a single column from a row in the result set

db2_fetch_object
db2_field_display_size
IBM DB2 Funktionen


Returns the maximum number of bytes required to display a column

db2_fetch_row
db2_field_name
IBM DB2 Funktionen
PHP Manual

db2_field_display_size

(PECL ibm_db2 >= 1.0.0)

db2_field_display_size — Returns the maximum number of bytes required to display a column

Beschreibung

int db2_field_display_size ( resource $stmt , mixed $column )

Returns the maximum number of bytes required to display a column in a result set.

Parameter-Liste

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Rückgabewerte

Returns an integer value with the maximum number of bytes required to display the specified column. If the column does not exist in the result set, db2_field_display_size() returns FALSE.

Siehe auch

  • db2_field_name() - Returns the name of the column in the result set
  • db2_field_num() - Returns the position of the named column in a result set
  • db2_field_precision() - Returns the precision of the indicated column in a result set
  • db2_field_scale() - Returns the scale of the indicated column in a result set
  • db2_field_type() - Returns the data type of the indicated column in a result set
  • db2_field_width() - Returns the width of the current value of the indicated column in a result set

db2_fetch_row
db2_field_name
IBM DB2 Funktionen


Returns the name of the column in the result set

db2_field_display_size
db2_field_num
IBM DB2 Funktionen
PHP Manual

db2_field_name

(PECL ibm_db2 >= 1.0.0)

db2_field_name — Returns the name of the column in the result set

Beschreibung

string db2_field_name ( resource $stmt , mixed $column )

Returns the name of the specified column in the result set.

Parameter-Liste

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Rückgabewerte

Returns a string containing the name of the specified column. If the specified column does not exist in the result set, db2_field_name() returns FALSE.

Siehe auch

  • db2_field_display_size() - Returns the maximum number of bytes required to display a column
  • db2_field_num() - Returns the position of the named column in a result set
  • db2_field_precision() - Returns the precision of the indicated column in a result set
  • db2_field_scale() - Returns the scale of the indicated column in a result set
  • db2_field_type() - Returns the data type of the indicated column in a result set
  • db2_field_width() - Returns the width of the current value of the indicated column in a result set

db2_field_display_size
db2_field_num
IBM DB2 Funktionen


Returns the position of the named column in a result set

db2_field_name
db2_field_precision
IBM DB2 Funktionen
PHP Manual

db2_field_num

(PECL ibm_db2 >= 1.0.0)

db2_field_num — Returns the position of the named column in a result set

Beschreibung

int db2_field_num ( resource $stmt , mixed $column )

Returns the position of the named column in a result set.

Parameter-Liste

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Rückgabewerte

Returns an integer containing the 0-indexed position of the named column in the result set. If the specified column does not exist in the result set, db2_field_num() returns FALSE.

Siehe auch

  • db2_field_display_size() - Returns the maximum number of bytes required to display a column
  • db2_field_name() - Returns the name of the column in the result set
  • db2_field_precision() - Returns the precision of the indicated column in a result set
  • db2_field_scale() - Returns the scale of the indicated column in a result set
  • db2_field_type() - Returns the data type of the indicated column in a result set
  • db2_field_width() - Returns the width of the current value of the indicated column in a result set

db2_field_name
db2_field_precision
IBM DB2 Funktionen


Returns the precision of the indicated column in a result set

db2_field_num
db2_field_scale
IBM DB2 Funktionen
PHP Manual

db2_field_precision

(PECL ibm_db2 >= 1.0.0)

db2_field_precision — Returns the precision of the indicated column in a result set

Beschreibung

int db2_field_precision ( resource $stmt , mixed $column )

Returns the precision of the indicated column in a result set.

Parameter-Liste

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Rückgabewerte

Returns an integer containing the precision of the specified column. If the specified column does not exist in the result set, db2_field_precision() returns FALSE.

Siehe auch

  • db2_field_display_size() - Returns the maximum number of bytes required to display a column
  • db2_field_name() - Returns the name of the column in the result set
  • db2_field_num() - Returns the position of the named column in a result set
  • db2_field_scale() - Returns the scale of the indicated column in a result set
  • db2_field_type() - Returns the data type of the indicated column in a result set
  • db2_field_width() - Returns the width of the current value of the indicated column in a result set

db2_field_num
db2_field_scale
IBM DB2 Funktionen


Returns the scale of the indicated column in a result set

db2_field_precision
db2_field_type
IBM DB2 Funktionen
PHP Manual

db2_field_scale

(PECL ibm_db2 >= 1.0.0)

db2_field_scale — Returns the scale of the indicated column in a result set

Beschreibung

int db2_field_scale ( resource $stmt , mixed $column )

Returns the scale of the indicated column in a result set.

Parameter-Liste

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Rückgabewerte

Returns an integer containing the scale of the specified column. If the specified column does not exist in the result set, db2_field_scale() returns FALSE.

Siehe auch

  • db2_field_display_size() - Returns the maximum number of bytes required to display a column
  • db2_field_name() - Returns the name of the column in the result set
  • db2_field_num() - Returns the position of the named column in a result set
  • db2_field_precision() - Returns the precision of the indicated column in a result set
  • db2_field_type() - Returns the data type of the indicated column in a result set
  • db2_field_width() - Returns the width of the current value of the indicated column in a result set

db2_field_precision
db2_field_type
IBM DB2 Funktionen


Returns the data type of the indicated column in a result set

db2_field_scale
db2_field_width
IBM DB2 Funktionen
PHP Manual

db2_field_type

(PECL ibm_db2 >= 1.0.0)

db2_field_type — Returns the data type of the indicated column in a result set

Beschreibung

string db2_field_type ( resource $stmt , mixed $column )

Returns the data type of the indicated column in a result set.

Parameter-Liste

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Rückgabewerte

Returns a string containing the defined data type of the specified column. If the specified column does not exist in the result set, db2_field_type() returns FALSE.

Siehe auch

  • db2_field_display_size() - Returns the maximum number of bytes required to display a column
  • db2_field_name() - Returns the name of the column in the result set
  • db2_field_num() - Returns the position of the named column in a result set
  • db2_field_precision() - Returns the precision of the indicated column in a result set
  • db2_field_scale() - Returns the scale of the indicated column in a result set
  • db2_field_width() - Returns the width of the current value of the indicated column in a result set

db2_field_scale
db2_field_width
IBM DB2 Funktionen


Returns the width of the current value of the indicated column in a result set

db2_field_type
db2_foreign_keys
IBM DB2 Funktionen
PHP Manual

db2_field_width

(PECL ibm_db2 >= 1.0.0)

db2_field_width — Returns the width of the current value of the indicated column in a result set

Beschreibung

int db2_field_width ( resource $stmt , mixed $column )

Returns the width of the current value of the indicated column in a result set. This is the maximum width of the column for a fixed-length data type, or the actual width of the column for a variable-length data type.

Parameter-Liste

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Rückgabewerte

Returns an integer containing the width of the specified character or binary data type column in a result set. If the specified column does not exist in the result set, db2_field_width() returns FALSE.

Siehe auch

  • db2_field_display_size() - Returns the maximum number of bytes required to display a column
  • db2_field_name() - Returns the name of the column in the result set
  • db2_field_num() - Returns the position of the named column in a result set
  • db2_field_precision() - Returns the precision of the indicated column in a result set
  • db2_field_scale() - Returns the scale of the indicated column in a result set
  • db2_field_type() - Returns the data type of the indicated column in a result set

db2_field_type
db2_foreign_keys
IBM DB2 Funktionen


Returns a result set listing the foreign keys for a table

db2_field_width
db2_free_result
IBM DB2 Funktionen
PHP Manual

db2_foreign_keys

(PECL ibm_db2 >= 1.0.0)

db2_foreign_keys — Returns a result set listing the foreign keys for a table

Beschreibung

resource db2_foreign_keys ( resource $connection , string $qualifier , string $schema , string $table-name )

Returns a result set listing the foreign keys for a table.

Parameter-Liste

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the tables. If schema is NULL, db2_foreign_keys() matches the schema for the current connection.

table-name

The name of the table.

Rückgabewerte

Returns a statement resource with a result set containing rows describing the foreign keys for the specified table. The result set is composed of the following columns:

Column name | Description
PKTABLE_CAT | Name of the catalog for the table containing the primary key. The value is NULL if this table does not have catalogs.
PKTABLE_SCHEM | Name of the schema for the table containing the primary key.
PKTABLE_NAME | Name of the table containing the primary key.
PKCOLUMN_NAME | Name of the column containing the primary key.
FKTABLE_CAT | Name of the catalog for the table containing the foreign key. The value is NULL if this table does not have catalogs.
FKTABLE_SCHEM | Name of the schema for the table containing the foreign key.
FKTABLE_NAME | Name of the table containing the foreign key.
FKCOLUMN_NAME | Name of the column containing the foreign key.
KEY_SEQ | 1-indexed position of the column in the key.
UPDATE_RULE | Integer value representing the action applied to the foreign key when the SQL operation is UPDATE.
DELETE_RULE | Integer value representing the action applied to the foreign key when the SQL operation is DELETE.
FK_NAME | The name of the foreign key.
PK_NAME | The name of the primary key.
DEFERRABILITY | An integer value representing whether the foreign key deferrability is SQL_INITIALLY_DEFERRED, SQL_INITIALLY_IMMEDIATE, or SQL_NOT_DEFERRABLE.

Siehe auch

  • db2_column_privileges() - Returns a result set listing the columns and associated privileges for a table
  • db2_columns() - Returns a result set listing the columns and associated metadata for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database

db2_field_width
db2_free_result
IBM DB2 Funktionen


Frees resources associated with a result set

db2_foreign_keys
db2_free_stmt
IBM DB2 Funktionen
PHP Manual

db2_free_result

(PECL ibm_db2 >= 1.0.0)

db2_free_result — Frees resources associated with a result set

Beschreibung

bool db2_free_result ( resource $stmt )

Frees the system and database resources that are associated with a result set. These resources are freed implicitly when a script finishes, but you can call db2_free_result() to explicitly free the result set resources before the end of the script.

Parameter-Liste

stmt

A valid statement resource.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • db2_free_stmt() - Frees resources associated with the indicated statement resource

db2_foreign_keys
db2_free_stmt
IBM DB2 Funktionen


Frees resources associated with the indicated statement resource

db2_free_result
db2_get_option
IBM DB2 Funktionen
PHP Manual

db2_free_stmt

(PECL ibm_db2 >= 1.0.0)

db2_free_stmt — Frees resources associated with the indicated statement resource

Beschreibung

bool db2_free_stmt ( resource $stmt )

Frees the system and database resources that are associated with a statement resource. These resources are freed implicitly when a script finishes, but you can call db2_free_stmt() to explicitly free the statement resources before the end of the script.

Parameter-Liste

stmt

A valid statement resource.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • db2_free_result() - Frees resources associated with a result set

db2_free_result
db2_get_option
IBM DB2 Funktionen


Retrieves an option value for a statement resource or a connection resource

db2_free_stmt
db2_last_insert_id
IBM DB2 Funktionen
PHP Manual

db2_get_option

(PECL ibm_db2 >= 1.6.0)

db2_get_option — Retrieves an option value for a statement resource or a connection resource

Beschreibung

string db2_get_option ( resource $resource , string $option )

Retrieves the value of a specified option value for a statement resource or a connection resource.

Parameter-Liste

resource

A valid statement resource as returned from db2_prepare() or a valid connection resource as returned from db2_connect() or db2_pconnect().

option

A valid statement or connection options. The following new options are available as of ibm_db2 version 1.6.0. They provide useful tracking information that can be set during execution with db2_get_option().

Hinweis:

Prior versions of ibm_db2 do not support these new options.

When the value in each option is being set, some servers might not handle the entire length provided and might truncate the value.

To ensure that the data specified in each option is converted correctly when transmitted to a host system, use only the characters A through Z, 0 through 9, and the underscore (_) or period (.).

userid

SQL_ATTR_INFO_USERID - A pointer to a null-terminated character string used to identify the client user ID sent to the host database server when using DB2 Connect.

Hinweis:

DB2 for z/OS and OS/390 servers support up to a length of 16 characters. This user-id is not to be confused with the authentication user-id, it is for identification purposes only and is not used for any authorization.

acctstr

SQL_ATTR_INFO_ACCTSTR - A pointer to a null-terminated character string used to identify the client accounting string sent to the host database server when using DB2 Connect.

Hinweis:

DB2 for z/OS and OS/390 servers support up to a length of 200 characters.

applname

SQL_ATTR_INFO_APPLNAME - A pointer to a null-terminated character string used to identify the client application name sent to the host database server when using DB2 Connect.

Hinweis:

DB2 for z/OS and OS/390 servers support up to a length of 32 characters.

wrkstnname

SQL_ATTR_INFO_WRKSTNNAME - A pointer to a null-terminated character string used to identify the client workstation name sent to the host database server when using DB2 Connect.

Hinweis:

DB2 for z/OS and OS/390 servers support up to a length of 18 characters.

The following table specifies which options are compatible with the available resource types:

Resource-Parameter Matrix
Key | Value | Resource Type
 |  | Connection | Statement | Result Set
userid | SQL_ATTR_INFO_USERID | X | X | -
acctstr | SQL_ATTR_INFO_ACCTSTR | X | X | -
applname | SQL_ATTR_INFO_APPLNAME | X | X | -
wrkstnname | SQL_ATTR_INFO_WRKSTNNAME | X | X | -

Rückgabewerte

Returns the current setting of the connection attribute provided on success Im Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 Setting and retrieving parameters through a connection resource

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$user     = 'db2inst1';
$password = 'ibmdb2';

/* Obtain Connection Resource */
$conn = db2_connect($database, $user, $password);

echo "Client attributes passed through connection string:\n";

/* Create the associative options array with valid key-value pairs */
/* Assign the attributes through connection string */
/* Access the options specified */
$options1 = array('userid' => 'db2inst1');
$conn1 = db2_connect($database, $user, $password, $options1);
$val = db2_get_option($conn1, 'userid');
echo $val . "\n";

$options2 = array('acctstr' => 'account');
$conn2 = db2_connect($database, $user, $password, $options2);
$val = db2_get_option($conn2, 'acctstr');
echo $val . "\n";

$options3 = array('applname' => 'myapp');
$conn3 = db2_connect($database, $user, $password, $options3);
$val = db2_get_option($conn3, 'applname');
echo $val . "\n";

$options4 = array('wrkstnname' => 'workstation');
$conn4 = db2_connect($database, $user, $password, $options4);
$val = db2_get_option($conn4, 'wrkstnname');
echo $val . "\n";

echo "Client attributes passed post-connection:\n";

/* Create the associative options array with valid key-value pairs */
/* Assign the attributes after a connection is made */
/* Access the options specified */
$options5 = array('userid' => 'db2inst1');
$conn5 = db2_connect($database, $user, $password);
$rc = db2_set_option($conn5, $options5, 1);
$val = db2_get_option($conn5, 'userid');
echo $val . "\n";

$options6 = array('acctstr' => 'account');
$conn6 = db2_connect($database, $user, $password);
$rc = db2_set_option($conn6, $options6, 1);
$val = db2_get_option($conn6, 'acctstr');
echo $val . "\n";

$options7 = array('applname' => 'myapp');
$conn7 = db2_connect($database, $user, $password);
$rc = db2_set_option($conn7, $options7, 1);
$val = db2_get_option($conn7, 'applname');
echo $val . "\n";

$options8 = array('wrkstnname' => 'workstation');
$conn8 = db2_connect($database, $user, $password);
$rc = db2_set_option($conn8, $options8, 1);
$val = db2_get_option($conn8, 'wrkstnname');
echo $val . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Client attributes passed through connection string:
db2inst1
account
myapp
workstation
Client attributes passed post-connection:
db2inst1
account
myapp
workstation

Siehe auch

  • db2_connect() - Returns a connection to a database
  • db2_cursor_type() - Returns the cursor type used by a statement resource
  • db2_exec() - Executes an SQL statement directly
  • db2_set_option() - Set options for connection or statement resources
  • db2_pconnect() - Returns a persistent connection to a database
  • db2_prepare() - Prepares an SQL statement to be executed

db2_free_stmt
db2_last_insert_id
IBM DB2 Funktionen


Returns the auto generated ID of the last insert query that successfully executed on this connection

db2_get_option
db2_lob_read
IBM DB2 Funktionen
PHP Manual

db2_last_insert_id

(PECL ibm_db2 >= 1.7.1)

db2_last_insert_id — Returns the auto generated ID of the last insert query that successfully executed on this connection

Beschreibung

string db2_last_insert_id ( resource $resource )

Returns the auto generated ID of the last insert query that successfully executed on this connection.

The result of this function is not affected by any of the following:

  • A single row INSERT statement with a VALUES clause for a table without an identity column.

  • A multiple row INSERT statement with a VALUES clause.

  • An INSERT statement with a fullselect.

  • A ROLLBACK TO SAVEPOINT statement.

Parameter-Liste

resource

A valid connection resource as returned from db2_connect() or db2_pconnect(). The value of this parameter cannot be a statement resource or result set resource.

Rückgabewerte

Returns the auto generated ID of last insert query that successfully executed on this connection.

Beispiele

Beispiel #1 A db2_last_insert_id() example

The following example shows how to return the auto generated ID of last insert query that successfully executed on this connection.

<?php

$database = "SAMPLE";
$user = "db2inst1";
$password = "ibmdb2";

$conn = db2_connect($database, $user, $password);
if($conn) {
    $createTable = "CREATE TABLE lastInsertID
      (id integer GENERATED BY DEFAULT AS IDENTITY, name varchar(20))";
    $insertTable = "INSERT INTO lastInsertID (name) VALUES ('Temp Name')";

    $stmt = @db2_exec($conn, $createTable);

    /* Checking for single row inserted. */
    $stmt = db2_exec($conn, $insertTable);
    $ret =  db2_last_insert_id($conn);
    if($ret) {
        echo "Last Insert ID is : " . $ret . "\n";
    } else {
        echo "No Last insert ID.\n";
    }

    db2_close($conn);
}
else {
    echo "Connection failed.";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Last Insert ID is : 1

db2_get_option
db2_lob_read
IBM DB2 Funktionen


Gets a user defined size of LOB files with each invocation

db2_last_insert_id
db2_next_result
IBM DB2 Funktionen
PHP Manual

db2_lob_read

(PECL ibm_db2 >= 1.6.0)

db2_lob_read — Gets a user defined size of LOB files with each invocation

Beschreibung

string db2_lob_read ( resource $stmt , int $colnum , int $length )

Use db2_lob_read() to iterate through a specified column of a result set and retrieve a user defined size of LOB data.

Parameter-Liste

stmt

A valid stmt resource containing LOB data.

colnum

A valid column number in the result set of the stmt resource.

length

The size of the LOB data to be retrieved from the stmt resource.

Rückgabewerte

Returns the amount of data the user specifies. Returns FALSE if the data cannot be retrieved.

Beispiele

Beispiel #1 Iterating through different types of data

<?php

/* Database Connection Parameters */
$db = 'SAMPLE';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Obtain Connection Resource */
$conn = db2_connect($db,$username,$password);

if ($conn) {
    $drop = 'DROP TABLE clob_stream';
    $result = @db2_exec( $conn, $drop );

    $create = 'CREATE TABLE clob_stream (id INTEGER, my_clob CLOB)';
    $result = db2_exec( $conn, $create );

    $variable = "";
    $stmt = db2_prepare($conn, "INSERT INTO clob_stream (id,my_clob) VALUES (1, ?)");
    $variable = "THIS IS A CLOB TEST. THIS IS A CLOB TEST.";
    db2_bind_param($stmt, 1, "variable", DB2_PARAM_IN);
    db2_execute($stmt);

    $sql = "SELECT id,my_clob FROM clob_stream";
    $result = db2_prepare($conn, $sql);
    db2_execute($result);
    db2_fetch_row($result);
    $i = 0;
    /* Read LOB data */
    while ($data = db2_lob_read($result, 2, 6)) {
        echo "Loop $i: $data\n";
        $i = $i + 1;
    }

    $drop = 'DROP TABLE blob_stream';
    $result = @db2_exec( $conn, $drop );

    $create = 'CREATE TABLE blob_stream (id INTEGER, my_blob CLOB)';
    $result = db2_exec( $conn, $create );

    $variable = "";
    $stmt = db2_prepare($conn, "INSERT INTO blob_stream (id,my_blob) VALUES (1, ?)");
    $variable = "THIS IS A BLOB TEST. THIS IS A BLOB TEST.";
    db2_bind_param($stmt, 1, "variable", DB2_PARAM_IN);
    db2_execute($stmt);

    $sql = "SELECT id,my_blob FROM blob_stream";
    $result = db2_prepare($conn, $sql);
    db2_execute($result);
    db2_fetch_row($result);
    $i = 0;
    /* Read LOB data */
    while ($data = db2_lob_read($result, 2, 6)) {
        echo "Loop $i: $data\n";
        $i = $i + 1;
    }
} else {
    echo 'no connection: ' . db2_conn_errormsg();
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Loop 0: THIS I
Loop 1: S A CL
Loop 2: OB TES
Loop 3: T. THI
Loop 4: S IS A
Loop 5:  CLOB
Loop 6: TEST.
Loop 0: THIS I
Loop 1: S A BL
Loop 2: OB TES
Loop 3: T. THI
Loop 4: S IS A
Loop 5:  BLOB
Loop 6: TEST.

Siehe auch

  • db2_bind_param() - Binds a PHP variable to an SQL statement parameter
  • db2_exec() - Executes an SQL statement directly
  • db2_execute() - Executes a prepared SQL statement
  • db2_fetch_row() - Sets the result set pointer to the next row or requested row
  • db2_prepare() - Prepares an SQL statement to be executed
  • db2_result() - Returns a single column from a row in the result set

db2_last_insert_id
db2_next_result
IBM DB2 Funktionen


Requests the next result set from a stored procedure

db2_lob_read
db2_num_fields
IBM DB2 Funktionen
PHP Manual

db2_next_result

(PECL ibm_db2 >= 1.0.0)

db2_next_result — Requests the next result set from a stored procedure

Beschreibung

resource db2_next_result ( resource $stmt )

A stored procedure can return zero or more result sets. While you handle the first result set in exactly the same way you would handle the results returned by a simple SELECT statement, to fetch the second and subsequent result sets from a stored procedure you must call the db2_next_result() function and return the result to a uniquely named PHP variable.

Parameter-Liste

stmt

A prepared statement returned from db2_exec() or db2_execute().

Rückgabewerte

Returns a new statement resource containing the next result set if the stored procedure returned another result set. Returns FALSE if the stored procedure did not return another result set.

Beispiele

Beispiel #1 Calling a stored procedure that returns multiple result sets

In the following example, we call a stored procedure that returns three result sets. The first result set is fetched directly from the same statement resource on which we invoked the CALL statement, while the second and third result sets are fetched from statement resources returned from our calls to the db2_next_result() function.

<?php
$conn = db2_connect($database, $user, $password);

if ($conn) {
  $stmt = db2_exec($conn, 'CALL multiResults()');

  print "Fetching first result set\n";
  while ($row = db2_fetch_array($stmt)) {
    var_dump($row);
  }

  print "\nFetching second result set\n";
  $res = db2_next_result($stmt);
  if ($res) {
    while ($row = db2_fetch_array($res)) {
      var_dump($row);
    }
  }

  print "\nFetching third result set\n";
  $res2 = db2_next_result($stmt);
  if ($res2) {
    while ($row = db2_fetch_array($res2)) {
      var_dump($row);
    }
  }

  db2_close($conn);
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Fetching first result set
array(2) {
  [0]=>
  string(16) "Bubbles         "
  [1]=>
  int(3)
}
array(2) {
  [0]=>
  string(16) "Gizmo           "
  [1]=>
  int(4)
}

Fetching second result set
array(4) {
  [0]=>
  string(16) "Sweater         "
  [1]=>
  int(6)
  [2]=>
  string(5) "llama"
  [3]=>
  string(6) "150.00"
}
array(4) {
  [0]=>
  string(16) "Smarty          "
  [1]=>
  int(2)
  [2]=>
  string(5) "horse"
  [3]=>
  string(6) "350.00"
}

Fetching third result set
array(1) {
  [0]=>
  string(16) "Bubbles         "
}
array(1) {
  [0]=>
  string(16) "Gizmo           "
}

db2_lob_read
db2_num_fields
IBM DB2 Funktionen


Returns the number of fields contained in a result set

db2_next_result
db2_num_rows
IBM DB2 Funktionen
PHP Manual

db2_num_fields

(PECL ibm_db2 >= 1.0.0)

db2_num_fields — Returns the number of fields contained in a result set

Beschreibung

int db2_num_fields ( resource $stmt )

Returns the number of fields contained in a result set. This is most useful for handling the result sets returned by dynamically generated queries, or for result sets returned by stored procedures, where your application cannot otherwise know how to retrieve and use the results.

Parameter-Liste

stmt

A valid statement resource containing a result set.

Rückgabewerte

Returns an integer value representing the number of fields in the result set associated with the specified statement resource. Returns FALSE if the statement resource is not a valid input value.

Beispiele

Beispiel #1 Retrieving the number of fields in a result set

The following example demonstrates how to retrieve the number of fields returned in a result set.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$stmt = db2_prepare($conn, $sql);
db2_execute($stmt, $sql);
$columns = db2_num_fields($stmt);

echo "There are {$columns} columns in the result set.";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

There are 4 columns in the result set.

Siehe auch

  • db2_execute() - Executes a prepared SQL statement
  • db2_field_display_size() - Returns the maximum number of bytes required to display a column
  • db2_field_name() - Returns the name of the column in the result set
  • db2_field_num() - Returns the position of the named column in a result set
  • db2_field_precision() - Returns the precision of the indicated column in a result set
  • db2_field_scale() - Returns the scale of the indicated column in a result set
  • db2_field_type() - Returns the data type of the indicated column in a result set
  • db2_field_width() - Returns the width of the current value of the indicated column in a result set

db2_next_result
db2_num_rows
IBM DB2 Funktionen


Returns the number of rows affected by an SQL statement

db2_num_fields
db2_pclose
IBM DB2 Funktionen
PHP Manual

db2_num_rows

(PECL ibm_db2 >= 1.0.0)

db2_num_rows — Returns the number of rows affected by an SQL statement

Beschreibung

int db2_num_rows ( resource $stmt )

Returns the number of rows deleted, inserted, or updated by an SQL statement.

To determine the number of rows that will be returned by a SELECT statement, issue SELECT COUNT(*) with the same predicates as your intended SELECT statement and retrieve the value.

If your application logic checks the number of rows returned by a SELECT statement and branches if the number of rows is 0, consider modifying your application to attempt to return the first row with one of db2_fetch_assoc(), db2_fetch_both(), db2_fetch_array(), or db2_fetch_row(), and branch if the fetch function returns FALSE.

Hinweis:

If you issue a SELECT statement using a scrollable cursor, db2_num_rows() returns the number of rows returned by the SELECT statement. However, the overhead associated with scrollable cursors significantly degrades the performance of your application, so if this is the only reason you are considering using scrollable cursors, you should use a forward-only cursor and either call SELECT COUNT(*) or rely on the boolean return value of the fetch functions to achieve the equivalent functionality with much better performance.

Parameter-Liste

stmt

A valid stmt resource containing a result set.

Rückgabewerte

Returns the number of rows affected by the last SQL statement issued by the specified statement handle.

db2_num_fields
db2_pclose
IBM DB2 Funktionen


Closes a persistent database connection

db2_num_rows
db2_pconnect
IBM DB2 Funktionen
PHP Manual

db2_pclose

(PECL ibm_db2 >= 1.8.0)

db2_pclose — Closes a persistent database connection

Beschreibung

bool db2_pclose ( resource $resource )

This function closes a DB2 client connection created with db2_pconnect() and returns the corresponding resources to the database server.

Hinweis:

This function is only available on i5/OS in response to i5/OS system administration requests.

If you have a persistent DB2 client connection created with db2_pconnect(), you may use this function to close the connection. To avoid substantial connection performance penalties, this function should only be used in rare cases when the persistent connection has become unresponsive or the persistent connection will not be needed for a long period of time.

Parameter-Liste

connection

Specifies an active DB2 client connection.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Closing a persistent connection

The following example demonstrates a successful attempt to close a connection to an IBM DB2 i5/OS database.

<?php
$conn = db2_pconnect('', '', '');
$rc = db2_pclose($conn);
if ($rc) {
    echo "Connection was successfully closed.";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Connection was successfully closed.

Siehe auch

  • db2_close() - Closes a database connection
  • db2_pconnect() - Returns a persistent connection to a database

db2_num_rows
db2_pconnect
IBM DB2 Funktionen


Returns a persistent connection to a database

db2_pclose
db2_prepare
IBM DB2 Funktionen
PHP Manual

db2_pconnect

(PECL ibm_db2 >= 1.0.0)

db2_pconnect — Returns a persistent connection to a database

Beschreibung

resource db2_pconnect ( string $database , string $username , string $password [, array $options ] )

Returns a persistent connection to an IBM DB2 Universal Database, IBM Cloudscape, or Apache Derby database.

For more information on persistent connections, refer to Persistente Datenbankverbindungen.

Calling db2_close() on a persistent connection always returns TRUE, but the underlying DB2 client connection remains open and waiting to serve the next matching db2_pconnect() request.

Users running version 1.9.0 or later of ibm_db2 should be aware that the extension will perform a transaction rollback on persistent connections at the end of a request, thus ending the transaction. This prevents the transaction block from carrying over to the next request which uses that connection if script execution ends before the transaction block does.

Parameter-Liste

database

The database alias in the DB2 client catalog.

username

The username with which you are connecting to the database.

password

The password with which you are connecting to the database.

options

An associative array of connection options that affect the behavior of the connection, where valid array keys include:

autocommit

Passing the DB2_AUTOCOMMIT_ON value turns autocommit on for this connection handle.

Passing the DB2_AUTOCOMMIT_OFF value turns autocommit off for this connection handle.

DB2_ATTR_CASE

Passing the DB2_CASE_NATURAL value specifies that column names are returned in natural case.

Passing the DB2_CASE_LOWER value specifies that column names are returned in lower case.

Passing the DB2_CASE_UPPER value specifies that column names are returned in upper case.

CURSOR

Passing the DB2_FORWARD_ONLY value specifies a forward-only cursor for a statement resource. This is the default cursor type and is supported on all database servers.

Passing the DB2_SCROLLABLE value specifies a scrollable cursor for a statement resource. This mode enables random access to rows in a result set, but currently is supported only by IBM DB2 Universal Database.

The following new option is available in ibm_db2 version 1.7.0 and later.

trustedcontext

Passing the DB2_TRUSTED_CONTEXT_ENABLE value turns trusted context on for this connection handle. This parameter cannot be set using db2_set_option().

This key works only if the database is cataloged (even if the database is local), or if you specify the full DSN when you create the connection.

To catalog the database, use following commands:

db2 catalog tcpip node loopback remote <SERVERNAME> server <SERVICENAME>
db2 catalog database <LOCALDBNAME> as <REMOTEDBNAME> at node loopback
db2 "update dbm cfg using svcename <SERVICENAME>"
db2set DB2COMM=TCPIP

The following new i5/OS options are available in ibm_db2 version 1.5.1 and later.

Tipp

Conflicting connection attributes used in conjunction with persistent connections can produce indeterminate results on i5/OS. Site policies should be establish for all applications using each persistent connection user profile. The default DB2_AUTOCOMMIT_ON is suggested when using persistent connections.

i5_lib

A character value that indicates the default library that will be used for resolving unqualified file references. This is not valid if the connection is using system naming mode.

i5_naming

DB2_I5_NAMING_ON value turns on DB2 UDB CLI iSeries system naming mode. Files are qualified using the slash (/) delimiter. Unqualified files are resolved using the library list for the job.

DB2_I5_NAMING_OFF value turns off DB2 UDB CLI default naming mode, which is SQL naming. Files are qualified using the period (.) delimiter. Unqualified files are resolved using either the default library or the current user ID.

i5_commit

The i5_commit attribute should be set before the db2_pconnect(). If the value is changed after the connection has been established, and the connection is to a remote data source, the change does not take effect until the next successful db2_pconnect() for the connection handle.

Hinweis:

The php.ini setting ibm_db2.i5_allow_commit==0 or DB2_I5_TXN_NO_COMMIT is the default, but may be overridden with the i5_commit option.

DB2_I5_TXN_NO_COMMIT - Commitment control is not used.

DB2_I5_TXN_READ_UNCOMMITTED - Dirty reads, nonrepeatable reads, and phantoms are possible.

DB2_I5_TXN_READ_COMMITTED - Dirty reads are not possible. Nonrepeatable reads, and phantoms are possible.

DB2_I5_TXN_REPEATABLE_READ - Dirty reads and nonrepeatable reads are not possible. Phantoms are possible.

DB2_I5_TXN_SERIALIZABLE - Transactions are serializable. Dirty reads, non-repeatable reads, and phantoms are not possible

i5_query_optimize

DB2_FIRST_IO All queries are optimized with the goal of returning the first page of output as fast as possible. This goal works well when the output is controlled by a user who is most likely to cancel the query after viewing the first page of output data. Queries coded with an OPTIMIZE FOR nnn ROWS clause honor the goal specified by the clause.

DB2_ALL_IO All queries are optimized with the goal of running the entire query to completion in the shortest amount of elapsed time. This is a good option when the output of a query is being written to a file or report, or the interface is queuing the output data. Queries coded with an OPTIMIZE FOR nnn ROWS clause honor the goal specified by the clause. This is the default.

i5_dbcs_alloc

DB2_I5_DBCS_ALLOC_ON value turns on DB2 6X allocation scheme for DBCS translation column size growth.

DB2_I5_DBCS_ALLOC_OFF value turns off DB2 6X allocation scheme for DBCS translation column size growth.

Hinweis:

The php.ini setting ibm_db2.i5_dbcs_alloc==0 or DB2_I5_DBCS_ALLOC_OFF is the default, but may be overridden with the i5_dbcs_alloc option.

i5_date_fmt

DB2_I5_FMT_ISO - The International Organization for Standardization (ISO) date format yyyy-mm-dd is used. This is the default.

DB2_I5_FMT_USA - The United States date format mm/dd/yyyy is used.

DB2_I5_FMT_EUR - The European date format dd.mm.yyyy is used.

DB2_I5_FMT_JIS - The Japanese Industrial Standard date format yyyy-mm-dd is used.

DB2_I5_FMT_MDY - The date format mm/dd/yyyy is used.

DB2_I5_FMT_DMY - The date format dd/mm/yyyy is used.

DB2_I5_FMT_YMD - The date format yy/mm/dd is used.

DB2_I5_FMT_JUL - The Julian date format yy/ddd is used.

DB2_I5_FMT_JOB - The job default is used.

i5_date_sep

DB2_I5_SEP_SLASH - A slash ( / ) is used as the date separator. This is the default.

DB2_I5_SEP_DASH - A dash ( - ) is used as the date separator.

DB2_I5_SEP_PERIOD - A period ( . ) is used as the date separator.

DB2_I5_SEP_COMMA - A comma ( , ) is used as the date separator.

DB2_I5_SEP_BLANK - A blank is used as the date separator.

DB2_I5_SEP_JOB - The job default is used

i5_time_fmt

DB2_I5_FMT_ISO - The International Organization for Standardization (ISO) time format hh.mm.ss is used. This is the default.

DB2_I5_FMT_USA - The United States time format hh:mmxx is used, where xx is AM or PM.

DB2_I5_FMT_EUR - The European time format hh.mm.ss is used.

DB2_I5_FMT_JIS - The Japanese Industrial Standard time format hh:mm:ss is used.

DB2_I5_FMT_HMS - The hh:mm:ss format is used.

i5_time_sep

DB2_I5_SEP_COLON - A colon ( : ) is used as the time separator. This is the default.

DB2_I5_SEP_PERIOD - A period ( . ) is used as the time separator.

DB2_I5_SEP_COMMA - A comma ( , ) is used as the time separator.

DB2_I5_SEP_BLANK - A blank is used as the time separator.

DB2_I5_SEP_JOB - The job default is used.

i5_decimal_sep

DB2_I5_SEP_PERIOD - A period ( . ) is used as the decimal separator. This is the default.

DB2_I5_SEP_COMMA - A comma ( , ) is used as the decimal separator.

DB2_I5_SEP_JOB - The job default is used.

The following new i5/OS option is available in ibm_db2 version 1.8.0 and later.

i5_libl

A character value that indicates the library list that will be used for resolving unqualified file references. Specify the library list elements separated by blanks 'i5_libl'=>"MYLIB YOURLIB ANYLIB".

Hinweis:

i5_libl calls qsys2/qcmdexc('cmd',cmdlen), which is only available in i5/OS V5R4 and later.

Rückgabewerte

Returns a connection handle resource if the connection attempt is successful. db2_pconnect() tries to reuse an existing connection resource that exactly matches the database, username, and password parameters. If the connection attempt fails, db2_pconnect() returns FALSE.

Changelog

Version | Beschreibung
ibm_db2 1.9.0 | Active transactions within a persistent connection will be rolled back at the end of each request.
ibm_db2 1.8.0 | The i5_libl option is available for i5/OS users.
ibm_db2 1.7.0 | The trustedcontext option is available.
ibm_db2 1.5.1 | The i5_lib, i5_naming, i5_commit, i5_query_optimize, i5_dbcs_alloc, i5_date_fmt, i5_date_sep, i5_time_fmt, i5_time_sep and i5_decimal_sep options are available for i5/OS users.

Beispiele

Beispiel #1 A db2_pconnect() example

In the following example, the first call to db2_pconnect() returns a new persistent connection resource. The second call to db2_pconnect() returns a persistent connection resource that simply reuses the first persistent connection resource.

<?php
$database = 'SAMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';

$pconn = db2_pconnect($database, $user, $password);

if ($pconn) {
    echo "Persistent connection succeeded.";
}
else {
    echo "Persistent connection failed.";
}

$pconn2 = db2_pconnect($database, $user, $password);
if ($pconn) {
    echo "Second persistent connection succeeded.";
}
else {
    echo "Second persistent connection failed.";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Persistent connection succeeded.
Second persistent connection succeeded.

Beispiel #2 Using trusted context

The following example shows how to enable trusted context, switch users, and get the current user ID.

<?php

$database = "SAMPLE";
$hostname = "localhost";
$port = 50000;
$authID = "db2inst1";
$auth_pass = "ibmdb2";

$tc_user = "tcuser";
$tc_pass = "tcpassword";

$dsn = "DATABASE=$database;HOSTNAME=$hostname;PORT=$port;
  PROTOCOL=TCPIP;UID=$authID;PWD=$auth_pass;";
$options = array ("trustedcontext" => DB2_TRUSTED_CONTEXT_ENABLE);

$tc_conn = db2_pconnect($dsn, "", "", $options);
if($tc_conn) {
    echo "Explicit trusted connection succeeded.\n";

    if(db2_get_option($tc_conn, "trustedcontext")) {
        $userBefore = db2_get_option($tc_conn, "trusted_user");

        //Do some work as user 1.

        //Switching to trusted user.
        $parameters = array("trusted_user" => $tc_user,
          "trusted_password" => $tcuser_pass);
        $res = db2_set_option ($tc_conn, $parameters, 1);

        $userAfter = db2_get_option($tc_conn, "trusted_user");
        //Do more work as trusted user.

        if($userBefore != $userAfter) {
            echo "User has been switched." . "\n";
        }
    }

    db2_close($tc_conn);
}
else {
    echo "Explicit trusted connection failed.\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Explicit trusted connection succeeded.
User has been switched.

Siehe auch

  • db2_connect() - Returns a connection to a database

db2_pclose
db2_prepare
IBM DB2 Funktionen


Prepares an SQL statement to be executed

db2_pconnect
db2_primary_keys
IBM DB2 Funktionen
PHP Manual

db2_prepare

(PECL ibm_db2 >= 1.0.0)

db2_prepare — Prepares an SQL statement to be executed

Beschreibung

resource db2_prepare ( resource $connection , string $statement [, array $options ] )

db2_prepare() creates a prepared SQL statement which can include 0 or more parameter markers (? characters) representing parameters for input, output, or input/output. You can pass parameters to the prepared statement using db2_bind_param(), or for input values only, as an array passed to db2_execute().

There are three main advantages to using prepared statements in your application:

  • Performance: when you prepare a statement, the database server creates an optimized access plan for retrieving data with that statement. Subsequently issuing the prepared statement with db2_execute() enables the statements to reuse that access plan and avoids the overhead of dynamically creating a new access plan for every statement you issue.

  • Security: when you prepare a statement, you can include parameter markers for input values. When you execute a prepared statement with input values for placeholders, the database server checks each input value to ensure that the type matches the column definition or parameter definition.

  • Advanced functionality: Parameter markers not only enable you to pass input values to prepared SQL statements, they also enable you to retrieve OUT and INOUT parameters from stored procedures using db2_bind_param().

Parameter-Liste

connection

A valid database connection resource variable as returned from db2_connect() or db2_pconnect().

statement

An SQL statement, optionally containing one or more parameter markers..

options

An associative array containing statement options. You can use this parameter to request a scrollable cursor on database servers that support this functionality.

For a description of valid statement options, see db2_set_option().

Rückgabewerte

Returns a statement resource if the SQL statement was successfully parsed and prepared by the database server. Returns FALSE if the database server returned an error. You can determine which error was returned by calling db2_stmt_error() or db2_stmt_errormsg().

Beispiele

Beispiel #1 Preparing and executing an SQL statement with parameter markers

The following example prepares an INSERT statement that accepts four parameter markers, then iterates over an array of arrays containing the input values to be passed to db2_execute().

<?php
$animals = array(
    array(0, 'cat', 'Pook', 3.2),
    array(1, 'dog', 'Peaches', 12.3),
    array(2, 'horse', 'Smarty', 350.0),
);

$insert = 'INSERT INTO animals (id, breed, name, weight)
    VALUES (?, ?, ?, ?)';
$stmt = db2_prepare($conn, $insert);
if ($stmt) {
    foreach ($animals as $animal) {
        $result = db2_execute($stmt, $animal);
    }
}
?>

Siehe auch

  • db2_bind_param() - Binds a PHP variable to an SQL statement parameter
  • db2_execute() - Executes a prepared SQL statement
  • db2_stmt_error() - Returns a string containing the SQLSTATE returned by an SQL statement
  • db2_stmt_errormsg() - Returns a string containing the last SQL statement error message

db2_pconnect
db2_primary_keys
IBM DB2 Funktionen


Returns a result set listing primary keys for a table

db2_prepare
db2_procedure_columns
IBM DB2 Funktionen
PHP Manual

db2_primary_keys

(PECL ibm_db2 >= 1.0.0)

db2_primary_keys — Returns a result set listing primary keys for a table

Beschreibung

resource db2_primary_keys ( resource $connection , string $qualifier , string $schema , string $table-name )

Returns a result set listing the primary keys for a table.

Parameter-Liste

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the tables. If schema is NULL, db2_primary_keys() matches the schema for the current connection.

table-name

The name of the table.

Rückgabewerte

Returns a statement resource with a result set containing rows describing the primary keys for the specified table. The result set is composed of the following columns:

Column name | Description
TABLE_CAT | Name of the catalog for the table containing the primary key. The value is NULL if this table does not have catalogs.
TABLE_SCHEM | Name of the schema for the table containing the primary key.
TABLE_NAME | Name of the table containing the primary key.
COLUMN_NAME | Name of the column containing the primary key.
KEY_SEQ | 1-indexed position of the column in the key.
PK_NAME | The name of the primary key.

Siehe auch

  • db2_column_privileges() - Returns a result set listing the columns and associated privileges for a table
  • db2_columns() - Returns a result set listing the columns and associated metadata for a table
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database

db2_prepare
db2_procedure_columns
IBM DB2 Funktionen


Returns a result set listing stored procedure parameters

db2_primary_keys
db2_procedures
IBM DB2 Funktionen
PHP Manual

db2_procedure_columns

(PECL ibm_db2 >= 1.0.0)

db2_procedure_columns — Returns a result set listing stored procedure parameters

Beschreibung

resource db2_procedure_columns ( resource $connection , string $qualifier , string $schema , string $procedure , string $parameter )

Returns a result set listing the parameters for one or more stored procedures.

Parameter-Liste

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the procedures. This parameter accepts a search pattern containing _ and % as wildcards.

procedure

The name of the procedure. This parameter accepts a search pattern containing _ and % as wildcards.

parameter

The name of the parameter. This parameter accepts a search pattern containing _ and % as wildcards. If this parameter is NULL, all parameters for the specified stored procedures are returned.

Rückgabewerte

Returns a statement resource with a result set containing rows describing the parameters for the stored procedures matching the specified parameters. The rows are composed of the following columns:

Column name | Description
PROCEDURE_CAT | The catalog that contains the procedure. The value is NULL if this table does not have catalogs.
PROCEDURE_SCHEM | Name of the schema that contains the stored procedure.
PROCEDURE_NAME | Name of the procedure.
COLUMN_NAME | Name of the parameter.
COLUMN_TYPE

An integer value representing the type of the parameter:

Return value | Parameter type
1 (SQL_PARAM_INPUT) | Input (IN) parameter.
2 (SQL_PARAM_INPUT_OUTPUT) | Input/output (INOUT) parameter.
3 (SQL_PARAM_OUTPUT) | Output (OUT) parameter.
DATA_TYPE | The SQL data type for the parameter represented as an integer value.
TYPE_NAME | A string representing the data type for the parameter.
COLUMN_SIZE | An integer value representing the size of the parameter.
BUFFER_LENGTH | Maximum number of bytes necessary to store data for this parameter.
DECIMAL_DIGITS | The scale of the parameter, or NULL where scale is not applicable.
NUM_PREC_RADIX | An integer value of either 10 (representing an exact numeric data type), 2 (representing an approximate numeric data type), or NULL (representing a data type for which radix is not applicable).
NULLABLE | An integer value representing whether the parameter is nullable or not.
REMARKS | Description of the parameter.
COLUMN_DEF | Default value for the parameter.
SQL_DATA_TYPE | An integer value representing the size of the parameter.
SQL_DATETIME_SUB | Returns an integer value representing a datetime subtype code, or NULL for SQL data types to which this does not apply.
CHAR_OCTET_LENGTH | Maximum length in octets for a character data type parameter, which matches COLUMN_SIZE for single-byte character set data, or NULL for non-character data types.
ORDINAL_POSITION | The 1-indexed position of the parameter in the CALL statement.
IS_NULLABLE | A string value where 'YES' means that the parameter accepts or returns NULL values and 'NO' means that the parameter does not accept or return NULL values.

Siehe auch

  • db2_column_privileges() - Returns a result set listing the columns and associated privileges for a table
  • db2_columns() - Returns a result set listing the columns and associated metadata for a table
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database

db2_primary_keys
db2_procedures
IBM DB2 Funktionen


Returns a result set listing the stored procedures registered in a database

db2_procedure_columns
db2_result
IBM DB2 Funktionen
PHP Manual

db2_procedures

(PECL ibm_db2 >= 1.0.0)

db2_procedures — Returns a result set listing the stored procedures registered in a database

Beschreibung

resource db2_procedures ( resource $connection , string $qualifier , string $schema , string $procedure )

Returns a result set listing the stored procedures registered in a database.

Parameter-Liste

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the procedures. This parameter accepts a search pattern containing _ and % as wildcards.

procedure

The name of the procedure. This parameter accepts a search pattern containing _ and % as wildcards.

Rückgabewerte

Returns a statement resource with a result set containing rows describing the stored procedures matching the specified parameters. The rows are composed of the following columns:

Column name | Description
PROCEDURE_CAT | The catalog that contains the procedure. The value is NULL if this table does not have catalogs.
PROCEDURE_SCHEM | Name of the schema that contains the stored procedure.
PROCEDURE_NAME | Name of the procedure.
NUM_INPUT_PARAMS | Number of input (IN) parameters for the stored procedure.
NUM_OUTPUT_PARAMS | Number of output (OUT) parameters for the stored procedure.
NUM_RESULT_SETS | Number of result sets returned by the stored procedure.
REMARKS | Any comments about the stored procedure.
PROCEDURE_TYPE | Always returns 1, indicating that the stored procedure does not return a return value.

Siehe auch

  • db2_column_privileges() - Returns a result set listing the columns and associated privileges for a table
  • db2_columns() - Returns a result set listing the columns and associated metadata for a table
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database

db2_procedure_columns
db2_result
IBM DB2 Funktionen


Returns a single column from a row in the result set

db2_procedures
db2_rollback
IBM DB2 Funktionen
PHP Manual

db2_result

(PECL ibm_db2 >= 1.0.0)

db2_result — Returns a single column from a row in the result set

Beschreibung

mixed db2_result ( resource $stmt , mixed $column )

Use db2_result() to return the value of a specified column in the current row of a result set. You must call db2_fetch_row() before calling db2_result() to set the location of the result set pointer.

Parameter-Liste

stmt

A valid stmt resource.

column

Either an integer mapping to the 0-indexed field in the result set, or a string matching the name of the column.

Rückgabewerte

Returns the value of the requested field if the field exists in the result set. Returns NULL if the field does not exist, and issues a warning.

Beispiele

Beispiel #1 A db2_result() example

The following example demonstrates how to iterate through a result set with db2_fetch_row() and retrieve columns from the result set with db2_result().

<?php
$sql = 'SELECT name, breed FROM animals WHERE weight < ?';
$stmt = db2_prepare($conn, $sql);
db2_execute($stmt, array(10));
while (db2_fetch_row($stmt)) {
    $name = db2_result($stmt, 0);
    $breed = db2_result($stmt, 'BREED');
    print "$name $breed";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

cat Pook
gold fish Bubbles
budgerigar Gizmo
goat Rickety Ride

Siehe auch

  • db2_fetch_array() - Returns an array, indexed by column position, representing a row in a result set
  • db2_fetch_assoc() - Returns an array, indexed by column name, representing a row in a result set
  • db2_fetch_both() - Returns an array, indexed by both column name and position, representing a row in a result set
  • db2_fetch_object() - Returns an object with properties representing columns in the fetched row
  • db2_fetch_row() - Sets the result set pointer to the next row or requested row

db2_procedures
db2_rollback
IBM DB2 Funktionen


Rolls back a transaction

db2_result
db2_server_info
IBM DB2 Funktionen
PHP Manual

db2_rollback

(PECL ibm_db2 >= 1.0.0)

db2_rollback — Rolls back a transaction

Beschreibung

bool db2_rollback ( resource $connection )

Rolls back an in-progress transaction on the specified connection resource and begins a new transaction. PHP applications normally default to AUTOCOMMIT mode, so db2_rollback() normally has no effect unless AUTOCOMMIT has been turned off for the connection resource.

Parameter-Liste

connection

A valid database connection resource variable as returned from db2_connect() or db2_pconnect().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Rolling back a DELETE statement

In the following example, we count the number of rows in a table, turn off AUTOCOMMIT mode on a database connection, delete all of the rows in the table and return the count of 0 to prove that the rows have been removed. We then issue db2_rollback() and return the updated count of rows in the table to show that the number is the same as before we issued the DELETE statement. The return to the original state of the table demonstrates that the roll back of the transaction succeeded.

<?php
$conn = db2_connect($database, $user, $password);

if ($conn) {
    $stmt = db2_exec($conn, "SELECT count(*) FROM animals");
    $res = db2_fetch_array( $stmt );
    echo $res[0] . "\n";

    // Turn AUTOCOMMIT off
    db2_autocommit($conn, DB2_AUTOCOMMIT_OFF);

    // Delete all rows from ANIMALS
    db2_exec($conn, "DELETE FROM animals");

    $stmt = db2_exec($conn, "SELECT count(*) FROM animals");
    $res = db2_fetch_array( $stmt );
    echo $res[0] . "\n";

    // Roll back the DELETE statement
    db2_rollback( $conn );

    $stmt = db2_exec( $conn, "SELECT count(*) FROM animals" );
    $res = db2_fetch_array( $stmt );
    echo $res[0] . "\n";
    db2_close($conn);
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

7
0
7

Siehe auch

  • db2_autocommit() - Returns or sets the AUTOCOMMIT state for a database connection
  • db2_commit() - Commits a transaction

db2_result
db2_server_info
IBM DB2 Funktionen


Returns an object with properties that describe the DB2 database server

db2_rollback
db2_set_option
IBM DB2 Funktionen
PHP Manual

db2_server_info

(PECL ibm_db2 >= 1.1.1)

db2_server_info — Returns an object with properties that describe the DB2 database server

Beschreibung

object db2_server_info ( resource $connection )

This function returns an object with read-only properties that return information about the IBM DB2, Cloudscape, or Apache Derby database server. The following table lists the database server properties:

Database server properties
Property name | Return type | Description
DBMS_NAME | string | The name of the database server to which you are connected. For DB2 servers this is a combination of DB2 followed by the operating system on which the database server is running.
DBMS_VER | string | The version of the database server, in the form of a string "MM.mm.uuuu" where MM is the major version, mm is the minor version, and uuuu is the update. For example, "08.02.0001" represents major version 8, minor version 2, update 1.
DB_CODEPAGE | int | The code page of the database to which you are connected.
DB_NAME | string | The name of the database to which you are connected.
DFT_ISOLATION string

The default transaction isolation level supported by the server:

UR

Uncommitted read: changes are immediately visible by all concurrent transactions.

CS

Cursor stability: a row read by one transaction can be altered and committed by a second concurrent transaction.

RS

Read stability: a transaction can add or remove rows matching a search condition or a pending transaction.

RR

Repeatable read: data affected by pending transaction is not available to other transactions.

NC

No commit: any changes are visible at the end of a successful operation. Explicit commits and rollbacks are not allowed.

IDENTIFIER_QUOTE_CHAR | string | The character used to delimit an identifier.
INST_NAME | string | The instance on the database server that contains the database.
ISOLATION_OPTION | array | An array of the isolation options supported by the database server. The isolation options are described in the DFT_ISOLATION property.
KEYWORDS | array | An array of the keywords reserved by the database server.
LIKE_ESCAPE_CLAUSE | bool | TRUE if the database server supports the use of % and _ wildcard characters. FALSE if the database server does not support these wildcard characters.
MAX_COL_NAME_LEN | int | Maximum length of a column name supported by the database server, expressed in bytes.
MAX_IDENTIFIER_LEN | int | Maximum length of an SQL identifier supported by the database server, expressed in characters.
MAX_INDEX_SIZE | int | Maximum size of columns combined in an index supported by the database server, expressed in bytes.
MAX_PROC_NAME_LEN | int | Maximum length of a procedure name supported by the database server, expressed in bytes.
MAX_ROW_SIZE | int | Maximum length of a row in a base table supported by the database server, expressed in bytes.
MAX_SCHEMA_NAME_LEN | int | Maximum length of a schema name supported by the database server, expressed in bytes.
MAX_STATEMENT_LEN | int | Maximum length of an SQL statement supported by the database server, expressed in bytes.
MAX_TABLE_NAME_LEN | int | Maximum length of a table name supported by the database server, expressed in bytes.
NON_NULLABLE_COLUMNS | bool | TRUE if the database server supports columns that can be defined as NOT NULL, FALSE if the database server does not support columns defined as NOT NULL.
PROCEDURES | bool | TRUE if the database server supports the use of the CALL statement to call stored procedures, FALSE if the database server does not support the CALL statement.
SPECIAL_CHARS | string | A string containing all of the characters other than a-Z, 0-9, and underscore that can be used in an identifier name.
SQL_CONFORMANCE string

The level of conformance to the ANSI/ISO SQL-92 specification offered by the database server:

ENTRY

Entry-level SQL-92 compliance.

FIPS127

FIPS-127-2 transitional compliance.

FULL

Full level SQL-92 compliance.

INTERMEDIATE

Intermediate level SQL-92 compliance.

Parameter-Liste

connection

Specifies an active DB2 client connection.

Rückgabewerte

Returns an object on a successful call. Returns FALSE on failure.

Beispiele

Beispiel #1 A db2_server_info() example

To retrieve information about the server, you must pass a valid database connection resource to db2_server_info().

<?php

$conn = db2_connect('sample', 'db2inst1', 'ibmdb2');

$server = db2_server_info( $conn );

if ($server) {
    echo "DBMS_NAME: ";                 var_dump( $server->DBMS_NAME );
    echo "DBMS_VER: ";                  var_dump( $server->DBMS_VER );
    echo "DB_CODEPAGE: ";               var_dump( $server->DB_CODEPAGE );
    echo "DB_NAME: ";                   var_dump( $server->DB_NAME );
    echo "INST_NAME: ";                 var_dump( $server->INST_NAME );
    echo "SPECIAL_CHARS: ";             var_dump( $server->SPECIAL_CHARS );
    echo "KEYWORDS: ";                  var_dump( sizeof($server->KEYWORDS) );
    echo "DFT_ISOLATION: ";             var_dump( $server->DFT_ISOLATION );
    echo "ISOLATION_OPTION: ";
    $il = '';
    foreach( $server->ISOLATION_OPTION as $opt )
    {
       $il .= $opt." ";
    }
    var_dump( $il );
    echo "SQL_CONFORMANCE: ";           var_dump( $server->SQL_CONFORMANCE );
    echo "PROCEDURES: ";                var_dump( $server->PROCEDURES );
    echo "IDENTIFIER_QUOTE_CHAR: ";     var_dump( $server->IDENTIFIER_QUOTE_CHAR );
    echo "LIKE_ESCAPE_CLAUSE: ";        var_dump( $server->LIKE_ESCAPE_CLAUSE );
    echo "MAX_COL_NAME_LEN: ";          var_dump( $server->MAX_COL_NAME_LEN );
    echo "MAX_ROW_SIZE: ";              var_dump( $server->MAX_ROW_SIZE );
    echo "MAX_IDENTIFIER_LEN: ";        var_dump( $server->MAX_IDENTIFIER_LEN );
    echo "MAX_INDEX_SIZE: ";            var_dump( $server->MAX_INDEX_SIZE );
    echo "MAX_PROC_NAME_LEN: ";         var_dump( $server->MAX_PROC_NAME_LEN );
    echo "MAX_SCHEMA_NAME_LEN: ";       var_dump( $server->MAX_SCHEMA_NAME_LEN );
    echo "MAX_STATEMENT_LEN: ";         var_dump( $server->MAX_STATEMENT_LEN );
    echo "MAX_TABLE_NAME_LEN: ";        var_dump( $server->MAX_TABLE_NAME_LEN );
    echo "NON_NULLABLE_COLUMNS: ";      var_dump( $server->NON_NULLABLE_COLUMNS );

    db2_close($conn);
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

DBMS_NAME: string(9) "DB2/LINUX"
DBMS_VER: string(10) "08.02.0000"
DB_CODEPAGE: int(1208)
DB_NAME: string(6) "SAMPLE"
INST_NAME: string(8) "db2inst1"
SPECIAL_CHARS: string(2) "@#"
KEYWORDS: int(179)
DFT_ISOLATION: string(2) "CS"
ISOLATION_OPTION: string(12) "UR CS RS RR "
SQL_CONFORMANCE: string(7) "FIPS127"
PROCEDURES: bool(true)
IDENTIFIER_QUOTE_CHAR: string(1) """
LIKE_ESCAPE_CLAUSE: bool(true)
MAX_COL_NAME_LEN: int(30)
MAX_ROW_SIZE: int(32677)
MAX_IDENTIFIER_LEN: int(18)
MAX_INDEX_SIZE: int(1024)
MAX_PROC_NAME_LEN: int(128)
MAX_SCHEMA_NAME_LEN: int(30)
MAX_STATEMENT_LEN: int(2097152)
MAX_TABLE_NAME_LEN: int(128)
NON_NULLABLE_COLUMNS: bool(true)

Siehe auch

  • db2_client_info() - Returns an object with properties that describe the DB2 database client

db2_rollback
db2_set_option
IBM DB2 Funktionen


Set options for connection or statement resources

db2_server_info
db2_special_columns
IBM DB2 Funktionen
PHP Manual

db2_set_option

(PECL ibm_db2 >= 1.0.0)

db2_set_option — Set options for connection or statement resources

Beschreibung

bool db2_set_option ( resource $resource , array $options , int $type )

Sets options for a statement resource or a connection resource. You cannot set options for result set resources.

Parameter-Liste

resource

A valid statement resource as returned from db2_prepare() or a valid connection resource as returned from db2_connect() or db2_pconnect().

options

An associative array containing valid statement or connection options. This parameter can be used to change autocommit values, cursor types (scrollable or forward), and to specify the case of the column names (lower, upper, or natural) that will appear in a result set.

autocommit

Passing DB2_AUTOCOMMIT_ON turns autocommit on for the specified connection resource.

Passing DB2_AUTOCOMMIT_OFF turns autocommit off for the specified connection resource.

cursor

Passing DB2_FORWARD_ONLY specifies a forward-only cursor for a statement resource. This is the default cursor type, and is supported by all database servers.

Passing DB2_SCROLLABLE specifies a scrollable cursor for a statement resource. Scrollable cursors enable result set rows to be accessed in non-sequential order, but are only supported by IBM DB2 Universal Database databases.

binmode

Passing DB2_BINARY specifies that binary data will be returned as is. This is the default mode. This is the equivalent of setting ibm_db2.binmode=1 in php.ini.

Passing DB2_CONVERT specifies that binary data will be converted to hexadecimal encoding, and will be returned as such. This is the equivalent of setting ibm_db2.binmode=2 in php.ini.

Passing DB2_PASSTHRU specifies that binary data will be converted to NULL. This is the equivalent of setting ibm_db2.binmode=3 in php.ini.

db2_attr_case

Passing DB2_CASE_LOWER specifies that column names of the result set are returned in lower case.

Passing DB2_CASE_UPPER specifies that column names of the result set are returned in upper case.

Passing DB2_CASE_NATURAL specifies that column names of the result set are returned in natural case.

deferred_prepare

Passing DB2_DEFERRED_PREPARE_ON turns deferred prepare on for the specified statement resource.

Passing DB2_DEFERRED_PREPARE_OFF turns deferred prepare off for the specified statement resource.

The following new i5/OS options are available in ibm_db2 version 1.5.1 and later. These options apply only when running PHP and ibm_db2 natively on i5 systems.

i5_fetch_only

DB2_I5_FETCH_ON - Cursors are read-only and cannot be used for positioned updates or deletes. This is the default unless SQL_ATTR_FOR_FETCH_ONLY environment has been set to SQL_FALSE.

DB2_I5_FETCH_OFF - Cursors can be used for positioned updates and deletes.

The following new option is available in ibm_db2 version 1.8.0 and later.

rowcount

DB2_ROWCOUNT_PREFETCH_ON - Client can request the full row count prior to fetching, which means that db2_num_rows() returns the number of rows selected even when a ROLLFORWARD_ONLY cursor is used.

DB2_ROWCOUNT_PREFETCH_OFF - Client cannot request the full row count prior to fetching.

The following new options are available in ibm_db2 version 1.7.0 and later.

trusted_user

To switch the user to a trusted user, pass the User ID (String) of the trusted user as the value of this key. This option can be set on a connection resource only. To use this option, trusted context must be enabled on the connection resource.

trusted_password

The password (String) that corresponds to the user specified by the trusted_user key.

The following new options are available in ibm_db2 version 1.6.0 and later. These options provide useful tracking information that can be accessed during execution with db2_get_option().

Hinweis:

When the value in each option is being set, some servers might not handle the entire length provided and might truncate the value.

To ensure that the data specified in each option is converted correctly when transmitted to a host system, use only the characters A through Z, 0 through 9, and the underscore (_) or period (.).

userid

SQL_ATTR_INFO_USERID - A pointer to a null-terminated character string used to identify the client user ID sent to the host database server when using DB2 Connect.

Hinweis:

DB2 for z/OS and OS/390 servers support up to a length of 16 characters. This user-id is not to be confused with the authentication user-id, it is for identification purposes only and is not used for any authorization.

acctstr

SQL_ATTR_INFO_ACCTSTR - A pointer to a null-terminated character string used to identify the client accounting string sent to the host database server when using DB2 Connect.

Hinweis:

DB2 for z/OS and OS/390 servers support up to a length of 200 characters.

applname

SQL_ATTR_INFO_APPLNAME - A pointer to a null-terminated character string used to identify the client application name sent to the host database server when using DB2 Connect.

Hinweis:

DB2 for z/OS and OS/390 servers support up to a length of 32 characters.

wrkstnname

SQL_ATTR_INFO_WRKSTNNAME - A pointer to a null-terminated character string used to identify the client workstation name sent to the host database server when using DB2 Connect.

Hinweis:

DB2 for z/OS and OS/390 servers support up to a length of 18 characters.

type

An integer value that specifies the type of resource that was passed into the function. The type of resource and this value must correspond.

Passing 1 as the value specifies that a connection resource has been passed into the function.

Passing any integer not equal to 1 as the value specifies that a statement resource has been passed into the function.

The following table specifies which options are compatible with the available resource types:

Resource-Parameter Matrix
Key | Value | Resource Type
 |  | Connection | Statement | Result Set
autocommit | DB2_AUTOCOMMIT_ON | X | - | -
autocommit | DB2_AUTOCOMMIT_OFF | X | - | -
cursor | DB2_SCROLLABLE | - | X | -
cursor | DB2_FORWARD_ONLY | - | X | -
binmode | DB2_BINARY | X | X | -
binmode | DB2_CONVERT | X | X | -
binmode | DB2_PASSTHRU | X | X | -
db2_attr_case | DB2_CASE_LOWER | X | X | -
db2_attr_case | DB2_CASE_UPPER | X | X | -
db2_attr_case | DB2_CASE_NATURAL | X | X | -
deferred_prepare | DB2_DEFERRED_PREPARE_ON | - | X | -
deferred_prepare | DB2_DEFERRED_PREPARE_OFF | - | X | -
i5_fetch_only | DB2_I5_FETCH_ON | - | X | -
i5_fetch_only | DB2_I5_FETCH_OFF | - | X | -
rowcount | DB2_ROWCOUNT_PREFETCH_ON | - | X | -
rowcount | DB2_ROWCOUNT_PREFETCH_OFF | - | X | -
trusted_user | <USER NAME> (String) | X | - | -
trusted_password | <PASSWORD> (String) | X | - | -
userid | SQL_ATTR_INFO_USERID | X | X | -
acctstr | SQL_ATTR_INFO_ACCTSTR | X | X | -
applname | SQL_ATTR_INFO_APPLNAME | X | X | -
wrkstnname | SQL_ATTR_INFO_WRKSTNNAME | X | X | -

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Setting one parameter with a connection resource

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_ON);

/* Call the function using the correct resource, options array, and type values */
$result = db2_set_option($conn, $options, 1);

/* Check if all options could be set correctly */
if($result)
{
  echo 'Options Set Successfully';
}
else
{
  echo 'Could Not Set Options';
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Options Set Successfully

Beispiel #2 Setting multiple parameters with a connection resource

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
                    'binmode' => DB2_PASSTHRU,
              'db2_attr_case' => DB2_CASE_UPPER,
                     'cursor' => DB2_SCROLLABLE);

/* Call the function using the correct resource, options array, and type values */
$result = db2_set_option($conn, $options, 1);

/* Check if all options could be set correctly */
if($result)
{
  echo 'Options Set Successfully';
}
else
{
  echo 'Could Not Set Options';
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Options Set Successfully

Beispiel #3 Setting multiple parameters with an invalid key

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
             'MY_INVALID_KEY' => DB2_PASSTHRU,
              'db2_attr_case' => DB2_CASE_UPPER,
                     'cursor' => DB2_SCROLLABLE);

/* Call the function using the correct resource, options array, and type values */
$result = db2_set_option($conn, $options, 1);

/* Check if all options could be set correctly */
if($result)
{
  echo 'Options Set Successfully';
}
else
{
  echo 'Could Not Set Options';
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Could Not Set Options

Beispiel #4 Setting multiple parameters with an invalid value

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
                    'binmode' => 'INVALID_VALUE',
              'db2_attr_case' => DB2_CASE_UPPER,
                     'cursor' => DB2_SCROLLABLE);

/* Call the function using the correct resource, options array, and type values */
$result = db2_set_option($conn, $options, 1);

/* Check if all options could be set correctly */
if($result)
{
  echo 'Options Set Successfully';
}
else
{
  echo 'Could Not Set Options';
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Could Not Set Options

Beispiel #5 Setting multiple parameters with a connection resource and the wrong type

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
                    'binmode' => DB2_PASSTHRU,
              'db2_attr_case' => DB2_CASE_UPPER,
                     'cursor' => DB2_SCROLLABLE);

/* Call the function using the correct resource, options array, and the wrong type value */
$result = db2_set_option($conn, $options, 2);

/* Check if all options could be set correctly */
if($result)
{
  echo 'Options Set Successfully';
}
else
{
  echo 'Could Not Set Options';
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Could Not Set Options

Beispiel #6 Setting multiple parameters with the wrong resource

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
                    'binmode' => DB2_PASSTHRU,
              'db2_attr_case' => DB2_CASE_UPPER,
                     'cursor' => DB2_SCROLLABLE);

$stmt = db2_prepare($conn, 'SELECT * FROM EMPLOYEE');

/* Call the function using the wrong resource, and the correct options array, and type values */
$result = db2_set_option($stmt, $options, 1);

/* Check if all options could be set correctly */
if($result)
{
  echo 'Options Set Successfully';
}
else
{
  echo 'Could Not Set Options';
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Could Not Set Options

Beispiel #7 Putting it all together

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('db2_attr_case' => DB2_CASE_LOWER,
                        'cursor' => DB2_SCROLLABLE);

$stmt = db2_prepare($conn, 'SELECT * FROM EMPLOYEE WHERE EMPNO = ? OR EMPNO = ?');

/* Call the function using the correct resource, options array, and type values */
$option_result = db2_set_option($stmt, $options, 2);
$result = db2_execute($stmt, array('000130', '000140'));

/* Get Row 2 before Row 1 since Scrollable Cursor */
print_r(db2_fetch_assoc($stmt, 2));
print '<br /><br />';
print_r(db2_fetch_assoc($stmt, 1));

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [empno] => 000140
    [firstnme] => HEATHER
    [midinit] => A
    [lastname] => NICHOLLS
    [workdept] => C01
    [phoneno] => 1793
    [hiredate] => 1976-12-15
    [job] => ANALYST
    [edlevel] => 18
    [sex] => F
    [birthdate] => 1946-01-19
    [salary] => 28420.00
    [bonus] => 600.00
    [comm] => 2274.00
)

Array
(
    [empno] => 000130
    [firstnme] => DELORES
    [midinit] => M
    [lastname] => QUINTANA
    [workdept] => C01
    [phoneno] => 4578
    [hiredate] => 1971-07-28
    [job] => ANALYST
    [edlevel] => 16
    [sex] => F
    [birthdate] => 1925-09-15
    [salary] => 23800.00
    [bonus] => 500.00
    [comm] => 1904.00
)

Beispiel #8 i5/OS cursors are read-only

<?php
  $conn = db2_connect("", "", "", array("i5_lib"=>"nobody"));
  $stmt = db2_prepare($conn, 'select * from names where first = ?');
  $name = "first2";
  db2_bind_param($stmt, 1, "name", DB2_PARAM_IN);
  $options = array("i5_fetch_only"=>DB2_I5_FETCH_ON);
  db2_set_option($stmt,$options,0);
  if (db2_execute($stmt)) {
    while ($row = db2_fetch_array($stmt)) {
      echo "{$row[0]} {$row[1]}";
    }
  }
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

first2 last2

Siehe auch

  • db2_connect() - Returns a connection to a database
  • db2_pconnect() - Returns a persistent connection to a database
  • db2_exec() - Executes an SQL statement directly
  • db2_prepare() - Prepares an SQL statement to be executed
  • db2_cursor_type() - Returns the cursor type used by a statement resource

db2_server_info
db2_special_columns
IBM DB2 Funktionen


Returns a result set listing the unique row identifier columns for a table

db2_set_option
db2_statistics
IBM DB2 Funktionen
PHP Manual

db2_special_columns

(PECL ibm_db2 >= 1.0.0)

db2_special_columns — Returns a result set listing the unique row identifier columns for a table

Beschreibung

resource db2_special_columns ( resource $connection , string $qualifier , string $schema , string $table_name , int $scope )

Returns a result set listing the unique row identifier columns for a table.

Parameter-Liste

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the tables.

table_name

The name of the table.

scope

Integer value representing the minimum duration for which the unique row identifier is valid. This can be one of the following values:

Integer value | SQL constant | Description
0 | SQL_SCOPE_CURROW | Row identifier is valid only while the cursor is positioned on the row.
1 | SQL_SCOPE_TRANSACTION | Row identifier is valid for the duration of the transaction.
2 | SQL_SCOPE_SESSION | Row identifier is valid for the duration of the connection.

Rückgabewerte

Returns a statement resource with a result set containing rows with unique row identifier information for a table. The rows are composed of the following columns:

Column name | Description
SCOPE

Integer value | SQL constant | Description
0 | SQL_SCOPE_CURROW | Row identifier is valid only while the cursor is positioned on the row.
1 | SQL_SCOPE_TRANSACTION | Row identifier is valid for the duration of the transaction.
2 | SQL_SCOPE_SESSION | Row identifier is valid for the duration of the connection.
COLUMN_NAME | Name of the unique column.
DATA_TYPE | SQL data type for the column.
TYPE_NAME | Character string representation of the SQL data type for the column.
COLUMN_SIZE | An integer value representing the size of the column.
BUFFER_LENGTH | Maximum number of bytes necessary to store data from this column.
DECIMAL_DIGITS | The scale of the column, or NULL where scale is not applicable.
NUM_PREC_RADIX | An integer value of either 10 (representing an exact numeric data type), 2 (representing an approximate numeric data type), or NULL (representing a data type for which radix is not applicable).
PSEUDO_COLUMN | Always returns 1.

Siehe auch

  • db2_column_privileges() - Returns a result set listing the columns and associated privileges for a table
  • db2_columns() - Returns a result set listing the columns and associated metadata for a table
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database

db2_set_option
db2_statistics
IBM DB2 Funktionen


Returns a result set listing the index and statistics for a table

db2_special_columns
db2_stmt_error
IBM DB2 Funktionen
PHP Manual

db2_statistics

(PECL ibm_db2 >= 1.0.0)

db2_statistics — Returns a result set listing the index and statistics for a table

Beschreibung

resource db2_statistics ( resource $connection , string $qualifier , string $schema , string $table-name , bool $unique )

Returns a result set listing the index and statistics for a table.

Parameter-Liste

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema that contains the targeted table. If this parameter is NULL, the statistics and indexes are returned for the schema of the current user.

table_name

The name of the table.

unique

An integer value representing the type of index information to return.

0

Return only the information for unique indexes on the table.

1

Return the information for all indexes on the table.

Rückgabewerte

Returns a statement resource with a result set containing rows describing the statistics and indexes for the base tables matching the specified parameters. The rows are composed of the following columns:

Column name | Description
TABLE_CAT | The catalog that contains the table. The value is NULL if this table does not have catalogs.
TABLE_SCHEM | Name of the schema that contains the table.
TABLE_NAME | Name of the table.
NON_UNIQUE

An integer value representing whether the index prohibits unique values, or whether the row represents statistics on the table itself:

Return value | Parameter type
0 (SQL_FALSE) | The index allows duplicate values.
1 (SQL_TRUE) | The index values must be unique.
NULL | This row is statistics information for the table itself.
INDEX_QUALIFIER | A string value representing the qualifier that would have to be prepended to INDEX_NAME to fully qualify the index.
INDEX_NAME | A string representing the name of the index.
TYPE

An integer value representing the type of information contained in this row of the result set:

Return value | Parameter type
0 (SQL_TABLE_STAT) | The row contains statistics about the table itself.
1 (SQL_INDEX_CLUSTERED) | The row contains information about a clustered index.
2 (SQL_INDEX_HASH) | The row contains information about a hashed index.
3 (SQL_INDEX_OTHER) | The row contains information about a type of index that is neither clustered nor hashed.
ORDINAL_POSITION | The 1-indexed position of the column in the index. NULL if the row contains statistics information about the table itself.
COLUMN_NAME | The name of the column in the index. NULL if the row contains statistics information about the table itself.
ASC_OR_DESC | A if the column is sorted in ascending order, D if the column is sorted in descending order, NULL if the row contains statistics information about the table itself.
CARDINALITY

If the row contains information about an index, this column contains an integer value representing the number of unique values in the index.

If the row contains information about the table itself, this column contains an integer value representing the number of rows in the table.

PAGES

If the row contains information about an index, this column contains an integer value representing the number of pages used to store the index.

If the row contains information about the table itself, this column contains an integer value representing the number of pages used to store the table.

FILTER_CONDITION | Always returns NULL.

Siehe auch

  • db2_column_privileges() - Returns a result set listing the columns and associated privileges for a table
  • db2_columns() - Returns a result set listing the columns and associated metadata for a table
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database

db2_special_columns
db2_stmt_error
IBM DB2 Funktionen


Returns a string containing the SQLSTATE returned by an SQL statement

db2_statistics
db2_stmt_errormsg
IBM DB2 Funktionen
PHP Manual

db2_stmt_error

(PECL ibm_db2 >= 1.0.0)

db2_stmt_error — Returns a string containing the SQLSTATE returned by an SQL statement

Beschreibung

string db2_stmt_error ([ resource $stmt ] )

Returns a string containing the SQLSTATE value returned by an SQL statement.

If you do not pass a statement resource as an argument to db2_stmt_error(), the driver returns the SQLSTATE value associated with the last attempt to return a statement resource, for example, from db2_prepare() or db2_exec().

To learn what the SQLSTATE value means, you can issue the following command at a DB2 Command Line Processor prompt: db2 '? sqlstate-value'. You can also call db2_stmt_errormsg() to retrieve an explicit error message and the associated SQLCODE value.

Parameter-Liste

stmt

A valid statement resource.

Rückgabewerte

Returns a string containing an SQLSTATE value.

Siehe auch

  • db2_conn_error() - Returns a string containing the SQLSTATE returned by the last connection attempt
  • db2_conn_errormsg() - Returns the last connection error message and SQLCODE value
  • db2_stmt_errormsg() - Returns a string containing the last SQL statement error message

db2_statistics
db2_stmt_errormsg
IBM DB2 Funktionen


Returns a string containing the last SQL statement error message

db2_stmt_error
db2_table_privileges
IBM DB2 Funktionen
PHP Manual

db2_stmt_errormsg

(PECL ibm_db2 >= 1.0.0)

db2_stmt_errormsg — Returns a string containing the last SQL statement error message

Beschreibung

string db2_stmt_errormsg ([ resource $stmt ] )

Returns a string containing the last SQL statement error message.

If you do not pass a statement resource as an argument to db2_stmt_errormsg(), the driver returns the error message associated with the last attempt to return a statement resource, for example, from db2_prepare() or db2_exec().

Parameter-Liste

stmt

A valid statement resource.

Rückgabewerte

Returns a string containing the error message and SQLCODE value for the last error that occurred issuing an SQL statement.

Siehe auch

  • db2_conn_error() - Returns a string containing the SQLSTATE returned by the last connection attempt
  • db2_conn_errormsg() - Returns the last connection error message and SQLCODE value
  • db2_stmt_error() - Returns a string containing the SQLSTATE returned by an SQL statement

db2_stmt_error
db2_table_privileges
IBM DB2 Funktionen


Returns a result set listing the tables and associated privileges in a database

db2_stmt_errormsg
db2_tables
IBM DB2 Funktionen
PHP Manual

db2_table_privileges

(PECL ibm_db2 >= 1.0.0)

db2_table_privileges — Returns a result set listing the tables and associated privileges in a database

Beschreibung

resource db2_table_privileges ( resource $connection [, string $qualifier [, string $schema [, string $table_name ]]] )

Returns a result set listing the tables and associated privileges in a database.

Parameter-Liste

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the tables. This parameter accepts a search pattern containing _ and % as wildcards.

table_name

The name of the table. This parameter accepts a search pattern containing _ and % as wildcards.

Rückgabewerte

Returns a statement resource with a result set containing rows describing the privileges for the tables that match the specified parameters. The rows are composed of the following columns:

Column name | Description
TABLE_CAT | The catalog that contains the table. The value is NULL if this table does not have catalogs.
TABLE_SCHEM | Name of the schema that contains the table.
TABLE_NAME | Name of the table.
GRANTOR | Authorization ID of the user who granted the privilege.
GRANTEE | Authorization ID of the user to whom the privilege was granted.
PRIVILEGE | The privilege that has been granted. This can be one of ALTER, CONTROL, DELETE, INDEX, INSERT, REFERENCES, SELECT, or UPDATE.
IS_GRANTABLE | A string value of "YES" or "NO" indicating whether the grantee can grant the privilege to other users.

Siehe auch

  • db2_column_privileges() - Returns a result set listing the columns and associated privileges for a table
  • db2_columns() - Returns a result set listing the columns and associated metadata for a table
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database

db2_stmt_errormsg
db2_tables
IBM DB2 Funktionen


Returns a result set listing the tables and associated metadata in a database

db2_table_privileges
Informix
IBM DB2 Funktionen
PHP Manual

db2_tables

(PECL ibm_db2 >= 1.0.0)

db2_tables — Returns a result set listing the tables and associated metadata in a database

Beschreibung

resource db2_tables ( resource $connection [, string $qualifier [, string $schema [, string $table-name [, string $table-type ]]]] )

Returns a result set listing the tables and associated metadata in a database.

Parameter-Liste

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the tables. This parameter accepts a search pattern containing _ and % as wildcards.

table-name

The name of the table. This parameter accepts a search pattern containing _ and % as wildcards.

table-type

A list of comma-delimited table type identifiers. To match all table types, pass NULL or an empty string. Valid table type identifiers include: ALIAS, HIERARCHY TABLE, INOPERATIVE VIEW, NICKNAME, MATERIALIZED QUERY TABLE, SYSTEM TABLE, TABLE, TYPED TABLE, TYPED VIEW, and VIEW.

Rückgabewerte

Returns a statement resource with a result set containing rows describing the tables that match the specified parameters. The rows are composed of the following columns:

Column name | Description
TABLE_CAT | The catalog that contains the table. The value is NULL if this table does not have catalogs.
TABLE_SCHEM | Name of the schema that contains the table.
TABLE_NAME | Name of the table.
TABLE_TYPE | Table type identifier for the table.
REMARKS | Description of the table.

Siehe auch

  • db2_column_privileges() - Returns a result set listing the columns and associated privileges for a table
  • db2_columns() - Returns a result set listing the columns and associated metadata for a table
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database

db2_table_privileges
Informix
IBM DB2 Funktionen


Informix

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Informix Funktionen
    • ifx_affected_rows — Gibt die Anzahl der Datensätze zurück, die von einer Abfrage betroffen sind
    • ifx_blobinfile_mode — Setzt den Standardmodus für BLOBs bei allen SELECT Abfragen
    • ifx_byteasvarchar — Setzt den Standard Byte-Modus
    • ifx_close — Schließt eine Informix-Verbindung
    • ifx_connect — Öffnet eine Verbindung zu einem Informix Server
    • ifx_copy_blob — Dupliziert ein gegebenes BLOB (Binary Large Object)
    • ifx_create_blob — Erzeugt ein BLOB (Binary Large Object)
    • ifx_create_char — Erzeugt ein Zeichen-Objekt
    • ifx_do — Führt eine vorbereitete Abfrage aus
    • ifx_error — Gibt den Fehlercode des letzten Informix Aufrufs zurück
    • ifx_errormsg — Gibt die Fehlermeldung des zuletzt aufgetretenen Informix Fehlers zurück
    • ifx_fetch_row — Holt eine Zeile als assoziatives Array
    • ifx_fieldproperties — Gibt eine Liste mit den Feldeigenschaften zurück
    • ifx_fieldtypes — Gibt eine Liste der Informix SQL Felder zurück
    • ifx_free_blob — Löscht ein Blob Objekt
    • ifx_free_char — Löscht ein CHAR Objekt
    • ifx_free_result — Gibt den belegten Speicher einer Ergebnismenge wieder frei
    • ifx_get_blob — Gibt den Inhalt eines Large Objects zurück
    • ifx_get_char — Gibt den Inhalt eines Zeichen-Objekts zurück
    • ifx_getsqlca — Gibt den Inhalt von sqlca.sqlerrd[0..5] nach einer Abfrage zurück
    • ifx_htmltbl_result — Gibt alle Zeilen einer Abfrage als HTML-Tabelle formatiert zurück
    • ifx_nullformat — Setzt den aktuellen Rückgabewert für Nullwerte beim Lesen von Zeilen
    • ifx_num_fields — Gibt die Anzahl der Spalten einer Abfrage zurück
    • ifx_num_rows — Count the rows already fetched from a query
    • ifx_pconnect — Öffnet eine persistente Informix Verbindung
    • ifx_prepare — Bereitet eine Abfrage zur späteren Ausführung vor
    • ifx_query — Schickt eine Informix Abfrage an den Server
    • ifx_textasvarchar — Setzt den Standard-Textmodus
    • ifx_update_blob — Aktualisiert den Inhalt eines Blob-Objekts
    • ifx_update_char — Aktualisiert den Inhalt eines Char-Objekts
    • ifxus_close_slob — Löscht ein Slob-Objekt
    • ifxus_create_slob — Erzeugt ein Slob-Objekt und öffnet es
    • ifxus_free_slob — Löscht ein Slob-Objekt
    • ifxus_open_slob — Öffnet ein Slob-Objekt
    • ifxus_read_slob — Liest nbytes aus einem Slob-Objekt
    • ifxus_seek_slob — Setzt die aktuelle Dateizeiger- oder Suchposition
    • ifxus_tell_slob — Gibt die aktuelle Dateizeiger- oder Suchposition zurück
    • ifxus_write_slob — Schreibt einen String in ein Slob-Objekt
db2_tables
Einführung
Anbieterspezifische Datenbankerweiterungen


Einführung

Der Informix-Treiber für Informix (IDS) 7.x, SE 7.x, Universal Server (IUS) 9.x und IDS 2000 ist in "ifx.ec" und "php3_ifx.h" im Verzeichnis der Informix Erweiterung implementiert. Die Unterstützung für IDS 7.x ist mit der vollen Unterstützung für TEXT- und BYTE-Felder ziemlich vollständig. Die Unterstützung von IUS 9.x ist nur teilweise fertig: die neuen Datentypen gibt es zwar, aber die Unterstützung von SLOB- und CLOB-Datentypen ist noch in Arbeit.

Hinweis:

Diese Erweiterung wurde ins » PECL-Repositorium verschoben und ist nicht mehr Teil von PHP ab PHP 5.2.1.

Informix
Installation/Konfiguration
Informix


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Informix


Anforderungen

Hinweis: Bemerkungen zur Konfiguration

Sie brauchen ESQL/C, um den PHP Informix-Treiber zu kompilieren. ESQL/C Versionen ab 7.2x sollten genügen. ESQL/C ist jetzt Teil des Informix Client SDK.

Versichern Sie sich, dass die Variable "INFORMIXDIR" gesetzt ist und dass Sie $INFORMIXDIR/bin in Ihren PATH eingebunden haben, bevor Sie das "configure" Skript aufrufen.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Um die Funktionen dieses Moduls benutzen zu können, müssen Sie Ihren PHP-Interpreter mit der Option --with-informix[=DIR] kompilieren. DIR ist das Basis-Installationsverzeichnis von Informix, das in der Standardeistellung leer ist.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Hinweis:

Die Umgebungsvariablen INFORMIXDIR und INFORMIXSERVER müssen für den PHP-Treiber verfügbar sein und das INFORMIX bin-Verzeichnis muss im Pfad enthalten sein. Prüfen Sie diese Voraussetzungen mit einem Skript, das einen Aufruf von phpinfo() enthält, bevor Sie testen. Die Ausgabe von phpinfo() sollte diese Umgebungsvariablen auflisten. Dies ist sowohl für CGI PHP als auch Apache mod_php TRUE. Möglicherweise müssen Sie diese Umgebungsvariablen in Ihrem Apache Startskript setzen.

Die Informix shared libraries sollten für den Lader ebenfalls verfügbar sein (überprüfen Sie den LD_LIBRARY_PATH oder ld.so.conf/ldconfig).

Hinweis: Einige Anmerkungen zum Gebrauch von BLOBs (TEXT- und BYTE Felder)

BLOBs werden normalerweise durch blob-Identifikatoren adressiert. Select Abfragen geben eine "blob-ID" für alle TEXT- und BYTE-Felder zurück. Sie können die Inhalte mit "string_var = ifx_get_blob($blob_id);" auslesen, falls Sie die BLOBS in den Speicher schreiben möchten (mit "ifx_blobinfile(0);"). Wenn Sie die Inhalte von BLOB-Felder lieber in eine Datei ausgeben möchten, benutzen Sie "ifx_blobinfile(1);" und mit "ifx_get_blob($blob_id);" ermitteln Sie den Dateinamen. Mit den normalen I/O-Routinen des Dateisystems erhalten Sie die Inhalte von BLOBs.

Bei insert/update Abfragen müssen Sie diese "blob-ID's" mit der Funktion ifx_create_blob() selber erzeugen. Danach schreiben Sie die blob-ID's in ein Array und ersetzen die BLOB-Felder durch ein Fragezeichen (?) im Abfragestring. Für die Inhalte der BLOBs, die mit der Funktion ifx_update_blob() gesetzt werden, sind Sie bei updates/inserts selber verantwortlich.

Das Verhalten einer BLOB-Spalte kann auch zur Laufzeit durch Konfigurationsvariablen verändert werden.

Konfigurationsvariable: ifx.textasvarchar

Konfigurationsvariable: ifx.byteasvarchar

Laufzeitfunktionen:

ifx_textasvarchar(0): benutzt bei SELECT Abfragen von TEXT-Feldern die blob-ID

ifx_byteasvarchar(0): benutzt bei SELECT Abfragen von BYTE-Feldern die blob-ID

ifx_textasvarchar(1): gibt TEXT-Felder so zurück, als wären es VARCHAR Felder, so dass Sie keine blob-ID für select Abfragen brauchen.

ifx_byteasvarchar(1): gibt BYTE-Felder so zurück, als wären es VARCHAR Felder, so dass Sie keine blob-ID für select Abfragen brauchen.

Konfigurationsvariable: ifx.blobinfile

Laufzeitfunktionen:

ifx_blobinfile_mode(0): gibt BYTE-Felder in den Speicher zurück, mit der blob-ID können Sie auf den Inhalt zugreifen.

ifx_blobinfile_mode(1): gibt BYTE-Felder in einer Datei zurück, mit der blob-ID können Sie den Dateinamen ermitteln.

Wenn Sie ifx_text/byteasvarchar auf 1 setzen, können Sie TEXT- und BYTE-Felder in select Abfragen genauso benutzen, wie normale (allerdings sehr lange) VARCHAR-Felder. Da alle Zeichenketten in PHP "gezählt" werden, bleibt dies "binary safe". Es bleibt Ihnen überlassen, korrekt damit umzugehen. Die zurückgegebenen Daten können alles mögliche enthalten, so dass Sie für die Inhalte verantwortlich sind.

Wenn Sie ifx_blobinfile auf 1 setzen, benutzen Sie den Dateinamen, der von ifx_get_blob(..) zurückgegeben wird, um auf den Inhalt des BLOB zuzugreifen. Beachten Sie, dass Sie in diesem Fall FÜR DAS LÖSCHEN DER TEMPORÄREN DATEIEN, DIE VON INFORMIX ERSTELLT WERDEN VERANTWORTLLICH SIND, wenn sie ein Tupel auslesen. Jedes neue Tupel, das gelesen wird, erzeugt für jedes BYTE-Feld eine neue temporäre Datei.

Der Speicherort für die temporären Dateien kann mit der Umgebungsvariablen "blobdir" beeinflusst werden, die Standardeinstellung ist "." (das aktuelle Verzeichnis). Etwas Ähnliches wie : putenv(blobdir=tmpblob"); erleichtert das Bereinigen der temporären Dateien, die versehentlich stehen geblieben sind (ihre Namen beginnen alle mit "blb").

Hinweis: Automatisches Abschneiden von Leerzeichen bei "char" (SQLCHAR und SQLNCHAR) Daten

Dies kann mit einer Konfigurationsvariablen eingestellt werden.

ifx.charasvarchar : falls auf 1 gesetzt, werden abschließende Leerzeichen automatisch abgeschnitten. Dies erspart den Aufruf der chop() Funktion.

Hinweis: NULL-Werte

Wenn die Konfigurationsvariable ifx.nullformat (und die Laufzeitfunktion ifx_nullformat()) auf TRUE gesetzt sind, werden NULL-werte in Spalten als Zeichenkette NULL zurückgegeben, wenn die Variable auf FALSE gesetzt ist, werden leere Strings für NULLwerte zurückgegeben. So können sie zwischen NULLwerten und leeren Spalten unterscheiden.

Informix Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
ifx.allow_persistent | "1" | PHP_INI_SYSTEM | Removed in PHP 5.2.1.
ifx.max_persistent | "-1" | PHP_INI_SYSTEM | Removed in PHP 5.2.1.
ifx.max_links | "-1" | PHP_INI_SYSTEM | Removed in PHP 5.2.1.
ifx.default_host | NULL | PHP_INI_SYSTEM | Removed in PHP 5.2.1.
ifx.default_user | NULL | PHP_INI_SYSTEM | Removed in PHP 5.2.1.
ifx.default_password | NULL | PHP_INI_SYSTEM | Removed in PHP 5.2.1.
ifx.blobinfile | "1" | PHP_INI_ALL | Removed in PHP 5.2.1.
ifx.textasvarchar | "0" | PHP_INI_ALL | Removed in PHP 5.2.1.
ifx.byteasvarchar | "0" | PHP_INI_ALL | Removed in PHP 5.2.1.
ifx.charasvarchar | "0" | PHP_INI_ALL | Removed in PHP 5.2.1.
ifx.nullformat | "0" | PHP_INI_ALL | Removed in PHP 5.2.1.
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

ifx.allow_persistent boolean

Bestimmt, ob persistente Verbindungen zugelassen sind.

ifx.max_persistent integer

Gibt die maximale Anzahl persistenter Verbindungen pro Prozess an.

ifx.max_links integer

Gibt die maximale Anzahl der Verbindungen zum Informix Server pro Prozess an, einschließlich der persistenten Verbindungen.

ifx.default_host string

Der Standardhost, zu dem verbunden wird, wenn kein Host in ifx_connect() oder ifx_pconnect() angegeben wurde. Diese Einstellung kann im Safe Mode nicht verwendet werden.

ifx.default_user string

Der Standardbenutzer, wenn kein Benutzer in ifx_connect() oder ifx_pconnect() angegeben wurde. Diese Einstellung kann im Safe Mode nicht verwendet werden.

ifx.default_password string

Das Standardpasswort, wenn kein Passwort in ifx_connect() oder ifx_pconnect() angegeben wurde. Diese Einstellung kann im Safe Mode nicht verwendet werden.

ifx.blobinfile boolean

TRUE, falls blob-Spalten in eine Datei ausgegeben werden sollen, FALSE, falls blob-Spalten in den Speicher ausgegeben werden sollen. Sie können diese Einstellung mit der Funktion ifx_blobinfile_mode() zur Laufzeit ändern.

ifx.textasvarchar boolean

TRUE, falls text-Spalten in select Abfragen als normale Strings zurückgegeben werden sollen. FALSE, falls Sie blob-ID Parameter benutzen wolen. Sie können diese Einstellung mit der Funktion ifx_textasvarchar() zur Laufzeit ändern.

ifx.byteasvarchar boolean

TRUE, falls BYTE-Spalten in select Abfragen als normale Strings zurückgegeben werden sollen. FALSE, falls Sie blob-ID Parameter benutzen wolen. Sie können diese Einstellung mit der Funktion ifx_textasvarchar() zur Laufzeit ändern.

ifx.charasvarchar boolean

TRUE, falls Sie abschlißende Leerzeichen von CHAR Spalten beim Auslesen abschneiden wollen.

ifx.nullformat boolean

TRUE, falls der Spaltenwert NULL als Literal "NULL" zurückgegeben werden soll. FALSE, falls für Nullwerte als leere Strigs "" zurückgegeben werden sollen. Sie können diese Einstellung mit der Funktion ifx_nullformat() zur Laufzeit ändern.

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

IFX_SCROLL (integer)
IFX_HOLD (integer)
IFX_LO_RDONLY (integer)
IFX_LO_WRONLY (integer)
IFX_LO_APPEND (integer)
IFX_LO_RDWR (integer)
IFX_LO_BUFFER (integer)
IFX_LO_NOBUFFER (integer)
Ressource-Typen
Informix Funktionen
Informix


Informix Funktionen

Inhaltsverzeichnis

  • ifx_affected_rows — Gibt die Anzahl der Datensätze zurück, die von einer Abfrage betroffen sind
  • ifx_blobinfile_mode — Setzt den Standardmodus für BLOBs bei allen SELECT Abfragen
  • ifx_byteasvarchar — Setzt den Standard Byte-Modus
  • ifx_close — Schließt eine Informix-Verbindung
  • ifx_connect — Öffnet eine Verbindung zu einem Informix Server
  • ifx_copy_blob — Dupliziert ein gegebenes BLOB (Binary Large Object)
  • ifx_create_blob — Erzeugt ein BLOB (Binary Large Object)
  • ifx_create_char — Erzeugt ein Zeichen-Objekt
  • ifx_do — Führt eine vorbereitete Abfrage aus
  • ifx_error — Gibt den Fehlercode des letzten Informix Aufrufs zurück
  • ifx_errormsg — Gibt die Fehlermeldung des zuletzt aufgetretenen Informix Fehlers zurück
  • ifx_fetch_row — Holt eine Zeile als assoziatives Array
  • ifx_fieldproperties — Gibt eine Liste mit den Feldeigenschaften zurück
  • ifx_fieldtypes — Gibt eine Liste der Informix SQL Felder zurück
  • ifx_free_blob — Löscht ein Blob Objekt
  • ifx_free_char — Löscht ein CHAR Objekt
  • ifx_free_result — Gibt den belegten Speicher einer Ergebnismenge wieder frei
  • ifx_get_blob — Gibt den Inhalt eines Large Objects zurück
  • ifx_get_char — Gibt den Inhalt eines Zeichen-Objekts zurück
  • ifx_getsqlca — Gibt den Inhalt von sqlca.sqlerrd[0..5] nach einer Abfrage zurück
  • ifx_htmltbl_result — Gibt alle Zeilen einer Abfrage als HTML-Tabelle formatiert zurück
  • ifx_nullformat — Setzt den aktuellen Rückgabewert für Nullwerte beim Lesen von Zeilen
  • ifx_num_fields — Gibt die Anzahl der Spalten einer Abfrage zurück
  • ifx_num_rows — Count the rows already fetched from a query
  • ifx_pconnect — Öffnet eine persistente Informix Verbindung
  • ifx_prepare — Bereitet eine Abfrage zur späteren Ausführung vor
  • ifx_query — Schickt eine Informix Abfrage an den Server
  • ifx_textasvarchar — Setzt den Standard-Textmodus
  • ifx_update_blob — Aktualisiert den Inhalt eines Blob-Objekts
  • ifx_update_char — Aktualisiert den Inhalt eines Char-Objekts
  • ifxus_close_slob — Löscht ein Slob-Objekt
  • ifxus_create_slob — Erzeugt ein Slob-Objekt und öffnet es
  • ifxus_free_slob — Löscht ein Slob-Objekt
  • ifxus_open_slob — Öffnet ein Slob-Objekt
  • ifxus_read_slob — Liest nbytes aus einem Slob-Objekt
  • ifxus_seek_slob — Setzt die aktuelle Dateizeiger- oder Suchposition
  • ifxus_tell_slob — Gibt die aktuelle Dateizeiger- oder Suchposition zurück
  • ifxus_write_slob — Schreibt einen String in ein Slob-Objekt
Vordefinierte Konstanten
ifx_affected_rows
Informix


Gibt die Anzahl der Datensätze zurück, die von einer Abfrage betroffen sind

Informix Funktionen
ifx_blobinfile_mode
Informix Funktionen
PHP Manual

ifx_affected_rows

(PHP 4, PHP <=5.2.0)

ifx_affected_rows — Gibt die Anzahl der Datensätze zurück, die von einer Abfrage betroffen sind

Beschreibung

int ifx_affected_rows ( int $result_id )

result_id ist eine gültige Ergebniskennung, die von ifx_query() oder ifx_prepare() zurückgegeben wurde.

Gibt die Anzahl der Datensätze zurück, die von der Abfrage mit der Ergebniskennung result_id betroffen sind.

Bei inserts, updates und deletes wird die Anzahl der tatsächlich betroffenen Datensätze (sqlerrd[2]) zurückgegeben. Bei selects wird die Anzahl geschätzt (sqlerrd[0]). Verlassen Sie sich nicht darauf. Der Datenbankserver kann niemals die exakte Anzahl der Datensätze angeben, die ein SELECT zurückgeben wird, weil er zu diesem Zeitpunkt noch nicht einmal mit dem Holen der Datensätze begonnen hat (erst nach einem "PREPARE", wenn der Optimierer den Abfrageplan erstellt hat).

Diese Funktion ist nützlich, um Abfrageergebnisse nach einem ifx_prepare() auf eine vernünftige Größe zu begrenzen.

Beispiel #1 Informix affected rows

<?php
$rid = ifx_prepare ("select * from emp
                     where name like " . $name, $connid);
if (! $rid) {
    ... Fehler ...
}
$rowcount = ifx_affected_rows ($rid);
if ($rowcount > 1000) {
    printf ("Zu viele Datensätze in der Ergebnismenge (%d)\n<br />", $rowcount);
    die ("Bitte begrenzen Sie Ihre Abfrage<br />\n");
}
?>

Siehe auch: ifx_num_rows()

Informix Funktionen
ifx_blobinfile_mode
Informix Funktionen


Setzt den Standardmodus für BLOBs bei allen SELECT Abfragen

ifx_affected_rows
ifx_byteasvarchar
Informix Funktionen
PHP Manual

ifx_blobinfile_mode

(PHP 4, PHP <=5.2.0)

ifx_blobinfile_mode — Setzt den Standardmodus für BLOBs bei allen SELECT Abfragen

Beschreibung

void ifx_blobinfile_mode ( int $mode )

Setzt den Standardmodus für BLOBs bei allen SELECT Abfragen. Modus "0" bedeutet, dass Byte-BLOBs im Speicher gehalten werden und Modus "1" bedeutet, dass Byte-BLOBs in einer Datei gespeichert werden.

ifx_affected_rows
ifx_byteasvarchar
Informix Funktionen


Setzt den Standard Byte-Modus

ifx_blobinfile_mode
ifx_close
Informix Funktionen
PHP Manual

ifx_byteasvarchar

(PHP 4, PHP <=5.2.0)

ifx_byteasvarchar — Setzt den Standard Byte-Modus

Beschreibung

void ifx_byteasvarchar ( int $mode )

Setzt den Standard Byte-Modus für alle SELECT Abfragen. Modus "0" gibt eine blob-id zurück und Modus "1" gibt ein Ergebnis vom Typ VARCHAR mit einem Textinhalt zurück.

ifx_blobinfile_mode
ifx_close
Informix Funktionen


Schließt eine Informix-Verbindung

ifx_byteasvarchar
ifx_connect
Informix Funktionen
PHP Manual

ifx_close

(PHP 4, PHP <=5.2.0)

ifx_close — Schließt eine Informix-Verbindung

Beschreibung

int ifx_close ([ int $link_identifier ] )

Gibt immer TRUE zurück.

ifx_close() schließt die Verbindung zu der Informix Datenbank, die mit der angegebenen Verbindungskennung verknüpft ist. Falls keine Verbindungskennung angegeben ist, wird die zuletzt geöffnete Verbindung angenommen.

Beachten Sie, dass dies normalerweise nicht notwendig ist, da nichtpersistente Verbindungen automatisch mit dem Ende des Skripts geschlossen werden.

ifx_close() schließt keine persistenten Verbindungen, die mit ifx_pconnect() geöffnet wurden.

Beispiel #1 Eine Informix Verbindung schließen

<?php
$conn_id = ifx_connect ("mydb@ol_srv", "itsme", "mypassword");
/* ... einige Abfragen und mehr ... */
ifx_close($conn_id);
?>

Siehe auch: ifx_connect() und ifx_pconnect().

ifx_byteasvarchar
ifx_connect
Informix Funktionen


Öffnet eine Verbindung zu einem Informix Server

ifx_close
ifx_copy_blob
Informix Funktionen
PHP Manual

ifx_connect

(PHP 4, PHP <=5.2.0)

ifx_connect — Öffnet eine Verbindung zu einem Informix Server

Beschreibung

int ifx_connect ([ string $database [, string $userid [, string $password ]]] )

Gibt bei Erfolg eine Verbindungskennung zurück oder FALSE, falls ein Fehler aufgetreten ist.

ifx_connect() erstellt eine Verbindung zu einem Informix Server. Alle Argumente sind optional und wenn sie fehlen, werden die Standardeinstellungen benutzt, die in der Konfigurationsdatei angegeben wurden: ifx.default_host für den Host (Informix Bibliotheken benutzen die Umgebungsvariable INFORMIXSERVER falls nichts anderes angegeben ist), ifx.default_user für den Benutzer, ifx.default_password für das Passwort (dies bleibt leer, falls kein Passwort definiert ist).

Falls ein zweiter Aufruf von ifx_connect() mit denselben Verbindungsoptionen erfolgt, wird keine neue Verbindung aufgebaut, stattdessen wird die Verbindungskennung der bereits geöffneten Verbindung zurückgegeben.

Die Verbindung zum Server wird geschlossen, sobald die Ausführung des Skripts beendet ist, es sei denn, sie wurde schon früher durch einen expliziten Aufruf von ifx_close() geschlossen.

Beispiel #1 Zu einer Informix Datenbank verbinden

<?php
$conn_id = ifx_connect ("mydb@ol_srv1", "imyself", "mypassword");
?>

Siehe auch ifx_pconnect() und ifx_close().

ifx_close
ifx_copy_blob
Informix Funktionen


Dupliziert ein gegebenes BLOB (Binary Large Object)

ifx_connect
ifx_create_blob
Informix Funktionen
PHP Manual

ifx_copy_blob

(PHP 4, PHP <=5.2.0)

ifx_copy_blob — Dupliziert ein gegebenes BLOB (Binary Large Object)

Beschreibung

int ifx_copy_blob ( int $bid )

Dupliziert das gegebene BLOB. bid ist die ID des BLOB Objekts.

Gibt bei Erfolg eine neue Objekt-ID für das BLOB zurück oder FALSE, falls ein Fehler auftrat.

ifx_connect
ifx_create_blob
Informix Funktionen


Erzeugt ein BLOB (Binary Large Object)

ifx_copy_blob
ifx_create_char
Informix Funktionen
PHP Manual

ifx_create_blob

(PHP 4, PHP <=5.2.0)

ifx_create_blob — Erzeugt ein BLOB (Binary Large Object)

Beschreibung

int ifx_create_blob ( int $type , int $mode , string $param )

Erzeugt ein BLOB Objekt.

Typ: 1 = TEXT, 0 = BYTE

Modus: 0 = Der Inhalt des BLOB wird in den Speicher geschrieben, 1 = der Inhalt des BLOB wird in eine Datei geschrieben,

Parameter: falls Modus = 0: Zeiger auf denInhalt, falls Modus = 1: Zeiger auf die Datei.

Gibt bei einem Fehler FALSE zurück, anderenfalls die ID des neuen BLOBs.

ifx_copy_blob
ifx_create_char
Informix Funktionen


Erzeugt ein Zeichen-Objekt

ifx_create_blob
ifx_do
Informix Funktionen
PHP Manual

ifx_create_char

(PHP 4, PHP <=5.2.0)

ifx_create_char — Erzeugt ein Zeichen-Objekt

Beschreibung

int ifx_create_char ( string $param )

Erzeugt ein Zeichen-Objekt mit dem Inhalt param.

ifx_create_blob
ifx_do
Informix Funktionen


Führt eine vorbereitete Abfrage aus

ifx_create_char
ifx_error
Informix Funktionen
PHP Manual

ifx_do

(PHP 4, PHP <=5.2.0)

ifx_do — Führt eine vorbereitete Abfrage aus

Beschreibung

int ifx_do ( int $result_id )

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Führt eine vorbereitete Abfrage aus oder öffnet einen Cursor dafür.

Bei einem Fehler wird result_id NICHT freigegeben.

Die exakte Anzahl der betroffenen Datensätze für Abfragen, die keine SELECTs sind, wird gesetzt und kann mit ifx_affected_rows() ermittelt werden.

Siehe auch: ifx_prepare().

ifx_create_char
ifx_error
Informix Funktionen


Gibt den Fehlercode des letzten Informix Aufrufs zurück

ifx_do
ifx_errormsg
Informix Funktionen
PHP Manual

ifx_error

(PHP 4, PHP <=5.2.0)

ifx_error — Gibt den Fehlercode des letzten Informix Aufrufs zurück

Beschreibung

string ifx_error ( void )

Die Informix Fehlercodes (SQLSTATE & SQLCODE) sind wie folgt formatiert:

x [SQLSTATE = aa bbb SQLCODE=cccc]

mit x = Leerzeichen: kein Fehler

E : Fehler

N : Keine Daten mehr

W : Warnung

? : undefiniert

Falls anstelle des Zeichens "x" etwas anderes als ein Leerzeichen angezeigt wird, beschreiben SQLSTATE und SQLCODE den Fehler genauer.

Schauen Sie im Informix Handbuch nach den Beschreibungen von SQLSTATE und SQLCODE.

Die Funktion gibt einen String zurück, der in einem Zeichen einen allgemeinen Status der Abfrage zurückgibt, und die Zustände von SQLSTATE und SQLCODE, die mit der letzten ausgeführten Abfrage verknüpft sind. Das Format dieses Strings ist: "(char) [SQLSTATE=(zwei Ziffern) (drei Ziffern) SQLCODE=(eine Ziffer)]". Das erste Zeichen kann ein ' ' (Leerzeichen) (kein Fehler), ein 'W' (der Befehl verursachte eine Warnung), ein 'E' (ein Fehler ist bei der Ausführung des Befehls aufgetreten) oder ein 'N' (der Befehl lieferte keine Daten zurück) sein.

Siehe auch: ifx_errormsg()

ifx_do
ifx_errormsg
Informix Funktionen


Gibt die Fehlermeldung des zuletzt aufgetretenen Informix Fehlers zurück

ifx_error
ifx_fetch_row
Informix Funktionen
PHP Manual

ifx_errormsg

(PHP 4, PHP <=5.2.0)

ifx_errormsg — Gibt die Fehlermeldung des zuletzt aufgetretenen Informix Fehlers zurück

Beschreibung

string ifx_errormsg ([ int $errorcode ] )

Gibt die Informix-Fehlermeldung des letzten Fehlers zurück, oder, falls der optionale Parameter "errorcode" angegeben wurde, die Fehlermeldung, die zu "errorcode" gehört.

Beispiel #1 ifx_errormsg() Beispiel

<?php
printf("%s\n&lt;br>", ifx_errormsg(-201));
?>

Siehe auch: ifx_error()

ifx_error
ifx_fetch_row
Informix Funktionen


Holt eine Zeile als assoziatives Array

ifx_errormsg
ifx_fieldproperties
Informix Funktionen
PHP Manual

ifx_fetch_row

(PHP 4, PHP <=5.2.0)

ifx_fetch_row — Holt eine Zeile als assoziatives Array

Beschreibung

array ifx_fetch_row ( int $result_id [, mixed $position ] )

Gibt ein assoziatives Array zurück, das die gelesene Zeile enthält oder FALSE, falls es keine Zeilen mehr zu lesen gibt.

Für Blob Spalten werden Integerwerte als blob-IDs zurückgegeben, die von der Funktion ifx_get_blob() verwendet werden, es sei denn, Sie haben ifx_textasvarchar(1) oder ifx_byteasvarchar(1) benutzt. Dann werden Blobs als Zeichenketten zurückgegeben. Bei einem Fehler wird FALSE zurückgegeben.

result_id ist eine gültige Ergebniskennung, die von ifx_query() oder ifx_prepare() (nur bei SELECT Abfragen!) zurückgegeben wurde.

position ist ein optionaler Parameter für eine "fetch" Operation eines "scroll" Cursors. Der Wert dieses Parameters kann "NEXT", "PREVIOUS", "CURRENT", "FIRST", "LAST" oder eine Zahl sein. Falls Sie eine Zahl angeben, werden die zu holenden Zeilen "absolut" angegeben. Dieser Parameter ist optional und gilt nur für SCROLL Cursors.

ifx_fetch_row() holt eine Zeile aus der Ergebnismenge, die mit der angegebenen Ergebniskennung verknüpft ist. Die Zeile wird als Array zurückgegeben. Jede Spalte der Ergebnismenge wird in einer Arraykomponente gespeichert, beginnend bei Offset 0, mit dem Spaltennamen als Index.

Aufeinanderfolgende Aufrufe von ifx_fetch_row() geben die jeweils nächste Zeile der Ergebnismenge zurück oder FALSE, falls es keine Zeile mehr gibt.

Beispiel #1 Informix fetch rows

<?php
$rid = ifx_prepare ("select * from emp where name like " . $name,
                     $connid, IFX_SCROLL);
if (! $rid) {
  /* ... Fehler ... */
}
$rowcount = ifx_affected_rows($rid);
if ($rowcount > 1000) {
    printf ("Zu viele Zeilen in der Ergebnismenge (%d)\n<br />", $rowcount);
    die ("Bitte begrenzen Sie Ihre Abfrage<br />\n");
}
if (! ifx_do ($rid)) {
  /* ... Fehler ... */
}
$row = ifx_fetch_row ($rid, "NEXT");
while (is_array($row)) {
    for(reset($row); $fieldname=key($row); next($row)) {
        $fieldvalue = $row[$fieldname];
        printf ("%s = %s,", $fieldname, $fieldvalue);
    }
    printf("\n<br />");
    $row = ifx_fetch_row ($rid, "NEXT");
}
ifx_free_result ($rid);
?>

ifx_errormsg
ifx_fieldproperties
Informix Funktionen


Gibt eine Liste mit den Feldeigenschaften zurück

ifx_fetch_row
ifx_fieldtypes
Informix Funktionen
PHP Manual

ifx_fieldproperties

(PHP 4, PHP <=5.2.0)

ifx_fieldproperties — Gibt eine Liste mit den Feldeigenschaften zurück

Beschreibung

array ifx_fieldproperties ( int $result_id )

Gibt ein assoziatives Array für das mit result_id angegebene Abfrageergebnis zurück, mit den Feldnamen als Schlüssel und den SQL-Eigenschaften der Felder als Daten.

Die Informix SQL Eigenschaften jedes Feldes der Ergebnismenge werden als assoziatives Array zurückgegeben. Die Eigenschaften sind wie folgt codiert: "SQLTYPE;length;precision;scale;ISNULLABLE" mit SQLTYPE = der Informix Typ, wie etwa "SQLVCHAR" usw. und ISNULLABLE = "Y" oder "N".

Beispiel #1 Informix SQL Feldeigenschaften

<?php
$properties = ifx_fieldproperties ($resultid);
if (! isset($properties)) {
  /* ... Fehler ... */
}
foreach ($properties as $fname => $val) {
    echo "$fname:\t property = $val\n";
}
?>

ifx_fetch_row
ifx_fieldtypes
Informix Funktionen


Gibt eine Liste der Informix SQL Felder zurück

ifx_fieldproperties
ifx_free_blob
Informix Funktionen
PHP Manual

ifx_fieldtypes

(PHP 4, PHP <=5.2.0)

ifx_fieldtypes — Gibt eine Liste der Informix SQL Felder zurück

Beschreibung

array ifx_fieldtypes ( int $result_id )

Gibt für das Abfrageergebnis result_id ein assoziatives Array zurück mit den Feldnamen als Schlüssel und den SQL Feldtypen als Daten. Bei einem Fehler wird FALSE zurückgegeben.

Beispiel #1 Feldnamen und SQL Feldtypen

<?php
$types = ifx_fieldtypes ($resultid);
if (! isset ($types)) {
  /* ... error ... */
}
foreach ($types as $fname => $val) {
    echo "$fname:\t type = $val\n";
}
?>

ifx_fieldproperties
ifx_free_blob
Informix Funktionen


Löscht ein Blob Objekt

ifx_fieldtypes
ifx_free_char
Informix Funktionen
PHP Manual

ifx_free_blob

(PHP 4, PHP <=5.2.0)

ifx_free_blob — Löscht ein Blob Objekt

Beschreibung

int ifx_free_blob ( int $bid )

Löscht das Blob Objekt, das durch die angegebene blob-ID bid identifiziert wird. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

ifx_fieldtypes
ifx_free_char
Informix Funktionen


Löscht ein CHAR Objekt

ifx_free_blob
ifx_free_result
Informix Funktionen
PHP Manual

ifx_free_char

(PHP 4, PHP <=5.2.0)

ifx_free_char — Löscht ein CHAR Objekt

Beschreibung

int ifx_free_char ( int $bid )

Löscht das durch die Objekt Id bid bezeichnete CHAR Objekt. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. TRUE.

ifx_free_blob
ifx_free_result
Informix Funktionen


Gibt den belegten Speicher einer Ergebnismenge wieder frei

ifx_free_char
ifx_get_blob
Informix Funktionen
PHP Manual

ifx_free_result

(PHP 4, PHP <=5.2.0)

ifx_free_result — Gibt den belegten Speicher einer Ergebnismenge wieder frei

Beschreibung

int ifx_free_result ( int $result_id )

Gibt den belegten Speicher, der mit der Ergebniskennung result_id verknüpft ist, wieder frei. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

ifx_free_char
ifx_get_blob
Informix Funktionen


Gibt den Inhalt eines Large Objects zurück

ifx_free_result
ifx_get_char
Informix Funktionen
PHP Manual

ifx_get_blob

(PHP 4, PHP <=5.2.0)

ifx_get_blob — Gibt den Inhalt eines Large Objects zurück

Beschreibung

int ifx_get_blob ( int $bid )

Gibt den Inhalt des Large Objects zurück, das durch die gegebene Objekt-ID bid bestimmt wird.

ifx_free_result
ifx_get_char
Informix Funktionen


Gibt den Inhalt eines Zeichen-Objekts zurück

ifx_get_blob
ifx_getsqlca
Informix Funktionen
PHP Manual

ifx_get_char

(PHP 4, PHP <=5.2.0)

ifx_get_char — Gibt den Inhalt eines Zeichen-Objekts zurück

Beschreibung

int ifx_get_char ( int $bid )

Gibt den Inhalt des durch die Objekt-ID bid gegebenen Zeichen-Objekts zurück.

ifx_get_blob
ifx_getsqlca
Informix Funktionen


Gibt den Inhalt von sqlca.sqlerrd[0..5] nach einer Abfrage zurück

ifx_get_char
ifx_htmltbl_result
Informix Funktionen
PHP Manual

ifx_getsqlca

(PHP 4, PHP <=5.2.0)

ifx_getsqlca — Gibt den Inhalt von sqlca.sqlerrd[0..5] nach einer Abfrage zurück

Beschreibung

array ifx_getsqlca ( int $result_id )

result_id ist eine gültige Ergebniskennung, die von ifx_query() oder ifx_prepare() zurückgegeben wurde.

Diese Funktion gibt nach einer Abfrage, die mit result_id verknüpft ist, eine Pseudo-Zeile (assoziatives Array) mit sqlca.sqlerrd[0] ... sqlca.sqlerrd[5] zurück.

Bei INSERTs, UPDATEs und DELETEs sind die zurückgegebenen Werte die, die der Server nach dem Ausführen der Abfrage setzt. Dadurch bekommt man Zugriff auf die Anzahl der betroffenen Zeilen und auf den Eingabewert eines Serial-Feldes. Bei SELECTs sind das die Werte, die nach einem PREPARE-Kommando gespeichert wurden. Hier hat man Zugriff auf die *geschätzte* Anzahl der betroffenen Zeilen. Der Gebrauch dieser Funktion erspart den Overhead für die Ausführung einer "select dbinfo('sqlca.sqlerrdx')"-Abfrage, weil hier die Werte gelesen werden, die der ifx-Treiber im passenden Moment gespeichert hat.

Beispiel #1 Informix sqlca.sqlerrd[x] Werte ermitteln

<?php
/* angenommen, das erste Feld von 'sometable' ist vom Typ SERIAL */
$qid = ifx_query("insert into sometable
                  values (0, '2nd column', 'another column') ", $connid);
if (! $qid) {
  /* ... Fehler ... */
}
$sqlca = ifx_getsqlca($qid);
$serial_value = $sqlca["sqlerrd1"];
echo "Der Wert des SERIAL-Feldes der eingefügten Zeile ist: " . $serial_value<br />\n";
?>

ifx_get_char
ifx_htmltbl_result
Informix Funktionen


Gibt alle Zeilen einer Abfrage als HTML-Tabelle formatiert zurück

ifx_getsqlca
ifx_nullformat
Informix Funktionen
PHP Manual

ifx_htmltbl_result

(PHP 4, PHP <=5.2.0)

ifx_htmltbl_result — Gibt alle Zeilen einer Abfrage als HTML-Tabelle formatiert zurück

Beschreibung

int ifx_htmltbl_result ( int $result_id [, string $html_table_options ] )

Gibt die Anzahl der gelesenen Zeilen aus oder FALSE bei einem Fehler.

Gibt alle Zeilen der durch result_id bestimmten Abfrage fornmatiert in einer HTML-Tabelle zurück. Das optionale zweite Argument ist ein String mit <table>-Tag Optionen.

Beispiel #1 Informix Ergebnisse als HTML Tabellen

<?php
$rid = ifx_prepare ("select * from emp where name like " . $name,
                     $connid, IFX_SCROLL);
if (! $rid) {
  /* ... Fehler ... */
}
$rowcount = ifx_affected_rows ($rid);
if ($rowcount > 1000) {
    printf ("Zu viele Zeilen in der Ergebnismenge (%d)\n<br />", $rowcount);
    die ("Bitte beschränken Sie die Abfrage<br />\n");
}
if (! ifx_do($rid) {
  /* ... Fehler ... */
}

ifx_htmltbl_result ($rid, "border=\"2\"");

ifx_free_result($rid);
?>

ifx_getsqlca
ifx_nullformat
Informix Funktionen


Setzt den aktuellen Rückgabewert für Nullwerte beim Lesen von Zeilen

ifx_htmltbl_result
ifx_num_fields
Informix Funktionen
PHP Manual

ifx_nullformat

(PHP 4, PHP <=5.2.0)

ifx_nullformat — Setzt den aktuellen Rückgabewert für Nullwerte beim Lesen von Zeilen

Beschreibung

void ifx_nullformat ( int $mode )

Hiermit wird festgelegt, wie Nullwerte in einer Ergebnismenge dargestellt werden sollen. Modus "0" gibt "" (einen leerren String), und Modus "1" gibt "NULL zurück".

ifx_htmltbl_result
ifx_num_fields
Informix Funktionen


Gibt die Anzahl der Spalten einer Abfrage zurück

ifx_nullformat
ifx_num_rows
Informix Funktionen
PHP Manual

ifx_num_fields

(PHP 4, PHP <=5.2.0)

ifx_num_fields — Gibt die Anzahl der Spalten einer Abfrage zurück

Beschreibung

int ifx_num_fields ( int $result_id )

Gibt die Anzahl der Spalten in dem durch result_id bestimmten Abfrageergebnis zurück oder FALSE, falls ein Fehler auftritt.

Nachdem eine Abfrage vorbereitet oder ausgeführt wurde, liefert diese Funktion die Anzahl der Spalten in der Abfrage.

ifx_nullformat
ifx_num_rows
Informix Funktionen


Count the rows already fetched from a query

ifx_num_fields
ifx_pconnect
Informix Funktionen
PHP Manual

ifx_num_rows

(PHP 4, PHP <=5.2.0)

ifx_num_rows — Count the rows already fetched from a query

Beschreibung

int ifx_num_rows ( int $result_id )

Gibt nach der Ausführung von ifx_query() oder ifx_do()die Anzahl der Zeilen in der durch result_id gegebenen Ergebnismenge zurück.

ifx_num_fields
ifx_pconnect
Informix Funktionen


Öffnet eine persistente Informix Verbindung

ifx_num_rows
ifx_prepare
Informix Funktionen
PHP Manual

ifx_pconnect

(PHP 4, PHP <=5.2.0)

ifx_pconnect — Öffnet eine persistente Informix Verbindung

Beschreibung

int ifx_pconnect ([ string $database [, string $userid [, string $password ]]] )

Gibt bei einem erfolgreichen Verbindungsaufbau eine positive Informix Verbindungskennung zurück oder FALSE, falls ein Fehler auftrat.

ifx_pconnect() verhält sich sehr ähnlich wie ifx_connect() mit hauptsächlich zwei Unterschieden:

Wenn PHP nicht als Apache-Modul läuft, verhält sich diese Funktion exakt wie ifx_connect(). Bei einem Verbindungsaufbau wird zuerst versucht, eine bereits geöffnete (persistente) Verbindung zu finden, die mit denselben Angaben für Host, Benutzername und Passwort geöffnet wurde. Wird eine solche Verbindung gefunden, so wird deren Verbindungskennung zurückgegeben, anstatt eine neue Verbindung zu öffnen.

Zweitens wird die Verbindung zum SQL-Server nicht geschlossen, wenn die Ausführung des Skripts beendet ist. Stattdessen bleibt sie für die weitere Benutzung offen (ifx_close() schließt keine Verbindung, die mit ifx_pconnect() geöffnet wurde).

Aus diesem Grunde werden solche Verbindungen 'persistent' genannt.

Siehe auch: ifx_connect().

ifx_num_rows
ifx_prepare
Informix Funktionen


Bereitet eine Abfrage zur späteren Ausführung vor

ifx_pconnect
ifx_query
Informix Funktionen
PHP Manual

ifx_prepare

(PHP 4, PHP <=5.2.0)

ifx_prepare — Bereitet eine Abfrage zur späteren Ausführung vor

Beschreibung

int ifx_prepare ( string $query , int $conn_id [, int $cursor_def ], mixed $blobidarray )

Gibt einen Integerwert, result_id zurück, der von der Funktion ifx_do() benutzt wird. Die Anzahl der betroffenen Datensätze, die mit der Funktion affected_rows abfragt werden kann, wird gesetzt.

Bereitet die Abfrage query für die Verbindung conn_id vor. Bei SELECT Abfragen wird ein Cursor deklariert und geöffnet. Mit dem optionalen Parameter cursor_def können Sie einen "scroll"- und/oder "hold"-Cursor definieren. Beides sind Bitmasken, die entweder IFX_SCROLL oder IFX_HOLD oder beides, mit ODER verknüpft, sein können.

Für jeden Anfragetyp wird die geschätzte Anzahl der betroffenen Datensätze gespeichert und kann mit ifx_affected_rows() abgefragt werden.

Falls Sie in Ihrer Abfrage BLOB (BYTE oder TEXT) Felder haben, können Sie den Parameter blobidarray angeben, der die korrespondierenden "blob-IDs" enthält. Diese Spaltennamen sollten Sie in der Abfrage durch ein "?" ersetzen.

Falls die Inhalte der TEXT (oder BYTE) Spalten es erlauben, können Sie auch "ifx_textasvarchar(1)" und "ifx_byteasvarchar(1)" benutzen. Damit können Sie TEXT (oder BYTE) Spalten wie gewöhnliche (aber lange) VARCHAR Spalten in SELECT Abfragen behandeln und müssen sich nicht um blob-ids kümmern.

Mit ifx_textasvarchar(0) oder ifx_byteasvarchar(0) (die Standardeinstellung), geben SELECT Abfragen BLOB Spalten als blob-IDs (Integerwerte) zurück. Mit den blob-Funktionen (siehe unten) können Sie die Werte eines BLOB als String oder Datei erhalten.

Siehe auch: ifx_do().

ifx_pconnect
ifx_query
Informix Funktionen


Schickt eine Informix Abfrage an den Server

ifx_prepare
ifx_textasvarchar
Informix Funktionen
PHP Manual

ifx_query

(PHP 4, PHP <=5.2.0)

ifx_query — Schickt eine Informix Abfrage an den Server

Beschreibung

int ifx_query ( string $query , int $link_identifier [, int $cursor_type [, mixed $ blobidarray ]] )

Gibt bei Erfolg einen positiven Integerwert als Ergebniskennung zurück oder FALSE, falls ein Fehler auftrat.

Die Ergebniskennung, "result-id", wird von anderen Funktionen benutzt. Die Zahl der betroffenen Zeilen wird für spätere Abfragen mit ifx_affected_rows() gesetzt.

ifx_query() schickt eine Abfrage an die gegenwärtig aktive Datenbank auf dem Server, die durch die angegebene Verbindungskennung bezeichnet wird.

Auf der Verbindung conn_id wird eine query ausgeführt. Bei SELECT-Abfragen wird ein Cursor deklariert und geöffnet. Mit dem optionalen Parameter cursor_type können Sie bestimmen, ob dies ein "scroll"- und/oder ein "hold"-Cursor sein soll. Dies ist eine Bitmaske, die entweder die Werte IFX_SCROLL, IFX_HOLD oder beides (mit OR verknüpft) annehmen kann. Andere Abfragen auuser SELECTs werden unverzüglich ausgeführt. IFX_SCROLL und IFX_HOLD sind symbolische Konstanten und sollten nicht in Anführungszeichen eingeschlossen werden. Wenn Sie den Parameter weglassen, definieren Sie einen ganz normalen sequentiellen Cursor.

Für jeden Abfragetyp wird die Anzahl der betroffenen Zeilen (geschätzt oder wirklich) für spätere Abfragen mit ifx_affected_rows() gespeichert.

Falls Sie BLOB-Felder (BYTE oder TEXT) in einem UPDATE haben, können Sie den Parameter blobidarray benutzen, der die entsprechenden blob-ids enthält und Sie sollten diese Felder in der Abfrage durch "?" ersetzen.

Falls der Inhalt der TEXT- (oder BYTE) Spalte es erlaubt, können Sie auch "ifx_textasvarchar(1)" und "ifx_byteasvarchar(1)" benutzen. Damit können Sie TEXT- oder BYTE-Felder behandeln, als wären sie normale (nur sehr lange) VARCHAR-Felder in SELECT-Abfragen und Sie brauchen sich nicht um blob-IDs kümmern.

Mit ifx_textasvarchar(0) oder ifx_byteasvarchar(0) (der Standardeinstellung) werden für BLOB-Spalten in SELECT-Abfragen die blob-ids (Integerwerte) zurückgegeben. Sie können die Inhalte der BLOBs mit den BLOB-Funktionen als Zeichenketten oder Dateien erhalten (siehe weiter unten).

Beispiel #1 Gibt alle Zeilen der "orders"-Tabelle als HTML-Tabelle zurück

<?php
ifx_textasvarchar(1);      // "text mode" bei blobs benutzen
$res_id = ifx_query("select * from orders", $conn_id);
if (! $res_id) {
    printf("Kann orders nicht abfragen: %s\n<br />%s<br />\n", ifx_error());
    ifx_errormsg();
    die;
}
ifx_htmltbl_result($res_id, "border=\"1\"");
ifx_free_result($res_id);
?>

Beispiel #2 Ein paar Werte in die "catalog"-Tabelle einfügen

<?php
// blob id's für byte- und text-Spalten erzeugen
$textid = ifx_create_blob(0, 0, "Text Spalte im Speicher");
$byteid = ifx_create_blob(1, 0, "Byte Spalte im Speicher");

// blob id's in einem blobid array speichern
$blobidarray[] = $textid;
$blobidarray[] = $byteid;

// Abfrage ausführen
$query = "insert into catalog (stock_num, manu_code, " .
         "cat_descr,cat_picture) values(1,'HRO',?,?)";
$res_id = ifx_query($query, $conn_id, $blobidarray);
if (! $res_id) {
  /* ... Fehler ... */
}

// Speicher freigeben
ifx_free_result($res_id);
?>

Siehe auch: ifx_connect().

ifx_prepare
ifx_textasvarchar
Informix Funktionen


Setzt den Standard-Textmodus

ifx_query
ifx_update_blob
Informix Funktionen
PHP Manual

ifx_textasvarchar

(PHP 4, PHP <=5.2.0)

ifx_textasvarchar — Setzt den Standard-Textmodus

Beschreibung

void ifx_textasvarchar ( int $mode )

Setzt den Standard-Textmodus für alle SELECT-Abfragen. Im Modus "0" wird eine Blob-ID zurückgegeben, im Modus "1" wird ein varchar mit einem Textinhalt zurückgegeben.

ifx_query
ifx_update_blob
Informix Funktionen


Aktualisiert den Inhalt eines Blob-Objekts

ifx_textasvarchar
ifx_update_char
Informix Funktionen
PHP Manual

ifx_update_blob

(PHP 4, PHP <=5.2.0)

ifx_update_blob — Aktualisiert den Inhalt eines Blob-Objekts

Beschreibung

ifx_update_blob ( bool $bid , string $content )

Aktualisiert den Inhalt des gegebenen Blob-Objekts bid. content ist ein String, der die neuen Daten enthält. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

ifx_textasvarchar
ifx_update_char
Informix Funktionen


Aktualisiert den Inhalt eines Char-Objekts

ifx_update_blob
ifxus_close_slob
Informix Funktionen
PHP Manual

ifx_update_char

(PHP 4, PHP <=5.2.0)

ifx_update_char — Aktualisiert den Inhalt eines Char-Objekts

Beschreibung

int ifx_update_char ( int $bid , string $content )

Aktualisiert den Inhalt des Char-Objekts bid. content ist ein String, der die neuen Daten enthält. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

ifx_update_blob
ifxus_close_slob
Informix Funktionen


Löscht ein Slob-Objekt

ifx_update_char
ifxus_create_slob
Informix Funktionen
PHP Manual

ifxus_close_slob

(PHP 4, PHP <=5.2.0)

ifxus_close_slob — Löscht ein Slob-Objekt

Beschreibung

int ifxus_close_slob ( int $bid )

Löscht das Slob-Objekt mit der angegebenen Slob-ID bid. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

ifx_update_char
ifxus_create_slob
Informix Funktionen


Erzeugt ein Slob-Objekt und öffnet es

ifxus_close_slob
ifxus_free_slob
Informix Funktionen
PHP Manual

ifxus_create_slob

(PHP 4, PHP <=5.2.0)

ifxus_create_slob — Erzeugt ein Slob-Objekt und öffnet es

Beschreibung

int ifxus_create_slob ( int $mode )

Erzeugt ein Slob-Objekt und öffnet es. Modi: 1 = LO_RDONLY, 2 = LO_WRONLY, 4 = LO_APPEND, 8 = LO_RDWR, 16 = LO_BUFFER, 32 = LO_NOBUFFER -> or-Maske. Sie können ebenso Konstanten mit den Namen IFX_LO_RDONLY, IFX_LO_WRONLY usw. benutzen. Bei einem Fehler wird FALSE zurueckgegeben, anderenfalls die neue Slob-Objekt-ID.

ifxus_close_slob
ifxus_free_slob
Informix Funktionen


Löscht ein Slob-Objekt

ifxus_create_slob
ifxus_open_slob
Informix Funktionen
PHP Manual

ifxus_free_slob

(PHP 4, PHP <=5.2.0)

ifxus_free_slob — Löscht ein Slob-Objekt

Beschreibung

int ifxus_free_slob ( int $bid )

Löscht das Slob-Objekt mit der Slob-Objekt-ID bid. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

ifxus_create_slob
ifxus_open_slob
Informix Funktionen


Öffnet ein Slob-Objekt

ifxus_free_slob
ifxus_read_slob
Informix Funktionen
PHP Manual

ifxus_open_slob

(PHP 4, PHP <=5.2.0)

ifxus_open_slob — Öffnet ein Slob-Objekt

Beschreibung

int ifxus_open_slob ( long $bid , int $mode )

Öffnet das Slob-Objekt mit der Slob-Objekt-ID bid. Modi: 1 = LO_RDONLY, 2 = LO_WRONLY, 4 = LO_APPEND, 8 = LO_RDWR, 16 = LO_BUFFER, 32 = LO_NOBUFFER -> or-Maske. Bei Erfolg wird die neue Slob-Objekt-ID zurückgegeben oder FALSE, falls ein Fehler auftrat.

ifxus_free_slob
ifxus_read_slob
Informix Funktionen


Liest nbytes aus einem Slob-Objekt

ifxus_open_slob
ifxus_seek_slob
Informix Funktionen
PHP Manual

ifxus_read_slob

(PHP 4, PHP <=5.2.0)

ifxus_read_slob — Liest nbytes aus einem Slob-Objekt

Beschreibung

int ifxus_read_slob ( long $bid , long $nbytes )

Liest nbytes aus einem Slob-Objekt. bid ist die Objekt-Id eines existierenden Slob-Objekts und nbytes ist die Anzahl der Bytes, die gelesen werden sollen. Bei Erfolg wird der gelesene String zurückgegeben oder FALSE, falls ein Fehler auftrat.

ifxus_open_slob
ifxus_seek_slob
Informix Funktionen


Setzt die aktuelle Dateizeiger- oder Suchposition

ifxus_read_slob
ifxus_tell_slob
Informix Funktionen
PHP Manual

ifxus_seek_slob

(PHP 4, PHP <=5.2.0)

ifxus_seek_slob — Setzt die aktuelle Dateizeiger- oder Suchposition

Beschreibung

int ifxus_seek_slob ( int $bid , int $mode , int $offset )

Setzt die aktuelle Dateizeiger- oder Suchposition in einem geöffneten Slob-Objekt. bid sollte eine existierende Slob-Objekt-ID sein. Modi: 0 = LO_SEEK_SET, 1 = LO_SEEK_CUR, 2 = LO_SEEK_END. offset ist ein Byte-Offset. Bei Erfolg wird die Suchposition zurückgegeben anderenfalls FALSE.

ifxus_read_slob
ifxus_tell_slob
Informix Funktionen


Gibt die aktuelle Dateizeiger- oder Suchposition zurück

ifxus_seek_slob
ifxus_write_slob
Informix Funktionen
PHP Manual

ifxus_tell_slob

(PHP 4, PHP <=5.2.0)

ifxus_tell_slob — Gibt die aktuelle Dateizeiger- oder Suchposition zurück

Beschreibung

int ifxus_tell_slob ( int $bid )

Gibt die aktuelle Position des Dateizeigers bzw. die Suchposition in einem geöffneten Slob-Objekt zurück. bid sollte eine existierende Slob-Objekt-ID sein. Bei Erfolg wird die aktuelle Position zurückgegeben oder FALSE, falls ein Fehler auftrat.

ifxus_seek_slob
ifxus_write_slob
Informix Funktionen


Schreibt einen String in ein Slob-Objekt

ifxus_tell_slob
Ingres
Informix Funktionen
PHP Manual

ifxus_write_slob

(PHP 4, PHP <=5.2.0)

ifxus_write_slob — Schreibt einen String in ein Slob-Objekt

Beschreibung

int ifxus_write_slob ( int $bid , string $content )

Schreibt einen String in ein Slob-Objekt. bid ist ein existierendes Slob-Objekt und content enthält den String, der dort hineingeschrieben wird. Bei Erfolg gibt die Funktion die Anzahl der geschriebenen Bytes zurück oder FALSE, falls ein Fehler aufgetreten ist.

ifxus_tell_slob
Ingres
Informix Funktionen


Ingres DBMS, EDBC und Enterprise Access Gateways

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • Grundlegende Nutzung
  • Ingres-Funktionen
    • ingres_autocommit_state — Prüft, ob die Verbindung im autocommit-Modus arbeitet
    • ingres_autocommit — Schaltet den autocommit-Modus an oder aus
    • ingres_charset — Gibt den verwendeten Zeichensatz der Installation zurück
    • ingres_close — Schließt eine Ingres-II-Datenbankverbindung
    • ingres_commit — Beendet eine Transaktion
    • ingres_connect — Öffnet eine Verbindung zu einem Ingres-II-Datenbankserver
    • ingres_cursor — Gibt den Namen eines Cursors für die angegebene Ergebnis-Ressource zurück
    • ingres_errno — Gibt den letzten Ingres-Fehlercode zurück
    • ingres_error — Gibt eine textuelle Beschreibung des letzten Fehlercodes zurück
    • ingres_errsqlstate — Gibt den letzten Fehlercode von SQLSTATE zurück
    • ingres_escape_string — Maskiert Sonderzeichen in Datenbankabfragen
    • ingres_execute — Führt eine vorbereitete Abfrage aus
    • ingres_fetch_array — Liest eine Zeile der Ergebnismenge in ein Array ein
    • ingres_fetch_assoc — Fetch a row of result into an associative array
    • ingres_fetch_object — Gibt eine Zeile der Ergebnismenge als Objekt zurück
    • ingres_fetch_proc_return — Holt den Rückgabewert eines Prozeduraufrufs
    • ingres_fetch_row — Holt eine Zeile aus einer Ergebnismenge in ein numerisches Array
    • ingres_field_length — Gibt die Länge eines Feldes zurück
    • ingres_field_name — Holt den Namen eines Feldes in einer Ergebnismenge
    • ingres_field_nullable — Prüft, ob für ein Feld NULL-Werte zugelassen sind
    • ingres_field_precision — Gibt die Genauigkeit eines Feldes zurück
    • ingres_field_scale — Gibt die Größe eines skalaren Feldes zurück
    • ingres_field_type — Gibt den Typ eines Feldes in einer Ergebnismenge zurück
    • ingres_free_result — Gibt den durch ein Ergebnis belegten Speicher frei
    • ingres_next_error — Ermittelt den nächsten Ingres-Fehler
    • ingres_num_fields — Gibt die Anzahl der Felder der letzten Abfrage zurück
    • ingres_num_rows — Gibt die Anzahl der Datensätze der Ergebnismenge oder die Anzahl der von der letzten Abfrage betroffenen Datensätze zurück
    • ingres_pconnect — Öffnet eine persistente Verbindung zu einer Ingres-Datenbank
    • ingres_prepare — Bereitet eine Abfrage zur späteren Ausführung vor
    • ingres_query — Sendet eine SQL-Abfrage an den Ingres-Server
    • ingres_result_seek — Positioniert den Datensatzzeiger, bevor Daten geholt werden
    • ingres_rollback — Setzt eine Transaktion zurück
    • ingres_set_environment — Setzt Eigenschaften der Umgebung zur Ausgabesteuerung
    • ingres_unbuffered_query — Sendet eine SQL-Abfrage an Ingres, ohne die Ergebniszeilen zu puffern
ifxus_write_slob
Einführung
Anbieterspezifische Datenbankerweiterungen


Einführung

Mit der Ingres-Erweiterung für PHP können Sie sich mit Ingres-Datenbanksystemen, EDBC und Enterprise Access Gateways verbinden und Abfragen senden.

Hinweis:

Diese Erweiterung wurde ins » PECL-Repositorium verschoben und ist nicht mehr Teil von PHP ab PHP 5.1.0.

Ingres
Installation/Konfiguration
Ingres


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Ingres


Anforderungen

Um die PHP-Erweiterung für Ingres zu kompilieren und zu benutzen, brauchen Sie eine funktionierende Ingres-Clientumgebung. Sie können die Client-Software von » http://esd.ingres.com/ herunterladen.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese » PECL-Extension ist nicht Teil von PHP. Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/ingres.

Die DLL-Datei für diese Erweiterung kann von » http://esd.ingres.com/product/drivers/PHP/ heruntergeladen werden

Um auf diese Funktionen zugreifen zu können, müssen Sie diese Erweiterung » herunterladen und PHP mit der Ingres-Unterstützung kompilieren, indem Sie --with-ingres[=DIR] angeben. DIR ist das Installationsverzeichnis von Ingres. Falls die Umgebungsvariable II_SYSTEM nicht korrekt gesetzt ist, müssen Sie möglicherweise die Option --with-ingres=DIR verwenden, um Ihr Ingres-Installationsverzeichnis anzugeben.

PHP-Code, der für die Versionen 2.x und später geschrieben wurde, ist nicht abwärtskompatibel mit früheren Versionen dieser PHP-Erweiterung. Es ist jedoch möglich, mit der Option --enable-ingres2 zwei nicht kompatiblen Versionen innerhalb derselben PHP-Umgebung zu benutzen. Diese Konfigurationseinstellung benennt die Erweiterung um in ingres2 und verändert die Namen von Funktionen, Einstellungen und Konstanten entsprechend. Ist diese Option aktiviert, wird beispielsweise aus ingres_connect() die Funktion ingres2_connect().

Um diese Erweiterung zu benutzen, muß die Systemvariable II_SYSTEM definiert sein. Linux- und Unix-Benutzer müssen außerdem den Suchpfad für gemeinsam benutzte Bibliotheken setzen, etwa im LD_LIBRARY_PATH. Wenn die Erweiterung zusammen mit dem Apache Webserver eingesetzt wird, müssen diese Variablen explizit im Startskript des Webservers gesetzt werden. Ebenso setzt die Ingres-Erweiterung die Direktive PassEnv voraus, damit die korrekten gemeinsamen Bibliotheken geladen werden können. Ein Beispiel:

Beispiel #1 Verwendungsbeispiel für PassEnv für Ingres

<IfModule mod_env.c>
    PassEnv II_SYSTEM
    PassEnv LD_LIBRARY_PATH
</IfModule>

Hinweis:

Beispielkonfiguration für verschiedene Webserver und Betriebssysteme finden sie hier: » http://community.ingres.com/wiki/Ingres_Articles#Ingres_and_Web_Servers.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Ingres-Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
ingres.allow_persistent | "1" | PHP_INI_SYSTEM | Verfügbar seit Ingres 1.0.0
ingres.array_index_start | "1" | PHP_INI_ALL | Verfügbar seit Ingres 1.4.0
ingres.auto | "1" | PHP_INI_ALL | Verfügbar seit Ingres 2.0.0
ingres.blob_segment_length | "4096" | PHP_INI_ALL | Verfügbar seit Ingres 1.2.0
ingres.cursor_mode | "0" | PHP_INI_ALL | Verfügbar seit Ingres 1.1.0
ingres.default_database | NULL | PHP_INI_ALL | Verfügbar seit Ingres 1.0.0
ingres.default_password | NULL | PHP_INI_ALL | Verfügbar seit Ingres 1.0.0
ingres.default_user | NULL | PHP_INI_ALL | Verfügbar seit Ingres 1.0.0
ingres.describe | 1 | PHP_INI_ALL | Verfügbar seit Ingres 2.1.0
ingres.fetch_buffer_size | 100 | PHP_INI_ALL | Verfügbar seit Ingres 2.1.0
ingres.max_links | "-1" | PHP_INI_SYSTEM | Verfügbar seit Ingres 1.0.0
ingres.max_persistent | "-1" | PHP_INI_SYSTEM | Verfügbar seit Ingres 1.0.0
ingres.reuse_connection | "1" | PHP_INI_ALL | Verfügbar seit Ingres ingres 2.0.0
ingres.scrollable | "1" | PHP_INI_ALL | Verfügbar seit Ingres 2.0.0.
ingres.trace | "0" | PHP_INI_ALL | Verfügbar seit Ingres 2.0.0.
ingres.trace_connect | "0" | PHP_INI_ALL | Verfügbar seit Ingres 1.2.1.
ingres.utf8 | "1" | PHP_INI_ALL | Verfügbar seit Ingres 2.0.0.
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

ingres.allow_persistent boolean

Bestimmt, ob persistente Verbindungen zu Ingres erlaubt sind.

ingres.array_index_start integer

Bestimmt den Startwert der Integer-Schlüssel der Arrays, die von ingres_fetch_array() und ingres_fetch_row() zurückgegeben werden. Standardmäßig ist ingres.array_index_start 1. Um die Ingres-Erweiterung zu anderen Datenbankerweiterungen kompatibel zu machen, sollten Sie diesen Wert auf 0 setzen.

ingres.auto boolean

Schaltet die autocommit-Emulation ein oder aus. Wenn autocommit aktiviert ist, sind mehrere geöffnete Cursor in Ingres nicht möglich. Wenn diese Option aktiviert ist, wird autocommit vom Treiber emuliert.

ingres.blob_segment_length integer

Bestimmt die Größe des Speichers in Bytes, der zum Lesen von Blob-Daten verwendet wird.

ingres.cursor_mode integer

Bestimmt, in welchem Modus ein Cursor mit ingres_prepare() geöffnet wird. Gültige Werte sind INGRES_CURSOR_UPDATE und INGRES_CURSOR_READONLY.

ingres.default_database string

Bestimmt den Namen der zu öffnenden Datenbank, wenn kein Datenbankname bei einem Verbindungsaufbau angegeben wird. Diese Option kann im SQL safe mode nicht verwendet werden.

ingres.default_password string

Bestimmt, mit welchem Passwort eine Verbindung geöffnet wird, wenn kein anderes angegeben wurde. Diese Option kann im SQL safe mode nicht verwendet werden.

ingres.default_user string

Bestimmt, mit welchem Benutzernamen eine Verbindung geöffnet wird, wenn kein anderer angegeben wurde. Diese Option kann im SQL safe mode nicht verwendet werden.

ingres.describe boolean

Aktiviert die Verwendung von DESCRIBE INPUT, um die erwarteten Datentypen für parametrisierte Abfragen zu ermitteln. Dies ist seit Ingres 9.1.0 und später möglich. Wenn diese Option deaktiviert ist, müssen die Datentypen von parametrisierten Abfragen von Hand ermittelt werden. Dazu setzt man den Parameter types in der Funktion ingres_query().

Hinweis:

Die Option mittels ingres_query() zu aktivieren, verursacht zusätzlichen Kommunikationsoverhead zwischen dieser Erweiterung und dem Datenbankserver. Das zusätzliche Datenvolumen bei der Übertragungs können Sie mit ingres_prepare() und ingres_execute() reduzieren.

ingres.fetch_buffer_size integer

Bestimmt die Anzahl der Zeilen, die ingres_fetch_array(), ingres_fetch_object() und ingres_fetch_row() in einer einzigen Leseoperation versuchen soll zu holen.

ingres.max_links integer

Bestimmt die maximale Anzahl von Ingres-Datenbanksitzungen, die pro Prozess oder Thread zulässig sind. Diese Anzahl der Sitzungen sollte die Anzahl der innerhalb von Ingres definierten maximal zulässigen Sitzungen nicht übersteigen.

ingres.max_persistent integer

Bestimmt die Anzahl der maximal zulässigen persistenten Ingres-Verbindungen pro Prozess oder Thread. Diese Anzahl sollte die Anzahl der innerhalb von Ingres definierten maximal zulässigen Sitzungen nicht übersteigen.

ingres.reuse_connection boolean

Bestehende aktive Verbindungen werden wiederverwendet, wenn zur selben Datenbank und mit demselben Benutzernamen verbunden wird.

ingres.scrollable boolean

Schaltet die Unterstützung für scrollbare Cursor ein. Wenn CLOB- oder BLOB-Daten geholt werden, sollte diese Optiion auf FALSE gesetzt sein. Verfügbar seit Ingres 9.2.0 und höher.

ingres.trace boolean

Schaltet eine einfache Ablaufverfolgung mittels E_NOTICE Nachrichten ein.

ingres.trace_connect boolean

Gibt E_NOTICE Nachrichten während Aufrufen von ingres_connect() oder ingres_pconnect() aus.

ingres.utf8 boolean

Es wird angenommen, dass Zeichenketten, die in Spalten des Typs National Character eingefügt werden (NVARCHAR or NCHAR) die Kodierung UTF8 verwenden und deshalb für den Server nach UTF16 konvertiert werden.

Installation
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

ingres_connect() und ingres_pconnect() geben eine Ingres-Verbindungskennung zurück.

ingres_query() und ingres_unbuffered_query() geben eine Ingres-Ergebniskennung zurück.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

INGRES_ASSOC (integer)
Spalten werden in einem Array zurückgegeben, das die Feldnamen als Indexe hat. Wird benutzt von der Funktion ingres_fetch_array()
INGRES_NUM (integer)
Spalten werden in einem Array mit numerischen Indexen zurückgegeben. Diese Indexe beginnen normalerweise bei 1, dem ersten Feldwert im Ergebnis. Sehen Sie sich ingres.array_index_start an, wenn Sie diesen Wert ändern möchten. Wird benutzt von der Funktion ingres_fetch_array()
INGRES_BOTH (integer)
Spalten werden in einem Array zurückgegeben, das sowohl numerische als auch assoziative Indexe hat. Die assoziativen Indexe entsprechen den Feldnamen. Wird benutzt von der Funktion ingres_fetch_array().
INGRES_EXT_VERSION (string)
Bezeichnet die Version der Ingres-Erweiterung. Diese Konstante ist seit der Version 1.2.0 der PECL-Erweiterung verfügbar.
INGRES_API_VERSION (integer)
Bezeichnet die Version der Ingres-OpenAPI, mit der die Erweiterung erzeugt wurde. Diese Konstante ist seit der Version 1.2.0 der PECL-Erweiterung verfügbar.
INGRES_CURSOR_READONLY (integer)
Diese Konstante bestimmt, ob Cursors in Ingres im Modus 'readonly' geöffnet werden sollen. Diese Konstante ist seit der Version 1.2.0 der PECL-Erweiterung verfügbar. Wird benutzt in ingres.cursor_mode.
INGRES_CURSOR_UPDATE (integer)
Diese Konstante bestimmt, ob Cursors in Ingres im Modus 'for update' geöffnet werden sollen. Diese Konstante ist seit der Version 1.2.0 der PECL-Erweiterung verfügbar. Wird benutzt in ingres.cursor_mode.
INGRES_DATE_MULTINATIONAL (integer)
Äquivalent zu der Einstellung II_DATE_FORMAT für MULTINATIONAL. Diese Konstante
ist seit der Version 1.2.0 der PECL-Erweiterung verfügbar. Wird benutzt in
ingres_connect(), ingres_pconnect() und
ingres_set_environment(). Siehe unter Optionen
in ingres_set_environment().
INGRES_DATE_MULTINATIONAL4 (integer)
Äquivalent zu der Einstellung II_DATE_FORMAT für MULTINATIONAL. Diese Konstante
ist seit der Version 1.2.0 der PECL-Erweiterung verfügbar. Wird benutzt in
ingres_connect(), ingres_pconnect() und
ingres_set_environment(). Siehe unter Optionen
in ingres_set_environment().
INGRES_DATE_FINNISH (integer)
Äquivalent zu der Einstellung II_DATE_FORMAT für FINNISH. Diese Konstante
ist seit der Version 1.2.0 der PECL-Erweiterung verfügbar. Wird benutzt in
ingres_connect(), ingres_pconnect() und
ingres_set_environment(). Siehe unter Optionen
in ingres_set_environment().
INGRES_DATE_ISO (integer)
Äquivalent zu der Einstellung II_DATE_FORMAT für ISO. Diese Konstante ist
seit der Version 1.2.0 der PECL-Erweiterung verfügbar. Wird benutzt in
ingres_connect(), ingres_pconnect() und
ingres_set_environment(). Siehe unter Optionen
in ingres_set_environment().
INGRES_DATE_ISO4 (integer)
Äquivalent zu der Einstellung II_DATE_FORMAT für ISO4. Diese Konstante ist
seit der Version 1.2.0 der PECL-Erweiterung verfügbar. Wird benutzt in
ingres_connect(), ingres_pconnect() und
ingres_set_environment(). Siehe unter Optionen
in ingres_set_environment().
INGRES_DATE_GERMAN (integer)
Äquivalent zu der Einstellung II_DATE_FORMAT für GERMAN. Diese Konstante ist
seit der Version 1.2.0 der PECL-Erweiterung verfügbar. Wird benutzt in
ingres_connect(), ingres_pconnect() und
ingres_set_environment(). Siehe unter Optionen
in ingres_set_environment().
INGRES_DATE_MDY (integer)
Äquivalent zu der Einstellung II_DATE_FORMAT für MDY. Diese Konstante ist
seit der Version 1.2.0 der PECL-Erweiterung verfügbar. Wird benutzt in
ingres_connect(), ingres_pconnect() und
ingres_set_environment(). Siehe unter Optionen
in ingres_set_environment().
INGRES_DATE_DMY (integer)
Äquivalent zu der Einstellung II_DATE_FORMAT für DMY. Diese Konstante ist
seit der Version 1.2.0 der PECL-Erweiterung verfügbar. Wird benutzt in
ingres_connect(), ingres_pconnect() und
ingres_set_environment(). Siehe unter Optionen
in ingres_set_environment().
INGRES_DATE_YMD (integer)
Äquivalent zu der Einstellung II_DATE_FORMAT für YMD. Diese Konstante ist
seit der Version 1.2.0 der PECL-Erweiterung verfügbar. Wird benutzt in
ingres_connect(), ingres_pconnect() und
ingres_set_environment(). Siehe unter Optionen
in ingres_set_environment().
INGRES_MONEY_LEADING (integer)
Bestimmt das Währungssymbol, das vor einen monetären Wert gesetzt werden sollte. Äquivalent zu dem Wert 'L' von II_MONEY_FORMAT. Diese Konstante ist seit der Version 1.2.0 der PECL-Erweiterung verfügbar. Wird benutzt in ingres_connect(), ingres_pconnect() und ingres_set_environment(). Siehe unter Optionen in ingres_set_environment().
INGRES_MONEY_TRAILING (integer)
Bestimmt das Währungssymbol, das vor einen monetären Wert gesetzt werden sollte. Äquivalent zu dem Wert 'T' von II_MONEY_FORMAT. Diese Konstante ist seit der Version 1.2.0 der PECL-Erweiterung verfügbar. Wird benutzt in ingres_connect(), ingres_pconnect() und ingres_set_environment(). Siehe unter Optionen in ingres_set_environment().
INGRES_STRUCTURE_BTREE (integer)
Bestimmt, welche Tabellen- oder Indexstruktur BTREE als Vorgabewert benutzen soll, falls die Optionen table_structure oder index_structure beim Verbindungsaufbau verwendet wurden. Diese Konstante ist seit der Version 1.4.0 der PECL-Erweiterung verfügbar. Wird benutzt in ingres_connect() und ingres_pconnect(). Siehe unter Optionen in ingres_connect().
INGRES_STRUCTURE_CBTREE (integer)
Bestimmt, welche Tabellen- oder Indexstruktur COMPRESSED BTREE als Vorgabewert benutzen soll, falls die Optionen table_structure oder index_structure beim Verbindungsaufbau verwendet wurden. Diese Konstante ist seit der Version 1.4.0 der PECL-Erweiterung verfügbar. Wird benutzt in ingres_connect() und ingres_pconnect(). Siehe unter Optionen in ingres_connect().
INGRES_STRUCTURE_HASH (integer)
Bestimmt, welche Tabellen- oder Indexstruktur HASH als Vorgabewert benutzen soll, falls die Optionen table_structure oder index_structure beim Verbindungsaufbau verwendet wurden. Diese Konstante ist seit der Version 1.4.0 der PECL-Erweiterung verfügbar. Wird benutzt in ingres_connect() und ingres_pconnect(). Siehe unter Optionen in ingres_connect().
INGRES_STRUCTURE_CHASH (integer)
Bestimmt, welche Tabellen- oder Indexstruktur COMPRESSED HASH als Vorgabewert benutzen soll, falls die Optionen table_structure oder index_structure beim Verbindungsaufbau verwendet wurden. Diese Konstante ist seit der Version 1.4.0 der PECL-Erweiterung verfügbar. Wird benutzt in ingres_connect() und ingres_pconnect(). Siehe unter Optionen in ingres_connect().
INGRES_STRUCTURE_HEAP (integer)
Bestimmt, welche Tabellenstruktur HEAP als Vorgabewert benutzen soll, falls die Option table_structure beim Verbindungsaufbau verwendet wurden. Diese Konstante ist seit der Version 1.4.0 der PECL-Erweiterung verfügbar. Wird benutzt in ingres_connect() und ingres_pconnect(). Siehe unter Optionen in ingres_connect().
INGRES_STRUCTURE_CHEAP (integer)
Bestimmt, welche Tabellenstruktur COMPRESSED HEAP als Vorgabewert benutzen soll, falls die Option table_structure beim Verbindungsaufbau verwendet wurden. Diese Konstante ist seit der Version 1.4.0 der PECL-Erweiterung verfügbar. Wird benutzt in ingres_connect() und ingres_pconnect(). Siehe unter Optionen in ingres_connect().
INGRES_STRUCTURE_ISAM (integer)
Bestimmt, welche Tabellen- oder Indexstruktur ISAM als Vorgabewert benutzen soll, falls die Optionen table_structure oder index_structure beim Verbindungsaufbau verwendet wurden. Diese Konstante ist seit der Version 1.4.0 der PECL-Erweiterung verfügbar. Wird benutzt in ingres_connect() und ingres_pconnect(). Siehe unter Optionen in ingres_connect().
INGRES_STRUCTURE_CISAM (integer)
Bestimmt, welche Tabellen- oder Indexstruktur COMPRESSED ISAM als Vorgabewert benutzen soll, falls die Optionen table_structure oder index_structure beim Verbindungsaufbau verwendet wurden. Diese Konstante ist seit der Version 1.4.0 der PECL-Erweiterung verfügbar. Wird benutzt in ingres_connect() und ingres_pconnect(). Siehe unter Optionen in ingres_connect().
Ressource-Typen
Beispiele
Ingres


Beispiele

Inhaltsverzeichnis

  • Grundlegende Nutzung
Vordefinierte Konstanten
Grundlegende Nutzung
Ingres


Grundlegende Nutzung

Dieses einfache Beispiel zeigt, wie man sich mit einer Ingres-Datenbank verbindet, eine Abfrage ausführt, die Ergebnisse ausgibt und die Verbindung wieder schließt.

Beispiel #1 Einfaches Beispiel mit Ingres

<?php
// Verbindung aufbauen und Datenbank auswählen
$link = ingres_connect('database', 'user', 'password')
    or die('Konnte keine Verbindung aufbauen: ' . ingres_error($link));
echo 'Verbindungsaufbau erfolgreich';

// Eine Tabelle abfragen, die in allen Ingres-Datenabanken existiert
$query = 'SELECT * FROM iitables';
$result = ingres_query($link,$query) or die('Abfrage fehlgeschlagen: ' .
ingres_error($link));

// Die Ergebnisse mit HTML ausgeben
// relid - der Name der Tabelle
// relowner - der Besitzer der Tabelle
echo "<table>\n";
while ($iitables = ingres_fetch_object($result)) {
    echo "\t<tr>\n";
    echo "\t\t<td>" . $iitables->relid . "</td>\n";
    echo "\t\t<td>" . $iitables->relowner . "</td>\n";
    echo "\t</tr>\n";
}
echo "</table>\n";

// Speicher freigeben
ingres_free_result($result);

// Transaktion beenden
ingres_commit($link);

// Verbindung schließen
ingres_close($link);
?>

Beispiele
Ingres-Funktionen
Beispiele


Ingres-Funktionen

Inhaltsverzeichnis

  • ingres_autocommit_state — Prüft, ob die Verbindung im autocommit-Modus arbeitet
  • ingres_autocommit — Schaltet den autocommit-Modus an oder aus
  • ingres_charset — Gibt den verwendeten Zeichensatz der Installation zurück
  • ingres_close — Schließt eine Ingres-II-Datenbankverbindung
  • ingres_commit — Beendet eine Transaktion
  • ingres_connect — Öffnet eine Verbindung zu einem Ingres-II-Datenbankserver
  • ingres_cursor — Gibt den Namen eines Cursors für die angegebene Ergebnis-Ressource zurück
  • ingres_errno — Gibt den letzten Ingres-Fehlercode zurück
  • ingres_error — Gibt eine textuelle Beschreibung des letzten Fehlercodes zurück
  • ingres_errsqlstate — Gibt den letzten Fehlercode von SQLSTATE zurück
  • ingres_escape_string — Maskiert Sonderzeichen in Datenbankabfragen
  • ingres_execute — Führt eine vorbereitete Abfrage aus
  • ingres_fetch_array — Liest eine Zeile der Ergebnismenge in ein Array ein
  • ingres_fetch_assoc — Fetch a row of result into an associative array
  • ingres_fetch_object — Gibt eine Zeile der Ergebnismenge als Objekt zurück
  • ingres_fetch_proc_return — Holt den Rückgabewert eines Prozeduraufrufs
  • ingres_fetch_row — Holt eine Zeile aus einer Ergebnismenge in ein numerisches Array
  • ingres_field_length — Gibt die Länge eines Feldes zurück
  • ingres_field_name — Holt den Namen eines Feldes in einer Ergebnismenge
  • ingres_field_nullable — Prüft, ob für ein Feld NULL-Werte zugelassen sind
  • ingres_field_precision — Gibt die Genauigkeit eines Feldes zurück
  • ingres_field_scale — Gibt die Größe eines skalaren Feldes zurück
  • ingres_field_type — Gibt den Typ eines Feldes in einer Ergebnismenge zurück
  • ingres_free_result — Gibt den durch ein Ergebnis belegten Speicher frei
  • ingres_next_error — Ermittelt den nächsten Ingres-Fehler
  • ingres_num_fields — Gibt die Anzahl der Felder der letzten Abfrage zurück
  • ingres_num_rows — Gibt die Anzahl der Datensätze der Ergebnismenge oder die Anzahl der von der letzten Abfrage betroffenen Datensätze zurück
  • ingres_pconnect — Öffnet eine persistente Verbindung zu einer Ingres-Datenbank
  • ingres_prepare — Bereitet eine Abfrage zur späteren Ausführung vor
  • ingres_query — Sendet eine SQL-Abfrage an den Ingres-Server
  • ingres_result_seek — Positioniert den Datensatzzeiger, bevor Daten geholt werden
  • ingres_rollback — Setzt eine Transaktion zurück
  • ingres_set_environment — Setzt Eigenschaften der Umgebung zur Ausgabesteuerung
  • ingres_unbuffered_query — Sendet eine SQL-Abfrage an Ingres, ohne die Ergebniszeilen zu puffern
Grundlegende Nutzung
ingres_autocommit_state
Ingres


Prüft, ob die Verbindung im autocommit-Modus arbeitet

Ingres-Funktionen
ingres_autocommit
Ingres-Funktionen
PHP Manual

ingres_autocommit_state

(PECL ingres >= 2.0.0)

ingres_autocommit_state — Prüft, ob die Verbindung im autocommit-Modus arbeitet

Beschreibung

bool ingres_autocommit_state ( resource $link )

ingres_autocommit_state() wird aufgerufen, um festzustellen, ob die aktuelle Verbindung im autocommit-Modus arbeitet oder nicht.

Parameter-Liste

link

Die Verbindungskennung

Rückgabewerte

Gibt TRUE zurück, wenn autocommit aktiviert ist oder FALSE, wenn autocommit deaktiviert ist.

Siehe auch

  • ingres_autocommit() - Schaltet den autocommit-Modus an oder aus
  • ingres_query() - Sendet eine SQL-Abfrage an den Ingres-Server

Ingres-Funktionen
ingres_autocommit
Ingres-Funktionen


Schaltet den autocommit-Modus an oder aus

ingres_autocommit_state
ingres_charset
Ingres-Funktionen
PHP Manual

ingres_autocommit

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_autocommit — Schaltet den autocommit-Modus an oder aus

Beschreibung

bool ingres_autocommit ( resource $link )

ingres_autocommit() wird vor dem Öffnen einer Transaktion aufgerufen (vor dem ersten Aufruf der Funktion ingres_query() oder gleich nach einem Aufruf von ingres_rollback() oder ingres_commit()) um den "autocommit"-Modus des Servers ein- oder auszuschalten (beim Beginn eines Skripts ist der autocommit-Modus ausgeschaltet).

Wenn der autocommit-Modus eingeschaltet ist, wird jede Abfrage automatisch sofort vom Server commited, so als würde die Funktion ingres_commit() nach jedem Aufruf von ingres_query() aufgerufen werden. Um festzustellen, ob autocommit ein- oder ausgeschaltet ist, kann man die Funktion ingres_autocommit_state() aufrufen

Normalerweise rollt Ingres jede nicht commitete Transaktion am Ende eines Seitenaufrufs zurück. Mit dieser Funktion oder mit ingres_commit() stellen Sie sicher, daß Ihre Änderungen in die Datenbank geschrieben wurden.

Parameter-Liste

link

Die Verbindungskennung.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ingres_autocommit_state() - Prüft, ob die Verbindung im autocommit-Modus arbeitet
  • ingres_query() - Sendet eine SQL-Abfrage an den Ingres-Server
  • ingres_rollback() - Setzt eine Transaktion zurück
  • ingres_commit() - Beendet eine Transaktion

ingres_autocommit_state
ingres_charset
Ingres-Funktionen


Gibt den verwendeten Zeichensatz der Installation zurück

ingres_autocommit
ingres_close
Ingres-Funktionen
PHP Manual

ingres_charset

(PECL ingres >= 2.1.0)

ingres_charset — Gibt den verwendeten Zeichensatz der Installation zurück

Beschreibung

string ingres_charset ( resource $link )

ingres_charset() wird aufgerufen um festzustellen, welchen Zeichensatz aus II_CHARSETxx der Ingres-Client verwendet (wobei xx der Installationscode ist).

Hinweis:

Mit der Funktion putenv() können Sie den Wert, den ingres_charset() zurückgibt, überschreiben. Wenn Sie den Wert von II_CHARSETxx in einer laufenden Ingres-Installation ändern, können Ihre Daten beschädigt werden.

Parameter-Liste

link

Die Verbindungskennung

Rückgabewerte

Gibt den Wert von II_CHARSETxx zurück oder NULL, falls der Wert von II_CHARSETxx nicht ermittelt werden konnte.

Beispiele

Beispiel #1 ingres_charset()-Beispiel

<?php
$link = ingres_connect($database, $user, $password);

echo ingres_charset($link) . "\n";

ingres_close($link);
?>

Siehe auch

  • ingres_connect() - Öffnet eine Verbindung zu einem Ingres-II-Datenbankserver
  • ingres_query() - Sendet eine SQL-Abfrage an den Ingres-Server

ingres_autocommit
ingres_close
Ingres-Funktionen


Schließt eine Ingres-II-Datenbankverbindung

ingres_charset
ingres_commit
Ingres-Funktionen
PHP Manual

ingres_close

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_close — Schließt eine Ingres-II-Datenbankverbindung

Beschreibung

bool ingres_close ( resource $link )

ingres_close() schließt die Verbindung zu dem Ingres-Datenbankserver, der mit der übergebenen Verbindunkskennung verknüpft ist.

ingres_close() ist normalerweise nicht nötig, weil es keine persistenten Verbindungen schließt und weil alle nicht-persistenten Verbindungen automatisch zum Ende des Skripts geschlossen werden.

Parameter-Liste

link

Die Verbindungskennung

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ingres_connect() - Öffnet eine Verbindung zu einem Ingres-II-Datenbankserver
  • ingres_pconnect() - Öffnet eine persistente Verbindung zu einer Ingres-Datenbank

ingres_charset
ingres_commit
Ingres-Funktionen


Beendet eine Transaktion

ingres_close
ingres_connect
Ingres-Funktionen
PHP Manual

ingres_commit

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_commit — Beendet eine Transaktion

Beschreibung

bool ingres_commit ( resource $link )

ingres_commit() schließt die aktuell offene Transaktion ab, und schreibt alle Veränderungen in die Datenbank.

Dadurch wird die Transaktion beendet. Eine neue Transaktion kann geöffnet werden, indem man eine neue Abfrage mit ingres_query() an den Datenbankserver schickt.

Sie können auch den Server automatisch nach jeder Abfrage einen Commit ausführen lassen, wenn sie die Funktion ingres_autocommit() aufrufen, bevor Sie die Transaktion öffnen.

Standardmäßig führt Ingres am Ende einer Anfrage ein Rollback für nicht committete Transaktionen durch. Verwenden Sie diese Funktion oder die Funktion ingres_autocommit(), wenn Sie sicherstellen wollen, dass Ihre Daten in die Datenbank übertragen werden.

Parameter-Liste

link

Die Verbindungskennung

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ingres_query() - Sendet eine SQL-Abfrage an den Ingres-Server
  • ingres_rollback() - Setzt eine Transaktion zurück
  • ingres_autocommit() - Schaltet den autocommit-Modus an oder aus

ingres_close
ingres_connect
Ingres-Funktionen


Öffnet eine Verbindung zu einem Ingres-II-Datenbankserver

ingres_commit
ingres_cursor
Ingres-Funktionen
PHP Manual

ingres_connect

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_connect — Öffnet eine Verbindung zu einem Ingres-II-Datenbankserver

Beschreibung

resource ingres_connect ([ string $database [, string $username [, string $password [, array $options ]]]] )

ingres_connect() öffnet eine Verbindung zu der Ingres-Datenbank database.

Die Verbindung wird geschlossen, wenn das Skript zuende ist oder wenn die Funktion ingres_close() mit der aktuellen Verbindungskennung aufgerufen wird.

Parameter-Liste

Wenn einige Parameter fehlen, benutzt ingres_connect() die Werte, die in der php.ini für ingres.default_database, ingres.default_user und ingres.default_password eingetragen sind.

database

Der Name der Datenbank. Dieser muss der Syntax

[vnode::]dbname[/svr_class] folgen.

username

Der Ingres-Benutzername.

password

Das Passwort zu username.

options

ingres_connect()-Optionen

Name der Option | Typ | Beschreibung | Beispiel
date_century_boundary | integer | Der Schwellwert, anhand dessen geprüft wird, ob eine zweistellige Jahreszahl im aktuellen oder im kommenden Jahrhundert liegt. Äquivalent zu II_DATE_CENTURY_BOUNDARY. | 50
group | string | Die Nummer der Benutzergruppe des Benutzers. Äquivalent zum '-G' Flag. | payroll
role | string | Die Role-Nummer der Applikation. Falls auch ein Role-Passwort verlangt wird, sollte der Wert als "role/password" angegeben werden.
effective_user | string | Das Ingres-Benutzerkonto, das der Benutzer verkörpert. Äquivalent zu dem Flag '-u'. | another_user
dbms_password | string | Das interne Datenbank-Passwort für den Benutzer, der sich mit Ingres verbindet. | s3cr3t
table_structure string

Die Vorgabewerte für die Struktur neuer Tabellen. Gültige Werte für Tabellenstrukturen sind:

  • INGRES_STRUCTURE_BTREE
  • INGRES_STRUCTURE_HASH
  • INGRES_STRUCTURE_HEAP
  • INGRES_STRUCTURE_ISAM
  • INGRES_STRUCTURE_CBTREE
  • INGRES_STRUCTURE_CISAM
  • INGRES_STRUCTURE_CHASH
  • INGRES_STRUCTURE_CHEAP

 INGRES_STRUCTURE_BTREE
index_structure string

Die Vorgabewerte für die Struktur neuer sekundärer Indexe. Gültige Werte für Indexstrukturen sind:

  • INGRES_STRUCTURE_CBTREE
  • INGRES_STRUCTURE_CISAM
  • INGRES_STRUCTURE_CHASH
  • INGRES_STRUCTURE_BTREE
  • INGRES_STRUCTURE_HASH
  • INGRES_STRUCTURE_ISAM

 INGRES_STRUCTURE_HASH
login_local | boolean | Bestimmt, wie mit Verbindungs-Benutzer-ID und -Passwort verfahren wird, wenn im Verbindungsstring für die Zieldatenbank ein VNODE enthalten ist. Falls diese Option auf TRUE gesetzt wird, werden Benutzer-ID und Passwort für den lokalen Zugriff auf VNODE verwendet und die Zugangsdaten zu VNODE werden zum Verbindungsaufbau zur Datenbank benutzt. Falls die Option auf den Wert FALSE gesetzt wurde, wird mit der Prozess-Benutzer-ID des Benutzers auf VNODE zugegriffen und mit seinen Logindaten für die Verbindung wird, anstelle der VNODE-Login-Daten, eine Verbindung zur Datenbank aufgebaut. Falls der Verbindungsstring keinen VNODE enthält, wird die Option ignoriert. Der Standardwert ist FALSE. | TRUE
timezone | string | Bestimmt die Zeitzone der Datenbanksitzung. Falls die Option nicht angegeben wurde, wird der Wert von II_TIMEZONE_NAME benutzt. Falls dort auch nichts definiert ist, wird NA-PACIFIC (GMT-8 mit Sommerzeit) benutzt.
date_format integer

Bestimmt die erlaubten Ein- und Ausgabeformate für das Datum in Ingres. Falls nichts angegeben ist, werden die Formate von II_DATE_FORMAT benutzt. Falls dort auch nichts definiert wurde, ist US (mm/dd/yy) das Standardformat. Gültige Werte für date_format sind:

  • INGRES_DATE_DMY
  • INGRES_DATE_FINISH
  • INGRES_DATE_GERMAN
  • INGRES_DATE_ISO
  • INGRES_DATE_ISO4
  • INGRES_DATE_MDY
  • INGRES_DATE_MULTINATIONAL
  • INGRES_DATE_MULTINATIONAL4
  • INGRES_DATE_YMD
  • INGRES_DATE_US

 INGRES_DATE_MULTINATIONAL4
decimal_separator string Das Dezimaltrennzeichen ","
money_lort integer

Führendes oder angehängtes Währungssymbol. Gültige Werte für money_lort sind:

  • INGRES_MONEY_LEADING
  • INGRES_MONEY_TRAILING

 INGRES_MONEY_TRAILING
money_sign string Das Währungssymbol, das mit dem Datentyp MONEY benutzt wird. €
integer | money_precision | Die Genauigkeit des Datentyps MONEY. | 3
float4_precision | integer | Die Genauigkeit des Datentyps FLOAT4. | 10
float8_precision | integer | Die Genauigkeit des Datentyps FLOAT8. | 10
blob_segment_length | integer | Die Datenmenge in Bytes, die in einem Zugriff aus einem BLOB/CLOB gelesen werden kann. Falls nichts anderes angegeben wurde, ist der Vorgabewert 4096 Bytes. | 8192

Rückgabewerte

Gibt bei Erfolg eine Ingres-Verbindungskennung zurück oder FALSE bei einem Fehler.

Beispiele

Beispiel #1 ingres_connect()-Beispiel

<?php
$link = ingres_connect("mydb", "user", "pass")
    or die("Konnte nicht verbinden");
echo "Verbindungsaufbau erfolgreich";
ingres_close($link);
?>

Siehe auch

  • ingres_pconnect() - Öffnet eine persistente Verbindung zu einer Ingres-Datenbank
  • ingres_close() - Schließt eine Ingres-II-Datenbankverbindung

ingres_commit
ingres_cursor
Ingres-Funktionen


Gibt den Namen eines Cursors für die angegebene Ergebnis-Ressource zurück

ingres_connect
ingres_errno
Ingres-Funktionen
PHP Manual

ingres_cursor

(PECL ingres >= 1.1.0)

ingres_cursor — Gibt den Namen eines Cursors für die angegebene Ergebnis-Ressource zurück

Beschreibung

string ingres_cursor ( resource $result )

Es wird ein String mit dem Namen des aktiven Cursors zurückgegeben oder NULL, falls kein Cursor geöffnet ist.

Parameter-Liste

result

Die Ergebniskennung

Rückgabewerte

Gibt einen String zurück, der den Namen des aktiven Cursors enthält. Falls kein Cursor geöffnet ist, wird NULL zurückgegeben.

Beispiele

Beispiel #1 ingres_cursor()-Beispiel

<?php
$link = ingres_connect($database, $user, $password);

$result = ingres_prepare($link, "select * from table");

$cursor_name = ingres_cursor($result);

echo $cursor_name;

?>

Siehe auch

  • ingres_prepare() - Bereitet eine Abfrage zur späteren Ausführung vor
  • ingres_execute() - Führt eine vorbereitete Abfrage aus

ingres_connect
ingres_errno
Ingres-Funktionen


Gibt den letzten Ingres-Fehlercode zurück

ingres_cursor
ingres_error
Ingres-Funktionen
PHP Manual

ingres_errno

(PECL ingres >= 1.1.0)

ingres_errno — Gibt den letzten Ingres-Fehlercode zurück

Beschreibung

int ingres_errno ([ resource $link ] )

Gibt einen Integerwert mit dem letzten Fehlercode zurück. Falls es keinen Fehler gab, wird 0 zurückgegeben.

Wird der Parameter link an ingres_errno() übergeben, wird der letzte Fehlercode für diese Verbindung zurückgegeben. Falls keine Verbindungskennung übergeben wird, gibt ingres_errno() den letzten Fehlercode für die Standardverbindung zurück.

Die Funktion ingres_errno() sollte immer nach der Ausführung einer Datenbankabfrage aufgerufen werden. Wird vor dem Aufruf von ingres_errno() eine andere Funktion aufgerufen, wird der Fehlercode der letzten Datenbankabfrage von diesem Aufruf zurückgesetzt oder verändert.

Parameter-Liste

link

Die Verbindungskennung

Rückgabewerte

Gibt einen Integerwert mit dem letzten Fehlercode zurück. Falls es keinen Fehler gab, wird 0 zurückgegeben.

Beispiele

Beispiel #1 ingres_errno()-Beispiel

<?php
$link = ingres_connect($database, $user, $password);

$result = ingres_query($link, "select * from table");

$error_code = ingres_errno($link);

if ( $error_code != 0 ) {
   echo "Ein Fehler ist aufgetreten - " . $error_code;
}
?>

Siehe auch

  • ingres_error() - Gibt eine textuelle Beschreibung des letzten Fehlercodes zurück
  • ingres_errsqlstate() - Gibt den letzten Fehlercode von SQLSTATE zurück
  • ingres_next_error() - Ermittelt den nächsten Ingres-Fehler

ingres_cursor
ingres_error
Ingres-Funktionen


Gibt eine textuelle Beschreibung des letzten Fehlercodes zurück

ingres_errno
ingres_errsqlstate
Ingres-Funktionen
PHP Manual

ingres_error

(PECL ingres >= 1.1.0)

ingres_error — Gibt eine textuelle Beschreibung des letzten Fehlercodes zurück

Beschreibung

string ingres_error ([ resource $link ] )

Gibt einen String zurück, der eine Beschreibung des letzten Fehlers enthält oder NULL, falls es keinen Fehler gab.

Wird der Parameter link an ingres_error() übergeben, wird die letzte Fehlermeldung für diese Verbindung zurückgegeben. Falls keine Verbindungskennung übergeben wird, gibt ingres_error() die letzte Fehlermeldung für die Standardverbindung zurück.

Die Funktion ingres_error() sollte immer nach der Ausführung einer Datenbankabfrage aufgerufen werden. Wird vor dem Aufruf von ingres_error() eine andere Funktion aufgerufen, wird die Fehlermeldung der letzten Datenbankabfrage von diesem Aufruf zurückgesetzt oder verändert.

Parameter-Liste

link

Die Verbindungskennung

Rückgabewerte

Gibt einen String mit der letzten Fehlermeldung zurück. Falls es keinen Fehler gab, wird NULL zurückgegeben.

Beispiele

Beispiel #1 ingres_error()-Beispiel

<?php
$link = ingres_connect($database, $user, $password);

$result = ingres_query($link, "select * from table");

$error_text = ingres_error();

if (!is_null($error_text)) {
   echo "Ein Fehler ist aufgetreten - " . $error_text;
}
?>

Siehe auch

  • ingres_errno() - Gibt den letzten Ingres-Fehlercode zurück
  • ingres_errsqlstate() - Gibt den letzten Fehlercode von SQLSTATE zurück
  • ingres_next_error() - Ermittelt den nächsten Ingres-Fehler

ingres_errno
ingres_errsqlstate
Ingres-Funktionen


Gibt den letzten Fehlercode von SQLSTATE zurück

ingres_error
ingres_escape_string
Ingres-Funktionen
PHP Manual

ingres_errsqlstate

(PECL ingres >= 1.1.0)

ingres_errsqlstate — Gibt den letzten Fehlercode von SQLSTATE zurück

Beschreibung

string ingres_errsqlstate ([ resource $link ] )

Gibt einen String zurück, der den letzten Fehlercode von SQLSTATE enthält oder NULL, falls es keinen Fehler gab.

Wird der Parameter link an ingres_errsqlstate() übergeben, wird der letzte Fehlercode von SQLSTATE für diese Verbindung zurückgegeben. Falls keine Verbindungskennung übergeben wird, gibt ingres_errsqlstate() den letzten Fehlercode von SQLSTATE für die Standardverbindung zurück.

Die Funktion ingres_errsqlstate() sollte immer nach der Ausführung einer Datenbankabfrage aufgerufen werden. Wird vor dem Aufruf von ingres_errsqlstate() eine andere Funktion aufgerufen, wird die Fehlermeldung der letzten Datenbankabfrage von diesem Aufruf zurückgesetzt oder verändert.

Parameter-Liste

link

Die Verbindungskennung

Rückgabewerte

Gibt einen String zurück, der den letzten Fehlercode von SQLSTATE enthält oder NULL, falls es keinen Fehler gab.

Beispiele

Beispiel #1 ingres_errsqlstate()-Beispiel

<?php
$link = ingres_connect($database, $user, $password);

$result = ingres_query($link, "select * from table");

$error_sqlstate = ingres_errsqlstate($link);

if (!is_null($error_sqlstate)) {
   echo "Ein Fehler ist aufgetreten - " . $error_sqlstate;
}
?>

Siehe auch

  • ingres_errno() - Gibt den letzten Ingres-Fehlercode zurück
  • ingres_error() - Gibt eine textuelle Beschreibung des letzten Fehlercodes zurück
  • ingres_next_error() - Ermittelt den nächsten Ingres-Fehler

ingres_error
ingres_escape_string
Ingres-Funktionen


Maskiert Sonderzeichen in Datenbankabfragen

ingres_errsqlstate
ingres_execute
Ingres-Funktionen
PHP Manual

ingres_escape_string

(PECL ingres >= 2.1.0)

ingres_escape_string — Maskiert Sonderzeichen in Datenbankabfragen

Beschreibung

string ingres_escape_string ( resource $link , string $source_string )

ingres_escape_string() wird benutzt, um bestimmte Sonderzeichen in Strings zu maskieren, bevor diese an den Datenbankserver gesendet werden.

Parameter-Liste

link

Die Verbindungskennung

source_string

Der String, der geparst werden soll

Rückgabewerte

Gibt einen String zurück, dessen Sonderzeichen maskiert wurden.

Beispiele

Beispiel #1 Bestimmte Sonderzeichen in einer Abfrage werden maskiert

<?php
$link = ingres_connect($database, $user, $password);

$last_name = "O'Connor";

$sql = sprintf("select * from user_profile where up_last = '%s'", ingres_escape_string( $link, $last_name));

$result = ingres_query($link, $sql);

while ($user = ingres_fetch_object($result))
{
  echo $user->up_first . <BR />;
}

ingres_commit($link);

ingres_close($link);

?>

Siehe auch

  • ingres_query() - Sendet eine SQL-Abfrage an den Ingres-Server

ingres_errsqlstate
ingres_execute
Ingres-Funktionen


Führt eine vorbereitete Abfrage aus

ingres_escape_string
ingres_fetch_array
Ingres-Funktionen
PHP Manual

ingres_execute

(PECL ingres >= 1.1.0)

ingres_execute — Führt eine vorbereitete Abfrage aus

Beschreibung

boolean ingres_execute ( resource $result [, array $params [, string $types ]] )

Eine mit ingres_prepare() vorbereitete Abfrage wird ausgeführt.

Hinweis: Verwandte Konfigurationen

Siehe auch die Direktiven ingres.describe, ingres.scrollable und ingres.utf8 der Laufzeit-Konfiguration.

Parameter-Liste

result

Die Ergebniskennung

params

Ein Array mit den Parameterwerten für die Abfrage

types

Ein String, der eine Folge von Datentypen für die übergebenen Parameterwerte enthält. Eine Liste der Typ-Codes finden Sie bei der Funktion ingres_query().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ingres_unbuffered_query() - Sendet eine SQL-Abfrage an Ingres, ohne die Ergebniszeilen zu puffern
  • ingres_fetch_array() - Liest eine Zeile der Ergebnismenge in ein Array ein
  • ingres_fetch_object() - Gibt eine Zeile der Ergebnismenge als Objekt zurück
  • ingres_fetch_row() - Holt eine Zeile aus einer Ergebnismenge in ein numerisches Array
  • ingres_commit() - Beendet eine Transaktion
  • ingres_rollback() - Setzt eine Transaktion zurück
  • ingres_autocommit() - Schaltet den autocommit-Modus an oder aus
  • ingres_set_environment() - Setzt Eigenschaften der Umgebung zur Ausgabesteuerung
  • ingres_errno() - Gibt den letzten Ingres-Fehlercode zurück
  • ingres_error() - Gibt eine textuelle Beschreibung des letzten Fehlercodes zurück

ingres_escape_string
ingres_fetch_array
Ingres-Funktionen


Liest eine Zeile der Ergebnismenge in ein Array ein

ingres_execute
ingres_fetch_assoc
Ingres-Funktionen
PHP Manual

ingres_fetch_array

( PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_fetch_array — Liest eine Zeile der Ergebnismenge in ein Array ein

Beschreibung

array ingres_fetch_array ( resource $result [, int $result_type ] )

Diese Funktion ist eine erweiterte Version der Funktion ingres_fetch_row(). Zusätzlich zur Speicherung der Daten unter numerischen Indizes werden die Daten auch unter assoziativen Indizes im Ergebnisarray gespeichert, in dem die Feldnamen als Schlüssel benutzt werden.

Falls eine oder mehrere Spalten der Ergebnismenge dieselben Feldnamen haben, bekommt die letzte Spalte die Priorität. Um auf die anderen Spalten zuzugreifen, müssen sie entweder den numerischen Index der Spalte benutzen oder Aliase für die Spalten machen.

<?php

$result = ingres_query($link, "select ap_place as city, ap_ccode as country from airport where ap_iatacode = 'VLL'");
$result = ingres_fetch_array($result);
$foo = $result["city"];
$bar = $result["country"];

?>

Von der Geschwindigkeit her ist diese Funktion identisch zu ingres_fetch_object(), und fast so schnell wie ingres_fetch_row() (der Unterschied ist zu vernachlässigen).

In der Standardeinstellung beginnt die Indizierung der Arrays, die mit ingres_fetch_array() geholt werden bei 1 und nicht bei 0, wie in anderen DBMS-Erweiterungen. Die Startposition kann aber angepasst werden, indem man den Konfigurationsparameter ingres.array_index_start auf den Wert 0 setzt.

Hinweis: Verwandte Konfigurationen

Siehe auch die Direktiven ingres.array_index_start, ingres.fetch_buffer_size und ingres.utf8 der Laufzeit-Konfiguration.

Parameter-Liste

result

Die Ergebniskennung

result_type

Der Ergebnistyp. Der Parameter result_type kann die Werte INGRES_NUM für ein numerisches Array, INGRES_ASSOC für ein assoziatives Array oder INGRES_BOTH (Vorgabewert) für beides haben.

Rückgabewerte

Gibt eine gelesene Zeile aus einem Ergebnis in einem Array zurück oder FALSE, wenn keine Zeilen mehr gelesen werden können.

Beispiele

Beispiel #1 Eine Ergebniszeile in ein Array einlesen

<?php
$link = ingres_connect($database, $user, $password);

$result = ingres_query($link,"select * from table");
while ($row = ingres_fetch_array($result)) {
    echo $row["user_id"];  // aus dem assoziativen Array
    echo $row["fullname"];
    echo $row[1];          // aus dem numerischen Array
    echo $row[2];
}
?>

Siehe auch

  • ingres_query() - Sendet eine SQL-Abfrage an den Ingres-Server
  • ingres_num_fields() - Gibt die Anzahl der Felder der letzten Abfrage zurück
  • ingres_field_name() - Holt den Namen eines Feldes in einer Ergebnismenge
  • ingres_fetch_object() - Gibt eine Zeile der Ergebnismenge als Objekt zurück
  • ingres_fetch_row() - Holt eine Zeile aus einer Ergebnismenge in ein numerisches Array

ingres_execute
ingres_fetch_assoc
Ingres-Funktionen


Fetch a row of result into an associative array

ingres_fetch_array
ingres_fetch_object
Ingres-Funktionen
PHP Manual

ingres_fetch_assoc

(PECL ingres >= 2.2.2)

ingres_fetch_assoc — Fetch a row of result into an associative array

Beschreibung

array ingres_fetch_assoc ( resource $result )

This function is stores the data fetched from a query executed using ingres_query() in an associative array, using the field names as keys.

With regard to speed, the function is identical to ingres_fetch_object(), and almost as quick as ingres_fetch_row() (the difference is insignificant).

By default, arrays created by ingres_fetch_assoc() start from position 1 and not 0 as with other DBMS extensions. The starting position can be adjusted to 0 using the configuration parameter ingres.array_index_start.

Hinweis: Related Configurations

See also the ingres.array_index_start, ingres.fetch_buffer_size and ingres.utf8 directives in Runtime Configuration.

Parameter-Liste

result

The query result identifier

Rückgabewerte

Returns an associative array that corresponds to the fetched row, or FALSE if there are no more rows

Beispiele

Beispiel #1 Fetch a row into an associative array

<?php
$link = ingres_connect($database, $user, $password);

$result = ingres_query($link,"select * from table");
while ($row = ingres_fetch_assoc($result)) {
    echo $row["user_id"];  // using associative array
    echo $row["fullname"];
}
?>

Siehe auch

  • ingres_query() - Sendet eine SQL-Abfrage an den Ingres-Server
  • ingres_num_fields() - Gibt die Anzahl der Felder der letzten Abfrage zurück
  • ingres_field_name() - Holt den Namen eines Feldes in einer Ergebnismenge
  • ingres_fetch_array() - Liest eine Zeile der Ergebnismenge in ein Array ein
  • ingres_fetch_object() - Gibt eine Zeile der Ergebnismenge als Objekt zurück
  • ingres_fetch_row() - Holt eine Zeile aus einer Ergebnismenge in ein numerisches Array

ingres_fetch_array
ingres_fetch_object
Ingres-Funktionen


Gibt eine Zeile der Ergebnismenge als Objekt zurück

ingres_fetch_assoc
ingres_fetch_proc_return
Ingres-Funktionen
PHP Manual

ingres_fetch_object

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_fetch_object — Gibt eine Zeile der Ergebnismenge als Objekt zurück

Beschreibung

object ingres_fetch_object ( resource $result [, int $result_type ] )

Diese Funktion ist ähnlich zu ingres_fetch_array(), mit einem Unterschied: ein Objekt wird anstelle eines Arrays zurückgegeben. Indirekt heißt das, daß Sie die Daten nur über ihre Feldnamen ansprechen können und nicht über ihre Offsets (Zahlen sind unzulässige Namen für Objekteigenschaften).

Diese Funktion ist von der Geschwindigkeit her identisch zu ingres_fetch_array(), und fast so schnell wie ingres_fetch_row() (der Unterschied ist zu vernachlässigen).

Hinweis: Verwandte Konfigurationen

Siehe auch die Direktiven ingres.fetch_buffer_size und ingres.utf8 der Laufzeit-Konfiguration.

Parameter-Liste

link

Die Ergebniskennung

result_type

Das (optionale) Argument result_type ist eine Konstante und kannd die Werte INGRES_ASSOC, INGRES_NUM und INGRES_BOTH annehmen.

Rückgabewerte

Gibt die Daten einer Zeile der Ergebnismenge in einem Objekt zurück oder FALSE, wenn es keine Zeilen mehr gibt.

Beispiele

Beispiel #1 Eine Zeile in ein Objekt einlesen

<?php
$link = ingres_connect($database, $user, $password);
$result = ingres_query($link, "select * from table");
while ($row = ingres_fetch_object($result)) {
    echo $row->user_id;
    echo $row->fullname;
}
?>

Siehe auch

  • ingres_query() - Sendet eine SQL-Abfrage an den Ingres-Server
  • ingres_num_fields() - Gibt die Anzahl der Felder der letzten Abfrage zurück
  • ingres_field_name() - Holt den Namen eines Feldes in einer Ergebnismenge
  • ingres_fetch_array() - Liest eine Zeile der Ergebnismenge in ein Array ein
  • ingres_fetch_row() - Holt eine Zeile aus einer Ergebnismenge in ein numerisches Array

ingres_fetch_assoc
ingres_fetch_proc_return
Ingres-Funktionen


Holt den Rückgabewert eines Prozeduraufrufs

ingres_fetch_object
ingres_fetch_row
Ingres-Funktionen
PHP Manual

ingres_fetch_proc_return

(PECL ingres >= 1.4.0)

ingres_fetch_proc_return — Holt den Rückgabewert eines Prozeduraufrufs

Beschreibung

int ingres_fetch_proc_return ( resource $result )

Mir dieser Funktion wird der Rückgabewert einer zuvor ausgeführten Datenbank-Prozedur (stroed procedure) geholt.

Hinweis:

Wird diese Funktion im Zusammenhang mit einer Prozedur benutzt, die neue Zeilen erzeugt, sollte sie erst dann aufgerufen werden, nachdem alle erzeugten Zeilen mit ingres_fetch_array(), ingres_fetch_object() oder ingres_fetch_row() geholt wurden. Diese Funktion unterdrückt alle Zeilen, die noch nicht geholt wurden, falls es solche gibt.

Parameter-Liste

result

Die Ergebniskennung einer Abfrage

Rückgabewerte

Gibt einen integer-Wert zurück, falls die Prozedur einen liefert, anderenfalls NULL.

Beispiele

Beispiel #1 Holt den Rückgabewert eines Prozeduraufrufs

<?php

$link = ingres_connect($database);

if ( ingres_errno() != 0 ) {
    $error_text = ingres_error();
    die($error_text);
}

$result = ingres_query($link, "execute procedure php_proc (value = 1000)");

if ( ingres_errno() != 0 ) {
    $error_text = ingres_error();
    die($error_text);
}

echo "Rückgabewert - " . ingres_fetch_proc_return($result) . "\n";

ingres_close($link);

?>

Siehe auch

  • ingres_query() - Sendet eine SQL-Abfrage an den Ingres-Server
  • ingres_fetch_array() - Liest eine Zeile der Ergebnismenge in ein Array ein
  • ingres_fetch_object() - Gibt eine Zeile der Ergebnismenge als Objekt zurück
  • ingres_fetch_row() - Holt eine Zeile aus einer Ergebnismenge in ein numerisches Array

ingres_fetch_object
ingres_fetch_row
Ingres-Funktionen


Holt eine Zeile aus einer Ergebnismenge in ein numerisches Array

ingres_fetch_proc_return
ingres_field_length
Ingres-Funktionen
PHP Manual

ingres_fetch_row

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_fetch_row — Holt eine Zeile aus einer Ergebnismenge in ein numerisches Array

Beschreibung

array ingres_fetch_row ( resource $result )

ingres_fetch_row() gibt ein Array zurück, das die entsprechende Zeile der Ergebnismenge enthält oder FALSE, falls es keine Zeilen mehr in der Ergebnismenge gibt. Jede Spalte ist unter einem Array-Offset, beginnend mit 1, gespeichert.

Aufeinanderfolgende Aufrufe von ingres_fetch_row() geben immer die nächste Zeile der Ergebnismenge zurück oder FALSE, wenn es keine Zeilen mehr gibt.

In der Standardeinstellung beginnt die Indizierung der Arrays, die mit ingres_fetch_row() geholt werden bei 1 und nicht bei 0, wie in anderen DBMS-Erweiterungen. Die Startposition kann aber angepasst werden, indem man den Konfigurationsparameter ingres.array_index_start auf den Wert 0 setzt.

Hinweis: Verwandte Konfigurationen

Siehe auch die Direktiven ingres.array_index_start, ingres.fetch_buffer_size und ingres.utf8 der Laufzeit-Konfiguration.

Parameter-Liste

result

Die Ergebniskennung

Rückgabewerte

Gibt eine gelesene Zeile aus einem Ergebnis in einem Array zurück oder FALSE, wenn keine Zeilen mehr gelesen werden können.

Beispiele

Beispiel #1 Eine Ergebniszeile in ein numerisches Array einlesen

<?php
$link = ingres_connect($database, $user, $password);

$result = ingres_query($link, "select * from table");
while ($row = ingres_fetch_row($result)) {
    echo $row[1];
    echo $row[2];
}
?>

Siehe auch

  • ingres_num_fields() - Gibt die Anzahl der Felder der letzten Abfrage zurück
  • ingres_query() - Sendet eine SQL-Abfrage an den Ingres-Server
  • ingres_fetch_array() - Liest eine Zeile der Ergebnismenge in ein Array ein
  • ingres_fetch_object() - Gibt eine Zeile der Ergebnismenge als Objekt zurück

ingres_fetch_proc_return
ingres_field_length
Ingres-Funktionen


Gibt die Länge eines Feldes zurück

ingres_fetch_row
ingres_field_name
Ingres-Funktionen
PHP Manual

ingres_field_length

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_field_length — Gibt die Länge eines Feldes zurück

Beschreibung

int ingres_field_length ( resource $result , int $index )

ingres_field_length() gibt die Länge eines Feldes zurück. Das ist die Anzahl der Bytes, die der Server zum Speichern des Feldes belegt. Für genauere Informationen schauen Sie in den OpenAPI User Guide - Appendix "Data Types" der Ingres-Dokumentation.

Parameter-Liste

result

Die Ergebniskennung

index

index ist die Feldnummer und muss zwischen 1 und dem Wert von ingres_num_fields() liegen.

Rückgabewerte

Gibt die Länge eines Feldes zurück

Siehe auch

  • ingres_query() - Sendet eine SQL-Abfrage an den Ingres-Server
  • ingres_fetch_array() - Liest eine Zeile der Ergebnismenge in ein Array ein
  • ingres_fetch_object() - Gibt eine Zeile der Ergebnismenge als Objekt zurück
  • ingres_fetch_row() - Holt eine Zeile aus einer Ergebnismenge in ein numerisches Array

ingres_fetch_row
ingres_field_name
Ingres-Funktionen


Holt den Namen eines Feldes in einer Ergebnismenge

ingres_field_length
ingres_field_nullable
Ingres-Funktionen
PHP Manual

ingres_field_name

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_field_name — Holt den Namen eines Feldes in einer Ergebnismenge

Beschreibung

string ingres_field_name ( resource $result , int $index )

ingres_field_name() gibt den Namen eines Feldes in einer Ergebnismenge zurück

Hinweis: In Beziehung stehende Konfiguration

Siehe ingres.array_index_start in Laufzeitkonfiguration

Parameter-Liste

result

Die Ergebniskennung

index

index gibt das zu prüfende Feld an.

Die möglichen Werte von index hängen vom Wert von ingres.array_index_start ab. Ist ingres.array_index_start 1 (die Vorgabe), dann muss index zwischen 1 und dem Wert, der von ingres_num_fields() zurückgegeben wird, liegen. Ist ingres.array_index_start 0, dann muss index zwischen 0 und ingres_num_fields() - 1 liegen.

Rückgabewerte

Gibt den Namen eines Feldes in einer Ergebnismenge zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ingres_query() - Sendet eine SQL-Abfrage an den Ingres-Server
  • ingres_fetch_array() - Liest eine Zeile der Ergebnismenge in ein Array ein
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_object() - Gibt eine Zeile der Ergebnismenge als Objekt zurück
  • ingres_fetch_row() - Holt eine Zeile aus einer Ergebnismenge in ein numerisches Array

ingres_field_length
ingres_field_nullable
Ingres-Funktionen


Prüft, ob für ein Feld NULL-Werte zugelassen sind

ingres_field_name
ingres_field_precision
Ingres-Funktionen
PHP Manual

ingres_field_nullable

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_field_nullable — Prüft, ob für ein Feld NULL-Werte zugelassen sind

Beschreibung

bool ingres_field_nullable ( resource $result , int $index )

Prüft, ob für ein Feld NULL-Werte zugelassen sind

Hinweis: In Beziehung stehende Konfiguration

Siehe ingres.array_index_start in Laufzeitkonfiguration

Parameter-Liste

result

Die Ergebniskennung

index

index gibt das zu prüfende Feld an.

Die möglichen Werte von index hängen vom Wert von ingres.array_index_start ab. Ist ingres.array_index_start 1 (die Vorgabe), dann muss index zwischen 1 und dem Wert, der von ingres_num_fields() zurückgegeben wird, liegen. Ist ingres.array_index_start 0, dann muss index zwischen 0 und ingres_num_fields() - 1 liegen.

Rückgabewerte

ingres_field_nullable() gibt TRUE zurück, falls in dieser Spalte NULL-Werte zugelasssen sind und FALSE, falls das nicht erlaubt ist.

Siehe auch

  • ingres_query() - Sendet eine SQL-Abfrage an den Ingres-Server
  • ingres_fetch_array() - Liest eine Zeile der Ergebnismenge in ein Array ein
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_object() - Gibt eine Zeile der Ergebnismenge als Objekt zurück
  • ingres_fetch_row() - Holt eine Zeile aus einer Ergebnismenge in ein numerisches Array

ingres_field_name
ingres_field_precision
Ingres-Funktionen


Gibt die Genauigkeit eines Feldes zurück

ingres_field_nullable
ingres_field_scale
Ingres-Funktionen
PHP Manual

ingres_field_precision

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_field_precision — Gibt die Genauigkeit eines Feldes zurück

Beschreibung

int ingres_field_precision ( resource $result , int $index )

ingres_field_precision() gibt die Genauigkeit eines Feldes zurück. Dieser Rückgabewert wird nur für Dezimalzahlen, Fliesskommazahlen und monetäre SQL-Datentypen benutzt. Wenn Sie es genauer wissen wollen, schauen Sie sich den OpenAPI User Guide der Ingres-Dokumentation, Appendix "Data Types", an.

Parameter-Liste

result

Die Ergebniskennung

index

index ist die Feldnummer und muss zwischen 1 und dem Wert liegen, den ingres_num_fields() zurückgibt.

Rückgabewerte

Gibt die Genauigkeit eines Feldes als Integerwert zurück

Siehe auch

  • ingres_query() - Sendet eine SQL-Abfrage an den Ingres-Server
  • ingres_fetch_array() - Liest eine Zeile der Ergebnismenge in ein Array ein
  • ingres_fetch_object() - Gibt eine Zeile der Ergebnismenge als Objekt zurück
  • ingres_fetch_row() - Holt eine Zeile aus einer Ergebnismenge in ein numerisches Array

ingres_field_nullable
ingres_field_scale
Ingres-Funktionen


Gibt die Größe eines skalaren Feldes zurück

ingres_field_precision
ingres_field_type
Ingres-Funktionen
PHP Manual

ingres_field_scale

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_field_scale — Gibt die Größe eines skalaren Feldes zurück

Beschreibung

int ingres_field_scale ( resource $result , int $index )

ingres_field_scale() gibt Gibt die Größe eines skalaren Feldes zurück. Dieser Rückgabewert wird nur für Dezimalzahlen, Fliesskommazahlen und monetäre SQL-Datentypen benutzt. Für nähere Informationen schauen Sie sich den OpenAPI User Guide, Appendix "Data Types", in der Ingres-Dokumentation an.

Parameter-Liste

result

Die Ergebniskennung

index

index ist die Feldnummer und muss zwischen 1 und dem Wert liegen, den ingres_num_fields() zurückgibt.

Rückgabewerte

Gibt die Größe eines skalaren Feldes als Integerwert zurück

Siehe auch

  • ingres_query() - Sendet eine SQL-Abfrage an den Ingres-Server
  • ingres_fetch_array() - Liest eine Zeile der Ergebnismenge in ein Array ein
  • ingres_fetch_object() - Gibt eine Zeile der Ergebnismenge als Objekt zurück
  • ingres_fetch_row() - Holt eine Zeile aus einer Ergebnismenge in ein numerisches Array

ingres_field_precision
ingres_field_type
Ingres-Funktionen


Gibt den Typ eines Feldes in einer Ergebnismenge zurück

ingres_field_scale
ingres_free_result
Ingres-Funktionen
PHP Manual

ingres_field_type

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_field_type — Gibt den Typ eines Feldes in einer Ergebnismenge zurück

Beschreibung

string ingres_field_type ( resource $result , int $index )

Gibt den Typ eines Feldes in einer Ergebnismenge zurück.

Parameter-Liste

result

Die Ergebniskennung

index

index ist die Feldnummer und muss zwischen 1 und dem Wert liegen, den ingres_num_fields() zurückgibt.

Rückgabewerte

ingres_field_type() gibt den Typ eines Feldes in einer Ergebnismenge zurück oder FALSE, wenn ein Fehler aufgetreten ist. Beispiele von Rückgabewerten sind: IIAPI_BYTE_TYPE, IIAPI_CHA_TYPE, IIAPI_DTE_TYPE, IIAPI_FLT_TYPE, IIAPI_INT_TYPE oder IIAPI_VCH_TYPE. Einige dieser Typen können, in Abhängigkeit von der Feldlänge, mehrere SQL-Typen umfassen. (siehe ingres_field_length()). Beispielsweise kann IIAPI_FLT_TYPE entweder float4 oder float8 sein. Genauere Informationen darüber finden Sie in dem OpenAPI User Guide, Appendix "Data Types", in der Ingres-Dokumentation.

Siehe auch

  • ingres_query() - Sendet eine SQL-Abfrage an den Ingres-Server
  • ingres_fetch_array() - Liest eine Zeile der Ergebnismenge in ein Array ein
  • ingres_fetch_object() - Gibt eine Zeile der Ergebnismenge als Objekt zurück
  • ingres_fetch_row() - Holt eine Zeile aus einer Ergebnismenge in ein numerisches Array

ingres_field_scale
ingres_free_result
Ingres-Funktionen


Gibt den durch ein Ergebnis belegten Speicher frei

ingres_field_type
ingres_next_error
Ingres-Funktionen
PHP Manual

ingres_free_result

(PECL ingres >= 2.0.0)

ingres_free_result — Gibt den durch ein Ergebnis belegten Speicher frei

Beschreibung

bool ingres_free_result ( resource $result )

Parameter-Liste

result

Die Ergebniskennung einer Abfrage

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Den Speicherplatz eines Ergebnisses freigeben

<?php
$link = ingres_connect($database, $user, $password);

$result = ingres_query($link, "select * from table");

while ($row = ingres_fetch_row($result)) {
    echo $row[1];
    echo $row[2];
}
ingres_free_result($result);

ingres_close($link)

?>

Siehe auch

  • ingres_query() - Sendet eine SQL-Abfrage an den Ingres-Server

ingres_field_type
ingres_next_error
Ingres-Funktionen


Ermittelt den nächsten Ingres-Fehler

ingres_free_result
ingres_num_fields
Ingres-Funktionen
PHP Manual

ingres_next_error

(PECL ingres >= 2.0.0)

ingres_next_error — Ermittelt den nächsten Ingres-Fehler

Beschreibung

bool ingres_next_error ([ resource $link ] )

Gibt den nächsten Ingres-Fehler nach der zuletzt ausgeführten Abfrage zurück. Nach jedem Aufruf von ingres_next_error() kann mit ingres_errno(), ingres_error() oder ingres_errsqlstate() der Fehlercode beziehungsweise die Fehlerbeschreibung oder der SQL-Status abgefragt werden. Solange ingres_next_error() TRUE zurückgibt, gibt es weitere Fehler.

Parameter-Liste

link

Die Verbindungskennung

Rückgabewerte

ingres_next_error() gibt TRUE zurück, wenn weitere Fehler abzufragen sind und FALSE wenn es keine Fehler mehr gibt.

Siehe auch

  • ingres_errno() - Gibt den letzten Ingres-Fehlercode zurück
  • ingres_error() - Gibt eine textuelle Beschreibung des letzten Fehlercodes zurück
  • ingres_errsqlstate() - Gibt den letzten Fehlercode von SQLSTATE zurück

ingres_free_result
ingres_num_fields
Ingres-Funktionen


Gibt die Anzahl der Felder der letzten Abfrage zurück

ingres_next_error
ingres_num_rows
Ingres-Funktionen
PHP Manual

ingres_num_fields

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_num_fields — Gibt die Anzahl der Felder der letzten Abfrage zurück

Beschreibung

int ingres_num_fields ( resource $result )

ingres_num_fields() liefert die Anzahl der Felder in der Ergebnismenge zurück, die vom Ingres-Server nach einem Aufruf von ingres_query() zurückgegeben wurde.

Parameter-Liste

result

Die Ergebniskennung

Rückgabewerte

Gibt die Anzahl der Felder zurück

Siehe auch

  • ingres_query() - Sendet eine SQL-Abfrage an den Ingres-Server
  • ingres_fetch_array() - Liest eine Zeile der Ergebnismenge in ein Array ein
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_object() - Gibt eine Zeile der Ergebnismenge als Objekt zurück
  • ingres_fetch_row() - Holt eine Zeile aus einer Ergebnismenge in ein numerisches Array

ingres_next_error
ingres_num_rows
Ingres-Funktionen


Gibt die Anzahl der Datensätze der Ergebnismenge oder die Anzahl der von der letzten Abfrage betroffenen Datensätze zurück

ingres_num_fields
ingres_pconnect
Ingres-Funktionen
PHP Manual

ingres_num_rows

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_num_rows — Gibt die Anzahl der Datensätze der Ergebnismenge oder die Anzahl der von der letzten Abfrage betroffenen Datensätze zurück

Beschreibung

int ingres_num_rows ( resource $result )

Diese Funktion dient hauptsächlich dazu, die Anzahl der veränderten Datensätze in einer Datenbank festzustellen. Sie kann aber auch dazu verwendet werden, die Anzahl der Datensätze zu ermitteln, die von einem SELECT geholt werden.

Hinweis:

Falls scrollable cursors deaktiviert ist und diese Funktion aufgerufen wird, bevor ingres_fetch_array(), ingres_fetch_object(), oder ingres_fetch_row() aufgerufen werden, löscht der Server die Ergebnisdaten so dass das Skript sie nicht mehr auslesen kann.

Sie sollten stattdessen die Daten der Ergebnismenge mit einer dieser fetch-Funktionen in einer Schleife auslesen, solange, bis keine Datensätze mehr zum Lesen da sind und damit die Schleifenbedingung FALSE wird.

Parameter-Liste

result

Die Ergebniskennung

Rückgabewerte

Bei delete-, insert- or update-Abfragen, gibt ingres_num_rows() die Anzahl der durch diese Abfragen betroffenen Datensätze zurück. Bei anderen Abfragen gibt ingres_num_rows() die Anzahl der Datensätze in der Ergebnismenge zurück.

Siehe auch

  • ingres_query() - Sendet eine SQL-Abfrage an den Ingres-Server
  • ingres_fetch_array() - Liest eine Zeile der Ergebnismenge in ein Array ein
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_object() - Gibt eine Zeile der Ergebnismenge als Objekt zurück
  • ingres_fetch_row() - Holt eine Zeile aus einer Ergebnismenge in ein numerisches Array

ingres_num_fields
ingres_pconnect
Ingres-Funktionen


Öffnet eine persistente Verbindung zu einer Ingres-Datenbank

ingres_num_rows
ingres_prepare
Ingres-Funktionen
PHP Manual

ingres_pconnect

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_pconnect — Öffnet eine persistente Verbindung zu einer Ingres-Datenbank

Beschreibung

resource ingres_pconnect ([ string $database [, string $username [, string $password [, array $options ]]]] )

Öffnet eine persistente Verbindung zu einer Ingres-Datenbank

Es gibt nur zwei Unterschiede zwischen dieser Funktion und ingres_connect(): Zum ersten: beim Verbindungsaufbau schaut die Funktion zuerst, ob schon eine geöffnete (persistente) Verbindung besteht, die mit denselben Parametern geöffnet wurde. Falls eine gefunden wird, wird eine Verbindungskennung zurückgegeben, anstatt eine neue Verbindung zu öffnen. Zum zweiten: Die Verbindung zum Ingres-Server wird nicht geschlossen wenn die Ausführung des Skripts beendet ist, sondern die Verbindung bleibt zum weiteren Gebrauch offen (ingres_close() schließt die Verbindungen, die mit ingres_pconnect() geöffnet wurden nicht). Darum wird diese Art der Verbindung 'persistent' genannt.

Parameter-Liste

database

Der Datenbankname. Dieser muss die folgende Syntax haben:

[vnode::]dbname[/svr_class]

username

Der Ingres-Benutzername

password

Das Passwort von username

options

Bei ingres_connect() finden Sie eine Liste der Optionen, die übergeben werden können.

Rückgabewerte

Bei Erfolg wird eine Ingres-Verbindungskennung zurückgegeben. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ingres_connect() - Öffnet eine Verbindung zu einem Ingres-II-Datenbankserver
  • ingres_close() - Schließt eine Ingres-II-Datenbankverbindung

ingres_num_rows
ingres_prepare
Ingres-Funktionen


Bereitet eine Abfrage zur späteren Ausführung vor

ingres_pconnect
ingres_query
Ingres-Funktionen
PHP Manual

ingres_prepare

(PECL ingres >= 1.1.0)

ingres_prepare — Bereitet eine Abfrage zur späteren Ausführung vor

Beschreibung

mixed ingres_prepare ( resource $link , string $query )

Bereitet eine Abfrage zur Ausführung mit ingres_execute() vor.

Die Abfrage wird Teil der aktuell geöffneten Transaktion. Falls es aktuell keine offene Transaktion gibt, wird mit ingres_query() eine geöffnet. Geschlossen wird sie entweder mit ingres_commit(), wobei die gemachten Änderungen in die Datenbank geschrieben werden, oder mit ingres_rollback(), wobei die Änderungen verworfen werden. Wenn das Skript zuende ist, wird jede geöffnete Transaktion zurückgesetzt (indem die ingres_rollback() aufgerufen wird). Sie können vor dem Öffnen einer neuen Transaktion ingres_autocommit() ausführen, danach werden alle Änderungen sofort nach der Ausführung einer SQL-Abfrage committet.

Hinweis: Verwandte Konfigurationen

Siehe auch die Direktiven ingres.describe, ingres.scrollable und ingres.utf8 der Laufzeit-Konfiguration.

Parameter-Liste

link

Die Verbindungskennung

query

Eine gültige SQL-Abfrage (siehe im SQL reference guide der Ingres-Dokumentation). Bei der Funktion ingres_query() finden Sie bei dem Parameter query eine Liste der SQL-Kommandos, die nicht mit ingres_prepare() ausgeführt werden können.

Rückgabewerte

ingres_prepare() gibt eine Ergebniskennung zurück, die in der Funktion ingres_execute() verwendet wird, um die Abfrage auszuführen. Ob dabei ein Fehler auftrat, kann mit ingres_errno(), ingres_error() oder ingres_errsqlstate() ermittelt werden.

Siehe auch

  • ingres_unbuffered_query() - Sendet eine SQL-Abfrage an Ingres, ohne die Ergebniszeilen zu puffern
  • ingres_fetch_array() - Liest eine Zeile der Ergebnismenge in ein Array ein
  • ingres_fetch_object() - Gibt eine Zeile der Ergebnismenge als Objekt zurück
  • ingres_fetch_row() - Holt eine Zeile aus einer Ergebnismenge in ein numerisches Array
  • ingres_commit() - Beendet eine Transaktion
  • ingres_rollback() - Setzt eine Transaktion zurück
  • ingres_autocommit() - Schaltet den autocommit-Modus an oder aus
  • ingres_set_environment() - Setzt Eigenschaften der Umgebung zur Ausgabesteuerung
  • ingres_errno() - Gibt den letzten Ingres-Fehlercode zurück
  • ingres_error() - Gibt eine textuelle Beschreibung des letzten Fehlercodes zurück

ingres_pconnect
ingres_query
Ingres-Funktionen


Sendet eine SQL-Abfrage an den Ingres-Server

ingres_prepare
ingres_result_seek
Ingres-Funktionen
PHP Manual

ingres_query

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_query — Sendet eine SQL-Abfrage an den Ingres-Server

Beschreibung

mixed ingres_query ( resource $link , string $query [, array $params [, string $types ]] )

ingres_query() sendet die angegebene query an den Ingres-Server.

Die Abfrage wird zu einem Teil der aktuell offenen Transaktion. Falls keine Transaktion geöffnet ist, öffnet ingres_query() eine neue Transaktion. Um diese Transaktion zu schließen, kann man ingres_commit() aufrufen, um die gemachten Änderungen in die Datenbank zu schreiben. Mit ingres_rollback() kann man diese Änderungen aber auch wieder zrücksetzen. Wenn das Skript beendet wird, wird jede offene Transaktion zurückgesetzt (indem die Funktion ingres_rollback() aufgerufen wird). Sie können auch die Funktion ingres_autocommit() benutzen, bevor Sie eine neue Transaktion öffnen, damit wird jede einzelne SQL-Abfrage sofort comittet.

Hinweis: Verwandte Konfigurationen

Schauen Sie sich ingres.describe, ingres.scrollable und ingres.utf8 an sowie die Direktiven zur Laufzeit Konfiguration.

Parameter-Liste

link

Die Verbindungskennung

query

Eine gültige SQL-Abfrage (mehr im Ingres SQL reference guide) der Ingres-Dokumentation.

Folgende Arten von SQL-Abfragen können mit dieser Funktion nicht gesendet werden:

  • close (siehe ingres_close())
  • commit (siehe ingres_commit())
  • connect (siehe ingres_connect())
  • disconnect (siehe ingres_close())
  • get dbevent
  • prepare to commit
  • rollback (siehe ingres_rollback())
  • savepoint
  • set autocommit (siehe ingres_autocommit())
  • alle Abfragen, die sich auf Cursors beziehen, werden nicht unterstützt

params

Ein Array mit Parameterwerten, die in der Abfrage verwendet werden

types

Ein String, der eine Folge von Datentypen für die übergebenen Parameterwerte enthält. Wenn die Option ingres.describe aktiviert ist, kann dieser Parameter ignoriert werden, da die erwarteten Datentypen automatisch vom Server geholt werden.

Typ-Code | Ingres-Datentyp
b | BYTE
B | LONG BYTE/BLOB
c | CHAR
d | DATE/ANSIDATE/TIMESTAMP/TIME
f | FLOAT
i | INTEGER
L | LONG TEXT
m | MONEY
M | LONG NVARCHAR
n | NCHAR
N | NVARCHAR
t | TEXT
v | VARCHAR
V | LONG VARCHAR

Rückgabewerte

ingres_query() gibt eine Ergebniskennung für die Abfrage zurück, sofern Zeilen geholt werden können. Anderenfalls wird FALSE zurückgegeben. Das ist beispielsweise bei einem INSERT-, UPDATE- oder DELETE-Kommando der Fall. Um festzustellen, ob es einen Fehler gab, benutzt man die Funktionen ingres_errno(), ingres_error() oder ingres_errsqlstate().

Beispiele

Beispiel #1 Ein einfaches SELECT-Kommando senden

<?php
$link = ingres_connect("demodb");

$result = ingres_query($link, "select * from user_profile");
while ($row = ingres_fetch_row($result)) {
    echo $row[1];
    echo $row[2];
}
?>

Beispiel #2 Abfrage-Parameter an ingres_query() übergeben

<?php
$link = ingres_connect("demodb");

$params[] = "Emma";
$query = "select * from user_profile where up_first = ?";
$result = ingres_query($link, $query, $params);
while ($row = ingres_fetch_row($result)) {
    echo $row[1];
    echo $row[2];
}
?>

Beispiel #3 Ein BLOB mit Parameter-Typen einfügen

<?php
$link = ingres_connect("demodb");

// Eine Bilddatei öffnen
$fh = fopen("photo.jpg","r");
$blob_data = stream_get_contents($fh);
fclose($fh);

// Parameter vorbereiten
$params[] = $blob_data;
$params[] = 1201;

// Parameter-Typen definieren
$param_types = "Bi";

$query = "update user_profile set up_image = ? where up_id = ?";
$result = ingres_query($link, $query , $params, $param_types);

if (ingres_errno())
{
    echo ingres_errno() . "-" . ingres_error() . "\n";
}

ingres_commit($link);

ingres_close($link);
?>

Siehe auch

  • ingres_unbuffered_query() - Sendet eine SQL-Abfrage an Ingres, ohne die Ergebniszeilen zu puffern
  • ingres_fetch_array() - Liest eine Zeile der Ergebnismenge in ein Array ein
  • ingres_fetch_object() - Gibt eine Zeile der Ergebnismenge als Objekt zurück
  • ingres_fetch_row() - Holt eine Zeile aus einer Ergebnismenge in ein numerisches Array
  • ingres_commit() - Beendet eine Transaktion
  • ingres_rollback() - Setzt eine Transaktion zurück
  • ingres_autocommit() - Schaltet den autocommit-Modus an oder aus
  • ingres_set_environment() - Setzt Eigenschaften der Umgebung zur Ausgabesteuerung
  • ingres_errno() - Gibt den letzten Ingres-Fehlercode zurück
  • ingres_error() - Gibt eine textuelle Beschreibung des letzten Fehlercodes zurück

ingres_prepare
ingres_result_seek
Ingres-Funktionen


Positioniert den Datensatzzeiger, bevor Daten geholt werden

ingres_query
ingres_rollback
Ingres-Funktionen
PHP Manual

ingres_result_seek

(PECL ingres >= 2.1.0)

ingres_result_seek — Positioniert den Datensatzzeiger, bevor Daten geholt werden

Beschreibung

bool ingres_result_seek ( resource $result , int $position )

Mit dieser Funktion kann die Position des Cursors, der mit der Ergebniskennung verknüpft ist, gesetzt werden, bevor Daten geholt werden. Falls ingres.array_index_start auf 0 gesetzt ist, hat die erste Zeile die Nummer 0, ansonsten die Nummer 1. ingres_result_seek() kann nur mit Abfragen verwendet werden, für die scrollable cursors gesetzt ist. Die Funktion kann nicht zusammen mit ingres_unbuffered_query() benutzt werden.

Hinweis: Verwandte Konfigurationen

Siehe auch die Direktiven ingres.scrollable und ingres.array_index_start der Laufzeit-Konfiguration.

Parameter-Liste

result

Die Ergebniskennung einer Abfrage

position

Die Zeilenposition, auf die der Cursor gesetzt werden soll. Falls ingres.array_index_start den Wert 0 hat, hat die erste Zeile die Nummer 0, ansonsten die Nummer 1.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Positioniere den Cursor auf die dritte Zeile

<?php

$result=ingres_query($link, "select * from airport where ap_ccode = 'ES' order by ap_place asc");

/* gehe zu Zeile 3 */
if (!ingres_result_seek($result, 3))
{
    echo ingres_errno() . " - " . ingres_error . "\n";
    die("Skript beendet");
}
else
{
    $airport = ingres_fetch_object ($result);
    {
        echo $airport->ap_iatacode . " - " .  $airport->ap_name . "\n";
    }
}

ingres_commit($link);

?>

Siehe auch

  • ingres_query() - Sendet eine SQL-Abfrage an den Ingres-Server
  • ingres_fetch_array() - Liest eine Zeile der Ergebnismenge in ein Array ein
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_object() - Gibt eine Zeile der Ergebnismenge als Objekt zurück
  • ingres_fetch_row() - Holt eine Zeile aus einer Ergebnismenge in ein numerisches Array

ingres_query
ingres_rollback
Ingres-Funktionen


Setzt eine Transaktion zurück

ingres_result_seek
ingres_set_environment
Ingres-Funktionen
PHP Manual

ingres_rollback

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_rollback — Setzt eine Transaktion zurück

Beschreibung

bool ingres_rollback ( resource $link )

ingres_rollback() setzt die aktuell geöffnete Transaktion zurück und macht alle Änderungen, die in der Transaktion bereits durchgeführt wurden, wieder rückgängig.

Diese Funktion schließt die Transaktion. Eine neue Transaktion kann mit ingres_query() geöffnet werden.

Parameter-Liste

link

Die Verbindungskennung

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ingres_query() - Sendet eine SQL-Abfrage an den Ingres-Server
  • ingres_commit() - Beendet eine Transaktion
  • ingres_autocommit() - Schaltet den autocommit-Modus an oder aus

ingres_result_seek
ingres_set_environment
Ingres-Funktionen


Setzt Eigenschaften der Umgebung zur Ausgabesteuerung

ingres_rollback
ingres_unbuffered_query
Ingres-Funktionen
PHP Manual

ingres_set_environment

(PECL ingres >= 1.2.0)

ingres_set_environment — Setzt Eigenschaften der Umgebung zur Ausgabesteuerung

Beschreibung

bool ingres_set_environment ( resource $link , array $options )

ingres_set_environment() wird aufgerufen, um die Optionen zur Ausgabe bestimmter Werte in Ingres zu steuern, beispielsweise für Zeitzonen, Datumsformate, Dezimaltrennzeichen und die Genauigkeit von Fließkommazahlen.

Parameter-Liste

link

Die Verbindungskennung

options

Ein numerisches array mit Name-Wert-Paaren für die Optionen. In der folgenden Tabelle sind die Namen und die erwarteten Werte aufgelistet.

Name der Option | Typ der Option | Beschreibung | Beispiel
date_century_boundary | integer | Der Schwellwert, anhand dessen geprüft wird, ob eine zweistellige Jahreszahl im aktuellen oder im kommenden Jahrhundert liegt. Äquivalent zu II_DATE_CENTURY_BOUNDARY. | 50
timezone | string | Bestimmt die Zeitzone der Datenbanksitzung. Falls die Option nicht angegeben wurde, wird der Wert von II_TIMEZONE_NAME benutzt. Falls dort auch nichts definiert ist, wird NA-PACIFIC (GMT-8 mit Sommerzeit) benutzt. | UNITED-KINGDOM
date_format integer

Bestimmt die erlaubten Ein- und Ausgabeformate für das Datum in Ingres. Falls nichts angegeben ist, werden die Formate von II_DATE_FORMAT benutzt. Falls dort auch nichts definiert wurde, ist US (mm/dd/yy) das Standardformat. Gültige Werte für date_format sind:

  • INGRES_DATE_DMY
  • INGRES_DATE_FINISH
  • INGRES_DATE_GERMAN
  • INGRES_DATE_ISO
  • INGRES_DATE_ISO4
  • INGRES_DATE_MDY
  • INGRES_DATE_MULTINATIONAL
  • INGRES_DATE_MULTINATIONAL4
  • INGRES_DATE_YMD
  • INGRES_DATE_US

 INGRES_DATE_ISO4
decimal_separator string Das Dezimaltrennzeichen ","
money_lort integer

Führendes oder angehängtes Währungssymbol. Gültige Werte für money_lort sind:

  • INGRES_MONEY_LEADING
  • INGRES_MONEY_TRAILING

 INGRES_MONEY_LEADING
money_sign string Das Währungssymbol, das mit dem Datentyp MONEY benutzt wird. €
money_precision | integer | Die Genauigkeit des Datentyps MONEY | 2
float4_precision | integer | Die Genauigkeit des Datentyps FLOAT4 | 10
float8_precision | integer | Die Genauigkeit des Datentyps FLOAT8 | 10
blob_segment_length | integer | Die Datenmenge in Bytes, die in einem Zugriff aus einem BLOB/CLOB gelesen werden kann. Falls nichts anderes angegeben wurde, ist der Vorgabewert 4096 Bytes. | 8192

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Datumsformat auf ISO4 setzen

<?php
$options = array( "date_format" => INGRES_DATE_ISO4 );

if (ingres_set_environment($link, $options))
{
    $result=ingres_query($link,"select date('now') as date");

    while ( $object = ingres_fetch_object ($result) ) {
        echo $object->date."\n";
    }
}
?>

Beispiel #2 Die Zeitzone auf HONG-KONG setzen

<?php

$options = array( "timezone" => "HONG-KONG");

if (ingres_set_environment($link, $options))
{
    $result=ingres_query($link,"select date('now') as date");

    while ( $object = ingres_fetch_object ($result) ) {
        echo $object->date."\n";
    }
}
?>

Siehe auch

  • ingres_connect() - Öffnet eine Verbindung zu einem Ingres-II-Datenbankserver
  • ingres_query() - Sendet eine SQL-Abfrage an den Ingres-Server

ingres_rollback
ingres_unbuffered_query
Ingres-Funktionen


Sendet eine SQL-Abfrage an Ingres, ohne die Ergebniszeilen zu puffern

ingres_set_environment
MaxDB
Ingres-Funktionen
PHP Manual

ingres_unbuffered_query

(No version information available, might only be in Git)

ingres_unbuffered_query — Sendet eine SQL-Abfrage an Ingres, ohne die Ergebniszeilen zu puffern

Beschreibung

mixed ingres_unbuffered_query ( resource $link , string $query [, array $params [, string $types ]] )

ingres_unbuffered_query() sendet die angegebene query an den Ingres-Server.

Die Abfrage wird Teil der aktuell geöffneten Transaktion. Falls es aktuell keine offene Transaktion gibt, wird mit ingres_unbuffered_query() eine geöffnet. Geschlossen wird sie entweder mit ingres_commit(), wobei die gemachten Änderungen in die Datenbank geschrieben werden, oder mit ingres_rollback(), wobei die Änderungen verworfen werden. Wenn das Skript zuende ist, wird jede geöffnete Transaktion zurückgesetzt (indem die ingres_rollback() aufgerufen wird). Sie können vor dem Öffnen einer neuen Transaktion ingres_autocommit() ausführen, danach werden alle Änderungen sofort nach der Ausführung einer SQL-Abfrage committet. Ingres erlaubt zum selben Zeitpunkt nur eine einzige aktive ungepufferte Abfrage. Jede andere aktive ungepufferte Abfrage wird geschlossen, bevor noch eine SQL-Abfrage gesendet werden kann. Außerdem kann der Datensatzzeiger vor dem Auslesen nicht mit ingres_result_seek() positioniert werden.

Hinweis: Verwandte Konfigurationen

Siehe auch die Direktiven ingres.describe und ingres.utf8 der Laufzeit-Konfiguration.

Parameter-Liste

link

Die Verbindungskennung

query

Eine gültige SQL-Abfrage (siehe im SQL reference guide der Ingres-Dokumentation). Bei der Funktion ingres_query() finden Sie bei dem Parameter query eine Liste der SQL-Kommandos, die nicht mit ingres_unbuffered_query() ausgeführt werden können.

Daten in der Abfrage sollten ordnungsgemäß maskiert werden.

params

Ein Array mit den Parameterwerten für die Abfrage

types

Ein String, der eine Folge von Datentypen für die übergebenen Parameterwerte enthält. Eine Liste der Typ-Codes finden Sie bei der Funktion ingres_query(). Bei der Funktion ingres_query() finden Sie bei dem Parameter types eine Liste der Typ-Codes.

Rückgabewerte

ingres_unbuffered_query() gibt eine Ergebniskennung zurück, sofern Zeilen gelesen werden können, anderenfalls wird FALSE zurückgegeben. Das ist beispielsweise bei einem INSERT-, UPDATE- oder DELETE-Kommando der Fall. Um festzustellen, ob es einen Fehler gab, benutzt man die Funktionen ingres_errno(), ingres_error() oder ingres_errsqlstate().

Beispiele

Beispiel #1 Ein einfaches ungepuffertes SELECT-Kommando senden

<?php
$link = ingres_connect("demodb");

$result = ingres_unbuffered_query($link, "select * from user_profile");
while ($row = ingres_fetch_row($result)) {
    echo $row[1];
    echo $row[2];
}
?>

Beispiel #2 Abfrageparameter an ingres_unbuffered_query() übergeben

<?php
$link = ingres_connect("demodb");

$params[] = "Emma";
$query = "select * from user_profile where up_first = ?";
$result = ingres_unbuffered_query($link, $query, $params);
while ($row = ingres_fetch_row($result)) {
    echo $row[1];
    echo $row[2];
}
?>

Beispiel #3 Ein BLOB mit Parameter-Typen einfügen

<?php
$link = ingres_connect("demodb");

// Eine Bilddatei öffnen
$fh = fopen("photo.jpg","r");
$blob_data = stream_get_contents($fh);
fclose($fh);

// Parameter vorbereiten
$params[] = $blob_data;
$params[] = 1201;

// Parameter-Typen definieren
$param_types = "Bi";

$query = "update user_profile set up_image = ? where up_id = ?";
$result = ingres_unbuffered_query($link, $query , $params, $param_types);

if (ingres_errno())
{
    echo ingres_errno() . "-" . ingres_error() . "\n";
}
?>

Siehe auch

  • ingres_query() - Sendet eine SQL-Abfrage an den Ingres-Server
  • ingres_fetch_array() - Liest eine Zeile der Ergebnismenge in ein Array ein
  • ingres_fetch_assoc() - Fetch a row of result into an associative array
  • ingres_fetch_object() - Gibt eine Zeile der Ergebnismenge als Objekt zurück
  • ingres_fetch_row() - Holt eine Zeile aus einer Ergebnismenge in ein numerisches Array
  • ingres_commit() - Beendet eine Transaktion
  • ingres_rollback() - Setzt eine Transaktion zurück
  • ingres_autocommit() - Schaltet den autocommit-Modus an oder aus
  • ingres_set_environment() - Setzt Eigenschaften der Umgebung zur Ausgabesteuerung
  • ingres_errno() - Gibt den letzten Ingres-Fehlercode zurück
  • ingres_error() - Gibt eine textuelle Beschreibung des letzten Fehlercodes zurück

ingres_set_environment
MaxDB
Ingres-Funktionen


MaxDB

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • Basic usage
  • MaxDB Funktionen
    • maxdb_affected_rows — Gets the number of affected rows in a previous MaxDB operation
    • maxdb_autocommit — Turns on or off auto-commiting database modifications
    • maxdb_bind_param — Alias von maxdb_stmt_bind_param
    • maxdb_bind_result — Alias von maxdb_stmt_bind_result
    • maxdb_change_user — Changes the user of the specified database connection
    • maxdb_character_set_name — Returns the default character set for the database connection
    • maxdb_client_encoding — Alias von maxdb_character_set_name
    • maxdb_close_long_data — Alias von maxdb_stmt_close_long_data
    • maxdb_close — Closes a previously opened database connection
    • maxdb_commit — Commits the current transaction
    • maxdb_connect_errno — Returns the error code from last connect call
    • maxdb_connect_error — Returns a string description of the last connect error
    • maxdb_connect — Open a new connection to the MaxDB server
    • maxdb_data_seek — Adjusts the result pointer to an arbitary row in the result
    • maxdb_debug — Performs debugging operations
    • maxdb_disable_reads_from_master — Disable reads from master
    • maxdb_disable_rpl_parse — Disable RPL parse
    • maxdb_dump_debug_info — Dump debugging information into the log
    • maxdb_embedded_connect — Open a connection to an embedded MaxDB server
    • maxdb_enable_reads_from_master — Enable reads from master
    • maxdb_enable_rpl_parse — Enable RPL parse
    • maxdb_errno — Returns the error code for the most recent function call
    • maxdb_error — Returns a string description of the last error
    • maxdb_escape_string — Alias von maxdb_real_escape_string
    • maxdb_execute — Alias von maxdb_stmt_execute
    • maxdb_fetch_array — Fetch a result row as an associative, a numeric array, or both
    • maxdb_fetch_assoc — Fetch a result row as an associative array
    • maxdb_fetch_field_direct — Fetch meta-data for a single field
    • maxdb_fetch_field — Returns the next field in the result set
    • maxdb_fetch_fields — Returns an array of resources representing the fields in a result set
    • maxdb_fetch_lengths — Returns the lengths of the columns of the current row in the result set
    • maxdb_fetch_object — Returns the current row of a result set as an object
    • maxdb_fetch_row — Get a result row as an enumerated array
    • maxdb_fetch — Alias von maxdb_stmt_fetch
    • maxdb_field_count — Returns the number of columns for the most recent query
    • maxdb_field_seek — Set result pointer to a specified field offset
    • maxdb_field_tell — Get current field offset of a result pointer
    • maxdb_free_result — Frees the memory associated with a result
    • maxdb_get_client_info — Returns the MaxDB client version as a string
    • maxdb_get_client_version — Get MaxDB client info
    • maxdb_get_host_info — Returns a string representing the type of connection used
    • maxdb_get_metadata — Alias von maxdb_stmt_result_metadata
    • maxdb_get_proto_info — Returns the version of the MaxDB protocol used
    • maxdb_get_server_info — Returns the version of the MaxDB server
    • maxdb_get_server_version — Returns the version of the MaxDB server as an integer
    • maxdb_info — Retrieves information about the most recently executed query
    • maxdb_init — Initializes MaxDB and returns an resource for use with maxdb_real_connect
    • maxdb_insert_id — Returns the auto generated id used in the last query
    • maxdb_kill — Disconnects from a MaxDB server
    • maxdb_master_query — Enforce execution of a query on the master in a master/slave setup
    • maxdb_more_results — Check if there any more query results from a multi query
    • maxdb_multi_query — Performs a query on the database
    • maxdb_next_result — Prepare next result from multi_query
    • maxdb_num_fields — Get the number of fields in a result
    • maxdb_num_rows — Gets the number of rows in a result
    • maxdb_options — Set options
    • maxdb_param_count — Alias von maxdb_stmt_param_count
    • maxdb_ping — Pings a server connection, or tries to reconnect if the connection has gone down
    • maxdb_prepare — Prepare an SQL statement for execution
    • maxdb_query — Performs a query on the database
    • maxdb_real_connect — Opens a connection to a MaxDB server
    • maxdb_real_escape_string — Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
    • maxdb_real_query — Execute an SQL query
    • maxdb_report — Enables or disables internal report functions
    • maxdb_rollback — Rolls back current transaction
    • maxdb_rpl_parse_enabled — Check if RPL parse is enabled
    • maxdb_rpl_probe — RPL probe
    • maxdb_rpl_query_type — Returns RPL query type
    • maxdb_select_db — Selects the default database for database queries
    • maxdb_send_long_data — Alias von maxdb_stmt_send_long_data
    • maxdb_send_query — Send the query and return
    • maxdb_server_end — Shut down the embedded server
    • maxdb_server_init — Initialize embedded server
    • maxdb_set_opt — Alias von maxdb_options
    • maxdb_sqlstate — Returns the SQLSTATE error from previous MaxDB operation
    • maxdb_ssl_set — Used for establishing secure connections using SSL
    • maxdb_stat — Gets the current system status
    • maxdb_stmt_affected_rows — Returns the total number of rows changed, deleted, or inserted by the last executed statement
    • maxdb_stmt_bind_param — Binds variables to a prepared statement as parameters
    • maxdb_stmt_bind_result — Binds variables to a prepared statement for result storage
    • maxdb_stmt_close_long_data — Ends a sequence of maxdb_stmt_send_long_data
    • maxdb_stmt_close — Closes a prepared statement
    • maxdb_stmt_data_seek — Seeks to an arbitray row in statement result set
    • maxdb_stmt_errno — Returns the error code for the most recent statement call
    • maxdb_stmt_error — Returns a string description for last statement error
    • maxdb_stmt_execute — Executes a prepared Query
    • maxdb_stmt_fetch — Fetch results from a prepared statement into the bound variables
    • maxdb_stmt_free_result — Frees stored result memory for the given statement handle
    • maxdb_stmt_init — Initializes a statement and returns an resource for use with maxdb_stmt_prepare
    • maxdb_stmt_num_rows — Return the number of rows in statements result set
    • maxdb_stmt_param_count — Returns the number of parameter for the given statement
    • maxdb_stmt_prepare — Prepare an SQL statement for execution
    • maxdb_stmt_reset — Resets a prepared statement
    • maxdb_stmt_result_metadata — Returns result set metadata from a prepared statement
    • maxdb_stmt_send_long_data — Send data in blocks
    • maxdb_stmt_sqlstate — Returns SQLSTATE error from previous statement operation
    • maxdb_stmt_store_result — Transfers a result set from a prepared statement
    • maxdb_store_result — Transfers a result set from the last query
    • maxdb_thread_id — Returns the thread ID for the current connection
    • maxdb_thread_safe — Returns whether thread safety is given or not
    • maxdb_use_result — Initiate a result set retrieval
    • maxdb_warning_count — Returns the number of warnings from the last query for the given link
ingres_unbuffered_query
Einführung
Anbieterspezifische Datenbankerweiterungen


Einführung

The MaxDB PHP extension allows you to access the functionality provided by MaxDB 7.5.0 and above. More information about the MaxDB Database server can be found at » http://www.sdn.sap.com/irj/sdn/maxdb.

The MaxDB PHP extension is compatible to the MySQL mysqli extension. There are only minor differences in the behaviour of some functions due to the differences of the underlying database servers, MaxDB and MySQL.

The main differences to mysqli are in the following functions:

  • maxdb_character_set_name() - Returns only ascii or unicode.
  • maxdb_get_client_info() - Returns a different version string.
  • maxdb_get_client_version() - Returns a different version string.
  • maxdb_get_host_info() - Returns localhost or hostname.
  • maxdb_get_server_info() - Returns a different version string.
  • maxdb_get_server_version() - Returns a different version string.
  • maxdb_kill() - Only disconnects the session.
  • maxdb_multi_query() - Can not handle multiple SQL statements.
  • maxdb_next_result() - Function returns always false.
  • maxdb_options() - Supports a different set of options.
  • maxdb_report() - Supports a different report mode.
  • maxdb_stat() - Returns a different system status string.
  • maxdb_stmt_store_result() - Is not necessary for MaxDB.
  • maxdb_store_result() - Is not necessary for MaxDB.

Documentation for MaxDB can be found at » http://maxdb.sap.com/documentation/.

MaxDB
Installation/Konfiguration
MaxDB


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
MaxDB


Anforderungen

In order to have these functions available, you must compile PHP with MaxDB support. Additionally, you must have the MaxDB SQLDBC runtime library available to access the MaxDB server.

Documentation for MaxDB SQLDBC can be found at » http://maxdb.sap.com/documentation/.

Download the MaxDB SQLDBC package from » http://www.sdn.sap.com/irj/sdn/maxdb-downloads.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

By using the --with-maxdb[=DIR] configuration option you enable PHP to access MaxDB databases. [DIR] points to the directory that contains the installed MaxDB SQLDBC package.

Windows users will need to enable php_maxdb.dll inside of php.ini.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

MaxDB Configuration Options
Name | Standard | Veränderbar | Changelog
maxdb.default_host | NULL | PHP_INI_ALL |
maxdb.default_db | NULL | PHP_INI_ALL |
maxdb.default_user | NULL | PHP_INI_ALL |
maxdb.default_pw | NULL | PHP_INI_ALL |
maxdb.long_readlen | "200" | PHP_INI_ALL |
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

maxdb.default_host string

The default server host to use when connecting to the database server if no other host is specified.

maxdb.default_db string

The default server database to use when connecting if no other database is specified.

maxdb.default_user string

The default user name to use when connecting to the database server if no other name is specified.

maxdb.default_pw string

The default password to use when connecting to the database server if no other password is specified.

maxdb.long_readlen integer

The default maximum length of bytes that is transferred to the client if long data is retrieved from the MaxDB database server.

Installation
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

This extension defines resources.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

The following constants to use with maxdb_options() are defined. For further description of these constants see » http://maxdb.sap.com/documentation/.

MaxDB PHP client constants
Constant | Description
MAXDB_COMPNAME | The component name used to initialise the SQLDBC runtime environment.
MAXDB_APPLICATION | The application to be connected to the database.
MAXDB_APPVERSION | The version of the application.
MAXDB_SQLMODE | The SQL mode.
MAXDB_UNICODE | TRUE, if the connection is an unicode (UCS2) client or FALSE, if not.
MAXDB_TIMEOUT | The maximum allowed time of inactivity after which the connection to the database is closed by the system.
MAXDB_ISOLATIONLEVEL | Specifies whether and how shared locks and exclusive locks are implicitly requested or released.
MAXDB_PACKETCOUNT | The number of different request packets used for the connection.
MAXDB_STATEMENTCACHESIZE | The number of prepared statements to be cached for the connection for re-use.
MAXDB_CURSORPREFIX | The prefix to use for result tables that are automatically named.

The function maxdb_fetch_array() uses a constant for the different types of result arrays. The following constants are defined:

MaxDB fetch constants
Constant | Description
MAXDB_ASSOC | Columns are returned into the array having the fieldname as the array index.
MAXDB_ASSOC_UPPER | Columns are returned into the array having the upper case fieldname as the array index.
MAXDB_ASSOC_LOWER | Columns are returned into the array having the lower case fieldname as the array index.
MAXDB_BOTH | Columns are returned into the array having both a numerical index and the fieldname as the array index.
MAXDB_NUM | Columns are returned into the array having a numerical index to the fields. This index starts with 0, the first field in the result.

Ressource-Typen
Beispiele
MaxDB


Beispiele

Inhaltsverzeichnis

  • Basic usage
Vordefinierte Konstanten
Basic usage
MaxDB


Basic usage

All examples in the MaxDB PHP documentation use the HOTELDB demo database from MaxDB. More about this database can be found at » http://maxdb.sap.com/doc/7_7/44/d8c25164bb38d0e10000000a1553f7/content.htm.

To use the examples in the MaxDB PHP documentation, you have to load the tutorial data into your database. Then you have to set maxdb.default_db in php.ini to the database that contains the tutorial data.

This simple example shows how to connect, execute a query, print resulting rows and disconnect from a MaxDB database.

Beispiel #1 MaxDB extension overview example

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Performing SQL query */
$query = "SELECT * FROM hotel.city";
$result = maxdb_query($link, $query) or die("Query failed : " . maxdb_error());

/* Printing results in HTML */
echo "<table>\n";
while ($line = maxdb_fetch_array($result, MAXDB_ASSOC)) {
    echo "  <tr>\n";
    foreach ($line as $col_value) {
        echo "    <td>$col_value</td>\n";
    }
    echo "  </tr>\n";
}
echo "</table>\n";

/* Free resultset */
maxdb_free_result($result);

/* Closing connection */
maxdb_close($link);
?>

The following example shows how to bind variables to a SELECT INTO statement.

Beispiel #2 Example for use of SELECT INTO statements

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Performing SQL query */
$stmt = maxdb_prepare ($link, "SELECT percentage INTO ? FROM hotel.countrylanguage where language = ?");
if (!$stmt) {
  printf ("Prepare failed: %s\n", maxdb_error($link));
}

$name = "Mbundu";

maxdb_stmt_bind_param($stmt, 'ds', $percentage, $name);
maxdb_stmt_execute($stmt);

printf ("%f\n", $percentage);

maxdb_stmt_close ($stmt);
?>

The following example shows how to use MaxDB database procedures.

Beispiel #3 Example fore using database procedures

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($link,"DROP DBPROC test_proc");
maxdb_report (MAXDB_REPORT_ERROR);

$query = "create dbproc test_proc (INOUT e_text char(72)) AS select * from SYSDBA.DUAL; fetch into :e_text;";

maxdb_query($link, $query);

/* Performing SQL query */
$stmt = maxdb_prepare ($link, "CALL test_proc (?)");
if (!$stmt) {
  printf ("Prepare failed: %s\n", maxdb_error($link));
}

maxdb_stmt_bind_param($stmt, 's', $result);
maxdb_stmt_execute($stmt);

printf ("%s\n", $result);

maxdb_stmt_close ($stmt);
?>

Beispiele
MaxDB Funktionen
Beispiele


Basic usage
maxdb_affected_rows
MaxDB
PHP Manual

MaxDB Funktionen

Vordefinierte Klassen

maxdb

Represents a connection between PHP and a MaxDB database.

Konstruktor

  • maxdb - construct a new maxdb object

Methoden

  • autocommit - turns on or off auto-commiting database modifications

  • change_user - changes the user of the specified database connection

  • character_set_name - returns the default character set for the database connection

  • close - closes a previously opened connection

  • commit - commits the current transaction

  • connect - opens a new connection to MaxDB database server

  • debug - performs debugging operations

  • dump_debug_info - dumps debug information

  • get_client_info - returns client version

  • get_host_info - returns type of connection used

  • get_server_info - returns version of the MaxDB server

  • get_server_version - returns version of the MaxDB server

  • init - initializes maxdb object

  • info - retrieves information about the most recently executed query

  • kill - asks the server to kill a MaxDB thread

  • multi_query - performs multiple queries

  • more_results - check if more results exist from currently executed multi-query

  • next_result - reads next result from currently executed multi-query

  • options - set options

  • ping - pings a server connection or reconnects if there is no connection

  • prepare - prepares an SQL query

  • query - performs a query

  • real_connect - attempts to open a connection to MaxDB database server

  • escape_string - escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection

  • rollback - rolls back the current transaction

  • select_db - selects the default database

  • ssl_set - sets ssl parameters

  • stat - gets the current system status

  • stmt_init- initializes a statement for use with maxdb_stmt_prepare

  • store_result - transfers a resultset from last query

  • use_result - transfers an unbuffered resultset from last query

  • thread-safe - returns whether thread safety is given or not

Eigenschaften

  • affected_rows - gets the number of affected rows in a previous MaxDB operation

  • client_info - returns the MaxDB client version as a string

  • client_version - returns the MaxDB client version as an integer

  • errno - returns the error code for the most recent function call

  • error - returns the error string for the most recent function call

  • field_count - returns the number of columns for the most recent query

  • host_info - returns a string representing the type of connection used

  • info - retrieves information about the most recently executed query

  • insert_id - returns the auto generated id used in the last query

  • protocol_version - returns the version of the MaxDB protocol used

  • sqlstate - returns a string containing the SQLSTATE error code for the last error

  • thread_id - returns the thread ID for the current connection

  • warning_count - returns the number of warnings generated during execution of the previous SQL statement

maxdb_stmt

Represents a prepared statement.

Methoden

  • bind_param - binds variables to a prepared statement

  • bind_result - binds variables to a prepared statement for result storage

  • close - closes a prepared statement

  • data-seek - seeks to an arbitrary row in a statement result set

  • execute - executes a prepared statement

  • fetch - fetches result from a prepared statement into bound variables

  • free_result - frees stored result memory for the given statement handle

  • result_metadata - retrieves a resultset from a prepared statement for metadata information

  • prepare - prepares an SQL query

  • send_long_data - sends data in chunks

  • close_long_data - end sending long data

  • reset - resets a prepared statement

  • store_result - buffers complete resultset from a prepared statement

Eigenschaften

  • affected_rows - returns affected rows from last statement execution

  • errno - returns errorcode for last statement function

  • errno - returns errormessage for last statement function

  • param_count - returns number of parameter for a given prepare statement

  • sqlstate - returns a string containing the SQLSTATE error code for the last statement function

maxdb_result

Represents the result set obtained from a query against the database.

Methoden

  • close - closes resultset

  • data_seek - moves internal result pointer

  • fetch_field - gets column information from a resultset

  • fetch_fields - gets information for all columns from a resulset

  • fetch_field_direct - gets column information for specified column

  • fetch_array - fetches a result row as an associative array, a numeric array, or both.

  • fetch_assoc - fetches a result row as an associative array

  • fetch_object - fetches a result row as an object

  • fetch_row - gets a result row as an enumerated array

  • close - frees result memory

  • field_seek - set result pointer to a specified field offset

Eigenschaften

  • current_field - returns offset of current fieldpointer

  • field_count - returns number of fields in resultset

  • lengths - returns an array of columnlengths

  • num_rows - returns number of rows in resultset

Inhaltsverzeichnis

  • maxdb_affected_rows — Gets the number of affected rows in a previous MaxDB operation
  • maxdb_autocommit — Turns on or off auto-commiting database modifications
  • maxdb_bind_param — Alias von maxdb_stmt_bind_param
  • maxdb_bind_result — Alias von maxdb_stmt_bind_result
  • maxdb_change_user — Changes the user of the specified database connection
  • maxdb_character_set_name — Returns the default character set for the database connection
  • maxdb_client_encoding — Alias von maxdb_character_set_name
  • maxdb_close_long_data — Alias von maxdb_stmt_close_long_data
  • maxdb_close — Closes a previously opened database connection
  • maxdb_commit — Commits the current transaction
  • maxdb_connect_errno — Returns the error code from last connect call
  • maxdb_connect_error — Returns a string description of the last connect error
  • maxdb_connect — Open a new connection to the MaxDB server
  • maxdb_data_seek — Adjusts the result pointer to an arbitary row in the result
  • maxdb_debug — Performs debugging operations
  • maxdb_disable_reads_from_master — Disable reads from master
  • maxdb_disable_rpl_parse — Disable RPL parse
  • maxdb_dump_debug_info — Dump debugging information into the log
  • maxdb_embedded_connect — Open a connection to an embedded MaxDB server
  • maxdb_enable_reads_from_master — Enable reads from master
  • maxdb_enable_rpl_parse — Enable RPL parse
  • maxdb_errno — Returns the error code for the most recent function call
  • maxdb_error — Returns a string description of the last error
  • maxdb_escape_string — Alias von maxdb_real_escape_string
  • maxdb_execute — Alias von maxdb_stmt_execute
  • maxdb_fetch_array — Fetch a result row as an associative, a numeric array, or both
  • maxdb_fetch_assoc — Fetch a result row as an associative array
  • maxdb_fetch_field_direct — Fetch meta-data for a single field
  • maxdb_fetch_field — Returns the next field in the result set
  • maxdb_fetch_fields — Returns an array of resources representing the fields in a result set
  • maxdb_fetch_lengths — Returns the lengths of the columns of the current row in the result set
  • maxdb_fetch_object — Returns the current row of a result set as an object
  • maxdb_fetch_row — Get a result row as an enumerated array
  • maxdb_fetch — Alias von maxdb_stmt_fetch
  • maxdb_field_count — Returns the number of columns for the most recent query
  • maxdb_field_seek — Set result pointer to a specified field offset
  • maxdb_field_tell — Get current field offset of a result pointer
  • maxdb_free_result — Frees the memory associated with a result
  • maxdb_get_client_info — Returns the MaxDB client version as a string
  • maxdb_get_client_version — Get MaxDB client info
  • maxdb_get_host_info — Returns a string representing the type of connection used
  • maxdb_get_metadata — Alias von maxdb_stmt_result_metadata
  • maxdb_get_proto_info — Returns the version of the MaxDB protocol used
  • maxdb_get_server_info — Returns the version of the MaxDB server
  • maxdb_get_server_version — Returns the version of the MaxDB server as an integer
  • maxdb_info — Retrieves information about the most recently executed query
  • maxdb_init — Initializes MaxDB and returns an resource for use with maxdb_real_connect
  • maxdb_insert_id — Returns the auto generated id used in the last query
  • maxdb_kill — Disconnects from a MaxDB server
  • maxdb_master_query — Enforce execution of a query on the master in a master/slave setup
  • maxdb_more_results — Check if there any more query results from a multi query
  • maxdb_multi_query — Performs a query on the database
  • maxdb_next_result — Prepare next result from multi_query
  • maxdb_num_fields — Get the number of fields in a result
  • maxdb_num_rows — Gets the number of rows in a result
  • maxdb_options — Set options
  • maxdb_param_count — Alias von maxdb_stmt_param_count
  • maxdb_ping — Pings a server connection, or tries to reconnect if the connection has gone down
  • maxdb_prepare — Prepare an SQL statement for execution
  • maxdb_query — Performs a query on the database
  • maxdb_real_connect — Opens a connection to a MaxDB server
  • maxdb_real_escape_string — Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
  • maxdb_real_query — Execute an SQL query
  • maxdb_report — Enables or disables internal report functions
  • maxdb_rollback — Rolls back current transaction
  • maxdb_rpl_parse_enabled — Check if RPL parse is enabled
  • maxdb_rpl_probe — RPL probe
  • maxdb_rpl_query_type — Returns RPL query type
  • maxdb_select_db — Selects the default database for database queries
  • maxdb_send_long_data — Alias von maxdb_stmt_send_long_data
  • maxdb_send_query — Send the query and return
  • maxdb_server_end — Shut down the embedded server
  • maxdb_server_init — Initialize embedded server
  • maxdb_set_opt — Alias von maxdb_options
  • maxdb_sqlstate — Returns the SQLSTATE error from previous MaxDB operation
  • maxdb_ssl_set — Used for establishing secure connections using SSL
  • maxdb_stat — Gets the current system status
  • maxdb_stmt_affected_rows — Returns the total number of rows changed, deleted, or inserted by the last executed statement
  • maxdb_stmt_bind_param — Binds variables to a prepared statement as parameters
  • maxdb_stmt_bind_result — Binds variables to a prepared statement for result storage
  • maxdb_stmt_close_long_data — Ends a sequence of maxdb_stmt_send_long_data
  • maxdb_stmt_close — Closes a prepared statement
  • maxdb_stmt_data_seek — Seeks to an arbitray row in statement result set
  • maxdb_stmt_errno — Returns the error code for the most recent statement call
  • maxdb_stmt_error — Returns a string description for last statement error
  • maxdb_stmt_execute — Executes a prepared Query
  • maxdb_stmt_fetch — Fetch results from a prepared statement into the bound variables
  • maxdb_stmt_free_result — Frees stored result memory for the given statement handle
  • maxdb_stmt_init — Initializes a statement and returns an resource for use with maxdb_stmt_prepare
  • maxdb_stmt_num_rows — Return the number of rows in statements result set
  • maxdb_stmt_param_count — Returns the number of parameter for the given statement
  • maxdb_stmt_prepare — Prepare an SQL statement for execution
  • maxdb_stmt_reset — Resets a prepared statement
  • maxdb_stmt_result_metadata — Returns result set metadata from a prepared statement
  • maxdb_stmt_send_long_data — Send data in blocks
  • maxdb_stmt_sqlstate — Returns SQLSTATE error from previous statement operation
  • maxdb_stmt_store_result — Transfers a result set from a prepared statement
  • maxdb_store_result — Transfers a result set from the last query
  • maxdb_thread_id — Returns the thread ID for the current connection
  • maxdb_thread_safe — Returns whether thread safety is given or not
  • maxdb_use_result — Initiate a result set retrieval
  • maxdb_warning_count — Returns the number of warnings from the last query for the given link
Basic usage
maxdb_affected_rows
MaxDB
PHP Manual


Gets the number of affected rows in a previous MaxDB operation

MaxDB Funktionen
maxdb_autocommit
MaxDB Funktionen
PHP Manual

maxdb_affected_rows

maxdb::affected_rows

(PECL maxdb >= 1.0)

maxdb_affected_rows -- maxdb::affected_rows — Gets the number of affected rows in a previous MaxDB operation

Beschreibung

Prozeduraler Stil

int maxdb_affected_rows ( resource $link )

Objektorientierter Stil

int $maxdb->affected_rows;

maxdb_affected_rows() returns the number of rows affected by the last INSERT, UPDATE, or DELETE query associated with the provided link parameter. If this number cannot be determined, this function will return -1.

Hinweis:

For SELECT statements maxdb_affected_rows() works like maxdb_num_rows().

The maxdb_affected_rows() function only works with queries which modify a table. In order to return the number of rows from a SELECT query, use the maxdb_num_rows() function instead.

Rückgabewerte

An integer greater than zero indicates the number of rows affected or retrieved. Zero indicates that no records where updated for an UPDATE statement, no rows matched the WHERE clause in the query or that no query has yet been executed. -1 indicates that the number of rows affected can not be determined.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_report (MAXDB_REPORT_OFF);
$maxdb->query("DROP TABLE mycustomer");
maxdb_report (MAXDB_REPORT_ERROR);

/* Insert rows */
$maxdb->query("CREATE TABLE mycustomer AS SELECT * from hotel.customer");
printf("Affected rows (INSERT): %d\n", $maxdb->affected_rows);

$maxdb->query("ALTER TABLE mycustomer ADD Status int default 0");

/* update rows */
$maxdb->query("UPDATE mycustomer SET Status=1 WHERE cno > 50");
printf("Affected rows (UPDATE): %d\n", $maxdb->affected_rows);

/* delete rows */
$maxdb->query("DELETE FROM mycustomer WHERE cno < 50");
printf("Affected rows (DELETE): %d\n", $maxdb->affected_rows);

/* select all rows */
$result = $maxdb->query("SELECT title FROM mycustomer");
printf("Affected rows (SELECT): %d\n", $maxdb->affected_rows);

$result->close();

/* Delete table Language */
$maxdb->query("DROP TABLE mycustomer");

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

if (!$link) {
   printf("Can't connect to localhost. Error: %s\n", maxdb_connect_error());
   exit();
}

maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($link,"DROP TABLE mycustomer");
maxdb_report (MAXDB_REPORT_ERROR);

/* Insert rows */
maxdb_query($link, "CREATE TABLE mycustomer AS SELECT * from hotel.customer");
printf("Affected rows (INSERT): %d\n", maxdb_affected_rows($link));

maxdb_query($link, "ALTER TABLE mycustomer ADD Status int default 0");

/* update rows */
maxdb_query($link, "UPDATE mycustomer SET Status=1 WHERE cno > 50");
printf("Affected rows (UPDATE): %d\n", maxdb_affected_rows($link));

/* delete rows */
maxdb_query($link, "DELETE FROM mycustomer WHERE cno < 50");
printf("Affected rows (DELETE): %d\n", maxdb_affected_rows($link));

/* select all rows */
$result = maxdb_query($link, "SELECT title FROM mycustomer");
printf("Affected rows (SELECT): %d\n", maxdb_affected_rows($link));

maxdb_free_result($result);

/* Delete table Language */
maxdb_query($link, "DROP TABLE mycustomer");

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Affected rows (INSERT): 15
Affected rows (UPDATE): 15
Affected rows (DELETE): 0
Affected rows (SELECT): 15

Siehe auch

  • maxdb_num_rows() - Gets the number of rows in a result
  • maxdb_info() - Retrieves information about the most recently executed query

MaxDB Funktionen
maxdb_autocommit
MaxDB Funktionen


Turns on or off auto-commiting database modifications

maxdb_affected_rows
maxdb_bind_param
MaxDB Funktionen
PHP Manual

maxdb_autocommit

maxdb::auto_commit

(PECL maxdb >= 1.0)

maxdb_autocommit -- maxdb::auto_commit — Turns on or off auto-commiting database modifications

Beschreibung

Prozeduraler Stil

bool maxdb_autocommit ( resource $link , bool $mode )

Objektorientierter Stil

bool maxdb::auto_commit ( bool $mode )

maxdb_autocommit() is used to turn on or off auto-commit mode on queries for the database connection represented by the link resource.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* turn autocommit on */
$maxdb->autocommit(TRUE);

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

if (!$link) {
   printf("Can't connect to localhost. Error: %s\n", maxdb_connect_error());
   exit();
}

/* turn autocommit on */
maxdb_autocommit($link, TRUE);

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Siehe auch

  • maxdb_commit() - Commits the current transaction
  • maxdb_rollback() - Rolls back current transaction

maxdb_affected_rows
maxdb_bind_param
MaxDB Funktionen


Alias von maxdb_stmt_bind_param

maxdb_autocommit
maxdb_bind_result
MaxDB Funktionen
PHP Manual

maxdb_bind_param

(PECL maxdb 1.0)

maxdb_bind_param — Alias von maxdb_stmt_bind_param()

Beschreibung

Diese Funktion ist ein Alias für: maxdb_stmt_bind_param()

Dieser Funktions-Alias ist veraltet und existiert nur noch aus Gründen der Rückwärtskompatibilität. Es wird nicht empfohlen, diese Funktion weiter zu nutzen, da sie eines Tages aus PHP entfernt werden kann.

maxdb_autocommit
maxdb_bind_result
MaxDB Funktionen


Alias von maxdb_stmt_bind_result

maxdb_bind_param
maxdb_change_user
MaxDB Funktionen
PHP Manual

maxdb_bind_result

(PECL maxdb 1.0)

maxdb_bind_result — Alias von maxdb_stmt_bind_result()

Beschreibung

Diese Funktion ist ein Alias für: maxdb_stmt_bind_result().

Dieser Funktions-Alias ist veraltet und existiert nur noch aus Gründen der Rückwärtskompatibilität. Es wird nicht empfohlen, diese Funktion weiter zu nutzen, da sie eines Tages aus PHP entfernt werden kann.

maxdb_bind_param
maxdb_change_user
MaxDB Funktionen


Changes the user of the specified database connection

maxdb_bind_result
maxdb_character_set_name
MaxDB Funktionen
PHP Manual

maxdb_change_user

maxdb::change_user

(PECL maxdb >= 1.0)

maxdb_change_user -- maxdb::change_user — Changes the user of the specified database connection

Beschreibung

Prozeduraler Stil

bool maxdb_change_user ( resource $link , string $user , string $password , string $database )

Objektorientierter Stil

bool maxdb::change_user ( string $user , string $password , string $database )

maxdb_change_user() is used to change the user of the specified database connection as given by the link parameter and to set the current database to that specified by the database parameter.

In order to successfully change users a valid username and password parameters must be provided and that user must have sufficient permissions to access the desired database. If for any reason authorization fails, the current user authentication will remain.

Hinweis:

Using this command will always cause the current database connection to behave as if was a completely new database connection, regardless of if the operation was completed successfully. This reset includes performing a rollback on any active transactions, closing all temporary tables, and unlocking all locked tables.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php

/* connect database test */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($result = $maxdb->query("SELECT * FROM dual")) {
   $row = $result->fetch_row();
   printf("Result: %s\n", $row[0]);
   $result->free();
}

/* reset all and select a new database */
if (!$maxdb->change_user("DBADMIN", "SECRET", "DEMODB")) {
  printf("Database not running\n");
} else {
  printf("Database running\n");
}

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($result = maxdb_query($link, "SELECT * FROM dual")) {
   $row = maxdb_fetch_row($result);
   printf("Result: %s\n", $row[0]);
   maxdb_free_result($result);
}

/* reset all and select a new database */
if (!maxdb_change_user($link, "DBADMIN", "SECRET", "DEMODB")) {
  printf("Database not running\n");
} else {
  printf("Database running\n");
}

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Result: a
Database running

Siehe auch

  • maxdb_connect() - Open a new connection to the MaxDB server
  • maxdb_select_db() - Selects the default database for database queries

maxdb_bind_result
maxdb_character_set_name
MaxDB Funktionen


Returns the default character set for the database connection

maxdb_change_user
maxdb_client_encoding
MaxDB Funktionen
PHP Manual

maxdb_character_set_name

maxdb::character_set_name

(PECL maxdb >= 1.0)

maxdb_character_set_name -- maxdb::character_set_name — Returns the default character set for the database connection

Beschreibung

Prozeduraler Stil

string maxdb_character_set_name ( resource $link )

Objektorientierter Stil

string maxdb::character_set_name ( void )

Returns the current character set for the database connection specified by the link parameter.

Rückgabewerte

The default character set for the current connection, either ascii or unicode.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Print current character set */
$charset = $maxdb->character_set_name();
printf ("Current character set is %s\n", $charset);

$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Print current character set */
$charset = maxdb_character_set_name($link);
printf ("Current character set is %s\n",$charset);

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Current character set is ascii

Siehe auch

  • maxdb_client_encoding() - Alias von maxdb_character_set_name
  • maxdb_real_escape_string() - Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection

maxdb_change_user
maxdb_client_encoding
MaxDB Funktionen


Alias von maxdb_character_set_name

maxdb_character_set_name
maxdb_close_long_data
MaxDB Funktionen
PHP Manual

maxdb_client_encoding

(PECL maxdb 1.0)

maxdb_client_encoding — Alias von maxdb_character_set_name()

Beschreibung

Diese Funktion ist ein Alias für: maxdb_character_set_name().

Dieser Funktions-Alias ist veraltet und existiert nur noch aus Gründen der Rückwärtskompatibilität. Es wird nicht empfohlen, diese Funktion weiter zu nutzen, da sie eines Tages aus PHP entfernt werden kann.

maxdb_character_set_name
maxdb_close_long_data
MaxDB Funktionen


Alias von maxdb_stmt_close_long_data

maxdb_client_encoding
maxdb_close
MaxDB Funktionen
PHP Manual

maxdb_close_long_data

maxdb::close_long_data

(PECL maxdb >= 1.0)

maxdb_close_long_data -- maxdb::close_long_data — Alias von maxdb_stmt_close_long_data()

Beschreibung

Diese Funktion ist ein Alias für: maxdb_stmt_close_long_data().

Dieser Funktions-Alias ist veraltet und existiert nur noch aus Gründen der Rückwärtskompatibilität. Es wird nicht empfohlen, diese Funktion weiter zu nutzen, da sie eines Tages aus PHP entfernt werden kann.

maxdb_client_encoding
maxdb_close
MaxDB Funktionen


Closes a previously opened database connection

maxdb_close_long_data
maxdb_commit
MaxDB Funktionen
PHP Manual

maxdb_close

maxdb::close

(PECL maxdb >= 1.0)

maxdb_close -- maxdb::close — Closes a previously opened database connection

Beschreibung

Prozeduraler Stil

bool maxdb_close ( resource $link )

Objektorientierter Stil

bool maxdb::close ( void )

The maxdb_close() function closes a previously opened database connection specified by the link parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • maxdb_connect() - Open a new connection to the MaxDB server
  • maxdb_init() - Initializes MaxDB and returns an resource for use with maxdb_real_connect
  • maxdb_real_connect() - Opens a connection to a MaxDB server

maxdb_close_long_data
maxdb_commit
MaxDB Funktionen


Commits the current transaction

maxdb_close
maxdb_connect_errno
MaxDB Funktionen
PHP Manual

maxdb_commit

maxdb::commit

(PECL maxdb >= 1.0)

maxdb_commit -- maxdb::commit — Commits the current transaction

Beschreibung

Prozeduraler Stil

bool maxdb_commit ( resource $link )

Objektorientierter Stil

bool maxdb::commit ( void )

Commits the current transaction for the database connection specified by the link parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* set autocommit to off */
$maxdb->autocommit(FALSE);

maxdb_report (MAXDB_REPORT_OFF);
$maxdb->query("DROP TABLE mycustomer");
maxdb_report (MAXDB_REPORT_ERROR);

$maxdb->query("CREATE TABLE mycustomer LIKE hotel.customer");

/* Insert some values */
$maxdb->query("INSERT INTO mycustomer VALUES (3000,'Mrs','Jenny','Porter','10580','1340 N.Ash Street, #3')");
$maxdb->query("INSERT INTO mycustomer VALUES (3100,'Mr','Peter','Brown','48226','1001 34th Str., APT.3')");

/* commit transaction */
$maxdb->commit();

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* set autocommit to off */
maxdb_autocommit($link, FALSE);

maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($link,"DROP TABLE mycustomer");
maxdb_report (MAXDB_REPORT_ERROR);

maxdb_query($link, "CREATE TABLE mycustomer LIKE hotel.customer");

/* Insert some values */
maxdb_query($link, "INSERT INTO mycustomer VALUES (3000,'Mrs','Jenny','Porter','10580','1340 N.Ash Street, #3')");
maxdb_query($link, "INSERT INTO mycustomer VALUES (3100,'Mr','Peter','Brown','48226','1001 34th Str., APT.3')");

/* commit transaction */
maxdb_commit($link);

/* close connection */
maxdb_close($link);
?>

The above examples produces no output.

Siehe auch

  • maxdb_autocommit() - Turns on or off auto-commiting database modifications
  • maxdb_rollback() - Rolls back current transaction

maxdb_close
maxdb_connect_errno
MaxDB Funktionen


Returns the error code from last connect call

maxdb_commit
maxdb_connect_error
MaxDB Funktionen
PHP Manual

maxdb_connect_errno

(PECL maxdb >= 1.0)

maxdb_connect_errno — Returns the error code from last connect call

Beschreibung

int maxdb_connect_errno ( void )

The maxdb_connect_errno() function will return the last error code number for last call to maxdb_connect(). If no errors have occurred, this function will return zero.

Rückgabewerte

An error code value for the last call to maxdb_connect(), if it failed. zero means no error occurred.

Beispiele

Beispiel #1 maxdb_connect_errno sample

<?php
$link = maxdb_connect("localhost", "XXXXXXXX", "YYYYYYYYY");

if (!$link) {
   printf("Can't connect to localhost. Errorcode: %d\n", maxdb_connect_errno());
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

PHP Warning:  maxdb_connect(): -4008 POS(1) Unknown user name/password combination [08004] <...>
Can't connect to localhost. Errorcode: -4008

Siehe auch

  • maxdb_connect() - Open a new connection to the MaxDB server
  • maxdb_connect_error() - Returns a string description of the last connect error
  • maxdb_errno() - Returns the error code for the most recent function call
  • maxdb_error() - Returns a string description of the last error
  • maxdb_sqlstate() - Returns the SQLSTATE error from previous MaxDB operation

maxdb_commit
maxdb_connect_error
MaxDB Funktionen


Returns a string description of the last connect error

maxdb_connect_errno
maxdb_connect
MaxDB Funktionen
PHP Manual

maxdb_connect_error

(PECL maxdb >= 1.0)

maxdb_connect_error — Returns a string description of the last connect error

Beschreibung

string maxdb_connect_error ( void )

The maxdb_connect_error() function is identical to the corresponding maxdb_connect_errno() function in every way, except instead of returning an integer error code the maxdb_connect_error() function will return a string representation of the last error to occur for the last maxdb_connect() call. If no error has occurred, this function will return an empty string.

Rückgabewerte

A string that describes the error. An empty string if no error occurred.

Beispiele

Beispiel #1 maxdb_connect_error sample

<?php

$link = maxdb_connect("localhost", "nonexisting_user", "");

if (!$link) {
   printf("Can't connect to localhost. Error: %s\n", maxdb_connect_error());
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

PHP Warning:  maxdb_connect(): -4008 POS(1) Unknown user name/password combination <...>
Can't connect to localhost. Error: POS(1) Unknown user name/password combination

Siehe auch

  • maxdb_connect() - Open a new connection to the MaxDB server
  • maxdb_connect_errno() - Returns the error code from last connect call
  • maxdb_errno() - Returns the error code for the most recent function call
  • maxdb_error() - Returns a string description of the last error
  • maxdb_sqlstate() - Returns the SQLSTATE error from previous MaxDB operation

maxdb_connect_errno
maxdb_connect
MaxDB Funktionen


Open a new connection to the MaxDB server

maxdb_connect_error
maxdb_data_seek
MaxDB Funktionen
PHP Manual

maxdb_connect

maxdb::__construct

(PECL maxdb >= 1.0)

maxdb_connect -- maxdb::__construct — Open a new connection to the MaxDB server

Beschreibung

Prozeduraler Stil

resource maxdb_connect ([ string $host [, string $username [, string $passwd [, string $dbname [, int $port = 0 [, string $socket ]]]]]] )

Objektorientierter Stil

maxdb::__construct ([ string $host [, string $username [, string $passwd [, string $dbname [, int $port = 0 [, string $socket ]]]]]] )

The maxdb_connect() function attempts to open a connection to the MaxDB Server running on host which can be either a host name or an IP address. Passing the string "localhost" to this parameter, the local host is assumed. If successful, the maxdb_connect() will return an resource representing the connection to the databaseIm Fehlerfall wird FALSE zurückgegeben..

The username and password parameters specify the username and password under which to connect to the MaxDB server. If the password is not provided (the NULL value is passed), the MaxDB server will attempt to authenticate the user against the maxdb.default_pw in php.ini.

The dbname parameter if provided will specify the default database to be used when performing queries. If not provied, the entry maxdb.default_db in php.ini is used.

The port and socket parameters are ignored for the MaxDB server.

Rückgabewerte

Returns a resource which represents the connection to a MaxDB Server or FALSE if the connection failed.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

printf("Host information: %s\n", $maxdb->host_info);

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

printf("Host information: %s\n", maxdb_get_host_info($link));

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Host information: localhost
maxdb_connect_error
maxdb_data_seek
MaxDB Funktionen


Adjusts the result pointer to an arbitary row in the result

maxdb_connect
maxdb_debug
MaxDB Funktionen
PHP Manual

maxdb_data_seek

maxdb_result::data_seek

(PECL maxdb >= 1.0)

maxdb_data_seek -- maxdb_result::data_seek — Adjusts the result pointer to an arbitary row in the result

Beschreibung

Prozeduraler Stil

bool maxdb_data_seek ( resource $result , int $offset )

Objektorientierter Stil

bool maxdb_result::data_seek ( int $offset )

The maxdb_data_seek() function seeks to an arbitrary result pointer specified by the offset in the result set represented by result. The offset parameter must be between zero and the total number of rows minus one (0..maxdb_num_rows() - 1).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER BY name";
if ($result = $maxdb->query( $query)) {

   /* seek to row no. 10 */
   $result->data_seek(10);

   /* fetch row */
   $row = $result->fetch_row();

   printf ("City: %s  State: %s\n", $row[0], $row[1]);

   /* free result set*/
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER BY name";

if ($result = maxdb_query($link, $query)) {

   /* seek to row no. 400 */
   maxdb_data_seek($result, 10);

   /* fetch row */
   $row = maxdb_fetch_row($result);

   printf ("City: %s  State: %s\n", $row[0], $row[1]);

   /* free result set*/
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

City: Irvine  State: CA

Siehe auch

  • maxdb_store_result() - Transfers a result set from the last query
  • maxdb_fetch_row() - Get a result row as an enumerated array
  • maxdb_num_rows() - Gets the number of rows in a result

maxdb_connect
maxdb_debug
MaxDB Funktionen


Performs debugging operations

maxdb_data_seek
maxdb_disable_reads_from_master
MaxDB Funktionen
PHP Manual

maxdb_debug

(PECL maxdb >= 1.0)

maxdb_debug — Performs debugging operations

Beschreibung

void maxdb_debug ( string $debug )

The maxdb_debug() can be used to trace the SQLDBC communication. The following strings can be used as a parameter to maxdb_debug():

  • TRACE SHORT ON|OFF - Enables/disables method call trace.
  • TRACE LONG ON|OFF - Enables/disables method argument and detail debug trace.
  • TRACE PACKET ON|OFF|<size> - Enables/disables packet trace, limiting the size of the traced object to the specified number of bytes, or 1000 if no size is specified.
  • TRACE SQL ON|OFF - Enables/disables high level api trace.
  • TRACE TIMESTAMP ON|OFF - Enables/disables a timestamp prefix on each line that is traced.
  • TRACE SIZE <size> - Limits the size of the trace file to <size> bytes, at least 8192 bytes are required.

Rückgabewerte

maxdb_debug() doesn't return any value.

Beispiele

Beispiel #1 Prozeduraler Stil

<?php

maxdb_debug("trace packet 200");

$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* close connection */
maxdb_close($link);
?>

The above example produces no output.

maxdb_data_seek
maxdb_disable_reads_from_master
MaxDB Funktionen


Disable reads from master

maxdb_debug
maxdb_disable_rpl_parse
MaxDB Funktionen
PHP Manual

maxdb_disable_reads_from_master

maxdb::disable_reads_from_master

(PECL maxdb >= 1.0)

maxdb_disable_reads_from_master -- maxdb::disable_reads_from_master — Disable reads from master

Beschreibung

Prozeduraler Stil

bool maxdb_disable_reads_from_master ( resource $link )

Objektorientierter Stil

void maxdb::disable_reads_from_master ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

maxdb_debug
maxdb_disable_rpl_parse
MaxDB Funktionen


Disable RPL parse

maxdb_disable_reads_from_master
maxdb_dump_debug_info
MaxDB Funktionen
PHP Manual

maxdb_disable_rpl_parse

(PECL maxdb >= 1.0)

maxdb_disable_rpl_parse — Disable RPL parse

Beschreibung

bool maxdb_disable_rpl_parse ( resource $link )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

maxdb_disable_reads_from_master
maxdb_dump_debug_info
MaxDB Funktionen


Dump debugging information into the log

maxdb_disable_rpl_parse
maxdb_embedded_connect
MaxDB Funktionen
PHP Manual

maxdb_dump_debug_info

(PECL maxdb >= 1.0)

maxdb_dump_debug_info — Dump debugging information into the log

Beschreibung

bool maxdb_dump_debug_info ( resource $link )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

maxdb_disable_rpl_parse
maxdb_embedded_connect
MaxDB Funktionen


Open a connection to an embedded MaxDB server

maxdb_dump_debug_info
maxdb_enable_reads_from_master
MaxDB Funktionen
PHP Manual

maxdb_embedded_connect

(PECL maxdb >= 1.0)

maxdb_embedded_connect — Open a connection to an embedded MaxDB server

Beschreibung

resource maxdb_embedded_connect ([ string $dbname ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

maxdb_dump_debug_info
maxdb_enable_reads_from_master
MaxDB Funktionen


Enable reads from master

maxdb_embedded_connect
maxdb_enable_rpl_parse
MaxDB Funktionen
PHP Manual

maxdb_enable_reads_from_master

(PECL maxdb >= 1.0)

maxdb_enable_reads_from_master — Enable reads from master

Beschreibung

bool maxdb_enable_reads_from_master ( resource $link )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

maxdb_embedded_connect
maxdb_enable_rpl_parse
MaxDB Funktionen


Enable RPL parse

maxdb_enable_reads_from_master
maxdb_errno
MaxDB Funktionen
PHP Manual

maxdb_enable_rpl_parse

(PECL maxdb >= 1.0)

maxdb_enable_rpl_parse — Enable RPL parse

Beschreibung

bool maxdb_enable_rpl_parse ( resource $link )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

maxdb_enable_reads_from_master
maxdb_errno
MaxDB Funktionen


Returns the error code for the most recent function call

maxdb_enable_rpl_parse
maxdb_error
MaxDB Funktionen
PHP Manual

maxdb_errno

maxdb::errno

(PECL maxdb >= 1.0)

maxdb_errno -- maxdb::errno — Returns the error code for the most recent function call

Beschreibung

Prozeduraler Stil

int maxdb_errno ( resource $link )

Objektorientierter Stil

int $maxdb->errno;

The maxdb_errno() function will return the last error code for the most recent MaxDB function call that can succeed or fail with respect to the database link defined by the link parameter. If no errors have occurred, this function will return zero.

Rückgabewerte

An error code value for the last call, if it failed. zero means no error occurred.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if (!$maxdb->query("SELECT xxx FROM hotel.city")) {
   printf("Errorcode: %d\n", $maxdb->errno);
}

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if (!maxdb_query($link, "SELECT xxx FROM hotel.city")) {
   printf("Errorcode: %d\n", maxdb_errno($link));
}

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

PHP Warning:  maxdb_query(): -4005 POS(8) Unknown column name:XXX [42000] <...>
Errorcode: -4005

Siehe auch

  • maxdb_connect_errno() - Returns the error code from last connect call
  • maxdb_connect_error() - Returns a string description of the last connect error
  • maxdb_error() - Returns a string description of the last error
  • maxdb_sqlstate() - Returns the SQLSTATE error from previous MaxDB operation

maxdb_enable_rpl_parse
maxdb_error
MaxDB Funktionen


Returns a string description of the last error

maxdb_errno
maxdb_escape_string
MaxDB Funktionen
PHP Manual

maxdb_error

maxdb::error

(PECL maxdb >= 1.0)

maxdb_error -- maxdb::error — Returns a string description of the last error

Beschreibung

Prozeduraler Stil

string maxdb_error ( resource $link )

Objektorientierter Stil

string $maxdb->error;

The maxdb_error() function is identical to the corresponding maxdb_errno() function in every way, except instead of returning an integer error code the maxdb_error() function will return a string representation of the last error to occur for the database connection represented by the link parameter. If no error has occurred, this function will return an empty string.

Rückgabewerte

A string that describes the error. An empty string if no error occurred.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if (!$maxdb->query("SELECT xxx FROM hotel.city")) {
   printf("Errormessage: %s\n", $maxdb->error);
}

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if (!maxdb_query($link, "SELECT xxx FROM hotel.city")) {
   printf("Errormessgae: %s\n", maxdb_error($link));
}

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

PHP Warning:  maxdb_query(): -4005 POS(8) Unknown column name:XXX [42000]
Errormessgae: POS(8) Unknown column name:XXX

Siehe auch

  • maxdb_connect_errno() - Returns the error code from last connect call
  • maxdb_connect_error() - Returns a string description of the last connect error
  • maxdb_errno() - Returns the error code for the most recent function call
  • maxdb_sqlstate() - Returns the SQLSTATE error from previous MaxDB operation

maxdb_errno
maxdb_escape_string
MaxDB Funktionen


Alias von maxdb_real_escape_string

maxdb_error
maxdb_execute
MaxDB Funktionen
PHP Manual

maxdb_escape_string

(PECL maxdb 1.0)

maxdb_escape_string — Alias von maxdb_real_escape_string()

Beschreibung

Diese Funktion ist ein Alias für: maxdb_real_escape_string().

maxdb_error
maxdb_execute
MaxDB Funktionen


Alias von maxdb_stmt_execute

maxdb_escape_string
maxdb_fetch_array
MaxDB Funktionen
PHP Manual

maxdb_execute

(PECL maxdb 1.0)

maxdb_execute — Alias von maxdb_stmt_execute()

Beschreibung

Diese Funktion ist ein Alias für: maxdb_stmt_execute().

Dieser Funktions-Alias ist veraltet und existiert nur noch aus Gründen der Rückwärtskompatibilität. Es wird nicht empfohlen, diese Funktion weiter zu nutzen, da sie eines Tages aus PHP entfernt werden kann.

maxdb_escape_string
maxdb_fetch_array
MaxDB Funktionen


Fetch a result row as an associative, a numeric array, or both

maxdb_execute
maxdb_fetch_assoc
MaxDB Funktionen
PHP Manual

maxdb_fetch_array

maxdb_result::fetch_array

(PECL maxdb >= 1.0)

maxdb_fetch_array -- maxdb_result::fetch_array — Fetch a result row as an associative, a numeric array, or both

Beschreibung

Prozeduraler Stil

mixed maxdb_fetch_array ( resource $result [, int $resulttype ] )

Objektorientierter Stil

mixed maxdb_result::fetch_array ([ int $resulttype ] )

Returns an array that corresponds to the fetched row or NULL if there are no more rows for the resultset represented by the result parameter.

maxdb_fetch_array() is an extended version of the maxdb_fetch_row() function. In addition to storing the data in the numeric indices of the result array, the maxdb_fetch_array() function can also store the data in associative indices, using the field names of the result set as keys.

Hinweis: Feldnamen, die von dieser Funktion zurückgegeben werden, unterscheiden sich in der Groß-/Kleinschreibung.

Hinweis: Diese Funktion setzt NULL-Felder auf den PHP Wert-NULL.

If two or more columns of the result have the same field names, the last column will take precedence and overwrite the earlier data. In order to access multiple columns with the same name, the numerically indexed version of the row must be used.

The optional second argument resulttype is a constant indicating what type of array should be produced from the current row data. The possible values for this parameter are the constants MAXDB_ASSOC, MAXDB_ASSOC_UPPER, MAXDB_ASSOC_LOWER, MAXDB_NUM, or MAXDB_BOTH. By default the maxdb_fetch_array() function will assume MAXDB_BOTH, which is a combination of MAXDB_NUM and MAXDB_ASSOC for this parameter.

By using the MAXDB_ASSOC constant this function will behave identically to the maxdb_fetch_assoc(), while MAXDB_NUM will behave identically to the maxdb_fetch_row() function. The final option MAXDB_BOTH will create a single array with the attributes of both.

By using the MAXDB_ASSOC_UPPER constant, the behaviour of this function is identical to the use of MAXDB_ASSOC except the array index of a column is the fieldname in upper case.

By using the MAXDB_ASSOC_LOWER constant, the behaviour of this function is identical to the use of MAXDB_ASSOC except the array index of a column is the fieldname in lower case.

Rückgabewerte

Returns an array that corresponds to the fetched row or NULL if there are no more rows in resultset.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";
$result = $maxdb->query($query);

/* numeric array */
$row = $result->fetch_array(MAXDB_NUM);
printf ("%s (%s)\n", $row[0], $row[1]);

/* associative array */
$row = $result->fetch_array(MAXDB_ASSOC);
printf ("%s (%s)\n", $row["NAME"], $row["STATE"]);

/* associative and numeric array */
$row = $result->fetch_array(MAXDB_BOTH);
printf ("%s (%s)\n", $row[0], $row["STATE"]);

/* free result set */
$result->close();

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";
$result = maxdb_query($link, $query);

/* numeric array */
$row = maxdb_fetch_array($result, MAXDB_NUM);
printf ("%s (%s)\n", $row[0], $row[1]);

/* associative array */
$row = maxdb_fetch_array($result, MAXDB_ASSOC);
printf ("%s (%s)\n", $row["NAME"], $row["STATE"]);

/* associative and numeric array */
$row = maxdb_fetch_array($result, MAXDB_BOTH);
printf ("%s (%s)\n", $row[0], $row["STATE"]);

/* free result set */
maxdb_free_result($result);

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

New York (NY)
New York (NY)
Long Island (NY)

Siehe auch

  • maxdb_fetch_assoc() - Fetch a result row as an associative array
  • maxdb_fetch_row() - Get a result row as an enumerated array
  • maxdb_fetch_resource()

maxdb_execute
maxdb_fetch_assoc
MaxDB Funktionen


Fetch a result row as an associative array

maxdb_fetch_array
maxdb_fetch_field_direct
MaxDB Funktionen
PHP Manual

maxdb_fetch_assoc

maxdb_result::fetch_assoc

(PECL maxdb >= 1.0)

maxdb_fetch_assoc -- maxdb_result::fetch_assoc — Fetch a result row as an associative array

Beschreibung

Prozeduraler Stil

array maxdb_fetch_assoc ( resource $result )

Objektorientierter Stil

array maxdb_result::fetch_assoc ( void )

Returns an associative array that corresponds to the fetched row or NULL if there are no more rows.

The maxdb_fetch_assoc() function is used to return an associative array representing the next row in the result set for the result represented by the result parameter, where each key in the array represents the name of one of the result set's columns.

If two or more columns of the result have the same field names, the last column will take precedence. To access the other column(s) of the same name, you either need to access the result with numeric indices by using maxdb_fetch_row() or add alias names.

Hinweis: Feldnamen, die von dieser Funktion zurückgegeben werden, unterscheiden sich in der Groß-/Kleinschreibung.

Hinweis: Diese Funktion setzt NULL-Felder auf den PHP Wert-NULL.

Rückgabewerte

Returns an array that corresponds to the fetched row or NULL if there are no more rows in resultset.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";

if ($result = $maxdb->query($query)) {

   /* fetch associative array */
   while ($row = $result->fetch_assoc()) {
       printf ("%s (%s)\n", $row["NAME"], $row["STATE"]);
   }

   /* free result set */
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";

if ($result = maxdb_query($link, $query)) {

   /* fetch associative array */
   while ($row = maxdb_fetch_assoc($result)) {
       printf ("%s (%s)\n", $row["NAME"], $row["STATE"]);
   }

   /* free result set */
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

New York (NY)
New York (NY)
Long Island (NY)
Albany (NY)
Washington (DC)
Washington (DC)
Washington (DC)
Silver Spring (MD)
Daytona Beach (FL)
Deerfield Beach (FL)
Clearwater (FL)
Cincinnati (OH)
Detroit (MI)
Rosemont (IL)
Chicago (IL)
Chicago (IL)
New Orleans (LA)
Dallas (TX)
Los Angeles (CA)
Hollywood (CA)
Long Beach (CA)
Palm Springs (CA)
Irvine (CA)
Santa Clara (CA)
Portland (OR)

Siehe auch

  • maxdb_fetch_array() - Fetch a result row as an associative, a numeric array, or both
  • maxdb_fetch_row() - Get a result row as an enumerated array
  • maxdb_fetch_resource()

maxdb_fetch_array
maxdb_fetch_field_direct
MaxDB Funktionen


Fetch meta-data for a single field

maxdb_fetch_assoc
maxdb_fetch_field
MaxDB Funktionen
PHP Manual

maxdb_fetch_field_direct

maxdb_result::fetch_field_direct

(PECL maxdb >= 1.0)

maxdb_fetch_field_direct -- maxdb_result::fetch_field_direct — Fetch meta-data for a single field

Beschreibung

Prozeduraler Stil

mixed maxdb_fetch_field_direct ( resource $result , int $fieldnr )

Objektorientierter Stil

mixed maxdb_result::fetch_field_direct ( int $fieldnr )

maxdb_fetch_field_direct() returns an resource which contains field definition information from specified resultset. The value of fieldnr must be in the range from 0 to number of fields - 1.

Rückgabewerte

Returns an resource which contains field definition information or FALSE if no field information for specified fieldnr is available.

Object attributes
Attribute | Description
name | The name of the column
max_length | The maximum width of the field for the result set.
type | The data type used for this field
decimals | The number of decimals used (for integer fields)

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY name";

if ($result = $maxdb->query($query)) {

   /* Get field information for column 'SurfaceArea' */
   $finfo = $result->fetch_field_direct(1);

   printf("Name:     %s\n", $finfo->name);
   printf("Table:    %s\n", $finfo->table);
   printf("max. Len: %d\n", $finfo->max_length);
   printf("Flags:    %d\n", $finfo->flags);
   printf("Type:     %d\n", $finfo->type);

   $result->close();
}

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY name";

if ($result = maxdb_query($link, $query)) {

   /* Get field information for column 'cno' */
   $finfo = maxdb_fetch_field_direct($result, 1);

   printf("Name:     %s\n", $finfo->name);
   printf("Table:    %s\n", $finfo->table);
   printf("max. Len: %d\n", $finfo->max_length);
   printf("Flags:    %d\n", $finfo->flags);
   printf("Type:     %d\n", $finfo->type);

   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Name:     CNO
Table:
max. Len: 4
Flags:    -1
Type:     0

Siehe auch

  • maxdb_num_fields() - Get the number of fields in a result
  • maxdb_fetch_field() - Returns the next field in the result set
  • maxdb_fetch_fields() - Returns an array of resources representing the fields in a result set

maxdb_fetch_assoc
maxdb_fetch_field
MaxDB Funktionen


Returns the next field in the result set

maxdb_fetch_field_direct
maxdb_fetch_fields
MaxDB Funktionen
PHP Manual

maxdb_fetch_field

maxdb_result::fetch_field

(PECL maxdb >= 1.0)

maxdb_fetch_field -- maxdb_result::fetch_field — Returns the next field in the result set

Beschreibung

Prozeduraler Stil

mixed maxdb_fetch_field ( resource $result )

Objektorientierter Stil

mixed maxdb_result::fetch_field ( void )

The maxdb_fetch_field() returns the definition of one column of a result set as an resource. Call this function repeatedly to retrieve information about all columns in the result set. maxdb_fetch_field() returns FALSE when no more fields are left.

Rückgabewerte

Returns an resource which contains field definition information or FALSE if no field information is available.

Object properties
Property | Description
name | The name of the column
max_length | The maximum width of the field for the result set.
type | The data type used for this field
decimals | The number of decimals used (for integer fields)

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = $maxdb->query($query)) {

   /* Get field information for all columns */
   while ($finfo = $result->fetch_field()) {

       printf("Name:     %s\n", $finfo->name);
       printf("Table:    %s\n", $finfo->table);
       printf("max. Len: %d\n", $finfo->max_length);
       printf("Flags:    %d\n", $finfo->flags);
       printf("Type:     %d\n\n", $finfo->type);
   }
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = maxdb_query($link, $query)) {

   /* Get field information for all fields */
   while ($finfo = maxdb_fetch_field($result)) {

       printf("Name:     %s\n", $finfo->name);
       printf("Table:    %s\n", $finfo->table);
       printf("max. Len: %d\n", $finfo->max_length);
       printf("Flags:    %d\n", $finfo->flags);
       printf("Type:     %d\n\n", $finfo->type);
   }
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Name:     NAME
Table:
max. Len: 10
Flags:    -1
Type:     2

Name:     CNO
Table:
max. Len: 4
Flags:    -1
Type:     0

Siehe auch

  • maxdb_num_fields() - Get the number of fields in a result
  • maxdb_fetch_field_direct() - Fetch meta-data for a single field
  • maxdb_fetch_fields() - Returns an array of resources representing the fields in a result set
  • maxdb_field_seek() - Set result pointer to a specified field offset

maxdb_fetch_field_direct
maxdb_fetch_fields
MaxDB Funktionen


Returns an array of resources representing the fields in a result set

maxdb_fetch_field
maxdb_fetch_lengths
MaxDB Funktionen
PHP Manual

maxdb_fetch_fields

maxdb_result::fetch_fields

(PECL maxdb >= 1.0)

maxdb_fetch_fields -- maxdb_result::fetch_fields — Returns an array of resources representing the fields in a result set

Beschreibung

Prozeduraler Stil

mixed maxdb_fetch_fields ( resource $result )

Objektorientierter Stil

mixed maxdb_result::fetch_fields ( void )

This function serves an identical purpose to the maxdb_fetch_field() function with the single difference that, instead of returning one resource at a time for each field, the columns are returned as an array of resources.

Rückgabewerte

Returns an array of resources which contains field definition information or FALSE if no field information is available.

Object properties
Property | Description
name | The name of the column
max_length | The maximum width of the field for the result set.
type | The data type used for this field
decimals | The number of decimals used (for integer fields)

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = $maxdb->query($query)) {

   /* Get field information for all columns */
   $finfo = $result->fetch_fields();

   foreach ($finfo as $val) {
       printf("Name:     %s\n", $val->name);
       printf("Table:    %s\n", $val->table);
       printf("max. Len: %d\n", $val->max_length);
       printf("Flags:    %d\n", $val->flags);
       printf("Type:     %d\n\n", $val->type);
   }
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = maxdb_query($link, $query)) {

   /* Get field information for all columns */
   $finfo = maxdb_fetch_fields($result);

   foreach ($finfo as $val) {
       printf("Name:     %s\n", $val->name);
       printf("Table:    %s\n", $val->table);
       printf("max. Len: %d\n", $val->max_length);
       printf("Flags:    %d\n", $val->flags);
       printf("Type:     %d\n\n", $val->type);
   }
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Name:     NAME
Table:
max. Len: 10
Flags:    -1
Type:     2

Name:     CNO
Table:
max. Len: 4
Flags:    -1
Type:     0

Siehe auch

  • maxdb_num_fields() - Get the number of fields in a result
  • maxdb_fetch_field() - Returns the next field in the result set
  • maxdb_fetch_field_direct() - Fetch meta-data for a single field

maxdb_fetch_field
maxdb_fetch_lengths
MaxDB Funktionen


Returns the lengths of the columns of the current row in the result set

maxdb_fetch_fields
maxdb_fetch_object
MaxDB Funktionen
PHP Manual

maxdb_fetch_lengths

maxdb_result::lengths

(PECL maxdb >= 1.0)

maxdb_fetch_lengths -- maxdb_result::lengths — Returns the lengths of the columns of the current row in the result set

Beschreibung

Prozeduraler Stil

array maxdb_fetch_lengths ( resource $result )

Objektorientierter Stil

array $maxdb_result->lengths;

The maxdb_fetch_lengths() function returns an array containing the lengths of every column of the current row within the result set represented by the result parameter. If successful, a numerically indexed array representing the lengths of each column is returnedIm Fehlerfall wird FALSE zurückgegeben..

Rückgabewerte

An array of integers representing the size of each column (not including any terminating null characters). FALSE if an error occurred.

maxdb_fetch_lengths() is valid only for the current row of the result set. It returns FALSE if you call it before calling maxdb_fetch_row/array/resource or after retrieving all rows in the result.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT * from hotel.customer WHERE cno = 3000";

if ($result = $maxdb->query($query)) {

   $row = $result->fetch_row();

   /* display column lengths */
   foreach ($result->lengths as $i => $val) {
       printf("Field %2d has Length %2d\n", $i+1, $val);
   }
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT * from hotel.customer WHERE cno = 3000";

if ($result = maxdb_query($link, $query)) {

   $row = maxdb_fetch_row($result);

   /* display column lengths */
   foreach (maxdb_fetch_lengths($result) as $i => $val) {
       printf("Field %2d has Length %2d\n", $i+1, $val);
   }
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Field  1 has Length  4
Field  2 has Length  3
Field  3 has Length  5
Field  4 has Length  6
Field  5 has Length  5
Field  6 has Length 21
maxdb_fetch_fields
maxdb_fetch_object
MaxDB Funktionen


Returns the current row of a result set as an object

maxdb_fetch_lengths
maxdb_fetch_row
MaxDB Funktionen
PHP Manual

maxdb_fetch_object

maxdb_result::fetch_object

(PECL maxdb >= 1.0)

maxdb_fetch_object -- maxdb_result::fetch_object — Returns the current row of a result set as an object

Beschreibung

Prozeduraler Stil

object maxdb_fetch_object ( object $result )

Objektorientierter Stil

object maxdb_result::fetch_object ( void )

The maxdb_fetch_object() will return the current row result set as an object where the attributes of the object represent the names of the fields found within the result set. If no more rows exist in the current result set, NULL is returned.

Rückgabewerte

Returns an object that corresponds to the fetched row or NULL if there are no more rows in resultset.

Hinweis: Feldnamen, die von dieser Funktion zurückgegeben werden, unterscheiden sich in der Groß-/Kleinschreibung.

Hinweis: Diese Funktion setzt NULL-Felder auf den PHP Wert-NULL.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";

if ($result = $maxdb->query($query)) {

   /* fetch object array */
   while ($obj = $result->fetch_object()) {
       printf ("%s (%s)\n", $obj->NAME, $obj->STATE);
   }

   /* free result set */
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";

if ($result = maxdb_query($link, $query)) {

   /* fetch object array */
   while ($obj = maxdb_fetch_object($result)) {
       printf ("%s (%s)\n", $obj->NAME, $obj->STATE);
   }

   /* free result set */
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

New York (NY)
New York (NY)
Long Island (NY)
Albany (NY)
Washington (DC)
Washington (DC)
Washington (DC)
Silver Spring (MD)
Daytona Beach (FL)
Deerfield Beach (FL)
Clearwater (FL)
Cincinnati (OH)
Detroit (MI)
Rosemont (IL)
Chicago (IL)
Chicago (IL)
New Orleans (LA)
Dallas (TX)
Los Angeles (CA)
Hollywood (CA)
Long Beach (CA)
Palm Springs (CA)
Irvine (CA)
Santa Clara (CA)
Portland (OR)

Siehe auch

  • maxdb_fetch_array() - Fetch a result row as an associative, a numeric array, or both
  • maxdb_fetch_assoc() - Fetch a result row as an associative array
  • maxdb_fetch_row() - Get a result row as an enumerated array

maxdb_fetch_lengths
maxdb_fetch_row
MaxDB Funktionen


Get a result row as an enumerated array

maxdb_fetch_object
maxdb_fetch
MaxDB Funktionen
PHP Manual

maxdb_fetch_row

maxdb_result::fetch_row

(PECL maxdb >= 1.0)

maxdb_fetch_row -- maxdb_result::fetch_row — Get a result row as an enumerated array

Beschreibung

Prozeduraler Stil

mixed maxdb_fetch_row ( resource $result )

Objektorientierter Stil

mixed maxdb_result::fetch_row ( void )

Returns an array that corresponds to the fetched row, or NULL if there are no more rows.

maxdb_fetch_row() fetches one row of data from the result set represented by result and returns it as an enumerated array, where each column is stored in an array offset starting from 0 (zero). Each subsequent call to the maxdb_fetch_row() function will return the next row within the result set, or FALSE if there are no more rows.

Rückgabewerte

maxdb_fetch_row() returns an array that corresponds to the fetched row or NULL if there are no more rows in result set.

Hinweis: Diese Funktion setzt NULL-Felder auf den PHP Wert-NULL.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";

if ($result = $maxdb->query($query)) {

   /* fetch enumerated array */
   while ($row = $result->fetch_row()) {
       printf ("%s (%s)\n", $row[0], $row[1]);
   }

   /* free result set */
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";

if ($result = maxdb_query($link, $query)) {

   /* fetch enumerated array */
   while ($row = maxdb_fetch_row($result)) {
       printf ("%s (%s)\n", $row[0], $row[1]);
   }

   /* free result set */
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

New York (NY)
New York (NY)
Long Island (NY)
Albany (NY)
Washington (DC)
Washington (DC)
Washington (DC)
Silver Spring (MD)
Daytona Beach (FL)
Deerfield Beach (FL)
Clearwater (FL)
Cincinnati (OH)
Detroit (MI)
Rosemont (IL)
Chicago (IL)
Chicago (IL)
New Orleans (LA)
Dallas (TX)
Los Angeles (CA)
Hollywood (CA)
Long Beach (CA)
Palm Springs (CA)
Irvine (CA)
Santa Clara (CA)
Portland (OR)

Siehe auch

  • maxdb_fetch_array() - Fetch a result row as an associative, a numeric array, or both
  • maxdb_fetch_assoc() - Fetch a result row as an associative array
  • maxdb_fetch_resource()

maxdb_fetch_object
maxdb_fetch
MaxDB Funktionen


Alias von maxdb_stmt_fetch

maxdb_fetch_row
maxdb_field_count
MaxDB Funktionen
PHP Manual

maxdb_fetch

(PECL maxdb 1.0)

maxdb_fetch — Alias von maxdb_stmt_fetch()

Beschreibung

Diese Funktion ist ein Alias für: maxdb_stmt_fetch().

Dieser Funktions-Alias ist veraltet und existiert nur noch aus Gründen der Rückwärtskompatibilität. Es wird nicht empfohlen, diese Funktion weiter zu nutzen, da sie eines Tages aus PHP entfernt werden kann.

maxdb_fetch_row
maxdb_field_count
MaxDB Funktionen


Returns the number of columns for the most recent query

maxdb_fetch
maxdb_field_seek
MaxDB Funktionen
PHP Manual

maxdb_field_count

maxdb::field_count

(PECL maxdb >= 1.0)

maxdb_field_count -- maxdb::field_count — Returns the number of columns for the most recent query

Beschreibung

Prozeduraler Stil

int maxdb_field_count ( resource $link )

Objektorientierter Stil

int maxdb::field_count ( void )

Returns the number of columns for the most recent query on the connection represented by the link parameter. This function can be useful when using the maxdb_store_result() function to determine if the query should have produced a non-empty result set or not without knowing the nature of the query.

Rückgabewerte

An integer representing the number of fields in a result set.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

maxdb_report (MAXDB_REPORT_OFF);
$maxdb->query("DROP TABLE friends");
maxdb_report (MAXDB_REPORT_ERROR);

$maxdb->query( "CREATE TABLE friends (id int, name varchar(20))");

$maxdb->query( "INSERT INTO friends VALUES (1,'Hartmut')");
$maxdb->query( "INSERT INTO friends VALUES (2, 'Ulf')");

if ($maxdb->field_count()) {
   /* this was a select/show or describe query */
   $result = $maxdb->store_result();

   /* process resultset */
   $row = $result->fetch_row();

   /* free resultset */
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($link,"DROP TABLE friends");
maxdb_report (MAXDB_REPORT_ERROR);

maxdb_query($link, "CREATE TABLE friends (id int, name varchar(20))");

maxdb_query($link, "INSERT INTO friends VALUES (1,'Hartmut')");
maxdb_query($link, "INSERT INTO friends VALUES (2, 'Ulf')");

if (maxdb_field_count($link)) {
   /* this was a select/show or describe query */
   $result = maxdb_store_result($link);

   /* process resultset */
   $row = maxdb_fetch_row($result);

   /* free resultset */
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

The above example produces no output.

maxdb_fetch
maxdb_field_seek
MaxDB Funktionen


Set result pointer to a specified field offset

maxdb_field_count
maxdb_field_tell
MaxDB Funktionen
PHP Manual

maxdb_field_seek

maxdb_result::field_seek

(PECL maxdb >= 1.0)

maxdb_field_seek -- maxdb_result::field_seek — Set result pointer to a specified field offset

Beschreibung

Prozeduraler Stil

bool maxdb_field_seek ( resource $result , int $fieldnr )

Objektorientierter Stil

bool maxdb_result::field_seek ( int $fieldnr )

Sets the field cursor to the given offset. The next call to maxdb_fetch_field() will retrieve the field definition of the column associated with that offset.

Hinweis:

To seek to the beginning of a row, pass an offset value of zero.

Rückgabewerte

maxdb_field_seek() returns previuos value of field cursor.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = $maxdb->query($query)) {

   /* Get field information for 2nd column */
   $result->field_seek(1);
   $finfo = $result->fetch_field();

   printf("Name:     %s\n", $finfo->name);
   printf("Table:    %s\n", $finfo->table);
   printf("max. Len: %d\n", $finfo->max_length);
   printf("Flags:    %d\n", $finfo->flags);
   printf("Type:     %d\n\n", $finfo->type);

   $result->close();
}

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = maxdb_query($link, $query)) {

   /* Get field information for 2nd column */
   maxdb_field_seek($result, 1);
   $finfo = maxdb_fetch_field($result);

   printf("Name:     %s\n", $finfo->name);
   printf("Table:    %s\n", $finfo->table);
   printf("max. Len: %d\n", $finfo->max_length);
   printf("Flags:    %d\n", $finfo->flags);
   printf("Type:     %d\n\n", $finfo->type);

   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Name:     NAME
Table:
max. Len: 10
Flags:    -1
Type:     2

Siehe auch

  • maxdb_fetch_field() - Returns the next field in the result set

maxdb_field_count
maxdb_field_tell
MaxDB Funktionen


Get current field offset of a result pointer

maxdb_field_seek
maxdb_free_result
MaxDB Funktionen
PHP Manual

maxdb_field_tell

maxdb_result::current_field

(PECL maxdb >= 1.0)

maxdb_field_tell -- maxdb_result::current_field — Get current field offset of a result pointer

Beschreibung

Prozeduraler Stil

int maxdb_field_tell ( resource $result )

Objektorientierter Stil

int $maxdb_result->current_field;

Returns the position of the field cursor used for the last maxdb_fetch_field() call. This value can be used as an argument to maxdb_field_seek().

Rückgabewerte

Returns current offset of field cursor.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = $maxdb->query($query)) {

   /* Get field information for all columns */
   while ($finfo = $result->fetch_field()) {

       /* get fieldpointer offset */
       $currentfield = $result->current_field;

       printf("Column    %d:\n", $currentfield);
       printf("Name:     %s\n", $finfo->name);
       printf("Table:    %s\n", $finfo->table);
       printf("max. Len: %d\n", $finfo->max_length);
       printf("Flags:    %d\n", $finfo->flags);
       printf("Type:     %d\n\n", $finfo->type);
   }
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = maxdb_query($link, $query)) {

   /* Get field information for all fields */
   while ($finfo = maxdb_fetch_field($result)) {

       /* get fieldpointer offset */
       $currentfield = maxdb_field_tell($result);

       printf("Column    %d:\n", $currentfield);
       printf("Name:     %s\n", $finfo->name);
       printf("Table:    %s\n", $finfo->table);
       printf("max. Len: %d\n", $finfo->max_length);
       printf("Flags:    %d\n", $finfo->flags);
       printf("Type:     %d\n\n", $finfo->type);
   }
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Column    1:
Name:     NAME
Table:
max. Len: 10
Flags:    -1
Type:     2

Column    2:
Name:     CNO
Table:
max. Len: 4
Flags:    -1
Type:     0

Siehe auch

  • maxdb_fetch_field() - Returns the next field in the result set
  • maxdb_field_seek() - Set result pointer to a specified field offset

maxdb_field_seek
maxdb_free_result
MaxDB Funktionen


Frees the memory associated with a result

maxdb_field_tell
maxdb_get_client_info
MaxDB Funktionen
PHP Manual

maxdb_free_result

maxdb_result::free

(PECL maxdb >= 1.0)

maxdb_free_result -- maxdb_result::free — Frees the memory associated with a result

Beschreibung

Prozeduraler Stil

void maxdb_free_result ( resource $result )

Objektorientierter Stil

void maxdb_result::free ( void )

The maxdb_free_result() function frees the memory associated with the result represented by the result parameter, which was allocated by maxdb_query(), maxdb_store_result() or maxdb_use_result().

Hinweis:

You should always free your result with maxdb_free_result(), when your result resource is not needed anymore.

Rückgabewerte

This function doesn't return any value.

Siehe auch

  • maxdb_query() - Performs a query on the database
  • maxdb_stmt_store_result() - Transfers a result set from a prepared statement
  • maxdb_store_result() - Transfers a result set from the last query
  • maxdb_use_result() - Initiate a result set retrieval

maxdb_field_tell
maxdb_get_client_info
MaxDB Funktionen


Returns the MaxDB client version as a string

maxdb_free_result
maxdb_get_client_version
MaxDB Funktionen
PHP Manual

maxdb_get_client_info

(PECL maxdb >= 1.0)

maxdb_get_client_info — Returns the MaxDB client version as a string

Beschreibung

string maxdb_get_client_info ( void )

The maxdb_get_client_info() function is used to return a string representing the client version being used in the MaxDB extension.

Rückgabewerte

A string that represents the MaxDB client library version

Beispiele

Beispiel #1 maxdb_get_client_info

<?php

/* We don't need a connection to determine
   the version of MaxDB client library */

printf("Client library version: %s\n", maxdb_get_client_info());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Client library version: libSQLDBC <...>

Siehe auch

  • maxdb_get_client_version() - Get MaxDB client info
  • maxdb_get_server_info() - Returns the version of the MaxDB server
  • maxdb_get_server_version() - Returns the version of the MaxDB server as an integer

maxdb_free_result
maxdb_get_client_version
MaxDB Funktionen


Get MaxDB client info

maxdb_get_client_info
maxdb_get_host_info
MaxDB Funktionen
PHP Manual

maxdb_get_client_version

(PECL maxdb >= 1.0)

maxdb_get_client_version — Get MaxDB client info

Beschreibung

int maxdb_get_client_version ( void )

Returns client version number as an integer.

Rückgabewerte

A number that represents the MaxDB client library version in format: main_version*10000 + minor_version *100 + sub_version. For example, 7.5.0 is returned as 70500.

This is useful to quickly determine the version of the client library to know if some capability exists.

Beispiele

Beispiel #1 maxdb_get_client_version

<?php

/* We don't need a connection to determine
   the version of MaxDB client library */

printf("Client library version: %d\n", maxdb_get_client_version());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Client library version: 7.<...>

Siehe auch

  • maxdb_get_client_info() - Returns the MaxDB client version as a string
  • maxdb_get_server_info() - Returns the version of the MaxDB server
  • maxdb_get_server_version() - Returns the version of the MaxDB server as an integer

maxdb_get_client_info
maxdb_get_host_info
MaxDB Funktionen


Returns a string representing the type of connection used

maxdb_get_client_version
maxdb_get_metadata
MaxDB Funktionen
PHP Manual

maxdb_get_host_info

maxdb::get_host_info

(PECL maxdb >= 1.0)

maxdb_get_host_info -- maxdb::get_host_info — Returns a string representing the type of connection used

Beschreibung

Prozeduraler Stil

string maxdb_get_host_info ( resource $link )

Objektorientierter Stil

string $maxdb->host_info;

The maxdb_get_host_info() function returns a string describing the connection represented by the link parameter is using.

Rückgabewerte

A character string representing the server hostname and the connection type.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print host information */
printf("Host info: %s\n", $maxdb->host_info);

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print host information */
printf("Host info: %s\n", maxdb_get_host_info($link));

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Host info: localhost

Siehe auch

  • maxdb_get_proto_info() - Returns the version of the MaxDB protocol used

maxdb_get_client_version
maxdb_get_metadata
MaxDB Funktionen


Alias von maxdb_stmt_result_metadata

maxdb_get_host_info
maxdb_get_proto_info
MaxDB Funktionen
PHP Manual

maxdb_get_metadata

(PECL maxdb 1.0)

maxdb_get_metadata — Alias von maxdb_stmt_result_metadata()

Beschreibung

Diese Funktion ist ein Alias für: maxdb_stmt_result_metadata().

Dieser Funktions-Alias ist veraltet und existiert nur noch aus Gründen der Rückwärtskompatibilität. Es wird nicht empfohlen, diese Funktion weiter zu nutzen, da sie eines Tages aus PHP entfernt werden kann.

maxdb_get_host_info
maxdb_get_proto_info
MaxDB Funktionen


Returns the version of the MaxDB protocol used

maxdb_get_metadata
maxdb_get_server_info
MaxDB Funktionen
PHP Manual

maxdb_get_proto_info

maxdb::protocol_version

(PECL maxdb >= 1.0)

maxdb_get_proto_info -- maxdb::protocol_version — Returns the version of the MaxDB protocol used

Beschreibung

Prozeduraler Stil

int maxdb_get_proto_info ( resource $link )

Objektorientierter Stil

string $maxdb->protocol_version;

Returns an integer representing the MaxDB protocol version used by the connection represented by the link parameter.

Rückgabewerte

Returns an integer representing the protocol version (constant 10).

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print protocol version */
printf("Protocol version: %d\n", $maxdb->protocol_version);

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print protocol version */
printf("Protocol version: %d\n", maxdb_get_proto_info($link));

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Protocol version: 10

Siehe auch

  • maxdb_get_host_info() - Returns a string representing the type of connection used

maxdb_get_metadata
maxdb_get_server_info
MaxDB Funktionen


Returns the version of the MaxDB server

maxdb_get_proto_info
maxdb_get_server_version
MaxDB Funktionen
PHP Manual

maxdb_get_server_info

maxdb::server_info

(PECL maxdb >= 1.0)

maxdb_get_server_info -- maxdb::server_info — Returns the version of the MaxDB server

Beschreibung

Prozeduraler Stil

string maxdb_get_server_info ( resource $link )

Objektorientierter Stil

string $maxdb->server_info;

Returns a string representing the version of the MaxDB server that the MaxDB extension is connected to (represented by the link parameter).

Rückgabewerte

A character string representing the server version.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print server version */
printf("Server version: %s\n", $maxdb->server_info);

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print server version */
printf("Server version: %s\n", maxdb_get_server_info($link));

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Server version: Kernel    7<...>

Siehe auch

  • maxdb_get_client_info() - Returns the MaxDB client version as a string
  • maxdb_get_client_version() - Get MaxDB client info
  • maxdb_get_server_version() - Returns the version of the MaxDB server as an integer

maxdb_get_proto_info
maxdb_get_server_version
MaxDB Funktionen


Returns the version of the MaxDB server as an integer

maxdb_get_server_info
maxdb_info
MaxDB Funktionen
PHP Manual

maxdb_get_server_version

maxdb::server_version

(PECL maxdb >= 1.0)

maxdb_get_server_version -- maxdb::server_version — Returns the version of the MaxDB server as an integer

Beschreibung

Prozeduraler Stil

int maxdb_get_server_version ( resource $link )

Objektorientierter Stil

int $maxdb->server_version;

The maxdb_get_server_version() function returns the version of the server connected to (represented by the link parameter) as an integer.

The form of this version number is main_version * 10000 + minor_version * 100 + sub_version (i.e. version 7.5.0 is 70500).

Rückgabewerte

An integer representing the server version.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print server version */
printf("Server version: %d\n", $maxdb->server_version);

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print server version */
printf("Server version: %d\n", maxdb_get_server_version($link));

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Server version: 7<...>

Siehe auch

  • maxdb_get_client_info() - Returns the MaxDB client version as a string
  • maxdb_get_client_version() - Get MaxDB client info
  • maxdb_get_server_info() - Returns the version of the MaxDB server

maxdb_get_server_info
maxdb_info
MaxDB Funktionen


Retrieves information about the most recently executed query

maxdb_get_server_version
maxdb_init
MaxDB Funktionen
PHP Manual

maxdb_info

maxdb::info

(PECL maxdb >= 1.0)

maxdb_info -- maxdb::info — Retrieves information about the most recently executed query

Beschreibung

Prozeduraler Stil

string maxdb_info ( resource $link )

Objektorientierter Stil

string $maxdb->info;

The maxdb_info() function returns a string providing information about the last query executed. The nature of this string is provided below:

Possible maxdb_info return values
Query type | Example result string
INSERT INTO...SELECT... | Records: 100 Duplicates: 0 Warnings: 0
INSERT INTO...VALUES (...),(...),(...) | Records: 3 Duplicates: 0 Warnings: 0
LOAD DATA INFILE ... | Records: 1 Deleted: 0 Skipped: 0 Warnings: 0
ALTER TABLE ... | Records: 3 Duplicates: 0 Warnings: 0
UPDATE ... | Rows matched: 40 Changed: 40 Warnings: 0

Hinweis:

Queries which do not fall into one of the above formats are not supported. In these situations, maxdb_info() will return an empty string.

Rückgabewerte

A character string representing additional information about the most recently executed query.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query("CREATE TABLE temp.t1 LIKE hotel.city");

/* INSERT INTO .. SELECT */
$maxdb->query("INSERT INTO temp.t1 SELECT * FROM hotel.city");
printf("%s\n", $maxdb->info);

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query($link, "CREATE TABLE temp.t1 LIKE hotel.city");

/* INSERT INTO .. SELECT */
maxdb_query($link, "INSERT INTO temp.t1 SELECT * FROM hotel.city");
printf("%s\n", maxdb_info($link));

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Records: 25 Duplicates: 0 Warnings: 0

Siehe auch

  • maxdb_affected_rows() - Gets the number of affected rows in a previous MaxDB operation
  • maxdb_warning_count() - Returns the number of warnings from the last query for the given link
  • maxdb_num_rows() - Gets the number of rows in a result

maxdb_get_server_version
maxdb_init
MaxDB Funktionen


Initializes MaxDB and returns an resource for use with maxdb_real_connect

maxdb_info
maxdb_insert_id
MaxDB Funktionen
PHP Manual

maxdb_init

(PECL maxdb >= 1.0)

maxdb_init — Initializes MaxDB and returns an resource for use with maxdb_real_connect

Beschreibung

resource maxdb_init ( void )

Allocates or initializes a MaxDB resource suitable for maxdb_options() and maxdb_real_connect().

Hinweis:

Any subsequent calls to any maxdb function (except maxdb_options()) will fail until maxdb_real_connect() was called.

Rückgabewerte

Returns an resource.

Siehe auch

  • maxdb_options() - Set options
  • maxdb_close() - Closes a previously opened database connection
  • maxdb_real_connect() - Opens a connection to a MaxDB server
  • maxdb_connect() - Open a new connection to the MaxDB server

maxdb_info
maxdb_insert_id
MaxDB Funktionen


Returns the auto generated id used in the last query

maxdb_init
maxdb_kill
MaxDB Funktionen
PHP Manual

maxdb_insert_id

maxdb::insert_id

(PECL maxdb >= 1.0)

maxdb_insert_id -- maxdb::insert_id — Returns the auto generated id used in the last query

Beschreibung

Prozeduraler Stil

mixed maxdb_insert_id ( resource $link )

Objektorientierter Stil

mixed $maxdb->insert_id;

The maxdb_insert_id() function returns the ID generated by a query on a table with a column having the DEFAULT SERIAL attribute. If the last query wasn't an INSERT or UPDATE statement or if the modified table does not have a column with the DEFAULT SERIAL attribute, this function will return zero.

Rückgabewerte

The value of the DEFAULT SERIAL field that was updated by the previous query. Returns zero if there was no previous query on the connection or if the query did not update an DEFAULT_SERIAL value.

Hinweis:

If the number is greater than maximal int value, maxdb_insert_id() will return a string.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_report (MAXDB_REPORT_OFF);
$maxdb->query("DROP TABLE mycity");
maxdb_report (MAXDB_REPORT_ERROR);

$maxdb->query("CREATE TABLE mycity LIKE hotel.city");
$maxdb->query("ALTER TABLE mycity ADD id FIXED(11) DEFAULT SERIAL");

$query = "INSERT INTO mycity (zip,name,state) VALUES ('12203','Albany' ,'NY')";
$maxdb->query($query);

printf ("New Record has id %d.\n", $maxdb->insert_id);

/* drop table */
$maxdb->query("DROP TABLE mycity");

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($link,"DROP TABLE mycity");
maxdb_report (MAXDB_REPORT_ERROR);

maxdb_query($link, "CREATE TABLE mycity LIKE hotel.city");
maxdb_query($link, "ALTER TABLE mycity ADD id FIXED(11) DEFAULT SERIAL");

$query = "INSERT INTO mycity (zip,name,state) VALUES ('12203','Albany' ,'NY')";
maxdb_query($link, $query);

printf ("New Record has id %d.\n", maxdb_insert_id($link));

/* drop table */
maxdb_query($link, "DROP TABLE mycity");

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

New Record has id 1.
maxdb_init
maxdb_kill
MaxDB Funktionen


Disconnects from a MaxDB server

maxdb_insert_id
maxdb_master_query
MaxDB Funktionen
PHP Manual

maxdb_kill

maxdb::kill

(PECL maxdb >= 1.0)

maxdb_kill -- maxdb::kill — Disconnects from a MaxDB server

Beschreibung

Prozeduraler Stil

bool maxdb_kill ( resource $link , int $processid )

Objektorientierter Stil

bool maxdb::kill ( int $processid )

This function is used to disconnect from a MaxDB server specified by the processid parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* determine our thread id */
$thread_id = $maxdb->thread_id;

/* Kill connection */
$maxdb->kill($thread_id);

/* This should produce an error */
if (!$maxdb->query("CREATE TABLE myCity LIKE City")) {
   printf("Error: %s\n", $maxdb->error);
   exit;
}

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* determine our thread id */
$thread_id = maxdb_thread_id($link);

/* Kill connection */
maxdb_kill($link, $thread_id);

/* This should produce an error */
if (!maxdb_query($link, "CREATE TABLE myCity LIKE City")) {
   printf("Error: %s\n", maxdb_error($link));
   exit;
}

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Error: Session not connected

Siehe auch

  • maxdb_thread_id() - Returns the thread ID for the current connection

maxdb_insert_id
maxdb_master_query
MaxDB Funktionen


Enforce execution of a query on the master in a master/slave setup

maxdb_kill
maxdb_more_results
MaxDB Funktionen
PHP Manual

maxdb_master_query

(PECL maxdb >= 1.0)

maxdb_master_query — Enforce execution of a query on the master in a master/slave setup

Beschreibung

bool maxdb_master_query ( resource $link , string $query )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

maxdb_kill
maxdb_more_results
MaxDB Funktionen


Check if there any more query results from a multi query

maxdb_master_query
maxdb_multi_query
MaxDB Funktionen
PHP Manual

maxdb_more_results

maxdb::more_results

(PECL maxdb >= 1.0)

maxdb_more_results -- maxdb::more_results — Check if there any more query results from a multi query

Beschreibung

bool maxdb_more_results ( resource $link )

maxdb_more_results() indicates if one or more result sets are available from a previous call to maxdb_multi_query().

Rückgabewerte

Always FALSE.

Beispiele

See maxdb_multi_query().

Siehe auch

  • maxdb_multi_query() - Performs a query on the database
  • maxdb_next_result() - Prepare next result from multi_query
  • maxdb_store_result() - Transfers a result set from the last query
  • maxdb_use_result() - Initiate a result set retrieval

maxdb_master_query
maxdb_multi_query
MaxDB Funktionen


Performs a query on the database

maxdb_more_results
maxdb_next_result
MaxDB Funktionen
PHP Manual

maxdb_multi_query

maxdb::multi_query

(PECL maxdb >= 1.0)

maxdb_multi_query -- maxdb::multi_query — Performs a query on the database

Beschreibung

Prozeduraler Stil

bool maxdb_multi_query ( resource $link , string $query )

Objektorientierter Stil

bool maxdb::multi_query ( string $query )

The maxdb_multi_query() works like the function maxdb_query(). Multiple queries are not yet supported.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query  = "SELECT * FROM dual";

/* execute multi query */
if ($maxdb->multi_query($query)) {
   do {
       /* store first result set */
       if ($result = $maxdb->store_result()) {
           while ($row = $result->fetch_row()) {
               printf("%s\n", $row[0]);
           }
           $result->close();
       }
       /* print divider */
       if ($maxdb->more_results()) {
           printf("-----------------\n");
       }
   } while ($maxdb->next_result());
}

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT * FROM dual";

/* execute multi query */
if (maxdb_multi_query($link, $query)) {
   do {
       /* store first result set */
       if ($result = maxdb_store_result($link)) {
           while ($row = maxdb_fetch_row($result)) {
               printf("%s\n", $row[0]);
           }
           maxdb_free_result($result);
       }
       /* print divider */
       if (maxdb_more_results($link)) {
           printf("-----------------\n");
       }
   } while (maxdb_next_result($link));
}

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

a

Siehe auch

  • maxdb_use_result() - Initiate a result set retrieval
  • maxdb_store_result() - Transfers a result set from the last query
  • maxdb_next_result() - Prepare next result from multi_query
  • maxdb_more_results() - Check if there any more query results from a multi query

maxdb_more_results
maxdb_next_result
MaxDB Funktionen


Prepare next result from multi_query

maxdb_multi_query
maxdb_num_fields
MaxDB Funktionen
PHP Manual

maxdb_next_result

maxdb::next_result

(PECL maxdb >= 1.0)

maxdb_next_result -- maxdb::next_result — Prepare next result from multi_query

Beschreibung

bool maxdb_next_result ( resource $link )

Since multiple queries are not yet supported, maxdb_next_result() returns always FALSE.

Rückgabewerte

Returns FALSE.

Siehe auch

  • maxdb_multi_query() - Performs a query on the database
  • maxdb_more_results() - Check if there any more query results from a multi query
  • maxdb_store_result() - Transfers a result set from the last query
  • maxdb_use_result() - Initiate a result set retrieval

maxdb_multi_query
maxdb_num_fields
MaxDB Funktionen


Get the number of fields in a result

maxdb_next_result
maxdb_num_rows
MaxDB Funktionen
PHP Manual

maxdb_num_fields

maxdb_result::field_count

(PECL maxdb >= 1.0)

maxdb_num_fields -- maxdb_result::field_count — Get the number of fields in a result

Beschreibung

Prozeduraler Stil

int maxdb_num_fields ( resource $result )

Objektorientierter Stil

int $maxdb_result->field_count;

maxdb_num_fields() returns the number of fields from specified result set.

Rückgabewerte

The number of fields from a result set

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($result = $maxdb->query("SELECT * FROM hotel.city ORDER BY zip")) {

   /* determine number of fields in result set */
   $field_cnt = $result->field_count;

   printf("Result set has %d fields.\n", $field_cnt);

   /* close result set */
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($result = maxdb_query($link, "SELECT * FROM hotel.city ORDER BY zip")) {

   /* determine number of fields in result set */
   $field_cnt = maxdb_num_fields($result);

   printf("Result set has %d fields.\n", $field_cnt);

   /* close result set */
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Result set has 3 fields.

Siehe auch

  • maxdb_fetch_field() - Returns the next field in the result set

maxdb_next_result
maxdb_num_rows
MaxDB Funktionen


Gets the number of rows in a result

maxdb_num_fields
maxdb_options
MaxDB Funktionen
PHP Manual

maxdb_num_rows

maxdb::num_rows

(PECL maxdb >= 1.0)

maxdb_num_rows -- maxdb::num_rows — Gets the number of rows in a result

Beschreibung

Prozeduraler Stil

int maxdb_num_rows ( resource $result )

Objektorientierter Stil

int $maxdb->num_rows;

Returns the number of rows in the result set.

The use of maxdb_num_rows() depends on whether you use buffered or unbuffered result sets. In case you use unbuffered resultsets maxdb_num_rows() will not correct the correct number of rows until all the rows in the result have been retrieved.

Rückgabewerte

Returns number of rows in the result set.

Hinweis:

If the number of rows is greater than maximal int value, the number will be returned as a string.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($result = $maxdb->query("SELECT cno, name FROM hotel.customer ORDER BY name")) {

   /* determine number of rows result set */
   $row_cnt = $result->num_rows;

   printf("Result set has %d rows.\n", $row_cnt);

   /* close result set */
   $result->close();
}

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($result = maxdb_query($link, "SELECT cno, name FROM hotel.customer ORDER BY name")) {

   /* determine number of rows result set */
   $row_cnt = maxdb_num_rows($result);

   printf("Result set has %d rows.\n", $row_cnt);

   /* close result set */
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Result set has 15 rows.

Siehe auch

  • maxdb_affected_rows() - Gets the number of affected rows in a previous MaxDB operation
  • maxdb_store_result() - Transfers a result set from the last query
  • maxdb_use_result() - Initiate a result set retrieval
  • maxdb_query() - Performs a query on the database

maxdb_num_fields
maxdb_options
MaxDB Funktionen


Set options

maxdb_num_rows
maxdb_param_count
MaxDB Funktionen
PHP Manual

maxdb_options

maxdb::options

(PECL maxdb >= 1.0)

maxdb_options -- maxdb::options — Set options

Beschreibung

Prozeduraler Stil

bool maxdb_options ( resource $link , int $option , mixed $value )

Objektorientierter Stil

bool maxdb::options ( int $option , mixed $value )

maxdb_options() can be used to set extra connect options and affect behavior for a connection.

This function may be called multiple times to set several options.

maxdb_options() should be called after maxdb_init() and before maxdb_real_connect().

The parameter option is the option that you want to set, the value is the value for the option. For detailed description of the options see » http://maxdb.sap.com/documentation/ The parameter option can be one of the following values:

Valid options
Name | Description
MAXDB_COMPNAME | The component name used to initialise the SQLDBC runtime environment.
MAXDB_APPLICATION | The application to be connected to the database.
MAXDB_APPVERSION | The version of the application.
MAXDB_SQLMODE | The SQL mode.
MAXDB_UNICODE | TRUE, if the connection is an unicode (UCS2) client or FALSE, if not.
MAXDB_TIMEOUT | The maximum allowed time of inactivity after which the connection to the database is closed by the system.
MAXDB_ISOLATIONLEVEL | Specifies whether and how shared locks and exclusive locks are implicitly requested or released.
MAXDB_PACKETCOUNT | The number of different request packets used for the connection.
MAXDB_STATEMENTCACHESIZE | The number of prepared statements to be cached for the connection for re-use.
MAXDB_CURSORPREFIX | The prefix to use for result tables that are automatically named.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

See maxdb_real_connect().

Siehe auch

  • maxdb_init() - Initializes MaxDB and returns an resource for use with maxdb_real_connect
  • maxdb_real_connect() - Opens a connection to a MaxDB server

maxdb_num_rows
maxdb_param_count
MaxDB Funktionen


Alias von maxdb_stmt_param_count

maxdb_options
maxdb_ping
MaxDB Funktionen
PHP Manual

maxdb_param_count

(PECL maxdb 1.0)

maxdb_param_count — Alias von maxdb_stmt_param_count()

Beschreibung

Diese Funktion ist ein Alias für: maxdb_stmt_param_count().

Dieser Funktions-Alias ist veraltet und existiert nur noch aus Gründen der Rückwärtskompatibilität. Es wird nicht empfohlen, diese Funktion weiter zu nutzen, da sie eines Tages aus PHP entfernt werden kann.

maxdb_options
maxdb_ping
MaxDB Funktionen


Pings a server connection, or tries to reconnect if the connection has gone down

maxdb_param_count
maxdb_prepare
MaxDB Funktionen
PHP Manual

maxdb_ping

maxdb::ping

(PECL maxdb >= 1.0)

maxdb_ping -- maxdb::ping — Pings a server connection, or tries to reconnect if the connection has gone down

Beschreibung

Prozeduraler Stil

bool maxdb_ping ( resource $link )

Objektorientierter Stil

bool maxdb::ping ( void )

Checks whether the connection to the server is working. If it has gone down, and global option maxdb.reconnect is enabled an automatic reconnection is attempted.

This function can be used by clients that remain idle for a long while, to check whether the server has closed the connection and reconnect if necessary.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* check if server is alive */
if ($maxdb->ping()) {
   printf ("Our connection is ok!\n");
} else {
   printf ("Error: %s\n", $maxdb->error);
}

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* check if server is alive */
if (maxdb_ping($link)) {
   printf ("Our connection is ok!\n");
} else {
   printf ("Error: %s\n", maxdb_error($link));
}

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Our connection is ok!
maxdb_param_count
maxdb_prepare
MaxDB Funktionen


Prepare an SQL statement for execution

maxdb_ping
maxdb_query
MaxDB Funktionen
PHP Manual

maxdb_prepare

maxdb::prepare

(PECL maxdb >= 1.0)

maxdb_prepare -- maxdb::prepare — Prepare an SQL statement for execution

Beschreibung

Prozeduraler Stil

resource maxdb_prepare ( resource $link , string $query )

Objektorientierter Stil

maxdb_stmt maxdb::prepare ( string $query )

maxdb_prepare() prepares the SQL query pointed to by the null-terminated string query, and returns a statement handle to be used for further operations on the statement. The query must consist of a single SQL statement.

Hinweis:

You should not add a terminating semicolon or \g to the statement.

The parameter query can include one or more parameter markers in the SQL statement by embedding question mark (?) characters at the appropriate positions.

Hinweis:

The markers are legal only in certain places in SQL statements. For example, they are allowed in the VALUES() list of an INSERT statement (to specify column values for a row), or in a comparison with a column in a WHERE clause to specify a comparison value.

However, they are not allowed for identifiers (such as table or column names), in the select list that names the columns to be returned by a SELECT statement), or to specify both operands of a binary operator such as the = equal sign. The latter restriction is necessary because it would be impossible to determine the parameter type. In general, parameters are legal only in Data Manipulation Languange (DML) statements, and not in Data Defination Language (DDL) statements.

The parameter markers must be bound to application variables using maxdb_stmt_bind_param() and/or maxdb_stmt_bind_result() before executing the statement or fetching rows.

Rückgabewerte

maxdb_prepare() returns a statement resource or FALSE if an error occurred.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$city = "Rosemont";

/* create a prepared statement */
if ($stmt = $maxdb->prepare("SELECT state FROM hotel.city WHERE name=?")) {

   /* bind parameters for markers */
   $stmt->bind_param("s", $city);

   /* execute query */
   $stmt->execute();

   /* bind result variables */
   $stmt->bind_result($district);

   /* fetch value */
   $stmt->fetch();

   printf("%s is in district %s\n", $city, $district);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$city = "Rosemont";

/* create a prepared statement */
if ($stmt = maxdb_prepare($link, "SELECT state FROM hotel.city WHERE name=?")) {

   /* bind parameters for markers */
   maxdb_stmt_bind_param($stmt, "s", $city);

   /* execute query */
   maxdb_stmt_execute($stmt);

  /* bind result variables */
   maxdb_stmt_bind_result($stmt, $district);

   /* fetch value */
   maxdb_stmt_fetch($stmt);

   printf("%s is in district %s\n", $city, $district);

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Rosemont is in district IL

Siehe auch

  • maxdb_stmt_execute() - Executes a prepared Query
  • maxdb_stmt_fetch() - Fetch results from a prepared statement into the bound variables
  • maxdb_stmt_bind_param() - Binds variables to a prepared statement as parameters
  • maxdb_stmt_bind_result() - Binds variables to a prepared statement for result storage
  • maxdb_stmt_close() - Closes a prepared statement

maxdb_ping
maxdb_query
MaxDB Funktionen


Performs a query on the database

maxdb_prepare
maxdb_real_connect
MaxDB Funktionen
PHP Manual

maxdb_query

maxdb::query

(PECL maxdb >= 1.0)

maxdb_query -- maxdb::query — Performs a query on the database

Beschreibung

Prozeduraler Stil

mixed maxdb_query ( resource $link , string $query [, int $resultmode ] )

Objektorientierter Stil

mixed maxdb::query ( string $query )

The maxdb_query() function is used to simplify the act of performing a query against the database represented by the link parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. For SELECT, SHOW, DESCRIBE or EXPLAIN maxdb_query() will return a result resource.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Create table doesn't return a resultset */
if ($maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city") === TRUE) {
   printf("Table mycity successfully created.\n");
}

/* Select queries return a resultset */
if ($result = $maxdb->query("SELECT name FROM hotel.city")) {
   printf("Select returned %d rows.\n", $result->num_rows);

   /* free result set */
   $result->close();
}

/* If we have to retrieve large amount of data we use MAXDB_USE_RESULT */
if ($result = $maxdb->query("SELECT * FROM hotel.city", MAXDB_USE_RESULT)) {
   $result->close();
}

$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Create table doesn't return a resultset */
if (maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city") === TRUE) {
   printf("Table mycity successfully created.\n");
}

/* Select queries return a resultset */
if ($result = maxdb_query($link, "SELECT name FROM hotel.city")) {
   printf("Select returned %d rows.\n", maxdb_num_rows($result));

   /* free result set */
   maxdb_free_result($result);
}

/* If we have to retrieve large amount of data we use MAXDB_USE_RESULT */
if ($result = maxdb_query($link, "SELECT * FROM hotel.city", MAXDB_USE_RESULT)) {
   maxdb_free_result($result);
}

maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Table mycity successfully created.
Select returned 25 rows.

Siehe auch

  • maxdb_real_query() - Execute an SQL query
  • maxdb_multi_query() - Performs a query on the database
  • maxdb_free_result() - Frees the memory associated with a result

maxdb_prepare
maxdb_real_connect
MaxDB Funktionen


Opens a connection to a MaxDB server

maxdb_query
maxdb_real_escape_string
MaxDB Funktionen
PHP Manual

maxdb_real_connect

maxdb::real_connect

(PECL maxdb >= 1.0)

maxdb_real_connect -- maxdb::real_connect — Opens a connection to a MaxDB server

Beschreibung

Prozeduraler Stil

bool maxdb_real_connect ( resource $link [, string $hostname [, string $username [, string $passwd [, string $dbname [, int $port = 0 [, string $socket ]]]]]] )

Objektorientierter Stil

bool maxdb::real_connect ([ string $hostname [, string $username [, string $passwd [, string $dbname [, int $port = 0 [, string $socket ]]]]]] )

maxdb_real_connect() attempts to establish a connection to a MaxDB database engine running on hostname.

This function differs from maxdb_connect():

  • maxdb_real_connect() needs a valid resource which has to be created by function maxdb_init()

  • With function maxdb_options() you can set various options for connection.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php

/* create a connection object which is not connected */
$maxdb = maxdb_init();

/* set connection options */
$maxdb->options(MAXDB_UNICODE, "FALSE");
$maxdb->options(MAXDB_TIMEOUT, 5);

/* connect to server */
$maxdb->real_connect('localhost', 'MONA', 'RED', 'DEMODB');

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

printf ("Connection: %s\n.", $maxdb->host_info);

$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php

/* create a connection object which is not connected */
$link = maxdb_init();

/* set connection options */
maxdb_options($link, MAXDB_UNICODE, "FALSE");
maxdb_options($link, MAXDB_TIMEOUT, 5);

/* connect to server */
maxdb_real_connect($link, 'localhost', 'MONA', 'RED', 'DEMODB');

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

printf ("Connection: %s\n.", maxdb_get_host_info($link));

maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Connection: localhost <...>

Siehe auch

  • maxdb_connect() - Open a new connection to the MaxDB server
  • maxdb_init() - Initializes MaxDB and returns an resource for use with maxdb_real_connect
  • maxdb_options() - Set options
  • maxdb_ssl_set() - Used for establishing secure connections using SSL
  • maxdb_close() - Closes a previously opened database connection

maxdb_query
maxdb_real_escape_string
MaxDB Funktionen


Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection

maxdb_real_connect
maxdb_real_query
MaxDB Funktionen
PHP Manual

maxdb_real_escape_string

maxdb::real_escape_string

(PECL maxdb >= 1.0)

maxdb_real_escape_string -- maxdb::real_escape_string — Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection

Beschreibung

Prozeduraler Stil

string maxdb_real_escape_string ( resource $link , string $escapestr )

Objektorientierter Stil

string maxdb::real_escape_string ( string $escapestr )

This function is used to create a legal SQL string that you can use in an SQL statement. The string escapestr is encoded to an escaped SQL string, taking into account the current character set of the connection.

Characters encoded are ', ".

Rückgabewerte

Returns an escaped string.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");

$city = "'s Hertogenbosch";

/* this query will fail, cause we didn't escape $city */
if (!$maxdb->query("INSERT into temp.mycity VALUES ('11111','$city','NY')")) {
   printf("Error: %s\n", $maxdb->sqlstate);
}

$city = $maxdb->real_escape_string($city);

/* this query with escaped $city will work */
if ($maxdb->query("INSERT into temp.mycity VALUES ('22222','$city','NY')")) {
   printf("%d Row inserted.\n", $maxdb->affected_rows);
}

$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");

$city = "'s Hertogenbosch";

/* this query will fail, cause we didn't escape $city */
if (!maxdb_query($link, "INSERT into temp.mycity VALUES ('11111','$city','NY')")) {
   printf("Error: %s\n", maxdb_sqlstate($link));
}

$city = maxdb_real_escape_string($link, $city);

/* this query with escaped $city will work */
if (maxdb_query($link, "INSERT into temp.mycity VALUES ('22222','$city','NY')")) {
   printf("%d Row inserted.\n", maxdb_affected_rows($link));
}

maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Warning: maxdb_query(): -5016 POS(43) Missing delimiter: ) <...>
Error: 42000
1 Row inserted.

Siehe auch

  • maxdb_character_set_name() - Returns the default character set for the database connection

maxdb_real_connect
maxdb_real_query
MaxDB Funktionen


Execute an SQL query

maxdb_real_escape_string
maxdb_report
MaxDB Funktionen
PHP Manual

maxdb_real_query

maxdb::real_query

(PECL maxdb >= 1.0)

maxdb_real_query -- maxdb::real_query — Execute an SQL query

Beschreibung

Prozeduraler Stil

bool maxdb_real_query ( resource $link , string $query )

Objektorientierter Stil

bool maxdb::real_query ( string $query )

The maxdb_real_query() is functionally identical with the maxdb_query().

Hinweis:

In order to determine if a given query should return a result set or not, see maxdb_field_count().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • maxdb_query() - Performs a query on the database
  • maxdb_store_result() - Transfers a result set from the last query
  • maxdb_use_result() - Initiate a result set retrieval

maxdb_real_escape_string
maxdb_report
MaxDB Funktionen


Enables or disables internal report functions

maxdb_real_query
maxdb_rollback
MaxDB Funktionen
PHP Manual

maxdb_report

(PECL maxdb 1.0)

maxdb_report — Enables or disables internal report functions

Beschreibung

bool maxdb_report ( int $flags )

Parameter-Liste

flags

One of the MAXDB_REPORT_XXX constants.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Prozeduraler Stil

<?php
/* activate reporting */
maxdb_report(MAXDB_REPORT_ERROR);

$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* this query should report an error */
$result = maxdb_query($link,"SELECT Name FROM Nonexistingtable WHERE population > 50000");

maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Warning: maxdb_query(): -4004 POS(18) Unknown table name:NONEXISTINGTABLE <...>
maxdb_real_query
maxdb_rollback
MaxDB Funktionen


Rolls back current transaction

maxdb_report
maxdb_rpl_parse_enabled
MaxDB Funktionen
PHP Manual

maxdb_rollback

maxdb::rollback

(PECL maxdb >= 1.0)

maxdb_rollback -- maxdb::rollback — Rolls back current transaction

Beschreibung

Prozeduraler Stil

bool maxdb_rollback ( resource $link )

Objektorientierter Stil

bool maxdb::rollback ( void )

Rollbacks the current transaction for the database specified by the link parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* disable autocommit */
$maxdb->autocommit(FALSE);

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query("INSERT INTO temp.mycity SELECT * FROM hotel.city");

/* commit insert */
$maxdb->commit();

/* delete all rows */
$maxdb->query("DELETE FROM temp.mycity");

if ($result = $maxdb->query("SELECT COUNT(*) FROM temp.mycity")) {
   $row = $result->fetch_row();
   printf("%d rows in table mycity.\n", $row[0]);
   /* Free result */
   $result->close();
}

/* Rollback */
$maxdb->rollback();

if ($result = $maxdb->query("SELECT COUNT(*) FROM temp.mycity")) {
   $row = $result->fetch_row();
   printf("%d rows in table mycity (after rollback).\n", $row[0]);
   /* Free result */
   $result->close();
}

/* Drop table myCity */
$maxdb->query("DROP TABLE temp.mycity");

$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* disable autocommit */
maxdb_autocommit($link, FALSE);

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");
maxdb_query($link, "INSERT INTO temp.mycity SELECT * FROM hotel.city");

/* commit insert */
maxdb_commit($link);

/* delete all rows */
maxdb_query($link, "DELETE FROM temp.mycity");

if ($result = maxdb_query($link, "SELECT COUNT(*) FROM temp.mycity")) {
   $row = maxdb_fetch_row($result);
   printf("%d rows in table mycity.\n", $row[0]);
   /* Free result */
   maxdb_free_result($result);
}

/* Rollback */
maxdb_rollback($link);

if ($result = maxdb_query($link, "SELECT COUNT(*) FROM temp.mycity")) {
   $row = maxdb_fetch_row($result);
   printf("%d rows in table mycity (after rollback).\n", $row[0]);
   /* Free result */
   maxdb_free_result($result);
}

/* Drop table myCity */
maxdb_query($link, "DROP TABLE temp.mycity");

maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

0 rows in table mycity.
25 rows in table mycity (after rollback).

Siehe auch

  • maxdb_commit() - Commits the current transaction
  • maxdb_autocommit() - Turns on or off auto-commiting database modifications

maxdb_report
maxdb_rpl_parse_enabled
MaxDB Funktionen


Check if RPL parse is enabled

maxdb_rollback
maxdb_rpl_probe
MaxDB Funktionen
PHP Manual

maxdb_rpl_parse_enabled

(PECL maxdb >= 1.0)

maxdb_rpl_parse_enabled — Check if RPL parse is enabled

Beschreibung

int maxdb_rpl_parse_enabled ( resource $link )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

maxdb_rollback
maxdb_rpl_probe
MaxDB Funktionen


RPL probe

maxdb_rpl_parse_enabled
maxdb_rpl_query_type
MaxDB Funktionen
PHP Manual

maxdb_rpl_probe

(PECL maxdb >= 1.0)

maxdb_rpl_probe — RPL probe

Beschreibung

bool maxdb_rpl_probe ( resource $link )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

maxdb_rpl_parse_enabled
maxdb_rpl_query_type
MaxDB Funktionen


Returns RPL query type

maxdb_rpl_probe
maxdb_select_db
MaxDB Funktionen
PHP Manual

maxdb_rpl_query_type

maxdb::rpl_query_type

(PECL maxdb >= 1.0)

maxdb_rpl_query_type -- maxdb::rpl_query_type — Returns RPL query type

Beschreibung

Prozeduraler Stil

int maxdb_rpl_query_type ( resource $link )

Objektorientierter Stil

int maxdb::rpl_query_type ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

maxdb_rpl_probe
maxdb_select_db
MaxDB Funktionen


Selects the default database for database queries

maxdb_rpl_query_type
maxdb_send_long_data
MaxDB Funktionen
PHP Manual

maxdb_select_db

maxdb::select_db

(PECL maxdb >= 1.0)

maxdb_select_db -- maxdb::select_db — Selects the default database for database queries

Beschreibung

bool maxdb_select_db ( resource $link , string $dbname )

The maxdb_select_db() function selects the default database (specified by the dbname parameter) to be used when performing queries against the database connection represented by the link parameter.

Hinweis:

This function should only be used to change the default database for the connection. You can select the default database with 4th parameter in maxdb_connect().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* return name of current default database */
if ($result = $maxdb->query("SELECT SERVERDB FROM USERS WHERE USERNAME='MONA'")) {
   $row = $result->fetch_row();
   printf("Default database is %s.\n", $row[0]);
   $result->close();
}

/* change db to non existing db */
$maxdb->select_db("XXXXXXXX");

/* return name of current default database */
if ($result = $maxdb->query("SELECT SERVERDB FROM USERS WHERE USERNAME='MONA'")) {
   $row = $result->fetch_row();
   printf("Default database is %s.\n", $row[0]);
   $result->close();
}

$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* return name of current default database */
if ($result = maxdb_query($link, "SELECT SERVERDB FROM USERS WHERE USERNAME='MONA'")) {
   $row = maxdb_fetch_row($result);
   printf("Default database is %s.\n", $row[0]);
   maxdb_free_result($result);
}

/* change db to non existing db */
maxdb_select_db($link, "XXXXXXXX");

/* return name of current default database */
if ($result = maxdb_query($link, "SELECT SERVERDB FROM USERS WHERE USERNAME='MONA'")) {
   $row = maxdb_fetch_row($result);
   printf("Default database is %s.\n", $row[0]);
   maxdb_free_result($result);
}

maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Default database is <...>.

Warning: maxdb_select_db(): -10709 Connection failed (RTE:database not running) <...>

Warning: maxdb_query(): -10821 Session not connected [] <...>

Warning: maxdb_close(): -10821 Session not connected [] <...>

Siehe auch

  • maxdb_connect() - Open a new connection to the MaxDB server
  • maxdb_real_connect() - Opens a connection to a MaxDB server

maxdb_rpl_query_type
maxdb_send_long_data
MaxDB Funktionen


Alias von maxdb_stmt_send_long_data

maxdb_select_db
maxdb_send_query
MaxDB Funktionen
PHP Manual

maxdb_send_long_data

(PECL maxdb >= 1.0)

maxdb_send_long_data — Alias von maxdb_stmt_send_long_data()

Beschreibung

Diese Funktion ist ein Alias für: maxdb_stmt_send_long_data().

Dieser Funktions-Alias ist veraltet und existiert nur noch aus Gründen der Rückwärtskompatibilität. Es wird nicht empfohlen, diese Funktion weiter zu nutzen, da sie eines Tages aus PHP entfernt werden kann.

maxdb_select_db
maxdb_send_query
MaxDB Funktionen


Send the query and return

maxdb_send_long_data
maxdb_server_end
MaxDB Funktionen
PHP Manual

maxdb_send_query

maxdb::send_query

(PECL maxdb >= 1.0)

maxdb_send_query -- maxdb::send_query — Send the query and return

Beschreibung

Prozeduraler Stil

bool maxdb_send_query ( resource $link , string $query )

Objektorientierter Stil

bool maxdb::send_query ( string $query )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

maxdb_send_long_data
maxdb_server_end
MaxDB Funktionen


Shut down the embedded server

maxdb_send_query
maxdb_server_init
MaxDB Funktionen
PHP Manual

maxdb_server_end

(PECL maxdb >= 1.0)

maxdb_server_end — Shut down the embedded server

Beschreibung

void maxdb_server_end ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

maxdb_send_query
maxdb_server_init
MaxDB Funktionen


Initialize embedded server

maxdb_server_end
maxdb_set_opt
MaxDB Funktionen
PHP Manual

maxdb_server_init

(PECL maxdb >= 1.0)

maxdb_server_init — Initialize embedded server

Beschreibung

bool maxdb_server_init ([ array $server [, array $groups ]] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

maxdb_server_end
maxdb_set_opt
MaxDB Funktionen


Alias von maxdb_options

maxdb_server_init
maxdb_sqlstate
MaxDB Funktionen
PHP Manual

maxdb_set_opt

(PECL maxdb 1.0)

maxdb_set_opt — Alias von maxdb_options()

Beschreibung

Diese Funktion ist ein Alias für: maxdb_options().

maxdb_server_init
maxdb_sqlstate
MaxDB Funktionen


Returns the SQLSTATE error from previous MaxDB operation

maxdb_set_opt
maxdb_ssl_set
MaxDB Funktionen
PHP Manual

maxdb_sqlstate

maxdb::sqlstate

(PECL maxdb >= 1.0)

maxdb_sqlstate -- maxdb::sqlstate — Returns the SQLSTATE error from previous MaxDB operation

Beschreibung

Prozeduraler Stil

string maxdb_sqlstate ( resource $link )

Objektorientierter Stil

string $maxdb->sqlstate;

Returns a string containing the SQLSTATE error code for the last error. The error code consists of five characters. '00000' means no error. The values are specified by ANSI SQL and ODBC.

Hinweis:

Note that not all MaxDB errors are yet mapped to SQLSTATE's. The value HY000 (general error) is used for unmapped errors.

Rückgabewerte

Returns a string containing the SQLSTATE error code for the last error. The error code consists of five characters. '00000' means no error.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Table City already exists, so we should get an error */
if (!$maxdb->query("CREATE TABLE hotel.city (ID INT, Name VARCHAR(30))")) {
   printf("Error - SQLSTATE %s.\n", $maxdb->sqlstate);
}

$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Table City already exists, so we should get an error */
if (!maxdb_query($link, "CREATE TABLE hotel.city (ID INT, Name VARCHAR(30))")) {
   printf("Error - SQLSTATE %s.\n", maxdb_sqlstate($link));
}

maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Warning: maxdb_query(): -6000 POS(20) Duplicate table name:CITY [I6000] <...>
Error - SQLSTATE I6000.

Siehe auch

  • maxdb_errno() - Returns the error code for the most recent function call
  • maxdb_error() - Returns a string description of the last error

maxdb_set_opt
maxdb_ssl_set
MaxDB Funktionen


Used for establishing secure connections using SSL

maxdb_sqlstate
maxdb_stat
MaxDB Funktionen
PHP Manual

maxdb_ssl_set

maxdb::ssl_set

(PECL maxdb >= 1.0)

maxdb_ssl_set -- maxdb::ssl_set — Used for establishing secure connections using SSL

Beschreibung

Prozeduraler Stil

bool maxdb_ssl_set ( resource $link , string $key , string $cert , string $ca , string $capath , string $cipher )

Objektorientierter Stil

bool maxdb::ssl_set ( string $key , string $cert , string $ca , string $capath , string $cipher )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

maxdb_sqlstate
maxdb_stat
MaxDB Funktionen


Gets the current system status

maxdb_ssl_set
maxdb_stmt_affected_rows
MaxDB Funktionen
PHP Manual

maxdb_stat

maxdb::stat

(PECL maxdb >= 1.0)

maxdb_stat -- maxdb::stat — Gets the current system status

Beschreibung

Prozeduraler Stil

string maxdb_stat ( resource $link )

Objektorientierter Stil

string maxdb::stat ( void )

maxdb_stat() returns a string containing several information about the MaxDB server running.

Rückgabewerte

A string describing the server status. FALSE if an error occurred.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

printf ("System status: %s\n", $maxdb->stat());

$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

printf("System status: %s\n", maxdb_stat($link));

maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

System status: Kernel    7<...>

Siehe auch

  • maxdb_get_server_info() - Returns the version of the MaxDB server

maxdb_ssl_set
maxdb_stmt_affected_rows
MaxDB Funktionen


Returns the total number of rows changed, deleted, or inserted by the last executed statement

maxdb_stat
maxdb_stmt_bind_param
MaxDB Funktionen
PHP Manual

maxdb_stmt_affected_rows

maxdb_stmt::affected_rows

(PECL maxdb >= 1.0)

maxdb_stmt_affected_rows -- maxdb_stmt::affected_rows — Returns the total number of rows changed, deleted, or inserted by the last executed statement

Beschreibung

Prozeduraler Stil

int maxdb_stmt_affected_rows ( resource $stmt )

Objektorientierter Stil

int $maxdb_stmt->affected_rows;

maxdb_stmt_affected_rows() returns the number of rows affected by INSERT, UPDATE, or DELETE query. If the last query was invalid or the number of rows can not determined, this function will return -1.

Rückgabewerte

An integer greater than zero indicates the number of rows affected or retrieved. Zero indicates that no records where updated for an UPDATE/DELETE statement, no rows matched the WHERE clause in the query or that no query has yet been executed. -1 indicates that the query has returned an error or the number of rows can not determined.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* create temp table */
$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");

$query = "INSERT INTO temp.mycity SELECT * FROM hotel.city WHERE state LIKE ?";

/* prepare statement */
if ($stmt = $maxdb->prepare($query)) {

   /* Bind variable for placeholder */
   $code = 'N%';
   $stmt->bind_param("s", $code);

   /* execute statement */
   $stmt->execute();

   printf("rows inserted: %d\n", $stmt->affected_rows);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* create temp table */
maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");

$query = "INSERT INTO temp.mycity SELECT * FROM hotel.city WHERE state LIKE ?";

/* prepare statement */
if ($stmt = maxdb_prepare($link, $query)) {

   /* Bind variable for placeholder */
   $code = 'N%';
   maxdb_stmt_bind_param($stmt, "s", $code);

   /* execute statement */
   maxdb_stmt_execute($stmt);

   printf("rows inserted: %d\n", maxdb_stmt_affected_rows($stmt));

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

rows inserted: 4

Siehe auch

  • maxdb_stmt_num_rows() - Return the number of rows in statements result set
  • maxdb_prepare() - Prepare an SQL statement for execution

maxdb_stat
maxdb_stmt_bind_param
MaxDB Funktionen


Binds variables to a prepared statement as parameters

maxdb_stmt_affected_rows
maxdb_stmt_bind_result
MaxDB Funktionen
PHP Manual

maxdb_stmt_bind_param

maxdb_stmt::bind_param

(PECL maxdb >= 1.0)

maxdb_stmt_bind_param -- maxdb_stmt::bind_param — Binds variables to a prepared statement as parameters

Beschreibung

Prozeduraler Stil

bool maxdb_stmt_bind_param ( resource $stmt , string $types , mixed &$var1 [, mixed &$... ] )

Objektorientierter Stil

bool maxdb_stmt::bind_param ( string $types , mixed &$var1 [, mixed &$... ] )

Prozeduraler Stil (extended syntax):

bool maxdb_stmt_bind_param ( resource $stmt , string $types , array &$var )

Objektorientierter Stil (extended syntax):

bool maxdb_stmt::bind_param ( string $types , array &$var )

maxdb_stmt_bind_param() is used to bind variables for the parameter markers in the SQL statement that was passed to maxdb_prepare(). The string types contains one or more characters which specify the types for the corresponding bind variables.

The extended syntax of maxdb_stmt_bind_param() allows to give the parameters as an array instead of a variable list of PHP variables to the function. If the array variable has not been used before calling maxdb_stmt_bind_param(), it has to be initialized as an emtpy array. See the examples how to use maxdb_stmt_bind_param() with extended syntax.

Variables for SELECT INTO SQL statements can also be bound using maxdb_stmt_bind_param(). Parameters for database procedures can be bound using maxdb_stmt_bind_param(). See the examples how to use maxdb_stmt_bind_param() in this cases.

If a variable bound as INTO variable to an SQL statement was used before, the content of this variable is overwritten by the data of the SELECT INTO statement. A reference to this variable will be invalid after a call to maxdb_stmt_bind_param().

For INOUT parameters of database procedures the content of the bound INOUT variable is overwritten by the output value of the database procedure. A reference to this variable will be invalid after a call to maxdb_stmt_bind_param().

Type specification chars
Character | Description
i | corresponding variable has type integer
d | corresponding variable has type double
s | corresponding variable has type string
b | corresponding variable is a blob and will be sent in packages

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb('localhost', 'MONA', 'RED', 'DEMODB');

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query ("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query ("INSERT INTO temp.mycity SELECT * FROM hotel.city");

$stmt = $maxdb->prepare("INSERT INTO temp.mycity VALUES (?, ?, ?)");
$stmt->bind_param('sss', $zip, $name, $state);

$zip = '11111';
$name = 'Georgetown';
$state = 'NY';

/* execute prepared statement */
$stmt->execute();

printf("%d Row inserted.\n", $stmt->affected_rows);

/* close statement and connection */
$stmt->close();

/* Clean up table CountryLanguage */
$maxdb->query("DELETE FROM temp.mycity WHERE name='Georgetown'");
printf("%d Row deleted.\n", $maxdb->affected_rows);

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query ($link, "CREATE TABLE temp.mycity LIKE hotel.city");
maxdb_query ($link, "INSERT INTO temp.mycity SELECT * FROM hotel.city");

$stmt = maxdb_prepare($link, "INSERT INTO temp.mycity VALUES (?, ?, ?)");
maxdb_stmt_bind_param($stmt, 'sss', $zip, $name, $state);

$zip = '11111';
$name = 'Georgetown';
$state = 'NY';

/* execute prepared statement */
maxdb_stmt_execute($stmt);

printf("%d Row inserted.\n", maxdb_stmt_affected_rows($stmt));

/* close statement and connection */
maxdb_stmt_close($stmt);

/* Clean up table CountryLanguage */
maxdb_query($link, "DELETE FROM temp.mycity WHERE name='Georgetown'");
printf("%d Row deleted.\n", maxdb_affected_rows($link));

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

1 Row inserted.
1 Row deleted.

Beispiel #3 Prozeduraler Stil (SELECT INTO)

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Performing SQL query */
$stmt = maxdb_prepare ($link, "SELECT price INTO ? FROM hotel.room where hno = ? and type = ?");
if (!$stmt) {
  printf ("Prepare failed: %s\n", maxdb_error($link));
}

$hno = "50";
$rtype = "suite";

maxdb_stmt_bind_param($stmt, 'dss', $price, $hno, $rtype);
maxdb_stmt_execute($stmt);

printf ("%f\n", $price);

maxdb_stmt_close ($stmt);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

21.600000

Beispiel #4 Prozeduraler Stil (DB procedure)

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($link,"DROP DBPROC test_proc");
maxdb_report (MAXDB_REPORT_ERROR);

$query = "create dbproc test_proc (INOUT e_text char(72)) AS select * from SYSDBA.DUAL; fetch into :e_text;";

maxdb_query($link, $query);

/* Performing SQL query */
$stmt = maxdb_prepare ($link, "CALL test_proc (?)");
if (!$stmt) {
  printf ("Prepare failed: %s\n", maxdb_error($link));
}

maxdb_stmt_bind_param($stmt, 's', $result);
maxdb_stmt_execute($stmt);

printf ("%s\n", $result);

maxdb_stmt_close ($stmt);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

a

Beispiel #5 Objektorientierter Stil (extended syntax)

<?php
$maxdb = new maxdb('localhost', 'MONA', 'RED', 'DEMODB');

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query ("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query ("INSERT INTO temp.mycity SELECT * FROM hotel.city");

$stmt = $maxdb->prepare("INSERT INTO temp.mycity VALUES (?, ?, ?)");

$arr = array();

$stmt->bind_param('iss', $arr);

$arr[0] = 11111;
$arr[1] = 'Georgetown';
$arr[2] = 'NY';

/* execute prepared statement */
$stmt->execute();

printf("%d Row inserted.\n", maxdb_stmt_affected_rows($stmt));

$arr[0] = 22222;
$arr[1] = 'New Orleans';
$arr[2] = 'LA';

/* execute prepared statement */
$stmt->execute();

printf("%d Row inserted.\n", $stmt->affected_rows);

/* close statement and connection */
$stmt->close();

$result = $maxdb->query("SELECT * from temp.mycity WHERE zip = '11111' OR zip = '22222'");
if ($result) {
  while ($row = $result->fetch_row()) {
    printf ("%s %s %s\n", $row[0], $row[1], $row[2]);
  }
}

/* Clean up table CountryLanguage */
$maxdb->query("DELETE FROM temp.mycity WHERE name='Georgetown'");
$maxdb->query("DELETE FROM temp.mycity WHERE name='New Orleans'");
printf("%d Rows deleted.\n", $maxdb->affected_rows);

/* close connection */
$maxdb->close();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

1 Row inserted.
1 Row inserted.
11111 Georgetown NY
22222 New Orleans LA
2 Rows deleted.

Siehe auch

  • maxdb_stmt_bind_result() - Binds variables to a prepared statement for result storage
  • maxdb_stmt_execute() - Executes a prepared Query
  • maxdb_stmt_fetch() - Fetch results from a prepared statement into the bound variables
  • maxdb_prepare() - Prepare an SQL statement for execution
  • maxdb_stmt_send_long_data() - Send data in blocks
  • maxdb_stmt_errno() - Returns the error code for the most recent statement call
  • maxdb_stmt_error() - Returns a string description for last statement error

maxdb_stmt_affected_rows
maxdb_stmt_bind_result
MaxDB Funktionen


Binds variables to a prepared statement for result storage

maxdb_stmt_bind_param
maxdb_stmt_close_long_data
MaxDB Funktionen
PHP Manual

maxdb_stmt_bind_result

maxdb_stmt::bind_result

(PECL maxdb >= 1.0)

maxdb_stmt_bind_result -- maxdb_stmt::bind_result — Binds variables to a prepared statement for result storage

Beschreibung

Prozeduraler Stil

bool maxdb_stmt_bind_result ( resource $stmt , mixed &$var1 [, mixed &$... ] )

Objektorientierter Stil

bool maxdb_stmt::bind_result ( mixed &$var1 [, mixed &$... ] )

maxdb_stmt_bind_result() is used to associate (bind) columns in the result set to variables. When maxdb_stmt_fetch() is called to fetch data, the MaxDB client/server protocol places the data for the bound columns into the specified variables var1, ....

Hinweis:

Note that all columns must be bound prior to calling maxdb_stmt_fetch(). Depending on column types bound variables can silently change to the corresponding PHP type.

A column can be bound or rebound at any time, even after a result set has been partially retrieved. The new binding takes effect the next time maxdb_stmt_fetch() is called.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* prepare statement */
if ($stmt = $maxdb->prepare("SELECT zip, name FROM hotel.city ORDER BY name")) {
   $stmt->execute();

   /* bind variables to prepared statement */
   $stmt->bind_result($col1, $col2);

   /* fetch values */
   while ($stmt->fetch()) {
       printf("%s %s\n", $col1, $col2);
   }

   /* close statement */
   $stmt->close();
}
/* close connection */
$maxdb->close();

?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* prepare statement */
if ($stmt = maxdb_prepare($link, "SELECT zip, name FROM hotel.city ORDER BY name")) {
   maxdb_stmt_execute($stmt);

   /* bind variables to prepared statement */
   maxdb_stmt_bind_result($stmt, $col1, $col2);

   /* fetch values */
   while (maxdb_stmt_fetch($stmt)) {
       printf("%s %s\n", $col1, $col2);
   }

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

12203 Albany
60601 Chicago
60615 Chicago
45211 Cincinnati
33575 Clearwater
75243 Dallas
32018 Daytona Beach
33441 Deerfield Beach
48226 Detroit
90029 Hollywood
92714 Irvine
90804 Long Beach
11788 Long Island
90018 Los Angeles
70112 New Orleans
10019 New York
10580 New York
92262 Palm Springs
97213 Portland
60018 Rosemont
95054 Santa Clara
20903 Silver Spring
20005 Washington
20019 Washington
20037 Washington

Siehe auch

  • maxdb_stmt_bind_param() - Binds variables to a prepared statement as parameters
  • maxdb_stmt_execute() - Executes a prepared Query
  • maxdb_stmt_fetch() - Fetch results from a prepared statement into the bound variables
  • maxdb_prepare() - Prepare an SQL statement for execution
  • maxdb_stmt_prepare() - Prepare an SQL statement for execution
  • maxdb_stmt_init() - Initializes a statement and returns an resource for use with maxdb_stmt_prepare
  • maxdb_stmt_errno() - Returns the error code for the most recent statement call
  • maxdb_stmt_error() - Returns a string description for last statement error

maxdb_stmt_bind_param
maxdb_stmt_close_long_data
MaxDB Funktionen


Ends a sequence of maxdb_stmt_send_long_data

maxdb_stmt_bind_result
maxdb_stmt_close
MaxDB Funktionen
PHP Manual

maxdb_stmt_close_long_data

maxdb_stmt::close_long_data

(PECL maxdb 1.0)

maxdb_stmt_close_long_data -- maxdb_stmt::close_long_data — Ends a sequence of maxdb_stmt_send_long_data()

Beschreibung

Prozeduraler Stil

bool maxdb_stmt_close_long_data ( resource $stmt , int $param_nr )

Objektorientierter Stil

bool maxdb_stmt::close_long_data ( void )

This function has to be called after a sequence of maxdb_stmt_send_long_data(), that was started after maxdb_execute().

param_nr indicates which parameter to associate the end of data with. Parameters are numbered beginning with 0.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • maxdb_prepare() - Prepare an SQL statement for execution
  • maxdb_stmt_bind_param() - Binds variables to a prepared statement as parameters

maxdb_stmt_bind_result
maxdb_stmt_close
MaxDB Funktionen


Closes a prepared statement

maxdb_stmt_close_long_data
maxdb_stmt_data_seek
MaxDB Funktionen
PHP Manual

maxdb_stmt_close

maxdb_stmt::close

(PECL maxdb >= 1.0)

maxdb_stmt_close -- maxdb_stmt::close — Closes a prepared statement

Beschreibung

Prozeduraler Stil

bool maxdb_stmt_close ( resource $stmt )

Objektorientierter Stil

bool maxdb_stmt::close ( void )

Closes a prepared statement. maxdb_stmt_close() also deallocates the statement handle pointed to by stmt. If the current statement has pending or unread results, this function cancels them so that the next query can be executed.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • maxdb_prepare() - Prepare an SQL statement for execution

maxdb_stmt_close_long_data
maxdb_stmt_data_seek
MaxDB Funktionen


Seeks to an arbitray row in statement result set

maxdb_stmt_close
maxdb_stmt_errno
MaxDB Funktionen
PHP Manual

maxdb_stmt_data_seek

maxdb_stmt::data_seek

(PECL maxdb >= 1.0)

maxdb_stmt_data_seek -- maxdb_stmt::data_seek — Seeks to an arbitray row in statement result set

Beschreibung

Prozeduraler Stil

bool maxdb_stmt_data_seek ( resource $statement , int $offset )

Objektorientierter Stil

bool maxdb_stmt::data_seek ( int $offset )

The maxdb_stmt_data_seek() function seeks to an arbitrary result pointer specified by the offset in the statement result set represented by statement. The offset parameter must be between zero and the total number of rows minus one (0..maxdb_stmt_num_rows() - 1).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, zip FROM hotel.city ORDER BY name";
if ($stmt = $maxdb->prepare($query)) {

   /* execute query */
   $stmt->execute();

   /* bind result variables */
   $stmt->bind_result($name, $code);

   /* store result */
   $stmt->store_result();

   /* seek to row no. 5 */
   $stmt->data_seek(5);

   /* fetch values */
   $stmt->fetch();

   printf ("City: %s  Zip: %s\n", $name, $code);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
/* Open a connection */
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, zip FROM hotel.city ORDER BY name";
if ($stmt = maxdb_prepare($link, $query)) {

   /* execute query */
   maxdb_stmt_execute($stmt);

   /* bind result variables */
   maxdb_stmt_bind_result($stmt, $name, $code);

   /* store result */
   maxdb_stmt_store_result($stmt);

   /* seek to row no. 5 */
   maxdb_stmt_data_seek($stmt, 5);

   /* fetch values */
   maxdb_stmt_fetch($stmt);

   printf ("City: %s  Zip: %s\n", $name, $code);

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

City: Dallas  Zip: 75243

Siehe auch

  • maxdb_prepare() - Prepare an SQL statement for execution

maxdb_stmt_close
maxdb_stmt_errno
MaxDB Funktionen


Returns the error code for the most recent statement call

maxdb_stmt_data_seek
maxdb_stmt_error
MaxDB Funktionen
PHP Manual

maxdb_stmt_errno

maxdb_stmt::errno

(PECL maxdb >= 1.0)

maxdb_stmt_errno -- maxdb_stmt::errno — Returns the error code for the most recent statement call

Beschreibung

Prozeduraler Stil

int maxdb_stmt_errno ( resource $stmt )

Objektorientierter Stil

int $maxdb_stmt->errno;

For the statement specified by stmt, maxdb_stmt_errno() returns the error code for the most recently invoked statement function that can succeed or fail.

Hinweis:

For possible error codes see documentation of SQLDBC: » http://maxdb.sap.com/documentation/.

Rückgabewerte

An error code value. Zero means no error occurred.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query("INSERT INTO temp.mycity SELECT * FROM hotel.city");

$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = $maxdb->prepare($query)) {

   /* drop table */
   $maxdb->query("DROP TABLE temp.mycity");

   /* execute query */
   $stmt->execute();

   printf("Error: %d.\n", $stmt->errno);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
/* Open a connection */
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");
maxdb_query($link, "INSERT INTO temp.mycity SELECT * FROM hotel.city");

$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = maxdb_prepare($link, $query)) {

   /* drop table */
   maxdb_query($link, "DROP TABLE temp.mycity");

   /* execute query */
   maxdb_stmt_execute($stmt);

   printf("Error: %d.\n", maxdb_stmt_errno($stmt));

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Warning: maxdb_stmt_execute(): -4004 POS(23) Unknown table name:MYCITY [42000] <...>
Error: -4004.

Siehe auch

  • maxdb_stmt_error() - Returns a string description for last statement error
  • maxdb_stmt_sqlstate() - Returns SQLSTATE error from previous statement operation

maxdb_stmt_data_seek
maxdb_stmt_error
MaxDB Funktionen


Returns a string description for last statement error

maxdb_stmt_errno
maxdb_stmt_execute
MaxDB Funktionen
PHP Manual

maxdb_stmt_error

maxdb_stmt::error

(PECL maxdb >= 1.0)

maxdb_stmt_error -- maxdb_stmt::error — Returns a string description for last statement error

Beschreibung

Prozeduraler Stil

string maxdb_stmt_error ( resource $stmt )

Objektorientierter Stil

string $maxdb_stmt->error;

For the statement specified by stmt, maxdb_stmt_error() returns a containing the error message for the most recently invoked statement function that can succeed or fail.

Rückgabewerte

A string that describes the error. An empty string if no error occurred.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query("INSERT INTO temp.mycity SELECT * FROM hotel.city");

$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = $maxdb->prepare($query)) {

   /* drop table */
   $maxdb->query("DROP TABLE temp.mycity");

   /* execute query */
   $stmt->execute();

   printf("Error: %s.\n", $stmt->error);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
/* Open a connection */
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");
maxdb_query($link, "INSERT INTO temp.mycity SELECT * FROM hotel.city");

$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = maxdb_prepare($link, $query)) {

   /* drop table */
   maxdb_query($link, "DROP TABLE temp.mycity");

   /* execute query */
   maxdb_stmt_execute($stmt);

   printf("Error: %s.\n", maxdb_stmt_error($stmt));

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Warning: maxdb_stmt_execute(): -4004 POS(23) Unknown table name:MYCITY [42000] <...>
Error: POS(23) Unknown table name:MYCITY.

Siehe auch

  • maxdb_stmt_errno() - Returns the error code for the most recent statement call
  • maxdb_stmt_sqlstate() - Returns SQLSTATE error from previous statement operation

maxdb_stmt_errno
maxdb_stmt_execute
MaxDB Funktionen


Executes a prepared Query

maxdb_stmt_error
maxdb_stmt_fetch
MaxDB Funktionen
PHP Manual

maxdb_stmt_execute

maxdb_stmt::execute

(PECL maxdb >= 1.0)

maxdb_stmt_execute -- maxdb_stmt::execute — Executes a prepared Query

Beschreibung

Prozeduraler Stil

bool maxdb_stmt_execute ( resource $stmt )

Objektorientierter Stil

bool maxdb_stmt::execute ( void )

The maxdb_stmt_execute() function executes a query that has been previously prepared using the maxdb_prepare() function represented by the stmt resource. When executed any parameter markers which exist will automatically be replaced with the appropiate data.

If the statement is UPDATE, DELETE, or INSERT, the total number of affected rows can be determined by using the maxdb_stmt_affected_rows() function. Likewise, if the query yields a result set the maxdb_fetch() function is used.

Hinweis:

When using maxdb_stmt_execute(), the maxdb_fetch() function must be used to fetch the data prior to preforming any additional queries.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");

/* Prepare an insert statement */
$query = "INSERT INTO temp.mycity (zip, name, state) VALUES (?,?,?)";
$stmt = $maxdb->prepare($query);

$stmt->bind_param("sss", $val1, $val2, $val3);

$val1 = '11111';
$val2 = 'Georgetown';
$val3 = 'NY';

/* Execute the statement */
$stmt->execute();

$val1 = '22222';
$val2 = 'Hubbatown';
$val3 = 'CA';

/* Execute the statement */
$stmt->execute();

/* close statement */
$stmt->close();

/* retrieve all rows from myCity */
$query = "SELECT zip, name, state FROM temp.mycity";
if ($result = $maxdb->query($query)) {
   while ($row = $result->fetch_row()) {
       printf("%s (%s,%s)\n", $row[0], $row[1], $row[2]);
   }
   /* free result set */
   $result->close();
}

/* remove table */
$maxdb->query("DROP TABLE temp.mycity");

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");

/* Prepare an insert statement */
$query = "INSERT INTO temp.mycity (zip, name, state) VALUES (?,?,?)";
$stmt = maxdb_prepare($link, $query);

maxdb_stmt_bind_param($stmt, "sss", $val1, $val2, $val3);

$val1 = '11111';
$val2 = 'Georgetown';
$val3 = 'NY';

/* Execute the statement */
maxdb_stmt_execute($stmt);

$val1 = '22222';
$val2 = 'Hubbatown';
$val3 = 'CA';

/* Execute the statement */
maxdb_stmt_execute($stmt);

/* close statement */
maxdb_stmt_close($stmt);

/* retrieve all rows from myCity */
$query = "SELECT zip, name, state FROM temp.mycity";
if ($result = maxdb_query($link, $query)) {
   while ($row = maxdb_fetch_row($result)) {
       printf("%s (%s,%s)\n", $row[0], $row[1], $row[2]);
   }
   /* free result set */
   maxdb_free_result($result);
}

/* remove table */
maxdb_query($link, "DROP TABLE temp.mycity");

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

11111 (Georgetown,NY)
22222 (Hubbatown,CA)

Siehe auch

  • maxdb_prepare() - Prepare an SQL statement for execution
  • maxdb_stmt_bind_param() - Binds variables to a prepared statement as parameters

maxdb_stmt_error
maxdb_stmt_fetch
MaxDB Funktionen


Fetch results from a prepared statement into the bound variables

maxdb_stmt_execute
maxdb_stmt_free_result
MaxDB Funktionen
PHP Manual

maxdb_stmt_fetch

maxdb_stmt::fetch

(PECL maxdb >= 1.0)

maxdb_stmt_fetch -- maxdb_stmt::fetch — Fetch results from a prepared statement into the bound variables

Beschreibung

Prozeduraler Stil

bool maxdb_stmt_fetch ( resource $stmt )

Objektorientierter Stil

bool maxdb_stmt::fetch ( void )

maxdb_stmt_fetch() returns row data using the variables bound by maxdb_stmt_bind_result().

Hinweis:

Note that all columns must be bound by the application before calling maxdb_stmt_fetch().

Rückgabewerte

Return values
Value | Description
TRUE | Success. Data has been fetched
FALSE | Error occurred
NULL | No more rows/data exists

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT zip, name FROM hotel.city ORDER by name";

if ($stmt = $maxdb->prepare($query)) {

   /* execute statement */
   $stmt->execute();

   /* bind result variables */
   $stmt->bind_result($name, $code);

   /* fetch values */
   while ($stmt->fetch()) {
       printf ("%s (%s)\n", $name, $code);
   }

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT zip, name FROM hotel.city ORDER by name";

if ($stmt = maxdb_prepare($link, $query)) {

   /* execute statement */
   maxdb_stmt_execute($stmt);

   /* bind result variables */
   maxdb_stmt_bind_result($stmt, $name, $code);

   /* fetch values */
   while (maxdb_stmt_fetch($stmt)) {
       printf ("%s (%s)\n", $name, $code);
   }

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

12203 (Albany)
60601 (Chicago)
60615 (Chicago)
45211 (Cincinnati)
33575 (Clearwater)
75243 (Dallas)
32018 (Daytona Beach)
33441 (Deerfield Beach)
48226 (Detroit)
90029 (Hollywood)
92714 (Irvine)
90804 (Long Beach)
11788 (Long Island)
90018 (Los Angeles)
70112 (New Orleans)
10019 (New York)
10580 (New York)
92262 (Palm Springs)
97213 (Portland)
60018 (Rosemont)
95054 (Santa Clara)
20903 (Silver Spring)
20005 (Washington)
20019 (Washington)
20037 (Washington)

Siehe auch

  • maxdb_prepare() - Prepare an SQL statement for execution
  • maxdb_stmt_errno() - Returns the error code for the most recent statement call
  • maxdb_stmt_error() - Returns a string description for last statement error
  • maxdb_stmt_bind_result() - Binds variables to a prepared statement for result storage

maxdb_stmt_execute
maxdb_stmt_free_result
MaxDB Funktionen


Frees stored result memory for the given statement handle

maxdb_stmt_fetch
maxdb_stmt_init
MaxDB Funktionen
PHP Manual

maxdb_stmt_free_result

maxdb_stmt::free_result

(PECL maxdb >= 1.0)

maxdb_stmt_free_result -- maxdb_stmt::free_result — Frees stored result memory for the given statement handle

Beschreibung

Prozeduraler Stil

void maxdb_stmt_free_result ( resource $stmt )

Objektorientierter Stil

void maxdb_stmt::free_result ( void )

The maxdb_stmt_free_result() function frees the result memory associated with the statement represented by the stmt parameter, which was allocated by maxdb_stmt_store_result().

Rückgabewerte

This function doesn't return any value.

Siehe auch

  • maxdb_stmt_store_result() - Transfers a result set from a prepared statement

maxdb_stmt_fetch
maxdb_stmt_init
MaxDB Funktionen


Initializes a statement and returns an resource for use with maxdb_stmt_prepare

maxdb_stmt_free_result
maxdb_stmt_num_rows
MaxDB Funktionen
PHP Manual

maxdb_stmt_init

maxdb::stmt_init

(PECL maxdb >= 1.0)

maxdb_stmt_init -- maxdb::stmt_init — Initializes a statement and returns an resource for use with maxdb_stmt_prepare

Beschreibung

Prozeduraler Stil

resource maxdb_stmt_init ( resource $link )

Objektorientierter Stil

object maxdb::stmt_init ( void )

Allocates and initializes a statement resource suitable for maxdb_stmt_prepare().

Hinweis:

Any subsequent calls to any maxdb_stmt function will fail until maxdb_stmt_prepare() was called.

Rückgabewerte

Returns an resource.

Siehe auch

  • maxdb_stmt_prepare() - Prepare an SQL statement for execution

maxdb_stmt_free_result
maxdb_stmt_num_rows
MaxDB Funktionen


Return the number of rows in statements result set

maxdb_stmt_init
maxdb_stmt_param_count
MaxDB Funktionen
PHP Manual

maxdb_stmt_num_rows

maxdb_stmt::num_rows

(PECL maxdb >= 1.0)

maxdb_stmt_num_rows -- maxdb_stmt::num_rows — Return the number of rows in statements result set

Beschreibung

Prozeduraler Stil

int maxdb_stmt_num_rows ( resource $stmt )

Objektorientierter Stil

int $maxdb_stmt->num_rows;

Returns the number of rows in the result set.

Rückgabewerte

An integer representing the number of rows in result set.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT zip, name FROM hotel.city ORDER BY name";
if ($stmt = $maxdb->prepare($query)) {

   /* execute query */
   $stmt->execute();

   /* store result */
   $stmt->store_result();

   printf("Number of rows: %d.\n", $stmt->num_rows);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
/* Open a connection */
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT zip, name FROM hotel.city ORDER BY name";
if ($stmt = maxdb_prepare($link, $query)) {

   /* execute query */
   maxdb_stmt_execute($stmt);

   /* store result */
   maxdb_stmt_store_result($stmt);

   printf("Number of rows: %d.\n", maxdb_stmt_num_rows($stmt));

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Number of rows: 25.

Siehe auch

  • maxdb_stmt_affected_rows() - Returns the total number of rows changed, deleted, or inserted by the last executed statement
  • maxdb_prepare() - Prepare an SQL statement for execution
  • maxdb_stmt_store_result() - Transfers a result set from a prepared statement

maxdb_stmt_init
maxdb_stmt_param_count
MaxDB Funktionen


Returns the number of parameter for the given statement

maxdb_stmt_num_rows
maxdb_stmt_prepare
MaxDB Funktionen
PHP Manual

maxdb_stmt_param_count

maxdb_stmt::param_count

(PECL maxdb >= 1.0)

maxdb_stmt_param_count -- maxdb_stmt::param_count — Returns the number of parameter for the given statement

Beschreibung

Prozeduraler Stil

int maxdb_stmt_param_count ( resource $stmt )

Objektorientierter Stil

int $maxdb_stmt->param_count;

maxdb_stmt_param_count() returns the number of parameter markers present in the prepared statement.

Rückgabewerte

returns an integer representing the number of parameters.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($stmt = $maxdb->prepare("SELECT name FROM hotel.city WHERE name=? OR state=?")) {

   $marker = $stmt->param_count;
   printf("Statement has %d markers.\n", $marker);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($stmt = maxdb_prepare($link, "SELECT name FROM hotel.city WHERE name=? OR state=?")) {

   $marker = maxdb_stmt_param_count($stmt);
   printf("Statement has %d markers.\n", $marker);

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Statement has 2 markers.

Siehe auch

  • maxdb_prepare() - Prepare an SQL statement for execution

maxdb_stmt_num_rows
maxdb_stmt_prepare
MaxDB Funktionen


Prepare an SQL statement for execution

maxdb_stmt_param_count
maxdb_stmt_reset
MaxDB Funktionen
PHP Manual

maxdb_stmt_prepare

maxdb_stmt::prepare

(PECL maxdb >= 1.0)

maxdb_stmt_prepare -- maxdb_stmt::prepare — Prepare an SQL statement for execution

Beschreibung

Prozeduraler Stil

bool maxdb_stmt_prepare ( resource $stmt , string $query )

Objektorientierter Stil

mixed maxdb_stmt::prepare ( string $query )

maxdb_stmt_prepare() prepares the SQL query pointed to by the null-terminated string query. The statement resource has to be allocated by maxdb_stmt_init(). The query must consist of a single SQL statement.

Hinweis:

You should not add a terminating semicolon or \g to the statement.

The parameter query can include one or more parameter markers in the SQL statement by embedding question mark (?) characters at the appropriate positions.

Hinweis:

The markers are legal only in certain places in SQL statements. For example, they are allowed in the VALUES() list of an INSERT statement (to specify column values for a row), or in a comparison with a column in a WHERE clause to specify a comparison value.

However, they are not allowed for identifiers (such as table or column names), in the select list that names the columns to be returned by a SELECT statement), or to specify both operands of a binary operator such as the = equal sign. The latter restriction is necessary because it would be impossible to determine the parameter type. In general, parameters are legal only in Data Manipulation Languange (DML) statements, and not in Data Defination Language (DDL) statements.

The parameter markers must be bound to application variables using maxdb_stmt_bind_param() and/or maxdb_stmt_bind_result() before executing the statement or fetching rows.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$city = "Portland";

/* create a prepared statement */
$stmt =  $maxdb->stmt_init();
if ($stmt->prepare("SELECT state FROM hotel.city WHERE name=?")) {

   /* bind parameters for markers */
   $stmt->bind_param("s", $city);

   /* execute query */
   $stmt->execute();

   /* bind result variables */
   $stmt->bind_result($district);

   /* fetch value */
   $stmt->fetch();

   printf("%s is in district %s\n", $city, $district);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$city = "Portland";

/* create a prepared statement */
$stmt = maxdb_stmt_init($link);
if (maxdb_stmt_prepare($stmt, "SELECT state FROM hotel.city WHERE name=?")) {

   /* bind parameters for markers */
   maxdb_stmt_bind_param($stmt, "s", $city);

   /* execute query */
   maxdb_stmt_execute($stmt);

   /* bind result variables */
   maxdb_stmt_bind_result($stmt, $district);

   /* fetch value */
   maxdb_stmt_fetch($stmt);

   printf("%s is in district %s\n", $city, $district);

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Portland is in district OR

Siehe auch

  • maxdb_stmt_init() - Initializes a statement and returns an resource for use with maxdb_stmt_prepare
  • maxdb_stmt_execute() - Executes a prepared Query
  • maxdb_stmt_fetch() - Fetch results from a prepared statement into the bound variables
  • maxdb_stmt_bind_param() - Binds variables to a prepared statement as parameters
  • maxdb_stmt_bind_result() - Binds variables to a prepared statement for result storage
  • maxdb_stmt_close() - Closes a prepared statement

maxdb_stmt_param_count
maxdb_stmt_reset
MaxDB Funktionen


Resets a prepared statement

maxdb_stmt_prepare
maxdb_stmt_result_metadata
MaxDB Funktionen
PHP Manual

maxdb_stmt_reset

maxdb_stmt::reset

(PECL maxdb >= 1.0)

maxdb_stmt_reset -- maxdb_stmt::reset — Resets a prepared statement

Beschreibung

Prozeduraler Stil

bool maxdb_stmt_reset ( resource $stmt )

Objektorientierter Stil

bool maxdb_stmt::reset ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

maxdb_stmt_prepare
maxdb_stmt_result_metadata
MaxDB Funktionen


Returns result set metadata from a prepared statement

maxdb_stmt_reset
maxdb_stmt_send_long_data
MaxDB Funktionen
PHP Manual

maxdb_stmt_result_metadata

maxdb_stmt::result_metadata

(PECL maxdb >= 1.0)

maxdb_stmt_result_metadata -- maxdb_stmt::result_metadata — Returns result set metadata from a prepared statement

Beschreibung

Prozeduraler Stil

resource maxdb_stmt_result_metadata ( resource $stmt )

Objektorientierter Stil

resource maxdb_stmt::result_metadata ( void )

If a statement passed to maxdb_prepare() is one that produces a result set, maxdb_stmt_result_metadata() returns the result resource that can be used to process the meta information such as total number of fields and individual field information.

Hinweis:

This result set pointer can be passed as an argument to any of the field-based functions that process result set metadata, such as:

  • maxdb_num_fields()

  • maxdb_fetch_field()

  • maxdb_fetch_field_direct()

  • maxdb_fetch_fields()

  • maxdb_field_count()

  • maxdb_field_seek()

  • maxdb_field_tell()

  • maxdb_free_result()

The result set structure should be freed when you are done with it, which you can do by passing it to maxdb_free_result()

Hinweis:

The result set returned by maxdb_stmt_result_metadata() contains only metadata. It does not contain any row results. The rows are obtained by using the statement handle with maxdb_fetch().

Rückgabewerte

maxdb_stmt_result_metadata() returns a result resource or FALSE if an error occurred.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

$maxdb->query("CREATE TABLE temp.friends (id int, name varchar(20))");

$maxdb->query("INSERT INTO temp.friends VALUES (1,'Hartmut')");
$maxdb->query("INSERT INTO temp.friends VALUES (2, 'Ulf')");

$stmt = $maxdb->prepare("SELECT id, name FROM temp.friends");
$stmt->execute();

/* get resultset for metadata */
$result = $stmt->result_metadata();

/* retrieve field information from metadata result set */
$field = $result->fetch_field();

printf("Fieldname: %s\n", $field->name);

/* close resultset */
$result->close();

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

maxdb_query($link, "CREATE TABLE temp.friends (id int, name varchar(20))");

maxdb_query($link, "INSERT INTO temp.friends VALUES (1,'Hartmut')");
maxdb_query($link, "INSERT INTO temp.friends VALUES (2, 'Ulf')");

$stmt = maxdb_prepare($link, "SELECT id, name FROM temp.friends");
maxdb_stmt_execute($stmt);

/* get resultset for metadata */
$result = maxdb_stmt_result_metadata($stmt);

/* retrieve field information from metadata result set */
$field = maxdb_fetch_field($result);

printf("Fieldname: %s\n", $field->name);

/* close resultset */
maxdb_free_result($result);

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Fieldname: ID

Siehe auch

  • maxdb_prepare() - Prepare an SQL statement for execution
  • maxdb_free_result() - Frees the memory associated with a result

maxdb_stmt_reset
maxdb_stmt_send_long_data
MaxDB Funktionen


Send data in blocks

maxdb_stmt_result_metadata
maxdb_stmt_sqlstate
MaxDB Funktionen
PHP Manual

maxdb_stmt_send_long_data

maxdb_stmt::send_long_data

(PECL maxdb 1.0)

maxdb_stmt_send_long_data -- maxdb_stmt::send_long_data — Send data in blocks

Beschreibung

Prozeduraler Stil

bool maxdb_stmt_send_long_data ( resource $stmt , int $param_nr , string $data )

Objektorientierter Stil

bool maxdb_stmt::stmt_send_long_data ( int $param_nr , string $data )

Allows to send parameter data to the server in pieces (or chunks). This function can be called multiple times to send the parts of a character or binary data value for a column, which must be one of the TEXT or BLOB datatypes.

param_nr indicates which parameter to associate the data with. Parameters are numbered beginning with 0. data is a string containing data to be sent.

Hinweis:

For efficiency reasons, this function should be used after calling maxdb_execute(). In this case, the data is not stored on the client side. The end of the sequence must end with a call to maxdb_stmt_close_long_data().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • maxdb_prepare() - Prepare an SQL statement for execution
  • maxdb_stmt_bind_param() - Binds variables to a prepared statement as parameters

maxdb_stmt_result_metadata
maxdb_stmt_sqlstate
MaxDB Funktionen


Returns SQLSTATE error from previous statement operation

maxdb_stmt_send_long_data
maxdb_stmt_store_result
MaxDB Funktionen
PHP Manual

maxdb_stmt_sqlstate

(PECL maxdb >= 1.0)

maxdb_stmt_sqlstate — Returns SQLSTATE error from previous statement operation

Beschreibung

string maxdb_stmt_sqlstate ( resource $stmt )

Returns a string containing the SQLSTATE error code for the most recently invoked prepared statement function that can succeed or fail. The error code consists of five characters. '00000' means no error. The values are specified by ANSI SQL and ODBC.

Hinweis:

Note that not all MaxDB errors are yet mapped to SQLSTATE's. The value HY000 (general error) is used for unmapped errors.

Rückgabewerte

Returns a string containing the SQLSTATE error code for the last error. The error code consists of five characters. '00000' means no error.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query("INSERT INTO temp.mycity SELECT * FROM hotel.city");

$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = $maxdb->prepare($query)) {

   /* drop table */
   $maxdb->query("DROP TABLE temp.mycity");

   /* execute query */
   $stmt->execute();

   printf("Error: %s.\n", $stmt->sqlstate);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
/* Open a connection */
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");
maxdb_query($link, "INSERT INTO temp.mycity SELECT * FROM hotel.city");

$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = maxdb_prepare($link, $query)) {

   /* drop table */
   maxdb_query($link, "DROP TABLE temp.mycity");

   /* execute query */
   maxdb_stmt_execute($stmt);

   printf("Error: %s.\n", maxdb_stmt_sqlstate($stmt));

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Warning: maxdb_stmt_execute(): -4004 POS(23) Unknown table name:MYCITY [42000] <...>
Error: 42000.

Siehe auch

  • maxdb_stmt_errno() - Returns the error code for the most recent statement call
  • maxdb_stmt_error() - Returns a string description for last statement error

maxdb_stmt_send_long_data
maxdb_stmt_store_result
MaxDB Funktionen


Transfers a result set from a prepared statement

maxdb_stmt_sqlstate
maxdb_store_result
MaxDB Funktionen
PHP Manual

maxdb_stmt_store_result

maxdb_stmt::store_result

(PECL maxdb >= 1.0)

maxdb_stmt_store_result -- maxdb_stmt::store_result — Transfers a result set from a prepared statement

Beschreibung

Prozeduraler Stil

bool maxdb_stmt_store_result ( resource $stmt )

Objektorientierter Stil

object maxdb_stmt::store_result ( void )

maxdb_stmt_store_result() has no functionally effect and should not be used for retrieving data from MaxDB server.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, zip FROM hotel.city ORDER BY name";
if ($stmt = $maxdb->prepare($query)) {

   /* execute query */
   $stmt->execute();

   /* store result */
   $stmt->store_result();

   printf("Number of rows: %d.\n", $stmt->num_rows);

   /* free result */
   $stmt->free_result();

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
/* Open a connection */
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, zip FROM hotel.city ORDER BY name";
if ($stmt = maxdb_prepare($link, $query)) {

   /* execute query */
   maxdb_stmt_execute($stmt);

   /* store result */
   maxdb_stmt_store_result($stmt);

   printf("Number of rows: %d.\n", maxdb_stmt_num_rows($stmt));

   /* free result */
   maxdb_stmt_free_result($stmt);

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Number of rows: 25.

Siehe auch

  • maxdb_prepare() - Prepare an SQL statement for execution
  • maxdb_stmt_result_metadata() - Returns result set metadata from a prepared statement
  • maxdb_fetch() - Alias von maxdb_stmt_fetch

maxdb_stmt_sqlstate
maxdb_store_result
MaxDB Funktionen


Transfers a result set from the last query

maxdb_stmt_store_result
maxdb_thread_id
MaxDB Funktionen
PHP Manual

maxdb_store_result

maxdb::store_result

(PECL maxdb >= 1.0)

maxdb_store_result -- maxdb::store_result — Transfers a result set from the last query

Beschreibung

Prozeduraler Stil

resource maxdb_store_result ( resource $link )

Objektorientierter Stil

object maxdb::store_result ( void )

This function has no functionally effect.

Rückgabewerte

Returns a result resource or FALSE if an error occurred.

Beispiele

See maxdb_multi_query().

Siehe auch

  • maxdb_real_query() - Execute an SQL query
  • maxdb_use_result() - Initiate a result set retrieval

maxdb_stmt_store_result
maxdb_thread_id
MaxDB Funktionen


Returns the thread ID for the current connection

maxdb_store_result
maxdb_thread_safe
MaxDB Funktionen
PHP Manual

maxdb_thread_id

maxdb::thread_id

(PECL maxdb >= 1.0)

maxdb_thread_id -- maxdb::thread_id — Returns the thread ID for the current connection

Beschreibung

Prozeduraler Stil

int maxdb_thread_id ( resource $link )

Objektorientierter Stil

int $maxdb->thread_id;

The maxdb_thread_id() function returns the thread ID for the current connection which can then be killed using the maxdb_kill() function. If the connection is lost and you reconnect with maxdb_ping(), the thread ID will be other. Therefore you should get the thread ID only when you need it.

Hinweis:

The thread ID is assigned on a connection-by-connection basis. Hence, if the connection is broken and then re-established a new thread ID will be assigned.

Rückgabewerte

maxdb_thread_id() returns the Thread ID for the current connection.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* determine our thread id */
$thread_id = $maxdb->thread_id;

/* Kill connection */
$maxdb->kill($thread_id);

/* This should produce an error */
if (!$maxdb->query("CREATE TABLE mycity LIKE hotel.city")) {
   printf("Error: %s\n", $maxdb->error);
   exit;
}

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* determine our thread id */
$thread_id = maxdb_thread_id($link);

/* Kill connection */
maxdb_kill($link, $thread_id);

/* This should produce an error */
if (!maxdb_query($link, "CREATE TABLE mycity LIKE hotel.city")) {
   printf("Error: %s\n", maxdb_error($link));
   exit;
}

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Warning: maxdb_query(): -10821 Session not connected <...>
Error: Session not connected

Siehe auch

  • maxdb_kill() - Disconnects from a MaxDB server

maxdb_store_result
maxdb_thread_safe
MaxDB Funktionen


Returns whether thread safety is given or not

maxdb_thread_id
maxdb_use_result
MaxDB Funktionen
PHP Manual

maxdb_thread_safe

(PECL maxdb >= 7.6.06.04)

maxdb_thread_safe — Returns whether thread safety is given or not

Beschreibung

bool maxdb_thread_safe ( void )

maxdb_thread_safe() indicates whether the client library is compiled as thread-safe.

Rückgabewerte

TRUE if the client library is thread-safe, otherwise FALSE.

maxdb_thread_id
maxdb_use_result
MaxDB Funktionen


Initiate a result set retrieval

maxdb_thread_safe
maxdb_warning_count
MaxDB Funktionen
PHP Manual

maxdb_use_result

maxdb::use_result

(PECL maxdb >= 1.0)

maxdb_use_result -- maxdb::use_result — Initiate a result set retrieval

Beschreibung

Prozeduraler Stil

resource maxdb_use_result ( resource $link )

Objektorientierter Stil

resource maxdb::use_result ( void )

maxdb_use_result() has no effect.

Rückgabewerte

Returns result Im Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query  = "SELECT * FROM DUAL";

/* execute multi query */
if ($maxdb->multi_query($query)) {
   do {
       /* store first result set */
       if ($result = $maxdb->use_result()) {
           while ($row = $result->fetch_row()) {
               printf("%s\n", $row[0]);
           }
           $result->close();
       }
       /* print divider */
       if ($maxdb->more_results()) {
           printf("-----------------\n");
       }
   } while ($maxdb->next_result());
}

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query  = "SELECT * FROM DUAL";

/* execute multi query */
if (maxdb_multi_query($link, $query)) {
   do {
       /* store first result set */
       if ($result = maxdb_use_result($link)) {
           while ($row = maxdb_fetch_row($result)) {
               printf("%s\n", $row[0]);
           }
           maxdb_free_result($result);
       }
       /* print divider */
       if (maxdb_more_results($link)) {
           printf("-----------------\n");
       }
   } while (maxdb_next_result($link));
}

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

a

Siehe auch

  • maxdb_real_query() - Execute an SQL query
  • maxdb_store_result() - Transfers a result set from the last query

maxdb_thread_safe
maxdb_warning_count
MaxDB Funktionen


Returns the number of warnings from the last query for the given link

maxdb_use_result
Mongo
MaxDB Funktionen
PHP Manual

maxdb_warning_count

maxdb::warning_count

(PECL maxdb >= 1.0)

maxdb_warning_count -- maxdb::warning_count — Returns the number of warnings from the last query for the given link

Beschreibung

Prozeduraler Stil

int maxdb_warning_count ( resource $link )

Objektorientierter Stil

int $maxdb->warning_count;

maxdb_warning_count() returns the number of warnings from the last query in the connection represented by the link parameter.

Rückgabewerte

Number of warnings or zero if there are no warnings.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");

/* a remarkable city in Wales */
$query = "INSERT INTO temp.mycity (zip, name) VALUES('11111',
       'Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch')";

$maxdb->query($query);

printf ("Number of warning: %d\n", $maxdb->warning_count);

/* close connection */
$maxdb->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");

/* a remarkable long city name in Wales */
$query = "INSERT INTO temp.mycity (zip, name) VALUES('11111',
       'Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch')";

maxdb_query($link, $query);

printf ("Number of warning: %d\n", maxdb_warning_count($link));

/* close connection */
maxdb_close($link);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Warning: maxdb_query(): -8004 POS(62) Constant must be compatible with column type and length <...>
Number of warning: 0

Siehe auch

  • maxdb_errno() - Returns the error code for the most recent function call
  • maxdb_error() - Returns a string description of the last error
  • maxdb_sqlstate() - Returns the SQLSTATE error from previous MaxDB operation

maxdb_use_result
Mongo
MaxDB Funktionen


MongoDB driver (legacy)

  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
  • Vordefinierte Konstanten
  • Manual
    • Tutorial
    • Read Preferences
    • Write Concerns
    • SQL to Mongo Mapping Chart
    • Connecting
    • Stream Context Options
    • Writes
    • Querying
    • Updates
    • Security
    • Troubleshooting
    • Running the Driver's Tests
  • Core Classes
    • MongoClient — The MongoClient class
    • MongoDB — The MongoDB class
    • MongoCollection — The MongoCollection class
    • MongoCursor — The MongoCursor class
    • MongoCursorInterface — The MongoCursorInterface interface
    • MongoCommandCursor — The MongoCommandCursor class
  • Types
    • MongoId — The MongoId class
    • MongoCode — The MongoCode class
    • MongoDate — The MongoDate class
    • MongoRegex — The MongoRegex class
    • MongoBinData — The MongoBinData class
    • MongoInt32 — The MongoInt32 class
    • MongoInt64 — The MongoInt64 class
    • MongoDBRef — The MongoDBRef class
    • MongoMinKey — The MongoMinKey class
    • MongoMaxKey — The MongoMaxKey class
    • MongoTimestamp — The MongoTimestamp class
  • GridFS Classes
    • MongoGridFS — The MongoGridFS class
    • MongoGridFSFile — The MongoGridFSFile class
    • MongoGridFSCursor — The MongoGridFSCursor class
  • Batch Classes
    • MongoWriteBatch — The MongoWriteBatch class
    • MongoInsertBatch — The MongoInsertBatch class
    • MongoUpdateBatch — The MongoUpdateBatch class
    • MongoDeleteBatch — The MongoDeleteBatch class
  • Miscellaneous
    • MongoLog — The MongoLog class
    • MongoPool — The MongoPool class
    • Mongo — The Mongo class [deprecated]
  • Mongo Funktionen
    • bson_decode — Deserializes a BSON object into a PHP array
    • bson_encode — Serializes a PHP variable into a BSON string
  • Exceptions
    • MongoException — The MongoException class
    • MongoResultException — The MongoResultException class
    • MongoCursorException — The MongoCursorException class
    • MongoCursorTimeoutException — The MongoCursorTimeoutException class
    • MongoConnectionException — The MongoConnectionException class
    • MongoGridFSException — The MongoGridFSException class
    • MongoDuplicateKeyException — The MongoDuplicateKeyException class
    • MongoProtocolException — The MongoProtocolException class
    • MongoExecutionTimeoutException — The MongoExecutionTimeoutException class
    • MongoWriteConcernException — The MongoWriteConcernException class
  • Changelog
maxdb_warning_count
Installation/Konfiguration
Anbieterspezifische Datenbankerweiterungen


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
Warnung

This extension is deprecated. Instead, the MongoDB extension should be used.

Mongo
Anforderungen
Mongo


Installation

Warnung

This extension is deprecated. Instead, the MongoDB extension should be used.

The MongoDB PHP driver should work on nearly any system: Windows, Mac OS X, Unix, and Linux; little- and big-endian machines; 32- and 64-bit machines; PHP 5.3 through 5.6 (versions prior to 1.6 also support PHP 5.2).

Diese » PECL-Extension ist nicht Teil von PHP.

  • Manual Installation
  • Installing on *NIX
  • Installing on Windows
  • OS X
  • Gentoo
  • Red Hat
  • Third-Party Installation Instructions

Manual Installation

For driver developers and people interested in the latest bugfixes, you can compile the driver from the latest source code on » Github. Go to Github and click the "download" button. Then run:

$ tar zxvf mongodb-mongodb-php-driver-<commit_id>.tar.gz
$ cd mongodb-mongodb-php-driver-<commit_id>
$ phpize
$ ./configure
$ make all
$ sudo make install

Make the following changes to php.ini:

  • Make sure the extension_dir variable is pointing to the directory containing mongo.so. The build will display where it is installing the PHP driver with output that looks something like:

    Installing '/usr/lib/php/extensions/no-debug-non-zts-20060613/mongo.so'
    Make sure that it is the same as the PHP extension directory by running:
    $ php -i | grep extension_dir
  extension_dir => /usr/lib/php/extensions/no-debug-non-zts-20060613 =>
                   /usr/lib/php/extensions/no-debug-non-zts-20060613
    If it's not, change the extension_dir in php.ini or move mongo.so.

  • To load the extension on PHP startup, add a line:

    extension=mongo.so

Installing on *NIX

Run:

$ sudo pecl install mongo

Add the following line to your php.ini file:

extension=mongo.so

If pecl runs out of memory while installing, make sure memory_limit in php.ini is set to at least 128MB.

Installing on Windows

Precompiled binaries for each release are available from » PECL for a variety of combinations of versions, thread safety, and VC libraries. Unzip the archive and put php_mongo.dll in your PHP extension directory ("ext" by default).

Add the following line to your php.ini file:

extension=php_mongo.dll

Hinweis: Additional DLL dependencies for Windows Users

Diese Extension benötigt DLL-Dateien. die für Windows verfügbar seien müssen. Der FAQ-Eintrag " Wie füge ich unter Windows PATH mein PHP-Verzeichnis hinzu?" gibt hierzu weitere Informationen. Obwohl ein einfaches Kopieren der DLL-Dateien vom PHP-Verzeichnis in den Windows-Systemordner auch funktioniert (weil der Systemordner immer im PATH enthalten ist), ist dieses Vorgehen nicht empfehlenswert. Diese Extension benötigt die folgenden Dateien im PATH: libsasl.dll

OS X

In most cases installing from pecl is the easiest way:

$ sudo pecl install mongo

If you are using » Homebrew, the PHP tap includes formulae for the driver. For example, you might install the driver for PHP 5.6 using the following command:

$ brew install php56-mongo

If you are using » XAMPP, note that it has its own pecl binary and php.ini configuration. You should be able to install the driver with the following command:

$ sudo /Applications/XAMPP/xamppfiles/bin/pecl install mongo

Hinweis: Xcode dependency for compiling on OS X

Compiling the driver on OS X will require Xcode developer tools, which may be installed with xcode-select --install. If that command is not available, you may first need to install the » Command Line Tools package.

Gentoo

Gentoo has a package for the PHP PECL driver called dev-php/pecl-mongo, which can be installed with:

$ sudo emerge -va dev-php/pecl-mongo

If you use PECL, you may get an error that libtool is the wrong version. Compiling from source you'll need to run aclocal and autoconf.

$ phpize
$ aclocal
$ autoconf
$ ./configure
$ make
$ sudo make install

Red Hat

This includes Fedora and CentOS.

The default Apache settings on these systems do not let requests make network connections, meaning that the driver will get "Permission denied" errors when it tries to connect to the database. If you run into this, try running:

$ /usr/sbin/setsebool -P httpd_can_network_connect 1
Then restart Apache. (This issue has also occurred with SELinux.)

Third-Party Installation Instructions

A number of people have created excellent tutorials on installing the PHP driver.

  • » (Re)installing PHP on Mac OS X

    This article by Justin Hileman details the process of installing PHP and additional extensions with Homebrew on OS X. This complements the earlier instructions on this page for installing the driver with Homebrew.

  • » PHP 5.3.1 with Xdebug, MongoDB and Lithium on Ubuntu 9.10 / Apache 2.2

    This screencast by Jon Adams demonstrates how to quickly get up and running with PHP 5.3.1, Xdebug, and MongoDB on Ubuntu 9.10 with Apache.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Mongo Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
mongo.allow_empty_keys | 0 | PHP_INI_ALL |
mongo.allow_persistent | 1 | PHP_INI_ALL | Removed in 1.2.0
mongo.chunk_size | 262144 | PHP_INI_ALL |
mongo.cmd | "$" | PHP_INI_ALL |
mongo.default_host | "localhost" | PHP_INI_ALL |
mongo.default_port | 27017 | PHP_INI_ALL |
mongo.is_master_interval | 15 | PHP_INI_ALL | Added in 1.2.10, before 1.3.0 the default value was 60.
mongo.long_as_object | 0 | PHP_INI_ALL |
mongo.native_long | 1 | PHP_INI_ALL | Before 1.5.0, the default value was 0.
mongo.ping_interval | 5 | PHP_INI_ALL | Added in 1.2.10
mongo.utf8 | 1 | PHP_INI_ALL |
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

mongo.allow_empty_keys int

Added in version 1.0.11.

If empty strings ("") should be allowed as key names. By default, the driver will throw an exception if you attempt to pass the empty string as a key to the database. It is extremely easy to do this inavertently by using double quotes with $-operators, so it is recommended that you leave this setting as default. However, if you need to save keys that are empty strings, you can set this option to true and the driver will allow you to pass empty strings to the database.

mongo.allow_persistent int

If persistent connections are allowed. (Removed in 1.2.0 - all connections are now persistent).

mongo.chunk_size int

The number of bytes-per-chunk. Used in divvying up GridFS files. This number must be at least 100 less than 4 megabytes (max: 4194204) and it is recommended that it be less than that.

mongo.cmd string

A character to be used in place of $ in modifiers and comparisons.

As it is easy to forget to escape the "$", you can also choose your own special character to use instead of '$'. Choose a character that will not occur in your key names, e.g. ":":

mongo.cmd = ":"

Then, to do a comparison, for example:

<?php

$query = array( "i" => array( ":gt" => 20, ":lte" => 30 ) );

?>

You can also change it in your code using ini_set("mongo.cmd", ":"). Of course, you can also just use single quotes or backslash-escape the $.

mongo.default_host string

Default hostname when nothing is passed to the constructor.

mongo.default_port string

The default TCP port number to use when connecting to the database server if no other port is specified. The database's default is 27017.

mongo.is_master_interval int

Added in version 1.2.10.

For replicaset connections: The minimum interval with which the driver will send "isMaster" requests to the MongoDB server. If the value is lower, there will be more requests, but the driver finds faster whether the topology of the replicaset has been changed.

mongo.long_as_object int

Return a BSON_LONG as an instance of MongoInt64 (instead of a primitive type).

mongo.native_long int

The default behavior for this has been changed to TRUE in 1.5.0, so make sure to set this variable to the value you want (probably TRUE) so that the driver's behavior doesn't suddenly change when you upgrade.

On 64-bit platforms, the mongo.native_long setting allows for 64-bit integers to be stored in MongoDB. If it is not set, only 32-bits of the integer will be saved. The MongoDB data type that is used in this case is the BSON LONG, instead of the BSON INT that is used if this setting is turned off.

The setting also changes the way how BSON LONGs behave when they are read back from MongoDB. Without mongo.native_long enabled, the driver would convert every BSON LONG to a PHP double which can result in a loss of precision.

On 32-bit platforms, the mongo.native_long setting changes nothing for storing integers in MongoDB: the integer is stored as a BSON INT as before. However, when the setting is enabled and a BSON LONG is read from MongoDB a MongoCursorException is thrown alerting you that the data could not be read back without losing precision.

On 32-bit systems especially, it is recommended that you combine this with enabling mongo.long_as_object.

mongo.ping_interval int

Added in version 1.2.10.

For replicaset connections: The minimum interval with which the driver will send "ping" requests to the MongoDB server. If the value is lower, there will be more pings, but the driver finds faster whether a node is no longer reachable from the replicaset.

mongo.utf8 int

If an exception should be thrown for non-UTF8 strings. Until version 1.0.4, the PHP driver would ignore non-UTF8 strings, even though you're not supposed to insert them. As of 1.0.4, the driver throws a MongoException. To ease the transition for applications that insert non-UTF8 strings, you can turn this option off to emulate the old, non-exception-throwning behavior. This option will be eliminated and exceptions always thrown for non-UTF8 strings starting with version 1.1.0.

Installation
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

MONGO_STREAMS (integer)
Alias of MONGO_SUPPORTS_STREAMS
MONGO_SUPPORTS_STREAMS (integer)
1 when compiled against PHP Streams (default since 1.4.0).
MONGO_SUPPORTS_SSL (integer)
1 when OpenSSL is enabled and available.
MONGO_SUPPORTS_AUTH_MECHANISM_MONGODB_CR (integer)
1 when MongoDB-Challenge/Reponse authentication is compiled in.
MONGO_SUPPORTS_AUTH_MECHANISM_MONGODB_X509 (integer)
1 when x.509 authentication is compiled in.
MONGO_SUPPORTS_AUTH_MECHANISM_GSSAPI (integer)
1 when GSSAPI authentication is compiled in.
MONGO_SUPPORTS_AUTH_MECHANISM_PLAIN (integer)
1 when PLAIN authentication is compiled in.
MONGO_STREAM_NOTIFY_TYPE_IO_INIT (integer)
MONGO_STREAM_NOTIFY_TYPE_LOG (integer)
MONGO_STREAM_NOTIFY_IO_READ (integer)
MONGO_STREAM_NOTIFY_IO_WRITE (integer)
MONGO_STREAM_NOTIFY_IO_PROGRESS (integer)
MONGO_STREAM_NOTIFY_IO_COMPLETED (integer)
MONGO_STREAM_NOTIFY_LOG_INSERT (integer)
MONGO_STREAM_NOTIFY_LOG_QUERY (integer)
MONGO_STREAM_NOTIFY_LOG_UPDATE (integer)
MONGO_STREAM_NOTIFY_LOG_DELETE (integer)
MONGO_STREAM_NOTIFY_LOG_GETMORE (integer)
MONGO_STREAM_NOTIFY_LOG_KILLCURSOR (integer)
MONGO_STREAM_NOTIFY_LOG_BATCHINSERT (integer)
MONGO_STREAM_NOTIFY_LOG_RESPONSE_HEADER (integer)
MONGO_STREAM_NOTIFY_LOG_WRITE_REPLY (integer)
MONGO_STREAM_NOTIFY_LOG_CMD_INSERT (integer)
MONGO_STREAM_NOTIFY_LOG_CMD_UPDATE (integer)
MONGO_STREAM_NOTIFY_LOG_CMD_DELETE (integer)
MONGO_STREAM_NOTIFY_LOG_WRITE_BATCH (integer)

Laufzeit-Konfiguration
Manual
Mongo


Manual

Inhaltsverzeichnis

  • Tutorial
  • Read Preferences
  • Write Concerns
  • SQL to Mongo Mapping Chart
  • Connecting
  • Stream Context Options
  • Writes
  • Querying
  • Updates
  • Security
  • Troubleshooting
  • Running the Driver's Tests
Warnung

This extension is deprecated. Instead, the MongoDB extension should be used.

This manual goes into some detail about how to use MongoDB, but it mostly covers using the PHP driver. For information about how to design a schema, what terms means, and setting up the database server, check out the » MongoDB documentation.

Vordefinierte Konstanten
Tutorial
Mongo


Tutorial

Inhaltsverzeichnis

  • Making a Connection
  • Getting a Database
  • Getting A Collection
  • Inserting a Document
  • Finding Documents using MongoCollection::findOne
  • Adding Multiple Documents
  • Counting Documents in A Collection
  • Using a Cursor to Get All of the Documents
  • Setting Criteria for a Query
  • Getting A Set of Documents With a Query
  • Creating An Index
Warnung

This extension is deprecated. Instead, the MongoDB extension should be used.

This is the official MongoDB driver for PHP.

Here's a quick code sample that connects, inserts documents, queries for documents, iterates through query results, and disconnects from MongoDB. There are more details on each step in the tutorial below.

<?php

// connect
$m = new MongoClient();

// select a database
$db = $m->comedy;

// select a collection (analogous to a relational database's table)
$collection = $db->cartoons;

// add a record
$document = array( "title" => "Calvin and Hobbes", "author" => "Bill Watterson" );
$collection->insert($document);

// add another record, with a different "shape"
$document = array( "title" => "XKCD", "online" => true );
$collection->insert($document);

// find everything in the collection
$cursor = $collection->find();

// iterate through the results
foreach ($cursor as $document) {
    echo $document["title"] . "\n";
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Calvin and Hobbes
XKCD
Manual
Making a Connection
Manual


Making a Connection

To connect to the database server, use one of the following:

<?php
$connection = new MongoClient(); // connects to localhost:27017
$connection = new MongoClient( "mongodb://example.com" ); // connect to a remote host (default port: 27017)
$connection = new MongoClient( "mongodb://example.com:65432" ); // connect to a remote host at a given port
?>

You do not have to explicitly disconnect from the database. The driver uses persistent connections and will re-use already established connections.

See Also

The chapter on connecting covers different types of connections.

The API documentation on the MongoClient class and MongoClient::__construct() give a comprehensive look at all possible options with a number of examples.

Tutorial
Getting a Database
Tutorial


Getting a Database

To select a database, use:

<?php
$connection = new MongoClient();
$db = $connection->dbname;
?>

The database does not need to be created in advance, you can create new databases by selecting them.

Be careful of typos! You can inadvertently create a new database, which can cause confusing errors (here name is misspelled as anme in the second selection:

<?php
$connection = new MongoClient();

$db = $connection->mybiglongdbname;
// do some stuff

$db = $connection->mybiglongdbanme;
// now connected to a different database!
?>

See Also

The API documentation on the MongoDB class contains more information about database objects.

Making a Connection
Getting A Collection
Tutorial


Getting A Collection

Getting a collection has the same syntax as getting a database:

<?php
$connection = new MongoClient();
$db = $connection->baz;

// select a collection:
$collection = $db->foobar;

// or, directly selecting a database and collection:
$collection = $connection->baz->foobar;
?>

A collection is analogous to a table (if you are familiar with relational databases).

See Also

The API documentation on the MongoCollection class contains more information about collection objects.

Getting a Database
Inserting a Document
Tutorial


Inserting a Document

Associative arrays are the basic object that can be saved to a collection in the database. A somewhat random "document" might be:

<?php
$doc = array(
    "name" => "MongoDB",
    "type" => "database",
    "count" => 1,
    "info" => (object)array( "x" => 203, "y" => 102),
    "versions" => array("0.9.7", "0.9.8", "0.9.9")
);
?>

Note that you can have nested arrays and objects. The driver will always store an associative array as an object in the database. A numerically indexed array is stored as an array in case the keys start at 0 and are not interrupted, and as an object if the array keys don't start at 0 or have gaps (ie: 0, 1, 4, 5).

To insert this document, use MongoCollection::insert():

<?php
$connection = new MongoClient();
$collection = $connection->database->collectionName;

$collection->insert( $doc );
?>

See Also

The API documentation on MongoCollection::insert() contains more information about inserting data.

Getting A Collection
Finding Documents using MongoCollection::findOne
Tutorial


Finding Documents using MongoCollection::findOne

Inserting a Document
Adding Multiple Documents
Tutorial
PHP Manual

Finding Documents using MongoCollection::findOne()

To show that the document we inserted in the previous step is stored in the database, we can do a simple MongoCollection::findOne() operation to get a single document from the collection. This method is useful when there is only one document matching the query or you are only interested in one result.

<?php
$connection = new MongoClient();
$collection = $connection->database->collectionName;

$document = $collection->findOne();
var_dump( $document );
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(6) {
  ["_id"]=>
  object(MongoId)#8 (1) {
    ["$id"]=>
    string(24) "4e2995576803fab768000000"
  }
  ["name"]=>
  string(7) "MongoDB"
  ["type"]=>
  string(8) "database"
  ["count"]=>
  int(1)
  ["info"]=>
  array(2) {
    ["x"]=>
    int(203)
    ["y"]=>
    int(102)
  }
  ["versions"]=>
  array(3) {
    [0]=>
    string(5) "0.9.7"
    [1]=>
    string(5) "0.9.8"
    [2]=>
    string(5) "0.9.9"
  }
}

Note that there is an _id field that has been added automatically to your document. _id is the "primary key" field. If your document does not specify one, the driver will add one automatically.

If you specify your own _id field, it must be unique to the collection. See the example here:

<?php
$connection = new MongoClient();
$db = $connection->database;

$db->foo->insert(array("_id" => 1));
// this will throw an exception
$db->foo->insert(array("_id" => 1));

// this is fine, as it is a different collection
$db->bar->insert(array("_id" => 1));
?>

By default the driver will ensure the server has acknowledged the write before returning. You can optionally turn this behaviour off by passing array("w" => 0) as the second argument. This means that the driver should not wait for the database to acknowledge the write and would not throw the duplicate _id exception.

See Also

MongoCollection::findOne() for more information about finding data.

MongoId goes into more detail on unique ids.

The writes section covers writes in more depth, and the Write Concerns chapter goes into details of the various Write Concern options.

Inserting a Document
Adding Multiple Documents
Tutorial


Adding Multiple Documents

In order to do more interesting things with queries, let's add multiple simple documents to the collection. These documents will just be of the form array( "i" => value ); and we can do this fairly efficiently in a loop:

<?php
$connection = new MongoClient();
$collection = $connection->database->collectionName;

for ( $i = 0; $i < 100; $i++ )
{
    $collection->insert( array( 'i' => $i, "field{$i}" => $i * 2 ) );
}
?>

Notice that we can insert arrays with different keys into the same collection. This aspect is what we mean when we say that MongoDB is "schema-free". In the example above each document has an i field, but also a field name in the form of field + $i.

Finding Documents using MongoCollection::findOne
Counting Documents in A Collection
Tutorial


Counting Documents in A Collection

Now that we've inserted 101 documents (the 100 we did in the loop, plus the first one), we can check to see if we have them all using the MongoCollection::count() method.

<?php
$connection = new MongoClient();
$collection = $connection->database->collectionName;

echo $collection->count();
?>
and it should print 101.

Adding Multiple Documents
Using a Cursor to Get All of the Documents
Tutorial


Using a Cursor to Get All of the Documents

In order to get all the documents in the collection, we will use MongoCollection::find(). The find() method returns a MongoCursor object which allows us to iterate over the set of documents that matched our query. So to query all of the documents and print them out:

<?php
$connection = new MongoClient();
$collection = $connection->database->collectionName;

$cursor = $collection->find();
foreach ( $cursor as $id => $value )
{
    echo "$id: ";
    var_dump( $value );
}
?>
and that should print all 101 documents in the collection. $id is the _id field of a document (cast to a string) and $value is the document itself.

See Also

The API documentation on MongoCollection::find() contains more information about finding data.

Counting Documents in A Collection
Setting Criteria for a Query
Tutorial


Setting Criteria for a Query

We can create a query to pass to the MongoCollection::find() method to get a subset of the documents in our collection. For example, if we wanted to find the document for which the value of the "i" field is 71, we would do the following:

<?php
$connection = new MongoClient();
$collection = $connection->database->collectionName;

$query = array( 'i' => 71 );
$cursor = $collection->find( $query );

while ( $cursor->hasNext() )
{
    var_dump( $cursor->getNext() );
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  ["_id"]=>
  object(MongoId)#6 (0) {
  }
  ["i"]=>
  int(71)
  ["_ns"]=>
  "testCollection"
}
Using a Cursor to Get All of the Documents
Getting A Set of Documents With a Query
Tutorial


Getting A Set of Documents With a Query

We can use the query to get a set of documents from our collection. For example, if we wanted to get all documents where "i" > 50, we could write:

<?php
$connection = new MongoClient();
$collection = $connection->database->collectionName;

$query = array( "i" => array( '$gt' => 50 ) ); //note the single quotes around '$gt'
$cursor = $collection->find( $query );

while ( $cursor->hasNext() )
{
    var_dump( $cursor->getNext() );
}
?>

which should print the documents where "i" > 50. We could also get a range, say 20 < i <= 30:

<?php
$connection = new MongoClient();
$collection = $connection->database->collectionName;

$query = array( 'i' => array( '$gt' => 20, "\$lte" => 30 ) );
$cursor = $collection->find( $query );

while ( $cursor->hasNext() )
{
    var_dump( $cursor->getNext() );
}
?>

Remember to always escape the $-symbol or use single quotes. Otherwise PHP will interpret it to be the variable $gt.

Setting Criteria for a Query
Creating An Index
Tutorial


Creating An Index

MongoDB supports indexes, and they are very easy to add on a collection. To create an index, you specify the field name and direction: ascending (1) or descending (-1). The following creates an ascending index on the "i" field:

<?php
$connection = new MongoClient();
$collection = $connection->database->collectionName;

$collection->ensureIndex( array( "i" => 1 ) );  // create index on "i"
$collection->ensureIndex( array( "i" => -1, "j" => 1 ) );  // index on "i" descending, "j" ascending
?>

Indexing is critical for good read performance as your data grows. If you are not familiar with indexing, check out the MongoCollection::ensureIndex() documentation and the core » MongoDB indexing documentation.

Getting A Set of Documents With a Query
Read Preferences
Tutorial


Read Preferences

MongoDB 2.2 and version 1.3.0 of the driver add support for » read preferences, which allow control over how queries are directed to mongod instances in a replica set environment. Read preferences may be specified on either a per-connection, per-database, or per-collection basis. Preferences defined at a higher level will be inherited by default (e.g. MongoCollection will inherit read preferences defined on the corresponding MongoDB instance).

Read preferences are specified with a combination of modes and tag sets. Modes determine how mongod instances are prioritized, while » tag sets specify criteria for eligible mongod instances. Mongod instances are only eligible if they are within a 15ms difference in ping time from the nearest mongod instance.

Read Preference Modes

Warnung

All read preference modes except MongoClient::RP_PRIMARY may return stale data as secondaries replicate operations from the primary with some delay. Ensure that your application can tolerate stale data if you choose to use a mode other than MongoClient::RP_PRIMARY.

  • MongoClient::RP_PRIMARY

    All read operations use only the current replica set primary. This is the default. If the primary is unavailable, read operations will produce an exception.

    This mode is incompatible with use of tag sets. Specifying a tag set with MongoClient::RP_PRIMARY will result in an exception.

  • MongoClient::RP_PRIMARY_PREFERRED

    In most situations, operations read from the primary member of the set. However, if the primary is unavailable, as is the case during failover situations, operations read from secondary members.

    When the read preference includes a tag set, the client reads first from the primary, if available, and then from secondaries that match the specified tags. If no secondaries have matching tags, the read operation will produce an exception.

    Warnung

    Version 2.2 of mongos added full support for read preferences. When connecting to older mongos instances, MongoClient::RP_PRIMARY_PREFERRED will send queries to secondaries.

  • MongoClient::RP_SECONDARY

    Operations read only from the secondary members of the set. If no secondaries are available, read operations will produce an exception.

    Most sets have at least one secondary, but there are situations where there may be no available secondary. For example, a set with a primary, a secondary, and an arbiter may not have any secondaries if a member is in recovering state or unavailable.

    When the read preference includes a tag set, the client attempts to find secondary members that match the specified tag set and directs reads to a random secondary from among the nearest group. If no secondaries have matching tags, the read operation will produce an exception.

  • MongoClient::RP_SECONDARY_PREFERRED

    In most situations, operations read from secondary members, but in situations where the set consists of a single primary with no other members, the read operation will use the set's primary.

    When the read preference includes a tag set, the client attempts to find a secondary member that matches the specified tag set and directs reads to a random secondary from among the nearest group. If no secondaries have matching tags, the read operation will produce an exception.

  • MongoClient::RP_NEAREST

    The driver reads from a random member of the set that has a ping time that is less than 15ms slower than the member with the lowest ping time. Reads in the MongoClient::RP_NEAREST mode do not consider the member's type and may read from both primaries and secondaries.

    Set this mode to minimize the effect of network latency on read operations without preference for current or stale data.

    If you specify a tag set, the client attempts to find a member that matches the specified tag set and directs reads to a random node from among the nearest group.

    Hinweis:

    All operations read from the nearest member of the replica set that matches the specified read preference mode. The MongoClient::RP_NEAREST mode prefers low latency reads over a member's primary or secondary status.

Tag Sets

» Tag sets allow you to specify criteria so that your application can target read operations to specific members, based on custom parameters. Tag sets make it possible to ensure that read operations target members in a particular data center or target mongod instances designated for a particular class of operations, such as reporting or analytics.

You can specify tag sets with the following read preference modes:

  • MongoClient::RP_PRIMARY_PREFERRED

  • MongoClient::RP_SECONDARY

  • MongoClient::RP_SECONDARY_PREFERRED

  • MongoClient::RP_NEAREST

You cannot specify tag sets with the MongoClient::RP_PRIMARY read preference mode. Tags apply only when selecting a secondary member of a set, except for the when in the nearest mode.

Specifying Read Preferences

Read preferences may be specified in either the connection URI provided to MongoClient::__construct(), which uses a query string syntax, or via setter methods on the core classes, which use an array syntax for tag sets.

When specifying read preference modes in a query string, the tag sets for the readPreferenceTags value should be a comma-delimited sequence of colon-delimited key/value pairs.

Hinweis:

Each tag set defined in the query string will use the readPreferenceTags name. Unlike how PHP might handle URL query strings, successive values for readPreferenceTags will not overwrite each other. The driver will collect tag sets in the order they appear in the query string.

Warnung

If the driver cannot find a matching tag set the read will fail! It is your responsibility of providing suitable fallback, such as an empty readPreferenceTags value to fallback to "no tag set preference".

Beispiel #1 Connection URI read preferences with query string syntax

<?php
// Prefer the nearest server with no tag preference
$uri  = 'mongodb://rs1.example.com,rs2.example.com/';
$uri .= '?readPreference=nearest';
$m = new MongoClient($uri, array('replicaSet' => 'rs'));

// Pick the nearest server in the "east" data center
$uri  = 'mongodb://rs1.example.com,rs2.example.com/';
$uri .= '?readPreference=nearest';
$uri .= '&readPreferenceTags=dc:east';
$m = new MongoClient($uri, array('replicaSet' => 'rs'));

// Prefer the nearest server in the "east" data center also used for reporting,
// but fall back to a server in the "west" data center
$uri  = 'mongodb://rs1.example.com,rs2.example.com/';
$uri .= '?readPreference=nearest';
$uri .= '&readPreferenceTags=dc:east,use:reporting';
$uri .= '&readPreferenceTags=dc:west';
$m = new MongoClient($uri, array('replicaSet' => 'rs'));

// Prefer the nearest server in the "east" data center, then a server in the
// "west" data center, and finally fall back to no tag set preference
$uri  = 'mongodb://rs1.example.com,rs2.example.com/';
$uri .= '?readPreference=nearest';
$uri .= '&readPreferenceTags=dc:east';
$uri .= '&readPreferenceTags=dc:west';
$uri .= '&readPreferenceTags=';
$m = new MongoClient($uri, array('replicaSet' => 'rs'));
?>

Beispiel #2 Setting read preferences with array syntax for tag sets

<?php

$m = new MongoClient('mongodb://rs1.example.com,rs2.example.com', array(
    'replicaSet' => 'rs',
));

// Prefer the nearest server with no tag preference
$m->setReadPreference(MongoClient::RP_NEAREST, array());

// Pick the nearest server in the "east" data center
$m->setReadPreference(MongoClient::RP_NEAREST, array(
    array('dc' => 'east'),
));

// Prefer the nearest server in the "east" data center also used for reporting,
// but fall back to a server in the "west" data center
$m->setReadPreference(MongoClient::RP_NEAREST, array(
    array('dc' => 'east', 'use' => 'reporting'),
    array('dc' => 'west'),
));

// Prefer the nearest server in the "east" data center, then a server in the
// "west" data center, and finally fall back to no tag set preference
$m->setReadPreference(MongoClient::RP_NEAREST, array(
    array('dc' => 'east'),
    array('dc' => 'west'),
    array(),
));
?>

Creating An Index
Write Concerns
Manual


Write Concerns

MongoDB provides several different ways of selecting how durable a write to the database should be. These ways are called Write Concerns and span everything from completely ignoring all errors, to specifically targetting which servers are required to confirm the write before returning the operation.

When a write (such as with MongoCollection::insert(), MongoCollection::update(), and MongoCollection::remove()) is given a Write Concern option ("w") the driver will send the query to MongoDB and piggy back a getLastError command (GLE) with the Write Concern option at the same time. The server only returns when the Write Concern condition is verified to be fullfilled, or the query times out (controlled with the "wtimeout" option, 10000 milliseconds is the default).

Warnung

Even though a getLastError command times out the data will most likely have been written to the primary server and will be replicated to all the secondaries once they have cought up.

The typical reasons for a timeout to happen is if you specify a Write Concern which requires confirmation from more servers then you currently have available.

When using acknowledged writes and the replica set has failed over, the driver will automatically disconnect from the primary, throw an exception, and attempt to find a new primary on the next operation (your application must decide whether or not to retry the operation on the new primary).

When using unacknowledged writes (w=0) and the replica set has failed over, there will be no way for the driver to know about the change so it will continue and silently fail to write.

The default Write Concern for the MongoClient is 1: acknowledge write operations.

Available Write Concerns
Write Concern | Meaning | Description
w=0 | Unacknowledged | A write will not be followed up with a GLE call, and therefore not checked ("fire and forget")
w=1 | Acknowledged | The write will be acknowledged by the server (the primary on replica set configuration)
w=N | Replica Set Acknowledged | The write will be acknowledged by the primary server, and replicated to N-1 secondaries.
w=majority | Majority Acknowledged | The write will be acknowledged by the majority of the replica set (including the primary). This is a special reserved string.
w=<tag set> | Replica Set Tag Set Acknowledged | The write will be acknowledged by members of the entire tag set
j=true | Journaled | The write will be acknowledged by primary and the journal flushed to disk

Using WriteConcerns

Each of the methods that causes writes (MongoCollection::insert(), MongoCollection::update(), MongoCollection::remove(), and MongoCollection::batchInsert()) allow an optional argument to send a set of options to the MongoDB server. With this option array you can set the WriteConcern as the following example illustrates:

Beispiel #1 Passing a WriteConcern to a write operation

<?php
// Setting w=0 for insert:
$collection->insert($someDoc, array("w" => 0));

// Setting w=majority for update:
$collection->update($someDoc, $someUpdates, array("w" => "majority"));

// Setting w=5 and j=true for remove:
$collection->update($someDoc, array("w" => 5, "j" => true));

// Setting w="AllDCs" for batchInsert:
$collection->update(array($someDoc1, $someDoc2), array("w" => "AllDCs"));
?>

Besides setting WriteConcerns per operation as an option argument, it is also possible to set a default WriteConcern in different ways.

The first way is through the connection string. The connection string accepts the journal, w, and wTimeoutMS options:

Beispiel #2 Connection string WriteConcerns

<?php
$m = new MongoClient("mongodb://localhost/?journal=true&w=majority&wTimeoutMS=20000");
?>

Since driver version 1.5 it is also possible to call MongoDB::setWriteConcern() and MongoCollection::setWriteConcern() to set a default WriteConcern for all operations created from that specific MongoDB or MongoCollection object:

Beispiel #3 MongoDB::setWriteConcern and MongoCollection::setWriteConcern

<?php
$m = new MongoClient("mongodb://localhost/");
$d = $m->demoDb;
$c = $d->demoCollection;

// Set w=3 on the database object with a timeout of 25000ms
$d->setWriteConcern(3, 25000);

// Set w=majority on the collection object without changing the timeout
$c->setWriteConcern("majority");
?>

Unacknowledged Writes

By not requiring the server to acknowledge writes the writes can be performed extremely quickly, but you don't know whether or not they actually succeeded. Writes can fail for a number of reasons: if there are network problems, if a database server goes down, or if the write was simply invalid (e.g., writing to a system collection; or duplicate key errors).

While developing, you should always use acknowledged writes (to protect against inadvertent mistakes, such as syntax errors, invalid operators, duplicate key errors and so on). In production, unacknowledged writes can be used for "unimportant" data. Unimportant data varies on application, but it's generally automatically (instead of user generated) data, such as click tracking or GPS locations, where you can get thousands of records per second.

It is strongly recommended that you do an acknowledged write at the end of series of unacknowledged writes. Doing so will not incur in a too large performance penalty, but still allow you to catch any errors that may have occurred.

Beispiel #4 Unacknowledged WriteConcern, followed with Acknowledged Write

<?php
$collection->insert($someDoc, array("w" => 0));
$collection->update($criteria, $newObj, array("w" => 0));
$collection->insert($somethingElse, array("w" => 0));
try {
    $collection->remove($something, array("w" => 1));
} catch(MongoCursorException $e) {
    /* Handle the exception.. */
    /* Here we should issue find() queries on the IDs generated for
    $somethingElse and $someDoc to verify they got written to the database and
    attempt to figureout where in the chain something happened. */
}
?>

If the last write throws an exception, you know that there's a problem with your database.

Acknowledged Writes

These type of write operations will make sure that the database has accepted the write operation before returning success. If the write failed, it will throw a MongoCursorException with an explanation of the failure. The MongoClient default behaviour is to acknowledge the write (w=1).

It is possible to specify how many members of an replica set have to acknowledge the write (i.e. have it replicated) before the write is deemed acknowledged and the operation returns.

Beispiel #5 Acknowledged Writes

<?php
// Force acknowledgement from the primary only
$collection->insert($doc, array("w" => 1));

// Force acknowledgement from the primary, and one other member of the
// replica set
$collection->insert($doc, array("w" => 2));

// Force acknowledgement from the primary, and six other members of the
// replica set (you probably never should do this):
$collection->insert($doc, array("w" => 7));
?>

Keep in mind to select your Write Concern carefully. If you have a replica set with 5 members, and you select Write Concern of 4 you will risk the write blocking forever when one member of the replica set goes down for maintenance or a temporary network outage happens.

Warnung

Passing in a string value for Write Concern has a specific meaning (Replica Set Tag Set Acknowledged). Please be careful of NOT using string values for numbers (i.e. array("w" => "1")) as it will be treated as a tag set name.

Majority Acknowledged Writes

Using the special majority Write Concern option is the recommended way for writes that are required to survive the apocalypse, as it will ensure the majority of your replica set will have the write and will therefore be guaranteed to survive all usual suspect outage scenarios.

Beispiel #6 Majority Acknowledged Write

<?php
$collection->insert($someDoc, array("w" => "majority"));
?>

Journaled Writes

When connecting to a replica set the default Write Concern is only to have the primary server acknowledge the write. There is however a 100ms window until the write gets journaled and flushed to disk. It is possible to force the write to be journaled before acknowledging the write by setting the j option:

Beispiel #7 Acknowledged and Journaled Write

Forcing journal flush

<?php
$options = array(
    "w" => 1,
    "j" => true,
);
try {
    $collection->insert($document, $options);
} catch(MongoCursorException $e) {
    /* handle the exception */
}
?>

Siehe auch

  • » MongoDB WriteConcern docs

Changelog

Version | Beschreibung
1.3.0 | MongoClient was introduced and defaults to acknowledged writes. The deprecated Mongo defaults to unacknowledged writes.
1.3.0 | The "safe" write option has been deprecated and is not available with the new MongoClient class. Use the "w" option instead.
Read Preferences
SQL to Mongo Mapping Chart
Manual


SQL to Mongo Mapping Chart

This is a PHP-specific version of the » SQL to Mongo mapping chart in the main docs.

SQL Statement | Mongo Query Language Statement
CREATE TABLE USERS (a Number, b Number) | Implicit or use MongoDB::createCollection().
INSERT INTO USERS VALUES(1,1) | $db->users->insert(array("a" => 1, "b" => 1));
SELECT a,b FROM users | $db->users->find(array(), array("a" => 1, "b" => 1));
SELECT * FROM users WHERE age=33 | $db->users->find(array("age" => 33));
SELECT a,b FROM users WHERE age=33 | $db->users->find(array("age" => 33), array("a" => 1, "b" => 1));
SELECT a,b FROM users WHERE age=33 ORDER BY name | $db->users->find(array("age" => 33), array("a" => 1, "b" => 1))->sort(array("name" => 1));
SELECT * FROM users WHERE age>33 | $db->users->find(array("age" => array('$gt' => 33)));
SELECT * FROM users WHERE age<33 | $db->users->find(array("age" => array('$lt' => 33)));
SELECT * FROM users WHERE name LIKE "%Joe%" | $db->users->find(array("name" => new MongoRegex("/Joe/")));
SELECT * FROM users WHERE name LIKE "Joe%" | $db->users->find(array("name" => new MongoRegex("/^Joe/")));
SELECT * FROM users WHERE age>33 AND age<=40 | $db->users->find(array("age" => array('$gt' => 33, '$lte' => 40)));
SELECT * FROM users ORDER BY name DESC | $db->users->find()->sort(array("name" => -1));
CREATE INDEX myindexname ON users(name) | $db->users->ensureIndex(array("name" => 1));
CREATE INDEX myindexname ON users(name,ts DESC) | $db->users->ensureIndex(array("name" => 1, "ts" => -1));
SELECT * FROM users WHERE a=1 and b='q' | $db->users->find(array("a" => 1, "b" => "q"));
SELECT * FROM users LIMIT 20, 10 | $db->users->find()->limit(10)->skip(20);
SELECT * FROM users WHERE a=1 or b=2 | $db->users->find(array('$or' => array(array("a" => 1), array("b" => 2))));
SELECT * FROM users LIMIT 1 | $db->users->find()->limit(1);
EXPLAIN SELECT * FROM users WHERE z=3 | $db->users->find(array("z" => 3))->explain()
SELECT DISTINCT last_name FROM users | $db->command(array("distinct" => "users", "key" => "last_name"));
SELECT COUNT(*y) FROM users | $db->users->count();
SELECT COUNT(*y) FROM users where AGE > 30 | $db->users->find(array("age" => array('$gt' => 30)))->count();
SELECT COUNT(AGE) from users | $db->users->find(array("age" => array('$exists' => true)))->count();
UPDATE users SET a=1 WHERE b='q' | $db->users->update(array("b" => "q"), array('$set' => array("a" => 1)));
UPDATE users SET a=a+2 WHERE b='q' | $db->users->update(array("b" => "q"), array('$inc' => array("a" => 2)));
DELETE FROM users WHERE z="abc" | $db->users->remove(array("z" => "abc"));

Write Concerns
Connecting
Manual


Connecting

Inhaltsverzeichnis

  • Connecting over SSL
  • Authentication
  • Replica Sets
  • Sharding
  • Domain Socket Support
  • Persistent Connections (version 1.3.0+)
  • Connection Pooling (version 1.2.0-1.2.12 *only*)
  • Manually Persistent Connections (version up to 1.1.4 *only*)

Connecting to MongoDB can be as easy as new MongoClient, but there are many additional options and configurations. The documentation for MongoClient::__construct() covers all of the API options, but this page gives some more details and advice for practical use cases.

SQL to Mongo Mapping Chart
Connecting over SSL
Manual


Connecting over SSL

The driver supports connecting to » MongoDB over SSL and can optionally use SSL Stream Context options to provide more details, such as verifying certificates against specific certificate chain, or authenticate to » MongoDB using X509 certificates.

Beispiel #1 Connect to MongoDB Instance with SSL Encryption

<?php
$mc = new MongoClient("mongodb://server1", array("ssl" => true));
?>

Beispiel #2 Connect to MongoDB Instance with SSL Encryption, verifying it is who we think it is

<?php
$SSL_DIR = "/vagrant/certs";
$SSL_FILE = "CA_Root_Certificate.pem";

$ctx = stream_context_create(array(
    "ssl" => array(
        /* Certificate Authority the remote server certificate must be signed by */
        "cafile"            => $SSL_DIR . "/" . $SSL_FILE,

        /* Disable self signed certificates */
        "allow_self_signed" => false,

        /* Verify the peer certificate against our provided Certificate Authority root certificate */
        "verify_peer"       => true, /* Default to false pre PHP 5.6 */

        /* Verify the peer name (e.g. hostname validation) */
        /* Will use the hostname used to connec to the node */
        "verify_peer_name"  => true,

        /* Verify the server certificate has not expired */
        "verify_expiry"     => true, /* Only available in the MongoDB PHP Driver */
    ),
);

$mc = new MongoClient(
    "mongodb://server1",
    array("ssl" => true),
    array("context" => $ctx)
);
?>

Hinweis:

The "verify_peer_name" is new in PHP 5.6.0. The MongoDB driver as of 1.6.5 however has backported this feature into the driver itself, so it works with PHP 5.3 and 5.4 too

Beispiel #3 Connect to MongoDB Instance that Requires Client Certificates

<?php
$SSL_DIR  = "/vagrant/certs";
$SSL_FILE = "CA_Root_Certificate.pem";

$MYCERT   = "/vagrant/certs/ca-signed-client.pem";

$ctx = stream_context_create(array(
    "ssl" => array(
        "local_cert"        => $MYCERT,
        /* If the certificate we are providing was passphrase encoded, we need to set it here */
        "passphrase"        => "My Passphrase for the local_cert",

        /* Optionally verify the server is who he says he is */
        "cafile"            => $SSL_DIR . "/" . $SSL_FILE,
        "allow_self_signed" => false,
        "verify_peer"       => true,
        "verify_peer_name"  => true,
        "verify_expiry"     => true,
    ),
));

$mc = new MongoClient(
    "mongodb://server1/?ssl=true",
    array(),
    array("context" => $ctx)
);
?>

Beispiel #4 Authenticating with X.509 certificates

The username is the certificate subject from the X509, which can be extracted like this:

openssl x509 -in /vagrant/certs/ca-signed-client.pem -inform PEM -subject -nameopt RFC2253
<?php
$ctx = stream_context_create( array(
    "ssl" => array(
        "local_cert" => "/vagrant/certs/ca-signed-client.pem",
    )
) );

$mc = new MongoClient(
    'mongodb://username@server1/?authSource=$external&authMechanism=MONGODB-X509&ssl=true',
    array(),
    array("context" => $ctx)
);
?>

Where username is the certificate subject.

Changelog

Version | Beschreibung
1.5.0 | Added support for X509 authentication.
1.4.0 | Added support for connecting to SSL enabled MongoDB.
Connecting
Authentication
Connecting


Authentication

If MongoDB is started with the --auth or --keyFile options, you must authenticate before you can do any operations with the driver. You may authenticate a connection by specifying the username and password in either the connection URI or the "username" and "password" options for MongoClient::__construct().

Beispiel #1 Authenticating against the "admin" database

<?php
// Specifying the username and password in the connection URI (preferred)
$m = new MongoClient("mongodb://${username}:${password}@localhost");

// Specifying the username and password via the options array (alternative)
$m = new MongoClient("mongodb://localhost", array("username" => $username, "password" => $password));
?>

By default, the driver will authenticate against the admin database. You may authenticate against a different database by specifying it in either the connection URI or the "db" option for MongoClient::__construct().

Beispiel #2 Authenticating against normal databases

<?php
// Specifying the authentication database in the connection URI (preferred)
$m = new MongoClient("mongodb://${username}:${password}@localhost/myDatabase");

// Specifying the authentication database via the options array (alternative)
$m = new MongoClient("mongodb://${username}:${password}@localhost", array("db" => "myDatabase"));
?>

If your connection is dropped, the driver will automatically attempt to reconnect and reauthenticate you.

Connecting over SSL
Replica Sets
Connecting


Replica Sets

To connect to a replica set, specify one or more members of the set and use the "replicaSet" option. Multiple servers may be delimited by a comma.

Beispiel #1 ReplicaSet seed list

<?php
// Using multiple servers as the seed list (prefered)
$m = new MongoClient("mongodb://rs1.example.com:27017,rs2.example.com:27017/?replicaSet=myReplSetName");

// Using one server as the seed list
$m = new MongoClient("mongodb://rs1.example.com:27017", array("replicaSet" => "myReplSetName"));

// Using multiple servers as the seed list
$m = new MongoClient("mongodb://rs1.example.com:27017,rs2.example.com:27017", array("replicaSet" => "myReplSetName"));
?>

The PHP driver will query the database server(s) listed to determine the primary. So long as it can connect to at least one host listed and find a primary, the connection will succeed. If it cannot make a connection to any servers listed or cannot find a primary, a MongoConnectionException will be thrown.

Tipp

You should always provide a seed list with more than one member of the ReplicaSet. For highest availability you should seed with at least one server from each of your datacenters.

Warnung

The host names that you specify in the seed list must match the host names in the replica set configuration. This is because the driver only uses the host names in the replica set configuration to create the hash for its persistent connections.

For example, if an IP address is used in the seed list and the replica set is configured with host names, the driver will discard any seed list connection(s) that differ from the canonical host names reported by the replica set. Effectively, these non-canonical seed list connections will be recreated on each request, greatly reducing the benefit of using persistent connections.

Warnung

The driver does not support connecting to different replica sets with the same name. This extends beyond one script so make sure to have separate names for each of your replica sets. That also means that you can not do this:

Beispiel #2 Wrong replica set name duplication

<?php
$m = new MongoClient("mongodb://devserver1,devserver2,devserver3/?replicaSet=repset");
$m = new MongoClient("mongodb://prodserver1,prodserver2,prodserver3/?replicaSet=repset");
?>

Instead, you need to have two different names for your replica sets:

Beispiel #3 Correct use of two replica set names

<?php
$m = new MongoClient("mongodb://devserver1,devserver2,devserver3/?replicaSet=devset");
$m = new MongoClient("mongodb://prodserver1,prodserver2,prodserver3/?replicaSet=prodset");
?>

If the primary becomes unavailable, an election will take place and a secondary will be promoted to the role of primary (unless a majority vote cannot be established). During this time (» 20-60 seconds), the connection will not be able to perform any write operations and attempts to do so will result in an exception. Connections to secondaries will still be able to perform reads.

Hinweis:

The default Read Preference is to only read from the primary. During the election process there is no primary, and all read will therefore fail.

It is recommended to use MongoClient::RP_PRIMARY_PREFERRED Read Preference for applications that require high availability for reads, as reads will only be executed on the secondaries when there simply isn't a primary available.

Once a primary is elected, attempting to perform a read or write will allow the driver to detect the new primary. The driver will make this its primary database connection and continue operating normally.

The health and state of a secondary is checked every 5 seconds (configurable with mongo.ping_interval) or when the next operation occurs after 5 seconds. It will also recheck the configuration when the driver has a problem reaching a server.

Replica set failovers are checked every 60 seconds (configurable with mongo.is_master_interval), and whenever a write operation fails when using acknowledged writes.

Achtung

Secondaries may be behind the primary in operations, so your application must be able to handle out-of-date data when using Read Preferences other then MongoClient::RP_PRIMARY.

For more information on replica sets, see the » core documentation.

Siehe auch

  • Read Preferences
  • Write Concerns

Changelog

Version | Beschreibung
1.0.9 | Added support for connecting to ReplicaSet and automatic failover.
Authentication
Sharding
Connecting


Sharding

To connect to a shard cluster, specify the address of one or more mongos instances in the connection string. Multiple servers may be delimited by a comma.

<?php
// Using one server as the seed list
$m = new MongoClient("mongodb://mongos1.example.com:27017");

// Using multiple servers as the seed list
$m = new MongoClient("mongodb://mongos1.example.com:27017,mongos2.example.com:27017");
?>

Regardless of whether each shard is a stand-alone mongod server or a full replica set, the driver's connection process is the same. All database communication will be routed through mongos.

For more information on sharding with MongoDB, see the » sharding documentation.

Replica Sets
Domain Socket Support
Connecting


Domain Socket Support

MongoDB has built-in support for connecting via Unix Domain Sockets and will open the socket on startup. By default, the socket is located in /tmp/mongodb-<port>.sock.

To connect to the socket file, specify the path in your MongoDB connection string:

<?php
$m = new MongoClient("mongodb:///tmp/mongo-27017.sock");
?>

If you would like to authenticate against a database (as described above) with a socket file, you must specify a port of 0 so that the connection string parser can detect the end of the socket path. Alternatively, you can use the constructor options.

<?php
$m = new MongoClient("mongodb://username:password@/tmp/mongo-27017.sock:0/foo");
?>

Changelog

Version | Beschreibung
1.0.9 | Added support for Unix Domain Sockets.
Sharding
Persistent Connections (version 1.3.0+)
Connecting


Persistent Connections (version 1.3.0+)

All versions of the driver since 1.3.0 utilize persistent connections to minimize the number of connections made to each database server. These connections are saved by the PHP worker process and may be reused between multiple requests.

Before connecting to a database server, the driver will create a hash for the connection based on its host, port, replica set name (if any), any authentication credentials (e.g. username, password, database), and the process ID. If a connection already exists for that hash, it will be used in lieu of creating a new connection associated with that hash. MongoClient::getConnections() may be used to retrieve info about each persistent connection. Consider the following program:

<?php

$m1 = new MongoClient('mongodb://localhost');
$m2 = new MongoClient('mongodb://localhost');
$m3 = new MongoClient('mongodb://user:pw@localhost');
$m4 = new MongoClient('mongodb://127.0.0.1');
$m5 = new MongoClient('mongodb://rs1.local:30017,rs2.local:30018/?replicaSet=rs');
$m6 = new MongoClient('mongodb://sharding.local:40017');

foreach (MongoClient::getConnections() as $conn) {
    echo $conn['hash'], "\n";
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

localhost:27017;-;X;15487
localhost:27017;-;admin/user/c56c…8bbc;15487
127.0.0.1:27017;-;X;15487
rs1.local:30017;rs;X;15487
rs2.local:30018;rs;X;15487
sharding.local:40017;-;X;15487

In this example $m1 and $m2 have the same hash and share a persistent connection. Connections for each other MongoClient instance hash to unique values and use their own sockets. Note that "localhost" and "127.0.0.1" do not share the same hash; DNS resolution is not taken into account.

Domain Socket Support
Connection Pooling (version 1.2.0-1.2.12 *only*)
Connecting


Connection Pooling (version 1.2.0-1.2.12 *only*)

Hinweis:

This section is no longer relevant as of the 1.3.0 release of the driver and only serves as a historical information on how the pooling used to work.

The latest versions of the driver have no concept of pooling anymore and will maintain only one connection per process, for each connection type (ReplicaSet/standalone/mongos), for each credentials combination.

Creating connections is one of the most heavyweight things that the driver does. It can take hundreds of milliseconds to set up a connection correctly, even on a fast network. Thus, the driver tries to minimize the number of new connections created by reusing connections from a pool.

When a user creates a new instance of MongoClient, all necessary connections will be taken from their pools (replica sets may require multiple connections, one for each member of the set). When the MongoClient instance goes out of scope, the connections will be returned to the pool. When the PHP process exits, all connections in the pools will be closed.

"Why do I have so many open connections?"

Connection pools can generate a large number of connections. This is expected and, using a little arithmetic, you can figure out how many connections will be created. There are three factors in determining the total number of connections:

  • connections_per_pool

    Each connection pool will create, by default, an unlimited number of connections. One might assume that this is a problem: if it can create an unlimited number of connections, couldn't it create thousands and the server would run out of file descriptors? In practice, this is unlikely, as unused connections are returned to the pool to be used later, so future connections will use the same connection instead of creating a new one. Unless you create thousands of connections at once without letting any go out of scope, the number of connections open should stay at a reasonable number.

    You can see how many connections you have in a pool using the MongoPool::info() function. Add up the "in use" and "in pool" fields for a given server. That is the total number of connections for that pool.

  • pools_per_process

    Each MongoDB server address you're connecting to gets its own connection pool. For example, if your local hostname is "example.net", connecting to "example.net:27017", "localhost:27017", and "/tmp/mongodb-27017.sock" will create three connection pools. You can see how many connection pools you have open using MongoPool::info().

  • processes

    Each PHP process has a separate set of pools. PHP-FPM and Apache generally create between 6 and a couple of dozen PHP worker children. Check your settings to see what the max number of PHP processes is that can be spawned.

    If you are using PHP-FPM, estimating the number of connections can be tricky because it will spawn more PHP-FPM workers under heavy load. To be on the safe side, look at the max_children parameter or add up spare_servers + start_servers (choose whichever number is higher). That will indicate how many PHP processes (i.e. sets of pools) you should plan for.

The three variables above can be multiplied together to give the max number of connections expected: connections_per_pool * pools_per_process * processes. Note that connections_per_pool can be different for different pools, so connections_per_pool should be the max.

For example, suppose we're getting 30 connections per pool, 10 pools per PHP process, and 128 PHP processes. Then we can expect 38400 connections from this machine. Thus, we should set this machine's file descriptor limit to be high enough to handle all of these connections or it may run out of file descriptors.

See MongoPool for more information on connection pooling.

Persistent Connections (version 1.3.0+)
Manually Persistent Connections (version up to 1.1.4 *only*)
Connecting


Manually Persistent Connections (version up to 1.1.4 *only*)

Hinweis:

This section is not relevant for 1.2.0+. In 1.2.0+, connections are always persistent and managed automatically by the driver. If you are using a 1.2.x release (but not 1.3.x or later), see MongoPool for more information on pooling.

Creating new connection to the database is very slow. To minimize the number of connections that you need to make, you can use persistent connections. A persistent connection is saved by PHP, so you can use the same connection for multiple requests.

For example, this simple program connects to the database 1000 times:

<?php

for ($i=0; $i<1000; $i++) {
  $m = new MongoClient();
}

?>

It takes approximately 18 seconds to execute. If we change it to use a persistent connection:

<?php

for ($i=0; $i<1000; $i++) {
  $m = new MongoClient("localhost:27017", array("persist" => "x"));
}

?>

...it takes less than .02 seconds to execute, as it only makes one database connection.

Persistent connections need an identifier string (which is "x" in the above example) to uniquely identify them. For a persistent connection to be used, the hostname, port, persist string, and authentication credentials (username, password and database, if given) must match an existing persistent connection. Otherwise, a new connection will be created with this identifying information.

Persistent connections are highly recommended and should always be used in production unless there is a compelling reason not to. Most of the reasons that they are not recommended for relational databases are irrelevant to MongoDB.

Connection Pooling (version 1.2.0-1.2.12 *only*)
Stream Context Options
Connecting


Stream Context Options

The PHP MongoDB extension provides Stream Context Support using the mongodb context.

A stream context must be created with stream_context_create() and passed to the MongoClient::__construct() before the actual connection to MongoDB is made. It is not possible to apply a stream context to already created streams.

Additional context options and parameters, such as ssl and notification parameters, are also supported.

The MongoDB context options provide a rich interface to log network traffic between the driver and the MongoDB servers. This interface can be used to provide query logging, profiler, debuggers, or anything that would need to inspect the underlaying commands and protocol options.

Siehe auch

  • SSL-Kontext-Optionen
  • Socket context options
  • Kontextparameter

Inhaltsverzeichnis

  • log_cmd_delete — Callback When Deleting Documents
  • log_cmd_insert — Callback When Inserting Documents
  • log_cmd_update — Callback When Updating Documents
  • log_getmore — Callback When Retrieving Next Cursor Batch
  • log_killcursor — Callback When Executing KILLCURSOR operations
  • log_reply — Callback When Reading the MongoDB reply
  • log_write_batch — Callback When Writing Batches
Manually Persistent Connections (version up to 1.1.4 *only*)
log_cmd_delete
Manual


Callback When Deleting Documents

Stream Context Options
log_cmd_insert
Stream Context Options
PHP Manual

log_cmd_delete

(PECL mongo >= 1.5.0)

log_cmd_delete — Callback When Deleting Documents

Beschreibung

log_cmd_delete ( array $server , array $writeOptions , array $deleteOptions , array $protocolOptions )

A callable function, used by the log_cmd_delete context option, when deleteing a document

Hinweis:

This is not a real function, only a prototype of how the function should be.

Parameter-Liste

server

An array containing the basic information about the server that was picked.

key | value
hash | server hash, example: localhost:27017;-;X;56052
type | Node type (primary/secondary/mongos/arbiter): 2
max_bson_size | The maximum BSON Size over the wire this node accepts: 16777216
max_message_size | The maximum Message Size over the wire this node accepts: 48000000
request_id | The request identifier for this message: 42

writeOptions

key | value
ordered | boolean, if the operation (in case of batch operation) must be executed sequentually (ordered=true)
writeConcern | An array of writeConcern options (see below)
writeConcern array values
key | value
fsync | boolean, force flushing to disk before returning
j | boolean, force journal write before returning
wtimeout | integer, milliseconds, maximum time the primary is allowed to wait to verify replication
w | integer=server count, or string=replication-tag

deleteOptions

key | value
limit | integer, 1 or 0. If 0, delete all matching documents.
q | Array, the search criteria

protocolOptions

key | value
message_length | The total size (in bytes) of the encoded message being sent over the wire
request_id | The request identifier for this message: 42
namespace | The MongoDB namespace used for the protocol message dbname.collectionname

Changelog

Version | Beschreibung
1.5.0 | Only available when connected to MongoDB 2.6.0+
Stream Context Options
log_cmd_insert
Stream Context Options


Callback When Inserting Documents

log_cmd_delete
log_cmd_update
Stream Context Options
PHP Manual

log_cmd_insert

(PECL mongo >= 1.5.0)

log_cmd_insert — Callback When Inserting Documents

Beschreibung

log_cmd_insert ( array $server , array $document , array $writeOptions , array $protocolOptions )

A callable function, used by the log_cmd_insert context option, when inserting a document

Hinweis:

This is not a real function, only a prototype of how the function should be.

Parameter-Liste

server

An array containing the basic information about the server that was picked.

key | value
hash | server hash, example: localhost:27017;-;X;56052
type | Node type (primary/secondary/mongos/arbiter): 2
max_bson_size | The maximum BSON Size over the wire this node accepts: 16777216
max_message_size | The maximum Message Size over the wire this node accepts: 48000000
request_id | The request identifier for this message: 42

document

The document that has been prepared to be inserted

writeOptions

key | value
ordered | boolean, if the operation (in case of batch operation) must be executed sequentually (ordered=true)
writeConcern | An array of writeConcern options (see below)
writeConcern array values
key | value
fsync | boolean, force flushing to disk before returning
j | boolean, force journal write before returning
wtimeout | integer, milliseconds, maximum time the primary is allowed to wait to verify replication
w | integer=server count, or string=replication-tag

protocolOptions

key | value
message_length | The total size (in bytes) of the encoded message being sent over the wire
request_id | The request identifier for this message: 42
namespace | The MongoDB namespace used for the protocol message dbname.collectionname

Changelog

Version | Beschreibung
1.5.0 | Only available when connected to MongoDB 2.6.0+
log_cmd_delete
log_cmd_update
Stream Context Options


Callback When Updating Documents

log_cmd_insert
log_getmore
Stream Context Options
PHP Manual

log_cmd_update

(PECL mongo >= 1.5.0)

log_cmd_update — Callback When Updating Documents

Beschreibung

log_cmd_update ( array $server , array $writeOptions , array $updateOptions , array $protocolOptions )

A callable function, used by the log_cmd_update context option, when updateing a document

Hinweis:

This is not a real function, only a prototype of how the function should be.

Parameter-Liste

server

An array containing the basic information about the server that was picked.

key | value
hash | server hash, example: localhost:27017;-;X;56052
type | Node type (primary/secondary/mongos/arbiter): 2
max_bson_size | The maximum BSON Size over the wire this node accepts: 16777216
max_message_size | The maximum Message Size over the wire this node accepts: 48000000
request_id | The request identifier for this message: 42

writeOptions

key | value
ordered | boolean, if the operation (in case of batch operation) must be executed sequentually (ordered=true)
writeConcern | An array of writeConcern options (see below)
writeConcern array values
key | value
fsync | boolean, force flushing to disk before returning
j | boolean, force journal write before returning
wtimeout | integer, milliseconds, maximum time the primary is allowed to wait to verify replication
w | integer=server count, or string=replication-tag

updateOptions

key | value
multi | Boolean, true if this update is allowed to update all matched criteria
upsert | Boolean, true if the document should be created if criteria does not match
q | Array, the search criteria
u | Array, the new object/modifications

protocolOptions

key | value
message_length | The total size (in bytes) of the encoded message being sent over the wire
request_id | The request identifier for this message: 42
namespace | The MongoDB namespace used for the protocol message dbname.collectionname

Changelog

Version | Beschreibung
1.5.0 | Only available when connected to MongoDB 2.6.0+
log_cmd_insert
log_getmore
Stream Context Options


Callback When Retrieving Next Cursor Batch

log_cmd_update
log_killcursor
Stream Context Options
PHP Manual

log_getmore

(PECL mongo >= 1.5.0)

log_getmore — Callback When Retrieving Next Cursor Batch

Beschreibung

log_getmore ( array $server , array $info )

A callable function, used by the log_getmore context option, when executing a GET_MORE operation.

Hinweis:

This is not a real function, only a prototype of how the function should be.

Parameter-Liste

server

An array containing the basic information about the server that was picked.

key | value
hash | server hash, example: localhost:27017;-;X;56052
type | Node type (primary/secondary/mongos/arbiter): 2
max_bson_size | The maximum BSON Size over the wire this node accepts: 16777216
max_message_size | The maximum Message Size over the wire this node accepts: 48000000
request_id | The request identifier for this message: 42

info

key | value
request_id | integer, the driver request identifier
cursor_id | integer, the cursor identifier being used to fetch more data
batch_size | integer, maximum number of documents being requested

log_cmd_update
log_killcursor
Stream Context Options


Callback When Executing KILLCURSOR operations

log_getmore
log_reply
Stream Context Options
PHP Manual

log_killcursor

(PECL mongo >= 1.5.0)

log_killcursor — Callback When Executing KILLCURSOR operations

Beschreibung

log_killcursor ( array $server , array $info )

A callable function, used by the log_killcursor context option, when reading a killcursor from MongoDB.

Hinweis:

This is not a real function, only a prototype of how the function should be.

Parameter-Liste

server

An array containing the basic information about the server that was picked.

key | value
hash | server hash, example: localhost:27017;-;X;56052
type | Node type (primary/secondary/mongos/arbiter): 2
max_bson_size | The maximum BSON Size over the wire this node accepts: 16777216
max_message_size | The maximum Message Size over the wire this node accepts: 48000000
request_id | The request identifier for this message: 42

info

key | value
cursor_id | integer, the cursor identifier to kill

log_getmore
log_reply
Stream Context Options


Callback When Reading the MongoDB reply

log_killcursor
log_write_batch
Stream Context Options
PHP Manual

log_reply

(PECL mongo >= 1.5.0)

log_reply — Callback When Reading the MongoDB reply

Beschreibung

log_reply ( array $server , array $messageHeaders , array $operationHeaders )

A callable function, used by the log_reply context option, when reading a reply from MongoDB.

Hinweis:

This is not a real function, only a prototype of how the function should be.

Parameter-Liste

server

An array containing the basic information about the server that was picked.

key | value
hash | server hash, example: localhost:27017;-;X;56052
type | Node type (primary/secondary/mongos/arbiter): 2
max_bson_size | The maximum BSON Size over the wire this node accepts: 16777216
max_message_size | The maximum Message Size over the wire this node accepts: 48000000
request_id | The request identifier for this message: 42

messageHeaders

key | value
length | integer, bytes, message reply length
request_id | integer, the server request identifier
response_id | integer, the driver request identifier this message is a response of
opcode | integer, the opcode id

operationHeaders

key | value
flags | integer, bitmask of protocol flags
cursor_id | integer, ID of the cursor created on the server (0 if none created, or its been exhausted)
start | The starting offset of this cursor
returned | integer, how many documents are returned in this trip

Siehe auch

  • The » OP_REPLY definition in the Wire Protocol
log_killcursor
log_write_batch
Stream Context Options


Callback When Writing Batches

log_reply
Writes
Stream Context Options
PHP Manual

log_write_batch

(PECL mongo >= 1.5.0)

log_write_batch — Callback When Writing Batches

Beschreibung

log_write_batch ( array $server , array $writeOptions , array $batch , array $protocolOptions )

A callable function, used by the log_write_batch context option, when executing a batch operation.

Hinweis:

This is not a real function, only a prototype of how the function should be.

Parameter-Liste

server

An array containing the basic information about the server that was picked.

key | value
hash | server hash, example: localhost:27017;-;X;56052
type | Node type (primary/secondary/mongos/arbiter): 2
max_bson_size | The maximum BSON Size over the wire this node accepts: 16777216
max_message_size | The maximum Message Size over the wire this node accepts: 48000000
request_id | The request identifier for this message: 42

writeOptions

key | value
ordered | boolean, if the operation (in case of batch operation) must be executed sequentually (ordered=true)
writeConcern | An array of writeConcern options (see below)
writeConcern array values
key | value
fsync | boolean, force flushing to disk before returning
j | boolean, force journal write before returning
wtimeout | integer, milliseconds, maximum time the primary is allowed to wait to verify replication
w | integer=server count, or string=replication-tag

batch

Array, the actual batch operation.

protocolOptions

key | value
message_length | The total size (in bytes) of the encoded message being sent over the wire
request_id | The request identifier for this message: 42
namespace | The MongoDB namespace used for the protocol message dbname.collectionname

Changelog

Version | Beschreibung
1.5.0 | Only available when connected to MongoDB 2.6.0+
log_reply
Writes
Stream Context Options


Writes

Updating Nested Objects

Suppose we wish to change the name of a comment's author in this document:

{
    "_id" : ObjectId("4b06c282edb87a281e09dad9"),
    "content" : "this is a blog post.",
    "comments" :
    [
        {
            "author" : "Mike",
            "comment" : "I think that blah blah blah...",
        },
        {
            "author" : "John",
            "comment" : "I disagree."
        }
    ]
}
In order to change an inner field, we use $set (so that all of the other fields are not removed!) with the index of comment to change:
<?php

$blog->update($criteria, array('$set' => array("comments.1" => array("author" => "Jim"))));

?>

The Positional Operator

The positional operator $ is useful for updating objects that are in arrays. In the example above, for instance, suppose that we did not know the index of the comment that we needed to change, merely that we needed to change "John" to "Jim". We can use $ to do so.

<?php

$blog->update(
    array('comments.author' => 'John'),
    array('$set' => array('comments.$.author' => 'Jim')));

?>
log_write_batch
Querying
Manual


Querying

Distributing queries to secondaries

All queries (reads and writes) are only sent to the primary member of a replica set by default. This is however easily configurable by using the Read Preferences which allow you to set some generic read preferences (such as allowing secondary reads of the nearest server), and also provide ways to specifically target a server in a specific country, datacenter, or even hardware, by the use of replica set tag sets.

Read preferences can be configured at every level of the driver:

  • As a query parameter or option to MongoClient::__construct()
  • Specifically by calling MongoClient::setReadPreference()
  • At the database level with MongoDB::setReadPreference()
  • At the collection level with MongoCollection::setReadPreference()
  • At the cursor level with MongoCursor::setReadPreference() or MongoCommandCursor::setReadPreference()
Each class inherits its read preference setting from the "parent" context.

Beispiel #1 Inheriting read preferences from the database level down to the cursor

<?php
$db->setReadPreference(MongoClient::RP_SECONDARY_PREFERRED);
$c = $db->myCollection;

$cursor = $c->find();
?>

In this example, the the query will be executed against a secondary. The collection inherits MongoClient::RP_SECONDARY_PREFERRED from the database and the cursor inherits it from the collection.

How secondaries are chosen

Each instance of MongoClient chooses its own secondary using the available secondary with the lowest ping time. So, if we had a PHP client in Europe and one in Australia and we had one secondary in each of these data centers, we could do:

<?php
$options = array("replicaSet" => "setName", "readPreference" => MongoClient::RP_SECONDARY_PREFERRED);

// on the Australian client
$m = new MongoClient("mongodb://primary,australianhost.secondary,europeanhost.secondary", $options);
$cursor = $m->foo->bar->find();
$cursor->getNext();
echo "Reading from: ", $cursor->info()["server"], "\n";

// on the European client
$m = new MongoClient("mongodb://primary,australianhost.secondary,europeanhost.secondary", $options);
$cursor = $m->foo->bar->find();
$cursor->getNext();
echo "Reading from: ", $cursor->info()["server"], "\n";
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Reading from: australianHost
Reading from: europeanHost

Note that we have to do a query before a secondary is chosen: secondaries are chosen lazily by the driver, and for each query separately.

You can see what the driver thinks is the current status of the set members by running MongoClient::getHosts() or MongoClient::getConnections().

If no secondary is readable, the driver will send reads to the primary as we specified MongoClient::RP_SECONDARY_PREFERRED which will fallback to execute a query on a primary if no secondaries are available. A server is considered readable if its state is 2 (SECONDARY) and its health is 1. You can check this with MongoClient::getHosts() and MongoClient::getConnections().

Random notes

Writes are always sent to the primary—and by default all reads are sent to the primary too.

Querying by _id

Every object inserted is automatically assigned a unique _id field, which is often a useful field to use in queries. This works similarly to "get last insert ID" functionality, except that the _id is chosen by the client.

Suppose that we wish to find the document we just inserted. Inserting adds an _id field to the document, so we can query by that:

<?php
$person = array("name" => "joe");

$people->insert($person);

// now $joe has an _id field
$joe = $people->findOne(array("_id" => $person['_id']));
?>

Unless the user has specified otherwise, the _id field is a MongoId. The most common mistake is attempting to use a string to match a MongoId. Keep in mind that these are two different datatypes, and will not match each other in the same way that the string "array()" is not the same as an empty array. For example:

<?php
$person = array("name" => "joe");

$people->insert($person);

// convert the _id to a string
$pid = $person['_id'] . "";

// FAILS - $pid is a string, not a MongoId
$joe = $people->findOne(array("_id" => $pid));
?>

Arrays

Arrays are special in a couple ways. First, there are two types that MongoDB uses: "normal" arrays and associative arrays. Associative arrays can have any mix of key types and values. "Normal" arrays are defined as arrays with ascending numeric indexes starting at 0 and increasing by one for each element. These are, typically, just your usual PHP array.

For instance, if you want to save a list of awards in a document, you could say:

<?php

$collection->save(array("awards" => array("gold", "silver", "bronze")));

?>

Queries can reach into arrays to search for elements. Suppose that we wish to find all documents with an array element of a given value. For example, documents with a "gold" award, such as:

{ "_id" : ObjectId("4b06c282edb87a281e09dad9"), "awards" : ["gold", "silver", "bronze"]}

This can be done with a simple query, ignoring the fact that "awards" is an array:

<?php

  $cursor = $collection->find(array("awards" => "gold"));

?>

Suppose we are querying for a more complex object, if each element of the array were an object itself, such as:

{
     "_id" : ObjectId("4b06c282edb87a281e09dad9"),
     "awards" :
     [
        {
            "first place" : "gold"
        },
        {
            "second place" : "silver"
        },
        {
            "third place" :  "bronze"
        }
     ]
}

Still ignoring that this is an array, we can use dot notation to query the subobject:

<?php

$cursor = $collection->find(array("awards.first place" => "gold"));

?>

Notice that it doesn't matter that there is a space in the field name (although it may be best not to use spaces, just to make things more readable).

You can also use an array to query for a number of possible values. For instance, if we were looking for documents "gold" or "copper", we could do:

<?php

$cursor = $collection->find(array("awards" => array('$in' => array("gold", "copper"))));

?>

Changelog

Version | Beschreibung
1.3.0 | Introduced the Read Preferences framework to allow more fine grained control over secondary reads.
1.3.0 | Deprecated slaveOkay usage, the alternative is Read Preferences.
1.1.0 | Introduced the possiblity of routing reads to secondaries of replica set members using Mongo::setSlaveOkay()
Writes
Updates
Manual


Updates

Updates can be one of the most complicated operation available with MongoDB. They combine a query with an action, modifying documents that match the criteria. They are also extremely powerful, allowing you to change documents quickly and replace them altogether. They are done in-place (when possible) with little overhead.

Modifying vs. replacing documents

There are two types of updates you can use: modifying updates and replacing updates. Modifying updates contain $-operators and change fields in a document: they might increment counters, push new elements onto an array, or change the type of a field.

For example, a modifying update could add a new field to a document.

<?php
/** suppose documents look like:
 * {"username" : "...", "password" : "...", "email" : "..."}
 */
$coll->update(array("username" => "joe"), array('$set' => array("twitter" => "@joe4153")));

/** now the document will look like:
 * {"username" : "joe", "password" : "...", "email" : "...", "twitter" : "@joe4153"}
 */
?>

Replacing updates replace the entire matching document with a new document. They are generally not as efficient as using $-modifiers, but can be very usefully for complex operations or updates that can't be expressed in terms of $-operators.

For example, a replacing update can completely change the structure of a document.

<?php
/** suppose documents look like:
 * {"username" : "...", "password" : "...", "email" : "..."}
 */
$coll->update(array("username" => "joe"), array("userId" => 12345, "info" => array(
    "name" => "joe", "twitter" => "@joe4153", "email" => "..."), "likes" => array()));

/** now the document will look like:
 * {
 *     "userId" : 12345,
 *     "info" : {
 *         "name" : "joe",
 *         "twitter" : "@joe4153",
 *         "email" : "..."
 *     },
 *     "likes" : []
 * }
 */
?>

Updating Nested Objects

Suppose we wish to change the name of a comment's author in this document:

{
    "_id" : ObjectId("4b06c282edb87a281e09dad9"),
    "content" : "this is a blog post.",
    "comments" :
    [
        {
            "author" : "Mike",
            "comment" : "I think that blah blah blah...",
        },
        {
            "author" : "John",
            "comment" : "I disagree."
        }
    ]
}
In order to change an inner field, we use $set (so that all of the other fields are not removed!) with the index of comment to change:
<?php

$blog->update($criteria, array('$set' => array("comments.1" => array("author" => "Jim"))));

?>

The Positional Operator

The positional operator $ is useful for updating objects that are in arrays. In the example above, for instance, suppose that we did not know the index of the comment that we needed to change, merely that we needed to change "John" to "Jim". We can use $ to do so.

<?php

$blog->update(
    array("comments.author" => "John"),
    array('$set' => array('comments.$.author' => "Jim")));

?>
Querying
Security
Manual


Security

Request Injection Attacks

If you are passing $_GET (or $_POST) parameters to your queries, make sure that they are cast to strings first. Users can insert associative arrays in GET and POST requests, which could then become unwanted $-queries.

A fairly innocuous example: suppose you are looking up a user's information with the request http://www.example.com?username=bob. Your application does the query $collection->find(array("username" => $_GET['username'])).

Someone could subvert this by getting http://www.example.com?username[$ne]=foo, which PHP will magically turn into an associative array, turning your query into $collection->find(array("username" => array('$ne' => "foo"))), which will return all users not named "foo" (all of your users, probably).

This is a fairly easy attack to defend against: make sure $_GET and $_POST parameters are the type you expect before you send them to the database (cast them to strings, in this case).

Note that this type of attack can be used with any databases interation that locates a document, including updates, upserts, find-and-modifies, and removes.

Thanks to » Phil for pointing this out.

See » the main documentation for more information about SQL-injection-like issues with MongoDB.

Script Injection Attacks

If you are using JavaScript, make sure that any variables that cross the PHP- to-JavaScript boundry are passed in the scope field of MongoCode, not interpolated into the JavaScript string. This can come up when using MongoDB::execute(), $where clauses, MapReduces, group-bys, and any other time you may pass JavaScript into the database.

Hinweis:

MapReduce ignore the scope field of MongoCode, but there is a scope option on the command that can be used instead.

For example, suppose we have some JavaScript to greet a user in the database logs. We could do:

<?php

// don't do this!

$username = $_POST['username'];
$db->execute("print('Hello, $username!');");

?>

However, what if a malicious user passes in some JavaScript?

<?php

// don't do this!

// $username is set to "'); db.users.drop(); print('"
$db->execute("print('Hello, $username!');");

?>

Now MongoDB executes the JavaScript string "print('Hello, '); db.users.drop(); print('!');". This attack is easy to avoid: use scope to pass variables from PHP to JavaScript:

<?php

$scope = array("user" => $username);
$db->execute(new MongoCode("print('Hello, '+user+'!');", $scope));

?>

This adds a variable user to the JavaScript scope. Now if someone tries to send malicious code, MongoDB will harmlessly print Hello, '); db.dropDatabase(); print('!.

Using scope helps prevent malicious input from being executed by the database. However, you must make sure that your code does not turn around and execute the input anyway! For example, never use the JavaScript eval function on user input:

<?php

// don't do this!

// $jsShellInput is "db.users.drop();"
$scope = array("input" => $jsShellInput);
$db->execute(new MongoCode("eval(input);", $scope));

?>

Always use scope and never allow the database to execute user input as code.

Updates
Troubleshooting
Manual


Troubleshooting

If you're having trouble, there are lots of resources you can turn to.

  • IRC

    The official MongoDB IRC room is irc.freenode.net/#mongodb. This is the fastest way to get help.

  • Mailing List

    » MongoDB's mailing list is a good (and usually very fast) way to get answers to questions.

  • Bug Tracker

    Found a bug? Want a feature? Have a question? File it in the » PHP driver's bug tracker.

You can make the driver log all kinds of error messages as E_NOTICE level PHP error messages. Have a look at the MongoLog for an example.

Security
Running the Driver's Tests
Manual


Running the Driver's Tests

The PECL package does not come with the tests, but they are available at » Github.

.phpt Tests

.phpt tests are the standard way of testing PHP extensions. After compiling the MongoDB driver with "make" you can then issue "make test" to run the tests. These tests require MongoDB to be working, and hence, you need to configure the test suite itself.

There is more information on running the tests in the contributing guidelines on » GitHub.

Reporting Errors

Please report any failures or errors in the » bugtracker. There may be skipped tests, these are normal and can be ignored.

New tests are always welcome! Please feel free to contribute new tests of any type testing any functionality.

Troubleshooting
Core Classes
Manual


Core Classes

Inhaltsverzeichnis

  • MongoClient
  • MongoDB
  • MongoCollection
  • MongoCursor
  • MongoCursorInterface
  • MongoCommandCursor
Warnung

This extension is deprecated. Instead, the MongoDB extension should be used.

The core classes are the most important part of the driver.

Running the Driver's Tests
MongoClient
Mongo


The MongoClient class

(PECL mongo >=1.3.0)

Warnung

This extension that defines this class is deprecated. Instead, the MongoDB extension should be used. Alternatives to this class include:

  • MongoDB\Driver\Manager

Einführung

A connection manager for PHP and MongoDB.

This class is used to create and manage connections. A typical use is:

Beispiel #1 MongoClient basic usage

<?php

$m = new MongoClient(); // connect
$db = $m->foo; // get the database named "foo"

?>

See MongoClient::__construct() and the section on connecting for more information about creating connections.

Klassenbeschreibung

MongoClient {
/* Konstanten */
const string VERSION ;
const string DEFAULT_HOST = "localhost" ;
const int DEFAULT_PORT = 27017 ;
const string RP_PRIMARY = "primary" ;
const string RP_PRIMARY_PREFERRED = "primaryPreferred" ;
const string RP_SECONDARY = "secondary" ;
const string RP_SECONDARY_PREFERRED = "secondaryPreferred" ;
const string RP_NEAREST = "nearest" ;
/* Eigenschaften */
public boolean $connected = FALSE ;
public string $status = NULL ;
protected string $server = NULL ;
protected boolean $persistent = NULL ;
/* Methoden */
public __construct ([ string $server = "mongodb://localhost:27017" [, array $options = array("connect" => TRUE) [, array $driver_options ]]] )
public bool close ([ boolean|string $connection ] )
public bool connect ( void )
public array dropDB ( mixed $db )
public MongoDB __get ( string $dbname )
public static array getConnections ( void )
public array getHosts ( void )
public array getReadPreference ( void )
public array getWriteConcern ( void )
public bool killCursor ( string $server_hash , int|MongoInt64 $id )
public array listDBs ( void )
public MongoCollection selectCollection ( string $db , string $collection )
public MongoDB selectDB ( string $name )
public bool setReadPreference ( string $read_preference [, array $tags ] )
public bool setWriteConcern ( mixed $w [, int $wtimeout ] )
public string __toString ( void )
}

Vordefinierte Konstanten

MongoClient Constants

MongoClient::VERSION
PHP driver version. May be suffixed with "dev", "+" or "-" if it is in-between versions.
MongoClient::DEFAULT_HOST
"localhost"
Host to connect to if no host is given.
MongoClient::DEFAULT_PORT
27017
Port to connect to if no port is given.
MongoClient::RP_PRIMARY
"primary"
Read preference for the primary replica set member.
MongoClient::RP_PRIMARY_PREFERRED
"primaryPreferred"
Read preference for preferring the primary replica set member.
MongoClient::RP_SECONDARY
"secondary"
Read preference for a secondary replica set member.
MongoClient::RP_SECONDARY_PREFERRED
"secondaryPreferred"
Read preference for preferring a secondary replica set member.
MongoClient::RP_NEAREST
"nearest"
Read preference for the nearest replica set member.

Fields

connected

This property will be set to TRUE if we have a open connection to the database, FALSE otherwise. If the connection is to a replica set, this property will only be TRUE if the driver has a connection to a node matching the current read preference. This property does not take authentication into account.

This property is deprecated since version 1.5.0.

status

This property is no longer used and will be set to NULL In driver versions 1.1.x and earlier, this may be set to a string value (e.g. "recycled", "new") when persistent connections are used.

This property is deprecated since version 1.5.0.

Siehe auch

  • Read Preferences
  • Write Concerns
  • Connecting
  • MongoDB core docs on » connecting

Inhaltsverzeichnis

  • MongoClient::close — Closes this connection
  • MongoClient::connect — Connects to a database server
  • MongoClient::__construct — Creates a new database connection object
  • MongoClient::dropDB — Drops a database [deprecated]
  • MongoClient::__get — Gets a database
  • MongoClient::getConnections — Return info about all open connections
  • MongoClient::getHosts — Updates status for all associated hosts
  • MongoClient::getReadPreference — Get the read preference for this connection
  • MongoClient::getWriteConcern — Get the write concern for this connection
  • MongoClient::killCursor — Kills a specific cursor on the server
  • MongoClient::listDBs — Lists all of the databases available.
  • MongoClient::selectCollection — Gets a database collection
  • MongoClient::selectDB — Gets a database
  • MongoClient::setReadPreference — Set the read preference for this connection
  • MongoClient::setWriteConcern — Set the write concern for this connection
  • MongoClient::__toString — String representation of this connection
Core Classes
MongoClient::close
Core Classes


Closes this connection

MongoClient
MongoClient::connect
MongoClient
PHP Manual

MongoClient::close

(PECL mongo >=1.3.0)

MongoClient::close — Closes this connection

This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. There is no equivalent for this method in the new extension.

Beschreibung

public bool MongoClient::close ([ boolean|string $connection ] )

The MongoClient::close() method forcefully closes a connection to the database, even if persistent connections are being used. You should never have to do this under normal circumstances.

Parameter-Liste

connection

If connection is not given, or FALSE then connection that would be selected for writes would be closed. In a single-node configuration, that is then the whole connection, but if you are connected to a replica set, close() will only close the connection to the primary server.

If connection is TRUE then all connections as known by the connection manager will be closed. This can include connections that are not referenced in the connection string used to create the object that you are calling close on.

If connection is a string argument, then it will only close the connection identified by this hash. Hashes are identifiers for a connection and can be obtained by calling MongoClient::getConnections().

Rückgabewerte

Returns if the connection was successfully closed.

Beispiele

Beispiel #1 MongoClient::close() example

This example demonstrates how to selectively close all connections for secondaries only.

<?php
// Connect to a replicaset
$a = new MongoClient("mongodb://whisky:13000/?replicaset=seta");

$connections = $a->getConnections();

foreach ( $connections as $con )
{
    // Loop over all the connections, and when the type is "SECONDARY"
    // we close the connection
    if ( $con['connection']['connection_type_desc'] == "SECONDARY" )
    {
        echo "Closing '{$con['hash']}': ";
        $closed = $a->close( $con['hash'] );
        echo $closed ? "ok" : "failed", "\n";
    }
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Closing 'whisky:13001;X;4948': ok

Changelog

Version | Beschreibung
1.3.0 | The connection parameter to this function was added in 1.3.0. Before that, only the write connection would be closed by this method.
1.2.0 | Before version 1.2.0 the driver would not use persistent connections by default, and all connections would be closed as soon as a MongoDB connection went out if scope. Since version 1.2.0 this is no longer the case and it is a bad idea to call close as you might end up overloading the server with connections under high load.

Siehe auch

  • MongoClient::getConnections() - Return info about all open connections
MongoClient
MongoClient::connect
MongoClient


Connects to a database server

MongoClient::close
MongoClient::__construct
MongoClient
PHP Manual

MongoClient::connect

(PECL mongo >=1.3.0)

MongoClient::connect — Connects to a database server

This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. There is no equivalent for this method in the new extension.

Beschreibung

public bool MongoClient::connect ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

If the connection was successful.

Fehler/Exceptions

Throws MongoConnectionException if it fails to connect to the database.

MongoClient::close
MongoClient::__construct
MongoClient


Creates a new database connection object

MongoClient::connect
MongoClient::dropDB
MongoClient
PHP Manual

MongoClient::__construct

(PECL mongo >=1.3.0)

MongoClient::__construct — Creates a new database connection object

This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. Alternatives to this method include:

  • MongoDB\Driver\Manager::__construct()

Beschreibung

 public MongoClient::__construct
  ([ string $server = "mongodb://localhost:27017"
 [, array $options = array("connect" => TRUE)
 [, array $driver_options
]]] )

If no parameters are passed, this connects to "localhost:27017" (or whatever was specified in php.ini for mongo.default_host and mongo.default_port).

server should have the form:

mongodb://[username:password@]host1[:port1][,host2[:port2:],...]/db

The connection string always starts with mongodb://, to indicate it is a connection string in this form.

If username and password are specified, the constructor will attempt to authenticate the connection with the database before returning. Username and password are optional and must be followed by an @, if specified.

At least one host must be given (port optional, always defaulting to 27017) and as many hosts as desired may be connected to. Host names are comma-separated and the constructor will return successfully if it connected to at least one host. If it could not connect to any of the hosts, it will throw a MongoConnectionException. Please see the Replica Sets section for information on how to connect to Replica Sets.

If you specified a username and password, you may specify a database to authenticate with. If db is not specified, "admin" will be used.

An optional query string may be used to specify extra options. The same options are supported through the options array as well, and are therefore redescribed there. See the examples below on how to set those options.

One part of the options governs how the driver reads from secondary nodes in a replica set environment. Extra information on how these read preferences work is available as well through the read preferences documentation page.

Parameter-Liste

server

The server name.

options

An array of options for the connection. Currently available options include:

  • "authMechanism"

    Available mechanisms are:

    authMechanism | Description | Availability
    MONGODB-CR | Authenticate using Challenge Response mechanism. This is the default value. | All MongoDB versions
    X509 | Authenticates using X509 certificates | MongoDB 2.6. Only available when OpenSSL is enabled
    PLAIN | Authenticates using unencrypted plain username+password. Must be used over SSL connections. Generally used by MongoDB to login via 3rd party LDAP server | MongoDB Enterprise 2.4. The Driver must be compiled against CyrusSASL2
    GSSAPI | Authenticates via kerberos systems | MongoDB Enterprise 2.4. The Driver must be compiled against CyrusSASL2

  • "authSource"

    Should be set to the database name where the user is defined it.

  • "connect"

    If the constructor should connect before returning. Default is TRUE. When set to FALSE the driver will automatically connect to the server whenever it is necessary to do a query. Alternatively, you can run MongoClient::connect() manually.

    Warnung

    This option is not supported through the connection string.

  • "connectTimeoutMS"

    How long a connection can take to be opened before timing out in milliseconds. Defaults to 60000 (60 seconds).

    If -1 is specified, no connection timeout will be applied and PHP will use default_socket_timeout.

  • "db"

    The database to authenticate against can be specified here, instead of including it in the host list. This overrides a database given in the host list.

  • "fsync"

    When "fsync" is set, all write operations will block until the database has flushed the changes to disk. This makes the write operations slower, but it guarantees that writes have succeeded and that the operations can be recovered in case of total system failure.

    If the MongoDB server has journaling enabled, this option is identical to "journal". If journaling is not enabled, this option ensures that write operations will be synced to database files on disk.

    Hinweis: If journaling is enabled, users are strongly encouraged to use the "journal" option instead of "fsync". Do not use "fsync" and "journal" simultaneously, as that will result in an error.

  • "journal"

    When "journal" is set, all write operations will block until the database has flushed the changes to the journal on disk. This makes the write operations slower, but it guarantees that writes have succeeded and that the operations can be recovered in case of total system failure.

    Hinweis: If this option is used and journaling is disabled, MongoDB 2.6+ will raise an error and the write will fail; older server versions will simply ignore the option.

  • "gssapiServiceName"

    Sets the » Kerberos service principal. Only applicable when authMechanism=GSSAPI. Defaults to "mongodb".

  • "password"

    The password can be specified here, instead of including it in the host list. This is especially useful if a password has a "@" in it. This overrides a password set in the host list.

  • "readPreference"

    Specifies the read preference type. Read preferences provide you with control from which secondaries data can be read from.

    Allowed values are: MongoClient::RP_PRIMARY,
MongoClient::RP_PRIMARY_PREFERRED,
MongoClient::RP_SECONDARY,
MongoClient::RP_SECONDARY_PREFERRED and
MongoClient::RP_NEAREST.

    See the documentation on read preferences for more information.

  • "readPreferenceTags"

    Specifies the read preference tags as an array of strings. Tags can be used in combination with the readPreference option to further control which secondaries data might be read from.

    See the documentation on read preferences for more information.

  • "replicaSet"

    The name of the replica set to connect to. If this is given, the primary will be automatically be determined. This means that the driver may end up connecting to a server that was not even listed. See the replica set example below for details.

  • "secondaryAcceptableLatencyMS"

    When reading from a secondary (using ReadPreferences), do not read from secondaries known to be more then secondaryAcceptableLatencyMS away from us. Defaults to 15

  • "socketTimeoutMS"

    How long a socket operation (read or write) can take before timing out in milliseconds. Defaults to 30000 (30 seconds).

    If -1 is specified, socket operations may block indefinitely. This option may also be set on a per-operation basis using MongoCursor::timeout() for queries or the "socketTimeoutMS" option for write methods.

    Hinweis: This is a client-side timeout. If a write operation times out, there is no way to know if the server actually handled the write or not, as a MongoCursorTimeoutException will be thrown in lieu of returning a write result.

  • "ssl"

    A boolean to specify whether you want to enable SSL for the connections to MongoDB. Extra options such as certificates can be set with SSL-Kontext-Optionen.

  • "username"

    The username can be specified here, instead of including it in the host list. This is especially useful if a username has a ":" in it. This overrides a username set in the host list.

  • "w"

    The w option specifies the Write Concern for the driver, which determines how long the driver blocks when writing. The default value is 1.

    This option is applicable when connecting to both single servers and replica sets. A positive value controls how many nodes must acknowledge the write instruction before the driver continues. A value of 1 would require the single server or primary (in a replica set) to acknowledge the write operation. A value of 3 would cause the driver to block until the write has been applied to the primary as well as two secondary servers (in a replica set).

    A string value is used to control which tag sets are taken into account for write concerns. "majority" is special and ensures that the write operation has been applied to the majority (more than 50%) of the participating nodes.

  • "wTimeoutMS"

    This option specifies the time limit, in milliseconds, for write concern acknowledgement. It is only applicable for write operations where "w" is greater than 1, as the timeout pertains to replication. If the write concern is not satisfied within the time limit, a MongoCursorException will be thrown. A value of 0 may be specified to block indefinitely. The default value is 10000 (ten seconds).

The following options are deprecated and should no longer be used:

  • "slaveOkay"

    Deprecated. Please use the read preference options.

  • "timeout"

    Deprecated alias for "connectTimeoutMS".

  • "wTimeout"

    Deprecated alias for "wTimeoutMS".

driver_options

An array of options for the MongoDB driver. Options include setting connection context options for SSL or logging callbacks.

  • "context"

    The Stream Context to attach to all new connections. This allows you for example to configure SSL certificates and are described at SSL context options. See the Connecting over SSL tutorial.

Rückgabewerte

Returns a new database connection object.

Fehler/Exceptions

Throws MongoConnectionException if it tries and fails to connect to the database for all hostnames given. It will also throw a MongoConnnectionException if an invalid username or password is given. See MongoConnectionException documentation for common exceptions and their causes.

Beispiele

Beispiel #1 MongoClient::__construct() replica set example

This example shows how to connect the driver to a replica set. It assumes that there is a set of three servers: sf1.example.com, sf2.example.com, and ny1.example.com. The primary could be any one of these servers.

<?php

// pass a comma-separated list of server names to the constructor
// Note that we don't need to pass in all the members of the replicaset, the driver
// will derive the full list.
$m1 = new MongoClient("mongodb://sf2.example.com,ny1.example.com", array("replicaSet" => "myReplSet"));

?>

If the current primary fails, the driver will figure out which secondary server became the new primary and automatically start using that connection. Automatic failover will not work correctly if replicaSet is not specified.

At least one seed in the seed list must be up for the driver to connect to the replica set.

If you include seeds from two separate replica sets, behavior is undefined.

See the » core documentation on replica sets for more information.

Beispiel #2 Connecting to a domain socket

In version 1.0.9+, you can use a UNIX domain socket to connect to an instance of MongoDB running locally. This should be slightly faster than using a network connection.

In version 1.5.0, the MongoDB server automatically opens a socket at /tmp/mongodb-<port>.sock. You can connect to this by specifying the path in your connection string:

<?php

// MongoDB server running locally on port 20000
$m = new MongoClient("mongodb:///tmp/mongodb-20000.sock");

?>

You can combine this with any other connections you'd like:

<?php

// try to connect to the domain socket, fall back to localhost connection
$m = new MongoClient("mongodb:///tmp/mongodb-27017.sock,localhost:27017");

?>

Beispiel #3 MongoClient::__construct() authentication example

A user must exist in the admin database before attempting to use authentication. You can create one with the Mongo shell by running:

> use admin
switched to db admin
> db.addUser("testUser", "testPass");
{
        "_id" : ObjectId("4b21272fd9ab21611d19095c"),
        "user" : "testUser",
        "pwd" : "03b9b27e0abf1865e2f6fcbd9845dd59"
}
>

After creating a user with, in this case, username "testUser" and password "testPass", you can create an authenticated connection:

<?php

$m = new MongoClient("mongodb://testUser:testPass@localhost");

?>

Beispiel #4 MongoClient::__construct() read preference example

<?php

// Prefer the nearest server in the "east" data center
$uri  = 'mongodb://rs1.example.com,rs2.example.com/';
$uri .= '?readPreference=nearest';
$uri .= '&readPreferenceTags=dc:east';
$m = new MongoClient($uri, array('replicaSet' => 'rs'));
?>

See the read preferences section of this manual for further information.

Beispiel #5 MongoClient::__construct() options example

Options can be passed both through the query string in the connection string, or as an array passed as second argument to the constructor.

Here we set the journal option to true and readPreference to secondary preferred as default for all write operations:

<?php
$m = new MongoClient("mongodb://localhost/?journal=true&readPreference=secondary");
?>

And now we do the same, but as an options array:

<?php
$options = array(
    'journal' => true,
    'readPreference' => 'secondary',
);
$m = new MongoClient("mongodb://localhost/", $options);
?>

Beispiel #6 MongoClient::__construct() read preference example

<?php

// Prefer the nearest server in the "east" data center
$uri  = 'mongodb://rs1.example.com,rs2.example.com/';
$uri .= '?readPreference=nearest';
$uri .= '&readPreferenceTags=dc:east';
$m = new MongoClient($uri, array('replicaSet' => 'rs'));
?>

See the read preferences section of this manual for further information.

Changelog

Version | Beschreibung
1.5.0

Added "authMechanism", "gssapiServiceName", and "secondaryAcceptableLatencyMS".

1.4.0

Added "ssl" option and support for connecting over SSL.

Added "wTimeoutMS" option, which replaces "wTimeout".

Emits E_DEPRECATED when "slaveOkay" or "timeout" is used.

1.5.0

Added "authSource".

1.3.4

Added "connectTimeoutMS" and "socketTimeoutMS" options.

1.3.0

Added "readPreference", "readPreferenceTags", "w", and "wTimeout" options.

1.2.0

Added "username" and "password" options.

Removed "persist" option, as all connections are now persistent. It can still be used, but it doesn't affect anything.

"persist"

If the connection should be persistent. If set, the connection will be persistent. The string representation of the value is used as an ID for the connection, so two instances of MongoClient that are initialized with array("persist" => "foobar") will share the same database connection, whereas an instance initialized with array("persist" => "barbaz") will use a different database connection.

The "replicaSet" option now takes a string, not a boolean.

1.0.9 | Added "replicaSet" option.
1.0.2

Changed constructor to take an array of options. Pre-1.0.2, the constructor took the following parameters:

server

The server name.

connect

Optional boolean parameter specifying if the constructor should connect to the database before returning. Defaults to TRUE.

persistent

If the connection should be persistent.

paired

If the connection should be paired.

MongoClient::connect
MongoClient::dropDB
MongoClient


Drops a database [deprecated]

MongoClient::__construct
MongoClient::__get
MongoClient
PHP Manual

MongoClient::dropDB

(PECL mongo >=1.3.0)

MongoClient::dropDB — Drops a database [deprecated]

This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. There is no equivalent for this method in the new extension, but there is an alternative in the PHP library:

  • » MongoDB\Client::dropDatabase()

Beschreibung

public array MongoClient::dropDB ( mixed $db )
Warnung

Deprecated

Use MongoDB::drop() instead.

Parameter-Liste

db

The database to drop. Can be a MongoDB object or the name of the database.

Rückgabewerte

Returns the database response.

MongoClient::__construct
MongoClient::__get
MongoClient


Gets a database

MongoClient::dropDB
MongoClient::getConnections
MongoClient
PHP Manual

MongoClient::__get

(PECL mongo >=1.3.0)

MongoClient::__get — Gets a database

This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. There is no equivalent for this method in the new extension, but there is an alternative in the PHP library:

  • » MongoDB\Client::__get()

Beschreibung

public MongoDB MongoClient::__get ( string $dbname )

This is the cleanest way of getting a database. If the database name has any special characters, MongoClient::selectDB() will need to be used; however, this should be sufficient for most cases.

<?php

$mongo = new MongoClient();

// the following two lines are equivalent
$db = $mongo->selectDB("foo");
$db = $mongo->foo;

?>

Parameter-Liste

dbname

The database name.

Rückgabewerte

Returns a new db object.

Fehler/Exceptions

Throws a generic exception if the database name is invalid.

MongoClient::dropDB
MongoClient::getConnections
MongoClient


Return info about all open connections

MongoClient::__get
MongoClient::getHosts
MongoClient
PHP Manual

MongoClient::getConnections

(PECL mongo >=1.3.0)

MongoClient::getConnections — Return info about all open connections

This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. There is no equivalent for this method in the new extension.

Beschreibung

public static array MongoClient::getConnections ( void )

Returns an array of all open connections, and information about each of the servers

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An array of open connections.

Beispiele

Beispiel #1 MongoClient::getConnections() example

<?php
$m = new MongoClient;
var_dump($m->getConnections());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(1) {
  [0]=>
  array(3) {
    ["hash"]=>
    string(26) "localhost:27017;-;X;56052"
    ["server"]=>
    array(3) {
      ["host"]=>
      string(10) "localhost"
      ["port"]=>
      int(27017)
      ["pid"]=>
      int(56052)
    }
    ["connection"]=>
    array(8) {
      ["last_ping"]=>
      int(1354076401)
      ["last_ismaster"]=>
      int(0)
      ["ping_ms"]=>
      int(0)
      ["connection_type"]=>
      int(1)
      ["connection_type_desc"]=>
      string(10) "STANDALONE"
      ["max_bson_size"]=>
      int(16777216)
      ["tag_count"]=>
      int(0)
      ["tags"]=>
      array(0) {
      }
    }
  }
}
MongoClient::__get
MongoClient::getHosts
MongoClient


Updates status for all associated hosts

MongoClient::getConnections
MongoClient::getReadPreference
MongoClient
PHP Manual

MongoClient::getHosts

(PECL mongo >=1.3.0)

MongoClient::getHosts — Updates status for all associated hosts

This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. Alternatives to this method include:

  • MongoDB\Driver\Manager::getServers()

Beschreibung

public array MongoClient::getHosts ( void )

This method is only useful with a connection to a replica set. It returns the status of all of the hosts in the set. Without a replica set, it will just return an array with one element containing the host that you are connected to.

See the query section of this manual for information on distributing reads to secondaries.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array of information about the hosts in the set. Includes each host's hostname, its health (1 is healthy), its state (1 is primary, 2 is secondary, 0 is anything else), the amount of time it took to ping the server, and when the last ping occurred. For example, on a three-member replica set, it might look something like:

array(3) {
  ["A:27017"]=>
  array(4) {
    ["host"]=>
    "A"
    ["port"]=>
    27017
    ["health"]=>
    int(1)
    ["state"]=>
    int(2)
    ["ping"]=>
    int(369)
    ["lastPing"]=>
    int(1309470644)
  }
  ["B:27017"]=>
  array(4) {
    ["host"]=>
    "B"
    ["port"]=>
    27017
    ["health"]=>
    int(1)
    ["state"]=>
    int(1)
    ["ping"]=>
    int(139)
    ["lastPing"]=>
    int(1309470644)
  }
  ["C:27017"]=>
  array(4) {
    ["host"]=>
    "C"
    ["port"]=>
    27017
    ["health"]=>
    int(1)
    ["state"]=>
    int(2)
    ["ping"]=>
    int(1012)
    ["lastPing"]=>
    int(1309470644)
  }
}

Changelog

Version | Beschreibung
1.2.10 | Support for non-replicasets was added. The returned array elements now also include the hostname and port.

Siehe auch

  • MongoClient::getConnections() - Return info about all open connections
MongoClient::getConnections
MongoClient::getReadPreference
MongoClient


Get the read preference for this connection

MongoClient::getHosts
MongoClient::getWriteConcern
MongoClient
PHP Manual

MongoClient::getReadPreference

(PECL mongo >=1.3.0)

MongoClient::getReadPreference — Get the read preference for this connection

This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. There is no equivalent for this method in the new extension.

Beschreibung

public array MongoClient::getReadPreference ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

This function returns an array describing the read preference. The array contains the values type for the string read preference mode (corresponding to the MongoClient constants), and tagsets containing a list of all tag set criteria. If no tag sets were specified, tagsets will not be present in the array.

Changelog

Version | Beschreibung
1.3.3 | The return value has changed to be consistent with MongoClient::setReadPreference(). The type value was changed from a number to a string, type_string was removed, and tagsets now expresses tags as key/value pairs instead of colon-delimited strings.

Beispiele

Beispiel #1 MongoClient::getReadPreference() return value example

<?php

$m = new MongoClient();
$m->setReadPreference(MongoClient::RP_SECONDARY, array(
    array('dc' => 'east', 'use' => 'reporting'),
    array('dc' => 'west'),
    array(),
));
var_dump($m->getReadPreference());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  ["type"]=>
  string(9) "secondary"
  ["tagsets"]=>
  array(3) {
    [0]=>
    array(2) {
      ["dc"]=>
      string(4) "east"
      ["use"]=>
      string(9) "reporting"
    }
    [1]=>
    array(1) {
      ["dc"]=>
      string(7) "west"
    }
    [2]=>
    array(0) {
    }
  }
}

Siehe auch

  • The read preferences documentation.
  • MongoClient::setReadPreference() - Set the read preference for this connection
MongoClient::getHosts
MongoClient::getWriteConcern
MongoClient


Get the write concern for this connection

MongoClient::getReadPreference
MongoClient::killCursor
MongoClient
PHP Manual

MongoClient::getWriteConcern

(PECL mongo >=1.5.0)

MongoClient::getWriteConcern — Get the write concern for this connection

This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. There is no equivalent for this method in the new extension.

Beschreibung

public array MongoClient::getWriteConcern ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

This function returns an array describing the write concern. The array contains the values w for an integer acknowledgement level or string mode, and wtimeout denoting the maximum number of milliseconds to wait for the server to satisfy the write concern.

Beispiele

Beispiel #1 MongoClient::getWriteConcern() return value example

<?php

$mc = new MongoClient('mongodb://localhost:27017', array('wTimeoutMS' => 500));
var_dump($mc->getWriteConcern());

$mc->setWriteConcern(1, 1000);
var_dump($mc->getWriteConcern());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  ["w"]=>
  int(1)
  ["wtimeout"]=>
  int(500)
}
array(2) {
  ["w"]=>
  int(1)
  ["wtimeout"]=>
  int(1000)
}

Siehe auch

  • The write concern documentation.
  • MongoClient::setWriteConcern() - Set the write concern for this connection
MongoClient::getReadPreference
MongoClient::killCursor
MongoClient


Kills a specific cursor on the server

MongoClient::getWriteConcern
MongoClient::listDBs
MongoClient
PHP Manual

MongoClient::killCursor

(PECL mongo >=1.5.0)

MongoClient::killCursor — Kills a specific cursor on the server

This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. There is no equivalent for this method in the new extension.

Beschreibung

public bool MongoClient::killCursor ( string $server_hash , int|MongoInt64 $id )

In certain situations it might be needed to kill a cursor on the server. Usually cursors time out after 10 minutes of inactivity, but it is possible to create an immortal cursor with MongoCursor::immortal() that never times out. In order to be able to kill such an immortal cursor, you can call this method with the information supplied by MongoCursor::info().

Parameter-Liste

server_hash

The server hash that has the cursor. This can be obtained through MongoCursor::info().

id

The ID of the cursor to kill. You can either supply an int containing the 64 bit cursor ID, or an object of the MongoInt64 class. The latter is necessary on 32 bit platforms (and Windows).

Rückgabewerte

Returns TRUE if the method attempted to kill a cursor, and FALSE if there was something wrong with the arguments (such as a wrong server_hash). The return status does not reflect where the cursor was actually killed as the server does not provide that information.

Fehler/Exceptions

This method displays a warning if the supplied server_hash does not match up with an existing connection. No attempt to kill a cursor is attempted in that case either.

Beispiele

Beispiel #1 MongoClient::killCursor() example

This example shows how to connect, do a query, obtain the cursor information and then kill the cursor.

<?php
$m = new MongoClient();
$c = $m->testdb->collection;
$cursor = $c->find();
$result = $cursor->next();

// Now the cursor is valid, so we can get the hash and ID out:
$info = $cursor->info();

// Kill the cursor
MongoClient::killCursor( $info['server'], $info['id'] );
?>
MongoClient::getWriteConcern
MongoClient::listDBs
MongoClient


Lists all of the databases available.

MongoClient::killCursor
MongoClient::selectCollection
MongoClient
PHP Manual

MongoClient::listDBs

(PECL mongo >=1.3.0)

MongoClient::listDBs — Lists all of the databases available.

This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. There is no equivalent for this method in the new extension, but there is an alternative in the PHP library:

  • » MongoDB\Client::listDatabases()

Beschreibung

public array MongoClient::listDBs ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an associative array containing three fields. The first field is databases, which in turn contains an array. Each element of the array is an associative array corresponding to a database, giving th database's name, size, and if it's empty. The other two fields are totalSize (in bytes) and ok, which is 1 if this method ran successfully.

Beispiele

Beispiel #1 MongoClient::listDBs() example

Example demonstrating how to use listDBs and the returned data structure.

<?php

$mongo = new MongoClient();
$dbs = $mongo->listDBs();
print_r($dbs);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [databases] => Array
        (
            [0] => Array
                (
                    [name] => doctrine
                    [sizeOnDisk] => 218103808
                    [empty] =>
                )
        )

    [totalSize] => 218103808
    [ok] => 1
)
MongoClient::killCursor
MongoClient::selectCollection
MongoClient


Gets a database collection

MongoClient::listDBs
MongoClient::selectDB
MongoClient
PHP Manual

MongoClient::selectCollection

(PECL mongo >=1.3.0)

MongoClient::selectCollection — Gets a database collection

This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. There is no equivalent for this method in the new extension, but there is an alternative in the PHP library:

  • » MongoDB\Client::selectCollection()

Beschreibung

public MongoCollection MongoClient::selectCollection ( string $db , string $collection )

Parameter-Liste

db

The database name.

collection

The collection name.

Rückgabewerte

Returns a new collection object.

Fehler/Exceptions

Throws Exception if the database or collection name is invalid.

Beispiele

Beispiel #1 MongoClient::selectCollection() example

<?php
$m = new MongoClient();

$c1 = $m->selectCollection("foo", "bar.baz");
// which is equivalent to
$c2 = $m->selectDB("foo")->selectCollection("bar.baz");

// $c1 and $c2 now represent the same collection
?>
MongoClient::listDBs
MongoClient::selectDB
MongoClient


Gets a database

MongoClient::selectCollection
MongoClient::setReadPreference
MongoClient
PHP Manual

MongoClient::selectDB

(PECL mongo >=1.3.0)

MongoClient::selectDB — Gets a database

This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. There is no equivalent for this method in the new extension, but there is an alternative in the PHP library:

  • » MongoDB\Client::selectDatabase()

Beschreibung

public MongoDB MongoClient::selectDB ( string $name )

Parameter-Liste

name

The database name.

Rückgabewerte

Returns a new database object.

Fehler/Exceptions

Throws Exception if the database name is invalid.

MongoClient::selectCollection
MongoClient::setReadPreference
MongoClient


Set the read preference for this connection

MongoClient::selectDB
MongoClient::setWriteConcern
MongoClient
PHP Manual

MongoClient::setReadPreference

(PECL mongo >=1.3.0)

MongoClient::setReadPreference — Set the read preference for this connection

This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. There is no equivalent for this method in the new extension.

Beschreibung

public bool MongoClient::setReadPreference ( string $read_preference [, array $tags ] )

Parameter-Liste

read_preference

The read preference mode: MongoClient::RP_PRIMARY, MongoClient::RP_PRIMARY_PREFERRED, MongoClient::RP_SECONDARY, MongoClient::RP_SECONDARY_PREFERRED, or MongoClient::RP_NEAREST.

tags

An array of zero or more tag sets, where each tag set is itself an array of criteria used to match tags on replica set members.

Rückgabewerte

Returns TRUE on success, or FALSE otherwise.

Fehler/Exceptions

Emits E_WARNING if either parameter is invalid, or if one or more tag sets are provided with the MongoClient::RP_PRIMARY read preference mode.

Beispiele

Beispiel #1 MongoClient::setReadPreference() tag set array syntax example

<?php

$m = new MongoClient();

// Prefer the nearest server in the "east" data center also used for reporting,
// but fall back to a server in the "west" data center
$m->setReadPreference(MongoClient::RP_NEAREST, array(
    array('dc' => 'east', 'use' => 'reporting'),
    array('dc' => 'west'),
));
?>

Siehe auch

  • The read preferences documentation.
  • MongoClient::getReadPreference() - Get the read preference for this connection
MongoClient::selectDB
MongoClient::setWriteConcern
MongoClient


Set the write concern for this connection

MongoClient::setReadPreference
MongoClient::__toString
MongoClient
PHP Manual

MongoClient::setWriteConcern

(PECL mongo >=1.5.0)

MongoClient::setWriteConcern — Set the write concern for this connection

This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. There is no equivalent for this method in the new extension.

Beschreibung

public bool MongoClient::setWriteConcern ( mixed $w [, int $wtimeout ] )

Parameter-Liste

w

The write concern. This may be an integer denoting the number of servers required to acknowledge the write, or a string mode (e.g. "majority").

wtimeout

The maximum number of milliseconds to wait for the server to satisfy the write concern.

Rückgabewerte

Returns TRUE on success, or FALSE otherwise.

Fehler/Exceptions

Emits E_WARNING if the w parameter is not an integer or string value.

Beispiele

Beispiel #1 MongoClient::setWriteConcern() example

<?php

$mc = new MongoClient('mongodb://rs1.example.com,rs2.example.com');

// Require that the majority of servers in the replica set acknowledge writes
// within three seconds.
$mc->setWriteConcern('majority', 3000);
?>

Siehe auch

  • The write concern documentation.
  • MongoClient::getWriteConcern() - Get the write concern for this connection
MongoClient::setReadPreference
MongoClient::__toString
MongoClient


String representation of this connection

MongoClient::setWriteConcern
MongoDB
MongoClient
PHP Manual

MongoClient::__toString

(PECL mongo >=1.3.0)

MongoClient::__toString — String representation of this connection

This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. There is no equivalent for this method in the new extension.

Beschreibung

public string MongoClient::__toString ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns hostname and port for this connection.

MongoClient::setWriteConcern
MongoDB
MongoClient


The MongoDB class

(PECL mongo >=0.9.0)

Einführung

Instances of this class are used to interact with a database. To get a database:

Beispiel #1 Selecting a database

<?php

$m = new MongoClient(); // connect
$db = $m->selectDB("example");

?>
Database names can use almost any character in the ASCII range. However, they cannot contain " ", "." or be the empty string. The name "system" is also reserved.

A few unusual, but valid, database names: "null", "[x,y]", "3", "\"", "/".

Unlike collection names, database names may contain "$".

Klassenbeschreibung

MongoDB {
/* Konstanten */
const int PROFILING_OFF = 0 ;
const int PROFILING_SLOW = 1 ;
const int PROFILING_ON = 2 ;
/* Fields */
public integer $w = 1 ;
public integer $wtimeout = 10000 ;
/* Methoden */
public array authenticate ( string $username , string $password )
public array command ( array $command [, array $options = array() [, string &$hash ]] )
public __construct ( MongoClient $conn , string $name )
public MongoCollection createCollection ( string $name [, array $options ] )
public array createDBRef ( string $collection , mixed $document_or_id )
public array drop ( void )
public array dropCollection ( mixed $coll )
public array execute ( mixed $code [, array $args = array() ] )
public bool forceError ( void )
public MongoCollection __get ( string $name )
public array getCollectionInfo ([ array $options = array() ] )
public array getCollectionNames ([ array $options = array() ] )
public array getDBRef ( array $ref )
public MongoGridFS getGridFS ([ string $prefix = "fs" ] )
public int getProfilingLevel ( void )
public array getReadPreference ( void )
public bool getSlaveOkay ( void )
public array getWriteConcern ( void )
public array lastError ( void )
public array listCollections ([ array $options = array() ] )
public array prevError ( void )
public array repair ([ bool $preserve_cloned_files = FALSE [, bool $backup_original_files = FALSE ]] )
public array resetError ( void )
public MongoCollection selectCollection ( string $name )
public int setProfilingLevel ( int $level )
public bool setReadPreference ( string $read_preference [, array $tags ] )
public bool setSlaveOkay ([ bool $ok = true ] )
public bool setWriteConcern ( mixed $w [, int $wtimeout ] )
public string __toString ( void )
}

Vordefinierte Konstanten

MongoDB Log Levels

MongoDB::PROFILING_OFF
0
Profiling is off.
MongoDB::PROFILING_SLOW
1
Profiling is on for slow operations (>100 ms).
MongoDB::PROFILING_ON
2
Profiling is on for all operations.

Fields

w
1

The number of servers to replicate a change to before returning success. Inherited by instances of MongoCollection derived from this. w functionality is only available in version 1.5.1+ of the MongoDB server and 1.0.8+ of the driver.

w is used whenever you need to adjust the acknowledgement level (MongoCollection::insert(), MongoCollection::update(), MongoCollection::remove(), MongoCollection::save(), and MongoCollection::ensureIndex() all support this option). With the default value (1), an acknowledged operation will return once the database server has the operation. If the server goes down before the operation has been replicated to a secondary, it is possible to lose the operation forever. Thus, you can specify w to be higher than one and guarantee that at least one secondary has the operation before it is considered successful.

For example, if w is 2, the primary and one secondary must have a record of the operation or the driver will throw a MongoCursorException. It is tempting to set w to the total number of secondaries + primary, but then if one secondary is down the operation will fail and an exception will be thrown, so usually w=2 is safest (primary and one secondary).

wtimeout
10000

The number of milliseconds to wait for MongoDB::$w replications to take place. Inherited by instances of MongoCollection derived from this. w functionality is only available in version 1.5.1+ of the MongoDB server and 1.0.8+ of the driver.

Unless wtimeout is set, the server waits forever for replicating to w servers to finish. The driver defaults to waiting for 10 seconds, you can change this value to alter its behavior.

Siehe auch

MongoDB core docs on » databases.

Inhaltsverzeichnis

  • MongoDB::authenticate — Log in to this database
  • MongoDB::command — Execute a database command
  • MongoDB::__construct — Creates a new database
  • MongoDB::createCollection — Creates a collection
  • MongoDB::createDBRef — Creates a database reference
  • MongoDB::drop — Drops this database
  • MongoDB::dropCollection — Drops a collection [deprecated]
  • MongoDB::execute — Runs JavaScript code on the database server [deprecated]
  • MongoDB::forceError — Creates a database error
  • MongoDB::__get — Gets a collection
  • MongoDB::getCollectionInfo — Returns information about collections in this database
  • MongoDB::getCollectionNames — Gets an array of names for all collections in this database
  • MongoDB::getDBRef — Fetches the document pointed to by a database reference
  • MongoDB::getGridFS — Fetches toolkit for dealing with files stored in this database
  • MongoDB::getProfilingLevel — Gets this database's profiling level
  • MongoDB::getReadPreference — Get the read preference for this database
  • MongoDB::getSlaveOkay — Get slaveOkay setting for this database
  • MongoDB::getWriteConcern — Get the write concern for this database
  • MongoDB::lastError — Check if there was an error on the most recent db operation performed
  • MongoDB::listCollections — Gets an array of MongoCollection objects for all collections in this database
  • MongoDB::prevError — Checks for the last error thrown during a database operation
  • MongoDB::repair — Repairs and compacts this database
  • MongoDB::resetError — Clears any flagged errors on the database
  • MongoDB::selectCollection — Gets a collection
  • MongoDB::setProfilingLevel — Sets this database's profiling level
  • MongoDB::setReadPreference — Set the read preference for this database
  • MongoDB::setSlaveOkay — Change slaveOkay setting for this database
  • MongoDB::setWriteConcern — Set the write concern for this database
  • MongoDB::__toString — The name of this database
MongoClient::__toString
MongoDB::authenticate
Core Classes


Log in to this database

MongoDB
MongoDB::command
MongoDB
PHP Manual

MongoDB::authenticate

(PECL mongo >=1.0.1)

MongoDB::authenticate — Log in to this database

This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. There is no equivalent for this method in the new extension.

Instead, you need to provide credentials through the connection string.

Beschreibung

public array MongoDB::authenticate ( string $username , string $password )

This method causes its connection to be authenticated. If authentication is enabled for the database server (it's not, by default), you need to log in before the database will allow you to do anything.

In general, you should use the authenticate built into MongoClient::__construct() in preference to this method. If you authenticate on connection and the connection drops and reconnects during your session, you'll be reauthenticated. If you manually authenticated using this method and the connection drops, you'll have to call this method again once you're reconnected.

This method is identical to running:

<?php

$salted = "${username}:mongo:${password}";
$hash = md5($salted);

$nonce = $db->command(array("getnonce" => 1));

$saltedHash = md5($nonce["nonce"]."${username}${hash}");

$result = $db->command(array("authenticate" => 1,
    "user" => $username,
    "nonce" => $nonce["nonce"],
    "key" => $saltedHash
));

?>

Once a connection has been authenticated, it can only be un-authenticated by using the "logout" database command:

<?php

$db->command(array("logout" => 1));

?>

Parameter-Liste

username

The username.

password

The password (in plaintext).

Rückgabewerte

Returns database response. If the login was successful, it will return

<?php
array("ok" => 1);
?>
If something went wrong, it will return
<?php
array("ok" => 0, "errmsg" => "auth fails");
?>
("auth fails" could be another message, depending on database version and what when wrong).

Siehe auch

MongoDB core docs on » authenticate.

Changelog

Version | Beschreibung
1.2.11 | Emits E_DEPRECATED when used. Please pass in the authentication details to the constructor.

MongoDB
MongoDB::command
MongoDB


Execute a database command

MongoDB::authenticate
MongoDB::__construct
MongoDB
PHP Manual

MongoDB::command

(PECL mongo >=0.9.2)

MongoDB::command — Execute a database command

Beschreibung

public array MongoDB::command ( array $command [, array $options = array() [, string &$hash ]] )

Almost everything that is not a CRUD operation can be done with a database command. Need to know the database version? There's a command for that. Need to do aggregation? There's a command for that. Need to turn up logging? You get the idea.

This method is identical to:

<?php

public function command($data) {
    return $this->selectCollection('$cmd')->findOne($data);
}

?>

Parameter-Liste

command

The query to send.

options

An array of options for the index creation. Currently available options include:

  • "socketTimeoutMS"

    This option specifies the time limit, in milliseconds, for socket communication. If the server does not respond within the timeout period, a MongoCursorTimeoutException will be thrown and there will be no way to determine if the server actually handled the write or not. A value of -1 may be specified to block indefinitely. The default value for MongoClient is 30000 (30 seconds).

The following options are deprecated and should no longer be used:

  • "timeout"

    Deprecated alias for "socketTimeoutMS".

hash

Set to the connection hash of the server that executed the command. When the command result is suitable for creating a MongoCommandCursor, the hash is intended to be passed to MongoCommandCursor::createFromDocument().

The hash will also correspond to a connection returned from MongoClient::getConnections().

Changelog

Version | Beschreibung
1.5.0 | Renamed the "timeout" option to "socketTimeoutMS". Emits E_DEPRECATED when "timeout" is used. Added hash by-reference parameter.
1.2.0 | Added options parameter with a single option: "timeout".

Rückgabewerte

Returns database response. Every database response is always maximum one document, which means that the result of a database command can never exceed 16MB. The resulting document's structure depends on the command, but most results will have the ok field to indicate success or failure and results containing an array of each of the resulting documents.

Beispiele

Beispiel #1 MongoDB::command() "distinct" example

Finding all of the distinct values for a key.

<?php

$people = $db->people;

$people->insert(array("name" => "Joe", "age" => 4));
$people->insert(array("name" => "Sally", "age" => 22));
$people->insert(array("name" => "Dave", "age" => 22));
$people->insert(array("name" => "Molly", "age" => 87));

$ages = $db->command(array("distinct" => "people", "key" => "age"));

foreach ($ages['values'] as $age) {
    echo "$age\n";
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

4
22
87

Beispiel #2 MongoDB::command() "distinct" example

Finding all of the distinct values for a key, where the value is larger than or equal to 18.

<?php

$people = $db->people;

$people->insert(array("name" => "Joe", "age" => 4));
$people->insert(array("name" => "Sally", "age" => 22));
$people->insert(array("name" => "Dave", "age" => 22));
$people->insert(array("name" => "Molly", "age" => 87));

$ages = $db->command(
    array(
        "distinct" => "people",
        "key" => "age",
        "query" => array("age" => array('$gte' => 18))
    )
);

foreach ($ages['values'] as $age) {
    echo "$age\n";
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

22
87

Beispiel #3 MongoDB::command() MapReduce example

Get all users with at least on "sale" event, and how many times each of these users has had a sale.

<?php

// sample event document
$events->insert(array("user_id" => $id,
    "type" => $type,
    "time" => new MongoDate(),
    "desc" => $description));

// construct map and reduce functions
$map = new MongoCode("function() { emit(this.user_id,1); }");
$reduce = new MongoCode("function(k, vals) { ".
    "var sum = 0;".
    "for (var i in vals) {".
        "sum += vals[i];".
    "}".
    "return sum; }");

$sales = $db->command(array(
    "mapreduce" => "events",
    "map" => $map,
    "reduce" => $reduce,
    "query" => array("type" => "sale"),
    "out" => array("merge" => "eventCounts")));

$users = $db->selectCollection($sales['result'])->find();

foreach ($users as $user) {
    echo "{$user['_id']} had {$user['value']} sale(s).\n";
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

User 47cc67093475061e3d9536d2 had 3 sale(s).
User 49902cde5162504500b45c2c had 14 sale(s).
User 4af467e4fd543cce7b0ea8e2 had 1 sale(s).

Hinweis: Using MongoCode

This example uses MongoCode, which can also take a scope argument. However, at the moment, MongoDB does not support using scopes in MapReduce. If you would like to use client-side variables in the MapReduce functions, you can add them to the global scope by using the optional scope field with the database command. See the » MapReduce documentation for more information.

Hinweis: The out argument

Before 1.8.0, the out argument was optional. If you did not use it, MapReduce results would be written to a temporary collection, which would be deleted when your connection was closed. In 1.8.0+, the out argument is required. See the » MapReduce documentation for more information.

Beispiel #4 MongoDB::command() "geoNear" example

This example shows how to use the geoNear command.

<?php
$m = new MongoClient();
$d = $m->demo;
$c = $d->poiConcat;

$r = $d->command(array(
    'geoNear' => "poiConcat",      // Search in the poiConcat collection
    'near' => array(-0.08, 51.48), // Search near 51.48°N, 0.08°E
    'spherical' => true,           // Enable spherical search
    'num' => 5,                    // Maximum 5 returned documents
));
print_r($r);
?>

Siehe auch

  • MongoCollection::aggregate() - Perform an aggregation using the aggregation framework
  • MongoCollection::findAndModify() - Update a document and return it
  • MongoCollection::group() - Performs an operation similar to SQL's GROUP BY command

MongoDB core docs on » database commands.

MongoDB::authenticate
MongoDB::__construct
MongoDB


Creates a new database

MongoDB::command
MongoDB::createCollection
MongoDB
PHP Manual

MongoDB::__construct

(PECL mongo >=0.9.0)

MongoDB::__construct — Creates a new database

Beschreibung

public MongoDB::__construct ( MongoClient $conn , string $name )

This method is not meant to be called directly. The preferred way to create an instance of MongoDB is through MongoClient::__get() or MongoClient::selectDB().

If you're ignoring the previous paragraph and want to call it directly you can do so:

<?php

$m = new MongoClient();
$db = new MongoDB($m, 'mydbname');

?>

But don't. Isn't this much nicer:

<?php

$m = new MongoClient();
$db = $m->mydbname;

// or, if the name contains weird characters:

$db = $m->selectDB('my,db:name');

?>

Parameter-Liste

MongoClient conn

Database connection.

name

Database name.

Rückgabewerte

Returns the database.

Fehler/Exceptions

Throws default exception if the database name is invalid.

MongoDB::command
MongoDB::createCollection
MongoDB


Creates a collection

MongoDB::__construct
MongoDB::createDBRef
MongoDB
PHP Manual

MongoDB::createCollection

(PECL mongo >=0.9.0)

MongoDB::createCollection — Creates a collection

Beschreibung

public MongoCollection MongoDB::createCollection ( string $name [, array $options ] )

This method is used to create capped collections and other collections requiring special options. It is identical to running:

<?php

$collection = $db->command(array(
    "create" => $name,
    "capped" => $options["capped"],
    "size" => $options["size"],
    "max" => $options["max"],
    "autoIndexId" => $options["autoIndexId"],
));

?>
See MongoDB::command() for more information about database commands.

Parameter-Liste

name

The name of the collection.

options

An array containing options for the collections. Each option is its own element in the options array, with the option name listed below being the key of the element. The supported options depend on the MongoDB server version and storage engine, and the driver passes any option that you give it straight to the server. A few of the supported options are, but you can find a full list in the MongoDB core docs on » createCollection:

capped

If the collection should be a fixed size.

size

If the collection is fixed size, its size in bytes.

max

If the collection is fixed size, the maximum number of elements to store in the collection.

autoIndexId

If capped is TRUE you can specify FALSE to disable the automatic index created on the _id field. Before MongoDB 2.2, the default value for autoIndexId was FALSE.

Rückgabewerte

Returns a collection object representing the new collection.

Beispiele

Beispiel #1 MongoDB::createCollection() capped collection example

A capped collection is a special type of collection that has either a fixed or a fixed number of elements. Once the collection is "full," the oldest elements will be removed when new elements are added. Capped collections can be very useful for applications like logging, where you may want to reserve a certain amount of space for logs and not worry about them getting too big.

This example creates a very tiny log collection that will keep a maximum of 10 documents.

<?php

$log = $db->createCollection(
    "logger",
    array(
        'capped' => true,
        'size' => 10*1024,
        'max' => 10
    )
);

for ($i = 0; $i < 100; $i++) {
    $log->insert(array("level" => WARN, "msg" => "sample log message #$i", "ts" => new MongoDate()));
}

$msgs = $log->find();

foreach ($msgs as $msg) {
    echo $msg['msg']."\n";
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

sample log message #90
sample log message #91
sample log message #92
sample log message #93
sample log message #94
sample log message #95
sample log message #96
sample log message #97
sample log message #98
sample log message #99

Changelog

Version Beschreibung
1.4.0

In versions before 1.4.0, the options were all arguments to the method. The function synopsis in those older versions is:

public MongoCollection MongoDB::createCollection ( string $name [, bool $capped = FALSE [, int $size = 0 [, int $max = 0 ]]] )

The meaning of the options is the same as described under the options argument above.

MongoDB::__construct
MongoDB::createDBRef
MongoDB


Creates a database reference

MongoDB::createCollection
MongoDB::drop
MongoDB
PHP Manual

MongoDB::createDBRef

(PECL mongo >=0.9.0)

MongoDB::createDBRef — Creates a database reference

Beschreibung

public array MongoDB::createDBRef ( string $collection , mixed $document_or_id )

This method is a flexible interface for creating database refrences (see MongoDBRef).

Parameter-Liste

collection

The collection to which the database reference will point.

document_or_id

If an array or object is given, its _id field will be used as the reference ID. If a MongoId or scalar is given, it will be used as the reference ID.

Rückgabewerte

Returns a database reference array.

If an array without an _id field was provided as the document_or_id parameter, NULL will be returned.

Beispiele

Beispiel #1 MongoDB::createDBRef() example

Example demonstrating how to programatically create a DB reference array from a document.

<?php

$articles = $db->articles;

$article = array(
 'title' => 'Test article',
 'description' => 'Test article description'
);

$articles->insert($article);
$ref = $db->createDBRef('articles', $article);

print_r($article);
print_r($ref);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

     Array
     (
         [title] => Test article
         [description] => Test article description
         [_id] => MongoId Object
             (
             )

     )
     Array
     (
         [$ref] => articles
         [$id] => MongoId Object
             (
             )

     )

Now the $ref can be stored on another document and retrieved later with MongoDB::getDBRef() or MongoCollection::getDBRef().

Beispiel #2 MongoDB::createDBRef() example

Example demonstrating how to programatically create a DB reference from just an id.

<?php

$id = new MongoId('47cc67093475061e3d9536d2');
$ref = $db->createDBRef('articles', $id);
?>
MongoDB::createCollection
MongoDB::drop
MongoDB


Drops this database

MongoDB::createDBRef
MongoDB::dropCollection
MongoDB
PHP Manual

MongoDB::drop

(PECL mongo >=0.9.0)

MongoDB::drop — Drops this database

Beschreibung

public array MongoDB::drop ( void )

This drops the database currently being used.

This is identical to running:

<?php

public function drop() {
    $this->command(array("dropDatabase" => 1));
}

?>

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the database response.

Beispiele

Beispiel #1 MongoDB::drop() example

This example demonstrates how to drop a mongo database and the response to expect.

<?php

$db = $mongo->foo;
$response = $db->drop();
print_r($response);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [dropped] => foo.$cmd
    [ok] => 1
)
MongoDB::createDBRef
MongoDB::dropCollection
MongoDB


Drops a collection [deprecated]

MongoDB::drop
MongoDB::execute
MongoDB
PHP Manual

MongoDB::dropCollection

(PECL mongo >=0.9.0)

MongoDB::dropCollection — Drops a collection [deprecated]

Beschreibung

public array MongoDB::dropCollection ( mixed $coll )
Warnung

Deprecated

Use MongoCollection::drop() instead.

This function leaks memory in version 1.0.7 and earlier!

Parameter-Liste

coll

MongoCollection or name of collection to drop.

Rückgabewerte

Returns the database response.

MongoDB::drop
MongoDB::execute
MongoDB


Runs JavaScript code on the database server [deprecated]

MongoDB::dropCollection
MongoDB::forceError
MongoDB
PHP Manual

MongoDB::execute

(PECL mongo >=0.9.3)

MongoDB::execute — Runs JavaScript code on the database server [deprecated]

Beschreibung

public array MongoDB::execute ( mixed $code [, array $args = array() ] )
Warnung

The » eval command, which this method invokes, is deprecated in MongoDB 3.0+.

The Mongo database server runs a JavaScript engine. This method allows you to run arbitary JavaScript on the database. This can be useful if you want touch a number of collections lightly, or process some results on the database side to reduce the amount that has to be sent to the client.

Running JavaScript in the database takes a write lock, meaning it blocks other operations. Make sure you consider this before running a long script.

This is a wrapper for the » eval database command. This method is basically:

<?php

public function execute($code, $args) {
    return $this->command(array('eval' => $code, 'args' => $args));
}

?>

MongoDB implies a return statement if you have a single statement on a single line. This can cause some unintuitive behavior. For example, this returns "foo":

<?php

$db->execute('"foo";');

?>

However, these return NULL:

<?php

$db->execute('"bar"; "foo";'); // more than one statement

$db->execute('db.foo.count(
);'); // more than one line

?>

To avoid surprising behavior, it is best not to depend on MongoDB to decide what to return, but to explicitly state a return value. In the examples above, we can change them to:

<?php

$db->execute('"bar"; return "foo";');

$db->execute('return db.foo.count(
);');

?>

Now the first statement will return "foo" and the second statement will return a count of the "foo" collection.

Parameter-Liste

code

MongoCode or string to execute.

args

Arguments to be passed to code.

Rückgabewerte

Returns the result of the evaluation.

Beispiele

Beispiel #1 Simple MongoDB::execute() example

<?php

$response = $db->execute("function() { return 'Hello, world!'; }");
echo $response['retval'];

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Hello, world!

Beispiel #2 Parameter MongoDB::execute() example

The optional array of parameters will be passed to the JavaScript function.

<?php

$response = $db->execute("function(greeting, name) { return greeting+', '+name+'!'; }", array("Good bye", "Joe"));
echo $response['retval'];

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Good bye, Joe!

Beispiel #3 Scope example

If a MongoCode object is used instead of a string for the first parameter, a scope can be passed in which the JavaScript will be executed.

<?php

$func =
    "function(greeting, name) { ".
        "return greeting+', '+name+', says '+greeter;".
    "}";
$scope = array("greeter" => "Fred");

$code = new MongoCode($func, $scope);

$response = $db->execute($code, array("Goodbye", "Joe"));
echo $response['retval'];

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Goodbye, Joe, says Fred

Siehe auch

  • The MongoDB » eval command docs

Changelog

Version | Beschreibung
1.7.0 | This method has been deprecated as a result of the underlaying » eval command being deprecated in MongoDB 3.0+.

MongoDB::dropCollection
MongoDB::forceError
MongoDB


Creates a database error

MongoDB::execute
MongoDB::__get
MongoDB
PHP Manual

MongoDB::forceError

(PECL mongo >=0.9.5)

MongoDB::forceError — Creates a database error

Beschreibung

public bool MongoDB::forceError ( void )

This method is not very useful for normal MongoDB use. It forces a database error to occur. This means that MongoDB::lastError() will return a generic database error after running this command.

This command is identical to running:

<?php

public function forceError() {
    return $this->command(array('forceerror' => 1));
}

?>

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the database response.

Changelog

Version | Beschreibung
1.2.11 | Emits E_DEPRECATED when used.

MongoDB::execute
MongoDB::__get
MongoDB


Gets a collection

MongoDB::forceError
MongoDB::getCollectionInfo
MongoDB
PHP Manual

MongoDB::__get

(PECL mongo >=1.0.2)

MongoDB::__get — Gets a collection

Beschreibung

public MongoCollection MongoDB::__get ( string $name )

This is the easiest way of getting a collection from a database object. If a collection name contains strange characters, you may have to use MongoDB::selectCollection() instead.

<?php

$mongo = new MongoClient();

// the following two lines are equivalent
$collection = $mongo->selectDB("foo")->selectCollection("bar");
$collection = $mongo->foo->bar;

?>

Parameter-Liste

name

The name of the collection.

Rückgabewerte

Returns the collection.

MongoDB::forceError
MongoDB::getCollectionInfo
MongoDB


Returns information about collections in this database

MongoDB::__get
MongoDB::getCollectionNames
MongoDB
PHP Manual

MongoDB::getCollectionInfo

(PECL mongo >=1.6.0)

MongoDB::getCollectionInfo — Returns information about collections in this database

Beschreibung

public array MongoDB::getCollectionInfo ([ array $options = array() ] )

Gets a list of all collections in the database and returns them as an array of documents, which contain their names and options.

Hinweis: This method will use the » listCollections database command when communicating with MongoDB 2.8+. For previous database versions, the method will query the special system.namespaces collection.

Parameter-Liste

options

An array of options for listing the collections. Currently available options include:

  • "filter"

    Optional query criteria. If provided, this criteria will be used to filter the collections included in the result.

    Relevant fields that may be queried include "name" (collection name as a string, without the database name prefix) and "options" (object containing options used to create the collection)..

    Hinweis: MongoDB 2.6 and earlier versions require the "name" criteria, if specified, to be a string value (i.e. equality match). This is because the driver must prefix the value with the database name in order to query the system.namespaces collection. Later versions of MongoDB do not have this limitation, as the driver will use the listCollections command.

  • "includeSystemCollections"

    Boolean, defaults to FALSE. Determines whether system collections should be included in the result.

The following option may be used with MongoDB 2.8+:

  • "maxTimeMS"

    Specifies a cumulative time limit in milliseconds for processing the operation (does not include idle time). If the operation is not completed within the timeout period, a MongoExecutionTimeoutException will be thrown.

Rückgabewerte

This function returns an array where each element is an array describing a collection. Elements will contain a name key denoting the name of the collection, and optionally contain an options key denoting an array of objects used to create the collection. For example, capped collections will include capped and size options.

Fehler/Exceptions

For MongoDB 2.6 and earlier, MongoException will be thrown if a non-string value was specified for the "filter" option's "name" criteria.

Beispiele

Beispiel #1 MongoDB::getCollectionInfo() example

<?php
$m = new MongoClient();
$db = $m->selectDB("demo");
var_dump($db->getCollectionInfo());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(2) {
  [0]=>
  array(2) {
    ["name"]=>
    string(4) "logs"
    ["options"]=>
    array(2) {
      ["capped"]=>
      bool(true)
      ["size"]=>
      int(10240)
    }
  }
  [1]=>
  array(2) {
    ["name"]=>
    string(5) "users"
    ["options"]=>
    array(1) {
      ["flags"]=>
      int(1)
    }
  }
}

Siehe auch

  • MongoDB::getCollectionNames() - Gets an array of names for all collections in this database
  • MongoDB::listCollections() - Gets an array of MongoCollection objects for all collections in this database

MongoDB::__get
MongoDB::getCollectionNames
MongoDB


Gets an array of names for all collections in this database

MongoDB::getCollectionInfo
MongoDB::getDBRef
MongoDB
PHP Manual

MongoDB::getCollectionNames

(PECL mongo >=1.3.0)

MongoDB::getCollectionNames — Gets an array of names for all collections in this database

Beschreibung

public array MongoDB::getCollectionNames ([ array $options = array() ] )

Gets a list of all collections in the database and returns their names as an array of strings.

Hinweis: This method will use the » listCollections database command when communicating with MongoDB 2.8+. For previous database versions, the method will query the special system.namespaces collection.

Parameter-Liste

options

An array of options for listing the collections. Currently available options include:

  • "filter"

    Optional query criteria. If provided, this criteria will be used to filter the collections included in the result.

    Relevant fields that may be queried include "name" (collection name as a string, without the database name prefix) and "options" (object containing options used to create the collection)..

    Hinweis: MongoDB 2.6 and earlier versions require the "name" criteria, if specified, to be a string value (i.e. equality match). This is because the driver must prefix the value with the database name in order to query the system.namespaces collection. Later versions of MongoDB do not have this limitation, as the driver will use the listCollections command.

  • "includeSystemCollections"

    Boolean, defaults to FALSE. Determines whether system collections should be included in the result.

The following option may be used with MongoDB 2.8+:

  • "maxTimeMS"

    Specifies a cumulative time limit in milliseconds for processing the operation (does not include idle time). If the operation is not completed within the timeout period, a MongoExecutionTimeoutException will be thrown.

Rückgabewerte

Returns the collection names as an array of strings.

Fehler/Exceptions

For MongoDB 2.6 and earlier, MongoException will be thrown if a non-string value was specified for the "filter" option's "name" criteria.

Changelog

Version | Beschreibung
1.6.0 | Changed first parameter to be an array of options. Pre-1.6.0, the first parameter was a boolean indicating the "includeSystemCollections" option.

Beispiele

Beispiel #1 MongoDB::getCollectionNames() example

<?php
$m = new MongoClient();
$db = $m->selectDB("demo");
$collections = $db->getCollectionNames();

foreach ($collections as $collectionName) {
    echo "Found collection: ", $collectionName, "\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...
Found collection: img
Found collection: beer
Found collection: collation
...

Siehe auch

  • MongoDB::listCollections() - Gets an array of MongoCollection objects for all collections in this database
  • MongoDB::getCollectionInfo() - Returns information about collections in this database

MongoDB::getCollectionInfo
MongoDB::getDBRef
MongoDB


Fetches the document pointed to by a database reference

MongoDB::getCollectionNames
MongoDB::getGridFS
MongoDB
PHP Manual

MongoDB::getDBRef

(PECL mongo >=0.9.0)

MongoDB::getDBRef — Fetches the document pointed to by a database reference

Beschreibung

public array MongoDB::getDBRef ( array $ref )

Parameter-Liste

ref

A database reference.

Rückgabewerte

Returns the document pointed to by the reference.

Beispiele

Beispiel #1 MongoDB::getDBRef() example

Example demonstrating how to get a database reference and what the expected input is.

<?php

 $ref = array(
   '$ref' => 'profiles',
   '$id' => new MongoId('47cc67093475061e3d9536d2')
 );

 $profile = $db->getDBRef($ref);
 ?>

See MongoDB::createDBRef() for more information about how to programatically create DB references.

MongoDB::getCollectionNames
MongoDB::getGridFS
MongoDB


Fetches toolkit for dealing with files stored in this database

MongoDB::getDBRef
MongoDB::getProfilingLevel
MongoDB
PHP Manual

MongoDB::getGridFS

(PECL mongo >=0.9.0)

MongoDB::getGridFS — Fetches toolkit for dealing with files stored in this database

Beschreibung

public MongoGridFS MongoDB::getGridFS ([ string $prefix = "fs" ] )

Parameter-Liste

prefix

The prefix for the files and chunks collections.

Rückgabewerte

Returns a new gridfs object for this database.

Beispiele

Beispiel #1 MongoDB::getGridFS() example

This example demonstrates how get a MongoGridFS instance.

<?php

$db = $mongo->my_db;

$prefix = 'files';
$collection = $db->getGridFS($prefix);

?>

Read more about the MongoGridFS to learn how to store files with MongoDB.

MongoDB::getDBRef
MongoDB::getProfilingLevel
MongoDB


Gets this database's profiling level

MongoDB::getGridFS
MongoDB::getReadPreference
MongoDB
PHP Manual

MongoDB::getProfilingLevel

(PECL mongo >=0.9.0)

MongoDB::getProfilingLevel — Gets this database's profiling level

Beschreibung

public int MongoDB::getProfilingLevel ( void )

This returns the current database profiling level.

The database profiler tracks query execution times. If you turn it on (say, using MongoDB::setProfilingLevel() or the shell), you can see how many queries took longer than a given number of milliseconds or the timing for all queries.

Note that profiling slows down queries, so it is better to use in development or testing than in a time-sensitive application.

This function is equivalent to running:

<?php

public function getProfilingLevel() {
    return $this->command(array('profile' => -1));
}

?>

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the profiling level.

Siehe auch

  • MongoDB core docs on » profiling
  • MongoDB::setProfilingLevel() - Sets this database's profiling level
MongoDB::getGridFS
MongoDB::getReadPreference
MongoDB


Get the read preference for this database

MongoDB::getProfilingLevel
MongoDB::getSlaveOkay
MongoDB
PHP Manual

MongoDB::getReadPreference

(PECL mongo >=1.3.0)

MongoDB::getReadPreference — Get the read preference for this database

Beschreibung

public array MongoDB::getReadPreference ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

This function returns an array describing the read preference. The array contains the values type for the string read preference mode (corresponding to the MongoClient constants), and tagsets containing a list of all tag set criteria. If no tag sets were specified, tagsets will not be present in the array.

Changelog

Version | Beschreibung
1.3.3 | The return value has changed to be consistent with MongoDB::setReadPreference(). The type value was changed from a number to a string, type_string was removed, and tagsets now expresses tags as key/value pairs instead of colon-delimited strings.

Beispiele

Beispiel #1 MongoDB::getReadPreference() return value example

<?php

$m = new MongoClient();
$db = $m->test;
$db->setReadPreference(MongoClient::RP_SECONDARY, array(
    array('dc' => 'east', 'use' => 'reporting'),
    array('dc' => 'west'),
    array(),
));
var_dump($db->getReadPreference());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  ["type"]=>
  string(9) "secondary"
  ["tagsets"]=>
  array(3) {
    [0]=>
    array(2) {
      ["dc"]=>
      string(4) "east"
      ["use"]=>
      string(9) "reporting"
    }
    [1]=>
    array(1) {
      ["dc"]=>
      string(7) "west"
    }
    [2]=>
    array(0) {
    }
  }
}

Siehe auch

  • The read preferences documentation.
  • MongoDB::setReadPreference() - Set the read preference for this database
MongoDB::getProfilingLevel
MongoDB::getSlaveOkay
MongoDB


Get slaveOkay setting for this database

MongoDB::getReadPreference
MongoDB::getWriteConcern
MongoDB
PHP Manual

MongoDB::getSlaveOkay

(PECL mongo >=1.1.0)

MongoDB::getSlaveOkay — Get slaveOkay setting for this database

Beschreibung

public bool MongoDB::getSlaveOkay ( void )

See the query section of this manual for information on distributing reads to secondaries.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the value of slaveOkay for this instance.

Changelog

Version | Beschreibung
1.2.11 | Emits E_DEPRECATED when used.

Siehe auch

  • Read Preferences
  • MongoDB::getReadPreference() - Get the read preference for this database
  • MongoDB::setReadPreference() - Set the read preference for this database
MongoDB::getReadPreference
MongoDB::getWriteConcern
MongoDB


Get the write concern for this database

MongoDB::getSlaveOkay
MongoDB::lastError
MongoDB
PHP Manual

MongoDB::getWriteConcern

(PECL mongo >=1.5.0)

MongoDB::getWriteConcern — Get the write concern for this database

Beschreibung

public array MongoDB::getWriteConcern ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

This function returns an array describing the write concern. The array contains the values w for an integer acknowledgement level or string mode, and wtimeout denoting the maximum number of milliseconds to wait for the server to satisfy the write concern.

Beispiele

Beispiel #1 MongoDB::getWriteConcern() return value example

<?php

$mc = new MongoClient('mongodb://localhost:27017', array('wTimeoutMS' => 500));
$db = $mc->selectDB('test');
var_dump($db->getWriteConcern());

$db->setWriteConcern(1, 1000);
var_dump($db->getWriteConcern());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  ["w"]=>
  int(1)
  ["wtimeout"]=>
  int(500)
}
array(2) {
  ["w"]=>
  int(1)
  ["wtimeout"]=>
  int(1000)
}

Siehe auch

  • The write concern documentation.
  • MongoDB::setWriteConcern() - Set the write concern for this database
MongoDB::getSlaveOkay
MongoDB::lastError
MongoDB


Check if there was an error on the most recent db operation performed

MongoDB::getWriteConcern
MongoDB::listCollections
MongoDB
PHP Manual

MongoDB::lastError

(PECL mongo >=0.9.5)

MongoDB::lastError — Check if there was an error on the most recent db operation performed

Beschreibung

public array MongoDB::lastError ( void )

This method is equivalent to:

<?php

public function lastError() {
    return $this->command(array('getlasterror' => 1));
}

?>

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the error, if there was one.

Beispiele

Beispiel #1 MongoDB::lastError() NULL error example

<?php
$db->resetError();
var_dump($db->lastError());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(3) {
  ["err"]=>
  NULL
  ["n"]=>
  int(0)
  ["ok"]=>
  float(1)
}

Beispiel #2 MongoDB::lastError() duplicate key example

<?php
$c = $db->selectCollection("foo");

// insert two documents with the same _id
$c->insert(array("_id" => 1));
$c->insert(array("_id" => 1));

var_dump($db->lastError());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(3) {
  ["err"]=>
  string(64) "E11000 duplicate key errorindex: foo.foo.$_id_  dup key: { : 1 }"
  ["n"]=>
  int(0)
  ["ok"]=>
  float(1)
}
MongoDB::getWriteConcern
MongoDB::listCollections
MongoDB


Gets an array of MongoCollection objects for all collections in this database

MongoDB::lastError
MongoDB::prevError
MongoDB
PHP Manual

MongoDB::listCollections

(PECL mongo >=0.9.0)

MongoDB::listCollections — Gets an array of MongoCollection objects for all collections in this database

Beschreibung

public array MongoDB::listCollections ([ array $options = array() ] )

Gets a list of all collections in the database and returns them as an array of MongoCollection objects.

Hinweis: This method will use the » listCollections database command when communicating with MongoDB 2.8+. For previous database versions, the method will query the special system.namespaces collection.

Parameter-Liste

options

An array of options for listing the collections. Currently available options include:

  • "filter"

    Optional query criteria. If provided, this criteria will be used to filter the collections included in the result.

    Relevant fields that may be queried include "name" (collection name as a string, without the database name prefix) and "options" (object containing options used to create the collection)..

    Hinweis: MongoDB 2.6 and earlier versions require the "name" criteria, if specified, to be a string value (i.e. equality match). This is because the driver must prefix the value with the database name in order to query the system.namespaces collection. Later versions of MongoDB do not have this limitation, as the driver will use the listCollections command.

  • "includeSystemCollections"

    Boolean, defaults to FALSE. Determines whether system collections should be included in the result.

The following option may be used with MongoDB 2.8+:

  • "maxTimeMS"

    Specifies a cumulative time limit in milliseconds for processing the operation (does not include idle time). If the operation is not completed within the timeout period, a MongoExecutionTimeoutException will be thrown.

Rückgabewerte

Returns an array of MongoCollection objects.

Fehler/Exceptions

For MongoDB 2.6 and earlier, MongoException will be thrown if a non-string value was specified for the "filter" option's "name" criteria.

Changelog

Version | Beschreibung
1.6.0 | Changed first parameter to be an array of options. Pre-1.6.0, the first parameter was a boolean indicating the "includeSystemCollections" option.
1.3.0 | Added the includeSystemCollections parameter.

Beispiele

Beispiel #1 MongoDB::listCollections() example

The following example demonstrates running count on each collection in a database.

<?php

$m = new MongoClient();
$db = $m->selectDB("demo");
$collections = $db->listCollections();

foreach ($collections as $collection) {
    echo "amount of documents in $collection: ";
    echo $collection->count(), "\n";
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...
amount of documents in demo.pubs: 4
amount of documents in demo.elephpants: 3
amount of documents in demo.cities: 22840
...

Siehe auch

  • MongoDB::getCollectionNames() - Gets an array of names for all collections in this database
  • MongoDB::getCollectionInfo() - Returns information about collections in this database

MongoDB::lastError
MongoDB::prevError
MongoDB


Checks for the last error thrown during a database operation

MongoDB::listCollections
MongoDB::repair
MongoDB
PHP Manual

MongoDB::prevError

(PECL mongo >=0.9.5)

MongoDB::prevError — Checks for the last error thrown during a database operation

Beschreibung

public array MongoDB::prevError ( void )

MongoDB::lastError() is usually preferred to this. This method returns the last database error that occurred and how many operations ago it occurred. It is mostly deprecated.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the error and the number of operations ago it occurred.

Changelog

Version | Beschreibung
1.2.11 | Emits E_DEPRECATED when used.

MongoDB::listCollections
MongoDB::repair
MongoDB


Repairs and compacts this database

MongoDB::prevError
MongoDB::resetError
MongoDB
PHP Manual

MongoDB::repair

(PECL mongo >=0.9.0)

MongoDB::repair — Repairs and compacts this database

Beschreibung

public array MongoDB::repair ([ bool $preserve_cloned_files = FALSE [, bool $backup_original_files = FALSE ]] )

This creates a fresh copy of all database data. It will remove any corrupt data and compact and large stretches of free space it finds. This is a very slow operation on a large database.

This is usually run from the shell or the command line, not the driver.

It is equivalent to the function:

<?php

public function repair() {
    return $this->command(array('repairDatabase' => 1));
}

?>

Parameter-Liste

preserve_cloned_files

If cloned files should be kept if the repair fails.

backup_original_files

If original files should be backed up.

Rückgabewerte

Returns db response.

Siehe auch

MongoDB core docs on » repairDatabase.

Beispiele

Beispiel #1 MongoDB::repair() example

This example demonstrates how to repare and compact a database.

<?php

$db = $mongo->foo;

$response = $db->repair();
print_r($response);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [ok] => 1
)
MongoDB::prevError
MongoDB::resetError
MongoDB


Clears any flagged errors on the database

MongoDB::repair
MongoDB::selectCollection
MongoDB
PHP Manual

MongoDB::resetError

(PECL mongo >=0.9.5)

MongoDB::resetError — Clears any flagged errors on the database

Beschreibung

public array MongoDB::resetError ( void )

This method is not used in normal operations. It resets the database error tracker (which can be incremented with MongoDB::forceError(), also not normally used).

It is equivalent to running:

<?php

public function resetError() {
    return $this->command(array('reseterror' => 1));
}

?>

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the database response.

Changelog

Version | Beschreibung
1.2.11 | Emits E_DEPRECATED when used.

MongoDB::repair
MongoDB::selectCollection
MongoDB


Gets a collection

MongoDB::resetError
MongoDB::setProfilingLevel
MongoDB
PHP Manual

MongoDB::selectCollection

(PECL mongo >=0.9.0)

MongoDB::selectCollection — Gets a collection

Beschreibung

public MongoCollection MongoDB::selectCollection ( string $name )

Parameter-Liste

name

The collection name.

Rückgabewerte

Returns a new collection object.

Fehler/Exceptions

Throws Exception if the collection name is invalid.

MongoDB::resetError
MongoDB::setProfilingLevel
MongoDB


Sets this database's profiling level

MongoDB::selectCollection
MongoDB::setReadPreference
MongoDB
PHP Manual

MongoDB::setProfilingLevel

(PECL mongo >=0.9.0)

MongoDB::setProfilingLevel — Sets this database's profiling level

Beschreibung

public int MongoDB::setProfilingLevel ( int $level )

This changes the current database profiling level.

This function is equivalent to running:

<?php

public function setProfilingLevel($level) {
    return $this->command(array('profile' => $level));
}

?>

The options for level are 0 (off), 1 (queries > 100ms), and 2 (all queries). If you would like to profile queries that take longer than another time period, use the database command and pass it a second option, the number of milliseconds. For example, to profile all queries that take longer than one second, run:

<?php

$result = $this->command(array('profile' => 1, 'slowms' => 1000));

?>

Profiled queries will appear in the system.profile collection of this database.

Parameter-Liste

level

Profiling level.

Rückgabewerte

Returns the previous profiling level.

Siehe auch

  • MongoDB core docs on » profiling
  • MongoDB::getProfilingLevel() - Gets this database's profiling level
MongoDB::selectCollection
MongoDB::setReadPreference
MongoDB


Set the read preference for this database

MongoDB::setProfilingLevel
MongoDB::setSlaveOkay
MongoDB
PHP Manual

MongoDB::setReadPreference

(PECL mongo >=1.3.0)

MongoDB::setReadPreference — Set the read preference for this database

Beschreibung

public bool MongoDB::setReadPreference ( string $read_preference [, array $tags ] )

Parameter-Liste

read_preference

The read preference mode: MongoClient::RP_PRIMARY, MongoClient::RP_PRIMARY_PREFERRED, MongoClient::RP_SECONDARY, MongoClient::RP_SECONDARY_PREFERRED, or MongoClient::RP_NEAREST.

tags

An array of zero or more tag sets, where each tag set is itself an array of criteria used to match tags on replica set members.

Rückgabewerte

Returns TRUE on success, or FALSE otherwise.

Fehler/Exceptions

Emits E_WARNING if either parameter is invalid, or if one or more tag sets are provided with the MongoClient::RP_PRIMARY read preference mode.

Beispiele

Beispiel #1 MongoDB::setReadPreference() tag set array syntax example

<?php

$m = new MongoClient();
$db = $m->test;

// Prefer the nearest server in the "east" data center also used for reporting,
// but fall back to a server in the "west" data center
$db->setReadPreference(MongoClient::RP_NEAREST, array(
    array('dc' => 'east', 'use' => 'reporting'),
    array('dc' => 'west'),
));
?>

Siehe auch

  • The read preferences documentation.
  • MongoDB::getReadPreference() - Get the read preference for this database
MongoDB::setProfilingLevel
MongoDB::setSlaveOkay
MongoDB


Change slaveOkay setting for this database

MongoDB::setReadPreference
MongoDB::setWriteConcern
MongoDB
PHP Manual

MongoDB::setSlaveOkay

(PECL mongo >=1.1.0)

MongoDB::setSlaveOkay — Change slaveOkay setting for this database

Beschreibung

public bool MongoDB::setSlaveOkay ([ bool $ok = true ] )

See the query section of this manual for information on distributing reads to secondaries.

Parameter-Liste

ok

If reads should be sent to secondary members of a replica set for all possible queries using this MongoDB instance.

Rückgabewerte

Returns the former value of slaveOkay for this instance.

Changelog

Version | Beschreibung
1.2.11 | Emits E_DEPRECATED when used.

Siehe auch

  • Read Preferences
  • MongoDB::setReadPreference() - Set the read preference for this database
  • MongoDB::getReadPreference() - Get the read preference for this database
MongoDB::setReadPreference
MongoDB::setWriteConcern
MongoDB


Set the write concern for this database

MongoDB::setSlaveOkay
MongoDB::__toString
MongoDB
PHP Manual

MongoDB::setWriteConcern

(PECL mongo >=1.5.0)

MongoDB::setWriteConcern — Set the write concern for this database

Beschreibung

public bool MongoDB::setWriteConcern ( mixed $w [, int $wtimeout ] )

Parameter-Liste

w

The write concern. This may be an integer denoting the number of servers required to acknowledge the write, or a string mode (e.g. "majority").

wtimeout

The maximum number of milliseconds to wait for the server to satisfy the write concern.

Rückgabewerte

Returns TRUE on success, or FALSE otherwise.

Fehler/Exceptions

Emits E_WARNING if the w parameter is not an integer or string value.

Beispiele

Beispiel #1 MongoDB::setWriteConcern() example

<?php

$mc = new MongoClient('mongodb://rs1.example.com,rs2.example.com');
$db = $mc->selectDB('test');

// Require that the majority of servers in the replica set acknowledge writes
// within three seconds.
$db->setWriteConcern('majority', 3000);
?>

Siehe auch

  • The write concern documentation.
  • MongoDB::getWriteConcern() - Get the write concern for this database
MongoDB::setSlaveOkay
MongoDB::__toString
MongoDB


The name of this database

MongoDB::setWriteConcern
MongoCollection
MongoDB
PHP Manual

MongoDB::__toString

(PECL mongo >=0.9.0)

MongoDB::__toString — The name of this database

Beschreibung

public string MongoDB::__toString ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns this database's name.

MongoDB::setWriteConcern
MongoCollection
MongoDB


The MongoCollection class

(PECL mongo >=0.9.0)

Einführung

Represents a MongoDB collection.

Collection names can use any character in the ASCII set. Some valid collection names are "", "...", "my collection", and "*&#@".

User-defined collection names cannot contain the $ symbol. There are certain system collections which use a $ in their names (e.g., local.oplog.$main), but it is a reserved character. If you attempt to create and use a collection with a $ in the name, MongoDB will assert.

Klassenbeschreibung

MongoCollection {
/* Konstanten */
const int ASCENDING = 1 ;
const int DESCENDING = -1 ;
/* Fields */
public MongoDB $db = NULL ;
public integer $w ;
public integer $wtimeout ;
/* Methoden */
public array aggregate ( array $pipeline [, array $options ] )
public MongoCommandCursor aggregateCursor ( array $command [, array $options ] )
public mixed batchInsert ( array $a [, array $options = array() ] )
public __construct ( MongoDB $db , string $name )
public int count ([ array $query = array() [, array $options = array() ]] )
public array createDBRef ( mixed $document_or_id )
public bool createIndex ( array $keys [, array $options = array() ] )
public array deleteIndex ( string|array $keys )
public array deleteIndexes ( void )
public array distinct ( string $key [, array $query ] )
public array drop ( void )
public bool ensureIndex ( string|array $key|keys [, array $options = array() ] )
public MongoCursor find ([ array $query = array() [, array $fields = array() ]] )
public array findAndModify ( array $query [, array $update [, array $fields [, array $options ]]] )
 public array findOne
  ([ array $query = array()
 [, array $fields = array()
 [, array $options = array()
]]] )
public MongoCollection __get ( string $name )
public array getDBRef ( array $ref )
public array getIndexInfo ( void )
public string getName ( void )
public array getReadPreference ( void )
public bool getSlaveOkay ( void )
public array getWriteConcern ( void )
public array group ( mixed $keys , array $initial , MongoCode $reduce [, array $options = array() ] )
public bool|array insert ( array|object $document [, array $options = array() ] )
public array[MongoCommandCursor] parallelCollectionScan ( int $num_cursors )
public bool|array remove ([ array $criteria = array() [, array $options = array() ]] )
public mixed save ( array|object $document [, array $options = array() ] )
public bool setReadPreference ( string $read_preference [, array $tags ] )
public bool setSlaveOkay ([ bool $ok = true ] )
public bool setWriteConcern ( mixed $w [, int $wtimeout ] )
static protected string toIndexString ( mixed $keys )
public string __toString ( void )
public bool|array update ( array $criteria , array $new_object [, array $options = array() ] )
public array validate ([ bool $scan_data = FALSE ] )
}

Vordefinierte Konstanten

MongoCollection::ASCENDING
1
Ascending direction for sorts and index creation.
MongoCollection::DESCENDING
-1
Descending direction for sorts and index creation.

Fields

db

The "parent" database for this collection.

w

The number of servers to replicate a change to before returning success. Value is inherited from the parent database. The MongoDB class has a more detailed description of how w works.

wtimeout

The number of milliseconds to wait for $this->w replications to take place. Value is inherited from the parent database. The MongoDB class has a more detailed description of how wtimeout works.

Siehe auch

MongoDB core docs on » collections.

Inhaltsverzeichnis

  • MongoCollection::aggregate — Perform an aggregation using the aggregation framework
  • MongoCollection::aggregateCursor — Execute an aggregation pipeline command and retrieve results through a cursor
  • MongoCollection::batchInsert — Inserts multiple documents into this collection
  • MongoCollection::__construct — Creates a new collection
  • MongoCollection::count — Counts the number of documents in this collection
  • MongoCollection::createDBRef — Creates a database reference
  • MongoCollection::createIndex — Creates an index on the specified field(s) if it does not already exist.
  • MongoCollection::deleteIndex — Deletes an index from this collection
  • MongoCollection::deleteIndexes — Delete all indices for this collection
  • MongoCollection::distinct — Retrieve a list of distinct values for the given key across a collection.
  • MongoCollection::drop — Drops this collection
  • MongoCollection::ensureIndex — Creates an index on the specified field(s) if it does not already exist.
  • MongoCollection::find — Queries this collection, returning a MongoCursor for the result set
  • MongoCollection::findAndModify — Update a document and return it
  • MongoCollection::findOne — Queries this collection, returning a single element
  • MongoCollection::__get — Gets a collection
  • MongoCollection::getDBRef — Fetches the document pointed to by a database reference
  • MongoCollection::getIndexInfo — Returns information about indexes on this collection
  • MongoCollection::getName — Returns this collection's name
  • MongoCollection::getReadPreference — Get the read preference for this collection
  • MongoCollection::getSlaveOkay — Get slaveOkay setting for this collection
  • MongoCollection::getWriteConcern — Get the write concern for this collection
  • MongoCollection::group — Performs an operation similar to SQL's GROUP BY command
  • MongoCollection::insert — Inserts a document into the collection
  • MongoCollection::parallelCollectionScan — Returns an array of cursors to iterator over a full collection in parallel
  • MongoCollection::remove — Remove records from this collection
  • MongoCollection::save — Saves a document to this collection
  • MongoCollection::setReadPreference — Set the read preference for this collection
  • MongoCollection::setSlaveOkay — Change slaveOkay setting for this collection
  • MongoCollection::setWriteConcern — Set the write concern for this database
  • MongoCollection::toIndexString — Converts keys specifying an index to its identifying string
  • MongoCollection::__toString — String representation of this collection
  • MongoCollection::update — Update records based on a given criteria
  • MongoCollection::validate — Validates this collection
MongoDB::__toString
MongoCollection::aggregate
Core Classes


Perform an aggregation using the aggregation framework

MongoCollection
MongoCollection::aggregateCursor
MongoCollection
PHP Manual

MongoCollection::aggregate

(PECL mongo >=1.3.0)

MongoCollection::aggregate — Perform an aggregation using the aggregation framework

Beschreibung

public array MongoCollection::aggregate ( array $pipeline [, array $options ] )
public array MongoCollection::aggregate ( array $op [, array $op [, array $... ]] )

The MongoDB » aggregation framework provides a means to calculate aggregated values without having to use MapReduce. While MapReduce is powerful, it is often more difficult than necessary for many simple aggregation tasks, such as totaling or averaging field values.

This method accepts either a variable amount of pipeline operators, or a single array of operators constituting the pipeline.

Parameter-Liste

pipeline

An array of pipeline operators.

options

Options for the aggregation command. Valid options include:

  • "allowDiskUse"

    Allow aggregation stages to write to temporary files

  • "cursor"

    Options controlling the creation of the cursor object. This option causes the command to return a result document suitable for constructing a MongoCommandCursor. If you need to use this option, you should consider using MongoCollection::aggregateCursor().

  • "explain"

    Return information on the processing of the pipeline.

  • "maxTimeMS"

    Specifies a cumulative time limit in milliseconds for processing the operation (does not include idle time). If the operation is not completed within the timeout period, a MongoExecutionTimeoutException will be thrown.

Or

op

First pipeline operator.

op

The second pipeline operator.

...

Additional pipeline operators.

Rückgabewerte

The result of the aggregation as an array. The ok will be set to 1 on success, 0 on failure.

Fehler/Exceptions

When an error occurs an array with the following keys will be returned:

  • errmsg - containing the reason for the failure
  • code - the errorcode of the failure
  • ok - will be set to 0.

Changelog

Version | Beschreibung
1.5.0 | Added optional options argument

Beispiele

Beispiel #1 MongoCollection::aggregate() example

The following example aggregation operation pivots data to create a set of author names grouped by tags applied to an article. Call the aggregation framework by issuing the following command:

<?php
$m = new MongoClient("localhost");
$c = $m->selectDB("examples")->selectCollection("article");
$data = array (
    'title' => 'this is my title',
    'author' => 'bob',
    'posted' => new MongoDate,
    'pageViews' => 5,
    'tags' => array ( 'fun', 'good', 'fun' ),
    'comments' => array (
      array (
        'author' => 'joe',
        'text' => 'this is cool',
      ),
      array (
        'author' => 'sam',
        'text' => 'this is bad',
      ),
    ),
    'other' =>array (
      'foo' => 5,
    ),
);
$d = $c->insert($data, array("w" => 1));

$ops = array(
    array(
        '$project' => array(
            "author" => 1,
            "tags"   => 1,
        )
    ),
    array('$unwind' => '$tags'),
    array(
        '$group' => array(
            "_id" => array("tags" => '$tags'),
            "authors" => array('$addToSet' => '$author'),
        ),
    ),
);
$results = $c->aggregate($ops);
var_dump($results);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  ["result"]=>
  array(2) {
    [0]=>
    array(2) {
      ["_id"]=>
      array(1) {
        ["tags"]=>
        string(4) "good"
      }
      ["authors"]=>
      array(1) {
        [0]=>
        string(3) "bob"
      }
    }
    [1]=>
    array(2) {
      ["_id"]=>
      array(1) {
        ["tags"]=>
        string(3) "fun"
      }
      ["authors"]=>
      array(1) {
        [0]=>
        string(3) "bob"
      }
    }
  }
  ["ok"]=>
  float(1)
}

The following examples use the » zipcode data set. Use mongoimport to load this data set into your mongod instance.

Beispiel #2 MongoCollection::aggregate() example

To return all states with a population greater than 10 million, use the following aggregation operation:

<?php
$m = new MongoClient("localhost");
$c = $m->selectDB("test")->selectCollection("zips");

$pipeline = array(
    array(
        '$group' => array(
            '_id' => array('state' => '$state'),
            'totalPop' => array('$sum' => '$pop')
        )
    ),
    array(
        '$match' => array(
            'totalPop' => array('$gte' => 10 * 1000 * 1000)
        )
    ),
);
$out = $c->aggregate($pipeline);
var_dump($out);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(2) {
  ["result"]=>
  array(7) {
    [0]=>
    array(2) {
      ["_id"]=>
      string(2) "TX"
      ["totalPop"]=>
      int(16986510)
    }
    [1]=>
    array(2) {
      ["_id"]=>
      string(2) "PA"
      ["totalPop"]=>
      int(11881643)
    }
    [2]=>
    array(2) {
      ["_id"]=>
      string(2) "NY"
      ["totalPop"]=>
      int(17990455)
    }
    [3]=>
    array(2) {
      ["_id"]=>
      string(2) "IL"
      ["totalPop"]=>
      int(11430602)
    }
    [4]=>
    array(2) {
      ["_id"]=>
      string(2) "CA"
      ["totalPop"]=>
      int(29760021)
    }
    [5]=>
    array(2) {
      ["_id"]=>
      string(2) "OH"
      ["totalPop"]=>
      int(10847115)
    }
    [6]=>
    array(2) {
      ["_id"]=>
      string(2) "FL"
      ["totalPop"]=>
      int(12937926)
    }
  }
  ["ok"]=>
  float(1)
}

Beispiel #3 MongoCollection::aggregate() example

To return the average populations for cities in each state, use the following aggregation operation:

<?php
$m = new MongoClient;
$c = $m->selectDB("test")->selectCollection("zips");

$out = $c->aggregate(
    array(
        '$group' => array(
            '_id' => array('state' => '$state', 'city' => '$city' ),
            'pop' => array('$sum' => '$pop' )
        )
    ),
    array(
        '$group' => array(
            '_id' => '$_id.state',
            'avgCityPop' => array('$avg' => '$pop')
        )
    )
);

var_dump($out);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(2) {
  ["result"]=>
  array(51) {
    [0]=>
    array(2) {
      ["_id"]=>
      string(2) "DC"
      ["avgCityPop"]=>
      float(303450)
    }
    [1]=>
    array(2) {
      ["_id"]=>
      string(2) "DE"
      ["avgCityPop"]=>
      float(14481.913043478)
    }
...
    [49]=>
    array(2) {
      ["_id"]=>
      string(2) "WI"
      ["avgCityPop"]=>
      float(7323.0074850299)
    }
    [50]=>
    array(2) {
      ["_id"]=>
      string(2) "WV"
      ["avgCityPop"]=>
      float(2759.1953846154)
    }
  }
  ["ok"]=>
  float(1)
}

Beispiel #4 MongoCollection::aggregate() with command options

To return information on how the pipeline will be processed we use the explain command option:

<?php
$m = new MongoClient;
$c = $m->selectDB("test")->selectCollection("zips");

$pipeline = array(
    array(
        '$group' => array(
            '_id' => '$state',
           'totalPop' => array('$sum' => '$pop'),
        ),
    ),
    array(
        '$match' => array(
            'totalPop' => array('$gte' => 10 * 1000 * 1000)
        )
    ),
    array(
        '$sort' => array("totalPop" => -1),
    ),
);

$options = array("explain" => true);
$out = $c->aggregate($pipeline, $options);
var_dump($out);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(2) {
  ["stages"]=>
  array(4) {
    [0]=>
    array(1) {
      ["$cursor"]=>
      array(3) {
        ["query"]=>
        array(0) {
        }
        ["fields"]=>
        array(3) {
          ["pop"]=>
          int(1)
          ["state"]=>
          int(1)
          ["_id"]=>
          int(0)
        }
        ["plan"]=>
        array(4) {
          ["cursor"]=>
          string(11) "BasicCursor"
          ["isMultiKey"]=>
          bool(false)
          ["scanAndOrder"]=>
          bool(false)
          ["allPlans"]=>
          array(1) {
            [0]=>
            array(3) {
              ["cursor"]=>
              string(11) "BasicCursor"
              ["isMultiKey"]=>
              bool(false)
              ["scanAndOrder"]=>
              bool(false)
            }
          }
        }
      }
    }
    [1]=>
    array(1) {
      ["$group"]=>
      array(2) {
        ["_id"]=>
        string(6) "$state"
        ["totalPop"]=>
        array(1) {
          ["$sum"]=>
          string(4) "$pop"
        }
      }
    }
    [2]=>
    array(1) {
      ["$match"]=>
      array(1) {
        ["totalPop"]=>
        array(1) {
          ["$gte"]=>
          int(10000000)
        }
      }
    }
    [3]=>
    array(1) {
      ["$sort"]=>
      array(1) {
        ["sortKey"]=>
        array(1) {
          ["totalPop"]=>
          int(-1)
        }
      }
    }
  }
  ["ok"]=>
  float(1)
}

Siehe auch

  • MongoCollection::aggregateCursor() - Execute an aggregation pipeline command and retrieve results through a cursor
  • The MongoDB » aggregation framework
MongoCollection
MongoCollection::aggregateCursor
MongoCollection


Execute an aggregation pipeline command and retrieve results through a cursor

MongoCollection::aggregate
MongoCollection::batchInsert
MongoCollection
PHP Manual

MongoCollection::aggregateCursor

(PECL mongo >=1.5.0)

MongoCollection::aggregateCursor — Execute an aggregation pipeline command and retrieve results through a cursor

Beschreibung

public MongoCommandCursor MongoCollection::aggregateCursor ( array $command [, array $options ] )

With this method you can execute Aggregation Framework pipelines and retrieve the results through a cursor, instead of getting just one document back as you would with MongoCollection::aggregate(). This method returns a MongoCommandCursor object. This cursor object implements the Iterator interface just like the MongoCursor objects that are returned by the MongoCollection::find() method.

Hinweis: The resulting MongoCommandCursor will inherit this collection's read preference. MongoCommandCursor::setReadPreference() may be used to change the read preference before iterating on the cursor.

Parameter-Liste

pipeline

The Aggregation Framework pipeline to execute.

options

Options for the aggregation command. Valid options include:

  • "allowDiskUse"

    Allow aggregation stages to write to temporary files

  • "cursor"

    It is possible to configure how many initial documents the server should return with the first result set. The default initial batch size is 101. You can change it by adding the batchSize option:

    <?php
    $collection    ->aggregateCursor(
            $pipeline,
        [     "cursor" => [ "batchSize" => 4 ] ]
    );

    This option only configures the size of the first batch. To configure the size of future batches, please use the MongoCommandCursor::batchSize() method on the returned MongoCommandCursor object.

  • "explain"

    Return information on the processing of the pipeline. This option may cause the command to return a result document that is unsuitable for constructing a MongoCommandCursor. If you need to use this option, you should consider using MongoCollection::aggregate().

  • "maxTimeMS"

    Specifies a cumulative time limit in milliseconds for processing the operation (does not include idle time). If the operation is not completed within the timeout period, a MongoExecutionTimeoutException will be thrown.

Rückgabewerte

Returns a MongoCommandCursor object. Because this implements the Iterator interface you can iterate over each of the results as returned by the command query. The MongoCommandCursor also implements the MongoCursorInterface interface which adds the MongoCommandCursor::batchSize(), MongoCommandCursor::dead(), MongoCommandCursor::info() methods.

Beispiele

Beispiel #1 MongoCollection::aggregateCursor() example

Finding all of the distinct values for a key.

<?php
$m = new MongoClient;
$db = $m->test;
$people = $db->people;
$people->drop();

$people->insert(array("name" => "Joe", "points" => 4));
$people->insert(array("name" => "Molly", "points" => 43));
$people->insert(array("name" => "Sally", "points" => 22));
$people->insert(array("name" => "Joe", "points" => 22));
$people->insert(array("name" => "Molly", "points" => 87));

$ages = $people->aggregateCursor( [
        [ '$group' => [ '_id' => '$name', 'points' => [ '$sum' => '$points' ] ] ],
        [ '$sort' => [ 'points' => -1 ] ],
] );

foreach ($ages as $person) {
    echo "{$person['_id']}: {$person['points']}\n";
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Molly: 130
Joe: 26
Sally: 22

Beispiel #2 MongoCollection::aggregateCursor() example with different initial batch size

Finding all of the distinct values for a key.

<?php
$m = new MongoClient;
$db = $m->test;
$people = $db->people;
$people->drop();

/* Insert some sample data */
$people->insert(array("name" => "Joe", "points" => 4));
$people->insert(array("name" => "Molly", "points" => 43));
$people->insert(array("name" => "Sally", "points" => 22));
$people->insert(array("name" => "Joe", "points" => 22));
$people->insert(array("name" => "Molly", "points" => 87));

/* Run the command cursor */
$ages = $people->aggregateCursor(
    [
        [ '$group' => [ '_id' => '$name', 'points' => [ '$sum' => '$points' ] ] ],
        [ '$sort' => [ 'points' => -1 ] ],
    ],
    [ "cursor" => [ "batchSize" => 4 ] ]
);

foreach ($ages as $person) {
    echo "{$person['_id']}: {$person['points']}\n";
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Molly: 130
Joe: 26
Sally: 22

Siehe auch

  • MongoDB::command() - Execute a database command
  • MongoCommandCursor
  • MongoCommandCursor::batchSize() - Limits the number of elements returned in one batch.
  • MongoCollection::aggregate() - Perform an aggregation using the aggregation framework
  • The MongoDB » aggregation framework

MongoCollection::aggregate
MongoCollection::batchInsert
MongoCollection


Inserts multiple documents into this collection

MongoCollection::aggregateCursor
MongoCollection::__construct
MongoCollection
PHP Manual

MongoCollection::batchInsert

(PECL mongo >=0.9.0)

MongoCollection::batchInsert — Inserts multiple documents into this collection

Beschreibung

public mixed MongoCollection::batchInsert ( array $a [, array $options = array() ] )

Parameter-Liste

a

An array of arrays or objects. If any objects are used, they may not have protected or private properties.

Hinweis:

If the documents to insert do not have an _id key or property, a new MongoId instance will be created and assigned to it. See MongoCollection::insert() for additional information on this behavior.

options

An array of options for the batch of insert operations. Currently available options include:

  • "continueOnError"

    Boolean, defaults to FALSE. If set, the database will not stop processing a bulk insert if one fails (eg due to duplicate IDs). This makes bulk insert behave similarly to a series of single inserts, except that calling MongoDB::lastError() will have an error set if any insert fails, not just the last one. If multiple errors occur, only the most recent will be reported by MongoDB::lastError().

    Hinweis:

    Please note that continueOnError affects errors on the database side only. If you try to insert a document that has errors (for example it contains a key with an empty name), then the document is not even transferred to the database as the driver detects this error and bails out. continueOnError has no effect on errors detected in the documents by the driver.

  • "fsync"

    Boolean, defaults to FALSE. If journaling is enabled, it works exactly like "j". If journaling is not enabled, the write operation blocks until it is synced to database files on disk. If TRUE, an acknowledged insert is implied and this option will override setting "w" to 0.

    Hinweis: If journaling is enabled, users are strongly encouraged to use the "j" option instead of "fsync". Do not use "fsync" and "j" simultaneously, as that will result in an error.

  • "j"

    Boolean, defaults to FALSE. Forces the write operation to block until it is synced to the journal on disk. If TRUE, an acknowledged write is implied and this option will override setting "w" to 0.

    Hinweis: If this option is used and journaling is disabled, MongoDB 2.6+ will raise an error and the write will fail; older server versions will simply ignore the option.

  • "socketTimeoutMS"

    This option specifies the time limit, in milliseconds, for socket communication. If the server does not respond within the timeout period, a MongoCursorTimeoutException will be thrown and there will be no way to determine if the server actually handled the write or not. A value of -1 may be specified to block indefinitely. The default value for MongoClient is 30000 (30 seconds).

  • "w"

    See Write Concerns. The default value for MongoClient is 1.

  • "wTimeoutMS"

    This option specifies the time limit, in milliseconds, for write concern acknowledgement. It is only applicable when "w" is greater than 1, as the timeout pertains to replication. If the write concern is not satisfied within the time limit, a MongoCursorException will be thrown. A value of 0 may be specified to block indefinitely. The default value for MongoClient is 10000 (ten seconds).

The following options are deprecated and should no longer be used:

  • "safe"

    Deprecated. Please use the write concern "w" option.

  • "timeout"

    Deprecated alias for "socketTimeoutMS".

  • "wtimeout"

    Deprecated alias for "wTimeoutMS".

Rückgabewerte

If the w parameter is set to acknowledge the write, returns an associative array with the status of the inserts ("ok") and any error that may have occurred ("err"). Otherwise, returns TRUE if the batch insert was successfully sent, FALSE otherwise.

Fehler/Exceptions

Throws MongoException if any inserted documents are empty or if they contains zero-length keys. Attempting to insert an object with protected and private properties will cause a zero-length key error.

Throws MongoCursorException if the "w" option is set and the write fails.

Throws MongoCursorTimeoutException if the "w" option is set to a value greater than one and the operation takes longer than MongoCursor::$timeout milliseconds to complete. This does not kill the operation on the server, it is a client-side timeout. The operation in MongoCollection::$wtimeout is milliseconds.

Changelog

Version | Beschreibung
1.5.0 | Added the "wTimeoutMS" option, which replaces "wtimeout". Emits E_DEPRECATED when "wtimeout" is used. Added the "socketTimeoutMS" option, which replaces "timeout". Emits E_DEPRECATED when "timeout" is used. Emits E_DEPRECATED when "safe" is used.
1.3.4 | Added "wtimeout" option.
1.3.0 | Added "w" option.
1.2.7 | Added "continueOnError" option.
1.0.9 | Added ability to pass integers to the "safe" option, which previously only accepted booleans. Added "fsync" option.
1.0.5 | Added options parameter.

Beispiele

Beispiel #1 MongoCollection::batchInsert() example

Batch insertion is a quick way to add many elements to the database at once

<?php

$users = array();
for ($i = 0; $i<100; $i++) {
  $users[] = array('username' => 'user'.$i, 'i' => $i);
}

$mongo = new MongoClient();
$collection = $mongo->my_db->users;
$collection->drop();

$collection->batchInsert($users);

foreach ($users as $user) {
  echo $user['_id']."\n"; // populated with instanceof MongoId
}

$users = $collection->find()->sort(array('i' => 1));
foreach ($users as $user) {
    var_dump($user['username']);
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

4bf43ac68ead0e1971000000
4bf43ac68ead0e1971010000
4bf43ac68ead0e1971020000
...
string(5) "user1"
string(5) "user2"
string(5) "user3"
...

Beispiel #2 MongoCollection::batchInsert() example with ignoring errors

<?php

$con = new Mongo;
$db = $con->demo;

$doc1 = array(
        '_id' => new MongoId('4cb4ab6d7addf98506010001'),
        'id' => 1,
        'desc' => "ONE",
);
$doc2 = array(
        '_id' => new MongoId('4cb4ab6d7addf98506010002'),
        'id' => 2,
        'desc' => "TWO",
);
$doc3 = array(
        '_id' => new MongoId('4cb4ab6d7addf98506010002'), // same _id as above
        'id' => 3,
        'desc' => "THREE",
);
$doc4 = array(
        '_id' => new MongoId('4cb4ab6d7addf98506010004'),
        'id' => 4,
        'desc' => "FOUR",
);

$c = $db->selectCollection('c');
$c->batchInsert(
    array($doc1, $doc2, $doc3, $doc4),
    array('continueOnError' => true)
);

$docs = $c->find();
foreach ($docs as $doc) {
    var_dump($doc['desc']);
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(3) "ONE"
string(3) "TWO"
string(4) "FOUR"

Siehe auch

  • MongoCollection::insert() - Inserts a document into the collection
  • MongoCollection::update() - Update records based on a given criteria
  • MongoCollection::find() - Queries this collection, returning a MongoCursor for the result set
  • MongoCollection::remove() - Remove records from this collection
  • MongoDB core docs on » insert.
MongoCollection::aggregateCursor
MongoCollection::__construct
MongoCollection


Creates a new collection

MongoCollection::batchInsert
MongoCollection::count
MongoCollection
PHP Manual

MongoCollection::__construct

(PECL mongo >=0.9.0)

MongoCollection::__construct — Creates a new collection

Beschreibung

public MongoCollection::__construct ( MongoDB $db , string $name )

Parameter-Liste

MongoDB db

Parent database.

name

Name for this collection.

Rückgabewerte

Returns a new collection object.

Fehler/Exceptions

Throws default exception if the collection name is invalid.

MongoCollection::batchInsert
MongoCollection::count
MongoCollection


Counts the number of documents in this collection

MongoCollection::__construct
MongoCollection::createDBRef
MongoCollection
PHP Manual

MongoCollection::count

(PECL mongo >=0.9.0)

MongoCollection::count — Counts the number of documents in this collection

Beschreibung

 public int MongoCollection::count
  ([ array $query = array()
 [, array $options = array()
]] )

Parameter-Liste

query

Associative array or object with fields to match.

options

An array of options for the index creation. Currently available options include:

Name | Typ | Beschreibung
hint mixed

Index to use for the query. If a string is passed, it should correspond to an index name. If an array or object is passed, it should correspond to the specification used to create the index (i.e. the first argument to MongoCollection::createIndex()).

This option is only supported in MongoDB 2.6+.
limit | integer | The maximum number of matching documents to return.
maxTimeMS integer

Specifies a cumulative time limit in milliseconds for processing the operation (does not include idle time). If the operation is not completed within the timeout period, a MongoExecutionTimeoutException will be thrown.

This option is only supported in MongoDB 2.6+.
skip | integer | The number of matching documents to skip before returning results.

Rückgabewerte

Returns the number of documents matching the query.

Fehler/Exceptions

Throws MongoResultException if the server could not execute the command due to an error.

Throws MongoExecutionTimeoutException if command execution was terminated due to maxTimeMS.

Changelog

Version | Beschreibung
1.6.0 | The second parameter is now an options array. Passing limit and skip as the second and third parameters, respectively, is deprecated.
1.0.7 | Added limit and skip as second and third parameters, respectively.

Beispiele

Beispiel #1 MongoCollection::count() example

<?php

$collection->insert(array('x'=>1));
$collection->insert(array('x'=>2));
$collection->insert(array('x'=>3));

var_dump($collection->count());
var_dump($collection->count(array('x'=>1)));

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(3)
int(1)
MongoCollection::__construct
MongoCollection::createDBRef
MongoCollection


Creates a database reference

MongoCollection::count
MongoCollection::createIndex
MongoCollection
PHP Manual

MongoCollection::createDBRef

(PECL mongo >=0.9.0)

MongoCollection::createDBRef — Creates a database reference

Beschreibung

public array MongoCollection::createDBRef ( mixed $document_or_id )

Parameter-Liste

document_or_id

If an array or object is given, its _id field will be used as the reference ID. If a MongoId or scalar is given, it will be used as the reference ID.

Rückgabewerte

Returns a database reference array.

If an array without an _id field was provided as the document_or_id parameter, NULL will be returned.

Beispiele

Beispiel #1 MongoCollection::createDBRef() example

<?php

$songs = $db->songs;
$playlists = $db->playlists;

// create a reference to a song
$manamana = $songs->findOne(array('title' => 'Ma na ma na'));
$refToSong = $songs->createDBRef($manamana);

// add the reference to my playlist
$playlists->update(array('username' => 'me'), array('$push' => array('songlist' => $refToSong)));

?>

Siehe auch

  • MongoCollection::getDBRef() - Fetches the document pointed to by a database reference

MongoCollection::count
MongoCollection::createIndex
MongoCollection


Creates an index on the specified field(s) if it does not already exist.

MongoCollection::createDBRef
MongoCollection::deleteIndex
MongoCollection
PHP Manual

MongoCollection::createIndex

(PECL mongo >=1.5.0)

MongoCollection::createIndex — Creates an index on the specified field(s) if it does not already exist.

Beschreibung

public bool MongoCollection::createIndex ( array $keys [, array $options = array() ] )

Creates an index on the specified field(s) if it does not already exist. Fields may be indexed with a direction (e.g. ascending or descending) or a special type (e.g. text, geospatial, hashed).

Hinweis:

This method will use the » createIndexes database command when communicating with MongoDB 2.6+. For previous database versions, the method will perform an insert operation on the special system.indexes collection.

Parameter-Liste

keys

An array specifying the index's fields as its keys. For each field, the value is either the index direction or » index type. If specifying direction, specify 1 for ascending or -1 for descending.

options

An array of options for the index creation. We pass all given options straight to the server, but a non-exhaustive list of currently available options include:

  • "unique"

    Specify TRUE to create a unique index. The default value is FALSE. This option applies only to ascending/descending indexes.

    Hinweis:

    When MongoDB indexes a field, if a document does not have a value for the field, a NULL value is indexed. If multiple documents do not contain a field, a unique index will reject all but the first of those documents. The "sparse" option may be used to overcome this, since it will prevent documents without the field from being indexed.

  • "sparse"

    Specify TRUE to create a sparse index, which only indexes documents containing a specified field. The default value is FALSE.

  • "expireAfterSeconds"

    The value of this option should specify the number of seconds after which a document should be considered expired and automatically removed from the collection. This option is only compatible with single-field indexes where the field will contain MongoDate values.

    Hinweis:

    This feature is available in MongoDB 2.2+. See » Expire Data from Collections by Setting TTL for more information.

  • "name"

    A optional name that uniquely identifies the index.

    Hinweis:

    By default, the driver will generate an index name based on the index's field(s) and ordering or type. For example, a compound index array("x" => 1, "y" => -1) would be named "x_1_y_-1" and a geospatial index array("loc" => "2dsphere") would be named "loc_2dsphere". For indexes with many fields, it is possible that the generated name might exceed MongoDB's » limit for index names. The "name" option may be used in that case to supply a shorter name.

  • "background"

    Builds the index in the background so that building an index does not block other database activities. Specify TRUE to build in the background. The default value is FALSE.

    Warnung

    Prior to MongoDB 2.6.0, index builds on secondaries were executed as foreground operations, irrespective of this option. See » Building Indexes with Replica Sets for more information.

  • "socketTimeoutMS"

    This option specifies the time limit, in milliseconds, for socket communication. If the server does not respond within the timeout period, a MongoCursorTimeoutException will be thrown and there will be no way to determine if the server actually handled the write or not. A value of -1 may be specified to block indefinitely. The default value for MongoClient is 30000 (30 seconds).

The following option may be used with MongoDB 2.6+:

  • "maxTimeMS"

    Specifies a cumulative time limit in milliseconds for processing the operation (does not include idle time). If the operation is not completed within the timeout period, a MongoExecutionTimeoutException will be thrown.

The following options may be used with MongoDB versions before 2.8:

  • "dropDups"

    Specify TRUE to force creation of a unique index where the collection may contain duplicate values for a key. MongoDB will index the first occurrence of a key and delete all subsequent documents from the collection that contain a duplicate value for that key. The default value is FALSE.

    Warnung

    "dropDups" may delete data from your database. Use with extreme caution.

    Hinweis:

    This option is not supported on MongoDB 2.8+. Index creation will fail if the collection contains duplicate values.

The following options may be used with MongoDB versions before 2.6:

  • "w"

    See Write Concerns. The default value for MongoClient is 1.

  • "wTimeoutMS"

    This option specifies the time limit, in milliseconds, for write concern acknowledgement. It is only applicable when "w" is greater than 1, as the timeout pertains to replication. If the write concern is not satisfied within the time limit, a MongoCursorException will be thrown. A value of 0 may be specified to block indefinitely. The default value for MongoClient is 10000 (ten seconds).

The following options are deprecated and should no longer be used:

  • "safe"

    Deprecated. Please use the write concern "w" option.

  • "timeout"

    Deprecated alias for "socketTimeoutMS".

  • "wtimeout"

    Deprecated alias for "wTimeoutMS".

Rückgabewerte

Returns an array containing the status of the index creation. The array contains whether the operation succeeded ("ok"), the number of indexes before and after the operation ("numIndexesBefore" and "numIndexesAfter"), and whether the collection that the index belongs to has been created ("createdCollectionAutomatically"). If the index already existed and did not need to be created, a "note" field may be present in lieu of "numIndexesAfter".

With MongoDB 2.4 and earlier, a status document is only returned if the write concern is at least 1. Otherwise, TRUE is returned. The fields in the status document are different, except for the "ok" field, which signals whether the index creation was successful. Additional fields are described in the documentation for MongoCollection::insert().

Fehler/Exceptions

Throws MongoException if the index name is longer than 128 bytes, or if the index specification is not an array.

Throws MongoDuplicateKeyException if the server could not create the unique index due to conflicting documents.

Throws MongoResultException if the server could not create the index due to an error.

Throws MongoCursorException if the "w" option is set and the write fails.

Throws MongoCursorTimeoutException if the "w" option is set to a value greater than one and the operation takes longer than MongoCursor::$timeout milliseconds to complete. This does not kill the operation on the server, it is a client-side timeout. The operation in MongoCollection::$wtimeout is milliseconds.

Beispiele

Beispiel #1 MongoCollection::createIndex() example

<?php

$c = new MongoCollection($db, 'foo');

// create an index on 'x' ascending
$c->createIndex(array('x' => 1));

// create a unique index on 'y'
$c->createIndex(array('y' => 1), array('unique' => true));

// create a compound index on 'za' ascending and 'zb' descending
$c->createIndex(array('za' => 1, 'zb' => -1));

?>

Beispiel #2 Geospatial Indexing

Mongo supports geospatial indexes, which allow you to search for documents near a given location or within a shape. The following example creates a geospatial index on the "loc" field:

<?php

$collection->createIndex(array('loc' => '2dsphere'));

?>

Beispiel #3 Drop duplicates example

<?php

$collection->insert(array('username' => 'joeschmoe'));
$collection->insert(array('username' => 'joeschmoe'));

/* Index creation fails, since you cannot create a unique index on a field when
 * duplicates exist.
 */
$collection->createIndex(array('username' => 1), array('unique' => 1));

/* MongoDB will one of the conflicting documents and allow the unique index to
 * be created.
 */
$collection->createIndex(array('username' => 1), array('unique' => 1, 'dropDups' => 1));

/* We now have a unique index and subsequent inserts with the same username will
 * fail.
 */
$collection->insert(array('username' => 'joeschmoe'));

?>

Siehe auch

  • MongoCollection::deleteIndex() - Deletes an index from this collection
  • MongoCollection::deleteIndexes() - Delete all indices for this collection
  • The MongoDB » index and » index type documentation.
MongoCollection::createDBRef
MongoCollection::deleteIndex
MongoCollection


Deletes an index from this collection

MongoCollection::createIndex
MongoCollection::deleteIndexes
MongoCollection
PHP Manual

MongoCollection::deleteIndex

(PECL mongo >=0.9.0)

MongoCollection::deleteIndex — Deletes an index from this collection

Beschreibung

public array MongoCollection::deleteIndex ( string|array $keys )

This method is identical to:

<?php

public function deleteIndexes($keys) {
  $indexName = $this->toIndexString($keys);

  return $this->db->command(array(
    "deleteIndexes" => $this->getName(),
    "index" => $indexName,
  ));
}

?>

Each index is given a unique name when it is created. This is often generated by the driver based on the index key(s) and order/type, but custom names may also be specified with MongoCollection::createIndex()'s "name" option).

Unfortunately, MongoCollection::deleteIndex() cannot delete custom-named indexes due to a backwards compatibility issue. When a string argument is provided, it is assumed to be the single field name in an ascending index (e.g. the name "x_1" would be used for the argument "x"). If an array or object is provided, an index name is generated just as if that argument was passed to MongoCollection::createIndex().

In order to delete a custom-named index with the PHP driver, the deleteIndexes database command must be used. For instance, an index named "myIndex" could be deleted with the PHP driver by running:

<?php

$db->command(array(
  "deleteIndexes" => $collection->getName(),
  "index" => "myIndex",
));

?>

To determine the name of an index with the PHP driver, you can query the system.indexes collection of a database and look for the "name" field of each result. The "ns" field will indicate the collection to which each index belongs.

Parameter-Liste

keys

An array specifying the index's fields as its keys. For each field, the value is either the index direction or » index type. If specifying direction, specify 1 for ascending or -1 for descending.

If a string is provided, it is assumed to be the single field name in an ascending index.

Rückgabewerte

Returns the database response.

Beispiele

Beispiel #1 MongoCollection::deleteIndex() example

This example passes the function string and array parameters.

<?php

$m = new MongoClient();
$c = $m->example->indices;

// create and remove a simple index
$c->createIndex(array("i"=>1));
$c->deleteIndex("i");

// create and remove a multi-key index
$c->ensureIndex(array("j" => 1, "k" => 1));
$c->deleteIndex(array("j" => 1, "k" => 1));

?>

Siehe auch

  • MongoCollection::createIndex() - Creates an index on the specified field(s) if it does not already exist.
  • MongoCollection::deleteIndexes() - Delete all indices for this collection
  • MongoCollection::toIndexString() - Converts keys specifying an index to its identifying string
  • The MongoDB » index and » index type documentation.
MongoCollection::createIndex
MongoCollection::deleteIndexes
MongoCollection


Delete all indices for this collection

MongoCollection::deleteIndex
MongoCollection::distinct
MongoCollection
PHP Manual

MongoCollection::deleteIndexes

(PECL mongo >=0.9.0)

MongoCollection::deleteIndexes — Delete all indices for this collection

Beschreibung

public array MongoCollection::deleteIndexes ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the database response.

Beispiele

Beispiel #1 MongoCollection::deleteIndexes() example

This example demonstrates how to delete all indexes from a collection and the response to expect.

<?php

$collection = $mongo->my_db->articles;
$response = $collection->deleteIndexes();
print_r($response);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [nIndexesWas] => 1
    [msg] => all indexes deleted for collection
    [ok] => 1
)

Siehe auch

  • MongoCollection::createIndex() - Creates an index on the specified field(s) if it does not already exist.
  • MongoCollection::deleteIndex() - Deletes an index from this collection
MongoCollection::deleteIndex
MongoCollection::distinct
MongoCollection


Retrieve a list of distinct values for the given key across a collection.

MongoCollection::deleteIndexes
MongoCollection::drop
MongoCollection
PHP Manual

MongoCollection::distinct

(PECL mongo >=1.2.11)

MongoCollection::distinct — Retrieve a list of distinct values for the given key across a collection.

Beschreibung

public array MongoCollection::distinct ( string $key [, array $query ] )

The distinct command returns a list of distinct values for the given key across a collection.

Parameter-Liste

key

The key to use.

query

An optional query parameters

Rückgabewerte

Returns an array of distinct values, Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 MongoCollection::distinct() example

<?php
$m = new Mongo;
$db = $m->selectDB("test");
$db->dropCollection("distinct");
$c = $db->distinct;

$c->insert(array("stuff" => "bar", "zip-code" => 10010));
$c->insert(array("stuff" => "foo", "zip-code" => 10010));
$c->insert(array("stuff" => "bar", "zip-code" => 99701), array("w" => 1));

$retval = $c->distinct("zip-code");
var_dump($retval);

$retval = $c->distinct("zip-code", array("stuff" => "foo"));
var_dump($retval);

$retval = $c->distinct("zip-code", array("stuff" => "bar"));
var_dump($retval);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  [0]=>
  int(10010)
  [1]=>
  int(99701)
}
array(1) {
  [0]=>
  int(10010)
}
array(2) {
  [0]=>
  int(10010)
  [1]=>
  int(99701)
}

Beispiel #2 MongoCollection::distinct() example on a embedded document

<?php
$c->insert(array("user" => array("points" => 25)));
$c->insert(array("user" => array("points" => 31)));
$c->insert(array("user" => array("points" => 25)));

$retval = $c->distinct("user.points");
var_dump($retval);

$retval = $c->distinct("user.nonexisting");
var_dump($retval);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  [0]=>
  int(25)
  [1]=>
  int(31)
}
array(0) {
}
MongoCollection::deleteIndexes
MongoCollection::drop
MongoCollection


Drops this collection

MongoCollection::distinct
MongoCollection::ensureIndex
MongoCollection
PHP Manual

MongoCollection::drop

(PECL mongo >=0.9.0)

MongoCollection::drop — Drops this collection

Beschreibung

public array MongoCollection::drop ( void )

Drops this collection and deletes its indices.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the database response.

Beispiele

Beispiel #1 MongoCollection::drop() example

This example demonstrates how to drop a collection and the response to expect.

<?php

$collection = $mongo->my_db->articles;
$response = $collection->drop();
print_r($response);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [nIndexesWas] => 1
    [msg] => all indexes deleted for collection
    [ns] => my_db.articles
    [ok] => 1
)
MongoCollection::distinct
MongoCollection::ensureIndex
MongoCollection


Creates an index on the specified field(s) if it does not already exist.

MongoCollection::drop
MongoCollection::find
MongoCollection
PHP Manual

MongoCollection::ensureIndex

(PECL mongo >=0.9.0)

MongoCollection::ensureIndex — Creates an index on the specified field(s) if it does not already exist.

Beschreibung

public bool MongoCollection::ensureIndex ( string|array $key|keys [, array $options = array() ] )
Warnung

This method is deprecated since version 1.5.0. Please use MongoCollection::createIndex() instead.

Creates an index on the specified field(s) if it does not already exist. Fields may be indexed with a direction (e.g. ascending or descending) or a special type (e.g. text, geospatial, hashed).

Hinweis:

This method will use the » createIndexes database command when communicating with MongoDB 2.6+. For previous database versions, the method will perform an insert operation on the special system.indexes collection.

Parameter-Liste

keys

An array specifying the index's fields as its keys. For each field, the value is either the index direction or » index type. If specifying direction, specify 1 for ascending or -1 for descending.

options

An array of options for the index creation. Currently available options include:

  • "unique"

    Specify TRUE to create a unique index. The default value is FALSE. This option applies only to ascending/descending indexes.

    Hinweis:

    When MongoDB indexes a field, if a document does not have a value for the field, a NULL value is indexed. If multiple documents do not contain a field, a unique index will reject all but the first of those documents. The "sparse" option may be used to overcome this, since it will prevent documents without the field from being indexed.

  • "sparse"

    Specify TRUE to create a sparse index, which only indexes documents containing a specified field. The default value is FALSE.

  • "expireAfterSeconds"

    The value of this option should specify the number of seconds after which a document should be considered expired and automatically removed from the collection. This option is only compatible with single-field indexes where the field will contain MongoDate values.

    Hinweis:

    This feature is available in MongoDB 2.2+. See » Expire Data from Collections by Setting TTL for more information.

  • "name"

    A optional name that uniquely identifies the index.

    Hinweis:

    By default, the driver will generate an index name based on the index's field(s) and ordering or type. For example, a compound index array("x" => 1, "y" => -1) would be named "x_1_y_-1" and a geospatial index array("loc" => "2dsphere") would be named "loc_2dsphere". For indexes with many fields, it is possible that the generated name might exceed MongoDB's » limit for index names. The "name" option may be used in that case to supply a shorter name.

  • "background"

    Builds the index in the background so that building an index does not block other database activities. Specify TRUE to build in the background. The default value is FALSE.

    Warnung

    Prior to MongoDB 2.6.0, index builds on secondaries were executed as foreground operations, irrespective of this option. See » Building Indexes with Replica Sets for more information.

  • "socketTimeoutMS"

    This option specifies the time limit, in milliseconds, for socket communication. If the server does not respond within the timeout period, a MongoCursorTimeoutException will be thrown and there will be no way to determine if the server actually handled the write or not. A value of -1 may be specified to block indefinitely. The default value for MongoClient is 30000 (30 seconds).

The following option may be used with MongoDB 2.6+:

  • "maxTimeMS"

    Specifies a cumulative time limit in milliseconds for processing the operation (does not include idle time). If the operation is not completed within the timeout period, a MongoExecutionTimeoutException will be thrown.

The following options may be used with MongoDB versions before 2.8:

  • "dropDups"

    Specify TRUE to force creation of a unique index where the collection may contain duplicate values for a key. MongoDB will index the first occurrence of a key and delete all subsequent documents from the collection that contain a duplicate value for that key. The default value is FALSE.

    Warnung

    "dropDups" may delete data from your database. Use with extreme caution.

    Hinweis:

    This option is not supported on MongoDB 2.8+. Index creation will fail if the collection contains duplicate values.

The following options may be used with MongoDB versions before 2.6:

  • "w"

    See Write Concerns. The default value for MongoClient is 1.

  • "wTimeoutMS"

    This option specifies the time limit, in milliseconds, for write concern acknowledgement. It is only applicable when "w" is greater than 1, as the timeout pertains to replication. If the write concern is not satisfied within the time limit, a MongoCursorException will be thrown. A value of 0 may be specified to block indefinitely. The default value for MongoClient is 10000 (ten seconds).

The following options are deprecated and should no longer be used:

  • "safe"

    Deprecated. Please use the write concern "w" option.

  • "timeout"

    Deprecated alias for "socketTimeoutMS".

  • "wtimeout"

    Deprecated alias for "wTimeoutMS".

Rückgabewerte

Returns an array containing the status of the index creation. The array contains whether the operation succeeded ("ok"), the number of indexes before and after the operation ("numIndexesBefore" and "numIndexesAfter"), and whether the collection that the index belongs to has been created ("createdCollectionAutomatically"). If the index already existed and did not need to be created, a "note" field may be present in lieu of "numIndexesAfter".

With MongoDB 2.4 and earlier, a status document is only returned if the write concern is at least 1. Otherwise, TRUE is returned. The fields in the status document are different, except for the "ok" field, which signals whether the index creation was successful. Additional fields are described in the documentation for MongoCollection::insert().

Changelog

Version | Beschreibung
1.5.0 | Renamed the "wtimeout" option to "wTimeoutMS". Emits E_DEPRECATED when "wtimeout" is used. Renamed the "timeout" option to "socketTimeoutMS". Emits E_DEPRECATED when "timeout" is used. Emits E_DEPRECATED when "safe" is used.
1.3.4 | Added "wtimeout" option.
1.3.0 | Added "w" option. The options parameter no longer accepts a boolean to signify a unique index. Instead, this now has to be done with array('unique' => true).
1.2.11 | Emits E_DEPRECATED when options is scalar.
1.2.0 | Added "timeout" option.
1.0.11 | The "safe" option will trigger a primary failover, if necessary. MongoException will be thrown if the index name (either generated or set) is longer than 128 bytes.
1.0.5 | Added the "name" option to override index name creation.
1.0.2 | Changed options parameter from boolean to array. Pre-1.0.2, the second parameter was an optional boolean value specifying a unique index.

Fehler/Exceptions

Throws MongoException if the index name is longer than 128 bytes, or if the index specification is not an array.

Throws MongoDuplicateKeyException if the server could not create the unique index due to conflicting documents.

Throws MongoResultException if the server could not create the index due to an error.

Throws MongoCursorException if the "w" option is set and the write fails.

Throws MongoCursorTimeoutException if the "w" option is set to a value greater than one and the operation takes longer than MongoCursor::$timeout milliseconds to complete. This does not kill the operation on the server, it is a client-side timeout. The operation in MongoCollection::$wtimeout is milliseconds.

Beispiele

Beispiel #1 MongoCollection::ensureIndex() example

<?php

$c = new MongoCollection($db, 'foo');

// create an index on 'x' ascending
$c->ensureIndex(array('x' => 1));

// create a unique index on 'y'
$c->ensureIndex(array('y' => 1), array('unique' => true));

// create a compound index on 'za' ascending and 'zb' descending
$c->ensureIndex(array('za' => 1, 'zb' => -1));

?>

Beispiel #2 Geospatial Indexing

Mongo supports geospatial indexes, which allow you to search for documents near a given location or within a shape. The following example creates a geospatial index on the "loc" field:

<?php

$collection->ensureIndex(array('loc' => '2dsphere'));

?>

Beispiel #3 Drop duplicates example

<?php

$collection->insert(array('username' => 'joeschmoe'));
$collection->insert(array('username' => 'joeschmoe'));

/* Index creation fails, since you cannot create a unique index on a field when
 * duplicates exist.
 */
$collection->ensureIndex(array('username' => 1), array('unique' => 1));

/* MongoDB will one of the conflicting documents and allow the unique index to
 * be created.
 */
$collection->ensureIndex(array('username' => 1), array('unique' => 1, 'dropDups' => 1));

/* We now have a unique index and subsequent inserts with the same username will
 * fail.
 */
$collection->insert(array('username' => 'joeschmoe'));

?>

Siehe auch

  • MongoCollection::createIndex() - Creates an index on the specified field(s) if it does not already exist.
  • MongoCollection::deleteIndex() - Deletes an index from this collection
  • MongoCollection::deleteIndexes() - Delete all indices for this collection
  • The MongoDB » index and » index type documentation.
MongoCollection::drop
MongoCollection::find
MongoCollection


Queries this collection, returning a MongoCursor for the result set

MongoCollection::ensureIndex
MongoCollection::findAndModify
MongoCollection
PHP Manual

MongoCollection::find

(PECL mongo >=0.9.0)

MongoCollection::find — Queries this collection, returning a MongoCursor for the result set

Beschreibung

 public MongoCursor MongoCollection::find
  ([ array $query = array()
 [, array $fields = array()
]] )

Parameter-Liste

query

The fields for which to search. MongoDB's query language is quite extensive. The PHP driver will in almost all cases pass the query straight through to the server, so reading the MongoDB core docs on » find is a good idea.

Warnung

Please make sure that for all special query operators (starting with $) you use single quotes so that PHP doesn't try to replace "$exists" with the value of the variable $exists.

fields

Fields of the results to return. The array is in the format array('fieldname' => true, 'fieldname2' => true). The _id field is always returned.

Rückgabewerte

Returns a cursor for the search results.

Beispiele

Beispiel #1 MongoCollection::find() example

This example demonstrates basic search options.

<?php

$m = new MongoClient();
$db = $m->selectDB('test');
$collection = new MongoCollection($db, 'produce');

// search for fruits
$fruitQuery = array('Type' => 'Fruit');

$cursor = $collection->find($fruitQuery);
foreach ($cursor as $doc) {
    var_dump($doc);
}

// search for produce that is sweet. Taste is a child of Details.
$sweetQuery = array('Details.Taste' => 'Sweet');
echo "Sweet\n";
$cursor = $collection->find($sweetQuery);
foreach ($cursor as $doc) {
    var_dump($doc);
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(4) {
  ["_id"]=>
  object(MongoId)#7 (1) {
    ["$id"]=>
    string(24) "50a87dd084f045a19b220dd6"
  }
  ["Name"]=>
  string(5) "Apple"
  ["Type"]=>
  string(5) "Fruit"
  ["Details"]=>
  array(2) {
    ["Taste"]=>
    string(5) "Sweet"
    ["Colour"]=>
    string(3) "Red"
  }
}
array(4) {
  ["_id"]=>
  object(MongoId)#8 (1) {
    ["$id"]=>
    string(24) "50a87de084f045a19b220dd7"
  }
  ["Name"]=>
  string(5) "Lemon"
  ["Type"]=>
  string(5) "Fruit"
  ["Details"]=>
  array(2) {
    ["Taste"]=>
    string(4) "Sour"
    ["Colour"]=>
    string(5) "Green"
  }
}

Sweet:
array(4) {
  ["_id"]=>
  object(MongoId)#7 (1) {
    ["$id"]=>
    string(24) "50a87dd084f045a19b220dd6"
  }
  ["Name"]=>
  string(5) "Apple"
  ["Type"]=>
  string(5) "Fruit"
  ["Details"]=>
  array(2) {
    ["Taste"]=>
    string(5) "Sweet"
    ["Colour"]=>
    string(3) "Red"
  }
}

See MongoCursor for more information how to work with cursors.

Beispiel #2 MongoCollection::find() example

This example demonstrates how to search for a range.

<?php

$m = new MongoClient();
$db = $m->selectDB('test');
$collection = new MongoCollection($db, 'phpmanual');

// search for documents where 5 < x < 20
$rangeQuery = array('x' => array( '$gt' => 5, '$lt' => 20 ));

$cursor = $collection->find($rangeQuery);
foreach ($cursor as $doc) {
    var_dump($doc);
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  ["_id"]=>
  object(MongoId)#10 (1) {
    ["$id"]=>
    string(24) "4ebc3e3710b89f2349000000"
  }
  ["x"]=>
  int(12)
}
array(2) {
  ["_id"]=>
  object(MongoId)#11 (1) {
    ["$id"]=>
    string(24) "4ebc3e3710b89f2349000001"
  }
  ["x"]=>
  int(12)
}

See MongoCursor for more information how to work with cursors.

Beispiel #3 MongoCollection::find() example using $where

This example demonstrates how to search a collection using javascript code to reduce the resultset.

<?php

$m = new MongoClient();
$db = $m->selectDB('test');
$collection = new MongoCollection($db, 'phpmanual');

$js = "function() {
    return this.name == 'Joe' || this.age == 50;
}";
$cursor = $collection->find(array('$where' => $js));
foreach ($cursor as $doc) {
    var_dump($doc);
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(3) {
  ["_id"]=>
  object(MongoId)#7 (1) {
    ["$id"]=>
    string(24) "4ebc3e3710b89f2349000002"
  }
  ["name"]=>
  string(3) "Joe"
  ["age"]=>
  int(20)
}

Beispiel #4 MongoCollection::find() example using $in

This example demonstrates how to search a collection using the $in operator.

<?php

$m = new MongoClient();
$db = $m->selectDB('test');
$collection = new MongoCollection($db, 'phpmanual');

$cursor = $collection->find(array(
    'name' => array('$in' => array('Joe', 'Wendy'))
));

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(3) {
  ["_id"]=>
  object(MongoId)#7 (1) {
    ["$id"]=>
    string(24) "4ebc3e3710b89f2349000002"
  }
  ["name"]=>
  string(3) "Joe"
  ["age"]=>
  int(20)
}

Beispiel #5 Getting results as an array

This returns a MongoCursor. Often, when people are starting out, they are more comfortable using an array. To turn a cursor into an array, use the iterator_to_array() function.

<?php

$m = new MongoClient();
$db = $m->selectDB('test');
$collection = new MongoCollection($db, 'phpmanual');

$cursor = $collection->find();
$array = iterator_to_array($cursor);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(3) {
  ["4ebc40af10b89f5149000000"]=>
  array(2) {
    ["_id"]=>
    object(MongoId)#6 (1) {
      ["$id"]=>
      string(24) "4ebc40af10b89f5149000000"
    }
    ["x"]=>
    int(12)
  }
  ["4ebc40af10b89f5149000001"]=>
  array(2) {
    ["_id"]=>
    object(MongoId)#11 (1) {
      ["$id"]=>
      string(24) "4ebc40af10b89f5149000001"
    }
    ["x"]=>
    int(12)
  }
  ["4ebc40af10b89f5149000002"]=>
  array(3) {
    ["_id"]=>
    object(MongoId)#12 (1) {
      ["$id"]=>
      string(24) "4ebc40af10b89f5149000002"
    }
    ["name"]=>
    string(3) "Joe"
    ["age"]=>
    int(20)
  }
}

Using iterator_to_array() forces the driver to load all of the results into memory, so do not do this for result sets that are larger than memory!

Also, certain system collections do not have an _id field. If you are dealing with a collection that might have documents without _ids, pass FALSE as the second argument to iterator_to_array() (so that it will not try to use the non-existent _id values as keys).

Siehe auch

  • MongoCollection::findOne() - Queries this collection, returning a single element
  • MongoCollection::insert() - Inserts a document into the collection
  • MongoDB core docs on » find.
MongoCollection::ensureIndex
MongoCollection::findAndModify
MongoCollection


Update a document and return it

MongoCollection::find
MongoCollection::findOne
MongoCollection
PHP Manual

MongoCollection::findAndModify

(PECL mongo >=1.3.0)

MongoCollection::findAndModify — Update a document and return it

Beschreibung

public array MongoCollection::findAndModify ( array $query [, array $update [, array $fields [, array $options ]]] )

The findAndModify command atomically modifies and returns a single document. By default, the returned document does not include the modifications made on the update. To return the document with the modifications made on the update, use the new option.

Parameter-Liste

query

The query criteria to search for.

update

The update criteria.

fields

Optionally only return these fields.

options

An array of options to apply, such as remove the match document from the DB and return it.

Option | Beschreibung
sort array | Determines which document the operation will modify if the query selects multiple documents. findAndModify will modify the first document in the sort order specified by this argument.
remove boolean | Optional if update field exists. When TRUE, removes the selected document. The default is FALSE.
update array | Optional if remove field exists. Performs an update of the selected document.
new boolean | Optional. When TRUE, returns the modified document rather than the original. The findAndModify method ignores the new option for remove operations. The default is FALSE.
upsert boolean | Optional. Used in conjunction with the update field. When TRUE, the findAndModify command creates a new document if the query returns no documents. The default is false. In MongoDB 2.2, the findAndModify command returns NULL when upsert is TRUE.

Rückgabewerte

Returns the original document, or the modified document when new is set.

Fehler/Exceptions

Throws MongoResultException on failure.

Beispiele

Beispiel #1 MongoCollection::findAndModify() example

<?php
$m = new Mongo;
$col = $m->selectDB("test")->jobs;

$col->insert(array(
     "name" => "Next promo",
     "inprogress" => false,
     "priority" => 0,
     "tasks" => array( "select product", "add inventory", "do placement"),
) );

$col->insert(array(
     "name" => "Biz report",
     "inprogress" => false,
     "priority" => 1,
     "tasks" => array( "run sales report", "email report" )
) );

$col->insert(array(
     "name" => "Biz report",
     "inprogress" => false,
     "priority" => 2,
     "tasks" => array( "run marketing report", "email report" )
    ),
    array("w" => 1)
);

$retval = $col->findAndModify(
     array("inprogress" => false, "name" => "Biz report"),
     array('$set' => array('inprogress' => true, "started" => new MongoDate())),
     null,
     array(
        "sort" => array("priority" => -1),
        "new" => true,
    )
);

var_dump($retval);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(6) {
  ["_id"]=>
  object(MongoId)#7 (1) {
    ["$id"]=>
    string(24) "5091b5b244415e8cc3000002"
  }
  ["inprogress"]=>
  bool(true)
  ["name"]=>
  string(10) "Biz report"
  ["priority"]=>
  int(2)
  ["started"]=>
  object(MongoDate)#8 (2) {
    ["sec"]=>
    int(1351726514)
    ["usec"]=>
    int(925000)
  }
  ["tasks"]=>
  array(2) {
    [0]=>
    string(20) "run marketing report"
    [1]=>
    string(12) "email report"
  }
}

Beispiel #2 MongoCollection::findAndModify() error handling

<?php
$m = new Mongo;
$col = $m->selectDB("test")->jobs;
try {
    $retval = $col->findAndModify(
         array("inprogress" => false, "name" => "Next promo"),
         array('$pop' => array("tasks" => -1)),
         array("tasks" => array('$pop' => array("stuff"))),
         array("new" => true)
    );
} catch(MongoResultException $e) {
    echo $e->getCode(), " : ", $e->getMessage(), "\n";
    var_dump($e->getDocument());
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

13097 : exception: Unsupported projection option: $pop
array(3) {
  ["errmsg"]=>
  string(46) "exception: Unsupported projection option: $pop"
  ["code"]=>
  int(13097)
  ["ok"]=>
  float(0)
}

Siehe auch

  • The MongoDB » findAndModify command docs
MongoCollection::find
MongoCollection::findOne
MongoCollection


Queries this collection, returning a single element

MongoCollection::findAndModify
MongoCollection::__get
MongoCollection
PHP Manual

MongoCollection::findOne

(PECL mongo >=0.9.0)

MongoCollection::findOne — Queries this collection, returning a single element

Beschreibung

 public array MongoCollection::findOne
  ([ array $query = array()
 [, array $fields = array()
 [, array $options = array()
]]] )

As opposed to MongoCollection::find(), this method will return only the first result from the result set, and not a MongoCursor that can be iterated over.

Parameter-Liste

query

The fields for which to search. MongoDB's query language is quite extensive. The PHP driver will in almost all cases pass the query straight through to the server, so reading the MongoDB core docs on » find is a good idea.

Warnung

Please make sure that for all special query operaters (starting with $) you use single quotes so that PHP doesn't try to replace "$exists" with the value of the variable $exists.

fields

Fields of the results to return. The array is in the format array('fieldname' => true, 'fieldname2' => true). The _id field is always returned.

options

This parameter is an associative array of the form array("name" => <value>, ...). Currently supported options are:

  • "maxTimeMS"

    Specifies a cumulative time limit in milliseconds for processing the operation (does not include idle time). If the operation is not completed within the timeout period, a MongoExecutionTimeoutException will be thrown.

Rückgabewerte

Returns record matching the search or NULL.

Fehler/Exceptions

Throws MongoConnectionException if it cannot reach the database.

Changelog

Version | Beschreibung
1.5.0 | Added optional options argument.

Beispiele

Beispiel #1 MongoCollection::findOne() document by its id.

This example demonstrates how to find a single document in a collection by its id.

<?php

$articles = $mongo->my_db->articles;

$article = $articles->findOne(array('_id' => new MongoId('47cc67093475061e3d9536d2')));

?>

Beispiel #2 MongoCollection::findOne() document by some condition.

This example demonstrates how to find a single document in a collection by some condition and limiting the returned fields.

<?php

$users = $mongo->my_db->users;
$user = $users->findOne(array('username' => 'jwage'), array('password'));
print_r($user);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [_id] => MongoId Object
        (
        )

    [password] => test
)

Notice how even though the document does have a username field, we limited the results to only contain the password field.

Siehe auch

  • MongoCollection::find() - Queries this collection, returning a MongoCursor for the result set
  • MongoCollection::insert() - Inserts a document into the collection
  • MongoDB core docs on » find.
MongoCollection::findAndModify
MongoCollection::__get
MongoCollection


Gets a collection

MongoCollection::findOne
MongoCollection::getDBRef
MongoCollection
PHP Manual

MongoCollection::__get

(PECL mongo >=1.0.2)

MongoCollection::__get — Gets a collection

Beschreibung

public MongoCollection MongoCollection::__get ( string $name )

A concise syntax for getting a collection with a dot-separated name. If a collection name contains strange characters, you may have to use MongoDB::selectCollection() instead.

<?php

$mongo = new MongoClient();

// the following two lines are equivalent
$collection = $mongo->selectDB("foo")->selectCollection("bar.baz");
$collection = $mongo->foo->bar->baz;

?>

Parameter-Liste

name

The next string in the collection name.

Rückgabewerte

Returns the collection.

MongoCollection::findOne
MongoCollection::getDBRef
MongoCollection


Fetches the document pointed to by a database reference

MongoCollection::__get
MongoCollection::getIndexInfo
MongoCollection
PHP Manual

MongoCollection::getDBRef

(PECL mongo >=0.9.0)

MongoCollection::getDBRef — Fetches the document pointed to by a database reference

Beschreibung

public array MongoCollection::getDBRef ( array $ref )

Parameter-Liste

ref

A database reference.

Rückgabewerte

Returns the database document pointed to by the reference.

Beispiele

Beispiel #1 MongoCollection::getDBRef() example

<?php

$playlists = $db->playlists;

$myList = $playlists->findOne(array('username' => 'me'));

// fetch each song in the playlist
foreach ($myList['songlist'] as $songRef) {
    $song = $playlists->getDBRef($songRef);
    echo $song['title'] . "\n";
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Dazed and Confused
Ma na ma na
Bohemian Rhapsody

In the above example each $songRef looks something like the following:
    Array
    (
        [$ref] => songs
        [$id] => 49902cde5162504500b45c2c
    )

Siehe auch

  • MongoCollection::createDBRef() - Creates a database reference

MongoCollection::__get
MongoCollection::getIndexInfo
MongoCollection


Returns information about indexes on this collection

MongoCollection::getDBRef
MongoCollection::getName
MongoCollection
PHP Manual

MongoCollection::getIndexInfo

(PECL mongo >=0.9.0)

MongoCollection::getIndexInfo — Returns information about indexes on this collection

Beschreibung

public array MongoCollection::getIndexInfo ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

This function returns an array in which each element describes an index. Elements will contain the values name for the name of the index, ns for the namespace (a combination of the database and collection name), and key for a list of all fields in the index and their ordering. Additional values may be present for special indexes, such as unique or sparse.

Beispiele

Beispiel #1 MongoCollection::getIndexInfo() example

<?php

$m = new MongoClient();
$c = $m->selectCollection('test', 'venues');
var_dump($c->getIndexInfo());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(4) {
  [0]=>
  array(4) {
    ["v"]=>
    int(1)
    ["key"]=>
    array(1) {
      ["_id"]=>
      int(1)
    }
    ["name"]=>
    string(4) "_id_"
    ["ns"]=>
    string(11) "test.venues"
  }
  [1]=>
  array(4) {
    ["v"]=>
    int(1)
    ["key"]=>
    array(1) {
      ["name"]=>
      float(1)
    }
    ["name"]=>
    string(6) "name_1"
    ["ns"]=>
    string(11) "test.venues"
  }
  [2]=>
  array(4) {
    ["v"]=>
    int(1)
    ["key"]=>
    array(2) {
      ["type"]=>
      float(1)
      ["createdAt"]=>
      float(-1)
    }
    ["name"]=>
    string(19) "type_1_createdAt_-1"
    ["ns"]=>
    string(11) "test.venues"
  }
  [3]=>
  array(5) {
    ["v"]=>
    int(1)
    ["key"]=>
    array(1) {
      ["location"]=>
      string(8) "2dsphere"
    }
    ["name"]=>
    string(17) "location_2dsphere"
    ["ns"]=>
    string(11) "test.venues"
    ["2dsphereIndexVersion"]=>
    int(2)
  }
}

Siehe auch

MongoDB core docs on » vanilla indexes and » geospatial indexes.

MongoCollection::getDBRef
MongoCollection::getName
MongoCollection


Returns this collection's name

MongoCollection::getIndexInfo
MongoCollection::getReadPreference
MongoCollection
PHP Manual

MongoCollection::getName

(PECL mongo >=0.9.0)

MongoCollection::getName — Returns this collection's name

Beschreibung

public string MongoCollection::getName ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the name of this collection.

Beispiele

Beispiel #1 MongoCollection::getName() example

<?php

$m = new MongoClient();
$c = $m->foo->bar->baz;

echo "Working with collection " . $c->getName() . ".\n";

// the full namespace is given by the MongoCollection::__toString() method
echo "Working in namespace $c.\n";

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Working with collection bar.baz.
Working in namespace foo.bar.baz.

MongoCollection::getIndexInfo
MongoCollection::getReadPreference
MongoCollection


Get the read preference for this collection

MongoCollection::getName
MongoCollection::getSlaveOkay
MongoCollection
PHP Manual

MongoCollection::getReadPreference

(PECL mongo >=1.3.0)

MongoCollection::getReadPreference — Get the read preference for this collection

Beschreibung

public array MongoCollection::getReadPreference ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

This function returns an array describing the read preference. The array contains the values type for the string read preference mode (corresponding to the MongoClient constants), and tagsets containing a list of all tag set criteria. If no tag sets were specified, tagsets will not be present in the array.

Changelog

Version | Beschreibung
1.3.3 | The return value has changed to be consistent with MongoCollection::setReadPreference(). The type value was changed from a number to a string, type_string was removed, and tagsets now expresses tags as key/value pairs instead of colon-delimited strings.

Beispiele

Beispiel #1 MongoCollection::getReadPreference() return value example

<?php

$m = new MongoClient();
$c = $m->test->users;
$c->setReadPreference(MongoClient::RP_SECONDARY, array(
    array('dc' => 'east', 'use' => 'reporting'),
    array('dc' => 'west'),
    array(),
));
var_dump($c->getReadPreference());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  ["type"]=>
  string(9) "secondary"
  ["tagsets"]=>
  array(3) {
    [0]=>
    array(2) {
      ["dc"]=>
      string(4) "east"
      ["use"]=>
      string(9) "reporting"
    }
    [1]=>
    array(1) {
      ["dc"]=>
      string(7) "west"
    }
    [2]=>
    array(0) {
    }
  }
}

Siehe auch

  • The read preferences documentation.
  • MongoCollection::setReadPreference() - Set the read preference for this collection
MongoCollection::getName
MongoCollection::getSlaveOkay
MongoCollection


Get slaveOkay setting for this collection

MongoCollection::getReadPreference
MongoCollection::getWriteConcern
MongoCollection
PHP Manual

MongoCollection::getSlaveOkay

(PECL mongo >=1.1.0)

MongoCollection::getSlaveOkay — Get slaveOkay setting for this collection

Beschreibung

public bool MongoCollection::getSlaveOkay ( void )

See the query section of this manual for information on distributing reads to secondaries.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the value of slaveOkay for this instance.

Changelog

Version | Beschreibung
1.2.11 | Emits E_DEPRECATED when used.

Siehe auch

  • Read Preferences
  • MongoCollection::getReadPreference() - Get the read preference for this collection
MongoCollection::getReadPreference
MongoCollection::getWriteConcern
MongoCollection


Get the write concern for this collection

MongoCollection::getSlaveOkay
MongoCollection::group
MongoCollection
PHP Manual

MongoCollection::getWriteConcern

(PECL mongo >=1.5.0)

MongoCollection::getWriteConcern — Get the write concern for this collection

Beschreibung

public array MongoCollection::getWriteConcern ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

This function returns an array describing the write concern. The array contains the values w for an integer acknowledgement level or string mode, and wtimeout denoting the maximum number of milliseconds to wait for the server to satisfy the write concern.

Beispiele

Beispiel #1 MongoCollection::getWriteConcern() return value example

<?php

$mc = new MongoClient('mongodb://localhost:27017', array('wTimeoutMS' => 500));
$coll = $mc->selectCollection('test', 'foo');
var_dump($coll->getWriteConcern());

$coll->setWriteConcern(1, 1000);
var_dump($coll->getWriteConcern());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  ["w"]=>
  int(1)
  ["wtimeout"]=>
  int(500)
}
array(2) {
  ["w"]=>
  int(1)
  ["wtimeout"]=>
  int(1000)
}

Siehe auch

  • The write concern documentation.
  • MongoCollection::setWriteConcern() - Set the write concern for this database
MongoCollection::getSlaveOkay
MongoCollection::group
MongoCollection


Performs an operation similar to SQL's GROUP BY command

MongoCollection::getWriteConcern
MongoCollection::insert
MongoCollection
PHP Manual

MongoCollection::group

(PECL mongo >=0.9.2)

MongoCollection::group — Performs an operation similar to SQL's GROUP BY command

Beschreibung

public array MongoCollection::group ( mixed $keys , array $initial , MongoCode $reduce [, array $options = array() ] )

Parameter-Liste

keys

Fields to group by. If an array or non-code object is passed, it will be the key used to group results.

1.0.4+: If keys is an instance of MongoCode, keys will be treated as a function that returns the key to group by (see the "Passing a keys function" example below).

initial

Initial value of the aggregation counter object.

reduce

A function that takes two arguments (the current document and the aggregation to this point) and does the aggregation.

options

Optional parameters to the group command. Valid options include:

  • "condition"

    Criteria for including a document in the aggregation.

  • "finalize"

    Function called once per unique key that takes the final output of the reduce function.

  • "maxTimeMS"

    Specifies a cumulative time limit in milliseconds for processing the operation (does not include idle time). If the operation is not completed within the timeout period, a MongoExecutionTimeoutException will be thrown.

Rückgabewerte

Returns an array containing the result.

Changelog

Version | Beschreibung
1.5.0 | Added "maxTimeMS" option.
1.2.11 | Emits E_DEPRECATED when options is scalar.

Beispiele

Beispiel #1 MongoCollection::group() example

This groups documents by category and creates a list of names within that category.

<?php

$collection->insert(array("category" => "fruit", "name" => "apple"));
$collection->insert(array("category" => "fruit", "name" => "peach"));
$collection->insert(array("category" => "fruit", "name" => "banana"));
$collection->insert(array("category" => "veggie", "name" => "corn"));
$collection->insert(array("category" => "veggie", "name" => "broccoli"));

$keys = array("category" => 1);

$initial = array("items" => array());

$reduce = "function (obj, prev) { prev.items.push(obj.name); }";

$g = $collection->group($keys, $initial, $reduce);

echo json_encode($g['retval']);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

[{"category":"fruit","items":["apple","peach","banana"]},{"category":"veggie","items":["corn","broccoli"]}]

Beispiel #2 MongoCollection::group() example

This example doesn't use any key, so every document will be its own group. It also uses a condition: only documents that match this condition will be processed by the grouping function.

<?php

$collection->save(array("a" => 2));
$collection->save(array("b" => 5));
$collection->save(array("a" => 1));

// use all fields
$keys = array();

// set intial values
$initial = array("count" => 0);

// JavaScript function to perform
$reduce = "function (obj, prev) { prev.count++; }";

// only use documents where the "a" field is greater than 1
$condition = array('condition' => array("a" => array( '$gt' => 1)));

$g = $collection->group($keys, $initial, $reduce, $condition);

var_dump($g);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(4) {
  ["retval"]=>
  array(1) {
    [0]=>
    array(1) {
      ["count"]=>
      float(1)
    }
  }
  ["count"]=>
  float(1)
  ["keys"]=>
  int(1)
  ["ok"]=>
  float(1)
}

Beispiel #3 Passing a keys function

If you want to group by something other than a field name, you can pass a function as the first parameter of MongoCollection::group() and it will be run against each document. The return value of the function will be used as its grouping value.

This example demonstrates grouping by the num field modulo 4.

<?php

$c->group(new MongoCode('function(doc) { return {mod : doc.num % 4}; }'),
     array("count" => 0),
     new MongoCode('function(current, total) { total.count++; }'));

?>
MongoCollection::getWriteConcern
MongoCollection::insert
MongoCollection


Inserts a document into the collection

MongoCollection::group
MongoCollection::parallelCollectionScan
MongoCollection
PHP Manual

MongoCollection::insert

(PECL mongo >=0.9.0)

MongoCollection::insert — Inserts a document into the collection

Beschreibung

public bool|array MongoCollection::insert ( array|object $document [, array $options = array() ] )

All strings sent to the database must be UTF-8. If a string is not UTF-8, a MongoException will be thrown. To insert (or query for) a non-UTF-8 string, use MongoBinData.

Parameter-Liste

document

An array or object. If an object is used, it may not have protected or private properties.

Hinweis:

If the parameter does not have an _id key or property, a new MongoId instance will be created and assigned to it. This special behavior does not mean that the parameter is passed by reference.

options

An array of options for the insert operation. Currently available options include:

  • "fsync"

    Boolean, defaults to FALSE. If journaling is enabled, it works exactly like "j". If journaling is not enabled, the write operation blocks until it is synced to database files on disk. If TRUE, an acknowledged insert is implied and this option will override setting "w" to 0.

    Hinweis: If journaling is enabled, users are strongly encouraged to use the "j" option instead of "fsync". Do not use "fsync" and "j" simultaneously, as that will result in an error.

  • "j"

    Boolean, defaults to FALSE. Forces the write operation to block until it is synced to the journal on disk. If TRUE, an acknowledged write is implied and this option will override setting "w" to 0.

    Hinweis: If this option is used and journaling is disabled, MongoDB 2.6+ will raise an error and the write will fail; older server versions will simply ignore the option.

  • "socketTimeoutMS"

    This option specifies the time limit, in milliseconds, for socket communication. If the server does not respond within the timeout period, a MongoCursorTimeoutException will be thrown and there will be no way to determine if the server actually handled the write or not. A value of -1 may be specified to block indefinitely. The default value for MongoClient is 30000 (30 seconds).

  • "w"

    See Write Concerns. The default value for MongoClient is 1.

  • "wTimeoutMS"

    This option specifies the time limit, in milliseconds, for write concern acknowledgement. It is only applicable when "w" is greater than 1, as the timeout pertains to replication. If the write concern is not satisfied within the time limit, a MongoCursorException will be thrown. A value of 0 may be specified to block indefinitely. The default value for MongoClient is 10000 (ten seconds).

The following options are deprecated and should no longer be used:

  • "safe"

    Deprecated. Please use the write concern "w" option.

  • "timeout"

    Deprecated alias for "socketTimeoutMS".

  • "wtimeout"

    Deprecated alias for "wTimeoutMS".

Rückgabewerte

Returns an array containing the status of the insertion if the "w" option is set. Otherwise, returns TRUE if the inserted array is not empty (a MongoException will be thrown if the inserted array is empty).

If an array is returned, the following keys may be present:

ok

This should almost always be 1 (unless last_error itself failed).

err

If this field is non-null, an error occurred on the previous operation. If this field is set, it will be a string describing the error that occurred.

code

If a database error occurred, the relevant error code will be passed back to the client.

errmsg

This field is set if something goes wrong with a database command. It is coupled with ok being 0. For example, if w is set and times out, errmsg will be set to "timed out waiting for slaves" and ok will be 0. If this field is set, it will be a string describing the error that occurred.

n

If the last operation was an update, upsert, or a remove, the number of documents affected will be returned. For insert operations, this value is always 0.

wtimeout

If the previous option timed out waiting for replication.

waited

How long the operation waited before timing out.

wtime

If w was set and the operation succeeded, how long it took to replicate to w servers.

upserted

If an upsert occurred, this field will contain the new record's _id field. For upserts, either this field or updatedExisting will be present (unless an error occurred).

updatedExisting

If an upsert updated an existing element, this field will be true. For upserts, either this field or upserted will be present (unless an error occurred).

Fehler/Exceptions

Throws MongoException if the inserted document is empty or if it contains zero-length keys. Attempting to insert an object with protected and private properties will cause a zero-length key error.

Throws MongoCursorException if the "w" option is set and the write fails.

Throws MongoCursorTimeoutException if the "w" option is set to a value greater than one and the operation takes longer than MongoCursor::$timeout milliseconds to complete. This does not kill the operation on the server, it is a client-side timeout. The operation in MongoCollection::$wtimeout is milliseconds.

Changelog

Version | Beschreibung
1.5.0 | Added the "wTimeoutMS" option, which replaces "wtimeout". Emits E_DEPRECATED when "wtimeout" is used. Added the "socketTimeoutMS" option, which replaces "timeout". Emits E_DEPRECATED when "timeout" is used. Emits E_DEPRECATED when "safe" is used.
1.3.4 | Added "wtimeout" option.
1.3.0 | Added "w" option. The options parameter no longer accepts a boolean to signify an acknowledged write. Instead, this now has to be done with array('w' => 1) (the default behaviour of MongoClient).
1.2.0 | Added "timeout" option.
1.0.11 | Disconnects on "not master" errors if "safe" is set.
1.0.9 | Added ability to pass integers to the "safe" option, which previously only accepted booleans. Added "fsync" option. The return type was changed to be an array containing error information if the "safe" option is used. Otherwise, a boolean is returned as before.
1.0.2 | Changed second parameter to be an array of options. Pre-1.0.2, the second parameter was a boolean indicating the "safe" option.
1.0.1 | Throw a MongoCursorException if the "safe" option is set and the insert fails.

Beispiele

Beispiel #1 MongoCollection::insert() _id example

An _id field will be added to the inserted document if not already present. Depending on how the parameter is passed, a generated _id may or may not be available to calling code.

<?php

$m = new MongoClient();
$collection = $m->selectCollection('test', 'phpmanual');

// If an array literal is used, there is no way to access the generated _id
$collection->insert(array('x' => 1));

// The _id is available on an array passed by value
$a = array('x' => 2);
$collection->insert($a);
var_dump($a);

// The _id is not available on an array passed by reference
$b = array('x' => 3);
$ref = &$b;
$collection->insert($ref);
var_dump($ref);

// The _id is available if a wrapping function does not trigger copy-on-write
function insert_no_cow($collection, $document)
{
    $collection->insert($document);
}

$c = array('x' => 4);
insert_no_cow($collection, $c);
var_dump($c);

// The _id is not available if a wrapping function triggers copy-on-write
function insert_cow($collection, $document)
{
    $document['y'] = 1;
    $collection->insert($document);
}

$d = array('x' => 5);
insert_cow($collection, $d);
var_dump($d);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(2) {
  ["x"]=>
  int(2)
  ["_id"]=>
  object(MongoId)#4 (0) {
  }
}
array(1) {
  ["x"]=>
  int(3)
}
array(2) {
  ["x"]=>
  int(4)
  ["_id"]=>
  object(MongoId)#5 (0) {
  }
}
array(1) {
  ["x"]=>
  int(5)
}

Beispiel #2 MongoCollection::insert() acknowledged write example

This example shows inserting two elements with the same _id, which causes a MongoCursorException to be thrown, as w was set.

<?php

$person = array("name" => "Joe", "age" => 20);
$collection->insert($person);

// now $person has an _id field, so if we save it
// again, we will get an exception
try {
    $collection->insert($person, array("w" => 1));
} catch(MongoCursorException $e) {
    echo "Can't save the same person twice!\n";
}

?>

Siehe auch

  • MongoCollection::batchInsert() - Inserts multiple documents into this collection
  • MongoCollection::update() - Update records based on a given criteria
  • MongoCollection::find() - Queries this collection, returning a MongoCursor for the result set
  • MongoCollection::remove() - Remove records from this collection
  • MongoDB core docs on » insert.
MongoCollection::group
MongoCollection::parallelCollectionScan
MongoCollection


Returns an array of cursors to iterator over a full collection in parallel

MongoCollection::insert
MongoCollection::remove
MongoCollection
PHP Manual

MongoCollection::parallelCollectionScan

(PECL mongo >=1.5.0)

MongoCollection::parallelCollectionScan — Returns an array of cursors to iterator over a full collection in parallel

Beschreibung

public array[MongoCommandCursor] MongoCollection::parallelCollectionScan ( int $num_cursors )

This method returns an array of a maximum of num_cursors cursors. An iteration over one of the returned cursors results in a partial set of documents for a collection. Iteration over all the returned cursors results in getting every document back from the collection.

This method is a wrapper for the parallelCollectionScan MongoDB command.

Parameter-Liste

num_cursors

The number of cursors to request from the server. Please note, that the server can return less cursors than you requested.

Rückgabewerte

Returns an array of MongoCommandCursor objects.

Beispiele

Beispiel #1 MongoCollection::parallelCollectionScan() example

Returning all documents in a collection by using multiple cursors.

<?php
$m = new MongoClient;
$c = $m->demo->cities;

/* Request three cursors */
$cursors = $c->parallelCollectionScan( 3 );

/* Add all the cursors to the MultipleIterator */
$mi = new MultipleIterator( MultipleIterator::MIT_NEED_ANY );
foreach ( $cursors as $cursor )
{
    $mi->attachIterator( $cursor );
}

/* Iterate over all the associated cursors */
foreach ( $mi as $items )
{
    foreach ( $items as $item )
    {
        if ( $item !== NULL )
        {
            echo $item['name'], "\n";
        }
    }
}
?>

Siehe auch

  • MultipleIterator
  • MongoCommandCursor
  • MongoDB::command() - Execute a database command

MongoCollection::insert
MongoCollection::remove
MongoCollection


Remove records from this collection

MongoCollection::parallelCollectionScan
MongoCollection::save
MongoCollection
PHP Manual

MongoCollection::remove

(PECL mongo >=0.9.0)

MongoCollection::remove — Remove records from this collection

Beschreibung

 public bool|array MongoCollection::remove
  ([ array $criteria = array()
 [, array $options = array()
]] )

Parameter-Liste

criteria

Query criteria for the documents to delete.

options

An array of options for the remove operation. Currently available options include:

  • "w"

    See Write Concerns. The default value for MongoClient is 1.

  • "justOne"

    Specify TRUE to limit deletion to just one document. If FALSE or omitted, all documents matching the criteria will be deleted.

  • "fsync"

    Boolean, defaults to FALSE. If journaling is enabled, it works exactly like "j". If journaling is not enabled, the write operation blocks until it is synced to database files on disk. If TRUE, an acknowledged insert is implied and this option will override setting "w" to 0.

    Hinweis: If journaling is enabled, users are strongly encouraged to use the "j" option instead of "fsync". Do not use "fsync" and "j" simultaneously, as that will result in an error.

  • "j"

    Boolean, defaults to FALSE. Forces the write operation to block until it is synced to the journal on disk. If TRUE, an acknowledged write is implied and this option will override setting "w" to 0.

    Hinweis: If this option is used and journaling is disabled, MongoDB 2.6+ will raise an error and the write will fail; older server versions will simply ignore the option.

  • "socketTimeoutMS"

    This option specifies the time limit, in milliseconds, for socket communication. If the server does not respond within the timeout period, a MongoCursorTimeoutException will be thrown and there will be no way to determine if the server actually handled the write or not. A value of -1 may be specified to block indefinitely. The default value for MongoClient is 30000 (30 seconds).

  • "w"

    See Write Concerns. The default value for MongoClient is 1.

  • "wTimeoutMS"

    This option specifies the time limit, in milliseconds, for write concern acknowledgement. It is only applicable when "w" is greater than 1, as the timeout pertains to replication. If the write concern is not satisfied within the time limit, a MongoCursorException will be thrown. A value of 0 may be specified to block indefinitely. The default value for MongoClient is 10000 (ten seconds).

The following options are deprecated and should no longer be used:

  • "safe"

    Deprecated. Please use the write concern "w" option.

  • "timeout"

    Deprecated alias for "socketTimeoutMS".

  • "wtimeout"

    Deprecated alias for "wTimeoutMS".

Rückgabewerte

Returns an array containing the status of the removal if the "w" option is set. Otherwise, returns TRUE.

Fields in the status array are described in the documentation for MongoCollection::insert().

Fehler/Exceptions

Throws MongoCursorException if the "w" option is set and the write fails.

Throws MongoCursorTimeoutException if the "w" option is set to a value greater than one and the operation takes longer than MongoCursor::$timeout milliseconds to complete. This does not kill the operation on the server, it is a client-side timeout. The operation in MongoCollection::$wtimeout is milliseconds.

Changelog

Version | Beschreibung
1.5.0 | Added "wTimeoutMS" option, which replaces "wtimeout". Emits E_DEPRECATED when "wtimeout" is used. Added "socketTimeoutMS" option, which replaces "timeout". Emits E_DEPRECATED when "timeout" is used. Emits E_DEPRECATED when "safe" is used.
1.3.4 | Added "wtimeout" option.
1.3.0 | Added "w" option. The options parameter no longer accepts a boolean to signify "justOne". Instead, this now has to be done with array('justOne' => true).
1.2.11 | Emits E_DEPRECATED when options is scalar.
1.2.0 | Added "timeout" option.
1.0.11 | Disconnects on "not master" errors if "safe" is set.
1.0.9 | Added ability to pass integers to the "safe" option, which previously only accepted booleans. Added "fsync" option. The return type was changed to be an array containing error information if the "safe" option is used. Otherwise, a boolean is returned as before.
1.0.5 | Changed second parameter to be an array of options. Pre-1.0.5, the second parameter was a boolean indicating the "safe" option.

Beispiele

Beispiel #1 MongoCollection::remove() with justOne example

<?php

$radioactive = $db->radioactive;

// count how much more plutonium there is
$remaining = $radioactive->count(array('type' => 94));

$halflife = $remaining/2;

// remove half of it
while ($halflife > 0) {
    $radioactive->remove(array('type' => 94), array("justOne" => true));
    $halflife--;
}

?>

Siehe auch

  • MongoCollection::insert() - Inserts a document into the collection
  • MongoCollection::update() - Update records based on a given criteria
  • MongoDB core docs on » remove.
MongoCollection::parallelCollectionScan
MongoCollection::save
MongoCollection


Saves a document to this collection

MongoCollection::remove
MongoCollection::setReadPreference
MongoCollection
PHP Manual

MongoCollection::save

(PECL mongo >=0.9.0)

MongoCollection::save — Saves a document to this collection

Beschreibung

public mixed MongoCollection::save ( array|object $document [, array $options = array() ] )

If the object is from the database, update the existing database object, otherwise insert this object.

Parameter-Liste

document

Array or object to save. If an object is used, it may not have protected or private properties.

Hinweis:

If the parameter does not have an _id key or property, a new MongoId instance will be created and assigned to it. See MongoCollection::insert() for additional information on this behavior.

options

Options for the save.

  • "fsync"

    Boolean, defaults to FALSE. If journaling is enabled, it works exactly like "j". If journaling is not enabled, the write operation blocks until it is synced to database files on disk. If TRUE, an acknowledged insert is implied and this option will override setting "w" to 0.

    Hinweis: If journaling is enabled, users are strongly encouraged to use the "j" option instead of "fsync". Do not use "fsync" and "j" simultaneously, as that will result in an error.

  • "j"

    Boolean, defaults to FALSE. Forces the write operation to block until it is synced to the journal on disk. If TRUE, an acknowledged write is implied and this option will override setting "w" to 0.

    Hinweis: If this option is used and journaling is disabled, MongoDB 2.6+ will raise an error and the write will fail; older server versions will simply ignore the option.

  • "socketTimeoutMS"

    This option specifies the time limit, in milliseconds, for socket communication. If the server does not respond within the timeout period, a MongoCursorTimeoutException will be thrown and there will be no way to determine if the server actually handled the write or not. A value of -1 may be specified to block indefinitely. The default value for MongoClient is 30000 (30 seconds).

  • "w"

    See Write Concerns. The default value for MongoClient is 1.

  • "wtimeout"

    Deprecated alias for "wTimeoutMS".

  • "wTimeoutMS"

    This option specifies the time limit, in milliseconds, for write concern acknowledgement. It is only applicable when "w" is greater than 1, as the timeout pertains to replication. If the write concern is not satisfied within the time limit, a MongoCursorException will be thrown. A value of 0 may be specified to block indefinitely. The default value for MongoClient is 10000 (ten seconds).

  • "safe"

    Deprecated. Please use the write concern "w" option.

  • "timeout"

    Deprecated alias for "socketTimeoutMS".

Rückgabewerte

If w was set, returns an array containing the status of the save. Otherwise, returns a boolean representing if the array was not empty (an empty array will not be inserted).

Fehler/Exceptions

Throws MongoException if the inserted document is empty or if it contains zero-length keys. Attempting to insert an object with protected and private properties will cause a zero-length key error.

Throws MongoCursorException if the "w" option is set and the write fails.

Throws MongoCursorTimeoutException if the "w" option is set to a value greater than one and the operation takes longer than MongoCursor::$timeout milliseconds to complete. This does not kill the operation on the server, it is a client-side timeout. The operation in MongoCollection::$wtimeout is milliseconds.

Changelog

Version | Beschreibung
1.5.0 | Added "wTimeoutMS" option, which replaces "wtimeout". Emits E_DEPRECATED when "wtimeout" is used. Added "socketTimeoutMS" option, which replaces "timeout". Emits E_DEPRECATED when "timeout" is used. Emits E_DEPRECATED when "safe" is used.
1.2.0 | Added "timeout" option.
1.0.11 | Disconnects on "not master" errors if "safe" is set.
1.0.9 | Added "fsync" option.
1.0.5 | Added options parameter.

Beispiele

Beispiel #1 MongoCollection::save() example

<?php

$obj = array('x' => 1);

// insert $obj into the db
$collection->save($obj);
var_dump($obj);

// add another field
$obj['foo'] = 'bar';

// $obj cannot be inserted again, causes duplicate _id error
$collection->insert($obj);

// save updates $obj with the new field
$collection->save($obj);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(2) {
  ["x"]=>
  int(1)
  ["_id"]=>
  object(MongoId)#4 (1) {
    ["$id"]=>
    string(24) "50b6afe544415ed606000000"
  }
}
MongoCollection::remove
MongoCollection::setReadPreference
MongoCollection


Set the read preference for this collection

MongoCollection::save
MongoCollection::setSlaveOkay
MongoCollection
PHP Manual

MongoCollection::setReadPreference

(PECL mongo >=1.3.0)

MongoCollection::setReadPreference — Set the read preference for this collection

Beschreibung

public bool MongoCollection::setReadPreference ( string $read_preference [, array $tags ] )

Parameter-Liste

read_preference

The read preference mode: MongoClient::RP_PRIMARY, MongoClient::RP_PRIMARY_PREFERRED, MongoClient::RP_SECONDARY, MongoClient::RP_SECONDARY_PREFERRED, or MongoClient::RP_NEAREST.

tags

An array of zero or more tag sets, where each tag set is itself an array of criteria used to match tags on replica set members.

Rückgabewerte

Returns TRUE on success, or FALSE otherwise.

Fehler/Exceptions

Emits E_WARNING if either parameter is invalid, or if one or more tag sets are provided with the MongoClient::RP_PRIMARY read preference mode.

Beispiele

Beispiel #1 MongoCollection::setReadPreference() tag set array syntax example

<?php

$m = new MongoClient();
$c = $m->test->users;

// Prefer the nearest server in the "east" data center also used for reporting,
// but fall back to a server in the "west" data center
$c->setReadPreference(MongoClient::RP_NEAREST, array(
    array('dc' => 'east', 'use' => 'reporting'),
    array('dc' => 'west'),
));
?>

Siehe auch

  • The read preferences documentation.
  • MongoCollection::getReadPreference() - Get the read preference for this collection
MongoCollection::save
MongoCollection::setSlaveOkay
MongoCollection


Change slaveOkay setting for this collection

MongoCollection::setReadPreference
MongoCollection::setWriteConcern
MongoCollection
PHP Manual

MongoCollection::setSlaveOkay

(PECL mongo >=1.1.0)

MongoCollection::setSlaveOkay — Change slaveOkay setting for this collection

Beschreibung

public bool MongoCollection::setSlaveOkay ([ bool $ok = true ] )

See the query section of this manual for information on distributing reads to secondaries.

Parameter-Liste

ok

If reads should be sent to secondary members of a replica set for all possible queries using this MongoCollection instance.

Rückgabewerte

Returns the former value of slaveOkay for this instance.

Changelog

Version | Beschreibung
1.2.11 | Emits E_DEPRECATED when used.

Siehe auch

  • Read Preferences
  • MongoCollection::setReadPreference() - Set the read preference for this collection
MongoCollection::setReadPreference
MongoCollection::setWriteConcern
MongoCollection


Set the write concern for this database

MongoCollection::setSlaveOkay
MongoCollection::toIndexString
MongoCollection
PHP Manual

MongoCollection::setWriteConcern

(PECL mongo >=1.5.0)

MongoCollection::setWriteConcern — Set the write concern for this database

Beschreibung

public bool MongoCollection::setWriteConcern ( mixed $w [, int $wtimeout ] )

Parameter-Liste

w

The write concern. This may be an integer denoting the number of servers required to acknowledge the write, or a string mode (e.g. "majority").

wtimeout

The maximum number of milliseconds to wait for the server to satisfy the write concern.

Rückgabewerte

Returns TRUE on success, or FALSE otherwise.

Fehler/Exceptions

Emits E_WARNING if the w parameter is not an integer or string value.

Beispiele

Beispiel #1 MongoDB::setWriteConcern() example

<?php

$mc = new MongoClient('mongodb://rs1.example.com,rs2.example.com');
$coll = $mc->selectCollection('test', 'foo');

// Require that the majority of servers in the replica set acknowledge writes
// within three seconds.
$coll->setWriteConcern('majority', 3000);
?>

Siehe auch

  • The write concern documentation.
  • MongoCollection::getWriteConcern() - Get the write concern for this collection
MongoCollection::setSlaveOkay
MongoCollection::toIndexString
MongoCollection


Converts keys specifying an index to its identifying string

MongoCollection::setWriteConcern
MongoCollection::__toString
MongoCollection
PHP Manual

MongoCollection::toIndexString

(PECL mongo >=0.9.0)

MongoCollection::toIndexString — Converts keys specifying an index to its identifying string

Beschreibung

static protected string MongoCollection::toIndexString ( mixed $keys )
Warnung

This method is deprecated since version 1.5.0.

Parameter-Liste

keys

Field or fields to convert to the identifying string

Rückgabewerte

Returns a string that describes the index.

Beispiele

Beispiel #1 MongoCollection::toIndexString() example

This example shows how you can create an index name out of keys. Because this is a protected (static) method, you need to overload it in a child class first.

<?php
// Create inherited class to make the method "public".
class MyCollection extends MongoCollection
{
    static public function toIndexString($a)
    {
        return parent::toIndexString($a);
    }
}

echo MyCollection::toIndexString("foo"), "\n";
// Outputs: foo_1

echo MyCollection::toIndexString(array('name' => 1, 'age' => -1)), "\n";
// Outputs: name_1_age_-1
?>

Siehe auch

MongoDB core docs on » indexes.

Changelog

Version | Beschreibung
1.5.0 | This method has been deprecated.

MongoCollection::setWriteConcern
MongoCollection::__toString
MongoCollection


String representation of this collection

MongoCollection::toIndexString
MongoCollection::update
MongoCollection
PHP Manual

MongoCollection::__toString

(PECL mongo >=0.9.0)

MongoCollection::__toString — String representation of this collection

Beschreibung

public string MongoCollection::__toString ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the full name of this collection.

Beispiele

Beispiel #1 MongoCollection::__toString() example

<?php

$m = new MongoClient();

$c1 = $m->foo->bar->baz;
echo "Working with collection $c1.";

$c2 = $m->selectCollection('[]', '&');
echo "Working with collection $c2.";

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Working with collection foo.bar.baz.
Working with collection [].&.

MongoCollection::toIndexString
MongoCollection::update
MongoCollection


Update records based on a given criteria

MongoCollection::__toString
MongoCollection::validate
MongoCollection
PHP Manual

MongoCollection::update

(PECL mongo >=0.9.0)

MongoCollection::update — Update records based on a given criteria

Beschreibung

public bool|array MongoCollection::update ( array $criteria , array $new_object [, array $options = array() ] )

Parameter-Liste

criteria

Query criteria for the documents to update.

new_object

The object used to update the matched documents. This may either contain update operators (for modifying specific fields) or be a replacement document.

options

An array of options for the update operation. Currently available options include:

  • "upsert"

    If no document matches $criteria, a new document will be inserted.

    If a new document would be inserted and $new_object contains atomic modifiers (i.e. $ operators), those operations will be applied to the $criteria parameter to create the new document. If $new_object does not contain atomic modifiers, it will be used as-is for the inserted document. See the upsert examples below for more information.

  • "multiple"

    All documents matching $criteria will be updated. MongoCollection::update() has exactly the opposite behavior of MongoCollection::remove(): it updates one document by default, not all matching documents. It is recommended that you always specify whether you want to update multiple documents or a single document, as the database may change its default behavior at some point in the future.

  • "fsync"

    Boolean, defaults to FALSE. If journaling is enabled, it works exactly like "j". If journaling is not enabled, the write operation blocks until it is synced to database files on disk. If TRUE, an acknowledged insert is implied and this option will override setting "w" to 0.

    Hinweis: If journaling is enabled, users are strongly encouraged to use the "j" option instead of "fsync". Do not use "fsync" and "j" simultaneously, as that will result in an error.

  • "j"

    Boolean, defaults to FALSE. Forces the write operation to block until it is synced to the journal on disk. If TRUE, an acknowledged write is implied and this option will override setting "w" to 0.

    Hinweis: If this option is used and journaling is disabled, MongoDB 2.6+ will raise an error and the write will fail; older server versions will simply ignore the option.

  • "socketTimeoutMS"

    This option specifies the time limit, in milliseconds, for socket communication. If the server does not respond within the timeout period, a MongoCursorTimeoutException will be thrown and there will be no way to determine if the server actually handled the write or not. A value of -1 may be specified to block indefinitely. The default value for MongoClient is 30000 (30 seconds).

  • "w"

    See Write Concerns. The default value for MongoClient is 1.

  • "wTimeoutMS"

    This option specifies the time limit, in milliseconds, for write concern acknowledgement. It is only applicable when "w" is greater than 1, as the timeout pertains to replication. If the write concern is not satisfied within the time limit, a MongoCursorException will be thrown. A value of 0 may be specified to block indefinitely. The default value for MongoClient is 10000 (ten seconds).

The following options are deprecated and should no longer be used:

  • "safe"

    Deprecated. Please use the write concern "w" option.

  • "timeout"

    Deprecated alias for "socketTimeoutMS".

  • "wtimeout"

    Deprecated alias for "wTimeoutMS".

Rückgabewerte

Returns an array containing the status of the update if the "w" option is set. Otherwise, returns TRUE.

Fields in the status array are described in the documentation for MongoCollection::insert().

Fehler/Exceptions

Throws MongoCursorException if the "w" option is set and the write fails.

Throws MongoCursorTimeoutException if the "w" option is set to a value greater than one and the operation takes longer than MongoCursor::$timeout milliseconds to complete. This does not kill the operation on the server, it is a client-side timeout. The operation in MongoCollection::$wtimeout is milliseconds.

Changelog

Version | Beschreibung
1.5.0 | Added the "wTimeoutMS" option, which replaces "wtimeout". Emits E_DEPRECATED when "wtimeout" is used. Added the "socketTimeoutMS" option, which replaces "timeout". Emits E_DEPRECATED when "timeout" is used. Emits E_DEPRECATED when "safe" is used.
1.3.4 | Added "wtimeout" option.
1.3.0 | Added "w" option. The options parameter no longer accepts a boolean to signify an upsert. Instead, this now has to be done with array('upsert' => true).
1.2.11 | Emits E_DEPRECATED when options is scalar.
1.2.0 | Added "timeout" option.
1.0.11 | Disconnects on "not master" errors if "safe" is set.
1.0.9 | Added ability to pass integers to the "safe" option, which previously only accepted booleans. Added "fsync" option. The return type was changed to be an array containing error information if the "safe" option is used. Otherwise, a boolean is returned as before.
1.0.5 | Added "safe" option.
1.0.1 | Changed options parameter from boolean to array. Pre-1.0.1, the second parameter was an optional boolean value specifying an upsert.

Beispiele

Beispiel #1 MongoCollection::update()

Adding an address field to a document.

<?php

$c->insert(array("firstname" => "Bob", "lastname" => "Jones" ));
$newdata = array('$set' => array("address" => "1 Smith Lane"));
$c->update(array("firstname" => "Bob"), $newdata);

var_dump($c->findOne(array("firstname" => "Bob")));

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(4) {
  ["_id"]=>
  object(MongoId)#6 (0) {
  }
  ["firstname"]=>
  string(3) "Bob"
  ["lastname"]=>
  string(5) "Jones"
  ["address"]=>
  string(12) "1 Smith Lane"
}

Beispiel #2 MongoCollection::update() upsert examples

Upserts can simplify code, as a single line can create the document if it does not exist (based on $criteria), or update an existing document if it matches.

In the following example, $new_object contains an atomic modifier. Since the collection is empty and upsert must insert a new document, it will apply those operations to the $criteria parameter in order to create the document.

<?php

$c->drop();
$c->update(
    array("uri" => "/summer_pics"),
    array('$inc' => array("page hits" => 1)),
    array("upsert" => true)
);
var_dump($c->findOne());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(3) {
  ["_id"]=>
  object(MongoId)#9 (0) {
  }
  ["uri"]=>
  string(12) "/summer_pics"
  ["page hits"]=>
  int(1)
}

If $new_object does not contain atomic modifiers (i.e. $ operators), upsert will use $new_object as-is for the new document. This matches the behavior of a normal update, where not using atomic modifiers causes the document to be overwritten.

<?php

$c->drop();
$c->update(
    array("name" => "joe"),
    array("username" => "joe312", "createdAt" => new MongoDate()),
    array("upsert" => true)
);
var_dump($c->findOne());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(3) {
  ["_id"]=>
  object(MongoId)#10 (0) {
  }
  ["username"]=>
  string(6) "joe312"
  ["createdAt"]=>
  object(MongoDate)#4 (0) {
  }
}

Beispiel #3 MongoCollection::update() multiple example

By default, MongoCollection::update() will only update the first document matching $criteria that it finds. Using the "multiple" option can override this behavior, if needed.

This example adds a "gift" field to every person whose birthday is in the next day.

<?php

$today = array('$gt' => new MongoDate(), '$lt' => new MongoDate(strtotime("+1 day")));
$people->update(
    array("birthday" => $today),
    array('$set' => array('gift' => $surprise)),
    array("multiple" => true)
);

?>

Siehe auch

The PHP documentation on updates and the » MongoDB core docs.

MongoCollection::__toString
MongoCollection::validate
MongoCollection


Validates this collection

MongoCollection::update
MongoCursor
MongoCollection
PHP Manual

MongoCollection::validate

(PECL mongo >=0.9.0)

MongoCollection::validate — Validates this collection

Beschreibung

public array MongoCollection::validate ([ bool $scan_data = FALSE ] )

Parameter-Liste

scan_data

Only validate indices, not the base collection.

Rückgabewerte

Returns the database's evaluation of this object.

MongoCollection::update
MongoCursor
MongoCollection


The MongoCursor class

(PECL mongo >=0.9.0)

Einführung

A cursor is used to iterate through the results of a database query. For example, to query the database and see all results, you could do:

Beispiel #1 MongoCursor basic usage

<?php

$cursor = $collection->find();
var_dump(iterator_to_array($cursor));

?>

You don't generally create cursors using the MongoCursor constructor, you get a new cursor by calling MongoCollection::find() (as shown above).

Suppose that, in the example above, $collection was a 50GB collection. We certainly wouldn't want to load that into memory all at once, which is what a cursor is for: allowing the client to access the collection in dribs and drabs.

If we have a large result set, we can iterate through it, loading a few megabytes of results into memory at a time. For example, we could do:

Beispiel #2 Iterating over MongoCursor

<?php

$cursor = $collection->find();

foreach ($cursor as $doc) {
    // do something to each document
}

?>
This will go through each document in the collection, loading and garbage collecting documents as needed.

Note that this means that a cursor does not "contain" the database results, it just manages them. Thus, if you print a cursor (with, say, var_dump() or print_r()), you'll just get the cursor object, not your documents. To get the documents themselves, you can use one of the methods shown above.

Cursor Stages

A MongoCursor has two "life stages": pre- and post- query. When a cursor is created, it has not yet contacted the database, so it is in its pre-query state. In this state, the client can further specify what they want the query to do, including adding limits, skips, sorts, and more advanced options.

When the client attempts to get a result (by calling MongoCursor::next(), directly or indirectly), the cursor moves into the post-query stage. At this point, the query has been executed by the database and cannot be modified anymore.

Beispiel #3 Adding options to MongoCursor

<?php

$cursor = $collection->find()->limit(10);

// database has not yet been queried, so more search options can be added
$cursor = $cursor->sort(array("a" => 1));

var_dump($cursor->getNext());
// now database has been queried and more options cannot be added

// so this will throw an exception:
$cursor->skip(4);
?>

Klassenbeschreibung

MongoCursor implements MongoCursorInterface , Iterator {
/* Static Fields */
static boolean $slaveOkay = FALSE ;
static integer $timeout = 30000 ;
/* Methoden */
public MongoCursor addOption ( string $key , mixed $value )
public MongoCursor awaitData ([ bool $wait = true ] )
public MongoCursor batchSize ( int $batchSize )
public __construct ( MongoClient $connection , string $ns [, array $query = array() [, array $fields = array() ]] )
public int count ([ bool $foundOnly = FALSE ] )
public array current ( void )
public bool dead ( void )
protected void doQuery ( void )
public array explain ( void )
public MongoCursor fields ( array $f )
public array getNext ( void )
public array getReadPreference ( void )
public bool hasNext ( void )
public MongoCursor hint ( mixed $index )
public MongoCursor immortal ([ bool $liveForever = true ] )
public array info ( void )
public string|int key ( void )
public MongoCursor limit ( int $num )
public MongoCursor maxTimeMS ( int $ms )
public array next ( void )
public MongoCursor partial ([ bool $okay = true ] )
public void reset ( void )
public void rewind ( void )
public MongoCursor setFlag ( int $flag [, bool $set = true ] )
public MongoCursor setReadPreference ( string $read_preference [, array $tags ] )
public MongoCursor skip ( int $num )
public MongoCursor slaveOkay ([ bool $okay = true ] )
public MongoCursor snapshot ( void )
public MongoCursor sort ( array $fields )
public MongoCursor tailable ([ bool $tail = true ] )
public MongoCursor timeout ( int $ms )
public bool valid ( void )
}

Static Variables

slaveOkay

If the query should have the "slaveOkay" flag set, which allows reads on the secondary (secondaries are, by default, just for backup and not queried). Can be overridden with MongoCursor::slaveOkay().

This functionality is deprecated. Please use Read Preferences instead.

timeout

Set timeout in milliseconds for all database responses. Use -1 to wait forever. Can be overridden with MongoCursor::timeout(). This does not cause the MongoDB server to cancel the operation; it only instructs the driver to stop waiting for a response and throw a MongoCursorTimeoutException after a set time.

Siehe auch

MongoDB core docs on » cursors.

Inhaltsverzeichnis

  • MongoCursor::addOption — Adds a top-level key/value pair to a query
  • MongoCursor::awaitData — Sets whether this cursor will wait for a while for a tailable cursor to return more data
  • MongoCursor::batchSize — Limits the number of elements returned in one batch.
  • MongoCursor::__construct — Create a new cursor
  • MongoCursor::count — Counts the number of results for this query
  • MongoCursor::current — Returns the current element
  • MongoCursor::dead — Checks if there are results that have not yet been sent from the database
  • MongoCursor::doQuery — Execute the query.
  • MongoCursor::explain — Return an explanation of the query, often useful for optimization and debugging
  • MongoCursor::fields — Sets the fields for a query
  • MongoCursor::getNext — Advances the cursor to the next result, and returns that result
  • MongoCursor::getReadPreference — Get the read preference for this query
  • MongoCursor::hasNext — Checks if there are any more elements in this cursor
  • MongoCursor::hint — Gives the database a hint about the query
  • MongoCursor::immortal — Sets whether this cursor will timeout
  • MongoCursor::info — Gets information about the cursor's creation and iteration
  • MongoCursor::key — Returns the current result's _id, or its index within the result set
  • MongoCursor::limit — Limits the number of results returned
  • MongoCursor::maxTimeMS — Sets a server-side timeout for this query
  • MongoCursor::next — Advances the cursor to the next result, and returns that result
  • MongoCursor::partial — If this query should fetch partial results from mongos if a shard is down
  • MongoCursor::reset — Clears the cursor
  • MongoCursor::rewind — Returns the cursor to the beginning of the result set
  • MongoCursor::setFlag — Sets arbitrary flags in case there is no method available the specific flag
  • MongoCursor::setReadPreference — Set the read preference for this query
  • MongoCursor::skip — Skips a number of results
  • MongoCursor::slaveOkay — Sets whether this query can be done on a secondary [deprecated]
  • MongoCursor::snapshot — Use snapshot mode for the query
  • MongoCursor::sort — Sorts the results by given fields
  • MongoCursor::tailable — Sets whether this cursor will be left open after fetching the last results
  • MongoCursor::timeout — Sets a client-side timeout for this query
  • MongoCursor::valid — Checks if the cursor is reading a valid result.
MongoCollection::validate
MongoCursor::addOption
Core Classes


Adds a top-level key/value pair to a query

MongoCursor
MongoCursor::awaitData
MongoCursor
PHP Manual

MongoCursor::addOption

(PECL mongo >=1.0.4)

MongoCursor::addOption — Adds a top-level key/value pair to a query

Beschreibung

public MongoCursor MongoCursor::addOption ( string $key , mixed $value )

This is an advanced function and should not be used unless you know what you're doing.

A query can optionally be nested in a "query" field if other options, such as a sort or hint, are given. For instance, adding a sort causes the query to become a subfield of a bigger query object, like:

<?php

$query = array("query" => $query, "orderby" => $sort);

?>

This method is for adding a top-level field to a query. It makes the query a subobject (if it isn't already) and adds the key/value pair of your chosing to the top level.

Warnung

It cannot be used to add extra criteria to a query on the fly. For instance, this will not work:

<?php

// NOT CORRECT
$cursor = $users->find()->addOption("name", "joe")->addOption("age", 20);

?>
This does not query for a user named "joe" with an age of 20.

Parameter-Liste

key

Fieldname to add.

value

Value to add.

Rückgabewerte

Returns this cursor.

Fehler/Exceptions

Throws MongoCursorException if this cursor has started iterating.

Beispiele

Beispiel #1 Adding a comment with MongoCursor::addOption() example

MongoDB supports special options to be send to the server. The shell uses the _addSpecial option to send a $comment to the server. This comment will show up in the profiling log (for slow queries f.e.). In the PHP driver, you use the MongoCursor::addOption() method.

<?php
$m = new MongoClient;
$c = $m->demo->demo;
$cursor = $c->find();
$cursor->addOption('$comment', "This comment will show up in the profiling log");

foreach ($cursor as $document) { /* empty */ }
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

{
    "op" : "query",
    "ns" : "demo.demo",
    "query" : {
        "$query" : {

        },
        "$comment" : "This comment will show up in the profiling log"
    },
    "cursorid" : 168463566447,
    "ntoreturn" : 0,
    "ntoskip" : 0,
    "nscanned" : 101,
    "nscannedObjects" : 101,
    "keyUpdates" : 0,
    "numYield" : 0,
…

Beispiel #2 MongoCursor::addOption() example

Using MongoCursor::skip() to skip over millions of results can become slow. One way around this is to use $min or $max options for the query. These can be handy, but they require an index on exactly the fields being searched for. This is an example of how to use $min as an alternative to MongoCursor::skip().

<?php

// make sure we have an index
$c->ensureIndex(array("ts" => 1));

// you may have to modify this to run in a reasonable amount of time on slow
// machines (should take about 30 seconds on a good machine)
for ($i = 0; $i < 30000000; $i++) {
    $c->insert(array("ts" => new MongoDate(), "i" => $i));
}

$now = strtotime("now");

// find documents inserted in the last 2 seconds
$cursor = $c->find()->addOption('$min', array("ts" => $now-2));

?>
MongoCursor
MongoCursor::awaitData
MongoCursor


Sets whether this cursor will wait for a while for a tailable cursor to return more data

MongoCursor::addOption
MongoCursor::batchSize
MongoCursor
PHP Manual

MongoCursor::awaitData

(PECL mongo >=1.2.11)

MongoCursor::awaitData — Sets whether this cursor will wait for a while for a tailable cursor to return more data

Beschreibung

public MongoCursor MongoCursor::awaitData ([ bool $wait = true ] )

This method is to be used with tailable cursors. If we are at the end of the data, block for a while rather than returning no data. After a timeout period, we do return as normal.

Parameter-Liste

wait

If the cursor should wait for more data to become available.

Rückgabewerte

Returns this cursor.

Fehler/Exceptions

Throws MongoCursorException if this cursor has started iterating.

Beispiele

Beispiel #1 MongoCursor::awaitData() example

In this example we tail the "oplog" and instead of sleeping during every iteration, we set the MongoCursor::awaitData() option. MongoCursor::hasNext() will now block until there is more data available.

<?php
$m = new MongoClient( 'mongodb://localhost:13000', array( 'replSet' => 'seta' ) );
$c = $m->local->selectCollection( 'oplog.rs' );
$cursor = $c->find( array( 'ns' => 'demo.article', 'op' => 'i' ) );
$cursor->tailable( true );
$cursor->awaitData( true );

while (true) {
    if (!$cursor->hasNext()) {
        // we've read all the results, exit
        if ($cursor->dead()) {
            break;
        }
    } else {
        var_dump( $cursor->getNext() );
    }
}
?>

Siehe auch

MongoDB core docs on » tailable cursors.

  • MongoCursor::tailable() - Sets whether this cursor will be left open after fetching the last results

MongoCursor::addOption
MongoCursor::batchSize
MongoCursor


Limits the number of elements returned in one batch.

MongoCursor::awaitData
MongoCursor::__construct
MongoCursor
PHP Manual

MongoCursor::batchSize

(PECL mongo >=1.0.11)

MongoCursor::batchSize — Limits the number of elements returned in one batch.

Beschreibung

public MongoCursor MongoCursor::batchSize ( int $batchSize )

A cursor typically fetches a batch of result objects and store them locally. This method sets the batchSize value to configure the amount of documents retrieved from the server in one round trip. However, it will never return more documents than fit in the max batch size limit (usually 4MB).

Parameter-Liste

batchSize

The number of results to return per batch. Each batch requires a round-trip to the server.

If batchSize is 2 or more, it represents the size of each batch of objects retrieved. It can be adjusted to optimize performance and limit data transfer.

If batchSize is 1 or negative, it will limit of number returned documents to the absolute value of batchSize, and the cursor will be closed. For example if batchSize is -10, then the server will return a maximum of 10 documents and as many as can fit in 4MB, then close the cursor.

Warnung

A batchSize of 1 is special, and means the same as -1, i.e. a value of 1 makes the cursor only capable of returning one document.

Note that this feature is different from MongoCursor::limit() in that documents must fit within a maximum size, and it removes the need to send a request to close the cursor server-side. The batch size can be changed even after a cursor is iterated, in which case the setting will apply on the next batch retrieval.

This cannot override MongoDB's limit on the amount of data it will return to the client (i.e., if you set batch size to 1,000,000,000, MongoDB will still only return 4-16MB of results per batch).

To ensure consistent behavior, the rules of MongoCursor::batchSize() and MongoCursor::limit() behave a little complex but work "as expected". The rules are: hard limits override soft limits with preference given to MongoCursor::limit() over MongoCursor::batchSize(). After that, whichever is set and lower than the other will take precedence. See below. section for some examples.

Rückgabewerte

Returns this cursor.

Beispiele

Beispiel #1 MongoCursor::batchSize() and combinations with MongoCursor::limit()

<?php

// one batch, at most 10 items. The -10 makes the server to return 10 items,
// and then remove the cursor.
$cursor->limit(20)->batchSize(-10);

// first batch: at most 10 items
$cursor->limit(10);

// first batch: at most 10 items
$cursor->limit(10)->batchSize(20);

// results are fetched in batches of 10 each, with a maximum of 20 items
// returned (that means two batches of 10).
$cursor->limit(20)->batchSize(10);

// results are fetched in batches of 7 each, with a maximum of 30 items
// returned (that means that the driver requests 4 batches of 7, and one batch
// of 2).
$cursor->limit(30)->batchSize(7)
?>

Siehe auch

MongoDB core docs on » batchSize.

  • MongoCursor::limit() - Limits the number of results returned
  • MongoCursorInterface::batchSize() - Limits the number of elements returned in one batch.

Changelog

Version | Beschreibung
1.4.5 | Before 1.4.5, this method would throw an MongoCursorException if the cursor had already started iterating.

MongoCursor::awaitData
MongoCursor::__construct
MongoCursor


Create a new cursor

MongoCursor::batchSize
MongoCursor::count
MongoCursor
PHP Manual

MongoCursor::__construct

(PECL mongo >=0.9.0)

MongoCursor::__construct — Create a new cursor

Beschreibung

public MongoCursor::__construct ( MongoClient $connection , string $ns [, array $query = array() [, array $fields = array() ]] )

Parameter-Liste

connection

Database connection.

ns

Full name of database and collection.

query

Database query.

fields

Fields to return.

Rückgabewerte

Returns the new cursor.

MongoCursor::batchSize
MongoCursor::count
MongoCursor


Counts the number of results for this query

MongoCursor::__construct
MongoCursor::current
MongoCursor
PHP Manual

MongoCursor::count

(PECL mongo >=0.9.2)

MongoCursor::count — Counts the number of results for this query

Beschreibung

public int MongoCursor::count ([ bool $foundOnly = FALSE ] )

This method does not affect the state of the cursor: if you haven't queried yet, you can still apply limits, skips, etc. If you have started iterating through results, it will not move the current position of the cursor. If you have exhasted the cursor, it will not reset it.

Parameter-Liste

foundOnly

Send cursor limit and skip information to the count function, if applicable.

Rückgabewerte

The number of documents returned by this cursor's query.

Beispiele

Beispiel #1 MongoCursor::count() example

<?php

$collection->insert(array('x'=>1));
$collection->insert(array('x'=>2));
$collection->insert(array('x'=>3));

$cursor = $collection->find();

var_dump($cursor->count());
var_dump($cursor->count(true));

$cursor->limit(2);

var_dump($cursor->count());
var_dump($cursor->count(true));

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(3)
int(3)
int(3)
int(2)

Fehler/Exceptions

Throws MongoConnectionException if it cannot reach the database.

MongoCursor::__construct
MongoCursor::current
MongoCursor


Returns the current element

MongoCursor::count
MongoCursor::dead
MongoCursor
PHP Manual

MongoCursor::current

(PECL mongo >=0.9.0)

MongoCursor::current — Returns the current element

Beschreibung

public array MongoCursor::current ( void )

This returns NULL until MongoCursor::next() is called.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current result document as an associative array. NULL will be returned if there is no result.

Siehe auch

  • Iterator::current() - Gibt das aktuelle Element zurück
MongoCursor::count
MongoCursor::dead
MongoCursor


Checks if there are results that have not yet been sent from the database

MongoCursor::current
MongoCursor::doQuery
MongoCursor
PHP Manual

MongoCursor::dead

(PECL mongo >=0.9.6)

MongoCursor::dead — Checks if there are results that have not yet been sent from the database

Beschreibung

public bool MongoCursor::dead ( void )

The database sends responses in batches of documents, up to 4MB of documents per response. This method checks if the database has more batches or if the result set has been exhausted.

A cursor being "dead" does not mean that MongoCursor::hasNext() will return FALSE, it only means that the database is done sending results to the client. The client should continue iterating through results until MongoCursor::hasNext() is FALSE.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if there are more results that have not yet been sent to the client, and FALSE otherwise.

Siehe auch

  • MongoCursorInterface::dead() - Checks if there are results that have not yet been sent from the database
MongoCursor::current
MongoCursor::doQuery
MongoCursor


Execute the query.

MongoCursor::dead
MongoCursor::explain
MongoCursor
PHP Manual

MongoCursor::doQuery

(PECL mongo >=0.9.0 <1.6.0)

MongoCursor::doQuery — Execute the query.

Beschreibung

protected void MongoCursor::doQuery ( void )
Warnung

Please do not use me.

This function actually queries the database. All queries and commands go through this function. Thus, this function can be overridden to provide custom query handling.

This handles serializing your query, sending it to the database, receiving a response, and deserializing it. Thus, if you are planning to override this, your code should probably call out to the original to use the existing functionality (see the example below).

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

NULL.

Fehler/Exceptions

Throws MongoConnectionException if it cannot reach the database.

Changelog

Version | Beschreibung
1.2.11 | Emits E_DEPRECATED when used.

Beispiele

Beispiel #1 MongoCursor::doQuery() example

You could override this function to attempt a query on a secondary and, if that fails, try it again on the primary.

<?php

class MyCursor extends MongoCursor {

    protected function doQuery() {

        $this->slaveOkay();

        try {
            MongoCursor::doQuery();
        }
        catch(MongoCursorException $e) {
            $this->slaveOkay(false);
            MongoCursor::doQuery();
        }
    }
}

?>

MongoCursor::dead
MongoCursor::explain
MongoCursor


Return an explanation of the query, often useful for optimization and debugging

MongoCursor::doQuery
MongoCursor::fields
MongoCursor
PHP Manual

MongoCursor::explain

(PECL mongo >=0.9.2)

MongoCursor::explain — Return an explanation of the query, often useful for optimization and debugging

Beschreibung

public array MongoCursor::explain ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an explanation of the query.

Beispiele

Beispiel #1 MongoCursor::explain() example

<?php

$cursor = $collection->find(array("x"=>1), array("y"));
$cursor->sort(array("z" => 1))->limit(4)->skip(5);

var_dump($cursor->explain());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(8) {
  ["cursor"]=>
  string(15) "BtreeCursor x_1"
  ["startKey"]=>
  array(1) {
    ["x"]=>
    int(1)
  }
  ["endKey"]=>
  array(1) {
    ["x"]=>
    int(1)
  }
  ["nscanned"]=>
  float(4)
  ["n"]=>
  int(4)
  ["scanAndOrder"]=>
  int(1)
  ["millis"]=>
  int(3)
  ["allPlans"]=>
  array(2) {
    [0]=>
    array(3) {
      ["cursor"]=>
      string(15) "BtreeCursor x_1"
      ["startKey"]=>
      array(1) {
        ["x"]=>
        int(1)
      }
      ["endKey"]=>
      array(1) {
        ["x"]=>
        int(1)
      }
    }
    [1]=>
    array(3) {
      ["cursor"]=>
      string(11) "BasicCursor"
      ["startKey"]=>
      array(0) {
      }
      ["endKey"]=>
      array(0) {
      }
    }
  }
}

Fehler/Exceptions

Throws MongoConnectionException if it cannot reach the database.

Siehe auch

MongoDB core docs on » explain.

MongoCursor::doQuery
MongoCursor::fields
MongoCursor


Sets the fields for a query

MongoCursor::explain
MongoCursor::getNext
MongoCursor
PHP Manual

MongoCursor::fields

(PECL mongo >=1.0.6)

MongoCursor::fields — Sets the fields for a query

Beschreibung

public MongoCursor MongoCursor::fields ( array $f )

Fields are specified by "fieldname" : bool. TRUE indicates that a field should be returned, FALSE indicates that it should not be returned. You can also use 1 and 0 instead of TRUE and FALSE.

Thus, to return only the "summary" field, one could say:

<?php

$cursor->fields(array("summary" => true));

?>

To return all fields except the "hidden" field:

<?php

$cursor->fields(array("hidden" => false));

?>

Parameter-Liste

f

Fields to return (or not return).

Rückgabewerte

Returns this cursor.

Fehler/Exceptions

Throws MongoCursorException if this cursor has started iterating or a scalar argument is given.

MongoCursor::explain
MongoCursor::getNext
MongoCursor


Advances the cursor to the next result, and returns that result

MongoCursor::fields
MongoCursor::getReadPreference
MongoCursor
PHP Manual

MongoCursor::getNext

(PECL mongo >=0.9.0)

MongoCursor::getNext — Advances the cursor to the next result, and returns that result

Beschreibung

public array MongoCursor::getNext ( void )

Hinweis:

MongoCursor::getNext() is an alias of MongoCursor::next().

MongoCursor::fields
MongoCursor::getReadPreference
MongoCursor


Get the read preference for this query

MongoCursor::getNext
MongoCursor::hasNext
MongoCursor
PHP Manual

MongoCursor::getReadPreference

(PECL mongo >=1.3.3)

MongoCursor::getReadPreference — Get the read preference for this query

Beschreibung

public array MongoCursor::getReadPreference ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

This function returns an array describing the read preference. The array contains the values type for the string read preference mode (corresponding to the MongoClient constants), and tagsets containing a list of all tag set criteria. If no tag sets were specified, tagsets will not be present in the array.

Beispiele

Beispiel #1 MongoCursor::getReadPreference() return value example

<?php

$m = new MongoClient();
$cursor = $m->test->users->find();
$cursor->setReadPreference(MongoClient::RP_SECONDARY, array(
    array('dc' => 'east', 'use' => 'reporting'),
    array('dc' => 'west'),
    array(),
));
var_dump($cursor->getReadPreference());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  ["type"]=>
  string(9) "secondary"
  ["tagsets"]=>
  array(3) {
    [0]=>
    array(2) {
      ["dc"]=>
      string(4) "east"
      ["use"]=>
      string(9) "reporting"
    }
    [1]=>
    array(1) {
      ["dc"]=>
      string(7) "west"
    }
    [2]=>
    array(0) {
    }
  }
}

Siehe auch

  • The read preferences documentation.
  • MongoCursor::setReadPreference() - Set the read preference for this query
  • MongoCursorInterface::getReadPreference() - Get the read preference for this query
MongoCursor::getNext
MongoCursor::hasNext
MongoCursor


Checks if there are any more elements in this cursor

MongoCursor::getReadPreference
MongoCursor::hint
MongoCursor
PHP Manual

MongoCursor::hasNext

(PECL mongo >=0.9.0)

MongoCursor::hasNext — Checks if there are any more elements in this cursor

Beschreibung

public bool MongoCursor::hasNext ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns if there is another element.

Fehler/Exceptions

Throws MongoConnectionException if it cannot reach the database and MongoCursorTimeoutException if the timeout is exceeded.

MongoCursor::getReadPreference
MongoCursor::hint
MongoCursor


Gives the database a hint about the query

MongoCursor::hasNext
MongoCursor::immortal
MongoCursor
PHP Manual

MongoCursor::hint

(PECL mongo >=0.9.0)

MongoCursor::hint — Gives the database a hint about the query

Beschreibung

public MongoCursor MongoCursor::hint ( mixed $index )

Parameter-Liste

index

Index to use for the query. If a string is passed, it should correspond to an index name. If an array or object is passed, it should correspond to the specification used to create the index (i.e. the first argument to MongoCollection::ensureIndex()).

Rückgabewerte

Returns this cursor.

Fehler/Exceptions

Throws MongoCursorException if this cursor has started iterating.

Changelog

Version | Beschreibung
1.4.0 | The index argument now supports index names as string values. In versions before 1.4.0, only array or object values were accepted.

MongoCursor::hasNext
MongoCursor::immortal
MongoCursor


Sets whether this cursor will timeout

MongoCursor::hint
MongoCursor::info
MongoCursor
PHP Manual

MongoCursor::immortal

(PECL mongo >=1.0.1)

MongoCursor::immortal — Sets whether this cursor will timeout

Beschreibung

public MongoCursor MongoCursor::immortal ([ bool $liveForever = true ] )

After remaining idle on the server for some amount of time, cursors, by default, "die." This is generally the behavior one wants. The database cleans up a cursor once all of its results have been sent to the client, but if the client doesn't request all of the results, the cursor will languish there, taking up resources. Thus, after a few minutes, the cursor "times out" and the database assumes the client has gotten everything it needs and cleans up its the cursor's resources.

If, for some reason, you need a cursor to hang around for a long time, you can prevent the database from cleaning it up by using this method. However, if you make a cursor immortal, you need to iterate through all of its results (or at least until MongoCursor::dead() returns TRUE) or the cursor will hang around the database forever, taking up resources.

Parameter-Liste

liveForever

If the cursor should be immortal.

Rückgabewerte

Returns this cursor.

Fehler/Exceptions

Throws MongoCursorException if this cursor has started iterating.

MongoCursor::hint
MongoCursor::info
MongoCursor


Gets information about the cursor's creation and iteration

MongoCursor::immortal
MongoCursor::key
MongoCursor
PHP Manual

MongoCursor::info

(PECL mongo >=1.0.5)

MongoCursor::info — Gets information about the cursor's creation and iteration

Beschreibung

public array MongoCursor::info ( void )

This can be called before or after the cursor has started iterating.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the namespace, batch size, limit, skip, flags, query, and projected fields for this cursor. If the cursor has started iterating, additional information about iteration and the connection will be included.

Changelog

Version | Beschreibung
1.1.0 | Added a number of other fields, including id (the cursor id), at (the driver's counter of which document is current), numReturned (the number returned by the server in the current batch), and server (which server the query was sent to—useful in conjunction with Read Preferences.
1.0.10 | Added started_iterating field, a boolean indicating if cursor is pre- or post-query.

Beispiele

Beispiel #1 MongoCursor::info() example

<?php
$m = new MongoClient();

$cursor = $m->test->foo->find(array("x" => 4), array("y" => 0));

echo "Before iteration started:\n";
var_dump($cursor->info());

echo "\nAfter iteration started:\n";
$cursor->rewind();
var_dump($cursor->info());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Before iteration started:
array(8) {
  ["ns"]=>
  string(8) "test.foo"
  ["limit"]=>
  int(0)
  ["batchSize"]=>
  int(0)
  ["skip"]=>
  int(0)
  ["flags"]=>
  int(0)
  ["query"]=>
  array(1) {
    ["x"]=>
    int(4)
  }
  ["fields"]=>
  array(1) {
    ["y"]=>
    int(0)
  }
  ["started_iterating"]=>
  bool(false)
}

After iteration started:
array(15) {
  ["ns"]=>
  string(8) "test.foo"
  ["limit"]=>
  int(0)
  ["batchSize"]=>
  int(0)
  ["skip"]=>
  int(0)
  ["flags"]=>
  int(0)
  ["query"]=>
  array(1) {
    ["x"]=>
    int(4)
  }
  ["fields"]=>
  array(1) {
    ["y"]=>
    int(0)
  }
  ["started_iterating"]=>
  bool(true)
  ["id"]=>
  int(0)
  ["at"]=>
  int(0)
  ["numReturned"]=>
  int(1)
  ["server"]=>
  string(25) "localhost:27017;-;.;26450"
  ["host"]=>
  string(9) "localhost"
  ["port"]=>
  int(27017)
  ["connection_type_desc"]=>
  string(10) "STANDALONE"
}

Siehe auch

  • MongoCursorInterface::info() - Gets information about the cursor's creation and iteration
MongoCursor::immortal
MongoCursor::key
MongoCursor


Returns the current result's _id, or its index within the result set

MongoCursor::info
MongoCursor::limit
MongoCursor
PHP Manual

MongoCursor::key

(PECL mongo >=0.9.0)

MongoCursor::key — Returns the current result's _id, or its index within the result set

Beschreibung

public string|int MongoCursor::key ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current result's _id as a string. If the result has no _id, its numeric index within the result set will be returned as an integer.

Siehe auch

  • Iterator::key() - Gibt den Schlüssel des aktuellen Elements zurück
MongoCursor::info
MongoCursor::limit
MongoCursor


Limits the number of results returned

MongoCursor::key
MongoCursor::maxTimeMS
MongoCursor
PHP Manual

MongoCursor::limit

(PECL mongo >=0.9.0)

MongoCursor::limit — Limits the number of results returned

Beschreibung

public MongoCursor MongoCursor::limit ( int $num )

Parameter-Liste

num

The number of results to return.

Rückgabewerte

Returns this cursor.

Fehler/Exceptions

Throws MongoCursorException if this cursor has started iterating.

Siehe auch

  • MongoDB core docs on » limit.
  • MongoCursor::batchSize() - Limits the number of elements returned in one batch.
  • MongoCursor::skip() - Skips a number of results

MongoCursor::key
MongoCursor::maxTimeMS
MongoCursor


Sets a server-side timeout for this query

MongoCursor::limit
MongoCursor::next
MongoCursor
PHP Manual

MongoCursor::maxTimeMS

(PECL mongo >=1.5.0)

MongoCursor::maxTimeMS — Sets a server-side timeout for this query

Beschreibung

public MongoCursor MongoCursor::maxTimeMS ( int $ms )

Specifies a cumulative time limit in milliseconds to be allowed by the server for processing operations on the cursor.

Parameter-Liste

ms

Specifies a cumulative time limit in milliseconds to be allowed by the server for processing operations on the cursor.

Rückgabewerte

This cursor.

Fehler/Exceptions

Throws MongoCursorException if this cursor has started iterating.

Causes methods that fetch results to throw a MongoExecutionTimeoutException if the query takes longer than the specified number of milliseconds in processing time.

Beispiele

Beispiel #1 MongoCursor::maxTimeMS() example

In the following example, the server will abort the query if the cursor requires more than two seconds in processing time to return its results.

<?php

$cursor = $collection->find();
$cursor->maxTimeMS(2000);

try {
    $results = iterator_to_array($cursor);
} catch (MongoExecutionTimeoutException $e) {
    echo "query took too long!";
}

?>

Anmerkungen

Warnung

Unlike MongoCursor::timeout(), which specifies a client-side timeout, MongoCursor::maxTimeMS() can be used to cause the MongoDB server to abort long-running queries. This timeout is cumulative for the lifetime of the cursor (i.e. each batch will contribute to this time limit). The timeout only considers processing time; idle time is not considered.

MongoCursor::limit
MongoCursor::next
MongoCursor


Advances the cursor to the next result, and returns that result

MongoCursor::maxTimeMS
MongoCursor::partial
MongoCursor
PHP Manual

MongoCursor::next

(PECL mongo >=0.9.0)

MongoCursor::next — Advances the cursor to the next result, and returns that result

Beschreibung

public array MongoCursor::next ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the next document.

Fehler/Exceptions

Throws MongoConnectionException if it cannot reach the database and MongoCursorTimeoutException if the timeout is exceeded.

Siehe auch

  • Iterator::next() - Rückt den Zeiger auf das nächste Element vor
MongoCursor::maxTimeMS
MongoCursor::partial
MongoCursor


If this query should fetch partial results from mongos if a shard is down

MongoCursor::next
MongoCursor::reset
MongoCursor
PHP Manual

MongoCursor::partial

(PECL mongo >=1.2.0)

MongoCursor::partial — If this query should fetch partial results from mongos if a shard is down

Beschreibung

public MongoCursor MongoCursor::partial ([ bool $okay = true ] )

This option allows mongos to send partial query results if a shard is unreachable. This is only applicable when running a sharded MongoDB cluster and connecting to a mongos.

If a shard goes down and a query needs to be sent to that shard, mongos will return the results (if any) from shards it already contacted, then an error message that it could not reach the shard (a MongoCursorException in PHP). If you would like to get whatever results mongos can provide and no exception, you can use this method. Note that this means that you won't have an indication that a shard is down in your query response.

This has no effect on the query if all shards are reachable. This flag was implemented in MongoDB version 1.7.5, so will only work with that version and higher.

Parameter-Liste

okay

If receiving partial results is okay.

Rückgabewerte

Returns this cursor.

Fehler/Exceptions

Throws MongoCursorException if this cursor has started iterating.

MongoCursor::next
MongoCursor::reset
MongoCursor


Clears the cursor

MongoCursor::partial
MongoCursor::rewind
MongoCursor
PHP Manual

MongoCursor::reset

(PECL mongo >=0.9.0)

MongoCursor::reset — Clears the cursor

Beschreibung

public void MongoCursor::reset ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

NULL.

MongoCursor::partial
MongoCursor::rewind
MongoCursor


Returns the cursor to the beginning of the result set

MongoCursor::reset
MongoCursor::setFlag
MongoCursor
PHP Manual

MongoCursor::rewind

(PECL mongo >=0.9.0)

MongoCursor::rewind — Returns the cursor to the beginning of the result set

Beschreibung

public void MongoCursor::rewind ( void )

This is identical to the function:

<?php

public function rewind() {
    $this->reset();
    $this->next();
}

?>

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

NULL.

Fehler/Exceptions

Throws MongoConnectionException if it cannot reach the database and MongoCursorTimeoutException if the timeout is exceeded.

Siehe auch

  • Iterator::rewind() - Setzt den Iterator auf das erste Element zurück
MongoCursor::reset
MongoCursor::setFlag
MongoCursor


Sets arbitrary flags in case there is no method available the specific flag

MongoCursor::rewind
MongoCursor::setReadPreference
MongoCursor
PHP Manual

MongoCursor::setFlag

(PECL mongo >=1.2.11)

MongoCursor::setFlag — Sets arbitrary flags in case there is no method available the specific flag

Beschreibung

public MongoCursor MongoCursor::setFlag ( int $flag [, bool $set = true ] )

The MongoCursor class has several methods for setting flags on the query object. This method is available in case the MongoDB wire protocol has acquired a new flag, and the driver has not been updated with a method for this new flag. In all other cases, the method should be used. See the "See also" section for available methods.

Parameter-Liste

flag

Which flag to set. You can not set flag 6 (EXHAUST) as the driver does not know how to handle them. You will get a warning if you try to use this flag. For available flags, please refer to the wire protocol » documentation.

set

Whether the flag should be set (TRUE) or unset (FALSE).

Rückgabewerte

Returns this cursor.

Fehler/Exceptions

Shows a warning when an unsupport flag is attempted to be set.

Changelog

Version | Beschreibung
1.4.0 | Support for flag 3 (OPLOG_REPLAY) is added. Versions before 1.4.0 would throw a warning saying that the flag is unsupported.

Beispiele

Beispiel #1 MongoCursor::setFlag() example

<?php
$m = new MongoClient( 'mongodb://localhost:13000', array( 'replSet' => 'seta' ) );
$c = $m->local->selectCollection( 'oplog.rs' );
$cursor = $c->find( array( 'ns' => 'demo.article', 'op' => 'i' ) );
$cursor->setFlag( 1, true ); // sets the tailable flag
$cursor->setFlag( 5, true ); // sets the await data flag
?>

Siehe auch

  • MongoCursor::tailable() - Sets whether this cursor will be left open after fetching the last results
  • MongoCursor::immortal() - Sets whether this cursor will timeout
  • MongoCursor::awaitData() - Sets whether this cursor will wait for a while for a tailable cursor to return more data
  • MongoCursor::partial() - If this query should fetch partial results from mongos if a shard is down
  • MongoDB core docs on» wire protocol query flags

MongoCursor::rewind
MongoCursor::setReadPreference
MongoCursor


Set the read preference for this query

MongoCursor::setFlag
MongoCursor::skip
MongoCursor
PHP Manual

MongoCursor::setReadPreference

(PECL mongo >=1.3.3)

MongoCursor::setReadPreference — Set the read preference for this query

Beschreibung

public MongoCursor MongoCursor::setReadPreference ( string $read_preference [, array $tags ] )

Parameter-Liste

read_preference

The read preference mode: MongoClient::RP_PRIMARY, MongoClient::RP_PRIMARY_PREFERRED, MongoClient::RP_SECONDARY, MongoClient::RP_SECONDARY_PREFERRED, or MongoClient::RP_NEAREST.

tags

An array of zero or more tag sets, where each tag set is itself an array of criteria used to match tags on replica set members.

Rückgabewerte

Returns this cursor.

Fehler/Exceptions

Emits E_WARNING if either parameter is invalid, or if one or more tag sets are provided with the MongoClient::RP_PRIMARY read preference mode.

Beispiele

Beispiel #1 MongoCursor::setReadPreference() tag set array syntax example

<?php

$m = new MongoClient();
$cursor = $m->test->users->find();

// Prefer the nearest server in the "east" data center also used for reporting,
// but fall back to a server in the "west" data center
$cursor->setReadPreference(MongoClient::RP_NEAREST, array(
    array('dc' => 'east', 'use' => 'reporting'),
    array('dc' => 'west'),
));
?>

Siehe auch

  • The read preferences documentation.
  • MongoCursor::getReadPreference() - Get the read preference for this query
  • MongoCursorInterface::setReadPreference() - Set the read preference for this query
MongoCursor::setFlag
MongoCursor::skip
MongoCursor


Skips a number of results

MongoCursor::setReadPreference
MongoCursor::slaveOkay
MongoCursor
PHP Manual

MongoCursor::skip

(PECL mongo >=0.9.0)

MongoCursor::skip — Skips a number of results

Beschreibung

public MongoCursor MongoCursor::skip ( int $num )

Parameter-Liste

num

The number of results to skip.

Rückgabewerte

Returns this cursor.

Fehler/Exceptions

Throws MongoCursorException if this cursor has started iterating.

Siehe auch

  • MongoCursor::limit() - Limits the number of results returned

MongoCursor::setReadPreference
MongoCursor::slaveOkay
MongoCursor


Sets whether this query can be done on a secondary [deprecated]

MongoCursor::skip
MongoCursor::snapshot
MongoCursor
PHP Manual

MongoCursor::slaveOkay

(PECL mongo >=0.9.4)

MongoCursor::slaveOkay — Sets whether this query can be done on a secondary [deprecated]

Beschreibung

public MongoCursor MongoCursor::slaveOkay ([ bool $okay = true ] )
Warnung

This method is deprecated since version 1.5.0. Instead, please use MongoCursor::setReadPreference() and Read Preferences.

Calling this will make the driver route reads to secondaries if:

  • You are using a replica set, and
  • You created a MongoClient instance using the option "replicaSet" => "setName", and
  • There is a healthy secondary that can be reached by the driver.
You can check which server was used for this query by calling MongoCursor::info() after running the query. It's server field will show which server the query was sent to.

Note that you should use this function even if you do not use the automatic routing to secondaries. If you connect directly to a secondary in a replica set, you still need to call this function, which basically tells the database that you are aware that you might be getting older data and you're okay with that. If you do not call this, you'll get "not master" errors when you try to query.

This method will override the static class variable
MongoCursor::$slaveOkay.  It will also override
Mongo::setSlaveOkay(),
MongoDB::setSlaveOkay() and
MongoCollection::setSlaveOkay().

Parameter-Liste

okay

If it is okay to query the secondary.

Rückgabewerte

Returns this cursor.

Fehler/Exceptions

Throws MongoCursorException if this cursor has started iterating.

Beispiele

Beispiel #1 MongoCursor::slaveOkay() example

<?php

MongoCursor::$slaveOkay = false;

// cannot query secondary
$cursor = $collection->find();

// can query secondary
$cursor = $collection->find()->slaveOkay();

MongoCursor::$slaveOkay = true;

// can query secondary
$cursor = $collection->find();

// cannot query secondary
$cursor = $collection->find()->slaveOkay(false);

?>

Siehe auch

  • Read Preferences
  • MongoCursor::setReadPreference() - Set the read preference for this query
  • MongoCursor::getReadPreference() - Get the read preference for this query

Changelog

Version | Beschreibung
1.5.0 | This method has been deprecated in favour of MongoCursor::setReadPreference() and Read Preferences.

MongoCursor::skip
MongoCursor::snapshot
MongoCursor


Use snapshot mode for the query

MongoCursor::slaveOkay
MongoCursor::sort
MongoCursor
PHP Manual

MongoCursor::snapshot

(PECL mongo >=0.9.4)

MongoCursor::snapshot — Use snapshot mode for the query

Beschreibung

public MongoCursor MongoCursor::snapshot ( void )

Use snapshot mode for the query. Snapshot mode ensures that a document will not be returned more than once because an intervening write operation results in a move of the document. Documents inserted or deleted during the lifetime of the cursor may or may not be returned, irrespective of snapshot mode.

Queries with short responses (less than 1MB) are always effectively snapshotted.

Snapshot mode may not be used with sorting, explicit hints, or queries on sharded collections.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns this cursor.

Fehler/Exceptions

Throws MongoCursorException if this cursor has started iterating.

Siehe auch

MongoDB core docs on » $snapshot operator.

MongoCursor::slaveOkay
MongoCursor::sort
MongoCursor


Sorts the results by given fields

MongoCursor::snapshot
MongoCursor::tailable
MongoCursor
PHP Manual

MongoCursor::sort

(PECL mongo >=0.9.0)

MongoCursor::sort — Sorts the results by given fields

Beschreibung

public MongoCursor MongoCursor::sort ( array $fields )

Parameter-Liste

fields

An array of fields by which to sort. Each element in the array has as key the field name, and as value either 1 for ascending sort, or -1 for descending sort.

Each result is first sorted on the first field in the array, then (if it exists) on the second field in the array, etc. This means that the order of the fields in the fields array is important. See also the examples section.

Rückgabewerte

Returns the same cursor that this method was called on.

Fehler/Exceptions

Throws MongoCursorException if this cursor has started iterating.

Beispiele

Beispiel #1 MongoCursor::sort() example

<?php
// Sort on field x, ascending
$cursor->sort(array('x' => 1));

// The order in the associative array is important. For instance, these two
// examples will yield different results:

// Sort on date ascending and age descending
$cursor->sort(array('date' => 1, 'age' => -1));

// Sort on age descending and date ascending
$cursor->sort(array('age' => -1, 'date' => 1));
?>
MongoCursor::snapshot
MongoCursor::tailable
MongoCursor


Sets whether this cursor will be left open after fetching the last results

MongoCursor::sort
MongoCursor::timeout
MongoCursor
PHP Manual

MongoCursor::tailable

(PECL mongo >=0.9.4)

MongoCursor::tailable — Sets whether this cursor will be left open after fetching the last results

Beschreibung

public MongoCursor MongoCursor::tailable ([ bool $tail = true ] )

Mongo has a feature known as tailable cursors which are similar to the Unix "tail -f" command.

Tailable means cursor is not closed when the last data is retrieved. Rather, the cursor marks the final object's position. you can resume using the cursor later, from where it was located, if more data were received.

Like any "latent cursor", the cursor may become invalid at some point -- for example if that final object it references were deleted. Thus, you should be prepared to requery if the cursor is MongoCursor::dead().

Parameter-Liste

tail

If the cursor should be tailable.

Rückgabewerte

Returns this cursor.

Fehler/Exceptions

Throws MongoCursorException if this cursor has started iterating.

Beispiele

Beispiel #1 MongoCursor::tailable() example

<?php

$cursor = $collection->find()->tailable();

$results = array();

while (1) {
    if (!$cursor->hasNext()) {
        // we've read all the results, exit
        if ($cursor->dead()) {
            break;
        }
        // read all results so far, wait for more
        sleep(10);
    }
    else {
        $results[] = $cursor->getNext();
    }
}

?>

Siehe auch

MongoDB core docs on » tailable cursors.

  • MongoCursor::awaitData() - Sets whether this cursor will wait for a while for a tailable cursor to return more data

MongoCursor::sort
MongoCursor::timeout
MongoCursor


Sets a client-side timeout for this query

MongoCursor::tailable
MongoCursor::valid
MongoCursor
PHP Manual

MongoCursor::timeout

(PECL mongo >=1.0.3)

MongoCursor::timeout — Sets a client-side timeout for this query

Beschreibung

public MongoCursor MongoCursor::timeout ( int $ms )

A timeout can be set at any time and will affect subsequent queries on the cursor, including fetching more results from the database.

Parameter-Liste

ms

The number of milliseconds for the cursor to wait for a response. Use -1 to wait forever. By default, the cursor will wait 30000 milliseconds (30 seconds).

Rückgabewerte

This cursor.

Fehler/Exceptions

Causes methods that fetch results to throw a MongoCursorTimeoutException if the query takes longer than the specified number of milliseconds.

Beispiele

Beispiel #1 MongoCursor::timeout() example

In the following example, the driver will wait forever for the initial database response, and then wait 100ms for subsequent responses.

<?php

$cursor = $collection->find();
$cursor->timeout(-1);

/* $cursor->hasNext() executes the query. An infinite timeout has been set, so
 * the driver will wait as long as necessary for a response.
 */
while ($cursor->hasNext()) {
    $cursor->timeout(100);

    /* A timeout has now been set, so if the cursor needs to get more results
     * from the database, it will only wait 100ms for a response.
     */
    try {
        print_r($cursor->getNext());
    } catch (MongoCursorTimeoutException $e) {
        echo "query took too long!";
    }
}

?>

Anmerkungen

Warnung

This does not cause the MongoDB server to cancel long-running operations; it only instructs the driver to stop waiting for a response and throw a MongoCursorTimeoutException after a set time. If you need to specify a server-side timeout for a query, consider using MongoCursor::maxTimeMS().

Siehe auch

  • MongoCursorInterface::timeout() - Sets a client-side timeout for this query
  • The socketTimeoutMS option for MongoClient::__construct()
MongoCursor::tailable
MongoCursor::valid
MongoCursor


Checks if the cursor is reading a valid result.

MongoCursor::timeout
MongoCursorInterface
MongoCursor
PHP Manual

MongoCursor::valid

(PECL mongo >=0.9.0)

MongoCursor::valid — Checks if the cursor is reading a valid result.

Beschreibung

public bool MongoCursor::valid ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if the current result is not null, and FALSE otherwise.

Siehe auch

  • Iterator::valid() - Prüft, ob die aktuelle Position zulässig ist
MongoCursor::timeout
MongoCursorInterface
MongoCursor


The MongoCursorInterface interface

(PECL mongo >=1.5.0)

Einführung

Interface for cursors, which can be used to iterate through results of a database query or command. This interface is implemented by the MongoCursor and MongoCommandCursor classes.

Hinweis: Similar to Traversable, this interface cannot be implemented in PHP scripts.

Klassenbeschreibung

MongoCursorInterface extends Iterator {
/* Methoden */
abstract public MongoCursorInterface batchSize ( int $batchSize )
abstract public bool dead ( void )
abstract public array getReadPreference ( void )
abstract public array info ( void )
abstract public MongoCursorInterface setReadPreference ( string $read_preference [, array $tags ] )
abstract public MongoCursorInterface timeout ( int $ms )
/* Geerbte Methoden */
abstract public mixed Iterator::current ( void )
abstract public scalar Iterator::key ( void )
abstract public void Iterator::next ( void )
abstract public void Iterator::rewind ( void )
abstract public boolean Iterator::valid ( void )
}

Inhaltsverzeichnis

  • MongoCursorInterface::batchSize — Limits the number of elements returned in one batch.
  • MongoCursorInterface::dead — Checks if there are results that have not yet been sent from the database
  • MongoCursorInterface::getReadPreference — Get the read preference for this query
  • MongoCursorInterface::info — Gets information about the cursor's creation and iteration
  • MongoCursorInterface::setReadPreference — Set the read preference for this query
  • MongoCursorInterface::timeout — Sets a client-side timeout for this query
MongoCursor::valid
MongoCursorInterface::batchSize
Core Classes


Limits the number of elements returned in one batch.

MongoCursorInterface
MongoCursorInterface::dead
MongoCursorInterface
PHP Manual

MongoCursorInterface::batchSize

(PECL mongo >=1.5.0)

MongoCursorInterface::batchSize — Limits the number of elements returned in one batch.

Beschreibung

abstract public MongoCursorInterface MongoCursorInterface::batchSize ( int $batchSize )

A cursor typically fetches a batch of result objects and stores them locally. This method sets the batch size value to configure the amount of documents retrieved from the server in one round trip.

Parameter-Liste

batchSize

The number of results to return per batch.

Rückgabewerte

Returns this cursor.

MongoCursorInterface
MongoCursorInterface::dead
MongoCursorInterface


Checks if there are results that have not yet been sent from the database

MongoCursorInterface::batchSize
MongoCursorInterface::getReadPreference
MongoCursorInterface
PHP Manual

MongoCursorInterface::dead

(PECL mongo >=1.5.0)

MongoCursorInterface::dead — Checks if there are results that have not yet been sent from the database

Beschreibung

abstract public bool MongoCursorInterface::dead ( void )

This method checks whether the cursor has been exhausted and the database has no more results to send to the client. A cursor being "dead" does not necessarily mean that there are no more results available for iteration.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if there are more results that have not yet been sent to the client, and FALSE otherwise.

MongoCursorInterface::batchSize
MongoCursorInterface::getReadPreference
MongoCursorInterface


Get the read preference for this query

MongoCursorInterface::dead
MongoCursorInterface::info
MongoCursorInterface
PHP Manual

MongoCursorInterface::getReadPreference

(PECL mongo >=1.6.0)

MongoCursorInterface::getReadPreference — Get the read preference for this query

Beschreibung

abstract public array MongoCursorInterface::getReadPreference ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

This function returns an array describing the read preference. The array contains the values type for the string read preference mode (corresponding to the MongoClient constants), and tagsets containing a list of all tag set criteria. If no tag sets were specified, tagsets will not be present in the array.

Siehe auch

  • The read preferences documentation.
  • MongoCursorInterface::setReadPreference() - Set the read preference for this query
MongoCursorInterface::dead
MongoCursorInterface::info
MongoCursorInterface


Gets information about the cursor's creation and iteration

MongoCursorInterface::getReadPreference
MongoCursorInterface::setReadPreference
MongoCursorInterface
PHP Manual

MongoCursorInterface::info

(PECL mongo >=1.5.0)

MongoCursorInterface::info — Gets information about the cursor's creation and iteration

Beschreibung

abstract public array MongoCursorInterface::info ( void )

Returns information about the cursor's creation and iteration. This can be called before or after the cursor has started iterating.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the namespace, batch size, limit, skip, flags, query, and projected fields for this cursor. If the cursor has started iterating, additional information about iteration and the connection will be included.

MongoCursorInterface::getReadPreference
MongoCursorInterface::setReadPreference
MongoCursorInterface


Set the read preference for this query

MongoCursorInterface::info
MongoCursorInterface::timeout
MongoCursorInterface
PHP Manual

MongoCursorInterface::setReadPreference

(PECL mongo >=1.6.0)

MongoCursorInterface::setReadPreference — Set the read preference for this query

Beschreibung

abstract public MongoCursorInterface MongoCursorInterface::setReadPreference ( string $read_preference [, array $tags ] )

Parameter-Liste

read_preference

The read preference mode: MongoClient::RP_PRIMARY, MongoClient::RP_PRIMARY_PREFERRED, MongoClient::RP_SECONDARY, MongoClient::RP_SECONDARY_PREFERRED, or MongoClient::RP_NEAREST.

tags

An array of zero or more tag sets, where each tag set is itself an array of criteria used to match tags on replica set members.

Rückgabewerte

Returns this cursor.

Fehler/Exceptions

Emits E_WARNING if either parameter is invalid, or if one or more tag sets are provided with the MongoClient::RP_PRIMARY read preference mode.

Siehe auch

  • The read preferences documentation.
  • MongoCursorInterface::getReadPreference() - Get the read preference for this query
MongoCursorInterface::info
MongoCursorInterface::timeout
MongoCursorInterface


Sets a client-side timeout for this query

MongoCursorInterface::setReadPreference
MongoCommandCursor
MongoCursorInterface
PHP Manual

MongoCursorInterface::timeout

(PECL mongo >=1.5.0)

MongoCursorInterface::timeout — Sets a client-side timeout for this query

Beschreibung

abstract public MongoCursorInterface MongoCursorInterface::timeout ( int $ms )

A timeout can be set at any time and will affect subsequent data retrieval associated with this cursor, including fetching more results from the database.

Parameter-Liste

ms

The number of milliseconds for the cursor to wait for a response. Use -1 to wait forever. By default, the cursor will wait 30000 milliseconds (30 seconds).

Rückgabewerte

Returns this cursor.

Fehler/Exceptions

Causes methods that fetch results to throw a MongoCursorTimeoutException if the data fetch takes longer than the specified number of milliseconds.

Siehe auch

  • The socketTimeoutMS option for MongoClient::__construct()
MongoCursorInterface::setReadPreference
MongoCommandCursor
MongoCursorInterface


The MongoCommandCursor class

(PECL mongo >=1.5.0)

Einführung

A command cursor is similar to a MongoCursor except that you use it for iterating through the results of a database command instead of a normal query. Command cursors are useful for iterating over large result sets that might exceed the document size limit (currently 16MB) of a single MongoDB::command() response.

While you can create command cursors using MongoCommandCursor::__construct() or the MongoCommandCursor::createFromDocument() factory method, you will generally want to use command-specific helpers such as MongoCollection::aggregateCursor().

Note that the cursor does not "contain" the database command's results; it just manages iteration through them. Thus, if you print a cursor (f.e. with var_dump() or print_r()), you will see the cursor object but not the result documents.

Cursor Stages

A MongoCommandCursor has two "life stages": pre- and post- command. When a cursor is created, it has not yet contacted the database, so it is in its pre-command state. When the client first attempts to get a result (by calling MongoCommandCursor::rewind(), directly or indirectly), the cursor moves into the post-command state.

The command cursor's batch size and socket timeout may be configured in both the pre- and post- command states.

Beispiel #1 Adding options to MongoCommandCursor

<?php

$cursor = new MongoCommandCursor(...);

$cursor = $cursor->batchSize( 4 );

foreach ($cursor as $result) {
    var_dump($result);
}
?>

Klassenbeschreibung

MongoCommandCursor implements MongoCursorInterface , Iterator {
/* Methoden */
public MongoCommandCursor batchSize ( int $batchSize )
public __construct ( MongoClient $connection , string $ns , array $command = array() )
public static MongoCommandCursor createFromDocument ( MongoClient $connection , string $hash , array $document )
public array current ( void )
public bool dead ( void )
public array getReadPreference ( void )
public array info ( void )
public int key ( void )
public void next ( void )
public array rewind ( void )
public MongoCommandCursor setReadPreference ( string $read_preference [, array $tags ] )
public MongoCommandCursor timeout ( int $ms )
public bool valid ( void )
}

Siehe auch

  • MongoDB::command()
  • MongoCollection::aggregateCursor()

Inhaltsverzeichnis

  • MongoCommandCursor::batchSize — Limits the number of elements returned in one batch.
  • MongoCommandCursor::__construct — Create a new command cursor
  • MongoCommandCursor::createFromDocument — Create a new command cursor from an existing command response document
  • MongoCommandCursor::current — Returns the current element
  • MongoCommandCursor::dead — Checks if there are results that have not yet been sent from the database
  • MongoCommandCursor::getReadPreference — Get the read preference for this command
  • MongoCommandCursor::info — Gets information about the cursor's creation and iteration
  • MongoCommandCursor::key — Returns the current result's index within the result set
  • MongoCommandCursor::next — Advances the cursor to the next result
  • MongoCommandCursor::rewind — Executes the command and resets the cursor to the start of the result set
  • MongoCommandCursor::setReadPreference — Set the read preference for this command
  • MongoCommandCursor::timeout — Sets a client-side timeout for this command
  • MongoCommandCursor::valid — Checks if the cursor is reading a valid result.
MongoCursorInterface::timeout
MongoCommandCursor::batchSize
Core Classes


Limits the number of elements returned in one batch.

MongoCommandCursor
MongoCommandCursor::__construct
MongoCommandCursor
PHP Manual

MongoCommandCursor::batchSize

(PECL mongo >=1.5.0)

MongoCommandCursor::batchSize — Limits the number of elements returned in one batch.

Beschreibung

public MongoCommandCursor MongoCommandCursor::batchSize ( int $batchSize )

A cursor typically fetches a batch of result objects and store them locally. This method sets the batchSize value to configure the amount of documents retrieved from the server in one round trip.

Parameter-Liste

batchSize

The number of results to return per batch. Each batch requires a round-trip to the server.

This cannot override MongoDB's limit on the amount of data it will return to the client (i.e., if you set batch size to 1,000,000,000, MongoDB will still only return 4-16MB of results per batch).

Rückgabewerte

Returns this cursor.

Beispiele

Beispiel #1 MongoCommandCursor::batchSize()

<?php
$commandCursor->batchSize(20);
?>

Siehe auch

  • MongoCursorInterface::batchSize() - Limits the number of elements returned in one batch.
MongoCommandCursor
MongoCommandCursor::__construct
MongoCommandCursor


Create a new command cursor

MongoCommandCursor::batchSize
MongoCommandCursor::createFromDocument
MongoCommandCursor
PHP Manual

MongoCommandCursor::__construct

(PECL mongo >=1.5.0)

MongoCommandCursor::__construct — Create a new command cursor

Beschreibung

public MongoCommandCursor::__construct ( MongoClient $connection , string $ns , array $command = array() )

Generally, you should not have to construct a MongoCommandCursor manually, as there are helper functions such as MongoCollection::aggregateCursor() and MongoCollection::parallelCollectionScan(); however, if the server introduces new commands that can return cursors, this constructor will be useful in the absence of specific helper methods. You may also consider using MongoCommandCursor::createFromDocument().

Parameter-Liste

connection

Database connection.

ns

Full name of the database and collection (e.g. "test.foo")

command

Database command.

Rückgabewerte

Returns the new cursor.

Beispiele

Beispiel #1 MongoCommandCursor example

<?php
$m = new MongoClient;

// Define the aggregation pipeline
$pipeline = [
    [ '$group' => [
        '_id' => '$country_code',
        'timezones' => [ '$addToSet' => '$timezone' ]
    ] ],
    [ '$sort' => [ '_id' => 1 ] ],
];

// Construct a MongoCommandCursor object
$cursor = new MongoCommandCursor(
    $m, // MongoClient object
    'demo.cities', // namespace
    [
        'aggregate' => 'cities',
        'pipeline' => $pipeline,
        'cursor' => [ 'batchSize' => 0 ],
    ]
);

foreach($cursor as $result) {
   …
}
?>

Siehe auch

  • MongoCommandCursor::createFromDocument() - Create a new command cursor from an existing command response document
  • MongoCollection::aggregateCursor() - Execute an aggregation pipeline command and retrieve results through a cursor
  • MongoCollection::parallelCollectionScan() - Returns an array of cursors to iterator over a full collection in parallel
MongoCommandCursor::batchSize
MongoCommandCursor::createFromDocument
MongoCommandCursor


Create a new command cursor from an existing command response document

MongoCommandCursor::__construct
MongoCommandCursor::current
MongoCommandCursor
PHP Manual

MongoCommandCursor::createFromDocument

(PECL mongo >=1.5.0)

MongoCommandCursor::createFromDocument — Create a new command cursor from an existing command response document

Beschreibung

public static MongoCommandCursor MongoCommandCursor::createFromDocument ( MongoClient $connection , string $hash , array $document )

Use this method if you have a raw command result with cursor information in it. Note that cursors created with this method cannot be iterated multiple times, as they will lack the original command necessary for re-execution.

Parameter-Liste

connection

Database connection.

hash

The connection hash, as obtained through the third by-reference argument to MongoDB::command().

document

Document with cursor information in it. This document needs to contain the id, ns and firstBatch fields. Such a document is obtained by calling the MongoDB::command() with appropriate arguments to return a cursor, and not just an inline result. See the example below.

Rückgabewerte

Returns the new cursor.

Beispiele

Beispiel #1 MongoCommandCursor::createFromDocument()

<?php
$m = new MongoClient;
$d = $m->demo;

// Define the aggregation pipeline
$pipeline = [
    [ '$group' => [
        '_id' => '$country_code',
        'timezones' => [ '$addToSet' => '$timezone' ]
    ] ],
    [ '$sort' => [ '_id' => 1 ] ],
];

// Execute the command. The "cursor" option instructs the server to return
// cursor information in the response instead of inline results.
$r = $d->command(
    [
        'aggregate' => 'cities',
        'pipeline' => $pipeline,
        'cursor' => [ 'batchSize' => 1 ],
    ],
    null,
    $hash
);

// Show result and hash
var_dump( $r, $hash );

// Construct the command cursor
$cursor = MongoCommandCursor::createFromDocument( $m, $hash, $r );
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(2) {
  ["cursor"]=>
  array(3) {
    ["id"]=>
    object(MongoInt64)#5 (1) {
      ["value"]=>
      string(12) "392143983421"
    }
    ["ns"]=>
    string(11) "demo.cities"
    ["firstBatch"]=>
    array(1) {
      [0]=>
      array(2) {
        ["_id"]=>
        string(2) "AD"
        ["timezones"]=>
        array(1) {
          [0]=>
          string(14) "Europe/Andorra"
        }
      }
    }
  }
  ["ok"]=>
  float(1)
}
string(25) "localhost:27017;-;.;17617"

As you can see, the returned cursor information has the id, ns and firstBatch fields.

Siehe auch

  • MongoCommandCursor::__construct() - Create a new command cursor
MongoCommandCursor::__construct
MongoCommandCursor::current
MongoCommandCursor


Returns the current element

MongoCommandCursor::createFromDocument
MongoCommandCursor::dead
MongoCommandCursor
PHP Manual

MongoCommandCursor::current

(PECL mongo >=1.5.0)

MongoCommandCursor::current — Returns the current element

Beschreibung

public array MongoCommandCursor::current ( void )

This returns NULL until MongoCommandCursor::rewind() is called.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current result document as an associative array. NULL will be returned if there is no result.

Siehe auch

  • Iterator::current() - Gibt das aktuelle Element zurück
MongoCommandCursor::createFromDocument
MongoCommandCursor::dead
MongoCommandCursor


Checks if there are results that have not yet been sent from the database

MongoCommandCursor::current
MongoCommandCursor::getReadPreference
MongoCommandCursor
PHP Manual

MongoCommandCursor::dead

(PECL mongo >=1.5.0)

MongoCommandCursor::dead — Checks if there are results that have not yet been sent from the database

Beschreibung

public bool MongoCommandCursor::dead ( void )

This method checks whether the MongoCommandCursor cursor has been exhausted and the database has no more results to send to the client. A cursor being "dead" does not necessarily mean that there are no more results available for iteration.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if there are more results that have not yet been sent to the client, and FALSE otherwise.

Siehe auch

  • MongoCursorInterface::dead() - Checks if there are results that have not yet been sent from the database
MongoCommandCursor::current
MongoCommandCursor::getReadPreference
MongoCommandCursor


Get the read preference for this command

MongoCommandCursor::dead
MongoCommandCursor::info
MongoCommandCursor
PHP Manual

MongoCommandCursor::getReadPreference

(PECL mongo >=1.6.0)

MongoCommandCursor::getReadPreference — Get the read preference for this command

Beschreibung

public array MongoCommandCursor::getReadPreference ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

This function returns an array describing the read preference. The array contains the values type for the string read preference mode (corresponding to the MongoClient constants), and tagsets containing a list of all tag set criteria. If no tag sets were specified, tagsets will not be present in the array.

Beispiele

Beispiel #1 MongoCommandCursor::getReadPreference() return value example

<?php

$m = new MongoClient('mongodb://rs1.example.com:27017', array('replicaSet' => 'myReplSetName'));
$collection = $m->selectCollection('test', 'people');

// If a MongoCommandCursor is constructed directly, it will inherit the read
// preference of the MongoClient instance passed to its constructor; however,
// MongoCollection::aggregateCursor() will have the MongoCommandCursor inherit
// the collection's read preference.
$collection->setReadPreference(MongoClient::RP_SECONDARY);

$cursor = $collection->aggregateCursor( [
    [ '$group' => [ '_id' => '$name', 'points' => [ '$sum' => '$points' ] ] ],
    [ '$sort' => [ 'points' => -1 ] ],
] );

var_dump($cursor->getReadPreference());

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(1) {
  ["type"]=>
  string(9) "secondary"
}

Siehe auch

  • The read preferences documentation.
  • MongoCommandCursor::setReadPreference() - Set the read preference for this command
  • MongoCursorInterface::getReadPreference() - Get the read preference for this query
MongoCommandCursor::dead
MongoCommandCursor::info
MongoCommandCursor


Gets information about the cursor's creation and iteration

MongoCommandCursor::getReadPreference
MongoCommandCursor::key
MongoCommandCursor
PHP Manual

MongoCommandCursor::info

(PECL mongo >=1.5.0)

MongoCommandCursor::info — Gets information about the cursor's creation and iteration

Beschreibung

public array MongoCommandCursor::info ( void )

This can be called before or after the cursor has started iterating.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the namespace, batch size, limit, skip, flags, query, and projected fields for this cursor. If the cursor has started iterating, additional information about iteration and the connection will be included.

Beispiele

Beispiel #1 MongoCommandCursor::info() example

<?php
$m = new MongoClient();

$cursor = new MongoCommandCursor(
    $m, // MongoClient object
    'demo.cities', // namespace
    [
        'aggregate' => 'cities',
        'pipeline' => [ [ '$match' => [ '_id' => [ '$exists' => true ] ] ] ],
        'cursor' => [ 'batchSize' => 1 ],
    ]
);

echo "Before iteration started:\n";
var_dump($cursor->info());

echo "\nAfter iteration started:\n";
$cursor->rewind();
var_dump($cursor->info());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Before iteration started:
array(8) {
  ["ns"]=>
  string(11) "demo.cities"
  ["limit"]=>
  int(0)
  ["batchSize"]=>
  int(0)
  ["skip"]=>
  int(0)
  ["flags"]=>
  int(0)
  ["query"]=>
  array(3) {
    ["aggregate"]=>
    string(6) "cities"
    ["pipeline"]=>
    array(1) {
      [0]=>
      array(1) {
        ["$match"]=>
        array(1) {
          ["_id"]=>
          array(1) {
            ["$exists"]=>
            bool(true)
          }
        }
      }
    }
    ["cursor"]=>
    array(1) {
      ["batchSize"]=>
      int(1)
    }
  }
  ["fields"]=>
  NULL
  ["started_iterating"]=>
  bool(false)
}

After iteration started:
array(17) {
  ["ns"]=>
  string(11) "demo.cities"
  ["limit"]=>
  int(0)
  ["batchSize"]=>
  int(0)
  ["skip"]=>
  int(0)
  ["flags"]=>
  int(0)
  ["query"]=>
  array(3) {
    ["aggregate"]=>
    string(6) "cities"
    ["pipeline"]=>
    array(1) {
      [0]=>
      array(1) {
        ["$match"]=>
        array(1) {
          ["_id"]=>
          array(1) {
            ["$exists"]=>
            bool(true)
          }
        }
      }
    }
    ["cursor"]=>
    array(1) {
      ["batchSize"]=>
      int(1)
    }
  }
  ["fields"]=>
  NULL
  ["started_iterating"]=>
  bool(true)
  ["id"]=>
  int(185840310129)
  ["at"]=>
  int(0)
  ["numReturned"]=>
  int(0)
  ["server"]=>
  string(25) "localhost:27017;-;.;23991"
  ["host"]=>
  string(9) "localhost"
  ["port"]=>
  int(27017)
  ["connection_type_desc"]=>
  string(10) "STANDALONE"
  ["firstBatchAt"]=>
  int(0)
  ["firstBatchNumReturned"]=>
  int(1)
}

Siehe auch

  • MongoCursorInterface::info() - Gets information about the cursor's creation and iteration
MongoCommandCursor::getReadPreference
MongoCommandCursor::key
MongoCommandCursor


Returns the current result's index within the result set

MongoCommandCursor::info
MongoCommandCursor::next
MongoCommandCursor
PHP Manual

MongoCommandCursor::key

(PECL mongo >=1.5.0)

MongoCommandCursor::key — Returns the current result's index within the result set

Beschreibung

public int MongoCommandCursor::key ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current result's index within the result set.

Siehe auch

  • Iterator::key() - Gibt den Schlüssel des aktuellen Elements zurück
MongoCommandCursor::info
MongoCommandCursor::next
MongoCommandCursor


Advances the cursor to the next result

MongoCommandCursor::key
MongoCommandCursor::rewind
MongoCommandCursor
PHP Manual

MongoCommandCursor::next

(PECL mongo >=1.5.0)

MongoCommandCursor::next — Advances the cursor to the next result

Beschreibung

public void MongoCommandCursor::next ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

NULL.

Fehler/Exceptions

Throws MongoConnectionException if it cannot reach the database and MongoCursorTimeoutException if the timeout is exceeded.

Siehe auch

  • Iterator::next() - Rückt den Zeiger auf das nächste Element vor
MongoCommandCursor::key
MongoCommandCursor::rewind
MongoCommandCursor


Executes the command and resets the cursor to the start of the result set

MongoCommandCursor::next
MongoCommandCursor::setReadPreference
MongoCommandCursor
PHP Manual

MongoCommandCursor::rewind

(PECL mongo >=1.5.0)

MongoCommandCursor::rewind — Executes the command and resets the cursor to the start of the result set

Beschreibung

public array MongoCommandCursor::rewind ( void )

If the cursor has already started iteration, the command will be re-executed.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The raw server result document.

Fehler/Exceptions

Throws MongoConnectionException if it cannot reach the database and MongoCursorTimeoutException if the timeout is exceeded.

Throws MongoCursorException if the cursor was created with MongoCommandCursor::createFromDocument() and has already started iteration. Such cursors cannot be iterated multiple times, as they lack the original command necessary for re-execution.

Beispiele

Beispiel #1 MongoCommandCursor::rewind()

<?php
$rawResult = $commandCursor->rewind();

// Command cursor is now reset to the start of the result set

var_dump($rawResult);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(2) {
  ["cursor"]=>
  array(3) {
    ["id"]=>
    object(MongoInt64)#5 (1) {
      ["value"]=>
      string(12) "310050110216"
    }
    ["ns"]=>
    string(9) "demo.test"
    ["firstBatch"]=>
    array(1) {
      [0]=>
      array(2) {
        ["_id"]=>
        object(MongoId)#6 (1) {
          ["$id"]=>
          string(24) "52f5691544670a8077b0dc51"
        }
        ["value"]=>
        string(2) "42"
      }
    }
  }
  ["ok"]=>
  float(1)
}

Siehe auch

  • Iterator::rewind() - Setzt den Iterator auf das erste Element zurück
MongoCommandCursor::next
MongoCommandCursor::setReadPreference
MongoCommandCursor


Set the read preference for this command

MongoCommandCursor::rewind
MongoCommandCursor::timeout
MongoCommandCursor
PHP Manual

MongoCommandCursor::setReadPreference

(PECL mongo >=1.6.0)

MongoCommandCursor::setReadPreference — Set the read preference for this command

Beschreibung

public MongoCommandCursor MongoCommandCursor::setReadPreference ( string $read_preference [, array $tags ] )

Parameter-Liste

read_preference

The read preference mode: MongoClient::RP_PRIMARY, MongoClient::RP_PRIMARY_PREFERRED, MongoClient::RP_SECONDARY, MongoClient::RP_SECONDARY_PREFERRED, or MongoClient::RP_NEAREST.

tags

An array of zero or more tag sets, where each tag set is itself an array of criteria used to match tags on replica set members.

Rückgabewerte

Returns this cursor.

Fehler/Exceptions

Emits E_WARNING if either parameter is invalid, or if one or more tag sets are provided with the MongoClient::RP_PRIMARY read preference mode.

Beispiele

Beispiel #1 MongoCommandCursor::setReadPreference() tag set array syntax example

<?php

$m = new MongoClient('mongodb://rs1.example.com:27017', array('replicaSet' => 'myReplSetName'));
$collection = $m->selectCollection('test', 'people');

$cursor = $collection->aggregateCursor( [
    [ '$group' => [ '_id' => '$name', 'points' => [ '$sum' => '$points' ] ] ],
    [ '$sort' => [ 'points' => -1 ] ],
] );

// Prefer the nearest server in the "east" data center also used for reporting,
// but fall back to a server in the "west" data center
$cursor->setReadPreference(MongoClient::RP_NEAREST, [
    [ 'dc' => 'east', 'use' => 'reporting' ],
    [ 'dc' => 'west' ],
] );

foreach ($cursor as $person) {
    // ...
}

// If the read preference is changed, it will be used the next time the cursor
// is rewound and the command is re-executed.
$cursor->setReadPreference(MongoClient::RP_PRIMARY);

foreach ($cursor as $person) {
    // ...
}

?>

Siehe auch

  • The read preferences documentation.
  • MongoCommandCursor::getReadPreference() - Get the read preference for this command
  • MongoCursorInterface::setReadPreference() - Set the read preference for this query
MongoCommandCursor::rewind
MongoCommandCursor::timeout
MongoCommandCursor


Sets a client-side timeout for this command

MongoCommandCursor::setReadPreference
MongoCommandCursor::valid
MongoCommandCursor
PHP Manual

MongoCommandCursor::timeout

(PECL mongo >=1.6.0)

MongoCommandCursor::timeout — Sets a client-side timeout for this command

Beschreibung

public MongoCommandCursor MongoCommandCursor::timeout ( int $ms )

A timeout can be set at any time and will affect subsequent data retrieval associated with this cursor, including fetching more results from the database.

Parameter-Liste

ms

The number of milliseconds for the cursor to wait for a response. Use -1 to wait forever. By default, the cursor will wait 30000 milliseconds (30 seconds).

Rückgabewerte

This cursor.

Fehler/Exceptions

Causes methods that fetch results to throw a MongoCursorTimeoutException if the data fetch takes longer than the specified number of milliseconds.

Beispiele

Beispiel #1 MongoCommandCursor::timeout() example

In the following example, the driver will wait for 60 seconds for the first response from the aggregate command. It will also wait for 60 seconds each time the server needs to be polled for more information.

<?php

$m = new MongoClient;
$col = $m->database->collection;

$pipeline = [ … ];

$cursor = $col->aggregateCursor( $pipeline );
$cursor->timeout( 60000 ); // for 60 seconds

foreach ( $cursor as $result ) {
   …
}

?>

Anmerkungen

Warnung

This does not cause the MongoDB server to cancel long-running operations; it only instructs the driver to stop waiting for a response and throw a MongoCursorTimeoutException after a set time. If you need to specify a server-side timeout for a command, considering passing the maxTimeMS option to MongoCollection::aggregateCursor().

Siehe auch

  • MongoCollection::aggregateCursor() - Execute an aggregation pipeline command and retrieve results through a cursor
  • MongoCursorInterface::timeout() - Sets a client-side timeout for this query
  • The socketTimeoutMS option for MongoClient::__construct()
MongoCommandCursor::setReadPreference
MongoCommandCursor::valid
MongoCommandCursor


Checks if the cursor is reading a valid result.

MongoCommandCursor::timeout
Types
MongoCommandCursor
PHP Manual

MongoCommandCursor::valid

(PECL mongo >=1.5.0)

MongoCommandCursor::valid — Checks if the cursor is reading a valid result.

Beschreibung

public bool MongoCommandCursor::valid ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if the current result is not null, and FALSE otherwise.

Siehe auch

  • Iterator::valid() - Prüft, ob die aktuelle Position zulässig ist
MongoCommandCursor::timeout
Types
MongoCommandCursor


Types

Inhaltsverzeichnis

  • MongoId
  • MongoCode
  • MongoDate
  • MongoRegex
  • MongoBinData
  • MongoInt32
  • MongoInt64
  • MongoDBRef
  • MongoMinKey
  • MongoMaxKey
  • MongoTimestamp

MongoDB allows programmers to save and query for data expressed in all of the basic PHP types, compound types (arrays, associative arrays, and objects), and a half-dozen classes provided by the MongoDB PHP driver (for regular expressions, dates, and other specialized applications).

Booleans and NULL

TRUE, FALSE, and NULL can be used as-is.

Numbers

Numbers are distinct from strings in MongoDB: "123" does not match 123. Thus, if you want to make sure numbers are sorted and matched correctly, you must make sure that they are actually saved as numbers.

<?php

$doc = array("a" => 123, "b" => "123");
$collection->insert($doc);

$doc->find(array("a" => 123));   // matches
$doc->find(array("a" => "123")); // doesn't match
$doc->find(array("a" => 123.0)); // matches
$doc->find(array("b" => 123));   // doesn't match
$doc->find(array("b" => "123")); // matches

?>

As noted above, floating point numbers do compare with/match integer numbers as one would expect.

Large Numbers

By default, on a 32-bit system, numbers are sent to the database as 32-bit integers. On a 64-bit system, they are sent as 64-bit integers. For backwards compatibility, all systems deserialize 64-bit integers as floating point numbers. Floating point numbers are not exact. If you need exact values, you must tweak your php.ini settings.

On a 32-bit system, if mongo.long_as_object is set, 64-bit integers will be returns as MongoInt64 objects. The integer will be stored in the value field with perfect precision (as a string). You can also use MongoInt64 to save 64-bit integers on 32-bit machines.

On 64-bit systems, you can either set mongo.long_as_object or set mongo.native_long. mongo.native_long will return 64-bit integers and "normal" PHP integers. You can use MongoInt32 to save 32-bit integers on 64-bit machines.

You should set the mongo.long_as_object and mongo.native_long behavior that you plan to use, even if it is the default behavior (to protect against future changes to the defaults).

See also: php.ini Options, MongoInt32, MongoInt64.

Strings

Strings must be UTF-8. Non-UTF-8 strings must either be converted to UTF-8 before being sent to the database or saved as binary data.

Regular expressions can be used to match strings, and are expressed using the MongoRegex class.

Binary Data

Non-UTF-8 strings, images, and any other binary data should be sent to the database using the MongoBinData type.

Dates

Dates can be created using the MongoDate class. They are stored as milliseconds since the epoch.

MongoTimestamp is not for saving dates or timestamps, it is used internally by MongoDB. Unless you are creating a tool that interacts with the internals of replication or sharding, you should use MongoDate, not MongoTimestamp.

Unique Ids

The driver will automatically create an _id field before inserting a document (unless one is specified by the user). This field is an instance of MongoId (called "ObjectId" in most other languages).

These ids are 12 bytes long and composed of:

  • 4 bytes of timestamp

    No two records can have the same id if they were inserted at different times.

  • 3 bytes machine id

    No two records can have the same id if they were inserted on different machines

  • 2 bytes thread id

    No two records can have the same id if they were inserted by different threads running on the same machine.

  • 3 bytes incrementing value

    Each time an id is created, a global counter is incremented and used as the increment value of the next id.

Thus, no two records can have the same id unless a single process on a single machine managed to insert 256^3 (over 16 million) documents in one second, overflowing the increment field.

JavaScript

MongoDB comes with a JavaScript engine, so you can embed JavaScript in queries (using a $where clause), send it directly to the database to be executed, and use it to perform aggregations.

For security, use MongoCode's scope field to use PHP variables in JavaScript. Code that does not require external values can either use MongoCode or just be a string. See the section on security for more information about sending JavaScript to the database.

Arrays and Objects

Arrays and objects can also be saved to the database. An array with ascending numeric keys will be saved as a an array, anything else will be saved as an object.

<?php

// $scores will be saved as an array
$scores = array(98, 100, 73, 85);
$collection->insert(array("scores" => $scores));

// $scores will be saved as an object
$scores = array("quiz1" => 98, "midterm" => 100, "quiz2" => 73, "final" => 85);
$collection->insert(array("scores" => $scores));

?>

If you query for these objects using the database shell, they will look like:

> db.students.find()
{ "_id" : ObjectId("4b06beada9ad6390dab17c43"), "scores" : [ 98, 100, 73, 85 ] }
{ "_id" : ObjectId("4b06bebea9ad6390dab17c44"), "scores" : { "quiz1" : 98, "midterm" : 100, "quiz2" : 73, "final" : 85 } }

The database can also save arbitrary PHP objects (although they will be returned as associative arrays). The fields are used for the key/value pairs. For example, a blog post might look like:

<?php

  // the blog post class
  class Post {

  var $author;
  var $content;
  var $comments = array();
  var $date;

  public function __construct($author, $content) {
  $this->author = $author;
$this->content = $content;
    $this->date = new MongoDate();
  }

  public function setTitle($title) {
    $this->title = $title;
  }
}

// create a simple blog post and insert it into the database
$post1 = new Post("Adam", "This is a blog post");

$blog->insert($post1);

// there is nothing restricting the type of the "author" field, so we can make
// it a nested object
$author = array("name" => "Fred", "karma" => 42);
$post2 = new Post($author, "This is another blog post.");

// we create an extra field by setting the title
$post2->setTitle("Second Post");

$blog->insert($post2);

?>

From the database shell, this will look something like:

> db.blog.find()
{ "_id" : ObjectId("4b06c263edb87a281e09dad8"), "author" : "Adam", "content" : "This is a blog post", "comments" : [ ], "date" : "Fri Nov 20 2009 11:22:59 GMT-0500 (EST)" }
{ "_id" : ObjectId("4b06c282edb87a281e09dad9"), "author" : { "name" : "Fred", "karma" : 42 }, "content" : "This is a blog post", "comments" : [ ], "date" : "Fri Nov 20 2009 11:23:30 GMT-0500 (EST)", "title" : "Second Post" }

The driver will not detect reference loops in arrays and objects. For example, this will give a fatal error:

<?php

$collection->insert($GLOBALS);

?>
Fatal error: Nesting level too deep - recursive dependency?
If you need to insert documents that may have recursive dependency, you have to check for it yourself before passing it to the driver.

MongoCommandCursor::valid
MongoId
Mongo


The MongoId class

(PECL mongo >=0.8.0)

Warnung

This extension that defines this class is deprecated. Instead, the MongoDB extension should be used. Alternatives to this class include:

  • MongoDB\BSON\ObjectID

Einführung

A unique identifier created for database objects. If an object is inserted into the database without an _id field, an _id field will be added to it with a MongoId instance as its value. If the data has a naturally occuring unique field (e.g. username or timestamp) it is fine to use this as the _id field instead, and it will not be replaced with a MongoId.

Instances of the MongoId class fulfill the role that autoincrementing does in a relational database: to provide a unique key if the data does not naturally have one. Autoincrementing does not work well with a sharded database, as it is difficult to determine the next number in the sequence. This class fulfills the constraints of quickly generating a value that is unique across shards.

Each MongoId is 12 bytes (making its string form 24 hexadecimal characters). The first four bytes are a timestamp, the next three are a hash of the client machine's hostname, the next two are the two least significant bytes of the process id running the script, and the last three bytes are an incrementing value.

MongoIds are serializable/unserializable. Their serialized form is similar to their string form:

C:7:"MongoId":24:{4af9f23d8ead0e1d32000000}

Klassenbeschreibung

MongoId {
public string $$id = NULL ;
/* Methoden */
public __construct ([ string|MongoId $id = NULL ] )
public static string getHostname ( void )
public int getInc ( void )
public int getPID ( void )
public int getTimestamp ( void )
public static bool isValid ( mixed $value )
public static MongoId __set_state ( array $props )
public string __toString ( void )
}

Fields

$id
This field contains the string representation of this object.

Hinweis: The property name begins with a $ character. It may be accessed using complex variable parsed syntax (e.g. $mongoId->{'$id'}).

Siehe auch

MongoDB core docs on » ObjectIds.

Inhaltsverzeichnis

  • MongoId::__construct — Creates a new id
  • MongoId::getHostname — Gets the hostname being used for this machine's ids
  • MongoId::getInc — Gets the incremented value to create this id
  • MongoId::getPID — Gets the process ID
  • MongoId::getTimestamp — Gets the number of seconds since the epoch that this id was created
  • MongoId::isValid — Check if a value is a valid ObjectId
  • MongoId::__set_state — Create a dummy MongoId
  • MongoId::__toString — Returns a hexidecimal representation of this id
Types
MongoId::__construct
Types


Creates a new id

MongoId
MongoId::getHostname
MongoId
PHP Manual

MongoId::__construct

(PECL mongo >= 0.8.0)

MongoId::__construct — Creates a new id

This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. Alternatives to this method include:

  • MongoDB\BSON\ObjectID::__construct()

Beschreibung

public MongoId::__construct ([ string|MongoId $id = NULL ] )

Parameter-Liste

id

A string (must be 24 hexadecimal characters) or a MongoId instance.

Rückgabewerte

Returns a new id.

Changelog

Version | Beschreibung
1.4.0 | An exception is thrown when passed invalid string

Beispiele

Beispiel #1 MongoId::__construct() example

This example shows how to create a new id. This is seldom necessary, as the driver adds an id to arrays automatically before storing them in the database.

<?php

  $id1 = new MongoId();
  echo "$id1\n";

  $id2 = new MongoId();
  echo "$id2\n";

  ?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

49a7011a05c677b9a916612a
49a702d5450046d3d515d10d

Beispiel #2 Parameter example

This example shows how to use a string parameter to initialize a MongoId with a given value.

<?php
  $id1 = new MongoId();

  // create a new id from $id1
  $id2 = new MongoId("$id1");

  // show that $id1 and $id2 have the same hexidecimal value
  var_dump($id1 == $id2);
  ?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(true)

Siehe auch

  • MongoId::__toString() - Returns a hexidecimal representation of this id
  • MongoId::isvalid() - Check if a value is a valid ObjectId

MongoId
MongoId::getHostname
MongoId


Gets the hostname being used for this machine's ids

MongoId::__construct
MongoId::getInc
MongoId
PHP Manual

MongoId::getHostname

(PECL mongo >= 1.0.8)

MongoId::getHostname — Gets the hostname being used for this machine's ids

This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. There is no equivalent for this method in the new extension.

Beschreibung

public static string MongoId::getHostname ( void )

This returns the hostname MongoId is using to generate unique ids. This should be the same value gethostname() returns.

It is identical to the function:

<?php

public static function getHostname() {
    return gethostname();
}

?>

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the hostname.

MongoId::__construct
MongoId::getInc
MongoId


Gets the incremented value to create this id

MongoId::getHostname
MongoId::getPID
MongoId
PHP Manual

MongoId::getInc

(PECL mongo >= 1.0.11)

MongoId::getInc — Gets the incremented value to create this id

This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. There is no equivalent for this method in the new extension.

Beschreibung

public int MongoId::getInc ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the incremented value used to create this MongoId.

MongoId::getHostname
MongoId::getPID
MongoId


Gets the process ID

MongoId::getInc
MongoId::getTimestamp
MongoId
PHP Manual

MongoId::getPID

(PECL mongo >= 1.0.11)

MongoId::getPID — Gets the process ID

This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. There is no equivalent for this method in the new extension.

Beschreibung

public int MongoId::getPID ( void )

Extracts the pid from the Mongo ID

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the PID of the MongoId.

MongoId::getInc
MongoId::getTimestamp
MongoId


Gets the number of seconds since the epoch that this id was created

MongoId::getPID
MongoId::isValid
MongoId
PHP Manual

MongoId::getTimestamp

(PECL mongo >= 1.0.1)

MongoId::getTimestamp — Gets the number of seconds since the epoch that this id was created

This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. There is no equivalent for this method in the new extension.

Beschreibung

public int MongoId::getTimestamp ( void )

This returns the same thing as running time() when the id is created.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the number of seconds since the epoch that this id was created. There are only four bytes of timestamp stored, so MongoDate is a better choice for storing exact or wide-ranging times.

MongoId::getPID
MongoId::isValid
MongoId


Check if a value is a valid ObjectId

MongoId::getTimestamp
MongoId::__set_state
MongoId
PHP Manual

MongoId::isValid

(PECL mongo >= 1.5.0)

MongoId::isValid — Check if a value is a valid ObjectId

This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. There is no equivalent for this method in the new extension.

Beschreibung

public static bool MongoId::isValid ( mixed $value )

This method may be used to check a variable before passing it as an argument to MongoId::__construct().

Parameter-Liste

value

The value to check for validity.

Rückgabewerte

Returns TRUE if value is a MongoId instance or a string consisting of exactly 24 hexadecimal characters; otherwise, FALSE is returned.

MongoId::getTimestamp
MongoId::__set_state
MongoId


Create a dummy MongoId

MongoId::isValid
MongoId::__toString
MongoId
PHP Manual

MongoId::__set_state

(PECL mongo >= 1.0.8)

MongoId::__set_state — Create a dummy MongoId

This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. There is no equivalent for this method in the new extension.

Beschreibung

public static MongoId MongoId::__set_state ( array $props )

This function is only used by PHP internally, it shouldn't need to ever be called by the user.

It is identical to the function:

<?php

public static function __set_state($props) {
    return new MongoId("000000000000000000000000");
}

?>

Parameter-Liste

props

Theoretically, an array of properties used to create the new id. However, as MongoId instances have no properties, this is not used.

Rückgabewerte

A new id with the value "000000000000000000000000".

MongoId::isValid
MongoId::__toString
MongoId


Returns a hexidecimal representation of this id

MongoId::__set_state
MongoCode
MongoId
PHP Manual

MongoId::__toString

(PECL mongo >= 0.8.0)

MongoId::__toString — Returns a hexidecimal representation of this id

This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. Alternatives to this method include:

  • MongoDB\BSON\ObjectID::__toString()

Beschreibung

public string MongoId::__toString ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

This id.

Beispiele

Beispiel #1 MongoId::__toString() example

<?php

$m = new MongoClient();
$collection = $m->selectDB("foo")->selectCollection("bar");

$collection->insert(array( "x" => "y" ));
$collection->insert(array( "x" => "y" ));

$cursor = $collection->find();
$r1 = $cursor->next();
$r2 = $cursor->next();

echo $r1["_id"] . "\n";
echo $r2["_id"] . "\n";

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

49a7011a05c677b9a916612a
49a702d5450046d3d515d10d
MongoId::__set_state
MongoCode
MongoId


The MongoCode class

(PECL mongo >=0.8.3)

Warnung

This extension that defines this class is deprecated. Instead, the MongoDB extension should be used. Alternatives to this class include:

  • MongoDB\BSON\JavaScript

Einführung

Represents JavaScript code for the database.

MongoCode objects are composed of two parts: a string of code and an optional scope. The string of code must be valid JavaScript. The scope is a associative array of variable name/value pairs.

Klassenbeschreibung

MongoCode {
/* Methoden */
public __construct ( string $code [, array $scope = array() ] )
public string __toString ( void )
}

Inhaltsverzeichnis

  • MongoCode::__construct — Creates a new code object
  • MongoCode::__toString — Returns this code as a string
MongoId::__toString
MongoCode::__construct
Types


Creates a new code object

MongoCode
MongoCode::__toString
MongoCode
PHP Manual

MongoCode::__construct

(PECL mongo >= 0.8.3)

MongoCode::__construct — Creates a new code object

This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. Alternatives to this method include:

  • MongoDB\BSON\JavaScript::__construct()

Beschreibung

public MongoCode::__construct ( string $code [, array $scope = array() ] )

Parameter-Liste

code

A string of code.

scope

The scope to use for the code.

Rückgabewerte

Returns a new code object.

Beispiele

Beispiel #1 MongoCode::__construct() example

<?php

$code = new MongoCode('function() { '.
    'for(i=0;i<10;i++) {'.
        'db.foo.update({z : i}, {z : x});'.
    '}'.
    'return x-1;'.
 '}', array("x" => 4));
var_dump($code);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(MongoCode)#1 (2) {
  ["scope"]=>
  array(1) {
    ["x"]=>
    int(4)
  }
  ["code"]=>
  string(80) "function() { for(i=0;i<10;i++) { db.foo.update({z : i}, {z : x}); } return x-1; }"
}

Beispiel #2 Using MongoCode with $where

This example queries a collection for elements where the 'x' fields is less than $y. Notice that PHP objects can be passed into the JavaScript scope and that the JavaScript function returns a boolean.

<?php

$cursor = $collection->find(array('$where' => new MongoCode('function() { return this.x < y; }', array('y'=>$y))));

?>
MongoCode
MongoCode::__toString
MongoCode


Returns this code as a string

MongoCode::__construct
MongoDate
MongoCode
PHP Manual

MongoCode::__toString

(PECL mongo >= 0.8.3)

MongoCode::__toString — Returns this code as a string

This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. There is no equivalent for this method in the new extension.

Beschreibung

public string MongoCode::__toString ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

This code, the scope is not returned.

Beispiele

Beispiel #1 MongoCode::__toString() example

<?php

$code = new MongoCode('return x;', array("x"=>"hi"));
echo "$code\n";

$code = new MongoCode('function() { for(i=0;i<10;i++) { db.foo.update({x:i}, {x:i+1}); } }');
echo "$code\n";

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

return x;
function() { for(i=0;i<10;i++) { db.foo.update({x:i}, {x:i+1}); } }
MongoCode::__construct
MongoDate
MongoCode


The MongoDate class

(PECL mongo >=0.8.1)

Warnung

This extension that defines this class is deprecated. Instead, the MongoDB extension should be used. Alternatives to this class include:

  • MongoDB\BSON\UTCDateTime

Einführung

Represent date objects for the database. This class should be used to save dates to the database and to query for dates. For example:

Beispiel #1 Storing dates with MongoDate

<?php

// save a date to the database
$collection->save(array("ts" => new MongoDate()));

$start = new MongoDate(strtotime("2010-01-15 00:00:00"));
$end = new MongoDate(strtotime("2010-01-30 00:00:00"));

// find dates between 1/15/2010 and 1/30/2010
$collection->find(array("ts" => array('$gt' => $start, '$lte' => $end)));

?>

MongoDB stores dates as milliseconds past the epoch. This means that dates do not contain timezone information. Timezones must be stored in a separate field if needed. Second, this means that any precision beyond milliseconds will be lost when the document is sent to/from the database.

Klassenbeschreibung

MongoDate {
/* Fields */
public int $sec ;
public int $usec ;
/* Methoden */
public __construct ([ int $sec = time() [, int $usec = 0 ]] )
public DateTime toDateTime ( void )
public string __toString ( void )
}

Inhaltsverzeichnis

  • MongoDate::__construct — Creates a new date.
  • MongoDate::toDateTime — Returns a DateTime object representing this date
  • MongoDate::__toString — Returns a string representation of this date
MongoCode::__toString
MongoDate::__construct
Types


Creates a new date.

MongoDate
MongoDate::toDateTime
MongoDate
PHP Manual

MongoDate::__construct

(PECL mongo >= 0.8.1)

MongoDate::__construct — Creates a new date.

This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. Alternatives to this method include:

  • MongoDB\BSON\UTCDateTime::__construct()

Beschreibung

public MongoDate::__construct ([ int $sec = time() [, int $usec = 0 ]] )

Creates a new date. If no parameters are given, the current time is used.

Parameter-Liste

sec

Number of seconds since the epoch (i.e. 1 Jan 1970 00:00:00.000 UTC).

usec

Microseconds. Please be aware though that MongoDB's resolution is milliseconds and not microseconds, which means this value will be truncated to millisecond resolution.

Rückgabewerte

Returns this new date.

Beispiele

Beispiel #1 MongoDate::__construct() example

This example demonstrates creating a new date with the current time and a new date with a given time.

<?php

$d = new MongoDate();
echo "$d\n";
$d = new MongoDate(1234567890);
echo "$d\n";
$d = new MongoDate(strtotime("2009-05-01 00:00:01"));
echo "$d\n";

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

0.23660600 1235685067
0.00000000 1234567890
0.00000000 1241150401

Siehe auch

  • MongoDate::__toString() - Returns a string representation of this date

MongoDate
MongoDate::toDateTime
MongoDate


Returns a DateTime object representing this date

MongoDate::__construct
MongoDate::__toString
MongoDate
PHP Manual

MongoDate::toDateTime

(PECL mongo >= 1.6.0; PHP > 5.3.4)

MongoDate::toDateTime — Returns a DateTime object representing this date

This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. Alternatives to this method include:

  • MongoDB\BSON\UTCDateTime::toDateTime()

Beschreibung

public DateTime MongoDate::toDateTime ( void )

Returns a DateTime object representation of this date.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

This date as a DateTime object.

Beispiele

Beispiel #1 MongoDate::toDateTime() example

This example demonstrates creating a DateTime object from a MongoDate object.

<?php
$d = new MongoDate(strtotime("2014-11-18 11:01:25"));
var_dump( $d->toDateTime() );
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

class DateTime#2 (3) {
  public $date =>
  string(26) "2014-11-18 11:01:25.000000"
  public $timezone_type =>
  int(1)
  public $timezone =>
  string(6) "+00:00"
}
MongoDate::__construct
MongoDate::__toString
MongoDate


Returns a string representation of this date

MongoDate::toDateTime
MongoRegex
MongoDate
PHP Manual

MongoDate::__toString

(PECL mongo >= 0.8.1)

MongoDate::__toString — Returns a string representation of this date

This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. Alternatives to this method include:

  • MongoDB\BSON\UTCDateTime::__toString()

Beschreibung

public string MongoDate::__toString ( void )

Returns a string representation of this date, similar to the representation returned by microtime().

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

This date.

MongoDate::toDateTime
MongoRegex
MongoDate


The MongoRegex class

(PECL mongo >=0.8.1)

Warnung

This extension that defines this class is deprecated. Instead, the MongoDB extension should be used. Alternatives to this class include:

  • MongoDB\BSON\Regex

Einführung

This class can be used to create regular expressions. Typically, these expressions will be used to query the database and find matching strings. More unusually, they can be saved to the database and retrieved.

Regular expressions consist of four parts. First a / as starting delimiter, then the pattern, another / and finally a string containing flags.

Beispiel #1 Regular expression pattern

/pattern/flags

MongoDB recognizes six regular expression flags:

  • i: Case insensitive

  • m: Multiline

  • x: Can contain comments

  • l: locale

  • s: dotall, "." matches everything, including newlines

  • u: match unicode

Klassenbeschreibung

MongoRegex {
/* Fields */
public string $regex ;
public string $flags ;
/* Methoden */
public __construct ( string $regex )
public string __toString ( void )
}

Inhaltsverzeichnis

  • MongoRegex::__construct — Creates a new regular expression
  • MongoRegex::__toString — A string representation of this regular expression
MongoDate::__toString
MongoRegex::__construct
Types


Creates a new regular expression

MongoRegex
MongoRegex::__toString
MongoRegex
PHP Manual

MongoRegex::__construct

(PECL mongo >= 0.8.1)

MongoRegex::__construct — Creates a new regular expression

This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. Alternatives to this method include:

  • MongoDB\BSON\Regex::__construct()

Beschreibung

public MongoRegex::__construct ( string $regex )

Creates a new regular expression.

Parameter-Liste

regex

Regular expression string of the form /expr/flags.

Rückgabewerte

Returns a new regular expression.

Beispiele

Beispiel #1 MongoRegex::__construct() example

This example uses a regular expression to query for all documents with a username field starting (^) with an l and a vowel ([aeiouy]), case-insensitive (/i).

<?php
$luke_search = new MongoRegex("/^l[aeiouy]/i");
$cursor = $collection->find(array("username" => $luke_search));
?>

Siehe auch

  • MongoRegex::__toString() - A string representation of this regular expression

MongoRegex
MongoRegex::__toString
MongoRegex


A string representation of this regular expression

MongoRegex::__construct
MongoBinData
MongoRegex
PHP Manual

MongoRegex::__toString

(PECL mongo >= 0.8.1)

MongoRegex::__toString — A string representation of this regular expression

This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. Alternatives to this method include:

  • MongoDB\BSON\Regex::__toString()

Beschreibung

public string MongoRegex::__toString ( void )

Returns a string representation of this regular expression.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

This regular expression in the form "/expr/flags".

Beispiele

Beispiel #1 MongoRegex::__toString() example

<?php

$r = new MongoRegex( "/[a-fA-F0-9]{16}/g" );
echo $r->regex . "\n";
echo $r->flags . "\n";
echo "$r\n";

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

[a-fA-F0-9]{16}
g
/[a-fA-F0-9]{16}/g

MongoRegex::__construct
MongoBinData
MongoRegex


The MongoBinData class

(PECL mongo >= 0.8.1)

Warnung

This extension that defines this class is deprecated. Instead, the MongoDB extension should be used. Alternatives to this class include:

  • MongoDB\BSON\Binary

Einführung

An object that can be used to store or retrieve binary data from the database.

The maximum size of a single object that can be inserted into the database is 16MB. For data that is larger than this (movies, music, Henry Kissinger's autobiography), use MongoGridFS. For data that is smaller than 16MB, you may find it easier to embed it within the document using MongoBinData.

For example, to embed an image in a document, one could write:

<?php

$profile = array(
    "username" => "foobity",
    "pic" => new MongoBinData(file_get_contents("gravatar.jpg"), MongoBinData::GENERIC),
);

$users->save($profile);

?>

This class contains a type field, which currently gives no additional functionality in the PHP driver or the database. There are seven predefined types, which are defined as class constants below. For backwards compatibility, the PHP driver uses MongoBinData::BYTE_ARRAY as the default; however, this may change to MongoBinData::GENERIC in the future. Users are encouraged to specify a type in MongoBinData::__construct().

Klassenbeschreibung

MongoBinData {
/* Konstanten */
const int GENERIC = 0 ;
const int FUNC = 1 ;
const int BYTE_ARRAY = 2 ;
const int UUID = 3 ;
const int UUID_RFC4122 = 4 ;
const int MD5 = 5 ;
const int CUSTOM = 128 ;
/* Fields */
public string $bin ;
public int $type = 2 ;
/* Methoden */
public __construct ( string $data [, int $type = 0 ] )
public string __toString ( void )
}

Vordefinierte Konstanten

Binary Data Types

MongoBinData::GENERIC
0x00
Generic binary data.
MongoBinData::FUNC
0x01
Function.
MongoBinData::BYTE_ARRAY
0x02
Generic binary data (deprecated in favor of MongoBinData::GENERIC).
MongoBinData::UUID
0x03
Universally unique identifier (deprecated in favor of MongoBinData::UUID_RFC4122).
MongoBinData::UUID_RFC4122
0x04
Universally unique identifier (according to » RFC 4122).
MongoBinData::MD5
0x05
MD5.
MongoBinData::CUSTOM
0x80
User-defined type.

Changelog

Version | Beschreibung
1.5.0 | Added MongoBinData::GENERIC and MongoBinData::UUID_RFC4122 constants.

Inhaltsverzeichnis

  • MongoBinData::__construct — Creates a new binary data object.
  • MongoBinData::__toString — The string representation of this binary data object.
MongoRegex::__toString
MongoBinData::__construct
Types


Creates a new binary data object.

MongoBinData
MongoBinData::__toString
MongoBinData
PHP Manual

MongoBinData::__construct

(PECL mongo >= 0.8.1)

MongoBinData::__construct — Creates a new binary data object.

This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. Alternatives to this method include:

  • MongoDB\BSON\Binary::__construct()

Beschreibung

public MongoBinData::__construct ( string $data [, int $type = 0 ] )

Creates a new binary data object.

There are seven types of binary data currently recognized by the BSON spec, which are defined as class constants. For backwards compatibility, the PHP driver uses MongoBinData::BYTE_ARRAY as the default; however, this may change to MongoBinData::GENERIC in the future. Users are encouraged to specify a type instead of relying on the default.

Parameter-Liste

data

Binary data.

type

Data type.

Rückgabewerte

Returns a new binary data object.

Changelog

Version | Beschreibung
1.5.0 | The default changed from 2 (MongoBinData::BYTE_ARRAY) to 0 (MongoBinData::GENERIC).
1.2.11 | Emits E_DEPRECATED when the second argument is not used. The default value for type may change in the near future.

MongoBinData
MongoBinData::__toString
MongoBinData


The string representation of this binary data object.

MongoBinData::__construct
MongoInt32
MongoBinData
PHP Manual

MongoBinData::__toString

(PECL mongo >= 0.8.1)

MongoBinData::__toString — The string representation of this binary data object.

This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. Alternatives to this method include:

  • MongoDB\BSON\Binary::getData()

Beschreibung

public string MongoBinData::__toString ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the string "<Mongo Binary Data>". To access the contents of a MongoBinData, use the bin field.

MongoBinData::__construct
MongoInt32
MongoBinData


The MongoInt32 class

(PECL mongo >=1.0.9)

Warnung

This extension that defines this class is deprecated. Instead, the MongoDB extension should be used. There is no equivalent for this class in the new extension.

Instead, the new extension chooses the appropriate database type depending on the integer's value.

Einführung

The class can be used to save 32-bit integers to the database on a 64-bit system.

Klassenbeschreibung

MongoInt32 {
/* Fields */
public string $value ;
/* Methoden */
public __construct ( string $value )
public string __toString ( void )
}

Fields

value
This is the string value of the 32-bit number. For instance, 123's value would be "123".

Inhaltsverzeichnis

  • MongoInt32::__construct — Creates a new 32-bit integer.
  • MongoInt32::__toString — Returns the string representation of this 32-bit integer.
MongoBinData::__toString
MongoInt32::__construct
Types


Creates a new 32-bit integer.

MongoInt32
MongoInt32::__toString
MongoInt32
PHP Manual

MongoInt32::__construct

(PECL mongo >= 1.0.9)

MongoInt32::__construct — Creates a new 32-bit integer.

This extension that defines this class is deprecated. Instead, the MongoDB extension should be used. There is no equivalent for this class in the new extension.

Instead, the new extension chooses the appropriate database type depending on the integer's value.

Beschreibung

public MongoInt32::__construct ( string $value )

Creates a new 32-bit number with the given value.

Parameter-Liste

value

A number.

Rückgabewerte

Returns a new integer.

MongoInt32
MongoInt32::__toString
MongoInt32


Returns the string representation of this 32-bit integer.

MongoInt32::__construct
MongoInt64
MongoInt32
PHP Manual

MongoInt32::__toString

(PECL mongo >= 1.0.9)

MongoInt32::__toString — Returns the string representation of this 32-bit integer.

This extension that defines this class is deprecated. Instead, the MongoDB extension should be used. There is no equivalent for this class in the new extension.

Instead, the new extension chooses the appropriate database type depending on the integer's value.

Beschreibung

public string MongoInt32::__toString ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the string representation of this integer.

MongoInt32::__construct
MongoInt64
MongoInt32


The MongoInt64 class

(PECL mongo >=1.0.9)

Warnung

This extension that defines this class is deprecated. Instead, the MongoDB extension should be used. There is no equivalent for this class in the new extension.

Instead, the new extension chooses the appropriate database type depending on the integer's value.

Einführung

The class can be used to save 64-bit integers to the database on a 32-bit system.

Klassenbeschreibung

MongoInt64 {
/* Fields */
public string $value ;
/* Methoden */
public __construct ( string $value )
public string __toString ( void )
}

Fields

value
This is the string value of the 64-bit number. For instance, 123's value would be "123".

Inhaltsverzeichnis

  • MongoInt64::__construct — Creates a new 64-bit integer.
  • MongoInt64::__toString — Returns the string representation of this 64-bit integer.
MongoInt32::__toString
MongoInt64::__construct
Types


Creates a new 64-bit integer.

MongoInt64
MongoInt64::__toString
MongoInt64
PHP Manual

MongoInt64::__construct

(PECL mongo >= 1.0.9)

MongoInt64::__construct — Creates a new 64-bit integer.

This extension that defines this class is deprecated. Instead, the MongoDB extension should be used. There is no equivalent for this class in the new extension.

Instead, the new extension chooses the appropriate database type depending on the integer's value.

Beschreibung

public MongoInt64::__construct ( string $value )

Creates a new 64-bit number with the given value.

Parameter-Liste

value

A number.

Rückgabewerte

Returns a new integer.

MongoInt64
MongoInt64::__toString
MongoInt64


Returns the string representation of this 64-bit integer.

MongoInt64::__construct
MongoDBRef
MongoInt64
PHP Manual

MongoInt64::__toString

(PECL mongo >= 1.0.9)

MongoInt64::__toString — Returns the string representation of this 64-bit integer.

This extension that defines this class is deprecated. Instead, the MongoDB extension should be used. There is no equivalent for this class in the new extension.

Instead, the new extension chooses the appropriate database type depending on the integer's value.

Beschreibung

public string MongoInt64::__toString ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the string representation of this integer.

MongoInt64::__construct
MongoDBRef
MongoInt64


The MongoDBRef class

(PECL mongo >=0.9.0)

Warnung

This extension that defines this class is deprecated. Instead, the MongoDB extension should be used. There is no equivalent for this class in the new extension.

The concept of database references, and hence this class, has been deprecated in the database.

Einführung

This class can be used to create lightweight links between objects in different collections.

Motivation: Suppose we need to refer to a document in another collection. The easiest way is to create a field in the current document. For example, if we had a "people" collection and an "addresses" collection, we might want to create a link between each person document and an address document:

Beispiel #1 Linking documents

<?php

$people = $db->people;
$addresses = $db->addresses;

$myAddress = array("line 1" => "123 Main Street",
    "line 2" => null,
    "city" => "Springfield",
    "state" => "Vermont",
    "country" => "USA");

// save the address
$addresses->insert($myAddress);

// save a person with a reference to the address
$me = array("name" => "Fred", "address" => $myAddress['_id']);
$people->insert($me);

?>

Then, later on, we can find the person's address by querying the "addresses" collection with the MongoId we saved in the "people" collection.

Suppose now that we have a more general case, where we don't know which collection (or even which database) contains the referenced document. MongoDBRef is a good choice for this case, as it is a common format that all of the drivers and the database understand.

If each person had a list of things they liked which could come from multiple collections, such as "hobbies", "sports", "books", etc., we could use MongoDBRefs to keep track of what "like" went with what collection:

Beispiel #2 Creating MongoDBRef links

<?php

$people = $db->selectCollection("people");

// model trains are in the "hobbies" collection
$trainRef = MongoDBRef::create("hobbies", $modelTrains['_id']);
// soccer is in the "sports" collection
$soccerRef = MongoDBRef::create("sports", $soccer['_id']);

// now we'll know what collections the items in the "likes" array came from when
// we retrieve this document
$people->insert(array("name" => "Fred", "likes" => array($trainRef, $soccerRef)));

?>

Database references can be thought of as hyperlinks: they give the unique address of another document, but they do not load it or automatically follow the link/reference.

A database reference is just a normal associative array, not an instance of MongoDBRef, so this class is a little different than the other data type classes. This class contains exclusively static methods for manipulating database references.

Klassenbeschreibung

MongoDBRef {
/* Methoden */
public static array create ( string $collection , mixed $id [, string $database ] )
public static array get ( MongoDB $db , array $ref )
public static bool isRef ( mixed $ref )
}

Siehe auch

MongoDB core docs on » databases references.

Inhaltsverzeichnis

  • MongoDBRef::create — Creates a new database reference
  • MongoDBRef::get — Fetches the object pointed to by a reference
  • MongoDBRef::isRef — Checks if an array is a database reference
MongoInt64::__toString
MongoDBRef::create
Types


Creates a new database reference

MongoDBRef
MongoDBRef::get
MongoDBRef
PHP Manual

MongoDBRef::create

(PECL mongo >= 0.9.0)

MongoDBRef::create — Creates a new database reference

This extension that defines this class is deprecated. Instead, the MongoDB extension should be used. There is no equivalent for this class in the new extension.

The concept of database references, and hence this class, has been deprecated.

Beschreibung

public static array MongoDBRef::create ( string $collection , mixed $id [, string $database ] )

If no database is given, the current database is used.

Parameter-Liste

collection

Collection name (without the database name).

id

The _id field of the object to which to link.

database

Database name.

Rückgabewerte

Returns the reference.

Beispiele

Beispiel #1 MongoDBRef::create() example

This creates a database reference to a document in the addresses collection. The MongoCollection::getName() function returns the name of the collection (not including the database name).

<?php
$addresses = $db->addresses;
$people = $db->people;

// save $address so it has an _id
$addresses->insert($address);

// create a reference
$ref = MongoDBRef::create($addresses->getName(), $address['_id']);

// set the field in $person
$person['address'] = $ref;
$people->save($person);
?>

Siehe auch

  • MongoDB::createDBRef() - Creates a database reference
  • MongoCollection::createDBRef() - Creates a database reference

MongoDBRef
MongoDBRef::get
MongoDBRef


Fetches the object pointed to by a reference

MongoDBRef::create
MongoDBRef::isRef
MongoDBRef
PHP Manual

MongoDBRef::get

(PECL mongo >= 0.9.0)

MongoDBRef::get — Fetches the object pointed to by a reference

This extension that defines this class is deprecated. Instead, the MongoDB extension should be used. There is no equivalent for this class in the new extension.

The concept of database references, and hence this class, has been deprecated.

Beschreibung

public static array MongoDBRef::get ( MongoDB $db , array $ref )

Parameter-Liste

db

Database to use.

ref

Reference to fetch.

Rückgabewerte

Returns the document to which the reference refers or NULL if the document does not exist (the reference is broken).

Beispiele

Beispiel #1 MongoCollection::createDBRef() example

<?php

// get $person out of the db
$person = $people->findOne();

// dereference the address
$address = MongoDBRef::get($people->db, $person['address']);

?>

Siehe auch

  • MongoDB::getDBRef() - Fetches the document pointed to by a database reference
  • MongoCollection::getDBRef() - Fetches the document pointed to by a database reference

MongoDBRef::create
MongoDBRef::isRef
MongoDBRef


Checks if an array is a database reference

MongoDBRef::get
MongoMinKey
MongoDBRef
PHP Manual

MongoDBRef::isRef

(PECL mongo >= 0.9.0)

MongoDBRef::isRef — Checks if an array is a database reference

This extension that defines this class is deprecated. Instead, the MongoDB extension should be used. There is no equivalent for this class in the new extension.

The concept of database references, and hence this class, has been deprecated.

Beschreibung

public static bool MongoDBRef::isRef ( mixed $ref )

This method does not actually follow the reference, so it does not determine if it is broken or not. It merely checks that ref is in valid database reference format (in that it is an object or array with $ref and $id fields).

Parameter-Liste

ref

Array or object to check.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

MongoDBRef::get
MongoMinKey
MongoDBRef


The MongoMinKey class

(PECL mongo >= 1.0.2)

Warnung

This extension that defines this class is deprecated. Instead, the MongoDB extension should be used. Alternatives to this class include:

  • MongoDB\BSON\MinKey

Einführung

MongoMinKey is an special type used by the database that compares less than all other possible BSON values. Thus, if a query is sorted by a given field in ascending order, any document with a MongoMinKey as its value will be returned first.

MongoMinKey has no associated fields, methods, or constants. It is merely the "smallest" value that can be represented in the database.

Hinweis: MongoMinKey is used internally by MongoDB for indexing and sharding. There is generally no reason to use this class in an application.

Klassenbeschreibung

MongoMinKey {
}

Using MongoMinKey as a value

<?php

$collection->insert(array("task" => "lunch", "doBy" => new MongoMinKey));
$collection->insert(array("task" => "staff meeting", "doBy" => new MongoDate(strtotime("+4 days"))));

$cursor = $collection->find()->sort(array("doBy" => 1));

?>

The cursor will return the lunch document followed by the staff meeting document. The lunch document will always be returned first, regardless of what else is added to the collection (unless other documents are added with MongoMinKey in their "doBy" field).

Siehe auch

  • MongoMaxKey
MongoDBRef::isRef
MongoMaxKey
Types


The MongoMaxKey class

(PECL mongo >= 1.0.2)

Warnung

This extension that defines this class is deprecated. Instead, the MongoDB extension should be used. Alternatives to this class include:

  • MongoDB\BSON\MaxKey

Einführung

MongoMaxKey is an special type used by the database that compares greater than all other possible BSON values. Thus, if a query is sorted by a given field in ascending order, any document with a MongoMaxKey as its value will be returned last.

MongoMaxKey has no associated fields, methods, or constants. It is merely the "greatest" value that can be represented in the database.

Hinweis: MongoMaxKey is used internally by MongoDB for indexing and sharding. There is generally no reason to use this class in an application.

Klassenbeschreibung

MongoMaxKey {
}

Using MongoMaxKey as a value

<?php

$collection->insert(array("task" => "dishes", "doBy" => new MongoMaxKey));
$collection->insert(array("task" => "staff meeting", "doBy" => new MongoDate(strtotime("+4 days"))));

$cursor = $collection->find()->sort(array("doBy" => 1));

?>

The cursor will return the staff meeting document followed by the dishes document. The dishes document will always be returned last, regardless of what else is added to the collection (unless other documents are added with MongoMaxKey in their "doBy" field).

Siehe auch

  • MongoMinKey
MongoMinKey
MongoTimestamp
Types


The MongoTimestamp class

(PECL mongo >=1.0.1)

Warnung

This extension that defines this class is deprecated. Instead, the MongoDB extension should be used. Alternatives to this class include:

  • MongoDB\BSON\Timestamp

Einführung

MongoTimestamp is an internal type used by MongoDB for replication and sharding. It consists of a 4-byte timestamp (i.e. seconds since the epoch) and a 4-byte increment. This type is not intended for storing time or date values (e.g. a "createdAt" field on a document).

Hinweis: Unless you are writing an application that interacts with MongoDB's replication oplog or sharding internals: stop, go directly to MongoDate, do not pass go, and do not collect 200 dollars. This is not the class you are looking for.

Klassenbeschreibung

MongoTimestamp {
/* Fields */
public int $sec = 0 ;
public int $inc = 0 ;
/* Methoden */
public __construct ([ int $sec = time() [, int $inc ]] )
public string __toString ( void )
}

Inhaltsverzeichnis

  • MongoTimestamp::__construct — Creates a new timestamp.
  • MongoTimestamp::__toString — Returns a string representation of this timestamp
MongoMaxKey
MongoTimestamp::__construct
Types


Creates a new timestamp.

MongoTimestamp
MongoTimestamp::__toString
MongoTimestamp
PHP Manual

MongoTimestamp::__construct

(PECL mongo >= 1.0.1)

MongoTimestamp::__construct — Creates a new timestamp.

This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. Alternatives to this method include:

  • MongoDB\BSON\Timestamp::__construct()

Beschreibung

public MongoTimestamp::__construct ([ int $sec = time() [, int $inc ]] )

Creates a new timestamp. If no parameters are given, the current time is used and the increment is automatically provided. The increment is set to 0 when the module is loaded and is incremented every time this constructor is called (without the $inc parameter passed in).

Parameter-Liste

sec

Number of seconds since the epoch (i.e. 1 Jan 1970 00:00:00.000 UTC).

inc

Increment.

Rückgabewerte

Returns this new timestamp.

Siehe auch

  • MongoTimestamp::__toString() - Returns a string representation of this timestamp

MongoTimestamp
MongoTimestamp::__toString
MongoTimestamp


Returns a string representation of this timestamp

MongoTimestamp::__construct
GridFS Classes
MongoTimestamp
PHP Manual

MongoTimestamp::__toString

(PECL mongo >= 1.0.1)

MongoTimestamp::__toString — Returns a string representation of this timestamp

This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. Alternatives to this method include:

  • MongoDB\BSON\Timestamp::__toString()

Beschreibung

public string MongoTimestamp::__toString ( void )

Returns the "sec" field of this timestamp.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The seconds since epoch represented by this timestamp.

MongoTimestamp::__construct
GridFS Classes
MongoTimestamp


GridFS Classes

Inhaltsverzeichnis

  • MongoGridFS
  • MongoGridFSFile
  • MongoGridFSCursor
MongoTimestamp::__toString
MongoGridFS
Mongo


The MongoGridFS class

(PECL mongo >=0.9.0)

Einführung

Utilities for storing and retrieving files from the database.

GridFS is a storage specification all supported drivers implement. Basically, it defines two collections: files, for file metadata, and chunks, for file content. If the file is large, it will automatically be split into smaller chunks and each chunk will be saved as a document in the chunks collection.

Each document in the files collection contains the filename, upload date, and md5 hash. It also contains a unique _id field, which can be used to query the chunks collection for the file's content. Each document in the chunks collection contains a chunk of binary data, a files_id field that matches its file's _id, and the position of this chunk in the overall file.

For example, the files document is something like:

<?php
array("_id" => 123456789, "filename" => "foo.txt", "chunkSize" => 3, "length" => 12);
?>
and the chunks documents look like:
<?php
array("files_id" => 123456789, "n" => 0, "data" => new MongoBinData("abc"));
array("files_id" => 123456789, "n" => 1, "data" => new MongoBinData("def"));
array("files_id" => 123456789, "n" => 2, "data" => new MongoBinData("ghi"));
array("files_id" => 123456789, "n" => 3, "data" => new MongoBinData("jkl"));
?>
Of course, the default chunk size is thousands of bytes, but that makes an unwieldy example.

Inter-Language Compatibility

You should be able to use any files created by MongoGridFS with any other drivers, and vice versa. However, some drivers expect that all metadata associated with a file be in a "metadata" field. If you're going to be using other languages, it's a good idea to wrap info you might want them to see in a "metadata" field. For example, instead of:

<?php

$grid->storeFile("somefile.txt", array("date" => new MongoDate()));

?>

use something like:

<?php

$grid->storeFile("somefile.txt", array("metadata" => array("date" => new MongoDate())));

?>

The MongoGridFS Family

MongoGridFS represents the files and chunks collections. MongoGridFS extends MongoCollection, and an instance of MongoGridFS has access to all of MongoCollection methods, which act on the files collection:

<?php

$grid = $db->getGridFS();
$grid->update(array("filename" => "foo"), $newObj); // update on the files collection

?>

Another example of manipulating metadata:

<?php

// save a file
$id = $grid->storeFile("game.tgz");
$game = $grid->findOne();

// add a downloads counter
$game->file['downloads'] = 0;
$grid->save($game->file);

// increment the counter
$grid->update(array("_id" => $id), array('$inc' => array("downloads" => 1)));

?>

You can also access the chunks collection from an instance of MongoGridFS:

<?php

  $chunks = $grid->chunks; // $chunks is a normal MongoCollection
$chunks->insert(array("x" => 4));

?>

There are some methods for MongoGridFS with the same name as MongoCollection methods, that behave slightly differently. For example, MongoGridFS::remove() will remove any objects that match the criteria from the files collection and their content from the chunks collection.

To store something new in GridFS, there are a couple options. If you have a filename, you can say:

<?php

$grid->storeFile($filename, array("whatever" => "metadata", "you" => "want"));

?>

If you have a string of bytes that isn't a file, you can also store that using MongoGridFS::storeBytes():

<?php

$grid->storeBytes($bytes, array("whatever" => "metadata", "you" => "want"));

?>

Querying a MongoGridFS collection returns a MongoGridFSCursor, which behaves like a normal MongoCursor except that it returns MongoGridFSFiles instead of associative arrays.

MongoGridFSFiles can be written back to disc using MongoGridFSFile::write() or retrieved in memory using MongoGridFSFile::getBytes(). There is currently no method that automatically streams chunks, but it would be fairly easy to write by querying the $grid->chunks collection.

MongoGridFSFile objects contain a field file which contains any file metadata.

Klassenbeschreibung

extends MongoCollection {
/* Fields */
public MongoCollection $chunks = NULL ;
protected string $filesName = NULL ;
protected string $chunksName = NULL ;
/* Methoden */
public __construct ( MongoDB $db [, string $prefix = "fs" [, mixed $chunks = "fs" ]] )
public bool|array delete ( mixed $id )
public array drop ( void )
public MongoGridFSCursor find ([ array $query = array() [, array $fields = array() ]] )
public MongoGridFSFile findOne ([ mixed $query = array() [, mixed $fields = array() ]] )
public MongoGridFSFile get ( mixed $id )
public mixed put ( string $filename [, array $metadata = array() ] )
public bool|array remove ([ array $criteria = array() [, array $options = array() ]] )
public mixed storeBytes ( string $bytes [, array $metadata = array() [, array $options = array() ]] )
public mixed storeFile ( string|resource $filename [, array $metadata = array() [, array $options = array() ]] )
public mixed storeUpload ( string $name [, array $metadata ] )
}

Siehe auch

  • MongoDB core docs on » GridFS
  • LightCube Solutions blog post on » saving user uploads
  • LightCube Solutions blog post on » adding metadata to files

Inhaltsverzeichnis

  • MongoGridFS::__construct — Creates new file collections
  • MongoGridFS::delete — Remove a file and its chunks from the database
  • MongoGridFS::drop — Drops the files and chunks collections
  • MongoGridFS::find — Queries for files
  • MongoGridFS::findOne — Returns a single file matching the criteria
  • MongoGridFS::get — Ruft eine Datei von der Datenbank ab.
  • MongoGridFS::put — Speichert eine Datei in der Datenbank
  • MongoGridFS::remove — Remove files and their chunks from the database
  • MongoGridFS::storeBytes — Stores a string of bytes in the database
  • MongoGridFS::storeFile — Stores a file in the database
  • MongoGridFS::storeUpload — Stores an uploaded file in the database
GridFS Classes
MongoGridFS::__construct
GridFS Classes


Creates new file collections

MongoGridFS
MongoGridFS::delete
MongoGridFS
PHP Manual

MongoGridFS::__construct

(PECL mongo >=0.9.0)

MongoGridFS::__construct — Creates new file collections

Beschreibung

public MongoGridFS::__construct ( MongoDB $db [, string $prefix = "fs" [, mixed $chunks = "fs" ]] )

Files as stored across two collections, the first containing file meta information, the second containing chunks of the actual file. By default, fs.files and fs.chunks are the collection names used.

Use one argument to specify a prefix other than "fs":

$fs = new MongoGridFS($db, "myfiles");
uses myfiles.files and myfiles.chunks collections.

Parameter-Liste

db

Database.

files

Optional collection name prefix.

MongoGridFS
MongoGridFS::delete
MongoGridFS


Remove a file and its chunks from the database

MongoGridFS::__construct
MongoGridFS::drop
MongoGridFS
PHP Manual

MongoGridFS::delete

(PECL mongo >=1.0.8)

MongoGridFS::delete — Remove a file and its chunks from the database

Beschreibung

public bool|array MongoGridFS::delete ( mixed $id )

Hinweis:

MongoGridFS::delete() is a convenience method for calling MongoGridFS::remove() with specific criteria and default options parameters.

Parameter-Liste

id

_id of the file to remove.

Rückgabewerte

Returns an array containing the status of the removal (with respect to the files collection) if a write concern is applied. Otherwise, returns TRUE.

Fields in the status array are described in the documentation for MongoCollection::insert().

Fehler/Exceptions

Throws MongoCursorException if the "w" option is set and the write fails.

Throws MongoCursorTimeoutException if the "w" option is set to a value greater than one and the operation takes longer than MongoCursor::$timeout milliseconds to complete. This does not kill the operation on the server, it is a client-side timeout. The operation in MongoCollection::$wtimeout is milliseconds.

MongoGridFS::__construct
MongoGridFS::drop
MongoGridFS


Drops the files and chunks collections

MongoGridFS::delete
MongoGridFS::find
MongoGridFS
PHP Manual

MongoGridFS::drop

(PECL mongo >=0.9.0)

MongoGridFS::drop — Drops the files and chunks collections

Beschreibung

public array MongoGridFS::drop ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The database response.

MongoGridFS::delete
MongoGridFS::find
MongoGridFS


Queries for files

MongoGridFS::drop
MongoGridFS::findOne
MongoGridFS
PHP Manual

MongoGridFS::find

(PECL mongo >=0.9.0)

MongoGridFS::find — Queries for files

Beschreibung

 public MongoGridFSCursor MongoGridFS::find
  ([ array $query = array()
 [, array $fields = array()
]] )

Parameter-Liste

query

The query.

fields

Fields to return.

Rückgabewerte

A MongoGridFSCursor.

MongoGridFS::drop
MongoGridFS::findOne
MongoGridFS


Returns a single file matching the criteria

MongoGridFS::find
MongoGridFS::get
MongoGridFS
PHP Manual

MongoGridFS::findOne

(PECL mongo >=0.9.0)

MongoGridFS::findOne — Returns a single file matching the criteria

Beschreibung

 public MongoGridFSFile MongoGridFS::findOne
  ([ mixed $query = array()
 [, mixed $fields = array()
]] )

Parameter-Liste

query

The filename or criteria for which to search.

Rückgabewerte

Returns a MongoGridFSFile or NULL.

Beispiele

Beispiel #1 MongoGridFS::findOne() example

Example demonstrating how to find a single file from the MongoGridFS.

<?php

$downloads = $mongo->my_db->getGridFS('downloads');

$downloads->storeFile('filename.tgz');

$download = $downloads->findOne('filename.tgz'); // instance of MongoGridFSFile

print_r($download);
?>

See MongoGridFSFile for more information about how to work with files.

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

MongoGridFSFile Object
(
    [file] => Array
        (
            [_id] => MongoId Object
                (
                )

            [filename] => filename.tgz
            [uploadDate] => MongoDate Object
                (
                    [sec] => 1274288014
                    [usec] => 467000
                )

            [chunkSize] => 262144
            [md5] => d41d8cd98f00b204e9800998ecf8427e
        )

    [gridfs:protected] => MongoGridFS Object
        (
            [chunks] => MongoCollection Object
                (
                )

            [filesName:protected] => downloads.files
            [chunksName:protected] => downloads.chunks
        )

)
MongoGridFS::find
MongoGridFS::get
MongoGridFS


Ruft eine Datei von der Datenbank ab.

MongoGridFS::findOne
MongoGridFS::put
MongoGridFS
PHP Manual

MongoGridFS::get

(PECL mongo >=1.0.8)

MongoGridFS::get — Ruft eine Datei von der Datenbank ab.

Beschreibung

public MongoGridFSFile MongoGridFS::get ( mixed $id )

Parameter-Liste

id

_id der gesuchten Datei.

Rückgabewerte

Gibt die Datei zurück wenn sie vorhanden ist, ansonsten NULL.

MongoGridFS::findOne
MongoGridFS::put
MongoGridFS


Speichert eine Datei in der Datenbank

MongoGridFS::get
MongoGridFS::remove
MongoGridFS
PHP Manual

MongoGridFS::put

(PECL mongo >=1.0.8)

MongoGridFS::put — Speichert eine Datei in der Datenbank

Beschreibung

public mixed MongoGridFS::put ( string $filename [, array $metadata = array() ] )

Parameter-Liste

filename

Name der Datei die gespeichert werden soll.

metadata

Metadaten Felder die noch hinzugefügt werden sollen.

Hinweis:

These fields may also overwrite those that would be created automatically by the driver, as described in the MongoDB core documentation for the » files collection. Some practical use cases for this behavior would be to specify a custom chunkSize or _id for the file.

Rückgabewerte

Returns the _id of the saved file document. This will be a generated MongoId unless an _id was explicitly specified in the metadata parameter.

Siehe auch

  • MongoGridFS::storeBytes() - Stores a string of bytes in the database
  • MongoGridFS::storeFile() - Stores a file in the database
  • MongoGridFS::storeUpload() - Stores an uploaded file in the database
  • MongoDB core docs on » GridFS
MongoGridFS::get
MongoGridFS::remove
MongoGridFS


Remove files and their chunks from the database

MongoGridFS::put
MongoGridFS::storeBytes
MongoGridFS
PHP Manual

MongoGridFS::remove

(PECL mongo >=0.9.0)

MongoGridFS::remove — Remove files and their chunks from the database

Beschreibung

 public bool|array MongoGridFS::remove
  ([ array $criteria = array()
 [, array $options = array()
]] )

Parameter-Liste

criteria

The filename or criteria for which to search.

options

An array of options for the remove operations executed against the chunks and files collections. See MongoCollection::remove() for documentation on these options.

Rückgabewerte

Returns an array containing the status of the removal (with respect to the files collection) if the "w" option is set. Otherwise, returns TRUE.

Fields in the status array are described in the documentation for MongoCollection::insert().

Fehler/Exceptions

Throws MongoCursorException if the "w" option is set and the write fails.

Throws MongoCursorTimeoutException if the "w" option is set to a value greater than one and the operation takes longer than MongoCursor::$timeout milliseconds to complete. This does not kill the operation on the server, it is a client-side timeout. The operation in MongoCollection::$wtimeout is milliseconds.

MongoGridFS::put
MongoGridFS::storeBytes
MongoGridFS


Stores a string of bytes in the database

MongoGridFS::remove
MongoGridFS::storeFile
MongoGridFS
PHP Manual

MongoGridFS::storeBytes

(PECL mongo >=0.9.2)

MongoGridFS::storeBytes — Stores a string of bytes in the database

Beschreibung

public mixed MongoGridFS::storeBytes ( string $bytes [, array $metadata = array() [, array $options = array() ]] )

Parameter-Liste

bytes

String of bytes to store.

metadata

Other metadata fields to include in the file document.

Hinweis:

These fields may also overwrite those that would be created automatically by the driver, as described in the MongoDB core documentation for the » files collection. Some practical use cases for this behavior would be to specify a custom chunkSize or _id for the file.

options

An array of options for the insert operations executed against the chunks and files collections. See MongoCollection::insert() for documentation on these these options.

Rückgabewerte

Returns the _id of the saved file document. This will be a generated MongoId unless an _id was explicitly specified in the metadata parameter.

Fehler/Exceptions

Throws MongoGridFSException if there is an error inserting into the chunks or files collections.

Beispiele

Beispiel #1 MongoGridFS::storeBytes() with additional metadata

<?php
$m = new MongoClient();
$gridfs = $m->selectDB('test')->getGridFS();

$bytes = 'abcdefghijklmnopqrstuvwxyz';
$id = $gridfs->storeBytes($bytes, array('_id' => 'alphabet'));
$gridfsFile = $gridfs->get($id);

var_dump($gridfsFile->file);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(7) {
  ["_id"]=>
  string(8) "alphabet"
  ["uploadDate"]=>
  object(MongoDate)#7 (0) {
  }
  ["length"]=>
  int(26)
  ["chunkSize"]=>
  int(262144)
  ["md5"]=>
  string(32) "c3fcd3d76192e4007dfb496cca67e13b"
}

Siehe auch

  • MongoGridFS::put() - Speichert eine Datei in der Datenbank
  • MongoGridFS::storeFile() - Stores a file in the database
  • MongoGridFS::storeUpload() - Stores an uploaded file in the database
  • MongoDB core docs on » GridFS
MongoGridFS::remove
MongoGridFS::storeFile
MongoGridFS


Stores a file in the database

MongoGridFS::storeBytes
MongoGridFS::storeUpload
MongoGridFS
PHP Manual

MongoGridFS::storeFile

(PECL mongo >=0.9.0)

MongoGridFS::storeFile — Stores a file in the database

Beschreibung

public mixed MongoGridFS::storeFile ( string|resource $filename [, array $metadata = array() [, array $options = array() ]] )

Parameter-Liste

filename

Name of the file or a readable stream to store.

metadata

Other metadata fields to include in the file document.

Hinweis:

These fields may also overwrite those that would be created automatically by the driver, as described in the MongoDB core documentation for the » files collection. Some practical use cases for this behavior would be to specify a custom chunkSize or _id for the file.

options

An array of options for the insert operations executed against the chunks and files collections. See MongoCollection::insert() for documentation on these these options.

Rückgabewerte

Returns the _id of the saved file document. This will be a generated MongoId unless an _id was explicitly specified in the metadata parameter.

Fehler/Exceptions

Throws MongoGridFSException if there is an error reading filename or inserting into the chunks or files collections.

Beispiele

Beispiel #1 MongoGridFS::storeFile() with additional metadata

<?php
$m = new MongoClient();
$gridfs = $m->selectDB('test')->getGridFS();

$id = $gridfs->storeFile('example.txt', array('contentType' => 'plain/text'));
$gridfsFile = $gridfs->get($id);

var_dump($gridfsFile->file);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(7) {
  ["_id"]=>
  object(MongoId)#6 (0) {
  }
  ["contentType"]=>
  string(10) "plain/text"
  ["filename"]=>
  string(11) "example.txt"
  ["uploadDate"]=>
  object(MongoDate)#7 (0) {
  }
  ["length"]=>
  int(26)
  ["chunkSize"]=>
  int(262144)
  ["md5"]=>
  string(32) "c3fcd3d76192e4007dfb496cca67e13b"
}

Siehe auch

  • MongoGridFS::put() - Speichert eine Datei in der Datenbank
  • MongoGridFS::storeBytes() - Stores a string of bytes in the database
  • MongoGridFS::storeUpload() - Stores an uploaded file in the database
  • MongoDB core docs on » GridFS
MongoGridFS::storeBytes
MongoGridFS::storeUpload
MongoGridFS


Stores an uploaded file in the database

MongoGridFS::storeFile
MongoGridFSFile
MongoGridFS
PHP Manual

MongoGridFS::storeUpload

(PECL mongo >=0.9.0)

MongoGridFS::storeUpload — Stores an uploaded file in the database

Beschreibung

public mixed MongoGridFS::storeUpload ( string $name [, array $metadata ] )

Parameter-Liste

name

The name of the uploaded file(s) to store. This should correspond to the file field's name attribute in the HTML form.

metadata

Other metadata fields to include in the file document.

Hinweis:

These fields may also overwrite those that would be created automatically by the driver, as described in the MongoDB core documentation for the » files collection. Some practical use cases for this behavior would be to specify a custom chunkSize or _id for the file.

Hinweis:

The filename field will be populated with the client's filename (e.g. $_FILES['foo']['name']).

Rückgabewerte

Returns the _id of the saved file document. This will be a generated MongoId unless an _id was explicitly specified in the metadata parameter.

Hinweis:

If multiple files are uploaded using the same field name, this method will not return anything; however, the files themselves will still be processed.

Fehler/Exceptions

Throws MongoGridFSException if there is an error reading the uploaded file(s) or inserting into the chunks or files collections.

Changelog

Version | Beschreibung
1.2.5 | Changed second parameter to an array of metadata. Pre-1.2.5, the second parameter was an optional string overriding the filename.

Beispiele

Beispiel #1 MongoGridFS::storeUpload() HTML form example

Suppose you have the following HTML form:

<form method="POST" enctype="multipart/form-data">
    <label for="username">Username:</label>
    <input type="text" name="username" id="username" />

    <label for="pic">Please upload a profile picture:</label>
    <input type="file" name="pic" id="pic" />

    <input type="submit" />
</form>

If you wanted to store the uploaded image in MongoDB, you could do the following in the script handling the form submission:

<?php
$m = new MongoClient();
$gridfs = $m->selectDB('test')->getGridFS();

$gridfs->storeUpload('pic', array('username' => $_POST['username']));
?>

Siehe auch

  • MongoGridFS::put() - Speichert eine Datei in der Datenbank
  • MongoGridFS::storeBytes() - Stores a string of bytes in the database
  • MongoGridFS::storeFile() - Stores a file in the database
  • MongoDB core docs on » GridFS
MongoGridFS::storeFile
MongoGridFSFile
MongoGridFS


The MongoGridFSFile class

(PECL mongo >=0.9.0)

Einführung

A database file object.

Klassenbeschreibung

MongoGridFSFile {
/* Fields */
public array $file = NULL ;
protected MongoGridFS $gridfs = NULL ;
/* Methoden */
public MongoGridfsFile::__construct ( MongoGridFS $gridfs , array $file )
public string getBytes ( void )
public string getFilename ( void )
public resource getResource ( void )
public int getSize ( void )
public int write ([ string $filename = NULL ] )
}

Inhaltsverzeichnis

  • MongoGridfsFile::__construct — Create a new GridFS file
  • MongoGridFSFile::getBytes — Returns this file's contents as a string of bytes
  • MongoGridFSFile::getFilename — Returns this file's filename
  • MongoGridFSFile::getResource — Returns a resource that can be used to read the stored file
  • MongoGridFSFile::getSize — Returns this file's size
  • MongoGridFSFile::write — Writes this file to the filesystem
MongoGridFS::storeUpload
MongoGridfsFile::__construct
GridFS Classes


Create a new GridFS file

MongoGridFSFile
MongoGridFSFile::getBytes
MongoGridFSFile
PHP Manual

MongoGridfsFile::__construct

(PECL mongo >=0.9.0)

MongoGridfsFile::__construct — Create a new GridFS file

Beschreibung

public MongoGridfsFile::__construct ( MongoGridFS $gridfs , array $file )

Parameter-Liste

gridfs

The parent MongoGridFS instance.

file

A file from the database.

Rückgabewerte

Returns a new MongoGridFSFile.

MongoGridFSFile
MongoGridFSFile::getBytes
MongoGridFSFile


Returns this file's contents as a string of bytes

MongoGridfsFile::__construct
MongoGridFSFile::getFilename
MongoGridFSFile
PHP Manual

MongoGridFSFile::getBytes

(PECL mongo >=0.9.0)

MongoGridFSFile::getBytes — Returns this file's contents as a string of bytes

Beschreibung

public string MongoGridFSFile::getBytes ( void )

Warning: this will load the file into memory. If the file is bigger than your memory, this will cause problems!

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a string of the bytes in the file.

Beispiele

Beispiel #1 MongoGridFSFile::getBytes() example

<?php

$images = $db->my_db->getGridFS('images');

$image = $images->findOne('jwage.png');

header('Content-type: image/png;');
echo $image->getBytes();
?>
MongoGridfsFile::__construct
MongoGridFSFile::getFilename
MongoGridFSFile


Returns this file's filename

MongoGridFSFile::getBytes
MongoGridFSFile::getResource
MongoGridFSFile
PHP Manual

MongoGridFSFile::getFilename

(PECL mongo >=0.9.0)

MongoGridFSFile::getFilename — Returns this file's filename

Beschreibung

public string MongoGridFSFile::getFilename ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the filename.

MongoGridFSFile::getBytes
MongoGridFSFile::getResource
MongoGridFSFile


Returns a resource that can be used to read the stored file

MongoGridFSFile::getFilename
MongoGridFSFile::getSize
MongoGridFSFile
PHP Manual

MongoGridFSFile::getResource

(PECL mongo >=1.3.0)

MongoGridFSFile::getResource — Returns a resource that can be used to read the stored file

Beschreibung

public resource MongoGridFSFile::getResource ( void )

This method returns a stream resource that can be used with all file functions in PHP that deal with reading files. The contents of the file are pulled out of MongoDB on the fly, so that the whole file does not have to be loaded into memory first.

At most two GridFSFile chunks will be loaded in memory.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a resource that can be used to read the file with

Beispiele

Beispiel #1 MongoGridFSFile::getResource() example

<?php
$m = new Mongo;
$images = $m->my_db->getGridFS('images');

$image = $images->findOne('mongo.png');

header('Content-type: image/png;');
$stream = $image->getResource();

while (!feof($stream)) {
    echo fread($stream, 8192);
}
?>
MongoGridFSFile::getFilename
MongoGridFSFile::getSize
MongoGridFSFile


Returns this file's size

MongoGridFSFile::getResource
MongoGridFSFile::write
MongoGridFSFile
PHP Manual

MongoGridFSFile::getSize

(PECL mongo >=0.9.0)

MongoGridFSFile::getSize — Returns this file's size

Beschreibung

public int MongoGridFSFile::getSize ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns this file's size

MongoGridFSFile::getResource
MongoGridFSFile::write
MongoGridFSFile


Writes this file to the filesystem

MongoGridFSFile::getSize
MongoGridFSCursor
MongoGridFSFile
PHP Manual

MongoGridFSFile::write

(PECL mongo >=0.9.0)

MongoGridFSFile::write — Writes this file to the filesystem

Beschreibung

public int MongoGridFSFile::write ([ string $filename = NULL ] )

Parameter-Liste

filename

The location to which to write the file. If none is given, the stored filename will be used.

Rückgabewerte

Returns the number of bytes written.

Beispiele

Beispiel #1 MongoGridFSFile::write() example

<?php

$images = $db->my_db->getGridFS('images');

$image = $images->findOne('jwage.png');
$image->write('/path/to/write/jwage.png');
?>
MongoGridFSFile::getSize
MongoGridFSCursor
MongoGridFSFile


The MongoGridFSCursor class

(PECL mongo >=0.9.0)

Einführung

Cursor for database file results.

Klassenbeschreibung

extends MongoCursor {
/* Fields */
protected MongoGridFS $gridfs = NULL ;
/* Methoden */
public __construct ( MongoGridFS $gridfs , resource $connection , string $ns , array $query , array $fields )
public MongoGridFSFile current ( void )
public MongoGridFSFile getNext ( void )
public string key ( void )
}

Inhaltsverzeichnis

  • MongoGridFSCursor::__construct — Create a new cursor
  • MongoGridFSCursor::current — Returns the current file
  • MongoGridFSCursor::getNext — Return the next file to which this cursor points, and advance the cursor
  • MongoGridFSCursor::key — Returns the current result's filename
MongoGridFSFile::write
MongoGridFSCursor::__construct
GridFS Classes


Create a new cursor

MongoGridFSCursor
MongoGridFSCursor::current
MongoGridFSCursor
PHP Manual

MongoGridFSCursor::__construct

(PECL mongo >=0.9.0)

MongoGridFSCursor::__construct — Create a new cursor

Beschreibung

public MongoGridFSCursor::__construct ( MongoGridFS $gridfs , resource $connection , string $ns , array $query , array $fields )

Parameter-Liste

gridfs

Related GridFS collection.

connection

Database connection.

ns

Full name of database and collection.

query

Database query.

fields

Fields to return.

Rückgabewerte

Returns the new cursor.

MongoGridFSCursor
MongoGridFSCursor::current
MongoGridFSCursor


Returns the current file

MongoGridFSCursor::__construct
MongoGridFSCursor::getNext
MongoGridFSCursor
PHP Manual

MongoGridFSCursor::current

(PECL mongo >=0.9.0)

MongoGridFSCursor::current — Returns the current file

Beschreibung

public MongoGridFSFile MongoGridFSCursor::current ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current file.

MongoGridFSCursor::__construct
MongoGridFSCursor::getNext
MongoGridFSCursor


Return the next file to which this cursor points, and advance the cursor

MongoGridFSCursor::current
MongoGridFSCursor::key
MongoGridFSCursor
PHP Manual

MongoGridFSCursor::getNext

(PECL mongo >=0.9.0)

MongoGridFSCursor::getNext — Return the next file to which this cursor points, and advance the cursor

Beschreibung

public MongoGridFSFile MongoGridFSCursor::getNext ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the next file.

MongoGridFSCursor::current
MongoGridFSCursor::key
MongoGridFSCursor


Returns the current result's filename

MongoGridFSCursor::getNext
Batch Classes
MongoGridFSCursor
PHP Manual

MongoGridFSCursor::key

(PECL mongo >=0.9.0)

MongoGridFSCursor::key — Returns the current result's filename

Beschreibung

public string MongoGridFSCursor::key ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current result's _id as a string.

Changelog

Version | Beschreibung
1.3.0 | The document's _id is returned as a string value, since the key should be unique. Pre-1.3.0, filename was returned.

MongoGridFSCursor::getNext
Batch Classes
MongoGridFSCursor


Batch Classes

Inhaltsverzeichnis

  • MongoWriteBatch
  • MongoInsertBatch
  • MongoUpdateBatch
  • MongoDeleteBatch
MongoGridFSCursor::key
MongoWriteBatch
Mongo


The MongoWriteBatch class

(PECL mongo >=1.5.0)

Einführung

MongoWriteBatch is the base class for the MongoInsertBatch, MongoUpdateBatch and MongoDeleteBatch classes.

MongoWriteBatch allows you to "batch up" multiple operations (of same type) and shipping them all to MongoDB at the same time. This can be especially useful when operating on many documents at the same time to reduce roundtrips.

Prior to version 1.5.0 of the driver it was possible to use MongoCollection::batchInsert(), however, as of 1.5.0 that method is now discouraged.

Note: This class is only available when talking to MongoDB 2.6.0 (and later) servers. It will throw MongoProtocolException if attempting to use it on older MongoDB servers.

Klassenbeschreibung

MongoWriteBatch {
/* Konstanten */
const int COMMAND_INSERT = 1 ;
const int COMMAND_UPDATE = 2 ;
const int COMMAND_DELETE = 3 ;
/* Methoden */
protected __construct ( MongoCollection $collection [, string $batch_type [, array $write_options ]] )
public bool add ( array $item )
final public array execute ( array $write_options )
}

MongoWriteBatch types

MongoWriteBatch::COMMAND_INSERT

Create an Insert Write Batch

MongoWriteBatch::COMMAND_UPDATE

Create an Update Write Batch

MongoWriteBatch::COMMAND_DELETE

Create an Delete Write Batch

Beschreibung

When executing a batch by calling MongoWriteBatch::execute(), MongoWriteBatch will send up to maxWriteBatchSize (defaults to 1000) documents or maxBsonObjectSize (defaults to 16777216 bytes), whichever comes first.

Hinweis:

Documents will never be partially transferred. When adding documents to the batch, that overflows the limit, a new batch will be created and the document put into the new batch.

Fehler/Exceptions

  • Exception on parameter parsing failures
  • Exception on argument validation errors (e.g. missing keys)
  • MongoProtocolException when talking to MongoDB server older then 2.6.0.
  • MongoProtocolException on socket errors.
  • MongoWriteConcernException when a write fails due to WriteConcerns

Beispiele

Beispiel #1 MongoWriteBatch example

Adding documents to a Insert batch and then execute it

<?php
$mc = new MongoClient("localhost");

$collection = $mc->selectCollection("test", "test");

$docs = array();
$docs[] = array("my" => "demo");
$docs[] = array("is" => "working");
$docs[] = array("pretty" => "well");

$batch = new MongoInsertBatch($collection);
foreach($docs as $document) {
    $batch->add($document);
}
$retval = $batch->execute(array("w" => 1));
var_dump($retval);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  ["nInserted"]=>
  int(3)
  ["ok"]=>
  bool(true)
}

Inhaltsverzeichnis

  • MongoWriteBatch::add — Adds a write operation to a batch
  • MongoWriteBatch::__construct — Creates a new batch of write operations
  • MongoWriteBatch::execute — Executes a batch of write operations
Batch Classes
MongoWriteBatch::add
Batch Classes


Adds a write operation to a batch

MongoWriteBatch
MongoWriteBatch::__construct
MongoWriteBatch
PHP Manual

MongoWriteBatch::add

(PECL mongo >= 1.5.0)

MongoWriteBatch::add — Adds a write operation to a batch

Beschreibung

public bool MongoWriteBatch::add ( array $item )

Adds a write operation to the batch.

If $item causes the batch to exceed the maxWriteBatchSize or maxBsonObjectSize limits, the driver will internally split the batches into multiple write commands upon calling MongoWriteBatch::execute().

Parameter-Liste

item

An array that describes a write operation. The structure of this value depends on the batch's operation type.

Batch type | Argument expectation
MongoWriteBatch::COMMAND_INSERT | The document to add.
MongoWriteBatch::COMMAND_UPDATE

Raw update operation.

Required keys are "q" and "u", which correspond to the $criteria and $new_object parameters of MongoCollection::update(), respectively.

Optional keys are "multi" and "upsert", which correspond to the "multiple" and "upsert" options for MongoCollection::update(), respectively. If unspecified, both options default to FALSE.
MongoWriteBatch::COMMAND_DELETE

Raw delete operation.

Required keys are: "q" and "limit", which correspond to the $criteria parameter and "justOne" option of MongoCollection::remove(), respectively.

The "limit" option is an integer; however, MongoDB only supports 0 (i.e. remove all matching documents) and 1 (i.e. remove at most one matching document) at this time.

Rückgabewerte

Returns TRUE on success and throws an exception on failure.

Fehler/Exceptions

  • Exception on parameter parsing failures
  • Exception on argument validation errors (e.g. missing keys)

Beispiele

Beispiel #1 MongoWriteBatch::add() example

Batching up multiple insert operations

<?php
$mc = new MongoClient("localhost");
$collection = $mc->selectCollection("test", "test");

$docs = array();
$docs[] = array("my" => "demo");
$docs[] = array("is" => "working");
$docs[] = array("pretty" => "well");

$batch = new MongoInsertBatch($collection);
foreach($docs as $document) {
    $batch->add($document);
}
$batch->execute(array("w" => 1));
?>

Beispiel #2 MongoWriteBatch::add() example

Batching up multiple update operations

<?php
$mc = new MongoClient("localhost");
$collection = $mc->selectCollection("test", "test");

$item1 = array(
    "q" => array("my" => "demo"),
    "u" => array('$set' => array("try" => 1)),
    "multi"  => false, /* default value */
    "upsert" => false, /* default value */
);
$item2 = array(
    "q" => array("is" => "working"),
    "u" => array('$set' => array("try" => 2)),
    "multi" => true,
);
$item3 = array(
    "q" => array("created" => "new-document"),
    "u" => array('$set' => array("try" => 3)),
    "upsert" => true,
);

$batch = new MongoUpdateBatch($collection);
$batch->add($item1);
$batch->add($item2);
$batch->add($item3);
$batch->execute(array("w" => 1));

?>

Beispiel #3 MongoWriteBatch::add() example

Batching up multiple delete operations

<?php
$mc = new MongoClient("localhost");
$collection = $mc->selectCollection("test", "test");

$item1 = array(
    "q" => array("my" => "demo"),
    "limit" => 1,
);
$item2 = array(
    "q" => array("try" => 3),
    "limit" => 1,
);

$batch = new MongoDeleteBatch($collection);
$batch->add($item1);
$batch->add($item2);
$batch->execute(array("w" => 1));
?>
MongoWriteBatch
MongoWriteBatch::__construct
MongoWriteBatch


Creates a new batch of write operations

MongoWriteBatch::add
MongoWriteBatch::execute
MongoWriteBatch
PHP Manual

MongoWriteBatch::__construct

(PECL mongo >= 1.5.0)

MongoWriteBatch::__construct — Creates a new batch of write operations

Beschreibung

protected MongoWriteBatch::__construct ( MongoCollection $collection [, string $batch_type [, array $write_options ]] )

Constructs a new MongoWriteBatch.

Hinweis:

This is a protected constructor. Please use one of the classes inheriting MongoWriteBatch.

Parameter-Liste

collection

The MongoCollection to execute the batch on. Its write concern will be copied and used as the default write concern if none is given as $write_options or during MongoWriteBatch::execute().

batch_type

One of:

  • 0 - make an MongoWriteBatch::COMMAND_INSERT batch
  • 1 - make an MongoWriteBatch::COMMAND_UPDATE batch
  • 2 - make a MongoWriteBatch::COMMAND_DELETE batch

write_options

An array of Write Options.

key | value meaning
w (int|string) | Write concern value
wtimeout (int) | Maximum time to wait for replication
ordered | Determins if MongoDB must apply this batch in order (sequentally, one item at a time) or can rearrange it. Defaults to TRUE
j (bool) | Wait for journaling on the primary. This value is discouraged, use WriteConcern instead
fsync (bool) | Wait for fsync on the primary. This value is discouraged, use WriteConcern instead

Rückgabewerte

A new MongoWriteBatch of type batch_type.

Siehe auch

  • MongoInsertBatch
  • MongoUpdateBatch
  • MongoDeleteBatch
MongoWriteBatch::add
MongoWriteBatch::execute
MongoWriteBatch


Executes a batch of write operations

MongoWriteBatch::__construct
MongoInsertBatch
MongoWriteBatch
PHP Manual

MongoWriteBatch::execute

(PECL mongo >= 1.5.0)

MongoWriteBatch::execute — Executes a batch of write operations

Beschreibung

final public array MongoWriteBatch::execute ( array $write_options )

Executes the batch of write operations.

Parameter-Liste

write_options

See MongoWriteBatch::__construct.

Rückgabewerte

Returns an array containing statistical information for the full batch. If the batch had to be split into multiple batches, the return value will aggregate the values from individual batches and return only the totals.

If the batch was empty, an array containing only the 'ok' field is returned (as TRUE) although nothing will be shipped over the wire (NOOP).

Array key | Value meaning | Returned for batch type
nInserted | Number of inserted documents | MongoWriteBatch::COMMAND_INSERT batch
nMatched | Number of documents matching the query criteria | MongoWriteBatch::COMMAND_UPDATE batch
nModified | Number of documents actually needed to be modied | MongoWriteBatch::COMMAND_UPDATE batch
nUpserted | Number of upserted documents | MongoWriteBatch::COMMAND_UPDATE batch
nRemoved | Number of documents removed | MongoWriteBatch::COMMAND_DELETE batch
ok | Command success indicator | All

Fehler/Exceptions

A MongoWriteConcernException exception is thrown on failure.

Beispiele

Beispiel #1 MongoWriteBatch::add() example

Batching up multiple insert operations

<?php
$mc = new MongoClient("localhost");
$collection = $mc->selectCollection("test", "test");

$docs = array();
$docs[] = array("my" => "demo");
$docs[] = array("is" => "working");
$docs[] = array("pretty" => "well");

$batch = new MongoInsertBatch($collection);
foreach($docs as $document) {
    $batch->add($document);
}
$retval = $batch->execute(array("w" => 1));
var_dump($retval);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  ["nInserted"]=>
  int(3)
  ["ok"]=>
  bool(true)
}

Beispiel #2 MongoWriteBatch::add() example

Batching up multiple update operations

<?php
$mc = new MongoClient("localhost");
$collection = $mc->selectCollection("test", "test");

$item1 = array(
    "q" => array("my" => "demo"),
    "u" => array('$set' => array("try" => 1)),
    "multi"  => false, /* default value */
    "upsert" => false, /* default value */
);
$item2 = array(
    "q" => array("is" => "working"),
    "u" => array('$set' => array("try" => 2)),
    "multi" => true,
);
$item3 = array(
    "q" => array("created" => "new-document"),
    "u" => array('$set' => array("try" => 3)),
    "upsert" => true,
);

$batch = new MongoUpdateBatch($collection);
$batch->add($item1);
$batch->add($item2);
$batch->add($item3);
$retval = $batch->execute(array("w" => 1));
var_dump($retval);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(4) {
  ["nMatched"]=>
  int(18)
  ["nModified"]=>
  int(2)
  ["nUpserted"]=>
  int(0)
  ["ok"]=>
  bool(true)
}

Beispiel #3 MongoWriteBatch::add() example

Batching up multiple delete operations

<?php
$mc = new MongoClient("localhost");
$collection = $mc->selectCollection("test", "test");

$item1 = array(
    "q" => array("my" => "demo"),
    "limit" => 1,
);
$item2 = array(
    "q" => array("try" => 3),
    "limit" => 1,
);

$batch = new MongoDeleteBatch($collection);
$batch->add($item1);
$batch->add($item2);
$retval = $batch->execute(array("w" => 1));
var_dump($retval);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  ["nRemoved"]=>
  int(1)
  ["ok"]=>
  bool(true)
}
MongoWriteBatch::__construct
MongoInsertBatch
MongoWriteBatch


The MongoInsertBatch class

(PECL mongo >=1.5.0)

Einführung

Constructs a batch of INSERT operations. See MongoWriteBatch.

Klassenbeschreibung

MongoInsertBatch extends MongoWriteBatch {
/* Methoden */
public __construct ( MongoCollection $collection [, array $write_options ] )
/* Geerbte Methoden */
public bool MongoWriteBatch::add ( array $item )
final public array MongoWriteBatch::execute ( array $write_options )
}

Inhaltsverzeichnis

  • MongoInsertBatch::__construct — Description
MongoWriteBatch::execute
MongoInsertBatch::__construct
Batch Classes


Description

MongoInsertBatch
MongoUpdateBatch
MongoInsertBatch
PHP Manual

MongoInsertBatch::__construct

(PECL mongo >= 1.5.0)

MongoInsertBatch::__construct — Description

Beschreibung

public MongoInsertBatch::__construct ( MongoCollection $collection [, array $write_options ] )

Constructs a batch of INSERT operations. See MongoWriteBatch.

Parameter-Liste

collection

The MongoCollection to execute the batch on. Its write concern will be copied and used as the default write concern if none is given as $write_options or during MongoWriteBatch::execute().

write_options

An array of Write Options.

key | value meaning
w (int|string) | Write concern value
wtimeout (int) | Maximum time to wait for replication
ordered | Determins if MongoDB must apply this batch in order (sequentally, one item at a time) or can rearrange it. Defaults to TRUE
j (bool) | Wait for journaling on the primary. This value is discouraged, use WriteConcern instead
fsync (bool) | Wait for fsync on the primary. This value is discouraged, use WriteConcern instead

Rückgabewerte

A new MongoInsertBatch.

MongoInsertBatch
MongoUpdateBatch
MongoInsertBatch


The MongoUpdateBatch class

(PECL mongo >=1.5.0)

Einführung

Constructs a batch of UPDATE operations. See MongoWriteBatch.

Klassenbeschreibung

MongoUpdateBatch extends MongoWriteBatch {
/* Methoden */
public __construct ( MongoCollection $collection [, array $write_options ] )
/* Geerbte Methoden */
public bool MongoWriteBatch::add ( array $item )
final public array MongoWriteBatch::execute ( array $write_options )
}

Inhaltsverzeichnis

  • MongoUpdateBatch::__construct — Description
MongoInsertBatch::__construct
MongoUpdateBatch::__construct
Batch Classes


Description

MongoUpdateBatch
MongoDeleteBatch
MongoUpdateBatch
PHP Manual

MongoUpdateBatch::__construct

(PECL mongo >= 1.5.0)

MongoUpdateBatch::__construct — Description

Beschreibung

public MongoUpdateBatch::__construct ( MongoCollection $collection [, array $write_options ] )

Constructs a batch of UPDATE operations. See MongoWriteBatch.

Parameter-Liste

collection

The MongoCollection to execute the batch on. Its write concern will be copied and used as the default write concern if none is given as $write_options or during MongoWriteBatch::execute().

write_options

An array of Write Options.

key | value meaning
w (int|string) | Write concern value
wtimeout (int) | Maximum time to wait for replication
ordered | Determins if MongoDB must apply this batch in order (sequentally, one item at a time) or can rearrange it. Defaults to TRUE
j (bool) | Wait for journaling on the primary. This value is discouraged, use WriteConcern instead
fsync (bool) | Wait for fsync on the primary. This value is discouraged, use WriteConcern instead

Rückgabewerte

A new MongoUpdateBatch.

MongoUpdateBatch
MongoDeleteBatch
MongoUpdateBatch


The MongoDeleteBatch class

(PECL mongo >=1.5.0)

Einführung

Constructs a batch of DELETE operations. See MongoWriteBatch.

Klassenbeschreibung

MongoDeleteBatch extends MongoWriteBatch {
/* Methoden */
public __construct ( MongoCollection $collection [, array $write_options ] )
/* Geerbte Methoden */
public bool MongoWriteBatch::add ( array $item )
final public array MongoWriteBatch::execute ( array $write_options )
}

Inhaltsverzeichnis

  • MongoDeleteBatch::__construct — Description
MongoUpdateBatch::__construct
MongoDeleteBatch::__construct
Batch Classes


Description

MongoDeleteBatch
Miscellaneous
MongoDeleteBatch
PHP Manual

MongoDeleteBatch::__construct

(PECL mongo >= 1.5.0)

MongoDeleteBatch::__construct — Description

Beschreibung

public MongoDeleteBatch::__construct ( MongoCollection $collection [, array $write_options ] )

Constructs a batch of DELETE operations. See MongoWriteBatch.

Parameter-Liste

collection

The MongoCollection to execute the batch on. Its write concern will be copied and used as the default write concern if none is given as $write_options or during MongoWriteBatch::execute().

write_options

An array of Write Options.

key | value meaning
w (int|string) | Write concern value
wtimeout (int) | Maximum time to wait for replication
ordered | Determins if MongoDB must apply this batch in order (sequentally, one item at a time) or can rearrange it. Defaults to TRUE
j (bool) | Wait for journaling on the primary. This value is discouraged, use WriteConcern instead
fsync (bool) | Wait for fsync on the primary. This value is discouraged, use WriteConcern instead

Rückgabewerte

A new MongoDeleteBatch.

MongoDeleteBatch
Miscellaneous
MongoDeleteBatch


Miscellaneous

Inhaltsverzeichnis

  • MongoLog
  • MongoPool
  • Mongo
MongoDeleteBatch::__construct
MongoLog
Mongo


The MongoLog class

(PECL mongo >=1.2.3)

Einführung

Logging can be used to get detailed information about what the driver is doing. Logging is disabled by default, but this class allows you to activate specific levels of logging for various parts of the driver. Some examples:

<?php

// print every log message possible
MongoLog::setLevel(MongoLog::ALL); // all log levels
MongoLog::setModule(MongoLog::ALL); // all parts of the driver

// print significant events about replica set failover
MongoLog::setLevel(MongoLog::INFO);
MongoLog::setModule(MongoLog::RS);

// print info- and diagnostic-level events for replica sets and connections
MongoLog::setLevel(MongoLog::INFO|MongoLog::FINE);
MongoLog::setModule(MongoLog::RS|MongoLog::CON);

?>

Hinweis:

By default, MongoLog emits all log messages as PHP notices. Depending on the SAPI you use, messages may be sent to stderr (for CLI) or the web server's error log. If, after configuring MongoLog, log messages are not appearing as expected, ensure that the E_NOTICE bit is included in error_reporting and that display_errors is on.

Klassenbeschreibung

MongoLog {
/* Konstanten */
const int NONE = 0 ;
const int ALL = 31 ;
level constants {
const int WARNING = 1 ;
const int INFO = 2 ;
const int FINE = 4 ;
module constants {
const int RS = 1 ;
const int POOL = 1 ;
const int CON = 2 ;
const int IO = 4 ;
const int SERVER = 8 ;
const int PARSE = 16 ;
/* Fields */
private static int $callback ;
private static int $level ;
private static int $module ;
/* Methoden */
public static callable getCallback ( void )
public static int getLevel ( void )
public static int getModule ( void )
public static void setCallback ( callable $log_function )
public static void setLevel ( int $level )
public static void setModule ( int $module )
}

Vordefinierte Konstanten

MongoLog Constants

These constants can be used by both MongoLog::setLevel() and MongoLog::setModule().

MongoLog::NONE
Log nothing.
MongoLog::ALL
Log everything.

MongoLog Level Constants

These constants can be used by MongoLog::setLevel().

MongoLog::WARNING
Log events that are somewhat exceptional, but not quite worthy of an actual exception (e.g. recoverable connection errors).
MongoLog::INFO
Log events that may be of interest to administrators, but are not particularly noteworthy (e.g. option parsing, authentication steps).
MongoLog::FINE
Log most events that the driver performs (e.g. server selection, socket communication). Depending on the module being logged, this can be extremely noisy and is primarily useful for debugging.

MongoLog Module Constants

These constants can be used by MongoLog::setModule().

MongoLog::CON
Log connection activity. Creating new connections, authentication, pinging, timeouts, etc.
MongoLog::IO
Log traffic to/from the database. Unless your program is trivial, this will create an enormous number of log messages.
MongoLog::PARSE
Log parsing of the connection string and options when constructing MongoClient.
MongoLog::POOL
Previously used to log connection pool activity. This option is now a deprecated alias of MongoLog::RS.
MongoLog::RS
Log replica set activity. Failovers, read preference selection, etc.
MongoLog::SERVER
Previously used to log server status changes. This option is deprecated in favor of MongoLog::RS.

Changelog

Version | Beschreibung
1.3.0 | Added MongoLog::CON and deprecated MongoLog::POOL and MongoLog::SERVER.

Inhaltsverzeichnis

  • MongoLog::getCallback — Gets the previously set callback function
  • MongoLog::getLevel — Gets the level(s) currently being logged
  • MongoLog::getModule — Gets the module(s) currently being logged
  • MongoLog::setCallback — Sets a callback function to be invoked for events
  • MongoLog::setLevel — Sets the level(s) to be logged
  • MongoLog::setModule — Sets the module(s) to be logged
Miscellaneous
MongoLog::getCallback
Miscellaneous


Gets the previously set callback function

MongoLog
MongoLog::getLevel
MongoLog
PHP Manual

MongoLog::getCallback

(PECL mongo >= 1.3.0)

MongoLog::getCallback — Gets the previously set callback function

Beschreibung

public static callable MongoLog::getCallback ( void )

Retrieves the callback function.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the callback function, or FALSE if not set yet.

Anmerkungen

Achtung

This function is only available with PHP 5.3.0 and later.

MongoLog
MongoLog::getLevel
MongoLog


Gets the level(s) currently being logged

MongoLog::getCallback
MongoLog::getModule
MongoLog
PHP Manual

MongoLog::getLevel

(PECL mongo >= 1.2.3)

MongoLog::getLevel — Gets the level(s) currently being logged

Beschreibung

public static int MongoLog::getLevel ( void )

This function can be used to see which log levels are currently enabled. The returned integer may be compared with the MongoLog level constants using bitwise operators to check for specific log levels.

<?php

if (MongoLog::getLevel() & MongoLog::FINE) {
    echo "lots of logs\n";
}

if (MongoLog::getLevel() ^ MongoLog::NONE) {
    echo "logging, at least a little\n";
}

if (MongoLog::getLevel() == MongoLog::ALL) {
    echo "logging at the highest levels\n";
}

?>

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the level(s) currently being logged.

MongoLog::getCallback
MongoLog::getModule
MongoLog


Gets the module(s) currently being logged

MongoLog::getLevel
MongoLog::setCallback
MongoLog
PHP Manual

MongoLog::getModule

(PECL mongo >= 1.2.3)

MongoLog::getModule — Gets the module(s) currently being logged

Beschreibung

public static int MongoLog::getModule ( void )

This function can be used to see which driver modules are currently being logged. The returned integer may be compared with the MongoLog module constants using bitwise operators to check if specific modules are being logged.

<?php

if (MongoLog::getModule() & MongoLog::RS) {
    echo "logging replica sets\n";
}

if (MongoLog::getModule() ^ MongoLog::NONE) {
    echo "logging something\n";
}

if ((MongoLog::getModule() & MongoLog::IO) == 0) {
    echo "not logging io\n";
}

?>

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the module(s) currently being logged.

MongoLog::getLevel
MongoLog::setCallback
MongoLog


Sets a callback function to be invoked for events

MongoLog::getModule
MongoLog::setLevel
MongoLog
PHP Manual

MongoLog::setCallback

(PECL mongo >= 1.3.0)

MongoLog::setCallback — Sets a callback function to be invoked for events

Beschreibung

public static void MongoLog::setCallback ( callable $log_function )

This function will set a callback function to be invoked for events in lieu of emitting of PHP notice.

Parameter-Liste

log_function

The callback function to be invoked on events. It should have the following prototype:

log_function ( int $module , int $level , string $message )
module
One of the MongoLog module constants.
level
One of the MongoLog level constants.
message
The log message itself.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 MongoLog::setCallback() example

<?php

function module2string($module)
{
    switch ($module) {
        case MongoLog::RS: return "REPLSET";
        case MongoLog::CON: return "CON";
        case MongoLog::IO: return "IO";
        case MongoLog::SERVER: return "SERVER";
        case MongoLog::PARSE: return "PARSE";
        default: return "UNKNOWN";
    }
}

function level2string($level)
{
    switch ($level) {
        case MongoLog::WARNING: return "WARN";
        case MongoLog::INFO: return "INFO";
        case MongoLog::FINE: return "FINE";
        default: return "UNKNOWN";
    }
}

function callback($module, $level, $message)
{
    echo date("Y-m-d H:i:s - ");
    printf("%s (%s): %s\n", module2string($module), level2string($level), $message);
}

MongoLog::setLevel(MongoLog::ALL);
MongoLog::setModule(MongoLog::ALL);

// We specify the function name here, but any callable (e.g. anonymous function) will work
MongoLog::setCallback("callback");

new MongoClient();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

2013-07-09 09:41:42 - PARSE (INFO): Parsing localhost:27017
2013-07-09 09:41:42 - PARSE (INFO): - Found node: localhost:27017
2013-07-09 09:41:42 - PARSE (INFO): - Connection type: STANDALONE
2013-07-09 09:41:42 - CON (INFO): mongo_get_read_write_connection: finding a STANDALONE connection
2013-07-09 09:41:42 - CON (INFO): connection_create: creating new connection for localhost:27017
2013-07-09 09:41:42 - CON (INFO): stream_connect: Not establishing SSL for localhost:27017
2013-07-09 09:41:42 - CON (INFO): get_server_flags: start
2013-07-09 09:41:42 - CON (FINE): send_packet: read from header: 36
2013-07-09 09:41:42 - CON (FINE): send_packet: data_size: 95
2013-07-09 09:41:42 - CON (FINE): get_server_flags: setting maxBsonObjectSize to 16777216
2013-07-09 09:41:42 - CON (FINE): get_server_flags: setting maxMessageSizeBytes to 48000000
2013-07-09 09:41:42 - CON (INFO): is_ping: pinging localhost:27017;-;.;1543
2013-07-09 09:41:42 - CON (FINE): send_packet: read from header: 36
2013-07-09 09:41:42 - CON (FINE): send_packet: data_size: 17
2013-07-09 09:41:42 - CON (INFO): is_ping: last pinged at 1373359302; time: 0ms
2013-07-09 09:41:42 - REPLSET (FINE): finding candidate servers
2013-07-09 09:41:42 - REPLSET (FINE): - all servers
2013-07-09 09:41:42 - REPLSET (FINE): filter_connections: adding connections:
2013-07-09 09:41:42 - REPLSET (FINE): - connection: type: STANDALONE, socket: 42, ping: 0, hash: localhost:27017;-;.;1543
2013-07-09 09:41:42 - REPLSET (FINE): filter_connections: done
2013-07-09 09:41:42 - REPLSET (FINE): limiting by seeded/discovered servers
2013-07-09 09:41:42 - REPLSET (FINE): - connection: type: STANDALONE, socket: 42, ping: 0, hash: localhost:27017;-;.;1543
2013-07-09 09:41:42 - REPLSET (FINE): limiting by seeded/discovered servers: done
2013-07-09 09:41:42 - REPLSET (FINE): limiting by credentials
2013-07-09 09:41:42 - REPLSET (FINE): - connection: type: STANDALONE, socket: 42, ping: 0, hash: localhost:27017;-;.;1543
2013-07-09 09:41:42 - REPLSET (FINE): limiting by credentials: done
2013-07-09 09:41:42 - REPLSET (FINE): sorting servers by priority and ping time
2013-07-09 09:41:42 - REPLSET (FINE): - connection: type: STANDALONE, socket: 42, ping: 0, hash: localhost:27017;-;.;1543
2013-07-09 09:41:42 - REPLSET (FINE): sorting servers: done
2013-07-09 09:41:42 - REPLSET (FINE): selecting near servers
2013-07-09 09:41:42 - REPLSET (FINE): selecting near servers: nearest is 0ms
2013-07-09 09:41:42 - REPLSET (FINE): - connection: type: STANDALONE, socket: 42, ping: 0, hash: localhost:27017;-;.;1543
2013-07-09 09:41:42 - REPLSET (FINE): selecting near server: done
2013-07-09 09:41:42 - REPLSET (INFO): pick server: random element 0
2013-07-09 09:41:42 - REPLSET (INFO): - connection: type: STANDALONE, socket: 42, ping: 0, hash: localhost:27017;-;.;1543

Anmerkungen

Achtung

This function is only available with PHP 5.3.0 and later.

MongoLog::getModule
MongoLog::setLevel
MongoLog


Sets the level(s) to be logged

MongoLog::setCallback
MongoLog::setModule
MongoLog
PHP Manual

MongoLog::setLevel

(PECL mongo >= 1.2.3)

MongoLog::setLevel — Sets the level(s) to be logged

Beschreibung

public static void MongoLog::setLevel ( int $level )

This function can be used to control logging verbosity and the types of activities that should be logged. The MongoLog level constants may be used with bitwise operators to specify multiple levels.

<?php

// first, specify a logging module
MongoLog::setModule(MongoLog::CON);

// log messages for every level
MongoLog::setLevel(MongoLog::ALL);

// log warning and info messages only
MongoLog::setLevel(MongoLog::WARNING|MongoLog::INFO);

// log everything except fine activity
MongoLog::setLevel(MongoLog::ALL & (~MongoLog::FINE));

?>

Note that you must also call MongoLog::setModule() to specify which modules(s) of the driver should log.

Parameter-Liste

level

The level(s) you would like to log.

MongoLog::setCallback
MongoLog::setModule
MongoLog


Sets the module(s) to be logged

MongoLog::setLevel
MongoPool
MongoLog
PHP Manual

MongoLog::setModule

(PECL mongo >= 1.2.3)

MongoLog::setModule — Sets the module(s) to be logged

Beschreibung

public static void MongoLog::setModule ( int $module )

This function can be used to set which driver modules should be logged. The MongoLog module constants may be used with bitwise operators to specify multiple modules.

<?php

// first, specify a logging level
MongoLog::setLevel(MongoLog::ALL);

// log replica set activity
MongoLog::setModule(MongoLog::RS);

// log replica sets and connection activity
MongoLog::setModule(MongoLog::RS|MongoLog::CON);

// log everything except IO activity
MongoLog::setModule(MongoLog::ALL & (~MongoLog::IO));

?>

Note that you must also call MongoLog::setLevel() to enable logging.

Parameter-Liste

module

The module(s) you would like to log.

MongoLog::setLevel
MongoPool
MongoLog


The MongoPool class

(PECL mongo >= 1.2.3)

Einführung

Warnung

The current (1.3.0+) releases of the driver no longer implements pooling. This class and its methods are therefore deprecated and should not be used.

Klassenbeschreibung

MongoPool {
/* Methoden */
public static int getSize ( void )
public array info ( void )
public static bool setSize ( int $size )
}

Changelog

Version | Beschreibung
1.3.0 | This functionality has been removed and no longer does anything other than emit deprecation warnings. This class is only kept around for backwards compatability and will be removed in the near future.
1.2.11 | Emits E_DEPRECATED when used.

Inhaltsverzeichnis

  • MongoPool::getSize — Get pool size for connection pools
  • MongoPool::info — Returns information about all connection pools.
  • MongoPool::setSize — Set the size for future connection pools.
MongoLog::setModule
MongoPool::getSize
Miscellaneous


Get pool size for connection pools

MongoPool
MongoPool::info
MongoPool
PHP Manual

MongoPool::getSize

(PECL mongo >= 1.2.3)

MongoPool::getSize — Get pool size for connection pools

Beschreibung

public static int MongoPool::getSize ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current pool size.

Changelog

Version | Beschreibung
1.2.11 | Emits E_DEPRECATED when used.

Beispiele

Beispiel #1 Changing pool size

This returns the default pool size, sets a new pool size, then prints the new pool size and the pool debugging information. Note that changing the pool size only affects new connection pools, it does not change old ones.

<?php

$connection = new Mongo("host1");

// pool size is -1
echo "pool size is: ".MongoPool::getSize()."\n";

echo "setting pool size to 200\n";

MongoPool::setSize(200);

// pool size is 200
echo "pool size is: ".MongoPool::getSize()."\n";

$conn2 = new Mongo("host2");

// remaining for host1 is -2
// remaining for host2 is 199
var_dump(Mongo::poolDebug());

?>

Siehe auch

  • MongoPool::setSize() - Set the size for future connection pools.
  • MongoPool::info() - Returns information about all connection pools.
  • The connection documentation.

MongoPool
MongoPool::info
MongoPool


Returns information about all connection pools.

MongoPool::getSize
MongoPool::setSize
MongoPool
PHP Manual

MongoPool::info

(PECL mongo >= 1.2.3)

MongoPool::info — Returns information about all connection pools.

Beschreibung

public array MongoPool::info ( void )

Returns an array of information about all connection pools.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Each connection pool has an identifier, which starts with the host. For each pool, this function shows the following fields:

in use

The number of connections currently being used by Mongo instances.

in pool

The number of connections currently in the pool (not being used).

remaining

The number of connections that could be created by this pool. For example, suppose a pool had 5 connections remaining and 3 connections in the pool. We could create 8 new instances of MongoClient before we exhausted this pool (assuming no instances of MongoClient went out of scope, returning their connections to the pool).

A negative number means that this pool will spawn unlimited connections.

Before a pool is created, you can change the max number of connections by calling Mongo::setPoolSize(). Once a pool is showing up in the output of this function, its size cannot be changed.

total

The total number of connections allowed for this pool. This should be greater than or equal to "in use" + "in pool" (or -1).

timeout

The socket timeout for connections in this pool. This is how long connections in this pool will attempt to connect to a server before giving up.

waiting

If you have capped the pool size, workers requesting connections from the pool may block until other workers return their connections. This field shows how many milliseconds workers have blocked for connections to be released. If this number keeps increasing, you may want to use MongoPool::setSize() to add more connections to your pool.

Changelog

Version | Beschreibung
1.2.11 | Emits E_DEPRECATED when used.

MongoPool::getSize
MongoPool::setSize
MongoPool


Set the size for future connection pools.

MongoPool::info
Mongo
MongoPool
PHP Manual

MongoPool::setSize

(PECL mongo >= 1.2.3)

MongoPool::setSize — Set the size for future connection pools.

Beschreibung

public static bool MongoPool::setSize ( int $size )

Sets the max number of connections new pools will be able to create.

Parameter-Liste

size

The max number of connections future pools will be able to create. Negative numbers mean that the pool will spawn an infinite number of connections.

Rückgabewerte

Returns the former value of pool size.

Changelog

Version | Beschreibung
1.2.11 | Emits E_DEPRECATED when used.

Beispiele

Beispiel #1 Mongo::setPoolSize() example

If you set the pool size to n and then create n connections, attempting to create an n+1st connection will throw a MongoConnectionException.

<?php

// only allow one connection to a server
MongoPool::setSize(1);

// creates one connection to localhost:27017
$m1 = new Mongo();

// attempt to create a second connection to localhost:27017
// only one connection is allowed, so this will throw an exception
$m2 = new Mongo();

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Fatal error: Uncaught exception 'MongoConnectionException' with message 'no more connections in pool' in /path/to/php/script.php:10
Stack trace:
#0 /path/to/php/script.php(10): Mongo->__construct()
#1 {main}
  thrown in /path/to/php/script.php on line 10

Siehe auch

  • MongoPool::getSize() - Get pool size for connection pools
  • MongoPool::info() - Returns information about all connection pools.
  • The connection documentation.

MongoPool::info
Mongo
MongoPool


The Mongo class [deprecated]

(PECL mongo >=0.9.0)

Einführung

A connection between PHP and MongoDB.

This class extends MongoClient and provides access to several deprecated methods.

For backwards compatibility, it also defaults the "w" option of its constructor argument to 0, which does not require write operations to be acknowledged by the server. See MongoClient::__construct() for more information.

Warnung

This class has been DEPRECATED as of version 1.3.0. Relying on this feature is highly discouraged. Please use MongoClient instead.

Klassenbeschreibung

Mongo extends MongoClient {
/* Methoden */
protected bool connectUtil ( void )
public static int getPoolSize ( void )
public string getSlave ( void )
public bool getSlaveOkay ( void )
public array poolDebug ( void )
public static bool setPoolSize ( int $size )
public bool setSlaveOkay ([ bool $ok = true ] )
public string switchSlave ( void )
/* Geerbte Methoden */
public bool MongoClient::close ([ boolean|string $connection ] )
public bool MongoClient::connect ( void )
public array MongoClient::dropDB ( mixed $db )
public MongoDB MongoClient::__get ( string $dbname )
public static array MongoClient::getConnections ( void )
public array MongoClient::getHosts ( void )
public array MongoClient::getReadPreference ( void )
public array MongoClient::getWriteConcern ( void )
public bool MongoClient::killCursor ( string $server_hash , int|MongoInt64 $id )
public array MongoClient::listDBs ( void )
public MongoCollection MongoClient::selectCollection ( string $db , string $collection )
public MongoDB MongoClient::selectDB ( string $name )
public bool MongoClient::setReadPreference ( string $read_preference [, array $tags ] )
public bool MongoClient::setWriteConcern ( mixed $w [, int $wtimeout ] )
public string MongoClient::__toString ( void )
}

Inhaltsverzeichnis

  • Mongo::connectUtil — Connects with a database server
  • Mongo::__construct — The __construct purpose
  • Mongo::getPoolSize — Get pool size for connection pools
  • Mongo::getSlave — Returns the address being used by this for slaveOkay reads
  • Mongo::getSlaveOkay — Get slaveOkay setting for this connection
  • Mongo::poolDebug — Returns information about all connection pools.
  • Mongo::setPoolSize — Set the size for future connection pools.
  • Mongo::setSlaveOkay — Change slaveOkay setting for this connection
  • Mongo::switchSlave — Choose a new secondary for slaveOkay reads
MongoPool::setSize
Mongo::connectUtil
Miscellaneous


Connects with a database server

Mongo
Mongo::__construct
Mongo
PHP Manual

Mongo::connectUtil

(PECL mongo >=0.9.0)

Mongo::connectUtil — Connects with a database server

Beschreibung

protected bool Mongo::connectUtil ( void )
Warnung

This is an internal function that you should never call yourself.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

If the connection was successful.

Fehler/Exceptions

Throws MongoConnectionException if it fails to connect to the databases.

Mongo
Mongo::__construct
Mongo


The __construct purpose

Mongo::connectUtil
Mongo::getPoolSize
Mongo
PHP Manual

Mongo::__construct

(PECL mongo >=0.9.0)

Mongo::__construct — The __construct purpose

Beschreibung

public Mongo::__construct ([ string $server [, array $options ]] )

This method overwrites the MongoClient constructor and turns off acknowledged writes.

Please see MongoClient::__construct() for description of the parameters.

Rückgabewerte

Warnung

Instanciating this class will emit E_DEPRECATED warning, and turn off acknowledged writes.

Please use the MongoClient instead.

Mongo::connectUtil
Mongo::getPoolSize
Mongo


Get pool size for connection pools

Mongo::__construct
Mongo::getSlave
Mongo
PHP Manual

Mongo::getPoolSize

(PECL mongo >=1.2.0)

Mongo::getPoolSize — Get pool size for connection pools

Beschreibung

public static int Mongo::getPoolSize ( void )
Warnung

This feature has been DEPRECATED as of version 1.2.3. Relying on this feature is highly discouraged. Please use MongoPool::getSize() instead.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current pool size.

Changelog

Version | Beschreibung
1.2.11 | Emits E_DEPRECATED when used.

Beispiele

Beispiel #1 Changing pool size

This returns the default pool size, sets a new pool size, then prints the new pool size and the pool debugging information. Note that changing the pool size only affects new connection pools, it does not change old ones.

<?php

$connection = new Mongo("host1");

// pool size is -1
echo "pool size is: ".Mongo::getPoolSize()."\n";

echo "setting pool size to 200\n";

Mongo::setPoolSize(200);

// pool size is 200
echo "pool size is: ".Mongo::getPoolSize()."\n";

$conn2 = new Mongo("host2");

// remaining for host1 is -2
// remaining for host2 is 199
var_dump(Mongo::poolDebug());

?>

Siehe auch

  • Mongo::setPoolSize() - Set the size for future connection pools.
  • Mongo::poolDebug() - Returns information about all connection pools.
  • The connection documentation.

Mongo::__construct
Mongo::getSlave
Mongo


Returns the address being used by this for slaveOkay reads

Mongo::getPoolSize
Mongo::getSlaveOkay
Mongo
PHP Manual

Mongo::getSlave

(PECL mongo >=1.1.0)

Mongo::getSlave — Returns the address being used by this for slaveOkay reads

Beschreibung

public string Mongo::getSlave ( void )

This finds the address of the secondary currently being used for reads. It is a read-only method: it does not change anything about the internal state of the object.

When you create a connection to the database, the driver will not immediately decide on a secondary to use. Thus, after you connect, this function will return NULL even if there are secondaries available. When you first do a query with slaveOkay set, at that point the driver will choose a secondary for this connection. At that point, this function will return the chosen secondary.

See the query section of this manual for information on distributing reads to secondaries.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The address of the secondary this connection is using for reads.

This returns NULL if this is not connected to a replica set or not yet initialized.

Fehler/Exceptions

Issues E_DEPRECATED warning

The returned results aren't really useful as the secondary selection process is done on each query and database command execution.

Changelog

Version | Beschreibung
1.2.11 | Emits E_DEPRECATED when used.

Siehe auch

  • MongoCursor::info() - Gets information about the cursor's creation and iteration
Mongo::getPoolSize
Mongo::getSlaveOkay
Mongo


Get slaveOkay setting for this connection

Mongo::getSlave
Mongo::poolDebug
Mongo
PHP Manual

Mongo::getSlaveOkay

(PECL mongo >=1.1.0)

Mongo::getSlaveOkay — Get slaveOkay setting for this connection

Beschreibung

public bool Mongo::getSlaveOkay ( void )

See the query section of this manual for information on distributing reads to secondaries.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the value of slaveOkay for this instance.

Fehler/Exceptions

Issues E_DEPRECATED warning

Changelog

Version | Beschreibung
1.2.11 | Emits E_DEPRECATED when used.

Siehe auch

  • Read Preferences
  • MongoClient::getReadPreference() - Get the read preference for this connection
Mongo::getSlave
Mongo::poolDebug
Mongo


Returns information about all connection pools.

Mongo::getSlaveOkay
Mongo::setPoolSize
Mongo
PHP Manual

Mongo::poolDebug

(PECL mongo >=1.2.0)

Mongo::poolDebug — Returns information about all connection pools.

Beschreibung

public array Mongo::poolDebug ( void )
Warnung

This feature has been DEPRECATED as of version 1.2.3. Relying on this feature is highly discouraged. Please use MongoPool::info() instead.

Returns an array of information about all connection pools.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Each connection pool has an identifier, which starts with the host. For each pool, this function shows the following fields:

in use

The number of connections currently being used by MongoClient instances.

in pool

The number of connections currently in the pool (not being used).

remaining

The number of connections that could be created by this pool. For example, suppose a pool had 5 connections remaining and 3 connections in the pool. We could create 8 new instances of MongoClient before we exhausted this pool (assuming no instances of MongoClient went out of scope, returning their connections to the pool).

A negative number means that this pool will spawn unlimited connections.

Before a pool is created, you can change the max number of connections by calling Mongo::setPoolSize(). Once a pool is showing up in the output of this function, its size cannot be changed.

timeout

The socket timeout for connections in this pool. This is how long connections in this pool will attempt to connect to a server before giving up.

Changelog

Version | Beschreibung
1.2.11 | Emits E_DEPRECATED when used.

Mongo::getSlaveOkay
Mongo::setPoolSize
Mongo


Set the size for future connection pools.

Mongo::poolDebug
Mongo::setSlaveOkay
Mongo
PHP Manual

Mongo::setPoolSize

(PECL mongo >=1.2.0)

Mongo::setPoolSize — Set the size for future connection pools.

Beschreibung

public static bool Mongo::setPoolSize ( int $size )
Warnung

This method has been DEPRECATED as of version 1.2.3. Relying on this feature is highly discouraged. Please use MongoPool::setSize() instead.

Sets the max number of connections new pools will be able to create.

Parameter-Liste

size

The max number of connections future pools will be able to create. Negative numbers mean that the pool will spawn an infinite number of connections.

Rückgabewerte

Returns the former value of pool size.

Beispiele

Beispiel #1 Mongo::setPoolSize() example

If you set the pool size to n and then create n connections, attempting to create an n+1st connection will throw a MongoConnectionException.

<?php

// only allow one connection to a server
Mongo::setPoolSize(1);

// creates one connection to localhost:27017
$m1 = new Mongo();

// attempt to create a second connection to localhost:27017
// only one connection is allowed, so this will throw an exception
$m2 = new Mongo();

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Fatal error: Uncaught exception 'MongoConnectionException' with message 'no more connections in pool' in /path/to/php/script.php:10
Stack trace:
#0 /path/to/php/script.php(10): Mongo->__construct()
#1 {main}
  thrown in /path/to/php/script.php on line 10

Siehe auch

  • Mongo::getPoolSize() - Get pool size for connection pools
  • Mongo::poolDebug() - Returns information about all connection pools.
  • The connection documentation.

Mongo::poolDebug
Mongo::setSlaveOkay
Mongo


Change slaveOkay setting for this connection

Mongo::setPoolSize
Mongo::switchSlave
Mongo
PHP Manual

Mongo::setSlaveOkay

(PECL mongo >=1.1.0)

Mongo::setSlaveOkay — Change slaveOkay setting for this connection

Beschreibung

public bool Mongo::setSlaveOkay ([ bool $ok = true ] )

See the query section of this manual for information on distributing reads to secondaries.

Parameter-Liste

ok

If reads should be sent to secondary members of a replica set for all possible queries using this MongoClient instance.

Rückgabewerte

Returns the former value of slaveOkay for this instance.

Changelog

Version | Beschreibung
1.2.11 | Emits E_DEPRECATED when used.

Siehe auch

  • Read Preferences
  • MongoClient::setReadPreference() - Set the read preference for this connection
Mongo::setPoolSize
Mongo::switchSlave
Mongo


Choose a new secondary for slaveOkay reads

Mongo::setSlaveOkay
Mongo Funktionen
Mongo
PHP Manual

Mongo::switchSlave

(PECL mongo >=1.1.0)

Mongo::switchSlave — Choose a new secondary for slaveOkay reads

Beschreibung

public string Mongo::switchSlave ( void )

This choses a random secondary for a connection to read from. It is called automatically by the driver and should not need to be used. It calls MongoClient::getHosts() (to refresh the status of hosts) and Mongo::getSlave() (to get the return value).

See the query section of this manual for information on distributing reads to secondaries.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The address of the secondary this connection is using for reads. This may be the same as the previous address as addresses are randomly chosen. It may return only one address if only one secondary (or only the primary) is available.

For example, if we had a three member replica set with a primary, secondary, and arbiter this method would always return the address of the secondary. If the secondary became unavailable, this method would always return the address of the primary. If the primary also became unavailable, this method would throw an exception, as an arbiter cannot handle reads.

Fehler/Exceptions

Throws a MongoException (error code 15) if it is called on a non-replica-set connection. It will also throw MongoExceptions if it cannot find anyone (primary or secondary) to read from (error code 16).

Changelog

Version | Beschreibung
1.2.11 | Emits E_DEPRECATED when used.

Siehe auch

  • Read Preferences
Mongo::setSlaveOkay
Mongo Funktionen
Mongo


Mongo Funktionen

Inhaltsverzeichnis

  • bson_decode — Deserializes a BSON object into a PHP array
  • bson_encode — Serializes a PHP variable into a BSON string
Mongo::switchSlave
bson_decode
Mongo


Deserializes a BSON object into a PHP array

Mongo Funktionen
bson_encode
Mongo Funktionen
PHP Manual

bson_decode

(PECL mongo >=1.0.1)

bson_decode — Deserializes a BSON object into a PHP array

Beschreibung

array bson_decode ( string $bson )

This function is very beta and entirely useless for 99% of users. It is only useful if you're doing something weird, such as writing your own driver on top of the PHP driver.

Parameter-Liste

bson

The BSON to be deserialized.

Rückgabewerte

Returns the deserialized BSON object.

Mongo Funktionen
bson_encode
Mongo Funktionen


Serializes a PHP variable into a BSON string

bson_decode
Exceptions
Mongo Funktionen
PHP Manual

bson_encode

(PECL mongo >=1.0.1)

bson_encode — Serializes a PHP variable into a BSON string

Beschreibung

string bson_encode ( mixed $anything )

This function is very beta and entirely useless for 99% of users. It is only useful if you're doing something weird, such as writing your own driver on top of the PHP driver.

Parameter-Liste

anything

The variable to be serialized.

Rückgabewerte

Returns the serialized string.

bson_decode
Exceptions
Mongo Funktionen


Exceptions

Inhaltsverzeichnis

  • MongoException
  • MongoResultException
  • MongoCursorException
  • MongoCursorTimeoutException
  • MongoConnectionException
  • MongoGridFSException
  • MongoDuplicateKeyException
  • MongoProtocolException
  • MongoExecutionTimeoutException
  • MongoWriteConcernException

VMWare Oddities

If you are running VMWare on Windows and are using CIFS, pausing the VM will cause CIFS to go out of sync and cause weird errors on un-pausing it ("The Mongo object has not been correctly initialized by its constructor"). Permanently mounting the Windows shares will fix this and you'll be able to pause and unpause at will.

To permanently mount the Windows shares, run:

$ sudo update-rc.d -f umountnfs.sh remove
$ sudo update-rc.d umountnfs.sh stop 15 0 6 .

See » the Ubuntu docs for the most up-to-date instructions.

bson_encode
MongoException
Mongo


The MongoException class

(PECL mongo >= 1.0.0)

Einführung

Default Mongo exception.

This covers a bunch of different error conditions that may eventually be moved to more specific exceptions, but will always extend MongoException.

  • The MongoSomething object has not been correctly initialized by its constructor

    Code: 0

    Probably your Mongo object is not connected to a database server.

  • zero-length keys are not allowed, did you use $ with double quotes?

    Code: 1

    You tried to save "" as a key. You generally should not do this. "" can mess up subobject access and is used by MongoDB internally. However, if you really want, you can set mongo.allow_empty_keys to true in your php.ini file to override this sanity check. If you override this, it is highly recommended that you set error checking to strict to avoid string interpolation errors.

  • '.' not allowed in key: <key>

    Code: 2

    You attempted to write a key with '.' in it, which is prohibited.

  • insert too large: <size>, max: <max>

    Code: 3

    You're attempting to send too much data to the database at once: the database will only accept inserts up to a certain size (currently 16 MB).

  • no elements in doc

    Code: 4

    You're attempting to save a document with no fields.

  • size of BSON doc is <size> bytes, max <max>MB

    Code: 5

    You're attempting to save a document that is larger than MongoDB can save.

  • no documents given

    Code: 6

    You're attempting to batch insert an empty array of documents.

  • MongoCollection::group takes an array, object, or MongoCode key

    Code: 7

    Wrong type parameter send to MongoCollection::group().

  • field names must be strings

    Code: 8

    You should format field selectors as array("field1" => 1, "field2" => 1, ..., "fieldN" => 1).

  • invalid regex

    Code: 9

    The regex passed to MongoRegex is not of the correct form.

  • MongoDBRef::get: $ref field must be a string

    Code: 10

  • MongoDBRef::get: $db field must be a string

    Code: 11

  • non-utf8 string: <str>

    Code: 12

    This error occurs if you attempt to send a non-utf8 string to the database. All strings going into the database should be UTF8. See php.ini options for the transition option of quieting this exception.

  • mutex error: <err>

    Code: 13

    The driver uses mutexes for synchronizing requests and responses in multithreaded environments. This is a fairly serious error and may not have a stack trace. It's unusual and should be reported to maintainers with any system information and steps to reproduce that you can provide.

  • index name too long: <len>, max <max> characters

    Code: 14

    Indexes with names longer than 128 characters cannot be created. If you get this error, you should use MongoCollection::ensureIndex()'s "name" option to create a shorter name for your index.

Klassenbeschreibung

MongoException extends Exception {
}
Exceptions
MongoResultException
Exceptions


The MongoResultException class

(PECL mongo >=1.3.0)

Einführung

The MongoResultException is thrown by several command helpers (such as MongoCollection::findAndModify()) in the event of failure. The original result document is available through MongoResultException::getDocument().

Klassenbeschreibung

MongoResultException extends MongoException {
/* Eigenschaften */
public $document ;
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Methoden */
public array getDocument ( void )
}

Eigenschaften

document

The raw result document as an array.

Inhaltsverzeichnis

  • MongoResultException::getDocument — Retrieve the full result document
MongoException
MongoResultException::getDocument
Exceptions


Retrieve the full result document

MongoResultException
MongoCursorException
MongoResultException
PHP Manual

MongoResultException::getDocument

(PECL mongo >=1.3.0)

MongoResultException::getDocument — Retrieve the full result document

Beschreibung

public array MongoResultException::getDocument ( void )

Retrieves the full error result document.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The full result document as an array, including partial data if available and additional keys.

Beispiele

Beispiel #1 MongoResultException::getDocument() example

<?php
$mc = new MongoClient("localhost");
$c = $mc->selectCollection("test", "test");

$c->insert(array(
     "name" => "Next promo",
     "inprogress" => false,
     "priority" => 0,
     "tasks" => array( "select product", "add inventory", "do placement"),
) );

$c->insert(array(
     "name" => "Biz report",
     "inprogress" => false,
     "priority" => 1,
     "tasks" => array( "run sales report", "email report" )
) );

$c->insert(array(
     "name" => "Biz report",
     "inprogress" => false,
     "priority" => 2,
     "tasks" => array( "run marketing report", "email report" )
    ),
    array("w" => true)
);

try {
    $retval = $c->findAndModify(
         array("inprogress" => false, "name" => "Biz report"),
         array('$set' => array('$set' => array('inprogress' => true, "started" => new MongoDate()))),
         null,
         array(
            "sort" => array("priority" => -1),
            "new" => true,
        )
    );
} catch(MongoResultException $e) {
    echo $e->getMessage(), "\n";
    $res = $e->getDocument();
    var_dump($res);
}
?>

Oben gezeigte Beispiele erzeugen eine ähnliche Ausgabe wie:

$set is not valid for storage.
array(3) {
  ["lastErrorObject"]=>
  array(5) {
    ["connectionId"]=>
    int(6)
    ["err"]=>
    string(30) "$set is not valid for storage."
    ["code"]=>
    int(52)
    ["n"]=>
    int(0)
    ["ok"]=>
    float(1)
  }
  ["ok"]=>
  float(0)
  ["errmsg"]=>
  string(30) "$set is not valid for storage."
}
MongoResultException
MongoCursorException
MongoResultException


The MongoCursorException class

(PECL mongo >= 1.0.0)

Einführung

Caused by accessing a cursor incorrectly or a error receiving a reply. Note that this can be thrown by any database request that receives a reply, not just queries. Writes, commands, and any other operation that sends information to the database and waits for a response can throw a MongoCursorException. The only exception is new MongoClient() (creating a new connection), which will only throw MongoConnectionExceptions.

This returns a specific error message to help diagnose the problem and a numeric error code associated with the cause of the exception.

For example, suppose you tried to insert two documents with the same _id:

<?php

try {
    $collection->insert(array("_id" => 1), array("w" => 1));
    $collection->insert(array("_id" => 1), array("w" => 1));
}
catch (MongoCursorException $e) {
    echo "error message: ".$e->getMessage()."\n";
    echo "error code: ".$e->getCode()."\n";
}

?>
This would produce output like:
error message: E11000 duplicate key error index: foo.bar.$_id_  dup key: { : 1 }
error code: 11000
Note that the MongoDB error code (11000) is used for the PHP error code. The PHP driver uses the "native" error code wherever possible.

The following is a list of common errors, codes, and causes. Exact errors are in italics, errors where the message can vary are described in obliques.

  • cannot modify cursor after beginning iteration

    Code: 0

    You are calling a method that sets up the query after executing the query. Reset the cursor and try again.

    An example:

    <?php

    try {
            $cursor = $collection->find();
            var_dump($cursor->getNext());

            // getNext() queried the database, it's too late to set a limit
            $cursor->limit(1);
    }
    catch (    MongoCursorException $e) {
        echo     "error message: ".$e->getMessage()."\n";
        echo     "error code: ".$e->getCode()."\n";
    }

    // this will work, though:
    $cursor->getNext();
    $cursor->reset();
    $cursor->limit(1);

    ?>

  • Get next batch send errors

    Code: 1

    Could not send the query to the database. Make sure the database is still up and the network is okay.

  • cursor not found

    Code: 2

    The driver was trying to fetch more results from the database, but the database did not have a record of the query. This usually means that the cursor timed out on the server side: after a few minutes of inactivity, the database will kill a cursor (see MongoCursor::immortal() for information on preventing this).

    An example:

    <?php

    try {
            $cursor = $collection->find();
            $cursor->getNext();

            // sleep for 15 minutes
            sleep(60*15);

        while (    $cursor->hasNext()) {
                $cursor->getNext();
        }
    }
    catch (    MongoCursorException $e) {
        echo     "error message: ".$e->getMessage()."\n";
        echo     "error code: ".$e->getCode()."\n";
    }

    ?>

  • cursor->buf.pos is null

    Code: 3

    This may indicate you are out of RAM or some other extraordinary circumstance.

  • couldn't get response header

    Code: 4

    A common error if the database or network goes down. This means that the driver couldn't get a response from the connection.

  • no db response

    Code: 5

    This may not even be an error, for example, the database command "shutdown" returns no response. However, if you were expecting a response, this means the database didn't give one.

  • bad response length: %d, did the db assert?

    Code: 6

    This means that the database said that its response was less than 0. This error probably indicates a network error or database corruption.

  • incomplete header

    Code: 7

    Highly unusual. Occurs if the database response started out correctly, but broke off in the middle. Probably indicates a network problem.

  • incomplete response

    Code: 8

    Highly unusual. Occurs if the database response started out correctly, but broke off in the middle. Probably indicates a network problem.

  • couldn't find a response

    Code: 9

    If the response was cached and now cannot be located.

  • error getting socket

    Code: 10

    The socket was closed or encountered an error. The driver should automatically reconnect (if possible) on the next operation.

  • couldn't find reply, please try again

    Code: 11

    The driver saves any database responses it cannot immediately match with a request. This exception occurs if the driver has already passed your request's response and cannot find your response in its cache.

  • error getting database response: errstr

    WSA error getting database response: errstr

    "errstr" is an io error reported directly from the C socket subsystem. On Windows, the error message is prefixed with "WSA".

  • Timeout error

    Code: 13

    If there was an error while waiting for a query to complete.

  • couldn't send query: <various>

    Code: 14

    C socket error on send.

  • max number of retries exhausted, couldn't send query

    Code: 19

    The driver will automatically retry "plain" queries (not commands) a couple of times if the first attempt failed for certain reasons. This is to cause fewer exceptions during replica set failover (although you will probably still have to deal with some) and gloss over transient network issues.

    This can also be caused by the driver not being able to reconnect at all to the database (if, for example, the database is unreachable).

    Version 1.2.2+.

Errors passed through by the database

Database errors should always trigger MongoCursorExceptions on queries. Error messages and codes are sent directly from the database and you should be able to see matching errors in the database log.

A few common database errors are listed below:

  • E11000 duplicate key error index: foo.bar.$X dup key: { /* ... */ }

    Code: 11000

    Database error for duplicate keys.

  • not master

    Codes: 10107, 13435, and 10058

    Not master errors, piped through by the database. ach of these will cause the driver to disconnect and attempt to find a new primary. The actual error you get on failover may not be a "not master" error, depending on when the change in primary occurs.

Klassenbeschreibung

MongoCursorException extends MongoException {
}

Inhaltsverzeichnis

  • MongoCursorException::getHost — The hostname of the server that encountered the error
MongoResultException::getDocument
MongoCursorException::getHost
Exceptions


The hostname of the server that encountered the error

MongoCursorException
MongoCursorTimeoutException
MongoCursorException
PHP Manual

MongoCursorException::getHost

(PECL mongo >= 1.0.0)

MongoCursorException::getHost — The hostname of the server that encountered the error

Beschreibung

public string MongoCursorException::getHost ( void )

Returns the hostname of the server the query was sent too.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the hostname, or NULL if the hostname is unknown.

MongoCursorException
MongoCursorTimeoutException
MongoCursorException


The MongoCursorTimeoutException class

(PECL mongo >= 1.0.0)

Einführung

Caused by a query timing out. You can set the length of time to wait before this exception is thrown by calling MongoCursor::timeout() on the cursor or setting MongoCursor::$timeout. The static variable is useful for queries such as database commands and MongoCollection::findOne(), both of which implicitly use cursors.

Klassenbeschreibung

MongoCursorTimeoutException extends MongoCursorException {
}
MongoCursorException::getHost
MongoConnectionException
Exceptions


The MongoConnectionException class

(PECL mongo >= 1.0.0)

Einführung

Thrown when the driver fails to connect to the database.

There are a number of possible error messages to help you diagnose the connection problem. These are:

  • No candidate servers found

    Thrown when the driver cannot establish a connection to MongoDB (fulfilling the ReadPreferences, if specified).

  • No server name given.

    This error occurs if you pass in "" as the server name, probably because of an typo with string interpolation, e.g., "$servr" instead of "$server".

  • failed to get host [hostname] or port [portnum] from [server].

    This indicated that the server string was malformed. "[hostname]" and "[portnum]" will be as much as the driver could dicipher of it.

  • Operation in progress

    Connecting to the database timed out.

  • Transport endpoint is not connected

    Generally means that the connection string isn't correct, the driver couldn't even find the database server.

  • couldn't determine master

    No server in a replica set connection was identified as the primary.

  • couldn't get host info for [server]

    This indicated that DNS could not resolve the server address you gave. This could easily be caused by a typo, for example, "server" instead of "$server".

  • Invalid Argument

    This can be caused by attempting to connect to a machine that is up but that the database isn't actually running on. Make sure that you've started the database server before connecting.

  • Permission denied

    This means that the socket could not be opened due to permissions issues. On Red Hat variants, this can be caused by a default setting that does not allow Apache to create network connections. You can override this setting by running:

    $ /usr/sbin/setsebool -P httpd_can_network_connect 1
    then restarting Apache.

If the error message is not listed above, it is probably an error from the C socket, and you can search the web for its usual cause.

Klassenbeschreibung

MongoConnectionException extends MongoException {
}
MongoCursorTimeoutException
MongoGridFSException
Exceptions


The MongoGridFSException class

(PECL mongo >= 1.0.0)

Einführung

Thrown when there are errors reading or writing files to or from the database.

Klassenbeschreibung

MongoGridFSException extends MongoException {
}

Error codes

MongoGridFSException error codes
Code | Message | Reason
3 | Could not open file $filename | Attempting to store an invalid file, such as directory
4 | File $filename is too large: $filesize bytes | Maximum filesize in GridFS is 4GB
5 | could not find filehandle | Resource doesn't have a filehandle
6 | no file is associate with this filehandle | Resource isn't a file resource
7 | error setting up file: $filenames | Could not open file for reading
9 | error reading file $filenames | Failed reading file
10 | error reading filehandle | Failed reading from a resource
11 | could not find uploaded file %s | Filename doesn't seem to be uploaded file
12 | Couldn't find tmp_name in the $_FILES array. Are you sure the upload worked? | Uploaded filename probably failed
13 | tmp_name was not a string or an array | Invalid filename given
14 | couldn't find file size | The length property is missing
15 | Cannot find filename | No filename provided, and no filename property set
16 | could not open destination file %s | Destination filename not writable
17 | error reading chunk of file | Chunk corruption
18 | couldn't create a php_stream | Couldn't create a stream resource
19 | couldn't find property | Chunk corruption
20 | chunk number has wrong size (size) when the max is maxchunksize | Chunk larger then expected
21 | chunk has wrong format | Chunk corruption

MongoConnectionException
MongoDuplicateKeyException
Exceptions


The MongoDuplicateKeyException class

(PECL mongo >= 1.5.0)

Einführung

Thrown when attempting to insert a document into a collection which already contains the same values for the unique keys.

Klassenbeschreibung

MongoDuplicateKeyException extends MongoWriteConcernException {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Geerbte Methoden */
public array MongoWriteConcernException::getDocument ( void )
}

Beispiele

Beispiel #1 Catching MongoDuplicateKeyException

<?php
$mc = new MongoClient("localhost");

$c = $mc->selectCollection("test", "test");

$c->insert(array('_id' => 1));
try {
    $c->insert(array('_id' => 1));
} catch (MongoWriteConcernException $e) {
    echo $e->getMessage(), "\n";
}
?>

Oben gezeigte Beispiele erzeugen eine ähnliche Ausgabe wie:

localhost:27017: insertDocument :: caused by :: 11000 E11000 duplicate key error index: test.test.$_id_  dup key: { : 1 }
MongoGridFSException
MongoProtocolException
Exceptions


The MongoProtocolException class

(PECL mongo >= 1.5.0)

Einführung

When talking to MongoDB 2.6.0, and later, certain operations (such as writes) may throw MongoProtocolException when the response from the server did not make sense - for example during network failure (we could read the entire response) or data corruption.

This exception is also thrown when attempting to talk newer protocols then the server supports, for example using the MongoWriteBatch when talking to a MongoDB server prior to 2.6.0.

Klassenbeschreibung

MongoProtocolException extends MongoException {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
}

Beispiele

Beispiel #1 Catching MongoProtocolException

Running the following example against MongoDB prior to 2.6.0 will throw an MongoProtocolException

<?php
$mc = new MongoClient("localhost");
$c = $mc->selectCollection("test", "test");

try {
    $batch = new MongoInsertBatch($c);
} catch(MongoProtocolException $e) {
    echo $e->getMessage();
}
?>

Oben gezeigte Beispiele erzeugen eine ähnliche Ausgabe wie:

Current primary does not have a Write API
MongoDuplicateKeyException
MongoExecutionTimeoutException
Exceptions


The MongoExecutionTimeoutException class

(PECL mongo >= 1.5.0)

Einführung

Thrown when a operation times out server side (i.e. in MongoDB).

To configure the operation timeout threshold, use MongoCursor::maxTimeMS() or the "maxTimeMS" command option.

Klassenbeschreibung

MongoExecutionTimeoutException extends MongoException {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
}
MongoProtocolException
MongoWriteConcernException
Exceptions


The MongoWriteConcernException class

(PECL mongo >= 1.5.0)

Einführung

MongoWriteConcernException is thrown when a write fails. See Write Concerns for how to set failure thresholds.

Prior to MongoDB 2.6.0, the » getLastError command would determine whether a write failed.

Klassenbeschreibung

MongoWriteConcernException extends MongoCursorException {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Methoden */
public array getDocument ( void )
/* Geerbte Methoden */
public string MongoCursorException::getHost ( void )
}

Inhaltsverzeichnis

  • MongoWriteConcernException::getDocument — Get the error document
MongoExecutionTimeoutException
MongoWriteConcernException::getDocument
Exceptions


Get the error document

MongoWriteConcernException
Changelog
MongoWriteConcernException
PHP Manual

MongoWriteConcernException::getDocument

(PECL mongo >= 1.5.0)

MongoWriteConcernException::getDocument — Get the error document

Beschreibung

public array MongoWriteConcernException::getDocument ( void )

Returns the actual response from the server that was interperated as an error.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A MongoDB document, if available, as an array.

MongoWriteConcernException
Changelog
MongoWriteConcernException


Changelog

Folgende Änderungen wurden an den Klassen/Funktionen/Methoden dieser Extension vorgenommen.

MongoDB PHP Driver 1.5.0

It supports all new features for MongoDB 2.6, including:

  • Aggregate can now return a cursor
  • Aggregation pipelines can now be explained
  • Possible to set maxTimeMS for commands and queries
  • Transparent support for the new command-based MongoDB write API
  • New MongoWriteBatch classes (using the new MongoDB write API)
  • Support for MongoDB Enterprise features (e.g. Kerberos, LDAP, X509)
  • Option to tune acceptable server latency for secondary reads (secondaryAcceptableLatencyMS)

With this release, some driver functionality which was previously documented as deprecated will now formally raise deprecation notices. This includes:

  • Instantiating the Mongo class
  • Calling MongoCursor::slaveOkay()
  • "wtimeout" and "safe" options for MongoCollection write operations
  • Manipulating public properties on core classes (such as $collection->w)

Hinweis:

No previously deprecated features have been removed.

Changes in behaviour:

  • Setting the mongo.native_long INI setting now raises an error on 32-bit platforms, and now defaults to true for 64-bit platforms.

MongoDB PHP Driver 1.4.0

The 1.4 series introduced fundemental changes in how connections are created to the MongoDB servers. The driver now utilizes PHP native streams, so all normal PHP stream options apply. Furthermore, an experimental Stream Context Support was added.

The 1.4.x series also added support for MongoDB 2.4.x.

The most important improvements however deal with the handling of replica sets, especially nodes that timeout and nodes that are unreachable for various reasons. Besides the improvements to replica set handling, this release addresses issues with read preferences through mongos nodes. It also adds support for SSL enabled connections as well as journal and fsync connection string options.

MongoDB PHP Driver 1.3.0

The 1.3 series introduced several major changes to the extension such as completely rewritten connection handling (and removal of the pooling mechanism), support for ReadPreferences and change the default WriteConcerns to be acknowledged by introducing a new class MongoClient which serves as a replacement class for the now deprecated Mongo class.

The driver now also supports connecting to multiple mongos instances (the Mongo Shard router) for loadbalancing.

Other enhancements include improved logging for easier connection handling debugging with MongoLog and support for the » Aggregation Framework via the MongoCollection::aggregate() method.

Changes to existing methods

Following is a list of all improvements to existing methods since their inception.

Version | Function | Description
1.7.0 | MongoDB::execute | This method has been deprecated as a result of the underlaying eval command being deprecated in MongoDB 3.0+.
1.6.0 | MongoCollection::count | The second parameter is now an options array. Passing limit and skip as the second and third parameters, respectively, is deprecated.
 | MongoDB::getCollectionNames | Changed first parameter to be an array of options. Pre-1.6.0, the first parameter was a boolean indicating the "includeSystemCollections" option.
 | MongoDB::listCollections | Changed first parameter to be an array of options. Pre-1.6.0, the first parameter was a boolean indicating the "includeSystemCollections" option.
1.5.0 | log_cmd_delete | Only available when connected to MongoDB 2.6.0+
 | log_cmd_insert | Only available when connected to MongoDB 2.6.0+
 | log_cmd_update | Only available when connected to MongoDB 2.6.0+
 | log_write_batch | Only available when connected to MongoDB 2.6.0+
 | MongoBinData::__construct | The default changed from 2 (MongoBinData::BYTE_ARRAY) to 0 (MongoBinData::GENERIC).
 | MongoClient::__construct | Added "authSource".
 | MongoClient::__construct | Added "authMechanism", "gssapiServiceName", and "secondaryAcceptableLatencyMS".
 | MongoCollection::aggregate | Added optional options argument
 | MongoCollection::batchInsert | Added the "wTimeoutMS" option, which replaces "wtimeout". Emits E_DEPRECATED when "wtimeout" is used. Added the "socketTimeoutMS" option, which replaces "timeout". Emits E_DEPRECATED when "timeout" is used. Emits E_DEPRECATED when "safe" is used.
 | MongoCollection::ensureIndex | Renamed the "wtimeout" option to "wTimeoutMS". Emits E_DEPRECATED when "wtimeout" is used. Renamed the "timeout" option to "socketTimeoutMS". Emits E_DEPRECATED when "timeout" is used. Emits E_DEPRECATED when "safe" is used.
 | MongoCollection::findOne | Added optional options argument.
 | MongoCollection::group | Added "maxTimeMS" option.
 | MongoCollection::insert | Added the "wTimeoutMS" option, which replaces "wtimeout". Emits E_DEPRECATED when "wtimeout" is used. Added the "socketTimeoutMS" option, which replaces "timeout". Emits E_DEPRECATED when "timeout" is used. Emits E_DEPRECATED when "safe" is used.
 | MongoCollection::remove | Added "wTimeoutMS" option, which replaces "wtimeout". Emits E_DEPRECATED when "wtimeout" is used. Added "socketTimeoutMS" option, which replaces "timeout". Emits E_DEPRECATED when "timeout" is used. Emits E_DEPRECATED when "safe" is used.
 | MongoCollection::save | Added "wTimeoutMS" option, which replaces "wtimeout". Emits E_DEPRECATED when "wtimeout" is used. Added "socketTimeoutMS" option, which replaces "timeout". Emits E_DEPRECATED when "timeout" is used. Emits E_DEPRECATED when "safe" is used.
 | MongoCollection::toIndexString | This method has been deprecated.
 | MongoCollection::update | Added the "wTimeoutMS" option, which replaces "wtimeout". Emits E_DEPRECATED when "wtimeout" is used. Added the "socketTimeoutMS" option, which replaces "timeout". Emits E_DEPRECATED when "timeout" is used. Emits E_DEPRECATED when "safe" is used.
 | MongoCursor::slaveOkay | This method has been deprecated in favour of MongoCursor::setReadPreference and .
 | MongoDB::command | Renamed the "timeout" option to "socketTimeoutMS". Emits E_DEPRECATED when "timeout" is used. Added hash by-reference parameter.
1.4.5 | MongoCursor::batchSize | Before 1.4.5, this method would throw an MongoCursorException if the cursor had already started iterating.
1.4.0 | MongoClient::__construct | Added "ssl" option and support for connecting over SSL. Added "wTimeoutMS" option, which replaces "wTimeout". Emits E_DEPRECATED when "slaveOkay" or "timeout" is used.
 | MongoCursor::hint | The index argument now supports index names as string values. In versions before 1.4.0, only array or object values were accepted.
 | MongoCursor::setFlag | Support for flag 3 (OPLOG_REPLAY) is added. Versions before 1.4.0 would throw a warning saying that the flag is unsupported.
 | MongoDB::createCollection | In versions before 1.4.0, the options were all arguments to the method. The function synopsis in those older versions is: public MongoCollectionMongoDB::createCollection stringname boolcappedFALSE intsize0 intmax0 The meaning of the options is the same as described under the options argument above.
 | MongoId::__construct | An exception is thrown when passed invalid string
1.3.4 | MongoClient::__construct | Added "connectTimeoutMS" and "socketTimeoutMS" options.
 | MongoCollection::batchInsert | Added "wtimeout" option.
 | MongoCollection::ensureIndex | Added "wtimeout" option.
 | MongoCollection::insert | Added "wtimeout" option.
 | MongoCollection::remove | Added "wtimeout" option.
 | MongoCollection::update | Added "wtimeout" option.
1.3.3 | MongoClient::getReadPreference | The return value has changed to be consistent with MongoClient::setReadPreference. The type value was changed from a number to a string, type_string was removed, and tagsets now expresses tags as key/value pairs instead of colon-delimited strings.
 | MongoCollection::getReadPreference | The return value has changed to be consistent with MongoCollection::setReadPreference. The type value was changed from a number to a string, type_string was removed, and tagsets now expresses tags as key/value pairs instead of colon-delimited strings.
 | MongoDB::getReadPreference | The return value has changed to be consistent with MongoDB::setReadPreference. The type value was changed from a number to a string, type_string was removed, and tagsets now expresses tags as key/value pairs instead of colon-delimited strings.
1.3.0 | MongoClient::close | The connection parameter to this function was added in 1.3.0. Before that, only the write connection would be closed by this method.
 | MongoClient::__construct | Added "readPreference", "readPreferenceTags", "w", and "wTimeout" options.
 | MongoCollection::batchInsert | Added "w" option.
 | MongoCollection::ensureIndex | Added "w" option. The options parameter no longer accepts a boolean to signify a unique index. Instead, this now has to be done with array('unique' => true).
 | MongoCollection::insert | Added "w" option. The options parameter no longer accepts a boolean to signify an acknowledged write. Instead, this now has to be done with array('w' => 1) (the default behaviour of MongoClient).
 | MongoCollection::remove | Added "w" option. The options parameter no longer accepts a boolean to signify "justOne". Instead, this now has to be done with array('justOne' => true).
 | MongoCollection::update | Added "w" option. The options parameter no longer accepts a boolean to signify an upsert. Instead, this now has to be done with array('upsert' => true).
 | MongoDB::listCollections | Added the includeSystemCollections parameter.
 | MongoGridFSCursor::key | The document's _id is returned as a string value, since the key should be unique. Pre-1.3.0, filename was returned.
1.2.11 | Mongo::getPoolSize | Emits E_DEPRECATED when used.
 | Mongo::getSlave | Emits E_DEPRECATED when used.
 | Mongo::getSlaveOkay | Emits E_DEPRECATED when used.
 | Mongo::poolDebug | Emits E_DEPRECATED when used.
 | Mongo::setSlaveOkay | Emits E_DEPRECATED when used.
 | Mongo::switchSlave | Emits E_DEPRECATED when used.
 | MongoBinData::__construct | Emits E_DEPRECATED when the second argument is not used. The default value for type may change in the near future.
 | MongoCollection::ensureIndex | Emits E_DEPRECATED when options is scalar.
 | MongoCollection::getSlaveOkay | Emits E_DEPRECATED when used.
 | MongoCollection::group | Emits E_DEPRECATED when options is scalar.
 | MongoCollection::remove | Emits E_DEPRECATED when options is scalar.
 | MongoCollection::setSlaveOkay | Emits E_DEPRECATED when used.
 | MongoCollection::update | Emits E_DEPRECATED when options is scalar.
 | MongoCursor::doQuery | Emits E_DEPRECATED when used.
 | MongoDB::authenticate | Emits E_DEPRECATED when used. Please pass in the authentication details to the constructor.
 | MongoDB::forceError | Emits E_DEPRECATED when used.
 | MongoDB::getSlaveOkay | Emits E_DEPRECATED when used.
 | MongoDB::prevError | Emits E_DEPRECATED when used.
 | MongoDB::resetError | Emits E_DEPRECATED when used.
 | MongoDB::setSlaveOkay | Emits E_DEPRECATED when used.
 | MongoPool::getSize | Emits E_DEPRECATED when used.
 | MongoPool::info | Emits E_DEPRECATED when used.
 | MongoPool::setSize | Emits E_DEPRECATED when used.
1.2.10 | MongoClient::getHosts | Support for non-replicasets was added. The returned array elements now also include the hostname and port.
1.2.7 | MongoCollection::batchInsert | Added "continueOnError" option.
1.2.5 | MongoGridFS::storeUpload | Changed second parameter to an array of metadata. Pre-1.2.5, the second parameter was an optional string overriding the filename.
1.2.0 | MongoClient::close | Before version 1.2.0 the driver would not use persistent connections by default, and all connections would be closed as soon as a MongoDB connection went out if scope. Since version 1.2.0 this is no longer the case and it is a bad idea to call close as you might end up overloading the server with connections under high load.
 | MongoClient::__construct | Added "username" and "password" options. Removed "persist" option, as all connections are now persistent. It can still be used, but it doesn't affect anything. "persist" If the connection should be persistent. If set, the connection will be persistent. The string representation of the value is used as an ID for the connection, so two instances of MongoClient that are initialized with array("persist" => "foobar") will share the same database connection, whereas an instance initialized with array("persist" => "barbaz") will use a different database connection. The "replicaSet" option now takes a string, not a boolean.
 | MongoCollection::ensureIndex | Added "timeout" option.
 | MongoCollection::insert | Added "timeout" option.
 | MongoCollection::remove | Added "timeout" option.
 | MongoCollection::save | Added "timeout" option.
 | MongoCollection::update | Added "timeout" option.
 | MongoDB::command | Added options parameter with a single option: "timeout".
1.1.0 | MongoCursor::info | Added a number of other fields, including id (the cursor id), at (the driver's counter of which document is current), numReturned (the number returned by the server in the current batch), and server (which server the query was sent to—useful in conjunction with .
1.0.11 | MongoCollection::ensureIndex | The "safe" option will trigger a primary failover, if necessary. MongoException will be thrown if the index name (either generated or set) is longer than 128 bytes.
 | MongoCollection::insert | Disconnects on "not master" errors if "safe" is set.
 | MongoCollection::remove | Disconnects on "not master" errors if "safe" is set.
 | MongoCollection::save | Disconnects on "not master" errors if "safe" is set.
 | MongoCollection::update | Disconnects on "not master" errors if "safe" is set.
1.0.10 | MongoCursor::info | Added started_iterating field, a boolean indicating if cursor is pre- or post-query.
1.0.9 | MongoClient::__construct | Added "replicaSet" option.
 | MongoCollection::batchInsert | Added ability to pass integers to the "safe" option, which previously only accepted booleans. Added "fsync" option.
 | MongoCollection::insert | Added ability to pass integers to the "safe" option, which previously only accepted booleans. Added "fsync" option. The return type was changed to be an array containing error information if the "safe" option is used. Otherwise, a boolean is returned as before.
 | MongoCollection::remove | Added ability to pass integers to the "safe" option, which previously only accepted booleans. Added "fsync" option. The return type was changed to be an array containing error information if the "safe" option is used. Otherwise, a boolean is returned as before.
 | MongoCollection::save | Added "fsync" option.
 | MongoCollection::update | Added ability to pass integers to the "safe" option, which previously only accepted booleans. Added "fsync" option. The return type was changed to be an array containing error information if the "safe" option is used. Otherwise, a boolean is returned as before.
1.0.7 | MongoCollection::count | Added limit and skip as second and third parameters, respectively.
1.0.5 | MongoCollection::batchInsert | Added options parameter.
 | MongoCollection::ensureIndex | Added the "name" option to override index name creation.
 | MongoCollection::remove | Changed second parameter to be an array of options. Pre-1.0.5, the second parameter was a boolean indicating the "safe" option.
 | MongoCollection::save | Added options parameter.
 | MongoCollection::update | Added "safe" option.
1.0.2 | MongoClient::__construct | Changed constructor to take an array of options. Pre-1.0.2, the constructor took the following parameters: server The server name. connect Optional boolean parameter specifying if the constructor should connect to the database before returning. Defaults to TRUE. persistent If the connection should be persistent. paired If the connection should be paired.
 | MongoCollection::ensureIndex | Changed options parameter from boolean to array. Pre-1.0.2, the second parameter was an optional boolean value specifying a unique index.
 | MongoCollection::insert | Changed second parameter to be an array of options. Pre-1.0.2, the second parameter was a boolean indicating the "safe" option.
1.0.1 | MongoCollection::insert | Throw a MongoCursorException if the "safe" option is set and the insert fails.
 | MongoCollection::update | Changed options parameter from boolean to array. Pre-1.0.1, the second parameter was an optional boolean value specifying an upsert.
MongoWriteConcernException::getDocument
MongoDB
Mongo


MongoDB driver

Unlike the mongo extension, this extension supports both PHP and HHVM and is developed atop the » libmongoc and » libbson libraries. It provides a minimal API for core driver functionality: commands, queries, writes, connection management, and BSON serialization.

Userland PHP libraries that depend on this extension may provide higher level APIs, such as query builders, individual command helper methods, and GridFS. Application developers should consider using this extension in conjunction with the » MongoDB PHP library, which implements the same higher level APIs found in MongoDB drivers for other languages. This separation of concerns allows the driver to focus on essential features for which an extension implementation is paramount for performance.

  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Vordefinierte Konstanten
  • Tutorials
    • Getting Started with HHVM
    • Using the PHP Library for MongoDB (PHPLIB)
  • Driver Architecture and Internals — Explains the driver architecure, and special features
    • Architecture — Architecture Overview
    • Connections — Connection handling and persistence
    • Persisting Data — Serialization and deserialization of PHP variables into MongoDB
  • Security
    • Request Injection Attacks
    • Script Injection Attacks
  • MongoDB\Driver — MongoDB driver classes
    • MongoDB\Driver\Manager — The MongoDB\Driver\Manager class
    • MongoDB\Driver\Command — The MongoDB\Driver\Command class
    • MongoDB\Driver\Query — The MongoDB\Driver\Query class
    • MongoDB\Driver\BulkWrite — The MongoDB\Driver\BulkWrite class
    • MongoDB\Driver\WriteConcern — The MongoDB\Driver\WriteConcern class
    • MongoDB\Driver\ReadPreference — The MongoDB\Driver\ReadPreference class
    • MongoDB\Driver\ReadConcern — The MongoDB\Driver\ReadConcern class
    • MongoDB\Driver\Cursor — The MongoDB\Driver\Cursor class
    • MongoDB\Driver\CursorId — The MongoDB\Driver\CursorId class
    • MongoDB\Driver\Server — The MongoDB\Driver\Server class
    • MongoDB\Driver\WriteConcernError — The MongoDB\Driver\WriteConcernError class
    • MongoDB\Driver\WriteError — The MongoDB\Driver\WriteError class
    • MongoDB\Driver\WriteResult — The MongoDB\Driver\WriteResult class
  • MongoDB\BSON — BSON type classes and serialization functions
    • Funktionen
    • MongoDB\BSON\Binary — The MongoDB\BSON\Binary class
    • MongoDB\BSON\Decimal128 — The MongoDB\BSON\Decimal128 class
    • MongoDB\BSON\Javascript — The MongoDB\BSON\Javascript class
    • MongoDB\BSON\MaxKey — The MongoDB\BSON\MaxKey class
    • MongoDB\BSON\MinKey — The MongoDB\BSON\MinKey class
    • MongoDB\BSON\ObjectID — The MongoDB\BSON\ObjectID class
    • MongoDB\BSON\Regex — The MongoDB\BSON\Regex class
    • MongoDB\BSON\Timestamp — The MongoDB\BSON\Timestamp class
    • MongoDB\BSON\UTCDateTime — The MongoDB\BSON\UTCDateTime class
    • MongoDB\BSON\Type — The MongoDB\BSON\Type interface
    • MongoDB\BSON\Persistable — The MongoDB\BSON\Persistable interface
    • MongoDB\BSON\Serializable — The MongoDB\BSON\Serializable interface
    • MongoDB\BSON\Unserializable — The MongoDB\BSON\Unserializable interface
  • MongoDB\Driver\Exception — Exception classes
    • MongoDB\Driver\Exception\AuthenticationException — The MongoDB\Driver\Exception\AuthenticationException class
    • MongoDB\Driver\Exception\BulkWriteException — The MongoDB\Driver\Exception\BulkWriteException class
    • MongoDB\Driver\Exception\ConnectionException — The MongoDB\Driver\Exception\ConnectionException class
    • MongoDB\Driver\Exception\ConnectionTimeoutException — The MongoDB\Driver\Exception\ConnectionTimeoutException class
    • MongoDB\Driver\Exception\Exception — The MongoDB\Driver\Exception\Exception interface
    • MongoDB\Driver\Exception\ExecutionTimeoutException — The MongoDB\Driver\Exception\ExecutionTimeoutException class
    • MongoDB\Driver\Exception\InvalidArgumentException — The MongoDB\Driver\Exception\InvalidArgumentException class
    • MongoDB\Driver\Exception\LogicException — The MongoDB\Driver\Exception\LogicException class
    • MongoDB\Driver\Exception\RuntimeException — The MongoDB\Driver\Exception\RuntimeException class
    • MongoDB\Driver\Exception\SSLConnectionException — The MongoDB\Driver\Exception\SSLConnectionException class
    • MongoDB\Driver\Exception\UnexpectedValueException — The MongoDB\Driver\Exception\UnexpectedValueException class
    • MongoDB\Driver\Exception\WriteException — The MongoDB\Driver\Exception\WriteException class
Changelog
Installation/Konfiguration
Anbieterspezifische Datenbankerweiterungen


Installation/Konfiguration

  • Anforderungen
  • Installation
    • Installing the MongoDB PHP Driver with PECL
    • Installing the MongoDB PHP Driver on OSX with Homebrew
    • Installing the MongoDB PHP Driver on Windows
    • Manually Installing the MongoDB PHP Driver
    • Manually Installing the MongoDB HHVM Driver
  • Laufzeit-Konfiguration
  • Vordefinierte Konstanten
MongoDB
Anforderungen
MongoDB


Anforderungen

The PHP variant of the driver requires PHP 5.4 or higher.

The HHVM variant of the driver requires HHVM 3.9 or higher.

The driver requires » libbson and » libmongoc, and will use bundled versions of both libraries by default.

The driver requires » OpenSSL and will rely on PHP to find its headers (i.e. PHP_SETUP_OPENSSL). If the build process fails to find OpenSSL, check that the OpenSSL development package (e.g. libssl-dev) and » pkg-config are both installed.

» Cyrus SASL is an optional dependency and will be used if available.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Inhaltsverzeichnis

  • Installing the MongoDB PHP Driver with PECL
  • Installing the MongoDB PHP Driver on OSX with Homebrew
  • Installing the MongoDB PHP Driver on Windows
  • Manually Installing the MongoDB PHP Driver
  • Manually Installing the MongoDB HHVM Driver
Anforderungen
Installing the MongoDB PHP Driver with PECL
Installation/Konfiguration


Installing the MongoDB PHP Driver with PECL

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/mongodb

Linux, Unix, and OS X users may run the following command to install the driver:

$ sudo pecl install mongodb

Hinweis: Installing the driver via PECL will use bundled versions of » libbson and » libmongoc and rely on PHP to find OpenSSL (i.e. PHP_SETUP_OPENSSL). If the build process fails to find OpenSSL, check that the OpenSSL development package (e.g. libssl-dev) and » pkg-config are both installed.

Add the following line to your php.ini file:

extension=mongodb.so

Installation
Installing the MongoDB PHP Driver on OSX with Homebrew
Installation


Installing the MongoDB PHP Driver on OSX with Homebrew

If you are using » Homebrew, the PHP tap includes formulae for installing the driver on various PHP versions.

  • php54-mongodb
  • php55-mongodb
  • php56-mongodb
  • php70-mongodb

For example, you might install the driver for PHP 7.0 using the following command:

$ brew install php70-mongodb

Installing the MongoDB PHP Driver with PECL
Installing the MongoDB PHP Driver on Windows
Installation


Installing the MongoDB PHP Driver on Windows

Precompiled binaries for each release are available from » PECL for a variety of combinations of versions, thread safety, and VC libraries. Extract the archive and put php_mongodb.dll in your PHP extension directory ("ext" by default).

Add the following line to your php.ini file:

extension=php_mongodb.dll

Installing the MongoDB PHP Driver on OSX with Homebrew
Manually Installing the MongoDB PHP Driver
Installation


Manually Installing the MongoDB PHP Driver

For driver developers and people interested in the latest bugfixes, you can compile the driver from the latest source code on » Github. Run the following commands to clone and build the project:

$ git clone https://github.com/mongodb/mongo-php-driver.git
$ cd mongo-php-driver
$ git submodule sync && git submodule update --init
$ phpize
$ ./configure
$ make all -j 5
$ sudo make install

Hinweis: By default, the driver will use bundled versions of » libbson and » libmongoc and rely on PHP to find OpenSSL (i.e. PHP_SETUP_OPENSSL). If the build process fails to find OpenSSL, check that the OpenSSL development package (e.g. libssl-dev) and » pkg-config are both installed.

The last step will report where mongodb.so has been installed, similar to:

Installing shared extensions:     /usr/lib/php/extensions/debug-non-zts-20151012/

Ensure that the extension_dir option in php.ini points to the directory where mongodb.so was installed. You can query the option by running:

$ php -i | grep extension_dir
  extension_dir => /usr/lib/php/extensions/debug-non-zts-20151012 =>
                   /usr/lib/php/extensions/debug-non-zts-20151012

If the directories differ, either change extension_dir in php.ini or manually move mongodb.so to the correct directory.

Add the following line to your php.ini file:

extension=mongodb.so

Installing the MongoDB PHP Driver on Windows
Manually Installing the MongoDB HHVM Driver
Installation


Manually Installing the MongoDB HHVM Driver

At the time of this writing, HHVM does not have a package manager for extensions. Download the latest driver from » GitHub. Alternatively, you may clone the repository to build the latest source code:

$ git clone https://github.com/mongodb/mongo-hhvm-driver.git
$ cd mongo-hhvm-driver
$ git submodule sync && git submodule update --init --recursive

Set up the make files by running:

$ hphpize
$ cmake .

Generate the configure files for the bundled libraries. For this this to work, you need to have the automake, autoconf, and libtool packages installed (e.g. through apt-get).

$ make configlib

Build and install the driver by running:

$ make -j 5
$ sudo make install

Hinweis:

If the hphpize command is not available, you will need to either compile HHVM from source or install the hhvm-dev package (e.g. through apt-get).

The last step will report where mongodb.so has been installed, similar to:

Installing:     /usr/local/hhvm/3.9.1/lib/hhvm/extensions/20150212/mongodb.so

Add the following line to your php.ini file (usually found in "/etc/hhvm"):

hhvm.dynamic_extension_path=/usr/local/hhvm/3.9.1/lib/hhvm/extensions/20150212
hhvm.dynamic_extensions[mongodb]=mongodb.so

Manually Installing the MongoDB PHP Driver
Laufzeit-Konfiguration
Installation


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

mongodb Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog | Comments
mongodb.debug | "" | PHP_INI_ALL |  | Only available for the PHP driver, and not the HHVM one

Hier eine kurze Erklärung der Konfigurationsoptionen:

mongodb.debug string

Store full activity debug log in this directory or stream. The special value "stderr" can be provided to write to STDERR.

Hinweis:

Not available for HHVM

Manually Installing the MongoDB HHVM Driver
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

MONGODB_VERSION (string)
x.y.z style version number of the extension
MONGODB_STABILITY (string)
Current stability (alpha/beta/stable)

Laufzeit-Konfiguration
Tutorials
Installation/Konfiguration


Tutorials

In this section you will find several tutorials on how to use the MongoDB driver for PHP and HHVM. Because the drivers work exactly the same, they share common usage tutorials, but have a separate installation sections.

  • Getting Started with HHVM
  • Using the PHP Library for MongoDB (PHPLIB)
Vordefinierte Konstanten
Getting Started with HHVM
MongoDB


Getting Started with HHVM

In this section you will learn how to set-up NGINX with HHVM and MongoDB. However, this tutorial is not meant to be an all inclusive guide on how to run NGINX and HHVM in a production environment.

In this tutorial, we will be using a Debian system with NGINX installed through apt-get and HHVM installed from source or pre-built packages into /usr/local/hhvm/3.9.1 (with the binary located at /usr/local/hhvm/3.9.1/bin/hhvm).

Installing NGINX

We simply install NGINX by running apt-get install nginx-full. If NGINX fails to start after installation, it is likely that you already have another web server (e.g. Apache) running on the same port. In that case, you will see the following lines in /var/log/nginx/error.log:

2015/09/29 10:19:27 [emerg] 22445#22445: bind() to 0.0.0.0:80 failed (98:Address already in use)
2015/09/29 10:19:27 [emerg] 22445#22445: bind() to [::]:80 failed (98: Address already in use)

To resolve this, you can either change the default port for NGINX or Apache, stop the Apache process with service apache2 stop, or remove Apache entirely with apt-get remove apache2.

Installing HHVM

This tutorial is written from the perspective of an extension developer, so we've installed HHVM from source to faciliate patch development and ensure that debug symbols are available. That said, the folks at Facebook also provide pre-built packages, which is probably what you will want to use in production and development. You can find installation instructions for these packages on the » HHVM Wiki.

You will need to install both the the hhvm and hhvm-dev packages. The latter is needed so that we can compile the MongoDB HHVM extension later on.

If you are compiling HHVM from source, you will need to create /var/run/hhvm:

sudo mkdir -p /var/run/hhvm
sudo chown www-data.www-data /var/run/hhvm
sudo mkdir /etc/hhvm
sudo touch /etc/hhvm/php.ini
# So that you don't have to ``sudo`` to edit the file
sudo chown derick /etc/hhvm/php.ini
# To see whether it actually works
echo "date.timezone=Europe/London" >> /etc/hhvm/php.ini

HHVM should be started as the www-data user. For the purposes of this tutorial, we can run it in the foreground in server mode as follows:

sudo -u www-data -s /usr/local/hhvm/3.9.1/bin/hhvm \
 --mode server \
 -vServer.Type=fastcgi \
 -vServer.FileSocket=/var/run/hhvm/sock

Making NGINX Talk to HHVM

Once HHVM runs, we need to tell NGINX how to talk to HHVM for executing .php files. Although this is perhaps not the cleanest approach, you can add the following snippet to /etc/nginx/sites-enabled/default, just after the location / { … } section:

location ~ \.php$ {
   fastcgi_pass unix:/var/run/hhvm/sock;
   fastcgi_index index.php;
   fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
   include fastcgi_params;
}

After adding that snippet, you should restart NGINX:

sudo service nginx restart

To confirm that everything works so far, we will create a project directory with an index.php file that calls phpinfo():

  • Create the project directory: sudo mkdir -p /var/www/html/my-first-project

  • Change permissions to your user and the www-data group: sudo chown derick.www-data /var/www/html/my-first-project

  • Create the file /var/www/html/my-first-project/index.php. From now on, I will not include the full path /var/www/html/my-first-project/ when I mention file names. Put the following content in this file:

    <?php
    phpinfo    ();
    ?>

Now, in your browser, request the page http://gargleblaster/my-first-project/index.php (but adjust the hostname). This should then show a page starting with "HHVM Version 3.9.1" followed by several tables with information.

Installing the MongoDB Driver for HHVM

The MongoDB driver is the part that links up the PHP in HHVM with the database server. To install and register the driver with HHVM, you need to follow the steps in Manually Installing the MongoDB HHVM Driver.

After you have installed and enabled the extension, HHVM will need to be restarted. If you have HHVM running in the shell from earlier, stop it with Ctrl-C and restart it again as above:

sudo -u www-data -s /usr/local/hhvm/3.9.1/bin/hhvm \
   --mode server \
   -vServer.Type=fastcgi \
   -vServer.FileSocket=/var/run/hhvm/sock

In order to test that the driver is loaded, edit the index.php file and replace its contents with:

<?php
var_dump(phpversion("mongodb"));
?>

This should output something similar to:

string(5) "x.y.z"

Further Reading

Continue this tutorial by jumping to Using the PHP Library for MongoDB (PHPLIB).

Tutorials
Using the PHP Library for MongoDB (PHPLIB)
Tutorials


Using the PHP Library for MongoDB (PHPLIB)

After the initial driver set-up, we will continue explaining how to get started with the MongoDB driver and corresponding userland library to write our first project.

Installing the PHP Library with Composer

The last thing we still need to install to get started on the application itself, is the PHP library.

The library needs to be installed with » Composer, a package manager for PHP. Instructions for installing Composer on various platforms may be found on its website.

Install the library by running:

$ composer require mongodb/mongodb

It will output something akin to:

./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Installing mongodb/mongodb (1.0.0)
    Downloading: 100%

Writing lock file
Generating autoload files

Composer will create several files: composer.json, composer.lock, and a vendor directory that will contain the library and any other dependencies your project might require.

Using the PHP Library

In addition to managing your dependencies, Composer will also provide you with an autoloader (for those dependencies' classes). Ensure that it is included at the start of your script or in your application's bootstrap code:

<?php
// This path should point to Composer's autoloader
require 'vendor/autoload.php';

With this done, you can now use any of the functionality as described in the » library documentation.

If you have previously used the old driver (i.e. mongo extension), the library's API should look familiar. It contains a » Client class for connecting to MongoDB, and » Database class for database-level operations (e.g. commands, collection management) and a » Collection class for collection-level operations (e.g. » CRUD methods, index management). Various Collection methods have been renamed for clarity, and to be in accordance with a new language-agnostic » specification.

As an example, this is how you insert a document into the beers collection of the demo database:

<?php
require 'vendor/autoload.php'; // include Composer's autoloader

$client = new MongoDB\Client("mongodb://localhost:27017");
$collection = $client->demo->beers;

$result = $collection->insertOne( [ 'name' => 'Hinterland', 'brewery' => 'BrewDog' ] );

echo "Inserted with Object ID '{$result->getInsertedId()}'";
?>

Instead of injecting the generated _id field into the input document (as was done in the old driver), it is now made available through the result object returned by the insertOne method.

After insertion, you can of course also query the data that you have just inserted. For that, you use the find method, which returns an iterable cursor:

<?php
require 'vendor/autoload.php'; // include Composer's autoloader

$client = new MongoDB\Client("mongodb://localhost:27017");
$collection = $client->demo->beers;

$result = $collection->find( [ 'name' => 'Hinterland', 'brewery' => 'BrewDog' ] );

foreach ($result as $entry) {
    echo $entry['_id'], ': ', $entry['name'], "\n";
}
?>

While it may not be apparent in the examples, BSON documents and arrays are unserialized as type classes in the library by default. These classes ensure that values preserve their type when being serialized back into BSON, which avoids a caveat in the old driver where arrays might turn into documents, and vice versa. Additionally, the classes extend ArrayObject for enhanced usability. You can find more information on how serialization and deserialization between PHP variables and BSON is handled by the driver and library by reading the Persisting Data specification.

Getting Started with HHVM
Driver Architecture and Internals
Tutorials


Explains the driver architecure, and special features

  • Architecture — Architecture Overview
  • Connections — Connection handling and persistence
  • Persisting Data — Serialization and deserialization of PHP variables into MongoDB
    • Serialization to BSON
    • Deserialization from BSON
Using the PHP Library for MongoDB (PHPLIB)
Architecture
MongoDB


Architecture Overview

This section explains how all the different parts of the driver fit together. From the different language runtimes, through the extensions and to the PHP libraries on top. This new architecture has replaced the old mongo extension. We refer to the new one as the mongodb extension.

At the top of this stack sits a pure » PHP library, which we will distribute as a Composer package. This library will provide an API similar to what users have come to expect from the old mongo driver (e.g. CRUD methods, database and collection objects, command helpers) and we expect it to be a common dependency for most applications built with MongoDB. This library will also implement common » specifications, in the interest of improving API consistency across all of the » drivers maintained by MongoDB (and hopefully some community drivers, too).

Sitting below that library we have the lower level drivers—one per platform. These extensions will effectively form the glue between PHP and HHVM and our system libraries (» libmongoc and » libbson). These extensions will expose an identical public API for the most essential and performance-sensitive functionality:

  • Connection management
  • BSON encoding and decoding
  • Object document serialization (to support ODM libraries)
  • Executing commands and write operations
  • Handling queries and cursors

By decoupling the driver internals and a high-level API into extensions and PHP libraries, respectively, we hope to reduce our maintainence burden and allow for faster iteration on new features. As a welcome side effect, this also makes it easier for anyone to contribute to the driver. Additionally, an identical public API for these extensions will make it that much easier to port an application across PHP runtimes, whether the application uses the low-level driver directly or a higher-level PHP library.

» GridFS is a great example of why we chose this direction. Although we implemented GridFS in C for our old mongo driver, it is actually quite a high-level specification. Its API is just an abstraction for accessing two collections: files (i.e. metadata) and chunks (i.e. blocks of data). Likewise, all of the syntactic sugar found in the old mongo driver, such as processing uploaded files or exposing GridFS files as PHP streams, can be implemented in pure PHP. Provided we have performant methods for reading from and writing to GridFS' collections – and thanks to our low level extensions, we will – shifting this API to PHP is win-win.

Earlier I mentioned that we expect the PHP library to be a common dependency for most applications, but not all. Some users may prefer to stick to the no-frills API offered by the extensions, or create their own high-level abstraction (akin to » Doctrine MongoDB for the old mongo driver). Future libraries could include a PHP library geared for MongoDB administration, which provides an API for various user management and ops commands. The next major version of » Doctrine MongoDB ODM will likely also sit directly atop the extensions.

While we will continue to maintain and support the old mongo driver and its users for the foreseeable future, we invite everyone to use the next-generation driver and consider it for any new projects going forward. You can find all of the essential components across GitHub and JIRA:

Driver Source Code and JIRA Locations
Project | GitHub | JIRA
PHP Library | » mongodb/mongo-php-library | » PHPLIB
PHP 5 and PHP 7 Driver (phongo) | » mongodb/mongo-php-driver | » PHPC
HHVM Driver (hippo) | » mongodb/mongo-hhvm-driver | » HHVM

The existing » PHP project in JIRA will remain open for reporting bugs against the old mongo driver, but we would ask that you use the new projects above for anything pertaining to our next-generation drivers.

Driver Architecture and Internals
Connections
Driver Architecture and Internals


Connection handling and persistence

Tipp

On Unix platforms, the MongoDB driver is sensitive to scripts that use the fork() system call without also calling exec(). Users are advised not to re-use MongoDB\Driver\Manager instances in a forked child process.

Connection and topology persistence (PHP and HHVM versions since 1.2.0)

All versions of the driver since 1.2.0 persist the » libmongoc client object in the PHP worker process, which allows it to re-use database connections, authentication states, and topology information across multiple requests.

When MongoDB\Driver\Manager::__construct() is invoked, a hash is created from its arguments (i.e. URI string and array options). The driver will attempt to find a previously persisted » libmongoc client object for that hash. If an existing client cannot be found for the hash, a new client will be created (and persisted for future use).

Each client contains its own database connections and a view of the server topology (e.g. standalone, replica set, shard cluster). By persisting the client between PHP requests, the driver is able to re-use established database connections and remove the need for » discovering the server topology on each request.

Consider the following example:

<?php

$managers = [
    new MongoDB\Driver\Manager('mongodb://127.0.0.1'),
    new MongoDB\Driver\Manager('mongodb://127.0.0.1'),
    new MongoDB\Driver\Manager('mongodb://127.0.0.1:27017'),
    new MongoDB\Driver\Manager('mongodb://rs1.example.com,rs2.example.com/', ['replicaSet' => 'myReplicaSet']),
];

foreach ($managers as $manager) {
    $manager->executeCommand('test', new MongoDB\Driver\Command(['ping' => 1]));
}

?>

The first two Manager objects will share the same » libmongoc client since their constructor arguments are identical. The third and fourth objects will each use their own client. In total, three clients will be created and the PHP worker executing this script will open two connections to 127.0.0.1 and one connection to each of rs1.example.com and rs2.example.com. If the driver discovers additional members of the replica set after issuing isMaster commands, it will open additional connections to those servers as well.

If the same worker executes the script again in a second request, the three clients will be re-used and no new connections should be made. Depending on how long ago the previous request was served, the driver may need to issue additional isMaster commands to update its view of the topologies.

Socket persistence (PHP versions before 1.2.0)

Versions of the PHP driver before 1.2.0 utilize PHP's Streams API for database connections, using an API within » libmongoc to designate custom handlers for socket communication; however, a new libmongoc client is created for each MongoDB\Driver\Manager. As a result, the driver persists individual database connections but not authentication state or topology information. This means that the driver needs to issue commands at the start of each request to authenticate and » discover the server topology.

Database connections are persisted by a hash derived from the server's host, port, and the URI string used to construct the MongoDB\Driver\Manager. The constructor's array options are not included in this hash.

Hinweis: Versions of the driver >= 1.1.8 and < 1.2.0 do not persist sockets for SSL connections. See » PHPC-720 for additional information.

Despite its shortcomings with persisting SSL connections when and topology information, this version of the driver supports all SSL context options since it uses PHP's Streams API.

No persistence (HHVM versions before 1.2.0)

Versions of the HHVM driver before 1.2.0 do not persist sockets, authentication state, or topology information. Socket communication uses » libmongoc entirely.

Architecture
Persisting Data
Driver Architecture and Internals


Serialization and deserialization of PHP variables into MongoDB

Inhaltsverzeichnis

  • Serialization to BSON
  • Deserialization from BSON

This document discusses the methods how compound structures (documents, arrays, objects) are persisted through the drivers. And how they are brought back into PHP land.

Connections
Serialization to BSON
Driver Architecture and Internals


Serialization to BSON

Arrays

If an array is a packed array — i.e. the keys start at 0 and are sequential without gaps: BSON array.

If the array is not packed — i.e. having associative (string) keys, the keys don't start at 0, or when there are gaps:: BSON object

A top-level (root) document, always serializes as a BSON document.

Examples

These serialize as a BSON array:

[ 8, 5, 2, 3 ] => [ 8, 5, 2, 3 ]
[ 0 => 4, 1 => 9 ] => [ 4, 9 ]

These serialize as a BSON document:

[ 0 => 1, 2 => 8, 3 => 12 ] => { "0" : 1, "2" : 8, "3" : 12 }
[ "foo" => 42 ] => { "foo" : 42 }
[ 1 => 9, 0 => 10 ] => { "1" : 9, "0" : 10 }

Note that the five examples are extracts of a full document, and represent only one value inside a document.

Objects

If an object is of the stdClass class, serialize as a BSON document.

If an object is a supported class that implements MongoDB\BSON\Type, then use the BSON serialization logic for that specific type. MongoDB\BSON\Type instances (excluding MongoDB\BSON\Serializable may only be serialized as a document field value. Attempting to serialize such an object as a root document will throw a MongoDB\Driver\Exception\UnexpectedValueException

If an object is of an unknown class implementing the MongoDB\BSON\Type interface, then throw a MongoDB\Driver\Exception\UnexpectedValueException

If an object is of any other class, without implementing any special interface, serialize as a BSON document. Keep only public properties, and ignore protected and private properties.

If an object is of a class that implements the MongoDB\BSON\Serializable interface, call MongoDB\BSON\Serializable::bsonSerialize() and use the returned array or stdClass to serialize as a BSON document or array. The BSON type will be determined by the following:

  1. Root documents must be serialized as a BSON document.

  2. MongoDB\BSON\Persistable objects must be serialized as a BSON document.

  3. If MongoDB\BSON\Serializable::bsonSerialize() returns a packed array, serialize as a BSON array.

  4. If MongoDB\BSON\Serializable::bsonSerialize() returns a non-packed array or stdClass, serialize as a BSON document.

  5. If MongoDB\BSON\Serializable::bsonSerialize() did not return an array or stdClass, throw an MongoDB\Driver\Exception\UnexpectedValueException exception.

If an object is of a class that implements the MongoDB\BSON\Persistable interface (which implies MongoDB\BSON\Serializable obtain the properties in a similar way as in the previous paragraphs, but also add an additional property __pclass as a Binary value, with subtype 0x80 and data bearing the fully qualified class name of the object that is being serialized.

The __pclass property is added to the array or object returned by MongoDB\BSON\Serializable::bsonSerialize(), which means it will overwrite any __pclass key/property in the MongoDB\BSON\Serializable::bsonSerialize() return value. If you want to avoid this behaviour and set your own __pclass value, you must not implement MongoDB\BSON\Persistable and should instead implement MongoDB\BSON\Serializable directly.

Examples

<?php

class stdClass {
  public $foo = 42;
} // => { "foo" : 42 }

class MyClass {
  public $foo = 42;
  protected $prot = "wine";
  private $fpr = "cheese";
} // => { "foo" : 42 }

class AnotherClass1 implements MongoDB\BSON\Serializable {
  public $foo = 42;
  protected $prot = "wine";
  private $fpr = "cheese";
  function bsonSerialize() {
      return [ 'foo' => $this->foo, 'prot' => $this->prot ];
  }
} // => { "foo" : 42, "prot" : "wine" }

class AnotherClass2 implements MongoDB\BSON\Serializable {
  public $foo = 42;
  function bsonSerialize() {
      return $this;
  }
} // => MongoDB\Driver\Exception\UnexpectedValueException("bsonSerialize() did not return an array or stdClass")

class AnotherClass3 implements MongoDB\BSON\Serializable {
  private $elements = [ 'foo', 'bar' ];
  function bsonSerialize() {
      return $this->elements;
  }
} // => { "0" : "foo", "1" : "bar" }

class ContainerClass implements MongoDB\BSON\Serializable {
  public $things = AnotherClass4 implements MongoDB\BSON\Serializable {
    private $elements = [ 0 => 'foo', 2 => 'bar' ];
    function bsonSerialize() {
      return $this->elements;
    }
  }
  function bsonSerialize() {
      return [ 'things' => $this->things ];
  }
} // => { "things" : { "0" : "foo", "2" : "bar" } }

class ContainerClass implements MongoDB\BSON\Serializable {
  public $things = AnotherClass5 implements MongoDB\BSON\Serializable {
    private $elements = [ 0 => 'foo', 2 => 'bar' ];
    function bsonSerialize() {
      return array_values($this->elements);
    }
  }
  function bsonSerialize() {
      return [ 'things' => $this->things ];
  }
} // => { "things" : [ "foo", "bar" ] }

class ContainerClass implements MongoDB\BSON\Serializable {
  public $things = AnotherClass6 implements MongoDB\BSON\Serializable {
    private $elements = [ 'foo', 'bar' ];
    function bsonSerialize() {
      return (object) $this->elements;
    }
  }
  function bsonSerialize() {
      return [ 'things' => $this->things ];
  }
} // => { "things" : { "0" : "foo", "1" : "bar" } }

class UpperClass implements MongoDB\BSON\Persistable {
  public $foo = 42;
  protected $prot = "wine";
  private $fpr = "cheese";
  function bsonSerialize() {
      return [ 'foo' => $this->foo, 'prot' => $this->prot ];
  }
} // => { "foo" : 42, "prot" : "wine", "__pclass" : { "$type" : "80", "$binary" : "VXBwZXJDbGFzcw==" } }
Persisting Data
Deserialization from BSON
Persisting Data


Deserialization from BSON

For compound types, there are three data types:

root

refers to the top-level BSON document only

document

refers to embedded BSON documents only

array

refers to a BSON array

Each of those three data types can be mapped against different PHP types. The possible mapping values are:

not set or NULL (the is the default)

  • A BSON array will be deserialized as a PHP array.

  • A BSON document (root or embedded) without a __pclass property [1] becomes a PHP stdClass object, with each BSON document key set as a public stdClass property.

  • A BSON document (root or embedded) with a __pclass property [1] becomes a PHP object of the class name as defined by the __pclass property.

    If the named class implements the MongoDB\BSON\Persistable interface, then the properties of the BSON document, including the __pclass property, are sent as an associative array to the MongoDB\BSON\Unserializable::bsonUnserialize() function to initialise the object's properties.

    If the named class does not exist or does not implement the MongoDB\BSON\Persistable interface, stdClass will be used and each BSON document key (including __pclass) will be set as a public stdClass property.

"array"

Turns a BSON array or BSON document into a PHP array. There will be no special treatment of a __pclass property [1], but it may be set as an element in the returned array if it was present in the BSON document.

"object" or "stdClass"

Turns a BSON array or BSON document into a stdClass object. There will be no special treatment of a __pclass property [1], but it may be set as a public property in the returned object if it was present in the BSON document.

any other string

Defines the class name that the BSON array or BSON object should be deserialized as. For BSON objects that include __pclass properties, that class will take priority.

If the named class does not exist, is not concrete (i.e. it is abstract or an interface), or does not implement MongoDB\BSON\Unserializable then an MongoDB\Driver\Exception\InvalidArgumentException exception is thrown.

If the BSON object has a __pclass property and that class exists and implements MongoDB\BSON\Persistable it will supersede the class provided in the type map.

The properties of the BSON document, including the __pclass property if it exists, will be sent as an associative array to the MongoDB\BSON\Unserializable::bsonUnserialize() function to initialise the object's properties.

TypeMaps

TypeMaps can be set through the MongoDB\Driver\Cursor::setTypeMap() method on a MongoDB\Driver\Cursor object, or the $typeMap argument of MongoDB\BSON\toPHP(). Each of the three classes (root, document and array) can be individually set.

If the value in the map is NULL, it means the same as the default value for that item.

Examples

These examples use the following classes:

MyClass

which does not implement any interface

YourClass

which implements MongoDB\BSON\Unserializable

OurClass

which implements MongoDB\BSON\Persistable

TheirClass

which extends OurClass

The MongoDB\BSON\Unserializable::bsonUnserialize() method of YourClass, OurClass, TheirClass iterate over the array and set the properties without modifications. It also sets the $unserialized property to true:

<?php

function bsonUnserialize( array $map )
{
    foreach ( $map as $k => $value )
    {
        $this->$k = $value;
    }
    $this->unserialized = true;
}

/* typemap: [] (all defaults) */
{ "foo": "yes", "bar" : false }
  -> stdClass { $foo => 'yes', $bar => false }

{ "foo": "no", "array" : [ 5, 6 ] }
  -> stdClass { $foo => 'no', $array => [ 5, 6 ] }

{ "foo": "no", "obj" : { "embedded" : 3.14 } }
  -> stdClass { $foo => 'no', $obj => stdClass { $embedded => 3.14 } }

{ "foo": "yes", "__pclass": "MyClass" }
  -> stdClass { $foo => 'yes', $__pclass => 'MyClass' }

{ "foo": "yes", "__pclass": { "$type" : "80", "$binary" : "MyClass" } }
  -> stdClass { $foo => 'yes', $__pclass => Binary(0x80, 'MyClass') }

{ "foo": "yes", "__pclass": { "$type" : "80", "$binary" : "YourClass") }
  -> stdClass { $foo => 'yes', $__pclass => Binary(0x80, 'YourClass') }

{ "foo": "yes", "__pclass": { "$type" : "80", "$binary" : "OurClass") }
  -> OurClass { $foo => 'yes', $__pclass => Binary(0x80, 'OurClass'), $unserialized => true }

{ "foo": "yes", "__pclass": { "$type" : "44", "$binary" : "YourClass") }
  -> stdClass { $foo => 'yes', $__pclass => Binary(0x44, 'YourClass') }

/* typemap: [ "root" => "MissingClass" ] */
{ "foo": "yes" }
  -> MongoDB\Driver\Exception\InvalidArgumentException("MissingClass does not exist")

/* typemap: [ "root" => "MyClass" ] */
{ "foo": "yes", "__pclass" : { "$type": "80", "$binary": "MyClass" } }
  -> MongoDB\Driver\Exception\InvalidArgumentException("MyClass does not implement Unserializable interface")

/* typemap: [ "root" => "MongoDB\BSON\Unserializable" ] */
{ "foo": "yes" }
  -> MongoDB\Driver\Exception\InvalidArgumentException("Unserializable is not a concrete class")

/* typemap: [ "root" => "YourClass" ] */
{ "foo": "yes", "__pclass" : { "$type": "80", "$binary": "MongoDB\BSON\Unserializable" } }
  -> YourClass { $foo => "yes", $__pclass => Binary(0x80, "MongoDB\BSON\Unserializable"), $unserialized => true }

/* typemap: [ "root" => "YourClass" ] */
{ "foo": "yes", "__pclass" : { "$type": "80", "$binary": "MyClass" } }
  -> YourClass { $foo => "yes", $__pclass => Binary(0x80, "MyClass"), $unserialized => true }

/* typemap: [ "root" => "YourClass" ] */
{ "foo": "yes", "__pclass" : { "$type": "80", "$binary": "OurClass" } }
  -> OurClass { $foo => "yes", $__pclass => Binary(0x80, "OurClass"), $unserialized => true }

/* typemap: [ "root" => "YourClass" ] */
{ "foo": "yes", "__pclass" : { "$type": "80", "$binary": "TheirClass" } }
  -> TheirClass { $foo => "yes", $__pclass => Binary(0x80, "TheirClass"), $unserialized => true }

/* typemap: [ "root" => "OurClass" ] */
{ foo: "yes", "__pclass" : { "$type": "80", "$binary": "TheirClass" } }
  -> TheirClass { $foo => "yes", $__pclass => Binary(0x80, "TheirClass"), $unserialized => true }

/* typemap: [ 'root' => 'YourClass' ] */
{ foo: "yes", "__pclass" : { "$type": "80", "$binary": "YourClass" } }
  -> YourClass { $foo => 'yes', $__pclass => Binary(0x80, 'YourClass'), $unserialized => true }

/* typemap: [ 'root' => 'array', 'document' => 'array' ] */
{ "foo": "yes", "bar" : false }
  -> [ "foo" => "yes", "bar" => false ]

{ "foo": "no", "array" : [ 5, 6 ] }
  -> [ "foo" => "no", "array" => [ 5, 6 ] ]

{ "foo": "no", "obj" : { "embedded" : 3.14 } }
  -> [ "foo" => "no", "obj" => [ "embedded => 3.14 ] ]

{ "foo": "yes", "__pclass": "MyClass" }
  -> [ "foo" => "yes", "__pclass" => "MyClass" ]

{ "foo": "yes", "__pclass" : { "$type": "80", "$binary": "MyClass" } }
  -> [ "foo" => "yes", "__pclass" => Binary(0x80, "MyClass") ]

{ "foo": "yes", "__pclass" : { "$type": "80", "$binary": "OurClass" } }
  -> [ "foo" => "yes", "__pclass" => Binary(0x80, "OurClass") ]

/* typemap: [ 'root' => 'object', 'document' => 'object' ] */
{ "foo": "yes", "__pclass": { "$type": "80", "$binary": "MyClass" } }
  -> stdClass { $foo => "yes", "__pclass" => Binary(0x80, "MyClass") }

Serialization to BSON
Security
Persisting Data


Security

  • Request Injection Attacks
  • Script Injection Attacks
Deserialization from BSON
Request Injection Attacks
MongoDB


Request Injection Attacks

If you are passing $_GET (or $_POST) parameters to your queries, make sure that they are cast to strings first. Users can insert associative arrays in GET and POST requests, which could then become unwanted $-queries.

A fairly innocuous example: suppose you are looking up a user's information with the request http://www.example.com?username=bob. Your application creates the query $q = new \MongoDB\Driver\Query( [ 'username' => $_GET['username'] ]).

Someone could subvert this by getting http://www.example.com?username[$ne]=foo, which PHP will magically turn into an associative array, turning your query into $q = new \MongoDB\Driver\Query( [ 'username' => [ '$ne' => 'foo' ] ] ), which will return all users not named "foo" (all of your users, probably).

This is a fairly easy attack to defend against: make sure $_GET and $_POST parameters are the type you expect before you send them to the database. PHP has the filter_var() function to assist with this.

Note that this type of attack can be used with any database interaction that locates a document, including updates, upserts, deletes, and findAndModify commands.

See » the main documentation for more information about SQL-injection-like issues with MongoDB.

Security
Script Injection Attacks
Security


Script Injection Attacks

If you are using JavaScript, make sure that any variables that cross the PHP- to-JavaScript boundry are passed in the scope field of MongoDB\BSON\Javascript, not interpolated into the JavaScript string. This can come up when using $where clauses in queries, mapReduce and group commands, and any other time you may pass JavaScript into the database.

For example, suppose we have some JavaScript to greet a user in the database logs. We could do:

<?php
$m = new MongoDB\Driver\Manager;

// Don't do this!!!
$username = $_GET['field'];

$cmd = new \MongoDB\Driver\Command( [
    'eval' => "print('Hello, $username!');"
] );

$r = $m->executeCommand( 'dramio', $cmd );
?>

However, what if a malicious user passes in some JavaScript?

<?php
$m = new MongoDB\Driver\Manager;

// Don't do this!!!
$username = $_GET['field'];
// $username is set to "'); db.users.drop(); print('"

$cmd = new \MongoDB\Driver\Command( [
    'eval' => "print('Hello, $username!');"
] );

$r = $m->executeCommand( 'dramio', $cmd );
?>

Now MongoDB executes the JavaScript string "print('Hello, '); db.users.drop(); print('!');". This attack is easy to avoid: use args to pass variables from PHP to JavaScript:

<?php
$m = new MongoDB\Driver\Manager;

$_GET['field'] = 'derick';
$args = [ $_GET['field'] ];

$cmd = new \MongoDB\Driver\Command( [
    'eval' => "function greet(username) { print('Hello, ' + username + '!'); }",
    'args' => $args,
] );

$r = $m->executeCommand( 'dramio', $cmd );
?>

This adds an argument to the JavaScript scope, which gets used as argument for the greet function. Now if someone tries to send malicious code, MongoDB will harmlessly print Hello, '); db.dropDatabase(); print('!.

Using arguments helps to prevent malicious input from being executed by the database. However, you must make sure that your code does not turn around and execute the input anyway! It is best to avoid executing any JavaScript on the server in the first place.

You are strongly recommended to stay clear of the » $where clause with queries, as it impacts performance significantly. Where possible, use either normal query operators, or the » Aggregation Framework.

As alternative to » MapReduce, which uses JavaScript, consider using the » Aggregation Framework. Unlike Map/Reduce, it uses an idiomatic language to construct queries, without having to write, and use, the slower JavaScript approach that Map/Reduce requires.

The » eval command has been deprecated since MongoDB 3.0, and should also be avoided.

Request Injection Attacks
MongoDB\Driver
Security


MongoDB driver classes

  • MongoDB\Driver\Manager — The MongoDB\Driver\Manager class
    • MongoDB\Driver\Manager::__construct — Create new MongoDB Manager
    • MongoDB\Driver\Manager::executeBulkWrite — Execute one or more write operations
    • MongoDB\Driver\Manager::executeCommand — Execute a database command
    • MongoDB\Driver\Manager::executeQuery — Execute a database query
    • MongoDB\Driver\Manager::getReadConcern — Return the ReadConcern for the Manager
    • MongoDB\Driver\Manager::getReadPreference — Return the ReadPreference for the Manager
    • MongoDB\Driver\Manager::getServers — Return the servers to which this manager is connected
    • MongoDB\Driver\Manager::getWriteConcern — Return the WriteConcern for the Manager
    • MongoDB\Driver\Manager::selectServer — Select a server matching a read preference
  • MongoDB\Driver\Command — The MongoDB\Driver\Command class
    • MongoDB\Driver\Command::__construct — Create a new Command
  • MongoDB\Driver\Query — The MongoDB\Driver\Query class
    • MongoDB\Driver\Query::__construct — Construct new Query
  • MongoDB\Driver\BulkWrite — The MongoDB\Driver\BulkWrite class
    • MongoDB\Driver\BulkWrite::__construct — Create a new BulkWrite
    • MongoDB\Driver\BulkWrite::count — Count number of write operations in the bulk
    • MongoDB\Driver\BulkWrite::delete — Add a delete operation to the bulk
    • MongoDB\Driver\BulkWrite::insert — Add an insert operation to the bulk
    • MongoDB\Driver\BulkWrite::update — Add an update operation to the bulk
  • MongoDB\Driver\WriteConcern — The MongoDB\Driver\WriteConcern class
    • MongoDB\Driver\WriteConcern::bsonSerialize — Returns an object for BSON serialization
    • MongoDB\Driver\WriteConcern::__construct — Construct immutable WriteConcern
    • MongoDB\Driver\WriteConcern::getJournal — Returns the WriteConcern's "journal" option
    • MongoDB\Driver\WriteConcern::getW — Returns the WriteConcern's "w" option
    • MongoDB\Driver\WriteConcern::getWtimeout — Returns the WriteConcern's "wtimeout" option
  • MongoDB\Driver\ReadPreference — The MongoDB\Driver\ReadPreference class
    • MongoDB\Driver\ReadPreference::bsonSerialize — Returns an object for BSON serialization
    • MongoDB\Driver\ReadPreference::__construct — Construct immutable ReadPreference
    • MongoDB\Driver\ReadPreference::getMaxStalenessSeconds — Returns the ReadPreference's "maxStalenessSeconds" option
    • MongoDB\Driver\ReadPreference::getMode — Returns the ReadPreference's "mode" option
    • MongoDB\Driver\ReadPreference::getTagSets — Returns the ReadPreference's "tagSets" option
  • MongoDB\Driver\ReadConcern — The MongoDB\Driver\ReadConcern class
    • MongoDB\Driver\ReadConcern::bsonSerialize — Returns an object for BSON serialization
    • MongoDB\Driver\ReadConcern::__construct — Construct immutable ReadConcern
    • MongoDB\Driver\ReadConcern::getLevel — Returns the ReadConcern's "level" option
  • MongoDB\Driver\Cursor — The MongoDB\Driver\Cursor class
    • MongoDB\Driver\Cursor::__construct — Create a new Cursor (not used)
    • MongoDB\Driver\Cursor::getId — Returns the ID for this cursor
    • MongoDB\Driver\Cursor::getServer — Returns the server associated with this cursor
    • MongoDB\Driver\Cursor::isDead — Checks if the cursor is still open on the server
    • MongoDB\Driver\Cursor::setTypeMap — Sets a type map to use for BSON unserialization
    • MongoDB\Driver\Cursor::toArray — Returns an array containing all results for this cursor
  • MongoDB\Driver\CursorId — The MongoDB\Driver\CursorId class
    • MongoDB\Driver\CursorId::__construct — Create a new CursorId (not used)
    • MongoDB\Driver\CursorId::__toString — String representation of the cursor ID
  • MongoDB\Driver\Server — The MongoDB\Driver\Server class
    • MongoDB\Driver\Server::__construct — Create a new Server (not used)
    • MongoDB\Driver\Server::executeBulkWrite — Execute one or more write operations on this server
    • MongoDB\Driver\Server::executeCommand — Execute a database command on this server
    • MongoDB\Driver\Server::executeQuery — Execute a database query on this server
    • MongoDB\Driver\Server::getHost — Returns the hostname of this server
    • MongoDB\Driver\Server::getInfo — Returns an array of information about this server
    • MongoDB\Driver\Server::getLatency — Returns the latency of this server
    • MongoDB\Driver\Server::getPort — Returns the port on which this server is listening
    • MongoDB\Driver\Server::getTags — Returns an array of tags describing this server in a replica set
    • MongoDB\Driver\Server::getType — Returns an integer denoting the type of this server
    • MongoDB\Driver\Server::isArbiter — Checks if this server is an arbiter member of a replica set
    • MongoDB\Driver\Server::isHidden — Checks if this server is a hidden member of a replica set
    • MongoDB\Driver\Server::isPassive — Checks if this server is a passive member of a replica set
    • MongoDB\Driver\Server::isPrimary — Checks if this server is a primary member of a replica set
    • MongoDB\Driver\Server::isSecondary — Checks if this server is a secondary member of a replica set
  • MongoDB\Driver\WriteConcernError — The MongoDB\Driver\WriteConcernError class
    • MongoDB\Driver\WriteConcernError::getCode — Returns the WriteConcernError's error code
    • MongoDB\Driver\WriteConcernError::getInfo — Returns additional metadata for the WriteConcernError
    • MongoDB\Driver\WriteConcernError::getMessage — Returns the WriteConcernError's error message
  • MongoDB\Driver\WriteError — The MongoDB\Driver\WriteError class
    • MongoDB\Driver\WriteError::getCode — Returns the WriteError's error code
    • MongoDB\Driver\WriteError::getIndex — Returns the index of the write operation corresponding to this WriteError
    • MongoDB\Driver\WriteError::getInfo — Returns additional metadata for the WriteError
    • MongoDB\Driver\WriteError::getMessage — Returns the WriteError's error message
  • MongoDB\Driver\WriteResult — The MongoDB\Driver\WriteResult class
    • MongoDB\Driver\WriteResult::getDeletedCount — Returns the number of documents deleted
    • MongoDB\Driver\WriteResult::getInsertedCount — Returns the number of documents inserted (excluding upserts)
    • MongoDB\Driver\WriteResult::getMatchedCount — Returns the number of documents selected for update
    • MongoDB\Driver\WriteResult::getModifiedCount — Returns the number of existing documents updated
    • MongoDB\Driver\WriteResult::getServer — Returns the server associated with this write result
    • MongoDB\Driver\WriteResult::getUpsertedCount — Returns the number of documents inserted by an upsert
    • MongoDB\Driver\WriteResult::getUpsertedIds — Returns an array of identifiers for upserted documents
    • MongoDB\Driver\WriteResult::getWriteConcernError — Returns any write concern error that occurred
    • MongoDB\Driver\WriteResult::getWriteErrors — Returns any write errors that occurred
    • MongoDB\Driver\WriteResult::isAcknowledged — Returns whether the write was acknowledged
Script Injection Attacks
MongoDB\Driver\Manager
MongoDB


The MongoDB\Driver\Manager class

(mongodb >=1.0.0)

Einführung

The MongoDB\Driver\Manager is the main entry point to the extension. It is responsible for maintaining connections to MongoDB (be it standalone server, replica set, or sharded cluster).

No connection to MongoDB is made upon instantiating the Manager. This means the MongoDB\Driver\Manager can always be constructed, even though one or more MongoDB servers are down.

Any write or query can throw connection exceptions as connections are created lazily. A MongoDB server may also become unavailable during the life time of the script. It is therefore important that all actions on the Manager to be wrapped in try/catch statements.

Klassenbeschreibung

final MongoDB\Driver\Manager {
/* Methoden */
 final public __construct
  ([ string $uri = "mongodb://127.0.0.1/
 [, array $uriOptions = []
 [, array $driverOptions = []
]]] )
final public MongoDB\Driver\WriteResult executeBulkWrite ( string $namespace , MongoDB\Driver\BulkWrite $bulk [, MongoDB\Driver\WriteConcern $writeConcern ] )
final public MongoDB\Driver\Cursor executeCommand ( string $db , MongoDB\Driver\Command $command [, MongoDB\Driver\ReadPreference $readPreference ] )
final public MongoDB\Driver\Cursor executeQuery ( string $namespace , MongoDB\Driver\Query $query [, MongoDB\Driver\ReadPreference $readPreference ] )
final public MongoDB\Driver\ReadConcern getReadConcern ( void )
final public MongoDB\Driver\ReadPreference getReadPreference ( void )
final public array getServers ( void )
final public MongoDB\Driver\WriteConcern getWriteConcern ( void )
final public MongoDB\Driver\Server selectServer ( MongoDB\Driver\ReadPreference $readPreference )
}

Beispiele

Beispiel #1 MongoDB\Driver\Manager::__construct() basic example

var_dump()ing a MongoDB\Driver\Manager will print out various details about the manager that are otherwise not normally exposed. This can be useful to debug how the driver views your MongoDB setup, and which options are used.

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
var_dump($manager);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(MongoDB\Driver\Manager)#1 (3) {
  ["request_id"]=>
  int(1714636915)
  ["uri"]=>
  string(25) "mongodb://localhost:27017"
  ["cluster"]=>
  array(13) {
    ["mode"]=>
    string(6) "direct"
    ["state"]=>
    string(4) "born"
    ["request_id"]=>
    int(0)
    ["sockettimeoutms"]=>
    int(300000)
    ["last_reconnect"]=>
    int(0)
    ["uri"]=>
    string(25) "mongodb://localhost:27017"
    ["requires_auth"]=>
    int(0)
    ["nodes"]=>
    array(...)
    ["max_bson_size"]=>
    int(16777216)
    ["max_msg_size"]=>
    int(50331648)
    ["sec_latency_ms"]=>
    int(15)
    ["peers"]=>
    array(0) {
    }
    ["replSet"]=>
    NULL
  }
}

Inhaltsverzeichnis

  • MongoDB\Driver\Manager::__construct — Create new MongoDB Manager
  • MongoDB\Driver\Manager::executeBulkWrite — Execute one or more write operations
  • MongoDB\Driver\Manager::executeCommand — Execute a database command
  • MongoDB\Driver\Manager::executeQuery — Execute a database query
  • MongoDB\Driver\Manager::getReadConcern — Return the ReadConcern for the Manager
  • MongoDB\Driver\Manager::getReadPreference — Return the ReadPreference for the Manager
  • MongoDB\Driver\Manager::getServers — Return the servers to which this manager is connected
  • MongoDB\Driver\Manager::getWriteConcern — Return the WriteConcern for the Manager
  • MongoDB\Driver\Manager::selectServer — Select a server matching a read preference
MongoDB\Driver
MongoDB\Driver\Manager::__construct
MongoDB\Driver


Create new MongoDB Manager

MongoDB\Driver\Manager
MongoDB\Driver\Manager::executeBulkWrite
MongoDB\Driver\Manager
PHP Manual

MongoDB\Driver\Manager::__construct

(mongodb >=1.0.0)

MongoDB\Driver\Manager::__construct — Create new MongoDB Manager

Beschreibung

 final public MongoDB\Driver\Manager::__construct
  ([ string $uri = "mongodb://127.0.0.1/
 [, array $uriOptions = []
 [, array $driverOptions = []
]]] )

Constructs a new MongoDB\Driver\Manager object with the specified options.

Hinweis: Per the » Server Discovery and Monitoring Specification, this constructor performs no I/O. Connections will be initialized on demand, when the first operation is executed.

Tipp

On Unix platforms, the MongoDB driver is sensitive to scripts that use the fork() system call without also calling exec(). Users are advised not to re-use MongoDB\Driver\Manager instances in a forked child process.

Parameter-Liste

uri

A » mongodb:// connection URI:

mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

For details on supported options, see » Connection String Options in the MongoDB manual. » Connection pool options are not supported, as the PHP driver does not implement connection pools.

The uri is a URL, hence any special characters in its components need to be URL encoded according to » RFC 3986. This is particularly relevant to the username and password, which can often include special characters such as @, :, or %. When connecting via a Unix domain socket, the socket path may contain special characters such as slashes and must be encoded. The rawurlencode() function may be used to encode constituent parts of the URI.

uriOptions

Additional » connection string options, which will overwrite any options with the same name in the uri parameter.

Hinweis: The "authMechanism" and "authMechanismProperties" options are not supported in uriOptions and must be specified in the uri parameter. For additional details, see » Authentication Options in the MongoDB manual and the » Driver Authentication Specification.

uriOptions
Option | Type | Description
appname string

MongoDB 3.4+ has the ability to annotate connections with metadata provided by the connecting client. This metadata is included in the server's logs upon establishing a connection and also recorded in slow query logs when database profiling is enabled.

This option may be used to specify an application name, which will be included in the metadata. The value cannot exceed 128 characters in length.

authSource string

The database name associated with the user's credentials. Defaults to the database component of the connection URI.

For authentication mechanisms that delegate credential storage to other services (e.g. GSSAPI), this should be "$external".

canonicalizeHostname boolean

If TRUE, the driver will resolve the real hostname for the server IP address before authenticating via SASL. Some underlying GSSAPI layers already do this, but the functionality may be disabled in their config (e.g. krb.conf). Defaults to FALSE.

connectTimeoutMS integer

The time in milliseconds to attempt a connection before timing out. Defaults to 10,000 milliseconds.

gssapiServiceName string

Set the Kerberos service name when connecting to Kerberized MongoDB instances. This value must match the service name set on MongoDB instances (i.e. » saslServiceName server parameter). Defaults to "mongodb".

heartbeatFrequencyMS integer

Specifies the interval in milliseconds between the driver's checks of the MongoDB topology, counted from the end of the previous check until the beginning of the next one. Defaults to 60,000 milliseconds.

Per the » Server Discovery and Monitoring Specification, this value cannot be less than 500 milliseconds.

journal boolean

Corresponds to the write concern's journal parameter. If TRUE, writes will require acknowledgement from MongoDB that the operation has been written to the journal. For details, see MongoDB\Driver\WriteConcern.

localThresholdMS integer

The size in milliseconds of the latency window for selecting among multiple suitable MongoDB instances while resolving a read preference. Defaults to 15 milliseconds.

maxStalenessSeconds integer

Corresponds to the read preference's "maxStalenessSeconds". Specifies, in seconds, how stale a secondary can be before the client stops using it for read operations. By default, there is no maximum staleness and clients will not consider a secondary’s lag when choosing where to direct a read operation. For details, see MongoDB\Driver\ReadPreference.

If specified, the max staleness must be a signed 32-bit integer greater than or equal to MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS (i.e. 90 seconds).

password | string | The password for the user being authenticated. This option is useful if the password contains special characters, which would otherwise need to be URL encoded for the connection URI.
readConcernLevel | string | Corresponds to the read concern's level parameter. Specifies the level of read isolation. For details, see MongoDB\Driver\ReadConcern.
readPreference string

Corresponds to the read preferences's mode parameter. Defaults to "primary". For details, see MongoDB\Driver\ReadPreference.

Hinweis: This accepts a string value (e.g. "primary", "secondaryPreferred"), unlike MongoDB\Driver\ReadPreference::__construct(), which takes an integer.

readPreferenceTags array

Corresponds to the read preferences's tagSets parameter. Tag sets allow you to target read operations to specific members of a replica set. For details, see MongoDB\Driver\ReadPreference.

Hinweis: When not specified in the URI string, this option is expressed as an array consistent with the format expected by MongoDB\Driver\ReadPreference::__construct().

replicaSet string

Specifies the name of the replica set.

safe boolean

Specifies 1 for the write concern if TRUE, or 0 if FALSE For details, see MongoDB\Driver\WriteConcern.

This option is deprecated and should not be used.

serverSelectionTimeoutMS integer

Specifies how long in milliseconds to block for server selection before throwing an exception. Defaults to 30,000 milliseconds.

serverSelectionTryOnce boolean

When TRUE, instructs the driver to scan the MongoDB deployment exactly once after server selection fails and then either select a server or raise an error. When FALSE, the driver blocks and searches for a server up to the "serverSelectionTimeoutMS" value. Defaults to TRUE.

slaveOk boolean

Specifies "secondaryPreferred" for the read preference mode if TRUE. For details, see MongoDB\Driver\ReadPreference.

This option is deprecated and should not be used.

socketCheckIntervalMS integer

If a socket has not been used recently, the driver must check it via an isMaster command before using it for any operation. Defaults to 5,000 milliseconds.

socketTimeoutMS integer

The time in milliseconds to attempt a send or receive on a socket before timing out. Defaults to 300,000 milliseconds (i.e. five minutes).

ssl boolean

Initiates the connection with TLS/SSL if TRUE. Defaults to FALSE.

username | string | The username for the user being authenticated. This option is useful if the username contains special characters, which would otherwise need to be URL encoded for the connection URI.
w integer|string

Corresponds to the write concern's w parameter. For details, see MongoDB\Driver\WriteConcern.

wTimeoutMS integer|string

Corresponds to the write concern's wtimeout parameter. Specifies a time limit, in milliseconds, for the write concern. For details, see MongoDB\Driver\WriteConcern.

driverOptions

driverOptions
Option | Type | Description
allow_invalid_hostname bool

Disables hostname validation if TRUE. Defaults to FALSE.

Allowing invalid hostnames may expose the driver to a » man-in-the-middle attack.

ca_dir string

Path to a correctly hashed certificate directory. The system certificate store will be used by default.

Falls back to the deprecated "capath" SSL context option if not specified.

ca_file string

Path to a certificate authority file. The system certificate store will be used by default.

Falls back to the deprecated "cafile" SSL context option if not specified.

crl_file | string | Path to a certificate revocation list file.
pem_file string

Path to a PEM encoded certificate to use for client authentication.

Falls back to the deprecated "local_cert" SSL context option if not specified.

pem_pwd string

Passphrase for the PEM encoded certificate (if applicable).

Falls back to the deprecated "passphrase" SSL context option if not specified.

context resource

SSL context options to be used as fallbacks for other driver options (as specified). Note that the driver does not consult the default stream context.

This option is supported for backwards compatibility, but should be considered deprecated.

weak_cert_validation bool

Disables certificate validation if TRUE. Defaults to FALSE

Falls back to the deprecated "allow_self_signed" SSL context option if not specified.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\RuntimeException if the uri format is invalid

Changelog

Version Beschreibung
1.2.0

The uri argument defaults to "mongodb://127.0.0.1/". The default port remains 27017.

Added the "appname" URI option.

Added the "allow_invalid_hostname", "ca_file", "ca_dir", "clr_file", "pem_file", "pem_pwd", and "weak_cert_validation" driver options.

The PHP Streams API is no longer used for socket communication. The "connectTimeoutMS" URI option now defaults to 10 seconds instead of default_socket_timeout in previous versions. Additionally, the driver no longer supports all SSL context options via the "context" driver option.

1.1.0

The uri argument is optional and defaults to "mongodb://localhost:27017/".

Beispiele

Beispiel #1 MongoDB\Driver\Manager::__construct() basic examples

Connecting to standalone MongoDB node:

<?php

$manager = new MongoDB\Driver\Manager("mongodb://example.com:27017");

?>

Connecting to standalone MongoDB node via a Unix domain socket. The socket path may include special characters such as slashes and should be encoded with rawurlencode().

<?php

$manager = new MongoDB\Driver\Manager("mongodb://" . rawurlencode("/tmp/mongodb-27017.sock"));

?>

Connecting to a replica set:

<?php

$manager = new MongoDB\Driver\Manager("mongodb://rs1.example.com,rs2.example.com/?replicaSet=myReplicaSet");

?>

Connecting to a sharded cluster (i.e. one or more mongos instances):

<?php

$manager = new MongoDB\Driver\Manager("mongodb://mongos1.example.com,mongos2.example.com/");

?>

Connecting to MongoDB with authentication credentials for a particular user and database:

<?php

$manager = new MongoDB\Driver\Manager("mongodb://myusername:mypassword@example.com/mydatabase");

?>

Connecting to MongoDB with authentication credentials for a particular user and database, where the username or password includes special characters (e.g. @, :, %). In the following example, the password string myp@ss:w%rd has been manually escaped; however, rawurlencode() may also be used to escape URI components that may contain special characters.

<?php

$manager = new MongoDB\Driver\Manager("mongodb://myusername:myp%40ss%3Aw%25rd@example.com/mydatabase");

?>

Connecting to MongoDB with X509 authentication:

<?php

$manager = new MongoDB\Driver\Manager(
    "mongodb://example.com/?ssl=true&authMechanism=MONGODB-X509",
    [],
    [
        "pem_file" => "/path/to/client.pem",
    ]
);
?>

Siehe auch

  • Connection handling and persistence
  • » MongoDB Connection String Format
MongoDB\Driver\Manager
MongoDB\Driver\Manager::executeBulkWrite
MongoDB\Driver\Manager


Execute one or more write operations

MongoDB\Driver\Manager::__construct
MongoDB\Driver\Manager::executeCommand
MongoDB\Driver\Manager
PHP Manual

MongoDB\Driver\Manager::executeBulkWrite

(mongodb >=1.0.0)

MongoDB\Driver\Manager::executeBulkWrite — Execute one or more write operations

Beschreibung

final public MongoDB\Driver\WriteResult MongoDB\Driver\Manager::executeBulkWrite ( string $namespace , MongoDB\Driver\BulkWrite $bulk [, MongoDB\Driver\WriteConcern $writeConcern ] )

Executes one or more write operations on the primary server.

A MongoDB\Driver\BulkWrite can be constructed with one or more write operations of varying types (e.g. updates, deletes, and inserts). The driver will attempt to send operations of the same type to the server in as few requests as possible to optimize round trips.

Parameter-Liste

namespace

A fully qualified namespace (databaseName.collectionName)

bulk (MongoDB\Driver\BulkWrite)

The MongoDB\Driver\BulkWrite to execute.

writeConcern

Optionally, a MongoDB\Driver\WriteConcern. If none given, default to the Write Concern set by the MongoDB Connection URI.

Rückgabewerte

Returns MongoDB\Driver\WriteResult on success.

Fehler/Exceptions

  • Throws MongoDB\Driver\BulkWriteException on any write failure (WriteError and WriteConcern failures)
  • Throws MongoDB\Driver\AuthenticationException if authentication is needed and fails
  • Throws MongoDB\Driver\ConnectionException if connection to the server fails for other then authentication reasons
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors.

Beispiele

Beispiel #1 MongoDB\Driver\Manager::executeBulkWrite() example

<?php

$bulk = new MongoDB\Driver\BulkWrite();

$bulk->insert(['_id' => 1, 'x' => 1]);
$bulk->insert(['_id' => 2, 'x' => 2]);

$bulk->update(['x' => 2], ['$set' => ['x' => 1]], ['multi' => false, 'upsert' => false]);
$bulk->update(['x' => 3], ['$set' => ['x' => 3]], ['multi' => false, 'upsert' => true]);
$bulk->update(['_id' => 3], ['$set' => ['x' => 3]], ['multi' => false, 'upsert' => true]);

$bulk->insert(['_id' => 4, 'x' => 2]);

$bulk->delete(['x' => 1], ['limit' => 1]);

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 100);
$result = $manager->executeBulkWrite('db.collection', $bulk, $writeConcern);

printf("Inserted %d document(s)\n", $result->getInsertedCount());
printf("Matched  %d document(s)\n", $result->getMatchedCount());
printf("Updated  %d document(s)\n", $result->getModifiedCount());
printf("Upserted %d document(s)\n", $result->getUpsertedCount());
printf("Deleted  %d document(s)\n", $result->getDeletedCount());

foreach ($result->getUpsertedIds() as $index => $id) {
    printf('upsertedId[%d]: ', $index);
    var_dump($id);
}

/* If the WriteConcern could not be fulfilled */
if ($writeConcernError = $result->getWriteConcernError()) {
    printf("%s (%d): %s\n", $writeConcernError->getMessage(), $writeConcernError->getCode(), var_export($writeConcernError->getInfo(), true));
}

/* If a write could not happen at all */
foreach ($result->getWriteErrors() as $writeError) {
    printf("Operation#%d: %s (%d)\n", $writeError->getIndex(), $writeError->getMessage(), $writeError->getCode());
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Inserted 3 document(s)
Matched  1 document(s)
Updated  1 document(s)
Upserted 2 document(s)
Deleted  1 document(s)
upsertedId[3]: object(MongoDB\BSON\ObjectID)#5 (1) {
  ["oid"]=>
  string(24) "54d3adc3ce7a792f4d703756"
}
upsertedId[4]: int(3)

Siehe auch

  • MongoDB\Driver\BulkWrite
  • MongoDB\Driver\WriteResult
  • MongoDB\Driver\WriteConcern
  • MongoDB\Driver\Server::executeBulkWrite() - Execute one or more write operations on this server
MongoDB\Driver\Manager::__construct
MongoDB\Driver\Manager::executeCommand
MongoDB\Driver\Manager


Execute a database command

MongoDB\Driver\Manager::executeBulkWrite
MongoDB\Driver\Manager::executeQuery
MongoDB\Driver\Manager
PHP Manual

MongoDB\Driver\Manager::executeCommand

(mongodb >=1.0.0)

MongoDB\Driver\Manager::executeCommand — Execute a database command

Beschreibung

final public MongoDB\Driver\Cursor MongoDB\Driver\Manager::executeCommand ( string $db , MongoDB\Driver\Command $command [, MongoDB\Driver\ReadPreference $readPreference ] )

Executes command on a server If readPreference is provided, it will be used for server selection; otherwise, the default read preference will be used.

Parameter-Liste

db (string)

The name of the database on which to execute the command.

command (MongoDB\Driver\Command)

The MongoDB\Driver\Command to execute.

readPreference

Optionally, a MongoDB\Driver\ReadPreference to route the command to. If none given, defaults to the Read Preferences set by the MongoDB Connection URI.

Rückgabewerte

Returns MongoDB\Driver\Cursor on success.

Fehler/Exceptions

  • Throws MongoDB\Driver\AuthenticationException if authentication is needed and fails
  • Throws MongoDB\Driver\ConnectionException if connection to the server fails for other then authentication reasons
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors (e.g. invalid command, issuing a write command to a secondary).

Beispiele

Beispiel #1 MongoDB\Driver\Manager::executeCommand() with a command returning a single result document

<?php

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
$command = new MongoDB\Driver\Command(['ping' => 1]);

try {
    $cursor = $manager->executeCommand('admin', $command);
} catch(MongoDB\Driver\Exception $e) {
    echo $e->getMessage(), "\n";
    exit;
}

/* The ping command returns a single result document, so we need to access the
 * first result in the cursor. */
$response = $cursor->toArray()[0];

var_dump($response);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(1) {
  ["ok"]=>
  float(1)
}

Beispiel #2 MongoDB\Driver\Manager::executeCommand() with a command returning a cursor

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1, 'y' => 'foo']);
$bulk->insert(['x' => 2, 'y' => 'bar']);
$bulk->insert(['x' => 3, 'y' => 'bar']);
$manager->executeBulkWrite('db.collection', $bulk);

$command = new MongoDB\Driver\Command([
    'aggregate' => 'collection',
    'pipeline' => [
        ['$group' => ['_id' => '$y', 'sum' => ['$sum' => '$x']]],
    ],
    'cursor' => new stdClass,
]);
$cursor = $manager->executeCommand('db', $command);

/* The aggregate command can optionally return its results in a cursor instead
 * of a single result document. In this case, we can iterate on the cursor
 * directly to access those results. */
foreach ($cursor as $document) {
    var_dump($document);
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(stdClass)#6 (2) {
  ["_id"]=>
  string(3) "bar"
  ["sum"]=>
  int(10)
}
object(stdClass)#7 (2) {
  ["_id"]=>
  string(3) "foo"
  ["sum"]=>
  int(2)
}

Anmerkungen

Hinweis:

This method does not take a MongoDB\Driver\WriteConcern parameter. For write commands (e.g. » findAndModify in MongoDB 3.2+), the write concern should be included in the command document itself.

If a secondary readPreference is used, it is the caller's responsibility to ensure that the command can be executed on a secondary. No validation is done by the driver.

Siehe auch

  • MongoDB\Driver\Command
  • MongoDB\Driver\Cursor
  • MongoDB\Driver\ReadPreference
  • MongoDB\Driver\Server::executeCommand() - Execute a database command on this server
MongoDB\Driver\Manager::executeBulkWrite
MongoDB\Driver\Manager::executeQuery
MongoDB\Driver\Manager


Execute a database query

MongoDB\Driver\Manager::executeCommand
MongoDB\Driver\Manager::getReadConcern
MongoDB\Driver\Manager
PHP Manual

MongoDB\Driver\Manager::executeQuery

(mongodb >=1.0.0)

MongoDB\Driver\Manager::executeQuery — Execute a database query

Beschreibung

final public MongoDB\Driver\Cursor MongoDB\Driver\Manager::executeQuery ( string $namespace , MongoDB\Driver\Query $query [, MongoDB\Driver\ReadPreference $readPreference ] )

Executes query on a server. If readPreference is provided, it will be used for server selection; otherwise, the default read preference will be used.

Parameter-Liste

namespace

A fully qualified namespace (databaseName.collectionName)

query (MongoDB\Driver\Query)

The MongoDB\Driver\Query to execute.

readPreference

Optionally, a MongoDB\Driver\ReadPreference to route the command to. If none given, defaults to the Read Preferences set by the MongoDB Connection URI.

Rückgabewerte

Returns MongoDB\Driver\Cursor on success.

Fehler/Exceptions

  • Throws MongoDB\Driver\AuthenticationException if authentication is needed and fails
  • Throws MongoDB\Driver\ConnectionException if connection to the server fails for other then authentication reasons
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors (e.g. invalid query operators).

Beispiele

Beispiel #1 MongoDB\Driver\Manager::executeQuery() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->insert(['x' => 2]);
$bulk->insert(['x' => 3]);
$manager->executeBulkWrite('db.collection', $bulk);

$filter = ['x' => ['$gt' => 1]];
$options = [
    'projection' => ['_id' => 0],
    'sort' => ['x' => -1],
];

$query = new MongoDB\Driver\Query($filter, $options);
$cursor = $manager->executeQuery('db.collection', $query);

foreach ($cursor as $document) {
    var_dump($document);
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(stdClass)#6 (1) {
  ["x"]=>
  int(3)
}
object(stdClass)#7 (1) {
  ["x"]=>
  int(2)
}

Siehe auch

  • MongoDB\Driver\Cursor
  • MongoDB\Driver\Query
  • MongoDB\Driver\ReadPreference
  • MongoDB\Driver\Server::executeQuery() - Execute a database query on this server
MongoDB\Driver\Manager::executeCommand
MongoDB\Driver\Manager::getReadConcern
MongoDB\Driver\Manager


Return the ReadConcern for the Manager

MongoDB\Driver\Manager::executeQuery
MongoDB\Driver\Manager::getReadPreference
MongoDB\Driver\Manager
PHP Manual

MongoDB\Driver\Manager::getReadConcern

(mongodb >=1.1.0)

MongoDB\Driver\Manager::getReadConcern — Return the ReadConcern for the Manager

Beschreibung

final public MongoDB\Driver\ReadConcern MongoDB\Driver\Manager::getReadConcern ( void )

Returns the MongoDB\Driver\ReadConcern for the Manager, which is derived from its URI options. This is the default read concern for queries and commands executed on the Manager.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The MongoDB\Driver\ReadConcern for the Manager.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\Manager::getReadConcern() example

<?php

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
var_dump($manager->getReadConcern());

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017/?readConcernLevel=local');
var_dump($manager->getReadConcern());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(MongoDB\Driver\ReadConcern)#2 (0) {
}
object(MongoDB\Driver\ReadConcern)#1 (1) {
  ["level"]=>
  string(5) "local"
}

Siehe auch

  • MongoDB\Driver\ReadConcern
  • MongoDB\Driver\Manager::__construct() - Create new MongoDB Manager
MongoDB\Driver\Manager::executeQuery
MongoDB\Driver\Manager::getReadPreference
MongoDB\Driver\Manager


Return the ReadPreference for the Manager

MongoDB\Driver\Manager::getReadConcern
MongoDB\Driver\Manager::getServers
MongoDB\Driver\Manager
PHP Manual

MongoDB\Driver\Manager::getReadPreference

(mongodb >=1.0.0)

MongoDB\Driver\Manager::getReadPreference — Return the ReadPreference for the Manager

Beschreibung

final public MongoDB\Driver\ReadPreference MongoDB\Driver\Manager::getReadPreference ( void )

Returns the MongoDB\Driver\ReadPreference for the Manager, which is derived from its URI options. This is the default read preference for queries and commands executed on the Manager.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The MongoDB\Driver\ReadPreference for the Manager.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\Manager::getReadPreference() example

<?php

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
var_dump($manager->getReadPreference());

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017/?readPreference=secondaryPreferred&readPreferenceTags=dc:ny,rack:1&readPreferenceTags=dc:ny&readPreferenceTags=');
var_dump($manager->getReadPreference());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(MongoDB\Driver\ReadPreference)#2 (1) {
  ["mode"]=>
  string(7) "primary"
}
object(MongoDB\Driver\ReadPreference)#1 (2) {
  ["mode"]=>
  string(18) "secondaryPreferred"
  ["tags"]=>
  array(3) {
    [0]=>
    object(stdClass)#3 (2) {
      ["dc"]=>
      string(2) "ny"
      ["rack"]=>
      string(1) "1"
    }
    [1]=>
    object(stdClass)#4 (1) {
      ["dc"]=>
      string(2) "ny"
    }
    [2]=>
    object(stdClass)#5 (0) {
    }
  }
}

Siehe auch

  • MongoDB\Driver\ReadPreference
  • MongoDB\Driver\Manager::__construct() - Create new MongoDB Manager
MongoDB\Driver\Manager::getReadConcern
MongoDB\Driver\Manager::getServers
MongoDB\Driver\Manager


Return the servers to which this manager is connected

MongoDB\Driver\Manager::getReadPreference
MongoDB\Driver\Manager::getWriteConcern
MongoDB\Driver\Manager
PHP Manual

MongoDB\Driver\Manager::getServers

(mongodb >=1.0.0)

MongoDB\Driver\Manager::getServers — Return the servers to which this manager is connected

Beschreibung

final public array MongoDB\Driver\Manager::getServers ( void )

Returns an array of MongoDB\Driver\Server instances to which this manager is connected.

Hinweis:

Since the driver connects to the database lazily, this method may return an empty array if called before executing an operation on the MongoDB\Driver\Manager.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array of MongoDB\Driver\Server instances to which this manager is connected.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\Manager::getServers() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");

/* The driver connects to the database server lazily, so Manager::getServers()
 * may initially return an empty array. */
var_dump($manager->getServers());

$command = new MongoDB\Driver\Command(['ping' => 1]);
$manager->executeCommand('db', $command);

var_dump($manager->getServers());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(0) {
}
array(1) {
  [0]=>
  object(MongoDB\Driver\Server)#3 (10) {
    ["host"]=>
    string(9) "localhost"
    ["port"]=>
    int(27017)
    ["type"]=>
    int(1)
    ["is_primary"]=>
    bool(false)
    ["is_secondary"]=>
    bool(false)
    ["is_arbiter"]=>
    bool(false)
    ["is_hidden"]=>
    bool(false)
    ["is_passive"]=>
    bool(false)
    ["last_is_master"]=>
    array(8) {
      ["ismaster"]=>
      bool(true)
      ["maxBsonObjectSize"]=>
      int(16777216)
      ["maxMessageSizeBytes"]=>
      int(48000000)
      ["maxWriteBatchSize"]=>
      int(1000)
      ["localTime"]=>
      object(MongoDB\BSON\UTCDateTime)#4 (1) {
        ["milliseconds"]=>
        int(1447267964517)
      }
      ["maxWireVersion"]=>
      int(3)
      ["minWireVersion"]=>
      int(0)
      ["ok"]=>
      float(1)
    }
    ["round_trip_time"]=>
    int(554)
  }
}

Siehe auch

  • MongoDB\Driver\Server
  • MongoDB\Driver\Manager::selectServer() - Select a server matching a read preference
MongoDB\Driver\Manager::getReadPreference
MongoDB\Driver\Manager::getWriteConcern
MongoDB\Driver\Manager


Return the WriteConcern for the Manager

MongoDB\Driver\Manager::getServers
MongoDB\Driver\Manager::selectServer
MongoDB\Driver\Manager
PHP Manual

MongoDB\Driver\Manager::getWriteConcern

(mongodb >=1.0.0)

MongoDB\Driver\Manager::getWriteConcern — Return the WriteConcern for the Manager

Beschreibung

final public MongoDB\Driver\WriteConcern MongoDB\Driver\Manager::getWriteConcern ( void )

Returns the MongoDB\Driver\WriteConcern for the Manager, which is derived from its URI options. This is the default write concern for writes and commands executed on the Manager.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The MongoDB\Driver\WriteConcern for the Manager.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\Manager::getWriteConcern() example

<?php

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
var_dump($manager->getWriteConcern());

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017/?w=majority&wtimeoutMS=2000');
var_dump($manager->getWriteConcern());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(MongoDB\Driver\WriteConcern)#2 (0) {
}
object(MongoDB\Driver\WriteConcern)#1 (2) {
  ["w"]=>
  string(8) "majority"
  ["wtimeout"]=>
  int(2000)
}

Siehe auch

  • MongoDB\Driver\WriteConcern
  • MongoDB\Driver\Manager::__construct() - Create new MongoDB Manager
MongoDB\Driver\Manager::getServers
MongoDB\Driver\Manager::selectServer
MongoDB\Driver\Manager


Select a server matching a read preference

MongoDB\Driver\Manager::getWriteConcern
MongoDB\Driver\Command
MongoDB\Driver\Manager
PHP Manual

MongoDB\Driver\Manager::selectServer

(mongodb >=1.0.0)

MongoDB\Driver\Manager::selectServer — Select a server matching a read preference

Beschreibung

final public MongoDB\Driver\Server MongoDB\Driver\Manager::selectServer ( MongoDB\Driver\ReadPreference $readPreference )

Selects a MongoDB\Driver\Server matching readPreference. This may be used to preselect a server in order to perform version checking before executing an operation.

Hinweis:

Unlike MongoDB\Driver\Manager::getServers(), this method will initialize database connections and perform server discovery if necessary. See the » Server Selection Specification for additional information.

Parameter-Liste

readPreference

Optionally, a MongoDB\Driver\ReadPreference to route the command to. If none given, defaults to the Read Preferences set by the MongoDB Connection URI.

Rückgabewerte

Returns an MongoDB\Driver\Server matching the read preference.

Fehler/Exceptions

  • Throws MongoDB\Driver\AuthenticationException if authentication is needed and fails
  • Throws MongoDB\Driver\ConnectionException if connection to the server fails for other then authentication reasons
  • Throws MongoDB\Driver\Exception\RuntimeException if a server matching the read preference could not be found.

Siehe auch

  • MongoDB\Driver\Server
  • MongoDB\Driver\Manager::getServers() - Return the servers to which this manager is connected
  • » Server Selection Specification
MongoDB\Driver\Manager::getWriteConcern
MongoDB\Driver\Command
MongoDB\Driver\Manager


The MongoDB\Driver\Command class

(mongodb >=1.0.0)

Einführung

The MongoDB\Driver\Command class is a value object that represents a database command.

To provide "Command Helpers" the MongoDB\Driver\Command object should be composed.

Klassenbeschreibung

final MongoDB\Driver\Command {
/* Methoden */
final public __construct ( array|object $document )
}

Beispiele

Beispiel #1 Composing MongoDB\Driver\Command to provide a helper to create collections

<?php
class CreateCollection {
    protected $cmd = array();

    function __construct($collectionName) {
        $this->cmd["create"] = (string)$collectionName;
    }
    function setAutoIndexId($bool) {
        $this->cmd["autoIndexId"] = (bool)$bool;
    }
    function setCappedCollection($maxBytes, $maxDocuments = false) {
        $this->cmd["capped"] = true;
        $this->cmd["size"]   = (int)$maxBytes;

        if ($maxDocuments) {
            $this->cmd["max"] = (int)$maxDocuments;
        }
    }
    function usePowerOf2Sizes($bool) {
        if ($bool) {
            $this->cmd["flags"] = 1;
        } else {
            $this->cmd["flags"] = 0;
        }
    }
    function setFlags($flags) {
        $this->cmd["flags"] = (int)$flags;
    }
    function getCommand() {
        return new MongoDB\Driver\Command($this->cmd);
    }
    function getCollectionName() {
        return $this->cmd["create"];
    }
}

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");

$createCollection = new CreateCollection("cappedCollection");
$createCollection->setCappedCollection(64 * 1024);

try {
    $command = $createCollection->getCommand();
    $cursor = $manager->executeCommand("databaseName", $command);
    $response = $cursor->toArray()[0];
    var_dump($response);

    $collstats = ["collstats" => $createCollection->getCollectionName()];
    $cursor = $manager->executeCommand("databaseName", new MongoDB\Driver\Command($collstats));
    $response = $cursor->toArray()[0];
    var_dump($response);
} catch(MongoDB\Driver\Exception $e) {
    echo $e->getMessage(), "\n";
    exit;
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(MongoDB\Driver\Command)#3 (1) {
  ["command"]=>
  array(3) {
    ["create"]=>
    string(16) "cappedCollection"
    ["capped"]=>
    bool(true)
    ["size"]=>
    int(65536)
  }
}
array(1) {
  ["ok"]=>
  float(1)
}
array(16) {
  ["ns"]=>
  string(29) "databaseName.cappedCollection"
  ["count"]=>
  int(0)
  ["size"]=>
  int(0)
  ["numExtents"]=>
  int(1)
  ["storageSize"]=>
  int(65536)
  ["nindexes"]=>
  int(1)
  ["lastExtentSize"]=>
  float(65536)
  ["paddingFactor"]=>
  float(1)
  ["paddingFactorNote"]=>
  string(101) "paddingFactor is unused and unmaintained in 2.8. It remains hard coded to 1.0 for compatibility only."
  ["userFlags"]=>
  int(0)
  ["capped"]=>
  bool(true)
  ["max"]=>
  int(9223372036854775807)
  ["maxSize"]=>
  int(65536)
  ["totalIndexSize"]=>
  int(8176)
  ["indexSizes"]=>
  object(stdClass)#4 (1) {
    ["_id_"]=>
    int(8176)
  }
  ["ok"]=>
  float(1)
}

Inhaltsverzeichnis

  • MongoDB\Driver\Command::__construct — Create a new Command
MongoDB\Driver\Manager::selectServer
MongoDB\Driver\Command::__construct
MongoDB\Driver


Create a new Command

MongoDB\Driver\Command
MongoDB\Driver\Query
MongoDB\Driver\Command
PHP Manual

MongoDB\Driver\Command::__construct

(mongodb >=1.0.0)

MongoDB\Driver\Command::__construct — Create a new Command

Beschreibung

final public MongoDB\Driver\Command::__construct ( array|object $document )

Parameter-Liste

document

The complete command to construct

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\Command::__construct() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$command = new MongoDB\Driver\Command(array("buildinfo" => 1));

try {
    $cursor = $manager->executeCommand("admin", $command);
    $response = $cursor->toArray()[0];
} catch(MongoDB\Driver\Exception $e) {
    echo $e->getMessage(), "\n";
    exit;
}
var_dump($response);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(13) {
  ["version"]=>
  string(14) "2.8.0-rc2-pre-"
  ["gitVersion"]=>
  string(62) "b743d7158f7642f4da6b7eac8320374b3b88dc2e modules: subscription"
  ["OpenSSLVersion"]=>
  string(25) "OpenSSL 1.0.1f 6 Jan 2014"
  ["sysInfo"]=>
  string(104) "Linux infant 3.16.0-24-generic #32-Ubuntu SMP Tue Oct 28 13:07:32 UTC 2014 x86_64 BOOST_LIB_VERSION=1_49"
  ["loaderFlags"]=>
  string(91) "-fPIC -pthread -Wl,-z,now -rdynamic -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,-E"
  ["compilerFlags"]=>
  string(301) "-Wnon-virtual-dtor -Woverloaded-virtual -std=c++11 -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-pch -pipe -Werror -O3 -Wno-unused-local-typedefs -Wno-unused-function -Wno-deprecated-declarations -Wno-unused-but-set-variable -fno-builtin-memcmp -std=c99"
  ["allocator"]=>
  string(8) "tcmalloc"
  ["versionArray"]=>
  array(4) {
    [0]=>
    int(2)
    [1]=>
    int(8)
    [2]=>
    int(0)
    [3]=>
    int(-8)
  }
  ["javascriptEngine"]=>
  string(2) "V8"
  ["bits"]=>
  int(64)
  ["debug"]=>
  bool(false)
  ["maxBsonObjectSize"]=>
  int(16777216)
  ["ok"]=>
  float(1)
}

Siehe auch

  • MongoDB\Driver\Manager::executeCommand() - Execute a database command
  • MongoDB\Driver\Cursor
MongoDB\Driver\Command
MongoDB\Driver\Query
MongoDB\Driver\Command


The MongoDB\Driver\Query class

(mongodb >=1.0.0)

Einführung

The MongoDB\Driver\Query class is a value object that represents a database query.

Klassenbeschreibung

final MongoDB\Driver\Query {
/* Methoden */
final public __construct ( array|object $filter [, array $queryOptions ] )
}

Inhaltsverzeichnis

  • MongoDB\Driver\Query::__construct — Construct new Query
MongoDB\Driver\Command::__construct
MongoDB\Driver\Query::__construct
MongoDB\Driver


Construct new Query

MongoDB\Driver\Query
MongoDB\Driver\BulkWrite
MongoDB\Driver\Query
PHP Manual

MongoDB\Driver\Query::__construct

(mongodb >=1.0.0)

MongoDB\Driver\Query::__construct — Construct new Query

Beschreibung

final public MongoDB\Driver\Query::__construct ( array|object $filter [, array $queryOptions ] )

Parameter-Liste

filter

The search filter.

queryOptions

queryOptions
Option | Type | Description
allowPartialResults bool

For queries against a sharded collection, returns partial results from the mongos if some shards are unavailable instead of throwing an error.

Falls back to the deprecated "partial" option if not specified.

awaitData | bool | Use in conjunction with the "tailable" option to block a getMore operation on the cursor temporarily if at the end of data rather than returning no data. After a timeout period, the query returns as normal.
batchSize integer

The number of documents to return in the first batch. Defaults to 101. A batch size of 0 means that the cursor will be established, but no documents will be returned in the first batch.

In versions of MongoDB before 3.2, where queries use the legacy wire protocol OP_QUERY, a batch size of 1 will close the cursor irrespective of the number of matched documents.

collation array|object

» Collation allows users to specify language-specific rules for string comparison, such as rules for lettercase and accent marks. When specifying collation, the "locale" field is mandatory; all other collation fields are optional. For descriptions of the fields, see » Collation Document.

If the collation is unspecified but the collection has a default collation, the operation uses the collation specified for the collection. If no collation is specified for the collection or for the operation, MongoDB uses the simple binary comparison used in prior versions for string comparisons.

This option is available in MongoDB 3.4+ and will result in an exception at execution time if specified for an older server version.

comment string

A comment to attach to the query to help interpret and trace query profile data.

Falls back to the deprecated "$comment" modifier if not specified.

exhaust bool

Stream the data down full blast in multiple "more" packages, on the assumption that the client will fully read all data queried. Faster when you are pulling a lot of data and know you want to pull it all down. Note: the client is not allowed to not read all the data unless it closes the connection.

This option is not supported by the find command in MongoDB 3.2+ and will force the driver to use the legacy wire protocol version (i.e. OP_QUERY).

explain bool

If TRUE, the returned MongoDB\Driver\Cursor will contain a single document that describes the process and indexes used to return the query.

Falls back to the deprecated "$explain" modifier if not specified.

This option is not supported by the find command in MongoDB 3.2+ and will only be respected when using the legacy wire protocol version (i.e. OP_QUERY). The » explain command should be used on MongoDB 3.0+.

hint string|array|object

Index specification. Specify either the index name as a string or the index key pattern. If specified, then the query system will only consider plans using the hinted index.

Falls back to the deprecated "hint" option if not specified.

limit integer

The maximum number of documents to return. If unspecified, then defaults to no limit. A limit of 0 is equivalent to setting no limit.

A negative limit is will be interpreted as a positive limit with the "singleBatch" option set to TRUE. This behavior is supported for backwards compatibility, but should be considered deprecated.

max array|object

The exclusive upper bound for a specific index.

Falls back to the deprecated "$max" modifier if not specified.

maxScan integer

Positive integer denoting the maximum number of documents or index keys to scan when executing the query.

Falls back to the deprecated "$maxScan" modifier if not specified.

maxTimeMS integer

The cumulative time limit in milliseconds for processing operations on the cursor. MongoDB aborts the operation at the earliest following interrupt point.

Falls back to the deprecated "$maxTimeMS" modifier if not specified.

min array|object

The inclusive lower bound for a specific index.

Falls back to the deprecated "$min" modifier if not specified.

modifiers | array | » Meta operators modifying the output or behavior of a query. Use of these operators is deprecated in favor of named options.
noCursorTimeout | bool | Prevents the server from timing out idle cursors after an inactivity period (10 minutes).
oplogReplay bool

Internal use for replica sets. To use oplogReplay, you must include the following condition in the filter:

[ 'ts' => [ '$gte' => <timestamp> ] ]
projection | array|object | The » projection specification to determine which fields to include in the returned documents.
returnKey bool

If TRUE, returns only the index keys in the resulting documents. Default value is FALSE. If TRUE and the find command does not use an index, the returned documents will be empty.

Falls back to the deprecated "$returnKey" modifier if not specified.

showRecordId bool

Determines whether to return the record identifier for each document. If TRUE, adds a top-level "$recordId" field to the returned documents.

Falls back to the deprecated "$showDiskLoc" modifier if not specified.

singleBatch | bool | Determines whether to close the cursor after the first batch. Defaults to FALSE.
readConcern MongoDB\Driver\ReadConcern

Specifies the » read concern. The default level is "local".

To use a read concern level of "majority", you must use the WiredTiger storage engine with MongoDB 3.2+ and enable the feature in the server configuration.

skip | integer | Number of documents to skip. Defaults to 0.
slaveOk | bool | Allow query of replica set secondaries
sort array|object

The sort specification for the ordering of the results.

Falls back to the deprecated "$orderby" modifier if not specified.

snapshot bool

Prevents the cursor from returning a document more than once because of an intervening write operation.

Falls back to the deprecated "$snapshot" modifier if not specified.

tailable | bool | Returns a tailable cursor for a capped collection.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Changelog

Version | Beschreibung
1.2.0

Added the "allowPartialResults", "collation", "comment", "hint", "max", "maxScan", "maxTimeMS", "min", "returnKey", "showRecordId", and "snapshot" options.

Renamed the "partial" option to "allowPartialResults". For backwards compatibility, "partial" will still be read if "allowPartialResults" is not specified.

Removed the "slaveOk" option, which is obsolete. For queries using the legacy wire protocol OP_QUERY, the driver will set the slaveOk bit as needed in accordance with the » Server Selection Specification.

1.1.0 | Added the "readConcern" option.

Beispiele

Beispiel #1 MongoDB\Driver\Query::__construct() example

<?php
/* Select only documents authord by "bjori" with at least 100 views */
$filter = [
    'author' => 'bjori',
    'views' => [
        '$gte' => 100,
    ],
];

$options = [
    /* Only return the following fields in the matching documents */
    'projection' => [
        'title' => 1,
        'article' => 1,
    ],
    /* Return the documents in descending order of views */
    'sort' => [
        'views' => -1
    ],
);

$query = new MongoDB\Driver\Query($filter, $options);

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
$readPreference = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY);
$cursor = $manager->executeQuery('databaseName.collectionName', $query, $readPreference);

foreach($cursor as $document) {
    var_dump($document);
}

?>

Siehe auch

  • MongoDB\Driver\Manager::executeQuery() - Execute a database query
  • MongoDB\Driver\Cursor
MongoDB\Driver\Query
MongoDB\Driver\BulkWrite
MongoDB\Driver\Query


The MongoDB\Driver\BulkWrite class

(mongodb >=1.0.0)

Einführung

The MongoDB\Driver\BulkWrite collects one or more write operations that should be sent to the server. After adding any number of insert, update, and delete operations, the collection may be executed via MongoDB\Driver\Manager::executeBulkWrite().

Write operations may either be ordered (default) or unordered. Ordered write operations are sent to the server, in the order provided, for serial execution. If a write fails, any remaining operations will be aborted. Unordered operations are sent to the server in an arbitrary order where they may be executed in parallel. Any errors that occur are reported after all operations have been attempted.

Klassenbeschreibung

final MongoDB\Driver\BulkWrite implements Countable {
/* Methoden */
public __construct ([ array $options ] )
public int count ( void )
public void delete ( array|object $filter [, array $deleteOptions ] )
public mixed insert ( array|object $document )
public void update ( array|object $filter , array|object $newObj [, array $updateOptions ] )
}

Beispiele

Beispiel #1 Mixed write operations are grouped by type

Mixed write operations (i.e. inserts, updates, and deletes) will be assembled into typed write commands to be sent sequentially to the server.

<?php

$bulk = new MongoDB\Driver\BulkWrite(['ordered' => true]);
$bulk->insert(['_id' => 1, 'x' => 1]);
$bulk->insert(['_id' => 2, 'x' => 2]);
$bulk->update(['x' => 2], ['$set' => ['x' => 1]]);
$bulk->insert(['_id' => 3, 'x' => 3]);
$bulk->delete(['x' => 1]);

?>

Will result in four write commands (i.e. roundtrips) being executed. Since the operations are ordered, the third insertion cannot be sent until the preceding update is executed.

Beispiel #2 Ordered write operations causing an error

<?php

$bulk = new MongoDB\Driver\BulkWrite(['ordered' => true]);
$bulk->delete([]);
$bulk->insert(['_id' => 1]);
$bulk->insert(['_id' => 2]);
$bulk->insert(['_id' => 3, 'hello' => 'world']);
$bulk->update(['_id' => 3], ['$set' => ['hello' => 'earth']]);
$bulk->insert(['_id' => 4, 'hello' => 'pluto']);
$bulk->update(['_id' => 4], ['$set' => ['hello' => 'moon']]);
$bulk->insert(['_id' => 3]);
$bulk->insert(['_id' => 4]);
$bulk->insert(['_id' => 5]);

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);

try {
    $result = $manager->executeBulkWrite('db.collection', $bulk, $writeConcern);
} catch (MongoDB\Driver\Exception\BulkWriteException $e) {
    $result = $e->getWriteResult();

    // Check if the write concern could not be fulfilled
    if ($writeConcernError = $result->getWriteConcernError()) {
        printf("%s (%d): %s\n",
            $writeConcernError->getMessage(),
            $writeConcernError->getCode(),
            var_export($writeConcernError->getInfo(), true)
        );
    }

    // Check if any write operations did not complete at all
    foreach ($result->getWriteErrors() as $writeError) {
        printf("Operation#%d: %s (%d)\n",
            $writeError->getIndex(),
            $writeError->getMessage(),
            $writeError->getCode()
        );
    }
} catch (MongoDB\Driver\Exception\Exception $e) {
    printf("Other error: %s\n", $e->getMessage());
    exit;
}

printf("Inserted %d document(s)\n", $result->getInsertedCount());
printf("Updated  %d document(s)\n", $result->getModifiedCount());

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Operation#7: E11000 duplicate key error index: db.collection.$_id_ dup key: { : 3 } (11000)
Inserted 4 document(s)
Updated  2 document(s)

If the write concern could not be fullfilled, the example above would output something like:

waiting for replication timed out (64): array (
  'wtimeout' => true,
)
Operation#7: E11000 duplicate key error index: databaseName.collectionName.$_id_ dup key: { : 3 } (11000)
Inserted 4 document(s)
Updated  2 document(s)

If we execute the example above, but allow for unordered writes:

<?php

$bulk = new MongoDB\Driver\BulkWrite(['ordered' => false]);
/* ... */

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Operation#7: E11000 duplicate key error index: db.collection.$_id_ dup key: { : 3 } (11000)
Operation#8: E11000 duplicate key error index: db.collection.$_id_ dup key: { : 4 } (11000)
Inserted 5 document(s)
Updated  2 document(s)

Siehe auch

  • MongoDB\Driver\Manager::executeBulkWrite()
  • MongoDB\Driver\WriteResult
  • MongoDB\Driver\WriteConcern
  • MongoDB\Driver\WriteConcernError
  • MongoDB\Driver\WriteError

Inhaltsverzeichnis

  • MongoDB\Driver\BulkWrite::__construct — Create a new BulkWrite
  • MongoDB\Driver\BulkWrite::count — Count number of write operations in the bulk
  • MongoDB\Driver\BulkWrite::delete — Add a delete operation to the bulk
  • MongoDB\Driver\BulkWrite::insert — Add an insert operation to the bulk
  • MongoDB\Driver\BulkWrite::update — Add an update operation to the bulk
MongoDB\Driver\Query::__construct
MongoDB\Driver\BulkWrite::__construct
MongoDB\Driver


Create a new BulkWrite

MongoDB\Driver\BulkWrite
MongoDB\Driver\BulkWrite::count
MongoDB\Driver\BulkWrite
PHP Manual

MongoDB\Driver\BulkWrite::__construct

(mongodb >=1.0.0)

MongoDB\Driver\BulkWrite::__construct — Create a new BulkWrite

Beschreibung

public MongoDB\Driver\BulkWrite::__construct ([ array $options ] )

Constructs a new ordered (default) or unordered MongoDB\Driver\BulkWrite.

Parameter-Liste

options (array)

options
Option | Type | Description | Default
ordered | bool | Ordered operations (TRUE) are executed serially on the MongoDB server, while unordered operations (FALSE) are sent to the server in an arbitrary order and may be executed in parallel. | TRUE

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\BulkWrite::__construct() example

<?php

$bulk = new MongoDB\Driver\BulkWrite(['ordered' => true]);
$bulk->delete([]);
$bulk->insert(['_id' => 1, 'x' => 1]);
$bulk->insert(['_id' => 2, 'x' => 2]);
$bulk->update(
    ['x' => 2],
    ['$set' => ['x' => 1]],
    ['limit' => 1, 'upsert' => false]
);
$bulk->delete(['x' => 1], ['limit' => 1]);
$bulk->update(
    ['_id' => 3],
    ['$set' => ['x' => 3]],
    ['limit' => 1, 'upsert' => true]
);

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);

try {
    $result = $manager->executeBulkWrite('db.collection', $bulk, $writeConcern);
} catch (MongoDB\Driver\Exception\BulkWriteException $e) {
    $result = $e->getWriteResult();

    // Check if the write concern could not be fulfilled
    if ($writeConcernError = $result->getWriteConcernError()) {
        printf("%s (%d): %s\n",
            $writeConcernError->getMessage(),
            $writeConcernError->getCode(),
            var_export($writeConcernError->getInfo(), true)
        );
    }

    // Check if any write operations did not complete at all
    foreach ($result->getWriteErrors() as $writeError) {
        printf("Operation#%d: %s (%d)\n",
            $writeError->getIndex(),
            $writeError->getMessage(),
            $writeError->getCode()
        );
    }
} catch (MongoDB\Driver\Exception\Exception $e) {
    printf("Other error: %s\n", $e->getMessage());
    exit;
}

printf("Inserted %d document(s)\n", $result->getInsertedCount());
printf("Updated  %d document(s)\n", $result->getModifiedCount());
printf("Upserted %d document(s)\n", $result->getUpsertedCount());
printf("Deleted  %d document(s)\n", $result->getDeletedCount());

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Inserted 2 document(s)
Updated  1 document(s)
Upserted 1 document(s)
Deleted  1 document(s)

Siehe auch

  • MongoDB\Driver\Manager::executeBulkWrite() - Execute one or more write operations
  • MongoDB\Driver\WriteResult
MongoDB\Driver\BulkWrite
MongoDB\Driver\BulkWrite::count
MongoDB\Driver\BulkWrite


Count number of write operations in the bulk

MongoDB\Driver\BulkWrite::__construct
MongoDB\Driver\BulkWrite::delete
MongoDB\Driver\BulkWrite
PHP Manual

MongoDB\Driver\BulkWrite::count

(mongodb >=1.0.0)

MongoDB\Driver\BulkWrite::count — Count number of write operations in the bulk

Beschreibung

public int MongoDB\Driver\BulkWrite::count ( void )

Returns the number of write operations added to the MongoDB\Driver\BulkWrite object.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns number of write operations added to the MongoDB\Driver\BulkWrite object.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Changelog

Version | Beschreibung
1.2.0 | Returns the number of write operations added to the MongoDB\Driver\BulkWrite object. Earlier versions returned the expected number of client-to-server roundtrips required to execute all write operations.

Beispiele

Beispiel #1 MongoDB\Driver\BulkWrite::count() example

<?php

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['_id' => 1, 'x' => 1]);
$bulk->insert(['_id' => 2, 'x' => 2]);
$bulk->update(['x' => 2], ['$set' => ['x' => 1]]);
$bulk->delete(['x' => 1]);

var_dump(count($bulk));

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(4)
MongoDB\Driver\BulkWrite::__construct
MongoDB\Driver\BulkWrite::delete
MongoDB\Driver\BulkWrite


Add a delete operation to the bulk

MongoDB\Driver\BulkWrite::count
MongoDB\Driver\BulkWrite::insert
MongoDB\Driver\BulkWrite
PHP Manual

MongoDB\Driver\BulkWrite::delete

(mongodb >=1.0.0)

MongoDB\Driver\BulkWrite::delete — Add a delete operation to the bulk

Beschreibung

public void MongoDB\Driver\BulkWrite::delete ( array|object $filter [, array $deleteOptions ] )

Adds a delete operation to the MongoDB\Driver\BulkWrite.

Parameter-Liste

filter

The search filter.

deleteOptions

deleteOptions
Option | Type | Description | Default
collation array|object

» Collation allows users to specify language-specific rules for string comparison, such as rules for lettercase and accent marks. When specifying collation, the "locale" field is mandatory; all other collation fields are optional. For descriptions of the fields, see » Collation Document.

If the collation is unspecified but the collection has a default collation, the operation uses the collation specified for the collection. If no collation is specified for the collection or for the operation, MongoDB uses the simple binary comparison used in prior versions for string comparisons.

This option is available in MongoDB 3.4+ and will result in an exception at execution time if specified for an older server version.

limit | bool | Delete all matching documents (FALSE), or only the first matching document (TRUE) | FALSE

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Changelog

Version | Beschreibung
1.2.0 | Added the "collation" option.

Beispiele

Beispiel #1 MongoDB\Driver\BulkWrite::delete() example

<?php

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->delete(['x' => 1], ['limit' => 1]);
$bulk->delete(['x' => 2], ['limit' => 0]);

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);
$result = $manager->executeBulkWrite('db.collection', $bulk, $writeConcern);

?>

Siehe auch

  • MongoDB\Driver\Manager::executeBulkWrite() - Execute one or more write operations
  • MongoDB\Driver\WriteResult
MongoDB\Driver\BulkWrite::count
MongoDB\Driver\BulkWrite::insert
MongoDB\Driver\BulkWrite


Add an insert operation to the bulk

MongoDB\Driver\BulkWrite::delete
MongoDB\Driver\BulkWrite::update
MongoDB\Driver\BulkWrite
PHP Manual

MongoDB\Driver\BulkWrite::insert

(mongodb >=1.0.0)

MongoDB\Driver\BulkWrite::insert — Add an insert operation to the bulk

Beschreibung

public mixed MongoDB\Driver\BulkWrite::insert ( array|object $document )

Adds an insert operation to the MongoDB\Driver\BulkWrite.

Parameter-Liste

document (array|object)

A document to insert.

Rückgabewerte

If the document did not have an _id, a MongoDB\BSON\ObjectID will be generated and returned; otherwise, no value is returned.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\BulkWrite::insert() example

<?php

$bulk = new MongoDB\Driver\BulkWrite;

$document1 = ['title' => 'one'];
$document2 = ['_id' => 'custom ID', 'title' => 'two'];
$document3 = ['_id' => new MongoDB\BSON\ObjectID, 'title' => 'three'];

$_id1 = $bulk->insert($document1);
$_id2 = $bulk->insert($document2);
$_id3 = $bulk->insert($document3);

var_dump($_id1, $_id2, $_id3);

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);
$result = $manager->executeBulkWrite('db.collection', $bulk, $writeConcern);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(MongoDB\BSON\ObjectID)#3 (1) {
  ["oid"]=>
  string(24) "54d51146bd21b91405401d92"
}
NULL
NULL

Siehe auch

  • MongoDB\Driver\Manager::executeBulkWrite() - Execute one or more write operations
  • MongoDB\Driver\WriteResult
  • MongoDB\BSON\ObjectID
  • MongoDB\BSON\Persistable
MongoDB\Driver\BulkWrite::delete
MongoDB\Driver\BulkWrite::update
MongoDB\Driver\BulkWrite


Add an update operation to the bulk

MongoDB\Driver\BulkWrite::insert
MongoDB\Driver\WriteConcern
MongoDB\Driver\BulkWrite
PHP Manual

MongoDB\Driver\BulkWrite::update

(mongodb >=1.0.0)

MongoDB\Driver\BulkWrite::update — Add an update operation to the bulk

Beschreibung

public void MongoDB\Driver\BulkWrite::update ( array|object $filter , array|object $newObj [, array $updateOptions ] )

Adds an update operation to the MongoDB\Driver\BulkWrite.

Parameter-Liste

filter

The search filter.

newObj (array|object)

A document containing either update operators (e.g. $set) or a replacement document (i.e. only field:value expressions).

updateOptions

updateOptions
Option | Type | Description | Default
collation array|object

» Collation allows users to specify language-specific rules for string comparison, such as rules for lettercase and accent marks. When specifying collation, the "locale" field is mandatory; all other collation fields are optional. For descriptions of the fields, see » Collation Document.

If the collation is unspecified but the collection has a default collation, the operation uses the collation specified for the collection. If no collation is specified for the collection or for the operation, MongoDB uses the simple binary comparison used in prior versions for string comparisons.

This option is available in MongoDB 3.4+ and will result in an exception at execution time if specified for an older server version.

multi | bool | Update only the first matching document (multi=false), or all matching documents (multi=true). | FALSE
upsert | bool | If filter does not match an existing document, insert a single document. The document will be created from newObj if it is a replacement document (i.e. no update operators); otherwise, the operators in newObj will be applied to filter to create the new document. | FALSE

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Changelog

Version | Beschreibung
1.2.0 | Added the "collation" option.

Beispiele

Beispiel #1 MongoDB\Driver\BulkWrite::update() example

<?php

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->update(
    ['x' => 2],
    ['$set' => ['y' => 3]],
    ['multi' => false, 'upsert' => false]
);

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);
$result = $manager->executeBulkWrite('db.collection', $bulk, $writeConcern);

?>

Siehe auch

  • MongoDB\Driver\Manager::executeBulkWrite() - Execute one or more write operations
  • MongoDB\Driver\WriteResult
MongoDB\Driver\BulkWrite::insert
MongoDB\Driver\WriteConcern
MongoDB\Driver\BulkWrite


The MongoDB\Driver\WriteConcern class

(mongodb >=1.0.0)

Einführung

MongoDB\Driver\WriteConcern describes the level of acknowledgement requested from MongoDB for write operations to a standalone mongod or to replica sets or to sharded clusters. In sharded clusters, mongos instances will pass the write concern on to the shards.

Klassenbeschreibung

final MongoDB\Driver\WriteConcern implements MongoDB\BSON\Serializable {
/* Constants */
const string MAJORITY = majority ;
/* Methoden */
final public object bsonSerialize ( void )
final public __construct ( string|int $w [, integer $wtimeout [, boolean $journal ]] )
final public bool|null getJournal ( void )
final public string|int|null getW ( void )
final public int getWtimeout ( void )
}

Vordefinierte Konstanten

MongoDB\Driver\WriteConcern::MAJORITY

Majority of all the members in the set; arbiters, non-voting members, passive members, hidden members and delayed members are all included in the definition of majority write concern.

Inhaltsverzeichnis

  • MongoDB\Driver\WriteConcern::bsonSerialize — Returns an object for BSON serialization
  • MongoDB\Driver\WriteConcern::__construct — Construct immutable WriteConcern
  • MongoDB\Driver\WriteConcern::getJournal — Returns the WriteConcern's "journal" option
  • MongoDB\Driver\WriteConcern::getW — Returns the WriteConcern's "w" option
  • MongoDB\Driver\WriteConcern::getWtimeout — Returns the WriteConcern's "wtimeout" option
MongoDB\Driver\BulkWrite::update
MongoDB\Driver\WriteConcern::bsonSerialize
MongoDB\Driver


Returns an object for BSON serialization

MongoDB\Driver\WriteConcern
MongoDB\Driver\WriteConcern::__construct
MongoDB\Driver\WriteConcern
PHP Manual

MongoDB\Driver\WriteConcern::bsonSerialize

(mongodb >=1.2.0)

MongoDB\Driver\WriteConcern::bsonSerialize — Returns an object for BSON serialization

Beschreibung

final public object MongoDB\Driver\WriteConcern::bsonSerialize ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an object for serializing the WriteConcern as BSON.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\WriteConcern::bsonSerialize() with majority write concern

<?php

$wc = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY);
var_dump($wc->bsonSerialize());

echo "\n", MongoDB\BSON\toJSON(MongoDB\BSON\fromPHP($wc));

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(stdClass)#2 (1) {
  ["w"]=>
  string(8) "majority"
}

{ "w" : "majority" }

Beispiel #2 MongoDB\Driver\WriteConcern::bsonSerialize() with wtimeout and journal

<?php

$wc = new MongoDB\Driver\WriteConcern(2, 1000, true);
var_dump($wc->bsonSerialize());

echo "\n", MongoDB\BSON\toJSON(MongoDB\BSON\fromPHP($wc));

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(stdClass)#2 (3) {
  ["w"]=>
  int(2)
  ["j"]=>
  bool(true)
  ["wtimeout"]=>
  int(1000)
}

{ "w" : 2, "j" : true, "wtimeout" : 1000 }

Siehe auch

  • MongoDB\BSON\Serializable::bsonSerialize() - Provides an array or document to serialize as BSON
  • » Write Concern reference
MongoDB\Driver\WriteConcern
MongoDB\Driver\WriteConcern::__construct
MongoDB\Driver\WriteConcern


Construct immutable WriteConcern

MongoDB\Driver\WriteConcern::bsonSerialize
MongoDB\Driver\WriteConcern::getJournal
MongoDB\Driver\WriteConcern
PHP Manual

MongoDB\Driver\WriteConcern::__construct

(mongodb >=1.0.0)

MongoDB\Driver\WriteConcern::__construct — Construct immutable WriteConcern

Beschreibung

final public MongoDB\Driver\WriteConcern::__construct ( string|int $w [, integer $wtimeout [, boolean $journal ]] )

Creates a new WriteConcern.

Parameter-Liste

w

Write concern
Value | Description
1 | Requests acknowledgement that the write operation has propagated to the standalone mongod or the primary in a replica set. This is the default write concern for MongoDB.
0 | Requests no acknowledgment of the write operation. However, this may return information about socket exceptions and networking errors to the application.
<integer greater than 1> | Numbers greater than 1 are valid only for replica sets to request acknowledgement from specified number of members, including the primary.
MongoDB\Driver\WriteConcern::MAJORITY

Requests acknowledgment that write operations have propagated to the majority of voting nodes, including the primary, and have been written to the on-disk journal for these nodes.

Prior to MongoDB 3.0, this refers to the majority of replica set members (not just voting nodes).

string | A string value is interpereted as a tag set. Requests acknowledgement that the write operations have propagated to a replica set member with the specified tag.

wtimeout

How long to wait (in milliseconds) for secondaries before failing.

wtimeout causes write operations to return with an error (WriteConcernError) after the specified limit, even if the required write concern will eventually succeed. When these write operations return, MongoDB does not undo successful data modifications performed before the write concern exceeded the wtimeout time limit.

Write concern timeout
Value | Description
0 | Block indefinitely. This is the default.
<integer greater than 0> | Milliseconds to wait until returning.

journal

Wait until mongod has applied the write to the journal.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if w is invalid or wtimeout is negative.

Beispiele

Beispiel #1 MongoDB\Driver\WriteConcern::__construct() example

<?php

/* Request write acknowledgement from the majority of the replica set nodes */
$wc = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 500);

/* Request write acknowledgement from a node configured with the "MultipleDC" tag */
$wc = new MongoDB\Driver\WriteConcern("MultipleDC", 500);

?>

Siehe auch

  • » Write Concern reference
MongoDB\Driver\WriteConcern::bsonSerialize
MongoDB\Driver\WriteConcern::getJournal
MongoDB\Driver\WriteConcern


Returns the WriteConcern's "journal" option

MongoDB\Driver\WriteConcern::__construct
MongoDB\Driver\WriteConcern::getW
MongoDB\Driver\WriteConcern
PHP Manual

MongoDB\Driver\WriteConcern::getJournal

(mongodb >=1.0.0)

MongoDB\Driver\WriteConcern::getJournal — Returns the WriteConcern's "journal" option

Beschreibung

final public bool|null MongoDB\Driver\WriteConcern::getJournal ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the WriteConcern's "journal" option.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\WriteConcern::getJournal() example

<?php

$wc = new MongoDB\Driver\WriteConcern(1);
var_dump($wc->getJournal());

$wc = new MongoDB\Driver\WriteConcern(1, 0, true);
var_dump($wc->getJournal());

$wc = new MongoDB\Driver\WriteConcern(1, 0, false);
var_dump($wc->getJournal());

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

NULL
bool(true)
bool(false)

Siehe auch

  • » Write Concern reference
MongoDB\Driver\WriteConcern::__construct
MongoDB\Driver\WriteConcern::getW
MongoDB\Driver\WriteConcern


Returns the WriteConcern's "w" option

MongoDB\Driver\WriteConcern::getJournal
MongoDB\Driver\WriteConcern::getWtimeout
MongoDB\Driver\WriteConcern
PHP Manual

MongoDB\Driver\WriteConcern::getW

(mongodb >=1.0.0)

MongoDB\Driver\WriteConcern::getW — Returns the WriteConcern's "w" option

Beschreibung

final public string|int|null MongoDB\Driver\WriteConcern::getW ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the WriteConcern's "w" option.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\WriteConcern::getW() example

<?php

$wc = new MongoDB\Driver\WriteConcern(1);
var_dump($wc->getW());

$wc = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY);
var_dump($wc->getW());

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(1)
string(8) "majority"

Siehe auch

  • » Write Concern reference
MongoDB\Driver\WriteConcern::getJournal
MongoDB\Driver\WriteConcern::getWtimeout
MongoDB\Driver\WriteConcern


Returns the WriteConcern's "wtimeout" option

MongoDB\Driver\WriteConcern::getW
MongoDB\Driver\ReadPreference
MongoDB\Driver\WriteConcern
PHP Manual

MongoDB\Driver\WriteConcern::getWtimeout

(mongodb >=1.0.0)

MongoDB\Driver\WriteConcern::getWtimeout — Returns the WriteConcern's "wtimeout" option

Beschreibung

final public int MongoDB\Driver\WriteConcern::getWtimeout ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the WriteConcern's "wtimeout" option.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\WriteConcern::getWtimeout() example

<?php

$wc = new MongoDB\Driver\WriteConcern(1);
var_dump($wc->getWtimeout());

$wc = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 3000);
var_dump($wc->getWtimeout());

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(0)
int(3000)

Siehe auch

  • » Write Concern reference
MongoDB\Driver\WriteConcern::getW
MongoDB\Driver\ReadPreference
MongoDB\Driver\WriteConcern


The MongoDB\Driver\ReadPreference class

(mongodb >=1.0.0)

Einführung

Klassenbeschreibung

final MongoDB\Driver\ReadPreference implements MongoDB\BSON\Serializable {
/* Constants */
const integer RP_PRIMARY = 1 ;
const integer RP_PRIMARY_PREFERRED = 5 ;
const integer RP_SECONDARY = 2 ;
const integer RP_SECONDARY_PREFERRED = 6 ;
const integer RP_NEAREST = 10 ;
const integer NO_MAX_STALENESS = -1 ;
const integer SMALLEST_MAX_STALENESS_SECONDS = 90 ;
/* Methoden */
final public object bsonSerialize ( void )
final public __construct ( int $mode [, array $tagSets = NULL [, array $options = [] ]] )
final public integer getMaxStalenessSeconds ( void )
final public integer getMode ( void )
final public array getTagSets ( void )
}

Vordefinierte Konstanten

MongoDB\Driver\ReadPreference::RP_PRIMARY

All operations read from the current replica set primary. This is the default read preference for MongoDB.

MongoDB\Driver\ReadPreference::RP_PRIMARY_PREFERRED

In most situations, operations read from the primary but if it is unavailable, operations read from secondary members.

MongoDB\Driver\ReadPreference::RP_SECONDARY

All operations read from the secondary members of the replica set.

MongoDB\Driver\ReadPreference::RP_SECONDARY_PREFERRED

In most situations, operations read from secondary members but if no secondary members are available, operations read from the primary.

MongoDB\Driver\ReadPreference::RP_NEAREST

Operations read from member of the replica set with the least network latency, irrespective of the member's type.

MongoDB\Driver\ReadPreference::NO_MAX_STALENESS

The default value for the "maxStalenessSeconds" option is to specify no limit on maximum staleness, which means that the driver will not consider a secondary's lag when choosing where to direct a read operation.

MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS

The minimum value for the "maxStalenessSeconds" option is 90 seconds. The driver estimates secondaries' staleness by periodically checking the latest write date of each replica set member. Since these checks are infrequent, the staleness estimate is coarse. Thus, the driver cannot enforce a max staleness value of less than 90 seconds.

Changelog

Version | Beschreibung
1.2.0 | Added the MongoDB\Driver\ReadPreference::NO_MAX_STALENESS and MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS constants.

Inhaltsverzeichnis

  • MongoDB\Driver\ReadPreference::bsonSerialize — Returns an object for BSON serialization
  • MongoDB\Driver\ReadPreference::__construct — Construct immutable ReadPreference
  • MongoDB\Driver\ReadPreference::getMaxStalenessSeconds — Returns the ReadPreference's "maxStalenessSeconds" option
  • MongoDB\Driver\ReadPreference::getMode — Returns the ReadPreference's "mode" option
  • MongoDB\Driver\ReadPreference::getTagSets — Returns the ReadPreference's "tagSets" option
MongoDB\Driver\WriteConcern::getWtimeout
MongoDB\Driver\ReadPreference::bsonSerialize
MongoDB\Driver


Returns an object for BSON serialization

MongoDB\Driver\ReadPreference
MongoDB\Driver\ReadPreference::__construct
MongoDB\Driver\ReadPreference
PHP Manual

MongoDB\Driver\ReadPreference::bsonSerialize

(mongodb >=1.2.0)

MongoDB\Driver\ReadPreference::bsonSerialize — Returns an object for BSON serialization

Beschreibung

final public object MongoDB\Driver\ReadPreference::bsonSerialize ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an object for serializing the ReadPreference as BSON.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\ReadPreference::bsonSerialize() with primary read preference

<?php

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY);
var_dump($rp->bsonSerialize());

echo "\n", MongoDB\BSON\toJSON(MongoDB\BSON\fromPHP($rp));

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(stdClass)#2 (1) {
  ["mode"]=>
  string(7) "primary"
}

{ "mode" : "primary" }

Beispiel #2 MongoDB\Driver\ReadPreference::bsonSerialize() with secondary read preference and tag sets

<?php

$rp = new MongoDB\Driver\ReadPreference(
    MongoDB\Driver\ReadPreference::RP_SECONDARY,
    [
        ['dc' => 'ny'],
        ['dc' => 'sf', 'use' => 'reporting'],
        []
    ]
);
var_dump($rp->bsonSerialize());

echo "\n", MongoDB\BSON\toJSON(MongoDB\BSON\fromPHP($rp));

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(stdClass)#2 (2) {
  ["mode"]=>
  string(9) "secondary"
  ["tags"]=>
  array(3) {
    [0]=>
    object(stdClass)#1 (1) {
      ["dc"]=>
      string(2) "ny"
    }
    [1]=>
    object(stdClass)#5 (2) {
      ["dc"]=>
      string(2) "sf"
      ["use"]=>
      string(9) "reporting"
    }
    [2]=>
    object(stdClass)#4 (0) {
    }
  }
}

{ "mode" : "secondary", "tags" : [ { "dc" : "ny" }, { "dc" : "sf", "use" : "reporting" }, {  } ] }

Beispiel #3 MongoDB\Driver\ReadPreference::bsonSerialize() with secondary read preference and max staleness

<?php

$rp = new MongoDB\Driver\ReadPreference(
    MongoDB\Driver\ReadPreference::RP_SECONDARY,
    null,
    ['maxStalenessSeconds' => 120]
);
var_dump($rp->bsonSerialize());

echo "\n", MongoDB\BSON\toJSON(MongoDB\BSON\fromPHP($rp));

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(stdClass)#2 (2) {
  ["mode"]=>
  string(9) "secondary"
  ["maxStalenessSeconds"]=>
  int(120)
}

{ "mode" : "secondary", "maxStalenessSeconds" : 120 }

Siehe auch

  • MongoDB\BSON\Serializable::bsonSerialize() - Provides an array or document to serialize as BSON
  • » Read Preference reference
MongoDB\Driver\ReadPreference
MongoDB\Driver\ReadPreference::__construct
MongoDB\Driver\ReadPreference


Construct immutable ReadPreference

MongoDB\Driver\ReadPreference::bsonSerialize
MongoDB\Driver\ReadPreference::getMaxStalenessSeconds
MongoDB\Driver\ReadPreference
PHP Manual

MongoDB\Driver\ReadPreference::__construct

(mongodb >=1.0.0)

MongoDB\Driver\ReadPreference::__construct — Construct immutable ReadPreference

Beschreibung

final public MongoDB\Driver\ReadPreference::__construct ( int $mode [, array $tagSets = NULL [, array $options = [] ]] )

Creates a new ReadPreference.

Parameter-Liste

mode

Read preference mode
Value Description
MongoDB\Driver\ReadPreference::RP_PRIMARY

All operations read from the current replica set primary. This is the default read preference for MongoDB.

MongoDB\Driver\ReadPreference::RP_PRIMARY_PREFERRED

In most situations, operations read from the primary but if it is unavailable, operations read from secondary members.

MongoDB\Driver\ReadPreference::RP_SECONDARY

All operations read from the secondary members of the replica set.

MongoDB\Driver\ReadPreference::RP_SECONDARY_PREFERRED

In most situations, operations read from secondary members but if no secondary members are available, operations read from the primary.

MongoDB\Driver\ReadPreference::RP_NEAREST

Operations read from member of the replica set with the least network latency, irrespective of the member's type.

tagSets

Tag sets allow you to target read operations to specific members of a replica set. This parameter should be an array of associative arrays, each of which contain zero or more key/value pairs. When selecting a server for a read operation, the driver attempt to select a node having all tags in a set (i.e. the associative array of key/value pairs). If selection fails, the driver will attempt subsequent sets. An empty tag set (array()) will match any node and may be used as a fallback.

Tags are not compatible with the MongoDB\Driver\ReadPreference::RP_PRIMARY mode and, in general, only apply when selecting a secondary member of a set for a read operation. However, the MongoDB\Driver\ReadPreference::RP_NEAREST mode, when combined with a tag set, selects the matching member with the lowest network latency. This member may be a primary or secondary.

options

options
Option Type Description
maxStalenessSeconds integer

Specifies a maximum replication lag, or "staleness", for reads from secondaries. When a secondary's estimated staleness exceeds this value, the driver stops using it for read operations.

If specified, the max staleness must be a signed 32-bit integer greater than or equal to MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS.

Defaults to MongoDB\Driver\ReadPreference::NO_MAX_STALENESS, which means that the driver will not consider a secondary's lag when choosing where to direct a read operation.

This option is not compatible with the MongoDB\Driver\ReadPreference::RP_PRIMARY mode. Specifying a max staleness also requires all MongoDB instances in the deployment to be using MongoDB 3.4+. An exception will be thrown at execution time if any MongoDB instances in the deployment are of an older server version.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if mode is invalid.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if tagSets is provided for a primary read preference or is malformed (i.e. not an array of zero or more documents).
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the "maxStalenessSeconds" option is provided for a primary read preference or is out of range.

Changelog

Version | Beschreibung
1.2.0 | Added a third options argument, which supports the "maxStalenessSeconds" option.

Beispiele

Beispiel #1 MongoDB\Driver\ReadPreference::__construct() example

<?php

/* Prefer a secondary node but fall back to a primary. */
var_dump(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARY_PREFERRED));

/* Prefer a node in the New York data center with lowest latency. */
var_dump(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_NEAREST, [['dc' => 'ny']]));

/* Require a secondary node whose replication lag is within two minutes of the primary */
var_dump(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARY, null, ['maxStalenessSeconds' => 120]));

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(MongoDB\Driver\ReadPreference)#1 (1) {
  ["mode"]=>
  string(18) "secondaryPreferred"
}
object(MongoDB\Driver\ReadPreference)#1 (2) {
  ["mode"]=>
  string(7) "nearest"
  ["tags"]=>
  array(1) {
    [0]=>
    object(stdClass)#2 (1) {
      ["dc"]=>
      string(2) "ny"
    }
  }
}
object(MongoDB\Driver\ReadPreference)#1 (2) {
  ["mode"]=>
  string(9) "secondary"
  ["maxStalenessSeconds"]=>
  int(120)
}

Siehe auch

  • » Read Preference reference
MongoDB\Driver\ReadPreference::bsonSerialize
MongoDB\Driver\ReadPreference::getMaxStalenessSeconds
MongoDB\Driver\ReadPreference


Returns the ReadPreference's "maxStalenessSeconds" option

MongoDB\Driver\ReadPreference::__construct
MongoDB\Driver\ReadPreference::getMode
MongoDB\Driver\ReadPreference
PHP Manual

MongoDB\Driver\ReadPreference::getMaxStalenessSeconds

(mongodb >=1.2.0)

MongoDB\Driver\ReadPreference::getMaxStalenessSeconds — Returns the ReadPreference's "maxStalenessSeconds" option

Beschreibung

final public integer MongoDB\Driver\ReadPreference::getMaxStalenessSeconds ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the ReadPreference's "maxStalenessSeconds" option. If no max staleness has been specified, MongoDB\Driver\ReadPreference::NO_MAX_STALENESS will be returned.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\ReadPreference::getMaxStalenessSeconds() example

<?php

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARY);
var_dump($rp->getMaxStalenessSeconds());

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARY, null, [
    'maxStalenessSeconds' => MongoDB\Driver\ReadPreference::NO_MAX_STALENESS,
]);
var_dump($rp->getMaxStalenessSeconds());

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARY, null, [
    'maxStalenessSeconds' => MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS,
]);
var_dump($rp->getMaxStalenessSeconds());

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARY, null, [
    'maxStalenessSeconds' => 1000,
]);
var_dump($rp->getMaxStalenessSeconds());

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(-1)
int(-1)
int(90)
int(1000)

Siehe auch

  • » Read Preference reference
MongoDB\Driver\ReadPreference::__construct
MongoDB\Driver\ReadPreference::getMode
MongoDB\Driver\ReadPreference


Returns the ReadPreference's "mode" option

MongoDB\Driver\ReadPreference::getMaxStalenessSeconds
MongoDB\Driver\ReadPreference::getTagSets
MongoDB\Driver\ReadPreference
PHP Manual

MongoDB\Driver\ReadPreference::getMode

(mongodb >=1.0.0)

MongoDB\Driver\ReadPreference::getMode — Returns the ReadPreference's "mode" option

Beschreibung

final public integer MongoDB\Driver\ReadPreference::getMode ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the ReadPreference's "mode" option.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\ReadPreference::getMode() example

<?php

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY);
var_dump($rp->getMode());

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY_PREFERRED);
var_dump($rp->getMode());

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARY);
var_dump($rp->getMode());

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARY_PREFERRED);
var_dump($rp->getMode());

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_NEAREST);
var_dump($rp->getMode());

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(1)
int(5)
int(2)
int(6)
int(10)

Siehe auch

  • » Read Preference reference
MongoDB\Driver\ReadPreference::getMaxStalenessSeconds
MongoDB\Driver\ReadPreference::getTagSets
MongoDB\Driver\ReadPreference


Returns the ReadPreference's "tagSets" option

MongoDB\Driver\ReadPreference::getMode
MongoDB\Driver\ReadConcern
MongoDB\Driver\ReadPreference
PHP Manual

MongoDB\Driver\ReadPreference::getTagSets

(mongodb >=1.0.0)

MongoDB\Driver\ReadPreference::getTagSets — Returns the ReadPreference's "tagSets" option

Beschreibung

final public array MongoDB\Driver\ReadPreference::getTagSets ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the ReadPreference's "tagSets" option.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\ReadPreference::getTagSets() example

<?php

$mode = MongoDB\Driver\ReadPreference::RP_SECONDARY_PREFERRED);

/* Null and an empty array both denote no tag set preference. */
$rp = new MongoDB\Driver\ReadPreference($mode, null);
var_dump($rp->getTagSets());

$rp = new MongoDB\Driver\ReadPreference($mode, []);
var_dump($rp->getTagSets());

/* Prefer a node in New York, but fall back to any available node. */
$rp = new MongoDB\Driver\ReadPreference($mode, [['dc' => 'ny']]);
var_dump($rp->getTagSets());

/* Prefer a node in the New York, followed by a node in San Francisco that is
   labeled for reporting usage, and finally fall back to any available node. */
$rp = new MongoDB\Driver\ReadPreference($mode, [
  ['dc' => 'ny'],
  ['dc' => 'sf', 'use' => 'reporting'],
  [],
]);
var_dump($rp->getTagSets());

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(0) {
}
array(0) {
}
array(2) {
  [0]=>
  array(1) {
    ["dc"]=>
    string(2) "ny"
  }
  [1]=>
  array(0) {
  }
}
array(3) {
  [0]=>
  array(1) {
    ["dc"]=>
    string(2) "ny"
  }
  [1]=>
  array(2) {
    ["dc"]=>
    string(2) "sf"
    ["use"]=>
    string(9) "reporting"
  }
  [2]=>
  array(0) {
  }
}

Siehe auch

  • » Read Preference reference
MongoDB\Driver\ReadPreference::getMode
MongoDB\Driver\ReadConcern
MongoDB\Driver\ReadPreference


The MongoDB\Driver\ReadConcern class

(mongodb >=1.1.0)

Einführung

MongoDB\Driver\ReadConcern controls the level of isolation for read operations for replica sets and replica set shards. This option requires the WiredTiger storage engine and MongoDB 3.2 or later.

Klassenbeschreibung

final MongoDB\Driver\ReadConcern implements MongoDB\BSON\Serializable {
/* Constants */
const string LINEARIZABLE = linearizable ;
const string LOCAL = local ;
const string MAJORITY = majority ;
/* Methoden */
final public object bsonSerialize ( void )
final public __construct ([ string $level ] )
final public string|null getLevel ( void )
}

Vordefinierte Konstanten

MongoDB\Driver\ReadConcern::LINEARIZABLE

A linearizable read avoids returning reads from a stale primary (one that has already been superseded by a new primary but doesn't know it yet). It is important to note that this read concern level does not by itself produce linearizable reads; they must be issued in conjunction with MongoDB\Driver\WriteConcern::MAJORITY writes to the same document(s) in order to be linearizable.

MongoDB\Driver\ReadConcern::LOCAL

Queries using this read concern will return the node's most recent copy of the data. This provides no guarantee that the data has been written to a majority of the nodes (i.e. it may be rolled back).

This is the default read concern level.

MongoDB\Driver\ReadConcern::MAJORITY

Queries using this read concern will return the node's most recent copy of the data confirmed as having been written to a majority of the nodes (i.e. the data cannot be rolled back).

Changelog

Version | Beschreibung
1.2.0 | Added the MongoDB\Driver\ReadConcern::LINEARIZABLE constant.

Inhaltsverzeichnis

  • MongoDB\Driver\ReadConcern::bsonSerialize — Returns an object for BSON serialization
  • MongoDB\Driver\ReadConcern::__construct — Construct immutable ReadConcern
  • MongoDB\Driver\ReadConcern::getLevel — Returns the ReadConcern's "level" option
MongoDB\Driver\ReadPreference::getTagSets
MongoDB\Driver\ReadConcern::bsonSerialize
MongoDB\Driver


Returns an object for BSON serialization

MongoDB\Driver\ReadConcern
MongoDB\Driver\ReadConcern::__construct
MongoDB\Driver\ReadConcern
PHP Manual

MongoDB\Driver\ReadConcern::bsonSerialize

(mongodb >=1.2.0)

MongoDB\Driver\ReadConcern::bsonSerialize — Returns an object for BSON serialization

Beschreibung

final public object MongoDB\Driver\ReadConcern::bsonSerialize ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an object for serializing the ReadConcern as BSON.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\ReadConcern::bsonSerialize() with empty read concern

<?php

$rc = new MongoDB\Driver\ReadConcern;
var_dump($rc->bsonSerialize());

echo "\n", MongoDB\BSON\toJSON(MongoDB\BSON\fromPHP($rc));

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(stdClass)#2 (0) {
}

{ }

Beispiel #2 MongoDB\Driver\ReadConcern::bsonSerialize() with local read concern

<?php

$rc = new MongoDB\Driver\ReadConcern(MongoDB\Driver\ReadConcern::LOCAL);
var_dump($rc->bsonSerialize());

echo "\n", MongoDB\BSON\toJSON(MongoDB\BSON\fromPHP($rc));

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(stdClass)#2 (1) {
  ["level"]=>
  string(5) "local"
}

{ "level" : "local" }

Siehe auch

  • MongoDB\BSON\Serializable::bsonSerialize() - Provides an array or document to serialize as BSON
  • » Read Concern reference
MongoDB\Driver\ReadConcern
MongoDB\Driver\ReadConcern::__construct
MongoDB\Driver\ReadConcern


Construct immutable ReadConcern

MongoDB\Driver\ReadConcern::bsonSerialize
MongoDB\Driver\ReadConcern::getLevel
MongoDB\Driver\ReadConcern
PHP Manual

MongoDB\Driver\ReadConcern::__construct

(mongodb >=1.0.0)

MongoDB\Driver\ReadConcern::__construct — Construct immutable ReadConcern

Beschreibung

final public MongoDB\Driver\ReadConcern::__construct ([ string $level ] )

Creates a new ReadConcern.

Parameter-Liste

level

Read concern
Value | Description
MongoDB\Driver\ReadConcern::LOCAL | Queries using this read concern will return the node's most recent copy of the data. This provides no guarantee that the data has been written to a majority of the nodes (i.e. it may be rolled back). This is the default read concern for MongoDB.
MongoDB\Driver\ReadConcern::MAJORITY | Queries using this read concern will return the node's most recent copy of the data confirmed as having been written to a majority of the nodes (i.e. the data cannot be rolled back).

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\ReadConcern::__construct() example

<?php

/* Unspecified read isolation level (uses the server's default behavior) */
$rc = new MongoDB\Driver\ReadConcern();

/* Request read isolation from a single replica set node */
$rc = new MongoDB\Driver\ReadConcern(MongoDB\Driver\ReadConcern::LOCAL);

/* Request read isolation from a majority of the replica set nodes */
$rc = new MongoDB\Driver\ReadConcern(MongoDB\Driver\ReadConcern::MAJORITY);

?>

Siehe auch

  • » Read Concern reference
MongoDB\Driver\ReadConcern::bsonSerialize
MongoDB\Driver\ReadConcern::getLevel
MongoDB\Driver\ReadConcern


Returns the ReadConcern's "level" option

MongoDB\Driver\ReadConcern::__construct
MongoDB\Driver\Cursor
MongoDB\Driver\ReadConcern
PHP Manual

MongoDB\Driver\ReadConcern::getLevel

(mongodb >=1.0.0)

MongoDB\Driver\ReadConcern::getLevel — Returns the ReadConcern's "level" option

Beschreibung

final public string|null MongoDB\Driver\ReadConcern::getLevel ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the ReadConcern's "level" option.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\ReadConcern::getLevel() example

<?php

$rc = new MongoDB\Driver\ReadConcern();
var_dump($rc->getLevel());

$rc = new MongoDB\Driver\ReadConcern(MongoDB\Driver\ReadConcern::LOCAL);
var_dump($rc->getLevel());

$rc = new MongoDB\Driver\ReadConcern(MongoDB\Driver\ReadConcern::MAJORITY);
var_dump($rc->getLevel());

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

NULL
string(5) "local"
string(8) "majority"

Siehe auch

  • » Read Concern reference
MongoDB\Driver\ReadConcern::__construct
MongoDB\Driver\Cursor
MongoDB\Driver\ReadConcern


The MongoDB\Driver\Cursor class

(mongodb >=1.0.0)

Einführung

The MongoDB\Driver\Cursor class encapsulates the results of a MongoDB command or query and may be returned by MongoDB\Driver\Manager::executeCommand() or MongoDB\Driver\Manager::executeQuery(), respectively.

Klassenbeschreibung

MongoDB\Driver\Cursor implements Traversable {
/* Methoden */
final private __construct ( void )
final public MongoDB\Driver\CursorId getId ( void )
final public MongoDB\Driver\Server getServer ( void )
final public bool isDead ( void )
final public void setTypeMap ( array $typemap )
final public array toArray ( void )
}

Inhaltsverzeichnis

  • MongoDB\Driver\Cursor::__construct — Create a new Cursor (not used)
  • MongoDB\Driver\Cursor::getId — Returns the ID for this cursor
  • MongoDB\Driver\Cursor::getServer — Returns the server associated with this cursor
  • MongoDB\Driver\Cursor::isDead — Checks if the cursor is still open on the server
  • MongoDB\Driver\Cursor::setTypeMap — Sets a type map to use for BSON unserialization
  • MongoDB\Driver\Cursor::toArray — Returns an array containing all results for this cursor
MongoDB\Driver\ReadConcern::getLevel
MongoDB\Driver\Cursor::__construct
MongoDB\Driver


Create a new Cursor (not used)

MongoDB\Driver\Cursor
MongoDB\Driver\Cursor::getId
MongoDB\Driver\Cursor
PHP Manual

MongoDB\Driver\Cursor::__construct

(mongodb >=1.0.0)

MongoDB\Driver\Cursor::__construct — Create a new Cursor (not used)

Beschreibung

final private MongoDB\Driver\Cursor::__construct ( void )

MongoDB\Driver\Cursor objects are returned as the result of an executed command or query and cannot be constructed directly.

Parameter-Liste

Diese Funktion hat keine Parameter.

Siehe auch

  • MongoDB\Driver\Manager::executeCommand() - Execute a database command
  • MongoDB\Driver\Manager::executeQuery() - Execute a database query
  • MongoDB\Driver\Server::executeCommand() - Execute a database command on this server
  • MongoDB\Driver\Server::executeQuery() - Execute a database query on this server
MongoDB\Driver\Cursor
MongoDB\Driver\Cursor::getId
MongoDB\Driver\Cursor


Returns the ID for this cursor

MongoDB\Driver\Cursor::__construct
MongoDB\Driver\Cursor::getServer
MongoDB\Driver\Cursor
PHP Manual

MongoDB\Driver\Cursor::getId

(mongodb >=1.0.0)

MongoDB\Driver\Cursor::getId — Returns the ID for this cursor

Beschreibung

final public MongoDB\Driver\CursorId MongoDB\Driver\Cursor::getId ( void )

Returns the MongoDB\Driver\CursorId associated with this cursor. A cursor ID uniquely identifies the cursor on the server.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the MongoDB\Driver\CursorId for this cursor.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\Cursor::getId() example

<?php

/* In this example, we insert several documents into the collection and specify
 * a smaller batchSize to ensure that the first batch contains only a subset of
 * our results and the cursor remains open on the server. */
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$query = new MongoDB\Driver\Query([], ['batchSize' => 2]);

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->insert(['x' => 2]);
$bulk->insert(['x' => 3]);
$manager->executeBulkWrite('db.collection', $bulk);

$cursor = $manager->executeQuery('db.collection', $query);
var_dump($cursor->getId());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(MongoDB\Driver\CursorId)#5 (1) {
  ["id"]=>
  int(94810124093)
}

Siehe auch

  • MongoDB\Driver\CursorId
  • MongoDB\Driver\CursorId::__toString() - String representation of the cursor ID
MongoDB\Driver\Cursor::__construct
MongoDB\Driver\Cursor::getServer
MongoDB\Driver\Cursor


Returns the server associated with this cursor

MongoDB\Driver\Cursor::getId
MongoDB\Driver\Cursor::isDead
MongoDB\Driver\Cursor
PHP Manual

MongoDB\Driver\Cursor::getServer

(mongodb >=1.0.0)

MongoDB\Driver\Cursor::getServer — Returns the server associated with this cursor

Beschreibung

final public MongoDB\Driver\Server MongoDB\Driver\Cursor::getServer ( void )

Returns the MongoDB\Driver\Server associated with this cursor. This is the server that executed the MongoDB\Driver\Query or MongoDB\Driver\Command.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the MongoDB\Driver\Server associated with this cursor.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\Cursor::getServer() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$query = new MongoDB\Driver\Query([]);

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$manager->executeBulkWrite('db.collection', $bulk);

$cursor = $manager->executeQuery('db.collection', $query);
var_dump($cursor->getServer());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(MongoDB\Driver\Server)#5 (10) {
  ["host"]=>
  string(9) "localhost"
  ["port"]=>
  int(27017)
  ["type"]=>
  int(1)
  ["is_primary"]=>
  bool(false)
  ["is_secondary"]=>
  bool(false)
  ["is_arbiter"]=>
  bool(false)
  ["is_hidden"]=>
  bool(false)
  ["is_passive"]=>
  bool(false)
  ["last_is_master"]=>
  array(8) {
    ["ismaster"]=>
    bool(true)
    ["maxBsonObjectSize"]=>
    int(16777216)
    ["maxMessageSizeBytes"]=>
    int(48000000)
    ["maxWriteBatchSize"]=>
    int(1000)
    ["localTime"]=>
    object(MongoDB\BSON\UTCDateTime)#6 (1) {
      ["milliseconds"]=>
      int(1446505367907)
    }
    ["maxWireVersion"]=>
    int(3)
    ["minWireVersion"]=>
    int(0)
    ["ok"]=>
    float(1)
  }
  ["round_trip_time"]=>
  int(584)
}

Siehe auch

  • MongoDB\Driver\Server
MongoDB\Driver\Cursor::getId
MongoDB\Driver\Cursor::isDead
MongoDB\Driver\Cursor


Checks if the cursor is still open on the server

MongoDB\Driver\Cursor::getServer
MongoDB\Driver\Cursor::setTypeMap
MongoDB\Driver\Cursor
PHP Manual

MongoDB\Driver\Cursor::isDead

(mongodb >=1.0.0)

MongoDB\Driver\Cursor::isDead — Checks if the cursor is still open on the server

Beschreibung

final public bool MongoDB\Driver\Cursor::isDead ( void )

Returns whether the cursor is still open on the server (i.e. the server has more results that have yet to be sent to the client).

A cursor being "dead" does not mean that it cannot be iterated further. The database sends responses in batches of documents (up to 4MB of documents per response). The client's cursor may still have results to be iterated even if the server has no more batches to send.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if there are more results that have not yet been sent to the client, and FALSE otherwise.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\Cursor::isDead() example

<?php

/* In this example, we insert several documents into the collection and specify
 * a smaller batchSize to ensure that the first batch contains only a subset of
 * our results and the cursor remains open on the server. */
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$query = new MongoDB\Driver\Query([], ['batchSize' => 2]);

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->insert(['x' => 2]);
$bulk->insert(['x' => 3]);
$manager->executeBulkWrite('db.collection', $bulk);

$cursor = $manager->executeQuery('db.collection', $query);

var_dump($cursor->isDead());
$cursor->toArray();
var_dump($cursor->isDead());

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(true)
MongoDB\Driver\Cursor::getServer
MongoDB\Driver\Cursor::setTypeMap
MongoDB\Driver\Cursor


Sets a type map to use for BSON unserialization

MongoDB\Driver\Cursor::isDead
MongoDB\Driver\Cursor::toArray
MongoDB\Driver\Cursor
PHP Manual

MongoDB\Driver\Cursor::setTypeMap

(mongodb >=1.0.0)

MongoDB\Driver\Cursor::setTypeMap — Sets a type map to use for BSON unserialization

Beschreibung

final public void MongoDB\Driver\Cursor::setTypeMap ( array $typemap )

Sets the type map configuration to use when unserializing the BSON results into PHP values.

Parameter-Liste

typeMap (array)

Type map configuration.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\Cursor::setTypeMap() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");

$bulk = new MongoDB\Driver\BulkWrite;
$id = $bulk->insert(['x' => 1]);
$manager->executeBulkWrite('db.collection', $bulk);

$query = new MongoDB\Driver\Query(['_id' => $id]);
$cursor = $manager->executeQuery('db.collection', $query);
$cursor->setTypeMap(['root' => 'array']);

foreach ($cursor as $document) {
    var_dump($document);
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(2) {
  ["_id"]=>
  object(MongoDB\BSON\ObjectID)#6 (1) {
    ["oid"]=>
    string(24) "56424fb76118fd3267180741"
  }
  ["x"]=>
  int(1)
}

Siehe auch

  • Persisting Data
MongoDB\Driver\Cursor::isDead
MongoDB\Driver\Cursor::toArray
MongoDB\Driver\Cursor


Returns an array containing all results for this cursor

MongoDB\Driver\Cursor::setTypeMap
MongoDB\Driver\CursorId
MongoDB\Driver\Cursor
PHP Manual

MongoDB\Driver\Cursor::toArray

(mongodb >=1.0.0)

MongoDB\Driver\Cursor::toArray — Returns an array containing all results for this cursor

Beschreibung

final public array MongoDB\Driver\Cursor::toArray ( void )

Iterates the cursor and returns its results in an array. MongoDB\Driver\Cursor::setTypeMap() may be used to control how documents are unserialized into PHP values.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array containing all results for this cursor.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\Cursor::toArray() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->insert(['x' => 2]);
$bulk->insert(['x' => 3]);
$manager->executeBulkWrite('db.collection', $bulk);

$query = new MongoDB\Driver\Query([]);
$cursor = $manager->executeQuery('db.collection', $query);

var_dump($cursor->toArray());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(3) {
  [0]=>
  object(stdClass)#6 (2) {
    ["_id"]=>
    object(MongoDB\BSON\ObjectID)#5 (1) {
      ["oid"]=>
      string(24) "564259a96118fd40b41bcf61"
    }
    ["x"]=>
    int(1)
  }
  [1]=>
  object(stdClass)#8 (2) {
    ["_id"]=>
    object(MongoDB\BSON\ObjectID)#7 (1) {
      ["oid"]=>
      string(24) "564259a96118fd40b41bcf62"
    }
    ["x"]=>
    int(2)
  }
  [2]=>
  object(stdClass)#10 (2) {
    ["_id"]=>
    object(MongoDB\BSON\ObjectID)#9 (1) {
      ["oid"]=>
      string(24) "564259a96118fd40b41bcf63"
    }
    ["x"]=>
    int(3)
  }
}

Siehe auch

  • MongoDB\Driver\Cursor::setTypeMap() - Sets a type map to use for BSON unserialization
MongoDB\Driver\Cursor::setTypeMap
MongoDB\Driver\CursorId
MongoDB\Driver\Cursor


The MongoDB\Driver\CursorId class

(mongodb >=1.0.0)

Einführung

Klassenbeschreibung

final MongoDB\Driver\CursorId {
/* Methoden */
final private __construct ( void )
final public string __toString ( void )
}

Inhaltsverzeichnis

  • MongoDB\Driver\CursorId::__construct — Create a new CursorId (not used)
  • MongoDB\Driver\CursorId::__toString — String representation of the cursor ID
MongoDB\Driver\Cursor::toArray
MongoDB\Driver\CursorId::__construct
MongoDB\Driver


Create a new CursorId (not used)

MongoDB\Driver\CursorId
MongoDB\Driver\CursorId::__toString
MongoDB\Driver\CursorId
PHP Manual

MongoDB\Driver\CursorId::__construct

(mongodb >=1.0.0)

MongoDB\Driver\CursorId::__construct — Create a new CursorId (not used)

Beschreibung

final private MongoDB\Driver\CursorId::__construct ( void )

MongoDB\Driver\CursorId objects are returned from MongoDB\Driver\Cursor::getId() and cannot be constructed directly.

Parameter-Liste

Diese Funktion hat keine Parameter.

Siehe auch

  • MongoDB\Driver\Cursor::getId() - Returns the ID for this cursor
MongoDB\Driver\CursorId
MongoDB\Driver\CursorId::__toString
MongoDB\Driver\CursorId


String representation of the cursor ID

MongoDB\Driver\CursorId::__construct
MongoDB\Driver\Server
MongoDB\Driver\CursorId
PHP Manual

MongoDB\Driver\CursorId::__toString

(mongodb >=1.0.0)

MongoDB\Driver\CursorId::__toString — String representation of the cursor ID

Beschreibung

final public string MongoDB\Driver\CursorId::__toString ( void )

Returns the string representation of the cursor ID.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the string representation of the cursor ID.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\CursorId::__toString() example

<?php

/* In this example, we insert several documents into the collection and specify
 * a smaller batchSize to ensure that the first batch contains only a subset of
 * our results and the cursor remains open on the server. */
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$query = new MongoDB\Driver\Query([], ['batchSize' => 2]);

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->insert(['x' => 2]);
$bulk->insert(['x' => 3]);
$manager->executeBulkWrite('db.collection', $bulk);

$cursor = $manager->executeQuery('db.collection', $query);
var_dump((string) $cursor->getId());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(11) "98061641158"

Siehe auch

  • MongoDB\Driver\Cursor::getId() - Returns the ID for this cursor
MongoDB\Driver\CursorId::__construct
MongoDB\Driver\Server
MongoDB\Driver\CursorId


The MongoDB\Driver\Server class

(mongodb >=1.0.0)

Einführung

Klassenbeschreibung

final MongoDB\Driver\Server {
/* Constants */
const integer TYPE_UNKNOWN = 0 ;
const integer TYPE_STANDALONE = 1 ;
const integer TYPE_MONGOS = 2 ;
const integer TYPE_POSSIBLE_PRIMARY = 3 ;
const integer TYPE_RS_PRIMARY = 4 ;
const integer TYPE_RS_SECONDARY = 5 ;
const integer TYPE_RS_ARBITER = 6 ;
const integer TYPE_RS_OTHER = 7 ;
const integer TYPE_RS_GHOST = 8 ;
/* Methoden */
final private __construct ( void )
final public MongoDB\Driver\WriteResult executeBulkWrite ( string $namespace , MongoDB\Driver\BulkWrite $bulk [, MongoDB\Driver\WriteConcern $writeConcern ] )
final public MongoDB\Driver\Cursor executeCommand ( string $db , MongoDB\Driver\Command $command [, MongoDB\Driver\ReadPreference $readPreference ] )
final public MongoDB\Driver\Cursor executeQuery ( string $namespace , MongoDB\Driver\Query $query [, MongoDB\Driver\ReadPreference $readPreference ] )
final public string getHost ( void )
final public array getInfo ( void )
final public string getLatency ( void )
final public int getPort ( void )
final public array getTags ( void )
final public int getType ( void )
final public bool isArbiter ( void )
final public bool isHidden ( void )
final public bool isPassive ( void )
final public bool isPrimary ( void )
final public bool isSecondary ( void )
}

Vordefinierte Konstanten

MongoDB\Driver\Server::TYPE_UNKNOWN

Unknown server type, returned by MongoDB\Driver\Server::getType().

MongoDB\Driver\Server::TYPE_STANDALONE

Standalone server type, returned by MongoDB\Driver\Server::getType().

MongoDB\Driver\Server::TYPE_MONGOS

Mongos server type, returned by MongoDB\Driver\Server::getType().

MongoDB\Driver\Server::TYPE_POSSIBLE_PRIMARY

Replica set possible primary server type, returned by MongoDB\Driver\Server::getType().

A server may be identified as a possible primary if it has not yet been checked but another memory of the replica set thinks it is the primary.

MongoDB\Driver\Server::TYPE_RS_PRIMARY

Replica set primary server type, returned by MongoDB\Driver\Server::getType().

MongoDB\Driver\Server::TYPE_RS_SECONDARY

Replica set secondary server type, returned by MongoDB\Driver\Server::getType().

MongoDB\Driver\Server::TYPE_RS_ARBITER

Replica set arbiter server type, returned by MongoDB\Driver\Server::getType().

MongoDB\Driver\Server::TYPE_RS_OTHER

Replica set other server type, returned by MongoDB\Driver\Server::getType().

Such servers may be hidden, starting up, or recovering. They cannot be queried, but their hosts lists are useful for discovering the current replica set configuration.

MongoDB\Driver\Server::TYPE_RS_GHOST

Replica set ghost server type, returned by MongoDB\Driver\Server::getType().

Servers may be identified as such in at least three situations: briefly during server startup; in an uninitialized replica set; or when the server is shunned (i.e. removed from the replica set config). They cannot be queried, nor can their host list be used to discover the current replica set configuration; however, the client may monitor this server in hope that it transitions to a more useful state.

Inhaltsverzeichnis

  • MongoDB\Driver\Server::__construct — Create a new Server (not used)
  • MongoDB\Driver\Server::executeBulkWrite — Execute one or more write operations on this server
  • MongoDB\Driver\Server::executeCommand — Execute a database command on this server
  • MongoDB\Driver\Server::executeQuery — Execute a database query on this server
  • MongoDB\Driver\Server::getHost — Returns the hostname of this server
  • MongoDB\Driver\Server::getInfo — Returns an array of information about this server
  • MongoDB\Driver\Server::getLatency — Returns the latency of this server
  • MongoDB\Driver\Server::getPort — Returns the port on which this server is listening
  • MongoDB\Driver\Server::getTags — Returns an array of tags describing this server in a replica set
  • MongoDB\Driver\Server::getType — Returns an integer denoting the type of this server
  • MongoDB\Driver\Server::isArbiter — Checks if this server is an arbiter member of a replica set
  • MongoDB\Driver\Server::isHidden — Checks if this server is a hidden member of a replica set
  • MongoDB\Driver\Server::isPassive — Checks if this server is a passive member of a replica set
  • MongoDB\Driver\Server::isPrimary — Checks if this server is a primary member of a replica set
  • MongoDB\Driver\Server::isSecondary — Checks if this server is a secondary member of a replica set
MongoDB\Driver\CursorId::__toString
MongoDB\Driver\Server::__construct
MongoDB\Driver


Create a new Server (not used)

MongoDB\Driver\Server
MongoDB\Driver\Server::executeBulkWrite
MongoDB\Driver\Server
PHP Manual

MongoDB\Driver\Server::__construct

(mongodb >=1.0.0)

MongoDB\Driver\Server::__construct — Create a new Server (not used)

Beschreibung

final private MongoDB\Driver\Server::__construct ( void )

MongoDB\Driver\Server objects are created internally by MongoDB\Driver\Manager when a database connection is established and may be returned by MongoDB\Driver\Manager::getServers() and MongoDB\Driver\Manager::selectServer().

Parameter-Liste

Diese Funktion hat keine Parameter.

Siehe auch

  • MongoDB\Driver\Manager::getServers() - Return the servers to which this manager is connected
  • MongoDB\Driver\Manager::selectServer() - Select a server matching a read preference
MongoDB\Driver\Server
MongoDB\Driver\Server::executeBulkWrite
MongoDB\Driver\Server


Execute one or more write operations on this server

MongoDB\Driver\Server::__construct
MongoDB\Driver\Server::executeCommand
MongoDB\Driver\Server
PHP Manual

MongoDB\Driver\Server::executeBulkWrite

(mongodb >=1.0.0)

MongoDB\Driver\Server::executeBulkWrite — Execute one or more write operations on this server

Beschreibung

final public MongoDB\Driver\WriteResult MongoDB\Driver\Server::executeBulkWrite ( string $namespace , MongoDB\Driver\BulkWrite $bulk [, MongoDB\Driver\WriteConcern $writeConcern ] )

Executes one or more write operations on this server.

A MongoDB\Driver\BulkWrite can be constructed with one or more write operations of varying types (e.g. updates, deletes, and inserts). The driver will attempt to send operations of the same type to the server in as few requests as possible to optimize round trips.

Parameter-Liste

namespace

A fully qualified namespace (databaseName.collectionName)

bulk (MongoDB\Driver\BulkWrite)

The MongoDB\Driver\BulkWrite to execute.

writeConcern

Optionally, a MongoDB\Driver\WriteConcern. If none given, default to the Write Concern set by the MongoDB Connection URI.

Rückgabewerte

Returns MongoDB\Driver\WriteResult on success.

Fehler/Exceptions

  • Throws MongoDB\Driver\BulkWriteException on any write failure (WriteError and WriteConcern failures)
  • Throws MongoDB\Driver\AuthenticationException if authentication is needed and fails
  • Throws MongoDB\Driver\ConnectionException if connection to the server fails for other then authentication reasons
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors.

Anmerkungen

Hinweis:

It is the caller's responsibility to ensure that the server is capable of executing the write operation. For example, executing a write operation on a secondary (excluding its "local" database) will fail.

Siehe auch

  • MongoDB\Driver\BulkWrite
  • MongoDB\Driver\WriteResult
  • MongoDB\Driver\WriteConcern
  • MongoDB\Driver\Manager::executeBulkWrite() - Execute one or more write operations
MongoDB\Driver\Server::__construct
MongoDB\Driver\Server::executeCommand
MongoDB\Driver\Server


Execute a database command on this server

MongoDB\Driver\Server::executeBulkWrite
MongoDB\Driver\Server::executeQuery
MongoDB\Driver\Server
PHP Manual

MongoDB\Driver\Server::executeCommand

(mongodb >=1.0.0)

MongoDB\Driver\Server::executeCommand — Execute a database command on this server

Beschreibung

final public MongoDB\Driver\Cursor MongoDB\Driver\Server::executeCommand ( string $db , MongoDB\Driver\Command $command [, MongoDB\Driver\ReadPreference $readPreference ] )

Executes command on this server.

Hinweis:

The readPreference parameter does not control the server to which the driver issues the command; the command will always be executed on this server object. Instead, it may be used when issuing the command to a secondary (from a replica set connection, not standalone) or mongos node to ensure that the driver sets the wire protocol accordingly or adds the read preference to the command document, respectively.

Parameter-Liste

db (string)

The name of the database on which to execute the command.

command (MongoDB\Driver\Command)

The MongoDB\Driver\Command to execute.

readPreference

Optionally, a MongoDB\Driver\ReadPreference to route the command to. If none given, defaults to the Read Preferences set by the MongoDB Connection URI.

Rückgabewerte

Returns MongoDB\Driver\Cursor on success.

Fehler/Exceptions

  • Throws MongoDB\Driver\AuthenticationException if authentication is needed and fails
  • Throws MongoDB\Driver\ConnectionException if connection to the server fails for other then authentication reasons
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors (e.g. invalid command, issuing a write command to a secondary).

Anmerkungen

Hinweis:

This method does not take a MongoDB\Driver\WriteConcern parameter. For write commands (e.g. » findAndModify in MongoDB 3.2+), the write concern should be included in the command document itself.

It is the caller's responsibility to ensure that the server is capable of executing the command. For example, executing a write operation on a secondary (excluding its "local" database) will fail.

Siehe auch

  • MongoDB\Driver\Command
  • MongoDB\Driver\Cursor
  • MongoDB\Driver\ReadPreference
  • MongoDB\Driver\Manager::executeCommand() - Execute a database command
MongoDB\Driver\Server::executeBulkWrite
MongoDB\Driver\Server::executeQuery
MongoDB\Driver\Server


Execute a database query on this server

MongoDB\Driver\Server::executeCommand
MongoDB\Driver\Server::getHost
MongoDB\Driver\Server
PHP Manual

MongoDB\Driver\Server::executeQuery

(mongodb >=1.0.0)

MongoDB\Driver\Server::executeQuery — Execute a database query on this server

Beschreibung

final public MongoDB\Driver\Cursor MongoDB\Driver\Server::executeQuery ( string $namespace , MongoDB\Driver\Query $query [, MongoDB\Driver\ReadPreference $readPreference ] )

Executes query on this server.

Hinweis:

The readPreference parameter does not control the server to which the driver issues the query; the query will always be executed on this server object. Instead, it may be used when issuing the command to a secondary (from a replica set connection, not standalone) or mongos node to ensure that the driver sets the wire protocol accordingly or adds the read preference to the query document, respectively.

Parameter-Liste

namespace

A fully qualified namespace (databaseName.collectionName)

query (MongoDB\Driver\Query)

The MongoDB\Driver\Query to execute.

readPreference

Optionally, a MongoDB\Driver\ReadPreference to route the command to. If none given, defaults to the Read Preferences set by the MongoDB Connection URI.

Rückgabewerte

Returns MongoDB\Driver\Cursor on success.

Fehler/Exceptions

  • Throws MongoDB\Driver\AuthenticationException if authentication is needed and fails
  • Throws MongoDB\Driver\ConnectionException if connection to the server fails for other then authentication reasons
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors (e.g. invalid query operators).

Siehe auch

  • MongoDB\Driver\Cursor
  • MongoDB\Driver\Query
  • MongoDB\Driver\ReadPreference
  • MongoDB\Driver\Manager::executeQuery() - Execute a database query
MongoDB\Driver\Server::executeCommand
MongoDB\Driver\Server::getHost
MongoDB\Driver\Server


Returns the hostname of this server

MongoDB\Driver\Server::executeQuery
MongoDB\Driver\Server::getInfo
MongoDB\Driver\Server
PHP Manual

MongoDB\Driver\Server::getHost

(mongodb >=1.0.0)

MongoDB\Driver\Server::getHost — Returns the hostname of this server

Beschreibung

final public string MongoDB\Driver\Server::getHost ( void )

Returns the hostname of this server.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the hostname of this server.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\Server::getHost() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017/");

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY);
$server = $manager->selectServer($rp);

var_dump($server->getHost());

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(9) "localhost"

Siehe auch

  • MongoDB\Driver\Server::getInfo() - Returns an array of information about this server
MongoDB\Driver\Server::executeQuery
MongoDB\Driver\Server::getInfo
MongoDB\Driver\Server


Returns an array of information about this server

MongoDB\Driver\Server::getHost
MongoDB\Driver\Server::getLatency
MongoDB\Driver\Server
PHP Manual

MongoDB\Driver\Server::getInfo

(mongodb >=1.0.0)

MongoDB\Driver\Server::getInfo — Returns an array of information about this server

Beschreibung

final public array MongoDB\Driver\Server::getInfo ( void )

Returns an array of information about this server.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array of information about this server.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\Server::getInfo() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017/");

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY);
$server = $manager->selectServer($rp);

var_dump($server->getInfo());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(8) {
  ["ismaster"]=>
  bool(true)
  ["maxBsonObjectSize"]=>
  int(16777216)
  ["maxMessageSizeBytes"]=>
  int(48000000)
  ["maxWriteBatchSize"]=>
  int(1000)
  ["localTime"]=>
  object(MongoDB\BSON\UTCDateTime)#4 (1) {
    ["milliseconds"]=>
    int(1447276242774)
  }
  ["maxWireVersion"]=>
  int(3)
  ["minWireVersion"]=>
  int(0)
  ["ok"]=>
  float(1)
}
MongoDB\Driver\Server::getHost
MongoDB\Driver\Server::getLatency
MongoDB\Driver\Server


Returns the latency of this server

MongoDB\Driver\Server::getInfo
MongoDB\Driver\Server::getPort
MongoDB\Driver\Server
PHP Manual

MongoDB\Driver\Server::getLatency

(mongodb >=1.0.0)

MongoDB\Driver\Server::getLatency — Returns the latency of this server

Beschreibung

final public string MongoDB\Driver\Server::getLatency ( void )

Returns the latency of this server (i.e. the client's measured » round trip time of an ismaster command).

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the latency of this server.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\Server::getLatency() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017/");

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY);
$server = $manager->selectServer($rp);

var_dump($server->getLatency());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(592)

Siehe auch

  • MongoDB\Driver\Server::getInfo() - Returns an array of information about this server
  • » Server Discovery and Monitoring Specification
MongoDB\Driver\Server::getInfo
MongoDB\Driver\Server::getPort
MongoDB\Driver\Server


Returns the port on which this server is listening

MongoDB\Driver\Server::getLatency
MongoDB\Driver\Server::getTags
MongoDB\Driver\Server
PHP Manual

MongoDB\Driver\Server::getPort

(mongodb >=1.0.0)

MongoDB\Driver\Server::getPort — Returns the port on which this server is listening

Beschreibung

final public int MongoDB\Driver\Server::getPort ( void )

Returns the port on which this server is listening.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the port on which this server is listening.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\Server::getPort() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017/");

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY);
$server = $manager->selectServer($rp);

var_dump($server->getPort());

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(27017)

Siehe auch

  • MongoDB\Driver\Server::getInfo() - Returns an array of information about this server
MongoDB\Driver\Server::getLatency
MongoDB\Driver\Server::getTags
MongoDB\Driver\Server


Returns an array of tags describing this server in a replica set

MongoDB\Driver\Server::getPort
MongoDB\Driver\Server::getType
MongoDB\Driver\Server
PHP Manual

MongoDB\Driver\Server::getTags

(mongodb >=1.0.0)

MongoDB\Driver\Server::getTags — Returns an array of tags describing this server in a replica set

Beschreibung

final public array MongoDB\Driver\Server::getTags ( void )

Returns an array of » tags used to describe this server in a replica set. The array will contain zero or more string key and value pairs.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array of tags used to describe this server in a replica set.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Siehe auch

  • MongoDB\Driver\Server::getInfo() - Returns an array of information about this server
MongoDB\Driver\Server::getPort
MongoDB\Driver\Server::getType
MongoDB\Driver\Server


Returns an integer denoting the type of this server

MongoDB\Driver\Server::getTags
MongoDB\Driver\Server::isArbiter
MongoDB\Driver\Server
PHP Manual

MongoDB\Driver\Server::getType

(mongodb >=1.0.0)

MongoDB\Driver\Server::getType — Returns an integer denoting the type of this server

Beschreibung

final public int MongoDB\Driver\Server::getType ( void )

Returns an integer denoting the type of this server. The value will correlate with a MongoDB\Driver\Server constant.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an integer denoting the type of this server.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Siehe auch

  • MongoDB\Driver\Server::getInfo() - Returns an array of information about this server
MongoDB\Driver\Server::getTags
MongoDB\Driver\Server::isArbiter
MongoDB\Driver\Server


Checks if this server is an arbiter member of a replica set

MongoDB\Driver\Server::getType
MongoDB\Driver\Server::isHidden
MongoDB\Driver\Server
PHP Manual

MongoDB\Driver\Server::isArbiter

(mongodb >=1.0.0)

MongoDB\Driver\Server::isArbiter — Checks if this server is an arbiter member of a replica set

Beschreibung

final public bool MongoDB\Driver\Server::isArbiter ( void )

Returns whether this server is an » arbiter member of a replica set.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if this server is an arbiter member of a replica set, and FALSE otherwise.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Siehe auch

  • MongoDB\Driver\Server::getInfo() - Returns an array of information about this server
MongoDB\Driver\Server::getType
MongoDB\Driver\Server::isHidden
MongoDB\Driver\Server


Checks if this server is a hidden member of a replica set

MongoDB\Driver\Server::isArbiter
MongoDB\Driver\Server::isPassive
MongoDB\Driver\Server
PHP Manual

MongoDB\Driver\Server::isHidden

(mongodb >=1.0.0)

MongoDB\Driver\Server::isHidden — Checks if this server is a hidden member of a replica set

Beschreibung

final public bool MongoDB\Driver\Server::isHidden ( void )

Returns whether this server is a » hidden member of a replica set.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if this server is a hidden member of a replica set, and FALSE otherwise.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Siehe auch

  • MongoDB\Driver\Server::getInfo() - Returns an array of information about this server
MongoDB\Driver\Server::isArbiter
MongoDB\Driver\Server::isPassive
MongoDB\Driver\Server


Checks if this server is a passive member of a replica set

MongoDB\Driver\Server::isHidden
MongoDB\Driver\Server::isPrimary
MongoDB\Driver\Server
PHP Manual

MongoDB\Driver\Server::isPassive

(mongodb >=1.0.0)

MongoDB\Driver\Server::isPassive — Checks if this server is a passive member of a replica set

Beschreibung

final public bool MongoDB\Driver\Server::isPassive ( void )

Returns whether this server is a » passive member of a replica set (i.e. its priority is 0).

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if this server is a passive member of a replica set, and FALSE otherwise.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Siehe auch

  • MongoDB\Driver\Server::getInfo() - Returns an array of information about this server
MongoDB\Driver\Server::isHidden
MongoDB\Driver\Server::isPrimary
MongoDB\Driver\Server


Checks if this server is a primary member of a replica set

MongoDB\Driver\Server::isPassive
MongoDB\Driver\Server::isSecondary
MongoDB\Driver\Server
PHP Manual

MongoDB\Driver\Server::isPrimary

(mongodb >=1.0.0)

MongoDB\Driver\Server::isPrimary — Checks if this server is a primary member of a replica set

Beschreibung

final public bool MongoDB\Driver\Server::isPrimary ( void )

Returns whether this server is a » primary member of a replica set.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if this server is a primary member of a replica set, and FALSE otherwise.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Siehe auch

  • MongoDB\Driver\Server::getInfo() - Returns an array of information about this server
MongoDB\Driver\Server::isPassive
MongoDB\Driver\Server::isSecondary
MongoDB\Driver\Server


Checks if this server is a secondary member of a replica set

MongoDB\Driver\Server::isPrimary
MongoDB\Driver\WriteConcernError
MongoDB\Driver\Server
PHP Manual

MongoDB\Driver\Server::isSecondary

(mongodb >=1.0.0)

MongoDB\Driver\Server::isSecondary — Checks if this server is a secondary member of a replica set

Beschreibung

final public bool MongoDB\Driver\Server::isSecondary ( void )

Returns whether this server is a » secondary member of a replica set.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if this server is a secondary member of a replica set, and FALSE otherwise.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Siehe auch

  • MongoDB\Driver\Server::getInfo() - Returns an array of information about this server
MongoDB\Driver\Server::isPrimary
MongoDB\Driver\WriteConcernError
MongoDB\Driver\Server


The MongoDB\Driver\WriteConcernError class

(mongodb >=1.0.0)

Einführung

The MongoDB\Driver\WriteConcernError class encapsulates information about a write concern error and may be returned by MongoDB\Driver\WriteResult::getWriteConcernError().

Klassenbeschreibung

final MongoDB\Driver\WriteConcernError {
/* Methoden */
final public int getCode ( void )
final public mixed getInfo ( void )
final public string getMessage ( void )
}

Inhaltsverzeichnis

  • MongoDB\Driver\WriteConcernError::getCode — Returns the WriteConcernError's error code
  • MongoDB\Driver\WriteConcernError::getInfo — Returns additional metadata for the WriteConcernError
  • MongoDB\Driver\WriteConcernError::getMessage — Returns the WriteConcernError's error message
MongoDB\Driver\Server::isSecondary
MongoDB\Driver\WriteConcernError::getCode
MongoDB\Driver


Returns the WriteConcernError's error code

MongoDB\Driver\WriteConcernError
MongoDB\Driver\WriteConcernError::getInfo
MongoDB\Driver\WriteConcernError
PHP Manual

MongoDB\Driver\WriteConcernError::getCode

(mongodb >=1.0.0)

MongoDB\Driver\WriteConcernError::getCode — Returns the WriteConcernError's error code

Beschreibung

final public int MongoDB\Driver\WriteConcernError::getCode ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the WriteConcernError's error code.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\WriteConcernError::getCode() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://rs1.example.com,rs2.example.com/?replicaSet=myReplicaSet");

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);

$writeConcern = new MongoDB\Driver\WriteConcern(2, 1);

try {
    $manager->executeBulkWrite('db.collection', $bulk, $writeConcern);
} catch(MongoDB\Driver\Exception\BulkWriteException $e) {
    var_dump($e->getWriteResult()->getWriteConcernError()->getCode());
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(64)

Siehe auch

  • » Write Concern reference
MongoDB\Driver\WriteConcernError
MongoDB\Driver\WriteConcernError::getInfo
MongoDB\Driver\WriteConcernError


Returns additional metadata for the WriteConcernError

MongoDB\Driver\WriteConcernError::getCode
MongoDB\Driver\WriteConcernError::getMessage
MongoDB\Driver\WriteConcernError
PHP Manual

MongoDB\Driver\WriteConcernError::getInfo

(mongodb >=1.0.0)

MongoDB\Driver\WriteConcernError::getInfo — Returns additional metadata for the WriteConcernError

Beschreibung

final public mixed MongoDB\Driver\WriteConcernError::getInfo ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns additional metadata for the WriteConcernError, or NULL if no metadata is available.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\WriteConcernError::getInfo() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://rs1.example.com,rs2.example.com/?replicaSet=myReplicaSet");

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);

$writeConcern = new MongoDB\Driver\WriteConcern(2, 1);

try {
    $manager->executeBulkWrite('db.collection', $bulk, $writeConcern);
} catch(MongoDB\Driver\Exception\BulkWriteException $e) {
    var_dump($e->getWriteResult()->getWriteConcernError()->getInfo());
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(stdClass)#1 (1) {
  ["wtimeout"]=>
  bool(true)
}

Siehe auch

  • » Write Concern reference
MongoDB\Driver\WriteConcernError::getCode
MongoDB\Driver\WriteConcernError::getMessage
MongoDB\Driver\WriteConcernError


Returns the WriteConcernError's error message

MongoDB\Driver\WriteConcernError::getInfo
MongoDB\Driver\WriteError
MongoDB\Driver\WriteConcernError
PHP Manual

MongoDB\Driver\WriteConcernError::getMessage

(mongodb >=1.0.0)

MongoDB\Driver\WriteConcernError::getMessage — Returns the WriteConcernError's error message

Beschreibung

final public string MongoDB\Driver\WriteConcernError::getMessage ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the WriteConcernError's error message.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\WriteConcernError::getMessage() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://rs1.example.com,rs2.example.com/?replicaSet=myReplicaSet");

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);

$writeConcern = new MongoDB\Driver\WriteConcern(2, 1);

try {
    $manager->executeBulkWrite('db.collection', $bulk, $writeConcern);
} catch(MongoDB\Driver\Exception\BulkWriteException $e) {
    var_dump($e->getWriteResult()->getWriteConcernError()->getMessage());
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(33) "waiting for replication timed out"

Siehe auch

  • » Write Concern reference
MongoDB\Driver\WriteConcernError::getInfo
MongoDB\Driver\WriteError
MongoDB\Driver\WriteConcernError


The MongoDB\Driver\WriteError class

(mongodb >=1.0.0)

Einführung

The MongoDB\Driver\WriteError class encapsulates information about a write error and may be returned as an array element from MongoDB\Driver\WriteResult::getWriteErrors().

Klassenbeschreibung

final MongoDB\Driver\WriteError {
/* Methoden */
final public int getCode ( void )
final public int getIndex ( void )
final public mixed getInfo ( void )
final public string getMessage ( void )
}

Inhaltsverzeichnis

  • MongoDB\Driver\WriteError::getCode — Returns the WriteError's error code
  • MongoDB\Driver\WriteError::getIndex — Returns the index of the write operation corresponding to this WriteError
  • MongoDB\Driver\WriteError::getInfo — Returns additional metadata for the WriteError
  • MongoDB\Driver\WriteError::getMessage — Returns the WriteError's error message
MongoDB\Driver\WriteConcernError::getMessage
MongoDB\Driver\WriteError::getCode
MongoDB\Driver


Returns the WriteError's error code

MongoDB\Driver\WriteError
MongoDB\Driver\WriteError::getIndex
MongoDB\Driver\WriteError
PHP Manual

MongoDB\Driver\WriteError::getCode

(mongodb >=1.0.0)

MongoDB\Driver\WriteError::getCode — Returns the WriteError's error code

Beschreibung

final public int MongoDB\Driver\WriteError::getCode ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the WriteError's error code.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\WriteError::getCode() example

<?php

$manager = new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['_id' => 1]);
$bulk->insert(['_id' => 1]);

try {
    $manager->executeBulkWrite('db.collection', $bulk);
} catch(MongoDB\Driver\Exception\BulkWriteException $e) {
    var_dump($e->getWriteResult()->getWriteErrors()[0]->getCode());
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(11000)
MongoDB\Driver\WriteError
MongoDB\Driver\WriteError::getIndex
MongoDB\Driver\WriteError


Returns the index of the write operation corresponding to this WriteError

MongoDB\Driver\WriteError::getCode
MongoDB\Driver\WriteError::getInfo
MongoDB\Driver\WriteError
PHP Manual

MongoDB\Driver\WriteError::getIndex

(mongodb >=1.0.0)

MongoDB\Driver\WriteError::getIndex — Returns the index of the write operation corresponding to this WriteError

Beschreibung

final public int MongoDB\Driver\WriteError::getIndex ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the index of the write operation (from MongoDB\Driver\BulkWrite) corresponding to this WriteError.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\WriteError::getIndex() example

<?php

$manager = new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['_id' => 1]);
$bulk->insert(['_id' => 1]);

try {
    $manager->executeBulkWrite('db.collection', $bulk);
} catch(MongoDB\Driver\Exception\BulkWriteException $e) {
    var_dump($e->getWriteResult()->getWriteErrors()[0]->getIndex());
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(1)

Siehe auch

  • MongoDB\Driver\BulkWrite
MongoDB\Driver\WriteError::getCode
MongoDB\Driver\WriteError::getInfo
MongoDB\Driver\WriteError


Returns additional metadata for the WriteError

MongoDB\Driver\WriteError::getIndex
MongoDB\Driver\WriteError::getMessage
MongoDB\Driver\WriteError
PHP Manual

MongoDB\Driver\WriteError::getInfo

(mongodb >=1.0.0)

MongoDB\Driver\WriteError::getInfo — Returns additional metadata for the WriteError

Beschreibung

final public mixed MongoDB\Driver\WriteError::getInfo ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns additional metadata for the WriteError, or NULL if no metadata is available.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.
MongoDB\Driver\WriteError::getIndex
MongoDB\Driver\WriteError::getMessage
MongoDB\Driver\WriteError


Returns the WriteError's error message

MongoDB\Driver\WriteError::getInfo
MongoDB\Driver\WriteResult
MongoDB\Driver\WriteError
PHP Manual

MongoDB\Driver\WriteError::getMessage

(mongodb >=1.0.0)

MongoDB\Driver\WriteError::getMessage — Returns the WriteError's error message

Beschreibung

final public string MongoDB\Driver\WriteError::getMessage ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the WriteError's error message.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\WriteError::getMessage() example

<?php

$manager = new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['_id' => 1]);
$bulk->insert(['_id' => 1]);

try {
    $manager->executeBulkWrite('db.collection', $bulk);
} catch(MongoDB\Driver\Exception\BulkWriteException $e) {
    var_dump($e->getWriteResult()->getWriteErrors()[0]->getMessage());
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(70) "E11000 duplicate key error index: db.collection.$_id_ dup key: { : 1 }"
MongoDB\Driver\WriteError::getInfo
MongoDB\Driver\WriteResult
MongoDB\Driver\WriteError


The MongoDB\Driver\WriteResult class

(mongodb >=1.0.0)

Einführung

The MongoDB\Driver\WriteResult class encapsulates information about an executed MongoDB\Driver\BulkWrite and may be returned by MongoDB\Driver\Manager::executeBulkWrite().

Klassenbeschreibung

final MongoDB\Driver\WriteResult {
/* Methoden */
final public int|null getDeletedCount ( void )
final public int|null getInsertedCount ( void )
final public int|null getMatchedCount ( void )
final public int|null getModifiedCount ( void )
final public MongoDB\Driver\Server getServer ( void )
final public int|null getUpsertedCount ( void )
final public array getUpsertedIds ( void )
final public MongoDB\Driver\WriteConcernError|null getWriteConcernError ( void )
final public array getWriteErrors ( void )
final public bool isAcknowledged ( void )
}

Inhaltsverzeichnis

  • MongoDB\Driver\WriteResult::getDeletedCount — Returns the number of documents deleted
  • MongoDB\Driver\WriteResult::getInsertedCount — Returns the number of documents inserted (excluding upserts)
  • MongoDB\Driver\WriteResult::getMatchedCount — Returns the number of documents selected for update
  • MongoDB\Driver\WriteResult::getModifiedCount — Returns the number of existing documents updated
  • MongoDB\Driver\WriteResult::getServer — Returns the server associated with this write result
  • MongoDB\Driver\WriteResult::getUpsertedCount — Returns the number of documents inserted by an upsert
  • MongoDB\Driver\WriteResult::getUpsertedIds — Returns an array of identifiers for upserted documents
  • MongoDB\Driver\WriteResult::getWriteConcernError — Returns any write concern error that occurred
  • MongoDB\Driver\WriteResult::getWriteErrors — Returns any write errors that occurred
  • MongoDB\Driver\WriteResult::isAcknowledged — Returns whether the write was acknowledged
MongoDB\Driver\WriteError::getMessage
MongoDB\Driver\WriteResult::getDeletedCount
MongoDB\Driver


Returns the number of documents deleted

MongoDB\Driver\WriteResult
MongoDB\Driver\WriteResult::getInsertedCount
MongoDB\Driver\WriteResult
PHP Manual

MongoDB\Driver\WriteResult::getDeletedCount

(mongodb >=1.0.0)

MongoDB\Driver\WriteResult::getDeletedCount — Returns the number of documents deleted

Beschreibung

final public int|null MongoDB\Driver\WriteResult::getDeletedCount ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the number of documents deleted, or NULL if the write was not acknowledged.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\WriteResult::getDeletedCount() example

<?php

$manager = new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->update(['x' => 1], ['$set' => ['y' => 3]]);
$bulk->update(['x' => 2], ['$set' => ['y' => 1]], ['upsert' => true]);
$bulk->update(['x' => 3], ['$set' => ['y' => 2]], ['upsert' => true]);
$bulk->delete(['x' => 1]);

$result = $manager->executeBulkWrite('db.collection', $bulk);

var_dump($result->getDeletedCount());

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(1)

Siehe auch

  • MongoDB\Driver\WriteResult::isAcknowledged() - Returns whether the write was acknowledged
MongoDB\Driver\WriteResult
MongoDB\Driver\WriteResult::getInsertedCount
MongoDB\Driver\WriteResult


Returns the number of documents inserted (excluding upserts)

MongoDB\Driver\WriteResult::getDeletedCount
MongoDB\Driver\WriteResult::getMatchedCount
MongoDB\Driver\WriteResult
PHP Manual

MongoDB\Driver\WriteResult::getInsertedCount

(mongodb >=1.0.0)

MongoDB\Driver\WriteResult::getInsertedCount — Returns the number of documents inserted (excluding upserts)

Beschreibung

final public int|null MongoDB\Driver\WriteResult::getInsertedCount ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the number of documents inserted (excluding upserts), or NULL if the write was not acknowledged.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\WriteResult::getInsertedCount() example

<?php

$manager = new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->update(['x' => 1], ['$set' => ['y' => 3]]);
$bulk->update(['x' => 2], ['$set' => ['y' => 1]], ['upsert' => true]);
$bulk->update(['x' => 3], ['$set' => ['y' => 2]], ['upsert' => true]);
$bulk->delete(['x' => 1]);

$result = $manager->executeBulkWrite('db.collection', $bulk);

var_dump($result->getInsertedCount());

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(1)

Siehe auch

  • MongoDB\Driver\WriteResult::isAcknowledged() - Returns whether the write was acknowledged
MongoDB\Driver\WriteResult::getDeletedCount
MongoDB\Driver\WriteResult::getMatchedCount
MongoDB\Driver\WriteResult


Returns the number of documents selected for update

MongoDB\Driver\WriteResult::getInsertedCount
MongoDB\Driver\WriteResult::getModifiedCount
MongoDB\Driver\WriteResult
PHP Manual

MongoDB\Driver\WriteResult::getMatchedCount

(mongodb >=1.0.0)

MongoDB\Driver\WriteResult::getMatchedCount — Returns the number of documents selected for update

Beschreibung

final public int|null MongoDB\Driver\WriteResult::getMatchedCount ( void )

If the update operation results in no change to the document (e.g. setting the value of a field to its current value), the matched count may be greater than the value returned by MongoDB\Driver\WriteResult::getModifiedCount().

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the number of documents selected for update, or NULL if the write was not acknowledged.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\WriteResult::getMatchedCount() example

<?php

$manager = new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->update(['x' => 1], ['$set' => ['y' => 3]]);
$bulk->update(['x' => 2], ['$set' => ['y' => 1]], ['upsert' => true]);
$bulk->update(['x' => 3], ['$set' => ['y' => 2]], ['upsert' => true]);
$bulk->delete(['x' => 1]);

$result = $manager->executeBulkWrite('db.collection', $bulk);

var_dump($result->getMatchedCount());

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(1)

Siehe auch

  • MongoDB\Driver\WriteResult::getModifiedCount() - Returns the number of existing documents updated
  • MongoDB\Driver\WriteResult::isAcknowledged() - Returns whether the write was acknowledged
MongoDB\Driver\WriteResult::getInsertedCount
MongoDB\Driver\WriteResult::getModifiedCount
MongoDB\Driver\WriteResult


Returns the number of existing documents updated

MongoDB\Driver\WriteResult::getMatchedCount
MongoDB\Driver\WriteResult::getServer
MongoDB\Driver\WriteResult
PHP Manual

MongoDB\Driver\WriteResult::getModifiedCount

(mongodb >=1.0.0)

MongoDB\Driver\WriteResult::getModifiedCount — Returns the number of existing documents updated

Beschreibung

final public int|null MongoDB\Driver\WriteResult::getModifiedCount ( void )

If the update operation results in no change to the document (e.g. setting the value of a field to its current value), the modified count may be less than the value returned by MongoDB\Driver\WriteResult::getMatchedCount().

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the number of existing documents updated, or NULL if the write was not acknowledged.

The modified count is not available on versions of MongoDB before 2.6, which used the legacy wire protocol version (i.e. OP_UPDATE). If this is the case, the modified count will also be NULL.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\WriteResult::getModifiedCount() example

<?php

$manager = new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->update(['x' => 1], ['$set' => ['y' => 3]]);
$bulk->update(['x' => 2], ['$set' => ['y' => 1]], ['upsert' => true]);
$bulk->update(['x' => 3], ['$set' => ['y' => 2]], ['upsert' => true]);
$bulk->delete(['x' => 1]);

$result = $manager->executeBulkWrite('db.collection', $bulk);

var_dump($result->getModifiedCount());

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(1)

Siehe auch

  • MongoDB\Driver\WriteResult::getMatchedCount() - Returns the number of documents selected for update
  • MongoDB\Driver\WriteResult::isAcknowledged() - Returns whether the write was acknowledged
MongoDB\Driver\WriteResult::getMatchedCount
MongoDB\Driver\WriteResult::getServer
MongoDB\Driver\WriteResult


Returns the server associated with this write result

MongoDB\Driver\WriteResult::getModifiedCount
MongoDB\Driver\WriteResult::getUpsertedCount
MongoDB\Driver\WriteResult
PHP Manual

MongoDB\Driver\WriteResult::getServer

(mongodb >=1.0.0)

MongoDB\Driver\WriteResult::getServer — Returns the server associated with this write result

Beschreibung

final public MongoDB\Driver\Server MongoDB\Driver\WriteResult::getServer ( void )

Returns the MongoDB\Driver\Server associated with this write result. This is the server that executed the MongoDB\Driver\BulkWrite.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the MongoDB\Driver\Server associated with this write result.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\WriteResult::getServer() example

<?php

$manager = new MongoDB\Driver\Manager;
$server = $manager->selectServer(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY));

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);

$result = $server->executeBulkWrite('db.collection', $bulk);

var_dump($result->getServer() == $server);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)

Siehe auch

  • MongoDB\Driver\Server
MongoDB\Driver\WriteResult::getModifiedCount
MongoDB\Driver\WriteResult::getUpsertedCount
MongoDB\Driver\WriteResult


Returns the number of documents inserted by an upsert

MongoDB\Driver\WriteResult::getServer
MongoDB\Driver\WriteResult::getUpsertedIds
MongoDB\Driver\WriteResult
PHP Manual

MongoDB\Driver\WriteResult::getUpsertedCount

(mongodb >=1.0.0)

MongoDB\Driver\WriteResult::getUpsertedCount — Returns the number of documents inserted by an upsert

Beschreibung

final public int|null MongoDB\Driver\WriteResult::getUpsertedCount ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the number of documents inserted by an upsert.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\WriteResult::getUpsertedCount() example

<?php

$manager = new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->update(['x' => 1], ['$set' => ['y' => 3]]);
$bulk->update(['x' => 2], ['$set' => ['y' => 1]], ['upsert' => true]);
$bulk->update(['x' => 3], ['$set' => ['y' => 2]], ['upsert' => true]);
$bulk->delete(['x' => 1]);

$result = $manager->executeBulkWrite('db.collection', $bulk);

var_dump($result->getUpsertedCount());

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(2)

Siehe auch

  • MongoDB\Driver\WriteResult::getUpsertedIds() - Returns an array of identifiers for upserted documents
  • MongoDB\Driver\WriteResult::isAcknowledged() - Returns whether the write was acknowledged
MongoDB\Driver\WriteResult::getServer
MongoDB\Driver\WriteResult::getUpsertedIds
MongoDB\Driver\WriteResult


Returns an array of identifiers for upserted documents

MongoDB\Driver\WriteResult::getUpsertedCount
MongoDB\Driver\WriteResult::getWriteConcernError
MongoDB\Driver\WriteResult
PHP Manual

MongoDB\Driver\WriteResult::getUpsertedIds

(mongodb >=1.0.0)

MongoDB\Driver\WriteResult::getUpsertedIds — Returns an array of identifiers for upserted documents

Beschreibung

final public array MongoDB\Driver\WriteResult::getUpsertedIds ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array of identifiers (i.e. "_id" field values) for upserted documents. The array keys will correspond to the index of the write operation (from MongoDB\Driver\BulkWrite) responsible for the upsert.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\WriteResult::getUpsertedIds() example

<?php

$manager = new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->update(['x' => 1], ['$set' => ['y' => 3]]);
$bulk->update(['x' => 2], ['$set' => ['y' => 1]], ['upsert' => true]);
$bulk->update(['x' => 3], ['$set' => ['y' => 2]], ['upsert' => true]);
$bulk->delete(['x' => 1]);

$result = $manager->executeBulkWrite('db.collection', $bulk);

var_dump($result->getUpsertedIds());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(2) {
  [2]=>
  object(MongoDB\BSON\ObjectID)#4 (1) {
    ["oid"]=>
    string(24) "580e62a224f2302f191b880b"
  }
  [3]=>
  object(MongoDB\BSON\ObjectID)#5 (1) {
    ["oid"]=>
    string(24) "580e62a224f2302f191b880c"
  }
}

Siehe auch

  • MongoDB\Driver\WriteResult::getUpsertedCount() - Returns the number of documents inserted by an upsert
  • MongoDB\Driver\WriteResult::isAcknowledged() - Returns whether the write was acknowledged
MongoDB\Driver\WriteResult::getUpsertedCount
MongoDB\Driver\WriteResult::getWriteConcernError
MongoDB\Driver\WriteResult


Returns any write concern error that occurred

MongoDB\Driver\WriteResult::getUpsertedIds
MongoDB\Driver\WriteResult::getWriteErrors
MongoDB\Driver\WriteResult
PHP Manual

MongoDB\Driver\WriteResult::getWriteConcernError

(mongodb >=1.0.0)

MongoDB\Driver\WriteResult::getWriteConcernError — Returns any write concern error that occurred

Beschreibung

final public MongoDB\Driver\WriteConcernError|null MongoDB\Driver\WriteResult::getWriteConcernError ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a MongoDB\Driver\WriteConcernError if a write concern error was encountered during the write operation, and NULL otherwise.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\WriteResult::getWriteConcernError() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://rs1.example.com,rs2.example.com/?replicaSet=myReplicaSet");

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);

$writeConcern = new MongoDB\Driver\WriteConcern(2, 1);

try {
    $manager->executeBulkWrite('db.collection', $bulk, $writeConcern);
} catch(MongoDB\Driver\Exception\BulkWriteException $e) {
    var_dump($e->getWriteResult()->getWriteConcernError());
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(MongoDB\Driver\WriteConcernError)#6 (3) {
  ["message"]=>
  string(33) "waiting for replication timed out"
  ["code"]=>
  int(64)
  ["info"]=>
  object(stdClass)#7 (1) {
    ["wtimeout"]=>
    bool(true)
  }
}

Siehe auch

  • MongoDB\Driver\WriteConcern
  • » Write Concern reference
MongoDB\Driver\WriteResult::getUpsertedIds
MongoDB\Driver\WriteResult::getWriteErrors
MongoDB\Driver\WriteResult


Returns any write errors that occurred

MongoDB\Driver\WriteResult::getWriteConcernError
MongoDB\Driver\WriteResult::isAcknowledged
MongoDB\Driver\WriteResult
PHP Manual

MongoDB\Driver\WriteResult::getWriteErrors

(mongodb >=1.0.0)

MongoDB\Driver\WriteResult::getWriteErrors — Returns any write errors that occurred

Beschreibung

final public array MongoDB\Driver\WriteResult::getWriteErrors ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array of MongoDB\Driver\WriteError objects for any write errors encountered during the write operation. The array will be empty if no write errors occurred.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\WriteResult::getWriteErrors() with a single error

<?php

$manager = new MongoDB\Driver\Manager;

/* By default, bulk write operations are executed serially in order and
 * execution will stop after the first error.
 */
$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['_id' => 1]);
$bulk->insert(['_id' => 2]);
$bulk->insert(['_id' => 2]);
$bulk->insert(['_id' => 3]);
$bulk->insert(['_id' => 4]);
$bulk->insert(['_id' => 4]);

try {
    $result = $manager->executeBulkWrite('db.collection', $bulk);
} catch (MongoDB\Driver\Exception\BulkWriteException $e) {
    var_dump($e->getWriteResult()->getWriteErrors());
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(1) {
  [0]=>
  object(MongoDB\Driver\WriteError)#5 (4) {
    ["message"]=>
    string(81) "E11000 duplicate key error collection: db.collection index: _id_ dup key: { : 2 }"
    ["code"]=>
    int(11000)
    ["index"]=>
    int(2)
    ["info"]=>
    NULL
  }
}

Beispiel #2 MongoDB\Driver\WriteResult::getWriteErrors() with multiple errors

<?php

$manager = new MongoDB\Driver\Manager;

/* The "ordered" option may be used to allow bulk write operations to continue
 * executing after the first error is encountered.
 */
$bulk = new MongoDB\Driver\BulkWrite(['ordered' => false]);
$bulk->insert(['_id' => 1]);
$bulk->insert(['_id' => 2]);
$bulk->insert(['_id' => 2]);
$bulk->insert(['_id' => 3]);
$bulk->insert(['_id' => 4]);
$bulk->insert(['_id' => 4]);

try {
    $result = $manager->executeBulkWrite('db.collection', $bulk);
} catch (MongoDB\Driver\Exception\BulkWriteException $e) {
    var_dump($e->getWriteResult()->getWriteErrors());
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(2) {
  [0]=>
  object(MongoDB\Driver\WriteError)#5 (4) {
    ["message"]=>
    string(81) "E11000 duplicate key error collection: db.collection index: _id_ dup key: { : 2 }"
    ["code"]=>
    int(11000)
    ["index"]=>
    int(2)
    ["info"]=>
    NULL
  }
  [1]=>
  object(MongoDB\Driver\WriteError)#6 (4) {
    ["message"]=>
    string(81) "E11000 duplicate key error collection: db.collection index: _id_ dup key: { : 4 }"
    ["code"]=>
    int(11000)
    ["index"]=>
    int(5)
    ["info"]=>
    NULL
  }
}

Siehe auch

  • MongoDB\Driver\WriteError
MongoDB\Driver\WriteResult::getWriteConcernError
MongoDB\Driver\WriteResult::isAcknowledged
MongoDB\Driver\WriteResult


Returns whether the write was acknowledged

MongoDB\Driver\WriteResult::getWriteErrors
MongoDB\BSON
MongoDB\Driver\WriteResult
PHP Manual

MongoDB\Driver\WriteResult::isAcknowledged

(mongodb >=1.0.0)

MongoDB\Driver\WriteResult::isAcknowledged — Returns whether the write was acknowledged

Beschreibung

final public bool MongoDB\Driver\WriteResult::isAcknowledged ( void )

If the write is acknowledged, other count fields will be available on the MongoDB\Driver\WriteResult object.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the write was acknowledged, and FALSE otherwise.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\Driver\WriteResult::isAcknowledged() with acknowledged write concern

<?php

$manager = new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);

$result = $manager->executeBulkWrite('db.collection', $bulk);

var_dump($result->isAcknowledged());

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)

Beispiel #2 MongoDB\Driver\WriteResult::isAcknowledged() with unacknowledged write concern

<?php

$manager = new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);

$result = $manager->executeBulkWrite('db.collection', $bulk, new MongoDB\Driver\WriteConcern(0));

var_dump($result->isAcknowledged());

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)

Siehe auch

  • MongoDB\Driver\WriteConcern
  • » Write Concern reference
MongoDB\Driver\WriteResult::getWriteErrors
MongoDB\BSON
MongoDB\Driver\WriteResult


BSON type classes and serialization functions

  • Funktionen
    • MongoDB\BSON\fromJSON — Returns the BSON representation of a JSON value
    • MongoDB\BSON\fromPHP — Returns the BSON representation of a PHP value
    • MongoDB\BSON\toJSON — Returns the JSON representation of a BSON value
    • MongoDB\BSON\toPHP — Returns the PHP representation of a BSON value
  • MongoDB\BSON\Binary — The MongoDB\BSON\Binary class
    • MongoDB\BSON\Binary::__construct — Construct a new Binary
    • MongoDB\BSON\Binary::getData — Returns the Binary's data
    • MongoDB\BSON\Binary::getType — Returns the Binary's type
    • MongoDB\BSON\Binary::jsonSerialize — Returns a representation that can be converted to JSON
    • MongoDB\BSON\Binary::serialize — Serialize a Binary
    • MongoDB\BSON\Binary::__toString — Returns the Binary's data
    • MongoDB\BSON\Binary::unserialize — Unserialize a Binary
  • MongoDB\BSON\Decimal128 — The MongoDB\BSON\Decimal128 class
    • MongoDB\BSON\Decimal128::__construct — Construct a new Decimal128
    • MongoDB\BSON\Decimal128::jsonSerialize — Returns a representation that can be converted to JSON
    • MongoDB\BSON\Decimal128::serialize — Serialize a Decimal128
    • MongoDB\BSON\Decimal128::__toString — Returns the string representation of this Decimal128
    • MongoDB\BSON\Decimal128::unserialize — Unserialize a Decimal128
  • MongoDB\BSON\Javascript — The MongoDB\BSON\Javascript class
    • MongoDB\BSON\Javascript::__construct — Construct a new Javascript
    • MongoDB\BSON\Javascript::getCode — Returns the Javascript's code
    • MongoDB\BSON\Javascript::getScope — Returns the Javascript's scope document
    • MongoDB\BSON\Javascript::jsonSerialize — Returns a representation that can be converted to JSON
    • MongoDB\BSON\Javascript::serialize — Serialize a Javascript
    • MongoDB\BSON\Javascript::__toString — Returns the Javascript's code
    • MongoDB\BSON\Javascript::unserialize — Unserialize a Javascript
  • MongoDB\BSON\MaxKey — The MongoDB\BSON\MaxKey class
    • MongoDB\BSON\MaxKey::__construct — Construct a new MaxKey
    • MongoDB\BSON\MaxKey::jsonSerialize — Returns a representation that can be converted to JSON
    • MongoDB\BSON\MaxKey::serialize — Serialize a MaxKey
    • MongoDB\BSON\MaxKey::unserialize — Unserialize a MaxKey
  • MongoDB\BSON\MinKey — The MongoDB\BSON\MinKey class
    • MongoDB\BSON\MinKey::__construct — Construct a new MinKey
    • MongoDB\BSON\MinKey::jsonSerialize — Returns a representation that can be converted to JSON
    • MongoDB\BSON\MinKey::serialize — Serialize a MinKey
    • MongoDB\BSON\MinKey::unserialize — Unserialize a MinKey
  • MongoDB\BSON\ObjectID — The MongoDB\BSON\ObjectID class
    • MongoDB\BSON\ObjectID::__construct — Construct a new ObjectID
    • MongoDB\BSON\ObjectID::getTimestamp — Returns the timestamp component of this ObjectID
    • MongoDB\BSON\ObjectID::jsonSerialize — Returns a representation that can be converted to JSON
    • MongoDB\BSON\ObjectID::serialize — Serialize an ObjectID
    • MongoDB\BSON\ObjectID::__toString — Returns the hexidecimal representation of this ObjectID
    • MongoDB\BSON\ObjectID::unserialize — Unserialize an ObjectID
  • MongoDB\BSON\Regex — The MongoDB\BSON\Regex class
    • MongoDB\BSON\Regex::__construct — Construct a new Regex
    • MongoDB\BSON\Regex::getFlags — Returns the Regex's flags
    • MongoDB\BSON\Regex::getPattern — Returns the Regex's pattern
    • MongoDB\BSON\Regex::jsonSerialize — Returns a representation that can be converted to JSON
    • MongoDB\BSON\Regex::serialize — Serialize a Regex
    • MongoDB\BSON\Regex::__toString — Returns the string representation of this Regex
    • MongoDB\BSON\Regex::unserialize — Unserialize a Regex
  • MongoDB\BSON\Timestamp — The MongoDB\BSON\Timestamp class
    • MongoDB\BSON\Timestamp::__construct — Construct a new Timestamp
    • MongoDB\BSON\Timestamp::jsonSerialize — Returns a representation that can be converted to JSON
    • MongoDB\BSON\Timestamp::serialize — Serialize a Timestamp
    • MongoDB\BSON\Timestamp::__toString — Returns the string representation of this Timestamp
    • MongoDB\BSON\Timestamp::unserialize — Unserialize a Timestamp
  • MongoDB\BSON\UTCDateTime — The MongoDB\BSON\UTCDateTime class
    • MongoDB\BSON\UTCDateTime::__construct — Construct a new UTCDateTime
    • MongoDB\BSON\UTCDateTime::jsonSerialize — Returns a representation that can be converted to JSON
    • MongoDB\BSON\UTCDateTime::serialize — Serialize a UTCDateTime
    • MongoDB\BSON\UTCDateTime::toDateTime — Returns the DateTime representation of this UTCDateTime
    • MongoDB\BSON\UTCDateTime::__toString — Returns the string representation of this UTCDateTime
    • MongoDB\BSON\UTCDateTime::unserialize — Unserialize a UTCDateTime
  • MongoDB\BSON\Type — The MongoDB\BSON\Type interface
  • MongoDB\BSON\Persistable — The MongoDB\BSON\Persistable interface
  • MongoDB\BSON\Serializable — The MongoDB\BSON\Serializable interface
    • MongoDB\BSON\Serializable::bsonSerialize — Provides an array or document to serialize as BSON
  • MongoDB\BSON\Unserializable — The MongoDB\BSON\Unserializable interface
    • MongoDB\BSON\Unserializable::bsonUnserialize — Constructs the object from a BSON array or document
MongoDB\Driver\WriteResult::isAcknowledged
Funktionen
MongoDB


Funktionen

Inhaltsverzeichnis

  • MongoDB\BSON\fromJSON — Returns the BSON representation of a JSON value
  • MongoDB\BSON\fromPHP — Returns the BSON representation of a PHP value
  • MongoDB\BSON\toJSON — Returns the JSON representation of a BSON value
  • MongoDB\BSON\toPHP — Returns the PHP representation of a BSON value
MongoDB\BSON
MongoDB\BSON\fromJSON
MongoDB\BSON


Returns the BSON representation of a JSON value

Funktionen
MongoDB\BSON\fromPHP
Funktionen
PHP Manual

MongoDB\BSON\fromJSON

(mongodb >=1.0.0)

MongoDB\BSON\fromJSON — Returns the BSON representation of a JSON value

Beschreibung

string MongoDB\BSON\fromJSON ( string $json )

Converts an » extended JSON string to its BSON representation.

Parameter-Liste

json (string)

JSON value to be converted.

Rückgabewerte

The serialized BSON document as a binary string.

Fehler/Exceptions

Throws MongoDB\Driver\Exception\UnexpectedValueException if the JSON value cannot be converted to BSON (e.g. due to a syntax error).

Beispiele

Beispiel #1 MongoDB\BSON\fromJSON() example

<?php

$json = '{ "_id": { "$oid": "563143b280d2387c91807965" } }';
$bson = MongoDB\BSON\fromJSON($json);
$value = MongoDB\BSON\toPHP($bson);
var_dump($value);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(stdClass)#2 (1) {
  ["_id"]=>
  object(MongoDB\BSON\ObjectID)#1 (1) {
    ["oid"]=>
    string(24) "563143b280d2387c91807965"
  }
}

Siehe auch

  • MongoDB\BSON\toJSON() - Returns the JSON representation of a BSON value
  • » MongoDB Extended JSON
  • » MongoDB BSON
Funktionen
MongoDB\BSON\fromPHP
Funktionen


Returns the BSON representation of a PHP value

MongoDB\BSON\fromJSON
MongoDB\BSON\toJSON
Funktionen
PHP Manual

MongoDB\BSON\fromPHP

(mongodb >=1.0.0)

MongoDB\BSON\fromPHP — Returns the BSON representation of a PHP value

Beschreibung

string MongoDB\BSON\fromPHP ( array|object $value )

Serializes a PHP array or object (e.g. document) to its » BSON representation. The returned binary string will describe a BSON document.

Parameter-Liste

value (array|object)

PHP value to be serialized.

Rückgabewerte

The serialized BSON document as a binary string.

Fehler/Exceptions

Throws MongoDB\Driver\Exception\UnexpectedValueException if the PHP value cannot be converted to BSON. Possible reasons include, but are not limited to, encountering an unexpected MongoDB\BSON\Type instance or MongoDB\BSON\Serializable::bsonSerialize() failing to return an array or stdClass.

Beispiele

Beispiel #1 MongoDB\BSON\fromPHP() example

<?php

$bson = MongoDB\BSON\fromPHP(['foo' => 1]);
echo bin2hex($bson), "\n";

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

0e00000010666f6f000100000000cat

Siehe auch

  • MongoDB\BSON\toPHP() - Returns the PHP representation of a BSON value
  • » MongoDB BSON
  • Persisting Data
MongoDB\BSON\fromJSON
MongoDB\BSON\toJSON
Funktionen


Returns the JSON representation of a BSON value

MongoDB\BSON\fromPHP
MongoDB\BSON\toPHP
Funktionen
PHP Manual

MongoDB\BSON\toJSON

(mongodb >=1.0.0)

MongoDB\BSON\toJSON — Returns the JSON representation of a BSON value

Beschreibung

string MongoDB\BSON\toJSON ( string $bson )

Converts a BSON string to its » extended JSON representation.

Parameter-Liste

bson (string)

BSON value to be converted.

Rückgabewerte

The converted JSON value.

Fehler/Exceptions

Throws MongoDB\Driver\Exception\UnexpectedValueException if the input did not contain exactly one BSON document. Possible reasons include, but are not limited to, invalid BSON, extra data (after reading one BSON document), or an unexpected » libbson error.

Beispiele

Beispiel #1 MongoDB\BSON\toJSON() example

<?php

$document = ['_id' => new MongoDB\BSON\ObjectId('56315a7c6118fd1b920270b1')];
$bson = MongoDB\BSON\fromPHP($document);
echo MongoDB\BSON\toJSON($bson), "\n";

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

{ "_id" : { "$oid" : "56315a7c6118fd1b920270b1" } }

Siehe auch

  • MongoDB\BSON\fromJSON() - Returns the BSON representation of a JSON value
  • » MongoDB Extended JSON
  • » MongoDB BSON
MongoDB\BSON\fromPHP
MongoDB\BSON\toPHP
Funktionen


Returns the PHP representation of a BSON value

MongoDB\BSON\toJSON
MongoDB\BSON\Binary
Funktionen
PHP Manual

MongoDB\BSON\toPHP

(mongodb >=1.0.0)

MongoDB\BSON\toPHP — Returns the PHP representation of a BSON value

Beschreibung

array|object MongoDB\BSON\toPHP ( string $bson [, array $typeMap = array() ] )

Unserializes a BSON document (i.e. binary string) to its PHP representation. The typeMap paramater may be used to control the PHP types used for converting BSON arrays and documents (both root and embedded).

Parameter-Liste

bson (string)

BSON value to be unserialized.

typeMap (array)

Type map configuration.

Rückgabewerte

The unserialized PHP value.

Fehler/Exceptions

Throws MongoDB\Driver\Exception\InvalidArgumentException if a class in the type map cannot be instantiated or does not implement MongoDB\BSON\Unserializable.

Throws MongoDB\Driver\Exception\UnexpectedValueException if the input did not contain exactly one BSON document. Possible reasons include, but are not limited to, invalid BSON, extra data (after reading one BSON document), or an unexpected » libbson error.

Beispiele

Beispiel #1 MongoDB\BSON\toPHP() example

<?php

$bson = hex2bin('0e00000010666f6f000100000000');
$value = MongoDB\BSON\toPHP($bson);
var_dump($value);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(stdClass)#1 (1) {
  ["foo"]=>
  int(1)
}

Siehe auch

  • MongoDB\BSON\fromPHP() - Returns the BSON representation of a PHP value
  • » MongoDB BSON
  • Persisting Data
MongoDB\BSON\toJSON
MongoDB\BSON\Binary
Funktionen


The MongoDB\BSON\Binary class

(mongodb >=1.0.0)

Einführung

Klassenbeschreibung

MongoDB\BSON\Binary implements MongoDB\BSON\Type , Serializable , JsonSerializable {
/* Constants */
const integer TYPE_GENERIC = 0 ;
const integer TYPE_FUNCTION = 1 ;
const integer TYPE_OLD_BINARY = 2 ;
const integer TYPE_OLD_UUID = 3 ;
const integer TYPE_UUID = 4 ;
const integer TYPE_MD5 = 5 ;
const integer TYPE_USER_DEFINED = 128 ;
/* Methoden */
final public __construct ( string $data , integer $type )
final public string getData ( void )
final public integer getType ( void )
final public mixed jsonSerialize ( void )
final public string serialize ( void )
final public string __toString ( void )
final public void unserialize ( string $serialized )
}

Vordefinierte Konstanten

MongoDB\BSON\Binary::TYPE_GENERIC

Generic binary data.

MongoDB\BSON\Binary::TYPE_FUNCTION

Function.

MongoDB\BSON\Binary::TYPE_OLD_BINARY

Generic binary data (deprecated in favor of MongoDB\BSON\Binary::TYPE_GENERIC).

MongoDB\BSON\Binary::TYPE_OLD_UUID

Universally unique identifier (deprecated in favor of MongoDB\BSON\Binary::TYPE_UUID). When using this type, the Binary's data should be 16 bytes in length.

Historically, other drivers encoded values with this type based on their language conventions (e.g. varying endianness), which makes it non-portable. The PHP driver applies no special handling for encoding or decoding data with this type.

MongoDB\BSON\Binary::TYPE_UUID

Universally unique identifier. When using this type, the Binary's data should be 16 bytes in length and encoded according to » RFC 4122.

MongoDB\BSON\Binary::TYPE_MD5

MD5 hash. When using this type, the Binary's data should be 16 bytes in length.

MongoDB\BSON\Binary::TYPE_USER_DEFINED

User-defined type. While types between 0 and 127 are predefined or reserved, types between 128 and 255 are user-defined and may be used for anything.

Changelog

Version | Beschreibung
1.2.0 | Implements Serializable and JsonSerializable.

Inhaltsverzeichnis

  • MongoDB\BSON\Binary::__construct — Construct a new Binary
  • MongoDB\BSON\Binary::getData — Returns the Binary's data
  • MongoDB\BSON\Binary::getType — Returns the Binary's type
  • MongoDB\BSON\Binary::jsonSerialize — Returns a representation that can be converted to JSON
  • MongoDB\BSON\Binary::serialize — Serialize a Binary
  • MongoDB\BSON\Binary::__toString — Returns the Binary's data
  • MongoDB\BSON\Binary::unserialize — Unserialize a Binary
MongoDB\BSON\toPHP
MongoDB\BSON\Binary::__construct
MongoDB\BSON


Construct a new Binary

MongoDB\BSON\Binary
MongoDB\BSON\Binary::getData
MongoDB\BSON\Binary
PHP Manual

MongoDB\BSON\Binary::__construct

(mongodb >=1.0.0)

MongoDB\BSON\Binary::__construct — Construct a new Binary

Beschreibung

final public MongoDB\BSON\Binary::__construct ( string $data , integer $type )

Parameter-Liste

data (string)

Binary data.

type (integer)

Unsigned 8-bit integer denoting the data's type.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if type is not an unsigned 8-bit integer.

Changelog

Version | Beschreibung
1.1.3 | MongoDB\Driver\Exception\InvalidArgumentException is thrown if type is not an unsigned 8-bit integer.

Beispiele

Beispiel #1 MongoDB\BSON\Binary::__construct() example

<?php

$binary = new MongoDB\BSON\Binary('foo', MongoDB\BSON\Binary::TYPE_GENERIC);
var_dump($binary);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(MongoDB\BSON\Binary)#1 (2) {
  ["data"]=>
  string(3) "foo"
  ["type"]=>
  int(0)
}

Siehe auch

  • » BSON Types
MongoDB\BSON\Binary
MongoDB\BSON\Binary::getData
MongoDB\BSON\Binary


Returns the Binary's data

MongoDB\BSON\Binary::__construct
MongoDB\BSON\Binary::getType
MongoDB\BSON\Binary
PHP Manual

MongoDB\BSON\Binary::getData

(mongodb >=1.0.0)

MongoDB\BSON\Binary::getData — Returns the Binary's data

Beschreibung

final public string MongoDB\BSON\Binary::getData ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the Binary's data.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\BSON\Binary::getData() example

<?php

$binary = new MongoDB\BSON\Binary('foo', MongoDB\BSON\Binary::TYPE_GENERIC);
var_dump($binary->getData());

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(3) "foo"

Siehe auch

  • » BSON Types
MongoDB\BSON\Binary::__construct
MongoDB\BSON\Binary::getType
MongoDB\BSON\Binary


Returns the Binary's type

MongoDB\BSON\Binary::getData
MongoDB\BSON\Binary::jsonSerialize
MongoDB\BSON\Binary
PHP Manual

MongoDB\BSON\Binary::getType

(mongodb >=1.0.0)

MongoDB\BSON\Binary::getType — Returns the Binary's type

Beschreibung

final public integer MongoDB\BSON\Binary::getType ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the Binary's type.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\BSON\Binary::getType() example

<?php

$binary = new MongoDB\BSON\Binary('foo', MongoDB\BSON\Binary::TYPE_GENERIC);
var_dump($binary->getType());

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(0)

Siehe auch

  • » BSON Types
MongoDB\BSON\Binary::getData
MongoDB\BSON\Binary::jsonSerialize
MongoDB\BSON\Binary


Returns a representation that can be converted to JSON

MongoDB\BSON\Binary::getType
MongoDB\BSON\Binary::serialize
MongoDB\BSON\Binary
PHP Manual

MongoDB\BSON\Binary::jsonSerialize

(mongodb >=1.2.0)

MongoDB\BSON\Binary::jsonSerialize — Returns a representation that can be converted to JSON

Beschreibung

final public mixed MongoDB\BSON\Binary::jsonSerialize ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns data which can be serialized by json_encode() to produce the » extended JSON representation of the MongoDB\BSON\Binary.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Siehe auch

  • JsonSerializable::jsonSerialize() - Angegebene Daten, die in JSON serialisiert werden sollen
  • json_encode() - Gibt die JSON-Repräsentation eines Wertes zurück
  • » MongoDB Extended JSON
MongoDB\BSON\Binary::getType
MongoDB\BSON\Binary::serialize
MongoDB\BSON\Binary


Serialize a Binary

MongoDB\BSON\Binary::jsonSerialize
MongoDB\BSON\Binary::__toString
MongoDB\BSON\Binary
PHP Manual

MongoDB\BSON\Binary::serialize

(mongodb >=1.2.0)

MongoDB\BSON\Binary::serialize — Serialize a Binary

Beschreibung

final public string MongoDB\BSON\Binary::serialize ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the serialized representation of the MongoDB\BSON\Binary.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Siehe auch

  • MongoDB\BSON\Binary::unserialize() - Unserialize a Binary
  • serialize() - Erzeugt eine speicherbare Repräsentation eines Wertes.
  • Serializing Objects
MongoDB\BSON\Binary::jsonSerialize
MongoDB\BSON\Binary::__toString
MongoDB\BSON\Binary


Returns the Binary's data

MongoDB\BSON\Binary::serialize
MongoDB\BSON\Binary::unserialize
MongoDB\BSON\Binary
PHP Manual

MongoDB\BSON\Binary::__toString

(mongodb >=1.2.0)

MongoDB\BSON\Binary::__toString — Returns the Binary's data

Beschreibung

final public string MongoDB\BSON\Binary::__toString ( void )

Diese Methode ist ein Alias für: MongoDB\BSON\Binary::getData().

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the Binary's code.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\BSON\Binary::__toString() example

<?php

var_dump((string) new MongoDB\BSON\Binary('foo', MongoDB\BSON\Binary::TYPE_GENERIC));

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(3) "foo"

Siehe auch

  • MongoDB\BSON\Binary::getData() - Returns the Binary's data
  • » BSON Types
MongoDB\BSON\Binary::serialize
MongoDB\BSON\Binary::unserialize
MongoDB\BSON\Binary


Unserialize a Binary

MongoDB\BSON\Binary::__toString
MongoDB\BSON\Decimal128
MongoDB\BSON\Binary
PHP Manual

MongoDB\BSON\Binary::unserialize

(mongodb >=1.2.0)

MongoDB\BSON\Binary::unserialize — Unserialize a Binary

Beschreibung

final public void MongoDB\BSON\Binary::unserialize ( string $serialized )

Parameter-Liste

serialized

The serialized MongoDB\BSON\Binary.

Rückgabewerte

Returns the unserialized MongoDB\BSON\Binary.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed).
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the properties are invalid (e.g. missing fields or invalid values).

Siehe auch

  • MongoDB\BSON\Binary::serialize() - Serialize a Binary
  • unserialize() - Erzeugt aus einem gespeicherten Datenformat einen Wert in PHP
  • Serializing Objects
MongoDB\BSON\Binary::__toString
MongoDB\BSON\Decimal128
MongoDB\BSON\Binary


The MongoDB\BSON\Decimal128 class

(mongodb >=1.2.0)

Einführung

BSON type for the » Decimal128 floating-point format, which supports numbers with up to 34 decimal digits (i.e. significant digits) and an exponent range of -6143 to +6144.

Unlike the double BSON type (i.e. float in PHP), which only stores an approximation of the decimal values, the decimal data type stores the exact value. For example, MongoDB\BSON\Decimal128('9.99') has a precise value of 9.99 where as a double 9.99 would have an approximate value of 9.9900000000000002131628….

Hinweis: MongoDB\BSON\Decimal128 is only compatible with MongoDB 3.4+. Attempting to use the BSON type with an earlier version of MongoDB will result in an error.

Klassenbeschreibung

MongoDB\BSON\Decimal128 implements MongoDB\BSON\Type , Serializable , JsonSerializable {
/* Methoden */
final public __construct ([ string $value ] )
final public mixed jsonSerialize ( void )
final public string serialize ( void )
final public string __toString ( void )
final public void unserialize ( string $serialized )
}

Changelog

Version | Beschreibung
1.2.0 | Implements Serializable and JsonSerializable.

Inhaltsverzeichnis

  • MongoDB\BSON\Decimal128::__construct — Construct a new Decimal128
  • MongoDB\BSON\Decimal128::jsonSerialize — Returns a representation that can be converted to JSON
  • MongoDB\BSON\Decimal128::serialize — Serialize a Decimal128
  • MongoDB\BSON\Decimal128::__toString — Returns the string representation of this Decimal128
  • MongoDB\BSON\Decimal128::unserialize — Unserialize a Decimal128
MongoDB\BSON\Binary::unserialize
MongoDB\BSON\Decimal128::__construct
MongoDB\BSON


Construct a new Decimal128

MongoDB\BSON\Decimal128
MongoDB\BSON\Decimal128::jsonSerialize
MongoDB\BSON\Decimal128
PHP Manual

MongoDB\BSON\Decimal128::__construct

(mongodb >=1.2.0)

MongoDB\BSON\Decimal128::__construct — Construct a new Decimal128

Beschreibung

final public MongoDB\BSON\Decimal128::__construct ([ string $value ] )

Hinweis: MongoDB\BSON\Decimal128 is only compatible with MongoDB 3.4+. Attempting to use the BSON type with an earlier version of MongoDB will result in an error.

Parameter-Liste

value (string)

A decimal string.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if value is not a valid decimal string.

Beispiele

Beispiel #1 MongoDB\BSON\Decimal128::__construct() example

<?php

var_dump(new MongoDB\BSON\Decimal128(1234.5678));
var_dump(new MongoDB\BSON\Decimal128(NAN));
var_dump(new MongoDB\BSON\Decimal128(INF));

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(MongoDB\BSON\Decimal128)#1 (1) {
  ["dec"]=>
  string(9) "1234.5678"
}
object(MongoDB\BSON\Decimal128)#1 (1) {
  ["dec"]=>
  string(3) "NaN"
}
object(MongoDB\BSON\Decimal128)#1 (1) {
  ["dec"]=>
  string(8) "Infinity"
}

Siehe auch

  • » Decimal128 floating-point format
  • » BSON Types
MongoDB\BSON\Decimal128
MongoDB\BSON\Decimal128::jsonSerialize
MongoDB\BSON\Decimal128


Returns a representation that can be converted to JSON

MongoDB\BSON\Decimal128::__construct
MongoDB\BSON\Decimal128::serialize
MongoDB\BSON\Decimal128
PHP Manual

MongoDB\BSON\Decimal128::jsonSerialize

(mongodb >=1.2.0)

MongoDB\BSON\Decimal128::jsonSerialize — Returns a representation that can be converted to JSON

Beschreibung

final public mixed MongoDB\BSON\Decimal128::jsonSerialize ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns data which can be serialized by json_encode() to produce the » extended JSON representation of the MongoDB\BSON\Decimal128.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Siehe auch

  • JsonSerializable::jsonSerialize() - Angegebene Daten, die in JSON serialisiert werden sollen
  • json_encode() - Gibt die JSON-Repräsentation eines Wertes zurück
  • » MongoDB Extended JSON
MongoDB\BSON\Decimal128::__construct
MongoDB\BSON\Decimal128::serialize
MongoDB\BSON\Decimal128


Serialize a Decimal128

MongoDB\BSON\Decimal128::jsonSerialize
MongoDB\BSON\Decimal128::__toString
MongoDB\BSON\Decimal128
PHP Manual

MongoDB\BSON\Decimal128::serialize

(mongodb >=1.2.0)

MongoDB\BSON\Decimal128::serialize — Serialize a Decimal128

Beschreibung

final public string MongoDB\BSON\Decimal128::serialize ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the serialized representation of the MongoDB\BSON\Decimal128.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Siehe auch

  • MongoDB\BSON\Decimal128::unserialize() - Unserialize a Decimal128
  • serialize() - Erzeugt eine speicherbare Repräsentation eines Wertes.
  • Serializing Objects
MongoDB\BSON\Decimal128::jsonSerialize
MongoDB\BSON\Decimal128::__toString
MongoDB\BSON\Decimal128


Returns the string representation of this Decimal128

MongoDB\BSON\Decimal128::serialize
MongoDB\BSON\Decimal128::unserialize
MongoDB\BSON\Decimal128
PHP Manual

MongoDB\BSON\Decimal128::__toString

(mongodb >=1.2.0)

MongoDB\BSON\Decimal128::__toString — Returns the string representation of this Decimal128

Beschreibung

final public string MongoDB\BSON\Decimal128::__toString ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the string representation of this Decimal128.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\BSON\Decimal128::__toString() example

<?php

var_dump((string) new MongoDB\BSON\Decimal128(1234.5678));
var_dump((string) new MongoDB\BSON\Decimal128(NAN));
var_dump((string) new MongoDB\BSON\Decimal128(INF));

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(9) "1234.5678"
string(3) "NaN"
string(8) "Infinity"

Siehe auch

  • » Decimal128 floating-point format
  • » BSON Types
MongoDB\BSON\Decimal128::serialize
MongoDB\BSON\Decimal128::unserialize
MongoDB\BSON\Decimal128


Unserialize a Decimal128

MongoDB\BSON\Decimal128::__toString
MongoDB\BSON\Javascript
MongoDB\BSON\Decimal128
PHP Manual

MongoDB\BSON\Decimal128::unserialize

(mongodb >=1.2.0)

MongoDB\BSON\Decimal128::unserialize — Unserialize a Decimal128

Beschreibung

final public void MongoDB\BSON\Decimal128::unserialize ( string $serialized )

Parameter-Liste

serialized

The serialized MongoDB\BSON\Decimal128.

Rückgabewerte

Returns the unserialized MongoDB\BSON\Decimal128.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed).
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the properties are invalid (e.g. missing fields or invalid values).

Siehe auch

  • MongoDB\BSON\Decimal128::serialize() - Serialize a Decimal128
  • unserialize() - Erzeugt aus einem gespeicherten Datenformat einen Wert in PHP
  • Serializing Objects
MongoDB\BSON\Decimal128::__toString
MongoDB\BSON\Javascript
MongoDB\BSON\Decimal128


The MongoDB\BSON\Javascript class

(mongodb >=1.0.0)

Einführung

Klassenbeschreibung

MongoDB\BSON\Javascript implements MongoDB\BSON\Type , Serializable , JsonSerializable {
/* Methoden */
final public __construct ( string $code [, array|object $scope ] )
final public string getCode ( void )
final public object|null getScope ( void )
final public mixed jsonSerialize ( void )
final public string serialize ( void )
final public string __toString ( void )
final public void unserialize ( string $serialized )
}

Changelog

Version | Beschreibung
1.2.0 | Implements Serializable and JsonSerializable.

Inhaltsverzeichnis

  • MongoDB\BSON\Javascript::__construct — Construct a new Javascript
  • MongoDB\BSON\Javascript::getCode — Returns the Javascript's code
  • MongoDB\BSON\Javascript::getScope — Returns the Javascript's scope document
  • MongoDB\BSON\Javascript::jsonSerialize — Returns a representation that can be converted to JSON
  • MongoDB\BSON\Javascript::serialize — Serialize a Javascript
  • MongoDB\BSON\Javascript::__toString — Returns the Javascript's code
  • MongoDB\BSON\Javascript::unserialize — Unserialize a Javascript
MongoDB\BSON\Decimal128::unserialize
MongoDB\BSON\Javascript::__construct
MongoDB\BSON


Construct a new Javascript

MongoDB\BSON\Javascript
MongoDB\BSON\Javascript::getCode
MongoDB\BSON\Javascript
PHP Manual

MongoDB\BSON\Javascript::__construct

(mongodb >=1.0.0)

MongoDB\BSON\Javascript::__construct — Construct a new Javascript

Beschreibung

final public MongoDB\BSON\Javascript::__construct ( string $code [, array|object $scope ] )

Parameter-Liste

code (string)

Javascript code.

scope (array|object)

Javascript scope.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if code contains null bytes.

Changelog

Version | Beschreibung
1.2.0 | MongoDB\Driver\Exception\InvalidArgumentException is thrown if code contains null bytes. Previously, values would be truncated at the first null byte.

Beispiele

Beispiel #1 MongoDB\BSON\Javascript::__construct() example

<?php

$code = new MongoDB\BSON\Javascript('function() { return 1; }');
var_dump($code);

$codews = new MongoDB\BSON\Javascript('function() { return foo; }', ['foo' => 'bar']);
var_dump($codews);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(MongoDB\BSON\Javascript)#1 (2) {
  ["javascript"]=>
  string(24) "function() { return 1; }"
  ["scope"]=>
  object(stdClass)#2 (0) {
  }
}
object(MongoDB\BSON\Javascript)#2 (2) {
  ["javascript"]=>
  string(26) "function() { return foo; }"
  ["scope"]=>
  object(stdClass)#1 (1) {
    ["foo"]=>
    string(3) "bar"
  }
}

Siehe auch

  • » BSON Types
MongoDB\BSON\Javascript
MongoDB\BSON\Javascript::getCode
MongoDB\BSON\Javascript


Returns the Javascript's code

MongoDB\BSON\Javascript::__construct
MongoDB\BSON\Javascript::getScope
MongoDB\BSON\Javascript
PHP Manual

MongoDB\BSON\Javascript::getCode

(mongodb >=1.2.0)

MongoDB\BSON\Javascript::getCode — Returns the Javascript's code

Beschreibung

final public string MongoDB\BSON\Javascript::getCode ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the Javascript's code.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\BSON\Javascript::getCode() example

<?php

$js = new MongoDB\BSON\Javascript('function foo(bar) { return bar; }');
var_dump($js->getCode());

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(33) "function foo(bar) { return bar; }"

Siehe auch

  • » BSON Types
MongoDB\BSON\Javascript::__construct
MongoDB\BSON\Javascript::getScope
MongoDB\BSON\Javascript


Returns the Javascript's scope document

MongoDB\BSON\Javascript::getCode
MongoDB\BSON\Javascript::jsonSerialize
MongoDB\BSON\Javascript
PHP Manual

MongoDB\BSON\Javascript::getScope

(mongodb >=1.2.0)

MongoDB\BSON\Javascript::getScope — Returns the Javascript's scope document

Beschreibung

final public object|null MongoDB\BSON\Javascript::getScope ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the Javascript's scope document.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\BSON\Javascript::getScope() example

<?php

$js = new MongoDB\BSON\Javascript('function foo(bar) { return bar; }');
var_dump($js->getScope());

$js = new MongoDB\BSON\Javascript('function foo() { return foo; }', ['foo' => 42]);
var_dump($js->getScope());

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

NULL
object(stdClass)#1 (1) {
  ["foo"]=>
  int(42)
}

Siehe auch

  • » BSON Types
MongoDB\BSON\Javascript::getCode
MongoDB\BSON\Javascript::jsonSerialize
MongoDB\BSON\Javascript


Returns a representation that can be converted to JSON

MongoDB\BSON\Javascript::getScope
MongoDB\BSON\Javascript::serialize
MongoDB\BSON\Javascript
PHP Manual

MongoDB\BSON\Javascript::jsonSerialize

(mongodb >=1.2.0)

MongoDB\BSON\Javascript::jsonSerialize — Returns a representation that can be converted to JSON

Beschreibung

final public mixed MongoDB\BSON\Javascript::jsonSerialize ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns data which can be serialized by json_encode() to produce the » extended JSON representation of the MongoDB\BSON\Javascript.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Siehe auch

  • JsonSerializable::jsonSerialize() - Angegebene Daten, die in JSON serialisiert werden sollen
  • json_encode() - Gibt die JSON-Repräsentation eines Wertes zurück
  • » MongoDB Extended JSON
MongoDB\BSON\Javascript::getScope
MongoDB\BSON\Javascript::serialize
MongoDB\BSON\Javascript


Serialize a Javascript

MongoDB\BSON\Javascript::jsonSerialize
MongoDB\BSON\Javascript::__toString
MongoDB\BSON\Javascript
PHP Manual

MongoDB\BSON\Javascript::serialize

(mongodb >=1.2.0)

MongoDB\BSON\Javascript::serialize — Serialize a Javascript

Beschreibung

final public string MongoDB\BSON\Javascript::serialize ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the serialized representation of the MongoDB\BSON\Javascript.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Siehe auch

  • MongoDB\BSON\Javascript::unserialize() - Unserialize a Javascript
  • serialize() - Erzeugt eine speicherbare Repräsentation eines Wertes.
  • Serializing Objects
MongoDB\BSON\Javascript::jsonSerialize
MongoDB\BSON\Javascript::__toString
MongoDB\BSON\Javascript


Returns the Javascript's code

MongoDB\BSON\Javascript::serialize
MongoDB\BSON\Javascript::unserialize
MongoDB\BSON\Javascript
PHP Manual

MongoDB\BSON\Javascript::__toString

(mongodb >=1.2.0)

MongoDB\BSON\Javascript::__toString — Returns the Javascript's code

Beschreibung

final public string MongoDB\BSON\Javascript::__toString ( void )

Diese Methode ist ein Alias für: MongoDB\BSON\Javascript::getCode().

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the Javascript's code.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\BSON\Javascript::__toString() example

<?php

var_dump((string) new MongoDB\BSON\Javascript('function foo(bar) { return bar; }'));

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(33) "function foo(bar) { return bar; }"

Siehe auch

  • MongoDB\BSON\Javascript::getCode() - Returns the Javascript's code
  • » BSON Types
MongoDB\BSON\Javascript::serialize
MongoDB\BSON\Javascript::unserialize
MongoDB\BSON\Javascript


Unserialize a Javascript

MongoDB\BSON\Javascript::__toString
MongoDB\BSON\MaxKey
MongoDB\BSON\Javascript
PHP Manual

MongoDB\BSON\Javascript::unserialize

(mongodb >=1.2.0)

MongoDB\BSON\Javascript::unserialize — Unserialize a Javascript

Beschreibung

final public void MongoDB\BSON\Javascript::unserialize ( string $serialized )

Parameter-Liste

serialized

The serialized MongoDB\BSON\Javascript.

Rückgabewerte

Returns the unserialized MongoDB\BSON\Javascript.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed).
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the properties are invalid (e.g. missing fields or invalid values).

Siehe auch

  • MongoDB\BSON\Javascript::serialize() - Serialize a Javascript
  • unserialize() - Erzeugt aus einem gespeicherten Datenformat einen Wert in PHP
  • Serializing Objects
MongoDB\BSON\Javascript::__toString
MongoDB\BSON\MaxKey
MongoDB\BSON\Javascript


The MongoDB\BSON\MaxKey class

(mongodb >=1.0.0)

Einführung

Klassenbeschreibung

MongoDB\BSON\MaxKey implements MongoDB\BSON\Type , Serializable , JsonSerializable {
/* Methoden */
final public __construct ( void )
final public mixed jsonSerialize ( void )
final public string serialize ( void )
final public void unserialize ( string $serialized )
}

Changelog

Version | Beschreibung
1.2.0 | Implements Serializable and JsonSerializable.

Inhaltsverzeichnis

  • MongoDB\BSON\MaxKey::__construct — Construct a new MaxKey
  • MongoDB\BSON\MaxKey::jsonSerialize — Returns a representation that can be converted to JSON
  • MongoDB\BSON\MaxKey::serialize — Serialize a MaxKey
  • MongoDB\BSON\MaxKey::unserialize — Unserialize a MaxKey
MongoDB\BSON\Javascript::unserialize
MongoDB\BSON\MaxKey::__construct
MongoDB\BSON


Construct a new MaxKey

MongoDB\BSON\MaxKey
MongoDB\BSON\MaxKey::jsonSerialize
MongoDB\BSON\MaxKey
PHP Manual

MongoDB\BSON\MaxKey::__construct

(mongodb >=1.0.0)

MongoDB\BSON\MaxKey::__construct — Construct a new MaxKey

Beschreibung

final public MongoDB\BSON\MaxKey::__construct ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\BSON\MaxKey::__construct() example

<?php

var_dump(new MongoDB\BSON\MaxKey());

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(MongoDB\BSON\MaxKey)#1 (0) {
}

Siehe auch

  • » BSON Types
MongoDB\BSON\MaxKey
MongoDB\BSON\MaxKey::jsonSerialize
MongoDB\BSON\MaxKey


Returns a representation that can be converted to JSON

MongoDB\BSON\MaxKey::__construct
MongoDB\BSON\MaxKey::serialize
MongoDB\BSON\MaxKey
PHP Manual

MongoDB\BSON\MaxKey::jsonSerialize

(mongodb >=1.2.0)

MongoDB\BSON\MaxKey::jsonSerialize — Returns a representation that can be converted to JSON

Beschreibung

final public mixed MongoDB\BSON\MaxKey::jsonSerialize ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns data which can be serialized by json_encode() to produce the » extended JSON representation of the MongoDB\BSON\MaxKey.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Siehe auch

  • JsonSerializable::jsonSerialize() - Angegebene Daten, die in JSON serialisiert werden sollen
  • json_encode() - Gibt die JSON-Repräsentation eines Wertes zurück
  • » MongoDB Extended JSON
MongoDB\BSON\MaxKey::__construct
MongoDB\BSON\MaxKey::serialize
MongoDB\BSON\MaxKey


Serialize a MaxKey

MongoDB\BSON\MaxKey::jsonSerialize
MongoDB\BSON\MaxKey::unserialize
MongoDB\BSON\MaxKey
PHP Manual

MongoDB\BSON\MaxKey::serialize

(mongodb >=1.2.0)

MongoDB\BSON\MaxKey::serialize — Serialize a MaxKey

Beschreibung

final public string MongoDB\BSON\MaxKey::serialize ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the serialized representation of the MongoDB\BSON\MaxKey.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Siehe auch

  • MongoDB\BSON\MaxKey::unserialize() - Unserialize a MaxKey
  • serialize() - Erzeugt eine speicherbare Repräsentation eines Wertes.
  • Serializing Objects
MongoDB\BSON\MaxKey::jsonSerialize
MongoDB\BSON\MaxKey::unserialize
MongoDB\BSON\MaxKey


Unserialize a MaxKey

MongoDB\BSON\MaxKey::serialize
MongoDB\BSON\MinKey
MongoDB\BSON\MaxKey
PHP Manual

MongoDB\BSON\MaxKey::unserialize

(mongodb >=1.2.0)

MongoDB\BSON\MaxKey::unserialize — Unserialize a MaxKey

Beschreibung

final public void MongoDB\BSON\MaxKey::unserialize ( string $serialized )

Parameter-Liste

serialized

The serialized MongoDB\BSON\MaxKey.

Rückgabewerte

Returns the unserialized MongoDB\BSON\MaxKey.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Siehe auch

  • MongoDB\BSON\MaxKey::serialize() - Serialize a MaxKey
  • unserialize() - Erzeugt aus einem gespeicherten Datenformat einen Wert in PHP
  • Serializing Objects
MongoDB\BSON\MaxKey::serialize
MongoDB\BSON\MinKey
MongoDB\BSON\MaxKey


The MongoDB\BSON\MinKey class

(mongodb >=1.0.0)

Einführung

Klassenbeschreibung

MongoDB\BSON\MinKey implements MongoDB\BSON\Type , Serializable , JsonSerializable {
/* Methoden */
final public __construct ( void )
final public mixed jsonSerialize ( void )
final public string serialize ( void )
final public void unserialize ( string $serialized )
}

Changelog

Version | Beschreibung
1.2.0 | Implements Serializable and JsonSerializable.

Inhaltsverzeichnis

  • MongoDB\BSON\MinKey::__construct — Construct a new MinKey
  • MongoDB\BSON\MinKey::jsonSerialize — Returns a representation that can be converted to JSON
  • MongoDB\BSON\MinKey::serialize — Serialize a MinKey
  • MongoDB\BSON\MinKey::unserialize — Unserialize a MinKey
MongoDB\BSON\MaxKey::unserialize
MongoDB\BSON\MinKey::__construct
MongoDB\BSON


Construct a new MinKey

MongoDB\BSON\MinKey
MongoDB\BSON\MinKey::jsonSerialize
MongoDB\BSON\MinKey
PHP Manual

MongoDB\BSON\MinKey::__construct

(mongodb >=1.0.0)

MongoDB\BSON\MinKey::__construct — Construct a new MinKey

Beschreibung

final public MongoDB\BSON\MinKey::__construct ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\BSON\MinKey::__construct() example

<?php

var_dump(new MongoDB\BSON\MinKey());

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(MongoDB\BSON\MinKey)#1 (0) {
}

Siehe auch

  • » BSON Types
MongoDB\BSON\MinKey
MongoDB\BSON\MinKey::jsonSerialize
MongoDB\BSON\MinKey


Returns a representation that can be converted to JSON

MongoDB\BSON\MinKey::__construct
MongoDB\BSON\MinKey::serialize
MongoDB\BSON\MinKey
PHP Manual

MongoDB\BSON\MinKey::jsonSerialize

(mongodb >=1.2.0)

MongoDB\BSON\MinKey::jsonSerialize — Returns a representation that can be converted to JSON

Beschreibung

final public mixed MongoDB\BSON\MinKey::jsonSerialize ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns data which can be serialized by json_encode() to produce the » extended JSON representation of the MongoDB\BSON\MinKey.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Siehe auch

  • JsonSerializable::jsonSerialize() - Angegebene Daten, die in JSON serialisiert werden sollen
  • json_encode() - Gibt die JSON-Repräsentation eines Wertes zurück
  • » MongoDB Extended JSON
MongoDB\BSON\MinKey::__construct
MongoDB\BSON\MinKey::serialize
MongoDB\BSON\MinKey


Serialize a MinKey

MongoDB\BSON\MinKey::jsonSerialize
MongoDB\BSON\MinKey::unserialize
MongoDB\BSON\MinKey
PHP Manual

MongoDB\BSON\MinKey::serialize

(mongodb >=1.2.0)

MongoDB\BSON\MinKey::serialize — Serialize a MinKey

Beschreibung

final public string MongoDB\BSON\MinKey::serialize ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the serialized representation of the MongoDB\BSON\MinKey.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Siehe auch

  • MongoDB\BSON\MinKey::unserialize() - Unserialize a MinKey
  • serialize() - Erzeugt eine speicherbare Repräsentation eines Wertes.
  • Serializing Objects
MongoDB\BSON\MinKey::jsonSerialize
MongoDB\BSON\MinKey::unserialize
MongoDB\BSON\MinKey


Unserialize a MinKey

MongoDB\BSON\MinKey::serialize
MongoDB\BSON\ObjectID
MongoDB\BSON\MinKey
PHP Manual

MongoDB\BSON\MinKey::unserialize

(mongodb >=1.2.0)

MongoDB\BSON\MinKey::unserialize — Unserialize a MinKey

Beschreibung

final public void MongoDB\BSON\MinKey::unserialize ( string $serialized )

Parameter-Liste

serialized

The serialized MongoDB\BSON\MinKey.

Rückgabewerte

Returns the unserialized MongoDB\BSON\MinKey.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Siehe auch

  • MongoDB\BSON\MinKey::serialize() - Serialize a MinKey
  • unserialize() - Erzeugt aus einem gespeicherten Datenformat einen Wert in PHP
  • Serializing Objects
MongoDB\BSON\MinKey::serialize
MongoDB\BSON\ObjectID
MongoDB\BSON\MinKey


The MongoDB\BSON\ObjectID class

(mongodb >=1.0.0)

Einführung

Klassenbeschreibung

MongoDB\BSON\ObjectID implements MongoDB\BSON\Type , Serializable , JsonSerializable {
/* Methoden */
final public __construct ([ string $id ] )
final public integer getTimestamp ( void )
final public mixed jsonSerialize ( void )
final public string serialize ( void )
final public string __toString ( void )
final public void unserialize ( string $serialized )
}

Changelog

Version | Beschreibung
1.2.0 | Implements Serializable and JsonSerializable.

Inhaltsverzeichnis

  • MongoDB\BSON\ObjectID::__construct — Construct a new ObjectID
  • MongoDB\BSON\ObjectID::getTimestamp — Returns the timestamp component of this ObjectID
  • MongoDB\BSON\ObjectID::jsonSerialize — Returns a representation that can be converted to JSON
  • MongoDB\BSON\ObjectID::serialize — Serialize an ObjectID
  • MongoDB\BSON\ObjectID::__toString — Returns the hexidecimal representation of this ObjectID
  • MongoDB\BSON\ObjectID::unserialize — Unserialize an ObjectID
MongoDB\BSON\MinKey::unserialize
MongoDB\BSON\ObjectID::__construct
MongoDB\BSON


Construct a new ObjectID

MongoDB\BSON\ObjectID
MongoDB\BSON\ObjectID::getTimestamp
MongoDB\BSON\ObjectID
PHP Manual

MongoDB\BSON\ObjectID::__construct

(mongodb >=1.0.0)

MongoDB\BSON\ObjectID::__construct — Construct a new ObjectID

Beschreibung

final public MongoDB\BSON\ObjectID::__construct ([ string $id ] )

Parameter-Liste

id (string)

A 24-character hexadecimal string. If not provided, the driver will generate an ObjectID.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if id is not a 24-character hexadecimal string.

Beispiele

Beispiel #1 MongoDB\BSON\ObjectID::__construct() example

<?php

var_dump(new MongoDB\BSON\ObjectId());

var_dump(new MongoDB\BSON\ObjectId('000000000000000000000001'));

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(MongoDB\BSON\ObjectID)#1 (1) {
  ["oid"]=>
  string(24) "56732d3dda14d81214634921"
}
object(MongoDB\BSON\ObjectID)#1 (1) {
  ["oid"]=>
  string(24) "000000000000000000000001"
}

Siehe auch

  • » ObjectID Reference
  • » BSON Types: ObjectID
MongoDB\BSON\ObjectID
MongoDB\BSON\ObjectID::getTimestamp
MongoDB\BSON\ObjectID


Returns the timestamp component of this ObjectID

MongoDB\BSON\ObjectID::__construct
MongoDB\BSON\ObjectID::jsonSerialize
MongoDB\BSON\ObjectID
PHP Manual

MongoDB\BSON\ObjectID::getTimestamp

(mongodb >=1.2.0)

MongoDB\BSON\ObjectID::getTimestamp — Returns the timestamp component of this ObjectID

Beschreibung

final public integer MongoDB\BSON\ObjectID::getTimestamp ( void )

The timestamp component of an ObjectID is its first four bytes, which denote the number of seconds since the Unix epoch. This value is read as an unsigned 32-bit integer with big-endian byte order.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the timestamp component of this ObjectID.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\BSON\ObjectID::getTimestamp() example

<?php

var_dump((new MongoDB\BSON\ObjectId())->getTimestamp());

var_dump((new MongoDB\BSON\ObjectId('0000002a0000000000000000'))->getTimestamp());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

integer(1484854719)
integer(42)

Siehe auch

  • » ObjectID Reference
  • » BSON Types: ObjectID
MongoDB\BSON\ObjectID::__construct
MongoDB\BSON\ObjectID::jsonSerialize
MongoDB\BSON\ObjectID


Returns a representation that can be converted to JSON

MongoDB\BSON\ObjectID::getTimestamp
MongoDB\BSON\ObjectID::serialize
MongoDB\BSON\ObjectID
PHP Manual

MongoDB\BSON\ObjectID::jsonSerialize

(mongodb >=1.2.0)

MongoDB\BSON\ObjectID::jsonSerialize — Returns a representation that can be converted to JSON

Beschreibung

final public mixed MongoDB\BSON\ObjectID::jsonSerialize ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns data which can be serialized by json_encode() to produce the » extended JSON representation of the MongoDB\BSON\ObjectID.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Siehe auch

  • JsonSerializable::jsonSerialize() - Angegebene Daten, die in JSON serialisiert werden sollen
  • json_encode() - Gibt die JSON-Repräsentation eines Wertes zurück
  • » MongoDB Extended JSON
MongoDB\BSON\ObjectID::getTimestamp
MongoDB\BSON\ObjectID::serialize
MongoDB\BSON\ObjectID


Serialize an ObjectID

MongoDB\BSON\ObjectID::jsonSerialize
MongoDB\BSON\ObjectID::__toString
MongoDB\BSON\ObjectID
PHP Manual

MongoDB\BSON\ObjectID::serialize

(mongodb >=1.2.0)

MongoDB\BSON\ObjectID::serialize — Serialize an ObjectID

Beschreibung

final public string MongoDB\BSON\ObjectID::serialize ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the serialized representation of the MongoDB\BSON\ObjectID.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Siehe auch

  • MongoDB\BSON\ObjectID::unserialize() - Unserialize an ObjectID
  • serialize() - Erzeugt eine speicherbare Repräsentation eines Wertes.
  • Serializing Objects
MongoDB\BSON\ObjectID::jsonSerialize
MongoDB\BSON\ObjectID::__toString
MongoDB\BSON\ObjectID


Returns the hexidecimal representation of this ObjectID

MongoDB\BSON\ObjectID::serialize
MongoDB\BSON\ObjectID::unserialize
MongoDB\BSON\ObjectID
PHP Manual

MongoDB\BSON\ObjectID::__toString

(mongodb >=1.0.0)

MongoDB\BSON\ObjectID::__toString — Returns the hexidecimal representation of this ObjectID

Beschreibung

final public string MongoDB\BSON\ObjectID::__toString ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the hexidecimal representation of this ObjectID.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\BSON\ObjectID::__toString() example

<?php

var_dump((string) new MongoDB\BSON\ObjectId());
var_dump((string) new MongoDB\BSON\ObjectId('000000000000000000000001'));

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(24) "56731b49da14d8747d701211"
string(24) "000000000000000000000001"

Siehe auch

  • » ObjectID Reference
  • » BSON Types: ObjectID
MongoDB\BSON\ObjectID::serialize
MongoDB\BSON\ObjectID::unserialize
MongoDB\BSON\ObjectID


Unserialize an ObjectID

MongoDB\BSON\ObjectID::__toString
MongoDB\BSON\Regex
MongoDB\BSON\ObjectID
PHP Manual

MongoDB\BSON\ObjectID::unserialize

(mongodb >=1.2.0)

MongoDB\BSON\ObjectID::unserialize — Unserialize an ObjectID

Beschreibung

final public void MongoDB\BSON\ObjectID::unserialize ( string $serialized )

Parameter-Liste

serialized

The serialized MongoDB\BSON\ObjectID.

Rückgabewerte

Returns the unserialized MongoDB\BSON\ObjectID.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed).
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the properties are invalid (e.g. missing fields or invalid values).

Siehe auch

  • MongoDB\BSON\ObjectID::serialize() - Serialize an ObjectID
  • unserialize() - Erzeugt aus einem gespeicherten Datenformat einen Wert in PHP
  • Serializing Objects
MongoDB\BSON\ObjectID::__toString
MongoDB\BSON\Regex
MongoDB\BSON\ObjectID


The MongoDB\BSON\Regex class

(mongodb >=1.0.0)

Einführung

Klassenbeschreibung

MongoDB\BSON\Regex implements MongoDB\BSON\Type , Serializable , JsonSerializable {
/* Methoden */
final public __construct ( string $pattern [, string $flags = "" ] )
final public string getFlags ( void )
final public string getPattern ( void )
final public mixed jsonSerialize ( void )
final public string serialize ( void )
final public string __toString ( void )
final public void unserialize ( string $serialized )
}

Changelog

Version | Beschreibung
1.2.0 | Implements Serializable and JsonSerializable.

Inhaltsverzeichnis

  • MongoDB\BSON\Regex::__construct — Construct a new Regex
  • MongoDB\BSON\Regex::getFlags — Returns the Regex's flags
  • MongoDB\BSON\Regex::getPattern — Returns the Regex's pattern
  • MongoDB\BSON\Regex::jsonSerialize — Returns a representation that can be converted to JSON
  • MongoDB\BSON\Regex::serialize — Serialize a Regex
  • MongoDB\BSON\Regex::__toString — Returns the string representation of this Regex
  • MongoDB\BSON\Regex::unserialize — Unserialize a Regex
MongoDB\BSON\ObjectID::unserialize
MongoDB\BSON\Regex::__construct
MongoDB\BSON


Construct a new Regex

MongoDB\BSON\Regex
MongoDB\BSON\Regex::getFlags
MongoDB\BSON\Regex
PHP Manual

MongoDB\BSON\Regex::__construct

(mongodb >=1.0.0)

MongoDB\BSON\Regex::__construct — Construct a new Regex

Beschreibung

final public MongoDB\BSON\Regex::__construct ( string $pattern [, string $flags = "" ] )

Parameter-Liste

pattern (string)

The regular expression pattern.

Hinweis:

The pattern should not be wrapped with delimiter characters.

flags (string)

The » regular expression flags. Characters in this argument will be sorted alphabetically.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if pattern or flags contain null bytes.

Changelog

Version Beschreibung
1.2.0

The flags argument is optional and defaults to an empty string.

Characters in the flags argument will be sorted alphabetically when a Regex is constructed. Previously, the characters were stored in the order provided.

MongoDB\Driver\Exception\InvalidArgumentException is thrown if pattern or flags contain null bytes. Previously, values would be truncated at the first null byte.

Beispiele

Beispiel #1 MongoDB\BSON\Regex::__construct() example

<?php

$regex = new MongoDB\BSON\Regex('^foo', 'i');
var_dump($regex);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(MongoDB\BSON\Regex)#1 (2) {
  ["pattern"]=>
  string(4) "^foo"
  ["flags"]=>
  string(1) "i"
}

Siehe auch

  • » BSON Types
  • » Supported regular expression flags
MongoDB\BSON\Regex
MongoDB\BSON\Regex::getFlags
MongoDB\BSON\Regex


Returns the Regex's flags

MongoDB\BSON\Regex::__construct
MongoDB\BSON\Regex::getPattern
MongoDB\BSON\Regex
PHP Manual

MongoDB\BSON\Regex::getFlags

(mongodb >=1.0.0)

MongoDB\BSON\Regex::getFlags — Returns the Regex's flags

Beschreibung

final public string MongoDB\BSON\Regex::getFlags ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the Regex's flags.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\BSON\Regex::getFlags() example

<?php

$regex = new MongoDB\BSON\Regex('regex', 'i');
var_dump($regex->getFlags());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(1) "i"

Siehe auch

  • » BSON Types
  • » Supported regular expression flags
MongoDB\BSON\Regex::__construct
MongoDB\BSON\Regex::getPattern
MongoDB\BSON\Regex


Returns the Regex's pattern

MongoDB\BSON\Regex::getFlags
MongoDB\BSON\Regex::jsonSerialize
MongoDB\BSON\Regex
PHP Manual

MongoDB\BSON\Regex::getPattern

(mongodb >=1.0.0)

MongoDB\BSON\Regex::getPattern — Returns the Regex's pattern

Beschreibung

final public string MongoDB\BSON\Regex::getPattern ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the Regex's pattern.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\BSON\Regex::getPattern() example

<?php

$regex = new MongoDB\BSON\Regex('regex', 'i');
var_dump($regex->getPattern());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(5) "regex"

Siehe auch

  • » BSON Types
MongoDB\BSON\Regex::getFlags
MongoDB\BSON\Regex::jsonSerialize
MongoDB\BSON\Regex


Returns a representation that can be converted to JSON

MongoDB\BSON\Regex::getPattern
MongoDB\BSON\Regex::serialize
MongoDB\BSON\Regex
PHP Manual

MongoDB\BSON\Regex::jsonSerialize

(mongodb >=1.2.0)

MongoDB\BSON\Regex::jsonSerialize — Returns a representation that can be converted to JSON

Beschreibung

final public mixed MongoDB\BSON\Regex::jsonSerialize ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns data which can be serialized by json_encode() to produce the » extended JSON representation of the MongoDB\BSON\Regex.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Siehe auch

  • JsonSerializable::jsonSerialize() - Angegebene Daten, die in JSON serialisiert werden sollen
  • json_encode() - Gibt die JSON-Repräsentation eines Wertes zurück
  • » MongoDB Extended JSON
MongoDB\BSON\Regex::getPattern
MongoDB\BSON\Regex::serialize
MongoDB\BSON\Regex


Serialize a Regex

MongoDB\BSON\Regex::jsonSerialize
MongoDB\BSON\Regex::__toString
MongoDB\BSON\Regex
PHP Manual

MongoDB\BSON\Regex::serialize

(mongodb >=1.2.0)

MongoDB\BSON\Regex::serialize — Serialize a Regex

Beschreibung

final public string MongoDB\BSON\Regex::serialize ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the serialized representation of the MongoDB\BSON\Regex.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Siehe auch

  • MongoDB\BSON\Regex::unserialize() - Unserialize a Regex
  • serialize() - Erzeugt eine speicherbare Repräsentation eines Wertes.
  • Serializing Objects
MongoDB\BSON\Regex::jsonSerialize
MongoDB\BSON\Regex::__toString
MongoDB\BSON\Regex


Returns the string representation of this Regex

MongoDB\BSON\Regex::serialize
MongoDB\BSON\Regex::unserialize
MongoDB\BSON\Regex
PHP Manual

MongoDB\BSON\Regex::__toString

(mongodb >=1.0.0)

MongoDB\BSON\Regex::__toString — Returns the string representation of this Regex

Beschreibung

final public string MongoDB\BSON\Regex::__toString ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the string representation of this Regex.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\BSON\Regex::__toString() example

<?php

$regex = new MongoDB\BSON\Regex('regex', 'i');
var_dump((string) $regex);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(8) "/regex/i"

Siehe auch

  • » BSON Types
MongoDB\BSON\Regex::serialize
MongoDB\BSON\Regex::unserialize
MongoDB\BSON\Regex


Unserialize a Regex

MongoDB\BSON\Regex::__toString
MongoDB\BSON\Timestamp
MongoDB\BSON\Regex
PHP Manual

MongoDB\BSON\Regex::unserialize

(mongodb >=1.2.0)

MongoDB\BSON\Regex::unserialize — Unserialize a Regex

Beschreibung

final public void MongoDB\BSON\Regex::unserialize ( string $serialized )

Parameter-Liste

serialized

The serialized MongoDB\BSON\Regex.

Rückgabewerte

Returns the unserialized MongoDB\BSON\Regex.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed).
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the properties are invalid (e.g. missing fields or invalid values).

Siehe auch

  • MongoDB\BSON\Regex::serialize() - Serialize a Regex
  • unserialize() - Erzeugt aus einem gespeicherten Datenformat einen Wert in PHP
  • Serializing Objects
MongoDB\BSON\Regex::__toString
MongoDB\BSON\Timestamp
MongoDB\BSON\Regex


The MongoDB\BSON\Timestamp class

(mongodb >=1.0.0)

Einführung

Represents a » BSON timestamp, which is an internal MongoDB type not intended for general date storage.

Klassenbeschreibung

MongoDB\BSON\Timestamp implements MongoDB\BSON\Type , Serializable , JsonSerializable {
/* Methoden */
final public __construct ( integer $increment , integer $timestamp )
final public mixed jsonSerialize ( void )
final public string serialize ( void )
final public string __toString ( void )
final public void unserialize ( string $serialized )
}

Changelog

Version | Beschreibung
1.2.0 | Implements Serializable and JsonSerializable.

Inhaltsverzeichnis

  • MongoDB\BSON\Timestamp::__construct — Construct a new Timestamp
  • MongoDB\BSON\Timestamp::jsonSerialize — Returns a representation that can be converted to JSON
  • MongoDB\BSON\Timestamp::serialize — Serialize a Timestamp
  • MongoDB\BSON\Timestamp::__toString — Returns the string representation of this Timestamp
  • MongoDB\BSON\Timestamp::unserialize — Unserialize a Timestamp
MongoDB\BSON\Regex::unserialize
MongoDB\BSON\Timestamp::__construct
MongoDB\BSON


Construct a new Timestamp

MongoDB\BSON\Timestamp
MongoDB\BSON\Timestamp::jsonSerialize
MongoDB\BSON\Timestamp
PHP Manual

MongoDB\BSON\Timestamp::__construct

(mongodb >=1.0.0)

MongoDB\BSON\Timestamp::__construct — Construct a new Timestamp

Beschreibung

final public MongoDB\BSON\Timestamp::__construct ( integer $increment , integer $timestamp )

Parameter-Liste

increment (integer)

32-bit integer denoting the incrementing ordinal for operations within a given second.

timestamp (integer)

32-bit integer denoting seconds since the Unix epoch.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\BSON\Timestamp::__construct() example

<?php

$timestamp = new MongoDB\BSON\Timestamp(1234, 5678);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(MongoDB\BSON\Timestamp)#1 (2) {
  ["increment"]=>
  int(1234)
  ["timestamp"]=>
  int(5678)
}

Siehe auch

  • » BSON Types: Timestamps
MongoDB\BSON\Timestamp
MongoDB\BSON\Timestamp::jsonSerialize
MongoDB\BSON\Timestamp


Returns a representation that can be converted to JSON

MongoDB\BSON\Timestamp::__construct
MongoDB\BSON\Timestamp::serialize
MongoDB\BSON\Timestamp
PHP Manual

MongoDB\BSON\Timestamp::jsonSerialize

(mongodb >=1.2.0)

MongoDB\BSON\Timestamp::jsonSerialize — Returns a representation that can be converted to JSON

Beschreibung

final public mixed MongoDB\BSON\Timestamp::jsonSerialize ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns data which can be serialized by json_encode() to produce the » extended JSON representation of the MongoDB\BSON\Timestamp.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Siehe auch

  • JsonSerializable::jsonSerialize() - Angegebene Daten, die in JSON serialisiert werden sollen
  • json_encode() - Gibt die JSON-Repräsentation eines Wertes zurück
  • » MongoDB Extended JSON
MongoDB\BSON\Timestamp::__construct
MongoDB\BSON\Timestamp::serialize
MongoDB\BSON\Timestamp


Serialize a Timestamp

MongoDB\BSON\Timestamp::jsonSerialize
MongoDB\BSON\Timestamp::__toString
MongoDB\BSON\Timestamp
PHP Manual

MongoDB\BSON\Timestamp::serialize

(mongodb >=1.2.0)

MongoDB\BSON\Timestamp::serialize — Serialize a Timestamp

Beschreibung

final public string MongoDB\BSON\Timestamp::serialize ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the serialized representation of the MongoDB\BSON\Timestamp.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Siehe auch

  • MongoDB\BSON\Timestamp::unserialize() - Unserialize a Timestamp
  • serialize() - Erzeugt eine speicherbare Repräsentation eines Wertes.
  • Serializing Objects
MongoDB\BSON\Timestamp::jsonSerialize
MongoDB\BSON\Timestamp::__toString
MongoDB\BSON\Timestamp


Returns the string representation of this Timestamp

MongoDB\BSON\Timestamp::serialize
MongoDB\BSON\Timestamp::unserialize
MongoDB\BSON\Timestamp
PHP Manual

MongoDB\BSON\Timestamp::__toString

(mongodb >=1.0.0)

MongoDB\BSON\Timestamp::__toString — Returns the string representation of this Timestamp

Beschreibung

final public string MongoDB\BSON\Timestamp::__toString ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the string representation of this Timestamp.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\BSON\Timestamp::__toString() example

<?php

$timestamp = new MongoDB\BSON\Timestamp(1234, 5678);
var_dump((string) $timestamp);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(11) "[1234:5678]"

Siehe auch

  • » BSON Types: Timestamps
MongoDB\BSON\Timestamp::serialize
MongoDB\BSON\Timestamp::unserialize
MongoDB\BSON\Timestamp


Unserialize a Timestamp

MongoDB\BSON\Timestamp::__toString
MongoDB\BSON\UTCDateTime
MongoDB\BSON\Timestamp
PHP Manual

MongoDB\BSON\Timestamp::unserialize

(mongodb >=1.2.0)

MongoDB\BSON\Timestamp::unserialize — Unserialize a Timestamp

Beschreibung

final public void MongoDB\BSON\Timestamp::unserialize ( string $serialized )

Parameter-Liste

serialized

The serialized MongoDB\BSON\Timestamp.

Rückgabewerte

Returns the unserialized MongoDB\BSON\Timestamp.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed).
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the properties are invalid (e.g. missing fields or invalid values).

Siehe auch

  • MongoDB\BSON\Timestamp::serialize() - Serialize a Timestamp
  • unserialize() - Erzeugt aus einem gespeicherten Datenformat einen Wert in PHP
  • Serializing Objects
MongoDB\BSON\Timestamp::__toString
MongoDB\BSON\UTCDateTime
MongoDB\BSON\Timestamp


The MongoDB\BSON\UTCDateTime class

(mongodb >=1.0.0)

Einführung

Represents a » BSON date.

Klassenbeschreibung

MongoDB\BSON\UTCDateTime implements MongoDB\BSON\Type , Serializable , JsonSerializable {
/* Methoden */
final public __construct ([ integer|float|string|DateTimeInterface $milliseconds = NULL ] )
final public mixed jsonSerialize ( void )
final public string serialize ( void )
final public DateTime toDateTime ( void )
final public string __toString ( void )
final public void unserialize ( string $serialized )
}

Changelog

Version | Beschreibung
1.2.0 | Implements Serializable and JsonSerializable.

Inhaltsverzeichnis

  • MongoDB\BSON\UTCDateTime::__construct — Construct a new UTCDateTime
  • MongoDB\BSON\UTCDateTime::jsonSerialize — Returns a representation that can be converted to JSON
  • MongoDB\BSON\UTCDateTime::serialize — Serialize a UTCDateTime
  • MongoDB\BSON\UTCDateTime::toDateTime — Returns the DateTime representation of this UTCDateTime
  • MongoDB\BSON\UTCDateTime::__toString — Returns the string representation of this UTCDateTime
  • MongoDB\BSON\UTCDateTime::unserialize — Unserialize a UTCDateTime
MongoDB\BSON\Timestamp::unserialize
MongoDB\BSON\UTCDateTime::__construct
MongoDB\BSON


Construct a new UTCDateTime

MongoDB\BSON\UTCDateTime
MongoDB\BSON\UTCDateTime::jsonSerialize
MongoDB\BSON\UTCDateTime
PHP Manual

MongoDB\BSON\UTCDateTime::__construct

(mongodb >=1.0.0)

MongoDB\BSON\UTCDateTime::__construct — Construct a new UTCDateTime

Beschreibung

final public MongoDB\BSON\UTCDateTime::__construct ([ integer|float|string|DateTimeInterface $milliseconds = NULL ] )

Parameter-Liste

milliseconds (integer|float|string|DateTimeInterface)

Number of milliseconds since the Unix epoch (Jan 1, 1970). Negative values represent dates before 1970. This value may be provided as a 64-bit integer. For compatibility on 32-bit systems, this parameter may also be provided as a float or string.

If the argument is a DateTimeInterface, the number of milliseconds since the Unix epoch will be derived from that value. Note that in versions of PHP versions before 7.1.0, DateTime and DateTimeImmutable objects constructed from the current time did not incorporate sub-second precision.

If this argument is NULL, the current time will be used by default.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Changelog

Version | Beschreibung
1.2.0 | The milliseconds argument is optional and defaults to NULL (i.e. current time). The argument also accepts a DateTimeInterface, which may be used to derive the number of milliseconds since the Unix epoch.

Beispiele

Beispiel #1 MongoDB\BSON\UTCDateTime::__construct() example

<?php

var_dump(new MongoDB\BSON\UTCDateTime);

var_dump(new MongoDB\BSON\UTCDateTime(new DateTime));

var_dump(new MongoDB\BSON\UTCDateTime(1416445411987));

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(MongoDB\BSON\UTCDateTime)#1 (1) {
  ["milliseconds"]=>
  string(13) "1484852905560"
}
object(MongoDB\BSON\UTCDateTime)#1 (1) {
  ["milliseconds"]=>
  string(13) "1484852905560"
}
object(MongoDB\BSON\UTCDateTime)#1 (1) {
  ["milliseconds"]=>
  string(13) "1416445411987"
}

Siehe auch

  • » BSON Types: Date
MongoDB\BSON\UTCDateTime
MongoDB\BSON\UTCDateTime::jsonSerialize
MongoDB\BSON\UTCDateTime


Returns a representation that can be converted to JSON

MongoDB\BSON\UTCDateTime::__construct
MongoDB\BSON\UTCDateTime::serialize
MongoDB\BSON\UTCDateTime
PHP Manual

MongoDB\BSON\UTCDateTime::jsonSerialize

(mongodb >=1.2.0)

MongoDB\BSON\UTCDateTime::jsonSerialize — Returns a representation that can be converted to JSON

Beschreibung

final public mixed MongoDB\BSON\UTCDateTime::jsonSerialize ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns data which can be serialized by json_encode() to produce the » extended JSON representation of the MongoDB\BSON\UTCDateTime.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Siehe auch

  • JsonSerializable::jsonSerialize() - Angegebene Daten, die in JSON serialisiert werden sollen
  • json_encode() - Gibt die JSON-Repräsentation eines Wertes zurück
  • » MongoDB Extended JSON
MongoDB\BSON\UTCDateTime::__construct
MongoDB\BSON\UTCDateTime::serialize
MongoDB\BSON\UTCDateTime


Serialize a UTCDateTime

MongoDB\BSON\UTCDateTime::jsonSerialize
MongoDB\BSON\UTCDateTime::toDateTime
MongoDB\BSON\UTCDateTime
PHP Manual

MongoDB\BSON\UTCDateTime::serialize

(mongodb >=1.2.0)

MongoDB\BSON\UTCDateTime::serialize — Serialize a UTCDateTime

Beschreibung

final public string MongoDB\BSON\UTCDateTime::serialize ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the serialized representation of the MongoDB\BSON\UTCDateTime.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Siehe auch

  • MongoDB\BSON\UTCDateTime::unserialize() - Unserialize a UTCDateTime
  • serialize() - Erzeugt eine speicherbare Repräsentation eines Wertes.
  • Serializing Objects
MongoDB\BSON\UTCDateTime::jsonSerialize
MongoDB\BSON\UTCDateTime::toDateTime
MongoDB\BSON\UTCDateTime


Returns the DateTime representation of this UTCDateTime

MongoDB\BSON\UTCDateTime::serialize
MongoDB\BSON\UTCDateTime::__toString
MongoDB\BSON\UTCDateTime
PHP Manual

MongoDB\BSON\UTCDateTime::toDateTime

(mongodb >=1.0.0)

MongoDB\BSON\UTCDateTime::toDateTime — Returns the DateTime representation of this UTCDateTime

Beschreibung

final public DateTime MongoDB\BSON\UTCDateTime::toDateTime ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the DateTime representation of this UTCDateTime. The returned DateTime will use the UTC time zone.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\BSON\UTCDatetime::toDateTime() example

<?php

$utcdatetime = new MongoDB\BSON\UTCDateTime(1416445411987);
$datetime = $utcdatetime->toDateTime();
var_dump($datetime->format('r'));
var_dump($datetime->format('U.u'));
var_dump($datetime->getTimezone());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(31) "Thu, 20 Nov 2014 01:03:31 +0000"
string(17) "1416445411.987000"
object(DateTimeZone)#3 (2) {
  ["timezone_type"]=>
  int(1)
  ["timezone"]=>
  string(6) "+00:00"
}

Siehe auch

  • » BSON Types: Date
MongoDB\BSON\UTCDateTime::serialize
MongoDB\BSON\UTCDateTime::__toString
MongoDB\BSON\UTCDateTime


Returns the string representation of this UTCDateTime

MongoDB\BSON\UTCDateTime::toDateTime
MongoDB\BSON\UTCDateTime::unserialize
MongoDB\BSON\UTCDateTime
PHP Manual

MongoDB\BSON\UTCDateTime::__toString

(mongodb >=1.0.0)

MongoDB\BSON\UTCDateTime::__toString — Returns the string representation of this UTCDateTime

Beschreibung

final public string MongoDB\BSON\UTCDateTime::__toString ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the string representation of this UTCDateTime.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.

Beispiele

Beispiel #1 MongoDB\BSON\UTCDateTime::__toString() example

<?php

$utcdatetime = new MongoDB\BSON\UTCDateTime(1416445411987);
var_dump((string) $utcdatetime);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(13) "1416445411987"

Siehe auch

  • » BSON Types: Date
MongoDB\BSON\UTCDateTime::toDateTime
MongoDB\BSON\UTCDateTime::unserialize
MongoDB\BSON\UTCDateTime


Unserialize a UTCDateTime

MongoDB\BSON\UTCDateTime::__toString
MongoDB\BSON\Type
MongoDB\BSON\UTCDateTime
PHP Manual

MongoDB\BSON\UTCDateTime::unserialize

(mongodb >=1.2.0)

MongoDB\BSON\UTCDateTime::unserialize — Unserialize a UTCDateTime

Beschreibung

final public void MongoDB\BSON\UTCDateTime::unserialize ( string $serialized )

Parameter-Liste

serialized

The serialized MongoDB\BSON\UTCDateTime.

Rückgabewerte

Returns the unserialized MongoDB\BSON\UTCDateTime.

Fehler/Exceptions

  • Throws MongoDB\Driver\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed).
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the properties are invalid (e.g. missing fields or invalid values).

Siehe auch

  • MongoDB\BSON\UTCDateTime::serialize() - Serialize a UTCDateTime
  • unserialize() - Erzeugt aus einem gespeicherten Datenformat einen Wert in PHP
  • Serializing Objects
MongoDB\BSON\UTCDateTime::__toString
MongoDB\BSON\Type
MongoDB\BSON\UTCDateTime


The MongoDB\BSON\Type interface

(mongodb >=1.0.0)

Einführung

Klassenbeschreibung

MongoDB\BSON\Type {
}
MongoDB\BSON\UTCDateTime::unserialize
MongoDB\BSON\Persistable
MongoDB\BSON


The MongoDB\BSON\Persistable interface

(mongodb >=1.0.0)

Einführung

Classes may implement this interface to take advantage of automatic ODM (object document mapping) behavior in the driver. During serialization, the driver will inject a __pclass property containing the PHP class name into the data returned by MongoDB\BSON\Serializable::bsonSerialize(). During unserialization, the same __pclass property will then be used to infer the PHP class (independent of any type map configuration) to be constructed before MongoDB\BSON\Unserializable::bsonUnserialize() is invoked. See Persisting Data for additional information.

Hinweis:

Even if MongoDB\BSON\Serializable::bsonSerialize() would return a sequential array, injection of the __pclass property will cause the object to be serialized as a BSON document.

Klassenbeschreibung

MongoDB\BSON\Persistable implements MongoDB\BSON\Unserializable , MongoDB\BSON\Serializable {
/* Geerbte Methoden */
abstract public array|object MongoDB\BSON\Serializable::bsonSerialize ( void )
abstract public void MongoDB\BSON\Unserializable::bsonUnserialize ( array $data )
}
MongoDB\BSON\Type
MongoDB\BSON\Serializable
MongoDB\BSON


The MongoDB\BSON\Serializable interface

(mongodb >=1.0.0)

Einführung

Classes that implement this interface may return data to be serialized as a BSON array or document in lieu of the object's public properties.

Klassenbeschreibung

MongoDB\BSON\Serializable implements MongoDB\BSON\Type {
/* Methoden */
abstract public array|object bsonSerialize ( void )
}

Inhaltsverzeichnis

  • MongoDB\BSON\Serializable::bsonSerialize — Provides an array or document to serialize as BSON
MongoDB\BSON\Persistable
MongoDB\BSON\Serializable::bsonSerialize
MongoDB\BSON


Provides an array or document to serialize as BSON

MongoDB\BSON\Serializable
MongoDB\BSON\Unserializable
MongoDB\BSON\Serializable
PHP Manual

MongoDB\BSON\Serializable::bsonSerialize

(mongodb >=1.0.0)

MongoDB\BSON\Serializable::bsonSerialize — Provides an array or document to serialize as BSON

Beschreibung

abstract public array|object MongoDB\BSON\Serializable::bsonSerialize ( void )

Called during serialization of the object to BSON. The method must return an array or stdClass.

Root documents (e.g. a MongoDB\BSON\Serializable passed to MongoDB\BSON\fromPHP()) will always be serialized as a BSON document. For field values, associative arrays and stdClass instances will be serialized as a BSON document and sequential arrays (i.e. sequential, numeric indexes starting at 0) will be serialized as a BSON array.

Users are encouraged to include an _id property (e.g. a MongoDB\BSON\ObjectID initialized in your constructor) when returning data for a BSON root document; otherwise, the driver or database will need to generate a MongoDB\BSON\ObjectID when inserting or upserting the document, respectively.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An array or stdClass to be serialized as a BSON array or document.

Beispiele

Beispiel #1 MongoDB\BSON\Serializable::bsonSerialize() returning an associative array for root document

<?php

class MyDocument implements MongoDB\BSON\Serializable
{
    private $id;

    function __construct()
    {
        $this->id = new MongoDB\BSON\ObjectID;
    }

    function bsonSerialize()
    {
        return ['_id' => $this->id, 'foo' => 'bar'];
    }
}

$bson = MongoDB\BSON\fromPHP(new MyDocument);
echo MongoDB\BSON\toJSON($bson), "\n";

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

{ "_id" : { "$oid" : "56cccdcada14d8755a58c591" }, "foo" : "bar" }

Beispiel #2 MongoDB\BSON\Serializable::bsonSerialize() returning a sequential array for root document

<?php

class MyArray implements MongoDB\BSON\Serializable
{
    function bsonSerialize()
    {
        return [1, 2, 3];
    }
}

$bson = MongoDB\BSON\fromPHP(new MyArray);
echo MongoDB\BSON\toJSON($bson), "\n";

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

{ "0" : 1, "1" : 2, "2" : 3 }

Beispiel #3 MongoDB\BSON\Serializable::bsonSerialize() returning an associative array for document field

<?php

class MyDocument implements MongoDB\BSON\Serializable
{
    function bsonSerialize()
    {
        return ['foo' => 'bar'];
    }
}

$value = ['document' => new MyDocument];
$bson = MongoDB\BSON\fromPHP($value);
echo MongoDB\BSON\toJSON($bson), "\n";

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

{ "document" : { "foo" : "bar" } }

Beispiel #4 MongoDB\BSON\Serializable::bsonSerialize() returning a sequential array for document field

<?php

class MyArray implements MongoDB\BSON\Serializable
{
    function bsonSerialize()
    {
        return [1, 2, 3];
    }
}

$value = ['array' => new MyArray];
$bson = MongoDB\BSON\fromPHP($value);
echo MongoDB\BSON\toJSON($bson), "\n";

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

{ "array" : [ 1, 2, 3 ] }

Siehe auch

  • MongoDB\BSON\Unserializable::bsonUnserialize() - Constructs the object from a BSON array or document
  • MongoDB\BSON\Persistable
  • Persisting Data
MongoDB\BSON\Serializable
MongoDB\BSON\Unserializable
MongoDB\BSON\Serializable


The MongoDB\BSON\Unserializable interface

(mongodb >=1.0.0)

Einführung

Classes that implement this interface may be specified in a type map for unserializing BSON arrays and documents (both root and embedded).

Klassenbeschreibung

MongoDB\BSON\Unserializable {
/* Methoden */
abstract public void bsonUnserialize ( array $data )
}

Inhaltsverzeichnis

  • MongoDB\BSON\Unserializable::bsonUnserialize — Constructs the object from a BSON array or document
MongoDB\BSON\Serializable::bsonSerialize
MongoDB\BSON\Unserializable::bsonUnserialize
MongoDB\BSON


Constructs the object from a BSON array or document

MongoDB\BSON\Unserializable
MongoDB\Driver\Exception
MongoDB\BSON\Unserializable
PHP Manual

MongoDB\BSON\Unserializable::bsonUnserialize

(mongodb >=1.0.0)

MongoDB\BSON\Unserializable::bsonUnserialize — Constructs the object from a BSON array or document

Beschreibung

abstract public void MongoDB\BSON\Unserializable::bsonUnserialize ( array $data )

Called during unserialization of the object from BSON. The properties of the BSON array or document will be passed to the method as an array.

Remember to check for an _id property when handling data from a BSON document.

Hinweis:

This method acts as the constructor of the object. The __construct() method will not be called after this method.

Parameter-Liste

data (array)

Properties within the BSON array or document.

Rückgabewerte

The return value from this method is ignored.

Beispiele

Beispiel #1 MongoDB\BSON\Unserializable::bsonUnserialize() example

<?php

class MyDocument implements MongoDB\BSON\Unserializable
{
    private $data = [];

    function bsonUnserialize(array $data)
    {
        $this->data = $data;
    }
}

$bson = MongoDB\BSON\fromJSON('{ "foo": "bar" }');
$value = MongoDB\BSON\toPHP($bson, ['root' => 'MyDocument']);
var_dump($value);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(MyDocument)#1 (1) {
  ["data":"MyDocument":private]=>
  array(1) {
    ["foo"]=>
    string(3) "bar"
  }
}

Siehe auch

  • MongoDB\BSON\Serializable::bsonSerialize() - Provides an array or document to serialize as BSON
  • MongoDB\BSON\Persistable
  • Persisting Data
MongoDB\BSON\Unserializable
MongoDB\Driver\Exception
MongoDB\BSON\Unserializable


Exception classes

  • MongoDB\Driver\Exception\AuthenticationException — The MongoDB\Driver\Exception\AuthenticationException class
  • MongoDB\Driver\Exception\BulkWriteException — The MongoDB\Driver\Exception\BulkWriteException class
  • MongoDB\Driver\Exception\ConnectionException — The MongoDB\Driver\Exception\ConnectionException class
  • MongoDB\Driver\Exception\ConnectionTimeoutException — The MongoDB\Driver\Exception\ConnectionTimeoutException class
  • MongoDB\Driver\Exception\Exception — The MongoDB\Driver\Exception\Exception interface
  • MongoDB\Driver\Exception\ExecutionTimeoutException — The MongoDB\Driver\Exception\ExecutionTimeoutException class
  • MongoDB\Driver\Exception\InvalidArgumentException — The MongoDB\Driver\Exception\InvalidArgumentException class
  • MongoDB\Driver\Exception\LogicException — The MongoDB\Driver\Exception\LogicException class
  • MongoDB\Driver\Exception\RuntimeException — The MongoDB\Driver\Exception\RuntimeException class
  • MongoDB\Driver\Exception\SSLConnectionException — The MongoDB\Driver\Exception\SSLConnectionException class
  • MongoDB\Driver\Exception\UnexpectedValueException — The MongoDB\Driver\Exception\UnexpectedValueException class
  • MongoDB\Driver\Exception\WriteException — The MongoDB\Driver\Exception\WriteException class
    • MongoDB\Driver\Exception\WriteException::getWriteResult — Returns the WriteResult for the failed write operation
MongoDB\BSON\Unserializable::bsonUnserialize
MongoDB\Driver\Exception\AuthenticationException
MongoDB


The MongoDB\Driver\Exception\AuthenticationException class

(mongodb >= 1.0.0)

Einführung

Thrown when the driver fails to authenticate with the server.

Klassenbeschreibung

MongoDB\Driver\Exception\AuthenticationException extends MongoDB\Driver\Exception\ConnectionException implements MongoDB\Driver\Exception\Exception {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
MongoDB\Driver\Exception
MongoDB\Driver\Exception\BulkWriteException
MongoDB\Driver\Exception


The MongoDB\Driver\Exception\BulkWriteException class

(mongodb >= 1.0.0)

Einführung

Thrown when a bulk write operation fails.

Klassenbeschreibung

MongoDB\Driver\Exception\BulkWriteException extends MongoDB\Driver\Exception\WriteException implements MongoDB\Driver\Exception\Exception {
/* Geerbte Eigenschaften */
protected MongoDB\Driver\WriteResult $writeResult ;
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Geerbte Methoden */
final public MongoDB\Driver\WriteResult MongoDB\Driver\Exception\WriteException::getWriteResult ( void )
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
MongoDB\Driver\Exception\AuthenticationException
MongoDB\Driver\Exception\ConnectionException
MongoDB\Driver\Exception


The MongoDB\Driver\Exception\ConnectionException class

(mongodb >= 1.0.0)

Einführung

Base class for exceptions thrown when the driver fails to establish a database connection.

Klassenbeschreibung

MongoDB\Driver\Exception\ConnectionException extends MongoDB\Driver\Exception\RuntimeException implements MongoDB\Driver\Exception\Exception {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
MongoDB\Driver\Exception\BulkWriteException
MongoDB\Driver\Exception\ConnectionTimeoutException
MongoDB\Driver\Exception


The MongoDB\Driver\Exception\ConnectionTimeoutException class

(mongodb >= 1.0.0)

Einführung

Thrown when the driver fails to establish a database connection within a specified time limit (e.g. » connectTimeoutMS).

Klassenbeschreibung

MongoDB\Driver\Exception\ConnectionTimeoutException extends MongoDB\Driver\Exception\ConnectionException implements MongoDB\Driver\Exception\Exception {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
MongoDB\Driver\Exception\ConnectionException
MongoDB\Driver\Exception\Exception
MongoDB\Driver\Exception


The MongoDB\Driver\Exception\Exception interface

(mongodb >= 1.0.0)

Einführung

Common interface for all driver exceptions. This may be used to catch only exceptions originating from the driver itself.

Klassenbeschreibung

MongoDB\Driver\Exception\Exception {
}
MongoDB\Driver\Exception\ConnectionTimeoutException
MongoDB\Driver\Exception\ExecutionTimeoutException
MongoDB\Driver\Exception


The MongoDB\Driver\Exception\ExecutionTimeoutException class

(mongodb >= 1.0.0)

Einführung

Thrown when a query or command fails to complete within a specified time limit (e.g. » maxTimeMS).

Klassenbeschreibung

MongoDB\Driver\Exception\ExecutionTimeoutException extends MongoDB\Driver\Exception\RuntimeException implements MongoDB\Driver\Exception\Exception {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
MongoDB\Driver\Exception\Exception
MongoDB\Driver\Exception\InvalidArgumentException
MongoDB\Driver\Exception


The MongoDB\Driver\Exception\InvalidArgumentException class

(mongodb >= 1.0.0)

Einführung

Thrown when a driver method is given invalid arguments (e.g. invalid option types).

Klassenbeschreibung

MongoDB\Driver\Exception\InvalidArgumentException extends InvalidArgumentException implements MongoDB\Driver\Exception\Exception {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
MongoDB\Driver\Exception\ExecutionTimeoutException
MongoDB\Driver\Exception\LogicException
MongoDB\Driver\Exception


The MongoDB\Driver\Exception\LogicException class

(mongodb >= 1.0.0)

Einführung

Thrown when the driver is incorrectly used (e.g. rewinding a cursor).

Klassenbeschreibung

MongoDB\Driver\Exception\LogicException extends LogicException implements MongoDB\Driver\Exception\Exception {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
MongoDB\Driver\Exception\InvalidArgumentException
MongoDB\Driver\Exception\RuntimeException
MongoDB\Driver\Exception


The MongoDB\Driver\Exception\RuntimeException class

(mongodb >= 1.0.0)

Einführung

Thrown when the driver encounters a runtime error (e.g. internal error from » libmongoc).

Klassenbeschreibung

MongoDB\Driver\Exception\RuntimeException extends RuntimeException implements MongoDB\Driver\Exception\Exception {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
MongoDB\Driver\Exception\LogicException
MongoDB\Driver\Exception\SSLConnectionException
MongoDB\Driver\Exception


The MongoDB\Driver\Exception\SSLConnectionException class

(mongodb >= 1.0.0)

Einführung

Thrown when the driver fails to establish an SSL connection with the server.

Klassenbeschreibung

MongoDB\Driver\Exception\SSLConnectionException extends MongoDB\Driver\Exception\ConnectionException implements MongoDB\Driver\Exception\Exception {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
MongoDB\Driver\Exception\RuntimeException
MongoDB\Driver\Exception\UnexpectedValueException
MongoDB\Driver\Exception


The MongoDB\Driver\Exception\UnexpectedValueException class

(mongodb >= 1.0.0)

Einführung

Thrown when the driver encounters an unexpected value (e.g. during BSON serialization or deserialization).

Klassenbeschreibung

MongoDB\Driver\Exception\UnexpectedValueException extends UnexpectedValueException implements MongoDB\Driver\Exception\Exception {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
MongoDB\Driver\Exception\SSLConnectionException
MongoDB\Driver\Exception\WriteException
MongoDB\Driver\Exception


The MongoDB\Driver\Exception\WriteException class

(mongodb >= 1.0.0)

Einführung

Base class for exceptions thrown by a failed write operation. The exception encapsulates a MongoDB\Driver\WriteResult object.

Klassenbeschreibung

abstract MongoDB\Driver\Exception\WriteException extends MongoDB\Driver\Exception\RuntimeException implements MongoDB\Driver\Exception\Exception {
/* Eigenschaften */
protected MongoDB\Driver\WriteResult $writeResult ;
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Methoden */
final public MongoDB\Driver\WriteResult getWriteResult ( void )
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Eigenschaften

writeResult

The MongoDB\Driver\WriteResult associated with the failed write operation.

Inhaltsverzeichnis

  • MongoDB\Driver\Exception\WriteException::getWriteResult — Returns the WriteResult for the failed write operation
MongoDB\Driver\Exception\UnexpectedValueException
MongoDB\Driver\Exception\WriteException::getWriteResult
MongoDB\Driver\Exception


Returns the WriteResult for the failed write operation

MongoDB\Driver\Exception\WriteException
mSQL
MongoDB\Driver\Exception\WriteException
PHP Manual

MongoDB\Driver\Exception\WriteException::getWriteResult

(mongodb >= 1.0.0)

MongoDB\Driver\Exception\WriteException::getWriteResult — Returns the WriteResult for the failed write operation

Beschreibung

final public MongoDB\Driver\WriteResult MongoDB\Driver\Exception\WriteException::getWriteResult ( void )

Returns the MongoDB\Driver\WriteResult for the failed write operation. The MongoDB\Driver\WriteResult::getWriteErrors() and MongoDB\Driver\WriteResult::getWriteConcernError() methods may be used to get more details about the failure.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The MongoDB\Driver\WriteResult for the failed write operation.

Beispiele

Beispiel #1 MongoDB\Driver\Exception\WriteException::getWriteResult() example

<?php

$manager = new MongoDB\Driver\Manager('mongodb://localhost');
$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['_id' => 1]);
$bulk->insert(['_id' => 1]);

try {
    $manager->executeBulkWrite('db.collection', $bulk);
} catch (MongoDB\Driver\Exception\WriteException $e) {
    $writeResult = $e->getWriteResult();

    if ($writeConcernError = $writeResult->getWriteConcernError()) {
        var_dump($writeConcernError);
    }

    if ($writeErrors = $writeResult->getWriteErrors()) {
        var_dump($writeErrors);
    }
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(1) {
  [0]=>
  object(MongoDB\Driver\WriteError)#5 (4) {
    ["message"]=>
    string(70) "E11000 duplicate key error index: db.collection.$_id_ dup key: { : 1 }"
    ["code"]=>
    int(11000)
    ["index"]=>
    int(1)
    ["info"]=>
    NULL
  }
}

Siehe auch

  • MongoDB\Driver\WriteResult
  • MongoDB\Driver\Manager::executeBulkWrite() - Execute one or more write operations
MongoDB\Driver\Exception\WriteException
mSQL
MongoDB\Driver\Exception\WriteException


mSQL

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • Grundlegende Nutzung
  • mSQL-Funktionen
    • msql_affected_rows — Gibt die Anzahl der betroffenen Datensätze zurück
    • msql_close — Schließt eine mSQL-Verbindung
    • msql_connect — Öffnet eine mSQL-Verbindung
    • msql_create_db — Erzeugt eine mSQL Datenbank
    • msql_createdb — Alias von msql_create_db
    • msql_data_seek — Bewegt den internen Datensatzzeiger
    • msql_db_query — Sendet eine mSQL Abfrage an den Server
    • msql_dbname — Alias von msql_result
    • msql_drop_db — Löscht eine mSQL Datenbank
    • msql_error — Gibt die letzte mSQL-Fehlermeldung zurück
    • msql_fetch_array — Holt eine Zeile als Array
    • msql_fetch_field — Gibt Feldinformationen in einem Objekt zurück
    • msql_fetch_object — Holt eine Zeile als Objekt
    • msql_fetch_row — Holt eine Zeile als numerisches Array
    • msql_field_flags — Gibt alle Flags für das angegebene Feld zurück
    • msql_field_len — Gibt die Länge des angegebenen Feldes zurück
    • msql_field_name — Gibt den Feldnamen des bezeichneten Feldes zurück
    • msql_field_seek — Setzt den internen Feld-Zeiger auf den angegebenen Feldindex
    • msql_field_table — Gibt den Tabellennamen für ein Feld zurück
    • msql_field_type — Gibt den Datentyp des angegebenen Feldes zurück
    • msql_fieldflags — Alias für msql_field_flags
    • msql_fieldlen — Alias für msql_field_len
    • msql_fieldname — Alias für msql_field_name
    • msql_fieldtable — Alias für msql_field_table
    • msql_fieldtype — Alias für msql_field_type
    • msql_free_result — Gibt den durch Ergebnisse belegten Speicher frei
    • msql_list_dbs — Listet alle mSQL Datenbanken auf dem Server auf
    • msql_list_fields — Listet alle Felder einer Tabelle auf
    • msql_list_tables — Listet alle Tabellen einer mSQL-Datenbank auf
    • msql_num_fields — Gibt die Anzahl der Felder in einem Abfrageergebnis zurück
    • msql_num_rows — Gibt die Anzahl der Zeilen in einem Abfrageergebnis zurück
    • msql_numfields — Alias für msql_num_fields
    • msql_numrows — Alias für msql_num_rows
    • msql_pconnect — Öffnet eine persistente mSQL-Verbindung
    • msql_query — Schickt eine mSQL-Abfrage zum Server
    • msql_regcase — Alias für sql_regcase
    • msql_result — Holt den Wert eines einzelnen Feldes
    • msql_select_db — Wählt eine mSQL Datenbank aus
    • msql_tablename — Alias für msql_result
    • msql — Alias für msql_db_query
MongoDB\Driver\Exception\WriteException::getWriteResult
Einführung
Anbieterspezifische Datenbankerweiterungen


Einführung

Mit diesen Funktionen können Sie auf einen mSQL-Datenbankserver zuzugreifen. Mehr Informationen über mSQL findet man bei » http://www.hughes.com.au/.

mSQL
Installation/Konfiguration
mSQL


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
mSQL


Installation

Damit Sie auf diese Funktionen zugreifen können, müssen Sie PHP mit der Unterstützung für mSQL kompilieren, indem Sie die Option --with-msql[=DIR] angeben. DIR ist das mSQL-Installationsverzeichnis. In der Voreinstellung ist dies /usr/local/msql3.

Hinweis: Anmerkung für Win32-Benutzer

Diese Extension benötigt DLL-Dateien. die für Windows verfügbar seien müssen. Der FAQ-Eintrag " Wie füge ich unter Windows PATH mein PHP-Verzeichnis hinzu?" gibt hierzu weitere Informationen. Obwohl ein einfaches Kopieren der DLL-Dateien vom PHP-Verzeichnis in den Windows-Systemordner auch funktioniert (weil der Systemordner immer im PATH enthalten ist), ist dieses Vorgehen nicht empfehlenswert. Diese Extension benötigt die folgenden Dateien im PATH: msql.dll

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

mSQL Konfigurations-Optionen
Name | Standard | Veränderbar | Changelog
msql.allow_persistent | "1" | PHP_INI_ALL |
msql.max_persistent | "-1" | PHP_INI_ALL |
msql.max_links | "-1" | PHP_INI_ALL |
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

msql.allow_persistent boolean

Bestimmt, ob persistente Verbindungen erlaubt sind.

msql.max_persistent integer

Bestimmt die maximale Anzahl persistenter Verbindungen zu mSQL pro Prozess.

msql.max_links integer

Bestimmt die Gesamtzahl der Verbindungen (einschließlich persistenter Verbindungen) zu mSQL pro Prozess.

Installation
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

Im mSQL-Modul gibt es zwei Ressource-Typen: Die erste ist eine Verbindungskennung einer Datenbankverbindung und die zweite Ressource ist eine Ergebniskennung für ein Abfrageergebnis.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

MSQL_ASSOC (integer)
MSQL_NUM (integer)
MSQL_BOTH (integer)
Ressource-Typen
Beispiele
mSQL


Beispiele

Inhaltsverzeichnis

  • Grundlegende Nutzung
Vordefinierte Konstanten
Grundlegende Nutzung
mSQL


Grundlegende Nutzung

In diesem einfachen Beispiel wird eine Verbindung zum mSQL-Datenbankserver aufgebaut, eine Abfrage ausgeführt, das Abfrageergebnis ausgegeben und die Verbindung wieder geschlossen.

Beispiel #1 Eine Abfrage ausführen

<?php
/* Verbindungsaufbau zum Datenbankserver */
$link = msql_connect('localhost', 'username', 'password')
    or die('Verbindungsaufbau fehlgeschlagen : ' . msql_error($link));

msql_select_db('database', $link)
    or die('Konnte die Datenbank nicht auswählen');

/* SQL-Abfrage senden */
$query = 'SELECT * FROM my_table';
$result = msql_query($query, $link) or die('Abfrage fehlgeschlagen : ' . msql_error($link));

/* Abfrageergebnisse in HTML ausgeben*/
echo "<table>\n";
while ($row = msql_fetch_array($result, MSQL_ASSOC)) {
    echo "\t<tr>\n";
    foreach ($row as $col_value) {
        echo "\t\t<td>$col_value</td>\n";
    }
    echo "\t</tr>\n";
}
echo "</table>\n";

/* Speicher wieder freigeben */
msql_free_result($result);

/* Verbindung schließen */
msql_close($link);
?>

Beispiele
mSQL-Funktionen
Beispiele


mSQL-Funktionen

Inhaltsverzeichnis

  • msql_affected_rows — Gibt die Anzahl der betroffenen Datensätze zurück
  • msql_close — Schließt eine mSQL-Verbindung
  • msql_connect — Öffnet eine mSQL-Verbindung
  • msql_create_db — Erzeugt eine mSQL Datenbank
  • msql_createdb — Alias von msql_create_db
  • msql_data_seek — Bewegt den internen Datensatzzeiger
  • msql_db_query — Sendet eine mSQL Abfrage an den Server
  • msql_dbname — Alias von msql_result
  • msql_drop_db — Löscht eine mSQL Datenbank
  • msql_error — Gibt die letzte mSQL-Fehlermeldung zurück
  • msql_fetch_array — Holt eine Zeile als Array
  • msql_fetch_field — Gibt Feldinformationen in einem Objekt zurück
  • msql_fetch_object — Holt eine Zeile als Objekt
  • msql_fetch_row — Holt eine Zeile als numerisches Array
  • msql_field_flags — Gibt alle Flags für das angegebene Feld zurück
  • msql_field_len — Gibt die Länge des angegebenen Feldes zurück
  • msql_field_name — Gibt den Feldnamen des bezeichneten Feldes zurück
  • msql_field_seek — Setzt den internen Feld-Zeiger auf den angegebenen Feldindex
  • msql_field_table — Gibt den Tabellennamen für ein Feld zurück
  • msql_field_type — Gibt den Datentyp des angegebenen Feldes zurück
  • msql_fieldflags — Alias für msql_field_flags
  • msql_fieldlen — Alias für msql_field_len
  • msql_fieldname — Alias für msql_field_name
  • msql_fieldtable — Alias für msql_field_table
  • msql_fieldtype — Alias für msql_field_type
  • msql_free_result — Gibt den durch Ergebnisse belegten Speicher frei
  • msql_list_dbs — Listet alle mSQL Datenbanken auf dem Server auf
  • msql_list_fields — Listet alle Felder einer Tabelle auf
  • msql_list_tables — Listet alle Tabellen einer mSQL-Datenbank auf
  • msql_num_fields — Gibt die Anzahl der Felder in einem Abfrageergebnis zurück
  • msql_num_rows — Gibt die Anzahl der Zeilen in einem Abfrageergebnis zurück
  • msql_numfields — Alias für msql_num_fields
  • msql_numrows — Alias für msql_num_rows
  • msql_pconnect — Öffnet eine persistente mSQL-Verbindung
  • msql_query — Schickt eine mSQL-Abfrage zum Server
  • msql_regcase — Alias für sql_regcase
  • msql_result — Holt den Wert eines einzelnen Feldes
  • msql_select_db — Wählt eine mSQL Datenbank aus
  • msql_tablename — Alias für msql_result
  • msql — Alias für msql_db_query
Grundlegende Nutzung
msql_affected_rows
mSQL


Gibt die Anzahl der betroffenen Datensätze zurück

mSQL-Funktionen
msql_close
mSQL-Funktionen
PHP Manual

msql_affected_rows

(PHP 4, PHP 5, PHP 7)

msql_affected_rows — Gibt die Anzahl der betroffenen Datensätze zurück

Beschreibung

int msql_affected_rows ( resource $result )

Gibt die Anzahl Datensätze in dem durch result bezeichneten Ergebnis zurück, die von der letzten Abfrage betroffen ("berührt") wurden. (z. B. die Anzahl der Zeilen, die durch einen UPDATE geändert wurden oder die Anzahl der Zeilen, die von einem DELETE gelöscht wurden.).

Parameter-Liste

Ergebnis

Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von msql_query().

Rückgabewerte

Returns the number of affected rows on success, or FALSE on error.

Siehe auch

  • msql_query() - Schickt eine mSQL-Abfrage zum Server

mSQL-Funktionen
msql_close
mSQL-Funktionen


Schließt eine mSQL-Verbindung

msql_affected_rows
msql_connect
mSQL-Funktionen
PHP Manual

msql_close

(PHP 4, PHP 5, PHP 7)

msql_close — Schließt eine mSQL-Verbindung

Beschreibung

bool msql_close ([ resource $link_identifier ] )

msql_close() schließt die mit der angegebenen Verbindungskennung verknüpfte Verbindung zum mSQL Datenbankserver. Falls die Verbindungskennung nicht angegeben ist, wird die zuletzt geöffnete Verbindung geschlossen.

Ein Aufruf von msql_close() normalerweise nicht notwendig, weil geöffnete, nicht-persistente Verbindungen automatisch geschlossen werden, wenn die Ausführung des Skripts beendet ist. Siehe auch freeing resources.

Parameter-Liste

Verbindungskennung

Die mSQL-Verbindung. Wird keine Verbindungskennung angegeben, wird die letzte durch msql_connect() geöffnete Verbindung angenommen. Falls keine solche Verbindung gefunden wird, versucht die Funktion, eine Verbindung so aufzubauen, als wäre msql_connect() aufgerufen worden und verwendet diese.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • msql_connect() - Öffnet eine mSQL-Verbindung
  • msql_pconnect() - Öffnet eine persistente mSQL-Verbindung

msql_affected_rows
msql_connect
mSQL-Funktionen


Öffnet eine mSQL-Verbindung

msql_close
msql_create_db
mSQL-Funktionen
PHP Manual

msql_connect

(PHP 4, PHP 5, PHP 7)

msql_connect — Öffnet eine mSQL-Verbindung

Beschreibung

resource msql_connect ([ string $hostname ] )

msql_connect() verbindet zu einem mSQL-Server.

Falls msql_connect() ein zweites Mal mit denselben Argumenten aufgerufen wird, wird keine neue Verbindung erzeugt, stattdessen wird die Verbindungskennung der aktuell geöffneten Verbindung zurückgegeben.

Die Verbindung zum Server wird geschlossen, sobald die Ausführung des Skripts beendet ist, es sei denn, die Verbindung wurde zuvor durch einen expliziten Aufruf von msql_close() beendet.

Parameter-Liste

hostname

Der Hostname kann auch eine Portnummer einschließen, z. B. hostname,port.

Falls nichts angegeben wurde, wird die Verbindung über einen Unix-Domain-Socket aufgebaut, die effizienter ist, als eine Verbindung über einen lokalen TCP-Socket.

Hinweis:

Obwohl diese Funktion einen Doppelpunkt (:) als Trennzeichen zwischen Host und Port akzeptiert, ist die bevorzugte Schreibweise mit einem Komma (,).

Rückgabewerte

Bei Erfolg wird eine positive mSQL-Verbindungskennung zurückgegeben oder FALSE, falls ein Fehler auftrat.

Siehe auch

  • msql_pconnect() - Öffnet eine persistente mSQL-Verbindung
  • msql_close() - Schließt eine mSQL-Verbindung

msql_close
msql_create_db
mSQL-Funktionen


Erzeugt eine mSQL Datenbank

msql_connect
msql_createdb
mSQL-Funktionen
PHP Manual

msql_create_db

(PHP 4, PHP 5, PHP 7)

msql_create_db — Erzeugt eine mSQL Datenbank

Beschreibung

bool msql_create_db ( string $database_name [, resource $link_identifier ] )

msql_create_db() versucht, eine neue Datenbank auf einem mSQL-Server zu erzeugen.

Parameter-Liste

database_name

Der Name der mSQL Datenbank.

Verbindungskennung

Die mSQL-Verbindung. Wird keine Verbindungskennung angegeben, wird die letzte durch msql_connect() geöffnete Verbindung angenommen. Falls keine solche Verbindung gefunden wird, versucht die Funktion, eine Verbindung so aufzubauen, als wäre msql_connect() aufgerufen worden und verwendet diese.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • msql_drop_db() - Löscht eine mSQL Datenbank

msql_connect
msql_createdb
mSQL-Funktionen


Alias von msql_create_db

msql_create_db
msql_data_seek
mSQL-Funktionen
PHP Manual

msql_createdb

(PHP 4, PHP 5, PHP 7)

msql_createdb — Alias von msql_create_db()

Beschreibung

Diese Funktion ist ein Alias für: msql_create_db().

msql_create_db
msql_data_seek
mSQL-Funktionen


Bewegt den internen Datensatzzeiger

msql_createdb
msql_db_query
mSQL-Funktionen
PHP Manual

msql_data_seek

(PHP 4, PHP 5, PHP 7)

msql_data_seek — Bewegt den internen Datensatzzeiger

Beschreibung

bool msql_data_seek ( resource $result , int $row_number )

msql_data_seek() bewegt den internen Datensatzzeiger in der mSQL Ergebnismenge, die mit der angegebenen Ergebniskennung verknüpft ist, zu der übergebenen Zeile. Der nächste Aufruf von msql_fetch_row() gibt diese Zeile zurück.

Parameter-Liste

Ergebnis

Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von msql_query().

row_number

Die Nummer der ausgewählten Zeile.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • msql_fetch_array() - Holt eine Zeile als Array
  • msql_fetch_object() - Holt eine Zeile als Objekt
  • msql_fetch_row() - Holt eine Zeile als numerisches Array
  • msql_result() - Holt den Wert eines einzelnen Feldes

msql_createdb
msql_db_query
mSQL-Funktionen


Sendet eine mSQL Abfrage an den Server

msql_data_seek
msql_dbname
mSQL-Funktionen
PHP Manual

msql_db_query

(PHP 4, PHP 5, PHP 7)

msql_db_query — Sendet eine mSQL Abfrage an den Server

Beschreibung

resource msql_db_query ( string $database , string $query [, resource $link_identifier ] )

msql_db_query() führt eine Abfrage auf der gewählten Datenbank aus.

Parameter-Liste

database

Der Name der mSQL Datenbank.

query

Sie SQL Abfrage.

Verbindungskennung

Die mSQL-Verbindung. Wird keine Verbindungskennung angegeben, wird die letzte durch msql_connect() geöffnete Verbindung angenommen. Falls keine solche Verbindung gefunden wird, versucht die Funktion, eine Verbindung so aufzubauen, als wäre msql_connect() aufgerufen worden und verwendet diese.

Rückgabewerte

Gibt bei Erfolg eine positive Ergebniskennung zurück oder FALSE, falls ein Fehler auftrat.

Siehe auch

  • msql_query() - Schickt eine mSQL-Abfrage zum Server

msql_data_seek
msql_dbname
mSQL-Funktionen


Alias von msql_result

msql_db_query
msql_drop_db
mSQL-Funktionen
PHP Manual

msql_dbname

(PHP 4, PHP 5, PHP 7)

msql_dbname — Alias von msql_result()

Beschreibung

Diese Funktion ist ein Alias für: msql_result().

msql_db_query
msql_drop_db
mSQL-Funktionen


Löscht eine mSQL Datenbank

msql_dbname
msql_error
mSQL-Funktionen
PHP Manual

msql_drop_db

(PHP 4, PHP 5, PHP 7)

msql_drop_db — Löscht eine mSQL Datenbank

Beschreibung

bool msql_drop_db ( string $database_name [, resource $link_identifier ] )

msql_drop_db() versucht, eine Datenbank vom Server zu löschen.

Parameter-Liste

database_name

Der Name der Datenbank.

Verbindungskennung

Die mSQL-Verbindung. Wird keine Verbindungskennung angegeben, wird die letzte durch msql_connect() geöffnete Verbindung angenommen. Falls keine solche Verbindung gefunden wird, versucht die Funktion, eine Verbindung so aufzubauen, als wäre msql_connect() aufgerufen worden und verwendet diese.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • msql_create_db() - Erzeugt eine mSQL Datenbank

msql_dbname
msql_error
mSQL-Funktionen


Gibt die letzte mSQL-Fehlermeldung zurück

msql_drop_db
msql_fetch_array
mSQL-Funktionen
PHP Manual

msql_error

(PHP 4, PHP 5, PHP 7)

msql_error — Gibt die letzte mSQL-Fehlermeldung zurück

Beschreibung

string msql_error ( void )

msql_error() gibt den zuletzt aufgetretenen Fehler des mSQL-Servers zurück. Beachten Sie, dass Sie mit msql_error() nur die letzte Fehlermeldung erhalten können.

Rückgabewerte

Die letzte Fehlermeldung oder ein leerer String, falls es keinen Fehler gab.

msql_drop_db
msql_fetch_array
mSQL-Funktionen


Holt eine Zeile als Array

msql_error
msql_fetch_field
mSQL-Funktionen
PHP Manual

msql_fetch_array

(PHP 4, PHP 5, PHP 7)

msql_fetch_array — Holt eine Zeile als Array

Beschreibung

array msql_fetch_array ( resource $result [, int $result_type ] )

msql_fetch_array() ist eine erweiterte Version von msql_fetch_row(). Zusätzlich zur Speicherung der Daten in einem numerischen Array speichert diese Funktion den Datensatz auch mit assoziativen Indizes, indem sie die Feldnamen als Schlüssel benutzt.

Wichtig ist, dass msql_fetch_array() NICHT wesentlich langsamer als msql_fetch_row() ist, obwohl es einen zusätzlichen, wichtigen Ergebniswert zurückgibt.

Parameter-Liste

Ergebnis

Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von msql_query().

result_type

Eine Konstante, die die folgenden Werte annehmen kann: MSQL_ASSOC, MSQL_NUM und MSQL_BOTH. Der Standardwert MSQL_BOTH.

Rückgabewerte

Gibt die Inhalte des gelesenen Datensatzes in einem Array zurück oder FALSE, wenn es keinen Datensatz mehr zu lesen gibt.

Beispiele

Beispiel #1 msql_fetch_array() Beispiel

<?php
$con = msql_connect();
if (!$con) {
    die('Verbindungsaufbau fehlgeschlagen: ' . msql_error());
}

if (!msql_select_db('test', $con)) {
    die('Fehler beim Auswählen der Datenbank: ' . msql_error());
}

$result = msql_query('SELECT id, name FROM people', $con);
if (!$result) {
    die('Konnte die Abfrage nicht ausführen: ' . msql_error());
}

while ($row = msql_fetch_array($result, MSQL_ASSOC)) {
    echo $row['id'] . ': ' . $row['name'] . "\n";
}

msql_free_result($result);
?>

Changelog

Version | Beschreibung
5.0.4 | Ein Fehler beim Auslesen von Spalten, die NULL enthielten, wurde behoben. Solche Spalten waren nicht im Ergebnisarray enthalten.

Siehe auch

  • msql_fetch_row() - Holt eine Zeile als numerisches Array
  • msql_fetch_object() - Holt eine Zeile als Objekt
  • msql_data_seek() - Bewegt den internen Datensatzzeiger
  • msql_result() - Holt den Wert eines einzelnen Feldes

msql_error
msql_fetch_field
mSQL-Funktionen


Gibt Feldinformationen in einem Objekt zurück

msql_fetch_array
msql_fetch_object
mSQL-Funktionen
PHP Manual

msql_fetch_field

(PHP 4, PHP 5, PHP 7)

msql_fetch_field — Gibt Feldinformationen in einem Objekt zurück

Beschreibung

object msql_fetch_field ( resource $result [, int $field_offset = 0 ] )

msql_fetch_field() kann benutzt werden, um Informationen über Felder in einem bestimmten Abfrageergebnis zu erhalten.

Parameter-Liste

Ergebnis

Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von msql_query().

field_offset

Der Feld-Offset. Falls nicht angegeben, wird ein Objekt mit Informationen über das nächste, noch nicht mit msql_fetch_field() geholte Feld zurückgegeben.

Rückgabewerte

Gibt ein Objekt zurück, das Informationen über ein Feld enthält. Die Eigenschaften dieses Objekts sind:

  • name - Spaltennaem

  • table - Name der Tabelle, aus der diese Spalte stammt

  • not_null - 1 falls die Spalte keine NULL-Werte erlaubt

  • unique - 1 falls die Spalte ein eindeutiger Schlüssel ist

  • type - der Datentyp der Spalte

Siehe auch

  • msql_field_seek() - Setzt den internen Feld-Zeiger auf den angegebenen Feldindex

msql_fetch_array
msql_fetch_object
mSQL-Funktionen


Holt eine Zeile als Objekt

msql_fetch_field
msql_fetch_row
mSQL-Funktionen
PHP Manual

msql_fetch_object

(PHP 4, PHP 5, PHP 7)

msql_fetch_object — Holt eine Zeile als Objekt

Beschreibung

object msql_fetch_object ( resource $result )

msql_fetch_object() ist ähnlich wie msql_fetch_array(), mit einem Unterschied - anstelle eines Arrays wird ein Objekt zurückgegeben. Indirekt bdeutet das, dass man auf die Daten nur über die Feldnamen zugreifen kann, und nicht über ihre Feldindizes. (Ziffern sind unzulässige Namen für Eigenschaften.)

Von der Geschwindigkeit her ist die Funktion identisch zu msql_fetch_array(), und fast so schnell wie msql_fetch_row() (der Unterschied ist unerheblich).

Parameter-Liste

Ergebnis

Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von msql_query().

Rückgabewerte

Gibt ein Objekt zurück, dessen Eigenschaften mit den Spalten der gelesenen Zeile korrespondieren oder FALSE, falls keine Zeilen mehr gelesen werden können.

Beispiele

Beispiel #1 msql_fetch_object()-Beispiel

<?php
$con = msql_connect();
if (!$con) {
    die('Verbindungsaufbau fehlgeschlagen: ' . msql_error());
}

if (!msql_select_db('test', $con)) {
    die('Fehler beim Auswählen der Datenbank: ' . msql_error());
}

$result = msql_query('SELECT id, name FROM people', $con);
if (!$result) {
    die('Konnte die Abfrage nicht ausführen: ' . msql_error());
}

while ($row = msql_fetch_object($result, MSQL_ASSOC)) {
    echo $row->id . ': ' . $row->name . "\n";
}

msql_free_result($result);
?>

Changelog

Version | Beschreibung
5.0.4 | Ein Fehler beim Auslesen von Spalten, die NULL enthielten, wurde behoben. Solche Spalten waren nicht im Ergebnisarray enthalten.

Siehe auch

  • msql_fetch_array() - Holt eine Zeile als Array
  • msql_fetch_row() - Holt eine Zeile als numerisches Array
  • msql_data_seek() - Bewegt den internen Datensatzzeiger
  • msql_result() - Holt den Wert eines einzelnen Feldes

msql_fetch_field
msql_fetch_row
mSQL-Funktionen


Holt eine Zeile als numerisches Array

msql_fetch_object
msql_field_flags
mSQL-Funktionen
PHP Manual

msql_fetch_row

(PHP 4, PHP 5, PHP 7)

msql_fetch_row — Holt eine Zeile als numerisches Array

Beschreibung

array msql_fetch_row ( resource $result )

msql_fetch_row() holt eine Zeile des Abfrageergebnisses, das mit der Ergebniskennung verknüpft ist. Der Datensatz wird als Array zurückgegeben. Alle Spalteninhalte des Ergebnisses werden unter einem numerischen Index, der bei 0 beginnt, gespeichert.

Aufeinanderfolgende Aufrufe von msql_fetch_row() geben jeweils die nächste Zeile des Abfrageergebnisses zurück, oder FALSE, wenn keine Datensätze mehr gelesen werden können.

Parameter-Liste

Ergebnis

Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von msql_query().

Rückgabewerte

Gibt ein Array mit einem Element für jede Spalte des Datensatzes zurück, oder FALSE, falls kein Datensatz mehr geholt werden kann.

Beispiele

Beispiel #1 msql_fetch_row()-Beispiel

<?php
$con = msql_connect();
if (!$con) {
    die('Verbindungsaufbau fehlgeschlagen: ' . msql_error());
}

if (!msql_select_db('test', $con)) {
    die('Fehler beim Auswählen der Datenbank: ' . msql_error());
}

$result = msql_query('SELECT id, name FROM people', $con);
if (!$result) {
    die('Konnte die Abfrage nicht ausführen: ' . msql_error());
}

while ($row = msql_fetch_row($result)) {
    echo $row[0] . ': ' . $row[1] . "\n";
}

msql_free_result($result);
?>

Changelog

Version | Beschreibung
5.0.4 | Ein Fehler beim Auslesen von Spalten, die NULL enthielten, wurde behoben. Solche Spalten waren nicht im Ergebnisarray enthalten.

Siehe auch

  • msql_fetch_array() - Holt eine Zeile als Array
  • msql_fetch_object() - Holt eine Zeile als Objekt
  • msql_data_seek() - Bewegt den internen Datensatzzeiger
  • msql_result() - Holt den Wert eines einzelnen Feldes

msql_fetch_object
msql_field_flags
mSQL-Funktionen


Gibt alle Flags für das angegebene Feld zurück

msql_fetch_row
msql_field_len
mSQL-Funktionen
PHP Manual

msql_field_flags

(PHP 4, PHP 5, PHP 7)

msql_field_flags — Gibt alle Flags für das angegebene Feld zurück

Beschreibung

string msql_field_flags ( resource $result , int $field_offset )

msql_field_flags() gibt die Flags für das angegebenen Feld zurück.

Parameter-Liste

Ergebnis

Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von msql_query().

Feldoffset

Der numerische Offset des Feldes. Der Feldoffset beginnt bei 1.

Rückgabewerte

Gibt einen String zurück, der die Flags des angegebenen Feldes enthält. Möglich sind: primary key not null, not null, primary key, unique not null oder unique.

msql_fetch_row
msql_field_len
mSQL-Funktionen


Gibt die Länge des angegebenen Feldes zurück

msql_field_flags
msql_field_name
mSQL-Funktionen
PHP Manual

msql_field_len

(PHP 4, PHP 5, PHP 7)

msql_field_len — Gibt die Länge des angegebenen Feldes zurück

Beschreibung

int msql_field_len ( resource $result , int $field_offset )

msql_fieldlen() gibt die Länge des angegebenen Feldes zurück.

Parameter-Liste

Ergebnis

Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von msql_query().

Feldoffset

Der numerische Offset des Feldes. Der Feldoffset beginnt bei 1.

Rückgabewerte

Gibt die Länge des angegebenen Feldes zurück oder FALSE, falls ein Fehler auftrat.

msql_field_flags
msql_field_name
mSQL-Funktionen


Gibt den Feldnamen des bezeichneten Feldes zurück

msql_field_len
msql_field_seek
mSQL-Funktionen
PHP Manual

msql_field_name

(PHP 4, PHP 5, PHP 7)

msql_field_name — Gibt den Feldnamen des bezeichneten Feldes zurück

Beschreibung

string msql_field_name ( resource $result , int $field_offset )

msql_field_name() gibt den Namen des durch den Index bezeichneten Feldes zurück. result ist die Ergebniskennung und field_offset ist der Index des Feldes.

Parameter-Liste

Ergebnis

Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von msql_query().

Feldoffset

Der numerische Offset des Feldes. Der Feldoffset beginnt bei 1.

Rückgabewerte

Der Name des Feldes. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • msql_field_len() - Gibt die Länge des angegebenen Feldes zurück

msql_field_len
msql_field_seek
mSQL-Funktionen


Setzt den internen Feld-Zeiger auf den angegebenen Feldindex

msql_field_name
msql_field_table
mSQL-Funktionen
PHP Manual

msql_field_seek

(PHP 4, PHP 5, PHP 7)

msql_field_seek — Setzt den internen Feld-Zeiger auf den angegebenen Feldindex

Beschreibung

bool msql_field_seek ( resource $result , int $field_offset )

Setzt den internen Feld-Zeiger auf das angegebenen Feld. Falls der nächste Aufruf von msql_fetch_field() keinen Index enthält, wird dieses Feld zurückgegeben.

Parameter-Liste

Ergebnis

Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von msql_query().

Feldoffset

Der numerische Offset des Feldes. Der Feldoffset beginnt bei 1.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • msql_fetch_field() - Gibt Feldinformationen in einem Objekt zurück

msql_field_name
msql_field_table
mSQL-Funktionen


Gibt den Tabellennamen für ein Feld zurück

msql_field_seek
msql_field_type
mSQL-Funktionen
PHP Manual

msql_field_table

(PHP 4, PHP 5, PHP 7)

msql_field_table — Gibt den Tabellennamen für ein Feld zurück

Beschreibung

int msql_field_table ( resource $result , int $field_offset )

Gibt den Namen der Tabelle zurück, aus welcher das Feld field_offset einer Ergebnismenge stammt.

Parameter-Liste

Ergebnis

Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von msql_query().

Feldoffset

Der numerische Offset des Feldes. Der Feldoffset beginnt bei 1.

Rückgabewerte

Der Name der Tabelle im Erfolgsfall. Im Fehlerfall wird FALSE zurückgegeben.

msql_field_seek
msql_field_type
mSQL-Funktionen


Gibt den Datentyp des angegebenen Feldes zurück

msql_field_table
msql_fieldflags
mSQL-Funktionen
PHP Manual

msql_field_type

(PHP 4, PHP 5, PHP 7)

msql_field_type — Gibt den Datentyp des angegebenen Feldes zurück

Beschreibung

string msql_field_type ( resource $result , int $field_offset )

msql_field_type() gibt den Typ des Feldes mit dem angegebenen Index zurück.

Parameter-Liste

Ergebnis

Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von msql_query().

Feldoffset

Der numerische Offset des Feldes. Der Feldoffset beginnt bei 1.

Rückgabewerte

Der Datentyp des Feldes. Mögliche Rückgaben sind: int, char, real, ident, null oder unknown. Diese Funktion gibt bei einem Fehler FALSE zurück.

msql_field_table
msql_fieldflags
mSQL-Funktionen


Alias für msql_field_flags

msql_field_type
msql_fieldlen
mSQL-Funktionen
PHP Manual

msql_fieldflags

(PHP 4, PHP 5, PHP 7)

msql_fieldflags — Alias für msql_field_flags()

Beschreibung

Diese Funktion ist ein Alias für msql_field_flags().

msql_field_type
msql_fieldlen
mSQL-Funktionen


Alias für msql_field_len

msql_fieldflags
msql_fieldname
mSQL-Funktionen
PHP Manual

msql_fieldlen

(PHP 4, PHP 5, PHP 7)

msql_fieldlen — Alias für msql_field_len()

Beschreibung

Diese Funktion ist ein Alias Für msql_field_len().

msql_fieldflags
msql_fieldname
mSQL-Funktionen


Alias für msql_field_name

msql_fieldlen
msql_fieldtable
mSQL-Funktionen
PHP Manual

msql_fieldname

(PHP 4, PHP 5, PHP 7)

msql_fieldname — Alias für msql_field_name()

Beschreibung

Diese Funktion ist ein Alias für msql_field_name().

msql_fieldlen
msql_fieldtable
mSQL-Funktionen


Alias für msql_field_table

msql_fieldname
msql_fieldtype
mSQL-Funktionen
PHP Manual

msql_fieldtable

(PHP 4, PHP 5, PHP 7)

msql_fieldtable — Alias für msql_field_table()

Beschreibung

Diese Funktion ist ein Alias für msql_field_table().

msql_fieldname
msql_fieldtype
mSQL-Funktionen


Alias für msql_field_type

msql_fieldtable
msql_free_result
mSQL-Funktionen
PHP Manual

msql_fieldtype

(PHP 4, PHP 5, PHP 7)

msql_fieldtype — Alias für msql_field_type()

Beschreibung

Diese Funktion ist ein Alias für msql_field_type().

msql_fieldtable
msql_free_result
mSQL-Funktionen


Gibt den durch Ergebnisse belegten Speicher frei

msql_fieldtype
msql_list_dbs
mSQL-Funktionen
PHP Manual

msql_free_result

(PHP 4, PHP 5, PHP 7)

msql_free_result — Gibt den durch Ergebnisse belegten Speicher frei

Beschreibung

bool msql_free_result ( resource $result )

msql_free_result() gibt den Speicher, den das mit query_identifier verknüpfte Ergebnis belegt hat, frei. Wenn PHP ein Skript beendet, wird dieser Speicherplatz automatisch freigegeben, so dass man diese Funktion nur aufrufen muss, um sicher zu sein, nicht zuviel Speicherplatz während der Laufzeit des Skripts zu belegen.

Parameter-Liste

Ergebnis

Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von msql_query().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

msql_fieldtype
msql_list_dbs
mSQL-Funktionen


Listet alle mSQL Datenbanken auf dem Server auf

msql_free_result
msql_list_fields
mSQL-Funktionen
PHP Manual

msql_list_dbs

(PHP 4, PHP 5, PHP 7)

msql_list_dbs — Listet alle mSQL Datenbanken auf dem Server auf

Beschreibung

resource msql_list_dbs ([ resource $link_identifier ] )

msql_list_tables() listet alle Datenbanken des Servers auf, mit dem man über die Verbindungskennung link_identifier verbunden ist.

Parameter-Liste

Verbindungskennung

Die mSQL-Verbindung. Wird keine Verbindungskennung angegeben, wird die letzte durch msql_connect() geöffnete Verbindung angenommen. Falls keine solche Verbindung gefunden wird, versucht die Funktion, eine Verbindung so aufzubauen, als wäre msql_connect() aufgerufen worden und verwendet diese.

Rückgabewerte

Gibt eine Ergebnismenge zurück, die mit allen Funktionen, mit denen man Zeilen aus Abfrageergebnissen lesen kann, durchlaufen werden kann, wie etwa msql_fetch_array(). Falls ein Fehler auftritt, wird FALSE zurückgegeben.

Siehe auch

  • msql_list_tables() - Listet alle Tabellen einer mSQL-Datenbank auf
  • msql_list_fields() - Listet alle Felder einer Tabelle auf

msql_free_result
msql_list_fields
mSQL-Funktionen


Listet alle Felder einer Tabelle auf

msql_list_dbs
msql_list_tables
mSQL-Funktionen
PHP Manual

msql_list_fields

(PHP 4, PHP 5, PHP 7)

msql_list_fields — Listet alle Felder einer Tabelle auf

Beschreibung

resource msql_list_fields ( string $database , string $tablename [, resource $link_identifier ] )

msql_list_fields() gibt Informationen über die angegebene Tabelle zurück.

Parameter-Liste

database

Der Name der Datenbank.

tablename

Der Name der Tabelle.

Verbindungskennung

Die mSQL-Verbindung. Wird keine Verbindungskennung angegeben, wird die letzte durch msql_connect() geöffnete Verbindung angenommen. Falls keine solche Verbindung gefunden wird, versucht die Funktion, eine Verbindung so aufzubauen, als wäre msql_connect() aufgerufen worden und verwendet diese.

Rückgabewerte

Gibt eine Ergebnismenge zurück, die mit allen Funktionen, mit denen man Zeilen aus Abfrageergebnissen lesen kann, durchlaufen werden kann, wie etwa msql_fetch_array(). Falls ein Fehler auftritt, wird FALSE zurückgegeben.

Siehe auch

  • msql_list_tables() - Listet alle Tabellen einer mSQL-Datenbank auf
  • msql_list_dbs() - Listet alle mSQL Datenbanken auf dem Server auf

msql_list_dbs
msql_list_tables
mSQL-Funktionen


Listet alle Tabellen einer mSQL-Datenbank auf

msql_list_fields
msql_num_fields
mSQL-Funktionen
PHP Manual

msql_list_tables

(PHP 4, PHP 5, PHP 7)

msql_list_tables — Listet alle Tabellen einer mSQL-Datenbank auf

Beschreibung

resource msql_list_tables ( string $database [, resource $link_identifier ] )

msql_list_tables() listet alle Tabellen in der angegebenen database auf.

Parameter-Liste

database

Der Name der Datenbank.

Verbindungskennung

Die mSQL-Verbindung. Wird keine Verbindungskennung angegeben, wird die letzte durch msql_connect() geöffnete Verbindung angenommen. Falls keine solche Verbindung gefunden wird, versucht die Funktion, eine Verbindung so aufzubauen, als wäre msql_connect() aufgerufen worden und verwendet diese.

Rückgabewerte

Gibt eine Ergebnismenge zurück, die mit allen Funktionen, mit denen man Zeilen aus Abfrageergebnissen lesen kann, durchlaufen werden kann, wie etwa msql_fetch_array(). Falls ein Fehler auftritt, wird FALSE zurückgegeben.

Siehe auch

  • msql_list_fields() - Listet alle Felder einer Tabelle auf
  • msql_list_dbs() - Listet alle mSQL Datenbanken auf dem Server auf

msql_list_fields
msql_num_fields
mSQL-Funktionen


Gibt die Anzahl der Felder in einem Abfrageergebnis zurück

msql_list_tables
msql_num_rows
mSQL-Funktionen
PHP Manual

msql_num_fields

(PHP 4, PHP 5, PHP 7)

msql_num_fields — Gibt die Anzahl der Felder in einem Abfrageergebnis zurück

Beschreibung

int msql_num_fields ( resource $result )

msql_num_fields() gibt die Anzahl der Felder in einem Abfrageergebnis zurück.

Parameter-Liste

Ergebnis

Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von msql_query().

Rückgabewerte

Gibt die Anzahl der Felder in einem Abfrageergebnis zurück

Siehe auch

  • msql_query() - Schickt eine mSQL-Abfrage zum Server
  • msql_fetch_field() - Gibt Feldinformationen in einem Objekt zurück
  • msql_num_rows() - Gibt die Anzahl der Zeilen in einem Abfrageergebnis zurück

msql_list_tables
msql_num_rows
mSQL-Funktionen


Gibt die Anzahl der Zeilen in einem Abfrageergebnis zurück

msql_num_fields
msql_numfields
mSQL-Funktionen
PHP Manual

msql_num_rows

(PHP 4, PHP 5, PHP 7)

msql_num_rows — Gibt die Anzahl der Zeilen in einem Abfrageergebnis zurück

Beschreibung

int msql_num_rows ( resource $query_identifier )

msql_num_rows() gibt die Anzahl der Zeilen in einem Abfrageergebnis zurück.

Parameter-Liste

Ergebnis

Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von msql_query().

Rückgabewerte

Gibt die Anzahl der Zeilen in einem Abfrageergebnis zurück.

Siehe auch

  • msql_num_fields() - Gibt die Anzahl der Felder in einem Abfrageergebnis zurück

msql_num_fields
msql_numfields
mSQL-Funktionen


Alias für msql_num_fields

msql_num_rows
msql_numrows
mSQL-Funktionen
PHP Manual

msql_numfields

(PHP 4, PHP 5, PHP 7)

msql_numfields — Alias für msql_num_fields()

Beschreibung

Diese Funktion ist ein Alias für msql_num_fields().

msql_num_rows
msql_numrows
mSQL-Funktionen


Alias für msql_num_rows

msql_numfields
msql_pconnect
mSQL-Funktionen
PHP Manual

msql_numrows

(PHP 4, PHP 5, PHP 7)

msql_numrows — Alias für msql_num_rows()

Beschreibung

Diese Funktion ist ein Alias für msql_num_rows().

msql_numfields
msql_pconnect
mSQL-Funktionen


Öffnet eine persistente mSQL-Verbindung

msql_numrows
msql_query
mSQL-Funktionen
PHP Manual

msql_pconnect

(PHP 4, PHP 5, PHP 7)

msql_pconnect — Öffnet eine persistente mSQL-Verbindung

Beschreibung

resource msql_pconnect ([ string $hostname ] )

msql_pconnect() verhält sich sehr ähnlich wie msql_connect(), mit zwei großen Unterschieden.

Wenn die Verbindung aufgebaut wird, prüft die Funktion zuerst, ob eine geöffnete (persistente) Verbindung zu demselben Host besteht. Wird eine Verbindung gefunden, wird deren Verbindungskennung zurückgegeben, anstatt eine neue Verbindung aufzubauen.

Zweitens, die Verbindung zum mSQL-Server wird nicht geschlossen, wenn die Ausführung des Skripts beendet ist. Stattdessen bleibt die Verbindung für den späteren Gebrauch offen. (msql_close() schließt keine Verbindungen, die mit msql_pconnect() erzeugt wurden).

Parameter-Liste

hostname

Der Hostname kann auch eine Portnummer enthalten, z. B. hostname,port.

Falls nichts angegeben wurde, wird die Verbindung über einen Unix-Domain-Socket aufgebaut, die effizienter ist, als eine Verbindung über einen lokalen TCP-Socket.

Hinweis: Obwohl diese Funktion einen Doppelpunkt (:) als Trennzeichen zwischen Host und Port akzeptiert, ist die bevorzugte Schreibweise mit einem Komma (,).

Rückgabewerte

Bei Erfolg wird eine positive mSQL-Verbindungskennung zurückgegeben oder FALSE, falls ein Fehler auftrat.

Siehe auch

  • msql_connect() - Öffnet eine mSQL-Verbindung
  • msql_close() - Schließt eine mSQL-Verbindung

msql_numrows
msql_query
mSQL-Funktionen


Schickt eine mSQL-Abfrage zum Server

msql_pconnect
msql_regcase
mSQL-Funktionen
PHP Manual

msql_query

(PHP 4, PHP 5, PHP 7)

msql_query — Schickt eine mSQL-Abfrage zum Server

Beschreibung

resource msql_query ( string $query [, resource $link_identifier ] )

msql_query() schickt eine Datenbankabfrage an die aktuelle Datenbank auf dem Server, die mit der angegebenen Verbindungskennung verknüpft ist.

Parameter-Liste

query

Die SQL-Abfrage.

Verbindungskennung

Die mSQL-Verbindung. Wird keine Verbindungskennung angegeben, wird die letzte durch msql_connect() geöffnete Verbindung angenommen. Falls keine solche Verbindung gefunden wird, versucht die Funktion, eine Verbindung so aufzubauen, als wäre msql_connect() aufgerufen worden und verwendet diese.

Rückgabewerte

Gibt bei Erfolg eine positive Zahl als mSQL-Verbindungskennung zurück oder FALSE bei einem Fehler.

Beispiele

Beispiel #1 msql_query()-Beispiel

<?php
$link = msql_connect("dbserver")
   or die("Verbindungsaufbau fehlgeschlagen: " . msql_error());
msql_select_db("db", $link)
   or die("Fehler beim Öffnen der Datenbank: " . msql_error());

$result = msql_query("SELECT * FROM table WHERE id=1", $link);
if (!$result) {
   die("Konnte die Abfrage nicht ausführen: " . msql_error());
}

while ($row = msql_fetch_array($result)) {
    echo $row["id"];
}
?>

Siehe auch

  • msql_db_query() - Sendet eine mSQL Abfrage an den Server
  • msql_select_db() - Wählt eine mSQL Datenbank aus
  • msql_connect() - Öffnet eine mSQL-Verbindung

msql_pconnect
msql_regcase
mSQL-Funktionen


Alias für sql_regcase

msql_query
msql_result
mSQL-Funktionen
PHP Manual

msql_regcase

(PHP 4, PHP 5, PHP 7)

msql_regcase — Alias für sql_regcase()

Beschreibung

Diese Funktion ist ein Alias für sql_regcase().

msql_query
msql_result
mSQL-Funktionen


Holt den Wert eines einzelnen Feldes

msql_regcase
msql_select_db
mSQL-Funktionen
PHP Manual

msql_result

(PHP 4, PHP 5, PHP 7)

msql_result — Holt den Wert eines einzelnen Feldes

Beschreibung

string msql_result ( resource $result , int $row [, mixed $field ] )

msql_result() Holt den Wert eines einzelnen Feldes aus einer mSQL Ergebnismenge.

Wenn man mit grossen Abfrageergebnissen arbeitet, sollte man die Benutzung der Funktionen in Betracht ziehen, die ganze Zeilen aus der Tabelle auslesen (siehe unten). Weil diese Funktionen die Inhalte mehrerer Tabellenzellen in einem Funktionsaufruf holen, sind sie oft viel schneller als msql_result().

Empfohlene Alternativen mit hoher Ausführungsgeschwindigkeit:
msql_fetch_row(),
msql_fetch_array() und
msql_fetch_object().

Parameter-Liste

Ergebnis

Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von msql_query().

row

Die Zeilennummer.

field

Dies kann sowohl der numerische Index als auch der Feldname sein, oder, ein mit dem Tabellennamen qualifizierter Feldname (Tabellenname.Feldname). Falls der Feldname ein Alias ist, ('select foo as bar from ...'), wird der Aliasname anstatt des Feldnamens angegeben.

Hinweis:

Wenn ein numerischer Feldindex angegeben wird, ist die Ausführung dieser Funktion ist viel schneller, als wenn ein Feldname oder tabellenname.feldname angegeben wird.

Rückgabewerte

Gibt den Wert zurück, der in der übergebenen Zeile und Spalte des bezeichneten mSQL-Abfrageergebnisses steht.

msql_regcase
msql_select_db
mSQL-Funktionen


Wählt eine mSQL Datenbank aus

msql_result
msql_tablename
mSQL-Funktionen
PHP Manual

msql_select_db

(PHP 4, PHP 5, PHP 7)

msql_select_db — Wählt eine mSQL Datenbank aus

Beschreibung

bool msql_select_db ( string $database_name [, resource $link_identifier ] )

msql_select_db() wählt die aktuell aktive Datenbank auf dem Server aus, die mit der übergebenen link_identifier verknüpft ist.

Jeder nachfolgende Aufruf von msql_query() bezieht sich auf die aktive Datenbank.

Parameter-Liste

database_name

Der Name der Datenbank.

Verbindungskennung

Die mSQL-Verbindung. Wird keine Verbindungskennung angegeben, wird die letzte durch msql_connect() geöffnete Verbindung angenommen. Falls keine solche Verbindung gefunden wird, versucht die Funktion, eine Verbindung so aufzubauen, als wäre msql_connect() aufgerufen worden und verwendet diese.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • msql_connect() - Öffnet eine mSQL-Verbindung
  • msql_pconnect() - Öffnet eine persistente mSQL-Verbindung
  • msql_query() - Schickt eine mSQL-Abfrage zum Server

msql_result
msql_tablename
mSQL-Funktionen


Alias für msql_result

msql_select_db
msql
mSQL-Funktionen
PHP Manual

msql_tablename

(PHP 4, PHP 5, PHP 7)

msql_tablename — Alias für msql_result()

Beschreibung

Diese Funktion ist ein Alias für msql_result().

msql_select_db
msql
mSQL-Funktionen


Alias für msql_db_query

msql_tablename
Mssql
mSQL-Funktionen
PHP Manual

msql

(PHP 4, PHP 5, PHP 7)

msql — Alias für msql_db_query()

Beschreibung

Diese Funktion ist ein Alias für msql_db_query().

msql_tablename
Mssql
mSQL-Funktionen


Microsoft SQL Server

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Mssql-Funktionen
    • mssql_bind — Fügt einer Stored Procedure oder einer Remote Stored Procedure einen Parameter hinzu
    • mssql_close — Schließt die Verbindung zum MS SQL Server
    • mssql_connect — Baut eine Verbindung zum MS SQL Server auf
    • mssql_data_seek — Bewegt den internen Datensatzzeiger
    • mssql_execute — Führt eine Stored Procedure in einer MS SQL-Datenbank aus
    • mssql_fetch_array — Liefert einen Ergebnis-Datensatz als assoziatives Array, als numerisches Array oder beides
    • mssql_fetch_assoc — Liefert ein assoziatives Array des aktuellen Datensatzes aus dem Ergebnis, das durch die Ergebniskennung bestimmt ist
    • mssql_fetch_batch — Liefert den nächsten Stapel von Datensätzen
    • mssql_fetch_field — Liefert Informationen über ein Feld
    • mssql_fetch_object — Liefert einen Datensatz als Objekt
    • mssql_fetch_row — Liefert einen Datensatz als indiziertes Array
    • mssql_field_length — Liefert die Länge eines Feldes
    • mssql_field_name — Liefert den Namen eines Feldes
    • mssql_field_seek — Setzt einen Feld-Offset
    • mssql_field_type — Liefert den Typ eines Feldes
    • mssql_free_result — Gibt den Ergebnisspeicher frei
    • mssql_free_statement — Gibt den Anweisungsspeicher frei
    • mssql_get_last_message — Gibt die letzte Meldung des Servers zurück
    • mssql_guid_string — Wandelt eine binäre GUID mit 16 Bytes in eine Zeichenkette um
    • mssql_init — Initialisiert eine Stored Procedure oder eine Remote Stored Procedure
    • mssql_min_error_severity — Setzt die untere Fehlerschwelle
    • mssql_min_message_severity — Setzt die untere Schwelle für Meldungen
    • mssql_next_result — Bewegt den internen Ergebnis-Zeiger zum nächsten Ergebnis
    • mssql_num_fields — Liefert die Anzahl der Felder eines Ergebnisses
    • mssql_num_rows — Liefert die Anzahl der Datensätze eines Ergebnisses
    • mssql_pconnect — Baut eine persistente MS SQL Verbindung auf
    • mssql_query — Sendet eine MS SQL Anfrage
    • mssql_result — Liefert die bei einer Abfrage gefundenen Daten
    • mssql_rows_affected — Liefert die Anzahl der von einer Anfrage betroffenen Datensätze
    • mssql_select_db — Wählt eine MS SQL Datenbank aus
msql
Einführung
Anbieterspezifische Datenbankerweiterungen


Einführung

Diese Funktionen ermöglichen Ihnen den Zugriff auf den MS SQL-Datenbankserver.

Diese Erweiterung steht unter Windows ab PHP 5.3 nicht mehr zur Verfügung.

Microsoft stellt mit SQLSRV eine alternative Erweiterung für die Konnektivität von MS SQL zur Verfügung: » http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx.

Mssql
Installation/Konfiguration
Mssql


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Mssql


Anforderungen

Voraussetzungen für Win32-Plattformen.

Für die Erweiterung müssen die MS SQL Client Tools auf dem System installiert sein, auf dem PHP installiert ist. Die Client Tools können entweder von der MS SQL Server-CD oder durch kopieren der ntwdblib.dll von \winnt\system32 auf dem Server nach \winnt\system32 auf dem PHP-Rechner installiert werden. Mit dem Kopieren der ntwdblib.dll wird nur der Zugriff durch benannte Pipes (named pipes) unterstützt. Für die Konfiguration des Clients ist eine Installation aller Tools nötig.

Diese Erweiterung steht unter Windows ab PHP 5.3 nicht mehr zur Verfügung.

Microsoft stellt SQLSRV, einen alternativen Treiber für MS SQL, zur Verfügung: » http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx.

Voraussetzungen für Unix/Linux-Plattformen.

Um die MSSQL-Erweiterung unter Unix/Linux nutzen zu können, müssen Sie zuerst die FreeTDS-Bibliothek übersetzen und installieren. Quellcode und Installationsanleitung stehen auf der FreeTDS-Homepage zur Verfügung: » http://www.freetds.org/

Hinweis:

Unter Windows wird die DBLIB von Microsoft verwendet. Funktionen, die einen Feldnamen zurückgeben, basieren auf der DBLIB-Funktion dbcolname(). DBLIB wurde für den SQL Server 6.x entwickelt, bei dem die maximale Länge der Bezeichner bei 30 liegt. Aus diesem Grund ist die Länge von Feldern auf maximal 30 Zeichen begrenzt. Auf Plattformen, auf denen FreeTDS verwendet wird (Linux) gibt es dieses Problem nicht.

Hinweis:

Wenn unter Windows MSSQL 2005 oder höher verwendet wird, muss die ntwdblib.dll in das Verzeichnis kopiert werden, in das PHP installiert wurde und die dort bereits vorhandene Datei überschrieben werden. Das liegt daran, dass die mitgelieferte Verion alt und überholt ist. Alternativ kann die ODBC-, die PDO_DBLIB- oder die PDO_ODBC-Erweiterung verwendet werden, um MSSQL anzusprechen.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Die MSSQL-Erweiterung wird durch den Eintrag extension=php_mssql.dll in der php.ini aktiviert.

Damit diese Funktionen zur Verfügung stehen, müssen Sie PHP mit --with-mssql[=DIR] kompilieren, wobei DIR der Präfix der FreeTDS-Installation ist. Und FreeTDS muss mit --enable-msdblib kompiliert werden.

Warnung

Falls PHP mit der Sybase-Erweiterung und ohne die MS SQL-Erweiterung kompiliert wurde, sind MS SQL-Funktionen Alias für Sybase-Funktionen.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

MS SQL Server Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
mssql.allow_persistent | "1" | PHP_INI_SYSTEM |
mssql.max_persistent | "-1" | PHP_INI_SYSTEM |
mssql.max_links | "-1" | PHP_INI_SYSTEM |
mssql.min_error_severity | "10" | PHP_INI_ALL |
mssql.min_message_severity | "10" | PHP_INI_ALL |
mssql.compatability_mode | "0" | PHP_INI_ALL |
mssql.connect_timeout | "5" | PHP_INI_ALL |
mssql.timeout | "60" | PHP_INI_ALL | Seit PHP 4.1.0 verfügbar.
mssql.textsize | "-1" | PHP_INI_ALL |
mssql.textlimit | "-1" | PHP_INI_ALL |
mssql.batchsize | "0" | PHP_INI_ALL | Seit PHP 4.0.4 verfügbar.
mssql.datetimeconvert | "1" | PHP_INI_ALL | Seit PHP 4.2.0 verfügbar.
mssql.secure_connection | "0" | PHP_INI_SYSTEM | Seit PHP 4.3.0 verfügbar.
mssql.max_procs | "-1" | PHP_INI_ALL | Seit PHP 4.3.0 verfügbar.
mssql.charset | "" | PHP_INI_ALL | Seit PHP 5.1.2 verfügbar, wenn es mit FreeTDS 7.0 oder höher übersetzt wurde.
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Installation
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

mssql link

Eine Verbindungskennung, die von mssql_connect() und mssql_pconnect() zurückgegeben wird.

mssql result

Eine Ergebniskennung, die von mssql_query() bei SELECT-Anfragen zurückgegeben wird.

mssql statement

Ein Bezeichner einer Anweisung, der von mssql_init() zurückgegeben wird.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

MSSQL_ASSOC (integer)
Gibt ein assoziatives Array zurück. Wird bei mssql_fetch_array() als result_type-Parameter verwendet.
MSSQL_NUM (integer)
Gibt ein Array mit numerischen Schlüsseln zurück. Wird bei mssql_fetch_array() als result_type-Parameter verwendet.
MSSQL_BOTH (integer)
Gibt ein Array mit numerischen Schlüsseln und Schlüsseln mit den Feldnamen zurück. Dies ist der voreingestellte Wert für den result_type-Parameter von mssql_fetch_array().
SQLTEXT (integer)
Gibt den MSSQL-Typ 'TEXT' an, der bei mssql_bind() als type-Parameter verwendet wird.
SQLVARCHAR (integer)
Gibt den MSSQL-Typ 'VARCHAR' an, der bei mssql_bind() als type-Parameter verwendet wird.
SQLCHAR (integer)
Gibt den MSSQL-Typ 'CHAR' an, der bei mssql_bind() als type-Parameter verwendet wird.
SQLINT1 (integer)
Bedeutet ein Byte im Bereich von -128 bis 127.
SQLINT2 (integer)
Bedeutet zwei Bytes im Bereich von -32768 bis 32767.
SQLINT4 (integer)
Bedeutet vier Bytes im Bereich von -2147483648 bis 2147483647.
SQLBIT (integer)
Gibt den MSSQL-Typ 'BIT' an, der bei mssql_bind() als type-Parameter verwendet wird.
SQLFLT4 (integer)
Bedeutet eine vier Byte Gleitkommazahl.
SQLFLT8 (integer)
Bedeutet eine acht Byte Gleitkommazahl.
Ressource-Typen
Mssql-Funktionen
Mssql


Mssql-Funktionen

Inhaltsverzeichnis

  • mssql_bind — Fügt einer Stored Procedure oder einer Remote Stored Procedure einen Parameter hinzu
  • mssql_close — Schließt die Verbindung zum MS SQL Server
  • mssql_connect — Baut eine Verbindung zum MS SQL Server auf
  • mssql_data_seek — Bewegt den internen Datensatzzeiger
  • mssql_execute — Führt eine Stored Procedure in einer MS SQL-Datenbank aus
  • mssql_fetch_array — Liefert einen Ergebnis-Datensatz als assoziatives Array, als numerisches Array oder beides
  • mssql_fetch_assoc — Liefert ein assoziatives Array des aktuellen Datensatzes aus dem Ergebnis, das durch die Ergebniskennung bestimmt ist
  • mssql_fetch_batch — Liefert den nächsten Stapel von Datensätzen
  • mssql_fetch_field — Liefert Informationen über ein Feld
  • mssql_fetch_object — Liefert einen Datensatz als Objekt
  • mssql_fetch_row — Liefert einen Datensatz als indiziertes Array
  • mssql_field_length — Liefert die Länge eines Feldes
  • mssql_field_name — Liefert den Namen eines Feldes
  • mssql_field_seek — Setzt einen Feld-Offset
  • mssql_field_type — Liefert den Typ eines Feldes
  • mssql_free_result — Gibt den Ergebnisspeicher frei
  • mssql_free_statement — Gibt den Anweisungsspeicher frei
  • mssql_get_last_message — Gibt die letzte Meldung des Servers zurück
  • mssql_guid_string — Wandelt eine binäre GUID mit 16 Bytes in eine Zeichenkette um
  • mssql_init — Initialisiert eine Stored Procedure oder eine Remote Stored Procedure
  • mssql_min_error_severity — Setzt die untere Fehlerschwelle
  • mssql_min_message_severity — Setzt die untere Schwelle für Meldungen
  • mssql_next_result — Bewegt den internen Ergebnis-Zeiger zum nächsten Ergebnis
  • mssql_num_fields — Liefert die Anzahl der Felder eines Ergebnisses
  • mssql_num_rows — Liefert die Anzahl der Datensätze eines Ergebnisses
  • mssql_pconnect — Baut eine persistente MS SQL Verbindung auf
  • mssql_query — Sendet eine MS SQL Anfrage
  • mssql_result — Liefert die bei einer Abfrage gefundenen Daten
  • mssql_rows_affected — Liefert die Anzahl der von einer Anfrage betroffenen Datensätze
  • mssql_select_db — Wählt eine MS SQL Datenbank aus
Vordefinierte Konstanten
mssql_bind
Mssql


Fügt einer Stored Procedure oder einer Remote Stored Procedure einen Parameter hinzu

Mssql-Funktionen
mssql_close
Mssql-Funktionen
PHP Manual

mssql_bind

(PHP 4 >= 4.0.7, PHP 5, PECL odbtp >= 1.1.1)

mssql_bind — Fügt einer Stored Procedure oder einer Remote Stored Procedure einen Parameter hinzu

Beschreibung

bool mssql_bind ( resource $stmt , string $param_name , mixed &$var , int $type [, bool $is_output = false [, bool $is_null = false [, int $maxlen = -1 ]]] )

Fügt einer Stored Procedure oder einer Remote Stored Procedure einen Parameter hinzu.

Parameter-Liste

stmt

Der mittels mssql_init() erhaltene Bezeichner der Anweisung.

param_name

Der Name des Parameters als Zeichenkette

Hinweis:

Sie müssen das Zeichen @ der Syntax von T-SQL entsprechend einfügen. Eine Erklärung finden Sie bei mssql_execute().

var

Die PHP-Variable, an die Sie den MS SQL-Parameter binden. Sie wird als Referenz übergeben, um die OUTPUT- und RETVAL-Werte nach der Ausführung der Prozedur abzurufen.

type

Mögliche Werte: SQLTEXT, SQLVARCHAR, SQLCHAR, SQLINT1, SQLINT2, SQLINT4, SQLBIT, SQLFLT4, SQLFLT8, SQLFLTN.

is_output

Ob der Parameter ein OUTPUT-Parameter ist oder nicht. Falls er ein OUTPUT-Parameter ist uns Sie das nicht angeben, wird er wie ein normaler Eingabeparameter behandelt und es wird keine Fehlermeldung ausgegeben.

is_null

Ob der Parameter NULL ist oder nicht. Es genügt nicht, den Wert NULL als var zu übergeben.

maxlen

Wird bei char/varchar-Werten verwendet. Sie müssen die Länge der Daten angeben. Falls der Parameter vom Typ varchar(50) ist, muss also der type SQLVARCHAR und dieser Wert 50 sein.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 mssql_bind()-Beispiel

<?php
// Mit MSSQL verbinden und Datenbank auswählen
mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');

// Eine neue Stored Prodecure erzeugen
$anweisung = mssql_init('NeuerBenutzer');

// Die Feldnamen anbinden
mssql_bind($anweisung, '@username',  'Kalle',  SQLVARCHAR,  false,  false,  60);
mssql_bind($anweisung, '@name',      'Kalle',  SQLVARCHAR,  false,  false,  60);
mssql_bind($anweisung, '@age',       19,       SQLINT1,     false,  false,   3);

// Anweisung ausführen
mssql_execute($anweisung);

// Den Anweisungsspeicher freigeben
mssql_free_statement($anweisung);
?>

Siehe auch

  • mssql_execute() - Führt eine Stored Procedure in einer MS SQL-Datenbank aus
  • mssql_free_statement() - Gibt den Anweisungsspeicher frei
  • mssql_init() - Initialisiert eine Stored Procedure oder eine Remote Stored Procedure

Mssql-Funktionen
mssql_close
Mssql-Funktionen


Schließt die Verbindung zum MS SQL Server

mssql_bind
mssql_connect
Mssql-Funktionen
PHP Manual

mssql_close

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_close — Schließt die Verbindung zum MS SQL Server

Beschreibung

bool mssql_close ([ resource $link_identifier ] )

Schließt die Verbindung zu der MS SQL Server Datenbank, die zur angegebenen Verbindungskennung link_identifier gehört. Wenn keine Verbindungskennung angegeben wird, wird von der zuletzt geöffneten Verbindung ausgegangen.

Beachten Sie, dass dies normalerweise nicht nötig ist, weil nichtpersistente offene Verbindungen automatisch nach Ausführung des PHP-Skripts geschlossen werden.

Parameter-Liste

link_identifier

Der von mssql_connect() zurückgegebene Bezeichner einer MS SQL-Verbindung

Diese Funktion schließt keine mittels mssql_pconnect() aufgebauten persistenten Verbindungen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 mssql_close()-Beispiel

<?php
// Mit MSSQL verbinden
$verbindung = mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');

// Hier entsprechende Operationen durchführen

// Die Verbindung zu MSSQL trennen
mssql_close($verbindung);
?>

Siehe auch

  • mssql_connect() - Baut eine Verbindung zum MS SQL Server auf
  • mssql_pconnect() - Baut eine persistente MS SQL Verbindung auf

mssql_bind
mssql_connect
Mssql-Funktionen


Baut eine Verbindung zum MS SQL Server auf

mssql_close
mssql_data_seek
Mssql-Funktionen
PHP Manual

mssql_connect

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_connect — Baut eine Verbindung zum MS SQL Server auf

Beschreibung

resource mssql_connect ([ string $servername [, string $username [, string $password [, bool $new_link = false ]]]] )

mssql_connect() baut eine Verbindung zu einem MS SQL Server auf.

Die Verbindung zum Server wird geschlossen, sobald die Ausführung des Skripts abgeschlossen ist, wenn sie nicht schon vorher durch einen expliziten Aufruf von mssql_close() geschlossen wurde.

Parameter-Liste

servername

Der MS SQL-Server. Er kann auch eine Portnummer enthalten, z.B. hostname:port (Linux) oder hostname,port (Windows).

username

Der Benutzername

password

Das Passwort

new_link

Falls mssql_connect() zum zweiten Mal mit denselben Argumenten aufgerufen wird, wird keine neue Verbindung aufgebaut, sondern stattdessen die Verbindungskennung der bereits bestehenden Verbindung zurückgegeben. Mit diesem Parameter wird dieses Verhalten geändert, sodass mssql_connect() immer eine neue Verbindung aufbaut, auch wenn mssql_connect() zuvor schon mit denselben Parameter aufgerufen wurde.

Rückgabewerte

Gibt bei Erfolg eine MS SQL Verbindungskennung oder bei Auftreten eines Fehlers FALSE zurück.

Changelog

Version | Beschreibung
5.1.0 | Den Parameter new_link hinzugefügt

Beispiele

Beispiel #1 mssql_connect()-Beispiel

<?php
// Server in diesem Format: <computer>\<instance name> oder
// <server>,<port>, falls nicht der Standardport verwendet wird
$server = 'KALLESPC\SQLEXPRESS';

// Mit MSSQL verbinden
$verbindung = mssql_connect($server, 'sa', 'phpfi');

if (!$verbindung) {
    die('Beim Aufbau der Verbindung mit MSSQL ging etwas schief');
}
?>

Siehe auch

  • mssql_close() - Schließt die Verbindung zum MS SQL Server
  • mssql_pconnect() - Baut eine persistente MS SQL Verbindung auf

mssql_close
mssql_data_seek
Mssql-Funktionen


Bewegt den internen Datensatzzeiger

mssql_connect
mssql_execute
Mssql-Funktionen
PHP Manual

mssql_data_seek

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_data_seek — Bewegt den internen Datensatzzeiger

Beschreibung

bool mssql_data_seek ( resource $result_identifier , int $row_number )

mssql_data_seek() bewegt den internen Datensatzzeiger des mit der angegebenen Ergebniskennung result_identifier verbundenen Ergebnisses zur angegebenen Datensatznummer row_number, wobei der erste Datensatz die Nummer 0 hat. Beim nächsten Aufruf von mssql_fetch_row() wird nun dieser Datensatz zurückgeben.

Parameter-Liste

result_identifier

Der Bezeichner des Ergebnisses, das ausgewertet wird

row_number

Die gewünschte Zeilennummer des neuen Datensatzzeigers

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 mssql_data_seek()-Beispiel

<?php
// Mit MSSQL verbinden und Datenbank auswählen
$verbindung = mssql_connect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php', $verbindung);

// Leute auswählen
$anfrage = mssql_query('SELECT [name], [age] FROM [persons] WHERE [age] >= 13');

if (!$anfrage) {
    die('Die Anfrage schlug fehl.');
}

// Aus dem Ergebnis jeden vierten Schüler auswählen
for ($i = mssql_num_rows($anfrage) - 1; $i % 4; $i++) {
    if (!mssql_data_seek($anfrage, $i))
    {
        continue;
    }

    // Datensatz holen ...
}

// Den Ergebnisspeicher freigeben
mssql_free_result($anfrage);
?>

mssql_connect
mssql_execute
Mssql-Funktionen


Führt eine Stored Procedure in einer MS SQL-Datenbank aus

mssql_data_seek
mssql_fetch_array
Mssql-Funktionen
PHP Manual

mssql_execute

(PHP 4 >= 4.0.7, PHP 5, PECL odbtp >= 1.1.1)

mssql_execute — Führt eine Stored Procedure in einer MS SQL-Datenbank aus

Beschreibung

mixed mssql_execute ( resource $stmt [, bool $skip_results = false ] )

Führt eine Stored Procedure in einer MS SQL-Datenbank aus

Parameter-Liste

stmt

Der mittels mssql_init() erhaltene Bezeichner der Anweisung

skip_results

Bestimmt, ob die Ergebnisse übersprungen werden sollen oder nicht.

Beispiele

Beispiel #1 mssql_execute()-Beispiel

<?php
// Eine neue Anweisung erzeugen
$anweisung = mssql_init('NeuerBlogEintrag');

// Ein paar Daten
$titel = 'Test des Blogsystems';
$inhalt = 'Falls Sie das lesen können, ist das neue System mit MSSQL kompatibel';

// Werte anbinden
mssql_bind($anweisung, '@autor',   'Felipe Pena',  SQLVARCHAR,  false,  false,  60);
mssql_bind($anweisung, '@datum',   '08/10/2008',   SQLVARCHAR,  false,  false,  20);
mssql_bind($anweisung, '@titel',   $title,         SQLVARCHAR,  false,  false,  60);
mssql_bind($anweisung, '@inhalt',  $content,       SQLTEXT);

// Anweisung ausführen
mssql_execute($anweisung);

// Und so kann der Anweisungsspeicher freigegeben werden:
mssql_free_statement($anweisung);
?>

Anmerkungen

Hinweis:

Wenn die Stored Procedure Parameter oder einen Rückgabewert liefert, stehen diese nach dem Aufruf von mssql_execute() zur Verfügung, falls die Stored Procedure nicht mehr als einen Ergebnisdatensatz liefert. Benutzen Sie in diesem Fall mssql_next_result(), um durch die Ergebnisse zu blättern. Nachdem das letzte Ergebnis verarbeitet wurde, stehen die Ausgabeparameter und Rückgabewerte zur Verfügung.

Siehe auch

  • mssql_bind() - Fügt einer Stored Procedure oder einer Remote Stored Procedure einen Parameter hinzu
  • mssql_free_statement() - Gibt den Anweisungsspeicher frei
  • mssql_init() - Initialisiert eine Stored Procedure oder eine Remote Stored Procedure

mssql_data_seek
mssql_fetch_array
Mssql-Funktionen


Liefert einen Ergebnis-Datensatz als assoziatives Array, als numerisches Array oder beides

mssql_execute
mssql_fetch_assoc
Mssql-Funktionen
PHP Manual

mssql_fetch_array

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_fetch_array — Liefert einen Ergebnis-Datensatz als assoziatives Array, als numerisches Array oder beides

Beschreibung

array mssql_fetch_array ( resource $result [, int $result_type = MSSQL_BOTH ] )

mssql_fetch_array() ist die erweiterte Version von mssql_fetch_row(). Zusätzlich zum Speichern der Daten in den numerischen Indizes des Ergebnisarrays, speichert sie die Daten unter Verwendung der Feldnamen als Schlüssel auch in assoziativen Indizes.

Wichtige Anmerkung: die Verwendung von mssql_fetch_array() ist nur unwesentlich langsamer als die Verwendung von mssql_fetch_row(), bietet aber wesentlich mehr.

Parameter-Liste

result

Der Bezeichner des Ergebnisses, das ausgewertet wird. Dieses Ergebnis stammt von einem Aufruf von mssql_query().

result_type

Der Typ des Arrays, das abgerufen werden soll. Er ist eine Konstante, der die folgenden Werte annehmen kann: MSSQL_ASSOC, MSSQL_NUM und MSSQL_BOTH.

Rückgabewerte

Gibt ein Array mit dem gelieferten Datensatz zurück oder FALSE, wenn es keinen weiteren Datensatz gibt.

Beispiele

Beispiel #1 mssql_fetch_array()-Beispiel

<?php
// Eine Select-Anfrage an MSSQL senden
$anfrage = mssql_query('SELECT [username], [name] FROM [php].[dbo].[userlist]');

// Überprüfen, ob es Datensätze gab
if (!mssql_num_rows($anfrage)) {
    echo 'Keine Datensätze gefunden';
} else {
    // Folgendes ist mit dem Code darunter identisch:
    //
    // while ($datensatz = mssql_fetch_row($anfrage))

    while ($datensatz = mssql_fetch_array($anfrage, MSSQL_NUM)) {
        // ...
    }
}

// Den Ergebnisspeicher freigeben
mssql_free_result($anfrage);
?>

Anmerkungen

Hinweis: Feldnamen, die von dieser Funktion zurückgegeben werden, unterscheiden sich in der Groß-/Kleinschreibung.

Hinweis: Diese Funktion setzt NULL-Felder auf den PHP Wert-NULL.

Siehe auch

  • mssql_fetch_row() - Liefert einen Datensatz als indiziertes Array

mssql_execute
mssql_fetch_assoc
Mssql-Funktionen


Liefert ein assoziatives Array des aktuellen Datensatzes aus dem Ergebnis, das durch die Ergebniskennung bestimmt ist

mssql_fetch_array
mssql_fetch_batch
Mssql-Funktionen
PHP Manual

mssql_fetch_assoc

(PHP 4 >= 4.2.0, PHP 5, PECL odbtp >= 1.1.1)

mssql_fetch_assoc — Liefert ein assoziatives Array des aktuellen Datensatzes aus dem Ergebnis, das durch die Ergebniskennung bestimmt ist

Beschreibung

array mssql_fetch_assoc ( resource $result_id )

Gibt ein assoziatives Array mit dem abgerufenen Datensatz zurück und rückt den internen Datenzeiger weiter. mssql_fetch_assoc() entspricht dem Aufruf von mssql_fetch_array() mit MSSQL_ASSOC als optionalem zweitem Parameter.

Parameter-Liste

result_id

Der Bezeichner des Ergebnisses, das ausgewertet wird. Dieses Ergebnis stammt von einem Aufruf von mssql_query().

Rückgabewerte

Gibt ein assoziatives Array mit dem gelieferten Datensatz zurück oder FALSE, wenn es keinen weiteren Datensatz gibt.

Beispiele

Beispiel #1 mssql_fetch_assoc()-Beispiel

<?php
// Eine Select-Anfrage an MSSQL senden
$anfrage = mssql_query('SELECT [username], [name] FROM [php].[dbo].[userlist]');

// Überprüfen, ob es Datensätze gab
if (!mssql_num_rows($anfrage)) {
    echo 'Keine Datensätze gefunden';
} else {
    // Eine Liste der Benutzer in folgendem Format ausgeben:
    // * name (username)

    echo '<ul>';

    while ($datensatz = mssql_fetch_assoc($anfrage)) {
        echo '<li>' . $datensatz['name'] . ' (' . $datensatz['username'] . ')</li>';
    }

    echo '</ul>';
}

// Den Ergebnisspeicher freigeben
mssql_free_result($anfrage);
?>

mssql_fetch_array
mssql_fetch_batch
Mssql-Funktionen


Liefert den nächsten Stapel von Datensätzen

mssql_fetch_assoc
mssql_fetch_field
Mssql-Funktionen
PHP Manual

mssql_fetch_batch

(PHP 4 >= 4.0.4, PHP 5, PECL odbtp >= 1.1.1)

mssql_fetch_batch — Liefert den nächsten Stapel von Datensätzen

Beschreibung

int mssql_fetch_batch ( resource $result )

Gibt den nächsten Stapel von Datensätzen zurück.

Parameter-Liste

result

Der Bezeichner des Ergebnisses, das ausgewertet wird. Dieses Ergebnis stammt von einem Aufruf von mssql_query().

Rückgabewerte

Gibt die Anzahl der Datensätze im zurückgegeben Stapel zurück.

Beispiele

Beispiel #1 mssql_fetch_batch()-Beispiel

<?php
// Mit MSSQL verbinden und Datenbank auswählen
$verbindung = mssql_connect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php', $verbindung);

// Eine Anfrage senden
$anfrage = mssql_query('SELECT * FROM [php].[dbo].[people]', $verbindung, 100);
$datensaetze = 10;

while ($datensaetze >= 0) {
    while ($datensatz = mssql_fetch_assoc($anfrage)) {
        // Tue irgendwas ...
    }

    --$datensaetze;
}

if ($stapelgroesse = mssql_fetch_batch($anfrage)) {
    // $stapelgroesse ist die Anzahl der restlichen Datensätze aus der
    // Anfrage, die oben nicht angezeigt wurden
}
?>

mssql_fetch_assoc
mssql_fetch_field
Mssql-Funktionen


Liefert Informationen über ein Feld

mssql_fetch_batch
mssql_fetch_object
Mssql-Funktionen
PHP Manual

mssql_fetch_field

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_fetch_field — Liefert Informationen über ein Feld

Beschreibung

object mssql_fetch_field ( resource $result [, int $field_offset = -1 ] )

mssql_fetch_field() wird verwendet, um im Ergebnis einer Anfrage Informationen über Felder zu erhalten.

Parameter-Liste

result

Der Bezeichner des Ergebnisses, das ausgewertet wird. Dieses Ergebnis stammt von einem Aufruf von mssql_query().

field_offset

Der numerische Feld-Offset. Wurde kein Feld-Offset angegeben, liefert diese Funktion das nächste Feld, das noch nicht abgefragt wurde. Der field_offset beginnt bei Null.

Rückgabewerte

Gibt ein Objekt mit Informationen über ein Feld zurück.

Die Eigenschaften dieses Objekts sind:

  • name - Feldname. Wenn das Feld das Ergebnis einer Funktion ist, wird diese Eigenschaft auf computed#N gesetzt, wobei #N eine fortlaufende Nummer ist.
  • column_source - die Tabelle, zu der das Feld gehört
  • max_length - maximale Feldbreite
  • numeric - 1, wenn es sich um ein numerisches Feld handelt
  • type - der Feldtyp.

Beispiele

Beispiel #1 mssql_fetch_field()-Beispiel

<?php
// Mit MSSQL verbinden und Datenbank auswählen
mssql_connect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');

// Eine Select-Anfrage an MSSQL senden
$anfrage = mssql_query('SELECT * FROM [php].[dbo].[persons]');

// Eine Tabelle bauen
echo '<h3>Tabellenstruktur für \'persons\'</h3>';
echo '<table border="1">';

// Tabellenkopf
echo '<thead>';
echo '<tr>';
echo '<td>Feldname</td>';
echo '<td>Datentyp</td>';
echo '<td>Max. Länge</td>';
echo '</tr>';
echo '</thead>';

// Alle Felder anzeigen
echo '<tbody>';

for ($i = 0; $i < mssql_num_fields($anfrage); ++$i) {
    // Feldinformationen abrufen
    $feld = mssql_fetch_field($anfrage, $i);

    // Eine Zeile ausgeben
    echo '<tr>';
    echo '<td>' . $feld->name . '</td>';
    echo '<td>' . strtoupper($feld->type) . '</td>';
    echo '<td>' . $feld->max_length . '</td>';
    echo '</tr>';
}

echo '</tbody>';
echo '</table>';

// Den Ergebnisspeicher freigeben
mssql_free_result($anfrage);
?>

Siehe auch

  • mssql_field_seek() - Setzt einen Feld-Offset

mssql_fetch_batch
mssql_fetch_object
Mssql-Funktionen


Liefert einen Datensatz als Objekt

mssql_fetch_field
mssql_fetch_row
Mssql-Funktionen
PHP Manual

mssql_fetch_object

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_fetch_object — Liefert einen Datensatz als Objekt

Beschreibung

object mssql_fetch_object ( resource $result )

mssql_fetch_object() ist mssql_fetch_array() ähnlich, aber es besteht ein Unterschied: statt eines Arrays wird ein Objekt zurückgegeben. Indirekt bedeutet das, dass nur über die Feldnamen auf die Daten zugegriffen werden kann, nicht aber über ihre Offsets (Zahlen sind als Namen von Eigenschaften nicht erlaubt).

Was die Geschwindigkeit betrifft, ist diese Funktion mit mssql_fetch_array() identisch und fast genauso schnell wie mssql_fetch_row() (der Unterschied ist unbedeutend).

Parameter-Liste

result

Der Bezeichner des Ergebnisses, das ausgewertet wird. Dieses Ergebnis stammt von einem Aufruf von mssql_query().

Rückgabewerte

Gibt ein Objekt mit den Eigenschaften des gelieferten Datensatzes zurück oder FALSE, wenn es keinen weiteren Datensatz gibt.

Beispiele

Beispiel #1 mssql_fetch_object()-Beispiel

<?php
// Eine Select-Anfrage an MSSQL senden
$anfrage = mssql_query('SELECT [username], [name] FROM [php].[dbo].[userlist]');

// Überprüfen, ob es Datensätze gab
if (!mssql_num_rows($anfrage)) {
    echo 'Keine Datensätze gefunden';
} else {
    // Eine Liste der Benutzer in folgendem Format ausgeben:
    // * name (username)

    echo '<ul>';

    while ($datensatz = mssql_fetch_object($anfrage)) {
        echo '<li>' . $datensatz->name . ' (' . $datensatz->username . ')</li>';
    }

    echo '</ul>';
}

// Den Ergebnisspeicher freigeben
mssql_free_result($anfrage);
?>

Anmerkungen

Hinweis: Feldnamen, die von dieser Funktion zurückgegeben werden, unterscheiden sich in der Groß-/Kleinschreibung.

Hinweis: Diese Funktion setzt NULL-Felder auf den PHP Wert-NULL.

Siehe auch

  • mssql_fetch_array() - Liefert einen Ergebnis-Datensatz als assoziatives Array, als numerisches Array oder beides
  • mssql_fetch_row() - Liefert einen Datensatz als indiziertes Array

mssql_fetch_field
mssql_fetch_row
Mssql-Funktionen


Liefert einen Datensatz als indiziertes Array

mssql_fetch_object
mssql_field_length
Mssql-Funktionen
PHP Manual

mssql_fetch_row

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_fetch_row — Liefert einen Datensatz als indiziertes Array

Beschreibung

array mssql_fetch_row ( resource $result )

mssql_fetch_row() liefert einen Datensatz von dem Ergebnis, das zur angegebenen Ergebniskennung result gehört. Der Datensatz wird als Array zurückgegeben. Jedes Feld des Ergebnisses wird in einem Array-Offset gespeichert, der bei Offset 0 beginnt.

Ein nachfolgender Aufruf von mssql_fetch_row() gibt den nächsten Datensatz aus dem Ergebnis zurück oder FALSE, wenn es keine weiteren Datensätze gibt.

Parameter-Liste

result

Der Bezeichner des Ergebnisses, das ausgewertet wird. Dieses Ergebnis stammt von einem Aufruf von mssql_query().

Rückgabewerte

Gibt ein Array mit dem gelieferten Datensatz zurück oder FALSE, wenn es keinen weiteren Datensatz gibt.

Beispiele

Beispiel #1 mssql_fetch_row()-Beispiel

<?php
// Mit MSSQL verbinden und Datenbank auswählen
$verbindung = mssql_connect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php', $verbindung);

// Die auszuführende Anfrage
$anfrage = mssql_query('SELECT [id], [quote] FROM [quotes] WHERE [id] = \'42\'', $verbindung);

// Schlug die Anfrage fehl?
if (!$anfrage) {
    die('MSSQL-Fehler: ' . mssql_get_last_message());
}

// Den Datensatz abrufen
$datensatz = mssql_fetch_row($anfrage);

// 'quote' ausgeben
echo 'Zitat #' . $datensatz[0] . ': "' . $datensatz[1] . '"';
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Zitat #42: "Die Antwort auf alles..."

Anmerkungen

Hinweis: Diese Funktion setzt NULL-Felder auf den PHP Wert-NULL.

Siehe auch

  • mssql_fetch_array() - Liefert einen Ergebnis-Datensatz als assoziatives Array, als numerisches Array oder beides
  • mssql_fetch_object() - Liefert einen Datensatz als Objekt
  • mssql_data_seek() - Bewegt den internen Datensatzzeiger
  • mssql_result() - Liefert die bei einer Abfrage gefundenen Daten

mssql_fetch_object
mssql_field_length
Mssql-Funktionen


Liefert die Länge eines Feldes

mssql_fetch_row
mssql_field_name
Mssql-Funktionen
PHP Manual

mssql_field_length

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_field_length — Liefert die Länge eines Feldes

Beschreibung

int mssql_field_length ( resource $result [, int $offset = -1 ] )

Gibt die Länge des Feldes Nr. offset aus result zurück.

Parameter-Liste

result

Der Bezeichner des Ergebnisses, das ausgewertet wird. Dieses Ergebnis stammt von einem Aufruf von mssql_query().

offset

Der Offset des Feldes, beginnend bei 0. Falls er nicht angegeben wurde, wird das aktuelle Feld verwendet.

Rückgabewerte

Gibt die Länge des angegebenen Feldes zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 mssql_field_length()-Beispiel

<?php
// Mit MSSQL verbinden und Datenbank auswählen
mssql_connect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');

// Eine select-Anfrage an MSSQL senden
$anfrage = mssql_query('SELECT [name], [age] FROM [php].[dbo].[persons]');

// Feldlänge ausgeben
echo 'Das Feld \'age\' hat die Datenlänge ' .
      mssql_field_length($anfrage, 1);

// Den Ergebnisspeicher freigeben
mssql_free_result($anfrage);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Das Feld 'age' hat die Datenlänge 4

Anmerkungen

Hinweis: Anmerkung für Windows-Benutzer

Wegen einer Einschränkung der von PHP verwendeten zugrundeliegenden API (MS DBLib C API) ist die Länge von VARCHAR-Feldern auf 255 begrenzt. Verwenden Sie stattdessen ein TEXT-Feld, wenn Sie mehr Daten speichern wollen.

Siehe auch

  • mssql_field_name() - Liefert den Namen eines Feldes
  • mssql_field_type() - Liefert den Typ eines Feldes

mssql_fetch_row
mssql_field_name
Mssql-Funktionen


Liefert den Namen eines Feldes

mssql_field_length
mssql_field_seek
Mssql-Funktionen
PHP Manual

mssql_field_name

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_field_name — Liefert den Namen eines Feldes

Beschreibung

string mssql_field_name ( resource $result [, int $offset = -1 ] )

Gibt den Namen des Feldes Nr. offset aus result zurück.

Parameter-Liste

result

Der Bezeichner des Ergebnisses, das ausgewertet wird. Dieses Ergebnis stammt von einem Aufruf von mssql_query().

offset

Der Offset des Feldes, beginnend bei 0. Falls er nicht angegeben wurde, wird das aktuelle Feld verwendet.

Rückgabewerte

Gibt den Namen des angegebenen Feldes zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 mssql_field_name()-Beispiel

<?php
// Eine select-Anfrage an MSSQL senden
$anfrage = mssql_query('SELECT [username], [name], [email] FROM [php].[dbo].[userlist]');

echo 'Das Ergebnis enthält die folgenden Felder:', PHP_EOL;

// Alle Feldnamen aus dem Ergebnis auflisten
for ($i = 0; $i < mssql_num_fields($anfrage); ++$i) {
    echo ' - ' . mssql_field_name($anfrage, $i), PHP_EOL;
}

// Den Ergebnisspeicher freigeben
mssql_free_result($anfrage);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Das Ergebnis enthält die folgenden Felder:
 - username
 - name
 - email

Siehe auch

  • mssql_field_length() - Liefert die Länge eines Feldes
  • mssql_field_type() - Liefert den Typ eines Feldes

mssql_field_length
mssql_field_seek
Mssql-Funktionen


Setzt einen Feld-Offset

mssql_field_name
mssql_field_type
Mssql-Funktionen
PHP Manual

mssql_field_seek

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_field_seek — Setzt einen Feld-Offset

Beschreibung

bool mssql_field_seek ( resource $result , int $field_offset )

Sucht bis zum angegebenen field_offset. Wenn der nächste Aufruf von mssql_fetch_field() keinen Feld-Offset enthält, wird dieses Feld zurückgegeben.

Parameter-Liste

result

Der Bezeichner des Ergebnisses, das ausgewertet wird. Dieses Ergebnis stammt von einem Aufruf von mssql_query().

field_offset

Der Offset des Feldes, beginnend bei 0

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Die Verwendung von mssql_field_seek() im Beispiel für mssql_fetch_field()

<?php
// Mit MSSQL verbinden und Datenbank auswählen
mssql_connect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');

// Eine Select-Anfrage an MSSQL senden
$anfrage = mssql_query('SELECT * FROM [php].[dbo].[persons]');

// Eine Tabelle bauen
echo '<h3>Tabellenstruktur für \'persons\'</h3>';
echo '<table border="1">';

// Tabellenkopf
echo '<thead>';
echo '<tr>';
echo '<td>Feldname</td>';
echo '<td>Datentyp</td>';
echo '<td>Max. Länge</td>';
echo '</tr>';
echo '</thead>';

// Alle Felder anzeigen
echo '<tbody>';

for ($i = 0; $i < mssql_num_fields($anfrage); ++$i) {
    // Feldinformationen abrufen; beachten Sie: der
    // Parameter field_offset ist nicht gesetzt.
    // Siehe Aufruf von mssql_field_seek weiter unten.
    $feld = mssql_fetch_field($anfrage);

    // Eine Zeile ausgeben
    echo '<tr>';
    echo '<td>' . $field->name . '</td>';
    echo '<td>' . strtoupper($field->type) . '</td>';
    echo '<td>' . $field->max_length . '</td>';
    echo '</tr>';

    // Den internen Suchzeiger zum nächsten
    // Datensatz des Ergebnisses verschieben
    mssql_field_seek($anfrage, $i + 1);
}

echo '</tbody>';
echo '</table>';

// Den Ergebnisspeicher freigeben
mssql_free_result($anfrage);
?>

Siehe auch

  • mssql_fetch_field() - Liefert Informationen über ein Feld

mssql_field_name
mssql_field_type
Mssql-Funktionen


Liefert den Typ eines Feldes

mssql_field_seek
mssql_free_result
Mssql-Funktionen
PHP Manual

mssql_field_type

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_field_type — Liefert den Typ eines Feldes

Beschreibung

string mssql_field_type ( resource $result [, int $offset = -1 ] )

Gibt den Typ des Feldes Nr. offset aus result zurück.

Parameter-Liste

result

Der Bezeichner des Ergebnisses, das ausgewertet wird. Dieses Ergebnis stammt von einem Aufruf von mssql_query().

offset

Der Offset des Feldes, beginnend bei 0. Falls er nicht angegeben wurde, wird das aktuelle Feld verwendet.

Rückgabewerte

Gibt den Typ des angegebenen Feldes zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 mssql_field_type()-Beispiel

<?php
// Mit MSSQL verbinden und Datenbank auswählen
mssql_connect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');

// Eine select-Anfrage an MSSQL senden
$anfrage = mssql_query('SELECT [name] FROM [php].[dbo].[persons]');

// Feldtyp und -länge ausgeben
echo '\'' . mssql_field_name($anfrage, 0) . '\' ist vom Typ ' .
      strtoupper(mssql_field_type($anfrage, 0)) .
      '(' . mssql_field_length($anfrage, 0) . ')';

// Den Ergebnisspeicher freigeben
mssql_free_result($anfrage);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

'name' ist vom Typ CHAR(50)

Siehe auch

  • mssql_field_length() - Liefert die Länge eines Feldes
  • mssql_field_name() - Liefert den Namen eines Feldes

mssql_field_seek
mssql_free_result
Mssql-Funktionen


Gibt den Ergebnisspeicher frei

mssql_field_type
mssql_free_statement
Mssql-Funktionen
PHP Manual

mssql_free_result

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_free_result — Gibt den Ergebnisspeicher frei

Beschreibung

bool mssql_free_result ( resource $result )

mssql_free_result() brauchen Sie nur aufrufen, wenn Sie sich über zu großen Speicherbedarf zur Laufzeit ihres Skripts Sorgen machen. Der Ergebnisspeicher wird automatisch bei Beendigung des Skripts freigegeben. Sie können mssql_free_result() mit der Ergebniskennung result als Argument aufrufen und damit den zugehörigen Ergebnisspeicher freigeben.

Parameter-Liste

result

Der Bezeichner des Ergebnisses, das freigegeben werden soll. Diese Ergebniskennung stammt von einem Aufruf von mssql_query().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 mssql_free_result()-Beispiel

<?php
// Ein paar Daten aus einer Tabelle auswählen
$anfrage = mssql_query('SELECT * FROM [php].[dbo].[persons]', $verbindung);

// Hier das Abfrageergebnis verarbeiten

// Wenn alles erledigt ist, den Ergebnisspeicher durch den Aufruf von
// mssql_free_result freigeben:
mssql_free_result($anfrage);
?>

Siehe auch

  • mssql_free_statement() - Gibt den Anweisungsspeicher frei

mssql_field_type
mssql_free_statement
Mssql-Funktionen


Gibt den Anweisungsspeicher frei

mssql_free_result
mssql_get_last_message
Mssql-Funktionen
PHP Manual

mssql_free_statement

(PHP 4 >= 4.3.2, PHP 5, PECL odbtp >= 1.1.1)

mssql_free_statement — Gibt den Anweisungsspeicher frei

Beschreibung

bool mssql_free_statement ( resource $stmt )

mssql_free_statement() braucht nur aufgerufen zu werden, wenn Sie befürchten, dass zur Laufzeit Ihres Skripts zu viel Speicher belegt wird. Der gesamte Anweisungsspeicher wird nach Beendigung des Skripts automatisch freigegeben. Wenn Sie mssql_free_statement() zusammen mit der Anweisungskennung als Argument aufrufen, wird der damit verbundene Anweisungsspeicher freigegeben.

Parameter-Liste

stmt

Der mittels mssql_init() erhaltene Bezeichner der Anweisung

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 mssql_free_statement()-Beispiel

<?php
// Eine neue Anweisung erzeugen
$anweisung = mssql_init('test');

// Hier Werte anbinden und die Anweisung ausführen

// Nachdem alles erledigt ist, den Speicher
// mittels mssql_free_statement freigeben:
mssql_free_statement($anweisung);
?>

Siehe auch

  • mssql_bind() - Fügt einer Stored Procedure oder einer Remote Stored Procedure einen Parameter hinzu
  • mssql_execute() - Führt eine Stored Procedure in einer MS SQL-Datenbank aus
  • mssql_init() - Initialisiert eine Stored Procedure oder eine Remote Stored Procedure
  • mssql_free_result() - Gibt den Ergebnisspeicher frei

mssql_free_result
mssql_get_last_message
Mssql-Funktionen


Gibt die letzte Meldung des Servers zurück

mssql_free_statement
mssql_guid_string
Mssql-Funktionen
PHP Manual

mssql_get_last_message

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_get_last_message — Gibt die letzte Meldung des Servers zurück

Beschreibung

string mssql_get_last_message ( void )

Liefert die letzte Meldung des MSSQL-Servers.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt die letzte Meldung des Servers zurück oder eine leere Zeichenkette, falls von MSSQL keine Meldungen zurückgegeben wurden.

Beispiele

Beispiel #1 mssql_get_last_message()-Beispiel

<?php
// Mit MSSQL verbinden und Datenbank auswählen
mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');

// Eine Anfrage senden, die fehlschlägt
$anfrage = @mssql_query('SELECT * FROM [php].[dbo].[not-found]');

if (!$anfrage) {
    // Die Anfrage schlug fehl; mittels mssql_get_last_message()
    // eine Fehlermeldung ausgeben
    die('MSSQL-Fehler: ' . mssql_get_last_message());
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

MSSQL-Fehler: Invalid object name 'php.dbo.not-found'.

Siehe auch

  • mssql_min_error_severity() - Setzt die untere Fehlerschwelle
  • mssql_min_message_severity() - Setzt die untere Schwelle für Meldungen

mssql_free_statement
mssql_guid_string
Mssql-Funktionen


Wandelt eine binäre GUID mit 16 Bytes in eine Zeichenkette um

mssql_get_last_message
mssql_init
Mssql-Funktionen
PHP Manual

mssql_guid_string

(PHP 4 >= 4.0.7, PHP 5, PECL odbtp >= 1.1.1)

mssql_guid_string — Wandelt eine binäre GUID mit 16 Bytes in eine Zeichenkette um

Beschreibung

string mssql_guid_string ( string $binary [, bool $short_format = false ] )

Wandelt eine binäre GUID mit 16 Bytes in eine Zeichenkette um.

Parameter-Liste

binary

Eine binäre GUID mit 16 Bytes.

short_format

Bestimmt, ob das Kurzformat verwendet werden soll.

Rückgabewerte

Gibt bei Erfolg die umgewandelte Zeichenkette zurück.

Beispiele

Beispiel #1 mssql_guid_string()-Beispiel

<?php
$binaer = '19555081977808608437941339997619274330352755554827939936';

var_dump(mssql_guid_string($binaer));
var_dump(mssql_guid_string($binaer, true));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(36) "35353931-3035-3138-3937-373830383630"
string(32) "31393535353038313937373830383630"

mssql_get_last_message
mssql_init
Mssql-Funktionen


Initialisiert eine Stored Procedure oder eine Remote Stored Procedure

mssql_guid_string
mssql_min_error_severity
Mssql-Funktionen
PHP Manual

mssql_init

(PHP 4 >= 4.0.7, PHP 5, PECL odbtp >= 1.1.1)

mssql_init — Initialisiert eine Stored Procedure oder eine Remote Stored Procedure

Beschreibung

resource mssql_init ( string $sp_name [, resource $link_identifier ] )

Initialisiert eine Stored Procedure oder eine Remote Stored Procedure.

Parameter-Liste

sp_name

Stored Procedure-Name wie z.B. ownew.sp_name oder otherdb.owner.sp_name.

link_identifier

Der von mssql_connect() zurückgegebene Bezeichner einer MS SQL-Verbindung.

Rückgabewerte

Gibt den Bezeichner einer Anweisung zurück, der in nachfolgenden Aufrufen von mssql_bind() und mssql_execute() verwendet wird oder FALSE, falls ein Fehler auftrat.

Beispiele

Beispiel #1 mssql_init()-Beispiel

<?php
// Mit MSSQL verbinden und Datenbank auswählen
$verbindung = mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php', $verbindung);

// Eine neue Anweisung erzeugen
$anweisung = mssql_init('AnweisungTest', $verbindung);

// Hier Werte anbinden

// Wenn die Werte angebunden sind, wird die Anweisung
// mittels mssql_execute ausgeführt:
mssql_execute($anweisung);

// Und so kann der Anweisungsspeicher freigegeben werden:
mssql_free_statement($anweisung);
?>

Siehe auch

  • mssql_bind() - Fügt einer Stored Procedure oder einer Remote Stored Procedure einen Parameter hinzu
  • mssql_execute() - Führt eine Stored Procedure in einer MS SQL-Datenbank aus
  • mssql_free_statement() - Gibt den Anweisungsspeicher frei

mssql_guid_string
mssql_min_error_severity
Mssql-Funktionen


Setzt die untere Fehlerschwelle

mssql_init
mssql_min_message_severity
Mssql-Funktionen
PHP Manual

mssql_min_error_severity

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_min_error_severity — Setzt die untere Fehlerschwelle

Beschreibung

void mssql_min_error_severity ( int $severity )

Setzt die untere Fehlerschwelle.

Parameter-Liste

severity

Die neue Fehlerschwelle.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 mssql_min_error_severity()-Beispiel

<?php
// Mit MSSQL verbinden und Datenbank auswählen
mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');

// Die untere Fehlerschwelle auf einen Wert größer oder gleich 1
// setzen, sodass keine SQL-Syntaxfehler enthalten sind.
mssql_min_error_severity(1);

// Eine Anfrage senden, bei der klar ist, dass sie einen
// Syntaxfehler hervorruft. In diesem Fall werden Feld- und
// Tabellennamen in Anführungsstriche gesetzt statt in
// eckige Klammern.
$anfrage = mssql_query('SELECT `syntax`, `error` FROM `MSSQL`');

if (!$anfrage) {
    // Benutzerdefinierte Fehlerbehandlung ...
}
?>

mssql_init
mssql_min_message_severity
Mssql-Funktionen


Setzt die untere Schwelle für Meldungen

mssql_min_error_severity
mssql_next_result
Mssql-Funktionen
PHP Manual

mssql_min_message_severity

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_min_message_severity — Setzt die untere Schwelle für Meldungen

Beschreibung

void mssql_min_message_severity ( int $severity )

Setzt die untere Schwelle für Meldungen.

Parameter-Liste

severity

Die neue Schwelle für Meldungen.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 mssql_min_message_severity()-Beispiel

<?php
// Mit MSSQL verbinden
mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');

// Die untere Schwelle für Meldungen auf 17 setzen
// Damit werden keine Meldungen angezeigt, die von der
// zu Grunde liegenden API ausgegeben werden, wenn eine
// nicht vorhandene Datenbank ausgewählt wird
mssql_min_message_severity(17);

// Eine nicht vorhandene Datenbank auswählen
mssql_select_db('DIESE_DATENBANK_GIBT_ES_NICHT');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

mssql_select_db(): Unable to select database:  DIESE_DATENBANK_GIBT_ES_NICHT

mssql_min_error_severity
mssql_next_result
Mssql-Funktionen


Bewegt den internen Ergebnis-Zeiger zum nächsten Ergebnis

mssql_min_message_severity
mssql_num_fields
Mssql-Funktionen
PHP Manual

mssql_next_result

(PHP 4 >= 4.0.5, PHP 5, PECL odbtp >= 1.1.1)

mssql_next_result — Bewegt den internen Ergebnis-Zeiger zum nächsten Ergebnis

Beschreibung

bool mssql_next_result ( resource $result_id )

Wird mehr als eine SQL-Anweisung an den Server geschickt oder eine Stored Procedure mit mehreren Ergebnissen ausgeführt, dann liefert der Server mehrere Ergebnisse. Diese Funktion prüft, ob vom Server noch weitere Ergebnisse angeboten werden. Wenn es ein weiteres Ergebnis gibt, gibt sie das existierende Ergebnis frei und bereitet das nächste Ergebnis vor.

Parameter-Liste

result_id

Der Bezeichner des Ergebnisses, das ausgewertet wird. Dieses Ergebnis stammt von einem Aufruf von mssql_query().

Rückgabewerte

Gibt TRUE zurück, falls ein weiteres Ergebnis vorliegt, andernfalls FALSE.

Beispiele

Beispiel #1 mssql_next_result()-Beispiel

<?php
// Mit MSSQL verbinden und Datenbank auswählen
$verbindung = mssql_connect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php', $verbindung);

// Eine Anfrage an MSSQL senden
$sql = 'SELECT [name], [age] FROM [php].[dbo].[persons]';
$anfrage = mssql_query($sql, $verbindung);

// Die gefundenen Datensätze durchgehen
do {
    while ($datensatz = mssql_fetch_row($anfrage)) {
        // Datensatz verarbeiten ...
    }
} while (mssql_next_result($anfrage));

// Aufräumen
mssql_free_result($anfrage);
mssql_close($verbindung);
?>

mssql_min_message_severity
mssql_num_fields
Mssql-Funktionen


Liefert die Anzahl der Felder eines Ergebnisses

mssql_next_result
mssql_num_rows
Mssql-Funktionen
PHP Manual

mssql_num_fields

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_num_fields — Liefert die Anzahl der Felder eines Ergebnisses

Beschreibung

int mssql_num_fields ( resource $result )

mssql_num_fields() Gibt die Anzahl der Felder eines Ergebnisses zurück.

Parameter-Liste

result

Der Bezeichner des Ergebnisses, das ausgewertet wird. Dieses Ergebnis stammt von einem Aufruf von mssql_query().

Rückgabewerte

Gibt die Anzahl der Felder als Ganzzahl zurück

Beispiele

Beispiel #1 mssql_num_fields()-Beispiel

<?php
// Mit MSSQL verbinden und Datenbank auswählen
$verbindung = mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php', $verbindung);

// Ein paar Daten aus unserer Datenbank auswählen
$daten = mssql_query('SELECT [name], [age] FROM [php].[dbo].[persons]');

// Eine Tabelle erstellen
echo '<table border="1">';

$header = false;

// Die gefundenen Datensätze durchgehen
while ($datensatz = mssql_fetch_array($daten)) {
    // Den Tabellenkopf erstellen
    if (!$header) {
        echo '<thead>';
        echo '<tr>';

        for ($i = 1; ($i + 1) <= mssql_num_fields($daten); ++$i) {
            echo '<td>' . ucfirst($datensatz[$i]) . '</td>';
        }

        echo '</tr>';
        echo '</thead>';
        echo '<tbody>';

        $header = true;
    }

    // Eine Zeile erstellen
    echo '<tr>';

    foreach ($datensatz as $wert) {
        echo '<td>' . $wert . '</td>';
    }

    echo '</tr>';
}

// Die Tabelle schließen
echo '</tbody>';
echo '</table>';

// Aufräumen
mssql_free_result($daten);
mssql_close($verbindung);
?>

Siehe auch

  • mssql_query() - Sendet eine MS SQL Anfrage
  • mssql_fetch_field() - Liefert Informationen über ein Feld
  • mssql_num_rows() - Liefert die Anzahl der Datensätze eines Ergebnisses

mssql_next_result
mssql_num_rows
Mssql-Funktionen


Liefert die Anzahl der Datensätze eines Ergebnisses

mssql_num_fields
mssql_pconnect
Mssql-Funktionen
PHP Manual

mssql_num_rows

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_num_rows — Liefert die Anzahl der Datensätze eines Ergebnisses

Beschreibung

int mssql_num_rows ( resource $result )

mssql_num_rows() Gibt die Anzahl der Datensätze eines Ergebnisses zurück.

Parameter-Liste

result

Der Bezeichner des Ergebnisses, das ausgewertet wird. Dieses Ergebnis stammt von einem Aufruf von mssql_query().

Rückgabewerte

Gibt die Anzahl der Datensätze als Ganzzahl zurück

Beispiele

Beispiel #1 mssql_num_rows()-Beispiel

<?php
// Mit MSSQL verbinden und Datenbank auswählen
$verbindung = mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');

// Alle Datensätze aus einer Tabelle auswählen
$anfrage = mssql_query('SELECT * FROM [php].[dbo].[persons]');

echo 'Anzahl der Datensätze in der Datenbank: ' . mssql_num_rows($anfrage);

// Den Ergebnisspeicher freigeben
mssql_free_result($anfrage);
?>

Siehe auch

  • mssql_query() - Sendet eine MS SQL Anfrage
  • mssql_fetch_row() - Liefert einen Datensatz als indiziertes Array

mssql_num_fields
mssql_pconnect
Mssql-Funktionen


Baut eine persistente MS SQL Verbindung auf

mssql_num_rows
mssql_query
Mssql-Funktionen
PHP Manual

mssql_pconnect

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_pconnect — Baut eine persistente MS SQL Verbindung auf

Warnung

This function was REMOVED in PHP 7.0.0.

Alternatives to this function include:

  • PDO::__construct()
  • sqlsrv_connect()
  • odbc_pconnect()

Beschreibung

resource mssql_pconnect ([ string $servername [, string $username [, string $password [, bool $new_link = false ]]]] )

mssql_pconnect() verhält sich, von zwei wesentlichen Unterschieden abgesehen, fast genauso wie mssql_connect().

Erstens: Die Funktion wird beim Verbindungsaufbau zunächst versuchen, eine (persistente) Verbindung zu finden, die unter dem selben Host, Benutzername und Passwort geöffnet wurde. Wenn eine solche gefunden wird, gibt sie deren Kennung zurück, statt eine neue Verbindung aufzubauen.

Zweitens: die Verbindung zum SQL Server wird bei Beendigung des Skripts nicht geschlossen. Stattdessen bleibt die Verbindung für eine spätere Verwendung bestehen (mssql_close() schließt keine Verbindungen, die mittels mssql_pconnect() aufgebaut wurden).

Eine solche Verbindung wird deshalb als 'persistent' bezeichnet.

Parameter-Liste

servername

Der MS SQL-Server. Er kann auch eine Portnummer enthalten, z.B. hostname:port.

username

Der Benutzername

password

Das Passwort

new_link

Falls mssql_pconnect() zum zweiten Mal mit denselben Argumenten aufgerufen wird, wird keine neue Verbindung aufgebaut, sondern stattdessen die Verbindungskennung der bereits bestehenden Verbindung zurückgegeben. Mit diesem Parameter wird dieses Verhalten geändert, sodass mssql_pconnect() immer eine neue Verbindung aufbaut, auch wenn mssql_pconnect() zuvor schon mit denselben Parameter aufgerufen wurde.

Rückgabewerte

Gibt bei Erfolg eine positive persistente MS SQL Verbindungskennung oder, bei Auftreten eines Fehlers, FALSE zurück.

Beispiele

Beispiel #1 mssql_pconnect() mit Verwendung des Parameters new_link

<?php
// Mit MSSQL verbinden und Datenbank auswählen
$verbindung1 = mssql_pconnect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php', $verbindung1);

// Eine neue Verbindung erzeugen
$verbindung2 = mssql_pconnect('MANGO\SQLEXPRESS', 'sa', 'phpfi', true);
mssql_select_db('random', $verbindung2);
?>

mssql_num_rows
mssql_query
Mssql-Funktionen


Sendet eine MS SQL Anfrage

mssql_pconnect
mssql_result
Mssql-Funktionen
PHP Manual

mssql_query

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_query — Sendet eine MS SQL Anfrage

Beschreibung

mixed mssql_query ( string $query [, resource $link_identifier [, int $batch_size = 0 ]] )

mssql_query() sendet eine Anfrage an die gerade aktive Datenbank auf dem Server, die zur angegebenen Verbindungskennung link_identifier gehört.

Parameter-Liste

query

Eine SQL-Anfrage

link_identifier

Der von mssql_connect() oder mssql_pconnect() zurückgegebene Bezeichner einer MS SQL-Verbindung

Falls keine Verbindungskennung angegeben wird, wird von der zuletzt geöffneten Verbindung ausgegangen. Falls es keine offene Verbindung gibt, versucht die Funktion eine Verbindung aufzubauen, als wäre mssql_connect() aufgerufen worden, und diese zu benutzen.

batch_size

Die Anzahl der Datensätze, die im Puffer abgelegt werden sollen

Rückgabewerte

Gibt bei Erfolg eine Ergebniskennung zurück, TRUE, falls kein Datensatz zurückgegeben wurde oder FALSE bei Auftreten eines Fehlers.

Beispiele

Beispiel #1 mssql_query()-Beispiel

<?php
// Mit MSSQL verbinden
$verbindung = mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');

if (!$verbindung || !mssql_select_db('php', $verbindung)) {
    die('Konnte keine Verbindung aufbauen oder keine Datenbank auswählen!');
}

// Eine einfache Anfrage durchführen, MSSQL-Version
// auswählen und ausgeben.
$version = mssql_query('SELECT @@VERSION');
$datensatz = mssql_fetch_array($version);

echo $datensatz[0];

// Den Ergebnisspeicher freigeben
mssql_free_result($version);
?>

Anmerkungen

Hinweis:

Falls die Anfrage mehrere Datensätze zurückgibt, müssen alle Datensätze mittels mssql_next_result() abgerufen werden oder mittels mssql_free_result() freigegeben werden, bevor die nächste Anfrage abgeschickt wird.

Siehe auch

  • mssql_select_db() - Wählt eine MS SQL Datenbank aus
  • mssql_connect() - Baut eine Verbindung zum MS SQL Server auf

mssql_pconnect
mssql_result
Mssql-Funktionen


Liefert die bei einer Abfrage gefundenen Daten

mssql_query
mssql_rows_affected
Mssql-Funktionen
PHP Manual

mssql_result

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_result — Liefert die bei einer Abfrage gefundenen Daten

Beschreibung

string mssql_result ( resource $result , int $row , mixed $field )

mssql_result() gibt den Inhalt einer Zelle des angegebenen MS SQL Ergebnisdatensatzes zurück.

Parameter-Liste

result

Der Bezeichner des Ergebnisses, das ausgewertet wird. Dieses Ergebnis stammt von einem Aufruf von mssql_query().

row

Die Nummer des Datensatzes

field

Kann der Feld-Offset, der Feldname oder vom Format tabellenname.feldname sein. Wurde ein Alias angegeben ('select foo as bar from...'), wird statt des Feldnamens dieser Alias verwendet.

Hinweis:

Die Angabe eines numerischen Offsets als Argument field ist viel schneller, als die Angabe von Feldname oder des Arguments tabellenname.feldname.

Rückgabewerte

Gibt den Inhalt der angegebenen Zelle zurück.

Beispiele

Beispiel #1 mssql_result()-Beispiel

<?php
// Eine select-Anfrage an MSSQL senden
$anfrage = mssql_query('SELECT [username] FROM [php].[dbo].[userlist]');

// Prüfen, ob Datensätze gefunden wurden
if (!mssql_num_rows($anfrage)) {
    echo 'Keine Datensätze gefunden';
} else {
    for ($i = 0; $i < mssql_num_rows($anfrage); ++$i) {
        echo mssql_result($anfrage, $i, 'username'), PHP_EOL;
    }
}

// Den Ergebnisspeicher freigeben
mssql_free_result($anfrage);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Kalle
Felipe
Emil
Ross

Beispiel #2 Die schnellere Alternative zu obigem Beispiel

<?php
// Eine select-Anfrage an MSSQL senden
$anfrage = mssql_query('SELECT [username] FROM [php].[dbo].[userlist]');

// Prüfen, ob Datensätze gefunden wurden
if (!mssql_num_rows($anfrage)) {
    echo 'Keine Datensätze gefunden';
} else {
    while ($datensatz = mssql_fetch_array($anfrage)) {
        echo $datensatz['username'], PHP_EOL;
    }
}

// Den Ergebnisspeicher freigeben
mssql_free_result($anfrage);
?>

Anmerkungen

Hinweis:

Wenn Sie mit einer großen Anzahl von Ergebnisdatensätzen arbeiten, sollten Sie in Erwägung ziehen, eine der Funktionen zu verwenden, die komplette Datensätze liefern (siehe unten). Diese Funktionen sind VIEL schneller als mssql_result(), weil sie bei einem Funktionsaufruf den Inhalt mehrerer Datenzellen liefern.

Siehe auch

Empfohlene leistungsfähige Alternativen:

  • mssql_fetch_row() - Liefert einen Datensatz als indiziertes Array
  • mssql_fetch_array() - Liefert einen Ergebnis-Datensatz als assoziatives Array, als numerisches Array oder beides
  • mssql_fetch_assoc() - Liefert ein assoziatives Array des aktuellen Datensatzes aus dem Ergebnis, das durch die Ergebniskennung bestimmt ist
  • mssql_fetch_object() - Liefert einen Datensatz als Objekt

mssql_query
mssql_rows_affected
Mssql-Funktionen


Liefert die Anzahl der von einer Anfrage betroffenen Datensätze

mssql_result
mssql_select_db
Mssql-Funktionen
PHP Manual

mssql_rows_affected

(PHP 4 >= 4.0.4, PHP 5, PECL odbtp >= 1.1.1)

mssql_rows_affected — Liefert die Anzahl der von einer Anfrage betroffenen Datensätze

Beschreibung

int mssql_rows_affected ( resource $link_identifier )

Gibt die Anzahl der von einer Anfrage betroffenen Datensätze zurück.

Parameter-Liste

link_identifier

Der von mssql_connect() oder mssql_pconnect() zurückgegebene Bezeichner einer MS SQL-Verbindung

Rückgabewerte

Gibt die Anzahl der Datensätze zurück, die von der letzten Operation betroffen waren.

Beispiele

Beispiel #1 mssql_rows_affected()-Beispiel

<?php
// Alle Zeilen einer Tabelle löschen
mssql_query('TRUNCATE TABLE [php].[dbo].[persons]');

echo mssql_rows_affected($verbindung) . ' Zeile(n) gelöscht';
?>

mssql_result
mssql_select_db
Mssql-Funktionen


Wählt eine MS SQL Datenbank aus

mssql_rows_affected
MySQL
Mssql-Funktionen
PHP Manual

mssql_select_db

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_select_db — Wählt eine MS SQL Datenbank aus

Beschreibung

bool mssql_select_db ( string $database_name [, resource $link_identifier ] )

mssql_select_db() setzt auf dem Server die aktuelle Datenbank, auf die sich die angegebene Verbindungskennung link_identifier bezieht. Wurde keine Verbindungskennung angegeben, wird die zuletzt geöffnete Verbindung angenommen.

Jeder folgende Aufruf von mssql_query() bezieht sich auf die geöffnete Datenbank.

Parameter-Liste

database_name

Der Name der Datenbank

Um einen Datenbanknamen, der Leerzeichen, Bindestriche oder irgendwelche andere ungewöhnliche Zeichen enthält zu maskieren, muss er, wie im folgenden Beispiel gezeigt, in Klammern gesetzt werden. Diese Technik muss auch angewandt werden, wenn eine Datenbank ausgewählt wird, deren Name ein reserviertes Wort ist (wie z.B. primary).

link_identifier

Der von mssql_connect() oder mssql_pconnect() zurückgegebene Bezeichner einer MS SQL-Verbindung

Falls keine Verbindungskennung angegeben wird, wird von der zuletzt geöffneten Verbindung ausgegangen. Wenn es keine offene Verbindung gibt, versucht die Funktion eine Verbindung aufzubauen, als wäre mssql_connect() aufgerufen worden, und diese zu benutzen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 mssql_select_db()-Beispiel

<?php
// Mit MSSQL verbinden
$verbindung = mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');

// Die Datenbank 'php' auswählen
mssql_select_db('php', $verbindung);
?>

Beispiel #2 Maskieren des Datenbanknamens mit eckigen Klammern

<?php
// Mit MSSQL verbinden
$verbindung = mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');

// Die Datenbank 'mein.datenbank-name' auswählen
mssql_select_db('[mein.datenbank-name]', $verbindung);
?>

Siehe auch

  • mssql_connect() - Baut eine Verbindung zum MS SQL Server auf
  • mssql_pconnect() - Baut eine persistente MS SQL Verbindung auf
  • mssql_query() - Sendet eine MS SQL Anfrage

mssql_rows_affected
MySQL
Mssql-Funktionen


MySQL Drivers and Plugins

PHP offers several MySQL drivers and plugins for accessing and handling MySQL.

The differences and functionality of the MySQL extensions are described within the overview of this section.

  • Overview of the MySQL PHP drivers
    • Terminology overview
    • Choosing an API
    • Choosing a library
    • Concepts
  • Mysqli — MySQL Improved Extension
    • Einführung
    • Overview
    • Quick start guide
    • Installation/Konfiguration
    • The mysqli Extension and Persistent Connections
    • Vordefinierte Konstanten
    • Notes
    • The MySQLi Extension Function Summary
    • Beispiele
    • mysqli — Die mysqli Klasse
    • mysqli_stmt — Die mysqli_stmt Klasse
    • mysqli_result — Die MySQLi Ergebnisklasse
    • mysqli_driver — Die mysqli_driver Klasse
    • mysqli_warning — Die MySQLi Warnungsklasse
    • mysqli_sql_exception — Die MySQLi Fehlerbehandlungs-Klasse
    • Aliase und veraltete MySQLi Funktionen
    • Changelog
  • MySQL (Original) — Ursprüngliche MySQL API
    • Einführung
    • Installation/Konfiguration
    • Changelog
    • Vordefinierte Konstanten
    • Beispiele
    • MySQL Funktionen
  • Mysqlnd — MySQL Native Driver
    • Einführung
    • Overview
    • Installation
    • Laufzeit-Konfiguration
    • Incompatibilities
    • Persistent Connections
    • Statistics
    • Notes
    • Memory management
    • MySQL Native Driver Plugin API
  • mysqlnd_ms — Mysqlnd replication and load balancing plugin
    • Einführung
    • Quickstart and Examples
    • Concepts
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Mysqlnd_ms Funktionen
    • Change History
  • mysqlnd_qc — Mysqlnd query result cache plugin
    • Einführung
    • Quickstart and Examples
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • mysqlnd_qc Funktionen
    • Change History
  • mysqlnd_uh — Mysqlnd user handler plugin
    • Einführung
    • Quickstart and Examples
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • MysqlndUhConnection — The MysqlndUhConnection class
    • MysqlndUhPreparedStatement — The MysqlndUhPreparedStatement class
    • Mysqlnd_uh Funktionen
    • Change History
  • mysqlnd_mux — Mysqlnd connection multiplexing plugin
    • Einführung
    • Concepts
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Change History
  • mysqlnd_memcache — Mysqlnd Memcache plugin
    • Einführung
    • Quickstart and Examples
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Mysqlnd_memcache Funktionen
    • Change History
mssql_select_db
Overview of the MySQL PHP drivers
Anbieterspezifische Datenbankerweiterungen


Overview of the MySQL PHP drivers

Introduction

Depending on the version of PHP, there are either two or three PHP APIs for accessing the MySQL database. PHP 5 users can choose between the deprecated mysql extension, mysqli, or PDO_MySQL. PHP 7 removes the mysql extension, leaving only the latter two options.

This guide explains the terminology used to describe each API, information about choosing which API to use, and also information to help choose which MySQL library to use with the API.

  • Terminology overview
  • Choosing an API
  • Choosing a library
  • Concepts
    • Buffered and Unbuffered queries
    • Character sets
MySQL
Terminology overview
MySQL


Terminology overview

This section provides an introduction to the options available to you when developing a PHP application that needs to interact with a MySQL database.

What is an API?

An Application Programming Interface, or API, defines the classes, methods, functions and variables that your application will need to call in order to carry out its desired task. In the case of PHP applications that need to communicate with databases the necessary APIs are usually exposed via PHP extensions.

APIs can be procedural or object-oriented. With a procedural API you call functions to carry out tasks, with the object-oriented API you instantiate classes and then call methods on the resulting objects. Of the two the latter is usually the preferred interface, as it is more modern and leads to better organized code.

When writing PHP applications that need to connect to the MySQL server there are several API options available. This document discusses what is available and how to select the best solution for your application.

What is a Connector?

In the MySQL documentation, the term connector refers to a piece of software that allows your application to connect to the MySQL database server. MySQL provides connectors for a variety of languages, including PHP.

If your PHP application needs to communicate with a database server you will need to write PHP code to perform such activities as connecting to the database server, querying the database and other database-related functions. Software is required to provide the API that your PHP application will use, and also handle the communication between your application and the database server, possibly using other intermediate libraries where necessary. This software is known generically as a connector, as it allows your application to connect to a database server.

What is a Driver?

A driver is a piece of software designed to communicate with a specific type of database server. The driver may also call a library, such as the MySQL Client Library or the MySQL Native Driver. These libraries implement the low-level protocol used to communicate with the MySQL database server.

By way of an example, the PHP Data Objects (PDO) database abstraction layer may use one of several database-specific drivers. One of the drivers it has available is the PDO MYSQL driver, which allows it to interface with the MySQL server.

Sometimes people use the terms connector and driver interchangeably, this can be confusing. In the MySQL-related documentation the term "driver" is reserved for software that provides the database-specific part of a connector package.

What is an Extension?

In the PHP documentation you will come across another term - extension. The PHP code consists of a core, with optional extensions to the core functionality. PHP's MySQL-related extensions, such as the mysqli extension, and the mysql extension, are implemented using the PHP extension framework.

An extension typically exposes an API to the PHP programmer, to allow its facilities to be used programmatically. However, some extensions which use the PHP extension framework do not expose an API to the PHP programmer.

The PDO MySQL driver extension, for example, does not expose an API to the PHP programmer, but provides an interface to the PDO layer above it.

The terms API and extension should not be taken to mean the same thing, as an extension may not necessarily expose an API to the programmer.

Overview of the MySQL PHP drivers
Choosing an API
Overview of the MySQL PHP drivers


Choosing an API

PHP offers three different APIs to connect to MySQL. Below we show the APIs provided by the mysql, mysqli, and PDO extensions. Each code snippet creates a connection to a MySQL server running on "example.com" using the username "user" and the password "password". And a query is run to greet the user.

Beispiel #1 Comparing the three MySQL APIs

<?php
// mysqli
$mysqli = new mysqli("example.com", "user", "password", "database");
$result = $mysqli->query("SELECT 'Hello, dear MySQL user!' AS _message FROM DUAL");
$row = $result->fetch_assoc();
echo htmlentities($row['_message']);

// PDO
$pdo = new PDO('mysql:host=example.com;dbname=database', 'user', 'password');
$statement = $pdo->query("SELECT 'Hello, dear MySQL user!' AS _message FROM DUAL");
$row = $statement->fetch(PDO::FETCH_ASSOC);
echo htmlentities($row['_message']);

// mysql
$c = mysql_connect("example.com", "user", "password");
mysql_select_db("database");
$result = mysql_query("SELECT 'Hello, dear MySQL user!' AS _message FROM DUAL");
$row = mysql_fetch_assoc($result);
echo htmlentities($row['_message']);
?>

Recommended API

It is recommended to use either the mysqli or PDO_MySQL extensions. It is not recommended to use the old mysql extension for new development, as it was deprecated in PHP 5.5.0 and was removed in PHP 7. A detailed feature comparison matrix is provided below. The overall performance of all three extensions is considered to be about the same. Although the performance of the extension contributes only a fraction of the total run time of a PHP web request. Often, the impact is as low as 0.1%.

Feature comparison

 | ext/mysqli | PDO_MySQL | ext/mysql
PHP version introduced | 5.0 | 5.1 | 2.0
Included with PHP 5.x | Yes | Yes | Yes
Included with PHP 7.x | Yes | Yes | No
Development status | Active | Active | Maintenance only in 5.x; removed in 7.x
Lifecycle | Active | Active | Deprecated in 5.x; removed in 7.x
Recommended for new projects | Yes | Yes | No
OOP Interface | Yes | Yes | No
Procedural Interface | Yes | No | Yes
API supports non-blocking, asynchronous queries with mysqlnd | Yes | No | No
Persistent Connections | Yes | Yes | Yes
API supports Charsets | Yes | Yes | Yes
API supports server-side Prepared Statements | Yes | Yes | No
API supports client-side Prepared Statements | No | Yes | No
API supports Stored Procedures | Yes | Yes | No
API supports Multiple Statements | Yes | Most | No
API supports Transactions | Yes | Yes | No
Transactions can be controlled with SQL | Yes | Yes | Yes
Supports all MySQL 5.1+ functionality | Yes | Most | No
Terminology overview
Choosing a library
Overview of the MySQL PHP drivers


Choosing a library

The mysqli, PDO_MySQL and mysql PHP extensions are lightweight wrappers on top of a C client library. The extensions can either use the mysqlnd library or the libmysqlclient library. Choosing a library is a compile time decision.

The mysqlnd library is part of the PHP distribution since 5.3.0. It offers features like lazy connections and query caching, features that are not available with libmysqlclient, so using the built-in mysqlnd library is highly recommended. See the mysqlnd documentation for additional details, and a listing of features and functionality that it offers.

Beispiel #1 Configure commands for using mysqlnd or libmysqlclient

// Recommended, compiles with mysqlnd
$ ./configure --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mysql=mysqlnd

// Alternatively recommended, compiles with mysqlnd as of PHP 5.4
$ ./configure --with-mysqli --with-pdo-mysql --with-mysql

// Not recommended, compiles with libmysqlclient
$ ./configure --with-mysqli=/path/to/mysql_config --with-pdo-mysql=/path/to/mysql_config --with-mysql=/path/to/mysql_config

Library feature comparison

It is recommended to use the mysqlnd library instead of the MySQL Client Server library (libmysqlclient). Both libraries are supported and constantly being improved.

 | MySQL native driver (mysqlnd) | MySQL client server library (libmysqlclient)
Part of the PHP distribution | Yes | No
PHP version introduced | 5.3.0 | N/A
License | PHP License 3.01 | Dual-License
Development status | Active | Active
Lifecycle | No end announced | No end announced
PHP 5.4 and above; compile default (for all MySQL extensions) | Yes | No
PHP 5.3; compile default (for all MySQL extensions) | No | Yes
Compression protocol support | Yes (5.3.1+) | Yes
SSL support | Yes (5.3.3+) | Yes
Named pipe support | Yes (5.3.4+) | Yes
Non-blocking, asynchronous queries | Yes | No
Performance statistics | Yes | No
LOAD LOCAL INFILE respects the open_basedir directive | Yes | No
Uses PHP's native memory management system (e.g., follows PHP memory limits) | Yes | No
Return numeric column as double (COM_QUERY) | Yes | No
Return numeric column as string (COM_QUERY) | Yes | Yes
Plugin API | Yes | Limited
Read/Write splitting for MySQL Replication | Yes, with plugin | No
Load Balancing | Yes, with plugin | No
Fail over | Yes, with plugin | No
Lazy connections | Yes, with plugin | No
Query caching | Yes, with plugin | No
Transparent query manipulations (E.g., auto-EXPLAIN or monitoring) | Yes, with plugin | No
Automatic reconnect | No | Optional
Choosing an API
Concepts
Overview of the MySQL PHP drivers


Concepts

Inhaltsverzeichnis

  • Buffered and Unbuffered queries
  • Character sets

These concepts are specific to the MySQL drivers for PHP.

Choosing a library
Buffered and Unbuffered queries
Overview of the MySQL PHP drivers


Buffered and Unbuffered queries

Queries are using the buffered mode by default. This means that query results are immediately transferred from the MySQL Server to PHP and then are kept in the memory of the PHP process. This allows additional operations like counting the number of rows, and moving (seeking) the current result pointer. It also allows issuing further queries on the same connection while working on the result set. The downside of the buffered mode is that larger result sets might require quite a lot memory. The memory will be kept occupied till all references to the result set are unset or the result set was explicitly freed, which will automatically happen during request end the latest. The terminology "store result" is also used for buffered mode, as the whole result set is stored at once.

Hinweis:

When using libmysqlclient as library PHP's memory limit won't count the memory used for result sets unless the data is fetched into PHP variables. With mysqlnd the memory accounted for will include the full result set.

Unbuffered MySQL queries execute the query and then return a resource while the data is still waiting on the MySQL server for being fetched. This uses less memory on the PHP-side, but can increase the load on the server. Unless the full result set was fetched from the server no further queries can be sent over the same connection. Unbuffered queries can also be referred to as "use result".

Following these characteristics buffered queries should be used in cases where you expect only a limited result set or need to know the amount of returned rows before reading all rows. Unbuffered mode should be used when you expect larger results.

Because buffered queries are the default, the examples below will demonstrate how to execute unbuffered queries with each API.

Beispiel #1 Unbuffered query example: mysqli

<?php
$mysqli  = new mysqli("localhost", "my_user", "my_password", "world");
$uresult = $mysqli->query("SELECT Name FROM City", MYSQLI_USE_RESULT);

if ($uresult) {
   while ($row = $uresult->fetch_assoc()) {
       echo $row['Name'] . PHP_EOL;
   }
}
$uresult->close();
?>

Beispiel #2 Unbuffered query example: pdo_mysql

<?php
$pdo = new PDO("mysql:host=localhost;dbname=world", 'my_user', 'my_pass');
$pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);

$uresult = $pdo->query("SELECT Name FROM City");
if ($uresult) {
   while ($row = $uresult->fetch(PDO::FETCH_ASSOC)) {
       echo $row['Name'] . PHP_EOL;
   }
}
?>

Beispiel #3 Unbuffered query example: mysql

<?php
$conn = mysql_connect("localhost", "my_user", "my_pass");
$db   = mysql_select_db("world");

$uresult = mysql_unbuffered_query("SELECT Name FROM City");
if ($uresult) {
   while ($row = mysql_fetch_assoc($uresult)) {
       echo $row['Name'] . PHP_EOL;
   }
}
?>
Concepts
Character sets
Concepts


Character sets

Ideally a proper character set will be set at the server level, and doing this is described within the » Character Set Configuration section of the MySQL Server manual. Alternatively, each MySQL API offers a method to set the character set at runtime.

Achtung

The character set and character escaping

The character set should be understood and defined, as it has an affect on every action, and includes security implications. For example, the escaping mechanism (e.g., mysqli_real_escape_string() for mysqli, mysql_real_escape_string() for mysql, and PDO::quote() for PDO_MySQL) will adhere to this setting. It is important to realize that these functions will not use the character set that is defined with a query, so for example the following will not have an effect on them:

Beispiel #1 Problems with setting the character set with SQL

<?php

$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

// Will NOT affect $mysqli->real_escape_string();
$mysqli->query("SET NAMES utf8");

// Will NOT affect $mysqli->real_escape_string();
$mysqli->query("SET CHARACTER SET utf8");

// But, this will affect $mysqli->real_escape_string();
$mysqli->set_charset('utf8');

// But, this will NOT affect it (utf-8 vs utf8) -- don't use dashes here
$mysqli->set_charset('utf-8');

?>

Below are examples that demonstrate how to properly alter the character set at runtime using each API.

Hinweis: Possible UTF-8 confusion

Because character set names in MySQL do not contain dashes, the string "utf8" is valid in MySQL to set the character set to UTF-8. The string "utf-8" is not valid, as using "utf-8" will fail to change the character set.

Beispiel #2 Setting the character set example: mysqli

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

printf("Initial character set: %s\n", $mysqli->character_set_name());

if (!$mysqli->set_charset('utf8')) {
    printf("Error loading character set utf8: %s\n", $mysqli->error);
    exit;
}

echo "New character set information:\n";
print_r( $mysqli->get_charset() );

?>

Beispiel #3 Setting the character set example: pdo_mysql

Note: This only works as of PHP 5.3.6.

<?php
$pdo = new PDO("mysql:host=localhost;dbname=world;charset=utf8", 'my_user', 'my_pass');
?>

Beispiel #4 Setting the character set example: mysql

<?php
$conn = mysql_connect("localhost", "my_user", "my_pass");
$db   = mysql_select_db("world");

echo 'Initial character set: ' .  mysql_client_encoding($conn) . "\n";

if (!mysql_set_charset('utf8', $conn)) {
    echo "Error: Unable to set the character set.\n";
    exit;
}

echo 'Your current character set is: ' .  mysql_client_encoding($conn);
?>
Buffered and Unbuffered queries
Mysqli
Concepts


MySQL Improved Extension

  • Einführung
  • Overview
  • Quick start guide
    • Dual procedural and object-oriented interface
    • Connections
    • Executing statements
    • Prepared Statements
    • Stored Procedures
    • Multiple Statements
    • API support for transactions
    • Metadata
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • The mysqli Extension and Persistent Connections
  • Vordefinierte Konstanten
  • Notes
  • The MySQLi Extension Function Summary
  • Beispiele
    • MySQLi extension basic examples
  • mysqli — Die mysqli Klasse
    • mysqli::$affected_rows — Ermittelt die Anzahl der betroffenen Zeilen in einem vorherigen MySQL Vorgang
    • mysqli::autocommit — Aktiviert oder deaktiviert automatisches Bestätigen von Datenbankänderungen
    • mysqli::begin_transaction — Starts a transaction
    • mysqli::change_user — Changes the user of the specified database connection
    • mysqli::character_set_name — Returns the default character set for the database connection
    • mysqli::$client_info — Get MySQL client info
    • mysqli::$client_version — Returns the MySQL client version as a string
    • mysqli::close — Schließt die zuvor geöffnete Datenbankverbindung
    • mysqli::commit — Commits the current transaction
    • mysqli::$connect_errno — Returns the error code from last connect call
    • mysqli::$connect_error — Returns a string description of the last connect error
    • mysqli::__construct — Open a new connection to the MySQL server
    • mysqli::debug — Performs debugging operations
    • mysqli::dump_debug_info — Dump debugging information into the log
    • mysqli::$errno — Returns the error code for the most recent function call
    • mysqli::$error_list — Returns a list of errors from the last command executed
    • mysqli::$error — Returns a string description of the last error
    • mysqli::$field_count — Returns the number of columns for the most recent query
    • mysqli::get_charset — Returns a character set object
    • mysqli::get_client_info — Get MySQL client info
    • mysqli_get_client_stats — Returns client per-process statistics
    • mysqli_get_client_version — Returns the MySQL client version as an integer
    • mysqli::get_connection_stats — Returns statistics about the client connection
    • mysqli::$host_info — Returns a string representing the type of connection used
    • mysqli::$protocol_version — Returns the version of the MySQL protocol used
    • mysqli::$server_info — Returns the version of the MySQL server
    • mysqli::$server_version — Returns the version of the MySQL server as an integer
    • mysqli::get_warnings — Get result of SHOW WARNINGS
    • mysqli::$info — Retrieves information about the most recently executed query
    • mysqli::init — Initializes MySQLi and returns a resource for use with mysqli_real_connect()
    • mysqli::$insert_id — Returns the auto generated id used in the latest query
    • mysqli::kill — Asks the server to kill a MySQL thread
    • mysqli::more_results — Check if there are any more query results from a multi query
    • mysqli::multi_query — Performs a query on the database
    • mysqli::next_result — Prepare next result from multi_query
    • mysqli::options — Set options
    • mysqli::ping — Pings a server connection, or tries to reconnect if the connection has gone down
    • mysqli::poll — Poll connections
    • mysqli::prepare — Prepare an SQL statement for execution
    • mysqli::query — Performs a query on the database
    • mysqli::real_connect — Opens a connection to a mysql server
    • mysqli::real_escape_string — Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
    • mysqli::real_query — Execute an SQL query
    • mysqli::reap_async_query — Get result from async query
    • mysqli::refresh — Refreshes
    • mysqli::release_savepoint — Removes the named savepoint from the set of savepoints of the current transaction
    • mysqli::rollback — Rolls back current transaction
    • mysqli::rpl_query_type — Returns RPL query type
    • mysqli::savepoint — Set a named transaction savepoint
    • mysqli::select_db — Selects the default database for database queries
    • mysqli::send_query — Send the query and return
    • mysqli::set_charset — Sets the default client character set
    • mysqli::set_local_infile_default — Unsets user defined handler for load local infile command
    • mysqli::set_local_infile_handler — Set callback function for LOAD DATA LOCAL INFILE command
    • mysqli::$sqlstate — Returns the SQLSTATE error from previous MySQL operation
    • mysqli::ssl_set — Used for establishing secure connections using SSL
    • mysqli::stat — Liefert den aktuellen System Status
    • mysqli::stmt_init — Initializes a statement and returns an object for use with mysqli_stmt_prepare
    • mysqli::store_result — Transfers a result set from the last query
    • mysqli::$thread_id — Returns the thread ID for the current connection
    • mysqli::thread_safe — Returns whether thread safety is given or not
    • mysqli::use_result — Initiate a result set retrieval
    • mysqli::$warning_count — Gibt die Anzahl an Warnungen für den letzten Query der übergebenen Verbindung zurück.
  • mysqli_stmt — Die mysqli_stmt Klasse
    • mysqli_stmt::$affected_rows — gibt die gesamte Anzahl der Zeilen zurück, die bei der letzten ausgeführten Anweisung geändert, gelöscht oder eingefügt worden sind
    • mysqli_stmt::attr_get — Wird verwendet, um den augenblicklichen Wert eines Attributs der Anweisung zu erhalten
    • mysqli_stmt::attr_set — Wird verwendet, um das Verhalten einer vorbereiteten Anweisung (prepared statement) zu verändern.
    • mysqli_stmt::bind_param — Bindet Variablen als Parameter an eine vorbereitete Anweisung (prepared statement)
    • mysqli_stmt::bind_result — Bindet Variablen an eine vorbereitete Anweisung (prepared statement), um das Ergebnis einer Abfrage abzulegen.
    • mysqli_stmt::close — Schließt eine vorbereitete Anweisung (prepared statement)
    • mysqli_stmt::__construct — Erzeugt ein neues mysqli_stmt Objekt
    • mysqli_stmt::data_seek — Geht zu einer beliebigen Zeile in der Ergebnismenge einer Abfrage.
    • mysqli_stmt::$errno — Returns the error code for the most recent statement call
    • mysqli_stmt::$error_list — Returns a list of errors from the last statement executed
    • mysqli_stmt::$error — Returns a string description for last statement error
    • mysqli_stmt::execute — Executes a prepared Query
    • mysqli_stmt::fetch — Fetch results from a prepared statement into the bound variables
    • mysqli_stmt::$field_count — Returns the number of field in the given statement
    • mysqli_stmt::free_result — Frees stored result memory for the given statement handle
    • mysqli_stmt::get_result — Gets a result set from a prepared statement
    • mysqli_stmt::get_warnings — Get result of SHOW WARNINGS
    • mysqli_stmt::$insert_id — Get the ID generated from the previous INSERT operation
    • mysqli_stmt::more_results — Prüft, ob es weitere Ergebnismengen bei einer Mehrfachabfrage gibt.
    • mysqli_stmt::next_result — Liest die nächste Ergebnismenge einer Mehrfachabfrage aus.
    • mysqli_stmt::$num_rows — gibt die Anzahl der Zeilen einer Ergebnismenge zurück
    • mysqli_stmt::$param_count — Gibt die Anzahl der Parameter der gegebenen Anweisung zurück
    • mysqli_stmt::prepare — Prepare an SQL statement for execution
    • mysqli_stmt::reset — Resets a prepared statement
    • mysqli_stmt::result_metadata — Returns result set metadata from a prepared statement
    • mysqli_stmt::send_long_data — Sendet Daten blockweise
    • mysqli_stmt::$sqlstate — Gibt den SQL-Status von der vorangegangenen Ausführung der Anweisung zurück
    • mysqli_stmt::store_result — Holt die Ergebnismenge einer vorbereiteten Anweisung (Prepared Statement)
  • mysqli_result — Die MySQLi Ergebnisklasse
    • mysqli_result::$current_field — Get current field offset of a result pointer
    • mysqli_result::data_seek — Adjusts the result pointer to an arbitrary row in the result
    • mysqli_result::fetch_all — Fetches all result rows as an associative array, a numeric array, or both
    • mysqli_result::fetch_array — Fetch a result row as an associative, a numeric array, or both
    • mysqli_result::fetch_assoc — Fetch a result row as an associative array
    • mysqli_result::fetch_field_direct — Fetch meta-data for a single field
    • mysqli_result::fetch_field — Returns the next field in the result set
    • mysqli_result::fetch_fields — Returns an array of objects representing the fields in a result set
    • mysqli_result::fetch_object — Returns the current row of a result set as an object
    • mysqli_result::fetch_row — Get a result row as an enumerated array
    • mysqli_result::$field_count — Get the number of fields in a result
    • mysqli_result::field_seek — Set result pointer to a specified field offset
    • mysqli_result::free — Frees the memory associated with a result
    • mysqli_result::$lengths — Returns the lengths of the columns of the current row in the result set
    • mysqli_result::$num_rows — Gets the number of rows in a result
  • mysqli_driver — Die mysqli_driver Klasse
    • mysqli_driver::embedded_server_end — Stop embedded server
    • mysqli_driver::embedded_server_start — Initialize and start embedded server
    • mysqli_driver::$report_mode — Enables or disables internal report functions
  • mysqli_warning — Die MySQLi Warnungsklasse
    • mysqli_warning::__construct — The __construct purpose
    • mysqli_warning::next — The next purpose
  • mysqli_sql_exception — Die MySQLi Fehlerbehandlungs-Klasse
  • Aliase und veraltete MySQLi Funktionen
    • mysqli_bind_param — Alias für mysqli_stmt_bind_param
    • mysqli_bind_result — Alias für mysqli_stmt_bind_result
    • mysqli_client_encoding — Alias für mysqli_character_set_name
    • mysqli_connect — Alias von mysqli::__construct
    • mysqli::disable_reads_from_master — Disable reads from master
    • mysqli_disable_rpl_parse — Disable RPL parse
    • mysqli_enable_reads_from_master — Enable reads from master
    • mysqli_enable_rpl_parse — Enable RPL parse
    • mysqli_escape_string — Alias von mysqli_real_escape_string
    • mysqli_execute — Alias für mysqli_stmt_execute
    • mysqli_fetch — Alias für mysqli_stmt_fetch
    • mysqli_get_cache_stats — Returns client Zval cache statistics
    • mysqli_get_links_stats — Return information about open and cached links
    • mysqli_get_metadata — Alias für mysqli_stmt_result_metadata
    • mysqli_master_query — Führt einen Query auf dem Master in einer Master/Slaver Umegbung durch.
    • mysqli_param_count — Alias für mysqli_stmt_param_count
    • mysqli_report — Alias von für mysqli_driver->report_mode
    • mysqli_rpl_parse_enabled — Check if RPL parse is enabled
    • mysqli_rpl_probe — RPL probe
    • mysqli_send_long_data — Alias für mysqli_stmt_send_long_data
    • mysqli::set_opt — Alias für mysqli_options
    • mysqli_slave_query — Führt einen Query auf dem Slave in einer Master/Slave Umgebung durch
  • Changelog
Character sets
Einführung
MySQL


Einführung

Die mysqli-Erweiterung ermöglicht es, die ab MySQL 4.1 gegebene Funktionalität anzusprechen. Weitere Informationen über den MySQL-Datenbank-Server sind unter » http://www.mysql.com/ zu finden.

Ein Überblick über Software, die MySQL unter PHP nutzt, ist unter Overview zu finden.

Dokumentation über MySQL befindet sich unter » http://dev.mysql.com/doc/.

Teile dieser Dokumentation sind mit Erlaubnis der Oracle Corporation dem MySQL-Handbuch entnommen.

Beispiele verwenden entweder die » world oder » sakila Datenbank, die frei verfügbar sind.

Mysqli
Overview
Mysqli


Overview

This section provides an introduction to the options available to you when developing a PHP application that needs to interact with a MySQL database.

What is an API?

An Application Programming Interface, or API, defines the classes, methods, functions and variables that your application will need to call in order to carry out its desired task. In the case of PHP applications that need to communicate with databases the necessary APIs are usually exposed via PHP extensions.

APIs can be procedural or object-oriented. With a procedural API you call functions to carry out tasks, with the object-oriented API you instantiate classes and then call methods on the resulting objects. Of the two the latter is usually the preferred interface, as it is more modern and leads to better organized code.

When writing PHP applications that need to connect to the MySQL server there are several API options available. This document discusses what is available and how to select the best solution for your application.

What is a Connector?

In the MySQL documentation, the term connector refers to a piece of software that allows your application to connect to the MySQL database server. MySQL provides connectors for a variety of languages, including PHP.

If your PHP application needs to communicate with a database server you will need to write PHP code to perform such activities as connecting to the database server, querying the database and other database-related functions. Software is required to provide the API that your PHP application will use, and also handle the communication between your application and the database server, possibly using other intermediate libraries where necessary. This software is known generically as a connector, as it allows your application to connect to a database server.

What is a Driver?

A driver is a piece of software designed to communicate with a specific type of database server. The driver may also call a library, such as the MySQL Client Library or the MySQL Native Driver. These libraries implement the low-level protocol used to communicate with the MySQL database server.

By way of an example, the PHP Data Objects (PDO) database abstraction layer may use one of several database-specific drivers. One of the drivers it has available is the PDO MYSQL driver, which allows it to interface with the MySQL server.

Sometimes people use the terms connector and driver interchangeably, this can be confusing. In the MySQL-related documentation the term "driver" is reserved for software that provides the database-specific part of a connector package.

What is an Extension?

In the PHP documentation you will come across another term - extension. The PHP code consists of a core, with optional extensions to the core functionality. PHP's MySQL-related extensions, such as the mysqli extension, and the mysql extension, are implemented using the PHP extension framework.

An extension typically exposes an API to the PHP programmer, to allow its facilities to be used programmatically. However, some extensions which use the PHP extension framework do not expose an API to the PHP programmer.

The PDO MySQL driver extension, for example, does not expose an API to the PHP programmer, but provides an interface to the PDO layer above it.

The terms API and extension should not be taken to mean the same thing, as an extension may not necessarily expose an API to the programmer.

What are the main PHP API offerings for using MySQL?

There are three main API options when considering connecting to a MySQL database server:

  • PHP's MySQL Extension

  • PHP's mysqli Extension

  • PHP Data Objects (PDO)

Each has its own advantages and disadvantages. The following discussion aims to give a brief introduction to the key aspects of each API.

What is PHP's MySQL Extension?

This is the original extension designed to allow you to develop PHP applications that interact with a MySQL database. The mysql extension provides a procedural interface and is intended for use only with MySQL versions older than 4.1.3. This extension can be used with versions of MySQL 4.1.3 or newer, but not all of the latest MySQL server features will be available.

Hinweis:

If you are using MySQL versions 4.1.3 or later it is strongly recommended that you use the mysqli extension instead.

The mysql extension source code is located in the PHP extension directory ext/mysql.

For further information on the mysql extension, see MySQL (Original).

What is PHP's mysqli Extension?

The mysqli extension, or as it is sometimes known, the MySQL improved extension, was developed to take advantage of new features found in MySQL systems versions 4.1.3 and newer. The mysqli extension is included with PHP versions 5 and later.

The mysqli extension has a number of benefits, the key enhancements over the mysql extension being:

  • Object-oriented interface

  • Support for Prepared Statements

  • Support for Multiple Statements

  • Support for Transactions

  • Enhanced debugging capabilities

  • Embedded server support

Hinweis:

If you are using MySQL versions 4.1.3 or later it is strongly recommended that you use this extension.

As well as the object-oriented interface the extension also provides a procedural interface.

The mysqli extension is built using the PHP extension framework, its source code is located in the directory ext/mysqli.

For further information on the mysqli extension, see Mysqli.

What is PDO?

PHP Data Objects, or PDO, is a database abstraction layer specifically for PHP applications. PDO provides a consistent API for your PHP application regardless of the type of database server your application will connect to. In theory, if you are using the PDO API, you could switch the database server you used, from say Firebird to MySQL, and only need to make minor changes to your PHP code.

Other examples of database abstraction layers include JDBC for Java applications and DBI for Perl.

While PDO has its advantages, such as a clean, simple, portable API, its main disadvantage is that it doesn't allow you to use all of the advanced features that are available in the latest versions of MySQL server. For example, PDO does not allow you to use MySQL's support for Multiple Statements.

PDO is implemented using the PHP extension framework, its source code is located in the directory ext/pdo.

For further information on PDO, see the PDO.

What is the PDO MYSQL driver?

The PDO MYSQL driver is not an API as such, at least from the PHP programmer's perspective. In fact the PDO MYSQL driver sits in the layer below PDO itself and provides MySQL-specific functionality. The programmer still calls the PDO API, but PDO uses the PDO MYSQL driver to carry out communication with the MySQL server.

The PDO MYSQL driver is one of several available PDO drivers. Other PDO drivers available include those for the Firebird and PostgreSQL database servers.

The PDO MYSQL driver is implemented using the PHP extension framework. Its source code is located in the directory ext/pdo_mysql. It does not expose an API to the PHP programmer.

For further information on the PDO MYSQL driver, see MySQL (PDO).

What is PHP's MySQL Native Driver?

In order to communicate with the MySQL database server the mysql extension, mysqli and the PDO MYSQL driver each use a low-level library that implements the required protocol. In the past, the only available library was the MySQL Client Library, otherwise known as libmysqlclient.

However, the interface presented by libmysqlclient was not optimized for communication with PHP applications, as libmysqlclient was originally designed with C applications in mind. For this reason the MySQL Native Driver, mysqlnd, was developed as an alternative to libmysqlclient for PHP applications.

The mysql extension, the mysqli extension and the PDO MySQL driver can each be individually configured to use either libmysqlclient or mysqlnd. As mysqlnd is designed specifically to be utilised in the PHP system it has numerous memory and speed enhancements over libmysqlclient. You are strongly encouraged to take advantage of these improvements.

Hinweis:

The MySQL Native Driver can only be used with MySQL server versions 4.1.3 and later.

The MySQL Native Driver is implemented using the PHP extension framework. The source code is located in ext/mysqlnd. It does not expose an API to the PHP programmer.

Comparison of Features

The following table compares the functionality of the three main methods of connecting to MySQL from PHP:

Comparison of MySQL API options for PHP
 | PHP's mysqli Extension | PDO (Using PDO MySQL Driver and MySQL Native Driver) | PHP's MySQL Extension
PHP version introduced | 5.0 | 5.0 | Prior to 3.0
Included with PHP 5.x | yes | yes | Yes
MySQL development status | Active development | Active development as of PHP 5.3 | Maintenance only
Recommended by MySQL for new projects | Yes - preferred option | Yes | No
API supports Charsets | Yes | Yes | No
API supports server-side Prepared Statements | Yes | Yes | No
API supports client-side Prepared Statements | No | Yes | No
API supports Stored Procedures | Yes | Yes | No
API supports Multiple Statements | Yes | Most | No
Supports all MySQL 4.1+ functionality | Yes | Most | No
Einführung
Quick start guide
Mysqli


Quick start guide

Inhaltsverzeichnis

  • Dual procedural and object-oriented interface
  • Connections
  • Executing statements
  • Prepared Statements
  • Stored Procedures
  • Multiple Statements
  • API support for transactions
  • Metadata

This quick start guide will help with choosing and gaining familiarity with the PHP MySQL API.

This quick start gives an overview on the mysqli extension. Code examples are provided for all major aspects of the API. Database concepts are explained to the degree needed for presenting concepts specific to MySQL.

Required: A familiarity with the PHP programming language, the SQL language, and basic knowledge of the MySQL server.

Overview
Dual procedural and object-oriented interface
Mysqli


Dual procedural and object-oriented interface

The mysqli extension features a dual interface. It supports the procedural and object-oriented programming paradigm.

Users migrating from the old mysql extension may prefer the procedural interface. The procedural interface is similar to that of the old mysql extension. In many cases, the function names differ only by prefix. Some mysqli functions take a connection handle as their first argument, whereas matching functions in the old mysql interface take it as an optional last argument.

Beispiel #1 Easy migration from the old mysql extension

<?php
$mysqli = mysqli_connect("example.com", "user", "password", "database");
$res = mysqli_query($mysqli, "SELECT 'Please, do not use ' AS _msg FROM DUAL");
$row = mysqli_fetch_assoc($res);
echo $row['_msg'];

$mysql = mysql_connect("example.com", "user", "password");
mysql_select_db("test");
$res = mysql_query("SELECT 'the mysql extension for new developments.' AS _msg FROM DUAL", $mysql);
$row = mysql_fetch_assoc($res);
echo $row['_msg'];
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Please, do not use the mysql extension for new developments.

The object-oriented interface

In addition to the classical procedural interface, users can choose to use the object-oriented interface. The documentation is organized using the object-oriented interface. The object-oriented interface shows functions grouped by their purpose, making it easier to get started. The reference section gives examples for both syntax variants.

There are no significant performance differences between the two interfaces. Users can base their choice on personal preference.

Beispiel #2 Object-oriented and procedural interface

<?php
$mysqli = mysqli_connect("example.com", "user", "password", "database");
if (mysqli_connect_errno($mysqli)) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$res = mysqli_query($mysqli, "SELECT 'A world full of ' AS _msg FROM DUAL");
$row = mysqli_fetch_assoc($res);
echo $row['_msg'];

$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: " . $mysqli->connect_error;
}

$res = $mysqli->query("SELECT 'choices to please everybody.' AS _msg FROM DUAL");
$row = $res->fetch_assoc();
echo $row['_msg'];
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

A world full of choices to please everybody.

The object oriented interface is used for the quickstart because the reference section is organized that way.

Mixing styles

It is possible to switch between styles at any time. Mixing both styles is not recommended for code clarity and coding style reasons.

Beispiel #3 Bad coding style

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: " . $mysqli->connect_error;
}

$res = mysqli_query($mysqli, "SELECT 'Possible but bad style.' AS _msg FROM DUAL");
if (!$res) {
    echo "Failed to run query: (" . $mysqli->errno . ") " . $mysqli->error;
}

if ($row = $res->fetch_assoc()) {
    echo $row['_msg'];
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Possible but bad style.

See also

  • mysqli::__construct()
  • mysqli::query()
  • mysqli_result::fetch_assoc()
  • $mysqli::connect_errno
  • $mysqli::connect_error
  • $mysqli::errno
  • $mysqli::error
  • The MySQLi Extension Function Summary

Quick start guide
Connections
Quick start guide


Connections

The MySQL server supports the use of different transport layers for connections. Connections use TCP/IP, Unix domain sockets or Windows named pipes.

The hostname localhost has a special meaning. It is bound to the use of Unix domain sockets. It is not possible to open a TCP/IP connection using the hostname localhost you must use 127.0.0.1 instead.

Beispiel #1 Special meaning of localhost

<?php
$mysqli = new mysqli("localhost", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
echo $mysqli->host_info . "\n";

$mysqli = new mysqli("127.0.0.1", "user", "password", "database", 3306);
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

echo $mysqli->host_info . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Localhost via UNIX socket
127.0.0.1 via TCP/IP

Connection parameter defaults

Depending on the connection function used, assorted parameters can be omitted. If a parameter is not provided, then the extension attempts to use the default values that are set in the PHP configuration file.

Beispiel #2 Setting defaults

mysqli.default_host=192.168.2.27
mysqli.default_user=root
mysqli.default_pw=""
mysqli.default_port=3306
mysqli.default_socket=/tmp/mysql.sock

The resulting parameter values are then passed to the client library that is used by the extension. If the client library detects empty or unset parameters, then it may default to the library built-in values.

Built-in connection library defaults

If the host value is unset or empty, then the client library will default to a Unix socket connection on localhost. If socket is unset or empty, and a Unix socket connection is requested, then a connection to the default socket on /tmp/mysql.sock is attempted.

On Windows systems, the host name . is interpreted by the client library as an attempt to open a Windows named pipe based connection. In this case the socket parameter is interpreted as the pipe name. If not given or empty, then the socket (pipe name) defaults to \\.\pipe\MySQL.

If neither a Unix domain socket based not a Windows named pipe based connection is to be established and the port parameter value is unset, the library will default to port 3306.

The mysqlnd library and the MySQL Client Library (libmysqlclient) implement the same logic for determining defaults.

Connection options

Connection options are available to, for example, set init commands which are executed upon connect, or for requesting use of a certain charset. Connection options must be set before a network connection is established.

For setting a connection option, the connect operation has to be
performed in three steps: creating a connection handle with
mysqli_init(), setting the requested options using
mysqli_options(), and establishing the network
connection with mysqli_real_connect().

Connection pooling

The mysqli extension supports persistent database connections, which are a special kind of pooled connections. By default, every database connection opened by a script is either explicitly closed by the user during runtime or released automatically at the end of the script. A persistent connection is not. Instead it is put into a pool for later reuse, if a connection to the same server using the same username, password, socket, port and default database is opened. Reuse saves connection overhead.

Every PHP process is using its own mysqli connection pool. Depending on the web server deployment model, a PHP process may serve one or multiple requests. Therefore, a pooled connection may be used by one or more scripts subsequently.

Persistent connection

If a unused persistent connection for a given combination of host, username, password, socket, port and default database can not be found in the connection pool, then mysqli opens a new connection. The use of persistent connections can be enabled and disabled using the PHP directive mysqli.allow_persistent. The total number of connections opened by a script can be limited with mysqli.max_links. The maximum number of persistent connections per PHP process can be restricted with mysqli.max_persistent. Please note, that the web server may spawn many PHP processes.

A common complain about persistent connections is that their state is not reset before reuse. For example, open and unfinished transactions are not automatically rolled back. But also, authorization changes which happened in the time between putting the connection into the pool and reusing it are not reflected. This may be seen as an unwanted side-effect. On the contrary, the name persistent may be understood as a promise that the state is persisted.

The mysqli extension supports both interpretations of a persistent connection: state persisted, and state reset before reuse. The default is reset. Before a persistent connection is reused, the mysqli extension implicitly calls mysqli_change_user() to reset the state. The persistent connection appears to the user as if it was just opened. No artifacts from previous usages are visible.

The mysqli_change_user() function is an expensive operation. For best performance, users may want to recompile the extension with the compile flag MYSQLI_NO_CHANGE_USER_ON_PCONNECT being set.

It is left to the user to choose between safe behavior and best performance. Both are valid optimization goals. For ease of use, the safe behavior has been made the default at the expense of maximum performance.

See also

  • mysqli::__construct()
  • mysqli::init()
  • mysqli::options()
  • mysqli::real_connect()
  • mysqli::change_user()
  • $mysqli::host_info
  • MySQLi Configuration Options
  • Persistent Database Connections

Dual procedural and object-oriented interface
Executing statements
Quick start guide


Executing statements

Statements can be executed with the
mysqli_query(), mysqli_real_query()
and mysqli_multi_query() functions.
The mysqli_query() function is the most
common, and combines the executing statement with a
buffered fetch of its result set, if any, in one call.
Calling mysqli_query() is identical to
calling mysqli_real_query()
followed by mysqli_store_result().

Beispiel #1 Connecting to MySQL

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP TABLE IF EXISTS test") ||
    !$mysqli->query("CREATE TABLE test(id INT)") ||
    !$mysqli->query("INSERT INTO test(id) VALUES (1)")) {
    echo "Table creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}
?>

Buffered result sets

After statement execution results can be retrieved at once to be buffered by the client or by read row by row. Client-side result set buffering allows the server to free resources associated with the statement results as early as possible. Generally speaking, clients are slow consuming result sets. Therefore, it is recommended to use buffered result sets. mysqli_query() combines statement execution and result set buffering.

PHP applications can navigate freely through buffered results. Navigation is fast because the result sets are held in client memory. Please, keep in mind that it is often easier to scale by client than it is to scale the server.

Beispiel #2 Navigation through buffered results

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP TABLE IF EXISTS test") ||
    !$mysqli->query("CREATE TABLE test(id INT)") ||
    !$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3)")) {
    echo "Table creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

$res = $mysqli->query("SELECT id FROM test ORDER BY id ASC");

echo "Reverse order...\n";
for ($row_no = $res->num_rows - 1; $row_no >= 0; $row_no--) {
    $res->data_seek($row_no);
    $row = $res->fetch_assoc();
    echo " id = " . $row['id'] . "\n";
}

echo "Result set order...\n";
$res->data_seek(0);
while ($row = $res->fetch_assoc()) {
    echo " id = " . $row['id'] . "\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Reverse order...
 id = 3
 id = 2
 id = 1
Result set order...
 id = 1
 id = 2
 id = 3

Unbuffered result sets

If client memory is a short resource and freeing server resources as early as possible to keep server load low is not needed, unbuffered results can be used. Scrolling through unbuffered results is not possible before all rows have been read.

Beispiel #3 Navigation through unbuffered results

<?php
$mysqli->real_query("SELECT id FROM test ORDER BY id ASC");
$res = $mysqli->use_result();

echo "Result set order...\n";
while ($row = $res->fetch_assoc()) {
    echo " id = " . $row['id'] . "\n";
}
?>

Result set values data types

The mysqli_query(), mysqli_real_query() and mysqli_multi_query() functions are used to execute non-prepared statements. At the level of the MySQL Client Server Protocol, the command COM_QUERY and the text protocol are used for statement execution. With the text protocol, the MySQL server converts all data of a result sets into strings before sending. This conversion is done regardless of the SQL result set column data type. The mysql client libraries receive all column values as strings. No further client-side casting is done to convert columns back to their native types. Instead, all values are provided as PHP strings.

Beispiel #4 Text protocol returns strings by default

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP TABLE IF EXISTS test") ||
    !$mysqli->query("CREATE TABLE test(id INT, label CHAR(1))") ||
    !$mysqli->query("INSERT INTO test(id, label) VALUES (1, 'a')")) {
    echo "Table creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

$res = $mysqli->query("SELECT id, label FROM test WHERE id = 1");
$row = $res->fetch_assoc();

printf("id = %s (%s)\n", $row['id'], gettype($row['id']));
printf("label = %s (%s)\n", $row['label'], gettype($row['label']));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

id = 1 (string)
label = a (string)

It is possible to convert integer and float columns back to PHP numbers by setting the MYSQLI_OPT_INT_AND_FLOAT_NATIVE connection option, if using the mysqlnd library. If set, the mysqlnd library will check the result set meta data column types and convert numeric SQL columns to PHP numbers, if the PHP data type value range allows for it. This way, for example, SQL INT columns are returned as integers.

Beispiel #5 Native data types with mysqlnd and connection option

<?php
$mysqli = mysqli_init();
$mysqli->options(MYSQLI_OPT_INT_AND_FLOAT_NATIVE, 1);
$mysqli->real_connect("example.com", "user", "password", "database");

if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP TABLE IF EXISTS test") ||
    !$mysqli->query("CREATE TABLE test(id INT, label CHAR(1))") ||
    !$mysqli->query("INSERT INTO test(id, label) VALUES (1, 'a')")) {
    echo "Table creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

$res = $mysqli->query("SELECT id, label FROM test WHERE id = 1");
$row = $res->fetch_assoc();

printf("id = %s (%s)\n", $row['id'], gettype($row['id']));
printf("label = %s (%s)\n", $row['label'], gettype($row['label']));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

id = 1 (integer)
label = a (string)

See also

  • mysqli::__construct()
  • mysqli::init()
  • mysqli::options()
  • mysqli::real_connect()
  • mysqli::query()
  • mysqli::multi_query()
  • mysqli::use_result()
  • mysqli::store_result()
  • mysqli_result::free()

Connections
Prepared Statements
Quick start guide


Prepared Statements

The MySQL database supports prepared statements. A prepared statement or a parameterized statement is used to execute the same statement repeatedly with high efficiency.

Basic workflow

The prepared statement execution consists of two stages: prepare and execute. At the prepare stage a statement template is sent to the database server. The server performs a syntax check and initializes server internal resources for later use.

The MySQL server supports using anonymous, positional placeholder with ?.

Beispiel #1 First stage: prepare

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

/* Non-prepared statement */
if (!$mysqli->query("DROP TABLE IF EXISTS test") || !$mysqli->query("CREATE TABLE test(id INT)")) {
    echo "Table creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

/* Prepared statement, stage 1: prepare */
if (!($stmt = $mysqli->prepare("INSERT INTO test(id) VALUES (?)"))) {
    echo "Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error;
}
?>

Prepare is followed by execute. During execute the client binds parameter values and sends them to the server. The server creates a statement from the statement template and the bound values to execute it using the previously created internal resources.

Beispiel #2 Second stage: bind and execute

<?php
/* Prepared statement, stage 2: bind and execute */
$id = 1;
if (!$stmt->bind_param("i", $id)) {
    echo "Binding parameters failed: (" . $stmt->errno . ") " . $stmt->error;
}

if (!$stmt->execute()) {
    echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
}
?>

Repeated execution

A prepared statement can be executed repeatedly. Upon every execution the current value of the bound variable is evaluated and sent to the server. The statement is not parsed again. The statement template is not transferred to the server again.

Beispiel #3 INSERT prepared once, executed multiple times

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

/* Non-prepared statement */
if (!$mysqli->query("DROP TABLE IF EXISTS test") || !$mysqli->query("CREATE TABLE test(id INT)")) {
    echo "Table creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

/* Prepared statement, stage 1: prepare */
if (!($stmt = $mysqli->prepare("INSERT INTO test(id) VALUES (?)"))) {
     echo "Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

/* Prepared statement, stage 2: bind and execute */
$id = 1;
if (!$stmt->bind_param("i", $id)) {
    echo "Binding parameters failed: (" . $stmt->errno . ") " . $stmt->error;
}

if (!$stmt->execute()) {
    echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
}

/* Prepared statement: repeated execution, only data transferred from client to server */
for ($id = 2; $id < 5; $id++) {
    if (!$stmt->execute()) {
        echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
    }
}

/* explicit close recommended */
$stmt->close();

/* Non-prepared statement */
$res = $mysqli->query("SELECT id FROM test");
var_dump($res->fetch_all());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(4) {
  [0]=>
  array(1) {
    [0]=>
    string(1) "1"
  }
  [1]=>
  array(1) {
    [0]=>
    string(1) "2"
  }
  [2]=>
  array(1) {
    [0]=>
    string(1) "3"
  }
  [3]=>
  array(1) {
    [0]=>
    string(1) "4"
  }
}

Every prepared statement occupies server resources. Statements should be closed explicitly immediately after use. If not done explicitly, the statement will be closed when the statement handle is freed by PHP.

Using a prepared statement is not always the most efficient way of executing a statement. A prepared statement executed only once causes more client-server round-trips than a non-prepared statement. This is why the SELECT is not run as a prepared statement above.

Also, consider the use of the MySQL multi-INSERT SQL syntax for INSERTs. For the example, multi-INSERT requires less round-trips between the server and client than the prepared statement shown above.

Beispiel #4 Less round trips using multi-INSERT SQL

<?php
if (!$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3), (4)")) {
    echo "Multi-INSERT failed: (" . $mysqli->errno . ") " . $mysqli->error;
}
?>

Result set values data types

The MySQL Client Server Protocol defines a different data transfer protocol for prepared statements and non-prepared statements. Prepared statements are using the so called binary protocol. The MySQL server sends result set data "as is" in binary format. Results are not serialized into strings before sending. The client libraries do not receive strings only. Instead, they will receive binary data and try to convert the values into appropriate PHP data types. For example, results from an SQL INT column will be provided as PHP integer variables.

Beispiel #5 Native datatypes

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP TABLE IF EXISTS test") ||
    !$mysqli->query("CREATE TABLE test(id INT, label CHAR(1))") ||
    !$mysqli->query("INSERT INTO test(id, label) VALUES (1, 'a')")) {
    echo "Table creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

$stmt = $mysqli->prepare("SELECT id, label FROM test WHERE id = 1");
$stmt->execute();
$res = $stmt->get_result();
$row = $res->fetch_assoc();

printf("id = %s (%s)\n", $row['id'], gettype($row['id']));
printf("label = %s (%s)\n", $row['label'], gettype($row['label']));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

id = 1 (integer)
label = a (string)

This behavior differs from non-prepared statements. By default, non-prepared statements return all results as strings. This default can be changed using a connection option. If the connection option is used, there are no differences.

Fetching results using bound variables

Results from prepared statements can either be retrieved by binding output variables, or by requesting a mysqli_result object.

Output variables must be bound after statement execution. One variable must be bound for every column of the statements result set.

Beispiel #6 Output variable binding

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP TABLE IF EXISTS test") ||
    !$mysqli->query("CREATE TABLE test(id INT, label CHAR(1))") ||
    !$mysqli->query("INSERT INTO test(id, label) VALUES (1, 'a')")) {
    echo "Table creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!($stmt = $mysqli->prepare("SELECT id, label FROM test"))) {
    echo "Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!$stmt->execute()) {
    echo "Execute failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

$out_id    = NULL;
$out_label = NULL;
if (!$stmt->bind_result($out_id, $out_label)) {
    echo "Binding output parameters failed: (" . $stmt->errno . ") " . $stmt->error;
}

while ($stmt->fetch()) {
    printf("id = %s (%s), label = %s (%s)\n", $out_id, gettype($out_id), $out_label, gettype($out_label));
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

id = 1 (integer), label = a (string)

Prepared statements return unbuffered result sets by default. The results of the statement are not implicitly fetched and transferred from the server to the client for client-side buffering. The result set takes server resources until all results have been fetched by the client. Thus it is recommended to consume results timely. If a client fails to fetch all results or the client closes the statement before having fetched all data, the data has to be fetched implicitly by mysqli.

It is also possible to buffer the results of a prepared statement using mysqli_stmt_store_result().

Fetching results using mysqli_result interface

Instead of using bound results, results can also be retrieved through the mysqli_result interface. mysqli_stmt_get_result() returns a buffered result set.

Beispiel #7 Using mysqli_result to fetch results

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP TABLE IF EXISTS test") ||
    !$mysqli->query("CREATE TABLE test(id INT, label CHAR(1))") ||
    !$mysqli->query("INSERT INTO test(id, label) VALUES (1, 'a')")) {
    echo "Table creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!($stmt = $mysqli->prepare("SELECT id, label FROM test ORDER BY id ASC"))) {
    echo "Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!$stmt->execute()) {
     echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
}

if (!($res = $stmt->get_result())) {
    echo "Getting result set failed: (" . $stmt->errno . ") " . $stmt->error;
}

var_dump($res->fetch_all());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(1) {
  [0]=>
  array(2) {
    [0]=>
    int(1)
    [1]=>
    string(1) "a"
  }
}

Using the mysqli_result interface offers the additional benefit of flexible client-side result set navigation.

Beispiel #8 Buffered result set for flexible read out

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP TABLE IF EXISTS test") ||
    !$mysqli->query("CREATE TABLE test(id INT, label CHAR(1))") ||
    !$mysqli->query("INSERT INTO test(id, label) VALUES (1, 'a'), (2, 'b'), (3, 'c')")) {
    echo "Table creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!($stmt = $mysqli->prepare("SELECT id, label FROM test"))) {
    echo "Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!$stmt->execute()) {
     echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
}

if (!($res = $stmt->get_result())) {
    echo "Getting result set failed: (" . $stmt->errno . ") " . $stmt->error;
}

for ($row_no = ($res->num_rows - 1); $row_no >= 0; $row_no--) {
    $res->data_seek($row_no);
    var_dump($res->fetch_assoc());
}
$res->close();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  ["id"]=>
  int(3)
  ["label"]=>
  string(1) "c"
}
array(2) {
  ["id"]=>
  int(2)
  ["label"]=>
  string(1) "b"
}
array(2) {
  ["id"]=>
  int(1)
  ["label"]=>
  string(1) "a"
}

Escaping and SQL injection

Bound variables are sent to the server separately from the query and thus cannot interfere with it. The server uses these values directly at the point of execution, after the statement template is parsed. Bound parameters do not need to be escaped as they are never substituted into the query string directly. A hint must be provided to the server for the type of bound variable, to create an appropriate conversion. See the mysqli_stmt_bind_param() function for more information.

Such a separation sometimes considered as the only security feature to prevent SQL injection, but the same degree of security can be achieved with non-prepared statements, if all the values are formatted correctly. It should be noted that correct formatting is not the same as escaping and involves more logic than simple escaping. Thus, prepared statements are simply a more convenient and less error-prone approach to this element of database security.

Client-side prepared statement emulation

The API does not include emulation for client-side prepared statement emulation.

Quick prepared - non-prepared statement comparison

The table below compares server-side prepared and non-prepared statements.

Comparison of prepared and non-prepared statements
 | Prepared Statement | Non-prepared statement
Client-server round trips, SELECT, single execution | 2 | 1
Statement string transferred from client to server | 1 | 1
Client-server round trips, SELECT, repeated (n) execution | 1 + n | n
Statement string transferred from client to server | 1 template, n times bound parameter, if any | n times together with parameter, if any
Input parameter binding API | Yes, automatic input escaping | No, manual input escaping
Output variable binding API | Yes | No
Supports use of mysqli_result API | Yes, use mysqli_stmt_get_result() | Yes
Buffered result sets | Yes, use mysqli_stmt_get_result() or binding with mysqli_stmt_store_result() | Yes, default of mysqli_query()
Unbuffered result sets | Yes, use output binding API | Yes, use mysqli_real_query() with mysqli_use_result()
MySQL Client Server protocol data transfer flavor | Binary protocol | Text protocol
Result set values SQL data types | Preserved when fetching | Converted to string or preserved when fetching
Supports all SQL statements | Recent MySQL versions support most but not all | Yes

See also

  • mysqli::__construct()
  • mysqli::query()
  • mysqli::prepare()
  • mysqli_stmt::prepare()
  • mysqli_stmt::execute()
  • mysqli_stmt::bind_param()
  • mysqli_stmt::bind_result()

Executing statements
Stored Procedures
Quick start guide


Stored Procedures

The MySQL database supports stored procedures. A stored procedure is a subroutine stored in the database catalog. Applications can call and execute the stored procedure. The CALL SQL statement is used to execute a stored procedure.

Parameter

Stored procedures can have IN, INOUT and OUT parameters, depending on the MySQL version. The mysqli interface has no special notion for the different kinds of parameters.

IN parameter

Input parameters are provided with the CALL statement. Please, make sure values are escaped correctly.

Beispiel #1 Calling a stored procedure

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP TABLE IF EXISTS test") || !$mysqli->query("CREATE TABLE test(id INT)")) {
    echo "Table creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!$mysqli->query("DROP PROCEDURE IF EXISTS p") ||
    !$mysqli->query("CREATE PROCEDURE p(IN id_val INT) BEGIN INSERT INTO test(id) VALUES(id_val); END;")) {
    echo "Stored procedure creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!$mysqli->query("CALL p(1)")) {
    echo "CALL failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!($res = $mysqli->query("SELECT id FROM test"))) {
    echo "SELECT failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

var_dump($res->fetch_assoc());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(1) {
  ["id"]=>
  string(1) "1"
}

INOUT/OUT parameter

The values of INOUT/OUT parameters are accessed using session variables.

Beispiel #2 Using session variables

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP PROCEDURE IF EXISTS p") ||
    !$mysqli->query('CREATE PROCEDURE p(OUT msg VARCHAR(50)) BEGIN SELECT "Hi!" INTO msg; END;')) {
    echo "Stored procedure creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!$mysqli->query("SET @msg = ''") || !$mysqli->query("CALL p(@msg)")) {
    echo "CALL failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!($res = $mysqli->query("SELECT @msg as _p_out"))) {
    echo "Fetch failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

$row = $res->fetch_assoc();
echo $row['_p_out'];
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Hi!

Application and framework developers may be able to provide a more convenient API using a mix of session variables and databased catalog inspection. However, please note the possible performance impact of a custom solution based on catalog inspection.

Handling result sets

Stored procedures can return result sets. Result sets returned from a stored procedure cannot be fetched correctly using mysqli_query(). The mysqli_query() function combines statement execution and fetching the first result set into a buffered result set, if any. However, there are additional stored procedure result sets hidden from the user which cause mysqli_query() to fail returning the user expected result sets.

Result sets returned from a stored procedure are fetched using mysqli_real_query() or mysqli_multi_query(). Both functions allow fetching any number of result sets returned by a statement, such as CALL. Failing to fetch all result sets returned by a stored procedure causes an error.

Beispiel #3 Fetching results from stored procedures

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP TABLE IF EXISTS test") ||
    !$mysqli->query("CREATE TABLE test(id INT)") ||
    !$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3)")) {
    echo "Table creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!$mysqli->query("DROP PROCEDURE IF EXISTS p") ||
    !$mysqli->query('CREATE PROCEDURE p() READS SQL DATA BEGIN SELECT id FROM test; SELECT id + 1 FROM test; END;')) {
    echo "Stored procedure creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!$mysqli->multi_query("CALL p()")) {
    echo "CALL failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

do {
    if ($res = $mysqli->store_result()) {
        printf("---\n");
        var_dump($res->fetch_all());
        $res->free();
    } else {
        if ($mysqli->errno) {
            echo "Store failed: (" . $mysqli->errno . ") " . $mysqli->error;
        }
    }
} while ($mysqli->more_results() && $mysqli->next_result());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

---
array(3) {
  [0]=>
  array(1) {
    [0]=>
    string(1) "1"
  }
  [1]=>
  array(1) {
    [0]=>
    string(1) "2"
  }
  [2]=>
  array(1) {
    [0]=>
    string(1) "3"
  }
}
---
array(3) {
  [0]=>
  array(1) {
    [0]=>
    string(1) "2"
  }
  [1]=>
  array(1) {
    [0]=>
    string(1) "3"
  }
  [2]=>
  array(1) {
    [0]=>
    string(1) "4"
  }
}

Use of prepared statements

No special handling is required when using the prepared statement interface for fetching results from the same stored procedure as above. The prepared statement and non-prepared statement interfaces are similar. Please note, that not every MYSQL server version may support preparing the CALL SQL statement.

Beispiel #4 Stored Procedures and Prepared Statements

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP TABLE IF EXISTS test") ||
    !$mysqli->query("CREATE TABLE test(id INT)") ||
    !$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3)")) {
    echo "Table creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!$mysqli->query("DROP PROCEDURE IF EXISTS p") ||
    !$mysqli->query('CREATE PROCEDURE p() READS SQL DATA BEGIN SELECT id FROM test; SELECT id + 1 FROM test; END;')) {
    echo "Stored procedure creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!($stmt = $mysqli->prepare("CALL p()"))) {
    echo "Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!$stmt->execute()) {
    echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
}

do {
    if ($res = $stmt->get_result()) {
        printf("---\n");
        var_dump(mysqli_fetch_all($res));
        mysqli_free_result($res);
    } else {
        if ($stmt->errno) {
            echo "Store failed: (" . $stmt->errno . ") " . $stmt->error;
        }
    }
} while ($stmt->more_results() && $stmt->next_result());
?>

Of course, use of the bind API for fetching is supported as well.

Beispiel #5 Stored Procedures and Prepared Statements using bind API

<?php
if (!($stmt = $mysqli->prepare("CALL p()"))) {
    echo "Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

if (!$stmt->execute()) {
    echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
}

do {

    $id_out = NULL;
    if (!$stmt->bind_result($id_out)) {
        echo "Bind failed: (" . $stmt->errno . ") " . $stmt->error;
    }

    while ($stmt->fetch()) {
        echo "id = $id_out\n";
    }
} while ($stmt->more_results() && $stmt->next_result());
?>

See also

  • mysqli::query()
  • mysqli::multi_query()
  • mysqli_result::next-result()
  • mysqli_result::more-results()

Prepared Statements
Multiple Statements
Quick start guide


Multiple Statements

MySQL optionally allows having multiple statements in one statement string. Sending multiple statements at once reduces client-server round trips but requires special handling.

Multiple statements or multi queries must be executed with mysqli_multi_query(). The individual statements of the statement string are separated by semicolon. Then, all result sets returned by the executed statements must be fetched.

The MySQL server allows having statements that do return result sets and statements that do not return result sets in one multiple statement.

Beispiel #1 Multiple Statements

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP TABLE IF EXISTS test") || !$mysqli->query("CREATE TABLE test(id INT)")) {
    echo "Table creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

$sql = "SELECT COUNT(*) AS _num FROM test; ";
$sql.= "INSERT INTO test(id) VALUES (1); ";
$sql.= "SELECT COUNT(*) AS _num FROM test; ";

if (!$mysqli->multi_query($sql)) {
    echo "Multi query failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

do {
    if ($res = $mysqli->store_result()) {
        var_dump($res->fetch_all(MYSQLI_ASSOC));
        $res->free();
    }
} while ($mysqli->more_results() && $mysqli->next_result());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(1) {
  [0]=>
  array(1) {
    ["_num"]=>
    string(1) "0"
  }
}
array(1) {
  [0]=>
  array(1) {
    ["_num"]=>
    string(1) "1"
  }
}

Security considerations

The API functions mysqli_query() and mysqli_real_query() do not set a connection flag necessary for activating multi queries in the server. An extra API call is used for multiple statements to reduce the likeliness of accidental SQL injection attacks. An attacker may try to add statements such as ; DROP DATABASE mysql or ; SELECT SLEEP(999). If the attacker succeeds in adding SQL to the statement string but mysqli_multi_query is not used, the server will not execute the second, injected and malicious SQL statement.

Beispiel #2 SQL Injection

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
$res    = $mysqli->query("SELECT 1; DROP TABLE mysql.user");
if (!$res) {
    echo "Error executing query: (" . $mysqli->errno . ") " . $mysqli->error;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Error executing query: (1064) You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the right syntax
to use near 'DROP TABLE mysql.user' at line 1

Prepared statements

Use of the multiple statement with prepared statements is not supported.

See also

  • mysqli::query()
  • mysqli::multi_query()
  • mysqli_result::next-result()
  • mysqli_result::more-results()

Stored Procedures
API support for transactions
Quick start guide


API support for transactions

The MySQL server supports transactions depending on the storage engine used. Since MySQL 5.5, the default storage engine is InnoDB. InnoDB has full ACID transaction support.

Transactions can either be controlled using SQL or API calls. It is recommended to use API calls for enabling and disabling the auto commit mode and for committing and rolling back transactions.

Beispiel #1 Setting auto commit mode with SQL and through the API

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

/* Recommended: using API to control transactional settings */
$mysqli->autocommit(false);

/* Won't be monitored and recognized by the replication and the load balancing plugin */
if (!$mysqli->query('SET AUTOCOMMIT = 0')) {
    echo "Query failed: (" . $mysqli->errno . ") " . $mysqli->error;
}
?>

Optional feature packages, such as the replication and load balancing plugin, can easily monitor API calls. The replication plugin offers transaction aware load balancing, if transactions are controlled with API calls. Transaction aware load balancing is not available if SQL statements are used for setting auto commit mode, committing or rolling back a transaction.

Beispiel #2 Commit and rollback

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
$mysqli->autocommit(false);

$mysqli->query("INSERT INTO test(id) VALUES (1)");
$mysqli->rollback();

$mysqli->query("INSERT INTO test(id) VALUES (2)");
$mysqli->commit();
?>

Please note, that the MySQL server cannot roll back all statements. Some statements cause an implicit commit.

See also

  • mysqli::autocommit()
  • mysqli_result::commit()
  • mysqli_result::rollback()

Multiple Statements
Metadata
Quick start guide


Metadata

A MySQL result set contains metadata. The metadata describes the columns found in the result set. All metadata sent by MySQL is accessible through the mysqli interface. The extension performs no or negligible changes to the information it receives. Differences between MySQL server versions are not aligned.

Meta data is access through the mysqli_result interface.

Beispiel #1 Accessing result set meta data

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

$res = $mysqli->query("SELECT 1 AS _one, 'Hello' AS _two FROM DUAL");
var_dump($res->fetch_fields());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  [0]=>
  object(stdClass)#3 (13) {
    ["name"]=>
    string(4) "_one"
    ["orgname"]=>
    string(0) ""
    ["table"]=>
    string(0) ""
    ["orgtable"]=>
    string(0) ""
    ["def"]=>
    string(0) ""
    ["db"]=>
    string(0) ""
    ["catalog"]=>
    string(3) "def"
    ["max_length"]=>
    int(1)
    ["length"]=>
    int(1)
    ["charsetnr"]=>
    int(63)
    ["flags"]=>
    int(32897)
    ["type"]=>
    int(8)
    ["decimals"]=>
    int(0)
  }
  [1]=>
  object(stdClass)#4 (13) {
    ["name"]=>
    string(4) "_two"
    ["orgname"]=>
    string(0) ""
    ["table"]=>
    string(0) ""
    ["orgtable"]=>
    string(0) ""
    ["def"]=>
    string(0) ""
    ["db"]=>
    string(0) ""
    ["catalog"]=>
    string(3) "def"
    ["max_length"]=>
    int(5)
    ["length"]=>
    int(5)
    ["charsetnr"]=>
    int(8)
    ["flags"]=>
    int(1)
    ["type"]=>
    int(253)
    ["decimals"]=>
    int(31)
  }
}

Prepared statements

Meta data of result sets created using prepared statements are accessed the same way. A suitable mysqli_result handle is returned by mysqli_stmt_result_metadata().

Beispiel #2 Prepared statements metadata

<?php
$stmt = $mysqli->prepare("SELECT 1 AS _one, 'Hello' AS _two FROM DUAL");
$stmt->execute();
$res = $stmt->result_metadata();
var_dump($res->fetch_fields());
?>

See also

  • mysqli::query()
  • mysqli_result::fetch_fields()

API support for transactions
Installation/Konfiguration
Quick start guide


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Metadata
Anforderungen
Mysqli


Anforderungen

Um diese Erweitertung zu benutzen muss PHP mit Support für die mysqli Erweiterung compiliert werden.

Hinweis:

Die mysqli Erweiterung funktioniert mit den MySQL Version 4.1.13 oder neuer und 5.0.7 oder neuer. Für ältere Versionen schauen Sie sich bitte die MySQL Erweiterung an.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Beginnend mit PHP 5.0 ist die Unterstützung für MySQL in den Standarddistributionen nicht mehr automatisch aktiviert. Das bedeutet, dass PHP explizit so konfiguriert werden muss, dass es die MySQL-Erweiterungen nutzen kann.

Die meisten Unixdistributionen enthalten Binärversionen von PHP, die installiert werden können. Obwohl diese Binärversionen typischerweise mit aktivierter Unterstützung für die MySQL-Erweiterungen gebaut sind, müssen die Bibliotheken selbst als zusätzliches Paket installiert werden. Prüfen Sie mit dem Paketmanager Ihrer gewählten Distribution, ob entsprechende Pakete verfügbar sind.

Falls Ihre Unixdistribution kein Binärpaket von PHP mit einer verfügbaren mysqli-Erweiterung enthält, müssen Sie PHP aus dem Sourcecode neu bauen. Dies erlaubt es Ihnen anzugeben, welche MySQL-Erweiterungen Sie verwenden wollen, und auch, welche Client-Bibliothek Sie für die jeweilige Erweiterung nutzen möchten.

Um die mysqli-Erweiterung für PHP zu aktivieren, müssen Sie den PHP-Sourcecode so konfigurieren, dass er mysqli verwendet. Dies erreichen Sie, indem Sie das configure-Skript mit der Option --with-mysqli=mysql_config_path/mysql_config aufrufen, bevor Sie den Build von PHP starten. Dadurch aktivieren Sie mysqli und verwenden die MySQL-Client-Bibliothek (libmysql), um mit dem MySQL-Server zu kommunizieren.

Hinweis:

Der mysql_config_path repräsentiert den Ort, an dem die mysql_config liegt, die mit dem MySQL-Server ausgeliefert wird.

Seit PHP-Version 5.3 können Sie alternativ den neuen MySQL-Native-Treiber zusammen mit mysqli verwenden. Sie erhalten dadurch eine Reihe von Vorteilen gegenüber der Verwendung der libmysql.

Um den MySQL-Native-Treiber mit mysqli zu verwenden, müssen Sie den PHP-Sourcecode mit --with-mysqli=mysqlnd konfigurieren, bevor Sie den PHP-Build starten.

Dies ist die empfohlene Option, da die Verwendung des MySQL-Native-Treibers zu einer verbesserten Performance führt und Zugriff auf Funktionen gewährt, die bei der Verwendung der MySQL-Client-Bibliothek nicht zur Verfügung stehen. Lesen Sie Was versteht man unter dem MySQL-Native-Treiber von PHP?, um einen kurzen Überblick über die Vorteile des MySQL-Native-Treibers zu erhalten.

Es ist möglich, MySQL-Erweiterungen und Client-Bibliotheken frei zu mischen. Zum Beispiel ist es denkbar, dass die MySQL-Erweiterung die MySQL-Client-Bibliothek (libmysql) verwendet, während die mysqli-Erweiterung so konfiguriert ist, dass sie den MySQL-Native-Treiber verwendet. Alle Kombinationen von Erweiterungen und Client-Bibliotheken sind möglich.

Das folgende Beispiel baut die MySQL-Erweiterung unter Verwendung der MySQL-Client-Bibliothek und mysqli- sowie PDO-MYSQL-Erweiterungen, die den MySQL-Native-Treiber verwenden:

./configure --with-mysql=/usr/bin/mysql_config  \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd
[other options]

Installation auf Windows-Systemen

Unter Windows wird PHP in der Regel durch den Binärinstaller installiert. Sobald PHP installiert wurde, sind einige Konfigurationseinstellungen notwendig, um mysqli zu aktivieren und die Client-Bibliothek anzugeben, die verwendet werden soll.

Wie zuvor erwähnt, ist die mysqli-Erweiterung nicht standardmäßig aktiviert, daher muss die php_mysqli.dll-DLL in der php.ini aktiviert werden. Um dies zu tun, müssen Sie die php.ini-Datei finden (typischerweise liegt diese unter c:\php) und überprüfen, dass das Kommentarzeichen (ein Semikolon) vom Anfang der Zeile extension=php_mysqli.dll in der Sektion [PHP_MYSQLI] entfernt wurde.

Wenn Sie die MySQL-Client-Bibliothek mit mysqli verwenden wollen, stellen Sie sicher, dass PHP auf die Bibliothek zugreifen kann. Die MySQL-Client-Bibliothek ist in einer Datei namens libmysql.dll der PHP-Windowsdistribution enthalten. Um sie erfolgreich laden zu können, muss sie innerhalb des Pfades liegen, der von der Windows-Umgebungsvariablen PATH bestimmt wird. Lesen Sie dazu auch den FAQ-Eintrag "Wie füge ich mein PHP-Verzeichnis der PATH-Variablen unter Windows hinzu?", um mehr Informationen darüber zu erhalten. Das Kopieren libmysql.dll in das Windows-Systemverzeichnis (typischerweise c:\Windows\system) funktioniert ebenfalls, da das Systemverzeichnis standardmäßig im PATH enthalten ist. Allerdings raten wir von dieser Arbeitsweise stark ab.

Unter Windows gilt für die PHP-Versionen 5.3 und neuer, dass die mysqli-Erweiterung standardmäßig den MySQL-Native-Treiber verwendet. Das bedeutet, dass Sie sich keine Gedanken über die Konfiguration des Zugriffs auf die libmysql.dll machen brauchen; Sie müssen nur sicherstellen, dass die Erweiterung in der php.ini aktiviert ist.

Wie bei der Aktivierung jeder anderen PHP-Extension (wie z.B. php_mysqli.dll) sollte auch hier die PHP-Direktive extension_dir auf das Verzeichnis zeigen, in dem die vorhandenen PHP-Extensions liegen. Lesen Sie dazu auch den Abschnitt Manual Windows Installation Instructions. Ein entsprechender extension_dir-Wert für PHP 5 ist zum Beispiel c:\php\ext.

Hinweis:

Wenn beim Starten des Webservers ein Fehler ähnlich dem folgenden auftritt: "Unable to load dynamic library './php_mysqli.dll'", wird im Normalfall die php_mysqli.dll und/oder die libmysql.dll nicht vom System gefunden.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

MySQLi-Konfigurations-Optionen
Name | Standard | Veränderbar | Changelog
mysqli.allow_local_infile | "1" | PHP_INI_SYSTEM | verfügbar seit PHP 5.2.4
mysqli.allow_persistent | "1" | PHP_INI_SYSTEM | verfügbar seit PHP 5.3.0.
mysqli.max_persistent | "-1" | PHP_INI_SYSTEM | verfügbar seit PHP 5.3.0.
mysqli.max_links | "-1" | PHP_INI_SYSTEM | verfügbar seit PHP 5.0.0
mysqli.default_port | 3306 | PHP_INI_ALL | verfügbar seit PHP 5.0.0
mysqli.default_socket | NULL | PHP_INI_ALL | verfügbar seit PHP 5.0.0
mysqli.default_host | NULL | PHP_INI_ALL | verfügbar seit PHP 5.0.0
mysqli.default_user | NULL | PHP_INI_ALL | verfügbar seit PHP 5.0.0
mysqli.default_pw | NULL | PHP_INI_ALL | verfügbar seit PHP 5.0.0
mysqli.reconnect | "0" | PHP_INI_SYSTEM | verfügbar seit PHP 4.3.5
mysqli.cache_size | "2000" | PHP_INI_SYSTEM | verfügbar seit PHP 5.3.0

Für weitere Details und Definitionen über die oben genannten PHP_INI_*-Konstanten sehen Sie im Kapitel über Konfigurations-Änderungen nach.

Hier eine kurze Erklärung der Konfigurationsoptionen:

mysqli.allow_local_infile integer

Erlaubt den Zugriff auf aus der Persepektive von PHP lokale Dateien mit LOAD DATA Anweisungen.

mysqli.allow_persistent integer

Aktiviert die Möglichkeit, persistente Verbindungen mittels mysqli_connect() zu erstellen.

mysqli.max_persistent integer

Maximale Anzahl persistenter Verbindungen. Ist der Wert auf 0 gesetzt, ist die Anzahl unbegrenzt.

mysqli.max_links integer

Die maximale Anzahl von MySQL-Verbindungen pro Prozess.

mysqli.default_port integer

Die Standard-TCP-Portnummer, die benutzt werden soll, wenn eine Verbindung zum Datenbankserver aufgenommen werden soll und kein anderer Port explizit angegeben wurde. Wenn hier kein Standardport angegeben wird, wird der Port aus der MYSQL_TCP_PORT Umgebungs-Variable, dem mysql-tcp-Eintrag in der /etc/services oder der compile-time MYSQL_PORT-Konstante (in dieser Reihenfolge) verwendet. Win32 benutzt nur die MYSQL_PORT-Konstante.

mysqli.default_socket string

Der Standard-Socketname, der beim Verbindungsaufbau zu einem lokalen Datenbankserver verwendet wird, sofern kein anderer Socketname angegeben wurde.

mysqli.default_host string

Der Standard-Server-Host, der beim Verbindungsaufbau zu einem lokalen Datenbankserver verwendet wird, sofern kein anderer Host angegeben wurde. Funktioniert nicht im Safe Mode.

mysqli.default_user string

Der Standard-Username, der beim Verbindungsaufbau zu einem lokalen Datenbankserver verwendet wird, sofern kein anderer Name angegeben wurde. Funktioniert nicht im Safe Mode.

mysqli.default_password string

Das Standard-Passwort, das beim Verbindungsaufbau zu einem lokalen Datenbankserver verwendet wird, sofern kein anderes Passwort angegeben wurde. Funktioniert nicht im Safe Mode.

mysqli.reconnect integer

Automatischer Neuaufbau der Verbindung, falls die Verbindung getrennt wird.

mysqli.cache_size integer

Nur in mysqlnd verfügbar.

Nutzer können MYSQL_OPT_READ_TIMEOUT nicht durch einen API-Aufruf oder Laufzeitkonfigurationseinstellungen ändern. Es ist zu beachten, dass es, wenn das möglich wäre, Unterschiede gäbe wie libmysqlclient und Streams den Wert von MYSQL_OPT_READ_TIMEOUT interpretieren.

Installation
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

Diese Erweiterung definiert keine Ressource-Typen.

Laufzeit-Konfiguration
The mysqli Extension and Persistent Connections
Installation/Konfiguration


The mysqli Extension and Persistent Connections

Persistent connection support was introduced in PHP 5.3 for the mysqli extension. Support was already present in PDO MYSQL and ext/mysql. The idea behind persistent connections is that a connection between a client process and a database can be reused by a client process, rather than being created and destroyed multiple times. This reduces the overhead of creating fresh connections every time one is required, as unused connections are cached and ready to be reused.

Unlike the mysql extension, mysqli does not provide a separate function for opening persistent connections. To open a persistent connection you must prepend p: to the hostname when connecting.

The problem with persistent connections is that they can be left in unpredictable states by clients. For example, a table lock might be activated before a client terminates unexpectedly. A new client process reusing this persistent connection will get the connection "as is". Any cleanup would need to be done by the new client process before it could make good use of the persistent connection, increasing the burden on the programmer.

The persistent connection of the mysqli extension however provides built-in cleanup handling code. The cleanup carried out by mysqli includes:

  • Rollback active transactions

  • Close and drop temporary tables

  • Unlock tables

  • Reset session variables

  • Close prepared statements (always happens with PHP)

  • Close handler

  • Release locks acquired with GET_LOCK()

This ensures that persistent connections are in a clean state on return from the connection pool, before the client process uses them.

The mysqli extension does this cleanup by automatically calling the C-API function mysql_change_user().

The automatic cleanup feature has advantages and disadvantages though. The advantage is that the programmer no longer needs to worry about adding cleanup code, as it is called automatically. However, the disadvantage is that the code could potentially be a little slower, as the code to perform the cleanup needs to run each time a connection is returned from the connection pool.

It is possible to switch off the automatic cleanup code, by compiling PHP with MYSQLI_NO_CHANGE_USER_ON_PCONNECT defined.

Hinweis:

The mysqli extension supports persistent connections when using either MySQL Native Driver or MySQL Client Library.

Ressource-Typen
Vordefinierte Konstanten
Mysqli


Vordefinierte Konstanten

MYSQLI_READ_DEFAULT_GROUP

Liest Optionen aus der angegebenen Gruppe in my.cnf oder der mit MYSQLI_READ_DEFAULT_FILE angegebenen Datei.

MYSQLI_READ_DEFAULT_FILE

Liest Optionen aus der angegebenen Datei anstelle von my.cnf.

MYSQLI_OPT_CONNECT_TIMEOUT

Verbindungs-Timeout in Sekunden.

MYSQLI_OPT_LOCAL_INFILE

Gestattet Nutzung des LOAD LOCAL INFILE-Kommandos.

MYSQLI_INIT_COMMAND

Kommando, das bei der Verbindungsaufnahme zum MySQL-Server ausgeführt werden soll. Dieses Kommando wird auch bei automatischer Wiederaufnahme der Verbindung nach Unterbrechungen ausgeführt.

MYSQLI_CLIENT_SSL

Nutze SSL-Verschlüsselung. Diese Option sollte nicht von Applikationen gesetzt werden, sie wird stattdessen von der MySQL-Client-Bibliothek intern gesetzt.

MYSQLI_CLIENT_COMPRESS

Nutze komprimierte Übertragung.

MYSQLI_CLIENT_INTERACTIVE

Unterbricht die Verbindung nach interactive_timeout Sekunden Inaktivität (an Stelle von wait_timeout). Die wait_timeout Variable der Verbindungssession wir auf den Wert der interactive_timeout Variablen der Session gesetzt.

MYSQLI_CLIENT_IGNORE_SPACE

Ermöglicht Leerzeichen nach Funktionsnamen, dadurch werden alle Funktionsnamen automatisch zu reservierten Worten.

MYSQLI_CLIENT_NO_SCHEMA

Deaktiviert die datenbank.tabelle.spalte-Syntax.

MYSQLI_CLIENT_MULTI_QUERIES

Ermöglicht mehrere Semikolon-getrennte Abfragen innerhalb eines einzelnen mysqli_query() Aufrufs.

MYSQLI_STORE_RESULT

Abfrageergebnisse werden clientseitig gepuffert.

MYSQLI_USE_RESULT

Abfrageergebnisse werden nicht clientseitig gepuffert.

MYSQLI_ASSOC

Spaltenwerte werden als Array mit dem Spaltennamen als Schlüssel zurückgegeben.

MYSQLI_NUM

Spaltenwerte werden als Array mit der Spaltennummer als Schlüssel zurückgegeben.

MYSQLI_BOTH

Spaltenwerte werden als Array mit sowohl der Spaltennummer als auch dem Spaltennamen als Schlüssel zurückgegeben.

MYSQLI_NOT_NULL_FLAG

Gibt an, dass eine Spalte als NOT NULL definiert ist.

MYSQLI_PRI_KEY_FLAG

Spalte ist Teil eines Primärschlüssels.

MYSQLI_UNIQUE_KEY_FLAG

Spalte ist Teil eines Unique Index.

MYSQLI_MULTIPLE_KEY_FLAG

Spalte ist Teil eines Index.

MYSQLI_BLOB_FLAG

Spalte ist als BLOB definiert.

MYSQLI_UNSIGNED_FLAG

Spalte ist als UNSIGNED definiert.

MYSQLI_ZEROFILL_FLAG

Spalte ist als ZEROFILL definiert.

MYSQLI_AUTO_INCREMENT_FLAG

Spalte ist als AUTO_INCREMENT definiert.

MYSQLI_TIMESTAMP_FLAG

Spalte ist als TIMESTAMP definiert.

MYSQLI_SET_FLAG

Spalte ist als SET definiert.

MYSQLI_NUM_FLAG

Spalte ist als NUMERIC definiert.

MYSQLI_PART_KEY_FLAG

Spalte ist Teil eines mehrspaltigen Index.

MYSQLI_GROUP_FLAG

Spalte ist Teil der GROUP BY-Bedingung

MYSQLI_TYPE_DECIMAL

Spalte ist als DECIMAL definiert.

MYSQLI_TYPE_NEWDECIMAL

Spalte ist als DECIMAL oder NUMERIC definiert. (ab MySQL 5.0.3)

MYSQLI_TYPE_BIT

Spalte ist als BIT definiert. (ab MySQL 5.0.3)

MYSQLI_TYPE_TINY

Spalte ist als TINYINT definiert.

MYSQLI_TYPE_SHORT

Spalte ist als SMALLINT definiert.

MYSQLI_TYPE_LONG

Spalte ist als INT definiert.

MYSQLI_TYPE_FLOAT

Spalte ist als FLOAT definiert.

MYSQLI_TYPE_DOUBLE

Spalte ist als DOUBLE definiert.

MYSQLI_TYPE_NULL

Spalte ist als DEFAULT NULL definiert.

MYSQLI_TYPE_TIMESTAMP

Spalte ist als TIMESTAMP definiert.

MYSQLI_TYPE_LONGLONG

Spalte ist als BIGINT definiert.

MYSQLI_TYPE_INT24

Spalte ist als MEDIUMINT definiert.

MYSQLI_TYPE_DATE

Spalte ist als DATE definiert.

MYSQLI_TYPE_TIME

Spalte ist als TIME definiert.

MYSQLI_TYPE_DATETIME

Spalte ist als DATETIME definiert.

MYSQLI_TYPE_YEAR

Spalte ist als YEAR definiert.

MYSQLI_TYPE_NEWDATE

Spalte ist als DATE definiert.

MYSQLI_TYPE_INTERVAL

Spalte ist als INTERVAL definiert.

MYSQLI_TYPE_ENUM

Spalte ist als ENUM definiert.

MYSQLI_TYPE_SET

Spalte ist als SET definiert.

MYSQLI_TYPE_TINY_BLOB

Spalte ist als TINYBLOB definiert.

MYSQLI_TYPE_MEDIUM_BLOB

Spalte ist als MEDIUMBLOB definiert.

MYSQLI_TYPE_LONG_BLOB

Spalte ist als LONGBLOB definiert.

MYSQLI_TYPE_BLOB

Spalte ist als BLOB definiert.

MYSQLI_TYPE_VAR_STRING

Spalte ist als VARCHAR definiert.

MYSQLI_TYPE_STRING

Spalte ist als STRING definiert.

MYSQLI_TYPE_CHAR

Spalte ist als CHAR definiert.

MYSQLI_TYPE_GEOMETRY

Spalte ist als GEOMETRY definiert.

MYSQLI_NEED_DATA

Weitere Daten für eine gebundenen Variable verfügbar.

MYSQLI_NO_DATA

Keine weiteren Daten für eine gebundenen Variable verfügbar.

MYSQLI_DATA_TRUNCATED

Daten wurden unvollständig übertragen. Verfügbar ab PHP 5.1.0 und MySQL 5.0.5.

MYSQLI_ENUM_FLAG

Spalte ist als ENUM definiert. Verfügbar ab PHP 5.3.0.

MYSQLI_CURSOR_TYPE_FOR_UPDATE

MYSQLI_CURSOR_TYPE_NO_CURSOR

MYSQLI_CURSOR_TYPE_READ_ONLY

MYSQLI_CURSOR_TYPE_SCROLLABLE

MYSQLI_STMT_ATTR_CURSOR_TYPE

MYSQLI_STMT_ATTR_PREFETCH_ROWS

MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH

MYSQLI_SET_CHARSET_NAME

The mysqli Extension and Persistent Connections
Notes
Mysqli


Notes

Some implementation notes:

  1. Support was added for MYSQL_TYPE_GEOMETRY to the MySQLi extension in PHP 5.3.

  2. Note there are different internal implementations within libmysqlclient and mysqlnd for handling columns of type MYSQL_TYPE_GEOMETRY. Generally speaking, mysqlnd will allocate significantly less memory. For example, if there is a POINT column in a result set, libmysqlclient may pre-allocate up to 4GB of RAM although less than 50 bytes are needed for holding a POINT column in memory. Memory allocation is much lower, less than 50 bytes, if using mysqlnd.

Vordefinierte Konstanten
The MySQLi Extension Function Summary
Mysqli


The MySQLi Extension Function Summary

Summary of mysqli methods
mysqli Class
OOP Interface | Procedural Interface | Alias (Do not use) | Description
Properties
$mysqli::affected_rows | mysqli_affected_rows() | N/A | Gets the number of affected rows in a previous MySQL operation
$mysqli::client_info | mysqli_get_client_info() | N/A | Returns the MySQL client version as a string
$mysqli::client_version | mysqli_get_client_version() | N/A | Returns MySQL client version info as an integer
$mysqli::connect_errno | mysqli_connect_errno() | N/A | Returns the error code from last connect call
$mysqli::connect_error | mysqli_connect_error() | N/A | Returns a string description of the last connect error
$mysqli::errno | mysqli_errno() | N/A | Returns the error code for the most recent function call
$mysqli::error | mysqli_error() | N/A | Returns a string description of the last error
$mysqli::field_count | mysqli_field_count() | N/A | Returns the number of columns for the most recent query
$mysqli::host_info | mysqli_get_host_info() | N/A | Returns a string representing the type of connection used
$mysqli::protocol_version | mysqli_get_proto_info() | N/A | Returns the version of the MySQL protocol used
$mysqli::server_info | mysqli_get_server_info() | N/A | Returns the version of the MySQL server
$mysqli::server_version | mysqli_get_server_version() | N/A | Returns the version of the MySQL server as an integer
$mysqli::info | mysqli_info() | N/A | Retrieves information about the most recently executed query
$mysqli::insert_id | mysqli_insert_id() | N/A | Returns the auto generated id used in the last query
$mysqli::sqlstate | mysqli_sqlstate() | N/A | Returns the SQLSTATE error from previous MySQL operation
$mysqli::warning_count | mysqli_warning_count() | N/A | Returns the number of warnings from the last query for the given link
Methods
mysqli::autocommit() | mysqli_autocommit() | N/A | Turns on or off auto-committing database modifications
mysqli::change_user() | mysqli_change_user() | N/A | Changes the user of the specified database connection
mysqli::character_set_name(), mysqli::client_encoding | mysqli_character_set_name() | mysqli_client_encoding() | Returns the default character set for the database connection
mysqli::close() | mysqli_close() | N/A | Closes a previously opened database connection
mysqli::commit() | mysqli_commit() | N/A | Commits the current transaction
mysqli::__construct() | mysqli_connect() | N/A | Open a new connection to the MySQL server [Note: static (i.e. class) method]
mysqli::debug() | mysqli_debug() | N/A | Performs debugging operations
mysqli::dump_debug_info() | mysqli_dump_debug_info() | N/A | Dump debugging information into the log
mysqli::get_charset() | mysqli_get_charset() | N/A | Returns a character set object
mysqli::get_connection_stats() | mysqli_get_connection_stats() | N/A | Returns client connection statistics. Nur in mysqlnd verfügbar.
mysqli::get_client_info() | mysqli_get_client_info() | N/A | Returns the MySQL client version as a string
mysqli::get_client_stats() | mysqli_get_client_stats() | N/A | Returns client per-process statistics. Nur in mysqlnd verfügbar.
mysqli::get_cache_stats() | mysqli_get_cache_stats() | N/A | Returns client Zval cache statistics. Nur in mysqlnd verfügbar.
mysqli::get_server_info() | mysqli_get_server_info() | N/A | Returns a string representing the version of the MySQL server that the MySQLi extension is connected to
mysqli::get_warnings() | mysqli_get_warnings() | N/A | NOT DOCUMENTED
mysqli::init() | mysqli_init() | N/A | Initializes MySQLi and returns a resource for use with mysqli_real_connect. [Not called on an object, as it returns a $mysqli object.]
mysqli::kill() | mysqli_kill() | N/A | Asks the server to kill a MySQL thread
mysqli::more_results() | mysqli_more_results() | N/A | Check if there are any more query results from a multi query
mysqli::multi_query() | mysqli_multi_query() | N/A | Performs a query on the database
mysqli::next_result() | mysqli_next_result() | N/A | Prepare next result from multi_query
mysqli::options() | mysqli_options() | mysqli_set_opt() | Set options
mysqli::ping() | mysqli_ping() | N/A | Pings a server connection, or tries to reconnect if the connection has gone down
mysqli::prepare() | mysqli_prepare() | N/A | Prepare an SQL statement for execution
mysqli::query() | mysqli_query() | N/A | Performs a query on the database
mysqli::real_connect() | mysqli_real_connect() | N/A | Opens a connection to a mysql server
mysqli::real_escape_string(), mysqli::escape_string() | mysqli_real_escape_string() | mysqli_escape_string() | Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
mysqli::real_query() | mysqli_real_query() | N/A | Execute an SQL query
mysqli::refresh() | mysqli_refresh() | N/A | Flushes tables or caches, or resets the replication server information
mysqli::rollback() | mysqli_rollback() | N/A | Rolls back current transaction
mysqli::select_db() | mysqli_select_db() | N/A | Selects the default database for database queries
mysqli::set_charset() | mysqli_set_charset() | N/A | Sets the default client character set
mysqli::set_local_infile_default() | mysqli_set_local_infile_default() | N/A | Unsets user defined handler for load local infile command
mysqli::set_local_infile_handler() | mysqli_set_local_infile_handler() | N/A | Set callback function for LOAD DATA LOCAL INFILE command
mysqli::ssl_set() | mysqli_ssl_set() | N/A | Used for establishing secure connections using SSL
mysqli::stat() | mysqli_stat() | N/A | Gets the current system status
mysqli::stmt_init() | mysqli_stmt_init() | N/A | Initializes a statement and returns an object for use with mysqli_stmt_prepare
mysqli::store_result() | mysqli_store_result() | N/A | Transfers a result set from the last query
mysqli::thread_id() | mysqli_thread_id() | N/A | Returns the thread ID for the current connection
mysqli::thread_safe() | mysqli_thread_safe() | N/A | Returns whether thread safety is given or not
mysqli::use_result() | mysqli_use_result() | N/A | Initiate a result set retrieval
Summary of mysqli_stmt methods
MySQL_STMT
OOP Interface | Procedural Interface | Alias (Do not use) | Description
Properties
$mysqli_stmt::affected_rows | mysqli_stmt_affected_rows() | N/A | Returns the total number of rows changed, deleted, or inserted by the last executed statement
$mysqli_stmt::errno | mysqli_stmt_errno() | N/A | Returns the error code for the most recent statement call
$mysqli_stmt::error | mysqli_stmt_error() | N/A | Returns a string description for last statement error
$mysqli_stmt::field_count | mysqli_stmt_field_count() | N/A | Returns the number of field in the given statement - not documented
$mysqli_stmt::insert_id | mysqli_stmt_insert_id() | N/A | Get the ID generated from the previous INSERT operation
$mysqli_stmt::num_rows | mysqli_stmt_num_rows() | N/A | Return the number of rows in statements result set
$mysqli_stmt::param_count | mysqli_stmt_param_count() | mysqli_param_count() | Returns the number of parameter for the given statement
$mysqli_stmt::sqlstate | mysqli_stmt_sqlstate() | N/A | Returns SQLSTATE error from previous statement operation
Methods
mysqli_stmt::attr_get() | mysqli_stmt_attr_get() | N/A | Used to get the current value of a statement attribute
mysqli_stmt::attr_set() | mysqli_stmt_attr_set() | N/A | Used to modify the behavior of a prepared statement
mysqli_stmt::bind_param() | mysqli_stmt_bind_param() | mysqli_bind_param() | Binds variables to a prepared statement as parameters
mysqli_stmt::bind_result() | mysqli_stmt_bind_result() | mysqli_bind_result() | Binds variables to a prepared statement for result storage
mysqli_stmt::close() | mysqli_stmt_close() | N/A | Closes a prepared statement
mysqli_stmt::data_seek() | mysqli_stmt_data_seek() | N/A | Seeks to an arbitrary row in statement result set
mysqli_stmt::execute() | mysqli_stmt_execute() | mysqli_execute() | Executes a prepared Query
mysqli_stmt::fetch() | mysqli_stmt_fetch() | mysqli_fetch() | Fetch results from a prepared statement into the bound variables
mysqli_stmt::free_result() | mysqli_stmt_free_result() | N/A | Frees stored result memory for the given statement handle
mysqli_stmt::get_result() | mysqli_stmt_get_result() | N/A | Gets a result set from a prepared statement. Nur in mysqlnd verfügbar.
mysqli_stmt::get_warnings() | mysqli_stmt_get_warnings() | N/A | NOT DOCUMENTED
$mysqli_stmt::more_results() | mysqli_stmt_more_results() | N/A | Checks if there are more query results from a multiple query
$mysqli_stmt::next_result() | mysqli_stmt_next_result() | N/A | Reads the next result from a multiple query
mysqli_stmt::num_rows() | mysqli_stmt_num_rows() | N/A | See also property $mysqli_stmt::num_rows
mysqli_stmt::prepare() | mysqli_stmt_prepare() | N/A | Prepare an SQL statement for execution
mysqli_stmt::reset() | mysqli_stmt_reset() | N/A | Resets a prepared statement
mysqli_stmt::result_metadata() | mysqli_stmt_result_metadata() | mysqli_get_metadata() | Returns result set metadata from a prepared statement
mysqli_stmt::send_long_data() | mysqli_stmt_send_long_data() | mysqli_send_long_data() | Send data in blocks
mysqli_stmt::store_result() | mysqli_stmt_store_result() | N/A | Transfers a result set from a prepared statement
Summary of mysqli_result methods
mysqli_result
OOP Interface | Procedural Interface | Alias (Do not use) | Description
Properties
$mysqli_result::current_field | mysqli_field_tell() | N/A | Get current field offset of a result pointer
$mysqli_result::field_count | mysqli_num_fields() | N/A | Get the number of fields in a result
$mysqli_result::lengths | mysqli_fetch_lengths() | N/A | Returns the lengths of the columns of the current row in the result set
$mysqli_result::num_rows | mysqli_num_rows() | N/A | Gets the number of rows in a result
Methods
mysqli_result::data_seek() | mysqli_data_seek() | N/A | Adjusts the result pointer to an arbitrary row in the result
mysqli_result::fetch_all() | mysqli_fetch_all() | N/A | Fetches all result rows and returns the result set as an associative array, a numeric array, or both. Nur in mysqlnd verfügbar.
mysqli_result::fetch_array() | mysqli_fetch_array() | N/A | Fetch a result row as an associative, a numeric array, or both
mysqli_result::fetch_assoc() | mysqli_fetch_assoc() | N/A | Fetch a result row as an associative array
mysqli_result::fetch_field_direct() | mysqli_fetch_field_direct() | N/A | Fetch meta-data for a single field
mysqli_result::fetch_field() | mysqli_fetch_field() | N/A | Returns the next field in the result set
mysqli_result::fetch_fields() | mysqli_fetch_fields() | N/A | Returns an array of objects representing the fields in a result set
mysqli_result::fetch_object() | mysqli_fetch_object() | N/A | Returns the current row of a result set as an object
mysqli_result::fetch_row() | mysqli_fetch_row() | N/A | Get a result row as an enumerated array
mysqli_result::field_seek() | mysqli_field_seek() | N/A | Set result pointer to a specified field offset
mysqli_result::free(), mysqli_result::close, mysqli_result::free_result | mysqli_free_result() | N/A | Frees the memory associated with a result
Summary of mysqli_driver methods
MySQL_Driver
OOP Interface | Procedural Interface | Alias (Do not use) | Description
Properties
N/A
Methods
mysqli_driver::embedded_server_end() | mysqli_embedded_server_end() | N/A | NOT DOCUMENTED
mysqli_driver::embedded_server_start() | mysqli_embedded_server_start() | N/A | NOT DOCUMENTED

Hinweis:

Alias functions are provided for backward compatibility purposes only. Do not use them in new projects.

Notes
Beispiele
Mysqli


Beispiele

Inhaltsverzeichnis

  • MySQLi extension basic examples
The MySQLi Extension Function Summary
MySQLi extension basic examples
Mysqli


MySQLi extension basic examples

This example shows how to connect, execute a query, use basic error handling, print resulting rows, and disconnect from a MySQL database.

This example uses the freely available Sakila database that can be downloaded from » dev.mysql.com, as described here. To get this example to work, (a) install sakila and (b) modify the connection variables (host, your_user, your_pass).

Beispiel #1 MySQLi extension overview example

<?php
// Let's pass in a $_GET variable to our example, in this case
// it's aid for actor_id in our Sakila database. Let's make it
// default to 1, and cast it to an integer as to avoid SQL injection
// and/or related security problems. Handling all of this goes beyond
// the scope of this simple example. Example:
//   http://example.org/script.php?aid=42
if (isset($_GET['aid']) && is_numeric($_GET['aid'])) {
    $aid = (int) $_GET['aid'];
} else {
    $aid = 1;
}

// Connecting to and selecting a MySQL database named sakila
// Hostname: 127.0.0.1, username: your_user, password: your_pass, db: sakila
$mysqli = new mysqli('127.0.0.1', 'your_user', 'your_pass', 'sakila');

// Oh no! A connect_errno exists so the connection attempt failed!
if ($mysqli->connect_errno) {
    // The connection failed. What do you want to do?
    // You could contact yourself (email?), log the error, show a nice page, etc.
    // You do not want to reveal sensitive information

    // Let's try this:
    echo "Sorry, this website is experiencing problems.";

    // Something you should not do on a public site, but this example will show you
    // anyways, is print out MySQL error related information -- you might log this
    echo "Error: Failed to make a MySQL connection, here is why: \n";
    echo "Errno: " . $mysqli->connect_errno . "\n";
    echo "Error: " . $mysqli->connect_error . "\n";

    // You might want to show them something nice, but we will simply exit
    exit;
}

// Perform an SQL query
$sql = "SELECT actor_id, first_name, last_name FROM actor WHERE actor_id = $aid";
if (!$result = $mysqli->query($sql)) {
    // Oh no! The query failed.
    echo "Sorry, the website is experiencing problems.";

    // Again, do not do this on a public site, but we'll show you how
    // to get the error information
    echo "Error: Our query failed to execute and here is why: \n";
    echo "Query: " . $sql . "\n";
    echo "Errno: " . $mysqli->errno . "\n";
    echo "Error: " . $mysqli->error . "\n";
    exit;
}

// Phew, we made it. We know our MySQL connection and query
// succeeded, but do we have a result?
if ($result->num_rows === 0) {
    // Oh, no rows! Sometimes that's expected and okay, sometimes
    // it is not. You decide. In this case, maybe actor_id was too
    // large?
    echo "We could not find a match for ID $aid, sorry about that. Please try again.";
    exit;
}

// Now, we know only one result will exist in this example so let's
// fetch it into an associated array where the array's keys are the
// table's column names
$actor = $result->fetch_assoc();
echo "Sometimes I see " . $actor['first_name'] . " " . $actor['last_name'] . " on TV.";

// Now, let's fetch five random actors and output their names to a list.
// We'll add less error handling here as you can do that on your own now
$sql = "SELECT actor_id, first_name, last_name FROM actor ORDER BY rand() LIMIT 5";
if (!$result = $mysqli->query($sql)) {
    echo "Sorry, the website is experiencing problems.";
    exit;
}

// Print our 5 random actors in a list, and link to each actor
echo "<ul>\n";
while ($actor = $result->fetch_assoc()) {
    echo "<li><a href='" . $_SERVER['SCRIPT_FILENAME'] . "?aid=" . $actor['actor_id'] . "'>\n";
    echo $actor['first_name'] . ' ' . $actor['last_name'];
    echo "</a></li>\n";
}
echo "</ul>\n";

// The script will automatically free the result and close the MySQL
// connection when it exits, but let's just do it anyways
$result->free();
$mysqli->close();
?>
Beispiele
mysqli
Beispiele


Die mysqli Klasse

(PHP 5, PHP 7)

Einführung

Repräsentiert eine Verbindung zwischen PHP und einer MySQL Datenbank.

Klassenbeschreibung

mysqli {
/* Eigenschaften */
int $affected_rows;
string $client_info;
int $client_version;
int $connect_errno;
string $connect_error;
int $errno;
array $error_list;
string $error;
int $field_count;
int $client_version;
string $host_info;
string $protocol_version;
string $server_info;
int $server_version;
string $info;
mixed $insert_id;
string $sqlstate;
int $thread_id;
int $warning_count;
/* Methoden */
 __construct
  ([ string $host = ini_get("mysqli.default_host")
 [, string $username = ini_get("mysqli.default_user")
 [, string $passwd = ini_get("mysqli.default_pw")
 [, string $dbname = ""
 [, int $port = ini_get("mysqli.default_port")
 [, string $socket = ini_get("mysqli.default_socket")
]]]]]] )
bool autocommit ( bool $mode )
bool change_user ( string $user , string $password , string $database )
string character_set_name ( void )
bool close ( void )
bool commit ([ int $flags [, string $name ]] )
bool debug ( string $message )
bool dump_debug_info ( void )
object get_charset ( void )
string get_client_info ( void )
bool get_connection_stats ( void )
mysqli_warning get_warnings ( void )
mysqli init ( void )
bool kill ( int $processid )
bool more_results ( void )
bool multi_query ( string $query )
bool next_result ( void )
bool options ( int $option , mixed $value )
bool ping ( void )
public static int poll ( array &$read , array &$error , array &$reject , int $sec [, int $usec ] )
mysqli_stmt prepare ( string $query )
mixed query ( string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )
bool real_connect ([ string $host [, string $username [, string $passwd [, string $dbname [, int $port [, string $socket [, int $flags ]]]]]]] )
string escape_string ( string $escapestr )
bool real_query ( string $query )
public mysqli_result reap_async_query ( void )
public bool refresh ( int $options )
bool rollback ([ int $flags [, string $name ]] )
int rpl_query_type ( string $query )
bool select_db ( string $dbname )
bool send_query ( string $query )
bool set_charset ( string $charset )
bool set_local_infile_handler ( mysqli $link , callable $read_func )
bool ssl_set ( string $key , string $cert , string $ca , string $capath , string $cipher )
string stat ( void )
mysqli_stmt stmt_init ( void )
mysqli_result store_result ([ int $option ] )
mysqli_result use_result ( void )
}

Inhaltsverzeichnis

  • mysqli::$affected_rows — Ermittelt die Anzahl der betroffenen Zeilen in einem vorherigen MySQL Vorgang
  • mysqli::autocommit — Aktiviert oder deaktiviert automatisches Bestätigen von Datenbankänderungen
  • mysqli::begin_transaction — Starts a transaction
  • mysqli::change_user — Changes the user of the specified database connection
  • mysqli::character_set_name — Returns the default character set for the database connection
  • mysqli::$client_info — Get MySQL client info
  • mysqli::$client_version — Returns the MySQL client version as a string
  • mysqli::close — Schließt die zuvor geöffnete Datenbankverbindung
  • mysqli::commit — Commits the current transaction
  • mysqli::$connect_errno — Returns the error code from last connect call
  • mysqli::$connect_error — Returns a string description of the last connect error
  • mysqli::__construct — Open a new connection to the MySQL server
  • mysqli::debug — Performs debugging operations
  • mysqli::dump_debug_info — Dump debugging information into the log
  • mysqli::$errno — Returns the error code for the most recent function call
  • mysqli::$error_list — Returns a list of errors from the last command executed
  • mysqli::$error — Returns a string description of the last error
  • mysqli::$field_count — Returns the number of columns for the most recent query
  • mysqli::get_charset — Returns a character set object
  • mysqli::get_client_info — Get MySQL client info
  • mysqli_get_client_stats — Returns client per-process statistics
  • mysqli_get_client_version — Returns the MySQL client version as an integer
  • mysqli::get_connection_stats — Returns statistics about the client connection
  • mysqli::$host_info — Returns a string representing the type of connection used
  • mysqli::$protocol_version — Returns the version of the MySQL protocol used
  • mysqli::$server_info — Returns the version of the MySQL server
  • mysqli::$server_version — Returns the version of the MySQL server as an integer
  • mysqli::get_warnings — Get result of SHOW WARNINGS
  • mysqli::$info — Retrieves information about the most recently executed query
  • mysqli::init — Initializes MySQLi and returns a resource for use with mysqli_real_connect()
  • mysqli::$insert_id — Returns the auto generated id used in the latest query
  • mysqli::kill — Asks the server to kill a MySQL thread
  • mysqli::more_results — Check if there are any more query results from a multi query
  • mysqli::multi_query — Performs a query on the database
  • mysqli::next_result — Prepare next result from multi_query
  • mysqli::options — Set options
  • mysqli::ping — Pings a server connection, or tries to reconnect if the connection has gone down
  • mysqli::poll — Poll connections
  • mysqli::prepare — Prepare an SQL statement for execution
  • mysqli::query — Performs a query on the database
  • mysqli::real_connect — Opens a connection to a mysql server
  • mysqli::real_escape_string — Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
  • mysqli::real_query — Execute an SQL query
  • mysqli::reap_async_query — Get result from async query
  • mysqli::refresh — Refreshes
  • mysqli::release_savepoint — Removes the named savepoint from the set of savepoints of the current transaction
  • mysqli::rollback — Rolls back current transaction
  • mysqli::rpl_query_type — Returns RPL query type
  • mysqli::savepoint — Set a named transaction savepoint
  • mysqli::select_db — Selects the default database for database queries
  • mysqli::send_query — Send the query and return
  • mysqli::set_charset — Sets the default client character set
  • mysqli::set_local_infile_default — Unsets user defined handler for load local infile command
  • mysqli::set_local_infile_handler — Set callback function for LOAD DATA LOCAL INFILE command
  • mysqli::$sqlstate — Returns the SQLSTATE error from previous MySQL operation
  • mysqli::ssl_set — Used for establishing secure connections using SSL
  • mysqli::stat — Liefert den aktuellen System Status
  • mysqli::stmt_init — Initializes a statement and returns an object for use with mysqli_stmt_prepare
  • mysqli::store_result — Transfers a result set from the last query
  • mysqli::$thread_id — Returns the thread ID for the current connection
  • mysqli::thread_safe — Returns whether thread safety is given or not
  • mysqli::use_result — Initiate a result set retrieval
  • mysqli::$warning_count — Gibt die Anzahl an Warnungen für den letzten Query der übergebenen Verbindung zurück.
MySQLi extension basic examples
mysqli::$affected_rows
Mysqli


Ermittelt die Anzahl der betroffenen Zeilen in einem vorherigen MySQL Vorgang

mysqli
mysqli::autocommit
mysqli
PHP Manual

mysqli::$affected_rows

mysqli_affected_rows

(PHP 5, PHP 7)

mysqli::$affected_rows -- mysqli_affected_rows — Ermittelt die Anzahl der betroffenen Zeilen in einem vorherigen MySQL Vorgang

Beschreibung

Objektorientierter Stil

int $mysqli->affected_rows;

Prozeduraler Stil

int mysqli_affected_rows ( mysqli $link )

Gibt die Anzahl der von der letzten INSERT-, UPDATE-,REPLACE- oder DELETE-Abfrage betroffenen Zeilen zurück.

Für SELECT-Anweisungen entspricht mysqli_affected_rows() mysqli_num_rows()

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

Rückgabewerte

Eine Ganzzahl größer als Null zeigt die Anzahl der betroffenen oder abgerufenen Zeilen an. Null gibt an, dass keine Datensätze für eine UPDATE-Anweisung aktualisiert wurden, keine Zeilen mit der WHERE-Klausel übereinstimmen oder,dass die Datenbankabfrage noch nicht aufgeführt worden ist. -1 gibt an, dass die Datenbankabfrage einen Fehler zurückgegeben hat.

Hinweis:

Ist die Anzahl der betroffenen Datensätze größer als der maximale Integer-Wert( PHP_INT_MAX ), wird die Anzahl der betroffenen Datensätze als String zurückgegeben.

Beispiele

Beispiel #1 $mysqli->affected_rows example

Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Verbindung überprüfen */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Datensätze einfügen */
$mysqli->query("CREATE TABLE Language SELECT * from CountryLanguage");
printf("Affected rows (INSERT): %d\n", $mysqli->affected_rows);

$mysqli->query("ALTER TABLE Language ADD Status int default 0");

/* Datensätze updaten */
$mysqli->query("UPDATE Language SET Status=1 WHERE Percentage > 50");
printf("Affected rows (UPDATE): %d\n", $mysqli->affected_rows);

/* Datensätze löschen */
$mysqli->query("DELETE FROM Language WHERE Percentage < 50");
printf("Affected rows (DELETE): %d\n", $mysqli->affected_rows);

/* Alle Datensätze auswählen */
$result = $mysqli->query("SELECT CountryCode FROM Language");
printf("Affected rows (SELECT): %d\n", $mysqli->affected_rows);

$result->close();

/* Tabelle Language löschen */
$mysqli->query("DROP TABLE Language");

/* Verbindung schließen */
$mysqli->close();
?>

Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

if (!$link) {
    printf("Can't connect to localhost. Error: %s\n", mysqli_connect_error());
    exit();
}

/* Datensätze einfügen */
mysqli_query($link, "CREATE TABLE Language SELECT * from CountryLanguage");
printf("Affected rows (INSERT): %d\n", mysqli_affected_rows($link));

mysqli_query($link, "ALTER TABLE Language ADD Status int default 0");

/* Datensätze aktualisieren */
mysqli_query($link, "UPDATE Language SET Status=1 WHERE Percentage > 50");
printf("Affected rows (UPDATE): %d\n", mysqli_affected_rows($link));

/* Datensätze löschen */
mysqli_query($link, "DELETE FROM Language WHERE Percentage < 50");
printf("Affected rows (DELETE): %d\n", mysqli_affected_rows($link));

/* Alle Datensätze auswählen */
$result = mysqli_query($link, "SELECT CountryCode FROM Language");
printf("Affected rows (SELECT): %d\n", mysqli_affected_rows($link));

mysqli_free_result($result);

/* Tabelle Language löschen */
mysqli_query($link, "DROP TABLE Language");

/* close connection */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Affected rows (INSERT): 984
Affected rows (UPDATE): 168
Affected rows (DELETE): 815
Affected rows (SELECT): 169

Siehe auch

  • mysqli_num_rows() - Gets the number of rows in a result
  • mysqli_info() - Retrieves information about the most recently executed query

mysqli
mysqli::autocommit
mysqli


Aktiviert oder deaktiviert automatisches Bestätigen von Datenbankänderungen

mysqli::$affected_rows
mysqli::begin_transaction
mysqli
PHP Manual

mysqli::autocommit

mysqli_autocommit

(PHP 5, PHP 7)

mysqli::autocommit -- mysqli_autocommit — Aktiviert oder deaktiviert automatisches Bestätigen von Datenbankänderungen

Beschreibung

Objektorientierter Stil

bool mysqli::autocommit ( bool $mode )

Prozeduraler Stil

bool mysqli_autocommit ( mysqli $link , bool $mode )

Aktiviert oder deaktiviert den Autocommit-Modus für Abfragen an die Datenbankverbindung.

Um den aktuellen Zustand von Autocommit festzustellen, ist die SQL-Anweisung SELECT @@autocommit zu verwenden.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

mode

Ob Autocommit aktiviert werden soll oder nicht.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Hinweis:

Die Funktion kann nicht mit Tabellentypen, die keine Transaktionen unterstützen (wie MyISAM oder ISAM), verwendet werden.

Beispiele

Beispiel #1 mysqli::autocommit() Beispiel

Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

if (mysqli_connect_errno()) {
    printf("Verbindung fehlgeschlagen: %s\n", mysqli_connect_error());
    exit();
}

/* Schaltet autocommit ein */
$mysqli->autocommit(TRUE);

if ($result = $mysqli->query("SELECT @@autocommit")) {
    $row = $result->fetch_row();
    printf("Autocommit ist %s\n", $row[0]);
    $result->free();
}

/* Schließt die Verbindung */
$mysqli->close();
?>

Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

if (!$link) {
    printf("Kann nicht mit localhost verbinden. Fehler: %s\n", mysqli_connect_error());
    exit();
}

/* Schaltet autocommit ein */
mysqli_autocommit($link, TRUE);

if ($result = mysqli_query($link, "SELECT @@autocommit")) {
    $row = mysqli_fetch_row($result);
    printf("Autocommit ist %s\n", $row[0]);
    mysqli_free_result($result);
}

/* Schlisst die Verbindung */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Autocommit ist 1

Siehe auch

  • mysqli_begin_transaction() - Starts a transaction
  • mysqli_commit() - Commits the current transaction
  • mysqli_rollback() - Rolls back current transaction

mysqli::$affected_rows
mysqli::begin_transaction
mysqli


Starts a transaction

mysqli::autocommit
mysqli::change_user
mysqli
PHP Manual

mysqli::begin_transaction

mysqli_begin_transaction

(PHP 5 >= 5.5.0, PHP 7)

mysqli::begin_transaction -- mysqli_begin_transaction — Starts a transaction

Beschreibung

Objektorientierter Stil (method):

public bool mysqli::begin_transaction ([ int $flags [, string $name ]] )

Prozeduraler Stil:

bool mysqli_begin_transaction ( mysqli $link [, int $flags [, string $name ]] )

Begins a transaction. Requires MySQL 5.6 and above, and the InnoDB engine (it is enabled by default). For additional details about how MySQL transactions work, see » http://dev.mysql.com/doc/mysql/en/commit.html.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

flags

Valid flags are:

  • MYSQLI_TRANS_START_READ_ONLY: Start the transaction as "START TRANSACTION READ ONLY".

  • MYSQLI_TRANS_START_READ_WRITE: Start the transaction as "START TRANSACTION READ WRITE".

  • MYSQLI_TRANS_START_WITH_CONSISTENT_SNAPSHOT: Start the transaction as "START TRANSACTION WITH CONSISTENT SNAPSHOT".

name

Savepoint name for the transaction.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 $mysqli->begin_transaction() example

Objektorientierter Stil

<?php
$mysqli = new mysqli("127.0.0.1", "my_user", "my_password", "sakila");

if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}

$mysqli->begin_transaction(MYSQLI_TRANS_START_READ_ONLY);

$mysqli->query("SELECT first_name, last_name FROM actor");
$mysqli->commit();

$mysqli->close();
?>

Prozeduraler Stil

<?php
$link = mysqli_connect("127.0.0.1", "my_user", "my_password", "sakila");

if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_begin_transaction($link, MYSQLI_TRANS_START_READ_ONLY);

mysqli_query($link, "SELECT first_name, last_name FROM actor LIMIT 1");
mysqli_commit($link);

mysqli_close($link);
?>

Siehe auch

  • mysqli_autocommit() - Aktiviert oder deaktiviert automatisches Bestätigen von Datenbankänderungen
  • mysqli_commit() - Commits the current transaction
  • mysqli_rollback() - Rolls back current transaction

mysqli::autocommit
mysqli::change_user
mysqli


Changes the user of the specified database connection

mysqli::begin_transaction
mysqli::character_set_name
mysqli
PHP Manual

mysqli::change_user

mysqli_change_user

(PHP 5, PHP 7)

mysqli::change_user -- mysqli_change_user — Changes the user of the specified database connection

Beschreibung

Objektorientierter Stil

bool mysqli::change_user ( string $user , string $password , string $database )

Prozeduraler Stil

bool mysqli_change_user ( mysqli $link , string $user , string $password , string $database )

Changes the user of the specified database connection and sets the current database.

In order to successfully change users a valid username and password parameters must be provided and that user must have sufficient permissions to access the desired database. If for any reason authorization fails, the current user authentication will remain.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

user

The MySQL user name.

password

The MySQL password.

database

The database to change to.

If desired, the NULL value may be passed resulting in only changing the user and not selecting a database. To select a database in this case use the mysqli_select_db() function.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Hinweis:

Using this command will always cause the current database connection to behave as if was a completely new database connection, regardless of if the operation was completed successfully. This reset includes performing a rollback on any active transactions, closing all temporary tables, and unlocking all locked tables.

Beispiele

Beispiel #1 mysqli::change_user() example

Objektorientierter Stil

<?php

/* connect database test */
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Set Variable a */
$mysqli->query("SET @a:=1");

/* reset all and select a new database */
$mysqli->change_user("my_user", "my_password", "world");

if ($result = $mysqli->query("SELECT DATABASE()")) {
    $row = $result->fetch_row();
    printf("Default database: %s\n", $row[0]);
    $result->close();
}

if ($result = $mysqli->query("SELECT @a")) {
    $row = $result->fetch_row();
    if ($row[0] === NULL) {
        printf("Value of variable a is NULL\n");
    }
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Prozeduraler Stil

<?php
/* connect database test */
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

/* check connection */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Set Variable a */
mysqli_query($link, "SET @a:=1");

/* reset all and select a new database */
mysqli_change_user($link, "my_user", "my_password", "world");

if ($result = mysqli_query($link, "SELECT DATABASE()")) {
    $row = mysqli_fetch_row($result);
    printf("Default database: %s\n", $row[0]);
    mysqli_free_result($result);
}

if ($result = mysqli_query($link, "SELECT @a")) {
    $row = mysqli_fetch_row($result);
    if ($row[0] === NULL) {
        printf("Value of variable a is NULL\n");
    }
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Default database: world
Value of variable a is NULL

Siehe auch

  • mysqli_connect() - Alias von mysqli::__construct
  • mysqli_select_db() - Selects the default database for database queries

mysqli::begin_transaction
mysqli::character_set_name
mysqli


Returns the default character set for the database connection

mysqli::change_user
mysqli::$client_info
mysqli
PHP Manual

mysqli::character_set_name

mysqli_character_set_name

(PHP 5, PHP 7)

mysqli::character_set_name -- mysqli_character_set_name — Returns the default character set for the database connection

Beschreibung

Objektorientierter Stil

string mysqli::character_set_name ( void )

Prozeduraler Stil

string mysqli_character_set_name ( mysqli $link )

Returns the current character set for the database connection.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

Rückgabewerte

The default character set for the current connection

Beispiele

Beispiel #1 mysqli::character_set_name() example

Objektorientierter Stil

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Print current character set */
$charset = $mysqli->character_set_name();
printf ("Current character set is %s\n", $charset);

$mysqli->close();
?>

Prozeduraler Stil

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Print current character set */
$charset = mysqli_character_set_name($link);
printf ("Current character set is %s\n",$charset);

/* close connection */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Current character set is latin1_swedish_ci

Siehe auch

  • mysqli_set_charset() - Sets the default client character set
  • mysqli_client_encoding() - Alias für mysqli_character_set_name
  • mysqli_real_escape_string() - Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection

mysqli::change_user
mysqli::$client_info
mysqli


Get MySQL client info

mysqli::character_set_name
mysqli::$client_version
mysqli
PHP Manual

mysqli::$client_info

mysqli_get_client_info

(PHP 5, PHP 7)

mysqli::$client_info -- mysqli_get_client_info — Get MySQL client info

Beschreibung

Objektorientierter Stil

string $mysqli->client_info;

Prozeduraler Stil

string mysqli_get_client_info ( mysqli $link )

Returns a string that represents the MySQL client library version.

Rückgabewerte

A string that represents the MySQL client library version

Beispiele

Beispiel #1 mysqli_get_client_info

<?php

/* We don't need a connection to determine
   the version of mysql client library */

printf("Client library version: %s\n", mysqli_get_client_info());
?>

Siehe auch

  • mysqli_get_client_version() - Returns the MySQL client version as an integer
  • mysqli_get_server_info() - Returns the version of the MySQL server
  • mysqli_get_server_version() - Returns the version of the MySQL server as an integer

mysqli::character_set_name
mysqli::$client_version
mysqli


Returns the MySQL client version as a string

mysqli::$client_info
mysqli::close
mysqli
PHP Manual

mysqli::$client_version

mysqli_get_client_version

(PHP 5, PHP 7)

mysqli::$client_version -- mysqli_get_client_version — Returns the MySQL client version as a string

Beschreibung

Objektorientierter Stil

int $mysqli->client_version;

Prozeduraler Stil

int mysqli_get_client_version ( mysqli $link )

Returns client version number as an integer.

Rückgabewerte

A number that represents the MySQL client library version in format: main_version*10000 + minor_version *100 + sub_version. For example, 4.1.0 is returned as 40100.

This is useful to quickly determine the version of the client library to know if some capability exists.

Beispiele

Beispiel #1 mysqli_get_client_version

<?php

/* We don't need a connection to determine
   the version of mysql client library */

printf("Client library version: %d\n", mysqli_get_client_version());
?>

Siehe auch

  • mysqli_get_client_info() - Get MySQL client info
  • mysqli_get_server_info() - Returns the version of the MySQL server
  • mysqli_get_server_version() - Returns the version of the MySQL server as an integer

mysqli::$client_info
mysqli::close
mysqli


Schließt die zuvor geöffnete Datenbankverbindung

mysqli::$client_version
mysqli::commit
mysqli
PHP Manual

mysqli::close

mysqli_close

(PHP 5, PHP 7)

mysqli::close -- mysqli_close — Schließt die zuvor geöffnete Datenbankverbindung

Beschreibung

Objektorientierter Stil

bool mysqli::close ( void )

Prozeduraler Stil

bool mysqli_close ( mysqli $link )

Schließt die zuvor geöffnete Datenbankverbindung.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

See mysqli_connect().

Siehe auch

  • mysqli::__construct() - Open a new connection to the MySQL server
  • mysqli_init() - Initializes MySQLi and returns a resource for use with mysqli_real_connect()
  • mysqli_real_connect() - Opens a connection to a mysql server

mysqli::$client_version
mysqli::commit
mysqli


Commits the current transaction

mysqli::close
mysqli::$connect_errno
mysqli
PHP Manual

mysqli::commit

mysqli_commit

(PHP 5, PHP 7)

mysqli::commit -- mysqli_commit — Commits the current transaction

Beschreibung

Objektorientierter Stil

bool mysqli::commit ([ int $flags [, string $name ]] )

Prozeduraler Stil

bool mysqli_commit ( mysqli $link [, int $flags [, string $name ]] )

Commits the current transaction for the database connection.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

flags

A bitmask of MYSQLI_TRANS_COR_* constants.

name

If provided then COMMIT/*name*/ is executed.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.5.0 | Added flags and name parameters.

Beispiele

Beispiel #1 mysqli::commit() example

Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE Language LIKE CountryLanguage");

/* set autocommit to off */
$mysqli->autocommit(FALSE);

/* Insert some values */
$mysqli->query("INSERT INTO Language VALUES ('DEU', 'Bavarian', 'F', 11.2)");
$mysqli->query("INSERT INTO Language VALUES ('DEU', 'Swabian', 'F', 9.4)");

/* commit transaction */
if (!$mysqli->commit()) {
    print("Transaction commit failed\n");
    exit();
}

/* drop table */
$mysqli->query("DROP TABLE Language");

/* close connection */
$mysqli->close();
?>

Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

/* check connection */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* set autocommit to off */
mysqli_autocommit($link, FALSE);

mysqli_query($link, "CREATE TABLE Language LIKE CountryLanguage");

/* Insert some values */
mysqli_query($link, "INSERT INTO Language VALUES ('DEU', 'Bavarian', 'F', 11.2)");
mysqli_query($link, "INSERT INTO Language VALUES ('DEU', 'Swabian', 'F', 9.4)");

/* commit transaction */
if (!mysqli_commit($link)) {
    print("Transaction commit failed\n");
    exit();
}

/* close connection */
mysqli_close($link);
?>

Siehe auch

  • mysqli_autocommit() - Aktiviert oder deaktiviert automatisches Bestätigen von Datenbankänderungen
  • mysqli_begin_transaction() - Starts a transaction
  • mysqli_rollback() - Rolls back current transaction
  • mysqli_savepoint() - Set a named transaction savepoint

mysqli::close
mysqli::$connect_errno
mysqli


Returns the error code from last connect call

mysqli::commit
mysqli::$connect_error
mysqli
PHP Manual

mysqli::$connect_errno

mysqli_connect_errno

(PHP 5, PHP 7)

mysqli::$connect_errno -- mysqli_connect_errno — Returns the error code from last connect call

Beschreibung

Objektorientierter Stil

int $mysqli->connect_errno;

Prozeduraler Stil

int mysqli_connect_errno ( void )

Returns the last error code number from the last call to mysqli_connect().

Hinweis:

Client error message numbers are listed in the MySQL errmsg.h header file, server error message numbers are listed in mysqld_error.h. In the MySQL source distribution you can find a complete list of error messages and error numbers in the file Docs/mysqld_error.txt.

Rückgabewerte

An error code value for the last call to mysqli_connect(), if it failed. zero means no error occurred.

Beispiele

Beispiel #1 $mysqli->connect_errno example

Objektorientierter Stil

<?php
$mysqli = @new mysqli('localhost', 'fake_user', 'my_password', 'my_db');

if ($mysqli->connect_errno) {
    die('Connect Error: ' . $mysqli->connect_errno);
}
?>

Prozeduraler Stil

<?php
$link = @mysqli_connect('localhost', 'fake_user', 'my_password', 'my_db');

if (!$link) {
    die('Connect Error: ' . mysqli_connect_errno());
}
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Connect Error: 1045

Siehe auch

  • mysqli_connect() - Alias von mysqli::__construct
  • mysqli_connect_error() - Returns a string description of the last connect error
  • mysqli_errno() - Returns the error code for the most recent function call
  • mysqli_error() - Returns a string description of the last error
  • mysqli_sqlstate() - Returns the SQLSTATE error from previous MySQL operation

mysqli::commit
mysqli::$connect_error
mysqli


Returns a string description of the last connect error

mysqli::$connect_errno
mysqli::__construct
mysqli
PHP Manual

mysqli::$connect_error

mysqli_connect_error

(PHP 5, PHP 7)

mysqli::$connect_error -- mysqli_connect_error — Returns a string description of the last connect error

Beschreibung

Objektorientierter Stil

string $mysqli->connect_error;

Prozeduraler Stil

string mysqli_connect_error ( void )

Returns the last error message string from the last call to mysqli_connect().

Rückgabewerte

A string that describes the error. NULL is returned if no error occurred.

Beispiele

Beispiel #1 $mysqli->connect_error example

Objektorientierter Stil

<?php
$mysqli = @new mysqli('localhost', 'fake_user', 'my_password', 'my_db');

// Works as of PHP 5.2.9 and 5.3.0.
if ($mysqli->connect_error) {
    die('Connect Error: ' . $mysqli->connect_error);
}
?>

Prozeduraler Stil

<?php
$link = @mysqli_connect('localhost', 'fake_user', 'my_password', 'my_db');

if (!$link) {
    die('Connect Error: ' . mysqli_connect_error());
}
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Connect Error: Access denied for user 'fake_user'@'localhost' (using password: YES)

Anmerkungen

Warnung

The mysqli->connect_error property only works properly as of PHP versions 5.2.9 and 5.3.0. Use the mysqli_connect_error() function if compatibility with earlier PHP versions is required.

Siehe auch

  • mysqli_connect() - Alias von mysqli::__construct
  • mysqli_connect_errno() - Returns the error code from last connect call
  • mysqli_errno() - Returns the error code for the most recent function call
  • mysqli_error() - Returns a string description of the last error
  • mysqli_sqlstate() - Returns the SQLSTATE error from previous MySQL operation

mysqli::$connect_errno
mysqli::__construct
mysqli


Open a new connection to the MySQL server

mysqli::$connect_error
mysqli::debug
mysqli
PHP Manual

mysqli::__construct

mysqli_connect

(PHP 5, PHP 7)

mysqli::__construct -- mysqli_connect — Open a new connection to the MySQL server

Beschreibung

Objektorientierter Stil

 mysqli::__construct
  ([ string $host = ini_get("mysqli.default_host")
 [, string $username = ini_get("mysqli.default_user")
 [, string $passwd = ini_get("mysqli.default_pw")
 [, string $dbname = ""
 [, int $port = ini_get("mysqli.default_port")
 [, string $socket = ini_get("mysqli.default_socket")
]]]]]] )

Prozeduraler Stil

 mysqli mysqli_connect
  ([ string $host = ini_get("mysqli.default_host")
 [, string $username = ini_get("mysqli.default_user")
 [, string $passwd = ini_get("mysqli.default_pw")
 [, string $dbname = ""
 [, int $port = ini_get("mysqli.default_port")
 [, string $socket = ini_get("mysqli.default_socket")
]]]]]] )

Opens a connection to the MySQL Server running on.

Parameter-Liste

host

Can be either a host name or an IP address. Passing the NULL value or the string "localhost" to this parameter, the local host is assumed. When possible, pipes will be used instead of the TCP/IP protocol.

Prepending host by p: opens a persistent connection. mysqli_change_user() is automatically called on connections opened from the connection pool.

username

The MySQL user name.

passwd

If not provided or NULL, the MySQL server will attempt to authenticate the user against those user records which have no password only. This allows one username to be used with different permissions (depending on if a password as provided or not).

dbname

If provided will specify the default database to be used when performing queries.

port

Specifies the port number to attempt to connect to the MySQL server.

socket

Specifies the socket or named pipe that should be used.

Hinweis:

Specifying the socket parameter will not explicitly determine the type of connection to be used when connecting to the MySQL server. How the connection is made to the MySQL database is determined by the host parameter.

Rückgabewerte

Returns an object which represents the connection to a MySQL Server.

Changelog

Version | Beschreibung
5.3.0 | Added the ability of persistent connections.

Beispiele

Beispiel #1 mysqli::__construct() example

Objektorientierter Stil

<?php
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');

/*
 * This is the "official" OO way to do it,
 * BUT $connect_error was broken until PHP 5.2.9 and 5.3.0.
 */
if ($mysqli->connect_error) {
    die('Connect Error (' . $mysqli->connect_errno . ') '
            . $mysqli->connect_error);
}

/*
 * Use this instead of $connect_error if you need to ensure
 * compatibility with PHP versions prior to 5.2.9 and 5.3.0.
 */
if (mysqli_connect_error()) {
    die('Connect Error (' . mysqli_connect_errno() . ') '
            . mysqli_connect_error());
}

echo 'Success... ' . $mysqli->host_info . "\n";

$mysqli->close();
?>

Objektorientierter Stil when extending mysqli class

<?php

class foo_mysqli extends mysqli {
    public function __construct($host, $user, $pass, $db) {
        parent::__construct($host, $user, $pass, $db);

        if (mysqli_connect_error()) {
            die('Connect Error (' . mysqli_connect_errno() . ') '
                    . mysqli_connect_error());
        }
    }
}

$db = new foo_mysqli('localhost', 'my_user', 'my_password', 'my_db');

echo 'Success... ' . $db->host_info . "\n";

$db->close();
?>

Prozeduraler Stil

<?php
$link = mysqli_connect('localhost', 'my_user', 'my_password', 'my_db');

if (!$link) {
    die('Connect Error (' . mysqli_connect_errno() . ') '
            . mysqli_connect_error());
}

echo 'Success... ' . mysqli_get_host_info($link) . "\n";

mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Success... MySQL host info: localhost via TCP/IP

Anmerkungen

Hinweis:

MySQLnd nimmt immer den Standardzeichensatz des Servers an. Dieser Zeichensatz wird während des Aufbaus der Verbindung bzw. der Authentifizierung übermittelt und danach von MySQLnd verwendet.

Libmysqlclient verwendet als Standardzeichensatz den, der in der Datei my.cnf angegeben oder durch einen Aufruf von mysqli_options() vor dem Aufruf von mysqli_real_connect() aber nach mysqli_init() gesetzt wurde.

Hinweis:

OO syntax only: If a connection fails an object is still returned. To check if the connection failed then use either the mysqli_connect_error() function or the mysqli->connect_error property as in the preceding examples.

Hinweis:

If it is necessary to set options, such as the connection timeout, mysqli_real_connect() must be used instead.

Hinweis:

Calling the constructor with no parameters is the same as calling mysqli_init().

Hinweis:

Error "Can't create TCP/IP socket (10106)" usually means that the variables_order configure directive doesn't contain character E. On Windows, if the environment is not copied the SYSTEMROOT environment variable won't be available and PHP will have problems loading Winsock.

Siehe auch

  • mysqli_real_connect() - Opens a connection to a mysql server
  • mysqli_options() - Set options
  • mysqli_connect_errno() - Returns the error code from last connect call
  • mysqli_connect_error() - Returns a string description of the last connect error
  • mysqli_close() - Schließt die zuvor geöffnete Datenbankverbindung

mysqli::$connect_error
mysqli::debug
mysqli


Performs debugging operations

mysqli::__construct
mysqli::dump_debug_info
mysqli
PHP Manual

mysqli::debug

mysqli_debug

(PHP 5, PHP 7)

mysqli::debug -- mysqli_debug — Performs debugging operations

Beschreibung

Objektorientierter Stil

bool mysqli::debug ( string $message )

Prozeduraler Stil

bool mysqli_debug ( string $message )

Performs debugging operations using the Fred Fish debugging library.

Parameter-Liste

message

A string representing the debugging operation to perform

Rückgabewerte

Returns TRUE.

Anmerkungen

Hinweis:

To use the mysqli_debug() function you must compile the MySQL client library to support debugging.

Beispiele

Beispiel #1 Generating a Trace File

<?php

/* Create a trace file in '/tmp/client.trace' on the local (client) machine: */
mysqli_debug("d:t:o,/tmp/client.trace");

?>

Siehe auch

  • mysqli_dump_debug_info() - Dump debugging information into the log
  • mysqli_report() - Alias von für mysqli_driver->report_mode

mysqli::__construct
mysqli::dump_debug_info
mysqli


Dump debugging information into the log

mysqli::debug
mysqli::$errno
mysqli
PHP Manual

mysqli::dump_debug_info

mysqli_dump_debug_info

(PHP 5, PHP 7)

mysqli::dump_debug_info -- mysqli_dump_debug_info — Dump debugging information into the log

Beschreibung

Objektorientierter Stil

bool mysqli::dump_debug_info ( void )

Prozeduraler Stil

bool mysqli_dump_debug_info ( mysqli $link )

This function is designed to be executed by an user with the SUPER privilege and is used to dump debugging information into the log for the MySQL Server relating to the connection.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • mysqli_debug() - Performs debugging operations

mysqli::debug
mysqli::$errno
mysqli


Returns the error code for the most recent function call

mysqli::dump_debug_info
mysqli::$error_list
mysqli
PHP Manual

mysqli::$errno

mysqli_errno

(PHP 5, PHP 7)

mysqli::$errno -- mysqli_errno — Returns the error code for the most recent function call

Beschreibung

Objektorientierter Stil

int $mysqli->errno;

Prozeduraler Stil

int mysqli_errno ( mysqli $link )

Returns the last error code for the most recent MySQLi function call that can succeed or fail.

Client error message numbers are listed in the MySQL errmsg.h header file, server error message numbers are listed in mysqld_error.h. In the MySQL source distribution you can find a complete list of error messages and error numbers in the file Docs/mysqld_error.txt.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

Rückgabewerte

An error code value for the last call, if it failed. zero means no error occurred.

Beispiele

Beispiel #1 $mysqli->errno example

Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}

if (!$mysqli->query("SET a=1")) {
    printf("Errorcode: %d\n", $mysqli->errno);
}

/* close connection */
$mysqli->close();
?>

Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if (!mysqli_query($link, "SET a=1")) {
    printf("Errorcode: %d\n", mysqli_errno($link));
}

/* close connection */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Errorcode: 1193

Siehe auch

  • mysqli_connect_errno() - Returns the error code from last connect call
  • mysqli_connect_error() - Returns a string description of the last connect error
  • mysqli_error() - Returns a string description of the last error
  • mysqli_sqlstate() - Returns the SQLSTATE error from previous MySQL operation

mysqli::dump_debug_info
mysqli::$error_list
mysqli


Returns a list of errors from the last command executed

mysqli::$errno
mysqli::$error
mysqli
PHP Manual

mysqli::$error_list

mysqli_error_list

(PHP 5 >= 5.4.0, PHP 7)

mysqli::$error_list -- mysqli_error_list — Returns a list of errors from the last command executed

Beschreibung

Objektorientierter Stil

array $mysqli->error_list;

Prozeduraler Stil

array mysqli_error_list ( mysqli $link )

Returns a array of errors for the most recent MySQLi function call that can succeed or fail.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

Rückgabewerte

A list of errors, each as an associative array containing the errno, error, and sqlstate.

Beispiele

Beispiel #1 $mysqli->error_list example

Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "nobody", "");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if (!$mysqli->query("SET a=1")) {
    print_r($mysqli->error_list);
}

/* close connection */
$mysqli->close();
?>

Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if (!mysqli_query($link, "SET a=1")) {
    print_r(mysqli_error_list($link));
}

/* close connection */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Array
(
    [0] => Array
        (
            [errno] => 1193
            [sqlstate] => HY000
            [error] => Unknown system variable 'a'
        )

)

Siehe auch

  • mysqli_connect_errno() - Returns the error code from last connect call
  • mysqli_connect_error() - Returns a string description of the last connect error
  • mysqli_error() - Returns a string description of the last error
  • mysqli_sqlstate() - Returns the SQLSTATE error from previous MySQL operation

mysqli::$errno
mysqli::$error
mysqli


Returns a string description of the last error

mysqli::$error_list
mysqli::$field_count
mysqli
PHP Manual

mysqli::$error

mysqli_error

(PHP 5, PHP 7)

mysqli::$error -- mysqli_error — Returns a string description of the last error

Beschreibung

Objektorientierter Stil

string $mysqli->error;

Prozeduraler Stil

string mysqli_error ( mysqli $link )

Returns the last error message for the most recent MySQLi function call that can succeed or fail.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

Rückgabewerte

A string that describes the error. An empty string if no error occurred.

Beispiele

Beispiel #1 $mysqli->error example

Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}

if (!$mysqli->query("SET a=1")) {
    printf("Errormessage: %s\n", $mysqli->error);
}

/* close connection */
$mysqli->close();
?>

Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if (!mysqli_query($link, "SET a=1")) {
    printf("Errormessage: %s\n", mysqli_error($link));
}

/* close connection */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Errormessage: Unknown system variable 'a'

Siehe auch

  • mysqli_connect_errno() - Returns the error code from last connect call
  • mysqli_connect_error() - Returns a string description of the last connect error
  • mysqli_errno() - Returns the error code for the most recent function call
  • mysqli_sqlstate() - Returns the SQLSTATE error from previous MySQL operation

mysqli::$error_list
mysqli::$field_count
mysqli


Returns the number of columns for the most recent query

mysqli::$error
mysqli::get_charset
mysqli
PHP Manual

mysqli::$field_count

mysqli_field_count

(PHP 5, PHP 7)

mysqli::$field_count -- mysqli_field_count — Returns the number of columns for the most recent query

Beschreibung

Objektorientierter Stil

int $mysqli->field_count;

Prozeduraler Stil

int mysqli_field_count ( mysqli $link )

Returns the number of columns for the most recent query on the connection represented by the link parameter. This function can be useful when using the mysqli_store_result() function to determine if the query should have produced a non-empty result set or not without knowing the nature of the query.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

Rückgabewerte

An integer representing the number of fields in a result set.

Beispiele

Beispiel #1 $mysqli->field_count example

Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

$mysqli->query( "DROP TABLE IF EXISTS friends");
$mysqli->query( "CREATE TABLE friends (id int, name varchar(20))");

$mysqli->query( "INSERT INTO friends VALUES (1,'Hartmut'), (2, 'Ulf')");

$mysqli->real_query("SELECT * FROM friends");

if ($mysqli->field_count) {
    /* this was a select/show or describe query */
    $result = $mysqli->store_result();

    /* process resultset */
    $row = $result->fetch_row();

    /* free resultset */
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

mysqli_query($link, "DROP TABLE IF EXISTS friends");
mysqli_query($link, "CREATE TABLE friends (id int, name varchar(20))");

mysqli_query($link, "INSERT INTO friends VALUES (1,'Hartmut'), (2, 'Ulf')");

mysqli_real_query($link, "SELECT * FROM friends");

if (mysqli_field_count($link)) {
    /* this was a select/show or describe query */
    $result = mysqli_store_result($link);

    /* process resultset */
    $row = mysqli_fetch_row($result);

    /* free resultset */
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>
mysqli::$error
mysqli::get_charset
mysqli


Returns a character set object

mysqli::$field_count
mysqli::get_client_info
mysqli
PHP Manual

mysqli::get_charset

mysqli_get_charset

(PHP 5 >= 5.1.0, PHP 7)

mysqli::get_charset -- mysqli_get_charset — Returns a character set object

Beschreibung

Objektorientierter Stil

object mysqli::get_charset ( void )

Prozeduraler Stil

object mysqli_get_charset ( mysqli $link )

Returns a character set object providing several properties of the current active character set.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

Rückgabewerte

The function returns a character set object with the following properties:

charset

Character set name

collation

Collation name

dir

Directory the charset description was fetched from (?) or "" for built-in character sets

min_length

Minimum character length in bytes

max_length

Maximum character length in bytes

number

Internal character set number

state

Character set status (?)

Beispiele

Beispiel #1 mysqli::get_charset() example

Objektorientierter Stil

<?php
  $db = mysqli_init();
  $db->real_connect("localhost","root","","test");
  var_dump($db->get_charset());
?>

Prozeduraler Stil

<?php
  $db = mysqli_init();
  mysqli_real_connect($db, "localhost","root","","test");
  var_dump(mysqli_get_charset($db));
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

object(stdClass)#2 (7) {
  ["charset"]=>
  string(6) "latin1"
  ["collation"]=>
  string(17) "latin1_swedish_ci"
  ["dir"]=>
  string(0) ""
  ["min_length"]=>
  int(1)
  ["max_length"]=>
  int(1)
  ["number"]=>
  int(8)
  ["state"]=>
  int(801)
}

Siehe auch

  • mysqli_character_set_name() - Returns the default character set for the database connection
  • mysqli_set_charset() - Sets the default client character set

mysqli::$field_count
mysqli::get_client_info
mysqli


Get MySQL client info

mysqli::get_charset
mysqli_get_client_stats
mysqli
PHP Manual

mysqli::get_client_info

mysqli_get_client_info

(PHP 5, PHP 7)

mysqli::get_client_info -- mysqli_get_client_info — Get MySQL client info

Beschreibung

Objektorientierter Stil

string mysqli::get_client_info ( void )

Prozeduraler Stil

string mysqli_get_client_info ( mysqli $link )

Returns a string that represents the MySQL client library version.

Rückgabewerte

A string that represents the MySQL client library version

Beispiele

Beispiel #1 mysqli_get_client_info

<?php

/* We don't need a connection to determine
   the version of mysql client library */

printf("Client library version: %s\n", mysqli_get_client_info());
?>

Siehe auch

  • mysqli_get_client_version() - Returns the MySQL client version as an integer
  • mysqli_get_server_info() - Returns the version of the MySQL server
  • mysqli_get_server_version() - Returns the version of the MySQL server as an integer

mysqli::get_charset
mysqli_get_client_stats
mysqli


Returns client per-process statistics

mysqli::get_client_info
mysqli_get_client_version
mysqli
PHP Manual

mysqli_get_client_stats

(PHP 5 >= 5.3.0, PHP 7)

mysqli_get_client_stats — Returns client per-process statistics

Beschreibung

array mysqli_get_client_stats ( void )

Returns client per-process statistics. Nur in mysqlnd verfügbar.

Parameter-Liste

Rückgabewerte

Returns an array with client stats if success, FALSE otherwise.

Beispiele

Beispiel #1 A mysqli_get_client_stats() example

<?php
$link = mysqli_connect();
print_r(mysqli_get_client_stats());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [bytes_sent] => 43
    [bytes_received] => 80
    [packets_sent] => 1
    [packets_received] => 2
    [protocol_overhead_in] => 8
    [protocol_overhead_out] => 4
    [bytes_received_ok_packet] => 11
    [bytes_received_eof_packet] => 0
    [bytes_received_rset_header_packet] => 0
    [bytes_received_rset_field_meta_packet] => 0
    [bytes_received_rset_row_packet] => 0
    [bytes_received_prepare_response_packet] => 0
    [bytes_received_change_user_packet] => 0
    [packets_sent_command] => 0
    [packets_received_ok] => 1
    [packets_received_eof] => 0
    [packets_received_rset_header] => 0
    [packets_received_rset_field_meta] => 0
    [packets_received_rset_row] => 0
    [packets_received_prepare_response] => 0
    [packets_received_change_user] => 0
    [result_set_queries] => 0
    [non_result_set_queries] => 0
    [no_index_used] => 0
    [bad_index_used] => 0
    [slow_queries] => 0
    [buffered_sets] => 0
    [unbuffered_sets] => 0
    [ps_buffered_sets] => 0
    [ps_unbuffered_sets] => 0
    [flushed_normal_sets] => 0
    [flushed_ps_sets] => 0
    [ps_prepared_never_executed] => 0
    [ps_prepared_once_executed] => 0
    [rows_fetched_from_server_normal] => 0
    [rows_fetched_from_server_ps] => 0
    [rows_buffered_from_client_normal] => 0
    [rows_buffered_from_client_ps] => 0
    [rows_fetched_from_client_normal_buffered] => 0
    [rows_fetched_from_client_normal_unbuffered] => 0
    [rows_fetched_from_client_ps_buffered] => 0
    [rows_fetched_from_client_ps_unbuffered] => 0
    [rows_fetched_from_client_ps_cursor] => 0
    [rows_skipped_normal] => 0
    [rows_skipped_ps] => 0
    [copy_on_write_saved] => 0
    [copy_on_write_performed] => 0
    [command_buffer_too_small] => 0
    [connect_success] => 1
    [connect_failure] => 0
    [connection_reused] => 0
    [reconnect] => 0
    [pconnect_success] => 0
    [active_connections] => 1
    [active_persistent_connections] => 0
    [explicit_close] => 0
    [implicit_close] => 0
    [disconnect_close] => 0
    [in_middle_of_command_close] => 0
    [explicit_free_result] => 0
    [implicit_free_result] => 0
    [explicit_stmt_close] => 0
    [implicit_stmt_close] => 0
    [mem_emalloc_count] => 0
    [mem_emalloc_ammount] => 0
    [mem_ecalloc_count] => 0
    [mem_ecalloc_ammount] => 0
    [mem_erealloc_count] => 0
    [mem_erealloc_ammount] => 0
    [mem_efree_count] => 0
    [mem_malloc_count] => 0
    [mem_malloc_ammount] => 0
    [mem_calloc_count] => 0
    [mem_calloc_ammount] => 0
    [mem_realloc_count] => 0
    [mem_realloc_ammount] => 0
    [mem_free_count] => 0
    [proto_text_fetched_null] => 0
    [proto_text_fetched_bit] => 0
    [proto_text_fetched_tinyint] => 0
    [proto_text_fetched_short] => 0
    [proto_text_fetched_int24] => 0
    [proto_text_fetched_int] => 0
    [proto_text_fetched_bigint] => 0
    [proto_text_fetched_decimal] => 0
    [proto_text_fetched_float] => 0
    [proto_text_fetched_double] => 0
    [proto_text_fetched_date] => 0
    [proto_text_fetched_year] => 0
    [proto_text_fetched_time] => 0
    [proto_text_fetched_datetime] => 0
    [proto_text_fetched_timestamp] => 0
    [proto_text_fetched_string] => 0
    [proto_text_fetched_blob] => 0
    [proto_text_fetched_enum] => 0
    [proto_text_fetched_set] => 0
    [proto_text_fetched_geometry] => 0
    [proto_text_fetched_other] => 0
    [proto_binary_fetched_null] => 0
    [proto_binary_fetched_bit] => 0
    [proto_binary_fetched_tinyint] => 0
    [proto_binary_fetched_short] => 0
    [proto_binary_fetched_int24] => 0
    [proto_binary_fetched_int] => 0
    [proto_binary_fetched_bigint] => 0
    [proto_binary_fetched_decimal] => 0
    [proto_binary_fetched_float] => 0
    [proto_binary_fetched_double] => 0
    [proto_binary_fetched_date] => 0
    [proto_binary_fetched_year] => 0
    [proto_binary_fetched_time] => 0
    [proto_binary_fetched_datetime] => 0
    [proto_binary_fetched_timestamp] => 0
    [proto_binary_fetched_string] => 0
    [proto_binary_fetched_blob] => 0
    [proto_binary_fetched_enum] => 0
    [proto_binary_fetched_set] => 0
    [proto_binary_fetched_geometry] => 0
    [proto_binary_fetched_other] => 0
)

Siehe auch

  • Stats description

mysqli::get_client_info
mysqli_get_client_version
mysqli


Returns the MySQL client version as an integer

mysqli_get_client_stats
mysqli::get_connection_stats
mysqli
PHP Manual

mysqli_get_client_version

mysqli::$client_version

(PHP 5, PHP 7)

mysqli_get_client_version -- mysqli::$client_version — Returns the MySQL client version as an integer

Beschreibung

Objektorientierter Stil

int $mysqli->client_version;

Prozeduraler Stil

int mysqli_get_client_version ( mysqli $link )

Returns client version number as an integer.

Rückgabewerte

A number that represents the MySQL client library version in format: main_version*10000 + minor_version *100 + sub_version. For example, 4.1.0 is returned as 40100.

This is useful to quickly determine the version of the client library to know if some capability exits.

Beispiele

Beispiel #1 mysqli_get_client_version

<?php

/* We don't need a connection to determine
   the version of mysql client library */

printf("Client library version: %d\n", mysqli_get_client_version());
?>

Siehe auch

  • mysqli_get_client_info() - Get MySQL client info
  • mysqli_get_server_info() - Returns the version of the MySQL server
  • mysqli_get_server_version() - Returns the version of the MySQL server as an integer

mysqli_get_client_stats
mysqli::get_connection_stats
mysqli


Returns statistics about the client connection

mysqli_get_client_version
mysqli::$host_info
mysqli
PHP Manual

mysqli::get_connection_stats

mysqli_get_connection_stats

(PHP 5 >= 5.3.0, PHP 7)

mysqli::get_connection_stats -- mysqli_get_connection_stats — Returns statistics about the client connection

Beschreibung

Objektorientierter Stil

bool mysqli::get_connection_stats ( void )

Prozeduraler Stil

array mysqli_get_connection_stats ( mysqli $link )

Returns statistics about the client connection. Nur in mysqlnd verfügbar.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

Rückgabewerte

Returns an array with connection stats if success, FALSE otherwise.

Beispiele

Beispiel #1 A mysqli_get_connection_stats() example

<?php
$link = mysqli_connect();
print_r(mysqli_get_connection_stats($link));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [bytes_sent] => 43
    [bytes_received] => 80
    [packets_sent] => 1
    [packets_received] => 2
    [protocol_overhead_in] => 8
    [protocol_overhead_out] => 4
    [bytes_received_ok_packet] => 11
    [bytes_received_eof_packet] => 0
    [bytes_received_rset_header_packet] => 0
    [bytes_received_rset_field_meta_packet] => 0
    [bytes_received_rset_row_packet] => 0
    [bytes_received_prepare_response_packet] => 0
    [bytes_received_change_user_packet] => 0
    [packets_sent_command] => 0
    [packets_received_ok] => 1
    [packets_received_eof] => 0
    [packets_received_rset_header] => 0
    [packets_received_rset_field_meta] => 0
    [packets_received_rset_row] => 0
    [packets_received_prepare_response] => 0
    [packets_received_change_user] => 0
    [result_set_queries] => 0
    [non_result_set_queries] => 0
    [no_index_used] => 0
    [bad_index_used] => 0
    [slow_queries] => 0
    [buffered_sets] => 0
    [unbuffered_sets] => 0
    [ps_buffered_sets] => 0
    [ps_unbuffered_sets] => 0
    [flushed_normal_sets] => 0
    [flushed_ps_sets] => 0
    [ps_prepared_never_executed] => 0
    [ps_prepared_once_executed] => 0
    [rows_fetched_from_server_normal] => 0
    [rows_fetched_from_server_ps] => 0
    [rows_buffered_from_client_normal] => 0
    [rows_buffered_from_client_ps] => 0
    [rows_fetched_from_client_normal_buffered] => 0
    [rows_fetched_from_client_normal_unbuffered] => 0
    [rows_fetched_from_client_ps_buffered] => 0
    [rows_fetched_from_client_ps_unbuffered] => 0
    [rows_fetched_from_client_ps_cursor] => 0
    [rows_skipped_normal] => 0
    [rows_skipped_ps] => 0
    [copy_on_write_saved] => 0
    [copy_on_write_performed] => 0
    [command_buffer_too_small] => 0
    [connect_success] => 1
    [connect_failure] => 0
    [connection_reused] => 0
    [reconnect] => 0
    [pconnect_success] => 0
    [active_connections] => 1
    [active_persistent_connections] => 0
    [explicit_close] => 0
    [implicit_close] => 0
    [disconnect_close] => 0
    [in_middle_of_command_close] => 0
    [explicit_free_result] => 0
    [implicit_free_result] => 0
    [explicit_stmt_close] => 0
    [implicit_stmt_close] => 0
    [mem_emalloc_count] => 0
    [mem_emalloc_ammount] => 0
    [mem_ecalloc_count] => 0
    [mem_ecalloc_ammount] => 0
    [mem_erealloc_count] => 0
    [mem_erealloc_ammount] => 0
    [mem_efree_count] => 0
    [mem_malloc_count] => 0
    [mem_malloc_ammount] => 0
    [mem_calloc_count] => 0
    [mem_calloc_ammount] => 0
    [mem_realloc_count] => 0
    [mem_realloc_ammount] => 0
    [mem_free_count] => 0
    [proto_text_fetched_null] => 0
    [proto_text_fetched_bit] => 0
    [proto_text_fetched_tinyint] => 0
    [proto_text_fetched_short] => 0
    [proto_text_fetched_int24] => 0
    [proto_text_fetched_int] => 0
    [proto_text_fetched_bigint] => 0
    [proto_text_fetched_decimal] => 0
    [proto_text_fetched_float] => 0
    [proto_text_fetched_double] => 0
    [proto_text_fetched_date] => 0
    [proto_text_fetched_year] => 0
    [proto_text_fetched_time] => 0
    [proto_text_fetched_datetime] => 0
    [proto_text_fetched_timestamp] => 0
    [proto_text_fetched_string] => 0
    [proto_text_fetched_blob] => 0
    [proto_text_fetched_enum] => 0
    [proto_text_fetched_set] => 0
    [proto_text_fetched_geometry] => 0
    [proto_text_fetched_other] => 0
    [proto_binary_fetched_null] => 0
    [proto_binary_fetched_bit] => 0
    [proto_binary_fetched_tinyint] => 0
    [proto_binary_fetched_short] => 0
    [proto_binary_fetched_int24] => 0
    [proto_binary_fetched_int] => 0
    [proto_binary_fetched_bigint] => 0
    [proto_binary_fetched_decimal] => 0
    [proto_binary_fetched_float] => 0
    [proto_binary_fetched_double] => 0
    [proto_binary_fetched_date] => 0
    [proto_binary_fetched_year] => 0
    [proto_binary_fetched_time] => 0
    [proto_binary_fetched_datetime] => 0
    [proto_binary_fetched_timestamp] => 0
    [proto_binary_fetched_string] => 0
    [proto_binary_fetched_blob] => 0
    [proto_binary_fetched_enum] => 0
    [proto_binary_fetched_set] => 0
    [proto_binary_fetched_geometry] => 0
    [proto_binary_fetched_other] => 0
)

Siehe auch

  • Stats description

mysqli_get_client_version
mysqli::$host_info
mysqli


Returns a string representing the type of connection used

mysqli::get_connection_stats
mysqli::$protocol_version
mysqli
PHP Manual

mysqli::$host_info

mysqli_get_host_info

(PHP 5, PHP 7)

mysqli::$host_info -- mysqli_get_host_info — Returns a string representing the type of connection used

Beschreibung

Objektorientierter Stil

string $mysqli->host_info;

Prozeduraler Stil

string mysqli_get_host_info ( mysqli $link )

Returns a string describing the connection represented by the link parameter (including the server host name).

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

Rückgabewerte

A character string representing the server hostname and the connection type.

Beispiele

Beispiel #1 $mysqli->host_info example

Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* print host information */
printf("Host info: %s\n", $mysqli->host_info);

/* close connection */
$mysqli->close();
?>

Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* print host information */
printf("Host info: %s\n", mysqli_get_host_info($link));

/* close connection */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Host info: Localhost via UNIX socket

Siehe auch

  • mysqli_get_proto_info() - Returns the version of the MySQL protocol used

mysqli::get_connection_stats
mysqli::$protocol_version
mysqli


Returns the version of the MySQL protocol used

mysqli::$host_info
mysqli::$server_info
mysqli
PHP Manual

mysqli::$protocol_version

mysqli_get_proto_info

(PHP 5, PHP 7)

mysqli::$protocol_version -- mysqli_get_proto_info — Returns the version of the MySQL protocol used

Beschreibung

Objektorientierter Stil

string $mysqli->protocol_version;

Prozeduraler Stil

int mysqli_get_proto_info ( mysqli $link )

Returns an integer representing the MySQL protocol version used by the connection represented by the link parameter.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

Rückgabewerte

Returns an integer representing the protocol version.

Beispiele

Beispiel #1 $mysqli->protocol_version example

Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* print protocol version */
printf("Protocol version: %d\n", $mysqli->protocol_version);

/* close connection */
$mysqli->close();
?>

Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* print protocol version */
printf("Protocol version: %d\n", mysqli_get_proto_info($link));

/* close connection */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Protocol version: 10

Siehe auch

  • mysqli_get_host_info() - Returns a string representing the type of connection used

mysqli::$host_info
mysqli::$server_info
mysqli


Returns the version of the MySQL server

mysqli::$protocol_version
mysqli::$server_version
mysqli
PHP Manual

mysqli::$server_info

mysqli_get_server_info

(PHP 5, PHP 7)

mysqli::$server_info -- mysqli_get_server_info — Returns the version of the MySQL server

Beschreibung

Objektorientierter Stil

string $mysqli->server_info;

Prozeduraler Stil

string mysqli_get_server_info ( mysqli $link )

Returns a string representing the version of the MySQL server that the MySQLi extension is connected to.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

Rückgabewerte

A character string representing the server version.

Beispiele

Beispiel #1 $mysqli->server_info example

Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* print server version */
printf("Server version: %s\n", $mysqli->server_info);

/* close connection */
$mysqli->close();
?>

Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* print server version */
printf("Server version: %s\n", mysqli_get_server_info($link));

/* close connection */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Server version: 4.1.2-alpha-debug

Siehe auch

  • mysqli_get_client_info() - Get MySQL client info
  • mysqli_get_client_version() - Returns the MySQL client version as an integer
  • mysqli_get_server_version() - Returns the version of the MySQL server as an integer

mysqli::$protocol_version
mysqli::$server_version
mysqli


Returns the version of the MySQL server as an integer

mysqli::$server_info
mysqli::get_warnings
mysqli
PHP Manual

mysqli::$server_version

mysqli_get_server_version

(PHP 5, PHP 7)

mysqli::$server_version -- mysqli_get_server_version — Returns the version of the MySQL server as an integer

Beschreibung

Objektorientierter Stil

int $mysqli->server_version;

Prozeduraler Stil

int mysqli_get_server_version ( mysqli $link )

The mysqli_get_server_version() function returns the version of the server connected to (represented by the link parameter) as an integer.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

Rückgabewerte

An integer representing the server version.

The form of this version number is main_version * 10000 + minor_version * 100 + sub_version (i.e. version 4.1.0 is 40100).

Beispiele

Beispiel #1 $mysqli->server_version example

Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* print server version */
printf("Server version: %d\n", $mysqli->server_version);

/* close connection */
$mysqli->close();
?>

Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* print server version */
printf("Server version: %d\n", mysqli_get_server_version($link));

/* close connection */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Server version: 40102

Siehe auch

  • mysqli_get_client_info() - Get MySQL client info
  • mysqli_get_client_version() - Returns the MySQL client version as an integer
  • mysqli_get_server_info() - Returns the version of the MySQL server

mysqli::$server_info
mysqli::get_warnings
mysqli


Get result of SHOW WARNINGS

mysqli::$server_version
mysqli::$info
mysqli
PHP Manual

mysqli::get_warnings

mysqli_get_warnings

(PHP 5 >= 5.1.0, PHP 7)

mysqli::get_warnings -- mysqli_get_warnings — Get result of SHOW WARNINGS

Beschreibung

Objektorientierter Stil

mysqli_warning mysqli::get_warnings ( void )

Prozeduraler Stil

mysqli_warning mysqli_get_warnings ( mysqli $link )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

mysqli::$server_version
mysqli::$info
mysqli


Retrieves information about the most recently executed query

mysqli::get_warnings
mysqli::init
mysqli
PHP Manual

mysqli::$info

mysqli_info

(PHP 5, PHP 7)

mysqli::$info -- mysqli_info — Retrieves information about the most recently executed query

Beschreibung

Objektorientierter Stil

string $mysqli->info;

Prozeduraler Stil

string mysqli_info ( mysqli $link )

The mysqli_info() function returns a string providing information about the last query executed. The nature of this string is provided below:

Possible mysqli_info return values
Query type | Example result string
INSERT INTO...SELECT... | Records: 100 Duplicates: 0 Warnings: 0
INSERT INTO...VALUES (...),(...),(...) | Records: 3 Duplicates: 0 Warnings: 0
LOAD DATA INFILE ... | Records: 1 Deleted: 0 Skipped: 0 Warnings: 0
ALTER TABLE ... | Records: 3 Duplicates: 0 Warnings: 0
UPDATE ... | Rows matched: 40 Changed: 40 Warnings: 0

Hinweis:

Queries which do not fall into one of the preceding formats are not supported. In these situations, mysqli_info() will return an empty string.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

Rückgabewerte

A character string representing additional information about the most recently executed query.

Beispiele

Beispiel #1 $mysqli->info example

Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TEMPORARY TABLE t1 LIKE City");

/* INSERT INTO .. SELECT */
$mysqli->query("INSERT INTO t1 SELECT * FROM City ORDER BY ID LIMIT 150");
printf("%s\n", $mysqli->info);

/* close connection */
$mysqli->close();
?>

Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TEMPORARY TABLE t1 LIKE City");

/* INSERT INTO .. SELECT */
mysqli_query($link, "INSERT INTO t1 SELECT * FROM City ORDER BY ID LIMIT 150");
printf("%s\n", mysqli_info($link));

/* close connection */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Records: 150  Duplicates: 0  Warnings: 0

Siehe auch

  • mysqli_affected_rows() - Ermittelt die Anzahl der betroffenen Zeilen in einem vorherigen MySQL Vorgang
  • mysqli_warning_count() - Gibt die Anzahl an Warnungen für den letzten Query der übergebenen Verbindung zurück.
  • mysqli_num_rows() - Gets the number of rows in a result

mysqli::get_warnings
mysqli::init
mysqli


Initializes MySQLi and returns a resource for use with mysqli_real_connect()

mysqli::$info
mysqli::$insert_id
mysqli
PHP Manual

mysqli::init

mysqli_init

(PHP 5, PHP 7)

mysqli::init -- mysqli_init — Initializes MySQLi and returns a resource for use with mysqli_real_connect()

Beschreibung

Objektorientierter Stil

mysqli mysqli::init ( void )

Prozeduraler Stil

mysqli mysqli_init ( void )

Allocates or initializes a MYSQL object suitable for mysqli_options() and mysqli_real_connect().

Hinweis:

Any subsequent calls to any mysqli function (except mysqli_options()) will fail until mysqli_real_connect() was called.

Rückgabewerte

Returns an object.

Beispiele

See mysqli_real_connect().

Siehe auch

  • mysqli_options() - Set options
  • mysqli_close() - Schließt die zuvor geöffnete Datenbankverbindung
  • mysqli_real_connect() - Opens a connection to a mysql server
  • mysqli_connect() - Alias von mysqli::__construct

mysqli::$info
mysqli::$insert_id
mysqli


Returns the auto generated id used in the latest query

mysqli::init
mysqli::kill
mysqli
PHP Manual

mysqli::$insert_id

mysqli_insert_id

(PHP 5, PHP 7)

mysqli::$insert_id -- mysqli_insert_id — Returns the auto generated id used in the latest query

Beschreibung

Objektorientierter Stil

mixed $mysqli->insert_id;

Prozeduraler Stil

mixed mysqli_insert_id ( mysqli $link )

The mysqli_insert_id() function returns the ID generated by a query on a table with a column having the AUTO_INCREMENT attribute. If the last query wasn't an INSERT or UPDATE statement or if the modified table does not have a column with the AUTO_INCREMENT attribute, this function will return zero.

Hinweis:

Performing an INSERT or UPDATE statement using the LAST_INSERT_ID() function will also modify the value returned by the mysqli_insert_id() function.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

Rückgabewerte

The value of the AUTO_INCREMENT field that was updated by the previous query. Returns zero if there was no previous query on the connection or if the query did not update an AUTO_INCREMENT value.

Hinweis:

If the number is greater than maximal int value, mysqli_insert_id() will return a string.

Beispiele

Beispiel #1 $mysqli->insert_id example

Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCity LIKE City");

$query = "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)";
$mysqli->query($query);

printf ("New Record has id %d.\n", $mysqli->insert_id);

/* drop table */
$mysqli->query("DROP TABLE myCity");

/* close connection */
$mysqli->close();
?>

Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCity LIKE City");

$query = "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)";
mysqli_query($link, $query);

printf ("New Record has id %d.\n", mysqli_insert_id($link));

/* drop table */
mysqli_query($link, "DROP TABLE myCity");

/* close connection */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

New Record has id 1.
mysqli::init
mysqli::kill
mysqli


Asks the server to kill a MySQL thread

mysqli::$insert_id
mysqli::more_results
mysqli
PHP Manual

mysqli::kill

mysqli_kill

(PHP 5, PHP 7)

mysqli::kill -- mysqli_kill — Asks the server to kill a MySQL thread

Beschreibung

Objektorientierter Stil

bool mysqli::kill ( int $processid )

Prozeduraler Stil

bool mysqli_kill ( mysqli $link , int $processid )

This function is used to ask the server to kill a MySQL thread specified by the processid parameter. This value must be retrieved by calling the mysqli_thread_id() function.

To stop a running query you should use the SQL command KILL QUERY processid.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 mysqli::kill() example

Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* determine our thread id */
$thread_id = $mysqli->thread_id;

/* Kill connection */
$mysqli->kill($thread_id);

/* This should produce an error */
if (!$mysqli->query("CREATE TABLE myCity LIKE City")) {
    printf("Error: %s\n", $mysqli->error);
    exit;
}

/* close connection */
$mysqli->close();
?>

Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* determine our thread id */
$thread_id = mysqli_thread_id($link);

/* Kill connection */
mysqli_kill($link, $thread_id);

/* This should produce an error */
if (!mysqli_query($link, "CREATE TABLE myCity LIKE City")) {
    printf("Error: %s\n", mysqli_error($link));
    exit;
}

/* close connection */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Error: MySQL server has gone away

Siehe auch

  • mysqli_thread_id() - Returns the thread ID for the current connection

mysqli::$insert_id
mysqli::more_results
mysqli


Check if there are any more query results from a multi query

mysqli::kill
mysqli::multi_query
mysqli
PHP Manual

mysqli::more_results

mysqli_more_results

(PHP 5, PHP 7)

mysqli::more_results -- mysqli_more_results — Check if there are any more query results from a multi query

Beschreibung

Objektorientierter Stil

bool mysqli::more_results ( void )

Prozeduraler Stil

bool mysqli_more_results ( mysqli $link )

Indicates if one or more result sets are available from a previous call to mysqli_multi_query().

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

Rückgabewerte

Returns TRUE if one or more result sets are available from a previous call to mysqli_multi_query(), otherwise FALSE.

Beispiele

See mysqli_multi_query().

Siehe auch

  • mysqli_multi_query() - Performs a query on the database
  • mysqli_next_result() - Prepare next result from multi_query
  • mysqli_store_result() - Transfers a result set from the last query
  • mysqli_use_result() - Initiate a result set retrieval

mysqli::kill
mysqli::multi_query
mysqli


Performs a query on the database

mysqli::more_results
mysqli::next_result
mysqli
PHP Manual

mysqli::multi_query

mysqli_multi_query

(PHP 5, PHP 7)

mysqli::multi_query -- mysqli_multi_query — Performs a query on the database

Beschreibung

Objektorientierter Stil

bool mysqli::multi_query ( string $query )

Prozeduraler Stil

bool mysqli_multi_query ( mysqli $link , string $query )

Executes one or multiple queries which are concatenated by a semicolon.

To retrieve the resultset from the first query you can use mysqli_use_result() or mysqli_store_result(). All subsequent query results can be processed using mysqli_more_results() and mysqli_next_result().

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

query

The query, as a string.

Data inside the query should be properly escaped.

Rückgabewerte

Returns FALSE if the first statement failed. To retrieve subsequent errors from other statements you have to call mysqli_next_result() first.

Beispiele

Beispiel #1 mysqli::multi_query() example

Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query  = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* execute multi query */
if ($mysqli->multi_query($query)) {
    do {
        /* store first result set */
        if ($result = $mysqli->store_result()) {
            while ($row = $result->fetch_row()) {
                printf("%s\n", $row[0]);
            }
            $result->free();
        }
        /* print divider */
        if ($mysqli->more_results()) {
            printf("-----------------\n");
        }
    } while ($mysqli->next_result());
}

/* close connection */
$mysqli->close();
?>

Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query  = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* execute multi query */
if (mysqli_multi_query($link, $query)) {
    do {
        /* store first result set */
        if ($result = mysqli_store_result($link)) {
            while ($row = mysqli_fetch_row($result)) {
                printf("%s\n", $row[0]);
            }
            mysqli_free_result($result);
        }
        /* print divider */
        if (mysqli_more_results($link)) {
            printf("-----------------\n");
        }
    } while (mysqli_next_result($link));
}

/* close connection */
mysqli_close($link);
?>

Oben gezeigte Beispiele erzeugen eine ähnliche Ausgabe wie:

my_user@localhost
-----------------
Amersfoort
Maastricht
Dordrecht
Leiden
Haarlemmermeer

Siehe auch

  • mysqli_query() - Performs a query on the database
  • mysqli_use_result() - Initiate a result set retrieval
  • mysqli_store_result() - Transfers a result set from the last query
  • mysqli_next_result() - Prepare next result from multi_query
  • mysqli_more_results() - Check if there are any more query results from a multi query

mysqli::more_results
mysqli::next_result
mysqli


Prepare next result from multi_query

mysqli::multi_query
mysqli::options
mysqli
PHP Manual

mysqli::next_result

mysqli_next_result

(PHP 5, PHP 7)

mysqli::next_result -- mysqli_next_result — Prepare next result from multi_query

Beschreibung

Objektorientierter Stil

bool mysqli::next_result ( void )

Prozeduraler Stil

bool mysqli_next_result ( mysqli $link )

Prepares next result set from a previous call to
mysqli_multi_query() which can be retrieved by
mysqli_store_result() or
mysqli_use_result().

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

See mysqli_multi_query().

Siehe auch

  • mysqli_multi_query() - Performs a query on the database
  • mysqli_more_results() - Check if there are any more query results from a multi query
  • mysqli_store_result() - Transfers a result set from the last query
  • mysqli_use_result() - Initiate a result set retrieval

mysqli::multi_query
mysqli::options
mysqli


Set options

mysqli::next_result
mysqli::ping
mysqli
PHP Manual

mysqli::options

mysqli_options

(PHP 5, PHP 7)

mysqli::options -- mysqli_options — Set options

Beschreibung

Objektorientierter Stil

bool mysqli::options ( int $option , mixed $value )

Prozeduraler Stil

bool mysqli_options ( mysqli $link , int $option , mixed $value )

Used to set extra connect options and affect behavior for a connection.

This function may be called multiple times to set several options.

mysqli_options() should be called after
mysqli_init() and before
mysqli_real_connect().

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

option

The option that you want to set. It can be one of the following values:

Valid options
Name | Description
MYSQLI_OPT_CONNECT_TIMEOUT | connection timeout in seconds (supported on Windows with TCP/IP since PHP 5.3.1)
MYSQLI_OPT_LOCAL_INFILE | enable/disable use of LOAD LOCAL INFILE
MYSQLI_INIT_COMMAND | command to execute after when connecting to MySQL server
MYSQLI_READ_DEFAULT_FILE | Read options from named option file instead of my.cnf
MYSQLI_READ_DEFAULT_GROUP | Read options from the named group from my.cnf or the file specified with MYSQL_READ_DEFAULT_FILE.
MYSQLI_SERVER_PUBLIC_KEY | RSA public key file used with the SHA-256 based authentication.
MYSQLI_OPT_NET_CMD_BUFFER_SIZE | The size of the internal command/network buffer. Only valid for mysqlnd.
MYSQLI_OPT_NET_READ_BUFFER_SIZE | Maximum read chunk size in bytes when reading the body of a MySQL command packet. Only valid for mysqlnd.
MYSQLI_OPT_INT_AND_FLOAT_NATIVE | Convert integer and float columns back to PHP numbers. Only valid for mysqlnd.
MYSQLI_OPT_SSL_VERIFY_SERVER_CERT

value

The value for the option.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.5.0 | The MYSQLI_SERVER_PUBLIC_KEY and MYSQLI_SERVER_PUBLIC_KEY options were added.
5.3.0 | The MYSQLI_OPT_INT_AND_FLOAT_NATIVE, MYSQLI_OPT_NET_CMD_BUFFER_SIZE, MYSQLI_OPT_NET_READ_BUFFER_SIZE, and MYSQLI_OPT_SSL_VERIFY_SERVER_CERT options were added.

Beispiele

See mysqli_real_connect().

Anmerkungen

Hinweis:

MySQLnd nimmt immer den Standardzeichensatz des Servers an. Dieser Zeichensatz wird während des Aufbaus der Verbindung bzw. der Authentifizierung übermittelt und danach von MySQLnd verwendet.

Libmysqlclient verwendet als Standardzeichensatz den, der in der Datei my.cnf angegeben oder durch einen Aufruf von mysqli_options() vor dem Aufruf von mysqli_real_connect() aber nach mysqli_init() gesetzt wurde.

Siehe auch

  • mysqli_init() - Initializes MySQLi and returns a resource for use with mysqli_real_connect()
  • mysqli_real_connect() - Opens a connection to a mysql server

mysqli::next_result
mysqli::ping
mysqli


Pings a server connection, or tries to reconnect if the connection has gone down

mysqli::options
mysqli::poll
mysqli
PHP Manual

mysqli::ping

mysqli_ping

(PHP 5, PHP 7)

mysqli::ping -- mysqli_ping — Pings a server connection, or tries to reconnect if the connection has gone down

Beschreibung

Objektorientierter Stil

bool mysqli::ping ( void )

Prozeduraler Stil

bool mysqli_ping ( mysqli $link )

Checks whether the connection to the server is working. If it has gone down and global option mysqli.reconnect is enabled, an automatic reconnection is attempted.

Hinweis: The php.ini setting mysqli.reconnect is ignored by the mysqlnd driver, so automatic reconnection is never attempted.

This function can be used by clients that remain idle for a long while, to check whether the server has closed the connection and reconnect if necessary.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 mysqli::ping() example

Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}

/* check if server is alive */
if ($mysqli->ping()) {
    printf ("Our connection is ok!\n");
} else {
    printf ("Error: %s\n", $mysqli->error);
}

/* close connection */
$mysqli->close();
?>

Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* check if server is alive */
if (mysqli_ping($link)) {
    printf ("Our connection is ok!\n");
} else {
    printf ("Error: %s\n", mysqli_error($link));
}

/* close connection */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Our connection is ok!
mysqli::options
mysqli::poll
mysqli


Poll connections

mysqli::ping
mysqli::prepare
mysqli
PHP Manual

mysqli::poll

mysqli_poll

(PHP 5 >= 5.3.0, PHP 7)

mysqli::poll -- mysqli_poll — Poll connections

Beschreibung

Objektorientierter Stil

public static int mysqli::poll ( array &$read , array &$error , array &$reject , int $sec [, int $usec ] )

Prozeduraler Stil

int mysqli_poll ( array &$read , array &$error , array &$reject , int $sec [, int $usec ] )

Poll connections. Nur in mysqlnd verfügbar. The method can be used as static.

Parameter-Liste

read

List of connections to check for outstanding results that can be read.

error

List of connections on which an error occured, for example, query failure or lost connection.

reject

List of connections rejected because no asynchronous query has been run on for which the function could poll results.

sec

Number of seconds to wait, must be non-negative.

usec

Number of microseconds to wait, must be non-negative.

Rückgabewerte

Returns number of ready connections upon success, FALSE otherwise.

Beispiele

Beispiel #1 A mysqli_poll() example

<?php
$link1 = mysqli_connect();
$link1->query("SELECT 'test'", MYSQLI_ASYNC);
$all_links = array($link1);
$processed = 0;
do {
    $links = $errors = $reject = array();
    foreach ($all_links as $link) {
        $links[] = $errors[] = $reject[] = $link;
    }
    if (!mysqli_poll($links, $errors, $reject, 1)) {
        continue;
    }
    foreach ($links as $link) {
        if ($result = $link->reap_async_query()) {
            print_r($result->fetch_row());
            if (is_object($result))
                mysqli_free_result($result);
        } else die(sprintf("MySQLi Error: %s", mysqli_error($link)));
        $processed++;
    }
} while ($processed < count($all_links));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => test
)

Siehe auch

  • mysqli_query() - Performs a query on the database
  • mysqli_reap_async_query() - Get result from async query

mysqli::ping
mysqli::prepare
mysqli


Prepare an SQL statement for execution

mysqli::poll
mysqli::query
mysqli
PHP Manual

mysqli::prepare

mysqli_prepare

(PHP 5, PHP 7)

mysqli::prepare -- mysqli_prepare — Prepare an SQL statement for execution

Beschreibung

Objektorientierter Stil

mysqli_stmt mysqli::prepare ( string $query )

Prozeduraler Stil

mysqli_stmt mysqli_prepare ( mysqli $link , string $query )

Prepares the SQL query, and returns a statement handle to be used for further operations on the statement. The query must consist of a single SQL statement.

The parameter markers must be bound to application variables using mysqli_stmt_bind_param() and/or mysqli_stmt_bind_result() before executing the statement or fetching rows.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

query

The query, as a string.

Hinweis:

You should not add a terminating semicolon or \g to the statement.

This parameter can include one or more parameter markers in the SQL statement by embedding question mark (?) characters at the appropriate positions.

Hinweis:

The markers are legal only in certain places in SQL statements. For example, they are allowed in the VALUES() list of an INSERT statement (to specify column values for a row), or in a comparison with a column in a WHERE clause to specify a comparison value.

However, they are not allowed for identifiers (such as table or column names), in the select list that names the columns to be returned by a SELECT statement, or to specify both operands of a binary operator such as the = equal sign. The latter restriction is necessary because it would be impossible to determine the parameter type. It's not allowed to compare marker with NULL by ? IS NULL too. In general, parameters are legal only in Data Manipulation Language (DML) statements, and not in Data Definition Language (DDL) statements.

Rückgabewerte

mysqli_prepare() returns a statement object or FALSE if an error occurred.

Beispiele

Beispiel #1 mysqli::prepare() example

Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$city = "Amersfoort";

/* create a prepared statement */
if ($stmt = $mysqli->prepare("SELECT District FROM City WHERE Name=?")) {

    /* bind parameters for markers */
    $stmt->bind_param("s", $city);

    /* execute query */
    $stmt->execute();

    /* bind result variables */
    $stmt->bind_result($district);

    /* fetch value */
    $stmt->fetch();

    printf("%s is in district %s\n", $city, $district);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$city = "Amersfoort";

/* create a prepared statement */
if ($stmt = mysqli_prepare($link, "SELECT District FROM City WHERE Name=?")) {

    /* bind parameters for markers */
    mysqli_stmt_bind_param($stmt, "s", $city);

    /* execute query */
    mysqli_stmt_execute($stmt);

    /* bind result variables */
    mysqli_stmt_bind_result($stmt, $district);

    /* fetch value */
    mysqli_stmt_fetch($stmt);

    printf("%s is in district %s\n", $city, $district);

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Amersfoort is in district Utrecht

Siehe auch

  • mysqli_stmt_execute() - Executes a prepared Query
  • mysqli_stmt_fetch() - Fetch results from a prepared statement into the bound variables
  • mysqli_stmt_bind_param() - Bindet Variablen als Parameter an eine vorbereitete Anweisung (prepared statement)
  • mysqli_stmt_bind_result() - Bindet Variablen an eine vorbereitete Anweisung (prepared statement), um das Ergebnis einer Abfrage abzulegen.
  • mysqli_stmt_close() - Schließt eine vorbereitete Anweisung (prepared statement)

mysqli::poll
mysqli::query
mysqli


Performs a query on the database

mysqli::prepare
mysqli::real_connect
mysqli
PHP Manual

mysqli::query

mysqli_query

(PHP 5, PHP 7)

mysqli::query -- mysqli_query — Performs a query on the database

Beschreibung

Objektorientierter Stil

mixed mysqli::query ( string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )

Prozeduraler Stil

mixed mysqli_query ( mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )

Performs a query against the database.

For non-DML queries (not INSERT, UPDATE or DELETE),
this function is similar to calling
mysqli_real_query() followed by either
mysqli_use_result() or
mysqli_store_result().

Hinweis:

In the case where you pass a statement to mysqli_query() that is longer than max_allowed_packet of the server, the returned error codes are different depending on whether you are using MySQL Native Driver (mysqlnd) or MySQL Client Library (libmysqlclient). The behavior is as follows:

  • mysqlnd on Linux returns an error code of 1153. The error message means "got a packet bigger than max_allowed_packet bytes".

  • mysqlnd on Windows returns an error code 2006. This error message means "server has gone away".

  • libmysqlclient on all platforms returns an error code 2006. This error message means "server has gone away".

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

query

The query string.

Data inside the query should be properly escaped.

resultmode

Either the constant MYSQLI_USE_RESULT or MYSQLI_STORE_RESULT depending on the desired behavior. By default, MYSQLI_STORE_RESULT is used.

If you use MYSQLI_USE_RESULT all subsequent calls will return error Commands out of sync unless you call mysqli_free_result()

With MYSQLI_ASYNC (available with mysqlnd), it is possible to perform query asynchronously. mysqli_poll() is then used to get results from such queries.

Rückgabewerte

Returns FALSE on failure. For successful SELECT, SHOW, DESCRIBE or EXPLAIN queries mysqli_query() will return a mysqli_result object. For other successful queries mysqli_query() will return TRUE.

Changelog

Version | Beschreibung
5.3.0 | Added the ability of async queries.

Beispiele

Beispiel #1 mysqli::query() example

Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}

/* Create table doesn't return a resultset */
if ($mysqli->query("CREATE TEMPORARY TABLE myCity LIKE City") === TRUE) {
    printf("Table myCity successfully created.\n");
}

/* Select queries return a resultset */
if ($result = $mysqli->query("SELECT Name FROM City LIMIT 10")) {
    printf("Select returned %d rows.\n", $result->num_rows);

    /* free result set */
    $result->close();
}

/* If we have to retrieve large amount of data we use MYSQLI_USE_RESULT */
if ($result = $mysqli->query("SELECT * FROM City", MYSQLI_USE_RESULT)) {

    /* Note, that we can't execute any functions which interact with the
       server until result set was closed. All calls will return an
       'out of sync' error */
    if (!$mysqli->query("SET @a:='this will not work'")) {
        printf("Error: %s\n", $mysqli->error);
    }
    $result->close();
}

$mysqli->close();
?>

Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Create table doesn't return a resultset */
if (mysqli_query($link, "CREATE TEMPORARY TABLE myCity LIKE City") === TRUE) {
    printf("Table myCity successfully created.\n");
}

/* Select queries return a resultset */
if ($result = mysqli_query($link, "SELECT Name FROM City LIMIT 10")) {
    printf("Select returned %d rows.\n", mysqli_num_rows($result));

    /* free result set */
    mysqli_free_result($result);
}

/* If we have to retrieve large amount of data we use MYSQLI_USE_RESULT */
if ($result = mysqli_query($link, "SELECT * FROM City", MYSQLI_USE_RESULT)) {

    /* Note, that we can't execute any functions which interact with the
       server until result set was closed. All calls will return an
       'out of sync' error */
    if (!mysqli_query($link, "SET @a:='this will not work'")) {
        printf("Error: %s\n", mysqli_error($link));
    }
    mysqli_free_result($result);
}

mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Table myCity successfully created.
Select returned 10 rows.
Error: Commands out of sync;  You can't run this command now

Siehe auch

  • mysqli_real_query() - Execute an SQL query
  • mysqli_multi_query() - Performs a query on the database
  • mysqli_free_result() - Frees the memory associated with a result

mysqli::prepare
mysqli::real_connect
mysqli


Opens a connection to a mysql server

mysqli::query
mysqli::real_escape_string
mysqli
PHP Manual

mysqli::real_connect

mysqli_real_connect

(PHP 5, PHP 7)

mysqli::real_connect -- mysqli_real_connect — Opens a connection to a mysql server

Beschreibung

Objektorientierter Stil

bool mysqli::real_connect ([ string $host [, string $username [, string $passwd [, string $dbname [, int $port [, string $socket [, int $flags ]]]]]]] )

Prozeduraler Stil

bool mysqli_real_connect ( mysqli $link [, string $host [, string $username [, string $passwd [, string $dbname [, int $port [, string $socket [, int $flags ]]]]]]] )

Establish a connection to a MySQL database engine.

This function differs from mysqli_connect():

  • mysqli_real_connect() needs a valid object which has to be created by function mysqli_init().

  • With the mysqli_options() function you can set various options for connection.

  • There is a flags parameter.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

host

Can be either a host name or an IP address. Passing the NULL value or the string "localhost" to this parameter, the local host is assumed. When possible, pipes will be used instead of the TCP/IP protocol.

username

The MySQL user name.

passwd

If provided or NULL, the MySQL server will attempt to authenticate the user against those user records which have no password only. This allows one username to be used with different permissions (depending on if a password as provided or not).

dbname

If provided will specify the default database to be used when performing queries.

port

Specifies the port number to attempt to connect to the MySQL server.

socket

Specifies the socket or named pipe that should be used.

Hinweis:

Specifying the socket parameter will not explicitly determine the type of connection to be used when connecting to the MySQL server. How the connection is made to the MySQL database is determined by the host parameter.

flags

With the parameter flags you can set different connection options:

Supported flags
Name | Description
MYSQLI_CLIENT_COMPRESS | Use compression protocol
MYSQLI_CLIENT_FOUND_ROWS | return number of matched rows, not the number of affected rows
MYSQLI_CLIENT_IGNORE_SPACE | Allow spaces after function names. Makes all function names reserved words.
MYSQLI_CLIENT_INTERACTIVE | Allow interactive_timeout seconds (instead of wait_timeout seconds) of inactivity before closing the connection
MYSQLI_CLIENT_SSL | Use SSL (encryption)
MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT | Like MYSQLI_CLIENT_SSL, but disables validation of the provided SSL certificate. This is only for installations using MySQL Native Driver and MySQL 5.6 or later.

Hinweis:

For security reasons the MULTI_STATEMENT flag is not supported in PHP. If you want to execute multiple queries use the mysqli_multi_query() function.

Changelog

Version | Beschreibung
5.6.16 | Added the MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT flag for MySQL Native Driver

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 mysqli::real_connect() example

Objektorientierter Stil

<?php

$mysqli = mysqli_init();
if (!$mysqli) {
    die('mysqli_init failed');
}

if (!$mysqli->options(MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {
    die('Setting MYSQLI_INIT_COMMAND failed');
}

if (!$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {
    die('Setting MYSQLI_OPT_CONNECT_TIMEOUT failed');
}

if (!$mysqli->real_connect('localhost', 'my_user', 'my_password', 'my_db')) {
    die('Connect Error (' . mysqli_connect_errno() . ') '
            . mysqli_connect_error());
}

echo 'Success... ' . $mysqli->host_info . "\n";

$mysqli->close();
?>

Objektorientierter Stil when extending mysqli class

<?php

class foo_mysqli extends mysqli {
    public function __construct($host, $user, $pass, $db) {
        parent::init();

        if (!parent::options(MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {
            die('Setting MYSQLI_INIT_COMMAND failed');
        }

        if (!parent::options(MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {
            die('Setting MYSQLI_OPT_CONNECT_TIMEOUT failed');
        }

        if (!parent::real_connect($host, $user, $pass, $db)) {
            die('Connect Error (' . mysqli_connect_errno() . ') '
                    . mysqli_connect_error());
        }
    }
}

$db = new foo_mysqli('localhost', 'my_user', 'my_password', 'my_db');

echo 'Success... ' . $db->host_info . "\n";

$db->close();
?>

Prozeduraler Stil

<?php

$link = mysqli_init();
if (!$link) {
    die('mysqli_init failed');
}

if (!mysqli_options($link, MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {
    die('Setting MYSQLI_INIT_COMMAND failed');
}

if (!mysqli_options($link, MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {
    die('Setting MYSQLI_OPT_CONNECT_TIMEOUT failed');
}

if (!mysqli_real_connect($link, 'localhost', 'my_user', 'my_password', 'my_db')) {
    die('Connect Error (' . mysqli_connect_errno() . ') '
            . mysqli_connect_error());
}

echo 'Success... ' . mysqli_get_host_info($link) . "\n";

mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Success... MySQL host info: localhost via TCP/IP

Anmerkungen

Hinweis:

MySQLnd nimmt immer den Standardzeichensatz des Servers an. Dieser Zeichensatz wird während des Aufbaus der Verbindung bzw. der Authentifizierung übermittelt und danach von MySQLnd verwendet.

Libmysqlclient verwendet als Standardzeichensatz den, der in der Datei my.cnf angegeben oder durch einen Aufruf von mysqli_options() vor dem Aufruf von mysqli_real_connect() aber nach mysqli_init() gesetzt wurde.

Siehe auch

  • mysqli_connect() - Alias von mysqli::__construct
  • mysqli_init() - Initializes MySQLi and returns a resource for use with mysqli_real_connect()
  • mysqli_options() - Set options
  • mysqli_ssl_set() - Used for establishing secure connections using SSL
  • mysqli_close() - Schließt die zuvor geöffnete Datenbankverbindung

mysqli::query
mysqli::real_escape_string
mysqli


Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection

mysqli::real_connect
mysqli::real_query
mysqli
PHP Manual

mysqli::real_escape_string

mysqli_real_escape_string

(PHP 5, PHP 7)

mysqli::real_escape_string -- mysqli_real_escape_string — Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection

Beschreibung

Objektorientierter Stil

string mysqli::escape_string ( string $escapestr )
string mysqli::real_escape_string ( string $escapestr )

Prozeduraler Stil

string mysqli_real_escape_string ( mysqli $link , string $escapestr )

This function is used to create a legal SQL string that you can use in an SQL statement. The given string is encoded to an escaped SQL string, taking into account the current character set of the connection.

Achtung

Security: the default character set

The character set must be set either at the server level, or with the API function mysqli_set_charset() for it to affect mysqli_real_escape_string(). See the concepts section on character sets for more information.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

escapestr

The string to be escaped.

Characters encoded are NUL (ASCII 0), \n, \r, \, ', ", and Control-Z.

Rückgabewerte

Returns an escaped string.

Beispiele

Beispiel #1 mysqli::real_escape_string() example

Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TEMPORARY TABLE myCity LIKE City");

$city = "'s Hertogenbosch";

/* this query will fail, cause we didn't escape $city */
if (!$mysqli->query("INSERT into myCity (Name) VALUES ('$city')")) {
    printf("Error: %s\n", $mysqli->sqlstate);
}

$city = $mysqli->real_escape_string($city);

/* this query with escaped $city will work */
if ($mysqli->query("INSERT into myCity (Name) VALUES ('$city')")) {
    printf("%d Row inserted.\n", $mysqli->affected_rows);
}

$mysqli->close();
?>

Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TEMPORARY TABLE myCity LIKE City");

$city = "'s Hertogenbosch";

/* this query will fail, cause we didn't escape $city */
if (!mysqli_query($link, "INSERT into myCity (Name) VALUES ('$city')")) {
    printf("Error: %s\n", mysqli_sqlstate($link));
}

$city = mysqli_real_escape_string($link, $city);

/* this query with escaped $city will work */
if (mysqli_query($link, "INSERT into myCity (Name) VALUES ('$city')")) {
    printf("%d Row inserted.\n", mysqli_affected_rows($link));
}

mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Error: 42000
1 Row inserted.

Anmerkungen

Hinweis:

For those accustomed to using mysql_real_escape_string(),
note that the arguments of mysqli_real_escape_string()
differ from what mysql_real_escape_string() expects.
The link identifier comes first in
mysqli_real_escape_string(), whereas the string to be escaped
comes first in mysql_real_escape_string().

Siehe auch

  • mysqli_set_charset() - Sets the default client character set
  • mysqli_character_set_name() - Returns the default character set for the database connection

mysqli::real_connect
mysqli::real_query
mysqli


Execute an SQL query

mysqli::real_escape_string
mysqli::reap_async_query
mysqli
PHP Manual

mysqli::real_query

mysqli_real_query

(PHP 5, PHP 7)

mysqli::real_query -- mysqli_real_query — Execute an SQL query

Beschreibung

Objektorientierter Stil

bool mysqli::real_query ( string $query )

Prozeduraler Stil

bool mysqli_real_query ( mysqli $link , string $query )

Executes a single query against the database whose result can then be retrieved or stored using the mysqli_store_result() or mysqli_use_result() functions.

In order to determine if a given query should return a result set or not, see mysqli_field_count().

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

query

The query, as a string.

Data inside the query should be properly escaped.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • mysqli_query() - Performs a query on the database
  • mysqli_store_result() - Transfers a result set from the last query
  • mysqli_use_result() - Initiate a result set retrieval

mysqli::real_escape_string
mysqli::reap_async_query
mysqli


Get result from async query

mysqli::real_query
mysqli::refresh
mysqli
PHP Manual

mysqli::reap_async_query

mysqli_reap_async_query

(PHP 5 >= 5.3.0, PHP 7)

mysqli::reap_async_query -- mysqli_reap_async_query — Get result from async query

Beschreibung

Objektorientierter Stil

public mysqli_result mysqli::reap_async_query ( void )

Prozeduraler Stil

mysqli_result mysqli_reap_async_query ( mysqli $link )

Get result from async query. Nur in mysqlnd verfügbar.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

Rückgabewerte

Returns mysqli_result in success, FALSE otherwise.

Siehe auch

  • mysqli_poll() - Poll connections

mysqli::real_query
mysqli::refresh
mysqli


Refreshes

mysqli::reap_async_query
mysqli::release_savepoint
mysqli
PHP Manual

mysqli::refresh

mysqli_refresh

(PHP 5 <= 5.3.0)

mysqli::refresh -- mysqli_refresh — Refreshes

Beschreibung

Objektorientierter Stil

public bool mysqli::refresh ( int $options )

Prozeduraler Stil

int mysqli_refresh ( resource $link , int $options )

Flushes tables or caches, or resets the replication server information.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

options

The options to refresh, using the MYSQLI_REFRESH_* constants as documented within the MySQLi constants documentation.

See also the official » MySQL Refresh documentation.

Rückgabewerte

TRUE if the refresh was a success, otherwise FALSE

Siehe auch

  • mysqli_poll() - Poll connections

mysqli::reap_async_query
mysqli::release_savepoint
mysqli


Removes the named savepoint from the set of savepoints of the current transaction

mysqli::refresh
mysqli::rollback
mysqli
PHP Manual

mysqli::release_savepoint

mysqli_release_savepoint

(PHP 5 >= 5.5.0, PHP 7)

mysqli::release_savepoint -- mysqli_release_savepoint — Removes the named savepoint from the set of savepoints of the current transaction

Beschreibung

Objektorientierter Stil (method):

public bool mysqli::release_savepoint ( string $name )

Prozeduraler Stil:

bool mysqli_release_savepoint ( mysqli $link , string $name )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

name

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • mysqli_rollback() - Rolls back current transaction

mysqli::refresh
mysqli::rollback
mysqli


Rolls back current transaction

mysqli::release_savepoint
mysqli::rpl_query_type
mysqli
PHP Manual

mysqli::rollback

mysqli_rollback

(PHP 5, PHP 7)

mysqli::rollback -- mysqli_rollback — Rolls back current transaction

Beschreibung

Objektorientierter Stil

bool mysqli::rollback ([ int $flags [, string $name ]] )

Prozeduraler Stil

bool mysqli_rollback ( mysqli $link [, int $flags [, string $name ]] )

Rollbacks the current transaction for the database.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

flags

A bitmask of MYSQLI_TRANS_COR_* constants.

name

If provided then ROLLBACK/*name*/ is executed.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.5.0 | Added flags and name parameters.

Beispiele

Beispiel #1 mysqli::rollback() example

Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* disable autocommit */
$mysqli->autocommit(FALSE);

$mysqli->query("CREATE TABLE myCity LIKE City");
$mysqli->query("ALTER TABLE myCity Type=InnoDB");
$mysqli->query("INSERT INTO myCity SELECT * FROM City LIMIT 50");

/* commit insert */
$mysqli->commit();

/* delete all rows */
$mysqli->query("DELETE FROM myCity");

if ($result = $mysqli->query("SELECT COUNT(*) FROM myCity")) {
    $row = $result->fetch_row();
    printf("%d rows in table myCity.\n", $row[0]);
    /* Free result */
    $result->close();
}

/* Rollback */
$mysqli->rollback();

if ($result = $mysqli->query("SELECT COUNT(*) FROM myCity")) {
    $row = $result->fetch_row();
    printf("%d rows in table myCity (after rollback).\n", $row[0]);
    /* Free result */
    $result->close();
}

/* Drop table myCity */
$mysqli->query("DROP TABLE myCity");

$mysqli->close();
?>

Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* disable autocommit */
mysqli_autocommit($link, FALSE);

mysqli_query($link, "CREATE TABLE myCity LIKE City");
mysqli_query($link, "ALTER TABLE myCity Type=InnoDB");
mysqli_query($link, "INSERT INTO myCity SELECT * FROM City LIMIT 50");

/* commit insert */
mysqli_commit($link);

/* delete all rows */
mysqli_query($link, "DELETE FROM myCity");

if ($result = mysqli_query($link, "SELECT COUNT(*) FROM myCity")) {
    $row = mysqli_fetch_row($result);
    printf("%d rows in table myCity.\n", $row[0]);
    /* Free result */
    mysqli_free_result($result);
}

/* Rollback */
mysqli_rollback($link);

if ($result = mysqli_query($link, "SELECT COUNT(*) FROM myCity")) {
    $row = mysqli_fetch_row($result);
    printf("%d rows in table myCity (after rollback).\n", $row[0]);
    /* Free result */
    mysqli_free_result($result);
}

/* Drop table myCity */
mysqli_query($link, "DROP TABLE myCity");

mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

0 rows in table myCity.
50 rows in table myCity (after rollback).

Siehe auch

  • mysqli_begin_transaction() - Starts a transaction
  • mysqli_commit() - Commits the current transaction
  • mysqli_autocommit() - Aktiviert oder deaktiviert automatisches Bestätigen von Datenbankänderungen
  • mysqli_release_savepoint() - Removes the named savepoint from the set of savepoints of the current transaction

mysqli::release_savepoint
mysqli::rpl_query_type
mysqli


Returns RPL query type

mysqli::rollback
mysqli::savepoint
mysqli
PHP Manual

mysqli::rpl_query_type

mysqli_rpl_query_type

(PHP 5, PHP 7)

mysqli::rpl_query_type -- mysqli_rpl_query_type — Returns RPL query type

Beschreibung

Objektorientierter Stil

int mysqli::rpl_query_type ( string $query )

Prozeduraler Stil

int mysqli_rpl_query_type ( mysqli $link , string $query )

Returns MYSQLI_RPL_MASTER, MYSQLI_RPL_SLAVE or MYSQLI_RPL_ADMIN depending on a query type. INSERT, UPDATE and similar are master queries, SELECT is slave, and FLUSH, REPAIR and similar are admin.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Warnung

Diese Funktion war DEPRECATED (veraltet) und wurde mit PHP 5.3.0 ENTFERNT.

mysqli::rollback
mysqli::savepoint
mysqli


Set a named transaction savepoint

mysqli::rpl_query_type
mysqli::select_db
mysqli
PHP Manual

mysqli::savepoint

mysqli_savepoint

(PHP 5 >= 5.5.0, PHP 7)

mysqli::savepoint -- mysqli_savepoint — Set a named transaction savepoint

Beschreibung

Objektorientierter Stil (method):

public bool mysqli::savepoint ( string $name )

Prozeduraler Stil:

bool mysqli_savepoint ( mysqli $link , string $name )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

name

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • mysqli_commit() - Commits the current transaction

mysqli::rpl_query_type
mysqli::select_db
mysqli


Selects the default database for database queries

mysqli::savepoint
mysqli::send_query
mysqli
PHP Manual

mysqli::select_db

mysqli_select_db

(PHP 5, PHP 7)

mysqli::select_db -- mysqli_select_db — Selects the default database for database queries

Beschreibung

Objektorientierter Stil

bool mysqli::select_db ( string $dbname )

Prozeduraler Stil

bool mysqli_select_db ( mysqli $link , string $dbname )

Selects the default database to be used when performing queries against the database connection.

Hinweis:

This function should only be used to change the default database for the connection. You can select the default database with 4th parameter in mysqli_connect().

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

dbname

The database name.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 mysqli::select_db() example

Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* return name of current default database */
if ($result = $mysqli->query("SELECT DATABASE()")) {
    $row = $result->fetch_row();
    printf("Default database is %s.\n", $row[0]);
    $result->close();
}

/* change db to world db */
$mysqli->select_db("world");

/* return name of current default database */
if ($result = $mysqli->query("SELECT DATABASE()")) {
    $row = $result->fetch_row();
    printf("Default database is %s.\n", $row[0]);
    $result->close();
}

$mysqli->close();
?>

Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* return name of current default database */
if ($result = mysqli_query($link, "SELECT DATABASE()")) {
    $row = mysqli_fetch_row($result);
    printf("Default database is %s.\n", $row[0]);
    mysqli_free_result($result);
}

/* change db to world db */
mysqli_select_db($link, "world");

/* return name of current default database */
if ($result = mysqli_query($link, "SELECT DATABASE()")) {
    $row = mysqli_fetch_row($result);
    printf("Default database is %s.\n", $row[0]);
    mysqli_free_result($result);
}

mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Default database is test.
Default database is world.

Siehe auch

  • mysqli_connect() - Alias von mysqli::__construct
  • mysqli_real_connect() - Opens a connection to a mysql server

mysqli::savepoint
mysqli::send_query
mysqli


Send the query and return

mysqli::select_db
mysqli::set_charset
mysqli
PHP Manual

mysqli::send_query

mysqli_send_query

(PHP 5, PHP 7)

mysqli::send_query -- mysqli_send_query — Send the query and return

Beschreibung

Objektorientierter Stil

bool mysqli::send_query ( string $query )

Prozeduraler Stil

bool mysqli_send_query ( mysqli $link , string $query )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Warnung

Diese Funktion war DEPRECATED (veraltet) und wurde mit PHP 5.3.0 ENTFERNT.

mysqli::select_db
mysqli::set_charset
mysqli


Sets the default client character set

mysqli::send_query
mysqli::set_local_infile_default
mysqli
PHP Manual

mysqli::set_charset

mysqli_set_charset

(PHP 5 >= 5.0.5, PHP 7)

mysqli::set_charset -- mysqli_set_charset — Sets the default client character set

Beschreibung

Objektorientierter Stil

bool mysqli::set_charset ( string $charset )

Prozeduraler Stil

bool mysqli_set_charset ( mysqli $link , string $charset )

Sets the default character set to be used when sending data from and to the database server.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

charset

The charset to be set as default.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Hinweis:

To use this function on a Windows platform you need MySQL client library version 4.1.11 or above (for MySQL 5.0 you need 5.0.6 or above).

Hinweis:

This is the preferred way to change the charset. Using mysqli_query() to set it (such as SET NAMES utf8) is not recommended. See the MySQL character set concepts section for more information.

Beispiele

Beispiel #1 mysqli::set_charset() example

Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

printf("Initial character set: %s\n", $mysqli->character_set_name());

/* change character set to utf8 */
if (!$mysqli->set_charset("utf8")) {
    printf("Error loading character set utf8: %s\n", $mysqli->error);
    exit();
} else {
    printf("Current character set: %s\n", $mysqli->character_set_name());
}

$mysqli->close();
?>

Prozeduraler Stil

<?php
$link = mysqli_connect('localhost', 'my_user', 'my_password', 'test');

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

printf("Initial character set: %s\n", mysqli_character_set_name($link));

/* change character set to utf8 */
if (!mysqli_set_charset($link, "utf8")) {
    printf("Error loading character set utf8: %s\n", mysqli_error($link));
    exit();
} else {
    printf("Current character set: %s\n", mysqli_character_set_name($link));
}

mysqli_close($link);
?>

Oben gezeigte Beispiele erzeugen eine ähnliche Ausgabe wie:

Initial character set: latin1
Current character set: utf8

Siehe auch

  • mysqli_character_set_name() - Returns the default character set for the database connection
  • mysqli_real_escape_string() - Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
  • MySQL character set concepts
  • » List of character sets that MySQL supports

mysqli::send_query
mysqli::set_local_infile_default
mysqli


Unsets user defined handler for load local infile command

mysqli::set_charset
mysqli::set_local_infile_handler
mysqli
PHP Manual

mysqli::set_local_infile_default

mysqli_set_local_infile_default

(PHP 5, PHP 7)

mysqli::set_local_infile_default -- mysqli_set_local_infile_default — Unsets user defined handler for load local infile command

Beschreibung

void mysqli_set_local_infile_default ( mysqli $link )

Deactivates a LOAD DATA INFILE LOCAL handler previously set with mysqli_set_local_infile_handler().

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

See mysqli_set_local_infile_handler() examples

Siehe auch

  • mysqli_set_local_infile_handler() - Set callback function for LOAD DATA LOCAL INFILE command

mysqli::set_charset
mysqli::set_local_infile_handler
mysqli


Set callback function for LOAD DATA LOCAL INFILE command

mysqli::set_local_infile_default
mysqli::$sqlstate
mysqli
PHP Manual

mysqli::set_local_infile_handler

mysqli_set_local_infile_handler

(PHP 5, PHP 7)

mysqli::set_local_infile_handler -- mysqli_set_local_infile_handler — Set callback function for LOAD DATA LOCAL INFILE command

Beschreibung

Objektorientierter Stil

bool mysqli::set_local_infile_handler ( mysqli $link , callable $read_func )

Prozeduraler Stil

bool mysqli_set_local_infile_handler ( mysqli $link , callable $read_func )

Set callback function for LOAD DATA LOCAL INFILE command

The callbacks task is to read input from the file specified in the LOAD DATA LOCAL INFILE and to reformat it into the format understood by LOAD DATA INFILE.

The returned data needs to match the format specified in the LOAD DATA

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

read_func

A callback function or object method taking the following parameters:

stream

A PHP stream associated with the SQL commands INFILE

&buffer

A string buffer to store the rewritten input into

buflen

The maximum number of characters to be stored in the buffer

&errormsg

If an error occurs you can store an error message in here

The callback function should return the number of characters stored in the buffer or a negative value if an error occurred.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 mysqli::set_local_infile_handler() example

Objektorientierter Stil

<?php
  $db = mysqli_init();
  $db->real_connect("localhost","root","","test");

  function callme($stream, &$buffer, $buflen, &$errmsg)
  {
    $buffer = fgets($stream);

    echo $buffer;

    // convert to upper case and replace "," delimiter with [TAB]
    $buffer = strtoupper(str_replace(",", "\t", $buffer));

    return strlen($buffer);
  }

  echo "Input:\n";

  $db->set_local_infile_handler("callme");
  $db->query("LOAD DATA LOCAL INFILE 'input.txt' INTO TABLE t1");
  $db->set_local_infile_default();

  $res = $db->query("SELECT * FROM t1");

  echo "\nResult:\n";
  while ($row = $res->fetch_assoc()) {
    echo join(",", $row)."\n";
  }
?>

Prozeduraler Stil

<?php
  $db = mysqli_init();
  mysqli_real_connect($db, "localhost","root","","test");

  function callme($stream, &$buffer, $buflen, &$errmsg)
  {
    $buffer = fgets($stream);

    echo $buffer;

    // convert to upper case and replace "," delimiter with [TAB]
    $buffer = strtoupper(str_replace(",", "\t", $buffer));

    return strlen($buffer);
  }

  echo "Input:\n";

  mysqli_set_local_infile_handler($db, "callme");
  mysqli_query($db, "LOAD DATA LOCAL INFILE 'input.txt' INTO TABLE t1");
  mysqli_set_local_infile_default($db);

  $res = mysqli_query($db, "SELECT * FROM t1");

  echo "\nResult:\n";
  while ($row = mysqli_fetch_assoc($res)) {
    echo join(",", $row)."\n";
  }
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Input:
23,foo
42,bar

Output:
23,FOO
42,BAR

Siehe auch

  • mysqli_set_local_infile_default() - Unsets user defined handler for load local infile command

mysqli::set_local_infile_default
mysqli::$sqlstate
mysqli


Returns the SQLSTATE error from previous MySQL operation

mysqli::set_local_infile_handler
mysqli::ssl_set
mysqli
PHP Manual

mysqli::$sqlstate

mysqli_sqlstate

(PHP 5, PHP 7)

mysqli::$sqlstate -- mysqli_sqlstate — Returns the SQLSTATE error from previous MySQL operation

Beschreibung

Objektorientierter Stil

string $mysqli->sqlstate;

Prozeduraler Stil

string mysqli_sqlstate ( mysqli $link )

Returns a string containing the SQLSTATE error code for the last error. The error code consists of five characters. '00000' means no error. The values are specified by ANSI SQL and ODBC. For a list of possible values, see » http://dev.mysql.com/doc/mysql/en/error-handling.html.

Hinweis:

Note that not all MySQL errors are yet mapped to SQLSTATE's. The value HY000 (general error) is used for unmapped errors.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

Rückgabewerte

Returns a string containing the SQLSTATE error code for the last error. The error code consists of five characters. '00000' means no error.

Beispiele

Beispiel #1 $mysqli->sqlstate example

Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Table City already exists, so we should get an error */
if (!$mysqli->query("CREATE TABLE City (ID INT, Name VARCHAR(30))")) {
    printf("Error - SQLSTATE %s.\n", $mysqli->sqlstate);
}

$mysqli->close();
?>

Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Table City already exists, so we should get an error */
if (!mysqli_query($link, "CREATE TABLE City (ID INT, Name VARCHAR(30))")) {
    printf("Error - SQLSTATE %s.\n", mysqli_sqlstate($link));
}

mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Error - SQLSTATE 42S01.

Siehe auch

  • mysqli_errno() - Returns the error code for the most recent function call
  • mysqli_error() - Returns a string description of the last error

mysqli::set_local_infile_handler
mysqli::ssl_set
mysqli


Used for establishing secure connections using SSL

mysqli::$sqlstate
mysqli::stat
mysqli
PHP Manual

mysqli::ssl_set

mysqli_ssl_set

(PHP 5, PHP 7)

mysqli::ssl_set -- mysqli_ssl_set — Used for establishing secure connections using SSL

Beschreibung

Objektorientierter Stil

bool mysqli::ssl_set ( string $key , string $cert , string $ca , string $capath , string $cipher )

Prozeduraler Stil

bool mysqli_ssl_set ( mysqli $link , string $key , string $cert , string $ca , string $capath , string $cipher )

Used for establishing secure connections using SSL. It must be called before mysqli_real_connect(). This function does nothing unless OpenSSL support is enabled.

Note that MySQL Native Driver does not support SSL before PHP 5.3.3, so calling this function when using MySQL Native Driver will result in an error. MySQL Native Driver is enabled by default on Microsoft Windows from PHP version 5.3 onwards.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

key

The path name to the key file.

cert

The path name to the certificate file.

ca

The path name to the certificate authority file.

capath

The pathname to a directory that contains trusted SSL CA certificates in PEM format.

cipher

A list of allowable ciphers to use for SSL encryption.

Any unused SSL parameters may be given as NULL

Rückgabewerte

This function always returns TRUE value. If SSL setup is incorrect mysqli_real_connect() will return an error when you attempt to connect.

Siehe auch

  • mysqli_options() - Set options
  • mysqli_real_connect() - Opens a connection to a mysql server

mysqli::$sqlstate
mysqli::stat
mysqli


Liefert den aktuellen System Status

mysqli::ssl_set
mysqli::stmt_init
mysqli
PHP Manual

mysqli::stat

mysqli_stat

(PHP 5, PHP 7)

mysqli::stat -- mysqli_stat — Liefert den aktuellen System Status

Beschreibung

Objektorientierter Stil

string mysqli::stat ( void )

Prozeduraler Stil

string mysqli_stat ( mysqli $link )

mysqli_stat() liefert einen String welcher Informationen ähnlicher der, die der 'mysqladmin status' Befehl liefert. Das beinhaltet die Uptime in Sekunden, die Anzahl der laufenden Prozesse, Anfragen, reloads und geöffneten Tabellen.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

Rückgabewerte

Ein String der den Server Statue enthält. Im Fehlerfall FALSE.

Beispiele

Beispiel #1 mysqli::stat() Beispiel

Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

printf ("System status: %s\n", $mysqli->stat());

$mysqli->close();
?>

Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

printf("System status: %s\n", mysqli_stat($link));

mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

System status: Uptime: 272  Threads: 1  Questions: 5340  Slow queries: 0
Opens: 13  Flush tables: 1  Open tables: 0  Queries per second avg: 19.632
Memory in use: 8496K  Max memory used: 8560K

Siehe auch

  • mysqli_get_server_info() - Returns the version of the MySQL server

mysqli::ssl_set
mysqli::stmt_init
mysqli


Initializes a statement and returns an object for use with mysqli_stmt_prepare

mysqli::stat
mysqli::store_result
mysqli
PHP Manual

mysqli::stmt_init

mysqli_stmt_init

(PHP 5, PHP 7)

mysqli::stmt_init -- mysqli_stmt_init — Initializes a statement and returns an object for use with mysqli_stmt_prepare

Beschreibung

Objektorientierter Stil

mysqli_stmt mysqli::stmt_init ( void )

Prozeduraler Stil

mysqli_stmt mysqli_stmt_init ( mysqli $link )

Allocates and initializes a statement object suitable for mysqli_stmt_prepare().

Hinweis:

Any subsequent calls to any mysqli_stmt function will fail until mysqli_stmt_prepare() was called.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

Rückgabewerte

Returns an object.

Siehe auch

  • mysqli_stmt_prepare() - Prepare an SQL statement for execution

mysqli::stat
mysqli::store_result
mysqli


Transfers a result set from the last query

mysqli::stmt_init
mysqli::$thread_id
mysqli
PHP Manual

mysqli::store_result

mysqli_store_result

(PHP 5, PHP 7)

mysqli::store_result -- mysqli_store_result — Transfers a result set from the last query

Beschreibung

Objektorientierter Stil

mysqli_result mysqli::store_result ([ int $option ] )

Prozeduraler Stil

mysqli_result mysqli_store_result ( mysqli $link [, int $option ] )

Transfers the result set from the last query on the database connection represented by the link parameter to be used with the mysqli_data_seek() function.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

option

The option that you want to set. It can be one of the following values:

Valid options
Name | Description
MYSQLI_STORE_RESULT_COPY_DATA | Copy results from the internal mysqlnd buffer into the PHP variables fetched. By default, mysqlnd will use a reference logic to avoid copying and duplicating results held in memory. For certain result sets, for example, result sets with many small rows, the copy approach can reduce the overall memory usage because PHP variables holding results may be released earlier (available with mysqlnd only, since PHP 5.6.0)

Rückgabewerte

Returns a buffered result object or FALSE if an error occurred.

Hinweis:

mysqli_store_result() returns FALSE in case the query didn't return a result set (if the query was, for example an INSERT statement). This function also returns FALSE if the reading of the result set failed. You can check if you have got an error by checking if mysqli_error() doesn't return an empty string, if mysqli_errno() returns a non zero value, or if mysqli_field_count() returns a non zero value. Also possible reason for this function returning FALSE after successful call to mysqli_query() can be too large result set (memory for it cannot be allocated). If mysqli_field_count() returns a non-zero value, the statement should have produced a non-empty result set.

Anmerkungen

Hinweis:

Although it is always good practice to free the memory used by the result of a query using the mysqli_free_result() function, when transferring large result sets using the mysqli_store_result() this becomes particularly important.

Beispiele

See mysqli_multi_query().

Siehe auch

  • mysqli_real_query() - Execute an SQL query
  • mysqli_use_result() - Initiate a result set retrieval

mysqli::stmt_init
mysqli::$thread_id
mysqli


Returns the thread ID for the current connection

mysqli::store_result
mysqli::thread_safe
mysqli
PHP Manual

mysqli::$thread_id

mysqli_thread_id

(PHP 5, PHP 7)

mysqli::$thread_id -- mysqli_thread_id — Returns the thread ID for the current connection

Beschreibung

Objektorientierter Stil

int $mysqli->thread_id;

Prozeduraler Stil

int mysqli_thread_id ( mysqli $link )

The mysqli_thread_id() function returns the thread ID for the current connection which can then be killed using the mysqli_kill() function. If the connection is lost and you reconnect with mysqli_ping(), the thread ID will be other. Therefore you should get the thread ID only when you need it.

Hinweis:

The thread ID is assigned on a connection-by-connection basis. Hence, if the connection is broken and then re-established a new thread ID will be assigned.

To kill a running query you can use the SQL command KILL QUERY processid.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

Rückgabewerte

Returns the Thread ID for the current connection.

Beispiele

Beispiel #1 $mysqli->thread_id example

Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* determine our thread id */
$thread_id = $mysqli->thread_id;

/* Kill connection */
$mysqli->kill($thread_id);

/* This should produce an error */
if (!$mysqli->query("CREATE TABLE myCity LIKE City")) {
    printf("Error: %s\n", $mysqli->error);
    exit;
}

/* close connection */
$mysqli->close();
?>

Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* determine our thread id */
$thread_id = mysqli_thread_id($link);

/* Kill connection */
mysqli_kill($link, $thread_id);

/* This should produce an error */
if (!mysqli_query($link, "CREATE TABLE myCity LIKE City")) {
    printf("Error: %s\n", mysqli_error($link));
    exit;
}

/* close connection */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Error: MySQL server has gone away

Siehe auch

  • mysqli_kill() - Asks the server to kill a MySQL thread

mysqli::store_result
mysqli::thread_safe
mysqli


Returns whether thread safety is given or not

mysqli::$thread_id
mysqli::use_result
mysqli
PHP Manual

mysqli::thread_safe

mysqli_thread_safe

(PHP 5, PHP 7)

mysqli::thread_safe -- mysqli_thread_safe — Returns whether thread safety is given or not

Beschreibung

Prozeduraler Stil

bool mysqli_thread_safe ( void )

Tells whether the client library is compiled as thread-safe.

Rückgabewerte

TRUE if the client library is thread-safe, otherwise FALSE.

mysqli::$thread_id
mysqli::use_result
mysqli


Initiate a result set retrieval

mysqli::thread_safe
mysqli::$warning_count
mysqli
PHP Manual

mysqli::use_result

mysqli_use_result

(PHP 5, PHP 7)

mysqli::use_result -- mysqli_use_result — Initiate a result set retrieval

Beschreibung

Objektorientierter Stil

mysqli_result mysqli::use_result ( void )

Prozeduraler Stil

mysqli_result mysqli_use_result ( mysqli $link )

Used to initiate the retrieval of a result set from the last query executed using the mysqli_real_query() function on the database connection.

Either this or the mysqli_store_result() function must be called before the results of a query can be retrieved, and one or the other must be called to prevent the next query on that database connection from failing.

Hinweis:

The mysqli_use_result() function does not transfer the entire result set from the database and hence cannot be used functions such as mysqli_data_seek() to move to a particular row within the set. To use this functionality, the result set must be stored using mysqli_store_result(). One should not use mysqli_use_result() if a lot of processing on the client side is performed, since this will tie up the server and prevent other threads from updating any tables from which the data is being fetched.

Rückgabewerte

Returns an unbuffered result object or FALSE if an error occurred.

Beispiele

Beispiel #1 mysqli::use_result() example

Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query  = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* execute multi query */
if ($mysqli->multi_query($query)) {
    do {
        /* store first result set */
        if ($result = $mysqli->use_result()) {
            while ($row = $result->fetch_row()) {
                printf("%s\n", $row[0]);
            }
            $result->close();
        }
        /* print divider */
        if ($mysqli->more_results()) {
            printf("-----------------\n");
        }
    } while ($mysqli->next_result());
}

/* close connection */
$mysqli->close();
?>

Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query  = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* execute multi query */
if (mysqli_multi_query($link, $query)) {
    do {
        /* store first result set */
        if ($result = mysqli_use_result($link)) {
            while ($row = mysqli_fetch_row($result)) {
                printf("%s\n", $row[0]);
            }
            mysqli_free_result($result);
        }
        /* print divider */
        if (mysqli_more_results($link)) {
            printf("-----------------\n");
        }
    } while (mysqli_next_result($link));
}

/* close connection */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

my_user@localhost
-----------------
Amersfoort
Maastricht
Dordrecht
Leiden
Haarlemmermeer

Siehe auch

  • mysqli_real_query() - Execute an SQL query
  • mysqli_store_result() - Transfers a result set from the last query

mysqli::thread_safe
mysqli::$warning_count
mysqli


Gibt die Anzahl an Warnungen für den letzten Query der übergebenen Verbindung zurück.

mysqli::use_result
mysqli_stmt
mysqli
PHP Manual

mysqli::$warning_count

mysqli_warning_count

(PHP 5, PHP 7)

mysqli::$warning_count -- mysqli_warning_count — Gibt die Anzahl an Warnungen für den letzten Query der übergebenen Verbindung zurück.

Beschreibung

Objektorientierter Stil

int $mysqli->warning_count;

Prozeduraler Stil

int mysqli_warning_count ( mysqli $link )

Gibt die Anzahl an Warnungen für den letzten Query der übergebenen Verbindung zurück.

Hinweis:

Für das ermitteln der Warnungen kann der SQL Befehl SHOW WARNINGS [limit row_count] benutzt werden.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

Rückgabewerte

Wenn keine Warnungen vorhanden sind ist der Wert 0.

Beispiele

Beispiel #1 $mysqli->warning_count Beispiel

Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCity LIKE City");

/* a remarkable city in Wales */
$query = "INSERT INTO myCity (CountryCode, Name) VALUES('GBR',
        'Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch')";

$mysqli->query($query);

if ($mysqli->warning_count) {
    if ($result = $mysqli->query("SHOW WARNINGS")) {
        $row = $result->fetch_row();
        printf("%s (%d): %s\n", $row[0], $row[1], $row[2]);
        $result->close();
    }
}

/* close connection */
$mysqli->close();
?>

Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCity LIKE City");

/* a remarkable long city name in Wales */
$query = "INSERT INTO myCity (CountryCode, Name) VALUES('GBR',
        'Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch')";

mysqli_query($link, $query);

if (mysqli_warning_count($link)) {
    if ($result = mysqli_query($link, "SHOW WARNINGS")) {
        $row = mysqli_fetch_row($result);
        printf("%s (%d): %s\n", $row[0], $row[1], $row[2]);
        mysqli_free_result($result);
    }
}

/* close connection */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Warning (1264): Data truncated for column 'Name' at row 1

Siehe auch

  • mysqli_errno() - Returns the error code for the most recent function call
  • mysqli_error() - Returns a string description of the last error
  • mysqli_sqlstate() - Returns the SQLSTATE error from previous MySQL operation

mysqli::use_result
mysqli_stmt
mysqli


Die mysqli_stmt Klasse

(PHP 5, PHP 7)

Einführung

Repräsentiert ein Prepared Statement.

Klassenbeschreibung

mysqli_stmt {
/* Eigenschaften */
int $affected_rows;
int $errno;
array $error_list;
string $error;
int $field_count;
int $insert_id;
int $num_rows;
int $param_count;
string $sqlstate;
/* Methoden */
__construct ( mysqli $link [, string $query ] )
int attr_get ( int $attr )
bool attr_set ( int $attr , int $mode )
bool bind_param ( string $types , mixed &$var1 [, mixed &$... ] )
bool bind_result ( mixed &$var1 [, mixed &$... ] )
bool close ( void )
void data_seek ( int $offset )
bool execute ( void )
bool fetch ( void )
void free_result ( void )
mysqli_result get_result ( void )
object get_warnings ( mysqli_stmt $stmt )
mixed prepare ( string $query )
bool reset ( void )
mysqli_result result_metadata ( void )
bool send_long_data ( int $param_nr , string $data )
bool store_result ( void )
}

Inhaltsverzeichnis

  • mysqli_stmt::$affected_rows — gibt die gesamte Anzahl der Zeilen zurück, die bei der letzten ausgeführten Anweisung geändert, gelöscht oder eingefügt worden sind
  • mysqli_stmt::attr_get — Wird verwendet, um den augenblicklichen Wert eines Attributs der Anweisung zu erhalten
  • mysqli_stmt::attr_set — Wird verwendet, um das Verhalten einer vorbereiteten Anweisung (prepared statement) zu verändern.
  • mysqli_stmt::bind_param — Bindet Variablen als Parameter an eine vorbereitete Anweisung (prepared statement)
  • mysqli_stmt::bind_result — Bindet Variablen an eine vorbereitete Anweisung (prepared statement), um das Ergebnis einer Abfrage abzulegen.
  • mysqli_stmt::close — Schließt eine vorbereitete Anweisung (prepared statement)
  • mysqli_stmt::__construct — Erzeugt ein neues mysqli_stmt Objekt
  • mysqli_stmt::data_seek — Geht zu einer beliebigen Zeile in der Ergebnismenge einer Abfrage.
  • mysqli_stmt::$errno — Returns the error code for the most recent statement call
  • mysqli_stmt::$error_list — Returns a list of errors from the last statement executed
  • mysqli_stmt::$error — Returns a string description for last statement error
  • mysqli_stmt::execute — Executes a prepared Query
  • mysqli_stmt::fetch — Fetch results from a prepared statement into the bound variables
  • mysqli_stmt::$field_count — Returns the number of field in the given statement
  • mysqli_stmt::free_result — Frees stored result memory for the given statement handle
  • mysqli_stmt::get_result — Gets a result set from a prepared statement
  • mysqli_stmt::get_warnings — Get result of SHOW WARNINGS
  • mysqli_stmt::$insert_id — Get the ID generated from the previous INSERT operation
  • mysqli_stmt::more_results — Prüft, ob es weitere Ergebnismengen bei einer Mehrfachabfrage gibt.
  • mysqli_stmt::next_result — Liest die nächste Ergebnismenge einer Mehrfachabfrage aus.
  • mysqli_stmt::$num_rows — gibt die Anzahl der Zeilen einer Ergebnismenge zurück
  • mysqli_stmt::$param_count — Gibt die Anzahl der Parameter der gegebenen Anweisung zurück
  • mysqli_stmt::prepare — Prepare an SQL statement for execution
  • mysqli_stmt::reset — Resets a prepared statement
  • mysqli_stmt::result_metadata — Returns result set metadata from a prepared statement
  • mysqli_stmt::send_long_data — Sendet Daten blockweise
  • mysqli_stmt::$sqlstate — Gibt den SQL-Status von der vorangegangenen Ausführung der Anweisung zurück
  • mysqli_stmt::store_result — Holt die Ergebnismenge einer vorbereiteten Anweisung (Prepared Statement)
mysqli::$warning_count
mysqli_stmt::$affected_rows
Mysqli


gibt die gesamte Anzahl der Zeilen zurück, die bei der letzten ausgeführten Anweisung geändert, gelöscht oder eingefügt worden sind

mysqli_stmt
mysqli_stmt::attr_get
mysqli_stmt
PHP Manual

mysqli_stmt::$affected_rows

mysqli_stmt_affected_rows

(PHP 5, PHP 7)

mysqli_stmt::$affected_rows -- mysqli_stmt_affected_rows — gibt die gesamte Anzahl der Zeilen zurück, die bei der letzten ausgeführten Anweisung geändert, gelöscht oder eingefügt worden sind

Beschreibung

Objektorientierter Stil

int $mysqli_stmt->affected_rows;

Prozeduraler Stil

int mysqli_stmt_affected_rows ( mysqli_stmt $stmt )

Gibt die Anzahl der Zeilen zurück, die bei einer INSERT, UPDATE oder DELETE Abfrage beeinflusst worden sind.

Die Funktion arbeitet nur mit Abfragen, die eine Tabelle aktualisieren. Um die Anzahl der Zeilen einer SELECT-Abfrage zu bekommen, ist stattdessen mysqli_stmt_num_rows() zu verwenden.

Parameter-Liste

stmt

Nur bei prozeduralem Aufruf: ein von mysqli_stmt_init() zurückgegebenes Statementobjekt.

Rückgabewerte

Ein Integer-Wert größer als Null zeigt die Anzahl der beeinflussten Zeilen an. Null zeigt an, dass bei einer UPDATE/DELETE-Anweisung keine Datensätze beeinflusst worden sind, dass keine Zeilen die WHERE-Bedingung der Anweisung erfüllt haben, oder dass keine Anweisung ausgeführt wurde. -1 zeigt an, dass die Abfrage einen Fehler zurückgegeben hat. NULL zeigt an, dass die Abfrage mit einem ungültigen Argument aufgerufen wurde.

Hinweis:

Ist die Anzahl der beeinflussten Zeilen größer als der maximal erlaubte Wert eines PHP-Integers, wird die Anzahl der beeinflussten Zeilen als String-Wert zurück gegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Verbindung prüfen */
if (mysqli_connect_errno()) {
    printf("Verbindung fehlgeschlagen: %s\n", mysqli_connect_error());
    exit();
}

/* temporäre Tabelle erzeugen */
$mysqli->query("CREATE TEMPORARY TABLE myCountry LIKE Country");

$query = "INSERT INTO myCountry SELECT * FROM Country WHERE Code LIKE ?";

/* Anweisung vorbereiten */
if ($stmt = $mysqli->prepare($query)) {

    /* Variable an Platzhalter binden */
    $code = 'A%';
    $stmt->bind_param("s", $code);

    /* Anweisung ausführen */
    $stmt->execute();

    printf("eingefügte Zeilen: %d\n", $stmt->affected_rows);

    /* Anweisung schließen */
    $stmt->close();
}

/* Verbindung schließen */
$mysqli->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Verbindung prüfen */
if (mysqli_connect_errno()) {
    printf("Verbindung fehlgeschlagen: %s\n", mysqli_connect_error());
    exit();
}

/* temporäre Tabelle erzeugen */
mysqli_query($link, "CREATE TEMPORARY TABLE myCountry LIKE Country");

$query = "INSERT INTO myCountry SELECT * FROM Country WHERE Code LIKE ?";

/* Anweisung vorbereiten */
if ($stmt = mysqli_prepare($link, $query)) {

    /* Variable an Platzhalter binden */
    $code = 'A%';
    mysqli_stmt_bind_param($stmt, "s", $code);

    /* Anweisung ausführen */
    mysqli_stmt_execute($stmt);

    printf("eingefügte Zeilen: %d\n", mysqli_stmt_affected_rows($stmt));

    /* Anweisung schließen */
    mysqli_stmt_close($stmt);
}

/* Verbindung schließen */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

eingefügte Zeilen: 17

Siehe auch

  • mysqli_stmt_num_rows() - gibt die Anzahl der Zeilen einer Ergebnismenge zurück
  • mysqli_prepare() - Prepare an SQL statement for execution

mysqli_stmt
mysqli_stmt::attr_get
mysqli_stmt


Wird verwendet, um den augenblicklichen Wert eines Attributs der Anweisung zu erhalten

mysqli_stmt::$affected_rows
mysqli_stmt::attr_set
mysqli_stmt
PHP Manual

mysqli_stmt::attr_get

mysqli_stmt_attr_get

(PHP 5, PHP 7)

mysqli_stmt::attr_get -- mysqli_stmt_attr_get — Wird verwendet, um den augenblicklichen Wert eines Attributs der Anweisung zu erhalten

Beschreibung

Objektorientierter Stil

int mysqli_stmt::attr_get ( int $attr )

Prozeduraler Stil

int mysqli_stmt_attr_get ( mysqli_stmt $stmt , int $attr )

Gibt den augenblicklichen Wert eines Attributs der Anweisung zurück.

Parameter-Liste

stmt

Nur bei prozeduralem Aufruf: ein von mysqli_stmt_init() zurückgegebenes Statementobjekt.

attr

Das Attribut, dessen Wert abgefragt werden soll.

Rückgabewerte

Gibt FALSE zurück, wenn das Attribut nicht gefunden wird. Andernfalls gibt die Funktion den Wert des Attributs zurück.

mysqli_stmt::$affected_rows
mysqli_stmt::attr_set
mysqli_stmt


Wird verwendet, um das Verhalten einer vorbereiteten Anweisung (prepared statement) zu verändern.

mysqli_stmt::attr_get
mysqli_stmt::bind_param
mysqli_stmt
PHP Manual

mysqli_stmt::attr_set

mysqli_stmt_attr_set

(PHP 5, PHP 7)

mysqli_stmt::attr_set -- mysqli_stmt_attr_set — Wird verwendet, um das Verhalten einer vorbereiteten Anweisung (prepared statement) zu verändern.

Beschreibung

Objektorientierter Stil

bool mysqli_stmt::attr_set ( int $attr , int $mode )

Prozeduraler Stil

bool mysqli_stmt_attr_set ( mysqli_stmt $stmt , int $attr , int $mode )

Wird verwendet, um das Verhalten einer vorbereiteten Anweisung (prepared statement) zu verändern. Die Funktion kann mehrmals aufgerufen werden, um verschiedene Attribute zu setzen.

Parameter-Liste

stmt

Nur bei prozeduralem Aufruf: ein von mysqli_stmt_init() zurückgegebenes Statementobjekt.

attr

Das Attribut, das gesetzt werden soll. Es ist eines der folgenden Werte:

Attribut-Werte
Konstante | Beschreibung
MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH | Der Wert TRUE veranlasst mysqli_stmt_store_result(), die Meta-Information MYSQL_FIELD->max_length zu aktualisieren.
MYSQLI_STMT_ATTR_CURSOR_TYPE | Der Typ des Cursors, der für die Anweisung geöffnet wird, wenn mysqli_stmt_execute() aufgerufen wird. mode kann MYSQLI_CURSOR_TYPE_NO_CURSOR (Voreinstellung) oder MYSQLI_CURSOR_TYPE_READ_ONLY sein.
MYSQLI_STMT_ATTR_PREFETCH_ROWS | Anzahl der Zeilen, die auf einmal vom Server geholt werden, wenn ein Cursor benutzt wird. mode kann zwischen 1 und dem Maximalwert von unsigned long einschließlich liegen. Die Voreinstellung ist 1.

Wenn die Option MYSQLI_STMT_ATTR_CURSOR_TYPE mit MYSQLI_CURSOR_TYPE_READ_ONLY verwendet wird, dann wird ein Cursor für die Anweisung geöffnet, sobald mysqli_stmt_execute() aufgerufen wird. Wenn es schon einen offenen Cursor von einem vorherigen Aufruf von mysqli_stmt_execute() gibt, dann wird der Cursor geschlossen, bevor der neue geöffnet wird. mysqli_stmt_reset() schließt ebenfalls einen offenen Cursor, bevor die Anweisung für die Wiederausführung vorbereitet wird. mysqli_stmt_free_result() schließt einen offenen Cursor.

Wenn ein Cursor für eine Anweisung geöffnet wird, dann ist mysqli_stmt_store_result() unnötig.

mode

Der Wert, der dem Attribut zugewiesen werden soll.

Siehe auch

  • » Connector/MySQL mysql_stmt_attr_set()

mysqli_stmt::attr_get
mysqli_stmt::bind_param
mysqli_stmt


Bindet Variablen als Parameter an eine vorbereitete Anweisung (prepared statement)

mysqli_stmt::attr_set
mysqli_stmt::bind_result
mysqli_stmt
PHP Manual

mysqli_stmt::bind_param

mysqli_stmt_bind_param

(PHP 5, PHP 7)

mysqli_stmt::bind_param -- mysqli_stmt_bind_param — Bindet Variablen als Parameter an eine vorbereitete Anweisung (prepared statement)

Beschreibung

Objektorientierter Stil

bool mysqli_stmt::bind_param ( string $types , mixed &$var1 [, mixed &$... ] )

Prozeduraler Stil

bool mysqli_stmt_bind_param ( mysqli_stmt $stmt , string $types , mixed &$var1 [, mixed &$... ] )

Bindet Variablen an die Parameterplatzhalter einer SQL-Anweisung, die an mysqli_prepare() übergeben worden ist.

Hinweis:

Wenn die Größe des Inhalts einer Variablen die maximal erlaubte Paketgröße (max_allowed_packet) überschreitet, dann muss b in types spezifiziert werden und mysqli_stmt_send_long_data() verwendet werden, um die Daten paketweise zu verschicken.

Hinweis:

Vorsicht, wenn mysqli_stmt_bind_param() zusammen mit call_user_func_array() verwendet werden soll. mysqli_stmt_bind_param() erfordert, dass die Parameter als Referenzvariablen übergeben werden, wohingegen call_user_func_array() als Parameter eine Liste von Variablen akzeptiert, die sowohl Referenzen als auch Werte sein können.

Parameter-Liste

stmt

Nur bei prozeduralem Aufruf: ein von mysqli_stmt_init() zurückgegebenes Statementobjekt.

types

Eine Zeichenkette, die eine oder mehrere Zeichen enthält, die die Typen der zu bindenden Variablen spezifizieren.

Typspezifizierer
Zeichen | Beschreibung
i | die entsprechende Variable hat den Typ integer
d | die entsprechende Variable hat den Typ double
s | die entsprechende Variable hat den Typ string
b | die entsprechende Variable ist ein BLOB und wird paketweise geschickt

var1

Die Anzahl der Variablen und die Länge der Zeichenkette types müssen zu den Parametern in der Anweisung passen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'world');

/* prüfe Verbindung */
if (mysqli_connect_errno()) {
    printf("Verbindung fehlgeschlagen: %s\n", mysqli_connect_error());
    exit();
}

$stmt = $mysqli->prepare("INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");
$stmt->bind_param('sssd', $code, $language, $official, $percent);

$code = 'DEU';
$language = 'Bavarian';
$official = "F";
$percent = 11.2;

/* führe Anweisung aus */
$stmt->execute();

printf("%d Zeile eingefügt.\n", $stmt->affected_rows);

/* schließe Anweisung */
$stmt->close();

/* bereinige die Tabelle CountryLanguage */
$mysqli->query("DELETE FROM CountryLanguage WHERE Language='Bavarian'");
printf("%d Zeile gelöscht.\n", $mysqli->affected_rows);

/* schließe Verbindung */
$mysqli->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = mysqli_connect('localhost', 'my_user', 'my_password', 'world');

/* prüfe Verbindung */
if (!$link) {
    printf("Verbindung fehlgeschlagen: %s\n", mysqli_connect_error());
    exit();
}

$stmt = mysqli_prepare($link, "INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");
mysqli_stmt_bind_param($stmt, 'sssd', $code, $language, $official, $percent);

$code = 'DEU';
$language = 'Bavarian';
$official = "F";
$percent = 11.2;

/* führe Anweisung aus */
mysqli_stmt_execute($stmt);

printf("%d Zeile eingefügt.\n", mysqli_stmt_affected_rows($stmt));

/* schließe Anweisung */
mysqli_stmt_close($stmt);

/* bereinige die Tabelle CountryLanguage */
mysqli_query($link, "DELETE FROM CountryLanguage WHERE Language='Bavarian'");
printf("%d Zeile gelöscht.\n", mysqli_affected_rows($link));

/* schließe Verbindung */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

1 Row inserted.
1 Row deleted.

Siehe auch

  • mysqli_stmt_bind_result() - Bindet Variablen an eine vorbereitete Anweisung (prepared statement), um das Ergebnis einer Abfrage abzulegen.
  • mysqli_stmt_execute() - Executes a prepared Query
  • mysqli_stmt_fetch() - Fetch results from a prepared statement into the bound variables
  • mysqli_prepare() - Prepare an SQL statement for execution
  • mysqli_stmt_send_long_data() - Sendet Daten blockweise
  • mysqli_stmt_errno() - Returns the error code for the most recent statement call
  • mysqli_stmt_error() - Returns a string description for last statement error

mysqli_stmt::attr_set
mysqli_stmt::bind_result
mysqli_stmt


Bindet Variablen an eine vorbereitete Anweisung (prepared statement), um das Ergebnis einer Abfrage abzulegen.

mysqli_stmt::bind_param
mysqli_stmt::close
mysqli_stmt
PHP Manual

mysqli_stmt::bind_result

mysqli_stmt_bind_result

(PHP 5, PHP 7)

mysqli_stmt::bind_result -- mysqli_stmt_bind_result — Bindet Variablen an eine vorbereitete Anweisung (prepared statement), um das Ergebnis einer Abfrage abzulegen.

Beschreibung

Objektorientierter Stil

bool mysqli_stmt::bind_result ( mixed &$var1 [, mixed &$... ] )

Prozeduraler Stil

bool mysqli_stmt_bind_result ( mysqli_stmt $stmt , mixed &$var1 [, mixed &$... ] )

Bindet Spalten der Ergebnismenge an Variablen.

Wenn mysqli_stmt_fetch() aufgerufen wird, um Daten abzuholen, dann legt das MySQL-Client/Server-Protokoll die Daten der gebundenen Spalten in den spezifizierten Variablen var1, ... ab.

Hinweis:

Alle Spalten müssen gebunden werden nach dem Aufruf von mysqli_stmt_execute() und vor dem Aufruf von mysqli_stmt_fetch(). Abhängig von den Typen der Spalten, können Variablen automatisch den entsprechenden PHP-Typ annehmen.

Eine Spalte kann jederzeit gebunden oder neu gebunden werden auch dann, wenn ein Ergebnis schon teilweise abgeholt worden ist. Die neue Bindung wird aktiv, wenn das nächste mal mysqli_stmt_fetch() aufgerufen wird.

Parameter-Liste

stmt

Nur bei prozeduralem Aufruf: ein von mysqli_stmt_init() zurückgegebenes Statementobjekt.

var1

Die Variable, die gebunden werden soll.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* bereite Abfrage vor */
if ($stmt = $mysqli->prepare("SELECT Code, Name FROM Country ORDER BY Name LIMIT 5")) {
    $stmt->execute();

    /* binde Variablen an die Ergebnismenge */
    $stmt->bind_result($col1, $col2);

    /* hole die Ergebnisse */
    while ($stmt->fetch()) {
        printf("%s %s\n", $col1, $col2);
    }

    /* schließe Abfrage */
    $stmt->close();
}
/* schließe Verbindung */
$mysqli->close();

?>

Beispiel #2 Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* prüfe die Verbindung */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* bereite Abfrage vor */
if ($stmt = mysqli_prepare($link, "SELECT Code, Name FROM Country ORDER BY Name LIMIT 5")) {
    mysqli_stmt_execute($stmt);

    /* binde Variablen an die Ergebnismenge */
    mysqli_stmt_bind_result($stmt, $col1, $col2);

    /* hole Ergebnisse */
    while (mysqli_stmt_fetch($stmt)) {
        printf("%s %s\n", $col1, $col2);
    }

    /* schließe Abfrage */
    mysqli_stmt_close($stmt);
}

/* schließe Verbindung */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

AFG Afghanistan
ALB Albania
DZA Algeria
ASM American Samoa
AND Andorra

Siehe auch

  • mysqli_stmt_get_result() - Gets a result set from a prepared statement
  • mysqli_stmt_bind_param() - Bindet Variablen als Parameter an eine vorbereitete Anweisung (prepared statement)
  • mysqli_stmt_execute() - Executes a prepared Query
  • mysqli_stmt_fetch() - Fetch results from a prepared statement into the bound variables
  • mysqli_prepare() - Prepare an SQL statement for execution
  • mysqli_stmt_prepare() - Prepare an SQL statement for execution
  • mysqli_stmt_init() - Initializes a statement and returns an object for use with mysqli_stmt_prepare
  • mysqli_stmt_errno() - Returns the error code for the most recent statement call
  • mysqli_stmt_error() - Returns a string description for last statement error

mysqli_stmt::bind_param
mysqli_stmt::close
mysqli_stmt


Schließt eine vorbereitete Anweisung (prepared statement)

mysqli_stmt::bind_result
mysqli_stmt::__construct
mysqli_stmt
PHP Manual

mysqli_stmt::close

mysqli_stmt_close

(PHP 5, PHP 7)

mysqli_stmt::close -- mysqli_stmt_close — Schließt eine vorbereitete Anweisung (prepared statement)

Beschreibung

Objektorientierter Stil

bool mysqli_stmt::close ( void )

Prozeduraler Stil

bool mysqli_stmt_close ( mysqli_stmt $stmt )

Schließt eine vorbereitete Anweisung (prepared statement). mysqli_stmt_close() gibt ebenfalls das Handle der Anweisung frei. Wenn die gegebene Anweisung noch anhängige oder ungelesene Ergebnismengen hat, dann annulliert die Funktion diese, so dass die nächste Abfrage ausgeführt werden kann.

Parameter-Liste

stmt

Nur bei prozeduralem Aufruf: ein von mysqli_stmt_init() zurückgegebenes Statementobjekt.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • mysqli_prepare() - Prepare an SQL statement for execution

mysqli_stmt::bind_result
mysqli_stmt::__construct
mysqli_stmt


Erzeugt ein neues mysqli_stmt Objekt

mysqli_stmt::close
mysqli_stmt::data_seek
mysqli_stmt
PHP Manual

mysqli_stmt::__construct

(PHP 5, PHP 7)

mysqli_stmt::__construct — Erzeugt ein neues mysqli_stmt Objekt

Beschreibung

mysqli_stmt::__construct ( mysqli $link [, string $query ] )

Diese Methode erzeugt ein neues mysqli_stmt Objekt.

Hinweis:

Im Allgemeinen sollte eher mysqli_prepare() oder mysqli_stmt_init() verwendet werden, um ein mysqli_stmt Objekt zu erhalten, als es direkt mit new mysqli_stmt zu erzeugen. Diese Methode (und damit die Möglichkeit mysqli_stmt Objekte direkt zu erzeugen) könnte in Zunkunft als überholt gelten und entfernt werden.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

query

Die Abfrage als Zeichenkette. Wenn der Parameter fehlt, dann verhält sich der Konstruktor genau wie mysqli_stmt_init(). Wenn er gegeben ist, dann verhält sich der Konstruktor wie mysqli_prepare().

Siehe auch

  • mysqli_prepare() - Prepare an SQL statement for execution
  • mysqli_stmt_init() - Initializes a statement and returns an object for use with mysqli_stmt_prepare

mysqli_stmt::close
mysqli_stmt::data_seek
mysqli_stmt


Geht zu einer beliebigen Zeile in der Ergebnismenge einer Abfrage.

mysqli_stmt::__construct
mysqli_stmt::$errno
mysqli_stmt
PHP Manual

mysqli_stmt::data_seek

mysqli_stmt_data_seek

(PHP 5, PHP 7)

mysqli_stmt::data_seek -- mysqli_stmt_data_seek — Geht zu einer beliebigen Zeile in der Ergebnismenge einer Abfrage.

Beschreibung

Objektorientierter Stil

void mysqli_stmt::data_seek ( int $offset )

Prozeduraler Stil

void mysqli_stmt_data_seek ( mysqli_stmt $stmt , int $offset )

Geht zu einer beliebigen Zeile in der Ergebnismenge einer Abfrage.

mysqli_stmt_store_result() muss vor mysqli_stmt_data_seek() aufgerufen werden.

Parameter-Liste

stmt

Nur bei prozeduralem Aufruf: ein von mysqli_stmt_init() zurückgegebenes Statementobjekt.

offset

Muss zwischen null und der Anzahl der Zeilen minus eins sein (0.. mysqli_stmt_num_rows() - 1).

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* öffne Verbindung */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* prüfe Verbindung */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name";
if ($stmt = $mysqli->prepare($query)) {

    /* führe Abfrage aus */
    $stmt->execute();

    /* binde die Ergebnisvariablen an das Ergebnis */
    $stmt->bind_result($name, $code);

    /* hole Ergebnismenge */
    $stmt->store_result();

    /* gehe zu Zeile Nr. 400 */
    $stmt->data_seek(399);

    /* hole Ergebnisse */
    $stmt->fetch();

    printf ("City: %s  Countrycode: %s\n", $name, $code);

    /* schließe Abfrage */
    $stmt->close();
}

/* schließe Verbindung */
$mysqli->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
/* öffne Verbindung */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* prüfe Verbindung */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name";
if ($stmt = mysqli_prepare($link, $query)) {

    /* führe Abfrage aus */
    mysqli_stmt_execute($stmt);

    /* binde die Ergebnisvariablen an das Ergebnis */
    mysqli_stmt_bind_result($stmt, $name, $code);

    /* hole Ergebnismenge */
    mysqli_stmt_store_result($stmt);

    /* gehe zu Zeile Nr. 400 */
    mysqli_stmt_data_seek($stmt, 399);

    /* hole Ergebnisse */
    mysqli_stmt_fetch($stmt);

    printf ("City: %s  Countrycode: %s\n", $name, $code);

    /* schließe Abfrage */
    mysqli_stmt_close($stmt);
}

/* schließe Verbindung */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

City: Benin City  Countrycode: NGA

Siehe auch

  • mysqli_prepare() - Prepare an SQL statement for execution

mysqli_stmt::__construct
mysqli_stmt::$errno
mysqli_stmt


Returns the error code for the most recent statement call

mysqli_stmt::data_seek
mysqli_stmt::$error_list
mysqli_stmt
PHP Manual

mysqli_stmt::$errno

mysqli_stmt_errno

(PHP 5, PHP 7)

mysqli_stmt::$errno -- mysqli_stmt_errno — Returns the error code for the most recent statement call

Beschreibung

Objektorientierter Stil

int $mysqli_stmt->errno;

Prozeduraler Stil

int mysqli_stmt_errno ( mysqli_stmt $stmt )

Returns the error code for the most recently invoked statement function that can succeed or fail.

Client error message numbers are listed in the MySQL errmsg.h header file, server error message numbers are listed in mysqld_error.h. In the MySQL source distribution you can find a complete list of error messages and error numbers in the file Docs/mysqld_error.txt.

Parameter-Liste

stmt

Nur bei prozeduralem Aufruf: ein von mysqli_stmt_init() zurückgegebenes Statementobjekt.

Rückgabewerte

An error code value. Zero means no error occurred.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCountry LIKE Country");
$mysqli->query("INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = $mysqli->prepare($query)) {

    /* drop table */
    $mysqli->query("DROP TABLE myCountry");

    /* execute query */
    $stmt->execute();

    printf("Error: %d.\n", $stmt->errno);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCountry LIKE Country");
mysqli_query($link, "INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = mysqli_prepare($link, $query)) {

    /* drop table */
    mysqli_query($link, "DROP TABLE myCountry");

    /* execute query */
    mysqli_stmt_execute($stmt);

    printf("Error: %d.\n", mysqli_stmt_errno($stmt));

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Error: 1146.

Siehe auch

  • mysqli_stmt_error() - Returns a string description for last statement error
  • mysqli_stmt_sqlstate() - Gibt den SQL-Status von der vorangegangenen Ausführung der Anweisung zurück

mysqli_stmt::data_seek
mysqli_stmt::$error_list
mysqli_stmt


Returns a list of errors from the last statement executed

mysqli_stmt::$errno
mysqli_stmt::$error
mysqli_stmt
PHP Manual

mysqli_stmt::$error_list

mysqli_stmt_error_list

(PHP 5 >= 5.4.0, PHP 7)

mysqli_stmt::$error_list -- mysqli_stmt_error_list — Returns a list of errors from the last statement executed

Beschreibung

Objektorientierter Stil

array $mysqli_stmt->error_list;

Prozeduraler Stil

array mysqli_stmt_error_list ( mysqli_stmt $stmt )

Returns an array of errors for the most recently invoked statement function that can succeed or fail.

Parameter-Liste

stmt

Nur bei prozeduralem Aufruf: ein von mysqli_stmt_init() zurückgegebenes Statementobjekt.

Rückgabewerte

A list of errors, each as an associative array containing the errno, error, and sqlstate.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCountry LIKE Country");
$mysqli->query("INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = $mysqli->prepare($query)) {

    /* drop table */
    $mysqli->query("DROP TABLE myCountry");

    /* execute query */
    $stmt->execute();

    echo "Error:\n";
    print_r($stmt->error_list);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCountry LIKE Country");
mysqli_query($link, "INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = mysqli_prepare($link, $query)) {

    /* drop table */
    mysqli_query($link, "DROP TABLE myCountry");

    /* execute query */
    mysqli_stmt_execute($stmt);

    echo "Error:\n";
    print_r(mysql_stmt_error_list($stmt));

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Array
(
    [0] => Array
        (
            [errno] => 1146
            [sqlstate] => 42S02
            [error] => Table 'world.myCountry' doesn't exist
        )

)

Siehe auch

  • mysqli_stmt_error() - Returns a string description for last statement error
  • mysqli_stmt_errno() - Returns the error code for the most recent statement call
  • mysqli_stmt_sqlstate() - Gibt den SQL-Status von der vorangegangenen Ausführung der Anweisung zurück

mysqli_stmt::$errno
mysqli_stmt::$error
mysqli_stmt


Returns a string description for last statement error

mysqli_stmt::$error_list
mysqli_stmt::execute
mysqli_stmt
PHP Manual

mysqli_stmt::$error

mysqli_stmt_error

(PHP 5, PHP 7)

mysqli_stmt::$error -- mysqli_stmt_error — Returns a string description for last statement error

Beschreibung

Objektorientierter Stil

string $mysqli_stmt->error;

Prozeduraler Stil

string mysqli_stmt_error ( mysqli_stmt $stmt )

Returns a string containing the error message for the most recently invoked statement function that can succeed or fail.

Parameter-Liste

stmt

Nur bei prozeduralem Aufruf: ein von mysqli_stmt_init() zurückgegebenes Statementobjekt.

Rückgabewerte

A string that describes the error. An empty string if no error occurred.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCountry LIKE Country");
$mysqli->query("INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = $mysqli->prepare($query)) {

    /* drop table */
    $mysqli->query("DROP TABLE myCountry");

    /* execute query */
    $stmt->execute();

    printf("Error: %s.\n", $stmt->error);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCountry LIKE Country");
mysqli_query($link, "INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = mysqli_prepare($link, $query)) {

    /* drop table */
    mysqli_query($link, "DROP TABLE myCountry");

    /* execute query */
    mysqli_stmt_execute($stmt);

    printf("Error: %s.\n", mysqli_stmt_error($stmt));

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Error: Table 'world.myCountry' doesn't exist.

Siehe auch

  • mysqli_stmt_errno() - Returns the error code for the most recent statement call
  • mysqli_stmt_sqlstate() - Gibt den SQL-Status von der vorangegangenen Ausführung der Anweisung zurück

mysqli_stmt::$error_list
mysqli_stmt::execute
mysqli_stmt


Executes a prepared Query

mysqli_stmt::$error
mysqli_stmt::fetch
mysqli_stmt
PHP Manual

mysqli_stmt::execute

mysqli_stmt_execute

(PHP 5, PHP 7)

mysqli_stmt::execute -- mysqli_stmt_execute — Executes a prepared Query

Beschreibung

Objektorientierter Stil

bool mysqli_stmt::execute ( void )

Prozeduraler Stil

bool mysqli_stmt_execute ( mysqli_stmt $stmt )

Executes a query that has been previously prepared using the mysqli_prepare() function. When executed any parameter markers which exist will automatically be replaced with the appropriate data.

If the statement is UPDATE, DELETE, or INSERT, the total number of affected rows can be determined by using the mysqli_stmt_affected_rows() function. Likewise, if the query yields a result set the mysqli_stmt_fetch() function is used.

Hinweis:

When using mysqli_stmt_execute(), the mysqli_stmt_fetch() function must be used to fetch the data prior to performing any additional queries.

Parameter-Liste

stmt

Nur bei prozeduralem Aufruf: ein von mysqli_stmt_init() zurückgegebenes Statementobjekt.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCity LIKE City");

/* Prepare an insert statement */
$query = "INSERT INTO myCity (Name, CountryCode, District) VALUES (?,?,?)";
$stmt = $mysqli->prepare($query);

$stmt->bind_param("sss", $val1, $val2, $val3);

$val1 = 'Stuttgart';
$val2 = 'DEU';
$val3 = 'Baden-Wuerttemberg';

/* Execute the statement */
$stmt->execute();

$val1 = 'Bordeaux';
$val2 = 'FRA';
$val3 = 'Aquitaine';

/* Execute the statement */
$stmt->execute();

/* close statement */
$stmt->close();

/* retrieve all rows from myCity */
$query = "SELECT Name, CountryCode, District FROM myCity";
if ($result = $mysqli->query($query)) {
    while ($row = $result->fetch_row()) {
        printf("%s (%s,%s)\n", $row[0], $row[1], $row[2]);
    }
    /* free result set */
    $result->close();
}

/* remove table */
$mysqli->query("DROP TABLE myCity");

/* close connection */
$mysqli->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCity LIKE City");

/* Prepare an insert statement */
$query = "INSERT INTO myCity (Name, CountryCode, District) VALUES (?,?,?)";
$stmt = mysqli_prepare($link, $query);

mysqli_stmt_bind_param($stmt, "sss", $val1, $val2, $val3);

$val1 = 'Stuttgart';
$val2 = 'DEU';
$val3 = 'Baden-Wuerttemberg';

/* Execute the statement */
mysqli_stmt_execute($stmt);

$val1 = 'Bordeaux';
$val2 = 'FRA';
$val3 = 'Aquitaine';

/* Execute the statement */
mysqli_stmt_execute($stmt);

/* close statement */
mysqli_stmt_close($stmt);

/* retrieve all rows from myCity */
$query = "SELECT Name, CountryCode, District FROM myCity";
if ($result = mysqli_query($link, $query)) {
    while ($row = mysqli_fetch_row($result)) {
        printf("%s (%s,%s)\n", $row[0], $row[1], $row[2]);
    }
    /* free result set */
    mysqli_free_result($result);
}

/* remove table */
mysqli_query($link, "DROP TABLE myCity");

/* close connection */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Stuttgart (DEU,Baden-Wuerttemberg)
Bordeaux (FRA,Aquitaine)

Siehe auch

  • mysqli_prepare() - Prepare an SQL statement for execution
  • mysqli_stmt_bind_param() - Bindet Variablen als Parameter an eine vorbereitete Anweisung (prepared statement)
  • mysqli_stmt_get_result() - Gets a result set from a prepared statement

mysqli_stmt::$error
mysqli_stmt::fetch
mysqli_stmt


Fetch results from a prepared statement into the bound variables

mysqli_stmt::execute
mysqli_stmt::$field_count
mysqli_stmt
PHP Manual

mysqli_stmt::fetch

mysqli_stmt_fetch

(PHP 5, PHP 7)

mysqli_stmt::fetch -- mysqli_stmt_fetch — Fetch results from a prepared statement into the bound variables

Beschreibung

Objektorientierter Stil

bool mysqli_stmt::fetch ( void )

Prozeduraler Stil

bool mysqli_stmt_fetch ( mysqli_stmt $stmt )

Fetch the result from a prepared statement into the variables bound by mysqli_stmt_bind_result().

Hinweis:

Note that all columns must be bound by the application before calling mysqli_stmt_fetch().

Hinweis:

Data are transferred unbuffered without calling mysqli_stmt_store_result() which can decrease performance (but reduces memory cost).

Parameter-Liste

stmt

Nur bei prozeduralem Aufruf: ein von mysqli_stmt_init() zurückgegebenes Statementobjekt.

Rückgabewerte

Rückgabewerte
Value | Description
TRUE | Success. Data has been fetched
FALSE | Error occurred
NULL | No more rows/data exists or data truncation occurred

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 150,5";

if ($stmt = $mysqli->prepare($query)) {

    /* execute statement */
    $stmt->execute();

    /* bind result variables */
    $stmt->bind_result($name, $code);

    /* fetch values */
    while ($stmt->fetch()) {
        printf ("%s (%s)\n", $name, $code);
    }

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 150,5";

if ($stmt = mysqli_prepare($link, $query)) {

    /* execute statement */
    mysqli_stmt_execute($stmt);

    /* bind result variables */
    mysqli_stmt_bind_result($stmt, $name, $code);

    /* fetch values */
    while (mysqli_stmt_fetch($stmt)) {
        printf ("%s (%s)\n", $name, $code);
    }

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Rockford (USA)
Tallahassee (USA)
Salinas (USA)
Santa Clarita (USA)
Springfield (USA)

Siehe auch

  • mysqli_prepare() - Prepare an SQL statement for execution
  • mysqli_stmt_errno() - Returns the error code for the most recent statement call
  • mysqli_stmt_error() - Returns a string description for last statement error
  • mysqli_stmt_bind_result() - Bindet Variablen an eine vorbereitete Anweisung (prepared statement), um das Ergebnis einer Abfrage abzulegen.

mysqli_stmt::execute
mysqli_stmt::$field_count
mysqli_stmt


Returns the number of field in the given statement

mysqli_stmt::fetch
mysqli_stmt::free_result
mysqli_stmt
PHP Manual

mysqli_stmt::$field_count

mysqli_stmt_field_count

(PHP 5, PHP 7)

mysqli_stmt::$field_count -- mysqli_stmt_field_count — Returns the number of field in the given statement

Beschreibung

Objektorientierter Stil

int $mysqli_stmt->field_count;

Prozeduraler Stil

int mysqli_stmt_field_count ( mysqli_stmt $stmt )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

mysqli_stmt::fetch
mysqli_stmt::free_result
mysqli_stmt


Frees stored result memory for the given statement handle

mysqli_stmt::$field_count
mysqli_stmt::get_result
mysqli_stmt
PHP Manual

mysqli_stmt::free_result

mysqli_stmt_free_result

(PHP 5, PHP 7)

mysqli_stmt::free_result -- mysqli_stmt_free_result — Frees stored result memory for the given statement handle

Beschreibung

Objektorientierter Stil

void mysqli_stmt::free_result ( void )

Prozeduraler Stil

void mysqli_stmt_free_result ( mysqli_stmt $stmt )

Frees the result memory associated with the statement, which was allocated by mysqli_stmt_store_result().

Parameter-Liste

stmt

Nur bei prozeduralem Aufruf: ein von mysqli_stmt_init() zurückgegebenes Statementobjekt.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • mysqli_stmt_store_result() - Holt die Ergebnismenge einer vorbereiteten Anweisung (Prepared Statement)

mysqli_stmt::$field_count
mysqli_stmt::get_result
mysqli_stmt


Gets a result set from a prepared statement

mysqli_stmt::free_result
mysqli_stmt::get_warnings
mysqli_stmt
PHP Manual

mysqli_stmt::get_result

mysqli_stmt_get_result

(PHP 5 >= 5.3.0, PHP 7)

mysqli_stmt::get_result -- mysqli_stmt_get_result — Gets a result set from a prepared statement

Beschreibung

Objektorientierter Stil

mysqli_result mysqli_stmt::get_result ( void )

Prozeduraler Stil

mysqli_result mysqli_stmt_get_result ( mysqli_stmt $stmt )

Call to return a result set from a prepared statement query.

Parameter-Liste

stmt

Nur bei prozeduralem Aufruf: ein von mysqli_stmt_init() zurückgegebenes Statementobjekt.

Rückgabewerte

Returns a resultset for successful SELECT queries, or FALSE for other DML queries or on failure. The mysqli_errno() function can be used to distinguish between the two types of failure.

Ausschließlich native MySQL-Treiber

Nur in mysqlnd verfügbar.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php

$mysqli = new mysqli("127.0.0.1", "user", "password", "world");

if($mysqli->connect_error)
{
    die("$mysqli->connect_errno: $mysqli->connect_error");
}

$query = "SELECT Name, Population, Continent FROM Country WHERE Continent=? ORDER BY Name LIMIT 1";

$stmt = $mysqli->stmt_init();
if(!$stmt->prepare($query))
{
    print "Failed to prepare statement\n";
}
else
{
    $stmt->bind_param("s", $continent);

    $continent_array = array('Europe','Africa','Asia','North America');

    foreach($continent_array as $continent)
    {
        $stmt->execute();
        $result = $stmt->get_result();
        while ($row = $result->fetch_array(MYSQLI_NUM))
        {
            foreach ($row as $r)
            {
                print "$r ";
            }
            print "\n";
        }
    }
}

$stmt->close();
$mysqli->close();
?>

Beispiel #2 Prozeduraler Stil

<?php

$link = mysqli_connect("127.0.0.1", "user", "password", "world");

if (!$link)
{
    $error = mysqli_connect_error();
    $errno = mysqli_connect_errno();
    print "$errno: $error\n";
    exit();
}

$query = "SELECT Name, Population, Continent FROM Country WHERE Continent=? ORDER BY Name LIMIT 1";

$stmt = mysqli_stmt_init($link);
if(!mysqli_stmt_prepare($stmt, $query))
{
    print "Failed to prepare statement\n";
}
else
{
    mysqli_stmt_bind_param($stmt, "s", $continent);

    $continent_array = array('Europe','Africa','Asia','North America');

    foreach($continent_array as $continent)
    {
        mysqli_stmt_execute($stmt);
        $result = mysqli_stmt_get_result($stmt);
        while ($row = mysqli_fetch_array($result, MYSQLI_NUM))
        {
            foreach ($row as $r)
            {
                print "$r ";
            }
            print "\n";
        }
    }
}
mysqli_stmt_close($stmt);
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Albania 3401200 Europe
Algeria 31471000 Africa
Afghanistan 22720000 Asia
Anguilla 8000 North America

Siehe auch

  • mysqli_prepare() - Prepare an SQL statement for execution
  • mysqli_stmt_result_metadata() - Returns result set metadata from a prepared statement
  • mysqli_stmt_fetch() - Fetch results from a prepared statement into the bound variables
  • mysqli_fetch_array() - Fetch a result row as an associative, a numeric array, or both
  • mysqli_stmt_store_result() - Holt die Ergebnismenge einer vorbereiteten Anweisung (Prepared Statement)
  • mysqli_errno() - Returns the error code for the most recent function call

mysqli_stmt::free_result
mysqli_stmt::get_warnings
mysqli_stmt


Get result of SHOW WARNINGS

mysqli_stmt::get_result
mysqli_stmt::$insert_id
mysqli_stmt
PHP Manual

mysqli_stmt::get_warnings

mysqli_stmt_get_warnings

(PHP 5 >= 5.1.0, PHP 7)

mysqli_stmt::get_warnings -- mysqli_stmt_get_warnings — Get result of SHOW WARNINGS

Beschreibung

Objektorientierter Stil

object mysqli_stmt::get_warnings ( mysqli_stmt $stmt )

Prozeduraler Stil

object mysqli_stmt_get_warnings ( mysqli_stmt $stmt )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

mysqli_stmt::get_result
mysqli_stmt::$insert_id
mysqli_stmt


Get the ID generated from the previous INSERT operation

mysqli_stmt::get_warnings
mysqli_stmt::more_results
mysqli_stmt
PHP Manual

mysqli_stmt::$insert_id

mysqli_stmt_insert_id

(PHP 5, PHP 7)

mysqli_stmt::$insert_id -- mysqli_stmt_insert_id — Get the ID generated from the previous INSERT operation

Beschreibung

Objektorientierter Stil

int $mysqli_stmt->insert_id;

Prozeduraler Stil

mixed mysqli_stmt_insert_id ( mysqli_stmt $stmt )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

mysqli_stmt::get_warnings
mysqli_stmt::more_results
mysqli_stmt


Prüft, ob es weitere Ergebnismengen bei einer Mehrfachabfrage gibt.

mysqli_stmt::$insert_id
mysqli_stmt::next_result
mysqli_stmt
PHP Manual

mysqli_stmt::more_results

mysqli_stmt_more_results

(PHP 5 >= 5.3.0, PHP 7)

mysqli_stmt::more_results -- mysqli_stmt_more_results — Prüft, ob es weitere Ergebnismengen bei einer Mehrfachabfrage gibt.

Beschreibung

Objektorientierter Stil (method):

public bool mysqli_stmt::more_results ( void )

Prozeduraler Stil:

bool mysqli_stmt_more_results ( mysql_stmt $stmt )

Prüft, ob es weitere Ergebnismengen bei einer Mehrfachabfrage gibt.

Parameter-Liste

stmt

Nur bei prozeduralem Aufruf: ein von mysqli_stmt_init() zurückgegebenes Statementobjekt.

Rückgabewerte

Gibt TRUE zurück wenn es weitere Ergebnismengen gibt, andernfalls FALSE.

Ausschließlich native MySQL-Treiber

Nur in mysqlnd verfügbar.

Siehe auch

  • mysqli_stmt::next_result() - Liest die nächste Ergebnismenge einer Mehrfachabfrage aus.
  • mysqli::multi_query() - Performs a query on the database

mysqli_stmt::$insert_id
mysqli_stmt::next_result
mysqli_stmt


Liest die nächste Ergebnismenge einer Mehrfachabfrage aus.

mysqli_stmt::more_results
mysqli_stmt::$num_rows
mysqli_stmt
PHP Manual

mysqli_stmt::next_result

mysqli_stmt_next_result

(PHP 5 >= 5.3.0, PHP 7)

mysqli_stmt::next_result -- mysqli_stmt_next_result — Liest die nächste Ergebnismenge einer Mehrfachabfrage aus.

Beschreibung

Objektorientierter Stil (method):

public bool mysqli_stmt::next_result ( void )

Prozeduraler Stil:

bool mysqli_stmt_next_result ( mysql_stmt $stmt )

Liest die nächste Ergebnismenge einer Mehrfachabfrage aus.

Parameter-Liste

stmt

Nur bei prozeduralem Aufruf: ein von mysqli_stmt_init() zurückgegebenes Statementobjekt.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Gibt einen Fehler der Stufe E_STRICT aus, wenn es kein weiteres Ergebnis gibt und schlägt den Gebrauch von mysqli_stmt::more_results() in diesen Fällen vor, bevor mysqli_stmt::next_result() aufgerufen wird.

Ausschließlich native MySQL-Treiber

Nur in mysqlnd verfügbar.

Siehe auch

  • mysqli_stmt::more_results() - Prüft, ob es weitere Ergebnismengen bei einer Mehrfachabfrage gibt.
  • mysqli::multi_query() - Performs a query on the database

mysqli_stmt::more_results
mysqli_stmt::$num_rows
mysqli_stmt


gibt die Anzahl der Zeilen einer Ergebnismenge zurück

mysqli_stmt::next_result
mysqli_stmt::$param_count
mysqli_stmt
PHP Manual

mysqli_stmt::$num_rows

mysqli_stmt_num_rows

(PHP 5, PHP 7)

mysqli_stmt::$num_rows -- mysqli_stmt_num_rows — gibt die Anzahl der Zeilen einer Ergebnismenge zurück

Beschreibung

Objektorientierter Stil

int $mysqli_stmt->num_rows;

Prozeduraler Stil

int mysqli_stmt_num_rows ( mysqli_stmt $stmt )

Gibt die Anzahl der Zeilen einer Ergebnismenge zurück. Die Verwendung von mysqli_stmt_num_rows() hängt davon ab, ob mysqli_stmt_store_result() verwendet wird oder nicht, um die gesamte Ergebnismenge einer Abfrage zwischenzuspeichern.

Wenn mysqli_stmt_store_result() verwendet wird, dann kann mysqli_stmt_num_rows() sofort danach aufgerufen werden.

Parameter-Liste

stmt

Nur bei prozeduralem Aufruf: ein von mysqli_stmt_init() zurückgegebenes Statementobjekt.

Rückgabewerte

Ein Integer-Wert, der die Anzahl der Zeilen in der Ergebnismenge angibt.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* Datenbankverbindung öffnen */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Datenbankverbindung prüfen */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
if ($stmt = $mysqli->prepare($query)) {

    /* Abfrage ausführen */
    $stmt->execute();

    /* Ergebnis holen */
    $stmt->store_result();

    printf("Number of rows: %d.\n", $stmt->num_rows);

    /* Abfrage-Objekt schließen */
    $stmt->close();
}

/* Verbindung schließen */
$mysqli->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
/* Datenbankverbindung öffnen */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Datenbankverbindung prüfen */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
if ($stmt = mysqli_prepare($link, $query)) {

    /* Abfrage ausführen */
    mysqli_stmt_execute($stmt);

    /* Ergebnis holen */
    mysqli_stmt_store_result($stmt);

    printf("Number of rows: %d.\n", mysqli_stmt_num_rows($stmt));

    /* Abfrage-Objekt schließen */
    mysqli_stmt_close($stmt);
}

/* Verbindung schließen */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Number of rows: 20.

Siehe auch

  • mysqli_stmt_affected_rows() - gibt die gesamte Anzahl der Zeilen zurück, die bei der letzten ausgeführten Anweisung geändert, gelöscht oder eingefügt worden sind
  • mysqli_prepare() - Prepare an SQL statement for execution
  • mysqli_stmt_store_result() - Holt die Ergebnismenge einer vorbereiteten Anweisung (Prepared Statement)

mysqli_stmt::next_result
mysqli_stmt::$param_count
mysqli_stmt


Gibt die Anzahl der Parameter der gegebenen Anweisung zurück

mysqli_stmt::$num_rows
mysqli_stmt::prepare
mysqli_stmt
PHP Manual

mysqli_stmt::$param_count

mysqli_stmt_param_count

(PHP 5, PHP 7)

mysqli_stmt::$param_count -- mysqli_stmt_param_count — Gibt die Anzahl der Parameter der gegebenen Anweisung zurück

Beschreibung

Objektorientierter Stil

int $mysqli_stmt->param_count;

Prozeduraler Stil

int mysqli_stmt_param_count ( mysqli_stmt $stmt )

Gibt die Anzahl der Parameter-Platzhalter zurück, die in der vorbereiteten Anweisung (Prepared Statement) vorhanden sind.

Parameter-Liste

stmt

Nur bei prozeduralem Aufruf: ein von mysqli_stmt_init() zurückgegebenes Statementobjekt.

Rückgabewerte

Gibt einen Integer-Wert zurück, der die Anzahl der Parameter angibt.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Datenbankverbindung prüfen */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if ($stmt = $mysqli->prepare("SELECT Name FROM Country WHERE Name=? OR Code=?")) {

    $marker = $stmt->param_count;
    printf("Statement has %d markers.\n", $marker);

    /* Abfrage-Objekt schließen */
    $stmt->close();
}

/* Verbindung schließen */
$mysqli->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Datenbankverbindung prüfen */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if ($stmt = mysqli_prepare($link, "SELECT Name FROM Country WHERE Name=? OR Code=?")) {

    $marker = mysqli_stmt_param_count($stmt);
    printf("Statement has %d markers.\n", $marker);

    /* Abfrage-Objekt schließen */
    mysqli_stmt_close($stmt);
}

/* Verbindung schließen */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Statement has 2 markers.

Siehe auch

  • mysqli_prepare() - Prepare an SQL statement for execution

mysqli_stmt::$num_rows
mysqli_stmt::prepare
mysqli_stmt


Prepare an SQL statement for execution

mysqli_stmt::$param_count
mysqli_stmt::reset
mysqli_stmt
PHP Manual

mysqli_stmt::prepare

mysqli_stmt_prepare

(PHP 5, PHP 7)

mysqli_stmt::prepare -- mysqli_stmt_prepare — Prepare an SQL statement for execution

Beschreibung

Objektorientierter Stil

mixed mysqli_stmt::prepare ( string $query )

Prozeduraler Stil

bool mysqli_stmt_prepare ( mysqli_stmt $stmt , string $query )

Prepares the SQL query pointed to by the null-terminated string query.

The parameter markers must be bound to application variables using mysqli_stmt_bind_param() and/or mysqli_stmt_bind_result() before executing the statement or fetching rows.

Hinweis:

In the case where you pass a statement to mysqli_stmt_prepare() that is longer than max_allowed_packet of the server, the returned error codes are different depending on whether you are using MySQL Native Driver (mysqlnd) or MySQL Client Library (libmysqlclient). The behavior is as follows:

  • mysqlnd on Linux returns an error code of 1153. The error message means "got a packet bigger than max_allowed_packet bytes".

  • mysqlnd on Windows returns an error code 2006. This error message means "server has gone away".

  • libmysqlclient on all platforms returns an error code 2006. This error message means "server has gone away".

Parameter-Liste

stmt

Nur bei prozeduralem Aufruf: ein von mysqli_stmt_init() zurückgegebenes Statementobjekt.

query

The query, as a string. It must consist of a single SQL statement.

You can include one or more parameter markers in the SQL statement by embedding question mark (?) characters at the appropriate positions.

Hinweis:

You should not add a terminating semicolon or \g to the statement.

Hinweis:

The markers are legal only in certain places in SQL statements. For example, they are allowed in the VALUES() list of an INSERT statement (to specify column values for a row), or in a comparison with a column in a WHERE clause to specify a comparison value.

However, they are not allowed for identifiers (such as table or column names), in the select list that names the columns to be returned by a SELECT statement), or to specify both operands of a binary operator such as the = equal sign. The latter restriction is necessary because it would be impossible to determine the parameter type. In general, parameters are legal only in Data Manipulation Language (DML) statements, and not in Data Definition Language (DDL) statements.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$city = "Amersfoort";

/* create a prepared statement */
$stmt =  $mysqli->stmt_init();
if ($stmt->prepare("SELECT District FROM City WHERE Name=?")) {

    /* bind parameters for markers */
    $stmt->bind_param("s", $city);

    /* execute query */
    $stmt->execute();

    /* bind result variables */
    $stmt->bind_result($district);

    /* fetch value */
    $stmt->fetch();

    printf("%s is in district %s\n", $city, $district);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$city = "Amersfoort";

/* create a prepared statement */
$stmt = mysqli_stmt_init($link);
if (mysqli_stmt_prepare($stmt, 'SELECT District FROM City WHERE Name=?')) {

    /* bind parameters for markers */
    mysqli_stmt_bind_param($stmt, "s", $city);

    /* execute query */
    mysqli_stmt_execute($stmt);

    /* bind result variables */
    mysqli_stmt_bind_result($stmt, $district);

    /* fetch value */
    mysqli_stmt_fetch($stmt);

    printf("%s is in district %s\n", $city, $district);

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Amersfoort is in district Utrecht

Siehe auch

  • mysqli_stmt_init() - Initializes a statement and returns an object for use with mysqli_stmt_prepare
  • mysqli_stmt_execute() - Executes a prepared Query
  • mysqli_stmt_fetch() - Fetch results from a prepared statement into the bound variables
  • mysqli_stmt_bind_param() - Bindet Variablen als Parameter an eine vorbereitete Anweisung (prepared statement)
  • mysqli_stmt_bind_result() - Bindet Variablen an eine vorbereitete Anweisung (prepared statement), um das Ergebnis einer Abfrage abzulegen.
  • mysqli_stmt_get_result() - Gets a result set from a prepared statement
  • mysqli_stmt_close() - Schließt eine vorbereitete Anweisung (prepared statement)

mysqli_stmt::$param_count
mysqli_stmt::reset
mysqli_stmt


Resets a prepared statement

mysqli_stmt::prepare
mysqli_stmt::result_metadata
mysqli_stmt
PHP Manual

mysqli_stmt::reset

mysqli_stmt_reset

(PHP 5, PHP 7)

mysqli_stmt::reset -- mysqli_stmt_reset — Resets a prepared statement

Beschreibung

Objektorientierter Stil

bool mysqli_stmt::reset ( void )

Prozeduraler Stil

bool mysqli_stmt_reset ( mysqli_stmt $stmt )

Resets a prepared statement on client and server to state after prepare.

It resets the statement on the server, data sent using mysqli_stmt_send_long_data(), unbuffered result sets and current errors. It does not clear bindings or stored result sets. Stored result sets will be cleared when executing the prepared statement (or closing it).

To prepare a statement with another query use function mysqli_stmt_prepare().

Parameter-Liste

stmt

Nur bei prozeduralem Aufruf: ein von mysqli_stmt_init() zurückgegebenes Statementobjekt.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • mysqli_prepare() - Prepare an SQL statement for execution

mysqli_stmt::prepare
mysqli_stmt::result_metadata
mysqli_stmt


Returns result set metadata from a prepared statement

mysqli_stmt::reset
mysqli_stmt::send_long_data
mysqli_stmt
PHP Manual

mysqli_stmt::result_metadata

mysqli_stmt_result_metadata

(PHP 5, PHP 7)

mysqli_stmt::result_metadata -- mysqli_stmt_result_metadata — Returns result set metadata from a prepared statement

Beschreibung

Objektorientierter Stil

mysqli_result mysqli_stmt::result_metadata ( void )

Prozeduraler Stil

mysqli_result mysqli_stmt_result_metadata ( mysqli_stmt $stmt )

If a statement passed to mysqli_prepare() is one that produces a result set, mysqli_stmt_result_metadata() returns the result object that can be used to process the meta information such as total number of fields and individual field information.

Hinweis:

This result set pointer can be passed as an argument to any of the field-based functions that process result set metadata, such as:

  • mysqli_num_fields()

  • mysqli_fetch_field()

  • mysqli_fetch_field_direct()

  • mysqli_fetch_fields()

  • mysqli_field_count()

  • mysqli_field_seek()

  • mysqli_field_tell()

  • mysqli_free_result()

The result set structure should be freed when you are done with it, which you can do by passing it to mysqli_free_result()

Hinweis:

The result set returned by mysqli_stmt_result_metadata() contains only metadata. It does not contain any row results. The rows are obtained by using the statement handle with mysqli_stmt_fetch().

Parameter-Liste

stmt

Nur bei prozeduralem Aufruf: ein von mysqli_stmt_init() zurückgegebenes Statementobjekt.

Rückgabewerte

Returns a result object or FALSE if an error occurred.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

$mysqli->query("DROP TABLE IF EXISTS friends");
$mysqli->query("CREATE TABLE friends (id int, name varchar(20))");

$mysqli->query("INSERT INTO friends VALUES (1,'Hartmut'), (2, 'Ulf')");

$stmt = $mysqli->prepare("SELECT id, name FROM friends");
$stmt->execute();

/* get resultset for metadata */
$result = $stmt->result_metadata();

/* retrieve field information from metadata result set */
$field = $result->fetch_field();

printf("Fieldname: %s\n", $field->name);

/* close resultset */
$result->close();

/* close connection */
$mysqli->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

mysqli_query($link, "DROP TABLE IF EXISTS friends");
mysqli_query($link, "CREATE TABLE friends (id int, name varchar(20))");

mysqli_query($link, "INSERT INTO friends VALUES (1,'Hartmut'), (2, 'Ulf')");

$stmt = mysqli_prepare($link, "SELECT id, name FROM friends");
mysqli_stmt_execute($stmt);

/* get resultset for metadata */
$result = mysqli_stmt_result_metadata($stmt);

/* retrieve field information from metadata result set */
$field = mysqli_fetch_field($result);

printf("Fieldname: %s\n", $field->name);

/* close resultset */
mysqli_free_result($result);

/* close connection */
mysqli_close($link);
?>

Siehe auch

  • mysqli_prepare() - Prepare an SQL statement for execution
  • mysqli_free_result() - Frees the memory associated with a result

mysqli_stmt::reset
mysqli_stmt::send_long_data
mysqli_stmt


Sendet Daten blockweise

mysqli_stmt::result_metadata
mysqli_stmt::$sqlstate
mysqli_stmt
PHP Manual

mysqli_stmt::send_long_data

mysqli_stmt_send_long_data

(PHP 5, PHP 7)

mysqli_stmt::send_long_data -- mysqli_stmt_send_long_data — Sendet Daten blockweise

Beschreibung

Objektorientierter Stil

bool mysqli_stmt::send_long_data ( int $param_nr , string $data )

Prozeduraler Stil

bool mysqli_stmt_send_long_data ( mysqli_stmt $stmt , int $param_nr , string $data )

Damit werden Parameter blockweise zum Datenbank-Server geschickt, z. B. wenn die Größe eines BLOBs die Größe max_allowed_packet überschreitet. Die Funktion kann mehrmals aufgerufen werden, um Teile von Textdaten oder Binärdaten für eine Tabellenspalte zu verschicken. Die Tabellenspalte muss dabei den Typ TEXT oder BLOB haben.

Parameter-Liste

stmt

Nur bei prozeduralem Aufruf: ein von mysqli_stmt_init() zurückgegebenes Statementobjekt.

param_nr

Zeigt an, für welchen Parameter Daten geschickt werden. Die Parameter sind von null an durchnummeriert.

data

Eine Zeichenkette, die die Daten enthält, die gesendet werden sollen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$stmt = $mysqli->prepare("INSERT INTO messages (message) VALUES (?)");
$null = NULL;
$stmt->bind_param("b", $null);
$fp = fopen("messages.txt", "r");
while (!feof($fp)) {
    $stmt->send_long_data(0, fread($fp, 8192));
}
fclose($fp);
$stmt->execute();
?>

Siehe auch

  • mysqli_prepare() - Prepare an SQL statement for execution
  • mysqli_stmt_bind_param() - Bindet Variablen als Parameter an eine vorbereitete Anweisung (prepared statement)

mysqli_stmt::result_metadata
mysqli_stmt::$sqlstate
mysqli_stmt


Gibt den SQL-Status von der vorangegangenen Ausführung der Anweisung zurück

mysqli_stmt::send_long_data
mysqli_stmt::store_result
mysqli_stmt
PHP Manual

mysqli_stmt::$sqlstate

mysqli_stmt_sqlstate

(PHP 5, PHP 7)

mysqli_stmt::$sqlstate -- mysqli_stmt_sqlstate — Gibt den SQL-Status von der vorangegangenen Ausführung der Anweisung zurück

Beschreibung

Objektorientierter Stil

string $mysqli_stmt->sqlstate;

Prozeduraler Stil

string mysqli_stmt_sqlstate ( mysqli_stmt $stmt )

Gibt einen String mit dem SQL-Status-Fehlercode zurück der zuletzt aufgerufenen Funktion (des Prepared Statements), die entweder erfolgreich oder fehlerhaft beendet werden konnte. Der Fehlercode besteht aus fünf Zeichen. '00000' bedeutet keinen Fehler. Die möglichen Werte sind durch ANSI SQL oder ODBC spezifiziert. Für eine Liste möglicher Werte siehe » http://dev.mysql.com/doc/mysql/en/error-handling.html.

Parameter-Liste

stmt

Nur bei prozeduralem Aufruf: ein von mysqli_stmt_init() zurückgegebenes Statementobjekt.

Rückgabewerte

Gibt einen String mit dem SQL-Status-Fehlercode des letzten Fehlers zurück. Der Fehlercode besteht aus fünf Zeichen. '00000' bedeutet keinen Fehler.

Anmerkungen

Hinweis:

Anchtung! Nicht alle MySQL-Fehler können auf SQL-Status-Codes abgebildet werden. Der Wert HY000 (Allgemeiner Fehler) wird für nicht abgebildete MySQL-Fehler verwendet.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* Datenbankverbindung öffnen */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Datenbankverbindung prüfen */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCountry LIKE Country");
$mysqli->query("INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = $mysqli->prepare($query)) {

    /* Tabelle löschen */
    $mysqli->query("DROP TABLE myCountry");

    /* Abfrage ausführen */
    $stmt->execute();

    printf("Error: %s.\n", $stmt->sqlstate);

    /* Abfrage-Objekt schließen */
    $stmt->close();
}

/* Verbindung schließen */
$mysqli->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
/* Datenbankverbindung öffnen */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Datenbankverbindung prüfen */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCountry LIKE Country");
mysqli_query($link, "INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = mysqli_prepare($link, $query)) {

    /* Tabelle löschen */
    mysqli_query($link, "DROP TABLE myCountry");

    /* Abfrage ausführen */
    mysqli_stmt_execute($stmt);

    printf("Error: %s.\n", mysqli_stmt_sqlstate($stmt));

    /* Abfrage-Objekt schließen */
    mysqli_stmt_close($stmt);
}

/* Verbindung schließen */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Error: 42S02.

Siehe auch

  • mysqli_stmt_errno() - Returns the error code for the most recent statement call
  • mysqli_stmt_error() - Returns a string description for last statement error

mysqli_stmt::send_long_data
mysqli_stmt::store_result
mysqli_stmt


Holt die Ergebnismenge einer vorbereiteten Anweisung (Prepared Statement)

mysqli_stmt::$sqlstate
mysqli_result
mysqli_stmt
PHP Manual

mysqli_stmt::store_result

mysqli_stmt_store_result

(PHP 5, PHP 7)

mysqli_stmt::store_result -- mysqli_stmt_store_result — Holt die Ergebnismenge einer vorbereiteten Anweisung (Prepared Statement)

Beschreibung

Objektorientierter Stil

bool mysqli_stmt::store_result ( void )

Prozeduraler Stil

bool mysqli_stmt_store_result ( mysqli_stmt $stmt )

Für jede Abfrage, die eine Ergebnismenge zurück gibt (SELECT, SHOW, DESCRIBE, EXPLAIN), muss mysqli_stmt_store_result() aufgerufen werden, wenn die komplette Ergebnismenge im Client zwischengespeichert werden soll. Damit liefern nachfolgende Aufrufe von mysqli_stmt_fetch() die zwischengespeicherten Daten.

Hinweis:

Es ist unnötig, mysqli_stmt_store_result() für andere Abfragen aufzurufen. Aber in keinem Fall schadet es oder benötigt merkliche Laufzeit. Ob eine Abfrage eine Ergebnismenge zurück gibt, kann festgestellt werden, indem das Ergebnis von mysqli_stmt_result_metadata() auf NULL geprüft wird.

Parameter-Liste

stmt

Nur bei prozeduralem Aufruf: ein von mysqli_stmt_init() zurückgegebenes Statementobjekt.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* Datenbankverbindung öffnen */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Datenbankverbindung prüfen */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
if ($stmt = $mysqli->prepare($query)) {

    /* Abfrage ausführen */
    $stmt->execute();

    /* Ergebnis holen */
    $stmt->store_result();

    printf("Number of rows: %d.\n", $stmt->num_rows);

    /* Ergebnis verwerfen */
    $stmt->free_result();

    /* Abfrage-Objekt schließen */
    $stmt->close();
}

/* Verbindung schließen */
$mysqli->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
/* Datenbankverbindung öffnen */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Datenbankverbindung prüfen */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
if ($stmt = mysqli_prepare($link, $query)) {

    /* Abfrage ausführen */
    mysqli_stmt_execute($stmt);

    /* Ergebnis holen */
    mysqli_stmt_store_result($stmt);

    printf("Number of rows: %d.\n", mysqli_stmt_num_rows($stmt));

    /* Ergebnis verwerfen */
    mysqli_stmt_free_result($stmt);

    /* Abfrage-Objekt schließen */
    mysqli_stmt_close($stmt);
}

/* Verbindung schließen */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Number of rows: 20.

Siehe auch

  • mysqli_prepare() - Prepare an SQL statement for execution
  • mysqli_stmt_result_metadata() - Returns result set metadata from a prepared statement
  • mysqli_stmt_fetch() - Fetch results from a prepared statement into the bound variables

mysqli_stmt::$sqlstate
mysqli_result
mysqli_stmt


Die MySQLi Ergebnisklasse

(PHP 5, PHP 7)

Einführung

Stellt das Ergebnis einer Datenbankabfrage dar.

Changelog

Changelog
Version | Beschreibung
5.4.0 | Iterator unterstützung wurde hinzugefügt, mysqli_result implementiert jetzt Traversable.

Klassenbeschreibung

mysqli_result implements Traversable {
/* Eigenschaften */
int $current_field ;
int $field_count;
array $lengths;
int $num_rows;
/* Methoden */
bool data_seek ( int $offset )
mixed fetch_all ([ int $resulttype = MYSQLI_NUM ] )
mixed fetch_array ([ int $resulttype = MYSQLI_BOTH ] )
array fetch_assoc ( void )
object fetch_field_direct ( int $fieldnr )
object fetch_field ( void )
array fetch_fields ( void )
object fetch_object ([ string $class_name = "stdClass" [, array $params ]] )
mixed fetch_row ( void )
bool field_seek ( int $fieldnr )
void free ( void )
}

Inhaltsverzeichnis

  • mysqli_result::$current_field — Get current field offset of a result pointer
  • mysqli_result::data_seek — Adjusts the result pointer to an arbitrary row in the result
  • mysqli_result::fetch_all — Fetches all result rows as an associative array, a numeric array, or both
  • mysqli_result::fetch_array — Fetch a result row as an associative, a numeric array, or both
  • mysqli_result::fetch_assoc — Fetch a result row as an associative array
  • mysqli_result::fetch_field_direct — Fetch meta-data for a single field
  • mysqli_result::fetch_field — Returns the next field in the result set
  • mysqli_result::fetch_fields — Returns an array of objects representing the fields in a result set
  • mysqli_result::fetch_object — Returns the current row of a result set as an object
  • mysqli_result::fetch_row — Get a result row as an enumerated array
  • mysqli_result::$field_count — Get the number of fields in a result
  • mysqli_result::field_seek — Set result pointer to a specified field offset
  • mysqli_result::free — Frees the memory associated with a result
  • mysqli_result::$lengths — Returns the lengths of the columns of the current row in the result set
  • mysqli_result::$num_rows — Gets the number of rows in a result
mysqli_stmt::store_result
mysqli_result::$current_field
Mysqli


Get current field offset of a result pointer

mysqli_result
mysqli_result::data_seek
mysqli_result
PHP Manual

mysqli_result::$current_field

mysqli_field_tell

(PHP 5, PHP 7)

mysqli_result::$current_field -- mysqli_field_tell — Get current field offset of a result pointer

Beschreibung

Objektorientierter Stil

int $mysqli_result->current_field ;

Prozeduraler Stil

int mysqli_field_tell ( mysqli_result $result )

Returns the position of the field cursor used for the last mysqli_fetch_field() call. This value can be used as an argument to mysqli_field_seek().

Parameter-Liste

result

Nur bei prozeduralem Aufruf: Ein von mysqli_query(), mysqli_store_result() oder mysqli_use_result() zurückgegebenes Ergebnisobjekt.

Rückgabewerte

Returns current offset of field cursor.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = $mysqli->query($query)) {

    /* Get field information for all columns */
    while ($finfo = $result->fetch_field()) {

        /* get fieldpointer offset */
        $currentfield = $result->current_field;

        printf("Column %d:\n", $currentfield);
        printf("Name:     %s\n", $finfo->name);
        printf("Table:    %s\n", $finfo->table);
        printf("max. Len: %d\n", $finfo->max_length);
        printf("Flags:    %d\n", $finfo->flags);
        printf("Type:     %d\n\n", $finfo->type);
    }
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = mysqli_query($link, $query)) {

    /* Get field information for all fields */
    while ($finfo = mysqli_fetch_field($result)) {

        /* get fieldpointer offset */
        $currentfield = mysqli_field_tell($result);

        printf("Column %d:\n", $currentfield);
        printf("Name:     %s\n", $finfo->name);
        printf("Table:    %s\n", $finfo->table);
        printf("max. Len: %d\n", $finfo->max_length);
        printf("Flags:    %d\n", $finfo->flags);
        printf("Type:     %d\n\n", $finfo->type);
    }
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Column 1:
Name:     Name
Table:    Country
max. Len: 11
Flags:    1
Type:     254

Column 2:
Name:     SurfaceArea
Table:    Country
max. Len: 10
Flags:    32769
Type:     4

Siehe auch

  • mysqli_fetch_field() - Returns the next field in the result set
  • mysqli_field_seek() - Set result pointer to a specified field offset

mysqli_result
mysqli_result::data_seek
mysqli_result


Adjusts the result pointer to an arbitrary row in the result

mysqli_result::$current_field
mysqli_result::fetch_all
mysqli_result
PHP Manual

mysqli_result::data_seek

mysqli_data_seek

(PHP 5, PHP 7)

mysqli_result::data_seek -- mysqli_data_seek — Adjusts the result pointer to an arbitrary row in the result

Beschreibung

Objektorientierter Stil

bool mysqli_result::data_seek ( int $offset )

Prozeduraler Stil

bool mysqli_data_seek ( mysqli_result $result , int $offset )

The mysqli_data_seek() function seeks to an arbitrary result pointer specified by the offset in the result set.

Parameter-Liste

result

Nur bei prozeduralem Aufruf: Ein von mysqli_query(), mysqli_store_result() oder mysqli_use_result() zurückgegebenes Ergebnisobjekt.

offset

The field offset. Must be between zero and the total number of rows minus one (0..mysqli_num_rows() - 1).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Hinweis:

This function can only be used with buffered results attained from the use of the mysqli_store_result() or mysqli_query() functions.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name";
if ($result = $mysqli->query($query)) {

    /* seek to row no. 400 */
    $result->data_seek(399);

    /* fetch row */
    $row = $result->fetch_row();

    printf ("City: %s  Countrycode: %s\n", $row[0], $row[1]);

    /* free result set*/
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name";

if ($result = mysqli_query($link, $query)) {

    /* seek to row no. 400 */
    mysqli_data_seek($result, 399);

    /* fetch row */
    $row = mysqli_fetch_row($result);

    printf ("City: %s  Countrycode: %s\n", $row[0], $row[1]);

    /* free result set*/
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

City: Benin City  Countrycode: NGA

Siehe auch

  • mysqli_store_result() - Transfers a result set from the last query
  • mysqli_fetch_row() - Get a result row as an enumerated array
  • mysqli_fetch_array() - Fetch a result row as an associative, a numeric array, or both
  • mysqli_fetch_assoc() - Fetch a result row as an associative array
  • mysqli_fetch_object() - Returns the current row of a result set as an object
  • mysqli_query() - Performs a query on the database
  • mysqli_num_rows() - Gets the number of rows in a result

mysqli_result::$current_field
mysqli_result::fetch_all
mysqli_result


Fetches all result rows as an associative array, a numeric array, or both

mysqli_result::data_seek
mysqli_result::fetch_array
mysqli_result
PHP Manual

mysqli_result::fetch_all

mysqli_fetch_all

(PHP 5 >= 5.3.0, PHP 7)

mysqli_result::fetch_all -- mysqli_fetch_all — Fetches all result rows as an associative array, a numeric array, or both

Beschreibung

Objektorientierter Stil

mixed mysqli_result::fetch_all ([ int $resulttype = MYSQLI_NUM ] )

Prozeduraler Stil

mixed mysqli_fetch_all ( mysqli_result $result [, int $resulttype = MYSQLI_NUM ] )

mysqli_fetch_all() fetches all result rows and returns the result set as an associative array, a numeric array, or both.

Parameter-Liste

result

Nur bei prozeduralem Aufruf: Ein von mysqli_query(), mysqli_store_result() oder mysqli_use_result() zurückgegebenes Ergebnisobjekt.

resulttype

This optional parameter is a constant indicating what type of array should be produced from the current row data. The possible values for this parameter are the constants MYSQLI_ASSOC, MYSQLI_NUM, or MYSQLI_BOTH.

Rückgabewerte

Returns an array of associative or numeric arrays holding result rows.

Ausschließlich native MySQL-Treiber

Nur in mysqlnd verfügbar.

As mysqli_fetch_all() returns all the rows as an array in a single step, it may consume more memory than some similar functions such as mysqli_fetch_array(), which only returns one row at a time from the result set. Further, if you need to iterate over the result set, you will need a looping construct that will further impact performance. For these reasons mysqli_fetch_all() should only be used in those situations where the fetched result set will be sent to another layer for processing.

Siehe auch

  • mysqli_fetch_array() - Fetch a result row as an associative, a numeric array, or both
  • mysqli_query() - Performs a query on the database

mysqli_result::data_seek
mysqli_result::fetch_array
mysqli_result


Fetch a result row as an associative, a numeric array, or both

mysqli_result::fetch_all
mysqli_result::fetch_assoc
mysqli_result
PHP Manual

mysqli_result::fetch_array

mysqli_fetch_array

(PHP 5, PHP 7)

mysqli_result::fetch_array -- mysqli_fetch_array — Fetch a result row as an associative, a numeric array, or both

Beschreibung

Objektorientierter Stil

mixed mysqli_result::fetch_array ([ int $resulttype = MYSQLI_BOTH ] )

Prozeduraler Stil

mixed mysqli_fetch_array ( mysqli_result $result [, int $resulttype = MYSQLI_BOTH ] )

Returns an array that corresponds to the fetched row or NULL if there are no more rows for the resultset represented by the result parameter.

mysqli_fetch_array() is an extended version of the mysqli_fetch_row() function. In addition to storing the data in the numeric indices of the result array, the mysqli_fetch_array() function can also store the data in associative indices, using the field names of the result set as keys.

Hinweis: Feldnamen, die von dieser Funktion zurückgegeben werden, unterscheiden sich in der Groß-/Kleinschreibung.

Hinweis: Diese Funktion setzt NULL-Felder auf den PHP Wert-NULL.

If two or more columns of the result have the same field names, the last column will take precedence and overwrite the earlier data. In order to access multiple columns with the same name, the numerically indexed version of the row must be used.

Parameter-Liste

result

Nur bei prozeduralem Aufruf: Ein von mysqli_query(), mysqli_store_result() oder mysqli_use_result() zurückgegebenes Ergebnisobjekt.

resulttype

This optional parameter is a constant indicating what type of array should be produced from the current row data. The possible values for this parameter are the constants MYSQLI_ASSOC, MYSQLI_NUM, or MYSQLI_BOTH.

By using the MYSQLI_ASSOC constant this function will behave identically to the mysqli_fetch_assoc(), while MYSQLI_NUM will behave identically to the mysqli_fetch_row() function. The final option MYSQLI_BOTH will create a single array with the attributes of both.

Rückgabewerte

Returns an array of strings that corresponds to the fetched row or NULL if there are no more rows in resultset.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID LIMIT 3";
$result = $mysqli->query($query);

/* numeric array */
$row = $result->fetch_array(MYSQLI_NUM);
printf ("%s (%s)\n", $row[0], $row[1]);

/* associative array */
$row = $result->fetch_array(MYSQLI_ASSOC);
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);

/* associative and numeric array */
$row = $result->fetch_array(MYSQLI_BOTH);
printf ("%s (%s)\n", $row[0], $row["CountryCode"]);

/* free result set */
$result->free();

/* close connection */
$mysqli->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID LIMIT 3";
$result = mysqli_query($link, $query);

/* numeric array */
$row = mysqli_fetch_array($result, MYSQLI_NUM);
printf ("%s (%s)\n", $row[0], $row[1]);

/* associative array */
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);

/* associative and numeric array */
$row = mysqli_fetch_array($result, MYSQLI_BOTH);
printf ("%s (%s)\n", $row[0], $row["CountryCode"]);

/* free result set */
mysqli_free_result($result);

/* close connection */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Kabul (AFG)
Qandahar (AFG)
Herat (AFG)

Siehe auch

  • mysqli_fetch_assoc() - Fetch a result row as an associative array
  • mysqli_fetch_row() - Get a result row as an enumerated array
  • mysqli_fetch_object() - Returns the current row of a result set as an object
  • mysqli_query() - Performs a query on the database
  • mysqli_data_seek() - Adjusts the result pointer to an arbitrary row in the result

mysqli_result::fetch_all
mysqli_result::fetch_assoc
mysqli_result


Fetch a result row as an associative array

mysqli_result::fetch_array
mysqli_result::fetch_field_direct
mysqli_result
PHP Manual

mysqli_result::fetch_assoc

mysqli_fetch_assoc

(PHP 5, PHP 7)

mysqli_result::fetch_assoc -- mysqli_fetch_assoc — Fetch a result row as an associative array

Beschreibung

Objektorientierter Stil

array mysqli_result::fetch_assoc ( void )

Prozeduraler Stil

array mysqli_fetch_assoc ( mysqli_result $result )

Returns an associative array that corresponds to the fetched row or NULL if there are no more rows.

Hinweis: Feldnamen, die von dieser Funktion zurückgegeben werden, unterscheiden sich in der Groß-/Kleinschreibung.

Hinweis: Diese Funktion setzt NULL-Felder auf den PHP Wert-NULL.

Parameter-Liste

result

Nur bei prozeduralem Aufruf: Ein von mysqli_query(), mysqli_store_result() oder mysqli_use_result() zurückgegebenes Ergebnisobjekt.

Rückgabewerte

Returns an associative array of strings representing the fetched row in the result set, where each key in the array represents the name of one of the result set's columns or NULL if there are no more rows in resultset.

If two or more columns of the result have the same field names, the last column will take precedence. To access the other column(s) of the same name, you either need to access the result with numeric indices by using mysqli_fetch_row() or add alias names.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = $mysqli->query($query)) {

    /* fetch associative array */
    while ($row = $result->fetch_assoc()) {
        printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
    }

    /* free result set */
    $result->free();
}

/* close connection */
$mysqli->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = mysqli_query($link, $query)) {

    /* fetch associative array */
    while ($row = mysqli_fetch_assoc($result)) {
        printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
    }

    /* free result set */
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)

Beispiel #3 A mysqli_result example comparing iterator usage

<?php
$c = mysqli_connect('127.0.0.1','user', 'pass');

// Using iterators (support was added with PHP 5.4)
foreach ( $c->query('SELECT user,host FROM mysql.user') as $row ) {
    printf("'%s'@'%s'\n", $row['user'], $row['host']);
}

echo "\n==================\n";

// Not using iterators
$result = $c->query('SELECT user,host FROM mysql.user');
while ($row = $result->fetch_assoc()) {
    printf("'%s'@'%s'\n", $row['user'], $row['host']);
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

'root'@'192.168.1.1'
'root'@'127.0.0.1'
'dude'@'localhost'
'lebowski'@'localhost'

==================

'root'@'192.168.1.1'
'root'@'127.0.0.1'
'dude'@'localhost'
'lebowski'@'localhost'

Siehe auch

  • mysqli_fetch_array() - Fetch a result row as an associative, a numeric array, or both
  • mysqli_fetch_row() - Get a result row as an enumerated array
  • mysqli_fetch_object() - Returns the current row of a result set as an object
  • mysqli_query() - Performs a query on the database
  • mysqli_data_seek() - Adjusts the result pointer to an arbitrary row in the result

mysqli_result::fetch_array
mysqli_result::fetch_field_direct
mysqli_result


Fetch meta-data for a single field

mysqli_result::fetch_assoc
mysqli_result::fetch_field
mysqli_result
PHP Manual

mysqli_result::fetch_field_direct

mysqli_fetch_field_direct

(PHP 5, PHP 7)

mysqli_result::fetch_field_direct -- mysqli_fetch_field_direct — Fetch meta-data for a single field

Beschreibung

Objektorientierter Stil

object mysqli_result::fetch_field_direct ( int $fieldnr )

Prozeduraler Stil

object mysqli_fetch_field_direct ( mysqli_result $result , int $fieldnr )

Returns an object which contains field definition information from the specified result set.

Parameter-Liste

result

Nur bei prozeduralem Aufruf: Ein von mysqli_query(), mysqli_store_result() oder mysqli_use_result() zurückgegebenes Ergebnisobjekt.

fieldnr

The field number. This value must be in the range from 0 to number of fields - 1.

Rückgabewerte

Returns an object which contains field definition information or FALSE if no field information for specified fieldnr is available.

Object attributes
Attribute | Description
name | The name of the column
orgname | Original column name if an alias was specified
table | The name of the table this field belongs to (if not calculated)
orgtable | Original table name if an alias was specified
def | The default value for this field, represented as a string
max_length | The maximum width of the field for the result set.
length | The width of the field, as specified in the table definition.
charsetnr | The character set number for the field.
flags | An integer representing the bit-flags for the field.
type | The data type used for this field
decimals | The number of decimals used (for numeric fields)

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Name LIMIT 5";

if ($result = $mysqli->query($query)) {

    /* Get field information for column 'SurfaceArea' */
    $finfo = $result->fetch_field_direct(1);

    printf("Name:     %s\n", $finfo->name);
    printf("Table:    %s\n", $finfo->table);
    printf("max. Len: %d\n", $finfo->max_length);
    printf("Flags:    %d\n", $finfo->flags);
    printf("Type:     %d\n", $finfo->type);

    $result->close();
}

/* close connection */
$mysqli->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Name LIMIT 5";

if ($result = mysqli_query($link, $query)) {

    /* Get field information for column 'SurfaceArea' */
    $finfo = mysqli_fetch_field_direct($result, 1);

    printf("Name:     %s\n", $finfo->name);
    printf("Table:    %s\n", $finfo->table);
    printf("max. Len: %d\n", $finfo->max_length);
    printf("Flags:    %d\n", $finfo->flags);
    printf("Type:     %d\n", $finfo->type);

    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Name:     SurfaceArea
Table:    Country
max. Len: 10
Flags:    32769
Type:     4

Siehe auch

  • mysqli_num_fields() - Get the number of fields in a result
  • mysqli_fetch_field() - Returns the next field in the result set
  • mysqli_fetch_fields() - Returns an array of objects representing the fields in a result set

mysqli_result::fetch_assoc
mysqli_result::fetch_field
mysqli_result


Returns the next field in the result set

mysqli_result::fetch_field_direct
mysqli_result::fetch_fields
mysqli_result
PHP Manual

mysqli_result::fetch_field

mysqli_fetch_field

(PHP 5, PHP 7)

mysqli_result::fetch_field -- mysqli_fetch_field — Returns the next field in the result set

Beschreibung

Objektorientierter Stil

object mysqli_result::fetch_field ( void )

Prozeduraler Stil

object mysqli_fetch_field ( mysqli_result $result )

Returns the definition of one column of a result set as an object. Call this function repeatedly to retrieve information about all columns in the result set.

Parameter-Liste

result

Nur bei prozeduralem Aufruf: Ein von mysqli_query(), mysqli_store_result() oder mysqli_use_result() zurückgegebenes Ergebnisobjekt.

Rückgabewerte

Returns an object which contains field definition information or FALSE if no field information is available.

Object properties
Property | Description
name | The name of the column
orgname | Original column name if an alias was specified
table | The name of the table this field belongs to (if not calculated)
orgtable | Original table name if an alias was specified
def | Reserved for default value, currently always ""
db | Database (since PHP 5.3.6)
catalog | The catalog name, always "def" (since PHP 5.3.6)
max_length | The maximum width of the field for the result set.
length | The width of the field, as specified in the table definition.
charsetnr | The character set number for the field.
flags | An integer representing the bit-flags for the field.
type | The data type used for this field
decimals | The number of decimals used (for integer fields)

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = $mysqli->query($query)) {

    /* Get field information for all columns */
    while ($finfo = $result->fetch_field()) {

        printf("Name:     %s\n", $finfo->name);
        printf("Table:    %s\n", $finfo->table);
        printf("max. Len: %d\n", $finfo->max_length);
        printf("Flags:    %d\n", $finfo->flags);
        printf("Type:     %d\n\n", $finfo->type);
    }
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = mysqli_query($link, $query)) {

    /* Get field information for all fields */
    while ($finfo = mysqli_fetch_field($result)) {

        printf("Name:     %s\n", $finfo->name);
        printf("Table:    %s\n", $finfo->table);
        printf("max. Len: %d\n", $finfo->max_length);
        printf("Flags:    %d\n", $finfo->flags);
        printf("Type:     %d\n\n", $finfo->type);
    }
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Name:     Name
Table:    Country
max. Len: 11
Flags:    1
Type:     254

Name:     SurfaceArea
Table:    Country
max. Len: 10
Flags:    32769
Type:     4

Siehe auch

  • mysqli_num_fields() - Get the number of fields in a result
  • mysqli_fetch_field_direct() - Fetch meta-data for a single field
  • mysqli_fetch_fields() - Returns an array of objects representing the fields in a result set
  • mysqli_field_seek() - Set result pointer to a specified field offset

mysqli_result::fetch_field_direct
mysqli_result::fetch_fields
mysqli_result


Returns an array of objects representing the fields in a result set

mysqli_result::fetch_field
mysqli_result::fetch_object
mysqli_result
PHP Manual

mysqli_result::fetch_fields

mysqli_fetch_fields

(PHP 5, PHP 7)

mysqli_result::fetch_fields -- mysqli_fetch_fields — Returns an array of objects representing the fields in a result set

Beschreibung

Objektorientierter Stil

array mysqli_result::fetch_fields ( void )

Prozeduraler Stil

array mysqli_fetch_fields ( mysqli_result $result )

This function serves an identical purpose to the mysqli_fetch_field() function with the single difference that, instead of returning one object at a time for each field, the columns are returned as an array of objects.

Parameter-Liste

result

Nur bei prozeduralem Aufruf: Ein von mysqli_query(), mysqli_store_result() oder mysqli_use_result() zurückgegebenes Ergebnisobjekt.

Rückgabewerte

Returns an array of objects which contains field definition information or FALSE if no field information is available.

Object properties
Property | Description
name | The name of the column
orgname | Original column name if an alias was specified
table | The name of the table this field belongs to (if not calculated)
orgtable | Original table name if an alias was specified
max_length | The maximum width of the field for the result set.
length | The width of the field, in bytes, as specified in the table definition. Note that this number (bytes) might differ from your table definition value (characters), depending on the character set you use. For example, the character set utf8 has 3 bytes per character, so varchar(10) will return a length of 30 for utf8 (10*3), but return 10 for latin1 (10*1).
charsetnr | The character set number (id) for the field.
flags | An integer representing the bit-flags for the field.
type | The data type used for this field
decimals | The number of decimals used (for integer fields)

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$mysqli = new mysqli("127.0.0.1", "root", "foofoo", "sakila");

/* check connection */
if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}

foreach (array('latin1', 'utf8') as $charset) {

    // Set character set, to show its impact on some values (e.g., length in bytes)
    $mysqli->set_charset($charset);

    $query = "SELECT actor_id, last_name from actor ORDER BY actor_id";

    echo "======================\n";
    echo "Character Set: $charset\n";
    echo "======================\n";

    if ($result = $mysqli->query($query)) {

        /* Get field information for all columns */
        $finfo = $result->fetch_fields();

        foreach ($finfo as $val) {
            printf("Name:      %s\n",   $val->name);
            printf("Table:     %s\n",   $val->table);
            printf("Max. Len:  %d\n",   $val->max_length);
            printf("Length:    %d\n",   $val->length);
            printf("charsetnr: %d\n",   $val->charsetnr);
            printf("Flags:     %d\n",   $val->flags);
            printf("Type:      %d\n\n", $val->type);
        }
        $result->free();
    }
}
$mysqli->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = mysqli_connect("127.0.0.1", "my_user", "my_password", "sakila");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

foreach (array('latin1', 'utf8') as $charset) {

    // Set character set, to show its impact on some values (e.g., length in bytes)
    mysqli_set_charset($link, $charset);

    $query = "SELECT actor_id, last_name from actor ORDER BY actor_id";

    echo "======================\n";
    echo "Character Set: $charset\n";
    echo "======================\n";

    if ($result = mysqli_query($link, $query)) {

        /* Get field information for all columns */
        $finfo = mysqli_fetch_fields($result);

        foreach ($finfo as $val) {
            printf("Name:      %s\n",   $val->name);
            printf("Table:     %s\n",   $val->table);
            printf("Max. Len:  %d\n",   $val->max_length);
            printf("Length:    %d\n",   $val->length);
            printf("charsetnr: %d\n",   $val->charsetnr);
            printf("Flags:     %d\n",   $val->flags);
            printf("Type:      %d\n\n", $val->type);
        }
        mysqli_free_result($result);
    }
}

mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

======================
Character Set: latin1
======================
Name:      actor_id
Table:     actor
Max. Len:  3
Length:    5
charsetnr: 63
Flags:     49699
Type:      2

Name:      last_name
Table:     actor
Max. Len:  12
Length:    45
charsetnr: 8
Flags:     20489
Type:      253

======================
Character Set: utf8
======================
Name:      actor_id
Table:     actor
Max. Len:  3
Length:    5
charsetnr: 63
Flags:     49699
Type:      2

Name:      last_name
Table:     actor
Max. Len:  12
Length:    135
charsetnr: 33
Flags:     20489

Siehe auch

  • mysqli_num_fields() - Get the number of fields in a result
  • mysqli_fetch_field_direct() - Fetch meta-data for a single field
  • mysqli_fetch_field() - Returns the next field in the result set

mysqli_result::fetch_field
mysqli_result::fetch_object
mysqli_result


Returns the current row of a result set as an object

mysqli_result::fetch_fields
mysqli_result::fetch_row
mysqli_result
PHP Manual

mysqli_result::fetch_object

mysqli_fetch_object

(PHP 5, PHP 7)

mysqli_result::fetch_object -- mysqli_fetch_object — Returns the current row of a result set as an object

Beschreibung

Objektorientierter Stil

object mysqli_result::fetch_object ([ string $class_name = "stdClass" [, array $params ]] )

Prozeduraler Stil

object mysqli_fetch_object ( mysqli_result $result [, string $class_name = "stdClass" [, array $params ]] )

The mysqli_fetch_object() will return the current row result set as an object where the attributes of the object represent the names of the fields found within the result set.

Note that mysqli_fetch_object() sets the properties of the object before calling the object constructor.

Parameter-Liste

result

Nur bei prozeduralem Aufruf: Ein von mysqli_query(), mysqli_store_result() oder mysqli_use_result() zurückgegebenes Ergebnisobjekt.

class_name

The name of the class to instantiate, set the properties of and return. If not specified, a stdClass object is returned.

params

An optional array of parameters to pass to the constructor for class_name objects.

Rückgabewerte

Returns an object with string properties that corresponds to the fetched row or NULL if there are no more rows in resultset.

Hinweis: Feldnamen, die von dieser Funktion zurückgegeben werden, unterscheiden sich in der Groß-/Kleinschreibung.

Hinweis: Diese Funktion setzt NULL-Felder auf den PHP Wert-NULL.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = $mysqli->query($query)) {

    /* fetch object array */
    while ($obj = $result->fetch_object()) {
        printf ("%s (%s)\n", $obj->Name, $obj->CountryCode);
    }

    /* free result set */
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = mysqli_query($link, $query)) {

    /* fetch associative array */
    while ($obj = mysqli_fetch_object($result)) {
        printf ("%s (%s)\n", $obj->Name, $obj->CountryCode);
    }

    /* free result set */
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)

Siehe auch

  • mysqli_fetch_array() - Fetch a result row as an associative, a numeric array, or both
  • mysqli_fetch_assoc() - Fetch a result row as an associative array
  • mysqli_fetch_row() - Get a result row as an enumerated array
  • mysqli_query() - Performs a query on the database
  • mysqli_data_seek() - Adjusts the result pointer to an arbitrary row in the result

mysqli_result::fetch_fields
mysqli_result::fetch_row
mysqli_result


Get a result row as an enumerated array

mysqli_result::fetch_object
mysqli_result::$field_count
mysqli_result
PHP Manual

mysqli_result::fetch_row

mysqli_fetch_row

(PHP 5, PHP 7)

mysqli_result::fetch_row -- mysqli_fetch_row — Get a result row as an enumerated array

Beschreibung

Objektorientierter Stil

mixed mysqli_result::fetch_row ( void )

Prozeduraler Stil

mixed mysqli_fetch_row ( mysqli_result $result )

Fetches one row of data from the result set and returns it as an enumerated array, where each column is stored in an array offset starting from 0 (zero). Each subsequent call to this function will return the next row within the result set, or NULL if there are no more rows.

Parameter-Liste

result

Nur bei prozeduralem Aufruf: Ein von mysqli_query(), mysqli_store_result() oder mysqli_use_result() zurückgegebenes Ergebnisobjekt.

Rückgabewerte

mysqli_fetch_row() returns an array of strings that corresponds to the fetched row or NULL if there are no more rows in result set.

Hinweis: Diese Funktion setzt NULL-Felder auf den PHP Wert-NULL.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = $mysqli->query($query)) {

    /* fetch object array */
    while ($row = $result->fetch_row()) {
        printf ("%s (%s)\n", $row[0], $row[1]);
    }

    /* free result set */
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = mysqli_query($link, $query)) {

    /* fetch associative array */
    while ($row = mysqli_fetch_row($result)) {
        printf ("%s (%s)\n", $row[0], $row[1]);
    }

    /* free result set */
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)

Siehe auch

  • mysqli_fetch_array() - Fetch a result row as an associative, a numeric array, or both
  • mysqli_fetch_assoc() - Fetch a result row as an associative array
  • mysqli_fetch_object() - Returns the current row of a result set as an object
  • mysqli_query() - Performs a query on the database
  • mysqli_data_seek() - Adjusts the result pointer to an arbitrary row in the result

mysqli_result::fetch_object
mysqli_result::$field_count
mysqli_result


Get the number of fields in a result

mysqli_result::fetch_row
mysqli_result::field_seek
mysqli_result
PHP Manual

mysqli_result::$field_count

mysqli_num_fields

(PHP 5, PHP 7)

mysqli_result::$field_count -- mysqli_num_fields — Get the number of fields in a result

Beschreibung

Objektorientierter Stil

int $mysqli_result->field_count;

Prozeduraler Stil

int mysqli_num_fields ( mysqli_result $result )

Returns the number of fields from specified result set.

Parameter-Liste

result

Nur bei prozeduralem Aufruf: Ein von mysqli_query(), mysqli_store_result() oder mysqli_use_result() zurückgegebenes Ergebnisobjekt.

Rückgabewerte

The number of fields from a result set.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if ($result = $mysqli->query("SELECT * FROM City ORDER BY ID LIMIT 1")) {

    /* determine number of fields in result set */
    $field_cnt = $result->field_count;

    printf("Result set has %d fields.\n", $field_cnt);

    /* close result set */
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if ($result = mysqli_query($link, "SELECT * FROM City ORDER BY ID LIMIT 1")) {

    /* determine number of fields in result set */
    $field_cnt = mysqli_num_fields($result);

    printf("Result set has %d fields.\n", $field_cnt);

    /* close result set */
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Result set has 5 fields.

Siehe auch

  • mysqli_fetch_field() - Returns the next field in the result set

mysqli_result::fetch_row
mysqli_result::field_seek
mysqli_result


Set result pointer to a specified field offset

mysqli_result::$field_count
mysqli_result::free
mysqli_result
PHP Manual

mysqli_result::field_seek

mysqli_field_seek

(PHP 5, PHP 7)

mysqli_result::field_seek -- mysqli_field_seek — Set result pointer to a specified field offset

Beschreibung

Objektorientierter Stil

bool mysqli_result::field_seek ( int $fieldnr )

Prozeduraler Stil

bool mysqli_field_seek ( mysqli_result $result , int $fieldnr )

Sets the field cursor to the given offset. The next call to mysqli_fetch_field() will retrieve the field definition of the column associated with that offset.

Hinweis:

To seek to the beginning of a row, pass an offset value of zero.

Parameter-Liste

result

Nur bei prozeduralem Aufruf: Ein von mysqli_query(), mysqli_store_result() oder mysqli_use_result() zurückgegebenes Ergebnisobjekt.

fieldnr

The field number. This value must be in the range from 0 to number of fields - 1.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = $mysqli->query($query)) {

    /* Get field information for 2nd column */
    $result->field_seek(1);
    $finfo = $result->fetch_field();

    printf("Name:     %s\n", $finfo->name);
    printf("Table:    %s\n", $finfo->table);
    printf("max. Len: %d\n", $finfo->max_length);
    printf("Flags:    %d\n", $finfo->flags);
    printf("Type:     %d\n\n", $finfo->type);

    $result->close();
}

/* close connection */
$mysqli->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = mysqli_query($link, $query)) {

    /* Get field information for 2nd column */
    mysqli_field_seek($result, 1);
    $finfo = mysqli_fetch_field($result);

    printf("Name:     %s\n", $finfo->name);
    printf("Table:    %s\n", $finfo->table);
    printf("max. Len: %d\n", $finfo->max_length);
    printf("Flags:    %d\n", $finfo->flags);
    printf("Type:     %d\n\n", $finfo->type);

    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Name:     SurfaceArea
Table:    Country
max. Len: 10
Flags:    32769
Type:     4

Siehe auch

  • mysqli_fetch_field() - Returns the next field in the result set

mysqli_result::$field_count
mysqli_result::free
mysqli_result


Frees the memory associated with a result

mysqli_result::field_seek
mysqli_result::$lengths
mysqli_result
PHP Manual

mysqli_result::free

mysqli_free_result

(PHP 5, PHP 7)

mysqli_result::free -- mysqli_free_result — Frees the memory associated with a result

Beschreibung

Objektorientierter Stil

void mysqli_result::free ( void )
void mysqli_result::close ( void )
void mysqli_result::free_result ( void )

Prozeduraler Stil

void mysqli_free_result ( mysqli_result $result )

Frees the memory associated with the result.

Hinweis:

You should always free your result with mysqli_free_result(), when your result object is not needed anymore.

Parameter-Liste

result

Nur bei prozeduralem Aufruf: Ein von mysqli_query(), mysqli_store_result() oder mysqli_use_result() zurückgegebenes Ergebnisobjekt.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • mysqli_query() - Performs a query on the database
  • mysqli_stmt_store_result() - Holt die Ergebnismenge einer vorbereiteten Anweisung (Prepared Statement)
  • mysqli_store_result() - Transfers a result set from the last query
  • mysqli_use_result() - Initiate a result set retrieval

mysqli_result::field_seek
mysqli_result::$lengths
mysqli_result


Returns the lengths of the columns of the current row in the result set

mysqli_result::free
mysqli_result::$num_rows
mysqli_result
PHP Manual

mysqli_result::$lengths

mysqli_fetch_lengths

(PHP 5, PHP 7)

mysqli_result::$lengths -- mysqli_fetch_lengths — Returns the lengths of the columns of the current row in the result set

Beschreibung

Objektorientierter Stil

array $mysqli_result->lengths;

Prozeduraler Stil

array mysqli_fetch_lengths ( mysqli_result $result )

The mysqli_fetch_lengths() function returns an array containing the lengths of every column of the current row within the result set.

Parameter-Liste

result

Nur bei prozeduralem Aufruf: Ein von mysqli_query(), mysqli_store_result() oder mysqli_use_result() zurückgegebenes Ergebnisobjekt.

Rückgabewerte

An array of integers representing the size of each column (not including any terminating null characters). FALSE if an error occurred.

mysqli_fetch_lengths() is valid only for the current row of the result set. It returns FALSE if you call it before calling mysqli_fetch_row/array/object or after retrieving all rows in the result.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT * from Country ORDER BY Code LIMIT 1";

if ($result = $mysqli->query($query)) {

    $row = $result->fetch_row();

    /* display column lengths */
    foreach ($result->lengths as $i => $val) {
        printf("Field %2d has Length %2d\n", $i+1, $val);
    }
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT * from Country ORDER BY Code LIMIT 1";

if ($result = mysqli_query($link, $query)) {

    $row = mysqli_fetch_row($result);

    /* display column lengths */
    foreach (mysqli_fetch_lengths($result) as $i => $val) {
        printf("Field %2d has Length %2d\n", $i+1, $val);
    }
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Field  1 has Length  3
Field  2 has Length  5
Field  3 has Length 13
Field  4 has Length  9
Field  5 has Length  6
Field  6 has Length  1
Field  7 has Length  6
Field  8 has Length  4
Field  9 has Length  6
Field 10 has Length  6
Field 11 has Length  5
Field 12 has Length 44
Field 13 has Length  7
Field 14 has Length  3
Field 15 has Length  2
mysqli_result::free
mysqli_result::$num_rows
mysqli_result


Gets the number of rows in a result

mysqli_result::$lengths
mysqli_driver
mysqli_result
PHP Manual

mysqli_result::$num_rows

mysqli_num_rows

(PHP 5, PHP 7)

mysqli_result::$num_rows -- mysqli_num_rows — Gets the number of rows in a result

Beschreibung

Objektorientierter Stil

int $mysqli_result->num_rows;

Prozeduraler Stil

int mysqli_num_rows ( mysqli_result $result )

Returns the number of rows in the result set.

The behaviour of mysqli_num_rows() depends on whether buffered or unbuffered result sets are being used. For unbuffered result sets, mysqli_num_rows() will not return the correct number of rows until all the rows in the result have been retrieved.

Parameter-Liste

result

Nur bei prozeduralem Aufruf: Ein von mysqli_query(), mysqli_store_result() oder mysqli_use_result() zurückgegebenes Ergebnisobjekt.

Rückgabewerte

Returns number of rows in the result set.

Hinweis:

If the number of rows is greater than PHP_INT_MAX, the number will be returned as a string.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if ($result = $mysqli->query("SELECT Code, Name FROM Country ORDER BY Name")) {

    /* determine number of rows result set */
    $row_cnt = $result->num_rows;

    printf("Result set has %d rows.\n", $row_cnt);

    /* close result set */
    $result->close();
}

/* close connection */
$mysqli->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if ($result = mysqli_query($link, "SELECT Code, Name FROM Country ORDER BY Name")) {

    /* determine number of rows result set */
    $row_cnt = mysqli_num_rows($result);

    printf("Result set has %d rows.\n", $row_cnt);

    /* close result set */
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Result set has 239 rows.

Siehe auch

  • mysqli_affected_rows() - Ermittelt die Anzahl der betroffenen Zeilen in einem vorherigen MySQL Vorgang
  • mysqli_store_result() - Transfers a result set from the last query
  • mysqli_use_result() - Initiate a result set retrieval
  • mysqli_query() - Performs a query on the database

mysqli_result::$lengths
mysqli_driver
mysqli_result


Die mysqli_driver Klasse

(PHP 5, PHP 7)

Einführung

MySQLi Treiber.

Klassenbeschreibung

mysqli_driver {
/* Eigenschaften */
public readonly string $client_info ;
public readonly string $client_version ;
public readonly string $driver_version ;
public readonly string $embedded ;
public bool $reconnect ;
public int $report_mode ;
/* Methoden */
void embedded_server_end ( void )
bool embedded_server_start ( bool $start , array $arguments , array $groups )
}

Eigenschaften

client_info

Die Version der Client API header

client_version

Die Client Version

driver_version

Die MySQLi Treiber Version

embedded

Ist der MySQLi Embedded Support aktiviert

reconnect

Erlaubt oder verbietet das wiederverbinden. (mysqli.reconnect INI directive)

report_mode

Set to MYSQLI_REPORT_OFF, MYSQLI_REPORT_ALL or any combination of MYSQLI_REPORT_STRICT (throw Exceptions for errors), MYSQLI_REPORT_ERROR (report errors) and MYSQLI_REPORT_INDEX (errors regarding indexes). See also mysqli_report().

Inhaltsverzeichnis

  • mysqli_driver::embedded_server_end — Stop embedded server
  • mysqli_driver::embedded_server_start — Initialize and start embedded server
  • mysqli_driver::$report_mode — Enables or disables internal report functions
mysqli_result::$num_rows
mysqli_driver::embedded_server_end
Mysqli


Stop embedded server

mysqli_driver
mysqli_driver::embedded_server_start
mysqli_driver
PHP Manual

mysqli_driver::embedded_server_end

mysqli_embedded_server_end

(PHP 5, PHP 7)

mysqli_driver::embedded_server_end -- mysqli_embedded_server_end — Stop embedded server

Beschreibung

Objektorientierter Stil

void mysqli_driver::embedded_server_end ( void )

Prozeduraler Stil

void mysqli_embedded_server_end ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

mysqli_driver
mysqli_driver::embedded_server_start
mysqli_driver


Initialize and start embedded server

mysqli_driver::embedded_server_end
mysqli_driver::$report_mode
mysqli_driver
PHP Manual

mysqli_driver::embedded_server_start

mysqli_embedded_server_start

(PHP 5, PHP 7)

mysqli_driver::embedded_server_start -- mysqli_embedded_server_start — Initialize and start embedded server

Beschreibung

Objektorientierter Stil

bool mysqli_driver::embedded_server_start ( bool $start , array $arguments , array $groups )

Prozeduraler Stil

bool mysqli_embedded_server_start ( bool $start , array $arguments , array $groups )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

mysqli_driver::embedded_server_end
mysqli_driver::$report_mode
mysqli_driver


Enables or disables internal report functions

mysqli_driver::embedded_server_start
mysqli_warning
mysqli_driver
PHP Manual

mysqli_driver::$report_mode

mysqli_report

(PHP 5, PHP 7)

mysqli_driver::$report_mode -- mysqli_report — Enables or disables internal report functions

Beschreibung

Objektorientierter Stil

int $mysqli_driver->report_mode ;

Prozeduraler Stil

bool mysqli_report ( int $flags )

A function helpful in improving queries during code development and testing. Depending on the flags, it reports errors from mysqli function calls or queries that don't use an index (or use a bad index).

Parameter-Liste

flags

Supported flags
Name | Description
MYSQLI_REPORT_OFF | Turns reporting off
MYSQLI_REPORT_ERROR | Report errors from mysqli function calls
MYSQLI_REPORT_STRICT | Throw mysqli_sql_exception for errors instead of warnings
MYSQLI_REPORT_INDEX | Report if no index or bad index was used in a query
MYSQLI_REPORT_ALL | Set all options (report all)

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.3.4 | Changing the reporting mode is now be per-request, rather than per-process.
5.2.15 | Changing the reporting mode is now be per-request, rather than per-process.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php

$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* activate reporting */
$driver = new mysqli_driver();
$driver->report_mode = MYSQLI_REPORT_ALL;

try {

    /* this query should report an error */
    $result = $mysqli->query("SELECT Name FROM Nonexistingtable WHERE population > 50000");

    /* this query should report a bad index */
    $result = $mysqli->query("SELECT Name FROM City WHERE population > 50000");

    $result->close();

    $mysqli->close();

} catch (mysqli_sql_exception $e) {

    echo $e->__toString();
}
?>

Beispiel #2 Prozeduraler Stil

<?php
/* activate reporting */
mysqli_report(MYSQLI_REPORT_ALL);

$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* this query should report an error */
$result = mysqli_query("SELECT Name FROM Nonexistingtable WHERE population > 50000");

/* this query should report a bad index */
$result = mysqli_query("SELECT Name FROM City WHERE population > 50000");

mysqli_free_result($result);

mysqli_close($link);
?>

Siehe auch

  • mysqli_debug() - Performs debugging operations
  • mysqli_dump_debug_info() - Dump debugging information into the log
  • mysqli_sql_exception
  • set_exception_handler() - Installiert einen benutzerdefinierten Exceptionhandler
  • error_reporting() - Gibt an, welche PHP-Fehlermeldungen gemeldet werden

mysqli_driver::embedded_server_start
mysqli_warning
mysqli_driver


Die MySQLi Warnungsklasse

(PHP 5, PHP 7)

Einführung

Stellt eine MySQL Warnung dar.

Klassenbeschreibung

mysqli_warning {
/* Eigenschaften */
public $message ;
public $sqlstate ;
public $errno ;
/* Methoden */
protected __construct ( void )
public void next ( void )
}

Eigenschaften

message

Nachrichten-String

sqlstate

SQL Status

errno

Error-Nummer

Inhaltsverzeichnis

  • mysqli_warning::__construct — The __construct purpose
  • mysqli_warning::next — The next purpose
mysqli_driver::$report_mode
mysqli_warning::__construct
Mysqli


The __construct purpose

mysqli_warning
mysqli_warning::next
mysqli_warning
PHP Manual

mysqli_warning::__construct

(PHP 5, PHP 7)

mysqli_warning::__construct — The __construct purpose

Beschreibung

protected mysqli_warning::__construct ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

mysqli_warning
mysqli_warning::next
mysqli_warning


The next purpose

mysqli_warning::__construct
mysqli_sql_exception
mysqli_warning
PHP Manual

mysqli_warning::next

(PHP 5, PHP 7)

mysqli_warning::next — The next purpose

Beschreibung

public void mysqli_warning::next ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

mysqli_warning::__construct
mysqli_sql_exception
mysqli_warning


Die MySQLi Fehlerbehandlungs-Klasse

(PHP 5, PHP 7)

Einführung

Die MySQLi Fehlerbehandlungs-Klasse

Klassenbeschreibung

mysqli_sql_exception extends RuntimeException {
/* Eigenschaften */
protected string $sqlstate ;
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
}

Eigenschaften

sqlstate

Der SQL-Status mit dem Fehler.

mysqli_warning::next
Aliase und veraltete MySQLi Funktionen
Mysqli


Aliase und veraltete MySQLi Funktionen

Inhaltsverzeichnis

  • mysqli_bind_param — Alias für mysqli_stmt_bind_param
  • mysqli_bind_result — Alias für mysqli_stmt_bind_result
  • mysqli_client_encoding — Alias für mysqli_character_set_name
  • mysqli_connect — Alias von mysqli::__construct
  • mysqli::disable_reads_from_master — Disable reads from master
  • mysqli_disable_rpl_parse — Disable RPL parse
  • mysqli_enable_reads_from_master — Enable reads from master
  • mysqli_enable_rpl_parse — Enable RPL parse
  • mysqli_escape_string — Alias von mysqli_real_escape_string
  • mysqli_execute — Alias für mysqli_stmt_execute
  • mysqli_fetch — Alias für mysqli_stmt_fetch
  • mysqli_get_cache_stats — Returns client Zval cache statistics
  • mysqli_get_links_stats — Return information about open and cached links
  • mysqli_get_metadata — Alias für mysqli_stmt_result_metadata
  • mysqli_master_query — Führt einen Query auf dem Master in einer Master/Slaver Umegbung durch.
  • mysqli_param_count — Alias für mysqli_stmt_param_count
  • mysqli_report — Alias von für mysqli_driver->report_mode
  • mysqli_rpl_parse_enabled — Check if RPL parse is enabled
  • mysqli_rpl_probe — RPL probe
  • mysqli_send_long_data — Alias für mysqli_stmt_send_long_data
  • mysqli::set_opt — Alias für mysqli_options
  • mysqli_slave_query — Führt einen Query auf dem Slave in einer Master/Slave Umgebung durch
mysqli_sql_exception
mysqli_bind_param
Mysqli


Alias für mysqli_stmt_bind_param

Aliase und veraltete MySQLi Funktionen
mysqli_bind_result
Aliase und veraltete MySQLi Funktionen
PHP Manual

mysqli_bind_param

(PHP 5 < 5.4.0)

mysqli_bind_param — Alias für mysqli_stmt_bind_param()

Beschreibung

Diese Funktion ist ein Alias für mysqli_stmt_bind_param().

Warnung

Diese Funktion ist seit PHP 5.3.0 DEPRECATED (veraltet) und seit PHP 5.4.0 ENTFERNT.

Siehe auch

  • mysqli_stmt_bind_param() - Bindet Variablen als Parameter an eine vorbereitete Anweisung (prepared statement)

Aliase und veraltete MySQLi Funktionen
mysqli_bind_result
Aliase und veraltete MySQLi Funktionen


Alias für mysqli_stmt_bind_result

mysqli_bind_param
mysqli_client_encoding
Aliase und veraltete MySQLi Funktionen
PHP Manual

mysqli_bind_result

(PHP 5 < 5.4.0)

mysqli_bind_result — Alias für mysqli_stmt_bind_result()

Beschreibung

Diese Funktion ist ein Alias für mysqli_stmt_bind_result().

Warnung

Diese Funktion ist seit PHP 5.3.0 DEPRECATED (veraltet) und seit PHP 5.4.0 ENTFERNT.

Siehe auch

  • mysqli_stmt_bind_result() - Bindet Variablen an eine vorbereitete Anweisung (prepared statement), um das Ergebnis einer Abfrage abzulegen.

mysqli_bind_param
mysqli_client_encoding
Aliase und veraltete MySQLi Funktionen


Alias für mysqli_character_set_name

mysqli_bind_result
mysqli_connect
Aliase und veraltete MySQLi Funktionen
PHP Manual

mysqli_client_encoding

(PHP 5 < 5.4.0)

mysqli_client_encoding — Alias für mysqli_character_set_name()

Beschreibung

Diese Funktion ist ein Alias für mysqli_character_set_name().

Warnung

Diese Funktion ist seit PHP 5.3.0 DEPRECATED (veraltet) und seit PHP 5.4.0 ENTFERNT.

Siehe auch

  • mysqli_real_escape_string() - Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection

mysqli_bind_result
mysqli_connect
Aliase und veraltete MySQLi Funktionen


Alias von mysqli::__construct

mysqli_client_encoding
mysqli::disable_reads_from_master
Aliase und veraltete MySQLi Funktionen
PHP Manual

mysqli_connect

(PHP 5, PHP 7)

mysqli_connect — Alias von mysqli::__construct()

Beschreibung

Diese Funktion ist ein Alias für: mysqli::__construct()

mysqli_client_encoding
mysqli::disable_reads_from_master
Aliase und veraltete MySQLi Funktionen


Disable reads from master

mysqli_connect
mysqli_disable_rpl_parse
Aliase und veraltete MySQLi Funktionen
PHP Manual

mysqli::disable_reads_from_master

mysqli_disable_reads_from_master

(PHP 5 < 5.3.0)

mysqli::disable_reads_from_master -- mysqli_disable_reads_from_master — Disable reads from master

Beschreibung

Objektorientierter Stil

void mysqli::disable_reads_from_master ( void )

Prozeduraler Stil

bool mysqli_disable_reads_from_master ( mysqli $link )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Warnung

Diese Funktion war DEPRECATED (veraltet) und wurde mit PHP 5.3.0 ENTFERNT.

mysqli_connect
mysqli_disable_rpl_parse
Aliase und veraltete MySQLi Funktionen


Disable RPL parse

mysqli::disable_reads_from_master
mysqli_enable_reads_from_master
Aliase und veraltete MySQLi Funktionen
PHP Manual

mysqli_disable_rpl_parse

(PHP 5 < 5.3.0)

mysqli_disable_rpl_parse — Disable RPL parse

Beschreibung

bool mysqli_disable_rpl_parse ( mysqli $link )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Warnung

Diese Funktion war DEPRECATED (veraltet) und wurde mit PHP 5.3.0 ENTFERNT.

mysqli::disable_reads_from_master
mysqli_enable_reads_from_master
Aliase und veraltete MySQLi Funktionen


Enable reads from master

mysqli_disable_rpl_parse
mysqli_enable_rpl_parse
Aliase und veraltete MySQLi Funktionen
PHP Manual

mysqli_enable_reads_from_master

(PHP 5 < 5.3.0)

mysqli_enable_reads_from_master — Enable reads from master

Beschreibung

bool mysqli_enable_reads_from_master ( mysqli $link )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Warnung

Diese Funktion war DEPRECATED (veraltet) und wurde mit PHP 5.3.0 ENTFERNT.

mysqli_disable_rpl_parse
mysqli_enable_rpl_parse
Aliase und veraltete MySQLi Funktionen


Enable RPL parse

mysqli_enable_reads_from_master
mysqli_escape_string
Aliase und veraltete MySQLi Funktionen
PHP Manual

mysqli_enable_rpl_parse

(PHP 5 < 5.3.0)

mysqli_enable_rpl_parse — Enable RPL parse

Beschreibung

bool mysqli_enable_rpl_parse ( mysqli $link )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Warnung

Diese Funktion war DEPRECATED (veraltet) und wurde mit PHP 5.3.0 ENTFERNT.

mysqli_enable_reads_from_master
mysqli_escape_string
Aliase und veraltete MySQLi Funktionen


Alias von mysqli_real_escape_string

mysqli_enable_rpl_parse
mysqli_execute
Aliase und veraltete MySQLi Funktionen
PHP Manual

mysqli_escape_string

(PHP 5, PHP 7)

mysqli_escape_string — Alias von mysqli_real_escape_string()

Beschreibung

Diese Funktion ist ein Alias für: mysqli_real_escape_string().

mysqli_enable_rpl_parse
mysqli_execute
Aliase und veraltete MySQLi Funktionen


Alias für mysqli_stmt_execute

mysqli_escape_string
mysqli_fetch
Aliase und veraltete MySQLi Funktionen
PHP Manual

mysqli_execute

(PHP 5, PHP 7)

mysqli_execute — Alias für mysqli_stmt_execute()

Beschreibung

Diese Funktion ist ein Alias für mysqli_stmt_execute().

Anmerkungen

Hinweis:

mysqli_execute() ist deprecated und wir entfernt.

Siehe auch

  • mysqli_stmt_execute() - Executes a prepared Query

mysqli_escape_string
mysqli_fetch
Aliase und veraltete MySQLi Funktionen


Alias für mysqli_stmt_fetch

mysqli_execute
mysqli_get_cache_stats
Aliase und veraltete MySQLi Funktionen
PHP Manual

mysqli_fetch

(PHP 5 < 5.4.0)

mysqli_fetch — Alias für mysqli_stmt_fetch()

Beschreibung

Diese Funktion ist ein Alias für mysqli_stmt_fetch().

Warnung

Diese Funktion ist seit PHP 5.3.0 DEPRECATED (veraltet) und seit PHP 5.4.0 ENTFERNT.

Siehe auch

  • mysqli_stmt_fetch() - Fetch results from a prepared statement into the bound variables

mysqli_execute
mysqli_get_cache_stats
Aliase und veraltete MySQLi Funktionen


Returns client Zval cache statistics

mysqli_fetch
mysqli_get_links_stats
Aliase und veraltete MySQLi Funktionen
PHP Manual

mysqli_get_cache_stats

(PHP 5 >= 5.3.0 and < 5.4.0)

mysqli_get_cache_stats — Returns client Zval cache statistics

Warnung

This function has been REMOVED as of PHP 5.4.0.

Beschreibung

array mysqli_get_cache_stats ( void )

Returns an empty array. Nur in mysqlnd verfügbar.

Parameter-Liste

Rückgabewerte

Returns an empty array on success, FALSE otherwise.

Changelog

Version | Beschreibung
5.4.0 | The mysqli_get_cache_stats() was removed.
5.3.0 | The mysqli_get_cache_stats() was added as stub.

mysqli_fetch
mysqli_get_links_stats
Aliase und veraltete MySQLi Funktionen


Return information about open and cached links

mysqli_get_cache_stats
mysqli_get_metadata
Aliase und veraltete MySQLi Funktionen
PHP Manual

mysqli_get_links_stats

(PHP 5 >= 5.6.0, PHP 7)

mysqli_get_links_stats — Return information about open and cached links

Beschreibung

array mysqli_get_links_stats ( void )

mysqli_get_links_stats() returns information about open and cached MySQL links.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

mysqli_get_links_stats() returns an associative array with three elements, keyed as follows:

total

An integer indicating the total number of open links in any state.

active_plinks

An integer representing the number of active persistent connections.

cached_plinks

An integer representing the number of inactive persistent connections.

mysqli_get_cache_stats
mysqli_get_metadata
Aliase und veraltete MySQLi Funktionen


Alias für mysqli_stmt_result_metadata

mysqli_get_links_stats
mysqli_master_query
Aliase und veraltete MySQLi Funktionen
PHP Manual

mysqli_get_metadata

(PHP 5 < 5.4.0)

mysqli_get_metadata — Alias für mysqli_stmt_result_metadata()

Beschreibung

Diese Funktion ist ein Alias für mysqli_stmt_result_metadata().

Warnung

Diese Funktion ist seit PHP 5.3.0 DEPRECATED (veraltet) und seit PHP 5.4.0 ENTFERNT.

Siehe auch

  • mysqli_stmt_result_metadata() - Returns result set metadata from a prepared statement

mysqli_get_links_stats
mysqli_master_query
Aliase und veraltete MySQLi Funktionen


Führt einen Query auf dem Master in einer Master/Slaver Umegbung durch.

mysqli_get_metadata
mysqli_param_count
Aliase und veraltete MySQLi Funktionen
PHP Manual

mysqli_master_query

(PHP 5 < 5.3.0)

mysqli_master_query — Führt einen Query auf dem Master in einer Master/Slaver Umegbung durch.

Beschreibung

bool mysqli_master_query ( mysqli $link , string $query )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Warnung

Diese Funktion war DEPRECATED (veraltet) und wurde mit PHP 5.3.0 ENTFERNT.

mysqli_get_metadata
mysqli_param_count
Aliase und veraltete MySQLi Funktionen


Alias für mysqli_stmt_param_count

mysqli_master_query
mysqli_report
Aliase und veraltete MySQLi Funktionen
PHP Manual

mysqli_param_count

(PHP 5 < 5.4.0)

mysqli_param_count — Alias für mysqli_stmt_param_count()

Beschreibung

Diese Funktion ist ein Alias für mysqli_stmt_param_count().

Warnung

Diese Funktion ist seit PHP 5.3.0 DEPRECATED (veraltet) und seit PHP 5.4.0 ENTFERNT.

Siehe auch

  • mysqli_stmt_param_count() - Gibt die Anzahl der Parameter der gegebenen Anweisung zurück

mysqli_master_query
mysqli_report
Aliase und veraltete MySQLi Funktionen


Alias von für mysqli_driver->report_mode

mysqli_param_count
mysqli_rpl_parse_enabled
Aliase und veraltete MySQLi Funktionen
PHP Manual

mysqli_report

(PHP 5, PHP 7)

mysqli_report — Alias von für mysqli_driver->report_mode

Beschreibung

Diese Funktion ist ein Alias für: mysqli_driver->report_mode

mysqli_param_count
mysqli_rpl_parse_enabled
Aliase und veraltete MySQLi Funktionen


Check if RPL parse is enabled

mysqli_report
mysqli_rpl_probe
Aliase und veraltete MySQLi Funktionen
PHP Manual

mysqli_rpl_parse_enabled

(PHP 5 < 5.3.0)

mysqli_rpl_parse_enabled — Check if RPL parse is enabled

Beschreibung

int mysqli_rpl_parse_enabled ( mysqli $link )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Warnung

Diese Funktion war DEPRECATED (veraltet) und wurde mit PHP 5.3.0 ENTFERNT.

mysqli_report
mysqli_rpl_probe
Aliase und veraltete MySQLi Funktionen


RPL probe

mysqli_rpl_parse_enabled
mysqli_send_long_data
Aliase und veraltete MySQLi Funktionen
PHP Manual

mysqli_rpl_probe

(PHP 5 < 5.3.0)

mysqli_rpl_probe — RPL probe

Beschreibung

bool mysqli_rpl_probe ( mysqli $link )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Warnung

Diese Funktion war DEPRECATED (veraltet) und wurde mit PHP 5.3.0 ENTFERNT.

mysqli_rpl_parse_enabled
mysqli_send_long_data
Aliase und veraltete MySQLi Funktionen


Alias für mysqli_stmt_send_long_data

mysqli_rpl_probe
mysqli::set_opt
Aliase und veraltete MySQLi Funktionen
PHP Manual

mysqli_send_long_data

(PHP 5 < 5.4.0)

mysqli_send_long_data — Alias für mysqli_stmt_send_long_data()

Beschreibung

Diese Funktion ist ein Alias für mysqli_stmt_send_long_data().

Warnung

Diese Funktion ist seit PHP 5.3.0 DEPRECATED (veraltet) und seit PHP 5.4.0 ENTFERNT.

Siehe auch

  • mysqli_stmt_send_long_data() - Sendet Daten blockweise

mysqli_rpl_probe
mysqli::set_opt
Aliase und veraltete MySQLi Funktionen


Alias für mysqli_options

mysqli_send_long_data
mysqli_slave_query
Aliase und veraltete MySQLi Funktionen
PHP Manual

mysqli::set_opt

mysqli_set_opt

(PHP 5, PHP 7)

mysqli::set_opt -- mysqli_set_opt — Alias für mysqli_options()

Beschreibung

Diese Funktion ist ein Alias für mysqli_options().

mysqli_send_long_data
mysqli_slave_query
Aliase und veraltete MySQLi Funktionen


Führt einen Query auf dem Slave in einer Master/Slave Umgebung durch

mysqli::set_opt
Changelog
Aliase und veraltete MySQLi Funktionen
PHP Manual

mysqli_slave_query

(PHP 5 < 5.3.0)

mysqli_slave_query — Führt einen Query auf dem Slave in einer Master/Slave Umgebung durch

Beschreibung

bool mysqli_slave_query ( mysqli $link , string $query )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Warnung

Diese Funktion war DEPRECATED (veraltet) und wurde mit PHP 5.3.0 ENTFERNT.

mysqli::set_opt
Changelog
Aliase und veraltete MySQLi Funktionen


Changelog

Folgende Änderungen wurden an den Klassen/Funktionen/Methoden dieser Extension vorgenommen.

Version | Function | Description
5.6.16 | mysqli::real_connect | Added the MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT flag for MySQL Native Driver
5.5.0 | mysqli::commit | Added flags and name parameters.
 | mysqli::options | The MYSQLI_SERVER_PUBLIC_KEY and MYSQLI_SERVER_PUBLIC_KEY options were added.
 | mysqli::rollback | Added flags and name parameters.
5.4.0 | mysqli_get_cache_stats | The mysqli_get_cache_stats was removed.
5.3.4 | mysqli_driver::$report_mode | Changing the reporting mode is now be per-request, rather than per-process.
5.3.0 | mysqli_get_cache_stats | The mysqli_get_cache_stats was added as stub.
 | mysqli::__construct | Added the ability of persistent connections.
 | mysqli::options | The MYSQLI_OPT_INT_AND_FLOAT_NATIVE, MYSQLI_OPT_NET_CMD_BUFFER_SIZE, MYSQLI_OPT_NET_READ_BUFFER_SIZE, and MYSQLI_OPT_SSL_VERIFY_SERVER_CERT options were added.
 | mysqli::query | Added the ability of async queries.
5.2.15 | mysqli_driver::$report_mode | Changing the reporting mode is now be per-request, rather than per-process.
mysqli_slave_query
MySQL (Original)
Mysqli


Ursprüngliche MySQL API

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Changelog
  • Vordefinierte Konstanten
  • Beispiele
    • MySQL Extension Übersichtsbeispiel
  • MySQL Funktionen
    • mysql_affected_rows — Liefert die Anzahl betroffener Datensätze einer vorhergehenden MySQL Operation
    • mysql_client_encoding — Liefert den Namen des Zeichensatzes
    • mysql_close — Schließt eine Verbindung zu MySQL
    • mysql_connect — Öffnet eine Verbindung zu einem MySQL-Server
    • mysql_create_db — Anlegen einer MySQL-Datenbank
    • mysql_data_seek — Bewegt den internen Ergebnis-Zeiger
    • mysql_db_name — Liefert Schema Namen vom Aufruf von mysql_list_dbs
    • mysql_db_query — Selektiert ein Schema und führt in ihm Anfrage aus
    • mysql_drop_db — Löschen eines Schemas
    • mysql_errno — Liefert die Nummer einer Fehlermeldung einer zuvor ausgeführten MySQL Operation
    • mysql_error — Liefert den Fehlertext der zuvor ausgeführten MySQL Operation
    • mysql_escape_string — Maskiert einen String zur Benutzung in einer MySQL Abfrage
    • mysql_fetch_array — Liefert einen Datensatz als assoziatives Array, als numerisches Array oder beides
    • mysql_fetch_assoc — Liefert einen Datensatz als assoziatives Array
    • mysql_fetch_field — Liefert ein Objekt mit Feldinformationen aus einem Anfrageergebnis
    • mysql_fetch_lengths — Liefert die Länge eines jeden Feldes in einem Ergebnis
    • mysql_fetch_object — Liefert eine Ergebniszeile als Objekt
    • mysql_fetch_row — Liefert einen Datensatz als indiziertes Array
    • mysql_field_flags — Liefert die Flags des spezifizierten Feldes in einem Anfrageergebnis
    • mysql_field_len — Liefert die Länge des angegebenen Feldes
    • mysql_field_name — Liefert den Namen eines Feldes in einem Ergebnis
    • mysql_field_seek — Setzt den Ergebniszeiger auf ein bestimmtes Feldoffset
    • mysql_field_table — Liefert den Namen der Tabelle, die das genannte Feld enthält
    • mysql_field_type — Liefert den Typ des spezifizierten Feldes in einem Ergebnis
    • mysql_free_result — Gibt belegten Speicher wieder frei
    • mysql_get_client_info — Liefert MySQL Clientinformationen
    • mysql_get_host_info — Liefert MySQL Host Informationen
    • mysql_get_proto_info — Liefert MySQL Protokollinformationen
    • mysql_get_server_info — Liefert MySQL Server Informationen
    • mysql_info — Liefert Informationen über die zuletzt ausgeführte Anfrage zurück
    • mysql_insert_id — Liefert die ID, die in der vorherigen Abfrage erzeugt wurde
    • mysql_list_dbs — Auflistung der verfügbaren Datenbanken (Schemata) auf einem MySQL Server
    • mysql_list_fields — Listet MySQL Tabellenfelder auf
    • mysql_list_processes — Zeigt die MySQL Prozesse an
    • mysql_list_tables — Listet Tabellen in einer MySQL Datenbank auf
    • mysql_num_fields — Liefert die Anzahl der Felder in einem Ergebnis
    • mysql_num_rows — Liefert die Anzahl der Zeilen im Ergebnis
    • mysql_pconnect — Öffnet eine persistente Verbindung zum MySQL Server
    • mysql_ping — Ping a server connection or reconnect if there is no connection
    • mysql_query — Sendet eine Anfrage an MySQL
    • mysql_real_escape_string — Maskiert spezielle Zeichen innerhalb eines Strings für die Verwendung in einer SQL-Anweisung
    • mysql_result — Liefert Ergebnis
    • mysql_select_db — Auswahl einer MySQL Datenbank
    • mysql_set_charset — Setzt den Verbindungszeichensatz
    • mysql_stat — Zeigt den momentanen Serverstatus an
    • mysql_tablename — Liefert den Namen einer Tabelle
    • mysql_thread_id — Zeigt die aktuelle Thread ID an
    • mysql_unbuffered_query — Sendet eine SQL Anfrage an MySQL, ohne Ergebniszeilen abzuholen und zu puffern
Changelog
Einführung
MySQL


Einführung

Diese Erweiterung ist seit PHP 5.5.0 veraltet und wurde in PHP 7.0.0 entfernt. Stattdessen sollten entweder die mysqli oder PDO_MySQL Erweiterungen genutzt werden. Siehe auch die Übersicht der MySQL APIs , um weitere Hilfe bei der Auswahl der MySQL API zu erhalten.

Diese Funktionen erlauben den Zugriff auf einen MySQL Datenbank-Server. Weitere Information zu MySQL sind unter » http://www.mysql.com/ erhältlich.

Die Dokumentation zu MySQL ist unter » http://dev.mysql.com/doc/ zu finden.

MySQL (Original)
Installation/Konfiguration
MySQL (Original)


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
MySQL (Original)


Anforderungen

Um diese Funktionen nutzen zu können, müssen Sie PHP mit MySQL-Unterstützung übersetzen.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

Benutzen Sie die --with-mysql[=DIR] Konfigurationsoption um diese Erweiterung zu kompilieren. Der optionale Parameter [DIR] sollte dabei das Verzeichnis angeben in dem Sie MySQL installiert haben.

Die MySQL Erweiterung ist zwar kompatibel mit aktuellen MySQL Versionen, sie unterstützt aber nich mehr alle zusätzlichen Funktionalitäten die seit MySQL 4.1.0 hinzugekommen sind. Wenn Sie diese benötigen so verwenden Sie statt dessen die neuere MySQLi Erweiterung.

Wenn Sie beide MySQL Erweiterungen gleichzeitig nutzen wollen so sollten Sie diese mit der gleichen MySQL Client Library Version erstellen um mögliche Versionskonflikte zu vermeiden.

Installation auf Linux Systemen

Beachten sie: [DIR] ist der Pfad zu den MySQL Client Bibliothek Dateien (Header-Dateien und Bibliotheken), die von » MySQL heruntergeladen werden können.

Matrix der ext/mysql Kompilierungs-Optionen
PHP Version | Standard | Konfigurationsoptionen: mysqlnd | Konfigurationsoptionen: libmysqlclient | Changelog
4.x.x | libmysqlclient | Nicht verfügbar | --without-mysql zum Deaktivieren | MySQL standardmäßig aktiviert, MySQL Client Bibliotheken gebündelt
5.0.x, 5.1.x, 5.2.x | libmysqlclient | Nicht verfügbar | --with-mysql=[DIR] | MySQL ist nicht mehr standardmäßig aktiviert und die MySQL Client Bibliotheken sind nicht mehr gebündelt.
5.3.x | libmysqlclient | --with-mysql=mysqlnd | --with-mysql=[DIR] | mysqlnd ist nun verügbar
5.4.x | mysqlnd | --with-mysql | --with-mysql=[DIR] | mysqlnd ist nun der Standard

Installation auf Windows Systemen

PHP 5.0.x, 5.1.x, 5.2.x

MySQL ist nicht mehr automatisch aktiviert, Sie müssen die php_mysql.dll DLL in Ihrer php.ini selbst einbinden. PHP benötigt darüber hinaus Zugriff auf die MySQL Client Bibliothek. Eine Datei mit Namen libmysql.dll ist in der PHP Distribution für Windows enthalten, diese muss für Ihr Windows System über PATH zu finden sein damit Sie aus PHP heraus MySQL Datenbanken nutzen können. Der FAQ-Eintrag "Wie füge ich unter Windows PATH on Windows mein PHP-Verzeichnis hinzu?" bietet nähere Informationen zu diesem Thema. Sie können libmysql.dll zwar auch direkt in Ihr Windows Systemverzeichnis kopieren (da dieses immer im PATH Suchpfad enthalten ist), von diesem Vorgehen wird aber abgeraten.

Die PHP Direktive extension_dir sollte, wie bei jeder anderen Erweiterung auch, auf das Verzeichnis zeigen in dem die PHP Erweiterungen (wie php_mysql.dll) zu finden sind. Sie hier auch Manuelle Windows Installationsanweisungen. Ein typischer Wert für ein PHP 5 extension_dir ist c:\php\ext

Hinweis:

Erscheint beim Start des Webservers eine Fehlermelding in der Art von "Unable to load dynamic library './php_mysql.dll'" so liegt das daran das php_mysql.dll und/oder libmysql.dll vom System nicht gefunden werden konnten.

PHP 5.3.0+

Der MySQL Native Treiber ist standardmäßig aktiviert. Binden sie php_mysql.dll ein, libmysql.dll wird jedoch nicht mehr benötigt oder genutzt.

MySQL Installationshinweise

Warnung

Initialisierungsprobleme und Abstürze können vorkommen wenn Sie diese Erweiterung zusammen mit der recode Erweiterung verwenden. Nähere Informationen hierzu finden Sie im Handbuch-Abschnitt zu recode.

Hinweis:

Wenn Sie andere Zeichensätze als den Standard latin Zeichensatz verwenden sollen so müssen Sie zum Erstellen der Erweiterung eine externe libmysqlclient verwenden die mit voller Zeichensatzunterstützung erstellt wurde. Die mit PHP 4 mitgelieferte libmysql bietet dies nicht.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

MySQL Konfigurations-Optionen
Name | Standard | Veränderbar | Changelog
mysql.allow_local_infile | "1" | PHP_INI_SYSTEM |
mysql.allow_persistent | "1" | PHP_INI_SYSTEM |
mysql.max_persistent | "-1" | PHP_INI_SYSTEM |
mysql.max_links | "-1" | PHP_INI_SYSTEM |
mysql.trace_mode | "0" | PHP_INI_ALL | Verfügbar ab PHP 4.3.0.
mysql.default_port | NULL | PHP_INI_ALL |
mysql.default_socket | NULL | PHP_INI_ALL | Verfügbar ab PHP 4.0.1.
mysql.default_host | NULL | PHP_INI_ALL |
mysql.default_user | NULL | PHP_INI_ALL |
mysql.default_password | NULL | PHP_INI_ALL |
mysql.connect_timeout | "60" | PHP_INI_ALL | PHP_INI_SYSTEM in PHP <= 4.3.2. Verfügbar ab PHP 4.3.0.
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

mysql.allow_local_infile integer

Erlaubt den Zugriff auf (aus PHPs Sicht) lokale Dateien mit LOAD DATA Anweisungen

mysql.allow_persistent boolean

gibt an, ob persistente Verbindungen zu MySQL gestattet werden sollen.

mysql.max_persistent integer

Die maximale Anzahl von persistenten MySQL Verbindungen pro Prozess.

mysql.max_links integer

Die maximale Anzahl von MySQL Verbindungen, einschließlich persistenter, pro Prozess.

mysql.trace_mode boolean

Falls mysql.trace_mode aktiviert ist, werden Warnungen für Tabellen/Index Scans, nicht freigegebene Ergebnismengen und SQL-Fehler angezeigt. (Eingeführt in PHP 4.3.0)

mysql.default_port string

Gibt die Portnummer an, über den die Verbindung zum MySQL-Server aufgebaut werden soll, wenn kein Port als Verbindungsparameter übergeben wurde. Wird die Portnummer nicht angegeben, wird der Port über die MYSQL_TCP_PORT Umgebungsvariable, dem mysql-tcp Eintrag aus der Datei /etc/services oder der compile-time Konstanten MYSQL_PORT festgelegt, in genau dieser Reihenfolge. Win32 Systeme verwenden nur die Konstante MYSQL_PORT.

mysql.default_socket string

Legt den Socketnamen fest, der bei der Verbindung zu einem lokalen Datenbankserver verwendet werden soll, wenn kein anderer Name angegeben wurde.

mysql.default_host string

Legt den Datenbankserver fest, zu dem eine Verbindung aufgebaut werden soll, wenn kein Server angegeben wurde. Diese Option hat im Safe Mode keine Auswirkungen.

mysql.default_user string

Legt den Benutzernamen fest, der bei einer Verbindung zu einer Datenbank verwendet werden soll, wenn kein Benutzer angegeben wurde. Diese Option hat im Safe Mode keine Auswirkungen.

mysql.default_password string

Legt das Passwort fest, das bei einer Verbindung zu einer Datenbank verwendet werden soll, wenn kein Passwort angegeben wurde. Diese Option hat im Safe Mode keine Auswirkungen.

mysql.connect_timeout integer

Verbindungstimeout in Sekunden. Auf Linuxsystemen wird dieser Timeout auch für die erste Antwort des Servers benutzt.

Installation
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

Innerhalb des MySQL-Moduls werden zwei Resourcetypen benutzt. Der erste ist die Verbindungskennung für eine Verbindung zum Datenbankserver, der zweite Typ ist eine Resource die auf das Ergebnis einer Anfrage/Abfrage verweist.

Laufzeit-Konfiguration
Changelog
Installation/Konfiguration


Changelog

Folgende Änderungen wurden an den Klassen/Funktionen/Methoden dieser Extension vorgenommen.

General Changelog for the ext/mysql extension

This changelog references the ext/mysql extension.

Global ext/mysql changes

The following is a list of changes to the entire ext/mysql extension.

Version | Beschreibung
7.0.0 | This extension was removed from PHP. For details, see Choosing an API.
5.5.0 | This extension has been deprecated. Connecting to a MySQL database via mysql_connect(), mysql_pconnect() or an implicit connection via any other mysql_* function will generate an E_DEPRECATED error.
5.5.0 | All of the old deprecated functions and aliases now emit E_DEPRECATED errors. These functions are: mysql(), mysql_fieldname(), mysql_fieldtable(), mysql_fieldlen(), mysql_fieldtype(), mysql_fieldflags(), mysql_selectdb(), mysql_createdb(), mysql_dropdb(), mysql_freeresult(), mysql_numfields(), mysql_numrows(), mysql_listdbs(), mysql_listtables(), mysql_listfields(), mysql_db_name(), mysql_dbname(), mysql_tablename(), and mysql_table_name().

Changes to existing functions

The following list is a compilation of changelog entries from the ext/mysql functions.

Version | Function | Description
5.5.0 | mysql_connect | Die Funktion erzeugt einen Fehler der Stufe E_DEPRECATED.
 | mysql_db_name | Die Funktion mysql_list_dbs ist veraltet und gibt einen Fehler der Stufe E_DEPRECATED aus.
 | mysql_pconnect | Die Funktion erzeugt einen Fehler der Stufe E_DEPRECATED.
 | mysql_tablename | Die Funktion mysql_tablename ist veraltet und ruft einen Fehler der Stufe E_DEPRECATED hervor.
5.3.0 | mysql_db_query | Diese Funktion löst nun eine E_DEPRECATED Warnung aus.
 | mysql_escape_string | Diese Funktion löst nun eine E_DEPRECATED Notiz aus.
4.3.7 | mysql_list_tables | Diese Funktion gilt als veraltet.
4.3.0 | mysql_escape_string | Diese Funktion gilt als veraltet, nutzen sie diese nicht. Nutzen sie stattdessen mysql_real_escape_string.
Ressource-Typen
Vordefinierte Konstanten
MySQL (Original)


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

Ab PHP 4.3.0 ist es möglich zusätzliche Client-Flags bei den Funktionen mysql_connect() und mysql_pconnect() anzugeben. Die folgenden Konstanten sind definiert:

MySQL-Client Konstanten
Konstante | Beschreibung
MYSQL_CLIENT_COMPRESS | Benutze das Kompression Protokoll
MYSQL_CLIENT_IGNORE_SPACE | Erlaubt Leerzeichen nach Funktionsnamen
MYSQL_CLIENT_INTERACTIVE | Erlaubt Inaktivität von interactive_timeout Sekunden (anstatt wait_timeout) bevor die Verbindung geschlossen wird.
MYSQL_CLIENT_SSL | Benutze SSL Verschlüsselung. Dieses Flag kann nur mit Version 4.x der MySQL Client-Bibliothek oder neuer benutzt werden. Mit PHP 4 und den Windows Binaries für PHP 5 wird nur Version 3.23.x mitgeliefert.

Die Funktion mysql_fetch_array() verwendet eine Konstante für die verschiedenen Arten der Ergebnisarrays. Die folgenden Konstanten sind definiert:

MySQL fetch Konstanten
Konstante | Beschreibung
MYSQL_ASSOC | Spalten werden in einem assoziativen Array zurückgegeben.
MYSQL_BOTH | Spalten werden sowohl als assoziatives als auch als numerisches Array zurückgegeben.
MYSQL_NUM | Spalten werden als numerisches Array zurückgegeben. Der Index beginnt bei 0, dieser entspricht dem ersten Feld des Ergebnisses.

Changelog
Beispiele
MySQL (Original)


Beispiele

Inhaltsverzeichnis

  • MySQL Extension Übersichtsbeispiel
Vordefinierte Konstanten
MySQL Extension Übersichtsbeispiel
MySQL (Original)


MySQL Extension Übersichtsbeispiel

Folgendes einfache Beispiel zeigt Ihnen, wie Sie sich mit einer MySQL-Datenbank verbinden, eine Anfrage ausführen, die Ergebnisse ausgeben und die Verbindung wieder trennen.

Beispiel #1 MySQL-Erweiterung: ein Überblicks-Beispiel

<?php
// Verbindung aufbauen, auswählen einer Datenbank
$link = mysql_connect("mysql_host", "mysql_user", "mysql_password")
    or die("Keine Verbindung möglich: " . mysql_error());
echo "Verbindung zum Datenbankserver erfolgreich";
mysql_select_db("Meine_Datenbank") or die("Auswahl der Datenbank fehlgeschlagen");

// Ausführen einer SQL-Anfrage
$query = "SELECT * FROM Meine_Tabelle";
$result = mysql_query($query) or die("Anfrage fehlgeschlagen: " . mysql_error());

// Ausgabe der Ergebnisse in HTML
echo "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
    echo "\t<tr>\n";
    foreach ($line as $col_value) {
        echo "\t\t<td>$col_value</td>\n";
    }
    echo "\t</tr>\n";
}
echo "</table>\n";

// Freigeben des Resultsets
mysql_free_result($result);

// Schließen der Verbinung
mysql_close($link);
?>

Beispiele
MySQL Funktionen
Beispiele


MySQL Funktionen

Anmerkungen

Hinweis:

Der Großeil der MySQL Funktionen unterstützen einen link_identifier als optionalen letzten Parameter. Wird keiner übergeben so wird die zuletzt geöffnete Verbindung benutzt. Existiert auch diese nicht so wird versucht eine Verbindung mit den Defaultparametern aus php.ini zu öffnen. Schlägt auch dies fehl so wird FALSE zurückgegeben.

Inhaltsverzeichnis

  • mysql_affected_rows — Liefert die Anzahl betroffener Datensätze einer vorhergehenden MySQL Operation
  • mysql_client_encoding — Liefert den Namen des Zeichensatzes
  • mysql_close — Schließt eine Verbindung zu MySQL
  • mysql_connect — Öffnet eine Verbindung zu einem MySQL-Server
  • mysql_create_db — Anlegen einer MySQL-Datenbank
  • mysql_data_seek — Bewegt den internen Ergebnis-Zeiger
  • mysql_db_name — Liefert Schema Namen vom Aufruf von mysql_list_dbs
  • mysql_db_query — Selektiert ein Schema und führt in ihm Anfrage aus
  • mysql_drop_db — Löschen eines Schemas
  • mysql_errno — Liefert die Nummer einer Fehlermeldung einer zuvor ausgeführten MySQL Operation
  • mysql_error — Liefert den Fehlertext der zuvor ausgeführten MySQL Operation
  • mysql_escape_string — Maskiert einen String zur Benutzung in einer MySQL Abfrage
  • mysql_fetch_array — Liefert einen Datensatz als assoziatives Array, als numerisches Array oder beides
  • mysql_fetch_assoc — Liefert einen Datensatz als assoziatives Array
  • mysql_fetch_field — Liefert ein Objekt mit Feldinformationen aus einem Anfrageergebnis
  • mysql_fetch_lengths — Liefert die Länge eines jeden Feldes in einem Ergebnis
  • mysql_fetch_object — Liefert eine Ergebniszeile als Objekt
  • mysql_fetch_row — Liefert einen Datensatz als indiziertes Array
  • mysql_field_flags — Liefert die Flags des spezifizierten Feldes in einem Anfrageergebnis
  • mysql_field_len — Liefert die Länge des angegebenen Feldes
  • mysql_field_name — Liefert den Namen eines Feldes in einem Ergebnis
  • mysql_field_seek — Setzt den Ergebniszeiger auf ein bestimmtes Feldoffset
  • mysql_field_table — Liefert den Namen der Tabelle, die das genannte Feld enthält
  • mysql_field_type — Liefert den Typ des spezifizierten Feldes in einem Ergebnis
  • mysql_free_result — Gibt belegten Speicher wieder frei
  • mysql_get_client_info — Liefert MySQL Clientinformationen
  • mysql_get_host_info — Liefert MySQL Host Informationen
  • mysql_get_proto_info — Liefert MySQL Protokollinformationen
  • mysql_get_server_info — Liefert MySQL Server Informationen
  • mysql_info — Liefert Informationen über die zuletzt ausgeführte Anfrage zurück
  • mysql_insert_id — Liefert die ID, die in der vorherigen Abfrage erzeugt wurde
  • mysql_list_dbs — Auflistung der verfügbaren Datenbanken (Schemata) auf einem MySQL Server
  • mysql_list_fields — Listet MySQL Tabellenfelder auf
  • mysql_list_processes — Zeigt die MySQL Prozesse an
  • mysql_list_tables — Listet Tabellen in einer MySQL Datenbank auf
  • mysql_num_fields — Liefert die Anzahl der Felder in einem Ergebnis
  • mysql_num_rows — Liefert die Anzahl der Zeilen im Ergebnis
  • mysql_pconnect — Öffnet eine persistente Verbindung zum MySQL Server
  • mysql_ping — Ping a server connection or reconnect if there is no connection
  • mysql_query — Sendet eine Anfrage an MySQL
  • mysql_real_escape_string — Maskiert spezielle Zeichen innerhalb eines Strings für die Verwendung in einer SQL-Anweisung
  • mysql_result — Liefert Ergebnis
  • mysql_select_db — Auswahl einer MySQL Datenbank
  • mysql_set_charset — Setzt den Verbindungszeichensatz
  • mysql_stat — Zeigt den momentanen Serverstatus an
  • mysql_tablename — Liefert den Namen einer Tabelle
  • mysql_thread_id — Zeigt die aktuelle Thread ID an
  • mysql_unbuffered_query — Sendet eine SQL Anfrage an MySQL, ohne Ergebniszeilen abzuholen und zu puffern
MySQL Extension Übersichtsbeispiel
mysql_affected_rows
MySQL (Original)


Liefert die Anzahl betroffener Datensätze einer vorhergehenden MySQL Operation

MySQL Funktionen
mysql_client_encoding
MySQL Funktionen
PHP Manual

mysql_affected_rows

(PHP 4, PHP 5)

mysql_affected_rows — Liefert die Anzahl betroffener Datensätze einer vorhergehenden MySQL Operation

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_affected_rows()
  • PDOStatement::rowCount()

Beschreibung

int mysql_affected_rows ([ resource $link_identifier = NULL ] )

Liefert die Anzahl betroffener Datensätze durch die letzte INSERT, UPDATE oder DELETE Anweisung, die mit link_identifier assoziiert ist.

Parameter-Liste

Verbindungs-Kennung

Die MySQL-Verbindung. Wird die Verbindungskennung nicht angegeben, wird die letzte durch mysql_connect() geöffnete Verbindung angenommen. Falls keine solche Verbindung gefunden wird, wird versucht, eine Verbindung aufzubauen, wie es beim Aufruf von mysql_connect() ohne Angabe von Argumenten der Fall wäre. Falls zufällig keine Verbindung gefunden oder aufgebaut werden kann, wird eine Warnung der Stufe E_WARNING erzeugt.

Rückgabewerte

Gibt bei Erfolg die Anzahl betroffener Datensätze und -1 falls die letzte Abfrage fehlschlug zurück.

War die letzte Anfrage ein DELETE-Anweisung ohne WHERE Bedingung, wurden alle Datensätze aus der Tabelle gelöscht. Für MySQL Versionen vor 4.1.2 wird diese Funktion hier aber Null (0) zurückliefern.

Benutzen Sie UPDATE wird MySQL keine Spalten aktualisieren, bei denen der neue dem alten Wert entspricht. Das kann dazu führen, dass mysql_affected_rows() nicht die tatsächliche Anzahl der betroffenen Zeilen liefert, sondern nur die, die wörtlich durch die Anfrage betroffen sind.

REPLACE Anfragen löschen zunächst den Eintrag mit dem gleichen Primärschlüssel und fügen dann den neuen Eintrag ein. Diese Funktion gibt in diesem Fall die Summe aus gelöschten und eingefügten Einträgen zurück.

Im Falle von "INSERT ... ON DUPLICATE KEY UPDATE"-Queries ist der Rückgabewert 1, wenn eine Einfügung vorgenommen wurde oder 2, wenn eine bestehende Zeile aktualisiert wurde.

Beispiele

Beispiel #1 mysql_affected_rows() Beispiel

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Keine Verbindung möglich: ' . mysql_error());
}
mysql_select_db('mydb');

/* dies sollte die korrekte Anzahl gelöschter Datensätze zurückgeben */
mysql_query('DELETE FROM mytable WHERE id < 10');
printf("Gelöschte Datensätze: %d\n", mysql_affected_rows());

/* mit einer WHERE Bedingung, die niemals wahr ist, sollte 0 zurückgegeben
   werden */
mysql_query('DELETE FROM mytable WHERE 0');
printf("Gelöschte Datensätze: %d\n", mysql_affected_rows());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Gelöschte Datensätze: 10
Gelöschte Datensätze: 0

Beispiel #2 mysql_affected_rows() Beispiel mit Transaktionen

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('keine Verbindung möglich: ' . mysql_error());
}
mysql_select_db('mydb');

/* Update der Datensätze */
mysql_query("UPDATE mytable SET used=1 WHERE id < 10");
printf ("Updated records: %d\n", mysql_affected_rows());
mysql_query("COMMIT");
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Updated Records: 10

Anmerkungen

Hinweis: Transaktionen

Falls Sie Transaktionen verwenden, müssen Sie mysql_affected_rows() unmittelbar nach Ihrer INSERT, UPDATE, oder DELETE Anfrage aufrufen, nicht nach dem Commit.

Hinweis: SELECT Anweisungen

Um die Anzahl der gelieferten Datensätze einer SELECT-Anfrage zu erhalten benutzen Sie stattdessen die Funktion mysql_num_rows().

Hinweis: Kaskadierende Fremdschlüssel-Beziehungen

mysql_affected_rows() zählt keine Zeilen, die implizit durch die Nutzung von ON DELETE CASCADE und/oder ON UPDATE CASCADE in Fremmschlüssel-Bedingungen betroffen sind.

Siehe auch

  • mysql_num_rows() - Liefert die Anzahl der Zeilen im Ergebnis
  • mysql_info() - Liefert Informationen über die zuletzt ausgeführte Anfrage zurück

MySQL Funktionen
mysql_client_encoding
MySQL Funktionen


Liefert den Namen des Zeichensatzes

mysql_affected_rows
mysql_close
MySQL Funktionen
PHP Manual

mysql_client_encoding

(PHP 4 >= 4.3.0, PHP 5)

mysql_client_encoding — Liefert den Namen des Zeichensatzes

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_character_set_name()

Beschreibung

string mysql_client_encoding ([ resource $link_identifier = NULL ] )

Liefert die character_set Variable von MySQL.

Parameter-Liste

Verbindungs-Kennung

Die MySQL-Verbindung. Wird die Verbindungskennung nicht angegeben, wird die letzte durch mysql_connect() geöffnete Verbindung angenommen. Falls keine solche Verbindung gefunden wird, wird versucht, eine Verbindung aufzubauen, wie es beim Aufruf von mysql_connect() ohne Angabe von Argumenten der Fall wäre. Falls zufällig keine Verbindung gefunden oder aufgebaut werden kann, wird eine Warnung der Stufe E_WARNING erzeugt.

Rückgabewerte

Gibt den Standard Zeichensatz (character set) für die aktuelle Verbindung zurück.

Beispiele

Beispiel #1 mysql_client_encoding() Beispiel

<?php
$link    = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$charset = mysql_client_encoding($link);

echo "Der aktuelle Zeichensatz ist: $charset\n";
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Der aktuelle Zeichensatz ist: latin1

Siehe auch

  • mysql_set_charset() - Setzt den Verbindungszeichensatz
  • mysql_real_escape_string() - Maskiert spezielle Zeichen innerhalb eines Strings für die Verwendung in einer SQL-Anweisung

mysql_affected_rows
mysql_close
MySQL Funktionen


Schließt eine Verbindung zu MySQL

mysql_client_encoding
mysql_connect
MySQL Funktionen
PHP Manual

mysql_close

(PHP 4, PHP 5)

mysql_close — Schließt eine Verbindung zu MySQL

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_close()
  • PDO: Zuweisung des Wertes NULL zum PDO-Objekt

Beschreibung

bool mysql_close ([ resource $link_identifier = NULL ] )

mysql_close() schließt die nicht persistente Verbindung zum MySQL-Server, die mit der angegebenen Verbindungs-Kennung verknüpft ist. Wird link_identifier nicht angegeben, wird die zuletzt geöffnete Verbindung geschlossen.

Die Verwendung von mysql_close() ist für gewöhnlich nicht notwendig, weil offene, nicht persistente Verbindungen automatisch mit Beendigung des PHP-Skripts geschlossen werden. Siehe auch Freigabe von Resourcen.

Parameter-Liste

Verbindungs-Kennung

Die MySQL Verbindung. Wenn nicht angegeben, wird die letzte mit mysql_connect() geöffnete Verbindung verwendet. Wenn noch keine Verbindung hergestellt wurde wird ein E_WARNING Fehler geworfen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 mysql_close() example

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Keine Verbindung möglich: ' . mysql_error());
}
echo 'Erfolgreich verbunden';
mysql_close($link);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Erfolgreich verbunden

Anmerkungen

Hinweis:

mysql_close() schließt keine persistenten Verbindungen, die mit mysql_pconnect() geöffnet wurden.

Siehe auch

  • mysql_connect() - Öffnet eine Verbindung zu einem MySQL-Server
  • mysql_free_result() - Gibt belegten Speicher wieder frei

mysql_client_encoding
mysql_connect
MySQL Funktionen


Öffnet eine Verbindung zu einem MySQL-Server

mysql_close
mysql_create_db
MySQL Funktionen
PHP Manual

mysql_connect

(PHP 4, PHP 5)

mysql_connect — Öffnet eine Verbindung zu einem MySQL-Server

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_connect()
  • PDO::__construct()

Beschreibung

resource mysql_connect ([ string $server = ini_get("mysql.default_host") [, string $username = ini_get("mysql.default_user") [, string $password = ini_get("mysql.default_password") [, bool $new_link = false [, int $client_flags = 0 ]]]]] )

Öffnet eine neue Verbindung (oder nutzt bestehende) zu einem mySQL Server.

Parameter-Liste

server

Der MySQL Server. Er kann zudem eine Portnummer enthalten, z.B. "hostname:port" oder den Pfad zu einem lokalen Socket z.B. ":/pfad/zum/socket" für Zugriffe auf dem lokalen Rechner (localhost).

Wenn die PHP Direktive mysql.default_host nicht definiert ist (Standard), ist der Vorgabewert 'localhost:3306'. Bei SQL safe mode wird dieser Paramter ignoriert und der Wert 'localhost:3306' immer genutzt.

username

Der Nutzername. Der Standardwert ist durch mysql.default_user definiert. Bei SQL safe mode wird dieser Parameter ignoriert und der Name des Nutzers, dem der Prozess gehört, genutzt.

password

Dass Passwort. Der Standardwert ist durch mysql.default_password definiert. Bei SQL safe mode wird dieser Parameter ignoriert und ein leeres Passwort genutzt.

new_link

Für den Fall, dass ein zweiter Aufruf von mysql_connect() mit den gleichen Argumenten erfolgt, wird keine neue Verbindung aufgebaut, sondern die Verbindungs-Kennung der schon bestehenden Verbindung zurückgeliefert. Der Parameter new_link beeinflusst dieses Verhalten und mysql_connect() öffnet immer eine neue Verbindung, sogar dann, wenn mysql_connect() zu einem früheren Zeitpunkt mit den gleichen Parametern aufgerufen wurde. Bei SQL safe mode wird dieser Parametern ignoriert.

client_flags

Der Parameter client_flags kann eine Kombination der folgenden Konstanten sein: 128 (erlaube LOAD DATA LOCAL Nutzung), MYSQL_CLIENT_SSL, MYSQL_CLIENT_COMPRESS, MYSQL_CLIENT_IGNORE_SPACE oder MYSQL_CLIENT_INTERACTIVE. Lesen sie den Abschnitt über MySQL-Client Konstanten für weitergehende Informationen. Bei SQL safe mode wird dieser Parameter ignoriert.

Rückgabewerte

Gibt eine MySQL Verbindungs-Kennung im Erfolgsfall zurück oder Im Fehlerfall wird FALSE zurückgegeben..

Changelog

Version | Beschreibung
5.5.0 | Die Funktion erzeugt einen Fehler der Stufe E_DEPRECATED.

Beispiele

Beispiel #1 mysql_connect() Beispiel

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Verbindung schlug fehl: ' . mysql_error());
}
echo 'Erfolgreich verbunden';
mysql_close($link);
?>

Beispiel #2 mysql_connect() Beispiel unter Nutzung der hostname:port Syntax

<?php
// Verbing zu example.com auf Port 3307
$link = mysql_connect('example.com:3307', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Verbindung schlug fehl: ' . mysql_error());
}
echo 'Erfolgreich verbunden';
mysql_close($link);

// Verbindung zu localhost auf port 3307
$link = mysql_connect('127.0.0.1:3307', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Verbindung schlug fehl: ' . mysql_error());
}
echo 'Erfolgreich verbunden';
mysql_close($link);
?>

Beispiel #3 mysql_connect() Beispiel unter Nutzung der ":/path/to/socket" Syntax

<?php
// Verbing zu localhost und Socket z.B. /tmp/mysql.sock

// Variante 1: localhost weglassen
$link = mysql_connect(':/tmp/mysql', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Verbindung schlug fehl: ' . mysql_error());
}
echo 'Erfolgreich verbunden';
mysql_close($link);

// Variante 2: mit localhost
$link = mysql_connect('localhost:/tmp/mysql.sock', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Verbindung schlug fehl: ' . mysql_error());
}
echo 'Erfolgreich verbunden';
mysql_close($link);
?>

Anmerkungen

Hinweis:

Immer wenn sie "localhost" oder "localhost:port" als Server angeben, wird die MySQL Client Bibliothek dies überschreiben und versuchen, sich zu einem lokalen Socket (named pipe unter Windows) zu verbinden. Wenn sie TCP/IP nutzen möchten, nutzen sie "127.0.0.1" anstatt "localhost". Wenn die MySQL Client Bibliothek versucht, sich zu dem falschen lokalen Socket zu verbunden, sollten sie den korrekten Pfad als in ihrer PHP Konfiguration setzen und das Server Feld leer lassen.

Hinweis:

Die Verbindung zum Server wird, sobald die Ausführung des Skripts endet, geschlossen, außer sie wurde zuvor explizit durch den Aufruf von mysql_close() geschlossen.

Hinweis:

Sie können die Fehlermeldungen bei Fehlern durch Voranstellen von einem @ an den Funktions Namen unterdrücken.

Hinweis:

Error "Can't create TCP/IP socket (10106)" deutet meist darauf hin, dass die variables_order Konfigurations Anweisung nicht das E Zeichen enthält. Wird unter Windows die Umgebung nicht kopiert, ist die SYSTEMROOT Umgebungs Variable nicht verfügbar und PHP wird Schwierigkeiten haben, Winsock zu laden.

Siehe auch

  • mysql_pconnect() - Öffnet eine persistente Verbindung zum MySQL Server
  • mysql_close() - Schließt eine Verbindung zu MySQL

mysql_close
mysql_create_db
MySQL Funktionen


Anlegen einer MySQL-Datenbank

mysql_connect
mysql_data_seek
MySQL Funktionen
PHP Manual

mysql_create_db

(PHP 4, PHP 5)

mysql_create_db — Anlegen einer MySQL-Datenbank

Warnung

Diese Funktion wurde in PHP 4.3.0 als veraltet gekennzeichnet und wurde in PHP 7.0.0 zusammen mit der gesamten ursprünglichen MySQL-Erweiterung entfernt. Stattdessen sollten die aktiv entwickelten Erweiterungen MySQLi oder PDO_MySQL verwendet werden. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ-Eintrag.Alternativen zu dieser Funktion umfassen:

  • mysqli_query()
  • PDO::query()

Beschreibung

bool mysql_create_db ( string $database_name [, resource $link_identifier = NULL ] )

mysql_create_db() versucht eine neue Datenbank auf dem Server anzulegen, der mit der angegebenen Verbindungs-Kennung assoziiert wird.

Parameter-Liste

database_name

Der Name der zu erstellenden Datenbank.

Verbindungs-Kennung

Die MySQL-Verbindung. Wird die Verbindungskennung nicht angegeben, wird die letzte durch mysql_connect() geöffnete Verbindung angenommen. Falls keine solche Verbindung gefunden wird, wird versucht, eine Verbindung aufzubauen, wie es beim Aufruf von mysql_connect() ohne Angabe von Argumenten der Fall wäre. Falls zufällig keine Verbindung gefunden oder aufgebaut werden kann, wird eine Warnung der Stufe E_WARNING erzeugt.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 mysql_create_db() Alternativbeispiel

Die Funktion mysql_create_db() ist veraltet. Die Nutzung von mysql_query() um eine CREATE DATABASE SQL Anweisung auszuführen, ist stattdessen zu bevorzugen.

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Verbindung fehlgeschlagen: ' . mysql_error());
}

$sql = 'CREATE DATABASE my_db';
if (mysql_query($sql, $link)) {
    echo "Schema my_db erfolgreich erzeugt\n";
} else {
    echo 'Schemaerzeugung fehlgeschlagen:: ' . mysql_error() . "\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Schema my_db erfolgreich erzeugt

Anmerkungen

Hinweis:

Für die Abwärtskompatibiliät kann der folgende veraltete Alias verwendet werden: mysql_createdb()

Hinweis:

Diese Funktion steht nicht zur Verfügung, wenn das MySQL Modul gegen eine MySQL 4.x Client-Bibliothek gelinkt wurde.

Siehe auch

  • mysql_query() - Sendet eine Anfrage an MySQL
  • mysql_select_db() - Auswahl einer MySQL Datenbank

mysql_connect
mysql_data_seek
MySQL Funktionen


Bewegt den internen Ergebnis-Zeiger

mysql_create_db
mysql_db_name
MySQL Funktionen
PHP Manual

mysql_data_seek

(PHP 4, PHP 5)

mysql_data_seek — Bewegt den internen Ergebnis-Zeiger

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_data_seek()
  • PDO::FETCH_ORI_ABS

Beschreibung

bool mysql_data_seek ( resource $result , int $row_number )

mysql_data_seek() bewegt den internen Datensatz-Zeiger eines Anfrageergebnisses das mit der übergebenen Resultkennung assoziiert ist, zu dem Datensatz mit der übergebenen Zeilennummer. Der nächste Aufruf einer MySQL fetch Funktion, wie etwa mysql_fetch_row() liefert die entsprechende Zeile.

Die row_number Zeilennummer beginnt bei 0. Die row_number Zeilennummer sollte ein Wert im Bereich zwischen 0 und mysql_num_rows() - 1 sein. Falls die Ergebnismenge jedoch leer sein sollte (mysql_num_rows() == 0) wird eine Suche nach Zeilennummer 0 mit einem E_WARNING fehlschlagen und mysql_data_seek() gibt FALSE zurück.

Parameter-Liste

Ergebnis

Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von mysql_query().

row_number

Die gewünschte Zeilennummer des neuen Ergebnis-Zeigers.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 mysql_data_seek() Beispiel

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Keine Verbindung möglich: ' . mysql_error());
}
$db_selected = mysql_select_db('sample_db');
if (!$db_selected) {
    die('Konnte Schema nicht auswählen: ' . mysql_error());
}
$query = 'SELECT last_name, first_name FROM friends';
$result = mysql_query($query);
if (!$result) {
    die('Anfrage fehlgeschlagen: ' . mysql_error());
}
/* Hole Zeilen in umgekehrter Reihenfolge */
for ($i = mysql_num_rows($result) - 1; $i >= 0; $i--) {
    if (!mysql_data_seek($result, $i)) {
        echo "Kann nicht zu Zeile $i gehen (seek): " . mysql_error() . "\n";
        continue;
    }

    if (!($row = mysql_fetch_assoc($result))) {
        continue;
    }

    echo $row['last_name'] . ' ' . $row['first_name'] . "<br />\n";
}

mysql_free_result($result);
?>

Anmerkungen

Hinweis:

Die Funktion mysql_data_seek() kann nur zusammen mit mysql_query() benutzt werden und nicht mit mysql_unbuffered_query().

Siehe auch

  • mysql_query() - Sendet eine Anfrage an MySQL
  • mysql_num_rows() - Liefert die Anzahl der Zeilen im Ergebnis
  • mysql_fetch_row() - Liefert einen Datensatz als indiziertes Array
  • mysql_fetch_assoc() - Liefert einen Datensatz als assoziatives Array
  • mysql_fetch_array() - Liefert einen Datensatz als assoziatives Array, als numerisches Array oder beides
  • mysql_fetch_object() - Liefert eine Ergebniszeile als Objekt

mysql_create_db
mysql_db_name
MySQL Funktionen


Liefert Schema Namen vom Aufruf von mysql_list_dbs

mysql_data_seek
mysql_db_query
MySQL Funktionen
PHP Manual

mysql_db_name

(PHP 4, PHP 5)

mysql_db_name — Liefert Schema Namen vom Aufruf von mysql_list_dbs()

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • Query: SELECT DATABASE()

Beschreibung

string mysql_db_name ( resource $result , int $row [, mixed $field = NULL ] )

Liefert Schema Namen vom Aufruf von mysql_list_dbs().

Parameter-Liste

result

Der Ergebnis Zeiger von einem Aufruf von mysql_list_dbs().

row

Der Index in der Ergebnismenge.

field

Der Feldname (Spaltenname).

Rückgabewerte

Gibt bei Erfolg den Schema Namen zurück und FALSE bei Fehlern. Falls FALSE zurückgegeben wird, nutzen sie mysql_error() umd die Art des Fehlers zu bestimmen.

Changelog

Version | Beschreibung
5.5.0 | Die Funktion mysql_list_dbs() ist veraltet und gibt einen Fehler der Stufe E_DEPRECATED aus.

Beispiele

Beispiel #1 mysql_db_name() Beispiel

<?php
error_reporting(E_ALL);

$link = mysql_connect('dbhost', 'username', 'password');
$db_list = mysql_list_dbs($link);

$i = 0;
$cnt = mysql_num_rows($db_list);
while ($i < $cnt) {
    echo mysql_db_name($db_list, $i) . "\n";
    $i++;
}
?>

Anmerkungen

Hinweis:

Für die Abwärtskompatibiliät kann der folgende veraltete Alias verwendet werden: mysql_dbname()

Siehe auch

  • mysql_list_dbs() - Auflistung der verfügbaren Datenbanken (Schemata) auf einem MySQL Server
  • mysql_tablename() - Liefert den Namen einer Tabelle

mysql_data_seek
mysql_db_query
MySQL Funktionen


Selektiert ein Schema und führt in ihm Anfrage aus

mysql_db_name
mysql_drop_db
MySQL Funktionen
PHP Manual

mysql_db_query

(PHP 4, PHP 5)

mysql_db_query — Selektiert ein Schema und führt in ihm Anfrage aus

Warnung

Diese Funktion wurde in PHP 5.3.0 als veraltet gekennzeichnet und wurde in PHP 7.0.0 zusammen mit der gesamten ursprünglichen MySQL-Erweiterung entfernt. Stattdessen sollten die aktiv entwickelten Erweiterungen MySQLi oder PDO_MySQL verwendet werden. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ-Eintrag. Alternativen zu dieser Funktion umfassen:

  • mysqli_select_db() gefolgt vom Query
  • PDO::__construct()

Beschreibung

resource mysql_db_query ( string $database , string $query [, resource $link_identifier = NULL ] )

mysql_db_query() selektiert ein Schema und führt in ihm eine Anfrage aus.

Parameter-Liste

database

Der Name des zu selektierenden Schemas.

query

Die MySQL Abfrage.

Daten innerhalb der Abfrage sollten korrekt maskiert sein.

Verbindungs-Kennung

Die MySQL-Verbindung. Wird die Verbindungskennung nicht angegeben, wird die letzte durch mysql_connect() geöffnete Verbindung angenommen. Falls keine solche Verbindung gefunden wird, wird versucht, eine Verbindung aufzubauen, wie es beim Aufruf von mysql_connect() ohne Angabe von Argumenten der Fall wäre. Falls zufällig keine Verbindung gefunden oder aufgebaut werden kann, wird eine Warnung der Stufe E_WARNING erzeugt.

Rückgabewerte

Rückgabewert: Eine positive MySQL Ergebnis-Resource für das Anfrageergebnis, oder FALSE im Fehlerfall. Diese Funktion gibt für INSERT/UPDATE/DELETE Queries ebenfalls TRUE/FALSE zurück, um Erfolg/Misserfolg anzuzeigen.

Changelog

Version | Beschreibung
5.3.0 | Diese Funktion löst nun eine E_DEPRECATED Warnung aus.

Beispiele

Beispiel #1 mysql_db_query() Alternativbeispiel

<?php

if (!$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')) {
    echo 'Keine Verbindung zu mysql';
    exit;
}

if (!mysql_select_db('mysql_dbname', $link)) {
    echo 'Konnte Schema nicht selektieren';
    exit;
}

$sql    = 'SELECT foo FROM bar WHERE id = 42';
$result = mysql_query($sql, $link);

if (!$result) {
    echo "DB Fehler, konnte die Datenbank nicht abfragen\n";
    echo 'MySQL Error: ' . mysql_error();
    exit;
}

while ($row = mysql_fetch_assoc($result)) {
    echo $row['foo'];
}

mysql_free_result($result);

?>

Anmerkungen

Hinweis:

Beachten Sie, dass diese Funktion NICHT zu der Datenbank zurückwechselt, mit der Sie sich zuvor verbunden hatten. In anderen Worten ausgedrückt: Sie können diese Funktion nicht benutzen, um temporär eine SQL-Query auf einer anderen Datenbank auszuführen. Sie müssen selbst (manuell) sicherstellen, dass Sie wieder Ihre vorherige Datenbank benutzen. Sie sollten sich angewöhnen in Ihren SQL-Queries die Schreibweise schema.tabelle oder mysql_select_db() zu verwenden statt diese Funktion zu benutzen.

Siehe auch

  • mysql_query() - Sendet eine Anfrage an MySQL
  • mysql_select_db() - Auswahl einer MySQL Datenbank

mysql_db_name
mysql_drop_db
MySQL Funktionen


Löschen eines Schemas

mysql_db_query
mysql_errno
MySQL Funktionen
PHP Manual

mysql_drop_db

(PHP 4, PHP 5)

mysql_drop_db — Löschen eines Schemas

Warnung

Diese Funktion wurde in PHP 4.3.0 als veraltet gekennzeichnet und wurde in PHP 7.0.0 zusammen mit der gesamten ursprünglichen MySQL-Erweiterung entfernt. Stattdessen sollten die aktiv entwickelten Erweiterungen MySQLi oder PDO_MySQL verwendet werden. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ-Eintrag.Alternativen zu dieser Funktion umfassen:

  • Ein DROP DATABASE Query ausführen

Beschreibung

bool mysql_drop_db ( string $database_name [, resource $link_identifier = NULL ] )

mysql_drop_db() versucht eine komplette Datenbank vom Server, der mit der übergebenen link_identifier Verbings-Kennung assoziiert wird, zu löschen. Diese Funktion ist veraltet. Stattdessen sollte mit der Funktion mysql_query() der SQL-Befehl DROP DATABASE ausgeführt werden.

Parameter-Liste

database_name

Der Name des zu löschenden Schemas.

Verbindungs-Kennung

Die MySQL-Verbindung. Wird die Verbindungskennung nicht angegeben, wird die letzte durch mysql_connect() geöffnete Verbindung angenommen. Falls keine solche Verbindung gefunden wird, wird versucht, eine Verbindung aufzubauen, wie es beim Aufruf von mysql_connect() ohne Angabe von Argumenten der Fall wäre. Falls zufällig keine Verbindung gefunden oder aufgebaut werden kann, wird eine Warnung der Stufe E_WARNING erzeugt.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 mysql_drop_db() Alternativbeispiel

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Verbindung nicht möglich: ' . mysql_error());
}

$sql = 'DROP DATABASE my_db';
if (mysql_query($sql, $link)) {
    echo "Schema my_db wurde erfolgreich gelöscht\n";
} else {
    echo 'Fehler beim Löschen des Schemas: ' . mysql_error() . "\n";
}
?>

Anmerkungen

Warnung

Diese Funktion steht nicht zur Verfügung, wenn das MySQL Modul gegen eine MySQL 4.x Client-Bibliothek gelinkt wurde.

Hinweis:

Für die Abwärtskompatibiliät kann der folgende veraltete Alias verwendet werden: mysql_dropdb()

Siehe auch

  • mysql_query() - Sendet eine Anfrage an MySQL

mysql_db_query
mysql_errno
MySQL Funktionen


Liefert die Nummer einer Fehlermeldung einer zuvor ausgeführten MySQL Operation

mysql_drop_db
mysql_error
MySQL Funktionen
PHP Manual

mysql_errno

(PHP 4, PHP 5)

mysql_errno — Liefert die Nummer einer Fehlermeldung einer zuvor ausgeführten MySQL Operation

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_errno()
  • PDO::errorCode()

Beschreibung

int mysql_errno ([ resource $link_identifier = NULL ] )

Liefert die Fehlernummer der letzten MySQL Funktion.

Fehler, die vom MySQL Server kommen, führen nicht mehr zu einer Ausgabe von Warnungen. Stattdessen sollten Sie die Funktion mysql_errno() verwenden, um die Fehlernummer zu erhalten. Beachten Sie, dass diese Funktion nur die Fehlernummer der zuletzt ausgeführten MySQL Funktion liefert (ausgeschlossen sind die Funktionen mysql_error() und mysql_errno()). Wenn Sie diese Funktion verwenden wollen, sollten Sie den Wert überprüfen, bevor Sie eine weitere MySQL Funktion aufrufen.

Parameter-Liste

Verbindungs-Kennung

Die MySQL-Verbindung. Wird die Verbindungskennung nicht angegeben, wird die letzte durch mysql_connect() geöffnete Verbindung angenommen. Falls keine solche Verbindung gefunden wird, wird versucht, eine Verbindung aufzubauen, wie es beim Aufruf von mysql_connect() ohne Angabe von Argumenten der Fall wäre. Falls zufällig keine Verbindung gefunden oder aufgebaut werden kann, wird eine Warnung der Stufe E_WARNING erzeugt.

Rückgabewerte

Liefert die Fehlernummer der letzten MySQL Funktion oder 0 (Null) wenn kein fehler auftrat.

Beispiele

Beispiel #1 mysql_errno() example

<?php
$link = mysql_connect("localhost", "mysql_user", "mysql_password");

if (!mysql_select_db("nicht_vorhandenes_schema", $link)) {
    echo mysql_errno($link) . ": " . mysql_error($link). "\n";
}

mysql_select_db("kossu", $link);
if (!mysql_query("SELECT * FROM nicht_vorhandene_tabelle", $link)) {
    echo mysql_errno($link) . ": " . mysql_error($link) . "\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

1049: Unknown database 'nonexistentdb'
1146: Table 'kossu.nonexistenttable' doesn't exist

Siehe auch

  • mysql_error() - Liefert den Fehlertext der zuvor ausgeführten MySQL Operation
  • » MySQL error codes

mysql_drop_db
mysql_error
MySQL Funktionen


Liefert den Fehlertext der zuvor ausgeführten MySQL Operation

mysql_errno
mysql_escape_string
MySQL Funktionen
PHP Manual

mysql_error

(PHP 4, PHP 5)

mysql_error — Liefert den Fehlertext der zuvor ausgeführten MySQL Operation

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_error()
  • PDO::errorInfo()

Beschreibung

string mysql_error ([ resource $link_identifier = NULL ] )

Rückgabewert: Liefert den Fehlertext der letzten MySQL Funktion. Fehler, die vom MySQL Server kommen, führen nicht mehr zu einer Ausgabe von Warnungen. Stattdessen sollten Sie die Funktion mysql_error() verwenden, um den Fehlertext zu erhalten. Beachten Sie, dass diese Funktion nur den Fehlertext der zuletzt ausgeführten MySQL Funktion liefert (ausgeschlossen sind die Funktionen mysql_error() und mysql_errno()). Wenn Sie diese Funktion verwenden wollen, sollten Sie den Wert überprüfen, bevor Sie eine weitere MySQL Funktion aufrufen.

Parameter-Liste

Verbindungs-Kennung

Die MySQL-Verbindung. Wird die Verbindungskennung nicht angegeben, wird die letzte durch mysql_connect() geöffnete Verbindung angenommen. Falls keine solche Verbindung gefunden wird, wird versucht, eine Verbindung aufzubauen, wie es beim Aufruf von mysql_connect() ohne Angabe von Argumenten der Fall wäre. Falls zufällig keine Verbindung gefunden oder aufgebaut werden kann, wird eine Warnung der Stufe E_WARNING erzeugt.

Rückgabewerte

Gibt den Fehlertext der letzten MySQL Funktion zurück oder '' (eine leere Zeichenkette), falls kein Fehler aufgetreten ist.

Beispiele

Beispiel #1 mysql_error() Beispiel

<?php
$link = mysql_connect("localhost", "mysql_user", "mysql_password");

mysql_select_db("nicht_existierendes_schema", $link);
echo mysql_errno($link) . ": " . mysql_error($link). "\n";

mysql_select_db("kossu", $link);
mysql_query("SELECT * FROM nicht_existierende_tabelle", $link);
echo mysql_errno($link) . ": " . mysql_error($link) . "\n";
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

1049: Unknown database 'nonexistentdb'
1146: Table 'kossu.nonexistenttable' doesn't exist

Siehe auch

  • mysql_errno() - Liefert die Nummer einer Fehlermeldung einer zuvor ausgeführten MySQL Operation
  • » MySQL error codes

mysql_errno
mysql_escape_string
MySQL Funktionen


Maskiert einen String zur Benutzung in einer MySQL Abfrage

mysql_error
mysql_fetch_array
MySQL Funktionen
PHP Manual

mysql_escape_string

(PHP 4 >= 4.0.3, PHP 5)

mysql_escape_string — Maskiert einen String zur Benutzung in einer MySQL Abfrage

Warnung

Diese Funktion wurde in PHP 4.3.0 als veraltet gekennzeichnet und wurde in PHP 7.0.0 zusammen mit der gesamten ursprünglichen MySQL-Erweiterung entfernt. Stattdessen sollten die aktiv entwickelten Erweiterungen MySQLi oder PDO_MySQL verwendet werden. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ-Eintrag.Alternativen zu dieser Funktion umfassen:

  • mysqli_escape_string()
  • PDO::quote()

Beschreibung

string mysql_escape_string ( string $unescaped_string )

Diese Funktion maskiert unescaped_string zur sicheren Benutzung in mysql_query().

Diese Funktion ist identisch zur Funktion mysql_real_escape_string() ausgenommen, dass mysql_real_escape_string() eine Verbindungs-Kennung benötigt und den String entsprechend zum aktuellen Zeichensatz maskiert. Der Funktion mysql_escape_string() kann keine Verbindungs-Kennung übergeben werden und der aktuelle Zeichensatz wird nicht berücksichtigt.

Parameter-Liste

unescaped_string

Die zu maskierende Zeichenkette.

Rückgabewerte

Gibt die maskierte Zeichenkette zurück.

Changelog

Version | Beschreibung
5.3.0 | Diese Funktion löst nun eine E_DEPRECATED Notiz aus.
4.3.0 | Diese Funktion gilt als veraltet, nutzen sie diese nicht. Nutzen sie stattdessen mysql_real_escape_string().

Beispiele

Beispiel #1 mysql_escape_string() Beispiel

<?php
$item = "Zak's Laptop";
$escaped_item = mysql_escape_string($item);
printf ("Escaped string: %s\n", $escaped_item);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Escaped string: Zak\'s Laptop

Anmerkungen

Hinweis:

mysql_escape_string() maskiert nicht % und _.

Siehe auch

  • mysql_real_escape_string() - Maskiert spezielle Zeichen innerhalb eines Strings für die Verwendung in einer SQL-Anweisung
  • addslashes() - Stellt bestimmten Zeichen eines Strings ein "\" voran
  • The magic_quotes_gpc directive.

mysql_error
mysql_fetch_array
MySQL Funktionen


Liefert einen Datensatz als assoziatives Array, als numerisches Array oder beides

mysql_escape_string
mysql_fetch_assoc
MySQL Funktionen
PHP Manual

mysql_fetch_array

(PHP 4, PHP 5)

mysql_fetch_array — Liefert einen Datensatz als assoziatives Array, als numerisches Array oder beides

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_fetch_array()
  • PDOStatement::fetch()

Beschreibung

array mysql_fetch_array ( resource $result [, int $result_type = MYSQL_BOTH ] )

Gibt ein Array zurück das der gelesenen Zeile entspricht und bewegt den internen Datenzeiger um einen Schritt vorwärts.

Parameter-Liste

Ergebnis

Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von mysql_query().

result_type

Der Typ des Arrays, das gelesen werden soll. Er ist eine Konstante, die folgende Werte haben kann: MYSQL_ASSOC, MYSQL_NUM und MYSQL_BOTH.

Rückgabewerte

Gibt ein Array von Zeichenketten zurück, das der gelesenen Zeile entspricht oder FALSE falls keine weiteren Zeilen vorhanden sind. Der Typ des zurückgegebenen Arrays hängt davon ab, wie result_type definiert ist. Nutzen sie MYSQL_BOTH (Standard), erhalten sie ein Array mit sowohl assoziativen als auch numerischen Indice. Nutzen sie MYSQL_ASSOC erhalten sie nur assoziative Indice (wie mysql_fetch_assoc() arbeitet), mit MYSQL_NUM erhalten sie nur numerische Indice (wie mysql_fetch_row() arbeitet).

Falls zwei oder mehrere Spalten des Ergebnisses den gleichen Feldnamen haben, dann wird nur der Wert der letzten Spalte im Array unter diesem Feldnamen abgelegt. Um auch auf die anderen gleichnamigen Spalten zugreifen zu können, müssen Sie den numerischen Index der Spalte verwenden oder einen Alias für die Spalte vergeben. Falls Sie Aliase für Spalten verwenden, können Sie auf die Inhalte dieser Spalten nicht über ihren ursprünglichen Namen zugreifen.

Beispiele

Beispiel #1 Abfrage mit alias für identische Feldnamen

SELECT table1.field AS foo, table2.field AS bar FROM table1, table2

Beispiel #2 mysql_fetch_array() mit MYSQL_NUM

<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
    die("Keine Verbindung möglich: " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    printf("ID: %s  Name: %s", $row[0], $row[1]);
}

mysql_free_result($result);
?>

Beispiel #3 mysql_fetch_array() mit MYSQL_ASSOC

<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
    die("Keine Verbindung möglich: " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    printf("ID: %s  Name: %s", $row["id"], $row["name"]);
}

mysql_free_result($result);
?>

Beispiel #4 mysql_fetch_array() mit MYSQL_BOTH

<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
    die("Keine Verbindung möglich: " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
    printf ("ID: %s  Name: %s", $row[0], $row["name"]);
}

mysql_free_result($result);
?>

Anmerkungen

Hinweis: Performance

Zu betonen ist, dass der Gebrauch von mysql_fetch_array() nicht signifikant langsamer ist als mysql_fetch_row(), obwohl die Funktion einen sichtlichen Mehrwert bietet.

Hinweis: Feldnamen, die von dieser Funktion zurückgegeben werden, unterscheiden sich in der Groß-/Kleinschreibung.

Hinweis: Diese Funktion setzt NULL-Felder auf den PHP Wert-NULL.

Siehe auch

  • mysql_fetch_row() - Liefert einen Datensatz als indiziertes Array
  • mysql_fetch_assoc() - Liefert einen Datensatz als assoziatives Array
  • mysql_data_seek() - Bewegt den internen Ergebnis-Zeiger
  • mysql_query() - Sendet eine Anfrage an MySQL

mysql_escape_string
mysql_fetch_assoc
MySQL Funktionen


Liefert einen Datensatz als assoziatives Array

mysql_fetch_array
mysql_fetch_field
MySQL Funktionen
PHP Manual

mysql_fetch_assoc

(PHP 4 >= 4.0.3, PHP 5)

mysql_fetch_assoc — Liefert einen Datensatz als assoziatives Array

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_fetch_assoc()
  • PDOStatement::fetch(PDO::FETCH_ASSOC)

Beschreibung

array mysql_fetch_assoc ( resource $result )

Liefert ein assoziatives Array, das der geholten Zeile entspricht und bewegt den internen Datensatzzeiger vorwärts. mysql_fetch_assoc() entspricht in der Funktionsweise exakt dem Aufruf von mysql_fetch_array() mit Angabe von MYSQL_ASSOC als optionalen zweiten Parameter. Diese Funktion liefert Ihnen nur ein assoziatives Array.

Parameter-Liste

Ergebnis

Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von mysql_query().

Rückgabewerte

Gibt ein Array von Zeichenketten zurück, das der gelesenen Zeile entspricht oder FALSE falls keine weiteren Zeilen vorhanden sind.

Falls zwei oder mehrere Felder des Ergebnisses den gleichen Feldnamen haben, dann wird nur der Wert des letzten Felds im Array unter diesem Feldnamen abgelegt. Um auch auf die anderen, gleichnamigen, Felder zugreifen zu können, müssen Sie entweder numerische Indizes und damit mysql_fetch_row() benutzen, oder Aliase für Ihre Felder anlegen. Zur Verwendung von Aliasen schauen Sie sich das Beispiel unter der Beschreibung von mysql_fetch_array() an.

Beispiele

Beispiel #1 Ein ausführliches mysql_fetch_assoc() Beispiel

<?php

$conn = mysql_connect("localhost", "mysql_user", "mysql_password");

if (!$conn) {
    echo "Keine Verbindung zu DB möglich: " . mysql_error();
    exit;
}

if (!mysql_select_db("mydbname")) {
    echo "Konnte mydbname nicht selektieren: " . mysql_error();
    exit;
}

$sql = "SELECT id as userid, fullname, userstatus
        FROM   sometable
        WHERE  userstatus = 1";

$result = mysql_query($sql);

if (!$result) {
    echo "Konnte Abfrage ($sql) nicht erfolgreich ausführen von DB: " . mysql_error();
    exit;
}

if (mysql_num_rows($result) == 0) {
    echo "Keine Zeilen gefunden, nichts auszugeben, also Ende";
    exit;
}

// Solange eine Zeile mit Daten vorhanden ist, schreibe dies Zeile in $row als
// assoziatives Array
// Hinweis: Wenn sie nur eine Ergebniszeile erwarten, benötigen sie keine Schleife
// Hinweis: Wenn sie extract($row) innerhalb dieser Schleife schreiben,
//          erzeugen sie $userid, $fullname und $userstatus
while ($row = mysql_fetch_assoc($result)) {
    echo $row["userid"];
    echo $row["fullname"];
    echo $row["userstatus"];
}

mysql_free_result($result);

?>

Anmerkungen

Hinweis: Performance

Zu betonen ist, dass der Gebrauch von mysql_fetch_array() nicht signifikant langsamer ist als mysql_fetch_row(), obwohl die Funktion einen sichtlichen Mehrwert bietet.

Hinweis: Feldnamen, die von dieser Funktion zurückgegeben werden, unterscheiden sich in der Groß-/Kleinschreibung.

Hinweis: Diese Funktion setzt NULL-Felder auf den PHP Wert-NULL.

Siehe auch

  • mysql_fetch_row() - Liefert einen Datensatz als indiziertes Array
  • mysql_fetch_array() - Liefert einen Datensatz als assoziatives Array, als numerisches Array oder beides
  • mysql_data_seek() - Bewegt den internen Ergebnis-Zeiger
  • mysql_query() - Sendet eine Anfrage an MySQL
  • mysql_error() - Liefert den Fehlertext der zuvor ausgeführten MySQL Operation

mysql_fetch_array
mysql_fetch_field
MySQL Funktionen


Liefert ein Objekt mit Feldinformationen aus einem Anfrageergebnis

mysql_fetch_assoc
mysql_fetch_lengths
MySQL Funktionen
PHP Manual

mysql_fetch_field

(PHP 4, PHP 5)

mysql_fetch_field — Liefert ein Objekt mit Feldinformationen aus einem Anfrageergebnis

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_fetch_field()
  • PDOStatement::getColumnMeta()

Beschreibung

object mysql_fetch_field ( resource $result [, int $field_offset = 0 ] )

Gibt ein Objekt zurück das Feldinformationen enthält. Diese Funktion kann benutzt werden um Informationen über Felder im übergebenen Abfrageergebnis zu erhalten.

Parameter-Liste

Ergebnis

Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von mysql_query().

field_offset

Der numerische Feldoffset. Wird dieser nicht angegeben so werden die Informationen über das nächste bisher noch nicht von dieser Der Feldoffset startet bei 0.

Rückgabewerte

Liefert ein object mit Feldinformationen. Die Eigenschaften des Objekts sind:

  • name - Feldname
  • table - Name der Tabelle zu der das Feld gehört, wobei dies der Aliasname ist falls einer definiert wurde
  • max_length - maximale Länge des Feldes
  • not_null - 1, wenn das Feld nicht NULL sein kann
  • primary_key - 1, wenn das Feld ein primary key ist
  • unique_key - 1, wenn das Feld ein unique key ist
  • multiple_key - 1, wenn das Feld ein non-unique key ist
  • numeric - 1, wenn das Feld vom Typ 'numeric' ist
  • blob - 1, wenn das Feld vom Typ 'BLOB' ist
  • type - der Typ des Feldes
  • unsigned - 1, wenn das Feld vorzeichenlos ist
  • zerofill - 1, wenn das Feld zero-filled ist

Beispiele

Beispiel #1 mysql_fetch_field() Beispiel

<?php
$conn = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$conn) {
    die('Keine Verbindung möglich: ' . mysql_error());
}
mysql_select_db('database');
$result = mysql_query('select * from table');
if (!$result) {
    die('Anfrage fehlgeschlagen: ' . mysql_error());
}
/* Metadaten der Felder */
$i = 0;
while ($i < mysql_num_fields($result)) {
    echo "Information für Feld $i:<br />\n";
    $meta = mysql_fetch_field($result, $i);
    if (!$meta) {
        echo "Keine Information vorhanden<br />\n";
    }
    echo "<pre>
blob:         $meta->blob
max_length:   $meta->max_length
multiple_key: $meta->multiple_key
name:         $meta->name
not_null:     $meta->not_null
numeric:      $meta->numeric
primary_key:  $meta->primary_key
table:        $meta->table
type:         $meta->type
unique_key:   $meta->unique_key
unsigned:     $meta->unsigned
zerofill:     $meta->zerofill
</pre>";
    $i++;
}
mysql_free_result($result);
?>

Anmerkungen

Hinweis: Feldnamen, die von dieser Funktion zurückgegeben werden, unterscheiden sich in der Groß-/Kleinschreibung.

Hinweis:

Falls das Feld oder der Tabellennamen im SQL Query mit einem Alias versehen wurden, so wird dieser zurückgegeben. Der ursprüngliche Name kann durch die Verwendung von mysqli_result::fetch_field() in Erfahrung gebracht werden.

Siehe auch

  • mysql_field_seek() - Setzt den Ergebniszeiger auf ein bestimmtes Feldoffset

mysql_fetch_assoc
mysql_fetch_lengths
MySQL Funktionen


Liefert die Länge eines jeden Feldes in einem Ergebnis

mysql_fetch_field
mysql_fetch_object
MySQL Funktionen
PHP Manual

mysql_fetch_lengths

(PHP 4, PHP 5)

mysql_fetch_lengths — Liefert die Länge eines jeden Feldes in einem Ergebnis

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_fetch_lengths()
  • PDOStatement::getColumnMeta()

Beschreibung

array mysql_fetch_lengths ( resource $result )

Liefert ein Array, das die Länge eines jeden Feldes in dem zuletzt von MySQL geholten Datensatz enthält.

mysql_fetch_lengths() speichert die Länge jeder Ergebnisspalte in der letzten Ergebniszeile, erhalten von mysql_fetch_row(), mysql_fetch_assoc(), mysql_fetch_array() und mysql_fetch_object() in einem Array, dessen Offset bei 0 beginnt.

Parameter-Liste

Ergebnis

Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von mysql_query().

Rückgabewerte

Bei Erfolg ein array mit Längenwerten Im Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 Ein mysql_fetch_lengths() Beispiel

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
    echo 'Konnte Abfrage nicht ausführen: ' . mysql_error();
    exit;
}
$row     = mysql_fetch_assoc($result);
$lengths = mysql_fetch_lengths($result);

print_r($row);
print_r($lengths);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [id] => 42
    [email] => user@example.com
)
Array
(
    [0] => 2
    [1] => 16
)

Siehe auch

  • mysql_field_len() - Liefert die Länge des angegebenen Feldes
  • mysql_fetch_row() - Liefert einen Datensatz als indiziertes Array
  • strlen() - Ermitteln der String-Länge

mysql_fetch_field
mysql_fetch_object
MySQL Funktionen


Liefert eine Ergebniszeile als Objekt

mysql_fetch_lengths
mysql_fetch_row
MySQL Funktionen
PHP Manual

mysql_fetch_object

(PHP 4, PHP 5)

mysql_fetch_object — Liefert eine Ergebniszeile als Objekt

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_fetch_object()
  • PDOStatement::fetch(PDO::FETCH_OBJ)

Beschreibung

object mysql_fetch_object ( resource $result [, string $class_name [, array $params ]] )

Gibt ein Objekt mit Eigenschaften zurück, die mit der angeforderten Zeile korrespondieren, und bewegt den internen Datenzeiger vorwärts.

Parameter-Liste

Ergebnis

Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von mysql_query().

class_name

Der Name der Klasse, die instanziiert, mit Eigenschaften versehen und zurückgegeben werden soll. Wenn nicht angegeben, wird ein stdClass-Objekt zurückgegeben.

params

Ein optionales Array von Parametern, die dem Konstruktor von class_name-Objekten übergeben werden sollen.

Rückgabewerte

Gibt ein Objekt mit String-Eigenschaften zurück, die mit der angeforderten Zeile korrespondieren, oder FALSE wenn es keine weiteren Zeilen mehr gibt.

Beispiele

Beispiel #1 mysql_fetch_object()-Beispiel

<?php
mysql_connect("hostname", "nutzer", "passwort");
mysql_select_db("meinedatenbank");
$result = mysql_query("select * from meinetabelle");
while ($row = mysql_fetch_object($result)) {
    echo $row->user_id;
    echo $row->vollername;
}
mysql_free_result($result);
?>

Beispiel #2 mysql_fetch_object()-Beispiel

<?php
class foo {
    public $name;
}

mysql_connect("hostname", "nutzer", "passwort");
mysql_select_db("meinedatenbank");

$result = mysql_query("select name from meinetabelle limit 1");
$obj = mysql_fetch_object($result, 'foo');
var_dump($obj);
?>

Anmerkungen

Hinweis: Performanz

Unter Berücksichtigung der Ausführungsgeschwindigkeit ist diese Funktion identisch zu mysql_fetch_array() und fast so schnell wie mysql_fetch_row() (der Unterschied ist unwesentlich).

Hinweis:

mysql_fetch_object() ist ähnlich wie mysql_fetch_array(), aber mit dem Unterschied, dass ein Objekt statt eines Arrays zurückgegeben wird. Indirekt bedeutet das, dass Sie auf die Daten nur über die Feldnamen zugreifen können und nicht über die Offsets (da Zahlen keine erlaubten Namen für Eigenschaften sind).

Hinweis: Feldnamen, die von dieser Funktion zurückgegeben werden, unterscheiden sich in der Groß-/Kleinschreibung.

Hinweis: Diese Funktion setzt NULL-Felder auf den PHP Wert-NULL.

Siehe auch

  • mysql_fetch_array() - Liefert einen Datensatz als assoziatives Array, als numerisches Array oder beides
  • mysql_fetch_assoc() - Liefert einen Datensatz als assoziatives Array
  • mysql_fetch_row() - Liefert einen Datensatz als indiziertes Array
  • mysql_data_seek() - Bewegt den internen Ergebnis-Zeiger
  • mysql_query() - Sendet eine Anfrage an MySQL

mysql_fetch_lengths
mysql_fetch_row
MySQL Funktionen


Liefert einen Datensatz als indiziertes Array

mysql_fetch_object
mysql_field_flags
MySQL Funktionen
PHP Manual

mysql_fetch_row

(PHP 4, PHP 5)

mysql_fetch_row — Liefert einen Datensatz als indiziertes Array

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_fetch_row()
  • PDOStatement::fetch(PDO::FETCH_NUM)

Beschreibung

array mysql_fetch_row ( resource $result )

Liefert ein numerisch indizertes Array, das der geholten Zeile entspricht und bewegt den internen Datensatzzeiger vorwärts.

Parameter-Liste

Ergebnis

Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von mysql_query().

Rückgabewerte

Gibt ein numerisches Array von Zeichenketten zurück, das der gelesenen Zeile entspricht oder FALSE falls keine weiteren Zeilen vorhanden sind.

mysql_fetch_row() liefert einen Datensatz aus dem Anfrageergebnis mit der übergebenen Kennung. Der Datensatz wird als Array geliefert. Jedes Feld wird in einem Array-Offset abgelegt, der Offset beginnt bei 0.

Beispiele

Beispiel #1 Eine Zeile mit mysql_fetch_row() holen

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
    echo 'Konnte Abfrage nicht ausführen: ' . mysql_error();
    exit;
}
$row = mysql_fetch_row($result);

echo $row[0]; // 42
echo $row[1]; // der email Wert
?>

Anmerkungen

Hinweis: Diese Funktion setzt NULL-Felder auf den PHP Wert-NULL.

Siehe auch

  • mysql_fetch_array() - Liefert einen Datensatz als assoziatives Array, als numerisches Array oder beides
  • mysql_fetch_assoc() - Liefert einen Datensatz als assoziatives Array
  • mysql_fetch_object() - Liefert eine Ergebniszeile als Objekt
  • mysql_data_seek() - Bewegt den internen Ergebnis-Zeiger
  • mysql_fetch_lengths() - Liefert die Länge eines jeden Feldes in einem Ergebnis
  • mysql_result() - Liefert Ergebnis

mysql_fetch_object
mysql_field_flags
MySQL Funktionen


Liefert die Flags des spezifizierten Feldes in einem Anfrageergebnis

mysql_fetch_row
mysql_field_len
MySQL Funktionen
PHP Manual

mysql_field_flags

(PHP 4, PHP 5)

mysql_field_flags — Liefert die Flags des spezifizierten Feldes in einem Anfrageergebnis

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_fetch_field_direct() [flags]
  • PDOStatement::getColumnMeta() [flags]

Beschreibung

string mysql_field_flags ( resource $result , int $field_offset )

mysql_field_flags() liefert die Flags des Feldes mit dem übergebenen Offset. Die Flags werden als einzelne Worte pro Flag und durch ein einziges Leerzeichen getrennt geliefert, so dass sie leicht mit explode() getrennt werden können.

Parameter-Liste

Ergebnis

Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von mysql_query().

Feldoffset

Der numerische Offset des Feldes. Der Feldoffset beginnt bei 0. Falls Feldoffset nicht existiert, wird eine Warnung der Stufe E_WARNING erzeugt.

Rückgabewerte

Gibt eine Zeichenkette aus Flags, die mit dem ERgebnis assoziiert sind, zurück Im Fehlerfall wird FALSE zurückgegeben..

Die folgenden Flags werden geliefert, wenn Ihre Version von MySQL aktuell genug ist, diese zu unterstützen: "not_null", "primary_key", "unique_key", "multiple_key", "blob", "unsigned", "zerofill", "binary", "enum", "auto_increment" und "timestamp".

Beispiele

Beispiel #1 Ein mysql_field_flags() Beispiel

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
    echo 'Konnte Abfrage nicht ausführen: ' . mysql_error();
    exit;
}
$flags = mysql_field_flags($result, 0);

echo $flags;
print_r(explode(' ', $flags));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

not_null primary_key auto_increment
Array
(
    [0] => not_null
    [1] => primary_key
    [2] => auto_increment
)

Anmerkungen

Hinweis:

Für die Abwärtskompatibiliät kann der folgende veraltete Alias verwendet werden: mysql_fieldflags()

Siehe auch

  • mysql_field_type() - Liefert den Typ des spezifizierten Feldes in einem Ergebnis
  • mysql_field_len() - Liefert die Länge des angegebenen Feldes

mysql_fetch_row
mysql_field_len
MySQL Funktionen


Liefert die Länge des angegebenen Feldes

mysql_field_flags
mysql_field_name
MySQL Funktionen
PHP Manual

mysql_field_len

(PHP 4, PHP 5)

mysql_field_len — Liefert die Länge des angegebenen Feldes

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_fetch_field_direct() [length]
  • PDOStatement::getColumnMeta() [len]

Beschreibung

int mysql_field_len ( resource $result , int $field_offset )

mysql_field_len() liefert die Länge des angegebenen Feldes.

Parameter-Liste

Ergebnis

Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von mysql_query().

Feldoffset

Der numerische Offset des Feldes. Der Feldoffset beginnt bei 0. Falls Feldoffset nicht existiert, wird eine Warnung der Stufe E_WARNING erzeugt.

Rückgabewerte

Die Länge des Feldes, das dem übergebenen Index entspricht Im Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 mysql_field_len() Beispiel

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
    echo 'Konnte Abfrage nicht ausführen: ' . mysql_error();
    exit;
}

// Gibt die Länge der id Spalte zurück, wie in dem Datenbank Schema definiert
$length = mysql_field_len($result, 0);
echo $length;
?>

Anmerkungen

Hinweis:

Für die Abwärtskompatibiliät kann der folgende veraltete Alias verwendet werden: mysql_fieldlen()

Siehe auch

  • mysql_fetch_lengths() - Liefert die Länge eines jeden Feldes in einem Ergebnis
  • strlen() - Ermitteln der String-Länge

mysql_field_flags
mysql_field_name
MySQL Funktionen


Liefert den Namen eines Feldes in einem Ergebnis

mysql_field_len
mysql_field_seek
MySQL Funktionen
PHP Manual

mysql_field_name

(PHP 4, PHP 5)

mysql_field_name — Liefert den Namen eines Feldes in einem Ergebnis

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_fetch_field_direct() [name] oder [orgname]
  • PDOStatement::getColumnMeta() [name]

Beschreibung

string mysql_field_name ( resource $result , int $field_offset )

mysql_field_name() liefert den Namen des Feldes, der dem angegeben Feldindex entspricht.

Parameter-Liste

Ergebnis

Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von mysql_query().

Feldoffset

Der numerische Offset des Feldes. Der Feldoffset beginnt bei 0. Falls Feldoffset nicht existiert, wird eine Warnung der Stufe E_WARNING erzeugt.

Rückgabewerte

Der Name des Feldes, das dem übergebenen Index entspricht Im Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 mysql_field_name() Beispiel

<?php
/* Die Nutzer Tabelle besteht aus 3 Feldern
 *   user_id
 *   username
 *   password.
 */
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Keine Verbindung zu MySQL Server: ' . mysql_error());
}
$dbname = 'mydb';
$db_selected = mysql_select_db($dbname, $link);
if (!$db_selected) {
    die("Konnte $dbname nicht selektieren: " . mysql_error());
}
$res = mysql_query('select * from users', $link);

echo mysql_field_name($res, 0) . "\n";
echo mysql_field_name($res, 2);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

user_id
password

Anmerkungen

Hinweis: Feldnamen, die von dieser Funktion zurückgegeben werden, unterscheiden sich in der Groß-/Kleinschreibung.

Hinweis:

Für die Abwärtskompatibiliät kann der folgende veraltete Alias verwendet werden: mysql_fieldname()

Siehe auch

  • mysql_field_type() - Liefert den Typ des spezifizierten Feldes in einem Ergebnis
  • mysql_field_len() - Liefert die Länge des angegebenen Feldes

mysql_field_len
mysql_field_seek
MySQL Funktionen


Setzt den Ergebniszeiger auf ein bestimmtes Feldoffset

mysql_field_name
mysql_field_table
MySQL Funktionen
PHP Manual

mysql_field_seek

(PHP 4, PHP 5)

mysql_field_seek — Setzt den Ergebniszeiger auf ein bestimmtes Feldoffset

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_field_seek()
  • PDOStatement::fetch() unter Verwendung der Parameter cursor_orientation und offset

Beschreibung

bool mysql_field_seek ( resource $result , int $field_offset )

Setzt den Feldzeiger auf den angegeben Feldoffset. Wird beim nächsten Aufruf von mysql_fetch_field() kein Feldoffset übergeben, wird der Feldoffset zurückgeliefert, der bei mysql_field_seek() angegeben wurde.

Parameter-Liste

Ergebnis

Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von mysql_query().

Feldoffset

Der numerische Offset des Feldes. Der Feldoffset beginnt bei 0. Falls Feldoffset nicht existiert, wird eine Warnung der Stufe E_WARNING erzeugt.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • mysql_fetch_field() - Liefert ein Objekt mit Feldinformationen aus einem Anfrageergebnis

mysql_field_name
mysql_field_table
MySQL Funktionen


Liefert den Namen der Tabelle, die das genannte Feld enthält

mysql_field_seek
mysql_field_type
MySQL Funktionen
PHP Manual

mysql_field_table

(PHP 4, PHP 5)

mysql_field_table — Liefert den Namen der Tabelle, die das genannte Feld enthält

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_fetch_field_direct() [table] oder [orgtable]
  • PDOStatement::getColumnMeta() [table]

Beschreibung

string mysql_field_table ( resource $result , int $field_offset )

Liefert den Namen der Tabelle, die das genannte Feld enthält.

Parameter-Liste

Ergebnis

Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von mysql_query().

Feldoffset

Der numerische Offset des Feldes. Der Feldoffset beginnt bei 0. Falls Feldoffset nicht existiert, wird eine Warnung der Stufe E_WARNING erzeugt.

Rückgabewerte

Der Name der Tabelle bei Erfolg.

Beispiele

Beispiel #1 Ein mysql_field_table() Beispiel

<?php

$query = "SELECT account.*, country.* FROM account, country WHERE country.name = 'Portugal' AND account.country_id = country.id";

// Erhalte Resultat von der DB
$result = mysql_query($query);

// Listet den Tabellennamen und danach den Spaltennamen auf
for ($i = 0; $i < mysql_num_fields($result); ++$i) {
    $table = mysql_field_table($result, $i);
    $field = mysql_field_name($result, $i);

    echo  "$table: $field\n";
}

?>

Anmerkungen

Hinweis:

Für die Abwärtskompatibiliät kann der folgende veraltete Alias verwendet werden: mysql_fieldtable()

Siehe auch

  • mysql_list_tables() - Listet Tabellen in einer MySQL Datenbank auf

mysql_field_seek
mysql_field_type
MySQL Funktionen


Liefert den Typ des spezifizierten Feldes in einem Ergebnis

mysql_field_table
mysql_free_result
MySQL Funktionen
PHP Manual

mysql_field_type

(PHP 4, PHP 5)

mysql_field_type — Liefert den Typ des spezifizierten Feldes in einem Ergebnis

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_fetch_field_direct() [type]
  • PDOStatement::getColumnMeta() [driver:decl_type] or [pdo_type]

Beschreibung

string mysql_field_type ( resource $result , int $field_offset )

mysql_field_type() ist ähnlich zur mysql_field_name() Funktion. Die Argumente sind identisch, aber stattdessen wird der Typ des Feldes zurückgegeben.

Parameter-Liste

Ergebnis

Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von mysql_query().

Feldoffset

Der numerische Offset des Feldes. Der Feldoffset beginnt bei 0. Falls Feldoffset nicht existiert, wird eine Warnung der Stufe E_WARNING erzeugt.

Rückgabewerte

Der zurückgegebene Feldtyp ist einer von "int", "real", "string", "blob" und anderen, wie in der » MySQL Dokumentation weiter ausgeführt.

Beispiele

Beispiel #1 mysql_field_type() Beispiel

<?php
mysql_connect("localhost", "mysql_username", "mysql_password");
mysql_select_db("mysql");
$result = mysql_query("SELECT * FROM func");
$fields = mysql_num_fields($result);
$rows   = mysql_num_rows($result);
$table  = mysql_field_table($result, 0);
echo "Die '" . $table . "' Tabelle hat " . $fields . " Felder und " . $rows . " Datensätze\n";
echo "Die Tabelle hat folgende Felder:\n";
for ($i=0; $i < $fields; $i++) {
    $type  = mysql_field_type($result, $i);
    $name  = mysql_field_name($result, $i);
    $len   = mysql_field_len($result, $i);
    $flags = mysql_field_flags($result, $i);
    echo $type . " " . $name . " " . $len . " " . $flags . "\n";
}
mysql_free_result($result);
mysql_close();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Die Tabelle 'func' hat 4 Felder und 1 Datensätze
Die Tabelle hat folgende Felder:
string name 64 not_null primary_key binary
int ret 1 not_null
string dl 128 not_null
string type 9 not_null enum

Anmerkungen

Hinweis:

Für die Abwärtskompatibiliät kann der folgende veraltete Alias verwendet werden: mysql_fieldtype()

Siehe auch

  • mysql_field_name() - Liefert den Namen eines Feldes in einem Ergebnis
  • mysql_field_len() - Liefert die Länge des angegebenen Feldes

mysql_field_table
mysql_free_result
MySQL Funktionen


Gibt belegten Speicher wieder frei

mysql_field_type
mysql_get_client_info
MySQL Funktionen
PHP Manual

mysql_free_result

(PHP 4, PHP 5)

mysql_free_result — Gibt belegten Speicher wieder frei

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_free_result()
  • Den Wert NULL dem PDO-Objekt zuweisen oder PDOStatement::closeCursor()

Beschreibung

bool mysql_free_result ( resource $result )

mysql_free_result() gibt den Speicher frei, der mit result (Ergebnis-Kennung) assoziert ist.

Die Funktion muss nur dann aufgerufen werden, wenn Sie sich bei Anfragen, die große Ergebnismengen liefern, Sorgen über den Speicherverbrauch zur Laufzeit des PHP-Skripts machen. Nach Ablauf des Skripts wird der Speicher ohnehin freigegeben.

Parameter-Liste

Ergebnis

Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von mysql_query().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Wird für den Parameter result ein Wert angegeben, der nicht vom Typ resource ist, wird ein Fehler der Stufe E_WARNING ausgegeben. Beachten Sie, dass mysql_query() nur eine resource für SELECT, SHOW, EXPLAIN und DESCRIBE Abfragen liefert.

Beispiele

Beispiel #1 Ein mysql_free_result() Beispiel

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
    echo 'Abfrage konnte nicht ausgeführt werden: ' . mysql_error();
    exit;
}
/* Benutze result, unrer der Annahme wir sind hinterher damit fertig */
$row = mysql_fetch_assoc($result);

/* Nun geben wir den Speicher für result frei und fahren in unserem Skript fort */
mysql_free_result($result);

echo $row['id'];
echo $row['email'];
?>

Anmerkungen

Hinweis:

Für die Abwärtskompatibiliät kann der folgende veraltete Alias verwendet werden: mysql_freeresult()

Siehe auch

  • mysql_query() - Sendet eine Anfrage an MySQL
  • is_resource() - Prüft, ob eine Variable vom Typ resource ist

mysql_field_type
mysql_get_client_info
MySQL Funktionen


Liefert MySQL Clientinformationen

mysql_free_result
mysql_get_host_info
MySQL Funktionen
PHP Manual

mysql_get_client_info

(PHP 4 >= 4.0.5, PHP 5)

mysql_get_client_info — Liefert MySQL Clientinformationen

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_get_client_info()
  • PDO::getAttribute(PDO::ATTR_CLIENT_VERSION)

Beschreibung

string mysql_get_client_info ( void )

mysql_get_client_info() liefert eine Zeichenkette mit der Version der Client-Bibliothek.

Rückgabewerte

Die Version der MySQL Client-Bibliothek.

Beispiele

Beispiel #1 mysql_get_client_info() Bespiel

<?php
printf("MySQL client info: %s\n", mysql_get_client_info());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

MySQL client info: 3.23.39

Siehe auch

  • mysql_get_host_info() - Liefert MySQL Host Informationen
  • mysql_get_proto_info() - Liefert MySQL Protokollinformationen
  • mysql_get_server_info() - Liefert MySQL Server Informationen

mysql_free_result
mysql_get_host_info
MySQL Funktionen


Liefert MySQL Host Informationen

mysql_get_client_info
mysql_get_proto_info
MySQL Funktionen
PHP Manual

mysql_get_host_info

(PHP 4 >= 4.0.5, PHP 5)

mysql_get_host_info — Liefert MySQL Host Informationen

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_get_host_info()
  • PDO::getAttribute(PDO::ATTR_CONNECTION_STATUS)

Beschreibung

string mysql_get_host_info ([ resource $link_identifier = NULL ] )

Beschreibt den Typ der benutzten Verbindung für die aktuelle Verbindung, inklusive dem Hostnamen des Servers.

Parameter-Liste

Verbindungs-Kennung

Die MySQL-Verbindung. Wird die Verbindungskennung nicht angegeben, wird die letzte durch mysql_connect() geöffnete Verbindung angenommen. Falls keine solche Verbindung gefunden wird, wird versucht, eine Verbindung aufzubauen, wie es beim Aufruf von mysql_connect() ohne Angabe von Argumenten der Fall wäre. Falls zufällig keine Verbindung gefunden oder aufgebaut werden kann, wird eine Warnung der Stufe E_WARNING erzeugt.

Rückgabewerte

Gibt eine Zeichenkette zurück, die den Typ der benutzten MySQL Verbindung für die aktuelle Verbindung beschreibt Im Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 mysql_get_host_info() Beispiel

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Keine Verbindung möglich: ' . mysql_error());
}
printf("MySQL host info: %s\n", mysql_get_host_info());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

MySQL host info: Localhost via UNIX socket

Siehe auch

  • mysql_get_client_info() - Liefert MySQL Clientinformationen
  • mysql_get_proto_info() - Liefert MySQL Protokollinformationen
  • mysql_get_server_info() - Liefert MySQL Server Informationen

mysql_get_client_info
mysql_get_proto_info
MySQL Funktionen


Liefert MySQL Protokollinformationen

mysql_get_host_info
mysql_get_server_info
MySQL Funktionen
PHP Manual

mysql_get_proto_info

(PHP 4 >= 4.0.5, PHP 5)

mysql_get_proto_info — Liefert MySQL Protokollinformationen

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_get_proto_info()

Beschreibung

int mysql_get_proto_info ([ resource $link_identifier = NULL ] )

Liefert das MySQL Protokoll.

Parameter-Liste

Verbindungs-Kennung

Die MySQL-Verbindung. Wird die Verbindungskennung nicht angegeben, wird die letzte durch mysql_connect() geöffnete Verbindung angenommen. Falls keine solche Verbindung gefunden wird, wird versucht, eine Verbindung aufzubauen, wie es beim Aufruf von mysql_connect() ohne Angabe von Argumenten der Fall wäre. Falls zufällig keine Verbindung gefunden oder aufgebaut werden kann, wird eine Warnung der Stufe E_WARNING erzeugt.

Rückgabewerte

Gibt bei Erfolg das MySQL Protokoll zurück Im Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 mysql_get_proto_info() Beispiel

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Keine Verbindung möglich: ' . mysql_error());
}
printf("MySQL Protokoll Version: %s\n", mysql_get_proto_info());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

MySQL Protokoll Version: 10

Siehe auch

  • mysql_get_client_info() - Liefert MySQL Clientinformationen
  • mysql_get_host_info() - Liefert MySQL Host Informationen
  • mysql_get_server_info() - Liefert MySQL Server Informationen

mysql_get_host_info
mysql_get_server_info
MySQL Funktionen


Liefert MySQL Server Informationen

mysql_get_proto_info
mysql_info
MySQL Funktionen
PHP Manual

mysql_get_server_info

(PHP 4 >= 4.0.5, PHP 5)

mysql_get_server_info — Liefert MySQL Server Informationen

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_get_server_info()
  • PDO::getAttribute(PDO::ATTR_SERVER_VERSION)

Beschreibung

string mysql_get_server_info ([ resource $link_identifier = NULL ] )

Liefert die MySQL Server Version.

Parameter-Liste

Verbindungs-Kennung

Die MySQL-Verbindung. Wird die Verbindungskennung nicht angegeben, wird die letzte durch mysql_connect() geöffnete Verbindung angenommen. Falls keine solche Verbindung gefunden wird, wird versucht, eine Verbindung aufzubauen, wie es beim Aufruf von mysql_connect() ohne Angabe von Argumenten der Fall wäre. Falls zufällig keine Verbindung gefunden oder aufgebaut werden kann, wird eine Warnung der Stufe E_WARNING erzeugt.

Rückgabewerte

Gibt die MySQL Server Version bei Erfolg zurückIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 mysql_get_server_info() Beispiel

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Keine Verbindung möglich: ' . mysql_error());
}
printf("MySQL Server Version: %s\n", mysql_get_server_info());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

MySQL Server Version: 4.0.1-alpha

Siehe auch

  • mysql_get_client_info() - Liefert MySQL Clientinformationen
  • mysql_get_host_info() - Liefert MySQL Host Informationen
  • mysql_get_proto_info() - Liefert MySQL Protokollinformationen
  • phpversion() - Liefert die aktuelle PHP-Version

mysql_get_proto_info
mysql_info
MySQL Funktionen


Liefert Informationen über die zuletzt ausgeführte Anfrage zurück

mysql_get_server_info
mysql_insert_id
MySQL Funktionen
PHP Manual

mysql_info

(PHP 4 >= 4.3.0, PHP 5)

mysql_info — Liefert Informationen über die zuletzt ausgeführte Anfrage zurück

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_info()

Beschreibung

string mysql_info ([ resource $link_identifier = NULL ] )

Gibt ausführliche Informationen zur letzten Abfrage zurück.

Parameter-Liste

Verbindungs-Kennung

Die MySQL-Verbindung. Wird die Verbindungskennung nicht angegeben, wird die letzte durch mysql_connect() geöffnete Verbindung angenommen. Falls keine solche Verbindung gefunden wird, wird versucht, eine Verbindung aufzubauen, wie es beim Aufruf von mysql_connect() ohne Angabe von Argumenten der Fall wäre. Falls zufällig keine Verbindung gefunden oder aufgebaut werden kann, wird eine Warnung der Stufe E_WARNING erzeugt.

Rückgabewerte

Gibt bei Erfolg Informationen über die Abfrage zurück oder FALSE bei Fehlern. Sehen sie das untenstehende Beispiel, das zeigt, welche Abfragen Informationen bereitstellen und wie der Rückgabewert aussehen kann. Nicht aufgeführte Abfragen geben FALSE zurück.

Beispiele

Beispiel #1 Relevante MySQL Anweisungen

Anweisungen, die Zeichenketten zurückgeben. Die Nummern dienen nur zur Illustration; die tatsächlichen Werte entsprechen der jeweiligen Abfrage.

INSERT INTO ... SELECT ...
String format: Records: 23 Duplicates: 0 Warnings: 0
INSERT INTO ... VALUES (...),(...),(...)...
String format: Records: 37 Duplicates: 0 Warnings: 0
LOAD DATA INFILE ...
String format: Records: 42 Deleted: 0 Skipped: 0 Warnings: 0
ALTER TABLE
String format: Records: 60 Duplicates: 0 Warnings: 0
UPDATE
String format: Rows matched: 65 Changed: 65 Warnings: 0

Anmerkungen

Hinweis:

mysql_info() liefert bei INSERT...VALUES Befehlen nur dann einen gültigen (nicht-FALSE) Wert, wenn mehrfache Werte angegeben wurden.

Siehe auch

  • mysql_affected_rows() - Liefert die Anzahl betroffener Datensätze einer vorhergehenden MySQL Operation
  • mysql_insert_id() - Liefert die ID, die in der vorherigen Abfrage erzeugt wurde
  • mysql_stat() - Zeigt den momentanen Serverstatus an

mysql_get_server_info
mysql_insert_id
MySQL Funktionen


Liefert die ID, die in der vorherigen Abfrage erzeugt wurde

mysql_info
mysql_list_dbs
MySQL Funktionen
PHP Manual

mysql_insert_id

(PHP 4, PHP 5)

mysql_insert_id — Liefert die ID, die in der vorherigen Abfrage erzeugt wurde

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_insert_id()
  • PDO::lastInsertId()

Beschreibung

int mysql_insert_id ([ resource $link_identifier = NULL ] )

Liefert die ID, die für eine AUTO_INCREMENT Spalte durch die vorherige Abfrage (meist INSERT) erzeugt wurde.

Parameter-Liste

Verbindungs-Kennung

Die MySQL-Verbindung. Wird die Verbindungskennung nicht angegeben, wird die letzte durch mysql_connect() geöffnete Verbindung angenommen. Falls keine solche Verbindung gefunden wird, wird versucht, eine Verbindung aufzubauen, wie es beim Aufruf von mysql_connect() ohne Angabe von Argumenten der Fall wäre. Falls zufällig keine Verbindung gefunden oder aufgebaut werden kann, wird eine Warnung der Stufe E_WARNING erzeugt.

Rückgabewerte

Die ID, die für eine AUTO_INCREMENT Spalte durch die vorherige Abfrage bei Erfolg, 0 falls die vorherige Abfrage keinen AUTO_INCREMENT Wert erzeugt hatte oder FALSE falls keine MySQL verbindung existierte.

Beispiele

Beispiel #1 mysql_insert_id() Beispiel

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Keine Verbindung möglich: ' . mysql_error());
}
mysql_select_db('mydb');

mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Letzer eingefügter Datensatz hat id %d\n", mysql_insert_id());
?>

Anmerkungen

Achtung

mysql_insert_id() konvertiert den Typ der Rückgabe der nativen MySQL C API Funktion mysql_insert_id() in den Typ long (als int in PHP bezeichnet). Falls Ihre AUTO_INCREMENT Spalte vom Typ BIGINT (64 Bit) ist, ist der Wert den mysql_insert_id() liefert, nicht korrekt. Verwenden Sie in diesem Fall stattdessen die MySQL interne SQL Funktion LAST_INSERT_ID() in einer SQL-Abfrage. Für weitergehende Informationen bezüglich PHPs maximaler Integer Werte, lesen sie bitte integer Dokumenation.

Hinweis:

Da mysql_insert_id() mit der zuletzt ausgeführten Abfrage arbeite, stellen sie sicher, dass sie mysql_insert_id() direkt nach der Abfrage, die den Wert erzeugt aufrufen.

Hinweis:

Der Wert der MySQL SQL Funktion LAST_INSERT_ID() liefert immer den zuletzt erzeugten AUTO_INCREMENT Wert. Dieser wird zwischen Abfragen nicht zurückgesetzt.

Siehe auch

  • mysql_query() - Sendet eine Anfrage an MySQL
  • mysql_info() - Liefert Informationen über die zuletzt ausgeführte Anfrage zurück

mysql_info
mysql_list_dbs
MySQL Funktionen


Auflistung der verfügbaren Datenbanken (Schemata) auf einem MySQL Server

mysql_insert_id
mysql_list_fields
MySQL Funktionen
PHP Manual

mysql_list_dbs

(PHP 4, PHP 5)

mysql_list_dbs — Auflistung der verfügbaren Datenbanken (Schemata) auf einem MySQL Server

Warnung

Diese Funktion wurde in PHP 5.4.0 als veraltet gekennzeichnet und wurde in PHP 7.0.0 zusammen mit der gesamten ursprünglichen MySQL-Erweiterung entfernt. Stattdessen sollten die aktiv entwickelten Erweiterungen MySQLi oder PDO_MySQL verwendet werden. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ-Eintrag. Alternativen zu dieser Funktion umfassen:

  • SQL Query: SHOW DATABASES

Beschreibung

resource mysql_list_dbs ([ resource $link_identifier = NULL ] )

Liefert eine Ergebnis-Kennung, die alle Datenbanken auf dem Datenbankserver enthält.

Parameter-Liste

Verbindungs-Kennung

Die MySQL-Verbindung. Wird die Verbindungskennung nicht angegeben, wird die letzte durch mysql_connect() geöffnete Verbindung angenommen. Falls keine solche Verbindung gefunden wird, wird versucht, eine Verbindung aufzubauen, wie es beim Aufruf von mysql_connect() ohne Angabe von Argumenten der Fall wäre. Falls zufällig keine Verbindung gefunden oder aufgebaut werden kann, wird eine Warnung der Stufe E_WARNING erzeugt.

Rückgabewerte

Gibt bei Erfolg eine Ergebnis-Kennung resource zurück oder FALSE bei Fehlern. Nutzen sie die mysql_tablename() Function, um dieses Ergebnis zu durchlaufen oder irgendeine der Funktionen, die mit Ergebnistabellen umgehen, wie etwa mysql_fetch_array().

Beispiele

Beispiel #1 mysql_list_dbs() Beispiel

<?php
// Nutzung ohne mysql_list_dbs()
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$res = mysql_query("SHOW DATABASES");

while ($row = mysql_fetch_assoc($res)) {
    echo $row['Database'] . "\n";
}

// Veraltet seit PHP 5.4.0
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$db_list = mysql_list_dbs($link);

while ($row = mysql_fetch_object($db_list)) {
     echo $row->Database . "\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

database1
database2
database3

Anmerkungen

Hinweis:

Für die Abwärtskompatibiliät kann der folgende veraltete Alias verwendet werden: mysql_listdbs()

Siehe auch

  • mysql_db_name() - Liefert Schema Namen vom Aufruf von mysql_list_dbs
  • mysql_select_db() - Auswahl einer MySQL Datenbank

mysql_insert_id
mysql_list_fields
MySQL Funktionen


Listet MySQL Tabellenfelder auf

mysql_list_dbs
mysql_list_processes
MySQL Funktionen
PHP Manual

mysql_list_fields

(PHP 4, PHP 5)

mysql_list_fields — Listet MySQL Tabellenfelder auf

Warnung

Diese Funktion wurde in PHP 5.4.0 als veraltet gekennzeichnet und wurde in PHP 7.0.0 zusammen mit der gesamten ursprünglichen MySQL-Erweiterung entfernt. Stattdessen sollten die aktiv entwickelten Erweiterungen MySQLi oder PDO_MySQL verwendet werden. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ-Eintrag. Alternativen zu dieser Funktion umfassen:

  • SQL Query: SHOW COLUMNS FROM tabelle

Beschreibung

resource mysql_list_fields ( string $database_name , string $table_name [, resource $link_identifier = NULL ] )

Liefert Informationen über den übergebenen Tabellennamen.

Diese Funktion ist veraltet. Stattdessen ist es vorzuziehen mit der Funktion mysql_query() den SQL-Befehl SHOW COLUMNS FROM table [LIKE 'name'] auszuführen.

Parameter-Liste

database_name

Der Name der abgefragten Datenbank.

table_name

Der Name der abgefragten Tabelle.

Verbindungs-Kennung

Die MySQL-Verbindung. Wird die Verbindungskennung nicht angegeben, wird die letzte durch mysql_connect() geöffnete Verbindung angenommen. Falls keine solche Verbindung gefunden wird, wird versucht, eine Verbindung aufzubauen, wie es beim Aufruf von mysql_connect() ohne Angabe von Argumenten der Fall wäre. Falls zufällig keine Verbindung gefunden oder aufgebaut werden kann, wird eine Warnung der Stufe E_WARNING erzeugt.

Rückgabewerte

Ein Zeiger auf ein Resultat resource bei Erfolg oder FALSE bei Fehlern.

Das zurückgegebene Resulta kann mit mysql_field_flags(),
mysql_field_len(),
mysql_field_name() und
mysql_field_type() genutzt werden,

Beispiele

Beispiel #1 Alternative zum veraltetenmysql_list_fields()

<?php
$result = mysql_query("SHOW COLUMNS FROM sometable");
if (!$result) {
    echo 'Konnte Abfrage nicht ausführen: ' . mysql_error();
    exit;
}
if (mysql_num_rows($result) > 0) {
    while ($row = mysql_fetch_assoc($result)) {
        print_r($row);
    }
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [Field] => id
    [Type] => int(7)
    [Null] =>
    [Key] => PRI
    [Default] =>
    [Extra] => auto_increment
)
Array
(
    [Field] => email
    [Type] => varchar(100)
    [Null] =>
    [Key] =>
    [Default] =>
    [Extra] =>
)

Anmerkungen

Hinweis:

Für die Abwärtskompatibiliät kann der folgende veraltete Alias verwendet werden: mysql_listfields()

Siehe auch

  • mysql_field_flags() - Liefert die Flags des spezifizierten Feldes in einem Anfrageergebnis
  • mysql_info() - Liefert Informationen über die zuletzt ausgeführte Anfrage zurück

mysql_list_dbs
mysql_list_processes
MySQL Funktionen


Zeigt die MySQL Prozesse an

mysql_list_fields
mysql_list_tables
MySQL Funktionen
PHP Manual

mysql_list_processes

(PHP 4 >= 4.3.0, PHP 5)

mysql_list_processes — Zeigt die MySQL Prozesse an

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_thread_id()

Beschreibung

resource mysql_list_processes ([ resource $link_identifier = NULL ] )

Liefert die momentanen MySQL Server Threads.

Parameter-Liste

Verbindungs-Kennung

Die MySQL-Verbindung. Wird die Verbindungskennung nicht angegeben, wird die letzte durch mysql_connect() geöffnete Verbindung angenommen. Falls keine solche Verbindung gefunden wird, wird versucht, eine Verbindung aufzubauen, wie es beim Aufruf von mysql_connect() ohne Angabe von Argumenten der Fall wäre. Falls zufällig keine Verbindung gefunden oder aufgebaut werden kann, wird eine Warnung der Stufe E_WARNING erzeugt.

Rückgabewerte

Ein Zeiger auf ein Resultat resource bei ErfolgIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 mysql_list_processes() Beispiel

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');

$result = mysql_list_processes($link);
while ($row = mysql_fetch_assoc($result)){
    printf("%s %s %s %s %s\n", $row["Id"], $row["Host"], $row["db"],
        $row["Command"], $row["Time"]);
}
mysql_free_result($result);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

1 localhost test Processlist 0
4 localhost mysql sleep 5

Siehe auch

  • mysql_thread_id() - Zeigt die aktuelle Thread ID an
  • mysql_stat() - Zeigt den momentanen Serverstatus an

mysql_list_fields
mysql_list_tables
MySQL Funktionen


Listet Tabellen in einer MySQL Datenbank auf

mysql_list_processes
mysql_num_fields
MySQL Funktionen
PHP Manual

mysql_list_tables

(PHP 4, PHP 5)

mysql_list_tables — Listet Tabellen in einer MySQL Datenbank auf

Warnung

Diese Funktion wurde in PHP 4.3.0 als veraltet gekennzeichnet und wurde in PHP 7.0.0 zusammen mit der gesamten ursprünglichen MySQL-Erweiterung entfernt. Stattdessen sollten die aktiv entwickelten Erweiterungen MySQLi oder PDO_MySQL verwendet werden. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ-Eintrag.Alternativen zu dieser Funktion umfassen:

  • SQL Query: SHOW TABLES FROM tabelle

Beschreibung

resource mysql_list_tables ( string $database [, resource $link_identifier = NULL ] )

Liefert eine Liste von Tabellennamen von einer MySQL Datenbank.

Diese Funktion ist veraltet. Stattdessen ist es vorzuziehen, mysql_query() zu benutzen und den SQL Befehl SHOW TABLES [FROM db_name] [LIKE 'pattern'] zu verwenden.

Parameter-Liste

database

Der Name der Datenbank

Verbindungs-Kennung

Die MySQL-Verbindung. Wird die Verbindungskennung nicht angegeben, wird die letzte durch mysql_connect() geöffnete Verbindung angenommen. Falls keine solche Verbindung gefunden wird, wird versucht, eine Verbindung aufzubauen, wie es beim Aufruf von mysql_connect() ohne Angabe von Argumenten der Fall wäre. Falls zufällig keine Verbindung gefunden oder aufgebaut werden kann, wird eine Warnung der Stufe E_WARNING erzeugt.

Rückgabewerte

Ein Zeiger auf ein Resultat resource bei ErfolgIm Fehlerfall wird FALSE zurückgegeben..

Nutzen sie die mysql_tablename() Funktion, um dieses Resultat zu durchlaufen oder irgendeine andere Funktion, die mit Ergebnistabellen umgehen kann, wie zum Beispiel mysql_fetch_array().

Changelog

Version | Beschreibung
4.3.7 | Diese Funktion gilt als veraltet.

Beispiele

Beispiel #1 mysql_list_tables() Alternativbeispiel

<?php
$dbname = 'mysql_dbname';

if (!mysql_connect('mysql_host', 'mysql_user', 'mysql_password')) {
    echo 'Konnte nicht zu mysql verbinden';
    exit;
}

$sql = "SHOW TABLES FROM $dbname";
$result = mysql_query($sql);

if (!$result) {
    echo "DB Fehler, konnte Tabellen nicht auflisten\n";
    echo 'MySQL Fehler: ' . mysql_error();
    exit;
}

while ($row = mysql_fetch_row($result)) {
    echo "Tabelle: {$row[0]}\n";
}

mysql_free_result($result);
?>

Anmerkungen

Hinweis:

Für die Abwärtskompatibiliät kann der folgende veraltete Alias verwendet werden: mysql_listtables()

Siehe auch

  • mysql_list_dbs() - Auflistung der verfügbaren Datenbanken (Schemata) auf einem MySQL Server
  • mysql_tablename() - Liefert den Namen einer Tabelle

mysql_list_processes
mysql_num_fields
MySQL Funktionen


Liefert die Anzahl der Felder in einem Ergebnis

mysql_list_tables
mysql_num_rows
MySQL Funktionen
PHP Manual

mysql_num_fields

(PHP 4, PHP 5)

mysql_num_fields — Liefert die Anzahl der Felder in einem Ergebnis

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_field_count()
  • PDOStatement::columnCount()

Beschreibung

int mysql_num_fields ( resource $result )

Liefert die Anzahl der Felder von einer Abfrage.

Parameter-Liste

Ergebnis

Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von mysql_query().

Rückgabewerte

Gibt die Anzahl der Felder in dem Ergebnis resource bei Erfolg zurückIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 A mysql_num_fields() Beispiel

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
    echo 'Konnte Abfrage nicht ausführen: ' . mysql_error();
    exit;
}

/* Gibt 2 zurück, da id,email === zwei Felder */
echo mysql_num_fields($result);
?>

Anmerkungen

Hinweis:

Für die Abwärtskompatibiliät kann der folgende veraltete Alias verwendet werden: mysql_numfields()

Siehe auch

  • mysql_select_db() - Auswahl einer MySQL Datenbank
  • mysql_query() - Sendet eine Anfrage an MySQL
  • mysql_fetch_field() - Liefert ein Objekt mit Feldinformationen aus einem Anfrageergebnis
  • mysql_num_rows() - Liefert die Anzahl der Zeilen im Ergebnis

mysql_list_tables
mysql_num_rows
MySQL Funktionen


Liefert die Anzahl der Zeilen im Ergebnis

mysql_num_fields
mysql_pconnect
MySQL Funktionen
PHP Manual

mysql_num_rows

(PHP 4, PHP 5)

mysql_num_rows — Liefert die Anzahl der Zeilen im Ergebnis

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_num_rows()
  • mysqli_stmt_num_rows()
  • PDOStatement::rowCount()

Beschreibung

int mysql_num_rows ( resource $result )

Liefert die Anzahl der Zeilen einer Ergebnismenge. Diese Funktion ist nur gültig für Befehle wie SELECT oder SHOW, die eine tatsächliche Ergebnismenge zurückeben. Haben Sie eine INSERT, UPDATE oder DELETE Abfrage ausgeführt und möchten die Anzahl der betroffenen Datensätze ermitteln, verwenden Sie die Funktion mysql_affected_rows().

Parameter-Liste

Ergebnis

Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von mysql_query().

Rückgabewerte

Die Anzahl der Zeilen in einer Ergebnismenge bei Erfolg Im Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 mysql_num_rows() Beispiel

<?php

$link = mysql_connect("localhost", "mysql_user", "mysql_password");
mysql_select_db("database", $link);

$result = mysql_query("SELECT * FROM table1", $link);
$num_rows = mysql_num_rows($result);

echo "$num_rows Zeilen\n";

?>

Anmerkungen

Hinweis:

Wenn Sie mysql_unbuffered_query() verwenden, liefert mysql_num_rows() solange nicht den korrekten Wert, bis Sie alle Zeilen der Ergebnismenge erhalten haben.

Hinweis:

Für die Abwärtskompatibiliät kann der folgende veraltete Alias verwendet werden: mysql_numrows()

Siehe auch

  • mysql_affected_rows() - Liefert die Anzahl betroffener Datensätze einer vorhergehenden MySQL Operation
  • mysql_connect() - Öffnet eine Verbindung zu einem MySQL-Server
  • mysql_data_seek() - Bewegt den internen Ergebnis-Zeiger
  • mysql_select_db() - Auswahl einer MySQL Datenbank
  • mysql_query() - Sendet eine Anfrage an MySQL

mysql_num_fields
mysql_pconnect
MySQL Funktionen


Öffnet eine persistente Verbindung zum MySQL Server

mysql_num_rows
mysql_ping
MySQL Funktionen
PHP Manual

mysql_pconnect

(PHP 4, PHP 5)

mysql_pconnect — Öffnet eine persistente Verbindung zum MySQL Server

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_connect() mit p: Host-Präfix
  • PDO::__construct() mit PDO::ATTR_PERSISTENT als Treiberoption

Beschreibung

resource mysql_pconnect ([ string $server = ini_get("mysql.default_host") [, string $username = ini_get("mysql.default_user") [, string $password = ini_get("mysql.default_password") [, int $client_flags = 0 ]]]] )

Baut eine persistente Verbindung zu einem MySQL Server auf.

mysql_pconnect() verhält sich weitgehend wie mysql_connect() mit zwei großen Unterschieden.

Erstens: Vor dem Verbindungsaufbau wird zunächst versucht eine offene (persistente) Verbindung zum gleichen Host, mit dem gleichen Benutzernamen und Benutzerkennwort zu finden. Wenn das gelingt, wird die Verbindungskennung dieser Verbindung zurückgeliefert anstatt eine neue Verbindung aufzubauen.

Zweitens: Die Verbindung zum SQL Server wird beim Beenden des PHP-Skripts nicht geschlossen. Sie bleibt zur zukünftigen Verwendung bestehen. (mysql_close() schließt keine von mysql_pconnect() geöffneten Verbindungen).

Deshalb wird dieser Verbindungstyp 'persistent' genannt.

Parameter-Liste

server

Der MySQL Server. Er kann zudem eine Portnummer enthalten, z.B. "hostname:port" oder den Pfad zu einem lokalen Socket z.B. ":/pfad/zum/socket" für Zugriffe auf dem lokalen Rechner (localhost).

Wenn die PHP Direktive mysql.default_host nicht definiert ist (Standard), ist der Vorgabewert 'localhost:3306'.

username

Der Nutzername. Der Standardwert ist der Name des Nutzers, dem der Prozess gehört.

password

Das Passwort. Der Standardwert ist ein leeres Passwort.

client_flags

Der Parameter client_flags kann eine Kombination der folgenden Konstanten sein: 128 (erlaube LOAD DATA LOCAL Nutzung), MYSQL_CLIENT_SSL, MYSQL_CLIENT_COMPRESS, MYSQL_CLIENT_IGNORE_SPACE oder MYSQL_CLIENT_INTERACTIVE.

Rückgabewerte

Gibt eine persitente MySQL Verbindungs-Kennung im Erfolgsfall zurück oder Im Fehlerfall wird FALSE zurückgegeben..

Changelog

Version | Beschreibung
5.5.0 | Die Funktion erzeugt einen Fehler der Stufe E_DEPRECATED.

Anmerkungen

Hinweis:

Beachten Sie, dass diese Art der Verbindung nur funktioniert. wenn Sie PHP als Modul-Version benutzen. Für mehr Informationen schauen Sie unter Persistente Datenbankverbindungen nach.

Warnung

Die Verwendung von persistenten Verbindungen verlangt unter Umständen eine feinere Abstimmung der Konfiguration von Apache und MySQL. Dadurch sollten Sie sicherstellen, dass Sie die Anzahl der Verbindungen, die MySQL maximal erlaubt, nicht überschreiten.

Hinweis:

Sie können die Fehlermeldungen bei Fehlern durch Voranstellen von einem @ an den Funktionsnamen unterdrücken.

Siehe auch

  • mysql_connect() - Öffnet eine Verbindung zu einem MySQL-Server
  • Persistente Datenbankverbindungen

mysql_num_rows
mysql_ping
MySQL Funktionen


Ping a server connection or reconnect if there is no connection

mysql_pconnect
mysql_query
MySQL Funktionen
PHP Manual

mysql_ping

(PHP 4 >= 4.3.0, PHP 5)

mysql_ping — Ping a server connection or reconnect if there is no connection

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_ping()

Beschreibung

bool mysql_ping ([ resource $link_identifier = NULL ] )

Überprüft, ob die Verbindung zum Server funktioniert oder nicht. Ist die Verbindung abgebrochen wird ein automatischer Reconnect versucht. Diese Funktion können Sie in PHP-Skripts benutzen, die längere Zeit untätig bleiben, um zu prüfen, ob der Server die Verbindung abgebaut hat oder nicht und im Bedarfsfall wird versucht die Verbindung wieder herzustellen. Rückgabewert: mysql_ping() gibt TRUE zurück, wenn die Verbindung zum Server funktioniert, ansonsten FALSE.

Hinweis:

Die automatische Wiederherstellung der Verbindung ist standardmäßig in MySQL >= 5.0.3 deaktiviert.

Parameter-Liste

Verbindungs-Kennung

Die MySQL-Verbindung. Wird die Verbindungskennung nicht angegeben, wird die letzte durch mysql_connect() geöffnete Verbindung angenommen. Falls keine solche Verbindung gefunden wird, wird versucht, eine Verbindung aufzubauen, wie es beim Aufruf von mysql_connect() ohne Angabe von Argumenten der Fall wäre. Falls zufällig keine Verbindung gefunden oder aufgebaut werden kann, wird eine Warnung der Stufe E_WARNING erzeugt.

Rückgabewerte

Gibt TRUE zurück wenn die Verbindung zum MySQL Server noch besteht, ansonsten FALSE.

Beispiele

Beispiel #1 mysql_ping() Beispiel

<?php
set_time_limit(0);

$conn = mysql_connect('localhost', 'mysqluser', 'mypass');
$db   = mysql_select_db('mydb');

/* Annahme: diese Abfrage dauert sehr lange */
$result = mysql_query($sql);
if (!$result) {
    echo 'Abfrage #1 fehlgeschlagen, aussteigen.';
    exit;
}

/*
Sicherstellen, dass die Verbindung immer noch besteht, falls nicht, Versuch
diese wieder aufzubauen
*/
if (!mysql_ping($conn)) {
    echo 'Verbindung verloren, Ausstieg nach Abfrage #1';
    exit;
}
mysql_free_result($result);

/* Verbindung besteht noch, absetzen eine einer weiteren Abfrage */
$result2 = mysql_query($sql2);
?>

Siehe auch

  • mysql_thread_id() - Zeigt die aktuelle Thread ID an
  • mysql_list_processes() - Zeigt die MySQL Prozesse an

mysql_pconnect
mysql_query
MySQL Funktionen


Sendet eine Anfrage an MySQL

mysql_ping
mysql_real_escape_string
MySQL Funktionen
PHP Manual

mysql_query

(PHP 4, PHP 5)

mysql_query — Sendet eine Anfrage an MySQL

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_query()
  • PDO::query()

Beschreibung

mixed mysql_query ( string $query [, resource $link_identifier = NULL ] )

mysql_query() sendet eine einzelne Abfrage (mehrere Abfragen werden nicht unterstützt) zu dem momentan aktiven Schema auf dem Server, der mit der übergebenen Verbings-Kennung Verbindungs-Kennung assoziiert ist.

Parameter-Liste

query

Eine SQL Anweisung

Die Anweisung sollte nicht mit einem Semikolon abgeschlossen werden. Werte innerhalb der Abfrage sollten korrekt maskiert werden.

Verbindungs-Kennung

Die MySQL-Verbindung. Wird die Verbindungskennung nicht angegeben, wird die letzte durch mysql_connect() geöffnete Verbindung angenommen. Falls keine solche Verbindung gefunden wird, wird versucht, eine Verbindung aufzubauen, wie es beim Aufruf von mysql_connect() ohne Angabe von Argumenten der Fall wäre. Falls zufällig keine Verbindung gefunden oder aufgebaut werden kann, wird eine Warnung der Stufe E_WARNING erzeugt.

Rückgabewerte

Für SELECT, SHOW, DESCRIBE, EXPLAIN und andere Anweisungen, die eine Ergebnismenge zurückgeben, gibt mysql_query() eine Kennung resource bei Erfolg zurück oder FALSE bei Fehlern.

Für alle anderen von SQL Anweisungen wie INSERT, UPDATE, DELETE, DROP, etc, gibt mysql_query() TRUE bei Erfolg zurück oder FALSE bei Fehlern.

Die zurückgegebene Ergebnis Ressource sollte an mysql_fetch_array() oder andere Funktionen, die mit Ergebnis Tabellen umgehen, übergeben werden, um auf die erhaltenen Daten zuzuzugreifen.

Nutzen sie mysql_num_rows() um zu erfahren, wieviele Zeilen für eine SELECT Anweisungen zurückgegeben wurden oder mysql_affected_rows() um zu erfahren, wieviele Zeilen von einer DELETE, INSERT, REPLACE oder UPDATE Anweisung betroffen waren.

mysql_query() wird ebenfalls fehlschlagen und FALSE zurückgeben, wenn der Nutzer nicht die Rechte hat, auf die Tabellen, die in der Anweisung referenziert wurden, zuzugreifen.

Beispiele

Beispiel #1 Ungültige Anfrage

Die folgende Anfrage ist syntaktisch falsch, deshalb liefert mysql_query() FALSE zurück:

<?php
$result = mysql_query('SELECT * WHERE 1=1');
if (!$result) {
    die('Ungültige Anfrage: ' . mysql_error());
}

?>

Beispiel #2 Gültige Anfrage

Die folgende Abfrage ist gültig, daher gibt mysql_query() ein Ergebnis resource zurück.

<?php
// Dies kömmze z.B. durch einen Nutzer angegeben werden
$firstname = 'fred';
$lastname  = 'fox';

// Formuliere Abfrage
// Dies ist die beste Art, eine SQL Abfrage duerchzuführen
// Für weitere Beispiele, siehe: mysql_real_escape_string()
$query = sprintf("SELECT firstname, lastname, address, age FROM friends
    WHERE firstname='%s' AND lastname='%s'",
    mysql_real_escape_string($firstname),
    mysql_real_escape_string($lastname));

// Führe Abfrage aus
$result = mysql_query($query);

// Prüfe Ergebnis
// Dies zeigt die tatsächliche Abfrage, die an MySQL gesandt wurde und den
// Fehler. Nützlich bei der Fehlersuche
if (!$result) {
    $message  = 'Ungültige Abfrage: ' . mysql_error() . "\n";
    $message .= 'Gesamte Abfrage: ' . $query;
    die($message);
}

// Nutze Ergebnis
// Der Versuch $result auszugeben, erlaubt keine Zugriff auf die Informationen
// der Ressource.
// Eine der MySQ result Funktionen muss genutzt werden
// Siehe auch: mysql_result(), mysql_fetch_array(), mysql_fetch_row(), etc.
while ($row = mysql_fetch_assoc($result)) {
    echo $row['firstname'];
    echo $row['lastname'];
    echo $row['address'];
    echo $row['age'];
}

// Gebe Ressourcen, die mit der Ergebnismenge assoziiert sind, frei
// Dies geshieht am Ende eines Skriptes automatisch
mysql_free_result($result);
?>

Siehe auch

  • mysql_connect() - Öffnet eine Verbindung zu einem MySQL-Server
  • mysql_error() - Liefert den Fehlertext der zuvor ausgeführten MySQL Operation
  • mysql_real_escape_string() - Maskiert spezielle Zeichen innerhalb eines Strings für die Verwendung in einer SQL-Anweisung
  • mysql_result() - Liefert Ergebnis
  • mysql_fetch_assoc() - Liefert einen Datensatz als assoziatives Array
  • mysql_unbuffered_query() - Sendet eine SQL Anfrage an MySQL, ohne Ergebniszeilen abzuholen und zu puffern

mysql_ping
mysql_real_escape_string
MySQL Funktionen


Maskiert spezielle Zeichen innerhalb eines Strings für die Verwendung in einer SQL-Anweisung

mysql_query
mysql_result
MySQL Funktionen
PHP Manual

mysql_real_escape_string

(PHP 4 >= 4.3.0, PHP 5)

mysql_real_escape_string — Maskiert spezielle Zeichen innerhalb eines Strings für die Verwendung in einer SQL-Anweisung

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_real_escape_string()
  • PDO::quote()

Beschreibung

string mysql_real_escape_string ( string $unescaped_string [, resource $link_identifier = NULL ] )

Maskiert spezielle Zeichen im unescaped_string unter Berücksichtigung des aktuellen Zeichensatzes der Verbindung, so dass das Ergebnis ohne Probleme in mysql_query() verwendet werden kann. Wenn Sie Binärdaten einfügen wollen, müssen Sie die Funktion auf jeden Fall verwenden.

mysql_real_escape_string() ruft die Funktion mysql_real_escape_string der MySQL-Bibliothek auf, die folgende Zeichen mit einem Backslash ('\') versieht: \x00, \n, \r, \, ', " und \x1a.

Die Funktion muss immer (mit wenigen Ausnahmen) verwendet werden, um Daten abzusichern, bevor sie per Query an MySQL übermittelt werden.

Achtung

Sicherheit: Der Standardzeichensatz

Der Zeichensatz muss entweder auf Ebene des Servers oder mittels der API-Funktion mysql_set_charset() gesetzt werden, damit dieser mysql_real_escape_string() beeinflusst. Sehen sie das Grundlagenkapitel zum Thema Zeichensätze für mehr Informationen.

Parameter-Liste

unescaped_string

Der zu maskierende String.

Verbindungs-Kennung

Die MySQL-Verbindung. Wird die Verbindungskennung nicht angegeben, wird die letzte durch mysql_connect() geöffnete Verbindung angenommen. Falls keine solche Verbindung gefunden wird, wird versucht, eine Verbindung aufzubauen, wie es beim Aufruf von mysql_connect() ohne Angabe von Argumenten der Fall wäre. Falls zufällig keine Verbindung gefunden oder aufgebaut werden kann, wird eine Warnung der Stufe E_WARNING erzeugt.

Rückgabewerte

Gibt einen maskierten String oder im Fehlerfall FALSE zurück.

Beispiele

Beispiel #1 Einfaches mysql_real_escape_string()-Beispiel

<?php
// Verbindung herstellen
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
    OR die(mysql_error());

// Anfrage erstellen
$query = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'",
            mysql_real_escape_string($user),
            mysql_real_escape_string($password));
?>

Beispiel #2 Ein beispielhafter SQL Injection Angriff

<?php
// Wir haben $_POST['password'] nicht geprüft, dies könnte
// ein beliebiger Wert sein den der Benutzer will
// Zum Beispiel:
$_POST['username'] = 'aidan';
$_POST['password'] = "' OR ''='";

// Datenbankabfrage zur Ueberpruefung der Logindaten
$query = "SELECT * FROM users WHERE user='{$_POST['username']}' AND password='{$_POST['password']}'";
mysql_query($query);

// Das bedeutet, der an MySQL gesendete Query wuerde sein:
echo $query;
?>

Die Abfrage, die an MySQL übermittelt wird:

SELECT * FROM users WHERE user='aidan' AND password='' OR ''=''

Dies würde jedermann erlauben, sich ohne valides Passwort einzuloggen.

Anmerkungen

Hinweis:

Sie müssen eine Verbindung zu MySQL geöffnet haben, bevor Sie mysql_real_escape_string() verwenden, ansonsten erhalten Sie einen Fehler vom Typ E_WARNING und der Rückgabewert wird zu FALSE. Ist link_identifier nicht angegeben, wird die letzte MySQL-Verbindung verwendet.

Hinweis:

Ist magic_quotes_gpc aktiviert, wenden Sie zuerst stripslashes() auf die Daten an. Das Bearbeiten bereits in irgend einer Form maskierter Daten durch mysql_real_escape_string führt ansonsten dazu, dass bereits Maskiertes doppelt maskiert wird.

Hinweis:

Wenn die Funktion nicht verwendet wird, um die Daten zu maskieren, ist der Query anfällig für SQL Injection Angriffe.

Hinweis: mysql_real_escape_string() maskiert weder % noch _. Diese Zeichen werden in MySQL als Platzhalter interpretiert, wenn sie mit LIKE, GRANT oder REVOKE kombiniert werden.

Siehe auch

  • mysql_set_charset() - Setzt den Verbindungszeichensatz
  • mysql_client_encoding() - Liefert den Namen des Zeichensatzes
  • addslashes() - Stellt bestimmten Zeichen eines Strings ein "\" voran
  • stripslashes() - Entfernt Maskierungszeichen aus einem String
  • Die magic_quotes_gpc-Direktive
  • Die magic_quotes_runtime-Direktive

mysql_query
mysql_result
MySQL Funktionen


Liefert Ergebnis

mysql_real_escape_string
mysql_select_db
MySQL Funktionen
PHP Manual

mysql_result

(PHP 4, PHP 5)

mysql_result — Liefert Ergebnis

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_data_seek() zusammen mit
mysqli_field_seek() und
mysqli_fetch_field()
  • PDOStatement::fetchColumn()

Beschreibung

string mysql_result ( resource $result , int $row [, mixed $field = 0 ] )

Liefert den Inhalt einer Spalte von einer MySQL Ergebnismenge.

Wenn auf Anfrageergebnisse mit vielen Datensätzen zugegriffen werden soll, sollten Sie Funktionen, die auf ganze Zeilen zugreifen, in Betracht ziehen (siehe unten). Diese Funktionen liefern bei einem einzigen Aufruf den Inhalt mehrerer Spalten und sind aus diesem Grund SEHR viel schneller als mysql_result(). Beachten Sie auch, dass die Angabe eines numerischen Offsets für ein Feld sehr viel schneller ist als die Angabe eines Feldnamens oder tabellenname.feldname.

Parameter-Liste

Ergebnis

Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von mysql_query().

row

Die Zeilennummer des erhaltenen Ergebnisses. Zeilennummern beginnen mit 0.

field

Der Name oder der Offset der zu erhaltenden Spalte (Feld).

Dies kann der Offset der Spalte sein, der Name der Spalte oder ein Bezeichner in der Form Tabellenname.Spaltenname. Wurde ein Alias für den Spaltennamen verwendet ('select foo as bar from...'), nutzen sie stattdessen den Alias. Ist der Wert nicht definiert, wird die erste Spalte zurückgegeben.

Rückgabewerte

Die Inhalte einer Spalte einer MySQL Ergebnismenge bei Erfolg oder FALSE bei Fehlern.

Beispiele

Beispiel #1 mysql_result() Beispiel

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Keine Verbindung möglich: ' . mysql_error());
}
if (!mysql_select_db('database_name')) {
    die('Konnte Schema nicht selektieren: ' . mysql_error());
}
$result = mysql_query('SELECT name FROM work.employee');
if (!$result) {
    die('Konnte Abfrage nicht ausführen:' . mysql_error());
}
echo mysql_result($result, 2); // gibt Name des dritten Angestellten aus

mysql_close($link);
?>

Anmerkungen

Hinweis:

Aufrufe von mysql_result() sollten nicht mit Aufrufen anderer Funktionen verschachtelt werden, die auch auf das Ergebnis zugreifen.

Siehe auch

  • mysql_fetch_row() - Liefert einen Datensatz als indiziertes Array
  • mysql_fetch_array() - Liefert einen Datensatz als assoziatives Array, als numerisches Array oder beides
  • mysql_fetch_assoc() - Liefert einen Datensatz als assoziatives Array
  • mysql_fetch_object() - Liefert eine Ergebniszeile als Objekt

mysql_real_escape_string
mysql_select_db
MySQL Funktionen


Auswahl einer MySQL Datenbank

mysql_result
mysql_set_charset
MySQL Funktionen
PHP Manual

mysql_select_db

(PHP 4, PHP 5)

mysql_select_db — Auswahl einer MySQL Datenbank

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_select_db()
  • PDO::__construct() (Teil des DSN)

Beschreibung

bool mysql_select_db ( string $database_name [, resource $link_identifier = NULL ] )

Setzt die aktive Datenbank auf dem Server die mit der angegebenen Verbindung assoziiert ist. Jeder nachfolgende Aufruf von mysql_query() operiert auf dieser aktiven Datenbank.

Parameter-Liste

database_name

Der Name der zu selektierenden Datenbank.

Verbindungs-Kennung

Die MySQL-Verbindung. Wird die Verbindungskennung nicht angegeben, wird die letzte durch mysql_connect() geöffnete Verbindung angenommen. Falls keine solche Verbindung gefunden wird, wird versucht, eine Verbindung aufzubauen, wie es beim Aufruf von mysql_connect() ohne Angabe von Argumenten der Fall wäre. Falls zufällig keine Verbindung gefunden oder aufgebaut werden kann, wird eine Warnung der Stufe E_WARNING erzeugt.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 mysql_select_db() Beispiel

<?php

$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Verbindung nicht möglich : ' . mysql_error());
}

// benutze Datenbank foo
$db_selected = mysql_select_db('foo', $link);
if (!$db_selected) {
    die ('Kann foo nicht benutzen : ' . mysql_error());
}
?>

Anmerkungen

Hinweis:

Für die Abwärtskompatibiliät kann der folgende veraltete Alias verwendet werden: mysql_selectdb()

Siehe auch

  • mysql_connect() - Öffnet eine Verbindung zu einem MySQL-Server
  • mysql_pconnect() - Öffnet eine persistente Verbindung zum MySQL Server
  • mysql_query() - Sendet eine Anfrage an MySQL

mysql_result
mysql_set_charset
MySQL Funktionen


Setzt den Verbindungszeichensatz

mysql_select_db
mysql_stat
MySQL Funktionen
PHP Manual

mysql_set_charset

(PHP 5 >= 5.2.3)

mysql_set_charset — Setzt den Verbindungszeichensatz

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_set_charset()
  • PDO: charset zum Connection String hinzufügen, beispielsweisecharset=utf8

Beschreibung

bool mysql_set_charset ( string $charset [, resource $link_identifier = NULL ] )

Setzt den Standardzeichensatz für die angegebene Verbindung.

Parameter-Liste

charset

Ein gültiger Zeichensatzname.

Verbindungs-Kennung

Die MySQL-Verbindung. Wird die Verbindungskennung nicht angegeben, wird die letzte durch mysql_connect() geöffnete Verbindung angenommen. Falls keine solche Verbindung gefunden wird, wird versucht, eine Verbindung aufzubauen, wie es beim Aufruf von mysql_connect() ohne Angabe von Argumenten der Fall wäre. Falls zufällig keine Verbindung gefunden oder aufgebaut werden kann, wird eine Warnung der Stufe E_WARNING erzeugt.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Hinweis:

Diese Funktion benötigt MySQL 5.0.7 oder später.

Hinweis:

Dies ist der bevorzugte Weg zur Änderung des Zeichensatzes. Über mysql_query() (z.B. SET NAMES utf8) auszuführen, wird nicht empfohlen. Siehe den Abschnitt MySQL Zeichensatz Konzepte für nähere Informationen.

Siehe auch

  • mysql_client_encoding() - Liefert den Namen des Zeichensatzes
  • Setzen des Zeichensatzes in MySQL
  • » Liste der von MySQL unterstützten Zeichensätze

mysql_select_db
mysql_stat
MySQL Funktionen


Zeigt den momentanen Serverstatus an

mysql_set_charset
mysql_tablename
MySQL Funktionen
PHP Manual

mysql_stat

(PHP 4 >= 4.3.0, PHP 5)

mysql_stat — Zeigt den momentanen Serverstatus an

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_stat()
  • PDO::getAttribute(PDO::ATTR_SERVER_INFO)

Beschreibung

string mysql_stat ([ resource $link_identifier = NULL ] )

mysql_stat() gibt den momentanen Server Status zurück.

Parameter-Liste

Verbindungs-Kennung

Die MySQL-Verbindung. Wird die Verbindungskennung nicht angegeben, wird die letzte durch mysql_connect() geöffnete Verbindung angenommen. Falls keine solche Verbindung gefunden wird, wird versucht, eine Verbindung aufzubauen, wie es beim Aufruf von mysql_connect() ohne Angabe von Argumenten der Fall wäre. Falls zufällig keine Verbindung gefunden oder aufgebaut werden kann, wird eine Warnung der Stufe E_WARNING erzeugt.

Rückgabewerte

Gibt eine Zeichenkette mit dem Status für uptime, threads, queries, open tables, flush tables und queries per second zurück. Für eine komplette Liste der anderen Status Variablen müssen sie die SHOW STATUS SQL Anweisung nutzen. Wenn die Verbindungs-Kennung Verbindungs-Kennung ungültig ist, wird NULL zurückgegeben.

Beispiele

Beispiel #1 mysql_stat() Beispiel

<?php
$link   = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$status = explode('  ', mysql_stat($link));
print_r($status);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [0] => Uptime: 5380
    [1] => Threads: 2
    [2] => Questions: 1321299
    [3] => Slow queries: 0
    [4] => Opens: 26
    [5] => Flush tables: 1
    [6] => Open tables: 17
    [7] => Queries per second avg: 245.595
)

Beispiel #2 Alternatives mysql_stat() Beispiel

<?php
$link   = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$result = mysql_query('SHOW STATUS', $link);
while ($row = mysql_fetch_assoc($result)) {
    echo $row['Variable_name'] . ' = ' . $row['Value'] . "\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

back_log = 50
basedir = /usr/local/
bdb_cache_size = 8388600
bdb_log_buffer_size = 32768
bdb_home = /var/db/mysql/
bdb_max_lock = 10000
bdb_logdir =
bdb_shared_data = OFF
bdb_tmpdir = /var/tmp/
...

Siehe auch

  • mysql_get_server_info() - Liefert MySQL Server Informationen
  • mysql_list_processes() - Zeigt die MySQL Prozesse an

mysql_set_charset
mysql_tablename
MySQL Funktionen


Liefert den Namen einer Tabelle

mysql_stat
mysql_thread_id
MySQL Funktionen
PHP Manual

mysql_tablename

(PHP 4, PHP 5)

mysql_tablename — Liefert den Namen einer Tabelle

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • SQL Query: SHOW TABLES

Beschreibung

string mysql_tablename ( resource $result , int $i )

Liest den Tabellennamen aus einem Ergebnis (result).

Diese Funktion ist veraltet. Es wird empfohlen, stattdessen eine SQL-Query wie SHOW TABLES [FROM db_name] [LIKE 'pattern'] zu verwenden.

Parameter-Liste

result

Ein Ergebniszeiger (resource), der von mysql_list_tables() zurückgegeben wird.

i

Der Integer-Index (Zeilen-/Tabellennummer).

Rückgabewerte

Der Tabellenname bei Erfolg. Im Fehlerfall wird FALSE zurückgegeben..

Nutzen Sie die mysql_tablename()-Funktion, um den Ergebniszeiger zu durchlaufen, oder nutzen Sie eine andere Ergebnisfunktion wie mysql_fetch_array().

Changelog

Version | Beschreibung
5.5.0 | Die Funktion mysql_tablename() ist veraltet und ruft einen Fehler der Stufe E_DEPRECATED hervor.

Beispiele

Beispiel #1 mysql_tablename()-Beispiel

<?php
mysql_connect("localhost", "mysql_user", "mysql_password");
$result = mysql_list_tables("mydb");
$num_rows = mysql_num_rows($result);
for ($i = 0; $i < $num_rows; $i++) {
    echo "Tabelle: ", mysql_tablename($result, $i), "\n";
}

mysql_free_result($result);
?>

Anmerkungen

Hinweis:

Die mysql_num_rows()-Funktion kann genutzt werden, um die Anzahl der Tabellen im Ergebnis-Pointer zu bestimmen.

Siehe auch

  • mysql_list_tables() - Listet Tabellen in einer MySQL Datenbank auf
  • mysql_field_table() - Liefert den Namen der Tabelle, die das genannte Feld enthält
  • mysql_db_name() - Liefert Schema Namen vom Aufruf von mysql_list_dbs

mysql_stat
mysql_thread_id
MySQL Funktionen


Zeigt die aktuelle Thread ID an

mysql_tablename
mysql_unbuffered_query
MySQL Funktionen
PHP Manual

mysql_thread_id

(PHP 4 >= 4.3.0, PHP 5)

mysql_thread_id — Zeigt die aktuelle Thread ID an

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • mysqli_thread_id()

Beschreibung

int mysql_thread_id ([ resource $link_identifier = NULL ] )

Liefert die aktuelle Thread ID. Ist die Verbindung abgerissen und Sie bauen diese wieder mit mysql_ping() auf, wechselt die Thread ID. Das bedeutet, dass sie die Thread ID nur abfragen, wenn sie sie benötigen.

Parameter-Liste

Verbindungs-Kennung

Die MySQL-Verbindung. Wird die Verbindungskennung nicht angegeben, wird die letzte durch mysql_connect() geöffnete Verbindung angenommen. Falls keine solche Verbindung gefunden wird, wird versucht, eine Verbindung aufzubauen, wie es beim Aufruf von mysql_connect() ohne Angabe von Argumenten der Fall wäre. Falls zufällig keine Verbindung gefunden oder aufgebaut werden kann, wird eine Warnung der Stufe E_WARNING erzeugt.

Rückgabewerte

Die Thread ID bei ErfolgIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 mysql_thread_id() Beispiel

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$thread_id = mysql_thread_id($link);
if ($thread_id){
    printf("Aktuelle Thread id ist %d\n", $thread_id);
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Aktuelle Thread id ist 73

Siehe auch

  • mysql_ping() - Ping a server connection or reconnect if there is no connection
  • mysql_list_processes() - Zeigt die MySQL Prozesse an

mysql_tablename
mysql_unbuffered_query
MySQL Funktionen


Sendet eine SQL Anfrage an MySQL, ohne Ergebniszeilen abzuholen und zu puffern

mysql_thread_id
Mysqlnd
MySQL Funktionen
PHP Manual

mysql_unbuffered_query

(PHP 4 >= 4.0.6, PHP 5)

mysql_unbuffered_query — Sendet eine SQL Anfrage an MySQL, ohne Ergebniszeilen abzuholen und zu puffern

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

  • Siehe: Gepufferte und ungepufferte Queries

Beschreibung

resource mysql_unbuffered_query ( string $query [, resource $link_identifier = NULL ] )

mysql_unbuffered_query() sendet die SQL Anfrage query an MySQL, ohne dass die Datensätze des Ergebnisses automatisch geholt und gepuffert werden, wie es bei der Verwendung von mysql_query() der Fall ist. Dies spart eine erhebliche Menge an Speicher bei SQL Anfragen ein, die große Ergebnismengen liefern und sie können unmittelbar mit dem Anfrageergebnis arbeiten, sobald der erste Datensatz gefunden wurde: Sie müssen nicht darauf warten, bis die gesamte SQL Anfrage abgeschlossen ist. Zur Nutzung von mysql_unbuffered_query() mit verschiedenen Datenbanken gleichzeitig zugegriffen, muss der optionale Parameter Verbindungs-Kennung angegeben werden.

Parameter-Liste

query

Die auszuführende SQL Abfrage.

Werte innerhalb der Abfrage sollten mit korrekt maskiert sein.

Verbindungs-Kennung

Die MySQL-Verbindung. Wird die Verbindungskennung nicht angegeben, wird die letzte durch mysql_connect() geöffnete Verbindung angenommen. Falls keine solche Verbindung gefunden wird, wird versucht, eine Verbindung aufzubauen, wie es beim Aufruf von mysql_connect() ohne Angabe von Argumenten der Fall wäre. Falls zufällig keine Verbindung gefunden oder aufgebaut werden kann, wird eine Warnung der Stufe E_WARNING erzeugt.

Rückgabewerte

Für SELECT, SHOW, DESCRIBE oder EXPLAIN Anweisungen gibt mysql_unbuffered_query() eine Kennung resource bei Erfolg zurück oder FALSE bei Fehlern.

Für alle anderen von SQL Anweisungen wie INSERT, UPDATE, DELETE, DROP, etc, gibt mysql_unbuffered_query() TRUE bei Erfolg zurück oder FALSE bei Fehlern.

Anmerkungen

Hinweis:

Die Vorteile von mysql_unbuffered_query() haben ihren Preis: Auf ein Ergebnis von mysql_unbuffered_query() können die Funktionen mysql_num_rows() und mysql_data_seek() nicht angewendet werden. Ausserdem müssen Sie sicherstellen, dass Sie alle Zeilen des Ergebnisses einer ungepufferteten SQL Anfrage abgeholt haben. Erst dann können Sie eine neue SQL Anfrage bei Nutzung derselben Verbindung Verbindungs-Kennung an MySQL absetzen.

Siehe auch

  • mysql_query() - Sendet eine Anfrage an MySQL

mysql_thread_id
Mysqlnd
MySQL Funktionen


MySQL Native Driver

  • Einführung
  • Overview
  • Installation
  • Laufzeit-Konfiguration
  • Incompatibilities
  • Persistent Connections
  • Statistics
  • Notes
  • Memory management
  • MySQL Native Driver Plugin API
    • A comparison of mysqlnd plugins with MySQL Proxy
    • Obtaining the mysqlnd plugin API
    • MySQL Native Driver Plugin Architecture
    • The mysqlnd plugin API
    • Getting started building a mysqlnd plugin
mysql_unbuffered_query
Einführung
MySQL


Einführung

MySQL Native Driver is a replacement for the MySQL Client Library (libmysqlclient). MySQL Native Driver is part of the official PHP sources as of PHP 5.3.0.

The MySQL database extensions MySQL extension, mysqli and PDO MYSQL all communicate with the MySQL server. In the past, this was done by the extension using the services provided by the MySQL Client Library. The extensions were compiled against the MySQL Client Library in order to use its client-server protocol.

With MySQL Native Driver there is now an alternative, as the MySQL database extensions can be compiled to use MySQL Native Driver instead of the MySQL Client Library.

MySQL Native Driver is written in C as a PHP extension.

Mysqlnd
Overview
Mysqlnd


Overview

What it is not

Although MySQL Native Driver is written as a PHP extension, it is important to note that it does not provide a new API to the PHP programmer. The programmer APIs for MySQL database connectivity are provided by the MySQL extension, mysqli and PDO MYSQL. These extensions can now use the services of MySQL Native Driver to communicate with the MySQL Server. Therefore, you should not think of MySQL Native Driver as an API.

Why use it?

Using the MySQL Native Driver offers a number of advantages over using the MySQL Client Library.

The older MySQL Client Library was written by MySQL AB (now Oracle Corporation) and so was released under the MySQL license. This ultimately led to MySQL support being disabled by default in PHP. However, the MySQL Native Driver has been developed as part of the PHP project, and is therefore released under the PHP license. This removes licensing issues that have been problematic in the past.

Also, in the past, you needed to build the MySQL database extensions against a copy of the MySQL Client Library. This typically meant you needed to have MySQL installed on a machine where you were building the PHP source code. Also, when your PHP application was running, the MySQL database extensions would call down to the MySQL Client library file at run time, so the file needed to be installed on your system. With MySQL Native Driver that is no longer the case as it is included as part of the standard distribution. So you do not need MySQL installed in order to build PHP or run PHP database applications.

Because MySQL Native Driver is written as a PHP extension, it is tightly coupled to the workings of PHP. This leads to gains in efficiency, especially when it comes to memory usage, as the driver uses the PHP memory management system. It also supports the PHP memory limit. Using MySQL Native Driver leads to comparable or better performance than using MySQL Client Library, it always ensures the most efficient use of memory. One example of the memory efficiency is the fact that when using the MySQL Client Library, each row is stored in memory twice, whereas with the MySQL Native Driver each row is only stored once in memory.

Hinweis: Reporting memory usage

Because MySQL Native Driver uses the PHP memory management system, its memory usage can be tracked with memory_get_usage(). This is not possible with libmysqlclient because it uses the C function malloc() instead.

Special features

MySQL Native Driver also provides some special features not available when the MySQL database extensions use MySQL Client Library. These special features are listed below:

  • Improved persistent connections

  • The special function mysqli_fetch_all()

  • Performance statistics calls:
mysqli_get_cache_stats(),
mysqli_get_client_stats(),
mysqli_get_connection_stats()

The performance statistics facility can prove to be very useful in identifying performance bottlenecks.

MySQL Native Driver also allows for persistent connections when used with the mysqli extension.

SSL Support

MySQL Native Driver has supported SSL since PHP version 5.3.3

Compressed Protocol Support

As of PHP 5.3.2 MySQL Native Driver supports the compressed client server protocol. MySQL Native Driver did not support this in 5.3.0 and 5.3.1. Extensions such as ext/mysql, ext/mysqli, that are configured to use MySQL Native Driver, can also take advantage of this feature. Note that PDO_MYSQL does NOT support compression when used together with mysqlnd.

Named Pipes Support

Named pipes support for Windows was added in PHP version 5.4.0.

Einführung
Installation
Mysqlnd


Installation

Changelog

Changelog
Version | Beschreibung
5.3.0 | The MySQL Native Driver was added, with support for all MySQL extensions (i.e., mysql, mysqli and PDO_MYSQL). Passing in mysqlnd to the appropriate configure switch enables this support.
5.4.0 | The MySQL Native Driver is now the default for all MySQL extensions (i.e., mysql, mysqli and PDO_MYSQL). Passing in mysqlnd to configure is now optional.
5.5.0 | SHA-256 Authentication Plugin support was added

Installation on Unix

The MySQL database extensions must be configured to use the MySQL Client Library. In order to use the MySQL Native Driver, PHP needs to be built specifying that the MySQL database extensions are compiled with MySQL Native Driver support. This is done through configuration options prior to building the PHP source code.

For example, to build the MySQL extension, mysqli and PDO MYSQL using the MySQL Native Driver, the following command would be given:

./configure --with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
[other options]

Installation on Windows

In the official PHP Windows distributions from 5.3 onwards, MySQL Native Driver is enabled by default, so no additional configuration is required to use it. All MySQL database extensions will use MySQL Native Driver in this case.

SHA-256 Authentication Plugin support

The MySQL Native Driver requires the OpenSSL functionality of PHP to be loaded and enabled to connect to MySQL through accounts that use the MySQL SHA-256 Authentication Plugin. For example, PHP could be configured using:

./configure --with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-openssl
[other options]
Overview
Laufzeit-Konfiguration
Mysqlnd


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

MySQL Native Driver Configuration Options
Name | Standard | Veränderbar | Changelog
mysqlnd.collect_statistics | "1" | PHP_INI_SYSTEM | Available since PHP 5.3.0.
mysqlnd.collect_memory_statistics | "0" | PHP_INI_SYSTEM | Available since PHP 5.3.0.
mysqlnd.debug | "" | PHP_INI_SYSTEM | Available since PHP 5.3.0.
mysqlnd.log_mask | 0 | PHP_INI_ALL | Available since PHP 5.3.0
mysqlnd.mempool_default_size | 16000 | PHP_INI_ALL | Available since PHP 5.3.3
mysqlnd.net_read_timeout | "31536000" | PHP_INI_SYSTEM | Available since PHP 5.3.0.
mysqlnd.net_cmd_buffer_size | 5.3.0 - "2048", 5.3.1 - "4096" | PHP_INI_SYSTEM | Available since PHP 5.3.0.
mysqlnd.net_read_buffer_size | "32768" | PHP_INI_SYSTEM | Available since PHP 5.3.0.
mysqlnd.sha256_server_public_key | "" | PHP_INI_PERDIR | Available since PHP 5.5.0.
mysqlnd.fetch_data_copy | 0 | PHP_INI_ALL | Available since PHP 5.6.0.
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

mysqlnd.collect_statistics boolean

Enables the collection of various client statistics which can be
accessed through mysqli_get_client_stats(),
mysqli_get_connection_stats(),
mysqli_get_cache_stats() and are shown in
mysqlnd section of the output of the
phpinfo() function as well.

This configuration setting enables all MySQL Native Driver statistics except those relating to memory management.

mysqlnd.collect_memory_statistics boolean

Enable the collection of various memory statistics which can be
accessed through mysqli_get_client_stats(),
mysqli_get_connection_stats(),
mysqli_get_cache_stats() and are shown in
mysqlnd section of the output of the
phpinfo() function as well.

This configuration setting enables the memory management statistics within the overall set of MySQL Native Driver statistics.

mysqlnd.debug string

Records communication from all extensions using mysqlnd to the specified log file.

The format of the directive is mysqlnd.debug = "option1[,parameter_option1][:option2[,parameter_option2]]".

The options for the format string are as follows:

  • A[,file] - Appends trace output to specified file. Also ensures that data is written after each write. This is done by closing and reopening the trace file (this is slow). It helps ensure a complete log file should the application crash.

  • a[,file] - Appends trace output to the specified file.

  • d - Enables output from DBUG_<N> macros for the current state. May be followed by a list of keywords which selects output only for the DBUG macros with that keyword. An empty list of keywords implies output for all macros.

  • f[,functions] - Limits debugger actions to the specified list of functions. An empty list of functions implies that all functions are selected.

  • F - Marks each debugger output line with the name of the source file containing the macro causing the output.

  • i - Marks each debugger output line with the PID of the current process.

  • L - Marks each debugger output line with the name of the source file line number of the macro causing the output.

  • n - Marks each debugger output line with the current function nesting depth

  • o[,file] - Similar to a[,file] but overwrites old file, and does not append.

  • O[,file] - Similar to A[,file] but overwrites old file, and does not append.

  • t[,N] - Enables function control flow tracing. The maximum nesting depth is specified by N, and defaults to 200.

  • x - This option activates profiling.

  • m - Trace memory allocation and deallocation related calls.

Example:

d:t:x:O,/tmp/mysqlnd.trace

Hinweis:

This feature is only available with a debug build of PHP. Works on Microsoft Windows if using a debug build of PHP and PHP was built using Microsoft Visual C version 9 and above.

mysqlnd.log_mask integer

Defines which queries will be logged. The default 0, which disables logging. Define using an integer, and not with PHP constants. For example, a value of 48 (16 + 32) will log slow queries which either use 'no good index' (SERVER_QUERY_NO_GOOD_INDEX_USED = 16) or no index at all (SERVER_QUERY_NO_INDEX_USED = 32). A value of 2043 (1 + 2 + 8 + ... + 1024) will log all slow query types.

The types are as follows: SERVER_STATUS_IN_TRANS=1, SERVER_STATUS_AUTOCOMMIT=2,
SERVER_MORE_RESULTS_EXISTS=8, SERVER_QUERY_NO_GOOD_INDEX_USED=16, SERVER_QUERY_NO_INDEX_USED=32,
SERVER_STATUS_CURSOR_EXISTS=64, SERVER_STATUS_LAST_ROW_SENT=128, SERVER_STATUS_DB_DROPPED=256,
SERVER_STATUS_NO_BACKSLASH_ESCAPES=512, and SERVER_QUERY_WAS_SLOW=1024.

mysqlnd.mempool_default_size integer

Default size of the mysqlnd memory pool, which is used by result sets.

mysqlnd.net_read_timeout integer

mysqlnd and the MySQL Client Library, libmysqlclient use different networking APIs. mysqlnd uses PHP streams, whereas libmysqlclient uses its own wrapper around the operating level network calls. PHP, by default, sets a read timeout of 60s for streams. This is set via php.ini, default_socket_timeout. This default applies to all streams that set no other timeout value. mysqlnd does not set any other value and therefore connections of long running queries can be disconnected after default_socket_timeout seconds resulting in an error message "2006 - MySQL Server has gone away". The MySQL Client Library sets a default timeout of 365 * 24 * 3600 seconds (1 year) and waits for other timeouts to occur, such as TCP/IP timeouts. mysqlnd now uses the same very long timeout. The value is configurable through a new php.ini setting: mysqlnd.net_read_timeout. mysqlnd.net_read_timeout gets used by any extension (ext/mysql, ext/mysqli, PDO_MySQL) that uses mysqlnd. mysqlnd tells PHP Streams to use mysqlnd.net_read_timeout. Please note that there may be subtle differences between MYSQL_OPT_READ_TIMEOUT from the MySQL Client Library and PHP Streams, for example MYSQL_OPT_READ_TIMEOUT is documented to work only for TCP/IP connections and, prior to MySQL 5.1.2, only for Windows. PHP streams may not have this limitation. Please check the streams documentation, if in doubt.

mysqlnd.net_cmd_buffer_size long

mysqlnd allocates an internal command/network buffer of mysqlnd.net_cmd_buffer_size (in php.ini) bytes for every connection. If a MySQL Client Server protocol command, for example, COM_QUERY ("normal" query), does not fit into the buffer, mysqlnd will grow the buffer to the size required for sending the command. Whenever the buffer gets extended for one connection, command_buffer_too_small will be incremented by one.

If mysqlnd has to grow the buffer beyond its initial size of mysqlnd.net_cmd_buffer_size bytes for almost every connection, you should consider increasing the default size to avoid re-allocations.

The default buffer size is 2048 bytes in PHP 5.3.0. In later versions the default is 4096 bytes.

It is recommended that the buffer size be set to no less than 4096 bytes because mysqlnd also uses it when reading certain communication packet from MySQL. In PHP 5.3.0, mysqlnd will not grow the buffer if MySQL sends a packet that is larger than the current size of the buffer. As a consequence, mysqlnd is unable to decode the packet and the client application will get an error. There are only two situations when the packet can be larger than the 2048 bytes default of mysqlnd.net_cmd_buffer_size in PHP 5.3.0: the packet transports a very long error message, or the packet holds column meta data from COM_LIST_FIELD (mysql_list_fields() and the meta data come from a string column with a very long default value (>1900 bytes).

As of PHP 5.3.2 mysqlnd does not allow setting buffers smaller than 4096 bytes.

The value can also be set using mysqli_options(link, MYSQLI_OPT_NET_CMD_BUFFER_SIZE, size).

mysqlnd.net_read_buffer_size long

Maximum read chunk size in bytes when reading the body of a MySQL command packet. The MySQL client server protocol encapsulates all its commands in packets. The packets consist of a small header and a body with the actual payload. The size of the body is encoded in the header. mysqlnd reads the body in chunks of MIN(header.size, mysqlnd.net_read_buffer_size) bytes. If a packet body is larger than mysqlnd.net_read_buffer_size bytes, mysqlnd has to call read() multiple times.

The value can also be set using mysqli_options(link, MYSQLI_OPT_NET_READ_BUFFER_SIZE, size).

mysqlnd.sha256_server_public_key string

SHA-256 Authentication Plugin related. File with the MySQL server public RSA key.

Clients can either omit setting a public RSA key, specify the key through this PHP configuration setting or set the key at runtime using mysqli_options(). If not public RSA key file is given by the client, then the key will be exchanged as part of the standard SHA-256 Authentication Plugin authentication procedure.

mysqlnd.fetch_data_copy long

Enforce copying result sets from the internal result set buffers into PHP variables instead of using the default reference and copy-on-write logic. Please, see the memory management implementation notes for further details.

Copying result sets instead of having PHP variables reference them allows releasing the memory occupied for the PHP variables earlier. Depending on the user API code, the actual database quries and the size of their result sets this may reduce the memory footprint of mysqlnd.

Do not set if using PDO_MySQL. PDO_MySQL has not yet been updated to support the new fetch mode.

Installation
Incompatibilities
Mysqlnd


Incompatibilities

MySQL Native Driver is in most cases compatible with MySQL Client Library (libmysql). This section documents incompatibilities between these libraries.

  • Values of bit data type are returned as binary strings (e.g. "\0" or "\x1F") with libmysql and as decimal strings (e.g. "0" or "31") with mysqlnd. If you want the code to be compatible with both libraries then always return bit fields as numbers from MySQL with a query like this: SELECT bit + 0 FROM table.

Laufzeit-Konfiguration
Persistent Connections
Mysqlnd


Persistent Connections

Using Persistent Connections

If mysqli is used with mysqlnd, when a persistent connection is created it generates a COM_CHANGE_USER (mysql_change_user()) call on the server. This ensures that re-authentication of the connection takes place.

As there is some overhead associated with the COM_CHANGE_USER call, it is possible to switch this off at compile time. Reusing a persistent connection will then generate a COM_PING (mysql_ping) call to simply test the connection is reusable.

Generation of COM_CHANGE_USER can be switched off with the compile flag MYSQLI_NO_CHANGE_USER_ON_PCONNECT. For example:

shell# CFLAGS="-DMYSQLI_NO_CHANGE_USER_ON_PCONNECT" ./configure --with-mysql=/usr/local/mysql/ --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql/bin/mysql_config --enable-debug && make clean && make -j6

Or alternatively:

shell# export CFLAGS="-DMYSQLI_NO_CHANGE_USER_ON_PCONNECT"
shell# configure --whatever-option
shell# make clean
shell# make

Note that only mysqli on mysqlnd uses COM_CHANGE_USER. Other extension-driver combinations use COM_PING on initial use of a persistent connection.

Incompatibilities
Statistics
Mysqlnd


Statistics

Using Statistical Data

MySQL Native Driver contains support for gathering statistics on the communication between the client and the server. The statistics gathered are of two main types:

  • Client statistics

  • Connection statistics

If you are using the mysqli extension, these statistics can be obtained through two API calls:

  • mysqli_get_client_stats()

  • mysqli_get_connection_stats()

Hinweis:

Statistics are aggregated among all extensions that use MySQL Native Driver. For example, when compiling both ext/mysql and ext/mysqli against MySQL Native Driver, both function calls of ext/mysql and ext/mysqli will change the statistics. There is no way to find out how much a certain API call of any extension that has been compiled against MySQL Native Driver has impacted a certain statistic. You can configure the PDO MySQL Driver, ext/mysql and ext/mysqli to optionally use the MySQL Native Driver. When doing so, all three extensions will change the statistics.

Accessing Client Statistics

To access client statistics, you need to call mysqli_get_client_stats(). The function call does not require any parameters.

The function returns an associative array that contains the name of the statistic as the key and the statistical data as the value.

Client statistics can also be accessed by calling the phpinfo() function.

Accessing Connection Statistics

To access connection statistics call mysqli_get_connection_stats(). This takes the database connection handle as the parameter.

The function returns an associative array that contains the name of the statistic as the key and the statistical data as the value.

Buffered and Unbuffered Result Sets

Result sets can be buffered or unbuffered. Using default settings, ext/mysql and ext/mysqli work with buffered result sets for normal (non prepared statement) queries. Buffered result sets are cached on the client. After the query execution all results are fetched from the MySQL Server and stored in a cache on the client. The big advantage of buffered result sets is that they allow the server to free all resources allocated to a result set, once the results have been fetched by the client.

Unbuffered result sets on the other hand are kept much longer on the server. If you want to reduce memory consumption on the client, but increase load on the server, use unbuffered results. If you experience a high server load and the figures for unbuffered result sets are high, you should consider moving the load to the clients. Clients typically scale better than servers. "Load" does not only refer to memory buffers - the server also needs to keep other resources open, for example file handles and threads, before a result set can be freed.

Prepared Statements use unbuffered result sets by default. However, you can use mysqli_stmt_store_result() to enable buffered result sets.

Statistics returned by MySQL Native Driver

The following tables show a list of statistics returned by the mysqli_get_client_stats() and mysqli_get_connection_stats() functions.

Returned mysqlnd statistics: Network
Statistic | Scope | Description | Notes
bytes_sent | Connection | Number of bytes sent from PHP to the MySQL server | Can be used to check the efficiency of the compression protocol
bytes_received | Connection | Number of bytes received from MySQL server | Can be used to check the efficiency of the compression protocol
packets_sent | Connection | Number of MySQL Client Server protocol packets sent | Used for debugging Client Server protocol implementation
packets_received | Connection | Number of MySQL Client Server protocol packets received | Used for debugging Client Server protocol implementation
protocol_overhead_in | Connection | MySQL Client Server protocol overhead in bytes for incoming traffic. Currently only the Packet Header (4 bytes) is considered as overhead. protocol_overhead_in = packets_received * 4 | Used for debugging Client Server protocol implementation
protocol_overhead_out | Connection | MySQL Client Server protocol overhead in bytes for outgoing traffic. Currently only the Packet Header (4 bytes) is considered as overhead. protocol_overhead_out = packets_sent * 4 | Used for debugging Client Server protocol implementation
bytes_received_ok_packet | Connection | Total size of bytes of MySQL Client Server protocol OK packets received. OK packets can contain a status message. The length of the status message can vary and thus the size of an OK packet is not fixed. | Used for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
packets_received_ok | Connection | Number of MySQL Client Server protocol OK packets received. | Used for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
bytes_received_eof_packet | Connection | Total size in bytes of MySQL Client Server protocol EOF packets received. EOF can vary in size depending on the server version. Also, EOF can transport an error message. | Used for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
packets_received_eof | Connection | Number of MySQL Client Server protocol EOF packets. Like with other packet statistics the number of packets will be increased even if PHP does not receive the expected packet but, for example, an error message. | Used for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
bytes_received_rset_header_packet | Connection | Total size in bytes of MySQL Client Server protocol result set header packets. The size of the packets varies depending on the payload (LOAD LOCAL INFILE, INSERT, UPDATE, SELECT, error message). | Used for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
packets_received_rset_header | Connection | Number of MySQL Client Server protocol result set header packets. | Used for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
bytes_received_rset_field_meta_packet | Connection | Total size in bytes of MySQL Client Server protocol result set meta data (field information) packets. Of course the size varies with the fields in the result set. The packet may also transport an error or an EOF packet in case of COM_LIST_FIELDS. | Only useful for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
packets_received_rset_field_meta | Connection | Number of MySQL Client Server protocol result set meta data (field information) packets. | Only useful for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
bytes_received_rset_row_packet | Connection | Total size in bytes of MySQL Client Server protocol result set row data packets. The packet may also transport an error or an EOF packet. You can reverse engineer the number of error and EOF packets by subtracting rows_fetched_from_server_normal and rows_fetched_from_server_ps from bytes_received_rset_row_packet. | Only useful for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
packets_received_rset_row | Connection | Number of MySQL Client Server protocol result set row data packets and their total size in bytes. | Only useful for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
bytes_received_prepare_response_packet | Connection | Total size in bytes of MySQL Client Server protocol OK for Prepared Statement Initialization packets (prepared statement init packets). The packet may also transport an error. The packet size depends on the MySQL version: 9 bytes with MySQL 4.1 and 12 bytes from MySQL 5.0 on. There is no safe way to know how many errors happened. You may be able to guess that an error has occurred if, for example, you always connect to MySQL 5.0 or newer and, bytes_received_prepare_response_packet != packets_received_prepare_response * 12. See also ps_prepared_never_executed, ps_prepared_once_executed. | Only useful for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
packets_received_prepare_response | Connection | Number of MySQL Client Server protocol OK for Prepared Statement Initialization packets (prepared statement init packets). | Only useful for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
bytes_received_change_user_packet | Connection | Total size in bytes of MySQL Client Server protocol COM_CHANGE_USER packets. The packet may also transport an error or EOF. | Only useful for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
packets_received_change_user | Connection | Number of MySQL Client Server protocol COM_CHANGE_USER packets | Only useful for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
packets_sent_command | Connection | Number of MySQL Client Server protocol commands sent from PHP to MySQL. There is no way to know which specific commands and how many of them have been sent. At its best you can use it to check if PHP has sent any commands to MySQL to know if you can consider to disable MySQL support in your PHP binary. There is also no way to reverse engineer the number of errors that may have occurred while sending data to MySQL. The only error that is recorded is command_buffer_too_small (see below). | Only useful for debugging CS protocol implementation.
bytes_received_real_data_normal Connection Number of bytes of payload fetched by the PHP client from mysqlnd using the text protocol. This is the size of the actual data contained in result sets that do not originate from prepared statements and which have been fetched by the PHP client. Note that although a full result set may have been pulled from MySQL by mysqlnd, this statistic only counts actual data pulled from mysqlnd by the PHP client. An example of a code sequence that will increase the value is as follows:
$mysqli = new mysqli();
$res = $mysqli->query("SELECT 'abc'");
$res->fetch_assoc();
$res->close();

Every fetch operation will increase the value.

The statistic will not be increased if the result set is only buffered on the client, but not fetched, such as in the following example:

$mysqli = new mysqli();
$res = $mysqli->query("SELECT 'abc'");
$res->close();

This statistic is available as of PHP version 5.3.4.

bytes_received_real_data_ps | Connection | Number of bytes of the payload fetched by the PHP client from mysqlnd using the prepared statement protocol. | This is the size of the actual data contained in result sets that originate from prepared statements and which has been fetched by the PHP client. The value will not be increased if the result set is not subsequently read by the PHP client. Note that although a full result set may have been pulled from MySQL by mysqlnd, this statistic only counts actual data pulled from mysqlnd by the PHP client. See also bytes_received_real_data_normal. This statistic is available as of PHP version 5.3.4.

Result Set

Returned mysqlnd statistics: Result Set
Statistic | Scope | Description | Notes
result_set_queries | Connection | Number of queries that have generated a result set. Examples of queries that generate a result set: SELECT, SHOW. The statistic will not be incremented if there is an error reading the result set header packet from the line. | You may use it as an indirect measure for the number of queries PHP has sent to MySQL, for example, to identify a client that causes a high database load.
non_result_set_queries | Connection | Number of queries that did not generate a result set. Examples of queries that do not generate a result set: INSERT, UPDATE, LOAD DATA. The statistic will not be incremented if there is an error reading the result set header packet from the line. | You may use it as an indirect measure for the number of queries PHP has sent to MySQL, for example, to identify a client that causes a high database load.
no_index_used | Connection | Number of queries that have generated a result set but did not use an index (see also mysqld start option –log-queries-not-using-indexes). If you want these queries to be reported you can use mysqli_report(MYSQLI_REPORT_INDEX) to make ext/mysqli throw an exception. If you prefer a warning instead of an exception use mysqli_report(MYSQLI_REPORT_INDEX ^ MYSQLI_REPORT_STRICT).
bad_index_used | Connection | Number of queries that have generated a result set and did not use a good index (see also mysqld start option –log-slow-queries). | If you want these queries to be reported you can use mysqli_report(MYSQLI_REPORT_INDEX) to make ext/mysqli throw an exception. If you prefer a warning instead of an exception use mysqli_report(MYSQLI_REPORT_INDEX ^ MYSQLI_REPORT_STRICT)
slow_queries | Connection | SQL statements that took more than long_query_time seconds to execute and required at least min_examined_row_limit rows to be examined. | Not reported through mysqli_report()
buffered_sets | Connection | Number of buffered result sets returned by "normal" queries. "Normal" means "not prepared statement" in the following notes. | Examples of API calls that will buffer result sets on the client: mysql_query(), mysqli_query(), mysqli_store_result(), mysqli_stmt_get_result(). Buffering result sets on the client ensures that server resources are freed as soon as possible and it makes result set scrolling easier. The downside is the additional memory consumption on the client for buffering data. Note that mysqlnd (unlike the MySQL Client Library) respects the PHP memory limit because it uses PHP internal memory management functions to allocate memory. This is also the reason why memory_get_usage() reports a higher memory consumption when using mysqlnd instead of the MySQL Client Library. memory_get_usage() does not measure the memory consumption of the MySQL Client Library at all because the MySQL Client Library does not use PHP internal memory management functions monitored by the function!
unbuffered_sets | Connection | Number of unbuffered result sets returned by normal (non prepared statement) queries. | Examples of API calls that will not buffer result sets on the client: mysqli_use_result()
ps_buffered_sets | Connection | Number of buffered result sets returned by prepared statements. By default prepared statements are unbuffered. | Examples of API calls that will buffer result sets on the client: mysqli_stmt_store_result
ps_unbuffered_sets | Connection | Number of unbuffered result sets returned by prepared statements. | By default prepared statements are unbuffered.
flushed_normal_sets Connection Number of result sets from normal (non prepared statement) queries with unread data which have been flushed silently for you. Flushing happens only with unbuffered result sets. Unbuffered result sets must be fetched completely before a new query can be run on the connection otherwise MySQL will throw an error. If the application does not fetch all rows from an unbuffered result set, mysqlnd does implicitly fetch the result set to clear the line. See also rows_skipped_normal, rows_skipped_ps. Some possible causes for an implicit flush:

  • Faulty client application

  • Client stopped reading after it found what it was looking for but has made MySQL calculate more records than needed

  • Client application has stopped unexpectedly

flushed_ps_sets Connection Number of result sets from prepared statements with unread data which have been flushed silently for you. Flushing happens only with unbuffered result sets. Unbuffered result sets must be fetched completely before a new query can be run on the connection otherwise MySQL will throw an error. If the application does not fetch all rows from an unbuffered result set, mysqlnd does implicitly fetch the result set to clear the line. See also rows_skipped_normal, rows_skipped_ps. Some possible causes for an implicit flush:

  • Faulty client application

  • Client stopped reading after it found what it was looking for but has made MySQL calculate more records than needed

  • Client application has stopped unexpectedly

ps_prepared_never_executed | Connection | Number of statements prepared but never executed. | Prepared statements occupy server resources. You should not prepare a statement if you do not plan to execute it.
ps_prepared_once_executed | Connection | Number of prepared statements executed only one. | One of the ideas behind prepared statements is that the same query gets executed over and over again (with different parameters) and some parsing and other preparation work can be saved, if statement execution is split up in separate prepare and execute stages. The idea is to prepare once and "cache" results, for example, the parse tree to be reused during multiple statement executions. If you execute a prepared statement only once the two stage processing can be inefficient compared to "normal" queries because all the caching means extra work and it takes (limited) server resources to hold the cached information. Consequently, prepared statements that are executed only once may cause performance hurts.
rows_fetched_from_server_normal, rows_fetched_from_server_ps | Connection | Total number of result set rows successfully fetched from MySQL regardless if the client application has consumed them or not. Some of the rows may not have been fetched by the client application but have been flushed implicitly. | See also packets_received_rset_row
rows_buffered_from_client_normal, rows_buffered_from_client_ps | Connection | Total number of successfully buffered rows originating from a "normal" query or a prepared statement. This is the number of rows that have been fetched from MySQL and buffered on client. Note that there are two distinct statistics on rows that have been buffered (MySQL to mysqlnd internal buffer) and buffered rows that have been fetched by the client application (mysqlnd internal buffer to client application). If the number of buffered rows is higher than the number of fetched buffered rows it can mean that the client application runs queries that cause larger result sets than needed resulting in rows not read by the client. | Examples of queries that will buffer results: mysqli_query(), mysqli_store_result()
rows_fetched_from_client_normal_buffered, rows_fetched_from_client_ps_buffered | Connection | Total number of rows fetched by the client from a buffered result set created by a normal query or a prepared statement.
rows_fetched_from_client_normal_unbuffered, rows_fetched_from_client_ps_unbuffered | Connection | Total number of rows fetched by the client from a unbuffered result set created by a "normal" query or a prepared statement.
rows_fetched_from_client_ps_cursor | Connection | Total number of rows fetch by the client from a cursor created by a prepared statement.
rows_skipped_normal, rows_skipped_ps | Connection | Reserved for future use (currently not supported)
copy_on_write_saved, copy_on_write_performed | Process | With mysqlnd, variables returned by the extensions point into mysqlnd internal network result buffers. If you do not change the variables, fetched data will be kept only once in memory. If you change the variables, mysqlnd has to perform a copy-on-write to protect the internal network result buffers from being changed. With the MySQL Client Library you always hold fetched data twice in memory. Once in the internal MySQL Client Library buffers and once in the variables returned by the extensions. In theory mysqlnd can save up to 40% memory. However, note that the memory saving cannot be measured using memory_get_usage().
explicit_free_result, implicit_free_result | Connection, Process (only during prepared statement cleanup) | Total number of freed result sets. | The free is always considered explicit but for result sets created by an init command, for example, mysqli_options(MYSQLI_INIT_COMMAND , ...)
proto_text_fetched_null, proto_text_fetched_bit, proto_text_fetched_tinyint proto_text_fetched_short, proto_text_fetched_int24, proto_text_fetched_int proto_text_fetched_bigint, proto_text_fetched_decimal, proto_text_fetched_float proto_text_fetched_double, proto_text_fetched_date, proto_text_fetched_year proto_text_fetched_time, proto_text_fetched_datetime, proto_text_fetched_timestamp proto_text_fetched_string, proto_text_fetched_blob, proto_text_fetched_enum proto_text_fetched_set, proto_text_fetched_geometry, proto_text_fetched_other Connection Total number of columns of a certain type fetched from a normal query (MySQL text protocol). Mapping from C API / MySQL meta data type to statistics name:

  • MYSQL_TYPE_NULL - proto_text_fetched_null

  • MYSQL_TYPE_BIT - proto_text_fetched_bit

  • MYSQL_TYPE_TINY - proto_text_fetched_tinyint

  • MYSQL_TYPE_SHORT - proto_text_fetched_short

  • MYSQL_TYPE_INT24 - proto_text_fetched_int24

  • MYSQL_TYPE_LONG - proto_text_fetched_int

  • MYSQL_TYPE_LONGLONG - proto_text_fetched_bigint

  • MYSQL_TYPE_DECIMAL, MYSQL_TYPE_NEWDECIMAL - proto_text_fetched_decimal

  • MYSQL_TYPE_FLOAT - proto_text_fetched_float

  • MYSQL_TYPE_DOUBLE - proto_text_fetched_double

  • MYSQL_TYPE_DATE, MYSQL_TYPE_NEWDATE - proto_text_fetched_date

  • MYSQL_TYPE_YEAR - proto_text_fetched_year

  • MYSQL_TYPE_TIME - proto_text_fetched_time

  • MYSQL_TYPE_DATETIME - proto_text_fetched_datetime

  • MYSQL_TYPE_TIMESTAMP - proto_text_fetched_timestamp

  • MYSQL_TYPE_STRING, MYSQL_TYPE_VARSTRING, MYSQL_TYPE_VARCHAR - proto_text_fetched_string

  • MYSQL_TYPE_TINY_BLOB, MYSQL_TYPE_MEDIUM_BLOB, MYSQL_TYPE_LONG_BLOB, MYSQL_TYPE_BLOB - proto_text_fetched_blob

  • MYSQL_TYPE_ENUM - proto_text_fetched_enum

  • MYSQL_TYPE_SET - proto_text_fetched_set

  • MYSQL_TYPE_GEOMETRY - proto_text_fetched_geometry

  • Any MYSQL_TYPE_* not listed before (there should be none) - proto_text_fetched_other

Note that the MYSQL_*-type constants may not be associated with the very same SQL column types in every version of MySQL.

proto_binary_fetched_null, proto_binary_fetched_bit, proto_binary_fetched_tinyint proto_binary_fetched_short, proto_binary_fetched_int24, proto_binary_fetched_int, proto_binary_fetched_bigint, proto_binary_fetched_decimal, proto_binary_fetched_float, proto_binary_fetched_double, proto_binary_fetched_date, proto_binary_fetched_year, proto_binary_fetched_time, proto_binary_fetched_datetime, proto_binary_fetched_timestamp, proto_binary_fetched_string, proto_binary_fetched_blob, proto_binary_fetched_enum, proto_binary_fetched_set, proto_binary_fetched_geometry, proto_binary_fetched_other | Connection | Total number of columns of a certain type fetched from a prepared statement (MySQL binary protocol). | For type mapping see proto_text_* described in the preceding text.
Returned mysqlnd statistics: Connection
Statistic | Scope | Description | Notes
connect_success, connect_failure | Connection | Total number of successful / failed connection attempt. | Reused connections and all other kinds of connections are included.
reconnect | Process | Total number of (real_)connect attempts made on an already opened connection handle. | The code sequence $link = new mysqli(...); $link->real_connect(...) will cause a reconnect. But $link = new mysqli(...); $link->connect(...) will not because $link->connect(...) will explicitly close the existing connection before a new connection is established.
pconnect_success | Connection | Total number of successful persistent connection attempts. | Note that connect_success holds the sum of successful persistent and non-persistent connection attempts. The number of successful non-persistent connection attempts is connect_success - pconnect_success.
active_connections | Connection | Total number of active persistent and non-persistent connections.
active_persistent_connections | Connection | Total number of active persistent connections. | The total number of active non-persistent connections is active_connections - active_persistent_connections.
explicit_close Connection Total number of explicitly closed connections (ext/mysqli only). Examples of code snippets that cause an explicit close :
$link = new mysqli(...); $link->close(...)
$link = new mysqli(...); $link->connect(...)
implicit_close Connection Total number of implicitly closed connections (ext/mysqli only). Examples of code snippets that cause an implicit close :

  • $link = new mysqli(...); $link->real_connect(...)

  • unset($link)

  • Persistent connection: pooled connection has been created with real_connect and there may be unknown options set - close implicitly to avoid returning a connection with unknown options

  • Persistent connection: ping/change_user fails and ext/mysqli closes the connection

  • end of script execution: close connections that have not been closed by the user

disconnect_close | Connection | Connection failures indicated by the C API call mysql_real_connect() during an attempt to establish a connection. | It is called disconnect_close because the connection handle passed to the C API call will be closed.
in_middle_of_command_close | Process | A connection has been closed in the middle of a command execution (outstanding result sets not fetched, after sending a query and before retrieving an answer, while fetching data, while transferring data with LOAD DATA). | Unless you use asynchronous queries this should only happen if your script stops unexpectedly and PHP shuts down the connections for you.
init_command_executed_count | Connection | Total number of init command executions, for example, mysqli_options(MYSQLI_INIT_COMMAND , ...). | The number of successful executions is init_command_executed_count - init_command_failed_count.
init_command_failed_count | Connection | Total number of failed init commands.
Returned mysqlnd statistics: COM_* Command
Statistic Scope Description Notes
com_quit, com_init_db, com_query, com_field_list, com_create_db, com_drop_db, com_refresh, com_shutdown, com_statistics, com_process_info, com_connect, com_process_kill, com_debug, com_ping, com_time, com_delayed_insert, com_change_user, com_binlog_dump, com_table_dump, com_connect_out, com_register_slave, com_stmt_prepare, com_stmt_execute, com_stmt_send_long_data, com_stmt_close, com_stmt_reset, com_stmt_set_option, com_stmt_fetch, com_daemon Connection Total number of attempts to send a certain COM_* command from PHP to MySQL.

The statistics are incremented after checking the line and immediately before sending the corresponding MySQL client server protocol packet. If mysqlnd fails to send the packet over the wire the statistics will not be decremented. In case of a failure mysqlnd emits a PHP warning "Error while sending %s packet. PID=%d."

Usage examples:

  • Check if PHP sends certain commands to MySQL, for example, check if a client sends COM_PROCESS_KILL

  • Calculate the average number of prepared statement executions by comparing COM_EXECUTE with COM_PREPARE

  • Check if PHP has run any non-prepared SQL statements by checking if COM_QUERY is zero

  • Identify PHP scripts that run an excessive number of SQL statements by checking COM_QUERY and COM_EXECUTE

Miscellaneous

Returned mysqlnd statistics: Miscellaneous
Statistic | Scope | Description | Notes
explicit_stmt_close, implicit_stmt_close | Process | Total number of close prepared statements. | A close is always considered explicit but for a failed prepare.
mem_emalloc_count, mem_emalloc_ammount, mem_ecalloc_count, mem_ecalloc_ammount, mem_erealloc_count, mem_erealloc_ammount, mem_efree_count, mem_malloc_count, mem_malloc_ammount, mem_calloc_count, mem_calloc_ammount, mem_realloc_count, mem_realloc_ammount, mem_free_count | Process | Memory management calls. | Development only.
command_buffer_too_small Connection Number of network command buffer extensions while sending commands from PHP to MySQL.

mysqlnd allocates an internal command/network buffer of mysqlnd.net_cmd_buffer_size (php.ini) bytes for every connection. If a MySQL Client Server protocol command, for example, COM_QUERY (normal query), does not fit into the buffer, mysqlnd will grow the buffer to what is needed for sending the command. Whenever the buffer gets extended for one connection command_buffer_too_small will be incremented by one.

If mysqlnd has to grow the buffer beyond its initial size of mysqlnd.net_cmd_buffer_size (php.ini) bytes for almost every connection, you should consider to increase the default size to avoid re-allocations.

The default buffer size is 2048 bytes in PHP 5.3.0. In future versions the default will be 4kB or larger. The default can changed either through the php.ini setting mysqlnd.net_cmd_buffer_size or using mysqli_options(MYSQLI_OPT_NET_CMD_BUFFER_SIZE, int size).

It is recommended to set the buffer size to no less than 4096 bytes because mysqlnd also uses it when reading certain communication packet from MySQL. In PHP 5.3.0, mysqlnd will not grow the buffer if MySQL sends a packet that is larger than the current size of the buffer. As a consequence mysqlnd is unable to decode the packet and the client application will get an error. There are only two situations when the packet can be larger than the 2048 bytes default of mysqlnd.net_cmd_buffer_size in PHP 5.3.0: the packet transports a very long error message or the packet holds column meta data from COM_LIST_FIELD (mysql_list_fields()) and the meta data comes from a string column with a very long default value (>1900 bytes). No bug report on this exists - it should happen rarely.

As of PHP 5.3.2 mysqlnd does not allow setting buffers smaller than 4096 bytes.

connection_reused
Persistent Connections
Notes
Mysqlnd


Notes

This section provides a collection of miscellaneous notes on MySQL Native Driver usage.

  • Using mysqlnd means using PHP streams for underlying connectivity. For mysqlnd, the PHP streams documentation (Streams) should be consulted on such details as timeout settings, not the documentation for the MySQL Client Library.

Statistics
Memory management
Mysqlnd


Memory management

Introduction

The MySQL Native Driver manages memory different than the MySQL Client Library. The libraries differ in the way memory is allocated and released, how memory is allocated in chunks while reading results from MySQL, which debug and development options exist, and how results read from MySQL are linked to PHP user variables.

The following notes are intended as an introduction and summary to users interested at understanding the MySQL Native Driver at the C code level.

Memory management functions used

All memory allocation and deallocation is done using the PHP memory management functions. Therefore, the memory consumption of mysqlnd can be tracked using PHP API calls, such as memory_get_usage(). Because memory is allocated and released using the PHP memory management, the changes may not immediately become visible at the operating system level. The PHP memory management acts as a proxy which may delay releasing memory towards the system. Due to this, comparing the memory usage of the MySQL Native Driver and the MySQL Client Library is difficult. The MySQL Client Library is using the operating system memory management calls directly, hence the effects can be observed immediately at the operating system level.

Any memory limit enforced by PHP also affects the MySQL Native Driver. This may cause out of memory errors when fetching large result sets that exceed the size of the remaining memory made available by PHP. Because the MySQL Client Library is not using PHP memory management functions, it does not comply to any PHP memory limit set. If using the MySQL Client Library, depending on the deployment model, the memory footprint of the PHP process may grow beyond the PHP memory limit. But also PHP scripts may be able to process larger result sets as parts of the memory allocated to hold the result sets are beyond the control of the PHP engine.

PHP memory management functions are invoked by the MySQL Native Driver through a lightweight wrapper. Among others, the wrapper makes debugging easier.

Handling of result sets

The various MySQL Server and the various client APIs differentiate between buffered and unbuffered result sets. Unbuffered result sets are transferred row-by-row from MySQL to the client as the client iterates over the results. Buffered results are fetched in their entirety by the client library before passing them on to the client.

The MySQL Native Driver is using PHP Streams for the network communication with the MySQL Server. Results sent by MySQL are fetched from the PHP Streams network buffers into the result buffer of mysqlnd. The result buffer is made of zvals. In a second step the results are made available to the PHP script. This final transfer from the result buffer into PHP variables impacts the memory consumption and is mostly noticible when using buffered result sets.

By default the MySQL Native Driver tries to avoid holding buffered results twice in memory. Results are kept only once in the internal result buffers and their zvals. When results are fetched into PHP variables by the PHP script, the variables will reference the internal result buffers. Database query results are not copied and kept in memory only once. Should the user modify the contents of a variable holding the database results a copy-on-write must be performed to avoid changing the referenced internal result buffer. The contents of the buffer must not be modified because the user may decide to read the result set a second time. The copy-on-write mechanism is implemented using an additional reference management list and the use of standard zval reference counters. Copy-on-write must also be done if the user reads a result set into PHP variables and frees a result set before the variables are unset.

Generally speaking, this pattern works well for scripts that read a result set once and do not modify variables holding results. Its major drawback is the memory overhead caused by the additional reference management which comes primarily from the fact that user variables holding results cannot be entirely released until the mysqlnd reference management stops referencing them. The MySQL Native driver removes the reference to the user variables when the result set is freed or a copy-on-write is performed. An observer will see the total memory consumption grow until the result set is released. Use the statistics to check whether a script does release result sets explicitly or the driver is does implicit releases and thus memory is used for a time longer than necessary. Statistics also help to see how many copy-on-write operations happened.

A PHP script reading many small rows of a buffered result set using a code snippet equal or equivalent to while ($row = $res->fetch_assoc()) { ... } may optimize memory consumption by requesting copies instead of references. Albeit requesting copies means keeping results twice in memory, it allows PHP to free the copy contained in $row as the result set is being iterated and prior to releasing the result set itself. On a loaded server optimizing peak memory usage may help improving the overall system performace although for an individual script the copy approach may be slower due to additional allocations and memory copy operations.

The copy mode can be enforced by setting mysqlnd.fetch_data_copy=1.

Monitoring and debugging

There are multiple ways of tracking the memory usage of the MySQL Native Driver. If the goal is to get a quick high level overview or to verify the memory efficiency of PHP scripts, then check the statistics collected by the library. The statistics allow you, for example, to catch SQL statements which generate more results than are processed by a PHP script.

The debug trace log can be configured to record memory management calls. This helps to see when memory is allocated or free'd. However, the size of the requested memory chunks may not be listed.

Some, recent versions of the MySQL Native Driver feature the emulation of random out of memory situations. This feature is meant to be used by the C developers of the library or mysqlnd plugin authors only. Please, search the source code for corresponding PHP configuration settings and further details. The feature is considered private and may be modified at any time without prior notice.

Notes
MySQL Native Driver Plugin API
Mysqlnd


MySQL Native Driver Plugin API

Inhaltsverzeichnis

  • A comparison of mysqlnd plugins with MySQL Proxy
  • Obtaining the mysqlnd plugin API
  • MySQL Native Driver Plugin Architecture
  • The mysqlnd plugin API
  • Getting started building a mysqlnd plugin

The MySQL Native Driver Plugin API is a feature of MySQL Native Driver, or mysqlnd. Mysqlnd plugins operate in the layer between PHP applications and the MySQL server. This is comparable to MySQL Proxy. MySQL Proxy operates on a layer between any MySQL client application, for example, a PHP application and, the MySQL server. Mysqlnd plugins can undertake typical MySQL Proxy tasks such as load balancing, monitoring and performance optimizations. Due to the different architecture and location, mysqlnd plugins do not have some of MySQL Proxy's disadvantages. For example, with plugins, there is no single point of failure, no dedicated proxy server to deploy, and no new programming language to learn (Lua).

A mysqlnd plugin can be thought of as an extension to mysqlnd. Plugins can intercept the majority of mysqlnd functions. The mysqlnd functions are called by the PHP MySQL extensions such as ext/mysql, ext/mysqli, and PDO_MYSQL. As a result, it is possible for a mysqlnd plugin to intercept all calls made to these extensions from the client application.

Internal mysqlnd function calls can also be intercepted, or replaced. There are no restrictions on manipulating mysqlnd internal function tables. It is possible to set things up so that when certain mysqlnd functions are called by the extensions that use mysqlnd, the call is directed to the appropriate function in the mysqlnd plugin. The ability to manipulate mysqlnd internal function tables in this way allows maximum flexibility for plugins.

Mysqlnd plugins are in fact PHP Extensions, written in C, that use the mysqlnd plugin API (which is built into MySQL Native Driver, mysqlnd). Plugins can be made 100% transparent to PHP applications. No application changes are needed because plugins operate on a different layer. The mysqlnd plugin can be thought of as operating in a layer below mysqlnd.

The following list represents some possible applications of mysqlnd plugins.

  • Load Balancing

    • Read/Write Splitting. An example of this is the PECL/mysqlnd_ms (Master Slave) extension. This extension splits read/write queries for a replication setup.

    • Failover

    • Round-Robin, least loaded

  • Monitoring

    • Query Logging

    • Query Analysis

    • Query Auditing. An example of this is the PECL/mysqlnd_sip (SQL Injection Protection) extension. This extension inspects queries and executes only those that are allowed according to a ruleset.

  • Performance

    • Caching. An example of this is the PECL/mysqlnd_qc (Query Cache) extension.

    • Throttling

    • Sharding. An example of this is the PECL/mysqlnd_mc (Multi Connect) extension. This extension will attempt to split a SELECT statement into n-parts, using SELECT ... LIMIT part_1, SELECT LIMIT part_n. It sends the queries to distinct MySQL servers and merges the result at the client.

MySQL Native Driver Plugins Available

There are a number of mysqlnd plugins already available. These include:

  • PECL/mysqlnd_mc - Multi Connect plugin.

  • PECL/mysqlnd_ms - Master Slave plugin.

  • PECL/mysqlnd_qc - Query Cache plugin.

  • PECL/mysqlnd_pscache - Prepared Statement Handle Cache plugin.

  • PECL/mysqlnd_sip - SQL Injection Protection plugin.

  • PECL/mysqlnd_uh - User Handler plugin.

Memory management
A comparison of mysqlnd plugins with MySQL Proxy
Mysqlnd


A comparison of mysqlnd plugins with MySQL Proxy

Mysqlnd plugins and MySQL Proxy are different technologies using different approaches. Both are valid tools for solving a variety of common tasks such as load balancing, monitoring, and performance enhancements. An important difference is that MySQL Proxy works with all MySQL clients, whereas mysqlnd plugins are specific to PHP applications.

As a PHP Extension, a mysqlnd plugin gets installed on the PHP application server, along with the rest of PHP. MySQL Proxy can either be run on the PHP application server or can be installed on a dedicated machine to handle multiple PHP application servers.

Deploying MySQL Proxy on the application server has two advantages:

  1. No single point of failure

  2. Easy to scale out (horizontal scale out, scale by client)

MySQL Proxy (and mysqlnd plugins) can solve problems easily which otherwise would have required changes to existing applications.

However, MySQL Proxy does have some disadvantages:

  • MySQL Proxy is a new component and technology to master and deploy.

  • MySQL Proxy requires knowledge of the Lua scripting language.

MySQL Proxy can be customized with C and Lua programming. Lua is the preferred scripting language of MySQL Proxy. For most PHP experts Lua is a new language to learn. A mysqlnd plugin can be written in C. It is also possible to write plugins in PHP using » PECL/mysqlnd_uh.

MySQL Proxy runs as a daemon - a background process. MySQL Proxy can recall earlier decisions, as all state can be retained. However, a mysqlnd plugin is bound to the request-based lifecycle of PHP. MySQL Proxy can also share one-time computed results among multiple application servers. A mysqlnd plugin would need to store data in a persistent medium to be able to do this. Another daemon would need to be used for this purpose, such as Memcache. This gives MySQL Proxy an advantage in this case.

MySQL Proxy works on top of the wire protocol. With MySQL Proxy you have to parse and reverse engineer the MySQL Client Server Protocol. Actions are limited to those that can be achieved by manipulating the communication protocol. If the wire protocol changes (which happens very rarely) MySQL Proxy scripts would need to be changed as well.

Mysqlnd plugins work on top of the C API, which mirrors the libmysqlclient client and Connector/C APIs. This C API is basically a wrapper around the MySQL Client Server protocol, or wire protocol, as it is sometimes called. You can intercept all C API calls. PHP makes use of the C API, therefore you can hook all PHP calls, without the need to program at the level of the wire protocol.

Mysqlnd implements the wire protocol. Plugins can therefore parse, reverse engineer, manipulate and even replace the communication protocol. However, this is usually not required.

As plugins allow you to create implementations that use two levels (C API and wire protocol), they have greater flexibility than MySQL Proxy. If a mysqlnd plugin is implemented using the C API, any subsequent changes to the wire protocol do not require changes to the plugin itself.

MySQL Native Driver Plugin API
Obtaining the mysqlnd plugin API
MySQL Native Driver Plugin API


Obtaining the mysqlnd plugin API

The mysqlnd plugin API is simply part of the MySQL Native Driver PHP extension, ext/mysqlnd. Development started on the mysqlnd plugin API in December 2009. It is developed as part of the PHP source repository, and as such is available to the public either via Git, or through source snapshot downloads.

The following table shows PHP versions and the corresponding mysqlnd version contained within.

The bundled mysqlnd version per PHP release
PHP Version | MySQL Native Driver version
5.3.0 | 5.0.5
5.3.1 | 5.0.5
5.3.2 | 5.0.7
5.3.3 | 5.0.7
5.3.4 | 5.0.7

Plugin developers can determine the mysqlnd version through accessing MYSQLND_VERSION, which is a string of the format "mysqlnd 5.0.7-dev - 091210 - $Revision: 300535", or through MYSQLND_VERSION_ID, which is an integer such as 50007. Developers can calculate the version number as follows:

MYSQLND_VERSION_ID calculation table
Version (part) | Example
Major*10000 | 5*10000 = 50000
Minor*100 | 0*100 = 0
Patch | 7 = 7
MYSQLND_VERSION_ID | 50007

During development, developers should refer to the mysqlnd version number for compatibility and version tests, as several iterations of mysqlnd could occur during the lifetime of a PHP development branch with a single PHP version number.

A comparison of mysqlnd plugins with MySQL Proxy
MySQL Native Driver Plugin Architecture
MySQL Native Driver Plugin API


MySQL Native Driver Plugin Architecture

This section provides an overview of the mysqlnd plugin architecture.

MySQL Native Driver Overview

Before developing mysqlnd plugins, it is useful to know a little of how mysqlnd itself is organized. Mysqlnd consists of the following modules:

The mysqlnd organization chart, per module
Modules Statistics | mysqlnd_statistics.c
Connection | mysqlnd.c
Resultset | mysqlnd_result.c
Resultset Metadata | mysqlnd_result_meta.c
Statement | mysqlnd_ps.c
Network | mysqlnd_net.c
Wire protocol | mysqlnd_wireprotocol.c

C Object Oriented Paradigm

At the code level, mysqlnd uses a C pattern for implementing object orientation.

In C you use a struct to represent an object. Members of the struct represent object properties. Struct members pointing to functions represent methods.

Unlike with other languages such as C++ or Java, there are no fixed rules on inheritance in the C object oriented paradigm. However, there are some conventions that need to be followed that will be discussed later.

The PHP Life Cycle

When considering the PHP life cycle there are two basic cycles:

  • PHP engine startup and shutdown cycle

  • Request cycle

When the PHP engine starts up it will call the module initialization (MINIT) function of each registered extension. This allows each module to setup variables and allocate resources that will exist for the lifetime of the PHP engine process. When the PHP engine shuts down it will call the module shutdown (MSHUTDOWN) function of each extension.

During the lifetime of the PHP engine it will receive a number of requests. Each request constitutes another life cycle. On each request the PHP engine will call the request initialization function of each extension. The extension can perform any variable setup and resource allocation required for request processing. As the request cycle ends the engine calls the request shutdown (RSHUTDOWN) function of each extension so the extension can perform any cleanup required.

How a plugin works

A mysqlnd plugin works by intercepting calls made to mysqlnd by extensions that use mysqlnd. This is achieved by obtaining the mysqlnd function table, backing it up, and replacing it by a custom function table, which calls the functions of the plugin as required.

The following code shows how the mysqlnd function table is replaced:

/* a place to store original function table */
struct st_mysqlnd_conn_methods org_methods;

void minit_register_hooks(TSRMLS_D) {
  /* active function table */
  struct st_mysqlnd_conn_methods * current_methods
    = mysqlnd_conn_get_methods();

  /* backup original function table */
  memcpy(&org_methods, current_methods,
    sizeof(struct st_mysqlnd_conn_methods);

  /* install new methods */
  current_methods->query = MYSQLND_METHOD(my_conn_class, query);
}

Connection function table manipulations must be done during Module Initialization (MINIT). The function table is a global shared resource. In an multi-threaded environment, with a TSRM build, the manipulation of a global shared resource during the request processing will almost certainly result in conflicts.

Hinweis:

Do not use any fixed-size logic when manipulating the mysqlnd function table: new methods may be added at the end of the function table. The function table may change at any time in the future.

Calling parent methods

If the original function table entries are backed up, it is still possible to call the original function table entries - the parent methods.

In some cases, such as for Connection::stmt_init(), it is vital to call the parent method prior to any other activity in the derived method.

MYSQLND_METHOD(my_conn_class, query)(MYSQLND *conn,
  const char *query, unsigned int query_len TSRMLS_DC) {

  php_printf("my_conn_class::query(query = %s)\n", query);

  query = "SELECT 'query rewritten' FROM DUAL";
  query_len = strlen(query);

  return org_methods.query(conn, query, query_len); /* return with call to parent */
}

Extending properties

A mysqlnd object is represented by a C struct. It is not possible to add a member to a C struct at run time. Users of mysqlnd objects cannot simply add properties to the objects.

Arbitrary data (properties) can be added to a mysqlnd objects using an appropriate function of the mysqlnd_plugin_get_plugin_<object>_data() family. When allocating an object mysqlnd reserves space at the end of the object to hold a void * pointer to arbitrary data. mysqlnd reserves space for one void * pointer per plugin.

The following table shows how to calculate the position of the pointer for a specific plugin:

Pointer calculations for mysqlnd
Memory address | Contents
0 | Beginning of the mysqlnd object C struct
n | End of the mysqlnd object C struct
n + (m x sizeof(void*)) | void* to object data of the m-th plugin

If you plan to subclass any of the mysqlnd object constructors, which is allowed, you must keep this in mind!

The following code shows extending properties:

/* any data we want to associate */
typedef struct my_conn_properties {
  unsigned long query_counter;
} MY_CONN_PROPERTIES;

/* plugin id */
unsigned int my_plugin_id;

void minit_register_hooks(TSRMLS_D) {
  /* obtain unique plugin ID */
  my_plugin_id = mysqlnd_plugin_register();
  /* snip - see Extending Connection: methods */
}

static MY_CONN_PROPERTIES** get_conn_properties(const MYSQLND *conn TSRMLS_DC) {
  MY_CONN_PROPERTIES** props;
  props = (MY_CONN_PROPERTIES**)mysqlnd_plugin_get_plugin_connection_data(
    conn, my_plugin_id);
  if (!props || !(*props)) {
    *props = mnd_pecalloc(1, sizeof(MY_CONN_PROPERTIES), conn->persistent);
    (*props)->query_counter = 0;
  }
  return props;
}

The plugin developer is responsible for the management of plugin data memory.

Use of the mysqlnd memory allocator is recommended for plugin data. These functions are named using the convention: mnd_*loc(). The mysqlnd allocator has some useful features, such as the ability to use a debug allocator in a non-debug build.

When and how to subclass
 | When to subclass? | Each instance has its own private function table? | How to subclass?
Connection (MYSQLND) | MINIT | No | mysqlnd_conn_get_methods()
Resultset (MYSQLND_RES) | MINIT or later | Yes | mysqlnd_result_get_methods() or object method function table manipulation
Resultset Meta (MYSQLND_RES_METADATA) | MINIT | No | mysqlnd_result_metadata_get_methods()
Statement (MYSQLND_STMT) | MINIT | No | mysqlnd_stmt_get_methods()
Network (MYSQLND_NET) | MINIT or later | Yes | mysqlnd_net_get_methods() or object method function table manipulation
Wire protocol (MYSQLND_PROTOCOL) | MINIT or later | Yes | mysqlnd_protocol_get_methods() or object method function table manipulation

You must not manipulate function tables at any time later than MINIT if it is not allowed according to the above table.

Some classes contain a pointer to the method function table. All instances of such a class will share the same function table. To avoid chaos, in particular in threaded environments, such function tables must only be manipulated during MINIT.

Other classes use copies of a globally shared function table. The class function table copy is created together with the object. Each object uses its own function table. This gives you two options: you can manipulate the default function table of an object at MINIT, and you can additionally refine methods of an object without impacting other instances of the same class.

The advantage of the shared function table approach is performance. There is no need to copy a function table for each and every object.

Constructor status
Allocation, construction, reset | Can be modified? | Caller
Connection (MYSQLND) | mysqlnd_init() | No | mysqlnd_connect()
Resultset(MYSQLND_RES)

Allocation:

  • Connection::result_init()

Reset and re-initialized during:

  • Result::use_result()

  • Result::store_result

Yes, but call parent!

  • Connection::list_fields()

  • Statement::get_result()

  • Statement::prepare() (Metadata only)

  • Statement::resultMetaData()

Resultset Meta (MYSQLND_RES_METADATA) | Connection::result_meta_init() | Yes, but call parent! | Result::read_result_metadata()
Statement (MYSQLND_STMT) | Connection::stmt_init() | Yes, but call parent! | Connection::stmt_init()
Network (MYSQLND_NET) | mysqlnd_net_init() | No | Connection::init()
Wire protocol (MYSQLND_PROTOCOL) | mysqlnd_protocol_init() | No | Connection::init()

It is strongly recommended that you do not entirely replace a constructor. The constructors perform memory allocations. The memory allocations are vital for the mysqlnd plugin API and the object logic of mysqlnd. If you do not care about warnings and insist on hooking the constructors, you should at least call the parent constructor before doing anything in your constructor.

Regardless of all warnings, it can be useful to subclass constructors. Constructors are the perfect place for modifying the function tables of objects with non-shared object tables, such as Resultset, Network, Wire Protocol.

Destruction status
 | Derived method must call parent? | Destructor
Connection | yes, after method execution | free_contents(), end_psession()
Resultset | yes, after method execution | free_result()
Resultset Meta | yes, after method execution | free()
Statement | yes, after method execution | dtor(), free_stmt_content()
Network | yes, after method execution | free()
Wire protocol | yes, after method execution | free()

The destructors are the appropriate place to free properties, mysqlnd_plugin_get_plugin_<object>_data().

The listed destructors may not be equivalent to the actual mysqlnd method freeing the object itself. However, they are the best possible place for you to hook in and free your plugin data. As with constructors you may replace the methods entirely but this is not recommended. If multiple methods are listed in the above table you will need to hook all of the listed methods and free your plugin data in whichever method is called first by mysqlnd.

The recommended method for plugins is to simply hook the methods, free your memory and call the parent implementation immediately following this.

Achtung

Due to a bug in PHP versions 5.3.0 to 5.3.3, plugins do not associate plugin data with a persistent connection. This is because ext/mysql and ext/mysqli do not trigger all the necessary mysqlnd end_psession() method calls and the plugin may therefore leak memory. This has been fixed in PHP 5.3.4.

Obtaining the mysqlnd plugin API
The mysqlnd plugin API
MySQL Native Driver Plugin API


The mysqlnd plugin API

The following is a list of functions provided in the mysqlnd plugin API:

  • mysqlnd_plugin_register()

  • mysqlnd_plugin_count()

  • mysqlnd_plugin_get_plugin_connection_data()

  • mysqlnd_plugin_get_plugin_result_data()

  • mysqlnd_plugin_get_plugin_stmt_data()

  • mysqlnd_plugin_get_plugin_net_data()

  • mysqlnd_plugin_get_plugin_protocol_data()

  • mysqlnd_conn_get_methods()

  • mysqlnd_result_get_methods()

  • mysqlnd_result_meta_get_methods()

  • mysqlnd_stmt_get_methods()

  • mysqlnd_net_get_methods()

  • mysqlnd_protocol_get_methods()

There is no formal definition of what a plugin is and how a plugin mechanism works.

Components often found in plugins mechanisms are:

  • A plugin manager

  • A plugin API

  • Application services (or modules)

  • Application service APIs (or module APIs)

The mysqlnd plugin concept employs these features, and additionally enjoys an open architecture.

No Restrictions

A plugin has full access to the inner workings of mysqlnd. There are no security limits or restrictions. Everything can be overwritten to implement friendly or hostile algorithms. It is recommended you only deploy plugins from a trusted source.

As discussed previously, plugins can use pointers freely. These pointers are not restricted in any way, and can point into another plugin's data. Simple offset arithmetic can be used to read another plugin's data.

It is recommended that you write cooperative plugins, and that you always call the parent method. The plugins should always cooperate with mysqlnd itself.

Issues: an example of chaining and cooperation
Extension | mysqlnd.query() pointer | call stack if calling parent
ext/mysqlnd | mysqlnd.query() | mysqlnd.query
ext/mysqlnd_cache mysqlnd_cache.query()

  1. mysqlnd_cache.query()

  2. mysqlnd.query

ext/mysqlnd_monitor mysqlnd_monitor.query()

  1. mysqlnd_monitor.query()

  2. mysqlnd_cache.query()

  3. mysqlnd.query

In this scenario, a cache (ext/mysqlnd_cache) and a monitor (ext/mysqlnd_monitor) plugin are loaded. Both subclass Connection::query(). Plugin registration happens at MINIT using the logic shown previously. PHP calls extensions in alphabetical order by default. Plugins are not aware of each other and do not set extension dependencies.

By default the plugins call the parent implementation of the query method in their derived version of the method.

PHP Extension Recap

This is a recap of what happens when using an example plugin, ext/mysqlnd_plugin, which exposes the mysqlnd C plugin API to PHP:

  • Any PHP MySQL application tries to establish a connection to 192.168.2.29

  • The PHP application will either use ext/mysql, ext/mysqli or PDO_MYSQL. All three PHP MySQL extensions use mysqlnd to establish the connection to 192.168.2.29.

  • Mysqlnd calls its connect method, which has been subclassed by ext/mysqlnd_plugin.

  • ext/mysqlnd_plugin calls the userspace hook proxy::connect() registered by the user.

  • The userspace hook changes the connection host IP from 192.168.2.29 to 127.0.0.1 and returns the connection established by parent::connect().

  • ext/mysqlnd_plugin performs the equivalent of parent::connect(127.0.0.1) by calling the original mysqlnd method for establishing a connection.

  • ext/mysqlnd establishes a connection and returns to ext/mysqlnd_plugin. ext/mysqlnd_plugin returns as well.

  • Whatever PHP MySQL extension had been used by the application, it receives a connection to 127.0.0.1. The PHP MySQL extension itself returns to the PHP application. The circle is closed.

MySQL Native Driver Plugin Architecture
Getting started building a mysqlnd plugin
MySQL Native Driver Plugin API


Getting started building a mysqlnd plugin

It is important to remember that a mysqlnd plugin is itself a PHP extension.

The following code shows the basic structure of the MINIT function that will be used in the typical mysqlnd plugin:

/* my_php_mysqlnd_plugin.c */

 static PHP_MINIT_FUNCTION(mysqlnd_plugin) {
  /* globals, ini entries, resources, classes */

  /* register mysqlnd plugin */
  mysqlnd_plugin_id = mysqlnd_plugin_register();

  conn_m = mysqlnd_get_conn_methods();
  memcpy(org_conn_m, conn_m,
    sizeof(struct st_mysqlnd_conn_methods));

  conn_m->query = MYSQLND_METHOD(mysqlnd_plugin_conn, query);
  conn_m->connect = MYSQLND_METHOD(mysqlnd_plugin_conn, connect);
}

/* my_mysqlnd_plugin.c */

 enum_func_status MYSQLND_METHOD(mysqlnd_plugin_conn, query)(/* ... */) {
  /* ... */
}
enum_func_status MYSQLND_METHOD(mysqlnd_plugin_conn, connect)(/* ... */) {
  /* ... */
}

Task analysis: from C to userspace

 class proxy extends mysqlnd_plugin_connection {
  public function connect($host, ...) { .. }
}
mysqlnd_plugin_set_conn_proxy(new proxy());

Process:

  1. PHP: user registers plugin callback

  2. PHP: user calls any PHP MySQL API to connect to MySQL

  3. C: ext/*mysql* calls mysqlnd method

  4. C: mysqlnd ends up in ext/mysqlnd_plugin

  5. C: ext/mysqlnd_plugin

    1. Calls userspace callback

    2. Or original mysqlnd method, if userspace callback not set

You need to carry out the following:

  1. Write a class "mysqlnd_plugin_connection" in C

  2. Accept and register proxy object through "mysqlnd_plugin_set_conn_proxy()"

  3. Call userspace proxy methods from C (optimization - zend_interfaces.h)

Userspace object methods can either be called using call_user_function() or you can operate at a level closer to the Zend Engine and use zend_call_method().

Optimization: calling methods from C using zend_call_method

The following code snippet shows the prototype for the zend_call_method function, taken from zend_interfaces.h.

 ZEND_API zval* zend_call_method(
  zval **object_pp, zend_class_entry *obj_ce,
  zend_function **fn_proxy, char *function_name,
  int function_name_len, zval **retval_ptr_ptr,
  int param_count, zval* arg1, zval* arg2 TSRMLS_DC
);

Zend API supports only two arguments. You may need more, for example:

 enum_func_status (*func_mysqlnd_conn__connect)(
  MYSQLND *conn, const char *host,
  const char * user, const char * passwd,
  unsigned int passwd_len, const char * db,
  unsigned int db_len, unsigned int port,
  const char * socket, unsigned int mysql_flags TSRMLS_DC
);

To get around this problem you will need to make a copy of zend_call_method() and add a facility for additional parameters. You can do this by creating a set of MY_ZEND_CALL_METHOD_WRAPPER macros.

Calling PHP userspace

This code snippet shows the optimized method for calling a userspace function from C:

/* my_mysqlnd_plugin.c */

MYSQLND_METHOD(my_conn_class,connect)(
  MYSQLND *conn, const char *host /* ... */ TSRMLS_DC) {
  enum_func_status ret = FAIL;
  zval * global_user_conn_proxy = fetch_userspace_proxy();
  if (global_user_conn_proxy) {
    /* call userspace proxy */
    ret = MY_ZEND_CALL_METHOD_WRAPPER(global_user_conn_proxy, host, /*...*/);
  } else {
    /* or original mysqlnd method = do nothing, be transparent */
    ret = org_methods.connect(conn, host, user, passwd,
          passwd_len, db, db_len, port,
          socket, mysql_flags TSRMLS_CC);
  }
  return ret;
}

Calling userspace: simple arguments

/* my_mysqlnd_plugin.c */

 MYSQLND_METHOD(my_conn_class,connect)(
  /* ... */, const char *host, /* ...*/) {
  /* ... */
  if (global_user_conn_proxy) {
    /* ... */
    zval* zv_host;
    MAKE_STD_ZVAL(zv_host);
    ZVAL_STRING(zv_host, host, 1);
    MY_ZEND_CALL_METHOD_WRAPPER(global_user_conn_proxy, zv_retval, zv_host /*, ...*/);
    zval_ptr_dtor(&zv_host);
    /* ... */
  }
  /* ... */
}

Calling userspace: structs as arguments

/* my_mysqlnd_plugin.c */

MYSQLND_METHOD(my_conn_class, connect)(
  MYSQLND *conn, /* ...*/) {
  /* ... */
  if (global_user_conn_proxy) {
    /* ... */
    zval* zv_conn;
    ZEND_REGISTER_RESOURCE(zv_conn, (void *)conn, le_mysqlnd_plugin_conn);
    MY_ZEND_CALL_METHOD_WRAPPER(global_user_conn_proxy, zv_retval, zv_conn, zv_host /*, ...*/);
    zval_ptr_dtor(&zv_conn);
    /* ... */
  }
  /* ... */
}

The first argument of many mysqlnd methods is a C "object". For example, the first argument of the connect() method is a pointer to MYSQLND. The struct MYSQLND represents a mysqlnd connection object.

The mysqlnd connection object pointer can be compared to a standard I/O file handle. Like a standard I/O file handle a mysqlnd connection object shall be linked to the userspace using the PHP resource variable type.

From C to userspace and back

 class proxy extends mysqlnd_plugin_connection {
  public function connect($conn, $host, ...) {
    /* "pre" hook */
    printf("Connecting to host = '%s'\n", $host);
    debug_print_backtrace();
    return parent::connect($conn);
  }

  public function query($conn, $query) {
    /* "post" hook */
    $ret = parent::query($conn, $query);
    printf("Query = '%s'\n", $query);
    return $ret;
  }
}
mysqlnd_plugin_set_conn_proxy(new proxy());

PHP users must be able to call the parent implementation of an overwritten method.

As a result of subclassing it is possible to refine only selected methods and you can choose to have "pre" or "post" hooks.

Buildin class: mysqlnd_plugin_connection::connect()

/*  my_mysqlnd_plugin_classes.c */

 PHP_METHOD("mysqlnd_plugin_connection", connect) {
  /* ... simplified! ... */
  zval* mysqlnd_rsrc;
  MYSQLND* conn;
  char* host; int host_len;
  if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs",
    &mysqlnd_rsrc, &host, &host_len) == FAILURE) {
    RETURN_NULL();
  }
  ZEND_FETCH_RESOURCE(conn, MYSQLND* conn, &mysqlnd_rsrc, -1,
    "Mysqlnd Connection", le_mysqlnd_plugin_conn);
  if (PASS == org_methods.connect(conn, host, /* simplified! */ TSRMLS_CC))
    RETVAL_TRUE;
  else
    RETVAL_FALSE;
}
The mysqlnd plugin API
mysqlnd_ms
MySQL Native Driver Plugin API


Mysqlnd replication and load balancing plugin

  • Einführung
  • Quickstart and Examples
    • Setup
    • Running statements
    • Connection state
    • SQL Hints
    • Local transactions
    • XA/Distributed Transactions
    • Service level and consistency
    • Global transaction IDs
    • Cache integration
    • Failover
    • Partitioning and Sharding
    • MySQL Fabric
  • Concepts
    • Architecture
    • Connection pooling and switching
    • Local transaction handling
    • Error handling
    • Transient errors
    • Failover
    • Load balancing
    • Read-write splitting
    • Filter
    • Service level and consistency
    • Global transaction IDs
    • Cache integration
    • Supported clusters
    • XA/Distributed transactions
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Plugin configuration file (>=1.1.x)
  • Vordefinierte Konstanten
  • Mysqlnd_ms Funktionen
    • mysqlnd_ms_dump_servers — Returns a list of currently configured servers
    • mysqlnd_ms_fabric_select_global — Switch to global sharding server for a given table
    • mysqlnd_ms_fabric_select_shard — Switch to shard
    • mysqlnd_ms_get_last_gtid — Returns the latest global transaction ID
    • mysqlnd_ms_get_last_used_connection — Returns an array which describes the last used connection
    • mysqlnd_ms_get_stats — Returns query distribution and connection statistics
    • mysqlnd_ms_match_wild — Finds whether a table name matches a wildcard pattern or not
    • mysqlnd_ms_query_is_select — Find whether to send the query to the master, the slave or the last used MySQL server
    • mysqlnd_ms_set_qos — Sets the quality of service needed from the cluster
    • mysqlnd_ms_set_user_pick_server — Sets a callback for user-defined read/write splitting
    • mysqlnd_ms_xa_begin — Starts a distributed/XA transaction among MySQL servers
    • mysqlnd_ms_xa_commit — Commits a distributed/XA transaction among MySQL servers
    • mysqlnd_ms_xa_gc — Garbage collects unfinished XA transactions after severe errors
    • mysqlnd_ms_xa_rollback — Rolls back a distributed/XA transaction among MySQL servers
  • Change History
    • PECL/mysqlnd_ms 1.6 series
    • PECL/mysqlnd_ms 1.5 series
    • PECL/mysqlnd_ms 1.4 series
    • PECL/mysqlnd_ms 1.3 series
    • PECL/mysqlnd_ms 1.2 series
    • PECL/mysqlnd_ms 1.1 series
    • PECL/mysqlnd_ms 1.0 series
Getting started building a mysqlnd plugin
Einführung
MySQL


Einführung

The mysqlnd replication and load balancing plugin (mysqlnd_ms) adds easy to use MySQL replication support to all PHP MySQL extensions that use mysqlnd.

As of version PHP 5.3.3 the MySQL native driver for PHP (mysqlnd) features an internal plugin C API. C plugins, such as the replication and load balancing plugin, can extend the functionality of mysqlnd.

The MySQL native driver for PHP is a C library that ships together with PHP as of PHP 5.3.0. It serves as a drop-in replacement for the MySQL Client Library (libmysqlclient). Using mysqlnd has several advantages: no extra downloads are required because it's bundled with PHP, it's under the PHP license, there is lower memory consumption in certain cases, and it contains new functionality such as asynchronous queries.

Mysqlnd plugins like mysqlnd_ms operate, for the most part, transparently from a user perspective. The replication and load balancing plugin supports all PHP applications, and all MySQL PHP extensions. It does not change existing APIs. Therefore, it can easily be used with existing PHP applications.

Key Features

The key features of PECL/mysqlnd_ms are as follows.

  • Transparent and therefore easy to use.

    • Supports all of the PHP MySQL extensions.

    • SSL support.

    • A consistent API.

    • Little to no application changes required, dependent on the required usage scenario.

    • Lazy connections: connections to master and slave servers are not opened before a SQL statement is executed.

    • Optional: automatic use of master after the first write in a web request, to lower the possible impact of replication lag.

  • Can be used with any MySQL clustering solution.

    • MySQL Replication: Read-write splitting is done by the plugin. Primary focus of the plugin.

    • MySQL Cluster: Read-write splitting can be disabled. Configuration of multiple masters possible

    • Third-party solutions: the plugin is optimized for MySQL Replication but can be used with any other kind of MySQL clustering solution.

  • Featured read-write split strategies

    • Automatic detection of SELECT.

    • Supports SQL hints to overrule automatism.

    • User-defined.

    • Can be disabled for, for example, when using synchronous clusters such as MySQL Cluster.

  • Featured load balancing strategies

    • Round Robin: choose a different slave in round-robin fashion for every slave request.

    • Random: choose a random slave for every slave request.

    • Random once (sticky): choose a random slave once to run all slave requests for the duration of a web request.

    • User-defined. The application can register callbacks with mysqlnd_ms.

    • PHP 5.4.0 or newer: transaction aware when using API calls only to control transactions.

    • Weighted load balancing: servers can be assigned different priorities, for example, to direct more requests to a powerful machine than to another less powerful machine. Or, to prefer nearby machines to reduce latency.

  • Global transaction ID

    • Client-side emulation. Makes manual master server failover and slave promotion easier with asynchronous clusters, such as MySQL Replication.

    • Support for built-in global transaction identifier feature of MySQL 5.6.5 or newer.

    • Supports using transaction ids to identify up-to-date asynchronous slaves for reading when session consistency is required. Please, note the restrictions mentioned in the manual.

    • Throttling: optionally, the plugin can wait for a slave to become "synchronous" before continuing.

  • Service and consistency levels

    • Applications can request eventual, session and strong consistency service levels for connections. Appropriate cluster nodes will be searched automatically.

    • Eventual consistent MySQL Replication slave accesses can be replaced with fast local cache accesses transparently to reduce server load.

  • Partitioning and sharding

    • Servers of a replication cluster can be organized into groups. SQL hints can be used to manually direct queries to a specific group. Grouping can be used to partition (shard) the data, or to cure the issue of hotspots with updates.

    • MySQL Replication filters are supported through the table filter.

  • MySQL Fabric

    • Experimental support for MySQL Fabric is included.

Limitations

The built-in read-write-split mechanism is very basic. Every query which starts with SELECT is considered a read request to be sent to a MySQL slave server. All other queries (such as SHOW statements) are considered as write requests that are sent to the MySQL master server. The build-in behavior can be overruled using SQL hints, or a user-defined callback function.

The read-write splitter is not aware of multi-statements. Multi-statements are considered as one statement. The decision of where to run the statement will be based on the beginning of the statement string. For example, if using mysqli_multi_query() to execute the multi-statement SELECT id FROM test ; INSERT INTO test(id) VALUES (1), the statement will be redirected to a slave server because it begins with SELECT. The INSERT statement, which is also part of the multi-statement, will not be redirected to a master server.

Hinweis:

Applications must be aware of the consequences of connection switches that are performed for load balancing purposes. Please check the documentation on connection pooling and switching, transaction handling, failover load balancing und read-write splitting.

On the name

The shortcut mysqlnd_ms stands for mysqlnd master slave plugin. The name was chosen for a quick-and-dirty proof-of-concept. In the beginning the developers did not expect to continue using the code base.

mysqlnd_ms
Quickstart and Examples
mysqlnd_ms


Quickstart and Examples

Inhaltsverzeichnis

  • Setup
  • Running statements
  • Connection state
  • SQL Hints
  • Local transactions
  • XA/Distributed Transactions
  • Service level and consistency
  • Global transaction IDs
  • Cache integration
  • Failover
  • Partitioning and Sharding
  • MySQL Fabric

The mysqlnd replication load balancing plugin is easy to use. This quickstart will demo typical use-cases, and provide practical advice on getting started.

It is strongly recommended to read the reference sections in addition to the quickstart. The quickstart tries to avoid discussing theoretical concepts and limitations. Instead, it will link to the reference sections. It is safe to begin with the quickstart. However, before using the plugin in mission critical environments we urge you to read additionally the background information from the reference sections.

The focus is on using PECL mysqlnd_ms for work with an asynchronous MySQL cluster, namely MySQL replication. Generally speaking an asynchronous cluster is more difficult to use than a synchronous one. Thus, users of, for example, MySQL Cluster will find more information than needed.

Einführung
Setup
mysqlnd_ms


Setup

The plugin is implemented as a PHP extension. See also the installation instructions to install the » PECL/mysqlnd_ms extension.

Compile or configure the PHP MySQL extension (API) (mysqli, PDO_MYSQL, mysql) that you plan to use with support for the mysqlnd library. PECL/mysqlnd_ms is a plugin for the mysqlnd library. To use the plugin with any of the PHP MySQL extensions, the extension has to use the mysqlnd library.

Then, load the extension into PHP and activate the plugin in the PHP configuration file using the PHP configuration directive named mysqlnd_ms.enable.

Beispiel #1 Enabling the plugin (php.ini)

mysqlnd_ms.enable=1
mysqlnd_ms.config_file=/path/to/mysqlnd_ms_plugin.ini

The plugin uses its own configuration file. Use the PHP configuration directive mysqlnd_ms.config_file to set the full file path to the plugin-specific configuration file. This file must be readable by PHP (e.g., the web server user). Please note, the configuration directive mysqlnd_ms.config_file superseeds mysqlnd_ms.ini_file since 1.4.0. It is a common pitfall to use the old, no longer available configuration directive.

Create a plugin-specific configuration file. Save the file to the path set by the PHP configuration directive mysqlnd_ms.config_file.

The plugins configuration file is JSON based. It is divided into one or more sections. Each section has a name, for example, myapp. Every section makes its own set of configuration settings.

A section must, at a minimum, list the MySQL replication master server, and set a list of slaves. The plugin supports using only one master server per section. Multi-master MySQL replication setups are not yet fully supported. Use the configuration setting master to set the hostname, and the port or socket of the MySQL master server. MySQL slave servers are configured using the slave keyword.

Beispiel #2 Minimal plugin-specific configuration file (mysqlnd_ms_plugin.ini)

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": [

        ]
    }
}

Configuring a MySQL slave server list is required, although it may contain an empty list. It is recommended to always configure at least one slave server.

Server lists can use anonymous or non-anonymous syntax. Non-anonymous lists include alias names for the servers, such as master_0 for the master in the above example. The quickstart uses the more verbose non-anonymous syntax.

Beispiel #3 Recommended minimal plugin-specific config (mysqlnd_ms_plugin.ini)

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.2.27",
                "port": "3306"
            }
        }
    }
}

If there are at least two servers in total, the plugin can start to load balance and switch connections. Switching connections is not always transparent and can cause issues in certain cases. The reference sections about connection pooling and switching, transaction handling, fail over load balancing and read-write splitting all provide more details. And potential pitfalls are described later in this guide.

It is the responsibility of the application to handle potential issues caused by connection switches, by configuring a master with at least one slave server, which allows switching to work therefore related problems can be found.

The MySQL master and MySQL slave servers, which you configure, do not need to be part of MySQL replication setup. For testing purpose you can use single MySQL server and make it known to the plugin as a master and slave server as shown below. This could help you to detect many potential issues with connection switches. However, such a setup will not be prone to the issues caused by replication lag.

Beispiel #4 Using one server as a master and as a slave (testing only!)

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "127.0.0.1",
                "port": "3306"
            }
        }
    }
}

The plugin attempts to notify you of invalid configurations. Since 1.5.0 it will throw a warning during PHP startup if the configuration file cannot be read, is empty or parsing the JSON failed. Depending on your PHP settings those errors may appear in some log files only. Further validation is done when a connection is to be established and the configuration file is searched for valid sections. Setting mysqlnd_ms.force_config_usage may help debugging a faulty setup. Please, see also configuration file debugging notes.

Quickstart and Examples
Running statements
Quickstart and Examples


Running statements

The plugin can be used with any PHP MySQL extension (mysqli, mysql, and PDO_MYSQL) that is compiled to use the mysqlnd library. PECL/mysqlnd_ms plugs into the mysqlnd library. It does not change the API or behavior of those extensions.

Whenever a connection to MySQL is being opened, the plugin compares the host parameter value of the connect call, with the section names from the plugin specific configuration file. If, for example, the plugin specific configuration file has a section myapp then the section should be referenced by opening a MySQL connection to the host myapp

Beispiel #1 Plugin specific configuration file (mysqlnd_ms_plugin.ini)

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.2.27",
                "port": "3306"
            }
        }
    }
}

Beispiel #2 Opening a load balanced connection

<?php
/* Load balanced following "myapp" section rules from the plugins config file */
$mysqli = new mysqli("myapp", "username", "password", "database");
$pdo = new PDO('mysql:host=myapp;dbname=database', 'username', 'password');
$mysql = mysql_connect("myapp", "username", "password");
?>

The connection examples above will be load balanced. The plugin will send read-only statements to the MySQL slave server with the IP 192.168.2.27 and will listen on port 3306 for the MySQL client connection. All other statements will be directed to the MySQL master server running on the host localhost. If on Unix like operating systems, the master on localhost will be accepting MySQL client connections on the Unix domain socket /tmp/mysql.sock, while TCP/IP is the default port on Windows. The plugin will use the user name username and the password password to connect to any of the MySQL servers listed in the section myapp of the plugins configuration file. Upon connect, the plugin will select database as the current schemata.

The username, password and schema name are taken from the connect API calls and used for all servers. In other words: you must use the same username and password for every MySQL server listed in a plugin configuration file section. The is not a general limitation. As of PECL/mysqlnd_ms 1.1.0, it is possible to set the username and password for any server in the plugins configuration file, to be used instead of the credentials passed to the API call.

The plugin does not change the API for running statements. Read-write splitting works out of the box. The following example assumes that there is no significant replication lag between the master and the slave.

Beispiel #3 Executing statements

<?php
/* Load balanced following "myapp" section rules from the plugins config file */
$mysqli = new mysqli("myapp", "username", "password", "database");
if (mysqli_connect_errno()) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

/* Statements will be run on the master */
if (!$mysqli->query("DROP TABLE IF EXISTS test")) {
    printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}
if (!$mysqli->query("CREATE TABLE test(id INT)")) {
    printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}
if (!$mysqli->query("INSERT INTO test(id) VALUES (1)")) {
    printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}

/* read-only: statement will be run on a slave */
if (!($res = $mysqli->query("SELECT id FROM test"))) {
    printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
} else {
    $row = $res->fetch_assoc();
    $res->close();
    printf("Slave returns id = '%s'\n", $row['id']);
}
$mysqli->close();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Slave returns id = '1'

Setup
Connection state
Quickstart and Examples


Connection state

The plugin changes the semantics of a PHP MySQL connection handle. A new connection handle represents a connection pool, instead of a single MySQL client-server network connection. The connection pool consists of a master connection, and optionally any number of slave connections.

Every connection from the connection pool has its own state. For example, SQL user variables, temporary tables and transactions are part of the state. For a complete list of items that belong to the state of a connection, see the connection pooling and switching concepts documentation. If the plugin decides to switch connections for load balancing, the application could be given a connection which has a different state. Applications must be made aware of this.

Beispiel #1 Plugin config with one slave and one master

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.2.27",
                "port": "3306"
            }
        }
    }
}

Beispiel #2 Pitfall: connection state and SQL user variables

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

/* Connection 1, connection bound SQL user variable, no SELECT thus run on master */
if (!$mysqli->query("SET @myrole='master'")) {
    printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}

/* Connection 2, run on slave because SELECT */
if (!($res = $mysqli->query("SELECT @myrole AS _role"))) {
    printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
} else {
    $row = $res->fetch_assoc();
    $res->close();
    printf("@myrole = '%s'\n", $row['_role']);
}
$mysqli->close();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

@myrole = ''

The example opens a load balanced connection and executes two statements. The first statement SET @myrole='master' does not begin with the string SELECT. Therefore the plugin does not recognize it as a read-only query which shall be run on a slave. The plugin runs the statement on the connection to the master. The statement sets a SQL user variable which is bound to the master connection. The state of the master connection has been changed.

The next statement is SELECT @myrole AS _role. The plugin does recognize it as a read-only query and sends it to the slave. The statement is run on a connection to the slave. This second connection does not have any SQL user variables bound to it. It has a different state than the first connection to the master. The requested SQL user variable is not set. The example script prints @myrole = ''.

It is the responsibility of the application developer to take care of the connection state. The plugin does not monitor all connection state changing activities. Monitoring all possible cases would be a very CPU intensive task, if it could be done at all.

The pitfalls can easily be worked around using SQL hints.

Running statements
SQL Hints
Quickstart and Examples


SQL Hints

SQL hints can force a query to choose a specific server from the connection pool. It gives the plugin a hint to use a designated server, which can solve issues caused by connection switches and connection state.

SQL hints are standard compliant SQL comments. Because SQL comments are supposed to be ignored by SQL processing systems, they do not interfere with other programs such as the MySQL Server, the MySQL Proxy, or a firewall.

Three SQL hints are supported by the plugin: The MYSQLND_MS_MASTER_SWITCH hint makes the plugin run a statement on the master, MYSQLND_MS_SLAVE_SWITCH enforces the use of the slave, and MYSQLND_MS_LAST_USED_SWITCH will run a statement on the same server that was used for the previous statement.

The plugin scans the beginning of a statement for the existence of an SQL hint. SQL hints are only recognized if they appear at the beginning of the statement.

Beispiel #1 Plugin config with one slave and one master

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.2.27",
                "port": "3306"
            }
        }
    }
}

Beispiel #2 SQL hints to prevent connection switches

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (mysqli_connect_errno()) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

/* Connection 1, connection bound SQL user variable, no SELECT thus run on master */
if (!$mysqli->query("SET @myrole='master'")) {
    printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}

/* Connection 1, run on master because of SQL hint */
if (!($res = $mysqli->query(sprintf("/*%s*/SELECT @myrole AS _role", MYSQLND_MS_LAST_USED_SWITCH)))) {
    printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
} else {
    $row = $res->fetch_assoc();
    $res->close();
    printf("@myrole = '%s'\n", $row['_role']);
}
$mysqli->close();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

@myrole = 'master'

In the above example, using MYSQLND_MS_LAST_USED_SWITCH prevents session switching from the master to a slave when running the SELECT statement.

SQL hints can also be used to run SELECT statements on the MySQL master server. This may be desired if the MySQL slave servers are typically behind the master, but you need current data from the cluster.

In version 1.2.0 the concept of a service level has been introduced to address cases when current data is required. Using a service level requires less attention and removes the need of using SQL hints for this use case. Please, find more information below in the service level and consistency section.

Beispiel #3 Fighting replication lag

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

/* Force use of master, master has always fresh and current data */
if (!$mysqli->query(sprintf("/*%s*/SELECT critical_data FROM important_table", MYSQLND_MS_MASTER_SWITCH))) {
    printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}
?>

A use case may include the creation of tables on a slave. If an SQL hint is not given, then the plugin will send CREATE and INSERT statements to the master. Use the SQL hint MYSQLND_MS_SLAVE_SWITCH if you want to run any such statement on a slave, for example, to build temporary reporting tables.

Beispiel #4 Table creation on a slave

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

/* Force use of slave */
if (!$mysqli->query(sprintf("/*%s*/CREATE TABLE slave_reporting(id INT)", MYSQLND_MS_SLAVE_SWITCH))) {
    printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}
/* Continue using this particular slave connection */
if (!$mysqli->query(sprintf("/*%s*/INSERT INTO slave_reporting(id) VALUES (1), (2), (3)", MYSQLND_MS_LAST_USED_SWITCH))) {
    printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}
/* Don't use MYSQLND_MS_SLAVE_SWITCH which would allow switching to another slave! */
if ($res = $mysqli->query(sprintf("/*%s*/SELECT COUNT(*) AS _num FROM slave_reporting", MYSQLND_MS_LAST_USED_SWITCH))) {
    $row = $res->fetch_assoc();
    $res->close();
    printf("There are %d rows in the table 'slave_reporting'", $row['_num']);
} else {
    printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}
$mysqli->close();
?>

The SQL hint MYSQLND_MS_LAST_USED forbids switching a connection, and forces use of the previously used connection.

Connection state
Local transactions
Quickstart and Examples


Local transactions

The current version of the plugin is not transaction safe by default, because it is not aware of running transactions in all cases. SQL transactions are units of work to be run on a single server. The plugin does not always know when the unit of work starts and when it ends. Therefore, the plugin may decide to switch connections in the middle of a transaction.

No kind of MySQL load balancer can detect transaction boundaries without any kind of hint from the application.

You can either use SQL hints to work around this limitation. Alternatively, you can activate transaction API call monitoring. In the latter case you must use API calls only to control transactions, see below.

Beispiel #1 Plugin config with one slave and one master

[myapp]
{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.2.27",
                "port": "3306"
            }
        }
    }
}

Beispiel #2 Using SQL hints for transactions

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

/* Not a SELECT, will use master */
if (!$mysqli->query("START TRANSACTION")) {
    /* Please use better error handling in your code */
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Prevent connection switch! */
if (!$mysqli->query(sprintf("/*%s*/INSERT INTO test(id) VALUES (1)", MYSQLND_MS_LAST_USED_SWITCH))) {
    /* Please do proper ROLLBACK in your code, don't just die */
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}
if ($res = $mysqli->query(sprintf("/*%s*/SELECT COUNT(*) AS _num FROM test", MYSQLND_MS_LAST_USED_SWITCH))) {
    $row = $res->fetch_assoc();
    $res->close();
    if ($row['_num'] > 1000) {
        if (!$mysqli->query(sprintf("/*%s*/INSERT INTO events(task) VALUES ('cleanup')", MYSQLND_MS_LAST_USED_SWITCH))) {
            die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
        }
    }
} else {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}
if (!$mysqli->query(sprintf("/*%s*/UPDATE log SET last_update = NOW()", MYSQLND_MS_LAST_USED_SWITCH))) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}
if (!$mysqli->query(sprintf("/*%s*/COMMIT", MYSQLND_MS_LAST_USED_SWITCH))) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

$mysqli->close();
?>

Starting with PHP 5.4.0, the mysqlnd library allows the plugin to monitor the status of the autocommit mode, if the mode is set by API calls instead of using SQL statements such as SET AUTOCOMMIT=0. This makes it possible for the plugin to become transaction aware. In this case, you do not need to use SQL hints.

If using PHP 5.4.0 or newer, API calls that enable autocommit mode, and when setting the plugin configuration option trx_stickiness=master, the plugin can automatically disable load balancing and connection switches for SQL transactions. In this configuration, the plugin stops load balancing if autocommit is disabled and directs all statements to the master. This prevents connection switches in the middle of a transaction. Once autocommit is re-enabled, the plugin starts to load balance statements again.

API based transaction boundary detection has been improved with PHP 5.5.0 and PECL/mysqlnd_ms 1.5.0 to cover not only calls to mysqli_autocommit() but also mysqli_begin(), mysqli_commit() and mysqli_rollback().

Beispiel #3 Transaction aware load balancing: trx_stickiness setting

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "127.0.0.1",
                "port": "3306"
            }
        },
        "trx_stickiness": "master"
    }
}

Beispiel #4 Transaction aware

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

/* Disable autocommit, plugin will run all statements on the master */
$mysqli->autocommit(false);

if (!$mysqli->query("INSERT INTO test(id) VALUES (1)")) {
    /* Please do proper ROLLBACK in your code, don't just die */
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}
if ($res = $mysqli->query("SELECT COUNT(*) AS _num FROM test")) {
    $row = $res->fetch_assoc();
    $res->close();
    if ($row['_num'] > 1000) {
        if (!$mysqli->query("INSERT INTO events(task) VALUES ('cleanup')")) {
            die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
        }
    }
} else {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}
if (!$mysqli->query("UPDATE log SET last_update = NOW()")) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}
if (!$mysqli->commit()) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Plugin assumes that the transaction has ended and starts load balancing again */
$mysqli->autocommit(true);
$mysqli->close();
?>

Hinweis: Version requirement

The plugin configuration option trx_stickiness=master requires PHP 5.4.0 or newer.

Please note the restrictions outlined in the transaction handling concepts section.

SQL Hints
XA/Distributed Transactions
Quickstart and Examples


XA/Distributed Transactions

Hinweis: Version requirement

XA related functions have been introduced in PECL mysqlnd_ms version 1.6.0-alpha.

Hinweis: Early adaptors wanted

The feature is currently under development. There may be issues and/or feature limitations. Do not use in production environments, although early lab tests indicate reasonable quality.

Please, contact the development team if you are interested in this feature. We are looking for real life feedback to complement the feature.

XA transactions are a standardized method for executing transactions across multiple resources. Those resources can be databases or other transactional systems. The MySQL server supports XA SQL statements which allows users to carry out a distributed SQL transaction that spawns multiple database servers or any kind as long as they support the SQL statements too. In such a scenario it is in the responsibility of the user to coordinate the participating servers.

PECL/mysqlnd_ms can act as a transaction coordinator for a global (distributed, XA) transaction carried out on MySQL servers only. As a transaction coordinator, the plugin tracks all servers involved in a global transaction and transparently issues appropriate SQL statements on the participants. The global transactions are controlled with mysqlnd_ms_xa_begin(), mysqlnd_ms_xa_commit() and mysqlnd_ms_xa_rollback(). SQL details are mostly hidden from the application as is the need to track and coordinate participants.

Beispiel #1 General pattern for XA transactions

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

/* start a global transaction */
$gtrid_id = "12345";
if (!mysqlnd_ms_xa_begin($mysqli, $gtrid_id)) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* run queries as usual: XA BEGIN will be injected upon running a query */
if (!$mysqli->query("INSERT INTO orders(order_id, item) VALUES (1, 'christmas tree, 1.8m')")) {
    /* Either INSERT failed or the injected XA BEGIN failed */
    if ('XA' == substr($mysqli->sqlstate, 0, 2)) {
        printf("Global transaction/XA related failure, [%d] %s\n", $mysqli->errno, $mysqli->error);
    } else {
        printf("INSERT failed, [%d] %s\n", $mysqli->errno, $mysqli->error);
    }
    /* rollback global transaction */
    mysqlnd_ms_xa_rollback($mysqli, $xid);
    die("Stopping.");
}

/* continue carrying out queries on other servers, e.g. other shards */

/* commit the global transaction */
if (!mysqlnd_ms_xa_commit($mysqli, $xa_id)) {
    printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}
?>

Unlike with local transactions, which are carried out on a single server, XA transactions have an identifier (xid) associated with them. The XA transaction identifier is composed of a global transaction identifier (gtrid), a branch qualifier (bqual) a format identifier (formatID). Only the global transaction identifier can and must be given when calling any of the plugins XA functions.

Once a global transaction has been started, the plugin begins tracking servers until the global transaction ends. When a server is picked for query execution, the plugin injects the SQL statement XA BEGIN prior to executing the actual SQL statement on the server. XA BEGIN makes the server participate in the global transaction. If the injected SQL statement fails, the plugin will report the issue in reply to the query execution function that was used. In the above example, $mysqli->query("INSERT INTO orders(order_id, item) VALUES (1, 'christmas tree, 1.8m')") would indicate such an error. You may want to check the errors SQL state code to determine whether the actual query (here: INSERT) has failed or the error is related to the global transaction. It is up to you to ignore the failure to start the global transaction on a server and continue execution without having the server participate in the global transaction.

Beispiel #2 Local and global transactions are mutually exclusive

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

/* start a local transaction */
if (!$mysqli->begin_transaction()) {
    die(sprintf("[%d/%s] %s\n", $mysqli->errno, $mysqli->sqlstate, $mysqli->error));
}

/* cannot start global transaction now - must end local transaction first */
$gtrid_id = "12345";
if (!mysqlnd_ms_xa_begin($mysqli, $gtrid_id)) {
    die(sprintf("[%d/%s] %s\n", $mysqli->errno, $mysqli->sqlstate, $mysqli->error));
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Warning: mysqlnd_ms_xa_begin(): (mysqlnd_ms) Some work is done outside global transaction. You must end the active local transaction first in ... on line ...
[1400/XAE09] (mysqlnd_ms) Some work is done outside global transaction. You must end the active local transaction first

A global transaction cannot be started when a local transaction is active. The plugin tries to detect this situation as early as possible, that is when mysqlnd_ms_xa_begin() is called. If using API calls only to control transactions, the plugin will know that a local transaction is open and return an error for mysqlnd_ms_xa_begin(). However, note the plugins limitations on detecting transaction boundaries.. In the worst case, if using direct SQL for local transactions (BEGIN, COMMIT, ...), it may happen that an error is delayed until some SQL is executed on a server.

To end a global transaction invoke mysqlnd_ms_xa_commit() or mysqlnd_ms_xa_rollback(). When a global transaction is ended all participants must be informed of the end. Therefore, PECL/mysqlnd_ms transparently issues appropriate XA related SQL statements on some or all of them. Any failure during this phase will cause an implicit rollback. The XA related API is intentionally kept simple here. A more complex API that gave more control would bare few, if any, advantages over a user implementation that issues all lower level XA SQL statements itself.

XA transactions use the two-phase commit protocol. The two-phase commit protocol is a blocking protocol. There are cases when no progress can be made, not even when using timeouts. Transaction coordinators should survive their own failure, be able to detect blockades and break ties. PECL/mysqlnd_ms takes the role of a transaction coordinator and can be configured to survive its own crash to avoid issues with blocked MySQL servers. Therefore, the plugin can and should be configured to use a persistent and crash-safe state to allow garbage collection of unfinished, aborted global transactions. A global transaction can be aborted in an open state if either the plugin fails (crashes) or a connection from the plugin to a global transaction participant fails.

Beispiel #3 Transaction coordinator state store

{
    "myapp": {
        "xa": {
            "state_store": {
                "participant_localhost_ip": "192.168.2.12",
                "mysql": {
                    "host": "192.168.2.13",
                    "user": "root",
                    "password": "",
                    "db": "test",
                    "port": "3312",
                    "socket": null
                }
            }
        },
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.2.14",
                "port": "3306"
            }
        }
    }
}

Currently, PECL/mysqlnd_ms supports only using MySQL database tables as a state store. The SQL definitions of the tables are given in the plugin configuration section. Please, make sure to use a transactional and crash-safe storage engine for the tables, such as InnoDB. InnoDB is the default table engine in recent versions of the MySQL server. Make also sure the database server itself is highly available.

If a state store has been configured, the plugin can perform a garbage collection. During garbage collection it may be necessary to connect to a participant of a failed global transaction. Thus, the state store holds a list of participants and, among others, their host names. If the garbage collection is run on another host but the one that has written a participant entry with the host name localhost, then localhost resolves to different machines. There are two solutions to the problem. Either you do not configure any servers with the host name localhost but configure an IP address (and port) or, you hint the garbage collection. In the above example, localhost is used for master_0, hence it may not resolve to the correct host during garbage collection. However, participant_localhost_ip is also set to hint the garbage collection that localhost stands for the IP 192.168.2.12.

Local transactions
Service level and consistency
Quickstart and Examples


Service level and consistency

Hinweis: Version requirement

Service levels have been introduced in PECL mysqlnd_ms version 1.2.0-alpha. mysqlnd_ms_set_qos() is available with PHP 5.4.0 or newer.

Different types of MySQL cluster solutions offer different service and data consistency levels to their users. An asynchronous MySQL replication cluster offers eventual consistency by default. A read executed on an asynchronous slave may return current, stale or no data at all, depending on whether the slave has replayed all changesets from the master or not.

Applications using an MySQL replication cluster need to be designed to work correctly with eventual consistent data. In some cases, however, stale data is not acceptable. In those cases only certain slaves or even only master accesses are allowed to achieve the required quality of service from the cluster.

As of PECL mysqlnd_ms 1.2.0 the plugin is capable of selecting MySQL replication nodes automatically that deliver session consistency or strong consistency. Session consistency means that one client can read its writes. Other clients may or may not see the clients' write. Strong consistency means that all clients will see all writes from the client.

Beispiel #1 Session consistency: read your writes

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "127.0.0.1",
                "port": "3306"
            }
        }
    }
}

Beispiel #2 Requesting session consistency

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

/* read-write splitting: master used */
if (!$mysqli->query("INSERT INTO orders(order_id, item) VALUES (1, 'christmas tree, 1.8m')")) {
    /* Please use better error handling in your code */
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Request session consistency: read your writes */
if (!mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_SESSION)) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Plugin picks a node which has the changes, here: master */
if (!$res = $mysqli->query("SELECT item FROM orders WHERE order_id = 1")) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

var_dump($res->fetch_assoc());

/* Back to eventual consistency: stale data allowed */
if (!mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL)) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Plugin picks any slave, stale data is allowed */
if (!$res = $mysqli->query("SELECT item, price FROM specials")) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}
?>

Service levels can be set in the plugins configuration file and at runtime using mysqlnd_ms_set_qos(). In the example the function is used to enforce session consistency (read your writes) for all future statements until further notice. The SELECT statement on the orders table is run on the master to ensure the previous write can be seen by the client. Read-write splitting logic has been adapted to fulfill the service level.

After the application has read its changes from the orders table it returns to the default service level, which is eventual consistency. Eventual consistency puts no restrictions on choosing a node for statement execution. Thus, the SELECT statement on the specials table is executed on a slave.

The new functionality supersedes the use of SQL hints and the master_on_write configuration option. In many cases mysqlnd_ms_set_qos() is easier to use, more powerful improves portability.

Beispiel #3 Maximum age/slave lag

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "127.0.0.1",
                "port": "3306"
            }
        },
        "failover" : "master"
    }
}

Beispiel #4 Limiting slave lag

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

/* Read from slaves lagging no more than four seconds */
$ret = mysqlnd_ms_set_qos(
    $mysqli,
    MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL,
    MYSQLND_MS_QOS_OPTION_AGE,
    4
);

if (!$ret) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Plugin picks any slave, which may or may not have the changes */
if (!$res = $mysqli->query("SELECT item, price FROM daytrade")) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Back to default: use of all slaves and masters permitted */
if (!mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL)) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}
?>

The eventual consistency service level can be used with an optional parameter to set a maximum slave lag for choosing slaves. If set, the plugin checks SHOW SLAVE STATUS for all configured slaves. In case of the example, only slaves for which Slave_IO_Running=Yes, Slave_SQL_Running=Yes and Seconds_Behind_Master <= 4 is true are considered for executing the statement SELECT item, price FROM daytrade.

Checking SHOW SLAVE STATUS is done transparently from an applications perspective. Errors, if any, are reported as warnings. No error will be set on the connection handle. Even if all SHOW SLAVE STATUS SQL statements executed by the plugin fail, the execution of the users statement is not stopped, given that master fail over is enabled. Thus, no application changes are required.

Hinweis: Expensive and slow operation

Checking SHOW SLAVE STATUS for all slaves adds overhead to the application. It is an expensive and slow background operation. Try to minimize the use of it. Unfortunately, a MySQL replication cluster does not give clients the possibility to request a list of candidates from a central instance. Thus, a more efficient way of checking the slaves lag is not available.

Please, note the limitations and properties of SHOW SLAVE STATUS as explained in the MySQL reference manual.

To prevent mysqlnd_ms from emitting a warning if no slaves can be found that lag no more than the defined number of seconds behind the master, it is necessary to enable master fail over in the plugins configuration file. If no slaves can be found and fail over is turned on, the plugin picks a master for executing the statement.

If no slave can be found and fail over is turned off, the plugin emits a warning, it does not execute the statement and it sets an error on the connection.

Beispiel #5 Fail over not set

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "127.0.0.1",
                "port": "3306"
            }
        }
    }
}

Beispiel #6 No slave within time limit

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

/* Read from slaves lagging no more than four seconds */
$ret = mysqlnd_ms_set_qos(
    $mysqli,
    MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL,
    MYSQLND_MS_QOS_OPTION_AGE,
    4
);

if (!$ret) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Plugin picks any slave, which may or may not have the changes */
if (!$res = $mysqli->query("SELECT item, price FROM daytrade")) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Back to default: use of all slaves and masters permitted */
if (!mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL)) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

PHP Warning:  mysqli::query(): (mysqlnd_ms) Couldn't find the appropriate slave connection. 0 slaves to choose from. Something is wrong in %s on line %d
PHP Warning:  mysqli::query(): (mysqlnd_ms) No connection selected by the last filter in %s on line %d
[2000] (mysqlnd_ms) No connection selected by the last filter

XA/Distributed Transactions
Global transaction IDs
Quickstart and Examples


Global transaction IDs

Hinweis: Version requirement

A client-side global transaction ID injection has been introduced in mysqlnd_ms version 1.2.0-alpha. The feature is not required for synchronous clusters, such as MySQL Cluster. Use it with asynchronous clusters such as classical MySQL replication.

As of MySQL 5.6.5-m8 release candidate the MySQL server features built-in global transaction identifiers. The MySQL built-in global transaction ID feature is supported by PECL/mysqlnd_ms 1.3.0-alpha or later. However, the final feature set found in MySQL 5.6 production releases to date is not sufficient to support the ideas discussed below in all cases. Please, see also the concepts section.

PECL/mysqlnd_ms can either use its own global transaction ID emulation or the global transaction ID feature built-in to MySQL 5.6.5-m8 or later. From a developer perspective the client-side and server-side approach offer the same features with regards to service levels provided by PECL/mysqlnd_ms. Their differences are discussed in the concepts section.

The quickstart first demonstrates the use of the client-side global transaction ID emulation built-in to PECL/mysqlnd_ms before its show how to use the server-side counterpart. The order ensures that the underlying idea is discussed first.

Idea and client-side emulation

In its most basic form a global transaction ID (GTID) is a counter in a table on the master. The counter is incremented whenever a transaction is committed on the master. Slaves replicate the table. The counter serves two purposes. In case of a master failure, it helps the database administrator to identify the most recent slave for promoting it to the new master. The most recent slave is the one with the highest counter value. Applications can use the global transaction ID to search for slaves which have replicated a certain write (identified by a global transaction ID) already.

PECL/mysqlnd_ms can inject SQL for every committed transaction to increment a GTID counter. The so created GTID is accessible by the application to identify an applications write operation. This enables the plugin to deliver session consistency (read your writes) service level by not only querying masters but also slaves which have replicated the change already. Read load is taken away from the master.

Client-side global transaction ID emulation has some limitations. Please, read the concepts section carefully to fully understand the principles and ideas behind it, before using in production environments. The background knowledge is not required to continue with the quickstart.

First, create a counter table on your master server and insert a record into it. The plugin does not assist creating the table. Database administrators must make sure it exists. Depending on the error reporting mode, the plugin will silently ignore the lack of the table or bail out.

Beispiel #1 Create counter table on master

CREATE TABLE `trx` (
  `trx_id` int(11) DEFAULT NULL,
  `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=latin1
INSERT INTO `trx`(`trx_id`) VALUES (1);

In the plugins configuration file set the SQL to update the global transaction ID table using on_commit from the global_transaction_id_injection section. Make sure the table name used for the UPDATE statement is fully qualified. In the example, test.trx is used to refer to table trx in the schema (database) test. Use the table that was created in the previous step. It is important to set the fully qualified table name because the connection on which the injection is done may use a different default database. Make sure the user that opens the connection is allowed to execute the UPDATE.

Enable reporting of errors that may occur when mysqlnd_ms does global transaction ID injection.

Beispiel #2 Plugin config: SQL for client-side GTID injection

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "127.0.0.1",
                "port": "3306"
            }
        },
        "global_transaction_id_injection":{
            "on_commit":"UPDATE test.trx SET trx_id = trx_id + 1",
            "report_error":true
        }
    }
}

Beispiel #3 Transparent global transaction ID injection

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

/* auto commit mode, transaction on master, GTID must be incremented */
if (!$mysqli->query("DROP TABLE IF EXISTS test")) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* auto commit mode, transaction on master, GTID must be incremented */
if (!$mysqli->query("CREATE TABLE test(id INT)")) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* auto commit mode, transaction on master, GTID must be incremented */
if (!$mysqli->query("INSERT INTO test(id) VALUES (1)")) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* auto commit mode, read on slave, no increment */
if (!($res = $mysqli->query("SELECT id FROM test"))) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

var_dump($res->fetch_assoc());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(1) {
  ["id"]=>
  string(1) "1"
}

The example runs three statements in auto commit mode on the master, causing three transactions on the master. For every such statement, the plugin will inject the configured UPDATE transparently before executing the users SQL statement. When the script ends the global transaction ID counter on the master has been incremented by three.

The fourth SQL statement executed in the example, a SELECT, does not trigger an increment. Only transactions (writes) executed on a master shall increment the GTID counter.

Hinweis: SQL for global transaction ID: efficient solution wanted!

The SQL used for the client-side global transaction ID emulation is inefficient. It is optimized for clearity not for performance. Do not use it for production environments. Please, help finding an efficient solution for inclusion in the manual. We appreciate your input.

Beispiel #4 Plugin config: SQL for fetching GTID

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "127.0.0.1",
                "port": "3306"
            }
        },
        "global_transaction_id_injection":{
            "on_commit":"UPDATE test.trx SET trx_id = trx_id + 1",
            "fetch_last_gtid" : "SELECT MAX(trx_id) FROM test.trx",
            "report_error":true
        }
    }
}

Beispiel #5 Obtaining GTID after injection

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

/* auto commit mode, transaction on master, GTID must be incremented */
if (!$mysqli->query("DROP TABLE IF EXISTS test")) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

printf("GTID after transaction %s\n", mysqlnd_ms_get_last_gtid($mysqli));

/* auto commit mode, transaction on master, GTID must be incremented */
if (!$mysqli->query("CREATE TABLE test(id INT)")) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

printf("GTID after transaction %s\n", mysqlnd_ms_get_last_gtid($mysqli));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

GTID after transaction 7
GTID after transaction 8

Applications can ask PECL mysqlnd_ms for a global transaction ID which belongs to the last write operation performed by the application. The function mysqlnd_ms_get_last_gtid() returns the GTID obtained when executing the SQL statement from the fetch_last_gtid entry of the global_transaction_id_injection section from the plugins configuration file. The function may be called after the GTID has been incremented.

Applications are adviced not to run the SQL statement themselves as this bares the risk of accidently causing an implicit GTID increment. Also, if the function is used, it is easy to migrate an application from one SQL statement for fetching a transaction ID to another, for example, if any MySQL server ever features built-in global transaction ID support.

The quickstart shows a SQL statement which will return a GTID equal or greater to that created for the previous statement. It is exactly the GTID created for the previous statement if no other clients have incremented the GTID in the time span between the statement execution and the SELECT to fetch the GTID. Otherwise, it is greater.

Beispiel #6 Plugin config: Checking for a certain GTID

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "127.0.0.1",
                "port": "3306"
            }
        },
        "global_transaction_id_injection":{
            "on_commit":"UPDATE test.trx SET trx_id = trx_id + 1",
            "fetch_last_gtid" : "SELECT MAX(trx_id) FROM test.trx",
            "check_for_gtid" : "SELECT trx_id FROM test.trx WHERE trx_id >= #GTID",
            "report_error":true
        }
    }
}

Beispiel #7 Session consistency service level and GTID combined

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

/* auto commit mode, transaction on master, GTID must be incremented */
if (   !$mysqli->query("DROP TABLE IF EXISTS test")
    || !$mysqli->query("CREATE TABLE test(id INT)")
    || !$mysqli->query("INSERT INTO test(id) VALUES (1)")
) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* GTID as an identifier for the last write */
$gtid = mysqlnd_ms_get_last_gtid($mysqli);

/* Session consistency (read your writes): try to read from slaves not only master */
if (false == mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_SESSION, MYSQLND_MS_QOS_OPTION_GTID, $gtid)) {
    die(sprintf("[006] [%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Either run on master or a slave which has replicated the INSERT */
if (!($res = $mysqli->query("SELECT id FROM test"))) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

var_dump($res->fetch_assoc());
?>

A GTID returned from mysqlnd_ms_get_last_gtid() can be used as an option for the session consistency service level. Session consistency delivers read your writes. Session consistency can be requested by calling mysqlnd_ms_set_qos(). In the example, the plugin will execute the SELECT statement either on the master or on a slave which has replicated the previous INSERT already.

PECL mysqlnd_ms will transparently check every configured slave if it has replicated the INSERT by checking the slaves GTID table. The check is done running the SQL set with the check_for_gtid option from the global_transaction_id_injection section of the plugins configuration file. Please note, that this is a slow and expensive procedure. Applications should try to use it sparsely and only if read load on the master becomes to high otherwise.

Use of the server-side global transaction ID feature

Hinweis: Insufficient server support in MySQL 5.6

The plugin has been developed against a pre-production version of MySQL 5.6. It turns out that all released production versions of MySQL 5.6 do not provide clients with enough information to enforce session consistency based on GTIDs. Please, read the concepts section for details.

Starting with MySQL 5.6.5-m8 the MySQL Replication system features server-side global transaction IDs. Transaction identifiers are automatically generated and maintained by the server. Users do not need to take care of maintaining them. There is no need to setup any tables in advance, or for setting on_commit. A client-side emulation is no longer needed.

Clients can continue to use global transaction identifier to achieve session consistency when reading from MySQL Replication slaves in some cases but not all! The algorithm works as described above. Different SQL statements must be configured for fetch_last_gtid and check_for_gtid. The statements are given below. Please note, MySQL 5.6.5-m8 is a development version. Details of the server implementation may change in the future and require adoption of the SQL statements shown.

Using the following configuration any of the above described functionality can be used together with the server-side global transaction ID feature. mysqlnd_ms_get_last_gtid() and mysqlnd_ms_set_qos() continue to work as described above. The only difference is that the server does not use a simple sequence number but a string containing of a server identifier and a sequence number. Thus, users cannot easily derive an order from GTIDs returned by mysqlnd_ms_get_last_gtid().

Beispiel #8 Plugin config: using MySQL 5.6.5-m8 built-in GTID feature

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "127.0.0.1",
                "port": "3306"
            }
        },
        "global_transaction_id_injection":{
            "fetch_last_gtid" : "SELECT @@GLOBAL.GTID_DONE AS trx_id FROM DUAL",
            "check_for_gtid" : "SELECT GTID_SUBSET('#GTID', @@GLOBAL.GTID_DONE) AS trx_id FROM DUAL",
            "report_error":true
        }
    }
}

Service level and consistency
Cache integration
Quickstart and Examples


Cache integration

Hinweis: Version requirement, dependencies and status

Please, find more about version requirements, extension load order dependencies and the current status in the concepts section!

Databases clusters can deliver different levels of consistency. As of PECL/mysqlnd_ms 1.2.0 it is possible to advice the plugin to consider only cluster nodes that can deliver the consistency level requested. For example, if using asynchronous MySQL Replication with its cluster-wide eventual consistency, it is possible to request session consistency (read your writes) at any time using mysqlnd_ms_set_quos(). Please, see also the service level and consistency introduction.

Beispiel #1 Recap: quality of service to request read your writes

/* Request session consistency: read your writes */
if (!mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_SESSION))
  die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));

Assuming PECL/mysqlnd has been explicitly told to deliver no consistency level higher than eventual consistency, it is possible to replace a database node read access with a client-side cache using time-to-live (TTL) as its invalidation strategy. Both the database node and the cache may or may not serve current data as this is what eventual consistency defines.

Replacing a database node read access with a local cache access can improve overall performance and lower the database load. If the cache entry is every reused by other clients than the one creating the cache entry, a database access is saved and thus database load is lowered. Furthermore, system performance can become better if computation and delivery of a database query is slower than a local cache access.

Beispiel #2 Plugin config: no special entries for caching

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "127.0.0.1",
                "port": "3306"
            }
        },
    }
}

Beispiel #3 Caching a slave request

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

if (   !$mysqli->query("DROP TABLE IF EXISTS test")
    || !$mysqli->query("CREATE TABLE test(id INT)")
    || !$mysqli->query("INSERT INTO test(id) VALUES (1)")
) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Explicitly allow eventual consistency and caching (TTL <= 60 seconds) */
if (false == mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL, MYSQLND_MS_QOS_OPTION_CACHE, 60)) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* To make this example work, we must wait for a slave to catch up. Brute force style. */
$attempts = 0;
do {
    /* check if slave has the table */
    if ($res = $mysqli->query("SELECT id FROM test")) {
        break;
    } else if ($mysqli->errno) {
        die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
    }
    /* wait for slave to catch up */
    usleep(200000);
} while ($attempts++ < 10);

/* Query has been run on a slave, result is in the cache */
assert($res);
var_dump($res->fetch_assoc());

/* Served from cache */
$res = $mysqli->query("SELECT id FROM test");
?>

The example shows how to use the cache feature. First, you have to set the quality of service to eventual consistency and explicitly allow for caching. This is done by calling mysqlnd_ms_set_qos(). Then, the result set of every read-only statement is cached for upto that many seconds as allowed with mysqlnd_ms_set_qos().

The actual TTL is lower or equal to the value set with mysqlnd_ms_set_qos(). The value passed to the function sets the maximum age (seconds) of the data delivered. To calculate the actual TTL value the replication lag on a slave is checked and subtracted from the given value. If, for example, the maximum age is set to 60 seconds and the slave reports a lag of 10 seconds the resulting TTL is 50 seconds. The TTL is calculated individually for every cached query.

Beispiel #4 Read your writes and caching combined

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

if (   !$mysqli->query("DROP TABLE IF EXISTS test")
    || !$mysqli->query("CREATE TABLE test(id INT)")
    || !$mysqli->query("INSERT INTO test(id) VALUES (1)")
) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Explicitly allow eventual consistency and caching (TTL <= 60 seconds) */
if (false == mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL, MYSQLND_MS_QOS_OPTION_CACHE, 60)) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* To make this example work, we must wait for a slave to catch up. Brute force style. */
$attempts = 0;
do {
    /* check if slave has the table */
    if ($res = $mysqli->query("SELECT id FROM test")) {
        break;
    } else if ($mysqli->errno) {
        die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
    }
    /* wait for slave to catch up */
    usleep(200000);
} while ($attempts++ < 10);

assert($res);

/* Query has been run on a slave, result is in the cache */
var_dump($res->fetch_assoc());

/* Served from cache */
if (!($res = $mysqli->query("SELECT id FROM test"))) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}
var_dump($res->fetch_assoc());

/* Update on master */
if (!$mysqli->query("UPDATE test SET id = 2")) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Read your writes */
if (false == mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_SESSION)) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Fetch latest data */
if (!($res = $mysqli->query("SELECT id FROM test"))) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}
var_dump($res->fetch_assoc());
?>

The quality of service can be changed at any time to avoid further cache usage. If needed, you can switch to read your writes (session consistency). In that case, the cache will not be used and fresh data is read.

Global transaction IDs
Failover
Quickstart and Examples


Failover

By default, the plugin does not attempt to fail over if connecting to a host fails. This prevents pitfalls related to connection state. It is recommended to manually handle connection errors in a way similar to a failed transaction. You should catch the error, rebuild the connection state and rerun your query as shown below.

If connection state is no issue to you, you can alternatively enable automatic and silent failover. Depending on the configuration, the automatic and silent failover will either attempt to fail over to the master before issuing and error or, try to connect to other slaves, given the query allowes for it, before attempting to connect to a master. Because automatic failover is not fool-proof, it is not discussed in the quickstart. Instead, details are given in the concepts section below.

Beispiel #1 Manual failover, automatic optional

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "simulate_slave_failure",
                "port": "0"
            },
            "slave_1": {
                "host": "127.0.0.1",
                "port": 3311
            }
        },
       "filters": { "roundrobin": [] }
    }
 }

Beispiel #2 Manual failover

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

$sql = "SELECT 1 FROM DUAL";

/* error handling as it should be done regardless of the plugin */
if (!($res = $link->query($sql))) {
    /* plugin specific: check for connection error */
    switch ($link->errno) {
    case 2002:
    case 2003:
    case 2005:
        printf("Connection error - trying next slave!\n");
        /* load balancer will pick next slave */
        $res = $link->query($sql);
        break;
    default:
        /* no connection error, failover is unlikely to help */
        die(sprintf("SQL error: [%d] %s", $link->errno, $link->error));
        break;
    }
}
if ($res) {
    var_dump($res->fetch_assoc());
}
?>

Cache integration
Partitioning and Sharding
Quickstart and Examples


Partitioning and Sharding

Database clustering is done for various reasons. Clusters can improve availability, fault tolerance, and increase performance by applying a divide and conquer approach as work is distributed over many machines. Clustering is sometimes combined with partitioning and sharding to further break up a large complex task into smaller, more manageable units.

The mysqlnd_ms plugin aims to support a wide variety of MySQL database clusters. Some flavors of MySQL database clusters have built-in methods for partitioning and sharding, which could be transparent to use. The plugin supports the two most common approaches: MySQL Replication table filtering, and Sharding (application based partitioning).

MySQL Replication supports partitioning as filters that allow you to create slaves that replicate all or specific databases of the master, or tables. It is then in the responsibility of the application to choose a slave according to the filter rules. You can either use the mysqlnd_ms node_groups filter to manually support this, or use the experimental table filter.

Manual partitioning or sharding is supported through the node grouping filter, and SQL hints as of 1.5.0. The node_groups filter lets you assign a symbolic name to a group of master and slave servers. In the example, the master master_0 and slave_0 form a group with the name Partition_A. It is entirely up to you to decide what makes up a group. For example, you may use node groups for sharding, and use the group names to address shards like Shard_A_Range_0_100.

Beispiel #1 Cluster node groups

{
  "myapp": {
       "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "simulate_slave_failure",
                "port": "0"
            },
            "slave_1": {
                "host": "127.0.0.1",
                "port": 3311
            }
        },
        "filters": {
            "node_groups": {
                "Partition_A" : {
                    "master": ["master_0"],
                    "slave": ["slave_0"]
                }
            },
           "roundrobin": []
        }
    }
}

Beispiel #2 Manual partitioning using SQL hints

<?php
function select($mysqli, $msg, $hint = '')
{
    /* Note: weak test, two connections to two servers may have the same thread id */
    $sql = sprintf("SELECT CONNECTION_ID() AS _thread, '%s' AS _hint FROM DUAL", $msg);
    if ($hint) {
        $sql = $hint . $sql;
    }
    if (!($res = $mysqli->query($sql))) {
        printf("[%d] %s", $mysqli->errno, $mysqli->error);
        return false;
    }
    $row =  $res->fetch_assoc();
    printf("%d - %s - %s\n", $row['_thread'], $row['_hint'], $sql);
    return true;
}

$mysqli = new mysqli("myapp", "user", "password", "database");
if (!$mysqli) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

/* All slaves allowed */
select($mysqli, "slave_0");
select($mysqli, "slave_1");

/* only servers of node group "Partition_A" allowed */
select($mysqli, "slave_1", "/*Partition_A*/");
select($mysqli, "slave_1", "/*Partition_A*/");
?>
6804 - slave_0 - SELECT CONNECTION_ID() AS _thread, 'slave1' AS _hint FROM DUAL
2442 - slave_1 - SELECT CONNECTION_ID() AS _thread, 'slave2' AS _hint FROM DUAL
6804 - slave_0 - /*Partition_A*/SELECT CONNECTION_ID() AS _thread, 'slave1' AS _hint FROM DUAL
6804 - slave_0 - /*Partition_A*/SELECT CONNECTION_ID() AS _thread, 'slave1' AS _hint FROM DUAL

By default, the plugin will use all configured master and slave servers for query execution. But if a query begins with a SQL hint like /*node_group*/, the plugin will only consider the servers listed in the node_group for query execution. Thus, SELECT queries prefixed with /*Partition_A*/ will only be executed on slave_0.

Failover
MySQL Fabric
Quickstart and Examples


MySQL Fabric

Hinweis: Version requirement and status

Work on supporting MySQL Fabric started in version 1.6. Please, consider the support to be of pre-alpha quality. The manual may not list all features or feature limitations. This is work in progress.

Sharding is the only use case supported by the plugin to date.

Hinweis: MySQL Fabric concepts

Please, check the MySQL reference manual for more information about MySQL Fabric and how to set it up. The PHP manual assumes that you are familiar with the basic concepts and ideas of MySQL Fabric.

MySQL Fabric is a system for managing farms of MySQL servers to achive High Availability and optionally support sharding. Technically, it is a middleware to manage and monitor MySQL servers.

Clients query MySQL Fabric to obtain lists of MySQL servers, their state and their roles. For example, clients can request a list of slaves for a MySQL Replication group and whether they are ready to handle SQL requests. Another example is a cluster of sharded MySQL servers where the client seeks to know which shard to query for a given table and shard key. If configured to use Fabric, the plugin uses XML RCP over HTTP to obtain the list at runtime from a MySQL Fabric host. The XML remote procedure call itself is done in the background and transparent from a developers point of view.

Instead of listing MySQL servers directly in the plugins configuration file it contains a list of one or more MySQL Fabric hosts

Beispiel #1 Plugin config: Fabric hosts instead of MySQL servers

{
    "myapp": {
        "fabric": {
            "hosts": [
                {
                    "host" : "127.0.0.1",
                    "port" : 8080
                }
            ]
        }
    }
}

Users utilize the new functions mysqlnd_ms_fabric_select_shard() and mysqlnd_ms_fabric_select_global() to switch to the set of servers responsible for a given shard key. Then, the plugin picks an appropriate server for running queries on. When doing so, the plugin takes care of additional load balancing rules set.

The below example assumes that MySQL Fabric has been setup to shard the table test.fabrictest using the id column of the table as a shard key.

Beispiel #2 Manual partitioning using SQL hints

<?php
$mysqli = new mysqli("myapp", "user", "password", "database");
if (!$mysqli) {
    /* Of course, your error handling is nicer... */
    die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
}

/* Create a global table - a table available on all shards */
mysqlnd_ms_fabric_select_global($mysqli, "test.fabrictest");
if (!$mysqli->query("CREATE TABLE test.fabrictest(id INT NOT NULL PRIMARY KEY)")) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Switch connection to appropriate shard and insert record */
mysqlnd_ms_fabric_select_shard($mysqli, "test.fabrictest", 10);
if (!($res = $mysqli->query("INSERT INTO fabrictest(id) VALUES (10)"))) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}

/* Try to read newly inserted record */
mysqlnd_ms_fabric_select_shard($mysqli, "test.fabrictest", 10);
if (!($res = $mysqli->query("SELECT id FROM test WHERE id = 10"))) {
    die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
}
?>

The example creates the sharded table, inserts a record and reads the record thereafter. All SQL data definition language (DDL) operations on a sharded table must be applied to the so called global server group. Prior to creating or altering a sharded table, mysqlnd_ms_fabric_select_global() is called to switch the given connection to the corresponding servers of the global group. Data manipulation (DML) SQL statements must be sent to the shards directly. The mysqlnd_ms_fabric_select_shard() switches a connection to shards handling a certain shard key.

Partitioning and Sharding
Concepts
Quickstart and Examples


Concepts

Inhaltsverzeichnis

  • Architecture
  • Connection pooling and switching
  • Local transaction handling
  • Error handling
  • Transient errors
  • Failover
  • Load balancing
  • Read-write splitting
  • Filter
  • Service level and consistency
  • Global transaction IDs
  • Cache integration
  • Supported clusters
  • XA/Distributed transactions

This explains the architecture and related concepts for this plugin, and describes the impact that MySQL replication and this plugin have on developmental tasks while using a database cluster. Reading and understanding these concepts is required, in order to use this plugin with success.

MySQL Fabric
Architecture
mysqlnd_ms


Architecture

The mysqlnd replication and load balancing plugin is implemented as a PHP extension. It is written in C and operates under the hood of PHP. During the startup of the PHP interpreter, in the module init phase of the PHP engine, it gets registered as a mysqlnd plugin to replace selected mysqlnd C methods.

At PHP runtime, it inspects queries sent from mysqlnd (PHP) to the MySQL server. If a query is recognized as read-only, it will be sent to one of the configured slave servers. Statements are considered read-only if they either start with SELECT, the SQL hint /*ms=slave*/ or a slave had been chosen for running the previous query, and the query started with the SQL hint /*ms=last_used*/. In all other cases, the query will be sent to the MySQL replication master server.

For better portability, applications should use the MYSQLND_MS_MASTER_SWITCH, MYSQLND_MS_SLAVE_SWITCH, and MYSQLND_MS_LAST_USED_SWITCH predefined mysqlnd_ms constants, instead of their literal values, such as /*ms=slave*/.

The plugin handles the opening and closing of database connections to both master and slave servers. From an application point of view, there continues to be only one connection handle. However, internally, this one public connection handle represents a pool of network connections that are managed by the plugin. The plugin proxies queries to the master server, and to the slaves using multiple connections.

Database connections have a state consisting of, for example, transaction status, transaction settings, character set settings, and temporary tables. The plugin will try to maintain the same state among all internal connections, whenever this can be done in an automatic and transparent way. In cases where it is not easily possible to maintain state among all connections, such as when using BEGIN TRANSACTION, the plugin leaves it to the user to handle.

Concepts
Connection pooling and switching
Concepts


Connection pooling and switching

The replication and load balancing plugin changes the semantics of a PHP MySQL connection handle. The existing API of the PHP MySQL extensions (mysqli, mysql, and PDO_MYSQL) are not changed in a way that functions are added or removed. But their behavior changes when using the plugin. Existing applications do not need to be adapted to a new API, but they may need to be modified because of the behavior changes.

The plugin breaks the one-by-one relationship between a mysqli, mysql, and PDO_MYSQL connection handle and a MySQL network connection. And a mysqli, mysql, and PDO_MYSQL connection handle represents a local pool of connections to the configured MySQL replication master and MySQL replication slave servers. The plugin redirects queries to the master and slave servers. At some point in time one and the same PHP connection handle may point to the MySQL master server. Later on, it may point to one of the slave servers or still the master. Manipulating and replacing the network connection referenced by a PHP MySQL connection handle is not a transparent operation.

Every MySQL connection has a state. The state of the connections in the connection pool of the plugin can differ. Whenever the plugin switches from one wire connection to another, the current state of the user connection may change. The applications must be aware of this.

The following list shows what the connection state consists of. The list may not be complete.

  • Transaction status
  • Temporary tables
  • Table locks
  • Session system variables and session user variables
  • The current database set using USE and other state chaining SQL commands
  • Prepared statements
  • HANDLER variables
  • Locks acquired with GET_LOCK()

Connection switches happen right before queries are executed. The plugin does not switch the current connection until the next statement is executed.

Hinweis: Replication issues

See also the MySQL reference manual chapter about » replication features and related issues. Some restrictions may not be related to the PHP plugin, but are properties of the MySQL replication system.

Broadcasted messages

The plugins philosophy is to align the state of connections in the pool only if the state is under full control of the plugin, or if it is necessary for security reasons. Just a few actions that change the state of the connection fall into this category.

The following is a list of connection client library calls that change state, and are broadcasted to all open connections in the connection pool.

If any of the listed calls below are to be executed, the plugin loops over all open master and slave connections. The loop continues until all servers have been contacted, and the loop does not break if a server indicates a failure. If possible, the failure will propagate to the called user API function, which may be detected depending on which underlying library function was triggered.

Library call | Notes | Version
change_user() | Called by the mysqli_change_user() user API call. Also triggered upon reuse of a persistent mysqli connection. | Since 1.0.0.
select_db | Called by the following user API calls: mysql_select_db(), mysql_list_tables(), mysql_db_query(), mysql_list_fields(), mysqli_select_db(). Note, that SQL USE is not monitored. | Since 1.0.0.
set_charset() | Called by the following user API calls: mysql_set_charset(). mysqli_set_charset(). Note, that SQL SET NAMES is not monitored. | Since 1.0.0.
set_server_option() | Called by the following user API calls: mysqli_multi_query(), mysqli_real_query(), mysqli_query(), mysql_query(). | Since 1.0.0.
set_client_option() | Called by the following user API calls: mysqli_options(), mysqli_ssl_set(), mysqli_connect(), mysql_connect(), mysql_pconnect(). | Since 1.0.0.
set_autocommit() | Called by the following user API calls: mysqli_autocommit(), PDO::setAttribute(PDO::ATTR_AUTOCOMMIT). | Since 1.0.0. PHP >= 5.4.0.
ssl_set() | Called by the following user API calls: mysqli_ssl_set(). | Since 1.1.0.

Broadcasting and lazy connections

The plugin does not proxy or "remember" all settings to apply them on connections opened in the future. This is important to remember, if using lazy connections. Lazy connections are connections which are not opened before the client sends the first connection. Use of lazy connections is the default plugin action.

The following connection library calls each changed state, and their execution is recorded for later use when lazy connections are opened. This helps ensure that the connection state of all connections in the connection pool are comparable.

Library call | Notes | Version
change_user() | User, password and database recorded for future use. | Since 1.1.0.
select_db | Database recorded for future use. | Since 1.1.0.
set_charset() | Calls set_client_option(MYSQL_SET_CHARSET_NAME, charset) on lazy connection to ensure charset will be used upon opening the lazy connection. | Since 1.1.0.
set_autocommit() | Adds SET AUTOCOMMIT=0|1 to the list of init commands of a lazy connection using set_client_option(MYSQL_INIT_COMMAND, "SET AUTOCOMMIT=...%quot;). | Since 1.1.0. PHP >= 5.4.0.
Achtung

Connection state

The connection state is not only changed by API calls. Thus, even if PECL mysqlnd_ms monitors all API calls, the application must still be aware. Ultimately, it is the applications responsibility to maintain the connection state, if needed.

Charsets and string escaping

Due to the use of lazy connections, which are a default, it can happen that an application tries to escape a string for use within SQL statements before a connection has been established. In this case string escaping is not possible. The string escape function does not know what charset to use before a connection has been established.

To overcome the problem a new configuration setting server_charset has been introduced in version 1.4.0.

Attention has to be paid on escaping strings with a certain charset but using the result on a connection that uses a different charset. Please note, that PECL/mysqlnd_ms manipulates connections and one application level connection represents a pool of multiple connections that all may have different default charsets. It is recommended to configure the servers involved to use the same default charsets. The configuration setting server_charset does help with this situation as well. If using server_charset, the plugin will set the given charset on all newly opened connections.

Architecture
Local transaction handling
Concepts


Local transaction handling

Transaction handling is fundamentally changed. An SQL transaction is a unit of work that is run on one database server. The unit of work consists of one or more SQL statements.

By default the plugin is not aware of SQL transactions. The plugin may switch connections for load balancing at any point in time. Connection switches may happen in the middle of a transaction. This is against the nature of an SQL transaction. By default, the plugin is not transaction safe.

Any kind of MySQL load balancer must be hinted about the begin and end of a transaction. Hinting can either be done implicitly by monitoring API calls or using SQL hints. Both options are supported by the plugin, depending on your PHP version. API monitoring requires PHP 5.4.0 or newer. The plugin, like any other MySQL load balancer, cannot detect transaction boundaries based on the MySQL Client Server Protocol. Thus, entirely transparent transaction aware load balancing is not possible. The least intrusive option is API monitoring, which requires little to no application changes, depending on your application.

Please, find examples of using SQL hints or the API monitoring in the examples section. The details behind the API monitoring, which makes the plugin transaction aware, are described below.

Beginning with PHP 5.4.0, the mysqlnd library allows this plugin to subclass the library C API call set_autocommit(), to detect the status of autocommit mode.

The PHP MySQL extensions either issue a query (such as SET AUTOCOMMIT=0|1), or use the mysqlnd library call set_autocommit() to control the autocommit setting. If an extension makes use of set_autocommit(), the plugin can be made transaction aware. Transaction awareness cannot be achieved if using SQL to set the autocommit mode. The library function set_autocommit() is called by the mysqli_autocommit() and PDO::setAttribute(PDO::ATTR_AUTOCOMMIT) user API calls.

The plugin configuration option trx_stickiness=master can be used to make the plugin transactional aware. In this mode, the plugin stops load balancing if autocommit becomes disabled, and directs all statements to the master until autocommit gets enabled.

An application that does not want to set SQL hints for transactions but wants to use the transparent API monitoring to avoid application changes must make sure that the autocommit settings is changed exclusively through the listed API calls.

API based transaction boundary detection has been improved with PHP 5.5.0 and PECL/mysqlnd_ms 1.5.0 to cover not only calls to mysqli_autocommit() but also mysqli_begin(), mysqli_commit() and mysqli_rollback().

Connection pooling and switching
Error handling
Concepts


Error handling

Applications using PECL/mysqlnd_ms should implement proper error handling for all user API calls. And because the plugin changes the semantics of a connection handle, API calls may return unexpected errors. If using the plugin on a connection handle that no longer represents an individual network connection, but a connection pool, an error code and error message will be set on the connection handle whenever an error occurs on any of the network connections behind.

If using lazy connections, which is the default, connections are not opened until they are needed for query execution. Therefore, an API call for a statement execution may return a connection error. In the example below, an error is provoked when trying to run a statement on a slave. Opening a slave connection fails because the plugin configuration file lists an invalid host name for the slave.

Beispiel #1 Provoking a connection error

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "invalid_host_name",
            }
        },
        "lazy_connections": 1
    }
}

The explicit activation of lazy connections is for demonstration purpose only.

Beispiel #2 Connection error on query execution

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (mysqli_connect_errno())
  /* Of course, your error handling is nicer... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

/* Connection 1, connection bound SQL user variable, no SELECT thus run on master */
if (!$mysqli->query("SET @myrole='master'")) {
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}

/* Connection 2, run on slave because SELECT, provoke connection error */
if (!($res = $mysqli->query("SELECT @myrole AS _role"))) {
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
} else {
 $row = $res->fetch_assoc();
 $res->close();
 printf("@myrole = '%s'\n", $row['_role']);
}
$mysqli->close();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

PHP Warning:  mysqli::query(): php_network_getaddresses: getaddrinfo failed: Name or service not known in %s on line %d
PHP Warning:  mysqli::query(): [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known (trying to connect via tcp://invalid_host_name:3306) in %s on line %d
[2002] php_network_getaddresses: getaddrinfo failed: Name or service not known

Applications are expected to handle possible connection errors by implementing proper error handling.

Depending on the use case, applications may want to handle connection errors differently from other errors. Typical connection errors are 2002 (CR_CONNECTION_ERROR) - Can't connect to local MySQL server through socket '%s' (%d), 2003 (CR_CONN_HOST_ERROR) - Can't connect to MySQL server on '%s' (%d) and 2005 (CR_UNKNOWN_HOST) - Unknown MySQL server host '%s' (%d). For example, the application may test for the error codes and manually perform a fail over. The plugins philosophy is not to offer automatic fail over, beyond master fail over, because fail over is not a transparent operation.

Beispiel #3 Provoking a connection error

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "invalid_host_name"
            },
            "slave_1": {
                "host": "192.168.78.136"
            }
        },
        "lazy_connections": 1,
        "filters": {
            "roundrobin": [

            ]
        }
    }
}

Explicitly activating lazy connections is done for demonstration purposes, as is round robin load balancing as opposed to the default random once type.

Beispiel #4 Most basic failover

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (mysqli_connect_errno())
  /* Of course, your error handling is nicer... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

/* Connection 1, connection bound SQL user variable, no SELECT thus run on master */
if (!$mysqli->query("SET @myrole='master'")) {
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}

/* Connection 2, first slave */
$res = $mysqli->query("SELECT VERSION() AS _version");
/* Hackish manual fail over */
if (2002 == $mysqli->errno || 2003 == $mysqli->errno || 2004 == $mysqli->errno) {
  /* Connection 3, first slave connection failed, trying next slave */
  $res = $mysqli->query("SELECT VERSION() AS _version");
}

if (!$res) {
  printf("ERROR, [%d] '%s'\n", $mysqli->errno, $mysqli->error);
} else {
 /* Error messages are taken from connection 3, thus no error */
 printf("SUCCESS, [%d] '%s'\n", $mysqli->errno, $mysqli->error);
 $row = $res->fetch_assoc();
 $res->close();
 printf("version = %s\n", $row['_version']);
}
$mysqli->close();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

[1045] Access denied for user 'username'@'localhost' (using password: YES)
PHP Warning:  mysqli::query(): php_network_getaddresses: getaddrinfo failed: Name or service not known in %s on line %d
PHP Warning:  mysqli::query(): [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known (trying to connect via tcp://invalid_host_name:3306) in %s on line %d
SUCCESS, [0] ''
version = 5.6.2-m5-log

In some cases, it may not be easily possible to retrieve all errors that occur on all network connections through a connection handle. For example, let's assume a connection handle represents a pool of three open connections. One connection to a master and two connections to the slaves. The application changes the current database using the user API call mysqli_select_db(), which then calls the mysqlnd library function to change the schemata. mysqlnd_ms monitors the function, and tries to change the current database on all connections to harmonize their state. Now, assume the master succeeds in changing the database, and both slaves fail. Upon the initial error from the first slave, the plugin will set an appropriate error on the connection handle. The same is done when the second slave fails to change the database. The error message from the first slave is lost.

Such cases can be debugged by either checking for errors of the type E_WARNING (see above) or, if no other option, investigation of the mysqlnd_ms debug and trace log.

Local transaction handling
Transient errors
Concepts


Transient errors

Some distributed database clusters make use of transient errors. A transient error is a temporary error that is likely to disappear soon. By definition it is safe for a client to ignore a transient error and retry the failed operation on the same database server. The retry is free of side effects. Clients are not forced to abort their work or to fail over to another database server immediately. They may enter a retry loop before to wait for the error to disappear before giving up on the database server. Transient errors can be seen, for example, when using MySQL Cluster. But they are not bound to any specific clustering solution per se.

PECL/mysqlnd_ms can perform an automatic retry loop in case of a transient error. This increases distribution transparency and thus makes it easier to migrate an application running on a single database server to run on a cluster of database servers without having to change the source of the application.

The automatic retry loop will repeat the requested operation up to a user configurable number of times and pause between the attempts for a configurable amount of time. If the error disappears during the loop, the application will never see it. If not, the error is forwarded to the application for handling.

In the example below a duplicate key error is provoked to make the plugin retry the failing query two times before the error is passed to the application. Between the two attempts the plugin sleeps for 100 milliseconds.

Beispiel #1 Provoking a transient error

mysqlnd_ms.enable=1
mysqlnd_ms.collect_statistics=1
{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
       },
       "transient_error": {
          "mysql_error_codes": [
            1062
          ],
          "max_retries": 2,
          "usleep_retry": 100
       }
    }
}

Beispiel #2 Transient error retry loop

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
if (mysqli_connect_errno())
  /* Of course, your error handling is nicer... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

if (!$mysqli->query("DROP TABLE IF EXISTS test") ||
    !$mysqli->query("CREATE TABLE test(id INT PRIMARY KEY)") ||
    !$mysqli->query("INSERT INTO test(id) VALUES (1))")) {
  printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}

/* Retry loop is completely transparent. Checking statistics is
 the only way to know about implicit retries */
$stats = mysqlnd_ms_get_stats();
printf("Transient error retries before error: %d\n", $stats['transient_error_retries']);

/* Provoking duplicate key error to see statistics change */
if (!$mysqli->query("INSERT INTO test(id) VALUES (1))")) {
  printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
}

$stats = mysqlnd_ms_get_stats();
printf("Transient error retries after error: %d\n", $stats['transient_error_retries']);

$mysqli->close();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Transient error retries before error: 0
[1062] Duplicate entry '1' for key 'PRIMARY'
Transient error retries before error: 2

Because the execution of the retry loop is transparent from a users point of view, the example checks the statistics provided by the plugin to learn about it.

As the example shows, the plugin can be instructed to consider any error transient regardless of the database servers error semantics. The only error that a stock MySQL server considers temporary has the error code 1297. When configuring other error codes but 1297 make sure your configuration reflects the semantics of your clusters error codes.

The following mysqlnd C API calls are monitored by the plugin to check
for transient errors: query(),
change_user(), select_db(),
set_charset(), set_server_option()
prepare(), execute(),
set_autocommit(),
tx_begin(), tx_commit(),
tx_rollback(), tx_commit_or_rollback().
The corresponding user API calls have similar names.

The maximum time the plugin may sleep during the retry loop depends on the function in question. The a retry loop for query(), prepare() or execute() will sleep for up to max_retries * usleep_retry milliseconds.

However, functions that control connection state are dispatched to all connections. The retry loop settings are applied to every connection on which the command is to be run. Thus, such a function may interrupt program execution for longer than a function that is run on one server only. For example, set_autocommit() is dispatched to connections and may sleep up to (max_retries * usleep_retry) * number_of_open_connections) milliseconds. Please, keep this in mind when setting long sleep times and large retry numbers. Using the default settings of max_retries=1, usleep_retry=100 and lazy_connections=1 it is unlikely that you will ever see a delay of more than 1 second.

Error handling
Failover
Concepts


Failover

By default, connection failover handling is left to the user. The application is responsible for checking return values of the database functions it calls and reacting to possible errors. If, for example, the plugin recognizes a query as a read-only query to be sent to the slave servers, and the slave server selected by the plugin is not available, the plugin will raise an error after not executing the statement.

Default: manual failover

It is up to the application to handle the error and, if required, re-issue the query to trigger the selection of another slave server for statement execution. The plugin will make no attempts to failover automatically, because the plugin cannot ensure that an automatic failover will not change the state of the connection. For example, the application may have issued a query which depends on SQL user variables which are bound to a specific connection. Such a query might return incorrect results if the plugin would switch the connection implicitly as part of automatic failover. To ensure correct results, the application must take care of the failover, and rebuild the required connection state. Therefore, by default, no automatic failover is performed by the plugin.

A user that does not change the connection state after opening a connection may activate automatic failover. Please note, that automatic failover logic is limited to connection attempts. Automatic failover is not used for already established connections. There is no way to instruct the plugin to attempt failover on a connection that has been connected to MySQL already in the past.

Automatic failover

The failover policy is configured in the plugins configuration file, by using the failover configuration directive.

Automatic and silent failover can be enabled through the failover configuration directive. Automatic failover can either be configured to try exactly one master after a slave failure or, alternatively, loop over slaves and masters before returning an error to the user. The number of connection attempts can be limited and failed hosts can be excluded from future load balancing attempts. Limiting the number of retries and remembering failed hosts are considered experimental features, albeit being reasonable stable. Syntax and semantics may change in future versions.

Please note, since version 1.5.0 automatic failover is disabled for the duration of a transaction if transaction stickiness is enabled and transaction boundaries have been detected. The plugin will not switch connections for the duration of a transaction. It will also not perform automatic and silent failover. Instead an error will be thrown. It is then left to the user to handle the failure of the transaction. Please check, the trx_stickiness documentation how to do this.

A basic manual failover example is provided within the error handling section.

Standby servers

Using weighted load balancing, introduced in PECL/mysqlnd 1.4.0, it is possible to configure standby servers that are sparsely used during normal operations. A standby server that is primarily used as a worst-case standby failover target can be assigned a very low weight/priority in relation to all other servers. As long as all servers are up and running the majority of the workload is assigned to the servers which have hight weight values. Few requests will be directed to the standby system which has a very low weight value.

Upon failure of the servers with a high priority, you can still failover to the standby, which has been given a low load balancing priority by assigning a low weight to it. Failover can be some manually or automatically. If done automatically, you may want to combine it with the remember_failed option.

At this point, it is not possible to instruct the load balancer to direct no requests at all to a standby. This may not be much of a limitation given that the highest weight you can assign to a server is 65535. Given two slaves, of which one shall act as a standby and has been assigned a weight of 1, the standby will have to handle far less than one percent of the overall workload.

Failover and primary copy

Please note, if using a primary copy cluster, such as MySQL Replication, it is difficult to do connection failover in case of a master failure. At any time there is only one master in the cluster for a given dataset. The master is a single point of failure. If the master fails, clients have no target to fail over write requests. In case of a master outage the database administrator must take care of the situation and update the client configurations, if need be.

Transient errors
Load balancing
Concepts


Load balancing

Four load balancing strategies are supported to distribute statements over the configured MySQL slave servers:

random

Chooses a random server whenever a statement is executed.

random once (default)

Chooses a random server after the first statement is executed, and uses the decision for the rest of the PHP request.

It is the default, and the lowest impact on the connection state.

round robin

Iterates over the list of configured servers.

user-defined via callback

Is used to implement any other strategy.

The load balancing policy is configured in the plugins configuration file using the random, roundrobin, and user filters.

Servers can be prioritized assigning a weight. A server that has been given a weight of two will get twice as many requests as a server that has been given the default weight of one. Prioritization can be handy in heterogenous environments. For example, you may want to assign more requests to a powerful machine than to a less powerful. Or, you may have configured servers that are close or far from the client, thus expose different latencies.

Failover
Read-write splitting
Concepts


Read-write splitting

The plugin executes read-only statements on the configured MySQL slaves, and all other queries on the MySQL master. Statements are considered read-only if they either start with SELECT, the SQL hint /*ms=slave*/, or if a slave had been chosen for running the previous query and the query starts with the SQL hint /*ms=last_used*/. In all other cases, the query will be sent to the MySQL replication master server. It is recommended to use the constants MYSQLND_MS_SLAVE_SWITCH, MYSQLND_MS_MASTER_SWITCH and MYSQLND_MS_LAST_USED_SWITCH instead of /*ms=slave*/. See also the list of mysqlnd_ms constants.

SQL hints are a special kind of standard compliant SQL comments. The plugin does check every statement for certain SQL hints. The SQL hints are described within the mysqlnd_ms constants documentation, constants that are exported by the extension. Other systems involved with the statement processing, such as the MySQL server, SQL firewalls, and SQL proxies, are unaffected by the SQL hints, because those systems are designed to ignore SQL comments.

The built-in read-write splitter can be replaced by a user-defined filter, see also the user filter documentation.

A user-defined read-write splitter can request the built-in logic to send a statement to a specific location, by invoking mysqlnd_ms_is_select().

Hinweis:

The built-in read-write splitter is not aware of multi-statements. Multi-statements are seen as one statement. The splitter will check the beginning of the statement to decide where to run the statement. If, for example, a multi-statement begins with SELECT 1 FROM DUAL; INSERT INTO test(id) VALUES (1); ... the plugin will run it on a slave although the statement is not read-only.

Load balancing
Filter
Concepts


Filter

Hinweis: Version requirement

Filters exist as of mysqlnd_ms version 1.1.0-beta.

filters. PHP applications that implement a MySQL replication cluster must first identify a group of servers in the cluster which could execute a statement before the statement is executed by one of the candidates. In other words: a defined list of servers must be filtered until only one server is available.

The process of filtering may include using one or more filters, and filters can be chained. And they are executed in the order they are defined in the plugins configuration file.

Hinweis: Explanation: comparing filter chaining to pipes

The concept of chained filters can be compared to using pipes to connect command line utilities on an operating system command shell. For example, an input stream is passed to a processor, filtered, and then transferred to be output. Then, the output is passed as input to the next command, which is connected to the previous using the pipe operator.

Available filters:

  • Load balancing filters: random and roundrobin.
  • Selection filter: user, user_multi, quality_of_service.

The random filter implements the 'random' and 'random once' load balancing policies. The 'round robin' load balancing can be configured through the roundrobin filter. Setting a 'user defined callback' for server selection is possible with the user filter. The quality_of_service filter finds cluster nodes capable of delivering a certain service, for example, read-your-writes or, not lagging more seconds behind the master than allowed.

Filters can accept parameters to change their behavior. The random filter accepts an optional sticky parameter. If set to true, the filter changes load balancing from random to random once. Random picks a random server every time a statement is to be executed. Random once picks a random server when the first statement is to be executed and uses the same server for the rest of the PHP request.

One of the biggest strength of the filter concept is the possibility to chain filters. This strength does not become immediately visible because the random, roundrobin and user filters are supposed to output no more than one server. If a filter reduces the list of candidates for running a statement to only one server, it makes little sense to use that one server as input for another filter for further reduction of the list of candidates.

An example filter sequence that will fail:

  • Statement to be executed: SELECT 1 FROM DUAL. Passed to all filters.
  • All configured nodes are passed as input to the first filter. Master nodes: master_0. Slave nodes:slave_0, slave_1
  • Filter: random, argument sticky=1. Picks a random slave once to be used for the rest of the PHP request. Output: slave_0.
  • Output of slave_0 and the statement to be executed is passed as input to the next filter. Here: roundrobin, server list passed to filter is: slave_0.
  • Filter: roundrobin. Server list consists of one server only, round robin will always return the same server.
If trying to use such a filter sequence, the plugin may emit a warning like (mysqlnd_ms) Error while creating filter '%s' . Non-multi filter '%s' already created. Stopping in %s on line %d. Furthermore, an appropriate error on the connection handle may be set.

A second type of filter exists: multi filter. A multi filter emits zero, one or multiple servers after processing. The quality_of_service filter is an example. If the service quality requested sets an upper limit for the slave lag and more than one slave is lagging behind less than the allowed number of seconds, the filter returns more than one cluster node. A multi filter must be followed by other to further reduce the list of candidates for statement execution until a candidate is found.

A filter sequence with the quality_of_service multi filter followed by a load balancing filter.

  • Statement to be executed: SELECT sum(price) FROM orders WHERE order_id = 1. Passed to all filters.
  • All configured nodes are passed as input to the first filter. Master nodes: master_0. Slave nodes: slave_0, slave_1, slave_2, slave_3
  • Filter: quality_of_service, rule set: session_consistency (read-your-writes) Output: master_0
  • Output of master_0 and the statement to be executed is passed as input to the next filter, which is roundrobin.
  • Filter: roundrobin. Server list consists of one server. Round robin selects master_0.

A filter sequence must not end with a multi filter. If trying to use a filter sequence which ends with a multi filter the plugin may emit a warning like (mysqlnd_ms) Error in configuration. Last filter is multi filter. Needs to be non-multi one. Stopping in %s on line %d. Furthermore, an appropriate error on the connection handle may be set.

Hinweis: Speculation towards the future: MySQL replication filtering

In future versions, there may be additional multi filters. For example, there may be a table filter to support MySQL replication filtering. This would allow you to define rules for which database or table is to be replicated to which node of a replication cluster. Assume your replication cluster consists of four slaves (slave_0, slave_1, slave_2, slave_3) two of which replicate a database named sales (slave_0, slave_1). If the application queries the database slaves, the hypothetical table filter reduces the list of possible servers to slave_0 and slave_1. Because the output and list of candidates consists of more than one server, it is necessary and possible to add additional filters to the candidate list, for example, using a load balancing filter to identify a server for statement execution.

Read-write splitting
Service level and consistency
Concepts


Service level and consistency

Hinweis: Version requirement

Service levels have been introduced in mysqlnd_ms version 1.2.0-alpha. mysqlnd_ms_set_qos() requires PHP 5.4.0 or newer.

The plugin can be used with different kinds of MySQL database clusters. Different clusters can deliver different levels of service to applications. The service levels can be grouped by the data consistency levels that can be achieved. The plugin knows about:

  • eventual consistency
  • session consistency
  • strong consistency

Depending how a cluster is used it may be possible to achieve higher service levels than the default one. For example, a read from an asynchronous MySQL replication slave is eventual consistent. Thus, one may say the default consistency level of a MySQL replication cluster is eventual consistency. However, if the master only is used by a client for reading and writing during a session, session consistency (read your writes) is given. PECL mysqlnd 1.2.0 abstracts the details of choosing an appropriate node for any of the above service levels from the user.

Service levels can be set through the qualify-of-service filter in the plugins configuration file and at runtime using the function mysqlnd_ms_set_qos().

The plugin defines the different service levels as follows.

Eventual consistency is the default service provided by an asynchronous cluster, such as classical MySQL replication. A read operation executed on an arbitrary node may or may not return stale data. The applications view of the data is eventual consistent.

Session consistency is given if a client can always read its own writes. An asynchronous MySQL replication cluster can deliver session consistency if clients always use the master after the first write or never query a slave which has not yet replicated the clients write operation.

The plugins understanding of strong consistency is that all clients always see the committed writes of all other clients. This is the default when using MySQL Cluster or any other cluster offering synchronous data distribution.

Service level parameters

Eventual consistency and session consistency service level accept parameters.

Eventual consistency is the service provided by classical MySQL replication. By default, all nodes qualify for read requests. An optional age parameter can be given to filter out nodes which lag more than a certain number of seconds behind the master. The plugin is using SHOW SLAVE STATUS to measure the lag. Please, see the MySQL reference manual to learn about accuracy and reliability of the SHOW SLAVE STATUS command.

Session consistency (read your writes) accepts an optional GTID parameter to consider reading not only from the master but also from slaves which already have replicated a certain write described by its transaction identifier. This way, when using asynchronous MySQL replication, read requests may be load balanced over slaves while still ensuring session consistency.

The latter requires the use of client-side global transaction id injection.

Advantages of the new approach

The new approach supersedes the use of SQL hints and the configuration option master_on_write in some respects. If an application running on top of an asynchronous MySQL replication cluster cannot accept stale data for certain reads, it is easier to tell the plugin to choose appropriate nodes than prefixing all read statements in question with the SQL hint to enforce the use of the master. Furthermore, the plugin may be able to use selected slaves for reading.

The master_on_write configuration option makes the plugin use the master after the first write (session consistency, read your writes). In some cases, session consistency may not be needed for the rest of the session but only for some, few read operations. Thus, master_on_write may result in more read load on the master than necessary. In those cases it is better to request a higher than default service level only for those reads that actually need it. Once the reads are done, the application can return to default service level. Switching between service levels is only possible using mysqlnd_ms_set_qos().

Performance considerations

A MySQL replication cluster cannot tell clients which slaves are capable of delivering which level of service. Thus, in some cases, clients need to query the slaves to check their status. PECL mysqlnd_ms transparently runs the necessary SQL in the background. However, this is an expensive and slow operation. SQL statements are run if eventual consistency is combined with an age (slave lag) limit and if session consistency is combined with a global transaction ID.

If eventual consistency is combined with an maximum age (slave lag), the plugin selects candidates for statement execution and load balancing for each statement as follows. If the statement is a write all masters are considered as candidates. Slaves are not checked and not considered as candidates. If the statement is a read, the plugin transparently executes SHOW SLAVE STATUS on every slaves connection. It will loop over all connections, send the statement and then start checking for results. Usually, this is slightly faster than a loop over all connections in which for every connection a query is send and the plugin waits for its results. A slave is considered a candidate if SHOW SLAVE STATUS reports Slave_IO_Running=Yes, Slave_SQL_Running=Yes and Seconds_Behind_Master is less or equal than the allowed maximum age. In case of an SQL error, the plugin emits a warning but does not set an error on the connection. The error is not set to make it possible to use the plugin as a drop-in.

If session consistency is combined with a global transaction ID, the plugin executes the SQL statement set with the fetch_last_gtid entry of the global_transaction_id_injection section from the plugins configuration file. Further details are identical to those described above.

In version 1.2.0 no additional optimizations are done for executing background queries. Future versions may contain optimizations, depending on user demand.

If no parameters and options are set, no SQL is needed. In that case, the plugin consider all nodes of the type shown below.

  • eventual consistency, no further options set: all masters, all slaves
  • session consistency, no further options set: all masters
  • strong consistency (no options allowed): all masters

Throttling

The quality of service filter can be combined with Global transaction IDs to throttle clients. Throttling does reduce the write load on the master by slowing down clients. If session consistency is requested and global transactions identifier are used to check the status of a slave, the check can be done in two ways. By default a slave is checked and skipped immediately if it does not match the criteria for session consistency. Alternatively, the plugin can wait for a slave to catch up to the master until session consistency is possible. To enable the throttling, you have to set wait_for_gtid_timeout configuration option.

Filter
Global transaction IDs
Concepts


Global transaction IDs

Hinweis: Version requirement

Client side global transaction ID injection exists as of mysqlnd_ms version 1.2.0-alpha. Transaction boundaries are detected by monitoring API calls. This is possible as of PHP 5.4.0. Please, see also Transaction handling.

As of MySQL 5.6.5-m8 the MySQL server features built-in global transaction identifiers. The MySQL built-in global transaction ID feature is supported by PECL/mysqlnd_ms 1.3.0-alpha or later. Neither are client-side transaction boundary monitoring nor any setup activities required if using the server feature.

Please note, all MySQL 5.6 production versions do not provide clients with enough information to use GTIDs for enforcing session consistency. In the worst case, the plugin will choose the master only.

Idea and client-side emulation

PECL/mysqlnd_ms can do client-side transparent global transaction ID injection. In its most basic form, a global transaction identifier is a counter which is incremented for every transaction executed on the master. The counter is held in a table on the master. Slaves replicate the counter table.

In case of a master failure a database administrator can easily identify the most recent slave for promoting it as a new master. The most recent slave has the highest transaction identifier.

Application developers can ask the plugin for the global transaction identifier (GTID) for their last successful write operation. The plugin will return an identifier that refers to an transaction no older than that of the clients last write operation. Then, the GTID can be passed as a parameter to the quality of service (QoS) filter as an option for session consistency. Session consistency ensures read your writes. The filter ensures that all reads are either directed to a master or a slave which has replicated the write referenced by the GTID.

When injection is done

The plugin transparently maintains the GTID table on the master. In autocommit mode the plugin injects an UPDATE statement before executing the users statement for every master use. In manual transaction mode, the injection is done before the application calls commit() to close a transaction. The configuration option report_error of the GTID section in the plugins configuration file is used to control whether a failed injection shall abort the current operation or be ignored silently (default).

Please note, the PHP version requirements for transaction boundary monitoring and their limits.

Limitations

Client-side global transaction ID injection has shortcomings. The potential issues are not specific to PECL/mysqlnd_ms but are rather of general nature.

  • Global transaction ID tables must be deployed on all masters and replicas.
  • The GTID can have holes. Only PHP clients using the plugin will maintain the table. Other clients will not.
  • Client-side transaction boundary detection is based on API calls only.
  • Client-side transaction boundary detection does not take implicit commit into account. Some MySQL SQL statements cause an implicit commit and cannot be rolled back.

Using server-side global transaction identifier

Starting with PECL/mysqlnd_ms 1.3.0-alpha the MySQL 5.6.5-m8 or newer built-in global transaction identifier feature is supported. Use of the server feature lifts all of the above listed limitations. Please, see the MySQL Reference Manual for limitations and preconditions for using server built-in global transaction identifiers.

Whether to use the client-side emulation or the server built-in functionality is a question not directly related to the plugin, thus it is not discussed in depth. There are no plans to remove the client-side emulation and you can continue to use it, if the server-side solution is no option. This may be the case in heterogenous environments with old MySQL server or, if any of the server-side solution limitations is not acceptable.

From an applications perspective there is hardly a difference in using one or the other approach. The following properties differ.

  • Client-side emulation, as shown in the manual, is using an easy to compare sequence number for global transactions. Multi-master is not handled to keep the manual examples easy. Server-side built-in feature is using a combination of a server identifier and a sequence number as a global transaction identifier. Comparison cannot use numeric algebra. Instead a SQL function must be used. Please, see the MySQL Reference Manual for details. Server-side built-in feature of MySQL 5.6 cannot be used to ensure session consistency under all circumstances. Do not use it for the quality-of-service feature. Here is a simple example why it will not give reliable results. There are more edge cases that cannot be covered with limited functionality exported by the server. Currently, clients can ask a MySQL replication master for a list of all executed global transaction IDs only. If a slave is configured not to replicate all transactions, for example, because replication filters are set, then the slave will never show the same set of executed global transaction IDs. Albeit the slave may have replicated a clients writes and it may be a candidate for a consistent read, it will never be considered by the plugin. Upon write the plugin learns from the master that the servers complete transaction history consists of GTID=1..3. There is no way for the plugin to ask for the GTID of the write transaction itself, say GTID=3. Assume that a slave does not replicate the transactions GTID=1..2 but only GTID=3 because of a replication feature. Then, the slaves transaction history is GTID=3. However, the plugin tries to find a node which has a transaction history of GITD=1...3. Albeit the slave has replicated the clients write and session consistency may be achieved when reading from the slave, it will not be considered by the plugin. This is not a fault of the plugin implementation but a feature gap on the server side. Please note, this is a trivial case to illustrate the issue there are other issues. In sum you are asked not to attempt using MySQL 5.6 built-in GTIDs for enforcing session consistency. Sooner or later the load balancing will stop working properly and the plugin will direct all session consistency requests to the master.
  • Plugin global transaction ID statistics are only available with client-side emulation because they monitor the emulation.

Hinweis: Global transaction identifiers in distributed systems

Global transaction identifiers can serve multiple purposes in the context of distributed systems, such as a database cluster. Global transaction identifiers can be used for, for example, system wide identification of transactions, global ordering of transactions, heartbeat mechanism and for checking the replication status of replicas. PECL/mysqlnd_ms, a clientside driver based software, does focus on using GTIDs for tasks that can be handled at the client, such as checking the replication status of replicas for asynchronous replication setups.

Service level and consistency
Cache integration
Concepts


Cache integration

Hinweis: Version requirement

The feature requires use of PECL/mysqlnd_ms 1.3.0-beta or later, and PECL/mysqlnd_qc 1.1.0-alpha or newer. PECL/mysqlnd_ms must be compiled to support the feature. PHP 5.4.0 or newer is required.

Hinweis: Setup: extension load order

PECL/mysqlnd_ms must be loaded before PECL/mysqlnd_qc, when using shared extensions.

Hinweis: Feature stability

The cache integration is of beta quality.

Hinweis: Suitable MySQL clusters

The feature is targeted for use with MySQL Replication (primary copy). Currently, no other kinds of MySQL clusters are supported. Users of such cluster must control PECL/mysqlnd_qc manually if they are interested in client-side query caching.

Support for MySQL replication clusters (asynchronous primary copy) is the main focus of PECL/mysqlnd_ms. The slaves of a MySQL replication cluster may or may not reflect the latest updates from the master. Slaves are asynchronous and can lag behind the master. A read from a slave is eventual consistent from a cluster-wide perspective.

The same level of consistency is offered by a local cache using time-to-live (TTL) invalidation strategy. Current data or stale data may be served. Eventually, data searched for in the cache is not available and the source of the cache needs to be accessed.

Given that both a MySQL Replication slave (asynchronous secondary) and a local TTL-driven cache deliver the same level of service it is possible to transparently replace a remote database access with a local cache access to gain better possibility.

As of PECL/mysqlnd_ms 1.3.0-beta the plugin is capable of transparently controlling PECL/mysqlnd_ms 1.1.0-alpha or newer to cache a read-only query if explicitly allowed by setting an appropriate quality of service through mysqlnd_ms_set_qos(). P lease, see the quickstart for a code example. Both plugins must be installed, PECL/mysqlnd_ms must be compiled to support the cache feature and PHP 5.4.0 or newer has to be used.

Applications have full control of cache usage and can request fresh data at any time, if need be. The cache usage can be enabled and disabled time during the execution of a script. The cache will be used if mysqlnd_ms_set_qos() sets the quality of service to eventual consistency and enables cache usage. Cache usage is disabled by requesting higher consistency levels, for example, session consistency (read your writes). Once the quality of service has been relaxed to eventual consistency the cache can be used again.

If caching is enabled for a read-only statement, PECL/mysqlnd_ms may inject SQL hints to control caching by PECL/mysqlnd_qc. It may modify the SQL statement it got from the application. Subsequent SQL processors are supposed to ignore the SQL hints. A SQL hint is a SQL comment. Comments must not be ignored, for example, by the database server.

The TTL of a cache entry is computed on a per statement basis. Applications set an maximum age for the data they want to retrieve using mysqlnd_ms_set_qos(). The age sets an approximate upper limit of how many seconds the data returned may lag behind the master.

The following logic is used to compute the actual TTL if caching is enabled. The logic takes the estimated slave lag into account for choosing a TTL. If, for example, there are two slaves lagging 5 and 10 seconds behind and the maximum age allowed is 60 seconds, the TTL is set to 50 seconds. Please note, the age setting is no more than an estimated guess.

  • Check whether the statement is read-only. If not, don't cache.
  • If caching is enabled, check the slave lag of all configured slaves. Establish slave connections if none exist so far and lazy connections are used.
  • Send SHOW SLAVE STATUS to all slaves. Do not wait for the first slave to reply before sending to the second slave. Clients often wait long for replies, thus we send out all requests in a burst before fetching in a second stage.
  • Loop over all slaves. For every slave wait for its reply. Do not start checking another slave before the currently waited for slave has replied. Check for Slave_IO_Running=Yes and Slave_SQL_Running=Yes. If both conditions hold true, fetch the value of Seconds_Behind_Master. In case of any errors or if conditions fail, set an error on the slave connection. Skip any such slave connection for the rest of connection filtering.
  • Search for the maximum value of Seconds_Behind_Master from all slaves that passed the previous conditions. Subtract the value from the maximum age provided by the user with mysqlnd_ms_set_qos(). Use the result as a TTL.
  • The filtering may sort out all slaves. If so, the maximum age is used as TTL, because the maximum lag found equals zero. It is perfectly valid to sort out all slaves. In the following it is up to subsequent filter to decide what to do. The built-in load balancing filter will pick the master.
  • Inject the appropriate SQL hints to enable caching by PECL/mysqlnd_qc.
  • Proceed with the connection filtering, e.g. apply load balancing rules to pick a slave.
  • PECL/mysqlnd_qc is loaded after PECL/mysqlnd_ms by PHP. Thus, it will see all query modifications of PECL/mysqlnd_ms and cache the query if instructed to do so.

The algorithm may seem expensive. SHOW SLAVE STATUS is a very fast operation. Given a sufficient number of requests and cache hits per second the cost of checking the slaves lag can easily outweigh the costs of the cache decision.

Suggestions on a better algorithm are always welcome.

Global transaction IDs
Supported clusters
Concepts


Supported clusters

Any application using any kind of MySQL cluster is faced with the same tasks:

  • Identify nodes capable of executing a given statement with the required service level
  • Load balance requests within the list of candidates
  • Automatic fail over within candidates, if needed

The plugin is optimized for fulfilling these tasks in the context of a classical asynchronous MySQL replication cluster consisting of a single master and many slaves (primary copy). When using classical, asynchronous MySQL replication all of the above listed tasks need to be mastered at the client side.

Other types of MySQL cluster may have lower requirements on the application side. For example, if all nodes in the cluster can answer read and write requests, no read-write splitting needs to be done (multi-master, update-all). If all nodes in the cluster are synchronous, they automatically provide the highest possible quality of service which makes choosing a node easier. In this case, the plugin may serve the application after some reconfiguration to disable certain features, such as built-in read-write splitting.

Hinweis: Documentation focus

The documentation focusses describing the use of the plugin with classical asynchronous MySQL replication clusters (primary copy). Support for this kind of cluster has been the original development goal. Use of other clusters is briefly described below. Please note, that this is still work in progress.

Primary copy (MySQL Replication)

This is the primary use case of the plugin. Follow the hints given in the descriptions of each feature.

  • Configure one master and one or more slaves. Server configuration details are given in the setup section.
  • Use random load balancing policy together with the sticky flag.
  • If you do not plan to use the service level API calls, add the master on write flag.
  • Please, make yourself aware of the properties of automatic failover before adding a failover directive.
  • Consider the use of trx_stickiness to execute transactions on the primary only. Please, read carefully how it works before you rely on it.

Beispiel #1 Enabling the plugin (php.ini)

mysqlnd_ms.enable=1
mysqlnd_ms.config_file=/path/to/mysqlnd_ms_plugin.ini

Beispiel #2 Basic plugin configuration (mysqlnd_ms_plugin.ini) for MySQL Replication

{
  "myapp": {
    "master": {
      "master_1": {
        "host": "localhost",
        "socket": "\/tmp\/mysql57.sock"
      }
    },
    "slave": {
      "slave_0": {
        "host": "127.0.0.1",
        "port": 3308
      },
      "slave_1": {
        "host": "192.168.2.28",
        "port": 3306
      }
    },
    "filters": {
      "random": {
        "sticky": "1"
      }
    }
  }
}

Primary copy with multi primaries (MMM - MySQL Multi Master)

MySQL Replication allows you to create cluster topologies with multiple masters (primaries). Write-write conflicts are not handled by the replication system. This is no update anywhere setup. Thus, data must be partitioned manually and clients must redirected in accordance to the partitioning rules. The recommended setup is equal to the sharding setup below.

Manual sharding, possibly combined with primary copy and multiple primaries

Use SQL hints and the node group filter for clusters that use data partitioning but leave query redirection to the client. The example configuration shows a multi master setup with two shards.

Beispiel #3 Multiple primaries - multi master (php.ini)

mysqlnd_ms.enable=1
mysqlnd_ms.config_file=/path/to/mysqlnd_ms_plugin.ini
mysqlnd_ms.multi_master=1

Beispiel #4 Primary copy with multiple primaries and paritioning

{
  "myapp": {
    "master": {
      "master_1": {
        "host": "localhost",
        "socket": "\/tmp\/mysql57.sock"
      }
      "master_2": {
        "host": "192.168.2.27",
        "socket": "3306"
      }
    },
    "slave": {
      "slave_1": {
        "host": "127.0.0.1",
        "port": 3308
      },
      "slave_2": {
        "host": "192.168.2.28",
        "port": 3306
      }
    },
    "filters": {
      "node_groups": {
        "Partition_A" : {
          "master": ["master_1"],
          "slave": ["slave_1"]
        },
        "Partition_B" : {
          "master": ["master_2"],
          "slave": ["slave_2"]
        }
      },
      "roundrobin": []
    }
  }
}

The plugin can also be used with a loose collection of unrelated shards. For such a cluster, configure masters only and disable read write splitting. The nodes of such a cluster are called masters in the plugin configuration as they accept both reads and writes for their partition.

Using synchronous update everywhere clusters such as MySQL Cluster

MySQL Cluster is a synchronous cluster solution. All cluster nodes accept read and write requests. In the context of the plugin, all nodes shall be considered as masters.

Use the load balancing and fail over features only.

  • Disable the plugins built-in read-write splitting.
  • Configure masters only.
  • Consider random once load balancing strategy, which is the plugins default. If random once is used, only masters are configured and no SQL hints are used to force using a certain node, no connection switches will happen for the duration of a web request. Thus, no special handling is required for transactions. The plugin will pick one master at the beginning of the PHP script and use it until the script terminates.
  • Do not set the quality of service. All nodes have all the data. This automatically gives you the highest possible service quality (strong consistency).
  • Do not enable client-side global transaction injection. It is neither required to help with server-side fail over nor to assist the quality of service filter choosing an appropriate node.

Disabling built-in read-write splitting.

  • Set mysqlnd_ms.disable_rw_split=1
  • Do not use SQL hints to enforce the use of slaves

Configure masters only.

  • Set mysqlnd_ms.multi_master=1.
  • Do not configure any slaves.
  • Set failover=loop_before_master in the plugins configuration file to avoid warnings about the empty slave list and to make the failover logic loop over all configured masters before emitting an error. Please, note the warnings about automatic failover given in the previous sections.

Beispiel #5 Multiple primaries - multi master (php.ini)

mysqlnd_ms.enable=1
mysqlnd_ms.config_file=/path/to/mysqlnd_ms_plugin.ini
mysqlnd_ms.multi_master=1
mysqlnd_ms.disable_rw_split=1

Beispiel #6 Synchronous update anywhere cluster

"myapp": {
    "master": {
      "master_1": {
        "host": "localhost",
        "socket": "\/tmp\/mysql57.sock"
      },
      "master_2": {
        "host": "192.168.2.28",
        "port": 3306
      }
    },
    "slave": {
    },
    "filters": {
      "roundrobin": {
      }
    },
    "failover": {
      "strategy": "loop_before_master",
      "remember_failed": true
    }
  }
}

If running an update everywhere cluster that has no built-in partitioning to avoid hot spots and high collision rates, consider using the node groups filter to keep updates on a frequently accessed table on one of the nodes. This may help to reduce collision rates and thus improve performance.

Cache integration
XA/Distributed transactions
Concepts


XA/Distributed transactions

Hinweis: Version requirement

XA related functions have been introduced in PECL/mysqlnd_ms version 1.6.0-alpha.

Hinweis: Early adaptors wanted

The feature is currently under development. There may be issues and/or feature limitations. Do not use in production environments, although early lab tests indicate reasonable quality.

Please, contact the development team if you are interested in this feature. We are looking for real life feedback to complement the feature.

Below is a list of some feature restrictions.

  • The feature is not yet compatible with the MySQL Fabric support . This limitation is soon to be lifted.

    XA transaction identifier are currently restricted to numbers. This limitation will be lifted upon request, it is a simplification used during the initial implementation.

Hinweis: MySQL server restrictions

The XA support by the MySQL server has some restrictions. Most noteably, the servers binary log may lack changes made by XA transactions in case of certain errors. Please, see the MySQL manual for details.

XA/Distributed transactions can spawn multiple MySQL servers. Thus, they may seem like a perfect tool for sharded MySQL clusters, for example, clusters managed with MySQL Fabric. PECL/mysqlnd_ms hides most of the SQL commands to control XA transactions and performs automatic administrative tasks in cases of errors, to provide the user with a comprehensive API. Users should setup the plugin carefully and be well aware of server restrictions prior to using the feature.

Beispiel #1 General pattern for XA transactions

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");

/* BEGIN */
mysqlnd_ms_xa_begin($mysqli, 1 /* xa id */);

/* run queries on various servers */
$mysqli->query("UPDATE some_table SET col_a = 1");
...

/* COMMIT */
mysqlnd_ms_xa_commit($link, 1);
?>

XA transactions use the two-phase commit protocol. The two-phase commit protocol is a blocking protocol. During the first phase participating servers begin a transaction and the client carries out its work. This phase is followed by a second voting phase. During voting, the servers first make a firm promise that they are ready to commit the work even in case of their possible unexpected failure. Should a server crash in this phase, it will still recall the aborted transaction after recover and wait for the client to decide on whether it shall be committed or rolled back.

Should a client that has initiated a global transaction crash after all the participating servers gave their promise to be ready to commit, then the servers must wait for a decision. The servers are not allowed to unilaterally decide on the transaction.

A client crash or disconnect from a participant, a server crash or server error during the fist phase of the protocol is uncritical. In most cases, the server will forget about the XA transaction and its work is rolled back. Additionally, the plugin tries to reach out to as many participants as it can to instruct the server to roll back the work immediately. It is not possible to disable this implicit rollback carried out by PECL/mysqlnd_ms in case of errors during the first phase of the protocol. This design decision has been made to keep the implementation simple.

An error during the second phase of the commit protocol can develop into a more severe situation. The servers will not forget about prepared but unfinished transactions in all cases. The plugin will not attempt to solve these cases immediately but waits for optional background garbage collection to ensure progress of the commit protocol. It is assumed that a solution will take significant time as it may include waiting for a participating server to recover from a crash. This time span may be longer than a developer and end user expects when trying to commit a global transaction with mysqlnd_ms_xa_commit(). Thus, the function returns with the unfinished global transaction still requiring attention. Please, be warned that at this point, it is not yet clear whether the global transaction will be committed or rolled back later on.

Errors during the second phase can be ignored, handled by yourself or solved by the build-int garbage collection logic. Ignoring them is not recommended as you may experience unfinished global transactions on your servers that block resources virtually indefinitely. Handling the errors requires knowing the participants, checking their state and issuing appropriate SQL commands on them. There are no user API calls to expose this very information. You will have to configure a state store and make the plugin record its actions in it to receive the desired facts.

Please, see the quickstart and related plugin configuration file settings for an example how to configure a state. In addition to configuring a state store, you have to setup some SQL tables. The table definitions are given in the description of the plugin configuration settings.

Setting up and configuring a state store is also a precondition for using the built-in garbage collection for XA transactions that fail during the second commit phase. Recording information about ongoing XA transactions is an unavoidable extra task. The extra task consists of updating the state store after each and every operation that changes the state of the global transaction itself (started, committed, rolled back, errors and aborts), the addition of participants (host, optionally user and password required to connect) and any changes to a participants state. Please note, depending on configuration and your security policies, these recordings may be considered sensitive. It is therefore recommended to restrict access to the state store. Unless the state store itself becomes overloaded, writing the state information may contribute noteworthy to the runtime but should overall be only a minor factor.

It is possible that the effort it takes to implement your own routines for handling XA transactions that failed during the second commit phase exceeds the benefits of using the XA feature of PECL/mysqlnd_ms in the first place. Thus, the manual focussed on using the built-on garbage collection only.

Garbage collection can be triggered manually or automatically in the background. You may want to call mysqlnd_ms_xa_gc() immediately after a commit failure to attempt to solve any failed but still open global transactions as soon as possible. You may also decide to disable the automatic background garbage collection, implement your own rule set for invoking the built-in garbage collection and trigger it when desired.

By default the plugin will start the garbage collection with a certain probability in the extensions internal RSHUTDOWN method. The request shutdown is called after your script finished. Whether the garbage collection will be triggered is determined by computing a random value between 1...1000 and comparing it with the configuration setting probability (default: 5). If the setting is greater or equal to the random value, the garbage collection will be triggered.

Once started, the garbage collection acts upon up to max_transactions_per_run (default: 100) global transactions recorded. Records include successfully finished but also unfinished XA transactions. Records for successful transactions are removed and unfinished transactions are attempted to be solved. There are no statistics that help you finding the right balance between keeping garbage collection runs short by limiting the number of transactions considered per run and preventing the garbage collection to fall behind, resulting in many records.

For each failed XA transaction the garbage collection makes max_retries (default: 5) attempts to finish it. After that PECL/mysqlnd_ms gives up. There are two possible reasons for this. Either a participating server crashed and has not become accessible again within max_retries invocations of the garbage collection, or there is a situation that the built-in garbage collection cannot cope with. Likely, the latter would be considered a bug. However, you can manually force more garbage collection runs calling mysqlnd_ms_xa_gc() with the appropriate parameter set. Should even those function runs fail to solve the situation, then the problem must be solved by an operator.

The function mysqlnd_ms_get_stats() provides some statistics on how many XA transactions have been started, committed, failed or rolled back.

Supported clusters
Installation/Konfiguration
Concepts


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Plugin configuration file (>=1.1.x)
XA/Distributed transactions
Anforderungen
mysqlnd_ms


Anforderungen

PHP 5.3.6 or newer. Some advanced functionality requires PHP 5.4.0 or newer.

The mysqlnd_ms replication and load balancing plugin supports all PHP applications and all available PHP MySQL extensions (mysqli, mysql, PDO_MYSQL). The PHP MySQL extension must be configured to use mysqlnd in order to be able to use the mysqlnd_ms plugin for mysqlnd.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/mysqlnd_ms

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Mysqlnd_ms Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
mysqlnd_ms.enable | 0 | PHP_INI_SYSTEM |
mysqlnd_ms.force_config_usage | 0 | PHP_INI_SYSTEM |
mysqlnd_ms.ini_file | "" | PHP_INI_SYSTEM |
mysqlnd_ms.config_file | "" | PHP_INI_SYSTEM |
mysqlnd_ms.collect_statistics | 0 | PHP_INI_SYSTEM |
mysqlnd_ms.multi_master | 0 | PHP_INI_SYSTEM |
mysqlnd_ms.disable_rw_split | 0 | PHP_INI_SYSTEM |

Hier eine kurze Erklärung der Konfigurationsoptionen:

mysqlnd_ms.enable integer

Enables or disables the plugin. If disabled, the extension will not plug into mysqlnd to proxy internal mysqlnd C API calls.

mysqlnd_ms.force_config_usage integer

If enabled, the plugin checks if the host (server) parameters value of any MySQL connection attempt, matches a section name from the plugin configuration file. If not, the connection attempt is blocked.

This setting is not only useful to restrict PHP to certain servers but also to debug configuration file problems. The configuration file validity is checked at two different stages. The first check is performed when PHP begins to handle a web request. At this point the plugin reads and decodes the configuration file. Errors thrown at this early stage in an extensions life cycle may not be shown properly to the user. Thus, the plugin buffers the errors, if any, and additionally displays them when establishing a connection to MySQL. By default a buffered startup error will emit an error of type E_WARNING. If force_config_usage is set, the error type used is E_RECOVERABLE_ERROR.

Please, see also configuration file debugging notes.

mysqlnd_ms.ini_file string

Plugin specific configuration file. This setting has been renamed to mysqlnd_ms.config_file in version 1.4.0.

mysqlnd_ms.config_file string

Plugin specific configuration file. This setting superseeds mysqlnd_ms.ini_file since 1.4.0.

mysqlnd_ms.collect_statistics integer

Enables or disables the collection of statistics. The collection of statistics is disabled by default for performance reasons. Statistics are returned by the function mysqlnd_ms_get_stats().

mysqlnd_ms.multi_master integer

Enables or disables support of MySQL multi master replication setups. Please, see also supported clusters.

mysqlnd_ms.disable_rw_split integer

Enables or disables built-in read write splitting.

Controls whether load balancing and lazy connection functionality can be used independently of read write splitting. If read write splitting is disabled, only servers from the master list will be used for statement execution. All configured slave servers will be ignored.

The SQL hint MYSQLND_MS_USE_SLAVE will not be recognized. If found, the statement will be redirected to a master.

Disabling read write splitting impacts the return value of mysqlnd_ms_query_is_select(). The function will no longer propose query execution on slave servers.

Hinweis: Multiple master servers

Setting mysqlnd_ms.multi_master=1 allows the plugin to use multiple master servers, instead of only the first master server of the master list.

Please, see also supported clusters.

Installation
Plugin configuration file (>=1.1.x)
Installation/Konfiguration


Plugin configuration file (>=1.1.x)

The following documentation applies to PECL/mysqlnd_ms >= 1.1.0-beta. It is not valid for prior versions. For documentation covering earlier versions, see the configuration documentation for mysqlnd_ms 1.0.x and below.

Introduction

Hinweis: Changelog: Feature was added in PECL/mysqlnd_ms 1.1.0-beta

The below description applies to PECL/mysqlnd_ms >= 1.1.0-beta. It is not valid for prior versions.

The plugin uses its own configuration file. The configuration file holds information about the MySQL replication master server, the MySQL replication slave servers, the server pick (load balancing) policy, the failover strategy, and the use of lazy connections.

The plugin loads its configuration file at the beginning of a web request. It is then cached in memory and used for the duration of the web request. This way, there is no need to restart PHP after deploying the configuration file. Configuration file changes will become active almost instantly.

The PHP configuration directive mysqlnd_ms.config_file is used to set the plugins configuration file. Please note, that the PHP configuration directive may not be evaluated for every web request. Therefore, changing the plugins configuration file name or location may require a PHP restart. However, no restart is required to read changes if an already existing plugin configuration file is updated.

Using and parsing JSON is efficient, and using JSON makes it easier to express hierarchical data structures than the standard php.ini format.

Beispiel #1 Converting a PHP array (hash) into JSON format

Or alternatively, a developer may be more familiar with the PHP array syntax, and prefer it. This example demonstrates how a developer might convert a PHP array to JSON.

<?php
$config = array(
  "myapp" => array(
    "master" => array(
      "master_0" => array(
        "host"   => "localhost",
        "socket" => "/tmp/mysql.sock",
      ),
    ),
    "slave" => array(),
  ),
);

file_put_contents("mysqlnd_ms.ini", json_encode($config, JSON_PRETTY_PRINT));
printf("mysqlnd_ms.ini file created...\n");
printf("Dumping file contents...\n");
printf("%s\n", str_repeat("-", 80));
echo file_get_contents("mysqlnd_ms.ini");
printf("\n%s\n", str_repeat("-", 80));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

mysqlnd_ms.ini file created...
Dumping file contents...
--------------------------------------------------------------------------------
{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": [

        ]
    }
}
--------------------------------------------------------------------------------

A plugin configuration file consists of one or more sections. Sections are represented by the top-level object properties of the object encoded in the JSON file. Sections could also be called configuration names.

Applications reference sections by their name. Applications use section names as the host (server) parameter to the various connect methods of the mysqli, mysql and PDO_MYSQL extensions. Upon connect, the mysqlnd plugin compares the hostname with all of the section names from the plugin configuration file. If the hostname and section name match, then the plugin will load the settings for that section.

Beispiel #2 Using section names example

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.2.27"
            },
            "slave_1": {
                "host": "192.168.2.27",
                "port": 3306
            }
        }
    },
    "localhost": {
        "master": [
            {
                "host": "localhost",
                "socket": "\/path\/to\/mysql.sock"
            }
        ],
        "slave": [
            {
                "host": "192.168.3.24",
                "port": "3305"
            },
            {
                "host": "192.168.3.65",
                "port": "3309"
            }
        ]
    }
}
<?php
/* All of the following connections will be load balanced */
$mysqli = new mysqli("myapp", "username", "password", "database");
$pdo = new PDO('mysql:host=myapp;dbname=database', 'username', 'password');
$mysql = mysql_connect("myapp", "username", "password");

$mysqli = new mysqli("localhost", "username", "password", "database");
?>

Section names are strings. It is valid to use a section name such as 192.168.2.1, 127.0.0.1 or localhost. If, for example, an application connects to localhost and a plugin configuration section localhost exists, the semantics of the connect operation are changed. The application will no longer only use the MySQL server running on the host localhost, but the plugin will start to load balance MySQL queries following the rules from the localhost configuration section. This way you can load balance queries from an application without changing the applications source code. Please keep in mind, that such a configuration may not contribute to overall readability of your applications source code. Using section names that can be mixed up with host names should be seen as a last resort.

Each configuration section contains, at a minimum, a list of master servers and a list of slave servers. The master list is configured with the keyword master, while the slave list is configured with the slave keyword. Failing to provide a slave list will result in a fatal E_ERROR level error, although a slave list may be empty. It is possible to allow no slaves. However, this is only recommended with synchronous clusters, please see also supported clusters. The main part of the documentation focusses on the use of asynchronous MySQL replication clusters.

The master and slave server lists can be optionally indexed by symbolic names for the servers they describe. Alternatively, an array of descriptions for slave and master servers may be used.

Beispiel #3 List of anonymous slaves

"slave": [
    {
        "host": "192.168.3.24",
        "port": "3305"
    },
    {
        "host": "192.168.3.65",
        "port": "3309"
    }
]

An anonymous server list is encoded by the JSON array type. Optionally, symbolic names may be used for indexing the slave or master servers of a server list, and done so using the JSON object type.

Beispiel #4 Master list using symbolic names

"master": {
    "master_0": {
        "host": "localhost"
    }
}

It is recommended to index the server lists with symbolic server names. The alias names will be shown in error messages.

The order of servers is preserved and taken into account by mysqlnd_ms. If, for example, you configure round robin load balancing strategy, the first SELECT statement will be executed on the slave that appears first in the slave server list.

A configured server can be described with the host, port, socket, db, user, password and connect_flags. It is mandatory to set the database server host using the host keyword. All other settings are optional.

Beispiel #5 Keywords to configure a server

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "db_server_host",
                "port": "db_server_port",
                "socket": "db_server_socket",
                "db": "database_resp_schema",
                "user": "user",
                "password": "password",
                "connect_flags": 0
            }
        },
        "slave": {
            "slave_0": {
                "host": "db_server_host",
                "port": "db_server_port",
                "socket": "db_server_socket"
            }
        }
    }
}

If a setting is omitted, the plugin will use the value provided by the user API call used to open a connection. Please, see the using section names example above.

The configuration file format has been changed in version 1.1.0-beta to allow for chained filters. Filters are responsible for filtering the configured list of servers to identify a server for execution of a given statement. Filters are configured with the filter keyword. Filters are executed by mysqlnd_ms in the order of their appearance. Defining filters is optional. A configuration section in the plugins configuration file does not need to have a filters entry.

Filters replace the pick[] setting from prior versions. The new random and roundrobin provide the same functionality.

Beispiel #6 New roundrobin filter, old functionality

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            },
            "slave_1": {
                "host": "192.168.78.137",
                "port": "3306"
            }
        },
        "filters": {
            "roundrobin": [

            ]
        }
    }
}

The function mysqlnd_ms_set_user_pick_server() has been removed. Setting a callback is now done with the user filter. Some filters accept parameters. The user filter requires and accepts a mandatory callback parameter to set the callback previously set through the function mysqlnd_ms_set_user_pick_server().

Beispiel #7 The user filter replaces mysqlnd_ms_set_user_pick_server()

"filters": {
    "user": {
        "callback": "pick_server"
    }
}

The validity of the configuration file is checked both when reading the configuration file and later when establishing a connection. The configuration file is read during PHP request startup. At this early stage a PHP extension may not display error messages properly. In the worst case, no error is shown and a connection attempt fails without an adequate error message. This problem has been cured in version 1.5.0.

Beispiel #8 Common error message in case of configuration file issues (upto version 1.5.0)

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Warning: mysqli::mysqli(): (mysqlnd_ms) (mysqlnd_ms) Failed to parse config file [s1.json]. Please, verify the JSON in Command line code

Warning: mysqli::mysqli(): (HY000/2002): php_network_getaddresses: getaddrinfo failed: Name or service not known in Command line code on line 1

Warning: mysqli::query(): Couldn't fetch mysqli in Command line code on line 1

Fatal error: Call to a member function fetch_assoc() on a non-object in Command line code on line 1

Since version 1.5.0 startup errors are additionally buffered and emitted when a connection attempt is made. Use the configuration directive mysqlnd_ms.force_config_usage to set the error type used to display buffered errors. By default an error of type E_WARNING will be emitted.

Beispiel #9 Improved configuration file validation since 1.5.0

<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Warning: mysqli::mysqli(): (mysqlnd_ms) (mysqlnd_ms) Failed to parse config file [s1.json]. Please, verify the JSON in Command line code on line 1

It can be useful to set mysqlnd_ms.force_config_usage = 1 when debugging potential configuration file errors. This will not only turn the type of buffered startup errors into E_RECOVERABLE_ERROR but also help detecting misspelled section names.

Beispiel #10 Possibly more precise error due to mysqlnd_ms.force_config_usage=1

mysqlnd_ms.force_config_usage=1
<?php
$mysqli = new mysqli("invalid_section", "username", "password", "database");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Warning: mysqli::mysqli(): (mysqlnd_ms) Exclusive usage of configuration enforced but did not find the correct INI file section (invalid_section) in Command line code on line 1 line 1

Configuration Directives

Here is a short explanation of the configuration directives that can be used.

master array or object

List of MySQL replication master servers. The list of either of the JSON type array to declare an anonymous list of servers or of the JSON type object. Please, see above for examples.

Setting at least one master server is mandatory. The plugin will issue an error of type E_ERROR if the user has failed to provide a master server list for a configuration section. The fatal error may read (mysqlnd_ms) Section [master] doesn't exist for host [name_of_a_config_section] in %s on line %d.

A server is described with the host, port, socket, db, user, password and connect_flags. It is mandatory to provide at a value for host. If any of the other values is not given, it will be taken from the user API connect call, please, see also: using section names example.

Table of server configuration keywords.

Keyword Description Version
host

Database server host. This is a mandatory setting. Failing to provide, will cause an error of type E_RECOVERABLE_ERROR when the plugin tries to connect to the server. The error message may read (mysqlnd_ms) Cannot find [host] in [%s] section in config in %s on line %d.

Since 1.1.0.
port

Database server TCP/IP port.

Since 1.1.0.
socket

Database server Unix domain socket.

Since 1.1.0.
db

Database (schemata).

Since 1.1.0.
user

MySQL database user.

Since 1.1.0.
password

MySQL database user password.

Since 1.1.0.
connect_flags

Connection flags.

Since 1.1.0.

The plugin supports using only one master server. An experimental setting exists to enable multi-master support. The details are not documented. The setting is meant for development only.

slave array or object

List of one or more MySQL replication slave servers. The syntax is identical to setting master servers, please, see master above for details.

The plugin supports using one or more slave servers.

Setting a list of slave servers is mandatory. The plugin will report an error of the type E_ERROR if slave is not given for a configuration section. The fatal error message may read (mysqlnd_ms) Section [slave] doesn't exist for host [%s] in %s on line %d. Note, that it is valid to use an empty slave server list. The error has been introduced to prevent accidently setting no slaves by forgetting about the slave setting. A master-only setup is still possible using an empty slave server list.

If an empty slave list is configured and an attempt is made to execute a statement on a slave the plugin may emit a warning like mysqlnd_ms) Couldn't find the appropriate slave connection. 0 slaves to choose from. upon statement execution. It is possible that another warning follows such as (mysqlnd_ms) No connection selected by the last filter.

global_transaction_id_injection array or object

Global transaction identifier configuration related to both the use of the server built-in global transaction ID feature and the client-side emulation.

Keyword Description Version
fetch_last_gtid

SQL statement for accessing the latest global transaction identifier. The SQL statement is run if the plugin needs to know the most recent global transaction identifier. This can be the case, for example, when checking MySQL Replication slave status. Also used with mysqlnd_ms_get_last_gtid().

Since 1.2.0.
check_for_gtid

SQL statement for checking if a replica has replicated all transactions up to and including ones searched for. The SQL statement is run when searching for replicas which can offer a higher level of consistency than eventual consistency. The statement must contain a placeholder #GTID which is to be replaced with the global transaction identifier searched for by the plugin. Please, check the quickstart for examples.

Since 1.2.0.
report_errors

Whether to emit an error of type warning if an issue occurs while executing any of the configured SQL statements.

Since 1.2.0.
on_commit

Client-side global transaction ID emulation only. SQL statement to run when a transaction finished to update the global transaction identifier sequence number on the master. Please, see the quickstart for examples.

Since 1.2.0.
wait_for_gtid_timeout

Instructs the plugin to wait up to wait_for_gtid_timeout seconds for a slave to catch up when searching for slaves that can deliver session consistency. The setting limits the time spend for polling the slave status. If polling the status takes very long, the total clock time spend waiting may exceed wait_for_gtid_timeout. The plugin calls sleep(1) to sleep one second between each two polls.

The setting can be used both with the plugins client-side emulation and the server-side global transaction identifier feature of MySQL 5.6.

Waiting for a slave to replicate a certain GTID needed for session consistency also means throttling the client. By throttling the client the write load on the master is reduced indirectly. A primary copy based replication system, such as MySQL Replication, is given more time to reach a consistent state. This can be desired, for example, to increase the number of data copies for high availability considerations or to prevent the master from being overloaded.

Since 1.4.0.
fabric object

MySQL Fabric related settings. If the plugin is used together with MySQL Fabric, then the plugins configuration file no longer contains lists of MySQL servers. Instead, the plugin will ask MySQL Fabric which list of servers to use to perform a certain task.

A minimum plugin configuration for use with MySQL Fabric contains a list of one or more MySQL Fabric hosts that the plugin can query. If more than one MySQL Fabric host is configured, the plugin will use a roundrobin strategy to choose among them. Other strategies are currently not available.

Beispiel #11 Minimum pluging configuration for use with MySQL Fabric

{
    "myapp": {
        "fabric": {
            "hosts": [
                {
                    "host" : "127.0.0.1",
                    "port" : 8080
                }
            ]
        }
    }
}

Each MySQL Fabric host is described using a JSON object with the following members.

Keyword Description Version
host

Host name of the MySQL Fabric host.

Since 1.6.0.
port

The TCP/IP port on which the MySQL Fabric host listens for remote procedure calls sent by clients such as the plugin.

Since 1.6.0.

The plugin is using PHP streams to communicate with MySQL Fabric through XML RPC over HTTP. By default no timeouts are set for the network communication. Thus, the plugin defaults to PHP stream default timeouts. Those defaults are out of control of the plugin itself.

An optional timeout value can be set to overrule the PHP streams default timeout setting. Setting the timeout in the plugins configuration file has the same effect as setting a timeout for a PHP user space HTTP connection established through PHP streams.

The plugins Fabric timeout value unit is seconds. The allowed value range is from 0 to 65535. The setting exists since version 1.6.

Beispiel #12 Optional timeout for communication with Fabric

{
    "myapp": {
        "fabric": {
            "hosts": [
                {
                    "host" : "127.0.0.1",
                    "port" : 8080
                }
            ],
            "timeout": 2
        }
    }
}

Transaction stickiness and MySQL Fabric logic can collide. The stickiness option disables switching between servers for the duration of a transaction. When using Fabric and sharding the user may (erroneously) start a local transaction on one share and then attempt to switch to a different shard using either mysqlnd_ms_fabric_select_shard() or mysqlnd_ms_fabric_select_global(). In this case, the plugin will not reject the request to switch servers in the middle of a transaction but allow the user to switch to another server regardless of the transaction stickiness setting used. It is clearly a user error to write such code.

If transaction stickiness is enabled and you would like to get an error of type warning when calling mysqlnd_ms_fabric_select_shard() or mysqlnd_ms_fabric_select_global(), set the boolean flag trx_warn_server_list_changes.

Beispiel #13 Warnings about the violation of transaction boundaries

{
    "myapp": {
        "fabric": {
            "hosts": [
                {
                    "host" : "127.0.0.1",
                    "port" : 8080
                }
            ],
            "trx_warn_serverlist_changes": 1
        },
        "trx_stickiness": "on"
    }
}
<?php
$link = new mysqli("myapp", "root", "", "test");
/*
  For the demo the call may fail.
  Failed or not we get into the state
  needed for the example.
*/
@mysqlnd_ms_fabric_select_global($link, 1);
$link->begin_transaction();
@$link->query("DROP TABLE IF EXISTS test");
/*
  Switching servers/shards is a mistake due to open
  local transaction!
*/
mysqlnd_ms_select_global($link, 1);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

PHP Warning: mysqlnd_ms_fabric_select_global(): (mysqlnd_ms) Fabric server exchange in the middle of a transaction in %s on line %d

Please, consider the feature experimental. Changes to syntax and semantics may happen.

filters object

List of filters. A filter is responsible to filter the list of available servers for executing a given statement. Filters can be chained. The random and roundrobin filter replace the pick[] directive used in prior version to select a load balancing policy. The user filter replaces the mysqlnd_ms_set_user_pick_server() function.

Filters may accept parameters to refine their actions.

If no load balancing policy is set, the plugin will default to random_once. The random_once policy picks a random slave server when running the first read-only statement. The slave server will be used for all read-only statements until the PHP script execution ends. No load balancing policy is set and thus, defaulting takes place, if neither the random nor the roundrobin are part of a configuration section.

If a filter chain is configured so that a filter which output no more than once server is used as input for a filter which should be given more than one server as input, the plugin may emit a warning upon opening a connection. The warning may read: (mysqlnd_ms) Error while creating filter '%s' . Non-multi filter '%s' already created. Stopping in %s on line %d. Furthermore, an error of the error code 2000, the sql state HY000 and an error message similar to the warning may be set on the connection handle.

Beispiel #14 Invalid filter sequence

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "filters": [
            "roundrobin",
            "random"
        ]
    }
}
<?php
$link = new mysqli("myapp", "root", "", "test");
printf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error());
$link->query("SELECT 1 FROM DUAL");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

PHP Warning:  mysqli::mysqli(): (HY000/2000): (mysqlnd_ms) Error while creating filter 'random' . Non-multi filter 'roundrobin' already created. Stopping in filter_warning.php on line 1
[2000] (mysqlnd_ms) Error while creating filter 'random' . Non-multi filter 'roundrobin' already created. Stopping
PHP Warning:  mysqli::query(): Couldn't fetch mysqli in filter_warning.php on line 3

Filter: random object

The random filter features the random and random once load balancing policies, set through the pick[] directive in older versions.

The random policy will pick a random server whenever a read-only statement is to be executed. The random once strategy picks a random slave server once and continues using the slave for the rest of the PHP web request. Random once is a default, if load balancing is not configured through a filter.

If the random filter is not given any arguments, it stands for random load balancing policy.

Beispiel #15 Random load balancing with random filter

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            },
            "slave_1": {
                "host": "192.168.78.137",
                "port": "3306"
            }
        },
        "filters": [
            "random"
        ]
    }
}

Optionally, the sticky argument can be passed to the filter. If the parameter sticky is set to the string 1, the filter follows the random once load balancing strategy.

Beispiel #16 Random once load balancing with random filter

{
    "filters": {
        "random": {
            "sticky": "1"
        }
    }
}

Both the random and roundrobin filters support setting a priority, a weight for a server, since PECL/mysqlnd_ms 1.4.0. If the weight argument is passed to the filter, it must assign a weight for all servers. Servers must be given an alias name in the slave respectively master server lists. The alias must be used to reference servers for assigning a priority with weight.

Beispiel #17 Referencing error

[E_RECOVERABLE_ERROR] mysqli_real_connect(): (mysqlnd_ms) Unknown server 'slave3' in 'random' filter configuration. Stopping in %s on line %d

Using a wrong alias name with weight may result in an error similar to the shown above.

If weight is omitted, the default weight of all servers is one.

Beispiel #18 Assigning a weight for load balancing

{
   "myapp": {
       "master": {
           "master1":{
               "host":"localhost",
               "socket":"\/var\/run\/mysql\/mysql.sock"
           }
       },
       "slave": {
           "slave1": {
               "host":"192.168.2.28",
               "port":3306
           },
           "slave2": {
               "host":"192.168.2.29",
               "port":3306
           },
           "slave3": {
               "host":"192.0.43.10",
               "port":3306
           },
       },
       "filters": {
           "random": {
               "weights": {
                   "slave1":8,
                   "slave2":4,
                   "slave3":1,
                   "master1":1
               }
           }
       }
   }
}

At the average a server assigned a weight of two will be selected twice as often as a server assigned a weight of one. Different weights can be assigned to reflect differently sized machines, to prefer co-located slaves which have a low network latency or, to configure a standby failover server. In the latter case, you may want to assign the standby server a very low weight in relation to the other servers. For example, given the configuration above slave3 will get only some eight percent of the requests in the average. As long as slave1 and slave2 are running, it will be used sparsely, similar to a standby failover server. Upon failure of slave1 and slave2, the usage of slave3 increases. Please, check the notes on failover before using weight this way.

Valid weight values range from 1 to 65535.

Unknown arguments are ignored by the filter. No warning or error is given.

The filter expects one or more servers as input. Outputs one server. A filter sequence such as random, roundrobin may cause a warning and an error message to be set on the connection handle when executing a statement.

List of filter arguments.

Keyword Description Version
sticky

Enables or disabled random once load balancing policy. See above.

Since 1.2.0.
weight

Assigns a load balancing weight/priority to a server. Please, see above for a description.

Since 1.4.0.
Filter: roundrobin object

If using the roundrobin filter, the plugin iterates over the list of configured slave servers to pick a server for statement execution. If the plugin reaches the end of the list, it wraps around to the beginning of the list and picks the first configured slave server.

Beispiel #19 roundrobin filter

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "filters": [
            "roundrobin"
        ]
    }
}

Expects one or more servers as input. Outputs one server. A filter sequence such as roundrobin, random may cause a warning and an error message to be set on the connection handle when executing a statement.

List of filter arguments.

Keyword Description Version
weight

Assigns a load balancing weight/priority to a server. Please, find a description above.

Since 1.4.0.
Filter: user object

The user replaces mysqlnd_ms_set_user_pick_server() function, which was removed in 1.1.0-beta. The filter sets a callback for user-defined read/write splitting and server selection.

The plugins built-in read/write query split mechanism decisions can be overwritten in two ways. The easiest way is to prepend a query string with the SQL hints MYSQLND_MS_MASTER_SWITCH, MYSQLND_MS_SLAVE_SWITCH or MYSQLND_MS_LAST_USED_SWITCH. Using SQL hints one can control, for example, whether a query shall be send to the MySQL replication master server or one of the slave servers. By help of SQL hints it is not possible to pick a certain slave server for query execution.

Full control on server selection can be gained using a callback function. Use of a callback is recommended to expert users only because the callback has to cover all cases otherwise handled by the plugin.

The plugin will invoke the callback function for selecting a server from the lists of configured master and slave servers. The callback function inspects the query to run and picks a server for query execution by returning the hosts URI, as found in the master and slave list.

If the lazy connections are enabled and the callback chooses a slave server for which no connection has been established so far and establishing the connection to the slave fails, the plugin will return an error upon the next action on the failed connection, for example, when running a query. It is the responsibility of the application developer to handle the error. For example, the application can re-run the query to trigger a new server selection and callback invocation. If so, the callback must make sure to select a different slave, or check slave availability, before returning to the plugin to prevent an endless loop.

Beispiel #20 Setting a callback

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "filters": {
            "user": {
                "callback": "pick_server"
            }
        }
    }
}

The callback is supposed to return a host to run the query on. The host URI is to be taken from the master and slave connection lists passed to the callback function. If callback returns a value neither found in the master nor in the slave connection lists the plugin will emit an error of the type E_RECOVERABLE_ERROR The error may read like (mysqlnd_ms) User filter callback has returned an unknown server. The server 'server that is not in master or slave list' can neither be found in the master list nor in the slave list. If the application catches the error to ignore it, follow up errors may be set on the connection handle, for example, (mysqlnd_ms) No connection selected by the last filter with the error code 2000 and the sqlstate HY000. Furthermore a warning may be emitted.

Referencing a non-existing function as a callback will result in any error of the type E_RECOVERABLE_ERROR whenever the plugin tries to callback function. The error message may reads like: (mysqlnd_ms) Specified callback (pick_server) is not a valid callback. If the application catches the error to ignore it, follow up errors may be set on the connection handle, for example, (mysqlnd_ms) Specified callback (pick_server) is not a valid callback with the error code 2000 and the sqlstate HY000. Furthermore a warning may be emitted.

The following parameters are passed from the plugin to the callback.

Parameter Description Version
connected_host

URI of the currently connected database server.

Since 1.1.0.
query

Query string of the statement for which a server needs to be picked.

Since 1.1.0.
masters

List of master servers to choose from. Note, that the list of master servers may not be identical to the list of configured master servers if the filter is not the first in the filter chain. Previously run filters may have reduced the master list already.

Since 1.1.0.
slaves

List of slave servers to choose from. Note, that the list of master servers may not be identical to the list of configured master servers if the filter is not the first in the filter chain. Previously run filters may have reduced the master list already.

Since 1.1.0.
last_used_connection

URI of the server of the connection used to execute the previous statement on.

Since 1.1.0.
in_transaction

Boolean flag indicating whether the statement is part of an open transaction. If autocommit mode is turned off, this will be set to TRUE. Otherwise it is set to FALSE.

Transaction detection is based on monitoring the mysqlnd library call set_autocommit. Monitoring is not possible before PHP 5.4.0. Please, see connection pooling and switching concepts discussion for further details.

Since 1.1.0.

Beispiel #21 Using a callback

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.2.27",
                "port": "3306"
            },
            "slave_1": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "filters": {
            "user": {
                "callback": "pick_server"
            }
        }
    }
}
<?php
function pick_server($connected, $query, $masters, $slaves, $last_used_connection, $in_transaction)
{
 static $slave_idx = 0;
 static $num_slaves = NULL;
 if (is_null($num_slaves))
  $num_slaves = count($slaves);

 /* default: fallback to the plugins build-in logic */
 $ret = NULL;

 printf("User has connected to '%s'...\n", $connected);
 printf("... deciding where to run '%s'\n", $query);

 $where = mysqlnd_ms_query_is_select($query);
 switch ($where)
 {
  case MYSQLND_MS_QUERY_USE_MASTER:
   printf("... using master\n");
   $ret = $masters[0];
   break;
  case MYSQLND_MS_QUERY_USE_SLAVE:
   /* SELECT or SQL hint for using slave */
   if (stristr($query, "FROM table_on_slave_a_only"))
   {
    /* a table which is only on the first configured slave  */
    printf("... access to table available only on slave A detected\n");
    $ret = $slaves[0];
   }
   else
   {
    /* round robin */
    printf("... some read-only query for a slave\n");
    $ret = $slaves[$slave_idx++ % $num_slaves];
   }
   break;
  case MYSQLND_MS_QUERY_LAST_USED:
   printf("... using last used server\n");
   $ret = $last_used_connection;
   break;
 }

 printf("... ret = '%s'\n", $ret);
 return $ret;
}

$mysqli = new mysqli("myapp", "root", "", "test");

if (!($res = $mysqli->query("SELECT 1 FROM DUAL")))
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
else
 $res->close();

if (!($res = $mysqli->query("SELECT 2 FROM DUAL")))
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
else
 $res->close();

if (!($res = $mysqli->query("SELECT * FROM table_on_slave_a_only")))
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
else
 $res->close();

$mysqli->close();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

User has connected to 'myapp'...
... deciding where to run 'SELECT 1 FROM DUAL'
... some read-only query for a slave
... ret = 'tcp://192.168.2.27:3306'
User has connected to 'myapp'...
... deciding where to run 'SELECT 2 FROM DUAL'
... some read-only query for a slave
... ret = 'tcp://192.168.78.136:3306'
User has connected to 'myapp'...
... deciding where to run 'SELECT * FROM table_on_slave_a_only'
... access to table available only on slave A detected
... ret = 'tcp://192.168.2.27:3306'

Filter: user_multi object

The user_multi differs from the user only in one aspect. Otherwise, their syntax is identical. The user filter must pick and return exactly one node for statement execution. A filter chain usually ends with a filter that emits only one node. The filter chain shall reduce the list of candidates for statement execution down to one. This, only one node left, is the case after the user filter has been run.

The user_multi filter is a multi filter. It returns a list of slave and a list of master servers. This list needs further filtering to identify exactly one node for statement execution. A multi filter is typically placed at the top of the filter chain. The quality_of_service filter is another example of a multi filter.

The return value of the callback set for user_multi must be an array with two elements. The first element holds a list of selected master servers. The second element contains a list of selected slave servers. The lists shall contain the keys of the slave and master servers as found in the slave and master lists passed to the callback. The below example returns random master and slave lists extracted from the functions input.

Beispiel #22 Returning random masters and slaves

<?php
function pick_server($connected, $query, $masters, $slaves, $last_used_connection, $in_transaction)
{
  $picked_masters = array()
  foreach ($masters as $key => $value) {
    if (mt_rand(0, 2) > 1)
      $picked_masters[] = $key;
  }
  $picked_slaves = array()
  foreach ($slaves as $key => $value) {
    if (mt_rand(0, 2) > 1)
      $picked_slaves[] = $key;
  }
  return array($picked_masters, $picked_slaves);
}
?>

The plugin will issue an error of type E_RECOVERABLE if the callback fails to return a server list. The error may read (mysqlnd_ms) User multi filter callback has not returned a list of servers to use. The callback must return an array in %s on line %d. In case the server list is not empty but has invalid servers key/ids in it, an error of type E_RECOVERABLE will the thrown with an error message like (mysqlnd_ms) User multi filter callback has returned an invalid list of servers to use. Server id is negative in %s on line %d, or similar.

Whether an error is emitted in case of an empty slave or master list depends on the configuration. If an empty master list is returned for a write operation, it is likely that the plugin will emit a warning that may read (mysqlnd_ms) Couldn't find the appropriate master connection. 0 masters to choose from. Something is wrong in %s on line %d. Typically a follow up error of type E_ERROR will happen. In case of a read operation and an empty slave list the behavior depends on the fail over configuration. If fail over to master is enabled, no error should appear. If fail over to master is deactivated the plugin will emit a warning that may read (mysqlnd_ms) Couldn't find the appropriate slave connection. 0 slaves to choose from. Something is wrong in %s on line %d.

Filter: node_groups object

The node_groups filter lets you group cluster nodes and query selected groups, for example, to support data partitioning. Data partitioning can be required for manual sharding, primary copy based clusters running multiple masters, or to avoid hot spots in update everywhere clusters that have no built-in partitioning. The filter is a multi filter which returns zero, one or multiple of its input servers. Thus, it must be followed by other filters to reduce the number of candidates down to one for statement execution.

Keyword Description Version
user defined node group name

One or more node groups must be defined. A node group can have an arbitrary user defined name. The name is used in combination with a SQL hint to restrict query execution to the nodes listed for the node group. To run a query on any of the servers of a node group, the query must begin with the SQL hint /*user defined node group name*/. Please note, no white space is allowed around user defined node group name. Because user defined node group name is used as-is as part of a SQL hint, you should choose the name that is compliant with the SQL language.

Each node group entry must contain a list of master servers. Additional slave servers are allowed. Failing to provide a list of master for a node group name_of_group may cause an error of type E_RECOVERABLE_ERROR like (mysqlnd_ms) No masters configured in node group 'name_of_group' for 'node_groups' filter.

The list of master and slave servers must reference corresponding entries in the global master respectively slave server list. Referencing an unknown server in either of the both server lists may cause an E_RECOVERABLE_ERROR error like (mysqlnd_ms) Unknown master 'server_alias_name' (section 'name_of_group') in 'node_groups' filter configuration.

Beispiel #23 Manual partitioning

{
  "myapp": {
       "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.2.28",
                "port": 3306
            },
            "slave_1": {
                "host": "127.0.0.1",
                "port": 3311
            }
        },
        "filters": {
            "node_groups": {
                "Partition_A" : {
                    "master": ["master_0"],
                    "slave": ["slave_0"]
                }
            },
           "roundrobin": []
        }
    }
}

Please note, if a filter chain generates an empty slave list and the PHP configuration directive mysqlnd_ms.multi_master=0 is used, the plugin may emit a warning.

Since 1.5.0.
Filter: quality_of_service object

The quality_of_service identifies cluster nodes capable of delivering a certain quality of service. It is a multi filter which returns zero, one or multiple of its input servers. Thus, it must be followed by other filters to reduce the number of candidates down to one for statement execution.

The quality_of_service filter has been introduced in 1.2.0-alpha. In the 1.2 series the filters focus is on the consistency aspect of service quality. Different types of clusters offer different default data consistencies. For example, an asynchronous MySQL replication slave offers eventual consistency. The slave may not be able to deliver requested data because it has not replicated the write, it may serve stale database because its lagging behind or it may serve current information. Often, this is acceptable. In some cases higher consistency levels are needed for the application to work correct. In those cases, the quality_of_service can filter out cluster nodes which cannot deliver the necessary quality of service.

The quality_of_service filter can be replaced or created at runtime. A successful call to mysqlnd_ms_set_qos() removes all existing qos filter entries from the filter list and installs a new one at the very beginning. All settings that can be made through mysqlnd_ms_set_qos() can also be in the plugins configuration file. However, use of the function is by far the most common use case. Instead of setting session consistency and strong consistency service levels in the plugins configuration file it is recommended to define only masters and no slaves. Both service levels will force the use of masters only. Using an empty slave list shortens the configuration file, thus improving readability. The only service level for which there is a case of defining in the plugins configuration file is the combination of eventual consistency and maximum slave lag.

Keyword Description Version
eventual_consistency

Request eventual consistency. Allows the use of all master and slave servers. Data returned may or may not be current.

Eventual consistency accepts an optional age parameter. If age is given the plugin considers only slaves for reading for which MySQL replication reports a slave lag less or equal to age. The replication lag is measure using SHOW SLAVE STATUS. If the plugin fails to fetch the replication lag, the slave tested is skipped. Implementation details and tips are given in the quality of service concepts section.

Please note, if a filter chain generates an empty slave list and the PHP configuration directive mysqlnd_ms.multi_master=0 is used, the plugin may emit a warning.

Beispiel #24 Global limit on slave lag

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.2.27",
                "port": "3306"
            },
            "slave_1": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "filters": {
            "quality_of_service": {
                "eventual_consistency": {
                    "age":123
                }
            }
        }
    }
}

 Since 1.2.0.
session_consistency

Request session consistency (read your writes). Allows use of all masters and all slaves which are in sync with the master. If no further parameters are given slaves are filtered out as there is no reliable way to test if a slave has caught up to the master or is lagging behind. Please note, if a filter chain generates an empty slave list and the PHP configuration directive mysqlnd_ms.multi_master=0 is used, the plugin may emit a warning.

Session consistency temporarily requested using mysqlnd_ms_set_qos() is a valuable alternative to using master_on_write. master_on_write is likely to send more statements to the master than needed. The application may be able to continue operation at a lower consistency level after it has done some critical reads.

Since 1.1.0.
strong_consistency

Request strong consistency. Only masters will be used.

Since 1.2.0.
failover Up to and including 1.3.x: string. Since 1.4.0: object.

Failover policy. Supported policies: disabled (default), master, loop_before_master (Since 1.4.0).

If no failover policy is set, the plugin will not do any automatic failover (failover=disabled). Whenever the plugin fails to connect a server it will emit a warning and set the connections error code and message. Thereafter it is up to the application to handle the error and, for example, resent the last statement to trigger the selection of another server.

Please note, the automatic failover logic is applied when opening connections only. Once a connection has been opened no automatic attempts are made to reopen it in case of an error. If, for example, the server a connection is connected to is shut down and the user attempts to run a statement on the connection, no automatic failover will be tried. Instead, an error will be reported.

If using failover=master the plugin will implicitly failover to a master, if available. Please check the concepts documentation to learn about potential pitfalls and risks of using failover=master.

Beispiel #25 Optional master failover when failing to connect to slave (PECL/mysqlnd_ms < 1.4.0)

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "failover": "master"
    }
}

Since PECL/mysqlnd_ms 1.4.0 the failover configuration keyword refers to an object.

Beispiel #26 New syntax since 1.4.0

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "failover": {"strategy": "master" }
    }
}

Keyword Description Version
strategy

Failover policy. Possible values: disabled (default), master, loop_before_master

A value of disabled disables automatic failover.

Setting master instructs the plugin to try to connect to a master in case of a slave connection error. If the master connection attempt fails, the plugin exists the failover loop and returns an error to the user.

If using loop_before_master and a slave request is made, the plugin tries to connect to other slaves before failing over to a master. If multiple master are given and multi master is enabled, the plugin also loops over the list of masters and attempts to connect before returning an error to the user.

Since 1.4.0.
remember_failed

Remember failures for the duration of a web request. Default: false.

If set to true the plugin will remember failed hosts and skip the hosts in all future load balancing made for the duration of the current web request.

Since 1.4.0. The feature is only available together with the random and roundrobin load balancing filter. Use of the setting is recommended.
max_retries

Maximum number of connection attempts before skipping host. Default: 0 (no limit).

The setting is used to prevent hosts from being dropped of the host list upon the first failure. If set to n > 0, the plugin will keep the node in the node list even after a failed connection attempt. The node will not be removed immediately from the slave respectively master lists after the first connection failure but instead be tried to connect to up to n times in future load balancing rounds before being removed.

Since 1.4.0. The feature is only available together with the random and roundrobin load balancing filter.

Setting failover to any other value but disabled, master or loop_before_master will not emit any warning or error.

lazy_connections bool

Controls the use of lazy connections. Lazy connections are connections which are not opened before the client sends the first connection. Lazy connections are a default.

It is strongly recommended to use lazy connections. Lazy connections help to keep the number of open connections low. If you disable lazy connections and, for example, configure one MySQL replication master server and two MySQL replication slaves, the plugin will open three connections upon the first call to a connect function although the application might use the master connection only.

Lazy connections bare a risk if you make heavy use of actions which change the state of a connection. The plugin does not dispatch all state changing actions to all connections from the connection pool. The few dispatched actions are applied to already opened connections only. Lazy connections opened in the future are not affected. Only some settings are "remembered" and applied when lazy connections are opened.

Beispiel #27 Disabling lazy connection

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "lazy_connections": 0
    }
}

Please, see also server_charset to overcome potential problems with string escaping and servers using different default charsets.

server_charset string

The setting has been introduced in 1.4.0. It is recommended to set it if using lazy connections.

The server_charset setting serves two purposes. It acts as a fallback charset to be used for string escaping done before a connection has been established and it helps to avoid escaping pitfalls in heterogeneous environments which servers using different default charsets.

String escaping takes a connections charset into account. String escaping is not possible before a connection has been opened and the connections charset is known. The use of lazy connections delays the actual opening of connections until a statement is send.

An application using lazy connections may attempt to escape a string before sending a statement. In fact, this should be a common case as the statement string may contain the string that is to be escaped. However, due to the lazy connection feature no connection has been opened yet and escaping fails. The plugin may report an error of the type E_WARNING and a message like (mysqlnd_ms) string escaping doesn't work without established connection. Possible solution is to add server_charset to your configuration to inform you of the pitfall.

Setting server_charset makes the plugin use the given charset for string escaping done on lazy connection handles before establishing a network connection to MySQL. Furthermore, the plugin will enforce the use of the charset when the connection is established.

Enforcing the use of the configured charset used for escaping is done to prevent tapping into the pitfall of using a different charset for escaping than used later for the connection. This has the additional benefit of removing the need to align the charset configuration of all servers used. No matter what the default charset on any of the servers is, the plugin will set the configured one as a default.

The plugin does not stop the user from changing the charset at any time using the set_charset() call or corresponding SQL statements. Please, note that the use of SQL is not recommended as it cannot be monitored by the plugin. The user can, for example, change the charset on a lazy connection handle after escaping a string and before the actual connection is opened. The charset set by the user will be used for any subsequent escaping before the connection is established. The connection will be established using the configured charset, no matter what the server charset is or what the user has set before. Once a connection has been opened, set_charset is of no meaning anymore.

Beispiel #28 String escaping on a lazy connection handle

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "lazy_connections": 1,
        "server_charset" : "utf8"
    }
}
<?php
$mysqli = new mysqli("myapp", "username", "password", "database");
$mysqli->real_escape("this will be escaped using the server_charset setting - utf8");
$mysqli->set_charset("latin1");
$mysqli->real_escape("this will be escaped using latin1");
/* server_charset implicitly set - utf8 connection */
$mysqli->query("SELECT 'This connection will be set to server_charset upon establishing' AS _msg FROM DUAL");
/* latin1 used from now on */
$mysqli->set_charset("latin1");
?>

master_on_write bool

If set, the plugin will use the master server only after the first statement has been executed on the master. Applications can still send statements to the slaves using SQL hints to overrule the automatic decision.

The setting may help with replication lag. If an application runs an INSERT the plugin will, by default, use the master to execute all following statements, including SELECT statements. This helps to avoid problems with reads from slaves which have not replicated the INSERT yet.

Beispiel #29 Master on write for consistent reads

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "master_on_write": 1
    }
}

Please, note the quality_of_service filter introduced in version 1.2.0-alpha. It gives finer control, for example, for achieving read-your-writes and, it offers additional functionality introducing service levels.

All transaction stickiness settings, including trx_stickiness=on, are overruled by master_on_write=1.

trx_stickiness string

Transaction stickiness policy. Supported policies: disabled (default), master.

The setting requires 5.4.0 or newer. If used with PHP older than 5.4.0, the plugin will emit a warning like (mysqlnd_ms) trx_stickiness strategy is not supported before PHP 5.3.99.

If no transaction stickiness policy is set or, if setting trx_stickiness=disabled, the plugin is not transaction aware. Thus, the plugin may load balance connections and switch connections in the middle of a transaction. The plugin is not transaction safe. SQL hints must be used avoid connection switches during a transaction.

As of PHP 5.4.0 the mysqlnd library allows the plugin to monitor the autocommit mode set by calls to the libraries set_autocommit() function. If setting set_stickiness=master and autocommit gets disabled by a PHP MySQL extension invoking the mysqlnd library internal function call set_autocommit(), the plugin is made aware of the begin of a transaction. Then, the plugin stops load balancing and directs all statements to the master server until autocommit is enabled. Thus, no SQL hints are required.

An example of a PHP MySQL API function calling the mysqlnd library internal function call set_autocommit() is mysqli_autocommit().

Although setting trx_stickiness=master, the plugin cannot be made aware of autocommit mode changes caused by SQL statements such as SET AUTOCOMMIT=0 or BEGIN.

As of PHP 5.5.0, the mysqlnd library features additional C API calls to control transactions. The level of control matches the one offered by SQL statements. The mysqli API has been modified to use these calls. Since version 1.5.0, PECL/mysqlnd_ms can monitor not only mysqli_autocommit(), but also mysqli_begin(), mysqli_commit() and mysqli_rollback() to detect transaction boundaries and stop load balancing for the duration of a transaction.

Beispiel #30 Using master to execute transactions

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
        },
        "trx_stickiness": "master"
    }
}

Since version 1.5.0 automatic and silent failover is disabled for the duration of a transaction. If the boundaries of a transaction have been properly detected, transaction stickiness is enabled and a server fails, the plugin will not attempt to fail over to the next server, if any, regardless of the failover policy configured. The user must handle the error manually. Depending on the configuration, the plugin may emit an error of type E_WARNING reading like (mysqlnd_ms) Automatic failover is not permitted in the middle of a transaction. This error may then be overwritten by follow up errors such as (mysqlnd_ms) No connection selected by the last filter. Those errors will be generated by the failing query function.

Beispiel #31 No automatic failover, error handling pitfall

<?php
/* assumption: automatic failover configured */
$mysqli = new mysqli("myapp", "username", "password", "database");

/* sets plugin internal state in_trx = 1 */
$mysqli->autocommit(false);

/* assumption: server fails */
if (!($res = $mysqli->query("SELECT 'Assume this query fails' AS _msg FROM DUAL"))) {
 /* handle failure of transaction, plugin internal state is still in_trx = 1 */
 printf("[%d] %s", $mysqli->errno, $mysqli->error);
 /*
  If using autocommit() based transaction detection it is a
  MUST to call autocommit(true). Otherwise the plugin assumes
  the current transaction continues and connection
  changes remain forbidden.
 */
 $mysqli->autocommit(true);
 /* Likewise, you'll want to start a new transaction */
 $mysqli->autocommit(false);
}
/* latin1 used from now on */
$mysqli->set_charset("latin1");
?>

If a server fails in the middle of a transaction the plugin continues to refuse to switch connections until the current transaction has been finished. Recall that the plugin monitors API calls to detect transaction boundaries. Thus, you have to, for example, enable auto commit mode to end the current transaction before the plugin continues load balancing and switches the server. Likewise, you will want to start a new transaction immediately thereafter and disable auto commit mode again.

Not handling failed queries and not ending a failed transaction using API calls may cause all following commands emit errors such as Commands out of sync; you can't run this command now. Thus, it is important to handle all errors.

transient_error object

The setting has been introduced in 1.6.0.

A database cluster node may reply a transient error to a client. The client can then repeat the operation on the same node, fail over to a different node or abort the operation. Per definition is it safe for a client to retry the same operation on the same node before giving up.

PECL/mysqlnd_ms can perform the retry loop on behalf of the application. By configuring transient_error the plugin can be instructed to repeat operations failing with a certain error code for a certain maximum number of times with a pause between the retries. If the transient error disappears during loop execution, it is hidden from the application. Otherwise, the error is forwarded to the application by the end of the loop.

Beispiel #32 Retry loop for transient errors

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.78.136",
                "port": "3306"
            }
       },
       "transient_error": {
          "mysql_error_codes": [
            1297
          ],
          "max_retries": 2,
          "usleep_retry": 100
       }
    }
}

Keyword Description Version
mysql_error_codes

List of transient error codes. You may add any MySQL error code to the list. It is possible to consider any error as transient not only 1297 (HY000 (ER_GET_TEMPORARY_ERRMSG), Message: Got temporary error %d '%s' from %s). Before adding other codes but 1297 to the list, make sure your cluster supports a new attempt without impacting the state of your application.

Since 1.6.0.
max_retries

How often to retry an operation which fails with a transient error before forwarding the failure to the user.

Default: 1

Since 1.6.0.
usleep_retry

Milliseconds to sleep between transient error retries. The value is passed to the C function usleep(), hence the name.

Default: 100

Since 1.6.0.
xa object

The setting has been introduced in 1.6.0.

Hinweis: Experimental

The feature is currently under development. There may be issues and/or feature limitations. Do not use in production environments.

state_store
record_participant_credentials

Whether to store the username and password of a global transaction participant in the participants table. If disabled, the garbage collection will use the default username and password when connecting to the participants. Unless you are using a different username and password for each of your MySQL servers, you can use the default and avoid storing the sensible information in state store.

Please note, username and password are stored in clear text when using the MySQL state store, which is the only one available. It is in your responsibility to protect this sensible information.

Default: false

participant_localhost_ip

During XA garbage collection the plugin may find a participant server for which the host localhost has been recorded. If the garbage collection takes place on another host but the host that has written the participant record to the state store, the host name localhost now resolves to a different host. Therefore, when recording a participant servers host name in the state store, a value of localhost must be replaced with the actual IP address of localhost.

Setting participant_localhost_ip should be considered only if using localhost cannot be avoided. From a garbage collection point of view only, it is preferrable not to configure any socket connection but to provide an IP address and port for a node.

mysql

The MySQL state store is the only state store available.

global_trx_table

Name of the MySQL table used to store the state of an ongoing or aborted global transaction. Use the below SQL statement to create the table. Make sure to edit the table name to match your configuration.

Default: mysqlnd_ms_xa_trx

Beispiel #33 SQL definition for the MySQL state store transaction table

CREATE TABLE mysqlnd_ms_xa_trx (
  store_trx_id int(11) NOT NULL AUTO_INCREMENT,
  gtrid int(11) NOT NULL,
  format_id int(10) unsigned NOT NULL DEFAULT '1',
  state enum('XA_NON_EXISTING','XA_ACTIVE','XA_IDLE','XA_PREPARED','XA_COMMIT','XA_ROLLBACK') NOT NULL DEFAULT 'XA_NON_EXISTING',
  intend enum('XA_NON_EXISTING','XA_ACTIVE','XA_IDLE','XA_PREPARED','XA_COMMIT','XA_ROLLBACK') DEFAULT 'XA_NON_EXISTING',
  finished enum('NO','SUCCESS','FAILURE') NOT NULL DEFAULT 'NO',
  modified timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  started datetime DEFAULT NULL,
  timeout datetime DEFAULT NULL,
  PRIMARY KEY (store_trx_id),
  KEY idx_xa_id (gtrid,format_id,finished),
  KEY idx_state (state)
) ENGINE=InnoDB

participant_table

Name of the MySQL table used to store participants of an ongoing or aborted global transaction. Use the below SQL statement to create the table. Make sure to edit the table name to match your configuration.

Storing credentials can be enabled and disabled using record_participant_credentials

Default: mysqlnd_ms_xa_participants

Beispiel #34 SQL definition for the MySQL state store transaction table

CREATE TABLE mysqlnd_ms_xa_participants (
  fk_store_trx_id int(11) NOT NULL,
  bqual varbinary(64) NOT NULL DEFAULT '',
  participant_id int(10) unsigned NOT NULL AUTO_INCREMENT,
  server_uuid varchar(127) DEFAULT NULL,
  scheme varchar(1024) NOT NULL,
  host varchar(127) DEFAULT NULL,
  port smallint(5) unsigned DEFAULT NULL,
  socket varchar(127) DEFAULT NULL,
  user varchar(127) DEFAULT NULL,
  password varchar(127) DEFAULT NULL,
  state enum('XA_NON_EXISTING','XA_ACTIVE','XA_IDLE','XA_PREPARED','XA_COMMIT','XA_ROLLBACK')
   NOT NULL DEFAULT 'XA_NON_EXISTING',
  health enum('OK','GC_DONE','CLIENT ERROR','SERVER ERROR') NOT NULL DEFAULT 'OK',
  connection_id int(10) unsigned DEFAULT NULL,
  client_errno smallint(5) unsigned DEFAULT NULL,
  client_error varchar(1024) DEFAULT NULL,
  modified timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (participant_id),
  KEY idx_xa_bqual (bqual),
  KEY idx_store_trx (fk_store_trx_id),
  CONSTRAINT mysqlnd_ms_xa_participants_ibfk_1 FOREIGN KEY (fk_store_trx_id)
    REFERENCES mysqlnd_ms_xa_trx (store_trx_id) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB
garbage_collection_table

Name of the MySQL table used to track and synchronize garbage collection runs. Use the below SQL statement to create the table. Make sure to edit the table name to match your configuration.

Default: mysqlnd_ms_xa_gc

Beispiel #35 SQL definition for the MySQL state store garbage collection table

CREATE TABLE mysqlnd_ms_xa_gc (
  gc_id int(10) unsigned NOT NULL AUTO_INCREMENT,
  gtrid int(11) NOT NULL,
  format_id int(10) unsigned NOT NULL DEFAULT '1',
  fk_store_trx_id int(11) DEFAULT NULL,
  modified timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  attempts smallint(5) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (gc_id),
  KEY idx_store_trx (gtrid,format_id,fk_store_trx_id)
) ENGINE=InnoDB
host

Host name of the MySQL server.

user

Name of the user used to connect to the MySQL server.

password

Password for the MySQL server user.

db

Database that holds the garbage collection tables. Please note, you have to create the garbage collection tables prior to using the plugin. The tables will not be created implicitly during runtime but garbage collection will fail if the tables to not exist.

port

Port of the MySQL server.

socket

Unix domain socket of the MySQL server. Please note, if you have multiple PHP servers each of them will try to carry out garbage collection and need to be able to connect to the state store. In this case, you may prefer configuring an IP address and a port for the MySQL state store server to ensure all PHP servers can reach it.

rollback_on_close

Whether to automatically rollback an open global transaction when a connection is closed. If enabled, it mimics the default behaviour of local transactions. Should a client disconnect, the server rolls back any open and unfinished transactions.

Default: true

garbage_collection
max_retries

Maximum number of garbage collection runs before giving up. Allowed values are from 0 to 100. A setting of 0 means no limit, unless the state store enforces a limit. Should the state store enforce a limit, it can be supposed to be significantly higher than 100. Available since 1.6.0.

Please note, it is important to end failed XA transactions within reasonable time to make participating servers free resources bound to the transaction. The built-in garbage collection is not expected to fail for a long period as long as crashed servers become available again quickly. Still, a situation may arise where a human is required to act because the built-in garbage collection stopped or failed. In this case, you may first want to check if the transaction still cannot be fixed by forcing mysqlnd_ms_xa_gc() to ignore the setting, prior to handling it manually.

Default: 5

probability

Garbage collection probability. Allowed values are from 0 to 1000. A setting of 0 disables automatic background garbage collection. Despite a setting of 0 it is still possible to trigger garbage collection by calling mysqlnd_ms_gc(). Available since 1.6.0.

The automatic garbage collection of stalled XA transaction is only available if a state store have been configured. The state store is responsible to keep track of XA transactions. Based on its recordings it can find blocked XA transactions where the client has crashed, connect to the participants and rollback the unfinished transactions.

The garbage collection is triggered as part of PHP's request shutdown procedure at the end of a web request. That is after your PHP script has finished working. Do decide whether to run the garbage collection a random value between 0 and 1000 is computed. If the probability value is higher or equal to the random value, the state stores garbage collection routines are invoked.

Default: 5

max_transactions_per_run

Maximum number of unfinished XA transactions considered by the garbage collection during one run. Allowed values are from 1 to 32768. Available since 1.6.0.

Cleaning up an unfinished XA transaction takes considerable amounts of time and resources. The garbage collection routine may have to connect to several participants of a failed global transaction to issue the SQL commands for rolling back the unfinished tranaction.

Default: 100

Plugin configuration file (<= 1.0.x)

Hinweis:

The below description applies to PECL/mysqlnd_ms < 1.1.0-beta. It is not valid for later versions.

The plugin is using its own configuration file. The configuration file holds information on the MySQL replication master server, the MySQL replication slave servers, the server pick (load balancing) policy, the failover strategy and the use of lazy connections.

The PHP configuration directive mysqlnd_ms.ini_file is used to set the plugins configuration file.

The configuration file mimics standard the php.ini format. It consists of one or more sections. Every section defines its own unit of settings. There is no global section for setting defaults.

Applications reference sections by their name. Applications use section names as the host (server) parameter to the various connect methods of the mysqli, mysql and PDO_MYSQL extensions. Upon connect the mysqlnd plugin compares the hostname with all section names from the plugin configuration file. If hostname and section name match, the plugin will load the sections settings.

Beispiel #36 Using section names example

[myapp]
master[] = localhost
slave[] = 192.168.2.27
slave[] = 192.168.2.28:3306
[localhost]
master[] = localhost:/tmp/mysql/mysql.sock
slave[] = 192.168.3.24:3305
slave[] = 192.168.3.65:3309
<?php
/* All of the following connections will be load balanced */
$mysqli = new mysqli("myapp", "username", "password", "database");
$pdo = new PDO('mysql:host=myapp;dbname=database', 'username', 'password');
$mysql = mysql_connect("myapp", "username", "password");

$mysqli = new mysqli("localhost", "username", "password", "database");
?>

Section names are strings. It is valid to use a section name such as 192.168.2.1, 127.0.0.1 or localhost. If, for example, an application connects to localhost and a plugin configuration section [localhost] exists, the semantics of the connect operation are changed. The application will no longer only use the MySQL server running on the host localhost but the plugin will start to load balance MySQL queries following the rules from the [localhost] configuration section. This way you can load balance queries from an application without changing the applications source code.

The master[], slave[] and pick[] configuration directives use a list-like syntax. Configuration directives supporting list-like syntax may appear multiple times in a configuration section. The plugin maintains the order in which entries appear when interpreting them. For example, the below example shows two slave[] configuration directives in the configuration section [myapp]. If doing round-robin load balancing for read-only queries, the plugin will send the first read-only query to the MySQL server mysql_slave_1 because it is the first in the list. The second read-only query will be send to the MySQL server mysql_slave_2 because it is the second in the list. Configuration directives supporting list-like syntax result are ordered from top to bottom in accordance to their appearance within a configuration section.

Beispiel #37 List-like syntax

[myapp]
master[] = mysql_master_server
slave[] = mysql_slave_1
slave[] = mysql_slave_2

Here is a short explanation of the configuration directives that can be used.

master[] string

URI of a MySQL replication master server. The URI follows the syntax hostname[:port|unix_domain_socket].

The plugin supports using only one master server.

Setting a master server is mandatory. The plugin will report a warning upon connect if the user has failed to provide a master server for a configuration section. The warning may read (mysqlnd_ms) Cannot find master section in config. Furthermore the plugin may set an error code for the connection handle such as HY000/2000 (CR_UNKNOWN_ERROR). The corresponding error message depends on your language settings.

slave[] string

URI of one or more MySQL replication slave servers. The URI follows the syntax hostname[:port|unix_domain_socket].

The plugin supports using one or more slave servers.

Setting a slave server is mandatory. The plugin will report a warning upon connect if the user has failed to provide at least one slave server for a configuration section. The warning may read (mysqlnd_ms) Cannot find slaves section in config. Furthermore the plugin may set an error code for the connection handle such as HY000/2000 (CR_UNKNOWN_ERROR). The corresponding error message depends on your language settings.

pick[] string

Load balancing (server picking) policy. Supported policies: random, random_once (default), roundrobin, user.

If no load balancing policy is set, the plugin will default to random_once. The random_once policy picks a random slave server when running the first read-only statement. The slave server will be used for all read-only statements until the PHP script execution ends.

The random policy will pick a random server whenever a read-only statement is to be executed.

If using roundrobin the plugin iterates over the list of configured slave servers to pick a server for statement execution. If the plugin reaches the end of the list, it wraps around to the beginning of the list and picks the first configured slave server.

Setting more than one load balancing policy for a configuration section makes only sense in conjunction with user and mysqlnd_ms_set_user_pick_server(). If the user defined callback fails to pick a server, the plugin falls back to the second configured load balancing policy.

failover string

Failover policy. Supported policies: disabled (default), master.

If no failover policy is set, the plugin will not do any automatic failover (failover=disabled). Whenever the plugin fails to connect a server it will emit a warning and set the connections error code and message. Thereafter it is up to the application to handle the error and, for example, resent the last statement to trigger the selection of another server.

If using failover=master the plugin will implicitly failover to a slave, if available. Please check the concepts documentation to learn about potential pitfalls and risks of using failover=master.

lazy_connections bool

Controls the use of lazy connections. Lazy connections are connections which are not opened before the client sends the first connection.

It is strongly recommended to use lazy connections. Lazy connections help to keep the number of open connections low. If you disable lazy connections and, for example, configure one MySQL replication master server and two MySQL replication slaves, the plugin will open three connections upon the first call to a connect function although the application might use the master connection only.

Lazy connections bare a risk if you make heavy use of actions which change the state of a connection. The plugin does not dispatch all state changing actions to all connections from the connection pool. The few dispatched actions are applied to already opened connections only. Lazy connections opened in the future are not affected. If, for example, the connection character set is changed using a PHP MySQL API call, the plugin will change the character set of all currently opened connection. It will not remember the character set change to apply it on lazy connections opened in the future. As a result the internal connection pool would hold connections using different character sets. This is not desired. Remember that character sets are taken into account for escaping.

master_on_write bool

If set, the plugin will use the master server only after the first statement has been executed on the master. Applications can still send statements to the slaves using SQL hints to overrule the automatic decision.

The setting may help with replication lag. If an application runs an INSERT the plugin will, by default, use the master to execute all following statements, including SELECT statements. This helps to avoid problems with reads from slaves which have not replicated the INSERT yet.

trx_stickiness string

Transaction stickiness policy. Supported policies: disabled (default), master.

Experimental feature.

The setting requires 5.4.0 or newer. If used with PHP older than 5.4.0, the plugin will emit a warning like (mysqlnd_ms) trx_stickiness strategy is not supported before PHP 5.3.99.

If no transaction stickiness policy is set or, if setting trx_stickiness=disabled, the plugin is not transaction aware. Thus, the plugin may load balance connections and switch connections in the middle of a transaction. The plugin is not transaction safe. SQL hints must be used avoid connection switches during a transaction.

As of PHP 5.4.0 the mysqlnd library allows the plugin to monitor the autocommit mode set by calls to the libraries trx_autocommit() function. If setting trx_stickiness=master and autocommit gets disabled by a PHP MySQL extension invoking the mysqlnd library internal function call trx_autocommit(), the plugin is made aware of the begin of a transaction. Then, the plugin stops load balancing and directs all statements to the master server until autocommit is enabled. Thus, no SQL hints are required.

An example of a PHP MySQL API function calling the mysqlnd library internal function call trx_autocommit() is mysqli_autocommit().

Although setting trx_stickiness=master, the plugin cannot be made aware of autocommit mode changes caused by SQL statements such as SET AUTOCOMMIT=0.

Testing

Hinweis:

The section applies to mysqlnd_ms 1.1.0 or newer, not the 1.0 series.

The PECL/mysqlnd_ms test suite is in the tests/ directory of the source distribution. The test suite consists of standard phpt tests, which are described on the PHP Quality Assurance Teams website.

Running the tests requires setting up one to four MySQL servers. Some tests don't connect to MySQL at all. Others require one server for testing. Some require two distinct servers. In some cases two servers are used to emulate a replication setup. In other cases a master and a slave of an existing MySQL replication setup are required for testing. The tests will try to detect how many servers and what kind of servers are given. If the required servers are not found, the test will be skipped automatically.

Before running the tests, edit tests/config.inc to configure the MySQL servers to be used for testing.

The most basic configuration is as follows.

 putenv("MYSQL_TEST_HOST=localhost");
 putenv("MYSQL_TEST_PORT=3306");
 putenv("MYSQL_TEST_USER=root");
 putenv("MYSQL_TEST_PASSWD=");
 putenv("MYSQL_TEST_DB=test");
 putenv("MYSQL_TEST_ENGINE=MyISAM");
 putenv("MYSQL_TEST_SOCKET=");

 putenv("MYSQL_TEST_SKIP_CONNECT_FAILURE=1");
 putenv("MYSQL_TEST_CONNECT_FLAGS=0");
 putenv("MYSQL_TEST_EXPERIMENTAL=0");

 /* replication cluster emulation */
 putenv("MYSQL_TEST_EMULATED_MASTER_HOST=". getenv("MYSQL_TEST_HOST"));
 putenv("MYSQL_TEST_EMULATED_SLAVE_HOST=". getenv("MYSQL_TEST_HOST"));

 /* real replication cluster */
 putenv("MYSQL_TEST_MASTER_HOST=". getenv("MYSQL_TEST_EMULATED_MASTER_HOST"));
 putenv("MYSQL_TEST_SLAVE_HOST=". getenv("MYSQL_TEST_EMULATED_SLAVE_HOST"));

MYSQL_TEST_HOST, MYSQL_TEST_PORT and MYSQL_TEST_SOCKET define the hostname, TCP/IP port and Unix domain socket of the default database server. MYSQL_TEST_USER and MYSQL_TEST_PASSWD contain the user and password needed to connect to the database/schema configured with MYSQL_TEST_DB. All configured servers must have the same database user configured to give access to the test database.

Using host, host:port or host:/path/to/socket syntax one can set an alternate host, host and port or host and socket for any of the servers.

putenv("MYSQL_TEST_SLAVE_HOST=192.168.78.136:3307"));
putenv("MYSQL_TEST_MASTER_HOST=myserver_hostname:/path/to/socket"));

Debugging and Tracing

The mysqlnd debug log can be used to debug and trace the actitivities of PECL/mysqlnd_ms. As a mysqlnd PECL/mysqlnd_ms adds trace information to the mysqlnd library debug file. Please, see the mysqlnd.debug PHP configuration directive documentation for a detailed description on how to configure the debug log.

Configuration setting example to activate the debug log:

mysqlnd.debug=d:t:x:O,/tmp/mysqlnd.trace

Hinweis:

This feature is only available with a debug build of PHP. Works on Microsoft Windows if using a debug build of PHP and PHP was built using Microsoft Visual C version 9 and above.

The debug log shows mysqlnd library and PECL/mysqlnd_ms plugin function calls, similar to a trace log. Mysqlnd library calls are usually prefixed with mysqlnd_. PECL/mysqlnd internal calls begin with mysqlnd_ms.

Example excerpt from the debug log (connect):

[...]
>mysqlnd_connect
| info : host=myapp user=root db=test port=3306 flags=131072
| >mysqlnd_ms::connect
| | >mysqlnd_ms_config_json_section_exists
| | | info : section=[myapp] len=[5]
| | | >mysqlnd_ms_config_json_sub_section_exists
| | | | info : section=[myapp] len=[5]
| | | | info : ret=1
| | | <mysqlnd_ms_config_json_sub_section_exists
| | | info : ret=1
| | <mysqlnd_ms_config_json_section_exists
[...]

The debug log is not only useful for plugin developers but also to find the cause of user errors. For example, if your application does not do proper error handling and fails to record error messages, checking the debug and trace log may help finding the cause. Use of the debug log to debug application issues should be considered only if no other option is available. Writing the debug log to disk is a slow operation and may have negative impact on the application performance.

Example excerpt from the debug log (connection failure):

[...]
| | | | | | | info : adding error [Access denied for user 'root'@'localhost' (using password: YES)] to the list
| | | | | | | info : PACKET_FREE(0)
| | | | | | | info : PACKET_FREE(0x7f3ef6323f50)
| | | | | | | info : PACKET_FREE(0x7f3ef6324080)
| | | | | | <mysqlnd_auth_handshake
| | | | | | info : switch_to_auth_protocol=n/a
| | | | | | info : conn->error_info.error_no = 1045
| | | | | <mysqlnd_connect_run_authentication
| | | | | info : PACKET_FREE(0x7f3ef63236d8)
| | | | | >mysqlnd_conn::free_contents
| | | | | | >mysqlnd_net::free_contents
| | | | | | <mysqlnd_net::free_contents
| | | | | | info : Freeing memory of members
| | | | | | info : scheme=unix:///tmp/mysql.sock
| | | | | | >mysqlnd_error_list_pdtor
| | | | | | <mysqlnd_error_list_pdtor
| | | | | <mysqlnd_conn::free_contents
| | | | <mysqlnd_conn::connect
[...]

The trace log can also be used to verify correct behaviour of PECL/mysqlnd_ms itself, for example, to check which server has been selected for query execution and why.

Example excerpt from the debug log (plugin decision):

[...]
>mysqlnd_ms::query
| info : query=DROP TABLE IF EXISTS test
| >_mysqlnd_plugin_get_plugin_connection_data
| | info : plugin_id=5
| <_mysqlnd_plugin_get_plugin_connection_data
| >mysqlnd_ms_pick_server_ex
| | info : conn_data=0x7fb6a7d3e5a0 *conn_data=0x7fb6a7d410d0
| | >mysqlnd_ms_select_servers_all
| | <mysqlnd_ms_select_servers_all
| | >mysqlnd_ms_choose_connection_rr
| | | >mysqlnd_ms_query_is_select
[...]
| | | <mysqlnd_ms_query_is_select
[...]
| | | info : Init the master context
| | | info : list(0x7fb6a7d3f598) has 1
| | | info : Using master connection
| | | >mysqlnd_ms_advanced_connect
| | | | >mysqlnd_conn::connect
| | | | | info : host=localhost user=root db=test port=3306 flags=131072 persistent=0 state=0

In this case the statement DROP TABLE IF EXISTS test has been executed. Note that the statement string is shown in the log file. You may want to take measures to restrict access to the log for security considerations.

The statement has been load balanced using round robin policy, as you can easily guess from the functions name >mysqlnd_ms_choose_connection_rr. It has been sent to a master server running on host=localhost user=root db=test port=3306 flags=131072 persistent=0 state=0.

Monitoring

Plugin activity can be monitored using the mysqlnd trace log, mysqlnd statistics, mysqlnd_ms plugin statistics and external PHP debugging tools. Use of the trace log should be limited to debugging. It is recommended to use the plugins statistics for monitoring.

Writing a trace log is a slow operation. If using an external PHP debugging tool, please refer to the vendors manual about its performance impact and the type of information collected. In many cases, external debugging tools will provide call stacks. Often, a call stack or a trace log is more difficult to interpret than the statistics provided by the plugin.

Plugin statistics tell how often which kind of cluster node has been used (slave or master), why the node was used, if lazy connections have been used and if global transaction ID injection has been performed. The monitoring information provided enables user to verify plugin decisions and to plan their cluster resources based on usage pattern. The function mysqlnd_ms_get_stats() is used to access the statistics. Please, see the functions description for a list of available statistics.

Statistics are collected on a per PHP process basis. Their scope is a PHP process. Depending on the PHP deployment model a process may serve one or multiple web requests. If using CGI model, a PHP process serves one web request. If using FastCGI or pre-fork web server models, a PHP process usually serves multiple web requests. The same is the case with a threaded web server. Please, note that threads running in parallel can update the statistics in parallel. Thus, if using a threaded PHP deployment model, statistics can be changed by more than one script at a time. A script cannot rely on the fact that it sees only its own changes to statistics.

Beispiel #38 Verify plugin activity in a non-threaded deployment model

mysqlnd_ms.enable=1
mysqlnd_ms.collect_statistics=1
<?php
/* Load balanced following "myapp" section rules from the plugins config file (not shown) */
$mysqli = new mysqli("myapp", "username", "password", "database");
if (mysqli_connect_errno())
  /* Of course, your error handling is nicer... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

$stats_before = mysqlnd_ms_get_stats();
if ($res = $mysqli->query("SELECT 'Read request' FROM DUAL")) {
  var_dump($res->fetch_all());
}
$stats_after = mysqlnd_ms_get_stats();
if ($stats_after['use_slave'] <= $stats_before['use_slave']) {
  echo "According to the statistics the read request has not been run on a slave!";
}
?>

Statistics are aggregated for all plugin activities and all connections handled by the plugin. It is not possible to tell how much a certain connection handle has contributed to the overall statistics.

Utilizing PHPs register_shutdown_function() function or the auto_append_file PHP configuration directive it is easily possible to dump statistics into, for example, a log file when a script finishes. Instead of using a log file it is also possible to send the statistics to an external monitoring tool for recording and display.

Beispiel #39 Recording statistics during shutdown

mysqlnd_ms.enable=1
mysqlnd_ms.collect_statistics=1
error_log=/tmp/php_errors.log
<?php
function check_stats() {
  $msg = str_repeat("-", 80) . "\n";
  $msg .= var_export(mysqlnd_ms_get_stats(), true) . "\n";
  $msg .= str_repeat("-", 80) . "\n";
  error_log($msg);
}
register_shutdown_function("check_stats");
?>

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

SQL hint related

Beispiel #1 Example demonstrating the usage of mysqlnd_ms constants

The mysqlnd replication and load balancing plugin (mysqlnd_ms) performs read/write splitting. This directs write queries to a MySQL master server, and read-only queries to the MySQL slave servers. The plugin has a built-in read/write split logic. All queries which start with SELECT are considered read-only queries, which are then sent to a MySQL slave server that is listed in the plugin configuration file. All other queries are directed to the MySQL master server that is also specified in the plugin configuration file.

User supplied SQL hints can be used to overrule automatic read/write splitting, to gain full control on the process. SQL hints are standards compliant SQL comments. The plugin will scan the beginning of a query string for an SQL comment for certain commands, which then control query redirection. Other systems involved in the query processing are unaffected by the SQL hints because other systems will ignore the SQL comments.

The plugin supports three SQL hints to direct queries to either the MySQL slave servers, the MySQL master server, or the last used MySQL server. SQL hints must be placed at the beginning of a query to be recognized by the plugin.

For better portability, it is recommended to use the string constants MYSQLND_MS_MASTER_SWITCH, MYSQLND_MS_SLAVE_SWITCH and MYSQLND_MS_LAST_USED_SWITCH instead of their literal values.

<?php
/* Use constants for maximum portability */
$master_query = "/*" . MYSQLND_MS_MASTER_SWITCH . "*/SELECT id FROM test";

/* Valid but less portable: using literal instead of constant */
$slave_query = "/*ms=slave*/SHOW TABLES";

printf("master_query = '%s'\n", $master_query);
printf("slave_query = '%s'\n", $slave_query);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

master_query = /*ms=master*/SELECT id FROM test
slave_query = /*ms=slave*/SHOW TABLES

MYSQLND_MS_MASTER_SWITCH (string)
SQL hint used to send a query to the MySQL replication master server.
MYSQLND_MS_SLAVE_SWITCH (string)
SQL hint used to send a query to one of the MySQL replication slave servers.
MYSQLND_MS_LAST_USED_SWITCH (string)
SQL hint used to send a query to the last used MySQL server. The last used MySQL server can either be a master or a slave server in a MySQL replication setup.

mysqlnd_ms_query_is_select() related

MYSQLND_MS_QUERY_USE_MASTER (integer)
If mysqlnd_ms_is_select() returns MYSQLND_MS_QUERY_USE_MASTER for a given query, the built-in read/write split mechanism recommends sending the query to a MySQL replication master server.
MYSQLND_MS_QUERY_USE_SLAVE (integer)
If mysqlnd_ms_is_select() returns MYSQLND_MS_QUERY_USE_SLAVE for a given query, the built-in read/write split mechanism recommends sending the query to a MySQL replication slave server.
MYSQLND_MS_QUERY_USE_LAST_USED (integer)
If mysqlnd_ms_is_select() returns MYSQLND_MS_QUERY_USE_LAST_USED for a given query, the built-in read/write split mechanism recommends sending the query to the last used server.

mysqlnd_ms_set_qos(), quality of service filter and service level related

MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL (integer)
Use to request the service level eventual consistency from the mysqlnd_ms_set_qos(). Eventual consistency is the default quality of service when reading from an asynchronous MySQL replication slave. Data returned in this service level may or may not be stale, depending on whether the selected slaves happen to have replicated the latest changes from the MySQL replication master or not.
MYSQLND_MS_QOS_CONSISTENCY_SESSION (integer)
Use to request the service level session consistency from the mysqlnd_ms_set_qos(). Session consistency is defined as read your writes. The client is guaranteed to see his latest changes.
MYSQLND_MS_QOS_CONSISTENCY_STRONG (integer)
Use to request the service level strong consistency from the mysqlnd_ms_set_qos(). Strong consistency is used to ensure all clients see each others changes.
MYSQLND_MS_QOS_OPTION_GTID (integer)
Used as a service level option with mysqlnd_ms_set_qos() to parameterize session consistency.
MYSQLND_MS_QOS_OPTION_AGE (integer)
Used as a service level option with mysqlnd_ms_set_qos() to parameterize eventual consistency.

Other

The plugins version number can be obtained using MYSQLND_MS_VERSION or MYSQLND_MS_VERSION_ID. MYSQLND_MS_VERSION is the string representation of the numerical version number MYSQLND_MS_VERSION_ID, which is an integer such as 10000. Developers can calculate the version number as follows.

Version (part) | Example
Major*10000 | 1*10000 = 10000
Minor*100 | 0*100 = 0
Patch | 0 = 0
MYSQLND_MS_VERSION_ID | 10000

MYSQLND_MS_VERSION (string)
Plugin version string, for example, "1.0.0-prototype".
MYSQLND_MS_VERSION_ID (integer)
Plugin version number, for example, 10000.

Plugin configuration file (>=1.1.x)
Mysqlnd_ms Funktionen
mysqlnd_ms


Mysqlnd_ms Funktionen

Inhaltsverzeichnis

  • mysqlnd_ms_dump_servers — Returns a list of currently configured servers
  • mysqlnd_ms_fabric_select_global — Switch to global sharding server for a given table
  • mysqlnd_ms_fabric_select_shard — Switch to shard
  • mysqlnd_ms_get_last_gtid — Returns the latest global transaction ID
  • mysqlnd_ms_get_last_used_connection — Returns an array which describes the last used connection
  • mysqlnd_ms_get_stats — Returns query distribution and connection statistics
  • mysqlnd_ms_match_wild — Finds whether a table name matches a wildcard pattern or not
  • mysqlnd_ms_query_is_select — Find whether to send the query to the master, the slave or the last used MySQL server
  • mysqlnd_ms_set_qos — Sets the quality of service needed from the cluster
  • mysqlnd_ms_set_user_pick_server — Sets a callback for user-defined read/write splitting
  • mysqlnd_ms_xa_begin — Starts a distributed/XA transaction among MySQL servers
  • mysqlnd_ms_xa_commit — Commits a distributed/XA transaction among MySQL servers
  • mysqlnd_ms_xa_gc — Garbage collects unfinished XA transactions after severe errors
  • mysqlnd_ms_xa_rollback — Rolls back a distributed/XA transaction among MySQL servers
Vordefinierte Konstanten
mysqlnd_ms_dump_servers
mysqlnd_ms


Returns a list of currently configured servers

Mysqlnd_ms Funktionen
mysqlnd_ms_fabric_select_global
Mysqlnd_ms Funktionen
PHP Manual

mysqlnd_ms_dump_servers

(No version information available, might only be in Git)

mysqlnd_ms_dump_servers — Returns a list of currently configured servers

Beschreibung

array mysqlnd_ms_dump_servers ( mixed $connection )

Returns a list of currently configured servers.

Parameter-Liste

connection

A MySQL connection handle obtained from any of the connect functions of the mysqli, mysql or PDO_MYSQL extensions.

Rückgabewerte

FALSE on error. Otherwise, returns an array with two entries masters and slaves each of which contains an array listing all corresponding servers.

The function can be used to check and debug the list of servers currently used by the plugin. It is mostly useful when the list of servers changes at runtime, for example, when using MySQL Fabric.

masters and slaves server entries

Key | Description | Version
name_from_config | Server entry name from config, if appliciable. NULL if no configuration name is available. | Since 1.6.0.
hostname | Host name of the server. | Since 1.6.0.
user | Database user used to authenticate against the server. | Since 1.6.0.
port | TCP/IP port of the server. | Since 1.6.0.
socket | Unix domain socket of the server. | Since 1.6.0.

Anmerkungen

Hinweis:

mysqlnd_ms_dump_servers() requires PECL mysqlnd_ms >> 1.6.0.

Beispiele

Beispiel #1 mysqlnd_ms_dump_servers() example

{
    "myapp": {
        "master": {
            "master1": {
                "host":"master1_host",
                "port":"master1_port",
                "socket":"master1_socket",
                "db":"master1_db",
                "user":"master1_user",
                "password":"master1_pw"
            }
        },
        "slave": {
             "slave_0": {
                 "host":"slave0_host",
                 "port":"slave0_port",
                 "socket":"slave0_socket",
                 "db":"slave0_db",
                 "user":"slave0_user",
                 "password":"slave0_pw"
             },
             "slave_1": {
                 "host":"slave1_host"
             }
        }
    }
}
<?php
$link = mysqli_connect("myapp", "global_user", "global_pass", "global_db", 1234, "global_socket");
var_dump(mysqlnd_ms_dump_servers($link);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  ["masters"]=>
  array(1) {
    [0]=>
    array(5) {
      ["name_from_config"]=>
      string(7) "master1"
      ["hostname"]=>
      string(12) "master1_host"
      ["user"]=>
      string(12) "master1_user"
      ["port"]=>
      int(3306)
      ["socket"]=>
      string(14) "master1_socket"
    }
  }
  ["slaves"]=>
  array(2) {
    [0]=>
    array(5) {
      ["name_from_config"]=>
      string(7) "slave_0"
      ["hostname"]=>
      string(11) "slave0_host"
      ["user"]=>
      string(11) "slave0_user"
      ["port"]=>
      int(3306)
      ["socket"]=>
      string(13) "slave0_socket"
    }
    [1]=>
    array(5) {
      ["name_from_config"]=>
      string(7) "slave_1"
      ["hostname"]=>
      string(11) "slave1_host"
      ["user"]=>
      string(12) "gloabal_user"
      ["port"]=>
      int(1234)
      ["socket"]=>
      string(13) "global_socket"
    }
  }
}

Mysqlnd_ms Funktionen
mysqlnd_ms_fabric_select_global
Mysqlnd_ms Funktionen


Switch to global sharding server for a given table

mysqlnd_ms_dump_servers
mysqlnd_ms_fabric_select_shard
Mysqlnd_ms Funktionen
PHP Manual

mysqlnd_ms_fabric_select_global

(No version information available, might only be in Git)

mysqlnd_ms_fabric_select_global — Switch to global sharding server for a given table

Beschreibung

array mysqlnd_ms_fabric_select_global ( mixed $connection , mixed $table_name )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

MySQL Fabric related.

Switch the connection to the nodes handling global sharding queries for the given table name.

Parameter-Liste

connection

A MySQL connection handle obtained from any of the connect functions of the mysqli, mysql or PDO_MYSQL extensions.

table_name

The table name to ask Fabric about.

Rückgabewerte

FALSE on error. Otherwise, TRUE

Anmerkungen

Hinweis:

mysqlnd_ms_fabric_select_global() requires PECL mysqlnd_ms >> 1.6.0.

mysqlnd_ms_dump_servers
mysqlnd_ms_fabric_select_shard
Mysqlnd_ms Funktionen


Switch to shard

mysqlnd_ms_fabric_select_global
mysqlnd_ms_get_last_gtid
Mysqlnd_ms Funktionen
PHP Manual

mysqlnd_ms_fabric_select_shard

(No version information available, might only be in Git)

mysqlnd_ms_fabric_select_shard — Switch to shard

Beschreibung

array mysqlnd_ms_fabric_select_shard ( mixed $connection , mixed $table_name , mixed $shard_key )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

MySQL Fabric related.

Switch the connection to the shards responsible for the given table name and shard key.

Parameter-Liste

connection

A MySQL connection handle obtained from any of the connect functions of the mysqli, mysql or PDO_MYSQL extensions.

table_name

The table name to ask Fabric about.

shard_key

The shard key to ask Fabric about.

Rückgabewerte

FALSE on error. Otherwise, TRUE

Anmerkungen

Hinweis:

mysqlnd_ms_fabric_select_shard() requires PECL mysqlnd_ms >> 1.6.0.

mysqlnd_ms_fabric_select_global
mysqlnd_ms_get_last_gtid
Mysqlnd_ms Funktionen


Returns the latest global transaction ID

mysqlnd_ms_fabric_select_shard
mysqlnd_ms_get_last_used_connection
Mysqlnd_ms Funktionen
PHP Manual

mysqlnd_ms_get_last_gtid

(PECL mysqlnd_ms >= 1.2.0)

mysqlnd_ms_get_last_gtid — Returns the latest global transaction ID

Beschreibung

string mysqlnd_ms_get_last_gtid ( mixed $connection )

Returns a global transaction identifier which belongs to a write operation no older than the last write performed by the client. It is not guaranteed that the global transaction identifier is identical to that one created for the last write transaction performed by the client.

Parameter-Liste

connection

A PECL/mysqlnd_ms connection handle to a MySQL server of the type PDO_MYSQL, mysqli> or ext/mysql. The connection handle is obtained when opening a connection with a host name that matches a mysqlnd_ms configuration file entry using any of the above three MySQL driver extensions.

Rückgabewerte

Returns a global transaction ID (GTID) on success. Otherwise, returns FALSE.

The function mysqlnd_ms_get_last_gtid() returns the GTID obtained when executing the SQL statement from the fetch_last_gtid entry of the global_transaction_id_injection section from the plugins configuration file.

The function may be called after the GTID has been incremented.

Anmerkungen

Hinweis:

mysqlnd_ms_get_last_gtid() requires PHP >= 5.4.0 and PECL mysqlnd_ms >= 1.2.0. Internally, it is using a mysqlnd library C functionality not available with PHP 5.3.

Please note, all MySQL 5.6 production versions do not provide clients with enough information to use GTIDs for enforcing session consistency. In the worst case, the plugin will choose the master only.

Beispiele

Beispiel #1 mysqlnd_ms_get_last_gtid() example

<?php
/* Open mysqlnd_ms connection using mysqli, PDO_MySQL or mysql extension */
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli)
  /* Of course, your error handling is nicer... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

/* auto commit mode, transaction on master, GTID must be incremented */
if (!$mysqli->query("DROP TABLE IF EXISTS test"))
  die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));

printf("GTID after transaction %s\n", mysqlnd_ms_get_last_gtid($mysqli));

/* auto commit mode, transaction on master, GTID must be incremented */
if (!$mysqli->query("CREATE TABLE test(id INT)"))
  die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));

printf("GTID after transaction %s\n", mysqlnd_ms_get_last_gtid($mysqli));
?>

Siehe auch

  • Global Transaction IDs

mysqlnd_ms_fabric_select_shard
mysqlnd_ms_get_last_used_connection
Mysqlnd_ms Funktionen


Returns an array which describes the last used connection

mysqlnd_ms_get_last_gtid
mysqlnd_ms_get_stats
Mysqlnd_ms Funktionen
PHP Manual

mysqlnd_ms_get_last_used_connection

(PECL mysqlnd_ms >= 1.1.0)

mysqlnd_ms_get_last_used_connection — Returns an array which describes the last used connection

Beschreibung

array mysqlnd_ms_get_last_used_connection ( mixed $connection )

Returns an array which describes the last used connection from the plugins connection pool currently pointed to by the user connection handle. If using the plugin, a user connection handle represents a pool of database connections. It is not possible to tell from the user connection handles properties to which database server from the pool the user connection handle points.

The function can be used to debug or monitor PECL mysqlnd_ms.

Parameter-Liste

connection

A MySQL connection handle obtained from any of the connect functions of the mysqli, mysql or PDO_MYSQL extensions.

Rückgabewerte

FALSE on error. Otherwise, an array which describes the connection used to execute the last statement on.

Array which describes the connection.

Property | Description | Version
scheme | Connection scheme. Either tcp://host:port or unix://host:socket. If you want to distinguish connections from each other use a combination of scheme and thread_id as a unique key. Neither scheme nor thread_id alone are sufficient to distinguish two connections from each other. Two servers may assign the same thread_id to two different connections. Thus, connections in the pool may have the same thread_id. Also, do not rely on uniqueness of scheme in a pool. Your QA engineers may use the same MySQL server instance for two distinct logical roles and add it multiple times to the pool. This hack is used, for example, in the test suite. | Since 1.1.0.
host | Database server host used with the connection. The host is only set with TCP/IP connections. It is empty with Unix domain or Windows named pipe connections, | Since 1.1.0.
host_info | A character string representing the server hostname and the connection type. | Since 1.1.2.
port | Database server port used with the connection. | Since 1.1.0.
socket_or_pipe | Unix domain socket or Windows named pipe used with the connection. The value is empty for TCP/IP connections. | Since 1.1.2.
thread_id | Connection thread id. | Since 1.1.0.
last_message | Info message obtained from the MySQL C API function mysql_info(). Please, see mysqli_info() for a description. | Since 1.1.0.
errno | Error code. | Since 1.1.0.
error | Error message. | Since 1.1.0.
sqlstate | Error SQLstate code. | Since 1.1.0.

Anmerkungen

Hinweis:

mysqlnd_ms_get_last_used_connection() requires PHP >= 5.4.0 and PECL mysqlnd_ms >> 1.1.0. Internally, it is using a mysqlnd library C call not available with PHP 5.3.

Beispiele

The example assumes that myapp refers to a plugin configuration file section and represents a connection pool.

Beispiel #1 mysqlnd_ms_get_last_used_connection() example

<?php
$link = new mysqli("myapp", "user", "password", "database");
$res = $link->query("SELECT 1 FROM DUAL");
var_dump(mysqlnd_ms_get_last_used_connection($link));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(10) {
  ["scheme"]=>
  string(22) "unix:///tmp/mysql.sock"
  ["host_info"]=>
  string(25) "Localhost via UNIX socket"
  ["host"]=>
  string(0) ""
  ["port"]=>
  int(3306)
  ["socket_or_pipe"]=>
  string(15) "/tmp/mysql.sock"
  ["thread_id"]=>
  int(46253)
  ["last_message"]=>
  string(0) ""
  ["errno"]=>
  int(0)
  ["error"]=>
  string(0) ""
  ["sqlstate"]=>
  string(5) "00000"
}

mysqlnd_ms_get_last_gtid
mysqlnd_ms_get_stats
Mysqlnd_ms Funktionen


Returns query distribution and connection statistics

mysqlnd_ms_get_last_used_connection
mysqlnd_ms_match_wild
Mysqlnd_ms Funktionen
PHP Manual

mysqlnd_ms_get_stats

(PECL mysqlnd_ms >= 1.0.0)

mysqlnd_ms_get_stats — Returns query distribution and connection statistics

Beschreibung

array mysqlnd_ms_get_stats ( void )

Returns an array of statistics collected by the replication and load balancing plugin.

The PHP configuration setting mysqlnd_ms.collect_statistics controls the collection of statistics. The collection of statistics is disabled by default for performance reasons.

The scope of the statistics is the PHP process. Depending on your deployment model a PHP process may handle one or multiple requests.

Statistics are aggregated for all connections and all storage handler. It is not possible to tell how much queries originating from mysqli, PDO_MySQL or mysql API calls have contributed to the aggregated data values.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns NULL if the PHP configuration directive mysqlnd_ms.enable has disabled the plugin. Otherwise, returns array of statistics.

Array of statistics

Statistic | Description | Version
use_slave

The semantics of this statistic has changed between 1.0.1 - 1.1.0.

The meaning for version 1.0.1 is as follows. Number of statements considered as read-only by the built-in query analyzer. Neither statements which begin with a SQL hint to force use of slave nor statements directed to a slave by an user-defined callback are included. The total number of statements sent to the slaves is use_slave + use_slave_sql_hint + use_slave_callback.

PECL/mysqlnd_ms 1.1.0 introduces a new concept of chained filters. The statistics is now set by the internal load balancing filter. With version 1.1.0 the load balancing filter is always the last in the filter chain, if used. In future versions a load balancing filter may be followed by other filters causing another change in the meaning of the statistic. If, in the future, a load balancing filter is followed by another filter it is no longer guaranteed that the statement, which increments use_slave, will be executed on the slaves.

The meaning for version 1.1.0 is as follows. Number of statements sent to the slaves. Statements directed to a slave by the user filter (an user-defined callback) are not included. The latter are counted by use_slave_callback.

Since 1.0.0.
use_master

The semantics of this statistic has changed between 1.0.1 - 1.1.0.

The meaning for version 1.0.1 is as follows. Number of statements not considered as read-only by the built-in query analyzer. Neither statements which begin with a SQL hint to force use of master nor statements directed to a master by an user-defined callback are included. The total number of statements sent to the master is use_master + use_master_sql_hint + use_master_callback.

PECL/mysqlnd_ms 1.1.0 introduces a new concept of chained filters. The statictics is now set by the internal load balancing filter. With version 1.1.0 the load balancing filter is always the last in the filter chain, if used. In future versions a load balancing filter may be followed by other filters causing another change in the meaning of the statistic. If, in the future, a load balancing filter is followed by another filter it is no longer guaranteed that the statement, which increments use_master, will be executed on the slaves.

The meaning for version 1.1.0 is as follows. Number of statements sent to the masters. Statements directed to a master by the user filter (an user-defined callback) are not included. The latter are counted by use_master_callback.

Since 1.0.0.
use_slave_guess | Number of statements the built-in query analyzer recommends sending to a slave because they contain no SQL hint to force use of a certain server. The recommendation may be overruled in the following. It is not guaranteed whether the statement will be executed on a slave or not. This is how often the internal is_select function has guessed that a slave shall be used. Please, see also the user space function mysqlnd_ms_query_is_select(). | Since 1.1.0.
use_master_guess | Number of statements the built-in query analyzer recommends sending to a master because they contain no SQL hint to force use of a certain server. The recommendation may be overruled in the following. It is not guaranteed whether the statement will be executed on a slave or not. This is how often the internal is_select function has guessed that a master shall be used. Please, see also the user space function mysqlnd_ms_query_is_select(). | Since 1.1.0.
use_slave_sql_hint | Number of statements sent to a slave because statement begins with the SQL hint to force use of slave. | Since 1.0.0.
use_master_sql_hint | Number of statements sent to a master because statement begins with the SQL hint to force use of master. | Since 1.0.0.
use_last_used_sql_hint | Number of statements sent to server which has run the previous statement, because statement begins with the SQL hint to force use of previously used server. | Since 1.0.0.
use_slave_callback | Number of statements sent to a slave because an user-defined callback has chosen a slave server for statement execution. | Since 1.0.0.
use_master_callback | Number of statements sent to a master because an user-defined callback has chosen a master server for statement execution. | Since 1.0.0.
non_lazy_connections_slave_success | Number of successfully opened slave connections from configurations not using lazy connections. The total number of successfully opened slave connections is non_lazy_connections_slave_success + lazy_connections_slave_success | Since 1.0.0.
non_lazy_connections_slave_failure | Number of failed slave connection attempts from configurations not using lazy connections. The total number of failed slave connection attempts is non_lazy_connections_slave_failure + lazy_connections_slave_failure | Since 1.0.0.
non_lazy_connections_master_success | Number of successfully opened master connections from configurations not using lazy connections. The total number of successfully opened master connections is non_lazy_connections_master_success + lazy_connections_master_success | Since 1.0.0.
non_lazy_connections_master_failure | Number of failed master connection attempts from configurations not using lazy connections. The total number of failed master connection attempts is non_lazy_connections_master_failure + lazy_connections_master_failure | Since 1.0.0.
lazy_connections_slave_success | Number of successfully opened slave connections from configurations using lazy connections. | Since 1.0.0.
lazy_connections_slave_failure | Number of failed slave connection attempts from configurations using lazy connections. | Since 1.0.0.
lazy_connections_master_success | Number of successfully opened master connections from configurations using lazy connections. | Since 1.0.0.
lazy_connections_master_failure | Number of failed master connection attempts from configurations using lazy connections. | Since 1.0.0.
trx_autocommit_on | Number of autocommit mode activations via API calls. This figure may be used to monitor activity related to the plugin configuration setting trx_stickiness. If, for example, you want to know if a certain API call invokes the mysqlnd library function trx_autocommit(), which is a requirement for trx_stickiness, you may call the user API function in question and check if the statistic has changed. The statistic is modified only by the plugins internal subclassed trx_autocommit() method. | Since 1.0.0.
trx_autocommit_off | Number of autocommit mode deactivations via API calls. | Since 1.0.0.
trx_master_forced | Number of statements redirected to the master while trx_stickiness=master and autocommit mode is disabled. | Since 1.0.0.
gtid_autocommit_injections_success | Number of successful SQL injections in autocommit mode as part of the plugins client-side global transaction id emulation. | Since 1.2.0.
gtid_autocommit_injections_failure | Number of failed SQL injections in autocommit mode as part of the plugins client-side global transaction id emulation. | Since 1.2.0.
gtid_commit_injections_success | Number of successful SQL injections in commit mode as part of the plugins client-side global transaction id emulation. | Since 1.2.0.
gtid_commit_injections_failure | Number of failed SQL injections in commit mode as part of the plugins client-side global transaction id emulation. | Since 1.2.0.
gtid_implicit_commit_injections_success | Number of successful SQL injections when implicit commit is detected as part of the plugins client-side global transaction id emulation. Implicit commit happens, for example, when autocommit has been turned off, a query is executed and autocommit is enabled again. In that case, the statement will be committed by the server and SQL to maintain is injected before the autocommit is re-enabled. Another sequence causing an implicit commit is begin(), query(), begin(). The second call to begin() will implicitly commit the transaction started by the first call to begin(). begin() refers to internal library calls not actual PHP user API calls. | Since 1.2.0.
gtid_implicit_commit_injections_failure | Number of failed SQL injections when implicit commit is detected as part of the plugins client-side global transaction id emulation. Implicit commit happens, for example, when autocommit has been turned off, a query is executed and autocommit is enabled again. In that case, the statement will be committed by the server and SQL to maintain is injected before the autocommit is re-enabled. | Since 1.2.0.
transient_error_retries | How often an operation has been retried when a transient error was detected. See also, transient_error plugin configuration file setting. | Since 1.6.0.
fabric_sharding_lookup_servers_success | Number of successful sharding.lookup_servers remote procedure calls to MySQL Fabric. A call is considered successful if the plugin could reach MySQL Fabric and got any reply. The reply itself may or may not be understood by the plugin. Success refers to the network transport only. If the reply was not understood or indicates a valid error condition, fabric_sharding_lookup_servers_xml_failure gets incremented. | Since 1.6.0.
fabric_sharding_lookup_servers_failure | Number of failed sharding.lookup_servers remote procedure calls to MySQL Fabric. A remote procedure call is considered failed if there was a network error in connecting to, writing to or reading from MySQL Fabric. | Since 1.6.0.
fabric_sharding_lookup_servers_time_total | Time spent connecting to,writing to and reading from MySQL Fabrich during the sharding.lookup_servers remote procedure call. The value is aggregated for all calls. Time is measured in microseconds. | Since 1.6.0.
fabric_sharding_lookup_servers_bytes_total | Total number of bytes received from MySQL Fabric in reply to sharding.lookup_servers calls. | Since 1.6.0.
fabric_sharding_lookup_servers_xml_failure | How often a reply from MySQL Fabric to sharding.lookup_servers calls was not understood. Please note, the current experimental implementation does not distinguish between valid errors returned and malformed replies. | Since 1.6.0.
xa_begin | How many XA/distributed transactions have been started using mysqlnd_ms_xa_begin(). | Since 1.6.0.
xa_commit_success | How many XA/distributed transactions have been successfully committed using mysqlnd_ms_xa_commit(). | Since 1.6.0.
xa_commit_failure | How many XA/distributed transactions failed to commit during mysqlnd_ms_xa_commit(). | Since 1.6.0.
xa_rollback_success | How many XA/distributed transactions have been successfully rolled back using mysqlnd_ms_xa_rollback(). The figure does not include implict rollbacks performed as a result of mysqlnd_ms_xa_commit() failure. | Since 1.6.0.
xa_rollback_failure | How many XA/distributed transactions could not be rolled back. This includes failures of mysqlnd_ms_xa_rollback() but also failured during rollback when closing a connection, if rollback_on_close is set. Please, see also xa_rollback_on_close below. | Since 1.6.0.
xa_participants | Total number of participants in any XA transaction started with mysqlnd_ms_xa_begin(). | Since 1.6.0.
xa_rollback_on_close | How many XA transactions have been rolled back implicitly when a connection was close and rollback_on_close is set. Depending on your coding policies, this may hint a flaw in your code as you may prefer to explicitly clean up resources. | Since 1.6.0.
pool_masters_total | Number of master servers (connections) in the internal connection pool. | Since 1.6.0.
pool_slaves_total | Number of slave servers (connections) in the internal connection pool. | Since 1.6.0.
pool_masters_active | Number of master servers (connections) from the internal connection pool which are currently used for picking a connection. | Since 1.6.0.
pool_slaves_active | Number of slave servers (connections) from the internal connection pool which are currently used for picking a connection. | Since 1.6.0.
pool_updates | How often the active connection list has been replaced and a new set of master and slave servers had been installed. | Since 1.6.0.
pool_master_reactivated | How often a master connection has been reused after being flushed from the active list. | Since 1.6.0.
pool_slave_reactivated | How often a slave connection has been reused after being flushed from the active list. | Since 1.6.0.

Beispiele

Beispiel #1 mysqlnd_ms_get_stats() example

<?php
printf("mysqlnd_ms.enable = %d\n", ini_get("mysqlnd_ms.enable"));
printf("mysqlnd_ms.collect_statistics = %d\n", ini_get("mysqlnd_ms.collect_statistics"));
var_dump(mysqlnd_ms_get_stats());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

mysqlnd_ms.enable = 1
mysqlnd_ms.collect_statistics = 1
array(26) {
  ["use_slave"]=>
  string(1) "0"
  ["use_master"]=>
  string(1) "0"
  ["use_slave_guess"]=>
  string(1) "0"
  ["use_master_guess"]=>
  string(1) "0"
  ["use_slave_sql_hint"]=>
  string(1) "0"
  ["use_master_sql_hint"]=>
  string(1) "0"
  ["use_last_used_sql_hint"]=>
  string(1) "0"
  ["use_slave_callback"]=>
  string(1) "0"
  ["use_master_callback"]=>
  string(1) "0"
  ["non_lazy_connections_slave_success"]=>
  string(1) "0"
  ["non_lazy_connections_slave_failure"]=>
  string(1) "0"
  ["non_lazy_connections_master_success"]=>
  string(1) "0"
  ["non_lazy_connections_master_failure"]=>
  string(1) "0"
  ["lazy_connections_slave_success"]=>
  string(1) "0"
  ["lazy_connections_slave_failure"]=>
  string(1) "0"
  ["lazy_connections_master_success"]=>
  string(1) "0"
  ["lazy_connections_master_failure"]=>
  string(1) "0"
  ["trx_autocommit_on"]=>
  string(1) "0"
  ["trx_autocommit_off"]=>
  string(1) "0"
  ["trx_master_forced"]=>
  string(1) "0"
  ["gtid_autocommit_injections_success"]=>
  string(1) "0"
  ["gtid_autocommit_injections_failure"]=>
  string(1) "0"
  ["gtid_commit_injections_success"]=>
  string(1) "0"
  ["gtid_commit_injections_failure"]=>
  string(1) "0"
  ["gtid_implicit_commit_injections_success"]=>
  string(1) "0"
  ["gtid_implicit_commit_injections_failure"]=>
  string(1) "0"
  ["transient_error_retries"]=>
  string(1) "0"
}

Siehe auch

  • Runtime configuration
  • mysqlnd_ms.collect_statistics
  • mysqlnd_ms.enable
  • Monitoring

mysqlnd_ms_get_last_used_connection
mysqlnd_ms_match_wild
Mysqlnd_ms Funktionen


Finds whether a table name matches a wildcard pattern or not

mysqlnd_ms_get_stats
mysqlnd_ms_query_is_select
Mysqlnd_ms Funktionen
PHP Manual

mysqlnd_ms_match_wild

(PECL mysqlnd_ms >= 1.1.0)

mysqlnd_ms_match_wild — Finds whether a table name matches a wildcard pattern or not

Beschreibung

bool mysqlnd_ms_match_wild ( string $table_name , string $wildcard )

Finds whether a table name matches a wildcard pattern or not.

This function is not of much practical relevance with PECL mysqlnd_ms 1.1.0 because the plugin does not support MySQL replication table filtering yet.

Parameter-Liste

table_name

The table name to check if it is matched by the wildcard.

wildcard

The wildcard pattern to check against the table name. The wildcard pattern supports the same placeholders as MySQL replication filters do.

MySQL replication filters can be configured by using the MySQL Server configuration options --replicate-wild-do-table and --replicate-wild-do-db. Please, consult the MySQL Reference Manual to learn more about this MySQL Server feature.

The supported placeholders are:

  • % - zero or more literals
  • _ - one literal

Placeholders can be escaped using \.

Rückgabewerte

Returns TRUE table_name is matched by wildcard. Otherwise, returns FALSE

Beispiele

Beispiel #1 mysqlnd_ms_match_wild() example

<?php
var_dump(mysqlnd_ms_match_wild("schema_name.table_name", "schema%"));
var_dump(mysqlnd_ms_match_wild("abc", "_"));
var_dump(mysqlnd_ms_match_wild("table1", "table_"));
var_dump(mysqlnd_ms_match_wild("asia_customers", "%customers"));
var_dump(mysqlnd_ms_match_wild("funny%table","funny\%table"));
var_dump(mysqlnd_ms_match_wild("funnytable", "funny%table"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(false)
bool(true)
bool(true)
bool(true)
bool(true)

mysqlnd_ms_get_stats
mysqlnd_ms_query_is_select
Mysqlnd_ms Funktionen


Find whether to send the query to the master, the slave or the last used MySQL server

mysqlnd_ms_match_wild
mysqlnd_ms_set_qos
Mysqlnd_ms Funktionen
PHP Manual

mysqlnd_ms_query_is_select

(PECL mysqlnd_ms >= 1.0.0)

mysqlnd_ms_query_is_select — Find whether to send the query to the master, the slave or the last used MySQL server

Beschreibung

int mysqlnd_ms_query_is_select ( string $query )

Finds whether to send the query to the master, the slave or the last used MySQL server.

The plugins built-in read/write split mechanism will be used to analyze the query string to make a recommendation where to send the query. The built-in read/write split mechanism is very basic and simple. The plugin will recommend sending all queries to the MySQL replication master server but those which begin with SELECT, or begin with a SQL hint which enforces sending the query to a slave server. Due to the basic but fast algorithm the plugin may propose to run some read-only statements such as SHOW TABLES on the replication master.

Parameter-Liste

query

Query string to test.

Rückgabewerte

A return value of MYSQLND_MS_QUERY_USE_MASTER indicates that the query should be send to the MySQL replication master server. The function returns a value of MYSQLND_MS_QUERY_USE_SLAVE if the query can be run on a slave because it is considered read-only. A value of MYSQLND_MS_QUERY_USE_LAST_USED is returned to recommend running the query on the last used server. This can either be a MySQL replication master server or a MySQL replication slave server.

If read write splitting has been disabled by setting mysqlnd_ms.disable_rw_split, the function will always return MYSQLND_MS_QUERY_USE_MASTER or MYSQLND_MS_QUERY_USE_LAST_USED.

Beispiele

Beispiel #1 mysqlnd_ms_query_is_select() example

<?php
function is_select($query)
{
 switch (mysqlnd_ms_query_is_select($query))
 {
  case MYSQLND_MS_QUERY_USE_MASTER:
   printf("'%s' should be run on the master.\n", $query);
   break;
  case MYSQLND_MS_QUERY_USE_SLAVE:
   printf("'%s' should be run on a slave.\n", $query);
   break;
  case MYSQLND_MS_QUERY_USE_LAST_USED:
   printf("'%s' should be run on the server that has run the previous query\n", $query);
   break;
  default:
   printf("No suggestion where to run the '%s', fallback to master recommended\n", $query);
   break;
 }
}

is_select("INSERT INTO test(id) VALUES (1)");
is_select("SELECT 1 FROM DUAL");
is_select("/*" . MYSQLND_MS_LAST_USED_SWITCH . "*/SELECT 2 FROM DUAL");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

INSERT INTO test(id) VALUES (1) should be run on the master.
SELECT 1 FROM DUAL should be run on a slave.
/*ms=last_used*/SELECT 2 FROM DUAL should be run on the server that has run the previous query

Siehe auch

  • Predefined Constants
  • user filter
  • Runtime configuration
  • mysqlnd_ms.disable_rw_split
  • mysqlnd_ms.enable

mysqlnd_ms_match_wild
mysqlnd_ms_set_qos
Mysqlnd_ms Funktionen


Sets the quality of service needed from the cluster

mysqlnd_ms_query_is_select
mysqlnd_ms_set_user_pick_server
Mysqlnd_ms Funktionen
PHP Manual

mysqlnd_ms_set_qos

(PECL mysqlnd_ms < 1.2.0)

mysqlnd_ms_set_qos — Sets the quality of service needed from the cluster

Beschreibung

bool mysqlnd_ms_set_qos ( mixed $connection , int $service_level [, int $service_level_option [, mixed $option_value ]] )

Sets the quality of service needed from the cluster. A database cluster delivers a certain quality of service to the user depending on its architecture. A major aspect of the quality of service is the consistency level the cluster can offer. An asynchronous MySQL replication cluster defaults to eventual consistency for slave reads: a slave may serve stale data, current data, or it may have not the requested data at all, because it is not synchronous to the master. In a MySQL replication cluster, only master accesses can give strong consistency, which promises that all clients see each others changes.

PECL/mysqlnd_ms hides the complexity of choosing appropriate nodes to achieve a certain level of service from the cluster. The "Quality of Service" filter implements the necessary logic. The filter can either be configured in the plugins configuration file, or at runtime using mysqlnd_ms_set_qos().

Similar results can be achieved with PECL mysqlnd_ms < 1.2.0, if using SQL hints to force the use of a certain type of node or using the master_on_write plugin configuration option. The first requires more code and causes more work on the application side. The latter is less refined than using the quality of service filter. Settings made through the function call can be reversed, as shown in the example below. The example temporarily switches to a higher service level (session consistency, read your writes) and returns back to the clusters default after it has performed all operations that require the better service. This way, read load on the master can be minimized compared to using master_on_write, which would continue using the master after the first write.

Since 1.5.0 calls will fail when done in the middle of a transaction if transaction stickiness is enabled and transaction boundaries have been detected. properly.

Parameter-Liste

connection

A PECL/mysqlnd_ms connection handle to a MySQL server of the type PDO_MYSQL, mysqli or ext/mysql for which a service level is to be set. The connection handle is obtained when opening a connection with a host name that matches a mysqlnd_ms configuration file entry using any of the above three MySQL driver extensions.

service_level

The requested service level: MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL, MYSQLND_MS_QOS_CONSISTENCY_SESSION or MYSQLND_MS_QOS_CONSISTENCY_STRONG.

service_level_option

An option to parameterize the requested service level. The option can either be MYSQLND_MS_QOS_OPTION_GTID or MYSQLND_MS_QOS_OPTION_AGE.

The option MYSQLND_MS_QOS_OPTION_GTID can be used to refine the service level MYSQLND_MS_QOS_CONSISTENCY_SESSION. It must be combined with a fourth function parameter, the option_value. The option_value shall be a global transaction ID obtained from mysqlnd_ms_get_last_gtid(). If set, the plugin considers both master servers and asynchronous slaves for session consistency (read your writes). Otherwise, only masters are used to achieve session consistency. A slave is considered up-to-date and checked if it has already replicated the global transaction ID from option_value. Please note, searching appropriate slaves is an expensive and slow operation. Use the feature sparsely, if the master cannot handle the read load alone.

The MYSQLND_MS_QOS_OPTION_AGE option can be combined with the MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL service level, to filter out asynchronous slaves that lag more seconds behind the master than option_value. If set, the plugin will only consider slaves for reading if SHOW SLAVE STATUS reports Slave_IO_Running=Yes, Slave_SQL_Running=Yes and Seconds_Behind_Master <= option_value. Please note, searching appropriate slaves is an expensive and slow operation. Use the feature sparsely in version 1.2.0. Future versions may improve the algorithm used to identify candidates. Please, see the MySQL reference manual about the precision, accuracy and limitations of the MySQL administrative command SHOW SLAVE STATUS.

option_value

Parameter value for the service level option. See also the service_level_option parameter.

Rückgabewerte

Returns TRUE if the connections service level has been switched to the requested. Otherwise, returns FALSE

Anmerkungen

Hinweis:

mysqlnd_ms_set_qos() requires PHP >= 5.4.0 and PECL mysqlnd_ms >= 1.2.0. Internally, it is using a mysqlnd library C functionality not available with PHP 5.3.

Please note, all MySQL 5.6 production versions do not provide clients with enough information to use GTIDs for enforcing session consistency. In the worst case, the plugin will choose the master only.

Beispiele

Beispiel #1 mysqlnd_ms_set_qos() example

<?php
/* Open mysqlnd_ms connection using mysqli, PDO_MySQL or mysql extension */
$mysqli = new mysqli("myapp", "username", "password", "database");
if (!$mysqli)
  /* Of course, your error handling is nicer... */
  die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));

/* Session consistency: read your writes */
$ret = mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_SESSION);
if (!$ret)
  die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));

/* Will use master and return fresh data, client can see his last write */
if (!$res = $mysqli->query("SELECT item, price FROM orders WHERE order_id = 1"))
  die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));

/* Back to default: use of all slaves and masters permitted, stale data can happen */
if (!mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL))
  die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));
?>

Siehe auch

  • mysqlnd_ms_get_last_gtid() - Returns the latest global transaction ID
  • Service level and consistency concept
  • Filter concept

mysqlnd_ms_query_is_select
mysqlnd_ms_set_user_pick_server
Mysqlnd_ms Funktionen


Sets a callback for user-defined read/write splitting

mysqlnd_ms_set_qos
mysqlnd_ms_xa_begin
Mysqlnd_ms Funktionen
PHP Manual

mysqlnd_ms_set_user_pick_server

(PECL mysqlnd_ms < 1.1.0)

mysqlnd_ms_set_user_pick_server — Sets a callback for user-defined read/write splitting

Beschreibung

bool mysqlnd_ms_set_user_pick_server ( string $function )

Sets a callback for user-defined read/write splitting. The plugin will call the callback only if pick[]=user is the default rule for server picking in the relevant section of the plugins configuration file.

The plugins built-in read/write query split mechanism decisions can be overwritten in two ways. The easiest way is to prepend the query string with the SQL hints MYSQLND_MS_MASTER_SWITCH, MYSQLND_MS_SLAVE_SWITCH or MYSQLND_MS_LAST_USED_SWITCH. Using SQL hints one can control, for example, whether a query shall be send to the MySQL replication master server or one of the slave servers. By help of SQL hints it is not possible to pick a certain slave server for query execution.

Full control on server selection can be gained using a callback function. Use of a callback is recommended to expert users only because the callback has to cover all cases otherwise handled by the plugin.

The plugin will invoke the callback function for selecting a server from the lists of configured master and slave servers. The callback function inspects the query to run and picks a server for query execution by returning the hosts URI, as found in the master and slave list.

If the lazy connections are enabled and the callback chooses a slave server for which no connection has been established so far and establishing the connection to the slave fails, the plugin will return an error upon the next action on the failed connection, for example, when running a query. It is the responsibility of the application developer to handle the error. For example, the application can re-run the query to trigger a new server selection and callback invocation. If so, the callback must make sure to select a different slave, or check slave availability, before returning to the plugin to prevent an endless loop.

Parameter-Liste

function

The function to be called. Class methods may also be invoked statically using this function by passing array($classname, $methodname) to this parameter. Additionally class methods of an object instance may be called by passing array($objectinstance, $methodname) to this parameter.

Rückgabewerte

Host to run the query on. The host URI is to be taken from the master and slave connection lists passed to the callback function. If callback returns a value neither found in the master nor in the slave connection lists the plugin will fallback to the second pick method configured via the pick[] setting in the plugin configuration file. If not second pick method is given, the plugin falls back to the build-in default pick method for server selection.

Anmerkungen

Hinweis:

mysqlnd_ms_set_user_pick_server() is available with PECL mysqlnd_ms < 1.1.0. It has been replaced by the user filter. Please, check the Change History for upgrade notes.

Beispiele

Beispiel #1 mysqlnd_ms_set_user_pick_server() example

[myapp]
master[] = localhost
slave[] = 192.168.2.27:3306
slave[] = 192.168.78.136:3306
pick[] = user
<?php

function pick_server($connected, $query, $master, $slaves, $last_used)
{
 static $slave_idx = 0;
 static $num_slaves = NULL;
 if (is_null($num_slaves))
  $num_slaves = count($slaves);

 /* default: fallback to the plugins build-in logic */
 $ret = NULL;

 printf("User has connected to '%s'...\n", $connected);
 printf("... deciding where to run '%s'\n", $query);

 $where = mysqlnd_ms_query_is_select($query);
 switch ($where)
 {
  case MYSQLND_MS_QUERY_USE_MASTER:
   printf("... using master\n");
   $ret = $master[0];
   break;
  case MYSQLND_MS_QUERY_USE_SLAVE:
   /* SELECT or SQL hint for using slave */
   if (stristr($query, "FROM table_on_slave_a_only"))
   {
    /* a table which is only on the first configured slave  */
    printf("... access to table available only on slave A detected\n");
    $ret = $slaves[0];
   }
   else
   {
    /* round robin */
    printf("... some read-only query for a slave\n");
    $ret = $slaves[$slave_idx++ % $num_slaves];
   }
   break;
  case MYSQLND_MS_QUERY_LAST_USED:
   printf("... using last used server\n");
   $ret = $last_used;
   break;
 }

 printf("... ret = '%s'\n", $ret);
 return $ret;
}

mysqlnd_ms_set_user_pick_server("pick_server");

$mysqli = new mysqli("myapp", "root", "root", "test");

if (!($res = $mysqli->query("SELECT 1 FROM DUAL")))
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
else
 $res->close();

if (!($res = $mysqli->query("SELECT 2 FROM DUAL")))
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
else
 $res->close();

if (!($res = $mysqli->query("SELECT * FROM table_on_slave_a_only")))
 printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
else
 $res->close();

$mysqli->close();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

User has connected to 'myapp'...
... deciding where to run 'SELECT 1 FROM DUAL'
... some read-only query for a slave
... ret = 'tcp://192.168.2.27:3306'
User has connected to 'myapp'...
... deciding where to run 'SELECT 2 FROM DUAL'
... some read-only query for a slave
... ret = 'tcp://192.168.78.136:3306'
User has connected to 'myapp'...
... deciding where to run 'SELECT * FROM table_on_slave_a_only'
... access to table available only on slave A detected
... ret = 'tcp://192.168.2.27:3306'

Siehe auch

  • mysqlnd_ms_query_is_select() - Find whether to send the query to the master, the slave or the last used MySQL server
  • Filter concept
  • user filter

mysqlnd_ms_set_qos
mysqlnd_ms_xa_begin
Mysqlnd_ms Funktionen


Starts a distributed/XA transaction among MySQL servers

mysqlnd_ms_set_user_pick_server
mysqlnd_ms_xa_commit
Mysqlnd_ms Funktionen
PHP Manual

mysqlnd_ms_xa_begin

(PECL mysqlnd_ms < 1.6.0)

mysqlnd_ms_xa_begin — Starts a distributed/XA transaction among MySQL servers

Beschreibung

int mysqlnd_ms_xa_begin ( mixed $connection , string $gtrid [, int $timeout ] )

Starts a XA transaction among MySQL servers. PECL/mysqlnd_ms acts as a transaction coordinator the distributed transaction.

Once a global transaction has been started, the plugin injects appropriate XA BEGIN SQL statements on all MySQL servers used in the following. The global transaction is either ended by calling mysqlnd_ms_xa_commit(), mysqlnd_ms_xa_rollback() or by an implicit rollback in case of an error.

During a global transaction, the plugin tracks all server switches, for example, when switching from one MySQL shard to another MySQL shard. Immediately before a query is run on a server that has not been participating in the global transaction yet, XA BEGIN is executed on the server. From a users perspective the injection happens during a call to a query execution function such as mysqli_query(). Should the injection fail an error is reported to the caller of the query execution function. The failing server does not become a participant in the global transaction. The user may retry executing a query on the server and hereby retry injecting XA BEGIN, abort the global transaction because not all required servers can participate, or ignore and continue the global without the failed server.

Reasons to fail executing XA BEGIN include but are not limited to a server being unreachable or the server having an open, concurrent XA transaction using the same xid.

Please note, global and local transactions are mutually exclusive. You cannot start a XA transaction when you have a local transaction open. The local transaction must be ended first. The plugin tries to detect this conflict as early as possible. It monitors API calls for controlling local transactions to learn about the current state. However, if using SQL statements for local transactions such as BEGIN, the plugin may not know the current state and the conflict is not detected before XA BEGIN is injected and executed.

The use of other XA resources but MySQL servers is not supported by the function. To carry out a global transaction among, for example, a MySQL server and another vendors database system, you should issue the systems SQL commands yourself.

Hinweis: Experimental

The feature is currently under development. There may be issues and/or feature limitations. Do not use in production environments.

Parameter-Liste

connection

A MySQL connection handle obtained from any of the connect functions of the mysqli, mysql or PDO_MYSQL extensions.

gtrid

Global transaction identifier (gtrid). The gtrid is a binary string up to 64 bytes long. Please note, depending on your character set settings, 64 characters may require more than 64 bytes to store.

In accordance with the MySQL SQL syntax, XA transactions use identifiers made of three parts. An xid consists of a global transaction identifier (gtrid), a branch qualifier (bqual) and a format identifier (formatID). Only the global transaction identifier can and needs to be set.

The branch qualifier and format identifier are set automatically. The details should be considered implementation dependent, which may change without prior notice. In version 1.6 the branch qualifier is consecutive number which is incremented whenever a participant joins the global transaction.

timeout

Timeout in seconds. The default value is 60 seconds.

The timeout is a hint to the garbage collection. If a transaction is recorded to take longer than expected, the garbage collection begins checking the transactions status.

Setting a low value may make the garbage collection check the progress too often. Please note, checking the status of a global transaction may involve connecting to all recorded participants and possibly issuing queries on the servers.

Rückgabewerte

Returns TRUE if there is no open local or global transaction and a new global transaction can be started. Otherwise, returns FALSE

Siehe auch

  • Quickstart XA/Distributed transactions
  • Runtime configuration
  • mysqlnd_ms_get_stats() - Returns query distribution and connection statistics

mysqlnd_ms_set_user_pick_server
mysqlnd_ms_xa_commit
Mysqlnd_ms Funktionen


Commits a distributed/XA transaction among MySQL servers

mysqlnd_ms_xa_begin
mysqlnd_ms_xa_gc
Mysqlnd_ms Funktionen
PHP Manual

mysqlnd_ms_xa_commit

(PECL mysqlnd_ms < 1.6.0)

mysqlnd_ms_xa_commit — Commits a distributed/XA transaction among MySQL servers

Beschreibung

int mysqlnd_ms_xa_commit ( mixed $connection , string $gtrid )

Commits a global transaction among MySQL servers started by mysqlnd_ms_xa_begin().

If any of the global transaction participants fails to commit an implicit rollback is performed. It may happen that not all cases can be handled during the rollback. For example, no attempts will be made to reconnect to a participant after the connection to the participant has been lost. Solving cases that cannot easily be rolled back is left to the garbage collection.

Hinweis: Experimental

The feature is currently under development. There may be issues and/or feature limitations. Do not use in production environments.

Parameter-Liste

connection

A MySQL connection handle obtained from any of the connect functions of the mysqli, mysql or PDO_MYSQL extensions.

gtrid

Global transaction identifier (gtrid).

Rückgabewerte

Returns TRUE if the global transaction has been committed. Otherwise, returns FALSE

Siehe auch

  • Quickstart XA/Distributed transactions
  • Runtime configuration
  • mysqlnd_ms_get_stats() - Returns query distribution and connection statistics

mysqlnd_ms_xa_begin
mysqlnd_ms_xa_gc
Mysqlnd_ms Funktionen


Garbage collects unfinished XA transactions after severe errors

mysqlnd_ms_xa_commit
mysqlnd_ms_xa_rollback
Mysqlnd_ms Funktionen
PHP Manual

mysqlnd_ms_xa_gc

(PECL mysqlnd_ms < 1.6.0)

mysqlnd_ms_xa_gc — Garbage collects unfinished XA transactions after severe errors

Beschreibung

int mysqlnd_ms_xa_gc ( mixed $connection [, string $gtrid [, boolean $ignore_max_retries ]] )

Garbage collects unfinished XA transactions.

The XA protocol is a blocking protocol. There exist cases when servers participating in a global transaction cannot make progress when the transaction coordinator crashes or disconnects. In such a case, the MySQL servers keep waiting for instructions to finish the XA transaction in question. Because transactions occupy resources, transactions should always be terminated properly.

Garbage collection requires configuring a state store to track global transactions. Should a PHP client crash in the middle of a transaction and a new PHP client be started, then the built-in garbage collection can learn about the aborted global transaction and terminate it. If you do not configure a state store, the garbage collection cannot perform any cleanup tasks.

The state store should be crash-safe and be highly available to survive its own crash. Currently, only MySQL is supported as a state store.

Garbage collection can also be performed automatically in the background. See the plugin configuration directive garbage_collection for details.

Hinweis: Experimental

The feature is currently under development. There may be issues and/or feature limitations. Do not use in production environments.

Parameter-Liste

connection

A MySQL connection handle obtained from any of the connect functions of the mysqli, mysql or PDO_MYSQL extensions.

gtrid

Global transaction identifier (gtrid). If given, the garbage collection considers the transaction only. Otherwise, the state store is scanned for any unfinished transaction.

ignore_max_retries

Whether to ignore the plugin configuration max_retries setting. If garbage collection continuously fails and the max_retries limit is reached prior to finishing the failed global transaction, you can attempt further runs prior to investigating the cause and solving the issue manually by issuing appropriate SQL statements on the participants. Setting the parameter has the same effect as temporarily setting max_retries = 0.

Rückgabewerte

Returns TRUE if garbage collection was successful. Otherwise, returns FALSE

Siehe auch

  • Quickstart XA/Distributed transactions
  • Runtime configuration
  • State store configuration
  • mysqlnd_ms_get_stats() - Returns query distribution and connection statistics

mysqlnd_ms_xa_commit
mysqlnd_ms_xa_rollback
Mysqlnd_ms Funktionen


Rolls back a distributed/XA transaction among MySQL servers

mysqlnd_ms_xa_gc
Change History
Mysqlnd_ms Funktionen
PHP Manual

mysqlnd_ms_xa_rollback

(PECL mysqlnd_ms < 1.6.0)

mysqlnd_ms_xa_rollback — Rolls back a distributed/XA transaction among MySQL servers

Beschreibung

int mysqlnd_ms_xa_rollback ( mixed $connection , string $gtrid )

Rolls back a global transaction among MySQL servers started by mysqlnd_ms_xa_begin().

If any of the global transaction participants fails to rollback the situation is left to be solved by the garbage collection.

Hinweis: Experimental

The feature is currently under development. There may be issues and/or feature limitations. Do not use in production environments.

Parameter-Liste

connection

A MySQL connection handle obtained from any of the connect functions of the mysqli, mysql or PDO_MYSQL extensions.

gtrid

Global transaction identifier (gtrid).

Rückgabewerte

Returns TRUE if the global transaction has been rolled back. Otherwise, returns FALSE

Siehe auch

  • Quickstart XA/Distributed transactions
  • Runtime configuration
  • mysqlnd_ms_get_stats() - Returns query distribution and connection statistics

mysqlnd_ms_xa_gc
Change History
Mysqlnd_ms Funktionen


Change History

Inhaltsverzeichnis

  • PECL/mysqlnd_ms 1.6 series
  • PECL/mysqlnd_ms 1.5 series
  • PECL/mysqlnd_ms 1.4 series
  • PECL/mysqlnd_ms 1.3 series
  • PECL/mysqlnd_ms 1.2 series
  • PECL/mysqlnd_ms 1.1 series
  • PECL/mysqlnd_ms 1.0 series

This change history is a high level summary of selected changes that may impact applications and/or break backwards compatibility.

See also the CHANGES file in the source distribution for a complete list of changes.

mysqlnd_ms_xa_rollback
PECL/mysqlnd_ms 1.6 series
mysqlnd_ms


PECL/mysqlnd_ms 1.6 series

1.6.0-alpha

  • Release date: TBD
  • Motto/theme: Maintenance and initial MySQL Fabric support

Hinweis:

This is the current development series. All features are at an early stage. Changes may happen at any time without prior notice. Please, do not use this version in production environments.

The documentation may not reflect all changes yet.

Bug fixes

  • Won't fix: #66616 R/W split fails: QOS with mysqlnd_get_last_gtid with built-in MySQL GTID

    This is not a bug in the plugins implementation but a server side feature limitation not considered and documented before. MySQL 5.6 built-in GTIDs cannot be used to ensure session consistency when reading from slaves in all cases. In the worst case the plugin will not consider using the slaves and fallback to using the master. There will be no wrong results but no benefit from doing GTID checks either.

  • Fixed #66064 - Random once load balancer ignoring weights

    Due to a config parsing bug random load balancing has ignored node weights if, and only if, the sticky flag was set (random once).

  • Fixed #65496 - Wrong check for slave delay

    The quality of service filter has erroneously ignored slaves that lag for zero (0) seconds if a any maximum lag had been set. Although a slave was not lagging behind, it was excluded from the load balancing list if a maximum age was set by the QoS filter. This was due to using the wrong comparison operator in the source of the filter.

  • Fixed #65408 - Compile failure with -Werror=format-security

Feature changes

  • Introduced an internal connection pool. When using Fabric and switching from shard group A to shard group B, we are replacing the entire list of masters and slaves. This troubles the connections state alignment logic and some filters. Some filters cache information on the master and slave lists. The new internal connection pool abstraction allows us to inform the filters of changes, hence they can update their caches.

    Later on, the pool can also be used to reduce connection overhead. Assume you are switching from a shard group to another and back again. Whenever the switch is done, the pool's active server (and connection) lists are replaced. However, no longer used connections are not necessarily closed immediately but can be kept in the pool for later reuse.

    Please note, the connection pool is internalat this point. There are some new statistics to monitor it. However, you cannot yet configure pool size of behaviour.

  • Added a basic distributed transaction abstraction. XA transactions can are supported ever since using standard SQL calls. This is inconvenient as XA participants must be managed manually. PECL/mysqlnd_ms introduces API calls to control XA transaction among MySQL servers. When using the new functions, PECL/mysqlnd_ms acts as a transaction coordinator. After starting a distributed transaction, the plugin tracks all servers involved until the transaction is ended and issues appropriate SQL statements on the XA participants.

    This is useful, for example, when using Fabric and sharding. When using Fabric the actual shard servers involved in a business transaction may not be known in advance. Thus, manually controlling a transaction that spawns multiple shards becomes difficult. Please, be warned about current limitations.

  • Introduced automatic retry loop for transient errors and corresponding statistic to count the number of implicit retries. Some distributed database clusters use transient errors to hint a client to retry its operation in a bit. Most often, the client is then supposed to halt execution (sleep) for a short moment before retrying the desired operation. Immediately failing over to another node is not necessary in response to the error. Instead, a retry loop can be performed. Common situation when using MySQL Cluster.

  • Introduced automatic retry loop for transient errors and corresponding statistic to count the number of implicit retries. Some distributed database clusters use transient errors to hint a client to retry its operation in a bit. Most often, the client is then supposed to halt execution (sleep) for a short moment before retrying the desired operation. Immediately failing over to another node is not necessary in response to the error. Instead, a retry loop can be performed. Common situation when using MySQL Cluster.

  • Introduced most basic support for the MySQL Fabric High Availability and sharding framework.

    Please, consider this pre-alpha quality. Both the server side framework and the client side code is supposed to work flawless considering the MySQL Fabric quickstart examples only. However, testing has not been performed to the level of prior plugin alpha releases. Either sides are moving targets, API changes may happen at any time without prior warning.

    As this is work in progress, the manual may not yet reflect allow feature limitations and known bugs.

  • New statistics to monitor the Fabric XML RPC call sharding.lookup_servers: fabric_sharding_lookup_servers_success, fabric_sharding_lookup_servers_failure, fabric_sharding_lookup_servers_time_total, fabric_sharding_lookup_servers_bytes_total, fabric_sharding_lookup_servers_xml_failure.

  • New functions related to MySQL Fabric:
mysqlnd_ms_fabric_select_shard(),
mysqlnd_ms_fabric_select_global(),
mysqlnd_ms_dump_servers().

Change History
PECL/mysqlnd_ms 1.5 series
Change History


PECL/mysqlnd_ms 1.5 series

1.5.1-stable

  • Release date: 06/2013
  • Motto/theme: Sharding support, improved transaction support

Hinweis:

This is the current stable series. Use this version in production environments.

The documentation is complete.

1.5.0-alpha

  • Release date: 03/2013
  • Motto/theme: Sharding support, improved transaction support

Bug fixes

  • Fixed #60605 PHP segmentation fault when mysqlnd_ms is enabled.

  • Setting transaction stickiness disables all load balancing, including automatic failover, for the duration of a transaction. So far connection switches could have happened in the middle of a transaction in multi-master configurations and during automatic failover although transaction monitoring had detected transaction boundaries properly.

  • BC break and bug fix. SQL hints enforcing the use of a specific kind of server (MYSQLND_MS_MASTER_SWITCH, MYSQLND_MS_SLAVE_SWITCH, MYSQLND_MS_LAST_USED_SWITCH) are ignored for the duration of a transaction of transaction stickiness is enabled and transaction boundaries have been detected properly.

    This is a change in behaviour. However, it is also a bug fix and a step to align behaviour. If, in previous versions, transaction stickiness, one of the above listed SQL hints and the quality of service filtering was combined it could happened that the SQL hints got ignored. In some case the SQL hints did work, in other cases they did not. The new behaviour is more consistent. SQL hints will always be ignore for the duration of a transaction, if transaction stickiness is enabled.

    Please note, transaction boundary detection continues to be based on API call monitoring. SQL commands controlling transactions are not monitored.

  • BC break and bug fix. Calls to mysqlnd_ms_set_qos() will fail when done in the middle of a transaction if transaction stickiness is enabled. Connection switches are not allowed for the duration of a transaction. Changing the quality of service likely results on a different set of servers qualifying for query execution, possibly making it necessary to switch connections. Thus, the call is not allowed in during an active transaction. The quality of server can, however, be changed in between transactions.

Feature changes

  • Introduced the node_group filter. The filter lets you organize servers (master and slaves) into groups. Queries can be directed to a certain group of servers by prefixing the query statement with a SQL hint/comment that contains the groups configured name. Grouping can be used for partitioning and sharding, and also to optimize for local caching. In the case of sharding, a group name can be thought of like a shard key. All queries for a given shard key will be executed on the configured shard. Note: both the client and server must support sharding for sharding to function with mysqlnd_ms.

  • Extended configuration file validation during PHP startup (RINIT). An E_WARNING level error will be thrown if the configuration file can not be read (permissions), is empty, or the file (JSON) could not be parsed. Warnings may appear in log files, which depending on how PHP is configured.

    Distributions that aim to provide a pre-configured setup, including a configuration file stub, are asked to put {} into the configuration file to prevent this warning about an invalid configuration file.

    Further configuration file validation is done when parsing sections upon opening a connection. Please, note that there may still be situations when an invalid plugin configuration file does not lead to proper error messages but a failure to connect.

  • As of PHP 5.5.0, improved support for transaction boundaries detection was added for mysqli. The mysqli extension has been modified to use the new C API calls of the mysqlnd library to begin, commit, and rollback a transaction or savepoint. If trx_stickiness is used to enable transaction aware load balancing, the mysqli_begin(), mysqli_commit() and mysqli_rollback() functions will now be monitered by the plugin, to go along with the mysqli_autocommit() function that was already supported. All SQL features to control transactions are also available through the improved mysqli transaction control related functions. This means that it is not required to issue SQL statements instead of using API calls. Applications using the appropriate API calls can be load balanced by PECL/mysqlnd_ms in a completely transaction-aware way.

    Please note, PDO_MySQL has not been updated yet to utilize the new mysqlnd API calls. Thus, transaction boundary detection with PDO_MySQL continues to be limited to the monitoring by passing in PDO::ATTR_AUTOCOMMIT to PDO::setAttribute().

  • Introduced trx_stickiness=on. This trx_stickiness option differs from trx_stickiness=master as it tries to execute a read-only transaction on a slave, if quality of service (consistency level) allows the use of a slave. Read-only transactions were introduced in MySQL 5.6, and they offer performance gains.

  • Query cache support is considered beta if used with the mysqli API. It should work fine with primary copy based clusters. For all other APIs, this feature continues to be called experimental.

  • The code examples in the mysqlnd_ms source were updated.

PECL/mysqlnd_ms 1.6 series
PECL/mysqlnd_ms 1.4 series
Change History


PECL/mysqlnd_ms 1.4 series

1.4.2-stable

  • Release date: 08/2012
  • Motto/theme: Tweaking based on user feedback

1.4.1-beta

  • Release date: 08/2012
  • Motto/theme: Tweaking based on user feedback

Bug fixes

  • Fixed build with PHP 5.5

1.4.0-alpha

  • Release date: 07/2012
  • Motto/theme: Tweaking based on user feedback

Feature changes

  • BC break: Renamed plugin configuration setting ini_file to config_file. In early versions the plugin configuration file used ini style. Back then the configuration setting was named accordingly. It has now been renamed to reflect the newer file format and to distinguish it from PHP's own ini file (configuration directives file).

  • Introduced new default charset setting server_charset to allow proper escaping before a connection is opened. This is most useful when using lazy connections, which are a default.

  • Introduced wait_for_gtid_timeout setting to throttle slave reads that need session consistency. If global transaction identifier are used and the service level is set to session consistency, the plugin tries to find up-to-date slaves. The slave status check is done by a SQL statement. If nothing else is set, the slave status is checked only one can the search for more up-to-date slaves continues immediately thereafter. Setting wait_for_gtid_timeout instructs the plugin to poll a slaves status for wait_for_gtid_timeout seconds if the first execution of the SQL statement has shown that the slave is not up-to-date yet. The poll will be done once per second. This way, the plugin will wait for slaves to catch up and throttle the client.

  • New failover strategy loop_before_master. By default the plugin does no failover. It is possible to enable automatic failover if a connection attempt fails. Upto version 1.3 only master strategy existed to failover to a master if a slave connection fails. loop_before_master is similar but tries all other slaves before attempting to connect to the master if a slave connection fails.

    The number of attempts can be limited using the max_retries option. Failed hosts can be remembered and skipped in load balancing for the rest of the web request. max_retries and remember_failed are considered experimental although decent stability is given. Syntax and semantics may change in the future without prior notice.

PECL/mysqlnd_ms 1.5 series
PECL/mysqlnd_ms 1.3 series
Change History


PECL/mysqlnd_ms 1.3 series

1.3.2-stable

  • Release date: 04/2012
  • Motto/theme: see 1.3.0-alpha

Bug fixes

  • Fixed problem with multi-master where although in a transaction the queries to the master weren't sticky and were spread all over the masters (RR). Still not sticky for Random. Random_once is not affected.

1.3.1-beta

  • Release date: 04/2012
  • Motto/theme: see 1.3.0-alpha

Bug fixes

  • Fixed problem with building together with QC.

1.3.0-alpha

  • Release date: 04/2012
  • Motto/theme: Query caching through quality-of-service concept

The 1.3 series aims to improve the performance of applications and the overall load of an asynchronous MySQL cluster, for example, a MySQL cluster using MySQL Replication. This is done by transparently replacing a slave access with a local cache access, if the application allows it by setting an appropriate quality of service flag. When using MySQL replication a slave can serve stale data. An application using MySQL replication must continue to work correctly with stale data. Given that the application is know to work correctly with stale data, the slave access can transparently be replace with a local cache access.

PECL/mysqlnd_qc serves as a cache backend. PECL/mysqlnd_qc supports use of various storage locations, among others main memory, APC and MEMCACHE.

Feature changes

  • Added cache option to quality-of-service (QoS) filter.

    • New configure option enable-mysqlnd-ms-cache-support
    • New constant MYSQLND_MS_HAVE_CACHE_SUPPORT.
    • New constant MYSQLND_MS_QOS_OPTION_CACHE to be used with mysqlnd_ms_set_qos().

  • Support for built-in global transaction identifier feature of MySQL 5.6.5-m8 or newer.

PECL/mysqlnd_ms 1.4 series
PECL/mysqlnd_ms 1.2 series
Change History


PECL/mysqlnd_ms 1.2 series

1.2.1-beta

  • Release date: 01/2012
  • Motto/theme: see 1.2.0-alpha

Minor test changes.

1.2.0-alpha

  • Release date: 11/2011
  • Motto/theme: Global Transaction ID injection and quality-of-service concept

In version 1.2 the focus continues to be on supporting MySQL database clusters with asynchronous replication. The plugin tries to make using the cluster introducing a quality-of-service filter which applications can use to define what service quality they need from the cluster. Service levels provided are eventual consistency with optional maximum age/slave slag, session consistency and strong consistency.

Additionally the plugin can do client-side global transaction id injection to make manual master failover easier.

Feature changes

  • Introduced quality-of-service (QoS) filter. Service levels provided by QoS filter:

    • eventual consistency, optional option slave lag
    • session consistency, optional option GTID
    • strong consistency

  • Added the mysqlnd_ms_set_qos() function to set the required connection quality at runtime. The new constants related to mysqlnd_ms_set_qos() are:

    • MYSQLND_MS_QOS_CONSISTENCY_STRONG
    • MYSQLND_MS_QOS_CONSISTENCY_SESSION
    • MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL
    • MYSQLND_MS_QOS_OPTION_GTID
    • MYSQLND_MS_QOS_OPTION_AGE

  • Added client-side global transaction id injection (GTID).

  • New statistics related to GTID:

    • gtid_autocommit_injections_success
    • gtid_autocommit_injections_failure
    • gtid_commit_injections_success
    • gtid_commit_injections_failure
    • gtid_implicit_commit_injections_success
    • gtid_implicit_commit_injections_failure

  • Added mysqlnd_ms_get_last_gtid() to fetch the last global transaction id.

  • Enabled support for multi master without slaves.

PECL/mysqlnd_ms 1.3 series
PECL/mysqlnd_ms 1.1 series
Change History


PECL/mysqlnd_ms 1.1 series

1.1.0

  • Release date: 09/2011
  • Motto/theme: Cover replication basics with production quality

The 1.1 and 1.0 series expose a similar feature set. Internally, the 1.1 series has been refactored to plan for future feature additions. A new configuration file format has been introduced, and limitations have been lifted. And the code quality and quality assurance has been improved.

Feature changes

  • Added the (chainable) filter concept:

    • BC break: mysqlnd_ms_set_user_pick_server() has been removed. Thehttp://svn.php.net/viewvc/pecl/mysqlnd_ms/trunk/ user filter has been introduced to replace it. The filter offers similar functionality, but see below for an explanation of the differences.

  • New powerful JSON based configuration syntax.
  • Lazy connections improved: security relevant, and state changing commands are covered.
  • Support for (native) prepared statements.

  • New statistics: use_master_guess, use_slave_guess.

    • BC break: Semantics of statistics changed for use_slave, use_master. Future changes are likely. Please see, mysqlnd_ms_get_stats().

  • List of broadcasted messages extended by ssl_set.
  • Library calls now monitored to remember settings for lazy connections: change_user, select_db, set_charset, set_autocommit.
  • Introduced mysqlnd_ms.disable_rw_split. The configuration setting allows using the load balancing and lazy connection functionality independently of read write splitting.

Bug fixes

  • Fixed PECL #22724 - Server switching (mysqlnd_ms_query_is_select() case sensitive)
  • Fixed PECL #22784 - Using mysql_connect and mysql_select_db did not work
  • Fixed PECL #59982 - Unusable extension with --enable-mysqlnd-ms-table-filter. Use of the option is NOT supported. You must not used it. Added note to m4.
  • Fixed Bug #60119 - host="localhost" lost in mysqlnd_ms_get_last_used_connection()

The mysqlnd_ms_set_user_pick_server() function was removed, and replaced in favor of a new user filter. You can no longer set a callback function using mysqlnd_ms_set_user_pick_server() at runtime, but instead have to configure it in the plugins configuration file. The user filter will pass the same arguments to the callback as before. Therefore, you can continue to use the same procedural function as a callback.callback It is no longer possible to use static class methods, or class methods of an object instance, as a callback. Doing so will cause the function executing a statement handled by the plugin to emit an E_RECOVERABLE_ERROR level error, which might look like: "(mysqlnd_ms) Specified callback (picker) is not a valid callback." Note: this may halt your application.

PECL/mysqlnd_ms 1.2 series
PECL/mysqlnd_ms 1.0 series
Change History


PECL/mysqlnd_ms 1.0 series

1.0.1-alpha

  • Release date: 04/2011
  • Motto/theme: bug fix release

1.0.0-alpha

  • Release date: 04/2011
  • Motto/theme: Cover replication basics to test user feedback

The first release of practical use. It features basic automatic read-write splitting, SQL hints to overrule automatic redirection, load balancing of slave requests, lazy connections, and optional, automatic use of the master after the first write.

The public feature set is close to that of the 1.1 release.

1.0.0-pre-alpha

  • Release date: 09/2010
  • Motto/theme: Proof of concept

Initial check-in. Essentially a demo of the mysqlnd plugin API.

PECL/mysqlnd_ms 1.1 series
mysqlnd_qc
Change History


Mysqlnd query result cache plugin

  • Einführung
  • Quickstart and Examples
    • Architecture and Concepts
    • Setup
    • Caching queries
    • Setting the TTL
    • Pattern based caching
    • Slam defense
    • Finding cache candidates
    • Measuring cache efficiency
    • Beyond TTL: user-defined storage
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
  • Vordefinierte Konstanten
  • mysqlnd_qc Funktionen
    • mysqlnd_qc_clear_cache — Flush all cache contents
    • mysqlnd_qc_get_available_handlers — Returns a list of available storage handler
    • mysqlnd_qc_get_cache_info — Returns information on the current handler, the number of cache entries and cache entries, if available
    • mysqlnd_qc_get_core_stats — Statistics collected by the core of the query cache
    • mysqlnd_qc_get_normalized_query_trace_log — Returns a normalized query trace log for each query inspected by the query cache
    • mysqlnd_qc_get_query_trace_log — Returns a backtrace for each query inspected by the query cache
    • mysqlnd_qc_set_cache_condition — Set conditions for automatic caching
    • mysqlnd_qc_set_is_select — Installs a callback which decides whether a statement is cached
    • mysqlnd_qc_set_storage_handler — Change current storage handler
    • mysqlnd_qc_set_user_handlers — Sets the callback functions for a user-defined procedural storage handler
  • Change History
    • PECL/mysqlnd_qc 1.2 series
    • PECL/mysqlnd_qc 1.1 series
    • PECL/mysqlnd_qc 1.0 series
PECL/mysqlnd_ms 1.0 series
Einführung
MySQL


Einführung

The mysqlnd query result cache plugin adds easy to use client-side query caching to all PHP MySQL extensions using mysqlnd.

As of version PHP 5.3.3 the MySQL native driver for PHP ( mysqlnd) features an internal plugin C API. C plugins, such as the query cache plugin, can extend the functionality of mysqlnd.

Mysqlnd plugins such as the query cache plugin operate transparent from a user perspective. The cache plugin supports all PHP applications and all PHP MySQL extensions ( mysqli, mysql, PDO_MYSQL). It does not change existing APIs.

No significant application changes are required to cache a query. The cache has two operation modes. It will either cache all queries (not recommended) or only those queries marked with a certain SQL hint (recommended).

Key Features

  • Transparent and therefore easy to use

    • supports all PHP MySQL extensions

    • no API changes

    • very little application changes required

  • Flexible invalidation strategy

    • Time-to-Live (TTL)

    • user-defined

  • Storage with different scope and life-span

    • Default (Hash, process memory)

    • APC

    • MEMCACHE

    • sqlite

    • user-defined

  • Built-in slam defense to prevent cache stampeding.

Limitations

The current 1.0.1 release of PECL mysqlnd_qc does not support PHP 5.4. Version 1.1.0-alpha lifts this limitation.

Prepared statements and unbuffered queries are fully supported. Thus, the plugin is capable of caching all statements issued with mysqli or PDO_MySQL, which are the only two PHP MySQL APIs to offer prepared statement support.

On the name

The shortcut mysqlnd_qc stands for mysqlnd query cache plugin. The name was chosen for a quick-and-dirty proof-of-concept. In the beginning the developers did not expect to continue using the code base. Sometimes PECL/mysqlnd_qc has also been called client-side query result set cache.

mysqlnd_qc
Quickstart and Examples
mysqlnd_qc


Quickstart and Examples

Inhaltsverzeichnis

  • Architecture and Concepts
  • Setup
  • Caching queries
  • Setting the TTL
  • Pattern based caching
  • Slam defense
  • Finding cache candidates
  • Measuring cache efficiency
  • Beyond TTL: user-defined storage

The mysqlnd query cache plugin is easy to use. This quickstart will demo typical use-cases, and provide practical advice on getting started.

It is strongly recommended to read the reference sections in addition to the quickstart. It is safe to begin with the quickstart. However, before using the plugin in mission critical environments we urge you to read additionally the background information from the reference sections.

Most of the examples use the mysqli extension because it is the most feature complete PHP MySQL extension. However, the plugin can be used with any PHP MySQL extension that is using the mysqlnd library.

Einführung
Architecture and Concepts
mysqlnd_qc


Architecture and Concepts

The query cache plugin is implemented as a PHP extension. It is written in C and operates under the hood of PHP. During the startup of the PHP interpreter, it gets registered as a mysqlnd plugin to replace selected mysqlnd C methods. Hereby, it can change the behaviour of any PHP MySQL extension (mysqli, PDO_MYSQL, mysql) compiled to use the mysqlnd library without changing the extensions API. This makes the plugin compatible with each and every PHP MySQL application. Because existing APIs are not changed, it is almost transparent to use. Please, see the mysqlnd plugin API description for a discussion of the advantages of the plugin architecture and a comparison with proxy based solutions.

Transparent to use

At PHP run time PECL/mysqlnd_qc can proxy queries send from PHP (mysqlnd) to the MySQL server. It then inspects the statement string to find whether it shall cache its results. If so, result set is cached using a storage handler and further executions of the statement are served from the cache for a user-defined period. The Time to Live (TTL) of the cache entry can either be set globally or on a per statement basis.

A statement is either cached if the plugin is instructed to cache all statements globally using a or, if the query string starts with the SQL hint (/*qc=on*/). The plugin is capable of caching any query issued by calling appropriate API calls of any of the existing PHP MySQL extensions.

Flexible storage: various storage handler

Various storage handler are supported to offer different scopes for cache entries. Different scopes allow for different degrees in sharing cache entries among clients.

  • default (built-in): process memory, scope: process, one or more web requests depending on PHP deployment model used

  • APC: shared memory, scope: single server, multiple web requests

  • SQLite: memory or file, scope: single server, multiple web requests

  • MEMCACHE: main memory, scope: single or multiple server, multiple web requests

  • user (built-in): user-defined - any, scope: user-defined - any

Support for the APC, SQLite and MEMCACHE storage handler has to be enabled at compile time. The default and user handler are built-in. It is possible to switch between compiled-in storage handlers on a per query basis at run time. However, it is recommended to pick one storage handler and use it for all cache entries.

Built-in slam defense to avoid overloading

To avoid overload situations the cache plugin has a built-in slam defense mechanism. If a popular cache entries expires many clients using the cache entries will try to refresh the cache entry. For the duration of the refresh many clients may access the database server concurrently. In the worst case, the database server becomes overloaded and it takes more and more time to refresh the cache entry, which in turn lets more and more clients try to refresh the cache entry. To prevent this from happening the plugin has a slam defense mechanism. If slam defense is enabled and the plugin detects an expired cache entry it extends the life time of the cache entry before it refreshes the cache entry. This way other concurrent accesses to the expired cache entry are still served from the cache for a certain time. The other concurrent accesses to not trigger a concurrent refresh. Ideally, the cache entry gets refreshed by the client which extended the cache entries lifespan before other clients try to refresh the cache and potentially cause an overload situation.

Unique approach to caching

PECL/mysqlnd_qc has a unique approach to caching result sets that is superior to application based cache solutions. Application based solutions first fetch a result set into PHP variables. Then, the PHP variables are serialized for storage in a persistent cache, and then unserialized when fetching. The mysqlnd query cache stores the raw wire protocol data sent from MySQL to PHP in its cache and replays it, if still valid, on a cache hit. This way, it saves an extra serialization step for a cache put that all application based solutions have to do. It can store the raw wire protocol data in the cache without having to serialize into a PHP variable first and deserializing the PHP variable for storing in the cache again.

Quickstart and Examples
Setup
Quickstart and Examples


Setup

The plugin is implemented as a PHP extension. See also the installation instructions to install the » PECL/mysqlnd_qc extension.

Compile or configure the PHP MySQL extension (mysqli, PDO_MYSQL, mysql) that you plan to use with support for the mysqlnd library. PECL/mysqlnd_qc is a plugin for the mysqlnd library. To use the plugin with any of the existing PHP MySQL extensions (APIs), the extension has to use the mysqlnd library.

Then, load the extension into PHP and activate the plugin in the PHP configuration file using the PHP configuration directive named mysqlnd_qc.enable_qc.

Beispiel #1 Enabling the plugin (php.ini)

mysqlnd_qc.enable_qc=1

Architecture and Concepts
Caching queries
Quickstart and Examples


Caching queries

There are four ways to trigger caching of a query.

  • Use of SQL hints on a per query basis
  • User supplied callbacks to decide on a per query basis, for example, using mysqlnd_qc_is_select()
  • mysqlnd_set_cache_condition() for rule based automatic per query decisions
  • mysqlnd_qc.cache_by_default = 1 to cache all queries blindly

Use of SQL hints and mysqlnd_qc.cache_by_default = 1 are explained below. Please, refer to the function reference on mysqlnd_qc_is_select() for a description of using a callback and, mysqlnd_qc_set_cache_condition() on how to set rules for automatic caching.

A SQL hint is a SQL standards compliant comment. As a SQL comment it is ignored by the database. A statement is considered eligible for caching if it either begins with the SQL hint enabling caching or it is a SELECT statement.

An individual query which shall be cached must begin with the SQL hint /*qc=on*/. It is recommended to use the PHP constant MYSQLND_QC_ENABLE_SWITCH instead of using the string value.

  • not eligible for caching and not cached: INSERT INTO test(id) VALUES (1)

  • not eligible for caching and not cached: SHOW ENGINES

  • eligible for caching but uncached: SELECT id FROM test

  • eligible for caching and cached: /*qc=on*/SELECT id FROM test

The examples SELECT statement string is prefixed with the MYSQLND_QC_ENABLE_SWITCH SQL hint to enable caching of the statement. The SQL hint must be given at the very beginning of the statement string to enable caching.

Beispiel #1 Using the MYSQLND_QC_ENABLE_SWITCH SQL hint

mysqlnd_qc.enable_qc=1
<?php
/* Connect, create and populate test table */
$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2)");

/* Will be cached because of the SQL hint */
$start = microtime(true);
$res   = $mysqli->query("/*" . MYSQLND_QC_ENABLE_SWITCH . "*/" . "SELECT id FROM test WHERE id = 1");

var_dump($res->fetch_assoc());
$res->free();

printf("Total time uncached query: %.6fs\n", microtime(true) - $start);

/* Cache hit */
$start = microtime(true);
$res   = $mysqli->query("/*" . MYSQLND_QC_ENABLE_SWITCH . "*/" . "SELECT id FROM test WHERE id = 1");

var_dump($res->fetch_assoc());
$res->free();

printf("Total time cached query: %.6fs\n", microtime(true) - $start);
?>

Oben gezeigte Beispiele erzeugen eine ähnliche Ausgabe wie:

array(1) {
  ["id"]=>
  string(1) "1"
}
Total time uncached query: 0.000740s
array(1) {
  ["id"]=>
  string(1) "1"
}
Total time cached query: 0.000098s

If nothing else is configured, as it is the case in the quickstart example, the plugin will use the built-in default storage handler. The default storage handler uses process memory to hold a cache entry. Depending on the PHP deployment model, a PHP process may serve one or more web requests. Please, consult the web server manual for details. Details make no difference for the examples given in the quickstart.

The query cache plugin will cache all queries regardless if the query string begins with the SQL hint which enables caching or not, if the PHP configuration directive mysqlnd_qc.cache_by_default is set to 1. The setting mysqlnd_qc.cache_by_default is evaluated by the core of the query cache plugins. Neither the built-in nor user-defined storage handler can overrule the setting.

The SQL hint /*qc=off*/ can be used to disable caching of individual queries if mysqlnd_qc.cache_by_default = 1 It is recommended to use the PHP constant MYSQLND_QC_DISABLE_SWITCH instead of using the string value.

Beispiel #2 Using the MYSQLND_QC_DISABLE_SWITCH SQL hint

mysqlnd_qc.enable_qc=1
mysqlnd_qc.cache_by_default=1
<?php
/* Connect, create and populate test table */
$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2)");

/* Will be cached although no SQL hint is present because of mysqlnd_qc.cache_by_default = 1*/
$res = $mysqli->query("SELECT id FROM test WHERE id = 1");
var_dump($res->fetch_assoc());
$res->free();

$mysqli->query("DELETE FROM test WHERE id = 1");

/* Cache hit - no automatic invalidation and still valid! */
$res = $mysqli->query("SELECT id FROM test WHERE id = 1");
var_dump($res->fetch_assoc());
$res->free();

/* Cache miss - query must not be cached because of the SQL hint */
$res = $mysqli->query("/*" . MYSQLND_QC_DISABLE_SWITCH . "*/SELECT id FROM test WHERE id = 1");
var_dump($res->fetch_assoc());
$res->free();
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

array(1) {
  ["id"]=>
  string(1) "1"
}
array(1) {
  ["id"]=>
  string(1) "1"
}
NULL

PECL/mysqlnd_qc forbids caching of statements for which at least one column from the statements result set shows no table name in its meta data by default. This is usually the case for columns originating from SQL functions such as NOW() or LAST_INSERT_ID(). The policy aims to prevent pitfalls if caching by default is used.

Beispiel #3 Example showing which type of statements are not cached

mysqlnd_qc.enable_qc=1
mysqlnd_qc.cache_by_default=1
<?php
/* Connect, create and populate test table */
$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1)");

for ($i = 0; $i < 3; $i++) {

    $start = microtime(true);

    /* Note: statement will not be cached because of NOW() use */
    $res = $mysqli->query("SELECT id, NOW() AS _time FROM test");
    $row = $res->fetch_assoc();

    /* dump results */
    var_dump($row);

    printf("Total time: %.6fs\n", microtime(true) - $start);

    /* pause one second */
    sleep(1);
}
?>

Oben gezeigte Beispiele erzeugen eine ähnliche Ausgabe wie:

array(2) {
  ["id"]=>
  string(1) "1"
  ["_time"]=>
  string(19) "2012-01-11 15:43:10"
}
Total time: 0.000540s
array(2) {
  ["id"]=>
  string(1) "1"
  ["_time"]=>
  string(19) "2012-01-11 15:43:11"
}
Total time: 0.000555s
array(2) {
  ["id"]=>
  string(1) "1"
  ["_time"]=>
  string(19) "2012-01-11 15:43:12"
}
Total time: 0.000549s

It is possible to enable caching for all statements including those which has columns in their result set for which MySQL reports no table, such as the statement from the example. Set mysqlnd_qc.cache_no_table = 1 to enable caching of such statements. Please, note the difference in the measured times for the above and below examples.

Beispiel #4 Enabling caching for all statements using the mysqlnd_qc.cache_no_table ini setting

mysqlnd_qc.enable_qc=1
mysqlnd_qc.cache_by_default=1
mysqlnd_qc.cache_no_table=1
<?php
/* Connect, create and populate test table */
$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1)");

for ($i = 0; $i < 3; $i++) {

    $start = microtime(true);

    /* Note: statement will not be cached because of NOW() use */
    $res = $mysqli->query("SELECT id, NOW() AS _time FROM test");
    $row = $res->fetch_assoc();

    /* dump results */
    var_dump($row);

    printf("Total time: %.6fs\n", microtime(true) - $start);

    /* pause one second */
    sleep(1);
}
?>

Oben gezeigte Beispiele erzeugen eine ähnliche Ausgabe wie:

array(2) {
  ["id"]=>
  string(1) "1"
  ["_time"]=>
  string(19) "2012-01-11 15:47:45"
}
Total time: 0.000546s
array(2) {
  ["id"]=>
  string(1) "1"
  ["_time"]=>
  string(19) "2012-01-11 15:47:45"
}
Total time: 0.000187s
array(2) {
  ["id"]=>
  string(1) "1"
  ["_time"]=>
  string(19) "2012-01-11 15:47:45"
}
Total time: 0.000167s

Hinweis:

Although mysqlnd_qc.cache_no_table = 1 has been created for use with mysqlnd_qc.cache_by_default = 1 it is bound it. The plugin will evaluate the mysqlnd_qc.cache_no_table whenever a query is to be cached, no matter whether caching has been enabled using a SQL hint or any other measure.

Setup
Setting the TTL
Quickstart and Examples


Setting the TTL

The default invalidation strategy of the query cache plugin is Time to Live (TTL). The built-in storage handlers will use the default TTL defined by the PHP configuration value mysqlnd_qc.ttl unless the query string contains a hint for setting a different TTL. The TTL is specified in seconds. By default cache entries expire after 30 seconds

The example sets mysqlnd_qc.ttl=3 to cache statements for three seconds by default. Every second it updates a database table record to hold the current time and executes a SELECT statement to fetch the record from the database. The SELECT statement is cached for three seconds because it is prefixed with the SQL hint enabling caching. The output verifies that the query results are taken from the cache for the duration of three seconds before they are refreshed.

Beispiel #1 Setting the TTL with the mysqlnd_qc.ttl ini setting

mysqlnd_qc.enable_qc=1
mysqlnd_qc.ttl=3
<?php
/* Connect, create and populate test table */
$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id VARCHAR(255))");

for ($i = 0; $i < 7; $i++) {

    /* update DB row  */
    if (!$mysqli->query("DELETE FROM test") ||
        !$mysqli->query("INSERT INTO test(id) VALUES (NOW())"))
      /* Of course, a real-life script should do better error handling */
      die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error));

    /* select latest row but cache results */
    $query  = "/*" . MYSQLND_QC_ENABLE_SWITCH . "*/";
    $query .= "SELECT id AS _time FROM test";
    if (!($res = $mysqli->query($query)) ||
        !($row = $res->fetch_assoc()))
    {
      printf("[%d] %s\n", $mysqli->errno, $mysqli->error);
    }
    $res->free();
    printf("Wall time %s - DB row time %s\n", date("H:i:s"), $row['_time']);

    /* pause one second */
    sleep(1);
}
?>

Oben gezeigte Beispiele erzeugen eine ähnliche Ausgabe wie:

Wall time 14:55:59 - DB row time 2012-01-11 14:55:59
Wall time 14:56:00 - DB row time 2012-01-11 14:55:59
Wall time 14:56:01 - DB row time 2012-01-11 14:55:59
Wall time 14:56:02 - DB row time 2012-01-11 14:56:02
Wall time 14:56:03 - DB row time 2012-01-11 14:56:02
Wall time 14:56:04 - DB row time 2012-01-11 14:56:02
Wall time 14:56:05 - DB row time 2012-01-11 14:56:05

As can be seen from the example, any TTL based cache can serve stale data. Cache entries are not automatically invalidated, if underlying data changes. Applications using the default TTL invalidation strategy must be able to work correctly with stale data.

A user-defined cache storage handler can implement any invalidation strategy to work around this limitation.

The default TTL can be overruled using the SQL hint /*qc_tt=seconds*/. The SQL hint must be appear immediately after the SQL hint which enables caching. It is recommended to use the PHP constant MYSQLND_QC_TTL_SWITCH instead of using the string value.

Beispiel #2 Setting TTL with SQL hints

<?php
$start = microtime(true);

/* Connect, create and populate test table */
$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2)");

printf("Default TTL\t: %d seconds\n", ini_get("mysqlnd_qc.ttl"));

/* Will be cached for 2 seconds */
$sql = sprintf("/*%s*//*%s%d*/SELECT id FROM test WHERE id = 1", MYSQLND_QC_ENABLE_SWITCH, MYSQLND_QC_TTL_SWITCH, 2);
$res = $mysqli->query($sql);

var_dump($res->fetch_assoc());
$res->free();

$mysqli->query("DELETE FROM test WHERE id = 1");
sleep(1);

/* Cache hit - no automatic invalidation and still valid! */
$res = $mysqli->query($sql);
var_dump($res->fetch_assoc());
$res->free();

sleep(2);

/* Cache miss - cache entry has expired */
$res = $mysqli->query($sql);
var_dump($res->fetch_assoc());
$res->free();

printf("Script runtime\t: %d seconds\n", microtime(true) - $start);
?>

Oben gezeigte Beispiele erzeugen eine ähnliche Ausgabe wie:

Default TTL     : 30 seconds
array(1) {
  ["id"]=>
  string(1) "1"
}
array(1) {
  ["id"]=>
  string(1) "1"
}
NULL
Script runtime  : 3 seconds

Caching queries
Pattern based caching
Quickstart and Examples


Pattern based caching

An application has three options for telling PECL/mysqlnd_qc whether a particular statement shall be used. The most basic approach is to cache all statements by setting mysqlnd_qc.cache_by_default = 1. This approach is often of little practical value. But it enables users to make a quick estimation about the maximum performance gains from caching. An application designed to use a cache may be able to prefix selected statements with the appropriate SQL hints. However, altering an applications source code may not always be possible or desired, for example, to avoid problems with software updates. Therefore, PECL/mysqlnd_qc allows setting a callback which decides if a query is to be cached.

The callback is installed with the mysqlnd_qc_set_is_select() function. The callback is given the statement string of every statement inspected by the plugin. Then, the callback can decide whether to cache the function. The callback is supposed to return FALSE if the statement shall not be cached. A return value of TRUE makes the plugin try to add the statement into the cache. The cache entry will be given the default TTL ( mysqlnd_qc.ttl). If the callback returns a numerical value it is used as the TTL instead of the global default.

Beispiel #1 Setting a callback with mysqlnd_qc_set_is_select()

mysqlnd_qc.enable_qc=1
mysqlnd_qc.collect_statistics=1
<?php
/* callback which decides if query is cached */
function is_select($query) {
    static $patterns = array(
      /* true - use default from mysqlnd_qc.ttl */
      "@SELECT\s+.*\s+FROM\s+test@ismU" => true,
      /* 3 - use TTL = 3 seconds */
      "@SELECT\s+.*\s+FROM\s+news@ismU" => 3
    );

    /* check if query does match pattern */
    foreach ($patterns as $pattern => $ttl) {
        if (preg_match($pattern, $query)) {
            printf("is_select(%45s): cache\n", $query);
            return $ttl;
        }
    }
    printf("is_select(%45s): do not cache\n", $query);
    return false;
}
/* install callback */
mysqlnd_qc_set_is_select("is_select");

/* Connect, create and populate test table */
$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3)");

/* cache put */
$mysqli->query("SELECT id FROM test WHERE id = 1");
/* cache hit */
$mysqli->query("SELECT id FROM test WHERE id = 1");
/* cache put */
$mysqli->query("SELECT * FROM test");

$stats = mysqlnd_qc_get_core_stats();
printf("Cache put: %d\n", $stats['cache_put']);
printf("Cache hit: %d\n", $stats['cache_hit']);
?>

Oben gezeigte Beispiele erzeugen eine ähnliche Ausgabe wie:

is_select(                    DROP TABLE IF EXISTS test): do not cache
is_select(                    CREATE TABLE test(id INT)): do not cache
is_select(    INSERT INTO test(id) VALUES (1), (2), (3)): do not cache
is_select(             SELECT id FROM test WHERE id = 1): cache
is_select(             SELECT id FROM test WHERE id = 1): cache
is_select(                           SELECT * FROM test): cache
Cache put: 2
Cache hit: 1

The examples callback tests if a statement string matches a pattern. If this is the case, it either returns TRUE to cache the statement using the global default TTL or an alternative TTL.

To minimize application changes the callback can put into and registered in an auto prepend file.

Setting the TTL
Slam defense
Quickstart and Examples


Slam defense

A badly designed cache can do more harm than good. In the worst case a cache can increase database server load instead of minimizing it. An overload situation can occur if a highly shared cache entry expires (cache stampeding).

Cache entries are shared and reused to a different degree depending on the storage used. The default storage handler stores cache entries in process memory. Thus, a cache entry can be reused for the life-span of a process. Other PHP processes cannot access it. If Memcache is used, a cache entry can be shared among multiple PHP processes and even among multiple machines, depending on the set up being used.

If a highly shared cache entry stored, for example, in Memcache expires, many clients gets a cache miss. Many client requests can no longer be served from the cache but try to run the underlying query on the database server. Until the cache entry is refreshed, more and more clients contact the database server. In the worst case, a total lost of service is the result.

The overload can be avoided using a storage handler which limits the reuse of cache entries to few clients. Then, at the average, its likely that only a limited number of clients will try to refresh a cache entry concurrently.

Additionally, the built-in slam defense mechanism can and should be used. If slam defense is activated an expired cache entry is given an extended life time. The first client getting a cache miss for the expired cache entry tries to refresh the cache entry within the extended life time. All other clients requesting the cache entry are temporarily served from the cache although the original TTL of the cache entry has expired. The other clients will not experience a cache miss before the extended life time is over.

Beispiel #1 Enabling the slam defense mechanism

mysqlnd_qc.slam_defense=1
mysqlnd_qc.slam_defense_ttl=1

The slam defense mechanism is enabled with the PHP configuration directive mysqlnd_qc.slam_defense. The extended life time of a cache entry is set with mysqlnd_qc.slam_defense_ttl.

The function mysqlnd_qc_get_core_stats() returns an array of statistics. The statistics slam_stale_refresh and slam_stale_hit are incremented if slam defense takes place.

It is not possible to give a one-fits-all recommendation on the slam defense configuration. Users are advised to monitor and test their setup and derive settings accordingly.

Pattern based caching
Finding cache candidates
Quickstart and Examples


Finding cache candidates

A statement should be considered for caching if it is executed often and has a long run time. Cache candidates are found by creating a list of statements sorted by the product of the number of executions multiplied by the statements run time. The function mysqlnd_qc_get_query_trace_log() returns a query log which help with the task.

Collecting a query trace is a slow operation. Thus, it is disabled by default. The PHP configuration directive mysqlnd_qc.collect_query_trace is used to enable it. The functions trace contains one entry for every query issued before the function is called.

Beispiel #1 Collecting a query trace

mysqlnd_qc.enable_qc=1
mysqlnd_qc.collect_query_trace=1
<?php
/* connect to MySQL */
$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket");

/* dummy queries to fill the query trace */
for ($i = 0; $i < 2; $i++) {
    $res = $mysqli->query("SELECT 1 AS _one FROM DUAL");
    $res->free();
}

/* dump trace */
var_dump(mysqlnd_qc_get_query_trace_log());
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

array(2) {
  [0]=>
  array(8) {
    ["query"]=>
    string(26) "SELECT 1 AS _one FROM DUAL"
    ["origin"]=>
    string(102) "#0 qc.php(7): mysqli->query('SELECT 1 AS _on...')
#1 {main}"
    ["run_time"]=>
    int(0)
    ["store_time"]=>
    int(25)
    ["eligible_for_caching"]=>
    bool(false)
    ["no_table"]=>
    bool(false)
    ["was_added"]=>
    bool(false)
    ["was_already_in_cache"]=>
    bool(false)
  }
  [1]=>
  array(8) {
    ["query"]=>
    string(26) "SELECT 1 AS _one FROM DUAL"
    ["origin"]=>
    string(102) "#0 qc.php(7): mysqli->query('SELECT 1 AS _on...')
#1 {main}"
    ["run_time"]=>
    int(0)
    ["store_time"]=>
    int(8)
    ["eligible_for_caching"]=>
    bool(false)
    ["no_table"]=>
    bool(false)
    ["was_added"]=>
    bool(false)
    ["was_already_in_cache"]=>
    bool(false)
  }
}

Assorted information is given in the trace. Among them timings and the origin of the query call. The origin property holds a code backtrace to identify the source of the query. The depth of the backtrace can be limited with the PHP configuration directive mysqlnd_qc.query_trace_bt_depth. The default depth is 3.

Beispiel #2 Setting the backtrace depth with the mysqlnd_qc.query_trace_bt_depth ini setting

mysqlnd_qc.enable_qc=1
mysqlnd_qc.collect_query_trace=1
<?php
/* connect to MySQL */
$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3)");

/* dummy queries to fill the query trace */
for ($i = 0; $i < 3; $i++) {
    $res = $mysqli->query("SELECT id FROM test WHERE id = " . $mysqli->real_escape_string($i));
    $res->free();
}

$trace = mysqlnd_qc_get_query_trace_log();
$summary = array();
foreach ($trace as $entry) {
    if (!isset($summary[$entry['query']])) {
        $summary[$entry['query']] = array(
            "executions" => 1,
            "time"       => $entry['run_time'] + $entry['store_time'],
        );
    } else {
        $summary[$entry['query']]['executions']++;
        $summary[$entry['query']]['time'] += $entry['run_time'] + $entry['store_time'];
    }
}

foreach ($summary as $query => $details) {
    printf("%45s: %5dms (%dx)\n",
    $query, $details['time'], $details['executions']);
}
?>

Oben gezeigte Beispiele erzeugen eine ähnliche Ausgabe wie:

                    DROP TABLE IF EXISTS test:     0ms (1x)
                    CREATE TABLE test(id INT):     0ms (1x)
    INSERT INTO test(id) VALUES (1), (2), (3):     0ms (1x)
             SELECT id FROM test WHERE id = 0:    25ms (1x)
             SELECT id FROM test WHERE id = 1:    10ms (1x)
             SELECT id FROM test WHERE id = 2:     9ms (1x)

Slam defense
Measuring cache efficiency
Quickstart and Examples


Measuring cache efficiency

PECL/mysqlnd_qc offers three ways to measure the cache efficiency. The function mysqlnd_qc_get_normalized_query_trace_log() returns statistics aggregated by the normalized query string, mysqlnd_qc_get_cache_info() gives storage handler specific information which includes a list of all cached items, depending on the storage handler. Additionally, the core of PECL/mysqlnd_qc collects high-level summary statistics aggregated per PHP process. The high-level statistics are returned by mysqlnd_qc_get_core_stats().

The functions mysqlnd_qc_get_normalized_query_trace_log() and mysqlnd_qc_get_core_stats() will not collect data unless data collection has been enabled through their corresponding PHP configuration directives. Data collection is disabled by default for performance considerations. It is configurable with the mysqlnd_qc.time_statistics option, which determines if timing information should be collected. Collection of time statistics is enabled by default but only performed if data collection as such has been enabled. Recording time statistics causes extra system calls. In most cases, the benefit of the monitoring outweighs any potential performance penalty of the additional system calls.

Beispiel #1 Collecting statistics data with the mysqlnd_qc.time_statistics ini setting

mysqlnd_qc.enable_qc=1
mysqlnd_qc.collect_statistics=1
<?php
/* connect to MySQL */
$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3)");

/* dummy queries */
for ($i = 1; $i <= 4; $i++) {
    $query = sprintf("/*%s*/SELECT id FROM test WHERE id = %d", MYSQLND_QC_ENABLE_SWITCH, $i % 2);
    $res   = $mysqli->query($query);

    $res->free();
}

var_dump(mysqlnd_qc_get_core_stats());
?>

Oben gezeigte Beispiele erzeugen eine ähnliche Ausgabe wie:

array(26) {
  ["cache_hit"]=>
  string(1) "2"
  ["cache_miss"]=>
  string(1) "2"
  ["cache_put"]=>
  string(1) "2"
  ["query_should_cache"]=>
  string(1) "4"
  ["query_should_not_cache"]=>
  string(1) "3"
  ["query_not_cached"]=>
  string(1) "3"
  ["query_could_cache"]=>
  string(1) "4"
  ["query_found_in_cache"]=>
  string(1) "2"
  ["query_uncached_other"]=>
  string(1) "0"
  ["query_uncached_no_table"]=>
  string(1) "0"
  ["query_uncached_no_result"]=>
  string(1) "0"
  ["query_uncached_use_result"]=>
  string(1) "0"
  ["query_aggr_run_time_cache_hit"]=>
  string(2) "28"
  ["query_aggr_run_time_cache_put"]=>
  string(3) "900"
  ["query_aggr_run_time_total"]=>
  string(3) "928"
  ["query_aggr_store_time_cache_hit"]=>
  string(2) "14"
  ["query_aggr_store_time_cache_put"]=>
  string(2) "40"
  ["query_aggr_store_time_total"]=>
  string(2) "54"
  ["receive_bytes_recorded"]=>
  string(3) "136"
  ["receive_bytes_replayed"]=>
  string(3) "136"
  ["send_bytes_recorded"]=>
  string(2) "84"
  ["send_bytes_replayed"]=>
  string(2) "84"
  ["slam_stale_refresh"]=>
  string(1) "0"
  ["slam_stale_hit"]=>
  string(1) "0"
  ["request_counter"]=>
  int(1)
  ["process_hash"]=>
  int(1929695233)
}

For a quick overview, call mysqlnd_qc_get_core_stats(). It delivers cache usage, cache timing and traffic related statistics. Values are aggregated on a per process basis for all queries issued by any PHP MySQL API call.

Some storage handler, such as the default handler, can report cache entries, statistics related to the entries and meta data for the underlying query through the mysqlnd_qc_get_cache_info() function. Please note, that the information returned depends on the storage handler. Values are aggregated on a per process basis.

Beispiel #2 Example mysqlnd_qc_get_cache_info() usage

mysqlnd_qc.enable_qc=1
<?php
/* connect to MySQL */
$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3)");

/* dummy queries to fill the query trace */
for ($i = 1; $i <= 4; $i++) {
    $query = sprintf("/*%s*/SELECT id FROM test WHERE id = %d", MYSQLND_QC_ENABLE_SWITCH, $i % 2);
    $res   = $mysqli->query($query);

    $res->free();
}

var_dump(mysqlnd_qc_get_cache_info());
?>

Oben gezeigte Beispiele erzeugen eine ähnliche Ausgabe wie:

array(4) {
  ["num_entries"]=>
  int(2)
  ["handler"]=>
  string(7) "default"
  ["handler_version"]=>
  string(5) "1.0.0"
  ["data"]=>
  array(2) {
    ["Localhost via UNIX socket
3306
root
test|/*qc=on*/SELECT id FROM test WHERE id = 1"]=>
    array(2) {
      ["statistics"]=>
      array(11) {
        ["rows"]=>
        int(1)
        ["stored_size"]=>
        int(71)
        ["cache_hits"]=>
        int(1)
        ["run_time"]=>
        int(391)
        ["store_time"]=>
        int(27)
        ["min_run_time"]=>
        int(16)
        ["max_run_time"]=>
        int(16)
        ["min_store_time"]=>
        int(8)
        ["max_store_time"]=>
        int(8)
        ["avg_run_time"]=>
        int(8)
        ["avg_store_time"]=>
        int(4)
      }
      ["metadata"]=>
      array(1) {
        [0]=>
        array(8) {
          ["name"]=>
          string(2) "id"
          ["orig_name"]=>
          string(2) "id"
          ["table"]=>
          string(4) "test"
          ["orig_table"]=>
          string(4) "test"
          ["db"]=>
          string(4) "test"
          ["max_length"]=>
          int(1)
          ["length"]=>
          int(11)
          ["type"]=>
          int(3)
        }
      }
    }
    ["Localhost via UNIX socket
3306
root
test|/*qc=on*/SELECT id FROM test WHERE id = 0"]=>
    array(2) {
      ["statistics"]=>
      array(11) {
        ["rows"]=>
        int(0)
        ["stored_size"]=>
        int(65)
        ["cache_hits"]=>
        int(1)
        ["run_time"]=>
        int(299)
        ["store_time"]=>
        int(13)
        ["min_run_time"]=>
        int(11)
        ["max_run_time"]=>
        int(11)
        ["min_store_time"]=>
        int(6)
        ["max_store_time"]=>
        int(6)
        ["avg_run_time"]=>
        int(5)
        ["avg_store_time"]=>
        int(3)
      }
      ["metadata"]=>
      array(1) {
        [0]=>
        array(8) {
          ["name"]=>
          string(2) "id"
          ["orig_name"]=>
          string(2) "id"
          ["table"]=>
          string(4) "test"
          ["orig_table"]=>
          string(4) "test"
          ["db"]=>
          string(4) "test"
          ["max_length"]=>
          int(0)
          ["length"]=>
          int(11)
          ["type"]=>
          int(3)
        }
      }
    }
  }
}

It is possible to further break down the granularity of statistics to the level of the normalized statement string. The normalized statement string is the statements string with all parameters replaced with question marks. For example, the two statements SELECT id FROM test WHERE id = 0 and SELECT id FROM test WHERE id = 1 are normalized into SELECT id FROM test WHERE id = ?. Their both statistics are aggregated into one entry for SELECT id FROM test WHERE id = ?.

Beispiel #3 Example mysqlnd_qc_get_normalized_query_trace_log() usage

mysqlnd_qc.enable_qc=1
mysqlnd_qc.collect_normalized_query_trace=1
<?php
/* connect to MySQL */
$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3)");

/* dummy queries to fill the query trace */
for ($i = 1; $i <= 4; $i++) {
    $query = sprintf("/*%s*/SELECT id FROM test WHERE id = %d", MYSQLND_QC_ENABLE_SWITCH, $i % 2);
    $res   = $mysqli->query($query);

    $res->free();
}

var_dump(mysqlnd_qc_get_normalized_query_trace_log());
?>

Oben gezeigte Beispiele erzeugen eine ähnliche Ausgabe wie:

array(4) {
  [0]=>
  array(9) {
    ["query"]=>
    string(25) "DROP TABLE IF EXISTS test"
    ["occurences"]=>
    int(0)
    ["eligible_for_caching"]=>
    bool(false)
    ["avg_run_time"]=>
    int(0)
    ["min_run_time"]=>
    int(0)
    ["max_run_time"]=>
    int(0)
    ["avg_store_time"]=>
    int(0)
    ["min_store_time"]=>
    int(0)
    ["max_store_time"]=>
    int(0)
  }
  [1]=>
  array(9) {
    ["query"]=>
    string(27) "CREATE TABLE test (id INT )"
    ["occurences"]=>
    int(0)
    ["eligible_for_caching"]=>
    bool(false)
    ["avg_run_time"]=>
    int(0)
    ["min_run_time"]=>
    int(0)
    ["max_run_time"]=>
    int(0)
    ["avg_store_time"]=>
    int(0)
    ["min_store_time"]=>
    int(0)
    ["max_store_time"]=>
    int(0)
  }
  [2]=>
  array(9) {
    ["query"]=>
    string(46) "INSERT INTO test (id ) VALUES (? ), (? ), (? )"
    ["occurences"]=>
    int(0)
    ["eligible_for_caching"]=>
    bool(false)
    ["avg_run_time"]=>
    int(0)
    ["min_run_time"]=>
    int(0)
    ["max_run_time"]=>
    int(0)
    ["avg_store_time"]=>
    int(0)
    ["min_store_time"]=>
    int(0)
    ["max_store_time"]=>
    int(0)
  }
  [3]=>
  array(9) {
    ["query"]=>
    string(31) "SELECT id FROM test WHERE id =?"
    ["occurences"]=>
    int(4)
    ["eligible_for_caching"]=>
    bool(true)
    ["avg_run_time"]=>
    int(179)
    ["min_run_time"]=>
    int(11)
    ["max_run_time"]=>
    int(393)
    ["avg_store_time"]=>
    int(12)
    ["min_store_time"]=>
    int(7)
    ["max_store_time"]=>
    int(25)
  }
}

The source distribution of PECL/mysqlnd_qc contains a directory web/ in which web based monitoring scripts can be found which give an example how to write a cache monitor. Please, follow the instructions given in the source.

Since PECL/mysqlnd_qc 1.1.0 it is possible to write statistics into a log file. Please, see mysqlnd_qc.collect_statistics_log_file.

Finding cache candidates
Beyond TTL: user-defined storage
Quickstart and Examples


Beyond TTL: user-defined storage

The query cache plugin supports the use of user-defined storage handler. User-defined storage handler can use arbitrarily complex invalidation algorithms and support arbitrary storage media.

All user-defined storage handlers have to provide a certain interface. The functions of the user-defined storage handler will be called by the core of the cache plugin. The necessary interface consists of seven public functions. Both procedural and object oriented user-defined storage handler must implement the same set of functions.

Beispiel #1 Using a user-defined storage handler

<?php
/* Enable default caching of all statements */
ini_set("mysqlnd_qc.cache_by_default", 1);

/* Procedural user defined storage handler functions */

$__cache = array();

function get_hash($host_info, $port, $user, $db, $query) {
    global $__cache;
    printf("\t%s(%d)\n", __FUNCTION__, func_num_args());

    return md5(sprintf("%s%s%s%s%s", $host_info, $port, $user, $db, $query));
}

function find_query_in_cache($key) {
    global $__cache;
    printf("\t%s(%d)\n", __FUNCTION__, func_num_args());

    if (isset($__cache[$key])) {
        $tmp = $__cache[$key];
        if ($tmp["valid_until"] < time()) {
            unset($__cache[$key]);
            $ret = NULL;
        } else {
            $ret = $__cache[$key]["data"];
        }
    } else {
        $ret = NULL;
    }

    return $ret;
}

function return_to_cache($key) {
    /*
     Called on cache hit after cached data has been processed,
     may be used for reference counting
    */
    printf("\t%s(%d)\n", __FUNCTION__, func_num_args());
}

function add_query_to_cache_if_not_exists($key, $data, $ttl, $run_time, $store_time, $row_count) {
    global $__cache;
    printf("\t%s(%d)\n", __FUNCTION__, func_num_args());

    $__cache[$key] = array(
        "data"               => $data,
        "row_count"          => $row_count,
        "valid_until"        => time() + $ttl,
        "hits"               => 0,
        "run_time"           => $run_time,
        "store_time"         => $store_time,
        "cached_run_times"   => array(),
        "cached_store_times" => array(),
    );

    return TRUE;
}

function query_is_select($query) {
    printf("\t%s('%s'): ", __FUNCTION__, $query);

    $ret = FALSE;
    if (stristr($query, "SELECT") !== FALSE) {
        /* cache for 5 seconds */
        $ret = 5;
    }

    printf("%s\n", (FALSE === $ret) ? "FALSE" : $ret);
    return $ret;
}

function update_query_run_time_stats($key, $run_time, $store_time) {
    global $__cache;
    printf("\t%s(%d)\n", __FUNCTION__, func_num_args());

    if (isset($__cache[$key])) {
        $__cache[$key]['hits']++;
        $__cache[$key]["cached_run_times"][] = $run_time;
        $__cache[$key]["cached_store_times"][] = $store_time;
    }
}

function get_stats($key = NULL) {
    global $__cache;
    printf("\t%s(%d)\n", __FUNCTION__, func_num_args());

    if ($key && isset($__cache[$key])) {
        $stats = $__cache[$key];
    } else {
        $stats = array();
        foreach ($__cache as $key => $details) {
            $stats[$key] = array(
               'hits'              => $details['hits'],
               'bytes'             => strlen($details['data']),
               'uncached_run_time' => $details['run_time'],
               'cached_run_time'   => (count($details['cached_run_times']))
                                      ? array_sum($details['cached_run_times']) / count($details['cached_run_times'])
                                      : 0,
            );
        }
    }

    return $stats;
}

function clear_cache() {
    global $__cache;
    printf("\t%s(%d)\n", __FUNCTION__, func_num_args());

    $__cache = array();
    return TRUE;
}

/* Install procedural user-defined storage handler */
if (!mysqlnd_qc_set_user_handlers("get_hash", "find_query_in_cache",
    "return_to_cache", "add_query_to_cache_if_not_exists",
    "query_is_select", "update_query_run_time_stats", "get_stats", "clear_cache")) {

        printf("Failed to install user-defined storage handler\n");
}

/* Connect, create and populate test table */
$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2)");

printf("\nCache put/cache miss\n");

$res = $mysqli->query("SELECT id FROM test WHERE id = 1");
var_dump($res->fetch_assoc());
$res->free();

/* Delete record to verify we get our data from the cache */
$mysqli->query("DELETE FROM test WHERE id = 1");

printf("\nCache hit\n");

$res = $mysqli->query("SELECT id FROM test WHERE id = 1");
var_dump($res->fetch_assoc());
$res->free();

printf("\nDisplay cache statistics\n");
var_dump(mysqlnd_qc_get_cache_info());

printf("\nFlushing cache, cache put/cache miss");
var_dump(mysqlnd_qc_clear_cache());

$res = $mysqli->query("SELECT id FROM test WHERE id = 1");
var_dump($res->fetch_assoc());
$res->free();
?>

Oben gezeigte Beispiele erzeugen eine ähnliche Ausgabe wie:

        query_is_select('DROP TABLE IF EXISTS test'): FALSE
        query_is_select('CREATE TABLE test(id INT)'): FALSE
        query_is_select('INSERT INTO test(id) VALUES (1), (2)'): FALSE

Cache put/cache miss
        query_is_select('SELECT id FROM test WHERE id = 1'): 5
        get_hash(5)
        find_query_in_cache(1)
        add_query_to_cache_if_not_exists(6)
array(1) {
  ["id"]=>
  string(1) "1"
}
        query_is_select('DELETE FROM test WHERE id = 1'): FALSE

Cache hit
        query_is_select('SELECT id FROM test WHERE id = 1'): 5
        get_hash(5)
        find_query_in_cache(1)
        return_to_cache(1)
        update_query_run_time_stats(3)
array(1) {
  ["id"]=>
  string(1) "1"
}

Display cache statistics
        get_stats(0)
array(4) {
  ["num_entries"]=>
  int(1)
  ["handler"]=>
  string(4) "user"
  ["handler_version"]=>
  string(5) "1.0.0"
  ["data"]=>
  array(1) {
    ["18683c177dc89bb352b29965d112fdaa"]=>
    array(4) {
      ["hits"]=>
      int(1)
      ["bytes"]=>
      int(71)
      ["uncached_run_time"]=>
      int(398)
      ["cached_run_time"]=>
      int(4)
    }
  }
}

Flushing cache, cache put/cache miss    clear_cache(0)
bool(true)
        query_is_select('SELECT id FROM test WHERE id = 1'): 5
        get_hash(5)
        find_query_in_cache(1)
        add_query_to_cache_if_not_exists(6)
NULL

Measuring cache efficiency
Installation/Konfiguration
Quickstart and Examples


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
Beyond TTL: user-defined storage
Anforderungen
mysqlnd_qc


Anforderungen

PHP 5.3.3 or a newer version of PHP.

PECL/mysqlnd_qc is a mysqlnd plugin. It plugs into the mysqlnd library. To use you this plugin with a PHP MySQL extension, the extension (mysqli, mysql, or PDO_MYSQL) must enable the mysqlnd library.

For using the APC storage handler with PECL/mysqlnd_qc 1.0 APC 3.1.3p1-beta or newer. PECL/mysqlnd_qc 1.2 has been tested with APC 3.1.13-beta. The APC storage handler cannot be used with a shared build. You cannot use the PHP configuration directive extension to load the APC and PECL/mysqlnd_qc extensions if PECL/mysqlnd_qc will use APC as a storage handler. For using the APC storage handler, you have to statically compile PHP with APC and PECL/mysqlnd_qc support into PHP.

For using MEMCACHE storage handler: Use libmemcache 0.38 or newer. PECL/mysqlnd_qc 1.2 has been tested with libmemcache 1.4.0.

For using sqlite storage handler: Use the sqlite3 extension that bundled with PHP.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/mysqlnd_qc

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

mysqlnd_qc Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
mysqlnd_qc.enable_qc | 1 | PHP_INI_SYSTEM |
mysqlnd_qc.ttl | 30 | PHP_INI_ALL |
mysqlnd_qc.cache_by_default | 0 | PHP_INI_ALL |
mysqlnd_qc.cache_no_table | 0 | PHP_INI_ALL |
mysqlnd_qc.use_request_time | 0 | PHP_INI_ALL |
mysqlnd_qc.time_statistics | 1 | PHP_INI_ALL |
mysqlnd_qc.collect_statistics | 0 | PHP_INI_ALL |
mysqlnd_qc.collect_statistics_log_file | /tmp/mysqlnd_qc.stats | PHP_INI_SYSTEM |
mysqlnd_qc.collect_query_trace | 0 | PHP_INI_SYSTEM |
mysqlnd_qc.query_trace_bt_depth | 3 | PHP_INI_SYSTEM |
mysqlnd_qc.collect_normalized_query_trace | 0 | PHP_INI_SYSTEM |
mysqlnd_qc.ignore_sql_comments | 1 | PHP_INI_ALL |
mysqlnd_qc.slam_defense | 0 | PHP_INI_SYSTEM |
mysqlnd_qc.slam_defense_ttl | 30 | PHP_INI_SYSTEM |
mysqlnd_qc.std_data_copy | 0 | PHP_INI_SYSTEM |
mysqlnd_qc.apc_prefix | qc_ | PHP_INI_ALL |
mysqlnd_qc.memc_server | 127.0.0.1 | PHP_INI_ALL |
mysqlnd_qc.memc_port | 11211 | PHP_INI_ALL |
mysqlnd_qc.sqlite_data_file | :memory: | PHP_INI_ALL |

Hier eine kurze Erklärung der Konfigurationsoptionen:

mysqlnd_qc.enable_qc integer

Enables or disables the plugin. If disabled the extension will not plug into mysqlnd to proxy internal mysqlnd C API calls.

mysqlnd_qc.ttl integer

Default Time-to-Live (TTL) for cache entries in seconds.

mysqlnd_qc.cache_by_default integer

Cache all queries regardless if they begin with the SQL hint that enables caching of a query or not. Storage handler cannot overrule the setting. It is evaluated by the core of the plugin.

mysqlnd_qc.cache_no_table integer

Whether to cache queries with no table name in any of columns meta data of their result set, for example, SELECT SLEEP(1), SELECT NOW(), SELECT SUBSTRING().

mysqlnd_qc.use_request_time integer

Use PHP global request time to avoid gettimeofday() system calls? If using APC storage handler it should be set to the value of apc.use_request_time , if not warnings will be generated.

mysqlnd_qc.time_statistics integer

Collect run time and store time statistics using gettimeofday() system call? Data will be collected only if you also set mysqlnd_qc.collect_statistics = 1,

mysqlnd_qc.collect_statistics integer

Collect statistics for mysqlnd_qc_get_core_stats()? Does not influence storage handler statistics! Handler statistics can be an integral part of the handler internal storage format. Therefore, collection of some handler statistics cannot be disabled.

mysqlnd_qc.collect_statistics-log-file integer

If mysqlnd_qc.collect_statistics and mysqlnd_qc.collect_statistics_log_file are set, the plugin will dump statistics into the specified log file at every 10th web request during PHP request shutdown. The log file needs to be writable by the web server user.

Since 1.1.0.

mysqlnd_qc.collect_query_trace integer

Collect query back traces?

mysqlnd_qc.query_trace_bt_depth integer

Maximum depth/level of a query code backtrace.

mysqlnd_qc.ignore_sql_comments integer

Whether to remove SQL comments from a query string before hashing it to generate a cache key. Disable if you do not want two statemts such as SELECT /*my_source_ip=123*/ id FROM test and SELECT /*my_source_ip=456*/ id FROM test to refer to the same cache entry.

Since 1.1.0.

mysqlnd_qc.slam_defense integer

Activates handler based slam defense (cache stampeding protection) if available. Supported by Default and APC storage handler

mysqlnd_qc.slam_defense_ttl integer

TTL for stale cache entries which are served while another client updates the entries. Supported by APC storage handler.

mysqlnd_qc.collect_normalized_query_trace integer

Collect aggregated normalized query traces? The setting has no effect by default. You compile the extension using the define NORM_QUERY_TRACE_LOG to make use of the setting.

mysqlnd_qc.std_data_copy integer

Default storage handler: copy cached wire data? EXPERIMENTAL – use default setting!

mysqlnd_qc.apc_prefix string

The APC storage handler stores data in the APC user cache. The setting sets a prefix to be used for cache entries.

mysqlnd_qc.memc_server string

MEMCACHE storage handler: memcache server host.

mysqlnd_qc.memc_port integer

MEMCACHE storage handler: memcached server port.

mysqlnd_qc.sqlite_data_file string

sqlite storage handler: data file. Any setting but :memory: may be of little practical value.

Installation
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

SQL hint related

Beispiel #1 Using SQL hint constants

The query cache is controlled by SQL hints. SQL hints are used to enable and disable caching. SQL hints can be used to set the TTL of a query.

The SQL hints recognized by the query cache can be manually changed at compile time. This makes it possible to use mysqlnd_qc in environments in which the default SQL hints are already taken and interpreted by other systems. Therefore it is recommended to use the SQL hint string constants instead of manually adding the default SQL hints to the query string.

<?php
/* Use constants for maximum portability */
$query = "/*" . MYSQLND_QC_ENABLE_SWITCH . "*/SELECT id FROM test";

/* Valid but less portable: default TTL */
$query = "/*qc=on*/SELECT id FROM test";

/* Valid but less portable: per statement TTL */
$query = "/*qc=on*//*qc_ttl=5*/SELECT id FROM test";

printf("MYSQLND_QC_ENABLE_SWITCH: %s\n", MYSQLND_QC_ENABLE_SWITCH);
printf("MYSQLND_QC_DISABLE_SWITCH: %s\n", MYSQLND_QC_DISABLE_SWITCH);
printf("MYSQLND_QC_TTL_SWITCH: %s\n", MYSQLND_QC_TTL_SWITCH);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

MYSQLND_QC_ENABLE_SWITCH: qc=on
MYSQLND_QC_DISABLE_SWITCH: qc=off
MYSQLND_QC_TTL_SWITCH: qc_ttl=

MYSQLND_QC_ENABLE_SWITCH (string)
SQL hint used to enable caching of a query.
MYSQLND_QC_DISABLE_SWITCH (string)
SQL hint used to disable caching of a query if mysqlnd_qc.cache_by_default = 1.
MYSQLND_QC_TTL_SWITCH (string)
SQL hint used to set the TTL of a result set.
MYSQLND_QC_SERVER_ID_SWITCH (string)
This SQL hint should not be used in general. It is needed by PECL/mysqlnd_ms to group cache entries for one statement but originating from different physical connections. If the hint is used connection settings such as user, hostname and charset are not considered for generating a cache key of a query. Instead the given value and the query string are used as input to the hashing function that generates the key. PECL/mysqlnd_ms may, if instructed, cache results from MySQL Replication slaves. Because it can hold many connections to the slave the cache key shall not be formed from the user, hostname or other settings that may vary for the various slave connections. Instead, PECL/mysqlnd_ms provides an identifier which refers to the group of slave connections that shall be enabled to share cache entries no matter which physical slave connection was to generate the cache entry. Use of this feature outside of PECL/mysqlnd_ms is not recommended.

mysqlnd_qc_set_cache_condition() related

Beispiel #2 Example mysqlnd_qc_set_cache_condition() usage

The function mysqlnd_qc_set_cache_condition() allows setting conditions for automatic caching of statements which don't begin with the SQL hints necessary to manually enable caching.

<?php
/* Cache all accesses to tables with the name "new%" in schema/database "db_example" for 1 second */
if (!mysqlnd_qc_set_cache_condition(MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN, "db_example.new%", 1)) {
  die("Failed to set cache condition!");
}

$mysqli = new mysqli("host", "user", "password", "db_example", "port");
/* cached although no SQL hint given  */
$mysqli->query("SELECT id, title FROM news");

$pdo_mysql = new PDO("mysql:host=host;dbname=db_example;port=port", "user", "password");
/* not cached: no SQL hint, no pattern match */
$pdo_mysql->query("SELECT id, title FROM latest_news");
/* cached: TTL 1 second, pattern match */
$pdo_mysql->query("SELECT id, title FROM news");
?>

MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN (int)
Used as a parameter of mysqlnd_qc_set_cache_condition() to set conditions for schema based automatic caching.

Other

The plugin version number can be obtained using either MYSQLND_QC_VERSION, which is the string representation of the numerical version number, or MYSQLND_QC_VERSION_ID, which is an integer such as 10000. Developers can calculate the version number as follows.

Version (part) | Example
Major*10000 | 1*10000 = 10000
Minor*100 | 0*100 = 0
Patch | 0 = 0
MYSQLND_QC_VERSION_ID | 10000

MYSQLND_QC_VERSION (string)
Plugin version string, for example, "1.0.0-prototype".

MYSQLND_QC_VERSION_ID (int)
Plugin version number, for example, 10000.

Laufzeit-Konfiguration
mysqlnd_qc Funktionen
mysqlnd_qc


mysqlnd_qc Funktionen

Inhaltsverzeichnis

  • mysqlnd_qc_clear_cache — Flush all cache contents
  • mysqlnd_qc_get_available_handlers — Returns a list of available storage handler
  • mysqlnd_qc_get_cache_info — Returns information on the current handler, the number of cache entries and cache entries, if available
  • mysqlnd_qc_get_core_stats — Statistics collected by the core of the query cache
  • mysqlnd_qc_get_normalized_query_trace_log — Returns a normalized query trace log for each query inspected by the query cache
  • mysqlnd_qc_get_query_trace_log — Returns a backtrace for each query inspected by the query cache
  • mysqlnd_qc_set_cache_condition — Set conditions for automatic caching
  • mysqlnd_qc_set_is_select — Installs a callback which decides whether a statement is cached
  • mysqlnd_qc_set_storage_handler — Change current storage handler
  • mysqlnd_qc_set_user_handlers — Sets the callback functions for a user-defined procedural storage handler
Vordefinierte Konstanten
mysqlnd_qc_clear_cache
mysqlnd_qc


Flush all cache contents

mysqlnd_qc Funktionen
mysqlnd_qc_get_available_handlers
mysqlnd_qc Funktionen
PHP Manual

mysqlnd_qc_clear_cache

(PECL mysqlnd_qc >= 1.0.0)

mysqlnd_qc_clear_cache — Flush all cache contents

Beschreibung

bool mysqlnd_qc_clear_cache ( void )

Flush all cache contents.

Flushing the cache is a storage handler responsibility. All built-in storage handler but the memcache storage handler support flushing the cache. The memcache storage handler cannot flush its cache contents.

User-defined storage handler may or may not support the operation.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

A return value of FALSE indicates that flushing all cache contents has failed or the operation is not supported by the active storage handler. Applications must not expect that calling the function will always flush the cache.

mysqlnd_qc Funktionen
mysqlnd_qc_get_available_handlers
mysqlnd_qc Funktionen


Returns a list of available storage handler

mysqlnd_qc_clear_cache
mysqlnd_qc_get_cache_info
mysqlnd_qc Funktionen
PHP Manual

mysqlnd_qc_get_available_handlers

(PECL mysqlnd_qc >= 1.0.0)

mysqlnd_qc_get_available_handlers — Returns a list of available storage handler

Beschreibung

array mysqlnd_qc_get_available_handlers ( void )

Which storage are available depends on the compile time configuration of the query cache plugin. The default storage handler is always available. All other storage handler must be enabled explicitly when building the extension.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array of available built-in storage handler. For each storage handler the version number and version string is given.

Beispiele

Beispiel #1 mysqlnd_qc_get_available_handlers() example

<?php
var_dump(mysqlnd_qc_get_available_handlers());
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

array(5) {
  ["default"]=>
  array(2) {
    ["version"]=>
    string(5) "1.0.0"
    ["version_number"]=>
    int(100000)
  }
  ["user"]=>
  array(2) {
    ["version"]=>
    string(5) "1.0.0"
    ["version_number"]=>
    int(100000)
  }
  ["APC"]=>
  array(2) {
    ["version"]=>
    string(5) "1.0.0"
    ["version_number"]=>
    int(100000)
  }
  ["MEMCACHE"]=>
  array(2) {
    ["version"]=>
    string(5) "1.0.0"
    ["version_number"]=>
    int(100000)
  }
  ["sqlite"]=>
  array(2) {
    ["version"]=>
    string(5) "1.0.0"
    ["version_number"]=>
    int(100000)
  }
}

Siehe auch

  • Installation
  • mysqlnd_qc_set_storage_handler() - Change current storage handler

mysqlnd_qc_clear_cache
mysqlnd_qc_get_cache_info
mysqlnd_qc Funktionen


Returns information on the current handler, the number of cache entries and cache entries, if available

mysqlnd_qc_get_available_handlers
mysqlnd_qc_get_core_stats
mysqlnd_qc Funktionen
PHP Manual

mysqlnd_qc_get_cache_info

(PECL mysqlnd_qc >= 1.0.0)

mysqlnd_qc_get_cache_info — Returns information on the current handler, the number of cache entries and cache entries, if available

Beschreibung

array mysqlnd_qc_get_cache_info ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns information on the current handler, the number of cache entries and cache entries, if available. If and what data will be returned for the cache entries is subject to the active storage handler. Storage handler are free to return any data. Storage handler are recommended to return at least the data provided by the default handler, if technically possible.

The scope of the information is the PHP process. Depending on the PHP deployment model a process may serve one or more web requests.

Values are aggregated for all cache activities on a per storage handler basis. It is not possible to tell how much queries originating from mysqli, PDO_MySQL or mysql.API calls have contributed to the aggregated data values. Use mysqlnd_qc_get_core_stats() to get timing data aggregated for all storage handlers.

Array of cache information

handler string

The active storage handler.

All storage handler. Since 1.0.0.

handler_version string

The version of the active storage handler.

All storage handler. Since 1.0.0.

num_entries int

The number of cache entries. The value depends on the storage handler in use.

The default, APC and SQLite storage handler provide the actual number of cache entries.

The MEMCACHE storage handler always returns 0. MEMCACHE does not support counting the number of cache entries.

If a user defined handler is used, the number of entries of the data property is reported.

Since 1.0.0.

data array

The version of the active storage handler.

Additional storage handler dependent data on the cache entries. Storage handler are requested to provide similar and comparable information. A user defined storage handler is free to return any data.

Since 1.0.0.

The following information is provided by the default storage handler for the data property.

The data property holds a hash. The hash is indexed by the internal cache entry identifier of the storage handler. The cache entry identifier is human-readable and contains the query string leading to the cache entry. Please, see also the example below. The following data is given for every cache entry.

statistics array

Statistics of the cache entry.

Since 1.0.0.

Property | Description | Version
rows | Number of rows of the cached result set. | Since 1.0.0.
stored_size | The size of the cached result set in bytes. This is the size of the payload. The value is not suited for calculating the total memory consumption of all cache entries including the administrative overhead of the cache entries. | Since 1.0.0.
cache_hits | How often the cached entry has been returned. | Since 1.0.0.
run_time | Run time of the statement to which the cache entry belongs. This is the run time of the uncached statement. It is the time between sending the statement to MySQL receiving a reply from MySQL. Run time saved by using the query cache plugin can be calculated like this: cache_hits * ((run_time - avg_run_time) + (store_time - avg_store_time)). | Since 1.0.0.
store_time | Store time of the statements result set to which the cache entry belongs. This is the time it took to fetch and store the results of the uncached statement. | Since 1.0.0.
min_run_time | Minimum run time of the cached statement. How long it took to find the statement in the cache. | Since 1.0.0.
min_store_time | Minimum store time of the cached statement. The time taken for fetching the cached result set from the storage medium and decoding | Since 1.0.0.
avg_run_time | Average run time of the cached statement. | Since 1.0.0.
avg_store_time | Average store time of the cached statement. | Since 1.0.0.
max_run_time | Average run time of the cached statement. | Since 1.0.0.
max_store_time | Average store time of the cached statement. | Since 1.0.0.
valid_until | Timestamp when the cache entry expires. | Since 1.1.0.
metadata array

Metadata of the cache entry. This is the metadata provided by MySQL together with the result set of the statement in question. Different versions of the MySQL server may return different metadata. Unlike with some of the PHP MySQL extensions no attempt is made to hide MySQL server version dependencies and version details from the caller. Please, refer to the MySQL C API documentation that belongs to the MySQL server in use for further details.

The metadata list contains one entry for every column.

Since 1.0.0.

Property | Description | Version
name | The field name. Depending on the MySQL version this may be the fields alias name. | Since 1.0.0.
org_name | The field name. | Since 1.0.0.
table | The table name. If an alias name was used for the table, this usually holds the alias name. | Since 1.0.0.
org_table | The table name. | Since 1.0.0.
db | The database/schema name. | Since 1.0.0.
max_length | The maximum width of the field. Details may vary by MySQL server version. | Since 1.0.0.
length | The width of the field. Details may vary by MySQL server version. | Since 1.0.0.
type | The data type of the field. Details may vary by the MySQL server in use. This is the MySQL C API type constants value. It is recommended to use type constants provided by the mysqli extension to test for its meaning. You should not test for certain type values by comparing with certain numbers. | Since 1.0.0.

The APC storage handler returns the same information for the data property but no metadata. The metadata of a cache entry is set to NULL.

The MEMCACHE storage handler does not fill the data property. Statistics are not available on a per cache entry basis with the MEMCACHE storage handler.

A user defined storage handler is free to provide any data.

Beispiele

Beispiel #1 mysqlnd_qc_get_cache_info() example

The example shows the output from the built-in default storage handler. Other storage handler may report different data.

<?php
/* Populate the cache, e.g. using mysqli */
$mysqli = new mysqli("host", "user", "password", "schema");
$mysqli->query("/*" . MYSQLND_QC_ENABLE_SWITCH . "*/SELECT id FROM test");

/* Display cache information */
var_dump(mysqlnd_qc_get_cache_info());
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

array(4) {
 ["num_entries"]=>
 int(1)
 ["handler"]=>
 string(7) "default"
 ["handler_version"]=>
 string(5) "1.0.0"
 ["data"]=>
 array(1) {
   ["Localhost via UNIX socket 3306 user schema|/*qc=on*/SELECT id FROM test"]=>
   array(2) {
     ["statistics"]=>
     array(11) {
       ["rows"]=>
       int(6)
       ["stored_size"]=>
       int(101)
       ["cache_hits"]=>
       int(0)
       ["run_time"]=>
       int(471)
       ["store_time"]=>
       int(27)
       ["min_run_time"]=>
       int(0)
       ["max_run_time"]=>
       int(0)
       ["min_store_time"]=>
       int(0)
       ["max_store_time"]=>
       int(0)
       ["avg_run_time"]=>
       int(0)
       ["avg_store_time"]=>
       int(0)
     }
     ["metadata"]=>
     array(1) {
       [0]=>
       array(8) {
         ["name"]=>
         string(2) "id"
         ["orig_name"]=>
         string(2) "id"
         ["table"]=>
         string(4) "test"
         ["orig_table"]=>
         string(4) "test"
         ["db"]=>
         string(4) "schema"
         ["max_length"]=>
         int(1)
         ["length"]=>
         int(11)
         ["type"]=>
         int(3)
       }
     }
   }
 }
}

Siehe auch

  • mysqlnd_qc_get_core_stats() - Statistics collected by the core of the query cache

mysqlnd_qc_get_available_handlers
mysqlnd_qc_get_core_stats
mysqlnd_qc Funktionen


Statistics collected by the core of the query cache

mysqlnd_qc_get_cache_info
mysqlnd_qc_get_normalized_query_trace_log
mysqlnd_qc Funktionen
PHP Manual

mysqlnd_qc_get_core_stats

(PECL mysqlnd_qc >= 1.0.0)

mysqlnd_qc_get_core_stats — Statistics collected by the core of the query cache

Beschreibung

array mysqlnd_qc_get_core_stats ( void )

Returns an array of statistics collected by the core of the cache plugin. The same data fields will be reported for any storage handler because the data is collected by the core.

The PHP configuration setting mysqlnd_qc.collect_statistics controls the collection of statistics. The collection of statistics is disabled by default for performance reasons. Disabling the collection of statistics will also disable the collection of time related statistics.

The PHP configuration setting mysqlnd_qc.collect_time_statistics controls the collection of time related statistics.

The scope of the core statistics is the PHP process. Depending on your deployment model a PHP process may handle one or multiple requests.

Statistics are aggregated for all cache entries and all storage handler. It is not possible to tell how much queries originating from mysqli, PDO_MySQL or mysql API calls have contributed to the aggregated data values.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Array of core statistics

Statistic | Description | Version
cache_hit | Statement is considered cacheable and cached data has been reused. Statement is considered cacheable and a cache miss happened but the statement got cached by someone else while we process it and thus we can fetch the result from the refreshed cache. | Since 1.0.0.
cache_miss Statement is considered cacheable...

  • ... and has been added to the cache

  • ... but the PHP configuration directive setting of mysqlnd_qc.cache_no_table = 1 has prevented caching.

  • ... but an unbuffered result set is requested.

  • ... but a buffered result set was empty.

Since 1.0.0.
cache_put | Statement is considered cacheable and has been added to the cache. Take care when calculating derived statistics. Storage handler with a storage life time beyond process scope may report cache_put = 0 together with cache_hit > 0, if another process has filled the cache. You may want to use num_entries from mysqlnd_qc_get_cache_info() if the handler supports it ( default, APC). | Since 1.0.0.
query_should_cache | Statement is considered cacheable based on query string analysis. The statement may or may not be added to the cache. See also cache_put. | Since 1.0.0.
query_should_not_cache | Statement is considered not cacheable based on query string analysis. | Since 1.0.0.
query_not_cached | Statement is considered not cacheable or it is considered cachable but the storage handler has not returned a hash key for it. | Since 1.0.0.
query_could_cache Statement is considered cacheable...

  • ... and statement has been run without errors

  • ... and meta data shows at least one column in the result set

The statement may or may not be in the cache already. It may or may not be added to the cache later on. 		Since 1.0.0.
query_found_in_cache | Statement is considered cacheable and we have found it in the cache but we have not replayed the cached data yet and we have not send the result set to the client yet. This is not considered a cache hit because the client might not fetch the result or the cached data may be faulty. | Since 1.0.0.
query_uncached_other | Statement is considered cacheable and it may or may not be in the cache already but either replaying cached data has failed, no result set is available or some other error has happened.
query_uncached_no_table | Statement has not been cached because the result set has at least one column which has no table name in its meta data. An example of such a query is SELECT SLEEP(1). To cache those statements you have to change default value of the PHP configuration directive mysqlnd_qc.cache_no_table and set mysqlnd_qc.cache_no_table = 1. Often, it is not desired to cache such statements. | Since 1.0.0.
query_uncached_use_result | Statement would have been cached if a buffered result set had been used. The situation is also considered as a cache miss and cache_miss will be incremented as well. | Since 1.0.0.
query_aggr_run_time_cache_hit | Aggregated run time (ms) of all cached queries. Cached queries are those which have incremented cache_hit. | Since 1.0.0.
query_aggr_run_time_cache_put | Aggregated run time (ms) of all uncached queries that have been put into the cache. See also cache_put. | Since 1.0.0.
query_aggr_run_time_total | Aggregated run time (ms) of all uncached and cached queries that have been inspected and executed by the query cache. | Since 1.0.0.
query_aggr_store_time_cache_hit | Aggregated store time (ms) of all cached queries. Cached queries are those which have incremented cache_hit. | Since 1.0.0.
query_aggr_store_time_cache_put | Aggregated store time ( ms) of all uncached queries that have been put into the cache. See also cache_put. | Since 1.0.0.
query_aggr_store_time_total | Aggregated store time (ms) of all uncached and cached queries that have been inspected and executed by the query cache. | Since 1.0.0.
receive_bytes_recorded | Recorded incoming network traffic ( bytes) send from MySQL to PHP. The traffic may or may not have been added to the cache. The traffic is the total for all queries regardless if cached or not. | Since 1.0.0.
receive_bytes_replayed | Network traffic replayed during cache. This is the total amount of incoming traffic saved because of the usage of the query cache plugin. | Since 1.0.0.
send_bytes_recorded | Recorded outgoing network traffic ( bytes) send from MySQL to PHP. The traffic may or may not have been added to the cache. The traffic is the total for all queries regardless if cached or not. | Since 1.0.0.
send_bytes_replayed | Network traffic replayed during cache. This is the total amount of outgoing traffic saved because of the usage of the query cache plugin. | Since 1.0.0.
slam_stale_refresh | Number of cache misses which triggered serving stale data until the client causing the cache miss has refreshed the cache entry. | Since 1.0.0.
slam_stale_hit | Number of cache hits while a stale cache entry gets refreshed. | Since 1.0.0.

Beispiele

Beispiel #1 mysqlnd_qc_get_core_stats() example

<?php
/* Enable collection of statistics - default: disabled */
ini_set("mysqlnd_qc.collect_statistics", 1);

/* Enable collection of all timing related statistics -
default: enabled but overruled by mysqlnd_qc.collect_statistics = 0 */
ini_set("mysqlnd_qc.collect_time_statistics", 1);

/* Populate the cache, e.g. using mysqli */
$mysqli = new mysqli('host', 'user', 'password', 'schema');

/* Cache miss and cache put */
$mysqli->query("/*qc=on*/SELECT id FROM test");
/* Cache hit */
$mysqli->query("/*qc=on*/SELECT id FROM test");

/* Display core statistics */
var_dump(mysqlnd_qc_get_core_stats());
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

array(26) {
  ["cache_hit"]=>
  string(1) "1"
  ["cache_miss"]=>
  string(1) "1"
  ["cache_put"]=>
  string(1) "1"
  ["query_should_cache"]=>
  string(1) "2"
  ["query_should_not_cache"]=>
  string(1) "0"
  ["query_not_cached"]=>
  string(1) "0"
  ["query_could_cache"]=>
  string(1) "2"
  ["query_found_in_cache"]=>
  string(1) "1"
  ["query_uncached_other"]=>
  string(1) "0"
  ["query_uncached_no_table"]=>
  string(1) "0"
  ["query_uncached_no_result"]=>
  string(1) "0"
  ["query_uncached_use_result"]=>
  string(1) "0"
  ["query_aggr_run_time_cache_hit"]=>
  string(1) "4"
  ["query_aggr_run_time_cache_put"]=>
  string(3) "395"
  ["query_aggr_run_time_total"]=>
  string(3) "399"
  ["query_aggr_store_time_cache_hit"]=>
  string(1) "2"
  ["query_aggr_store_time_cache_put"]=>
  string(1) "8"
  ["query_aggr_store_time_total"]=>
  string(2) "10"
  ["receive_bytes_recorded"]=>
  string(2) "65"
  ["receive_bytes_replayed"]=>
  string(2) "65"
  ["send_bytes_recorded"]=>
  string(2) "29"
  ["send_bytes_replayed"]=>
  string(2) "29"
  ["slam_stale_refresh"]=>
  string(1) "0"
  ["slam_stale_hit"]=>
  string(1) "0"
  ["request_counter"]=>
  int(1)
  ["process_hash"]=>
  int(3547549858)
}

Siehe auch

  • Runtime configuration
  • mysqlnd_qc.collect_statistics
  • mysqlnd_qc.time_statistics
  • mysqlnd_qc_get_cache_info() - Returns information on the current handler, the number of cache entries and cache entries, if available

mysqlnd_qc_get_cache_info
mysqlnd_qc_get_normalized_query_trace_log
mysqlnd_qc Funktionen


Returns a normalized query trace log for each query inspected by the query cache

mysqlnd_qc_get_core_stats
mysqlnd_qc_get_query_trace_log
mysqlnd_qc Funktionen
PHP Manual

mysqlnd_qc_get_normalized_query_trace_log

(PECL mysqlnd_qc >= 1.0.0)

mysqlnd_qc_get_normalized_query_trace_log — Returns a normalized query trace log for each query inspected by the query cache

Beschreibung

array mysqlnd_qc_get_normalized_query_trace_log ( void )

Returns a normalized query trace log for each query inspected by the query cache. The collection of the trace log is disabled by default. To collect the trace log you have to set the PHP configuration directive mysqlnd_qc.collect_normalized_query_trace to 1

Entries in the trace log are grouped by the normalized query statement. The normalized query statement is the query statement with all statement parameter values being replaced with a question mark. For example, the two statements SELECT id FROM test WHERE id = 1 and SELECT id FROM test WHERE id = 2 are normalized as SELECT id FROM test WHERE id = ?. Whenever a statement is inspected by the query cache which matches the normalized statement pattern, its statistics are grouped by the normalized statement string.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An array of query log. Every list entry contains the normalized query stringand further detail information.

Key | Description
query | Normalized statement string.
occurences | How many statements have matched the normalized statement string in addition to the one which has created the log entry. The value is zero if a statement has been normalized, its normalized representation has been added to the log but no further queries inspected by PECL/mysqlnd_qc have the same normalized statement string.
eligible_for_caching | Whether the statement could be cached. An statement eligible for caching has not necessarily been cached. It not possible to tell for sure if or how many cached statement have contributed to the aggregated normalized statement log entry. However, comparing the minimum and average run time one can make an educated guess.
avg_run_time | The average run time of all queries contributing to the query log entry. The run time is the time between sending the query statement to MySQL and receiving an answer from MySQL.
avg_store_time | The average store time of all queries contributing to the query log entry. The store time is the time needed to fetch a statements result set from the server to the client and, storing it on the client.
min_run_time | The minimum run time of all queries contributing to the query log entry.
min_store_time | The minimum store time of all queries contributing to the query log entry.
max_run_time | The maximum run time of all queries contributing to the query log entry.
max_store_time | The maximum store time of all queries contributing to the query log entry.

Beispiele

Beispiel #1 mysqlnd_qc_get_normalized_query_trace_log() example

mysqlnd_qc.collect_normalized_query_trace=1
<?php
/* Connect, create and populate test table */
$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2)");

/* not cached */
$res = $mysqli->query("SELECT id FROM test WHERE id = 1");
var_dump($res->fetch_assoc());
$res->free();

/* cache put */
$res = $mysqli->query("/*" . MYSQLND_QC_ENABLE_SWITCH . "*/" . "SELECT id FROM test WHERE id = 2");
var_dump($res->fetch_assoc());
$res->free();

/* cache hit */
$res = $mysqli->query("/*" . MYSQLND_QC_ENABLE_SWITCH . "*/" . "SELECT id FROM test WHERE id = 2");
var_dump($res->fetch_assoc());
$res->free();

var_dump(mysqlnd_qc_get_normalized_query_trace_log());
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

array(1) {
  ["id"]=>
  string(1) "1"
}
array(1) {
  ["id"]=>
  string(1) "2"
}
array(1) {
  ["id"]=>
  string(1) "2"
}
array(4) {
  [0]=>
  array(9) {
    ["query"]=>
    string(25) "DROP TABLE IF EXISTS test"
    ["occurences"]=>
    int(0)
    ["eligible_for_caching"]=>
    bool(false)
    ["avg_run_time"]=>
    int(0)
    ["min_run_time"]=>
    int(0)
    ["max_run_time"]=>
    int(0)
    ["avg_store_time"]=>
    int(0)
    ["min_store_time"]=>
    int(0)
    ["max_store_time"]=>
    int(0)
  }
  [1]=>
  array(9) {
    ["query"]=>
    string(27) "CREATE TABLE test (id INT )"
    ["occurences"]=>
    int(0)
    ["eligible_for_caching"]=>
    bool(false)
    ["avg_run_time"]=>
    int(0)
    ["min_run_time"]=>
    int(0)
    ["max_run_time"]=>
    int(0)
    ["avg_store_time"]=>
    int(0)
    ["min_store_time"]=>
    int(0)
    ["max_store_time"]=>
    int(0)
  }
  [2]=>
  array(9) {
    ["query"]=>
    string(40) "INSERT INTO test (id ) VALUES (? ), (? )"
    ["occurences"]=>
    int(0)
    ["eligible_for_caching"]=>
    bool(false)
    ["avg_run_time"]=>
    int(0)
    ["min_run_time"]=>
    int(0)
    ["max_run_time"]=>
    int(0)
    ["avg_store_time"]=>
    int(0)
    ["min_store_time"]=>
    int(0)
    ["max_store_time"]=>
    int(0)
  }
  [3]=>
  array(9) {
    ["query"]=>
    string(31) "SELECT id FROM test WHERE id =?"
    ["occurences"]=>
    int(2)
    ["eligible_for_caching"]=>
    bool(true)
    ["avg_run_time"]=>
    int(159)
    ["min_run_time"]=>
    int(12)
    ["max_run_time"]=>
    int(307)
    ["avg_store_time"]=>
    int(10)
    ["min_store_time"]=>
    int(8)
    ["max_store_time"]=>
    int(13)
  }
}

Siehe auch

  • Runtime configuration
  • mysqlnd_qc.collect_normalized_query_trace
  • mysqlnd_qc.time_statistics
  • mysqlnd_qc_get_query_trace_log() - Returns a backtrace for each query inspected by the query cache

mysqlnd_qc_get_core_stats
mysqlnd_qc_get_query_trace_log
mysqlnd_qc Funktionen


Returns a backtrace for each query inspected by the query cache

mysqlnd_qc_get_normalized_query_trace_log
mysqlnd_qc_set_cache_condition
mysqlnd_qc Funktionen
PHP Manual

mysqlnd_qc_get_query_trace_log

(PECL mysqlnd_qc >= 1.0.0)

mysqlnd_qc_get_query_trace_log — Returns a backtrace for each query inspected by the query cache

Beschreibung

array mysqlnd_qc_get_query_trace_log ( void )

Returns a backtrace for each query inspected by the query cache. The collection of the backtrace is disabled by default. To collect the backtrace you have to set the PHP configuration directive mysqlnd_qc.collect_query_trace to 1

The maximum depth of the backtrace is limited to the depth set with the PHP configuration directive mysqlnd_qc.query_trace_bt_depth.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An array of query backtrace. Every list entry contains the query string, a backtrace and further detail information.

Key | Description
query | Query string.
origin | Code backtrace.
run_time | Query run time in milliseconds. The collection of all times and the necessary gettimeofday system calls can be disabled by setting the PHP configuration directive mysqlnd_qc.time_statistics to 0
store_time | Query result set store time in milliseconds. The collection of all times and the necessary gettimeofday system calls can be disabled by setting the PHP configuration directive mysqlnd_qc.time_statistics to 0
eligible_for_caching | TRUE if query is cacheable otherwise FALSE.
no_table | TRUE if the query has generated a result set and at least one column from the result set has no table name set in its metadata. This is usually the case with queries which one probably do not want to cache such as SELECT SLEEP(1). By default any such query will not be added to the cache. See also PHP configuration directive mysqlnd_qc.cache_no_table.
was_added | TRUE if the query result has been put into the cache, otherwise FALSE.
was_already_in_cache | TRUE if the query result would have been added to the cache if it was not already in the cache (cache hit). Otherwise FALSE.

Beispiele

Beispiel #1 mysqlnd_qc_get_query_trace_log() example

mysqlnd_qc.collect_query_trace=1
<?php
/* Connect, create and populate test table */
$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2)");

/* not cached */
$res = $mysqli->query("SELECT id FROM test WHERE id = 1");
var_dump($res->fetch_assoc());
$res->free();

/* cache put */
$res = $mysqli->query("/*" . MYSQLND_QC_ENABLE_SWITCH . "*/" . "SELECT id FROM test WHERE id = 2");
var_dump($res->fetch_assoc());
$res->free();

/* cache hit */
$res = $mysqli->query("/*" . MYSQLND_QC_ENABLE_SWITCH . "*/" . "SELECT id FROM test WHERE id = 2");
var_dump($res->fetch_assoc());
$res->free();

var_dump(mysqlnd_qc_get_query_trace_log());
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

array(1) {
  ["id"]=>
  string(1) "1"
}
array(1) {
  ["id"]=>
  string(1) "2"
}
array(1) {
  ["id"]=>
  string(1) "2"
}
array(6) {
  [0]=>
  array(8) {
    ["query"]=>
    string(25) "DROP TABLE IF EXISTS test"
    ["origin"]=>
    string(102) "#0 qc.php(4): mysqli->query('DROP TABLE IF E...')
#1 {main}"
    ["run_time"]=>
    int(0)
    ["store_time"]=>
    int(0)
    ["eligible_for_caching"]=>
    bool(false)
    ["no_table"]=>
    bool(false)
    ["was_added"]=>
    bool(false)
    ["was_already_in_cache"]=>
    bool(false)
  }
  [1]=>
  array(8) {
    ["query"]=>
    string(25) "CREATE TABLE test(id INT)"
    ["origin"]=>
    string(102) "#0 qc.php(5): mysqli->query('CREATE TABLE te...')
#1 {main}"
    ["run_time"]=>
    int(0)
    ["store_time"]=>
    int(0)
    ["eligible_for_caching"]=>
    bool(false)
    ["no_table"]=>
    bool(false)
    ["was_added"]=>
    bool(false)
    ["was_already_in_cache"]=>
    bool(false)
  }
  [2]=>
  array(8) {
    ["query"]=>
    string(36) "INSERT INTO test(id) VALUES (1), (2)"
    ["origin"]=>
    string(102) "#0 qc.php(6): mysqli->query('INSERT INTO tes...')
#1 {main}"
    ["run_time"]=>
    int(0)
    ["store_time"]=>
    int(0)
    ["eligible_for_caching"]=>
    bool(false)
    ["no_table"]=>
    bool(false)
    ["was_added"]=>
    bool(false)
    ["was_already_in_cache"]=>
    bool(false)
  }
  [3]=>
  array(8) {
    ["query"]=>
    string(32) "SELECT id FROM test WHERE id = 1"
    ["origin"]=>
    string(102) "#0 qc.php(9): mysqli->query('SELECT id FROM ...')
#1 {main}"
    ["run_time"]=>
    int(0)
    ["store_time"]=>
    int(25)
    ["eligible_for_caching"]=>
    bool(false)
    ["no_table"]=>
    bool(false)
    ["was_added"]=>
    bool(false)
    ["was_already_in_cache"]=>
    bool(false)
  }
  [4]=>
  array(8) {
    ["query"]=>
    string(41) "/*qc=on*/SELECT id FROM test WHERE id = 2"
    ["origin"]=>
    string(103) "#0 qc.php(14): mysqli->query('/*qc=on*/SELECT...')
#1 {main}"
    ["run_time"]=>
    int(311)
    ["store_time"]=>
    int(13)
    ["eligible_for_caching"]=>
    bool(true)
    ["no_table"]=>
    bool(false)
    ["was_added"]=>
    bool(true)
    ["was_already_in_cache"]=>
    bool(false)
  }
  [5]=>
  array(8) {
    ["query"]=>
    string(41) "/*qc=on*/SELECT id FROM test WHERE id = 2"
    ["origin"]=>
    string(103) "#0 qc.php(19): mysqli->query('/*qc=on*/SELECT...')
#1 {main}"
    ["run_time"]=>
    int(13)
    ["store_time"]=>
    int(8)
    ["eligible_for_caching"]=>
    bool(true)
    ["no_table"]=>
    bool(false)
    ["was_added"]=>
    bool(false)
    ["was_already_in_cache"]=>
    bool(true)
  }
}

Siehe auch

  • Runtime configuration
  • mysqlnd_qc.collect_query_trace
  • mysqlnd_qc.query_trace_bt_depth
  • mysqlnd_qc.time_statistics
  • mysqlnd_qc.cache_no_table
  • mysqlnd_qc_get_normalized_query_trace_log() - Returns a normalized query trace log for each query inspected by the query cache

mysqlnd_qc_get_normalized_query_trace_log
mysqlnd_qc_set_cache_condition
mysqlnd_qc Funktionen


Set conditions for automatic caching

mysqlnd_qc_get_query_trace_log
mysqlnd_qc_set_is_select
mysqlnd_qc Funktionen
PHP Manual

mysqlnd_qc_set_cache_condition

(PECL mysqlnd_qc >= 1.1.0)

mysqlnd_qc_set_cache_condition — Set conditions for automatic caching

Beschreibung

bool mysqlnd_qc_set_cache_condition ( int $condition_type , mixed $condition , mixed $condition_option )

Sets a condition for automatic caching of statements which do not contain the necessary SQL hints to enable caching of them.

Parameter-Liste

condition_type

Type of the condition. The only allowed value is MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN.

condition

Parameter for the condition set with condition_type. Parameter type and structure depend on condition_type

If condition_type equals MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN condition must be a string. The string sets a pattern. Statements are cached if table and database meta data entry of their result sets match the pattern. The pattern is checked for a match with the db and org_table meta data entries provided by the underlying MySQL client server library. Please, check the MySQL Reference manual for details about the two entries. The db and org_table values are concatenated with a dot (.) before matched against condition. Pattern matching supports the wildcards % and _. The wildcard % will match one or many arbitrary characters. _ will match one arbitrary character. The escape symbol is backslash.

condition_option

Option for condition. Type and structure depend on condition_type.

If condition_type equals MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN condition_options is the TTL to be used.

Beispiele

Beispiel #1 mysqlnd_qc_set_cache_condition() example

<?php
/* Cache all accesses to tables with the name "new%" in schema/database "db_example" for 1 second */
if (!mysqlnd_qc_set_cache_condition(MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN, "db_example.new%", 1)) {
  die("Failed to set cache condition!");
}

$mysqli = new mysqli("host", "user", "password", "db_example", "port");
/* cached although no SQL hint given  */
$mysqli->query("SELECT id, title FROM news");

$pdo_mysql = new PDO("mysql:host=host;dbname=db_example;port=port", "user", "password");
/* not cached: no SQL hint, no pattern match */
$pdo_mysql->query("SELECT id, title FROM latest_news");
/* cached: TTL 1 second, pattern match */
$pdo_mysql->query("SELECT id, title FROM news");
?>

Rückgabewerte

Returns TRUE on success or FALSE on FAILURE.

Siehe auch

  • Quickstart: pattern based caching

mysqlnd_qc_get_query_trace_log
mysqlnd_qc_set_is_select
mysqlnd_qc Funktionen


Installs a callback which decides whether a statement is cached

mysqlnd_qc_set_cache_condition
mysqlnd_qc_set_storage_handler
mysqlnd_qc Funktionen
PHP Manual

mysqlnd_qc_set_is_select

(PECL mysqlnd_qc >= 1.0.0)

mysqlnd_qc_set_is_select — Installs a callback which decides whether a statement is cached

Beschreibung

mixed mysqlnd_qc_set_is_select ( string $callback )

Installs a callback which decides whether a statement is cached.

There are several ways of hinting PELC/mysqlnd_qc to cache a query. By default, PECL/mysqlnd_qc attempts to cache a if caching of all statements is enabled or the query string begins with a certain SQL hint. The plugin internally calls a function named is_select() to find out. This internal function can be replaced with a user-defined callback. Then, the user-defined callback is responsible to decide whether the plugin attempts to cache a statement. Because the internal function is replaced with the callback, the callback gains full control. The callback is free to ignore the configuration setting mysqlnd_qc.cache_by_default and SQL hints.

The callback is invoked for every statement inspected by the plugin. It is given the statements string as a parameter. The callback returns FALSE if the statement shall not be cached. It returns TRUE to make the plugin attempt to cache the statements result set, if any. A so-created cache entry is given the default TTL set with the PHP configuration directive mysqlnd_qc.ttl. If a different TTL shall be used, the callback returns a numeric value to be used as the TTL.

The internal is_select function is part of the internal cache storage handler interface. Thus, a user-defined storage handler offers the same capabilities.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 mysqlnd_qc_set_is_select() example

<?php
/* callback which decides if query is cached */
function is_select($query) {
  static $patterns = array(
   /* true - use default from mysqlnd_qc.ttl */
   "@SELECT\s+.*\s+FROM\s+test@ismU" => true,
   /* 3 - use TTL = 3 seconds */
   "@SELECT\s+.*\s+FROM\s+news@ismU" => 3
  );
  /* check if query does match pattern */
  foreach ($patterns as $pattern => $ttl) {
    if (preg_match($pattern, $query)) {
      printf("is_select(%45s): cache\n", $query);
      return $ttl;
    }
  }
  printf("is_select(%45s): do not cache\n", $query);
  return false;
}
mysqlnd_qc_set_is_select("is_select");

/* Connect, create and populate test table */
$mysqli = new mysqli("host", "user", "password", "schema");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3)");

/* cache put */
$mysqli->query("SELECT id FROM test WHERE id = 1");
/* cache hit */
$mysqli->query("SELECT id FROM test WHERE id = 1");
/* cache put */
$mysqli->query("SELECT * FROM test");
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

is_select(                    DROP TABLE IF EXISTS test): do not cache
is_select(                    CREATE TABLE test(id INT)): do not cache
is_select(    INSERT INTO test(id) VALUES (1), (2), (3)): do not cache
is_select(             SELECT id FROM test WHERE id = 1): cache
is_select(             SELECT id FROM test WHERE id = 1): cache
is_select(                           SELECT * FROM test): cache

Siehe auch

  • Runtime configuration
  • mysqlnd_qc.ttl
  • mysqlnd_qc.cache_by_default
  • mysqlnd_qc_set_user_handlers() - Sets the callback functions for a user-defined procedural storage handler

mysqlnd_qc_set_cache_condition
mysqlnd_qc_set_storage_handler
mysqlnd_qc Funktionen


Change current storage handler

mysqlnd_qc_set_is_select
mysqlnd_qc_set_user_handlers
mysqlnd_qc Funktionen
PHP Manual

mysqlnd_qc_set_storage_handler

(PECL mysqlnd_qc >= 1.0.0)

mysqlnd_qc_set_storage_handler — Change current storage handler

Beschreibung

bool mysqlnd_qc_set_storage_handler ( string $handler )

Sets the storage handler used by the query cache. A list of available storage handler can be obtained from mysqlnd_qc_get_available_handlers(). Which storage are available depends on the compile time configuration of the query cache plugin. The default storage handler is always available. All other storage handler must be enabled explicitly when building the extension.

Parameter-Liste

handler

Handler can be of type string representing the name of a built-in storage handler or an object of type mysqlnd_qc_handler_default. The names of the built-in storage handler are default, APC, MEMCACHE, sqlite.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

If changing the storage handler fails a catchable fatal error will be thrown. The query cache cannot operate if the previous storage handler has been shutdown but no new storage handler has been installed.

Beispiele

Beispiel #1 mysqlnd_qc_set_storage_handler() example

The example shows the output from the built-in default storage handler. Other storage handler may report different data.

<?php
var_dump(mysqlnd_qc_set_storage_handler("memcache"));

if (true === mysqlnd_qc_set_storage_handler("default"))
  printf("Default storage handler activated");

/* Catchable fatal error */
var_dump(mysqlnd_qc_set_storage_handler("unknown"));
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

bool(true)
Default storage handler activated
Catchable fatal error: mysqlnd_qc_set_storage_handler(): Unknown handler 'unknown' in (file) on line (line)

Siehe auch

  • Installation
  • mysqlnd_qc_get_available_handlers() - Returns a list of available storage handler

mysqlnd_qc_set_is_select
mysqlnd_qc_set_user_handlers
mysqlnd_qc Funktionen


Sets the callback functions for a user-defined procedural storage handler

mysqlnd_qc_set_storage_handler
Change History
mysqlnd_qc Funktionen
PHP Manual

mysqlnd_qc_set_user_handlers

(PECL mysqlnd_qc >= 1.0.0)

mysqlnd_qc_set_user_handlers — Sets the callback functions for a user-defined procedural storage handler

Beschreibung

bool mysqlnd_qc_set_user_handlers ( string $get_hash , string $find_query_in_cache , string $return_to_cache , string $add_query_to_cache_if_not_exists , string $query_is_select , string $update_query_run_time_stats , string $get_stats , string $clear_cache )

Sets the callback functions for a user-defined procedural storage handler.

Parameter-Liste

get_hash

Name of the user function implementing the storage handler get_hash functionality.

find_query_in_cache

Name of the user function implementing the storage handler find_in_cache functionality.

return_to_cache

Name of the user function implementing the storage handler return_to_cache functionality.

add_query_to_cache_if_not_exists

Name of the user function implementing the storage handler add_query_to_cache_if_not_exists functionality.

query_is_select

Name of the user function implementing the storage handler query_is_select functionality.

update_query_run_time_stats

Name of the user function implementing the storage handler update_query_run_time_stats functionality.

get_stats

Name of the user function implementing the storage handler get_stats functionality.

clear_cache

Name of the user function implementing the storage handler clear_cache functionality.

Rückgabewerte

Returns TRUE on success or FALSE on FAILURE.

Siehe auch

  • Procedural user-defined storage handler example

mysqlnd_qc_set_storage_handler
Change History
mysqlnd_qc Funktionen


Change History

Inhaltsverzeichnis

  • PECL/mysqlnd_qc 1.2 series
  • PECL/mysqlnd_qc 1.1 series
  • PECL/mysqlnd_qc 1.0 series

This change history is a high level summary of selected changes that may impact applications and/or break backwards compatibility.

See also the CHANGES file in the source distribution for a complete list of changes.

mysqlnd_qc_set_user_handlers
PECL/mysqlnd_qc 1.2 series
mysqlnd_qc


PECL/mysqlnd_qc 1.2 series

1.2.0 - alpha

  • Release date: 03/2013
  • Motto/theme: PHP 5.5 compatibility

Feature changes

  • Update build for PHP 5.5 (Credits: Remi Collet)

  • APC storage handler update

    • Fix build for APC 3.1.13-beta and trunk

  • Introduced MYSQLND_QC_VERSION and MYSQLND_QC_VERSION_ID.

Change History
PECL/mysqlnd_qc 1.1 series
Change History


PECL/mysqlnd_qc 1.1 series

1.1.0 - stable

  • Release date: 04/2012
  • Motto/theme: PHP 5.4 compatibility, schema pattern based caching and mysqlnd_ms support

1.1.0 - beta

  • Release date: 04/2012
  • Motto/theme: PHP 5.4 compatibility, schema pattern based caching and mysqlnd_ms support

1.1.0 - alpha

  • Release date: 04/2012
  • Motto/theme: PHP 5.4 compatibility, schema pattern based caching and mysqlnd_ms support

Feature changes

  • APC storage handler update

    • Fix build for APC 3.1.9+
    • Note: Use of the APC storage handler is currently not recommended due to stability issues of APC itself.

  • New PHP configuration directives

    • mysqlnd_qc.collect_statistics_log_file. Aggregated cache statistics log file written after every 10th request served by the PHP process.
    • mysqlnd_qc.ignore_sql_comments. Control whether SQL comments are ignored for cache key hash generation.

  • New constants and SQL hints

    • MYSQLND_QC_SERVER_ID_SWITCH allows grouping of cache entries from different physical connections. This is needed by PECL/mysqlnd_ms.
    • MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN to be used with mysqlnd_qc_set_cache_condition().

  • New function mysqlnd_qc_set_cache_condition() for built-in schema pattern based caching. Likely to support a wider range of conditions in the future.

  • Report valid_until timestamp for cache entries of the default handler through mysqlnd_qc_get_cache_info().

  • Include charset number for cache entry hashing. This should prevent serving result sets which have the wrong charset.

    API change: get_hash_key expects new "charsetnr" (int) parameter after "port".

  • API change: changing is_select() signature from bool is_select() to mixed is_select(). Mixed can be either boolean or array(long ttl, string server_id). This is needed by PECL/mysqlnd_ms.

Other

  • Support acting as a cache backend for PECL/mysqlnd_ms 1.3.0-beta or later to transparently replace MySQL Replication slave reads with cache accesses, if the user explicitly allows.

Bug fixes

  • Fixed Bug #59959 (config.m4, wrong library - 64bit memcached handler builds) (Credits: Remi Collet)

PECL/mysqlnd_qc 1.2 series
PECL/mysqlnd_qc 1.0 series
Change History


PECL/mysqlnd_qc 1.0 series

1.0.1-stable

  • Release date: 12/2010
  • Motto/theme: Prepared statement support

Added support for Prepared statements and unbuffered queries.

1.0.0-beta

  • Release date: 07/2010
  • Motto/theme: TTL-based cache with various storage options (Memcache, APC, SQLite, user-defined)

Initial public release of the transparent TTL-based query result cache. Flexible storage of cached results. Various storage media supported.

PECL/mysqlnd_qc 1.1 series
mysqlnd_uh
Change History


Mysqlnd user handler plugin

  • Einführung
  • Quickstart and Examples
    • Setup
    • How it works
    • Installing a proxy
    • Basic query monitoring
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • MysqlndUhConnection — The MysqlndUhConnection class
    • MysqlndUhConnection::changeUser — Changes the user of the specified mysqlnd database connection
    • MysqlndUhConnection::charsetName — Returns the default character set for the database connection
    • MysqlndUhConnection::close — Closes a previously opened database connection
    • MysqlndUhConnection::connect — Open a new connection to the MySQL server
    • MysqlndUhConnection::__construct — The __construct purpose
    • MysqlndUhConnection::endPSession — End a persistent connection
    • MysqlndUhConnection::escapeString — Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
    • MysqlndUhConnection::getAffectedRows — Gets the number of affected rows in a previous MySQL operation
    • MysqlndUhConnection::getErrorNumber — Returns the error code for the most recent function call
    • MysqlndUhConnection::getErrorString — Returns a string description of the last error
    • MysqlndUhConnection::getFieldCount — Returns the number of columns for the most recent query
    • MysqlndUhConnection::getHostInformation — Returns a string representing the type of connection used
    • MysqlndUhConnection::getLastInsertId — Returns the auto generated id used in the last query.
    • MysqlndUhConnection::getLastMessage — Retrieves information about the most recently executed query
    • MysqlndUhConnection::getProtocolInformation — Returns the version of the MySQL protocol used
    • MysqlndUhConnection::getServerInformation — Returns the version of the MySQL server
    • MysqlndUhConnection::getServerStatistics — Gets the current system status
    • MysqlndUhConnection::getServerVersion — Returns the version of the MySQL server as an integer
    • MysqlndUhConnection::getSqlstate — Returns the SQLSTATE error from previous MySQL operation
    • MysqlndUhConnection::getStatistics — Returns statistics about the client connection.
    • MysqlndUhConnection::getThreadId — Returns the thread ID for the current connection
    • MysqlndUhConnection::getWarningCount — Returns the number of warnings from the last query for the given link
    • MysqlndUhConnection::init — Initialize mysqlnd connection
    • MysqlndUhConnection::killConnection — Asks the server to kill a MySQL thread
    • MysqlndUhConnection::listFields — List MySQL table fields
    • MysqlndUhConnection::listMethod — Wrapper for assorted list commands
    • MysqlndUhConnection::moreResults — Check if there are any more query results from a multi query
    • MysqlndUhConnection::nextResult — Prepare next result from multi_query
    • MysqlndUhConnection::ping — Pings a server connection, or tries to reconnect if the connection has gone down
    • MysqlndUhConnection::query — Performs a query on the database
    • MysqlndUhConnection::queryReadResultsetHeader — Read a result set header
    • MysqlndUhConnection::reapQuery — Get result from async query
    • MysqlndUhConnection::refreshServer — Flush or reset tables and caches
    • MysqlndUhConnection::restartPSession — Restart a persistent mysqlnd connection
    • MysqlndUhConnection::selectDb — Selects the default database for database queries
    • MysqlndUhConnection::sendClose — Sends a close command to MySQL
    • MysqlndUhConnection::sendQuery — Sends a query to MySQL
    • MysqlndUhConnection::serverDumpDebugInformation — Dump debugging information into the log for the MySQL server
    • MysqlndUhConnection::setAutocommit — Turns on or off auto-committing database modifications
    • MysqlndUhConnection::setCharset — Sets the default client character set
    • MysqlndUhConnection::setClientOption — Sets a client option
    • MysqlndUhConnection::setServerOption — Sets a server option
    • MysqlndUhConnection::shutdownServer — The shutdownServer purpose
    • MysqlndUhConnection::simpleCommand — Sends a basic COM_* command
    • MysqlndUhConnection::simpleCommandHandleResponse — Process a response for a basic COM_* command send to the client
    • MysqlndUhConnection::sslSet — Used for establishing secure connections using SSL
    • MysqlndUhConnection::stmtInit — Initializes a statement and returns a resource for use with mysqli_statement::prepare
    • MysqlndUhConnection::storeResult — Transfers a result set from the last query
    • MysqlndUhConnection::txCommit — Commits the current transaction
    • MysqlndUhConnection::txRollback — Rolls back current transaction
    • MysqlndUhConnection::useResult — Initiate a result set retrieval
  • MysqlndUhPreparedStatement — The MysqlndUhPreparedStatement class
    • MysqlndUhPreparedStatement::__construct — The __construct purpose
    • MysqlndUhPreparedStatement::execute — Executes a prepared Query
    • MysqlndUhPreparedStatement::prepare — Prepare an SQL statement for execution
  • Mysqlnd_uh Funktionen
    • mysqlnd_uh_convert_to_mysqlnd — Converts a MySQL connection handle into a mysqlnd connection handle
    • mysqlnd_uh_set_connection_proxy — Installs a proxy for mysqlnd connections
    • mysqlnd_uh_set_statement_proxy — Installs a proxy for mysqlnd statements
  • Change History
    • PECL/mysqlnd_uh 1.0 series
PECL/mysqlnd_qc 1.0 series
Einführung
MySQL


Einführung

The mysqlnd user handler plugin (mysqlnd_uh) allows users to set hooks for most internal calls of the MySQL native driver for PHP (mysqlnd). Mysqlnd and its plugins, including PECL/mysqlnd_uh, operate on a layer beneath the PHP MySQL extensions. A mysqlnd plugin can be considered as a proxy between the PHP MySQL extensions and the MySQL server as part of the PHP executable on the client-side. Because the plugins operates on their own layer below the PHP MySQL extensions, they can monitor and change application actions without requiring application changes. If the PHP MySQL extensions (mysqli, mysql, PDO_MYSQL) are compiled to use mysqlnd this can be used for:

  • Monitoring

    • Queries executed by any of the PHP MySQL extensions

    • Prepared statements executing by any of the PHP MySQL extensions

  • Auditing

    • Detection of database usage

    • SQL injection protection using black and white lists

  • Assorted

    • Load Balancing connections

The MySQL native driver for PHP (mysqlnd) features an internal plugin C API. C plugins, such as the mysqlnd user handler plugin, can extend the functionality of mysqlnd. PECL/mysqlnd_uh makes parts of the internal plugin C API available to the PHP user for plugin development with PHP.

Hinweis: Status

The mysqlnd user handler plugin is in alpha status. Take appropriate care before using it in production environments.

Security considerations

PECL/mysqlnd_uh gives users access to MySQL user names, MySQL password used by any of the PHP MySQL extensions to connect to MySQL. It allows monitoring of all queries and prepared statements exposing the statement string to the user. Therefore, the extension should be installed with care. The PHP_INI_SYSTEM configuration setting mysqlnd_uh.enable can be used to prevent users from hooking mysqlnd calls.

Code obfuscators and similar technologies are not suitable to prevent monitoring of mysqlnd library activities if PECL/mysqlnd_uh is made available and the user can install a proxy, for example, using auto_prepend_file.

Documentation note

Many of the mysqlnd_uh functions are briefly described because the mysqli extension is a thin abstraction layer on top of the MySQL C API that the mysqlnd library provides. Therefore, the corresponding mysqli documentation (along with the MySQL reference manual) can be consulted to receive more information about a particular function.

On the name

The shortcut mysqlnd_uh stands for mysqlnd user handler, and has been the name since early development.

mysqlnd_uh
Quickstart and Examples
mysqlnd_uh


Quickstart and Examples

Inhaltsverzeichnis

  • Setup
  • How it works
  • Installing a proxy
  • Basic query monitoring

The mysqlnd user handler plugin can be understood as a client-side proxy for all PHP MySQL extensions (mysqli, mysql, PDO_MYSQL), if they are compiled to use the mysqlnd library. The extensions use the mysqlnd library internally, at the C level, to communicate with the MySQL server. PECL/mysqlnd_uh allows it to hook many mysqlnd calls. Therefore, most activities of the PHP MySQL extensions can be monitored.

Because monitoring happens at the level of the library, at a layer below the application, it is possible to monitor applications without changing them.

On the C level, the mysqlnd library is structured in modules or classes. The extension hooks almost all methods of the mysqlnd internal connection class and exposes them through the user space class MysqlndUhConnection. Some few methods of the mysqlnd internal statement class are made available to the PHP user with the class MysqlndUhPreparedStatement. By subclassing the classes MysqlndUhConnection and MysqlndUhPreparedStatement users get access to mysqlnd internal function calls.

Hinweis:

The internal mysqlnd function calls are not designed to be exposed to the PHP user. Manipulating their activities may cause PHP to crash or leak memory. Often, this is not considered a bug. Please, keep in mind that you are accessing C library functions through PHP which are expected to take certain actions, which you may not be able to emulate in user space. Therefore, it is strongly recommended to always call the parent method implementation when subclassing MysqlndUhConnection or MysqlndUhPreparedStatement. To prevent the worst case, the extension performs some sanity checks. Please, see also the Mysqlnd_uh Konfigurationsoptionen.

Einführung
Setup
mysqlnd_uh


Setup

The plugin is implemented as a PHP extension. See the installation instructions to install the » PECL/mysqlnd_uh extension. Then, load the extension into PHP and activate the plugin in the PHP configuration file using the PHP configuration directive named mysqlnd_uh.enable. The below example shows the default settings of the extension.

Beispiel #1 Enabling the plugin (php.ini)

mysqlnd_uh.enable=1
mysqlnd_uh.report_wrong_types=1

Quickstart and Examples
How it works
Quickstart and Examples


How it works

This describes the background and inner workings of the mysqlnd_uh extension.

Two classes are provided by the extension: MysqlndUhConnection and MysqlndUhPreparedStatement. MysqlndUhConnection lets you access almost all methods of the mysqlnd internal connection class. The latter exposes some selected methods of the mysqlnd internal statement class. For example, MysqlndUhConnection::connect() maps to the mysqlnd library C function mysqlnd_conn__connect.

As a mysqlnd plugin, the PECL/mysqlnd_uh extension replaces mysqlnd library C functions with its own functions. Whenever a PHP MySQL extension compiled to use mysqlnd calls a mysqlnd function, the functions installed by the plugin are executed instead of the original mysqlnd ones. For example, mysqli_connect() invokes mysqlnd_conn__connect, so the connect function installed by PECL/mysqlnd_uh will be called. The functions installed by PECL/mysqlnd_uh are the methods of the built-in classes.

The built-in PHP classes and their methods do nothing but call their mysqlnd C library counterparts, to behave exactly like the original mysqlnd function they replace. The code below illustrates in pseudo-code what the extension does.

Beispiel #1 Pseudo-code: what a built-in class does

class MysqlndUhConnection {
  public function connect(($conn, $host, $user, $passwd, $db, $port, $socket, $mysql_flags) {
    MYSQLND* c_mysqlnd_connection = convert_from_php_to_c($conn);
    ...
    return call_c_function(mysqlnd_conn__connect(c_mysqlnd_connection, ...));
  }
}

The build-in classes behave like a transparent proxy. It is possible for you to replace the proxy with your own. This is done by subclassing MysqlndUhConnection or MysqlndUhPreparedStatement to extend the functionality of the proxy, followed by registering a new proxy object. Proxy objects are installed by mysqlnd_uh_set_connection_proxy() and mysqlnd_uh_set_statement_proxy().

Beispiel #2 Installing a proxy

<?php
class proxy extends MysqlndUhConnection {
 public function connect($res, $host, $user, $passwd, $db, $port, $socket, $mysql_flags) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::connect($res, $host, $user, $passwd, $db, $port, $socket, $mysql_flags);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::connect(array (
  0 => NULL,
  1 => 'localhost',
  2 => 'root',
  3 => '',
  4 => 'test',
  5 => 3306,
  6 => NULL,
  7 => 131072,
))
proxy::connect returns true

Setup
Installing a proxy
Quickstart and Examples


Installing a proxy

The extension provides two built-in classes: MysqlndUhConnection and MysqlndUhPreparedStatement. The classes are used for hooking mysqlnd library calls. Their methods correspond to mysqlnd internal functions. By default they act like a transparent proxy and do nothing but call their mysqlnd counterparts. By subclassing the classes you can install your own proxy to monitor mysqlnd.

See also the How it works guide to learn about the inner workings of this extension.

Connection proxies are objects of the type MysqlndUhConnection. Connection proxy objects are installed by mysqlnd_uh_set_connection_proxy(). If you install the built-in class MysqlndUhConnection as a proxy, nothing happens. It behaves like a transparent proxy.

Beispiel #1 Proxy registration, mysqlnd_uh.enable=1

<?php
mysqlnd_uh_set_connection_proxy(new MysqlndUhConnection());
$mysqli = new mysqli("localhost", "root", "", "test");
?>

The PHP_INI_SYSTEM configuration setting mysqlnd_uh.enable controls whether a proxy may be set. If disabled, the extension will throw errors of type E_WARNING

Beispiel #2 Proxy installation disabled

mysqlnd_uh.enable=0
<?php
mysqlnd_uh_set_connection_proxy(new MysqlndUhConnection());
$mysqli = new mysqli("localhost", "root", "", "test");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

PHP Warning:  MysqlndUhConnection::__construct(): (Mysqlnd User Handler) The plugin has been disabled by setting the configuration parameter mysqlnd_uh.enabled = false.  You must not use any of the base classes in %s on line %d
PHP Warning:  mysqlnd_uh_set_connection_proxy(): (Mysqlnd User Handler) The plugin has been disabled by setting the configuration parameter mysqlnd_uh.enable = false. The proxy has not been installed  in %s on line %d

To monitor mysqlnd, you have to write your own proxy object subclassing MysqlndUhConnection. Please, see the function reference for a the list of methods that can be subclassed. Alternatively, you can use reflection to inspect the built-in MysqlndUhConnection.

Create a new class proxy. Derive it from the built-in class MysqlndUhConnection. Replace the MysqlndUhConnection::connect(). method. Print out the host parameter value passed to the method. Make sure that you call the parent implementation of the connect method. Failing to do so may give unexpected and undesired results, including memory leaks and crashes.

Register your proxy and open three connections using the PHP MySQL extensions mysqli, mysql, PDO_MYSQL. If the extensions have been compiled to use the mysqlnd library, the proxy::connect method will be called three times, once for each connection opened.

Beispiel #3 Connection proxy

<?php
class proxy extends MysqlndUhConnection {
  public function connect($res, $host, $user, $passwd, $db, $port, $socket, $mysql_flags) {
   printf("Connection opened to '%s'\n", $host);
   /* Always call the parent implementation! */
   return parent::connect($res, $host, $user, $passwd, $db, $port, $socket, $mysql_flags);
  }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysql = mysql_connect("localhost", "root", "");
$pdo = new PDO("mysql:host=localhost;dbname=test", "root", "");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Connection opened to 'localhost'
Connection opened to 'localhost'
Connection opened to 'localhost'

The use of prepared statement proxies follows the same pattern: create a proxy object of the type MysqlndUhPreparedStatement and install the proxy using mysqlnd_uh_set_statement_proxy().

Beispiel #4 Prepared statement proxy

<?php
class stmt_proxy extends MysqlndUhPreparedStatement {
 public function prepare($res, $query) {
  printf("%s(%s)\n", __METHOD__, $query);
  return parent::prepare($res, $query);
 }
}
mysqlnd_uh_set_statement_proxy(new stmt_proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$stmt = $mysqli->prepare("SELECT 'mysqlnd hacking made easy' AS _msg FROM DUAL");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

stmt_proxy::prepare(SELECT 'mysqlnd hacking made easy' AS _msg FROM DUAL)

How it works
Basic query monitoring
Quickstart and Examples


Basic query monitoring

Basic monitoring of a query statement is easy with PECL/mysqlnd_uh. Combined with debug_print_backtrace() it can become a powerful tool, for example, to find the origin of certain statement. This may be desired when searching for slow queries but also after database refactoring to find code still accessing deprecated databases or tables. The latter may be a complicated matter to do otherwise, especially if the application uses auto-generated queries.

Beispiel #1 Basic Monitoring

<?php
class conn_proxy extends MysqlndUhConnection {
 public function query($res, $query) {
  debug_print_backtrace();
  return parent::query($res, $query);
 }
}
class stmt_proxy extends MysqlndUhPreparedStatement {
 public function prepare($res, $query) {
  debug_print_backtrace();
  return parent::prepare($res, $query);
 }
}
mysqlnd_uh_set_connection_proxy(new conn_proxy());
mysqlnd_uh_set_statement_proxy(new stmt_proxy());

printf("Proxies installed...\n");
$pdo = new PDO("mysql:host=localhost;dbname=test", "root", "");
var_dump($pdo->query("SELECT 1 AS _one FROM DUAL")->fetchAll(PDO::FETCH_ASSOC));

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->prepare("SELECT 1 AS _two FROM DUAL");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

#0  conn_proxy->query(Resource id #19, SELECT 1 AS _one FROM DUAL)
#1  PDO->query(SELECT 1 AS _one FROM DUAL) called at [example.php:19]
array(1) {
  [0]=>
  array(1) {
    ["_one"]=>
    string(1) "1"
  }
}
#0  stmt_proxy->prepare(Resource id #753, SELECT 1 AS _two FROM DUAL)
#1  mysqli->prepare(SELECT 1 AS _two FROM DUAL) called at [example.php:22]

For basic query monitoring you should install a connection and a prepared statement proxy. The connection proxy should subclass MysqlndUhConnection::query(). All database queries not using native prepared statements will call this method. In the example the query function is invoked by a PDO call. By default, PDO_MySQL is using prepared statement emulation.

All native prepared statements are prepared with the prepare method of mysqlnd exported through MysqlndUhPreparedStatement::prepare(). Subclass MysqlndUhPreparedStatement and overwrite prepare for native prepared statement monitoring.

Installing a proxy
Installation/Konfiguration
Quickstart and Examples


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Basic query monitoring
Anforderungen
mysqlnd_uh


Anforderungen

PHP 5.3.3 or later. It is recommended to use PHP 5.4.0 or later to get access to the latest mysqlnd features.

The mysqlnd_uh user handler plugin supports all PHP applications and all available PHP MySQL extensions (mysqli, mysql, PDO_MYSQL). The PHP MySQL extension must be configured to use mysqlnd in order to be able to use the mysqlnd_uh plugin for mysqlnd.

The alpha versions makes use of some mysqli features. You must enable mysqli to compile the plugin. This requirement may be removed in the future. Note, that this requirement does not restrict you to use the plugin only with mysqli. You can use the plugin to monitor mysql, mysqli and PDO_MYSQL.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/mysqlnd-uh

PECL/mysqlnd_uh is currently not available on Windows. The source code of the extension makes use of C99 constructs not allowed with PHP Windows builds.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Mysqlnd_uh Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
mysqlnd_uh.enable | 1 | PHP_INI_SYSTEM |
mysqlnd_uh.report_wrong_types | 1 | PHP_INI_ALL |

Hier eine kurze Erklärung der Konfigurationsoptionen:

mysqlnd_uh.enable integer

Enables or disables the plugin. If set to disabled, the extension will not allow users to plug into mysqlnd to hook mysqlnd calls.

mysqlnd_uh.report_wrong_types integer

Whether to report wrong return value types of user hooks as E_WARNING level errors. This is recommended for detecting errors.

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

Most of the constants refer to details of the MySQL Client Server Protocol. Please, refer to the MySQL reference manual to learn about their meaning. To avoid content duplication, only short descriptions are given.

MysqlndUhConnection::simpleCommand() related

The following constants can be used to detect what command is to be send through MysqlndUhConnection::simpleCommand().

MYSQLND_UH_MYSQLND_COM_SLEEP (integer)
MySQL Client Server protocol command: COM_SLEEP.
MYSQLND_UH_MYSQLND_COM_QUIT (integer)
MySQL Client Server protocol command: COM_QUIT.
MYSQLND_UH_MYSQLND_COM_INIT_DB (integer)
MySQL Client Server protocol command: COM_INIT_DB.
MYSQLND_UH_MYSQLND_COM_QUERY (integer)
MySQL Client Server protocol command: COM_QUERY.
MYSQLND_UH_MYSQLND_COM_FIELD_LIST (integer)
MySQL Client Server protocol command: COM_FIELD_LIST.
MYSQLND_UH_MYSQLND_COM_CREATE_DB (integer)
MySQL Client Server protocol command: COM_CREATE_DB.
MYSQLND_UH_MYSQLND_COM_DROP_DB (integer)
MySQL Client Server protocol command: COM_DROP_DB.
MYSQLND_UH_MYSQLND_COM_REFRESH (integer)
MySQL Client Server protocol command: COM_REFRESH.
MYSQLND_UH_MYSQLND_COM_SHUTDOWN (integer)
MySQL Client Server protocol command: COM_SHUTDOWN.
MYSQLND_UH_MYSQLND_COM_STATISTICS (integer)
MySQL Client Server protocol command: COM_STATISTICS.
MYSQLND_UH_MYSQLND_COM_PROCESS_INFO (integer)
MySQL Client Server protocol command: COM_PROCESS_INFO.
MYSQLND_UH_MYSQLND_COM_CONNECT (integer)
MySQL Client Server protocol command: COM_CONNECT.
MYSQLND_UH_MYSQLND_COM_PROCESS_KILL (integer)
MySQL Client Server protocol command: COM_PROCESS_KILL.
MYSQLND_UH_MYSQLND_COM_DEBUG (integer)
MySQL Client Server protocol command: COM_DEBUG.
MYSQLND_UH_MYSQLND_COM_PING (integer)
MySQL Client Server protocol command: COM_PING.
MYSQLND_UH_MYSQLND_COM_TIME (integer)
MySQL Client Server protocol command: COM_TIME.
MYSQLND_UH_MYSQLND_COM_DELAYED_INSERT (integer)
MySQL Client Server protocol command: COM_DELAYED_INSERT.
MYSQLND_UH_MYSQLND_COM_CHANGE_USER (integer)
MySQL Client Server protocol command: COM_CHANGE_USER.
MYSQLND_UH_MYSQLND_COM_BINLOG_DUMP (integer)
MySQL Client Server protocol command: COM_BINLOG_DUMP.
MYSQLND_UH_MYSQLND_COM_TABLE_DUMP (integer)
MySQL Client Server protocol command: COM_TABLE_DUMP.
MYSQLND_UH_MYSQLND_COM_CONNECT_OUT (integer)
MySQL Client Server protocol command: COM_CONNECT_OUT.
MYSQLND_UH_MYSQLND_COM_REGISTER_SLAVED (integer)
MySQL Client Server protocol command: COM_REGISTER_SLAVED.
MYSQLND_UH_MYSQLND_COM_STMT_PREPARE (integer)
MySQL Client Server protocol command: COM_STMT_PREPARE.
MYSQLND_UH_MYSQLND_COM_STMT_EXECUTE (integer)
MySQL Client Server protocol command: COM_STMT_EXECUTE.
MYSQLND_UH_MYSQLND_COM_STMT_SEND_LONG_DATA (integer)
MySQL Client Server protocol command: COM_STMT_SEND_LONG_DATA.
MYSQLND_UH_MYSQLND_COM_STMT_CLOSE (integer)
MySQL Client Server protocol command: COM_STMT_CLOSE.
MYSQLND_UH_MYSQLND_COM_STMT_RESET (integer)
MySQL Client Server protocol command: COM_STMT_RESET.
MYSQLND_UH_MYSQLND_COM_SET_OPTION (integer)
MySQL Client Server protocol command: COM_SET_OPTION.
MYSQLND_UH_MYSQLND_COM_STMT_FETCH (integer)
MySQL Client Server protocol command: COM_STMT_FETCH.
MYSQLND_UH_MYSQLND_COM_DAEMON (integer)
MySQL Client Server protocol command: COM_DAEMON.
MYSQLND_UH_MYSQLND_COM_END (integer)
MySQL Client Server protocol command: COM_END.

The following constants can be used to analyze the ok_packet argument of MysqlndUhConnection::simpleCommand().

MYSQLND_UH_MYSQLND_PROT_GREET_PACKET (integer)
MySQL Client Server protocol packet: greeting.
MYSQLND_UH_MYSQLND_PROT_AUTH_PACKET (integer)
MySQL Client Server protocol packet: authentication.
MYSQLND_UH_MYSQLND_PROT_OK_PACKET (integer)
MySQL Client Server protocol packet: OK.
MYSQLND_UH_MYSQLND_PROT_EOF_PACKET (integer)
MySQL Client Server protocol packet: EOF.
MYSQLND_UH_MYSQLND_PROT_CMD_PACKET (integer)
MySQL Client Server protocol packet: command.
MYSQLND_UH_MYSQLND_PROT_RSET_HEADER_PACKET (integer)
MySQL Client Server protocol packet: result set header.
MYSQLND_UH_MYSQLND_PROT_RSET_FLD_PACKET (integer)
MySQL Client Server protocol packet: resultset field.
MYSQLND_UH_MYSQLND_PROT_ROW_PACKET (integer)
MySQL Client Server protocol packet: row.
MYSQLND_UH_MYSQLND_PROT_STATS_PACKET (integer)
MySQL Client Server protocol packet: stats.
MYSQLND_UH_MYSQLND_PREPARE_RESP_PACKET (integer)
MySQL Client Server protocol packet: prepare response.
MYSQLND_UH_MYSQLND_CHG_USER_RESP_PACKET (integer)
MySQL Client Server protocol packet: change user response.
MYSQLND_UH_MYSQLND_PROT_LAST (integer)
No practical meaning. Last entry marker of internal C data structure list.

MysqlndUhConnection::close() related

The following constants can be used to detect why a connection has been closed through MysqlndUhConnection::close().

MYSQLND_UH_MYSQLND_CLOSE_EXPLICIT (integer)
User has called mysqlnd to close the connection.
MYSQLND_UH_MYSQLND_CLOSE_IMPLICIT (integer)
Implicitly closed, for example, during garbage connection.
MYSQLND_UH_MYSQLND_CLOSE_DISCONNECTED (integer)
Connection error.
MYSQLND_UH_MYSQLND_CLOSE_LAST (integer)
No practical meaning. Last entry marker of internal C data structure list.

MysqlndUhConnection::setServerOption() related

The following constants can be used to detect which option is set through MysqlndUhConnection::setServerOption().

MYSQLND_UH_SERVER_OPTION_MULTI_STATEMENTS_ON (integer)
Option: enables multi statement support.
MYSQLND_UH_SERVER_OPTION_MULTI_STATEMENTS_OFF (integer)
Option: disables multi statement support.

MysqlndUhConnection::setClientOption() related

The following constants can be used to detect which option is set through MysqlndUhConnection::setClientOption().

MYSQLND_UH_MYSQLND_OPTION_OPT_CONNECT_TIMEOUT (integer)
Option: connection timeout.
MYSQLND_UH_MYSQLND_OPTION_OPT_COMPRESS (integer)
Option: whether the MySQL compressed protocol is to be used.
MYSQLND_UH_MYSQLND_OPTION_OPT_NAMED_PIPE (integer)
Option: named pipe to use for connection (Windows).
MYSQLND_UH_MYSQLND_OPTION_INIT_COMMAND (integer)
Option: init command to execute upon connect.
MYSQLND_UH_MYSQLND_READ_DEFAULT_FILE (integer)
Option: MySQL server default file to read upon connect.
MYSQLND_UH_MYSQLND_READ_DEFAULT_GROUP (integer)
Option: MySQL server default file group to read upon connect.
MYSQLND_UH_MYSQLND_SET_CHARSET_DIR (integer)
Option: charset description files directory.
MYSQLND_UH_MYSQLND_SET_CHARSET_NAME (integer)
Option: charset name.
MYSQLND_UH_MYSQLND_OPT_LOCAL_INFILE (integer)
Option: Whether to allow LOAD DATA LOCAL INFILE use.
MYSQLND_UH_MYSQLND_OPT_PROTOCOL (integer)
Option: supported protocol version.
MYSQLND_UH_MYSQLND_SHARED_MEMORY_BASE_NAME (integer)
Option: shared memory base name for shared memory connections.
MYSQLND_UH_MYSQLND_OPT_READ_TIMEOUT (integer)
Option: connection read timeout.
MYSQLND_UH_MYSQLND_OPT_WRITE_TIMEOUT (integer)
Option: connection write timeout.
MYSQLND_UH_MYSQLND_OPT_USE_RESULT (integer)
Option: unbuffered result sets.
MYSQLND_UH_MYSQLND_OPT_USE_REMOTE_CONNECTION (integer)
Embedded server related.
MYSQLND_UH_MYSQLND_OPT_USE_EMBEDDED_CONNECTION (integer)
Embedded server related.
MYSQLND_UH_MYSQLND_OPT_GUESS_CONNECTION (integer)
TODO
MYSQLND_UH_MYSQLND_SET_CLIENT_IP (integer)
TODO
MYSQLND_UH_MYSQLND_SECURE_AUTH (integer)
TODO
MYSQLND_UH_MYSQLND_REPORT_DATA_TRUNCATION (integer)
Option: Whether to report data truncation.
MYSQLND_UH_MYSQLND_OPT_RECONNECT (integer)
Option: Whether to reconnect automatically.
MYSQLND_UH_MYSQLND_OPT_SSL_VERIFY_SERVER_CERT (integer)
Option: TODO
MYSQLND_UH_MYSQLND_OPT_NET_CMD_BUFFER_SIZE (integer)
Option: mysqlnd network buffer size for commands.
MYSQLND_UH_MYSQLND_OPT_NET_READ_BUFFER_SIZE (integer)
Option: mysqlnd network buffer size for reading from the server.
MYSQLND_UH_MYSQLND_OPT_SSL_KEY (integer)
Option: SSL key.
MYSQLND_UH_MYSQLND_OPT_SSL_CERT (integer)
Option: SSL certificate.
MYSQLND_UH_MYSQLND_OPT_SSL_CA (integer)
Option: SSL CA.
MYSQLND_UH_MYSQLND_OPT_SSL_CAPATH (integer)
Option: Path to SSL CA.
MYSQLND_UH_MYSQLND_OPT_SSL_CIPHER (integer)
Option: SSL cipher.
MYSQLND_UH_MYSQLND_OPT_SSL_PASSPHRASE (integer)
Option: SSL passphrase.
MYSQLND_UH_SERVER_OPTION_PLUGIN_DIR (integer)
Option: server plugin directory.
MYSQLND_UH_SERVER_OPTION_DEFAULT_AUTH (integer)
Option: default authentication method.
MYSQLND_UH_SERVER_OPTION_SET_CLIENT_IP (integer)
TODO
MYSQLND_UH_MYSQLND_OPT_MAX_ALLOWED_PACKET (integer)
Option: maximum allowed packet size. Available as of PHP 5.4.0.
MYSQLND_UH_MYSQLND_OPT_AUTH_PROTOCOL (integer)
Option: TODO. Available as of PHP 5.4.0.
MYSQLND_UH_MYSQLND_OPT_INT_AND_FLOAT_NATIVE (integer)
Option: make mysqlnd return integer and float columns as long even when using the MySQL Client Server text protocol. Only available with a custom build of mysqlnd.

Other

The plugins version number can be obtained using MYSQLND_UH_VERSION or MYSQLND_UH_VERSION_ID. MYSQLND_UH_VERSION is the string representation of the numerical version number MYSQLND_UH_VERSION_ID, which is an integer such as 10000. Developers can calculate the version number as follows.

Version (part) | Example
Major*10000 | 1*10000 = 10000
Minor*100 | 0*100 = 0
Patch | 0 = 0
MYSQLND_UH_VERSION_ID | 10000

MYSQLND_UH_VERSION (string)
Plugin version string, for example, "1.0.0-alpha".
MYSQLND_UH_VERSION_ID (integer)
Plugin version number, for example, 10000.

Ressource-Typen
MysqlndUhConnection
mysqlnd_uh


The MysqlndUhConnection class

(PECL mysqlnd-uh >= 1.0.0-alpha)

Einführung

Klassenbeschreibung

MysqlndUhConnection {
/* Methoden */
public bool changeUser ( mysqlnd_connection $connection , string $user , string $password , string $database , bool $silent , int $passwd_len )
public string charsetName ( mysqlnd_connection $connection )
public bool close ( mysqlnd_connection $connection , int $close_type )
public bool connect ( mysqlnd_connection $connection , string $host , string $use" , string $password , string $database , int $port , string $socket , int $mysql_flags )
public __construct ( void )
public bool endPSession ( mysqlnd_connection $connection )
public string escapeString ( mysqlnd_connection $connection , string $escape_string )
public int getAffectedRows ( mysqlnd_connection $connection )
public int getErrorNumber ( mysqlnd_connection $connection )
public string getErrorString ( mysqlnd_connection $connection )
public int getFieldCount ( mysqlnd_connection $connection )
public string getHostInformation ( mysqlnd_connection $connection )
public int getLastInsertId ( mysqlnd_connection $connection )
public void getLastMessage ( mysqlnd_connection $connection )
public string getProtocolInformation ( mysqlnd_connection $connection )
public string getServerInformation ( mysqlnd_connection $connection )
public string getServerStatistics ( mysqlnd_connection $connection )
public int getServerVersion ( mysqlnd_connection $connection )
public string getSqlstate ( mysqlnd_connection $connection )
public array getStatistics ( mysqlnd_connection $connection )
public int getThreadId ( mysqlnd_connection $connection )
public int getWarningCount ( mysqlnd_connection $connection )
public bool init ( mysqlnd_connection $connection )
public bool killConnection ( mysqlnd_connection $connection , int $pid )
public array listFields ( mysqlnd_connection $connection , string $table , string $achtung_wild )
public void listMethod ( mysqlnd_connection $connection , string $query , string $achtung_wild , string $par1 )
public bool moreResults ( mysqlnd_connection $connection )
public bool nextResult ( mysqlnd_connection $connection )
public bool ping ( mysqlnd_connection $connection )
public bool query ( mysqlnd_connection $connection , string $query )
public bool queryReadResultsetHeader ( mysqlnd_connection $connection , mysqlnd_statement $mysqlnd_stmt )
public bool reapQuery ( mysqlnd_connection $connection )
public bool refreshServer ( mysqlnd_connection $connection , int $options )
public bool restartPSession ( mysqlnd_connection $connection )
public bool selectDb ( mysqlnd_connection $connection , string $database )
public bool sendClose ( mysqlnd_connection $connection )
public bool sendQuery ( mysqlnd_connection $connection , string $query )
public bool serverDumpDebugInformation ( mysqlnd_connection $connection )
public bool setAutocommit ( mysqlnd_connection $connection , int $mode )
public bool setCharset ( mysqlnd_connection $connection , string $charset )
public bool setClientOption ( mysqlnd_connection $connection , int $option , int $value )
public void setServerOption ( mysqlnd_connection $connection , int $option )
public void shutdownServer ( string $MYSQLND_UH_RES_MYSQLND_NAME , string $"level" )
public bool simpleCommand ( mysqlnd_connection $connection , int $command , string $arg , int $ok_packet , bool $silent , bool $ignore_upsert_status )
public bool simpleCommandHandleResponse ( mysqlnd_connection $connection , int $ok_packet , bool $silent , int $command , bool $ignore_upsert_status )
public bool sslSet ( mysqlnd_connection $connection , string $key , string $cert , string $ca , string $capath , string $cipher )
public resource stmtInit ( mysqlnd_connection $connection )
public resource storeResult ( mysqlnd_connection $connection )
public bool txCommit ( mysqlnd_connection $connection )
public bool txRollback ( mysqlnd_connection $connection )
public resource useResult ( mysqlnd_connection $connection )
}

Inhaltsverzeichnis

  • MysqlndUhConnection::changeUser — Changes the user of the specified mysqlnd database connection
  • MysqlndUhConnection::charsetName — Returns the default character set for the database connection
  • MysqlndUhConnection::close — Closes a previously opened database connection
  • MysqlndUhConnection::connect — Open a new connection to the MySQL server
  • MysqlndUhConnection::__construct — The __construct purpose
  • MysqlndUhConnection::endPSession — End a persistent connection
  • MysqlndUhConnection::escapeString — Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
  • MysqlndUhConnection::getAffectedRows — Gets the number of affected rows in a previous MySQL operation
  • MysqlndUhConnection::getErrorNumber — Returns the error code for the most recent function call
  • MysqlndUhConnection::getErrorString — Returns a string description of the last error
  • MysqlndUhConnection::getFieldCount — Returns the number of columns for the most recent query
  • MysqlndUhConnection::getHostInformation — Returns a string representing the type of connection used
  • MysqlndUhConnection::getLastInsertId — Returns the auto generated id used in the last query.
  • MysqlndUhConnection::getLastMessage — Retrieves information about the most recently executed query
  • MysqlndUhConnection::getProtocolInformation — Returns the version of the MySQL protocol used
  • MysqlndUhConnection::getServerInformation — Returns the version of the MySQL server
  • MysqlndUhConnection::getServerStatistics — Gets the current system status
  • MysqlndUhConnection::getServerVersion — Returns the version of the MySQL server as an integer
  • MysqlndUhConnection::getSqlstate — Returns the SQLSTATE error from previous MySQL operation
  • MysqlndUhConnection::getStatistics — Returns statistics about the client connection.
  • MysqlndUhConnection::getThreadId — Returns the thread ID for the current connection
  • MysqlndUhConnection::getWarningCount — Returns the number of warnings from the last query for the given link
  • MysqlndUhConnection::init — Initialize mysqlnd connection
  • MysqlndUhConnection::killConnection — Asks the server to kill a MySQL thread
  • MysqlndUhConnection::listFields — List MySQL table fields
  • MysqlndUhConnection::listMethod — Wrapper for assorted list commands
  • MysqlndUhConnection::moreResults — Check if there are any more query results from a multi query
  • MysqlndUhConnection::nextResult — Prepare next result from multi_query
  • MysqlndUhConnection::ping — Pings a server connection, or tries to reconnect if the connection has gone down
  • MysqlndUhConnection::query — Performs a query on the database
  • MysqlndUhConnection::queryReadResultsetHeader — Read a result set header
  • MysqlndUhConnection::reapQuery — Get result from async query
  • MysqlndUhConnection::refreshServer — Flush or reset tables and caches
  • MysqlndUhConnection::restartPSession — Restart a persistent mysqlnd connection
  • MysqlndUhConnection::selectDb — Selects the default database for database queries
  • MysqlndUhConnection::sendClose — Sends a close command to MySQL
  • MysqlndUhConnection::sendQuery — Sends a query to MySQL
  • MysqlndUhConnection::serverDumpDebugInformation — Dump debugging information into the log for the MySQL server
  • MysqlndUhConnection::setAutocommit — Turns on or off auto-committing database modifications
  • MysqlndUhConnection::setCharset — Sets the default client character set
  • MysqlndUhConnection::setClientOption — Sets a client option
  • MysqlndUhConnection::setServerOption — Sets a server option
  • MysqlndUhConnection::shutdownServer — The shutdownServer purpose
  • MysqlndUhConnection::simpleCommand — Sends a basic COM_* command
  • MysqlndUhConnection::simpleCommandHandleResponse — Process a response for a basic COM_* command send to the client
  • MysqlndUhConnection::sslSet — Used for establishing secure connections using SSL
  • MysqlndUhConnection::stmtInit — Initializes a statement and returns a resource for use with mysqli_statement::prepare
  • MysqlndUhConnection::storeResult — Transfers a result set from the last query
  • MysqlndUhConnection::txCommit — Commits the current transaction
  • MysqlndUhConnection::txRollback — Rolls back current transaction
  • MysqlndUhConnection::useResult — Initiate a result set retrieval
Vordefinierte Konstanten
MysqlndUhConnection::changeUser
mysqlnd_uh


Changes the user of the specified mysqlnd database connection

MysqlndUhConnection
MysqlndUhConnection::charsetName
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::changeUser

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::changeUser — Changes the user of the specified mysqlnd database connection

Beschreibung

public bool MysqlndUhConnection::changeUser ( mysqlnd_connection $connection , string $user , string $password , string $database , bool $silent , int $passwd_len )

Changes the user of the specified mysqlnd database connection

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

user

The MySQL user name.

password

The MySQL password.

database

The MySQL database to change to.

silent

Controls if mysqlnd is allowed to emit errors or not.

passwd_len

Length of the MySQL password.

Rückgabewerte

Returns TRUE on success. Otherwise, returns FALSE

Beispiele

Beispiel #1 MysqlndUhConnection::changeUser() example

<?php
class proxy extends MysqlndUhConnection {
 /* Hook mysqlnd's connection::change_user call */
 public function changeUser($res, $user, $passwd, $db, $silent, $passwd_len) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::changeUser($res, $user, $passwd, $db, $silent, $passwd_len);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
/* Install proxy/hooks to be used with all future mysqlnd connection */
mysqlnd_uh_set_connection_proxy(new proxy());

/* Create mysqli connection which is using the mysqlnd library */
$mysqli = new mysqli("localhost", "root", "", "test");

/* Example of a user API call which triggers the hooked mysqlnd call */
var_dump($mysqli->change_user("root", "bar", "test"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::changeUser(array (
  0 => NULL,
  1 => 'root',
  2 => 'bar',
  3 => 'test',
  4 => false,
  5 => 3,
))
proxy::changeUser returns false
bool(false)

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_change_user() - Changes the user of the specified database connection

MysqlndUhConnection
MysqlndUhConnection::charsetName
MysqlndUhConnection


Returns the default character set for the database connection

MysqlndUhConnection::changeUser
MysqlndUhConnection::close
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::charsetName

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::charsetName — Returns the default character set for the database connection

Beschreibung

public string MysqlndUhConnection::charsetName ( mysqlnd_connection $connection )

Returns the default character set for the database connection.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

Rückgabewerte

The default character set.

Beispiele

Beispiel #1 MysqlndUhConnection::charsetName() example

<?php
class proxy extends MysqlndUhConnection {
  public function charsetName($res) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::charsetName($res);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump(mysqli_character_set_name($mysqli));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::charsetName(array (
  0 => NULL,
))
proxy::charsetName returns 'latin1'
string(6) "latin1"

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_character_set_name() - Returns the default character set for the database connection

MysqlndUhConnection::changeUser
MysqlndUhConnection::close
MysqlndUhConnection


Closes a previously opened database connection

MysqlndUhConnection::charsetName
MysqlndUhConnection::connect
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::close

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::close — Closes a previously opened database connection

Beschreibung

public bool MysqlndUhConnection::close ( mysqlnd_connection $connection , int $close_type )

Closes a previously opened database connection.

Hinweis:

Failing to call the parent implementation may cause memory leaks or crash PHP. This is not considered a bug. Please, keep in mind that the mysqlnd library functions have never been designed to be exposed to the user space.

Parameter-Liste

connection

The connection to be closed. Do not modify!

close_type

Why the connection is to be closed. The value of close_type is one of MYSQLND_UH_MYSQLND_CLOSE_EXPLICIT, MYSQLND_UH_MYSQLND_CLOSE_IMPLICIT, MYSQLND_UH_MYSQLND_CLOSE_DISCONNECTED or MYSQLND_UH_MYSQLND_CLOSE_LAST. The latter should never be seen, unless the default behaviour of the mysqlnd library has been changed by a plugin.

Rückgabewerte

Returns TRUE on success. Otherwise, returns FALSE

Beispiele

Beispiel #1 MysqlndUhConnection::close() example

<?php
function close_type_to_string($close_type) {
 $mapping = array(
  MYSQLND_UH_MYSQLND_CLOSE_DISCONNECTED => "MYSQLND_UH_MYSQLND_CLOSE_DISCONNECTED",
  MYSQLND_UH_MYSQLND_CLOSE_EXPLICIT => "MYSQLND_UH_MYSQLND_CLOSE_EXPLICIT",
  MYSQLND_UH_MYSQLND_CLOSE_IMPLICIT => "MYSQLND_UH_MYSQLND_CLOSE_IMPLICIT",
  MYSQLND_UH_MYSQLND_CLOSE_LAST => "MYSQLND_UH_MYSQLND_CLOSE_IMPLICIT"
 );
 return (isset($mapping[$close_type])) ? $mapping[$close_type] : 'unknown';
}

class proxy extends MysqlndUhConnection {
  public function close($res, $close_type) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   printf("close_type = %s\n", close_type_to_string($close_type));
   /* WARNING: you must call the parent */
   $ret = parent::close($res, $close_type);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->close();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::close(array (
  0 => NULL,
  1 => 0,
))
close_type = MYSQLND_UH_MYSQLND_CLOSE_EXPLICIT
proxy::close returns true

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_close() - Schließt die zuvor geöffnete Datenbankverbindung
  • mysql_close() - Schließt eine Verbindung zu MySQL

MysqlndUhConnection::charsetName
MysqlndUhConnection::connect
MysqlndUhConnection


Open a new connection to the MySQL server

MysqlndUhConnection::close
MysqlndUhConnection::__construct
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::connect

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::connect — Open a new connection to the MySQL server

Beschreibung

public bool MysqlndUhConnection::connect ( mysqlnd_connection $connection , string $host , string $use" , string $password , string $database , int $port , string $socket , int $mysql_flags )

Open a new connection to the MySQL server.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

host

Can be either a host name or an IP address. Passing the NULL value or the string "localhost" to this parameter, the local host is assumed. When possible, pipes will be used instead of the TCP/IP protocol.

user

The MySQL user name.

password

If not provided or NULL, the MySQL server will attempt to authenticate the user against those user records which have no password only. This allows one username to be used with different permissions (depending on if a password as provided or not).

database

If provided will specify the default database to be used when performing queries.

port

Specifies the port number to attempt to connect to the MySQL server.

socket

Specifies the socket or named pipe that should be used. If NULL, mysqlnd will default to /tmp/mysql.sock.

mysql_flags

Connection options.

Rückgabewerte

Returns TRUE on success. Otherwise, returns FALSE

Beispiele

Beispiel #1 MysqlndUhConnection::connect() example

<?php
class proxy extends MysqlndUhConnection {
 public function connect($res, $host, $user, $passwd, $db, $port, $socket, $mysql_flags) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::connect($res, $host, $user, $passwd, $db, $port, $socket, $mysql_flags);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::connect(array (
  0 => NULL,
  1 => 'localhost',
  2 => 'root',
  3 => '',
  4 => 'test',
  5 => 3306,
  6 => NULL,
  7 => 131072,
))
proxy::connect returns true

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_connect() - Alias von mysqli::__construct
  • mysql_connect() - Öffnet eine Verbindung zu einem MySQL-Server

MysqlndUhConnection::close
MysqlndUhConnection::__construct
MysqlndUhConnection


The __construct purpose

MysqlndUhConnection::connect
MysqlndUhConnection::endPSession
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::__construct

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::__construct — The __construct purpose

Beschreibung

public MysqlndUhConnection::__construct ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

MysqlndUhConnection::connect
MysqlndUhConnection::endPSession
MysqlndUhConnection


End a persistent connection

MysqlndUhConnection::__construct
MysqlndUhConnection::escapeString
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::endPSession

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::endPSession — End a persistent connection

Beschreibung

public bool MysqlndUhConnection::endPSession ( mysqlnd_connection $connection )

End a persistent connection

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

Rückgabewerte

Returns TRUE on success. Otherwise, returns FALSE

Beispiele

Beispiel #1 MysqlndUhConnection::endPSession() example

<?php
class proxy extends MysqlndUhConnection {
 public function endPSession($conn) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::endPSession($conn);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("p:localhost", "root", "", "test");
$mysqli->close();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::endPSession(array (
  0 => NULL,
))
proxy::endPSession returns true

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections

MysqlndUhConnection::__construct
MysqlndUhConnection::escapeString
MysqlndUhConnection


Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection

MysqlndUhConnection::endPSession
MysqlndUhConnection::getAffectedRows
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::escapeString

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::escapeString — Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection

Beschreibung

public string MysqlndUhConnection::escapeString ( mysqlnd_connection $connection , string $escape_string )

Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection.

Parameter-Liste

MYSQLND_UH_RES_MYSQLND_NAME

Mysqlnd connection handle. Do not modify!

escape_string

The string to be escaped.

Rückgabewerte

The escaped string.

Beispiele

Beispiel #1 MysqlndUhConnection::escapeString() example

<?php
class proxy extends MysqlndUhConnection {
 public function escapeString($res, $string) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::escapeString($res, $string);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->set_charset("latin1");
$mysqli->real_escape_string("test0'test");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::escapeString(array (
  0 => NULL,
  1 => 'test0\'test',
))
proxy::escapeString returns 'test0\\\'test'

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_real_escape_string() - Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
  • mysql_real_escape_string() - Maskiert spezielle Zeichen innerhalb eines Strings für die Verwendung in einer SQL-Anweisung

MysqlndUhConnection::endPSession
MysqlndUhConnection::getAffectedRows
MysqlndUhConnection


Gets the number of affected rows in a previous MySQL operation

MysqlndUhConnection::escapeString
MysqlndUhConnection::getErrorNumber
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::getAffectedRows

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getAffectedRows — Gets the number of affected rows in a previous MySQL operation

Beschreibung

public int MysqlndUhConnection::getAffectedRows ( mysqlnd_connection $connection )

Gets the number of affected rows in a previous MySQL operation.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

Rückgabewerte

Number of affected rows.

Beispiele

Beispiel #1 MysqlndUhConnection::getAffectedRows() example

<?php
class proxy extends MysqlndUhConnection {
 public function getAffectedRows($res) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::getAffectedRows($res);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1)");
var_dump($mysqli->affected_rows);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::getAffectedRows(array (
  0 => NULL,
))
proxy::getAffectedRows returns 1
int(1)

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_affected_rows() - Ermittelt die Anzahl der betroffenen Zeilen in einem vorherigen MySQL Vorgang
  • mysql_affected_rows() - Liefert die Anzahl betroffener Datensätze einer vorhergehenden MySQL Operation

MysqlndUhConnection::escapeString
MysqlndUhConnection::getErrorNumber
MysqlndUhConnection


Returns the error code for the most recent function call

MysqlndUhConnection::getAffectedRows
MysqlndUhConnection::getErrorString
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::getErrorNumber

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getErrorNumber — Returns the error code for the most recent function call

Beschreibung

public int MysqlndUhConnection::getErrorNumber ( mysqlnd_connection $connection )

Returns the error code for the most recent function call.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

Rückgabewerte

Error code for the most recent function call.

Beispiele

MysqlndUhConnection::getErrorNumber() is not only executed after the invocation of a user space API call which maps directly to it but also called internally.

Beispiel #1 MysqlndUhConnection::getErrorNumber() example

<?php
class proxy extends MysqlndUhConnection {
 public function getErrorNumber($res) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::getErrorNumber($res);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

printf("connect...\n");
$mysqli = new mysqli("localhost", "root", "", "test");
printf("query...\n");
$mysqli->query("PLEASE_LET_THIS_BE_INVALID_SQL");
printf("errno...\n");
var_dump($mysqli->errno);
printf("close...\n");
$mysqli->close();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

connect...
proxy::getErrorNumber(array (
  0 => NULL,
))
proxy::getErrorNumber returns 0
query...
errno...
proxy::getErrorNumber(array (
  0 => NULL,
))
proxy::getErrorNumber returns 1064
int(1064)
close...

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • MysqlndUhConnection::getErrorString() - Returns a string description of the last error
  • mysqli_errno() - Returns the error code for the most recent function call
  • mysql_errno() - Liefert die Nummer einer Fehlermeldung einer zuvor ausgeführten MySQL Operation

MysqlndUhConnection::getAffectedRows
MysqlndUhConnection::getErrorString
MysqlndUhConnection


Returns a string description of the last error

MysqlndUhConnection::getErrorNumber
MysqlndUhConnection::getFieldCount
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::getErrorString

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getErrorString — Returns a string description of the last error

Beschreibung

public string MysqlndUhConnection::getErrorString ( mysqlnd_connection $connection )

Returns a string description of the last error.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

Rückgabewerte

Error string for the most recent function call.

Beispiele

MysqlndUhConnection::getErrorString() is not only executed after the invocation of a user space API call which maps directly to it but also called internally.

Beispiel #1 MysqlndUhConnection::getErrorString() example

<?php
class proxy extends MysqlndUhConnection {
 public function getErrorString($res) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::getErrorString($res);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

printf("connect...\n");
$mysqli = new mysqli("localhost", "root", "", "test");
printf("query...\n");
$mysqli->query("WILL_I_EVER_LEARN_SQL?");
printf("errno...\n");
var_dump($mysqli->error);
printf("close...\n");
$mysqli->close();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

connect...
proxy::getErrorString(array (
  0 => NULL,
))
proxy::getErrorString returns ''
query...
errno...
proxy::getErrorString(array (
  0 => NULL,
))
proxy::getErrorString returns 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'WILL_I_EVER_LEARN_SQL?\' at line 1'
string(168) "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WILL_I_EVER_LEARN_SQL?' at line 1"
close...

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • MysqlndUhConnection::getErrorNumber() - Returns the error code for the most recent function call
  • mysqli_error() - Returns a string description of the last error
  • mysql_error() - Liefert den Fehlertext der zuvor ausgeführten MySQL Operation

MysqlndUhConnection::getErrorNumber
MysqlndUhConnection::getFieldCount
MysqlndUhConnection


Returns the number of columns for the most recent query

MysqlndUhConnection::getErrorString
MysqlndUhConnection::getHostInformation
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::getFieldCount

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getFieldCount — Returns the number of columns for the most recent query

Beschreibung

public int MysqlndUhConnection::getFieldCount ( mysqlnd_connection $connection )

Returns the number of columns for the most recent query.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

Rückgabewerte

Number of columns.

Beispiele

MysqlndUhConnection::getFieldCount() is not only executed after the invocation of a user space API call which maps directly to it but also called internally.

Beispiel #1 MysqlndUhConnection::getFieldCount() example

<?php
class proxy extends MysqlndUhConnection {
 public function getFieldCount($res) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::getFieldCount($res);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->query("WILL_I_EVER_LEARN_SQL?");
var_dump($mysqli->field_count);
$mysqli->query("SELECT 1, 2, 3 FROM DUAL");
var_dump($mysqli->field_count);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::getFieldCount(array (
  0 => NULL,
))
proxy::getFieldCount returns 0
int(0)
proxy::getFieldCount(array (
  0 => NULL,
))
proxy::getFieldCount returns 3
proxy::getFieldCount(array (
  0 => NULL,
))
proxy::getFieldCount returns 3
int(3)

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_field_count() - Returns the number of columns for the most recent query

MysqlndUhConnection::getErrorString
MysqlndUhConnection::getHostInformation
MysqlndUhConnection


Returns a string representing the type of connection used

MysqlndUhConnection::getFieldCount
MysqlndUhConnection::getLastInsertId
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::getHostInformation

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getHostInformation — Returns a string representing the type of connection used

Beschreibung

public string MysqlndUhConnection::getHostInformation ( mysqlnd_connection $connection )

Returns a string representing the type of connection used.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

Rückgabewerte

Connection description.

Beispiele

Beispiel #1 MysqlndUhConnection::getHostInformation() example

<?php
class proxy extends MysqlndUhConnection {
 public function getHostInformation($res) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::getHostInformation($res);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump($mysqli->host_info);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::getHostInformation(array (
  0 => NULL,
))
proxy::getHostInformation returns 'Localhost via UNIX socket'
string(25) "Localhost via UNIX socket"

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_get_host_info() - Returns a string representing the type of connection used
  • mysql_get_host_info() - Liefert MySQL Host Informationen

MysqlndUhConnection::getFieldCount
MysqlndUhConnection::getLastInsertId
MysqlndUhConnection


Returns the auto generated id used in the last query.

MysqlndUhConnection::getHostInformation
MysqlndUhConnection::getLastMessage
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::getLastInsertId

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getLastInsertId — Returns the auto generated id used in the last query.

Beschreibung

public int MysqlndUhConnection::getLastInsertId ( mysqlnd_connection $connection )

Returns the auto generated id used in the last query.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

Rückgabewerte

Last insert id.

Beispiele

Beispiel #1 MysqlndUhConnection::getLastInsertId() example

<?php
class proxy extends MysqlndUhConnection {
 public function getLastInsertId($res) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::getLastInsertId($res);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT AUTO_INCREMENT PRIMARY KEY, col VARCHAR(255))");
$mysqli->query("INSERT INTO test(col) VALUES ('a')");
var_dump($mysqli->insert_id);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::getLastInsertId(array (
  0 => NULL,
))
proxy::getLastInsertId returns 1
int(1)

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_insert_id() - Returns the auto generated id used in the latest query
  • mysql_insert_id() - Liefert die ID, die in der vorherigen Abfrage erzeugt wurde

MysqlndUhConnection::getHostInformation
MysqlndUhConnection::getLastMessage
MysqlndUhConnection


Retrieves information about the most recently executed query

MysqlndUhConnection::getLastInsertId
MysqlndUhConnection::getProtocolInformation
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::getLastMessage

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getLastMessage — Retrieves information about the most recently executed query

Beschreibung

public void MysqlndUhConnection::getLastMessage ( mysqlnd_connection $connection )

Retrieves information about the most recently executed query.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

Rückgabewerte

Last message. Trying to return a string longer than 511 bytes will cause an error of the type E_WARNING and result in the string being truncated.

Beispiele

Beispiel #1 MysqlndUhConnection::getLastMessage() example

<?php
class proxy extends MysqlndUhConnection {
 public function getLastMessage($res) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::getLastMessage($res);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump($mysqli->info);
$mysqli->query("DROP TABLE IF EXISTS test");
var_dump($mysqli->info);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::getLastMessage(array (
  0 => NULL,
))
proxy::getLastMessage returns ''
string(0) ""
proxy::getLastMessage(array (
  0 => NULL,
))
proxy::getLastMessage returns ''
string(0) ""

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_info() - Retrieves information about the most recently executed query
  • mysql_info() - Liefert Informationen über die zuletzt ausgeführte Anfrage zurück

MysqlndUhConnection::getLastInsertId
MysqlndUhConnection::getProtocolInformation
MysqlndUhConnection


Returns the version of the MySQL protocol used

MysqlndUhConnection::getLastMessage
MysqlndUhConnection::getServerInformation
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::getProtocolInformation

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getProtocolInformation — Returns the version of the MySQL protocol used

Beschreibung

public string MysqlndUhConnection::getProtocolInformation ( mysqlnd_connection $connection )

Returns the version of the MySQL protocol used.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

Rückgabewerte

The protocol version.

Beispiele

Beispiel #1 MysqlndUhConnection::getProtocolInformation() example

<?php
class proxy extends MysqlndUhConnection {
 public function getProtocolInformation($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::getProtocolInformation($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump($mysqli->protocol_version);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::getProtocolInformation(array (
  0 => NULL,
))
proxy::getProtocolInformation returns 10
int(10)

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_get_proto_info() - Returns the version of the MySQL protocol used
  • mysql_get_proto_info() - Liefert MySQL Protokollinformationen

MysqlndUhConnection::getLastMessage
MysqlndUhConnection::getServerInformation
MysqlndUhConnection


Returns the version of the MySQL server

MysqlndUhConnection::getProtocolInformation
MysqlndUhConnection::getServerStatistics
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::getServerInformation

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getServerInformation — Returns the version of the MySQL server

Beschreibung

public string MysqlndUhConnection::getServerInformation ( mysqlnd_connection $connection )

Returns the version of the MySQL server.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

Rückgabewerte

The server version.

Beispiele

Beispiel #1 MysqlndUhConnection::getServerInformation() example

<?php
class proxy extends MysqlndUhConnection {
 public function getServerInformation($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::getServerInformation($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump($mysqli->server_info);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::getServerInformation(array (
  0 => NULL,
))
proxy::getServerInformation returns '5.1.45-debug-log'
string(16) "5.1.45-debug-log"

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_get_server_info() - Returns the version of the MySQL server
  • mysql_get_server_info() - Liefert MySQL Server Informationen

MysqlndUhConnection::getProtocolInformation
MysqlndUhConnection::getServerStatistics
MysqlndUhConnection


Gets the current system status

MysqlndUhConnection::getServerInformation
MysqlndUhConnection::getServerVersion
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::getServerStatistics

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getServerStatistics — Gets the current system status

Beschreibung

public string MysqlndUhConnection::getServerStatistics ( mysqlnd_connection $connection )

Gets the current system status.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

Rückgabewerte

The system status message.

Beispiele

Beispiel #1 MysqlndUhConnection::getServerStatistics() example

<?php
class proxy extends MysqlndUhConnection {
 public function getServerStatistics($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::getServerStatistics($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump(mysqli_stat($mysqli));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::getServerStatistics(array (
  0 => NULL,
))
proxy::getServerStatistics returns 'Uptime: 2059995  Threads: 1  Questions: 126157  Slow queries: 0  Opens: 6377  Flush tables: 1  Open tables: 18  Queries per second avg: 0.61'
string(140) "Uptime: 2059995  Threads: 1  Questions: 126157  Slow queries: 0  Opens: 6377  Flush tables: 1  Open tables: 18  Queries per second avg: 0.61"

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_stat() - Liefert den aktuellen System Status
  • mysql_stat() - Zeigt den momentanen Serverstatus an

MysqlndUhConnection::getServerInformation
MysqlndUhConnection::getServerVersion
MysqlndUhConnection


Returns the version of the MySQL server as an integer

MysqlndUhConnection::getServerStatistics
MysqlndUhConnection::getSqlstate
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::getServerVersion

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getServerVersion — Returns the version of the MySQL server as an integer

Beschreibung

public int MysqlndUhConnection::getServerVersion ( mysqlnd_connection $connection )

Returns the version of the MySQL server as an integer.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

Rückgabewerte

The MySQL version.

Beispiele

Beispiel #1 MysqlndUhConnection::getServerVersion() example

<?php
class proxy extends MysqlndUhConnection {
 public function getServerVersion($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::getServerVersion($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump($mysqli->server_version);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::getServerVersion(array (
  0 => NULL,
))
proxy::getServerVersion returns 50145
int(50145)

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_get_server_version() - Returns the version of the MySQL server as an integer
  • mysql_get_server_version()

MysqlndUhConnection::getServerStatistics
MysqlndUhConnection::getSqlstate
MysqlndUhConnection


Returns the SQLSTATE error from previous MySQL operation

MysqlndUhConnection::getServerVersion
MysqlndUhConnection::getStatistics
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::getSqlstate

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getSqlstate — Returns the SQLSTATE error from previous MySQL operation

Beschreibung

public string MysqlndUhConnection::getSqlstate ( mysqlnd_connection $connection )

Returns the SQLSTATE error from previous MySQL operation.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

Rückgabewerte

The SQLSTATE code.

Beispiele

Beispiel #1 MysqlndUhConnection::getSqlstate() example

<?php
class proxy extends MysqlndUhConnection {
 public function getSqlstate($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::getSqlstate($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump($mysqli->sqlstate);
$mysqli->query("AN_INVALID_REQUEST_TO_PROVOKE_AN_ERROR");
var_dump($mysqli->sqlstate);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::getSqlstate(array (
  0 => NULL,
))
proxy::getSqlstate returns '00000'
string(5) "00000"
proxy::getSqlstate(array (
  0 => NULL,
))
proxy::getSqlstate returns '42000'
string(5) "42000"

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_sql_state()

MysqlndUhConnection::getServerVersion
MysqlndUhConnection::getStatistics
MysqlndUhConnection


Returns statistics about the client connection.

MysqlndUhConnection::getSqlstate
MysqlndUhConnection::getThreadId
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::getStatistics

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getStatistics — Returns statistics about the client connection.

Beschreibung

public array MysqlndUhConnection::getStatistics ( mysqlnd_connection $connection )

Returns statistics about the client connection.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

Rückgabewerte

Connection statistics collected by mysqlnd.

Beispiele

Beispiel #1 MysqlndUhConnection::getStatistics() example

<?php
class proxy extends MysqlndUhConnection {
 public function getStatistics($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::getStatistics($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump($mysqli->get_connection_stats());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::getStatistics(array (
  0 => NULL,
))
proxy::getStatistics returns array (
  'bytes_sent' => '73',
  'bytes_received' => '77',
  'packets_sent' => '2',
  'packets_received' => '2',
  'protocol_overhead_in' => '8',
  'protocol_overhead_out' => '8',
  'bytes_received_ok_packet' => '0',
  'bytes_received_eof_packet' => '0',
  'bytes_received_rset_header_packet' => '0',
  'bytes_received_rset_field_meta_packet' => '0',
  'bytes_received_rset_row_packet' => '0',
  'bytes_received_prepare_response_packet' => '0',
  'bytes_received_change_user_packet' => '0',
  'packets_sent_command' => '0',
  'packets_received_ok' => '0',
  'packets_received_eof' => '0',
  'packets_received_rset_header' => '0',
  'packets_received_rset_field_meta' => '0',
  'packets_received_rset_row' => '0',
  'packets_received_prepare_response' => '0',
  'packets_received_change_user' => '0',
  'result_set_queries' => '0',
  'non_result_set_queries' => '0',
  'no_index_used' => '0',
  'bad_index_used' => '0',
  'slow_queries' => '0',
  'buffered_sets' => '0',
  'unbuffered_sets' => '0',
  'ps_buffered_sets' => '0',
  'ps_unbuffered_sets' => '0',
  'flushed_normal_sets' => '0',
  'flushed_ps_sets' => '0',
  'ps_prepared_never_executed' => '0',
  'ps_prepared_once_executed' => '0',
  'rows_fetched_from_server_normal' => '0',
  'rows_fetched_from_server_ps' => '0',
  'rows_buffered_from_client_normal' => '0',
  'rows_buffered_from_client_ps' => '0',
  'rows_fetched_from_client_normal_buffered' => '0',
  'rows_fetched_from_client_normal_unbuffered' => '0',
  'rows_fetched_from_client_ps_buffered' => '0',
  'rows_fetched_from_client_ps_unbuffered' => '0',
  'rows_fetched_from_client_ps_cursor' => '0',
  'rows_affected_normal' => '0',
  'rows_affected_ps' => '0',
  'rows_skipped_normal' => '0',
  'rows_skipped_ps' => '0',
  'copy_on_write_saved' => '0',
  'copy_on_write_performed' => '0',
  'command_buffer_too_small' => '0',
  'connect_success' => '1',
  'connect_failure' => '0',
  'connection_reused' => '0',
  'reconnect' => '0',
  'pconnect_success' => '0',
  'active_connections' => '1',
  'active_persistent_connections' => '0',
  'explicit_close' => '0',
  'implicit_close' => '0',
  'disconnect_close' => '0',
  'in_middle_of_command_close' => '0',
  'explicit_free_result' => '0',
  'implicit_free_result' => '0',
  'explicit_stmt_close' => '0',
  'implicit_stmt_close' => '0',
  'mem_emalloc_count' => '0',
  'mem_emalloc_amount' => '0',
  'mem_ecalloc_count' => '0',
  'mem_ecalloc_amount' => '0',
  'mem_erealloc_count' => '0',
  'mem_erealloc_amount' => '0',
  'mem_efree_count' => '0',
  'mem_efree_amount' => '0',
  'mem_malloc_count' => '0',
  'mem_malloc_amount' => '0',
  'mem_calloc_count' => '0',
  'mem_calloc_amount' => '0',
  'mem_realloc_count' => '0',
  'mem_realloc_amount' => '0',
  'mem_free_count' => '0',
  'mem_free_amount' => '0',
  'mem_estrndup_count' => '0',
  'mem_strndup_count' => '0',
  'mem_estndup_count' => '0',
  'mem_strdup_count' => '0',
  'proto_text_fetched_null' => '0',
  'proto_text_fetched_bit' => '0',
  'proto_text_fetched_tinyint' => '0',
  'proto_text_fetched_short' => '0',
  'proto_text_fetched_int24' => '0',
  'proto_text_fetched_int' => '0',
  'proto_text_fetched_bigint' => '0',
  'proto_text_fetched_decimal' => '0',
  'proto_text_fetched_float' => '0',
  'proto_text_fetched_double' => '0',
  'proto_text_fetched_date' => '0',
  'proto_text_fetched_year' => '0',
  'proto_text_fetched_time' => '0',
  'proto_text_fetched_datetime' => '0',
  'proto_text_fetched_timestamp' => '0',
  'proto_text_fetched_string' => '0',
  'proto_text_fetched_blob' => '0',
  'proto_text_fetched_enum' => '0',
  'proto_text_fetched_set' => '0',
  'proto_text_fetched_geometry' => '0',
  'proto_text_fetched_other' => '0',
  'proto_binary_fetched_null' => '0',
  'proto_binary_fetched_bit' => '0',
  'proto_binary_fetched_tinyint' => '0',
  'proto_binary_fetched_short' => '0',
  'proto_binary_fetched_int24' => '0',
  'proto_binary_fetched_int' => '0',
  'proto_binary_fetched_bigint' => '0',
  'proto_binary_fetched_decimal' => '0',
  'proto_binary_fetched_float' => '0',
  'proto_binary_fetched_double' => '0',
  'proto_binary_fetched_date' => '0',
  'proto_binary_fetched_year' => '0',
  'proto_binary_fetched_time' => '0',
  'proto_binary_fetched_datetime' => '0',
  'proto_binary_fetched_timestamp' => '0',
  'proto_binary_fetched_string' => '0',
  'proto_binary_fetched_blob' => '0',
  'proto_binary_fetched_enum' => '0',
  'proto_binary_fetched_set' => '0',
  'proto_binary_fetched_geometry' => '0',
  'proto_binary_fetched_other' => '0',
  'init_command_executed_count' => '0',
  'init_command_failed_count' => '0',
  'com_quit' => '0',
  'com_init_db' => '0',
  'com_query' => '0',
  'com_field_list' => '0',
  'com_create_db' => '0',
  'com_drop_db' => '0',
  'com_refresh' => '0',
  'com_shutdown' => '0',
  'com_statistics' => '0',
  'com_process_info' => '0',
  'com_connect' => '0',
  'com_process_kill' => '0',
  'com_debug' => '0',
  'com_ping' => '0',
  'com_time' => '0',
  'com_delayed_insert' => '0',
  'com_change_user' => '0',
  'com_binlog_dump' => '0',
  'com_table_dump' => '0',
  'com_connect_out' => '0',
  'com_register_slave' => '0',
  'com_stmt_prepare' => '0',
  'com_stmt_execute' => '0',
  'com_stmt_send_long_data' => '0',
  'com_stmt_close' => '0',
  'com_stmt_reset' => '0',
  'com_stmt_set_option' => '0',
  'com_stmt_fetch' => '0',
  'com_deamon' => '0',
  'bytes_received_real_data_normal' => '0',
  'bytes_received_real_data_ps' => '0',
)
array(160) {
  ["bytes_sent"]=>
  string(2) "73"
  ["bytes_received"]=>
  string(2) "77"
  ["packets_sent"]=>
  string(1) "2"
  ["packets_received"]=>
  string(1) "2"
  ["protocol_overhead_in"]=>
  string(1) "8"
  ["protocol_overhead_out"]=>
  string(1) "8"
  ["bytes_received_ok_packet"]=>
  string(1) "0"
  ["bytes_received_eof_packet"]=>
  string(1) "0"
  ["bytes_received_rset_header_packet"]=>
  string(1) "0"
  ["bytes_received_rset_field_meta_packet"]=>
  string(1) "0"
  ["bytes_received_rset_row_packet"]=>
  string(1) "0"
  ["bytes_received_prepare_response_packet"]=>
  string(1) "0"
  ["bytes_received_change_user_packet"]=>
  string(1) "0"
  ["packets_sent_command"]=>
  string(1) "0"
  ["packets_received_ok"]=>
  string(1) "0"
  ["packets_received_eof"]=>
  string(1) "0"
  ["packets_received_rset_header"]=>
  string(1) "0"
  ["packets_received_rset_field_meta"]=>
  string(1) "0"
  ["packets_received_rset_row"]=>
  string(1) "0"
  ["packets_received_prepare_response"]=>
  string(1) "0"
  ["packets_received_change_user"]=>
  string(1) "0"
  ["result_set_queries"]=>
  string(1) "0"
  ["non_result_set_queries"]=>
  string(1) "0"
  ["no_index_used"]=>
  string(1) "0"
  ["bad_index_used"]=>
  string(1) "0"
  ["slow_queries"]=>
  string(1) "0"
  ["buffered_sets"]=>
  string(1) "0"
  ["unbuffered_sets"]=>
  string(1) "0"
  ["ps_buffered_sets"]=>
  string(1) "0"
  ["ps_unbuffered_sets"]=>
  string(1) "0"
  ["flushed_normal_sets"]=>
  string(1) "0"
  ["flushed_ps_sets"]=>
  string(1) "0"
  ["ps_prepared_never_executed"]=>
  string(1) "0"
  ["ps_prepared_once_executed"]=>
  string(1) "0"
  ["rows_fetched_from_server_normal"]=>
  string(1) "0"
  ["rows_fetched_from_server_ps"]=>
  string(1) "0"
  ["rows_buffered_from_client_normal"]=>
  string(1) "0"
  ["rows_buffered_from_client_ps"]=>
  string(1) "0"
  ["rows_fetched_from_client_normal_buffered"]=>
  string(1) "0"
  ["rows_fetched_from_client_normal_unbuffered"]=>
  string(1) "0"
  ["rows_fetched_from_client_ps_buffered"]=>
  string(1) "0"
  ["rows_fetched_from_client_ps_unbuffered"]=>
  string(1) "0"
  ["rows_fetched_from_client_ps_cursor"]=>
  string(1) "0"
  ["rows_affected_normal"]=>
  string(1) "0"
  ["rows_affected_ps"]=>
  string(1) "0"
  ["rows_skipped_normal"]=>
  string(1) "0"
  ["rows_skipped_ps"]=>
  string(1) "0"
  ["copy_on_write_saved"]=>
  string(1) "0"
  ["copy_on_write_performed"]=>
  string(1) "0"
  ["command_buffer_too_small"]=>
  string(1) "0"
  ["connect_success"]=>
  string(1) "1"
  ["connect_failure"]=>
  string(1) "0"
  ["connection_reused"]=>
  string(1) "0"
  ["reconnect"]=>
  string(1) "0"
  ["pconnect_success"]=>
  string(1) "0"
  ["active_connections"]=>
  string(1) "1"
  ["active_persistent_connections"]=>
  string(1) "0"
  ["explicit_close"]=>
  string(1) "0"
  ["implicit_close"]=>
  string(1) "0"
  ["disconnect_close"]=>
  string(1) "0"
  ["in_middle_of_command_close"]=>
  string(1) "0"
  ["explicit_free_result"]=>
  string(1) "0"
  ["implicit_free_result"]=>
  string(1) "0"
  ["explicit_stmt_close"]=>
  string(1) "0"
  ["implicit_stmt_close"]=>
  string(1) "0"
  ["mem_emalloc_count"]=>
  string(1) "0"
  ["mem_emalloc_amount"]=>
  string(1) "0"
  ["mem_ecalloc_count"]=>
  string(1) "0"
  ["mem_ecalloc_amount"]=>
  string(1) "0"
  ["mem_erealloc_count"]=>
  string(1) "0"
  ["mem_erealloc_amount"]=>
  string(1) "0"
  ["mem_efree_count"]=>
  string(1) "0"
  ["mem_efree_amount"]=>
  string(1) "0"
  ["mem_malloc_count"]=>
  string(1) "0"
  ["mem_malloc_amount"]=>
  string(1) "0"
  ["mem_calloc_count"]=>
  string(1) "0"
  ["mem_calloc_amount"]=>
  string(1) "0"
  ["mem_realloc_count"]=>
  string(1) "0"
  ["mem_realloc_amount"]=>
  string(1) "0"
  ["mem_free_count"]=>
  string(1) "0"
  ["mem_free_amount"]=>
  string(1) "0"
  ["mem_estrndup_count"]=>
  string(1) "0"
  ["mem_strndup_count"]=>
  string(1) "0"
  ["mem_estndup_count"]=>
  string(1) "0"
  ["mem_strdup_count"]=>
  string(1) "0"
  ["proto_text_fetched_null"]=>
  string(1) "0"
  ["proto_text_fetched_bit"]=>
  string(1) "0"
  ["proto_text_fetched_tinyint"]=>
  string(1) "0"
  ["proto_text_fetched_short"]=>
  string(1) "0"
  ["proto_text_fetched_int24"]=>
  string(1) "0"
  ["proto_text_fetched_int"]=>
  string(1) "0"
  ["proto_text_fetched_bigint"]=>
  string(1) "0"
  ["proto_text_fetched_decimal"]=>
  string(1) "0"
  ["proto_text_fetched_float"]=>
  string(1) "0"
  ["proto_text_fetched_double"]=>
  string(1) "0"
  ["proto_text_fetched_date"]=>
  string(1) "0"
  ["proto_text_fetched_year"]=>
  string(1) "0"
  ["proto_text_fetched_time"]=>
  string(1) "0"
  ["proto_text_fetched_datetime"]=>
  string(1) "0"
  ["proto_text_fetched_timestamp"]=>
  string(1) "0"
  ["proto_text_fetched_string"]=>
  string(1) "0"
  ["proto_text_fetched_blob"]=>
  string(1) "0"
  ["proto_text_fetched_enum"]=>
  string(1) "0"
  ["proto_text_fetched_set"]=>
  string(1) "0"
  ["proto_text_fetched_geometry"]=>
  string(1) "0"
  ["proto_text_fetched_other"]=>
  string(1) "0"
  ["proto_binary_fetched_null"]=>
  string(1) "0"
  ["proto_binary_fetched_bit"]=>
  string(1) "0"
  ["proto_binary_fetched_tinyint"]=>
  string(1) "0"
  ["proto_binary_fetched_short"]=>
  string(1) "0"
  ["proto_binary_fetched_int24"]=>
  string(1) "0"
  ["proto_binary_fetched_int"]=>
  string(1) "0"
  ["proto_binary_fetched_bigint"]=>
  string(1) "0"
  ["proto_binary_fetched_decimal"]=>
  string(1) "0"
  ["proto_binary_fetched_float"]=>
  string(1) "0"
  ["proto_binary_fetched_double"]=>
  string(1) "0"
  ["proto_binary_fetched_date"]=>
  string(1) "0"
  ["proto_binary_fetched_year"]=>
  string(1) "0"
  ["proto_binary_fetched_time"]=>
  string(1) "0"
  ["proto_binary_fetched_datetime"]=>
  string(1) "0"
  ["proto_binary_fetched_timestamp"]=>
  string(1) "0"
  ["proto_binary_fetched_string"]=>
  string(1) "0"
  ["proto_binary_fetched_blob"]=>
  string(1) "0"
  ["proto_binary_fetched_enum"]=>
  string(1) "0"
  ["proto_binary_fetched_set"]=>
  string(1) "0"
  ["proto_binary_fetched_geometry"]=>
  string(1) "0"
  ["proto_binary_fetched_other"]=>
  string(1) "0"
  ["init_command_executed_count"]=>
  string(1) "0"
  ["init_command_failed_count"]=>
  string(1) "0"
  ["com_quit"]=>
  string(1) "0"
  ["com_init_db"]=>
  string(1) "0"
  ["com_query"]=>
  string(1) "0"
  ["com_field_list"]=>
  string(1) "0"
  ["com_create_db"]=>
  string(1) "0"
  ["com_drop_db"]=>
  string(1) "0"
  ["com_refresh"]=>
  string(1) "0"
  ["com_shutdown"]=>
  string(1) "0"
  ["com_statistics"]=>
  string(1) "0"
  ["com_process_info"]=>
  string(1) "0"
  ["com_connect"]=>
  string(1) "0"
  ["com_process_kill"]=>
  string(1) "0"
  ["com_debug"]=>
  string(1) "0"
  ["com_ping"]=>
  string(1) "0"
  ["com_time"]=>
  string(1) "0"
  ["com_delayed_insert"]=>
  string(1) "0"
  ["com_change_user"]=>
  string(1) "0"
  ["com_binlog_dump"]=>
  string(1) "0"
  ["com_table_dump"]=>
  string(1) "0"
  ["com_connect_out"]=>
  string(1) "0"
  ["com_register_slave"]=>
  string(1) "0"
  ["com_stmt_prepare"]=>
  string(1) "0"
  ["com_stmt_execute"]=>
  string(1) "0"
  ["com_stmt_send_long_data"]=>
  string(1) "0"
  ["com_stmt_close"]=>
  string(1) "0"
  ["com_stmt_reset"]=>
  string(1) "0"
  ["com_stmt_set_option"]=>
  string(1) "0"
  ["com_stmt_fetch"]=>
  string(1) "0"
  ["com_deamon"]=>
  string(1) "0"
  ["bytes_received_real_data_normal"]=>
  string(1) "0"
  ["bytes_received_real_data_ps"]=>
  string(1) "0"
}

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_get_connection_stats() - Returns statistics about the client connection

MysqlndUhConnection::getSqlstate
MysqlndUhConnection::getThreadId
MysqlndUhConnection


Returns the thread ID for the current connection

MysqlndUhConnection::getStatistics
MysqlndUhConnection::getWarningCount
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::getThreadId

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getThreadId — Returns the thread ID for the current connection

Beschreibung

public int MysqlndUhConnection::getThreadId ( mysqlnd_connection $connection )

Returns the thread ID for the current connection.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

Rückgabewerte

Connection thread id.

Beispiele

Beispiel #1 MysqlndUhConnection::getThreadId() example

<?php
class proxy extends MysqlndUhConnection {
 public function getThreadId($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::getThreadId($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump($mysqli->thread_id);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::getThreadId(array (
  0 => NULL,
))
proxy::getThreadId returns 27646
int(27646)

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_thread_id() - Returns the thread ID for the current connection
  • mysql_thread_id() - Zeigt die aktuelle Thread ID an

MysqlndUhConnection::getStatistics
MysqlndUhConnection::getWarningCount
MysqlndUhConnection


Returns the number of warnings from the last query for the given link

MysqlndUhConnection::getThreadId
MysqlndUhConnection::init
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::getWarningCount

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::getWarningCount — Returns the number of warnings from the last query for the given link

Beschreibung

public int MysqlndUhConnection::getWarningCount ( mysqlnd_connection $connection )

Returns the number of warnings from the last query for the given link.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

Rückgabewerte

Number of warnings.

Beispiele

Beispiel #1 MysqlndUhConnection::getWarningCount() example

<?php
class proxy extends MysqlndUhConnection {
 public function getWarningCount($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::getWarningCount($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
var_dump($mysqli->warning_count);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::getWarningCount(array (
  0 => NULL,
))
proxy::getWarningCount returns 0
int(0)

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_warning_count() - Gibt die Anzahl an Warnungen für den letzten Query der übergebenen Verbindung zurück.

MysqlndUhConnection::getThreadId
MysqlndUhConnection::init
MysqlndUhConnection


Initialize mysqlnd connection

MysqlndUhConnection::getWarningCount
MysqlndUhConnection::killConnection
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::init

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::init — Initialize mysqlnd connection

Beschreibung

public bool MysqlndUhConnection::init ( mysqlnd_connection $connection )

Initialize mysqlnd connection. This is an mysqlnd internal call to initialize the connection object.

Hinweis:

Failing to call the parent implementation may cause memory leaks or crash PHP. This is not considered a bug. Please, keep in mind that the mysqlnd library functions have never been designed to be exposed to the user space.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

Rückgabewerte

Returns TRUE on success. Otherwise, returns FALSE

Beispiele

Beispiel #1 MysqlndUhConnection::init() example

<?php
class proxy extends MysqlndUhConnection {
 public function init($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::init($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::init(array (
  0 => NULL,
))
proxy::init returns true

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections

MysqlndUhConnection::getWarningCount
MysqlndUhConnection::killConnection
MysqlndUhConnection


Asks the server to kill a MySQL thread

MysqlndUhConnection::init
MysqlndUhConnection::listFields
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::killConnection

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::killConnection — Asks the server to kill a MySQL thread

Beschreibung

public bool MysqlndUhConnection::killConnection ( mysqlnd_connection $connection , int $pid )

Asks the server to kill a MySQL thread.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

pid

Thread Id of the connection to be killed.

Rückgabewerte

Returns TRUE on success. Otherwise, returns FALSE

Beispiele

Beispiel #1 MysqlndUhConnection::kill() example

<?php
class proxy extends MysqlndUhConnection {
 public function killConnection($res, $pid) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::killConnection($res, $pid);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->kill($mysqli->thread_id);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::killConnection(array (
  0 => NULL,
  1 => 27650,
))
proxy::killConnection returns true

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_kill() - Asks the server to kill a MySQL thread

MysqlndUhConnection::init
MysqlndUhConnection::listFields
MysqlndUhConnection


List MySQL table fields

MysqlndUhConnection::killConnection
MysqlndUhConnection::listMethod
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::listFields

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::listFields — List MySQL table fields

Beschreibung

public array MysqlndUhConnection::listFields ( mysqlnd_connection $connection , string $table , string $achtung_wild )

List MySQL table fields.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

table

The name of the table that's being queried.

pattern

Name pattern.

Rückgabewerte

Beispiele

Beispiel #1 MysqlndUhConnection::listFields() example

<?php
class proxy extends MysqlndUhConnection {
 public function listFields($res, $table, $pattern) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::listFields($res, $table, $pattern);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysql = mysql_connect("localhost", "root", "");
mysql_select_db("test", $mysql);
mysql_query("DROP TABLE IF EXISTS test_a", $mysql);
mysql_query("CREATE TABLE test_a(id INT, col1 VARCHAR(255))", $mysql);
$res = mysql_list_fields("test", "test_a", $mysql);
printf("num_rows = %d\n", mysql_num_rows($res));
while ($row = mysql_fetch_assoc($res))
 var_dump($row);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::listFields(array (
  0 => NULL,
  1 => 'test_a',
  2 => '',
))
proxy::listFields returns NULL
num_rows = 0

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysql_list_fields() - Listet MySQL Tabellenfelder auf

MysqlndUhConnection::killConnection
MysqlndUhConnection::listMethod
MysqlndUhConnection


Wrapper for assorted list commands

MysqlndUhConnection::listFields
MysqlndUhConnection::moreResults
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::listMethod

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::listMethod — Wrapper for assorted list commands

Beschreibung

public void MysqlndUhConnection::listMethod ( mysqlnd_connection $connection , string $query , string $achtung_wild , string $par1 )

Wrapper for assorted list commands.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

query

SHOW command to be executed.

achtung_wild

par1

Rückgabewerte

Rückgabewerte

TODO

Beispiele

Beispiel #1 MysqlndUhConnection::listMethod() example

<?php
class proxy extends MysqlndUhConnection {
 public function listMethod($res, $query, $pattern, $par1) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::listMethod($res, $query, $pattern, $par1);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysql = mysql_connect("localhost", "root", "");
$res = mysql_list_dbs($mysql);
printf("num_rows = %d\n", mysql_num_rows($res));
while ($row = mysql_fetch_assoc($res))
 var_dump($row);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::listMethod(array (
  0 => NULL,
  1 => 'SHOW DATABASES',
  2 => '',
  3 => '',
))
proxy::listMethod returns NULL
num_rows = 6
array(1) {
  ["Database"]=>
  string(18) "information_schema"
}
array(1) {
  ["Database"]=>
  string(5) "mysql"
}
array(1) {
  ["Database"]=>
  string(8) "oxid_new"
}
array(1) {
  ["Database"]=>
  string(7) "phptest"
}
array(1) {
  ["Database"]=>
  string(7) "pushphp"
}
array(1) {
  ["Database"]=>
  string(4) "test"
}

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysql_list_dbs() - Auflistung der verfügbaren Datenbanken (Schemata) auf einem MySQL Server

MysqlndUhConnection::listFields
MysqlndUhConnection::moreResults
MysqlndUhConnection


Check if there are any more query results from a multi query

MysqlndUhConnection::listMethod
MysqlndUhConnection::nextResult
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::moreResults

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::moreResults — Check if there are any more query results from a multi query

Beschreibung

public bool MysqlndUhConnection::moreResults ( mysqlnd_connection $connection )

Check if there are any more query results from a multi query.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

Rückgabewerte

Returns TRUE on success. Otherwise, returns FALSE

Beispiele

Beispiel #1 MysqlndUhConnection::moreResults() example

<?php
class proxy extends MysqlndUhConnection {
 public function moreResults($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::moreResults($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->multi_query("SELECT 1 AS _one; SELECT 2 AS _two");
do {
  $res = $mysqli->store_result();
  var_dump($res->fetch_assoc());
  printf("%s\n", str_repeat("-", 40));
} while ($mysqli->more_results() && $mysqli->next_result());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(1) {
  ["_one"]=>
  string(1) "1"
}
----------------------------------------
proxy::moreResults(array (
  0 => NULL,
))
proxy::moreResults returns true
proxy::moreResults(array (
  0 => NULL,
))
proxy::moreResults returns true
array(1) {
  ["_two"]=>
  string(1) "2"
}
----------------------------------------
proxy::moreResults(array (
  0 => NULL,
))
proxy::moreResults returns false

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_more_results() - Check if there are any more query results from a multi query

MysqlndUhConnection::listMethod
MysqlndUhConnection::nextResult
MysqlndUhConnection


Prepare next result from multi_query

MysqlndUhConnection::moreResults
MysqlndUhConnection::ping
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::nextResult

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::nextResult — Prepare next result from multi_query

Beschreibung

public bool MysqlndUhConnection::nextResult ( mysqlnd_connection $connection )

Prepare next result from multi_query.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

Rückgabewerte

Returns TRUE on success. Otherwise, returns FALSE

Beispiele

Beispiel #1 MysqlndUhConnection::nextResult() example

<?php
class proxy extends MysqlndUhConnection {
 public function nextResult($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::nextResult($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->multi_query("SELECT 1 AS _one; SELECT 2 AS _two");
do {
  $res = $mysqli->store_result();
  var_dump($res->fetch_assoc());
  printf("%s\n", str_repeat("-", 40));
} while ($mysqli->more_results() && $mysqli->next_result());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(1) {
  ["_one"]=>
  string(1) "1"
}
----------------------------------------
proxy::nextResult(array (
  0 => NULL,
))
proxy::nextResult returns true
array(1) {
  ["_two"]=>
  string(1) "2"
}
----------------------------------------

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_next_result() - Prepare next result from multi_query

MysqlndUhConnection::moreResults
MysqlndUhConnection::ping
MysqlndUhConnection


Pings a server connection, or tries to reconnect if the connection has gone down

MysqlndUhConnection::nextResult
MysqlndUhConnection::query
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::ping

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::ping — Pings a server connection, or tries to reconnect if the connection has gone down

Beschreibung

public bool MysqlndUhConnection::ping ( mysqlnd_connection $connection )

Pings a server connection, or tries to reconnect if the connection has gone down.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

Rückgabewerte

Returns TRUE on success. Otherwise, returns FALSE

Beispiele

Beispiel #1 MysqlndUhConnection::ping() example

<?php
class proxy extends MysqlndUhConnection {
 public function ping($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::ping($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->ping();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::ping(array (
  0 => NULL,
))
proxy::ping returns true

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_ping() - Pings a server connection, or tries to reconnect if the connection has gone down
  • mysql_ping() - Ping a server connection or reconnect if there is no connection

MysqlndUhConnection::nextResult
MysqlndUhConnection::query
MysqlndUhConnection


Performs a query on the database

MysqlndUhConnection::ping
MysqlndUhConnection::queryReadResultsetHeader
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::query

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::query — Performs a query on the database

Beschreibung

public bool MysqlndUhConnection::query ( mysqlnd_connection $connection , string $query )

Performs a query on the database (COM_QUERY).

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

query

The query string.

Rückgabewerte

Returns TRUE on success. Otherwise, returns FALSE

Beispiele

Beispiel #1 MysqlndUhConnection::query() example

<?php
class proxy extends MysqlndUhConnection {
 public function query($res, $query) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $query = "SELECT 'How about query rewriting?'";
  $ret = parent::query($res, $query);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$res = $mysqli->query("SELECT 'Welcome mysqlnd_uh!' FROM DUAL");
var_dump($res->fetch_assoc());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::query(array (
  0 => NULL,
  1 => 'SELECT \'Welcome mysqlnd_uh!\' FROM DUAL',
))
proxy::query returns true
array(1) {
  ["How about query rewriting?"]=>
  string(26) "How about query rewriting?"
}

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_query() - Performs a query on the database
  • mysql_query() - Sendet eine Anfrage an MySQL

MysqlndUhConnection::ping
MysqlndUhConnection::queryReadResultsetHeader
MysqlndUhConnection


Read a result set header

MysqlndUhConnection::query
MysqlndUhConnection::reapQuery
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::queryReadResultsetHeader

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::queryReadResultsetHeader — Read a result set header

Beschreibung

public bool MysqlndUhConnection::queryReadResultsetHeader ( mysqlnd_connection $connection , mysqlnd_statement $mysqlnd_stmt )

Read a result set header.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

mysqlnd_stmt

Mysqlnd statement handle. Do not modify! Set to NULL, if function is not used in the context of a prepared statement.

Rückgabewerte

Returns TRUE on success. Otherwise, returns FALSE

Beispiele

Beispiel #1 MysqlndUhConnection::queryReadResultsetHeader() example

<?php
class proxy extends MysqlndUhConnection {
 public function queryReadResultsetHeader($res, $stmt) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::queryReadResultsetHeader($res, $stmt);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$res = $mysqli->query("SELECT 'Welcome mysqlnd_uh!' FROM DUAL");
var_dump($res->fetch_assoc());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::queryReadResultsetHeader(array (
  0 => NULL,
  1 => NULL,
))
proxy::queryReadResultsetHeader returns true
array(1) {
  ["Welcome mysqlnd_uh!"]=>
  string(19) "Welcome mysqlnd_uh!"
}

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections

MysqlndUhConnection::query
MysqlndUhConnection::reapQuery
MysqlndUhConnection


Get result from async query

MysqlndUhConnection::queryReadResultsetHeader
MysqlndUhConnection::refreshServer
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::reapQuery

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::reapQuery — Get result from async query

Beschreibung

public bool MysqlndUhConnection::reapQuery ( mysqlnd_connection $connection )

Get result from async query.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

Rückgabewerte

Returns TRUE on success. Otherwise, returns FALSE

Beispiele

Beispiel #1 MysqlndUhConnection::reapQuery() example

<?php
class proxy extends MysqlndUhConnection {
 public function reapQuery($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::reapQuery($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$conn1 = new mysqli("localhost", "root", "", "test");
$conn2 = new mysqli("localhost", "root", "", "test");

$conn1->query("SELECT 1 as 'one', SLEEP(1) AS _sleep FROM DUAL", MYSQLI_ASYNC |  MYSQLI_USE_RESULT);
$conn2->query("SELECT 1.1 as 'one dot one' FROM DUAL", MYSQLI_ASYNC |  MYSQLI_USE_RESULT);

$links = array(
 $conn1->thread_id => array('link' => $conn1, 'processed' => false),
 $conn2->thread_id => array('link' => $conn2, 'processed' => false)
);

$saved_errors = array();
do {
 $poll_links = $poll_errors = $poll_reject = array();
 foreach ($links as $thread_id => $link) {
  if (!$link['processed']) {
   $poll_links[] = $link['link'];
   $poll_errors[] = $link['link'];
   $poll_reject[] = $link['link'];
  }
 }
 if (0 == count($poll_links))
  break;

 if (0 == ($num_ready = mysqli_poll($poll_links, $poll_errors, $poll_reject, 0, 200000)))
  continue;

 if (!empty($poll_errors)) {
  die(var_dump($poll_errors));
 }

 foreach ($poll_links as $link) {
  $thread_id = mysqli_thread_id($link);
  $links[$thread_id]['processed'] = true;

  if (is_object($res = mysqli_reap_async_query($link))) {
   // result set object
   while ($row = mysqli_fetch_assoc($res)) {
    // eat up all results
    var_dump($row);
   }
   mysqli_free_result($res);
  } else {
   // either there is no result (no SELECT) or there is an error
   if (mysqli_errno($link) > 0) {
    $saved_errors[$thread_id] = mysqli_errno($link);
    printf("'%s' caused %d\n", $links[$thread_id]['query'],     mysqli_errno($link));
   }
  }
 }
} while (true);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::reapQuery(array (
  0 => NULL,
))
proxy::reapQuery returns true
array(1) {
  ["one dot one"]=>
  string(3) "1.1"
}
proxy::reapQuery(array (
  0 => NULL,
))
proxy::reapQuery returns true
array(2) {
  ["one"]=>
  string(1) "1"
  ["_sleep"]=>
  string(1) "0"
}

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_real_async_query()

MysqlndUhConnection::queryReadResultsetHeader
MysqlndUhConnection::refreshServer
MysqlndUhConnection


Flush or reset tables and caches

MysqlndUhConnection::reapQuery
MysqlndUhConnection::restartPSession
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::refreshServer

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::refreshServer — Flush or reset tables and caches

Beschreibung

public bool MysqlndUhConnection::refreshServer ( mysqlnd_connection $connection , int $options )

Flush or reset tables and caches.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

options

What to refresh.

Rückgabewerte

Returns TRUE on success. Otherwise, returns FALSE

Beispiele

Beispiel #1 MysqlndUhConnection::refreshServer() example

<?php
class proxy extends MysqlndUhConnection {
 public function refreshServer($res, $option) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::refreshServer($res, $option);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
mysqli_refresh($mysqli, 1);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::refreshServer(array (
  0 => NULL,
  1 => 1,
))
proxy::refreshServer returns false

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections

MysqlndUhConnection::reapQuery
MysqlndUhConnection::restartPSession
MysqlndUhConnection


Restart a persistent mysqlnd connection

MysqlndUhConnection::refreshServer
MysqlndUhConnection::selectDb
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::restartPSession

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::restartPSession — Restart a persistent mysqlnd connection

Beschreibung

public bool MysqlndUhConnection::restartPSession ( mysqlnd_connection $connection )

Restart a persistent mysqlnd connection.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

Rückgabewerte

Returns TRUE on success. Otherwise, returns FALSE

Beispiele

Beispiel #1 MysqlndUhConnection::restartPSession() example

<?php
class proxy extends MysqlndUhConnection {
 public function ping($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::ping($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->ping();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::restartPSession(array (
  0 => NULL,
))
proxy::restartPSession returns true

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections

MysqlndUhConnection::refreshServer
MysqlndUhConnection::selectDb
MysqlndUhConnection


Selects the default database for database queries

MysqlndUhConnection::restartPSession
MysqlndUhConnection::sendClose
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::selectDb

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::selectDb — Selects the default database for database queries

Beschreibung

public bool MysqlndUhConnection::selectDb ( mysqlnd_connection $connection , string $database )

Selects the default database for database queries.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

database

The database name.

Rückgabewerte

Returns TRUE on success. Otherwise, returns FALSE

Beispiele

Beispiel #1 MysqlndUhConnection::selectDb() example

<?php
class proxy extends MysqlndUhConnection {
 public function selectDb($res, $database) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::selectDb($res, $database);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->select_db("mysql");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::selectDb(array (
  0 => NULL,
  1 => 'mysql',
))
proxy::selectDb returns true

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_select_db() - Selects the default database for database queries
  • mysql_select_db() - Auswahl einer MySQL Datenbank

MysqlndUhConnection::restartPSession
MysqlndUhConnection::sendClose
MysqlndUhConnection


Sends a close command to MySQL

MysqlndUhConnection::selectDb
MysqlndUhConnection::sendQuery
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::sendClose

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::sendClose — Sends a close command to MySQL

Beschreibung

public bool MysqlndUhConnection::sendClose ( mysqlnd_connection $connection )

Sends a close command to MySQL.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

Rückgabewerte

Returns TRUE on success. Otherwise, returns FALSE

Beispiele

Beispiel #1 MysqlndUhConnection::sendClose() example

<?php
class proxy extends MysqlndUhConnection {
 public function sendClose($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::sendClose($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->close();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::sendClose(array (
  0 => NULL,
))
proxy::sendClose returns true
proxy::sendClose(array (
  0 => NULL,
))
proxy::sendClose returns true

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections

MysqlndUhConnection::selectDb
MysqlndUhConnection::sendQuery
MysqlndUhConnection


Sends a query to MySQL

MysqlndUhConnection::sendClose
MysqlndUhConnection::serverDumpDebugInformation
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::sendQuery

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::sendQuery — Sends a query to MySQL

Beschreibung

public bool MysqlndUhConnection::sendQuery ( mysqlnd_connection $connection , string $query )

Sends a query to MySQL.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

query

The query string.

Rückgabewerte

Returns TRUE on success. Otherwise, returns FALSE

Beispiele

Beispiel #1 MysqlndUhConnection::sendQuery() example

<?php
class proxy extends MysqlndUhConnection {
 public function sendQuery($res, $query) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::sendQuery($res, $query);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->query("SELECT 1");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::sendQuery(array (
  0 => NULL,
  1 => 'SELECT 1',
))
proxy::sendQuery returns true

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections

MysqlndUhConnection::sendClose
MysqlndUhConnection::serverDumpDebugInformation
MysqlndUhConnection


Dump debugging information into the log for the MySQL server

MysqlndUhConnection::sendQuery
MysqlndUhConnection::setAutocommit
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::serverDumpDebugInformation

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::serverDumpDebugInformation — Dump debugging information into the log for the MySQL server

Beschreibung

public bool MysqlndUhConnection::serverDumpDebugInformation ( mysqlnd_connection $connection )

Dump debugging information into the log for the MySQL server.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

Rückgabewerte

Returns TRUE on success. Otherwise, returns FALSE

Beispiele

Beispiel #1 MysqlndUhConnection::serverDumpDebugInformation() example

<?php
class proxy extends MysqlndUhConnection {
 public function serverDumpDebugInformation($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::serverDumpDebugInformation($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->dump_debug_info();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::serverDumpDebugInformation(array (
  0 => NULL,
))
proxy::serverDumpDebugInformation returns true

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_dump_debug_info() - Dump debugging information into the log

MysqlndUhConnection::sendQuery
MysqlndUhConnection::setAutocommit
MysqlndUhConnection


Turns on or off auto-committing database modifications

MysqlndUhConnection::serverDumpDebugInformation
MysqlndUhConnection::setCharset
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::setAutocommit

(PECL mysqlnd-uh >= 1.0.1-alpha, PHP >= 5.4.0)

MysqlndUhConnection::setAutocommit — Turns on or off auto-committing database modifications

Beschreibung

public bool MysqlndUhConnection::setAutocommit ( mysqlnd_connection $connection , int $mode )

Turns on or off auto-committing database modifications

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

mode

Whether to turn on auto-commit or not.

Rückgabewerte

Returns TRUE on success. Otherwise, returns FALSE

Beispiele

Beispiel #1 MysqlndUhConnection::setAutocommit() example

<?php
class proxy extends MysqlndUhConnection {
 public function setAutocommit($res, $mode) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::setAutocommit($res, $mode);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->autocommit(false);
$mysqli->autocommit(true);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::setAutocommit(array (
  0 => NULL,
  1 => 0,
))
proxy::setAutocommit returns true
proxy::setAutocommit(array (
  0 => NULL,
  1 => 1,
))
proxy::setAutocommit returns true

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_autocommit() - Aktiviert oder deaktiviert automatisches Bestätigen von Datenbankänderungen

MysqlndUhConnection::serverDumpDebugInformation
MysqlndUhConnection::setCharset
MysqlndUhConnection


Sets the default client character set

MysqlndUhConnection::setAutocommit
MysqlndUhConnection::setClientOption
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::setCharset

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::setCharset — Sets the default client character set

Beschreibung

public bool MysqlndUhConnection::setCharset ( mysqlnd_connection $connection , string $charset )

Sets the default client character set.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

charset

The charset to be set as default.

Rückgabewerte

Returns TRUE on success. Otherwise, returns FALSE

Beispiele

Beispiel #1 MysqlndUhConnection::setCharset() example

<?php
class proxy extends MysqlndUhConnection {
 public function setCharset($res, $charset) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::setCharset($res, $charset);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->set_charset("latin1");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::setCharset(array (
  0 => NULL,
  1 => 'latin1',
))
proxy::setCharset returns true

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_set_charset() - Sets the default client character set

MysqlndUhConnection::setAutocommit
MysqlndUhConnection::setClientOption
MysqlndUhConnection


Sets a client option

MysqlndUhConnection::setCharset
MysqlndUhConnection::setServerOption
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::setClientOption

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::setClientOption — Sets a client option

Beschreibung

public bool MysqlndUhConnection::setClientOption ( mysqlnd_connection $connection , int $option , int $value )

Sets a client option.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

option

The option to be set.

value

Optional option value, if required.

Rückgabewerte

Returns TRUE on success. Otherwise, returns FALSE

Beispiele

Beispiel #1 MysqlndUhConnection::setClientOption() example

<?php
function client_option_to_string($option) {
 static $mapping = array(
  MYSQLND_UH_MYSQLND_OPTION_OPT_CONNECT_TIMEOUT => "MYSQLND_UH_MYSQLND_OPTION_OPT_CONNECT_TIMEOUT",
  MYSQLND_UH_MYSQLND_OPTION_OPT_COMPRESS => "MYSQLND_UH_MYSQLND_OPTION_OPT_COMPRESS",
  MYSQLND_UH_MYSQLND_OPTION_OPT_NAMED_PIPE => "MYSQLND_UH_MYSQLND_OPTION_OPT_NAMED_PIPE",
  MYSQLND_UH_MYSQLND_OPTION_INIT_COMMAND => "MYSQLND_UH_MYSQLND_OPTION_INIT_COMMAND",
  MYSQLND_UH_MYSQLND_READ_DEFAULT_FILE => "MYSQLND_UH_MYSQLND_READ_DEFAULT_FILE",
  MYSQLND_UH_MYSQLND_READ_DEFAULT_GROUP => "MYSQLND_UH_MYSQLND_READ_DEFAULT_GROUP",
  MYSQLND_UH_MYSQLND_SET_CHARSET_DIR => "MYSQLND_UH_MYSQLND_SET_CHARSET_DIR",
  MYSQLND_UH_MYSQLND_SET_CHARSET_NAME => "MYSQLND_UH_MYSQLND_SET_CHARSET_NAME",
  MYSQLND_UH_MYSQLND_OPT_LOCAL_INFILE => "MYSQLND_UH_MYSQLND_OPT_LOCAL_INFILE",
  MYSQLND_UH_MYSQLND_OPT_PROTOCOL => "MYSQLND_UH_MYSQLND_OPT_PROTOCOL",
  MYSQLND_UH_MYSQLND_SHARED_MEMORY_BASE_NAME => "MYSQLND_UH_MYSQLND_SHARED_MEMORY_BASE_NAME",
  MYSQLND_UH_MYSQLND_OPT_READ_TIMEOUT => "MYSQLND_UH_MYSQLND_OPT_READ_TIMEOUT",
  MYSQLND_UH_MYSQLND_OPT_WRITE_TIMEOUT => "MYSQLND_UH_MYSQLND_OPT_WRITE_TIMEOUT",
  MYSQLND_UH_MYSQLND_OPT_USE_RESULT => "MYSQLND_UH_MYSQLND_OPT_USE_RESULT",
  MYSQLND_UH_MYSQLND_OPT_USE_REMOTE_CONNECTION => "MYSQLND_UH_MYSQLND_OPT_USE_REMOTE_CONNECTION",
  MYSQLND_UH_MYSQLND_OPT_USE_EMBEDDED_CONNECTION => "MYSQLND_UH_MYSQLND_OPT_USE_EMBEDDED_CONNECTION",
  MYSQLND_UH_MYSQLND_OPT_GUESS_CONNECTION => "MYSQLND_UH_MYSQLND_OPT_GUESS_CONNECTION",
  MYSQLND_UH_MYSQLND_SET_CLIENT_IP => "MYSQLND_UH_MYSQLND_SET_CLIENT_IP",
  MYSQLND_UH_MYSQLND_SECURE_AUTH => "MYSQLND_UH_MYSQLND_SECURE_AUTH",
  MYSQLND_UH_MYSQLND_REPORT_DATA_TRUNCATION => "MYSQLND_UH_MYSQLND_REPORT_DATA_TRUNCATION",
  MYSQLND_UH_MYSQLND_OPT_RECONNECT => "MYSQLND_UH_MYSQLND_OPT_RECONNECT",
  MYSQLND_UH_MYSQLND_OPT_SSL_VERIFY_SERVER_CERT => "MYSQLND_UH_MYSQLND_OPT_SSL_VERIFY_SERVER_CERT",
  MYSQLND_UH_MYSQLND_OPT_NET_CMD_BUFFER_SIZE => "MYSQLND_UH_MYSQLND_OPT_NET_CMD_BUFFER_SIZE",
  MYSQLND_UH_MYSQLND_OPT_NET_READ_BUFFER_SIZE => "MYSQLND_UH_MYSQLND_OPT_NET_READ_BUFFER_SIZE",
  MYSQLND_UH_MYSQLND_OPT_SSL_KEY => "MYSQLND_UH_MYSQLND_OPT_SSL_KEY",
  MYSQLND_UH_MYSQLND_OPT_SSL_CERT => "MYSQLND_UH_MYSQLND_OPT_SSL_CERT",
  MYSQLND_UH_MYSQLND_OPT_SSL_CA => "MYSQLND_UH_MYSQLND_OPT_SSL_CA",
  MYSQLND_UH_MYSQLND_OPT_SSL_CAPATH => "MYSQLND_UH_MYSQLND_OPT_SSL_CAPATH",
  MYSQLND_UH_MYSQLND_OPT_SSL_CIPHER => "MYSQLND_UH_MYSQLND_OPT_SSL_CIPHER",
  MYSQLND_UH_MYSQLND_OPT_SSL_PASSPHRASE => "MYSQLND_UH_MYSQLND_OPT_SSL_PASSPHRASE",
  MYSQLND_UH_SERVER_OPTION_PLUGIN_DIR => "MYSQLND_UH_SERVER_OPTION_PLUGIN_DIR",
  MYSQLND_UH_SERVER_OPTION_DEFAULT_AUTH => "MYSQLND_UH_SERVER_OPTION_DEFAULT_AUTH",
  MYSQLND_UH_SERVER_OPTION_SET_CLIENT_IP => "MYSQLND_UH_SERVER_OPTION_SET_CLIENT_IP"
 );
 if (version_compare(PHP_VERSION, '5.3.99-dev', '>')) {
  $mapping[MYSQLND_UH_MYSQLND_OPT_MAX_ALLOWED_PACKET] = "MYSQLND_UH_MYSQLND_OPT_MAX_ALLOWED_PACKET";
  $mapping[MYSQLND_UH_MYSQLND_OPT_AUTH_PROTOCOL] = "MYSQLND_UH_MYSQLND_OPT_AUTH_PROTOCOL";
 }
 if (defined("MYSQLND_UH_MYSQLND_OPT_INT_AND_FLOAT_NATIVE")) {
  /* special mysqlnd build */
  $mapping["MYSQLND_UH_MYSQLND_OPT_INT_AND_FLOAT_NATIVE"] = "MYSQLND_UH_MYSQLND_OPT_INT_AND_FLOAT_NATIVE";
 }
 return (isset($mapping[$option])) ? $mapping[$option] : 'unknown';
}

class proxy extends MysqlndUhConnection {
 public function setClientOption($res, $option, $value) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  printf("Option '%s' set to %s\n", client_option_to_string($option), var_export($value, true));
  $ret = parent::setClientOption($res, $option, $value);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::setClientOption(array (
  0 => NULL,
  1 => 210,
  2 => 3221225472,
))
Option 'MYSQLND_UH_MYSQLND_OPT_MAX_ALLOWED_PACKET' set to 3221225472
proxy::setClientOption returns true
proxy::setClientOption(array (
  0 => NULL,
  1 => 211,
  2 => 'mysql_native_password',
))
Option 'MYSQLND_UH_MYSQLND_OPT_AUTH_PROTOCOL' set to 'mysql_native_password'
proxy::setClientOption returns true
proxy::setClientOption(array (
  0 => NULL,
  1 => 8,
  2 => 1,
))
Option 'MYSQLND_UH_MYSQLND_OPT_LOCAL_INFILE' set to 1
proxy::setClientOption returns true

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_real_connect() - Opens a connection to a mysql server
  • mysqli_options() - Set options

MysqlndUhConnection::setCharset
MysqlndUhConnection::setServerOption
MysqlndUhConnection


Sets a server option

MysqlndUhConnection::setClientOption
MysqlndUhConnection::shutdownServer
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::setServerOption

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::setServerOption — Sets a server option

Beschreibung

public void MysqlndUhConnection::setServerOption ( mysqlnd_connection $connection , int $option )

Sets a server option.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

option

The option to be set.

Rückgabewerte

Returns TRUE on success. Otherwise, returns FALSE

Beispiele

Beispiel #1 MysqlndUhConnection::setServerOption() example

<?php
function server_option_to_string($option) {
 $ret = 'unknown';
 switch ($option) {
  case MYSQLND_UH_SERVER_OPTION_MULTI_STATEMENTS_ON:
   $ret = 'MYSQLND_UH_SERVER_OPTION_MULTI_STATEMENTS_ON';
   break;
  case MYSQLND_UH_SERVER_OPTION_MULTI_STATEMENTS_OFF:
   $ret = 'MYSQLND_UH_SERVER_OPTION_MULTI_STATEMENTS_ON';
   break;
 }
 return $ret;
}

class proxy extends MysqlndUhConnection {
 public function setServerOption($res, $option) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  printf("Option '%s' set\n", server_option_to_string($option));
  $ret = parent::setServerOption($res, $option);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->multi_query("SELECT 1; SELECT 2");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::setServerOption(array (
  0 => NULL,
  1 => 0,
))
Option 'MYSQLND_UH_SERVER_OPTION_MULTI_STATEMENTS_ON' set
proxy::setServerOption returns true

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_real_connect() - Opens a connection to a mysql server
  • mysqli_options() - Set options
  • mysqli_multi_query() - Performs a query on the database

MysqlndUhConnection::setClientOption
MysqlndUhConnection::shutdownServer
MysqlndUhConnection


The shutdownServer purpose

MysqlndUhConnection::setServerOption
MysqlndUhConnection::simpleCommand
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::shutdownServer

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::shutdownServer — The shutdownServer purpose

Beschreibung

public void MysqlndUhConnection::shutdownServer ( string $MYSQLND_UH_RES_MYSQLND_NAME , string $"level" )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

MYSQLND_UH_RES_MYSQLND_NAME

"level"

Rückgabewerte

MysqlndUhConnection::setServerOption
MysqlndUhConnection::simpleCommand
MysqlndUhConnection


Sends a basic COM_* command

MysqlndUhConnection::shutdownServer
MysqlndUhConnection::simpleCommandHandleResponse
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::simpleCommand

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::simpleCommand — Sends a basic COM_* command

Beschreibung

public bool MysqlndUhConnection::simpleCommand ( mysqlnd_connection $connection , int $command , string $arg , int $ok_packet , bool $silent , bool $ignore_upsert_status )

Sends a basic COM_* command to MySQL.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

command

The COM command to be send.

arg

Optional COM command arguments.

ok_packet

The OK packet type.

silent

Whether mysqlnd may emit errors.

ignore_upsert_status

Whether to ignore UPDATE/INSERT status.

Rückgabewerte

Returns TRUE on success. Otherwise, returns FALSE

Beispiele

Beispiel #1 MysqlndUhConnection::simpleCommand() example

<?php
function server_cmd_2_string($command) {
 $mapping = array(
  MYSQLND_UH_MYSQLND_COM_SLEEP => "MYSQLND_UH_MYSQLND_COM_SLEEP",
  MYSQLND_UH_MYSQLND_COM_QUIT => "MYSQLND_UH_MYSQLND_COM_QUIT",
  MYSQLND_UH_MYSQLND_COM_INIT_DB => "MYSQLND_UH_MYSQLND_COM_INIT_DB",
  MYSQLND_UH_MYSQLND_COM_QUERY => "MYSQLND_UH_MYSQLND_COM_QUERY",
  MYSQLND_UH_MYSQLND_COM_FIELD_LIST => "MYSQLND_UH_MYSQLND_COM_FIELD_LIST",
  MYSQLND_UH_MYSQLND_COM_CREATE_DB => "MYSQLND_UH_MYSQLND_COM_CREATE_DB",
  MYSQLND_UH_MYSQLND_COM_DROP_DB => "MYSQLND_UH_MYSQLND_COM_DROP_DB",
  MYSQLND_UH_MYSQLND_COM_REFRESH => "MYSQLND_UH_MYSQLND_COM_REFRESH",
  MYSQLND_UH_MYSQLND_COM_SHUTDOWN => "MYSQLND_UH_MYSQLND_COM_SHUTDOWN",
  MYSQLND_UH_MYSQLND_COM_STATISTICS => "MYSQLND_UH_MYSQLND_COM_STATISTICS",
  MYSQLND_UH_MYSQLND_COM_PROCESS_INFO => "MYSQLND_UH_MYSQLND_COM_PROCESS_INFO",
  MYSQLND_UH_MYSQLND_COM_CONNECT => "MYSQLND_UH_MYSQLND_COM_CONNECT",
  MYSQLND_UH_MYSQLND_COM_PROCESS_KILL => "MYSQLND_UH_MYSQLND_COM_PROCESS_KILL",
  MYSQLND_UH_MYSQLND_COM_DEBUG => "MYSQLND_UH_MYSQLND_COM_DEBUG",
  MYSQLND_UH_MYSQLND_COM_PING => "MYSQLND_UH_MYSQLND_COM_PING",
  MYSQLND_UH_MYSQLND_COM_TIME => "MYSQLND_UH_MYSQLND_COM_TIME",
  MYSQLND_UH_MYSQLND_COM_DELAYED_INSERT => "MYSQLND_UH_MYSQLND_COM_DELAYED_INSERT",
  MYSQLND_UH_MYSQLND_COM_CHANGE_USER => "MYSQLND_UH_MYSQLND_COM_CHANGE_USER",
  MYSQLND_UH_MYSQLND_COM_BINLOG_DUMP => "MYSQLND_UH_MYSQLND_COM_BINLOG_DUMP",
  MYSQLND_UH_MYSQLND_COM_TABLE_DUMP => "MYSQLND_UH_MYSQLND_COM_TABLE_DUMP",
  MYSQLND_UH_MYSQLND_COM_CONNECT_OUT => "MYSQLND_UH_MYSQLND_COM_CONNECT_OUT",
  MYSQLND_UH_MYSQLND_COM_REGISTER_SLAVED => "MYSQLND_UH_MYSQLND_COM_REGISTER_SLAVED",
  MYSQLND_UH_MYSQLND_COM_STMT_PREPARE => "MYSQLND_UH_MYSQLND_COM_STMT_PREPARE",
  MYSQLND_UH_MYSQLND_COM_STMT_EXECUTE => "MYSQLND_UH_MYSQLND_COM_STMT_EXECUTE",
  MYSQLND_UH_MYSQLND_COM_STMT_SEND_LONG_DATA => "MYSQLND_UH_MYSQLND_COM_STMT_SEND_LONG_DATA",
  MYSQLND_UH_MYSQLND_COM_STMT_CLOSE => "MYSQLND_UH_MYSQLND_COM_STMT_CLOSE",
  MYSQLND_UH_MYSQLND_COM_STMT_RESET => "MYSQLND_UH_MYSQLND_COM_STMT_RESET",
  MYSQLND_UH_MYSQLND_COM_SET_OPTION => "MYSQLND_UH_MYSQLND_COM_SET_OPTION",
  MYSQLND_UH_MYSQLND_COM_STMT_FETCH => "MYSQLND_UH_MYSQLND_COM_STMT_FETCH",
  MYSQLND_UH_MYSQLND_COM_DAEMON => "MYSQLND_UH_MYSQLND_COM_DAEMON",
  MYSQLND_UH_MYSQLND_COM_END => "MYSQLND_UH_MYSQLND_COM_END",
 );
 return (isset($mapping[$command])) ? $mapping[$command] : 'unknown';
}

function ok_packet_2_string($ok_packet) {
 $mapping = array(
  MYSQLND_UH_MYSQLND_PROT_GREET_PACKET => "MYSQLND_UH_MYSQLND_PROT_GREET_PACKET",
  MYSQLND_UH_MYSQLND_PROT_AUTH_PACKET => "MYSQLND_UH_MYSQLND_PROT_AUTH_PACKET",
  MYSQLND_UH_MYSQLND_PROT_OK_PACKET => "MYSQLND_UH_MYSQLND_PROT_OK_PACKET",
  MYSQLND_UH_MYSQLND_PROT_EOF_PACKET => "MYSQLND_UH_MYSQLND_PROT_EOF_PACKET",
  MYSQLND_UH_MYSQLND_PROT_CMD_PACKET => "MYSQLND_UH_MYSQLND_PROT_CMD_PACKET",
  MYSQLND_UH_MYSQLND_PROT_RSET_HEADER_PACKET => "MYSQLND_UH_MYSQLND_PROT_RSET_HEADER_PACKET",
  MYSQLND_UH_MYSQLND_PROT_RSET_FLD_PACKET => "MYSQLND_UH_MYSQLND_PROT_RSET_FLD_PACKET",
  MYSQLND_UH_MYSQLND_PROT_ROW_PACKET => "MYSQLND_UH_MYSQLND_PROT_ROW_PACKET",
  MYSQLND_UH_MYSQLND_PROT_STATS_PACKET => "MYSQLND_UH_MYSQLND_PROT_STATS_PACKET",
  MYSQLND_UH_MYSQLND_PREPARE_RESP_PACKET => "MYSQLND_UH_MYSQLND_PREPARE_RESP_PACKET",
  MYSQLND_UH_MYSQLND_CHG_USER_RESP_PACKET => "MYSQLND_UH_MYSQLND_CHG_USER_RESP_PACKET",
  MYSQLND_UH_MYSQLND_PROT_LAST => "MYSQLND_UH_MYSQLND_PROT_LAST",
 );
 return (isset($mapping[$ok_packet])) ? $mapping[$ok_packet] : 'unknown';
}

class proxy extends MysqlndUhConnection {
 public function simpleCommand($conn, $command, $arg, $ok_packet, $silent, $ignore_upsert_status) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  printf("Command '%s'\n", server_cmd_2_string($command));
  printf("OK packet '%s'\n",  ok_packet_2_string($ok_packet));
  $ret = parent::simpleCommand($conn, $command, $arg, $ok_packet, $silent, $ignore_upsert_status);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->query("SELECT 1");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::simpleCommand(array (
  0 => NULL,
  1 => 3,
  2 => 'SELECT 1',
  3 => 13,
  4 => false,
  5 => false,
))
Command 'MYSQLND_UH_MYSQLND_COM_QUERY'
OK packet 'MYSQLND_UH_MYSQLND_PROT_LAST'
proxy::simpleCommand returns true
:)proxy::simpleCommand(array (
  0 => NULL,
  1 => 1,
  2 => '',
  3 => 13,
  4 => true,
  5 => true,
))
Command 'MYSQLND_UH_MYSQLND_COM_QUIT'
OK packet 'MYSQLND_UH_MYSQLND_PROT_LAST'
proxy::simpleCommand returns true

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections

MysqlndUhConnection::shutdownServer
MysqlndUhConnection::simpleCommandHandleResponse
MysqlndUhConnection


Process a response for a basic COM_* command send to the client

MysqlndUhConnection::simpleCommand
MysqlndUhConnection::sslSet
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::simpleCommandHandleResponse

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::simpleCommandHandleResponse — Process a response for a basic COM_* command send to the client

Beschreibung

public bool MysqlndUhConnection::simpleCommandHandleResponse ( mysqlnd_connection $connection , int $ok_packet , bool $silent , int $command , bool $ignore_upsert_status )

Process a response for a basic COM_* command send to the client.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

ok_packet

The OK packet type.

silent

Whether mysqlnd may emit errors.

command

The COM command to process results from.

ignore_upsert_status

Whether to ignore UPDATE/INSERT status.

Rückgabewerte

Returns TRUE on success. Otherwise, returns FALSE

Beispiele

Beispiel #1 MysqlndUhConnection::simpleCommandHandleResponse() example

<?php
function server_cmd_2_string($command) {
 $mapping = array(
  MYSQLND_UH_MYSQLND_COM_SLEEP => "MYSQLND_UH_MYSQLND_COM_SLEEP",
  MYSQLND_UH_MYSQLND_COM_QUIT => "MYSQLND_UH_MYSQLND_COM_QUIT",
  MYSQLND_UH_MYSQLND_COM_INIT_DB => "MYSQLND_UH_MYSQLND_COM_INIT_DB",
  MYSQLND_UH_MYSQLND_COM_QUERY => "MYSQLND_UH_MYSQLND_COM_QUERY",
  MYSQLND_UH_MYSQLND_COM_FIELD_LIST => "MYSQLND_UH_MYSQLND_COM_FIELD_LIST",
  MYSQLND_UH_MYSQLND_COM_CREATE_DB => "MYSQLND_UH_MYSQLND_COM_CREATE_DB",
  MYSQLND_UH_MYSQLND_COM_DROP_DB => "MYSQLND_UH_MYSQLND_COM_DROP_DB",
  MYSQLND_UH_MYSQLND_COM_REFRESH => "MYSQLND_UH_MYSQLND_COM_REFRESH",
  MYSQLND_UH_MYSQLND_COM_SHUTDOWN => "MYSQLND_UH_MYSQLND_COM_SHUTDOWN",
  MYSQLND_UH_MYSQLND_COM_STATISTICS => "MYSQLND_UH_MYSQLND_COM_STATISTICS",
  MYSQLND_UH_MYSQLND_COM_PROCESS_INFO => "MYSQLND_UH_MYSQLND_COM_PROCESS_INFO",
  MYSQLND_UH_MYSQLND_COM_CONNECT => "MYSQLND_UH_MYSQLND_COM_CONNECT",
  MYSQLND_UH_MYSQLND_COM_PROCESS_KILL => "MYSQLND_UH_MYSQLND_COM_PROCESS_KILL",
  MYSQLND_UH_MYSQLND_COM_DEBUG => "MYSQLND_UH_MYSQLND_COM_DEBUG",
  MYSQLND_UH_MYSQLND_COM_PING => "MYSQLND_UH_MYSQLND_COM_PING",
  MYSQLND_UH_MYSQLND_COM_TIME => "MYSQLND_UH_MYSQLND_COM_TIME",
  MYSQLND_UH_MYSQLND_COM_DELAYED_INSERT => "MYSQLND_UH_MYSQLND_COM_DELAYED_INSERT",
  MYSQLND_UH_MYSQLND_COM_CHANGE_USER => "MYSQLND_UH_MYSQLND_COM_CHANGE_USER",
  MYSQLND_UH_MYSQLND_COM_BINLOG_DUMP => "MYSQLND_UH_MYSQLND_COM_BINLOG_DUMP",
  MYSQLND_UH_MYSQLND_COM_TABLE_DUMP => "MYSQLND_UH_MYSQLND_COM_TABLE_DUMP",
  MYSQLND_UH_MYSQLND_COM_CONNECT_OUT => "MYSQLND_UH_MYSQLND_COM_CONNECT_OUT",
  MYSQLND_UH_MYSQLND_COM_REGISTER_SLAVED => "MYSQLND_UH_MYSQLND_COM_REGISTER_SLAVED",
  MYSQLND_UH_MYSQLND_COM_STMT_PREPARE => "MYSQLND_UH_MYSQLND_COM_STMT_PREPARE",
  MYSQLND_UH_MYSQLND_COM_STMT_EXECUTE => "MYSQLND_UH_MYSQLND_COM_STMT_EXECUTE",
  MYSQLND_UH_MYSQLND_COM_STMT_SEND_LONG_DATA => "MYSQLND_UH_MYSQLND_COM_STMT_SEND_LONG_DATA",
  MYSQLND_UH_MYSQLND_COM_STMT_CLOSE => "MYSQLND_UH_MYSQLND_COM_STMT_CLOSE",
  MYSQLND_UH_MYSQLND_COM_STMT_RESET => "MYSQLND_UH_MYSQLND_COM_STMT_RESET",
  MYSQLND_UH_MYSQLND_COM_SET_OPTION => "MYSQLND_UH_MYSQLND_COM_SET_OPTION",
  MYSQLND_UH_MYSQLND_COM_STMT_FETCH => "MYSQLND_UH_MYSQLND_COM_STMT_FETCH",
  MYSQLND_UH_MYSQLND_COM_DAEMON => "MYSQLND_UH_MYSQLND_COM_DAEMON",
  MYSQLND_UH_MYSQLND_COM_END => "MYSQLND_UH_MYSQLND_COM_END",
 );
 return (isset($mapping[$command])) ? $mapping[$command] : 'unknown';
}

function ok_packet_2_string($ok_packet) {
 $mapping = array(
  MYSQLND_UH_MYSQLND_PROT_GREET_PACKET => "MYSQLND_UH_MYSQLND_PROT_GREET_PACKET",
  MYSQLND_UH_MYSQLND_PROT_AUTH_PACKET => "MYSQLND_UH_MYSQLND_PROT_AUTH_PACKET",
  MYSQLND_UH_MYSQLND_PROT_OK_PACKET => "MYSQLND_UH_MYSQLND_PROT_OK_PACKET",
  MYSQLND_UH_MYSQLND_PROT_EOF_PACKET => "MYSQLND_UH_MYSQLND_PROT_EOF_PACKET",
  MYSQLND_UH_MYSQLND_PROT_CMD_PACKET => "MYSQLND_UH_MYSQLND_PROT_CMD_PACKET",
  MYSQLND_UH_MYSQLND_PROT_RSET_HEADER_PACKET => "MYSQLND_UH_MYSQLND_PROT_RSET_HEADER_PACKET",
  MYSQLND_UH_MYSQLND_PROT_RSET_FLD_PACKET => "MYSQLND_UH_MYSQLND_PROT_RSET_FLD_PACKET",
  MYSQLND_UH_MYSQLND_PROT_ROW_PACKET => "MYSQLND_UH_MYSQLND_PROT_ROW_PACKET",
  MYSQLND_UH_MYSQLND_PROT_STATS_PACKET => "MYSQLND_UH_MYSQLND_PROT_STATS_PACKET",
  MYSQLND_UH_MYSQLND_PREPARE_RESP_PACKET => "MYSQLND_UH_MYSQLND_PREPARE_RESP_PACKET",
  MYSQLND_UH_MYSQLND_CHG_USER_RESP_PACKET => "MYSQLND_UH_MYSQLND_CHG_USER_RESP_PACKET",
  MYSQLND_UH_MYSQLND_PROT_LAST => "MYSQLND_UH_MYSQLND_PROT_LAST",
 );
 return (isset($mapping[$ok_packet])) ? $mapping[$ok_packet] : 'unknown';
}

class proxy extends MysqlndUhConnection {
 public function simpleCommandHandleResponse($conn, $ok_packet, $silent, $command, $ignore_upsert_status) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  printf("Command '%s'\n", server_cmd_2_string($command));
  printf("OK packet '%s'\n",  ok_packet_2_string($ok_packet));
  $ret = parent::simpleCommandHandleResponse($conn, $ok_packet, $silent, $command, $ignore_upsert_status);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysql = mysql_connect("localhost", "root", "");
mysql_query("SELECT 1 FROM DUAL", $mysql);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::simpleCommandHandleResponse(array (
  0 => NULL,
  1 => 5,
  2 => false,
  3 => 27,
  4 => true,
))
Command 'MYSQLND_UH_MYSQLND_COM_SET_OPTION'
OK packet 'MYSQLND_UH_MYSQLND_PROT_EOF_PACKET'
proxy::simpleCommandHandleResponse returns true

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections

MysqlndUhConnection::simpleCommand
MysqlndUhConnection::sslSet
MysqlndUhConnection


Used for establishing secure connections using SSL

MysqlndUhConnection::simpleCommandHandleResponse
MysqlndUhConnection::stmtInit
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::sslSet

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::sslSet — Used for establishing secure connections using SSL

Beschreibung

public bool MysqlndUhConnection::sslSet ( mysqlnd_connection $connection , string $key , string $cert , string $ca , string $capath , string $cipher )

Used for establishing secure connections using SSL.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

key

The path name to the key file.

cert

The path name to the certificate file.

ca

The path name to the certificate authority file.

capath

The pathname to a directory that contains trusted SSL CA certificates in PEM format.

cipher

A list of allowable ciphers to use for SSL encryption.

Rückgabewerte

Returns TRUE on success. Otherwise, returns FALSE

Beispiele

Beispiel #1 MysqlndUhConnection::sslSet() example

<?php
class proxy extends MysqlndUhConnection {
 public function sslSet($conn, $key, $cert, $ca, $capath, $cipher) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::sslSet($conn, $key, $cert, $ca, $capath, $cipher);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->ssl_set("key", "cert", "ca", "capath", "cipher");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::sslSet(array (
  0 => NULL,
  1 => 'key',
  2 => 'cert',
  3 => 'ca',
  4 => 'capath',
  5 => 'cipher',
))
proxy::sslSet returns true

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_ssl_set() - Used for establishing secure connections using SSL

MysqlndUhConnection::simpleCommandHandleResponse
MysqlndUhConnection::stmtInit
MysqlndUhConnection


Initializes a statement and returns a resource for use with mysqli_statement::prepare

MysqlndUhConnection::sslSet
MysqlndUhConnection::storeResult
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::stmtInit

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::stmtInit — Initializes a statement and returns a resource for use with mysqli_statement::prepare

Beschreibung

public resource MysqlndUhConnection::stmtInit ( mysqlnd_connection $connection )

Initializes a statement and returns a resource for use with mysqli_statement::prepare.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

Rückgabewerte

Resource of type Mysqlnd Prepared Statement (internal only - you must not modify it!). The documentation may also refer to such resources using the alias name mysqlnd_prepared_statement.

Beispiele

Beispiel #1 MysqlndUhConnection::stmtInit() example

<?php
class proxy extends MysqlndUhConnection {
 public function stmtInit($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  var_dump($res);
  $ret = parent::stmtInit($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  var_dump($ret);
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$stmt = $mysqli->prepare("SELECT 1 AS _one FROM DUAL");
$stmt->execute();
$one = NULL;
$stmt->bind_result($one);
$stmt->fetch();
var_dump($one);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::stmtInit(array (
  0 => NULL,
))
resource(19) of type (Mysqlnd Connection)
proxy::stmtInit returns NULL
resource(246) of type (Mysqlnd Prepared Statement (internal only - you must not modify it!))
int(1)

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_stmt_init() - Initializes a statement and returns an object for use with mysqli_stmt_prepare

MysqlndUhConnection::sslSet
MysqlndUhConnection::storeResult
MysqlndUhConnection


Transfers a result set from the last query

MysqlndUhConnection::stmtInit
MysqlndUhConnection::txCommit
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::storeResult

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::storeResult — Transfers a result set from the last query

Beschreibung

public resource MysqlndUhConnection::storeResult ( mysqlnd_connection $connection )

Transfers a result set from the last query.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

Rückgabewerte

Resource of type Mysqlnd Resultset (internal only - you must not modify it!). The documentation may also refer to such resources using the alias name mysqlnd_resultset.

Beispiele

Beispiel #1 MysqlndUhConnection::storeResult() example

<?php
class proxy extends MysqlndUhConnection {
 public function storeResult($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::storeResult($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  var_dump($ret);
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$res = $mysqli->query("SELECT 'Also called buffered result' AS _msg FROM DUAL");
var_dump($res->fetch_assoc());

$mysqli->real_query("SELECT 'Good morning!' AS _msg FROM DUAL");
$res = $mysqli->store_result();
var_dump($res->fetch_assoc());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::storeResult(array (
  0 => NULL,
))
proxy::storeResult returns NULL
resource(475) of type (Mysqlnd Resultset (internal only - you must not modify it!))
array(1) {
  ["_msg"]=>
  string(27) "Also called buffered result"
}
proxy::storeResult(array (
  0 => NULL,
))
proxy::storeResult returns NULL
resource(730) of type (Mysqlnd Resultset (internal only - you must not modify it!))
array(1) {
  ["_msg"]=>
  string(13) "Good morning!"
}

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_store_result() - Transfers a result set from the last query
  • mysqli_real_query() - Execute an SQL query

MysqlndUhConnection::stmtInit
MysqlndUhConnection::txCommit
MysqlndUhConnection


Commits the current transaction

MysqlndUhConnection::storeResult
MysqlndUhConnection::txRollback
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::txCommit

(PECL mysqlnd-uh >= 1.0.1-alpha, PHP >= 5.4.0)

MysqlndUhConnection::txCommit — Commits the current transaction

Beschreibung

public bool MysqlndUhConnection::txCommit ( mysqlnd_connection $connection )

Commits the current transaction.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

Rückgabewerte

Returns TRUE on success. Otherwise, returns FALSE

Beispiele

Beispiel #1 MysqlndUhConnection::txCommit() example

<?php
class proxy extends MysqlndUhConnection {
 public function txCommit($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::txCommit($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->commit();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::txCommit(array (
  0 => NULL,
))
proxy::txCommit returns true

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_commit() - Commits the current transaction

MysqlndUhConnection::storeResult
MysqlndUhConnection::txRollback
MysqlndUhConnection


Rolls back current transaction

MysqlndUhConnection::txCommit
MysqlndUhConnection::useResult
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::txRollback

(PECL mysqlnd-uh >= 1.0.1-alpha, PHP >= 5.4.0)

MysqlndUhConnection::txRollback — Rolls back current transaction

Beschreibung

public bool MysqlndUhConnection::txRollback ( mysqlnd_connection $connection )

Rolls back current transaction.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

Rückgabewerte

Returns TRUE on success. Otherwise, returns FALSE

Beispiele

Beispiel #1 MysqlndUhConnection::txRollback() example

<?php
class proxy extends MysqlndUhConnection {
 public function txRollback($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::txRollback($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->rollback();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::txRollback(array (
  0 => NULL,
))
proxy::txRollback returns true

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_commit() - Commits the current transaction

MysqlndUhConnection::txCommit
MysqlndUhConnection::useResult
MysqlndUhConnection


Initiate a result set retrieval

MysqlndUhConnection::txRollback
MysqlndUhPreparedStatement
MysqlndUhConnection
PHP Manual

MysqlndUhConnection::useResult

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::useResult — Initiate a result set retrieval

Beschreibung

public resource MysqlndUhConnection::useResult ( mysqlnd_connection $connection )

Initiate a result set retrieval.

Parameter-Liste

connection

Mysqlnd connection handle. Do not modify!

Rückgabewerte

Resource of type Mysqlnd Resultset (internal only - you must not modify it!). The documentation may also refer to such resources using the alias name mysqlnd_resultset.

Beispiele

Beispiel #1 MysqlndUhConnection::useResult() example

<?php
class proxy extends MysqlndUhConnection {
 public function useResult($res) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $ret = parent::useResult($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  var_dump($ret);
  return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->real_query("SELECT 'Good morning!' AS _msg FROM DUAL");
$res = $mysqli->use_result();
var_dump($res->fetch_assoc());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::useResult(array (
  0 => NULL,
))
proxy::useResult returns NULL
resource(425) of type (Mysqlnd Resultset (internal only - you must not modify it!))
array(1) {
  ["_msg"]=>
  string(13) "Good morning!"
}

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_use_result() - Initiate a result set retrieval
  • mysqli_real_query() - Execute an SQL query

MysqlndUhConnection::txRollback
MysqlndUhPreparedStatement
MysqlndUhConnection


The MysqlndUhPreparedStatement class

(PECL mysqlnd-uh >= 1.0.0-alpha)

Einführung

Klassenbeschreibung

MysqlndUhPreparedStatement {
/* Methoden */
public __construct ( void )
public bool execute ( mysqlnd_prepared_statement $statement )
public bool prepare ( mysqlnd_prepared_statement $statement , string $query )
}

Inhaltsverzeichnis

  • MysqlndUhPreparedStatement::__construct — The __construct purpose
  • MysqlndUhPreparedStatement::execute — Executes a prepared Query
  • MysqlndUhPreparedStatement::prepare — Prepare an SQL statement for execution
MysqlndUhConnection::useResult
MysqlndUhPreparedStatement::__construct
mysqlnd_uh


The __construct purpose

MysqlndUhPreparedStatement
MysqlndUhPreparedStatement::execute
MysqlndUhPreparedStatement
PHP Manual

MysqlndUhPreparedStatement::__construct

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhPreparedStatement::__construct — The __construct purpose

Beschreibung

public MysqlndUhPreparedStatement::__construct ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

MysqlndUhPreparedStatement
MysqlndUhPreparedStatement::execute
MysqlndUhPreparedStatement


Executes a prepared Query

MysqlndUhPreparedStatement::__construct
MysqlndUhPreparedStatement::prepare
MysqlndUhPreparedStatement
PHP Manual

MysqlndUhPreparedStatement::execute

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhPreparedStatement::execute — Executes a prepared Query

Beschreibung

public bool MysqlndUhPreparedStatement::execute ( mysqlnd_prepared_statement $statement )

Executes a prepared Query.

Parameter-Liste

statement

Mysqlnd prepared statement handle. Do not modify! Resource of type Mysqlnd Prepared Statement (internal only - you must not modify it!).

Rückgabewerte

Returns TRUE on success. Otherwise, returns FALSE

Beispiele

Beispiel #1 MysqlndUhPreparedStatement::execute() example

<?php
class stmt_proxy extends MysqlndUhPreparedStatement {
 public function execute($res) {
  printf("%s(", __METHOD__);
  var_dump($res);
  printf(")\n");
  $ret = parent::execute($res);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  var_dump($ret);
  return $ret;
 }
}
mysqlnd_uh_set_statement_proxy(new stmt_proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$stmt = $mysqli->prepare("SELECT 'Labskaus' AS _msg FROM DUAL");
$stmt->execute();
$msg = NULL;
$stmt->bind_result($msg);
$stmt->fetch();
var_dump($msg);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

stmt_proxy::execute(resource(256) of type (Mysqlnd Prepared Statement (internal only - you must not modify it!))
)
stmt_proxy::execute returns true
bool(true)
string(8) "Labskaus"

Siehe auch

  • mysqlnd_uh_set_statement_proxy() - Installs a proxy for mysqlnd statements
  • mysqli_stmt_execute() - Executes a prepared Query

MysqlndUhPreparedStatement::__construct
MysqlndUhPreparedStatement::prepare
MysqlndUhPreparedStatement


Prepare an SQL statement for execution

MysqlndUhPreparedStatement::execute
Mysqlnd_uh Funktionen
MysqlndUhPreparedStatement
PHP Manual

MysqlndUhPreparedStatement::prepare

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhPreparedStatement::prepare — Prepare an SQL statement for execution

Beschreibung

public bool MysqlndUhPreparedStatement::prepare ( mysqlnd_prepared_statement $statement , string $query )

Prepare an SQL statement for execution.

Parameter-Liste

statement

Mysqlnd prepared statement handle. Do not modify! Resource of type Mysqlnd Prepared Statement (internal only - you must not modify it!).

query

The query to be prepared.

Rückgabewerte

Returns TRUE on success. Otherwise, returns FALSE

Beispiele

Beispiel #1 MysqlndUhPreparedStatement::prepare() example

<?php
class stmt_proxy extends MysqlndUhPreparedStatement {
 public function prepare($res, $query) {
  printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
  $query = "SELECT 'No more you-know-what-I-mean for lunch, please' AS _msg FROM DUAL";
  $ret = parent::prepare($res, $query);
  printf("%s returns %s\n", __METHOD__, var_export($ret, true));
  var_dump($ret);
  return $ret;
 }
}
mysqlnd_uh_set_statement_proxy(new stmt_proxy());

$mysqli = new mysqli("localhost", "root", "", "test");
$stmt = $mysqli->prepare("SELECT 'Labskaus' AS _msg FROM DUAL");
$stmt->execute();
$msg = NULL;
$stmt->bind_result($msg);
$stmt->fetch();
var_dump($msg);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

stmt_proxy::prepare(array (
  0 => NULL,
  1 => 'SELECT \'Labskaus\' AS _msg FROM DUAL',
))
stmt_proxy::prepare returns true
bool(true)
string(46) "No more you-know-what-I-mean for lunch, please"

Siehe auch

  • mysqlnd_uh_set_statement_proxy() - Installs a proxy for mysqlnd statements
  • mysqli_stmt_prepare() - Prepare an SQL statement for execution
  • mysqli_prepare() - Prepare an SQL statement for execution

MysqlndUhPreparedStatement::execute
Mysqlnd_uh Funktionen
MysqlndUhPreparedStatement


Mysqlnd_uh Funktionen

Inhaltsverzeichnis

  • mysqlnd_uh_convert_to_mysqlnd — Converts a MySQL connection handle into a mysqlnd connection handle
  • mysqlnd_uh_set_connection_proxy — Installs a proxy for mysqlnd connections
  • mysqlnd_uh_set_statement_proxy — Installs a proxy for mysqlnd statements
MysqlndUhPreparedStatement::prepare
mysqlnd_uh_convert_to_mysqlnd
mysqlnd_uh


Converts a MySQL connection handle into a mysqlnd connection handle

Mysqlnd_uh Funktionen
mysqlnd_uh_set_connection_proxy
Mysqlnd_uh Funktionen
PHP Manual

mysqlnd_uh_convert_to_mysqlnd

(PECL mysqlnd-uh >= 1.0.0-alpha)

mysqlnd_uh_convert_to_mysqlnd — Converts a MySQL connection handle into a mysqlnd connection handle

Beschreibung

resource mysqlnd_uh_convert_to_mysqlnd ( mysqli &$mysql_connection )

Converts a MySQL connection handle into a mysqlnd connection handle. After conversion you can execute mysqlnd library calls on the connection handle. This can be used to access mysqlnd functionality not made available through user space API calls.

The function can be disabled with mysqlnd_uh.enable. If mysqlnd_uh.enable is set to FALSE the function will not install the proxy and always return TRUE. Additionally, an error of the type E_WARNING may be emitted. The error message may read like PHP Warning: mysqlnd_uh_convert_to_mysqlnd(): (Mysqlnd User Handler) The plugin has been disabled by setting the configuration parameter mysqlnd_uh.enable = false. You are not allowed to call this function [...].

Parameter-Liste

MySQL connection handle

A MySQL connection handle of type mysql, mysqli or PDO_MySQL.

Rückgabewerte

A mysqlnd connection handle.

Changelog

Version | Beschreibung
5.4.0 | The mysql_connection parameter can now be of type mysql, PDO_MySQL, or mysqli. Before, only the mysqli type was allowed.

Beispiele

Beispiel #1 mysqlnd_uh_convert_to_mysqlnd() example

<?php
/* PDO user API gives no access to connection thread id */
$mysql_connection = new PDO("mysql:host=localhost;dbname=test", "root", "");

/* Convert PDO MySQL handle to mysqlnd handle */
$mysqlnd = mysqlnd_uh_convert_to_mysqlnd($mysql_connection);

/* Create Proxy to call mysqlnd connection class methods */
$obj = new MySQLndUHConnection();
/* Call mysqlnd_conn::get_thread_id */
var_dump($obj->getThreadId($mysqlnd));

/* Use SQL to fetch connection thread id */
var_dump($mysql_connection->query("SELECT CONNECTION_ID()")->fetchAll());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(27054)
array(1) {
  [0]=>
  array(2) {
    ["CONNECTION_ID()"]=>
    string(5) "27054"
    [0]=>
    string(5) "27054"
  }
}

Siehe auch

  • mysqlnd_uh.enable

Mysqlnd_uh Funktionen
mysqlnd_uh_set_connection_proxy
Mysqlnd_uh Funktionen


Installs a proxy for mysqlnd connections

mysqlnd_uh_convert_to_mysqlnd
mysqlnd_uh_set_statement_proxy
Mysqlnd_uh Funktionen
PHP Manual

mysqlnd_uh_set_connection_proxy

(PECL mysqlnd-uh >= 1.0.0-alpha)

mysqlnd_uh_set_connection_proxy — Installs a proxy for mysqlnd connections

Beschreibung

bool mysqlnd_uh_set_connection_proxy ( MysqlndUhConnection &$connection_proxy [, mysqli &$mysqli_connection ] )

Installs a proxy object to hook mysqlnd's connection objects methods. Once installed, the proxy will be used for all MySQL connections opened with mysqli, mysql or PDO_MYSQL, assuming that the listed extensions are compiled to use the mysqlnd library.

The function can be disabled with mysqlnd_uh.enable. If mysqlnd_uh.enable is set to FALSE the function will not install the proxy and always return TRUE. Additionally, an error of the type E_WARNING may be emitted. The error message may read like PHP Warning: mysqlnd_uh_set_connection_proxy(): (Mysqlnd User Handler) The plugin has been disabled by setting the configuration parameter mysqlnd_uh.enable = false. The proxy has not been installed [...].

Parameter-Liste

connection_proxy

A proxy object of type MysqlndUhConnection.

mysqli_connection

Object of type mysqli. If given, the proxy will be set for this particular connection only.

Rückgabewerte

Returns TRUE on success. Otherwise, returns FALSE

Beispiele

Beispiel #1 mysqlnd_uh_set_connection_proxy() example

<?php
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->query("SELECT 'No proxy installed, yet'");

class proxy extends MysqlndUhConnection {
 public function query($res, $query) {
   printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
   $ret = parent::query($res, $query);
   printf("%s returns %s\n", __METHOD__, var_export($ret, true));
   return $ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli->query("SELECT 'mysqlnd rocks!'");

$mysql = mysql_connect("localhost", "root", "", "test");
mysql_query("SELECT 'Ahoy Andrey!'", $mysql);

$pdo = new PDO("mysql:host=localhost;dbname=test", "root", "");
$pdo->query("SELECT 'Moin Johannes!'");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

proxy::query(array (
  0 => NULL,
  1 => 'SELECT \'mysqlnd rocks!\'',
))
proxy::query returns true
proxy::query(array (
  0 => NULL,
  1 => 'SELECT \'Ahoy Andrey!\'',
))
proxy::query returns true
proxy::query(array (
  0 => NULL,
  1 => 'SELECT \'Moin Johannes!\'',
))
proxy::query returns true

Siehe auch

  • mysqlnd_uh_set_statement_proxy() - Installs a proxy for mysqlnd statements
  • mysqlnd_uh.enable

mysqlnd_uh_convert_to_mysqlnd
mysqlnd_uh_set_statement_proxy
Mysqlnd_uh Funktionen


Installs a proxy for mysqlnd statements

mysqlnd_uh_set_connection_proxy
Change History
Mysqlnd_uh Funktionen
PHP Manual

mysqlnd_uh_set_statement_proxy

(PECL mysqlnd-uh >= 1.0.0-alpha)

mysqlnd_uh_set_statement_proxy — Installs a proxy for mysqlnd statements

Beschreibung

bool mysqlnd_uh_set_statement_proxy ( MysqlndUhStatement &$statement_proxy )

Installs a proxy for mysqlnd statements. The proxy object will be used for all mysqlnd prepared statement objects, regardless which PHP MySQL extension (mysqli, mysql, PDO_MYSQL) has created them as long as the extension is compiled to use the mysqlnd library.

The function can be disabled with mysqlnd_uh.enable. If mysqlnd_uh.enable is set to FALSE the function will not install the proxy and always return TRUE. Additionally, an error of the type E_WARNING may be emitted. The error message may read like PHP Warning: mysqlnd_uh_set_statement_proxy(): (Mysqlnd User Handler) The plugin has been disabled by setting the configuration parameter mysqlnd_uh.enable = false. The proxy has not been installed [...].

Parameter-Liste

statement_proxy

The mysqlnd statement proxy object of type MysqlndUhStatement

Rückgabewerte

Returns TRUE on success. Otherwise, returns FALSE

Siehe auch

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqlnd_uh.enable

mysqlnd_uh_set_connection_proxy
Change History
Mysqlnd_uh Funktionen


Change History

Inhaltsverzeichnis

  • PECL/mysqlnd_uh 1.0 series

The Change History lists major changes users need to be aware if upgrading from one version to another. It is a high level summary of selected changes that may impact applications or might even break backwards compatibility. See also the CHANGES file contained in the source for additional changelog information. The commit history is also available.

mysqlnd_uh_set_statement_proxy
PECL/mysqlnd_uh 1.0 series
mysqlnd_uh


PECL/mysqlnd_uh 1.0 series

1.0.1-alpha

  • Release date: TBD
  • Motto/theme: bug fix release

Feature changes

  • Support of PHP 5.4.0 or later.
  • BC break: MysqlndUhConnection::changeUser() requires additional passwd_len parameter.
  • BC break: MYSQLND_UH_VERSION_STR renamed to MYSQLND_UH_VERSION. MYSQLND_UH_VERSION renamed to MYSQLND_UH_VERSION_ID.
  • BC break: mysqlnd_uh.enabled configuration setting renamed to mysqlnd_uh.enable.

1.0.0-alpha

  • Release date: 08/2010
  • Motto/theme: Initial release

Change History
mysqlnd_mux
Change History


Mysqlnd connection multiplexing plugin

  • Einführung
  • Concepts
    • Architecture
    • Connection pool
    • Sharing connections
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
  • Vordefinierte Konstanten
  • Change History
    • PECL/mysqlnd_mux 1.0 series
PECL/mysqlnd_uh 1.0 series
Einführung
MySQL


Einführung

The mysqlnd multiplexing plugin (mysqlnd_mux) multiplexes MySQL connections established by all PHP MySQL extensions that use the MySQL native driver (mysqlnd) for PHP.

The MySQL native driver for PHP features an internal C API for plugins, such as the connection multiplexing plugin, which can extend the functionality of mysqlnd. See the mysqlnd for additional details about its benefits over the MySQL Client Library libmysqlclient.

Mysqlnd plugins like mysqlnd_mux operate, for the most part, transparently from a user perspective. The connection multiplexing plugin supports all PHP applications, and all MySQL PHP extensions. It does not change existing APIs. Therefore, it can easily be used with existing PHP applications.

Hinweis:

This is a proof-of-concept. All features are at an early stage. Not all kinds of queries are handled by the plugin yet. Thus, it cannot be used in a drop-in fashion at the moment.

Please, do not use this version in production environments.

Key Features

The key features of mysqlnd_mux are as follows:

  • Transparent and therefore easy to use:

    • Supports all of the PHP MySQL extensions.

    • Little to no application changes are required, dependent on the required usage scenario.

  • Reduces server load and connection establishment latency:

    • Opens less connections to the MySQL server.

    • Less connections to MySQL mean less work for the MySQL server. In a client-server environment scaling the server is often more difficult than scaling the client. Multiplexing helps with horizontal scale-out (scale-by-client).

    • Pooling saves connection time.

    • Multiplexed connection: multiple user handles share the same network connection. Once opened, a network connection is cached and shared among multiple user handles. There is a 1:n relationship between internal network connection and user connection handles.

    • Persistent connection: a network connection is kept open at the end of the web request, if the PHP deployment model allows. Thus, subsequently web requests can reuse a previously opened connection. Like other resources, network connections are bound to the scope of a process. Thus, they can be reused for all web requests served by a process.

Limitations

The proof-of-concept does not support unbuffered queries, prepared statements, and asynchronous queries.

The connection pool is using a combination of the transport method and hostname as keys. As a consequence, two connections to the same host using the same transport method (TCP/IP, Unix socket, Windows named pipe) will be linked to the same pooled connection even if username and password differ. Be aware of the possible security implications.

The proof-of-concept is transaction agnostic. It does not know about SQL transactions.

Hinweis:

Applications must be aware of the consequences of connection sharing connections.

About the name mysqlnd_mux

The shortcut mysqlnd_mux stands for mysqlnd connection multiplexing plugin.

mysqlnd_mux
Concepts
mysqlnd_mux


Concepts

Inhaltsverzeichnis

  • Architecture
  • Connection pool
  • Sharing connections

This explains the architecture and related concepts for this plugin. Reading and understanding these concepts is required to successfully use this plugin.

Einführung
Architecture
mysqlnd_mux


Architecture

The mysqlnd connection multiplexing plugin is implemented as a PHP extension. It is written in C and operates under the hood of PHP. During the startup of the PHP interpreter, in the module initialization phase of the PHP engine, it gets registered as a mysqlnd plugin to replace specific mysqlnd C methods.

The mysqlnd library uses PHP streams to communicate with the MySQL server. PHP streams are accessed by the mysqlnd library through its net module. The mysqlnd connection multiplexing plugin proxies methods of the mysqlnd library net module to control opening and closing of network streams.

Upon opening a user connection to MySQL using the appropriate connection functions of either mysqli, PDO_MYSQL or ext/mysql, the plugin will search its connection pool for an open network connection. If the pool contains a network connection to the host specified by the connect function using the transport method requested (TCP/IP, Unix domain socket, Windows named pipe), the pooled connection is linked to the user handle. Otherwise, a new network connection is opened, put into the poolm and associated with the user connection handle. This way, multiple user handles can be linked to the same network connection.

Concepts
Connection pool
Concepts


Connection pool

The plugins connection pool is created when PHP initializes its modules (MINIT) and free'd when PHP shuts down the modules (MSHUTDOWN). This is the same as for persistent MySQL connections.

Depending on the deployment model, the pool is used for the duration of one or multiple web requests. Network connections are bound to the lifespan of an operating system level process. If the PHP process serves multiple web requests as it is the case for Fast-CGI or threaded web server deployments, then the pooled connections can be reused over multiple connections. Because multiplexing means sharing connections, it can even happen with a threaded deployment that two threads or two distinct web requests are linked to one pooled network connections.

A pooled connection is explicitly closed once the last reference to it is released. An implicit close happens when PHP shuts down its modules.

Architecture
Sharing connections
Concepts


Sharing connections

The PHP mysqlnd connection multiplexing plugin changes the relationship between a users connection handle and the underlying MySQL connection. Without the plugin, every MySQL connection belongs to exactly one user connection at a time. The multiplexing plugin changes. A MySQL connection is shared among multiple user handles. There no one-to-one relation if using the plugin.

Sharing pooled connections has an impact on the connection state. State changing operations from multiple user handles pointing to one MySQL connection are not isolated from each other. If, for example, a session variable is set through one user connection handle, the session variable becomes visible to all other user handles that reference the same underlying MySQL connection.

This is similar in concept to connection state related phenomens described for the PHP mysqlnd replication and load balancing plugin. Please, check the PECL/mysqlnd_ms documentation for more details on the state of a connection.

The proof-of-concept takes no measures to isolate multiplexed connections from each other.

Connection pool
Installation/Konfiguration
Concepts


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
Sharing connections
Anforderungen
mysqlnd_mux


Anforderungen

PHP 5.5.0 or newer. Some advanced functionality requires PHP 5.5.0 or newer.

The mysqlnd_mux replication and load balancing plugin supports all PHP applications and all available PHP MySQL extensions (mysqli, mysql, PDO_MYSQL). The PHP MySQL extension must be configured to use mysqlnd in order to be able to use the mysqlnd_mux plugin for mysqlnd.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/mysqlnd_mux

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Mysqlnd_mux Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
mysqlnd_mux.enable | 0 | PHP_INI_SYSTEM |

Hier eine kurze Erklärung der Konfigurationsoptionen:

mysqlnd_mux.enable integer

Enables or disables the plugin. If disabled, the extension will not plug into mysqlnd to proxy internal mysqlnd C API calls.

Installation
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

Other

The plugins version number can be obtained using MYSQLND_MUX_VERSION or MYSQLND_MUX_VERSION_ID. MYSQLND_MUX_VERSION is the string representation of the numerical version number MYSQLND_MUX_VERSION_ID, which is an integer such as 10000. Developers can calculate the version number as follows.

Version (part) | Example
Major*10000 | 1*10000 = 10000
Minor*100 | 0*100 = 0
Patch | 0 = 0
MYSQLND_MUX_VERSION_ID | 10000

MYSQLND_MUX_VERSION (string)
Plugin version string, for example, "1.0.0-prototype".
MYSQLND_MUX_VERSION_ID (integer)
Plugin version number, for example, 10000.

Laufzeit-Konfiguration
Change History
mysqlnd_mux


Change History

Inhaltsverzeichnis

  • PECL/mysqlnd_mux 1.0 series

This change history is a high level summary of selected changes that may impact applications and/or break backwards compatibility.

See also the CHANGES file in the source distribution for a complete list of changes.

Vordefinierte Konstanten
PECL/mysqlnd_mux 1.0 series
mysqlnd_mux


PECL/mysqlnd_mux 1.0 series

1.0.0-pre-alpha

  • Release date: no package released, initial check-in 09/2012
  • Motto/theme: Proof of concept

Initial check-in. Essentially a demo of the mysqlnd plugin API.

Hinweis:

This is the current development series. All features are at an early stage. Changes may happen at any time without prior notice. Please, do not use this version in production environments.

The documentation may not reflect all changes yet.

Change History
mysqlnd_memcache
Change History


Mysqlnd Memcache plugin

  • Einführung
  • Quickstart and Examples
    • Setup
    • Usage
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
  • Vordefinierte Konstanten
  • Mysqlnd_memcache Funktionen
    • mysqlnd_memcache_get_config — Returns information about the plugin configuration
    • mysqlnd_memcache_set — Associate a MySQL connection with a Memcache connection
  • Change History
    • PECL/mysqlnd_memcache 1.0 series
PECL/mysqlnd_mux 1.0 series
Einführung
MySQL


Einführung

The mysqlnd memcache plugin (mysqlnd_memcache) is an PHP extension for transparently translating SQL into requests for the MySQL InnoDB Memcached Daemon Plugin (server plugin). It includes experimental support for the MySQL Cluster Memcached Daemon. The server plugin provides access to data stored inside MySQL InnoDB (respectively MySQL Cluster NDB) tables using the Memcache protocol. This PHP extension, which supports all PHP MySQL extensions that use mysqlnd, will identify tables exported in this way and will translate specific SELECT queries into Memcache requests.

mysqlnd_memcache data flow

Hinweis:

This plugin depends on the MySQL InnoDB Memcached Daemon Plugin. It is not provided to be used with a stand-alone Memcached. For a generic query cache using Memcached look at the mysqlnd query cache plugin. For direct Memcache access look at the memcache and memcached extensions.

The MySQL native driver for PHP is a C library that ships together with PHP as of PHP 5.3.0. It serves as a drop-in replacement for the MySQL Client Library (libmysqlclient). Using mysqlnd has several advantages: no extra downloads are required because it's bundled with PHP, it's under the PHP license, there is lower memory consumption in certain cases, and it contains new functionality such as asynchronous queries.

The mysqlnd_mmemcache operates, for the most part, transparently from a user perspective. The mysqlnd memcache plugin supports all PHP applications, and all MySQL PHP extensions. It does not change existing APIs. Therefore, it can easily be used with existing PHP applications.

The MySQL Memcache plugins add key-value style access method for data stored in InnoDB resp. NDB (MySQL Cluster) SQL tables through the Memcache protocol. This type of key-value access if often faster than using SQL.

Key Features

The key features of PECL/mysqlnd_memcache are as follows.

  • Possible performance benefits

    • Client-side: light-weight protocol.

    • Server-side: no SQL parsing, direct access to the storage.

    • Please, run your own benchmarks! Actual performance results are highly dependent on setup and hardware used.

Limitations

The initial version is not binary safe. Due to the way the MySQL Memcache plugins works there are restrictions related to separators.

Prepared statements and asynchronous queries are not supported. Result set meta data support is limited.

The mapping information for tables accessible via Memcache is not cached in the plugin between requests but fetched from the MySQL server each time a MySQL connection is associated with a Memcache connection. See mysqlnd_memcache_set() for details.

On the name

The shortcut mysqlnd_memcache stands for mysqlnd memcache plugin. Memcache refers to support of the MySQL Memcache plugins for InnoDB and NDB (MySQL Cluster). The plugin is not related to the Memcached cache server.

mysqlnd_memcache
Quickstart and Examples
mysqlnd_memcache


Quickstart and Examples

Inhaltsverzeichnis

  • Setup
  • Usage

The mysqlnd memcache plugin is easy to use. This quickstart will demo typical use-cases, and provide practical advice on getting started.

It is strongly recommended to read the reference sections in addition to the quickstart. The quickstart tries to avoid discussing theoretical concepts and limitations. Instead, it will link to the reference sections. It is safe to begin with the quickstart. However, before using the plugin in mission critical environments we urge you to read additionally the background information from the reference sections.

Einführung
Setup
mysqlnd_memcache


Setup

The plugin is implemented as a PHP extension. See also the installation instructions to install this extension.

Compile or configure the PHP MySQL extension (API) (mysqli, PDO_MYSQL, mysql). That extension must use the mysqlnd library as because mysqlnd_memcache is a plugin for the mysqlnd library. For additional information, refer to the mysqlnd_memcache installation instructions.

Then, load this extension into PHP and activate the plugin in the PHP configuration file using the PHP configuration directive named mysqlnd_memcache.enable.

Beispiel #1 Enabling the plugin (php.ini)

; On Windows the filename is php_mysqnd_memcache.dll
; Load the extension
extension=mysqlnd_memcache.so
; Enable it
mysqlnd_memcache.enable=1

Follow the instructions given in the » MySQL Reference Manual on installing the Memcache plugins for the MySQL server. Activate the plugins and configure Memcache access for SQL tables.

The examples in this quickguide assume that the following table exists, and that Memcache is configured with access to it.

Beispiel #2 SQL table used for the Quickstart

CREATE TABLE test(
  id CHAR(16),
  f1 VARCHAR(255),
  f2 VARCHAR(255),
  f3 VARCHAR(255),
  flags INT NOT NULL,
  cas_column INT,
  expire_time_column INT,
  PRIMARY KEY(id)
  ) ENGINE=InnoDB;

INSERT INTO test (id, f1, f2, f3) VALUES (1, 'Hello', 'World', '!');
INSERT INTO test (id, f1, f2, f3) VALUES (2, 'Lady', 'and', 'the tramp');

INSERT INTO innodb_memcache.containers(
  name, db_schema, db_table, key_columns, value_columns,
  flags, cas_column, expire_time_column, unique_idx_name_on_key)
VALUES (
  'plugin_test', 'test', 'test', 'id', 'f1,f2,f3',
  'flags', 'cas_column', 'expire_time_column', 'PRIMARY KEY');

Quickstart and Examples
Usage
Quickstart and Examples


Usage

After associating a MySQL connection with a Memcache connection using mysqnd_memcache_set() the plugin attempts to transparently replace SQL SELECT statements by a memcache access. For that purpose the plugin monitors all SQL statements executed and tries to match the statement string against MYSQLND_MEMCACHE_DEFAULT_REGEXP. In case of a match, the mysqlnd memcache plugin checks whether the SELECT is accessing only columns of a mapped table and the WHERE clause is limited to a single key lookup.

In case of the example SQL table, the plugin will use the Memcache interface of the MySQL server to fetch results for a SQL query like SELECT f1, f2, f3 WHERE id = n.

Beispiel #1 Basic example.

<?php
$mysqli = new mysqli("host", "user", "passwd", "database");
$memc = new Memcached();
$memc->addServer("host", 11211);
mysqlnd_memcache_set($mysqli, $memc);

/*
   This is a query which queries table test using id as key in the WHERE part
   and is accessing fields f1, f2 and f3. Therefore, mysqlnd_memcache
   will intercept it and route it via memcache.
*/
$result = $mysqli->query("SELECT f1, f2, f3 FROM test WHERE id = 1");
while ($row = $result->fetch_row()) {
    print_r($row);
}

/*
   This is a query which queries table test but using f1 in the WHERE clause.
   Therefore, mysqlnd_memcache can't intercept it. This will be executed
   using the MySQL protocol
*/
$mysqli->query("SELECT id FROM test WHERE f1 = 'Lady'");
while ($row = $result->fetch_row()) {
    print_r($row);
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(
    [f1] => Hello
    [f2] => World
    [f3] => !
)
array(
    [id] => 2
)

Setup
Installation/Konfiguration
Quickstart and Examples


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
Usage
Anforderungen
mysqlnd_memcache


Anforderungen

PHP: this extension requires PHP 5.4+, version PHP 5.4.4 or never. The required PHP extensions are PCRE (enabled by default), and the memcached extension version 2.0.x.

The mysqlnd_memcache Memcache plugin supports all PHP applications and all available PHP MySQL extensions (mysqli, mysql, PDO_MYSQL). The PHP MySQL extension must be configured with mysqlnd support.

For accessing InnoDB tables, this PHP extension requires MySQL Server 5.6.6 or newer with the InnoDB Memcache Daemon Plugin enabled.

For accessing MySQL Cluster NDB tables, this PHP extension requires MySQL Cluster 7.2 or newer with the NDB Memcache API nodes enabled.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/mysqlnd_memcache

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Mysqlnd_memcache Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
mysqlnd_memcache.enable | 1 | PHP_INI_SYSTEM | Available since 1.0.0

Hier eine kurze Erklärung der Konfigurationsoptionen:

mysqlnd_memcache.enable integer

Enables or disables the plugin. If disabled, the extension will not plug into mysqlnd to proxy internal mysqlnd C API calls.

Hinweis:

This option is mainly used by developers to build this extension statically into PHP. General users are encouraged to build this extension as a shared object, and to unload it completely when it is not needed.

Installation
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

MySQL Memcache Plugin related

MYSQLND_MEMCACHE_DEFAULT_REGEXP (string)
Default regular expression (PCRE style) used for matching SELECT statements that will be mapped into a MySQL Memcache Plugin access point, if possible. It is also possible to use mysqlnd_memcache_set(), but the default approach is using this regular expression for pattern matching.

Assorted

The version number of this plugin can be obtained by using MYSQLND_MEMCACHE_VERSION or MYSQLND_MEMCACHE_VERSION_ID. MYSQLND_MEMCACHE_VERSION is the string representation of the numerical version number MYSQLND_MEMCACHE_VERSION_ID, which is an integer such as 10000. Developers can calculate the version number as follows.

Version (part) | Example
Major*10000 | 1*10000 = 10000
Minor*100 | 0*100 = 0
Patch | 0 = 0
MYSQLND_MEMCACHE_VERSION_ID | 10000

MYSQLND_MEMCACHE_VERSION (string)
Plugin version string, for example, "1.0.0-alpha".
MYSQLND_MEMCACHE_VERSION_ID (integer)
Plugin version number, for example, 10000.

Laufzeit-Konfiguration
Mysqlnd_memcache Funktionen
mysqlnd_memcache


Mysqlnd_memcache Funktionen

Inhaltsverzeichnis

  • mysqlnd_memcache_get_config — Returns information about the plugin configuration
  • mysqlnd_memcache_set — Associate a MySQL connection with a Memcache connection
Vordefinierte Konstanten
mysqlnd_memcache_get_config
mysqlnd_memcache


Returns information about the plugin configuration

Mysqlnd_memcache Funktionen
mysqlnd_memcache_set
Mysqlnd_memcache Funktionen
PHP Manual

mysqlnd_memcache_get_config

(PECL mysqlnd_memcache >= 1.0.0)

mysqlnd_memcache_get_config — Returns information about the plugin configuration

Beschreibung

array mysqlnd_memcache_get_config ( mixed $connection )

This function returns an array of all mysqlnd_memcache related configuration information that is attached to the MySQL connection. This includes MySQL, the Memcache object provided via mysqlnd_memcache_set(), and the table mapping configuration that was automatically collected from the MySQL Server.

Parameter-Liste

connection

A handle to a MySQL Server using one of the MySQL API extensions for PHP, which are PDO_MYSQL, mysqli or ext/mysql.

Rückgabewerte

An array of mysqlnd_memcache configuration information on success, otherwise FALSE.

The returned array has these elements:

mysqlnd_memcache_get_config() array structure
Array Key | Description
memcached | Instance of Memcached associated to this MySQL connection by mysqlnd_memcache_set(). You can use this to change settings of the memcache connection, or directly by querying the server on this connection.
pattern | The PCRE regular expression used to match the SQL query sent to the server. Queries matching this pattern will be further analyzed to decide whether the query can be intercepted and sent via the memcache interface or whether the query is sent using the general MySQL protocol to the server. The pattern is either the default pattern (MYSQLND_MEMCACHE_DEFAULT_REGEXP) or it is set via mysqlnd_memcache_set().
mappings | An associative array with a list of all configured containers as they were discovered by this plugin. The key for these elements is the name of the container in the MySQL configuration. The value is described below. The contents of this field is created by querying the MySQL Server during association to MySQL and a memcache connection using mysqlnd_memcache_set().
mapping_query | An SQL query used during mysqlnd_memcache_set() to identify the available containers and mappings. The result of that query is provided in the mappings element.
Mapping entry structure
Array Key | Description
prefix | A prefix used while accessing data via memcache. With the MySQL InnoDB Memcache Deamon plugin, this usually begins with @@ and ends with a configurable separator. This prefix is placed in front of the key value while using the memcache protocol.
schema_name | Name of the schema (database) which contains the table being accessed.
table_name | Name of the table which contains the data accessible via memcache protocol.
id_field_name | Name of the database field (column) with the id used as key when accessing the table via memcache. Often this is the database field having a primary key.
separator The separator used to split the different field values. This is needed as memcache only provides access to a single value while MySQL can map multiple columns to this value.

Hinweis:

The separator, which can be set in the MySQL Server configuration, should not be part of any value retrieved via memcache because proper mapping can't be guaranteed.

fields | An array with the name of all fields available for this mapping.

Beispiele

Beispiel #1 mysqlnd_memcache_get_config() example

<?php
$mysqli = new mysqli("host", "user", "passwd", "database");
$memc = new Memcached();
$memc->addServer("host", 11211);
mysqlnd_memcache_set($mysqli, $memc);

var_dump(mysqlnd_memcache_get_config($mysqli));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(4) {
  ["memcached"]=>
  object(Memcached)#2 (0) {
  }
  ["pattern"]=>
  string(125) "/^\s*SELECT\s*(.+?)\s*FROM\s*`?([a-z0-9_]+)`?\s*WHERE\s*`?([a-z0-9_]+)`?\s*=\s*(?(?=["'])["']([^"']*)["']|([0-9e\.]*))\s*$/is"
  ["mappings"]=>
  array(1) {
    ["mymem_test"]=>
    array(6) {
      ["prefix"]=>
      string(13) "@@mymem_test."
      ["schema_name"]=>
      string(4) "test"
      ["table_name"]=>
      string(10) "mymem_test"
      ["id_field_name"]=>
      string(2) "id"
      ["separator"]=>
      string(1) "|"
      ["fields"]=>
      array(3) {
        [0]=>
        string(2) "f1"
        [1]=>
        string(2) "f2"
        [2]=>
        string(2) "f3"
      }
    }
  }
  ["mapping_query"]=>
  string(209) "    SELECT c.name,
                          CONCAT('@@', c.name, (SELECT value FROM innodb_memcache.config_options WHERE name = 'table_map_delimiter')) AS key_prefix,
                          c.db_schema,
                          c.db_table,
                          c.key_columns,
                          c.value_columns,
                          (SELECT value FROM innodb_memcache.config_options WHERE name = 'separator') AS sep
                     FROM innodb_memcache.containers c"
}

Siehe auch

  • mysqlnd_memcache_set() - Associate a MySQL connection with a Memcache connection

Mysqlnd_memcache Funktionen
mysqlnd_memcache_set
Mysqlnd_memcache Funktionen


Associate a MySQL connection with a Memcache connection

mysqlnd_memcache_get_config
Change History
Mysqlnd_memcache Funktionen
PHP Manual

mysqlnd_memcache_set

(PECL mysqlnd_memcache >= 1.0.0)

mysqlnd_memcache_set — Associate a MySQL connection with a Memcache connection

Beschreibung

bool mysqlnd_memcache_set ( mixed $mysql_connection [, Memcached $memcache_connection [, string $pattern [, callback $callback ]]] )

Associate mysql_connection with memcache_connection using pattern as a PCRE regular expression, and callback as a notification callback or to unset the association of mysql_connection.

While associating a MySQL connection with a Memcache connection, this function will query the MySQL Server for its configuration. It will automatically detect whether the server is configured to use the InnoDB Memcache Daemon Plugin or MySQL Cluster NDB Memcache support. It will also query the server to automatically identify exported tables and other configuration options. The results of this automatic configuration can be retrieved using mysqlnd_memcache_get_config().

Parameter-Liste

mysql_connection

A handle to a MySQL Server using one of the MySQL API extensions for PHP, which are PDO_MYSQL, mysqli or ext/mysql.

memcache_connection

A Memcached instance with a connection to the MySQL Memcache Daemon plugin. If this parameter is omitted, then mysql_connection will be unassociated from any memcache connection. And if a previous association exists, then it will be replaced.

pattern

A regular expression in Perl Compatible Regular Expression syntax used to identify potential Memcache-queries. The query should have three sub patterns. The first subpattern contains the requested field list, the second the name of the ID column from the query and the third the requested value. If this parameter is omitted or os set to NULL, then a default pattern will be used.

callback

A callback which will be used whenever a query is being sent to MySQL. The callback will receive a single boolean parameter telling if a query was sent via Memcache.

Rückgabewerte

TRUE if the association or disassociation is successful, otherwise FALSE if there is an error.

Beispiele

Beispiel #1 mysqlnd_memcache_set() example with var_dump() as a simple debugging callback.

<?php
$mysqli = new mysqli("host", "user", "passwd", "database");
$memc = new Memcached();
$memc->addServer("host", 11211);
mysqlnd_memcache_set($mysqli, $memc, NULL, 'var_dump');

/* This query will be intercepted and executed via Memcache protocol */
echo "Sending query for id via Memcache: ";
$mysqli->query("SELECT f1, f2, f3 FROM test WHERE id = 1");

/* f1 is not configured as valid key field, this won't be sent via Memcache */
echo "Sending query for f1 via Memcache: ";
$mysqli->query("SELECT id FROM test WHERE f1 = 1");

mysqlnd_memcache_set($mysqli);

/* Now the regular MySQL protocol will be used */
echo "var_dump won't be invoked: ";
$mysqli->query("SELECT f1, f2, f3 WHERE id = 1");

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Sending query for id via Memcache: bool(true)
Sending query for f1 via Memcache: bool(false)
var_dump won't be invoked:

Siehe auch

  • mysqlnd_memcache_get_config() - Returns information about the plugin configuration

mysqlnd_memcache_get_config
Change History
Mysqlnd_memcache Funktionen


Change History

Inhaltsverzeichnis

  • PECL/mysqlnd_memcache 1.0 series

This change history is a high level summary of selected changes that may impact applications and/or break backwards compatibility.

See also the CHANGES file in the source distribution for a complete list of changes.

mysqlnd_memcache_set
PECL/mysqlnd_memcache 1.0 series
mysqlnd_memcache


PECL/mysqlnd_memcache 1.0 series

1.0.0-alpha

  • Release date: TBD
  • Motto/theme: Basic mapping of SQL SELECT to a MySQL Memcache plugin access.

The initial release does map basic SQL SELECT statements to a MySQL Memcache plugin access. This bares potential performance benefits as the direct key-value access to MySQL storage using the Memcache protocol is usually faster than using SQL access.

Change History
OCI8
Change History


Oracle OCI8

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Testing
    • Laufzeit-Konfiguration
  • Vordefinierte Konstanten
  • Beispiele
  • OCI8 Connection Handling and Connection Pooling
  • OCI8 Fast Application Notification (FAN) Support
  • OCI8 and DTrace Dynamic Tracing
  • Supported Datatypes
  • OCI8 Funktionen
    • oci_bind_array_by_name — Bindet ein PHP-Array namentlich an ein Oracle-PL/SQL-Array
    • oci_bind_by_name — Bindet eine PHP-Variable an einen Oracle Platzhalter
    • oci_cancel — Bricht das Lesen eines Zeigers ab
    • oci_client_version — Returns the Oracle client library version
    • oci_close — Schließt eine Oracle-Verbindung
    • oci_commit — Commits the outstanding database transaction
    • oci_connect — Connect to an Oracle database
    • oci_define_by_name — Associates a PHP variable with a column for query fetches
    • oci_error — Liefert den letzten Fehler
    • oci_execute — Executes a statement
    • oci_fetch_all — Holt alle Reihen der Ergebnisdaten in ein Array
    • oci_fetch_array — Liefert die nächste Zeile der Ergebnisdaten als assoziatives und/oder numerisches Array
    • oci_fetch_assoc — Liefert die nächste Zeile der Ergebnisdaten als assoziatives Array
    • oci_fetch_object — Liefert die nächste Zeile der Ergebnisdaten als Objekt
    • oci_fetch_row — Liefert die nächste Zeile der Ergebnisdaten als numerisches Array
    • oci_fetch — Holt die nächste Reihe in den Ergebnispuffer
    • oci_field_is_null — Checks if a field in the currently fetched row is NULL
    • oci_field_name — Returns the name of a field from the statement
    • oci_field_precision — Tell the precision of a field
    • oci_field_scale — Tell the scale of the field
    • oci_field_size — Returns field's size
    • oci_field_type_raw — Tell the raw Oracle data type of the field
    • oci_field_type — Returns a field's data type name
    • oci_free_descriptor — Frees a descriptor
    • oci_free_statement — Gibt alle verknüpften Ressourcen eines Statements oder Zeigers frei.
    • oci_get_implicit_resultset — Returns the next child statement resource from a parent statement resource that has Oracle Database 12c Implicit Result Sets
    • oci_internal_debug — Enables or disables internal debug output
    • oci_lob_copy — Copies large object
    • oci_lob_is_equal — Compares two LOB/FILE locators for equality
    • oci_new_collection — Allocates new collection object
    • oci_new_connect — Connect to the Oracle server using a unique connection
    • oci_new_cursor — Allocates and returns a new cursor (statement handle)
    • oci_new_descriptor — Initializes a new empty LOB or FILE descriptor
    • oci_num_fields — Returns the number of result columns in a statement
    • oci_num_rows — Returns number of rows affected during statement execution
    • oci_parse — Prepares an Oracle statement for execution
    • oci_password_change — Changes password of Oracle's user
    • oci_pconnect — Connect to an Oracle database using a persistent connection
    • oci_result — Returns field's value from the fetched row
    • oci_rollback — Rolls back the outstanding database transaction
    • oci_server_version — Returns the Oracle Database version
    • oci_set_action — Sets the action name
    • oci_set_client_identifier — Sets the client identifier
    • oci_set_client_info — Sets the client information
    • oci_set_edition — Sets the database edition
    • oci_set_module_name — Sets the module name
    • oci_set_prefetch — Sets number of rows to be prefetched by queries
    • oci_statement_type — Returns the type of a statement
  • OCI-Collection — The OCI-Collection class
    • OCI-Collection::append — Appends element to the collection
    • OCI-Collection::assign — Assigns a value to the collection from another existing collection
    • OCI-Collection::assignElem — Assigns a value to the element of the collection
    • OCI-Collection::free — Frees the resources associated with the collection object
    • OCI-Collection::getElem — Returns value of the element
    • OCI-Collection::max — Returns the maximum number of elements in the collection
    • OCI-Collection::size — Returns size of the collection
    • OCI-Collection::trim — Trims elements from the end of the collection
  • OCI-Lob — The OCI-Lob class
    • OCI-Lob::append — Appends data from the large object to another large object
    • OCI-Lob::close — Closes LOB descriptor
    • OCI-Lob::eof — Tests for end-of-file on a large object's descriptor
    • OCI-Lob::erase — Erases a specified portion of the internal LOB data
    • OCI-Lob::export — Exports LOB's contents to a file
    • OCI-Lob::flush — Flushes/writes buffer of the LOB to the server
    • OCI-Lob::free — Frees resources associated with the LOB descriptor
    • OCI-Lob::getBuffering — Returns current state of buffering for the large object
    • OCI-Lob::import — Imports file data to the LOB
    • OCI-Lob::load — Returns large object's contents
    • OCI-Lob::read — Reads part of the large object
    • OCI-Lob::rewind — Moves the internal pointer to the beginning of the large object
    • OCI-Lob::save — Saves data to the large object
    • OCI-Lob::saveFile — Alias von OCI-Lob::import
    • OCI-Lob::seek — Sets the internal pointer of the large object
    • OCI-Lob::setBuffering — Changes current state of buffering for the large object
    • OCI-Lob::size — Returns size of large object
    • OCI-Lob::tell — Returns the current position of internal pointer of large object
    • OCI-Lob::truncate — Truncates large object
    • OCI-Lob::write — Writes data to the large object
    • OCI-Lob::writeTemporary — Writes a temporary large object
    • OCI-Lob::writeToFile — Alias von OCI-Lob::export
  • OCI8 - Veraltete Aliase und Funktionen
    • ocibindbyname — Alias von oci_bind_by_name
    • ocicancel — Alias von oci_cancel
    • ocicloselob — Alias von OCI-Lob::close
    • ocicollappend — Alias von OCI-Collection::append
    • ocicollassign — Alias von OCI-Collection::assign
    • ocicollassignelem — Alias von OCI-Collection::assignElem
    • ocicollgetelem — Alias von OCI-Collection::getElem
    • ocicollmax — Alias von OCI-Collection::max
    • ocicollsize — Alias von OCI-Collection::size
    • ocicolltrim — Alias von OCI-Collection::trim
    • ocicolumnisnull — Alias von oci_field_is_null
    • ocicolumnname — Alias von oci_field_name
    • ocicolumnprecision — Alias von oci_field_precision
    • ocicolumnscale — Alias von oci_field_scale
    • ocicolumnsize — Alias von oci_field_size
    • ocicolumntype — Alias von oci_field_type
    • ocicolumntyperaw — Alias von oci_field_type_raw
    • ocicommit — Alias von oci_commit
    • ocidefinebyname — Alias von oci_define_by_name
    • ocierror — Alias von oci_error
    • ociexecute — Alias von oci_execute
    • ocifetch — Alias von oci_fetch
    • ocifetchinto — Veraltete Variante von oci_fetch_array, oci_fetch_object, oci_fetch_assoc und oci_fetch_row
    • ocifetchstatement — Alias von oci_fetch_all
    • ocifreecollection — Alias von OCI-Collection::free
    • ocifreecursor — Alias von oci_free_statement
    • ocifreedesc — Alias von OCI-Lob::free
    • ocifreestatement — Alias von oci_free_statement
    • ociinternaldebug — Alias von oci_internal_debug
    • ociloadlob — Alias von OCI-Lob::load
    • ocilogoff — Alias von oci_close
    • ocilogon — Alias von oci_connect
    • ocinewcollection — Alias von oci_new_collection
    • ocinewcursor — Alias von oci_new_cursor
    • ocinewdescriptor — Alias von oci_new_descriptor
    • ocinlogon — Alias von oci_new_connect
    • ocinumcols — Alias von oci_num_fields
    • ociparse — Alias von oci_parse
    • ociplogon — Alias von oci_pconnect
    • ociresult — Alias von oci_result
    • ocirollback — Alias von oci_rollback
    • ocirowcount — Alias von oci_num_rows
    • ocisavelob — Alias von OCI-Lob::save
    • ocisavelobfile — Alias von OCI-Lob::import
    • ociserverversion — Alias von oci_server_version
    • ocisetprefetch — Alias von oci_set_prefetch
    • ocistatementtype — Alias von oci_statement_type
    • ociwritelobtofile — Alias von OCI-Lob::export
    • ociwritetemporarylob — Alias von OCI-Lob::writeTemporary
PECL/mysqlnd_memcache 1.0 series
Einführung
Anbieterspezifische Datenbankerweiterungen


Einführung

Diese Funktionen erlauben es Ihnen, auf Oracle-Datenbanken der Versionen 12c, 11g, 10g, 9i and 8i zuzugreifen. Sie unterstützen SQL- und PL/SQL-Statements. Die Grundfunktionen enthalten Transaktionskontrolle, das Binden von PHP-Variablen an Oracle-Platzhalter und die Unterstützung für Large Object Typen (LOB) und Collections. Oracles Skalierungsfunktionen wie Database Resident Connection Pooling (DRCP) und Ergebniscaching werden ebenfalls unterstützt.

OCI8
Installation/Konfiguration
OCI8


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Testing
  • Laufzeit-Konfiguration
Einführung
Anforderungen
OCI8


Anforderungen

The OCI8 1.4 extension is included with PHP 5.3, PHP 5.4 and PHP 5.5. It is also available from » PECL. A newer OCI8 2.0 version is available only from » PECL. OCI8 1.4 requires Oracle 12c, 11g, 10g or 9iR2 client libraries and will install on PHP 4.3.9 onwards. OCI8 2.0 requires Oracle 12c, 11g or 10g client libraries and will install on PHP 5.2 onwards.

If the Oracle Database is on the same machine as PHP, the database software already contains the necessary libraries. When PHP is on a different machine, use the free » Oracle Instant Client libraries.

To use Oracle Instant Client, install the basic or basiclite Oracle Instant Client ZIP file or RPM package. When building PHP from source code, also install the sdk ZIP file or devel RPM package.

You must run PHP with the same, or a more recent, version of the Oracle libraries that OCI8 was built with.

On Windows, the php_oci8 DLL needs Oracle client libraries from version 10gR2 or greater. In PHP 5.3 up to and including PHP 5.3.5, the php_oci8_11g DLL requires Oracle 11gR1 or greater client libraries. From PHP 5.3.6 the php_oci8_11g DLL requires Oracle 11gR2 or greater client libraries. The php_oci8_12c DLL from PECL requires Oracle 12cR1 client libraries. With some versions of Instant Client you may additionally need mfc71.dll and msvcr71.dll libraries.

Hinweis:

If OCI8 uses 9iR2 client libraries, then PHP can connect to Oracle Database 8i, 9iR2, 10g or 11g. If OCI8 uses 10gR2 client libraries, the database can be 9iR2, 10g, 11g or 12c. If OCI8 uses 11g client libraries, the database can be 9iR2, 10g, 11g or 12c. If OCI8 uses 12c client libraries, the database can be 10gR2, 11g or 12c.

Hinweis:

Full OCI8 feature support is only available when using the most recent versions of the Oracle client libraries and database.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

PHP muss mit der option --with-oci8[=DIR] kompiliert werden, wobei DIR standardmässig auf die Umgebungsvariable ORACLE_HOME gesetzt ist.

Wenn der » Oracle Instant Client benutzt wird, muss PHP mit der option --with-oci8=instantclient,/path/to/oic/lib erstellt werden. Es ist zu beachten, dass der Oracle Instant Client erst seit der Version 4.3.11 und 5.0.4 unterstützt wird.

Hinweis:

Es ist darauf zu achten, dass PHP mit dem Oracle Instant Client bei den OCI-Versionen vor 1.1 mit der Option --with-oci8-instant-client konfiguriert werden muss.

Anforderungen
Testing
Installation/Konfiguration


Testing

The OCI8 test suite is in ext/oci8/tests. After OCI8 tests are run this directory will also contain logs of any failures.

Before running PHP's tests, edit details.inc and set $user, $password and the $dbase connection string. The OCI8 test suite has been developed using the SYSTEM account. Some tests will fail if the test user does not have equivalent permissions.

If Oracle Database Resident Connection Pooling is being tested, set $test_drcp to TRUE and ensure the connection string uses an appropriate DRCP pooled server.

An alternative to editing details.inc is the set environment variables, for example:

    $ export PHP_OCI8_TEST_USER=system
    $ export PHP_OCI8_TEST_PASS=oracle
    $ export PHP_OCI8_TEST_DB=localhost/XE
    $ export PHP_OCI8_TEST_DRCP=FALSE
Note in some shells these variables are not propagated correctly to the PHP process and tests will fail to connect if this method is used.

Next, set any necessary environment for the Oracle database. With Oracle 10gR2 XE do:

    $ . /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/oracle_env.sh

With Oracle 11gR2 XE do:

    $ . /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh

For other versions of the Oracle database do:

    $ . /usr/local/bin/oraenv

Some shells require that php.ini has E in the variables_order parameter, for example:

    variables_order = "EGPCS"

Run all the PHP tests with:

    $ cd your_php_src_directory
    $ make test
or run only the OCI8 tests with
    $ cd your_php_src_directory
    $ make test TESTS=ext/oci8

When the tests have completed, review any test failures. On slow systems, some tests may take longer than the default test timeout in run-tests.php. To correct this, set the environment variable TEST_TIMEOUT to a larger number of seconds.

On fast machines with a local database configured for light load (e.g. Oracle 11gR2 XE) some tests might fail with ORA-12516 or ORA-12520 errors. To prevent this, increase the database PROCESSES parameter using the following steps:

Connect as the oracle software owner:

    $ su - oracle

Set the necessary Oracle environment with oracle_env.sh or oraenv, as described above.

Start the SQL*Plus command line tool and increase PROCESSES

    $ sqlplus / as sysdba
    SQL> alter system set processes=100 scope=spfile

Restart the database:

    SQL> startup force

Installation
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

OCI8-Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
oci8.connection_class | "" | PHP_INI_ALL | Verfügbar seit PHP 5.3 (PECL OCI8 1.3).
oci8.default_prefetch | "100" | PHP_INI_SYSTEM | Verfügbar seit PHP 5.1.2 (PECL OCI8 1.1).
oci8.events | Off | PHP_INI_SYSTEM | Verfügbar seit PHP 5.3 (PECL OCI8 1.3).
oci8.max_persistent | "-1" | PHP_INI_SYSTEM | Verfügbar seit PHP 5.1.2 (PECL OCI8 1.1).
oci8.old_oci_close_semantics | Off | PHP_INI_SYSTEM | Verfügbar seit PHP 5.1.2 (PECL OCI8 1.1).
oci8.persistent_timeout | "-1" | PHP_INI_SYSTEM | Verfügbar seit PHP 5.1.2 (PECL OCI8 1.1).
oci8.ping_interval | "60" | PHP_INI_SYSTEM | Verfügbar seit PHP 5.1.2 (PECL OCI8 1.1).
oci8.privileged_connect | Off | PHP_INI_SYSTEM | Verfügbar seit PHP 5.1.2 (PECL OCI8 1.1).
oci8.statement_cache_size | "20" | PHP_INI_SYSTEM | Verfügbar seit PHP 5.1.2 (PECL OCI8 1.1).

Hier eine kurze Erklärung der Konfigurationsoptionen:

oci8.connection_class string

This user defined text is used by Oracle 11g Database Resident Connection Pooling (DRCP) connections to sub-partition the connection pool. It allows OCI8 persistent connections from an application to reuse database sessions from a previous PHP script, giving better scalability. When an application uses a database pooled process previously used with a different connection class, the session settings such as the default Oracle date format are reset. This prevents accidental sharing of information between different applications.

The value can be set at runtime with ini_set() prior to connecting.

To use DRCP, OCI8 must be linked with Oracle 11g libraries and the database must be Oracle 11g. The connection pool must be enabled in the database, the oci8.connection_class should be set to the same string for all web servers running the same application, and the OCI8 connection string must specify to use a pooled server.

oci8.default_prefetch int

This option sets the default number of extra rows that will be fetched and cached automatically whenever a low-level request for data from the database is made. Setting a value of 0 turns off prefetching.

The prefetch value does not alter the number of rows that functions like oci_fetch_array() return to the user; the prefetching and caching of rows is handled internally in OCI8.

The value can be set per-statement with oci_set_prefetch() prior to statement execution.

In PHP 5.3 (PECL OCI8 1.3.4) the default value was increased from 10 to 100.

In PHP 5.3.2 (PECL OCI8 1.4) the minimum value settable was reduced from 1 to 0, allowing prefetching to be turned off.

When using Oracle Database 12c, the prefetch value set by PHP can be overridden by Oracle's client oraaccess.xml configuration file. Refer to Oracle documentation for more detail.

Hinweis: A larger prefetch can result in improved performance, at the cost of some increased memory usage. For queries that return large amounts of data, the performance benefit can be significant.

oci8.events boolean

Using On allows PHP to be notified of database Fast Application Notification (FAN) events.

Without FAN, when a database instance or machine node fails unexpectedly, PHP applications may be blocked waiting for a database response until a TCP timeout expires. With FAN events, PHP applications are quickly notified of failures that affect their established database connections. The OCI8 extension will clean up unusable connections in the persistent connection cache.

When using On, the database must also be configured to post FAN events.

FAN support is available when OCI8 is linked with Oracle 10gR2 (or later) libraries and connected to Oracle Database 10gR2 (or later).

oci8.max_persistent int

Die maximale Anzahl persistenter OCI8-Verbindungen pro Prozess. Wenn diese Option auf -1 gesetzt ist, ist die Anzahl der Verbindungen nicht limitiert.

oci8.old_oci_close_semantics boolean

Die Option kontrolliert das Verhalten der Funktion oci_close(). Wenn Sie sie aktivieren, zeigt der Aufruf von oci_close() keine Reaktion; die Verbindung wird nicht vor dem Ende des Skripts beendet. Die Funktion existiert nur aus Gründen der Abwärtskompatibilität. Wenn Sie in die Situation kommen, in der Sie diese Option aktivieren müssen, sei Ihnen dringend empfohlen, stattdessen alle oci_close()-Aufrufe aus Ihrer Anwendung zu entfernen.

oci8.persistent_timeout int

Die maximale Dauer (in Sekunden), über die der angegebene Prozess eine ungenutzte persistente Verbindung aufrechterhalten darf. Ist diese Option auf -1 gesetzt, werden ungenutzte persistente Verbindungen aufrecht erhalten bis der PHP Prozess endet oder die Verbindung mittels oci_close() ausdrücklich geschlossen wird.

Hinweis: In PHP, the expiry of idle resources is not alarm-based. It occurs when PHP finishes processing a script and checks the last-used timestamp of resources. Hence there is a paradox that idle connections can only be closed when there is some activity (though not necessarily OCI8 related) in the PHP process. If there is more than one PHP process then each must individually be activated in order to trigger expiry of its idle resources. The introduction of Database Resident Connection Pooling (DRCP) in Oracle 11g resolves the memory and resource issues that oci8.max_persistent and oci8.persistent_timeout previously attempted to overcome.

Hinweis: In PHP 5.3 (PECL OCI8 1.3), persistent connections can be closed with oci_close().

oci8.ping_interval int

Die Dauer (in Sekunden), die vergehen muss, bevor ein Ping während eines oci_pconnect() abgeschickt wird. Ein Ping versichert dass die Datenbankverbindung gültig ist. Wenn dies auf 0 gesetzt ist, werden persistente Verbindungen bei jeder Verwendung von oci_pconnect() gepingt. Um Pings völlig zu deaktivieren, muss die Option auf -1 gesetzt werden.

Hinweis: Das Deaktivieren von Pings lässt oci_pconnect() mit höchster Effizienz arbeiten, kann aber dazu führen, dass PHP fehlerhafte Verbindungen nicht bemerkt, wie sie entstehen können, wenn das Netzwerk unterbrochen wird oder der Oracle-Server bei bestehender Verbindung heruntergefahren wird. Konsultieren Sie die Dokumentation zu oci_pconnect(), um weitere Informationen zu erhalten.

oci8.privileged_connect boolean

Diese Option aktiviert privilegierte Verbindungen unter Verwendung externer Credentials (OCI_SYSOPER, OCI_SYSDBA).

Hinweis: Seting this On can allow scripts on web servers running with the appropriate OS user privileges to connect as privileged database users without requiring a database password. This can be a security risk.

oci8.statement_cache_size int

Diese Option aktiviert den Statement-Cache und definiert, wie viele Statements gecacht werden. Um das Caching zu deaktivieren, muss die Option auf 0 gesetzt werden.

Statement caching removes the need to transmit the statement text to the database and removes the need to transmit any meta data about the statement back to PHP. This can significantly improve overall system performance in applications which reuse statements during the lifetime of a connection. Some extra database "cursors" may be held open under the assumption that statements will be reused.

Set this value to the size of the working set of statements used by your application. Setting too small a value can cause statements to be flushed from the cache before they are reused.

This option is of most use with persistent connections.

When using Oracle Database 12c, this value can be overridden and automatically tuned by Oracle's client oraaccess.xml file. Refer to Oracle documentation for more detail.

Testing
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

OCI_DEFAULT (integer)
Statement-Ausführungsmodus. Ein Statement wird nicht automatisch committed, wenn dieser Modus benutzt wird.
OCI_DESCRIBE_ONLY (integer)
Statement-Ausführungsmodus. Benutze diesen Modus, wenn die Suchabfrage nicht ausgeführt werden soll, sondern nur eine Beschreibung der Selektierten Liste gewünscht ist.
OCI_COMMIT_ON_SUCCESS (integer)
Statement-Ausführungsmodus. Das Statement wird automatisch committed nach einem oci_execute()-Aufruf.
OCI_EXACT_FETCH (integer)
Statement-Abrufmodus. Kann benutzt werden, wenn die Applikation bereits im Vorfeld die genaue Anzahl der abzurufenden Zeilen kennt. Dieser Modus schaltet das Prefetching (Vorab-Abruf) bei Oracle Release 8 und höher aus. Der Zeiger wird bei erreichen der benötigten Zeilen beendet und verringert somit die benötigten Ressourcen des Servers.
OCI_SYSDATE (integer)
OCI_B_BFILE (integer)
Wird bei oci_bind_by_name() benutzt, wenn BFILEs gebunden werden.
OCI_B_CFILEE (integer)
Wird bei oci_bind_by_name() benutzt, wenn CFILEs gebunden werden.
OCI_B_CLOB (integer)
Wird bei oci_bind_by_name() benutzt, wenn CLOBs gebunden werden.
OCI_B_BLOB (integer)
Wird bei oci_bind_by_name() benutzt, wenn BLOBs gebunden werden.
OCI_B_ROWID (integer)
Wird bei oci_bind_by_name() benutzt, wenn ROWIDs gebunden werden.
OCI_B_CURSOR (integer)
Wird bei oci_bind_by_name() benutzt, wenn Zeiger (CURSOR) gebunden werden, die zuvor mit oci_new_descriptor() reserviert wurden.
OCI_B_NTY (integer)
Wird bei oci_bind_by_name() benutzt, wenn benannte Datentypen gebunden werden. Zu beachten: in PHP < 5.0 wurde das OCI_B_SQLT_NTY genannt.
OCI_B_BIN (integer)
SQLT_BFILEE (integer)
Das gleiche wie OCI_B_BFILE.
SQLT_CFILEE (integer)
Das gleiche wie OCI_B_CFILEE.
SQLT_CLOB (integer)
Das gleiche wie OCI_B_CLOB.
SQLT_BLOB (integer)
Das gleiche wie OCI_B_BLOB.
SQLT_RDD (integer)
Das gleiche wie OCI_B_ROWID.
SQLT_NTY (integer)
Das gleiche wie OCI_B_NTY.
SQLT_LNG (integer)
Wird bei oci_bind_by_name() benutzt, wenn LONG-Werte gebunden werden.
SQLT_LBI (integer)
Wird bei oci_bind_by_name() benutzt, wenn LONG-RAW-Werte gebunden werden.
SQLT_BIN (integer)
Wird bei oci_bind_by_name() benutzt, wenn RAW-Werte gebunden werden.
SQLT_NUM (integer)
Wird bei oci_bind_array_by_name() benutzt, wenn Arrays aus NUMBERs gebunden werden.
SQLT_INT (integer)
Wird bei oci_bind_array_by_name() benutzt, wenn Arrays aus INTEGERs gebunden werden.
SQLT_AFC (integer)
Wird bei oci_bind_array_by_name() benutzt, wenn Arrays aus CHARs gebunden werden.
SQLT_CHR (integer)
Wird bei oci_bind_array_by_name() benutzt, wenn Arrays aus VARCHAR2s gebunden werden. Wird auch bei oci_bind_by_name() benutzt.
SQLT_VCS (integer)
Wird bei oci_bind_array_by_name() benutzt, wenn Arrays aus VARCHARs gebunden werden.
SQLT_AVC (integer)
Wird bei oci_bind_array_by_name() benutzt, wenn Arrays aus CHARZs gebunden werden.
SQLT_STR (integer)
Wird bei oci_bind_array_by_name() benutzt, wenn Arrays aus STRINGs gebunden werden.
SQLT_LVC (integer)
Wird bei oci_bind_array_by_name() benutzt, wenn Arrays aus LONG-VARCHARs gebunden werden.
SQLT_FLT (integer)
Wird bei oci_bind_array_by_name() benutzt, wenn Arrays aus FLOATs gebunden werden.
SQLT_ODT (integer)
Wird bei oci_bind_array_by_name() benutzt, wenn Arrays aus LONGs gebunden werden.
SQLT_BDOUBLE (integer)
SQLT_BFLOAT (integer)
OCI_FETCHSTATEMENT_BY_COLUMN (integer)
Standardmodus von oci_fetch_all().
OCI_FETCHSTATEMENT_BY_ROW (integer)
Alternativmodus von oci_fetch_all().
OCI_ASSOC (integer)
Wird bei oci_fetch_all() und oci_fetch_array() benutzt, um ein assoziatives Array als Ergebnis zu erhalten.
OCI_NUM (integer)
Wird bei oci_fetch_all() und oci_fetch_array() benutzt, um ein durchnummeriertes Array als Ergebnis zu erhalten.
OCI_BOTH (integer)
Wird bei oci_fetch_all() und oci_fetch_array() benutzt, um ein Array mit assoziativem als auch durchnummeriertes Index als Ergebnis zu erhalten.
OCI_RETURN_NULLS (integer)
Wird bei oci_fetch_array() benutzt, um bei Feldwerten von NULL leere Arrayelement zu erhalten.
OCI_RETURN_LOBS (integer)
Wird bei oci_fetch_array() benutzt, um den Wert eines LOBs anstelle des Deskriptors zu bekommen.
OCI_DTYPE_FILE (integer)
Ein Schalter der oci_new_descriptor() mitteilt einen neuen FILE-Deskriptor zu initialisieren.
OCI_DTYPE_LOB (integer)
Ein Schalter der oci_new_descriptor() mitteilt einen neuen LOB-Deskriptor zu initialisieren.
OCI_DTYPE_ROWID (integer)
Ein Schalter der oci_new_descriptor() mitteilt einen neuen ROWID-Deskriptor zu initialisieren.
OCI_D_FILE (integer)
Das gleiche wie OCI_DTYPE_FILE.
OCI_D_LOB (integer)
Das gleiche wie OCI_DTYPE_LOB.
OCI_D_ROWID (integer)
Das gleiche wie OCI_DTYPE_ROWID.
OCI_SYSOPER (integer)
Wird benutzt, um bei oci_connect() als SYSOPER mit externen Credentials oci8.privileged_connect sollte hierfür aktiviert sein) verbunden zu werden.
OCI_SYSDBA (integer)
Wird benutzt, um bei oci_connect() als SYSDBA mit externen Credentials oci8.privileged_connect sollte hierfür aktiviert sein) verbunden zu werden.
OCI_LOB_BUFFER_FREE (integer)
Wird mit OCI-Lob::flush benutzt, um die benutzten Buffer zu leeren.
OCI_TEMP_CLOB (integer)
Wird mit OCI-Lob::writeTemporary benutzt, um explizit anzuzeigen, dass temporäre CLOBs generiert werden sollen.
OCI_TEMP_BLOB (integer)
Wird mit OCI-Lob::writeTemporary benutzt, um explizit anzuzeigen, dass temporäre BLOBs generiert werden sollen.
Laufzeit-Konfiguration
Beispiele
OCI8


Beispiele

These examples connect as the HR user, which is the sample "Human Resources" schema supplied with the Oracle database. The account may need to be unlocked and the password reset before you can use it.

The examples connect to the XE database on your machine. Change the connect string to your database before running the examples.

Beispiel #1 Basic query

This shows querying and displaying results. Statements in OCI8 use a prepare-execute-fetch sequence of steps.

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

// Prepare the statement
$stid = oci_parse($conn, 'SELECT * FROM departments');
if (!$stid) {
    $e = oci_error($conn);
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

// Perform the logic of the query
$r = oci_execute($stid);
if (!$r) {
    $e = oci_error($stid);
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

// Fetch the results of the query
print "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    print "<tr>\n";
    foreach ($row as $item) {
        print "    <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;") . "</td>\n";
    }
    print "</tr>\n";
}
print "</table>\n";

oci_free_statement($stid);
oci_close($conn);

?>

Beispiel #2 Inserting with bind variables

Bind variables improve performance by allowing reuse of execution contexts and caches. Bind variables improve security by preventing some kinds of SQL Injection problems.

<?php

// Before running, create the table:
//   CREATE TABLE MYTABLE (mid NUMBER, myd VARCHAR2(20));

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'INSERT INTO MYTABLE (mid, myd) VALUES(:myid, :mydata)');

$id = 60;
$data = 'Some data';

oci_bind_by_name($stid, ':myid', $id);
oci_bind_by_name($stid, ':mydata', $data);

$r = oci_execute($stid);  // executes and commits

if ($r) {
    print "One row inserted";
}

oci_free_statement($stid);
oci_close($conn);

?>

Beispiel #3 Binding in the WHERE clause of a query

This shows a single scalar bind.

<?php

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$sql = 'SELECT last_name FROM employees WHERE department_id = :didbv ORDER BY last_name';
$stid = oci_parse($conn, $sql);
$didbv = 60;
oci_bind_by_name($stid, ':didbv', $didbv);
oci_execute($stid);
while (($row = oci_fetch_array($stid, OCI_ASSOC)) != false) {
    echo $row['LAST_NAME'] ."<br>\n";
}

// Output is
//    Austin
//    Ernst
//    Hunold
//    Lorentz
//    Pataballa

oci_free_statement($stid);
oci_close($conn);

?>

Beispiel #4 Inserting and fetching a CLOB

For large data use binary long object (BLOB) or character long object (CLOB) types. This example uses CLOB.

<?php

// Before running, create the table:
//     CREATE TABLE MYTABLE (mykey NUMBER, myclob CLOB);

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$mykey = 12343;  // arbitrary key for this example;

$sql = "INSERT INTO mytable (mykey, myclob)
        VALUES (:mykey, EMPTY_CLOB())
        RETURNING myclob INTO :myclob";

$stid = oci_parse($conn, $sql);
$clob = oci_new_descriptor($conn, OCI_D_LOB);
oci_bind_by_name($stid, ":mykey", $mykey, 5);
oci_bind_by_name($stid, ":myclob", $clob, -1, OCI_B_CLOB);
oci_execute($stid, OCI_NO_AUTO_COMMIT); // use OCI_DEFAULT for PHP <= 5.3.1
$clob->save("A very long string");

oci_commit($conn);

// Fetching CLOB data

$query = 'SELECT myclob FROM mytable WHERE mykey = :mykey';

$stid = oci_parse ($conn, $query);
oci_bind_by_name($stid, ":mykey", $mykey, 5);
oci_execute($stid);

print '<table border="1">';
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_LOBS)) {
    print '<tr><td>'.$row['MYCLOB'].'</td></tr>';
    // In a loop, freeing the large variable before the 2nd fetch reduces PHP's peak memory usage
    unset($row);
}
print '</table>';

?>

Beispiel #5 Using a PL/SQL stored function

You must bind a variable for the return value and optionally for any PL/SQL function arguments.

<?php

/*
  Before running the PHP program, create a stored function in
  SQL*Plus or SQL Developer:

  CREATE OR REPLACE FUNCTION myfunc(p IN NUMBER) RETURN NUMBER AS
  BEGIN
      RETURN p * 3;
  END;

*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$p = 8;

$stid = oci_parse($conn, 'begin :r := myfunc(:p); end;');
oci_bind_by_name($stid, ':p', $p);
oci_bind_by_name($stid, ':r', $r, 40);

oci_execute($stid);

print "$r\n";   // prints 24

oci_free_statement($stid);
oci_close($conn);

?>

Beispiel #6 Using a PL/SQL stored procedure

With stored procedures, you should bind variables for any arguments.

<?php

/*
  Before running the PHP program, create a stored procedure in
  SQL*Plus or SQL Developer:

  CREATE OR REPLACE PROCEDURE myproc(p1 IN NUMBER, p2 OUT NUMBER) AS
  BEGIN
      p2 := p1 * 2;
  END;

*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$p1 = 8;

$stid = oci_parse($conn, 'begin myproc(:p1, :p2); end;');
oci_bind_by_name($stid, ':p1', $p1);
oci_bind_by_name($stid, ':p2', $p2, 40);

oci_execute($stid);

print "$p2\n";   // prints 16

oci_free_statement($stid);
oci_close($conn);

?>

Beispiel #7 Calling a PL/SQL function that returns a REF CURSOR

Each returned value from the query is a REF CURSOR that can be fetched from.

<?php
/*
  Create the PL/SQL stored function as:

  CREATE OR REPLACE FUNCTION myfunc(p1 IN NUMBER) RETURN SYS_REFCURSOR AS
      rc SYS_REFCURSOR;
  BEGIN
      OPEN rc FOR SELECT city FROM locations WHERE ROWNUM < p1;
      RETURN rc;
  END;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'SELECT myfunc(5) AS mfrc FROM dual');
oci_execute($stid);

echo "<table border='1'>\n";
while (($row = oci_fetch_array($stid, OCI_ASSOC))) {
    echo "<tr>\n";
    $rc = $row['MFRC'];
    oci_execute($rc);  // returned column value from the query is a ref cursor
    while (($rc_row = oci_fetch_array($rc, OCI_ASSOC))) {
        echo "    <td>" . $rc_row['CITY'] . "</td>\n";
    }
    oci_free_statement($rc);
    echo "</tr>\n";
}
echo "</table>\n";

// Output is:
//   Beijing
//   Bern
//   Bombay
//   Geneva

oci_free_statement($stid);
oci_close($conn);

?>
Vordefinierte Konstanten
OCI8 Connection Handling and Connection Pooling
OCI8


OCI8 Connection Handling and Connection Pooling

Connection Functions

The OCI8 extension provides three different functions for connecting to Oracle. The standard connection function is oci_connect(). This creates a connection to an Oracle database and returns a resource used by subsequent database calls.

Connecting to an Oracle server is a reasonably expensive operation in terms of the time that it takes to complete. The oci_pconnect() function uses a persistent cache of connections that can be re-used across different script requests. This means that the connection overhead will typically only occur once per PHP process (or Apache child).

If the application connects to Oracle using a different set of credentials for each web user, the persistent cache employed by oci_pconnect() will become less useful as the number of concurrent users increases, to the point where it may start to adversely affect the overall performance of the Oracle server due to maintaining too many idle connections. If the application is structured in this way, it is recommended to either tune the application using the oci8.max_persistent and oci8.persistent_timeout configuration settings (these will give control over the persistent connection cache size and lifetime), use Oracle Database Resident Connection Pooling (in Oracle Database 11g or later), or use oci_connect() instead.

Both oci_connect() and oci_pconnect() employ a connection cache; if multiple calls to oci_connect() use the same parameters in a given script, the second and subsequent calls return the existing connection handle. The cache used by oci_connect() is cleaned up at the end of the script run, or when the connection handle is explicitly closed. The function oci_pconnect() has similar behavior, although its cache is maintained separately and survives between HTTP requests.

This caching feature means the two handles are not transactionally isolated (they are in fact the same connection handle, so there is no isolation of any kind). If the application needs two separate, transactionally isolated connections, then use oci_new_connect().

The oci_pconnect() cache is cleared and any database connections closed when the PHP process terminates, so effective use of persistent connections requires that PHP be an Apache module or used with FCGI, or similar. Persistent connections will not have any benefits over oci_connect() when PHP is used with CGI or via the command-line.

The function oci_new_connect() always creates a new connection to the Oracle server, regardless of what other connections might already exist. High traffic web applications should avoid using oci_new_connect(), especially in the busiest sections of the application.

DRCP Connection Pooling

PHP from 5.3 (PECL OCI8 1.3) supports Oracle Database Resident Connection Pooling (DRCP). DRCP allows more efficient use of database machine memory and provides high scalability. No, or minimal, application changes are needed to use DRCP.

DRCP is suited for applications that connect using few database schemas and hold database connections open for a short period of time. Other applications should use Oracle's default Dedicated database server processes, or use Shared servers.

DRCP benefits all three connection functions, but gives the highest scalability when connections are created with oci_pconnect().

For DRCP to be available in OCI8, Oracle client libraries used by PHP and the version of the Oracle Database must both be 11g or greater.

Documentation on DRCP is found in several Oracle manuals. For example, see » Configuring Database Resident Connection Pooling in the Oracle documentation for usage information. A » DRCP white paper contains background information on DRCP.

To use DRCP, build PHP with the OCI8 1.3 (or later) extension and Oracle 11g (or later) libraries and then follow these steps:

  • As a privileged database administrator, use a program like SQL*Plus to start the connection pool in the database:

        SQL> execute dbms_connection_pool.start_pool;

  • Optionally use dbms_connection_pool.alter_param() to configure DRCP settings. The current pool settings can be queried from the DBA_CPOOL_INFO view.

  • Update the connection strings used. For PHP applications that currently connect using a Network Connect Name like MYDB:

        $c = oci_pconnect("myuser", "mypassword", "MYDB");

    modify the tnsnames.ora file and add a (SERVER=POOLED) clause, for example:

        MYDB = (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp) (HOST=myhost.dom.com)
           (PORT=1521))(CONNECT_DATA=(SERVICE_NAME=sales)
           (SERVER=POOLED)))

    Alternatively, modify the Easy Connect syntax in PHP and add :POOLED after the service name:

        $c = oci_pconnect("myuser", "mypassword", "myhost.dom.com:1521/sales:POOLED");

  • Edit php.ini and choose a connection class name. This name indicates a logical division of the connection pool and can be used to isolate pooling for separate applications. Any PHP applications with the same user name and connection class value will be able to share connections in the pool, giving greater scalability.

        oci8.connection_class = "MY_APPLICATION_NAME"

  • Run the application, connecting to the 11g (or later) database.

Hinweis:

Applications using Oracle 10g that require the performance of persistent connections can reduce the amount of database server memory needed by using Oracle Shared servers (previously known as Multi Threaded Servers). Refer to Oracle documentation for information.

DRCP Recommendations and Known Limitations

Changing a password over DRCP connections will fail with the error ORA-56609: Usage not supported with DRCP. This is a documented restriction of Oracle Database 11g.

From OCI8 1.3, persistent connections can be closed by the user, allowing greater control over connection resource usage. Persistent connections will now also be closed automatically when there is no PHP variable referencing them, such as at the end of scope of a PHP user function. This will rollback any uncommitted transaction. These changes to persistent connections make them behave similarly to non-persistent connections, simplifying the interface, allowing for greater application consistency and predictability. Use oci8.old_oci_close_semantics set to On to retain the historical behavior.

If the Oracle Database is version 11.1.0.6, then the Oracle database patch for Oracle bug 6474441 must be applied to use DRCP. Without this patch, errors such as ORA-01000: maximum open cursors exceeded, ORA-01001 invalid cursor or ORA-01002 fetch out of sequence may occur. This bug was fixed in Oracle 11.1.0.7 onwards.

If the Oracle 11.1.0.6 database patch cannot be applied, one of the following three workarounds can be used instead:

  • Connect using Oracle Dedicated or Shared servers instead of DRCP.
  • Set PHP's oci8.statement_cache_size to 0.
  • Set an event in the database initialization parameter file: event="56699 trace name context forever, level 128".

Oracle Database 11.1.0.7 and the Oracle Database 11.1.0.6 patch for Oracle bug 6474441 allow PHP applications with DRCP connection to use a database LOGON trigger to set session properties at the time of session creation. Examples of such settings are the NLS language and the date format.

If the Oracle 11.1.0.6 database patch cannot be applied, one of the following workarounds can be used instead of using LOGON triggers:

  • After logon, explicitly set the session properties using PHP application code.
  • Connect using Oracle Dedicated or Shared servers instead of DRCP.

The automatic re-establishment of PHP persistent connections after an Apache or FCGI process respawns means LOGON triggers in PHP are only recommended for setting session attributes and not for per-application user connection requests. This is even more so with DRCP due to the automatic pool sizing and with the way LOGON triggers fire with DRCP authentication.

Beispiele
OCI8 Fast Application Notification (FAN) Support
OCI8


OCI8 Fast Application Notification (FAN) Support

FAN support gives fast connection failover, an Oracle Database high availability feature. This allows PHP OCI8 scripts to be notified when a database machine or database instance becomes unavailable. Without FAN, OCI8 can hang until a TCP timeout occurs and an error is returned, which might be several minutes. Enabling FAN in OCI8 can allow applications to detect errors and re-connect to an available database instance without the web user being aware of an outage.

FAN support is available when the Oracle client libraries that PHP links with and the Oracle Database are either version 10gR2 or later.

FAN benefits users of Oracle's clustering technology (RAC) because connections to surviving database instances can be immediately made. Users of Oracle's Data Guard with a broker will see the FAN events generated when the standby database goes online. Standalone databases will send FAN events when the database restarts.

For active connections, when a machine or database instance becomes unavailable, a connection failure error will be returned by the OCI8 extension function currently being called. On a subsequent PHP script re-connect, a connection to a surviving database instance will be established. The OCI8 extension also transparently cleans up any idle connections affected by a database machine or instance failure so PHP connect calls will establish a fresh connection without the script being aware of any service disruption.

When oci8.events is On, it is suggested to set oci8.ping_interval to -1 to disable pinging, since enabling FAN events provide pro-active connection management of idle connections made invalid by a service disruption.

To enable FAN support in PHP OCI8, build PHP OCI8 with Oracle 10gR2 or later libraries and then follow these steps:

  • As a privileged database administrator, use a program like SQL*Plus to enable the database service to post FAN events, for example:

        SQL> execute dbms_service.modify_service(
                   SERVICE_NAME        => 'sales',
                   AQ_HA_NOTIFICATIONS => TRUE);

  • Edit php.ini and add

        oci8.events = On

  • If the application does not already handle OCI8 error conditions, modify it to detect failures and take appropriate action. This may include re-connecting and re-executing statements.
  • Run the application, connecting to Oracle Database 10gR2 or later.

OCI8 Connection Handling and Connection Pooling
OCI8 and DTrace Dynamic Tracing
OCI8


OCI8 and DTrace Dynamic Tracing

OCI8 2.0 introduced static DTrace probes that can be used on operating systems that support DTrace. See DTrace Dynamic Tracing for an overview of PHP and DTrace.

Installing OCI8 with DTrace Support

To enable DTrace support in PHP OCI8, build OCI8 as a shared extension after setting PHP_DTRACE.

$ export PHP_DTRACE=yes
$ pecl install oci8

Edit php.ini, set extension_dir to the directory with the created oci8.so and also enable the extension by adding:

extension=oci8.so

If you install PHP OCI8 2.0 from PECL using phpize and configure (instead of pecl), you will still need to set PHP_DTRACE=yes. This is because the --enable-dtrace option will be ignored by the limited configure script of a PECL bundle.

See Installation of PECL extensions for general PECL installation instructions.

DTrace Static Probes in PHP OCI8

The following static probes are available in PHP OCI8
Probe Name | Probe Description | Probe Arguments
oci8-connect-entry | Initiated by oci_connect(), oci_pconnect() and oci_new_connect(). Fires before database connection is established. | char *username, char *dbname, char *charset, long session_mode, int persistent, int exclusive
oci8-connect-return | Fires at the end of connection. | void *connection
oci8-check-connection | Fires if an Oracle error might have caused the connection to become invalid. | void *connection, char *client_id, int is_open, long errcode, unsigned long server_status
oci8-sqltext | Fires when oci_parse() is executed. | void *connection, char *client_id, void *statement, char *sql
oci8-connection-close | Fires when the connection to the database is completely destroyed. | void *connection
oci8-error | Fires if an Oracle error occurs. | int status, long errcode
oci8-execute-mode | Fires at oci_execute() to show the execution mode. | void *connection, char *client_id, void *statement, unsigned int mode

These probes are useful for tracing OCI8 scripts.

The connection and statement are the pointers to internal structures used for tracking PHP connections and executed statements.

The client_id is the value set by oci_set_client_identifier().

Core PHP also has static probes. See DTrace Static Probes in Core PHP.

Internal Debugging DTrace Probes in OCI8
Probe Name
oci8-connect-expiry
oci8-connect-lookup
oci8-connect-p-dtor-close
oci8-connect-p-dtor-release
oci8-connect-type
oci8-sesspool-create
oci8-sesspool-stats
oci8-sesspool-type

These probes are useful for OCI8 maintainers. Refer to the OCI8 source code for arguments and to see when the will fire.

Listing DTrace Static Probes in PHP OCI8

To list available probes, start a PHP process and then run:

# dtrace -l

The output will be similar to:

   ID   PROVIDER            MODULE                          FUNCTION NAME
   [ . . . ]
   17 phpoci22116           oci8.so   php_oci_dtrace_check_connection oci8-check-connection
   18 phpoci22116           oci8.so                php_oci_do_connect oci8-connect-entry
   19 phpoci22116           oci8.so         php_oci_persistent_helper oci8-connect-expiry
   20 phpoci22116           oci8.so             php_oci_do_connect_ex oci8-connect-lookup
   21 phpoci22116           oci8.so  php_oci_pconnection_list_np_dtor oci8-connect-p-dtor-close
   22 phpoci22116           oci8.so  php_oci_pconnection_list_np_dtor oci8-connect-p-dtor-release
   23 phpoci22116           oci8.so                php_oci_do_connect oci8-connect-return
   24 phpoci22116           oci8.so             php_oci_do_connect_ex oci8-connect-type
   25 phpoci22116           oci8.so          php_oci_connection_close oci8-connection-close
   26 phpoci22116           oci8.so                     php_oci_error oci8-error
   27 phpoci22116           oci8.so         php_oci_statement_execute oci8-execute-mode
   28 phpoci22116           oci8.so              php_oci_create_spool oci8-sesspool-create
   29 phpoci22116           oci8.so            php_oci_create_session oci8-sesspool-stats
   30 phpoci22116           oci8.so            php_oci_create_session oci8-sesspool-type
   31 phpoci22116           oci8.so          php_oci_statement_create oci8-sqltext

The Provider column values consist of phpoci and the process id of the currently running PHP process.

The Function column refers to PHP's internal C implementation function names where each provider is located.

If a PHP process is not running, then no PHP probes will be shown.

DTrace with PHP OCI8 Example

This example shows the basics of the DTrace D scripting language.

Beispiel #1 user_oci8_probes.d for tracing all user-level PHP OCI8 Static Probes with DTrace

#!/usr/sbin/dtrace -Zs

#pragma D option quiet

php*:::oci8-connect-entry
{
    printf("%lld: PHP connect-entry\n", walltimestamp);
    printf("  credentials=\"%s@%s\"\n", arg0 ? copyinstr(arg0) : "", arg1 ? copyinstr(arg1) : "");
    printf("  charset=\"%s\"\n", arg2 ? copyinstr(arg2) : "");
    printf("  session_mode=%ld\n", (long)arg3);
    printf("  persistent=%d\n", (int)arg4);
    printf("  exclusive=%d\n", (int)arg5);
}

php*:::oci8-connect-return
{
    printf("%lld: PHP oci8-connect-return\n", walltimestamp);
    printf("  connection=0x%p\n", (void *)arg0);
}

php*:::oci8-connection-close
{
    printf("%lld: PHP oci8-connect-close\n", walltimestamp);
    printf("  connection=0x%p\n", (void *)arg0);
}

php*:::oci8-error
{
    printf("%lld: PHP oci8-error\n", walltimestamp);
    printf("  status=%d\n", (int)arg0);
    printf("  errcode=%ld\n", (long)arg1);
}

php*:::oci8-check-connection
{
    printf("%lld: PHP oci8-check-connection\n", walltimestamp);
    printf("  connection=0x%p\n", (void *)arg0);
    printf("  client_id=\"%s\"\n", arg1 ? copyinstr(arg1) : "");
    printf("  is_open=%d\n", arg2);
    printf("  errcode=%ld\n", (long)arg3);
    printf("  server_status=%lu\n", (unsigned long)arg4);
}

php*:::oci8-sqltext
{
    printf("%lld: PHP oci8-sqltext\n", walltimestamp);
    printf("  connection=0x%p\n", (void *)arg0);
    printf("  client_id=\"%s\"\n", arg1 ? copyinstr(arg1) : "");
    printf("  statement=0x%p\n", (void *)arg2);
    printf("  sql=\"%s\"\n", arg3 ? copyinstr(arg3) : "");
}

php*:::oci8-execute-mode
{
    printf("%lld: PHP oci8-execute-mode\n", walltimestamp);
    printf("  connection=0x%p\n", (void *)arg0);
    printf("  client_id=\"%s\"\n", arg1 ? copyinstr(arg1) : "");
    printf("  statement=0x%p\n", (void *)arg2);
    printf("  mode=0x%x\n", arg3);
}

This script uses the -Z option to dtrace, allowing it to be run when there is no PHP process executing. If this option were omitted the script would immediately terminate when no PHP executable was running because it knows none of the probes to be monitored are in existence.

On multi-CPU machines the probe ordering might not appear to be sequential. This depends on which CPU was processing the probes, and how threads migrate across CPUs. Displaying probe time stamps helps reduce confusion.

The script traces all user-level PHP OCI8 static probe points throughout the duration of a running PHP script. Run the D script:

# ./user_oci8_probes.d

Run a PHP script or application. The monitoring D script will output each probe's arguments as it fires. For example, a simple PHP script that queries a table might produce the following trace output:

1381794982092854582: PHP connect-entry
  credentials="hr@localhost/pdborcl"
  charset=""
  session_mode=0
  persistent=0
  exclusive=0
1381794982183158766: PHP oci8-connect-return
  connection=0x7f4a7907bfb8
1381794982183594576: PHP oci8-sqltext
  connection=0x7f4a7907bfb8
  client_id="Chris"
  statement=0x7f4a7907c2a0
  sql="select * from employees"
1381794982183783706: PHP oci8-execute-mode
  connection=0x7f4a7907bfb8
  client_id="Chris"
  statement=0x7f4a7907c2a0
  mode=0x20
1381794982444344390: PHP oci8-connect-close
  connection=0x7f4a7907bfb8

When monitoring is complete, the D script can be terminated with a ^C.

See Also

  • DTrace Dynamic Tracing
OCI8 Fast Application Notification (FAN) Support
Supported Datatypes
OCI8


Supported Datatypes

The driver supports the following types when binding parameters using the oci_bind_by_name() function:
Type | Mapping
SQLT_NTY | Maps a native collection type from a PHP collection object, such as those created by oci_new_collection().
SQLT_BFILEE | Maps a native descriptor, such as those created by oci_new_descriptor().
SQLT_CFILEE | Maps a native descriptor, such as those created by oci_new_descriptor().
SQLT_CLOB | Maps a native descriptor, such as those created by oci_new_descriptor().
SQLT_BLOB | Maps a native descriptor, such as those created by oci_new_descriptor().
SQLT_RDD | Maps a native descriptor, such as those created by oci_new_descriptor().
SQLT_NUM | Converts the PHP parameter to a 'C' long type, and binds to that value.
SQLT_RSET | Maps a native statement handle, such as those created by oci_parse() or those retrieved from other OCI queries.
SQLT_BOL | Bind the PHP parameter to a PL/SQL BOOLEAN
SQLT_CHR and any other type | Converts the PHP parameter to a string type and binds as a string.
The following types are supported when retrieving columns from a result set:
Type | Mapping
SQLT_RSET | Creates an oci statement resource to represent the cursor.
SQLT_RDD | Creates a ROWID object.
SQLT_BLOB | Creates a LOB object.
SQLT_CLOB | Creates a LOB object.
SQLT_BFILE | Creates a LOB object.
SQLT_LNG | Bound as SQLT_CHR, returned as a string
SQLT_LBI | Bound as SQLT_BIN, returned as a string
Any other type | Bound as SQLT_CHR, returned as a string
OCI8 and DTrace Dynamic Tracing
OCI8 Funktionen
OCI8


OCI8 Funktionen

Inhaltsverzeichnis

  • oci_bind_array_by_name — Bindet ein PHP-Array namentlich an ein Oracle-PL/SQL-Array
  • oci_bind_by_name — Bindet eine PHP-Variable an einen Oracle Platzhalter
  • oci_cancel — Bricht das Lesen eines Zeigers ab
  • oci_client_version — Returns the Oracle client library version
  • oci_close — Schließt eine Oracle-Verbindung
  • oci_commit — Commits the outstanding database transaction
  • oci_connect — Connect to an Oracle database
  • oci_define_by_name — Associates a PHP variable with a column for query fetches
  • oci_error — Liefert den letzten Fehler
  • oci_execute — Executes a statement
  • oci_fetch_all — Holt alle Reihen der Ergebnisdaten in ein Array
  • oci_fetch_array — Liefert die nächste Zeile der Ergebnisdaten als assoziatives und/oder numerisches Array
  • oci_fetch_assoc — Liefert die nächste Zeile der Ergebnisdaten als assoziatives Array
  • oci_fetch_object — Liefert die nächste Zeile der Ergebnisdaten als Objekt
  • oci_fetch_row — Liefert die nächste Zeile der Ergebnisdaten als numerisches Array
  • oci_fetch — Holt die nächste Reihe in den Ergebnispuffer
  • oci_field_is_null — Checks if a field in the currently fetched row is NULL
  • oci_field_name — Returns the name of a field from the statement
  • oci_field_precision — Tell the precision of a field
  • oci_field_scale — Tell the scale of the field
  • oci_field_size — Returns field's size
  • oci_field_type_raw — Tell the raw Oracle data type of the field
  • oci_field_type — Returns a field's data type name
  • oci_free_descriptor — Frees a descriptor
  • oci_free_statement — Gibt alle verknüpften Ressourcen eines Statements oder Zeigers frei.
  • oci_get_implicit_resultset — Returns the next child statement resource from a parent statement resource that has Oracle Database 12c Implicit Result Sets
  • oci_internal_debug — Enables or disables internal debug output
  • oci_lob_copy — Copies large object
  • oci_lob_is_equal — Compares two LOB/FILE locators for equality
  • oci_new_collection — Allocates new collection object
  • oci_new_connect — Connect to the Oracle server using a unique connection
  • oci_new_cursor — Allocates and returns a new cursor (statement handle)
  • oci_new_descriptor — Initializes a new empty LOB or FILE descriptor
  • oci_num_fields — Returns the number of result columns in a statement
  • oci_num_rows — Returns number of rows affected during statement execution
  • oci_parse — Prepares an Oracle statement for execution
  • oci_password_change — Changes password of Oracle's user
  • oci_pconnect — Connect to an Oracle database using a persistent connection
  • oci_result — Returns field's value from the fetched row
  • oci_rollback — Rolls back the outstanding database transaction
  • oci_server_version — Returns the Oracle Database version
  • oci_set_action — Sets the action name
  • oci_set_client_identifier — Sets the client identifier
  • oci_set_client_info — Sets the client information
  • oci_set_edition — Sets the database edition
  • oci_set_module_name — Sets the module name
  • oci_set_prefetch — Sets number of rows to be prefetched by queries
  • oci_statement_type — Returns the type of a statement
Supported Datatypes
oci_bind_array_by_name
OCI8


Bindet ein PHP-Array namentlich an ein Oracle-PL/SQL-Array

OCI8 Funktionen
oci_bind_by_name
OCI8 Funktionen
PHP Manual

oci_bind_array_by_name

(PHP 5 >= 5.1.2, PHP 7, PECL OCI8 >= 1.2.0)

oci_bind_array_by_name — Bindet ein PHP-Array namentlich an ein Oracle-PL/SQL-Array

Beschreibung

bool oci_bind_array_by_name ( resource $statement , string $name , array &$var_array , int $max_table_length [, int $max_item_length = -1 [, int $type = SQLT_AFC ]] )

Bindet die PHP-Variable var_array an den Oracle-Platzhalter name, der auf ein Oracle-PL/SQL-Array zeigt. Ob dieser zur Ein- oder Ausgabe genutzt wird, wird zur Laufzeit ermittelt.

Parameter-Liste

statement

Ein gültiger Zeiger auf ein OCI-Statement.

name

Der Oracle-Platzhalter.

var_array

Ein Array.

max_table_length

Setzt die maximale Länge sowohl für die Eingabe- als auch die Ergebnis-Arrays.

max_item_length

Setzt die maximale Länge für Array-Elemente. Wenn dieser nicht spezifiziert oder gleich -1 ist, sucht oci_bind_array_by_name() das längste Element im Eingabe-Array und nutzt dieses als maximale Länge der Array-Elemente.

type

Sollte benutzt werden, um den Typ der PL/SQL-Array-Elemente zu bestimmen. Siehe untenstehende Liste verfügbarer Typen.

  • SQLT_NUM - für NUMBER-Arrays.

  • SQLT_INT - für INTEGER-Arrays (beachte: INTEGER ist ein Synonym für NUMBER(38), aber der SQLT_NUM-Typ wird nicht funktionieren, obwohl es Synonyme sind).

  • SQLT_FLT - für FLOAT-Arrays.

  • SQLT_AFC - für CHAR-Arrays.

  • SQLT_CHR - für VARCHAR2-Arrays.

  • SQLT_VCS - für VARCHAR-Arrays.

  • SQLT_AVC - für CHARZ-Arrays.

  • SQLT_STR - für STRING-Arrays.

  • SQLT_LVC - für LONG-VARCHAR-Arrays.

  • SQLT_ODT - für DATE-Arrays.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 oci_bind_array_by_name() Beispiel

<?php

$c = oci_connect("scott", "tiger");

$create = "CREATE TABLE bind_beispiel(name VARCHAR(20))";
$statement = oci_parse($c, $create);
oci_execute($statement);

$create_pkg = "
CREATE OR REPLACE PACKAGE ARRAYBINDPKG1 AS
  TYPE ARRTYPE IS TABLE OF VARCHAR(20) INDEX BY BINARY_INTEGER;
  PROCEDURE iobind(c1 IN OUT ARRTYPE);
END ARRAYBINDPKG1;";
$statement = oci_parse($c, $create_pkg);
oci_execute($statement);

$create_pkg_body = "
CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS
  CURSOR CUR IS SELECT name FROM bind_beispiel;
  PROCEDURE iobind(c1 IN OUT ARRTYPE) IS
    BEGIN
    FOR i IN 1..5 LOOP
      INSERT INTO bind_beispiel VALUES (c1(i));
    END LOOP;
    IF NOT CUR%ISOPEN THEN
      OPEN CUR;
    END IF;
    FOR i IN REVERSE 1..5 LOOP
      FETCH CUR INTO c1(i);
      IF CUR%NOTFOUND THEN
        CLOSE CUR;
        EXIT;
      END IF;
    END LOOP;
  END iobind;
END ARRAYBINDPKG1;";
$statement = oci_parse($c, $create_pkg_body);
oci_execute($statement);

$statement = oci_parse($c, "BEGIN ARRAYBINDPKG1.iobind(:c1); END;");

$array = array("eins", "zwei", "drei", "vier", "fuenf");

oci_bind_array_by_name($statement, ":c1", $array, 5, -1, SQLT_CHR);

oci_execute($statement);

var_dump($array);

 ?>

Anmerkungen

Hinweis:

Diese Funktion is seit dem OCI8-Release 1.2 verfügbar.

OCI8 Funktionen
oci_bind_by_name
OCI8 Funktionen


Bindet eine PHP-Variable an einen Oracle Platzhalter

oci_bind_array_by_name
oci_cancel
OCI8 Funktionen
PHP Manual

oci_bind_by_name

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_bind_by_name — Bindet eine PHP-Variable an einen Oracle Platzhalter

Beschreibung

bool oci_bind_by_name ( resource $statement , string $ph_name , mixed &$variable [, int $maxlength = -1 [, int $type = SQLT_CHR ]] )

Bindet die PHP-Variable variable an den Oracle-Platzhalter ph_name. Ob dieser zur Ein- oder Ausgabe genutzt wird, wird zur Laufzeit ermittelt und der benötigte Speicherplatz reserviert.

Parameter-Liste

statement

Ein OCI-Statement.

ph_name

Ein Platzhalter.

variable

Die PHP-Variable.

maxlength

Setzt die maximale Größe des Binds. Wenn dieser Wert auf -1 gesetzt wird, nimmt die Funktion die aktuelle Größe von variable und setzt diesen Wert als maximale Grösse.

type

Wenn ein abstrakter Datentyp wie (LOB/ROWID/BFILE) gebunden werden soll, muss zuerst oci_new_descriptor() verwendet werden. length gilt nicht für abstrakte Datentypen und sollte dann auf -1 gesetzt sein. type zeigt Oracle, welchen Typ wir binden wollen. Als Standardwert wird SQLT_CHR verwendet. Mögliche Typen sind:

  • SQLT_FILE - für BFILEs (Binärdatei);

  • SQLT_CFILE - für CFILEs (Textdatei);

  • SQLT_CLOB - für CLOBs (Text-LOB);

  • SQLT_BLOB - für BLOBs (Binär-LOB);

  • SQLT_RDD - für ROWIDs;

  • SQLT_NTY - für benamte Datentypen;

  • SQLT_INT - für INTEGERs;

  • SQLT_CHR - für VARCHARs;

  • SQLT_BIN - für RAW-Spalten;

  • SQLT_LNG - für LONG-Spalten;

  • SQLT_LBI - für LONG-RAW-Spalten;

  • SQLT_RSET - für Zeiger, die zuvor mit oci_new_cursor() generiert wurden.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 oci_bind_by_name()-Beispiel

<?php
/* oci_bind_by_name Beispiel thies at thieso dot net (980221)
  fügt 3 Datensätze in emp ein und benutzt ROWID, um die Datensätze
  direkt nach dem Einfügen zu ändern.
*/

$conn = oci_connect("scott", "tiger");

$stmt = oci_parse($conn, "
                          INSERT INTO
                                     emp (empno, ename)
                                              VALUES
                                     (:empno,:ename)
                            RETURNING
                                     ROWID
                                 INTO
                                     :rid
                                         ");

$data = array(
              1111 => "Larry",
              2222 => "Bill",
              3333 => "Jim"
             );

$rowid = oci_new_descriptor($conn, OCI_D_ROWID);

oci_bind_by_name($stmt, ":empno", $empno, 32);
oci_bind_by_name($stmt, ":ename", $ename, 32);
oci_bind_by_name($stmt, ":rid",   $rowid, -1, OCI_B_ROWID);

$update = oci_parse($conn, "
                            UPDATE
                                  emp
                               SET
                                  sal = :sal
                             WHERE
                                  ROWID = :rid
                             ");
oci_bind_by_name($update, ":rid", $rowid, -1, OCI_B_ROWID);
oci_bind_by_name($update, ":sal", $sal,   32);

$sal = 10000;

foreach ($data as $empno => $ename) {
    oci_execute($stmt);
    oci_execute($update);
}

$rowid->free();

oci_free_statement($update);
oci_free_statement($stmt);

$stmt = oci_parse($conn, "
                          SELECT
                                *
                            FROM
                                emp
                           WHERE
                                empno
                              IN
                                (1111,2222,3333)
                              ");
oci_execute($stmt);

while ($row = oci_fetch_assoc($stmt)) {
    var_dump($row);
}

oci_free_statement($stmt);

/* löscht unseren "Müll" aus der Tabelle emp.... */
$stmt = oci_parse($conn, "
                          DELETE FROM
                                     emp
                                WHERE
                                     empno
                                   IN
                                     (1111,2222,3333)
                                   ");
oci_execute($stmt);
oci_free_statement($stmt);

oci_close($conn);
?>

Bedenken Sie, dass diese Funktion die nachfolgenden Leerzeichen abschneidet, wie das folgende Beispiel zeigt:

Beispiel #2 oci_bind_by_name()-Beispiel

<?php
    $connection = oci_connect('apelsin','kanistra');
    $query = "INSERT INTO test_table VALUES(:id, :text)";

    $statement = oci_parse($query);
    oci_bind_by_name($statement, ":id", 1);
    oci_bind_by_name($statement, ":text", "Leerzeichen folgen     ");
    oci_execute($statement);
    /*
     Dieser Code wird den String 'Leerzeichen folgen' ohne die
     nachfolgenden Leerzeichen in die DB einfügen.
    */
?>

Beispiel #3 oci_bind_by_name()-Beispiel

<?php
    $connection = oci_connect('apelsin','kanistra');
    $query = "INSERT INTO test_table VALUES(:id, 'Leerzeichen folgen      ')";

    $statement = oci_parse($query);
    oci_bind_by_name($statement, ":id", 1);
    oci_execute($statement);
    /*
     Und dieser Code wird 'Leerzeichen folgen      ' hinzufügen und
     dabei die Leerzeichen erhalten.
    */
?>

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Warnung

Benutze magic_quotes_gpc oder addslashes() und oci_bind_by_name() nicht gleichzeitig, da kein Escapen nötig ist und jedes magisch durchgeführte Escapen in die Datenbank geschrieben wird. oci_bind_by_name() kann die magisch hinzugefügte nicht von den absichtlich hinzugefügten Quotierung unterscheiden.

Hinweis:

In der PHP-Versionen vor 5.0.0 muss man ocibindbyname() benutzen. Den Namen kann man immer noch nutzen. Er wurde als Alias für oci_bind_by_name() für die Abwärtskompatibilität erhalten. Dieses ist allerdings veraltet und wird nicht empfohlen.

oci_bind_array_by_name
oci_cancel
OCI8 Funktionen


Bricht das Lesen eines Zeigers ab

oci_bind_by_name
oci_client_version
OCI8 Funktionen
PHP Manual

oci_cancel

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_cancel — Bricht das Lesen eines Zeigers ab

Beschreibung

bool oci_cancel ( resource $statement )

Annulliert einen Zeiger, gibt alle verknüpften Ressourcen frei und beendet die Möglichkeit von dem Zeiger zu lesen.

Parameter-Liste

statement

Ein OCI-Statement.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

oci_bind_by_name
oci_client_version
OCI8 Funktionen


Returns the Oracle client library version

oci_cancel
oci_close
OCI8 Funktionen
PHP Manual

oci_client_version

(PHP 5.3.7, PHP 7, PECL OCI8 >= 1.4.6)

oci_client_version — Returns the Oracle client library version

Beschreibung

string oci_client_version ( void )

Returns a string containing the version number of the Oracle C client library that PHP is linked with.

Parameter-Liste

None

Rückgabewerte

Returns the version number as a string.

Beispiele

Beispiel #1 oci_client_version() example

<?php
    echo "Client Version: " . oci_client_version(); // Client version: 11.2.0.2
?>

Anmerkungen

Hinweis:

Oracle libraries before 10gR2 do not have the underlying functionality to get the client library version number. The string "Unknown" will be returned in this case.

Siehe auch

  • oci_server_version() - Returns the Oracle Database version

oci_cancel
oci_close
OCI8 Funktionen


Schließt eine Oracle-Verbindung

oci_client_version
oci_commit
OCI8 Funktionen
PHP Manual

oci_close

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_close — Schließt eine Oracle-Verbindung

Beschreibung

bool oci_close ( resource $connection )

Hebt die connection auf. Die unterliegende Datenbank-Verbindung wird geschlossen, wenn sie von keinen anderen Ressourcen verwendet wird, und wenn sie mit oci_connect() oder oci_new_connect() erzeugt wurde.

Es wird empfohlen nicht mehr benötigte Verbindungen zu schließen, da dies Datenbankressourcen für andere Nutzer frei gibt.

Parameter-Liste

connection

Ein Zeiger auf eine Oracle-Verbindung, die durch oci_connect(), oci_pconnect() oder oci_new_connect() zurückgegeben wurde.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Schließen einer Verbindung

Ressourcen, die mit einer Verbindung assoziiert sind, sollten geschlossen werden, um sicher zu stellen, dass die unterliegende Datenbankverbindung ordnungsgemäß beendet wird, und die Datenbankressourcen frei gegeben werden.

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM departments');
$r = oci_execute($stid);
oci_fetch_all($stid, $res);
var_dump($res);

// Freigeben des Anweisungsbezeichners, wenn die Verbindung geschlossen wird
oci_free_statement($stid);
oci_close($conn);

?>

Beispiel #2 Datenbankverbindungen werden nicht geschlossen, bevor alle Referenzen geschlossen wurden

Der interne Referenzzähler eines Verbindungsbezeichners muss null (0) sein, bevor die unterliegende Verbindung zur Datenbank geschlossen wird.

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM departments');  // dies erhöht den Referenzzähler von $conn
oci_execute($stid);
oci_fetch_all($stid, $res);
var_dump($res);

oci_close($conn);

// $conn ist im Script nicht länger verwendbar, aber die unterliegende
// Datenbankverbindung wird solange offen gehalten bis $stid frei gegeben wird.
var_dump($conn);  // gibt NULL aus

// Während PHP schläft, zeigt das Abfragen der Oracle V$SESSION Ansicht in einem
// Terminal-Fenster, dass der Datenbanknutzer immer noch verbunden ist.
sleep(10);

// Wenn $stid frei gegegben wird, wird die Datenbankverbindung physikalisch geschlossen
oci_free_statement($stid);

// Während PHP schläft, zeigt das Abfragen der Oracle V$SESSION Ansicht in einem
// Terminal-Fenster, dass der Datenbanknutzer getrennt wurde
sleep(10);

?>

Beispiel #3 Schließen einer Verbindung, die mehr als einmal geöffnet wurde

Wenn Datenbankanmeldedaten wiederverwendet werden, müssen beide Verbindungen geschlossen werden, bevor die unterliegende Datenbankverbindung geschlossen wird.

<?php

$conn1 = oci_connect('hr', 'welcome', 'localhost/XE');

// Die Verwendung der selben Anmeldedaten benutzt die selbe unterliegende Datenbankverbindung nochmals
// Jegliche unbestätigten Änderungen, die auf $conn1 durchgeführt wurden, sind in $conn2 sichtbar
$conn2 = oci_connect('hr', 'welcome', 'localhost/XE');

// Während PHP schläft, zeigt das Abfragen der Oracle V$SESSION Ansicht in einem
// Terminal-Fenster, dass nur ein Datenbanknutzer verbunden ist.
sleep(10);

oci_close($conn1); // schließt nicht die unterliegende Datenbankverbindung
var_dump($conn1);  // gibt NULL aus, weil die Variable $conn1 nicht länger verwendbar ist
var_dump($conn2);  // zeigt an, dass $conn2 noch immer eine gültige Verbindungsressource ist

?>

Beispiel #4 Verbindungen werden geschlossen, wenn die Variablen den Geltungsbereich verlassen

Wenn alle Variablen, die eine Verbindung referenzieren, den Geltungsbereich verlassen und von PHP frei gegeben werden, erfolgt ein Rollback (falls nötig) und die unterliegende Verbindung zur Datenbank wird geschlossen.

<?php

function myfunc() {
    $conn = oci_connect('hr', 'hrpwd', 'localhost/XE');
    if (!$conn) {
        $e = oci_error();
        trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
    }

    $stid = oci_parse($conn, 'UPDATE mytab SET id = 100');
    oci_execute($stid, OCI_NO_AUTO_COMMIT);
    return "Beendet";
}

$r = myfunc();
// In diesem Moment erfolgte ein Rollback und die unterliegende Datenbankverbindung wurde frei gegeben.

print $r;  // zeigt den Funktionsrückgabewert "Beendet" an

?>

Anmerkungen

Hinweis:

Variablen, die eine Abhängigkeit vom Verbindungsbezeichner haben, wie von oci_parse() zurückgegebene Anweisungsbezeichner, müssen ebenfalls frei gegeben werden, bevor die unterliegende Datenbankverbindung geschlossen wird.

Hinweis:

Vor Version PHP 5.1.2 (PECL OCI8 1.1) hatte oci_close() keine Wirkung. In neueren Version schließt es korrekt die Oracle-Verbindung. oci8.old_oci_close_semantics kann verwendet werden, um das alte Verhalten dieser Funktion wieder herzustellen.

Hinweis:

Die oci_close() Funktion schließt nicht unterliegende Datenbankverbindungen, die mit oci_pconnect() erzeugt wurden.

Siehe auch

  • oci_connect() - Connect to an Oracle database
  • oci_free_statement() - Gibt alle verknüpften Ressourcen eines Statements oder Zeigers frei.

oci_client_version
oci_commit
OCI8 Funktionen


Commits the outstanding database transaction

oci_close
oci_connect
OCI8 Funktionen
PHP Manual

oci_commit

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_commit — Commits the outstanding database transaction

Beschreibung

bool oci_commit ( resource $connection )

Commits the outstanding transaction for the Oracle connection. A commit ends the current transaction and makes permanent all changes. It releases all locks held.

A transaction begins when the first SQL statement that changes data is executed with oci_execute() using the OCI_NO_AUTO_COMMIT flag. Further data changes made by other statements become part of the same transaction. Data changes made in a transaction are temporary until the transaction is committed or rolled back. Other users of the database will not see the changes until they are committed.

When inserting or updating data, using transactions is recommended for relational data consistency and for performance reasons.

Parameter-Liste

connection

An Oracle connection identifier, returned by oci_connect(), oci_pconnect(), or oci_new_connect().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 oci_commit() example

<?php

// Insert into several tables, rolling back the changes if an error occurs

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, "INSERT INTO mysalary (id, name) VALUES (1, 'Chris')");

// The OCI_NO_AUTO_COMMIT flag tells Oracle not to commit the INSERT immediately
// Use OCI_DEFAULT as the flag for PHP <= 5.3.1.  The two flags are equivalent
$r = oci_execute($stid, OCI_NO_AUTO_COMMIT);
if (!$r) {
    $e = oci_error($stid);
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, 'INSERT INTO myschedule (startday) VALUES (12)');
$r = oci_execute($stid, OCI_NO_AUTO_COMMIT);
if (!$r) {
    $e = oci_error($stid);
    oci_rollback($conn);  // rollback changes to both tables
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

// Commit the changes to both tables
$r = oci_commit($conn);
if (!$r) {
    $e = oci_error($conn);
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

?>

Anmerkungen

Hinweis:

Transactions are automatically rolled back when you close the connection, or when the script ends, whichever is soonest. You need to explicitly call oci_commit() to commit the transaction.

Any call to oci_execute() that uses OCI_COMMIT_ON_SUCCESS mode explicitly or by default will commit any previous uncommitted transaction.

Any Oracle DDL statement such as CREATE or DROP will automatically commit any uncommitted transaction.

Siehe auch

  • oci_execute() - Executes a statement
  • oci_rollback() - Rolls back the outstanding database transaction

oci_close
oci_connect
OCI8 Funktionen


Connect to an Oracle database

oci_commit
oci_define_by_name
OCI8 Funktionen
PHP Manual

oci_connect

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_connect — Connect to an Oracle database

Beschreibung

resource oci_connect ( string $username , string $password [, string $connection_string [, string $character_set [, int $session_mode ]]] )

Returns a connection identifier needed for most other OCI8 operations.

See Connection Handling for general information on connection management and connection pooling.

From PHP 5.1.2 (PECL OCI8 1.1) oci_close() can be used to close the connection.

The second and subsequent calls to oci_connect() with the same parameters will return the connection handle returned from the first call. This means that transactions in one handle are also in the other handles, because they use the same underlying database connection. If two handles need to be transactionally isolated from each other, use oci_new_connect() instead.

Parameter-Liste

username

The Oracle user name.

password

The password for username.

connection_string

Beinhaltet die Oracle-Instanz, mit der verbunden werden soll. Dies kann eine » Easy Connect Zeichenkette, ein Connect-Name aus der Datei tnsnames.ora oder der Name einer lokalen Oracle-Instanz sein.

Wenn dies nicht angegebe wird, verwendet PHP Umgebungsvariablen wie TWO_TASK (unter Linux), LOCAL (unter Windows) oder ORACLE_SID um die Oracle-Instanz mit der verbunden werden soll zu ermitteln.

Um die benannte Easy Connect Methode zu verwenden, muss PHP gegen die Clientbibliotheken von Oracle 10g oder höher gelinkt sein. Die Easy Connect Zeichenfolge für Oracle 10g hat den Aufbau: [//]host_name[:port][/service_name]. Für Oracle 11g ist die Syntax: [//]host_name[:port][/service_name][:server_type][/instance_name]. Service name kann bestimmt werden, indem man das Oracle-Hilfswerkzeug lsnrctl status auf dem Datenbankserver ausführt.

Die Datei tnsnames.ora kann sich im Oracle Net Suchpfad befinden, welcher $ORACLE_HOME/network/admin sowie /etc beinhaltet. Alternativ kann TNS_ADMIN auf einen Wert gesetzt werden, damit $TNS_ADMIN/tnsnames.ora gelesen wird. Es muss sichergestellt sein, dass der Webserver Leseberechtigung für die Datei besitzt.

character_set

Bestimmt den Zeichensatz, der von den Oracle Client Bibliotheken verwendet wird. Dieser Zeichensatz muss nicht dem von der Datenbank verwendeten Zeichensatz entsprechen. Wenn diese nicht übereinstimmen, wird Oracle bestmöglich versuchen, die Daten in den Datenbankzeichensatz zu übersetzen. Abhängig von den Zeichensätzen kann dies zu unbrauchbaren Ergebnissen führen. Diese Konvertierung führt auch zu einem erhöhten Zeitbedarf.

Falls nicht angegeben, werden die Oracle Client Bibliotheken versuchen, den Zeichensatz aus der Umgebungsvariablen NLS_LANG auszulesen.

Die Übergabe dieses Parameters verringert die Zeit für den Verbindungsaufbau.

session_mode

Dieser Parameter ist seit PHP 5 (PECL OCI8 1.1) verfügbar und akzeptiert die folgenden Werte: OCI_DEFAULT, OCI_SYSOPER und OCI_SYSDBA. Falls entweder OCI_SYSOPER oder OCI_SYSDBA angegeben wurden wird diese Funktion versuchen die priviligierte Verbindung mit externen Credentials aufzubauen. Um diese einzuschalten muss man oci8.privileged_connect auf On setzen.

PHP 5.3 (PECL OCI8 1.3.4) hat den Wert OCI_CRED_EXT eingeführt. Dies konfiguriert Oracle dazu eine externe oder Os-Authentifizierung vorzunehmen, welche in der Datenbank konfiguriert werden muss. Der Schalter OCI_CRED_EXT kann nur mit dem Benutzernamen "/" und einem leeren Passwort verwendet werden. oci8.privileged_connect kann entweder On oder Off sein.

OCI_CRED_EXT kann mit OCI_SYSOPER oder OCI_SYSDBA kombiniert werden.

OCI_CRED_EXT ist auf Windows-Systemen aus sicherheitsgründen nicht unterstützt.

Rückgabewerte

Returns a connection identifier or FALSE on error.

Beispiele

Beispiel #1 Basic oci_connect() using Easy Connect syntax

<?php

// Connects to the XE service (i.e. database) on the "localhost" machine
$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM employees');
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;") . "</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

?>

Beispiel #2 Basic oci_connect() using a Network Connect name

<?php

// Connects to the MYDB database described in tnsnames.ora file,
// One example tnsnames.ora entry for MYDB could be:
//   MYDB =
//     (DESCRIPTION =
//       (ADDRESS = (PROTOCOL = TCP)(HOST = mymachine.oracle.com)(PORT = 1521))
//       (CONNECT_DATA =
//         (SERVER = DEDICATED)
//         (SERVICE_NAME = XE)
//       )
//     )

$conn = oci_connect('hr', 'welcome', 'MYDB');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM employees');
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;") . "</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

?>

Beispiel #3 oci_connect() with an explicit character set

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE', 'AL32UTF8');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM employees');
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;") . "</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

?>

Beispiel #4 Using multiple calls to oci_connect()

<?php

$c1 = oci_connect("hr", "welcome", 'localhost/XE');
$c2 = oci_connect("hr", "welcome", 'localhost/XE');

// Both $c1 and $c2 show the same PHP resource id meaning they use the
// same underlying database connection
echo "c1 is $c1<br>\n";
echo "c2 is $c2<br>\n";

function create_table($conn)
{
    $stmt = oci_parse($conn, "create table hallo (test varchar2(64))");
    oci_execute($stmt);
    echo "Created table<br>\n";
}

function drop_table($conn)
{
    $stmt = oci_parse($conn, "drop table hallo");
    oci_execute($stmt);
    echo "Dropped table<br>\n";
}

function insert_data($connname, $conn)
{
    $stmt = oci_parse($conn, "insert into hallo
              values(to_char(sysdate,'DD-MON-YY HH24:MI:SS'))");
    oci_execute($stmt, OCI_DEFAULT);
    echo "$connname inserted row without committing<br>\n";
}

function rollback($connname, $conn)
{
    oci_rollback($conn);
    echo "$connname rollback<br>\n";
}

function select_data($connname, $conn)
{
    $stmt = oci_parse($conn, "select * from hallo");
    oci_execute($stmt, OCI_DEFAULT);
    echo "$connname ----selecting<br>\n";
    while (oci_fetch($stmt)) {
        echo "    " . oci_result($stmt, "TEST") . "<br>\n";
    }
    echo "$connname ----done<br>\n";
}

create_table($c1);

insert_data('c1', $c1);   // Insert a row using c1
sleep(2);                 // sleep to show a different timestamp for the 2nd row
insert_data('c2', $c2);   // Insert a row using c2

select_data('c1', $c1);   // Results of both inserts are returned
select_data('c2', $c2);   // Results of both inserts are returned

rollback('c1', $c1);      // Rollback using c1

select_data('c1', $c1);   // Both inserts have been rolled back
select_data('c2', $c2);

drop_table($c1);

// Closing one of the connections makes the PHP variable unusable, but
// the other could be used
oci_close($c1);
echo "c1 is $c1<br>\n";
echo "c2 is $c2<br>\n";

// Output is:
//    c1 is Resource id #5
//    c2 is Resource id #5
//    Created table
//    c1 inserted row without committing
//    c2 inserted row without committing
//    c1 ----selecting
//        09-DEC-09 12:14:43
//        09-DEC-09 12:14:45
//    c1 ----done
//    c2 ----selecting
//        09-DEC-09 12:14:43
//        09-DEC-09 12:14:45
//    c2 ----done
//    c1 rollback
//    c1 ----selecting
//    c1 ----done
//    c2 ----selecting
//    c2 ----done
//    Dropped table
//    c1 is
//    c2 is Resource id #5

?>

Anmerkungen

Hinweis:

An incorrectly installed or configured OCI8 extension will often manifest itself as a connection problem or error. See Installing/Configuring for troubleshooting information.

Siehe auch

  • oci_pconnect() - Connect to an Oracle database using a persistent connection
  • oci_new_connect() - Connect to the Oracle server using a unique connection
  • oci_close() - Schließt eine Oracle-Verbindung

oci_commit
oci_define_by_name
OCI8 Funktionen


Associates a PHP variable with a column for query fetches

oci_connect
oci_error
OCI8 Funktionen
PHP Manual

oci_define_by_name

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_define_by_name — Associates a PHP variable with a column for query fetches

Beschreibung

bool oci_define_by_name ( resource $statement , string $column_name , mixed &$variable [, int $type = SQLT_CHR ] )

Associates a PHP variable with a column for query fetches using oci_fetch().

The oci_define_by_name() call must occur before executing oci_execute().

Parameter-Liste

statement

Der Identifizierer eines gültigen OCI8-Ausdrucks, der von oci_parse() erzeugt und von oci_execute() oder einem REF CURSOR-Ausdruck verwendet wird.

column_name

The column name used in the query.

Use uppercase for Oracle's default, non-case sensitive column names. Use the exact column name case for case-sensitive column names.

variable

The PHP variable that will contain the returned column value.

type

The data type to be returned. Generally not needed. Note that Oracle-style data conversions are not performed. For example, SQLT_INT will be ignored and the returned data type will still be SQLT_CHR.

You can optionally use oci_new_descriptor() to allocate LOB/ROWID/BFILE descriptors.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 oci_define_by_name() example

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'SELECT location_id, city FROM locations WHERE location_id < 1200';
$stid = oci_parse($conn, $sql);

// The defines MUST be done before executing
oci_define_by_name($stid, 'LOCATION_ID', $locid);
oci_define_by_name($stid, 'CITY', $city);

oci_execute($stid);

// Each fetch populates the previously defined variables with the next row's data
while (oci_fetch($stid)) {
    echo "Location id $locid is $city<br>\n";
}

// Displays:
//   Location id 1000 is Roma
//   Location id 1100 is Venice

oci_free_statement($stid);
oci_close($conn);

?>

Beispiel #2 oci_define_by_name() with case sensitive column names

<?php

/*
  Before running, create the table with a case sensitive column name:
    CREATE TABLE mytab (id NUMBER, "MyDescription" VARCHAR2(30));
    INSERT INTO mytab (id, "MyDescription") values (1, 'Iced Coffee');
    COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM mytab');

// Use uppercase for non case-sensitive column names
oci_define_by_name($stid, 'ID', $id);

// Use the exact case for case-sensitive column names
oci_define_by_name($stid, 'MyDescription', $mydesc);

oci_execute($stid);

while (oci_fetch($stid)) {
    echo "id $id is $mydesc<br>\n";
}

// Displays:
//   id 1 is Iced Coffee

oci_free_statement($stid);
oci_close($conn);

?>

Beispiel #3 oci_define_by_name() with LOB columns

<?php

/*
  Before running, create the table:
    CREATE TABLE mytab (id NUMBER, fruit CLOB);
    INSERT INTO mytab (id, fruit) values (1, 'apple');
    INSERT INTO mytab (id, fruit) values (2, 'orange');
    COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM mytab');

// The defines MUST be done before executing
oci_define_by_name($stid, 'ID', $id);
oci_define_by_name($stid, 'FRUIT', $fruit);  // $fruit will become a LOB descriptor

oci_execute($stid);

while (oci_fetch($stid)) {
    echo $id . " is " . $fruit->load(100) . "<br>\n";
}

// Displays:
//   1 is apple
//   2 is orange

$fruit->free();
oci_free_statement($stid);
oci_close($conn);

?>

Beispiel #4 oci_define_by_name() with an explicit type

<?php

/*
  Before running, create the table:
    CREATE TABLE mytab (id NUMBER, fruit CLOB);
    INSERT INTO mytab (id, fruit) values (1, 'apple');
    INSERT INTO mytab (id, fruit) values (2, 'orange');
    COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM mytab');

// The defines MUST be done before executing
oci_define_by_name($stid, 'ID', $id);

$fruit = oci_new_descriptor($conn, OCI_D_LOB);
oci_define_by_name($stid, 'FRUIT', $fruit, OCI_D_CLOB);

oci_execute($stid);

while (oci_fetch($stid)) {
    echo $id . " is " . $fruit->load(100) . "<br>\n";
}

// Displays:
//   1 is apple
//   2 is orange

$fruit->free();
oci_free_statement($stid);
oci_close($conn);

?>

Siehe auch

  • oci_fetch() - Holt die nächste Reihe in den Ergebnispuffer
  • oci_new_descriptor() - Initializes a new empty LOB or FILE descriptor

oci_connect
oci_error
OCI8 Funktionen


Liefert den letzten Fehler

oci_define_by_name
oci_execute
OCI8 Funktionen
PHP Manual

oci_error

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_error — Liefert den letzten Fehler

Beschreibung

array oci_error ([ resource $source ] )

Liefert den zuletzt gefundenen Fehler.

Parameter-Liste

source

Der Parameter ist, bei den meisten Fehlern, der am besten geeignete Ressourcen-Handler. Bei Verbindungsfehlern mit oci_connect(), oci_new_connect() oder oci_pconnect() keinen Parameter mitgeben.

Rückgabewerte

Wenn kein Fehler gefunden wurde, liefert oci_error() FALSE zurück. Ein Fehler wird von oci_error() als assoziatives Array zurückgegeben. In diesem Array enthält code den Oracle-Errorcode und message den Oracle-Fehlertext.

Changelog

Version | Beschreibung
4.3 | Im Rückgabe-Array sind nun offset und sqltext enthalten, die die Fehlerstelle anzeigen und den ursprünglichen SQL-Text, der den Fehler verusacht hat, beinhalten.

Beispiele

Beispiel #1 Zeigt die Oracle-Fehlermeldung nach einem Verbindungsfehler an

$conn = @oci_connect("scott", "tiger", "mydb");
if (!$conn) {
  $e = oci_error();   // Bei oci_connect-Fehler ohne Handler
  echo htmlentities($e['message']);
}

Beispiel #2 Zeigt die Oracle-Fehlermeldung nach einem Parse-Error an

$stmt = @oci_parse($conn, "select ' from dual");  // Fehlerhafte Quottierung
if (!$stmt) {
  $e = oci_error($conn);  // Bei oci_parse-Fehler mit Verbindungs-Handler
  echo htmlentities($e['message']);
}

Beispiel #3 Zeigt die Oracle-Fehlermeldung und das problematische Statement nach einem Ausführungsfehler

$r = oci_execute($stmt);
if (!$r) {
  $e = oci_error($stmt); // Bei oci_execute-Fehler mit Statement-Handle
  echo htmlentities($e['message']);
  echo "<pre>";
  echo htmlentities($e['sqltext']);
  printf("\n%".($e['offset']+1)."s", "^");
  echo "</pre>";
}

Anmerkungen

Hinweis:

In der PHP-Versionen vor 5.0.0 muss man ocierror() benutzen. Den Namen kann man immer noch nutzen. Er wurde als Alias für oci_error() für die Abwärtskompatibilität erhalten. Dieses ist allerdings veraltet und wird nicht empfohlen.

oci_define_by_name
oci_execute
OCI8 Funktionen


Executes a statement

oci_error
oci_fetch_all
OCI8 Funktionen
PHP Manual

oci_execute

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_execute — Executes a statement

Beschreibung

bool oci_execute ( resource $statement [, int $mode = OCI_COMMIT_ON_SUCCESS ] )

Executes a statement previously returned from oci_parse().

After execution, statements like INSERT will have data committed to the database by default. For statements like SELECT, execution performs the logic of the query. Query results can subsequently be fetched in PHP with functions like oci_fetch_array().

Each parsed statement may be executed multiple times, saving the cost of re-parsing. This is commonly used for INSERT statements when data is bound with oci_bind_by_name().

Parameter-Liste

statement

A valid OCI statement identifier.

mode

An optional second parameter can be one of the following constants:

Execution Modes
Constant | Description
OCI_COMMIT_ON_SUCCESS | Automatically commit all outstanding changes for this connection when the statement has succeeded. This is the default.
OCI_DESCRIBE_ONLY | Make query meta data available to functions like oci_field_name() but do not create a result set. Any subsequent fetch call such as oci_fetch_array() will fail.
OCI_NO_AUTO_COMMIT | Do not automatically commit changes. Prior to PHP 5.3.2 (PECL OCI8 1.4) use OCI_DEFAULT which is equivalent to OCI_NO_AUTO_COMMIT.

Using OCI_NO_AUTO_COMMIT mode starts or continues a transaction. Transactions are automatically rolled back when the connection is closed, or when the script ends. Explicitly call oci_commit() to commit a transaction, or oci_rollback() to abort it.

When inserting or updating data, using transactions is recommended for relational data consistency and for performance reasons.

If OCI_NO_AUTO_COMMIT mode is used for any statement including queries, and oci_commit() or oci_rollback() is not subsequently called, then OCI8 will perform a rollback at the end of the script even if no data was changed. To avoid an unnecessary rollback, many scripts do not use OCI_NO_AUTO_COMMIT mode for queries or PL/SQL. Be careful to ensure the appropriate transactional consistency for the application when using oci_execute() with different modes in the same script.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 oci_execute() for queries

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'SELECT * FROM employees');
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;") . "</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

?>

Beispiel #2 oci_execute() without specifying a mode example

<?php

// Before running, create the table:
//   CREATE TABLE MYTABLE (col1 NUMBER);

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'INSERT INTO mytab (col1) VALUES (123)');

oci_execute($stid); // The row is committed and immediately visible to other users

?>

Beispiel #3 oci_execute() with OCI_NO_AUTO_COMMIT example

<?php

// Before running, create the table:
//   CREATE TABLE MYTABLE (col1 NUMBER);

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'INSERT INTO mytab (col1) VALUES (:bv)');
oci_bind_by_name($stid, ':bv', $i, 10);
for ($i = 1; $i <= 5; ++$i) {
    oci_execute($stid, OCI_NO_AUTO_COMMIT);  // use OCI_DEFAULT for PHP <= 5.3.1
}
oci_commit($conn);  // commits all new values: 1, 2, 3, 4, 5

?>

Beispiel #4 oci_execute() with different commit modes example

<?php

// Before running, create the table:
//   CREATE TABLE MYTABLE (col1 NUMBER);

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'INSERT INTO mytab (col1) VALUES (123)');
oci_execute($stid, OCI_NO_AUTO_COMMIT);  // data not committed

$stid = oci_parse($conn, 'INSERT INTO mytab (col1) VALUES (456)');
oci_execute($stid);  // commits both 123 and 456 values

?>

Beispiel #5 oci_execute() with OCI_DESCRIBE_ONLY example

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'SELECT * FROM locations');
oci_execute($s, OCI_DESCRIBE_ONLY);
for ($i = 1; $i <= oci_num_fields($stid); ++$i) {
    echo oci_field_name($stid, $i) . "<br>\n";
}

?>

Anmerkungen

Hinweis:

Transactions are automatically rolled back when connections are closed, or when the script ends, whichever is soonest. Explicitly call oci_commit() to commit a transaction.

Any call to oci_execute() that uses OCI_COMMIT_ON_SUCCESS mode explicitly or by default will commit any previous uncommitted transaction.

Any Oracle DDL statement such as CREATE or DROP will automatically commit any uncommitted transaction.

Hinweis:

Because the oci_execute() function generally sends the statement to the database, oci_execute() can identify some statement syntax errors that the lightweight, local oci_parse() function does not.

Siehe auch

  • oci_parse() - Prepares an Oracle statement for execution

oci_error
oci_fetch_all
OCI8 Funktionen


Holt alle Reihen der Ergebnisdaten in ein Array

oci_execute
oci_fetch_array
OCI8 Funktionen
PHP Manual

oci_fetch_all

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_fetch_all — Holt alle Reihen der Ergebnisdaten in ein Array

Beschreibung

int oci_fetch_all ( resource $statement , array &$output [, int $skip = 0 [, int $maxrows = -1 [, int $flags = 0 ]]] )

Holt alle Reihen eines Ergebnisses in einem benutzerdefinierten Array.

Für Details zur vom OCI8-Treiber durchgeführten Umsetzung von Datentypen siehe die vom Treiber unterstützen Datentypen.

Parameter-Liste

statement

Ein Zeiger auf eine gültige OCI-Anweisung.

output

Hinweis: Diese Funktion setzt NULL-Felder auf den PHP Wert-NULL.

skip

Die Anzahl der zu ignorierenden Anfangszeilen beim Holen des Ergebnisses (Standardwert ist 0, um mit der ersten Zeile zu beginnen).

maxrows

Anzahl der zu lesenden Zeilen ab der skipten Zeile (Standard ist -1, um alle Zeilen zu holen).

flags

Der Parameter flags kann eine beliebige Kombination aus dem folgenden Konstanten sein:

  • OCI_FETCHSTATEMENT_BY_ROW
  • OCI_FETCHSTATEMENT_BY_COLUMN (Standardwert)
  • OCI_NUM
  • OCI_ASSOC

Rückgabewerte

Liefert die Anzahl der abgerufenen Zeilen oder FALSE bei einem Fehler.

Beispiele

Beispiel #1 oci_fetch_all() Beispiel

<?php
/* oci_fetch_all example mbritton at verinet dot com (990624) */

$conn = oci_connect("scott", "tiger");

$stmt = oci_parse($conn, "select * from emp");

oci_execute($stmt);

$nrows = oci_fetch_all($stmt, $results);
if ($nrows > 0) {
   echo "<table border=\"1\">\n";
   echo "<tr>\n";
   foreach ($results as $key => $val) {
      echo "<th>$key</th>\n";
   }
   echo "</tr>\n";

   for ($i = 0; $i < $nrows; $i++) {
      echo "<tr>\n";
      foreach ($results as $data) {
         echo "<td>$data[$i]</td>\n";
      }
      echo "</tr>\n";
   }
   echo "</table>\n";
} else {
   echo "Keine Daten gefunden<br />\n";
}
echo "$nrows Einträge selektiert<br />\n";

oci_free_statement($stmt);
oci_close($conn);
?>

Anmerkungen

Hinweis:

In der PHP-Versionen vor 5.0.0 muss man ocifetchstatement() benutzen. Den Namen kann man immer noch nutzen. Er wurde als Alias für oci_fetch_all() für die Abwärtskompatibilität erhalten. Dieses ist allerdings veraltet und wird nicht empfohlen.

oci_execute
oci_fetch_array
OCI8 Funktionen


Liefert die nächste Zeile der Ergebnisdaten als assoziatives und/oder numerisches Array

oci_fetch_all
oci_fetch_assoc
OCI8 Funktionen
PHP Manual

oci_fetch_array

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_fetch_array — Liefert die nächste Zeile der Ergebnisdaten als assoziatives und/oder numerisches Array

Beschreibung

array oci_fetch_array ( resource $statement [, int $mode ] )

Liefert ein Array, welches mit der nächsten Ergebniszeile übereinstimmt.

Für Details zur vom OCI8-Treiber durchgeführten Umsetzung von Datentypen siehe die vom Treiber unterstützen Datentypen.

Es sollte hier noch erwähnt sein, das oci_fetch_array() nur unwesentlich langsamer als oci_fetch_row(), dafür aber viel handlicher ist.

Parameter-Liste

statement

Ein Zeiger auf eine gültige OCI-Anweisung.

mode

Der optionale zweite Parameter kann eine beliebige Kombination aus dem folgenden Konstanten sein:

  • OCI_BOTH - liefert ein Array sowohl mit assoziativen als auch numerischem Index (gleichzusetzen mit OCI_ASSOC + OCI_NUM). Dieses ist das Standardverhalten.
  • OCI_ASSOC - liefert ein assiziatives Array (funktioniert wie oci_fetch_assoc()).
  • OCI_NUM - liefert ein indiziertes Array (funktioniert wie oci_fetch_row()).
  • OCI_RETURN_NULLS - erstellt leere Elemente für NULL-Felder.
  • OCI_RETURN_LOBS - liefert den Wert eines LOB-Deskriptors.
Standard für mode ist OCI_BOTH.

Rückgabewerte

Liefert ein Array sowohl mit assoziativem wie numerischem Index oder FALSE, wenn es keine weiteren Zeilen für das statement gibt.

Hinweis: Diese Funktion setzt NULL-Felder auf den PHP Wert-NULL.

Hinweis: Oracle liefert alle Feldnamen in Großschrift zurück, daher sind auch die assoziativen Indizes im Ergebnisarray in Großschrift.

Beispiele

Beispiel #1 oci_fetch_array() mit OCI_BOTH-Beispiel

<?php
$connection = oci_connect("apelsin", "kanistra");

$query = "SELECT id, name FROM fruechte";

$statement = oci_parse ($connection, $query);
oci_execute ($statement);

while ($row = oci_fetch_array ($statement, OCI_BOTH)) {
    echo $row[0]." und ".$row['ID']." ist gleich<br>";
    echo $row[1]." und ".$row['NAME']." ist gleich<br>";
}
?>

Beispiel #2 oci_fetch_array() mit OCI_NUM-Beispiel

<?php
$connection = oci_connect("user", "password");

$query = "SELECT id, name, lob_field FROM fruechte";

$statement = oci_parse ($connection, $query);
oci_execute ($statement);

while ($row = oci_fetch_array ($statement, OCI_NUM)) {
    echo $row[0]."<br>";
    echo $row[1]."<br>";
    echo $row[2]->read(100)."<br>";  // dies gibt die ersten 100 Bytes des LOBs aus
}
?>

Beispiel #3 oci_fetch_array() mit OCI_ASSOC-Beispiel

<?php
$connection = oci_connect("user", "password");

$query = "SELECT id, name, lob_field FROM fruechte";

$statement = oci_parse ($connection, $query);
oci_execute ($statement);

while ($row = oci_fetch_array ($statement, OCI_ASSOC)) {
    echo $row['ID']."<br>";
    echo $row['NAME']."<br>";
    echo $row['LOB_FIELD']."<br>";  // dies gibt "Object id #1" aus
}
?>

Beispiel #4 oci_fetch_array() mit OCI_RETURN_LOBS-Beispiel

<?php
$connection = oci_connect("user", "password");

$query = "SELECT id, name, lob_field FROM fruechte";

$statement = oci_parse ($connection, $query);
oci_execute ($statement);

while ($row = oci_fetch_array ($statement, (OCI_NUM+OCI_RETURN_LOBS))) {
    echo $row[0]."<br>";
    echo $row[1]."<br>";
    echo $row['LOB_FIELD']."<br>";  // dies gibt den Inhalt des LOBs aus
}
?>

Siehe auch

  • oci_fetch_assoc() - Liefert die nächste Zeile der Ergebnisdaten als assoziatives Array
  • oci_fetch_object() - Liefert die nächste Zeile der Ergebnisdaten als Objekt
  • oci_fetch_row() - Liefert die nächste Zeile der Ergebnisdaten als numerisches Array
  • oci_fetch_all() - Holt alle Reihen der Ergebnisdaten in ein Array

oci_fetch_all
oci_fetch_assoc
OCI8 Funktionen


Liefert die nächste Zeile der Ergebnisdaten als assoziatives Array

oci_fetch_array
oci_fetch_object
OCI8 Funktionen
PHP Manual

oci_fetch_assoc

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_fetch_assoc — Liefert die nächste Zeile der Ergebnisdaten als assoziatives Array

Beschreibung

array oci_fetch_assoc ( resource $statement )

Liefert die nächste Zeile der Ergebnisdaten als assoziatives Array.

Ein oci_fetch_assoc()-Aufruf ist identisch mit einem oci_fetch_array()-Aufruf und OCI_ASSOC.

Ein nachfolgender Aufruf von oci_fetch_assoc() liefert die nächste Zeile oder FALSE, wenn es keine weiteren Zeilen gibt.

Für Details zur vom OCI8-Treiber durchgeführten Umsetzung von Datentypen siehe die vom Treiber unterstützen Datentypen.

Parameter-Liste

statement

Ein gültiger Zeiger auf ein OCI-Statement.

Rückgabewerte

Liefert ein assoziatives Array oder FALSE, wenn es keine weiteren Zeilen für das statement gibt.

Hinweis: Diese Funktion setzt NULL-Felder auf den PHP Wert-NULL.

Hinweis: Oracle liefert alle Feldnamen in Großschrift zurück und deswegen sind auch die assoziativen Indizes im Ergebnisarray in Großschrift.

Siehe auch

  • oci_fetch_array() - Liefert die nächste Zeile der Ergebnisdaten als assoziatives und/oder numerisches Array
  • oci_fetch_object() - Liefert die nächste Zeile der Ergebnisdaten als Objekt
  • oci_fetch_row() - Liefert die nächste Zeile der Ergebnisdaten als numerisches Array
  • oci_fetch_all() - Holt alle Reihen der Ergebnisdaten in ein Array

oci_fetch_array
oci_fetch_object
OCI8 Funktionen


Liefert die nächste Zeile der Ergebnisdaten als Objekt

oci_fetch_assoc
oci_fetch_row
OCI8 Funktionen
PHP Manual

oci_fetch_object

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_fetch_object — Liefert die nächste Zeile der Ergebnisdaten als Objekt

Beschreibung

object oci_fetch_object ( resource $statement )

Liefert die nächste Zeile der Ergebnisdaten als Objekt.

Ein nachfolgender Aufruf von oci_fetch_object() liefert die nächste Zeile des Ergebnisses oder FALSE, wenn es keine weiteren Zeilen gibt.

Für Details zur vom OCI8-Treiber durchgeführten Umsetzung von Datentypen siehe die vom Treiber unterstützen Datentypen.

Parameter-Liste

statement

Ein gültiger Zeiger auf ein OCI-Statement.

Rückgabewerte

Liefert ein Objekt, dessen Attribute mit den Feldern der Anweisung übereinstimmen, oder FALSE, wenn es keine weiteren Zeilen für das statement gibt.

Hinweis: Diese Funktion setzt NULL-Felder auf den PHP Wert-NULL.

Hinweis: Oracle liefert alle Feldnamen in Großschrift zurück und deswegen sind auch die Attribute im Ergebnisobjekt in Großschrift.

Siehe auch

  • oci_fetch_array() - Liefert die nächste Zeile der Ergebnisdaten als assoziatives und/oder numerisches Array
  • oci_fetch_assoc() - Liefert die nächste Zeile der Ergebnisdaten als assoziatives Array
  • oci_fetch_row() - Liefert die nächste Zeile der Ergebnisdaten als numerisches Array
  • oci_fetch_all() - Holt alle Reihen der Ergebnisdaten in ein Array

oci_fetch_assoc
oci_fetch_row
OCI8 Funktionen


Liefert die nächste Zeile der Ergebnisdaten als numerisches Array

oci_fetch_object
oci_fetch
OCI8 Funktionen
PHP Manual

oci_fetch_row

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_fetch_row — Liefert die nächste Zeile der Ergebnisdaten als numerisches Array

Beschreibung

array oci_fetch_row ( resource $statement )

Liefert die nächste Zeile der Ergebnisdaten als numerisches Array.

Ein oci_fetch_row()-Aufruf ist identisch mit einem oci_fetch_array()-Aufruf und OCI_NUM.

Ein nachfolgender Aufruf von oci_fetch_row() liefert die nächste Zeile oder FALSE, wenn es keine weiteren Zeilen gibt.

Für Details zur vom OCI8-Treiber durchgeführten Umsetzung von Datentypen siehe die vom Treiber unterstützen Datentypen.

Parameter-Liste

statement

Ein gültiger Zeiger auf ein OCI-Statement.

Rückgabewerte

Liefert ein indiziertes Array oder FALSE, wenn es keine weiteren Zeilen für das statement gibt.

Hinweis: Diese Funktion setzt NULL-Felder auf den PHP Wert-NULL.

Siehe auch

  • oci_fetch_array() - Liefert die nächste Zeile der Ergebnisdaten als assoziatives und/oder numerisches Array
  • oci_fetch_assoc() - Liefert die nächste Zeile der Ergebnisdaten als assoziatives Array
  • oci_fetch_object() - Liefert die nächste Zeile der Ergebnisdaten als Objekt
  • oci_fetch_all() - Holt alle Reihen der Ergebnisdaten in ein Array

oci_fetch_object
oci_fetch
OCI8 Funktionen


Holt die nächste Reihe in den Ergebnispuffer

oci_fetch_row
oci_field_is_null
OCI8 Funktionen
PHP Manual

oci_fetch

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_fetch — Holt die nächste Reihe in den Ergebnispuffer

Beschreibung

bool oci_fetch ( resource $statement )

Holt die nächste Reihe (bei SELECT-Anweisungen) in den internen Ergebnispuffer.

Für Details zur vom OCI8-Treiber durchgeführten Umsetzung von Datentypen siehe die vom Treiber unterstützen Datentypen.

Parameter-Liste

statement

Ein Zeiger auf eine gültige OCI-Anweisung.

Rückgabewerte

Gibt im Erfolgsfall TRUE zurück, FALSE wird zurückgegeben, wenn keine weiteren Zeilen mehr in statement vorhanden sind.

Anmerkungen

Hinweis:

In PHP-Versionen vor 5.0.0 muss man ocifetch() benutzen. Den Namen kann man immer noch nutzen. Er wurde als Alias für oci_fetch() für die Abwärtskompatibilität erhalten. Dieses ist allerdings veraltet und wird nicht empfohlen.

oci_fetch_row
oci_field_is_null
OCI8 Funktionen


Checks if a field in the currently fetched row is NULL

oci_fetch
oci_field_name
OCI8 Funktionen
PHP Manual

oci_field_is_null

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_field_is_null — Checks if a field in the currently fetched row is NULL

Beschreibung

bool oci_field_is_null ( resource $statement , mixed $field )

Checks if the given field from the current row of statement is NULL.

Parameter-Liste

statement

A valid OCI statement identifier.

field

Can be the field's index (1-based) or name.

Rückgabewerte

Returns TRUE if field is NULL, FALSE otherwise.

Beispiele

Beispiel #1 oci_field_name() example

<?php

// Create the table with:
//   CREATE TABLE mytab (c1 NUMBER);
//   INSERT INTO mytab VALUES (1);
//   INSERT INTO mytab VALUES (NULL);

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, "SELECT * FROM mytab");
oci_execute($stid);

while (($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) != false) {
    $ncols = oci_num_fields($stid);
    for ($col = 1; $col <= $ncols; $col++) {
        var_dump(oci_field_is_null($stid, $col));
    }
}

// Outputs:
//    bool(false)
//    bool(true)

oci_free_statement($stid);
oci_close($conn);

?>

Anmerkungen

Hinweis:

In PHP versions before 5.0.0 you must use ocicolumnisnull() instead. This name still can be used, it was left as alias of oci_field_is_null() for downwards compatability. This, however, is deprecated and not recommended.

oci_fetch
oci_field_name
OCI8 Funktionen


Returns the name of a field from the statement

oci_field_is_null
oci_field_precision
OCI8 Funktionen
PHP Manual

oci_field_name

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_field_name — Returns the name of a field from the statement

Beschreibung

string oci_field_name ( resource $statement , mixed $field )

Returns the name of the field.

Parameter-Liste

statement

A valid OCI statement identifier.

field

Can be the field's index (1-based) or name.

Rückgabewerte

Returns the name as a string, or FALSE on errors.

Beispiele

Beispiel #1 oci_field_name() example

<?php

// Create the table with:
//   CREATE TABLE mytab (number_col NUMBER, varchar2_col varchar2(1),
//                       clob_col CLOB, date_col DATE);

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, "SELECT * FROM mytab");
oci_execute($stid, OCI_DESCRIBE_ONLY); // Use OCI_DESCRIBE_ONLY if not fetching rows

echo "<table border=\"1\">\n";
echo "<tr>";
echo "<th>Name</th>";
echo "<th>Type</th>";
echo "<th>Length</th>";
echo "</tr>\n";

$ncols = oci_num_fields($stid);

for ($i = 1; $i <= $ncols; $i++) {
    $column_name  = oci_field_name($stid, $i);
    $column_type  = oci_field_type($stid, $i);

    echo "<tr>";
    echo "<td>$column_name</td>";
    echo "<td>$column_type</td>";
    echo "</tr>\n";
}

echo "</table>\n";

// Outputs:
//    Name           Type
//    NUMBER_COL    NUMBER
//    VARCHAR2_COL  VARCHAR2
//    CLOB_COL      CLOB
//    DATE_COL      DATE

oci_free_statement($stid);
oci_close($conn);

?>

Anmerkungen

Hinweis:

In PHP versions before 5.0.0 you must use ocicolumnname() instead. This name still can be used, it was left as alias of oci_field_name() for downwards compatability. This, however, is deprecated and not recommended.

Siehe auch

  • oci_num_fields() - Returns the number of result columns in a statement
  • oci_field_type() - Returns a field's data type name
  • oci_field_size() - Returns field's size

oci_field_is_null
oci_field_precision
OCI8 Funktionen


Tell the precision of a field

oci_field_name
oci_field_scale
OCI8 Funktionen
PHP Manual

oci_field_precision

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_field_precision — Tell the precision of a field

Beschreibung

int oci_field_precision ( resource $statement , mixed $field )

Returns precision of the field.

For FLOAT columns, precision is nonzero and scale is -127. If precision is 0, then column is NUMBER. Else it's NUMBER(precision, scale).

Parameter-Liste

statement

A valid OCI statement identifier.

field

Can be the field's index (1-based) or name.

Rückgabewerte

Returns the precision as an integer, or FALSE on errors.

Beispiele

Beispiel #1 oci_field_precision() Example

<?php

// Create the table with:
//   CREATE TABLE mytab (c1 NUMBER, c2 FLOAT, c3 NUMBER(4), c4 NUMBER(5,3));

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, "SELECT * FROM mytab");
oci_execute($stid, OCI_DESCRIBE_ONLY); // Use OCI_DESCRIBE_ONLY if not fetching rows

$ncols = oci_num_fields($stid);
for ($i = 1; $i <= $ncols; $i++) {
    echo oci_field_name($stid, $i) . " "
        . oci_field_precision($stid, $i) . " "
        . oci_field_scale($stid, $i) . "<br>\n";
}

// Outputs:
//   C1    0 -127
//   C2  126 -127
//   C3    4    0
//   C4    5    3

oci_free_statement($stid);
oci_close($conn);

?>

Anmerkungen

Hinweis:

In PHP versions before 5.0.0 you must use ocicolumnprecision() instead. This name still can be used, it was left as alias of oci_field_precision() for downwards compatability. This, however, is deprecated and not recommended.

Siehe auch

  • oci_field_scale() - Tell the scale of the field
  • oci_field_type() - Returns a field's data type name

oci_field_name
oci_field_scale
OCI8 Funktionen


Tell the scale of the field

oci_field_precision
oci_field_size
OCI8 Funktionen
PHP Manual

oci_field_scale

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_field_scale — Tell the scale of the field

Beschreibung

int oci_field_scale ( resource $statement , mixed $field )

Returns the scale of the column with field index.

For FLOAT columns, precision is nonzero and scale is -127. If precision is 0, then column is NUMBER. Else it's NUMBER(precision, scale).

Parameter-Liste

statement

A valid OCI statement identifier.

field

Can be the field's index (1-based) or name.

Rückgabewerte

Returns the scale as an integer, or FALSE on errors.

Beispiele

Beispiel #1 oci_field_scale() Example

<?php

// Create the table with:
//   CREATE TABLE mytab (c1 NUMBER, c2 FLOAT, c3 NUMBER(4), c4 NUMBER(5,3));

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, "SELECT * FROM mytab");
oci_execute($stid, OCI_DESCRIBE_ONLY); // Use OCI_DESCRIBE_ONLY if not fetching rows

$ncols = oci_num_fields($stid);
for ($i = 1; $i <= $ncols; $i++) {
    echo oci_field_name($stid, $i) . " "
        . oci_field_precision($stid, $i) . " "
        . oci_field_scale($stid, $i) . "<br>\n";
}

// Outputs:
//   C1    0 -127
//   C2  126 -127
//   C3    4    0
//   C4    5    3

oci_free_statement($stid);
oci_close($conn);

?>

Anmerkungen

Hinweis:

In PHP versions before 5.0.0 you must use ocicolumnscale() instead. This name still can be used, it was left as alias of oci_field_scale() for downwards compatability. This, however, is deprecated and not recommended.

Siehe auch

  • oci_field_precision() - Tell the precision of a field
  • oci_field_type() - Returns a field's data type name

oci_field_precision
oci_field_size
OCI8 Funktionen


Returns field's size

oci_field_scale
oci_field_type_raw
OCI8 Funktionen
PHP Manual

oci_field_size

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_field_size — Returns field's size

Beschreibung

int oci_field_size ( resource $statement , mixed $field )

Returns the size of a field.

Parameter-Liste

statement

A valid OCI statement identifier.

field

Can be the field's index (1-based) or name.

Rückgabewerte

Returns the size of a field in bytes, or FALSE on errors.

Beispiele

Beispiel #1 oci_field_size() example

<?php

// Create the table with:
//   CREATE TABLE mytab (number_col NUMBER, varchar2_col varchar2(1),
//                       clob_col CLOB, date_col DATE);

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, "SELECT * FROM mytab");
oci_execute($stid, OCI_DESCRIBE_ONLY); // Use OCI_DESCRIBE_ONLY if not fetching rows

echo "<table border=\"1\">\n";
echo "<tr>";
echo "<th>Name</th>";
echo "<th>Type</th>";
echo "<th>Length</th>";
echo "</tr>\n";

$ncols = oci_num_fields($stid);

for ($i = 1; $i <= $ncols; $i++) {
    $column_name  = oci_field_name($stid, $i);
    $column_type  = oci_field_type($stid, $i);
    $column_size  = oci_field_size($stid, $i);

    echo "<tr>";
    echo "<td>$column_name</td>";
    echo "<td>$column_type</td>";
    echo "<td>$column_size</td>";
    echo "</tr>\n";
}

echo "</table>\n";

// Outputs:
//    Name           Type       Length
//    NUMBER_COL    NUMBER        22
//    VARCHAR2_COL  VARCHAR2       1
//    CLOB_COL      CLOB        4000
//    DATE_COL      DATE           7

oci_free_statement($stid);
oci_close($conn);

?>

Anmerkungen

Hinweis:

In PHP versions before 5.0.0 you must use ocicolumnsize() instead. This name still can be used, it was left as alias of oci_field_size() for downwards compatability. This, however, is deprecated and not recommended.

Siehe auch

  • oci_num_fields() - Returns the number of result columns in a statement
  • oci_field_name() - Returns the name of a field from the statement

oci_field_scale
oci_field_type_raw
OCI8 Funktionen


Tell the raw Oracle data type of the field

oci_field_size
oci_field_type
OCI8 Funktionen
PHP Manual

oci_field_type_raw

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_field_type_raw — Tell the raw Oracle data type of the field

Beschreibung

int oci_field_type_raw ( resource $statement , mixed $field )

Returns Oracle's raw "SQLT" data type of the field.

If you want a field's type name, then use oci_field_type() instead.

Parameter-Liste

statement

A valid OCI statement identifier.

field

Can be the field's index (1-based) or name.

Rückgabewerte

Returns Oracle's raw data type as a number, or FALSE on errors.

Beispiele

Beispiel #1 oci_field_type_raw() Example

<?php

// Create the table with:
//   CREATE TABLE mytab (number_col NUMBER, varchar2_col varchar2(1), clob_col CLOB, date_col DATE);

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, 'select * from mytab');
oci_execute($stid, OCI_DESCRIBE_ONLY);  // Use OCI_DESCRIBE_ONLY if not fetching rows
$n = oci_num_fields($stid);
for ($i = 1; $i <= $n; ++$i) {
    echo oci_field_name($stid, $i) . " is raw type: " . oci_field_type_raw($stid, $i) . "<br>\n";
}

// Output is:
//    NUMBER_COL is raw type: 2
//    VARCHAR2_COL is raw type: 1
//    CLOB_COL is raw type: 112
//    DATE_COL is raw type: 12

oci_free_statement($stid);
oci_close($conn);

?>

Anmerkungen

Hinweis:

In PHP versions before 5.0.0 you must use ocicolumntyperaw() instead. This name still can be used, it was left as alias of oci_field_type_raw() for downwards compatability. This, however, is deprecated and not recommended.

oci_field_size
oci_field_type
OCI8 Funktionen


Returns a field's data type name

oci_field_type_raw
oci_free_descriptor
OCI8 Funktionen
PHP Manual

oci_field_type

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_field_type — Returns a field's data type name

Beschreibung

mixed oci_field_type ( resource $statement , mixed $field )

Returns a field's data type name.

Parameter-Liste

statement

A valid OCI statement identifier.

field

Can be the field's index (1-based) or name.

Rückgabewerte

Returns the field data type as a string, or FALSE on errors.

Beispiele

Beispiel #1 oci_field_type() example

<?php

// Create the table with:
//   CREATE TABLE mytab (number_col NUMBER, varchar2_col varchar2(1),
//                       clob_col CLOB, date_col DATE);

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, "SELECT * FROM mytab");
oci_execute($stid, OCI_DESCRIBE_ONLY); // Use OCI_DESCRIBE_ONLY if not fetching rows

echo "<table border=\"1\">\n";
echo "<tr>";
echo "<th>Name</th>";
echo "<th>Type</th>";
echo "<th>Length</th>";
echo "</tr>\n";

$ncols = oci_num_fields($stid);

for ($i = 1; $i <= $ncols; $i++) {
    $column_name  = oci_field_name($stid, $i);
    $column_type  = oci_field_type($stid, $i);
    $column_size  = oci_field_size($stid, $i);

    echo "<tr>";
    echo "<td>$column_name</td>";
    echo "<td>$column_type</td>";
    echo "<td>$column_size</td>";
    echo "</tr>\n";
}

echo "</table>\n";

// Outputs:
//    Name           Type       Length
//    NUMBER_COL    NUMBER        22
//    VARCHAR2_COL  VARCHAR2       1
//    CLOB_COL      CLOB        4000
//    DATE_COL      DATE           7

oci_free_statement($stid);
oci_close($conn);

?>

Anmerkungen

Hinweis:

In PHP versions before 5.0.0 you must use ocicolumntype() instead. This name still can be used, it was left as alias of oci_field_type() for downwards compatability. This, however, is deprecated and not recommended.

Siehe auch

  • oci_num_fields() - Returns the number of result columns in a statement
  • oci_field_name() - Returns the name of a field from the statement
  • oci_field_size() - Returns field's size

oci_field_type_raw
oci_free_descriptor
OCI8 Funktionen


Frees a descriptor

oci_field_type
oci_free_statement
OCI8 Funktionen
PHP Manual

oci_free_descriptor

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_free_descriptor — Frees a descriptor

Beschreibung

bool oci_free_descriptor ( resource $descriptor )

Frees a descriptor allocated by oci_new_descriptor().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Hinweis:

This function is commonly used as a method OCI-LOB::free.

Siehe auch

  • OCI-LOB::free

oci_field_type
oci_free_statement
OCI8 Funktionen


Gibt alle verknüpften Ressourcen eines Statements oder Zeigers frei.

oci_free_descriptor
oci_get_implicit_resultset
OCI8 Funktionen
PHP Manual

oci_free_statement

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_free_statement — Gibt alle verknüpften Ressourcen eines Statements oder Zeigers frei.

Beschreibung

bool oci_free_statement ( resource $statement )

Gibt alle verknüpften Ressourcen eines Oracle-Statements oder -Zeigers frei, die durch das Ergebnis von oci_parse() zugewiesen oder von Oracle eingeholt wurden.

Parameter-Liste

statement

Ein gültiger Zeiger auf ein OCI-Statement.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

oci_free_descriptor
oci_get_implicit_resultset
OCI8 Funktionen


Returns the next child statement resource from a parent statement resource that has Oracle Database 12c Implicit Result Sets

oci_free_statement
oci_internal_debug
OCI8 Funktionen
PHP Manual

oci_get_implicit_resultset

(PECL OCI8 >= 2.0.0)

oci_get_implicit_resultset — Returns the next child statement resource from a parent statement resource that has Oracle Database 12c Implicit Result Sets

Beschreibung

resource oci_get_implicit_resultset ( resource $statement )

Used to fetch consectutive sets of query results after the execution of a stored or anonymous Oracle PL/SQL block where that block returns query results with Oracle's DBMS_SQL.RETURN_RESULT PL/SQL function. This allows PL/SQL blocks to easily return query results.

The child statement can be used with any of the OCI8 fetching
functions: oci_fetch(), oci_fetch_all(),
oci_fetch_array(), oci_fetch_object(),
oci_fetch_assoc() or oci_fetch_row()

Child statements inherit their parent statement's prefetch value, or it can be explicitly set with oci_set_prefetch().

Parameter-Liste

statement

A valid OCI8 statement identifier created by oci_parse() and executed by oci_execute(). The statement identifier may or may not be associated with a SQL statement that returns Implicit Result Sets.

Rückgabewerte

Returns a statement handle for the next child statement available on statement. Returns FALSE when child statements do not exist, or all child statements have been returned by previous calls to oci_get_implicit_resultset().

Beispiele

Beispiel #1 Fetching Implicit Result Sets in a loop

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/pdborcl');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'DECLARE
            c1 SYS_REFCURSOR;
        BEGIN
           OPEN c1 FOR SELECT city, postal_code FROM locations WHERE ROWNUM < 4 ORDER BY city;
           DBMS_SQL.RETURN_RESULT(c1);
           OPEN c1 FOR SELECT country_id FROM locations WHERE ROWNUM < 4 ORDER BY city;
           DBMS_SQL.RETURN_RESULT(c1);
        END;';

$stid = oci_parse($conn, $sql);
oci_execute($stid);

while (($stid_c = oci_get_implicit_resultset($stid))) {
    echo "<h2>New Implicit Result Set:</h2>\n";
    echo "<table>\n";
    while (($row = oci_fetch_array($stid_c, OCI_ASSOC+OCI_RETURN_NULLS)) != false) {
        echo "<tr>\n";
        foreach ($row as $item) {
            echo "  <td>".($item!==null?htmlentities($item, ENT_QUOTES|ENT_SUBSTITUTE):"&nbsp;")."</td>\n";
        }
        echo "</tr>\n";
    }
    echo "</table>\n";
}

// Output is:
//    New Implicit Result Set:
//     Beijing 190518
//     Bern    3095
//     Bombay  490231
//    New Implicit Result Set:
//     CN
//     CH
//     IN

oci_free_statement($stid);
oci_close($conn);

?>

Beispiel #2 Getting child statement handles individually

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/pdborcl');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'DECLARE
            c1 SYS_REFCURSOR;
        BEGIN
           OPEN c1 FOR SELECT city, postal_code FROM locations WHERE ROWNUM < 4 ORDER BY city;
           DBMS_SQL.RETURN_RESULT(c1);
           OPEN c1 FOR SELECT country_id FROM locations WHERE ROWNUM < 4 ORDER BY city;
           DBMS_SQL.RETURN_RESULT(c1);
        END;';

$stid = oci_parse($conn, $sql);
oci_execute($stid);

$stid_1 = oci_get_implicit_resultset($stid);
$stid_2 = oci_get_implicit_resultset($stid);

$row = oci_fetch_array($stid_1, OCI_ASSOC+OCI_RETURN_NULLS);
var_dump($row);
$row = oci_fetch_array($stid_2, OCI_ASSOC+OCI_RETURN_NULLS);
var_dump($row);
$row = oci_fetch_array($stid_1, OCI_ASSOC+OCI_RETURN_NULLS);
var_dump($row);
$row = oci_fetch_array($stid_2, OCI_ASSOC+OCI_RETURN_NULLS);
var_dump($row);

// Output is:
//    array(2) {
//      ["CITY"]=>
//      string(7) "Beijing"
//      ["POSTAL_CODE"]=>
//      string(6) "190518"
//    }
//    array(1) {
//      ["COUNTRY_ID"]=>
//      string(2) "CN"
//    }
//    array(2) {
//      ["CITY"]=>
//      string(4) "Bern"
//      ["POSTAL_CODE"]=>
//      string(4) "3095"
//    }
//    array(1) {
//      ["COUNTRY_ID"]=>
//      string(2) "CH"
//    }

oci_free_statement($stid);
oci_close($conn);

?>

Beispiel #3 Explicitly setting the Prefetch Count

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/pdborcl');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'DECLARE
            c1 SYS_REFCURSOR;
        BEGIN
           OPEN c1 FOR SELECT city, postal_code FROM locations ORDER BY city;
           DBMS_SQL.RETURN_RESULT(c1);
        END;';

$stid = oci_parse($conn, $sql);
oci_execute($stid);

$stid_c = oci_get_implicit_resultset($stid);
oci_set_prefetch($stid_c, 200);   // Set the prefetch before fetching from the child statement
echo "<table>\n";
while (($row = oci_fetch_array($stid_c, OCI_ASSOC+OCI_RETURN_NULLS)) != false) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "  <td>".($item!==null?htmlentities($item, ENT_QUOTES|ENT_SUBSTITUTE):"&nbsp;")."</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

oci_free_statement($stid);
oci_close($conn);

?>

Beispiel #4 Implicit Result Set example without using oci_get_implicit_resultset()

All results from all queries are returned consecutively.

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/pdborcl');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'DECLARE
            c1 SYS_REFCURSOR;
        BEGIN
           OPEN c1 FOR SELECT city, postal_code FROM locations WHERE ROWNUM < 4 ORDER BY city;
           DBMS_SQL.RETURN_RESULT(c1);
           OPEN c1 FOR SELECT country_id FROM locations WHERE ROWNUM < 4 ORDER BY city;
           DBMS_SQL.RETURN_RESULT(c1);
        END;';

$stid = oci_parse($conn, $sql);
oci_execute($stid);

// Note: oci_fetch_all and oci_fetch() cannot be used in this manner
echo "<table>\n";
while (($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) != false) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "  <td>".($item!==null?htmlentities($item, ENT_QUOTES|ENT_SUBSTITUTE):"&nbsp;")."</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

// Output is:
//    Beijing 190518
//    Bern 3095
//    Bombay 490231
//    CN
//    CH
//    IN

oci_free_statement($stid);
oci_close($conn);

?>

Anmerkungen

Hinweis:

Bei Queries, die eine große Anzahl an Zeilen zurückliefern, kann die Laufzeit beträchtlich verbessert werden, indem man oci8.default_prefetch erhöht oder oci_set_prefetch() verwendet.

oci_free_statement
oci_internal_debug
OCI8 Funktionen


Enables or disables internal debug output

oci_get_implicit_resultset
oci_lob_copy
OCI8 Funktionen
PHP Manual

oci_internal_debug

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_internal_debug — Enables or disables internal debug output

Beschreibung

void oci_internal_debug ( bool $onoff )

Enables or disables internal debug output.

Parameter-Liste

onoff

Set this to FALSE to turn debug output off or TRUE to turn it on.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Anmerkungen

Hinweis:

In PHP versions before 5.0.0 you must use ociinternaldebug() instead. This name still can be used, it was left as alias of oci_internal_debug() for downwards compatability. This, however, is deprecated and not recommended.

oci_get_implicit_resultset
oci_lob_copy
OCI8 Funktionen


Copies large object

oci_internal_debug
oci_lob_is_equal
OCI8 Funktionen
PHP Manual

oci_lob_copy

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_lob_copy — Copies large object

Beschreibung

bool oci_lob_copy ( OCI-Lob $lob_to , OCI-Lob $lob_from [, int $length = 0 ] )

Copies a large object or a part of a large object to another large object. Old LOB-recipient data will be overwritten.

If you need to copy a particular part of a LOB to a particular position of a LOB, use OCI-Lob::seek() to move LOB internal pointers.

Parameter-Liste

lob_to

The destination LOB.

lob_from

The copied LOB.

length

Indicates the length of data to be copied.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

oci_internal_debug
oci_lob_is_equal
OCI8 Funktionen


Compares two LOB/FILE locators for equality

oci_lob_copy
oci_new_collection
OCI8 Funktionen
PHP Manual

oci_lob_is_equal

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_lob_is_equal — Compares two LOB/FILE locators for equality

Beschreibung

bool oci_lob_is_equal ( OCI-Lob $lob1 , OCI-Lob $lob2 )

Compares two LOB/FILE locators.

Parameter-Liste

lob1

A LOB identifier.

lob2

A LOB identifier.

Rückgabewerte

Returns TRUE if these objects are equal, FALSE otherwise.

oci_lob_copy
oci_new_collection
OCI8 Funktionen


Allocates new collection object

oci_lob_is_equal
oci_new_connect
OCI8 Funktionen
PHP Manual

oci_new_collection

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_new_collection — Allocates new collection object

Beschreibung

OCI-Collection oci_new_collection ( resource $connection , string $tdo [, string $schema = NULL ] )

Allocates a new collection object.

Parameter-Liste

connection

An Oracle connection identifier, returned by oci_connect() or oci_pconnect().

tdo

Should be a valid named type (uppercase).

schema

Should point to the scheme, where the named type was created. The name of the current user is the default value.

Rückgabewerte

Returns a new OCICollection object or FALSE on error.

Anmerkungen

Hinweis:

In PHP versions before 5.0.0 you must use ocinewcollection() instead. This name still can be used, it was left as alias of oci_new_collection() for downwards compatability. This, however, is deprecated and not recommended.

oci_lob_is_equal
oci_new_connect
OCI8 Funktionen


Connect to the Oracle server using a unique connection

oci_new_collection
oci_new_cursor
OCI8 Funktionen
PHP Manual

oci_new_connect

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_new_connect — Connect to the Oracle server using a unique connection

Beschreibung

resource oci_new_connect ( string $username , string $password [, string $connection_string [, string $character_set [, int $session_mode ]]] )

Establishes a new connection to an Oracle server and logs on.

Unlike oci_connect() and oci_pconnect(), oci_new_connect() does not cache connections and will always return a brand-new freshly opened connection handle. This is useful if your application needs transactional isolation between two sets of queries.

Parameter-Liste

username

The Oracle user name.

password

The password for username.

connection_string

Beinhaltet die Oracle-Instanz, mit der verbunden werden soll. Dies kann eine » Easy Connect Zeichenkette, ein Connect-Name aus der Datei tnsnames.ora oder der Name einer lokalen Oracle-Instanz sein.

Wenn dies nicht angegebe wird, verwendet PHP Umgebungsvariablen wie TWO_TASK (unter Linux), LOCAL (unter Windows) oder ORACLE_SID um die Oracle-Instanz mit der verbunden werden soll zu ermitteln.

Um die benannte Easy Connect Methode zu verwenden, muss PHP gegen die Clientbibliotheken von Oracle 10g oder höher gelinkt sein. Die Easy Connect Zeichenfolge für Oracle 10g hat den Aufbau: [//]host_name[:port][/service_name]. Für Oracle 11g ist die Syntax: [//]host_name[:port][/service_name][:server_type][/instance_name]. Service name kann bestimmt werden, indem man das Oracle-Hilfswerkzeug lsnrctl status auf dem Datenbankserver ausführt.

Die Datei tnsnames.ora kann sich im Oracle Net Suchpfad befinden, welcher $ORACLE_HOME/network/admin sowie /etc beinhaltet. Alternativ kann TNS_ADMIN auf einen Wert gesetzt werden, damit $TNS_ADMIN/tnsnames.ora gelesen wird. Es muss sichergestellt sein, dass der Webserver Leseberechtigung für die Datei besitzt.

character_set

Bestimmt den Zeichensatz, der von den Oracle Client Bibliotheken verwendet wird. Dieser Zeichensatz muss nicht dem von der Datenbank verwendeten Zeichensatz entsprechen. Wenn diese nicht übereinstimmen, wird Oracle bestmöglich versuchen, die Daten in den Datenbankzeichensatz zu übersetzen. Abhängig von den Zeichensätzen kann dies zu unbrauchbaren Ergebnissen führen. Diese Konvertierung führt auch zu einem erhöhten Zeitbedarf.

Falls nicht angegeben, werden die Oracle Client Bibliotheken versuchen, den Zeichensatz aus der Umgebungsvariablen NLS_LANG auszulesen.

Die Übergabe dieses Parameters verringert die Zeit für den Verbindungsaufbau.

session_mode

Dieser Parameter ist seit PHP 5 (PECL OCI8 1.1) verfügbar und akzeptiert die folgenden Werte: OCI_DEFAULT, OCI_SYSOPER und OCI_SYSDBA. Falls entweder OCI_SYSOPER oder OCI_SYSDBA angegeben wurden wird diese Funktion versuchen die priviligierte Verbindung mit externen Credentials aufzubauen. Um diese einzuschalten muss man oci8.privileged_connect auf On setzen.

PHP 5.3 (PECL OCI8 1.3.4) hat den Wert OCI_CRED_EXT eingeführt. Dies konfiguriert Oracle dazu eine externe oder Os-Authentifizierung vorzunehmen, welche in der Datenbank konfiguriert werden muss. Der Schalter OCI_CRED_EXT kann nur mit dem Benutzernamen "/" und einem leeren Passwort verwendet werden. oci8.privileged_connect kann entweder On oder Off sein.

OCI_CRED_EXT kann mit OCI_SYSOPER oder OCI_SYSDBA kombiniert werden.

OCI_CRED_EXT ist auf Windows-Systemen aus sicherheitsgründen nicht unterstützt.

Rückgabewerte

Returns a connection identifier or FALSE on error.

Beispiele

The following demonstrates how you can separate connections.

Beispiel #1 oci_new_connect() example

<?php

// create table mytab (mycol number);

function query($name, $c)
{
    echo "Querying $name\n";
    $s = oci_parse($c, "select * from mytab");
    oci_execute($s, OCI_NO_AUTO_COMMIT);
    $row = oci_fetch_array($s, OCI_ASSOC);
    if (!$row) {
        echo "No rows\n";
    } else {
        do {
            foreach ($row as $item)
                echo $item . " ";
            echo "\n";
        } while (($row = oci_fetch_array($s, OCI_ASSOC)) != false);
    }
}

$c1 = oci_connect("hr", "welcome", "localhost/orcl");
$c2 = oci_new_connect("hr", "welcome", "localhost/orcl");

$s = oci_parse($c1, "insert into mytab values(1234)");
oci_execute($s, OCI_NO_AUTO_COMMIT);

query("basic connection", $c1);
query("new connection", $c2);
oci_commit($c1);
query("new connection after commit", $c2);

// Output is:
//   Querying basic connection
//   1234
//   Querying new connection
//   No rows
//   Querying new connection after commit
//   1234

?>

See oci_connect() for further examples of parameter usage.

Siehe auch

  • oci_connect() - Connect to an Oracle database
  • oci_pconnect() - Connect to an Oracle database using a persistent connection

oci_new_collection
oci_new_cursor
OCI8 Funktionen


Allocates and returns a new cursor (statement handle)

oci_new_connect
oci_new_descriptor
OCI8 Funktionen
PHP Manual

oci_new_cursor

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_new_cursor — Allocates and returns a new cursor (statement handle)

Beschreibung

resource oci_new_cursor ( resource $connection )

Allocates a new statement handle on the specified connection.

Parameter-Liste

connection

An Oracle connection identifier, returned by oci_connect() or oci_pconnect().

Rückgabewerte

Returns a new statement handle, or FALSE on error.

Beispiele

Beispiel #1 Binding a REF CURSOR in an Oracle stored procedure call

<?php

// Precreate:
//   create or replace procedure myproc(myrc out sys_refcursor) as
//   begin
//     open myrc for select first_name from employees;
//   end;

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$curs = oci_new_cursor($conn);
$stid = oci_parse($conn, "begin myproc(:cursbv); end;");
oci_bind_by_name($stid, ":cursbv", $curs, -1, OCI_B_CURSOR);
oci_execute($stid);

oci_execute($curs);  // Execute the REF CURSOR like a normal statement id
while (($row = oci_fetch_array($curs, OCI_ASSOC+OCI_RETURN_NULLS)) != false) {
    echo $row['FIRST_NAME'] . "<br />\n";
}

oci_free_statement($stid);
oci_free_statement($curs);
oci_close($conn);

?>

Anmerkungen

Hinweis:

In PHP versions before 5.0.0 you must use ocinewcursor() instead. This name still can be used, it was left as alias of oci_new_cursor() for downwards compatability. This, however, is deprecated and not recommended.

oci_new_connect
oci_new_descriptor
OCI8 Funktionen


Initializes a new empty LOB or FILE descriptor

oci_new_cursor
oci_num_fields
OCI8 Funktionen
PHP Manual

oci_new_descriptor

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_new_descriptor — Initializes a new empty LOB or FILE descriptor

Beschreibung

OCI-Lob oci_new_descriptor ( resource $connection [, int $type = OCI_DTYPE_LOB ] )

Allocates resources to hold descriptor or LOB locator.

Parameter-Liste

connection

An Oracle connection identifier, returned by oci_connect() or oci_pconnect().

type

Valid values for type are: OCI_DTYPE_FILE, OCI_DTYPE_LOB and OCI_DTYPE_ROWID.

Rückgabewerte

Returns a new LOB or FILE descriptor on success, FALSE on error.

Beispiele

Beispiel #1 oci_new_descriptor() example

<?php
/* This script is designed to be called from a HTML form.
 * It expects $user, $password, $table, $where, and $commitsize
 * to be passed in from the form.  The script then deletes
 * the selected rows using the ROWID and commits after each
 * set of $commitsize rows. (Use with care, there is no rollback)
 */
$conn = oci_connect($user, $password);
$stmt = oci_parse($conn, "select rowid from $table $where");
$rowid = oci_new_descriptor($conn, OCI_D_ROWID);
oci_define_by_name($stmt, "ROWID", $rowid);
oci_execute($stmt);
while (oci_fetch($stmt)) {
    $nrows = oci_num_rows($stmt);
    $delete = oci_parse($conn, "delete from $table where ROWID = :rid");
    oci_bind_by_name($delete, ":rid", $rowid, -1, OCI_B_ROWID);
    oci_execute($delete);
    echo "$nrows\n";
    if (($nrows % $commitsize) == 0) {
        oci_commit($conn);
    }
}
$nrows = oci_num_rows($stmt);
echo "$nrows deleted...\n";
oci_free_statement($stmt);
oci_close($conn);
?>
<?php
    /* This script demonstrates file upload to LOB columns
     * The formfield used for this example looks like this
     * <form action="upload.php" method="post" enctype="multipart/form-data">
     * <input type="file" name="lob_upload" />
     * ...
     */
  if (!isset($lob_upload) || $lob_upload == 'none'){
?>
<form action="upload.php" method="post" enctype="multipart/form-data">
Upload file: <input type="file" name="lob_upload" /><br />
<input type="submit" value="Upload" /> - <input type="reset" value="Reset" />
</form>
<?php
  } else {

     // $lob_upload contains the temporary filename of the uploaded file

     // see also the features section on file upload,
     // if you would like to use secure uploads

     $conn = oci_connect($user, $password);
     $lob = oci_new_descriptor($conn, OCI_D_LOB);
     $stmt = oci_parse($conn, "insert into $table (id, the_blob)
               values(my_seq.NEXTVAL, EMPTY_BLOB()) returning the_blob into :the_blob");
     oci_bind_by_name($stmt, ':the_blob', $lob, -1, OCI_B_BLOB);
     oci_execute($stmt, OCI_DEFAULT);
     if ($lob->savefile($lob_upload)){
        oci_commit($conn);
        echo "Blob successfully uploaded\n";
     }else{
        echo "Couldn't upload Blob\n";
     }
     $lob->free();
     oci_free_statement($stmt);
     oci_close($conn);
  }
?>

Beispiel #2 oci_new_descriptor() example

<?php
/* Calling PL/SQL stored procedures which contain clobs as input
 * parameters.
 * Example PL/SQL stored procedure signature is:
 *
 * PROCEDURE save_data
 *   Argument Name                  Type                    In/Out Default?
 *   ------------------------------ ----------------------- ------ --------
 *   KEY                            NUMBER(38)              IN
 *   DATA                           CLOB                    IN
 *
 */

$conn = oci_connect($user, $password);
$stmt = oci_parse($conn, "begin save_data(:key, :data); end;");
$clob = oci_new_descriptor($conn, OCI_D_LOB);
oci_bind_by_name($stmt, ':key', $key);
oci_bind_by_name($stmt, ':data', $clob, -1, OCI_B_CLOB);
$clob->write($data);
oci_execute($stmt, OCI_DEFAULT);
oci_commit($conn);
$clob->free();
oci_free_statement($stmt);
?>

Anmerkungen

Hinweis:

In PHP versions before 5.0.0 you must use ocinewdescriptor() instead. This name still can be used, it was left as alias of oci_new_descriptor() for downwards compatability. This, however, is deprecated and not recommended.

Siehe auch

  • oci_bind_by_name() - Bindet eine PHP-Variable an einen Oracle Platzhalter

oci_new_cursor
oci_num_fields
OCI8 Funktionen


Returns the number of result columns in a statement

oci_new_descriptor
oci_num_rows
OCI8 Funktionen
PHP Manual

oci_num_fields

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_num_fields — Returns the number of result columns in a statement

Beschreibung

int oci_num_fields ( resource $statement )

Gets the number of columns in the given statement.

Parameter-Liste

statement

A valid OCI statement identifier.

Rückgabewerte

Returns the number of columns as an integer, or FALSE on errors.

Beispiele

Beispiel #1 oci_num_fields() example

<?php

// Create the table with:
//   CREATE TABLE mytab (id NUMBER, quantity NUMBER);

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, "SELECT * FROM mytab");
oci_execute($stid, OCI_DESCRIBE_ONLY); // Use OCI_DESCRIBE_ONLY if not fetching rows

$ncols = oci_num_fields($stid);
for ($i = 1; $i <= $ncols; $i++) {
    echo oci_field_name($stid, $i) . " " . oci_field_type($stid, $i) . "<br>\n";
}

// Outputs:
//    ID NUMBER
//    QUANTITY NUMBER

oci_free_statement($stid);
oci_close($conn);

?>

Anmerkungen

Hinweis:

In PHP versions before 5.0.0 you must use ocinumcols() instead. This name still can be used, it was left as alias of oci_num_fields() for downwards compatability. This, however, is deprecated and not recommended.

oci_new_descriptor
oci_num_rows
OCI8 Funktionen


Returns number of rows affected during statement execution

oci_num_fields
oci_parse
OCI8 Funktionen
PHP Manual

oci_num_rows

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_num_rows — Returns number of rows affected during statement execution

Beschreibung

int oci_num_rows ( resource $statement )

Gets the number of rows affected during statement execution.

Parameter-Liste

statement

A valid OCI statement identifier.

Rückgabewerte

Returns the number of rows affected as an integer, or FALSE on errors.

Beispiele

Beispiel #1 oci_num_rows() example

<?php

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, "create table emp2 as select * from employees");
oci_execute($stid);
echo oci_num_rows($stid) . " rows inserted.<br />\n";
oci_free_statement($stid);

$stid = oci_parse($conn, "delete from emp2");
oci_execute($stid, OCI_DEFAULT);
echo oci_num_rows($stid) . " rows deleted.<br />\n";
oci_commit($conn);
oci_free_statement($stid);

$stid = oci_parse($conn, "drop table emp2");
oci_execute($stid);
oci_free_statement($stid);

oci_close($conn);

?>

Anmerkungen

Hinweis:

This function does not return number of rows selected! For SELECT statements this function will return the number of rows, that were fetched to the buffer with oci_fetch*() functions.

Hinweis:

In PHP versions before 5.0.0 you must use ocirowcount() instead. This name still can be used, it was left as alias of oci_num_rows() for downwards compatability. This, however, is deprecated and not recommended.

oci_num_fields
oci_parse
OCI8 Funktionen


Prepares an Oracle statement for execution

oci_num_rows
oci_password_change
OCI8 Funktionen
PHP Manual

oci_parse

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_parse — Prepares an Oracle statement for execution

Beschreibung

resource oci_parse ( resource $connection , string $sql_text )

Prepares sql_text using connection and returns the statement identifier, which can be used with oci_bind_by_name(), oci_execute() and other functions.

Statement identifiers can be freed with oci_free_statement() or by setting the variable to NULL.

Parameter-Liste

connection

An Oracle connection identifier, returned by oci_connect(), oci_pconnect(), or oci_new_connect().

sql_text

The SQL or PL/SQL statement.

SQL statements should not end with a semi-colon (";"). PL/SQL statements should end with a semi-colon (";").

Rückgabewerte

Returns a statement handle on success, or FALSE on error.

Beispiele

Beispiel #1 oci_parse() example for SQL statements

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

// Parse the statement. Note there is no final semi-colon in the SQL statement
$stid = oci_parse($conn, 'SELECT * FROM employees');
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;") . "</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

?>

Beispiel #2 oci_parse() example for PL/SQL statements

<?php

/*
  Before running the PHP program, create a stored procedure in
  SQL*Plus or SQL Developer:

  CREATE OR REPLACE PROCEDURE myproc(p1 IN NUMBER, p2 OUT NUMBER) AS
  BEGIN
      p2 := p1 * 2;
  END;

*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$p1 = 8;

// When parsing PL/SQL programs, there should be a final semi-colon in the string
$stid = oci_parse($conn, 'begin myproc(:p1, :p2); end;');
oci_bind_by_name($stid, ':p1', $p1);
oci_bind_by_name($stid, ':p2', $p2, 40);

oci_execute($stid);

print "$p2\n";   // prints 16

oci_free_statement($stid);
oci_close($conn);

?>

Anmerkungen

Hinweis:

This function does not validate sql_text. The only way to find out if sql_text is a valid SQL or PL/SQL statement is to execute it.

Siehe auch

  • oci_execute() - Executes a statement
  • oci_free_statement() - Gibt alle verknüpften Ressourcen eines Statements oder Zeigers frei.

oci_num_rows
oci_password_change
OCI8 Funktionen


Changes password of Oracle's user

oci_parse
oci_pconnect
OCI8 Funktionen
PHP Manual

oci_password_change

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_password_change — Changes password of Oracle's user

Beschreibung

bool oci_password_change ( resource $connection , string $username , string $old_password , string $new_password )
resource oci_password_change ( string $dbname , string $username , string $old_password , string $new_password )

Changes password for user with username.

The oci_password_change() function is most useful for PHP command-line scripts, or when non-persistent connections are used throughout the PHP application.

Parameter-Liste

connection

An Oracle connection identifier, returned by oci_connect() or oci_pconnect().

username

The Oracle user name.

old_password

The old password.

new_password

The new password to be set.

dbname

The database name.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 oci_password_change() example changing the password of an already connected user

<?php

$dbase      = 'localhost/orcl';
$user       = 'cj';
$current_pw = 'welcome';
$new_pw     = 'geelong';

$c = oci_pconnect($user, $current_pw, $dbase);
oci_password_change($c, $user, $current_pw, $new_pw);
echo "New password is : " . $new_pw . "\n";

?>

Beispiel #2 oci_password_change() example of connecting and changing the password in one step

<?php

$dbase      = 'localhost/orcl';
$user       = 'cj';
$current_pw = 'welcome';
$new_pw     = 'geelong';

$c = oci_pconnect($user, $current_pw, $dbase);
if (!$c) {
    $m = oci_error();
    if ($m['code'] == 28001) { // "ORA-28001: the password has expired"
        // Login and reset password at the same time
        $c = oci_password_change($dbase, $user, $current_pw, $new_pw);
        if ($c) {
            echo "New password is : " . $new_pw . "\n";
        }
    }
}

if (!$c) {  // The original error wasn't 28001, or the password change failed
    $m = oci_error();
    trigger_error('Could not connect to database: '. $m['message'], E_USER_ERROR);
}

// Use the connection $c
...

?>

Anmerkungen

Hinweis:

Changing the password either with this function or directly in Oracle should be done carefully. This is because PHP applications may continue to successfully reuse persistent connections by authenticating with the old password. The best practice is to restart all web servers whenever the user password is changed.

Hinweis:

If upgrading the Oracle client libraries or the database from a release prior to 11.2.0.3 to version 11.2.0.3 or higher, oci_password_change() may give the error "ORA-1017: invalid username/password" unless both client and server versions are upgraded at the same time.

Hinweis:

The second oci_password_change() syntax is available since OCI8 version 1.1.

Hinweis:

In PHP versions before 5.0.0 you must use ocipasswordchange() instead. This name still can be used, it was left as alias of oci_password_change() for downwards compatability. This, however, is deprecated and not recommended.

oci_parse
oci_pconnect
OCI8 Funktionen


Connect to an Oracle database using a persistent connection

oci_password_change
oci_result
OCI8 Funktionen
PHP Manual

oci_pconnect

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_pconnect — Connect to an Oracle database using a persistent connection

Beschreibung

resource oci_pconnect ( string $username , string $password [, string $connection_string [, string $character_set [, int $session_mode ]]] )

Creates a persistent connection to an Oracle server and logs on.

Persistent connections are cached and re-used between requests, resulting in reduced overhead on each page load; a typical PHP application will have a single persistent connection open against an Oracle server per Apache child process (or PHP FastCGI/CGI process). See the Persistent Database Connections section for more information.

Parameter-Liste

username

The Oracle user name.

password

The password for username.

connection_string

Beinhaltet die Oracle-Instanz, mit der verbunden werden soll. Dies kann eine » Easy Connect Zeichenkette, ein Connect-Name aus der Datei tnsnames.ora oder der Name einer lokalen Oracle-Instanz sein.

Wenn dies nicht angegebe wird, verwendet PHP Umgebungsvariablen wie TWO_TASK (unter Linux), LOCAL (unter Windows) oder ORACLE_SID um die Oracle-Instanz mit der verbunden werden soll zu ermitteln.

Um die benannte Easy Connect Methode zu verwenden, muss PHP gegen die Clientbibliotheken von Oracle 10g oder höher gelinkt sein. Die Easy Connect Zeichenfolge für Oracle 10g hat den Aufbau: [//]host_name[:port][/service_name]. Für Oracle 11g ist die Syntax: [//]host_name[:port][/service_name][:server_type][/instance_name]. Service name kann bestimmt werden, indem man das Oracle-Hilfswerkzeug lsnrctl status auf dem Datenbankserver ausführt.

Die Datei tnsnames.ora kann sich im Oracle Net Suchpfad befinden, welcher $ORACLE_HOME/network/admin sowie /etc beinhaltet. Alternativ kann TNS_ADMIN auf einen Wert gesetzt werden, damit $TNS_ADMIN/tnsnames.ora gelesen wird. Es muss sichergestellt sein, dass der Webserver Leseberechtigung für die Datei besitzt.

character_set

Bestimmt den Zeichensatz, der von den Oracle Client Bibliotheken verwendet wird. Dieser Zeichensatz muss nicht dem von der Datenbank verwendeten Zeichensatz entsprechen. Wenn diese nicht übereinstimmen, wird Oracle bestmöglich versuchen, die Daten in den Datenbankzeichensatz zu übersetzen. Abhängig von den Zeichensätzen kann dies zu unbrauchbaren Ergebnissen führen. Diese Konvertierung führt auch zu einem erhöhten Zeitbedarf.

Falls nicht angegeben, werden die Oracle Client Bibliotheken versuchen, den Zeichensatz aus der Umgebungsvariablen NLS_LANG auszulesen.

Die Übergabe dieses Parameters verringert die Zeit für den Verbindungsaufbau.

session_mode

Dieser Parameter ist seit PHP 5 (PECL OCI8 1.1) verfügbar und akzeptiert die folgenden Werte: OCI_DEFAULT, OCI_SYSOPER und OCI_SYSDBA. Falls entweder OCI_SYSOPER oder OCI_SYSDBA angegeben wurden wird diese Funktion versuchen die priviligierte Verbindung mit externen Credentials aufzubauen. Um diese einzuschalten muss man oci8.privileged_connect auf On setzen.

PHP 5.3 (PECL OCI8 1.3.4) hat den Wert OCI_CRED_EXT eingeführt. Dies konfiguriert Oracle dazu eine externe oder Os-Authentifizierung vorzunehmen, welche in der Datenbank konfiguriert werden muss. Der Schalter OCI_CRED_EXT kann nur mit dem Benutzernamen "/" und einem leeren Passwort verwendet werden. oci8.privileged_connect kann entweder On oder Off sein.

OCI_CRED_EXT kann mit OCI_SYSOPER oder OCI_SYSDBA kombiniert werden.

OCI_CRED_EXT ist auf Windows-Systemen aus sicherheitsgründen nicht unterstützt.

Rückgabewerte

Returns a connection identifier or FALSE on error.

Beispiele

Beispiel #1 Basic oci_pconnect() Example using Easy Connect syntax

<?php

// Connects to the XE service (i.e. database) on the "localhost" machine
$conn = oci_pconnect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM employees');
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;") . "</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

?>

See oci_connect() for further examples of parameter usage.

Anmerkungen

Hinweis: Starting with PHP 5.1.2 and PECL OCI8 1.1, the lifetime and maximum number of persistent Oracle connections per PHP process can be tuned by setting the following configuration values: oci8.persistent_timeout, oci8.ping_interval and oci8.max_persistent.

Siehe auch

  • oci_connect() - Connect to an Oracle database
  • oci_new_connect() - Connect to the Oracle server using a unique connection

oci_password_change
oci_result
OCI8 Funktionen


Returns field's value from the fetched row

oci_pconnect
oci_rollback
OCI8 Funktionen
PHP Manual

oci_result

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_result — Returns field's value from the fetched row

Beschreibung

mixed oci_result ( resource $statement , mixed $field )

Returns the data from field in the current row, fetched by oci_fetch().

Für Details zur vom OCI8-Treiber durchgeführten Umsetzung von Datentypen siehe die vom Treiber unterstützen Datentypen.

Parameter-Liste

statement

field

Can be either use the column number (1-based) or the column name. The case of the column name must be the case that Oracle meta data describes the column as, which is uppercase for columns created case insensitively.

Rückgabewerte

Returns everything as strings except for abstract types (ROWIDs, LOBs and FILEs). Returns FALSE on error.

Beispiele

Beispiel #1 oci_fetch() with oci_result()

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'SELECT location_id, city FROM locations WHERE location_id < 1200';
$stid = oci_parse($conn, $sql);
oci_execute($stid);

while (oci_fetch($stid)) {
    echo oci_result($stid, 'LOCATION_ID') . " is ";
    echo oci_result($stid, 'CITY') . "<br>\n";
}

// Displays:
//   1000 is Roma
//   1100 is Venice

oci_free_statement($stid);
oci_close($conn);

?>

Anmerkungen

Hinweis:

In PHP versions before 5.0.0 you must use ociresult() instead. This name still can be used, it was left as alias of oci_result() for downwards compatability. This, however, is deprecated and not recommended.

Siehe auch

  • oci_fetch_array() - Liefert die nächste Zeile der Ergebnisdaten als assoziatives und/oder numerisches Array
  • oci_fetch_assoc() - Liefert die nächste Zeile der Ergebnisdaten als assoziatives Array
  • oci_fetch_object() - Liefert die nächste Zeile der Ergebnisdaten als Objekt
  • oci_fetch_row() - Liefert die nächste Zeile der Ergebnisdaten als numerisches Array
  • oci_fetch_all() - Holt alle Reihen der Ergebnisdaten in ein Array

oci_pconnect
oci_rollback
OCI8 Funktionen


Rolls back the outstanding database transaction

oci_result
oci_server_version
OCI8 Funktionen
PHP Manual

oci_rollback

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_rollback — Rolls back the outstanding database transaction

Beschreibung

bool oci_rollback ( resource $connection )

Reverts all uncommitted changes for the Oracle connection and ends the transaction. It releases all locks held. All Oracle SAVEPOINTS are erased.

A transaction begins when the first SQL statement that changes data is executed with oci_execute() using the OCI_NO_AUTO_COMMIT flag. Further data changes made by other statements become part of the same transaction. Data changes made in a transaction are temporary until the transaction is committed or rolled back. Other users of the database will not see the changes until they are committed.

When inserting or updating data, using transactions is recommended for relational data consistency and for performance reasons.

Parameter-Liste

connection

An Oracle connection identifier, returned by oci_connect(), oci_pconnect() or oci_new_connect().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 oci_rollback() example

<?php

// Insert into several tables, rolling back the changes if an error occurs

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, "INSERT INTO mysalary (id, name) VALUES (1, 'Chris')");

// The OCI_NO_AUTO_COMMIT flag tells Oracle not to commit the INSERT immediately
// Use OCI_DEFAULT as the flag for PHP <= 5.3.1.  The two flags are equivalent
$r = oci_execute($stid, OCI_NO_AUTO_COMMIT);
if (!$r) {
    $e = oci_error($stid);
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, 'INSERT INTO myschedule (startday) VALUES (12)');
$r = oci_execute($stid, OCI_NO_AUTO_COMMIT);
if (!$r) {
    $e = oci_error($stid);
    oci_rollback($conn);  // rollback changes to both tables
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

// Commit the changes to both tables
$r = oci_commit($conn);
if (!r) {
    $e = oci_error($conn);
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

?>

Beispiel #2 Rolling back to a SAVEPOINT example

<?php
$stid = oci_parse($conn, 'UPDATE mytab SET id = 1111');
oci_execute($stid, OCI_NO_AUTO_COMMIT);

// Create the savepoint
$stid = oci_parse($conn, 'SAVEPOINT mysavepoint');
oci_execute($stid, OCI_NO_AUTO_COMMIT);

$stid = oci_parse($conn, 'UPDATE mytab SET id = 2222');
oci_execute($stid, OCI_NO_AUTO_COMMIT);

// Use an explicit SQL statement to rollback to the savepoint
$stid = oci_parse($conn, 'ROLLBACK TO SAVEPOINT mysavepoint');
oci_execute($stid, OCI_NO_AUTO_COMMIT);

oci_commit($conn);  // mytab now has id of 1111
?>

Anmerkungen

Hinweis:

Transactions are automatically rolled back when you close the connection, or when the script ends, whichever is soonest. You need to explicitly call oci_commit() to commit the transaction.

Any call to oci_execute() that uses OCI_COMMIT_ON_SUCCESS mode explicitly or by default will commit any previous uncommitted transaction.

Any Oracle DDL statement such as CREATE or DROP will automatically commit any uncommitted transaction.

Siehe auch

  • oci_commit() - Commits the outstanding database transaction
  • oci_execute() - Executes a statement

oci_result
oci_server_version
OCI8 Funktionen


Returns the Oracle Database version

oci_rollback
oci_set_action
OCI8 Funktionen
PHP Manual

oci_server_version

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_server_version — Returns the Oracle Database version

Beschreibung

string oci_server_version ( resource $connection )

Returns a string with the Oracle Database version and available options

Parameter-Liste

connection

Rückgabewerte

Returns the version information as a string or FALSE on error.

Beispiele

Beispiel #1 oci_server_version() example

<?php

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
echo "Server Version: " . oci_server_version($conn);

// Displays:
// Server Version: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
// With the Partitioning, OLAP, Data Mining and Real Application Testing option

oci_close($conn);

?>

Anmerkungen

Hinweis:

In PHP versions before 5.0.0 you must use ociserverversion() instead. This old name still can be used. However it is deprecated and not recommended.

Siehe auch

  • oci_client_version() - Returns the Oracle client library version

oci_rollback
oci_set_action
OCI8 Funktionen


Sets the action name

oci_server_version
oci_set_client_identifier
OCI8 Funktionen
PHP Manual

oci_set_action

(PHP 5.3.2, PHP 7, PECL OCI8 >= 1.4.0)

oci_set_action — Sets the action name

Beschreibung

bool oci_set_action ( resource $connection , string $action_name )

Sets the action name for Oracle tracing.

The action name is registered with the database when the next 'roundtrip' from PHP to the database occurs, typically when an SQL statement is executed.

The action name can subsequently be queried from database administration views such as V$SESSION. It can be used for tracing and monitoring such as with V$SQLAREA and DBMS_MONITOR.SERV_MOD_ACT_STAT_ENABLE.

The value may be retained across persistent connections.

Parameter-Liste

connection

Ein Oracle-Verbindungs-Identifiierer, der von oci_connect(), oci_pconnect(), oder oci_new_connect() zurückgegeben wurde.

action_name

User chosen string up to 32 bytes long.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Setting the action

<?php

$c = oci_connect('hr', 'welcome', 'localhost/XE');

// Record the action
oci_set_action($c, 'Friend Lookup');

// Code that causes a roundtrip, for example a query:
$s = oci_parse($c, 'select * from dual');
oci_execute($s);
oci_fetch_all($s, $res);

sleep(30);

?>
// While the script is running, the administrator can see the actions
// being performed:

sqlplus system/welcome
SQL> select action from v$session;

Anmerkungen

Hinweis: Oracle Versionsanforderungen

Diese Funktion ist verfügbar, wenn PHP gegen die Bibliotheken der Oracle-Datenbank in Version 10g und höher gelinkt ist.

Tipp

Performance

Bei älteren Versionen von OCI8 oder der Oracle-Datenbank können die Client- Informationen mit einem DBMS_APPLICATION_INFO-Paket gesetzt werden. Dies ist weniger effizient als die Verwendung von oci_set_client_info().

Achtung

Roundtrip Hinweis

Einige, aber nicht alle OCI8-Funktionen verursachen Roundtrips. Roundtrips zur Datenbank dürfen nicht für Queries auftreten, wenn der Ergebniscache aktiviert ist.

Siehe auch

  • oci_set_module_name() - Sets the module name
  • oci_set_client_info() - Sets the client information
  • oci_set_client_identifier() - Sets the client identifier

oci_server_version
oci_set_client_identifier
OCI8 Funktionen


Sets the client identifier

oci_set_action
oci_set_client_info
OCI8 Funktionen
PHP Manual

oci_set_client_identifier

(PHP 5.3.2, PHP 7, PECL OCI8 >= 1.4.0)

oci_set_client_identifier — Sets the client identifier

Beschreibung

bool oci_set_client_identifier ( resource $connection , string $client_identifier )

Sets the client identifier used by various database components to identify lightweight application users who authenticate as the same database user.

The client identifier is registered with the database when the next 'roundtrip' from PHP to the database occurs, typically when an SQL statement is executed.

The identifier can subsequently be queried, for example with SELECT SYS_CONTEXT('USERENV','CLIENT_IDENTIFIER') FROM DUAL. Database administration views such as V$SESSION will also contain the value. It can be used with DBMS_MONITOR.CLIENT_ID_TRACE_ENABLE for tracing and can also be used for auditing.

The value may be retained across page requests that use the same persistent connection.

Parameter-Liste

connection

Ein Oracle-Verbindungs-Identifiierer, der von oci_connect(), oci_pconnect(), oder oci_new_connect() zurückgegeben wurde.

client_identifier

User chosen string up to 64 bytes long.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Setting the client identifier to the application user

<?php

// Find the application user's login name
session_start();
$un = my_validate_session($_SESSION['username']);
$c = oci_connect('myschema', 'welcome', 'localhost/XE');

// Tell Oracle who that user is
oci_set_client_identifier($c, $un);

// The next roundtrip to the database will piggyback the identifier
$s = oci_parse($c, 'select mydata from mytable');
oci_execute($s);

// ...

?>

Anmerkungen

Achtung

Roundtrip Hinweis

Einige, aber nicht alle OCI8-Funktionen verursachen Roundtrips. Roundtrips zur Datenbank dürfen nicht für Queries auftreten, wenn der Ergebniscache aktiviert ist.

Siehe auch

  • oci_set_module_name() - Sets the module name
  • oci_set_action() - Sets the action name
  • oci_set_client_info() - Sets the client information

oci_set_action
oci_set_client_info
OCI8 Funktionen


Sets the client information

oci_set_client_identifier
oci_set_edition
OCI8 Funktionen
PHP Manual

oci_set_client_info

(PHP 5.3.2, PHP 7, PECL OCI8 >= 1.4.0)

oci_set_client_info — Sets the client information

Beschreibung

bool oci_set_client_info ( resource $connection , string $client_info )

Sets the client information for Oracle tracing.

The client information is registered with the database when the next 'roundtrip' from PHP to the database occurs, typically when an SQL statement is executed.

The client information can subsequently be queried from database administration views such as V$SESSION.

The value may be retained across persistent connections.

Parameter-Liste

connection

Ein Oracle-Verbindungs-Identifiierer, der von oci_connect(), oci_pconnect(), oder oci_new_connect() zurückgegeben wurde.

client_info

User chosen string up to 64 bytes long.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Setting the client information

<?php

$c = oci_connect('hr', 'welcome', 'localhost/XE');

// Record the client information
oci_set_client_info($c, 'My Application Version 2');

// Code that causes a roundtrip, for example a query:
$s = oci_parse($c, 'select * from dual');
oci_execute($s);
oci_fetch_all($s, $res);

sleep(30);

?>
// While the script is running, the administrator can see the client
// information:

sqlplus system/welcome
SQL> select client_info from v$session;

Anmerkungen

Hinweis: Oracle Versionsanforderungen

Diese Funktion ist verfügbar, wenn PHP gegen die Bibliotheken der Oracle-Datenbank in Version 10g und höher gelinkt ist.

Tipp

Performance

Bei älteren Versionen von OCI8 oder der Oracle-Datenbank können die Client- Informationen mit einem DBMS_APPLICATION_INFO-Paket gesetzt werden. Dies ist weniger effizient als die Verwendung von oci_set_client_info().

Achtung

Roundtrip Hinweis

Einige, aber nicht alle OCI8-Funktionen verursachen Roundtrips. Roundtrips zur Datenbank dürfen nicht für Queries auftreten, wenn der Ergebniscache aktiviert ist.

Siehe auch

  • oci_set_module_name() - Sets the module name
  • oci_set_action() - Sets the action name
  • oci_set_client_identifier() - Sets the client identifier

oci_set_client_identifier
oci_set_edition
OCI8 Funktionen


Sets the database edition

oci_set_client_info
oci_set_module_name
OCI8 Funktionen
PHP Manual

oci_set_edition

(PHP 5.3.2, PHP 7, PECL OCI8 >= 1.4.0)

oci_set_edition — Sets the database edition

Beschreibung

bool oci_set_edition ( string $edition )

Sets the database "edition" of objects to be used by a subsequent connections.

Oracle Editions allow concurrent versions of applications to run using the same schema and object names. This is useful for upgrading live systems.

Call oci_set_edition() before calling
oci_connect(), oci_pconnect()
or oci_new_connect().

If an edition is set that is not valid in the database, connection will fail even if oci_set_edition() returns success.

When using persistent connections, if a connection with the requested edition setting already exists, it is reused. Otherwise, a different persistent connection is created

Parameter-Liste

edition

Oracle Database edition name previously created with the SQL "CREATE EDITION" command.

Anmerkungen

Hinweis: Oracle version requirement

This function is available from Oracle 11gR2 onwards.

Achtung

Persistent connections

To avoid inconsistencies and unexpected errors, do not use ALTER SESSION SET EDITION to change the edition on persistent connections.

Achtung

DRCP Connection Pooling

To avoid inconsistencies and unexpected errors when using editions and DRCP with Oracle 11.2.0.1, keep a one-to-one correspondence between the oci8.connection_class and the edition name used by applications. Each pooled server of a given connection class should only be used with one edition. This restriction has been removed with Oracle 11.2.0.2.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Two scripts can use different versions of myfunc() at the same time

<?php

// File 1

echo "Version 1 of application\n";

oci_set_edition('ORA$BASE');
$c = oci_connect('hr', 'welcome', 'localhost/XE');

$s = oci_parse($c, "begin :r := myfunc(); end;");
oci_bind_by_name($s, ":r", $r, 20);
oci_execute($s);
echo "The result is $r\n";

?>
<?php

// File 2

echo "Version 2 of application\n";

oci_set_edition('E1');
$c = oci_connect('hr', 'welcome', 'localhost/XE');

$s = oci_parse($c, "begin :r := myfunc(); end;");
oci_bind_by_name($s, ":r", $r, 20);
oci_execute($s);
echo "The result is $r\n";

?>

oci_set_client_info
oci_set_module_name
OCI8 Funktionen


Sets the module name

oci_set_edition
oci_set_prefetch
OCI8 Funktionen
PHP Manual

oci_set_module_name

(PHP 5.3.2, PHP 7, PECL OCI8 >= 1.4.0)

oci_set_module_name — Sets the module name

Beschreibung

bool oci_set_module_name ( resource $connection , string $module_name )

Sets the module name for Oracle tracing.

The module name is registered with the database when the next 'roundtrip' from PHP to the database occurs, typically when an SQL statement is executed.

The name can subsequently be queried from database administration views such as V$SESSION. It can be used for tracing and monitoring such as with V$SQLAREA and DBMS_MONITOR.SERV_MOD_ACT_STAT_ENABLE.

The value may be retained across persistent connections.

Parameter-Liste

connection

Ein Oracle-Verbindungs-Identifiierer, der von oci_connect(), oci_pconnect(), oder oci_new_connect() zurückgegeben wurde.

module_name

User chosen string up to 48 bytes long.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Hinweis: Oracle Versionsanforderungen

Diese Funktion ist verfügbar, wenn PHP gegen die Bibliotheken der Oracle-Datenbank in Version 10g und höher gelinkt ist.

Tipp

Performance

Bei älteren Versionen von OCI8 oder der Oracle-Datenbank können die Client- Informationen mit einem DBMS_APPLICATION_INFO-Paket gesetzt werden. Dies ist weniger effizient als die Verwendung von oci_set_client_info().

Achtung

Roundtrip Hinweis

Einige, aber nicht alle OCI8-Funktionen verursachen Roundtrips. Roundtrips zur Datenbank dürfen nicht für Queries auftreten, wenn der Ergebniscache aktiviert ist.

Beispiele

Beispiel #1 Setting the module name

<?php

$c = oci_connect('hr', 'welcome', 'localhost/XE');

// Record the module
oci_set_module_name($c, 'Home Page');

// Code that causes a roundtrip, for example a query:
$s = oci_parse($c, 'select * from dual');
oci_execute($s);
oci_fetch_all($s, $res);

sleep(30);
?>
// While the script is running, the administrator can see the
// modules in use:

sqlplus system/welcome
SQL> select module from v$session;

Siehe auch

  • oci_set_action() - Sets the action name
  • oci_set_client_info() - Sets the client information
  • oci_set_client_identifier() - Sets the client identifier

oci_set_edition
oci_set_prefetch
OCI8 Funktionen


Sets number of rows to be prefetched by queries

oci_set_module_name
oci_statement_type
OCI8 Funktionen
PHP Manual

oci_set_prefetch

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_set_prefetch — Sets number of rows to be prefetched by queries

Beschreibung

bool oci_set_prefetch ( resource $statement , int $rows )

Sets the number of rows to be buffered by the Oracle Client libraries after a successful query call to oci_execute() and for each subsequent internal fetch request to the database. For queries returning a large number of rows, performance can be significantly improved by increasing the prefetch count above the default oci8.default_prefetch value.

Prefetching is Oracle's efficient way of returning more than one data row from the database in each network request. This can result in better network and CPU utilization. The buffering of rows is internal to OCI8 and the behavior of OCI8 fetching functions is unchanged regardless of the prefetch count. For example, oci_fetch_row() will always return one row. The prefetch buffer is per-statement and is not used by re-executed statements or by other connections.

Call oci_set_prefetch() before calling oci_execute().

A tuning goal is to set the prefetch value to a reasonable size for the network and database to handle. For queries returning a very large number of rows, overall system efficiency might be better if rows are retrieved from the database in several chunks (i.e set the prefetch value smaller than the number of rows). This allows the database to handle other users' statements while the PHP script is processing the current set of rows.

Query prefetching was introduced in Oracle 8i. REF CURSOR prefetching was introduced in Oracle 11gR2 and occurs when PHP is linked with Oracle 11gR2 (or later) Client libraries. Nested cursor prefetching was introduced in Oracle 11gR2 and requires both the Oracle Client libraries and the database to be version 11gR2 or greater.

Prefetching is not supported when queries contain LONG or LOB columns. The prefetch value is ignored and single-row fetches will be used in all the situations when prefetching is not supported.

When using Oracle Database 12c, the prefetch value set by PHP can be overridden by Oracle's client oraaccess.xml configuration file. Refer to Oracle documentation for more detail.

Parameter-Liste

statement

Der Identifizierer eines gültigen OCI8-Ausdrucks, der von oci_parse() erzeugt und von oci_execute() oder einem REF CURSOR-Ausdruck verwendet wird.

rows

The number of rows to be prefetched, >= 0

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.3.2 (PECL OCI8 1.4) | Before this release, rows must be >= 1.
5.3.0 (PECL OCI8 1.3.4) | Before this release, prefetching was limited to the lesser of rows rows and 1024 * rows bytes. The byte size restriction has now been removed.

Beispiele

Beispiel #1 Changing the default prefetch value for a query

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'SELECT * FROM myverybigtable');
oci_set_prefetch($stid, 300);  // Set before calling oci_execute()
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>".($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;")."</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

oci_free_statement($stid);
oci_close($conn);

?>

Beispiel #2 Changing the default prefetch for a REF CURSOR fetch

<?php
/*
  Create the PL/SQL stored procedure as:

  CREATE OR REPLACE PROCEDURE myproc(p1 OUT SYS_REFCURSOR) AS
  BEGIN
    OPEN p1 FOR SELECT * FROM all_objects WHERE ROWNUM < 5000;
  END;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'BEGIN myproc(:rc); END;');
$refcur = oci_new_cursor($conn);
oci_bind_by_name($stid, ':rc', $refcur, -1, OCI_B_CURSOR);
oci_execute($stid);

// Change the prefetch before executing the cursor.
// REF CURSOR prefetching works when PHP is linked with Oracle 11gR2 or later Client libraries
oci_set_prefetch($refcur, 200);
oci_execute($refcur);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($refcur, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>".($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;")."</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

oci_free_statement($refcur);
oci_free_statement($stid);
oci_close($conn);

?>

If PHP OCI8 fetches from a REF CURSOR and then passes the REF CURSOR back to a second PL/SQL procedure for further processing, then set the REF CURSOR prefetch count to 0 to avoid rows being "lost" from the result set. The prefetch value is the number of extra rows fetched in each OCI8 internal request to the database, so setting it to 0 means only fetch one row at a time.

Beispiel #3 Setting the prefetch value when passing a REF CURSOR back to Oracle

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/orcl');

// get the REF CURSOR
$stid = oci_parse($conn, 'BEGIN myproc(:rc_out); END;');
$refcur = oci_new_cursor($conn);
oci_bind_by_name($stid, ':rc_out', $refcur, -1, OCI_B_CURSOR);
oci_execute($stid);

// Display two rows, but don't prefetch any extra rows otherwise
// those extra rows would not be passed back to myproc_use_rc().
// A prefetch value of 0 is allowed in PHP 5.3.2 and PECL OCI8 1.4
oci_set_prefetch($refcur, 0);
oci_execute($refcur);
$row = oci_fetch_array($refcur);
var_dump($row);
$row = oci_fetch_array($refcur);
var_dump($row);

// pass the REF CURSOR to myproc_use_rc() to do more data processing
// with the result set
$stid = oci_parse($conn, 'begin myproc_use_rc(:rc_in); end;');
oci_bind_by_name($stid, ':rc_in', $refcur, -1, OCI_B_CURSOR);
oci_execute($stid);

?>

Siehe auch

  • oci8.default_prefetch ini option

oci_set_module_name
oci_statement_type
OCI8 Funktionen


Returns the type of a statement

oci_set_prefetch
OCI-Collection
OCI8 Funktionen
PHP Manual

oci_statement_type

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_statement_type — Returns the type of a statement

Beschreibung

string oci_statement_type ( resource $statement )

Returns a keyword identifying the type of the OCI8 statement.

Parameter-Liste

statement

A valid OCI8 statement identifier from oci_parse().

Rückgabewerte

Returns the type of statement as one of the following strings.

Statement type
Return String | Notes
ALTER |
BEGIN |
CALL | Introduced in PHP 5.2.1 (PECL OCI8 1.2.3)
CREATE |
DECLARE |
DELETE |
DROP |
INSERT |
SELECT |
UPDATE |
UNKNOWN |

Returns FALSE on error.

Beispiele

Beispiel #1 oci_statement_type() example

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'DELETE FROM departments WHERE department_id = 130;');
if (oci_statement_type($stid) == "DELETE") {
    trigger_error('You are not allowed to delete from this table', E_USER_ERROR);
}
else {
    oci_execute($stid);  // delete the row
}

oci_free_statement($stid);
oci_close($conn);

?>

oci_set_prefetch
OCI-Collection
OCI8 Funktionen


The OCI-Collection class

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

Einführung

OCI8 Collection functionality.

Klassenbeschreibung

OCI-Collection {
/* Methoden */
bool append ( mixed $value )
bool assign ( OCI-Collection $from )
bool assignElem ( int $index , mixed $value )
bool free ( void )
mixed getElem ( int $index )
int max ( void )
int size ( void )
bool trim ( int $num )
}

Inhaltsverzeichnis

  • OCI-Collection::append — Appends element to the collection
  • OCI-Collection::assign — Assigns a value to the collection from another existing collection
  • OCI-Collection::assignElem — Assigns a value to the element of the collection
  • OCI-Collection::free — Frees the resources associated with the collection object
  • OCI-Collection::getElem — Returns value of the element
  • OCI-Collection::max — Returns the maximum number of elements in the collection
  • OCI-Collection::size — Returns size of the collection
  • OCI-Collection::trim — Trims elements from the end of the collection
oci_statement_type
OCI-Collection::append
OCI8


Appends element to the collection

OCI-Collection
OCI-Collection::assign
OCI-Collection
PHP Manual

OCI-Collection::append

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

OCI-Collection::append — Appends element to the collection

Beschreibung

bool OCI-Collection::append ( mixed $value )

Appends element to the end of the collection.

Parameter-Liste

value

The value to be added to the collection. Can be a string or a number.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • OCI-Collection::assign

OCI-Collection
OCI-Collection::assign
OCI-Collection


Assigns a value to the collection from another existing collection

OCI-Collection::append
OCI-Collection::assignElem
OCI-Collection
PHP Manual

OCI-Collection::assign

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

OCI-Collection::assign — Assigns a value to the collection from another existing collection

Beschreibung

bool OCI-Collection::assign ( OCI-Collection $from )

Assigns a value to the collection from another, previously created collection. Both collections must be created with oci_new_collection() prior to using them.

Parameter-Liste

from

An instance of OCI-Collection.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • OCI-Collection::append

OCI-Collection::append
OCI-Collection::assignElem
OCI-Collection


Assigns a value to the element of the collection

OCI-Collection::assign
OCI-Collection::free
OCI-Collection
PHP Manual

OCI-Collection::assignElem

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

OCI-Collection::assignElem — Assigns a value to the element of the collection

Beschreibung

bool OCI-Collection::assignElem ( int $index , mixed $value )

Assigns a value to the element with index index.

Parameter-Liste

index

The element index. First index is 0.

value

Can be a string or a number.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • OCI-Collection::getElem

OCI-Collection::assign
OCI-Collection::free
OCI-Collection


Frees the resources associated with the collection object

OCI-Collection::assignElem
OCI-Collection::getElem
OCI-Collection
PHP Manual

OCI-Collection::free

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

OCI-Collection::free — Frees the resources associated with the collection object

Beschreibung

bool OCI-Collection::free ( void )

Frees the resources associated with the collection object.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • oci_new_collection

OCI-Collection::assignElem
OCI-Collection::getElem
OCI-Collection


Returns value of the element

OCI-Collection::free
OCI-Collection::max
OCI-Collection
PHP Manual

OCI-Collection::getElem

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

OCI-Collection::getElem — Returns value of the element

Beschreibung

mixed OCI-Collection::getElem ( int $index )

Returns element's value with the index index (0-based).

Parameter-Liste

index

The element index. First index is 0.

Rückgabewerte

Returns FALSE if such element doesn't exist; NULL if element is NULL; string if element is column of a string datatype or number if element is numeric field.

Siehe auch

  • OCI-Collection::assignElem

OCI-Collection::free
OCI-Collection::max
OCI-Collection


Returns the maximum number of elements in the collection

OCI-Collection::getElem
OCI-Collection::size
OCI-Collection
PHP Manual

OCI-Collection::max

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

OCI-Collection::max — Returns the maximum number of elements in the collection

Beschreibung

int OCI-Collection::max ( void )

Returns the maximum number of elements in the collection.

Rückgabewerte

Returns the maximum number as an integer, or FALSE on errors.

If the returned value is 0, then the number of elements is not limited.

Siehe auch

  • OCI-Collection::size

OCI-Collection::getElem
OCI-Collection::size
OCI-Collection


Returns size of the collection

OCI-Collection::max
OCI-Collection::trim
OCI-Collection
PHP Manual

OCI-Collection::size

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

OCI-Collection::size — Returns size of the collection

Beschreibung

int OCI-Collection::size ( void )

Returns the size of the collection.

Rückgabewerte

Returns the number of elements in the collection or FALSE on error.

Siehe auch

  • OCI-Collection::max

OCI-Collection::max
OCI-Collection::trim
OCI-Collection


Trims elements from the end of the collection

OCI-Collection::size
OCI-Lob
OCI-Collection
PHP Manual

OCI-Collection::trim

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

OCI-Collection::trim — Trims elements from the end of the collection

Beschreibung

bool OCI-Collection::trim ( int $num )

Trims num of elements from the end of the collection.

Parameter-Liste

num

The number of elements to be trimmed.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • OCI-Collection::size

OCI-Collection::size
OCI-Lob
OCI-Collection


The OCI-Lob class

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

Einführung

OCI8 LOB functionality for large binary (BLOB) and character (CLOB) objects.

Klassenbeschreibung

OCI-Lob {
/* Methoden */
bool append ( OCI-Lob $lob_from )
bool close ( void )
bool eof ( void )
int erase ([ int $offset [, int $length ]] )
bool export ( string $filename [, int $start [, int $length ]] )
bool flush ([ int $flag ] )
bool free ( void )
bool getBuffering ( void )
bool import ( string $filename )
string load ( void )
string read ( int $length )
bool rewind ( void )
bool save ( string $data [, int $offset ] )
bool seek ( int $offset [, int $whence = OCI_SEEK_SET ] )
bool setBuffering ( bool $on_off )
int size ( void )
int tell ( void )
bool truncate ([ int $length = 0 ] )
int write ( string $data [, int $length ] )
bool writeTemporary ( string $data [, int $lob_type = OCI_TEMP_CLOB ] )
}

Inhaltsverzeichnis

  • OCI-Lob::append — Appends data from the large object to another large object
  • OCI-Lob::close — Closes LOB descriptor
  • OCI-Lob::eof — Tests for end-of-file on a large object's descriptor
  • OCI-Lob::erase — Erases a specified portion of the internal LOB data
  • OCI-Lob::export — Exports LOB's contents to a file
  • OCI-Lob::flush — Flushes/writes buffer of the LOB to the server
  • OCI-Lob::free — Frees resources associated with the LOB descriptor
  • OCI-Lob::getBuffering — Returns current state of buffering for the large object
  • OCI-Lob::import — Imports file data to the LOB
  • OCI-Lob::load — Returns large object's contents
  • OCI-Lob::read — Reads part of the large object
  • OCI-Lob::rewind — Moves the internal pointer to the beginning of the large object
  • OCI-Lob::save — Saves data to the large object
  • OCI-Lob::saveFile — Alias von OCI-Lob::import
  • OCI-Lob::seek — Sets the internal pointer of the large object
  • OCI-Lob::setBuffering — Changes current state of buffering for the large object
  • OCI-Lob::size — Returns size of large object
  • OCI-Lob::tell — Returns the current position of internal pointer of large object
  • OCI-Lob::truncate — Truncates large object
  • OCI-Lob::write — Writes data to the large object
  • OCI-Lob::writeTemporary — Writes a temporary large object
  • OCI-Lob::writeToFile — Alias von OCI-Lob::export
OCI-Collection::trim
OCI-Lob::append
OCI8


Appends data from the large object to another large object

OCI-Lob
OCI-Lob::close
OCI-Lob
PHP Manual

OCI-Lob::append

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

OCI-Lob::append — Appends data from the large object to another large object

Beschreibung

bool OCI-Lob::append ( OCI-Lob $lob_from )

Appends data from the large object to the end of another large object.

Writing to the large object with this method will fail if buffering was previously enabled. You must disable buffering before appending. You may need to flush buffers with OCI-Lob::flush before disabling buffering.

Parameter-Liste

lob_from

The copied LOB.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • OCI-Lob::flush
  • OCI-Lob::setBuffering
  • OCI-Lob::getBuffering

OCI-Lob
OCI-Lob::close
OCI-Lob


Closes LOB descriptor

OCI-Lob::append
OCI-Lob::eof
OCI-Lob
PHP Manual

OCI-Lob::close

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

OCI-Lob::close — Closes LOB descriptor

Beschreibung

bool OCI-Lob::close ( void )

Closes descriptor of LOB or FILE. This function should be used only with OCI-Lob::writeTemporary.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • OCI-Lob::writeTemporary

OCI-Lob::append
OCI-Lob::eof
OCI-Lob


Tests for end-of-file on a large object's descriptor

OCI-Lob::close
OCI-Lob::erase
OCI-Lob
PHP Manual

OCI-Lob::eof

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

OCI-Lob::eof — Tests for end-of-file on a large object's descriptor

Beschreibung

bool OCI-Lob::eof ( void )

Tells whether the internal pointer of large object is at the end of LOB.

Rückgabewerte

Returns TRUE if internal pointer of large object is at the end of LOB. Otherwise returns FALSE.

Anmerkungen

Hinweis:

This function will return an Oracle error if OCI-Lob::setBuffering is enabled on the LOB.

Siehe auch

  • OCI-Lob::size

OCI-Lob::close
OCI-Lob::erase
OCI-Lob


Erases a specified portion of the internal LOB data

OCI-Lob::eof
OCI-Lob::export
OCI-Lob
PHP Manual

OCI-Lob::erase

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

OCI-Lob::erase — Erases a specified portion of the internal LOB data

Beschreibung

int OCI-Lob::erase ([ int $offset [, int $length ]] )

Erases a specified portion of the internal LOB data starting at a specified offset. If called without parameters, it erases all LOB data.

For BLOBs, erasing means that the existing LOB value is overwritten with zero-bytes. For CLOBs, the existing LOB value is overwritten with spaces.

Parameter-Liste

offset

length

Rückgabewerte

Returns the actual number of characters/bytes erased Im Fehlerfall wird FALSE zurückgegeben..

Siehe auch

  • OCI-Lob::truncate

OCI-Lob::eof
OCI-Lob::export
OCI-Lob


Exports LOB's contents to a file

OCI-Lob::erase
OCI-Lob::flush
OCI-Lob
PHP Manual

OCI-Lob::export

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

OCI-Lob::export — Exports LOB's contents to a file

Beschreibung

bool OCI-Lob::export ( string $filename [, int $start [, int $length ]] )

Exports LOB contents to a file.

Parameter-Liste

filename

Path to the file.

start

Indicates from where to start exporting.

length

Indicates the length of data to be exported.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • OCI-Lob::import

OCI-Lob::erase
OCI-Lob::flush
OCI-Lob


Flushes/writes buffer of the LOB to the server

OCI-Lob::export
OCI-Lob::free
OCI-Lob
PHP Manual

OCI-Lob::flush

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

OCI-Lob::flush — Flushes/writes buffer of the LOB to the server

Beschreibung

bool OCI-Lob::flush ([ int $flag ] )

OCI-Lob::flush() actually writes data to the server.

Parameter-Liste

flag

By default, resources are not freed, but using flag OCI_LOB_BUFFER_FREE you can do it explicitly. Be sure you know what you're doing - next read/write operation to the same part of LOB will involve a round-trip to the server and initialize new buffer resources. It is recommended to use OCI_LOB_BUFFER_FREE flag only when you are not going to work with the LOB anymore.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Returns FALSE if buffering was not enabled or an error occurred.

Siehe auch

  • OCI-Lob::getBuffering
  • OCI-Lob::setBuffering

OCI-Lob::export
OCI-Lob::free
OCI-Lob


Frees resources associated with the LOB descriptor

OCI-Lob::flush
OCI-Lob::getBuffering
OCI-Lob
PHP Manual

OCI-Lob::free

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

OCI-Lob::free — Frees resources associated with the LOB descriptor

Beschreibung

bool OCI-Lob::free ( void )

Frees resources associated with the descriptor, previously allocated with oci_new_descriptor().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

OCI-Lob::flush
OCI-Lob::getBuffering
OCI-Lob


Returns current state of buffering for the large object

OCI-Lob::free
OCI-Lob::import
OCI-Lob
PHP Manual

OCI-Lob::getBuffering

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

OCI-Lob::getBuffering — Returns current state of buffering for the large object

Beschreibung

bool OCI-Lob::getBuffering ( void )

Tells whether the buffering for the large object is on or off.

Rückgabewerte

Returns FALSE if buffering for the large object is off and TRUE if buffering is used.

Siehe auch

  • OCI-Lob::setBuffering

OCI-Lob::free
OCI-Lob::import
OCI-Lob


Imports file data to the LOB

OCI-Lob::getBuffering
OCI-Lob::load
OCI-Lob
PHP Manual

OCI-Lob::import

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

OCI-Lob::import — Imports file data to the LOB

Beschreibung

bool OCI-Lob::import ( string $filename )

Writes data from the filename in to the current position of large object.

Parameter-Liste

filename

Path to the file.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • OCI-Lob::export
  • OCI-Lob::write

OCI-Lob::getBuffering
OCI-Lob::load
OCI-Lob


Returns large object's contents

OCI-Lob::import
OCI-Lob::read
OCI-Lob
PHP Manual

OCI-Lob::load

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

OCI-Lob::load — Returns large object's contents

Beschreibung

string OCI-Lob::load ( void )

Returns large object's contents. As script execution is terminated when the memory_limit is reached, ensure that the LOB does not exceed this limit. In most cases it's recommended to use OCI-Lob::read instead.

Rückgabewerte

Returns the contents of the object, or FALSE on errors.

Siehe auch

  • OCI-Lob::read

OCI-Lob::import
OCI-Lob::read
OCI-Lob


Reads part of the large object

OCI-Lob::load
OCI-Lob::rewind
OCI-Lob
PHP Manual

OCI-Lob::read

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

OCI-Lob::read — Reads part of the large object

Beschreibung

string OCI-Lob::read ( int $length )

Reads length bytes from the current position of LOB's internal pointer.

Reading stops when length bytes have been read or end of the large object is reached. Internal pointer of the large object will be shifted on the amount of bytes read.

Parameter-Liste

length

The length of data to read, in bytes. Large values will be rounded down to 1 MB.

Rückgabewerte

Returns the contents as a string, Im Fehlerfall wird FALSE zurückgegeben..

Siehe auch

  • OCI-Lob::load
  • OCI-Lob::write

OCI-Lob::load
OCI-Lob::rewind
OCI-Lob


Moves the internal pointer to the beginning of the large object

OCI-Lob::read
OCI-Lob::save
OCI-Lob
PHP Manual

OCI-Lob::rewind

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

OCI-Lob::rewind — Moves the internal pointer to the beginning of the large object

Beschreibung

bool OCI-Lob::rewind ( void )

Sets the internal pointer to the beginning of the large object.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • OCI-Lob::seek
  • OCI-Lob::tell

OCI-Lob::read
OCI-Lob::save
OCI-Lob


Saves data to the large object

OCI-Lob::rewind
OCI-Lob::saveFile
OCI-Lob
PHP Manual

OCI-Lob::save

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

OCI-Lob::save — Saves data to the large object

Beschreibung

bool OCI-Lob::save ( string $data [, int $offset ] )

Saves data to the large object.

Parameter-Liste

data

The data to be saved.

offset

Can be used to indicate offset from the beginning of the large object.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • OCI-Lob::write
  • OCI-Lob::import

OCI-Lob::rewind
OCI-Lob::saveFile
OCI-Lob


Alias von OCI-Lob::import

OCI-Lob::save
OCI-Lob::seek
OCI-Lob
PHP Manual

OCI-Lob::saveFile

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

OCI-Lob::saveFile — Alias von OCI-Lob::import()

Beschreibung

Diese Funktion ist ein Alias für: OCI-Lob::import().

OCI-Lob::save
OCI-Lob::seek
OCI-Lob


Sets the internal pointer of the large object

OCI-Lob::saveFile
OCI-Lob::setBuffering
OCI-Lob
PHP Manual

OCI-Lob::seek

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

OCI-Lob::seek — Sets the internal pointer of the large object

Beschreibung

bool OCI-Lob::seek ( int $offset [, int $whence = OCI_SEEK_SET ] )

Sets the internal pointer of the large object.

Parameter-Liste

offset

Indicates the amount of bytes, on which internal pointer should be moved from the position, pointed by whence.

whence

May be one of:

  • OCI_SEEK_SET - sets the position equal to offset
  • OCI_SEEK_CUR - adds offset bytes to the current position
  • OCI_SEEK_END - adds offset bytes to the end of large object (use negative value to move to a position before the end of large object)

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • OCI-Lob::rewind
  • OCI-Lob::tell
  • OCI-Lob::eof

OCI-Lob::saveFile
OCI-Lob::setBuffering
OCI-Lob


Changes current state of buffering for the large object

OCI-Lob::seek
OCI-Lob::size
OCI-Lob
PHP Manual

OCI-Lob::setBuffering

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

OCI-Lob::setBuffering — Changes current state of buffering for the large object

Beschreibung

bool OCI-Lob::setBuffering ( bool $on_off )

Sets the buffering for the large object, depending on the value of the on_off parameter.

Use of this function may provide performance improvements by buffering small reads and writes of LOBs by reducing the number of network round-trips and LOB versions. OCI-Lob::flush() should be used to flush buffers, when you have finished working with the large object.

Parameter-Liste

on_off

TRUE for on and FALSE for off.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. Repeated calls to this method with the same flag will return TRUE.

Siehe auch

  • OCI-Lob::getBuffering

OCI-Lob::seek
OCI-Lob::size
OCI-Lob


Returns size of large object

OCI-Lob::setBuffering
OCI-Lob::tell
OCI-Lob
PHP Manual

OCI-Lob::size

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

OCI-Lob::size — Returns size of large object

Beschreibung

int OCI-Lob::size ( void )

Gets the size of the large object.

Rückgabewerte

Returns length of large object value Im Fehlerfall wird FALSE zurückgegeben.. Empty objects have zero length.

OCI-Lob::setBuffering
OCI-Lob::tell
OCI-Lob


Returns the current position of internal pointer of large object

OCI-Lob::size
OCI-Lob::truncate
OCI-Lob
PHP Manual

OCI-Lob::tell

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

OCI-Lob::tell — Returns the current position of internal pointer of large object

Beschreibung

int OCI-Lob::tell ( void )

Gets the current position of a LOB's internal pointer.

Rückgabewerte

Returns current position of a LOB's internal pointer or FALSE if an error occurred.

Siehe auch

  • OCI-Lob::rewind
  • OCI-Lob::size
  • OCI-Lob::eof

OCI-Lob::size
OCI-Lob::truncate
OCI-Lob


Truncates large object

OCI-Lob::tell
OCI-Lob::write
OCI-Lob
PHP Manual

OCI-Lob::truncate

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

OCI-Lob::truncate — Truncates large object

Beschreibung

bool OCI-Lob::truncate ([ int $length = 0 ] )

Truncates the LOB.

Parameter-Liste

length

If provided, this method will truncate the LOB to length bytes. Otherwise, it will completely purge the LOB.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • OCI-Lob::erase

OCI-Lob::tell
OCI-Lob::write
OCI-Lob


Writes data to the large object

OCI-Lob::truncate
OCI-Lob::writeTemporary
OCI-Lob
PHP Manual

OCI-Lob::write

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

OCI-Lob::write — Writes data to the large object

Beschreibung

int OCI-Lob::write ( string $data [, int $length ] )

Writes data from the parameter data into the current position of LOB's internal pointer.

Parameter-Liste

data

The data to write in the LOB.

length

If this parameter is given, writing will stop after length bytes have been written or the end of data is reached, whichever comes first.

Rückgabewerte

Returns the number of bytes written Im Fehlerfall wird FALSE zurückgegeben..

Siehe auch

  • OCI-Lob::read

OCI-Lob::truncate
OCI-Lob::writeTemporary
OCI-Lob


Writes a temporary large object

OCI-Lob::write
OCI-Lob::writeToFile
OCI-Lob
PHP Manual

OCI-Lob::writeTemporary

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

OCI-Lob::writeTemporary — Writes a temporary large object

Beschreibung

bool OCI-Lob::writeTemporary ( string $data [, int $lob_type = OCI_TEMP_CLOB ] )

Creates a temporary large object and writes data to it.

You should use OCI-Lob::close when you are done with this object.

Parameter-Liste

data

The data to write.

lob_type

Can be one of the following:

  • OCI_TEMP_BLOB is used to create temporary BLOBs
  • OCI_TEMP_CLOB is used to create temporary CLOBs

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • OCI-Lob::close

OCI-Lob::write
OCI-Lob::writeToFile
OCI-Lob


Alias von OCI-Lob::export

OCI-Lob::writeTemporary
OCI8 - Veraltete Aliase und Funktionen
OCI-Lob
PHP Manual

OCI-Lob::writeToFile

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

OCI-Lob::writeToFile — Alias von OCI-Lob::export()

Beschreibung

Diese Funktion ist ein Alias für: OCI-Lob::export().

OCI-Lob::writeTemporary
OCI8 - Veraltete Aliase und Funktionen
OCI-Lob


OCI8 - Veraltete Aliase und Funktionen

Inhaltsverzeichnis

  • ocibindbyname — Alias von oci_bind_by_name
  • ocicancel — Alias von oci_cancel
  • ocicloselob — Alias von OCI-Lob::close
  • ocicollappend — Alias von OCI-Collection::append
  • ocicollassign — Alias von OCI-Collection::assign
  • ocicollassignelem — Alias von OCI-Collection::assignElem
  • ocicollgetelem — Alias von OCI-Collection::getElem
  • ocicollmax — Alias von OCI-Collection::max
  • ocicollsize — Alias von OCI-Collection::size
  • ocicolltrim — Alias von OCI-Collection::trim
  • ocicolumnisnull — Alias von oci_field_is_null
  • ocicolumnname — Alias von oci_field_name
  • ocicolumnprecision — Alias von oci_field_precision
  • ocicolumnscale — Alias von oci_field_scale
  • ocicolumnsize — Alias von oci_field_size
  • ocicolumntype — Alias von oci_field_type
  • ocicolumntyperaw — Alias von oci_field_type_raw
  • ocicommit — Alias von oci_commit
  • ocidefinebyname — Alias von oci_define_by_name
  • ocierror — Alias von oci_error
  • ociexecute — Alias von oci_execute
  • ocifetch — Alias von oci_fetch
  • ocifetchinto — Veraltete Variante von oci_fetch_array, oci_fetch_object, oci_fetch_assoc und oci_fetch_row
  • ocifetchstatement — Alias von oci_fetch_all
  • ocifreecollection — Alias von OCI-Collection::free
  • ocifreecursor — Alias von oci_free_statement
  • ocifreedesc — Alias von OCI-Lob::free
  • ocifreestatement — Alias von oci_free_statement
  • ociinternaldebug — Alias von oci_internal_debug
  • ociloadlob — Alias von OCI-Lob::load
  • ocilogoff — Alias von oci_close
  • ocilogon — Alias von oci_connect
  • ocinewcollection — Alias von oci_new_collection
  • ocinewcursor — Alias von oci_new_cursor
  • ocinewdescriptor — Alias von oci_new_descriptor
  • ocinlogon — Alias von oci_new_connect
  • ocinumcols — Alias von oci_num_fields
  • ociparse — Alias von oci_parse
  • ociplogon — Alias von oci_pconnect
  • ociresult — Alias von oci_result
  • ocirollback — Alias von oci_rollback
  • ocirowcount — Alias von oci_num_rows
  • ocisavelob — Alias von OCI-Lob::save
  • ocisavelobfile — Alias von OCI-Lob::import
  • ociserverversion — Alias von oci_server_version
  • ocisetprefetch — Alias von oci_set_prefetch
  • ocistatementtype — Alias von oci_statement_type
  • ociwritelobtofile — Alias von OCI-Lob::export
  • ociwritetemporarylob — Alias von OCI-Lob::writeTemporary
OCI-Lob::writeToFile
ocibindbyname
OCI8


Alias von oci_bind_by_name

OCI8 - Veraltete Aliase und Funktionen
ocicancel
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocibindbyname

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocibindbyname — Alias von oci_bind_by_name()

Beschreibung

Alias von oci_bind_by_name()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

OCI8 - Veraltete Aliase und Funktionen
ocicancel
OCI8 - Veraltete Aliase und Funktionen


Alias von oci_cancel

ocibindbyname
ocicloselob
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocicancel

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocicancel — Alias von oci_cancel()

Beschreibung

Alias von oci_cancel()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocibindbyname
ocicloselob
OCI8 - Veraltete Aliase und Funktionen


Alias von OCI-Lob::close

ocicancel
ocicollappend
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocicloselob

(PHP 4 >= 4.0.6, PECL OCI8 1.0)

ocicloselob — Alias von OCI-Lob::close()

Beschreibung

Alias von OCI-Lob::close()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocicancel
ocicollappend
OCI8 - Veraltete Aliase und Funktionen


Alias von OCI-Collection::append

ocicloselob
ocicollassign
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocicollappend

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocicollappend — Alias von OCI-Collection::append()

Beschreibung

Alias von OCI-Collection::append()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocicloselob
ocicollassign
OCI8 - Veraltete Aliase und Funktionen


Alias von OCI-Collection::assign

ocicollappend
ocicollassignelem
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocicollassign

(PHP 4 >= 4.0.6, PECL OCI8 1.0)

ocicollassign — Alias von OCI-Collection::assign()

Beschreibung

Alias von OCI-Collection::assign()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocicollappend
ocicollassignelem
OCI8 - Veraltete Aliase und Funktionen


Alias von OCI-Collection::assignElem

ocicollassign
ocicollgetelem
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocicollassignelem

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocicollassignelem — Alias von OCI-Collection::assignElem()

Beschreibung

Alias von OCI-Collection::assignElem()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocicollassign
ocicollgetelem
OCI8 - Veraltete Aliase und Funktionen


Alias von OCI-Collection::getElem

ocicollassignelem
ocicollmax
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocicollgetelem

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocicollgetelem — Alias von OCI-Collection::getElem()

Beschreibung

Alias von OCI-Collection::getElem()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocicollassignelem
ocicollmax
OCI8 - Veraltete Aliase und Funktionen


Alias von OCI-Collection::max

ocicollgetelem
ocicollsize
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocicollmax

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocicollmax — Alias von OCI-Collection::max()

Beschreibung

Alias von OCI-Collection::max()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocicollgetelem
ocicollsize
OCI8 - Veraltete Aliase und Funktionen


Alias von OCI-Collection::size

ocicollmax
ocicolltrim
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocicollsize

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocicollsize — Alias von OCI-Collection::size()

Beschreibung

Alias von OCI-Collection::size()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocicollmax
ocicolltrim
OCI8 - Veraltete Aliase und Funktionen


Alias von OCI-Collection::trim

ocicollsize
ocicolumnisnull
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocicolltrim

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocicolltrim — Alias von OCI-Collection::trim()

Beschreibung

Alias von OCI-Collection::trim()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocicollsize
ocicolumnisnull
OCI8 - Veraltete Aliase und Funktionen


Alias von oci_field_is_null

ocicolltrim
ocicolumnname
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocicolumnisnull

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocicolumnisnull — Alias von oci_field_is_null()

Beschreibung

Alias von oci_field_is_null()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocicolltrim
ocicolumnname
OCI8 - Veraltete Aliase und Funktionen


Alias von oci_field_name

ocicolumnisnull
ocicolumnprecision
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocicolumnname

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocicolumnname — Alias von oci_field_name()

Beschreibung

Alias von oci_field_name()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocicolumnisnull
ocicolumnprecision
OCI8 - Veraltete Aliase und Funktionen


Alias von oci_field_precision

ocicolumnname
ocicolumnscale
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocicolumnprecision

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocicolumnprecision — Alias von oci_field_precision()

Beschreibung

Alias von oci_field_precision()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocicolumnname
ocicolumnscale
OCI8 - Veraltete Aliase und Funktionen


Alias von oci_field_scale

ocicolumnprecision
ocicolumnsize
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocicolumnscale

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocicolumnscale — Alias von oci_field_scale()

Beschreibung

Alias von oci_field_scale()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocicolumnprecision
ocicolumnsize
OCI8 - Veraltete Aliase und Funktionen


Alias von oci_field_size

ocicolumnscale
ocicolumntype
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocicolumnsize

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocicolumnsize — Alias von oci_field_size()

Beschreibung

Alias von oci_field_size()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocicolumnscale
ocicolumntype
OCI8 - Veraltete Aliase und Funktionen


Alias von oci_field_type

ocicolumnsize
ocicolumntyperaw
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocicolumntype

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocicolumntype — Alias von oci_field_type()

Beschreibung

Alias von oci_field_type()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocicolumnsize
ocicolumntyperaw
OCI8 - Veraltete Aliase und Funktionen


Alias von oci_field_type_raw

ocicolumntype
ocicommit
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocicolumntyperaw

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocicolumntyperaw — Alias von oci_field_type_raw()

Beschreibung

Alias von oci_field_type_raw()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocicolumntype
ocicommit
OCI8 - Veraltete Aliase und Funktionen


Alias von oci_commit

ocicolumntyperaw
ocidefinebyname
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocicommit

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocicommit — Alias von oci_commit()

Beschreibung

Alias von oci_commit()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocicolumntyperaw
ocidefinebyname
OCI8 - Veraltete Aliase und Funktionen


Alias von oci_define_by_name

ocicommit
ocierror
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocidefinebyname

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocidefinebyname — Alias von oci_define_by_name()

Beschreibung

Alias von oci_define_by_name()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocicommit
ocierror
OCI8 - Veraltete Aliase und Funktionen


Alias von oci_error

ocidefinebyname
ociexecute
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocierror

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocierror — Alias von oci_error()

Beschreibung

Alias von oci_error()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocidefinebyname
ociexecute
OCI8 - Veraltete Aliase und Funktionen


Alias von oci_execute

ocierror
ocifetch
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ociexecute

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ociexecute — Alias von oci_execute()

Beschreibung

Alias von oci_execute()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocierror
ocifetch
OCI8 - Veraltete Aliase und Funktionen


Alias von oci_fetch

ociexecute
ocifetchinto
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocifetch

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocifetch — Alias von oci_fetch()

Beschreibung

Alias von oci_fetch()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ociexecute
ocifetchinto
OCI8 - Veraltete Aliase und Funktionen


Veraltete Variante von oci_fetch_array, oci_fetch_object, oci_fetch_assoc und oci_fetch_row

ocifetch
ocifetchstatement
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocifetchinto

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocifetchinto —
   Veraltete Variante von oci_fetch_array(),
   oci_fetch_object(), oci_fetch_assoc()
   und oci_fetch_row()

Beschreibung

Veraltete Variante von oci_fetch_array(),
oci_fetch_object(), oci_fetch_assoc()
und oci_fetch_row().

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocifetch
ocifetchstatement
OCI8 - Veraltete Aliase und Funktionen


Alias von oci_fetch_all

ocifetchinto
ocifreecollection
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocifetchstatement

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocifetchstatement — Alias von oci_fetch_all()

Beschreibung

Alias von oci_fetch_all()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocifetchinto
ocifreecollection
OCI8 - Veraltete Aliase und Funktionen


Alias von OCI-Collection::free

ocifetchstatement
ocifreecursor
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocifreecollection

(PHP 4 >= 4.0.7, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocifreecollection — Alias von OCI-Collection::free()

Beschreibung

Alias von OCI-Collection::free()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocifetchstatement
ocifreecursor
OCI8 - Veraltete Aliase und Funktionen


Alias von oci_free_statement

ocifreecollection
ocifreedesc
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocifreecursor

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocifreecursor — Alias von oci_free_statement()

Beschreibung

Alias von oci_free_statement()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocifreecollection
ocifreedesc
OCI8 - Veraltete Aliase und Funktionen


Alias von OCI-Lob::free

ocifreecursor
ocifreestatement
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocifreedesc

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocifreedesc — Alias von OCI-Lob::free()

Beschreibung

Alias von OCI-Lob::free()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocifreecursor
ocifreestatement
OCI8 - Veraltete Aliase und Funktionen


Alias von oci_free_statement

ocifreedesc
ociinternaldebug
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocifreestatement

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocifreestatement — Alias von oci_free_statement()

Beschreibung

Alias von oci_free_statement()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocifreedesc
ociinternaldebug
OCI8 - Veraltete Aliase und Funktionen


Alias von oci_internal_debug

ocifreestatement
ociloadlob
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ociinternaldebug

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ociinternaldebug — Alias von oci_internal_debug()

Beschreibung

Alias von oci_internal_debug()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocifreestatement
ociloadlob
OCI8 - Veraltete Aliase und Funktionen


Alias von OCI-Lob::load

ociinternaldebug
ocilogoff
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ociloadlob

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ociloadlob — Alias von OCI-Lob::load()

Beschreibung

Alias von OCI-Lob::load()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ociinternaldebug
ocilogoff
OCI8 - Veraltete Aliase und Funktionen


Alias von oci_close

ociloadlob
ocilogon
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocilogoff

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocilogoff — Alias von oci_close()

Beschreibung

Alias von oci_close()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ociloadlob
ocilogon
OCI8 - Veraltete Aliase und Funktionen


Alias von oci_connect

ocilogoff
ocinewcollection
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocilogon

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocilogon — Alias von oci_connect()

Beschreibung

Alias von oci_connect()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocilogoff
ocinewcollection
OCI8 - Veraltete Aliase und Funktionen


Alias von oci_new_collection

ocilogon
ocinewcursor
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocinewcollection

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocinewcollection — Alias von oci_new_collection()

Beschreibung

Alias von oci_new_collection()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocilogon
ocinewcursor
OCI8 - Veraltete Aliase und Funktionen


Alias von oci_new_cursor

ocinewcollection
ocinewdescriptor
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocinewcursor

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocinewcursor — Alias von oci_new_cursor()

Beschreibung

Alias von oci_new_cursor()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocinewcollection
ocinewdescriptor
OCI8 - Veraltete Aliase und Funktionen


Alias von oci_new_descriptor

ocinewcursor
ocinlogon
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocinewdescriptor

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocinewdescriptor — Alias von oci_new_descriptor()

Beschreibung

Alias von oci_new_descriptor()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocinewcursor
ocinlogon
OCI8 - Veraltete Aliase und Funktionen


Alias von oci_new_connect

ocinewdescriptor
ocinumcols
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocinlogon

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocinlogon — Alias von oci_new_connect()

Beschreibung

Alias von oci_new_connect()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocinewdescriptor
ocinumcols
OCI8 - Veraltete Aliase und Funktionen


Alias von oci_num_fields

ocinlogon
ociparse
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocinumcols

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocinumcols — Alias von oci_num_fields()

Beschreibung

Alias von oci_num_fields()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocinlogon
ociparse
OCI8 - Veraltete Aliase und Funktionen


Alias von oci_parse

ocinumcols
ociplogon
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ociparse

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ociparse — Alias von oci_parse()

Beschreibung

Alias von oci_parse()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocinumcols
ociplogon
OCI8 - Veraltete Aliase und Funktionen


Alias von oci_pconnect

ociparse
ociresult
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ociplogon

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ociplogon — Alias von oci_pconnect()

Beschreibung

Alias von oci_pconnect()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ociparse
ociresult
OCI8 - Veraltete Aliase und Funktionen


Alias von oci_result

ociplogon
ocirollback
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ociresult

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ociresult — Alias von oci_result()

Beschreibung

Alias von oci_result()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ociplogon
ocirollback
OCI8 - Veraltete Aliase und Funktionen


Alias von oci_rollback

ociresult
ocirowcount
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocirollback

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocirollback — Alias von oci_rollback()

Beschreibung

Alias von oci_rollback()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ociresult
ocirowcount
OCI8 - Veraltete Aliase und Funktionen


Alias von oci_num_rows

ocirollback
ocisavelob
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocirowcount

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocirowcount — Alias von oci_num_rows()

Beschreibung

Alias von oci_num_rows()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocirollback
ocisavelob
OCI8 - Veraltete Aliase und Funktionen


Alias von OCI-Lob::save

ocirowcount
ocisavelobfile
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocisavelob

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocisavelob — Alias von OCI-Lob::save()

Beschreibung

Alias von OCI-Lob::save()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocirowcount
ocisavelobfile
OCI8 - Veraltete Aliase und Funktionen


Alias von OCI-Lob::import

ocisavelob
ociserverversion
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocisavelobfile

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocisavelobfile — Alias von OCI-Lob::import()

Beschreibung

Alias von OCI-Lob::import()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocisavelob
ociserverversion
OCI8 - Veraltete Aliase und Funktionen


Alias von oci_server_version

ocisavelobfile
ocisetprefetch
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ociserverversion

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ociserverversion — Alias von oci_server_version()

Beschreibung

Alias von oci_server_version()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocisavelobfile
ocisetprefetch
OCI8 - Veraltete Aliase und Funktionen


Alias von oci_set_prefetch

ociserverversion
ocistatementtype
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocisetprefetch

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocisetprefetch — Alias von oci_set_prefetch()

Beschreibung

Alias von oci_set_prefetch()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ociserverversion
ocistatementtype
OCI8 - Veraltete Aliase und Funktionen


Alias von oci_statement_type

ocisetprefetch
ociwritelobtofile
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ocistatementtype

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocistatementtype — Alias von oci_statement_type()

Beschreibung

Alias von oci_statement_type()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocisetprefetch
ociwritelobtofile
OCI8 - Veraltete Aliase und Funktionen


Alias von OCI-Lob::export

ocistatementtype
ociwritetemporarylob
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ociwritelobtofile

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ociwritelobtofile — Alias von OCI-Lob::export()

Beschreibung

Alias von OCI-Lob::export()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ocistatementtype
ociwritetemporarylob
OCI8 - Veraltete Aliase und Funktionen


Alias von OCI-Lob::writeTemporary

ociwritelobtofile
Paradox
OCI8 - Veraltete Aliase und Funktionen
PHP Manual

ociwritetemporarylob

(PHP 4 >= 4.0.6, PECL OCI8 1.0)

ociwritetemporarylob — Alias von OCI-Lob::writeTemporary()

Beschreibung

Alias von OCI-Lob::writeTemporary()

Warnung

Dieser Alias wurde mit PHP 5.4.0 als DEPRECATED (veraltet) markiert. Sich auf diesen Alias zu verlassen ist in keiner Weise empfehlenswert.

ociwritelobtofile
Paradox
OCI8 - Veraltete Aliase und Funktionen


Paradox File Access

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Paradox Funktionen
    • px_close — Closes a paradox database
    • px_create_fp — Create a new paradox database
    • px_date2string — Converts a date into a string.
    • px_delete_record — Deletes record from paradox database
    • px_delete — Deletes resource of paradox database
    • px_get_field — Returns the specification of a single field
    • px_get_info — Return lots of information about a paradox file
    • px_get_parameter — Gets a parameter
    • px_get_record — Returns record of paradox database
    • px_get_schema — Returns the database schema
    • px_get_value — Gets a value
    • px_insert_record — Inserts record into paradox database
    • px_new — Create a new paradox object
    • px_numfields — Returns number of fields in a database
    • px_numrecords — Returns number of records in a database
    • px_open_fp — Open paradox database
    • px_put_record — Stores record into paradox database
    • px_retrieve_record — Returns record of paradox database
    • px_set_blob_file — Sets the file where blobs are read from
    • px_set_parameter — Sets a parameter
    • px_set_tablename — Sets the name of a table (deprecated)
    • px_set_targetencoding — Sets the encoding for character fields (deprecated)
    • px_set_value — Sets a value
    • px_timestamp2string — Converts the timestamp into a string.
    • px_update_record — Updates record in paradox database
ociwritetemporarylob
Einführung
Anbieterspezifische Datenbankerweiterungen


Einführung

This module allows to read and write Paradox databases, primary index files and blob files. Write support has been proven to be quite reliable, though due to lack of documentation the produced files may not in any case be readable by other applications. Encrypted databases can be read without specifying a password if pxlib >= 0.5.0 is used.

Hinweis:

This module is also in development and may change, though major changes to the API are not expected.

Warnung

Diese Erweiterung ist EXPERIMENTELL. Das Verhalten dieser Erweiterung, einschließlich der Funktionsnamen, und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Erweiterung auf eigenes Risiko.

Paradox
Installation/Konfiguration
Paradox


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Paradox


Anforderungen

You need at least PHP 5.0.0 and pxlib >= 0.4.4 for the basic set of functions. Some newer functions are only available with pxlib >= 0.6.0. Reading and writing of encrypted databases requires at least pxlib >= 0.5.0. The paradox library (pxlib) is available at » http://pxlib.sourceforge.net.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/paradox

Make sure you have pxlib installed before. If you install pxlib from an rpm or debian package, do not forget to install the development package as well.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Ressource-Typen

px_new() creates a new Paradox object required by all Paradox functions.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

The following two tables lists all constants defined by the paradox extension.

Contants for field types
Name | Meaning
PX_FIELD_ALPHA | Character data with fixed length
PX_FIELD_DATE | Date, number of days since 1.1.0000
PX_FIELD_SHORT | Short integer (2 Bytes)
PX_FIELD_LONG | Long integer (4 Bytes)
PX_FIELD_CURRENCY | same as PX_FIELD_NUMBER
PX_FIELD_NUMBER | Double
PX_FIELD_LOGICAL | Boolean
PX_FIELD_MEMOBLOB | Binary large object
PX_FIELD_BLOB | Binary large object (not supported)
PX_FIELD_FMTMEMOBLOB | Binary large object
PX_FIELD_OLE | OLE object (basically a blob, not supported)
PX_FIELD_GRAPHIC | Graphic (basically a blob, not supported)
PX_FIELD_TIME | time, number of milli seconds since midnight
PX_FIELD_TIMESTAMP | timestamp, number of milli seconds since 1.1.0000
PX_FIELD_AUTOINC | Auto incrementing interger (like PX_FIELD_LONG)
PX_FIELD_BCD | Decimal number stored in bcd format (not supported)
PX_FIELD_BYTES | Array of Bytes with not more than 255 bytes (not supported)
PX_KEYTOLOWER | Turn all field names into lower case
PX_KEYTOUPPER | Turn all field names into upper case
Contants for file types
Name | Meaning
PX_FILE_INDEX_DB | Indexed database
PX_FILE_PRIM_INDEX | Primary index
PX_FILE_NON_INDEX_DB | None indexed database
PX_FILE_NON_INC_SEC_INDEX | None incremental secondary index
PX_FILE_SEC_INDEX | Secondary index
PX_FILE_INC_SEC_INDEX | Incremental secondary index
PX_FILE_NON_INC_SEC_INDEX_G | Non incremental secondary index
PX_FILE_SEC_INDEX_G | Secondary index
PX_FILE_INC_SEC_INDEX_G | Non incremental secondary index

Ressource-Typen
Paradox Funktionen
Paradox


Paradox Funktionen

Object oriented API

The paradox extension provides also an object oriented API. It consists of only one class called paradox_db. Its methods only differ from the functions in its name and of course the missing first parameter. The following table will list all methods and its equivalent functions.

Methods of class paradox_db
Name of method | Equivalent function
Constructor | px_new()
Destructor | px_delete()
open_fp() | px_open_fp()
create_fp() | px_create_fp()
close() | px_close()
numrecords() | px_numrecords()
numfields() | px_numfields()
get_record() | px_get_record()
put_record() | px_put_record()
retrieve_record() | px_retrieve_record()
delete_record() | px_delete_record()
insert_record() | px_insert_record()
update_record() | px_update_record()
get_field() | px_get_field()
get_schema() | px_get_schema()
get_info() | px_get_info()
set_parameter() | px_set_parameter()
get_parameter() | px_get_parameter()
set_value() | px_set_value()
get_value() | px_get_value()
get_info() | px_get_info()
set_targetencoding() | px_set_targetencoding()
set_tablename() | px_set_tablename()
set_blob_file() | px_set_blob_file()
date2string() | px_date2string()
timestamp2string() | px_timestamp2string()

Inhaltsverzeichnis

  • px_close — Closes a paradox database
  • px_create_fp — Create a new paradox database
  • px_date2string — Converts a date into a string.
  • px_delete_record — Deletes record from paradox database
  • px_delete — Deletes resource of paradox database
  • px_get_field — Returns the specification of a single field
  • px_get_info — Return lots of information about a paradox file
  • px_get_parameter — Gets a parameter
  • px_get_record — Returns record of paradox database
  • px_get_schema — Returns the database schema
  • px_get_value — Gets a value
  • px_insert_record — Inserts record into paradox database
  • px_new — Create a new paradox object
  • px_numfields — Returns number of fields in a database
  • px_numrecords — Returns number of records in a database
  • px_open_fp — Open paradox database
  • px_put_record — Stores record into paradox database
  • px_retrieve_record — Returns record of paradox database
  • px_set_blob_file — Sets the file where blobs are read from
  • px_set_parameter — Sets a parameter
  • px_set_tablename — Sets the name of a table (deprecated)
  • px_set_targetencoding — Sets the encoding for character fields (deprecated)
  • px_set_value — Sets a value
  • px_timestamp2string — Converts the timestamp into a string.
  • px_update_record — Updates record in paradox database
Vordefinierte Konstanten
px_close
Paradox


Closes a paradox database

Paradox Funktionen
px_create_fp
Paradox Funktionen
PHP Manual

px_close

(PECL paradox >= 1.0.0)

px_close — Closes a paradox database

Beschreibung

bool px_close ( resource $pxdoc )

Closes the paradox database. This function will not close the file. You will have to call fclose() afterwards.

Parameter-Liste

pxdoc

Resource identifier of the paradox database as returned by px_new().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • px_open_fp() - Open paradox database
  • The example at px_new() - Create a new paradox object

Paradox Funktionen
px_create_fp
Paradox Funktionen


Create a new paradox database

px_close
px_date2string
Paradox Funktionen
PHP Manual

px_create_fp

(PECL paradox >= 1.0.0)

px_create_fp — Create a new paradox database

Beschreibung

bool px_create_fp ( resource $pxdoc , resource $file , array $fielddesc )

Create a new paradox database file. The actual file has to be opened before with fopen(). Make sure the file is writable.

Hinweis:

Calling this functions issues a warning about an empty tablename which can be safely ignored. Just set the tablename afterwards with px_set_parameter().

Hinweis:

This function is highly experimental, due to insufficient documentation of the paradox file format. Database files created with this function can be opened by px_open_fp() and has been successfully opened by the Paradox software, but your milage may vary.

Parameter-Liste

pxdoc

Resource identifier of the paradox database as returned by px_new().

file

File handle as returned by fopen().

fielddesc

fielddesc is an array containing one element for each field specification. A field specification is an array itself with either two or three elements.The first element is always a string value used as the name of the field. It may not be larger than ten characters. The second element contains the field type which is one of the constants listed in the table Constants for field types. In the case of a character field or bcd field, you will have to provide a third element specifying the length respectively the precesion of the field. If your field specification contains blob fields, you will have to make sure to either make the field large enough for all field values to fit or specify a blob file with px_set_blob_file() for storing the blobs. If this is not done the field data is truncated.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Creating a Paradox database with two fields

<?php
if(!$pxdoc = px_new()) {
  /* Error handling */
}
$fp = fopen("test.db", "w+");
$fields = array(array("col1", "S"), array("col2", "I"));
if(!px_create_fp($pxdoc, $fp, $fields)) {
  /* Error handling */
}
px_set_parameter($pxdoc, "tablename", "testtable");
for($i=-50; $i<50; $i++) {
  $rec = array($i, -$i);
  px_put_record($pxdoc, $rec);
}
px_close($pxdoc);
px_delete($pxdoc);
fclose($fp);
?>

Siehe auch

  • px_new() - Create a new paradox object
  • px_put_record() - Stores record into paradox database
  • fopen() - Öffnet eine Datei oder URL

px_close
px_date2string
Paradox Funktionen


Converts a date into a string.

px_create_fp
px_delete_record
Paradox Funktionen
PHP Manual

px_date2string

(PECL paradox >= 1.4.0)

px_date2string — Converts a date into a string.

Beschreibung

string px_date2string ( resource $pxdoc , int $value , string $format )

Turns a date as it stored in the paradox file into human readable format. Paradox dates are the number of days since 1.1.0000. This function is just for convenience. It can be easily replaced by some math and the calendar functions as demonstrated in the example below.

Parameter-Liste

pxdoc

Resource identifier of the paradox database as returned by px_new().

value

Value as stored in paradox database field of type PX_FIELD_DATE.

format

String format similar to the format used by date(). The placeholders support by this function is a subset of those supported by date() (Y, y, m, n, d, j, L).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Turn a paradox date into a human readable form

<?php
$px = px_new();

/* make up a date as it could be stored in */
/* a date field of a paradox db. */
/* 700000 days since 1.1.0000. */
$days = 700000;

/* Use the calendar functions to print a */
/* human readable format of the date */
echo jdtogregorian($days+1721425)."\n";
/* px_date2string() outputs the same */
echo px_date2string($px, $days, "n/d/Y")."\n";

px_delete($px);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

7/15/1917
7/15/1917

Siehe auch

  • px_timestamp2string() - Converts the timestamp into a string.
  • jdtogregorian() - Konvertierung vom Julianischen Datum zum Gregorianischen Kalender

px_create_fp
px_delete_record
Paradox Funktionen


Deletes record from paradox database

px_date2string
px_delete
Paradox Funktionen
PHP Manual

px_delete_record

(PECL paradox >= 1.4.0)

px_delete_record — Deletes record from paradox database

Beschreibung

bool px_delete_record ( resource $pxdoc , int $num )

This function deletes a record from the database. It does not free the space in the database file but just marks it as deleted. Inserting a new record afterwards will reuse the space.

Hinweis:

This function is only available if pxlib >= 0.6.0 is used.

Parameter-Liste

pxdoc

Resource identifier of the paradox database as returned by px_new().

num

The record number is an artificial number counting records in the order as they are stored in the database. The first record has number 0.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

px_date2string
px_delete
Paradox Funktionen


Deletes resource of paradox database

px_delete_record
px_get_field
Paradox Funktionen
PHP Manual

px_delete

(PECL paradox >= 1.0.0)

px_delete — Deletes resource of paradox database

Beschreibung

bool px_delete ( resource $pxdoc )

Deletes the resource of the paradox file and frees all memory.

Parameter-Liste

pxdoc

Resource identifier of the paradox database as returned by px_new().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

px_delete_record
px_get_field
Paradox Funktionen


Returns the specification of a single field

px_delete
px_get_info
Paradox Funktionen
PHP Manual

px_get_field

(PECL paradox >= 1.0.0)

px_get_field — Returns the specification of a single field

Beschreibung

array px_get_field ( resource $pxdoc , int $fieldno )

Parameter-Liste

pxdoc

Resource identifier of the paradox database as returned by px_new().

fieldno

Number of the field. The first field has number 0. Specifying a field number less than 0 and greater or equal the number of fields will trigger an error.

Rückgabewerte

Returns the specification of the fieldno 'th database field as an associated array. The array contains three fields named name, type, and size.

px_delete
px_get_info
Paradox Funktionen


Return lots of information about a paradox file

px_get_field
px_get_parameter
Paradox Funktionen
PHP Manual

px_get_info

(PECL paradox >= 1.0.0)

px_get_info — Return lots of information about a paradox file

Beschreibung

array px_get_info ( resource $pxdoc )

Parameter-Liste

pxdoc

Resource identifier of the paradox database as returned by px_new().

Rückgabewerte

Returns an associated array with lots of information about a paradox file. This array is likely to be extended in the future.

fileversion

Version of file multiplied by 10, e.g. 70.

tablename

Name of table as stored in the file. If the database was created by pxlib, then this will be the name of the file without the extension.

numrecords

Number of records in this table.

numfields

Number of fields in this table.

headersize

Number of bytes used for the header. This is usually 0x800.

recordsize

Number of bytes used for each record. This is the sum of all field sizes (available since version 1.4.2).

maxtablesize

This value multiplied by 0x400 is the size of a data block in bytes. The maximum number of records in a datablock is the integer part of (maxtablesize * 0x400 - 8) / recordsize.

numdatablocks

The number of data blocks in the file. Each data block contains a certain number of records which depends on the record size and the data block size (maxtablesize). Data blocks may not necessarily be completely filled.

numindexfields

Number of fields used for the primary index. The fields do always start with field number 1.

codepage

The DOS codepage which was used for encoding fields with character data. If the target encoding is not set with px_set_targetencoding() this will be the encoding for character fields when records are being accessed with px_get_record() or px_retrieve_record().

Siehe auch

  • px_numfields() - Returns number of fields in a database
  • px_numrecords() - Returns number of records in a database

px_get_field
px_get_parameter
Paradox Funktionen


Gets a parameter

px_get_info
px_get_record
Paradox Funktionen
PHP Manual

px_get_parameter

(PECL paradox >= 1.1.0)

px_get_parameter — Gets a parameter

Beschreibung

string px_get_parameter ( resource $pxdoc , string $name )

Gets various parameters.

Parameter-Liste

pxdoc

Resource identifier of the paradox database as returned by px_new().

name

The name can be one of the following:

tablename

The name of the table as it will be stored in the database header.

targetencoding

The encoding for the output. Data which is being read from character fields with px_get_record() or px_retrieve_record() is recoded into the targetencoding. If it is not set, then the data will be delivered as stored in the database file.

inputencoding

The encoding of the input data which is to be stored into the database. When storing data of character fields in the database, the data is expected to be delivered in this encoding.

Rückgabewerte

Returns the value of the parameterIm Fehlerfall wird FALSE zurückgegeben..

px_get_info
px_get_record
Paradox Funktionen


Returns record of paradox database

px_get_parameter
px_get_schema
Paradox Funktionen
PHP Manual

px_get_record

(PECL paradox >= 1.0.0)

px_get_record — Returns record of paradox database

Beschreibung

array px_get_record ( resource $pxdoc , int $num [, int $mode = 0 ] )

Parameter-Liste

pxdoc

Resource identifier of the paradox database as returned by px_new().

num

The record number is an artificial number counting records in the order as they are stored in the database. The first record has number 0.

mode

The optional mode can be PX_KEYTOLOWER or PX_KEYTOUPPER in order to convert the keys of the returned array into lower or upper case. If mode is not passed or is 0, then the key will be exactly like the field name. The element values will contain the field values. NULL values will be retained and are different from 0.0, 0 or the empty string. Fields of type PX_FIELD_TIME will be returned as an integer counting the number of milliseconds starting at midnight. A timestamp (PX_FIELD_TIMESTAMP) and date (PX_FIELD_DATE) are floating point respectively int values counting milliseconds respectively days starting at the beginning of julian calendar. Use the functions px-timestamp2string() and px-date2string() to convert them into a character representation.

Rückgabewerte

Returns the num'th record from the paradox database. The record is returned as an associated array with its keys being the field names.

Siehe auch

  • px_retrieve_record() - Returns record of paradox database

px_get_parameter
px_get_schema
Paradox Funktionen


Returns the database schema

px_get_record
px_get_value
Paradox Funktionen
PHP Manual

px_get_schema

(PECL paradox >= 1.0.0)

px_get_schema — Returns the database schema

Beschreibung

array px_get_schema ( resource $pxdoc [, int $mode = 0 ] )

px_get_schema() returns the database schema.

Parameter-Liste

pxdoc

Resource identifier of the paradox database as returned by px_new().

mode

If the optional mode is PX_KEYTOLOWER or PX_KEYTOUPPER the keys of the returned array will be converted to lower or upper case. If mode is 0 or not passed at all, then the key name will be identical to the field name.

Rückgabewerte

Returns the schema of a database file as an associated array. The key name is equal to the field name. Each array element is itself an associated array containing the two fields type and size. type is one of the constants in table Constants for field types. size is the number of bytes this field consumes in the record. The total of all field sizes is equal to the record size as it can be retrieved with px-get-info().

px_get_record
px_get_value
Paradox Funktionen


Gets a value

px_get_schema
px_insert_record
Paradox Funktionen
PHP Manual

px_get_value

(PECL paradox >= 1.1.0)

px_get_value — Gets a value

Beschreibung

float px_get_value ( resource $pxdoc , string $name )

Gets various values.

Parameter-Liste

pxdoc

Resource identifier of the paradox database as returned by px_new().

name

name can be one of the following.

numprimkeys

The number of primary keys. Paradox databases always use the first numprimkeys fields for the primary index.

Rückgabewerte

Returns the value of the parameterIm Fehlerfall wird FALSE zurückgegeben..

px_get_schema
px_insert_record
Paradox Funktionen


Inserts record into paradox database

px_get_value
px_new
Paradox Funktionen
PHP Manual

px_insert_record

(PECL paradox >= 1.4.0)

px_insert_record — Inserts record into paradox database

Beschreibung

int px_insert_record ( resource $pxdoc , array $data )

Inserts a new record into the database. The record is not necessarily inserted at the end of the database, but may be inserted at any position depending on where the first free slot is found.

The record data is passed as an array of field values. The elements in the array must correspond to the fields in the database. If the array has less elements than fields in the database, the remaining fields will be set to null.

Most field values can be passed as its equivalent php type e.g. a long value is used for fields of type PX_FIELD_LONG, PX_FIELD_SHORT and PX_FIELD_AUTOINC, a double values is used for fields of type PX_FIELD_CURRENCY and PX_FIELD_NUMBER. Field values for blob and alpha fields are passed as strings.

Fields of type PX_FIELD_TIME and PX_FIELD_DATE both require a long value. In the first case this is the number of milliseconds since midnight. In the second case this is the number of days since 1.1.0000. Below there are two examples to convert the current date or timestamp into a value suitable for one of paradox's date/time fields.

Hinweis:

This function is only available if pxlib >= 0.6.0 is used.

Parameter-Liste

pxdoc

Resource identifier of the paradox database as returned by px_new().

data

Associated or indexed array containing the field values as e.g. returned by px_retrieve_record().

Rückgabewerte

Returns FALSE on failure or the record number in case of success.

Beispiele

Beispiel #1 Set the date/time fields in a paradox database to the current date/time

<?php
$px = px_new();
$fp = fopen("test.db", "w+");
px_create_fp($px, $fp, array(array("timestamp", "@"), array("time", "T"), array("date", "D")));

$curdate = getdate();
$jd = gregoriantojd($curdate["mon"], $curdate["mday"], $curdate["year"]);
$days = $jd - 1721425; /* Number of days between 1.1.4714 b.c. and 1.1.0000 */
$secs = $curdate["hours"]*3600 + $curdate["minutes"]*60 + $curdate["seconds"];
px_insert_record($px, array($days*86400000.0 + $secs*1000.0, $secs*1000.0, $days));

$curtimestamp = microtime(true);
$days = (int) ($curtimestamp/86400);
$secs = $curtimestamp - ($days * 86400.0);
$days += 2440588; /* Number of days between 1.1.4714 b.c. and 1.1.1970 */
$days -= 1721425; /* Number of days between 1.1.4714 b.c. and 1.1.0000 */
px_insert_record($px, array($days*86400000.0 + $secs*1000.0, $secs*1000.0, $days));
for($i=0; $i<2; $i++) {
    $rec = px_retrieve_record($px, $i);
    echo px_timestamp2string($px, $rec["timestamp"], "n/d/Y H:i:s")."\n";
    echo px_date2string($px, $rec["date"], "n/d/Y")."\n";
}
px_close($px);
px_delete($px);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

2/21/2006 21:42:30
2/21/2006
2/21/2006 20:42:30
2/21/2006

The Julian day count as passed to jdtogregorian() has a different base of 1.1.4714 b.c. and must therefore be calculated by adding 1721425 to the day count used in the paradox file. Turning the day count into a timestamp is easily done by multiplying with 86400000.0 to obtain milli seconds.

Siehe auch

px_update_record() - Updates record in paradox database

px_get_value
px_new
Paradox Funktionen


Create a new paradox object

px_insert_record
px_numfields
Paradox Funktionen
PHP Manual

px_new

(PECL paradox >= 1.0.0)

px_new — Create a new paradox object

Beschreibung

resource px_new ( void )

Create a new paradox object. You will have to call this function before any further functions. px_new() does not create any file on the disk, it just creates an instance of a paradox object. This function must not be called if the object oriented interface is used. Use new paradox_db() instead.

Rückgabewerte

Returns FALSE on failure.

Beispiele

Beispiel #1 Opening a Paradox database

<?php
if(!$pxdoc = px_new()) {
  /* Error handling */
}
$fp = fopen("test.db", "r");
if(!px_open_fp($pxdoc, $fp)) {
  /* Error handling */
}
// ...
px_close($pxdoc);
px_delete($pxdoc);
fclose($fp);
?>

If you prefer the object oriented API, then the above example will look like the following.

Beispiel #2 Opening a Paradox database

<?php
$fp = fopen("test.db", "r");
$pxdoc = new paradox_db();
if(!$pxdoc->open_fp($fp)) {
  /* Error handling */
}
// ...
$pxdoc->close();
fclose($fp);
?>

Siehe auch

  • px_delete() - Deletes resource of paradox database
  • px_open_fp() - Open paradox database

px_insert_record
px_numfields
Paradox Funktionen


Returns number of fields in a database

px_new
px_numrecords
Paradox Funktionen
PHP Manual

px_numfields

(PECL paradox >= 1.0.0)

px_numfields — Returns number of fields in a database

Beschreibung

int px_numfields ( resource $pxdoc )

Get the number of fields in a database file.

Parameter-Liste

pxdoc

Resource identifier of the paradox database as returned by px_new().

Rückgabewerte

Returns the number of fields in a database file. The return value of this function is identical to the element numfields in the array returned by px_get_info().

px_new
px_numrecords
Paradox Funktionen


Returns number of records in a database

px_numfields
px_open_fp
Paradox Funktionen
PHP Manual

px_numrecords

(PECL paradox >= 1.0.0)

px_numrecords — Returns number of records in a database

Beschreibung

int px_numrecords ( resource $pxdoc )

Get the number of records in a database file.

Parameter-Liste

pxdoc

Resource identifier of the paradox database as returned by px_new().

Rückgabewerte

Returns the number of records in a database file. The return value of this function is identical to the element numrecords in the array returned by px_get_info().

px_numfields
px_open_fp
Paradox Funktionen


Open paradox database

px_numrecords
px_put_record
Paradox Funktionen
PHP Manual

px_open_fp

(PECL paradox >= 1.0.0)

px_open_fp — Open paradox database

Beschreibung

bool px_open_fp ( resource $pxdoc , resource $file )

Open an existing paradox database file. The actual file has to be opened before with fopen(). This function can also be used to open primary index files and tread them like a paradox database. This is supported for those who would like to investigate a primary index. It cannot be used to accelerate access to a database file.

Parameter-Liste

pxdoc

Resource identifier of the paradox database as returned by px_new().

file

file is the return value from fopen() with the actual database file as parameter. Make sure the database is writable if you plan to update or insert records.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • fopen() - Öffnet eine Datei oder URL
  • The example at px_new() - Create a new paradox object

px_numrecords
px_put_record
Paradox Funktionen


Stores record into paradox database

px_open_fp
px_retrieve_record
Paradox Funktionen
PHP Manual

px_put_record

(PECL paradox >= 1.0.0)

px_put_record — Stores record into paradox database

Beschreibung

bool px_put_record ( resource $pxdoc , array $record [, int $recpos = -1 ] )

Stores a record into a paradox database. The record is always added at the end of the database, regardless of any free slots. Use px_insert_record() to add a new record into the first free slot found in the database.

Parameter-Liste

pxdoc

Resource identifier of the paradox database as returned by px_new().

record

Associated or indexed array containing the field values as e.g. returned by px_retrieve_record().

recpos

This optional parameter may be used to specify a record number greater than the current number of records in the database. The function will add as many empty records as needed. There is hardly any need for this parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

px_open_fp
px_retrieve_record
Paradox Funktionen


Returns record of paradox database

px_put_record
px_set_blob_file
Paradox Funktionen
PHP Manual

px_retrieve_record

(PECL paradox >= 1.4.0)

px_retrieve_record — Returns record of paradox database

Beschreibung

array px_retrieve_record ( resource $pxdoc , int $num [, int $mode = 0 ] )

This function is very similar to px_get_record() but uses internally a different approach to retrieve the data. It relies on pxlib for reading each single field value, which usually results in support for more field types.

Hinweis:

This function is only available if pxlib >= 0.6.0 is used.

Parameter-Liste

pxdoc

Resource identifier of the paradox database as returned by px_new().

num

The record number is an artificial number counting records in the order as they are stored in the database. The first record has number 0.

mode

The optional mode can be PX_KEYTOLOWER or PX_KEYTOUPPER in order to convert the keys into lower or upper case. If mode is not passed or is 0, then the key will be exactly like the field name. The element values will contain the field values. NULL values will be retained and are different from 0.0, 0 or the empty string. Fields of type PX_FIELD_TIME will be returned as an integer counting the number of milliseconds starting at midnight. A timestamp is a floating point value also counting milliseconds starting at the beginning of julian calendar.

Rückgabewerte

Returns the num'th record from the paradox database. The record is returned as an associated array with its keys being the field names.

Siehe auch

  • px_get_record() - Returns record of paradox database

px_put_record
px_set_blob_file
Paradox Funktionen


Sets the file where blobs are read from

px_retrieve_record
px_set_parameter
Paradox Funktionen
PHP Manual

px_set_blob_file

(PECL paradox >= 1.3.0)

px_set_blob_file — Sets the file where blobs are read from

Beschreibung

bool px_set_blob_file ( resource $pxdoc , string $filename )

Sets the name of the file where blobs are going to be read from or written into. Without calling this function, px_get_record() or px_retrieve_record() will only return data in blob fields if the data is part of the record and not stored in the blob file. Blob data is stored in the record if it is small enough to fit in the size of the blob field.

Calling px_put_record(),
px_insert_record(), or
px_update_record() without calling
px_set_blob_file() will result in truncated blob fields
unless the data fits into the database file.

Calling this function twice will close the first blob file and open the new one.

Parameter-Liste

pxdoc

Resource identifier of the paradox database as returned by px_new().

filename

The name of the file. Its extension should be .MB.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

px_retrieve_record
px_set_parameter
Paradox Funktionen


Sets a parameter

px_set_blob_file
px_set_tablename
Paradox Funktionen
PHP Manual

px_set_parameter

(PECL paradox >= 1.1.0)

px_set_parameter — Sets a parameter

Beschreibung

bool px_set_parameter ( resource $pxdoc , string $name , string $value )

Sets various parameters.

Parameter-Liste

pxdoc

Resource identifier of the paradox database as returned by px_new().

name

Depending on the parameter you want to set, name can be one of the following.

tablename

The name of the table as it will be stored in the database header.

targetencoding

The encoding for the output. Data which is being read from character fields is recoded into the targetencoding.

inputencoding

The encoding of the input data which is to be stored into the database.

value

The value of parameter to set. For inputencoding and targetencoding this must be the name of the encoding as understood by iconv or recode, e.g. iso-8859-1, utf-8, cp850.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • px_get_info() - Return lots of information about a paradox file to determine the DOS code page.

px_set_blob_file
px_set_tablename
Paradox Funktionen


Sets the name of a table (deprecated)

px_set_parameter
px_set_targetencoding
Paradox Funktionen
PHP Manual

px_set_tablename

(PECL paradox >= 1.0.0)

px_set_tablename — Sets the name of a table (deprecated)

Beschreibung

void px_set_tablename ( resource $pxdoc , string $name )

Sets the table name of a paradox database, which was created with px_create_fp(). This function is deprecated use px_set_parameter() instead.

Parameter-Liste

pxdoc

Resource identifier of the paradox database as returned by px_new().

tablename

The name of the table. If it is not set explicitly it will be set to the name of the database file.

Rückgabewerte

Returns NULL on successIm Fehlerfall wird FALSE zurückgegeben..

Siehe auch

px_set_parameter() - Sets a parameter

px_set_parameter
px_set_targetencoding
Paradox Funktionen


Sets the encoding for character fields (deprecated)

px_set_tablename
px_set_value
Paradox Funktionen
PHP Manual

px_set_targetencoding

(PECL paradox >= 1.0.0)

px_set_targetencoding — Sets the encoding for character fields (deprecated)

Beschreibung

bool px_set_targetencoding ( resource $pxdoc , string $encoding )

Set the encoding for data retrieved from a character field. All character fields will be recoded to the encoding set by this function. If the encoding is not set, the character data will be returned in the DOS code page encoding as specified in the database file. The encoding can be any string identifier known to iconv or recode. On Unix systems run iconv -l for a list of available encodings.

This function is deprecated and should be replaced by calling px_set_parameter().

See also px_get_info() to determine the DOS code page as stored in the database file.

Parameter-Liste

pxdoc

Resource identifier of the paradox database as returned by px_new().

encoding

The encoding for the output. Data which is being read from character fields is recoded into the targetencoding.

Rückgabewerte

Returns FALSE if the encoding could not be set, e.g. the encoding is unknown, or pxlib does not support recoding at all. In the second case a warning will be issued.

Siehe auch

px_set_parameter() - Sets a parameter

px_set_tablename
px_set_value
Paradox Funktionen


Sets a value

px_set_targetencoding
px_timestamp2string
Paradox Funktionen
PHP Manual

px_set_value

(PECL paradox >= 1.1.0)

px_set_value — Sets a value

Beschreibung

bool px_set_value ( resource $pxdoc , string $name , float $value )

Sets various values.

Parameter-Liste

pxdoc

Resource identifier of the paradox database as returned by px_new().

name

name can be one of the following.

numprimkeys

The number of primary keys. Paradox databases always use the first numprimkeys fields for the primary index.

value

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

px_set_parameter() - Sets a parameter

px_set_targetencoding
px_timestamp2string
Paradox Funktionen


Converts the timestamp into a string.

px_set_value
px_update_record
Paradox Funktionen
PHP Manual

px_timestamp2string

(PECL paradox >= 1.4.0)

px_timestamp2string — Converts the timestamp into a string.

Beschreibung

string px_timestamp2string ( resource $pxdoc , float $value , string $format )

Turns a timestamp as it stored in the paradox file into human readable format. Paradox timestamps are the number of miliseconds since 0001-01-02. This function is just for convenience. It can be easily replaced by some math and the calendar functions as demonstrated in the following example.

Parameter-Liste

pxdoc

Resource identifier of the paradox database.

value

Value as stored in paradox database field of type PX_FIELD_TIME, or PX_FIELD_TIMESTAMP.

format

String format similar to the format used by date(). The placeholders support by this function is a subset of those supported by date() (Y, y, m, n, d, j, H, h, G, g, i, s, A, a, L).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Turn a paradox timestamp into a human readable form

<?php
$px = px_new();

/* make up a date as it could be stored in */
/* a date field of a paradox db. */
/* 700000 days since 1.1.0000. */
$days = 700000;

/* Use the calendar functions to print a */
/* human readable format of the date */
echo jdtogregorian($days+1721425)."\n";

/* Turn it into a timestamp as it stored in a paradox database */
/* Timestamps are stored in miliseconds since 0001-01-02 */
$stamp = $days * 86400.0 * 1000.0;
/* Add one hour */
$stamp += 3600000.0;
/* The following will output '7/15/1917 01:00:00'. */
echo px_timestamp2string($px, $stamp, "n/d/Y H:i:s")."\n";

px_delete($px);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

7/15/1917
7/15/1917 01:00:00

The Julian day count as passed to jdtogregorian() has a different base of 1.1.4714 b.c. and must therefore be calculated by adding 1721425 to the day count used in the paradox file. Turning the day count into a timestamp is easily done by multiplying with 86400000.0 to obtain miliseconds.

Siehe auch

  • px_date2string() - Converts a date into a string.
  • jdtogregorian() - Konvertierung vom Julianischen Datum zum Gregorianischen Kalender

px_set_value
px_update_record
Paradox Funktionen


Updates record in paradox database

px_timestamp2string
PostgreSQL
Paradox Funktionen
PHP Manual

px_update_record

(PECL paradox >= 1.4.0)

px_update_record — Updates record in paradox database

Beschreibung

bool px_update_record ( resource $pxdoc , array $data , int $num )

Updates an exiting record in the database. The record starts at 0.

The record data is passed as an array of field values. The elements in the array must correspond to the fields in the database. If the array has less elements than fields in the database, the remaining fields will be set to null.

Hinweis:

This function is only available if pxlib >= 0.6.0 is used.

Parameter-Liste

pxdoc

Resource identifier of the paradox database as returned by px_new().

data

Associated array containing the field values as returned by px_retrieve_record().

num

The record number is an artificial number counting records in the order as they are stored in the database. The first record has number 0.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

px_insert_record() - Inserts record into paradox database

px_timestamp2string
PostgreSQL
Paradox Funktionen


PostgreSQL

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • Grundlegende Nutzung
  • PostgreSQL-Funktionen
    • pg_affected_rows — Gibt die Anzahl betroffener Datensätze (Tupel) zurück
    • pg_cancel_query — Löscht eine asynchrone Abfrage
    • pg_client_encoding — Gibt die Kodierung des Clients zurück
    • pg_close — Schließt eine PostgreSQL-Verbindung
    • pg_connect_poll — Poll the status of an in-progress asynchronous PostgreSQL connection attempt.
    • pg_connect — Öffnet eine PostgreSQL-Verbindung
    • pg_connection_busy — Gibt den Status der Verbindung zurück (busy/not busy)
    • pg_connection_reset — Setzt die Verbindung zurück und verbindet neu
    • pg_connection_status — Gibt den Verbindungsstatus zurück
    • pg_consume_input — Reads input on the connection
    • pg_convert — Konvertiert die Werte eines assoziativen Arrays in passende Werte für SQL-Kommandos.
    • pg_copy_from — Fügt Datensätze aus einem Array in eine Tabelle ein
    • pg_copy_to — Kopiert eine Tabelle in ein Array
    • pg_dbname — Gibt den Namen der Datenbank zurück
    • pg_delete — Löscht Datensätze
    • pg_end_copy — Synchronisation mit dem PostgreSQL-Server
    • pg_escape_bytea — Maskiert Zeichenketten zum Einfügen in ein Feld vom Typ bytea
    • pg_escape_identifier — Escape a identifier for insertion into a text field
    • pg_escape_literal — Escape a literal for insertion into a text field
    • pg_escape_string — Maskiert einen String für Abfragen
    • pg_execute — Fordert den Datenankserver auf, eine vorbereitete Anfrage mit den angegebenen Parametern auszuführen und wartet auf das Ergebnis
    • pg_fetch_all_columns — Gibt alle Werte einer bestimmten Spalte eines Abfrageergebnisses in einem Array zurück
    • pg_fetch_all — Gibt alle Zeilen eines Abfrageergebnisses als Array zurück
    • pg_fetch_array — Holt eine Zeile als Array
    • pg_fetch_assoc — Holt eine Zeile als assoziatives Array
    • pg_fetch_object — Holt einen Datensatz als Objekt
    • pg_fetch_result — Liefert Werte aus einer Ergebnismenge
    • pg_fetch_row — Holt einen Datensatz als numerisches Array
    • pg_field_is_null — Prüft, ob ein Feld einen SQL NULL-Wert enthält
    • pg_field_name — Gibt den Namen eines Feldes zurück
    • pg_field_num — Gibt die Feldnummer des angegebenen Feldes zurück
    • pg_field_prtlen — Gibt die Länge des Feldes zurück
    • pg_field_size — Gibt den belegten Speicher für ein Feld zurück
    • pg_field_table — Gibt zu einem Feldnamen den Namen der Tabelle oder deren oid zurück, in der das Feld definiert ist
    • pg_field_type_oid — Gibt die ID des PostgreSQL-Datentyps (OID) eines Feldes zurück
    • pg_field_type — Gibt den Datentyp eines Feldes zurück
    • pg_flush — Flush outbound query data on the connection
    • pg_free_result — Gibt den durch Ergebnisse belegten Speicher frei
    • pg_get_notify — Gibt eine SQL NOTIFY-Nachricht zurück
    • pg_get_pid — Prüft die Datenbankverbindung
    • pg_get_result — Gibt asynchrone Abfrageergebnisse zurück
    • pg_host — Gibt den Namen des Host zurück, zu dem verbunden wurde
    • pg_insert — Überträgt Werte aus einem Array in eine Tabelle
    • pg_last_error — Gibt die letzte Fehlermeldung einer Verbindung zurück
    • pg_last_notice — Gibt die letzte NOTICE-Meldung des PostgreSQL-Servers zurück
    • pg_last_oid — Gibt den Objektbezeichner (OID) des zuletzt eingefügten Datensatzes zurück
    • pg_lo_close — Schließt ein Large Object
    • pg_lo_create — Erzeugt ein Large Object
    • pg_lo_export — Exportiert ein Large Object in eine Datei
    • pg_lo_import — Importiert ein Large Object aus einer Datei
    • pg_lo_open — Öffnet ein Large Object
    • pg_lo_read_all — Liest ein Large Object vollständig und reicht es direkt an den Browser weiter
    • pg_lo_read — Liest ein Large Object
    • pg_lo_seek — Setzt die Lese- oder Schreibposition in einem Large Object
    • pg_lo_tell — Gibt die aktuelle Lese- oder Schreibposition in einem Large Object zurück
    • pg_lo_truncate — Truncates a large object
    • pg_lo_unlink — Löscht ein Large Object
    • pg_lo_write — Schreibt in ein Large Object
    • pg_meta_data — Gibt Metadaten einer Tabelle als Array zurück
    • pg_num_fields — Gibt die Anzahl der Felder in einem Abfrageergebnis zurück
    • pg_num_rows — Gibt die Anzahl der Zeilen in einem Abfrageergebnis zurück
    • pg_options — Gibt die Verbindungsoptionen der aktuellen Verbindung zurück
    • pg_parameter_status — Gibt den Wert einer aktuellen Server-Einstellung zurück
    • pg_pconnect — Öffnet eine persistente PostgreSQL-Verbindung
    • pg_ping — Prüft die Datenbankverbindung
    • pg_port — Gibt die Portnummer zurück, über die die Verbindung aufgebaut wurde
    • pg_prepare — Sendet eine Aufforderung an den Server, eine vorbereitete Anfrage mit den übergebenen Parametern zu erzeugen und wartet auf ihre Beendigung.
    • pg_put_line — Sendet eine NULL-terminierte Zeichenkette zum PostgreSQL-Server
    • pg_query_params — Sendet ein Kommando zum Server und wartet seine Ausführung ab. Getrennt vom SQL-Kommando können dabei Parameter übergeben werden.
    • pg_query — Führt eine Abfrage aus
    • pg_result_error_field — Gibt den Inhalt eines bestimmtes Feldes zu einer Fehlermeldung zurück
    • pg_result_error — Gibt die mit der Ergebniskennung verknüpfte Fehlermeldung zurück
    • pg_result_seek — Setzt den internen Datensatzzeiger auf die angegebene Position in einem Abfrageergebnis
    • pg_result_status — Gibt den Status eines Abfrageergebnisses zurück
    • pg_select — Wählt Datensätze aus
    • pg_send_execute — Sendet eine Aufforderung an den Server, eine vorbereitete Abfrage mit den übergebenen Parametern auszuführen, ohne auf die Ergebnisse zu warten.
    • pg_send_prepare — Sendet eine Aufforderung an den Server, eine vorbereitete Abfrage mit den übergebenen Parametern zu erzeugen, ohne auf ihre Beendigung zu warten.
    • pg_send_query_params — Sendet ein Kommando und separate Parameter zum Server, ohne auf die Rückgabe der Ergebnisse zu warten
    • pg_send_query — Sendet eine asynchrone Abfrage
    • pg_set_client_encoding — Setzt die Kodierung des Clients
    • pg_set_error_verbosity — Bestimmt den Detaillierungsgrad von Fehlermeldungen, die von pg_last_error und pg_result_error zurückgegeben werden.
    • pg_socket — Get a read only handle to the socket underlying a PostgreSQL connection
    • pg_trace — Ermöglicht die Ablaufverfolgung einer Verbindung
    • pg_transaction_status — Gibt den aktuellen Transaktionsstatus des Servers zurück
    • pg_tty — Gibt den TTY Namen für die Verbindung zurück
    • pg_unescape_bytea — Entfernt Maskierungen für den Typ bytea
    • pg_untrace — Beendet die Ablaufverfolgung einer PostgreSQL-Verbindung
    • pg_update — Aktualisiert eine Tabelle
    • pg_version — Gibt ein Array zurück, das die Versionen von Client, Protokoll und Server enthält (falls verfügbar).
px_update_record
Einführung
Anbieterspezifische Datenbankerweiterungen


Einführung

PostgreSQL ist ein kostenloses Open-Source-Datenbanksystem. Es wurde ursprünglich im UC Berkeley Computer Science Department entwickelt und hat Pionierarbeit bei objektrelationalen Datenbankkonzepten geleistet, die jetzt Einzug in einige kommerzielle Datenbanken halten. PostgreSQL bietet SQL92/SQL99 Sprachunterstützung, Transaktionen, referentielle Integrität, benutzerdefinierte Funktionen und ein erweiterbares Typkonzept. PostgreSQL ist eine Weiterentwicklung des ursprünglichen Berkeley-Codes.

PostgreSQL
Installation/Konfiguration
PostgreSQL


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
PostgreSQL


Anforderungen

Um PostgreSQL benutzen zu können, brauchen Sie mindestens eine Version 6.5 oder neuer. Um alle Leistungsmerkmale des PostgreSQL-Moduls nutzen zu können, müssen Sie eine Version ab 8.0 haben. PostgreSQL unterstützt viele Zeichenkodierungen, einschließlich Multibyte-Character-Encoding. Die aktuelle Version sowie weitere Informationen über PostgreSQL sind auf den Seiten » http://www.postgresql.org/ erhältlich und die ausführliche Dokumentation finden Sie unter » PostgreSQL-Documentation.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Um die PostgreSQL-Unterstützung zu aktivieren, müssen Sie PHP mit der Option --with-pgsql[=DIR] kompilieren. DIR ist das Basis-Installationsverzeichnis von PostgreSQL, normalerweise /usr/local/pgsql. Falls das shared-object-Modul verfügbar ist, kann PostgreSQL mit der extension-Directive in der php.ini oder der Funktion dl() geladen werden.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

PostgreSQL-Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
pgsql.allow_persistent | "1" | PHP_INI_SYSTEM |
pgsql.max_persistent | "-1" | PHP_INI_SYSTEM |
pgsql.max_links | "-1" | PHP_INI_SYSTEM |
pgsql.auto_reset_persistent | "0" | PHP_INI_SYSTEM | Verfügbar seit PHP 4.2.0.
pgsql.ignore_notice | "0" | PHP_INI_ALL | Verfügbar seit PHP 4.3.0.
pgsql.log_notice | "0" | PHP_INI_ALL | Verfügbar seit PHP 4.3.0.
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

pgsql.allow_persistent boolean

Bestimmt, ob persistente PostgreSQL-Verbindungen zulässig sind.

pgsql.max_persistent integer

Legt die maximale Anzahl persistenter PostgreSQL-Verbindungen pro Prozess fest.

pgsql.max_links integer

Legt die maximale Anzahl aller PostgreSQL-Verbindungen, einschließlich der persistenten Verbindungen, pro Prozess fest.

pgsql.auto_reset_persistent integer

Findet ungültige persistente Verbindungen, die mit der Funktion pg_pconnect() geöffnet wurden. Erfordert ein wenig Mehraufwand.

pgsql.ignore_notice integer

Bestimmt, ob Notice-Meldungen vom PostgreSQL-Server ignoriert werden sollen.

pgsql.log_notice integer

Bestimmt, ob Notice-Meldungen vom PostgreSQL-Server protokolliert werden sollen. Die PHP-Direktive pgsql.ignore_notice muss deaktiviert sein, um die Meldungen zu protokollieren.

Installation
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

Im PostgreSQL-Modul werden zwei Ressource-Typen verwendet: Der erste ist die Verbindungskennung für Datenbankverbindungen, die zweite Ressource ist die Ergebniskennung, die auf ein Abfrageergebnis verweist.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

PGSQL_LIBPQ_VERSION (string)
Kurze libpq Version, die nur Zahlen und Punkte enthält.
PGSQL_LIBPQ_VERSION_STR (string)
Lange libpq Version, die Compiler-Information enthält.
PGSQL_ASSOC (integer)
Wird an die Funktion pg_fetch_array() übergeben. Gibt ein assoziatives Array zurück, mit den Feldnamen als Indizes und den entsprechenden Werten.
PGSQL_NUM (integer)
Wird an die Funktion pg_fetch_array() übergeben. Gibt ein numerisches Array zurück, mit den Feldnummern als Indizes und den entsprechenden Werten.
PGSQL_BOTH (integer)
Wird an die Funktion pg_fetch_array() übergeben. Gibt ein Array zurück, das sowohl assoziativ (mit den Feldnamen) als auch numerisch (mit den Feldnummern) indiziert ist, und den entsprechenden Werten.
PGSQL_CONNECT_FORCE_NEW (integer)
Wird an die Funktion pg_connect() übergeben, um eine neue Verbindung zu erzwingen, anstatt eine identische, bereits geöffnete Verbindung wieder zu benutzen.
PGSQL_CONNECT_ASYNC (integer)
Wird an pg_connect() übergeben, um eine asynchrone Verbindung zu erzeugen. In PHP 5.6.0 hinzugefügt.
PGSQL_CONNECTION_BAD (integer)
Wird von der Funktion pg_connection_status() zurückgegeben und zeigt an, dass der Status der Datenbankverbindung ungültig ist.
PGSQL_CONNECTION_OK (integer)
Wird von der Funktion pg_connection_status() zurückgegeben und zeigt an, dass der Status der Datenbankverbindung gültig ist.
PGSQL_SEEK_SET (integer)
Wird an die Funktion pg_lo_seek() übergeben. Das Objekt wird von Beginn an durchsucht.
PGSQL_SEEK_CUR (integer)
Wird an die Funktion pg_lo_seek() übergeben. Das Objekt wird ab der aktuellen Position durchsucht.
PGSQL_SEEK_END (integer)
Wird an die Funktion pg_lo_seek() übergeben. Das Objekt wird, ausgehend vom Ende, durchsucht.
PGSQL_EMPTY_QUERY (integer)
Wird von der Funktion pg_result_status() zurückgegeben, wenn der an den Server gesendete String leer war.
PGSQL_COMMAND_OK (integer)
Wird von der Funktion pg_result_status() zurückgegeben. Ein Kommando wurde erfolgreich ausgeführt, aber es wurden keine Daten zurückgegeben.
PGSQL_TUPLES_OK (integer)
Wird von der Funktion pg_result_status() zurückgegeben. Ein Kommando wurde erfolgreich ausgeführt und es wurden Daten (wie etwa ein SELECT oder SHOW) zurückgegeben.
PGSQL_COPY_OUT (integer)
Wird von der Funktion pg_result_status() zurückgegeben. Ein Datentransfer vom Server wurde gestartet.
PGSQL_COPY_IN (integer)
Wird von der Funktion pg_result_status() zurückgegeben. Ein Datentransfer zum Server wurde gestartet.
PGSQL_BAD_RESPONSE (integer)
Wird von der Funktion pg_result_status() zurückgegeben. Die Serverantwort wurde nicht verstanden.
PGSQL_NONFATAL_ERROR (integer)
Wird von der Funktion pg_result_status() zurückgegeben. Ein nicht-fataler Fehler (eine Notiz oder Warnung) ist aufgetreten.
PGSQL_FATAL_ERROR (integer)
Wird von der Funktion pg_result_status() zurückgegeben. Ein fataler Fehler ist aufgetreten.
PGSQL_TRANSACTION_IDLE (integer)
Wird von der Funktion pg_transaction_status() zurückgegeben. Die Verbindung wird momentan nicht benutzt, es findet aktuell keine Transaktion statt.
PGSQL_TRANSACTION_ACTIVE (integer)
Wird von der Funktion pg_transaction_status() zurückgegeben. Die Verbindung wird momentan benutzt. Es wird eine Abfrage ausgeführt, die noch nicht beendet ist.
PGSQL_TRANSACTION_INTRANS (integer)
Wird von der Funktion pg_transaction_status() zurückgegeben. Die Verbindung wird von einer Transaktion benutzt, ist aber momentan nicht aktiv.
PGSQL_TRANSACTION_INERROR (integer)
Wird von der Funktion pg_transaction_status() zurückgegeben. Die Verbindung wurde von einer abgebrochenen Transaktion benutzt und ist momentan nicht aktiv.
PGSQL_TRANSACTION_UNKNOWN (integer)
Wird von der Funktion pg_transaction_status() zurückgegeben. Die Verbindung ist ungültig.
PGSQL_DIAG_SEVERITY (integer)
Wird an die Funktion pg_result_error_field() übergeben. Gibt den Schweregrad des Fehlers zurück. Die Feldinhalte sind ERROR, FATAL oder PANIC (in einer Fehlermeldung) oder WARNING, NOTICE, DEBUG, INFO oder LOG (in einer Notice-Meldung) oder eine lokalisierte Übersetzung davon. Dieses Feld ist immer verfügbar.
PGSQL_DIAG_SQLSTATE (integer)
Wird an die Funktion pg_result_error_field() übergeben. Gibt den SQLSTATE-Code des Fehlers zurück. Der SQLSTATE-Code identifiziert den Typ des aufgetretenen Fehlers. Dieser kann von Anwendungen ausgewertet werden, um entsprechende Operationen auszuführen (beispielsweise Fehlerbehandlungsroutinen), als Reaktion auf einen bestimmten Datenbankfehler. dieses Feld kann nicht lokalisiert werden und ist immer verfügbar.
PGSQL_DIAG_MESSAGE_PRIMARY (integer)
Wird an die Funktion pg_result_error_field() übergeben. Dies ist die primäre, für Menschen lesbare Fehlermeldung (normalerweise in einer Zeile) und ist immer verfügbar.
PGSQL_DIAG_MESSAGE_DETAIL (integer)
Wird an die Funktion pg_result_error_field() übergeben. Detail: eine optionale untergeordnete Fehlermeldung, in der das Problem genauer beschrieben wird. Diese Meldung kann mehrere Zeilen lang sein.
PGSQL_DIAG_MESSAGE_HINT (integer)
Wird an die Funktion pg_result_error_field() übergeben. Hint: ein optionaler Hinweis, wie mit dem Problem umzugehen ist. Dies wurde eingeführt, um (möglicherweise unpassende) Lösungen zur Verfügung zu stellen, anstatt harte Fakten, wie bei Details. Diese Meldung kann mehrere Zeilen lang sein.
PGSQL_DIAG_STATEMENT_POSITION (integer)
Wird an die Funktion pg_result_error_field() übergeben. Dies ist ein String, der eine dezimale Integerzahl enthält, die die Cursorposition des originalen SQL-Strings angibt, an der ein Fehler auftrat. Das erste Zeichen hat die Position 1 und zur Bestimmung der Positionen werden Zeichen zugrundegelegt und nicht Bytes.
PGSQL_DIAG_INTERNAL_POSITION (integer)
Wird an die Funktion pg_result_error_field() übergeben. Per Definition ist das dasselbe wie das Feld PG_DIAG_STATEMENT_POSITION, es wird aber benutzt, wenn die Cursorposition auf ein intern generiertes Kommando verweist und nicht auf eines, das vom Benutzer eingegeben wurde. Das Feld PG_DIAG_INTERNAL_QUERY wird immer gesetzt, wenn dieses Feld gesetzt ist.
PGSQL_DIAG_INTERNAL_QUERY (integer)
Wird an die Funktion pg_result_error_field() übergeben. Dies ist der Text eines fehlgeschlagenen, intern generierten Kommandos. Das kann beispielsweise eine SQL-Abfrage sein, die von einer PL/pgSQL-Funktion gesendet wurde.
PGSQL_DIAG_CONTEXT (integer)
Wird an die Funktion pg_result_error_field() übergeben. Dies gibt einen Hinweis auf den Kontext, in dem ein Fehler auftrat. Gegenwärtig sind Zurückverfolgungen des Aufrufstacks von Funktionen aktivierter prozeduraler Sprachen darin enthalten, sowie intern generierte Abfragen. Die Ablaufverfolgung enthält einen Eintrag pro Zeile, die neuesten Einträge zuerst.
PGSQL_DIAG_SOURCE_FILE (integer)
Wird an die Funktion pg_result_error_field() übergeben. Dies ist der Name der Datei im PostgreSQL-Quellcode, bei der der Fehler gemeldet wurde.
PGSQL_DIAG_SOURCE_LINE (integer)
Wird an die Funktion pg_result_error_field() übergeben. Die Zeilennummer in der Datei im PostgreSQL-Quellcode, bei der der Fehler gemeldet wurde.
PGSQL_DIAG_SOURCE_FUNCTION (integer)
Wird an die Funktion pg_result_error_field() übergeben. Der Name der Funktion im PostgreSQL-Quellcode, bei der der Fehler gemeldet wurde.
PGSQL_ERRORS_TERSE (integer)
Wird an die Funktion pg_set_error_verbosity() übergeben. Damit wird festgelegt, dass Fehlermeldungen die Felder severity, primary text und position enthalten. Normalerweise passt das alles in eine Zeile.
PGSQL_ERRORS_DEFAULT (integer)
Wird an die Funktion pg_set_error_verbosity() übergeben. Die Standardeinstellung gibt Meldungen mit den oben beschriebenen Inhalten zurück, zuzüglich aller Details, Hinweise und Kontext-Informationen. (Dies kann mehrere Zeilen umfassen.)
PGSQL_ERRORS_VERBOSE (integer)
Wird an die Funktion pg_set_error_verbosity() übergeben. In diesem Modus werden alle verfügbaren Felder zurückgegeben.
PGSQL_STATUS_LONG (integer)
Wird an die Funktion pg_result_status() übergeben. Zeigt an, dass ein numerischer Ergebniscode gewünscht ist.
PGSQL_STATUS_STRING (integer)
Wird an die Funktion pg_result_status() übergeben. Zeigt an, dass eine textuelles Ergebnis gewünscht ist.
PGSQL_CONV_IGNORE_DEFAULT (integer)
Wird an die Funktion pg_convert() übergeben. Während der Konversion werden Standardwerte in der Tabelle ignoriert.
PGSQL_CONV_FORCE_NULL (integer)
Wird an die Funktion pg_convert() übergeben. Anstelle eines leeren Strings string wird der SQL Nullwert NULL benutzt.
PGSQL_CONV_IGNORE_NOT_NULL (integer)
Wird an die Funktion pg_convert() übergeben. Die Konversion von NULL in SQL NOT NULL-Spalten wird ignoriert.
PGSQL_DML_NO_CONV (integer)
Wird an pg_insert(), pg_select(), pg_update() und pg_delete() übergeben. Alle Parameter werden übergeben wie sie sind. Manuelles Maskieren ist erforderlich, wenn Parameter Anwenderdaten enthalten. Dafür ist pg_escape_string() zu verwenden.
PGSQL_DML_EXEC (integer)
Wird an pg_insert(), pg_select(), pg_update() und pg_delete() übergeben. Führt eine Abfrage durch diese Funktionen aus.
PGSQL_DML_ASYNC (integer)
Wird an pg_insert(), pg_select(), pg_update() und pg_delete() übergeben. Führt eine asynchrone Abfrage durch diese Funktionen aus.
PGSQL_DML_STRING (integer)
Wird an pg_insert(), pg_select(), pg_update() und pg_delete() übergeben. Gibt den ausgeführten Abfragestring zurück.
PGSQL_DML_ESCAPE (integer)
Wird an pg_insert(), pg_select(),
pg_update() und pg_delete()
übergeben. Maskiert alle Parameter anstatt pg_convert()
intern aufzurufen. Diese Option verzichtet auf das Nachschlagen von
Meta-Daten. Die Abfrage kann so schnell sein wie
pg_query() und pg_send_query().
PGSQL_POLLING_FAILED (integer)
Wird von pg_connect_poll() zurückgegeben, um anzuzeigen, dass der Verbindungsversuch fehlschlug.
PGSQL_POLLING_READING (integer)
Wird von pg_connect_poll() zurückgegeben, um anzuzeigen, dass die Verbindung auf Lesebereitschaft des PostgreSQL-Socket wartet.
PGSQL_POLLING_WRITING (integer)
Wird von pg_connect_poll() zurückgegeben, um anzuzeigen, dass die Verbindung auf Schreibbereitschaft des PostgreSQL-Socket wartet.
PGSQL_POLLING_OK (integer)
Wird von pg_connect_poll() zurückgegeben, um anzuzeigen, dass die Verbindung bereit zur Verwendung ist.
PGSQL_POLLING_ACTIVE (integer)
Wird von pg_connect_poll() zurückgegeben, um anzuzeigen, dass die Verbindung zur Zeit aktiv ist.
Ressource-Typen
Beispiele
PostgreSQL


Beispiele

Inhaltsverzeichnis

  • Grundlegende Nutzung
Vordefinierte Konstanten
Grundlegende Nutzung
PostgreSQL


Grundlegende Nutzung

Dieses einfache Beispiel zeigt den Verbindungsaufbau, die Ausführung einer einfachen Abfrage, die Ausgabe der Abfrageergebnisse und, wie eine Verbindung wieder geschlossen wird.

Beispiel #1 Beispiel für die Benutzung der PostgreSQL-Erweiterung

<?php
// Verbindungsaufbau und Auswahl der Datenbank
$dbconn = pg_connect("host=localhost dbname=publishing user=www password=foo")
    or die('Verbindungsaufbau fehlgeschlagen: ' . pg_last_error());

// Eine SQL-Abfrge ausführen
$query = 'SELECT * FROM authors';
$result = pg_query($query) or die('Abfrage fehlgeschlagen: ' . pg_last_error());

// Ergebnisse in HTML ausgeben
echo "<table>\n";
while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) {
    echo "\t<tr>\n";
    foreach ($line as $col_value) {
        echo "\t\t<td>$col_value</td>\n";
    }
    echo "\t</tr>\n";
}
echo "</table>\n";

// Speicher freigeben
pg_free_result($result);

// Verbindung schließen
pg_close($dbconn);
?>

Beispiele
PostgreSQL-Funktionen
Beispiele


PostgreSQL-Funktionen

Anmerkungen

Hinweis:

Nicht alle Funktionen sind in allen Versionen verfügbar. Es hängt davon ab, welche libpq-Version (die PostgreSQL-C-Client-Bibliothek) auf Ihrem Rechner verfügbar ist und wie libpq kompiliert wurde. Falls eine Funktion nicht verfügbar ist, liegt es daran, dass libpq die nötigen Routinen nicht unterstützt, die diese Funktion braucht.

Hinweis:

Die meisten PostgreSQL-Funktionen nehmen den Parameter connection als optionalen ersten Parameter entgegen. Falls er nicht angegeben wurde, wird die zuletzt geöffnete Verbindung benutzt. Wenn keine geöffnete Verbindung existiert, geben die Funktionen FALSE zurück.

Hinweis:

PostgreSQL wandelt automatisch alle Bezeichner (beispielsweise Tabellen- oder Spaltennamen) in Kleinbuchstaben um, und zwar sowohl bei der Erzeugung der Objekte als auch in Abfragen. Um Namen in Groß- und Kleinschreibung oder in Großbuchstaben zu erzwingen, müssen diese in doppelte Anführungszeichen ("") eingeschlossen werden.

Hinweis:

PostgreSQL stellt keine speziellen Kommandos zur Verfügung, um Informationen über ein Datenbank-Schema (z.B. alle Tabellen in der aktuellen Datenbank) zu erhalten. Stattdessen gibt es ab der Version 7.4 und höher ein Standard-Schema, das information_schema, in dem alle notwendigen Informationen in System-Views enthalten und die einfach abzufragen sind. Ausführliche Informationen darüber gibt es in der » PostgreSQL-Dokumentation.

Inhaltsverzeichnis

  • pg_affected_rows — Gibt die Anzahl betroffener Datensätze (Tupel) zurück
  • pg_cancel_query — Löscht eine asynchrone Abfrage
  • pg_client_encoding — Gibt die Kodierung des Clients zurück
  • pg_close — Schließt eine PostgreSQL-Verbindung
  • pg_connect_poll — Poll the status of an in-progress asynchronous PostgreSQL connection attempt.
  • pg_connect — Öffnet eine PostgreSQL-Verbindung
  • pg_connection_busy — Gibt den Status der Verbindung zurück (busy/not busy)
  • pg_connection_reset — Setzt die Verbindung zurück und verbindet neu
  • pg_connection_status — Gibt den Verbindungsstatus zurück
  • pg_consume_input — Reads input on the connection
  • pg_convert — Konvertiert die Werte eines assoziativen Arrays in passende Werte für SQL-Kommandos.
  • pg_copy_from — Fügt Datensätze aus einem Array in eine Tabelle ein
  • pg_copy_to — Kopiert eine Tabelle in ein Array
  • pg_dbname — Gibt den Namen der Datenbank zurück
  • pg_delete — Löscht Datensätze
  • pg_end_copy — Synchronisation mit dem PostgreSQL-Server
  • pg_escape_bytea — Maskiert Zeichenketten zum Einfügen in ein Feld vom Typ bytea
  • pg_escape_identifier — Escape a identifier for insertion into a text field
  • pg_escape_literal — Escape a literal for insertion into a text field
  • pg_escape_string — Maskiert einen String für Abfragen
  • pg_execute — Fordert den Datenankserver auf, eine vorbereitete Anfrage mit den angegebenen Parametern auszuführen und wartet auf das Ergebnis
  • pg_fetch_all_columns — Gibt alle Werte einer bestimmten Spalte eines Abfrageergebnisses in einem Array zurück
  • pg_fetch_all — Gibt alle Zeilen eines Abfrageergebnisses als Array zurück
  • pg_fetch_array — Holt eine Zeile als Array
  • pg_fetch_assoc — Holt eine Zeile als assoziatives Array
  • pg_fetch_object — Holt einen Datensatz als Objekt
  • pg_fetch_result — Liefert Werte aus einer Ergebnismenge
  • pg_fetch_row — Holt einen Datensatz als numerisches Array
  • pg_field_is_null — Prüft, ob ein Feld einen SQL NULL-Wert enthält
  • pg_field_name — Gibt den Namen eines Feldes zurück
  • pg_field_num — Gibt die Feldnummer des angegebenen Feldes zurück
  • pg_field_prtlen — Gibt die Länge des Feldes zurück
  • pg_field_size — Gibt den belegten Speicher für ein Feld zurück
  • pg_field_table — Gibt zu einem Feldnamen den Namen der Tabelle oder deren oid zurück, in der das Feld definiert ist
  • pg_field_type_oid — Gibt die ID des PostgreSQL-Datentyps (OID) eines Feldes zurück
  • pg_field_type — Gibt den Datentyp eines Feldes zurück
  • pg_flush — Flush outbound query data on the connection
  • pg_free_result — Gibt den durch Ergebnisse belegten Speicher frei
  • pg_get_notify — Gibt eine SQL NOTIFY-Nachricht zurück
  • pg_get_pid — Prüft die Datenbankverbindung
  • pg_get_result — Gibt asynchrone Abfrageergebnisse zurück
  • pg_host — Gibt den Namen des Host zurück, zu dem verbunden wurde
  • pg_insert — Überträgt Werte aus einem Array in eine Tabelle
  • pg_last_error — Gibt die letzte Fehlermeldung einer Verbindung zurück
  • pg_last_notice — Gibt die letzte NOTICE-Meldung des PostgreSQL-Servers zurück
  • pg_last_oid — Gibt den Objektbezeichner (OID) des zuletzt eingefügten Datensatzes zurück
  • pg_lo_close — Schließt ein Large Object
  • pg_lo_create — Erzeugt ein Large Object
  • pg_lo_export — Exportiert ein Large Object in eine Datei
  • pg_lo_import — Importiert ein Large Object aus einer Datei
  • pg_lo_open — Öffnet ein Large Object
  • pg_lo_read_all — Liest ein Large Object vollständig und reicht es direkt an den Browser weiter
  • pg_lo_read — Liest ein Large Object
  • pg_lo_seek — Setzt die Lese- oder Schreibposition in einem Large Object
  • pg_lo_tell — Gibt die aktuelle Lese- oder Schreibposition in einem Large Object zurück
  • pg_lo_truncate — Truncates a large object
  • pg_lo_unlink — Löscht ein Large Object
  • pg_lo_write — Schreibt in ein Large Object
  • pg_meta_data — Gibt Metadaten einer Tabelle als Array zurück
  • pg_num_fields — Gibt die Anzahl der Felder in einem Abfrageergebnis zurück
  • pg_num_rows — Gibt die Anzahl der Zeilen in einem Abfrageergebnis zurück
  • pg_options — Gibt die Verbindungsoptionen der aktuellen Verbindung zurück
  • pg_parameter_status — Gibt den Wert einer aktuellen Server-Einstellung zurück
  • pg_pconnect — Öffnet eine persistente PostgreSQL-Verbindung
  • pg_ping — Prüft die Datenbankverbindung
  • pg_port — Gibt die Portnummer zurück, über die die Verbindung aufgebaut wurde
  • pg_prepare — Sendet eine Aufforderung an den Server, eine vorbereitete Anfrage mit den übergebenen Parametern zu erzeugen und wartet auf ihre Beendigung.
  • pg_put_line — Sendet eine NULL-terminierte Zeichenkette zum PostgreSQL-Server
  • pg_query_params — Sendet ein Kommando zum Server und wartet seine Ausführung ab. Getrennt vom SQL-Kommando können dabei Parameter übergeben werden.
  • pg_query — Führt eine Abfrage aus
  • pg_result_error_field — Gibt den Inhalt eines bestimmtes Feldes zu einer Fehlermeldung zurück
  • pg_result_error — Gibt die mit der Ergebniskennung verknüpfte Fehlermeldung zurück
  • pg_result_seek — Setzt den internen Datensatzzeiger auf die angegebene Position in einem Abfrageergebnis
  • pg_result_status — Gibt den Status eines Abfrageergebnisses zurück
  • pg_select — Wählt Datensätze aus
  • pg_send_execute — Sendet eine Aufforderung an den Server, eine vorbereitete Abfrage mit den übergebenen Parametern auszuführen, ohne auf die Ergebnisse zu warten.
  • pg_send_prepare — Sendet eine Aufforderung an den Server, eine vorbereitete Abfrage mit den übergebenen Parametern zu erzeugen, ohne auf ihre Beendigung zu warten.
  • pg_send_query_params — Sendet ein Kommando und separate Parameter zum Server, ohne auf die Rückgabe der Ergebnisse zu warten
  • pg_send_query — Sendet eine asynchrone Abfrage
  • pg_set_client_encoding — Setzt die Kodierung des Clients
  • pg_set_error_verbosity — Bestimmt den Detaillierungsgrad von Fehlermeldungen, die von pg_last_error und pg_result_error zurückgegeben werden.
  • pg_socket — Get a read only handle to the socket underlying a PostgreSQL connection
  • pg_trace — Ermöglicht die Ablaufverfolgung einer Verbindung
  • pg_transaction_status — Gibt den aktuellen Transaktionsstatus des Servers zurück
  • pg_tty — Gibt den TTY Namen für die Verbindung zurück
  • pg_unescape_bytea — Entfernt Maskierungen für den Typ bytea
  • pg_untrace — Beendet die Ablaufverfolgung einer PostgreSQL-Verbindung
  • pg_update — Aktualisiert eine Tabelle
  • pg_version — Gibt ein Array zurück, das die Versionen von Client, Protokoll und Server enthält (falls verfügbar).
Grundlegende Nutzung
pg_affected_rows
PostgreSQL


Gibt die Anzahl betroffener Datensätze (Tupel) zurück

PostgreSQL-Funktionen
pg_cancel_query
PostgreSQL-Funktionen
PHP Manual

pg_affected_rows

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_affected_rows — Gibt die Anzahl betroffener Datensätze (Tupel) zurück

Beschreibung

int pg_affected_rows ( resource $result )

pg_affected_rows() gibt die Anzahl der Tupels (Instanzen/Datensätze/Zeilen) zurück, die von einer ausgeführten INSERT-, UPDATE- oder DELETE-Abfrage betroffen sind.

Ab PostgreSQL 9.0 und neuer gibt der Server die Anzahl von per SELECT gewählten Zeilen zurück. Ältere PostgreSQL Versionen geben 0 für SELECT zurück.

Hinweis:

Diese Funktion hieß vormals pg_cmdtuples().

Parameter-Liste

result

PostgreSQL Ergebniskennung, die (unter anderem) von den Funktionen pg_query(), pg_query_params() oder pg_execute() zurückgegeben wird.

Rückgabewerte

Die Anzahl der Zeilen, die von der Abfrage betroffen wurden. Wurde keine Zeile betroffen, wird 0 zurückgegeben.

Beispiele

Beispiel #1 pg_affected_rows()-Beispiel

<?php
$result = pg_query($conn, "INSERT INTO authors VALUES ('Orwell', 2002, 'Animal Farm')");

$cmdtuples = pg_affected_rows($result);

echo $cmdtuples . " Zeile(n) wurden betroffen.\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1 Zeile(n) wurden betroffen.

Siehe auch

  • pg_query() - Führt eine Abfrage aus
  • pg_query_params() - Sendet ein Kommando zum Server und wartet seine Ausführung ab. Getrennt vom SQL-Kommando können dabei Parameter übergeben werden.
  • pg_execute() - Fordert den Datenankserver auf, eine vorbereitete Anfrage mit den angegebenen Parametern auszuführen und wartet auf das Ergebnis
  • pg_num_rows() - Gibt die Anzahl der Zeilen in einem Abfrageergebnis zurück

PostgreSQL-Funktionen
pg_cancel_query
PostgreSQL-Funktionen


Löscht eine asynchrone Abfrage

pg_affected_rows
pg_client_encoding
PostgreSQL-Funktionen
PHP Manual

pg_cancel_query

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_cancel_query — Löscht eine asynchrone Abfrage

Beschreibung

bool pg_cancel_query ( resource $connection )

pg_cancel_query() löscht eine asynchrone Abfrage,
die mit pg_send_query(), pg_send_query_params()
oder pg_send_execute() an den Datenbankserver
gesendet wurde. Eine Abfrage, die mit pg_query()
gesendet wurde, kann nicht gelöscht werden.

Parameter-Liste

connection

PostgreSQL Verbindungskennung.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pg_cancel_query() Beispiel

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Keine Verbindung möglich");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from authors; select count(*) from authors;");
  }

  $res1 = pg_get_result($dbconn);
  echo "Erster Aufruf von pg_get_result(): $res1\n";
  $rows1 = pg_num_rows($res1);
  echo "$res1 hat $rows1 Zeilen.\n\n";

  // Die aktuell ausgeführte Abfrage löschen. Falls die
  // erste Abfrage abgeschlossen ist, wird die zweite
  // gelöscht,sofern sie noch nicht beendet ist.
  pg_cancel_query($dbconn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Erster Aufruf von pg_get_result(): Resource id #3
Resource id #3 hat 3 Zeilen.

Siehe auch

  • pg_send_query() - Sendet eine asynchrone Abfrage
  • pg_connection_busy() - Gibt den Status der Verbindung zurück (busy/not busy)

pg_affected_rows
pg_client_encoding
PostgreSQL-Funktionen


Gibt die Kodierung des Clients zurück

pg_cancel_query
pg_close
PostgreSQL-Funktionen
PHP Manual

pg_client_encoding

(PHP 4 >= 4.0.3, PHP 5, PHP 7)

pg_client_encoding — Gibt die Kodierung des Clients zurück

Beschreibung

string pg_client_encoding ([ resource $connection ] )

PostgreSQL unterstützt die automatische Konversion von Zeichensätzen zwischen Server und Client für bestimmte Zeichensätze. pg_client_encoding() gibt die Kodierung des Clients in einem String zurück, der den Namen einer PostgreSQL Standardkodierung enthält.

Hinweis:

Diese Funktion setzt PHP 4.0.3 oder höher und PostgreSQL 7.0 oder höher voraus. Wenn die libpq ohne multibyte-Unterstützung kompiliert wurde, gibt pg_set_client_encoding() immer SQL_ASCII zurück. Die unterstützten Kodierungen sind von der PostgreSQL-Version abhängig. Weitere Informationen entnehmen Sie bitte der PostgreSQL Dokumentation.

Diese Funktion ersetzt die Funktion pg_clientencoding().

Parameter-Liste

connection

PostgreSQL Verbindungskennung. Falls connection nicht angegeben wurde, wird die zuletzt mit pg_connect() oder pg_pconnect() geöffnete Verbindung benutzt.

Rückgabewerte

Die Kodierung des Clients oder FALSE bei einem Fehler.

Beispiele

Beispiel #1 pg_client_encoding() Beispiel

<?php
// Angenommen, $conn sei eine Verbindung zu einer ISO-8859-1 Datenbank
$encoding = pg_client_encoding($conn);

echo "Der Client benutzt die Kodierung: ", $encoding, "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Der Client benutzt die Kodierung: ISO-8859-1

Siehe auch

  • pg_set_client_encoding() - Setzt die Kodierung des Clients

pg_cancel_query
pg_close
PostgreSQL-Funktionen


Schließt eine PostgreSQL-Verbindung

pg_client_encoding
pg_connect_poll
PostgreSQL-Funktionen
PHP Manual

pg_close

(PHP 4, PHP 5, PHP 7)

pg_close — Schließt eine PostgreSQL-Verbindung

Beschreibung

bool pg_close ([ resource $connection ] )

pg_close() schließt die nicht-persistente Verbindung, die durch die Kennung connection bezeichnet wird.

Hinweis:

Die Verwendung von pg_close() ist normalerweise nicht notwendig, da geöffnete, nicht-persistente Verbindungen automatisch geschlossen werden, wenn das Skript beendet wird.

Falls es auf dieser Verbindung geöffnete Large Objects gibt, sollten Sie diese schließen, bevor Sie die Verbindung schließen.

Parameter-Liste

connection

PostgreSQL-Verbindungkennung. Falls connection nicht angegeben wurde, wird die zuletzt mit pg_connect() oder pg_pconnect() geöffnete Verbindung benutzt.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pg_close()-Beispiel

<?php
$dbconn = pg_connect("host=localhost port=5432 dbname=mary")
   or die("Keine Verbindung möglich");
echo "Verbindung hergestellt";
pg_close($dbconn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Verbindung hergestellt

Siehe auch

  • pg_connect() - Öffnet eine PostgreSQL-Verbindung

pg_client_encoding
pg_connect_poll
PostgreSQL-Funktionen


Poll the status of an in-progress asynchronous PostgreSQL connection attempt.

pg_close
pg_connect
PostgreSQL-Funktionen
PHP Manual

pg_connect_poll

(PHP 5 >= 5.6.0, PHP 7)

pg_connect_poll — Poll the status of an in-progress asynchronous PostgreSQL connection attempt.

Beschreibung

int pg_connect_poll ([ resource $connection ] )

pg_connect_poll() polls the status of a PostgreSQL connection created by calling pg_connect() with the PGSQL_CONNECT_ASYNC option.

Parameter-Liste

connection

PostgreSQL database connection resource.

Rückgabewerte

Returns PGSQL_POLLING_FAILED, PGSQL_POLLING_READING, PGSQL_POLLING_WRITING, PGSQL_POLLING_OK, or PGSQL_POLLING_ACTIVE.

pg_close
pg_connect
PostgreSQL-Funktionen


Öffnet eine PostgreSQL-Verbindung

pg_connect_poll
pg_connection_busy
PostgreSQL-Funktionen
PHP Manual

pg_connect

(PHP 4, PHP 5, PHP 7)

pg_connect — Öffnet eine PostgreSQL-Verbindung

Beschreibung

resource pg_connect ( string $connection_string [, int $connect_type ] )

pg_connect() öffnet eine Verbindung zu der PostgreSQL-Datenbank, die durch den connection_string bezeichnet wird.

Falls ein zweiter Aufruf von pg_connect() mit demselben connection_string gemacht wird, wird die Verbindungskennung der bereits geöffneten Verbindung zurückgegeben, es sei denn, Sie übergeben die Konstante PGSQL_CONNECT_FORCE_NEW im Parameter connect_type.

Die alte Syntax $conn = pg_connect ("host", "port", "options", "tty", "dbname") sollte nicht mehr benutzt werden.

Parameter-Liste

connection_string

Der connection_string darf leer sein, dann werden Standard-Parameter benutzt. Er kann auch einen oder mehrere Parameter, durch Leerzeichen getrennt, enthalten. Jeder Parameter muss in der Form keyword = value angegeben werden, wobei das Gleichheitzeichen optional ist. Um einen leeren Wert oder einen Wert, der Leerzeichen enthält, zu übergeben, muss dieser in einfache Anführungszeichen eingeschlossen sein, etwa so: keyword = 'ein Wert'. Einfache Anführungszeichen oder Backslashes innerhalb von Werten müssen mit einem Backslash maskiert werden: \' und \\.

Diese Schlüsselwörter für die Parameter werden aktuell erkannt: host, hostaddr, port, dbname (standardmäßig der Wert von user), user, password, connect_timeout, options, tty (wird ignoriert), sslmode, requiressl (zugunsten von sslmode ausgemustert) und service. Welche dieser Parameter zur Verfügung stehen, ist von Ihrer PostgreSQL-Version abhängig.

Der options Parameter kann verwendet werden, um vom Server auszuführende Kommandozeilenparameter zu setzen.

connect_type

Wenn PGSQL_CONNECT_FORCE_NEW übergeben wird, wird eine neue Verbindung aufgebaut, auch wenn der connection_string identisch zu der aktuell geöffneten Verbindung ist.

Ist PGSQL_CONNECT_ASYNC angegeben, dann wird die Verbindung asynchron hergestellt. Der Zustand der Verbindung kann dann per pg_connect_poll() oder pg_connection_status() überprüft werden.

Rückgabewerte

Bei Erfolg wird eine PostgreSQL-Verbindungskennung zurückgegeben oder FALSE bei einem Fehler.

Changelog

Version | Beschreibung
5.6.0 | Unterstützung für die Übergabe der PGSQL_CONNECT_ASYNC Konstante als connect_type wurde hinzugefügt.

Beispiele

Beispiel #1 pg_connect() benutzen

<?php
$dbconn = pg_connect("dbname=mary");
//Verbindungsaufbau zu einer Datenbank namens "mary"

$dbconn2 = pg_connect("host=localhost port=5432 dbname=mary");
// Verbindungsaufbau zu einer Datenbank namens "mary" auf dem
// Host "localhost" über den (Standard-)Port "5432"

$dbconn3 = pg_connect("host=sheep port=5432 dbname=mary user=lamb password=foo");
//Verbindungsaufbau zu einer Datenbank namens "mary" auf dem Host
//"sheep" mit dem Benutzernamen "lamb" und dem Passwort "foo"

$conn_string = "host=sheep port=5432 dbname=test user=lamb password=bar";
$dbconn4 = pg_connect($conn_string);
//Verbindungsaufbau zu einer Datenbank namens "test" auf dem Host
//"sheep" mit dem Benutzernamen "lamb" und dem Passwort "bar"
?>

$dbconn5 = pg_connect("host=localhost options='--client_encoding=UTF8'");
// Verbindungsaufbau zu einer Datenbank auf dem Host "localhost" mit Setzen
// des Kommandozeilenparameters, der die Zeichenkodierung UTF-8 angibt

Siehe auch

  • pg_pconnect() - Öffnet eine persistente PostgreSQL-Verbindung
  • pg_close() - Schließt eine PostgreSQL-Verbindung
  • pg_host() - Gibt den Namen des Host zurück, zu dem verbunden wurde
  • pg_port() - Gibt die Portnummer zurück, über die die Verbindung aufgebaut wurde
  • pg_tty() - Gibt den TTY Namen für die Verbindung zurück
  • pg_options() - Gibt die Verbindungsoptionen der aktuellen Verbindung zurück
  • pg_dbname() - Gibt den Namen der Datenbank zurück

pg_connect_poll
pg_connection_busy
PostgreSQL-Funktionen


Gibt den Status der Verbindung zurück (busy/not busy)

pg_connect
pg_connection_reset
PostgreSQL-Funktionen
PHP Manual

pg_connection_busy

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_connection_busy — Gibt den Status der Verbindung zurück (busy/not busy)

Beschreibung

bool pg_connection_busy ( resource $connection )

pg_connection_busy() stellt fest, ob eine Verbindung gerade benutzt wird. Falls ja, wird eine zuvor gesendete Abfrage noch bearbeitet. Falls die Funktion pg_get_result() aufgerufen wird, wird sie blockiert.

Parameter-Liste

connection

PostgreSQL Verbindungskennung.

Rückgabewerte

Gibt TRUE zurück, falls die Verbindung gerade benutzt wird, ansonsten FALSE.

Beispiele

Beispiel #1 pg_connection_busy() Beispiel

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Konnte keine Verbindung aufbauen.");
  $bs = pg_connection_busy($dbconn);
  if ($bs) {
      echo 'Die Verbindung wird gerade benutzt.';
  } else {
     echo 'Die Verbindung ist frei.';
  }
?>

Siehe auch

  • pg_connection_status() - Gibt den Verbindungsstatus zurück
  • pg_get_result() - Gibt asynchrone Abfrageergebnisse zurück

pg_connect
pg_connection_reset
PostgreSQL-Funktionen


Setzt die Verbindung zurück und verbindet neu

pg_connection_busy
pg_connection_status
PostgreSQL-Funktionen
PHP Manual

pg_connection_reset

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_connection_reset — Setzt die Verbindung zurück und verbindet neu

Beschreibung

bool pg_connection_reset ( resource $connection )

pg_connection_reset() setzt die Verbindung zurück. Dies ist nützlich bei der Fehlerbehandlung.

Parameter-Liste

connection

PostgreSQL Verbindungskennung.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pg_connection_reset() Beispiel

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Konnte keine Verbindung aufbauen.");
  $dbconn2 = pg_connection_reset($dbconn);
  if ($dbconn2) {
      echo "Verbindung erfolgreich zurückgesetzt\n";
  } else {
      echo "Konnte die Verbindung nicht zurücksetzen\n";
  }
?>

Siehe auch

  • pg_connect() - Öffnet eine PostgreSQL-Verbindung
  • pg_pconnect() - Öffnet eine persistente PostgreSQL-Verbindung
  • pg_connection_status() - Gibt den Verbindungsstatus zurück

pg_connection_busy
pg_connection_status
PostgreSQL-Funktionen


Gibt den Verbindungsstatus zurück

pg_connection_reset
pg_consume_input
PostgreSQL-Funktionen
PHP Manual

pg_connection_status

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_connection_status — Gibt den Verbindungsstatus zurück

Beschreibung

int pg_connection_status ( resource $connection )

pg_connection_status() gibt den Status der angegebenen connection zurück.

Parameter-Liste

connection

PostgreSQL Verbindungskennung.

Rückgabewerte

PGSQL_CONNECTION_OK oder PGSQL_CONNECTION_BAD.

Beispiele

Beispiel #1 pg_connection_status() Beispiel

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Konnte keine Verbindung aufbauen");
  $stat = pg_connection_status($dbconn);
  if ($stat === PGSQL_CONNECTION_OK) {
      echo 'Verbindungsstatus ok';
  } else {
      echo 'Verbindungsstatus bad';
  }
?>

Siehe auch

  • pg_connection_busy() - Gibt den Status der Verbindung zurück (busy/not busy)

pg_connection_reset
pg_consume_input
PostgreSQL-Funktionen


Reads input on the connection

pg_connection_status
pg_convert
PostgreSQL-Funktionen
PHP Manual

pg_consume_input

(PHP 5 >= 5.6.0, PHP 7)

pg_consume_input — Reads input on the connection

Beschreibung

bool pg_consume_input ( resource $connection )

pg_consume_input() consumes any input waiting to be read from the database server.

Parameter-Liste

connection

PostgreSQL database connection resource.

Rückgabewerte

TRUE if no error occurred, or FALSE if there was an error. Note that TRUE does not necessarily indicate that input was waiting to be read.

pg_connection_status
pg_convert
PostgreSQL-Funktionen


Konvertiert die Werte eines assoziativen Arrays in passende Werte für SQL-Kommandos.

pg_consume_input
pg_copy_from
PostgreSQL-Funktionen
PHP Manual

pg_convert

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

pg_convert — Konvertiert die Werte eines assoziativen Arrays in passende Werte für SQL-Kommandos.

Beschreibung

array pg_convert ( resource $connection , string $table_name , array $assoc_array [, int $options = 0 ] )

pg_convert() prüft und konvertiert die Werte in assoc_array in passende Werte für ein SQL-Kommando. Voraussetzung für pg_convert() ist die Existenz einer Tabelle table_name, die mindestens so viele Spalten hat, wie assoc_array Elemente. Die Feldnamen in table_name müssen mit den Schlüsseln von assoc_array übereinstimmen und die entsprechenden Datentypen müssen kompatibel sein. Zurückgegeben wird bei Erfolg ein Array mit den konvertierten Werten oder FALSE, falls ein Fehler auftrat.

Hinweis:

Ab PHP 5.6.0 werden boolesche Werte akzeptiert, die zu booleschen PostgreSQL Werten konvertiert werden. Zeichenkettendarstellungen von booleschen Werten werden ebenfalls unterstützt. NULL wird in PostgreSQL NULL konvertiert.

Vor PHP 5.6.0 gilt: falls die Tabelle table_name boolesche Felder enthält, dürfen Sie die Konstante TRUE nicht als Wert im Array assoc_array verwenden. Sie wird zu dem String 'TRUE' konvertiert, der kein gültiger Wert für boolesche Felder in PostgreSQL ist. Benutzen Sie stattdessen t, true, 1, y oder yes.

Parameter-Liste

connection

PostgreSQL Verbindungskennung.

table_name

Name der Tabelle, für die die Arrayelemente konvertiert werden.

assoc_array

Die Daten, die konvertiert werden.

options

Beliebige Kombination der Konstanten PGSQL_CONV_IGNORE_DEFAULT, PGSQL_CONV_FORCE_NULL oder PGSQL_CONV_IGNORE_NOT_NULL.

Rückgabewerte

Ein array mit den konvertierten Werten oder FALSE, falls ein Fehler auftrat.

Beispiele

Beispiel #1 pg_convert() Beispiel

<?php
  $dbconn = pg_connect('dbname=foo');

  $tmp = array(
      'author' => 'Joe Thackery',
      'year' => 2005,
      'title' => 'My Life, von Joe Thackery'
  );

  $vals = pg_convert($dbconn, 'authors', $tmp);
?>

Changelog

Version | Beschreibung
5.6.0 | Nicht länger experimentell. Boolesche/NULL Datentypen werden unterstützt. Unbekannte/nicht unterstützte Datentypen werden ohne Gültigkeitsprüfung maskiert. pg_convert() kann mit jedem Datentypen verwendet werden.

Siehe auch

  • pg_meta_data() - Gibt Metadaten einer Tabelle als Array zurück
  • pg_insert() - Überträgt Werte aus einem Array in eine Tabelle
  • pg_select() - Wählt Datensätze aus
  • pg_update() - Aktualisiert eine Tabelle
  • pg_delete() - Löscht Datensätze

pg_consume_input
pg_copy_from
PostgreSQL-Funktionen


Fügt Datensätze aus einem Array in eine Tabelle ein

pg_convert
pg_copy_to
PostgreSQL-Funktionen
PHP Manual

pg_copy_from

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_copy_from — Fügt Datensätze aus einem Array in eine Tabelle ein

Beschreibung

bool pg_copy_from ( resource $connection , string $table_name , array $rows [, string $delimiter [, string $null_as ]] )

pg_copy_from() fügt Datensätze aus einem Array in eine Tabelle ein. Intern wird der COPY-Befehl aufgerufen, um die Datensätze einzufügen. Bei Erfolg gibt die Funktion TRUE zurück, FALSE sonst.

Parameter-Liste

connection

PostgreSQL Verbindungskennung.

table_name

Name der Tabelle, in die die rows eingefügt werden.

rows

Ein array mit Werten, die in die table_name eingefügt werden. Jedes Element von rows wird zu einer Zeile in table_name. Die Elemente in rows müssen Strings mit Feldbegrenzern sein, und mit einem Zeilenvorschub abgeschlossen sein.

delimiter

Der Feldbegrenzer, mit dem die Werte in den Elementen von rows separiert werden. Der Vorgabewert ist TAB.

null_as

Bestimmt, wie SQL NULL Werte in rows dargestellt werden. Der Standardwert ist \N ("\\N").

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pg_copy_from() Beispiel

<?php
   $db = pg_connect("dbname=publisher") or die("Konnte keine Verbindung aufbauen");

   $rows = pg_copy_to($db, $table_name);

   pg_query($db, "DELETE FROM $table_name");

   pg_copy_from($db, $table_name, $rows);
?>

Siehe auch

  • pg_copy_to() - Kopiert eine Tabelle in ein Array

pg_convert
pg_copy_to
PostgreSQL-Funktionen


Kopiert eine Tabelle in ein Array

pg_copy_from
pg_dbname
PostgreSQL-Funktionen
PHP Manual

pg_copy_to

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_copy_to — Kopiert eine Tabelle in ein Array

Beschreibung

array pg_copy_to ( resource $connection , string $table_name [, string $delimiter [, string $null_as ]] )

pg_copy_to() kopiert eine Tabelle in ein Array. Intern wird das SQL Kommando COPY TO aufgerufen, um die Datensätze einzufügen.

Parameter-Liste

connection

PostgreSQL Verbindungskennung.

table_name

Name der Tabelle, aus der die Daten in das Array rows kopiert werden.

delimiter

Der Feldbegrenzer, mit dem die Werte in den Elementen von rows separiert werden. Der Vorgabewert ist TAB.

null_as

Bestimmt, wie SQL NULL Werte in rows dargestellt werden. Der Standardwert ist \N ("\\N").

Rückgabewerte

Die Funktion gibt ein array zurück, in dem jedes Element eine Zeile der mit COPY erzeugten Daten enthält. Falls ein Fehler auftritt, wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pg_copy_to() Beispiel

<?php
   $db = pg_connect("dbname=publisher") or die("Konnte keine Verbindung aufbauen");

   $rows = pg_copy_to($db, $table_name);

   pg_query($db, "DELETE FROM $table_name");

   pg_copy_from($db, $table_name, $rows);
?>

Siehe auch

  • pg_copy_from() - Fügt Datensätze aus einem Array in eine Tabelle ein

pg_copy_from
pg_dbname
PostgreSQL-Funktionen


Gibt den Namen der Datenbank zurück

pg_copy_to
pg_delete
PostgreSQL-Funktionen
PHP Manual

pg_dbname

(PHP 4, PHP 5, PHP 7)

pg_dbname — Gibt den Namen der Datenbank zurück

Beschreibung

string pg_dbname ([ resource $connection ] )

pg_dbname() gibt den Namen der Datenbank, deren connection Kennung übergeben wurde, zurück.

Parameter-Liste

connection

PostgreSQL Verbindungskennung. Wenn connection fehlt, wird die Standardverbindung angenommen. Dies ist die Verbindung, die zuletzt mit den Funktionen pg_connect() oder pg_pconnect() geöffnet wurde.

Rückgabewerte

Ein string mit dem Namen der Datenbank, zu der eine connection besteht, oder FALSE, falls ein Fehler auftrat.

Beispiele

Beispiel #1 pg_dbname() Beispiel

<?php
  error_reporting(E_ALL);

  pg_connect("host=localhost port=5432 dbname=mary");
  echo pg_dbname(); // mary
?>

pg_copy_to
pg_delete
PostgreSQL-Funktionen


Löscht Datensätze

pg_dbname
pg_end_copy
PostgreSQL-Funktionen
PHP Manual

pg_delete

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

pg_delete — Löscht Datensätze

Beschreibung

mixed pg_delete ( resource $connection , string $table_name , array $assoc_array [, int $options = PGSQL_DML_EXEC ] )

pg_delete() löscht Datensätze aus table_name, deren Feldnamen den Indizes von assoc_array entsprechen und deren Spaltenwerte mit den Werten der Arrayelemente identisch sind. Falls options angegeben wurde, wird pg_convert() mit den angegebenen Optionen auf assoc_array angewendet.

Parameter-Liste

connection

PostgreSQL Verbindungskennung.

table_name

Name der Tabelle, aus der Zeilen gelöscht werden.

assoc_array

Ein array dessen Schlüssel den Feldnamen der Tabelle table_name entsprechen und dessen Werte den zu löschenden Spaltenwerten entsprechen.

options

Jede Kombination aus PGSQL_CONV_FORCE_NULL, PGSQL_DML_NO_CONV, PGSQL_DML_ESCAPE, PGSQL_DML_EXEC, PGSQL_DML_ASYNC oder PGSQL_DML_STRING. Falls PGSQL_DML_STRING in den options enthalten ist, wird der Abfragestring zurückgegeben. Werden PGSQL_DML_NO_CONV oder PGSQL_DML_ESCAPE angegeben, wird pg_convert() intern nicht aufgerufen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. Gibt einen string zurück, falls die Konstante PGSQL_DML_STRING im Parameter options übergeben wurde.

Beispiele

Beispiel #1 pg_delete() Beispiel

<?php
  $db = pg_connect('dbname=foo');
  // Das ist sicher, weil $_POST automatisch konvertiert wird
  $res = pg_delete($db, 'post_log', $_POST);
  if ($res) {
      echo "POST-Daten wurden gelscht: $res\n";
  } else {
      echo "Aufruf erfolgte mit falschen Angaben\n";
  }
?>

Changelog

Version | Beschreibung
5.6.0 | Nicht länger experimentell. Die PGSQL_DML_ESCAPE Konstante wurde hinzugefügt, wie auch Unterstützung für TRUE/FALSE und NULL Datentypen.
5.5.3/5.4.19 | Direkte SQL-Injection in table_name und indirekte SQL-Injection in Bezeichner wurden behoben.

Siehe auch

  • pg_convert() - Konvertiert die Werte eines assoziativen Arrays in passende Werte für SQL-Kommandos.

pg_dbname
pg_end_copy
PostgreSQL-Funktionen


Synchronisation mit dem PostgreSQL-Server

pg_delete
pg_escape_bytea
PostgreSQL-Funktionen
PHP Manual

pg_end_copy

(PHP 4 >= 4.0.3, PHP 5, PHP 7)

pg_end_copy — Synchronisation mit dem PostgreSQL-Server

Beschreibung

bool pg_end_copy ([ resource $connection ] )

pg_end_copy() synchronisiert das PostgreSQL-Frontend (normalerweise ein Prozess des Webservers) mit dem PostgreSQL-Server nach einer Kopier-Operation, die von der Funktion pg_put_line() durchgeführt wurde. pg_end_copy() muss aufgerufen werden, da sonst der PostgreSQL-Server einen "out of sync" Fehler mit dem Frontend meldet. Die Funktion gibt bei Erfolg TRUE zurück, und bei Misserfolg einen Fehler.

Parameter-Liste

connection

PostgreSQL Verbindungkennung. Falls connection nicht angegeben wurde, wird die zuletzt mit pg_connect() oder pg_pconnect() geöffnete Verbindung benutzt.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pg_end_copy() Beispiel

<?php
  $conn = pg_pconnect("dbname=foo");
  pg_query($conn, "create table bar (a int4, b char(16), d float8)");
  pg_query($conn, "copy bar from stdin");
  pg_put_line($conn, "3\thello world\t4.5\n");
  pg_put_line($conn, "4\tgoodbye world\t7.11\n");
  pg_put_line($conn, "\\.\n");
  pg_end_copy($conn);
?>

Siehe auch

  • pg_put_line() - Sendet eine NULL-terminierte Zeichenkette zum PostgreSQL-Server

pg_delete
pg_escape_bytea
PostgreSQL-Funktionen


Maskiert Zeichenketten zum Einfügen in ein Feld vom Typ bytea

pg_end_copy
pg_escape_identifier
PostgreSQL-Funktionen
PHP Manual

pg_escape_bytea

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_escape_bytea — Maskiert Zeichenketten zum Einfügen in ein Feld vom Typ bytea

Beschreibung

string pg_escape_bytea ([ resource $connection ], string $data )

pg_escape_bytea() maskiert data fr den Datentyp bytea und gibt den maskierten String zurück.

Hinweis:

Wenn Sie mit SELECT Daten vom Typ bytea abfragen, gibt PostgreSQL die Oktalwerte der einzelnen Datenbytes zurück, denen ein Backslash vorangestellt ist (z.B. \032). Diese Werte müssen vom Benutzer in das Binärformat zurückkonvertiert werden.

Diese Funktion setzt PostgreSQL 7.2 oder höher voraus. Mit den PostgreSQL-Versionen 7.2.0 und 7.2.1 muss der Typ bytea konvertiert werden, falls die multi-byte-Unterstützung benutzt wird, z.B. INSERT INTO test_table (image) VALUES ('$image_escaped'::bytea);. Ab der PostgreSQL-Version 7.2.2 und höher, muss keine Typkonvertierung mehr durchgeführt werden. Es sei denn, die Codierungen von Client und Server passen nicht zusammen, was zu einem multi-byte Streamfehler führen kann. Um diesen Fehler zu vermeiden, muss der Stream in den Typ bytea konvertiert werden.

Parameter-Liste

connection

PostgreSQL Verbindungskennung. Wenn der Parameter connection nicht angegeben ist, wird die Standardverbindung benutzt. Das ist die Verbindung, die zuletzt von pg_connect() oder pg_pconnect() geöffnet wurde.

data

Ein string, der Text oder Binärdaten enthält, die in eine Spalte vom Typ bytea eingefügt werden sollen.

Rückgabewerte

Ein string mit den maskierten Daten.

Changelog

Version | Beschreibung
5.2.0 | Der Parameter connection wurde hinzugefügt.

Beispiele

Beispiel #1 pg_escape_bytea() Beispiel

<?php
  // Zur Datenbank verbinden
  $dbconn = pg_connect('dbname=foo');

  // eine Binärdatei auslesen
  $data = file_get_contents('image1.jpg');

  // Die Binärdaten maskieren
  $escaped = pg_escape_bytea($data);

  // und in die Datenbank einfügen
  pg_query("INSERT INTO gallery (name, data) VALUES ('Pine trees', '{$escaped}')");
?>

Siehe auch

  • pg_unescape_bytea() - Entfernt Maskierungen für den Typ bytea
  • pg_escape_string() - Maskiert einen String für Abfragen

pg_end_copy
pg_escape_identifier
PostgreSQL-Funktionen


Escape a identifier for insertion into a text field

pg_escape_bytea
pg_escape_literal
PostgreSQL-Funktionen
PHP Manual

pg_escape_identifier

(PHP 5 >= 5.4.4, PHP 7)

pg_escape_identifier — Escape a identifier for insertion into a text field

Beschreibung

string pg_escape_identifier ([ resource $connection ], string $data )

pg_escape_identifier() escapes a identifier (e.g. table, field names) for quering the database. It returns an escaped identifier string for PostgreSQL server. pg_escape_identifier() adds double quotes before and after data. Users should not add double quotes. Use of this function is recommended for identifier parameters in query. For SQL literals (i.e. parameters except bytea), pg_escape_literal() or pg_escape_string() must be used. For bytea type fields, pg_escape_bytea() must be used instead.

Hinweis:

This function has internal escape code and can also be used with PostgreSQL 8.4 or less.

Parameter-Liste

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

data

A string containing text to be escaped.

Rückgabewerte

A string containing the escaped data.

Beispiele

Beispiel #1 pg_escape_identifier() example

<?php
  // Connect to the database
  $dbconn = pg_connect('dbname=foo');

  // Escape the table name data
  $escaped = pg_escape_identifier($table_name);

  // Select rows from $table_name
  pg_query("SELECT * FROM {$escaped};");
?>

Siehe auch

  • pg_escape_literal() - Escape a literal for insertion into a text field
  • pg_escape_bytea() - Maskiert Zeichenketten zum Einfügen in ein Feld vom Typ bytea
  • pg_escape_string() - Maskiert einen String für Abfragen

pg_escape_bytea
pg_escape_literal
PostgreSQL-Funktionen


Escape a literal for insertion into a text field

pg_escape_identifier
pg_escape_string
PostgreSQL-Funktionen
PHP Manual

pg_escape_literal

(PHP 5 >= 5.4.4, PHP 7)

pg_escape_literal — Escape a literal for insertion into a text field

Beschreibung

string pg_escape_literal ([ resource $connection ], string $data )

pg_escape_literal() escapes a literal for querying the PostgreSQL database. It returns an escaped literal in the PostgreSQL format. pg_escape_literal() adds quotes before and after data. Users should not add quotes. Use of this function is recommended instead of pg_escape_string(). If the type of the column is bytea, pg_escape_bytea() must be used instead. For escaping identifiers (e.g. table, field names), pg_escape_identifier() must be used.

Hinweis:

This function has internal escape code and can also be used with PostgreSQL 8.4 or less.

Parameter-Liste

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect(). When there is no default connection, it raises E_WARNING and returns FALSE.

data

A string containing text to be escaped.

Rückgabewerte

A string containing the escaped data.

Beispiele

Beispiel #1 pg_escape_literal() example

<?php
  // Connect to the database
  $dbconn = pg_connect('dbname=foo');

  // Read in a text file (containing apostrophes and backslashes)
  $data = file_get_contents('letter.txt');

  // Escape the text data
  $escaped = pg_escape_literal($data);

  // Insert it into the database. Note that no quotes around {$escaped}
  pg_query("INSERT INTO correspondence (name, data) VALUES ('My letter', {$escaped})");
?>

Siehe auch

  • pg_escape_identifier() - Escape a identifier for insertion into a text field
  • pg_escape_bytea() - Maskiert Zeichenketten zum Einfügen in ein Feld vom Typ bytea
  • pg_escape_string() - Maskiert einen String für Abfragen

pg_escape_identifier
pg_escape_string
PostgreSQL-Funktionen


Maskiert einen String für Abfragen

pg_escape_literal
pg_execute
PostgreSQL-Funktionen
PHP Manual

pg_escape_string

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_escape_string — Maskiert einen String für Abfragen

Beschreibung

string pg_escape_string ([ resource $connection ], string $data )

pg_escape_string() maskiert einen String für Datenbankabfragen. Der Rückgabewert ist der maskierte String im PostgreSQL-Format ohne Anführungszeichen. pg_escape_literal() ist die bevorzugte Weise um SQL Paramter für PostgreSQL zu maskieren. addslashes() darf nicht mit PostgreSQL verwendet werden. Falls der Datentyp der Spalte bytea ist, müssen Sie stattdessen pg_escape_bytea() verwenden. pg_escape_identifier() muss verwendet werden, um Bezeichner (z.B. Tabellenamen, Feldnamen) zu maskieren.

Hinweis:

Diese Funktion setzt PostgreSQL 7.2 oder höher voraus.

Parameter-Liste

connection

PostgreSQL Verbindungskennung. Wenn der Parameter connection nicht angegeben ist, wird die Standardverbindung benutzt. Das ist die Verbindung, die zuletzt von pg_connect() oder pg_pconnect() geöffnet wurde.

data

Ein string mit den Daten, die maskiert werden müssen.

Rückgabewerte

Ein string mit den maskierten Daten.

Changelog

Version | Beschreibung
5.2.0 | Der Parameter connection wurde hinzugefügt.

Beispiele

Beispiel #1 pg_escape_string() Beispiel

<?php
  // Datenbankverbindung öffnen
  $dbconn = pg_connect('dbname=foo');

  // Eine Textdatei (mit Hochkommas und Backslashes) auslesen
  $data = file_get_contents('letter.txt');

  // Die Textdaten maskieren
  $escaped = pg_escape_string($data);

  // und in die Datenbank einfügen
  pg_query("INSERT INTO correspondence (name, data) VALUES ('My letter', '{$escaped}')");
?>

Siehe auch

  • pg_escape_bytea() - Maskiert Zeichenketten zum Einfügen in ein Feld vom Typ bytea

pg_escape_literal
pg_execute
PostgreSQL-Funktionen


Fordert den Datenankserver auf, eine vorbereitete Anfrage mit den angegebenen Parametern auszuführen und wartet auf das Ergebnis

pg_escape_string
pg_fetch_all_columns
PostgreSQL-Funktionen
PHP Manual

pg_execute

(PHP 5 >= 5.1.0, PHP 7)

pg_execute — Fordert den Datenankserver auf, eine vorbereitete Anfrage mit den angegebenen Parametern auszuführen und wartet auf das Ergebnis

Beschreibung

resource pg_execute ([ resource $connection ], string $stmtname , array $params )

Fordert den Datenankserver auf, eine vorbereitete Anfrage mit den angegebenen Parametern auszuführen und wartet auf das Ergebnis.

pg_execute() ist ähnlich wie pg_query_params(), mit dem Unterschied, dass das auszuführende Kommando zuvor als vorbereitete Abfrage definiert wurde und kein SQL-String ist. Damit werden Abfragen, die wiederholt gebraucht werden, nur ein einziges Mal geparst und geplant und nicht jedesmal, wenn sie ausgeführt werden. Das Kommando muss zuvor in der aktuellen Datenbanksitzung vorbereitet worden sein. pg_execute() wird von PostgreSQL ab der Version 7.4 unterstützt und wird in allen früheren Versionen fehlschlagen.

Die Parameter sind identisch zu denen in pg_query_params(), außer dass der Name eines vorbereiteten Kommandos anstatt einer SQL-Abfrage übergeben wird.

Parameter-Liste

connection

PostgreSQL Verbindungskennung. Wenn connection fehlt, wird die Standardverbindung angenommen. Dies ist die Verbindung, die zuletzt mit den Funktionen pg_connect() oder pg_pconnect() geöffnet wurde.

stmtname

Der Name der vorbereiteten Abfrage, die ausgeführt werden soll. Falls "" angegeben wurde, wird die unbenannte Abfrage ausgeführt. Dieser Name muss zuvor mit pg_prepare(), pg_send_prepare() oder dem SQL-Kommando PREPARE vorbereitet worden sein.

params

Ein Array, das die Parameter enthält, mit denen die Platzhalter $1, $2 usw. im originalen Abfragestring ersetzt werden. Die Anzahl der Arrayelemente muss mit der Anzahl der Platzhalter übereinstimmen.

Warnung

Beim Aufruf dieser Funktion werden die Elemente in Strings konvertiert.

Rückgabewerte

Bei Erfolg wird eine Ergebniskennung zurückgegeben. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pg_execute() benutzen:

<?php
// Zu der Datenbank "mary" verbinden
$dbconn = pg_connect("dbname=mary");

// Eine Abfrage zur Ausführung vorbereiten
$result = pg_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');

// Die vorbereitete Abfrage ausführen. Es ist nicht notwendig,
// den String "Joe's Widgets" zu maskieren
$result = pg_execute($dbconn, "my_query", array("Joe's Widgets"));

// Dieselbe vorbereitete Abfrage nochmal ausführen,
// diesmal mit einem anderen Parameter
$result = pg_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));

?>

Siehe auch

  • pg_prepare() - Sendet eine Aufforderung an den Server, eine vorbereitete Anfrage mit den übergebenen Parametern zu erzeugen und wartet auf ihre Beendigung.
  • pg_send_prepare() - Sendet eine Aufforderung an den Server, eine vorbereitete Abfrage mit den übergebenen Parametern zu erzeugen, ohne auf ihre Beendigung zu warten.
  • pg_query_params() - Sendet ein Kommando zum Server und wartet seine Ausführung ab. Getrennt vom SQL-Kommando können dabei Parameter übergeben werden.

pg_escape_string
pg_fetch_all_columns
PostgreSQL-Funktionen


Gibt alle Werte einer bestimmten Spalte eines Abfrageergebnisses in einem Array zurück

pg_execute
pg_fetch_all
PostgreSQL-Funktionen
PHP Manual

pg_fetch_all_columns

(PHP 5 >= 5.1.0, PHP 7)

pg_fetch_all_columns — Gibt alle Werte einer bestimmten Spalte eines Abfrageergebnisses in einem Array zurück

Beschreibung

array pg_fetch_all_columns ( resource $result [, int $column = 0 ] )

pg_fetch_all_columns() gibt ein Array zurück, das alle Werte einer bestimmten Spalte eines Abfrageergebnisses enthält.

Hinweis: Diese Funktion setzt NULL-Felder auf den PHP Wert-NULL.

Parameter-Liste

result

PostgreSQL-Abfrageergebnis, das (unter anderem) von pg_query(), pg_query_params() oder pg_execute() zurückgegeben wurde.

column

Die Nummer der Spalte (beginnend bei 0), die aus dem Abfrageergebnis extrahiert werden soll. Falls nichts angegeben wurde, wird die erste Spalte ausgelesen.

Rückgabewerte

Ein array, in dem alle Werte der Ergebnisspalte gespeichert sind.

Falls die Spaltennummer column größer ist, als das Abfrageergebnis Spalten hat oder, wenn ein anderer Fehler auftritt, wird FALSE zurckgegeben.

Beispiele

Beispiel #1 pg_fetch_all_columns()-Beispiel

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "Ein Fehler ist aufgetreten.\n";
  exit;
}

$result = pg_query($conn, "SELECT title, name, address FROM authors");
if (!$result) {
  echo "Ein Fehler ist aufgetreten.\n";
  exit;
}

// Die Namen aller Autoren in einem Array holen
$arr = pg_fetch_all_columns($result, 1);

var_dump($arr);

?>

Siehe auch

  • pg_fetch_all() - Gibt alle Zeilen eines Abfrageergebnisses als Array zurück

pg_execute
pg_fetch_all
PostgreSQL-Funktionen


Gibt alle Zeilen eines Abfrageergebnisses als Array zurück

pg_fetch_all_columns
pg_fetch_array
PostgreSQL-Funktionen
PHP Manual

pg_fetch_all

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

pg_fetch_all — Gibt alle Zeilen eines Abfrageergebnisses als Array zurück

Beschreibung

array pg_fetch_all ( resource $result )

pg_fetch_all() gibt ein Array zurück, das alle Zeilen eines Abfrageergebnisses enthält.

Hinweis: Diese Funktion setzt NULL-Felder auf den PHP Wert-NULL.

Parameter-Liste

result

PostgreSQL-Verbindungskennung, die (unter anderem) von den Funktionen pg_query(), pg_query_params() oder pg_execute() zurückgegeben wurde.

Rückgabewerte

Ein Array mit allen Zeilen des Abfrageergebnisses. Jede Zeile ist ein assoziatives Array mit den Feldnamen als Indizes und den Werten der Tabellenspalte als Werte.

Falls ein Fehler auftritt oder falls das Abfrageergebnis leer ist, wird FALSE zurückgegeben.

Beispiele

Beispiel #1 PostgreSQL fetch all

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "Konnte keine Verbindung aufbauen.\n";
  exit;
}

$result = pg_query($conn, "SELECT * FROM authors");
if (!$result) {
  echo "Ein Fehler ist aufgetreten.\n";
  exit;
}

$arr = pg_fetch_all($result);

print_r($arr);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [0] => Array
        (
            [id] => 1
            [name] => Fred
        )

    [1] => Array
        (
            [id] => 2
            [name] => Bob
        )

)

Siehe auch

  • pg_fetch_row() - Holt einen Datensatz als numerisches Array
  • pg_fetch_array() - Holt eine Zeile als Array
  • pg_fetch_object() - Holt einen Datensatz als Objekt
  • pg_fetch_result() - Liefert Werte aus einer Ergebnismenge

pg_fetch_all_columns
pg_fetch_array
PostgreSQL-Funktionen


Holt eine Zeile als Array

pg_fetch_all
pg_fetch_assoc
PostgreSQL-Funktionen
PHP Manual

pg_fetch_array

(PHP 4, PHP 5, PHP 7)

pg_fetch_array — Holt eine Zeile als Array

Beschreibung

array pg_fetch_array ( resource $result [, int $row [, int $result_type = PGSQL_BOTH ]] )

pg_fetch_array() gibt ein Array zurück, das die gelesene Zeile (Tupel, Datensatz) enthält.

pg_fetch_array() ist eine erweiterte Version von pg_fetch_row(). Zusätzlich zur Speicherung der Daten in einem numerischen Array (mit den Feldindizes) speichert diese Funktion die Daten auch in einem assoziativen Array, mit den Feldnamen als Indizes. In der Standardeinstellung wird ein Array mit beiden Indextypen zurückgegeben.

Hinweis: Diese Funktion setzt NULL-Felder auf den PHP Wert-NULL.

pg_fetch_array() ist NICHT wesentlich langsamer als pg_fetch_row() oder pg_fetch_assoc(), ist aber viel einfacher zu benutzen.

Parameter-Liste

result

PostgreSQL Verbindungskennung, die (unter anderem) von den Funktionen pg_query(), pg_query_params() oder pg_execute() zurückgegeben wurde.

row

Die Nummer der Zeile des Abfrageergebnisses, die geholt werden soll. Die Nummerierung beginnt bei 0. Fehlt dieser Parameter oder ist er NULL, so wird jeweils die nächste Zeile geholt.

result_type

Ein optionaler Parameter, mit dem bestimmt werden kann, wie das array indiziert sein soll. result_type ist eine Konstante, die die Werte PGSQL_ASSOC, PGSQL_NUM oder PGSQL_BOTH annehmen kann. Mit der Konstanten PGSQL_NUM gibt pg_fetch_array() ein numerisch indiziertes Array zurück, mit der Konstanten PGSQL_ASSOC ein assoziatives Array. Die Standardeinstellung ist PGSQL_BOTH, mit der ein Array sowohl mit numerischen als auch assoziativen Indizes zurückgegeben wird.

Rückgabewerte

Ein array, das entweder numerisch (bei 0 beginnend) oder assoziativ indiziert ist, oder beides. Jeder Wert im array wird als string repräsentiert. Nullwerte der Datenbank (NULL) werden als NULL zurückgegeben.

Bei einem Fehler oder wenn der Parameter row größer als die Anzahl der Zeilen im Abfrageergebnis ist, oder wenn kein Datensatz mehr gelesen werden kann, wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pg_fetch_array() Beispiel

<?php

$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "Konnte keine Verbindung aufbauen.\n";
  exit;
}

$result = pg_query($conn, "SELECT author, email FROM authors");
if (!$result) {
  echo "Ein Fehler ist aufgetreten.\n";
  exit;
}

$arr = pg_fetch_array($result, 0, PGSQL_NUM);
echo $arr[0] . " <- Zeile 1 Autor\n";
echo $arr[1] . " <- Zeile 1 E-mail\n";

// Seit PHP 4.1.0 ist der Parameter row optional. Stattdessen kann
// NULL übergeben werden. Aufeinanderfolgende Aufrufe von
// pg_fetch_array liefern jeweils den nächsten Datensatz.
$arr = pg_fetch_array($result, NULL, PGSQL_ASSOC);
echo $arr["author"] . " <- Zeile 2 Autor\n";
echo $arr["email"] . " <- Zeile 2 E-mail\n";

$arr = pg_fetch_array($result);
echo $arr["author"] . " <- Zeile 3 Autor\n";
echo $arr[1] . " <- Zeile 3 E-mail\n";

?>

Siehe auch

  • pg_fetch_row() - Holt einen Datensatz als numerisches Array
  • pg_fetch_object() - Holt einen Datensatz als Objekt
  • pg_fetch_result() - Liefert Werte aus einer Ergebnismenge

pg_fetch_all
pg_fetch_assoc
PostgreSQL-Funktionen


Holt eine Zeile als assoziatives Array

pg_fetch_array
pg_fetch_object
PostgreSQL-Funktionen
PHP Manual

pg_fetch_assoc

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

pg_fetch_assoc — Holt eine Zeile als assoziatives Array

Beschreibung

array pg_fetch_assoc ( resource $result [, int $row ] )

pg_fetch_assoc() gibt eine Zeile eines Abfrageergebnisses als assoziatives Array zurück.

pg_fetch_assoc() ist äquivalent zu pg_fetch_array() mit PGSQL_ASSOC als optionalem dritten Parameter. Zurückgegeben wird nur ein assoziatives Array. Falls Sie ein numerisches Array brauchen, müssen Sie die Funktion pg_fetch_row() benutzen.

Hinweis: Diese Funktion setzt NULL-Felder auf den PHP Wert-NULL.

pg_fetch_assoc() ist nur unwesentlich langsamer als pg_fetch_row(), aber wesentlich einfacher zu benutzen.

Parameter-Liste

result

PostgreSQL Verbindungskennung, die (unter anderem) von den Funktionen pg_query(), pg_query_params() oder pg_execute() zurückgegeben wurde.

row

Die Nummer der Zeile des Abfrageergebnisses, die geholt werden soll. Die Nummerierung beginnt bei 0. Fehlt dieser Parameter oder ist er NULL, so wird jeweils die nächste Zeile geholt.

Rückgabewerte

Ein array, das mit den Feldnamen des Abfrageergebnisses indiziert ist. Jeder Wert im array wird als string repräsentiert. Nullwerte der Datenbank (NULL) werden als NULL zurückgegeben.

Bei einem Fehler oder wenn der Parameter row größer als die Anzahl der Zeilen im Abfrageergebnis ist, oder wenn kein Datensatz mehr gelesen werden kann, wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pg_fetch_assoc() Beispiel

<?php
$conn = pg_connect("dbname=publisher");
if (!$conn) {
  echo "Konnte keine Verbindung aufbauen.\n";
  exit;
}

$result = pg_query($conn, "SELECT id, author, email FROM authors");
if (!$result) {
  echo "Ein Fehler ist aufgetreten.\n";
  exit;
}

while ($row = pg_fetch_assoc($result)) {
  echo $row['id'];
  echo $row['author'];
  echo $row['email'];
}
?>

Siehe auch

  • pg_fetch_row() - Holt einen Datensatz als numerisches Array
  • pg_fetch_array() - Holt eine Zeile als Array
  • pg_fetch_object() - Holt einen Datensatz als Objekt
  • pg_fetch_result() - Liefert Werte aus einer Ergebnismenge

pg_fetch_array
pg_fetch_object
PostgreSQL-Funktionen


Holt einen Datensatz als Objekt

pg_fetch_assoc
pg_fetch_result
PostgreSQL-Funktionen
PHP Manual

pg_fetch_object

(PHP 4, PHP 5, PHP 7)

pg_fetch_object — Holt einen Datensatz als Objekt

Beschreibung

object pg_fetch_object ( resource $result [, int $row [, int $result_type = PGSQL_ASSOC ]] )
object pg_fetch_object ( resource $result [, int $row [, string $class_name [, array $params ]]] )

pg_fetch_object() gibt ein Objekt zurück, dessen Eigenschaften mit den Feldern des geholten Datensatzes übereinstimmen. Optional kann pg_fetch_object() ein Objekt der angegebenen Klasse instantiieren und Parameter an den Konstruktor dieser Klasse übergeben.

Hinweis: Diese Funktion setzt NULL-Felder auf den PHP Wert-NULL.

Von der Geschwindigkeit her ist die Funktion mit pg_fetch_array() identisch und fast so schnell wie pg_fetch_row() (der Unterschied ist unwesentlich).

Parameter-Liste

result

PostgreSQL-Verbindungskennung, die (unter anderem) von den Funktionen pg_query(), pg_query_params() oder pg_execute() zurückgegeben wurde.

row

Die Nummer der Zeile des Abfrageergebnisses, die geholt werden soll. Die Nummerierung beginnt bei 0. Fehlt dieser Parameter oder ist er NULL, so wird jeweils die nächste Zeile geholt.

result_type

Ist veraltet und wird ignoriert.

class_name

Der Name der Klasse, die instantiiert werden soll. Ein Objekt dieser Klasse mit den gesetzten Eigenschaften wird zurückgegeben. Fehlt dieser Parameter, wird eine Objekt der Klasse stdClass zurückgegeben.

params

Ein optionales Array mit Parametern, die an den Konstruktor von class_name übergeben werden.

Rückgabewerte

Ein object, das für jeden Feldnamen des geholten Datensatzes eine Eigenschaft enthält. NULL-werte der Datenbank werden als NULL zurückgegeben.

Bei einem Fehler oder wenn der Parameter row größer als die Anzahl der Zeilen im Abfrageergebnis ist, oder wenn kein Datensatz mehr gelesen werden kann, wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pg_fetch_object()-Beispiel

<?php

$database = "store";

$db_conn = pg_connect("host=localhost port=5432 dbname=$database");
if (!$db_conn) {
  echo "Konnte keine Verbindung zu $database aufbauen.\n";
  exit;
}

$qu = pg_query($db_conn, "SELECT * FROM books ORDER BY author");

while ($data = pg_fetch_object($qu)) {
  echo $data->author . " (";
  echo $data->year . "): ";
  echo $data->title . "<br />";
}

pg_free_result($qu);
pg_close($db_conn);

?>

Siehe auch

  • pg_query() - Führt eine Abfrage aus
  • pg_fetch_array() - Holt eine Zeile als Array
  • pg_fetch_assoc() - Holt eine Zeile als assoziatives Array
  • pg_fetch_row() - Holt einen Datensatz als numerisches Array
  • pg_fetch_result() - Liefert Werte aus einer Ergebnismenge

pg_fetch_assoc
pg_fetch_result
PostgreSQL-Funktionen


Liefert Werte aus einer Ergebnismenge

pg_fetch_object
pg_fetch_row
PostgreSQL-Funktionen
PHP Manual

pg_fetch_result

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_fetch_result — Liefert Werte aus einer Ergebnismenge

Beschreibung

string pg_fetch_result ( resource $result , int $row , mixed $field )
string pg_fetch_result ( resource $result , mixed $field )

pg_fetch_result() liefert den Wert einer bestimmten Zeile und Spalte eines PostgreSQL Abfrageergebnisses.

Hinweis:

Diese Funktion ersetzt die Funktion pg_result().

Parameter-Liste

result

PostgreSQL Verbindungskennung, die (unter anderem) von den Funktionen pg_query(), pg_query_params() oder pg_execute() zurückgegeben wurde.

row

Die Nummer der Zeile des Abfrageergebnisses, die geholt werden soll. Die Nummerierung beginnt bei 0. Fehlt dieser Parameter, so wird jeweils die nächste Zeile geholt.

field

Ein string, der den Feldnamen des gewünschten Feldes enthält oder dessen numerischen Feldindex (beginnend bei 0).

Rückgabewerte

Boolesche Werte werden als "t" oder "f" zurückgegeben. Alle anderen Typen, einschließlich Arrays, werden als Strings zurückgegeben, in der vom psql-Befehl bekannten PostgreSQL-Standardformatierung. Nullwerte der Datenbank NULL werden als NULL zurückgegeben.

Bei einem Fehler oder wenn der Parameter row größer als die Anzahl der Zeilen im Abfrageergebnis ist, wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pg_fetch_result() Beispiel

<?php
$db = pg_connect("dbname=users user=me") || die();

$res = pg_query($db, "SELECT 1 UNION ALL SELECT 2");

$val = pg_fetch_result($res, 1, 0);

echo "Das erste Feld in der zweiten Zeile enthält: ", $val, "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Das erste Feld in der zweiten Zeile enthält: 2

Siehe auch

  • pg_query() - Führt eine Abfrage aus
  • pg_fetch_array() - Holt eine Zeile als Array

pg_fetch_object
pg_fetch_row
PostgreSQL-Funktionen


Holt einen Datensatz als numerisches Array

pg_fetch_result
pg_field_is_null
PostgreSQL-Funktionen
PHP Manual

pg_fetch_row

(PHP 4, PHP 5, PHP 7)

pg_fetch_row — Holt einen Datensatz als numerisches Array

Beschreibung

array pg_fetch_row ( resource $result [, int $row ] )

pg_fetch_row() holt einen Datensatz der Ergebnismenge, die durch die Ergebniskennung result bezeichnet wird.

Hinweis: Diese Funktion setzt NULL-Felder auf den PHP Wert-NULL.

Parameter-Liste

result

PostgreSQL Verbindungskennung, die (unter anderem) von den Funktionen pg_query(), pg_query_params() oder pg_execute() zurückgegeben wurde.

row

Die Nummer der Zeile des Abfrageergebnisses, die geholt werden soll. Die Nummerierung beginnt bei 0. Fehlt dieser Parameter oder ist er NULL, so wird jeweils die nächste Zeile geholt.

Rückgabewerte

Die gelesene Zeile des Abfrageergebnisses (Datensatz) wird als numerisches array, beginnend bei Offset 0, zurückgegeben, das die Spaltenwerte in den Arraykomponenten enthält. Diese werden als string repräsentiert, Nullwerte der Datenbank (NULL) werden als NULL zurückgegeben.

Bei einem Fehler oder wenn der Parameter row größer als die Anzahl der Zeilen im Abfrageergebnis ist, oder wenn kein Datensatz mehr gelesen werden kann, wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pg_fetch_row() Beispiel

<?php

$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "Konnte keine Verbindung aufbauen.\n";
  exit;
}

$result = pg_query($conn, "SELECT author, email FROM authors");
if (!$result) {
  echo "Ein Fehler ist aufgetreten.\n";
  exit;
}

while ($row = pg_fetch_row($result)) {
  echo "Autor: $row[0]  E-mail: $row[1]";
  echo "<br />\n";
}

?>

Siehe auch

  • pg_query() - Führt eine Abfrage aus
  • pg_fetch_array() - Holt eine Zeile als Array
  • pg_fetch_object() - Holt einen Datensatz als Objekt
  • pg_fetch_result() - Liefert Werte aus einer Ergebnismenge

pg_fetch_result
pg_field_is_null
PostgreSQL-Funktionen


Prüft, ob ein Feld einen SQL NULL-Wert enthält

pg_fetch_row
pg_field_name
PostgreSQL-Funktionen
PHP Manual

pg_field_is_null

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_field_is_null — Prüft, ob ein Feld einen SQL NULL-Wert enthält

Beschreibung

int pg_field_is_null ( resource $result , int $row , mixed $field )
int pg_field_is_null ( resource $result , mixed $field )

pg_field_is_null() prüft, ob ein Feld eines PostgreSQL Abfrageergebnisses einen SQL NULL-Wert enthält.

Hinweis:

Diese Funktion ersetzt die Funktion pg_fieldisnull().

Parameter-Liste

result

PostgreSQL Verbindungskennung, die (unter anderem) von den
Funktionen pg_query(),
pg_query_params() oder
pg_execute() zurückgegeben wurde.

row

Die Nummer der Zeile im Abfrageergebnis. Die Nummerierung beginnt bei 0. Fehlt dieser Parameter, so wird die aktuelle Zeile geholt.

field

Die Nummer des Feldes (beginnend bei 0) als integer oder der Feldname als string.

Rückgabewerte

Gibt 1 zurück, falls das Feld in der übergebenen Zeile einen SQL NULL-Wert enthält und 0, falls nicht. Bei einem Fehler oder wenn der Parameter row größer als die Anzahl der Zeilen im Abfrageergebnis ist, wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pg_field_is_null() Beispiel

<?php
  $dbconn = pg_connect("dbname=publisher") or die
            ("Konnte keine Verbindung aufbauen");
  $res = pg_query($dbconn, "select * from authors where author = 'Orwell'");
  if ($res) {
      if (pg_field_is_null($res, 0, "year") == 1) {
          echo "Der Wert im Feld year ist NULL.\n";
      }
      if (pg_field_is_null($res, 0, "year") == 0) {
          echo "Der Wert im Feld year ist nicht NULL.\n";
    }
 }
?>

pg_fetch_row
pg_field_name
PostgreSQL-Funktionen


Gibt den Namen eines Feldes zurück

pg_field_is_null
pg_field_num
PostgreSQL-Funktionen
PHP Manual

pg_field_name

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_field_name — Gibt den Namen eines Feldes zurück

Beschreibung

string pg_field_name ( resource $result , int $field_number )

pg_field_name() gibt den Feldnamen mit der übergebenen field_number aus der durch result bezeichneten PostgreSQL-Ergebnismenge zurück. Die Feldnummerierung beginnt bei 0.

Hinweis:

Diese Funktion ersetzt die Funktion pg_fieldname().

Parameter-Liste

result

PostgreSQL Verbindungskennung, die (unter anderem) von den
Funktionen pg_query(),
pg_query_params() oder
pg_execute() zurückgegeben wurde.

field_number

Die Feldnummer, beginnend bei 0.

Rückgabewerte

Der Feldname oder FALSE, falls ein Fehler auftrat.

Beispiele

Beispiel #1 Informationen über Felder abfragen

<?php
  $dbconn = pg_connect("dbname=publisher") or die
           ("Konnte keine Verbindung aufbauen.");

  $res = pg_query($dbconn, "select * from authors where author = 'Orwell'");
  $i = pg_num_fields($res);
  for ($j = 0; $j < $i; $j++) {
      echo "Spalte $j\n";
      $fieldname = pg_field_name($res, $j);
      echo "Feldname: $fieldname\n";
      echo "Feldlänge in Zeichen: " . pg_field_prtlen($res, $fieldname) . " Zeichen\n";
      echo "Feldlänge in Bytes: " . pg_field_size($res, $j) . " Bytes\n";
      echo "Feldtyp: " . pg_field_type($res, $j) . " \n\n";
  }
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Spalte 0
Feldname: author
Feldlänge in Zeichen: 6 Zeichen
Feldlänge in Bytes: -1 Bytes
Feldtyp: varchar

Spalte 1
Feldname: year
Feldlänge in Zeichen: 4 Zeichen
Feldlänge in Bytes: 2 Bytes
Feldtyp: int2

Spalte 2
Feldname: title
Feldlänge in Zeichen: 24 Zeichen
Feldlänge in Bytesr: -1 Bytes
Feldtyp: varchar

Siehe auch

  • pg_field_num() - Gibt die Feldnummer des angegebenen Feldes zurück

pg_field_is_null
pg_field_num
PostgreSQL-Funktionen


Gibt die Feldnummer des angegebenen Feldes zurück

pg_field_name
pg_field_prtlen
PostgreSQL-Funktionen
PHP Manual

pg_field_num

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_field_num — Gibt die Feldnummer des angegebenen Feldes zurück

Beschreibung

int pg_field_num ( resource $result , string $field_name )

pg_field_num() gibt die Nummer der Spalte (Feld) aus, die zu dem übergebenen field_name in dem durch result bezeichneten PostgreSQL Abfrageergebnis gehört.

Hinweis:

Diese Funktion ersetzt die Funktion pg_fieldnum().

Parameter-Liste

result

PostgreSQL Verbindungskennung, die (unter anderem) von den
Funktionen pg_query(),
pg_query_params() oder
pg_execute() zurückgegeben wurde.

field_name

Der Feldname

Rückgabewerte

Die Feldnummer (beginnend bei 0) oder -1, falls ein Fehler auftrat.

Beispiele

Beispiel #1 Die Nummer eines Feldes ermitteln

<?php
  $dbconn = pg_connect("dbname=publisher") or die
            ("Konnte keine Verbindung aufbauen.");

  $res = pg_query($dbconn, "select author, year, title from authors where author = 'Orwell'");

  echo "Die Spalte 'title' hat die Feldnummer: ", pg_field_num($res, 'title');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Die Spalte 'title' hat die Feldnummer: 2

Siehe auch

  • pg_field_name() - Gibt den Namen eines Feldes zurück

pg_field_name
pg_field_prtlen
PostgreSQL-Funktionen


Gibt die Länge des Feldes zurück

pg_field_num
pg_field_size
PostgreSQL-Funktionen
PHP Manual

pg_field_prtlen

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_field_prtlen — Gibt die Länge des Feldes zurück

Beschreibung

int pg_field_prtlen ( resource $result , int $row_number , mixed $field_name_or_number )
int pg_field_prtlen ( resource $result , mixed $field_name_or_number )

pg_field_prtlen() gibt die aktuelle Länge (Anzahl der Zeichen) eines bestimmten Wertes in einem PostgreSQL result zurück. Die Feldnummerierung beginnt bei 0. Die Funktion liefert bei einem Fehler FALSE zurück.

field_name_or_number kann als integer oder als string übergeben werden. Ein integer wird von PHP als Feldnummer interpretiert, ein string als Feldname.

Sehen Sie sich dazu das Beispiel bei pg_field_name() an.

Hinweis:

Diese Funktion ersetzt die Funktion pg_fieldprtlen()().

Parameter-Liste

result

PostgreSQL Verbindungskennung, die (unter anderem) von den
Funktionen pg_query(),
pg_query_params() oder
pg_execute() zurückgegeben wurde.

row

Die Nummer der Zeile im Abfrageergebnis. Die Nummerierung beginnt bei 0. Fehlt dieser Parameter, so wird jeweils die nächste Zeile geholt.

Rückgabewerte

Die Anzahl der Zeichen in dem Feld oder FALSE, falls ein Fehler auftrat.

Beispiele

Beispiel #1 Informationen über Spalten ermitteln

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Verbindungsaufbau fehlgeschlagen");

  $res = pg_query($dbconn, "select * from authors where author = 'Orwell'");
  $i = pg_num_fields($res);
  for ($j = 0; $j < $i; $j++) {
      echo "Spalte $j\n";
      $fieldname = pg_field_name($res, $j);
      echo "Spaltenname: $fieldname\n";
      echo "Anzahl Druckzeichen: " . pg_field_prtlen($res, $fieldname) . " characters\n";
      echo "Anzahl Bytes im speicher: " . pg_field_size($res, $j) . " bytes\n";
      echo "Spaltentyp: " . pg_field_type($res, $j) . " \n\n";
  }
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Spalte 0
Spaltenname: author
Anzahl Druckzeichen: 6 characters
Anzahl Bytes im speicher: -1 bytes
Spaltentyp: varchar

Spalte 1
Spaltenname: year
Anzahl Druckzeichen: 4 characters
Anzahl Bytes im speicher: 2 bytes
Spaltentyp: int2

Spalte 2
Spaltenname: title
Anzahl Druckzeichen: 24 characters
Anzahl Bytes im speicher: -1 bytes
Spaltentyp: varchar

Siehe auch

  • pg_field_size() - Gibt den belegten Speicher für ein Feld zurück

pg_field_num
pg_field_size
PostgreSQL-Funktionen


Gibt den belegten Speicher für ein Feld zurück

pg_field_prtlen
pg_field_table
PostgreSQL-Funktionen
PHP Manual

pg_field_size

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_field_size — Gibt den belegten Speicher für ein Feld zurück

Beschreibung

int pg_field_size ( resource $result , int $field_number )

pg_field_size() gibt die interne Größe (in Bytes) des Feldes mit der Nummer field_number im PostgreSQL Abfrageergebnis result zurück.

Hinweis:

Diese Funktion ersetzt die Funktion pg_fieldsize().

Parameter-Liste

result

PostgreSQL Verbindungskennung, die (unter anderem) von den
Funktionen pg_query(),
pg_query_params() oder
pg_execute() zurückgegeben wurde.

field_number

Die Feldnummer, beginnend bei 0.

Rückgabewerte

Die interne Größe des Feldes in Byte. Eine Feldgröße von -1 beschreibt ein Feld mit variabler Länge. Bei einem Fehler wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Informationen über Felder abfragen

<?php
  $dbconn = pg_connect("dbname=publisher") or die
           ("Konnte keine Verbindung aufbauen.");

  $res = pg_query($dbconn, "select * from authors where author = 'Orwell'");
  $i = pg_num_fields($res);
  for ($j = 0; $j < $i; $j++) {
      echo "Spalte $j\n";
      $fieldname = pg_field_name($res, $j);
      echo "Feldname: $fieldname\n";
      echo "Feldlänge in Zeichen: " . pg_field_prtlen($res, $fieldname) . " Zeichen\n";
      echo "Feldlänge in Bytes: " . pg_field_size($res, $j) . " Bytes\n";
      echo "Feldtyp: " . pg_field_type($res, $j) . " \n\n";
  }
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Spalte 0
Feldname: author
Feldlänge in Zeichen: 6 Zeichen
Feldlänge in Bytes: -1 Bytes
Feldtyp: varchar

Spalte 1
Feldname: year
Feldlänge in Zeichen: 4 Zeichen
Feldlänge in Bytes: 2 Bytes
Feldtyp: int2

Spalte 2
Feldname: title
Feldlänge in Zeichen: 24 Zeichen
Feldlänge in Bytesr: -1 Bytes
Feldtyp: varchar

Siehe auch

  • pg_field_prtlen() - Gibt die Länge des Feldes zurück
  • pg_field_type() - Gibt den Datentyp eines Feldes zurück

pg_field_prtlen
pg_field_table
PostgreSQL-Funktionen


Gibt zu einem Feldnamen den Namen der Tabelle oder deren oid zurück, in der das Feld definiert ist

pg_field_size
pg_field_type_oid
PostgreSQL-Funktionen
PHP Manual

pg_field_table

(PHP 5 >= 5.2.0, PHP 7)

pg_field_table — Gibt zu einem Feldnamen den Namen der Tabelle oder deren oid zurück, in der das Feld definiert ist

Beschreibung

mixed pg_field_table ( resource $result , int $field_number [, bool $oid_only = false ] )

pg_field_table() gibt den Namen der Tabelle zurück, in der das Feld definiert ist, oder den oid (Object Identifier) der Tabelle, falls der Parameter oid_only TRUE ist.

Parameter-Liste

result

PostgreSQL-Verbindungskennung, die (unter anderem) von den Funktionen pg_query(), pg_query_params() oder pg_execute() zurückgegeben wurde.

field_number

Index des Feldes, beginnend bei 0.

oid_only

In der Standardeinstellung wird der Name der Tabelle zurückgegeben, zu der dieses Feld gehört. Wenn der Parameter oid_only den Wert TRUE hat, wird stattdessen der oid der Tabelle zurückgegeben.

Rückgabewerte

Bei Erfolg wird entweder der Name oder der oid der Tabelle zurückgegeben.

Beispiele

Beispiel #1 Informationen über Felder abfragen

<?php
$dbconn = pg_connect("dbname=publisher")
          or die("Konnte keine Verbindung aufbauen.");

$res = pg_query($dbconn, "SELECT bar FROM foo");

echo pg_field_table($res, 0);
echo pg_field_table($res, 0, true);

$res = pg_query($dbconn, "SELECT version()");
var_dump(pg_field_table($res, 0));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

foo
14379580

bool(false)

Anmerkungen

Hinweis:

Die Funktion ist viel schneller, wenn man sich den oid zurückgeben lässt, weil zur Ermittlung des Tabellennamens die Systemkataloge der Datenbank abgefragt werden müssen.

Siehe auch

  • pg_field_name() - Gibt den Namen eines Feldes zurück
  • pg_field_type() - Gibt den Datentyp eines Feldes zurück

pg_field_size
pg_field_type_oid
PostgreSQL-Funktionen


Gibt die ID des PostgreSQL-Datentyps (OID) eines Feldes zurück

pg_field_table
pg_field_type
PostgreSQL-Funktionen
PHP Manual

pg_field_type_oid

(PHP 5 >= 5.1.0, PHP 7)

pg_field_type_oid — Gibt die ID des PostgreSQL-Datentyps (OID) eines Feldes zurück

Beschreibung

int pg_field_type_oid ( resource $result , int $field_number )

pg_field_type_oid() gibt eine Integerzahl zurück, die den OID des Datentyps für das Feld mit der Nummer field_number im PostgreSQL Abfrageergebnis result enthält.

Mehr Informationen über Feldtypen erhalten Sie, wenn Sie den PostgreSQL Systemkatalog pg_type mit der OID, die von dieser Funktion zurückgegeben wird, abfragen. die PostgreSQL-Funktion format_type() konvertiert diesen OID in einen Standard SQL Typnamen.

Hinweis:

Wenn das Feld anstatt eines Basis-Datentyps einen Typ einer PostgreSQL Domain besitzt, wird der Name des Datentyps zurückgegeben, auf dem die Domain definiert ist und nicht der Name der Domain.

Parameter-Liste

result

PostgreSQL Verbindungskennung, die (unter anderem) von den
Funktionen pg_query(),
pg_query_params() oder
pg_execute() zurückgegeben wurde.

field_number

Die Feldnummer, beginnend bei 0.

Rückgabewerte

Den OID (Object Identifier) des Basistyps dieses Feldes oder FALSE, falls ein Fehler auftritt.

Beispiele

Beispiel #1 Informationen über Felder holen

<?php
  $dbconn = pg_connect("dbname=publisher") or die
            ("Konnte keine Verbindung aufbauen");

  // Angenommen 'title' ist vom Typ varchar
  $res = pg_query($dbconn, "select title from authors where author = 'Orwell'");

  echo "Der OID des Feldes title ist: ", pg_field_type_oid($res, 0);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Der OID des Feldes title ist: 1043

Siehe auch

  • pg_field_type() - Gibt den Datentyp eines Feldes zurück
  • pg_field_prtlen() - Gibt die Länge des Feldes zurück
  • pg_field_name() - Gibt den Namen eines Feldes zurück

pg_field_table
pg_field_type
PostgreSQL-Funktionen


Gibt den Datentyp eines Feldes zurück

pg_field_type_oid
pg_flush
PostgreSQL-Funktionen
PHP Manual

pg_field_type

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_field_type — Gibt den Datentyp eines Feldes zurück

Beschreibung

string pg_field_type ( resource $result , int $field_number )

pg_field_type() gibt den Basistyp des Feldes mit der Nummer field_number im PostgreSQL Abfrageergebnis result zurück.

Hinweis:

Wenn das Feld anstatt eines Basis-Datentyps einen Typ einer PostgreSQL Domain besitzt, wird der Name des Datentyps zurückgegeben, auf dem die Domain definiert ist und nicht der Name der Domain.

Hinweis:

Diese Funktion ersetzt die Funktion pg_fieldtype().

Parameter-Liste

result

PostgreSQL Verbindungskennung, die (unter anderenm) von den
Funktionen pg_query(),
pg_query_params() oder
pg_execute() zurückgegeben wurde.

field_number

Die Feldnummer, beginnend bei 0.

Rückgabewerte

Ein string, der den Datentyp des Feldes enthält oder false;, falls ein Fehler auftrat.

Beispiele

Beispiel #1 Informationen über Felder holen

<?php
  $dbconn = pg_connect("dbname=publisher") or die
            ("Konnte keine Verbindung aufbauen");

  // Angenommen 'title' hat den Typ varchar
  $res = pg_query($dbconn, "select title from authors where author = 'Orwell'");

  echo "Der Datentyp von title ist: ", pg_field_type($res, 0);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Der Datentyp von title ist: varchar

Siehe auch

  • pg_field_prtlen() - Gibt die Länge des Feldes zurück
  • pg_field_name() - Gibt den Namen eines Feldes zurück
  • pg_field_type_oid() - Gibt die ID des PostgreSQL-Datentyps (OID) eines Feldes zurück

pg_field_type_oid
pg_flush
PostgreSQL-Funktionen


Flush outbound query data on the connection

pg_field_type
pg_free_result
PostgreSQL-Funktionen
PHP Manual

pg_flush

(PHP 5 >= 5.6.0, PHP 7)

pg_flush — Flush outbound query data on the connection

Beschreibung

mixed pg_flush ( resource $connection )

pg_flush() flushes any outbound query data waiting to be sent on the connection.

Parameter-Liste

connection

PostgreSQL database connection resource.

Rückgabewerte

Returns TRUE if the flush was successful or no data was waiting to be flushed, 0 if part of the pending data was flushed but more remainsIm Fehlerfall wird FALSE zurückgegeben..

pg_field_type
pg_free_result
PostgreSQL-Funktionen


Gibt den durch Ergebnisse belegten Speicher frei

pg_flush
pg_get_notify
PostgreSQL-Funktionen
PHP Manual

pg_free_result

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_free_result — Gibt den durch Ergebnisse belegten Speicher frei

Beschreibung

bool pg_free_result ( resource $result )

pg_free_result() gibt den Speicher und die Daten, die mit der angegebenen PostgreSQL-Query-Resultressource assoziiert sind, frei.

Die Funktion braucht nur aufgerufen zu werden, wenn man befürchten muss, dass während der Ausführung des Skripts zu viel Speicher verbraucht wird. Ansonsten wird der Speicherplatz, den Ergebnisse belegen, automatisch nach Beendigung des Skriptes freigegeben.

Hinweis:

Diese Funktion ersetzt die Funktion pg_freeresult().

Parameter-Liste

result

PostgreSQL-Verbindungskennung, die (unter anderem) von den Funktionen pg_query(), pg_query_params() oder pg_execute() zurückgegeben wurde.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pg_free_result()-Beispiel

<?php
$db = pg_connect("dbname=users user=me") || die();

$res = pg_query($db, "SELECT 1 UNION ALL SELECT 2");

$val = pg_fetch_result($res, 1, 0);

echo "Das erste Feld in der zweiten Zeile enthält: ", $val, "\n";

pg_free_result($res);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Das erste Feld in der zweiten Zeile enthält: 2

Siehe auch

  • pg_query() - Führt eine Abfrage aus
  • pg_query_params() - Sendet ein Kommando zum Server und wartet seine Ausführung ab. Getrennt vom SQL-Kommando können dabei Parameter übergeben werden.
  • pg_execute() - Fordert den Datenankserver auf, eine vorbereitete Anfrage mit den angegebenen Parametern auszuführen und wartet auf das Ergebnis

pg_flush
pg_get_notify
PostgreSQL-Funktionen


Gibt eine SQL NOTIFY-Nachricht zurück

pg_free_result
pg_get_pid
PostgreSQL-Funktionen
PHP Manual

pg_get_notify

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

pg_get_notify — Gibt eine SQL NOTIFY-Nachricht zurück

Beschreibung

array pg_get_notify ( resource $connection [, int $result_type ] )

pg_get_notify() gibt eine NOTIFY-Nachricht zurück, die vom SQL-Kommando NOTIFY gesendet wurde. Um diese Nachrichten zu erhalten, muss zuvor das SQL-Kommando LISTEN ausgeführt worden sein.

Parameter-Liste

connection

PostgreSQL-Verbindungskennung.

result_type

Ein optionaler Parameter bestimmt, wie das zurückgegebene array indiziert werden soll. result_type ist eine Konstante, die einen der folgenden Werte annehmen kann: PGSQL_ASSOC, PGSQL_NUM oder PGSQL_BOTH. Wenn pg_get_notify() mit PGSQL_NUM aufgerufen wird, wird ein numerisches Array zurückgegeben, mit PGSQL_ASSOC wird ein assoziatives Array zurückgegeben, während der Standardwert PGSQL_BOTH ein Array mit beiden Indizes zurückgibt.

Rückgabewerte

Ein array, das die NOTIFY-Nachricht und die PID des Datenbankprozesses enthält. Existiert kein NOTIFY, wird FALSE zurückgegeben.

Beispiele

Beispiel #1 PostgreSQL NOTIFY-Nachricht

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "Konnte keine Verbindung aufbauen.\n";
  exit;
}

// Listen-Kommando 'author_updated', um Benachrichtigungen
// von anderen Prozessen zu erhalten
pg_query($conn, 'LISTEN author_updated;');
$notify = pg_get_notify($conn);
if (!$notify) {
  echo "Keine Nachrichten\n";
} else {
  print_r($notify);
}
?>

Siehe auch

  • pg_get_pid() - Prüft die Datenbankverbindung

pg_free_result
pg_get_pid
PostgreSQL-Funktionen


Prüft die Datenbankverbindung

pg_get_notify
pg_get_result
PostgreSQL-Funktionen
PHP Manual

pg_get_pid

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

pg_get_pid — Prüft die Datenbankverbindung

Beschreibung

int pg_get_pid ( resource $connection )

pg_get_pid() gibt die Prozess-ID (PID) des Datenbankservers zurück. Diese ist nützlich, wenn man mit pg_get_notify() feststellen möchte, ob ein anderer Prozess eine NOTIFY-Benachrichtigung gesendet hat.

Parameter-Liste

connection

PostgreSQL Verbindungskennung.

Rückgabewerte

Die Prozess-ID des Datenbankservers.

Beispiele

Beispiel #1 PostgreSQL Prozess-ID

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "Konnte keine Verbindung aufbauen.\n";
  exit;
}

// Holt die Prozess-ID (zur Weiterverwendung in pg_get_notify())
$pid = pg_get_pid($conn);
?>

Siehe auch

  • pg_get_notify() - Gibt eine SQL NOTIFY-Nachricht zurück

pg_get_notify
pg_get_result
PostgreSQL-Funktionen


Gibt asynchrone Abfrageergebnisse zurück

pg_get_pid
pg_host
PostgreSQL-Funktionen
PHP Manual

pg_get_result

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_get_result — Gibt asynchrone Abfrageergebnisse zurück

Beschreibung

resource pg_get_result ([ resource $connection ] )

pg_get_result() gibt die Ergebniskennung einer
asynchronen Abfrage zurück, die mit pg_send_query(),
pg_send_query_params() oder    pg_send_execute() an
den Datenbankserver gesendet wurde.

Mit pg_send_query() und auch den anderen asynchronen Abfragefunktionen können mehrere Abfragen an den Server geschickt werden. Deren Ergebnisse können mit pg_get_result() nacheinander abgefragt werden.

Parameter-Liste

connection

PostgreSQL Verbindungskennung.

Rückgabewerte

Die Ergebniskennung als resource or FALSE, falls es keine Ergebnisse gibt.

Beispiele

Beispiel #1 pg_get_result() Beispiel

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Verbindungsaufbau fehlgeschlagen");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from authors; select count(*) from authors;");
  }

  $res1 = pg_get_result($dbconn);
  echo "Der erste Aufruf von pg_get_result(): $res1\n";
  $rows1 = pg_num_rows($res1);
  echo "$res1 hat $rows1 Zeilen\n\n";

  $res2 = pg_get_result($dbconn);
  echo "Der zweite Aufruf von pg_get_result(): $res2\n";
  $rows2 = pg_num_rows($res2);
  echo "$res2 hat $rows2 Zeilen\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Der erste Aufruf von pg_get_result(): Resource id #3
Resource id #3 hat 3 Zeilen

Der zweite Aufruf von pg_get_result(): Resource id #4
Resource id #4 hat 1 Zeilen

Siehe auch

  • pg_send_query() - Sendet eine asynchrone Abfrage

pg_get_pid
pg_host
PostgreSQL-Funktionen


Gibt den Namen des Host zurück, zu dem verbunden wurde

pg_get_result
pg_insert
PostgreSQL-Funktionen
PHP Manual

pg_host

(PHP 4, PHP 5, PHP 7)

pg_host — Gibt den Namen des Host zurück, zu dem verbunden wurde

Beschreibung

string pg_host ([ resource $connection ] )

pg_host() gibt den Namen des Hosts zurück, zu dem mit der angegebenen PostgreSQL connection verbunden wurde.

Parameter-Liste

connection

PostgreSQL Verbindungskennung, die (unter anderem) von den
Funktionen pg_query(),
pg_query_params() oder
pg_execute() zurückgegeben wurde.

Rückgabewerte

Ein string, der den Namen des Hosts enthält, zu dem die connection besteht oder FALSE, falls ein Fehler auftrat.

Beispiele

Beispiel #1 pg_host() Beispiel

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

if ($pgsql_conn) {
   print "Sie sind verbunden mit: " . pg_host($pgsql_conn) . "<br/>\n";
} else {
   print pg_last_error($pgsql_conn);
   exit;
}
?>

Siehe auch

  • pg_connect() - Öffnet eine PostgreSQL-Verbindung
  • pg_pconnect() - Öffnet eine persistente PostgreSQL-Verbindung

pg_get_result
pg_insert
PostgreSQL-Funktionen


Überträgt Werte aus einem Array in eine Tabelle

pg_host
pg_last_error
PostgreSQL-Funktionen
PHP Manual

pg_insert

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

pg_insert — Überträgt Werte aus einem Array in eine Tabelle

Beschreibung

mixed pg_insert ( resource $connection , string $table_name , array $assoc_array [, int $options = PGSQL_DML_EXEC ] )

pg_insert() fügt die Werte des assoc_array in die Tabelle table_name ein. Falls options angegeben wurde, wird pg_insert() auf assoc_array mit den angegebenen Optionnen angewendet.

Parameter-Liste

connection

PostgreSQL Verbindungskennung.

table_name

Name der Tabelle, in die die Zeilen eingefügt werden sollen. table_name muss mindestens soviele Spalten haben, wie das assoc_array Elemente.

assoc_array

Ein array dessen Indizes Feldnamen von table_name sind und dessen Werte in die entprechenden Spalten eingefügt werden.

options

Jede Kombination aus PGSQL_CONV_OPTS, PGSQL_DML_NO_CONV, PGSQL_DML_ESCAPE, PGSQL_DML_EXEC, PGSQL_DML_ASYNC oder PGSQL_DML_STRING. Falls PGSQL_DML_STRING bei den options angegeben wurde, wird der Abfrage-String zurückgegeben. Werden PGSQL_DML_NO_CONV oder PGSQL_DML_ESCAPE angegeben, wird pg_convert() intern nicht aufgerufen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. Falls die Konstante PGSQL_DML_STRING in den options übergeben wurde, wird ein string zurückgegeben.

Beispiele

Beispiel #1 pg_insert() Beispiel

<?php
  $dbconn = pg_connect('dbname=foo');
  // Das ist sicher, da $_POST automatisch konvertiert wird
  $res = pg_insert($dbconn, 'post_log', $_POST);
  if ($res) {
      echo "Der Inhalt von $_POST wurde protokolliert\n";
  } else {
      echo "Vermutlich wurden falsche Eingabedaten gesendet\n";
  }
?>

Changelog

Version | Beschreibung
5.6.0 | Nicht länger experimentell. Die PGSQL_DML_ESCAPE Konstante wurde hinzugefügt, wie auch Unterstützung für TRUE/FALSE und NULL Datentypen.
5.5.3/5.4.19 | Direkte SQL-Injection in table_name und indirekte SQL-Injection in Bezeichner wurden behoben.

Siehe auch

  • pg_convert() - Konvertiert die Werte eines assoziativen Arrays in passende Werte für SQL-Kommandos.

pg_host
pg_last_error
PostgreSQL-Funktionen


Gibt die letzte Fehlermeldung einer Verbindung zurück

pg_insert
pg_last_notice
PostgreSQL-Funktionen
PHP Manual

pg_last_error

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_last_error — Gibt die letzte Fehlermeldung einer Verbindung zurück

Beschreibung

string pg_last_error ([ resource $connection ] )

pg_last_error() gibt die letzte Fehlermeldung der durch connection gegebenen Verbindung als String zurück.

Fehlermeldungen können durch interne PostgreSQL- (libpq) Funktionsaufrufe überschrieben werden. Falls mehrere Fehler innerhalb einer internen PostgreSQL-Funktion auftreten, wird möglicherweise keine passende Fehlermeldung angezeigt.

Verwenden Sie pg_result_error(),
pg_result_error_field(),
pg_result_status() und
pg_connection_status() um genauere Fehlermeldungen zu erhalten.

Hinweis:

Diese Funktion ersetzt die Funktion pg_errormessage().

Parameter-Liste

connection

PostgreSQL Verbindungkennung. Falls connection nicht angegeben wurde, wird die zuletzt mit pg_connect() oder pg_pconnect() geöffnete Verbindung benutzt.

Rückgabewerte

Ein string, der die letzte Fehlermeldung der aktuellen connection enthält oder FALSE, falls ein Fehler auftrat.

Beispiele

Beispiel #1 pg_last_error() Beispiel

<?php
  $dbconn = pg_connect("dbname=publisher") or die("konnte nicht verbinden");

  // Eine Abfrage, die fehlschlägt
  $res = pg_query($dbconn, "select * from doesnotexist");

  echo pg_last_error($dbconn);
?>

Siehe auch

  • pg_result_error() - Gibt die mit der Ergebniskennung verknüpfte Fehlermeldung zurück
  • pg_result_error_field() - Gibt den Inhalt eines bestimmtes Feldes zu einer Fehlermeldung zurück

pg_insert
pg_last_notice
PostgreSQL-Funktionen


Gibt die letzte NOTICE-Meldung des PostgreSQL-Servers zurück

pg_last_error
pg_last_oid
PostgreSQL-Funktionen
PHP Manual

pg_last_notice

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

pg_last_notice — Gibt die letzte NOTICE-Meldung des PostgreSQL-Servers zurück

Beschreibung

string pg_last_notice ( resource $connection )

pg_last_notice() gibt die letzte NOTICE-Meldung des PostgreSQL Servers für die angegebene connection zurück. Der PostgreSQL-Server sendet zu unterschiedlichen Anlässen NOTICE-Meldungen an den Client, beispielsweise, wenn in einer Tabelle eine Spalte vom Typ SERIAL erzeugt wurde.

Mit pg_last_notice() kann das Senden überflüssiger Abfragen vermieden werden, indem man prüft, ob eine NOTICE-Meldung sich auf die aktuelle Transaktion bezieht oder nicht.

Die Verfolgung von NOTICE-Benachrichtigungen kann auf optional gesetzt werden, indem die Direktive pgsql.ignore_notice in php.ini den Wert 1 erhält.

Die Protokollierung von Notice-Benachrichtigungen kann auf optional gesetzt werden, indem die Direktive pgsql.log_notice in php.ini den Wert 0 erhält. Nur wenn die Direktive pgsql.ignore_notice den Wert 0 hat, können Notice-Benachrichtigungen protokolliert werden.

Parameter-Liste

connection

PostgreSQL Verbindungskennung.

Rückgabewerte

Ein string, der die letzte NOTICE-Meldung für die übergebene connection enthält oder FALSE, falls ein Fehler auftrat.

Beispiele

Beispiel #1 pg_last_notice() Beispiel

<?php
  $pgsql_conn = pg_connect("dbname=mark host=localhost");

  $res = pg_query("CREATE TABLE test (id SERIAL)");

  $notice = pg_last_notice($pgsql_conn);

  echo $notice;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

CREATE TABLE will create implicit sequence "test_id_seq" for "serial" column "test.id"

Siehe auch

  • pg_query() - Führt eine Abfrage aus
  • pg_last_error() - Gibt die letzte Fehlermeldung einer Verbindung zurück

pg_last_error
pg_last_oid
PostgreSQL-Funktionen


Gibt den Objektbezeichner (OID) des zuletzt eingefügten Datensatzes zurück

pg_last_notice
pg_lo_close
PostgreSQL-Funktionen
PHP Manual

pg_last_oid

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_last_oid — Gibt den Objektbezeichner (OID) des zuletzt eingefügten Datensatzes zurück

Beschreibung

string pg_last_oid ( resource $result )

pg_last_oid() wird benutzt, um den Object Identifier OID des zuletzt eingefügten Datensatzes zu ermitteln.

Ab PostgreSQL 7.2 ist das Feld OID optional und ab der Version 8.1 wird es nicht mehr standardmässig in den Tabellen enthalten sein. Falls eine Tabelle ohne OID definiert wurde, muss mit der Funktion pg_result_status() geprüft werden, ob ein Datensatz korrekt eingefügt wurde.

Um den Wert eines SERIAL-Feldes in einem gerade eingefügten Datensatz zu erhalten, ist der Aufruf der PostgreSQL-Funktion CURRVAL notwendig. Dem Aufruf muss der Name der in dieser Datenbanksitzung zuletzt benutzten Sequenz übergeben werden. Ist der Name dieser Sequenz unbekannt, muss er ab PostgreSQL 8.0 mittels der Funktion pg_get_serial_sequence ermittelt werden.

PostgreSQL enthält eine Funktion LASTVAL, die den Wert der zuletzt benutzten Sequenz der aktuellen Datenbanksitzung zurückgibt. Sie macht die Angabe von Sequenz, Tabelle und Spalte überflüssig.

Hinweis:

Diese Funktion ersetzt die Funktion pg_getlastoid().

Parameter-Liste

result

PostgreSQL Abfrageergebnis, das (unter anderem) von pg_query(), pg_query_params() oder pg_execute() zurückgegeben wurde.

Rückgabewerte

Ein string mit der OID des zuletzt eingefügten Datensatzes für die angegebene connection oder FALSE, falls ein Fehler auftrat oder falls es keine OID gibt.

Beispiele

Beispiel #1 pg_last_oid() Beispiel

<?php
  // Mit der Datenbank verbinden
  pg_connect("dbname=mark host=localhost");

  // Beispieltabelle erzeugen
  pg_query("CREATE TABLE test (a INTEGER) WITH OIDS");

  // Daten einfügen
  $res = pg_query("INSERT INTO test VALUES (1)");

  $oid = pg_last_oid($res);
?>

Siehe auch

  • pg_query() - Führt eine Abfrage aus
  • pg_result_status() - Gibt den Status eines Abfrageergebnisses zurück

pg_last_notice
pg_lo_close
PostgreSQL-Funktionen


Schließt ein Large Object

pg_last_oid
pg_lo_create
PostgreSQL-Funktionen
PHP Manual

pg_lo_close

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_lo_close — Schließt ein Large Object

Beschreibung

bool pg_lo_close ( resource $large_object )

pg_lo_close() schließt ein Large Object. large_object ist eine Ressource für ein Large Object, das mit pg_lo_open() geöffnet wurde.

Um die Large Object (lo) Schnittstelle benutzen zu können, müssen die Kommandos innerhalb einer Transaktion ausgeführt werden.

Hinweis:

Diese Funktion ersetzt die Funktion pg_loclose().

Parameter-Liste

result

PostgreSQL Large Object (LOB) Ressource, die von pg_lo_open() zurückgegeben wurde.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pg_lo_close() Beispiel

<?php
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $oid = pg_lo_create($database);
   echo "$oid\n";
   $handle = pg_lo_open($database, $oid, "w");
   echo "$handle\n";
   pg_lo_write($handle, "Daten fuer das Large Object");
   pg_lo_close($handle);
   pg_query($database, "commit");
?>

Siehe auch

  • pg_lo_open() - Öffnet ein Large Object
  • pg_lo_create() - Erzeugt ein Large Object
  • pg_lo_import() - Importiert ein Large Object aus einer Datei

pg_last_oid
pg_lo_create
PostgreSQL-Funktionen


Erzeugt ein Large Object

pg_lo_close
pg_lo_export
PostgreSQL-Funktionen
PHP Manual

pg_lo_create

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_lo_create — Erzeugt ein Large Object

Beschreibung

int pg_lo_create ([ resource $connection [, mixed $object_id ]] )
int pg_lo_create ( mixed $object_id )

pg_lo_create() erzeugt ein Large Object und gibt dessen dessen OID zurück. Die Zugriffsmethoden von PostgreSQL, INV_READ, INV_WRITE und INV_ARCHIVE werden nicht unterstützt. Ein Large Object wird immer mit Lese- und Schreibzugriff erzeugt. INV_ARCHIVE wurde von PostgreSQL (ab Version 6.3 und höher) entfernt.

Um die Large Object (lo) Schnittstelle benutzen zu können, müssen die Kommandos innerhalb einer Transaktion ausgeführt werden.

Anstelle der Large Object Schnittstelle (für die es keine Zugriffssteuerung gibt und deren Benutzung etwas schwerfällig ist) können Sie den PostgreSQL Datentyp bytea und die Funktion pg_escape_bytea() benutzen.

Hinweis:

Diese Funktion ersetzt die Funktion pg_locreate().

Parameter-Liste

connection

PostgreSQL Verbindungkennung. Falls connection nicht angegeben wurde, wird die Standardverbindung benutzt. Das ist die zuletzt mit pg_connect() oder pg_pconnect() geöffnete Verbindung.

object_id

Wenn es einen Parameter object_id gibt, wird diese Funktion versuchen, ein Large Object mit dieser ID zu erzeugen. Anderenfalls wird dem Large Object vom Server eine freie ID zugewiesen. Dieser Parameter steht seit PHP 5.3 zur Verfügung und basiert auf Funktionalitäten, die seit PostgreSQL 8.1 implementiert sind.

Rückgabewerte

Ein Large Object OID oder FALSE, falls ein Fehler auftrat.

Changelog

Version | Beschreibung
5.3.0 | Der optionale Parameter object_id wurde zugefügt.

Beispiele

Beispiel #1 pg_lo_create() Beispiel

<?php
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $oid = pg_lo_create($database);
   echo "$oid\n";
   $handle = pg_lo_open($database, $oid, "w");
   echo "$handle\n";
   pg_lo_write($handle, "Daten fuer das Large Object");
   pg_lo_close($handle);
   pg_query($database, "commit");
?>

pg_lo_close
pg_lo_export
PostgreSQL-Funktionen


Exportiert ein Large Object in eine Datei

pg_lo_create
pg_lo_import
PostgreSQL-Funktionen
PHP Manual

pg_lo_export

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_lo_export — Exportiert ein Large Object in eine Datei

Beschreibung

bool pg_lo_export ([ resource $connection ], int $oid , string $pathname )

pg_lo_export() liest die Inhalte eines Large Objects aus einer PostgreSQL Datenbank aus und speichert sie in einer Datei im lokalen Dateisystem.

Um die Large Object (lo) Schnittstelle benutzen zu können, müssen die Kommandos innerhalb einer Transaktion ausgeführt werden.

Hinweis:

Diese Funktion ersetzt die Funktion pg_loexport().

Parameter-Liste

connection

PostgreSQL Verbindungskennung, die (unter anderem) von den Funktionen pg_query(), pg_query_params() oder pg_execute() zurückgegeben wurde.

oid

Der OID des Large Objects in der Datenbank.

pathname

Der vollständige Pfad und Dateiname der Datei, in der die Inhalte des Large Objects im lokalen Dateisystem gespeichert werden.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pg_lo_export() Beispiel

<?php
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $oid = pg_lo_create($database);
   $handle = pg_lo_open($database, $oid, "w");
   pg_lo_write($handle, "Die Daten des Large Objects");
   pg_lo_close($handle);
   pg_lo_export($database, $oid, '/tmp/lob.dat');
   pg_query($database, "commit");
?>

Siehe auch

  • pg_lo_import() - Importiert ein Large Object aus einer Datei

pg_lo_create
pg_lo_import
PostgreSQL-Funktionen


Importiert ein Large Object aus einer Datei

pg_lo_export
pg_lo_open
PostgreSQL-Funktionen
PHP Manual

pg_lo_import

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_lo_import — Importiert ein Large Object aus einer Datei

Beschreibung

int pg_lo_import ([ resource $connection ], string $pathname [, mixed $object_id ] )

pg_lo_import() erzeugt aus einer Datei im Dateisystem als Datenquelle ein neues Large Object in der Datenbank.

Um die Large Object (lo) Schnittstelle benutzen zu können, müssen die Kommandos innerhalb einer Transaktion ausgeführt werden.

Hinweis: Wenn Safe Mode aktiviert ist, überprüft PHP, ob die Dateien/Verzeichnisse, die mit dem Skript bearbeitet werden sollen, die gleiche UID (Eigentümer) haben wie das Skript selbst.

Hinweis:

Diese Funktion ersetzt die Funktion pg_loimport().

Parameter-Liste

connection

PostgreSQL Verbindungskennung. Wenn connection nicht angegeben ist, wird die zuletzt von pg_connect() oder pg_pconnect() geöffnete Verbindung benutzt.

pathname

Der vollständige Pfad- und Dateiname der Datei im lokalen Dateisystem des Clients, aus der die Daten des Large Objects gelesen werden.

object_id

Wenn es einen Parameter object_id gibt, wird diese Funktion versuchen, ein Large Object mit dieser ID zu erzeugen. Anderenfalls wird dem Large Object vom Server eine freie ID zugewiesen. Dieser Parameter steht seit PHP 5.3 zur Verfügung und basiert auf Funktionalitäten, die seit PostgreSQL 8.1 implementiert sind.

Rückgabewerte

Der OID des neu erzeugten Large Objects oder FALSE, wenn ein Fehler auftrat.

Changelog

Version | Beschreibung
5.3.0 | Der optionale Parameter object_id wurde zugefügt.

Beispiele

Beispiel #1 pg_lo_import() Beispiel

<?php
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $oid = pg_lo_import($database, '/tmp/lob.dat');
   pg_query($database, "commit");
?>

Siehe auch

  • pg_lo_export() - Exportiert ein Large Object in eine Datei
  • pg_lo_open() - Öffnet ein Large Object

pg_lo_export
pg_lo_open
PostgreSQL-Funktionen


Öffnet ein Large Object

pg_lo_import
pg_lo_read_all
PostgreSQL-Funktionen
PHP Manual

pg_lo_open

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_lo_open — Öffnet ein Large Object

Beschreibung

resource pg_lo_open ( resource $connection , int $oid , string $mode )

pg_lo_open() öffnet ein Large Object in einer Datenbank und gibt einen Handler (eine Ressource) zurück, über den das Large Object modifiziert werden kann.

Warnung

Bevor Sie die Datenbankverbindung schließen, müssen Sie das Large Object wieder schließen.

Um die Large Object (lo) Schnittstelle benutzen zu können, müssen die Kommandos innerhalb einer Transaktion ausgeführt werden.

Hinweis:

Diese Funktion ersetzt die Funktion pg_loopen().

Parameter-Liste

connection

PostgreSQL Verbindungkennung. Falls connection nicht angegeben wurde, wird die zuletzt mit pg_connect() oder pg_pconnect() geöffnete Verbindung benutzt.

oid

Der OID des Large Objects in der Datenbank.

mode

Dies kann entweder "r" für nur lesen, "w" für nur schreiben oder "rw" für lesen und Schreiben sein.

Rückgabewerte

Eine Large Object Ressource oder FALSE, falls ein Fehler auftrat.

Beispiele

Beispiel #1 pg_lo_open() Beispiel

<?php
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $oid = pg_lo_create($database);
   echo "$oid\n";
   $handle = pg_lo_open($database, $oid, "w");
   echo "$handle\n";
   pg_lo_write($handle, "Daten des Large Objects");
   pg_lo_close($handle);
   pg_query($database, "commit");
?>

Siehe auch

  • pg_lo_close() - Schließt ein Large Object
  • pg_lo_create() - Erzeugt ein Large Object

pg_lo_import
pg_lo_read_all
PostgreSQL-Funktionen


Liest ein Large Object vollständig und reicht es direkt an den Browser weiter

pg_lo_open
pg_lo_read
PostgreSQL-Funktionen
PHP Manual

pg_lo_read_all

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_lo_read_all — Liest ein Large Object vollständig und reicht es direkt an den Browser weiter

Beschreibung

int pg_lo_read_all ( resource $large_object )

pg_lo_read_all() liest ein Large Object vollständig und übergibt es direkt an den Browser, nachdem alle entsprechenden Header gesendet wurden. Die Funktion wird hauptsächlich für Binärdaten wie Bilder oder Audiodaten genutzt.

Um die Large Object Schnittstelle benutzen zu können, müssen die Kommandos innerhalb einer Transaktion ausgeführt werden.

Hinweis:

Diese Funktion ersetzt die Funktion pg_loreadall()().

Parameter-Liste

large_object

PostgreSQL Large Object Ressource (LOB), die von der Funktion pg_lo_open() zurückgegeben wurde.

Rückgabewerte

Die Anzahl der gelesenen Bytes oder FALSE, falls ein Fehler auftrat.

Beispiele

Beispiel #1 pg_lo_read_all() Beispiel

<?php
   header('Content-type: image/jpeg');
   $image_oid = 189762345;
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $handle = pg_lo_open($database, $image_oid, "r");
   pg_lo_read_all($handle);
   pg_query($database, "commit");
?>

Siehe auch

  • pg_lo_read() - Liest ein Large Object

pg_lo_open
pg_lo_read
PostgreSQL-Funktionen


Liest ein Large Object

pg_lo_read_all
pg_lo_seek
PostgreSQL-Funktionen
PHP Manual

pg_lo_read

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_lo_read — Liest ein Large Object

Beschreibung

string pg_lo_read ( resource $large_object [, int $len = 8192 ] )

pg_lo_read() liest höchstens len Bytes eines Large Objects und gibt die gelesenen Daten als String zurück.

Um die Large Object (lo) Schnittstelle benutzen zu können, müssen die Kommandos innerhalb einer Transaktion ausgeführt werden.

Hinweis:

Diese Funktion ersetzt die Funktion pg_loread()().

Parameter-Liste

large_object

PostgreSQL Large Object Ressource (LOB), die von der Funktion pg_lo_open() zurückgegeben wurde.

len

Die (optionale) maximale Anzahl der zu lesenden Bytes. Der Vorgabewert ist 8192.

Rückgabewerte

Ein string, der len Bytes aus dem Large Object enthält oder FALSE, falls ein Fehler auftritt.

Beispiele

Beispiel #1 pg_lo_read() Beispiel

<?php
   $doc_oid = 189762345;
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $handle = pg_lo_open($database, $doc_oid, "r");
   $data = pg_lo_read($handle, 50000);
   pg_query($database, "commit");
   echo $data;
?>

Siehe auch

  • pg_lo_read_all() - Liest ein Large Object vollständig und reicht es direkt an den Browser weiter

pg_lo_read_all
pg_lo_seek
PostgreSQL-Funktionen


Setzt die Lese- oder Schreibposition in einem Large Object

pg_lo_read
pg_lo_tell
PostgreSQL-Funktionen
PHP Manual

pg_lo_seek

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_lo_seek — Setzt die Lese- oder Schreibposition in einem Large Object

Beschreibung

bool pg_lo_seek ( resource $large_object , int $offset [, int $whence = PGSQL_SEEK_CUR ] )

pg_lo_seek() setzt den internen Zeiger einer Large Object Ressource auf die angegebenen Position.

Um die Large Object (lo) Schnittstelle benutzen zu können, müssen die Kommandos innerhalb einer Transaktion ausgeführt werden.

Parameter-Liste

large_object

PostgreSQL Large Object Ressource (LOB), die von der Funktion pg_lo_open() zurückgegeben wurde.

offset

Die Anzahl der Bytes, hinter die der interne Zeiger gesetzt wird.

whence

Eine der Konstanten PGSQL_SEEK_SET (bewegt den internen Zeiger vom Anfang ausgehend), PGSQL_SEEK_CUR (bewegt den internen Zeiger ab der aktuellen Position) oder PGSQL_SEEK_END (bewegt den internen Zeiger vom Ende ausgehend).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pg_lo_seek() Beispiel

<?php
   $doc_oid = 189762345;
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $handle = pg_lo_open($database, $doc_oid, "r");
   // Die ersten 50000 Bytes ueberspringen
   pg_lo_seek($handle, 50000, PGSQL_SEEK_SET);
   // Die naechsten 10000 Bytes lesen
   $data = pg_lo_read($handle, 10000);
   pg_query($database, "commit");
   echo $data;
?>

Changelog

Version | Beschreibung
5.6.0 | Unterstützung für 64bit große Objekte von PostgreSQL 9.3 wurde hinzugefügt. Sowohl Client als auch Server müssen PostgreSQL 9.3 unterstützen, und PHP muss ein 64bit Build sein, um 64bit große Objekte verwenden zu können.

Siehe auch

  • pg_lo_tell() - Gibt die aktuelle Lese- oder Schreibposition in einem Large Object zurück

pg_lo_read
pg_lo_tell
PostgreSQL-Funktionen


Gibt die aktuelle Lese- oder Schreibposition in einem Large Object zurück

pg_lo_seek
pg_lo_truncate
PostgreSQL-Funktionen
PHP Manual

pg_lo_tell

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_lo_tell — Gibt die aktuelle Lese- oder Schreibposition in einem Large Object zurück

Beschreibung

int pg_lo_tell ( resource $large_object )

pg_lo_tell() gibt die aktuelle Position (Offset vom Anfang des Large Objects aus) des internen Zeigers zurück.

Um die Large Object (lo) Schnittstelle benutzen zu können, müssen die Kommandos innerhalb einer Transaktion ausgeführt werden.

Parameter-Liste

large_object

PostgreSQL Large Object Ressource (LOB), die von der Funktion pg_lo_open() zurückgegeben wurde.

Rückgabewerte

Die aktuelle Lese- oder Schreibposition in einem (in Bytes) vom Anfang des Large Objects aus. Falls ein Fehler auftritt, ist der Rückgabewert negativ.

Beispiele

Beispiel #1 pg_lo_tell() Beispiel

<?php
   $doc_oid = 189762345;
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $handle = pg_lo_open($database, $doc_oid, "r");
   // Überspringe die ersten 50000 Bytes
   pg_lo_seek($handle, 50000, PGSQL_SEEK_SET);
   // Test, wieviele Bytes übersprungen wurden
   $offset = pg_lo_tell($handle);
   echo "Die aktuelle Position ist: $offset";
   pg_query($database, "commit");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Die aktuelle Position ist: 50000

Changelog

Version | Beschreibung
5.6.0 | Unterstützung für 64bit große Objekte von PostgreSQL 9.3 wurde hinzugefügt. Sowohl Client als auch Server müssen PostgreSQL 9.3 unterstützen, und PHP muss ein 64bit Build sein, um 64bit große Objekte verwenden zu können.

Siehe auch

  • pg_lo_seek() - Setzt die Lese- oder Schreibposition in einem Large Object

pg_lo_seek
pg_lo_truncate
PostgreSQL-Funktionen


Truncates a large object

pg_lo_tell
pg_lo_unlink
PostgreSQL-Funktionen
PHP Manual

pg_lo_truncate

(No version information available, might only be in Git)

pg_lo_truncate — Truncates a large object

Beschreibung

bool pg_lo_truncate ( resource $large_object , int $size )

pg_lo_truncate() truncates a large object resource.

To use the large object interface, it is necessary to enclose it within a transaction block.

Parameter-Liste

large_object

PostgreSQL large object (LOB) resource, returned by pg_lo_open().

size

The number of bytes to truncate.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pg_lo_truncate() example

<?php
   $doc_oid = 189762345;
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $handle = pg_lo_open($database, $doc_oid, "r");
   // Truncate to 0
   pg_lo_truncate($handle, 0);
   pg_query($database, "commit");
   echo $data;
?>

Changelog

Version | Beschreibung
5.6.0 | Added truncate function. It supports PostgreSQL 9.3's 64bit large object. Both client and server must support PostgreSQL 9.3 and PHP must be 64bit build to use 64bit large object.

Siehe auch

  • pg_lo_tell() - Gibt die aktuelle Lese- oder Schreibposition in einem Large Object zurück

pg_lo_tell
pg_lo_unlink
PostgreSQL-Funktionen


Löscht ein Large Object

pg_lo_truncate
pg_lo_write
PostgreSQL-Funktionen
PHP Manual

pg_lo_unlink

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_lo_unlink — Löscht ein Large Object

Beschreibung

bool pg_lo_unlink ( resource $connection , int $oid )

pg_lo_unlink() löscht das Large Object mit dem Objektbezeichner oid. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Um die Large Object (lo) Schnittstelle benutzen zu können, müssen die Kommandos innerhalb einer Transaktion ausgeführt werden.

Hinweis:

Diese Funktion ersetzt die Funktion pg_lounlink()().

Parameter-Liste

connection

PostgreSQL Verbindungkennung. Falls connection nicht angegeben wurde, wird die zuletzt mit pg_connect() oder pg_pconnect() geöffnete Verbindung benutzt.

oid

Der OID des Large Objects in der Datenbank.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pg_lo_unlink() Beispiel

<?php
   // OID des Large Objects, das gelöscht werden soll
   $doc_oid = 189762345;
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   pg_lo_unlink($database, $doc_oid);
   pg_query($database, "commit");
?>

Siehe auch

  • pg_lo_create() - Erzeugt ein Large Object
  • pg_lo_import() - Importiert ein Large Object aus einer Datei

pg_lo_truncate
pg_lo_write
PostgreSQL-Funktionen


Schreibt in ein Large Object

pg_lo_unlink
pg_meta_data
PostgreSQL-Funktionen
PHP Manual

pg_lo_write

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_lo_write — Schreibt in ein Large Object

Beschreibung

int pg_lo_write ( resource $large_object , string $data [, int $len ] )

pg_lo_write() schreibt Daten ab der aktuellen Position der internen Schreib-Lese-Marke in ein Large Object.

Um die Large Object (lo) Schnittstelle benutzen zu können, müssen die Kommandos innerhalb einer Transaktion ausgeführt werden.

Hinweis:

Diese Funktion ersetzt die Funktion pg_lowrite()().

Parameter-Liste

large_object

PostgreSQL Large Object Ressource (LOB), die von der Funktion pg_lo_open() zurückgegeben wurde.

data

Die Daten, die in das Large Object geschrieben werden. Falls len angegeben wurde und kleiner als die Länge von data ist, werden nur len Bytes geschrieben.

len

Die maximale Anzahl der Bytes, die geschrieben werden. Die Anzahl muss größer als 0 und kleiner als die Länge von data sein. Der Vorgabewert ist die Länge von data. Diese Angabe ist optional.

Rückgabewerte

Die Anzahl der Bytes, die in das Large Object geschrieben wurden oder FALSE, falls ein Fehler auftrat.

Beispiele

Beispiel #1 pg_lo_write()-Beispiel

<?php
   $doc_oid = 189762345;
   $data = "Hiermit wird der Anfang des Large Objects überschrieben.";
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $handle = pg_lo_open($database, $doc_oid, "w");
   $data = pg_lo_write($handle, $data);
   pg_query($database, "commit");
?>

Siehe auch

  • pg_lo_create() - Erzeugt ein Large Object
  • pg_lo_open() - Öffnet ein Large Object

pg_lo_unlink
pg_meta_data
PostgreSQL-Funktionen


Gibt Metadaten einer Tabelle als Array zurück

pg_lo_write
pg_num_fields
PostgreSQL-Funktionen
PHP Manual

pg_meta_data

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

pg_meta_data — Gibt Metadaten einer Tabelle als Array zurück

Beschreibung

array pg_meta_data ( resource $connection , string $table_name [, bool $extended ] )

pg_meta_data() gibt die Tabellendefinition für table_name in einem Array zurück.

Parameter-Liste

connection

PostgreSQL Verbindungskennung

table_name

Der Tabellenname

extended

Flag um erweiterte Metadaten zurückzugeben. Vorgabewert ist FALSE.

Rückgabewerte

Ein array, das die Tabellendefinition enthält oder FALSE, falls ein Fehler auftrat.

Beispiele

Beispiel #1 Metadaten für eine Tabelle ermitteln

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Verbindungsaufbau fehlgeschlagen");

  $meta = pg_meta_data($dbconn, 'authors');
  if (is_array($meta)) {
      echo '<pre>';
      var_dump($meta);
      echo '</pre>';
  }
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(3) {
["author"]=>
array(5) {
  ["num"]=>
  int(1)
  ["type"]=>
  string(7) "varchar"
  ["len"]=>
  int(-1)
  ["not null"]=>
  bool(false)
  ["has default"]=>
  bool(false)
}
["year"]=>
array(5) {
  ["num"]=>
  int(2)
  ["type"]=>
  string(4) "int2"
  ["len"]=>
  int(2)
  ["not null"]=>
  bool(false)
  ["has default"]=>
  bool(false)
}
["title"]=>
array(5) {
  ["num"]=>
  int(3)
  ["type"]=>
  string(7) "varchar"
  ["len"]=>
  int(-1)
  ["not null"]=>
  bool(false)
  ["has default"]=>
  bool(false)
}
}

Changelog

Version | Beschreibung
5.6.0 | Nicht länger experimentell. "is enum" wurde als Standardattribut hinzugefügt. extended Flag wurde hinzugefügt.

Siehe auch

  • pg_convert() - Konvertiert die Werte eines assoziativen Arrays in passende Werte für SQL-Kommandos.

pg_lo_write
pg_num_fields
PostgreSQL-Funktionen


Gibt die Anzahl der Felder in einem Abfrageergebnis zurück

pg_meta_data
pg_num_rows
PostgreSQL-Funktionen
PHP Manual

pg_num_fields

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_num_fields — Gibt die Anzahl der Felder in einem Abfrageergebnis zurück

Beschreibung

int pg_num_fields ( resource $result )

pg_num_fields() gibt die Anzahl der Felder (Spalten) in einem PostgreSQL Abfrageergebnis zurück.

Hinweis:

Diese Funktion ersetzt die Funktion pg_numfields().

Parameter-Liste

result

PostgreSQL Ergebniskennung für eine Abfrage, die (unter anderem) von pg_query(), pg_query_params() oder pg_execute() zurückgegeben wurde.

Rückgabewerte

Die Anzahl der Felder (Spalten) in einem Abfrageergebnis. Tritt ein Fehler auf, wird -1 zurückgegeben.

Beispiele

Beispiel #1 pg_num_fields() Beispiel

<?php
$result = pg_query($conn, "SELECT 1, 2");

$num = pg_num_fields($result);

echo $num . " Feld(er) gefunden.\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

2 Feld(er) gefunden.

Siehe auch

  • pg_num_rows() - Gibt die Anzahl der Zeilen in einem Abfrageergebnis zurück
  • pg_affected_rows() - Gibt die Anzahl betroffener Datensätze (Tupel) zurück

pg_meta_data
pg_num_rows
PostgreSQL-Funktionen


Gibt die Anzahl der Zeilen in einem Abfrageergebnis zurück

pg_num_fields
pg_options
PostgreSQL-Funktionen
PHP Manual

pg_num_rows

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_num_rows — Gibt die Anzahl der Zeilen in einem Abfrageergebnis zurück

Beschreibung

int pg_num_rows ( resource $result )

pg_num_rows() gibt die Anzahl der Zeilen in einem PostgreSQL Abfrageergebnis zurück.

Hinweis:

Diese Funktion ersetzt die Funktion pg_numrows().

Parameter-Liste

result

PostgreSQL Ergebniskennung für eine Abfrage, die (unter anderem) von pg_query(), pg_query_params() oder pg_execute() zurückgegeben wurde.

Rückgabewerte

Die Anzahl der Zeilen in einem Abfrageergebnis. Tritt ein Fehler auf, wird -1 zurückgegeben.

Beispiele

Beispiel #1 pg_num_rows() Beispiel

<?php
$result = pg_query($conn, "SELECT 1");

$rows = pg_num_rows($result);

echo $rows . " Zeile(n) gefunden.\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1 Zeile(n) gefunden.

Siehe auch

  • pg_num_fields() - Gibt die Anzahl der Felder in einem Abfrageergebnis zurück
  • pg_affected_rows() - Gibt die Anzahl betroffener Datensätze (Tupel) zurück

pg_num_fields
pg_options
PostgreSQL-Funktionen


Gibt die Verbindungsoptionen der aktuellen Verbindung zurück

pg_num_rows
pg_parameter_status
PostgreSQL-Funktionen
PHP Manual

pg_options

(PHP 4, PHP 5, PHP 7)

pg_options — Gibt die Verbindungsoptionen der aktuellen Verbindung zurück

Beschreibung

string pg_options ([ resource $connection ] )

pg_options() gibt einen string zurück, der die Verbindungsoptionen der angegebenen PostgreSQL connection enthält.

Parameter-Liste

connection

PostgreSQL Verbindungkennung. Falls connection nicht angegeben wurde, wird die zuletzt mit pg_connect() oder pg_pconnect() geöffnete Verbindung benutzt.

Rückgabewerte

Ein string, der die Verbindungsoptionen von connection enthält oder FALSE, falls ein Fehler auftritt.

Beispiele

Beispiel #1 pg_options() Beispiel

<?php
   $pgsql_conn = pg_connect("dbname=mark host=localhost");
   echo pg_options($pgsql_conn);
?>

Siehe auch

  • pg_connect() - Öffnet eine PostgreSQL-Verbindung

pg_num_rows
pg_parameter_status
PostgreSQL-Funktionen


Gibt den Wert einer aktuellen Server-Einstellung zurück

pg_options
pg_pconnect
PostgreSQL-Funktionen
PHP Manual

pg_parameter_status

(PHP 5, PHP 7)

pg_parameter_status — Gibt den Wert einer aktuellen Server-Einstellung zurück

Beschreibung

string pg_parameter_status ([ resource $connection ], string $param_name )

Ermittelt die aktuellen Parameter-Einstellungen des Servers.

Bestimmte Servereinstellungen (Parameter) werden beim Verbindungsaufbau oder, wenn sich ihr Wert ändert, automatich vom Server gemeldet. Mit pg_parameter_status() können Sie diese Einstellungen abfragen. Zurückgegeben wird der aktuelle Wert des Parameters, falls dieser bekannt ist, anderenfalls FALSE.

In PostgreSQL 8.0 werden die Werte für folgende Parameter zurückgegeben: server_version, server_encoding, client_encoding, is_superuser, session_authorization, DateStyle, TimeZone und integer_datetimes. (server_encoding, TimeZone und integer_datetimes werden von PostgreSQL vor 8.0 nicht zurückgegeben.) Beachten Sie, dass server_version, server_encoding und integer_datetimes nach dem Start von PostgreSQL nicht mehr verändert werden können.

PostgreSQL 7.3 oder darunter geben gar keine Servereinstellungen zurück. pg_parameter_status() kann trotzdem benutzt werden, um die Werte von server_version und client_encoding zu ermitteln. Es wird empfohlen, in Anwendungen pg_parameter_status() zu verwenden, anstatt speziellen Code zu schreiben, um diese Werte zu erhalten.

Achtung

In PostgreSQL-Versionen vor 7.4 wird ein nachträgliches (nach dem Start des Servers) Ändern von client_encoding mit dem Kommando SET von pg_parameter_status() ignoriert.

Parameter-Liste

connection

PostgreSQL-Verbindungskennung. Falls connection nicht angegeben wurde, wird die zuletzt mit pg_connect() oder pg_pconnect() geöffnete Verbindung benutzt.

param_name

Mögliche Werte für param_name sind: server_version, server_encoding, client_encoding, is_superuser, session_authorization, DateStyle, TimeZone und integer_datetimes.

Rückgabewerte

Ein String, der den Wert des Parameters enthält, oder FALSE, falls ein Fehler auftrat oder der Parameter param_name ungültig ist.

Beispiele

Beispiel #1 pg_parameter_status() Beispiel

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Verbindungsaufbau fehlgeschlagen");

  echo "Server encoding: ", pg_parameter_status($dbconn, "server_encoding");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Server encoding: SQL_ASCII

pg_options
pg_pconnect
PostgreSQL-Funktionen


Öffnet eine persistente PostgreSQL-Verbindung

pg_parameter_status
pg_ping
PostgreSQL-Funktionen
PHP Manual

pg_pconnect

(PHP 4, PHP 5, PHP 7)

pg_pconnect — Öffnet eine persistente PostgreSQL-Verbindung

Beschreibung

resource pg_pconnect ( string $connection_string [, int $connect_type ] )

pg_pconnect() öffnet eine persistente Verbindung zu einer PostgreSQL-Datenbank. Zurückgegeben wird eine Verbindungskennung, die von anderen PostgreSQL-Funktionen benötigt wird.

Falls pg_pconnect() ein zweites Mal mit demselben connection_string einer bereits existierenden Verbindung aufgerufen wird, wird die Verbindungskennung dieser existierenden Verbindung zurückgegeben. Es sei denn, Sie übergeben die Konstante PGSQL_CONNECT_FORCE_NEW als connect_type.

Um persistente Verbindungen zu ermöglichen, muss die pgsql.allow_persistent -Direktive in php.ini auf den Wert "On" gesetzt sein (was der Standardeinstellung entspricht). Die maximale Anzahl geöffneter persistenter Verbindungen kann mit der Direktive pgsql.max_persistent in php.ini definiert werden (der Standardwert ist -1, der für unbegrenzt steht). Die Gesamtanzahl der Verbindungen kann mit der pgsql.max_links -Direktive in php.ini gesetzt werden.

pg_close() schließt keine persistenten Verbindungen, die mit pg_pconnect() erzeugt wurden.

Parameter-Liste

connection_string

Der connection_string kann leer sein, um die Standardwerte für die Parameter zu benutzen. Er kann auch einen oder mehrere, durch Whitespace-Zeichen getrennte, Parameter enthalten. Jeder Parameter wird in der Form keyword = Wert angegeben, Leerzeichen vor und nach dem Gleichheitszeichen sind optional. Um einen leeren Wert oder einen Wert, der Leerzeichen enthält, anzugeben, müssen Sie den Wert in einfache Anführungszeichen einschließen, zum Beispiel keyword = 'ein Wert'. Einfache Anführungszeichen und Backslashes innerhalb des Wertes müssen mit einem Backslash maskiert werden, beispielsweise \' und \\.

Gegenwärtig werden die folgenden Schlüsselwörter als Parameter erkannt: host, hostaddr, port, dbname, user, password, connect_timeout, options, tty (wird ignoriert), sslmode, requiressl (veraltet zugunsten von sslmode) und service. Welche dieser Parameter zur Verfügung stehen, hängt von Ihrer PostgreSQL-Version ab.

connect_type

Falls PGSQL_CONNECT_FORCE_NEW übergeben wurde, wird eine neue Verbindung aufgebaut, auch wenn der connection_string identisch zu dem einer existierenden Verbindung ist.

Rückgabewerte

Bei Erfolg wird eine PostgreSQL-Verbindungskennung zurückgegeben oder FALSE, falls ein Fehler auftrat.

Beispiele

Beispiel #1 pg_pconnect() benutzen:

<?php
$dbconn = pg_pconnect("dbname=mary");
//Verbindungsaufbau zu einer Datenbank namens "mary"

$dbconn2 = pg_pconnect("host=localhost port=5432 dbname=mary");
// Verbindungsaufbau zu einer Datenbank namens "mary" auf "localhost" und port "5432"

$dbconn3 = pg_pconnect("host=sheep port=5432 dbname=mary user=lamb password=foo");
// Verbindungsaufbau zu einer Datenbank namens "mary" auf dem Host
// "sheep" mit Benutzername und Passwort

$conn_string = "host=sheep port=5432 dbname=test user=lamb password=bar";
$dbconn4 = pg_pconnect($conn_string);
// Verbindungsaufbau zu einer Datenbank namens "test" auf dem Host
// "sheep" mit Benutzername und Passwort
?>

Siehe auch

  • pg_connect() - Öffnet eine PostgreSQL-Verbindung
  • Persistente Datenbankverbindungen

pg_parameter_status
pg_ping
PostgreSQL-Funktionen


Prüft die Datenbankverbindung

pg_pconnect
pg_port
PostgreSQL-Funktionen
PHP Manual

pg_ping

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

pg_ping — Prüft die Datenbankverbindung

Beschreibung

bool pg_ping ([ resource $connection ] )

pg_ping() prüft eine Datenbankverbindung und versucht einen erneuten Verbindungsaufbau, falls die Verbindung abbricht.

Parameter-Liste

connection

PostgreSQL Verbindungkennung. Falls connection nicht angegeben wurde, wird die zuletzt mit pg_connect() oder pg_pconnect() geöffnete Verbindung benutzt.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pg_ping() Beispiel

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "Ein Fehler ist aufgetreten.\n";
  exit;
}

if (!pg_ping($conn))
  die("Die Verbindung ist unterbrochen\n");
?>

Siehe auch

  • pg_connection_status() - Gibt den Verbindungsstatus zurück
  • pg_connection_reset() - Setzt die Verbindung zurück und verbindet neu

pg_pconnect
pg_port
PostgreSQL-Funktionen


Gibt die Portnummer zurück, über die die Verbindung aufgebaut wurde

pg_ping
pg_prepare
PostgreSQL-Funktionen
PHP Manual

pg_port

(PHP 4, PHP 5, PHP 7)

pg_port — Gibt die Portnummer zurück, über die die Verbindung aufgebaut wurde

Beschreibung

int pg_port ([ resource $connection ] )

pg_port() gibt die Nummer des Ports zurück, über die die angegebene connection zum PostgreSQL Datenbankserver aufgebaut wurde.

Parameter-Liste

connection

PostgreSQL Verbindungkennung. Falls connection nicht angegeben wurde, wird die zuletzt mit pg_connect() oder pg_pconnect() geöffnete Verbindung benutzt.

Rückgabewerte

Ein ganzzahliger Wert vom Typ int, der die Portnummer angibt, über die die connection zum PostgreSQL Datenbankserver aufgebaut wurde oder FALSE, falls ein Fehler auftrat.

Beispiele

Beispiel #1 pg_port() Beispiel

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

if ($pgsql_conn) {
   print "Verbindungsaufbau über Port " . pg_port($pgsql_conn) . " erfolgreich<br/>\n";
} else {
   print pg_last_error($pgsql_conn);
   exit;
}
?>

pg_ping
pg_prepare
PostgreSQL-Funktionen


Sendet eine Aufforderung an den Server, eine vorbereitete Anfrage mit den übergebenen Parametern zu erzeugen und wartet auf ihre Beendigung.

pg_port
pg_put_line
PostgreSQL-Funktionen
PHP Manual

pg_prepare

(PHP 5 >= 5.1.0, PHP 7)

pg_prepare — Sendet eine Aufforderung an den Server, eine vorbereitete Anfrage mit den übergebenen Parametern zu erzeugen und wartet auf ihre Beendigung.

Beschreibung

resource pg_prepare ([ resource $connection ], string $stmtname , string $query )

pg_prepare() erzeugt eine vorbereitete Abfrage, die später mit pg_execute() oder pg_send_execute() ausgeführt werden kann. Dank dieser Eigenschaft brauchen wiederholt ausgeführte Abfragen nur ein einziges Mal geparst werden und es muss auch nur einmal ein Abfrageplan erstellt werden, anstatt die Abfrage bei jeder Ausführung zu parsen und zu planen. pg_prepare() wird nur für Verbindungen zu PostgreSQL ab der Version 7.4 unterstützt und schlägt bei allen niedrigeren Versionen fehl.

Diese Funktion erzeugt aus der Abfrage query eine vorbereitete Abfrage mit dem Namen stmtname. query darf nur ein einzelnes SQL-Kommando enthalten. stmtname kann "" sein, um eine unbenannte Abfrage zu erzeugen, wobei zuvor definierte unbenannte Abfragen automatisch überschrieben werden. Falls der Name der vorbereiteten Abfrage in der aktuellen Datenbanksitzung schon vergeben ist, wird ein Fehler zurückgegeben. Falls irgendwelche Parameter übergeben wurden, werden diese in query als $1, $2 usw. referenziert.

Vorbereitete Abfragen, die mit pg_prepare() erzeugt wurden, können ebenso mit dem SQL-Kommando PREPARE erzeugt werden. (Allerdings ist pg_prepare() flexibler, weil Parametertypen nicht vorab deklariert werden müssen.) Obwohl es keine PHP-Funktion zum Löschen vorbereiteter Anfragen gibt, können diese mit dem SQL-Kommando DEALLOCATE gelöscht werden.

Parameter-Liste

connection

PostgreSQL Verbindungskennung. Falls connection nicht angegeben wurde, wird die zuletzt mit pg_connect() oder pg_pconnect() geöffnete Verbindung benutzt.

stmtname

Der Name, unter dem die vorbereitete Abfrage gespeichert wird. Dieser muss für jede Verbindung eindeutig sein. Falls "" angegeben wurde, wird eine unbenannte Abfrage erzeugt, die alle zuvor definierten unbenannten Abfragen überschreibt.

query

Die parametrisierte vorbereitete Abfrage. Diese darf nur ein einziges SQL-Kommando enthalten (mehrere Kommandos, durch Semikolon getrennt, sind nicht zulässig). Falls Parameter übergeben werden, werden sie als $1, $2, ... referenziert.

Rückgabewerte

Bei Erfolg wird eine Ergebniskennung zurückgegeben. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pg_prepare() Beispiel

<?php
// Verbindung zu einer Datenbank namens "mary" aufbauen
$dbconn = pg_connect("dbname=mary");

// Abfrage vorbereiten
$result = pg_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');

// die vorbereitete Abfrage ausführen. Beachten Sie, dass es
// nicht nötig ist, den String "Joe's Widgets" zu maskieren.
$result = pg_execute($dbconn, "my_query", array("Joe's Widgets"));

// Dieselbe Abfrage mit einem anderen Parameter nochmal ausführen
$result = pg_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));

?>

Siehe auch

  • pg_execute() - Fordert den Datenankserver auf, eine vorbereitete Anfrage mit den angegebenen Parametern auszuführen und wartet auf das Ergebnis
  • pg_send_execute() - Sendet eine Aufforderung an den Server, eine vorbereitete Abfrage mit den übergebenen Parametern auszuführen, ohne auf die Ergebnisse zu warten.

pg_port
pg_put_line
PostgreSQL-Funktionen


Sendet eine NULL-terminierte Zeichenkette zum PostgreSQL-Server

pg_prepare
pg_query_params
PostgreSQL-Funktionen
PHP Manual

pg_put_line

(PHP 4 >= 4.0.3, PHP 5, PHP 7)

pg_put_line — Sendet eine NULL-terminierte Zeichenkette zum PostgreSQL-Server

Beschreibung

bool pg_put_line ([ resource $connection ], string $data )

pg_put_line() sendet eine NULL-terminierte Zeichenkette an den PostgreSQL-Server. Das ist in Verbindung mit dem PostgreSQL-Befehl COPY FROM notwendig.

COPY ist eine PostgreSQL-Anweisung, mit der Daten mit hoher Geschwindigkeit in eine Tabelle eingefügt werden können. Die Daten werden ungeparst und in einer einzigen Transaktion übertragen.

Alternativ zu pg_put_line() kann pg_copy_from() verwendet werden. Dies ist weitaus einfacher.

Hinweis:

Eine Anwendung muss explizit die beiden Zeichen "\." in der letzten Zeile an PostgreSQL übertragen, um anzuzeigen, dass die Datenübertragung beendet ist, bevor pg_end_copy() aufgerufen wird.

Warnung

Die Verwendung von pg_put_line() führt bei den meisten Operationen mit Large Objects zu Fehlern. So etwa bei pg_lo_read() und pg_lo_tell(). Stattdessen sollten Sie pg_copy_from() und pg_copy_to() benutzen.

Parameter-Liste

connection

PostgreSQL Verbindungskennung. Falls connection nicht angegeben wurde, wird die zuletzt mit pg_connect() oder pg_pconnect() geöffnete Verbindung benutzt.

data

Eine Textzeile, die direkt an den PostgreSQL Datenbankserver gesendet wird. Dabei wird automatisch ein NULL an das Zeilenende angehängt.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pg_put_line() Beispiel

<?php
  $conn = pg_pconnect("dbname=foo");
  pg_query($conn, "create table bar (a int4, b char(16), d float8)");
  pg_query($conn, "copy bar from stdin");
  pg_put_line($conn, "3\thello world\t4.5\n");
  pg_put_line($conn, "4\tgoodbye world\t7.11\n");
  pg_put_line($conn, "\\.\n");
  pg_end_copy($conn);
?>

Siehe auch

  • pg_end_copy() - Synchronisation mit dem PostgreSQL-Server

pg_prepare
pg_query_params
PostgreSQL-Funktionen


Sendet ein Kommando zum Server und wartet seine Ausführung ab. Getrennt vom SQL-Kommando können dabei Parameter übergeben werden.

pg_put_line
pg_query
PostgreSQL-Funktionen
PHP Manual

pg_query_params

(PHP 5 >= 5.1.0, PHP 7)

pg_query_params — Sendet ein Kommando zum Server und wartet seine Ausführung ab. Getrennt vom SQL-Kommando können dabei Parameter übergeben werden.

Beschreibung

resource pg_query_params ([ resource $connection ], string $query , array $params )

Sendet ein Kommando zum Server und wartet seine Ausführung ab. Getrennt vom SQL-Kommando können dabei Parameter übergeben werden.

pg_query_params() ist ähnlich wie pg_query(), bietet aber zusätzlich die Möglichkeit, Parameterwerte ausserhalb des SQL-Kommandos separat zu übergeben. pg_query_params() wird nur für Verbindungen zu PostgreSQL ab der Version 7.4 unterstützt und schlägt bei allen niedrigeren Versionen fehl.

Falls irgendwelche Parameter übergeben wurden, werden diese in query als $1, $2 usw. referenziert. Der gleiche Parameter darf mehrmals in query auftauchen; in diesem Fall wird der selbe Wert verwendet. Im Array params werden die aktuellen Parameterwerte übergeben. Der Wert NULL in diesem Array repräsentiert den SQL-Wert NULL.

Der Hauptvorteil von pg_query_params() gegenüber pg_query() liegt darin, dass Parameterwerte vom SQL-Kommando getrennt übergeben werden können und damit das fehlerträchtige und lästige Maskieren und Setzen von Anführungszeichen vermieden werden kann. Im Unterschied zu pg_query() ist bei pg_query_params() nur ein einziges SQL-Kommando erlaubt. (Es können auch Semikolons enthalten sein, aber nicht mehr als ein nichtleeres Kommando.)

Parameter-Liste

connection

PostgreSQL Verbindungskennung. Falls connection nicht angegeben wurde, wird die zuletzt mit pg_connect() oder pg_pconnect() geöffnete Verbindung benutzt.

query

Die parametrisierte Abfrage. Diese darf nur ein einziges SQL-Kommando enthalten (mehrere Kommandos, durch Semikolon getrennt, sind nicht zulässig). Falls Parameter übergeben werden, werden sie als $1, $2, ... referenziert.

Anwenderdaten sollten immer als Parameter übergeben werden, und nicht in die Abfragezeichenkette interpoliert werden, wo sie mögliche SQL-Injection Angriffsvektoren bilden und Bugs einführen, wenn die zu behandelnden Daten Anführungszeichen enthalten. Wenn aus irgendeinem Grund Parameter nicht verwendet werden können, ist sicherzustellen, dass Werte ordnungsgemäß maskiert sind.

params

Ein Array mit Parameterwerten, mit denen die Platzhalter $1, $2 usw. in der ursprünglichen vorbereiteten Abfrage ersetzt werden. Die Anzahl der Elemente dieses Arrays muss mit der Anzahl der Platzhalter übereinstimmen.

Werte, die für bytea Felder vorgesehen sind, werden nicht als Parameter unterstützt. Statt dessen sind pg_escape_bytea() oder die Funktionen für große Objekte zu verwenden.

Rückgabewerte

Bei Erfolg wird eine Ergebniskennung zurückgegeben. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pg_query_params() Beispiel

<?php
// Verbindung zu einer Datenbank namens "mary" aufbauen
$dbconn = pg_connect("dbname=mary");

// Alle Shops mit dem Namen Joe's Widgets finden. Beachten Sie, dass es
// nicht nötig ist, den String "Joe's Widgets" zu maskieren.
$result = pg_query_params($dbconn, 'SELECT * FROM shops WHERE name = $1', array("Joe's Widgets"));

// Vergleich mit pg_query
$str = pg_escape_string("Joe's Widgets");
$result = pg_query($dbconn, "SELECT * FROM shops WHERE name = '{$str}'");

?>

Siehe auch

  • pg_query() - Führt eine Abfrage aus

pg_put_line
pg_query
PostgreSQL-Funktionen


Führt eine Abfrage aus

pg_query_params
pg_result_error_field
PostgreSQL-Funktionen
PHP Manual

pg_query

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_query — Führt eine Abfrage aus

Beschreibung

resource pg_query ([ resource $connection ], string $query )

pg_query() führt die query auf der angegebenen Datenbank-connection aus. In der Regel sollte pg_query_params() bevorzugt werden.

Falls ein Fehler auftritt und FALSE zurückgegeben wird, können Sie Details zu diesem Fehler mit pg_last_error() anzeigen, vorausgesetzt, die Verbindungskennung ist gültig.

Hinweis: Obwohl der Parameter connection weggelassen werden kann, ist dies nicht empfehlenswert, da es die Fehlersuche in Skripten erschweren kann.

Hinweis:

Diese Funktion ersetzt die Funktion pg_exec(). pg_exec() wird aus Gründen der Kompatibilität immer noch unterstützt, es wird jedoch empfohlen, den neuen Funktionsnamen zu verwenden.

Parameter-Liste

connection

PostgreSQL Verbindungskennung. Falls connection nicht angegeben wurde, wird die zuletzt mit pg_connect() oder pg_pconnect() geöffnete Verbindung benutzt.

query

Die auszuführende(n) SQL-Anweisung(en). Werden mehrere Anweisungen an pg_query() übergeben, werden sie automatisch in einer einzigen Transaktion ausgeführt, es sei denn, die Anweisungsfolge enthält explizite BEGIN/COMMIT Anweisungen. Von der Ausführung mehrerer Transaktionen innerhalb eines Funktionsaufrufs wird abgeraten.

Warnung

String-Interpolation von Anwenderdaten ist sehr gefährlich, und führt wahrscheinlich zu SQL-Injection Sicherheistlücken. In der Regel sollte pg_query_params() bevorzugt werden, wobei Anwenderdaten als Parameter übergeben werden anstatt sie in der Abfragezeichenkette zu ersetzen.

Jegliche Anwenderdaten, die direkt in eine Abfragezeichenkette interpoliert werden, sollten ordnungsgemäß maskiert werden.

Rückgabewerte

Bei Erfolg wird eine Ergebniskennung für die Abfrage zurückgegeben. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pg_query() Beispiel

<?php

$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "Ein Fehler ist aufgetreten.\n";
  exit;
}

$result = pg_query($conn, "SELECT author, email FROM authors");
if (!$result) {
  echo "Ein Fehler ist aufgetreten.\n";
  exit;
}

while ($row = pg_fetch_row($result)) {
  echo "Autor: $row[0]  E-Mail: $row[1]";
  echo "<br />\n";
}

?>

Beispiel #2 pg_query() mit mehreren Anweisungen

<?php

$conn = pg_pconnect("dbname=publisher");

// diese Anweisungen werden in einer einzigen Transaktion ausgeführt.

$query = "UPDATE authors SET author=UPPER(author) WHERE id=1;";
$query .= "UPDATE authors SET author=LOWER(author) WHERE id=2;";
$query .= "UPDATE authors SET author=NULL WHERE id=3;";

pg_query($conn, $query);

?>

Siehe auch

  • pg_connect() - Öffnet eine PostgreSQL-Verbindung
  • pg_pconnect() - Öffnet eine persistente PostgreSQL-Verbindung
  • pg_fetch_array() - Holt eine Zeile als Array
  • pg_fetch_object() - Holt einen Datensatz als Objekt
  • pg_num_rows() - Gibt die Anzahl der Zeilen in einem Abfrageergebnis zurück
  • pg_affected_rows() - Gibt die Anzahl betroffener Datensätze (Tupel) zurück

pg_query_params
pg_result_error_field
PostgreSQL-Funktionen


Gibt den Inhalt eines bestimmtes Feldes zu einer Fehlermeldung zurück

pg_query
pg_result_error
PostgreSQL-Funktionen
PHP Manual

pg_result_error_field

(PHP 5 >= 5.1.0, PHP 7)

pg_result_error_field — Gibt den Inhalt eines bestimmtes Feldes zu einer Fehlermeldung zurück

Beschreibung

string pg_result_error_field ( resource $result , int $fieldcode )

pg_result_error_field() gibt ein Feld der ausführlichen Fehlerbeschreibung zurück, die mit der Ergebniskennung result verbunden ist. Die Funktion wird nur für Verbindungen zu PostgreSQL ab der Version 7.4 unterstützt. Das gewünschte Feld wird im Parameter fieldcode übergeben.

Da pg_query() und pg_query_params() FALSE zurückgeben, wenn eine Abfrage fehlschlägt, müssen Sie pg_send_query() und pg_get_result() benutzen, um eine Ergebniskennung zu erhalten.

Falls Sie weitergehende Informationen über einen aufgetretenen Fehler bei pg_query() brauchen, können Sie pg_set_error_verbosity() oder pg_last_error() aufrufen und deren Ergebnisse analysieren.

Parameter-Liste

result

Die Ergebniskennung einer vorhergehenden PostgreSQL-Abfrage.

fieldcode

Mögliche Werte von fieldcode sind: PGSQL_DIAG_SEVERITY, PGSQL_DIAG_SQLSTATE, PGSQL_DIAG_MESSAGE_PRIMARY, PGSQL_DIAG_MESSAGE_DETAIL, PGSQL_DIAG_MESSAGE_HINT, PGSQL_DIAG_STATEMENT_POSITION, PGSQL_DIAG_INTERNAL_POSITION (nur PostgreSQL ab Version 8.0), PGSQL_DIAG_INTERNAL_QUERY (nur PostgreSQL ab Version 8.0), PGSQL_DIAG_CONTEXT, PGSQL_DIAG_SOURCE_FILE, PGSQL_DIAG_SOURCE_LINE or PGSQL_DIAG_SOURCE_FUNCTION.

Rückgabewerte

Ein string, der den Inhalt des Fehlerfeldes enthält, oder NULL, falls das Feld nicht existiert. Bei einem Fehler wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pg_result_error_field()-Beispiel

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Konnte nicht verbinden.");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from doesnotexist;");
  }

  $res1 = pg_get_result($dbconn);
  echo pg_result_error_field($res1, PGSQL_DIAG_SQLSTATE);
?>

Siehe auch

  • pg_result_error() - Gibt die mit der Ergebniskennung verknüpfte Fehlermeldung zurück

pg_query
pg_result_error
PostgreSQL-Funktionen


Gibt die mit der Ergebniskennung verknüpfte Fehlermeldung zurück

pg_result_error_field
pg_result_seek
PostgreSQL-Funktionen
PHP Manual

pg_result_error

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_result_error — Gibt die mit der Ergebniskennung verknüpfte Fehlermeldung zurück

Beschreibung

string pg_result_error ( resource $result )

pg_result_error() gibt alle Fehlermeldungen zurück, die mit der Ergebniskennung result verknüpft ist. Aus diesem Grund bekommt man mit pg_result_error() viel eher eine korrekte Fehlermeldung als mit pg_last_error().

Mit pg_result_error_field() bekommt man weitaus genauere Informationen über Fehler als mit pg_result_error().

Weil pg_query() bei einem Fehlschlag nur FALSE zurückgibt, muss man pg_send_query() und pg_get_result() benutzen, um die Ergebniskennung zu erhalten.

Parameter-Liste

result

PostgreSQL Eergebniskennung, die (unter anderem) von pg_query(), pg_query_params() oder pg_execute() zurückgegeben wurde.

Rückgabewerte

Gibt einen string zurück. Ist kein Fehler aufgetreten, ist dies eine leere Zeichenkette. Falls ein Fehler mit dem Parameter result verknüpft ist wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pg_result_error() Beispiel

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Konnte nicht verbinden");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from doesnotexist;");
  }

  $res1 = pg_get_result($dbconn);
  echo pg_result_error($res1);
?>

Siehe auch

  • pg_result_error_field() - Gibt den Inhalt eines bestimmtes Feldes zu einer Fehlermeldung zurück
  • pg_query() - Führt eine Abfrage aus
  • pg_send_query() - Sendet eine asynchrone Abfrage
  • pg_get_result() - Gibt asynchrone Abfrageergebnisse zurück
  • pg_last_error() - Gibt die letzte Fehlermeldung einer Verbindung zurück
  • pg_last_notice() - Gibt die letzte NOTICE-Meldung des PostgreSQL-Servers zurück

pg_result_error_field
pg_result_seek
PostgreSQL-Funktionen


Setzt den internen Datensatzzeiger auf die angegebene Position in einem Abfrageergebnis

pg_result_error
pg_result_status
PostgreSQL-Funktionen
PHP Manual

pg_result_seek

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

pg_result_seek — Setzt den internen Datensatzzeiger auf die angegebene Position in einem Abfrageergebnis

Beschreibung

bool pg_result_seek ( resource $result , int $offset )

pg_result_seek() setzt den internen Datensatzzeiger auf die angegebene Zeile in einem Abfrageergebnis.

Parameter-Liste

result

PostgreSQL Ergebniskennung, die (unter anderem) von pg_query(), pg_query_params() oder pg_execute() zurückgegeben wurde.

offset

Zeile in result, auf die der interne Datensatzzeiger gesetzt werden soll. Die Zeilennummern beginnen bei null.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pg_result_seek() Beispiel

<?php

// Zur Datenbank verbinden
$conn = pg_pconnect("dbname=publisher");

// Eine Abfrage ausführen
$result = pg_query($conn, "SELECT author, email FROM authors");

// Den Zeiger auf die dritte Zeile setzen (vorausgesetzt, es gibt 3 Zeilen)
pg_result_seek($result, 2);

// Die dritte Zeile lesen
$row = pg_fetch_row($result);

?>

Siehe auch

  • pg_fetch_row() - Holt einen Datensatz als numerisches Array
  • pg_fetch_assoc() - Holt eine Zeile als assoziatives Array
  • pg_fetch_array() - Holt eine Zeile als Array
  • pg_fetch_object() - Holt einen Datensatz als Objekt
  • pg_fetch_result() - Liefert Werte aus einer Ergebnismenge

pg_result_error
pg_result_status
PostgreSQL-Funktionen


Gibt den Status eines Abfrageergebnisses zurück

pg_result_seek
pg_select
PostgreSQL-Funktionen
PHP Manual

pg_result_status

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_result_status — Gibt den Status eines Abfrageergebnisses zurück

Beschreibung

mixed pg_result_status ( resource $result [, int $type = PGSQL_STATUS_LONG ] )

pg_result_status() gibt den Status eines Abfrageergebnisses zurück oder das mit dem Ergebnis verknüpfte PostgreSQL Kommando-Tag, wenn die Abfrage erfolgreich war.

Parameter-Liste

result

PostgreSQL Ergebniskennung, die (unter anderem) von den
Funktionen pg_query(),
pg_query_params() oder
pg_execute() zurückgegeben wurde.

type

Entweder PGSQL_STATUS_LONG, um die Statusnummer von result zu erhalten, oder PGSQL_STATUS_STRING, um das PostgreSQL Kommando-Tag für das result zu erhalten. Falls nichts angegeben wurde, wird der Vorgabewert PGSQL_STATUS_LONG zurückgegeben.

Rückgabewerte

Mögliche Rückgabewerte sind PGSQL_EMPTY_QUERY, PGSQL_COMMAND_OK, PGSQL_TUPLES_OK, PGSQL_COPY_OUT, PGSQL_COPY_IN, PGSQL_BAD_RESPONSE, PGSQL_NONFATAL_ERROR und PGSQL_FATAL_ERROR, falls PGSQL_STATUS_LONG angegeben wurde. Anderenfalls wird ein string zurückgegeben, der das PostgreSQL Kommando-Tag enthält.

Beispiele

Beispiel #1 pg_result_status() Beispiel

<?php

// Zur Datenbank verbinden
$conn = pg_pconnect("dbname=publisher");

// Eine Abfrage ausführen
$result = pg_query($conn, "COPY authors FROM STDIN;");

// Den Status des Abfrageergebnisses holen
$status = pg_result_status($result);

// Den Status ermitteln
if ($status == PGSQL_COPY_IN)
   echo "Copy begonnen.";
else
   echo "Copy fehlgeschlagen.";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Copy begonnen.

Siehe auch

  • pg_connection_status() - Gibt den Verbindungsstatus zurück

pg_result_seek
pg_select
PostgreSQL-Funktionen


Wählt Datensätze aus

pg_result_status
pg_send_execute
PostgreSQL-Funktionen
PHP Manual

pg_select

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

pg_select — Wählt Datensätze aus

Beschreibung

mixed pg_select ( resource $connection , string $table_name , array $assoc_array [, int $options = PGSQL_DML_EXEC ] )

pg_select() wählt die Datensätze aus der Tabelle table_name aus, die den Elementen (field=>value) in assoc_array entsprechen. Wenn die Abfrage erfolgreich war, wird ein assoziatives Array mit allen Zeilen und Werten aus table_name zurückgegeben, die mit den Zeilen und Werten in assoc_array identisch sind.

Falls options angegeben wurde, wird pg_convert() mit den angegebenen Flags auf assoc_array angewendet.

Parameter-Liste

connection

PostgreSQL Verbindungskennung.

table_name

Name der Tabelle, aus der die Zeilen ausgewählt werden.

assoc_array

Ein array, dessen Schlüssel Feldnamen von table_name sind und dessen Werte mit den entsprechenden Werten in table_name übereinstimmen müssen, damit die Zeile zurückgegeben werden kann.

options

Eine beliebige Kombination aus PGSQL_CONV_FORCE_NULL, PGSQL_DML_NO_CONV, PGSQL_DML_ESCAPE, PGSQL_DML_EXEC, PGSQL_DML_ASYNC oder PGSQL_DML_STRING. Falls PGSQL_DML_STRING in den options enthalten ist, wird der Abfragestring zurückgegeben. Werden PGSQL_DML_NO_CONV oder PGSQL_DML_ESCAPE angegeben, wird pg_convert() intern nicht aufgerufen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. Gibt einen string zurück, falls PGSQL_DML_STRING im Parameter options übergeben wurde.

Beispiele

Beispiel #1 pg_select() Beispiel

<?php
  $db = pg_connect('dbname=foo');
  // Das ist sicher, da $_POST automatisch konvertiert wird
  $rec = pg_select($db, 'post_log', $_POST);
  if ($rec) {
      echo "Datensätze ausgewählt\n";
      var_dump($rec);
  } else {
      echo "Falsche Eingabe\n";
  }
?>

Changelog

Version | Beschreibung
5.6.0 | Nicht länger experimentell. Die PGSQL_DML_ESCAPE Konstante wurde hinzugefügt, wie auch Unterstützung für TRUE/FALSE und NULL Datentypen.
5.5.3/5.4.19 | Direkte SQL-Injection in table_name und indirekte SQL-Injection in Bezeichner wurden behoben.

Siehe auch

  • pg_convert() - Konvertiert die Werte eines assoziativen Arrays in passende Werte für SQL-Kommandos.

pg_result_status
pg_send_execute
PostgreSQL-Funktionen


Sendet eine Aufforderung an den Server, eine vorbereitete Abfrage mit den übergebenen Parametern auszuführen, ohne auf die Ergebnisse zu warten.

pg_select
pg_send_prepare
PostgreSQL-Funktionen
PHP Manual

pg_send_execute

(PHP 5 >= 5.1.0, PHP 7)

pg_send_execute — Sendet eine Aufforderung an den Server, eine vorbereitete Abfrage mit den übergebenen Parametern auszuführen, ohne auf die Ergebnisse zu warten.

Beschreibung

bool pg_send_execute ( resource $connection , string $stmtname , array $params )

Sendet eine Aufforderung an den Server, eine vorbereitete Anfrage mit den übergebenen Parametern auszuführen, ohne auf die Ergebnisse zu warten.

Dies ist ähnlich, wie die Funktion pg_send_query_params(), nur dass das auszuführende Kommando eine zuvor benannte vorbereitete Abfrage ist und kein Abfragestring. Die Parameter der Funktion werden genauso verarbeitet, wie bei der Funktion pg_execute() beschrieben und genau wie diese kann pg_send_execute() nicht mit PostgreSQL Versionen vor 7.4 benutzet werden.

Parameter-Liste

connection

PostgreSQL Verbindungkennung. Falls connection nicht angegeben wurde, wird die zuletzt mit pg_connect() oder pg_pconnect() geöffnete Verbindung benutzt.

stmtname

Der Name der auszuführenden vorbereiteten Abfrage. Falls "" angegeben wird, wird eine unbenannte Abfrage ausgeführt. Der Name muss zuvor mit pg_prepare(), pg_send_prepare() oder dem SQL-Kommando PREPARE definiert worden sein.

params

Ein Array mit Parameterwerten, mit denen die Platzhalter $1, $2 usw. in der ursprünglichen vorbereiteten Abfrage ersetzt werden. Die Anzahl der Elemente dieses Arrays muss mit der Anzahl der Platzhalter übereinstimmen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück oder FALSE, falls ein Fehler auftrat. Verwenden Sie pg_get_result(), um das Abfrageergebnis zu erhalten.

Beispiele

Beispiel #1 pg_send_execute() benutzen:

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Konnte nicht verbinden");

  // Abfrage vorbereiten
  if (!pg_connection_busy($dbconn)) {
    pg_send_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');
    $res1 = pg_get_result($dbconn);
  }

  // Die vorbereitete Abfrage ausführen. Beachten Sie, dass es
  // nicht nötig ist, den String "Joe's Widgets" zu maskieren
  if (!pg_connection_busy($dbconn)) {
    pg_send_execute($dbconn, "my_query", array("Joe's Widgets"));
    $res2 = pg_get_result($dbconn);
  }

  // Dieselbe vorbereitete Abfrage, diesmal mit einem anderen Parameter.
  if (!pg_connection_busy($dbconn)) {
    pg_send_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));
    $res3 = pg_get_result($dbconn);
  }

?>

Siehe auch

  • pg_prepare() - Sendet eine Aufforderung an den Server, eine vorbereitete Anfrage mit den übergebenen Parametern zu erzeugen und wartet auf ihre Beendigung.
  • pg_send_prepare() - Sendet eine Aufforderung an den Server, eine vorbereitete Abfrage mit den übergebenen Parametern zu erzeugen, ohne auf ihre Beendigung zu warten.
  • pg_execute() - Fordert den Datenankserver auf, eine vorbereitete Anfrage mit den angegebenen Parametern auszuführen und wartet auf das Ergebnis

pg_select
pg_send_prepare
PostgreSQL-Funktionen


Sendet eine Aufforderung an den Server, eine vorbereitete Abfrage mit den übergebenen Parametern zu erzeugen, ohne auf ihre Beendigung zu warten.

pg_send_execute
pg_send_query_params
PostgreSQL-Funktionen
PHP Manual

pg_send_prepare

(PHP 5 >= 5.1.0, PHP 7)

pg_send_prepare — Sendet eine Aufforderung an den Server, eine vorbereitete Abfrage mit den übergebenen Parametern zu erzeugen, ohne auf ihre Beendigung zu warten.

Beschreibung

bool pg_send_prepare ( resource $connection , string $stmtname , string $query )

Sendet eine Aufforderung an den Server, eine vorbereitete Anfrage mit den übergebenen Parametern zu erzeugen, ohne auf ihre Beendigung zu warten.

Dies ist eine asynchrone Version von pg_prepare(): Sie gibt TRUE zurück, falls es möglich war, die Aufforderung abzusenden, ansonsten FALSE. Nach einem erfolgreichen Absenden rufen Sie pg_get_result() auf, um festzustellen, ob der Server die vorbereitete Abfrage erfolgreich erzeugt hat. Die Parameter der Funktion werden genauso verarbeitet, wie bei der Funktion pg_prepare() beschrieben und genau wie diese kann pg_send_prepare() nicht mit PostgreSQL Versionen vor 7.4 benutzet werden.

Parameter-Liste

connection

PostgreSQL Verbindungskennung. Falls connection nicht angegeben wurde, wird die zuletzt mit pg_connect() oder pg_pconnect() geöffnete Verbindung benutzt.

stmtname

Der Name der vorbereiteten Abfrage. Dieser Name muss in der aktuellen Datenbanksitzung eindeutig sein. Falls "" angegeben wird, wird eine unbenannte Abfrage erzeugt, die alle zuvor definierten unbenannten Abfragen überschreibt.

query

Die parametrisierte Abfrage. Diese darf nur ein einziges SQL-Kommando enthalten (mehrere Kommandos, durch Semikolon getrennt, sind nicht zulässig). Falls Parameter übergeben werden, werden sie als $1, $2, ... referenziert.

Rückgabewerte

Gibt bei Erfolg TRUE zurück, und FALSE, falls ein Fehler auftrat. Benutzen Sie pg_get_result(), um das Abfrageergebnis zu erhalten.

Beispiele

Beispiel #1 pg_send_prepare() Beispiel

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Konnte nicht verbinden");

  // Eine Abfrage vorbereiten
  if (!pg_connection_busy($dbconn)) {
    pg_send_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');
    $res1 = pg_get_result($dbconn);
  }

  // die vorbereitete Abfrage ausführen. Beachten Sie, dass es
  // nicht nötig ist, den String "Joe's Widgets" zu maskieren
  if (!pg_connection_busy($dbconn)) {
    pg_send_execute($dbconn, "my_query", array("Joe's Widgets"));
    $res2 = pg_get_result($dbconn);
  }

  // Dieselbe vorbereitete Abfrage, diesmal mit einem anderen Parameter.
  if (!pg_connection_busy($dbconn)) {
    pg_send_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));
    $res3 = pg_get_result($dbconn);
  }

?>

Siehe auch

  • pg_connect() - Öffnet eine PostgreSQL-Verbindung
  • pg_pconnect() - Öffnet eine persistente PostgreSQL-Verbindung
  • pg_execute() - Fordert den Datenankserver auf, eine vorbereitete Anfrage mit den angegebenen Parametern auszuführen und wartet auf das Ergebnis
  • pg_send_execute() - Sendet eine Aufforderung an den Server, eine vorbereitete Abfrage mit den übergebenen Parametern auszuführen, ohne auf die Ergebnisse zu warten.
  • pg_send_query_params() - Sendet ein Kommando und separate Parameter zum Server, ohne auf die Rückgabe der Ergebnisse zu warten

pg_send_execute
pg_send_query_params
PostgreSQL-Funktionen


Sendet ein Kommando und separate Parameter zum Server, ohne auf die Rückgabe der Ergebnisse zu warten

pg_send_prepare
pg_send_query
PostgreSQL-Funktionen
PHP Manual

pg_send_query_params

(PHP 5 >= 5.1.0, PHP 7)

pg_send_query_params — Sendet ein Kommando und separate Parameter zum Server, ohne auf die Rückgabe der Ergebnisse zu warten

Beschreibung

bool pg_send_query_params ( resource $connection , string $query , array $params )

Sendet ein Kommando und separate Parameter zum Server ohne auf die Rückgabe der Ergebnisse zu warten.

Diese Funktion ist gleichwertig zu pg_send_query() mit dem Unterschied, dass Parameter für die Abfrage außerhalb des query-Strings übergeben werden können. Diese Parameter werden genauso verarbeitet, wie bei pg_query_params() beschrieben. Genau wie pg_query_params() kann diese Funktion nur mit PostgreSQL ab der Version 7.4 verwendet werden und es darf nur ein einziges Kommando im Abfragestring enthalten sein.

Parameter-Liste

connection

PostgreSQL-Verbindungskennung.

query

Die parametrisierte Abfrage. Diese darf nur ein einziges SQL-Kommando enthalten (mehrere Kommandos, durch Semikolon getrennt, sind nicht zulässig). Falls Parameter übergeben werden, werden sie als $1, $2, ... referenziert.

params

Ein Array mit Parameterwerten, mit denen die Platzhalter $1, $2 usw. in der ursprünglichen vorbereiteten Abfrage ersetzt werden. Die Anzahl der Elemente dieses Arrays muss mit der Anzahl der Platzhalter übereinstimmen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Benutzen Sie pg_get_result(), um das Abfrageergebnis zu erhalten.

Beispiele

Beispiel #1 pg_send_query_params()-Beispiel

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Konnte nicht verbinden");

  // Die Parameter benutzen: Beachten Sie, dass es
  // nicht nötig ist, diese zu maskieren.
  pg_send_query_params($dbconn, 'select count(*) from authors where city = $1', array('Perth'));

  // Zum Vergleich: die Funktion pg_send_query
  $str = pg_escape_string('Perth');
  pg_send_query($dbconn, "select count(*) from authors where city = '${str}'");
?>

Siehe auch

  • pg_send_query() - Sendet eine asynchrone Abfrage

pg_send_prepare
pg_send_query
PostgreSQL-Funktionen


Sendet eine asynchrone Abfrage

pg_send_query_params
pg_set_client_encoding
PostgreSQL-Funktionen
PHP Manual

pg_send_query

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_send_query — Sendet eine asynchrone Abfrage

Beschreibung

bool pg_send_query ( resource $connection , string $query )

pg_send_query() sendet eine oder mehrere asynchrone Abfragen über die Verbindung connection. Im Unterschied zu pg_query() können hier mehrere Abfragen auf einmal an PostgreSQL gesendet und die Ergebnisse nacheinander mit pg_get_result() geholt werden.

Die Ausführung eines Skripts wird während der Abarbeitung der Anfragen nicht blockiert. Benutzen Sie die Funktion pg_connection_busy() um zu prüfen, ob die Verbindung gerade benutzt wird (z.B. ob gerade eine Abfrage ausgeführt wird). Mit der Funktion pg_cancel_query() können Abfragen gelöscht werden.

Obwohl man mehrere Abfragen auf einmal an den Server senden kann, können die Abfragen nicht über eine gerade benutzte Verbindung geschickt werden. Falls eine Abfrage gesendet wird, während die Verbindung benutzt wird, wird abgewartet, bis die letzte Abfrage fertig ist und alle Ergebnisse werden verworfen.

Parameter-Liste

connection

PostgreSQL Verbindungkennung.

query

Das oder die SQL-Anweisung(en), die ausgeführt werden sollen.

Daten innerhalb der Abfrage sollten ordnungsgemäß maskiert sein.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Benutzen Sie pg_get_result() um die Abfrageergebnisse zu ermitteln.

Beispiele

Beispiel #1 pg_send_query() Beispiel

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Verbindungsaufbau fehlgeschlagen");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from authors; select count(*) from authors;");
  }

  $res1 = pg_get_result($dbconn);
  echo "Der erste Aufruf von pg_get_result(): $res1\n";
  $rows1 = pg_num_rows($res1);
  echo "$res1 hat $rows1 Zeilen\n\n";

  $res2 = pg_get_result($dbconn);
  echo "Der zweite Aufruf von pg_get_result(): $res2\n";
  $rows2 = pg_num_rows($res2);
  echo "$res2 hat $rows2 Zeilen\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Der erste Aufruf von pg_get_result(): Resource id #3
Resource id #3 hat 3 Zeilen

Der zweite Aufruf von pg_get_result(): Resource id #4
Resource id #4 hat 1 Zeilen

Siehe auch

  • pg_query() - Führt eine Abfrage aus
  • pg_cancel_query() - Löscht eine asynchrone Abfrage
  • pg_get_result() - Gibt asynchrone Abfrageergebnisse zurück
  • pg_connection_busy() - Gibt den Status der Verbindung zurück (busy/not busy)

pg_send_query_params
pg_set_client_encoding
PostgreSQL-Funktionen


Setzt die Kodierung des Clients

pg_send_query
pg_set_error_verbosity
PostgreSQL-Funktionen
PHP Manual

pg_set_client_encoding

(PHP 4 >= 4.0.3, PHP 5, PHP 7)

pg_set_client_encoding — Setzt die Kodierung des Clients

Beschreibung

int pg_set_client_encoding ([ resource $connection ], string $encoding )

pg_set_client_encoding() setzt die Kodierung des Clients und gibt bei Erfolg 0 zurück, anderenfalls -1.

PostgreSQL konvertiert Daten automatisch aus der Kodierung des Backends in die des Frontends.

Hinweis:

Diese Funktion ersetzt die Funktion pg_setclientencoding().

Parameter-Liste

connection

PostgreSQL Verbindungskennung. Falls connection nicht angegeben wurde, wird die zuletzt mit pg_connect() oder pg_pconnect() geöffnete Verbindung benutzt.

encoding

Die gewünschte Kodierung des Clients. Sie können aus den folgenden Kodierungen wählen: SQL_ASCII, EUC_JP, EUC_CN, EUC_KR, EUC_TW, UNICODE, MULE_INTERNAL, LATINX (X=1...9), KOI8, WIN, ALT, SJIS, BIG5 or WIN1250.

Welche Kodierungen genau verfügbar sind, hängt von der verwendeten PostgreSQL-Version ab. Schauen Sie daher im PostgreSQL-Handbuch, welche Kodierungen unterstützt werden.

Rückgabewerte

Gibt bei Erfolg 0 zurück oder -1 bei einem Fehler.

Beispiele

Beispiel #1 pg_set_client_encoding() Beispiel

<?php

$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "Ein Fehler ist aufgetreten.\n";
  exit;
}

// Die Kodierung des Clients wird auf UNICODE gesetzt. Die Daten werden
// automatisch aus der Kodierung des Backends nach UNICODE konvertiert.
pg_set_client_encoding($conn, UNICODE);

$result = pg_query($conn, "SELECT author, email FROM authors");
if (!$result) {
  echo "Ein Fehler ist aufgetreten.\n";
  exit;
}

// UTF-8 Daten ausgeben
while ($row = pg_fetch_row($result)) {
  echo "Autor: $row[0]  E-mail: $row[1]";
  echo "<br />\n";
}

?>

Siehe auch

  • pg_client_encoding() - Gibt die Kodierung des Clients zurück

pg_send_query
pg_set_error_verbosity
PostgreSQL-Funktionen


Bestimmt den Detaillierungsgrad von Fehlermeldungen, die von pg_last_error und pg_result_error zurückgegeben werden.

pg_set_client_encoding
pg_socket
PostgreSQL-Funktionen
PHP Manual

pg_set_error_verbosity

(PHP 5 >= 5.1.0, PHP 7)

pg_set_error_verbosity — Bestimmt den Detaillierungsgrad von Fehlermeldungen, die von pg_last_error() und pg_result_error() zurückgegeben werden.

Beschreibung

int pg_set_error_verbosity ([ resource $connection ], int $verbosity )

Bestimmt den Detaillierungsgrad von Fehlermeldungen, die von pg_last_error() und pg_result_error() zurückgegeben werden.

pg_set_error_verbosity() setzt einen neuen Modus für Fehlermeldungen und gibt die zuvor gesetzte Einstellung zurück. Im Modus PGSQL_ERRORS_TERSE enthalten die Meldungen nur Angaben über den Detaillierungsgrad, einen Kurztext, sowie die Position des Fehlers. Dies passt normalerweise in eine Zeile. Im Standard-Modus, PGSQL_ERRORS_DEFAULT, wird das obige samt aller Einzelheiten, Hinweise oder Kontextfelder des Fehlers ausgegeben (was mehrere Zeilen in Anspruch nehmen kann). Der Modus PGSQL_ERRORS_VERBOSE schließt alle verfügbaren Felder ein. Eine Änderung des Detaillierungsgrads hat keine Auswirkung auf Meldungen bereits existierender Ergebnisse, sondern nur auf die, die danach erzeugt wurden.

Parameter-Liste

connection

PostgreSQL Verbindungskennung. Falls connection nicht angegeben wurde, wird die zuletzt mit pg_connect() oder pg_pconnect() geöffnete Verbindung benutzt.

verbosity

Der gewünschte Detaillierungsgrad: PGSQL_ERRORS_TERSE, PGSQL_ERRORS_DEFAULT oder PGSQL_ERRORS_VERBOSE.

Rückgabewerte

Der vorher eingestellte Detaillierungsgrad: PGSQL_ERRORS_TERSE, PGSQL_ERRORS_DEFAULT oder PGSQL_ERRORS_VERBOSE.

Beispiele

Beispiel #1 pg_set_error_verbosity() Beispiel

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Konnte nicht verbinden");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from doesnotexist;");
  }

  pg_set_error_verbosity($dbconn, PGSQL_ERRORS_VERBOSE);
  $res1 = pg_get_result($dbconn);
  echo pg_result_error($res1);
?>

Siehe auch

  • pg_last_error() - Gibt die letzte Fehlermeldung einer Verbindung zurück
  • pg_result_error() - Gibt die mit der Ergebniskennung verknüpfte Fehlermeldung zurück

pg_set_client_encoding
pg_socket
PostgreSQL-Funktionen


Get a read only handle to the socket underlying a PostgreSQL connection

pg_set_error_verbosity
pg_trace
PostgreSQL-Funktionen
PHP Manual

pg_socket

(PHP 5 >= 5.6.0, PHP 7)

pg_socket — Get a read only handle to the socket underlying a PostgreSQL connection

Beschreibung

resource pg_socket ( resource $connection )

pg_socket() returns a read only resource corresponding to the socket underlying the given PostgreSQL connection.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

connection

PostgreSQL database connection resource.

Rückgabewerte

A socket resource on successIm Fehlerfall wird FALSE zurückgegeben..

pg_set_error_verbosity
pg_trace
PostgreSQL-Funktionen


Ermöglicht die Ablaufverfolgung einer Verbindung

pg_socket
pg_transaction_status
PostgreSQL-Funktionen
PHP Manual

pg_trace

(PHP 4 >= 4.0.1, PHP 5, PHP 7)

pg_trace — Ermöglicht die Ablaufverfolgung einer Verbindung

Beschreibung

bool pg_trace ( string $pathname [, string $mode = "w" [, resource $connection ]] )

pg_trace() ermöglicht die Protokollierung der frontend/backend Kommunikation in eine Datei, die durch den Pfadnamen pathname bestimmt wurde. Um die Ergebnisse ganz zu verstehen, sollte man sich mit den Interna des PostgreSQL-Kommunikationsprotokolls auskennen.

Für diejenigen, die sich damit nicht auskennen kann es trotzdem hilfreich sein, um Fehler in Abfragen zu finden, die an den Server gesendet wurden. Beispielsweise können Sie das Kommando grep '^To backend' trace.log eingeben und schauen, welche Abfrage gerade an den PostgreSQL Server geschickt wurde. Weitere Informationen finden Sie in der » PostgreSQL Documentation.

Parameter-Liste

pathname

Der vollständige Pfad- und Dateiname der Datei, in die das Ablauf-Protokoll geschrieben werden soll. Genau wie bei fopen().

mode

Optional kann ein Zugriffsmodus übergeben werden, genauso wie bei fopen().

connection

PostgreSQL Verbindungskennung. Falls connection nicht angegeben wurde, wird die zuletzt mit pg_connect() oder pg_pconnect() geöffnete Verbindung benutzt.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pg_trace() Beispiel

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

if ($pgsql_conn) {
   pg_trace('/tmp/trace.log', 'w', $pgsql_conn);
   pg_query("SELECT 1");
   pg_untrace($pgsql_conn);
   // Jetzt enthält  /tmp/trace.log die Kommunikation mit dem Server
} else {
   print pg_last_error($pgsql_conn);
   exit;
}
?>

Siehe auch

  • fopen() - Öffnet eine Datei oder URL
  • pg_untrace() - Beendet die Ablaufverfolgung einer PostgreSQL-Verbindung

pg_socket
pg_transaction_status
PostgreSQL-Funktionen


Gibt den aktuellen Transaktionsstatus des Servers zurück

pg_trace
pg_tty
PostgreSQL-Funktionen
PHP Manual

pg_transaction_status

(PHP 5 >= 5.1.0, PHP 7)

pg_transaction_status — Gibt den aktuellen Transaktionsstatus des Servers zurück

Beschreibung

int pg_transaction_status ( resource $connection )

Gibt den aktuellen Transaktionsstatus des Servers zurück.

Achtung

Die Funktion pg_transaction_status() gibt ungültige Ergebnisse zurück, wenn sie für einen PostgreSQL-Server der Version 7.3 aufgerufen wird, bei dem der Parameter autocommit auf off gesetzt ist. Die serverseitige Eigenschaft autocommit ist veraltet und existiert in den neueren PostgreSQL-Versionen nicht mehr.

Parameter-Liste

connection

PostgreSQL-Verbindungskennung.

Rückgabewerte

Mögliche Stati sind: PGSQL_TRANSACTION_IDLE (zur Zeit untätig), PGSQL_TRANSACTION_ACTIVE (ein Kommando wird abgearbeitet), PGSQL_TRANSACTION_INTRANS (untätig, aber innerhalb eines gültigen Transaktionsblocks) oder PGSQL_TRANSACTION_INERROR (untätig, innerhalb einer fehlgeschlagenen Transaktion). PGSQL_TRANSACTION_UNKNOWN wird zurückgegeben, falls eine Transaktion ungültig ist. PGSQL_TRANSACTION_ACTIVE wird nur dann zurückgegeben, wenn eine Abfrage zum Server gesendet wurde und noch nicht fertig abgearbeitet ist.

Beispiele

Beispiel #1 pg_transaction_status()-Beispiel

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Konnte nicht verbinden");
  $stat = pg_transaction_status($dbconn);
  if ($stat === PGSQL_TRANSACTION_UNKNOWN) {
      echo 'Verbindung ist ungültig';
  } else if ($stat === PGSQL_TRANSACTION_IDLE) {
      echo 'Verbindung ist zur Zeit untätig';
  } else {
      echo 'Verbindung meldet eine Transaktion';
  }
?>

pg_trace
pg_tty
PostgreSQL-Funktionen


Gibt den TTY Namen für die Verbindung zurück

pg_transaction_status
pg_unescape_bytea
PostgreSQL-Funktionen
PHP Manual

pg_tty

(PHP 4, PHP 5, PHP 7)

pg_tty — Gibt den TTY Namen für die Verbindung zurück

Beschreibung

string pg_tty ([ resource $connection ] )

pg_tty() gibt den TTY Namen zurück, wohin Debug-Meldungen der übergebenen connection gesendet werden.

Hinweis:

pg_tty() ist überflüssig geworden, da der Server TTY Einstellungen ignoriert. Wegen der Abwärtskompatibilität bleibt die Funktion dennoch erhalten.

Parameter-Liste

connection

PostgreSQL Verbindungkennung. Falls connection nicht angegeben wurde, wird die zuletzt mit pg_connect() oder pg_pconnect() geöffnete Verbindung benutzt.

Rückgabewerte

Ein string, der die TTY Debugmeldungen für die connection enthält oder FALSE, falls ein Fehler auftrat.

Beispiele

Beispiel #1 pg_tty() Beispiel

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

if ($pgsql_conn) {
   print "TTY Debugmeldung des Servers: " . pg_tty($pgsql_conn) . "<br/>\n";
} else {
   print pg_last_error($pgsql_conn);
   exit;
}
?>

pg_transaction_status
pg_unescape_bytea
PostgreSQL-Funktionen


Entfernt Maskierungen für den Typ bytea

pg_tty
pg_untrace
PostgreSQL-Funktionen
PHP Manual

pg_unescape_bytea

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

pg_unescape_bytea — Entfernt Maskierungen für den Typ bytea

Beschreibung

string pg_unescape_bytea ( string $data )

pg_unescape_bytea() entfernt Maskierungen von Daten des PostgreSQL-Typs bytea. Zurückgegeben wird ein String ohne Maskierungen, der möglicherweise Binärdaten enthält.

Hinweis:

Wenn Daten vom Typ bytea mit SELECT ausgewählt werden, gibt PostgreSQL Bytewerte als Oktalzahlen zurück, denen ein '\' vorangestellt ist (z. B. \032). Benutzer müssen diese Werte manuell in ein binäres Format konvertieren.

Diese Funktion setzt PostgreSQL ab der Version 7.2 voraus. Bei PostgreSQ; 7.2.0 und 7.2.1 müssen bytea-Werte konvertiert werden, falls die Multibyte-Unterstützung aktiviert ist, z. B. INSERT INTO test_table (image) VALUES ('$image_escaped'::bytea);. Ab PostgreSQL 7.2.2 müssen die Daten nicht mehr konvertiert werden. Eine Ausnahme gibt es allerdings: wenn die Codierung des Clients und des Datenbankservers einander nicht entsprechen, kann es zu Multibyte-Fehlern kommen. Um diesen Fehler zu vermeiden, muss der Anwender einen Typecast zu bytea machen.

Parameter-Liste

data

Ein string, der Daten vom PostgreSQL Typ bytea enthält, die in einen PHP-Binärstring konvertiert werden.

Rückgabewerte

Ein string, der die unmaskierten Daten enthält.

Beispiele

Beispiel #1 pg_unescape_bytea() Beispiel

<?php
  // Zur Datenbank verbinden
  $dbconn = pg_connect('dbname=foo');

  // Die Daten vom Typ  bytea holen
  $res = pg_query("SELECT data FROM gallery WHERE name='Pine trees'");
  $raw = pg_fetch_result($res, 'data');

  // In Binärdaten konvertieren und an den Browser senden
  header('Content-type: image/jpeg');
  echo pg_unescape_bytea($raw);
?>

Changelog

Version | Beschreibung
5.5.1 | Eine Warnung wird erzeugt, wenn die Eingabezeichenkette ungültig ist.

Siehe auch

  • pg_escape_bytea() - Maskiert Zeichenketten zum Einfügen in ein Feld vom Typ bytea
  • pg_escape_string() - Maskiert einen String für Abfragen

pg_tty
pg_untrace
PostgreSQL-Funktionen


Beendet die Ablaufverfolgung einer PostgreSQL-Verbindung

pg_unescape_bytea
pg_update
PostgreSQL-Funktionen
PHP Manual

pg_untrace

(PHP 4 >= 4.0.1, PHP 5, PHP 7)

pg_untrace — Beendet die Ablaufverfolgung einer PostgreSQL-Verbindung

Beschreibung

bool pg_untrace ([ resource $connection ] )

Beendet die Ablaufverfolgung, die mit pg_trace() aktiviert wurde.

Parameter-Liste

connection

PostgreSQL Verbindungkennung. Falls connection nicht angegeben wurde, wird die zuletzt mit pg_connect() oder pg_pconnect() geöffnete Verbindung benutzt.

Rückgabewerte

Always returns TRUE.

Beispiele

Beispiel #1 pg_untrace() Beipiel

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

if ($pgsql_conn) {
   pg_trace('/tmp/trace.log', 'w', $pgsql_conn);
   pg_query("SELECT 1");
   pg_untrace($pgsql_conn);
   // Jetzt ist die Ablaufverfolgung beendet
} else {
   print pg_last_error($pgsql_conn);
   exit;
}
?>

Siehe auch

  • pg_trace() - Ermöglicht die Ablaufverfolgung einer Verbindung

pg_unescape_bytea
pg_update
PostgreSQL-Funktionen


Aktualisiert eine Tabelle

pg_untrace
pg_version
PostgreSQL-Funktionen
PHP Manual

pg_update

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

pg_update — Aktualisiert eine Tabelle

Beschreibung

mixed pg_update ( resource $connection , string $table_name , array $data , array $condition [, int $options = PGSQL_DML_EXEC ] )

pg_update() überschreibt alle Datensätze in table_name, deren Werte denen in condition entsprechen, mit den Werten aus data. Falls options angegeben sind, wird pg_convert() mit den angegebenen Flags auf data angewendet.

Parameter-Liste

connection

PostgreSQL Verbindungskennung.

table_name

Name der Tabelle, die aktualisiert werden soll.

data

Ein array, dessen Schlüssel Feldnamen von table_name sind und mit dessen Werten die Tabelle aktualisiert wird.

condition

Ein array, dessen Schlüssel Feldnamen von table_name sind und das die Werte enthält, die in table_name überschrieben werden sollen. (Die Gleichheit dieser Werte ist die Bedingung zum Überschreiben.)

options

Jede Kombination aus PGSQL_CONV_FORCE_NULL, PGSQL_DML_NO_CONV, PGSQL_DML_ESCAPE, PGSQL_DML_EXEC, PGSQL_DML_ASYNC oder PGSQL_DML_STRING. Falls PGSQL_DML_STRING in den options enthalten ist, wird der Abfragestring zurückgegeben. Werden PGSQL_DML_NO_CONV oder PGSQL_DML_ESCAPE angegeben, wird pg_convert() intern nicht aufgerufen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. Gibt einen string zurück, falls PGSQL_DML_STRING mit dem Parameter options übergeben wurde.

Beispiele

Beispiel #1 pg_update() Beispiel

<?php
  $db = pg_connect('dbname=foo');
  $data = array('field1'=>'AA', 'field2'=>'BB');

  // Das ist sicher, da $_POST automatisch konvertiert wird
  $res = pg_update($db, 'post_log', $_POST, $data);
  if ($res) {
      echo "Daten wurden aktualisiert: $res\n";
  } else {
      echo "Falsche Eingabe\n";
  }
?>

Changelog

Version | Beschreibung
5.6.0 | Nicht länger experimentell. Die PGSQL_DML_ESCAPE Konstante wurde hinzugefügt, wie auch Unterstützung für TRUE/FALSE und NULL Datentypen.
5.5.3/5.4.19 | Direkte SQL-Injection in table_name und indirekte SQL-Injection in Bezeichner wurden behoben.

Siehe auch

  • pg_convert() - Konvertiert die Werte eines assoziativen Arrays in passende Werte für SQL-Kommandos.

pg_untrace
pg_version
PostgreSQL-Funktionen


Gibt ein Array zurück, das die Versionen von Client, Protokoll und Server enthält (falls verfügbar).

pg_update
SQLite
PostgreSQL-Funktionen
PHP Manual

pg_version

(PHP 5, PHP 7)

pg_version — Gibt ein Array zurück, das die Versionen von Client, Protokoll und Server enthält (falls verfügbar).

Beschreibung

array pg_version ([ resource $connection ] )

pg_version() Gibt ein Array zurück, das die Versionen von Client, Protokoll und Server enthält. Protokoll- und Serverversion sind nur verfügbar, wenn PHP mit PostgreSQL 7.4 und neuer kompiliert wurde.

Um genauere Informationen über den Server zu erhalten, verwenden Sie pg_parameter_status().

Parameter-Liste

connection

PostgreSQL Verbindungkennung. Falls connection nicht angegeben wurde, wird die zuletzt mit pg_connect() oder pg_pconnect() geöffnete Verbindung benutzt.

Rückgabewerte

Gibt ein Array mit den Schlüsseln client, protocol und server zurück, in dem die entsprechenden Werte gespeichert sind, falls sie verfügbar sind. Bei einem Fehler oder einer ungültigen Verbindung wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pg_version() Beispiel

<?php
  $dbconn = pg_connect("host=localhost port=5432 dbname=mary")
     or die("Verbindungsaufbau fehlgeschlagen");

  $v = pg_version($dbconn);

  echo $v['client'];
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

7.4

Siehe auch

  • pg_parameter_status() - Gibt den Wert einer aktuellen Server-Einstellung zurück

pg_update
SQLite
PostgreSQL-Funktionen


SQLite

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • SQLite Funktionen
    • sqlite_array_query — Führt eine Datenbankabfrage durch und liefert das gesamte Abfrageergebnis als Liste zurück
    • sqlite_busy_timeout — Setzt die maximale Dauer für das Warten auf die Freigabe einer Datenbank, oder sperrt das Warten selbst
    • sqlite_changes — Liefert die Anzahl der vom letzten SQL-Befehl geänderten Datenbankeinträge.
    • sqlite_close — Schließt eine SQLite-Datenbankverbindung
    • sqlite_column — Holt eine Spalte des aktuellen Ergebnissatzes
    • sqlite_create_aggregate — Registriert eine benutzerdefinierte Funktion, um SQL-Abfragen zu aggregieren
    • sqlite_create_function — Registriert eine "reguläre" nutzerdefinierte Funktion für den Gebrauch in SQL-Befehlen
    • sqlite_current — Holt die aktuelle Zeile als Array aus dem Abfrageergebnis
    • sqlite_error_string — Liefert eine textuelle Beschreibung eines Fehler-Codes
    • sqlite_escape_string — Bereitet einen String für die Verwendung als SQL-Parameter auf
    • sqlite_exec — Führt eine ergebnislose Abfrage in einer definierten Datenbank aus
    • sqlite_factory — Öffnet eine SQLite-Datenbank und gibt ein SQLiteDatabase-Objekt zurück
    • sqlite_fetch_all — Holt sich alle Reihen eines Abfrageergebnisses und liefert sie als Array im Array zurück
    • sqlite_fetch_array — Liest die nächste Zeile aus dem Datenbankergebnis und gibt sie als Array zurück
    • sqlite_fetch_column_types — Liefert ein Array mit den Spaltentypen einer bestimmten Tabelle
    • sqlite_fetch_object — Holt sich die nächste Reihe des Ergebnisses und gibt diese als Objekt zurück
    • sqlite_fetch_single — Holt sich die erste Spalte eines Abfrageergebnisses als String
    • sqlite_fetch_string — Alias von sqlite_fetch_single
    • sqlite_field_name — Gibt den Namen eines Feldes zurück
    • sqlite_has_more — Findet heraus, ob noch Reihen im Ergebnis vorhanden sind
    • sqlite_has_prev — Gibt zurück, ob eine vorige Reihe existiert oder nicht
    • sqlite_key — Liefert den aktuellen Zeilenindex
    • sqlite_last_error — Liefert den Fehlercode des letzten Fehlers einer Datenbank
    • sqlite_last_insert_rowid — Liefert die Zeilenidentifikation der zuletzt eingefügten Reihe zurück
    • sqlite_libencoding — Liefert die Kodierung der verwendeten SQLite-Bibliothek zurück
    • sqlite_libversion — Liefert die Version der genutzten SQLite-Bibliothek
    • sqlite_next — Wechselt zu der nächsten Zeilennummer
    • sqlite_num_fields — Liefert die Anzahl der Felder eines Abfrageergebnisses zurück
    • sqlite_num_rows — Liefert die Anzahl an Reihen eines gepufferten Abfrageergebnisses zurück
    • sqlite_open — Öffnet eine SQLite-Datenbank und erzeugt die Datenbank, wenn diese nicht existiert.
    • sqlite_popen — Öffnet eine persistente Verbindung zu einer SQLite-Datenbank und erzeugt diese im Bedarfsfall
    • sqlite_prev — Springt zur vorige Zeile
    • sqlite_query — Führt auf einer Datenbank eine Abfrage durch und liefert das Abfrageergebnis zurück
    • sqlite_rewind — Springt zur ersten Zeile
    • sqlite_seek — Wechselt zu einer Reihe in einem gepufferten Abfrageergebnis
    • sqlite_single_query — Führt eine Query aus und liefert ein Array für eine einzige Spalte oder den Wert der ersten Reihe.
    • sqlite_udf_decode_binary — Dekodiert Binärdaten und reicht diese als Parameter weiter zu einer benutzerdefinierten Funktion (UDF)
    • sqlite_udf_encode_binary — Kodiert Binärdaten bevor sie von einer benutzerdefinierten Funktion (UDF) zurückgegeben werden
    • sqlite_unbuffered_query — Führt eine Abfrage aus, aber übernimmt die Daten nicht gleich ins PHP
    • sqlite_valid — Gibt an, ob weitere Zeilen zur Verfügung stehen
pg_version
Einführung
Anbieterspezifische Datenbankerweiterungen


Einführung

Dies ist eine Extension für den eingebetteten Datenbankserver SQLite. SQLite ist eine C-Bibliothek, die eine eingebettete Datenbankserver-Software enthält. Programme, die mit der SQLite Bibliothek verlinkt sind, können SQL-Datenbanken ohne einen separaten RDBMS-Prozess, also ohnen einen separaten Datenbankserver nutzen.

SQLite ist keine Client-Bibliothek, die zur Verbindung mit einem grossen Datenbankserver genutzt wird. SQLite ist der Server. Die SQLite-Bibliothek liesst und schreibt direkt von und auf die Datenbankdateien auf der Festplatte.

Hinweis:

Weitere Informationen finden Sie auf der SQLite Website. (» http://sqlite.org/).

SQLite
Installation/Konfiguration
SQLite


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
SQLite


Anforderungen

Die SQLite-Extension ist ab PHP 5.0 standardmäßig aktiviert. Beginnend mit PHP 5.4 ist die SQLite-Extension nur über PECL verfügbar.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Ab PHP 5.0 wurde diese Extension mit PHP ausgeliefert. Beginnend mit PHP 5.4 ist diese Erweiterung nur über PECL verfügbar.

Windows-Benutzer müssen in der php.ini php_sqlite.dll aktivieren, um diese Funktionen zu nutzen. Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

In Windows-Builds muss zusätzlich PDO aktiviert sein, da es seit PHP 5.1.0 darauf beruht. Die php.ini sollte dann die folgenden Zeilen beinhalten:

extension=php_pdo.dll
extension=php_sqlite.dll
Wenn unter Linux oder anderen Unixsystemen PDO als Shared Extension erstellt wurde, so muss auch SQLite mit Hilfe der --with-sqlite=shared-Konfigurationsoption als Shared Extension erstellt werden.

Die PHP 5.0.x-Versionen unter Windows haben diese Erweiterung schon standmäßig aktiviert, so dass keine DLL-Datei notwendig ist.

SQLite 3 wird durch PDO SQLite unterstützt.

Hinweis: Windowsinstallation für nichtprivilegierte Benutzer

Unter Windows wird für nichtprivilegierte Benutzer die TMP-Umgebungsvariable nicht automatisch gesetzt. Dies führt dazu, dass SQLite temporäre Dateien im Windowsverzeichnis anlegt. Da dies nicht empfehlenswert ist, sollten Sie die TMP-Umgebungsvariable für den Webserver oder den Benutzer, der den Webserver ausführt, selbst setzen. Wenn Sie den Apache Webserver benutzen, können Sie dies durch einen SetEnv-Eintrag in Ihrer httpd.conf-Datei erreichen:

SetEnv TMP c:/temp
Wenn es Ihnen nicht möglich ist, diese Einstellung auf der Serverebene vorzunehmen, können sie diese auch innerhalb Ihrer Skripte durchführen:
<?php
putenv('TMP=C:/temp');
?>
Die Einstellung muss auf ein Verzeichnis verweisen, für das der Webserver über die nötigen Rechte verfügt, um Dateien anzulegen, in diese zu schreiben und sie schließlich auch wieder zu löschen. Andernfalls können Sie folgende Fehlermeldung erhalten: malformed database schema - unable to open a temporary database file for storing temporary tables

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

SQLite Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
sqlite.assoc_case | "0" | PHP_INI_ALL | Verfügbar ab PHP 5.0.0.
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

sqlite.assoc_case int

Ob gemischte Schreibweise (0), Grossbuchstaben (1) oder Kleinbuchstaben (2 für die Hash Indizes genutzt werden soll.

Diese Option ist vor allen für die Kompatiblität zu anderen Datenbanksystemen notwendig, in denen die Namen der Spalten immer als Gross- oder Kleinbuchstaben zurückgeliefert werden - unabhängig von den eigentlichen Spaltenbezeichnungen im Datenbankschema.

Die SQLite Bibliothek liefert die Spaltennamen in ihrer echten Schreibweise zurück (die dem entspricht, was Sie im Datenbankschema nutzen). Wenn sqlite.assoc_case auf 0 gesetzt ist, bleibt diese Schreibweise erhalten. Wenn es auf 1 oder 2 gesetzt ist, wird der Spaltenname von PHP automatisch zu Gross- bzw. Kleinbuchstaben gewandelt.

Das Nutzen dieser Option erzeugt eine leichte Geschwindigkeitseinbuße, ist aber DEUTLICH schneller als die Nutzung von strtolower() oder strtoupper() im PHP-Script.

Installation
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

Das SQLite-Interface nutzt zwei verschiedene Ressource-Typen. Der erste ist die Datenbankverbindung, der zweite das Abfrageergebnis.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

Die Funktionen sqlite_fetch_array() und sqlite_current() nutzen eine Konstante für die unterschiedlichen Varianten von Ergebnis-Arrays. Die folgenden Konstanten sind definiert:

SQLite Ergebnistyp Konstanten
SQLITE_ASSOC (int)
Spaltenwerte werden als Array zurückgegeben mit den Spaltennamen als Schlüssel.
SQLITE_BOTH (int)
Spalten werden als Array zurückgegeben in dem sowohl die Spaltennummer als auch der Spaltenname als Schlüssel genutzt wird.
SQLITE_NUM (int)
Spalten werden in einem Array mit numerischen Schlüsseln, beginnend mit 0, zurückgegeben

Einige Funktionen geben einen der folgenden Statuscodes zurück:

SQLite Statuscode-Konstanten
SQLITE_OK (int)
Erfolgreiche Ausführung.
SQLITE_ERROR (int)
SQL Fehler oder fehlende Datenbank.
SQLITE_INTERNAL (int)
Interner Fehler in SQLite.
SQLITE_PERM (int)
Fehlende Zugriffsberechtigung.
SQLITE_ABORT (int)
Abbruchanforderung aus einer Callback-Routine.
SQLITE_BUSY (int)
Die Datenbankdatei ist gesperrt.
SQLITE_LOCKED (int)
Eine Tabelle in der Datenbank ist gesperrt.
SQLITE_NOMEM (int)
Speicheranforderung fehlgeschlagen.
SQLITE_READONLY (int)
Schreibversuch auf eine nur-lesen Datenbank.
SQLITE_INTERRUPT (int)
Interner Abbruch einer Operation.
SQLITE_IOERR (int)
Datei Ein-/Ausgabefehler.
SQLITE_NOTADB (int)
Die zu öffnende Datei ist keine Datenbank.
SQLITE_CORRUPT (int)
Die Datenbankdatei ist beschädigt.
SQLITE_FORMAT (int)
Datenbankformatfehler.
SQLITE_NOTFOUND (int)
Tabelle oder Eintrag nicht gefunden.
SQLITE_FULL (int)
Einfügen mangels Speicherplatz fehlgeschlagen (intern).
SQLITE_CANTOPEN (int)
Datenbankdatei kann nicht geöffnet werden.
SQLITE_PROTOCOL (int)
Protokollfehler beim Sperren einer Datenbank. Database lock protocol error.
SQLITE_EMPTY (int)
Datenbank ist leer (internal).
SQLITE_SCHEMA (int)
Das Datenbankschema hat sich geändert.
SQLITE_TOOBIG (int)
Zu viele Daten für eine Tabellenzeile.
SQLITE_CONSTRAINT (int)
Abbruch wegen einer fehlgeschlagenen Prüfbedingung.
SQLITE_MISMATCH (int)
Unverträgliche Datentypen.
SQLITE_MISUSE (int)
Fehlerhafte Nutzung der Bibliothek.
SQLITE_NOLFS (int)
Nutzung eines auf diesem System nicht vorhandenen Betriebsystemfeatures.
SQLITE_AUTH (int)
Autorisierung fehlgeschlagen.
SQLITE_ROW (int)
Interner Prozess hat eine andere Zeile bereitgestellt.
SQLITE_DONE (int)
Interner Prozess hat die Ausführung abgeschlossen.
Ressource-Typen
SQLite Funktionen
SQLite


SQLite Funktionen

Vordefinierte Klassen

SQLiteDatabase

Repräsentiert eine geöffnete SQLite-Datenbank.

Konstruktor

  • __construct - erzeugt ein neues SQLiteDatabase-Objekt

Methoden

  • query - Führt eine Abfrage aus
  • queryExec - Führt eine Abfrage ohne Ergebnis aus
  • arrayQuery - Führt eine Abfrage aus und gibt das Ergebnis als Array zurück
  • singleQuery - Führt eine Abfrage aus und gibt entweder ein Array für eine einzelne Spalte oder den Wert der ersten Zeile zurück
  • unbufferedQuery - Führt eine ungepufferte Abfrage aus
  • lastInsertRowid - Liefert die ZeilenID der zuletzt eingefügten Zeile
  • changes - Liefert die Anzahl der veränderten Zeilen für die zuletzt ausgeführte Abfrage
  • createAggregate - Registriert eine benutzerdefinierte Aggregatfunktion zur Verwendung in SQL-Abfragen
  • createFunction - Registriert eine benutzerdefinierte Funktion zur Verwendung in SQL-Abfragen
  • busyTimeout - Setzt oder deaktiviert das "busy timeout"
  • lastError - Liefert den Fehlercode des letzten aufgetretenen Fehlers
  • fetchColumnTypes - Liefert ein Array mit den Spaltentypen einer bestimmten Tabelle

SQLiteResult

Repräsentiert eine gepufferte SQLite-Ergebnismenge.

Methoden

  • fetch - Liefert die nächste Ergebniszeile der Ergebnismenge als Array.
  • fetchObject - Liefert die nächste Ergebniszeile der Ergebnismenge als Objekt
  • fetchSingle - Liefert den Wert der ersten Spalte der Ergebnismenge als String
  • fetchAll - Liefert alle Ergebniszeilen des Resultsets als ein Array von Arrays
  • column - Liefert eine Spalte der aktuellen Zeile der Ergebnismenge
  • numFields - Liefert die Anzahl der Felder in der Ergebnismenge
  • fieldName - Liefert den Namen eines bestimmten Feldes der Ergebnismenge
  • current - Liefert die aktuelle Ergebniszeile als Array
  • key - Liefert den aktuellen Zeilenindex
  • next - Positioniert auf die nächste Ergebniszeile
  • valid - Prüft ob weitere Ergebniszeilen verfügbar sind
  • rewind - Positioniert auf die erste Zeile der Ergebnismenge zurück
  • prev - Positioniert auf die vorhergehende Ergebniszeile
  • hasPrev - Prüft ob eine vorhergehende Ergebniszeile verfügbar ist
  • numRows - Liefert die Anzahl der Ergebniszeilen
  • seek - Positioniert auf eine bestimmte Ergebniszeile

SQLiteUnbuffered

Repräsentiert eine nicht gepufferte Ergebnismenge. Ungepufferte Resultsets sind sequentiell, daher kann in ihnen nur vorwärts gesucht werden.

Methoden

  • fetch - Liefert die nächste Ergebniszeile der Ergebnismenge als Array.
  • fetchObject - Liefert die nächste Ergebniszeile der Ergebnismenge als Objekt
  • fetchSingle - Liefert den Wert der ersten Spalte der Ergebnismenge als String
  • fetchAll - Liefert alle Ergebniszeilen als ein Array von Arrays
  • column - Liefert eine Spalte der aktuellen Zeile der Ergebnismenge
  • numFields - Liefert die Anzahl der Spalten der Ergebnismenge
  • fieldName - Liefert den Namen einer bestimmten Spalte der Ergebnismenge
  • current - Liefert die aktuelle Ergebniszeile als Array
  • next - Positioniert auf die nächste Ergebniszeile
  • valid - Prüft ob weitere Ergebniszeilen verfügbar sind

Inhaltsverzeichnis

  • sqlite_array_query — Führt eine Datenbankabfrage durch und liefert das gesamte Abfrageergebnis als Liste zurück
  • sqlite_busy_timeout — Setzt die maximale Dauer für das Warten auf die Freigabe einer Datenbank, oder sperrt das Warten selbst
  • sqlite_changes — Liefert die Anzahl der vom letzten SQL-Befehl geänderten Datenbankeinträge.
  • sqlite_close — Schließt eine SQLite-Datenbankverbindung
  • sqlite_column — Holt eine Spalte des aktuellen Ergebnissatzes
  • sqlite_create_aggregate — Registriert eine benutzerdefinierte Funktion, um SQL-Abfragen zu aggregieren
  • sqlite_create_function — Registriert eine "reguläre" nutzerdefinierte Funktion für den Gebrauch in SQL-Befehlen
  • sqlite_current — Holt die aktuelle Zeile als Array aus dem Abfrageergebnis
  • sqlite_error_string — Liefert eine textuelle Beschreibung eines Fehler-Codes
  • sqlite_escape_string — Bereitet einen String für die Verwendung als SQL-Parameter auf
  • sqlite_exec — Führt eine ergebnislose Abfrage in einer definierten Datenbank aus
  • sqlite_factory — Öffnet eine SQLite-Datenbank und gibt ein SQLiteDatabase-Objekt zurück
  • sqlite_fetch_all — Holt sich alle Reihen eines Abfrageergebnisses und liefert sie als Array im Array zurück
  • sqlite_fetch_array — Liest die nächste Zeile aus dem Datenbankergebnis und gibt sie als Array zurück
  • sqlite_fetch_column_types — Liefert ein Array mit den Spaltentypen einer bestimmten Tabelle
  • sqlite_fetch_object — Holt sich die nächste Reihe des Ergebnisses und gibt diese als Objekt zurück
  • sqlite_fetch_single — Holt sich die erste Spalte eines Abfrageergebnisses als String
  • sqlite_fetch_string — Alias von sqlite_fetch_single
  • sqlite_field_name — Gibt den Namen eines Feldes zurück
  • sqlite_has_more — Findet heraus, ob noch Reihen im Ergebnis vorhanden sind
  • sqlite_has_prev — Gibt zurück, ob eine vorige Reihe existiert oder nicht
  • sqlite_key — Liefert den aktuellen Zeilenindex
  • sqlite_last_error — Liefert den Fehlercode des letzten Fehlers einer Datenbank
  • sqlite_last_insert_rowid — Liefert die Zeilenidentifikation der zuletzt eingefügten Reihe zurück
  • sqlite_libencoding — Liefert die Kodierung der verwendeten SQLite-Bibliothek zurück
  • sqlite_libversion — Liefert die Version der genutzten SQLite-Bibliothek
  • sqlite_next — Wechselt zu der nächsten Zeilennummer
  • sqlite_num_fields — Liefert die Anzahl der Felder eines Abfrageergebnisses zurück
  • sqlite_num_rows — Liefert die Anzahl an Reihen eines gepufferten Abfrageergebnisses zurück
  • sqlite_open — Öffnet eine SQLite-Datenbank und erzeugt die Datenbank, wenn diese nicht existiert.
  • sqlite_popen — Öffnet eine persistente Verbindung zu einer SQLite-Datenbank und erzeugt diese im Bedarfsfall
  • sqlite_prev — Springt zur vorige Zeile
  • sqlite_query — Führt auf einer Datenbank eine Abfrage durch und liefert das Abfrageergebnis zurück
  • sqlite_rewind — Springt zur ersten Zeile
  • sqlite_seek — Wechselt zu einer Reihe in einem gepufferten Abfrageergebnis
  • sqlite_single_query — Führt eine Query aus und liefert ein Array für eine einzige Spalte oder den Wert der ersten Reihe.
  • sqlite_udf_decode_binary — Dekodiert Binärdaten und reicht diese als Parameter weiter zu einer benutzerdefinierten Funktion (UDF)
  • sqlite_udf_encode_binary — Kodiert Binärdaten bevor sie von einer benutzerdefinierten Funktion (UDF) zurückgegeben werden
  • sqlite_unbuffered_query — Führt eine Abfrage aus, aber übernimmt die Daten nicht gleich ins PHP
  • sqlite_valid — Gibt an, ob weitere Zeilen zur Verfügung stehen
Vordefinierte Konstanten
sqlite_array_query
SQLite


Führt eine Datenbankabfrage durch und liefert das gesamte Abfrageergebnis als Liste zurück

SQLite Funktionen
sqlite_busy_timeout
SQLite Funktionen
PHP Manual

sqlite_array_query

SQLiteDatabase::arrayQuery

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_array_query -- SQLiteDatabase::arrayQuery — Führt eine Datenbankabfrage durch und liefert das gesamte Abfrageergebnis als Liste zurück

Beschreibung

array sqlite_array_query ( resource $dbhandle , string $query [, int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )
array sqlite_array_query ( string $query , resource $dbhandle [, int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )

Objektorientierter Stil (Methode):

public array SQLiteDatabase::arrayQuery ( string $query [, int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )

sqlite_array_query() führt die übergebene Anfrage aus und liefert die gesamte Ergebnisliste zurück. Die Funktion verhält sich vergleichbar mit der Nutzung von sqlite_query() und dann sqlite_fetch_array() für jede Zeile des Abfrageergebisses. Die Nutzung von sqlite_array_query() ist deutlich schneller als das folgende Script:

Tipp

sqlite_array_query() ist am besten für Abfragen geeignet, die fünfundvierzig und weniger Ergebniszeilen zurückliefern. Wenn Sie mehr Daten haben, sollten Sie Ihre Scripte eher mit sqlite_unbuffered_query() schreiben, um eine optimale Geschwindigkeit zu erzielen.

Parameter-Liste

query

Die auszuführende Abfrage.

Daten innerhalb einer Anfrage sollten maskiert werden.

dbhandle

Die Ressource des SQLite-Ergebnisses, erzeugt von sqlite_open() wenn in prozeduralem Kontext genutzt. Dieser Parameter wird nicht benötigt, wenn die objektorientierte Methodik genutzt wird.

result_type

Der optionale Parameter Ergebnis_Typ akzeptiert eine Konstante und bestimmt, wie das zurückgegebene Array indiziert wird. Während mit SQLITE_ASSOC nur assoziative Indizes (Namensfelder) zurückgegeben werden, werden mit SQLITE_NUM nur numerische Indizes (geordnete Feldnummern) zurückgegeben. SQLITE_BOTH gibt sowohl assoziative als auch numerische Indizes zurück. SQLITE_BOTH ist die Standardeinstellung.

decode_binary

Falls der Parameter decode_binary auf TRUE gesetzt ist (das ist die Standardeinstellung), dekodiert PHP die Binärkodierung, die bei Verwendung von sqlite_escape_string() auf die Daten angewendet wird. Solange Sie die Daten nicht mit anderen SQLite-Fähigen Applikationen teilen, sollten Sie diesen Wert in der Standardeinstellung lassen.

Hinweis: Zwei alternative Syntaxen werden für die Kompatibilität mit anderen Datenbank-Erweiterungen (wie z.B. MySQL) unterstützt. Die bevorzugte Form ist die erste, bei der der Parameter dbhandle der erste Parameter der Funktion ist.

Rückgabewerte

Liefert eine Liste der gesamten Ergebnismenge oder FALSE zurück.

Die Groß- und Kleinschreibung der Spaltennamen, die von SQLITE_ASSOC und SQLITE_BOTH zurückgegeben werden, wird entsprechend der Konfigurationsdirektive sqlite.assoc_case geändert.

Beispiele

Beispiel #1 Prozeduraler Stil

<?php
$dbhandle = sqlite_open('sqlitedb');
$result = sqlite_array_query($dbhandle, 'SELECT name, email FROM users LIMIT 25', SQLITE_ASSOC);
foreach ($result as $entry) {
    echo 'Name: ' . $entry['name'] . '  E-mail: ' . $entry['email'];
}
?>

Beispiel #2 Objektorientierter Stil

<?php
$dbhandle = new SQLiteDatabase('sqlitedb');
$result = $dbhandle->arrayQuery('SELECT name, email FROM users LIMIT 25', SQLITE_ASSOC);
foreach ($result as $entry) {
    echo 'Name: ' . $entry['name'] . '  E-mail: ' . $entry['email'];
}
?>

Siehe auch

  • sqlite_query() - Führt auf einer Datenbank eine Abfrage durch und liefert das Abfrageergebnis zurück
  • sqlite_fetch_array() - Liest die nächste Zeile aus dem Datenbankergebnis und gibt sie als Array zurück
  • sqlite_fetch_string() - Alias von sqlite_fetch_single

SQLite Funktionen
sqlite_busy_timeout
SQLite Funktionen


Setzt die maximale Dauer für das Warten auf die Freigabe einer Datenbank, oder sperrt das Warten selbst

sqlite_array_query
sqlite_changes
SQLite Funktionen
PHP Manual

sqlite_busy_timeout

SQLiteDatabase::busyTimeout

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_busy_timeout -- SQLiteDatabase::busyTimeout — Setzt die maximale Dauer für das Warten auf die Freigabe einer Datenbank, oder sperrt das Warten selbst

Beschreibung

void sqlite_busy_timeout ( resource $dbhandle , int $milliseconds )

Objektorientierter Stil (Methode):

public void SQLiteDatabase::busyTimeout ( int $milliseconds )

Setzt die maximale Zeitspanne, die SQLite auf die Freigabe der Datenbankverbindung (dbhandle) wartet.

Parameter-Liste

dbhandle

Die SQLite-Datenbankressource, die von sqlite_open() zurückgegeben wird, wenn prozedural verwendet. Dieser Parameter wird bei objektorientierter Verwendung nicht benötigt.

milliseconds

Die Anzahl der Millisekunden. Wird hier 0 angegeben, wird das Warten deaktiviert und unmittelbar der Statuscode SQLITE_BUSY zurückgeliefert, wenn ein anderer Prozess / Thread das Zuweisen einer Datenbankverbindung (dbhandle) verhindert.

PHP setzt die Voreinstellung auf 60 Sekunden, wenn die Datenbank geöffnet wird.

Hinweis:

Tausend (1000) Millisekunden sind eine Sekunde.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Prozeduraler Stil

<?php
$dbhandle = sqlite_open('sqlitedb');
sqlite_busy_timeout($dbhandle, 10000); // setzt die Wartezeit auf 10 Sekunden
sqlite_busy_timeout($dbhandle, 0); // deaktiviert das Warten
?>

Beispiel #2 Objektorientierter Stil

<?php
$dbhandle = new SQLiteDatabase('sqlitedb');
$dbhandle->busyTimeout(10000); // setzt die Wartezeit auf 10 Sekunden
$dbhandle->busyTimeout(0); // deaktiviert das Warten
?>

Siehe auch

  • sqlite_open() - Öffnet eine SQLite-Datenbank und erzeugt die Datenbank, wenn diese nicht existiert.

sqlite_array_query
sqlite_changes
SQLite Funktionen


Liefert die Anzahl der vom letzten SQL-Befehl geänderten Datenbankeinträge.

sqlite_busy_timeout
sqlite_close
SQLite Funktionen
PHP Manual

sqlite_changes

SQLiteDatabase::changes

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_changes -- SQLiteDatabase::changes — Liefert die Anzahl der vom letzten SQL-Befehl geänderten Datenbankeinträge.

Beschreibung

int sqlite_changes ( resource $dbhandle )

Objektorientierter Stil (Methode):

public int SQLiteDatabase::changes ( void )

Liefert die Anzahl der Datenbankeinträgen, die durch den letzten SQL-Befehl an die Datenbankverbindung (dbhandle) geändert wurden.

Parameter-Liste

dbhandle

Die SQLite-Datenbankressource, erzeugt durch sqlite_open(), wenn im prozeduralem Kontext genutzt. Dieser Parameter wird in der objektorientierten Notation nicht benötigt.

Rückgabewerte

Liefert die Anzahl der geänderten Reihen.

Beispiele

Beispiel #1 Prozeduraler Stil

<?php
$dbhandle = sqlite_open('mysqlitedb');
$query = sqlite_query($dbhandle, "UPDATE users SET email='jDoe@example.com' WHERE username='jDoe'");
if (!$query) {
    exit('Fehler in Anfrage.');
} else {
    echo 'Anzahl der geänderten Reihen: ', sqlite_changes($dbhandle);
}
?>

Beispiel #2 Objektorientierter Stil

<?php
$dbhandle = new SQLiteDatabase('mysqlitedb');
$query = $dbhandle->query("UPDATE users SET email='jDoe@example.com' WHERE username='jDoe'");
if (!$query) {
    exit('Fehler in der Anfrage.');
} else {
    echo 'Anzahl der geänderten Reihen: ', $dbhandle->changes();
}
?>

Siehe auch

  • sqlite_open() - Öffnet eine SQLite-Datenbank und erzeugt die Datenbank, wenn diese nicht existiert.

sqlite_busy_timeout
sqlite_close
SQLite Funktionen


Schließt eine SQLite-Datenbankverbindung

sqlite_changes
sqlite_column
SQLite Funktionen
PHP Manual

sqlite_close

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_close — Schließt eine SQLite-Datenbankverbindung

Beschreibung

void sqlite_close ( resource $dbhandle )

Schließt die übergebene Datenbankverbindung (db_handle). Handelt es sich um eine persistente Verbindung, wird diese geschlossen und von der Liste der persistenten Verbindungen gelöscht.

Parameter-Liste

dbhandle

Die SQLite-Datenbankressource, erzeugt durch sqlite_open(), wenn im prozeduralem Kontext genutzt.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 sqlite_close()-Beispiel

<?php
$dbhandle = sqlite_open('sqlitedb');
sqlite_close($dbhandle);
?>

Siehe auch

  • sqlite_open() - Öffnet eine SQLite-Datenbank und erzeugt die Datenbank, wenn diese nicht existiert.
  • sqlite_popen() - Öffnet eine persistente Verbindung zu einer SQLite-Datenbank und erzeugt diese im Bedarfsfall

sqlite_changes
sqlite_column
SQLite Funktionen


Holt eine Spalte des aktuellen Ergebnissatzes

sqlite_close
sqlite_create_aggregate
SQLite Funktionen
PHP Manual

sqlite_column

SQLiteResult::column

SQLiteUnbuffered::column

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_column -- SQLiteResult::column -- SQLiteUnbuffered::column — Holt eine Spalte des aktuellen Ergebnissatzes

Beschreibung

mixed sqlite_column ( resource $result , mixed $index_or_name [, bool $decode_binary = true ] )
mixed SQLiteResult::column ( mixed $index_or_name [, bool $decode_binary = true ] )
mixed SQLiteUnbuffered::column ( mixed $index_or_name [, bool $decode_binary = true ] )

Holt den Wert der benannten Spalte index_or_name (wenn es ein String ist), oder Spalte Nummer index_or_name (wenn es sich um eine Zahl handelt) aus der aktuellen Zeile des Abfrageergebnisses result.

Parameter-Liste

result

Die SQLite Ergebnis-Ressource. Dieser Parameter wird in der objektorientierten Notation nicht benötigt.

index_or_name

Der zu holende Spaltenname oder -index.

decode_binary

Falls der Parameter decode_binary auf TRUE gesetzt ist (das ist die Standardeinstellung), dekodiert PHP die Binärkodierung, die bei Verwendung von sqlite_escape_string() auf die Daten angewendet wird. Solange Sie die Daten nicht mit anderen SQLite-Fähigen Applikationen teilen, sollten Sie diesen Wert in der Standardeinstellung lassen.

Rückgabewerte

Liefert den Inhalt der Spalte.

Anmerkungen

Hinweis:

Benutzen Sie diese Funktion, wenn Sie über ein grosses Abfrageergebnis mit vielen Zeilen, oder auch mit Zeilen, die viele Daten enthalten, iterieren.

Siehe auch

  • sqlite_fetch_string() - Alias von sqlite_fetch_single

sqlite_close
sqlite_create_aggregate
SQLite Funktionen


Registriert eine benutzerdefinierte Funktion, um SQL-Abfragen zu aggregieren

sqlite_column
sqlite_create_function
SQLite Funktionen
PHP Manual

sqlite_create_aggregate

SQLiteDatabase::createAggregate

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_create_aggregate -- SQLiteDatabase::createAggregate — Registriert eine benutzerdefinierte Funktion, um SQL-Abfragen zu aggregieren

Beschreibung

void sqlite_create_aggregate ( resource $dbhandle , string $function_name , callable $step_func , callable $finalize_func [, int $num_args = -1 ] )

Objektorientierter Stil (Methode):

public void SQLiteDatabase::createAggregate ( string $function_name , callable $step_func , callable $finalize_func [, int $num_args = -1 ] )

sqlite_create_aggregate() funktioniert wie sqlite_create_function(), ausser dass es Funktionen registriert, die benutzt werden, um ein Ergebnis aggregiert über alle Zeilen der Abfrage zu berechnen.

Der größte Unterschied in dieser Funktion und sqlite_create_function() liegt darin, das man zwei Funktionen registrieren muss, um zu aggregieren; step_func wird für jede Zeile des Abfrageergebnisses aufgerufen. Ihre PHP-Funktion (function_name) sollte das Ergebnis akkumulieren und dieses im Aggregatkontext speichern. Sobald alle Zeilen verarbeitet wurden, wird finalize_func aufgerufen. Diese Funktion sollte die Daten aus dem Aggregatkontext nehmen und als Ergebnis zurückgeben. Callback-Funktionen sollten einen Typ liefern, der von SQLite verstanden wird (z.B. Skalartypen).

Parameter-Liste

dbhandle

Die Ressource der SQLite-Datenbank, die bei prozeduraler Benutzung von sqlite_open() zurückgegeben wurden. Der Parameter wird bei der objektorientierten Methode nicht benötigt.

function_name

Der Name der Funktion, der in SQL-Abfragen benutzt wird.

step_func

Callback-Funktion mit der jede Zeile des Abfrageergebnisses aufgerufen wird. Die Funktions-Parameter sind &$context, $value, ....

finalize_func

Callback-Funktion, die die durchlaufenen Daten aggregiert. Der Funktions-Parameter ist &$context und die Funktion sollte das finale Ergebnis der Aggregation zurückliefern.

num_args

Hinweis für den SQLite-Parser, ob die Callback-Funktion eine vordefinierte Anzahl von Argumenten annimmt.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 aggregierte max_length-Funktion

<?php
$data = array(
   'eins',
   'zwei',
   'drei',
   'vier',
   'fuenf',
   'sechs',
   'sieben',
   'acht',
   'neun',
   'zehn',
   );
$dbhandle = sqlite_open(':memory:');
sqlite_query($dbhandle, "CREATE TABLE strings(a)");
foreach ($data as $str) {
    $str = sqlite_escape_string($str);
    sqlite_query($dbhandle, "INSERT INTO strings VALUES ('$str')");
}

function max_len_step(&$context, $string)
{
    if (strlen($string) > $context) {
        $context = strlen($string);
    }
}

function max_len_finalize(&$context)
{
    return $context;
}

sqlite_create_aggregate($dbhandle, 'max_len', 'max_len_step', 'max_len_finalize');

var_dump(sqlite_array_query($dbhandle, 'SELECT max_len(a) from strings'));

?>

In diesem Beispiel haben wir eine Aggregatfunktion erstellt, die die Länge des längsten Strings einer Tabellenspalte berechnet. Jede Zeile wird mit der Funktion max_len_step mit dem Parameter context aufgerufen. Der Parameter context ist wie jede andere PHP-Variable und sollte ein Array oder auch ein Objekt speichern können. In diesem Beispiel benutzen wird ihn lediglich dazu, die bisherige maximale Länge zu speichern; sollte string größer sein, als das aktuelle Maximum, aktuallisieren wir den Wert mit der neuen maximalen Länge.

Wenn alle Zeilen durchlaufen sind, ruft SQLite die Funktion max_len_finalize auf, um das aggregierte Ergebnis auszuwerten. Hier könnten wir einige Berechnungen anstellen, basierend auf den Daten, die in context stehen. In unserem einfachen Beispiel haben wir das Ergebnis bereits während der Abfrage berechnet, sodass wir einfach nur den Wert in context zurückgeben können.

Hinweis:

Das oben aufgeführte Beispiel funktioniert nicht akkurat, wenn die Spalte Binärdaten enthalten würde. Eine Erklärung dafür liefert die Dokumentation unter sqlite_udf_decode_binary(), genauso wie ein Beispiel dafür, wie man die Binärkodierung berücksichtigt.

Tipp

Es wird NICHT empfohlen eine Kopie der Werte in context zu speichern und diese erst am Schluss zu verarbeiten. Dadurch würde SQLite viel Speicher verbrauchen, um die Abfrage zu bearbeiten. Man muß sich nur vorstellen, wieviel Speicher man brauchen würde, um eine Million Zeilen, jede mit einer Länge von 32 Byte, im Speicher zu halten.

Tipp

Man kann sqlite_create_function() und sqlite_create_aggregate() nutzen, um native SQL-Funktionen im SQLite zu überschreiben.

Siehe auch

  • sqlite_create_function() - Registriert eine "reguläre" nutzerdefinierte Funktion für den Gebrauch in SQL-Befehlen
  • sqlite_udf_encode_binary() - Kodiert Binärdaten bevor sie von einer benutzerdefinierten Funktion (UDF) zurückgegeben werden
  • sqlite_udf_decode_binary() - Dekodiert Binärdaten und reicht diese als Parameter weiter zu einer benutzerdefinierten Funktion (UDF)

sqlite_column
sqlite_create_function
SQLite Funktionen


Registriert eine "reguläre" nutzerdefinierte Funktion für den Gebrauch in SQL-Befehlen

sqlite_create_aggregate
sqlite_current
SQLite Funktionen
PHP Manual

sqlite_create_function

SQLiteDatabase::createFunction

(PHP 5 < 5.4.0, sqlite >= 1.0.0)

sqlite_create_function -- SQLiteDatabase::createFunction — Registriert eine "reguläre" nutzerdefinierte Funktion für den Gebrauch in SQL-Befehlen

Beschreibung

void sqlite_create_function ( resource $dbhandle , string $function_name , callable $callback [, int $num_args = -1 ] )

Objektorientierter Stil (Methode):

public void SQLiteDatabase::createFunction ( string $function_name , callable $callback [, int $num_args = -1 ] )

sqlite_create_function() erlaubt Ihnen, eine PHP-Funktion in SQLite als UDF (User Defined Function = Nutzerdefinierte Funktion) zu erzeugen, so dass diese direkt in SQL-Befehlen genutzt werden kann.

UDF sind in jedem SQL-Befehl nutzbar, der Funktionsaufrufe wie SELECT, UPDATE oder auch Trigger beinhalten kann.

Parameter-Liste

dbhandle

Die Ressource des SQLite-Ergebnisses, erzeugt von sqlite_open() wenn in prozeduralem Kontext genutzt. Dieser Parameter wird nicht benötigt, wenn die objektorientierte Notation genutzt wird.

function_name

Name der Funktion, wie er in den SQL-Befehlen genutzt werden soll.

callback

Eine beliebige gültige PHP-Funktion oder Methode, die aufgerufen werden soll, um die SQL-Funktion abzuarbeiten.

Hinweis: "Callback"-Funktionen sollten einen Variablentyp zurückgeben, der von SQLite erkannt wird (z.B. Skalare).

num_args

Hinweis für den SQLite-Parser auf die Parameterzahl der "Callback"-Funktion. Es wird empfohlen, diesen Wert zu definieren, wenn Ihre Funktion immer mit der gleichen Parameterzahl arbeitet.

Hinweis: Zwei alternative Syntaxen werden für die Kompatibilität mit anderen Datenbank-Erweiterungen (wie z.B. MySQL) unterstützt. Die bevorzugte Form ist die erste, bei der der Parameter dbhandle der erste Parameter der Funktion ist.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 sqlite_create_function()-Beispiel

<?php
function md5_and_reverse($string)
{
    return strrev(md5($string));
}

if ($dbhandle = sqlite_open('mysqlitedb', 0666, $sqliteerror)) {

    sqlite_create_function($dbhandle, 'md5rev', 'md5_and_reverse', 1);

    $sql  = 'SELECT md5rev(filename) FROM files';
    $rows = sqlite_array_query($dbhandle, $sql);
} else {
    echo 'Fehler beim Öffnen der Datenbankverbindung: ' . $sqliteerror;
    exit;
}
?>

In diesem Beispiel haben wir eine Funktion, die die md5-Summe eines Strings berechnet und dann rückwärts ausliefert. Wenn der SQL-Befehl durchgeführt wird, liefert er den Wert der Spalte "filename" durch unsere Funktion transformiert zurück. Die Daten, die in $rows stehen, enhalten also die bereits gewandelten Daten.

Die Eleganz dieser Technik ist das Vermeiden des Durchfahrens des kompletten Abfrageergebnisses mit einer foreach-Schleife.

PHP registriert außerdem automatisch eine spezielle Funktion mit dem Namen php, wenn die Datenbank dbhandle zum ersten Mal geöffnet wird. Diese Funktion kann genutzt werden, um eine beliebige PHP-Funktion aufzurufen, ohne dass sie zunächst für SQLite erzeugt werden muss.

Beispiel #2 Beispiel zur Nutzung einer beliebigen PHP-Funktion

<?php
$rows = sqlite_array_query($dbhandle, "SELECT php('md5', filename) from files");
?>

In diesem Beispiel wird die Funktion md5() für jeden Eintrag der Spalte filename in der Datenbank aufgerufen und das Ergebnis in $rows geschrieben.

Hinweis:

Aus Performanzgründen kodiert/dekodiert PHP nicht automatisch die Binärdaten der Spalten, die in die UDF/aus der UDF geliefert werden. Daher müssen Sie die Parameter und Rückgabewerte der Funktion jeweils selbst wandeln. Die Funktionen sqlite_udf_encode_binary() und sqlite_udf_decode_binary() sind dabei behilflich.

Tipp

Es wird empfohlen, die UDFs nicht für Binärdaten zu nutzen, wenn Ihre Anwendung eine hohe Geschwindigkeit aufweisen soll.

Tipp

sqlite_create_function() und sqlite_create_aggregate() können dazu genutzt werden, native SQlite-Funktionen zu überschreiben.

Siehe auch

  • sqlite_create_aggregate() - Registriert eine benutzerdefinierte Funktion, um SQL-Abfragen zu aggregieren

sqlite_create_aggregate
sqlite_current
SQLite Funktionen


Holt die aktuelle Zeile als Array aus dem Abfrageergebnis

sqlite_create_function
sqlite_error_string
SQLite Funktionen
PHP Manual

sqlite_current

SQLiteResult::current

SQLiteUnbuffered::current

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_current -- SQLiteResult::current -- SQLiteUnbuffered::current — Holt die aktuelle Zeile als Array aus dem Abfrageergebnis

Beschreibung

array sqlite_current ( resource $result [, int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )

Objektorientierter Stil (Methode):

array SQLiteResult::current ([ int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )
array SQLiteUnbuffered::current ([ int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )

sqlite_current() ist, bis auf das automatische Weiterspringen auf die nächste Zeile bevor die Daten zurückgegeben werden, identisch zu sqlite_fetch_array(). Sie liefert ausschießlich die Daten der aktuellen Position.

Parameter-Liste

result

Die SQLite-Erbenis-Ressoure; dieser Parameter wird in der objektorientierten Notation nicht benötigt.

result_type

Der optionale Parameter Ergebnis_Typ akzeptiert eine Konstante und bestimmt, wie das zurückgegebene Array indiziert wird. Während mit SQLITE_ASSOC nur assoziative Indizes (Namensfelder) zurückgegeben werden, werden mit SQLITE_NUM nur numerische Indizes (geordnete Feldnummern) zurückgegeben. SQLITE_BOTH gibt sowohl assoziative als auch numerische Indizes zurück. SQLITE_BOTH ist die Standardeinstellung.

decode_binary

Falls der Parameter decode_binary auf TRUE gesetzt ist (das ist die Standardeinstellung), dekodiert PHP die Binärkodierung, die bei Verwendung von sqlite_escape_string() auf die Daten angewendet wird. Solange Sie die Daten nicht mit anderen SQLite-Fähigen Applikationen teilen, sollten Sie diesen Wert in der Standardeinstellung lassen.

Rückgabewerte

Liefert die aktuelle Zeile des Ergebnissatzes als Array oder FALSE, wenn die aktuelle Position hinter der letzten Zeile des Ergebnissatzes liegt.

Die Groß- und Kleinschreibung der Spaltennamen, die von SQLITE_ASSOC und SQLITE_BOTH zurückgegeben werden, wird entsprechend der Konfigurationsdirektive sqlite.assoc_case geändert.

Siehe auch

  • sqlite_seek() - Wechselt zu einer Reihe in einem gepufferten Abfrageergebnis
  • sqlite_next() - Wechselt zu der nächsten Zeilennummer
  • sqlite_fetch_array() - Liest die nächste Zeile aus dem Datenbankergebnis und gibt sie als Array zurück

sqlite_create_function
sqlite_error_string
SQLite Funktionen


Liefert eine textuelle Beschreibung eines Fehler-Codes

sqlite_current
sqlite_escape_string
SQLite Funktionen
PHP Manual

sqlite_error_string

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_error_string — Liefert eine textuelle Beschreibung eines Fehler-Codes

Beschreibung

string sqlite_error_string ( int $error_code )

Liefert eine lesbare Beschreibung des error_code zurückgegeben von sqlite_last_error().

Parameter-Liste

error_code

Der verwendete Fehler-Code, welcher von sqlite_last_error() übergeben werden könnte.

Rückgabewerte

Liefer eine menschen lesbare Beschreibung des error_code als eine Zeichenfolge (string).

Siehe auch

  • sqlite_last_error() - Liefert den Fehlercode des letzten Fehlers einer Datenbank

sqlite_current
sqlite_escape_string
SQLite Funktionen


Bereitet einen String für die Verwendung als SQL-Parameter auf

sqlite_error_string
sqlite_exec
SQLite Funktionen
PHP Manual

sqlite_escape_string

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_escape_string — Bereitet einen String für die Verwendung als SQL-Parameter auf

Beschreibung

string sqlite_escape_string ( string $item )

sqlite_escape_string() bereitet den String item so auf, dass er korrekt innerhalb eines SQL-Befehls als Parameter genutzt werden kann. Diese Wandlung enhält die Verdopplung von einfachen Anführungszeichen (') und die Überprüfung von nicht binärkompatiblen Zeichen.

Auch wenn die Aufbereitung ein sicheres Einfügen der Daten ermöglicht, werden einfache Stringvergleiche und LIKE-Bedingungen in Ihren Abfragen unbrauchbar gemacht, wenn die Spalten Binärdaten enthalten. In der Praxis sollte dies kein Problem darstellen, weil Ihr Datenbankschema so ausgelegt sein sollte, dass keine Binärdaten genutzt werden (denn eigentlich könnte es besser sein, die Binärdaten auf andere Art und Weise z.B. in Dateien zu speichern).

Parameter-Liste

item

The string being quoted.

Beinhaltet der Parameter item einen NUL Zeichen oder wenn er mit einem Zeichen beginnt, dessen ORDINAL Wert 0x01 ist, wird PHP ein binäres ENCODING Format anwenden, dass man sicher binäre Daten speichern und auslesenn kann.

Rückgabewerte

Returns an escaped string for use in an SQLite SQL statement.

Anmerkungen

Hinweis: Nutzen Sie diese Funktion nicht, um Rückgabewerte von benutzerdefinierten Funktionen (UDF) vorzubereiten, die mittels von sqlite_create_funtion() oder sqlite_create_aggregate()erzeugt wurden. Nutzen Sie sqlite_udf_encode_binary() stattdessen.

Warnung

addslashes() sollte NICHT genutzt werden, um Strings für SQLite-Anfragen aufzubereiten; es kann zu undefinierten Resultaten beim Abfragen der Daten führen.

Siehe auch

  • sqlite_udf_encode_binary() - Kodiert Binärdaten bevor sie von einer benutzerdefinierten Funktion (UDF) zurückgegeben werden

sqlite_error_string
sqlite_exec
SQLite Funktionen


Führt eine ergebnislose Abfrage in einer definierten Datenbank aus

sqlite_escape_string
sqlite_factory
SQLite Funktionen
PHP Manual

sqlite_exec

SQLiteDatabase::exec

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.3)

sqlite_exec -- SQLiteDatabase::exec — Führt eine ergebnislose Abfrage in einer definierten Datenbank aus

Beschreibung

bool sqlite_exec ( resource $dbhandle , string $query [, string &$error_msg ] )
bool sqlite_exec ( string $query , resource $dbhandle )

Objektorientierter Stil (Methode):

public bool SQLiteDatabase::queryExec ( string $query [, string &$error_msg ] )

Führt eine SQL-Anweisung, die durch query gesetzt wurde, mit dem Datenbank-Handle (definiert durch den Parameter dbhandle) aus.

Warnung

SQLite kann mehrere, durch Semikolon getrennte Anweisungen ausführen. Dadurch kann man eine Reihe von Anweisungen aus einer Datei oder einem eingebetteten Skript laden und ausführen.

Parameter-Liste

dbhandle

Die Ressource der SQLite-Datenbank, die bei prozeduraler Benutzung von sqlite_open() zurückgegeben wurden. Der Parameter wird bei der objektorientierten Notation nicht benötigt.

query

Die auszuführende Anweisung.

Daten innerhalb einer Anfrage sollten maskiert werden.

error_msg

Die angegebene Variable wird bei einem Fehler gefüllt. Das ist insbesondere deswegen wichtig, weil SQL-Syntaxfehler nicht durch die Funktion sqlite_last_error() abgerufen werden können.

Hinweis: Zwei alternative Syntaxen werden für die Kompatibilität mit anderen Datenbank-Erweiterungen (wie z.B. MySQL) unterstützt. Die bevorzugte Form ist die erste, bei der der Parameter dbhandle der erste Parameter der Funktion ist.

Rückgabewerte

Die Funktion liefert ein boolsches Ergebnis; TRUE bei Erfolg, ansonsten FALSE. Wenn man eine Abfrage ausführen möchte, die Zeilen zurück liefern soll, sollte man bei sqlite_query() gucken.

Die Groß- und Kleinschreibung der Spaltennamen, die von SQLITE_ASSOC und SQLITE_BOTH zurückgegeben werden, wird entsprechend der Konfigurationsdirektive sqlite.assoc_case geändert.

Changelog

Version | Beschreibung
5.1.0 | Parameter error_msg wurde hinzugefügt

Beispiele

Beispiel #1 Prozedurales Beispiel

<?php
$dbhandle = sqlite_open('mysqlitedb');
$query = sqlite_exec($dbhandle, "UPDATE benutzer SET email='jDoe@example.com' WHERE benutzername='jDoe'", $error);
if (!$query) {
    exit("Fehler in der Abfrage: '$error'");
} else {
    echo 'Anzahl geänderter Zeilen: ', sqlite_changes($dbhandle);
}
?>

Beispiel #2 Objektorientiertes Beispiel

<?php
$dbhandle = new SQLiteDatabase('mysqlitedb');
$query = $dbhandle->queryExec("UPDATE benutzer SET email='jDoe@example.com' WHERE benutzername='jDoe'", $error);
if (!$query) {
    exit("Fehler in der Abfrage: '$error'");
} else {
    echo 'Anzahl geänderter Zeilen: ', $dbhandle->changes();
}
?>

Siehe auch

  • sqlite_query() - Führt auf einer Datenbank eine Abfrage durch und liefert das Abfrageergebnis zurück
  • sqlite_unbuffered_query() - Führt eine Abfrage aus, aber übernimmt die Daten nicht gleich ins PHP
  • sqlite_array_query() - Führt eine Datenbankabfrage durch und liefert das gesamte Abfrageergebnis als Liste zurück

sqlite_escape_string
sqlite_factory
SQLite Funktionen


Öffnet eine SQLite-Datenbank und gibt ein SQLiteDatabase-Objekt zurück

sqlite_exec
sqlite_fetch_all
SQLite Funktionen
PHP Manual

sqlite_factory

(PHP 5 < 5.4.0)

sqlite_factory — Öffnet eine SQLite-Datenbank und gibt ein SQLiteDatabase-Objekt zurück

Beschreibung

SQLiteDatabase sqlite_factory ( string $filename [, int $mode = 0666 [, string &$error_message ]] )

sqlite_factory() verhält sich ähnlich zu sqlite_open(), indem es eine SQLite-Datenbank öffnet oder diese erzeugt, sollte sie nicht vorhanden sein. Allerdings wird ein SQLiteDatabase-Objekt anstelle einer Resource zurückgegeben. Für weitere Details und Einschränkungen bitte auf der Referenzseite von sqlite_open() nachsehen.

Parameter-Liste

filename

Der Dateiname der SQLite-Datenbank.

mode

Der Parameter mode spezifiziert den Modus der Datei und sollte genutzt werden, wenn die Datenbank nur Lesezugriff erlauben soll. Zur Zeit wird dieser Parameter von der SQLite-Bibliothek ignoriert. Der Standardwert für Modus ist der oktale Wert 0666. Es handelt sich dabei um den empfohlenen Wert, wenn der Parameter error_message genutzt werden soll.

error_message

Wird als Referenz übergeben und gesetzt, um bei einem Fehler eine ausführliche Fehlermeldung zu erhalten, die erklärt, warum sich die Datenbank nicht öffnen lässt.

Rückgabewerte

Liefert ein SQLiteDatabase-Objekt bei einer erfolgreichen Verbindung, sonst NULL.

Beispiele

Beispiel #1 sqlite_factory() Beispiel

<?php
$dbhandle = sqlite_factory('sqlitedb');
$dbhandle->query('SELECT user_id, username FROM users');

/* functionally equivalent to: */

$dbhandle = new SQLiteDatabase('sqlitedb');
$dbhandle->query('SELECT user_id, username FROM users');

?>

Siehe auch

  • sqlite_open() - Öffnet eine SQLite-Datenbank und erzeugt die Datenbank, wenn diese nicht existiert.
  • sqlite_popen() - Öffnet eine persistente Verbindung zu einer SQLite-Datenbank und erzeugt diese im Bedarfsfall

sqlite_exec
sqlite_fetch_all
SQLite Funktionen


Holt sich alle Reihen eines Abfrageergebnisses und liefert sie als Array im Array zurück

sqlite_factory
sqlite_fetch_array
SQLite Funktionen
PHP Manual

sqlite_fetch_all

SQLiteResult::fetchAll

SQLiteUnbuffered::fetchAll

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_fetch_all -- SQLiteResult::fetchAll -- SQLiteUnbuffered::fetchAll — Holt sich alle Reihen eines Abfrageergebnisses und liefert sie als Array im Array zurück

Beschreibung

array sqlite_fetch_all ( resource $result [, int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )

Objektorientierter Stil (Methode):

array SQLiteResult::fetchAll ([ int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )
array SQLiteUnbuffered::fetchAll ([ int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )

sqlite_fetch_all() liefert ein Array des gesamten Abfrageergebnisses von der Ressource result zurück. Es ähnelt dem Aufruf von sqlite_query() (oder sqlite_unbuffered_query()) und danach sqlite_fetch_array()-Aufrufen für jede einzelne Reihe des Abfrageergebnisses.

Parameter-Liste

result

Die Ressource des SQLite-Ergebnisses. Der Parameter wird bei der objektorientierten Notation nicht benötigt.

result_type

Der optionale Parameter Ergebnis_Typ akzeptiert eine Konstante und bestimmt, wie das zurückgegebene Array indiziert wird. Während mit SQLITE_ASSOC nur assoziative Indizes (Namensfelder) zurückgegeben werden, werden mit SQLITE_NUM nur numerische Indizes (geordnete Feldnummern) zurückgegeben. SQLITE_BOTH gibt sowohl assoziative als auch numerische Indizes zurück. SQLITE_BOTH ist die Standardeinstellung.

decode_binary

Falls der Parameter decode_binary auf TRUE gesetzt ist (das ist die Standardeinstellung), dekodiert PHP die Binärkodierung, die bei Verwendung von sqlite_escape_string() auf die Daten angewendet wird. Solange Sie die Daten nicht mit anderen SQLite-Fähigen Applikationen teilen, sollten Sie diesen Wert in der Standardeinstellung lassen.

Rückgabewerte

Liefert ein Array mit den übrigen Reihen des Abfrageergebnisses. Wenn es direkt nach sqlite_query() aufgerufen wird, werden alle Reihen zurückgegeben. Wenn es nach sqlite_fetch_array() aufgerufen wird, wird der Rest zurückgegeben. Wenn es keine Reihen in einem Abfrageergebnis mehr gibt, liefert es ein leeres Array.

Die Groß- und Kleinschreibung der Spaltennamen, die von SQLITE_ASSOC und SQLITE_BOTH zurückgegeben werden, wird entsprechend der Konfigurationsdirektive sqlite.assoc_case geändert.

Beispiele

Beispiel #1 Prozedurales Beispiel

<?php
$dbhandle = sqlite_open('sqlitedb');
$query = sqlite_query($dbhandle, 'SELECT name, email FROM benutzer LIMIT 25');
$result = sqlite_fetch_all($query, SQLITE_ASSOC);
foreach ($result as $entry) {
    echo 'Name: ' . $entry['name'] . '  E-Mail: ' . $entry['email'];
}
?>

Beispiel #2 Objektorientiertes Beispiel

<?php
$dbhandle = new SQLiteDatabase('sqlitedb');

$query = $dbhandle->query('SELECT name, email FROM benutzer LIMIT 25'); // gepuffertes Abfrageergebnis
$query = $dbhandle->unbufferedQuery('SELECT name, email FROM benutzer LIMIT 25'); // ungepuffertes Abfrageergebnis

$result = $query->fetchAll(SQLITE_ASSOC);
foreach ($result as $entry) {
    echo 'Name: ' . $entry['name'] . '  E-Mail: ' . $entry['email'];
}
?>

Siehe auch

  • sqlite_fetch_array() - Liest die nächste Zeile aus dem Datenbankergebnis und gibt sie als Array zurück

sqlite_factory
sqlite_fetch_array
SQLite Funktionen


Liest die nächste Zeile aus dem Datenbankergebnis und gibt sie als Array zurück

sqlite_fetch_all
sqlite_fetch_column_types
SQLite Funktionen
PHP Manual

sqlite_fetch_array

SQLiteResult::fetch

SQLiteUnbuffered::fetch

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_fetch_array -- SQLiteResult::fetch -- SQLiteUnbuffered::fetch — Liest die nächste Zeile aus dem Datenbankergebnis und gibt sie als Array zurück

Beschreibung

array sqlite_fetch_array ( resource $result [, int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )

Objektorientierter Stil (Methode):

array SQLiteResult::fetch ([ int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )
array SQLiteUnbuffered::fetch ([ int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )

Liest die nächste Zeile von angegebenen result-Handle. Sind alle Zeilen ausgelesen, wird FALSE, anderenfalls ein assoziatives Array zurückgegeben, das die Daten der gelesenen Zeile enthält.

Parameter-Liste

result

Die SQLite-Ergebnisressource. Dieser Parameter wird nicht benötigt, wenn die objektorientierte Notation genutzt wird.

result_type

Der optionale Parameter Ergebnis_Typ akzeptiert eine Konstante und bestimmt, wie das zurückgegebene Array indiziert wird. Während mit SQLITE_ASSOC nur assoziative Indizes (Namensfelder) zurückgegeben werden, werden mit SQLITE_NUM nur numerische Indizes (geordnete Feldnummern) zurückgegeben. SQLITE_BOTH gibt sowohl assoziative als auch numerische Indizes zurück. SQLITE_BOTH ist die Standardeinstellung.

decode_binary

Falls der Parameter decode_binary auf TRUE gesetzt ist (das ist die Standardeinstellung), dekodiert PHP die Binärkodierung, die bei Verwendung von sqlite_escape_string() auf die Daten angewendet wird. Solange Sie die Daten nicht mit anderen SQLite-Fähigen Applikationen teilen, sollten Sie diesen Wert in der Standardeinstellung lassen.

Rückgabewerte

Liefert ein Array der nächsten Zeile des Datenbankerbegnisses oder FALSE, wenn die Position der nächsten Zeile ausserhalb des Datenbankergebnisses liegt.

Die Groß- und Kleinschreibung der Spaltennamen, die von SQLITE_ASSOC und SQLITE_BOTH zurückgegeben werden, wird entsprechend der Konfigurationsdirektive sqlite.assoc_case geändert.

Beispiele

Beispiel #1 Beispiel zur prozduralen Notation

<?php
$dbhandle = sqlite_open('sqlitedb');
$query = sqlite_query($dbhandle, 'SELECT name, email FROM users LIMIT 25');
while ($entry = sqlite_fetch_array($query, SQLITE_ASSOC)) {
    echo 'Name: ' . $entry['name'] . '  E-mail: ' . $entry['email'];
}
?>

Beispiel #2 Beispiel zur objektorientierten Notation

<?php
$dbhandle = new SQLiteDatabase('sqlitedb');

$query = $dbhandle->query('SELECT name, email FROM users LIMIT 25'); // gepuffertes Datenbankergebnis
$query = $dbhandle->unbufferedQuery('SELECT name, email FROM users LIMIT 25'); // ungepuffertes Datenbankergebnis

while ($entry = $query->fetch(SQLITE_ASSOC)) {
    echo 'Name: ' . $entry['name'] . '  E-mail: ' . $entry['email'];
}
?>

Siehe auch

  • sqlite_array_query() - Führt eine Datenbankabfrage durch und liefert das gesamte Abfrageergebnis als Liste zurück
  • sqlite_fetch_string() - Alias von sqlite_fetch_single

sqlite_fetch_all
sqlite_fetch_column_types
SQLite Funktionen


Liefert ein Array mit den Spaltentypen einer bestimmten Tabelle

sqlite_fetch_array
sqlite_fetch_object
SQLite Funktionen
PHP Manual

sqlite_fetch_column_types

SQLiteDatabase::fetchColumnTypes

(PHP 5 < 5.4.0)

sqlite_fetch_column_types -- SQLiteDatabase::fetchColumnTypes — Liefert ein Array mit den Spaltentypen einer bestimmten Tabelle

Beschreibung

array sqlite_fetch_column_types ( string $table_name , resource $dbhandle [, int $result_type = SQLITE_ASSOC ] )

Objektorientierter Stil (Methode):

public array SQLiteDatabase::fetchColumnTypes ( string $table_name [, int $result_type = SQLITE_ASSOC ] )

sqlite_fetch_column_types() liefert ein Array mit den Datentypen aller Spalten in der angegebenen Tabelle table_name.

Parameter-Liste

table_name

Der abzufragende Tabellenname.

dbhandle

Die Ressource der SQLite-Datenbank, die bei prozeduraler Benutzung von sqlite_open() zurückgegeben wurden. Der Parameter wird bei der objektorientierten Notation nicht benötigt.

result_type

Der optionale Parameter result_type akzeptiert eine Konstante und bestimmt, wie die Rückgabeliste indiziert wird. Mit SQLITE_ASSOC werden nur assoziative Indices (Namensfelder) und mit SQLITE_NUM werden nur numerische Indices (geordnete Feldnummern) gesetzt. SQLITE_ASSOC ist Standard.

Rückgabewerte

Liefert ein Array der Datentypen aller Spalten oder FALSE im Fehlerfall.

Die Groß- und Kleinschreibung der Spaltennamen, die von SQLITE_ASSOC und SQLITE_BOTH zurückgegeben werden, wird entsprechend der Konfigurationsdirektive sqlite.assoc_case geändert.

Changelog

Version | Beschreibung
5.1.0 | result_type hinzugefügt

Beispiele

Beispiel #1 Prozedurales Beispiel

<?php
$db = sqlite_open('mysqlitedb');
sqlite_query($db, 'CREATE TABLE foo (bar varchar(10), arf text)');
$cols = sqlite_fetch_column_types('foo', $db, SQLITE_ASSOC);

foreach ($cols as $column => $type) {
    echo "Spalte: $column  Typ: $type";
}
?>

Beispiel #2 Objektorientiertes Beispiel

<?php
$db = new SQLiteDatabase('mysqlitedb');
$db->query('CREATE TABLE foo (bar varchar(10), arf text)');
$cols = $db->fetchColumnTypes('foo', SQLITE_ASSOC);

foreach ($cols as $column => $type) {
    echo "Spalte: $column  Typ: $type";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Spalte: bar  Typ: VARCHAR
Spalte: arf  Typ: TEXT

sqlite_fetch_array
sqlite_fetch_object
SQLite Funktionen


Holt sich die nächste Reihe des Ergebnisses und gibt diese als Objekt zurück

sqlite_fetch_column_types
sqlite_fetch_single
SQLite Funktionen
PHP Manual

sqlite_fetch_object

SQLiteResult::fetchObject

SQLiteUnbuffered::fetchObject

(PHP 5 < 5.4.0)

sqlite_fetch_object -- SQLiteResult::fetchObject -- SQLiteUnbuffered::fetchObject — Holt sich die nächste Reihe des Ergebnisses und gibt diese als Objekt zurück

Beschreibung

object sqlite_fetch_object ( resource $result [, string $class_name [, array $ctor_params [, bool $decode_binary = true ]]] )

Objektorientierter Stil (Methode):

object SQLiteResult::fetchObject ([ string $class_name [, array $ctor_params [, bool $decode_binary = true ]]] )
object SQLiteUnbuffered::fetchObject ([ string $class_name [, array $ctor_params [, bool $decode_binary = true ]]] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

sqlite_fetch_column_types
sqlite_fetch_single
SQLite Funktionen


Holt sich die erste Spalte eines Abfrageergebnisses als String

sqlite_fetch_object
sqlite_fetch_string
SQLite Funktionen
PHP Manual

sqlite_fetch_single

SQLiteResult::fetchSingle

SQLiteUnbuffered::fetchSingle

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.1)

sqlite_fetch_single -- SQLiteResult::fetchSingle -- SQLiteUnbuffered::fetchSingle — Holt sich die erste Spalte eines Abfrageergebnisses als String

Beschreibung

string sqlite_fetch_single ( resource $result [, bool $decode_binary = true ] )

Objektorientierter Stil (Methode):

string SQLiteResult::fetchSingle ([ bool $decode_binary = true ] )
string SQLiteUnbuffered::fetchSingle ([ bool $decode_binary = true ] )

sqlite_fetch_single() ist identisch mit sqlite_fetch_array(), außer dass es die erste Spalte der Abfragereihe liefert.

Es ist der beste Weg, um Daten zu bekommen, wenn man nur die ersten Spalte der Daten benötigt.

Parameter-Liste

result

Die Ressource des SQLite-Ergebnisses. Der Parameter wird bei der objektorientierten Notation nicht benötigt.

decode_binary

Falls der Parameter decode_binary auf TRUE gesetzt ist (das ist die Standardeinstellung), dekodiert PHP die Binärkodierung, die bei Verwendung von sqlite_escape_string() auf die Daten angewendet wird. Solange Sie die Daten nicht mit anderen SQLite-Fähigen Applikationen teilen, sollten Sie diesen Wert in der Standardeinstellung lassen.

Rückgabewerte

Liefert den Inhalt der ersten Spalte als eine Zeichenkette (string).

Beispiele

Beispiel #1 Ein sqlite_fetch_single()-Beispiel

<?php
if ($dbhandle = sqlite_open('mysqlitedb', 0666, $sqliteerror)) {

    $sql = "SELECT id FROM sometable WHERE id = 42";
    $res = sqlite_query($dbhandle, $sql);

    if (sqlite_num_rows($res) > 0) {
        echo sqlite_fetch_single($res); // 42
    }

    sqlite_close($dbhandle);
}
?>

Siehe auch

  • sqlite_fetch_array() - Liest die nächste Zeile aus dem Datenbankergebnis und gibt sie als Array zurück

sqlite_fetch_object
sqlite_fetch_string
SQLite Funktionen


Alias von sqlite_fetch_single

sqlite_fetch_single
sqlite_field_name
SQLite Funktionen
PHP Manual

sqlite_fetch_string

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_fetch_string — Alias von sqlite_fetch_single()

Beschreibung

Diese Funktion ist ein Alias für: sqlite_fetch_single().

sqlite_fetch_single
sqlite_field_name
SQLite Funktionen


Gibt den Namen eines Feldes zurück

sqlite_fetch_string
sqlite_has_more
SQLite Funktionen
PHP Manual

sqlite_field_name

SQLiteResult::fieldName

SQLiteUnbuffered::fieldName

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_field_name -- SQLiteResult::fieldName -- SQLiteUnbuffered::fieldName — Gibt den Namen eines Feldes zurück

Beschreibung

string sqlite_field_name ( resource $result , int $field_index )

Objektorientierter Stil (Methode):

string SQLiteResult::fieldName ( int $field_index )
string SQLiteUnbuffered::fieldName ( int $field_index )

Übergibt man die Ordnungszahl einer Spalte field_index, wird sqlite_field_name() den Namen des Feldes im Abfrageergebnis result zurückgegeben.

Parameter-Liste

result

Die SQLite-Ergebnisressource. Dieser Parameter wird in der objektorientierten Notation nicht benötigt.

field_index

Die Ordnungszahl der Spalte im Abfrageergebnis.

Rückgabewerte

Liefert den Namen eines Feldes in einem SOLite-Ergebnis, identifiziert bei der Ordnungszahl einer Spalte; FALSE im Fehlerfall.

Die Groß- und Kleinschreibung der Spaltennamen, die von SQLITE_ASSOC und SQLITE_BOTH zurückgegeben werden, wird entsprechend der Konfigurationsdirektive sqlite.assoc_case geändert.

sqlite_fetch_string
sqlite_has_more
SQLite Funktionen


Findet heraus, ob noch Reihen im Ergebnis vorhanden sind

sqlite_field_name
sqlite_has_prev
SQLite Funktionen
PHP Manual

sqlite_has_more

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_has_more — Findet heraus, ob noch Reihen im Ergebnis vorhanden sind

Beschreibung

bool sqlite_has_more ( resource $result )

Findet heraus, ob noch weitere Reihen im Ergebnis vorhanden sind.

Parameter-Liste

result

Die SQLite-Ergebnisressource.

Rückgabewerte

Liefert TRUE zurück, wenn noch Reihen im Ergebnis result zur Verfügung stehen oder FALSE, wenn nicht.

Siehe auch

  • sqlite_num_rows() - Liefert die Anzahl an Reihen eines gepufferten Abfrageergebnisses zurück
  • sqlite_changes() - Liefert die Anzahl der vom letzten SQL-Befehl geänderten Datenbankeinträge.

sqlite_field_name
sqlite_has_prev
SQLite Funktionen


Gibt zurück, ob eine vorige Reihe existiert oder nicht

sqlite_has_more
sqlite_key
SQLite Funktionen
PHP Manual

sqlite_has_prev

SQLiteResult::hasPrev

(PHP 5 < 5.4.0)

sqlite_has_prev -- SQLiteResult::hasPrev — Gibt zurück, ob eine vorige Reihe existiert oder nicht

Beschreibung

bool sqlite_has_prev ( resource $result )

Objektorientierter Stil (Methode):

bool SQLiteResult::hasPrev ( void )

Findes heraus, ob es noch mehr vorige Reihen im Abfrageergebnis gibt.

Parameter-Liste

result

Die Ressource des SQLite-Ergebnisses. Der Parameter wird bei der objektorientierten Notation nicht benötigt.

Hinweis:

Diese Funktion kann nicht mit ungepufferten Ergebnishandlern benutzt werden.

Rückgabewerte

Liefert TRUE zurück, wenn es noch mehr vorige Reihen im result-Handler gibt. Andernfalls wird FALSE geliefert.

Siehe auch

  • sqlite_prev() - Springt zur vorige Zeile
  • sqlite_has_more() - Findet heraus, ob noch Reihen im Ergebnis vorhanden sind
  • sqlite_num_rows() - Liefert die Anzahl an Reihen eines gepufferten Abfrageergebnisses zurück

sqlite_has_more
sqlite_key
SQLite Funktionen


Liefert den aktuellen Zeilenindex

sqlite_has_prev
sqlite_last_error
SQLite Funktionen
PHP Manual

sqlite_key

SQLiteResult::key

(PHP 5 >= 5.1.0 and < 5.4.0)

sqlite_key -- SQLiteResult::key — Liefert den aktuellen Zeilenindex

Beschreibung

Objektorientierter Stil (method):

int SQLiteResult::key ( void )

SQLiteResult::key() liefert den aktuellen Reihenindex des gepufferten Ergebnisses result.

Im Gegensatz zu allen anderen SQLite-Funktionen hat diese Funktion keine prozedurale Version, und kann nur als Methode eines SQLiteResult-Objekts aufgerufen werden.

Parameter-Liste

result

Die Ressource des SQLite-Ergebnisses. Der Parameter wird bei der objektorientierten Notation nicht benötigt.

Hinweis:

Diese Funktion kann nicht mit ungepufferten Ergebnishandlern benutzt werden.

Rückgabewerte

Liefert den aktuellen Zeilenindex des gepufferten Abfrageergebnises result.

Siehe auch

  • sqlite_next() - Wechselt zu der nächsten Zeilennummer
  • sqlite_current() - Holt die aktuelle Zeile als Array aus dem Abfrageergebnis
  • sqlite_rewind() - Springt zur ersten Zeile

sqlite_has_prev
sqlite_last_error
SQLite Funktionen


Liefert den Fehlercode des letzten Fehlers einer Datenbank

sqlite_key
sqlite_last_insert_rowid
SQLite Funktionen
PHP Manual

sqlite_last_error

SQLiteDatabase::lastError

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_last_error -- SQLiteDatabase::lastError — Liefert den Fehlercode des letzten Fehlers einer Datenbank

Beschreibung

int sqlite_last_error ( resource $dbhandle )

Objektorientierter Stil (Methode):

public int SQLiteDatabase::lastError ( void )

Liefert den Fehlercode der letzten Operation, die von der Datenbank-Verbindung dbhandle ausgeführt wurde oder 0, wenn kein Fehler aufgetreten ist. Eine menschenlesbare Beschreibung dieses Fehlercodes kann über sqlite_error_string() erzeugt werden.

Parameter-Liste

dbhandle

Die Datenbank-Ressource, zurückgegeben vom sqlite_open(), wenn im prozeduralem Kontext genutzt. Dieser Parameter wird in der objektorientierten Notation nicht benötigt.

Rückgabewerte

Liefert einen Fehler-Code oder 0 (Null), wenn kein Fehler aufgetreten ist.

Siehe auch

  • sqlite_error_string() - Liefert eine textuelle Beschreibung eines Fehler-Codes

sqlite_key
sqlite_last_insert_rowid
SQLite Funktionen


Liefert die Zeilenidentifikation der zuletzt eingefügten Reihe zurück

sqlite_last_error
sqlite_libencoding
SQLite Funktionen
PHP Manual

sqlite_last_insert_rowid

SQLiteDatabase::lastInsertRowid

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_last_insert_rowid -- SQLiteDatabase::lastInsertRowid — Liefert die Zeilenidentifikation der zuletzt eingefügten Reihe zurück

Beschreibung

int sqlite_last_insert_rowid ( resource $dbhandle )

Objektorientierter Stil (Methode):

public int SQLiteDatabase::lastInsertRowid ( void )

Liefert die Zeilenidentifikation der zuletzt in die Datenbank dbhandle eingefügten Reihe zurück, wenn diese als automatische hochzählendes ('auto-increment') Feld angelegt wurde.

Tipp

In SQLite erzeugt man ein 'auto-increment'-Feld in dem man dieses als INTEGER PRIMARY KEY im Tabellen-Schema definiert.

Parameter-Liste

dbhandle

Die SQLite-Datenbankressource, zurückgegeben von sqlite_open(), wenn prozedural angewendet. Wird die objektorientierte Notation genutzt, wird dieser Parameter nicht benötigt.

Rückgabewerte

Liefert die Kennung der Zeilen als Integer.

sqlite_last_error
sqlite_libencoding
SQLite Funktionen


Liefert die Kodierung der verwendeten SQLite-Bibliothek zurück

sqlite_last_insert_rowid
sqlite_libversion
SQLite Funktionen
PHP Manual

sqlite_libencoding

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_libencoding — Liefert die Kodierung der verwendeten SQLite-Bibliothek zurück

Beschreibung

string sqlite_libencoding ( void )

Die SQLite-Bibliothek kann entweder mit der ISO-8859-1-Kodierung oder mit UTF-8 kompiliert werden. Diese Funktion erlaubt es Ihnen, festzustellen, welche Kodierung von der von Ihnen genutzten Datenbank unterstützt wird.

Warnung

Die Standarddistribution von PHP enhält eine SQLite-Library (libsqlite) mit ISO-8859-1-Kodierung. In Wahrheit wird aber nicht ISO-8859-1 genutzt, sondern die von Ihnen genutzte Locale-Einstellung für Stringvergleiche und Sortierreihenfolgen. Also handelt es sich eigentlich eher um 8-bit als um ISO-8859-1.

Wenn SQLite mit UTF-8-Unterstützung kompiliert wurde, kümmert sich SQLite zwar um das Kodieren und Dekodieren von UTF-8-Multibyte Zeichen, aber es kümmert sich nicht um alle Details, die die Nutzung der Daten betreffen (es wird zum Beispiel keine Normalisierung durchgeführt). Einige Vergleichsoperationen werden unter Umständen nicht korrekt durchgeführt.

Warnung

PHP sollte in einer Webserver-Konfiguration nicht mit eine SQLite-Version mit einkompilierte UTF-8-Unterstützung genutzt werden, da dann die SQLite-Bibliothek (libsqlite) den Prozess abricht, sobald ein Problem mit der UTF-8-Kodierung feststellt.

Rückgabewerte

Liefert die Kodierung der Bibliothek.

Siehe auch

  • sqlite_lib_version()

sqlite_last_insert_rowid
sqlite_libversion
SQLite Funktionen


Liefert die Version der genutzten SQLite-Bibliothek

sqlite_libencoding
sqlite_next
SQLite Funktionen
PHP Manual

sqlite_libversion

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_libversion — Liefert die Version der genutzten SQLite-Bibliothek

Beschreibung

string sqlite_libversion ( void )

Liefert die Version der genutzten SQLite-Bibliothek.

Rückgabewerte

Liefert die Version der Bibliothek als Zeichenkette.

Siehe auch

  • sqlite_libencoding() - Liefert die Kodierung der verwendeten SQLite-Bibliothek zurück

sqlite_libencoding
sqlite_next
SQLite Funktionen


Wechselt zu der nächsten Zeilennummer

sqlite_libversion
sqlite_num_fields
SQLite Funktionen
PHP Manual

sqlite_next

SQLiteResult::next

SQLiteUnbuffered::next

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_next -- SQLiteResult::next -- SQLiteUnbuffered::next — Wechselt zu der nächsten Zeilennummer

Beschreibung

bool sqlite_next ( resource $result )

Objektorientierter Stil (Methode):

bool SQLiteResult::next ( void )
bool SQLiteUnbuffered::next ( void )

sqlite_next() schaltet das Abfrageergebnis Ergebnis auf die nächste Zeile um.

Parameter-Liste

result

Die SQLite-Ergebnisressource. Dieser Parameter wird bei der objektorientierter Notation nicht benötigt.

Rückgabewerte

Liefert FALSE zurück, wenn keine weiteren Zeilen vorhanden sind, ansonsten TRUE

Siehe auch

  • sqlite_seek() - Wechselt zu einer Reihe in einem gepufferten Abfrageergebnis
  • sqlite_current() - Holt die aktuelle Zeile als Array aus dem Abfrageergebnis
  • sqlite_rewind() - Springt zur ersten Zeile

sqlite_libversion
sqlite_num_fields
SQLite Funktionen


Liefert die Anzahl der Felder eines Abfrageergebnisses zurück

sqlite_next
sqlite_num_rows
SQLite Funktionen
PHP Manual

sqlite_num_fields

SQLiteResult::numFields

SQLiteUnbuffered::numFields

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_num_fields -- SQLiteResult::numFields -- SQLiteUnbuffered::numFields — Liefert die Anzahl der Felder eines Abfrageergebnisses zurück

Beschreibung

int sqlite_num_fields ( resource $result )

Objektorientierter Stil (Methode):

int SQLiteResult::numFields ( void )
int SQLiteUnbuffered::numFields ( void )

Liefert die Anzahl von Feldern eines Datenbankergebnisses result zurück.

Parameter-Liste

result

Die SQLite-Ergebnisressource, Dieser Parameter wird in der objektorientierten Notation nicht benötigt.

Rückgabewerte

Liefert die Anzahl der Reihen als Integer.

Siehe auch

  • sqlite_changes() - Liefert die Anzahl der vom letzten SQL-Befehl geänderten Datenbankeinträge.
  • sqlite_num_rows() - Liefert die Anzahl an Reihen eines gepufferten Abfrageergebnisses zurück

sqlite_next
sqlite_num_rows
SQLite Funktionen


Liefert die Anzahl an Reihen eines gepufferten Abfrageergebnisses zurück

sqlite_num_fields
sqlite_open
SQLite Funktionen
PHP Manual

sqlite_num_rows

SQLiteResult::numRows

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_num_rows -- SQLiteResult::numRows — Liefert die Anzahl an Reihen eines gepufferten Abfrageergebnisses zurück

Beschreibung

int sqlite_num_rows ( resource $result )

Objektorientierter Stil (Methode):

int SQLiteResult::numRows ( void )

Liefert die Anzahl an Reihen in dem gepufferten Abfrageergebnis result zurück.

Parameter-Liste

result

Die SQLite-Ergebnisressource. Dieser Parameter wird in der objektorientierten Notation nicht benötigt.

Hinweis:

Diese Funktion kann nicht mit ungepufferten Ergebnishandlern benutzt werden.

Rückgabewerte

Liefert die Anzahl der Reihen als Integer.

Beispiele

Beispiel #1 Prozedurales Beispiel

<?php
$db = sqlite_open('mysqlitedb');
$result = sqlite_query($db, "SELECT * FROM mytable WHERE name='John Doe'");
$rows = sqlite_num_rows($result);

echo "Anzahl Reihen: $rows";
?>

Beispiel #2 Objektorientiertes Beispiel

<?php
$db = new SQLiteDatabase('mysqlitedb');
$result = $db->query("SELECT * FROM mytable WHERE name='John Doe'");
$rows = $result->numRows();

echo "Anzahl Reihen: $rows";
?>

Siehe auch

  • sqlite_changes() - Liefert die Anzahl der vom letzten SQL-Befehl geänderten Datenbankeinträge.
  • sqlite_query() - Führt auf einer Datenbank eine Abfrage durch und liefert das Abfrageergebnis zurück
  • sqlite_num_fields() - Liefert die Anzahl der Felder eines Abfrageergebnisses zurück

sqlite_num_fields
sqlite_open
SQLite Funktionen


Öffnet eine SQLite-Datenbank und erzeugt die Datenbank, wenn diese nicht existiert.

sqlite_num_rows
sqlite_popen
SQLite Funktionen
PHP Manual

sqlite_open

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_open — Öffnet eine SQLite-Datenbank und erzeugt die Datenbank, wenn diese nicht existiert.

Beschreibung

resource sqlite_open ( string $filename [, int $mode = 0666 [, string &$error_message ]] )

Objektorientierter Stil (Konstruktor):

final public SQLiteDatabase::__construct ( string $filename [, int $mode = 0666 [, string &$error_message ]] )

Öffnet eine SQLite-Datenbank. Wenn die Datenbank nicht existiert, wird sie erzeugt.

Parameter-Liste

filename

Dateiname der SQLite-Datenbank. Es handelt sich dabei entweder um einen relativen, oder einen absoluten Pfad zu der Datei, in der SQLite die Daten speichern wird. Wenn die Datei noch nicht existiert, wird SQlite versuchen, sie zu erzeugen. Sie MÜSSEN Schreibrechte auf die Datei haben, wenn Sie Daten in die Datenbank eintragen oder die Datenbank ändern wollen.

mode

Modus der Datei. Dieser sollte genutzt werden, wenn die Datenbank nur Lesezugriff erlauben soll. Zur Zeit wird dieser Parameter von der SQLite-Bibliothek ignoriert. Der Standardwert für Modus ist der oktale Wert 0666. Es handelt sich dabei um den empfohlenen Wert, wenn der Parameter error_message genutzt werden soll.

error_message

Wird als Referenz übergeben und wird im Fehlerfall eine aussagekräftige Fehlermeldung enthalten. Diese wird erklären, warum die Datenbank nicht geöffnet werden konnte.

Rückgabewerte

Liefert eine Ressource (Datenbankverbindung) nach erfolgreichem Verbindungsaufbau. Ist ein Fehler aufgetreten wird FALSE zurückgegeben.

Beispiele

Beispiel #1 sqlite_open()-Beispiel

<?php
if ($db = sqlite_open('mysqlitedb', 0666, $sqliteerror)) {
    sqlite_query($db, 'CREATE TABLE foo (bar varchar(10))');
    sqlite_query($db, "INSERT INTO foo VALUES ('fnord')");
    $result = sqlite_query($db, 'select bar from foo');
    var_dump(sqlite_fetch_array($result));
} else {
    die($sqliteerror);
}
?>

Anmerkungen

Tipp

In Unix-Umgebungen reagiert SQLite auf Skripte, die den Systembefehl fork() nutzen. Sollten Sie ein solches Skript einsetzen, ist es ratsam bestehende Datenbankverbindungen zu beenden, anschließend den Fork ausführen, um dann die Verbindung entweder in einem Kind- oder dem Eltern-Prozess wieder herzustellen. Mehr Informationen zu diesem Thema finden Sie unter » Die C Sprachenschnittstelle zur SQLite-Bibliothek in dem Kapitel names Multi-Threading And SQLite.

Tipp

Es ist nicht empfehlenswert mit SQLite-Datenbanken zu arbeiten, die auf einer via NFS verbundenen Partition gespeichert sind. NFS neigt notorisch zu einem unvorhersehbarem Verhalten, wenn Dateien exklusiv gegen den Zugriff durch Dritte gesperrt werden. Dabei kann es sein, dass entweder eine Datenbankverbindung gar nicht zustande kommt, oder das Sperrverhalten undefiniert ist.

Hinweis: Seit der SQLite-Bibliothek in der Version 2.8.2, ist es möglich :memory: als filename anzugeben. Die erzeugte Datenbank wird dann ausschließlich im Speicher des Computers erzeugt und verwaltet. Dies ist nützlich bei der temporären Datenverarbeitung, da die Datenbank mit Prozessende zerstört wird. Eine solche Datenbank ist ebenfals nützlich, wenn sie in Verbindung mit dem ATTACH DATABASE SQL-Befehl andere Datenbanken einbindet, um Daten zwischen diesen auszutauschen und abzufragen.

Hinweis: SQLite berücksichtigt Safe Mode und open_basedir.

Siehe auch

  • sqlite_popen() - Öffnet eine persistente Verbindung zu einer SQLite-Datenbank und erzeugt diese im Bedarfsfall
  • sqlite_close() - Schließt eine SQLite-Datenbankverbindung
  • sqlite_factory() - Öffnet eine SQLite-Datenbank und gibt ein SQLiteDatabase-Objekt zurück

sqlite_num_rows
sqlite_popen
SQLite Funktionen


Öffnet eine persistente Verbindung zu einer SQLite-Datenbank und erzeugt diese im Bedarfsfall

sqlite_open
sqlite_prev
SQLite Funktionen
PHP Manual

sqlite_popen

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_popen — Öffnet eine persistente Verbindung zu einer SQLite-Datenbank und erzeugt diese im Bedarfsfall

Beschreibung

resource sqlite_popen ( string $filename [, int $mode = 0666 [, string &$error_message ]] )

Diese Funktion verhält sich identisch zu sqlite_open() mit dem Unterschied, dass sie den persistenten Mechanismus von PHP nutzt. Detailliertere Informationen, was die Parameter bedeuten, finden Sie in der Dokumentation zu sqlite_open().

sqlite_open() testet als erstes, ob schon eine persistente Verbindung für den übergebenen filename existiert. Wenn eine Verbindung gefunden wird, wird diese zurückgegeben, ansonsten wird eine neue aufgebaut.

Der Vorteil dieser Methode ist, dass Sie nicht die Leistungseinbußen in Kauf nehmen müssen, die wiederholtes Lesen der Datenbank und des Index-Schemas bei jedem Aufruf der Seite, welche durch die persistente Webserver SAPI (jede SAPI außer für reguläre CGi und CLI) ausgeliefert wird, mit sich bringt.

Hinweis: Wenn Sie persistente Verbindungen nutzen und Sie die Datenbank mittels einees Hintergrund-Prozesses (vielleicht mittels der crontab) aktualisieren und dieser Prozess die Datenbank wiederherstellt in dem er diese überschreibt (entweder durch Löschen und Wiederherstellen oder durch Verschieben der aktualisierten Version an die Stelle der aktuellen Version, um diese dadurch zu ersetzen), kann es zu einem undefinierten Verhalten kommen, wenn die persistente Verbindung, welches noch auf die 'alte' Version der Datenbank zeigt, wiederverwendet wird. Um diese Situation zu verhindern, sollten die Hintergrund-Prozesse die selbe Datenbank nutzen und ihre Änderungen innerhab einer 'transaction' verrichten.

Parameter-Liste

filename

Der Dateiname der SQLite-Datenbank. Wenn die Datei nicht existiert, wird SQLite versuchen diese zu erzeugen. PHP muss dem zur Folge Schreibzugriff auf die Datei haben, in die Daten eingefügt oder das Datenbank-Schema geändert werden soll oder die angelegt wird, wenn sie nicht existiert.

mode

Der Modus der Datei. Vorgesehen für den Fall, dass die Datenbank im Nur-Lesen-Modus geöffnet werden soll. Dieser Parameter wird im Moment von der SQLite-Biblothek ignoriert. Der Standardwert für den Modus ist der oktale Wert 0666. Dies ist auch der empfohlene Wert des Parameters.

error_message

Wird als Referenz übergeben und beinhaltet im Fehlerfall eine aussagekräftige Fehlermeldung, die erklärt, warum die Datenbank nicht geöffnet werden konnte.

Rückgabewerte

Liefert eine Ressource (Datenbank-Vebindung), wenn die Zuteilung einer Verbindung erfolgreich war, ansonsten FALSE.

Siehe auch

  • sqlite_open() - Öffnet eine SQLite-Datenbank und erzeugt die Datenbank, wenn diese nicht existiert.
  • sqlite_close() - Schließt eine SQLite-Datenbankverbindung
  • sqlite_factory() - Öffnet eine SQLite-Datenbank und gibt ein SQLiteDatabase-Objekt zurück

sqlite_open
sqlite_prev
SQLite Funktionen


Springt zur vorige Zeile

sqlite_popen
sqlite_query
SQLite Funktionen
PHP Manual

sqlite_prev

SQLiteResult::prev

(PHP 5 < 5.4.0)

sqlite_prev -- SQLiteResult::prev — Springt zur vorige Zeile

Beschreibung

bool sqlite_prev ( resource $result )

Objektorientierter Stil (Methode):

bool SQLiteResult::prev ( void )

sqlite_prev() springt im result-Handler zur vorigen Zeile.

Parameter-Liste

result

Die Ressource des SQLite-Ergebnisses. Der Parameter wird bei der objektorientierten Methode nicht benötigt.

Hinweis:

Diese Funktion kann nicht mit ungepufferten Ergebnishandlern benutzt werden.

Rückgabewerte

Liefert bei Erfolg TRUE zurück. Sind keine vorigen Reihen mehr vorhanden wird FALSE zurückgegeben.

Siehe auch

  • sqlite_has_prev() - Gibt zurück, ob eine vorige Reihe existiert oder nicht
  • sqlite_rewind() - Springt zur ersten Zeile
  • sqlite_next() - Wechselt zu der nächsten Zeilennummer

sqlite_popen
sqlite_query
SQLite Funktionen


Führt auf einer Datenbank eine Abfrage durch und liefert das Abfrageergebnis zurück

sqlite_prev
sqlite_rewind
SQLite Funktionen
PHP Manual

sqlite_query

SQLiteDatabase::query

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_query -- SQLiteDatabase::query — Führt auf einer Datenbank eine Abfrage durch und liefert das Abfrageergebnis zurück

Beschreibung

resource sqlite_query ( resource $dbhandle , string $query [, int $result_type = SQLITE_BOTH [, string &$error_msg ]] )
resource sqlite_query ( string $query , resource $dbhandle [, int $result_type = SQLITE_BOTH [, string &$error_msg ]] )

Objektorientierter Stil (Methode):

public SQLiteResult SQLiteDatabase::query ( string $query [, int $result_type = SQLITE_BOTH [, string &$error_msg ]] )

Führt eine, durch den Parameter query übergebene, SQL-Anfrage auf der übergebenen Datenbank-Verbindung aus.

Parameter-Liste

dbhandle

Die SQLite-Datenbankressource, zurückgegeben von sqlite_open(), wenn prozedural genutzt. In der objektorientierten Notation wird dieser Parameter nicht benötigt.

query

Die auszuführende Anfrage.

Daten innerhalb einer Anfrage sollten maskiert werden.

result_type

Der optionale Parameter Ergebnis_Typ akzeptiert eine Konstante und bestimmt, wie das zurückgegebene Array indiziert wird. Während mit SQLITE_ASSOC nur assoziative Indizes (Namensfelder) zurückgegeben werden, werden mit SQLITE_NUM nur numerische Indizes (geordnete Feldnummern) zurückgegeben. SQLITE_BOTH gibt sowohl assoziative als auch numerische Indizes zurück. SQLITE_BOTH ist die Standardeinstellung.

error_msg

Die spezifizierte Variable wird im Falle eines Fehlers gesetzt. Diese ist besonders wichtig, denn SQL-Syntaxfehler können nicht mittels sqlite_last_error() ausgelesen werden.

Hinweis: Zwei alternative Syntaxen werden für die Kompatibilität mit anderen Datenbank-Erweiterungen (wie z.B. MySQL) unterstützt. Die bevorzugte Form ist die erste, bei der der Parameter dbhandle der erste Parameter der Funktion ist.

Rückgabewerte

Diese Funktion gibt ein Ergebnis-Handle zurück. Im Fehlerfall wird FALSE zurückgegeben. Für Anfragen, die Reihen liefern, kann das Abfrageergebnis mit Funktionen, wie sqlite_seek() oder sqlite_fetch_array() augelesen werden.

Ungeachtet des Anfrage-Typs, gibt diese Funktion FALSE zurück, wenn die Anfrage fehlschlägt.

sqlite_query() gib ein gepuffertes Ergebnis, dessen Zeilen einzeln ansprechbar sind. Dies ist für kleine Abfragen nützlich, bei denen man abwechselnd unterschiedliche Zeilen abfragen will. Die gepufferten Ergebnisse belegen Speicher, um das gesamte Ergebnis halten zu können. Dieser Speicher wird erst dann wieder freigegeben, wenn das komplette Ergebnis durchlaufen wurde. Wenn nur ein sequentieller Zugriff auf die Daten nötig ist, wird empfohlen, die performantere Funktion sqlite_unbuffered_query() zu nutzen.

Changelog

Version | Beschreibung
5.1.0 | error_msg wurde hinzugefügt

Anmerkungen

Warnung

SQlite ist in der Lage durch Semikolon getrennte Anfragen in einem Schub auszuführen. Diese können aus einer Datei geladen oder durch ein Skript bereitgestellt werden. Wie auch immer, das funktioniert nur, wenn das Ergebins der Anfrage nicht benutzt wird. Sollte es doch genutzt werden, wird nur die erste SQL-Anfrage der Liste ausgeführt. Die Funktion sqlite_exec() wird immer Mehrfach-Anfragen ausführen.

Wenn Mehrfach-Anfrage ausgeführt werden, wird die Funktion im Fehlerfall FALSE zurückgeben, anderenfalls jedoch ein undefiniertes Ergebnis (das kann, sollte die Anfrage gelingen, TRUE oder ein Ergebnis-Handle sein).

Siehe auch

  • sqlite_unbuffered_query() - Führt eine Abfrage aus, aber übernimmt die Daten nicht gleich ins PHP
  • sqlite_array_query() - Führt eine Datenbankabfrage durch und liefert das gesamte Abfrageergebnis als Liste zurück

sqlite_prev
sqlite_rewind
SQLite Funktionen


Springt zur ersten Zeile

sqlite_query
sqlite_seek
SQLite Funktionen
PHP Manual

sqlite_rewind

SQLiteResult::rewind

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_rewind -- SQLiteResult::rewind — Springt zur ersten Zeile

Beschreibung

bool sqlite_rewind ( resource $result )

Objektorientierter Stil (Methode):

bool SQLiteResult::rewind ( void )

sqlite_rewind() springt zurück auf die erste Zeile eines Abfrageergebnisses.

Parameter-Liste

result

Die SQLite-Ergebnis Ressource. Dieser Parameter wird nicht benötigt, wenn die objektorientierte Notation genutzt wird.

Hinweis:

Diese Funktion kann nicht mit ungepufferten Ergebnishandlern benutzt werden.

Rückgabewerte

Liefert FALSE zurück, wenn das Ergebnis leer ist, ansonsten TRUE.

Siehe auch

  • sqlite_next() - Wechselt zu der nächsten Zeilennummer
  • sqlite_current() - Holt die aktuelle Zeile als Array aus dem Abfrageergebnis
  • sqlite_seek() - Wechselt zu einer Reihe in einem gepufferten Abfrageergebnis

sqlite_query
sqlite_seek
SQLite Funktionen


Wechselt zu einer Reihe in einem gepufferten Abfrageergebnis

sqlite_rewind
sqlite_single_query
SQLite Funktionen
PHP Manual

sqlite_seek

SQLiteResult::seek

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_seek -- SQLiteResult::seek — Wechselt zu einer Reihe in einem gepufferten Abfrageergebnis

Beschreibung

bool sqlite_seek ( resource $result , int $rownum )

Objektorientierter Stil (Methode):

bool SQLiteResult::seek ( int $rownum )

sqlite_seek() wechselt zu der in rownum angegebenen Reihe.

Parameter-Liste

result

Die SQLite-Ergebnisressource. Dieser Parameter wird in der objektorientierten Notation nicht benötigt.

Hinweis:

Diese Funktion kann nicht mit ungepufferten Ergebnishandlern benutzt werden.

rownum

Die Ordnungszahl der Reihe in die gewechselt werden soll. Die Nummerierung der Ordnungszahl beginnt bei Null (0 ist die erste Reihe).

Hinweis:

Diese Funktion kann nicht mit ungepufferten Ergebnishandlern benutzt werden.

Rückgabewerte

Liefert FALSE, wenn die Reihe nicht existiert, anderenfalls TRUE

Siehe auch

  • sqlite_next() - Wechselt zu der nächsten Zeilennummer
  • sqlite_current() - Holt die aktuelle Zeile als Array aus dem Abfrageergebnis
  • sqlite_rewind() - Springt zur ersten Zeile

sqlite_rewind
sqlite_single_query
SQLite Funktionen


Führt eine Query aus und liefert ein Array für eine einzige Spalte oder den Wert der ersten Reihe.

sqlite_seek
sqlite_udf_decode_binary
SQLite Funktionen
PHP Manual

sqlite_single_query

SQLiteDatabase::singleQuery

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.1)

sqlite_single_query -- SQLiteDatabase::singleQuery — Führt eine Query aus und liefert ein Array für eine einzige Spalte oder den Wert der ersten Reihe.

Beschreibung

array sqlite_single_query ( resource $db , string $query [, bool $first_row_only [, bool $decode_binary ]] )

Objektorientierter Stil (Methode):

public array SQLiteDatabase::singleQuery ( string $query [, bool $first_row_only [, bool $decode_binary ]] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

sqlite_seek
sqlite_udf_decode_binary
SQLite Funktionen


Dekodiert Binärdaten und reicht diese als Parameter weiter zu einer benutzerdefinierten Funktion (UDF)

sqlite_single_query
sqlite_udf_encode_binary
SQLite Funktionen
PHP Manual

sqlite_udf_decode_binary

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_udf_decode_binary — Dekodiert Binärdaten und reicht diese als Parameter weiter zu einer benutzerdefinierten Funktion (UDF)

Beschreibung

string sqlite_udf_decode_binary ( string $data )

sqlite_udf_decode_binary() dekodiert die Binärkodierung
der Parameter, die entweder mit sqlite_udf_encode_binary()
oder sqlite_escape_string() durchgeführt wurde.

Parameter, die an eine UDF übergeben wurden und Binärdaten enthalten könnten, sollte mit dieser Funktion aufgerufen werden. Ansonsten würden die binären Information durch die im PHP implementierte Kodierung in ihrer natürlichen und nicht kodierten Form verändert werden.

PHP führt diese (De-)Kodieraufrufe nicht automatisch durch, da dieses die Performance drastig beeinflussen würde.

Parameter-Liste

data

Die kodierte Zeichenkette, die dekodiert werden. Diese wurde entweder von sqlite_udf_encode_binary() oder sqlite_escape_string() erzeugt.

Rückgabewerte

Die dekodierte Zeichenkette (string).

Beispiele

Beispiel #1 Beispiel für eine binärsichere max_length Summenfunktion

<?php
$data = array(
   'one',
   'two',
   'three',
   'four',
   'five',
   'six',
   'seven',
   'eight',
   'nine',
   'ten',
   );
$db = sqlite_open(':memory:');
sqlite_query($db, "CREATE TABLE strings(a)");
foreach ($data as $str) {
    $str = sqlite_escape_string($str);
    sqlite_query($db, "INSERT INTO strings VALUES ('$str')");
}

function max_len_step(&$context, $string)
{
    $string = sqlite_udf_decode_binary($string);
    if (strlen($string) > $context) {
        $context = strlen($string);
    }
}

function max_len_finalize(&$context)
{
    return $context;
}

sqlite_create_aggregate($db, 'max_len', 'max_len_step', 'max_len_finalize');

var_dump(sqlite_array_query($db, 'SELECT max_len(a) from strings'));

?>

Siehe auch

  • sqlite_udf_encode_binary() - Kodiert Binärdaten bevor sie von einer benutzerdefinierten Funktion (UDF) zurückgegeben werden
  • sqlite_create_function() - Registriert eine "reguläre" nutzerdefinierte Funktion für den Gebrauch in SQL-Befehlen
  • sqlite_create_aggregate() - Registriert eine benutzerdefinierte Funktion, um SQL-Abfragen zu aggregieren

sqlite_single_query
sqlite_udf_encode_binary
SQLite Funktionen


Kodiert Binärdaten bevor sie von einer benutzerdefinierten Funktion (UDF) zurückgegeben werden

sqlite_udf_decode_binary
sqlite_unbuffered_query
SQLite Funktionen
PHP Manual

sqlite_udf_encode_binary

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_udf_encode_binary — Kodiert Binärdaten bevor sie von einer benutzerdefinierten Funktion (UDF) zurückgegeben werden

Beschreibung

string sqlite_udf_encode_binary ( string $data )

sqlite_udf_encode_binary() wendet eine binärsichere Kodierung auf data an, sodass es sicher von Abfragen zurückgegeben wird (da die darunter liegende libsqlite-API nicht binärsicher ist).

Wenn die Möglichkeit besteht, dass die Daten nicht binärsicher sein könnten (weil z.B. ein NUL-Byte in der Mitte und nicht am Ende steht oder wenn ein 0x01-Byte als erstes Zeichen gesetzt ist), muss diese Funktion zur Kodierung des Rückgabewertes der UDF benutzt werden.

PHP führt diese (De-)Kodieraufrufe nicht automatisch durch, da dieses die Performance drastig beeinflussen würde.

Hinweis:

sqlite_escape_string() sollte nicht benutzt werden, um Rückgabestrings aus der UDF zu quoten, da es zum Doppelquoten führt. An dessen Stelle sollte sqlite_udf_encode_binary() benutzt werden.

Parameter-Liste

data

Die zu codierende Zeichenkette (string).

Rückgabewerte

Die codierte Zeichenkette (string).

Siehe auch

  • sqlite_udf_decode_binary() - Dekodiert Binärdaten und reicht diese als Parameter weiter zu einer benutzerdefinierten Funktion (UDF)
  • sqlite_escape_string() - Bereitet einen String für die Verwendung als SQL-Parameter auf
  • sqlite_create_function() - Registriert eine "reguläre" nutzerdefinierte Funktion für den Gebrauch in SQL-Befehlen
  • sqlite_create_aggregate() - Registriert eine benutzerdefinierte Funktion, um SQL-Abfragen zu aggregieren

sqlite_udf_decode_binary
sqlite_unbuffered_query
SQLite Funktionen


Führt eine Abfrage aus, aber übernimmt die Daten nicht gleich ins PHP

sqlite_udf_encode_binary
sqlite_valid
SQLite Funktionen
PHP Manual

sqlite_unbuffered_query

SQLiteDatabase::unbufferedQuery

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_unbuffered_query -- SQLiteDatabase::unbufferedQuery — Führt eine Abfrage aus, aber übernimmt die Daten nicht gleich ins PHP

Beschreibung

resource sqlite_unbuffered_query ( resource $dbhandle , string $query [, int $result_type = SQLITE_BOTH [, string &$error_msg ]] )
resource sqlite_unbuffered_query ( string $query , resource $dbhandle [, int $result_type = SQLITE_BOTH [, string &$error_msg ]] )

Objektorientierter Stil (Methode):

public SQLiteUnbuffered SQLiteDatabase::unbufferedQuery ( string $query [, int $result_type = SQLITE_BOTH [, string &$error_msg ]] )

sqlite_unbuffered_query() entspricht im wesentlichen sqlite_query() mit der Ausnahme, dass das Ergebnis eine sequenzielle Folge ist, die nur zeilenweise vorwärts gelesen werden kann.

Dies Funktion ist ideal für die Generierung von Strukturen wie HTML-Tabellen, die ausschließlich sequenziell aufgebaut werden und kein expliziter Zugriff auf Datenreihen außerhalb der Sequenz nötig sind.

Hinweis:

Funktionen, wie sqlite_seek(),
sqlite_rewind(), sqlite_next(),
sqlite_current() und
sqlite_num_rows() können die Rückgabe von
sqlite_unbuffered_query() nicht verarbeiten.

Parameter-Liste

dbhandle

Die Ressource des SQLite-Ergebnisses, erzeugt von sqlite_open() wenn in prozeduralem Kontext genutzt. Dieser Parameter wird nicht benötigt, wenn die objekt-orientierte Methodik genutzt wird.

query

Die auszuführende Anfrage

Daten innerhalb einer Anfrage sollten maskiert werden.

result_type

Der optionale Parameter Ergebnis_Typ akzeptiert eine Konstante und bestimmt, wie das zurückgegebene Array indiziert wird. Während mit SQLITE_ASSOC nur assoziative Indizes (Namensfelder) zurückgegeben werden, werden mit SQLITE_NUM nur numerische Indizes (geordnete Feldnummern) zurückgegeben. SQLITE_BOTH gibt sowohl assoziative als auch numerische Indizes zurück. SQLITE_BOTH ist die Standardeinstellung.

error_msg

Diese spezielle Variable wird genutzt, wenn ein Fehler auftritt. Sie hat einen besonderen Stellenwert, da SQL-Syntax-Fehler nicht mit sqlite_last_error() abgerufen werden können.

Hinweis: Zwei alternative Syntaxen werden für die Kompatibilität mit anderen Datenbank-Erweiterungen (wie z.B. MySQL) unterstützt. Die bevorzugte Form ist die erste, bei der der Parameter dbhandle der erste Parameter der Funktion ist.

Rückgabewerte

Gibt den Ergebnis-Handler zurück. Im Fehlerfall wird FALSE zurückgegeben.

sqlite_unbuffered_query() gibt ein sequenzielles Ergebnis zurück, durch welches nur zeilenweise und vorwärts ausgelesen werden kann.

Changelog

Version | Beschreibung
5.1.0 | Parameter error_msg wurde hinzugefügt.

Siehe auch

  • sqlite_query() - Führt auf einer Datenbank eine Abfrage durch und liefert das Abfrageergebnis zurück

sqlite_udf_encode_binary
sqlite_valid
SQLite Funktionen


Gibt an, ob weitere Zeilen zur Verfügung stehen

sqlite_unbuffered_query
SQLite3
SQLite Funktionen
PHP Manual

sqlite_valid

SQLiteResult::valid

SQLiteUnbuffered::valid

(PHP 5 < 5.4.0)

sqlite_valid -- SQLiteResult::valid -- SQLiteUnbuffered::valid — Gibt an, ob weitere Zeilen zur Verfügung stehen

Beschreibung

bool sqlite_valid ( resource $result )

Objektorientierter Stil (Methode):

bool SQLiteResult::valid ( void )
bool SQLiteUnbuffered::valid ( void )

Findet heraus, ob noch mehr Zeilen im angegebenen Ergebnis-Handler zur Verfügung stehen.

Parameter-Liste

result

Die Ressource des SQLite-Ergebnisses. Der Parameter wird bei der objektorientierten Notation nicht benötigt.

Hinweis:

Diese Funktion kann nicht mit ungepufferten Ergebnishandlern benutzt werden.

Rückgabewerte

Liefert TRUE, wenn noch weitere Zeilen im result-Handler zur Verfügung stehen, andernfalls FALSE.

Siehe auch

  • sqlite_num_rows() - Liefert die Anzahl an Reihen eines gepufferten Abfrageergebnisses zurück
  • sqlite_changes() - Liefert die Anzahl der vom letzten SQL-Befehl geänderten Datenbankeinträge.

sqlite_unbuffered_query
SQLite3
SQLite Funktionen


SQLite3

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • SQLite3 — Die SQLite3-Klasse
    • SQLite3::busyTimeout — Sets the busy connection handler
    • SQLite3::changes — Gibt die Anzahl der Datenbankreihen zurück, die durch die letzte SQL-Anfrage verändert, gelöscht oder hinzugefügt wurden.
    • SQLite3::close — Beendet eine Datenbankverbindung
    • SQLite3::__construct — Instantiiert ein SQLite3 Objekt und öffnet eine SQLite3 Datenbank
    • SQLite3::createAggregate — Registriert eine PHP-Funktion zum Gebrauch als SQL-Aggregat-Funktion
    • SQLite3::createCollation — Registers a PHP function for use as an SQL collating function
    • SQLite3::createFunction — Registriert eine PHP-Funktion, die als SQL-Skalar-Funktion genutzt werden kann
    • SQLite3::enableExceptions — Enable throwing exceptions
    • SQLite3::escapeString — Gibt eine passend maskierte Zeichenkette zurück
    • SQLite3::exec — Führt eine ergebnislose Anfrage gegen den Datenbank-Server aus
    • SQLite3::lastErrorCode — Gibt den numerischen Ergebniscode der letzten fehlgeschlagenen SQLite-Anweisung zurück
    • SQLite3::lastErrorMsg — Gibt einen englischen Text zurück, der die letzten fehlgeschlagenen SQLite-Anfrage beschreibt.
    • SQLite3::lastInsertRowID — Gibt die Datensatz-Id des zuletzt getätigten INSERT in die Datenbank zurück
    • SQLite3::loadExtension — Attempts to load an SQLite extension library
    • SQLite3::open — Öffnet eine SQlite Datenbank
    • SQLite3::openBlob — Opens a stream resource to read a BLOB
    • SQLite3::prepare — Bereitet eine SQL-Anweisung für die Ausführung vor
    • SQLite3::query — Führt eine SQL-Anfrage aus
    • SQLite3::querySingle — Executes a query and returns a single result
    • SQLite3::version — Returns the SQLite3 library version as a string constant and as a number
  • SQLite3Stmt — The SQLite3Stmt class
    • SQLite3Stmt::bindParam — Binds a parameter to a statement variable
    • SQLite3Stmt::bindValue — Binds the value of a parameter to a statement variable
    • SQLite3Stmt::clear — Clears all current bound parameters
    • SQLite3Stmt::close — Closes the prepared statement
    • SQLite3Stmt::execute — Executes a prepared statement and returns a result set object
    • SQLite3Stmt::paramCount — Returns the number of parameters within the prepared statement
    • SQLite3Stmt::readOnly() — Returns whether a statement is definitely read only
    • SQLite3Stmt::reset — Resets the prepared statement
  • SQLite3Result — Die SQLite3Result Klasse
    • SQLite3Result::columnName — Returns the name of the nth column
    • SQLite3Result::columnType — Returns the type of the nth column
    • SQLite3Result::fetchArray — Fetches a result row as an associative or numerically indexed array or both
    • SQLite3Result::finalize — Closes the result set
    • SQLite3Result::numColumns — Returns the number of columns in the result set
    • SQLite3Result::reset — Resets the result set back to the first row
sqlite_valid
Einführung
Anbieterspezifische Datenbankerweiterungen


Einführung

Unterstützung für SQLite3-Datenbanken.

SQLite3
Installation/Konfiguration
SQLite3


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
SQLite3


Installation

Die SQLite3-Erweiterung ist in PHP 5.3.0 standardmäßig aktiviert. Es ist möglich, sie durch die Angabe von --without-sqlite3 zur Kompilierzeit, zu deaktivieren.

Windows-Nutzer müssen php_sqlite3.dll aktivieren, wenn sie diese Erweiterung nutzen wollen. Die DLL-Datei wird mit den Windows-Distributionen von PHP (seit PHP 5.3.0) ausgeliefert.

Hinweis:

Diese Erweiterung war kurzzeitig eine PECL-Erweiterung, aber diese Version ist nur für den experimentellen Einsatz.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

SQLite3-Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
sqlite3.extension_dir | NULL | PHP_INI_SYSTEM |

Hier eine kurze Erklärung der Konfigurationsoptionen:

sqlite3.extension_dir string

Pfad zu dem Verzeichnis, welches die ladbare Erweiterung für SQLite beinhaltet.

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

SQLITE3_ASSOC (integer)
Legt fest, dass die Sqlite3Result::fetchArray()-Methode eine assoziative Liste zurückgeben soll. Die Liste wird durch den Spaltennamen indiziert, wie er in dem Anfrageergebnis zurückgegeben wurde.
SQLITE3_NUM (integer)
Legt fest, dass die Sqlite3Result::fetchArray()-Methode eine Liste zurückgeben soll, die durch die Spaltennummer indiziert wird, wie sie in dem Anfrageergebnis zurückgegeben wurde, beginnend mit Spalte 0.
SQLITE3_BOTH (integer)
Legt fest, dass die Sqlite3Result::fetchArray()-Methode eine Liste zurückgeben soll, die sowohl durch den Spaltennamen, als auch durch die Spaltennummer indiziert wird. Die geschieht analog dazu, wie es im Anfrageergebnis zurückgegeben wurde, beginnend mit Spalte 0.
SQLITE3_INTEGER (integer)
Repräsentiert die SQLite3 'INTEGER'-Speicherklasse.
SQLITE3_FLOAT (integer)
Repräsentiert die SQLite3 'REAL (FLOAT)'-Speicherklasse.
SQLITE3_TEXT (integer)
Repräsentiert die SQLite3 'TEXT'-Speicherklasse.
SQLITE3_BLOB (integer)
Repräsentiert die SQLite3 'BLOB'-Speicherklasse.
SQLITE3_NULL (integer)
Repräsentiert die SQLite3 'NULL'-Speicherklasse.
SQLITE3_OPEN_READONLY (integer)
Legt fest, dass die SQLite3-Datenbank nur für den lesenden Zugriff geöffnet wird.
SQLITE3_OPEN_READWRITE (integer)
Legt fest, dass die SQLite3 Datenbank für den Lese- und Schreibzugriff geöffnet wird.
SQLITE3_OPEN_CREATE (integer)
Legt fest, dass die SQLite3 Datenbank vor dem Öffnen angelegt wird, wenn diese noch nicht existiert.

Ressource-Typen
SQLite3
SQLite3


Die SQLite3-Klasse

(PHP 5 >= 5.3.0, PHP 7)

Einführung

Eine Klasse, die eine Verbindung zu SQLite-3-Datenbanken zur Verfügung stellt

Klassenbeschreibung

SQLite3 {
/* Methoden */
public bool busyTimeout ( int $msecs )
public int changes ( void )
public bool close ( void )
public __construct ( string $Dateiname [, int $Schalter [, string $Verschlüsselungs-Phrase ]] )
public bool createAggregate ( string $name , mixed $step_callback , mixed $final_callback [, int $argument_count = -1 ] )
public bool createCollation ( string $name , callable $callback )
public bool createFunction ( string $name , mixed $callback [, int $argument_count = -1 ] )
bool enableExceptions ([ bool $enableExceptions = false ] )
public static string escapeString ( string $value )
public bool exec ( string $query )
public int lastErrorCode ( void )
public string lastErrorMsg ( void )
public int lastInsertRowID ( void )
public bool loadExtension ( string $shared_library )
public void open ( string $filename [, int $flags = SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE [, string $encryption_key ]] )
public resource open ( string $table , string $column , int $rowid [, string $dbname = "main" ] )
public SQLite3Stmt prepare ( string $query )
public SQLite3Result query ( string $query )
public mixed querySingle ( string $query [, bool $entire_row = false ] )
public static array version ( void )
}

Inhaltsverzeichnis

  • SQLite3::busyTimeout — Sets the busy connection handler
  • SQLite3::changes — Gibt die Anzahl der Datenbankreihen zurück, die durch die letzte SQL-Anfrage verändert, gelöscht oder hinzugefügt wurden.
  • SQLite3::close — Beendet eine Datenbankverbindung
  • SQLite3::__construct — Instantiiert ein SQLite3 Objekt und öffnet eine SQLite3 Datenbank
  • SQLite3::createAggregate — Registriert eine PHP-Funktion zum Gebrauch als SQL-Aggregat-Funktion
  • SQLite3::createCollation — Registers a PHP function for use as an SQL collating function
  • SQLite3::createFunction — Registriert eine PHP-Funktion, die als SQL-Skalar-Funktion genutzt werden kann
  • SQLite3::enableExceptions — Enable throwing exceptions
  • SQLite3::escapeString — Gibt eine passend maskierte Zeichenkette zurück
  • SQLite3::exec — Führt eine ergebnislose Anfrage gegen den Datenbank-Server aus
  • SQLite3::lastErrorCode — Gibt den numerischen Ergebniscode der letzten fehlgeschlagenen SQLite-Anweisung zurück
  • SQLite3::lastErrorMsg — Gibt einen englischen Text zurück, der die letzten fehlgeschlagenen SQLite-Anfrage beschreibt.
  • SQLite3::lastInsertRowID — Gibt die Datensatz-Id des zuletzt getätigten INSERT in die Datenbank zurück
  • SQLite3::loadExtension — Attempts to load an SQLite extension library
  • SQLite3::open — Öffnet eine SQlite Datenbank
  • SQLite3::openBlob — Opens a stream resource to read a BLOB
  • SQLite3::prepare — Bereitet eine SQL-Anweisung für die Ausführung vor
  • SQLite3::query — Führt eine SQL-Anfrage aus
  • SQLite3::querySingle — Executes a query and returns a single result
  • SQLite3::version — Returns the SQLite3 library version as a string constant and as a number
Vordefinierte Konstanten
SQLite3::busyTimeout
SQLite3


Sets the busy connection handler

SQLite3
SQLite3::changes
SQLite3
PHP Manual

SQLite3::busyTimeout

(PHP 5 >= 5.3.3, PHP 7)

SQLite3::busyTimeout — Sets the busy connection handler

Beschreibung

public bool SQLite3::busyTimeout ( int $msecs )

Sets a busy handler that will sleep until the database is not locked or the timeout is reached.

Parameter-Liste

msecs

The milliseconds to sleep. Setting this value to a value less than or equal to zero, will turn off an already set timeout handler.

Rückgabewerte

Returns TRUE on success, FALSE on failure.

SQLite3
SQLite3::changes
SQLite3


Gibt die Anzahl der Datenbankreihen zurück, die durch die letzte SQL-Anfrage verändert, gelöscht oder hinzugefügt wurden.

SQLite3::busyTimeout
SQLite3::close
SQLite3
PHP Manual

SQLite3::changes

(PHP 5 >= 5.3.0, PHP 7)

SQLite3::changes — Gibt die Anzahl der Datenbankreihen zurück, die durch die letzte SQL-Anfrage verändert, gelöscht oder hinzugefügt wurden.

Beschreibung

public int SQLite3::changes ( void )

Gibt die Anzahl der Datenbankreihen zurück, die durch die letzte SQL-Anfrage verändert, gelöscht oder hinzugefügt wurden.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt einen Integer-Wert zurück, der der Anzahl an geänderten, gelöschten oder hinzugefügten Datenbankreihen der letzten SQL-Anfrage widerspiegelt.

Beispiele

Beispiel #1 SQLite3::changes()-Beispiel

<?php
$db = new SQLite3('mysqlitedb.db');

$query = $db->exec('UPDATE counter SET views=0 WHERE page="test"');
if ($query) {
    echo 'Anzahl der modifizierten Reihen: ', $db->changes();
}
?>

SQLite3::busyTimeout
SQLite3::close
SQLite3


Beendet eine Datenbankverbindung

SQLite3::changes
SQLite3::__construct
SQLite3
PHP Manual

SQLite3::close

(PHP 5 >= 5.3.0, PHP 7)

SQLite3::close — Beendet eine Datenbankverbindung

Beschreibung

public bool SQLite3::close ( void )

Beendet eine Datenbankverbindung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE, sonst FALSE zurück.

Beispiele

Beispiel #1 SQLite3::close() Beispiel

<?php
$db = new SQLite3('mysqlitedb.db');
$db->close();
?>

SQLite3::changes
SQLite3::__construct
SQLite3


Instantiiert ein SQLite3 Objekt und öffnet eine SQLite3 Datenbank

SQLite3::close
SQLite3::createAggregate
SQLite3
PHP Manual

SQLite3::__construct

(PHP 5 >= 5.3.0, PHP 7)

SQLite3::__construct — Instantiiert ein SQLite3 Objekt und öffnet eine SQLite3 Datenbank

Beschreibung

public SQLite3::__construct ( string $Dateiname [, int $Schalter [, string $Verschlüsselungs-Phrase ]] )

Instantiiert ein SQLite3-Objekt und öffnet eine Verbindung zu einer SQLite3-Datenbank. Umfasst der Aufbau eine Verschlüsselung, wird versucht den angegebenen Schlüssel zu nutzen.

Parameter-Liste

Dateiname

Pfad zur SQLite-Datenbank oder :memory:, um eine im Speicher befindliche Datenbank zu nutzen.

Schalter

Optionale Schalter, die die Art bestimmen, wie die SQLite-Datenbank geöffnet wird. Standardmäßig wird SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE zum Öffnen genutzt.

  • SQLITE3_OPEN_READONLY: Öffnet die Datenbank im "nur lese"-Modus.

  • SQLITE3_OPEN_READWRITE: Öffnet die Datenbank zum Lesen und Schreiben.

  • SQLITE3_OPEN_CREATE: erzeugt die Datenbank, sollte diese nicht existieren.

Verschlüsselungs-Phrase

Eine optionale Verschlüsselungs-Phrase, die zur Ver- und Entschlüsselung der Datenbank genutzt wird.

Rückgabewerte

Gibt im Erfolgsfall das SQLite-Datenbank-Objekt zurück.

Fehler/Exceptions

Wirft im Fehlerfall eine Exception.

Beispiele

Beispiel #1 SQLite3::__construct() Beispiel

<?php
$db = new SQLite3('mysqlitedb.db');

$db->exec('CREATE TABLE foo (bar STRING)');
$db->exec("INSERT INTO foo (bar) VALUES ('This is a test')");

$result = $db->query('SELECT bar FROM foo');
var_dump($result->fetchArray());
?>

SQLite3::close
SQLite3::createAggregate
SQLite3


Registriert eine PHP-Funktion zum Gebrauch als SQL-Aggregat-Funktion

SQLite3::__construct
SQLite3::createCollation
SQLite3
PHP Manual

SQLite3::createAggregate

(PHP 5 >= 5.3.0, PHP 7)

SQLite3::createAggregate — Registriert eine PHP-Funktion zum Gebrauch als SQL-Aggregat-Funktion

Beschreibung

public bool SQLite3::createAggregate ( string $name , mixed $step_callback , mixed $final_callback [, int $argument_count = -1 ] )

Registriert eine PHP-Funktion zum Gebrauch als SQL-Aggregat-Funktion.

Parameter-Liste

Name

Name des erstellten oder redefinierten SQL-Aggregates.

step_callback

Name der PHP- oder benutzerdefinierten Funktion, welche als Callback-Funktion für jedes Element des Aggregates genutzt wird.

final_callback

Name der PHP- oder benutzerdefinierten Funktion, welche genutzt wird, um die Aggregierung abzuschließen.

argument_count

Anzahl der Argumente, welche das SQL-Aggregat erwartet. Ist dieser Parameter negativ, wird das SQL-Aggregat jedwede Zahl von Argumenten erkennen.

Rückgabewerte

Gibt TRUE zurück, wenn die Aggregierung erfolgreich war. Anderenfalls wird FALSE zurückgegeben.

SQLite3::__construct
SQLite3::createCollation
SQLite3


Registers a PHP function for use as an SQL collating function

SQLite3::createAggregate
SQLite3::createFunction
SQLite3
PHP Manual

SQLite3::createCollation

(PHP 5 >= 5.3.11, PHP 7)

SQLite3::createCollation — Registers a PHP function for use as an SQL collating function

Beschreibung

public bool SQLite3::createCollation ( string $name , callable $callback )

Registers a PHP function or user-defined function for use as a collating function within SQL statements.

Parameter-Liste

name

Name of the SQL collating function to be created or redefined

callback

The name of a PHP function or user-defined function to apply as a callback, defining the behavior of the collation. It should accept two strings and return as strcmp() does, i.e. it should return -1, 1, or 0 if the first string sorts before, sorts after, or is equal to the second.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 SQLite3::createCollation() example

Register the PHP function strnatcmp() as a collating sequence in the SQLite3 database.

<?php

$db = new SQLite3(":memory:");
$db->exec("CREATE TABLE test (col1 string)");
$db->exec("INSERT INTO test VALUES ('a1')");
$db->exec("INSERT INTO test VALUES ('a10')");
$db->exec("INSERT INTO test VALUES ('a2')");

$db->createCollation('NATURAL_CMP', 'strnatcmp');

$defaultSort = $db->query("SELECT col1 FROM test ORDER BY col1");
$naturalSort = $db->query("SELECT col1 FROM test ORDER BY col1 COLLATE NATURAL_CMP");

echo "default:\n";
while ($row = $defaultSort->fetchArray()){
    echo $row['col1'], "\n";
}

echo "\nnatural:\n";
while ($row = $naturalSort->fetchArray()){
    echo $row['col1'], "\n";
}

$db->close();

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

default:
a1
a10
a2

natural:
a1
a2
a10

Siehe auch

  • The SQLite collation documentation: » http://sqlite.org/datatype3.html#collation
SQLite3::createAggregate
SQLite3::createFunction
SQLite3


Registriert eine PHP-Funktion, die als SQL-Skalar-Funktion genutzt werden kann

SQLite3::createCollation
SQLite3::enableExceptions
SQLite3
PHP Manual

SQLite3::createFunction

(PHP 5 >= 5.3.0, PHP 7)

SQLite3::createFunction — Registriert eine PHP-Funktion, die als SQL-Skalar-Funktion genutzt werden kann

Beschreibung

public bool SQLite3::createFunction ( string $name , mixed $callback [, int $argument_count = -1 ] )

Registriert eine PHP- oder benutzerdefinierte Funktion, die als SQL-Skalar-Funktion innerhalb einer SQL-Anweisung genutzt werden kann.

Parameter-Liste

name

Name der SQL-Funktion, die erstellt oder neu definiert werden soll.

callback

Der Name der PHP- oder benutzerdefinierten Funktion, welche als Callback-Funktion agieren soll und das Verhalten der SQL-Funktion definiert.

argument_count

Die Anzahl an Argumenten, die die SQL-Funktion entgegen nimmt. Ist der Parameter negativ, ist die SQL-Funktion nicht auf eine Parameteranzahl eingeschränkt.

Rückgabewerte

Gibt TRUE zurück, wenn die Funktion erfolgreich erstellt wurde. Anderenfalls wird FALSE zurückgegeben.

Beispiele

Beispiel #1 SQLite3::createFunction()-Beispiel

<?php
function my_udf_md5($string) {
    return md5($string);
}

$db = new SQLite3('mysqlitedb.db');
$db->createFunction('my_udf_md5', 'my_udf_md5');

var_dump($db->querySingle('SELECT my_udf_md5("test")'));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(32) "098f6bcd4621d373cade4e832627b4f6"

SQLite3::createCollation
SQLite3::enableExceptions
SQLite3


Enable throwing exceptions

SQLite3::createFunction
SQLite3::escapeString
SQLite3
PHP Manual

SQLite3::enableExceptions

(PHP 5 >= 5.3.0, PHP 7)

SQLite3::enableExceptions — Enable throwing exceptions

Beschreibung

bool SQLite3::enableExceptions ([ bool $enableExceptions = false ] )

Controls whether the SQLite3 instance will throw exceptions or warnings on error.

Parameter-Liste

enable

When TRUE, the SQLite3 instance, and SQLite3Stmt and SQLite3Result instances derived from it, will throw exceptions on error.

When FALSE, the SQLite3 instance, and SQLite3Stmt and SQLite3Result instances derived from it, will raise warnings on error.

For either mode, the error code and message, if any, will be available via SQLite3::lastErrorCode() and SQLite3::lastErrorMsg() respectively.

Rückgabewerte

Returns the old value; TRUE if exceptions were enabled, FALSE otherwise.

Beispiele

Beispiel #1 SQLite3::enableExceptions() example

<?php
$sqlite = new SQLite3(':memory:');
try {
    $sqlite->exec('create table foo');
    $sqlite->enableExceptions(true);
    $sqlite->exec('create table bar');
} catch (Exception $e) {
    echo 'Caught exception: ' . $e->getMessage();
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Warning: SQLite3::exec(): near "foo": syntax error in example.php on line 4
Caught exception: near "bar": syntax error
SQLite3::createFunction
SQLite3::escapeString
SQLite3


Gibt eine passend maskierte Zeichenkette zurück

SQLite3::enableExceptions
SQLite3::exec
SQLite3
PHP Manual

SQLite3::escapeString

(PHP 5 >= 5.3.0, PHP 7)

SQLite3::escapeString — Gibt eine passend maskierte Zeichenkette zurück

Beschreibung

public static string SQLite3::escapeString ( string $value )

Gibt eine Zeichenkette zurück, die für eine sichere Einbindung in die SQL-Anfrage passend maskiert wurde.

Parameter-Liste

value

Die maskierte Zeichenkette.

Rückgabewerte

Gibt eine passend maskierte Zeichenkette zurück, welche ohne Bedenken in einer SQL-Anfrage benutzt werden kann.

Anmerkungen

Warnung

Die Funktion addslashes() sollte NICHT genutzt werden, um eine Zeichenkette für den Gebrauch in einer SQL-Anfrage zu maskieren; dies kann bei der Datenabfrage zu unvorhersehbaren Resultaten führen.

SQLite3::enableExceptions
SQLite3::exec
SQLite3


Führt eine ergebnislose Anfrage gegen den Datenbank-Server aus

SQLite3::escapeString
SQLite3::lastErrorCode
SQLite3
PHP Manual

SQLite3::exec

(PHP 5 >= 5.3.0, PHP 7)

SQLite3::exec — Führt eine ergebnislose Anfrage gegen den Datenbank-Server aus

Beschreibung

public bool SQLite3::exec ( string $query )

Führt eine ergebnislose Anfrage gegen den Datenbank-Server aus.

Parameter-Liste

query

Die auszuführende SQL-Anfrage (normalerweise eine INSERT-, UPDATE- oder DELETE-Anweisung)

Rückgabewerte

Gibt TRUE zurück, wenn die Anfrage erfolgreich war; anderenfalls FALSE

Beispiele

Beispiel #1 SQLite3::exec()-Beispiel

<?php
$db = new SQLite3('mysqlitedb.db');

$db->exec('CREATE TABLE bar (bar STRING)');
?>

SQLite3::escapeString
SQLite3::lastErrorCode
SQLite3


Gibt den numerischen Ergebniscode der letzten fehlgeschlagenen SQLite-Anweisung zurück

SQLite3::exec
SQLite3::lastErrorMsg
SQLite3
PHP Manual

SQLite3::lastErrorCode

(PHP 5 >= 5.3.0, PHP 7)

SQLite3::lastErrorCode — Gibt den numerischen Ergebniscode der letzten fehlgeschlagenen SQLite-Anweisung zurück

Beschreibung

public int SQLite3::lastErrorCode ( void )

Gibt den numerischen Ergebniscode der letzten fehlgeschlagenen SQLite-Anweisung zurück.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Liefert einen Integerwert, der das numerische Ergebnis der letzten fehlgeschlagenen SQLite-Anweisung repräsentiert.

SQLite3::exec
SQLite3::lastErrorMsg
SQLite3


Gibt einen englischen Text zurück, der die letzten fehlgeschlagenen SQLite-Anfrage beschreibt.

SQLite3::lastErrorCode
SQLite3::lastInsertRowID
SQLite3
PHP Manual

SQLite3::lastErrorMsg

(PHP 5 >= 5.3.0, PHP 7)

SQLite3::lastErrorMsg — Gibt einen englischen Text zurück, der die letzten fehlgeschlagenen SQLite-Anfrage beschreibt.

Beschreibung

public string SQLite3::lastErrorMsg ( void )

Gibt einen englischen Text zurück, der die letzten fehlgeschlagenen SQLite-Anfrage beschreibt.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt einen englischen Text zurück, der die letzten fehlgeschlagenen SQLite-Anfrage beschreibt.

SQLite3::lastErrorCode
SQLite3::lastInsertRowID
SQLite3


Gibt die Datensatz-Id des zuletzt getätigten INSERT in die Datenbank zurück

SQLite3::lastErrorMsg
SQLite3::loadExtension
SQLite3
PHP Manual

SQLite3::lastInsertRowID

(PHP 5 >= 5.3.0, PHP 7)

SQLite3::lastInsertRowID — Gibt die Datensatz-Id des zuletzt getätigten INSERT in die Datenbank zurück

Beschreibung

public int SQLite3::lastInsertRowID ( void )

Gibt die Datensatz-Id des zuletzt getätigten INSERT in die Datenbank zurück.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt die Datensatz-Id des zuletzt getätigten INSERT in die Datenbank zurück.

SQLite3::lastErrorMsg
SQLite3::loadExtension
SQLite3


Attempts to load an SQLite extension library

SQLite3::lastInsertRowID
SQLite3::open
SQLite3
PHP Manual

SQLite3::loadExtension

(PHP 5 >= 5.3.0, PHP 7)

SQLite3::loadExtension — Attempts to load an SQLite extension library

Beschreibung

public bool SQLite3::loadExtension ( string $shared_library )

Versucht die SQLite-Erweiterung zu laden.

Parameter-Liste

shared_library

Name der zu ladenden Bibliothek. Die Bibliothek muß in dem Verzeichnis existieren, das in der Konfigurationsoption sqlite3.extension_dir spezifiziert wurde.

Rückgabewerte

Gibt TRUE zurück, wenn die Erweiterung erfolgreich geladen wurde und FALSE im Fehlerfall.

Beispiele

Beispiel #1 SQLite3::loadExtension() Beispiel

<?php
$db = new SQLite3('mysqlitedb.db');
$db->loadExtension('libagg.so');
?>

SQLite3::lastInsertRowID
SQLite3::open
SQLite3


Öffnet eine SQlite Datenbank

SQLite3::loadExtension
SQLite3::openBlob
SQLite3
PHP Manual

SQLite3::open

(PHP 5 >= 5.3.0, PHP 7)

SQLite3::open — Öffnet eine SQlite Datenbank

Beschreibung

public void SQLite3::open ( string $filename [, int $flags = SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE [, string $encryption_key ]] )

Öffnet eine SQLite 3 Datenbank. Sollte diese verschlüsselt sein, wird unter Anwendung des Schlüssels versucht, diese zu entschlüsseln

Parameter-Liste

filename

Pfad zu der SQLite Datenbank oder :memory:, um eine im Arbeitsspeicher liegende Datenbank zu erstellen.

flags

Optionale Parameter zur Bestimmung, wie die SQLite Datenbank geöffnet werden soll. Im Normalfall wird open SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE nutzen.

  • SQLITE3_OPEN_READONLY: Öffnet die Datenbank ausschließlich für lesende Zugriffe.

  • SQLITE3_OPEN_READWRITE: Öffnet die Datenbank für lesende und schreibende Zugriffe.

  • SQLITE3_OPEN_CREATE: Erzeugt eine Datenbank, wenn diese nicht existiert.

encryption_key

Ein optionaler Schlüssel zur Verschlüsselung der Datenbank. Dieser wird zum Ent- und Verschlüsseln einer SQLite Datenbank genutzt.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 SQLite3::open() example

<?php
/**
 * Ein einfaches Beispiel, wie man die SQLite3-Klasse erweitert, die Parameter
 * des Konstruktors (__construct) verändert und mit Hilfe der open-Methode dann
 * die Datenbank initialisiert.
 */
class MyDB extends SQLite3
{
    function __construct()
    {
        $this->open('mysqlitedb.db');
    }
}

$db = new MyDB();

$db->exec('CREATE TABLE foo (bar STRING)');
$db->exec("INSERT INTO foo (bar) VALUES ('This is a test')");

$result = $db->query('SELECT bar FROM foo');
var_dump($result->fetchArray());
?>

SQLite3::loadExtension
SQLite3::openBlob
SQLite3


Opens a stream resource to read a BLOB

SQLite3::open
SQLite3::prepare
SQLite3
PHP Manual

SQLite3::openBlob

(PHP 5 >= 5.3.0, PHP 7)

SQLite3::openBlob — Opens a stream resource to read a BLOB

Beschreibung

public resource SQLite3::open ( string $table , string $column , int $rowid [, string $dbname = "main" ] )

Opens a stream resource to read a BLOB, which would be selected by:

SELECT column FROM dbname.table WHERE rowid = rowid

Parameter-Liste

table

The table name.

column

The column name.

rowid

The row ID.

dbname

The symbolic name of the DB

Rückgabewerte

Returns a stream resource, Im Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 SQLite3::openBlob() example

<?php
$conn = new SQLite3(':memory:');
$conn->exec('CREATE TABLE test (text text)');
$conn->exec("INSERT INTO test VALUES ('Lorem ipsum')");
$stream = $conn->openBlob('test', 'text', 1);
echo stream_get_contents($stream);
fclose($stream); // mandatory, otherwise the next line would fail
$conn->close();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Lorem ipsum

SQLite3::open
SQLite3::prepare
SQLite3


Bereitet eine SQL-Anweisung für die Ausführung vor

SQLite3::openBlob
SQLite3::query
SQLite3
PHP Manual

SQLite3::prepare

(PHP 5 >= 5.3.0, PHP 7)

SQLite3::prepare — Bereitet eine SQL-Anweisung für die Ausführung vor

Beschreibung

public SQLite3Stmt SQLite3::prepare ( string $query )

Bereitet eine SQL-Anweisung für die Ausführung vor und gibt ein SQLite3Stmt zurück.

Parameter-Liste

query

Die vorzubereitende SQL-Anfrage.

Rückgabewerte

Gibt im Erfolgsfall ein SQLite3Stmt-Objekt zurück oder Im Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 SQLite3::prepare() Beispiel

<?php
unlink('mysqlitedb.db');
$db = new SQLite3('mysqlitedb.db');

$db->exec('CREATE TABLE foo (id INTEGER, bar STRING)');
$db->exec("INSERT INTO foo (id, bar) VALUES (1, 'This is a test')");

$stmt = $db->prepare('SELECT bar FROM foo WHERE id=:id');
$stmt->bindValue(':id', 1, SQLITE3_INTEGER);

$result = $stmt->execute();
var_dump($result->fetchArray());
?>

SQLite3::openBlob
SQLite3::query
SQLite3


Führt eine SQL-Anfrage aus

SQLite3::prepare
SQLite3::querySingle
SQLite3
PHP Manual

SQLite3::query

(PHP 5 >= 5.3.0, PHP 7)

SQLite3::query — Führt eine SQL-Anfrage aus

Beschreibung

public SQLite3Result SQLite3::query ( string $query )

Führt eine SQL-Anfrage aus, welche ein SQLite3Result-Objekt zurück gibt, wenn die Anfrage in einem Ergebnis resultiert.

Parameter-Liste

query

Die auszuführende SQL-Anfrage.

Rückgabewerte

Liefert ein SQLite3Result-Objekt, wenn die Anfrage in einem Ergebnis resultiert. Anderenfalls wird TRUE bei erfolgreicher und FALSE bei erfolgloser Ausführung der Anfrage zurückgegeben.

Beispiele

Beispiel #1 SQLite3::query()-Beispiel

<?php
$db = new SQLite3('mysqlitedb.db');

$results = $db->query('SELECT bar FROM foo');
while ($row = $results->fetchArray()) {
    var_dump($row);
}
?>

SQLite3::prepare
SQLite3::querySingle
SQLite3


Executes a query and returns a single result

SQLite3::query
SQLite3::version
SQLite3
PHP Manual

SQLite3::querySingle

(PHP 5 >= 5.3.0, PHP 7)

SQLite3::querySingle — Executes a query and returns a single result

Beschreibung

public mixed SQLite3::querySingle ( string $query [, bool $entire_row = false ] )

Executes a query and returns a single result.

Parameter-Liste

query

The SQL query to execute.

entire_row

By default, querySingle() returns the value of the first column returned by the query. If entire_row is TRUE, then it returns an array of the entire first row.

Rückgabewerte

Returns the value of the first column of results or an array of the entire first row (if entire_row is TRUE).

If the query is valid but no results are returned, then NULL will be returned if entire_row is FALSE, otherwise an empty array is returned.

Invalid or failing queries will return FALSE.

Beispiele

Beispiel #1 SQLite3::querySingle() example

<?php
$db = new SQLite3('mysqlitedb.db');

var_dump($db->querySingle('SELECT username FROM user WHERE userid=1'));
print_r($db->querySingle('SELECT username, email FROM user WHERE userid=1', true));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(5) "Scott"
Array
(
    [username] => Scott
    [email] => scott@example.com
)

SQLite3::query
SQLite3::version
SQLite3


Returns the SQLite3 library version as a string constant and as a number

SQLite3::querySingle
SQLite3Stmt
SQLite3
PHP Manual

SQLite3::version

(PHP 5 >= 5.3.0, PHP 7)

SQLite3::version — Returns the SQLite3 library version as a string constant and as a number

Beschreibung

public static array SQLite3::version ( void )

Returns the SQLite3 library version as a string constant and as a number.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an associative array with the keys "versionString" and "versionNumber".

Beispiele

Beispiel #1 SQLite3::version() example

<?php
print_r(SQLite3::version());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [versionString] => 3.5.9
    [versionNumber] => 3005009
)

SQLite3::querySingle
SQLite3Stmt
SQLite3


The SQLite3Stmt class

(PHP 5 >= 5.3.0, PHP 7)

Einführung

Ein Klasse, die vorbereitete Anweisungen für die SQLite-3-Erweiterung abwickelt.

Klassenbeschreibung

SQLite3Stmt {
/* Methoden */
public bool bindParam ( mixed $sql_param , mixed &$param [, int $type ] )
public bool bindValue ( mixed $sql_param , mixed $value [, int $type ] )
public bool clear ( void )
public bool close ( void )
public SQLite3Result execute ( void )
public int paramCount ( void )
public bool readOnly ( void )
public bool reset ( void )
}

Inhaltsverzeichnis

  • SQLite3Stmt::bindParam — Binds a parameter to a statement variable
  • SQLite3Stmt::bindValue — Binds the value of a parameter to a statement variable
  • SQLite3Stmt::clear — Clears all current bound parameters
  • SQLite3Stmt::close — Closes the prepared statement
  • SQLite3Stmt::execute — Executes a prepared statement and returns a result set object
  • SQLite3Stmt::paramCount — Returns the number of parameters within the prepared statement
  • SQLite3Stmt::readOnly() — Returns whether a statement is definitely read only
  • SQLite3Stmt::reset — Resets the prepared statement
SQLite3::version
SQLite3Stmt::bindParam
SQLite3


Binds a parameter to a statement variable

SQLite3Stmt
SQLite3Stmt::bindValue
SQLite3Stmt
PHP Manual

SQLite3Stmt::bindParam

(PHP 5 >= 5.3.0, PHP 7)

SQLite3Stmt::bindParam — Binds a parameter to a statement variable

Beschreibung

public bool SQLite3Stmt::bindParam ( mixed $sql_param , mixed &$param [, int $type ] )

Binds a parameter to a statement variable.

Parameter-Liste

sql_param

Either a string or an int identifying the statement variable to which the parameter should be bound.

param

The parameter to bind to a statement variable.

type

The data type of the parameter to bind.

  • SQLITE3_INTEGER: The value is a signed integer, stored in 1, 2, 3, 4, 6, or 8 bytes depending on the magnitude of the value.

  • SQLITE3_FLOAT: The value is a floating point value, stored as an 8-byte IEEE floating point number.

  • SQLITE3_TEXT: The value is a text string, stored using the database encoding (UTF-8, UTF-16BE or UTF-16-LE).

  • SQLITE3_BLOB: The value is a blob of data, stored exactly as it was input.

  • SQLITE3_NULL: The value is a NULL value.

Rückgabewerte

Returns TRUE if the parameter is bound to the statement variable, FALSE on failure.

SQLite3Stmt
SQLite3Stmt::bindValue
SQLite3Stmt


Binds the value of a parameter to a statement variable

SQLite3Stmt::bindParam
SQLite3Stmt::clear
SQLite3Stmt
PHP Manual

SQLite3Stmt::bindValue

(PHP 5 >= 5.3.0, PHP 7)

SQLite3Stmt::bindValue — Binds the value of a parameter to a statement variable

Beschreibung

public bool SQLite3Stmt::bindValue ( mixed $sql_param , mixed $value [, int $type ] )

Binds the value of a parameter to a statement variable.

Parameter-Liste

sql_param

Either a string or an int identifying the statement variable to which the value should be bound.

value

The value to bind to a statement variable.

type

The data type of the value to bind.

  • SQLITE3_INTEGER: The value is a signed integer, stored in 1, 2, 3, 4, 6, or 8 bytes depending on the magnitude of the value.

  • SQLITE3_FLOAT: The value is a floating point value, stored as an 8-byte IEEE floating point number.

  • SQLITE3_TEXT: The value is a text string, stored using the database encoding (UTF-8, UTF-16BE or UTF-16-LE).

  • SQLITE3_BLOB: The value is a blob of data, stored exactly as it was input.

  • SQLITE3_NULL: The value is a NULL value.

Rückgabewerte

Returns TRUE if the value is bound to the statement variable, FALSE on failure.

Beispiele

Beispiel #1 SQLite3Stmt::bindValue() example

<?php
unlink('mysqlitedb.db');
$db = new SQLite3('mysqlitedb.db');

$db->exec('CREATE TABLE foo (id INTEGER, bar STRING)');
$db->exec("INSERT INTO foo (id, bar) VALUES (1, 'This is a test')");

$stmt = $db->prepare('SELECT bar FROM foo WHERE id=:id');
$stmt->bindValue(':id', 1, SQLITE3_INTEGER);

$result = $stmt->execute();
var_dump($result->fetchArray());
?>

SQLite3Stmt::bindParam
SQLite3Stmt::clear
SQLite3Stmt


Clears all current bound parameters

SQLite3Stmt::bindValue
SQLite3Stmt::close
SQLite3Stmt
PHP Manual

SQLite3Stmt::clear

(PHP 5 >= 5.3.0, PHP 7)

SQLite3Stmt::clear — Clears all current bound parameters

Beschreibung

public bool SQLite3Stmt::clear ( void )

Clears all current bound parameters.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE on successful clearing of bound parameters, FALSE on failure.

SQLite3Stmt::bindValue
SQLite3Stmt::close
SQLite3Stmt


Closes the prepared statement

SQLite3Stmt::clear
SQLite3Stmt::execute
SQLite3Stmt
PHP Manual

SQLite3Stmt::close

(PHP 5 >= 5.3.0, PHP 7)

SQLite3Stmt::close — Closes the prepared statement

Beschreibung

public bool SQLite3Stmt::close ( void )

Closes the prepared statement.

Hinweis: Note that all SQLite3Results that have been retrieved by executing this statement will be invalidated when the statement is closed.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE

SQLite3Stmt::clear
SQLite3Stmt::execute
SQLite3Stmt


Executes a prepared statement and returns a result set object

SQLite3Stmt::close
SQLite3Stmt::paramCount
SQLite3Stmt
PHP Manual

SQLite3Stmt::execute

(PHP 5 >= 5.3.0, PHP 7)

SQLite3Stmt::execute — Executes a prepared statement and returns a result set object

Beschreibung

public SQLite3Result SQLite3Stmt::execute ( void )

Executes a prepared statement and returns a result set object.

Achtung

Result set objects retrieved by calling this method on the same statement object are not independent, but rather share the same underlying structure. Therefore it is recommended to call SQLite3Result::finalize(), before calling SQLite3Stmt::execute() on the same statement object again.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an SQLite3Result object on successful execution of the prepared statement, FALSE on failure.

SQLite3Stmt::close
SQLite3Stmt::paramCount
SQLite3Stmt


Returns the number of parameters within the prepared statement

SQLite3Stmt::execute
SQLite3Stmt::readOnly()
SQLite3Stmt
PHP Manual

SQLite3Stmt::paramCount

(PHP 5 >= 5.3.0, PHP 7)

SQLite3Stmt::paramCount — Returns the number of parameters within the prepared statement

Beschreibung

public int SQLite3Stmt::paramCount ( void )

Returns the number of parameters within the prepared statement.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the number of parameters within the prepared statement.

SQLite3Stmt::execute
SQLite3Stmt::readOnly()
SQLite3Stmt


Returns whether a statement is definitely read only

SQLite3Stmt::paramCount
SQLite3Stmt::reset
SQLite3Stmt
PHP Manual

SQLite3Stmt::readOnly()

(PHP 5 >= 5.3.6, PHP 7)

SQLite3Stmt::readOnly() — Returns whether a statement is definitely read only

Beschreibung

public bool SQLite3Stmt::readOnly ( void )

Returns whether a statement is definitely read only. A statement is considered read only, if it makes no direct changes to the content of the database file. Note that user defined SQL functions might change the database indirectly as a side effect.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if a statement is definitely read only, FALSE otherwise.

SQLite3Stmt::paramCount
SQLite3Stmt::reset
SQLite3Stmt


Resets the prepared statement

SQLite3Stmt::readOnly()
SQLite3Result
SQLite3Stmt
PHP Manual

SQLite3Stmt::reset

(PHP 5 >= 5.3.0, PHP 7)

SQLite3Stmt::reset — Resets the prepared statement

Beschreibung

public bool SQLite3Stmt::reset ( void )

Resets the prepared statement to its state prior to execution. All bindings remain intact after reset.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the statement is successfully reset, FALSE on failure.

SQLite3Stmt::readOnly()
SQLite3Result
SQLite3Stmt


Die SQLite3Result Klasse

(PHP 5 >= 5.3.0, PHP 7)

Einführung

Eine Klasse, die Rückgabeergebnisse der SQLite-3-Erweiterung behandelt.

Klassenbeschreibung

SQLite3Result {
/* Methoden */
public string columnName ( int $column_number )
public int columnType ( int $column_number )
public array fetchArray ([ int $mode = SQLITE3_BOTH ] )
public bool finalize ( void )
public int numColumns ( void )
public bool reset ( void )
}

Inhaltsverzeichnis

  • SQLite3Result::columnName — Returns the name of the nth column
  • SQLite3Result::columnType — Returns the type of the nth column
  • SQLite3Result::fetchArray — Fetches a result row as an associative or numerically indexed array or both
  • SQLite3Result::finalize — Closes the result set
  • SQLite3Result::numColumns — Returns the number of columns in the result set
  • SQLite3Result::reset — Resets the result set back to the first row
SQLite3Stmt::reset
SQLite3Result::columnName
SQLite3


Returns the name of the nth column

SQLite3Result
SQLite3Result::columnType
SQLite3Result
PHP Manual

SQLite3Result::columnName

(PHP 5 >= 5.3.0, PHP 7)

SQLite3Result::columnName — Returns the name of the nth column

Beschreibung

public string SQLite3Result::columnName ( int $column_number )

Returns the name of the column specified by the column_number.

Parameter-Liste

column_number

The numeric zero-based index of the column.

Rückgabewerte

Returns the string name of the column identified by column_number.

SQLite3Result
SQLite3Result::columnType
SQLite3Result


Returns the type of the nth column

SQLite3Result::columnName
SQLite3Result::fetchArray
SQLite3Result
PHP Manual

SQLite3Result::columnType

(PHP 5 >= 5.3.0, PHP 7)

SQLite3Result::columnType — Returns the type of the nth column

Beschreibung

public int SQLite3Result::columnType ( int $column_number )

Returns the type of the column identified by column_number.

Parameter-Liste

column_number

The numeric zero-based index of the column.

Rückgabewerte

Returns the data type index of the column identified by column_number (one of SQLITE3_INTEGER, SQLITE3_FLOAT, SQLITE3_TEXT, SQLITE3_BLOB, or SQLITE3_NULL).

SQLite3Result::columnName
SQLite3Result::fetchArray
SQLite3Result


Fetches a result row as an associative or numerically indexed array or both

SQLite3Result::columnType
SQLite3Result::finalize
SQLite3Result
PHP Manual

SQLite3Result::fetchArray

(PHP 5 >= 5.3.0, PHP 7)

SQLite3Result::fetchArray — Fetches a result row as an associative or numerically indexed array or both

Beschreibung

public array SQLite3Result::fetchArray ([ int $mode = SQLITE3_BOTH ] )

Fetches a result row as an associative or numerically indexed array or both. By default, fetches as both.

Parameter-Liste

mode

Controls how the next row will be returned to the caller. This value must be one of either SQLITE3_ASSOC, SQLITE3_NUM, or SQLITE3_BOTH.

  • SQLITE3_ASSOC: returns an array indexed by column name as returned in the corresponding result set

  • SQLITE3_NUM: returns an array indexed by column number as returned in the corresponding result set, starting at column 0

  • SQLITE3_BOTH: returns an array indexed by both column name and number as returned in the corresponding result set, starting at column 0

Rückgabewerte

Returns a result row as an associatively or numerically indexed array or both. Alternately will return FALSE if there are no more rows.

The types of the values of the returned array are mapped from SQLite3 types as follows: integers are mapped to integer if they fit into the range PHP_INT_MIN..PHP_INT_MAX, and to string otherwise. Floats are mapped to float, NULL values are mapped to null, and strings and blobs are mapped to string.

SQLite3Result::columnType
SQLite3Result::finalize
SQLite3Result


Closes the result set

SQLite3Result::fetchArray
SQLite3Result::numColumns
SQLite3Result
PHP Manual

SQLite3Result::finalize

(PHP 5 >= 5.3.0, PHP 7)

SQLite3Result::finalize — Closes the result set

Beschreibung

public bool SQLite3Result::finalize ( void )

Closes the result set.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE.

SQLite3Result::fetchArray
SQLite3Result::numColumns
SQLite3Result


Returns the number of columns in the result set

SQLite3Result::finalize
SQLite3Result::reset
SQLite3Result
PHP Manual

SQLite3Result::numColumns

(PHP 5 >= 5.3.0, PHP 7)

SQLite3Result::numColumns — Returns the number of columns in the result set

Beschreibung

public int SQLite3Result::numColumns ( void )

Returns the number of columns in the result set.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the number of columns in the result set.

SQLite3Result::finalize
SQLite3Result::reset
SQLite3Result


Resets the result set back to the first row

SQLite3Result::numColumns
SQLSRV
SQLite3Result
PHP Manual

SQLite3Result::reset

(PHP 5 >= 5.3.0, PHP 7)

SQLite3Result::reset — Resets the result set back to the first row

Beschreibung

public bool SQLite3Result::reset ( void )

Resets the result set back to the first row.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the result set is successfully reset back to the first row, FALSE on failure.

SQLite3Result::numColumns
SQLSRV
SQLite3Result


Microsoft SQL Server Driver for PHP

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • SQLSRV Funktionen
    • sqlsrv_begin_transaction — Begins a database transaction
    • sqlsrv_cancel — Cancels a statement
    • sqlsrv_client_info — Returns information about the client and specified connection
    • sqlsrv_close — Closes an open connection and releases resourses associated with the connection
    • sqlsrv_commit — Commits a transaction that was begun with sqlsrv_begin_transaction
    • sqlsrv_configure — Changes the driver error handling and logging configurations
    • sqlsrv_connect — Opens a connection to a Microsoft SQL Server database
    • sqlsrv_errors — Returns error and warning information about the last SQLSRV operation performed
    • sqlsrv_execute — Executes a statement prepared with sqlsrv_prepare
    • sqlsrv_fetch_array — Returns a row as an array
    • sqlsrv_fetch_object — Retrieves the next row of data in a result set as an object
    • sqlsrv_fetch — Makes the next row in a result set available for reading
    • sqlsrv_field_metadata — Retrieves metadata for the fields of a statement prepared by sqlsrv_prepare or sqlsrv_query
    • sqlsrv_free_stmt — Frees all resources for the specified statement
    • sqlsrv_get_config — Returns the value of the specified configuration setting
    • sqlsrv_get_field — Gets field data from the currently selected row
    • sqlsrv_has_rows — Indicates whether the specified statement has rows
    • sqlsrv_next_result — Makes the next result of the specified statement active
    • sqlsrv_num_fields — Retrieves the number of fields (columns) on a statement
    • sqlsrv_num_rows — Retrieves the number of rows in a result set
    • sqlsrv_prepare — Prepares a query for execution
    • sqlsrv_query — Prepares and executes a query.
    • sqlsrv_rollback — Rolls back a transaction that was begun with sqlsrv_begin_transaction
    • sqlsrv_rows_affected — Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed
    • sqlsrv_send_stream_data — Sends data from parameter streams to the server
    • sqlsrv_server_info — Returns information about the server
SQLite3Result::reset
Einführung
Anbieterspezifische Datenbankerweiterungen


Einführung

The SQLSRV extension allows you to access Microsoft SQL Server and SQL Azure databases when running PHP on Windows. The 3.0 release of the driver supports SQL Server, beginning with SQL Server 2005, including SQL Server 2012 and SQL Server 2012 LocalDB. (For more information about LocalDB, see » PHP Driver for SQL Server Support for LocalDB and » SQL Server 2012 Express LocalDB.)

The SQLSRV extension is supported by Microsoft and available for download here: » http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx. SQL Server 2012 LocalDB can be downloaded here: » http://go.microsoft.com/fwlink/?LinkID=237665.

SQLSRV
Installation/Konfiguration
SQLSRV


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
SQLSRV


Anforderungen

The SQLSRV extension can be used on the following operating systems:

  • Windows Vista Service Pack 2 or later
  • Windows Server 2008 Service Pack 2 or later
  • Windows Server 2008 R2
  • Windows 7

The SQLSRV extension requires that the Microsoft SQL Server 2012 Native Client be installed on the same computer that is running PHP. If the Microsoft SQL Server 2012 Native Client is not already installed, click the appropriate link below to download it:

  • » Download the x86 package
  • » Download the x64 package

The SQLSRV download comes 8 driver files, four of which are for PDO support. If you are running non-thread-safe PHP (PHP 5.3), use the php_sqlsrv_53_nts.dll file. (You should use a non-thread-safe version if you are using IIS as your web server). If you are running thread-safe PHP, use the php_sqlsrv_53_ts.dll file. Similarly for PHP 5.4, use the php_sqlsrv_54_nts.dll or php_sqlsrv_54_ts.dll depending on whether your PHP installation is non-thread-safe or thread-safe.

The most recent version of the driver is available for download here: » SQLSRV 3.0 download. If you need support for PHP 5.2 and/or PHP compiled with VC6, use the 2.0 release of the driver: » SQLSRV 2.0 download.

For more information about SQLSRV requirements, see » SQLSRV System Requirements.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

The SQLSRV extension is enabled by adding appropriate DLL file to your PHP extension directory and the corresponding entry to the php.ini file. The SQLSRV download comes 8 driver files, four of which are for PDO support. If you are running non-thread-safe PHP (PHP 5.3), use the php_sqlsrv_53_nts.dll file. (You should use a non-thread-safe version if you are using IIS as your web server). If you are running thread-safe PHP, use the php_sqlsrv_53_ts.dll file. Similarly for PHP 5.4, use the php_sqlsrv_54_nts.dll or php_sqlsrv_54_ts.dll depending on whether your PHP installation is non-thread-safe or thread-safe.

The most recent version of the driver is available for download here: » SQLSRV 3.0 download. If you need support for PHP 5.2 and/or PHP compiled with VC6, use the 2.0 release of the driver: » SQLSRV 2.0 download.

For more information about SQLSRV requirements, see » SQLSRV System Requirements.

The SQLSRV extension is only compatible with PHP running on Windows.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

The following table lists the configuration options available in the SQLSRV extension. For more information about these options, see » Handling SQLSRV Warnings and Errors.

SQLSRV Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
sqlsrv.WarningsReturnAsErrors | 1 (TRUE) | PHP_INI_ALL | Available since SQLSRV 1.0
sqlsrv.LogSubsystems | 0 | PHP_INI_ALL | Available since SQLSRV 1.0
sqlsrv.LogSeverity | 1 | PHP_INI_ALL | Available since SQLSRV 1.0

Installation
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

Connection resource

A connection resource returned by sqlsrv_connect().

Statement resource

A statement resource returned by sqlsrv_query() or by sqlsrv_prepare().

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

SQLSRV_FETCH_ASSOC (integer)
Forces sqlsrv_fetch_array() to return an associative array when passed as a parameter.
SQLSRV_FETCH_NUMERIC (integer)
Forces sqlsrv_fetch_array() to return an array with numeric when passed as a parameter.
SQLSRV_FETCH_BOTH (integer)
Forces sqlsrv_fetch_array() to return an array with both associative and numeric keys when passed as a parameter (the default behavior).
SQLSRV_ERR_ALL (integer)
Forces sqlsrv_errors() to return both errors and warings when passed as a parameter (the default behavior).
SQLSRV_ERR_ERRORS (integer)
Forces sqlsrv_errors() to return errors only (no warnings) when passed as a parameter.
SQLSRV_ERR_WARNINGS (integer)
Forces sqlsrv_errors() to return warnings only (no errors) when passed as a parameter.
SQLSRV_LOG_SYSTEM_ALL (integer)
Turns on logging of all subsystems when passed to sqlsrv_configure() as a parameter.
SQLSRV_LOG_SYSTEM_CONN (integer)
Turns on logging of connection activity when passed to sqlsrv_configure() as a parameter.
SQLSRV_LOG_SYSTEM_INIT (integer)
Turns on logging of initialization activity when passed to sqlsrv_configure() as a parameter.
SQLSRV_LOG_SYSTEM_OFF (integer)
Turns off logging of all subsystems when passed to sqlsrv_configure() as a parameter.
SQLSRV_LOG_SYSTEM_STMT (integer)
Turns on logging of statement activity when passed to sqlsrv_configure() as a parameter.
SQLSRV_LOG_SYSTEM_UTIL (integer)
Turns on logging of error function activity when passed to sqlsrv_configure() as a parameter.
SQLSRV_LOG_SEVERITY_ALL (integer)
Specifies that errors, warnings, and notices will be logged when passed to sqlsrv_configure() as a parameter.
SQLSRV_LOG_SEVERITY_ERROR (integer)
Specifies that errors will be logged when passed to sqlsrv_configure() as a parameter.
SQLSRV_LOG_SEVERITY_NOTICE (integer)
Specifies that notices will be logged when passed to sqlsrv_configure() as a parameter.
SQLSRV_LOG_SEVERITY_WARNING (integer)
Specifies that warnings will be logged when passed to sqlsrv_configure() as a parameter.
SQLSRV_NULLABLE_YES (integer)
Indicates that a column is nullable.
SQLSRV_NULLABLE_NO (integer)
Indicates that a column is not nullable.
SQLSRV_NULLABLE_UNKNOWN (integer)
Indicates that it is not known if a column is nullable.
SQLSRV_PARAM_IN (integer)
Indicates an input parameter when passed to sqlsrv_query() or sqlsrv_prepare().
SQLSRV_PARAM_INOUT (integer)
Indicates a bidirectional parameter when passed to sqlsrv_query() or sqlsrv_prepare().
SQLSRV_PARAM_OUT (integer)
Indicates an output parameter when passed to sqlsrv_query() or sqlsrv_prepare().
SQLSRV_PHPTYPE_INT (integer)
Specifies an integer PHP data type. For usage information, see » How to: Specify PHP Types.
SQLSRV_PHPTYPE_DATETIME (integer)
Specifies a datetime PHP data type. For usage information, see » How to: Specify PHP Types.
SQLSRV_PHPTYPE_FLOAT (integer)
Specifies a float PHP data type. For usage information, see » How to: Specify PHP Types.
SQLSRV_PHPTYPE_STREAM (integer)
Specifies a PHP stream. This constant works like a function and accepts an encoding constant. See the SQLSRV_ENC_* constants. For usage information, see » How to: Specify PHP Types.
SQLSRV_PHPTYPE_STRING (integer)
Specifies a string PHP data type. This constant works like a function and accepts an encoding constant. See the SQLSRV_ENC_* constants. For usage information, see » How to: Specify PHP Types.
SQLSRV_ENC_BINARY (integer)
Specifies that data is returned as a raw byte stream from the server without performing encoding or translation. For usage information, see » How to: Specify PHP Types.
SQLSRV_ENC_CHAR (integer)
Data is returned in 8-bit characters as specified in the code page of the Windows locale that is set on the system. Any multi-byte characters or characters that do not map into this code page are substituted with a single byte question mark (?) character. This is the default encoding. For usage information, see » How to: Specify PHP Types.
UTF-8 (integer)
Specifies that data is returned with UTF-8 encoding. For usage information, see » How to: Specify PHP Types.
SQLSRV_SQLTYPE_BIGINT (integer)
Describes the bigint SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_BINARY (integer)
Describes the binary SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_BIT (integer)
Describes the bit SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_CHAR (integer)
Describes the char SQL Server data type. This constant works like a function and accepts a parameter indicating the number characters. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_DATE (integer)
Describes the date SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_DATETIME (integer)
Describes the datetime SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_DATETIME2 (integer)
Describes the datetime2 SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_DATETIMEOFFSET (integer)
Describes the datetimeoffset SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_DECIMAL (integer)
Describes the decimal SQL Server data type. This constant works like a function and accepts two parameters indicating (in order) precision and scale. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_FLOAT (integer)
Describes the float SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_IMAGE (integer)
Describes the image SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_INT (integer)
Describes the int SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_MONEY (integer)
Describes the money SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_NCHAR (integer)
Describes the nchar SQL Server data type. This constant works like a function and accepts a single parameter indicating the character count. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_NUMERIC (integer)
Describes the numeric SQL Server data type. This constant works like a function and accepts two parameter indicating (in order) precision and scale. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_NVARCHAR (integer)
Describes the nvarchar SQL Server data type. This constant works like a function and accepts a single parameter indicating the character count. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_NVARCHAR('max') (integer)
Describes the nvarchar(MAX) SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_NTEXT (integer)
Describes the ntext SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_REAL (integer)
Describes the real SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_SMALLDATETIME (integer)
Describes the smalldatetime SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_SMALLINT (integer)
Describes the smallint SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_SMALLMONEY (integer)
Describes the smallmoney SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_TEXT (integer)
Describes the text SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_TIME (integer)
Describes the time SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_TIMESTAMP (integer)
Describes the timestamp SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_TINYINT (integer)
Describes the tinyint SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_UNIQUEIDENTIFIER (integer)
Describes the uniqueidentifier SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_UDT (integer)
Describes the UDT SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_VARBINARY (integer)
Describes the varbinary SQL Server data type. This constant works like a function and accepts a single parameter indicating the byte count. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_VARBINARY('max') (integer)
Describes the varbinary(MAX) SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_VARCHAR (integer)
Describes the varchar SQL Server data type. This constant works like a function and accepts a single parameter indicating the character count. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_VARCHAR('max') (integer)
Describes the varchar(MAX) SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_XML (integer)
Describes the XML SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_TXN_READ_UNCOMMITTED (integer)
Inidicates a transaction isolation level of READ UNCOMMITTED. This value is used to set the TransactionIsolation level in the $connectionOptions arrary passed to sqlsrv_connect().
SQLSRV_TXN_READ_COMMITTED (integer)
Inidicates a transaction isolation level of READ COMMITTED. This value is used to set the TransactionIsolation level in the $connectionOptions arrary passed to sqlsrv_connect().
SQLSRV_TXN_REPEATABLE_READ (integer)
Inidicates a transaction isolation level of REPEATABLE READ. This value is used to set the TransactionIsolation level in the $connectionOptions arrary passed to sqlsrv_connect().
SQLSRV_TXN_SNAPSHOT (integer)
Inidicates a transaction isolation level of SNAPSHOT. This value is used to set the TransactionIsolation level in the $connectionOptions arrary passed to sqlsrv_connect().
SQLSRV_TXN_READ_SERIALIZABLE (integer)
Inidicates a transaction isolation level of SERIALIZABLE. This value is used to set the TransactionIsolation level in the $connectionOptions arrary passed to sqlsrv_connect().
SQLSRV_CURSOR_FORWARD (integer)
Inidicates a forward-only cursor. For usage information, see » Specifying a Cursor Type and Selecting Rows.
SQLSRV_CURSOR_STATIC (integer)
Inidicates a static cursor. For usage information, see » Specifying a Cursor Type and Selecting Rows.
SQLSRV_CURSOR_DYNAMIC (integer)
Inidicates a dynamic cursor. For usage information, see » Specifying a Cursor Type and Selecting Rows.
SQLSRV_CURSOR_KEYSET (integer)
Inidicates a keyset cursor. For usage information, see » Specifying a Cursor Type and Selecting Rows.
SQLSRV_CURSOR_BUFFERED (integer)
Creates a client-side cursor query. Lets you access rows in any order. For usage information, see » Specifying a Cursor Type and Selecting Rows.
SQLSRV_SCROLL_NEXT (integer)
Specifies which row to select in a result set. For usage information, see » Specifying a Cursor Type and Selecting Rows.
SQLSRV_SCROLL_PRIOR (integer)
Specifies which row to select in a result set. For usage information, see » Specifying a Cursor Type and Selecting Rows.
SQLSRV_SCROLL_FIRST (integer)
Specifies which row to select in a result set. For usage information, see » Specifying a Cursor Type and Selecting Rows.
SQLSRV_SCROLL_LAST (integer)
Specifies which row to select in a result set. For usage information, see » Specifying a Cursor Type and Selecting Rows.
SQLSRV_SCROLL_ABSOLUTE (integer)
Specifies which row to select in a result set. For usage information, see » Specifying a Cursor Type and Selecting Rows.
SQLSRV_SCROLL_RELATIVE (integer)
Specifies which row to select in a result set. For usage information, see » Specifying a Cursor Type and Selecting Rows.

Ressource-Typen
SQLSRV Funktionen
SQLSRV


SQLSRV Funktionen

Inhaltsverzeichnis

  • sqlsrv_begin_transaction — Begins a database transaction
  • sqlsrv_cancel — Cancels a statement
  • sqlsrv_client_info — Returns information about the client and specified connection
  • sqlsrv_close — Closes an open connection and releases resourses associated with the connection
  • sqlsrv_commit — Commits a transaction that was begun with sqlsrv_begin_transaction
  • sqlsrv_configure — Changes the driver error handling and logging configurations
  • sqlsrv_connect — Opens a connection to a Microsoft SQL Server database
  • sqlsrv_errors — Returns error and warning information about the last SQLSRV operation performed
  • sqlsrv_execute — Executes a statement prepared with sqlsrv_prepare
  • sqlsrv_fetch_array — Returns a row as an array
  • sqlsrv_fetch_object — Retrieves the next row of data in a result set as an object
  • sqlsrv_fetch — Makes the next row in a result set available for reading
  • sqlsrv_field_metadata — Retrieves metadata for the fields of a statement prepared by sqlsrv_prepare or sqlsrv_query
  • sqlsrv_free_stmt — Frees all resources for the specified statement
  • sqlsrv_get_config — Returns the value of the specified configuration setting
  • sqlsrv_get_field — Gets field data from the currently selected row
  • sqlsrv_has_rows — Indicates whether the specified statement has rows
  • sqlsrv_next_result — Makes the next result of the specified statement active
  • sqlsrv_num_fields — Retrieves the number of fields (columns) on a statement
  • sqlsrv_num_rows — Retrieves the number of rows in a result set
  • sqlsrv_prepare — Prepares a query for execution
  • sqlsrv_query — Prepares and executes a query.
  • sqlsrv_rollback — Rolls back a transaction that was begun with sqlsrv_begin_transaction
  • sqlsrv_rows_affected — Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed
  • sqlsrv_send_stream_data — Sends data from parameter streams to the server
  • sqlsrv_server_info — Returns information about the server
Vordefinierte Konstanten
sqlsrv_begin_transaction
SQLSRV


Begins a database transaction

SQLSRV Funktionen
sqlsrv_cancel
SQLSRV Funktionen
PHP Manual

sqlsrv_begin_transaction

(No version information available, might only be in Git)

sqlsrv_begin_transaction — Begins a database transaction

Beschreibung

bool sqlsrv_begin_transaction ( resource $conn )

The transaction begun by sqlsrv_begin_transaction() includes all statements that were executed after the call to sqlsrv_begin_transaction() and before calls to sqlsrv_rollback() or sqlsrv_commit(). Explicit transactions should be started and committed or rolled back using these functions instead of executing SQL statements that begin and committ/roll back transactions. For more information, see » SQLSRV Transactions.

Parameter-Liste

conn

The connection resource returned by a call to sqlsrv_connect().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 sqlsrv_begin_transaction() example

The following example demonstrates how to use sqlsrv_begin_transaction() together with sqlsrv_commit() and sqlsrv_rollback().

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
    die( print_r( sqlsrv_errors(), true ));
}

/* Begin the transaction. */
if ( sqlsrv_begin_transaction( $conn ) === false ) {
     die( print_r( sqlsrv_errors(), true ));
}

/* Initialize parameter values. */
$orderId = 1; $qty = 10; $productId = 100;

/* Set up and execute the first query. */
$sql1 = "INSERT INTO OrdersTable (ID, Quantity, ProductID)
          VALUES (?, ?, ?)";
$params1 = array( $orderId, $qty, $productId );
$stmt1 = sqlsrv_query( $conn, $sql1, $params1 );

/* Set up and execute the second query. */
$sql2 = "UPDATE InventoryTable
          SET Quantity = (Quantity - ?)
          WHERE ProductID = ?";
$params2 = array($qty, $productId);
$stmt2 = sqlsrv_query( $conn, $sql2, $params2 );

/* If both queries were successful, commit the transaction. */
/* Otherwise, rollback the transaction. */
if( $stmt1 && $stmt2 ) {
     sqlsrv_commit( $conn );
     echo "Transaction committed.<br />";
} else {
     sqlsrv_rollback( $conn );
     echo "Transaction rolled back.<br />";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Siehe auch

  • sqlsrv_commit() - Commits a transaction that was begun with sqlsrv_begin_transaction
  • sqlsrv_rollback() - Rolls back a transaction that was begun with sqlsrv_begin_transaction

SQLSRV Funktionen
sqlsrv_cancel
SQLSRV Funktionen


Cancels a statement

sqlsrv_begin_transaction
sqlsrv_client_info
SQLSRV Funktionen
PHP Manual

sqlsrv_cancel

(No version information available, might only be in Git)

sqlsrv_cancel — Cancels a statement

Beschreibung

bool sqlsrv_cancel ( resource $stmt )

Cancels a statement. Any results associated with the statement that have not been consumed are deleted. After sqlsrv_cancel() has been called, the specified statement can be re-executed if it was created with sqlsrv_prepare(). Calling sqlsrv_cancel() is not necessary if all the results associated with the statement have been consumed.

Parameter-Liste

stmt

The statement resource to be cancelled.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 sqlsrv_cancel() example

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT Sales FROM Table_1";

$stmt = sqlsrv_prepare( $conn, $sql);

if( $stmt === false ) {
     die( print_r( sqlsrv_errors(), true));
}

if( sqlsrv_execute( $stmt ) === false) {
     die( print_r( sqlsrv_errors(), true));
}

$salesTotal = 0;
$count = 0;

while( ($row = sqlsrv_fetch_array( $stmt)) && $salesTotal <=100000)
{
     $qty = $row[0];
     $price = $row[1];
     $salesTotal += ( $price * $qty);
     $count++;
}

echo "$count sales accounted for the first $$salesTotal in revenue.<br />";

// Cancel the pending results. The statement can be reused.
sqlsrv_cancel( $stmt);
?>

Anmerkungen

The main difference between sqlsrv_cancel() and sqlsrv_free_stmt() is that a statement resource cancelled with sqlsrv_cancel() can be re-executed if it was created with sqlsrv_prepare(). A statement resource cancelled with sqlsrv_free_statement() cannot be re-executed.

Siehe auch

  • sqlsrv_free_stmt() - Frees all resources for the specified statement
  • sqlsrv_prepare() - Prepares a query for execution

sqlsrv_begin_transaction
sqlsrv_client_info
SQLSRV Funktionen


Returns information about the client and specified connection

sqlsrv_cancel
sqlsrv_close
SQLSRV Funktionen
PHP Manual

sqlsrv_client_info

(No version information available, might only be in Git)

sqlsrv_client_info — Returns information about the client and specified connection

Beschreibung

array sqlsrv_client_info ( resource $conn )

Returns information about the client and specified connection

Parameter-Liste

conn

The connection about which information is returned.

Rückgabewerte

Returns an associative array with keys described in the table below. Returns FALSE otherwise.

Array returned by sqlsrv_client_info
Key | Description
DriverDllName | SQLNCLI10.DLL
DriverODBCVer | ODBC version (xx.yy)
DriverVer | SQL Server Native Client DLL version (10.5.xxx)
ExtensionVer | php_sqlsrv.dll version (2.0.xxx.x)

Beispiele

Beispiel #1 sqlsrv_client_info() example

<?php
$serverName = "serverName\sqlexpress";
$connOptions = array("UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connOptions );

if( $conn === false ) {
    die( print_r( sqlsrv_errors(), true));
}

if( $client_info = sqlsrv_client_info( $conn)) {
    foreach( $client_info as $key => $value) {
        echo $key.": ".$value."<br />";
    }
} else {
    echo "Error in retrieving client info.<br />";
}
?>

Siehe auch

  • sqlsrv_server_info() - Returns information about the server

sqlsrv_cancel
sqlsrv_close
SQLSRV Funktionen


Closes an open connection and releases resourses associated with the connection

sqlsrv_client_info
sqlsrv_commit
SQLSRV Funktionen
PHP Manual

sqlsrv_close

(No version information available, might only be in Git)

sqlsrv_close — Closes an open connection and releases resourses associated with the connection

Beschreibung

bool sqlsrv_close ( resource $conn )

Closes an open connection and releases resourses associated with the connection.

Parameter-Liste

conn

The connection to be closed.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 sqlsrv_close() example

<?php
$serverName = "serverName\sqlexpres";
$connOptions = array("UID"=>"username", "PWD"=>"password", "Database"=>"dbname");
$conn = sqlsrv_connect( $serverName, $connOptions );
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

//-------------------------------------
// Perform database operations here.
//-------------------------------------

// Close the connection.
sqlsrv_close( $conn );
?>

Siehe auch

  • sqlsrv_connect() - Opens a connection to a Microsoft SQL Server database

sqlsrv_client_info
sqlsrv_commit
SQLSRV Funktionen


Commits a transaction that was begun with sqlsrv_begin_transaction

sqlsrv_close
sqlsrv_configure
SQLSRV Funktionen
PHP Manual

sqlsrv_commit

(No version information available, might only be in Git)

sqlsrv_commit — Commits a transaction that was begun with sqlsrv_begin_transaction()

Beschreibung

bool sqlsrv_commit ( resource $conn )

Commits a transaction that was begun with sqlsrv_begin_transaction(). The connection is returned to auto-commit mode after sqlsrv_commit() is called. The transaction that is committed includes all statements that were executed after the call to sqlsrv_begin_transaction(). Explicit transactions should be started and committed or rolled back using these functions instead of executing SQL statements that begin and committ/roll back transactions. For more information, see » SQLSRV Transactions.

Parameter-Liste

conn

The connection on which the transaction is to be committed.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 sqlsrv_commit() example

The following example demonstrates how to use sqlsrv_commit() together with sqlsrv_begin_transaction() and sqlsrv_rollback().

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
    die( print_r( sqlsrv_errors(), true ));
}

/* Begin the transaction. */
if ( sqlsrv_begin_transaction( $conn ) === false ) {
     die( print_r( sqlsrv_errors(), true ));
}

/* Initialize parameter values. */
$orderId = 1; $qty = 10; $productId = 100;

/* Set up and execute the first query. */
$sql1 = "INSERT INTO OrdersTable (ID, Quantity, ProductID)
         VALUES (?, ?, ?)";
$params1 = array( $orderId, $qty, $productId );
$stmt1 = sqlsrv_query( $conn, $sql1, $params1 );

/* Set up and execute the second query. */
$sql2 = "UPDATE InventoryTable
         SET Quantity = (Quantity - ?)
         WHERE ProductID = ?";
$params2 = array($qty, $productId);
$stmt2 = sqlsrv_query( $conn, $sql2, $params2 );

/* If both queries were successful, commit the transaction. */
/* Otherwise, rollback the transaction. */
if( $stmt1 && $stmt2 ) {
     sqlsrv_commit( $conn );
     echo "Transaction committed.<br />";
} else {
     sqlsrv_rollback( $conn );
     echo "Transaction rolled back.<br />";
}
?>

Siehe auch

  • sqlsrv_begin_transaction() - Begins a database transaction
  • sqlsrv_rollback() - Rolls back a transaction that was begun with sqlsrv_begin_transaction

sqlsrv_close
sqlsrv_configure
SQLSRV Funktionen


Changes the driver error handling and logging configurations

sqlsrv_commit
sqlsrv_connect
SQLSRV Funktionen
PHP Manual

sqlsrv_configure

(No version information available, might only be in Git)

sqlsrv_configure — Changes the driver error handling and logging configurations

Beschreibung

bool sqlsrv_configure ( string $setting , mixed $value )

Changes the driver error handling and logging configurations.

Parameter-Liste

setting

The name of the setting to set. The possible values are "WarningsReturnAsErrors", "LogSubsystems", and "LogSeverity".

value

The value of the specified setting. The following table shows possible values:

Error and Logging Setting Options
Setting | Options
WarningsReturnAsErrors | 1 (TRUE) or 0 (FALSE)
LogSubsystems | SQLSRV_LOG_SYSTEM_ALL (-1) SQLSRV_LOG_SYSTEM_CONN (2) SQLSRV_LOG_SYSTEM_INIT (1) SQLSRV_LOG_SYSTEM_OFF (0) SQLSRV_LOG_SYSTEM_STMT (4) SQLSRV_LOG_SYSTEM_UTIL (8)
LogSeverity | SQLSRV_LOG_SEVERITY_ALL (-1) SQLSRV_LOG_SEVERITY_ERROR (1) SQLSRV_LOG_SEVERITY_NOTICE (4) SQLSRV_LOG_SEVERITY_WARNING (2)

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • » SQLSRV Error Handling.
  • » Logging SQLSRV Activity.

sqlsrv_commit
sqlsrv_connect
SQLSRV Funktionen


Opens a connection to a Microsoft SQL Server database

sqlsrv_configure
sqlsrv_errors
SQLSRV Funktionen
PHP Manual

sqlsrv_connect

(No version information available, might only be in Git)

sqlsrv_connect — Opens a connection to a Microsoft SQL Server database

Beschreibung

resource sqlsrv_connect ( string $serverName [, array $connectionInfo ] )

Opens a connection to a Microsoft SQL Server database. By default, the connection is attempted using Windows Authentication. To connect using SQL Server Authentication, include "UID" and "PWD" in the connection options array.

Parameter-Liste

serverName

The name of the server to which a connection is established. To connect to a specific instance, follow the server name with a backward slash and the instance name (e.g. serverName\sqlexpress).

connectionInfo

An associative array that specifies options for connecting to the server. If values for the UID and PWD keys are not specified, the connection will be attempted using Windows Authentication. For a complete list of supported keys, see » SQLSRV Connection Options.

Rückgabewerte

A connection resource. If a connection cannot be successfully opened, FALSE is returned.

Beispiele

Beispiel #1 Connect using Windows Authentication.

<?php
$serverName = "serverName\sqlexpress"; //serverName\instanceName

// Since UID and PWD are not specified in the $connectionInfo array,
// The connection will be attempted using Windows Authentication.
$connectionInfo = array( "Database"=>"dbName");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
     echo "Connection established.<br />";
}else{
     echo "Connection could not be established.<br />";
     die( print_r( sqlsrv_errors(), true));
}
?>

Beispiel #2 Connect by specifying a user name and password.

<?php
$serverName = "serverName\sqlexpress"; //serverName\instanceName
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
     echo "Connection established.<br />";
}else{
     echo "Connection could not be established.<br />";
     die( print_r( sqlsrv_errors(), true));
}
?>

Beispiel #3 Connect on a specifed port.

<?php
$serverName = "serverName\sqlexpress, 1542"; //serverName\instanceName, portNumber (default is 1433)
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
     echo "Connection established.<br />";
}else{
     echo "Connection could not be established.<br />";
     die( print_r( sqlsrv_errors(), true));
}
?>

Anmerkungen

By default, the sqlsrv_connect() uses connection pooling to improve connection performance. To turn off connection pooling (i.e. force a new connection on each call), set the "ConnectionPooling" option in the $connectionOptions array to 0 (or FALSE). For more information, see » SQLSRV Connection Pooling.

The SQLSRV extension does not have a dedicated function for changing which database is connected to. The target database is specified in the $connectionOptions array that is passed to sqlsrv_connect. To change the database on an open connection, execute the following query "USE dbName" (e.g. sqlsrv_query($conn, "USE dbName")).

Siehe auch

  • sqlsrv_close() - Closes an open connection and releases resourses associated with the connection
  • sqlsrv_errors() - Returns error and warning information about the last SQLSRV operation performed
  • sqlsrv_query() - Prepares and executes a query.

sqlsrv_configure
sqlsrv_errors
SQLSRV Funktionen


Returns error and warning information about the last SQLSRV operation performed

sqlsrv_connect
sqlsrv_execute
SQLSRV Funktionen
PHP Manual

sqlsrv_errors

(No version information available, might only be in Git)

sqlsrv_errors — Returns error and warning information about the last SQLSRV operation performed

Beschreibung

mixed sqlsrv_errors ([ int $errorsOrWarnings ] )

Returns error and warning information about the last SQLSRV operation performed.

Parameter-Liste

errorsOrWarnings

Determines whether error information, warning information, or both are returned. If this parameter is not supplied, both error information and warning information are returned. The following are the supported values for this parameter: SQLSRV_ERR_ALL, SQLSRV_ERR_ERRORS, SQLSRV_ERR_WARNINGS.

Rückgabewerte

If errors and/or warnings occurred on the last sqlsrv operation, an array of arrays containing error information is returned. If no errors and/or warnings occurred on the last sqlsrv operation, NULL is returned. The following table describes the structure of the returned arrays:

Array returned by sqlsrv_errors
Key | Description
SQLSTATE | For errors that originate from the ODBC driver, the SQLSTATE returned by ODBC. For errors that originate from the Microsoft Drivers for PHP for SQL Server, a SQLSTATE of IMSSP. For warnings that originate from the Microsoft Drivers for PHP for SQL Server, a SQLSTATE of 01SSP.
code | For errors that originate from SQL Server, the native SQL Server error code. For errors that originate from the ODBC driver, the error code returned by ODBC. For errors that originate from the Microsoft Drivers for PHP for SQL Server, the Microsoft Drivers for PHP for SQL Server error code.
message | A description of the error.

Beispiele

Beispiel #1 functionname() example

<?php
$serverName = "serverName/sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

/* Set up a query to select an invalid column name. */
$sql = "SELECT BadColumnName FROM Table_1";

/* Execution of the query will fail because of the bad column name. */
$stmt = sqlsrv_query( $conn, $sql );
if( $stmt === false ) {
    if( ($errors = sqlsrv_errors() ) != null) {
        foreach( $errors as $error ) {
            echo "SQLSTATE: ".$error[ 'SQLSTATE']."<br />";
            echo "code: ".$error[ 'code']."<br />";
            echo "message: ".$error[ 'message']."<br />";
        }
    }
}
?>

Anmerkungen

By default, warnings generated on a call to any SQLSRV function are treated as errors. This means that if a warning occurs on a call to a SQLSRV function, the function returns FALSE. However, warnings that correspond to SQLSTATE values 01000, 01001, 01003, and 01S02 are never treated as errors. For information about changing this behavior, see sqlsrv_configure() and the WarningsReturnAsErrors setting.

Siehe auch

  • sqlsrv_configure() - Changes the driver error handling and logging configurations

sqlsrv_connect
sqlsrv_execute
SQLSRV Funktionen


Executes a statement prepared with sqlsrv_prepare

sqlsrv_errors
sqlsrv_fetch_array
SQLSRV Funktionen
PHP Manual

sqlsrv_execute

(No version information available, might only be in Git)

sqlsrv_execute — Executes a statement prepared with sqlsrv_prepare()

Beschreibung

bool sqlsrv_execute ( resource $stmt )

Executes a statement prepared with sqlsrv_prepare(). This function is ideal for executing a prepared statement multiple times with different parameter values.

Parameter-Liste

stmt

A statement resource returned by sqlsrv_prepare().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 sqlsrv_execute() example

This example demonstrates how to prepare a statement with sqlsrv_prepare() and re-execute it multiple times (with different parameter values) using sqlsrv_execute().

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false) {
    die( print_r( sqlsrv_errors(), true));
}

$sql = "UPDATE Table_1
        SET OrderQty = ?
        WHERE SalesOrderID = ?";

// Initialize parameters and prepare the statement.
// Variables $qty and $id are bound to the statement, $stmt.
$qty = 0; $id = 0;
$stmt = sqlsrv_prepare( $conn, $sql, array( &$qty, &$id));
if( !$stmt ) {
    die( print_r( sqlsrv_errors(), true));
}

// Set up the SalesOrderDetailID and OrderQty information.
// This array maps the order ID to order quantity in key=>value pairs.
$orders = array( 1=>10, 2=>20, 3=>30);

// Execute the statement for each order.
foreach( $orders as $id => $qty) {
    // Because $id and $qty are bound to $stmt1, their updated
    // values are used with each execution of the statement.
    if( sqlsrv_execute( $stmt ) === false ) {
          die( print_r( sqlsrv_errors(), true));
    }
}
?>

Anmerkungen

When you prepare a statement that uses variables as parameters, the variables are bound to the statement. This means that if you update the values of the variables, the next time you execute the statement it will run with updated parameter values. For statements that you plan to execute only once, use sqlsrv_query().

Siehe auch

  • sqlsrv_prepare() - Prepares a query for execution
  • sqlsrv_query() - Prepares and executes a query.

sqlsrv_errors
sqlsrv_fetch_array
SQLSRV Funktionen


Returns a row as an array

sqlsrv_execute
sqlsrv_fetch_object
SQLSRV Funktionen
PHP Manual

sqlsrv_fetch_array

(No version information available, might only be in Git)

sqlsrv_fetch_array — Returns a row as an array

Beschreibung

array sqlsrv_fetch_array ( resource $stmt [, int $fetchType [, int $row [, int $offset ]]] )

Returns the next available row of data as an associative array, a numeric array, or both (the default).

Parameter-Liste

stmt

A statement resource returned by sqlsrv_query or sqlsrv_prepare.

fetchType

A predefined constant specifying the type of array to return. Possible values are SQLSRV_FETCH_ASSOC, SQLSRV_FETCH_NUMERIC, and SQLSRV_FETCH_BOTH (the default).

A fetch type of SQLSRV_FETCH_ASSOC should not be used when consuming a result set with multiple columns of the same name.

row

Specifies the row to access in a result set that uses a scrollable cursor. Possible values are SQLSRV_SCROLL_NEXT, SQLSRV_SCROLL_PRIOR, SQLSRV_SCROLL_FIRST, SQLSRV_SCROLL_LAST, SQLSRV_SCROLL_ABSOLUTE and, SQLSRV_SCROLL_RELATIVE (the default). When this parameter is specified, the fetchType must be explicitly defined.

offset

Specifies the row to be accessed if the row parameter is set to SQLSRV_SCROLL_ABSOLUTE or SQLSRV_SCROLL_RELATIVE. Note that the first row in a result set has index 0.

Rückgabewerte

Returns an array on success, NULL if there are no more rows to return, and FALSE if an error occurs.

Beispiele

Beispiel #1 Retrieving an associative array.

<?php
$serverName = "serverName\instanceName";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo );
if( $conn === false ) {
    die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT FirstName, LastName FROM SomeTable";
$stmt = sqlsrv_query( $conn, $sql );
if( $stmt === false) {
    die( print_r( sqlsrv_errors(), true) );
}

while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
      echo $row['LastName'].", ".$row['FirstName']."<br />";
}

sqlsrv_free_stmt( $stmt);
?>

Beispiel #2 Retrieving a numeric array.

<?php
$serverName = "serverName\instanceName";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo );
if( $conn === false ) {
    die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT FirstName, LastName FROM SomeTable";
$stmt = sqlsrv_query( $conn, $sql );
if( $stmt === false) {
    die( print_r( sqlsrv_errors(), true) );
}

while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_NUMERIC) ) {
      echo $row[0].", ".$row[1]."<br />";
}

sqlsrv_free_stmt( $stmt);
?>

Anmerkungen

Not specifying the fetchType or explicity using the SQLSRV_FETCH_TYPE constant in the examples above will return an array that has both associative and numeric keys.

If more than one column is returned with the same name, the last column will take precedence. To avoid field name collisions, use aliases.

If a column with no name is returned, the associative key for the array element will be an empty string ("").

Siehe auch

  • sqlsrv_connect() - Opens a connection to a Microsoft SQL Server database
  • sqlsrv_query() - Prepares and executes a query.
  • sqlsrv_errors() - Returns error and warning information about the last SQLSRV operation performed
  • sqlsrv_fetch() - Makes the next row in a result set available for reading

sqlsrv_execute
sqlsrv_fetch_object
SQLSRV Funktionen


Retrieves the next row of data in a result set as an object

sqlsrv_fetch_array
sqlsrv_fetch
SQLSRV Funktionen
PHP Manual

sqlsrv_fetch_object

(No version information available, might only be in Git)

sqlsrv_fetch_object — Retrieves the next row of data in a result set as an object

Beschreibung

mixed sqlsrv_fetch_object ( resource $stmt [, string $className [, array $ctorParams [, int $row [, int $offset ]]]] )

Retrieves the next row of data in a result set as an instance of the specified class with properties that match the row field names and values that correspond to the row field values.

Parameter-Liste

stmt

A statement resource created by sqlsrv_query() or sqlsrv_execute().

className

The name of the class to instantiate. If no class name is specified, stdClass is instantiated.

ctorParams

Values passed to the constructor of the specified class. If the constructor of the specified class takes parameters, the ctorParams array must be supplied.

row

The row to be accessed. This parameter can only be used if the specified statement was prepared with a scrollable cursor. In that case, this parameter can take on one of the following values:

  • SQLSRV_SCROLL_NEXT
  • SQLSRV_SCROLL_PRIOR
  • SQLSRV_SCROLL_FIRST
  • SQLSRV_SCROLL_LAST
  • SQLSRV_SCROLL_ABSOLUTE
  • SQLSRV_SCROLL_RELATIVE

offset

Specifies the row to be accessed if the row parameter is set to SQLSRV_SCROLL_ABSOLUTE or SQLSRV_SCROLL_RELATIVE. Note that the first row in a result set has index 0.

Rückgabewerte

Returns an object on success, NULL if there are no more rows to return, and FALSE if an error occurs or if the specified class does not exist.

Beispiele

Beispiel #1 sqlsrv_fetch_object() example

The following example demonstrates how to retrieve a row as a stdClass object.

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT fName, lName FROM Table_1";
$stmt = sqlsrv_query( $conn, $sql);
if( $stmt === false ) {
     die( print_r( sqlsrv_errors(), true));
}

// Retrieve each row as an object.
// Because no class is specified, each row will be retrieved as a stdClass object.
// Property names correspond to field names.
while( $obj = sqlsrv_fetch_object( $stmt)) {
      echo $obj->fName.", ".$obj->lName."<br />";
}
?>

Anmerkungen

If a class name is specified with the optional $className parameter and the class has properties whose names match the result set field names, the corresponding result set values are applied to the properties. If a result set field name does not match a class property, a property with the result set field name is added to the object and the result set value is applied to the property. The following rules apply when using the $className parameter:

  • Field-property name matching is case-sensitive.
  • Field-property matching occurs regardless of access modifiers.
  • Class property data types are ignored when applying a field value to a property.
  • If the class does not exist, the function returns FALSE and adds an error to the error collection.
Regardless of whether the $className parameter is supplied, if a field with no name is returned, the field value will be ignored and a warning will be added to the error collection.

When consuming a result set that has multiple columns with the same name, it may be better to use sqlsrv_fetch_array() or the combination of sqlsrv_fetch() and sqlsrv_get_field().

Siehe auch

  • sqlsrv_fetch() - Makes the next row in a result set available for reading
  • sqlsrv_fetch_array() - Returns a row as an array

sqlsrv_fetch_array
sqlsrv_fetch
SQLSRV Funktionen


Makes the next row in a result set available for reading

sqlsrv_fetch_object
sqlsrv_field_metadata
SQLSRV Funktionen
PHP Manual

sqlsrv_fetch

(No version information available, might only be in Git)

sqlsrv_fetch — Makes the next row in a result set available for reading

Beschreibung

mixed sqlsrv_fetch ( resource $stmt [, int $row [, int $offset ]] )

Makes the next row in a result set available for reading. Use sqlsrv_get_field() to read the fields of the row.

Parameter-Liste

stmt

A statement resource created by executing sqlsrv_query() or sqlsrv_execute().

row

The row to be accessed. This parameter can only be used if the specified statement was prepared with a scrollable cursor. In that case, this parameter can take on one of the following values:

  • SQLSRV_SCROLL_NEXT
  • SQLSRV_SCROLL_PRIOR
  • SQLSRV_SCROLL_FIRST
  • SQLSRV_SCROLL_LAST
  • SQLSRV_SCROLL_ABSOLUTE
  • SQLSRV_SCROLL_RELATIVE

offset

Specifies the row to be accessed if the row parameter is set to SQLSRV_SCROLL_ABSOLUTE or SQLSRV_SCROLL_RELATIVE. Note that the first row in a result set has index 0.

Rückgabewerte

Returns TRUE if the next row of a result set was successfully retrieved, FALSE if an error occurs, and NULL if there are no more rows in the result set.

Beispiele

Beispiel #1 sqlsrv_fetch() example

The following example demonstrates how to retrieve a row with sqlsrv_fetch() and get the row fields with sqlsrv_get_field().

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT Name, Comment
        FROM Table_1
        WHERE ReviewID=1";
$stmt = sqlsrv_query( $conn, $sql);
if( $stmt === false ) {
     die( print_r( sqlsrv_errors(), true));
}

// Make the first (and in this case, only) row of the result set available for reading.
if( sqlsrv_fetch( $stmt ) === false) {
     die( print_r( sqlsrv_errors(), true));
}

// Get the row fields. Field indeces start at 0 and must be retrieved in order.
// Retrieving row fields by name is not supported by sqlsrv_get_field.
$name = sqlsrv_get_field( $stmt, 0);
echo "$name: ";

$comment = sqlsrv_get_field( $stmt, 1);
echo $comment;
?>

Siehe auch

  • sqlsrv_get_field() - Gets field data from the currently selected row
  • sqlsrv_fetch_array() - Returns a row as an array
  • sqlsrv_fetch_object() - Retrieves the next row of data in a result set as an object

sqlsrv_fetch_object
sqlsrv_field_metadata
SQLSRV Funktionen


Retrieves metadata for the fields of a statement prepared by sqlsrv_prepare or sqlsrv_query

sqlsrv_fetch
sqlsrv_free_stmt
SQLSRV Funktionen
PHP Manual

sqlsrv_field_metadata

(No version information available, might only be in Git)

sqlsrv_field_metadata — Retrieves metadata for the fields of a statement prepared by sqlsrv_prepare() or sqlsrv_query()

Beschreibung

mixed sqlsrv_field_metadata ( resource $stmt )

Retrieves metadata for the fields of a statement prepared by sqlsrv_prepare() or sqlsrv_query(). sqlsrv_field_metadata() can be called on a statement before or after statement execution.

Parameter-Liste

stmt

The statment resource for which metadata is returned.

Rückgabewerte

Returns an array of arrays is returned on success. Otherwise, FALSE is returned. Each returned array is described by the following table:

Array returned by sqlsrv_field_metadata
Key | Description
Name | The name of the field.
Type | The numeric value for the SQL type.
Size | The number of characters for fields of character type, the number of bytes for fields of binary type, or NULL for other types.
Precision | The precision for types of variable precision, NULL for other types.
Scale | The scale for types of variable scale, NULL for other types.
Nullable | An enumeration indicating whether the column is nullable, not nullable, or if it is not known.
For more information, see » sqlsrv_field_metadata in the Microsoft SQLSRV documentation.

Beispiele

Beispiel #1 sqlsrv_field_metadata() example

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"AdventureWorks", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
   die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT * FROM Table_1";
$stmt = sqlsrv_prepare( $conn, $sql );

foreach( sqlsrv_field_metadata( $stmt ) as $fieldMetadata ) {
    foreach( $fieldMetadata as $name => $value) {
       echo "$name: $value<br />";
    }
      echo "<br />";
}
?>

Siehe auch

  • sqlsrv_client_info() - Returns information about the client and specified connection

sqlsrv_fetch
sqlsrv_free_stmt
SQLSRV Funktionen


Frees all resources for the specified statement

sqlsrv_field_metadata
sqlsrv_get_config
SQLSRV Funktionen
PHP Manual

sqlsrv_free_stmt

(No version information available, might only be in Git)

sqlsrv_free_stmt — Frees all resources for the specified statement

Beschreibung

bool sqlsrv_free_stmt ( resource $stmt )

Frees all resources for the specified statement. The statement cannot be used after sqlsrv_free_stmt() has been called on it. If sqlsrv_free_stmt() is called on an in-progress statement that alters server state, statement execution is terminated and the statement is rolled back.

Parameter-Liste

stmt

The statment for which resources are freed. Note that NULL is a valid parameter value. This allows the function to be called multiple times in a script.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 sqlsrv_free_stmt() example

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$stmt = sqlsrv_query( $conn, "SELECT * FROM Table_1");
if( $stmt === false ) {
     die( print_r( sqlsrv_errors(), true));
}

/*-------------------------------
     Process query results here.
-------------------------------*/

/* Free the statement resources. */
sqlsrv_free_stmt( $stmt);

?>

Anmerkungen

The main difference between sqlsrv_free_stmt() and sqlsrv_cancel() is that a statement resource cancelled with sqlsrv_cancel() can be re-executed if it was created with sqlsrv_prepare(). A statement resource cancelled with sqlsrv_free_statement() cannot be re-executed.

Siehe auch

  • sqlsrv_cancel() - Cancels a statement

sqlsrv_field_metadata
sqlsrv_get_config
SQLSRV Funktionen


Returns the value of the specified configuration setting

sqlsrv_free_stmt
sqlsrv_get_field
SQLSRV Funktionen
PHP Manual

sqlsrv_get_config

(No version information available, might only be in Git)

sqlsrv_get_config — Returns the value of the specified configuration setting

Beschreibung

mixed sqlsrv_get_config ( string $setting )

Returns the value of the specified configuration setting.

Parameter-Liste

setting

The name of the setting for which the value is returned. For a list of configurable settings, see sqlsrv_configure().

Rückgabewerte

Returns the value of the specified setting. If an invalid setting is specified, FALSE is returned.

Siehe auch

  • sqlsrv_configure() - Changes the driver error handling and logging configurations

sqlsrv_free_stmt
sqlsrv_get_field
SQLSRV Funktionen


Gets field data from the currently selected row

sqlsrv_get_config
sqlsrv_has_rows
SQLSRV Funktionen
PHP Manual

sqlsrv_get_field

(No version information available, might only be in Git)

sqlsrv_get_field — Gets field data from the currently selected row

Beschreibung

mixed sqlsrv_get_field ( resource $stmt , int $fieldIndex [, int $getAsType ] )

Gets field data from the currently selected row. Fields must be accessed in order. Field indices start at 0.

Parameter-Liste

stmt

A statement resource returned by sqlsrv_query() or sqlsrv_execute().

fieldIndex

The index of the field to be retrieved. Field indices start at 0. Fields must be accessed in order. i.e. If you access field index 1, then field index 0 will not be available.

getAsType

The PHP data type for the returned field data. If this parameter is not set, the field data will be returned as its default PHP data type. For information about default PHP data types, see » Default PHP Data Types in the Microsoft SQLSRV documentation.

Rückgabewerte

Returns data from the specified field on success. Returns FALSE otherwise.

Beispiele

Beispiel #1 sqlsrv_get_field() example

The following example demonstrates how to retrieve a row with sqlsrv_fetch() and get the row fields with sqlsrv_get_field().

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT Name, Comment
        FROM Table_1
        WHERE ReviewID=1";
$stmt = sqlsrv_query( $conn, $sql);
if( $stmt === false ) {
     die( print_r( sqlsrv_errors(), true));
}

// Make the first (and in this case, only) row of the result set available for reading.
if( sqlsrv_fetch( $stmt ) === false) {
     die( print_r( sqlsrv_errors(), true));
}

// Get the row fields. Field indeces start at 0 and must be retrieved in order.
// Retrieving row fields by name is not supported by sqlsrv_get_field.
$name = sqlsrv_get_field( $stmt, 0);
echo "$name: ";

$comment = sqlsrv_get_field( $stmt, 1);
echo $comment;
?>

Siehe auch

  • sqlsrv_fetch() - Makes the next row in a result set available for reading
  • sqlsrv_fetch_array() - Returns a row as an array
  • sqlsrv_fetch_object() - Retrieves the next row of data in a result set as an object

sqlsrv_get_config
sqlsrv_has_rows
SQLSRV Funktionen


Indicates whether the specified statement has rows

sqlsrv_get_field
sqlsrv_next_result
SQLSRV Funktionen
PHP Manual

sqlsrv_has_rows

(No version information available, might only be in Git)

sqlsrv_has_rows — Indicates whether the specified statement has rows

Beschreibung

bool sqlsrv_has_rows ( resource $stmt )

Indicates whether the specified statement has rows.

Parameter-Liste

stmt

A statement resource returned by sqlsrv_query() or sqlsrv_execute().

Rückgabewerte

Returns TRUE if the specified statement has rows and FALSE if the statement does not have rows or if an error occurred.

Beispiele

Beispiel #1 sqlsrv_has_rows() example

<?php
$server = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password" )
$conn = sqlsrv_connect( $server, $connectionInfo );

$stmt = sqlsrv_query( $conn, "SELECT * FROM Table_1");

if ($stmt) {
   $rows = sqlsrv_has_rows( $stmt );
   if ($rows === true)
      echo "There are rows. <br />";
   else
      echo "There are no rows. <br />";
}
?>

Siehe auch

  • sqlsrv_num_rows() - Retrieves the number of rows in a result set
  • sqlsrv_query() - Prepares and executes a query.

sqlsrv_get_field
sqlsrv_next_result
SQLSRV Funktionen


Makes the next result of the specified statement active

sqlsrv_has_rows
sqlsrv_num_fields
SQLSRV Funktionen
PHP Manual

sqlsrv_next_result

(No version information available, might only be in Git)

sqlsrv_next_result — Makes the next result of the specified statement active

Beschreibung

mixed sqlsrv_next_result ( resource $stmt )

Makes the next result of the specified statement active. Results include result sets, row counts, and output parameters.

Parameter-Liste

stmt

The statment on which the next result is being called.

Rückgabewerte

Returns TRUE if the next result was successfully retrieved, FALSE if an error occurred, and NULL if there are no more results to retrieve.

Beispiele

Beispiel #1 sqlsrv_next_result() example

The following example executes a batch query that inserts into a table and then selects from the table. This produces two results on the statement: one for the rows affected by the INSERT and one for the rows returned by the SELECT. To get to the rows returned by the SELECT, sqlsrv_next_result() must be called to move past the first result.

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array("Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

$query = "INSERT INTO Table_1 (id, data) VALUES (?,?); SELECT * FROM TABLE_1;";
$params = array(1, "some data");
$stmt = sqlsrv_query($conn, $query, $params);

// Consume the first result (rows affected by INSERT) without calling sqlsrv_next_result.
echo "Rows affected: ".sqlsrv_rows_affected($stmt)."<br />";

// Move to the next result and display results.
$next_result = sqlsrv_next_result($stmt);
if( $next_result ) {
   while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC)){
      echo $row['id'].": ".$row['data']."<br />";
   }
} elseif( is_null($next_result)) {
     echo "No more results.<br />";
} else {
     die(print_r(sqlsrv_errors(), true));
}
?>

Siehe auch

  • sqlsrv_query() - Prepares and executes a query.
  • sqlsrv_fetch_array() - Returns a row as an array
  • sqlsrv_rows_affected() - Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed

sqlsrv_has_rows
sqlsrv_num_fields
SQLSRV Funktionen


Retrieves the number of fields (columns) on a statement

sqlsrv_next_result
sqlsrv_num_rows
SQLSRV Funktionen
PHP Manual

sqlsrv_num_fields

(No version information available, might only be in Git)

sqlsrv_num_fields — Retrieves the number of fields (columns) on a statement

Beschreibung

mixed sqlsrv_num_fields ( resource $stmt )

Retrieves the number of fields (columns) on a statement.

Parameter-Liste

stmt

The statment for which the number of fields is returned. sqlsrv_num_fields() can be called on a statement before or after statement execution.

Rückgabewerte

Returns the number of fields on success. Returns FALSE otherwise.

Beispiele

Beispiel #1 sqlsrv_num_fields() example

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
   die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT * FROM Table_1";
$stmt = sqlsrv_query($conn, $sql);
if( $stmt === false) {
   die( print_r( sqlsrv_errors(), true));
}

$numFields = sqlsrv_num_fields( $stmt );

while( sqlsrv_fetch( $stmt )) {
   // Iterate through the fields of each row.
   for($i = 0; $i < $numFields; $i++) {
      echo sqlsrv_get_field($stmt, $i)." ";
   }
   echo "<br />";
}
?>

Siehe auch

  • sqlsrv_field_metadata() - Retrieves metadata for the fields of a statement prepared by sqlsrv_prepare or sqlsrv_query
  • sqlsrv_fetch() - Makes the next row in a result set available for reading
  • sqlsrv_get_field() - Gets field data from the currently selected row

sqlsrv_next_result
sqlsrv_num_rows
SQLSRV Funktionen


Retrieves the number of rows in a result set

sqlsrv_num_fields
sqlsrv_prepare
SQLSRV Funktionen
PHP Manual

sqlsrv_num_rows

(No version information available, might only be in Git)

sqlsrv_num_rows — Retrieves the number of rows in a result set

Beschreibung

mixed sqlsrv_num_rows ( resource $stmt )

Retrieves the number of rows in a result set. This function requires that the statment resource be created with a static or keyset cursor. For more information, see sqlsrv_query(), sqlsrv_prepare(), or » Specifying a Cursor Type and Selecting Rows in the Microsoft SQLSRV documentation.

Parameter-Liste

stmt

The statement for which the row count is returned. The statment resource must be created with a static or keyset cursor. For more information, see sqlsrv_query(), sqlsrv_prepare(), or » Specifying a Cursor Type and Selecting Rows in the Microsoft SQLSRV documentation.

Rückgabewerte

Returns the number of rows retrieved on success and FALSE if an error occurred. If a forward cursor (the default) or dynamic cursor is used, FALSE is returned.

Beispiele

Beispiel #1 sqlsrv_num_rows() example

<?php
$server = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password" );
$conn = sqlsrv_connect( $server, $connectionInfo );

$sql = "SELECT * FROM Table_1";
$params = array();
$options =  array( "Scrollable" => SQLSRV_CURSOR_KEYSET );
$stmt = sqlsrv_query( $conn, $sql , $params, $options );

$row_count = sqlsrv_num_rows( $stmt );

if ($row_count === false)
   echo "Error in retrieveing row count.";
else
   echo $row_count;
?>

Siehe auch

  • sqlsrv_has_rows() - Indicates whether the specified statement has rows
  • sqlsrv_rows_affected() - Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed

sqlsrv_num_fields
sqlsrv_prepare
SQLSRV Funktionen


Prepares a query for execution

sqlsrv_num_rows
sqlsrv_query
SQLSRV Funktionen
PHP Manual

sqlsrv_prepare

(No version information available, might only be in Git)

sqlsrv_prepare — Prepares a query for execution

Beschreibung

mixed sqlsrv_prepare ( resource $conn , string $sql [, array $params [, array $options ]] )

Prepares a query for execution. This function is ideal for preparing a query that will be executed multiple times with different parameter values.

Parameter-Liste

conn

A connection resource returned by sqlsrv_connect().

sql

The string that defines the query to be prepared and executed.

params

An array specifying parameter information when executing a parameterized query. Array elements can be any of the following:

  • A literal value
  • A PHP variable
  • An array with this structure: array($value [, $direction [, $phpType [, $sqlType]]])
The following table describes the elements in the array structure above:

Array structure
Element | Description
$value | A literal value, a PHP variable, or a PHP by-reference variable.
$direction (optional) | One of the following SQLSRV constants used to indicate the parameter direction: SQLSRV_PARAM_IN, SQLSRV_PARAM_OUT, SQLSRV_PARAM_INOUT. The default value is SQLSRV_PARAM_IN.
$phpType (optional) | A SQLSRV_PHPTYPE_* constant that specifies PHP data type of the returned value.
$sqlType (optional) | A SQLSRV_SQLTYPE_* constant that specifies the SQL Server data type of the input value.
options

An array specifing query property options. The supported keys are described in the following table:

Query Options
Key | Values | Description
QueryTimeout | A positive integer value. | Sets the query timeout in seconds. By default, the driver will wait indefinitely for results.
SendStreamParamsAtExec | TRUE or FALSE (the default is TRUE) | Configures the driver to send all stream data at execution (TRUE), or to send stream data in chunks (FALSE). By default, the value is set to TRUE. For more information, see sqlsrv_send_stream_data().
Scrollable | SQLSRV_CURSOR_FORWARD, SQLSRV_CURSOR_STATIC, SQLSRV_CURSOR_DYNAMIC, or SQLSRV_CURSOR_KEYSET | See » Specifying a Cursor Type and Selecting Rows in the Microsoft SQLSRV documentation.

Rückgabewerte

Returns a statement resource on success and FALSE if an error occurred.

Beispiele

Beispiel #1 sqlsrv_prepare() example

This example demonstrates how to prepare a statement with sqlsrv_prepare() and re-execute it multiple times (with different parameter values) using sqlsrv_execute().

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false) {
    die( print_r( sqlsrv_errors(), true));
}

$sql = "UPDATE Table_1
        SET OrderQty = ?
        WHERE SalesOrderID = ?";

// Initialize parameters and prepare the statement.
// Variables $qty and $id are bound to the statement, $stmt.
$qty = 0; $id = 0;
$stmt = sqlsrv_prepare( $conn, $sql, array( &$qty, &$id));
if( !$stmt ) {
    die( print_r( sqlsrv_errors(), true));
}

// Set up the SalesOrderDetailID and OrderQty information.
// This array maps the order ID to order quantity in key=>value pairs.
$orders = array( 1=>10, 2=>20, 3=>30);

// Execute the statement for each order.
foreach( $orders as $id => $qty) {
    // Because $id and $qty are bound to $stmt1, their updated
    // values are used with each execution of the statement.
    if( sqlsrv_execute( $stmt ) === false ) {
          die( print_r( sqlsrv_errors(), true));
    }
}
?>

Anmerkungen

When you prepare a statement that uses variables as parameters, the variables are bound to the statement. This means that if you update the values of the variables, the next time you execute the statement it will run with updated parameter values. For statements that you plan to execute only once, use sqlsrv_query().

Siehe auch

  • sqlsrv_execute() - Executes a statement prepared with sqlsrv_prepare
  • sqlsrv_query() - Prepares and executes a query.

sqlsrv_num_rows
sqlsrv_query
SQLSRV Funktionen


Prepares and executes a query.

sqlsrv_prepare
sqlsrv_rollback
SQLSRV Funktionen
PHP Manual

sqlsrv_query

(No version information available, might only be in Git)

sqlsrv_query — Prepares and executes a query.

Beschreibung

mixed sqlsrv_query ( resource $conn , string $sql [, array $params [, array $options ]] )

Prepares and executes a query.

Parameter-Liste

conn

A connection resource returned by sqlsrv_connect().

sql

The string that defines the query to be prepared and executed.

params

An array specifying parameter information when executing a parameterized query. Array elements can be any of the following:

  • A literal value
  • A PHP variable
  • An array with this structure: array($value [, $direction [, $phpType [, $sqlType]]])
The following table describes the elements in the array structure above:

Array structure
Element | Description
$value | A literal value, a PHP variable, or a PHP by-reference variable.
$direction (optional) | One of the following SQLSRV constants used to indicate the parameter direction: SQLSRV_PARAM_IN, SQLSRV_PARAM_OUT, SQLSRV_PARAM_INOUT. The default value is SQLSRV_PARAM_IN.
$phpType (optional) | A SQLSRV_PHPTYPE_* constant that specifies PHP data type of the returned value.
$sqlType (optional) | A SQLSRV_SQLTYPE_* constant that specifies the SQL Server data type of the input value.
options

An array specifing query property options. The supported keys are described in the following table:

Query Options
Key | Values | Description
QueryTimeout | A positive integer value. | Sets the query timeout in seconds. By default, the driver will wait indefinitely for results.
SendStreamParamsAtExec | TRUE or FALSE (the default is TRUE) | Configures the driver to send all stream data at execution (TRUE), or to send stream data in chunks (FALSE). By default, the value is set to TRUE. For more information, see sqlsrv_send_stream_data().
Scrollable | SQLSRV_CURSOR_FORWARD, SQLSRV_CURSOR_STATIC, SQLSRV_CURSOR_DYNAMIC, or SQLSRV_CURSOR_KEYSET | See » Specifying a Cursor Type and Selecting Rows in the Microsoft SQLSRV documentation.

Rückgabewerte

Returns a statement resource on success and FALSE if an error occurred.

Beispiele

Beispiel #1 sqlsrv_query() example

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password" );
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$sql = "INSERT INTO Table_1 (id, data) VALUES (?, ?)";
$params = array(1, "some data");

$stmt = sqlsrv_query( $conn, $sql, $params);
if( $stmt === false ) {
     die( print_r( sqlsrv_errors(), true));
}
?>

Anmerkungen

For statements that you plan to execute only once, use sqlsrv_query(). If you intend to re-execute a statement with different parameter values, use the combination of sqlsrv_prepare() and sqlsrv_execute().

Siehe auch

  • sqlsrv_prepare() - Prepares a query for execution
  • sqlsrv_execute() - Executes a statement prepared with sqlsrv_prepare

sqlsrv_prepare
sqlsrv_rollback
SQLSRV Funktionen


Rolls back a transaction that was begun with sqlsrv_begin_transaction

sqlsrv_query
sqlsrv_rows_affected
SQLSRV Funktionen
PHP Manual

sqlsrv_rollback

(No version information available, might only be in Git)

sqlsrv_rollback — Rolls back a transaction that was begun with sqlsrv_begin_transaction()

Beschreibung

bool sqlsrv_rollback ( resource $conn )

Rolls back a transaction that was begun with sqlsrv_begin_transaction() and returns the connection to auto-commit mode.

Parameter-Liste

conn

The connection resource returned by a call to sqlsrv_connect().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 sqlsrv_rollback() example

The following example demonstrates how to use sqlsrv_begin_transaction() together with sqlsrv_commit() and sqlsrv_rollback().

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
    die( print_r( sqlsrv_errors(), true ));
}

/* Begin the transaction. */
if ( sqlsrv_begin_transaction( $conn ) === false ) {
     die( print_r( sqlsrv_errors(), true ));
}

/* Initialize parameter values. */
$orderId = 1; $qty = 10; $productId = 100;

/* Set up and execute the first query. */
$sql1 = "INSERT INTO OrdersTable (ID, Quantity, ProductID)
         VALUES (?, ?, ?)";
$params1 = array( $orderId, $qty, $productId );
$stmt1 = sqlsrv_query( $conn, $sql1, $params1 );

/* Set up and execute the second query. */
$sql2 = "UPDATE InventoryTable
         SET Quantity = (Quantity - ?)
         WHERE ProductID = ?";
$params2 = array($qty, $productId);
$stmt2 = sqlsrv_query( $conn, $sql2, $params2 );

/* If both queries were successful, commit the transaction. */
/* Otherwise, rollback the transaction. */
if( $stmt1 && $stmt2 ) {
     sqlsrv_commit( $conn );
     echo "Transaction committed.<br />";
} else {
     sqlsrv_rollback( $conn );
     echo "Transaction rolled back.<br />";
}
?>

Siehe auch

  • sqlsrv_begin_transaction() - Begins a database transaction
  • sqlsrv_commit() - Commits a transaction that was begun with sqlsrv_begin_transaction

sqlsrv_query
sqlsrv_rows_affected
SQLSRV Funktionen


Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed

sqlsrv_rollback
sqlsrv_send_stream_data
SQLSRV Funktionen
PHP Manual

sqlsrv_rows_affected

(No version information available, might only be in Git)

sqlsrv_rows_affected — Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed

Beschreibung

int sqlsrv_rows_affected ( resource $stmt )

Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed. For information about the number of rows returned by a SELECT query, see sqlsrv_num_rows().

Parameter-Liste

stmt

The executed statement resource for which the number of affected rows is returned.

Rückgabewerte

Returns the number of rows affected by the last INSERT, UPDATE, or DELETE query. If no rows were affected, 0 is returned. If the number of affected rows cannot be determined, -1 is returned. If an error occurred, FALSE is returned.

Beispiele

Beispiel #1 sqlsrv_rows_affected() example

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password" );
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$sql = "UPDATE Table_1 SET data = ? WHERE id = ?";

$params = array("updated data", 1);

$stmt = sqlsrv_query( $conn, $sql, $params);

$rows_affected = sqlsrv_rows_affected( $stmt);
if( $rows_affected === false) {
     die( print_r( sqlsrv_errors(), true));
} elseif( $rows_affected == -1) {
      echo "No information available.<br />";
} else {
      echo $rows_affected." rows were updated.<br />";
}
?>

Siehe auch

  • sqlsrv_num_rows() - Retrieves the number of rows in a result set

sqlsrv_rollback
sqlsrv_send_stream_data
SQLSRV Funktionen


Sends data from parameter streams to the server

sqlsrv_rows_affected
sqlsrv_server_info
SQLSRV Funktionen
PHP Manual

sqlsrv_send_stream_data

(No version information available, might only be in Git)

sqlsrv_send_stream_data — Sends data from parameter streams to the server

Beschreibung

bool sqlsrv_send_stream_data ( resource $stmt )

Send data from parameter streams to the server. Up to 8 KB of data is sent with each call.

Parameter-Liste

stmt

A statement resource returned by sqlsrv_query() or sqlsrv_execute().

Rückgabewerte

Returns TRUE if there is more data to send and FALSE if there is not.

Beispiele

Beispiel #1 sqlsrv_send_stream_data() example

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password" );
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$sql = "UPDATE Table_1 SET data = ( ?) WHERE id = 100";

// Open parameter data as a stream and put it in the $params array.
$data = fopen( "data://text/plain,[ Lengthy content here. ]", "r");
$params = array( &$data);

// Prepare the statement. Use the $options array to turn off the
// default behavior, which is to send all stream data at the time of query
// execution.
$options = array("SendStreamParamsAtExec"=>0);
$stmt = sqlsrv_prepare( $conn, $sql, $params, $options);

sqlsrv_execute( $stmt);

// Send up to 8K of parameter data to the server
// with each call to sqlsrv_send_stream_data.
$i = 1;
while( sqlsrv_send_stream_data( $stmt)) {
      $i++;
}
echo "$i calls were made.";
?>

Siehe auch

  • sqlsrv_prepare() - Prepares a query for execution
  • sqlsrv_query() - Prepares and executes a query.

sqlsrv_rows_affected
sqlsrv_server_info
SQLSRV Funktionen


Returns information about the server

sqlsrv_send_stream_data
Sybase
SQLSRV Funktionen
PHP Manual

sqlsrv_server_info

(No version information available, might only be in Git)

sqlsrv_server_info — Returns information about the server

Beschreibung

array sqlsrv_server_info ( resource $conn )

Returns information about the server.

Parameter-Liste

conn

The connection resource that connects the client and the server.

Rückgabewerte

Returns an array as described in the following table:

Returned Array
CurrentDatabase | The connected-to database.
SQLServerVersion | The SQL Server version.
SQLServerName | The name of the server.

Beispiele

Beispiel #1 sqlsrv_server_info() example

<?php
$serverName = "serverName\sqlexpress";
$conn = sqlsrv_connect( $serverName);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$server_info = sqlsrv_server_info( $conn);
if( $server_info )
{
    foreach( $server_info as $key => $value) {
       echo $key.": ".$value."<br />";
    }
} else {
      die( print_r( sqlsrv_errors(), true));
}
?>

Siehe auch

  • sqlsrv_client_info() - Returns information about the client and specified connection

sqlsrv_send_stream_data
Sybase
SQLSRV Funktionen


Sybase

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Sybase Funktionen
    • sybase_affected_rows — Gets number of affected rows in last query
    • sybase_close — Closes a Sybase connection
    • sybase_connect — Opens a Sybase server connection
    • sybase_data_seek — Moves internal row pointer
    • sybase_deadlock_retry_count — Sets the deadlock retry count
    • sybase_fetch_array — Fetch row as array
    • sybase_fetch_assoc — Fetch a result row as an associative array
    • sybase_fetch_field — Get field information from a result
    • sybase_fetch_object — Fetch a row as an object
    • sybase_fetch_row — Get a result row as an enumerated array
    • sybase_field_seek — Sets field offset
    • sybase_free_result — Frees result memory
    • sybase_get_last_message — Returns the last message from the server
    • sybase_min_client_severity — Sets minimum client severity
    • sybase_min_error_severity — Sets minimum error severity
    • sybase_min_message_severity — Sets minimum message severity
    • sybase_min_server_severity — Sets minimum server severity
    • sybase_num_fields — Gets the number of fields in a result set
    • sybase_num_rows — Get number of rows in a result set
    • sybase_pconnect — Open persistent Sybase connection
    • sybase_query — Sends a Sybase query
    • sybase_result — Get result data
    • sybase_select_db — Selects a Sybase database
    • sybase_set_message_handler — Sets the handler called when a server message is raised
    • sybase_unbuffered_query — Send a Sybase query and do not block
sqlsrv_server_info
Einführung
Anbieterspezifische Datenbankerweiterungen


Einführung

Sybase
Installation/Konfiguration
Sybase


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Sybase


Installation

Um die Sybase-Datenbankunterstützung zu aktivieren, müssen Sie PHP mit der Option --with-sybase[=DIR] konfigurieren. DIR ist das Sybase Wurzelverzeichnis, welches im Normalfall /home/sybase ist. Zur Aktivierung der Sybase-CT Unterstützung, muss als PHP-Konfigurationsparameter --with-sybase-ct[=DIR] angegeben werden. Auch hier ist DIR das Sybase Wurzelverzeichnis, dass normalerweise /home/sybase ist.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Sybase configuration options
Name | Standard | Veränderbar | Changelog
sybase.allow_persistent | "1" | PHP_INI_ALL | PHP_INI_ALL in PHP <= 4.0.2. PHP_INI_SYSTEM in PHP <= 4.0.3.
sybase.max_persistent | "-1" | PHP_INI_ALL | PHP_INI_ALL in PHP <= 4.0.2. PHP_INI_SYSTEM in PHP <= 4.0.3.
sybase.max_links | "-1" | PHP_INI_ALL | PHP_INI_ALL in PHP <= 4.0.2. PHP_INI_SYSTEM in PHP <= 4.0.3.
sybase.interface_file | "/usr/sybase/interfaces" | PHP_INI_SYSTEM |
sybase.min_error_severity | "10" | PHP_INI_ALL |
sybase.min_message_severity | "10" | PHP_INI_ALL |
sybase.compatability_mode | "0" | PHP_INI_ALL |
magic_quotes_sybase | "0" | PHP_INI_ALL | Deprecated in PHP 5.3.0. Removed in PHP 5.4.0.

Hier eine kurze Erklärung der Konfigurationsoptionen:

sybase.allow_persistent boolean

Whether to allow persistent Sybase connections.

sybase.max_persistent integer

The maximum number of persistent Sybase connections per process. -1 means no limit.

sybase.max_links integer

The maximum number of Sybase connections per process, including persistent connections. -1 means no limit.

sybase.min_error_severity integer

Minimum error severity to display.

sybase.min_message_severity integer

Minimum message severity to display.

magic_quotes_sybase boolean

If magic_quotes_sybase is on, a single-quote is escaped with a single-quote instead of a backslash if magic_quotes_gpc or magic_quotes_runtime are enabled. This setting is also respected by addslashes() and stripslashes().

Hinweis:

Note that when magic_quotes_sybase is ON it completely overrides magic_quotes_gpc . In this case even when magic_quotes_gpc is enabled neither double quotes, backslashes or NUL's will be escaped.

Warnung

Dieses Feature ist seit PHP 5.3.0 DEPRECATED (veraltet) und seit PHP 5.4.0 ENTFERNT.

Sybase-CT configuration options
Name | Standard | Veränderbar | Changelog
sybct.deadlock_retry_count | "0" | PHP_INI_ALL | Available since PHP 4.3.0.

Hier eine kurze Erklärung der Konfigurationsoptionen:

sybct.login_timeout integer

The maximum time in seconds to wait for a connection attempt to succeed before returning failure. Note that if max_execution_time has been exceeded when a connection attempt times out, your script will be terminated before it can take action on failure. The default is one minute.

sybct.timeout integer

The maximum time in seconds to wait for a select_db or query operation to succeed before returning failure. Note that if max_execution_time has been exceeded when an operation times out, your script will be terminated before it can take action on failure. The default is no limit.

sybct.deadlock_retry_count int

Allows you to define how often deadlocks are to be retried. The default is 0, value -1 means "forever".

Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
Sybase Funktionen
Sybase


Sybase Funktionen

Inhaltsverzeichnis

  • sybase_affected_rows — Gets number of affected rows in last query
  • sybase_close — Closes a Sybase connection
  • sybase_connect — Opens a Sybase server connection
  • sybase_data_seek — Moves internal row pointer
  • sybase_deadlock_retry_count — Sets the deadlock retry count
  • sybase_fetch_array — Fetch row as array
  • sybase_fetch_assoc — Fetch a result row as an associative array
  • sybase_fetch_field — Get field information from a result
  • sybase_fetch_object — Fetch a row as an object
  • sybase_fetch_row — Get a result row as an enumerated array
  • sybase_field_seek — Sets field offset
  • sybase_free_result — Frees result memory
  • sybase_get_last_message — Returns the last message from the server
  • sybase_min_client_severity — Sets minimum client severity
  • sybase_min_error_severity — Sets minimum error severity
  • sybase_min_message_severity — Sets minimum message severity
  • sybase_min_server_severity — Sets minimum server severity
  • sybase_num_fields — Gets the number of fields in a result set
  • sybase_num_rows — Get number of rows in a result set
  • sybase_pconnect — Open persistent Sybase connection
  • sybase_query — Sends a Sybase query
  • sybase_result — Get result data
  • sybase_select_db — Selects a Sybase database
  • sybase_set_message_handler — Sets the handler called when a server message is raised
  • sybase_unbuffered_query — Send a Sybase query and do not block
Vordefinierte Konstanten
sybase_affected_rows
Sybase


Gets number of affected rows in last query

Sybase Funktionen
sybase_close
Sybase Funktionen
PHP Manual

sybase_affected_rows

(PHP 4, PHP 5)

sybase_affected_rows — Gets number of affected rows in last query

Warnung

Diese Funktion wurde seit PHP 7.0.0 ENTFERNT.

Beschreibung

int sybase_affected_rows ([ resource $link_identifier ] )

sybase_affected_rows() returns the number of rows affected by the last INSERT, UPDATE or DELETE query on the server associated with the specified link identifier.

This command is not effective for SELECT statements, only on statements which modify records. To retrieve the number of rows returned from a SELECT, use sybase_num_rows().

Parameter-Liste

link_identifier

If the link identifier isn't specified, the last opened link is assumed.

Rückgabewerte

Returns the number of affected rows, as an integer.

Beispiele

Beispiel #1 Delete-Query

<?php
/* connect to database */
sybase_connect('SYBASE', '', '') or
die("Could not connect");
sybase_select_db("db");

sybase_query("DELETE FROM sometable WHERE id < 10");
printf("Records deleted: %d\n", sybase_affected_rows());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Records deleted: 10

Siehe auch

  • sybase_num_rows() - Get number of rows in a result set

Sybase Funktionen
sybase_close
Sybase Funktionen


Closes a Sybase connection

sybase_affected_rows
sybase_connect
Sybase Funktionen
PHP Manual

sybase_close

(PHP 4, PHP 5)

sybase_close — Closes a Sybase connection

Warnung

Diese Funktion wurde seit PHP 7.0.0 ENTFERNT.

Beschreibung

bool sybase_close ([ resource $link_identifier ] )

sybase_close() closes the link to a Sybase database that's associated with the specified link link_identifier.

Note that this isn't usually necessary, as non-persistent open links are automatically closed at the end of the script's execution.

sybase_close() will not close persistent links generated by sybase_pconnect().

Parameter-Liste

link_identifier

If the link identifier isn't specified, the last opened link is assumed.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • sybase_connect() - Opens a Sybase server connection
  • sybase_pconnect() - Open persistent Sybase connection

sybase_affected_rows
sybase_connect
Sybase Funktionen


Opens a Sybase server connection

sybase_close
sybase_data_seek
Sybase Funktionen
PHP Manual

sybase_connect

(PHP 4, PHP 5)

sybase_connect — Opens a Sybase server connection

Warnung

Diese Funktion wurde seit PHP 7.0.0 ENTFERNT.

Beschreibung

resource sybase_connect ([ string $servername [, string $username [, string $password [, string $charset [, string $appname [, bool $new = false ]]]]]] )

sybase_connect() establishes a connection to a Sybase server.

In case a second call is made to sybase_connect() with the same arguments, no new link will be established, but instead, the link identifier of the already opened link will be returned.

The link to the server will be closed as soon as the execution of the script ends, unless it's closed earlier by explicitly calling sybase_close().

Parameter-Liste

servername

The servername argument has to be a valid servername that is defined in the 'interfaces' file.

username

Sybase user name

password

Password associated with username.

charset

Specifies the charset for the connection

appname

Specifies an appname for the Sybase connection. This allow you to make separate connections in the same script to the same database. This may come handy when you have started a transaction in your current connection, and you need to be able to do a separate query which cannot be performed inside this transaction.

new

Whether to open a new connection or use the existing one.

Rückgabewerte

Returns a positive Sybase link identifier on success, or FALSE on failure.

Changelog

Version | Beschreibung
5.3.0 | The new parameter was added.

Beispiele

Beispiel #1 sybase_connect() example

<?php
$link = sybase_connect('SYBASE', '', '')
        or die("Could not connect !");
echo "Connected successfully";
sybase_close($link);
?>

Siehe auch

  • sybase_pconnect() - Open persistent Sybase connection
  • sybase_close() - Closes a Sybase connection

sybase_close
sybase_data_seek
Sybase Funktionen


Moves internal row pointer

sybase_connect
sybase_deadlock_retry_count
Sybase Funktionen
PHP Manual

sybase_data_seek

(PHP 4, PHP 5)

sybase_data_seek — Moves internal row pointer

Warnung

Diese Funktion wurde seit PHP 7.0.0 ENTFERNT.

Beschreibung

bool sybase_data_seek ( resource $result_identifier , int $row_number )

sybase_data_seek() moves the internal row pointer of the Sybase result associated with the specified result identifier to pointer to the specified row number. The next call to sybase_fetch_row() would return that row.

Parameter-Liste

result_identifier

row_number

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • sybase_fetch_row() - Get a result row as an enumerated array

sybase_connect
sybase_deadlock_retry_count
Sybase Funktionen


Sets the deadlock retry count

sybase_data_seek
sybase_fetch_array
Sybase Funktionen
PHP Manual

sybase_deadlock_retry_count

(PHP 4 >= 4.3.0, PHP 5)

sybase_deadlock_retry_count — Sets the deadlock retry count

Warnung

Diese Funktion wurde seit PHP 7.0.0 ENTFERNT.

Beschreibung

void sybase_deadlock_retry_count ( int $retry_count )

Using sybase_deadlock_retry_count(), the number of retries can be defined in cases of deadlocks. By default, every deadlock is retried an infinite number of times or until the process is killed by Sybase, the executing script is killed (for instance, by set_time_limit()) or the query succeeds.

Parameter-Liste

retry_count

Values for retry_count
-1 | Retry forever (default)
0 | Do not retry
n | Retry n times

Rückgabewerte

Es wird kein Wert zurückgegeben.

Anmerkungen

Hinweis: Diese Funktion steht nur zur Verfügung, wenn Sie die CT-Bibliothek als Schnittstelle zu Sybase verwenden.

sybase_data_seek
sybase_fetch_array
Sybase Funktionen


Fetch row as array

sybase_deadlock_retry_count
sybase_fetch_assoc
Sybase Funktionen
PHP Manual

sybase_fetch_array

(PHP 4, PHP 5)

sybase_fetch_array — Fetch row as array

Warnung

Diese Funktion wurde seit PHP 7.0.0 ENTFERNT.

Beschreibung

array sybase_fetch_array ( resource $result )

sybase_fetch_array() is an extended version of sybase_fetch_row(). In addition to storing the data in the numeric indices of the result array, it also stores the data in associative indices, using the field names as keys.

An important thing to note is that using sybase_fetch_array() is NOT significantly slower than using sybase_fetch_row(), while it provides a significant added value.

Parameter-Liste

result

Rückgabewerte

Returns an array that corresponds to the fetched row, or FALSE if there are no more rows.

Hinweis:

When selecting fields with identical names (for instance, in a join), the associative indices will have a sequential number prepended. See the example for details.

Beispiele

Beispiel #1 Identical fieldnames

<?php

$dbh = sybase_connect('SYBASE', '', '');
$q = sybase_query('SELECT * FROM p, a WHERE p.person_id= a.person_id');
var_dump(sybase_fetch_array($q));
sybase_close($dbh);
?>

The above example would produce the following output (assuming the two tables only have each one column called "person_id"):

array(4) {
  [0]=>
  int(1)
  ["person_id"]=>
  int(1)
  [1]=>
  int(1)
  ["person_id1"]=>
  int(1)
}

Siehe auch

  • sybase_fetch_row() - Get a result row as an enumerated array
  • sybase_fetch_assoc() - Fetch a result row as an associative array
  • sybase_fetch_object() - Fetch a row as an object

sybase_deadlock_retry_count
sybase_fetch_assoc
Sybase Funktionen


Fetch a result row as an associative array

sybase_fetch_array
sybase_fetch_field
Sybase Funktionen
PHP Manual

sybase_fetch_assoc

(PHP 4 >= 4.3.0, PHP 5)

sybase_fetch_assoc — Fetch a result row as an associative array

Warnung

Diese Funktion wurde seit PHP 7.0.0 ENTFERNT.

Beschreibung

array sybase_fetch_assoc ( resource $result )

sybase_fetch_assoc() is a version of sybase_fetch_row() that uses column names instead of integers for indices in the result array. Columns from different tables with the same names are returned as name, name1, name2, ..., nameN.

An important thing to note is that using sybase_fetch_assoc() is NOT significantly slower than using sybase_fetch_row(), while it provides a significant added value.

Parameter-Liste

result

Rückgabewerte

Returns an array that corresponds to the fetched row, or FALSE if there are no more rows.

Anmerkungen

Hinweis: Diese Funktion steht nur zur Verfügung, wenn Sie die CT-Bibliothek als Schnittstelle zu Sybase verwenden.

Siehe auch

  • sybase_fetch_row() - Get a result row as an enumerated array
  • sybase_fetch_array() - Fetch row as array
  • sybase_fetch_object() - Fetch a row as an object

sybase_fetch_array
sybase_fetch_field
Sybase Funktionen


Get field information from a result

sybase_fetch_assoc
sybase_fetch_object
Sybase Funktionen
PHP Manual

sybase_fetch_field

(PHP 4, PHP 5)

sybase_fetch_field — Get field information from a result

Warnung

Diese Funktion wurde seit PHP 7.0.0 ENTFERNT.

Beschreibung

object sybase_fetch_field ( resource $result [, int $field_offset = -1 ] )

sybase_fetch_field() can be used in order to obtain information about fields in a certain query result.

Parameter-Liste

result

field_offset

If the field offset isn't specified, the next field that wasn't yet retrieved by sybase_fetch_field() is retrieved.

Rückgabewerte

Returns an object containing field information.

The properties of the object are:

  • name - column name. if the column is a result of a function, this property is set to computed#N, where #N is a serial number.
  • column_source - the table from which the column was taken
  • max_length - maximum length of the column
  • numeric - 1 if the column is numeric
  • type - datatype of the column

Siehe auch

  • sybase_field_seek() - Sets field offset

sybase_fetch_assoc
sybase_fetch_object
Sybase Funktionen


Fetch a row as an object

sybase_fetch_field
sybase_fetch_row
Sybase Funktionen
PHP Manual

sybase_fetch_object

(PHP 4, PHP 5)

sybase_fetch_object — Fetch a row as an object

Warnung

Diese Funktion wurde seit PHP 7.0.0 ENTFERNT.

Beschreibung

object sybase_fetch_object ( resource $result [, mixed $object ] )

sybase_fetch_object() is similar to sybase_fetch_assoc(), with one difference - an object is returned, instead of an array.

Speed-wise, the function is identical to sybase_fetch_array(), and almost as quick as sybase_fetch_row() (the difference is insignificant).

Parameter-Liste

result

object

Use the second object to specify the type of object you want to return. If this parameter is omitted, the object will be of type stdClass.

Rückgabewerte

Returns an object with properties that correspond to the fetched row, or FALSE if there are no more rows.

Beispiele

Beispiel #1 sybase_fetch_object() return as Foo

<?php
    class Foo {
        var $foo, $bar, $baz;
    }

    // {...]
    $qrh= sybase_query('SELECT foo, bar, baz FROM example');
    $foo= sybase_fetch_object($qrh, 'Foo');
    $bar= sybase_fetch_object($qrh, new Foo());
    // {...]
?>

Siehe auch

  • sybase_fetch_array() - Fetch row as array
  • sybase_fetch_row() - Get a result row as an enumerated array

sybase_fetch_field
sybase_fetch_row
Sybase Funktionen


Get a result row as an enumerated array

sybase_fetch_object
sybase_field_seek
Sybase Funktionen
PHP Manual

sybase_fetch_row

(PHP 4, PHP 5)

sybase_fetch_row — Get a result row as an enumerated array

Warnung

Diese Funktion wurde seit PHP 7.0.0 ENTFERNT.

Beschreibung

array sybase_fetch_row ( resource $result )

sybase_fetch_row() fetches one row of data from the result associated with the specified result identifier.

Subsequent call to sybase_fetch_row() would return the next row in the result set, or FALSE if there are no more rows.

Parameter-Liste

result

Rückgabewerte

Returns an array that corresponds to the fetched row, or FALSE if there are no more rows. Each result column is stored in an array offset, starting at offset 0.

Data types
PHP | Sybase
string | VARCHAR, TEXT, CHAR, IMAGE, BINARY, VARBINARY, DATETIME
int | NUMERIC (w/o precision), DECIMAL (w/o precision), INT, BIT, TINYINT, SMALLINT
float | NUMERIC (w/ precision), DECIMAL (w/ precision), REAL, FLOAT, MONEY
NULL | NULL

Siehe auch

  • sybase_fetch_array() - Fetch row as array
  • sybase_fetch_assoc() - Fetch a result row as an associative array
  • sybase_fetch_object() - Fetch a row as an object
  • sybase_data_seek() - Moves internal row pointer
  • sybase_result() - Get result data

sybase_fetch_object
sybase_field_seek
Sybase Funktionen


Sets field offset

sybase_fetch_row
sybase_free_result
Sybase Funktionen
PHP Manual

sybase_field_seek

(PHP 4, PHP 5)

sybase_field_seek — Sets field offset

Warnung

Diese Funktion wurde seit PHP 7.0.0 ENTFERNT.

Beschreibung

bool sybase_field_seek ( resource $result , int $field_offset )

Seeks to the specified field offset. If the next call to sybase_fetch_field() won't include a field offset, this field would be returned.

Parameter-Liste

result

field_offset

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • sybase_fetch_field() - Get field information from a result

sybase_fetch_row
sybase_free_result
Sybase Funktionen


Frees result memory

sybase_field_seek
sybase_get_last_message
Sybase Funktionen
PHP Manual

sybase_free_result

(PHP 4, PHP 5)

sybase_free_result — Frees result memory

Warnung

Diese Funktion wurde seit PHP 7.0.0 ENTFERNT.

Beschreibung

bool sybase_free_result ( resource $result )

sybase_free_result() only needs to be called if you are worried about using too much memory while your script is running. All result memory will automatically be freed when the script ends. You may call sybase_free_result() with the result identifier as an argument and the associated result memory will be freed.

Parameter-Liste

result

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

sybase_field_seek
sybase_get_last_message
Sybase Funktionen


Returns the last message from the server

sybase_free_result
sybase_min_client_severity
Sybase Funktionen
PHP Manual

sybase_get_last_message

(PHP 4, PHP 5)

sybase_get_last_message — Returns the last message from the server

Warnung

Diese Funktion wurde seit PHP 7.0.0 ENTFERNT.

Beschreibung

string sybase_get_last_message ( void )

sybase_get_last_message() returns the last message reported by the server.

Rückgabewerte

Returns the message as a string.

Siehe auch

  • sybase_min_message_severity() - Sets minimum message severity

sybase_free_result
sybase_min_client_severity
Sybase Funktionen


Sets minimum client severity

sybase_get_last_message
sybase_min_error_severity
Sybase Funktionen
PHP Manual

sybase_min_client_severity

(PHP 4, PHP 5)

sybase_min_client_severity — Sets minimum client severity

Warnung

Diese Funktion wurde seit PHP 7.0.0 ENTFERNT.

Beschreibung

void sybase_min_client_severity ( int $severity )

sybase_min_client_severity() sets the minimum client severity level.

Parameter-Liste

severity

Rückgabewerte

Es wird kein Wert zurückgegeben.

Anmerkungen

Hinweis: Diese Funktion steht nur zur Verfügung, wenn Sie die CT-Bibliothek als Schnittstelle zu Sybase verwenden.

Siehe auch

  • sybase_min_server_severity() - Sets minimum server severity

sybase_get_last_message
sybase_min_error_severity
Sybase Funktionen


Sets minimum error severity

sybase_min_client_severity
sybase_min_message_severity
Sybase Funktionen
PHP Manual

sybase_min_error_severity

(PHP 4, PHP 5)

sybase_min_error_severity — Sets minimum error severity

Warnung

Diese Funktion wurde seit PHP 7.0.0 ENTFERNT.

Beschreibung

void sybase_min_error_severity ( int $severity )

sybase_min_error_severity() sets the minimum error severity level.

Parameter-Liste

severity

Rückgabewerte

Es wird kein Wert zurückgegeben.

Anmerkungen

Hinweis: Diese Funktion steht nur zur Verfügung, wenn Sie die CT-Bibliothek als Schnittstelle zu Sybase verwenden.

Siehe auch

  • sybase_min_message_severity() - Sets minimum message severity

sybase_min_client_severity
sybase_min_message_severity
Sybase Funktionen


Sets minimum message severity

sybase_min_error_severity
sybase_min_server_severity
Sybase Funktionen
PHP Manual

sybase_min_message_severity

(PHP 4, PHP 5)

sybase_min_message_severity — Sets minimum message severity

Warnung

Diese Funktion wurde seit PHP 7.0.0 ENTFERNT.

Beschreibung

void sybase_min_message_severity ( int $severity )

sybase_min_message_severity() sets the minimum message severity level.

Parameter-Liste

severity

Rückgabewerte

Es wird kein Wert zurückgegeben.

Anmerkungen

Hinweis: Diese Funktion steht nur zur Verfügung, wenn Sie die DB-Bibliothek als Schnittstelle zu Sybase verwenden.

Siehe auch

  • sybase_min_error_severity() - Sets minimum error severity

sybase_min_error_severity
sybase_min_server_severity
Sybase Funktionen


Sets minimum server severity

sybase_min_message_severity
sybase_num_fields
Sybase Funktionen
PHP Manual

sybase_min_server_severity

(PHP 4, PHP 5)

sybase_min_server_severity — Sets minimum server severity

Warnung

Diese Funktion wurde seit PHP 7.0.0 ENTFERNT.

Beschreibung

void sybase_min_server_severity ( int $severity )

sybase_min_server_severity() sets the minimum server severity level.

Parameter-Liste

severity

Rückgabewerte

Es wird kein Wert zurückgegeben.

Anmerkungen

Hinweis: Diese Funktion steht nur zur Verfügung, wenn Sie die CT-Bibliothek als Schnittstelle zu Sybase verwenden.

Siehe auch

  • sybase_min_client_severity() - Sets minimum client severity

sybase_min_message_severity
sybase_num_fields
Sybase Funktionen


Gets the number of fields in a result set

sybase_min_server_severity
sybase_num_rows
Sybase Funktionen
PHP Manual

sybase_num_fields

(PHP 4, PHP 5)

sybase_num_fields — Gets the number of fields in a result set

Warnung

Diese Funktion wurde seit PHP 7.0.0 ENTFERNT.

Beschreibung

int sybase_num_fields ( resource $result )

sybase_num_fields() returns the number of fields in a result set.

Parameter-Liste

result

Rückgabewerte

Returns the number of fields as an integer.

Siehe auch

  • sybase_query() - Sends a Sybase query
  • sybase_fetch_field() - Get field information from a result
  • sybase_num_rows() - Get number of rows in a result set

sybase_min_server_severity
sybase_num_rows
Sybase Funktionen


Get number of rows in a result set

sybase_num_fields
sybase_pconnect
Sybase Funktionen
PHP Manual

sybase_num_rows

(PHP 4, PHP 5)

sybase_num_rows — Get number of rows in a result set

Warnung

Diese Funktion wurde seit PHP 7.0.0 ENTFERNT.

Beschreibung

int sybase_num_rows ( resource $result )

sybase_num_rows() returns the number of rows in a result set.

Parameter-Liste

result

Rückgabewerte

Returns the number of rows as an integer.

Siehe auch

  • sybase_num_fields() - Gets the number of fields in a result set
  • sybase_query() - Sends a Sybase query
  • sybase_fetch_row() - Get a result row as an enumerated array

sybase_num_fields
sybase_pconnect
Sybase Funktionen


Open persistent Sybase connection

sybase_num_rows
sybase_query
Sybase Funktionen
PHP Manual

sybase_pconnect

(PHP 4, PHP 5)

sybase_pconnect — Open persistent Sybase connection

Warnung

Diese Funktion wurde seit PHP 7.0.0 ENTFERNT.

Beschreibung

resource sybase_pconnect ([ string $servername [, string $username [, string $password [, string $charset [, string $appname ]]]]] )

sybase_pconnect() acts very much like sybase_connect() with two major differences.

First, when connecting, the function would first try to find a (persistent) link that's already open with the same host, username and password. If one is found, an identifier for it will be returned instead of opening a new connection.

Second, the connection to the SQL server will not be closed when the execution of the script ends. Instead, the link will remain open for future use (sybase_close() will not close links established by sybase_pconnect()).

This type of links is therefore called 'persistent'.

Parameter-Liste

servername

The servername argument has to be a valid servername that is defined in the 'interfaces' file.

username

Sybase user name

password

Password associated with username.

charset

Specifies the charset for the connection

appname

Specifies an appname for the Sybase connection. This allow you to make separate connections in the same script to the same database. This may come handy when you have started a transaction in your current connection, and you need to be able to do a separate query which cannot be performed inside this transaction.

Rückgabewerte

Returns a positive Sybase persistent link identifier on success, or FALSE on error.

Siehe auch

  • sybase_connect() - Opens a Sybase server connection

sybase_num_rows
sybase_query
Sybase Funktionen


Sends a Sybase query

sybase_pconnect
sybase_result
Sybase Funktionen
PHP Manual

sybase_query

(PHP 4, PHP 5)

sybase_query — Sends a Sybase query

Warnung

Diese Funktion wurde seit PHP 7.0.0 ENTFERNT.

Beschreibung

mixed sybase_query ( string $query [, resource $link_identifier ] )

sybase_query() sends a query to the currently active database on the server that's associated with the specified link identifier.

Parameter-Liste

query

link_identifier

If the link identifier isn't specified, the last opened link is assumed. If no link is open, the function tries to establish a link as if sybase_connect() was called, and use it.

Rückgabewerte

Returns a positive Sybase result identifier on success, FALSE on error, or TRUE if the query was successful but didn't return any columns.

Siehe auch

  • sybase_select_db() - Selects a Sybase database
  • sybase_connect() - Opens a Sybase server connection

sybase_pconnect
sybase_result
Sybase Funktionen


Get result data

sybase_query
sybase_select_db
Sybase Funktionen
PHP Manual

sybase_result

(PHP 4, PHP 5)

sybase_result — Get result data

Warnung

Diese Funktion wurde seit PHP 7.0.0 ENTFERNT.

Beschreibung

string sybase_result ( resource $result , int $row , mixed $field )

Returns the contents of the cell at the row and offset in the specified Sybase result set.

When working on large result sets, you should consider using one of the functions that fetch an entire row (specified below). As these functions return the contents of multiple cells in one function call, they're MUCH quicker than sybase_result(). Also, note that specifying a numeric offset for the field argument is much quicker than specifying a fieldname or tablename.fieldname argument.

Recommended high-performance alternatives:
sybase_fetch_row(),
sybase_fetch_array() and
sybase_fetch_object().

Parameter-Liste

result

row

field

The field argument can be the field's offset, or the field's name, or the field's table dot field's name (tablename.fieldname). If the column name has been aliased ('select foo as bar from...'), use the alias instead of the column name.

Rückgabewerte

sybase_result() returns the contents of one cell from a Sybase result set.

sybase_query
sybase_select_db
Sybase Funktionen


Selects a Sybase database

sybase_result
sybase_set_message_handler
Sybase Funktionen
PHP Manual

sybase_select_db

(PHP 4, PHP 5)

sybase_select_db — Selects a Sybase database

Warnung

Diese Funktion wurde seit PHP 7.0.0 ENTFERNT.

Beschreibung

bool sybase_select_db ( string $database_name [, resource $link_identifier ] )

sybase_select_db() sets the current active database on the server that's associated with the specified link identifier.

Every subsequent call to sybase_query() will be made on the active database.

Parameter-Liste

database_name

link_identifier

If no link identifier is specified, the last opened link is assumed. If no link is open, the function will try to establish a link as if sybase_connect() was called, and use it.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • sybase_connect() - Opens a Sybase server connection
  • sybase_pconnect() - Open persistent Sybase connection
  • sybase_query() - Sends a Sybase query

sybase_result
sybase_set_message_handler
Sybase Funktionen


Sets the handler called when a server message is raised

sybase_select_db
sybase_unbuffered_query
Sybase Funktionen
PHP Manual

sybase_set_message_handler

(PHP 4 >= 4.3.0, PHP 5)

sybase_set_message_handler — Sets the handler called when a server message is raised

Warnung

Diese Funktion wurde seit PHP 7.0.0 ENTFERNT.

Beschreibung

bool sybase_set_message_handler ( callable $handler [, resource $link_identifier ] )

sybase_set_message_handler() sets a user function to handle messages generated by the server. You may specify the name of a global function, or use an array to specify an object reference and a method name.

Parameter-Liste

handler

The handler expects five arguments in the following order: message number, severity, state, line number and description. The first four are integers. The last is a string. If the function returns FALSE, PHP generates an ordinary error message.

link_identifier

If the link identifier isn't specified, the last opened link is assumed.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 sybase_set_message_handler() callback function

<?php
    function msg_handler($msgnumber, $severity, $state, $line, $text)
    {
        var_dump($msgnumber, $severity, $state, $line, $text);
    }

    sybase_set_message_handler('msg_handler');
?>

Beispiel #2 sybase_set_message_handler() callback to a class

<?php
    class Sybase {
        function handler($msgnumber, $severity, $state, $line, $text)
        {
            var_dump($msgnumber, $severity, $state, $line, $text);
        }
    }

    $sybase= new Sybase();
    sybase_set_message_handler(array($sybase, 'handler'));
?>

Beispiel #3 sybase_set_message_handler() unhandled messages

<?php
    // Return FALSE from this function to indicate you can't handle
    // this. The error is printed out as a warning, the way you're used
    // to it if there is no handler installed.
    function msg_handler($msgnumber, $severity, $state, $line, $text)
    {
        if (257 == $msgnumber) {
            return false;
        }
        var_dump($msgnumber, $severity, $state, $line, $text);
    }

    sybase_set_message_handler('msg_handler');
?>

Anmerkungen

Hinweis: Diese Funktion steht nur zur Verfügung, wenn Sie die CT-Bibliothek als Schnittstelle zu Sybase verwenden.

sybase_select_db
sybase_unbuffered_query
Sybase Funktionen


Send a Sybase query and do not block

sybase_set_message_handler
tokyo_tyrant
Sybase Funktionen
PHP Manual

sybase_unbuffered_query

(PHP 4 >= 4.3.0, PHP 5)

sybase_unbuffered_query — Send a Sybase query and do not block

Warnung

Diese Funktion wurde seit PHP 7.0.0 ENTFERNT.

Beschreibung

resource sybase_unbuffered_query ( string $query , resource $link_identifier [, bool $store_result ] )

sybase_unbuffered_query() sends a query to the currently active database on the server that's associated with the specified link identifier. If the link identifier isn't specified, the last opened link is assumed. If no link is open, the function tries to establish a link as if sybase_connect() was called, and use it.

Unlike sybase_query(), sybase_unbuffered_query() reads only the first row of the result set. sybase_fetch_array() and similar function read more rows as needed. sybase_data_seek() reads up to the target row. The behavior may produce better performance for large result sets.

sybase_num_rows() will only return the correct number of rows if all result sets have been read. To Sybase, the number of rows is not known and is therefore computed by the client implementation.

Hinweis:

If you don't read all of the resultsets prior to executing the next query, PHP will raise a warning and cancel all of the pending results. To get rid of this, use sybase_free_result() which will cancel pending results of an unbuffered query.

Parameter-Liste

query

link_identifier

store_result

The optional store_result can be FALSE to indicate the resultsets shouldn't be fetched into memory, thus minimizing memory usage which is particularly interesting with very large resultsets.

Rückgabewerte

Returns a positive Sybase result identifier on success, or FALSE on error.

Beispiele

Beispiel #1 sybase_unbuffered_query() example

<?php

$dbh = sybase_connect('SYBASE', '', '');
$q = sybase_unbuffered_query('select firstname, lastname from huge_table', $dbh, false);
sybase_data_seek($q, 10000);
$i = 0;

while ($row = sybase_fetch_row($q)) {
    echo $row[0], ' ', $row[1], '<br />';
    if ($i++ > 40000) {
        break;
    }
}

sybase_free_result($q);
sybase_close($dbh);

?>

Anmerkungen

Hinweis: Diese Funktion steht nur zur Verfügung, wenn Sie die CT-Bibliothek als Schnittstelle zu Sybase verwenden.

Siehe auch

  • sybase_query() - Sends a Sybase query

sybase_set_message_handler
tokyo_tyrant
Sybase Funktionen


tokyo_tyrant

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
  • TokyoTyrant — The TokyoTyrant class
    • TokyoTyrant::add — Adds to a numeric key
    • TokyoTyrant::connect — Connect to a database
    • TokyoTyrant::connectUri — Connects to a database
    • TokyoTyrant::__construct — Construct a new TokyoTyrant object
    • TokyoTyrant::copy — Copies the database
    • TokyoTyrant::ext — Execute a remote script
    • TokyoTyrant::fwmKeys — Returns the forward matching keys
    • TokyoTyrant::get — The get purpose
    • TokyoTyrant::getIterator — Get an iterator
    • TokyoTyrant::num — Number of records in the database
    • TokyoTyrant::out — Removes records
    • TokyoTyrant::put — Puts values
    • TokyoTyrant::putCat — Concatenates to a record
    • TokyoTyrant::putKeep — Puts a record
    • TokyoTyrant::putNr — Puts value
    • TokyoTyrant::putShl — Concatenates to a record
    • TokyoTyrant::restore — Restore the database
    • TokyoTyrant::setMaster — Set the replication master
    • TokyoTyrant::size — Returns the size of the value
    • TokyoTyrant::stat — Get statistics
    • TokyoTyrant::sync — Synchronize the database
    • TokyoTyrant::tune — Tunes connection values
    • TokyoTyrant::vanish — Empties the database
  • TokyoTyrantTable — The TokyoTyrantTable class
    • TokyoTyrantTable::add — Adds a record
    • TokyoTyrantTable::genUid — Generate unique id
    • TokyoTyrantTable::get — Get a row
    • TokyoTyrantTable::getIterator — Get an iterator
    • TokyoTyrantTable::getQuery — Get a query object
    • TokyoTyrantTable::out — Remove records
    • TokyoTyrantTable::put — Store a row
    • TokyoTyrantTable::putCat — Concatenates to a row
    • TokyoTyrantTable::putKeep — Put a new record
    • TokyoTyrantTable::putNr — Puts value
    • TokyoTyrantTable::putShl — Concatenates to a record
    • TokyoTyrantTable::setIndex — Sets index
  • TokyoTyrantQuery — The TokyoTyrantQuery class
    • TokyoTyrantQuery::addCond — Adds a condition to the query
    • TokyoTyrantQuery::__construct — Construct a new query
    • TokyoTyrantQuery::count — Counts records
    • TokyoTyrantQuery::current — Returns the current element
    • TokyoTyrantQuery::hint — Get the hint string of the query
    • TokyoTyrantQuery::key — Returns the current key
    • TokyoTyrantQuery::metaSearch — Retrieve records with multiple queries
    • TokyoTyrantQuery::next — Moves the iterator to next entry
    • TokyoTyrantQuery::out — Removes records based on query
    • TokyoTyrantQuery::rewind — Rewinds the iterator
    • TokyoTyrantQuery::search — Searches records
    • TokyoTyrantQuery::setLimit — Limit results
    • TokyoTyrantQuery::setOrder — Orders results
    • TokyoTyrantQuery::valid — Checks the validity of current item
  • TokyoTyrantIterator — The TokyoTyrantIterator class
    • TokyoTyrantIterator::__construct — Construct an iterator
    • TokyoTyrantIterator::current — Get the current value
    • TokyoTyrantIterator::key — Returns the current key
    • TokyoTyrantIterator::next — Move to next key
    • TokyoTyrantIterator::rewind — Rewinds the iterator
    • TokyoTyrantIterator::valid — Rewinds the iterator
  • TokyoTyrantException — The TokyoTyrantException class
sybase_unbuffered_query
Einführung
Anbieterspezifische Datenbankerweiterungen


Einführung

tokyo_tyrant extension provides a wrapper for Tokyo Tyrant client libraries. The extension contains the normal key-value API and the table API.

"Tokyo Tyrant is a package of network interface to the DBM called Tokyo Cabinet. Though the DBM has high performance, you might bother in case that multiple processes share the same database, or remote processes access the database. Thus, Tokyo Tyrant is provided for concurrent and remote connections to Tokyo Cabinet. It is composed of the server process managing a database and its access library for client applications." --Tokyo Tyrant documentation

Tokyo Tyrant is written by Mikio Hirabayashi and is licensed under GNU Lesser General Public License.

tokyo_tyrant
Installation/Konfiguration
tokyo_tyrant


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
tokyo_tyrant


Anforderungen

Before using this extension Tokyo Cabinet and Tokyo Tyrant must be installed.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/tokyo_tyrant

Configure options

  • --with-tokyo-tyrant[=DIR] DIR is the prefix to the Tokyo Tyrant installation
  • --with-tokyo-cabinet-dir[=DIR] DIR is the prefix to the Tokyo Cabinet installation
  • --disable-tokyo-tyrant-session Disable Tokyo Tyrant session handler support

Enabling the extension

The extension can be enabled by adding extension=tokyo_tyrant.so to the INI-configuration

Running Tokyo Tyrant for the session handler

ttserver -port 2000 -ext /path/to/expire.lua -extpc expire 30.0 '/tmp/sessions.tct#idx=ts:dec'

Hinweis: expire.lua is included in the tokyo_tyrant extension source distribution

Configuring session handler

  • tokyo_tyrant.session_salt="randomlongstring"
  • session.save_handler=tokyo_tyrant
  • session.save_path="tcp://hostname1:2000,tcp://hostname2:2000"

Hinweis: It is important to make sure that tokyo_tyrant.session_salt matches on all servers.

How it works?

The session handler creates a session id like the following: 8b0e27a823fa4a6cf7246945b82c1d51-a5eadbbed1f2075952900628456bfd6830541629-0-5460

The parts from left to right:

  • Session id - Generated session id
  • Checksum - Checksum of session salt, session id, node id and primary key
  • Node id - The id of the node where the session maps to
  • Primary key - The primary key of the row where the session is stored

The checksum contains SHA1 sum of the node id, primary key, session id and the salt which is known only on the server side. This allows quick mapping of session id to node and primary key since there is no need to do an additional search. During session id regeneration only the parts 1 and 2 change but the mapping to the node and primary key stays constant.

In case some of the nodes fail tokyo_tyrant.allow_failover, tokyo_tyrant.fail_threshold and tokyo_tyrant.health_check_divisor INI-settings control the behavior during failover. If failover is allowed the session handler will map the session to a healthy node and creates a new empty session.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

tokyo_tyrant Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
tokyo_tyrant.default_timeout | 2.0 | PHP_INI_ALL |
tokyo_tyrant.session_salt | NULL | PHP_INI_ALL |
tokyo_tyrant.key_prefix | NULL | PHP_INI_ALL |
tokyo_tyrant.allow_failover | 1 | PHP_INI_ALL |
tokyo_tyrant.fail_threshold | 5 | PHP_INI_ALL |
tokyo_tyrant.health_check_divisor | 1000 | PHP_INI_ALL |
tokyo_tyrant.php_expiration | 0 | PHP_INI_ALL |

Hier eine kurze Erklärung der Konfigurationsoptionen:

tokyo_tyrant.default_timeout integer

Default timeout when connecting to databases

tokyo_tyrant.session_salt string

The secret that is used to salt session id

tokyo_tyrant.key_prefix string

Prefix all keys with this string. The prefix is transparent to the developer but helps making sure that keys won't collide if multiple applications are using the same database.

tokyo_tyrant.allow_failover integer

Whether to allow session failover in case a server dies.

tokyo_tyrant.fail_threshold integer

How many read/write or connection failures is allowed before server is marked as failed.

tokyo_tyrant.health_check_divisor integer

Defines the divisor for the health check probability. If there are failed servers and the probability matches, the servers are health checked and in case the server seems healthy, it will be added back to the pool.

tokyo_tyrant.php_expiration integer

Whether to use built in session expiration mechanism or delegate the expiration to a lua-script on the server-side.

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

TokyoTyrant constants

Ressource-Typen
Beispiele
tokyo_tyrant


Beispiele

Basic usage

Beispiel #1 Putting and getting a key-value pair

<?php
$tt = new TokyoTyrant("localhost");
$tt->put("key", "value");
echo $tt->get("key");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

value
Vordefinierte Konstanten
TokyoTyrant
tokyo_tyrant


The TokyoTyrant class

(PECL tokyo_tyrant >= 0.1.0)

Einführung

The main Tokyo Tyrant class

Klassenbeschreibung

TokyoTyrant {
/* Konstanten */
const integer RDBDEF_PORT = 1978 ;
const integer RDBQC_STREQ = 0 ;
const integer RDBQC_STRINC = 1 ;
const integer RDBQC_STRBW = 2 ;
const integer RDBQC_STREW = 3 ;
const integer RDBQC_STRAND = 4 ;
const integer RDBQC_STROR = 5 ;
const integer RDBQC_STROREQ = 6 ;
const integer RDBQC_STRRX = 7 ;
const integer RDBQC_NUMEQ = 8 ;
const integer RDBQC_NUMGT = 9 ;
const integer RDBQC_NUMGE = 10 ;
const integer RDBQC_NUMLT = 11 ;
const integer RDBQC_NUMLE = 12 ;
const integer RDBQC_NUMBT = 13 ;
const integer RDBQC_NUMOREQ = 14 ;
const integer RDBQC_NEGATE = 16777216 ;
const integer RDBQC_NOIDX = 33554432 ;
const integer RDBQO_STRASC = 0 ;
const integer RDBQO_STRDESC = 1 ;
const integer RDBQO_NUMASC = 2 ;
const integer RDBQO_NUMDESC = 3 ;
const integer RDBIT_LEXICAL = 0 ;
const integer RDBIT_DECIMAL = 1 ;
const integer RDBIT_TOKEN = 2 ;
const integer RDBIT_QGRAM = 3 ;
const integer RDBIT_OPT = 9998 ;
const integer RDBIT_VOID = 9999 ;
const integer RDBIT_KEEP = 16777216 ;
const integer RDBQCFTS_PH = 15 ;
const integer RDBQCFTS_AND = 16 ;
const integer RDBQCFTS_OR = 17 ;
const integer RDBQCFTS_EX = 18 ;
const integer RDBXO_LCKREC = 1 ;
const integer RDBXOLCK_GLB = 2 ;
const integer RDBREC_INT = 1 ;
const integer RDBREC_DBL = 2 ;
const integer RDBMS_UNION = 0 ;
const integer RDBMS_ISECT = 1 ;
const integer RDBMS_DIFF = 2 ;
const integer RDBT_RECON = 1 ;
/* Methoden */
public number add ( string $key , number $increment [, int $type = 0 ] )
public TokyoTyrant connect ( string $host [, int $port = TokyoTyrant::RDBDEF_PORT [, array $options ]] )
public TokyoTyrant connectUri ( string $uri )
public __construct ([ string $host [, int $port = TokyoTyrant::RDBDEF_PORT [, array $options ]]] )
public TokyoTyrant copy ( string $path )
public string ext ( string $name , int $options , string $key , string $value )
public array fwmKeys ( string $prefix , int $max_recs )
public mixed get ( mixed $keys )
public TokyoTyrantIterator getIterator ( void )
public int num ( void )
public TokyoTyrant out ( mixed $keys )
public TokyoTyrant put ( mixed $keys [, string $value = NULL ] )
public TokyoTyrant putCat ( mixed $keys [, string $value ] )
public TokyoTyrant putKeep ( mixed $keys [, string $value ] )
public TokyoTyrant putNr ( mixed $keys [, string $value = NULL ] )
public mixed putShl ( string $key , string $value , int $width )
public mixed restore ( string $log_dir , int $timestamp [, bool $check_consistency = true ] )
public mixed setMaster ( string $host , int $port , int $timestamp [, bool $check_consistency = true ] )
public int size ( string $key )
public array stat ( void )
public mixed sync ( void )
public TokyoTyrant tune ( float $timeout [, int $options = TokyoTyrant::RDBT_RECON ] )
public mixed vanish ( void )
}

Vordefinierte Konstanten

TokyoTyrant Constants

TokyoTyrant::RDBDEF_PORT

The default port of the Tokyo Tyrant database

TokyoTyrant::RDBQC_STREQ

string is equal to

TokyoTyrant::RDBQC_STRINC

string is included in

TokyoTyrant::RDBQC_STRBW

string begins with

TokyoTyrant::RDBQC_STREW

string ends with

TokyoTyrant::RDBQC_STRAND

string includes all tokens in

TokyoTyrant::RDBQC_STROR

string includes at least one token in

TokyoTyrant::RDBQC_STROREQ

string is equal to at least one token in

TokyoTyrant::RDBQC_STRRX

string matches regular expressions of

TokyoTyrant::RDBQC_NUMEQ

number is equal to

TokyoTyrant::RDBQC_NUMGT

number is greater than

TokyoTyrant::RDBQC_NUMGE

number is greater than or equal to

TokyoTyrant::RDBQC_NUMLT

number is less than

TokyoTyrant::RDBQC_NUMLE

number is less than or equal to

TokyoTyrant::RDBQC_NUMBT

number is between two tokens of

TokyoTyrant::RDBQC_NUMOREQ

number is equal to at least one token in

TokyoTyrant::RDBQC_NEGATE

negation flag

TokyoTyrant::RDBQC_NOIDX

no index flag

TokyoTyrant::RDBQO_STRASC

string ascending

TokyoTyrant::RDBQO_STRDESC

string descending

TokyoTyrant::RDBQO_NUMASC

number ascending

TokyoTyrant::RDBQO_NUMDESC

number descending

TokyoTyrant::RDBIT_LEXICAL

lexical string

TokyoTyrant::RDBIT_DECIMAL

decimal string

TokyoTyrant::RDBIT_TOKEN

token inverted index (Tokyo Tyrant >= 1.1.29)

TokyoTyrant::RDBIT_QGRAM

QGRAM inverted index (Tokyo Tyrant >= 1.1.29)

TokyoTyrant::RDBIT_OPT

optimize

TokyoTyrant::RDBIT_VOID

void

TokyoTyrant::RDBIT_KEEP

keep existing index

TokyoTyrant::RDBQCFTS_PH

full-text search with the phrase of (Tokyo Tyrant >= 1.1.29)

TokyoTyrant::RDBQCFTS_AND

full-text search with all tokens in (Tokyo Tyrant >= 1.1.29)

TokyoTyrant::RDBQCFTS_OR

full-text search with at least one token in (Tokyo Tyrant >= 1.1.29)

TokyoTyrant::RDBQCFTS_EX

full-text search with the compound expression of (Tokyo Tyrant >= 1.1.29)

TokyoTyrant::RDBQCFTS_AND

Metasearch union between records (Tokyo Tyrant >= 1.1.33)

TokyoTyrant::RDBQCFTS_OR

Metasearch intersection between records (Tokyo Tyrant >= 1.1.33)

TokyoTyrant::RDBQCFTS_EX

Metasearch difference between records (Tokyo Tyrant >= 1.1.33)

TokyoTyrant::RDBT_RECON

Whether to reconnect on connection failure. It is recommended to have this parameter on for persistent connections

TokyoTyrant::RDBXOLCK_REC

record locking

TokyoTyrant::RDBXOLCK_GLB

global locking

TokyoTyrant::RDBREC_INT

record type int

TokyoTyrant::RDBREC_DBL

record type float (double)

TokyoTyrant::TTE_SUCCESS

success

TokyoTyrant::TTE_INVALID

invalid operation

TokyoTyrant::TTE_NOHOST

host not found

TokyoTyrant::TTE_REFUSED

connection refused

TokyoTyrant::TTE_SEND

send error

TokyoTyrant::TTE_RECV

recv error

TokyoTyrant::TTE_KEEP

record exist

TokyoTyrant::TTE_NOREC

no record found

TokyoTyrant::TTE_MISC

miscellaneous error

Inhaltsverzeichnis

  • TokyoTyrant::add — Adds to a numeric key
  • TokyoTyrant::connect — Connect to a database
  • TokyoTyrant::connectUri — Connects to a database
  • TokyoTyrant::__construct — Construct a new TokyoTyrant object
  • TokyoTyrant::copy — Copies the database
  • TokyoTyrant::ext — Execute a remote script
  • TokyoTyrant::fwmKeys — Returns the forward matching keys
  • TokyoTyrant::get — The get purpose
  • TokyoTyrant::getIterator — Get an iterator
  • TokyoTyrant::num — Number of records in the database
  • TokyoTyrant::out — Removes records
  • TokyoTyrant::put — Puts values
  • TokyoTyrant::putCat — Concatenates to a record
  • TokyoTyrant::putKeep — Puts a record
  • TokyoTyrant::putNr — Puts value
  • TokyoTyrant::putShl — Concatenates to a record
  • TokyoTyrant::restore — Restore the database
  • TokyoTyrant::setMaster — Set the replication master
  • TokyoTyrant::size — Returns the size of the value
  • TokyoTyrant::stat — Get statistics
  • TokyoTyrant::sync — Synchronize the database
  • TokyoTyrant::tune — Tunes connection values
  • TokyoTyrant::vanish — Empties the database
Beispiele
TokyoTyrant::add
tokyo_tyrant


Adds to a numeric key

TokyoTyrant
TokyoTyrant::connect
TokyoTyrant
PHP Manual

TokyoTyrant::add

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::add — Adds to a numeric key

Beschreibung

public number TokyoTyrant::add ( string $key , number $increment [, int $type = 0 ] )

Adds to an int or double value. This increments the value by the given amount and returns the new value. If the key does not exist a new key is created with initial value of the increment parameter.

Parameter-Liste

key

The string key

increment

The amount to increment

type

TokyoTyrant::RDBREC_INT or TokyoTyrant::RDBREC_DBL constant. If this parameter is omitted the type is guessed from the increment parameters type.

Rückgabewerte

Returns the new value on success

Beispiele

Beispiel #1 TokyoTyrant::add() example

<?php
$tt = new TokyoTyrant("localhost", TokyoTyrant::RDBDEF_PORT);
/* Adds integer 3 to key and creates a new key */
$tt->add("test", 3);

/* String value is converted to double */
echo $tt->add("test", "3.5", TokyoTyrant::RDBREC_DBL);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

6.5

Siehe auch

  • TokyoTyrant::put() - Puts values
  • TokyoTyrant::putcat() - Concatenates to a record
  • TokyoTyrant::putkeep() - Puts a record

TokyoTyrant
TokyoTyrant::connect
TokyoTyrant


Connect to a database

TokyoTyrant::add
TokyoTyrant::connectUri
TokyoTyrant
PHP Manual

TokyoTyrant::connect

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::connect — Connect to a database

Beschreibung

public TokyoTyrant TokyoTyrant::connect ( string $host [, int $port = TokyoTyrant::RDBDEF_PORT [, array $options ]] )

Connects to a remote database

Parameter-Liste

host

The hostname

port

The port. Default: 1978

options

Connection options: timeout (default: 5.0), reconnect (default: TRUE) and persistent (default: TRUE)

Rückgabewerte

This method returns the current object and throws TokyoTyrantException on failure.

Beispiele

Beispiel #1 TokyoTyrant::connect() example

<?php
$tt = new TokyoTyrant();
$tt->connect("localhost", TokyoTyrant::RDBDEF_PORT)->put("test", "value");
?>

Siehe auch

  • TokyoTyrant::connectUri() - Connects to a database

TokyoTyrant::add
TokyoTyrant::connectUri
TokyoTyrant


Connects to a database

TokyoTyrant::connect
TokyoTyrant::__construct
TokyoTyrant
PHP Manual

TokyoTyrant::connectUri

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::connectUri — Connects to a database

Beschreibung

public TokyoTyrant TokyoTyrant::connectUri ( string $uri )

Connects to a database using an uri

Parameter-Liste

uri

An URI to the database. For example tcp://localhost:1979/

Rückgabewerte

This method returns the current object and throws TokyoTyrantException on failure.

Beispiele

Beispiel #1 TokyoTyrant::connectUri() example

<?php
$tt = new TokyoTyrant();
$tt->connectUri("tcp://localhost:1978/")->put("test", "hi");
?>

Siehe auch

  • TokyoTyrant::connect() - Connect to a database

TokyoTyrant::connect
TokyoTyrant::__construct
TokyoTyrant


Construct a new TokyoTyrant object

TokyoTyrant::connectUri
TokyoTyrant::copy
TokyoTyrant
PHP Manual

TokyoTyrant::__construct

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::__construct — Construct a new TokyoTyrant object

Beschreibung

public TokyoTyrant::__construct ([ string $host [, int $port = TokyoTyrant::RDBDEF_PORT [, array $options ]]] )

Constructs a new TokyoTyrant object and optionally connects to the database

Parameter-Liste

host

The hostname. Default: NULL

port

port number. Default: 1978

options

Connection options: timeout (default: 5.0), reconnect (default: TRUE) and persistent (default: TRUE)

Rückgabewerte

Throws TokyoTyrantException if connection to database fails

Siehe auch

  • TokyoTyrant::connect() - Connect to a database
  • TokyoTyrant::connectUri() - Connects to a database

TokyoTyrant::connectUri
TokyoTyrant::copy
TokyoTyrant


Copies the database

TokyoTyrant::__construct
TokyoTyrant::ext
TokyoTyrant
PHP Manual

TokyoTyrant::copy

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::copy — Copies the database

Beschreibung

public TokyoTyrant TokyoTyrant::copy ( string $path )

Makes a copy of the current database

Parameter-Liste

path

Path to where to copy the database. The user running the remote database must have a write access to the directory.

Rückgabewerte

This method returns the current object and throws TokyoTyrantException on failure.

Beispiele

Beispiel #1 TokyoTyrant::copy() example

<?php
$tt = new TokyoTyrant("localhost", 1978);
$tt->copy("/tmp/foobar.tct");
?>

Siehe auch

  • TokyoTyrant::restore() - Restore the database

TokyoTyrant::__construct
TokyoTyrant::ext
TokyoTyrant


Execute a remote script

TokyoTyrant::copy
TokyoTyrant::fwmKeys
TokyoTyrant
PHP Manual

TokyoTyrant::ext

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::ext — Execute a remote script

Beschreibung

public string TokyoTyrant::ext ( string $name , int $options , string $key , string $value )

Executes a remote script extension.

Parameter-Liste

name

Name of the function to execute

options

Either TokyoTyrant::RDBXO_LCKREC for record locking and TokyoTyrant::RDBXO_LCKGLB for global locking.

key

The key to pass to the function

value

The value to pass to the function

Rückgabewerte

Returns the result of the script function

Beispiele

Beispiel #1 TokyoTyrant::ext() example

<?php
$tt = new TokyoTyrant("localhost", 1978);
echo $tt->ext("somefunc", TokyoTyrant::RDBXO_LCKREC, "some_key", "some_value");
?>

TokyoTyrant::copy
TokyoTyrant::fwmKeys
TokyoTyrant


Returns the forward matching keys

TokyoTyrant::ext
TokyoTyrant::get
TokyoTyrant
PHP Manual

TokyoTyrant::fwmKeys

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::fwmKeys — Returns the forward matching keys

Beschreibung

public array TokyoTyrant::fwmKeys ( string $prefix , int $max_recs )

Returns the forward matching keys from the database

Parameter-Liste

prefix

Prefix of the keys

max_recs

Maximum records to return

Rückgabewerte

Returns an array of matching keys. The values are not returned

Beispiele

Beispiel #1 TokyoTyrant::fwmKeys() example

<?php

$tt = new TokyoTyrant("localhost");

/* Create 20 macthing keys */
for ($i = 0; $i < 20; $i++) {
    $tt->put("key_" . $i, "value_" . $i);
}

/* Create 20 non-macthing keys */
for ($i = 0; $i < 20; $i++) {
    $tt->put("something_" . $i, "data_" . $i);
}

/* Get five matching keys */
var_dump($tt->fwmKeys("key_", 5));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(5) {
  [0]=>
  string(5) "key_5"
  [1]=>
  string(6) "key_14"
  [2]=>
  string(5) "key_6"
  [3]=>
  string(6) "key_15"
  [4]=>
  string(5) "key_7"
}

TokyoTyrant::ext
TokyoTyrant::get
TokyoTyrant


The get purpose

TokyoTyrant::fwmKeys
TokyoTyrant::getIterator
TokyoTyrant
PHP Manual

TokyoTyrant::get

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::get — The get purpose

Beschreibung

public mixed TokyoTyrant::get ( mixed $keys )

This method is used to return a value or multiple values. This method accepts a string or an array as a value.

Parameter-Liste

keys

A string key or an array of string keys

Rückgabewerte

Returns a string or an array based on the given parameters. Throws a TokyoTyrantException on error. If string is passed null is returned if the key is not found. In case an array is given as an parameter only existing keys will be returned. It is not an error to pass a key that does not exist.

Beispiele

Beispiel #1 TokyoTyrant::get() example

<?php
$tt = new TokyoTyrant("localhost", 1978);
$tt->put("key1", "value1");
$tt->put("key2", "value2");
var_dump($tt->get(array("key1", "key2")));
var_dump($tt->get("key1"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  ["key1"]=>
  string(6) "value1"
  ["key2"]=>
  string(6) "value2"
}
string(6) "value1"

Siehe auch

  • TokyoTyrant::put() - Puts values

TokyoTyrant::fwmKeys
TokyoTyrant::getIterator
TokyoTyrant


Get an iterator

TokyoTyrant::get
TokyoTyrant::num
TokyoTyrant
PHP Manual

TokyoTyrant::getIterator

(No version information available, might only be in Git)

TokyoTyrant::getIterator — Get an iterator

Beschreibung

public TokyoTyrantIterator TokyoTyrant::getIterator ( void )

Gets an iterator for iterating all keys / values in the database.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

This method returns TokyoTyrantIterator object and throws TokyoTyrantException on failure.

Beispiele

Beispiel #1 TokyoTyrant::getIterator() example

<?php
$tt = new TokyoTyrant("localhost");
$it = $tt->getIterator();

foreach ($it as $k => $v) {

}
?>

Siehe auch

  • TokyoTyrantTable::getQuery() - Get a query object
  • TokyoTyrantTable::getIterator() - Get an iterator

TokyoTyrant::get
TokyoTyrant::num
TokyoTyrant


Number of records in the database

TokyoTyrant::getIterator
TokyoTyrant::out
TokyoTyrant
PHP Manual

TokyoTyrant::num

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::num — Number of records in the database

Beschreibung

public int TokyoTyrant::num ( void )

Returns the number of records in the database

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns number of records in the database

Beispiele

Beispiel #1 TokyoTyrant::num() example

<?php
/* Connect to a database on default port */
$tt = new TokyoTyrant("localhost");

/* Echo the number of records */
echo $tt->num();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

1234

Siehe auch

  • TokyoTyrant::stat() - Get statistics

TokyoTyrant::getIterator
TokyoTyrant::out
TokyoTyrant


Removes records

TokyoTyrant::num
TokyoTyrant::put
TokyoTyrant
PHP Manual

TokyoTyrant::out

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::out — Removes records

Beschreibung

public TokyoTyrant TokyoTyrant::out ( mixed $keys )

Removes a record or multiple records. This method accepts a string for a single key or an array of keys for multiple records.

Parameter-Liste

keys

A string key or an array of string keys

Rückgabewerte

This method returns the current object and throws TokyoTyrantException on failure.

Beispiele

Beispiel #1 TokyoTyrant::out() example

<?php
/* Connect to a database on default port */
$tt = new TokyoTyrant("localhost");

$tt->put("test1", "value1");
$tt->put("test2", "value2");

$tt->out(array("test1", "test2"));
?>

Siehe auch

  • TokyoTyrant::put() - Puts values

TokyoTyrant::num
TokyoTyrant::put
TokyoTyrant


Puts values

TokyoTyrant::out
TokyoTyrant::putCat
TokyoTyrant
PHP Manual

TokyoTyrant::put

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::put — Puts values

Beschreibung

public TokyoTyrant TokyoTyrant::put ( mixed $keys [, string $value = NULL ] )

Puts a key-value pair into the database or multiple key-value pairs. If keys is string then the second parameter value defines the value. The second parameter is mandatory if keys is a string. If the key exists the value will be replaced with new value.

Parameter-Liste

keys

A string key or an array of key-value pairs

value

The value in case a string key is used

Rückgabewerte

This method returns a reference to the current object and throws TokyoTyrantException on failure.

Beispiele

Beispiel #1 TokyoTyrant::put() example

<?php
/* Connect to a database on default port */
$tt = new TokyoTyrant("localhost");

/* Put single key-value pair */
$tt->put("key", "value");

/* Put key-value pairs, new value overwrites the old */
$tt->put(array("key1" => "value1", "key" => "value2"));

/* Get back one key */
echo $tt->get("key");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

value2

Siehe auch

  • TokyoTyrant::putKeep() - Puts a record
  • TokyoTyrant::putCat() - Concatenates to a record

TokyoTyrant::out
TokyoTyrant::putCat
TokyoTyrant


Concatenates to a record

TokyoTyrant::put
TokyoTyrant::putKeep
TokyoTyrant
PHP Manual

TokyoTyrant::putCat

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::putCat — Concatenates to a record

Beschreibung

public TokyoTyrant TokyoTyrant::putCat ( mixed $keys [, string $value ] )

Appends a value into existing key or multiple values if keys is an array. The second parameter is mandatory if keys is a string. If the record does not exist a new record is created.

Parameter-Liste

keys

A string key or an array of key-value pairs

value

The value in case a string key is used

Rückgabewerte

This method returns a reference to the current object and throws TokyoTyrantException on failure.

Beispiele

Beispiel #1 TokyoTyrant::putCat() example

<?php
/* Connect to a database on default port */
$tt = new TokyoTyrant("localhost");

/* Create a new key */
$tt->put("key", "value");

/* Concatenate single key-value pair */
$tt->putCat("key", " has more data");

/* Echo the key */
echo $tt->get("key");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

value has more data

Siehe auch

  • TokyoTyrant::put() - Puts values
  • TokyoTyrant::putKeep() - Puts a record

TokyoTyrant::put
TokyoTyrant::putKeep
TokyoTyrant


Puts a record

TokyoTyrant::putCat
TokyoTyrant::putNr
TokyoTyrant
PHP Manual

TokyoTyrant::putKeep

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::putKeep — Puts a record

Beschreibung

public TokyoTyrant TokyoTyrant::putKeep ( mixed $keys [, string $value ] )

Puts a key-value pair into the database or multiple key-value pairs. If keys is string then the second parameter value defines the value. The second parameter is mandatory if keys is a string. If the key already exists this method throws an exception indicating that the records exists.

Parameter-Liste

keys

A string key or an array of key-value pairs

value

The string value

Rückgabewerte

This method returns a reference to the current object and throws TokyoTyrantException on failure.

Beispiele

Beispiel #1 tokyotyrant::putKeep() example

<?php
/* Connect to a database on default port */
$tt = new TokyoTyrant("localhost");

/* Create a new key */
$tt->put("key", "value");

try {
    $tt->putKeep("key", "new value");
} catch (TokyoTyrantException $e) {
    if ($e->getCode() === TokyoTyrant::TTE_KEEP) {
        echo "Existing record! Not modified\n";
    } else {
        echo "Error: " , $e->getMessage() , "\n";
    }
}
echo $tt->get("key");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Existing record! Not modified
value

Siehe auch

  • TokyoTyrant::put() - Puts values
  • TokyoTyrant::putCat() - Concatenates to a record

TokyoTyrant::putCat
TokyoTyrant::putNr
TokyoTyrant


Puts value

TokyoTyrant::putKeep
TokyoTyrant::putShl
TokyoTyrant
PHP Manual

TokyoTyrant::putNr

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::putNr — Puts value

Beschreibung

public TokyoTyrant TokyoTyrant::putNr ( mixed $keys [, string $value = NULL ] )

Puts a key-value pair into the database or multiple key-value pairs. If keys is string then the second parameter value defines the value. The second parameter is mandatory if keys is a string. This method does not wait for the response from the server.

Parameter-Liste

keys

A string key or an array of key-value pairs

value

The value in case a string key is used

Rückgabewerte

This method returns a reference to the current object and throws TokyoTyrantException on failure.

Beispiele

Beispiel #1 TokyoTyrant::putNr() example

<?php
/* Connect to a database on default port */
$tt = new TokyoTyrant("localhost");

/* Put single key-value pair */
$tt->putNr("key", "value");

/* Put key-value pairs */
$tt->putNr(array("key1" => "value1", "key2" => "value2"));

/* Get back one key */
echo $tt->get("key1");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

value1

Siehe auch

  • TokyoTyrant::putNr()
  • TokyoTyrant::putKeep() - Puts a record
  • TokyoTyrant::putCat() - Concatenates to a record

TokyoTyrant::putKeep
TokyoTyrant::putShl
TokyoTyrant


Concatenates to a record

TokyoTyrant::putNr
TokyoTyrant::restore
TokyoTyrant
PHP Manual

TokyoTyrant::putShl

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::putShl — Concatenates to a record

Beschreibung

public mixed TokyoTyrant::putShl ( string $key , string $value , int $width )

Concatenate to a record and shift to left.

Parameter-Liste

key

A string key

value

The value to concatenate

width

The width of the record

Rückgabewerte

This method returns a reference to the current object and throws TokyoTyrantException on failure.

Beispiele

Beispiel #1 TokyoTyrant::putShl() example

<?php
/* Connect to a database on default port */
$tt = new TokyoTyrant("localhost");

/* Create a new key */
$tt->put("key", "just a long piece of data");

/* Concatenate and shift to left */
$tt->putShl("key", " and string", 15);

/* Echo the key */
echo $tt->get("key");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

data and string

Siehe auch

  • TokyoTyrant::put() - Puts values
  • TokyoTyrant::putKeep() - Puts a record
  • TokyoTyrant::putCat() - Concatenates to a record

TokyoTyrant::putNr
TokyoTyrant::restore
TokyoTyrant


Restore the database

TokyoTyrant::putShl
TokyoTyrant::setMaster
TokyoTyrant
PHP Manual

TokyoTyrant::restore

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::restore — Restore the database

Beschreibung

public mixed TokyoTyrant::restore ( string $log_dir , int $timestamp [, bool $check_consistency = true ] )

Restore the database from the update log.

Warnung

This method is not supported on 32bit platforms.

Parameter-Liste

log_dir

Directory where the log is

timestamp

Beginning timestamp with microseconds

check_consistency

Whether to check consistency: Default: TRUE

Rückgabewerte

This method returns the current object and throws TokyoTyrantException on failure.

TokyoTyrant::putShl
TokyoTyrant::setMaster
TokyoTyrant


Set the replication master

TokyoTyrant::restore
TokyoTyrant::size
TokyoTyrant
PHP Manual

TokyoTyrant::setMaster

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::setMaster — Set the replication master

Beschreibung

public mixed TokyoTyrant::setMaster ( string $host , int $port , int $timestamp [, bool $check_consistency = true ] )

Sets the replication master of the database

Warnung

This method is not supported on 32bit platforms.

Parameter-Liste

host

Hostname of the replication master. If NULL the replication is disabled.

port

Port of the replication master

timestamp

Beginning timestamp with microseconds

check_consistency

Whether to check consistency.

Rückgabewerte

This method returns the current object and throws TokyoTyrantException on failure.

Beispiele

Beispiel #1 TokyoTyrant::setMaster() example

<?php
/* Connect to a database */
$tt = new TokyoTyrant("tokyotyrant.example.com");

/* Disable the replication */
$tt->setMaster(NULL, 0, 0);
?>

Siehe auch

  • Classname::Method()

TokyoTyrant::restore
TokyoTyrant::size
TokyoTyrant


Returns the size of the value

TokyoTyrant::setMaster
TokyoTyrant::stat
TokyoTyrant
PHP Manual

TokyoTyrant::size

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::size — Returns the size of the value

Beschreibung

public int TokyoTyrant::size ( string $key )

Returns the size of a value by key

Parameter-Liste

key

The key of which size to fetch

Rückgabewerte

Returns the size of the key or throw TokyoTyrantException on error

Beispiele

Beispiel #1 TokyoTyrant::size() example

<?php
$tt = new TokyoTyrant("localhost");

$tt->put("test_key", "12345");

echo $tt->size("test_key");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

5

TokyoTyrant::setMaster
TokyoTyrant::stat
TokyoTyrant


Get statistics

TokyoTyrant::size
TokyoTyrant::sync
TokyoTyrant
PHP Manual

TokyoTyrant::stat

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::stat — Get statistics

Beschreibung

public array TokyoTyrant::stat ( void )

Returns statistics of the remote database

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array of key value pairs describing the statistics

Beispiele

Beispiel #1 TokyoTyrant::stat() example

<?php
$tt = new TokyoTyrant("localhost");

var_dump($tt->stat());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(19) {
  ["version"]=>
  string(6) "1.1.28"
  ["libver"]=>
  string(3) "311"
  ["protver"]=>
  string(4) "0.91"
  ["os"]=>
  string(5) "Linux"
  ["time"]=>
  string(17) "1247358357.665630"
  ["pid"]=>
  string(5) "14348"
  ["sid"]=>
  string(8) "59025947"
  ["type"]=>
  string(9) "on-memory"
  ["path"]=>
  string(1) "*"
  ["rnum"]=>
  string(1) "4"
  ["size"]=>
  string(6) "262856"
  ["bigend"]=>
  string(1) "0"
  ["fd"]=>
  string(1) "5"
  ["loadavg"]=>
  string(8) "0.000000"
  ["memsize"]=>
  string(8) "77328384"
  ["memrss"]=>
  string(7) "1183744"
  ["ru_real"]=>
  string(13) "162776.042152"
  ["ru_user"]=>
  string(8) "0.476029"
  ["ru_sys"]=>
  string(8) "8.652540"
}

Siehe auch

  • Classname::Method()

TokyoTyrant::size
TokyoTyrant::sync
TokyoTyrant


Synchronize the database

TokyoTyrant::stat
TokyoTyrant::tune
TokyoTyrant
PHP Manual

TokyoTyrant::sync

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::sync — Synchronize the database

Beschreibung

public mixed TokyoTyrant::sync ( void )

Synchronizes the database on to the physical device

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

This method returns the current object and throws TokyoTyrantException on failure.

TokyoTyrant::stat
TokyoTyrant::tune
TokyoTyrant


Tunes connection values

TokyoTyrant::sync
TokyoTyrant::vanish
TokyoTyrant
PHP Manual

TokyoTyrant::tune

(PECL tokyo_tyrant >= 0.2.0)

TokyoTyrant::tune — Tunes connection values

Beschreibung

public TokyoTyrant TokyoTyrant::tune ( float $timeout [, int $options = TokyoTyrant::RDBT_RECON ] )

Tunes database connection options.

Parameter-Liste

timeout

The objects timeout value (default: 5.0)

options

Bitmask of options to tune. This can be either 0 or TokyoTyrant::RDBT_RECON. It is recommended not to change the second parameter.

Rückgabewerte

This method returns a reference to the current object and throws TokyoTyrantException on failure.

TokyoTyrant::sync
TokyoTyrant::vanish
TokyoTyrant


Empties the database

TokyoTyrant::tune
TokyoTyrantTable
TokyoTyrant
PHP Manual

TokyoTyrant::vanish

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::vanish — Empties the database

Beschreibung

public mixed TokyoTyrant::vanish ( void )

Empties a remote database

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

This method returns the current object and throws TokyoTyrantException on failure.

Beispiele

Beispiel #1 TokyoTyrant::vanish() example

<?php
$tt = new TokyoTyrant("localhost");
$tt->vanish();
?>

Siehe auch

  • TokyoTyrant::out() - Removes records

TokyoTyrant::tune
TokyoTyrantTable
TokyoTyrant


The TokyoTyrantTable class

(PECL tokyo_tyrant >= 0.1.0)

Einführung

Provides an API to the table databases. A table database can be create using the following command: ttserver -port 1979 /tmp/tt_table.tct. In Tokyo Tyrant the table API is a schemaless database which can store arbitrary amount of key-value pairs under a single primary key.

Klassenbeschreibung

TokyoTyrantTable extends TokyoTyrant {
/* Methoden */
public void add ( string $key , mixed $increment [, string $type ] )
public int genUid ( void )
public array get ( mixed $keys )
public TokyoTyrantIterator getIterator ( void )
public TokyoTyrantQuery getQuery ( void )
public void out ( mixed $keys )
public int put ( string $key , array $columns )
public void putCat ( string $key , array $columns )
public void putKeep ( string $key , array $columns )
public void putNr ( mixed $keys [, string $value ] )
public void putShl ( string $key , string $value , int $width )
public mixed setIndex ( string $column , int $type )
/* Geerbte Methoden */
public number TokyoTyrant::add ( string $key , number $increment [, int $type = 0 ] )
public TokyoTyrant TokyoTyrant::connect ( string $host [, int $port = TokyoTyrant::RDBDEF_PORT [, array $options ]] )
public TokyoTyrant TokyoTyrant::connectUri ( string $uri )
public TokyoTyrant::__construct ([ string $host [, int $port = TokyoTyrant::RDBDEF_PORT [, array $options ]]] )
public TokyoTyrant TokyoTyrant::copy ( string $path )
public string TokyoTyrant::ext ( string $name , int $options , string $key , string $value )
public array TokyoTyrant::fwmKeys ( string $prefix , int $max_recs )
public mixed TokyoTyrant::get ( mixed $keys )
public TokyoTyrantIterator TokyoTyrant::getIterator ( void )
public int TokyoTyrant::num ( void )
public TokyoTyrant TokyoTyrant::out ( mixed $keys )
public TokyoTyrant TokyoTyrant::put ( mixed $keys [, string $value = NULL ] )
public TokyoTyrant TokyoTyrant::putCat ( mixed $keys [, string $value ] )
public TokyoTyrant TokyoTyrant::putKeep ( mixed $keys [, string $value ] )
public TokyoTyrant TokyoTyrant::putNr ( mixed $keys [, string $value = NULL ] )
public mixed TokyoTyrant::putShl ( string $key , string $value , int $width )
public mixed TokyoTyrant::restore ( string $log_dir , int $timestamp [, bool $check_consistency = true ] )
public mixed TokyoTyrant::setMaster ( string $host , int $port , int $timestamp [, bool $check_consistency = true ] )
public int TokyoTyrant::size ( string $key )
public array TokyoTyrant::stat ( void )
public mixed TokyoTyrant::sync ( void )
public TokyoTyrant TokyoTyrant::tune ( float $timeout [, int $options = TokyoTyrant::RDBT_RECON ] )
public mixed TokyoTyrant::vanish ( void )
}

Inhaltsverzeichnis

  • TokyoTyrantTable::add — Adds a record
  • TokyoTyrantTable::genUid — Generate unique id
  • TokyoTyrantTable::get — Get a row
  • TokyoTyrantTable::getIterator — Get an iterator
  • TokyoTyrantTable::getQuery — Get a query object
  • TokyoTyrantTable::out — Remove records
  • TokyoTyrantTable::put — Store a row
  • TokyoTyrantTable::putCat — Concatenates to a row
  • TokyoTyrantTable::putKeep — Put a new record
  • TokyoTyrantTable::putNr — Puts value
  • TokyoTyrantTable::putShl — Concatenates to a record
  • TokyoTyrantTable::setIndex — Sets index
TokyoTyrant::vanish
TokyoTyrantTable::add
tokyo_tyrant


Adds a record

TokyoTyrantTable
TokyoTyrantTable::genUid
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::add

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::add — Adds a record

Beschreibung

public void TokyoTyrantTable::add ( string $key , mixed $increment [, string $type ] )

This method is not supported with table databases.

Parameter-Liste

key

The string key

increment

The amount to increment

type

TokyoTyrant::RDB_RECINT or TokyoTyrant::RDB_RECDBL constant. If this parameter is omitted the type is guessed from the increment parameters type.

Rückgabewerte

This method throws an TokyoTyrantException if used through this class.

Siehe auch

  • TokyoTyrant::add() - Adds to a numeric key

TokyoTyrantTable
TokyoTyrantTable::genUid
TokyoTyrantTable


Generate unique id

TokyoTyrantTable::add
TokyoTyrantTable::get
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::genUid

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::genUid — Generate unique id

Beschreibung

public int TokyoTyrantTable::genUid ( void )

Generates an unique id inside the table database. In table databases rows are referenced using a numeric primary key.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an unique id or throws TokyoTyrantException on error

Beispiele

Beispiel #1 TokyoTyrantTable::genUid() example

<?php
$tt = new TokyoTyrantTable("localhost", 1122);

echo $tt->genUid();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

4

Siehe auch

  • TokyoTyrantTable::put() - Store a row

TokyoTyrantTable::add
TokyoTyrantTable::get
TokyoTyrantTable


Get a row

TokyoTyrantTable::genUid
TokyoTyrantTable::getIterator
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::get

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::get — Get a row

Beschreibung

public array TokyoTyrantTable::get ( mixed $keys )

Gets a row from table database. keys is a single integer for the primary key of the row or an array of integers for multiple rows.

Parameter-Liste

keys

The primary key, can be a string or an integer

Rückgabewerte

Returns the row as an array

Beispiele

Beispiel #1 TokyoTyrantTable::get() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Passing null to put generates a new uid */
$index = $tt->put(null, array("column1" => "some data", "column2" => "more data"));

/* Get the row back */
var_dump($tt->get($index));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  ["column1"]=>
  string(9) "some data"
  ["column2"]=>
  string(9) "more data"
}

Anmerkungen

Hinweis:

Starting from version 0.3.0 this method accepts array as parameter. Please note that multi-get on tables is not binary-safe.

Siehe auch

  • TokyoTyrantTable::put() - Store a row

TokyoTyrantTable::genUid
TokyoTyrantTable::getIterator
TokyoTyrantTable


Get an iterator

TokyoTyrantTable::get
TokyoTyrantTable::getQuery
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::getIterator

(No version information available, might only be in Git)

TokyoTyrantTable::getIterator — Get an iterator

Beschreibung

public TokyoTyrantIterator TokyoTyrantTable::getIterator ( void )

Gets an iterator for iterating all keys / values in the database.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

This method returns TokyoTyrantIterator object and throws TokyoTyrantException on failure.

Beispiele

Beispiel #1 TokyoTyrantTable::getIterator() example

<?php
$tt = new TokyoTyrantTable("localhost");
$it = $tt->getIterator();

foreach ($it as $k => $v) {
  var_dump($k, $v);
}
?>

Siehe auch

  • TokyoTyrantTable::getQuery() - Get a query object
  • TokyoTyrant::getIterator() - Get an iterator

TokyoTyrantTable::get
TokyoTyrantTable::getQuery
TokyoTyrantTable


Get a query object

TokyoTyrantTable::getIterator
TokyoTyrantTable::out
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::getQuery

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::getQuery — Get a query object

Beschreibung

public TokyoTyrantQuery TokyoTyrantTable::getQuery ( void )

Get a query object to execute searches on the database

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TokyoTyrantQuery on success and throws TokyoTyrantException on error

Beispiele

Beispiel #1 TokyoTyrantTable::getQuery() example

<?php
/* Connect to a table database */
$table = new TokyoTyrantTable("localhost", 1979);

/* Put a few rows */
$table->put(null, array("column1" => "some data", "column2" => "more data"));
$table->put(null, array("something" => "value", "data" => "good data"));

/* Get query object */
$query = $table->getQuery();

/* Add condition to query */
$query->addCond('data', TokyoTyrant::RDBQC_STREQ, 'good data');

/* Get matching rows */
var_dump($query->search());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(1) {
  [11]=>
  array(2) {
    ["something"]=>
    string(5) "value"
    ["data"]=>
    string(9) "good data"
  }
}

Siehe auch

  • TokyoTyrantQuery::search() - Searches records
  • TokyoTyrantQuery::out() - Removes records based on query

TokyoTyrantTable::getIterator
TokyoTyrantTable::out
TokyoTyrantTable


Remove records

TokyoTyrantTable::getQuery
TokyoTyrantTable::put
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::out

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::out — Remove records

Beschreibung

public void TokyoTyrantTable::out ( mixed $keys )

Removes records from a table database.

Parameter-Liste

keys

A single integer key or an array of integers

Rückgabewerte

This method returns the current object and throws TokyoTyrantException on failure.

Beispiele

Beispiel #1 TokyoTyrantTable::out() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Passing null to put generates a new uid */
$index = $tt->put(null, array("column1" => "some data", "column2" => "more data"));

/* Delete the row */
$tt->out($index);
?>

Siehe auch

  • TokyoTyrantTable::put() - Store a row

TokyoTyrantTable::getQuery
TokyoTyrantTable::put
TokyoTyrantTable


Store a row

TokyoTyrantTable::out
TokyoTyrantTable::putCat
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::put

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::put — Store a row

Beschreibung

public int TokyoTyrantTable::put ( string $key , array $columns )

Puts a new row into the database. This method parameters are key which is the primary key of the row, passing NULL will generate a new unique id. value is an array containing the row contents which is usually key value pairs.

Parameter-Liste

key

The primary key of the row

columns

The row contents

Rückgabewerte

Returns the primary key on success and throws TokyoTyrantException on error

Beispiele

Beispiel #1 TokyoTyrantTable::put() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Passing null to put generates a new uid */
$index = $tt->put(null, array("column1" => "some data", "column2" => "more data"));

/* Get the row back */
var_dump($tt->get($index));

/* Modify an existing row */
$tt->put($index, array("column1" => "other data", "column2" => "better data"));

/* Get the row back */
var_dump($tt->get($index));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  ["column1"]=>
  string(9) "some data"
  ["column2"]=>
  string(9) "more data"
}
array(2) {
  ["column1"]=>
  string(10) "other data"
  ["column2"]=>
  string(11) "better data"
}

Siehe auch

  • TokyoTyrantTable::get() - Get a row

TokyoTyrantTable::out
TokyoTyrantTable::putCat
TokyoTyrantTable


Concatenates to a row

TokyoTyrantTable::put
TokyoTyrantTable::putKeep
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::putCat

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::putCat — Concatenates to a row

Beschreibung

public void TokyoTyrantTable::putCat ( string $key , array $columns )

This method can be used to add new columns to existing records. Existing keys will be left unmodified but any new columns will be appended to the row. Passing null as key will generate a new row.

Parameter-Liste

key

The primary key of the row or NULL

columns

Array of row contents

Rückgabewerte

Returns the primary key and throws TokyoTyrantException on error.

Beispiele

Beispiel #1 TokyoTyrantTable::putCat() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Passing null to put generates a new uid */
$index = $tt->put(null, array("column1" => "some data", "column2" => "more data"));

/* Get the row back */
var_dump($tt->get($index));

/* Modify an existing row */
$tt->putcat($index, array("column1" => "something new", "new_column" => "other data"));

/* Get the row back */
var_dump($tt->get($index));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  ["column1"]=>
  string(9) "some data"
  ["column2"]=>
  string(9) "more data"
}
array(3) {
  ["column1"]=>
  string(9) "some data"
  ["column2"]=>
  string(9) "more data"
  ["new_column"]=>
  string(10) "other data"
}

Siehe auch

  • TokyoTyrantTable::put() - Store a row

TokyoTyrantTable::put
TokyoTyrantTable::putKeep
TokyoTyrantTable


Put a new record

TokyoTyrantTable::putCat
TokyoTyrantTable::putNr
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::putKeep

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::putKeep — Put a new record

Beschreibung

public void TokyoTyrantTable::putKeep ( string $key , array $columns )

Puts a new record into the database. If the key already exists this method throws an exception indicating that the records exists.

Parameter-Liste

key

The primary key of the row or NULL

columns

Array of the row contents

Rückgabewerte

Returns the primary key and throws TokyoTyrantException on error.

Beispiele

Beispiel #1 TokyoTyrantTable::putKeep() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Passing null to put generates a new uid */
$index = $tt->put(null, array("column1" => "some data", "column2" => "more data"));

/* Get the row back */
var_dump($tt->get($index));

try {
    $tt->putKeep($index, array("column1" => "something new", "new_column" => "other data"));
} catch (TokyoTyrantException $e) {
    if ($e->getCode() === TokyoTyrant::TTE_KEEP) {
        echo "Existing record! Not modified\n";
    } else {
        echo "Error: " , $e->getMessage() , "\n";
    }
}

/* Get the row back */
var_dump($tt->get($index));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(2) {
  ["column1"]=>
  string(9) "some data"
  ["column2"]=>
  string(9) "more data"
}
Existing record! Not modified
array(2) {
  ["column1"]=>
  string(9) "some data"
  ["column2"]=>
  string(9) "more data"
}

Siehe auch

  • TokyoTyrantTable::put() - Store a row

TokyoTyrantTable::putCat
TokyoTyrantTable::putNr
TokyoTyrantTable


Puts value

TokyoTyrantTable::putKeep
TokyoTyrantTable::putShl
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::putNr

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::putNr — Puts value

Beschreibung

public void TokyoTyrantTable::putNr ( mixed $keys [, string $value ] )

This method is not supported on table databases. Calling this method through TokyoTyrantTable is considered an error and an TokyoTyrantException will be thrown.

Parameter-Liste

keys

A string key or an array of key-value pairs

value

The value in case a string key is used

Rückgabewerte

This method is not supported on table databases. Calling this method through TokyoTyrantTable is considered an error and an TokyoTyrantException will be thrown.

Siehe auch

  • TokyoTyrant::putNr() - Puts value
  • TokyoTyrant::putKeep() - Puts a record
  • TokyoTyrant::putCat() - Concatenates to a record

TokyoTyrantTable::putKeep
TokyoTyrantTable::putShl
TokyoTyrantTable


Concatenates to a record

TokyoTyrantTable::putNr
TokyoTyrantTable::setIndex
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::putShl

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::putShl — Concatenates to a record

Beschreibung

public void TokyoTyrantTable::putShl ( string $key , string $value , int $width )

This method is not supported on table databases. Calling this method through TokyoTyrantTable is considered an error and an TokyoTyrantException will be thrown.

Parameter-Liste

key

A string key

value

The value to concatenate

width

The width of the record

Rückgabewerte

This method is not supported on table databases.

Siehe auch

  • TokyoTyrant::put() - Puts values
  • TokyoTyrant::putKeep() - Puts a record
  • TokyoTyrant::putCat() - Concatenates to a record
  • TokyoTyrantTable::put() - Store a row
  • TokyoTyrantTable::putKeep() - Put a new record
  • TokyoTyrantTable::putCat() - Concatenates to a row

TokyoTyrantTable::putNr
TokyoTyrantTable::setIndex
TokyoTyrantTable


Sets index

TokyoTyrantTable::putShl
TokyoTyrantQuery
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::setIndex

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::setIndex — Sets index

Beschreibung

public mixed TokyoTyrantTable::setIndex ( string $column , int $type )

Sets an index on a specified column. The index type is one of the TokyoTyrant::RDBIT_* constants. Passing TokyoTyrant::RDBIT_VOID removes the index.

Parameter-Liste

column

The name of the column

type

The index type

Rückgabewerte

This method returns the current object and throws TokyoTyrantException on failure.

TokyoTyrantTable::putShl
TokyoTyrantQuery
TokyoTyrantTable


The TokyoTyrantQuery class

(PECL tokyo_tyrant >= 0.1.0)

Einführung

This class is used to query the table databases

Klassenbeschreibung

TokyoTyrantQuery implements Iterator {
/* Methoden */
public mixed addCond ( string $name , int $op , string $expr )
public __construct ( TokyoTyrantTable $table )
public int count ( void )
public array current ( void )
public string hint ( void )
public string key ( void )
public array metaSearch ( array $queries , int $type )
public array next ( void )
public TokyoTyrantQuery out ( void )
public bool rewind ( void )
public array search ( void )
public mixed setLimit ([ int $max [, int $skip ]] )
public mixed setOrder ( string $name , int $type )
public bool valid ( void )
}

Inhaltsverzeichnis

  • TokyoTyrantQuery::addCond — Adds a condition to the query
  • TokyoTyrantQuery::__construct — Construct a new query
  • TokyoTyrantQuery::count — Counts records
  • TokyoTyrantQuery::current — Returns the current element
  • TokyoTyrantQuery::hint — Get the hint string of the query
  • TokyoTyrantQuery::key — Returns the current key
  • TokyoTyrantQuery::metaSearch — Retrieve records with multiple queries
  • TokyoTyrantQuery::next — Moves the iterator to next entry
  • TokyoTyrantQuery::out — Removes records based on query
  • TokyoTyrantQuery::rewind — Rewinds the iterator
  • TokyoTyrantQuery::search — Searches records
  • TokyoTyrantQuery::setLimit — Limit results
  • TokyoTyrantQuery::setOrder — Orders results
  • TokyoTyrantQuery::valid — Checks the validity of current item
TokyoTyrantTable::setIndex
TokyoTyrantQuery::addCond
tokyo_tyrant


Adds a condition to the query

TokyoTyrantQuery
TokyoTyrantQuery::__construct
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::addCond

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::addCond — Adds a condition to the query

Beschreibung

public mixed TokyoTyrantQuery::addCond ( string $name , int $op , string $expr )

Adds a condition to the query. Condition can be something like: get all keys which value matches expr.

Parameter-Liste

name

Name of the column in the condition

op

The operator. One of the TokyoTyrant::RDBQC_* constants

expr

The expression

Rückgabewerte

This method returns the current object and throws TokyoTyrantException on failure.

Beispiele

Beispiel #1 TokyoTyrantQuery::addCond() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "not here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Dump the search results */
var_dump($query->search());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  [1]=>
  array(2) {
    ["column1"]=>
    string(9) "some data"
    ["column2"]=>
    string(14) "something here"
  }
  [4]=>
  array(2) {
    ["column45"]=>
    string(11) "random data"
    ["column2"]=>
    string(25) "something along the lines"
  }
}

Siehe auch

  • Classname::Method()

TokyoTyrantQuery
TokyoTyrantQuery::__construct
TokyoTyrantQuery


Construct a new query

TokyoTyrantQuery::addCond
TokyoTyrantQuery::count
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::__construct

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::__construct — Construct a new query

Beschreibung

public TokyoTyrantQuery::__construct ( TokyoTyrantTable $table )

Construct a new query object

Parameter-Liste

table

TokyoTyrantTable object with active database connection

Rückgabewerte

Returns a new TokyoTyrantQuery object and throws TokyoTyrantException on error

Beispiele

Beispiel #1 TokyoTyrantQuery::__construct() example

<?php
$tt = new TokyoTyrantTable("localhost", 1979);

$query = new TokyoTyrantQuery($tt);

/* Work with $query */
?>

Siehe auch

  • TokyoTyrantTable::getQuery() - Get a query object

TokyoTyrantQuery::addCond
TokyoTyrantQuery::count
TokyoTyrantQuery


Counts records

TokyoTyrantQuery::__construct
TokyoTyrantQuery::current
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::count

(No version information available, might only be in Git)

TokyoTyrantQuery::count — Counts records

Beschreibung

public int TokyoTyrantQuery::count ( void )

Returns a count of how many records a query returns.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a count of matching rows and throws TokyoTyrantException on error

Beispiele

Beispiel #1 TokyoTyrantQuery::count() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "not here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Count the results */
var_dump($query->count());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(2)

Siehe auch

  • TokyoTyrantQuery::out() - Removes records based on query
  • TokyoTyrantQuery::search() - Searches records
  • TokyoTyrantQuery::metaSearch() - Retrieve records with multiple queries

TokyoTyrantQuery::__construct
TokyoTyrantQuery::current
TokyoTyrantQuery


Returns the current element

TokyoTyrantQuery::count
TokyoTyrantQuery::hint
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::current

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::current — Returns the current element

Beschreibung

public array TokyoTyrantQuery::current ( void )

Returns the current element. Part of Iterator interface

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current row

Beispiele

Beispiel #1 TokyoTyrantQuery iterator example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "foobar here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Iterate the results */
foreach ($query as $key => $value) {
    echo "pk: $key, columns: ", count($value) ,"\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

pk: 1, columns: 2
pk: 4, columns: 2

Siehe auch

  • TokyoTyrantQuery::addCond() - Adds a condition to the query

TokyoTyrantQuery::count
TokyoTyrantQuery::hint
TokyoTyrantQuery


Get the hint string of the query

TokyoTyrantQuery::current
TokyoTyrantQuery::key
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::hint

(No version information available, might only be in Git)

TokyoTyrantQuery::hint — Get the hint string of the query

Beschreibung

public string TokyoTyrantQuery::hint ( void )

Get the hint string of the query. The hint string contains information about an executed query and it could be compared to for example MySQL EXPLAIN statement.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

This method always returns a string

Beispiele

Beispiel #1 TokyoTyrantQuery::hint example

<?php
$tt = new TokyoTyrantTable("localhost", 1979);
$tt->vanish();

for ($i = 0; $i < 11; $i++) {
     $tt->put(null, array('a_col' => 'a' . $i, 'b_col' => 'b' . $i));
}

$query = $tt->getQuery();
$query->addCond('a_col', TokyoTyrant::RDBQC_STRBW, 'a');

$query->search();
var_dump($query->hint());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(72) "
scanning the whole table
result set size: 11
leaving the natural order
"

Siehe auch

  • TokyoTyrantQuery::addCond() - Adds a condition to the query

TokyoTyrantQuery::current
TokyoTyrantQuery::key
TokyoTyrantQuery


Returns the current key

TokyoTyrantQuery::hint
TokyoTyrantQuery::metaSearch
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::key

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::key — Returns the current key

Beschreibung

public string TokyoTyrantQuery::key ( void )

Returns the current key. Part of the Iterator interface

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current key and throws TokyoTyrantException on error

Beispiele

Beispiel #1 TokyoTyrantQuery iterator example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "foobar here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Iterate the results */
foreach ($query as $key => $value) {
    echo "pk: $key, columns: ", count($value) ,"\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

pk: 1, columns: 2
pk: 4, columns: 2

Siehe auch

  • TokyoTyrantQuery::addCond() - Adds a condition to the query

TokyoTyrantQuery::hint
TokyoTyrantQuery::metaSearch
TokyoTyrantQuery


Retrieve records with multiple queries

TokyoTyrantQuery::key
TokyoTyrantQuery::next
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::metaSearch

(No version information available, might only be in Git)

TokyoTyrantQuery::metaSearch — Retrieve records with multiple queries

Beschreibung

public array TokyoTyrantQuery::metaSearch ( array $queries , int $type )

Executes multiple queries on a database and returns matching records. The current object is always the left most object in the search.

Parameter-Liste

queries

Array of TokyoTyrantQuery objects

type

One of the TokyoTyrant::RDBMS_* constants

Rückgabewerte

Returns the matching rows and throws TokyoTyrantException on error

Beispiele

Beispiel #1 TokyoTyrantQuery::metaSearch() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add test data */
$tt->put('cherry',     array('color' => 'red'));
$tt->put('strawberry', array('color' => 'red'));
$tt->put('apple',      array('color' => 'green'));
$tt->put('lemon',      array('color' => 'yellow'));

/* First query */
$query = $tt->getQuery();
$query->addCond('color', TokyoTyrant::RDBQC_STREQ, 'red')->setOrder('color', TokyoTyrant::RDBQO_STRASC);

/* Second query */
$query1 = $tt->getQuery();
$query1->addCond('color', TokyoTyrant::RDBQC_STREQ, 'yellow');

/* Get union between the queries */
var_dump($query->metaSearch(array($query1), TokyoTyrant::RDBMS_UNION));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(3) {
  ["cherry"]=>
  array(1) {
    ["color"]=>
    string(3) "red"
  }
  ["strawberry"]=>
  array(1) {
    ["color"]=>
    string(3) "red"
  }
  ["lemon"]=>
  array(1) {
    ["color"]=>
    string(6) "yellow"
  }
}

Siehe auch

  • TokyoTyrantQuery::search() - Searches records

TokyoTyrantQuery::key
TokyoTyrantQuery::next
TokyoTyrantQuery


Moves the iterator to next entry

TokyoTyrantQuery::metaSearch
TokyoTyrantQuery::out
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::next

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::next — Moves the iterator to next entry

Beschreibung

public array TokyoTyrantQuery::next ( void )

Returns the next result in the resultset. Part of the Iterator interface.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the next row and throws TokyoTyrantException on error.

Beispiele

Beispiel #1 TokyoTyrantQuery iterator example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "foobar here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Iterate the results */
foreach ($query as $key => $value) {
    echo "pk: $key, columns: ", count($value) ,"\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

pk: 1, columns: 2
pk: 4, columns: 2

Siehe auch

  • TokyoTyrantQuery::addCond() - Adds a condition to the query

TokyoTyrantQuery::metaSearch
TokyoTyrantQuery::out
TokyoTyrantQuery


Removes records based on query

TokyoTyrantQuery::next
TokyoTyrantQuery::rewind
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::out

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::out — Removes records based on query

Beschreibung

public TokyoTyrantQuery TokyoTyrantQuery::out ( void )

Removes all records that match the query. Works exactly like search but removes the records instead of returning them.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

This method returns the current object and throws TokyoTyrantException on failure.

Beispiele

Beispiel #1 TokyoTyrantQuery::out() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "foobar here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Remove matching records */
$query->out();
?>

Siehe auch

  • TokyoTyrantQuery::addCond() - Adds a condition to the query

TokyoTyrantQuery::next
TokyoTyrantQuery::rewind
TokyoTyrantQuery


Rewinds the iterator

TokyoTyrantQuery::out
TokyoTyrantQuery::search
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::rewind

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::rewind — Rewinds the iterator

Beschreibung

public bool TokyoTyrantQuery::rewind ( void )

Rewind the resultset and executes the query if it has not been executed. Part of the Iterator interface.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE

Beispiele

Beispiel #1 TokyoTyrantQuery iterator example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "foobar here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Iterate the results */
foreach ($query as $key => $value) {
    echo "pk: $key, columns: ", count($value) ,"\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

pk: 1, columns: 2
pk: 4, columns: 2

Siehe auch

  • TokyoTyrantQuery::addCond() - Adds a condition to the query

TokyoTyrantQuery::out
TokyoTyrantQuery::search
TokyoTyrantQuery


Searches records

TokyoTyrantQuery::rewind
TokyoTyrantQuery::setLimit
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::search

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::search — Searches records

Beschreibung

public array TokyoTyrantQuery::search ( void )

Executes a search on the table database. Returns an array of arrays containing the matching records. In the returned array the first level is the primary key of the data and the second level is the row data.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the matching rows and throws TokyoTyrantException on error

Beispiele

Beispiel #1 TokyoTyrantQuery::search() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "not here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Dump the search results */
var_dump($query->search());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  [1]=>
  array(2) {
    ["column1"]=>
    string(9) "some data"
    ["column2"]=>
    string(14) "something here"
  }
  [4]=>
  array(2) {
    ["column45"]=>
    string(11) "random data"
    ["column2"]=>
    string(25) "something along the lines"
  }
}

Siehe auch

  • TokyoTyrantQuery::out() - Removes records based on query
  • TokyoTyrantQuery::metaSearch() - Retrieve records with multiple queries

TokyoTyrantQuery::rewind
TokyoTyrantQuery::setLimit
TokyoTyrantQuery


Limit results

TokyoTyrantQuery::search
TokyoTyrantQuery::setOrder
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::setLimit

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::setLimit — Limit results

Beschreibung

public mixed TokyoTyrantQuery::setLimit ([ int $max [, int $skip ]] )

Set the maximum amount of records to return on a query.

Parameter-Liste

max

Maximum amount of records. Default: -1

skip

How many records to skip from the start. Default: -1

Rückgabewerte

This method returns the current object and throws TokyoTyrantException on failure.

TokyoTyrantQuery::search
TokyoTyrantQuery::setOrder
TokyoTyrantQuery


Orders results

TokyoTyrantQuery::setLimit
TokyoTyrantQuery::valid
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::setOrder

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::setOrder — Orders results

Beschreibung

public mixed TokyoTyrantQuery::setOrder ( string $name , int $type )

Sets the order of a query

Parameter-Liste

name

The column name to apply the ordering on.

type

The type can be one of the following constants:

  • TokyoTyrant::RDBQO_STRASC - String ascending
  • TokyoTyrant::RDBQO_STRDESC - String descending
  • TokyoTyrant::RDBQO_NUMASC - Numberic ascending
  • TokyoTyrant::RDBQO_NUMDESC - String descending

Rückgabewerte

This method returns the current object.

TokyoTyrantQuery::setLimit
TokyoTyrantQuery::valid
TokyoTyrantQuery


Checks the validity of current item

TokyoTyrantQuery::setOrder
TokyoTyrantIterator
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::valid

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::valid — Checks the validity of current item

Beschreibung

public bool TokyoTyrantQuery::valid ( void )

Checks if the current item is valid. Part of the Iterator interface

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the current item is valid and FALSE if not.

Beispiele

Beispiel #1 TokyoTyrantQuery iterator example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "foobar here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Iterate the results */
foreach ($query as $key => $value) {
    echo "pk: $key, columns: ", count($value) ,"\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

pk: 1, columns: 2
pk: 4, columns: 2

Siehe auch

  • TokyoTyrantQuery::addCond() - Adds a condition to the query

TokyoTyrantQuery::setOrder
TokyoTyrantIterator
TokyoTyrantQuery


The TokyoTyrantIterator class

(PECL tokyo_tyrant >= 0.2.0)

Einführung

Provides an iterator for TokyoTyrant and TokyoTyrantTable objects. The iterator iterates over all keys and values in the database. TokyoTyrantIterator was added in version 0.2.0.

Klassenbeschreibung

TokyoTyrantIterator implements Iterator {
/* Methods */
public __construct ( mixed $object )
public mixed current ( void )
public mixed key ( void )
public mixed next ( void )
public void rewind ( void )
public bool valid ( void )
/* Inherited methods */
public number TokyoTyrant::add ( string $key , number $increment [, int $type = 0 ] )
public TokyoTyrant TokyoTyrant::connect ( string $host [, int $port = TokyoTyrant::RDBDEF_PORT [, array $options ]] )
public TokyoTyrant TokyoTyrant::connectUri ( string $uri )
public TokyoTyrant::__construct ([ string $host [, int $port = TokyoTyrant::RDBDEF_PORT [, array $options ]]] )
public TokyoTyrant TokyoTyrant::copy ( string $path )
public string TokyoTyrant::ext ( string $name , int $options , string $key , string $value )
public array TokyoTyrant::fwmKeys ( string $prefix , int $max_recs )
public mixed TokyoTyrant::get ( mixed $keys )
public TokyoTyrantIterator TokyoTyrant::getIterator ( void )
public int TokyoTyrant::num ( void )
public TokyoTyrant TokyoTyrant::out ( mixed $keys )
public TokyoTyrant TokyoTyrant::put ( mixed $keys [, string $value = NULL ] )
public TokyoTyrant TokyoTyrant::putCat ( mixed $keys [, string $value ] )
public TokyoTyrant TokyoTyrant::putKeep ( mixed $keys [, string $value ] )
public TokyoTyrant TokyoTyrant::putNr ( mixed $keys [, string $value = NULL ] )
public mixed TokyoTyrant::putShl ( string $key , string $value , int $width )
public mixed TokyoTyrant::restore ( string $log_dir , int $timestamp [, bool $check_consistency = true ] )
public mixed TokyoTyrant::setMaster ( string $host , int $port , int $timestamp [, bool $check_consistency = true ] )
public int TokyoTyrant::size ( string $key )
public array TokyoTyrant::stat ( void )
public mixed TokyoTyrant::sync ( void )
public TokyoTyrant TokyoTyrant::tune ( float $timeout [, int $options = TokyoTyrant::RDBT_RECON ] )
public mixed TokyoTyrant::vanish ( void )
}

Inhaltsverzeichnis

  • TokyoTyrantIterator::__construct — Construct an iterator
  • TokyoTyrantIterator::current — Get the current value
  • TokyoTyrantIterator::key — Returns the current key
  • TokyoTyrantIterator::next — Move to next key
  • TokyoTyrantIterator::rewind — Rewinds the iterator
  • TokyoTyrantIterator::valid — Rewinds the iterator
TokyoTyrantQuery::valid
TokyoTyrantIterator::__construct
tokyo_tyrant


Construct an iterator

TokyoTyrantIterator
TokyoTyrantIterator::current
TokyoTyrantIterator
PHP Manual

TokyoTyrantIterator::__construct

(PECL tokyo_tyrant >= 0.2.0)

TokyoTyrantIterator::__construct — Construct an iterator

Beschreibung

public TokyoTyrantIterator::__construct ( mixed $object )

Construct a new TokyoTyrantIterator object. One connection can have multiple iterators but it is not quaranteed that all items are traversed in that case. object parameter can be either an of instance TokyoTyrant or TokyoTyrantTable.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Throws an exception if iterator initialization fails.

Beispiele

Beispiel #1 TokyoTyrantIterator::__construct() example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Passing null to put generates a new uid */
$index = $tt->put(null, array("column1" => "some data", "column2" => "more data"));

/* Construct an iterator */
$it = new TokyoTyrantIterator($tt);

foreach ($it as $value) {
    var_dump($value);
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  ["column1"]=>
  string(9) "some data"
  ["column2"]=>
  string(9) "more data"
}

Siehe auch

  • TokyoTyrantIterator::key() - Returns the current key
  • TokyoTyrantIterator::current() - Get the current value
  • TokyoTyrantIterator::next() - Move to next key
  • TokyoTyrantIterator::rewind() - Rewinds the iterator
  • TokyoTyrantIterator::key() - Returns the current key

TokyoTyrantIterator
TokyoTyrantIterator::current
TokyoTyrantIterator


Get the current value

TokyoTyrantIterator::__construct
TokyoTyrantIterator::key
TokyoTyrantIterator
PHP Manual

TokyoTyrantIterator::current

(PECL tokyo_tyrant >= 0.2.0)

TokyoTyrantIterator::current — Get the current value

Beschreibung

public mixed TokyoTyrantIterator::current ( void )

Returns the current value during iteration.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current value on success and false on failure.

Siehe auch

  • TokyoTyrantIterator::valid() - Rewinds the iterator
  • TokyoTyrantIterator::key() - Returns the current key
  • TokyoTyrantIterator::next() - Move to next key
  • TokyoTyrantIterator::rewind() - Rewinds the iterator

TokyoTyrantIterator::__construct
TokyoTyrantIterator::key
TokyoTyrantIterator


Returns the current key

TokyoTyrantIterator::current
TokyoTyrantIterator::next
TokyoTyrantIterator
PHP Manual

TokyoTyrantIterator::key

(PECL tokyo_tyrant >= 0.2.0)

TokyoTyrantIterator::key — Returns the current key

Beschreibung

public mixed TokyoTyrantIterator::key ( void )

Returns the current key.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current key on success and false on failure.

Siehe auch

  • TokyoTyrantIterator::valid() - Rewinds the iterator
  • TokyoTyrantIterator::current() - Get the current value
  • TokyoTyrantIterator::next() - Move to next key
  • TokyoTyrantIterator::rewind() - Rewinds the iterator

TokyoTyrantIterator::current
TokyoTyrantIterator::next
TokyoTyrantIterator


Move to next key

TokyoTyrantIterator::key
TokyoTyrantIterator::rewind
TokyoTyrantIterator
PHP Manual

TokyoTyrantIterator::next

(PECL tokyo_tyrant >= 0.2.0)

TokyoTyrantIterator::next — Move to next key

Beschreibung

public mixed TokyoTyrantIterator::next ( void )

Move to next key during iteration and return it's value.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the next value on success and false on failure.

Siehe auch

  • TokyoTyrantIterator::valid() - Rewinds the iterator
  • TokyoTyrantIterator::key() - Returns the current key
  • TokyoTyrantIterator::current() - Get the current value
  • TokyoTyrantIterator::rewind() - Rewinds the iterator

TokyoTyrantIterator::key
TokyoTyrantIterator::rewind
TokyoTyrantIterator


Rewinds the iterator

TokyoTyrantIterator::next
TokyoTyrantIterator::valid
TokyoTyrantIterator
PHP Manual

TokyoTyrantIterator::rewind

(PECL tokyo_tyrant >= 0.2.0)

TokyoTyrantIterator::rewind — Rewinds the iterator

Beschreibung

public void TokyoTyrantIterator::rewind ( void )

Rewinds the iterator for new iteration. Called automatically at the beginning of foreach.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Throws TokyoTyrantException if iterator initialization fails.

Siehe auch

  • TokyoTyrantIterator::valid() - Rewinds the iterator
  • TokyoTyrantIterator::current() - Get the current value
  • TokyoTyrantIterator::next() - Move to next key
  • TokyoTyrantIterator::rewind()

TokyoTyrantIterator::next
TokyoTyrantIterator::valid
TokyoTyrantIterator


Rewinds the iterator

TokyoTyrantIterator::rewind
TokyoTyrantException
TokyoTyrantIterator
PHP Manual

TokyoTyrantIterator::valid

(PECL tokyo_tyrant >= 0.2.0)

TokyoTyrantIterator::valid — Rewinds the iterator

Beschreibung

public bool TokyoTyrantIterator::valid ( void )

Checks whether the internal pointer points to valid element.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the current item is valid and FALSE if not.

Siehe auch

  • TokyoTyrantIterator::key() - Returns the current key
  • TokyoTyrantIterator::current() - Get the current value
  • TokyoTyrantIterator::next() - Move to next key
  • TokyoTyrantIterator::rewind() - Rewinds the iterator

TokyoTyrantIterator::rewind
TokyoTyrantException
TokyoTyrantIterator


The TokyoTyrantException class

(PECL tokyo_tyrant >= 0.1.0)

Einführung

TokyoTyrantException

Klassenbeschreibung

tokyotyrantexception extends Exception {
/* Eigenschaften */
protected int $code ;
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Eigenschaften

code

The exception code. This can be compared to TokyoTyrant::TTE_* constants

TokyoTyrantIterator::valid
Datums- und zeitrelevante Erweiterungen
tokyo_tyrant


Datums- und zeitrelevante Erweiterungen

  • Kalender
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Calendar Funktionen
  • Datum/Uhrzeit — Datum und Uhrzeit
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • DateTime — Die DateTime Klasse
    • DateTimeImmutable — Die DateTimeImmutable Klasse
    • DateTimeInterface — Das DateTimeInterface Interface
    • DateTimeZone — Die DateTimeZone Klasse
    • DateInterval — Die DateInterval Klasse
    • DatePeriod — Die DatePeriod Klasse
    • Datum/Uhrzeit Funktionen
    • Supported Date and Time Formats
    • Liste unterstützter Zeitzonen
  • HRTime — High resolution timing
    • Einführung
    • Installation/Konfiguration
    • Beispiele
    • HRTime\PerformanceCounter — The HRTime\PerformanceCounter class
    • HRTime\StopWatch — The HRTime\StopWatch class
    • HRTime\Unit — The HRTime\Unit class
TokyoTyrantException
Kalender
Funktionsreferenz


Kalender

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Calendar Funktionen
    • cal_days_in_month — Gibt die Anzahl der Tage eines bestimmten Monats in einem bestimmten Jahr in einem bestimmten Kalender zurück
    • cal_from_jd — Konvertiert von Julian Day Count zu einem unterstützten Kalender
    • cal_info — Gibt Informationen zu einem bestimmten Kalender zurück
    • cal_to_jd — Konvertiert von einem unterstützten Kalenderformat in Julian-Format
    • easter_date — Zeitpunkt des Osterfestes (0 Uhr) als Unix-Timestamp
    • easter_days — Anzahl der Tage zwischen dem 21. März und Ostersonntag
    • frenchtojd — Konvertiert ein Datum des Französischen Revolutionskalenders zu einer julianischen Tageszahl
    • gregoriantojd — Konvertierung vom Gregorianischen Kalender zum Julianischen Datum
    • jddayofweek — Bestimmt den Wochentag aus einem Julianischen Datum
    • jdmonthname — Bestimmt den Monat aus dem Julianischen Datum
    • jdtofrench — Konvertiert ein Julianisches Datum zum Kalender der Französischen Revolution
    • jdtogregorian — Konvertierung vom Julianischen Datum zum Gregorianischen Kalender
    • jdtojewish — Konvertierung vom Julianischen Datum zum Jüdischen Kalender
    • jdtojulian — Konvertierung vom Julianischen Datum zum Julianischen Kalender
    • jdtounix — Konvertiert Julianisches Datum in Unix-Timestamp
    • jewishtojd — Konvertiert vom Jüdischen Kalender zum Julianischen Datum
    • juliantojd — Konvertierung vom Julianischen Kalender zum Julianischen Datum
    • unixtojd — Konvertiert Unix-Timestamp in Julianisches Datum
Datums- und zeitrelevante Erweiterungen
Einführung
Datums- und zeitrelevante Erweiterungen


Einführung

Die Kalender-Extension enthält eine Reihe von Funktionen, mit denen die Umwandlung zwischen verschiedenen Kalenderformaten vereinfacht wird. Die Umwandlung basiert dabei auf einer zwischengeschalteten Umrechnung in das Julianische Datum (J.D.). Das Julianische Datum zählt die seit dem ersten Januar 4713 vor Christus vergangenen Tage. Um ein Datum von einem Kalender in einen anderen umzurechnen, müssen Sie es zunächst in das entsprechende Julianische Datum konvertieren und von da aus weiter in den gewünschten Kalender. Beachten Sie das das Julianische Datum und der Julianische Kalender zwei komplett unterschiedliche Dinge sind. Nähere Informationen zum Julianischen Datum finden Sie unter » http://www.hermetic.ch/cal_stud/jdn.htm. Weitere Informationen zu verschiedenen Kalendersystemen finden Sie unter » http://www.fourmilab.ch/documents/calendar/. Auszüge aus dieser Seite sind in die folgende Dokumentation eingearbeitet und als Zitat markiert.

Kalender
Installation/Konfiguration
Kalender


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Kalender


Installation

Um diese Funktionen nutzen zu können müssen sie PHP mit --enable-calendar kompilieren.

Die Windowsversion von PHP enthält diese Erweiterung. Um diese Funktionen zu verwenden, müssen Sie keine zusätzlichen Erweiterungen aktivieren.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

CAL_EASTER_DEFAULT (integer)
CAL_EASTER_ROMAN (integer)
CAL_EASTER_ALWAYS_GREGORIAN (integer)
CAL_EASTER_ALWAYS_JULIAN (integer)
CAL_GREGORIAN (integer)
CAL_JULIAN (integer)
CAL_JEWISH (integer)
CAL_JEWISH_ADD_ALAFIM_GERESH (integer)
CAL_JEWISH_ADD_ALAFIM (integer)
CAL_JEWISH_ADD_GERESHAYIM (integer)
CAL_FRENCH (integer)
CAL_NUM_CALS (integer)
CAL_DOW_DAYNO (integer)
CAL_DOW_SHORT (integer)
CAL_DOW_LONG (integer)
CAL_MONTH_GREGORIAN_SHORT (integer)
CAL_MONTH_GREGORIAN_LONG (integer)
CAL_MONTH_JULIAN_SHORT (integer)
CAL_MONTH_JULIAN_LONG (integer)
CAL_MONTH_JEWISH (integer)
CAL_MONTH_FRENCH (integer)
Ressource-Typen
Calendar Funktionen
Kalender


Calendar Funktionen

Inhaltsverzeichnis

  • cal_days_in_month — Gibt die Anzahl der Tage eines bestimmten Monats in einem bestimmten Jahr in einem bestimmten Kalender zurück
  • cal_from_jd — Konvertiert von Julian Day Count zu einem unterstützten Kalender
  • cal_info — Gibt Informationen zu einem bestimmten Kalender zurück
  • cal_to_jd — Konvertiert von einem unterstützten Kalenderformat in Julian-Format
  • easter_date — Zeitpunkt des Osterfestes (0 Uhr) als Unix-Timestamp
  • easter_days — Anzahl der Tage zwischen dem 21. März und Ostersonntag
  • frenchtojd — Konvertiert ein Datum des Französischen Revolutionskalenders zu einer julianischen Tageszahl
  • gregoriantojd — Konvertierung vom Gregorianischen Kalender zum Julianischen Datum
  • jddayofweek — Bestimmt den Wochentag aus einem Julianischen Datum
  • jdmonthname — Bestimmt den Monat aus dem Julianischen Datum
  • jdtofrench — Konvertiert ein Julianisches Datum zum Kalender der Französischen Revolution
  • jdtogregorian — Konvertierung vom Julianischen Datum zum Gregorianischen Kalender
  • jdtojewish — Konvertierung vom Julianischen Datum zum Jüdischen Kalender
  • jdtojulian — Konvertierung vom Julianischen Datum zum Julianischen Kalender
  • jdtounix — Konvertiert Julianisches Datum in Unix-Timestamp
  • jewishtojd — Konvertiert vom Jüdischen Kalender zum Julianischen Datum
  • juliantojd — Konvertierung vom Julianischen Kalender zum Julianischen Datum
  • unixtojd — Konvertiert Unix-Timestamp in Julianisches Datum
Vordefinierte Konstanten
cal_days_in_month
Kalender


Gibt die Anzahl der Tage eines bestimmten Monats in einem bestimmten Jahr in einem bestimmten Kalender zurück

Calendar Funktionen
cal_from_jd
Calendar Funktionen
PHP Manual

cal_days_in_month

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

cal_days_in_month — Gibt die Anzahl der Tage eines bestimmten Monats in einem bestimmten Jahr in einem bestimmten Kalender zurück

Beschreibung

int cal_days_in_month ( int $calendar , int $month , int $year )

Diese Funktion gibt die Anzahl der Tage in einem Monat eines Jahres für den angegebenen Kalender zurück.

Parameter-Liste

calendar

Der zu benutzende Kalender

month

Der Monat im gewünschten Kalender

year

Das Jahr im gewünschten Kalender

Rückgabewerte

Die Länge des Monats im gewünschten Kalender in Tagen

Beispiele

Beispiel #1 cal_days_in_month() Beispiel

<?php
$number = cal_days_in_month(CAL_GREGORIAN, 8, 2003); // 31
echo "August 2003 hatte {$number} Tage";
?>

Calendar Funktionen
cal_from_jd
Calendar Funktionen


Konvertiert von Julian Day Count zu einem unterstützten Kalender

cal_days_in_month
cal_info
Calendar Funktionen
PHP Manual

cal_from_jd

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

cal_from_jd — Konvertiert von Julian Day Count zu einem unterstützten Kalender

Beschreibung

array cal_from_jd ( int $jd , int $calendar )

cal_from_jd() Konvertiert den Julian-Tag gegeben in jd in ein Datum des calendar. Unterstützte calendar Werte sind CAL_GREGORIAN, CAL_JULIAN, CAL_JEWISH und CAL_FRENCH.

Parameter-Liste

jd

Julian Tag als Integer(Ganzzahl)

calendar

Zu konvertierender Kalender.

Rückgabewerte

Gibt ein Array zurück, das Kalenderinformationen enthält, wie z.B. Monat, Tag, Jahr, Tag der Woche, abgekürzter und ausgeschriebener Wochentag und Monat und das Datum in einer String-Form wie "month/day/year".

Beispiele

Beispiel #1 cal_from_jd() Beispiel

<?php
$today = unixtojd(mktime(0, 0, 0, 8, 16, 2003));
print_r(cal_from_jd($today, CAL_GREGORIAN));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [date] => 8/16/2003
    [month] => 8
    [day] => 16
    [year] => 2003
    [dow] => 6
    [abbrevdayname] => Sat
    [dayname] => Saturday
    [abbrevmonth] => Aug
    [monthname] => August
)

Siehe auch

  • cal_to_jd() - Konvertiert von einem unterstützten Kalenderformat in Julian-Format
  • jdtofrench() - Konvertiert ein Julianisches Datum zum Kalender der Französischen Revolution
  • jdtogregorian() - Konvertierung vom Julianischen Datum zum Gregorianischen Kalender
  • jdtojewish() - Konvertierung vom Julianischen Datum zum Jüdischen Kalender
  • jdtojulian() - Konvertierung vom Julianischen Datum zum Julianischen Kalender
  • jdtounix() - Konvertiert Julianisches Datum in Unix-Timestamp

cal_days_in_month
cal_info
Calendar Funktionen


Gibt Informationen zu einem bestimmten Kalender zurück

cal_from_jd
cal_to_jd
Calendar Funktionen
PHP Manual

cal_info

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

cal_info — Gibt Informationen zu einem bestimmten Kalender zurück

Beschreibung

array cal_info ([ int $calendar = -1 ] )

cal_info() liefert Informationen zum angegebenen Kalender calendar.

Kalenderinformationen werden als ein Array mit den Elementen calname, calsymbol, month, abbrevmonth und maxdaysinmonth zurückgegeben. Als Parameter calendar können folgende Konstanten benutzt werden:

  • 0 oder CAL_GREGORIAN - Gregorianischer Kalender
  • 1 oder CAL_JULIAN - Julianischer Kalender
  • 2 oder CAL_JEWISH - Jüdischer Kalender
  • 3 oder CAL_FRENCH - Kalender der französischen Revolution

Wird kein calendar spezifiziert so werden Informationen über alle unterstützten Kalender als Array zurückgegeben. Diese Funktionalität existiert seit PHP 5.

Parameter-Liste

calendar

Der Kalender für den Informationen zurückgegeben werden sollen. Wird kein Kalender angegeben so werden Informationen für alle Kalender zurckgegeben.

Rückgabewerte

Beispiele

Beispiel #1 cal_info() Beispiel

<?php
$info = cal_info(0);
print_r($info);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [months] => Array
        (
            [1] => January
            [2] => February
            [3] => March
            [4] => April
            [5] => May
            [6] => June
            [7] => July
            [8] => August
            [9] => September
            [10] => October
            [11] => November
            [12] => December
        )

    [abbrevmonths] => Array
        (
            [1] => Jan
            [2] => Feb
            [3] => Mar
            [4] => Apr
            [5] => May
            [6] => Jun
            [7] => Jul
            [8] => Aug
            [9] => Sep
            [10] => Oct
            [11] => Nov
            [12] => Dec
        )

    [maxdaysinmonth] => 31
    [calname] => Gregorian
    [calsymbol] => CAL_GREGORIAN
)

cal_from_jd
cal_to_jd
Calendar Funktionen


Konvertiert von einem unterstützten Kalenderformat in Julian-Format

cal_info
easter_date
Calendar Funktionen
PHP Manual

cal_to_jd

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

cal_to_jd — Konvertiert von einem unterstützten Kalenderformat in Julian-Format

Beschreibung

int cal_to_jd ( int $calendar , int $month , int $day , int $year )

cal_to_jd() errechnet den Julian-Tag für ein Datum in calendar. Unterstützte calendar sind CAL_GREGORIAN, CAL_JULIAN, CAL_JEWISH und CAL_FRENCH.

Parameter-Liste

calendar

Der zu konvertierende Kalender, einer aus CAL_GREGORIAN, CAL_JULIAN, CAL_JEWISH oder CAL_FRENCH.

month

Der Monat als Nummer, die gültige Begrenzung ist abhängig von calendar.

day

Der Tag als Nummer, die gültige Begrenzung ist abhängig von calendar.

year

Jahr als Nummer, die gültige Begrenzung hängt ab von calendar.

Rückgabewerte

Die Julian Tag-Nummer

Siehe auch

  • cal_from_jd() - Konvertiert von Julian Day Count zu einem unterstützten Kalender
  • frenchtojd() - Konvertiert ein Datum des Französischen Revolutionskalenders zu einer julianischen Tageszahl
  • gregoriantojd() - Konvertierung vom Gregorianischen Kalender zum Julianischen Datum
  • jewishtojd() - Konvertiert vom Jüdischen Kalender zum Julianischen Datum
  • juliantojd() - Konvertierung vom Julianischen Kalender zum Julianischen Datum
  • unixtojd() - Konvertiert Unix-Timestamp in Julianisches Datum

cal_info
easter_date
Calendar Funktionen


Zeitpunkt des Osterfestes (0 Uhr) als Unix-Timestamp

cal_to_jd
easter_days
Calendar Funktionen
PHP Manual

easter_date

(PHP 4, PHP 5, PHP 7)

easter_date — Zeitpunkt des Osterfestes (0 Uhr) als Unix-Timestamp

Beschreibung

int easter_date ([ int $year = date("Y") ] )

Diese Funktion liefert den Unix-Timestamp (in Sekunden seit 1970) zurück, der dem Begin des Ostersonntag im durch year spezifizierten Jahr entspricht.

Warnung

Liegt das angegebene Jahr vor 1970 oder nach 2037 (auf 32 bit-Systemen), so wird eine Warnung ausgegeben und das Ergebnis ist nicht gültig.

Das Datum des Osterfestes wurde im Jahre 325 auf dem Konzil von Nicaea auf den ersten Sonntag nach Frühlingsvollmond, also dem Vollmond während oder direkt nach der Tagundnachtgleiche am 21. März, festgelegt. Der hier genutzte Algorithmus wurde um das Jahr 532 von Dionysius Exiguus eingeführt. Bis zum Jahr 1752 wird nach dem Julianischen Kalender ein einfacher 19jähriger Zyklus für die Bestimmung der Mondphasen benutzt. Im September 1752 übernahmen dann auch Britannien und seine Kolonien den von Clavius und Lilius vorgeschlagenen und im Oktober 1582 von Papst Gregor dem XIII. eingeführten Gregorianischen Kalender. Hierdurch wurden zwei Korrekturfaktoren eingeführt, um den Zyklus genauer abzubilden.

Parameter-Liste

year

Das Jahr als Zahl zwischen 1970 und 2037. Wenn nicht angegeben, wird das aktuelle Jahr gemäß der lokalen Zeit verwendet.

Rückgabewerte

Das Osterdatum als Unix Timestamp.

Beispiele

Beispiel #1 easter_date() Beispiel

<?php

echo date("M-d-Y", easter_date(1999));        // Apr-04-1999
echo date("M-d-Y", easter_date(2000));        // Apr-23-2000
echo date("M-d-Y", easter_date(2001));        // Apr-15-2001

?>

Anmerkungen

Hinweis:

easter_date() verlässt sich auf die Zeitfunktionen der C Bibliothek des Systems anstatt die internen Datums- und Zeitfunktionen von PHP zu verwenden. Infolgedessen verwendet easter_date() die TZ Umgebungsvariable um die Zeitzone zu bestimmen, in der sie arbeiten soll, anstatt PHPs default time zone zu verwenden, was unerwartetes Verhalten zur Folge haben kann, wenn diese Funktion in Verbindung mit anderen Datumsfunktionen in PHP verwendet wird.

Als Workaround kann easter_days() mit DateTime und DateInterval verwendet werden, um den Beginn von Ostern in Ihrer PHP Zeitzone wie folgt zu berechnen:

<?php
function get_easter_datetime($year) {
    $base = new DateTime("$year-03-21");
    $days = easter_days($year);

    return $base->add(new DateInterval("P{$days}D"));
}

foreach (range(2012, 2015) as $year) {
    printf("Ostern %d ist am %s\n",
           $year,
           get_easter_datetime($year)->format('j.n.'));
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Ostern 2012 ist am 8.4.
Ostern 2013 ist am 31.3.
Ostern 2014 ist am 20.4.
Ostern 2015 ist am 5.4.

Siehe auch

  • easter_days() - Anzahl der Tage zwischen dem 21. März und Ostersonntag zur Berechnung des Osterdatums vor 1970 oder nach 2037

cal_to_jd
easter_days
Calendar Funktionen


Anzahl der Tage zwischen dem 21. März und Ostersonntag

easter_date
frenchtojd
Calendar Funktionen
PHP Manual

easter_days

(PHP 4, PHP 5, PHP 7)

easter_days — Anzahl der Tage zwischen dem 21. März und Ostersonntag

Beschreibung

int easter_days ([ int $year = date("Y") [, int $method = CAL_EASTER_DEFAULT ]] )

Berechnet die Anzahl der Tage zwischen dem 21. März und Ostersonntag für das Jahr year.

Die Funktion kann an Stelle von easter_date() genutzt werden um auch für Jahre außerhalb des Wertebereichs von Unix Timestamps (also vor 1970 bzw. nach 2037) das Osterdatum zu bestimmen.

Das Osterdatum wurde von dem Konzil von Nicea im Jahr 325 auf den ersten Sonntag nach dem ersten Frühlingsvollmond nach der Tag- und Nachtgleiche festgelegt. Es wird dabei angenommen das die Tag- und Nachtgleiche immer auf den 21. März fällt so daß sich die Berechnung auf die Bestimmung des nächsten Vollmonds und des darauf folgenden Sonntags reduziert. Die dazu benutzten Algorithmen wurden um das Jahr 532 von Dionysius Exiguus eingeführt. Innerhalb des Julianischen Kalenders (für Jahre vor 1753) wird der Bestimmung der Mondphasen ein einfacher Zyklus von 19 Jahren zugrunde gelegt. Im Gregorianischen Kalender (für Jahre nach 1753 - erdacht von Clavius und Lilius, zuerst eingeführt von Papst Gregor XIII im Oktober 1582 und im September 1752 auch von Britanien und seinen Kolonien übernommen) wurden zwei zusätzliche Korrekturfaktoren eingeführt um die Genauigkeit der Berechnungen zu erhöhen.

Parameter-Liste

year

Das Jahr als eine Zahl größer 0. Wenn nicht angegeben, wird das aktuelle Jahr gemäß der lokalen Zeit verwendet.

method

Ermöglicht die Berechnung auf Basis des Gregorianischen Kalenders für den Zeitraum von 1582 bis 1752 wenn CAL_EASTER_ROMAN übergeben wird. Eine vollständige Liste der Kalenderkonstanten finden Sie unter calendar constants.

Rückgabewerte

Die Anzahl der Tage die der Ostersonntag im gegebenen Jahr hinter dem 21ten März liegt.

Beispiele

Beispiel #1 easter_days() Beispiel

<?php

echo easter_days(1999);        // 14, also April 4
echo easter_days(1492);        // 32, also April 22
echo easter_days(1913);        //  2, also March 23

?>

Siehe auch

  • easter_date() - Zeitpunkt des Osterfestes (0 Uhr) als Unix-Timestamp

easter_date
frenchtojd
Calendar Funktionen


Konvertiert ein Datum des Französischen Revolutionskalenders zu einer julianischen Tageszahl

easter_days
gregoriantojd
Calendar Funktionen
PHP Manual

frenchtojd

(PHP 4, PHP 5, PHP 7)

frenchtojd — Konvertiert ein Datum des Französischen Revolutionskalenders zu einer julianischen Tageszahl

Beschreibung

int frenchtojd ( int $month , int $day , int $year )

Konvertiert ein Datum des Französischen Revolutionskalenders zu einer julianischen Tageszahl.

Diese Routinen verarbeiten nur Daten der Jahre 1 bis 14 (22. September 1792 bis 22. September 1806 im Gregorianischen Kalender). Dieser Zeitraum geht aber immer noch über die Lebensdauer des Revolutionskalenders hinaus.

Parameter-Liste

month

Der Monat als Zahl von 1 (für Vendémiaire) bis 13 (für den Zeitraum von 5-6 Tagen am Ende jeden Jahres)

day

Der Tag als Zahl von 1 bis 30

year

Das Jahr als Zahl von 1 bis 14

Rückgabewerte

Der Julianische Tag für das übergebene Französische Revolutionsdatum als Integer.

Siehe auch

  • jdtofrench() - Konvertiert ein Julianisches Datum zum Kalender der Französischen Revolution
  • cal_to_jd() - Konvertiert von einem unterstützten Kalenderformat in Julian-Format

easter_days
gregoriantojd
Calendar Funktionen


Konvertierung vom Gregorianischen Kalender zum Julianischen Datum

frenchtojd
jddayofweek
Calendar Funktionen
PHP Manual

gregoriantojd

(PHP 4, PHP 5, PHP 7)

gregoriantojd — Konvertierung vom Gregorianischen Kalender zum Julianischen Datum

Beschreibung

int gregoriantojd ( int $month , int $day , int $year )

Diese Funktion konvertiert das in month, day und year übergebene Datum im Gregorianischen Kalender in einen Tag im Julianischen Datum.

Gültige Daten liegen im Bereich von 4714 v. Chr. bis 9999 n. Chr. Der Gregorianische Kalender wurde allerdings erst am 15. Oktober 1582 (bzw. am 5. Oktober nach dem bis dahin gültigen Julianischen Kalender) von Papst Gregor XIII. eingeführt, in einigen Ländern erst sehr viel später. So übernahmen die Briten den Gregorianischen Kalender 1752, die UDSSR 1918 und Griechenland erst im Jahre 1923. In den meisten europäischen Ländern wurde vor dem Gregorianischen der Julianische Kalender benutzt.

Parameter-Liste

month

Der Monat als Zahl zwischen 1 (für Januar) und 12 (für Dezember)

day

Der Tag als Zahl zwischen 1 und 31

year

Das Jahr als Zahl zwischen -4714 und 9999

Rückgabewerte

Der Julianische Tag für das gegebene Gregorianische Datum als Integer.

Beispiele

Beispiel #1 Caledar Funktionen

<?php
$jd = GregorianToJD(10, 11, 1970);
echo "$jd\n";
$gregorian = JDToGregorian($jd);
echo "$gregorian\n";
?>

Siehe auch

  • jdtogregorian() - Konvertierung vom Julianischen Datum zum Gregorianischen Kalender
  • cal_to_jd() - Konvertiert von einem unterstützten Kalenderformat in Julian-Format

frenchtojd
jddayofweek
Calendar Funktionen


Bestimmt den Wochentag aus einem Julianischen Datum

gregoriantojd
jdmonthname
Calendar Funktionen
PHP Manual

jddayofweek

(PHP 4, PHP 5, PHP 7)

jddayofweek — Bestimmt den Wochentag aus einem Julianischen Datum

Beschreibung

mixed jddayofweek ( int $julianday [, int $mode = CAL_DOW_DAYNO ] )

Diese Funktion bestimmt den Wochentag für den in julianday übergebenen Tag im Julianischen Datum. Die Ausgabe erfolgt in Abhängigkeit von mode als integer oder string.

Parameter-Liste

julianday

Ein Julianischer Tag als Integer

mode
Calendar Wochenmodi
Modus | Bedeutung
0 (Default) | Rückgabe des Wochentages als Zahl (0=Sonntag, 1=Montag, etc.)
1 | Rückgabe des Wochentages als String (in Englisch) (English-Gregorian)
2 | Rückgabe des Wochentages als abgekürzter String (in Englisch)

Rückgabewerte

Der Gregorianische Wochentag als Integer oder String.

gregoriantojd
jdmonthname
Calendar Funktionen


Bestimmt den Monat aus dem Julianischen Datum

jddayofweek
jdtofrench
Calendar Funktionen
PHP Manual

jdmonthname

(PHP 4, PHP 5, PHP 7)

jdmonthname — Bestimmt den Monat aus dem Julianischen Datum

Beschreibung

string jdmonthname ( int $julianday , int $mode )

Diese Funktion bestimmt den Monatsnamen für den in julianday übergebenen Tag im Julianischen Datum. Die Ausgabe erfolgt als String in Abhängigkeit von mode.

Mögliche mode-Werte
Modus | Bedeutung | Werte
0 | Gregorianisch (Abk.) | Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
1 | Gregorianisch | January, February, March, April, May, June, July, August, September, October, November, December
2 | Julianisch - (Abk.) | Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
3 | Julianisch | January, February, March, April, May, June, July, August, September, October, November, December
4 | Jüdisch | Tishri, Heshvan, Kislev, Tevet, Shevat, AdarI, AdarII, Nisan, Iyyar, Sivan, Tammuz, Av, Elul
5 | Französisch revolutionär | Vendemiaire, Brumaire, Frimaire, Nivose, Pluviose, Ventose, Germinal, Floreal, Prairial, Messidor, Thermidor, Fructidor, Extra

Parameter-Liste

jday

Ein Julianischer Tag als Integer

calendar

Der zu verwendende Kalender

Rückgabewerte

Der Monatsname für den gegebenen Julianischen Tag im gewünschten calendar

jddayofweek
jdtofrench
Calendar Funktionen


Konvertiert ein Julianisches Datum zum Kalender der Französischen Revolution

jdmonthname
jdtogregorian
Calendar Funktionen
PHP Manual

jdtofrench

(PHP 4, PHP 5, PHP 7)

jdtofrench — Konvertiert ein Julianisches Datum zum Kalender der Französischen Revolution

Beschreibung

string jdtofrench ( int $juliandaycount )

Konvertiert ein Julianisches Datum zum Kalender der Französischen Revolution

Parameter-Liste

julianday

Ein Julianischer Tag als Integer

Rückgabewerte

Ein Französisches Revolutionsdatum als String in der Form "Monat/Tag/Yahr"

Siehe auch

  • frenchtojd() - Konvertiert ein Datum des Französischen Revolutionskalenders zu einer julianischen Tageszahl
  • cal_from_jd() - Konvertiert von Julian Day Count zu einem unterstützten Kalender

jdmonthname
jdtogregorian
Calendar Funktionen


Konvertierung vom Julianischen Datum zum Gregorianischen Kalender

jdtofrench
jdtojewish
Calendar Funktionen
PHP Manual

jdtogregorian

(PHP 4, PHP 5, PHP 7)

jdtogregorian — Konvertierung vom Julianischen Datum zum Gregorianischen Kalender

Beschreibung

string jdtogregorian ( int $julianday )

Diese Funktion konvertiert den in julianday angegebenen Tag im Julianischen Datum in einen String, der das Datum nach dem Gregorianischen Kalender in der Form "MM/DD/YYYY" enthält.

Parameter-Liste

julianday

Ein Julianischer Tag als Integer

Rückgabewerte

Ein Gregorianisches Datum als String der Form "Monat/Tag/Jahr"

Siehe auch

  • gregoriantojd() - Konvertierung vom Gregorianischen Kalender zum Julianischen Datum
  • cal_from_jd() - Konvertiert von Julian Day Count zu einem unterstützten Kalender

jdtofrench
jdtojewish
Calendar Funktionen


Konvertierung vom Julianischen Datum zum Jüdischen Kalender

jdtogregorian
jdtojulian
Calendar Funktionen
PHP Manual

jdtojewish

(PHP 4, PHP 5, PHP 7)

jdtojewish — Konvertierung vom Julianischen Datum zum Jüdischen Kalender

Beschreibung

string jdtojewish ( int $juliandaycount [, bool $hebrew = false [, int $fl = 0 ]] )

Diese Funktion konvertiert den in julianday angegebenen Tag im Julianischen Datum in den Jüdischen Kalender.

Parameter-Liste

julianday

Ein Julianischer Tag als Integer

hebrew

Wird dieser Parameter auf TRUE gesetzt, so wird das Jüdische Datum als Hebräischer String gemäß dem im Parameter fl festgelegten Format zurückgegeben.

fl

Die verfügbaren Ausgabeformate sind: CAL_JEWISH_ADD_ALAFIM_GERESH, CAL_JEWISH_ADD_ALAFIM, CAL_JEWISH_ADD_GERESHAYIM.

Rückgabewerte

Das Jüdische Datum als String in der Form "Monat/Tag/Jahr"

Beispiele

Beispiel #1 jdtojewish()-Beispiel

<?php
echo jdtojewish(gregoriantojd(10, 8, 2002), true,
       CAL_JEWISH_ADD_GERESHAYIM + CAL_JEWISH_ADD_ALAFIM + CAL_JEWISH_ADD_ALAFIM_GERESH);
?>

Siehe auch

  • jewishtojd() - Konvertiert vom Jüdischen Kalender zum Julianischen Datum
  • cal_from_jd() - Konvertiert von Julian Day Count zu einem unterstützten Kalender

jdtogregorian
jdtojulian
Calendar Funktionen


Konvertierung vom Julianischen Datum zum Julianischen Kalender

jdtojewish
jdtounix
Calendar Funktionen
PHP Manual

jdtojulian

(PHP 4, PHP 5, PHP 7)

jdtojulian — Konvertierung vom Julianischen Datum zum Julianischen Kalender

Beschreibung

string jdtojulian ( int $julianday )

Diese Funktion konvertiert den in julianday angegebenen Tag im Julianischen Datum in einen String, der das entsprechnde Datum im Julianischen Kalender in der Form "MM/DD/YYYY" enthält.

Parameter-Liste

julianday

Ein Julianischer Tag als Integer

Rückgabewerte

Ein Julianisches Datum als String in der Form Monat/Tag/Jahr

Siehe auch

  • juliantojd() - Konvertierung vom Julianischen Kalender zum Julianischen Datum
  • cal_from_jd() - Konvertiert von Julian Day Count zu einem unterstützten Kalender

jdtojewish
jdtounix
Calendar Funktionen


Konvertiert Julianisches Datum in Unix-Timestamp

jdtojulian
jewishtojd
Calendar Funktionen
PHP Manual

jdtounix

(PHP 4, PHP 5, PHP 7)

jdtounix — Konvertiert Julianisches Datum in Unix-Timestamp

Beschreibung

int jdtounix ( int $jday )

Diese Funktion liefert einen Unix-Timestamp (in Sekunden seit dem 1.1.1970) zurück, der dem in jday übergebenen Julianischen Datum entspricht. Liegt jday außerhalb des darstellbaren Zeitbereichs (Gregorianische Jahre von 1970 bis 2037 bzw. 2440588 <= jday <= 2465342 ), so wird FALSE zurückgegeben.

Parameter-Liste

jday

Ein Julianischer Tag zwischen 2440588 and 2465342.

Rückgabewerte

Der Unix-Timestamp für den Anfang des gegebenen Julianischen Tages.

Siehe auch

  • unixtojd() - Konvertiert Unix-Timestamp in Julianisches Datum

jdtojulian
jewishtojd
Calendar Funktionen


Konvertiert vom Jüdischen Kalender zum Julianischen Datum

jdtounix
juliantojd
Calendar Funktionen
PHP Manual

jewishtojd

(PHP 4, PHP 5, PHP 7)

jewishtojd — Konvertiert vom Jüdischen Kalender zum Julianischen Datum

Beschreibung

int jewishtojd ( int $month , int $day , int $year )

Obwohl diese Funktion mit Werten bis zurück zum Jahr 1 (3761 v.Chr.) arbeiten kann, wird eine solche Nutzen nicht empfohlen. Der Jüdische Kalender wurde mehrere tausend Jahre lang benutzt, aber in den frühen Tagen existierte keine Formel, um den Monatsanfang zu bestimmen. Ein neuer Monat begann, wenn der Neumond beobachtet wurde.

Parameter-Liste

month

Der Monat als Zahl zwischen 1 und 13

day

Der Tag als Zahl zwischen 1 und 30

year

Das Jahr als Zahl zwischen 1 und 9999

Rückgabewerte

Der Julianische Tag für das gegebene Jüdische Datum als Integer.

Siehe auch

  • jdtojewish() - Konvertierung vom Julianischen Datum zum Jüdischen Kalender
  • cal_to_jd() - Konvertiert von einem unterstützten Kalenderformat in Julian-Format

jdtounix
juliantojd
Calendar Funktionen


Konvertierung vom Julianischen Kalender zum Julianischen Datum

jewishtojd
unixtojd
Calendar Funktionen
PHP Manual

juliantojd

(PHP 4, PHP 5, PHP 7)

juliantojd — Konvertierung vom Julianischen Kalender zum Julianischen Datum

Beschreibung

int juliantojd ( int $month , int $day , int $year )

Diese Funktion konvertiert das in month, day und year übergebene Datum im Gregorianischen Kalender in einen Tag im Julianischen Datum.

Gültige Daten liegen im Bereich von 4714 v.Chr. bis 9999 n.Chr. Der Julianische Kalender wurde allerdings erst 46 v.Chr. eingeführt, und die Details der Anwendung stabilisierten sich frühestens im Jahre 8 n. Chr., z. T. vielleicht sogar erst im vierten Jahrhundert nach Christus. Weiterhin betrachteten nicht alle Kulturen, die sich nach diesem Kalender richteten, den Januar als den ersten Monat des Jahres.

Achtung

Bitte beachten Sie, dass der weltweit genutzte Kalender der Gregorianische und nicht der Julianische Kalender ist. Für diesen Kalender kann die Funktion gregoriantojd() genutzt werden.

Parameter-Liste

month

Der Monat als Zahl von 1 (für Januar) bis 12 (für Dezember)

day

Der Tag als Zahl von 1 bis 31

year

Das Jahr als Zahl zwischen -4713 und 9999

Rückgabewerte

Der Julianische Tag für das angegebene Julianische Datum als Integer.

Siehe auch

  • jdtojulian() - Konvertierung vom Julianischen Datum zum Julianischen Kalender
  • cal_to_jd() - Konvertiert von einem unterstützten Kalenderformat in Julian-Format

jewishtojd
unixtojd
Calendar Funktionen


Konvertiert Unix-Timestamp in Julianisches Datum

juliantojd
Datum/Uhrzeit
Calendar Funktionen
PHP Manual

unixtojd

(PHP 4, PHP 5, PHP 7)

unixtojd — Konvertiert Unix-Timestamp in Julianisches Datum

Beschreibung

int unixtojd ([ int $timestamp = time() ] )

Diese Funktion konvertiert den in timestamp übergebenen Wert (in Sekunden seit dem 1.1.1970) in das entsprechende Julianische Datum. Wird kein timestamp übergeben, so wird das Julianische Datum des aktuellen Tages zurückgegeben.

Parameter-Liste

timestamp

Ein zu konvertierender Unix Timestamp.

Rückgabewerte

Ein Julianischer Tag als Integer.

Siehe auch

  • jdtounix() - Konvertiert Julianisches Datum in Unix-Timestamp

juliantojd
Datum/Uhrzeit
Calendar Funktionen


Datum und Uhrzeit

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • DateTime Arithmetic
  • DateTime — Die DateTime Klasse
    • DateTime::add — Addiert einen Wert von Tagen, Monaten, Jahren, Stunden, Minuten und Sekunden zu einem DateTime-Objekt
    • DateTime::__construct — Returns new DateTime object
    • DateTime::createFromFormat — Parses a time string according to a specified format
    • DateTime::getLastErrors — Gibt die Warnungen und Fehler zurück
    • DateTime::modify — Ändert den Zeitstempel
    • DateTime::__set_state — Der __set_state Handler
    • DateTime::setDate — Sets the date
    • DateTime::setISODate — Sets the ISO date
    • DateTime::setTime — Sets the time
    • DateTime::setTimestamp — Legt Datum und Zeit basierend auf einem Unix-Zeitstempel fest
    • DateTime::setTimezone — Legt die Zeitzone für ein DateTime Objekt fest
    • DateTime::sub — Subtrahiert eine Anzahl von Tagen, Monaten, Jahren, Stunden, Minuten und Sekunden von einem DateTime-Objekt.
  • DateTimeImmutable — Die DateTimeImmutable Klasse
    • DateTimeImmutable::add — Adds an amount of days, months, years, hours, minutes and seconds
    • DateTimeImmutable::__construct — Returns new DateTimeImmutable object
    • DateTimeImmutable::createFromFormat — Returns new DateTimeImmutable object formatted according to the specified format
    • DateTimeImmutable::createFromMutable — Returns new DateTimeImmutable object encapsulating the given DateTime object
    • DateTimeImmutable::getLastErrors — Returns the warnings and errors
    • DateTimeImmutable::modify — Creates a new object with modified timestamp
    • DateTimeImmutable::__set_state — The __set_state handler
    • DateTimeImmutable::setDate — Sets the date
    • DateTimeImmutable::setISODate — Sets the ISO date
    • DateTimeImmutable::setTime — Sets the time
    • DateTimeImmutable::setTimestamp — Sets the date and time based on an Unix timestamp
    • DateTimeImmutable::setTimezone — Sets the time zone
    • DateTimeImmutable::sub — Subtracts an amount of days, months, years, hours, minutes and seconds
  • DateTimeInterface — Das DateTimeInterface Interface
    • DateTime::diff — Returns the difference between two DateTime objects
    • DateTime::format — Returns date formatted according to given format
    • DateTime::getOffset — Returns the timezone offset
    • DateTime::getTimestamp — Gets the Unix timestamp
    • DateTime::getTimezone — Return time zone relative to given DateTime
    • DateTime::__wakeup — The __wakeup handler
  • DateTimeZone — Die DateTimeZone Klasse
    • DateTimeZone::__construct — Erstellt neues DateTimeZone Objekt
    • DateTimeZone::getLocation — Returns location information for a timezone
    • DateTimeZone::getName — Returns the name of the timezone
    • DateTimeZone::getOffset — Returns the timezone offset from GMT
    • DateTimeZone::getTransitions — Returns all transitions for the timezone
    • DateTimeZone::listAbbreviations — Returns associative array containing dst, offset and the timezone name
    • DateTimeZone::listIdentifiers — Returns a numerically indexed array containing all defined timezone identifiers
  • DateInterval — Die DateInterval Klasse
    • DateInterval::__construct — Erstellt ein neues DateInterval Objekt
    • DateInterval::createFromDateString — Bildet ein DateInterval aus relativen Teilen des Strings
    • DateInterval::format — Formats the interval
  • DatePeriod — Die DatePeriod Klasse
    • DatePeriod::__construct — Erstellt ein neues DatePeriod Objekt
    • DatePeriod::getDateInterval — Gets the interval
    • DatePeriod::getEndDate — Gets the end date
    • DatePeriod::getStartDate — Gets the start date
  • Datum/Uhrzeit Funktionen
    • checkdate — Prüft ein Gregorianisches Datum auf Gültigkeit
    • date_add — Alias von DateTime::add
    • date_create_from_format — Alias von DateTime::createFromFormat
    • date_create_immutable_from_format — Alias von DateTimeImmutable::createFromFormat
    • date_create_immutable — Alias von DateTimeImmutable::__construct
    • date_create — Alias von DateTime::__construct
    • date_date_set — Alias von DateTime::setDate
    • date_default_timezone_get — Gets the default timezone used by all date/time functions in a script
    • date_default_timezone_set — Setzt die Standardzeitzone, die von allen Datums- und Zeitfunktionen benutzt wird.
    • date_diff — Alias von DateTime::diff
    • date_format — Alias von DateTime::format
    • date_get_last_errors — Alias von DateTime::getLastErrors
    • date_interval_create_from_date_string — Alias von DateInterval::createFromDateString
    • date_interval_format — Alias von DateInterval::format
    • date_isodate_set — Alias von DateTime::setISODate
    • date_modify — Alias von DateTime::modify
    • date_offset_get — Alias von DateTime::getOffset
    • date_parse_from_format — Get info about given date formatted according to the specified format
    • date_parse — Returns associative array with detailed info about given date
    • date_sub — Alias von DateTime::sub
    • date_sun_info — Returns an array with information about sunset/sunrise and twilight begin/end
    • date_sunrise — Returns time of sunrise for a given day and location
    • date_sunset — Returns time of sunset for a given day and location
    • date_time_set — Alias von DateTime::setTime
    • date_timestamp_get — Alias von DateTime::getTimestamp
    • date_timestamp_set — Alias von DateTime::setTimestamp
    • date_timezone_get — Alias von DateTime::getTimezone
    • date_timezone_set — Alias von DateTime::setTimezone
    • date — Formatiert ein(e) angegebene(s) Ortszeit/Datum
    • getdate — Gibt Datums- und Zeitinformationen zurück
    • gettimeofday — Ermittelt die aktuelle Zeit
    • gmdate — Formatiert eine GMT/UTC Zeit-/Datumsangabe
    • gmmktime — Gibt einen Unix-Timestamp (Zeitstempel) für ein GMT Datum zurück
    • gmstrftime — Formatiert eine Datum-/Zeitangabe in GMT/UTC-Format entsprechend den lokalen Einstellungen
    • idate — Format a local time/date as integer
    • localtime — Ermittelt die lokale Zeit
    • microtime — Gibt den aktuellen Unix-Timestamp/Zeitstempel mit Mikrosekunden zurück
    • mktime — Gibt den Unix-Timestamp/Zeitstempel für ein Datum zurück
    • strftime — Formatiert eine Zeit-/Datumsangabe nach den lokalen Einstellungen
    • strptime — Parse a time/date generated with strftime
    • strtotime — Wandelt ein beliebiges in englischer Textform angegebenes Datum in einen UNIX-Zeitstempel (Timestamp) um
    • time — Gibt den aktuellen Unix-Timestamp/Zeitstempel zurück
    • timezone_abbreviations_list — Alias von DateTimeZone::listAbbreviations
    • timezone_identifiers_list — Alias von DateTimeZone::listIdentifiers
    • timezone_location_get — Alias von DateTimeZone::getLocation
    • timezone_name_from_abbr — Gibt den Namen der Zeitzonenabkürzung zurück
    • timezone_name_get — Alias von DateTimeZone::getName
    • timezone_offset_get — Alias von DateTimeZone::getOffset
    • timezone_open — Alias von DateTimeZone::__construct
    • timezone_transitions_get — Alias von DateTimeZone::getTransitions
    • timezone_version_get — Gets the version of the timezonedb
  • Supported Date and Time Formats
    • Time Formats
    • Date Formats
    • Compound Formats
    • Relative Formats
  • Liste unterstützter Zeitzonen
    • Afrika
    • Amerika
    • Antarktis
    • Arktis
    • Asien
    • Atlantisch
    • Australien
    • Europa
    • Indisch
    • Pazifisch
    • Andere
unixtojd
Einführung
Datums- und zeitrelevante Erweiterungen


Einführung

Diese Funktionen ermöglichen es Ihnen, Datums- und Zeitangaben vom Server, auf dem PHP läuft, abzufragen. Die Ausgabe von Datums- und Zeitangaben kann mit Hilfe dieser Funktionen in unterschiedlichster Weise formatiert werden.

Die Datums und Zeit Information wird intern in einem 64-Bit Integer gespeichert, also werden alle sinvoll denkbaren Daten unterstützt (unter anderem negative Jahre). Der darstellbare Bereich liegt zwischen etwa bei 292 Milliarden Jahren in die Vergangenheit und genauso viel in die Zukunft.

Hinweis: Beachten Sie bitte, dass diese Funktionen von den lokalen Systemeinstellungen Ihres Servers abhängen. Ein besonderes Augenmerk sollten Sie auf Sommer- und Winterzeit (nutzen Sie z.B. $date = strtotime('+7 days', $date) und nicht $date += 7*24*60*60) und Schaltjahre haben.

Hinweis: Die in diesem Abschnitt referenzierten Zeitzonen können in Liste unterstützter Zeitzonen gefunden werden.

Datum/Uhrzeit
Installation/Konfiguration
Datum/Uhrzeit


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Datum/Uhrzeit


Installation

Für diese Funktionen ist keine Installation erforderlich, diese gehören zum Grundbestand von PHP.

Hinweis: Aktualisieren der Zeitzonen-Datenbank

Die jeweils aktuellste Version der Zeitzonen-Datenbank kann über das PECL-Paket » timezonedb installiert werden.

Hinweis: Experimentelle DateTime-Unterstützung in PHP 5.1.x

Obwohl die Klasse DateTime (und damit zusammenhängende Funktionen) erst seit PHP 5.2.0 standardmäßig aktiviert sind, ist es möglich experimentellen Support hierfür bereits in PHP 5.1.x mit Hilfe des folgenden Flags vor configure/compile zu aktivieren: CFLAGS=-DEXPERIMENTAL_DATE_SUPPORT=1

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Date/Time Configuration Options
Name | Standard | Veränderbar | Changelog
date.default_latitude | "31.7667" | PHP_INI_ALL | Verfügbar seit PHP 5.0.0.
date.default_longitude | "35.2333" | PHP_INI_ALL | Verfügbar seit PHP 5.0.0.
date.sunrise_zenith | "90.583333" | PHP_INI_ALL | Verfügbar seit PHP 5.0.0.
date.sunset_zenith | "90.583333" | PHP_INI_ALL | Verfügbar seit PHP 5.0.0.
date.timezone | "" | PHP_INI_ALL | Verfügbar seit PHP 5.1.0.
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

date.default_latitude float

Vorgabe-Breitengrad.

date.default_longitude float

Vorgabe-Längengrad.

date.sunrise_zenith float

Vorgabe-Sonnenaufgangszenit.

date.sunset_zenith float

Vorgabe-Sonnenuntergangszenit.

date.timezone string

Diese Zeitzone wird von allen Datums- und Zeitfunktionen als Vorgabewert genutzt wenn die Umgebungsvariable TZ nicht gesetzt ist. Die Vorrangreihenfolge ist auf der Handbuchseite zu date_default_timezone_get() beschrieben. Siehe Liste unterstützter Zeitzonen für eine Liste der unterstützten Zeitzonen.

Hinweis: Die ersten vier Konfigurationsoptionen werden zur Zeit nur von den Funktionen date_sunrise() und date_sunset() genutzt.

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Die DATE_-Konstanten sind ab PHP 5.1.1 definiert und bieten vorbereitetet Standard-Datenformate, diese können zusammen mit den Datumsfunktionen (wie date()) eingesetzt werden.

Die folgenden Konstanten existieren seit PHP 5.1.2, sie spezifizieren Rückgabeformate für die Funktionen date_sunrise() und date_sunset().

SUNFUNCS_RET_TIMESTAMP (integer)
Timestamp
SUNFUNCS_RET_STRING (integer)
Stunde:Minute (z.B. 08:02)
SUNFUNCS_RET_DOUBLE (integer)
Stunden als Fließkommawert (z.B. 8.75)
Ressource-Typen
Beispiele
Datum/Uhrzeit


Beispiele

Inhaltsverzeichnis

  • DateTime Arithmetic
Vordefinierte Konstanten
DateTime Arithmetic
Datum/Uhrzeit


DateTime Arithmetic

The following examples show some pitfalls of DateTime arithmetic with regard to DST transitions and months having different numbers of days.

Beispiel #1 DateTime::add/sub add intervals which cover elapsed time

Adding PT24H over a DST transition will appear to add 23/25 hours (for most timezones).

<?php
$dt = new DateTime("2015-11-01 00:00:00", new DateTimeZone("America/New_York"));
echo "Start: ", $dt->format("Y-m-d H:i:s P"), PHP_EOL;
$dt->add(new DateInterval("PT3H"));
echo "End:   ", $dt->format("Y-m-d H:i:s P"), PHP_EOL;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Start: 2015-11-01 00:00:00 -04:00
End:   2015-11-01 02:00:00 -05:00

Beispiel #2 DateTime::modify and strtotime increment or decrement individual component values

Adding +24 hours over a DST transition will add exactly 24 hours as seen in the date/time string (unless the start or end time is on a transition point).

<?php
$dt = new DateTime("2015-11-01 00:00:00", new DateTimeZone("America/New_York"));
echo "Start: ", $dt->format("Y-m-d H:i:s P"), PHP_EOL;
$dt->modify("+24 hours");
echo "End:   ", $dt->format("Y-m-d H:i:s P"), PHP_EOL;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Start: 2015-11-01 00:00:00 -04:00
End:   2015-11-02 00:00:00 -05:00

Beispiel #3 Adding or subtracting times can over- or underflow dates

Like where January 31st + 1 month will result in March 2nd (leap year) or 3rd (normal year).

<?php
echo "Normal year:\n"; // February has 28 days
$dt = new DateTime("2015-01-31 00:00:00", new DateTimeZone("America/New_York"));
echo "Start: ", $dt->format("Y-m-d H:i:s P"), PHP_EOL;
$dt->modify("+1 month");
echo "End:   ", $dt->format("Y-m-d H:i:s P"), PHP_EOL;

echo "Leap year:\n"; // February has 29 days
$dt = new DateTime("2016-01-31 00:00:00", new DateTimeZone("America/New_York"));
echo "Start: ", $dt->format("Y-m-d H:i:s P"), PHP_EOL;
$dt->modify("+1 month");
echo "End:   ", $dt->format("Y-m-d H:i:s P"), PHP_EOL;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Normal year:
Start: 2015-01-31 00:00:00 -05:00
End:   2015-03-03 00:00:00 -05:00
Leap year:
Start: 2016-01-31 00:00:00 -05:00
End:   2016-03-02 00:00:00 -05:00

To get the last day of the next month (i.e. to prevent the overflow), the last day of format is available as of PHP 5.3.0.

<?php
echo "Normal year:\n"; // February has 28 days
$dt = new DateTime("2015-01-31 00:00:00", new DateTimeZone("America/New_York"));
echo "Start: ", $dt->format("Y-m-d H:i:s P"), PHP_EOL;
$dt->modify("last day of next month");
echo "End:   ", $dt->format("Y-m-d H:i:s P"), PHP_EOL;

echo "Leap year:\n"; // February has 29 days
$dt = new DateTime("2016-01-31 00:00:00", new DateTimeZone("America/New_York"));
echo "Start: ", $dt->format("Y-m-d H:i:s P"), PHP_EOL;
$dt->modify("last day of next month");
echo "End:   ", $dt->format("Y-m-d H:i:s P"), PHP_EOL;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Normal year:
Start: 2015-01-31 00:00:00 -05:00
End:   2015-02-28 00:00:00 -05:00
Leap year:
Start: 2016-01-31 00:00:00 -05:00
End:   2016-02-29 00:00:00 -05:00

Beispiele
DateTime
Beispiele


Die DateTime Klasse

(PHP 5 >= 5.2.0, PHP 7)

Einführung

Repräsentiert ein Datum und eine Uhrzeit

Klassenbeschreibung

DateTime implements DateTimeInterface {
/* Konstanten */
const string ATOM = "Y-m-d\TH:i:sP" ;
const string COOKIE = "l, d-M-Y H:i:s T" ;
const string ISO8601 = "Y-m-d\TH:i:sO" ;
const string RFC822 = "D, d M y H:i:s O" ;
const string RFC850 = "l, d-M-y H:i:s T" ;
const string RFC1036 = "D, d M y H:i:s O" ;
const string RFC1123 = "D, d M Y H:i:s O" ;
const string RFC2822 = "D, d M Y H:i:s O" ;
const string RFC3339 = "Y-m-d\TH:i:sP" ;
const string RSS = "D, d M Y H:i:s O" ;
const string W3C = "Y-m-d\TH:i:sP" ;
/* Methoden */
public __construct ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] )
public DateTime add ( DateInterval $interval )
public static DateTime createFromFormat ( string $format , string $time [, DateTimeZone $timezone ] )
public static array getLastErrors ( void )
public DateTime modify ( string $modify )
public static DateTime __set_state ( array $array )
public DateTime setDate ( int $year , int $month , int $day )
public DateTime setISODate ( int $year , int $week [, int $day = 1 ] )
public DateTime setTime ( int $hour , int $minute [, int $second = 0 ] )
public DateTime setTimestamp ( int $unixtimestamp )
public DateTime setTimezone ( DateTimeZone $timezone )
public DateTime sub ( DateInterval $interval )
public DateInterval diff ( DateTimeInterface $datetime2 [, bool $absolute = false ] )
public string format ( string $format )
public int getOffset ( void )
public int getTimestamp ( void )
public DateTimeZone getTimezone ( void )
public __wakeup ( void )
}

Vordefinierte Konstanten

DateTime::ATOM
DATE_ATOM
Atom (Beispiel: 2005-08-15T15:52:01+00:00)
DateTime::COOKIE
DATE_COOKIE
HTTP Cookies (Beispiel: Monday, 15-Aug-05 15:52:01 UTC)
DateTime::ISO8601
DATE_ISO8601
ISO-8601 (Beispiel: 2005-08-15T15:52:01+0000)

Hinweis: Dieses Format ist nicht kompatibel zu ISO-8601, wird aber aus Gründen der Abwärtskompatibilität so belassen. Verwenden Sie statt dessen DateTime::ATOM oder DATE_ATOM für ISO-8601 Kompatibilität.

DateTime::RFC822
DATE_RFC822
RFC 822 (Beispiel: Mon, 15 Aug 05 15:52:01 +0000)
DateTime::RFC850
DATE_RFC850
RFC 850 (Beispiel: Monday, 15-Aug-05 15:52:01 UTC)
DateTime::RFC1036
DATE_RFC1036
RFC 1036 (Beispiel: Mon, 15 Aug 05 15:52:01 +0000)
DateTime::RFC1123
DATE_RFC1123
RFC 1123 (Beispiel: Mon, 15 Aug 2005 15:52:01 +0000)
DateTime::RFC2822
DATE_RFC2822
RFC 2822 (Beispiel: Mon, 15 Aug 2005 15:52:01 +0000)
DateTime::RFC3339
DATE_RFC3339
Genau wie DATE_ATOM (seit PHP 5.1.3)
DateTime::RSS
DATE_RSS
RSS (Beispiel: Mon, 15 Aug 2005 15:52:01 +0000)
DateTime::W3C
DATE_W3C
World Wide Web Consortium (Beispiel: 2005-08-15T15:52:01+00:00)

Changelog

Version | Beschreibung
5.5.0 | Die Klasse implementiert nun DateTimeInterface.
5.4.24 | Die Konstakte COOKIE verwendet nun vier Ziffern für das Jahr gemäß RFC 1036 statt wie zuvor zwei Ziffern (RFC 850).
5.2.2 | DateTime-Objekt im Vergleich mit den Vergleichs-Operatoren funktioniert nun so wie erwartet. Zuvor wurden alle DateTime-Objekte als gleich betrachtet (unter Verwendung von ==).

Inhaltsverzeichnis

  • DateTime::add — Addiert einen Wert von Tagen, Monaten, Jahren, Stunden, Minuten und Sekunden zu einem DateTime-Objekt
  • DateTime::__construct — Returns new DateTime object
  • DateTime::createFromFormat — Parses a time string according to a specified format
  • DateTime::getLastErrors — Gibt die Warnungen und Fehler zurück
  • DateTime::modify — Ändert den Zeitstempel
  • DateTime::__set_state — Der __set_state Handler
  • DateTime::setDate — Sets the date
  • DateTime::setISODate — Sets the ISO date
  • DateTime::setTime — Sets the time
  • DateTime::setTimestamp — Legt Datum und Zeit basierend auf einem Unix-Zeitstempel fest
  • DateTime::setTimezone — Legt die Zeitzone für ein DateTime Objekt fest
  • DateTime::sub — Subtrahiert eine Anzahl von Tagen, Monaten, Jahren, Stunden, Minuten und Sekunden von einem DateTime-Objekt.
DateTime Arithmetic
DateTime::add
Datum/Uhrzeit


Addiert einen Wert von Tagen, Monaten, Jahren, Stunden, Minuten und Sekunden zu einem DateTime-Objekt

DateTime
DateTime::__construct
DateTime
PHP Manual

DateTime::add

date_add

(PHP 5 >= 5.3.0, PHP 7)

DateTime::add -- date_add — Addiert einen Wert von Tagen, Monaten, Jahren, Stunden, Minuten und Sekunden zu einem DateTime-Objekt

Beschreibung

Objektorientierter Stil

public DateTime DateTime::add ( DateInterval $interval )

Prozeduraler Stil

DateTime date_add ( DateTime $object , DateInterval $interval )

Addiert das gegebene DateInterval Objekt zu dem angegebenen DateTime Objekt.

Parameter-Liste

object

Nur bei prozeduralem Aufruf: Ein von date_create() zurückgegebenes DateTime-Objekt. Diese Funktion verändert dieses Objekt.

interval

Ein DateInterval Objekt

Rückgabewerte

Gibt das DateTime-Objekt für die Verkettung von Methoden zurück Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 DateTime::add() Beispiel

Objektorientierter Stil

<?php
$date = new DateTime('2000-01-01');
$date->add(new DateInterval('P10D'));
echo $date->format('Y-m-d') . "\n";
?>

Prozeduraler Stil

<?php
$date = date_create('2000-01-01');
date_add($date, date_interval_create_from_date_string('10 days'));
echo date_format($date, 'Y-m-d');
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

2000-01-11

Beispiel #2 Weitere DateTime::add() Beispiele

<?php
$date = new DateTime('2000-01-01');
$date->add(new DateInterval('PT10H30S'));
echo $date->format('Y-m-d H:i:s') . "\n";

$date = new DateTime('2000-01-01');
$date->add(new DateInterval('P7Y5M4DT4H3M2S'));
echo $date->format('Y-m-d H:i:s') . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

2000-01-01 10:00:30
2007-06-05 04:03:02

Beispiel #3 Vorsicht beim Addieren von Monaten

<?php
$date = new DateTime('2000-12-31');
$interval = new DateInterval('P1M');

$date->add($interval);
echo $date->format('Y-m-d') . "\n";

$date->add($interval);
echo $date->format('Y-m-d') . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

2001-01-31
2001-03-03

Anmerkungen

DateTime::modify() ist eine Alternative für PHP 5.2.

Siehe auch

  • DateTime::sub() - Subtrahiert eine Anzahl von Tagen, Monaten, Jahren, Stunden, Minuten und Sekunden von einem DateTime-Objekt.
  • DateTime::diff() - Returns the difference between two DateTime objects
  • DateTime::modify() - Ändert den Zeitstempel
DateTime
DateTime::__construct
DateTime


Returns new DateTime object

DateTime::add
DateTime::createFromFormat
DateTime
PHP Manual

DateTime::__construct

date_create

(PHP 5 >= 5.2.0, PHP 7)

DateTime::__construct -- date_create — Returns new DateTime object

Beschreibung

Objektorientierter Stil

public DateTime::__construct ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] )

Prozeduraler Stil

DateTime date_create ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] )

Returns new DateTime object.

Parameter-Liste

time

Ein Datums/Zeit Zeichenkette. Gültige Formate werden unter Datums- und Zeitformate erläutert.

Enter NULL here to obtain the current time when using the $timezone parameter.

timezone

A DateTimeZone object representing the timezone of $time.

If $timezone is omitted, the current timezone will be used.

Hinweis:

The $timezone parameter and the current timezone are ignored when the $time parameter either is a UNIX timestamp (e.g. @946684800) or specifies a timezone (e.g. 2010-01-28T15:00:00+02:00).

Rückgabewerte

Returns a new DateTime instance. Prozeduraler Stil Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Emits Exception in case of an error.

Changelog

Version | Beschreibung
5.3.0 | If time contains an invalid date/time format, then an exception is now thrown. Previously an error was emitted.

Beispiele

Beispiel #1 DateTime::__construct() example

Objektorientierter Stil

<?php
try {
    $date = new DateTime('2000-01-01');
} catch (Exception $e) {
    echo $e->getMessage();
    exit(1);
}

echo $date->format('Y-m-d');
?>

Prozeduraler Stil

<?php
$date = date_create('2000-01-01');
if (!$date) {
    $e = date_get_last_errors();
    foreach ($e['errors'] as $error) {
        echo "$error\n";
    }
    exit(1);
}

echo date_format($date, 'Y-m-d');
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

2000-01-01

Beispiel #2 Intricacies of DateTime::__construct()

<?php
// Specified date/time in your computer's time zone.
$date = new DateTime('2000-01-01');
echo $date->format('Y-m-d H:i:sP') . "\n";

// Specified date/time in the specified time zone.
$date = new DateTime('2000-01-01', new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";

// Current date/time in your computer's time zone.
$date = new DateTime();
echo $date->format('Y-m-d H:i:sP') . "\n";

// Current date/time in the specified time zone.
$date = new DateTime(null, new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";

// Using a UNIX timestamp.  Notice the result is in the UTC time zone.
$date = new DateTime('@946684800');
echo $date->format('Y-m-d H:i:sP') . "\n";

// Non-existent values roll over.
$date = new DateTime('2000-02-30');
echo $date->format('Y-m-d H:i:sP') . "\n";
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

2000-01-01 00:00:00-05:00
2000-01-01 00:00:00+12:00
2010-04-24 10:24:16-04:00
2010-04-25 02:24:16+12:00
2000-01-01 00:00:00+00:00
2000-03-01 00:00:00-05:00

Siehe auch

  • DateTime::createFromFormat() - Parses a time string according to a specified format
  • DateTimeZone::__construct() - Erstellt neues DateTimeZone Objekt
  • Date and Time Formats
  • date.timezone ini setting
  • date_default_timezone_set() - Setzt die Standardzeitzone, die von allen Datums- und Zeitfunktionen benutzt wird.
  • DateTime::getLastErrors() - Gibt die Warnungen und Fehler zurück
  • checkdate() - Prüft ein Gregorianisches Datum auf Gültigkeit
DateTime::add
DateTime::createFromFormat
DateTime


Parses a time string according to a specified format

DateTime::__construct
DateTime::getLastErrors
DateTime
PHP Manual

DateTime::createFromFormat

date_create_from_format

(PHP 5 >= 5.3.0, PHP 7)

DateTime::createFromFormat -- date_create_from_format — Parses a time string according to a specified format

Beschreibung

Objektorientierter Stil

public static DateTime DateTime::createFromFormat ( string $format , string $time [, DateTimeZone $timezone ] )

Prozeduraler Stil

DateTime date_create_from_format ( string $format , string $time [, DateTimeZone $timezone ] )

Returns a new DateTime object representing the date and time specified by the time string, which was formatted in the given format.

Parameter-Liste

format

The format that the passed in string should be in. See the formatting options below. In most cases, the same letters as for the date() can be used.

The following characters are recognized in the format parameter string
format character | Description | Example parsable values
Day --- ---
d and j | Day of the month, 2 digits with or without leading zeros | 01 to 31 or 1 to 31
D and l | A textual representation of a day | Mon through Sun or Sunday through Saturday
S | English ordinal suffix for the day of the month, 2 characters. It's ignored while processing. | st, nd, rd or th.
z | The day of the year (starting from 0) | 0 through 365
Month --- ---
F and M | A textual representation of a month, such as January or Sept | January through December or Jan through Dec
m and n | Numeric representation of a month, with or without leading zeros | 01 through 12 or 1 through 12
Year --- ---
Y | A full numeric representation of a year, 4 digits | Examples: 1999 or 2003
y | A two digit representation of a year (which is assumed to be in the range 1970-2069, inclusive) | Examples: 99 or 03 (which will be interpreted as 1999 and 2003, respectively)
Time --- ---
a and A | Ante meridiem and Post meridiem | am or pm
g and h | 12-hour format of an hour with or without leading zero | 1 through 12 or 01 through 12
G and H | 24-hour format of an hour with or without leading zeros | 0 through 23 or 00 through 23
i | Minutes with leading zeros | 00 to 59
s | Seconds, with leading zeros | 00 through 59
u | Microseconds (up to six digits) | Example: 45, 654321
Timezone --- ---
e, O, P and T | Timezone identifier, or difference to UTC in hours, or difference to UTC with colon between hours and minutes, or timezone abbreviation | Examples: UTC, GMT, Atlantic/Azores or +0200 or +02:00 or EST, MDT
Full Date/Time --- ---
U | Seconds since the Unix Epoch (January 1 1970 00:00:00 GMT) | Example: 1292177455
Whitespace and Separators --- ---
(space) | One space or one tab | Example:
# One of the following separation symbol: ;, :, /, ., ,, -, ( or ) Example: /
;, :, /, ., ,, -, ( or ) | The specified character. | Example: -
? A random byte Example: ^ (Be aware that for UTF-8 characters you might need more than one ?. In this case, using * is probably what you want instead)
* Random bytes until the next separator or digit Example: * in Y-*-d with the string 2009-aWord-08 will match aWord
! Resets all fields (year, month, day, hour, minute, second, fraction and timzone information) to the Unix Epoch Without !, all fields will be set to the current date and time.
| Resets all fields (year, month, day, hour, minute, second, fraction and timzone information) to the Unix Epoch if they have not been parsed yet Y-m-d| will set the year, month and day to the information found in the string to parse, and sets the hour, minute and second to 0.
+ If this format specifier is present, trailing data in the string will not cause an error, but a warning instead Use DateTime::getLastErrors() to find out whether trailing data was present.

Unrecognized characters in the format string will cause the parsing to fail and an error message is appended to the returned structure. You can query error messages with DateTime::getLastErrors().

To include literal characters in format, you have to escape them with a backslash (\).

If format does not contain the character ! then portions of the generated time which are not specified in format will be set to the current system time.

If format contains the character !, then portions of the generated time not provided in format, as well as values to the left-hand side of the !, will be set to corresponding values from the Unix epoch.

The Unix epoch is 1970-01-01 00:00:00 UTC.

time

String representing the time.

timezone

A DateTimeZone object representing the desired time zone.

If timezone is omitted and time contains no timezone, the current timezone will be used.

Hinweis:

The timezone parameter and the current timezone are ignored when the time parameter either contains a UNIX timestamp (e.g. 946684800) or specifies a timezone (e.g. 2010-01-28T15:00:00+02:00).

Rückgabewerte

Returns a new DateTime instanceIm Fehlerfall wird FALSE zurückgegeben..

Changelog

Version | Beschreibung
5.3.9 | The + format specifier has been added.

Beispiele

Beispiel #1 DateTime::createFromFormat() example

Objektorientierter Stil

<?php
$date = DateTime::createFromFormat('j-M-Y', '15-Feb-2009');
echo $date->format('Y-m-d');
?>

Prozeduraler Stil

<?php
$date = date_create_from_format('j-M-Y', '15-Feb-2009');
echo date_format($date, 'Y-m-d');
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

2009-02-15

Beispiel #2 Intricacies of DateTime::createFromFormat()

<?php
echo 'Current time: ' . date('Y-m-d H:i:s') . "\n";

$format = 'Y-m-d';
$date = DateTime::createFromFormat($format, '2009-02-15');
echo "Format: $format; " . $date->format('Y-m-d H:i:s') . "\n";

$format = 'Y-m-d H:i:s';
$date = DateTime::createFromFormat($format, '2009-02-15 15:16:17');
echo "Format: $format; " . $date->format('Y-m-d H:i:s') . "\n";

$format = 'Y-m-!d H:i:s';
$date = DateTime::createFromFormat($format, '2009-02-15 15:16:17');
echo "Format: $format; " . $date->format('Y-m-d H:i:s') . "\n";

$format = '!d';
$date = DateTime::createFromFormat($format, '15');
echo "Format: $format; " . $date->format('Y-m-d H:i:s') . "\n";
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Current time: 2010-04-23 10:29:35
Format: Y-m-d; 2009-02-15 10:29:35
Format: Y-m-d H:i:s; 2009-02-15 15:16:17
Format: Y-m-!d H:i:s; 1970-01-15 15:16:17
Format: !d; 1970-01-15 00:00:00

Beispiel #3 Format string with literal characters

<?php
echo DateTime::createFromFormat('H\h i\m s\s','23h 15m 03s')->format('H:i:s');
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

23:15:03

Siehe auch

  • DateTime::__construct() - Returns new DateTime object
  • DateTime::getLastErrors() - Gibt die Warnungen und Fehler zurück
  • checkdate() - Prüft ein Gregorianisches Datum auf Gültigkeit
  • strptime() - Parse a time/date generated with strftime
DateTime::__construct
DateTime::getLastErrors
DateTime


Gibt die Warnungen und Fehler zurück

DateTime::createFromFormat
DateTime::modify
DateTime
PHP Manual

DateTime::getLastErrors

date_get_last_errors

(PHP 5 >= 5.3.0, PHP 7)

DateTime::getLastErrors -- date_get_last_errors — Gibt die Warnungen und Fehler zurück

Beschreibung

Objektorientierter Stil

public static array DateTime::getLastErrors ( void )

Prozeduraler Stil

array date_get_last_errors ( void )

Gibt ein Array mit Warnungen und Fehlern zurück, die bei der Analyse eines Datums/Zeit-Strings gefunden wurden.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt ein Array mit Warnungen und Fehlern zurück.

Beispiele

Beispiel #1 DateTime::getLastErrors() Beispiel

Objektorientierter Stil

<?php
try {
    $date = new DateTime('asdfasdf');
} catch (Exception $e) {
    // Nur zu Demonstrationszwecken...
    print_r(DateTime::getLastErrors());

    // Die wahre objektorientierte Weise, um dies zu tun ist
    // echo $e->getMessage();
}
?>

Prozeduraler Stil

<?php
$date = date_create('asdfasdf');
print_r(date_get_last_errors());
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Array
(
   [warning_count] => 1
   [warnings] => Array
       (
           [6] => Double timezone specification
       )

   [error_count] => 1
   [errors] => Array
       (
           [0] => The timezone could not be found in the database
       )

)

Die Indizes 6 und 0 in der Ausgabe des obigen Beispiels beziehen sich auf den Buchstaben in dem String bei dem der Fehler auftrat.

DateTime::createFromFormat
DateTime::modify
DateTime


Ändert den Zeitstempel

DateTime::getLastErrors
DateTime::__set_state
DateTime
PHP Manual

DateTime::modify

date_modify

(PHP 5 >= 5.2.0, PHP 7)

DateTime::modify -- date_modify — Ändert den Zeitstempel

Beschreibung

Objektorientierter Stil

public DateTime DateTime::modify ( string $modify )

Prozeduraler Stil

DateTime date_modify ( DateTime $object , string $modify )

Ändert den Zeitstempel eines DateTime Objektes durch Erhöhen oder Erniedrigen in einem von strtotime() aktzeptierten Format.

Parameter-Liste

object

Nur bei prozeduralem Aufruf: Ein von date_create() zurückgegebenes DateTime-Objekt. Diese Funktion verändert dieses Objekt.

modify

Ein Datums/Zeit Zeichenkette. Gültige Formate werden unter Datums- und Zeitformate erläutert.

Rückgabewerte

Gibt das DateTime-Objekt für die Verkettung von Methoden zurück Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.3.6 | Absolute Datum/Uhrzeit-Anweisungen sind jetzt wirksam. Zuvor wurden nur relative Teile verwendet.
5.3.0 | Der Rückgabewert bei Erfolg wurde von NULL auf DateTime geändert.

Beispiele

Beispiel #1 DateTime::modify() Beispiel

Objektorientierter Stil

<?php
$date = new DateTime('2006-12-12');
$date->modify('+1 day');
echo $date->format('Y-m-d');
?>

Prozeduraler Stil

<?php
$date = date_create('2006-12-12');
date_modify($date, '+1 day');
echo date_format($date, 'Y-m-d');
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

2006-12-13

Beispiel #2 Vorsicht beim Addieren oder Subtrahieren von Monaten

<?php
$date = new DateTime('2000-12-31');

$date->modify('+1 month');
echo $date->format('Y-m-d') . "\n";

$date->modify('+1 month');
echo $date->format('Y-m-d') . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

2001-01-31
2001-03-03

Siehe auch

  • strtotime() - Wandelt ein beliebiges in englischer Textform angegebenes Datum in einen UNIX-Zeitstempel (Timestamp) um
  • DateTime::add() - Addiert einen Wert von Tagen, Monaten, Jahren, Stunden, Minuten und Sekunden zu einem DateTime-Objekt
  • DateTime::sub() - Subtrahiert eine Anzahl von Tagen, Monaten, Jahren, Stunden, Minuten und Sekunden von einem DateTime-Objekt.
  • DateTime::setDate() - Sets the date
  • DateTime::setISODate() - Sets the ISO date
  • DateTime::setTime() - Sets the time
  • DateTime::setTimestamp() - Legt Datum und Zeit basierend auf einem Unix-Zeitstempel fest
DateTime::getLastErrors
DateTime::__set_state
DateTime


Der __set_state Handler

DateTime::modify
DateTime::setDate
DateTime
PHP Manual

DateTime::__set_state

(PHP 5 >= 5.2.0, PHP 7)

DateTime::__set_state — Der __set_state Handler

Beschreibung

public static DateTime DateTime::__set_state ( array $array )

Der __set_state() Handler.

Parameter-Liste

array

Array zur Initialisierung.

Rückgabewerte

Gibt ein neues Exemplar eines DateTime Objekts zurück.

DateTime::modify
DateTime::setDate
DateTime


Sets the date

DateTime::__set_state
DateTime::setISODate
DateTime
PHP Manual

DateTime::setDate

date_date_set

(PHP 5 >= 5.2.0, PHP 7)

DateTime::setDate -- date_date_set — Sets the date

Beschreibung

Objektorientierter Stil

public DateTime DateTime::setDate ( int $year , int $month , int $day )

Prozeduraler Stil

DateTime date_date_set ( DateTime $object , int $year , int $month , int $day )

Resets the current date of the DateTime object to a different date.

Parameter-Liste

object

Nur bei prozeduralem Aufruf: Ein von date_create() zurückgegebenes DateTime-Objekt. Diese Funktion verändert dieses Objekt.

year

Year of the date.

month

Month of the date.

day

Day of the date.

Rückgabewerte

Gibt das DateTime-Objekt für die Verkettung von Methoden zurück Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.3.0 | Der Rückgabewert bei Erfolg wurde von NULL auf DateTime geändert.

Beispiele

Beispiel #1 DateTime::setDate() example

Objektorientierter Stil

<?php
$date = new DateTime();
$date->setDate(2001, 2, 3);
echo $date->format('Y-m-d');
?>

Prozeduraler Stil

<?php
$date = date_create();
date_date_set($date, 2001, 2, 3);
echo date_format($date, 'Y-m-d');
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

2001-02-03

Beispiel #2 Values exceeding ranges are added to their parent values

<?php
$date = new DateTime();

$date->setDate(2001, 2, 28);
echo $date->format('Y-m-d') . "\n";

$date->setDate(2001, 2, 29);
echo $date->format('Y-m-d') . "\n";

$date->setDate(2001, 14, 3);
echo $date->format('Y-m-d') . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

2001-02-28
2001-03-01
2002-02-03

Siehe auch

  • DateTime::setISODate() - Sets the ISO date
  • DateTime::setTime() - Sets the time
DateTime::__set_state
DateTime::setISODate
DateTime


Sets the ISO date

DateTime::setDate
DateTime::setTime
DateTime
PHP Manual

DateTime::setISODate

date_isodate_set

(PHP 5 >= 5.2.0, PHP 7)

DateTime::setISODate -- date_isodate_set — Sets the ISO date

Beschreibung

Objektorientierter Stil

public DateTime DateTime::setISODate ( int $year , int $week [, int $day = 1 ] )

Prozeduraler Stil

DateTime date_isodate_set ( DateTime $object , int $year , int $week [, int $day = 1 ] )

Set a date according to the ISO 8601 standard - using weeks and day offsets rather than specific dates.

Parameter-Liste

object

Nur bei prozeduralem Aufruf: Ein von date_create() zurückgegebenes DateTime-Objekt. Diese Funktion verändert dieses Objekt.

year

Year of the date.

week

Week of the date.

day

Offset from the first day of the week.

Rückgabewerte

Gibt das DateTime-Objekt für die Verkettung von Methoden zurück Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.3.0 | Der Rückgabewert bei Erfolg wurde von NULL auf DateTime geändert.

Beispiele

Beispiel #1 DateTime::setISODate() example

Objektorientierter Stil

<?php
$date = new DateTime();

$date->setISODate(2008, 2);
echo $date->format('Y-m-d') . "\n";

$date->setISODate(2008, 2, 7);
echo $date->format('Y-m-d') . "\n";
?>

Prozeduraler Stil

<?php
$date = date_create();

date_isodate_set($date, 2008, 2);
echo date_format($date, 'Y-m-d') . "\n";

date_isodate_set($date, 2008, 2, 7);
echo date_format($date, 'Y-m-d') . "\n";
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

2008-01-07
2008-01-13

Beispiel #2 Values exceeding ranges are added to their parent values

<?php
$date = new DateTime();

$date->setISODate(2008, 2, 7);
echo $date->format('Y-m-d') . "\n";

$date->setISODate(2008, 2, 8);
echo $date->format('Y-m-d') . "\n";

$date->setISODate(2008, 53, 7);
echo $date->format('Y-m-d') . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

2008-01-13
2008-01-14
2009-01-04

Beispiel #3 Finding the month a week is in

<?php
$date = new DateTime();
$date->setISODate(2008, 14);
echo $date->format('n');
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

3

Siehe auch

  • DateTime::setDate() - Sets the date
  • DateTime::setTime() - Sets the time
DateTime::setDate
DateTime::setTime
DateTime


Sets the time

DateTime::setISODate
DateTime::setTimestamp
DateTime
PHP Manual

DateTime::setTime

date_time_set

(PHP 5 >= 5.2.0, PHP 7)

DateTime::setTime -- date_time_set — Sets the time

Beschreibung

Objektorientierter Stil

public DateTime DateTime::setTime ( int $hour , int $minute [, int $second = 0 ] )

Prozeduraler Stil

DateTime date_time_set ( DateTime $object , int $hour , int $minute [, int $second = 0 ] )

Resets the current time of the DateTime object to a different time.

Parameter-Liste

object

Nur bei prozeduralem Aufruf: Ein von date_create() zurückgegebenes DateTime-Objekt. Diese Funktion verändert dieses Objekt.

hour

Hour of the time.

minute

Minute of the time.

second

Second of the time.

Rückgabewerte

Gibt das DateTime-Objekt für die Verkettung von Methoden zurück Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.3.0 | Der Rückgabewert bei Erfolg wurde von NULL auf DateTime geändert.

Beispiele

Beispiel #1 DateTime::setTime() example

Objektorientierter Stil

<?php
$date = new DateTime('2001-01-01');

$date->setTime(14, 55);
echo $date->format('Y-m-d H:i:s') . "\n";

$date->setTime(14, 55, 24);
echo $date->format('Y-m-d H:i:s') . "\n";
?>

Prozeduraler Stil

<?php
$date = date_create('2001-01-01');

date_time_set($date, 14, 55);
echo date_format($date, 'Y-m-d H:i:s') . "\n";

date_time_set($date, 14, 55, 24);
echo date_format($date, 'Y-m-d H:i:s') . "\n";
?>

Oben gezeigte Beispiele erzeugen eine ähnliche Ausgabe wie:

2001-01-01 14:55:00
2001-01-01 14:55:24

Beispiel #2 Values exceeding ranges are added to their parent values

<?php
$date = new DateTime('2001-01-01');

$date->setTime(14, 55, 24);
echo $date->format('Y-m-d H:i:s') . "\n";

$date->setTime(14, 55, 65);
echo $date->format('Y-m-d H:i:s') . "\n";

$date->setTime(14, 65, 24);
echo $date->format('Y-m-d H:i:s') . "\n";

$date->setTime(25, 55, 24);
echo $date->format('Y-m-d H:i:s') . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

2001-01-01 14:55:24
2001-01-01 14:56:05
2001-01-01 15:05:24
2001-01-02 01:55:24

Siehe auch

  • DateTime::setDate() - Sets the date
  • DateTime::setISODate() - Sets the ISO date
DateTime::setISODate
DateTime::setTimestamp
DateTime


Legt Datum und Zeit basierend auf einem Unix-Zeitstempel fest

DateTime::setTime
DateTime::setTimezone
DateTime
PHP Manual

DateTime::setTimestamp

date_timestamp_set

(PHP 5 >= 5.3.0, PHP 7)

DateTime::setTimestamp -- date_timestamp_set — Legt Datum und Zeit basierend auf einem Unix-Zeitstempel fest

Beschreibung

Objektorientierter Stil

public DateTime DateTime::setTimestamp ( int $unixtimestamp )

Prozeduraler Stil

DateTime date_timestamp_set ( DateTime $object , int $unixtimestamp )

Legt Datum und Zeit basierend auf einem Unix-Zeitstempel fest.

Parameter-Liste

object

Nur bei prozeduralem Aufruf: Ein von date_create() zurückgegebenes DateTime-Objekt. Diese Funktion verändert dieses Objekt.

unixtimestamp

Ein Unix-Zeitstempel, der das Datum angibt.

Rückgabewerte

Gibt das DateTime-Objekt für die Verkettung von Methoden zurück Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 DateTime::setTimestamp() Beispiel

Objektorientierter Stil

<?php
$date = new DateTime();
echo $date->format('U = Y-m-d H:i:s') . "\n";

$date->setTimestamp(1171502725);
echo $date->format('U = Y-m-d H:i:s') . "\n";
?>

Prozeduraler Stil

<?php
$date = date_create();
echo date_format($date, 'U = Y-m-d H:i:s') . "\n";

date_timestamp_set($date, 1171502725);
echo date_format($date, 'U = Y-m-d H:i:s') . "\n";
?>

Oben gezeigte Beispiele erzeugen eine ähnliche Ausgabe wie:

1272508903 = 2010-04-28 22:41:43
1171502725 = 2007-02-14 20:25:25

Anmerkungen

Die Verwendung des Unix-Zeitstempel-Formats, um ein neues DateTime Objekt zu erzeugen, ist eine Alternative wenn PHP 5.2 benutzt wird, wie im nachfolgenden Beispiel gezeigt:

Beispiel #2 DateTime::setTimestamp() Alternative in PHP 5.2

<?php
$ts = 1171502725;
$date = new DateTime("@$ts");
echo $date->format('U = Y-m-d H:i:s') . "\n";
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

1171502725 = 2007-02-14 20:25:25

Siehe auch

  • DateTime::getTimestamp() - Gets the Unix timestamp
DateTime::setTime
DateTime::setTimezone
DateTime


Legt die Zeitzone für ein DateTime Objekt fest

DateTime::setTimestamp
DateTime::sub
DateTime
PHP Manual

DateTime::setTimezone

date_timezone_set

(PHP 5 >= 5.2.0, PHP 7)

DateTime::setTimezone -- date_timezone_set — Legt die Zeitzone für ein DateTime Objekt fest

Beschreibung

Objektorientierter Stil

public DateTime DateTime::setTimezone ( DateTimeZone $timezone )

Prozeduraler Stil

DateTime date_timezone_set ( DateTime $object , DateTimeZone $timezone )

Legt eine neue Zeitzone für ein DateTime Objekt fest.

Parameter-Liste

object

Nur bei prozeduralem Aufruf: Ein von date_create() zurückgegebenes DateTime-Objekt. Diese Funktion verändert dieses Objekt.

timezone

Ein DateTimeZone Objekt, das die gewünschte Zeitzone repräsentiert.

Rückgabewerte

Gibt das DateTime-Objekt für die Verkettung von Methoden zurück Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.3.0 | Der Rückgabewert bei Erfolg wurde von NULL auf DateTime geändert.

Beispiele

Beispiel #1 DateTime::setTimeZone() Beispiel

Objektorientierter Stil

<?php
$date = new DateTime('2000-01-01', new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";

$date->setTimezone(new DateTimeZone('Pacific/Chatham'));
echo $date->format('Y-m-d H:i:sP') . "\n";
?>

Prozeduraler Stil

<?php
$date = date_create('2000-01-01', timezone_open('Pacific/Nauru'));
echo date_format($date, 'Y-m-d H:i:sP') . "\n";

date_timezone_set($date, timezone_open('Pacific/Chatham'));
echo date_format($date, 'Y-m-d H:i:sP') . "\n";
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

2000-01-01 00:00:00+12:00
2000-01-01 01:45:00+13:45

Siehe auch

  • DateTime::getTimezone() - Return time zone relative to given DateTime
  • DateTimeZone::__construct() - Erstellt neues DateTimeZone Objekt
DateTime::setTimestamp
DateTime::sub
DateTime


Subtrahiert eine Anzahl von Tagen, Monaten, Jahren, Stunden, Minuten und Sekunden von einem DateTime-Objekt.

DateTime::setTimezone
DateTimeImmutable
DateTime
PHP Manual

DateTime::sub

date_sub

(PHP 5 >= 5.3.0, PHP 7)

DateTime::sub -- date_sub — Subtrahiert eine Anzahl von Tagen, Monaten, Jahren, Stunden, Minuten und Sekunden von einem DateTime-Objekt.

Beschreibung

Objektorientierter Stil

public DateTime DateTime::sub ( DateInterval $interval )

Prozeduraler Stil

DateTime date_sub ( DateTime $object , DateInterval $interval )

Subtrahiert das gegebene DateInterval Objekt vom angegebenen DateTime Objekt.

Parameter-Liste

object

Nur bei prozeduralem Aufruf: Ein von date_create() zurückgegebenes DateTime-Objekt. Diese Funktion verändert dieses Objekt.

interval

Ein DateInterval Objekt

Rückgabewerte

Gibt das DateTime-Objekt für die Verkettung von Methoden zurück Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 DateTime::sub() Beispiel

Objektorientierter Stil

<?php
$date = new DateTime('2000-01-20');
$date->sub(new DateInterval('P10D'));
echo $date->format('Y-m-d') . "\n";
?>

Prozeduraler Stil

<?php
$date = date_create('2000-01-20');
date_sub($date, date_interval_create_from_date_string('10 days'));
echo date_format($date, 'Y-m-d');
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

2000-01-10

Beispiel #2 Weitere DateTime::sub() Beispiele

<?php
$date = new DateTime('2000-01-20');
$date->sub(new DateInterval('PT10H30S'));
echo $date->format('Y-m-d H:i:s') . "\n";

$date = new DateTime('2000-01-20');
$date->sub(new DateInterval('P7Y5M4DT4H3M2S'));
echo $date->format('Y-m-d H:i:s') . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

2000-01-19 13:59:30
1992-08-15 19:56:58

Beispiel #3 Vorsicht beim Subtrahieren von Monaten

<?php
$date = new DateTime('2001-04-30');
$interval = new DateInterval('P1M');

$date->sub($interval);
echo $date->format('Y-m-d') . "\n";

$date->sub($interval);
echo $date->format('Y-m-d') . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

2001-03-30
2001-03-02

Anmerkungen

DateTime::modify() ist eine Alternative für PHP 5.2.

Siehe auch

  • DateTime::add() - Addiert einen Wert von Tagen, Monaten, Jahren, Stunden, Minuten und Sekunden zu einem DateTime-Objekt
  • DateTime::diff() - Returns the difference between two DateTime objects
  • DateTime::modify() - Ändert den Zeitstempel
DateTime::setTimezone
DateTimeImmutable
DateTime


Die DateTimeImmutable Klasse

(PHP 5 >= 5.5.0, PHP 7)

Einführung

Diese Klasse verhält sich wie die Klasse DateTime, außer dass sie nie verändert, sondern statt dessen ein neues Objekt zurückgegeben wird.

Klassenbeschreibung

DateTimeImmutable implements DateTimeInterface {
/* Methoden */
public __construct ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] )
public DateTimeImmutable add ( DateInterval $interval )
public static DateTimeImmutable createFromFormat ( string $format , string $time [, DateTimeZone $timezone ] )
public static DateTimeImmutable createFromMutable ( DateTime $datetime )
public static array getLastErrors ( void )
public DateTimeImmutable modify ( string $modify )
public static DateTimeImmutable __set_state ( array $array )
public DateTimeImmutable setDate ( int $year , int $month , int $day )
public DateTimeImmutable setISODate ( int $year , int $week [, int $day = 1 ] )
public DateTimeImmutable setTime ( int $hour , int $minute [, int $second = 0 ] )
public DateTimeImmutable setTimestamp ( int $unixtimestamp )
public DateTimeImmutable setTimezone ( DateTimeZone $timezone )
public DateTimeImmutable sub ( DateInterval $interval )
public DateInterval diff ( DateTimeInterface $datetime2 [, bool $absolute = false ] )
public string format ( string $format )
public int getOffset ( void )
public int getTimestamp ( void )
public DateTimeZone getTimezone ( void )
public __wakeup ( void )
}

Inhaltsverzeichnis

  • DateTimeImmutable::add — Adds an amount of days, months, years, hours, minutes and seconds
  • DateTimeImmutable::__construct — Returns new DateTimeImmutable object
  • DateTimeImmutable::createFromFormat — Returns new DateTimeImmutable object formatted according to the specified format
  • DateTimeImmutable::createFromMutable — Returns new DateTimeImmutable object encapsulating the given DateTime object
  • DateTimeImmutable::getLastErrors — Returns the warnings and errors
  • DateTimeImmutable::modify — Creates a new object with modified timestamp
  • DateTimeImmutable::__set_state — The __set_state handler
  • DateTimeImmutable::setDate — Sets the date
  • DateTimeImmutable::setISODate — Sets the ISO date
  • DateTimeImmutable::setTime — Sets the time
  • DateTimeImmutable::setTimestamp — Sets the date and time based on an Unix timestamp
  • DateTimeImmutable::setTimezone — Sets the time zone
  • DateTimeImmutable::sub — Subtracts an amount of days, months, years, hours, minutes and seconds
DateTime::sub
DateTimeImmutable::add
Datum/Uhrzeit


Adds an amount of days, months, years, hours, minutes and seconds

DateTimeImmutable
DateTimeImmutable::__construct
DateTimeImmutable
PHP Manual

DateTimeImmutable::add

(PHP 5 >= 5.5.0, PHP 7)

DateTimeImmutable::add — Adds an amount of days, months, years, hours, minutes and seconds

Beschreibung

public DateTimeImmutable DateTimeImmutable::add ( DateInterval $interval )

Like DateTime::add() but works with DateTimeImmutable.

DateTimeImmutable
DateTimeImmutable::__construct
DateTimeImmutable


Returns new DateTimeImmutable object

DateTimeImmutable::add
DateTimeImmutable::createFromFormat
DateTimeImmutable
PHP Manual

DateTimeImmutable::__construct

date_create_immutable

(PHP 5 >= 5.5.0, PHP 7)

DateTimeImmutable::__construct -- date_create_immutable — Returns new DateTimeImmutable object

Beschreibung

Objektorientierter Stil

public DateTimeImmutable::__construct ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] )

Prozeduraler Stil

DateTimeImmutable date_create_immutable ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] )

Like DateTime::__construct() but works with DateTimeImmutable.

DateTimeImmutable::add
DateTimeImmutable::createFromFormat
DateTimeImmutable


Returns new DateTimeImmutable object formatted according to the specified format

DateTimeImmutable::__construct
DateTimeImmutable::createFromMutable
DateTimeImmutable
PHP Manual

DateTimeImmutable::createFromFormat

date_create_immutable_from_format

(PHP 5 >= 5.5.0, PHP 7)

DateTimeImmutable::createFromFormat -- date_create_immutable_from_format — Returns new DateTimeImmutable object formatted according to the specified format

Beschreibung

Objektorientierter Stil

public static DateTimeImmutable DateTimeImmutable::createFromFormat ( string $format , string $time [, DateTimeZone $timezone ] )

Prozeduraler Stil

DateTimeImmutable date_create_immutable_from_format ( string $format , string $time [, DateTimeZone $timezone ] )

Like DateTime::createFromFormat() but works with DateTimeImmutable.

DateTimeImmutable::__construct
DateTimeImmutable::createFromMutable
DateTimeImmutable


Returns new DateTimeImmutable object encapsulating the given DateTime object

DateTimeImmutable::createFromFormat
DateTimeImmutable::getLastErrors
DateTimeImmutable
PHP Manual

DateTimeImmutable::createFromMutable

(PHP 5 >= 5.6.0, PHP 7)

DateTimeImmutable::createFromMutable — Returns new DateTimeImmutable object encapsulating the given DateTime object

Beschreibung

public static DateTimeImmutable DateTimeImmutable::createFromMutable ( DateTime $datetime )

Parameter-Liste

datetime

The mutable DateTime object that you want to convert to an immutable version. This object is not modified, but instead a new DateTimeImmutable object is created containing the same date time and timezone information.

Beispiele

Beispiel #1 Creating an immutable date time object

<?php
$date = new DateTime("2014-06-20 11:45 Europe/London");

$immutable = DateTimeImmutable::createFromMutable( $date );
?>

Rückgabewerte

Returns a new DateTimeImmutable instance.

DateTimeImmutable::createFromFormat
DateTimeImmutable::getLastErrors
DateTimeImmutable


Returns the warnings and errors

DateTimeImmutable::createFromMutable
DateTimeImmutable::modify
DateTimeImmutable
PHP Manual

DateTimeImmutable::getLastErrors

(PHP 5 >= 5.5.0, PHP 7)

DateTimeImmutable::getLastErrors — Returns the warnings and errors

Beschreibung

public static array DateTimeImmutable::getLastErrors ( void )

Like DateTime::getLastErrors() but works with DateTimeImmutable.

DateTimeImmutable::createFromMutable
DateTimeImmutable::modify
DateTimeImmutable


Creates a new object with modified timestamp

DateTimeImmutable::getLastErrors
DateTimeImmutable::__set_state
DateTimeImmutable
PHP Manual

DateTimeImmutable::modify

(PHP 5 >= 5.5.0, PHP 7)

DateTimeImmutable::modify — Creates a new object with modified timestamp

Beschreibung

public DateTimeImmutable DateTimeImmutable::modify ( string $modify )

Creates a new DateTimeImmutable object with modified timestamp. The original object is not modified.

Parameter-Liste

object

Nur bei prozeduralem Aufruf: Ein von date_create() zurückgegebenes DateTime-Objekt. Diese Funktion verändert dieses Objekt.

modify

Ein Datums/Zeit Zeichenkette. Gültige Formate werden unter Datums- und Zeitformate erläutert.

Rückgabewerte

Returns the newly created objectIm Fehlerfall wird FALSE zurückgegeben..

DateTimeImmutable::getLastErrors
DateTimeImmutable::__set_state
DateTimeImmutable


The __set_state handler

DateTimeImmutable::modify
DateTimeImmutable::setDate
DateTimeImmutable
PHP Manual

DateTimeImmutable::__set_state

(PHP 5 >= 5.5.0, PHP 7)

DateTimeImmutable::__set_state — The __set_state handler

Beschreibung

public static DateTimeImmutable DateTimeImmutable::__set_state ( array $array )

Like DateTime::__set_state() but works with DateTimeImmutable.

DateTimeImmutable::modify
DateTimeImmutable::setDate
DateTimeImmutable


Sets the date

DateTimeImmutable::__set_state
DateTimeImmutable::setISODate
DateTimeImmutable
PHP Manual

DateTimeImmutable::setDate

(PHP 5 >= 5.5.0, PHP 7)

DateTimeImmutable::setDate — Sets the date

Beschreibung

public DateTimeImmutable DateTimeImmutable::setDate ( int $year , int $month , int $day )

Like DateTime::setDate() but works with DateTimeImmutable.

DateTimeImmutable::__set_state
DateTimeImmutable::setISODate
DateTimeImmutable


Sets the ISO date

DateTimeImmutable::setDate
DateTimeImmutable::setTime
DateTimeImmutable
PHP Manual

DateTimeImmutable::setISODate

(PHP 5 >= 5.5.0, PHP 7)

DateTimeImmutable::setISODate — Sets the ISO date

Beschreibung

public DateTimeImmutable DateTimeImmutable::setISODate ( int $year , int $week [, int $day = 1 ] )

Like DateTime::setISODate() but works with DateTimeImmutable.

DateTimeImmutable::setDate
DateTimeImmutable::setTime
DateTimeImmutable


Sets the time

DateTimeImmutable::setISODate
DateTimeImmutable::setTimestamp
DateTimeImmutable
PHP Manual

DateTimeImmutable::setTime

(PHP 5 >= 5.5.0, PHP 7)

DateTimeImmutable::setTime — Sets the time

Beschreibung

public DateTimeImmutable DateTimeImmutable::setTime ( int $hour , int $minute [, int $second = 0 ] )

Like DateTime::setTime() but works with DateTimeImmutable.

DateTimeImmutable::setISODate
DateTimeImmutable::setTimestamp
DateTimeImmutable


Sets the date and time based on an Unix timestamp

DateTimeImmutable::setTime
DateTimeImmutable::setTimezone
DateTimeImmutable
PHP Manual

DateTimeImmutable::setTimestamp

(PHP 5 >= 5.5.0, PHP 7)

DateTimeImmutable::setTimestamp — Sets the date and time based on an Unix timestamp

Beschreibung

public DateTimeImmutable DateTimeImmutable::setTimestamp ( int $unixtimestamp )

Like DateTime::setTimestamp() but works with DateTimeImmutable.

DateTimeImmutable::setTime
DateTimeImmutable::setTimezone
DateTimeImmutable


Sets the time zone

DateTimeImmutable::setTimestamp
DateTimeImmutable::sub
DateTimeImmutable
PHP Manual

DateTimeImmutable::setTimezone

(PHP 5 >= 5.5.0, PHP 7)

DateTimeImmutable::setTimezone — Sets the time zone

Beschreibung

public DateTimeImmutable DateTimeImmutable::setTimezone ( DateTimeZone $timezone )

Like DateTime::setTimezone() but works with DateTimeImmutable.

DateTimeImmutable::setTimestamp
DateTimeImmutable::sub
DateTimeImmutable


Subtracts an amount of days, months, years, hours, minutes and seconds

DateTimeImmutable::setTimezone
DateTimeInterface
DateTimeImmutable
PHP Manual

DateTimeImmutable::sub

(PHP 5 >= 5.5.0, PHP 7)

DateTimeImmutable::sub — Subtracts an amount of days, months, years, hours, minutes and seconds

Beschreibung

public DateTimeImmutable DateTimeImmutable::sub ( DateInterval $interval )

Like DateTime::sub() but works with DateTimeImmutable.

DateTimeImmutable::setTimezone
DateTimeInterface
DateTimeImmutable


Das DateTimeInterface Interface

(PHP 5 >= 5.5.0, PHP 7)

Einführung

DateTimeInterface ist dazu gedacht, dass ein gemeinsamer Type Hint für DateTime und DateTimeImmutable verwendet werden kann. Es ist nicht möglich dieses Interface durch Userland Klassen zu implementieren.

Klassenbeschreibung

DateTimeInterface {
/* Methoden */
public DateInterval diff ( DateTimeInterface $datetime2 [, bool $absolute = false ] )
public string format ( string $format )
public int getOffset ( void )
public int getTimestamp ( void )
public DateTimeZone getTimezone ( void )
public __wakeup ( void )
}

Changelog

Version | Beschreibung
5.5.8 | Der Versuch DateTimeInterface zu implementieren, erzeugt nun einen fatalen Fehler. Zuvor wurde kein Fehler erzeugt, aber das Verhalten war fehlerhaft.

Inhaltsverzeichnis

  • DateTime::diff — Returns the difference between two DateTime objects
  • DateTime::format — Returns date formatted according to given format
  • DateTime::getOffset — Returns the timezone offset
  • DateTime::getTimestamp — Gets the Unix timestamp
  • DateTime::getTimezone — Return time zone relative to given DateTime
  • DateTime::__wakeup — The __wakeup handler
DateTimeImmutable::sub
DateTime::diff
Datum/Uhrzeit


Returns the difference between two DateTime objects

DateTimeInterface
DateTime::format
DateTimeInterface
PHP Manual

DateTime::diff

DateTimeImmutable::diff

DateTimeInterface::diff

date_diff

(PHP 5 >= 5.3.0, PHP 7)

DateTime::diff -- DateTimeImmutable::diff -- DateTimeInterface::diff -- date_diff — Returns the difference between two DateTime objects

Beschreibung

Objektorientierter Stil

public DateInterval DateTime::diff ( DateTimeInterface $datetime2 [, bool $absolute = false ] )
public DateInterval DateTimeImmutable::diff ( DateTimeInterface $datetime2 [, bool $absolute = false ] )
public DateInterval DateTimeInterface::diff ( DateTimeInterface $datetime2 [, bool $absolute = false ] )

Prozeduraler Stil

DateInterval date_diff ( DateTimeInterface $datetime1 , DateTimeInterface $datetime2 [, bool $absolute = false ] )

Returns the difference between two DateTimeInterface objects.

Parameter-Liste

datetime

The date to compare to.

absolute

Should the interval be forced to be positive?

Rückgabewerte

The DateInterval object representing the difference between the two datesIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 DateTime::diff() example

Objektorientierter Stil

<?php
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days');
?>

Prozeduraler Stil

<?php
$datetime1 = date_create('2009-10-11');
$datetime2 = date_create('2009-10-13');
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%R%a days');
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

+2 days

Beispiel #2 DateTime object comparison

Hinweis:

As of PHP 5.2.2, DateTime objects can be compared using comparison operators.

<?php
$date1 = new DateTime("now");
$date2 = new DateTime("tomorrow");

var_dump($date1 == $date2);
var_dump($date1 < $date2);
var_dump($date1 > $date2);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(true)
bool(false)

Siehe auch

  • DateInterval::format() - Formats the interval
  • DateTime::add() - Addiert einen Wert von Tagen, Monaten, Jahren, Stunden, Minuten und Sekunden zu einem DateTime-Objekt
  • DateTime::sub() - Subtrahiert eine Anzahl von Tagen, Monaten, Jahren, Stunden, Minuten und Sekunden von einem DateTime-Objekt.
DateTimeInterface
DateTime::format
DateTimeInterface


Returns date formatted according to given format

DateTime::diff
DateTime::getOffset
DateTimeInterface
PHP Manual

DateTime::format

DateTimeImmutable::format

DateTimeInterface::format

date_format

(PHP 5 >= 5.2.0, PHP 7)

DateTime::format -- DateTimeImmutable::format -- DateTimeInterface::format -- date_format — Returns date formatted according to given format

Beschreibung

Objektorientierter Stil

public string DateTime::format ( string $format )
public string DateTimeImmutable::format ( string $format )
public string DateTimeInterface::format ( string $format )

Prozeduraler Stil

string date_format ( DateTimeInterface $object , string $format )

Returns date formatted according to given format.

Parameter-Liste

object

Nur bei prozeduralem Aufruf: Ein von date_create() zurückgegebens DateTime Objekt.

format

Format accepted by date().

Rückgabewerte

Returns the formatted date string on successIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 DateTime::format() example

Objektorientierter Stil

<?php
$date = new DateTime('2000-01-01');
echo $date->format('Y-m-d H:i:s');
?>

Prozeduraler Stil

<?php
$date = date_create('2000-01-01');
echo date_format($date, 'Y-m-d H:i:s');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

2000-01-01 00:00:00

Anmerkungen

This method does not use locales. All output is in English.

Siehe auch

  • date() - Formatiert ein(e) angegebene(s) Ortszeit/Datum
DateTime::diff
DateTime::getOffset
DateTimeInterface


Returns the timezone offset

DateTime::format
DateTime::getTimestamp
DateTimeInterface
PHP Manual

DateTime::getOffset

DateTimeImmutable::getOffset

DateTimeInterface::getOffset

date_offset_get

(PHP 5 >= 5.2.0, PHP 7)

DateTime::getOffset -- DateTimeImmutable::getOffset -- DateTimeInterface::getOffset -- date_offset_get — Returns the timezone offset

Beschreibung

Objektorientierter Stil

public int DateTime::getOffset ( void )
public int DateTimeImmutable::getOffset ( void )
public int DateTimeInterface::getOffset ( void )

Prozeduraler Stil

int date_offset_get ( DateTimeInterface $object )

Returns the timezone offset.

Parameter-Liste

object

Nur bei prozeduralem Aufruf: Ein von date_create() zurückgegebens DateTime Objekt.

Rückgabewerte

Returns the timezone offset in seconds from UTC on success Im Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 DateTime::getOffset() example

Objektorientierter Stil

<?php
$winter = new DateTime('2010-12-21', new DateTimeZone('America/New_York'));
$summer = new DateTime('2008-06-21', new DateTimeZone('America/New_York'));

echo $winter->getOffset() . "\n";
echo $summer->getOffset() . "\n";
?>

Prozeduraler Stil

<?php
$winter = date_create('2010-12-21', timezone_open('America/New_York'));
$summer = date_create('2008-06-21', timezone_open('America/New_York'));

echo date_offset_get($winter) . "\n";
echo date_offset_get($summer) . "\n";
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

-18000
-14400

Note: -18000 = -5 hours, -14400 = -4 hours.

DateTime::format
DateTime::getTimestamp
DateTimeInterface


Gets the Unix timestamp

DateTime::getOffset
DateTime::getTimezone
DateTimeInterface
PHP Manual

DateTime::getTimestamp

DateTimeImmutable::getTimestamp

DateTimeInterface::getTimestamp

date_timestamp_get

(PHP 5 >= 5.3.0, PHP 7)

DateTime::getTimestamp -- DateTimeImmutable::getTimestamp -- DateTimeInterface::getTimestamp -- date_timestamp_get — Gets the Unix timestamp

Beschreibung

Objektorientierter Stil

public int DateTime::getTimestamp ( void )
public int DateTimeImmutable::getTimestamp ( void )
public int DateTimeInterface::getTimestamp ( void )

Prozeduraler Stil

int date_timestamp_get ( DateTimeInterface $object )

Gets the Unix timestamp.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the Unix timestamp representing the date.

Beispiele

Beispiel #1 DateTime::getTimestamp() example

Objektorientierter Stil

<?php
$date = new DateTime();
echo $date->getTimestamp();
?>

Prozeduraler Stil

<?php
$date = date_create();
echo date_timestamp_get($date);
?>

Oben gezeigte Beispiele erzeugen eine ähnliche Ausgabe wie:

1272509157

Anmerkungen

Using U as the parameter to DateTime::format() is an alternative when using PHP 5.2.

Siehe auch

  • DateTime::setTimestamp() - Legt Datum und Zeit basierend auf einem Unix-Zeitstempel fest
  • DateTime::format() - Returns date formatted according to given format
DateTime::getOffset
DateTime::getTimezone
DateTimeInterface


Return time zone relative to given DateTime

DateTime::getTimestamp
DateTime::__wakeup
DateTimeInterface
PHP Manual

DateTime::getTimezone

DateTimeImmutable::getTimezone

DateTimeInterface::getTimezone

date_timezone_get

(PHP 5 >= 5.2.0, PHP 7)

DateTime::getTimezone -- DateTimeImmutable::getTimezone -- DateTimeInterface::getTimezone -- date_timezone_get — Return time zone relative to given DateTime

Beschreibung

Objektorientierter Stil

public DateTimeZone DateTime::getTimezone ( void )
public DateTimeZone DateTimeImmutable::getTimezone ( void )
public DateTimeZone DateTimeInterface::getTimezone ( void )

Prozeduraler Stil

DateTimeZone date_timezone_get ( DateTimeInterface $object )

Return time zone relative to given DateTime.

Parameter-Liste

object

Nur bei prozeduralem Aufruf: Ein von date_create() zurückgegebens DateTime Objekt.

Rückgabewerte

Returns a DateTimeZone object on success Im Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 DateTime::getTimezone() example

Objektorientierter Stil

<?php
$date = new DateTime(null, new DateTimeZone('Europe/London'));
$tz = $date->getTimezone();
echo $tz->getName();
?>

Prozeduraler Stil

<?php
$date = date_create(null, timezone_open('Europe/London'));
$tz = date_timezone_get($date);
echo timezone_name_get($tz);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Europe/London

Siehe auch

  • DateTime::setTimezone() - Legt die Zeitzone für ein DateTime Objekt fest
DateTime::getTimestamp
DateTime::__wakeup
DateTimeInterface


The __wakeup handler

DateTime::getTimezone
DateTimeZone
DateTimeInterface
PHP Manual

DateTime::__wakeup

DateTimeImmutable::__wakeup

DateTimeInterface::__wakeup

(PHP 5 >= 5.2.0, PHP 7)

DateTime::__wakeup -- DateTimeImmutable::__wakeup -- DateTimeInterface::__wakeup — The __wakeup handler

Beschreibung

public DateTime::__wakeup ( void )
public DateTimeImmutable::__wakeup ( void )
public DateTimeInterface::__wakeup ( void )

The __wakeup() handler.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Initializes a DateTime object.

DateTime::getTimezone
DateTimeZone
DateTimeInterface


Die DateTimeZone Klasse

(PHP 5 >= 5.2.0, PHP 7)

Einführung

Abbildung der Zeitzone.

Klassenbeschreibung

DateTimeZone {
/* Konstanten */
const integer AFRICA = 1 ;
const integer AMERICA = 2 ;
const integer ANTARCTICA = 4 ;
const integer ARCTIC = 8 ;
const integer ASIA = 16 ;
const integer ATLANTIC = 32 ;
const integer AUSTRALIA = 64 ;
const integer EUROPE = 128 ;
const integer INDIAN = 256 ;
const integer PACIFIC = 512 ;
const integer UTC = 1024 ;
const integer ALL = 2047 ;
const integer ALL_WITH_BC = 4095 ;
const integer PER_COUNTRY = 4096 ;
/* Methoden */
public __construct ( string $timezone )
public array getLocation ( void )
public string getName ( void )
public int getOffset ( DateTime $datetime )
public array getTransitions ([ int $timestamp_begin [, int $timestamp_end ]] )
public static array listAbbreviations ( void )
public static array listIdentifiers ([ int $what = DateTimeZone::ALL [, string $country = NULL ]] )
}

Vordefinierte Konstanten

DateTimeZone::AFRICA

Afrikanische Zeitzone

DateTimeZone::AMERICA

Amerikanische Zeitzone

DateTimeZone::ANTARCTICA

Antarktische Zeitzone

DateTimeZone::ARCTIC

Arktische Zeitzone.

DateTimeZone::ASIA

Asiatische Zeitzone

DateTimeZone::ATLANTIC

Atlantische Zeitzone.

DateTimeZone::AUSTRALIA

Australische Zeitzone.

DateTimeZone::EUROPE

Europäische Zeitzone.

DateTimeZone::INDIAN

Indische Zeitzone.

DateTimeZone::PACIFIC

Pazifische Zeitzonen

DateTimeZone::UTC

UTC Zeitzonen

DateTimeZone::ALL

Alle Zeitzonen

DateTimeZone::ALL_WITH_BC

Alle Zeitzonen mit Abwärtskompabilität.

DateTimeZone::PER_COUNTRY

Zeitzonen pro Land

Inhaltsverzeichnis

  • DateTimeZone::__construct — Erstellt neues DateTimeZone Objekt
  • DateTimeZone::getLocation — Returns location information for a timezone
  • DateTimeZone::getName — Returns the name of the timezone
  • DateTimeZone::getOffset — Returns the timezone offset from GMT
  • DateTimeZone::getTransitions — Returns all transitions for the timezone
  • DateTimeZone::listAbbreviations — Returns associative array containing dst, offset and the timezone name
  • DateTimeZone::listIdentifiers — Returns a numerically indexed array containing all defined timezone identifiers
DateTime::__wakeup
DateTimeZone::__construct
Datum/Uhrzeit


Erstellt neues DateTimeZone Objekt

DateTimeZone
DateTimeZone::getLocation
DateTimeZone
PHP Manual

DateTimeZone::__construct

timezone_open

(PHP 5 >= 5.2.0, PHP 7)

DateTimeZone::__construct -- timezone_open — Erstellt neues DateTimeZone Objekt

Beschreibung

Objektorientierter Stil

public DateTimeZone::__construct ( string $timezone )

Prozeduraler Stil

DateTimeZone timezone_open ( string $timezone )

Erstellt neues DateTimeZone Objekt.

Parameter-Liste

timezone

Eine der unterstützten Zeitzonen..

Rückgabewerte

Gibt bei Erfolg DateTimeZone zurück. Prozeduraler Stil Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Diese Methode wirft Exception, wenn die gegebene Zeitzone als nicht korrekt eingestuft wurde.

Beispiele

Beispiel #1 Fehler beim Initialisieren von DateTimeZone abfangen

<?php
// Fehlerbehandlung durch Abfangen von Exceptions
$timezones = array('Europe/London', 'Mars/Phobos', 'Jupiter/Europa');

foreach ($timezones as $tz) {
    try {
        $mars = new DateTimeZone($tz);
    } catch(Exception $e) {
        echo $e->getMessage() . '<br />';
    }
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

DateTimeZone::__construct() [datetimezone.--construct]: Unknown or bad timezone (Mars/Phobos)
DateTimeZone::__construct() [datetimezone.--construct]: Unknown or bad timezone (Jupiter/Europa)

DateTimeZone
DateTimeZone::getLocation
DateTimeZone


Returns location information for a timezone

DateTimeZone::__construct
DateTimeZone::getName
DateTimeZone
PHP Manual

DateTimeZone::getLocation

timezone_location_get

(PHP 5 >= 5.3.0, PHP 7)

DateTimeZone::getLocation -- timezone_location_get — Returns location information for a timezone

Beschreibung

Objektorientierter Stil

public array DateTimeZone::getLocation ( void )

Prozeduraler Stil

array timezone_location_get ( DateTimeZone $object )

Returns location information for a timezone, including country code, latitude/longitude and comments.

Parameter-Liste

object

Nur bei prozeduralem Aufruf: Ein von date_create() zurückgegebens DateTimeZone Objekt.

Rückgabewerte

Array containing location information about timezone.

Beispiele

Beispiel #1 DateTimeZone::getLocation() example

<?php
$tz = new DateTimeZone("Europe/Prague");
print_r($tz->getLocation());
print_r(timezone_location_get($tz));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [country_code] => CZ
    [latitude] => 50.08333
    [longitude] => 14.43333
    [comments] =>
)
Array
(
    [country_code] => CZ
    [latitude] => 50.08333
    [longitude] => 14.43333
    [comments] =>
)

DateTimeZone::__construct
DateTimeZone::getName
DateTimeZone


Returns the name of the timezone

DateTimeZone::getLocation
DateTimeZone::getOffset
DateTimeZone
PHP Manual

DateTimeZone::getName

timezone_name_get

(PHP 5 >= 5.2.0, PHP 7)

DateTimeZone::getName -- timezone_name_get — Returns the name of the timezone

Beschreibung

Objektorientierter Stil

public string DateTimeZone::getName ( void )

Prozeduraler Stil

string timezone_name_get ( DateTimeZone $object )

Returns the name of the timezone.

Parameter-Liste

object

The DateTimeZone for which to get a name.

Rückgabewerte

One of the timezone names in the list of timezones.

DateTimeZone::getLocation
DateTimeZone::getOffset
DateTimeZone


Returns the timezone offset from GMT

DateTimeZone::getName
DateTimeZone::getTransitions
DateTimeZone
PHP Manual

DateTimeZone::getOffset

timezone_offset_get

(PHP 5 >= 5.2.0, PHP 7)

DateTimeZone::getOffset -- timezone_offset_get — Returns the timezone offset from GMT

Beschreibung

Objektorientierter Stil

public int DateTimeZone::getOffset ( DateTime $datetime )

Prozeduraler Stil

int timezone_offset_get ( DateTimeZone $object , DateTime $datetime )

This function returns the offset to GMT for the date/time specified in the datetime parameter. The GMT offset is calculated with the timezone information contained in the DateTimeZone object being used.

Parameter-Liste

object

Nur bei prozeduralem Aufruf: Ein von date_create() zurückgegebens DateTimeZone Objekt.

datetime

DateTime that contains the date/time to compute the offset from.

Rückgabewerte

Returns time zone offset in seconds on successIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 DateTimeZone::getOffset() examples

<?php
// Create two timezone objects, one for Taipei (Taiwan) and one for
// Tokyo (Japan)
$dateTimeZoneTaipei = new DateTimeZone("Asia/Taipei");
$dateTimeZoneJapan = new DateTimeZone("Asia/Tokyo");

// Create two DateTime objects that will contain the same Unix timestamp, but
// have different timezones attached to them.
$dateTimeTaipei = new DateTime("now", $dateTimeZoneTaipei);
$dateTimeJapan = new DateTime("now", $dateTimeZoneJapan);

// Calculate the GMT offset for the date/time contained in the $dateTimeTaipei
// object, but using the timezone rules as defined for Tokyo
// ($dateTimeZoneJapan).
$timeOffset = $dateTimeZoneJapan->getOffset($dateTimeTaipei);

// Should show int(32400) (for dates after Sat Sep 8 01:00:00 1951 JST).
var_dump($timeOffset);
?>

DateTimeZone::getName
DateTimeZone::getTransitions
DateTimeZone


Returns all transitions for the timezone

DateTimeZone::getOffset
DateTimeZone::listAbbreviations
DateTimeZone
PHP Manual

DateTimeZone::getTransitions

timezone_transitions_get

(PHP 5 >= 5.2.0, PHP 7)

DateTimeZone::getTransitions -- timezone_transitions_get — Returns all transitions for the timezone

Beschreibung

Objektorientierter Stil

public array DateTimeZone::getTransitions ([ int $timestamp_begin [, int $timestamp_end ]] )

Prozeduraler Stil

array timezone_transitions_get ( DateTimeZone $object [, int $timestamp_begin [, int $timestamp_end ]] )

Parameter-Liste

object

Nur bei prozeduralem Aufruf: Ein von date_create() zurückgegebens DateTimeZone Objekt.

timestamp_begin

Begin timestamp.

timestamp_end

End timestamp.

Rückgabewerte

Returns numerically indexed array containing associative array with all transitions on successIm Fehlerfall wird FALSE zurückgegeben..

Changelog

Version | Beschreibung
5.3.0 | The optional timestamp_begin and timestamp_end were added.

Beispiele

Beispiel #1 A timezone_transitions_get() example

<?php
$timezone = new DateTimeZone("Europe/London");
$transitions = $timezone->getTransitions();
print_r(array_slice($transitions, 0, 3));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [0] => Array
        (
            [ts] => -9223372036854775808
            [time] => -292277022657-01-27T08:29:52+0000
            [offset] => 3600
            [isdst] => 1
            [abbr] => BST
        )

    [1] => Array
        (
            [ts] => -1691964000
            [time] => 1916-05-21T02:00:00+0000
            [offset] => 3600
            [isdst] => 1
            [abbr] => BST
        )

    [2] => Array
        (
            [ts] => -1680472800
            [time] => 1916-10-01T02:00:00+0000
            [offset] => 0
            [isdst] =>
            [abbr] => GMT
        )

)

DateTimeZone::getOffset
DateTimeZone::listAbbreviations
DateTimeZone


Returns associative array containing dst, offset and the timezone name

DateTimeZone::getTransitions
DateTimeZone::listIdentifiers
DateTimeZone
PHP Manual

DateTimeZone::listAbbreviations

timezone_abbreviations_list

(PHP 5 >= 5.2.0, PHP 7)

DateTimeZone::listAbbreviations -- timezone_abbreviations_list — Returns associative array containing dst, offset and the timezone name

Beschreibung

Objektorientierter Stil

public static array DateTimeZone::listAbbreviations ( void )

Prozeduraler Stil

array timezone_abbreviations_list ( void )

Rückgabewerte

Returns array on successIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 A timezone_abbreviations_list() example

<?php
$timezone_abbreviations = DateTimeZone::listAbbreviations();
print_r($timezone_abbreviations["acst"]);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [0] => Array
        (
            [dst] => 1
            [offset] => -14400
            [timezone_id] => America/Porto_Acre
        )

    [1] => Array
        (
            [dst] => 1
            [offset] => -14400
            [timezone_id] => America/Eirunepe
        )

    [2] => Array
        (
            [dst] => 1
            [offset] => -14400
            [timezone_id] => America/Rio_Branco
        )

    [3] => Array
        (
            [dst] => 1
            [offset] => -14400
            [timezone_id] => Brazil/Acre
        )

)

Siehe auch

  • timezone_identifiers_list() - Alias von DateTimeZone::listIdentifiers

DateTimeZone::getTransitions
DateTimeZone::listIdentifiers
DateTimeZone


Returns a numerically indexed array containing all defined timezone identifiers

DateTimeZone::listAbbreviations
DateInterval
DateTimeZone
PHP Manual

DateTimeZone::listIdentifiers

timezone_identifiers_list

(PHP 5 >= 5.2.0, PHP 7)

DateTimeZone::listIdentifiers -- timezone_identifiers_list — Returns a numerically indexed array containing all defined timezone identifiers

Beschreibung

Objektorientierter Stil

public static array DateTimeZone::listIdentifiers ([ int $what = DateTimeZone::ALL [, string $country = NULL ]] )

Prozeduraler Stil

array timezone_identifiers_list ([ int $what = DateTimeZone::ALL [, string $country = NULL ]] )

Parameter-Liste

what

One of DateTimeZone class constants.

country

A two-letter ISO 3166-1 compatible country code.

Hinweis: This option is only used when what is set to DateTimeZone::PER_COUNTRY.

Rückgabewerte

Returns array on successIm Fehlerfall wird FALSE zurückgegeben..

Changelog

Version | Beschreibung
5.3.0 | Added the optional what and country parameters.

Beispiele

Beispiel #1 A timezone_identifiers_list() example

<?php
$timezone_identifiers = DateTimeZone::listIdentifiers();
for ($i=0; $i < 5; $i++) {
    echo "$timezone_identifiers[$i]\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara

Siehe auch

  • timezone_abbreviations_list() - Alias von DateTimeZone::listAbbreviations

DateTimeZone::listAbbreviations
DateInterval
DateTimeZone


Die DateInterval Klasse

(PHP 5 >= 5.3.0, PHP 7)

Einführung

Repräsentiert eine Zeitspanne.

Eine Zeitspanne wird entweder als feste Zeit (in Jahren, Monaten, Tagen, Stunden etc.) oder als String in einem Format, das vom Konstruktor der DateTime Klasse unterstützt wird, dargestellt.

Klassenbeschreibung

DateInterval {
/* Eigenschaften */
public integer $y ;
public integer $m ;
public integer $d ;
public integer $h ;
public integer $i ;
public integer $s ;
public integer $invert ;
public mixed $days ;
/* Methoden */
public __construct ( string $interval_spec )
public static DateInterval createFromDateString ( string $time )
public string format ( string $format )
}

Eigenschaften

y

Anzahl der Jahre.

m

Anzahl der Monate.

d

Anzahl der Tage.

h

Anzahl der Stunden.

i

Anzahl der Minuten.

s

Anzahl der Sekunden.

invert

Ist 1, wenn die Zeitspanne negativ ist, und sonst 0. Siehe DateInterval::format().

days

Wenn das DateInterval Objekt durch DateTime::diff() erstellt wurde, dann enthält diese Eigenschaft die Gesamtanzahl der Tage zwischen dem Start und Enddatum. Ansonsten enthält days den Wert FALSE.

Vor PHP 5.4.20/5.5.4 ist der Wert -99999 anstelle von FALSE

Inhaltsverzeichnis

  • DateInterval::__construct — Erstellt ein neues DateInterval Objekt
  • DateInterval::createFromDateString — Bildet ein DateInterval aus relativen Teilen des Strings
  • DateInterval::format — Formats the interval
DateTimeZone::listIdentifiers
DateInterval::__construct
Datum/Uhrzeit


Erstellt ein neues DateInterval Objekt

DateInterval
DateInterval::createFromDateString
DateInterval
PHP Manual

DateInterval::__construct

(PHP 5 >= 5.3.0, PHP 7)

DateInterval::__construct — Erstellt ein neues DateInterval Objekt

Beschreibung

public DateInterval::__construct ( string $interval_spec )

Erstellt ein neues DateInterval Objekt.

Parameter-Liste

interval_spec

Eine Intervall Spezifikation

Das Format beginnt mit dem Buchstaben P für "period". Jede Periodendauer wird als Integer-Wert, gefolgt von einem Perioden-Bezeichner, repräsentiert. Enthält die Dauer Zeitelemente, steht diesem Teil der Spezifikation der Buchstabe T voran.

interval_spec Perioden Bezeichner
Perioden Bezeichner | Beschreibung
Y | Jahre
M | Monate
D | Tage
W | Wochen. Diese werden in Tage umgerechnet und können daher nicht mit D kombiniert werden.
H | Stunden
M | Minuten
S | Sekunden

Hier sind ein paar einfache Beispiele. Zwei Tage sind P2D. Zwei Sekunden sind PT2S. Sechs Jahre und fünf Minuten ist P6YT5M.

Hinweis:

Die Einheitstypen müssen von der größten Einheit von Links zur kleinsten Einheit nach rechts angegeben werden. Also Jahre vor Monate, Monate vor Tage, Tage vor Minuten etc. Also muss ein Jahr und vier Tage als P1Y4D dargestellt werden, nicht als P4D1Y.

Die Spezifikation kann aber auch als Zeitstempel angegeben werden. Ein Beispiel für ein Jahr und vier Tage wäre also P0001-00-04T00:00:00. Die Werte in diesem Format können allerdings den jeweiligen Übersprungspunkt der Periode nicht überschreiten (z.B. ist 25 Stunden ungültig).

Diese Formate basieren auf der » ISO 8601 Dauer-Spezifikation.

Fehler/Exceptions

Wirft eine Exception, wenn interval_spec nicht als Intervall geparst werden kann.

Beispiele

Beispiel #1 DateInterval Beispiel

<?php

$interval = new DateInterval('P2Y4DT6H8M');
var_dump($interval);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(DateInterval)#1 (8) {
  ["y"]=>
  int(2)
  ["m"]=>
  int(0)
  ["d"]=>
  int(4)
  ["h"]=>
  int(6)
  ["i"]=>
  int(8)
  ["s"]=>
  int(0)
  ["invert"]=>
  int(0)
  ["days"]=>
  bool(false)
}

Siehe auch

  • DateInterval::format() - Formats the interval
  • DateTime::add() - Addiert einen Wert von Tagen, Monaten, Jahren, Stunden, Minuten und Sekunden zu einem DateTime-Objekt
  • DateTime::sub() - Subtrahiert eine Anzahl von Tagen, Monaten, Jahren, Stunden, Minuten und Sekunden von einem DateTime-Objekt.
  • DateTime::diff() - Returns the difference between two DateTime objects

DateInterval
DateInterval::createFromDateString
DateInterval


Bildet ein DateInterval aus relativen Teilen des Strings

DateInterval::__construct
DateInterval::format
DateInterval
PHP Manual

DateInterval::createFromDateString

(PHP 5 >= 5.3.0, PHP 7)

DateInterval::createFromDateString — Bildet ein DateInterval aus relativen Teilen des Strings

Beschreibung

public static DateInterval DateInterval::createFromDateString ( string $time )

Verwendet die normalen Datenparser und bildet ein DateInterval aus den relativen Teilen des geparsten Strings.

Parameter-Liste

time

Ein Datum mit relativen Teilen. Insbesondere werden die relativen Formate, die vom Parser, der für strtotime() und DateTime verwendet wird, unterstützt werden, verwendet, um das DateInterval zu konstruieren.

Beispiele

Beispiel #1 Parsen von gültigen Datum-Intervallen

<?php
// Jede Gruppe von Intervallen ist gleich.
$i = new DateInterval('P1D');
$i = DateInterval::createFromDateString('1 day');

$i = new DateInterval('P2W');
$i = DateInterval::createFromDateString('2 weeks');

$i = new DateInterval('P3M');
$i = DateInterval::createFromDateString('3 months');

$i = new DateInterval('P4Y');
$i = DateInterval::createFromDateString('4 years');

$i = new DateInterval('P1Y1D');
$i = DateInterval::createFromDateString('1 year + 1 day');

$i = new DateInterval('P1DT12H');
$i = DateInterval::createFromDateString('1 day + 12 hours');

$i = new DateInterval('PT3600S');
$i = DateInterval::createFromDateString('3600 seconds');
?>

Rückgabewerte

Gibt ein neues DateInterval Exemplar zurück.

DateInterval::__construct
DateInterval::format
DateInterval


Formats the interval

DateInterval::createFromDateString
DatePeriod
DateInterval
PHP Manual

DateInterval::format

(PHP 5 >= 5.3.0, PHP 7)

DateInterval::format — Formats the interval

Beschreibung

public string DateInterval::format ( string $format )

Formats the interval.

Parameter-Liste

format

The following characters are recognized in the format parameter string. Each format character must be prefixed by a percent sign (%).
format character | Description | Example values
% Literal % %
Y | Years, numeric, at least 2 digits with leading 0 | 01, 03
y | Years, numeric | 1, 3
M | Months, numeric, at least 2 digits with leading 0 | 01, 03, 12
m | Months, numeric | 1, 3, 12
D | Days, numeric, at least 2 digits with leading 0 | 01, 03, 31
d | Days, numeric | 1, 3, 31
a | Total number of days as a result of a DateTime::diff() or (unknown) otherwise | 4, 18, 8123
H | Hours, numeric, at least 2 digits with leading 0 | 01, 03, 23
h | Hours, numeric | 1, 3, 23
I | Minutes, numeric, at least 2 digits with leading 0 | 01, 03, 59
i | Minutes, numeric | 1, 3, 59
S | Seconds, numeric, at least 2 digits with leading 0 | 01, 03, 57
s | Seconds, numeric | 1, 3, 57
R Sign "-" when negative, "+" when positive -, +
r Sign "-" when negative, empty when positive -,

Rückgabewerte

Returns the formatted interval.

Anmerkungen

Hinweis:

The DateInterval::format() method does not recalculate carry over points in time strings nor in date segments. This is expected because it is not possible to overflow values like "32 days" which could be interpreted as anything from "1 month and 4 days" to "1 month and 1 day".

Beispiele

Beispiel #1 DateInterval example

<?php

$interval = new DateInterval('P2Y4DT6H8M');
echo $interval->format('%d days');

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

4 days

Beispiel #2 DateInterval and carry over points

<?php

$interval = new DateInterval('P32D');
echo $interval->format('%d days');

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

32 days

Beispiel #3 DateInterval and DateTime::diff() with the %a and %d modifiers

<?php

$january = new DateTime('2010-01-01');
$february = new DateTime('2010-02-01');
$interval = $february->diff($january);

// %a will output the total number of days.
echo $interval->format('%a total days')."\n";

// While %d will only output the number of days not already covered by the
// month.
echo $interval->format('%m month, %d days');

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

31 total days
1 month, 0 days

Siehe auch

  • DateTime::diff() - Returns the difference between two DateTime objects

DateInterval::createFromDateString
DatePeriod
DateInterval


Die DatePeriod Klasse

(PHP 5 >= 5.3.0, PHP 7)

Einführung

Stellt einen Datumsbereich dar.

Ein Datumsbereich ermöglicht die Iteration über eine Reihe von Datumsangaben und Uhrzeiten, die sich in regelmäßigen Intervallen wiederholen, über einen bestimmten Zeitraum.

Klassenbeschreibung

DatePeriod implements Traversable {
/* Konstanten */
const integer EXCLUDE_START_DATE = 1 ;
/* Methoden */
public __construct ( DateTimeInterface $start , DateInterval $interval , int $recurrences [, int $options ] )
public __construct ( DateTimeInterface $start , DateInterval $interval , DateTimeInterface $end [, int $options ] )
public __construct ( string $isostr [, int $options ] )
public DateInterval getDateInterval ( void )
public DateTimeInterface getEndDate ( void )
public DateTimeInterface getStartDate ( void )
}

Vordefinierte Konstanten

DatePeriod::EXCLUDE_START_DATE

Anfangsdatum ausschließen; verwendet mit DatePeriod::__construct().

Inhaltsverzeichnis

  • DatePeriod::__construct — Erstellt ein neues DatePeriod Objekt
  • DatePeriod::getDateInterval — Gets the interval
  • DatePeriod::getEndDate — Gets the end date
  • DatePeriod::getStartDate — Gets the start date
DateInterval::format
DatePeriod::__construct
Datum/Uhrzeit


Erstellt ein neues DatePeriod Objekt

DatePeriod
DatePeriod::getDateInterval
DatePeriod
PHP Manual

DatePeriod::__construct

(PHP 5 >= 5.3.0, PHP 7)

DatePeriod::__construct — Erstellt ein neues DatePeriod Objekt

Beschreibung

public DatePeriod::__construct ( DateTimeInterface $start , DateInterval $interval , int $recurrences [, int $options ] )
public DatePeriod::__construct ( DateTimeInterface $start , DateInterval $interval , DateTimeInterface $end [, int $options ] )
public DatePeriod::__construct ( string $isostr [, int $options ] )

Erstellt ein neues DatePeriod Objekt.

Parameter-Liste

start

Das Startdatum der Periode.

interval

Das Intervall zwischen den Wiederholungen in der Periode.

recurrences

Die Anzahl der Wiederholungen.

end

Das Enddatum der Periode.

isostr

Eine ISO 8601 Spezifikation für sich wiederholende Intervalle.

options

Kann auf den Wert DatePeriod::EXCLUDE_START_DATE gesetzt werden, um das Startdatum aus den wiederkehrenden Terminen innnerhalb der Periode auszuschließen.

Changelog

Version | Beschreibung
5.5.8 | end Typ zu DateTimeImmutable geändert. Zuvor war es DateTime.
5.5.0 | start Typ zu DateTimeImmutable geändert. Zuvor war es DateTime.

Beispiele

Beispiel #1 DatePeriod Beispiel

<?php
$start = new DateTime('2012-07-01');
$interval = new DateInterval('P7D');
$end = new DateTime('2012-07-31');
$recurrences = 4;
$iso = 'R4/2012-07-01T00:00:00Z/P7D';

// Alle diese Perioden sind gleichwertig.
$period = new DatePeriod($start, $interval, $recurrences);
$period = new DatePeriod($start, $interval, $end);
$period = new DatePeriod($iso);

// Durch Iterieren über das DatePeriod Objekt, werden alle sich
// wiederholenden Termine innerhalb der Periode ausgegeben.
foreach ($period as $date) {
    echo $date->format('Y-m-d')."\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

2012-07-01
2012-07-08
2012-07-15
2012-07-22
2012-07-29

Beispiel #2 DatePeriod Beispiel mit DatePeriod::EXCLUDE_START_DATE

<?php
$start = new DateTime('2012-07-01');
$interval = new DateInterval('P7D');
$end = new DateTime('2012-07-31');

$period = new DatePeriod($start, $interval, $end,
                         DatePeriod::EXCLUDE_START_DATE);

// Durch Iterieren über das DatePeriod Objekt, werden alle sich
// wiederholenden Termine innerhalb der Periode ausgegeben.
// Es ist zu beachten, dass in diesem Fall 2012-07-01 nicht ausgegeben wird.
foreach ($period as $date) {
    echo $date->format('Y-m-d')."\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

2012-07-08
2012-07-15
2012-07-22
2012-07-29

Anmerkungen

Offene Anzahl von Wiederholungen, wie von ISO 8601, Abschnitt 4.5 "Recurring time interval" spezifiziert, werden nicht unterstützt, d.h. weder die Übergabe von "R/..." an isostr, noch die Übergabe von NULL an end funktioniert.

DatePeriod
DatePeriod::getDateInterval
DatePeriod


Gets the interval

DatePeriod::__construct
DatePeriod::getEndDate
DatePeriod
PHP Manual

DatePeriod::getDateInterval

(PHP 5 >= 5.6.5, PHP 7)

DatePeriod::getDateInterval — Gets the interval

Beschreibung

Objektorientierter Stil

public DateInterval DatePeriod::getDateInterval ( void )

Gets a DateInterval object representing the interval used for the period.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a DateInterval object

Beispiele

Beispiel #1 DatePeriod::getDateInterval() example

<?php
$period = new DatePeriod('R7/2016-05-16T00:00:00Z/P1D');
$interval = $period->getDateInterval();
echo $interval->format('%d day');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1 day

Siehe auch

  • DatePeriod::getStartDate() - Gets the start date
  • DatePeriod::getEndDate() - Gets the end date
DatePeriod::__construct
DatePeriod::getEndDate
DatePeriod


Gets the end date

DatePeriod::getDateInterval
DatePeriod::getStartDate
DatePeriod
PHP Manual

DatePeriod::getEndDate

(PHP 5 >= 5.6.5, PHP 7)

DatePeriod::getEndDate — Gets the end date

Beschreibung

Objektorientierter Stil

public DateTimeInterface DatePeriod::getEndDate ( void )

Gets the end date of the period.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns NULL if the DatePeriod does not have an end date. For example, when initialized with the recurrences parameter, or the isostr parameter without an end date.

Returns a DateTimeImmutable object when the DatePeriod is initialized with a DateTimeImmutable object as the end parameter.

Returns a DateTime object otherwise.

Beispiele

Beispiel #1 DatePeriod::getEndDate() example

<?php
$period = new DatePeriod(
    new DateTime('2016-05-16T00:00:00Z'),
    new DateInterval('P1D'),
    new DateTime('2016-05-20T00:00:00Z')
);
$start = $period->getEndDate();
echo $start->format(DateTime::ISO8601);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

2016-05-20T00:00:00+0000

Beispiel #2 DatePeriod::getEndDate() without an end date

<?php
$period = new DatePeriod(
    new DateTime('2016-05-16T00:00:00Z'),
    new DateInterval('P1D'),
    7
);
var_dump($period->getEndDate());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

NULL

Siehe auch

  • DatePeriod::getStartDate() - Gets the start date
  • DatePeriod::getDateInterval() - Gets the interval
DatePeriod::getDateInterval
DatePeriod::getStartDate
DatePeriod


Gets the start date

DatePeriod::getEndDate
Datum/Uhrzeit Funktionen
DatePeriod
PHP Manual

DatePeriod::getStartDate

(PHP 5 >= 5.6.5, PHP 7)

DatePeriod::getStartDate — Gets the start date

Beschreibung

Objektorientierter Stil

public DateTimeInterface DatePeriod::getStartDate ( void )

Gets the start date of the period.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a DateTimeImmutable object when the DatePeriod is initialized with a DateTimeImmutable object as the start parameter.

Returns a DateTime object otherwise.

Beispiele

Beispiel #1 DatePeriod::getStartDate() example

<?php
$period = new DatePeriod('R7/2016-05-16T00:00:00Z/P1D');
$start = $period->getStartDate();
echo $start->format(DateTime::ISO8601);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

2016-05-16T00:00:00+0000

Siehe auch

  • DatePeriod::getEndDate() - Gets the end date
  • DatePeriod::getDateInterval() - Gets the interval
DatePeriod::getEndDate
Datum/Uhrzeit Funktionen
DatePeriod


Datum/Uhrzeit Funktionen

Inhaltsverzeichnis

  • checkdate — Prüft ein Gregorianisches Datum auf Gültigkeit
  • date_add — Alias von DateTime::add
  • date_create_from_format — Alias von DateTime::createFromFormat
  • date_create_immutable_from_format — Alias von DateTimeImmutable::createFromFormat
  • date_create_immutable — Alias von DateTimeImmutable::__construct
  • date_create — Alias von DateTime::__construct
  • date_date_set — Alias von DateTime::setDate
  • date_default_timezone_get — Gets the default timezone used by all date/time functions in a script
  • date_default_timezone_set — Setzt die Standardzeitzone, die von allen Datums- und Zeitfunktionen benutzt wird.
  • date_diff — Alias von DateTime::diff
  • date_format — Alias von DateTime::format
  • date_get_last_errors — Alias von DateTime::getLastErrors
  • date_interval_create_from_date_string — Alias von DateInterval::createFromDateString
  • date_interval_format — Alias von DateInterval::format
  • date_isodate_set — Alias von DateTime::setISODate
  • date_modify — Alias von DateTime::modify
  • date_offset_get — Alias von DateTime::getOffset
  • date_parse_from_format — Get info about given date formatted according to the specified format
  • date_parse — Returns associative array with detailed info about given date
  • date_sub — Alias von DateTime::sub
  • date_sun_info — Returns an array with information about sunset/sunrise and twilight begin/end
  • date_sunrise — Returns time of sunrise for a given day and location
  • date_sunset — Returns time of sunset for a given day and location
  • date_time_set — Alias von DateTime::setTime
  • date_timestamp_get — Alias von DateTime::getTimestamp
  • date_timestamp_set — Alias von DateTime::setTimestamp
  • date_timezone_get — Alias von DateTime::getTimezone
  • date_timezone_set — Alias von DateTime::setTimezone
  • date — Formatiert ein(e) angegebene(s) Ortszeit/Datum
  • getdate — Gibt Datums- und Zeitinformationen zurück
  • gettimeofday — Ermittelt die aktuelle Zeit
  • gmdate — Formatiert eine GMT/UTC Zeit-/Datumsangabe
  • gmmktime — Gibt einen Unix-Timestamp (Zeitstempel) für ein GMT Datum zurück
  • gmstrftime — Formatiert eine Datum-/Zeitangabe in GMT/UTC-Format entsprechend den lokalen Einstellungen
  • idate — Format a local time/date as integer
  • localtime — Ermittelt die lokale Zeit
  • microtime — Gibt den aktuellen Unix-Timestamp/Zeitstempel mit Mikrosekunden zurück
  • mktime — Gibt den Unix-Timestamp/Zeitstempel für ein Datum zurück
  • strftime — Formatiert eine Zeit-/Datumsangabe nach den lokalen Einstellungen
  • strptime — Parse a time/date generated with strftime
  • strtotime — Wandelt ein beliebiges in englischer Textform angegebenes Datum in einen UNIX-Zeitstempel (Timestamp) um
  • time — Gibt den aktuellen Unix-Timestamp/Zeitstempel zurück
  • timezone_abbreviations_list — Alias von DateTimeZone::listAbbreviations
  • timezone_identifiers_list — Alias von DateTimeZone::listIdentifiers
  • timezone_location_get — Alias von DateTimeZone::getLocation
  • timezone_name_from_abbr — Gibt den Namen der Zeitzonenabkürzung zurück
  • timezone_name_get — Alias von DateTimeZone::getName
  • timezone_offset_get — Alias von DateTimeZone::getOffset
  • timezone_open — Alias von DateTimeZone::__construct
  • timezone_transitions_get — Alias von DateTimeZone::getTransitions
  • timezone_version_get — Gets the version of the timezonedb
DatePeriod::getStartDate
checkdate
Datum/Uhrzeit


Prüft ein Gregorianisches Datum auf Gültigkeit

Datum/Uhrzeit Funktionen
date_add
Datum/Uhrzeit Funktionen
PHP Manual

checkdate

(PHP 4, PHP 5, PHP 7)

checkdate — Prüft ein Gregorianisches Datum auf Gültigkeit

Beschreibung

bool checkdate ( int $month , int $day , int $year )

Prüft die Gültigkeit des durch die Funktionsargumente beschriebenen Datums. Ein Datum wird als gültig betrachtet, wenn jeder Parameter korrekt definiert wurde.

Parameter-Liste

month

Die Monatsangabe umfasst Werte von 1 bis 12 (inklusive).

day

Der Tag ist in der erlaubten Anzahl von Tagen für den angegebenen Monat month. Schaltjahre werden entsprechend berücksichtigt.

year

Die Jahresangabe ist eine Zahl zwischen 1 und 32767 (inklusive).

Rückgabewerte

Gibt TRUE zurück, wenn das übergebene Datum gültig ist, andernfalls FALSE.

Beispiele

Beispiel #1 checkdate()-Beispiel

<?php
var_dump(checkdate(12, 31, 2000));
var_dump(checkdate(2, 29, 2001));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(false)

Siehe auch

  • mktime() - Gibt den Unix-Timestamp/Zeitstempel für ein Datum zurück
  • strtotime() - Wandelt ein beliebiges in englischer Textform angegebenes Datum in einen UNIX-Zeitstempel (Timestamp) um

Datum/Uhrzeit Funktionen
date_add
Datum/Uhrzeit Funktionen


Alias von DateTime::add

checkdate
date_create_from_format
Datum/Uhrzeit Funktionen
PHP Manual

date_add

(PHP 5 >= 5.3.0, PHP 7)

date_add — Alias von DateTime::add()

Beschreibung

Diese Funktion ist ein Alias für: DateTime::add()

checkdate
date_create_from_format
Datum/Uhrzeit Funktionen


Alias von DateTime::createFromFormat

date_add
date_create_immutable_from_format
Datum/Uhrzeit Funktionen
PHP Manual

date_create_from_format

(PHP 5 >= 5.3.0, PHP 7)

date_create_from_format — Alias von DateTime::createFromFormat()

Beschreibung

Diese Funktion ist ein Alias für: DateTime::createFromFormat()

date_add
date_create_immutable_from_format
Datum/Uhrzeit Funktionen


Alias von DateTimeImmutable::createFromFormat

date_create_from_format
date_create_immutable
Datum/Uhrzeit Funktionen
PHP Manual

date_create_immutable_from_format

(PHP 5 >= 5.5.0, PHP 7)

date_create_immutable_from_format — Alias von DateTimeImmutable::createFromFormat()

Beschreibung

Diese Funktion ist ein Alias für: DateTimeImmutable::createFromFormat()

date_create_from_format
date_create_immutable
Datum/Uhrzeit Funktionen


Alias von DateTimeImmutable::__construct

date_create_immutable_from_format
date_create
Datum/Uhrzeit Funktionen
PHP Manual

date_create_immutable

(PHP 5 >= 5.5.0, PHP 7)

date_create_immutable — Alias von DateTimeImmutable::__construct()

Beschreibung

Diese Funktion ist ein Alias für: DateTimeImmutable::__construct()

date_create_immutable_from_format
date_create
Datum/Uhrzeit Funktionen


Alias von DateTime::__construct

date_create_immutable
date_date_set
Datum/Uhrzeit Funktionen
PHP Manual

date_create

(PHP 5 >= 5.2.0, PHP 7)

date_create — Alias von DateTime::__construct()

Beschreibung

Diese Funktion ist ein Alias für: DateTime::__construct()

date_create_immutable
date_date_set
Datum/Uhrzeit Funktionen


Alias von DateTime::setDate

date_create
date_default_timezone_get
Datum/Uhrzeit Funktionen
PHP Manual

date_date_set

(PHP 5 >= 5.2.0, PHP 7)

date_date_set — Alias von DateTime::setDate()

Beschreibung

Diese Funktion ist ein Alias für: DateTime::setDate()

date_create
date_default_timezone_get
Datum/Uhrzeit Funktionen


Gets the default timezone used by all date/time functions in a script

date_date_set
date_default_timezone_set
Datum/Uhrzeit Funktionen
PHP Manual

date_default_timezone_get

(PHP 5 >= 5.1.0, PHP 7)

date_default_timezone_get — Gets the default timezone used by all date/time functions in a script

Beschreibung

string date_default_timezone_get ( void )

In order of preference, this function returns the default timezone by:

  • Reading the timezone set using the date_default_timezone_set() function (if any)

  • Prior to PHP 5.4.0 only: Reading the TZ environment variable (if non empty)

  • Reading the value of the date.timezone ini option (if set)

  • Prior to PHP 5.4.0 only: Querying the host operating system (if supported and allowed by the OS). This uses an algorithm that has to guess the timezone. This is by no means going to work correctly for every situation. A warning is shown when this stage is reached. Do not rely on it to be guessed correctly, and set date.timezone to the correct timezone instead.

If none of the above succeed, date_default_timezone_get() will return a default timezone of UTC.

Rückgabewerte

Returns a string.

Changelog

Version | Beschreibung
5.4.0 | The TZ environment variable is no longer used to guess the timezone.
5.4.0 | The timezone is no longer guessed from information available through the operating system as the guessed timezone can not be relied on.

Beispiele

Beispiel #1 Getting the default timezone

<?php
date_default_timezone_set('Europe/London');

if (date_default_timezone_get()) {
    echo 'date_default_timezone_set: ' . date_default_timezone_get() . '<br />';
}

if (ini_get('date.timezone')) {
    echo 'date.timezone: ' . ini_get('date.timezone');
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

date_default_timezone_set: Europe/London
date.timezone: Europe/London

Beispiel #2 Getting the abbreviation of a timezone

<?php
date_default_timezone_set('America/Los_Angeles');
echo date_default_timezone_get() . ' => ' . date('e') . ' => ' . date('T');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

America/Los_Angeles => America/Los_Angeles => PST

Siehe auch

  • date_default_timezone_set() - Setzt die Standardzeitzone, die von allen Datums- und Zeitfunktionen benutzt wird.
  • Liste unterstützter Zeitzonen

date_date_set
date_default_timezone_set
Datum/Uhrzeit Funktionen


Setzt die Standardzeitzone, die von allen Datums- und Zeitfunktionen benutzt wird.

date_default_timezone_get
date_diff
Datum/Uhrzeit Funktionen
PHP Manual

date_default_timezone_set

(PHP 5 >= 5.1.0, PHP 7)

date_default_timezone_set — Setzt die Standardzeitzone, die von allen Datums- und Zeitfunktionen benutzt wird.

Beschreibung

bool date_default_timezone_set ( string $timezone_identifier )

date_default_timezone_set() setzt die Standardzeitzone, die von allen Datums- und Zeitfunktionen benutzt wird.

Hinweis:

Seit PHP 5.1.0 (als die Datums- und Zeitfunktionen neu geschrieben wurden) generiert jeder Aufruf einer Datums- und Zeitfunktion eine E_NOTICE, wenn die Zeitzone nicht gültig ist und/oder eine E_WARNING, wenn die Systemeinstellungen oder die TZ-Umgebungsvariable benutzt werden.

Anstatt diese Funktion zu benutzen um die Zeitzone im Script zu setzen, kann man auch die INI-Einstellung date.timezone verwenden, um die Standardzeitzone setzen.

Parameter-Liste

timezone_identifier

Der Zeitzonenbezeichner wie UTC oder Europe/Berlin. Eine Liste von gültigen Bezeichnern ist unter Liste unterstützter Zeitzonen zu finden.

Rückgabewerte

Die Funktion gibt FALSE zurück, wenn der timezone_identifier ungültig ist, ansonsten TRUE.

Beispiele

Beispiel #1 Ermittlung der Standard-Zeitzone

<?php
date_default_timezone_set('America/Los_Angeles');

$script_tz = date_default_timezone_get();

if (strcmp($script_tz, ini_get('date.timezone'))){
    echo 'Die Script-Zeitzone unterscheidet sich von der ini-set Zeitzone.';
} else {
    echo 'Die Script-Zeitzone und die ini-set Zeitzone stimmen überein.';
}
?>

Changelog

Version | Beschreibung
5.3.0 | Erzeugt nun E_WARNING anstatt E_STRICT.
5.1.2 | Die Funktion begann den timezone_identifier Paramter zu prüfen.

Siehe auch

  • date_default_timezone_get() - Gets the default timezone used by all date/time functions in a script
  • Liste unterstützter Zeitzonen

date_default_timezone_get
date_diff
Datum/Uhrzeit Funktionen


Alias von DateTime::diff

date_default_timezone_set
date_format
Datum/Uhrzeit Funktionen
PHP Manual

date_diff

(PHP 5 >= 5.3.0, PHP 7)

date_diff — Alias von DateTime::diff()

Beschreibung

Diese Funktion ist ein Alias für: DateTime::diff()

date_default_timezone_set
date_format
Datum/Uhrzeit Funktionen


Alias von DateTime::format

date_diff
date_get_last_errors
Datum/Uhrzeit Funktionen
PHP Manual

date_format

(PHP 5 >= 5.2.0, PHP 7)

date_format — Alias von DateTime::format()

Beschreibung

Diese Funktion ist ein Alias für: DateTime::format()

date_diff
date_get_last_errors
Datum/Uhrzeit Funktionen


Alias von DateTime::getLastErrors

date_format
date_interval_create_from_date_string
Datum/Uhrzeit Funktionen
PHP Manual

date_get_last_errors

(PHP 5 >= 5.3.0, PHP 7)

date_get_last_errors — Alias von DateTime::getLastErrors()

Beschreibung

Diese Funktion ist ein Alias für: DateTime::getLastErrors()

date_format
date_interval_create_from_date_string
Datum/Uhrzeit Funktionen


Alias von DateInterval::createFromDateString

date_get_last_errors
date_interval_format
Datum/Uhrzeit Funktionen
PHP Manual

date_interval_create_from_date_string

(PHP 5 >= 5.3.0, PHP 7)

date_interval_create_from_date_string — Alias von DateInterval::createFromDateString()

Beschreibung

Diese Funktion ist ein Alias für: DateInterval::createFromDateString()

date_get_last_errors
date_interval_format
Datum/Uhrzeit Funktionen


Alias von DateInterval::format

date_interval_create_from_date_string
date_isodate_set
Datum/Uhrzeit Funktionen
PHP Manual

date_interval_format

(PHP 5 >= 5.3.0, PHP 7)

date_interval_format — Alias von DateInterval::format()

Beschreibung

Diese Funktion ist ein Alias für: DateInterval::format()

date_interval_create_from_date_string
date_isodate_set
Datum/Uhrzeit Funktionen


Alias von DateTime::setISODate

date_interval_format
date_modify
Datum/Uhrzeit Funktionen
PHP Manual

date_isodate_set

(PHP 5 >= 5.2.0, PHP 7)

date_isodate_set — Alias von DateTime::setISODate()

Beschreibung

Diese Funktion ist ein Alias für: DateTime::setISODate()

date_interval_format
date_modify
Datum/Uhrzeit Funktionen


Alias von DateTime::modify

date_isodate_set
date_offset_get
Datum/Uhrzeit Funktionen
PHP Manual

date_modify

(PHP 5 >= 5.2.0, PHP 7)

date_modify — Alias von DateTime::modify()

Beschreibung

Diese Funktion ist ein Alias für: DateTime::modify()

date_isodate_set
date_offset_get
Datum/Uhrzeit Funktionen


Alias von DateTime::getOffset

date_modify
date_parse_from_format
Datum/Uhrzeit Funktionen
PHP Manual

date_offset_get

(PHP 5 >= 5.2.0, PHP 7)

date_offset_get — Alias von DateTime::getOffset()

Beschreibung

Diese Funktion ist ein Alias für: DateTime::getOffset()

date_modify
date_parse_from_format
Datum/Uhrzeit Funktionen


Get info about given date formatted according to the specified format

date_offset_get
date_parse
Datum/Uhrzeit Funktionen
PHP Manual

date_parse_from_format

(PHP 5 >= 5.3.0, PHP 7)

date_parse_from_format — Get info about given date formatted according to the specified format

Beschreibung

array date_parse_from_format ( string $format , string $date )

Returns associative array with detailed info about given date.

Parameter-Liste

format

Format accepted by DateTime::createFromFormat().

date

String representing the date.

Rückgabewerte

Returns associative array with detailed info about given date.

Beispiele

Beispiel #1 date_parse_from_format() example

<?php
$date = "6.1.2009 13:00+01:00";
print_r(date_parse_from_format("j.n.Y H:iP", $date));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [year] => 2009
    [month] => 1
    [day] => 6
    [hour] => 13
    [minute] => 0
    [second] => 0
    [fraction] =>
    [warning_count] => 0
    [warnings] => Array
        (
        )

    [error_count] => 0
    [errors] => Array
        (
        )

    [is_localtime] => 1
    [zone_type] => 1
    [zone] => -60
    [is_dst] =>
)

Siehe auch

  • DateTime::createFromFormat() - Parses a time string according to a specified format
  • checkdate() - Prüft ein Gregorianisches Datum auf Gültigkeit

date_offset_get
date_parse
Datum/Uhrzeit Funktionen


Returns associative array with detailed info about given date

date_parse_from_format
date_sub
Datum/Uhrzeit Funktionen
PHP Manual

date_parse

(PHP 5 >= 5.2.0, PHP 7)

date_parse — Returns associative array with detailed info about given date

Beschreibung

array date_parse ( string $date )

Parameter-Liste

date

Date in format accepted by strtotime().

Rückgabewerte

Returns array with information about the parsed date on successIm Fehlerfall wird FALSE zurückgegeben..

Fehler/Exceptions

In case the date format has an error, the element 'errors' will contains the error messages.

Beispiele

Beispiel #1 A date_parse() example

<?php
print_r(date_parse("2006-12-12 10:00:00.5"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [year] => 2006
    [month] => 12
    [day] => 12
    [hour] => 10
    [minute] => 0
    [second] => 0
    [fraction] => 0.5
    [warning_count] => 0
    [warnings] => Array()
    [error_count] => 0
    [errors] => Array()
    [is_localtime] =>
)

Relative formats do not influence the values parsed from absolute formats, but are parsed into the "relative" element.

Beispiel #2 date_parse() with relative formats

<?php
print_r(date_parse("2006-12-12 10:00:00.5 +1 week +1 hour"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [year] => 2006
    [month] => 12
    [day] => 12
    [hour] => 10
    [minute] => 0
    [second] => 0
    [fraction] => 0.5
    [warning_count] => 0
    [warnings] => Array
        (
        )

    [error_count] => 0
    [errors] => Array
        (
        )

    [is_localtime] =>
    [relative] => Array
        (
            [year] => 0
            [month] => 0
            [day] => 7
            [hour] => 1
            [minute] => 0
            [second] => 0
        )

)

Siehe auch

  • checkdate() - Prüft ein Gregorianisches Datum auf Gültigkeit
  • getdate() - Gibt Datums- und Zeitinformationen zurück

date_parse_from_format
date_sub
Datum/Uhrzeit Funktionen


Alias von DateTime::sub

date_parse
date_sun_info
Datum/Uhrzeit Funktionen
PHP Manual

date_sub

(PHP 5 >= 5.3.0, PHP 7)

date_sub — Alias von DateTime::sub()

Beschreibung

Diese Funktion ist ein Alias für: DateTime::sub()

date_parse
date_sun_info
Datum/Uhrzeit Funktionen


Returns an array with information about sunset/sunrise and twilight begin/end

date_sub
date_sunrise
Datum/Uhrzeit Funktionen
PHP Manual

date_sun_info

(PHP 5 >= 5.1.2, PHP 7)

date_sun_info — Returns an array with information about sunset/sunrise and twilight begin/end

Beschreibung

array date_sun_info ( int $time , float $latitude , float $longitude )

Parameter-Liste

time

Timestamp.

latitude

Latitude in degrees.

longitude

Longitude in degrees.

Rückgabewerte

Returns array on successIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 A date_sun_info() example

<?php
$sun_info = date_sun_info(strtotime("2006-12-12"), 31.7667, 35.2333);
foreach ($sun_info as $key => $val) {
    echo "$key: " . date("H:i:s", $val) . "\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

sunrise: 05:52:11
sunset: 15:41:21
transit: 10:46:46
civil_twilight_begin: 05:24:08
civil_twilight_end: 16:09:24
nautical_twilight_begin: 04:52:25
nautical_twilight_end: 16:41:06
astronomical_twilight_begin: 04:21:32
astronomical_twilight_end: 17:12:00

Siehe auch

  • date_sunrise() - Returns time of sunrise for a given day and location
  • date_sunset() - Returns time of sunset for a given day and location

date_sub
date_sunrise
Datum/Uhrzeit Funktionen


Returns time of sunrise for a given day and location

date_sun_info
date_sunset
Datum/Uhrzeit Funktionen
PHP Manual

date_sunrise

(PHP 5, PHP 7)

date_sunrise — Returns time of sunrise for a given day and location

Beschreibung

mixed date_sunrise ( int $timestamp [, int $format = SUNFUNCS_RET_STRING [, float $latitude = ini_get("date.default_latitude") [, float $longitude = ini_get("date.default_longitude") [, float $zenith = ini_get("date.sunrise_zenith") [, float $gmt_offset = 0 ]]]]] )

date_sunrise() returns the sunrise time for a given day (specified as a timestamp) and location.

Parameter-Liste

timestamp

The timestamp of the day from which the sunrise time is taken.

format

format constants
constant | description | example
SUNFUNCS_RET_STRING | returns the result as string | 16:46
SUNFUNCS_RET_DOUBLE | returns the result as float | 16.78243132
SUNFUNCS_RET_TIMESTAMP | returns the result as integer (timestamp) | 1095034606

latitude

Defaults to North, pass in a negative value for South. See also: date.default_latitude

longitude

Defaults to East, pass in a negative value for West. See also: date.default_longitude

zenith

Default: date.sunrise_zenith

gmtoffset

Specified in hours.

Rückgabewerte

Returns the sunrise time in a specified format on successIm Fehlerfall wird FALSE zurückgegeben..

Fehler/Exceptions

Jeder Aufruf der Datums- und Zeitfunktionen generiert eine E_NOTICE-Warnung, wenn die Zeitzone ungültig ist und eine E_STRICT-Nachricht oder eine E_WARNING-Warnung, wenn die Systemeinstellung oder die TZ-Umgebungsvariable genutzt wird. Siehe auch date_default_timezone_set()

Changelog

Version | Beschreibung
5.1.0 | Erzeugt nun E_STRICT- und E_NOTICE-Zeitzonenfehler.

Beispiele

Beispiel #1 date_sunrise() example

<?php

/* calculate the sunrise time for Lisbon, Portugal
Latitude: 38.4 North
Longitude: 9 West
Zenith ~= 90
offset: +1 GMT
*/

echo date("D M d Y"). ', sunrise time : ' .date_sunrise(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Mon Dec 20 2004, sunrise time : 08:54

Siehe auch

  • date_sunset() - Returns time of sunset for a given day and location

date_sun_info
date_sunset
Datum/Uhrzeit Funktionen


Returns time of sunset for a given day and location

date_sunrise
date_time_set
Datum/Uhrzeit Funktionen
PHP Manual

date_sunset

(PHP 5, PHP 7)

date_sunset — Returns time of sunset for a given day and location

Beschreibung

mixed date_sunset ( int $timestamp [, int $format = SUNFUNCS_RET_STRING [, float $latitude = ini_get("date.default_latitude") [, float $longitude = ini_get("date.default_longitude") [, float $zenith = ini_get("date.sunset_zenith") [, float $gmt_offset = 0 ]]]]] )

date_sunset() returns the sunset time for a given day (specified as a timestamp) and location.

Parameter-Liste

timestamp

The timestamp of the day from which the sunset time is taken.

format

format constants
constant | description | example
SUNFUNCS_RET_STRING | returns the result as string | 16:46
SUNFUNCS_RET_DOUBLE | returns the result as float | 16.78243132
SUNFUNCS_RET_TIMESTAMP | returns the result as integer (timestamp) | 1095034606

latitude

Defaults to North, pass in a negative value for South. See also: date.default_latitude

longitude

Defaults to East, pass in a negative value for West. See also: date.default_longitude

zenith

Default: date.sunset_zenith

gmtoffset

Specified in hours.

Fehler/Exceptions

Jeder Aufruf der Datums- und Zeitfunktionen generiert eine E_NOTICE-Warnung, wenn die Zeitzone ungültig ist und eine E_STRICT-Nachricht oder eine E_WARNING-Warnung, wenn die Systemeinstellung oder die TZ-Umgebungsvariable genutzt wird. Siehe auch date_default_timezone_set()

Changelog

Version | Beschreibung
5.1.0 | Erzeugt nun E_STRICT- und E_NOTICE-Zeitzonenfehler.

Rückgabewerte

Returns the sunset time in a specified format on successIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 date_sunset() example

<?php

/* calculate the sunset time for Lisbon, Portugal
Latitude: 38.4 North
Longitude: 9 West
Zenith ~= 90
offset: +1 GMT
*/

echo date("D M d Y"). ', sunset time : ' .date_sunset(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Mon Dec 20 2004, sunset time : 18:13

Siehe auch

  • date_sunrise() - Returns time of sunrise for a given day and location

date_sunrise
date_time_set
Datum/Uhrzeit Funktionen


Alias von DateTime::setTime

date_sunset
date_timestamp_get
Datum/Uhrzeit Funktionen
PHP Manual

date_time_set

(PHP 5 >= 5.2.0, PHP 7)

date_time_set — Alias von DateTime::setTime()

Beschreibung

Diese Funktion ist ein Alias für: DateTime::setTime()

date_sunset
date_timestamp_get
Datum/Uhrzeit Funktionen


Alias von DateTime::getTimestamp

date_time_set
date_timestamp_set
Datum/Uhrzeit Funktionen
PHP Manual

date_timestamp_get

(PHP 5 >= 5.3.0, PHP 7)

date_timestamp_get — Alias von DateTime::getTimestamp()

Beschreibung

Diese Funktion ist ein Alias für: DateTime::getTimestamp()

date_time_set
date_timestamp_set
Datum/Uhrzeit Funktionen


Alias von DateTime::setTimestamp

date_timestamp_get
date_timezone_get
Datum/Uhrzeit Funktionen
PHP Manual

date_timestamp_set

(PHP 5 >= 5.3.0, PHP 7)

date_timestamp_set — Alias von DateTime::setTimestamp()

Beschreibung

Diese Funktion ist ein Alias für: DateTime::setTimestamp()

date_timestamp_get
date_timezone_get
Datum/Uhrzeit Funktionen


Alias von DateTime::getTimezone

date_timestamp_set
date_timezone_set
Datum/Uhrzeit Funktionen
PHP Manual

date_timezone_get

(PHP 5 >= 5.2.0, PHP 7)

date_timezone_get — Alias von DateTime::getTimezone()

Beschreibung

Diese Funktion ist ein Alias für: DateTime::getTimezone()

date_timestamp_set
date_timezone_set
Datum/Uhrzeit Funktionen


Alias von DateTime::setTimezone

date_timezone_get
date
Datum/Uhrzeit Funktionen
PHP Manual

date_timezone_set

(PHP 5 >= 5.2.0, PHP 7)

date_timezone_set — Alias von DateTime::setTimezone()

Beschreibung

Diese Funktion ist ein Alias für: DateTime::setTimezone()

date_timezone_get
date
Datum/Uhrzeit Funktionen


Formatiert ein(e) angegebene(s) Ortszeit/Datum

date_timezone_set
getdate
Datum/Uhrzeit Funktionen
PHP Manual

date

(PHP 4, PHP 5, PHP 7)

date — Formatiert ein(e) angegebene(s) Ortszeit/Datum

Beschreibung

string date ( string $format [, int $timestamp = time() ] )

Gibt einen formatierten String anhand eines vorzugebenden Musters zurück. Dabei wird entweder der angegebene Timestamp oder die gegenwärtige Zeit berücksichtigt, wenn kein Timestamp angegegeben wird. Mit anderen Worten ausgedrückt: der Parameter Timestamp ist optional und falls dieser nicht angegeben wird, wird der Wert der Funktion time() angenommen.

Parameter-Liste

format

Das Muster des auszugebenden Datums-/Zeit-String. Unten sind die verfügbaren Formatierungsoptionen angegeben. Es gibt auch verschiedene vordefinierte Konstanten, die verwendet werden können, z.B. enthält DATE_RSS das Formatierungsmuster 'D, d M Y H:i:s'.

Die folgenden Zeichen werden im Parameter Format erkannt
Format-Zeichen | Beschreibung | Beispiel für Rückgabewerte
Tag --- ---
d | Tag des Monats, 2-stellig mit führender Null | 01 bis 31
D | Wochentag, gekürzt auf drei Buchstaben | Mon bis Sun
j | Tag des Monats ohne führende Nullen | 1 bis 31
l (kleines 'L') | Ausgeschriebener Wochentag | Sunday bis Saturday
N | Numerische Repräsentation des Wochentages gemäß ISO-8601 (in PHP 5.1.0 hinzugefügt) | 1 (für Montag) bis 7 (für Sonntag)
S | Anhang der englischen Aufzählung für einen Monatstag, zwei Zeichen | st, nd, rd oder th. Zur Verwendung mit j empfohlen.
w | Numerischer Tag einer Woche | 0 (für Sonntag) bis 6 (für Samstag)
z | Der Tag des Jahres (von 0 beginnend) | 0 bis 365
Woche --- ---
W | ISO-8601 Wochennummer des Jahres, die Woche beginnt am Montag (hinzugefügt in PHP 4.1.0) | Beispiel: 42 (die 42. Woche im Jahr)
Monat --- ---
F | Monat als ganzes Wort, wie January oder March | January bis December
m | Monat als Zahl, mit führenden Nullen | 01 bis 12
M | Monatsname mit drei Buchstaben | Jan bis Dec
n | Monatszahl, ohne führende Nullen | 1 bis 12
t | Anzahl der Tage des angegebenen Monats | 28 bis 31
Jahr --- ---
L | Schaltjahr oder nicht | 1 für ein Schaltjahr, ansonsten 0
o | Jahreszahl gemäß ISO-8601. Dies ergibt den gleichen Wert wie Y, außer wenn die ISO-Kalenderwoche (W) zum vorhergehenden oder nächsten Jahr gehört, wobei dann jenes Jahr verwendet wird (in PHP 5.1.0 hinzugefügt). | Beispiele: 1999 oder 2003
Y | Vierstellige Jahreszahl | Beispiele: 1999 oder 2003
y | Jahreszahl, zweistellig | Beispiele: 99 oder 03
Uhrzeit --- ---
a | Kleingeschrieben: Ante meridiem (Vormittag) und Post meridiem (Nachmittag) | am oder pm
A | Großgeschrieben: Ante meridiem (Vormittag) und Post meridiem (Nachmittag) | AM oder PM
B | Swatch-Internet-Zeit | 000 bis 999
g | Stunde im 12-Stunden-Format, ohne führende Nullen | 1 bis 12
G | Stunde im 24-Stunden-Format, ohne führende Nullen | 0 bis 23
h | Stunde im 12-Stunden-Format, mit führenden Nullen | 01 bis 12
H | Stunde im 24-Stunden-Format, mit führenden Nullen | 00 bis 23
i | Minuten, mit führenden Nullen | 00 bis 59
s | Sekunden, mit führenden Nullen | 00 bis 59
u | Mikrosekunden (hinzugefügt in PHP 5.2.2). Beachten Sie, dass date() immer die Ausgabe 000000 erzeugen wird, da es einen Integer als Parameter erhält, wohingegen DateTime::format() Mikrosekunden unterstützt, wenn DateTime mit Mikrosekunden erzeugt wurde. | Beispiel: 654321
Zeitzone --- ---
e | Zeitzonen-Bezeichner (hinzugefügt in PHP 5.1.0) | Beispiele: UTC, GMT, Atlantic/Azores
I (großes 'i') | Fällt ein Datum in die Sommerzeit | 1 bei Sommerzeit, ansonsten 0.
O | Zeitunterschied zur Greenwich time (GMT) in Stunden | Beispiel: +0200
P | Zeitunterschied zur Greenwich time (GMT) in Stunden mit Doppelpunkt zwischen Stunden und Minuten (hinzugefügt in PHP 5.1.3) | Beispiel: +02:00
T | Abkürzung der Zeitzone | Beispiele: EST, MDT ...
Z | Offset der Zeitzone in Sekunden. Der Offset für Zeitzonen westlich von UTC ist immer negativ und für Zeitzonen östlich von UTC immer positiv. | -43200 bis 50400
Vollständige(s) Datum/Uhrzeit --- ---
c | ISO 8601 Datum (hinzugefügt in PHP 5) | 2004-02-12T15:19:21+00:00
r | Gemäß » RFC 2822 formatiertes Datum | Beispiel: Thu, 21 Dec 2000 16:01:07 +0200
U | Sekunden seit Beginn der UNIX-Epoche (January 1 1970 00:00:00 GMT) | Siehe auch time()

Nicht erkannte Zeichen werden unverändert ausgegeben. Das Z-Format gibt beim Gebrauch von gmdate() immer 0 zurück.

Hinweis:

Weil diese Funktion nur Integer-Zeitstempel akzeptiert, ist die Formatanweisung u nur nützlich, wenn man die Funktion date_format() mit von Benutzern angegebenen Timestamps aus der Funktion date_create() verwendet.

timestamp

Der optionale Parameter timestamp ist ein Unix Timestamp als integer oder die aktuelle lokale Zeit wenn kein timestamp übergeben wurde. Er entspricht dann also dem Ergebnis der Funktion time().

Rückgabewerte

Gibt eine formatierte Datums-Zeichenkette zurück. Falls ein nicht numerischer Wert als timestamp übergeben wird, wird FALSE zurückgegeben und ein Fehler der Stufe E_WARNING erzeugt.

Fehler/Exceptions

Jeder Aufruf der Datums- und Zeitfunktionen generiert eine E_NOTICE-Warnung, wenn die Zeitzone ungültig ist und eine E_STRICT-Nachricht oder eine E_WARNING-Warnung, wenn die Systemeinstellung oder die TZ-Umgebungsvariable genutzt wird. Siehe auch date_default_timezone_set()

Changelog

Version | Beschreibung
5.1.0 | Der gültige Bereich eines Timestamp liegt typischerweise zwischen Fri, 13 Dec 1901 20:45:54 GMT und Tue, 19 Jan 2038 03:14:07 GMT. (Das entspricht den minimalen und maximalen Werten für einen vorzeichenbehafteten 32-Bit Integer). Vor PHP 5.1.0 war dieser Bereich auf manchen Systemen (z.B. Windows) eingeschränkt auf 01.01.1971 bis 19.01.2038.
5.1.0 | Erzeugt nun E_STRICT- und E_NOTICE-Zeitzonenfehler.
5.1.1 | Es gibt nützliche Konstanten von üblichen Datums-/Zeitformaten, die als Format-Parameter übergeben werden können.

Beispiele

Beispiel #1 date()-Beispiele

<?php
// Die Standard-Zeitzone, die verwendet werden soll, setzen.
// Verfügbar seit PHP 5.1
date_default_timezone_set('UTC');

// Gibt etwas aus wie: 'Monday'
echo date("l");

// Gibt etwas aus wie: 'Monday 8th of August 2005 03:12:46 PM'
echo date('l jS \of F Y h:i:s A');

// Gibt aus: 'July 1, 2000 ist ein Saturday'
echo "July 1, 2000 ist ein " . date("l", mktime(0, 0, 0, 7, 1, 2000));

/* Verwende die Konstanten im Format-Parameter */
// Gibt etwas aus wie: Wed, 25 Sep 2013 15:28:57 -0700
echo date(DATE_RFC822);

// Gibt etwas aus wie '2000-07-01T00:00:00+00:00'
echo date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000));
?>

Möchten Sie verhindern, dass ein erkanntes Zeichen im Formatstring ersetzt wird, sollten Sie dieses Zeichen mit einem vorangestellten Backslash escapen. Ist das Zeichen mit dem Backslash bereits eine spezielle Zeichenfolge, müssen Sie diesen Backslash ebenso escapen.

Beispiel #2 Escaping von Zeichen in date()

<?php
// Gibt etwas ähnliches aus wie 'Wednesday the 15th'
echo date('l \t\h\e jS');
?>

Es ist möglich, date() und mktime() gleichzeitig zu verwenden, um Datumsangaben in der Zukunft oder Vergangenheit zu bestimmen.

Beispiel #3 date() und mktime()-Beispiele

<?php
$morgen        = mktime(0, 0, 0, date("m")  , date("d")+1, date("Y"));
$letztermonat  = mktime(0, 0, 0, date("m")-1, date("d"),   date("Y"));
$naechstesjahr = mktime(0, 0, 0, date("m"),   date("d"),   date("Y")+1);
?>

Hinweis:

Dieses Vorgehen kann zu verlässlicheren Ergebnissen führen, als simples addieren oder subtrahieren der Anzahl von Sekunden in Tagen oder Monaten zu einem Timestamp, da Sommer- und Winterzeit berücksichtigt werden.

Es folgen einige Beispiele zur date()-Formatierung. Beachten Sie, dass Sie alle anderen Zeichen escapen sollten, da alle Zeichen, die im Augenblick eine spezielle Bedeutung haben, unerwünschte Resultate liefern. Bei allen weiteren Zeichen kann es durchaus möglich sein, dass diesen in zukünftigen PHP-Versionen eine Bedeutung zukommt. Beim Escapen sollten Sie darauf achten, einfache Anführungszeichen zu benutzen, damit Zeichenfolgen wie zum Beispiel \n zu keinem Zeilenumbruch führen.

Beispiel #4 date()-Formatierungen

<?php
// Angenommen, heute ist der 10. März 2001, 17:16:18 Uhr und wir
// befinden uns in der Zeitzone Mountain Standard Time (MST)

$heute = date("F j, Y, g:i a");                 // March 10, 2001, 5:16 pm
$heute = date("m.d.y");                         // 03.10.01
$heute = date("j, n, Y");                       // 10, 3, 2001
$heute = date("Ymd");                           // 20010310
$heute = date('h-i-s, j-m-y, it is w Day');     // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$heute = date('\i\t \i\s \t\h\e jS \d\a\y.');   // it is the 10th day.
$heute = date("D M j G:i:s T Y");               // Sat Mar 10 17:16:18 MST 2001
$heute = date('H:m:s \m \i\s\ \m\o\n\t\h');     // 17:03:18 m is month
$heute = date("H:i:s");                         // 17:16:18
$heute = date("Y-m-d H:i:s");                   // 2001-03-10 17:16:18 (Das MySQL DATETIME Format)
?>

Um Datumsangaben in anderen Sprachen auszugeben,
sollten Sie die Funktionen setlocale()
und strftime() statt
date() verwendet werden.

Anmerkungen

Hinweis:

Um einen Zeitstempel aus einer Textrepräsentation eines Datums zu erzeugen, kann die Funktion strtotime() verwendet werden. Einige Datenbanken haben außerdem Funktionen, mit denen ihre Datumsformate in Zeitstempel konvertiert werden können (wie z.B. die Funktion » UNIX_TIMESTAMP von MySQL).

Tipp

Der Zeitstempel des Verarbeitungsbeginns der HTTP-Anfrage wird seit PHP 5.1 in $_SERVER['REQUEST_TIME'] bereitgestellt.

Siehe auch

  • gmdate() - Formatiert eine GMT/UTC Zeit-/Datumsangabe
  • idate() - Format a local time/date as integer
  • getdate() - Gibt Datums- und Zeitinformationen zurück
  • getlastmod() - Uhrzeit der letzten Änderung eines Scripts
  • mktime() - Gibt den Unix-Timestamp/Zeitstempel für ein Datum zurück
  • strftime() - Formatiert eine Zeit-/Datumsangabe nach den lokalen Einstellungen
  • time() - Gibt den aktuellen Unix-Timestamp/Zeitstempel zurück
  • strtotime() - Wandelt ein beliebiges in englischer Textform angegebenes Datum in einen UNIX-Zeitstempel (Timestamp) um
  • Vordefinierte DateTime-Konstanten

date_timezone_set
getdate
Datum/Uhrzeit Funktionen


Gibt Datums- und Zeitinformationen zurück

date
gettimeofday
Datum/Uhrzeit Funktionen
PHP Manual

getdate

(PHP 4, PHP 5, PHP 7)

getdate — Gibt Datums- und Zeitinformationen zurück

Beschreibung

array getdate ([ int $timestamp = time() ] )

Gibt ein assoziatives array mit Datums- und Zeitangaben des angegebenen timestamp zurück. Ist kein Timestamp angegeben, wird die lokal gültige Zeit verwendet.

Parameter-Liste

timestamp

Der optionale Parameter timestamp ist ein Unix Timestamp als integer oder die aktuelle lokale Zeit wenn kein timestamp übergeben wurde. Er entspricht dann also dem Ergebnis der Funktion time().

Rückgabewerte

Gibt ein assoziatives Array mit Informationen zum timestamp zurück. Die Elemente des zurückgegebenen assoziativen Arrays sind folgende:

Schlüsselelemente des zurückgegebenen assoziativen Arrays
Key | Beschreibung | Beispiel für Rückgabewerte
"seconds" | Numerische Repräsentation der Sekunden | zwischen 0 und 59
"minutes" | Numerische Repräsentation der Minuten | zwischen 0 und 59
"hours" | Numerische Repräsentation der Stunden | zwischen 0 und 23
"mday" | Numerische Repräsentation des Monatstags | zwischen 1 und 31
"wday" | Numerische Repräsentation des Wochentags | zwischen 0 (für Sonntag) und 6 (für Sonnabend)
"mon" | Numerische Repräsentation des Monats | zwischen 1 und 12
"year" | Eine vollständige numerische Repräsentation der Jahreszahl (vierstellig) | Beispiele: 1999 oder 2003
"yday" | Numerische Repräsentation des Tages des Jahres | zwischen 0 und 365
"weekday" | Eine vollständige textuelle Repräsentation des Wochentags | zwischen Sonntag und Sonnabend
"month" | Eine vollständige textuelle Repräsentation des Monatsnamens, wie Januar oder März | zwischenJanuar und Dezember
0 | Sekunden seit der Unix Epoche, ähnlich den Werten, die von der Funktion time() zurückgegeben und von der Funktion date() verwendet werden. | Abhängig vom System, typischerweise ein Wert zwischen -2147483648 und 2147483647.

Beispiele

Beispiel #1 getdate()-Beispiel

<?php
$heute = getdate();
print_r($heute);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [seconds] => 40
    [minutes] => 58
    [hours]   => 21
    [mday]    => 17
    [wday]    => 2
    [mon]     => 6
    [year]    => 2003
    [yday]    => 167
    [weekday] => Tuesday
    [month]   => June
    [0]       => 1055901520
)

Siehe auch

  • date() - Formatiert ein(e) angegebene(s) Ortszeit/Datum
  • idate() - Format a local time/date as integer
  • localtime() - Ermittelt die lokale Zeit
  • time() - Gibt den aktuellen Unix-Timestamp/Zeitstempel zurück
  • setlocale() - Legt regionale (locale) Einstellungen fest

date
gettimeofday
Datum/Uhrzeit Funktionen


Ermittelt die aktuelle Zeit

getdate
gmdate
Datum/Uhrzeit Funktionen
PHP Manual

gettimeofday

(PHP 4, PHP 5, PHP 7)

gettimeofday — Ermittelt die aktuelle Zeit

Beschreibung

mixed gettimeofday ([ bool $return_float = false ] )

Es handelt sich um eine Schnittstelle zum Systemaufruf von gettimeofday(2). Die Funktion gibt ein assoziatives Array zurück, das die Daten enthält, die der Systemaufruf produziert hat.

Parameter-Liste

return_float

Sofern auf TRUE gesetzt, wird eine Fließkommazahl anstelle des Arrays zurückgegeben.

Rückgabewerte

Standardmäßig wird ein Array zurückgegeben. Wenn der Parameter return_float angegeben wurde, ist der Rückgabewert vom Typ float.

Array-Schlüssel:

  • "sec" - Sekunden seit der Unix-Epoche
  • "usec" - Microsekunden
  • "minuteswest" - Minuten westlich von Greenwich
  • "dsttime" - Art der Korrektur der Sommerzeit

Changelog

Version | Beschreibung
5.1.0 | Der Parameter return_float wurde hinzugefügt.

Beispiele

Beispiel #1 gettimeofday()-Beispiel

<?php
print_r(gettimeofday());

echo gettimeofday(true);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [sec] => 1073504408
    [usec] => 238215
    [minuteswest] => 0
    [dsttime] => 1
)

1073504408.23910

getdate
gmdate
Datum/Uhrzeit Funktionen


Formatiert eine GMT/UTC Zeit-/Datumsangabe

gettimeofday
gmmktime
Datum/Uhrzeit Funktionen
PHP Manual

gmdate

(PHP 4, PHP 5, PHP 7)

gmdate — Formatiert eine GMT/UTC Zeit-/Datumsangabe

Beschreibung

string gmdate ( string $format [, int $timestamp = time() ] )

Identisch zur Funktion date(), ausgenommen dass die zurückgegebene Zeitangabe Greenwich Mean Time (GMT) entspricht.

Parameter-Liste

format

Das Format des ausgegebenen Datumsstrings. Siehe auch die Formatierungsoptionen der date()-Funktion.

timestamp

Der optionale Parameter timestamp ist ein Unix Timestamp als integer oder die aktuelle lokale Zeit wenn kein timestamp übergeben wurde. Er entspricht dann also dem Ergebnis der Funktion time().

Rückgabewerte

Gibt einen formatierten Datumsstring zurück. Wenn ein nichtnumerischer Wert für timestamp verwendet wird, wird FALSE zurückgegeben und eine Fehlermeldung vom Typ E_WARNING erzeugt.

Changelog

Version | Beschreibung
5.1.0 | Der valide Bereich eines Timestamps ist typischerweise von Freitag, den 13. Dezember 1901 20:45:54 GMT bis Dienstag, den 19. Januar 2038 03:14:07 GMT. (Dies sind die Daten, die zum kleinsten und größten mögichen Wert für einen vorzeichenbehafteten 32-Bit Integer korrespondieren.) Vor PHP 5.1.0 war dieser Bereich auf einigen Systemen (z.B. Windows) limitiert auf den Zeitraum 01-01-1970 bis 19-01-2038.
5.1.1 | Es gibt nützliche Konstanten für Standard-Datums-/-Zeitformate, die verwendet werden können, um den format-Parameter zu spezifizieren.

Beispiele

Beispiel #1 gmdate()-Beispiel

Wenn das Skript in Finnland (GMT +0200) ausgeführt wird, gibt die erste Zeile "Jan 01 1998 00:00:00" aus, während die zweite Zeile "Dec 31 1997 22:00:00" zurückgibt.

<?php
echo date("M d Y H:i:s", mktime(0, 0, 0, 1, 1, 1998));
echo gmdate("M d Y H:i:s", mktime(0, 0, 0, 1, 1, 1998));
?>

Siehe auch

  • date() - Formatiert ein(e) angegebene(s) Ortszeit/Datum
  • mktime() - Gibt den Unix-Timestamp/Zeitstempel für ein Datum zurück
  • gmmktime() - Gibt einen Unix-Timestamp (Zeitstempel) für ein GMT Datum zurück
  • strftime() - Formatiert eine Zeit-/Datumsangabe nach den lokalen Einstellungen

gettimeofday
gmmktime
Datum/Uhrzeit Funktionen


Gibt einen Unix-Timestamp (Zeitstempel) für ein GMT Datum zurück

gmdate
gmstrftime
Datum/Uhrzeit Funktionen
PHP Manual

gmmktime

(PHP 4, PHP 5, PHP 7)

gmmktime — Gibt einen Unix-Timestamp (Zeitstempel) für ein GMT Datum zurück

Beschreibung

 int gmmktime
  ([ int $hour = gmdate("H")
 [, int $minute = gmdate("i")
 [, int $second = gmdate("s")
 [, int $month = gmdate("n")
 [, int $day = gmdate("j")
 [, int $year = gmdate("Y")
 [, int $is_dst = -1
]]]]]]] )

Identisch zu mktime() mit der Ausnahme, dass die übergebenen Parameter ein GMT-Datum repräsentieren. gmmktime() greift intern auf mktime() zurück, so dass nur Zeitangaben valide sind, die in der ausgewählten lokalen Zeitzone genutzt werden können.

Wie bei mktime() können Argumente von rechts nach links weggelassen werden, wobei jedes fehlende Argument auf den gegenwärtigen entsprechenden GMT-Wert gesetzt wird.

Parameter-Liste

hour

Die Zahl der Stunden relativ zum Beginn des Tages, der durch month, day und year bestimmt ist. Negative Werte beziehen sich auf die Stunde vor Mitternacht des jeweiligen Tages. Werte größer als 23 beziehen sich auf die entsprechende Stunde des/der folgenden Tags/Tage.

minute

Die Zahl der Minuten relativ zum Beginn der hour. Negative Werte beziehen sich auf die Minute in der vorherigen Stunde. Werte größer als 59 beziehen sich auf die entsprechende Minute der folgenden Stunde(n).

second

Die Zahl der Sekunden relativ zum Beginn der minute. Negative Werte beziehen sich auf die Sekunde der vorherigen Minute. Werte größer als 59 beziehen sich auf die entsprechende Minute der folgenden Minute(n).

month

Die Zahl des Monats relativ zum Ende des vorherigen Jahres. Die Werte 1 bis 12 beziehen sich auf normale Kalendermonate des jeweiligen Jahres. Werte kleiner als 1 (einschließlich negativer Werte) beziehen sich auf die Monate des vorherigen Jahres in umgekehrter Reihenfolge, so dass 0 Dezember ist, -1 November, usw. Werte größer als 12 beziehen sich auf den entsprechenden Monat des/der folgenden Jahrs/Jahre.

day

Die Zahl des Tages relativ zum Ende des vorherigen Monats. Die Werte 1 bis 28, 29, 30 oder 31 (in Abhängigkeit vom Monat) beziehen sich auf normale Tage im aktuellen Monat. Werte kleiner als 1 (einschließlich negativer Werte) beziehen sich auf die Tage im vorherigen Monat, so dass 0 der letzte Tag des vorherigen Monats ist, -1 der vorletzte, usw. Werte größer als die Anzahl von Tagen im aktuellen Monat beziehen sich auf den entsprechenden Tag in dem/den folgenden Monat(en).

year

Das Jahr

is_dst

Parameter repräsentieren immer ein GMT-Datum, so dass is_dst keinen Einfluss auf das Ergebnis nimmt.

Hinweis:

Dieser Parameter wurde in PHP 7.0.0 entfernt.

Rückgabewerte

Gibt einen Unix Timestamp im integer-Format zurück.

Changelog

Version | Beschreibung
7.0.0 | Der Parameter is_dst wurde entfernt.
5.1.0 | Mit der Einführung von PHP 5.1.0 wird der Parameter is_dst als veraltet betrachtet. In der Folge sollten stattdessen die neuen Zeitzonenhandling-Features verwendet werden.

Beispiele

Beispiel #1 Grundlegendes gmmktime() Beispiel

<?php
// Ausgabe: July 1, 2000 ist an einem Saturday
echo "July 1, 2000 ist an einem " . date("l", gmmktime(0, 0, 0, 7, 1, 2000));
?>

Siehe auch

  • mktime() - Gibt den Unix-Timestamp/Zeitstempel für ein Datum zurück
  • date() - Formatiert ein(e) angegebene(s) Ortszeit/Datum
  • time() - Gibt den aktuellen Unix-Timestamp/Zeitstempel zurück

gmdate
gmstrftime
Datum/Uhrzeit Funktionen


Formatiert eine Datum-/Zeitangabe in GMT/UTC-Format entsprechend den lokalen Einstellungen

gmmktime
idate
Datum/Uhrzeit Funktionen
PHP Manual

gmstrftime

(PHP 4, PHP 5, PHP 7)

gmstrftime — Formatiert eine Datum-/Zeitangabe in GMT/UTC-Format entsprechend den lokalen Einstellungen

Beschreibung

string gmstrftime ( string $format [, int $timestamp = time() ] )

Bewirkt das gleiche wie strftime() mit dem Unterschied, dass die Zeit nach Greenwich Mean Time (GMT) zurückgegeben wird. Wenn das Skript beispielsweise unter Eastern Standard Time (GMT -0500) läuft, gibt die erste Zeile unten "Dec 31 1998 20:00:00" aus, während die zweite "Jan 01 1999 01:00:00" ausgibt.

Parameter-Liste

format

Siehe die Beschreibung bei strftime().

timestamp

Der optionale Parameter timestamp ist ein Unix Timestamp als integer oder die aktuelle lokale Zeit wenn kein timestamp übergeben wurde. Er entspricht dann also dem Ergebnis der Funktion time().

Rückgabewerte

Gibt eine entsprechend dem übergebenen Formatstring formatierte Zeichenkette zurück. Die verwendete Zeitangabe wird durch den übergebenen timestamp oder die aktuelle lokale Zeit festgelegt, wenn kein Timestamp angegeben wurde. Monats- und Wochentagsnamen sowie andere sprachabhängige Zeichenketten beziehen sich auf die via setlocale() festgelegte aktuelle Locale-Angabe.

Beispiele

Beispiel #1 gmstrftime()-Beispiel

<?php
setlocale(LC_TIME, 'en_US');
echo strftime("%b %d %Y %H:%M:%S", mktime(20, 0, 0, 12, 31, 98)) . "\n";
echo gmstrftime("%b %d %Y %H:%M:%S", mktime(20, 0, 0, 12, 31, 98)) . "\n";
?>

Siehe auch

  • strftime() - Formatiert eine Zeit-/Datumsangabe nach den lokalen Einstellungen

gmmktime
idate
Datum/Uhrzeit Funktionen


Format a local time/date as integer

gmstrftime
localtime
Datum/Uhrzeit Funktionen
PHP Manual

idate

(PHP 5, PHP 7)

idate — Format a local time/date as integer

Beschreibung

int idate ( string $format [, int $timestamp = time() ] )

Returns a number formatted according to the given format string using the given integer timestamp or the current local time if no timestamp is given. In other words, timestamp is optional and defaults to the value of time().

Unlike the function date(), idate() accepts just one char in the format parameter.

Parameter-Liste

format

The following characters are recognized in the format parameter string
format character | Description
B | Swatch Beat/Internet Time
d | Day of the month
h | Hour (12 hour format)
H | Hour (24 hour format)
i | Minutes
I (uppercase i) | returns 1 if DST is activated, 0 otherwise
L (uppercase l) | returns 1 for leap year, 0 otherwise
m | Month number
s | Seconds
t | Days in current month
U | Seconds since the Unix Epoch - January 1 1970 00:00:00 UTC - this is the same as time()
w | Day of the week (0 on Sunday)
W | ISO-8601 week number of year, weeks starting on Monday
y | Year (1 or 2 digits - check note below)
Y | Year (4 digits)
z | Day of the year
Z | Timezone offset in seconds

timestamp

Der optionale Parameter timestamp ist ein Unix Timestamp als integer oder die aktuelle lokale Zeit wenn kein timestamp übergeben wurde. Er entspricht dann also dem Ergebnis der Funktion time().

Rückgabewerte

Returns an integer.

As idate() always returns an integer and as they can't start with a "0", idate() may return fewer digits than you would expect. See the example below.

Fehler/Exceptions

Jeder Aufruf der Datums- und Zeitfunktionen generiert eine E_NOTICE-Warnung, wenn die Zeitzone ungültig ist und eine E_STRICT-Nachricht oder eine E_WARNING-Warnung, wenn die Systemeinstellung oder die TZ-Umgebungsvariable genutzt wird. Siehe auch date_default_timezone_set()

Changelog

Version | Beschreibung
5.1.0 | Erzeugt nun E_STRICT- und E_NOTICE-Zeitzonenfehler.

Beispiele

Beispiel #1 idate() example

<?php
$timestamp = strtotime('1st January 2004'); //1072915200

// this prints the year in a two digit format
// however, as this would start with a "0", it
// only prints "4"
echo idate('y', $timestamp);
?>

Siehe auch

  • date() - Formatiert ein(e) angegebene(s) Ortszeit/Datum
  • getdate() - Gibt Datums- und Zeitinformationen zurück
  • time() - Gibt den aktuellen Unix-Timestamp/Zeitstempel zurück

gmstrftime
localtime
Datum/Uhrzeit Funktionen


Ermittelt die lokale Zeit

idate
microtime
Datum/Uhrzeit Funktionen
PHP Manual

localtime

(PHP 4, PHP 5, PHP 7)

localtime — Ermittelt die lokale Zeit

Beschreibung

array localtime ([ int $timestamp = time() [, bool $is_associative = false ]] )

Die localtime()-Funktion gibt ein Array zurück, welches hinsichtlich seiner Struktur identisch ist mit der des Funktionsaufrufs in C.

Parameter-Liste

timestamp

Der optionale Parameter timestamp ist ein Unix Timestamp als integer oder die aktuelle lokale Zeit wenn kein timestamp übergeben wurde. Er entspricht dann also dem Ergebnis der Funktion time().

is_associative

Ist der Wert nicht angegeben oder FALSE, ist das zurückgegebene Array ein normales numerisch indiziertes Array. Hat das Argument den Wert TRUE, gibt localtime() ein assoziatives Array zurück, das alle unterschiedlichen Strukturelemente enthält, die vom Aufruf der C-Funktion localtime zurückgegeben werden. Die Namen der unterschiedlichen Schlüssel des assoziativen Arrays lauten:

  • "tm_sec" - Sekunden, 0 bis 59
  • "tm_min" - Minuten, 0 bis 59
  • "tm_hour" - Stunde, 0 bis 23
  • "tm_mday" - Tag des Monats, 1 bis 31
  • "tm_mon" - Monat des Jahres, 0 (Jan) bis 11 (Dez)
  • "tm_year" - Jahre seit 1900
  • "tm_wday" - Tag der Woche, 0 (Son) bis 6 (Sam)
  • "tm_yday" - Tag des Jahres, 0 bis 365
  • "tm_isdst" - Ob für das Datum die Sommerzeit zu berücksichtigen ist Positiv wenn Ja, 0 wenn Nein, negativ wenn unbekannt.

Fehler/Exceptions

Jeder Aufruf der Datums- und Zeitfunktionen generiert eine E_NOTICE-Warnung, wenn die Zeitzone ungültig ist und eine E_STRICT-Nachricht oder eine E_WARNING-Warnung, wenn die Systemeinstellung oder die TZ-Umgebungsvariable genutzt wird. Siehe auch date_default_timezone_set()

Changelog

Version | Beschreibung
5.1.0 | Erzeugt nun E_STRICT- und E_NOTICE-Zeitzonenfehler.

Beispiele

Beispiel #1 localtime()-Beispiel

<?php
$localtime = localtime();
$localtime_assoc = localtime(time(), true);
print_r($localtime);
print_r($localtime_assoc);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [0] => 24
    [1] => 3
    [2] => 19
    [3] => 3
    [4] => 3
    [5] => 105
    [6] => 0
    [7] => 92
    [8] => 1
)

Array
(
    [tm_sec] => 24
    [tm_min] => 3
    [tm_hour] => 19
    [tm_mday] => 3
    [tm_mon] => 3
    [tm_year] => 105
    [tm_wday] => 0
    [tm_yday] => 92
    [tm_isdst] => 1
)

Siehe auch

  • getdate() - Gibt Datums- und Zeitinformationen zurück

idate
microtime
Datum/Uhrzeit Funktionen


Gibt den aktuellen Unix-Timestamp/Zeitstempel mit Mikrosekunden zurück

localtime
mktime
Datum/Uhrzeit Funktionen
PHP Manual

microtime

(PHP 4, PHP 5, PHP 7)

microtime — Gibt den aktuellen Unix-Timestamp/Zeitstempel mit Mikrosekunden zurück

Beschreibung

mixed microtime ([ bool $get_as_float = false ] )

microtime() gibt den aktuellen Unix-Timestamp mit Mikrosekunden zurück. Diese Funktion steht nur auf Systemen zur Verfügung, die den Systemaufruf gettimeofday() unterstützen.

Parameter-Liste

get_as_float

Wenn auf TRUE gesetzt, gibt microtime() einen float anstatt einem string zurück, wie in der Rückgabewert-Sektion unten genauer erläutert wird.

Rückgabewerte

Standardmäßig gibt microtime() einen string im Format "Mikrosekunden Sekunden" zurück, wobei Sekunden die Sekunden seit Beginn der Unix Epoche (01. Januar 1970 00:00:00 GMT) sind und Mikrosekunden die Anzahl an Mikrosekunden misst, die seit Sekunden vergangen sind, was ebenso in Sekunden ausgedrückt wird.

Wenn get_as_float TRUE ist, gibt microtime() stattdessen einen float zurück, welcher die aktuelle Zeit in Sekunden seit Beginn der Unix Epoche angibt (die Nachkommastellen geben die Mikrosekunden an).

Beispiele

Beispiel #1 Zeitmessung einer Skriptausführung mit microtime()

<?php
/**
 * Einfache Funktion zum Replizieren des PHP 5-Verhaltens
 */
function microtime_float()
{
    list($usec, $sec) = explode(" ", microtime());
    return ((float)$usec + (float)$sec);
}

$time_start = microtime_float();

// Die Skriptverarbeitung fuer einen bestimmten Zeitraum unterbrechen
usleep(100);

$time_end = microtime_float();
$time = $time_end - $time_start;

echo "In $time Sekunden nichts getan\n";
?>

Beispiel #2 Zeitmessung einer Skriptausführung in PHP 5

<?php
$time_start = microtime(true);

// Die Skriptverarbeitung fuer einen bestimmten Zeitraum unterbrechen
usleep(100);

$time_end = microtime(true);
$time = $time_end - $time_start;

echo "In $time Sekunden nichts getan\n";
?>

Beispiel #3 microtime() und REQUEST_TIME_FLOAT (ab PHP 5.4.0)

<?php
// zufällige Pausendauer
usleep(mt_rand(100, 10000));

// Ab PHP 5.4.0 ist REQUEST_TIME_FLOAT im superglobale $_SERVER Array verfügbar.
// Es enthält den Zeitstempel des Beginns des Request in Mikrosekunden-Auflösung.
$time = microtime(true) - $_SERVER["REQUEST_TIME_FLOAT"];

echo "Nichts getan in $time Sekunden\n";
?>

Siehe auch

  • time() - Gibt den aktuellen Unix-Timestamp/Zeitstempel zurück

localtime
mktime
Datum/Uhrzeit Funktionen


Gibt den Unix-Timestamp/Zeitstempel für ein Datum zurück

microtime
strftime
Datum/Uhrzeit Funktionen
PHP Manual

mktime

(PHP 4, PHP 5, PHP 7)

mktime — Gibt den Unix-Timestamp/Zeitstempel für ein Datum zurück

Beschreibung

 int mktime
  ([ int $hour = date("H")
 [, int $minute = date("i")
 [, int $second = date("s")
 [, int $month = date("n")
 [, int $day = date("j")
 [, int $year = date("Y")
 [, int $is_dst = -1
]]]]]]] )

Gibt den Unix-Timestamp entsprechend der gegebenen Argumente zurück. Dieser Timestamp ist ein Long Integer, der die Anzahl der Sekunden zwischen der Unix-Epoche (01. Januar 1970 00:00:00 GMT) und dem angegebenen Zeitpunkt enthält.

Einzelne Argumente können von rechts nach links weggelassen werden. Sie werden dann mit den Werten der lokalen Systemzeit bzw. des lokalen Systemdatums ersetzt.

Anmerkungen

Hinweis:

Seit PHP 5.1 wirft mktime() eine E_STRICT-Notice, wenn die Funktion ohne Argumente aufgerufen wird. Verwenden Sie in diesem Fall stattdessen die time()-Funktion.

Parameter-Liste

hour

Die Zahl der Stunden relativ zum Beginn des Tages, der durch month, day und year bestimmt ist. Negative Werte beziehen sich auf die Stunde vor Mitternacht des jeweiligen Tages. Werte größer als 23 beziehen sich auf die entsprechende Stunde des/der folgenden Tags/Tage.

minute

Die Zahl der Minuten relativ zum Beginn der hour. Negative Werte beziehen sich auf die Minute in der vorherigen Stunde. Werte größer als 59 beziehen sich auf die entsprechende Minute der folgenden Stunde(n).

second

Die Zahl der Sekunden relativ zum Beginn der minute. Negative Werte beziehen sich auf die Sekunde der vorherigen Minute. Werte größer als 59 beziehen sich auf die entsprechende Minute der folgenden Minute(n).

month

Die Zahl des Monats relativ zum Ende des vorherigen Jahres. Die Werte 1 bis 12 beziehen sich auf normale Kalendermonate des jeweiligen Jahres. Werte kleiner als 1 (einschließlich negativer Werte) beziehen sich auf die Monate des vorherigen Jahres in umgekehrter Reihenfolge, so dass 0 Dezember ist, -1 November, usw. Werte größer als 12 beziehen sich auf den entsprechenden Monat des/der folgenden Jahrs/Jahre.

day

Die Zahl des Tages relativ zum Ende des vorherigen Monats. Die Werte 1 bis 28, 29, 30 oder 31 (in Abhängigkeit vom Monat) beziehen sich auf normale Tage im aktuellen Monat. Werte kleiner als 1 (einschließlich negativer Werte) beziehen sich auf die Tage im vorherigen Monat, so dass 0 der letzte Tag des vorherigen Monats ist, -1 der vorletzte, usw. Werte größer als die Anzahl von Tagen im aktuellen Monat beziehen sich auf den entsprechenden Tag in dem/den folgenden Monat(en).

year

Die Jahreszahl, die zwei- oder vierstellig angegeben werden kann. Werte von 0 bis 69 werden auf 2000-2069 gemappt, Werte von 70 bis 100 auf 1970-2000. Auf Systemen, auf denen time_t ein 32-Bit Signed Integer ist (das sind die meisten der heutigen Systeme), beginnt der gültige Wertebereich für year bei 1901 und endet bei 2038. Allerdings begrenzen PHP-Versionen vor 5.1.0 den Bereich auf einigen Systemen (z.B. Windows) auf 1970-2038.

is_dst

is_dst kann bei Sommerzeit (DST) auf 1 gesetzt werden, der Wert 0 steht für Winter-/Normalzeit und -1 (Standardwert) heißt, dass unbekannt ist, ob gerade Sommer- oder Winterzeit herrscht. Sofern unbekannt, versucht PHP, dies selbst herauszufinden. Das kann zu unerwarteten (aber dennoch korrekten) Ergebnissen führen. Einige Zeitangaben sind ungültig, wenn die automatische Zeitumstellung auf dem System aktiviert ist, auf dem PHP läuft, oder auf dem der Parameter is_dst den Wert 1 hat. Wenn die Sommerzeit (DST) z.B. um 02:00 Uhr aktiviert wird, sind alle Zeitangaben zwischen 02:00 Uhr und 03:00 Uhr ungültig und mktime() gibt einen undefinierten (meist negativen) Wert zurück. Einige Betriebssyteme (z.B. Solaris 8) nehmen die Zeitumstellung um Mitternacht vor, so dass die Zeitangabe 0:30 als 23:30 des vorherigen Tages interpretiert wird.

Hinweis:

Seit PHP 5.1.0 gilt dieses Parameter als veraltet und wird nicht mehr zur Verwendung empfohlen. Verwenden Sie daher die neuen Features zum Handling von Zeitzonen.

Hinweis:

Dieser Parameter wurde in PHP 7.0.0 entfernt.

Rückgabewerte

mktime() gibt den zu den übergebenen Argumenten passenden Unix-Timestamp zurück. Wenn die Argumente ungültig sind, gibt die Funktion FALSE zurück (vor PHP 5.1 wurde dann -1 zurückgegeben).

Fehler/Exceptions

Jeder Aufruf der Datums- und Zeitfunktionen generiert eine E_NOTICE-Warnung, wenn die Zeitzone ungültig ist und eine E_STRICT-Nachricht oder eine E_WARNING-Warnung, wenn die Systemeinstellung oder die TZ-Umgebungsvariable genutzt wird. Siehe auch date_default_timezone_set()

Changelog

Version | Beschreibung
7.0.0 | Der Parameter is_dst wurde entfernt.
5.3.0 | mktime() wirft nun eine E_DEPRECATED-Notice, wenn der is_dst verwendet wird.
5.1.0 | Der Parameter is_dst wurde als veraltet markiert. Die Funktion gibt nun im Fehlerfall statt -1 FALSE zurück. Die Funktion wurde dahingehend gefixt, dass sie für Jahr, Monat und Tag auch den Wert 0 entgegennimmt.
5.1.0 | Wenn ohne Argumente aufgerufen, wirft mktime() eine E_STRICT-Notice. Verwenden Sie stattdessen die Funktion time().
5.1.0 | Erzeugt nun E_STRICT- und E_NOTICE-Zeitzonenfehler.

Beispiele

Beispiel #1 Einfaches mktime()-Beispiel

<?php
// Setzt die zu verwendende Standardzeitzone. Verfügbar seit PHP 5.1
date_default_timezone_set('UTC');

// Gibt aus: July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000));

// Gibt etwas aus wie: 2006-04-05T01:02:03+00:00
echo date('c', mktime(1, 2, 3, 4, 5, 2006));
?>

Beispiel #2 mktime()-Beispiel

mktime() ist hilfreich bei Datumsberechnungen und -prüfungen, da automatisch das korrekte Datum für Werte außerhalb der gültigen Bereiche berechnet wird. So wird in den folgenden Beispielen immer die Zeichenkette "Jan-01-1998" ausgegeben.

<?php
echo date("M-d-Y", mktime(0, 0, 0, 12, 32, 1997));
echo date("M-d-Y", mktime(0, 0, 0, 13, 1, 1997));
echo date("M-d-Y", mktime(0, 0, 0, 1, 1, 1998));
echo date("M-d-Y", mktime(0, 0, 0, 1, 1, 98));
?>

Beispiel #3 Letzter Tag eines Monats

Der letzte Tag eines gegebenen Monats kann als Tag "0" des folgenden Monats ausgedrückt werden, nicht jedoch als Tag "-1". Beide folgenden Beispiele ergeben die Zeichenkette "Letzter Tag im Februar 2000 ist der 29."

<?php
$letzterTag = mktime(0, 0, 0, 3, 0, 2000);
echo strftime("Letzter Tag im Februar 2000 ist der %d.", $letzterTag);
$letzterTag = mktime(0, 0, 0, 4, -31, 2000);
echo strftime("Letzter Tag im Februar 2000 ist der %d.", $letzterTag);
?>

Anmerkungen

Achtung

Vor PHP 5.1.0 wurden negative Timestamps von keiner bekannten Windowsversion oder anderen Betriebssystemen unterstützt. Daher war der Bereich gültiger Jahresangaben auf Werte zwischen 1970 und 2038 beschränkt.

Siehe auch

  • checkdate() - Prüft ein Gregorianisches Datum auf Gültigkeit
  • gmmktime() - Gibt einen Unix-Timestamp (Zeitstempel) für ein GMT Datum zurück
  • date() - Formatiert ein(e) angegebene(s) Ortszeit/Datum
  • time() - Gibt den aktuellen Unix-Timestamp/Zeitstempel zurück

microtime
strftime
Datum/Uhrzeit Funktionen


Formatiert eine Zeit-/Datumsangabe nach den lokalen Einstellungen

mktime
strptime
Datum/Uhrzeit Funktionen
PHP Manual

strftime

(PHP 4, PHP 5, PHP 7)

strftime — Formatiert eine Zeit-/Datumsangabe nach den lokalen Einstellungen

Beschreibung:

string strftime ( string $format [, int $ Timestamp ] )

Gibt einen String zurück, der den angegebenen Formatierungs-Merkmalen entspricht. Dabei wird der gegebene Timestamp/ Zeitstempel oder - falls dieser fehlt - die momentane lokale Zeit benutzt. Der Monats- und Wochentagsname wird entsprechend des per setlocale() eingestellten Wertes gesetzt.

Nachfolgend die im Formatierungsstring gültigen / bekannten Platzhalter:

  • %a - abgekürzter Name des Wochentages, abhängig von der gesetzten Umgebung
  • %A - ausgeschriebener Name des Wochentages, abhängig von der gesetzten Umgebung
  • %b - abgekürzter Name des Monats, abhängig von der gesetzten Umgebung
  • %B - ausgeschriebener Name des Monats, abhängig von der gesetzten Umgebung
  • %c - Wiedergabewerte für Datum und Zeit, abhängig von der gesetzten Umgebung
  • %C - Jahrhundert (Jahr geteilt durch 100, gekürzt auf Integer, Wertebereich 00 bis 99)
  • %d - Tag des Monats als Zahl (Bereich 01 bis 31)
  • %D - so wie %m/%d/%y
  • %e - Tag des Monats als Dezimal-Wert, einstelligen Werten wird ein Leerzeichen voran gestellt (Wertebereich ´ 1´ bis ´31´)
  • %g - wie %G, aber ohne Jahrhundert.
  • %G - Das vierstellige Jahr entsprechend der ISO Wochennummer (siehe %V). Das gleiche Format und der gleiche Wert wie bei %Y. Besonderheit: entspricht die ISO Wochennummer dem vorhergehenden oder folgenden Jahr, wird dieses Jahr verwendet.
  • %h - so wie %b
  • %H - Stunde als Zahl im 24-Stunden-Format (Bereich 00 bis 23)
  • %I - Stunde als Zahl im 12-Stunden-Format (Bereich 01 bis 12)
  • %j - Tag des Jahres als Zahl (Bereich 001 bis 366)
  • %m - Monat als Zahl (Bereich 01 bis 12)
  • %M - Minute als Dezimal-Wert
  • %n - neue Zeile
  • %p - entweder `am' oder `pm' (abhängig von der gesetzten Umgebung) oder die entsprechenden Zeichenketten der gesetzten Umgebung
  • %r - Zeit im Format a.m. oder p.m.
  • %R - Zeit in der 24-Stunden-Formatierung
  • %S - Sekunden als Dezimal-Wert
  • %t - Tabulator
  • %T - aktuelle Zeit, genau wie %H:%M:%S
  • %u - Tag der Woche als Dezimal-Wert [1,7], dabei ist 1 der Montag.
    Warnung

    Sun Solaris scheint mit dem Sonntag als 1 zu starten, obwohl ISO 9889:1999 (der aktuelle C Standard) klar festlegt, dass es der Montag sein sollte.

  • %U - Nummer der Woche des aktuellen Jahres als Dezimal-Wert, beginnend mit dem ersten Sonntag als erstem Tag der ersten Woche.
  • %V - Kalenderwoche (nach ISO 8601:1988) des aktuellen Jahres. Als Dezimal-Zahl mit dem Wertebereich 01 bis 53, wobei die Woche 01 die erste Woche mit mindestens 4 Tagen im aktuellen Jahr ist. Die Woche beginnt montags (nicht sonntags). (Benutzen Sie %G or %g für die Jahreskomponente, die der Wochennummer für den gegebenen Timestamp entspricht.)
  • %w - Wochentag als Dezimal-Wert, Sonntag ist 0
  • %W - Nummer der Woche des aktuellen Jahres, beginnend mit dem ersten Montag als erstem Tag der ersten Woche.
  • %x - bevorzugte Datumswiedergabe (ohne Zeit), abhängig von der gesetzten Umgebung.
  • %X - bevorzugte Zeitwiedergabe (ohne Datum), abhängig von der gesetzten Umgebung.
  • %y - Jahr als 2-stellige-Zahl (Bereich 00 bis 99)
  • %Y - Jahr als 4-stellige-Zahl inklusive des Jahrhunderts
  • %Z - Zeitzone, Name oder eine Abkürzung
  • %% - ein %-Zeichen

Hinweis:

Es ist durchaus möglich, dass Ihre C-Bibliothek nicht alle angegebenen Formatierungszeichen erkennt. In diesem Fall werden diese Zeichen von der PHP-Funktion strftime() nicht unterstützt. Zusätzlich unterstützen nicht alle Plattformen negative Werte eines Timestamps, deshalb könnte der Wertebereich eines Datums durch den Beginn der Unix Epoche begrenzt sein. Das bedeutet, dass z.B. %e, %T, %R und %D (und vielleicht noch weitere) und Zeitangaben vor dem Jan 1, 1970 auf Windowssystemen, einigen Linuxdistributionen und einigen anderen Betriebssytemen nicht funktionieren. Für Windowsbetriebssysteme finden Sie eine komplette Übersicht der gültigen / bekannten Platzhalter im Formatierungsstring auf dieser » MSDN Webseite.

Beispiel #1 strftime() locale Beispiel

<?php
setlocale(LC_TIME, "C");
echo strftime("%A");
setlocale(LC_TIME, "fi_FI");
echo strftime(" in Finnish is %A,");
setlocale(LC_TIME, "fr_FR");
echo strftime(" in French %A and");
setlocale(LC_TIME, "de_DE");
echo strftime(" in German %A.\n");
?>
Dieses Beispiel funktioniert nur, wenn auf Ihrem System die entsprechenden Locale-Codes installiert sind.

Hinweis: %G und %V basieren auf ISO 8601:1988 Wochennummern und können unerwartete (obwohl korrekte) Ergebnisse liefern, wenn Sie das Nummernsystem nicht gründlich verstehen. Sehen Sie weiter oben bei %V nach und beachten Sie die folgenden Beispiele.

Beispiel #2 ISO 8601:1988 Wochennummer Beispiel

<?php
/*     December 2002 / January 2003
ISOWk  M   Tu  W   Thu F   Sa  Su
----- ----------------------------
51     16  17  18  19  20  21  22
52     23  24  25  26  27  28  29
1      30  31   1   2   3   4   5
2       6   7   8   9  10  11  12
3      13  14  15  16  17  18  19   */

// Ausgabe: 12/28/2002 - %V,%G,%Y = 52,2002,2002
echo "12/28/2002 - %V,%G,%Y = " . strftime("%V,%G,%Y", strtotime("12/28/2002")) . "\n";

// Ausgabe: 12/30/2002 - %V,%G,%Y = 1,2003,2002
echo "12/30/2002 - %V,%G,%Y = " . strftime("%V,%G,%Y", strtotime("12/30/2002")) . "\n";

// Ausgabe: 1/3/2003 - %V,%G,%Y = 1,2003,2003
echo "1/3/2003 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/3/2003")) . "\n";

// Ausgabe: 1/10/2003 - %V,%G,%Y = 2,2003,2003
echo "1/10/2003 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/10/2003")) . "\n";

/*     December 2004 / January 2005
ISOWk  M   Tu  W   Thu F   Sa  Su
----- ----------------------------
51     13  14  15  16  17  18  19
52     20  21  22  23  24  25  26
53     27  28  29  30  31   1   2
1       3   4   5   6   7   8   9
2      10  11  12  13  14  15  16   */

// Ausgabe: 12/23/2004 - %V,%G,%Y = 52,2004,2004
echo "12/23/2004 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("12/23/2004")) . "\n";

// Ausgabe: 12/31/2004 - %V,%G,%Y = 53,2004,2004
echo "12/31/2004 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("12/31/2004")) . "\n";

// Ausgabe: 1/2/2005 - %V,%G,%Y = 53,2004,2005
echo "1/2/2005 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/2/2005")) . "\n";

// Ausgabe: 1/3/2005 - %V,%G,%Y = 1,2005,2005
echo "1/3/2005 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/3/2005")) . "\n";

?>

Siehe auch setlocale(),
mktime() und die »
Open Group Spezifikation von strftime().

mktime
strptime
Datum/Uhrzeit Funktionen


Parse a time/date generated with strftime

strftime
strtotime
Datum/Uhrzeit Funktionen
PHP Manual

strptime

(PHP 5 >= 5.1.0, PHP 7)

strptime — Parse a time/date generated with strftime()

Beschreibung

array strptime ( string $date , string $format )

strptime() returns an array with the date parsed, or FALSE on error.

Month and weekday names and other language dependent strings respect the current locale set with setlocale() (LC_TIME).

Parameter-Liste

date (string)

The string to parse (e.g. returned from strftime()).

format (string)

The format used in date (e.g. the same as used in strftime()). Note that some of the format options available to strftime() may not have any effect within strptime(); the exact subset that are supported will vary based on the operating system and C library in use.

For more information about the format options, read the strftime() page.

Rückgabewerte

Returns an arrayIm Fehlerfall wird FALSE zurückgegeben..

The following parameters are returned in the array
parameters | Description
"tm_sec" | Seconds after the minute (0-61)
"tm_min" | Minutes after the hour (0-59)
"tm_hour" | Hour since midnight (0-23)
"tm_mday" | Day of the month (1-31)
"tm_mon" | Months since January (0-11)
"tm_year" | Years since 1900
"tm_wday" | Days since Sunday (0-6)
"tm_yday" | Days since January 1 (0-365)
"unparsed" | the date part which was not recognized using the specified format

Beispiele

Beispiel #1 strptime() example

<?php
$format = '%d/%m/%Y %H:%M:%S';
$strf = strftime($format);

echo "$strf\n";

print_r(strptime($strf, $format));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

03/10/2004 15:54:19

Array
(
    [tm_sec] => 19
    [tm_min] => 54
    [tm_hour] => 15
    [tm_mday] => 3
    [tm_mon] => 9
    [tm_year] => 104
    [tm_wday] => 0
    [tm_yday] => 276
    [unparsed] =>
)

Anmerkungen

Hinweis: Diese Funktion ist auf Windows-Plattformen nicht implementiert.

Hinweis:

Internally, this function calls the strptime() function provided by the system's C library. This function can exhibit noticeably different behaviour across different operating systems. The use of date_parse_from_format(), which does not suffer from these issues, is recommended on PHP 5.3.0 and later.

Hinweis:

"tm_sec" includes any leap seconds (currently upto 2 a year). For more information on leap seconds, see the » Wikipedia article on leap seconds.

Hinweis:

Prior to PHP 5.2.0, this function could return undefined behaviour. Notably, the "tm_sec", "tm_min" and "tm_hour" entries would return undefined values.

Siehe auch

  • checkdate() - Prüft ein Gregorianisches Datum auf Gültigkeit
  • strftime() - Formatiert eine Zeit-/Datumsangabe nach den lokalen Einstellungen
  • date_parse_from_format() - Get info about given date formatted according to the specified format
  • DateTime::createFromFormat() - Parses a time string according to a specified format

strftime
strtotime
Datum/Uhrzeit Funktionen


Wandelt ein beliebiges in englischer Textform angegebenes Datum in einen UNIX-Zeitstempel (Timestamp) um

strptime
time
Datum/Uhrzeit Funktionen
PHP Manual

strtotime

(PHP 4, PHP 5, PHP 7)

strtotime — Wandelt ein beliebiges in englischer Textform angegebenes Datum in einen UNIX-Zeitstempel (Timestamp) um

Beschreibung

int strtotime ( string $time [, int $now = time() ] )

Diese Funktion erwartet einen String mit einem Datum im Englischen Datumsformat und versucht, dieses Format in einen Unix-Timestamp (die Anzahl der Sekunden seit dem 01. Januar 1970 00:00:00 UTC) zu übersetzen. Die Angabe wird relativ zum im now-Parameter übergebenen Timestamp oder der aktuellen Zeit, sofern now nicht übergeben wurde, ausgewertet.

Jeder Parameter dieser Funktion verwendet die Standard-Zeitzone, es sei denn eine Zeitzone wird in diesem Parameter angegeben. Es ist darauf zu achten, nicht etwa verschiedene Zeitzonen je Parameter zu verwenden, außer wenn das beabsichtigt ist. Die verschiedenen Möglichkeiten die Standard-Zeitzone zu definieren sind date_default_timezone_get() zu entnehmen.

Parameter-Liste

time

Ein Datums/Zeit Zeichenkette. Gültige Formate werden unter Datums- und Zeitformate erläutert.

now

Der Timestamp, der als Basis zur Berechnung relativer Daten verwendet wird.

Rückgabewerte

Gibt im Erfolgsfall einen Timestamp, andernfalls FALSE zurück. Vor PHP 5.1.0 gab die Funktion -1 im Fehlerfall zurück.

Fehler/Exceptions

Jeder Aufruf der Datums- und Zeitfunktionen generiert eine E_NOTICE-Warnung, wenn die Zeitzone ungültig ist und eine E_STRICT-Nachricht oder eine E_WARNING-Warnung, wenn die Systemeinstellung oder die TZ-Umgebungsvariable genutzt wird. Siehe auch date_default_timezone_set()

Changelog

Version | Beschreibung
5.3.0 | Vor PHP 5.3.0 wurden relative Zeitformate wie this week, previous week, last week und next week, die dem time Argument von strtotime() übergeben wurden, als 7-Tages-Zeitraum anstatt eines Wochenzeitraums von Monday bis Sunday interpretiert.
5.3.0 | Vor PHP 5.3.0 war 24:00 keine korrekte Formatierung, daher gab strtotime() FALSE zurück.
5.2.7 | Wird in PHP 5 vor Version 5.2.7 ein gegebenes Vorkommen eines angegebenen Wochentages eines Monats abgefragt, der der erste Tag des Monats ist, wird eine Woche zum zurückgegebenen Zeitstempel addiert. Dieser Fehler ist in Version 5.2.7 und später korrigiert.
5.1.0 | Im Fehlerfall wird FALSE statt -1 zurückgegeben.
5.1.0 | Erzeugt nun E_STRICT- und E_NOTICE-Zeitzonenfehler.
5.0.2 | In PHP 5 bis 5.0.2 werden "now" und andere relative Zeitangaben fälschlicherweise ab dem Zeitpunkt des Datumswechsels berechnet. Dieses Verhalten unterscheidet sich von anderen Versionen, die diese Angaben in die korrekte aktuelle Zeit übersetzen.
5.0.0 | Die Angabe von Mikrosekunden ist erlaubt, wird aber ignoriert.
4.4.0 | In PHP-Versionen vor 4.4.0 wird "next" fälschlicherweise als +2 interpretiert. Eine einfache Lösung für dieses Problem ist, explizit +1 zu verwenden.

Beispiele

Beispiel #1 Ein strtotime()-Beispiel

<?php
echo strtotime("now"), "\n";
echo strtotime("10 September 2000"), "\n";
echo strtotime("+1 day"), "\n";
echo strtotime("+1 week"), "\n";
echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";
echo strtotime("next Thursday"), "\n";
echo strtotime("last Monday"), "\n";
?>

Beispiel #2 Test auf Fehler

<?php
$str = 'Not Good';

// vor PHP 5.1.0 wuerden Sie -1 statt false als Rueckgabewert erhalten
if (($timestamp = strtotime($str)) === false) {
    echo "Die Zeichenkette ($str) ist nicht parsebar.";
} else {
    echo "$str == " . date('l dS \o\f F Y h:i:s A', $timestamp);
}
?>

Anmerkungen

Hinweis:

Wenn die Jahreszahlenangabe zweistellig erfolgt, werden Werte zwischen 00 und 69 auf die Jahre 2000 bis 2069 gemappt, die Werte 70-99 ergeben die Jahreszahlen 1970-1999. Beachten Sie die folgenden Anmerkungen bezüglich der Unterschiede auf 32-Bit-Systemen (das Datum endet möglicherweise am 2038-01-19 03:14:07).

Hinweis:

Der gültige Bereich eines Timestamp liegt typischerweise zwischen Fri, 13 Dec 1901 20:45:54 UTC und Tue, 19 Jan 2038 03:14:07 UTC. (Das sind die Datumsangaben, die dem minimalen und maximalen Wert eines vorzeichenbehafteten 32-bit Integer entsprechen.)

Vor PHP 5.1.0 unterstützen nicht alle Plattformen negative Werte eines Timestamps, deshalb könnte der Wertebereich eines Datums durch den Beginn der Unix Epoche begrenzt sein. Das bedeutet, dass z.B. Zeitangaben vor dem 1. Januar 1970 auf Windowssystemen, einigen Linuxdistributionen und einigen anderen Betriebssytemen nicht funktionieren.

Für 64 Bit Versionen von PHP ist der gültige Bereich für Timestamps praktisch unendlich groß, da 64 Bit etwa 293 Milliarden Jahre in beide Richtungen darstellen können.

Hinweis:

Daten im Format m/d/y oder d-m-y werden unterschieden anhand des genutzten Trennzeichens: Wenn ein Slash (/) genutzt wird, wird das Amerikanische Format m/d/y angenommen; wird stattdessen ein Minus (-) oder ein Punkt (.) genutzt, wird das Europäische Format d-m-y angenommen.

Um Mehrdeutigkeiten zu vermeiden sollten am besten ISO 8601 Daten (YYYY-MM-DD) genutzt werden oder aber die Methode DateTime::createFromFormat() verwendet werden.

Hinweis:

Die Verwendung dieser Funktion für mathematische Berechnungen ist nicht zu empfehlen. Es ist besser DateTime::add() und DateTime::sub() in PHP 5.3 und neuer, oder DateTime::modify() in PHP 5.2 zu verwenden.

Siehe auch

  • Date and Time Formats
  • DateTime::createFromFormat() - Parses a time string according to a specified format
  • checkdate() - Prüft ein Gregorianisches Datum auf Gültigkeit
  • strptime() - Parse a time/date generated with strftime

strptime
time
Datum/Uhrzeit Funktionen


Gibt den aktuellen Unix-Timestamp/Zeitstempel zurück

strtotime
timezone_abbreviations_list
Datum/Uhrzeit Funktionen
PHP Manual

time

(PHP 4, PHP 5, PHP 7)

time — Gibt den aktuellen Unix-Timestamp/Zeitstempel zurück

Beschreibung

int time ( void )

Gibt die seit Beginn der Unix-Epoche (Januar 1 1970 00:00:00 GMT) bis jetzt vergangenen Sekunden zurück.

Beispiele

Beispiel #1 time()-Beispiel

<?php
$nextWeek = time() + (7 * 24 * 60 * 60);
                   // 7 Tage; 24 Stunden; 60 Minuten; 60 Sekunden
echo 'Jetzt:          '. date('Y-m-d') ."\n";
echo 'Naechste Woche: '. date('Y-m-d', $nextWeek) ."\n";
// oder strtotime() verwenden:
echo 'Naechste Woche: '. date('Y-m-d', strtotime('+1 week')) ."\n";
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Jetzt:          2005-03-30
Naechste Woche: 2005-04-06
Naechste Woche: 2005-04-06

Anmerkungen

Tipp

Der Timestamp des Beginns der aktuellen Anfrage steht seit PHP 5.1 in der Variablen $_SERVER['REQUEST_TIME'] zur Verfügung.

Siehe auch

  • date() - Formatiert ein(e) angegebene(s) Ortszeit/Datum
  • microtime() - Gibt den aktuellen Unix-Timestamp/Zeitstempel mit Mikrosekunden zurück

strtotime
timezone_abbreviations_list
Datum/Uhrzeit Funktionen


Alias von DateTimeZone::listAbbreviations

time
timezone_identifiers_list
Datum/Uhrzeit Funktionen
PHP Manual

timezone_abbreviations_list

(PHP 5 >= 5.2.0, PHP 7)

timezone_abbreviations_list — Alias von DateTimeZone::listAbbreviations()

Beschreibung

Diese Funktion ist ein Alias für: DateTimeZone::listAbbreviations()

time
timezone_identifiers_list
Datum/Uhrzeit Funktionen


Alias von DateTimeZone::listIdentifiers

timezone_abbreviations_list
timezone_location_get
Datum/Uhrzeit Funktionen
PHP Manual

timezone_identifiers_list

(PHP 5 >= 5.2.0, PHP 7)

timezone_identifiers_list — Alias von DateTimeZone::listIdentifiers()

Beschreibung

Diese Funktion ist ein Alias für: DateTimeZone::listIdentifiers()

timezone_abbreviations_list
timezone_location_get
Datum/Uhrzeit Funktionen


Alias von DateTimeZone::getLocation

timezone_identifiers_list
timezone_name_from_abbr
Datum/Uhrzeit Funktionen
PHP Manual

timezone_location_get

(PHP 5 >= 5.3.0, PHP 7)

timezone_location_get — Alias von DateTimeZone::getLocation()

Beschreibung

Diese Funktion ist ein Alias für: DateTimeZone::getLocation()

timezone_identifiers_list
timezone_name_from_abbr
Datum/Uhrzeit Funktionen


Gibt den Namen der Zeitzonenabkürzung zurück

timezone_location_get
timezone_name_get
Datum/Uhrzeit Funktionen
PHP Manual

timezone_name_from_abbr

(PHP 5 >= 5.1.3, PHP 7)

timezone_name_from_abbr — Gibt den Namen der Zeitzonenabkürzung zurück

Beschreibung

string timezone_name_from_abbr ( string $abbr [, int $gmtOffset = -1 [, int $isdst = -1 ]] )

Parameter-Liste

abbr

Zeitzonenabkürzung.

gmtOffset

Offset zu GMT in Sekunden. Standardwert ist -1, das bedeutet, dass die erste gefundene Zeitzone, die abbr entspricht, zurückgegeben wird. Andernfalls wird der exakte Offset gesucht und nur, wenn dieser nicht gefunden wird, wird die erste Zeitzone mit einem Offset zurückgegeben.

isdst

Sommerzeit-Indikator. Voreinstellung ist -1, was bedeutet, dass bei der Suche nicht berücksichtigt wird, ob die Zeitzone Sommerzeit hat oder nicht. Wenn dies auf 1 gesetzt ist, dann wird angenommen, dass gmtOffset ein Offset mit Sommerzeit ist; wenn 0, dann wird angenommen, dass gmtOffset ein Offset ohne Sommerzeit ist. Wenn abbr nicht existiert, wird die Zeitzone ausschließlich anhand von gmtOffset und isdst gesucht.

Rückgabewerte

Gibt im Erfolgsfall den Namen der Zeitzone zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Ein timezone_name_from_abbr()-Beispiel

<?php
echo timezone_name_from_abbr("CET") . "\n";
echo timezone_name_from_abbr("", 3600, 0) . "\n";
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Europe/Berlin
Europe/Paris

Siehe auch

  • timezone_abbreviations_list() - Alias von DateTimeZone::listAbbreviations

timezone_location_get
timezone_name_get
Datum/Uhrzeit Funktionen


Alias von DateTimeZone::getName

timezone_name_from_abbr
timezone_offset_get
Datum/Uhrzeit Funktionen
PHP Manual

timezone_name_get

(PHP 5 >= 5.2.0, PHP 7)

timezone_name_get — Alias von DateTimeZone::getName()

Beschreibung

Diese Funktion ist ein Alias für: DateTimeZone::getName()

timezone_name_from_abbr
timezone_offset_get
Datum/Uhrzeit Funktionen


Alias von DateTimeZone::getOffset

timezone_name_get
timezone_open
Datum/Uhrzeit Funktionen
PHP Manual

timezone_offset_get

(PHP 5 >= 5.2.0, PHP 7)

timezone_offset_get — Alias von DateTimeZone::getOffset()

Beschreibung

Diese Funktion ist ein Alias für: DateTimeZone::getOffset()

timezone_name_get
timezone_open
Datum/Uhrzeit Funktionen


Alias von DateTimeZone::__construct

timezone_offset_get
timezone_transitions_get
Datum/Uhrzeit Funktionen
PHP Manual

timezone_open

(PHP 5 >= 5.2.0, PHP 7)

timezone_open — Alias von DateTimeZone::__construct()

Beschreibung

Diese Funktion ist ein Alias für: DateTimeZone::__construct()

timezone_offset_get
timezone_transitions_get
Datum/Uhrzeit Funktionen


Alias von DateTimeZone::getTransitions

timezone_open
timezone_version_get
Datum/Uhrzeit Funktionen
PHP Manual

timezone_transitions_get

(PHP 5 >= 5.2.0, PHP 7)

timezone_transitions_get — Alias von DateTimeZone::getTransitions()

Beschreibung

Diese Funktion ist ein Alias für: DateTimeZone::getTransitions()

timezone_open
timezone_version_get
Datum/Uhrzeit Funktionen


Gets the version of the timezonedb

timezone_transitions_get
Supported Date and Time Formats
Datum/Uhrzeit Funktionen
PHP Manual

timezone_version_get

(PHP 5 >= 5.3.0, PHP 7)

timezone_version_get — Gets the version of the timezonedb

Beschreibung

string timezone_version_get ( void )

Returns the current version of the timezonedb.

Rückgabewerte

Returns a string.

Beispiele

Beispiel #1 Getting the timezonedb version

<?php
echo timezone_version_get();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

2009.7

Siehe auch

  • List of Supported Timezones

timezone_transitions_get
Supported Date and Time Formats
Datum/Uhrzeit Funktionen


Supported Date and Time Formats

Inhaltsverzeichnis

  • Time Formats
  • Date Formats
  • Compound Formats
  • Relative Formats

This section describes all the different formats that the strtotime(), DateTime and date_create() parser understands. The formats are grouped by section. In most cases formats from different sections can be used in the same date/time string. For each of the supported formats, one or more examples are given, as well as a description for the format. Characters in single quotes in the formats are case-insensitive ('t' could be t or T), characters in double quotes are case-sensitive ("T" is only T).

timezone_version_get
Time Formats
Datum/Uhrzeit


Time Formats

This page describes the different time formats that the strtotime(), DateTime and date_create() parser understands.

Used Symbols
Description | Formats | Examples
frac | . [0-9]+ | ".21342", ".85"
hh | "0"?[1-9] | "1"[0-2] | "04", "7", "12"
HH | [01][0-9] | "2"[0-4] | "04", "07", "19"
meridian | [AaPp] .? [Mm] .? [\0\t ] | "A.m.", "pM", "am."
MM | [0-5][0-9] | "00", "12", "59"
II | [0-5][0-9] | "00", "12", "59"
space | [ \t] |
tz | "("? [A-Za-z]{1,6} ")"? | [A-Z][a-z]+([_/][A-Z][a-z]+)+ | "CEST", "Europe/Amsterdam", "America/Indiana/Knox"
tzcorrection | "GMT"? [+-] hh ":"? MM? | "+0400", "GMT-07:00", "-07:00"
12 Hour Notation
Description | Format | Examples
Hour only, with meridian | hh space? meridian | "4 am", "5PM"
Hour and minutes, with meridian | hh [.:] MM space? meridian | "4:08 am", "7:19P.M."
Hour, minutes and seconds, with meridian | hh [.:] MM [.:] II space? meridian | "4:08:37 am", "7:19:19P.M."
MS SQL (Hour, minutes, seconds and fraction with meridian), PHP 5.3 and later only | hh ":" MM ":" II [.:] [0-9]+ meridian | "4:08:39:12313am"
24 Hour Notation
Description | Format | Examples
Hour and minutes | 't'? HH [.:] MM | "04:08", "19.19", "T23:43"
Hour and minutes, no colon | 't'? HH MM | "0408", "t1919", "T2343"
Hour, minutes and seconds | 't'? HH [.:] MM [.:] II | "04.08.37", "t19:19:19"
Hour, minutes and seconds, no colon | 't'? HH MM II | "040837", "T191919"
Hour, minutes, seconds and timezone | 't'? HH [.:] MM [.:] II space? ( tzcorrection | tz ) | "040837CEST", "T191919-0700"
Hour, minutes, seconds and fraction | 't'? HH [.:] MM [.:] II frac | "04.08.37.81412", "19:19:19.532453"
Time zone information | tz | tzcorrection | "CEST", "Europe/Amsterdam", "+0430", "GMT-06:00"
Supported Date and Time Formats
Date Formats
Supported Date and Time Formats


Date Formats

This page describes the different date formats that the strtotime(), DateTime and date_create() parser understands.

Used Symbols
Description | Format | Examples
daysuf | "st" | "nd" | "rd" | "th" |
dd | ([0-2]?[0-9] | "3"[01]) daysuf? | "7th", "22nd", "31"
DD | "0" [0-9] | [1-2][0-9] | "3" [01] | "07", "31"
m | 'january' | 'february' | 'march' | 'april' | 'may' | 'june' | 'july' | 'august' | 'september' | 'october' | 'november' | 'december' | 'jan' | 'feb' | 'mar' | 'apr' | 'may' | 'jun' | 'jul' | 'aug' | 'sep' | 'sept' | 'oct' | 'nov' | 'dec' | "I" | "II" | "III" | "IV" | "V" | "VI" | "VII" | "VIII" | "IX" | "X" | "XI" | "XII" |
M | 'jan' | 'feb' | 'mar' | 'apr' | 'may' | 'jun' | 'jul' | 'aug' | 'sep' | 'sept' | 'oct' | 'nov' | 'dec' |
mm | "0"? [0-9] | "1"[0-2] | "0", "04", "7", "12"
MM | "0" [0-9] | "1"[0-2] | "00", "04", "07", "12"
y | [0-9]{1,4} | "00", "78", "08", "8", "2008"
yy | [0-9]{2} | "00", "08", "78"
YY | [0-9]{4} | "2000", "2008", "1978"
Localized Notations
Description | Format | Examples
American month and day | mm "/" dd | "5/12", "10/27"
American month, day and year | mm "/" dd "/" y | "12/22/78", "1/17/2006", "1/17/6"
Four digit year, month and day with slashes | YY "/" mm "/" dd | "2008/6/30", "1978/12/22"
Four digit year and month (GNU) | YY "-" mm | "2008-6", "2008-06", "1978-12"
Year, month and day with dashes | y "-" mm "-" dd | "2008-6-30", "78-12-22", "8-6-21"
Day, month and four digit year, with dots, tabs or dashes | dd [.\t-] mm [.-] YY | "30-6-2008", "22.12.1978"
Day, month and two digit year, with dots or tabs | dd [.\t] mm "." yy | "30.6.08", "22\t12.78"
Day, textual month and year | dd ([ \t.-])* m ([ \t.-])* y | "30-June 2008", "22DEC78", "14 III 1879"
Textual month and four digit year (Day reset to 1) | m ([ \t.-])* YY | "June 2008", "DEC1978", "March 1879"
Four digit year and textual month (Day reset to 1) | YY ([ \t.-])* m | "2008 June", "1978-XII", "1879.MArCH"
Textual month, day and year | m ([ .\t-])* dd [,.stndrh\t ]+ y | "July 1st, 2008", "April 17, 1790", "May.9,78"
Textual month and day | m ([ .\t-])* dd [,.stndrh\t ]* | "July 1st,", "Apr 17", "May.9"
Day and textual month | d ([ .\t-])* m | "1 July", "17 Apr", "9.May"
Month abbreviation, day and year | M "-" DD "-" y | "May-09-78", "Apr-17-1790"
Year, month abbreviation and day | y "-" M "-" DD | "78-Dec-22", "1814-MAY-17"
Year (and just the year) | YY | "1978", "2008"
Textual month (and just the month) | m | "March", "jun", "DEC"
ISO8601 Notations
Description | Format | Examples
Eight digit year, month and day | YY MM DD | "15810726", "19780417", "18140517"
Four digit year, month and day with slashes | YY "/" MM "/" DD | "2008/06/30", "1978/12/22"
Two digit year, month and day with dashes | yy "-" MM "-" DD | "08-06-30", "78-12-22"
Four digit year with optional sign, month and day | [+-]? YY "-" MM "-" DD | "-0002-07-26", "+1978-04-17", "1814-05-17"

Hinweis:

For the y and yy formats, years below 100 are handled in a special way when the y or yy symbol is used. If the year falls in the range 0 (inclusive) to 69 (inclusive), 2000 is added. If the year falls in the range 70 (inclusive) to 99 (inclusive) then 1900 is added. This means that "00-01-01" is interpreted as "2000-01-01".

Hinweis:

The "Day, month and two digit year, with dots or tabs" format (dd [.\t] mm "." yy) only works for the year values 61 (inclusive) to 99 (inclusive) - outside those years the time format "HH [.:] MM [.:] SS" has precedence.

Hinweis:

The "Year (and just the year)" format only works if a time string has already been found -- otherwise this format is recognised as HH MM.

Hinweis:

It is possible to over- and underflow the dd and DD format. Day 0 means the last day of previous month, whereas overflows count into the next month. This makes "2008-08-00" equivalent to "2008-07-31" and "2008-06-31" equivalent to "2008-07-01" (June only has 30 days).

Note that as of PHP 5.1.0 the day range is restricted to 0-31 as indicated by the regular expression above. Thus "2008-06-32" is not a valid date string, for instance.

It is also possible to underflow the mm and MM formats with the value 0. A month value of 0 means December of the previous year. As example "2008-00-22" is equivalent to "2007-12-22".

If you combine the previous two facts and underflow both the day and the month, the following happens: "2008-00-00" first gets converted to "2007-12-00" which then gets converted to "2007-11-30". This also happens with the string "0000-00-00", which gets transformed into "-0001-11-30" (the year -1 in the ISO 8601 calendar, which is 2 BC in the proleptic Gregorian calendar).

Time Formats
Compound Formats
Supported Date and Time Formats


Compound Formats

This page describes the different compound date/time formats that the strtotime(), DateTime and date_create() parser understands.

Used Symbols
Description | Formats | Examples
DD | "0" [0-9] | [1-2][0-9] | "3" [01] | "02", "12", "31"
doy | "00"[1-9] | "0"[1-9][0-9] | [1-2][0-9][0-9] | "3"[0-5][0-9] | "36"[0-6] | "001", "012", "180", "350", "366"
frac | . [0-9]+ | ".21342", ".85"
hh | "0"?[1-9] | "1"[0-2] | "04", "7", "12"
HH | [01][0-9] | "2"[0-4] | "04", "7", "19"
meridian | [AaPp] .? [Mm] .? [\0\t ] | "A.m.", "pM", "am."
ii | [0-5][0-9] | "04", "8", "59"
II | [0-5][0-9] | "04", "08", "59"
M | 'jan' | 'feb' | 'mar' | 'apr' | 'may' | 'jun' | 'jul' | 'aug' | 'sep' | 'sept' | 'oct' | 'nov' | 'dec' |
MM | [0-1][0-9] | "00", "12"
space | [ \t] |
ss | [0-5][0-9] | "04", "8", "59"
SS | [0-5][0-9] | "04", "08", "59"
W | "0"[1-9] | [1-4][0-9] | "5"[0-3] | "05", "17", "53"
tzcorrection | "GMT"? [+-] hh ":"? II? | "+0400", "GMT-07:00", "-07:00"
YY | [0-9]{4} | "2000", "2008", "1978"
Localized Notations
Description | Format | Examples
Common Log Format | dd "/" M "/" YY : HH ":" II ":" SS space tzcorrection | "10/Oct/2000:13:55:36 -0700"
EXIF | YY ":" MM ":" DD " " HH ":" II ":" SS | "2008:08:07 18:11:31"
ISO year with ISO week | YY "-"? "W" W | "2008W27", "2008-W28"
ISO year with ISO week and day | YY "-"? "W" W "-"? [0-7] | "2008W273", "2008-W28-3"
MySQL | YY "-" MM "-" DD " " HH ":" II ":" SS | "2008-08-07 18:11:31"
PostgreSQL: Year with day-of-year | YY "."? doy | "2008.197", "2008197"
SOAP | YY "-" MM "-" DD "T" HH ":" II ":" SS frac tzcorrection? | "2008-07-01T22:35:17.02", "2008-07-01T22:35:17.03+08:00"
Unix Timestamp | "@" "-"? [0-9]+ | "@1215282385"
XMLRPC | YY MM DD "T" hh ":" II ":" SS | "20080701T22:38:07", "20080701T9:38:07"
XMLRPC (Compact) | YY MM DD 't' hh II SS | "20080701t223807", "20080701T093807"
WDDX | YY "-" mm "-" dd "T" hh ":" ii ":" ss | "2008-7-1T9:3:37"

Hinweis:

The "W" in the "ISO year with ISO week" and "ISO year with ISO week and day" formats is case-sensitive, you can only use the upper case "W".

The "T" in the SOAP, XMRPC and WDDX formats is case-sensitive, you can only use the upper case "T".

The "Unix Timestamp" format sets the timezone to UTC.

Date Formats
Relative Formats
Supported Date and Time Formats


Relative Formats

This page describes the different relative date/time formats that the strtotime(), DateTime and date_create() parser understands.

Used Symbols
Description | Format
dayname | 'sunday' | 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday' | 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat'
daytext | 'weekday' | 'weekdays'
number | [+-]?[0-9]+
ordinal | 'first' | 'second' | 'third' | 'fourth' | 'fifth' | 'sixth' | 'seventh' | 'eighth' | 'ninth' | 'tenth' | 'eleventh' | 'twelfth' | 'next' | 'last' | 'previous' | 'this'
reltext | 'next' | 'last' | 'previous' | 'this'
space | [ \t]+
unit | (('sec' | 'second' | 'min' | 'minute' | 'hour' | 'day' | 'fortnight' | 'forthnight' | 'month' | 'year') 's'?) | 'weeks' | daytext
Day-based Notations
Format | Description | Examples
'yesterday' | Midnight of yesterday | "yesterday 14:00"
'midnight' | The time is set to 00:00:00 |
'today' | The time is set to 00:00:00 |
'now' | Now - this is simply ignored |
'noon' | The time is set to 12:00:00 | "yesterday noon"
'tomorrow' | Midnight of tomorrow |
'back of' hour | 15 minutes past the specified hour | "back of 7pm", "back of 15"
'front of' hour | 15 minutes before the specified hour | "front of 5am", "front of 23"
'first day of' | Sets the day of the first of the current month. This phrase is best used together with a month name following it. | "first day of January 2008"
'last day of' | Sets the day to the last day of the current month. This phrase is best used together with a month name following it. | "last day of next month"
ordinal space dayname space 'of' | Calculates the x-th week day of the current month. | "first sat of July 2008"
'last' space dayname space 'of' | Calculates the last week day of the current month. | "last sat of July 2008"
number space? (unit | 'week') | Handles relative time items where the value is a number. | "+5 weeks", "12 day", "-7 weekdays"
ordinal space unit | Handles relative time items where the value is text. | "fifth day", "second month"
'ago' | Negates all the values of previously found relative time items. | "2 days ago", "8 days ago 14:00", "2 months 5 days ago", "2 months ago 5 days", "2 days ago"
dayname | Moves to the next day of this name. | "Monday"
reltext space 'week' | Handles the special format "weekday + last/this/next week". | "Monday next week"

Hinweis:

Relative statements are always processed after non-relative statements. This makes "+1 week july 2008" and "july 2008 +1 week" equivalent.

Exceptions to this rule are: "yesterday", "midnight", "today", "noon" and "tomorrow". Note that "tomorrow 11:00" and "11:00 tomorrow" are different. Considering today's date of "July 23rd, 2008" the first one produces "2008-07-24 11:00" where as the second one produces "2008-07-24 00:00". The reason for this is that those five statements directly influence the current time.

Hinweis:

Observe the following remarks when the current day-of-week is the same as the day-of-week used in the date/time string. The current day-of-week could have been (re-)calculated by non-relative parts of the date/time string however.

  1. "dayname" does not advance to another day. (Example: "Wed July 23rd, 2008" means "2008-07-23").
  2. "number dayname" does not advance to another day. (Example: "1 wednesday july 23rd, 2008" means "2008-07-23").
  3. "number week dayname" will first add the number of weeks, but does not advance to another day. In this case "number week" and "dayname" are two distinct blocks. (Example: "+1 week wednesday july 23rd, 2008" means "2008-07-30").
  4. "ordinal dayname" does advance to another day. (Example "first wednesday july 23rd, 2008" means "2008-07-30").
  5. "number week ordinal dayname" will first add the number of weeks, and then advances to another day. In this case "number week" and "ordinal dayname" are two distinct blocks. (Example: "+1 week first wednesday july 23rd, 2008" means "2008-08-06").
  6. "ordinal dayname 'of' " does not advance to another day. (Example: "first wednesday of july 23rd, 2008" means "2008-07-02" because the specific phrase with 'of' resets the day-of-month to '1' and the '23rd' is ignored here).

Also observe that the "of" in "ordinal space dayname space 'of' " and "'last' space dayname space 'of' " does something special.

  1. It sets the day-of-month to 1.
  2. "ordinal dayname 'of' " does not advance to another day. (Example: "first tuesday of july 2008" means "2008-07-01").
  3. "ordinal dayname " does advance to another day. (Example: "first tuesday july 2008" means "2008-07-08", see also point 4 in the list above).
  4. "'last' dayname 'of' " takes the last dayname of the current month. (Example: "last wed of july 2008" means "2008-07-30")
  5. "'last' dayname" takes the last dayname from the current day. (Example: "last wed july 2008" means "2008-06-25"; "july 2008" first sets the current date to "2008-07-01" and then "last wed" moves to the previous Wednesday which is "2008-06-25").

Hinweis:

Relative month values are calculated based on the length of months that they pass through. An example would be "+2 month 2011-11-30", which would produce "2012-01-30". This is due to November being 30 days in length, and December being 31 days in length, producing a total of 61 days.

Changelog

Version | Beschreibung
5.6.23, 7.0.8 | Weeks always start on monday. Formerly, sunday would also be considered to start a week.
5.3.3 | "first day" and "last day" changed to behave has "+1 day" and "-1 day", respectively. Previously, the behaviour was as "first day of" and "last day of".

Compound Formats
Liste unterstützter Zeitzonen
Supported Date and Time Formats


Liste unterstützter Zeitzonen

Inhaltsverzeichnis

  • Afrika
  • Amerika
  • Antarktis
  • Arktis
  • Asien
  • Atlantisch
  • Australien
  • Europa
  • Indisch
  • Pazifisch
  • Andere

Hier finden Sie die vollständige Liste aller von PHP unterstützen Zeitzonen, wie sie z.b mit date_default_timezone_set() genutzt werden können.

Hinweis: Die jeweils aktuellste Version der Zeitzonendatenbank kann über das » timezonedb-Paket in PECL installiert werden. Für Windows existiert eine vorkompilierte DLL auf der PECL4Win-Seite: php_timezonedb.dll.

Hinweis: Diese Liste basiert auf der Version der Zeitzonen-Datenbank 2016.10.

Relative Formats
Afrika
Datum/Uhrzeit


Afrika

Afrika
Africa/Abidjan | Africa/Accra | Africa/Addis_Ababa | Africa/Algiers
Africa/Asmara | Africa/Bamako | Africa/Bangui | Africa/Banjul
Africa/Bissau | Africa/Blantyre | Africa/Brazzaville | Africa/Bujumbura
Africa/Cairo | Africa/Casablanca | Africa/Ceuta | Africa/Conakry
Africa/Dakar | Africa/Dar_es_Salaam | Africa/Djibouti | Africa/Douala
Africa/El_Aaiun | Africa/Freetown | Africa/Gaborone | Africa/Harare
Africa/Johannesburg | Africa/Juba | Africa/Kampala | Africa/Khartoum
Africa/Kigali | Africa/Kinshasa | Africa/Lagos | Africa/Libreville
Africa/Lome | Africa/Luanda | Africa/Lubumbashi | Africa/Lusaka
Africa/Malabo | Africa/Maputo | Africa/Maseru | Africa/Mbabane
Africa/Mogadishu | Africa/Monrovia | Africa/Nairobi | Africa/Ndjamena
Africa/Niamey | Africa/Nouakchott | Africa/Ouagadougou | Africa/Porto-Novo
Africa/Sao_Tome | Africa/Tripoli | Africa/Tunis | Africa/Windhoek
Liste unterstützter Zeitzonen
Amerika
Liste unterstützter Zeitzonen


Amerika

Amerika
America/Adak | America/Anchorage | America/Anguilla | America/Antigua
America/Araguaina | America/Argentina/Buenos_Aires | America/Argentina/Catamarca | America/Argentina/Cordoba
America/Argentina/Jujuy | America/Argentina/La_Rioja | America/Argentina/Mendoza | America/Argentina/Rio_Gallegos
America/Argentina/Salta | America/Argentina/San_Juan | America/Argentina/San_Luis | America/Argentina/Tucuman
America/Argentina/Ushuaia | America/Aruba | America/Asuncion | America/Atikokan
America/Bahia | America/Bahia_Banderas | America/Barbados | America/Belem
America/Belize | America/Blanc-Sablon | America/Boa_Vista | America/Bogota
America/Boise | America/Cambridge_Bay | America/Campo_Grande | America/Cancun
America/Caracas | America/Cayenne | America/Cayman | America/Chicago
America/Chihuahua | America/Costa_Rica | America/Creston | America/Cuiaba
America/Curacao | America/Danmarkshavn | America/Dawson | America/Dawson_Creek
America/Denver | America/Detroit | America/Dominica | America/Edmonton
America/Eirunepe | America/El_Salvador | America/Fort_Nelson | America/Fortaleza
America/Glace_Bay | America/Godthab | America/Goose_Bay | America/Grand_Turk
America/Grenada | America/Guadeloupe | America/Guatemala | America/Guayaquil
America/Guyana | America/Halifax | America/Havana | America/Hermosillo
America/Indiana/Indianapolis | America/Indiana/Knox | America/Indiana/Marengo | America/Indiana/Petersburg
America/Indiana/Tell_City | America/Indiana/Vevay | America/Indiana/Vincennes | America/Indiana/Winamac
America/Inuvik | America/Iqaluit | America/Jamaica | America/Juneau
America/Kentucky/Louisville | America/Kentucky/Monticello | America/Kralendijk | America/La_Paz
America/Lima | America/Los_Angeles | America/Lower_Princes | America/Maceio
America/Managua | America/Manaus | America/Marigot | America/Martinique
America/Matamoros | America/Mazatlan | America/Menominee | America/Merida
America/Metlakatla | America/Mexico_City | America/Miquelon | America/Moncton
America/Monterrey | America/Montevideo | America/Montserrat | America/Nassau
America/New_York | America/Nipigon | America/Nome | America/Noronha
America/North_Dakota/Beulah | America/North_Dakota/Center | America/North_Dakota/New_Salem | America/Ojinaga
America/Panama | America/Pangnirtung | America/Paramaribo | America/Phoenix
America/Port-au-Prince | America/Port_of_Spain | America/Porto_Velho | America/Puerto_Rico
America/Rainy_River | America/Rankin_Inlet | America/Recife | America/Regina
America/Resolute | America/Rio_Branco | America/Santarem | America/Santiago
America/Santo_Domingo | America/Sao_Paulo | America/Scoresbysund | America/Sitka
America/St_Barthelemy | America/St_Johns | America/St_Kitts | America/St_Lucia
America/St_Thomas | America/St_Vincent | America/Swift_Current | America/Tegucigalpa
America/Thule | America/Thunder_Bay | America/Tijuana | America/Toronto
America/Tortola | America/Vancouver | America/Whitehorse | America/Winnipeg
America/Yakutat | America/Yellowknife |  |
Afrika
Antarktis
Liste unterstützter Zeitzonen


Antarktis

Antarktis
Antarctica/Casey | Antarctica/Davis | Antarctica/DumontDUrville | Antarctica/Macquarie
Antarctica/Mawson | Antarctica/McMurdo | Antarctica/Palmer | Antarctica/Rothera
Antarctica/Syowa | Antarctica/Troll | Antarctica/Vostok |
Amerika
Arktis
Liste unterstützter Zeitzonen


Arktis

Arktis
Arctic/Longyearbyen
Antarktis
Asien
Liste unterstützter Zeitzonen


Asien

Asien
Asia/Aden | Asia/Almaty | Asia/Amman | Asia/Anadyr
Asia/Aqtau | Asia/Aqtobe | Asia/Ashgabat | Asia/Atyrau
Asia/Baghdad | Asia/Bahrain | Asia/Baku | Asia/Bangkok
Asia/Barnaul | Asia/Beirut | Asia/Bishkek | Asia/Brunei
Asia/Chita | Asia/Choibalsan | Asia/Colombo | Asia/Damascus
Asia/Dhaka | Asia/Dili | Asia/Dubai | Asia/Dushanbe
Asia/Famagusta | Asia/Gaza | Asia/Hebron | Asia/Ho_Chi_Minh
Asia/Hong_Kong | Asia/Hovd | Asia/Irkutsk | Asia/Jakarta
Asia/Jayapura | Asia/Jerusalem | Asia/Kabul | Asia/Kamchatka
Asia/Karachi | Asia/Kathmandu | Asia/Khandyga | Asia/Kolkata
Asia/Krasnoyarsk | Asia/Kuala_Lumpur | Asia/Kuching | Asia/Kuwait
Asia/Macau | Asia/Magadan | Asia/Makassar | Asia/Manila
Asia/Muscat | Asia/Nicosia | Asia/Novokuznetsk | Asia/Novosibirsk
Asia/Omsk | Asia/Oral | Asia/Phnom_Penh | Asia/Pontianak
Asia/Pyongyang | Asia/Qatar | Asia/Qyzylorda | Asia/Riyadh
Asia/Sakhalin | Asia/Samarkand | Asia/Seoul | Asia/Shanghai
Asia/Singapore | Asia/Srednekolymsk | Asia/Taipei | Asia/Tashkent
Asia/Tbilisi | Asia/Tehran | Asia/Thimphu | Asia/Tokyo
Asia/Tomsk | Asia/Ulaanbaatar | Asia/Urumqi | Asia/Ust-Nera
Asia/Vientiane | Asia/Vladivostok | Asia/Yakutsk | Asia/Yangon
Asia/Yekaterinburg | Asia/Yerevan |  |
Arktis
Atlantisch
Liste unterstützter Zeitzonen


Atlantisch

Atlantisch
Atlantic/Azores | Atlantic/Bermuda | Atlantic/Canary | Atlantic/Cape_Verde
Atlantic/Faroe | Atlantic/Madeira | Atlantic/Reykjavik | Atlantic/South_Georgia
Atlantic/St_Helena | Atlantic/Stanley |  |
Asien
Australien
Liste unterstützter Zeitzonen


Australien

Australien
Australia/Adelaide | Australia/Brisbane | Australia/Broken_Hill | Australia/Currie
Australia/Darwin | Australia/Eucla | Australia/Hobart | Australia/Lindeman
Australia/Lord_Howe | Australia/Melbourne | Australia/Perth | Australia/Sydney
Atlantisch
Europa
Liste unterstützter Zeitzonen


Europa

Europa
Europe/Amsterdam | Europe/Andorra | Europe/Astrakhan | Europe/Athens
Europe/Belgrade | Europe/Berlin | Europe/Bratislava | Europe/Brussels
Europe/Bucharest | Europe/Budapest | Europe/Busingen | Europe/Chisinau
Europe/Copenhagen | Europe/Dublin | Europe/Gibraltar | Europe/Guernsey
Europe/Helsinki | Europe/Isle_of_Man | Europe/Istanbul | Europe/Jersey
Europe/Kaliningrad | Europe/Kiev | Europe/Kirov | Europe/Lisbon
Europe/Ljubljana | Europe/London | Europe/Luxembourg | Europe/Madrid
Europe/Malta | Europe/Mariehamn | Europe/Minsk | Europe/Monaco
Europe/Moscow | Europe/Oslo | Europe/Paris | Europe/Podgorica
Europe/Prague | Europe/Riga | Europe/Rome | Europe/Samara
Europe/San_Marino | Europe/Sarajevo | Europe/Saratov | Europe/Simferopol
Europe/Skopje | Europe/Sofia | Europe/Stockholm | Europe/Tallinn
Europe/Tirane | Europe/Ulyanovsk | Europe/Uzhgorod | Europe/Vaduz
Europe/Vatican | Europe/Vienna | Europe/Vilnius | Europe/Volgograd
Europe/Warsaw | Europe/Zagreb | Europe/Zaporozhye | Europe/Zurich
Australien
Indisch
Liste unterstützter Zeitzonen


Indisch

Indisch
Indian/Antananarivo | Indian/Chagos | Indian/Christmas | Indian/Cocos
Indian/Comoro | Indian/Kerguelen | Indian/Mahe | Indian/Maldives
Indian/Mauritius | Indian/Mayotte | Indian/Reunion |
Europa
Pazifisch
Liste unterstützter Zeitzonen


Pazifisch

Pazifisch
Pacific/Apia | Pacific/Auckland | Pacific/Bougainville | Pacific/Chatham
Pacific/Chuuk | Pacific/Easter | Pacific/Efate | Pacific/Enderbury
Pacific/Fakaofo | Pacific/Fiji | Pacific/Funafuti | Pacific/Galapagos
Pacific/Gambier | Pacific/Guadalcanal | Pacific/Guam | Pacific/Honolulu
Pacific/Johnston | Pacific/Kiritimati | Pacific/Kosrae | Pacific/Kwajalein
Pacific/Majuro | Pacific/Marquesas | Pacific/Midway | Pacific/Nauru
Pacific/Niue | Pacific/Norfolk | Pacific/Noumea | Pacific/Pago_Pago
Pacific/Palau | Pacific/Pitcairn | Pacific/Pohnpei | Pacific/Port_Moresby
Pacific/Rarotonga | Pacific/Saipan | Pacific/Tahiti | Pacific/Tarawa
Pacific/Tongatapu | Pacific/Wake | Pacific/Wallis |
Indisch
Andere
Liste unterstützter Zeitzonen


Andere

Warnung

Die folgenden Zeitzonen (mit Ausnahme von UTC) existieren nur aus Gründen der Rückwärtskompatibilität und sollten nicht mehr benutzt werden.

Warnung

Falls Sie die obige Warnung außer Acht lassen beachten Sie bitte, dass die IANA-Datenbank, die die Unterstützung für Zeitzonen für PHP bereitstellt, die Vorzeichen in POSIX-Stil verwendet. Dies kann dazu führen, dass die Angaben von Zeitzonen als Etc/GMT+n und Etc/GMT-n umgekehrt zur geläufigen Angabe ist.

Die Zeitzone 8 Stunden vor GMT, welche unter anderem in China und Westaustralien verwendet wird, ist beispielsweise Etc/GMT-8 in dieser Datenbank statt Etc/GMT+8 die man üblicherweise erwarten würde.

Es wird daher nochmals empfohlen die für den jeweiligen Standort korrekte Zeitzone zu verwenden, beispielsweise Asia/Shanghai oder Australia/Perth für das obige Beispiel.

Andere
Africa/Asmera | Africa/Timbuktu | America/Argentina/ComodRivadavia | America/Atka
America/Buenos_Aires | America/Catamarca | America/Coral_Harbour | America/Cordoba
America/Ensenada | America/Fort_Wayne | America/Indianapolis | America/Jujuy
America/Knox_IN | America/Louisville | America/Mendoza | America/Montreal
America/Porto_Acre | America/Rosario | America/Santa_Isabel | America/Shiprock
America/Virgin | Antarctica/South_Pole | Asia/Ashkhabad | Asia/Calcutta
Asia/Chongqing | Asia/Chungking | Asia/Dacca | Asia/Harbin
Asia/Istanbul | Asia/Kashgar | Asia/Katmandu | Asia/Macao
Asia/Rangoon | Asia/Saigon | Asia/Tel_Aviv | Asia/Thimbu
Asia/Ujung_Pandang | Asia/Ulan_Bator | Atlantic/Faeroe | Atlantic/Jan_Mayen
Australia/ACT | Australia/Canberra | Australia/LHI | Australia/North
Australia/NSW | Australia/Queensland | Australia/South | Australia/Tasmania
Australia/Victoria | Australia/West | Australia/Yancowinna | Brazil/Acre
Brazil/DeNoronha | Brazil/East | Brazil/West | Canada/Atlantic
Canada/Central | Canada/East-Saskatchewan | Canada/Eastern | Canada/Mountain
Canada/Newfoundland | Canada/Pacific | Canada/Saskatchewan | Canada/Yukon
CET | Chile/Continental | Chile/EasterIsland | CST6CDT
Cuba | EET | Egypt | Eire
EST | EST5EDT | Etc/GMT | Etc/GMT+0
Etc/GMT+1 | Etc/GMT+10 | Etc/GMT+11 | Etc/GMT+12
Etc/GMT+2 | Etc/GMT+3 | Etc/GMT+4 | Etc/GMT+5
Etc/GMT+6 | Etc/GMT+7 | Etc/GMT+8 | Etc/GMT+9
Etc/GMT-0 | Etc/GMT-1 | Etc/GMT-10 | Etc/GMT-11
Etc/GMT-12 | Etc/GMT-13 | Etc/GMT-14 | Etc/GMT-2
Etc/GMT-3 | Etc/GMT-4 | Etc/GMT-5 | Etc/GMT-6
Etc/GMT-7 | Etc/GMT-8 | Etc/GMT-9 | Etc/GMT0
Etc/Greenwich | Etc/UCT | Etc/Universal | Etc/UTC
Etc/Zulu | Europe/Belfast | Europe/Nicosia | Europe/Tiraspol
Factory | GB | GB-Eire | GMT
GMT+0 | GMT-0 | GMT0 | Greenwich
Hongkong | HST | Iceland | Iran
Israel | Jamaica | Japan | Kwajalein
Libya | MET | Mexico/BajaNorte | Mexico/BajaSur
Mexico/General | MST | MST7MDT | Navajo
NZ | NZ-CHAT | Pacific/Ponape | Pacific/Samoa
Pacific/Truk | Pacific/Yap | Poland | Portugal
PRC | PST8PDT | ROC | ROK
Singapore | Turkey | UCT | Universal
US/Alaska | US/Aleutian | US/Arizona | US/Central
US/East-Indiana | US/Eastern | US/Hawaii | US/Indiana-Starke
US/Michigan | US/Mountain | US/Pacific | US/Pacific-New
US/Samoa | UTC | W-SU | WET
Zulu |  |  |
Pazifisch
HRTime
Liste unterstützter Zeitzonen


High resolution timing

  • Einführung
  • Installation/Konfiguration
    • Installation
  • Beispiele
    • Basic usage
  • HRTime\PerformanceCounter — The HRTime\PerformanceCounter class
    • HRTime\PerformanceCounter::getFrequency — Timer frequency in ticks per second
    • HRTime\PerformanceCounter::getTicks — Current ticks from the system
    • HRTime\PerformanceCounter::getTicksSince — Ticks elapsed since the given value
  • HRTime\StopWatch — The HRTime\StopWatch class
    • HRTime\StopWatch::getElapsedTicks — Get elapsed ticks for all intervals.
    • HRTime\StopWatch::getElapsedTime — Get elapsed time for all intervals.
    • HRTime\StopWatch::getLastElapsedTicks — Get elapsed ticks for the last interval.
    • HRTime\StopWatch::getLastElapsedTime — Get elapsed time for the last interval.
    • HRTime\StopWatch::isRunning — Whether the measurement is running.
    • HRTime\StopWatch::start — Start time measurement
    • HRTime\StopWatch::stop — Stop time measurement
  • HRTime\Unit — The HRTime\Unit class
Andere
Einführung
Datums- und zeitrelevante Erweiterungen


Einführung

The HRTime extension implements a high resolution StopWatch class. It uses the best possible APIs on different platforms which brings resolution up to nanoseconds. It also makes possible to implement a custom stopwatch using low level ticks delivered by the underlaying APIs.

HRTime
Installation/Konfiguration
HRTime


Installation/Konfiguration

Inhaltsverzeichnis

  • Installation
Einführung
Installation
HRTime


Installation

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/hrtime.

A DLL for this PECL extension is available under » http://windows.php.net/downloads/pecl/releases/hrtime/.

Installation/Konfiguration
Beispiele
Installation/Konfiguration


Beispiele

Inhaltsverzeichnis

  • Basic usage
Installation
Basic usage
HRTime


Basic usage

The example illustrates the basic StopWatch class usage

Beispiel #1 Measure several code blocks execution and get the total

<?php

$c = new HRTime\StopWatch;

$c->start();
/* measure this code block execution */
for ($i = 0; $i < 1024*1024; $i++);
$c->stop();
$elapsed0 = $c->getLastElapsedTime(HRTime\Unit::NANOSECOND);

/* measurement is not running here*/
for ($i = 0; $i < 1024*1024; $i++);

$c->start();
/* measure this code block execution */
for ($i = 0; $i < 1024*1024; $i++);
$c->stop();
$elapsed1 = $c->getLastElapsedTime(HRTime\Unit::NANOSECOND);

$elapsed_total = $c->getElapsedTime(HRTime\Unit::NANOSECOND);

?>
Beispiele
HRTime\PerformanceCounter
Beispiele


The HRTime\PerformanceCounter class

(PECL hrtime >= 0.4.3)

Einführung

Klassenbeschreibung

HRTime\PerformanceCounter {
/* Methoden */
public static int getFrequency ( void )
public static int getTicks ( void )
public static int getTicksSince ( integer $start )
}

Inhaltsverzeichnis

  • HRTime\PerformanceCounter::getFrequency — Timer frequency in ticks per second
  • HRTime\PerformanceCounter::getTicks — Current ticks from the system
  • HRTime\PerformanceCounter::getTicksSince — Ticks elapsed since the given value
Basic usage
HRTime\PerformanceCounter::getFrequency
HRTime


Timer frequency in ticks per second

HRTime\PerformanceCounter
HRTime\PerformanceCounter::getTicks
HRTime\PerformanceCounter
PHP Manual

HRTime\PerformanceCounter::getFrequency

(PECL hrtime >= 0.4.3)

HRTime\PerformanceCounter::getFrequency — Timer frequency in ticks per second

Beschreibung

public static int HRTime\PerformanceCounter::getFrequency ( void )

Returns the timer frequency in ticks per second. This value is constant after the system start on almost any operating system.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns integer indicating the timer frequency.

HRTime\PerformanceCounter
HRTime\PerformanceCounter::getTicks
HRTime\PerformanceCounter


Current ticks from the system

HRTime\PerformanceCounter::getFrequency
HRTime\PerformanceCounter::getTicksSince
HRTime\PerformanceCounter
PHP Manual

HRTime\PerformanceCounter::getTicks

(PECL hrtime >= 0.6.0)

HRTime\PerformanceCounter::getTicks — Current ticks from the system

Beschreibung

public static int HRTime\PerformanceCounter::getTicks ( void )

Returns the ticks count.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns integer indicating the ticks count.

HRTime\PerformanceCounter::getFrequency
HRTime\PerformanceCounter::getTicksSince
HRTime\PerformanceCounter


Ticks elapsed since the given value

HRTime\PerformanceCounter::getTicks
HRTime\StopWatch
HRTime\PerformanceCounter
PHP Manual

HRTime\PerformanceCounter::getTicksSince

(PECL hrtime >= 0.6.0)

HRTime\PerformanceCounter::getTicksSince — Ticks elapsed since the given value

Beschreibung

public static int HRTime\PerformanceCounter::getTicksSince ( integer $start )

Returns the ticks count elapsed since the given start value.

Parameter-Liste

start

Starting ticks value.

Rückgabewerte

Returns integer indicating the ticks count.

HRTime\PerformanceCounter::getTicks
HRTime\StopWatch
HRTime\PerformanceCounter


The HRTime\StopWatch class

(PECL hrtime >= 0.4.3)

Einführung

Klassenbeschreibung

HRTime\StopWatch extends HRTime\PerformanceCounter {
/* Methoden */
public int getElapsedTicks ( void )
public float getElapsedTime ([ integer $unit ] )
public int getLastElapsedTicks ( void )
public float getLastElapsedTime ([ integer $unit ] )
public bool isRunning ( void )
public void start ( void )
public void stop ( void )
/* Geerbte Methoden */
public static int HRTime\PerformanceCounter::getFrequency ( void )
public static int HRTime\PerformanceCounter::getTicks ( void )
public static int HRTime\PerformanceCounter::getTicksSince ( integer $start )
}

Inhaltsverzeichnis

  • HRTime\StopWatch::getElapsedTicks — Get elapsed ticks for all intervals.
  • HRTime\StopWatch::getElapsedTime — Get elapsed time for all intervals.
  • HRTime\StopWatch::getLastElapsedTicks — Get elapsed ticks for the last interval.
  • HRTime\StopWatch::getLastElapsedTime — Get elapsed time for the last interval.
  • HRTime\StopWatch::isRunning — Whether the measurement is running.
  • HRTime\StopWatch::start — Start time measurement
  • HRTime\StopWatch::stop — Stop time measurement
HRTime\PerformanceCounter::getTicksSince
HRTime\StopWatch::getElapsedTicks
HRTime


Get elapsed ticks for all intervals.

HRTime\StopWatch
HRTime\StopWatch::getElapsedTime
HRTime\StopWatch
PHP Manual

HRTime\StopWatch::getElapsedTicks

(PECL hrtime >= 0.4.3)

HRTime\StopWatch::getElapsedTicks — Get elapsed ticks for all intervals.

Beschreibung

public int HRTime\StopWatch::getElapsedTicks ( void )

Get elapsed ticks for all the previously closed intervals.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns integer indicating elapsed ticks.

HRTime\StopWatch
HRTime\StopWatch::getElapsedTime
HRTime\StopWatch


Get elapsed time for all intervals.

HRTime\StopWatch::getElapsedTicks
HRTime\StopWatch::getLastElapsedTicks
HRTime\StopWatch
PHP Manual

HRTime\StopWatch::getElapsedTime

(PECL hrtime >= 0.4.3)

HRTime\StopWatch::getElapsedTime — Get elapsed time for all intervals.

Beschreibung

public float HRTime\StopWatch::getElapsedTime ([ integer $unit ] )

Get elapsed time for all the previously closed intervals.

Parameter-Liste

unit

Time unit represented by a HRTime\Unit constant. Default is HRTime\Unit::SECOND.

Rückgabewerte

Returns float indicating elapsed time.

HRTime\StopWatch::getElapsedTicks
HRTime\StopWatch::getLastElapsedTicks
HRTime\StopWatch


Get elapsed ticks for the last interval.

HRTime\StopWatch::getElapsedTime
HRTime\StopWatch::getLastElapsedTime
HRTime\StopWatch
PHP Manual

HRTime\StopWatch::getLastElapsedTicks

(PECL hrtime >= 0.4.3)

HRTime\StopWatch::getLastElapsedTicks — Get elapsed ticks for the last interval.

Beschreibung

public int HRTime\StopWatch::getLastElapsedTicks ( void )

Get elapsed ticks for the previously closed interval.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns integer indicating elapsed ticks.

HRTime\StopWatch::getElapsedTime
HRTime\StopWatch::getLastElapsedTime
HRTime\StopWatch


Get elapsed time for the last interval.

HRTime\StopWatch::getLastElapsedTicks
HRTime\StopWatch::isRunning
HRTime\StopWatch
PHP Manual

HRTime\StopWatch::getLastElapsedTime

(PECL hrtime >= 0.4.3)

HRTime\StopWatch::getLastElapsedTime — Get elapsed time for the last interval.

Beschreibung

public float HRTime\StopWatch::getLastElapsedTime ([ integer $unit ] )

Get elapsed time for the previously closed interval.

Parameter-Liste

unit

Time unit represented by a HRTime\Unit constant. Default is HRTime\Unit::SECOND.

Rückgabewerte

Returns float indicating elapsed time.

HRTime\StopWatch::getLastElapsedTicks
HRTime\StopWatch::isRunning
HRTime\StopWatch


Whether the measurement is running.

HRTime\StopWatch::getLastElapsedTime
HRTime\StopWatch::start
HRTime\StopWatch
PHP Manual

HRTime\StopWatch::isRunning

(PECL hrtime >= 0.4.3)

HRTime\StopWatch::isRunning — Whether the measurement is running.

Beschreibung

public bool HRTime\StopWatch::isRunning ( void )

Reveals whether the measurement was started.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns boolean indicating whetehr the measurement is running.

HRTime\StopWatch::getLastElapsedTime
HRTime\StopWatch::start
HRTime\StopWatch


Start time measurement

HRTime\StopWatch::isRunning
HRTime\StopWatch::stop
HRTime\StopWatch
PHP Manual

HRTime\StopWatch::start

(PECL hrtime >= 0.4.3)

HRTime\StopWatch::start — Start time measurement

Beschreibung

public void HRTime\StopWatch::start ( void )

Starts the time measurement. It has no effect if the measurement was already started. The measurement will be continued if it was previously stopped.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns void.

HRTime\StopWatch::isRunning
HRTime\StopWatch::stop
HRTime\StopWatch


Stop time measurement

HRTime\StopWatch::start
HRTime\Unit
HRTime\StopWatch
PHP Manual

HRTime\StopWatch::stop

(PECL hrtime >= 0.4.3)

HRTime\StopWatch::stop — Stop time measurement

Beschreibung

public void HRTime\StopWatch::stop ( void )

Stop the time measurement for the previously started interval.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns void.

HRTime\StopWatch::start
HRTime\Unit
HRTime\StopWatch


The HRTime\Unit class

(PECL hrtime >= 0.4.3)

Einführung

Klassenbeschreibung

HRTime\Unit {
/* Constants */
const integer SECOND = 0 ;
const integer MILLISECOND = 1 ;
const integer MICROSECOND = 2 ;
const integer NANOSECOND = 3 ;
/* Methoden */
}

Vordefinierte Konstanten

HRTime\Unit::SECOND

HRTime\Unit::MILLISECOND

HRTime\Unit::MICROSECOND

HRTime\Unit::NANOSECOND

HRTime\StopWatch::stop
Dateisystemrelevante Erweiterungen
HRTime


Dateisystemrelevante Erweiterungen

  • Direct-IO
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Direct-IO-Funktionen
  • Verzeichnis-Funktionen
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Verzeichnisse — Die Directory-Klasse
    • Verzeichnis-Funktionen
  • Fileinfo — Dateiinformation
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Fileinfo Funktionen
    • finfo — The finfo class
  • Dateisystem
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Dateisystem — Dateisystem-Funktionen
  • Inotify
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Inotify Funktionen
  • Mimetype
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
  • Proctitle
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Proctitle Funktionen
  • xattr
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • xattr Funktionen
  • xdiff
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • xdiff Funktionen
HRTime\Unit
Direct-IO
Funktionsreferenz


Direct-IO

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Direct-IO-Funktionen
    • dio_close — Schließt eine Datei
    • dio_fcntl — Modifiziert einen Dateideskriptor
    • dio_open — Öffnet eine Datei (falls nötig, wird diese erzeugt) auf einem niedrigeren Level als es die C-Bibliotheks Ein-/Ausgabe-Stream-Funktionen erlauben.
    • dio_read — Liest von einem Dateideskriptor
    • dio_seek — Setzt den Dateizeiger
    • dio_stat — Liefert Statusinformationen über einen Dateideskriptor
    • dio_tcsetattr — Sets terminal attributes and baud rate for a serial port
    • dio_truncate — Schneidet eine Datei ab
    • dio_write — Schreibt Daten in eine Datei
Dateisystemrelevante Erweiterungen
Einführung
Dateisystemrelevante Erweiterungen


Einführung

PHP unterstützt die direkten Ein-/Ausgabe-Funktionen, beschrieben im Posix-Standard (Kapitel 6) für die Ein- und Ausgabe auf einer niederen Ebene als die standardmäßig verwendeten C-Funktionen (fopen(), fread(), ...). Die Verwendung der DIO-Funktionen sollten Sie nur in Erwägung ziehen, wenn Sie die direkte Kontrolle über ein Gerät benötigen. In allen anderen Fällen sind die Standard-filesystem-Funktionen mehr als ausreichend.

Hinweis:

Diese Erweiterung wurde ins » PECL-Repositorium verschoben und ist nicht mehr Teil von PHP ab PHP 5.1.0.

Unter Windows ist diese Extension erst ab PHP 5.0.0 verfügbar.

Direct-IO
Installation/Konfiguration
Direct-IO


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Direct-IO


Installation

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/dio.

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Ressource-Typen

Der einzige von dieser Extension definierte Ressourcentyp ist der von dio_open() zurückgegebene Datei-Deskriptor.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

F_DUPFD (integer)

F_GETFD (integer)

F_GETFL (integer)

F_GETLK (integer)

F_GETOWN (integer)

F_RDLCK (integer)

F_SETFL (integer)

F_SETLK (integer)

F_SETLKW (integer)

F_SETOWN (integer)

F_UNLCK (integer)

F_WRLCK (integer)

O_APPEND (integer)

O_ASYNC (integer)

O_CREAT (integer)

O_EXCL (integer)

O_NDELAY (integer)

O_NOCTTY (integer)

O_NONBLOCK (integer)

O_RDONLY (integer)

O_RDWR (integer)

O_SYNC (integer)

O_TRUNC (integer)

O_WRONLY (integer)

S_IRGRP (integer)

S_IROTH (integer)

S_IRUSR (integer)

S_IRWXG (integer)

S_IRWXO (integer)

S_IRWXU (integer)

S_IWGRP (integer)

S_IWOTH (integer)

S_IWUSR (integer)

S_IXGRP (integer)

S_IXOTH (integer)

S_IXUSR (integer)

Ressource-Typen
Direct-IO-Funktionen
Direct-IO


Direct-IO-Funktionen

Inhaltsverzeichnis

  • dio_close — Schließt eine Datei
  • dio_fcntl — Modifiziert einen Dateideskriptor
  • dio_open — Öffnet eine Datei (falls nötig, wird diese erzeugt) auf einem niedrigeren Level als es die C-Bibliotheks Ein-/Ausgabe-Stream-Funktionen erlauben.
  • dio_read — Liest von einem Dateideskriptor
  • dio_seek — Setzt den Dateizeiger
  • dio_stat — Liefert Statusinformationen über einen Dateideskriptor
  • dio_tcsetattr — Sets terminal attributes and baud rate for a serial port
  • dio_truncate — Schneidet eine Datei ab
  • dio_write — Schreibt Daten in eine Datei
Vordefinierte Konstanten
dio_close
Direct-IO


Schließt eine Datei

Direct-IO-Funktionen
dio_fcntl
Direct-IO-Funktionen
PHP Manual

dio_close

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5, PHP 7)

dio_close — Schließt eine Datei

Beschreibung

void dio_close ( resource $fd )

Die Funktion dio_close() schließt die Datei fd.

Parameter-Liste

fd

Eine von dio_open() zurückgegebene Dateideskriptorresource.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Schließen eines geöffneten Dateideskriptors

<?php
$fd = dio_open('/dev/ttyS0', O_RDWR);

dio_close($fd);
?>

Siehe auch

  • dio_open() - Öffnet eine Datei (falls nötig, wird diese erzeugt) auf einem niedrigeren Level als es die C-Bibliotheks Ein-/Ausgabe-Stream-Funktionen erlauben.

Direct-IO-Funktionen
dio_fcntl
Direct-IO-Funktionen


Modifiziert einen Dateideskriptor

dio_close
dio_open
Direct-IO-Funktionen
PHP Manual

dio_fcntl

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5, PHP 7)

dio_fcntl — Modifiziert einen Dateideskriptor

Beschreibung

mixed dio_fcntl ( resource $fd , int $cmd [, mixed $args ] )

Die Funktion dio_fcntl() führt die mit cmd festgelegte Operation auf dem Dateideskriptor fd aus. Für einige dieser Operationen müssen zusätzliche Argumente im Parameter args übergeben werden.

Parameter-Liste

fd

Ein von dio_open() zurückgegebener Dateideskriptor.

cmd

Eine der folgenden Operationen:

  • F_SETLK - Setzt oder löscht eine Dateisperre. Wenn diese Sperre bereits von jemand anderem gehalten wird, gibt dio_fcntl() -1 zurück.

  • F_SETLKW - ähnlich F_SETLK, hier wird aber in dem Fall, dass bereits jemand anderes die Sperre hält, gewartet bis diese wieder freigegeben wird.

  • F_GETLK - dio_fcntl() gibt ein assoziatives Array mit Informationen (wie weiter unten beschrieben) zurück, wenn jemand anderes bereits eine Sperre hält. Existiert keine andere Sperre, wird das Element "type" auf F_UNLCK gesetzt.

  • F_DUPFD - Findet den kleinsten verfügbaren Dateideskriptor >= args und gibt diesen zurück.

  • F_SETFL - Setzt die Flags des Dateideskriptors auf den in args angegebenen Wert. Die verfügbaren Flags sind O_APPEND, O_NONBLOCK und O_ASYNC. Um O_ASYNC setzen zu können, benötigen Sie die PCNTL-Extension.

args

Die cmd-Operationen F_SETLK und F_SETLLW erwarten ein Array mit den folgenden Elementen:

  • start - Offset an dem die Sperre beginnt

  • length - Länge des gesperrten Bereichs, 0 bedeutet dabei "bis zum Dateiende"

  • whence - Die Position, auf die sich start bezieht, dabei steht SEEK_SET für den Dateianfang, SEEK_END für das Dateiende und SEEK_CUR für die aktuelle Schreib-/Leseposition.

  • type - Art der Sperre: F_RDLCK (Lesesperre), F_WRLCK (Schreibsperre) oder F_UNLCK (Sperre aufheben)

Rückgabewerte

Gibt das Ergebnis des entsprechenden C-Aufrufs zurück.

Beispiele

Beispiel #1 Setzen und Löschen einer Sperre

<?php

$fd = dio_open('/dev/ttyS0', O_RDWR);

if (dio_fcntl($fd, F_SETLK, Array("type"=>F_WRLCK)) == -1) {
    // Die Datei ist anscheinend schon anderweitig gesperrt
    echo "Sperrung fehlgeschlagen, die Datei wird schon von jemand anderem gesperrt.";
} else {
    echo "Sperrung erfolgreich durchgeführt";
}

dio_close($fd);
?>

Anmerkungen

Hinweis: Diese Funktion ist auf Windows-Plattformen nicht implementiert.

dio_close
dio_open
Direct-IO-Funktionen


Öffnet eine Datei (falls nötig, wird diese erzeugt) auf einem niedrigeren Level als es die C-Bibliotheks Ein-/Ausgabe-Stream-Funktionen erlauben.

dio_fcntl
dio_read
Direct-IO-Funktionen
PHP Manual

dio_open

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5, PHP 7)

dio_open — Öffnet eine Datei (falls nötig, wird diese erzeugt) auf einem niedrigeren Level als es die C-Bibliotheks Ein-/Ausgabe-Stream-Funktionen erlauben.

Beschreibung

resource dio_open ( string $filename , int $flags [, int $mode = 0 ] )

dio_open() öffnet eine Datei und liefert einen Dateideskriptor zurück.

Parameter-Liste

filename

Der Pfadname der zu öffnenden Datei.

flags

Der Parameter flags ist ein bitweise ODER verknüpfter Wert bestehend aus Flags der folgende Liste. Dieser Wert muss entweder O_RDONLY, O_WRONLY, oder O_RDWR enthalten. Zusätzlich kann er eine beliebige Kombination der anderen Flags dieser Liste enthalten.

  • O_RDONLY - öffnet die Datei zum Lesezugriff.

  • O_WRONLY - öffnet die Datei zum Schreibzugriff.

  • O_RDWR - öffnet die Datei zum Lesen und Schreiben.

  • O_CREAT - erzeugt die Datei, falls diese nicht existiert

  • O_EXCL - wird sowohl O_CREAT als auch O_EXCL angegeben und die Datei existiert bereits, schlägt dio_open() fehl.

  • O_TRUNC - falls die Datei bereits existiert, und sie für Schreibzugriff geöffnet wird, wird diese auf die Grösse 0 zurückgesetzt

  • O_APPEND - setzt den Zeiger für Schreiboperationen an das Ende der Datei

  • O_NONBLOCK - Setzt den Modus auf "nonblocking"

  • O_NOCTTY - hält das Betriebssystem davon ab, die geöffnete Datei als Prozess steuerndes Terminal zuzuweisen, wenn eine TTY Gerätedatei geöffnet wird.

mode

Wenn flags das Flag O_CREAT enthält, setzt mode die Dateizugriffsrechte. mode wird für die korrekte Ausführung benötigt, wenn O_CREAT in flags angegeben wird, und wird ansonsten ignoriert.

Die tatsächlichen Dateizugriffsrechte, die der erzeugten Datei zugewiesen werden, werden von der umask Einstellung des Prozesses wie üblich beeinflusst.

Rückgabewerte

Ein Dateideskriptor oder FALSE bei Fehlern.

Beispiele

Beispiel #1 Öffnen eines Dateideskriptors

<?php

$fd = dio_open('/dev/ttyS0', O_RDWR | O_NOCTTY | O_NONBLOCK);

dio_close($fd);
?>

Siehe auch

  • dio_close() - Schließt eine Datei

dio_fcntl
dio_read
Direct-IO-Funktionen


Liest von einem Dateideskriptor

dio_open
dio_seek
Direct-IO-Funktionen
PHP Manual

dio_read

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5, PHP 7)

dio_read — Liest von einem Dateideskriptor

Beschreibung

string dio_read ( resource $fd [, int $len = 1024 ] )

Die Funktion dio_read() liest len Bytes aus der Datei fd.

Parameter-Liste

fd

Ein von dio_open() zurückgegebener Dateideskriptor.

len

Die Anzahl zu lesender Bytes. Wird diese nicht angegeben so wird in 1KB-Blöcken gelesen.

Rückgabewerte

Die vom Deskriptor fd gelesenen Daten.

Siehe auch

  • dio_write() - Schreibt Daten in eine Datei

dio_open
dio_seek
Direct-IO-Funktionen


Setzt den Dateizeiger

dio_read
dio_stat
Direct-IO-Funktionen
PHP Manual

dio_seek

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5, PHP 7)

dio_seek — Setzt den Dateizeiger

Beschreibung

int dio_seek ( resource $fd , int $pos , int $whence )

Die Funktion dio_seek() setzt den Dateizeiger der Datei fd.

Parameter-Liste

fd

Der von dio_open() zurückgegebene Dateideskriptor.

pos

Die neue Position.

whence

Gibt an, wie die Position pos interpretiert werden soll:

  • SEEK_SET - gibt an, dass pos die Position vom Anfang der Datei ist

  • SEEK_CUR - gibt an, dass pos die Position relativ von der momentanen Dateizeigerposition ist.

  • SEEK_END - gibt an, dass pos die Position relativ zum Dateiende ist. Eine negative Zahl setzt den Dateizeiger innerhalb der Datei, ein positiver Wert bewirkt, dass die Datei vom Ende bis zur neuen Position mit Nullen aufgefüllt wird.

Rückgabewerte

Beispiele

Beispiel #1 Positionieren in einer Datei

<?php

$fd = dio_open('/dev/ttyS0', O_RDWR);

dio_seek($fd, 10, SEEK_SET);
// Position ist jetzt beim 10. Zeichen vom Anfang der Datei

dio_seek($fd, -2, SEEK_CUR);
// Position ist jetzt beim 8. Zeichen vom Anfang der Datei

dio_seek($fd, -5, SEEK_END);
// Position ist jetzt beim 5. Zeichen vom Ende der Datei

dio_seek($fd, 10, SEEK_END);
// Position ist jetzt beim 10. Zeichen hinter dem Ende der Datei.
// Die 10 Zeichen zwischen dem Ende der Datei und der aktuellen Position
// werden mit Nullen gefüllt.

dio_close($fd);
?>

dio_read
dio_stat
Direct-IO-Funktionen


Liefert Statusinformationen über einen Dateideskriptor

dio_seek
dio_tcsetattr
Direct-IO-Funktionen
PHP Manual

dio_stat

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5, PHP 7)

dio_stat — Liefert Statusinformationen über einen Dateideskriptor

Beschreibung

array dio_stat ( resource $fd )

Die Funktion dio_stat() gibt Informationen zum gegebenen Dateideskriptor zurück.

Parameter-Liste

fd

Ein von dio_open() zurückgegebener Dateideskriptor.

Rückgabewerte

Gibt ein Array mit den folgenden Elementen zurück:

  • "device" - Device

  • "inode" - Inode

  • "mode" - Modus

  • "nlink" - Anzahl Links

  • "uid" - Benutzer Id

  • "gid" - Gruppentyp

  • "device_type" - Device-Typ

  • "size" - Größe in Bytes

  • "blocksize" - Blockgröße

  • "blocks" - Anzahl allozierter Blöcke

  • "atime" - Letzter Zugriff

  • "mtime" - Letze Modifikation

  • "ctime" - Letzte Änderung

Im Fehlerfall liefert dio_stat() NULL zurück.

dio_seek
dio_tcsetattr
Direct-IO-Funktionen


Sets terminal attributes and baud rate for a serial port

dio_stat
dio_truncate
Direct-IO-Funktionen
PHP Manual

dio_tcsetattr

(PHP 4 >= 4.3.0, PHP 5 <= 5.0.5, PHP 7)

dio_tcsetattr — Sets terminal attributes and baud rate for a serial port

Beschreibung

bool dio_tcsetattr ( resource $fd , array $options )

dio_tcsetattr() sets the terminal attributes and baud rate of the open fd.

Parameter-Liste

fd

The file descriptor returned by dio_open().

options

The currently available options are:

  • 'baud' - baud rate of the port - can be 38400,19200,9600,4800,2400,1800, 1200,600,300,200,150,134,110,75 or 50, default value is 9600.

  • 'bits' - data bits - can be 8,7,6 or 5. Default value is 8.

  • 'stop' - stop bits - can be 1 or 2. Default value is 1.

  • 'parity' - can be 0,1 or 2. Default value is 0.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Setting the baud rate on a serial port

<?php

$fd = dio_open('/dev/ttyS0', O_RDWR | O_NOCTTY | O_NONBLOCK);

dio_fcntl($fd, F_SETFL, O_SYNC);

dio_tcsetattr($fd, array(
  'baud' => 9600,
  'bits' => 8,
  'stop'  => 1,
  'parity' => 0
));

while (1) {

  $data = dio_read($fd, 256);

  if ($data) {
      echo $data;
  }
}

?>

Anmerkungen

Hinweis: Diese Funktion ist auf Windows-Plattformen nicht implementiert.

dio_stat
dio_truncate
Direct-IO-Funktionen


Schneidet eine Datei ab

dio_tcsetattr
dio_write
Direct-IO-Funktionen
PHP Manual

dio_truncate

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5, PHP 7)

dio_truncate — Schneidet eine Datei ab

Beschreibung

bool dio_truncate ( resource $fd , int $offset )

dio_truncate() schneidet eine Datei nach maximal offset ab.

War die Datei ursprünglich größer, so gehen die Daten verloren. War sie kleiner, ist nicht definiert, ob die Datei nicht geändert wird oder ob sie erweitert wird. Im letzteren Fall wird der erweiterte Teil mit Nullen aufgefüllt.

Parameter-Liste

fd

Ein von dio_open() zurückgegebener Dateideskriptor.

offset

Der Offset in Bytes.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Hinweis: Diese Funktion ist auf Windows-Plattformen nicht implementiert.

dio_tcsetattr
dio_write
Direct-IO-Funktionen


Schreibt Daten in eine Datei

dio_truncate
Verzeichnis-Funktionen
Direct-IO-Funktionen
PHP Manual

dio_write

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5, PHP 7)

dio_write — Schreibt Daten in eine Datei

Beschreibung

int dio_write ( resource $fd , string $data [, int $len = 0 ] )

Die Funktion dio_write() schreibt bis zu len Bytes data auf den Dateideskriptor fd.

Parameter-Liste

fd

Ein von dio_open() zurückgegebener Dateideskriptor.

data

Die zu schreibenden Daten.

len

Die Anzahl der zu schreibenden Bytes. Wenn nicht angegeben, werden die vollständigen Daten in die angegebene Datei geschrieben.

Rückgabewerte

Gibt die Anzahl der tatsächlich geschriebenen Bytes zurück.

Siehe auch

  • dio_read() - Liest von einem Dateideskriptor

dio_truncate
Verzeichnis-Funktionen
Direct-IO-Funktionen


Verzeichnis-Funktionen

  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Verzeichnisse — Die Directory-Klasse
    • Directory::close — Schließt das Verzeichnis-Handle
    • Directory::read — Liest einen Eintrag vom Verzeichnis-Handle
    • Directory::rewind — Setzt das Verzeichnis-Handle zurück
  • Verzeichnis-Funktionen
    • chdir — Wechseln des Verzeichnisses
    • chroot — Wechselt das Root-Verzeichnis
    • closedir — Schließen eines Verzeichnis-Handles
    • dir — Gibt eine Instanz der Directory Klasse zurück
    • getcwd — Ermittelt das aktuelle Arbeitsverzeichnis
    • opendir — Öffnen eines Verzeichnis-Handles
    • readdir — Liest einen Eintrag aus einem Verzeichnis-Handle
    • rewinddir — Zurücksetzen des Verzeichnis-Handles
    • scandir — Listet Dateien und Verzeichnisse innerhalb eines angegebenen Pfades auf
dio_write
Installation/Konfiguration
Dateisystemrelevante Erweiterungen


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Verzeichnis-Funktionen
Anforderungen
Verzeichnis-Funktionen


Vordefinierte Konstanten

DIRECTORY_SEPARATOR (string)
PATH_SEPARATOR (string)
Strichpunkt bei Windows Systemen, Doppelpunkt bei UNIX basierten.
SCANDIR_SORT_ASCENDING (integer)
Verfügbar seit PHP 5.4.0.
SCANDIR_SORT_DESCENDING (integer)
Verfügbar seit PHP 5.4.0.
SCANDIR_SORT_NONE (integer)
Verfügbar seit PHP 5.4.0.
Ressource-Typen
Verzeichnisse
Verzeichnis-Funktionen


Die Directory-Klasse

(No version information available, might only be in Git)

Einführung

Instanzen von Directory werden mithilfe der dir() Funktion, und nicht mit dem new Operator erstellt.

Klassenbeschreibung

Directory {
/* Eigenschaften */
public string $path ;
public resource $handle ;
/* Methoden */
public void close ([ resource $dir_handle ] )
public string read ([ resource $dir_handle ] )
public void rewind ([ resource $dir_handle ] )
}

Eigenschaften

path

Das Verzeichnis, das geöffnet wurde.

handle

Kann zusammen mit anderen Funktionen wie zum Beispiel readdir(), rewinddir() und closedir() benutzt werden.

Inhaltsverzeichnis

  • Directory::close — Schließt das Verzeichnis-Handle
  • Directory::read — Liest einen Eintrag vom Verzeichnis-Handle
  • Directory::rewind — Setzt das Verzeichnis-Handle zurück
Vordefinierte Konstanten
Directory::close
Verzeichnis-Funktionen


Schließt das Verzeichnis-Handle

Verzeichnisse
Directory::read
Verzeichnisse
PHP Manual

Directory::close

(PHP 4, PHP 5, PHP 7)

Directory::close — Schließt das Verzeichnis-Handle

Beschreibung

public void Directory::close ([ resource $dir_handle ] )

Genau wie closedir(), nur ist dir_handle standardmäßig $this.

Verzeichnisse
Directory::read
Verzeichnisse


Liest einen Eintrag vom Verzeichnis-Handle

Directory::close
Directory::rewind
Verzeichnisse
PHP Manual

Directory::read

(PHP 4, PHP 5, PHP 7)

Directory::read — Liest einen Eintrag vom Verzeichnis-Handle

Beschreibung

public string Directory::read ([ resource $dir_handle ] )

Genau wie readdir(), nur ist dir_handle standardmäßig $this.

Directory::close
Directory::rewind
Verzeichnisse


Setzt das Verzeichnis-Handle zurück

Directory::read
Verzeichnis-Funktionen
Verzeichnisse
PHP Manual

Directory::rewind

(PHP 4, PHP 5, PHP 7)

Directory::rewind — Setzt das Verzeichnis-Handle zurück

Beschreibung

public void Directory::rewind ([ resource $dir_handle ] )

Das gleiche wie rewinddir(), nur ist dir_handle standardmäßig $this.

Directory::read
Verzeichnis-Funktionen
Verzeichnisse


Verzeichnis-Funktionen
PHP Manual

Verzeichnis-Funktionen

Siehe auch

Für verwandte Funktionen wie zum Beispiel dirname(), is_dir(), mkdir() und rmdir(), lesen Sie auch das Filesystem-Kapitel.

Inhaltsverzeichnis

  • chdir — Wechseln des Verzeichnisses
  • chroot — Wechselt das Root-Verzeichnis
  • closedir — Schließen eines Verzeichnis-Handles
  • dir — Gibt eine Instanz der Directory Klasse zurück
  • getcwd — Ermittelt das aktuelle Arbeitsverzeichnis
  • opendir — Öffnen eines Verzeichnis-Handles
  • readdir — Liest einen Eintrag aus einem Verzeichnis-Handle
  • rewinddir — Zurücksetzen des Verzeichnis-Handles
  • scandir — Listet Dateien und Verzeichnisse innerhalb eines angegebenen Pfades auf
Directory::rewind
chdir
Verzeichnis-Funktionen
PHP Manual


Wechseln des Verzeichnisses

Verzeichnis-Funktionen
chroot
Verzeichnis-Funktionen
PHP Manual

chdir

(PHP 4, PHP 5, PHP 7)

chdir — Wechseln des Verzeichnisses

Beschreibung

bool chdir ( string $directory )

Wechselt das aktuelle Verzeichnis von PHP zu directory.

Parameter-Liste

directory

Das neue aktuelle Verzeichnis

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Erzeugt einen Fehler des Levels E_WARNING bei Misserfolg.

Beispiele

Beispiel #1 chdir() Beispiel

<?php

// aktuelles Verzeichnis
echo getcwd() . "\n";

chdir('public_html');

// aktuelles Verzeichnis
echo getcwd() . "\n";

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

/home/vincent
/home/vincent/public_html

Anmerkungen

Hinweis: Wenn Safe Mode aktiviert ist überprüft PHP, ob das Arbeitsverzeichnis, die gleiche UID (Eigentümer) hat wie das Skript selbst.

Siehe auch

  • getcwd() - Ermittelt das aktuelle Arbeitsverzeichnis

Verzeichnis-Funktionen
chroot
Verzeichnis-Funktionen


Wechselt das Root-Verzeichnis

chdir
closedir
Verzeichnis-Funktionen
PHP Manual

chroot

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

chroot — Wechselt das Root-Verzeichnis

Beschreibung

bool chroot ( string $directory )

Wechselt das Root-Verzeichnis des aktuellen Prozesses zu directory, und wechselt das aktuelle Arbeitsverzeichnis zu "/".

Diese Funktion ist nur unter GNU und BSD Systemen verfügbar und nur bei Verwendung der CLI, CGI oder Embed SAPI. Zusätzlich benötigt die Funktion Root-Rechte.

Parameter-Liste

directory

Der Pfad zu dem das Wurzelverzeichnis geändert werden soll.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 chroot() Beispiel

<?php
chroot("/pfad/zu/ihrem/chroot/");
echo getcwd();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

/

Anmerkungen

Hinweis: Diese Funktion ist auf Windows-Plattformen nicht implementiert.

chdir
closedir
Verzeichnis-Funktionen


Schließen eines Verzeichnis-Handles

chroot
dir
Verzeichnis-Funktionen
PHP Manual

closedir

(PHP 4, PHP 5, PHP 7)

closedir — Schließen eines Verzeichnis-Handles

Beschreibung

void closedir ([ resource $dir_handle ] )

Schließt den in dir_handle angegebenen Verzeichnis-Stream. Der Stream muss zuvor mittels opendir() geöffnet worden sein.

Parameter-Liste

dir_handle

Das Verzeichnis-Handle resource, das zuvor mit opendir() geöffnet wurde. Wenn das Verzeichnis-Handle nicht angegeben ist, wird dasjenige verwendet, das auf das zuletzt mittels opendir() geöffnete Verzeichnis zeigt.

Beispiele

Beispiel #1 closedir() Beispiel

<?php
$dir = "/etc/php5/";

// Öffnet ein bekanntes Verzeichnis, liest das Verzeichnis in eine Variable
// ein und schließt es danach
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        $directory = readdir($dh);
        closedir($dh);
    }
}
?>

chroot
dir
Verzeichnis-Funktionen


Gibt eine Instanz der Directory Klasse zurück

closedir
getcwd
Verzeichnis-Funktionen
PHP Manual

dir

(PHP 4, PHP 5, PHP 7)

dir — Gibt eine Instanz der Directory Klasse zurück

Beschreibung

Directory dir ( string $directory [, resource $context ] )

Ein pseudo-objektorientierter Mechanismus zum Lesen eines Verzeichnisses. Das in directory angegebene Verzeichnis wird geöffnet.

Parameter-Liste

directory

Das zu öffnende Verzeichnis.

context

Hinweis: Die Kontext-Unterstützung gibt es seit PHP 5.0.0. Eine Beschreibung von Kontexten finden Sie unter Streams.

Rückgabewerte

Gibt eine Instanz der Directory Klasse zurück, oder NULL bei falschen Parametern, oder FALSE im Falle eines anderen Fehlers.

Beispiele

Beispiel #1 dir() Beispiel

Beachten Sie im nachfolgenden Beispiel, wie der Rückgabewert der Funktion Directory::read() überprüft wird. Es wird explizit getestet, ob der Rückgabewert identisch (den gleichen Wert und Datentyp hat, siehe Vergleichs-0peratoren) mit FALSE ist, weil sonst jeder Verzeichniseintrag, der zu FALSE ausgewertet wird, die Schleife abbricht.

<?php
$d = dir("/etc/php5");
echo "Handle: " . $d->handle . "\n";
echo "Path: " . $d->path . "\n";
while (false !== ($entry = $d->read())) {
   echo $entry."\n";
}
$d->close();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Handle: Resource id #2
Path: /etc/php5
.
..
apache
cgi
cli

Anmerkungen

Hinweis:

Die Reihenfolge der Verzeichniseinträge, die von der read-Methode zurückgegeben werden, ist systemabhängig.

closedir
getcwd
Verzeichnis-Funktionen


Ermittelt das aktuelle Arbeitsverzeichnis

dir
opendir
Verzeichnis-Funktionen
PHP Manual

getcwd

(PHP 4, PHP 5, PHP 7)

getcwd — Ermittelt das aktuelle Arbeitsverzeichnis

Beschreibung

string getcwd ( void )

Gibt das aktuelle Arbeitsverzeichnis zurück.

Rückgabewerte

Gibt bei Erfolg das aktuelle Arbeitsverzeichnis zurück, im Fehlerfall FALSE.

Auf einigen Unix-Varianten gibt getcwd() FALSE zurück, wenn eines der darüber liegenden Verzeichnisse keine Lese- oder Suchrechte haben, auch wenn das aktuelle Verzeichnis diese hat. Lesen Sie chmod() für weitergehende Informationen über Modi und Zugriffsrechte.

Beispiele

Beispiel #1 getcwd() Beispiel

<?php

// aktuelles Verzeichnis
echo getcwd() . "\n";

chdir('cvs');

// aktuelles Verzeichnis
echo getcwd() . "\n";

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

/home/didou
/home/didou/cvs

Siehe auch

  • chdir() - Wechseln des Verzeichnisses
  • chmod() - Ändert die Zugriffsrechte einer Datei

dir
opendir
Verzeichnis-Funktionen


Öffnen eines Verzeichnis-Handles

getcwd
readdir
Verzeichnis-Funktionen
PHP Manual

opendir

(PHP 4, PHP 5, PHP 7)

opendir — Öffnen eines Verzeichnis-Handles

Beschreibung

resource opendir ( string $path [, resource $context ] )

Öffnet ein Verzeichnis-Handle zur Verwendung in nachfolgenden Aufrufen von closedir(), readdir() und rewinddir().

Parameter-Liste

path

Der zu öffnende Verzeichnis-Pfad.

context

Für die Beschreibung des context-Parameters konsultieren Sie bitte das Kapitel Streams des Manuals.

Rückgabewerte

Gibt bei Erfolg ein Verzeichnis-handle resource zurück, im Fehlerfalle FALSE.

Wenn path kein valides Verzeichnis ist oder das Verzeichnis auf Grund von Zugriffsbeschränkungen oder Filesystem-Problemen nicht geöffnet werden kann, gibt opendir() FALSE zurück und generiert einen PHP-Fehler des Typs E_WARNING. Sie können die Ausgabe der Fehlermeldung von opendir() unterdrücken, indem Sie ein '@' vor dem Funktionsnamen notieren.

Changelog

Version | Beschreibung
5.0.0 | path unterstützt den ftp:// URL-Wrapper.
4.3.0 | path kann auch eine URL sein, die Directory-Listing unterstützt, allerdings wird nur der file:// URL-Wrapper von PHP 4 unterstützt.

Beispiele

Beispiel #1 opendir() Beispiel

<?php
$dir = "/etc/php5/";

// Öffnen eines bekannten Verzeichnisses und danach seinen Inhalt einlesen
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
            echo "filename: $file : filetype: " . filetype($dir . $file) . "\n";
        }
        closedir($dh);
    }
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

filename: . : filetype: dir
filename: .. : filetype: dir
filename: apache : filetype: dir
filename: cgi : filetype: dir
filename: cli : filetype: dir

Siehe auch

  • is_dir() - Prüft, ob der angegebene Dateiname ein Verzeichnis ist
  • readdir() - Liest einen Eintrag aus einem Verzeichnis-Handle
  • dir() - Gibt eine Instanz der Directory Klasse zurück

getcwd
readdir
Verzeichnis-Funktionen


Liest einen Eintrag aus einem Verzeichnis-Handle

opendir
rewinddir
Verzeichnis-Funktionen
PHP Manual

readdir

(PHP 4, PHP 5, PHP 7)

readdir — Liest einen Eintrag aus einem Verzeichnis-Handle

Beschreibung

string readdir ([ resource $dir_handle ] )

Gibt den Namen des nächsten Eintrags des Verzeichnisses zurück. Die Einträge werden in der Reihenfolge zurück gegeben, in der sie innerhalb des Filesystems angelegt wurden.

Parameter-Liste

dir_handle

Das Verzeichnis-Handle resource, das zuvor mit opendir() geöffnet wurde. Wenn das Verzeichnis-Handle nicht angegeben ist, wird dasjenige verwendet, das auf das zuletzt mittels opendir() geöffnete Verzeichnis zeigt.

Rückgabewerte

Gibt bei Erfolg den Namen des Eintrags zurück. Im Fehlerfall wird FALSE zurückgegeben.

Warnung

Diese Funktion kann sowohl das boolsche FALSE zurückliefern, als auch einen nicht-boolschen Wert, welcher zu FALSE ausgewertet wird. Weitere Informationen entnehmen Sie bitte dem Abschnitt über die boolschen Typen. Benutzen Sie deshalb den === Operator, um den Rückgabewert dieser Funktion zu überprüfen.

Beispiele

Beispiel #1 Alle Einträge eines Verzeichnisses auflisten

Bitte beachten Sie die Art und Weise, in der die Rückgabewerte von readdir() in untenstehenden Beispielen geprüft werden. Wir testen explizit, ob der Rückgabewert identisch (also inhaltlich und typgleich -- siehe Kapitel Vergleichs-Operatoren für weitere Informationen) zu FALSE ist, andernfalls würde jeder Verzeichnis-Eintrag, dessen Name als FALSE ausgewertet wird, das Durchlaufen der Schleife beenden (z.B. ein Verzeichnis namens "0").

<?php

if ($handle = opendir('/path/to/files')) {
    echo "Verzeichnis-Handle: $handle\n";
    echo "Einträge:\n";

    /* Das ist der korrekte Weg, ein Verzeichnis zu durchlaufen. */
    while (false !== ($entry = readdir($handle))) {
        echo "$entry\n";
    }

    /* Dies ist der FALSCHE Weg, ein Verzeichnis zu durchlaufen. */
    while ($entry = readdir($handle)) {
        echo "$entry\n";
    }

    closedir($handle);
}
?>

Beispiel #2 Listet alle Einträge des aktuellen Verzeichnisses auf und blendet dabei . und .. aus.

<?php
if ($handle = opendir('.')) {
    while (false !== ($entry = readdir($handle))) {
        if ($entry != "." && $entry != "..") {
            echo "$entry\n";
        }
    }
    closedir($handle);
}
?>

Siehe auch

  • is_dir() - Prüft, ob der angegebene Dateiname ein Verzeichnis ist
  • glob() - Findet Dateinamen, die mit einem Muster übereinstimmen
  • opendir() - Öffnen eines Verzeichnis-Handles
  • scandir() - Listet Dateien und Verzeichnisse innerhalb eines angegebenen Pfades auf

opendir
rewinddir
Verzeichnis-Funktionen


Zurücksetzen des Verzeichnis-Handles

readdir
scandir
Verzeichnis-Funktionen
PHP Manual

rewinddir

(PHP 4, PHP 5, PHP 7)

rewinddir — Zurücksetzen des Verzeichnis-Handles

Beschreibung

void rewinddir ([ resource $dir_handle ] )

Setzt den mit dir_handle angegebenen Verzeichnis-Stream auf den Anfang des Verzeichnisses zurück (Reset).

Parameter-Liste

dir_handle

Das Verzeichnis-Handle resource, das zuvor mit opendir() geöffnet wurde. Wenn das Verzeichnis-Handle nicht angegeben ist, wird dasjenige verwendet, das auf das zuletzt mittels opendir() geöffnete Verzeichnis zeigt.

readdir
scandir
Verzeichnis-Funktionen


Listet Dateien und Verzeichnisse innerhalb eines angegebenen Pfades auf

rewinddir
Fileinfo
Verzeichnis-Funktionen
PHP Manual

scandir

(PHP 5, PHP 7)

scandir — Listet Dateien und Verzeichnisse innerhalb eines angegebenen Pfades auf

Beschreibung

array scandir ( string $directory [, int $sorting_order = SCANDIR_SORT_ASCENDING [, resource $context ]] )

Gibt ein Array aus Dateien und Verzeichnissen des aktuellen directory wieder.

Parameter-Liste

directory

Das zu untersuchende Verzeichnis.

sorting_order

Standardmäßig ist die Sortierreihenfolge alphabetisch in aufsteigender Reihenfolge. Wenn der optionale Parameter sorting_order auf SCANDIR_SORT_DESCENDING gesetzt wird, ist die Sortierreihenfolge alphabetisch absteigend. Wenn er auf SCANDIR_SORT_NONE gesetzt wird, ist das Ergebnis unsortiert.

context

Für die Beschreibung des context-Parameters konsultieren Sie bitte das Kapitel Streams des Manuals.

Rückgabewerte

Gibt bei Erfolg ein Array von Dateinamen zurück, im Fehlerfall FALSE. Wenn directory kein Verzeichnis ist, wird der boolsche Wert FALSE zurück gegeben und ein Fehler vom Type E_WARNING erzeugt.

Changelog

Version | Beschreibung
5.4.0 | sorting_order Konstanten wurden hinzugefügt. Jeder Wert ungleich 0 bewirkte absteigende Reihenfolge in vorherigen Versionen. Also verwenden Sie 0 für aufsteigende und 1 für absteigende Reihenfolge für alle PHP Versionen. Eine Möglichkeit für das SCANDIR_SORT_NONE Verhalten gab es vor PHP 5.4.0 nicht.

Beispiele

Beispiel #1 Ein einfaches scandir()-Beispiel

<?php
$dir    = '/tmp';
$files1 = scandir($dir);
$files2 = scandir($dir, 1);

print_r($files1);
print_r($files2);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [0] => .
    [1] => ..
    [2] => bar.php
    [3] => foo.txt
    [4] => somedir
)
Array
(
    [0] => somedir
    [1] => foo.txt
    [2] => bar.php
    [3] => ..
    [4] => .
)

Beispiel #2 PHP 4-Alternativen zu scandir()

<?php
$dir = "/tmp";
$dh  = opendir($dir);
while (false !== ($filename = readdir($dh))) {
    $files[] = $filename;
}

sort($files);

print_r($files);

rsort($files);

print_r($files);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [0] => .
    [1] => ..
    [2] => bar.php
    [3] => foo.txt
    [4] => somedir
)
Array
(
    [0] => somedir
    [1] => foo.txt
    [2] => bar.php
    [3] => ..
    [4] => .
)

Anmerkungen

Tipp

Mit dieser Funktion können Sie eine URL als Dateinamen verwenden, falls Sie fopen wrappers ermöglicht haben. Mehr Details dazu, wie Sie den Dateinamen angeben müssen finden Sie bei fopen(). Eine Liste der unterstützten URL Protokolle, die Fähigkeiten der verschiedenen Wrapper, Hinweise zu deren Verwendung und Informationen zu den eventuell vorhandenen vordefinierten Variablen finden Sie unter Unterstützte Protokolle und Wrapper.

Siehe auch

  • opendir() - Öffnen eines Verzeichnis-Handles
  • readdir() - Liest einen Eintrag aus einem Verzeichnis-Handle
  • glob() - Findet Dateinamen, die mit einem Muster übereinstimmen
  • is_dir() - Prüft, ob der angegebene Dateiname ein Verzeichnis ist
  • sort() - Sortiert ein Array

rewinddir
Fileinfo
Verzeichnis-Funktionen


Dateiinformation

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Fileinfo Funktionen
    • finfo_buffer — Return information about a string buffer
    • finfo_close — Schließt eine fileinfo Ressource
    • finfo_file — Gibt Informationen über eine Datei zurück
    • finfo_open — Erstellt eine neue fileinfo Ressource
    • finfo_set_flags — Setzt libmagic Konfigurationsoptionen
    • mime_content_type — Ermittelt den MIME-Typ des Inhalts einer Datei
  • finfo — The finfo class
    • finfo::buffer — Alias von finfo_buffer()
    • finfo::__construct — Alias von finfo_open
    • finfo::file — Alias von finfo_file()
    • finfo::set_flags — Alias von finfo_set_flags()
scandir
Einführung
Dateisystemrelevante Erweiterungen


Einführung

Die Funktionen in diesem Modul versuchen den Typ und die Codierung des Inhaltes einer Datei durch untersuchen bestimmter magischen Byte-Sequenzen an spezifischen Stellen innerhalb der Datei. Obwohl dies kein "kugelsicherer" Ansatz ist machen sie dennoch gute Arbeit.

Fileinfo
Installation/Konfiguration
Fileinfo


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Fileinfo


Anforderungen

Vor PHP 5.3.0 wird die magic_open Bibliothek benötigt.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese Erweiterung ist standardmäßig aktiviert seit PHP 5.3.0. Davor war fileinfo eine PECL-Erweiterung, wird dort aber nicht länger entwickelt.Versionen unter 5.3+ können die » eingestellte PECL Erweiterung benutzen.

Windows-Benutzer müssen für die Aktivierung der Erweiterung die gebündelte php_fileinfo.dll DLL-Datei in die php.ini einbinden.

Die libmagic-Bibliothek ist mit PHP gebündelt, aber bindet PHP-spezifische änderungen ein. Ein Patch für libmagic, genannt libmagic.patch, wird entwickelt und kann eventuell in den Quelladateien der fileinfio-Erweiterung gefunden werden.

Versionsverlauf der gebündelten libmagic Bibliothek
PHP Version | Aktualisierte libmagic Version | Notitzen
5.3.2 | 5.03 |
5.3.0 | 5.02 |

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Ressource-Typen

Eine Ressource wird von der Fileinfo-Erweiterung verwendet: einen magischen Datenbankbeschreiber, der von der Funktion finfo_open() zurückgegeben wird.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

FILEINFO_NONE (integer)
Keine spezielle Fehlerbehandlung.
FILEINFO_SYMLINK (integer)
Folge symlinks.
FILEINFO_MIME_TYPE (integer)
Gibt den MIME-Typ zurück. Verfügbar seit PHP 5.3.0.
FILEINFO_MIME_ENCODING (integer)
Gibt die MIME-Kodierung der Datei zurück. Verfügbar seit PHP 5.3.0.
FILEINFO_MIME (integer)
Gibt den MIME-Typ und die MIME-Kodierung gemäß RFC 2045 zurück.
FILEINFO_COMPRESS (integer)
Dekomprimiert komprimierte Dateien. Deaktiviert seit PHP 5.3.0 aufgrund von Fragen bei der Thread-Sicherheit.
FILEINFO_DEVICES (integer)
Schaut auf Inhalte von Blöcken oder Chatacter-Spezialgeräte.
FILEINFO_CONTINUE (integer)
Gibt alle Übereinstimmungen zurück; nicht bloß die erste.
FILEINFO_PRESERVE_ATIME (integer)
Falls möglich bewahre die originale Zugriffszeit.
FILEINFO_RAW (integer)
Übersetze nicht unschreibbare Buchstaben zu einer \ooo Oktalumschreibeung.
Ressource-Typen
Fileinfo Funktionen
Fileinfo


Fileinfo Funktionen

Inhaltsverzeichnis

  • finfo_buffer — Return information about a string buffer
  • finfo_close — Schließt eine fileinfo Ressource
  • finfo_file — Gibt Informationen über eine Datei zurück
  • finfo_open — Erstellt eine neue fileinfo Ressource
  • finfo_set_flags — Setzt libmagic Konfigurationsoptionen
  • mime_content_type — Ermittelt den MIME-Typ des Inhalts einer Datei
Vordefinierte Konstanten
finfo_buffer
Fileinfo


Return information about a string buffer

Fileinfo Funktionen
finfo_close
Fileinfo Funktionen
PHP Manual

finfo_buffer

finfo::buffer

(PHP 5 >= 5.3.0, PHP 7, PECL fileinfo >= 0.1.0)

finfo_buffer -- finfo::buffer — Return information about a string buffer

Beschreibung

Prozeduraler Stil

string finfo_buffer ( resource $finfo , string $string = NULL [, int $options = FILEINFO_NONE [, resource $context = NULL ]] )

Objektorientierter Stil

public string finfo::buffer ( string $string = NULL [, int $options = FILEINFO_NONE [, resource $context = NULL ]] )

This function is used to get information about binary data in a string.

Parameter-Liste

finfo

Fileinfo resource returned by finfo_open().

string

Content of a file to be checked.

options

One or disjunction of more Fileinfo constants.

context

Rückgabewerte

Returns a textual description of the string argument, or FALSE if an error occurred.

Beispiele

Beispiel #1 A finfo_buffer() example

<?php
$finfo = new finfo(FILEINFO_MIME);
echo $finfo->buffer($_POST["script"]) . "\n";
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

application/x-sh; charset=us-ascii

Siehe auch

  • finfo_file() - Alias von finfo_file()

Fileinfo Funktionen
finfo_close
Fileinfo Funktionen


Schließt eine fileinfo Ressource

finfo_buffer
finfo_file
Fileinfo Funktionen
PHP Manual

finfo_close

(PHP >= 5.3.0, PECL fileinfo >= 0.1.0)

finfo_close — Schließt eine fileinfo Ressource

Beschreibung

bool finfo_close ( resource $finfo )

Diese Funktion schließt die mit finfo_open() geöffnete Ressource.

Parameter-Liste

finfo

Die von finfo_open() zurückgegebene fileinfo-Ressource.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

finfo_buffer
finfo_file
Fileinfo Funktionen


Gibt Informationen über eine Datei zurück

finfo_close
finfo_open
Fileinfo Funktionen
PHP Manual

finfo_file

finfo::file

(PHP >= 5.3.0, PECL fileinfo >= 0.1.0)

finfo_file -- finfo::file — Gibt Informationen über eine Datei zurück

Beschreibung

Prozeduraler Stil

string finfo_file ( resource $finfo , string $file_name = NULL [, int $options = FILEINFO_NONE [, resource $context = NULL ]] )

Objektorientierter Stil

public string finfo::file ( string $file_name = NULL [, int $options = FILEINFO_NONE [, resource $context = NULL ]] )

Diese Funktion wird benutzt, um Informationen über eine Datei zu erhalten.

Parameter-Liste

finfo

Fileinfo Ressource von finfo_open() zurückgegeben.

file_name

Name einer zu prüfenden Datei.

options

Eine oder eine Disjunktion von mehreren Fileinfo Konstanten.

context

Für eine Beschreibung von context konsultieren Sie Stream Funktionen.

Rückgabewerte

Gibt eine textliche Beschreibung des Inhalts des filename Arguments oder FALSE, falls ein Fehler auftrat.

Beispiele

Beispiel #1 Ein finfo_file() Beispiel

<?php
$finfo = finfo_open(FILEINFO_MIME_TYPE); // gib den MIME-Typ nach Art der mimetype Extension zurück
foreach (glob("*") as $filename) {
    echo finfo_file($finfo, $filename) . "\n";
}
finfo_close($finfo);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

text/html
image/gif
application/vnd.ms-excel

Siehe auch

  • finfo_buffer() - Alias von finfo_buffer()

finfo_close
finfo_open
Fileinfo Funktionen


Erstellt eine neue fileinfo Ressource

finfo_file
finfo_set_flags
Fileinfo Funktionen
PHP Manual

finfo_open

finfo::__construct

(PHP >= 5.3.0, PECL fileinfo >= 0.1.0)

finfo_open -- finfo::__construct — Erstellt eine neue fileinfo Ressource

Beschreibung

Prozeduraler Stil

resource finfo_open ([ int $options = FILEINFO_NONE [, string $magic_file = NULL ]] )

Objektorientierter Stil (constructor):

public finfo::__construct ([ int $options = FILEINFO_NONE [, string $magic_file = NULL ]] )

Diese Funktion öffnet eine magische Datenbank und gibt ihre Ressource zurück.

Parameter-Liste

options

Eine oder eine Trennung verschiedener Fileinfo- Konstanten

magic_file

Name einer magischen Datenbankdatei, gewöhnlich ungefähr so: /path/to/magic.mime. Falls nicht spezifiziert, wird die MAGIC-Umgebungsvariable verwendet. Falls die Umgebungsvariable nicht gesetzt ist, wird die PHP-eigene magische Datenbank benutzt.

Übergibt NULL oder eine leere Zeichenfolge gleichbedeutend mit dem Standardwert.

Rückgabewerte

Gibt bei Erfolg eine magische Datenbank-Ressource zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Warnung

Das Format der erwarteten magischen Datenbankressource änderte sich in PHP 5.3.11 und 5.4.1. Infolge dessen wurde die interne magische Datenbank aufgerüstet. Dieser Code ist am effektivsten, wenn eine externe Datenbank benutzt wird: Das Lesen aus einer älteren magischen Datenbank wird nun fehlschlagen. Auch einige Textdarstellungen der MIME-Typen wurden geändert. Für PHP würde zum Beispiel "PHP script, ASCII text" statt "PHP script text" zurück gegeben.

Hinweis:

Das Benutzen der eingebundenen magischen Datenbank wird generell empfohlen (magic_file und die MAGIC- Umgebungsvariable nicht gesetzt), sofern keine benutzerdefinierte magische Datenbank benötigt wird.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/*
 Setup für die Rückgabe von MIME-Typ und Encoding
 unter Verwendung der angegebenen Datenbank /usr/share/misc/magic
 */
$finfo = new finfo(FILEINFO_MIME, "/usr/share/misc/magic");

/* Pfad zu einer Datei */
$filename = "/usr/local/something.txt";

/*
 Ermittelt den MIME-Typ der Datei, beispielsweise
 text/plain; charset=us-ascii
 */
echo $finfo->file($filename);

?>

Beispiel #2 Prozeduraler Stil

<?php
/*
 Setup für die Rückgabe von MIME-Typ und Encoding
 unter Verwendung der angegebenen Datenbank /usr/share/misc/magic
 */
$finfo = finfo_open(FILEINFO_MIME, "/usr/share/misc/magic");

if (!$finfo) {
    echo "Öffnen der fileinfo-Datenbank fehlgeschlagen";
    exit();
}

/* Pfad zu einer Datei */
$filename = "/usr/local/something.txt";

/*
 Ermittelt den MIME-Typ der Datei, beispielsweise
 text/plain; charset=us-ascii
 */
echo finfo_file($finfo, $filename);

/* Verbindung schließen */
finfo_close($finfo);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

text/plain; charset=us-ascii

Siehe auch

  • finfo_close() - Schließt eine fileinfo Ressource

finfo_file
finfo_set_flags
Fileinfo Funktionen


Setzt libmagic Konfigurationsoptionen

finfo_open
mime_content_type
Fileinfo Funktionen
PHP Manual

finfo_set_flags

finfo::set_flags

(PHP >= 5.3.0, PECL fileinfo >= 0.1.0)

finfo_set_flags -- finfo::set_flags — Setzt libmagic Konfigurationsoptionen

Beschreibung

Prozeduraler Stil

bool finfo_set_flags ( resource $finfo , int $options )

Objektorientierter Stil

public bool finfo::set_flags ( int $options )

Diese Funktion setzt verschiedene Fileinfo Optionen. Optionen können auch direkt in finfo_open() oder anderen Fileinfo-Funktionen gesetzt werden.

Parameter-Liste

finfo

Die von der Funktion finfo_open() zurückgegebene Fileinfo-Ressource.

options

Eine oder eine Verbindung von mehreren Fileinfo -Konstanten.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

finfo_open
mime_content_type
Fileinfo Funktionen


Ermittelt den MIME-Typ des Inhalts einer Datei

finfo_set_flags
finfo
Fileinfo Funktionen
PHP Manual

mime_content_type

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

mime_content_type — Ermittelt den MIME-Typ des Inhalts einer Datei

Beschreibung

string mime_content_type ( string $filename )

Gibt den MIME-Inhaltstyp für eine Datei unter verwendung von Informationen von der magic.mime-Datei.

Parameter-Liste

filename

Pfad zur zu testenden Datei

Rückgabewerte

Gibt den Inhaltstxp im MIME-Format zurück, wie z.B. text/plain oder application/octet-stream.

Beispiele

Beispiel #1 mime_content_type() Example

<?php
echo mime_content_type('php.gif') . "\n";
echo mime_content_type('test.php');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

image/gif
text/plain

Siehe auch

  • finfo_file() - Alias von finfo_file()
  • finfo_buffer() - Alias von finfo_buffer()

finfo_set_flags
finfo
Fileinfo Funktionen


The finfo class

(PHP 5 >= 5.3.0, PHP 7, PECL fileinfo >= 0.1.0)

Einführung

This class provides an object oriented interface into the fileinfo functions.

Klassenbeschreibung

finfo {
public __construct ([ int $options = FILEINFO_NONE [, string $magic_file = NULL ]] )
public string buffer ( string $string = NULL [, int $options = FILEINFO_NONE [, resource $context = NULL ]] )
public string file ( string $file_name = NULL [, int $options = FILEINFO_NONE [, resource $context = NULL ]] )
public bool set_flags ( int $options )
}

Inhaltsverzeichnis

  • finfo::buffer — Alias von finfo_buffer()
  • finfo::__construct — Alias von finfo_open
  • finfo::file — Alias von finfo_file()
  • finfo::set_flags — Alias von finfo_set_flags()
mime_content_type
finfo::buffer
Fileinfo


Alias von finfo_buffer()

finfo
finfo::__construct
finfo
PHP Manual

finfo::buffer

(PHP 5 >= 5.3.0, PHP 7, PECL fileinfo >= 0.1.0)

finfo::buffer — Alias von finfo_buffer()

Beschreibung

public string finfo::buffer ( string $string = NULL [, int $options = FILEINFO_NONE [, resource $context = NULL ]] )

Diese Funktion ist ein Alias für: finfo_buffer()

finfo
finfo::__construct
finfo


Alias von finfo_open

finfo::buffer
finfo::file
finfo
PHP Manual

finfo::__construct

(PHP >= 5.3.0, PECL fileinfo >= 0.1.0)

finfo::__construct — Alias von finfo_open()

Beschreibung

public finfo::__construct ([ int $options = FILEINFO_NONE [, string $magic_file = NULL ]] )

Diese Funktion ist ein Alias für: finfo_open()

finfo::buffer
finfo::file
finfo


Alias von finfo_file()

finfo::__construct
finfo::set_flags
finfo
PHP Manual

finfo::file

(PHP >= 5.3.0, PECL fileinfo >= 0.1.0)

finfo::file — Alias von finfo_file()

Beschreibung

public string finfo::file ( string $file_name = NULL [, int $options = FILEINFO_NONE [, resource $context = NULL ]] )

Diese Funktion ist ein Alias für: finfo_file()

finfo::__construct
finfo::set_flags
finfo


Alias von finfo_set_flags()

finfo::file
Dateisystem
finfo
PHP Manual

finfo::set_flags

(PHP >= 5.3.0, PECL fileinfo >= 0.1.0)

finfo::set_flags — Alias von finfo_set_flags()

Beschreibung

public bool finfo::set_flags ( int $options )

Diese Funktion ist ein Alias für: finfo_set_flags()

finfo::file
Dateisystem
finfo


Dateisystem

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Dateisystem — Dateisystem-Funktionen
    • basename — Gibt letzten Namensteil einer Pfadangabe zurück
    • chgrp — Wechselt die Gruppenzugehörigkeit einer Datei
    • chmod — Ändert die Zugriffsrechte einer Datei
    • chown — Ändert den Eigentümer einer Datei
    • clearstatcache — Löscht den Status Cache
    • copy — Kopiert eine Datei
    • delete — Siehe unlink oder unset
    • dirname — Gibt den Pfad des übergeordneten Verzeichnisses zurück
    • disk_free_space — Gibt verfügbaren Platz auf Dateisystem oder Partition zurück
    • disk_total_space — Gibt die Gesamtgröße eines Dateisystemes oder einer Partition zurück
    • diskfreespace — Alias von disk_free_space
    • fclose — Schließt einen offenen Dateizeiger
    • feof — Prüft, ob ein Dateizeiger am Ende der Datei steht
    • fflush — Schreibt den Ausgabepuffer in eine Datei
    • fgetc — Liest das Zeichen, auf welches der Dateizeiger zeigt
    • fgetcsv — Liest eine Zeile von der Position des Dateizeigers und prüft diese auf Komma-Separierte-Werte (CSV)
    • fgets — Liest eine Zeile von der Position des Dateizeigers
    • fgetss — Liest eine Zeile von der Position des Dateizeigers und entfernt HTML Tags.
    • file_exists — Prüft, ob eine Datei oder ein Verzeichnis existiert
    • file_get_contents — Liest die gesamte Datei in einen String
    • file_put_contents — Schreibt einen String in eine Datei
    • file — Liest eine komplette Datei in ein Array
    • fileatime — Liefert Datum und Uhrzeit des letzten Zugriffs auf eine Datei
    • filectime — Liefert Datum und Uhrzeit der letzten Änderung des Datei Inode
    • filegroup — Liefert die Gruppenzugehörigkeit einer Datei
    • fileinode — Liefert die Inode-Nummer einer Datei
    • filemtime — Liefert Datum und Uhrzeit der letzten Dateiänderung
    • fileowner — Liefert den Dateieigentümer
    • fileperms — Liefert die Zugriffsrechte einer Datei
    • filesize — Liefert die Größe einer Datei
    • filetype — Liefert den Typ einer Datei
    • flock — Portables Datei-Sperr-Verfahren (advisory locking)
    • fnmatch — Match filename against a pattern
    • fopen — Öffnet eine Datei oder URL
    • fpassthru — Gibt alle verbleibenden Daten eines Dateizeigers direkt aus.
    • fputcsv — Format line as CSV and write to file pointer
    • fputs — Alias von fwrite
    • fread — Liest Binärdaten aus einer Datei
    • fscanf — Interpretiert den Input einer Datei entsprechend einem angegebenen Format
    • fseek — Positioniert den Dateizeiger
    • fstat — Sammelt Informationen über eine Datei mittels eines offenen Dateizeigers
    • ftell — Ermittelt die aktuelle Position des Dateizeigers
    • ftruncate — Kürzt eine Datei auf die angegebene Länge
    • fwrite — Binär-sicheres Dateischreiben
    • glob — Findet Dateinamen, die mit einem Muster übereinstimmen
    • is_dir — Prüft, ob der angegebene Dateiname ein Verzeichnis ist
    • is_executable — Prüft, ob der Dateiname ausführbar ist
    • is_file — Prüft, ob der Dateiname eine reguläre Datei ist
    • is_link — Prüft, ob der Dateiname ein symbolischer Link ist
    • is_readable — Prüft, ob eine Datei existiert und lesbar ist
    • is_uploaded_file — Prüft, ob die Datei mittels HTTP-POST upgeloadet wurde
    • is_writable — Prüft, ob in eine Datei geschrieben werden kann
    • is_writeable — Alias von is_writable
    • lchgrp — Changes group ownership of symlink
    • lchown — Changes user ownership of symlink
    • link — Erzeugt einen harten Link
    • linkinfo — Liefert Informationen über einen Link
    • lstat — Sammelt Informationen über eine Datei oder einen symbolischen Link
    • mkdir — Erstellt ein Verzeichnis
    • move_uploaded_file — Verschiebt eine hochgeladene Datei an einen neuen Ort
    • parse_ini_file — Parst eine Konfigurationsdatei
    • parse_ini_string — Analysiert einen Konfigurations-String
    • pathinfo — Liefert Informationen über einen Dateipfad
    • pclose — Schließt einen Prozess-Dateizeiger
    • popen — Öffnet einen Prozesszeiger
    • readfile — Gibt eine Datei aus
    • readlink — Liefert das Ziel eines symbolischen Links
    • realpath_cache_get — Get realpath cache entries
    • realpath_cache_size — Get realpath cache size
    • realpath — Löst einen Pfad in einen absoluten und eindeutigen auf
    • rename — Benennt eine Datei oder ein Verzeichnis um
    • rewind — Setzt die Position eines Dateizeigers auf den Anfang
    • rmdir — Löscht ein Verzeichnis
    • set_file_buffer — Alias von stream_set_write_buffer
    • stat — Sammelt Informationen über eine Datei
    • symlink — Erzeugt einen symbolischen Link
    • tempnam — Erzeugt eine Datei mit eindeutigem Dateinamen
    • tmpfile — Erstellt eine temporäre Datei
    • touch — Setzt die Zugriffs- und Modifikationszeit einer Datei
    • umask — Changes the current umask
    • unlink — Löscht eine Datei
finfo::set_flags
Einführung
Dateisystemrelevante Erweiterungen


Einführung

Diese Extension benötigt keine externen Bibliotheken. Wenn Sie PHP allerdings mit Large File System (LFS) Unterstützung kompilieren wollen, müssen Sie zusätzlich die folgende Compilerflags angeben: -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64.

Dateisystem
Installation/Konfiguration
Dateisystem


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Dateisystem


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Dateisystem- und Stream-Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
allow_url_fopen | "1" | PHP_INI_SYSTEM | PHP_INI_ALL in PHP <= 4.3.4. Verfügbar seit PHP 4.0.4.
allow_url_include | "0" | PHP_INI_SYSTEM | Verfügbar seit PHP 5.2.0.
user_agent | NULL | PHP_INI_ALL | Verfügbar seit PHP 4.3.0.
default_socket_timeout | "60" | PHP_INI_ALL | Verfügbar seit PHP 4.3.0.
from | "" | PHP_INI_ALL |
auto_detect_line_endings | "0" | PHP_INI_ALL | Verfügbar seit PHP 4.3.0.

Hier eine kurze Erklärung der Konfigurationsoptionen:

allow_url_fopen boolean

Diese Option aktiviert URL-unterstützende fopen()-Wrapper, die es ermöglichen, auf URL-Objekte wie normale Dateien zuzugreifen. Standardwrapper werden für den Zugriff auf entfernte Dateien über das FTP- und HTTP-Protokoll mitgeliefert, einige Extensions wie zlib registrieren eventuell weitere Wrapper.

Hinweis:

Diese Option wurde direkt nach dem Release von PHP 4.0.3 eingeführt. Für Versionen bis einschließlich PHP 4.0.3 können Sie dieses Feature nur zur Compilezeit mit Hilfe der Konfigurationsoption --disable-url-fopen-wrapper deaktivieren.

Warnung

Unter Windows können die folgenden Funktionen bis PHP 4.3.0 nicht auf entfernte Dateien zugreifen: include, include_once, require, require_once sowie die imagecreatefromXXX-Funktionen der GD- und Image-Funktionen-Extension.

allow_url_include boolean

Diese Option ermöglicht die Verwendung von URL-Wrappern mit folgenden Funktionen: include, include_once, require, require_once.

Hinweis:

Diese Einstellung funktioniert nur, wenn auch allow_url_fopen aktiviert ist.

user_agent string

Definiert die von PHP verwendete HTTP-Useragent-Kennung.

default_socket_timeout integer

Standardzeitbeschränkung für Socket-basierende Streams in Sekunden.

Hinweis: Diese Konfigurationsoption wurde in PHP 4.3.0 eingeführt.

from string

Bei Nutzung der FTP- bzw. HTTP-Wrapper: E-Mail-Adresse für nicht-authentifizierte FTP-Verbindungen bzw. From-Header in HTTP-Verbindungen.

auto_detect_line_endings boolean

Wenn diese Option aktiviert ist, prüft PHP die von den Funktionen fgets() und file() gelesenen Daten, um festzustellen, ob diese Unix-, MS-DOS- oder Macintosh-Zeilenenden verwenden.

Dies ermöglicht es PHP, mit Macintosh-Systemen zusammenzuarbeiten, ist aber standardmäßig nicht aktiviert, da es zu einem geringfügigen Performanceverlust beim Einlesen der ersten Zeile führt. Weiterhin würden Anwender, die Carriage-Return-Zeichen unter Unix als Feldtrenner benutzen, ein nicht abwärtskompatibles Verhalten feststellen.

Hinweis: Diese Konfigurationsoption wurde in PHP 4.3.0 eingeführt.

Installation
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

Das Dateisystem nutzt Streams als Ressourcentyp. Streams sind in einem eigenen Kapitel dokumentiert: Streams.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

SEEK_SET (integer)
SEEK_CUR (integer)
SEEK_END (integer)
LOCK_SH (integer)
LOCK_EX (integer)
LOCK_UN (integer)
LOCK_NB (integer)
GLOB_BRACE (integer)
GLOB_ONLYDIR (integer)
GLOB_MARK (integer)
GLOB_NOSORT (integer)
GLOB_NOCHECK (integer)
GLOB_NOESCAPE (integer)
GLOB_AVAILABLE_FLAGS (integer)
PATHINFO_DIRNAME (integer)
PATHINFO_BASENAME (integer)
PATHINFO_EXTENSION (integer)
PATHINFO_FILENAME (integer)
Seit PHP 5.2.0.
FILE_USE_INCLUDE_PATH (integer)
Suche den Dateinamen filename im include_path (seit PHP 5).
FILE_NO_DEFAULT_CONTEXT (integer)
FILE_APPEND (integer)
An vorhandene Datei anfügen.
FILE_IGNORE_NEW_LINES (integer)
EOL-Zeichen entfernen (seit PHP 5).
FILE_SKIP_EMPTY_LINES (integer)
Leerzeilen überspringen (seit PHP 5).
FILE_BINARY (integer)

Binärmodus (seit PHP 5.2.7).

Hinweis:

Diese Konstante hat keine Auswirkung. Sie existiert nur zur Vorwärtskompatibilität.

FILE_TEXT (integer)

Binärmodus (seit PHP 5.2.7).

Hinweis:

Diese Konstante hat keine Auswirkung. Sie existiert nur zur Vorwärtskompatibilität.

INI_SCANNER_NORMAL (integer)
Normaler INI-Scanner-Modus (seit PHP 5.3).
INI_SCANNER_RAW (integer)
Unverarbeiteter INI-Scanner-Modus (seit PHP 5.3).
INI_SCANNER_TYPED (integer)
Typisierter INI-Scanner-Modus (seit PHP 5.6.1).
FNM_NOESCAPE (integer)
Deaktivieren des Escapens des Backslash-Zeichens.
FNM_PATHNAME (integer)
Ein Slash in einer Zeichenkette matcht nur den Slash im übergebenen Muster.
FNM_PERIOD (integer)
Ein führender Punkt in einer Zeichenkette muss von einem Punkt im übergebenen Muster gematcht werden.
FNM_CASEFOLD (integer)
Match, der unabhängig von der Groß-/Kleinschreibung ist. Teil der GNU-Extension.
Ressource-Typen
Dateisystem
Dateisystem


Dateisystem-Funktionen

Siehe auch

Verwandte Funktionen finden Sie in den Abschnitten Verzeichnis-Funktionen und Funktionen zur Programmausführung.

Eine Liste mit Erklärungen der verschiedenen URL-Wrapper, welche Sie auch als entfernte Dateien nutzen können, finden Sie unter Unterstützte Protokolle und Wrapper.

Inhaltsverzeichnis

  • basename — Gibt letzten Namensteil einer Pfadangabe zurück
  • chgrp — Wechselt die Gruppenzugehörigkeit einer Datei
  • chmod — Ändert die Zugriffsrechte einer Datei
  • chown — Ändert den Eigentümer einer Datei
  • clearstatcache — Löscht den Status Cache
  • copy — Kopiert eine Datei
  • delete — Siehe unlink oder unset
  • dirname — Gibt den Pfad des übergeordneten Verzeichnisses zurück
  • disk_free_space — Gibt verfügbaren Platz auf Dateisystem oder Partition zurück
  • disk_total_space — Gibt die Gesamtgröße eines Dateisystemes oder einer Partition zurück
  • diskfreespace — Alias von disk_free_space
  • fclose — Schließt einen offenen Dateizeiger
  • feof — Prüft, ob ein Dateizeiger am Ende der Datei steht
  • fflush — Schreibt den Ausgabepuffer in eine Datei
  • fgetc — Liest das Zeichen, auf welches der Dateizeiger zeigt
  • fgetcsv — Liest eine Zeile von der Position des Dateizeigers und prüft diese auf Komma-Separierte-Werte (CSV)
  • fgets — Liest eine Zeile von der Position des Dateizeigers
  • fgetss — Liest eine Zeile von der Position des Dateizeigers und entfernt HTML Tags.
  • file_exists — Prüft, ob eine Datei oder ein Verzeichnis existiert
  • file_get_contents — Liest die gesamte Datei in einen String
  • file_put_contents — Schreibt einen String in eine Datei
  • file — Liest eine komplette Datei in ein Array
  • fileatime — Liefert Datum und Uhrzeit des letzten Zugriffs auf eine Datei
  • filectime — Liefert Datum und Uhrzeit der letzten Änderung des Datei Inode
  • filegroup — Liefert die Gruppenzugehörigkeit einer Datei
  • fileinode — Liefert die Inode-Nummer einer Datei
  • filemtime — Liefert Datum und Uhrzeit der letzten Dateiänderung
  • fileowner — Liefert den Dateieigentümer
  • fileperms — Liefert die Zugriffsrechte einer Datei
  • filesize — Liefert die Größe einer Datei
  • filetype — Liefert den Typ einer Datei
  • flock — Portables Datei-Sperr-Verfahren (advisory locking)
  • fnmatch — Match filename against a pattern
  • fopen — Öffnet eine Datei oder URL
  • fpassthru — Gibt alle verbleibenden Daten eines Dateizeigers direkt aus.
  • fputcsv — Format line as CSV and write to file pointer
  • fputs — Alias von fwrite
  • fread — Liest Binärdaten aus einer Datei
  • fscanf — Interpretiert den Input einer Datei entsprechend einem angegebenen Format
  • fseek — Positioniert den Dateizeiger
  • fstat — Sammelt Informationen über eine Datei mittels eines offenen Dateizeigers
  • ftell — Ermittelt die aktuelle Position des Dateizeigers
  • ftruncate — Kürzt eine Datei auf die angegebene Länge
  • fwrite — Binär-sicheres Dateischreiben
  • glob — Findet Dateinamen, die mit einem Muster übereinstimmen
  • is_dir — Prüft, ob der angegebene Dateiname ein Verzeichnis ist
  • is_executable — Prüft, ob der Dateiname ausführbar ist
  • is_file — Prüft, ob der Dateiname eine reguläre Datei ist
  • is_link — Prüft, ob der Dateiname ein symbolischer Link ist
  • is_readable — Prüft, ob eine Datei existiert und lesbar ist
  • is_uploaded_file — Prüft, ob die Datei mittels HTTP-POST upgeloadet wurde
  • is_writable — Prüft, ob in eine Datei geschrieben werden kann
  • is_writeable — Alias von is_writable
  • lchgrp — Changes group ownership of symlink
  • lchown — Changes user ownership of symlink
  • link — Erzeugt einen harten Link
  • linkinfo — Liefert Informationen über einen Link
  • lstat — Sammelt Informationen über eine Datei oder einen symbolischen Link
  • mkdir — Erstellt ein Verzeichnis
  • move_uploaded_file — Verschiebt eine hochgeladene Datei an einen neuen Ort
  • parse_ini_file — Parst eine Konfigurationsdatei
  • parse_ini_string — Analysiert einen Konfigurations-String
  • pathinfo — Liefert Informationen über einen Dateipfad
  • pclose — Schließt einen Prozess-Dateizeiger
  • popen — Öffnet einen Prozesszeiger
  • readfile — Gibt eine Datei aus
  • readlink — Liefert das Ziel eines symbolischen Links
  • realpath_cache_get — Get realpath cache entries
  • realpath_cache_size — Get realpath cache size
  • realpath — Löst einen Pfad in einen absoluten und eindeutigen auf
  • rename — Benennt eine Datei oder ein Verzeichnis um
  • rewind — Setzt die Position eines Dateizeigers auf den Anfang
  • rmdir — Löscht ein Verzeichnis
  • set_file_buffer — Alias von stream_set_write_buffer
  • stat — Sammelt Informationen über eine Datei
  • symlink — Erzeugt einen symbolischen Link
  • tempnam — Erzeugt eine Datei mit eindeutigem Dateinamen
  • tmpfile — Erstellt eine temporäre Datei
  • touch — Setzt die Zugriffs- und Modifikationszeit einer Datei
  • umask — Changes the current umask
  • unlink — Löscht eine Datei
Vordefinierte Konstanten
basename
Dateisystem


Gibt letzten Namensteil einer Pfadangabe zurück

Dateisystem
chgrp
Dateisystem
PHP Manual

basename

(PHP 4, PHP 5, PHP 7)

basename — Gibt letzten Namensteil einer Pfadangabe zurück

Beschreibung

string basename ( string $path [, string $suffix ] )

Aus einer übergebenen Zeichenkette, die den Pfad zu einer Datei oder einem Verzeichnis enthält, gibt diese Funktion den letzten Namensteil zurück.

Hinweis:

basename() arbeitet nur mit der Eingabe Zeichenkette und beachtet nicht das eigentliche Dateisystem oder Pfadbestandteile wie etwa "..".

Achtung

basename() beachtet die Spracheinstellungen (locale); soll sie daher die korrekte Namensbasis in Pfaden mit einem Mehrbytezeichensatz erkennen, muss die passende Spracheinstellung (locale) mit der setlocale() Funktion gesetzt werden.

Parameter-Liste

path

Ein Pfad.

Unter Windows wird sowohl der Slash (/) als auch der Backslash (\) als Trennzeichen bei Pfadangaben benutzt. Unter anderen Betriebssystemen hingegen nur der Slash (/).

suffix

Wenn der Namensteil mit suffix endet, wird dieser ebenfalls abgetrennt.

Rückgabewerte

Gibt den abschließenden Namen des übergebenen path zurück.

Beispiele

Beispiel #1 basename() Beispiel

<?php
echo "1) ".basename("/etc/sudoers.d", ".d").PHP_EOL;
echo "2) ".basename("/etc/sudoers.d").PHP_EOL;
echo "3) ".basename("/etc/passwd").PHP_EOL;
echo "4) ".basename("/etc/").PHP_EOL;
echo "5) ".basename(".").PHP_EOL;
echo "6) ".basename("/");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1) sudoers
2) sudoers.d
3) passwd
4) etc
5) .
6)

Siehe auch

  • dirname() - Gibt den Pfad des übergeordneten Verzeichnisses zurück
  • pathinfo() - Liefert Informationen über einen Dateipfad

Dateisystem
chgrp
Dateisystem


Wechselt die Gruppenzugehörigkeit einer Datei

basename
chmod
Dateisystem
PHP Manual

chgrp

(PHP 4, PHP 5, PHP 7)

chgrp — Wechselt die Gruppenzugehörigkeit einer Datei

Beschreibung

bool chgrp ( string $filename , mixed $group )

Versucht, die Gruppenzugehörigkeit der Datei filename zu group zu ändern.

Nur der Superuser kann die Gruppe einer Date beliebig ändern; andere Benutzer können die Gruppenzugehörigkeit einer Datei in jede Gruppe ändern, der sie angehören.

Parameter-Liste

filename

Pfad zu einer Datei.

group

Ein Gruppenname oder eine Gruppennummer.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Gruppe einer Datei ändern

<?php
$filename = 'shared_file.txt';
$format = "%s's Group ID @ %s: %d\n";
printf($format, $filename, date('r'), filegroup($filename));
chgrp($filename, 8);
clearstatcache(); // do not cache filegroup() results
printf($format, $filename, date('r'), filegroup($filename));
?>

Anmerkungen

Hinweis: Diese Funktion kann nicht mit entfernten Dateien arbeiten, da der Zugriff auf die Datei, die bearbeitet werden soll, über das Dateisystem des Servers möglich sein muss.

Hinweis: Wenn Safe Mode aktiviert ist, überprüft PHP, ob die Dateien/Verzeichnisse, die mit dem Skript bearbeitet werden sollen, die gleiche UID (Eigentümer) haben wie das Skript selbst.

Siehe auch

  • chown() - Ändert den Eigentümer einer Datei
  • chmod() - Ändert die Zugriffsrechte einer Datei

basename
chmod
Dateisystem


Ändert die Zugriffsrechte einer Datei

chgrp
chown
Dateisystem
PHP Manual

chmod

(PHP 4, PHP 5, PHP 7)

chmod — Ändert die Zugriffsrechte einer Datei

Beschreibung

bool chmod ( string $filename , int $mode )

Versucht die Zugriffsrechte der angegebenen Datei zu denen in mode definierten zu ändern.

Parameter-Liste

filename

Pfad zu der Datei.

mode

Beachten Sie, dass mode nicht automatisch für einen Oktalwert gehalten wird, so dass Sie, um sicher zu gehen, dass die Operation wie erwartet verläuft, mode mit dem Prefix Null (0) versehen sollten. Zeichenketten wie etwa "g+w" funktionieren nicht korrekt.

<?php
chmod("/einverzeichnis/einedatei", 755);   // decimal; probably incorrect
chmod("/einverzeichnis/einedatei", "u+rwx,go+rx"); // string; incorrect
chmod("/einverzeichnis/einedatei", 0755);  // octal; correct value of mode
?>

Der mode Parameter besteht aus drei Oktal Ziffer Komponenten, die Zugriffsberechtigungen für den Besitzer, für die Gruppe in der der Zugreifende ist und für alle anderen in dieser Reihenfolge festlegen. Eine Komponete kann durch Addition der benötigten Rechte für das jeweilige Ziel berechnet werden. Ziffer 1 bedeutet, dass man Ausführrechte gewährt, Ziffer 2 bedeuet, dass die Datei beschreibbar ist, Ziffer 4 bedeute, dass die Datei lesbar ist. Addieren sie diese Zahlen, um die benötigten Rechte anzugeben. Sie können mehr über diese Modi in unixoiden Betriebssystemen mit 'man 1 chmod' und 'man 2 chmod' lesen.

<?php
// Lese und Schreibrechte für den Besitzer, keine für alle anderen
chmod("/somedir/somefile", 0600);

// Lese und Schreibrechte für den Besitzer, Leserechte für alle anderen
chmod("/somedir/somefile", 0644);

// Alle Rechte für den Besitzer, Lese- und Ausführrechte für andere
chmod("/somedir/somefile", 0755);

// Alle Rechte für den Besitzer, Lese- und Ausführrechte für die Gruppe
chmod("/somedir/somefile", 0750);
?>

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Hinweis:

Der aktuelle Nutzer ist der Nutzer mit dem PHP läuft. Dies ist möglicherweise nicht der gleiche Nutzer wie der, den sie für den Shell oder FTP Zugang nutzen. Auf den meisten Betriebssystemen können die Zugriffsrechte nur durch den Besitzer der Datei geändert werden.

Hinweis: Diese Funktion kann nicht mit entfernten Dateien arbeiten, da der Zugriff auf die Datei, die bearbeitet werden soll, über das Dateisystem des Servers möglich sein muss.

Hinweis:

Falls Safe Mode aktiviert ist, prüft PHP ob die Dateien oder Verzeichnisse, mit denen sie arbeiten möchten die selbe UID (Besitzer) haben, wie das ausgeführte Skript. Zusätzlich können sie nicht die SUID, SGID und sticky Bits setzen. bits.

Siehe auch

  • chown() - Ändert den Eigentümer einer Datei
  • chgrp() - Wechselt die Gruppenzugehörigkeit einer Datei
  • fileperms() - Liefert die Zugriffsrechte einer Datei
  • stat() - Sammelt Informationen über eine Datei

chgrp
chown
Dateisystem


Ändert den Eigentümer einer Datei

chmod
clearstatcache
Dateisystem
PHP Manual

chown

(PHP 4, PHP 5, PHP 7)

chown — Ändert den Eigentümer einer Datei

Beschreibung

bool chown ( string $filename , mixed $user )

Ändert den Eigentümer der Datei filename in Benutzer user. Nur der Superuser kann den Eigentümer einer Datei ändern.

Parameter-Liste

filename

Pfad zur Zieldatei.

user

Ein Benutzername oder eine numerische Benutzer-ID.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Einfache chown()-Benutzung

<?php

// Datei- und Benutzernamen setzen
$file_name= "foo.php";
$path = "/home/sites/php.net/public_html/sandbox/" . $file_name ;
$user_name = "root";

// Benutzer setzen
chown($path, $user_name);

// Ergebnis prüfen
$stat = stat($path);
print_r(posix_getpwuid($stat['uid']));

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [name] => root
    [passwd] => x
    [uid] => 0
    [gid] => 0
    [gecos] => root
    [dir] => /root
    [shell] => /bin/bash
)

Anmerkungen

Hinweis: Diese Funktion kann nicht mit entfernten Dateien arbeiten, da der Zugriff auf die Datei, die bearbeitet werden soll, über das Dateisystem des Servers möglich sein muss.

Hinweis: Wenn Safe Mode aktiviert ist, überprüft PHP, ob die Dateien/Verzeichnisse, die mit dem Skript bearbeitet werden sollen, die gleiche UID (Eigentümer) haben wie das Skript selbst.

Siehe auch

  • chmod() - Ändert die Zugriffsrechte einer Datei
  • chgrp() - Wechselt die Gruppenzugehörigkeit einer Datei

chmod
clearstatcache
Dateisystem


Löscht den Status Cache

chown
copy
Dateisystem
PHP Manual

clearstatcache

(PHP 4, PHP 5, PHP 7)

clearstatcache — Löscht den Status Cache

Beschreibung

void clearstatcache ([ bool $clear_realpath_cache = false [, string $filename ]] )

Wenn Sie stat(), lstat() oder eine andere in der nachstehenden Liste der betroffenen Funktionen verwenden, speichert (cached) PHP die von diesen Funktionen zurückgeggebenen Informationen temporär, um eine bessere Performance zu bieten. In manchen Fällen könnten Sie jedoch wollen, dass diese zwischengespeicherten Informationen gelöscht werden. Wird z.B. die selbe Datei innerhalb eines Skriptes mehrmals geprüft und ist es wahrscheinlich, dass diese Datei während der Ausführung des Skriptes gelöscht oder verändert wird, könnten Sie sich dafür entscheiden, den Status Cache zu löschen. In solchen Fällen empfiehlt es sich, die von PHP zwischengespeicherten Informationen über eine Datei mittels clearstatcache() zu löschen.

Beachten sie auch, dass PHP Information über nicht existente Dateien nicht zwischenspeichert. Rufen sie daher file_exists() für eine Datei auf, die nicht existiert, gibt sie FALSE zurück, bis sie die Datei erzeugen. Erzeugen sie die Datei, wird sie TRUE zurückgeben, auch wenn sie danach die Datei löschen. unlink() leert den Zwischenspeicher jedoch automatisch.

Hinweis:

Diese Funktion speichert Informationen über bestimmte Dateinamen, weshalb Sie clearstatcache() nur aufrufen müssen, wenn Sie mehrere Operationen an dem selben Dateinamen durchführen, und die Informationen über genau diese Datei nicht gespeichert werden sollen.

Betroffene Funktionen sind stat(),
lstat(),
file_exists(),
is_writable(),
is_readable(),
is_executable(),
is_file(),
is_dir(),
is_link(),
filectime(),
fileatime(),
filemtime(),
fileinode(),
filegroup(),
fileowner(),
filesize(),
filetype() und
fileperms().

Parameter-Liste

clear_realpath_cache

Ob der realpath Zwischenspeicher geleert werden soll.

filename

Leere den realpath und den Stat Zwischenspeicher nur für einen bestimmten Dateinamen; wird nur genutzt, wenn clear_realpath_cache TRUE ist.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Changelog

Version | Beschreibung
5.3.0 | Added optional clear_realpath_cache and filename parameters.

Beispiele

Beispiel #1 clearstatcache() Beispiel

<?php
$file = 'output_log.txt';

function get_owner($file)
{
    $stat = stat($file);
    $user = posix_getpwuid($stat['uid']);
    return $user['name'];
}

$format = "UID @ %s: %s\n";

printf($format, date('r'), get_owner($file));

chown($file, 'ross');
printf($format, date('r'), get_owner($file));

clearstatcache();
printf($format, date('r'), get_owner($file));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

UID @ Sun, 12 Oct 2008 20:48:28 +0100: root
UID @ Sun, 12 Oct 2008 20:48:28 +0100: root
UID @ Sun, 12 Oct 2008 20:48:28 +0100: ross

chown
copy
Dateisystem


Kopiert eine Datei

clearstatcache
delete
Dateisystem
PHP Manual

copy

(PHP 4, PHP 5, PHP 7)

copy — Kopiert eine Datei

Beschreibung

bool copy ( string $source , string $dest [, resource $context ] )

Kopiert Datei source nach dest.

Wenn sie eine Datei verschieben möchten, nutzen sie die rename() Funktion.

Parameter-Liste

source

Pfad zu der Quelldatei.

dest

Der Zielpfad. Wenn dest ein URL ist, kann der Kopiervorgang fehlschlagen, wenn der Wrapper nicht das Überschreiben existierender Dateien unterstützt.

Warnung

Wenn die Zieldatei schon existiert, wird sie überschrieben.

context

Eine gültige Context Ressource, die mit stream_context_create() erzeugt wurde.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.3.4 | Der context Parameter wurde geändert, so dass er nun auch wirkt. Zuvor wurde jeglicher context ignoriert.
5.3.0 | Context Ünterstützung wurde hinzugefügt.
4.3.0 | Sowohl source als auch dest können nun URLs sein, wenn die "fopen wrappers" aktiviert wurden. Siehe fopen() für weitere Einzelheiten.

Beispiele

Beispiel #1 copy() Beispiel

<?php
$file = 'example.txt';
$newfile = 'example.txt.bak';

if (!copy($file, $newfile)) {
    echo "copy $file schlug fehl...\n";
}
?>

Siehe auch

  • move_uploaded_file() - Verschiebt eine hochgeladene Datei an einen neuen Ort
  • rename() - Benennt eine Datei oder ein Verzeichnis um
  • Der Abschnitt des Handbuches über den Umgang mit Datei Uploads.

clearstatcache
delete
Dateisystem


Siehe unlink oder unset

copy
dirname
Dateisystem
PHP Manual

delete

delete — Siehe unlink() oder unset()

Beschreibung

Dies ist ein "Dummy-Handbuch-Eintrag" für diejenigen, die nach einer Funktion wie unlink() oder unset() an der falschen Stelle suchen.

Siehe auch

  • unlink() - Löscht eine Datei
  • unset() - Löschen einer angegebenen Variablen

copy
dirname
Dateisystem


Gibt den Pfad des übergeordneten Verzeichnisses zurück

delete
disk_free_space
Dateisystem
PHP Manual

dirname

(PHP 4, PHP 5, PHP 7)

dirname — Gibt den Pfad des übergeordneten Verzeichnisses zurück

Beschreibung

string dirname ( string $path [, int $levels = 1 ] )

Aus einer übergebenen Zeichenkette, die den Pfad zu einer Datei oder einem Verzeichnis enthält, gibt diese Funktion den Pfad des Verzeichnisses zurück, welches levels Ebenen über dem angegebenen liegt.

Parameter-Liste

path

Ein Pfad.

Unter Windows wird sowohl der Slash (/) als auch der Backslash (\) als Trennzeichen bei Pfadangaben benutzt. Unter anderen Betriebssystemen hingegen nur der Slash (/).

levels

Die Anzahl an übergeordneten Ebenen

Dies muss eine Zahl größer 0 sein.

Rückgabewerte

Gibt den Pfad eines übergeordneten Verzeichnisses zurück. Sind keine Pfadtrenner in path, wird ein Punkt ('.') zurückgegeben, das aktuelle Verzeichnis kennzeichnend. Ansonsten ist die zurückgegebene Zeichenkette der path mit dem abschließenden /component entfernt.

Changelog

Version | Beschreibung
7.0.0 | Der optionale Parameter levels wurde hinzugefügt.
5.0.0 | dirname() ist nun "binary safe".

Beispiele

Beispiel #1 dirname() Beispiel

<?php
echo dirname("/etc/passwd") . PHP_EOL;
echo dirname("/etc/") . PHP_EOL;
echo dirname(".") . PHP_EOL;
echo dirname("C:\\") . PHP_EOL;
echo dirname("/usr/local/lib", 2);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

/etc
/ (or \ on Windows)
.
C:\
/usr

Anmerkungen

Hinweis:

dirname() arbeitet nur mit der Eingabe Zeichenkette und beachtet nicht das eigentliche Dateisystem oder Pfadbestandteile wie etwa "..".

Hinweis:

dirname() beachtet die Spracheinstellungen (locale); soll sie daher die korrekte Namensbasis in Pfaden mit einem Mehrbytezeichensatz erkennen, muss die passende Spracheinstellung (locale) mit der setlocale() Funktion gesetzt werden.

Siehe auch

  • basename() - Gibt letzten Namensteil einer Pfadangabe zurück
  • pathinfo() - Liefert Informationen über einen Dateipfad
  • realpath() - Löst einen Pfad in einen absoluten und eindeutigen auf

delete
disk_free_space
Dateisystem


Gibt verfügbaren Platz auf Dateisystem oder Partition zurück

dirname
disk_total_space
Dateisystem
PHP Manual

disk_free_space

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

disk_free_space — Gibt verfügbaren Platz auf Dateisystem oder Partition zurück

Beschreibung

float disk_free_space ( string $directory )

Wird eine Zeichenkette, die einen Verzeichnispfad enthält übergeben, wird diese Funktion, die Anzahl verfügbarer (freier) Bytes auf dem entsprechenden Dateisystem oder der Platten-Partition zurückgeben.

Parameter-Liste

directory

Ein Verzeichnis des Dateisystemes oder der Platten-Partition.

Hinweis:

Wird ein Dateiname anstatt eines Verzeichnisses übergeben, ist das Verhalten der Funktion unspezifiziert und kann sich zwischen Betriebssystemen und PHP Versionen unerscheiden.

Rückgabewerte

Gibt der die Anzahl der freien Bytes als Gleitkommazahl (float) zurück. Im Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 disk_free_space() Beispiel

<?php
// $df enthält die Anzahl freier Bytes auf "/"
$df = disk_free_space("/");

// Unter Windows:
$df_c = disk_free_space("C:");
$df_d = disk_free_space("D:");
?>

Anmerkungen

Hinweis: Diese Funktion kann nicht mit entfernten Dateien arbeiten, da der Zugriff auf die Datei, die bearbeitet werden soll, über das Dateisystem des Servers möglich sein muss.

Siehe auch

  • disk_total_space() - Gibt die Gesamtgröße eines Dateisystemes oder einer Partition zurück

dirname
disk_total_space
Dateisystem


Gibt die Gesamtgröße eines Dateisystemes oder einer Partition zurück

disk_free_space
diskfreespace
Dateisystem
PHP Manual

disk_total_space

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

disk_total_space — Gibt die Gesamtgröße eines Dateisystemes oder einer Partition zurück

Beschreibung

float disk_total_space ( string $directory )

Wird eine Zeichenkette, die einen Verzeichnispfad enthält übergeben, wird diese Funktion, die Gesamtanzahl Bytes auf dem entsprechenden Dateisystem oder der Platten-Partition zurückgeben.

Parameter-Liste

directory

Ein Verzeichnis des Dateisystemes oder der Platten-Partition.

Rückgabewerte

Gibt die Gesamtanzahl Bytes als Gleitkommazahl (float) zurück. Im Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 disk_total_space() Beispiel

<?php
// $ds enthält die Gesamtanzahl verfügbarer Bytes auf "/"
$ds = disk_total_space("/");

// On Windows:
$ds = disk_total_space("C:");
$ds = disk_total_space("D:");
?>

Anmerkungen

Hinweis: Diese Funktion kann nicht mit entfernten Dateien arbeiten, da der Zugriff auf die Datei, die bearbeitet werden soll, über das Dateisystem des Servers möglich sein muss.

Siehe auch

  • disk_free_space() - Gibt verfügbaren Platz auf Dateisystem oder Partition zurück

disk_free_space
diskfreespace
Dateisystem


Alias von disk_free_space

disk_total_space
fclose
Dateisystem
PHP Manual

diskfreespace

(PHP 4, PHP 5, PHP 7)

diskfreespace — Alias von disk_free_space()

Beschreibung

Diese Funktion ist ein Alias für: disk_free_space().

disk_total_space
fclose
Dateisystem


Schließt einen offenen Dateizeiger

diskfreespace
feof
Dateisystem
PHP Manual

fclose

(PHP 4, PHP 5, PHP 7)

fclose — Schließt einen offenen Dateizeiger

Beschreibung

bool fclose ( resource $handle )

Die Datei, auf die handle zeigt, wird geschlossen.

Parameter-Liste

handle

Der Datei-Zeiger muss gültig sein, d.h. die Datei, auf die gezeigt wird muss zuvor mit fopen() oder fsockopen() geöffnet worden sein.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Ein einfaches fclose() Beispiel

<?php

$handle = fopen('somefile.txt', 'r');

fclose($handle);

?>

Siehe auch

  • fopen() - Öffnet eine Datei oder URL
  • fsockopen() - Stellt eine Internet- oder Unix-Domain-Socket-Verbindung her

diskfreespace
feof
Dateisystem


Prüft, ob ein Dateizeiger am Ende der Datei steht

fclose
fflush
Dateisystem
PHP Manual

feof

(PHP 4, PHP 5, PHP 7)

feof — Prüft, ob ein Dateizeiger am Ende der Datei steht

Beschreibung

bool feof ( resource $handle )

Prüft, ob ein Dateizeiger am Ende der Datei steht.

Parameter-Liste

handle

Der Zeiger auf eine Datei muss gültig sein und auf eine Datei verweisen, die vorher erfolgreich mit fopen() oder fsockopen() geöffnet (und nicht bereits von fclose() geschlossen) wurde.

Rückgabewerte

Gibt TRUE zurück, wenn der Dateizeiger an EOF (Dateiende) steht oder ein Fehler auftritt (inklusive Socket Zeitüberschreitung); ansonsten wird FALSE zurückgegeben.

Anmerkungen

Warnung

Wenn eine mit fsockopen() geöffnete Verbindung nicht durch den Server geschlossen wurde, wird feof() hängen. Um dies zu umgehen, beachten sie folgendes Beispiel:

Beispiel #1 Zeitüberschreitungen mit feof() abhandeln

<?php
function safe_feof($fp, &$start = NULL) {
 $start = microtime(true);

 return feof($fp);
}

/* Annahme: $fp wurde zuvor mit fsockopen() geöffnet */

$start = NULL;
$timeout = ini_get('default_socket_timeout');

while(!safe_feof($fp, $start) && (microtime(true) - $start) < $timeout)
{
 /* Abhandeln */
}
?>

Warnung

Wenn der übergebene Dateizeiger nicht gültig ist, können sie eine Endlosschleife erhalten, denn feof() gibt nicht TRUE zurück.

Beispiel #2 feof() Beispiel mit einem ungültigen Dateizeiger

<?php
// Wenn Datei nicht gelsen werden kann oder nicht existiert fopen gibt FALSE zurück
$file = @fopen("no_such_file", "r");

// FALSE von fopen wird eine Warnung  auslösen und hier in einer
// Endlosschleife resultieren
while (!feof($file)) {
}

fclose($file);
?>

fclose
fflush
Dateisystem


Schreibt den Ausgabepuffer in eine Datei

feof
fgetc
Dateisystem
PHP Manual

fflush

(PHP 4 >= 4.0.1, PHP 5, PHP 7)

fflush — Schreibt den Ausgabepuffer in eine Datei

Beschreibung

bool fflush ( resource $handle )

Diese Funktion erzwingt das Schreiben des gesamten Ausgabepuffers in die von dem Dateizeiger handle angegebene Datei.

Parameter-Liste

handle

Der Zeiger auf eine Datei muss gültig sein und auf eine Datei verweisen, die vorher erfolgreich mit fopen() oder fsockopen() geöffnet (und nicht bereits von fclose() geschlossen) wurde.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 File write example using fflush()

<?php
$filename = 'bar.txt';

$file = fopen($filename, 'r+');
rewind($file);
fwrite($file, 'Foo');
fflush($file);
ftruncate($file, ftell($file));
fclose($file);
?>

Siehe auch

  • clearstatcache() - Löscht den Status Cache
  • fwrite() - Binär-sicheres Dateischreiben

feof
fgetc
Dateisystem


Liest das Zeichen, auf welches der Dateizeiger zeigt

fflush
fgetcsv
Dateisystem
PHP Manual

fgetc

(PHP 4, PHP 5, PHP 7)

fgetc — Liest das Zeichen, auf welches der Dateizeiger zeigt

Beschreibung

string fgetc ( resource $handle )

Liest ein Zeichen von dem übergebenen Dateizeiger.

Parameter-Liste

handle

Der Zeiger auf eine Datei muss gültig sein und auf eine Datei verweisen, die vorher erfolgreich mit fopen() oder fsockopen() geöffnet (und nicht bereits von fclose() geschlossen) wurde.

Rückgabewerte

Gibt einen String zurück, welcher ein einzelnes Zeichen von der aktuellen Position des Dateizeigers handle enthält. Gibt FALSE zurück, wenn der Dateizeiger am Ende der Datei steht (EOF).

Warnung

Diese Funktion kann sowohl das boolsche FALSE zurückliefern, als auch einen nicht-boolschen Wert, welcher zu FALSE ausgewertet wird. Weitere Informationen entnehmen Sie bitte dem Abschnitt über die boolschen Typen. Benutzen Sie deshalb den === Operator, um den Rückgabewert dieser Funktion zu überprüfen.

Beispiele

Beispiel #1 Ein fgetc() Beispiel

<?php
$fp = fopen('somefile.txt', 'r');
if (!$fp) {
    echo 'Konnte Datei somefile.txt nicht öffnen';
}
while (false !== ($char = fgetc($fp))) {
    echo "$char\n";
}
?>

Anmerkungen

Hinweis: Diese Funktion ist binary safe.

Siehe auch

  • fread() - Liest Binärdaten aus einer Datei
  • fopen() - Öffnet eine Datei oder URL
  • popen() - Öffnet einen Prozesszeiger
  • fsockopen() - Stellt eine Internet- oder Unix-Domain-Socket-Verbindung her
  • fgets() - Liest eine Zeile von der Position des Dateizeigers

fflush
fgetcsv
Dateisystem


Liest eine Zeile von der Position des Dateizeigers und prüft diese auf Komma-Separierte-Werte (CSV)

fgetc
fgets
Dateisystem
PHP Manual

fgetcsv

(PHP 4, PHP 5, PHP 7)

fgetcsv — Liest eine Zeile von der Position des Dateizeigers und prüft diese auf Komma-Separierte-Werte (CSV)

Beschreibung

array fgetcsv ( resource $handle [, int $length = 0 [, string $delimiter = "," [, string $enclosure = '"' [, string $escape = "\" ]]]] )

Die Funktion fgetcsv() ist ähnlich der Funktion fgets(), nur dass fgetcsv() die eingelesene Zeile auf Felder im CSV Format (kommaseparierte Felder) hin überprüft, und ein Array mit den gelesenen Feldern zurückgibt.

Parameter-Liste

handle

Ein gültiger Dateizeiger auf eine Datei, die zuvor mit fopen(), popen() oder fsockopen() geöffnet wurde.

length

Muss größer als die längste Zeile (in Zeichen), die in der CSV Datei vorhanden ist, sein (dies erlaubt die Erkennung abschließender Zeilenende Zeichen). Andernfalls wird die Zeile in Blöcke von length Zeichen aufgeteilt, es sei denn, die Aufteilung würde innerhalb einer Feldbegrenzung erfolgen.

Wird dieser Paramter ausgelassen (oder in PHP 5.1.0 und später auf 0 gesetzt), ist die maximale Zeilenlänge nicht begrenzt, was ein wenig langsamer ist.

delimiter

Der optionale Parameter delimiter setzt das Feld-Trennzeichen (nur ein Zeichen).

enclosure

Der optionale Parameter enclosure setzt das Feld-Begrenzungs Zeichen (nur ein Zeichen).

escape

Der optionale Parameter escape setzt das Maskierungs-Zeichen (nur ein Zeichen).

Rückgabewerte

Gibt ein numerisch indexiertes Array zurück, das die gelesenen Felder enthält.

Hinweis:

Ein leere Zeile in einer CSV Datei wird als ein Array zurückgegeben, das ein einzelnes null Feld enthält und wird nicht als Fehler behandelt.

Hinweis: Wenn Sie Probleme damit haben, dass PHP Zeilenendezeichen nicht erkennt, entweder beim Lesen von Dateien auf einem Macintosh oder bei Dateien, die auf einem Macintosh erstellt wurden, können Sie die Option auto_detect_line_endings aktivieren.

fgetcsv() gibt NULL zurück, wenn ein ungültiger handle übergeben wurde oder FALSE bei anderen Fehlern einschließlich Dateiende.

Changelog

Version | Beschreibung
5.3.0 | Der escape Parameter wurde ergänzt
5.1.0 | Der Parameter length ist nun optional. Standard ist 0, d.h. keine Längenbeschränkung.
4.3.5 | fgetcsv() ist nun "binary safe"

Beispiele

Beispiel #1 Lies und gib den gesamten Inhalt einer CSV Datei aus

<?php
$row = 1;
if (($handle = fopen("test.csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $num = count($data);
        echo "<p> $num Felder in Zeile $row: <br /></p>\n";
        $row++;
        for ($c=0; $c < $num; $c++) {
            echo $data[$c] . "<br />\n";
        }
    }
    fclose($handle);
}
?>

Anmerkungen

Hinweis:

Die Spracheinstellung (locale) wird von dieser Funktion beachtet. Wenn LANG z.B. den Wert en_US.UTF-8 hat, werden Dateien in Ein-byte-Kodierung von dieser Funktion falsch gelesen.

Siehe auch

  • str_getcsv() - Parst einen CSV-String in ein Array
  • explode() - Teilt einen String anhand einer Zeichenkette
  • file() - Liest eine komplette Datei in ein Array
  • pack() - Packt Daten in eine Binär-Zeichenkette
  • fputcsv() - Format line as CSV and write to file pointer

fgetc
fgets
Dateisystem


Liest eine Zeile von der Position des Dateizeigers

fgetcsv
fgetss
Dateisystem
PHP Manual

fgets

(PHP 4, PHP 5, PHP 7)

fgets — Liest eine Zeile von der Position des Dateizeigers

Beschreibung

string fgets ( resource $handle [, int $length ] )

Liest eine Zeile von der Position des Dateizeigers.

Parameter-Liste

handle

Der Zeiger auf eine Datei muss gültig sein und auf eine Datei verweisen, die vorher erfolgreich mit fopen() oder fsockopen() geöffnet (und nicht bereits von fclose() geschlossen) wurde.

length

Lesen endet, wenn length - 1 bytes gelesen wurden, bei einem Zeilenumbruch (der im Rückgabewert enthalten ist) oder bei Dateiende (EOF) (was immer zuerst kommt). Wurde keine Länge übergeben wird aus dem Stream gelesen, bis das Zeilenende erreicht wird.

Hinweis:

Bis PHP 4.3.0, ergab ein Auslassen des Parameters eine Zeilenlänge von 1024. Wenn die Mehrzahl der Zeilen in der Datei größer als 8KB sind, ist es für ihr Skript effizienter die maximale Zeilenlänge anzugeben.

Rückgabewerte

Gibt eine Zeichenkette zurück, die bis zu length - 1 Bytes lang ist, die aus der Datei gelesen wurde, auf die handle zeigt. Wenn keine Daten mehr aus dem Dateizeiger zu lesen sind, wird FALSE zurückgegeben.

Wenn ein Fehler auftritt, wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
4.3.0 | fgets() ist nun "binary safe"

Beispiele

Beispiel #1 Eine Datei Zeile für Zeile lesen

<?php
$handle = @fopen("/tmp/inputfile.txt", "r");
if ($handle) {
    while (($buffer = fgets($handle, 4096)) !== false) {
        echo $buffer;
    }
    if (!feof($handle)) {
        echo "Fehler: unerwarteter fgets() Fehlschlag\n";
    }
    fclose($handle);
}
?>

Anmerkungen

Hinweis: Wenn Sie Probleme damit haben, dass PHP Zeilenendezeichen nicht erkennt, entweder beim Lesen von Dateien auf einem Macintosh oder bei Dateien, die auf einem Macintosh erstellt wurden, können Sie die Option auto_detect_line_endings aktivieren.

Hinweis:

Alle, die die 'C' Semantik von fgets() gewohnt sind, sollten den Unterschied beachten, wie das Dateiendezeichen (EOF) zurückgegeben wird.

Siehe auch

  • fgetss() - Liest eine Zeile von der Position des Dateizeigers und entfernt HTML Tags.
  • fread() - Liest Binärdaten aus einer Datei
  • fgetc() - Liest das Zeichen, auf welches der Dateizeiger zeigt
  • stream_get_line() - Gets line from stream resource up to a given delimiter
  • fopen() - Öffnet eine Datei oder URL
  • popen() - Öffnet einen Prozesszeiger
  • fsockopen() - Stellt eine Internet- oder Unix-Domain-Socket-Verbindung her
  • stream_set_timeout() - Set timeout period on a stream

fgetcsv
fgetss
Dateisystem


Liest eine Zeile von der Position des Dateizeigers und entfernt HTML Tags.

fgets
file_exists
Dateisystem
PHP Manual

fgetss

(PHP 4, PHP 5, PHP 7)

fgetss — Liest eine Zeile von der Position des Dateizeigers und entfernt HTML Tags.

Beschreibung

string fgetss ( resource $handle [, int $length [, string $allowable_tags ]] )

Diese Funktion ist identisch mit der Funktion fgets(), außer dass fgetss() versucht, vorhandene NUL-Bytes sowie HTML und PHP-Tags aus dem gelesenen Text zu entfernen.

Parameter-Liste

handle

Der Zeiger auf eine Datei muss gültig sein und auf eine Datei verweisen, die vorher erfolgreich mit fopen() oder fsockopen() geöffnet (und nicht bereits von fclose() geschlossen) wurde.

length

Länge der zu lesende Eingabe.

allowable_tags

Über den optionalen dritten Parameter können Tags angegeben werden die nicht entfernt werden sollen. Siehe strip_tags() zu Details bezüglich allowable_tags.

Rückgabewerte

Returns a string of up to length - 1 bytes read from the file pointed to by handle, with all HTML and PHP code striped.

Falls ein Fehler auftritt wird FALSE zurückgegeben.

Beispiel #1 Reading a PHP file line-by-line

<?php
$str = <<<EOD
<html><body>
 <p>Welcome! Today is the <?php echo(date('jS')); ?> of <?= date('F'); ?>.</p>
</body></html>
Text outside of the HTML block.
EOD;
file_put_contents('sample.php', $str);

$handle = @fopen("sample.php", "r");
if ($handle) {
  while (!feof($handle)) {
    $buffer = fgetss($handle, 4096);
    echo $buffer;
  }
  fclose($handle);
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Welcome! Today is the of .

Text outside of the HTML block.

Anmerkungen

Hinweis: Wenn Sie Probleme damit haben, dass PHP Zeilenendezeichen nicht erkennt, entweder beim Lesen von Dateien auf einem Macintosh oder bei Dateien, die auf einem Macintosh erstellt wurden, können Sie die Option auto_detect_line_endings aktivieren.

Siehe auch

  • fgets() - Liest eine Zeile von der Position des Dateizeigers
  • fopen() - Öffnet eine Datei oder URL
  • popen() - Öffnet einen Prozesszeiger
  • fsockopen() - Stellt eine Internet- oder Unix-Domain-Socket-Verbindung her
  • strip_tags() - Entfernt HTML- und PHP-Tags aus einem String

fgets
file_exists
Dateisystem


Prüft, ob eine Datei oder ein Verzeichnis existiert

fgetss
file_get_contents
Dateisystem
PHP Manual

file_exists

(PHP 4, PHP 5, PHP 7)

file_exists — Prüft, ob eine Datei oder ein Verzeichnis existiert

Beschreibung

bool file_exists ( string $filename )

Prüft, ob eine Datei oder ein Verzeichnis existiert.

Parameter-Liste

filename

Pfad zu der Datei oder dem Verzeichnis

Zum Prüfen von Dateien auf Windows network shares verwenden Sie bitte //computername/share/filename oder \\computername\share\filename.

Rückgabewerte

Gibt TRUE zurück, wenn die Datei oder das Verzeichnis, die durch filename spezifiziert sind, existieren; ansonsten FALSE.

Hinweis:

Diese Funktion gibt FALSE für symbolische Links zurück, die auf nicht existierende Dateien verweisen.

Warnung

Diese Funktion gibt FALSE für Dateien zurück, die wegensafe mode Einschränkungen nicht zugänglich sind. Diese Dateien können jedoch trotzdem mitincluded inkludiert werden, wenn sie in safe_mode_include_dir. gespeichert sind.

Hinweis:

Die Prüfung wird mit der realen UID/GID anstelle der effektiven durchgeführt.

Hinweis: Weil PHPs Integer Typ vorzeichenbehaftet ist und viele Platformen 32bit Integer verwenden, können einige Dateisystem-Funktionen für Dateien größer als 2GB unerwartete Ergebnisse liefern.

Beispiele

Beispiel #1 Prüfung, ob eine Datei existiert

<?php
$filename = '/path/to/foo.txt';

if (file_exists($filename)) {
    echo "Die Datei $filename existiert";
} else {
    echo "Die Datei $filename existiert nicht";
}
?>

Fehler/Exceptions

Im Fehlerfall wird eine E_WARNING ausgegeben.

Anmerkungen

Hinweis: Die Ergebnisse dieser Funktion werden gecached. Weitere Details erhalten Sie bei clearstatcache().

Tipp

Seit PHP 5.0.0 kann diese Funktion mit einigen URL-Wrappern benutzt werden. Schauen Sie in der Liste unter Unterstützte Protokolle und Wrapper nach, welcher Wrapper die Funktionalität von stat() unterstützt.

Siehe auch

  • is_readable() - Prüft, ob eine Datei existiert und lesbar ist
  • is_writable() - Prüft, ob in eine Datei geschrieben werden kann
  • is_file() - Prüft, ob der Dateiname eine reguläre Datei ist
  • file() - Liest eine komplette Datei in ein Array

fgetss
file_get_contents
Dateisystem


Liest die gesamte Datei in einen String

file_exists
file_put_contents
Dateisystem
PHP Manual

file_get_contents

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

file_get_contents — Liest die gesamte Datei in einen String

Beschreibung

string file_get_contents ( string $filename [, bool $use_include_path = false [, resource $context [, int $offset = 0 [, int $maxlen ]]]] )

Diese Funktion ist mit file() identisch, außer dass file_get_contents() die Datei in einem String zurückgibt, beginnend am angebenen offset über bis zu maxlen Bytes. Im Fehlerfall gibt file_get_contents() FALSE zurück.

file_get_contents() ist der empfohlene Weg, um den Inhalt einer Datei in einen String zu lesen. Es werden Techniken zur Speicherabbildung genutzt, um die Performance zu erhöhen, falls das Betriebssystem dies unterstützt.

Hinweis:

Falls Sie einen URI mit speziellen Zeichen, wie z.B. Leerzeichen, öffnen, müssen Sie den URI mittels urlencode() enkodieren.

Parameter-Liste

filename

Name der zu lesenden Datei.

use_include_path

Hinweis:

Seit PHP 5 kann die Konstante FILE_USE_INCLUDE_PATH genutzt werden, um eine Suche im include path auszulösen.

context

Eine gültige Context-Ressource, die mit stream_context_create() erstellt wurde. Falls Sie keinen eigenen Context benötigen, können Sie diesen Parameter mit NULL überspringen.

offset

Die Position, an der das Lesen im Originalstream beginnt. Negative Offsets zählen vom Ende des Streams an.

Das Springen an bestimmte Positionen (offset) wird nicht für entfernte Dateien unterstützt. Für kleine Offsets kann der Sprung funktionieren, allerdings ist dies nicht vorhersagbar, weil hierbei auf dem gepufferten Stream gearbeitet wird.

maxlen

Maximale Länge der zu lesenden Daten. Standardmäßig wird solange gelesen bis das Ende der Datei erreicht wird. Beachten Sie, dass dieser Parameter auf den Stream angewendet wird, der durch die Filter verarbeitet wird.

Rückgabewerte

Die Funktion gibt die gelesenen Daten zurück. Im Fehlerfall wird FALSE zurückgegeben.

Warnung

Diese Funktion kann sowohl das boolsche FALSE zurückliefern, als auch einen nicht-boolschen Wert, welcher zu FALSE ausgewertet wird. Weitere Informationen entnehmen Sie bitte dem Abschnitt über die boolschen Typen. Benutzen Sie deshalb den === Operator, um den Rückgabewert dieser Funktion zu überprüfen.

Fehler/Exceptions

Ein Fehler der Stufe E_WARNING wird generiert, wenn filename nicht gefunden werden kann, maxlength kleiner als Null ist oder wenn das Aufsuchen des angegebenen offset im Streams fehlschlägt.

Beispiele

Beispiel #1 Holen und Ausgeben des Quelltextes der Startseite einer Webseite

<?php
$homepage = file_get_contents('http://www.example.com/');
echo $homepage;
?>

Beispiel #2 Suche im include_path

<?php
// <= PHP 5
$file = file_get_contents('./leute.txt', true);
// > PHP 5
$file = file_get_contents('./leute.txt', FILE_USE_INCLUDE_PATH);
?>

Beispiel #3 Lesen einen Abschnitts einer Datei

<?php
// Lese 14 Zeichen, beginnend mit dem 21. Zeichen
$section = file_get_contents('./leute.txt', NULL, NULL, 20, 14);
var_dump($section);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(14) "lle Bjori Ro"

Beispiel #4 Nutzung von Stream-Contexten

<?php
// Erzeugen eines Streams
$opts = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: en\r\n" .
              "Cookie: foo=bar\r\n"
  )
);

$context = stream_context_create($opts);

// Öffnen der Datei mit den oben definierten HTTP-Headern
$file = file_get_contents('http://www.example.com/', false, $context);
?>

Changelog

Version | Beschreibung
7.1.0 | Unterstützung für negative offsets wurde hinzugefügt.
5.1.0 | Die offset- und maxlen-Parameter wurden hinzugefügt.

Anmerkungen

Hinweis: Diese Funktion ist binary safe.

Tipp

Mit dieser Funktion können Sie eine URL als Dateinamen verwenden, falls Sie fopen wrappers ermöglicht haben. Mehr Details dazu, wie Sie den Dateinamen angeben müssen finden Sie bei fopen(). Eine Liste der unterstützten URL Protokolle, die Fähigkeiten der verschiedenen Wrapper, Hinweise zu deren Verwendung und Informationen zu den eventuell vorhandenen vordefinierten Variablen finden Sie unter Unterstützte Protokolle und Wrapper.

Warnung

Bei SSL-Verbindungen zusammen mit Microsoft IIS hält sich dieser Webserver nicht an das Protokoll und schließt die Verbindung ohne ein close_notify zu senden. PHP quittiert dieses Fehlverhalten mit "SSL: Fatal Protocol Error", wenn das Ende der Daten erreicht ist. Eine mögliche Lösung besteht darin, den Level von error_reporting herabzusetzten und Warnings auszuschließen. PHP kann fehlerhafte IIS-Serversoftware erkennen, wenn Sie einen Stream mit dem https://-Wrapper öffnen, und unterdrückt die Warnung für Sie. Falls Sie fsockopen() benutzen, um einen ssl://-Socket zu öffnen, müssen Sie selbst dafür Sorge tragen, die Warnung zu erkennen und diese zu unterdrücken.

Siehe auch

  • file() - Liest eine komplette Datei in ein Array
  • fgets() - Liest eine Zeile von der Position des Dateizeigers
  • fread() - Liest Binärdaten aus einer Datei
  • readfile() - Gibt eine Datei aus
  • file_put_contents() - Schreibt einen String in eine Datei
  • stream_get_contents() - Reads remainder of a stream into a string
  • stream_context_create() - Creates a stream context
  • $http_response_header

file_exists
file_put_contents
Dateisystem


Schreibt einen String in eine Datei

file_get_contents
file
Dateisystem
PHP Manual

file_put_contents

(PHP 5, PHP 7)

file_put_contents — Schreibt einen String in eine Datei

Beschreibung

int file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] )

Diese Funktion entspricht fopen(), fwrite() und fclose(), um Daten in eine Datei zu schreiben.

Wenn filename nicht existiert, wird die Datei erstellt. Sonst wird die existierende Datei überschrieben, es sei denn FILE_APPEND ist gesetzt.

Parameter-Liste

filename

Pfad zur Datei in die die Daten geschrieben werden sollen.

data

Die zu schreibenden Daten. Kann entweder string, oder array sowie stream sein.

Wenn data eine stream-Quelle ist, wird der verbleibende Puffer des Streams in die festgegte Datei kopiert. Dies ähnelt der Funktion stream_copy_to_stream().

Sie können auch den Parameter data als eindimensionales Array angeben. Dies ist äquivalent zu file_put_contents($filename, implode('', $array)).

flags

Der Wert von flags kann eine Kombination der folgenden Flags sein, verbunden mit dem binären OR(|) -Operator.

verfügbare Flags
Flag | Beschreibung
FILE_USE_INCLUDE_PATH | Sucht nach filename im enthaltenen Verzeichnis. Siehe include_path für mehr Information.
FILE_APPEND | Falls die Datei filename bereits existiert, füge die Daten an die Datei an anstatt diese zu überschreiben.
LOCK_EX | Erwirbt exklusive Schreibrechte auf die Datei während mit dem Schreiben fortgefahren wird. Anders ausgedrückt erfolgt ein flock() Aufruf zwischen dem fopen() Aufruf und dem fwrite() Aufruf. Das ist nicht das gleiche wie ein fopen() Aufruf mit Modus "x".

context

Eine gültige Kontakt-Ressource erstellt mit der Funktion stream_context_create().

Rückgabewerte

Diese Funktion gibt die Anzahl der geschriebenen Bytes oder FALSE bei einem Fehler zurück.

Warnung

Diese Funktion kann sowohl das boolsche FALSE zurückliefern, als auch einen nicht-boolschen Wert, welcher zu FALSE ausgewertet wird. Weitere Informationen entnehmen Sie bitte dem Abschnitt über die boolschen Typen. Benutzen Sie deshalb den === Operator, um den Rückgabewert dieser Funktion zu überprüfen.

Beispiele

Beispiel #1 Einfaches Verwendungsbeispiel

<?php
$file = 'people.txt';
// Öffnet die Datei, um den vorhandenen Inhalt zu laden
$current = file_get_contents($file);
// Fügt eine neue Person zur Datei hinzu
$current .= "John Smith\n";
// Schreibt den Inhalt in die Datei zurück
file_put_contents($file, $current);
?>

Beispiel #2 Verwendung der Flags

<?php
$file = 'people.txt';
//Die neue Person, die zur Datei hinzugefügt werden soll
$person = "John Smith\n";
// Schreibt den Inhalt in die Datei
// unter Verwendung des Flags FILE_APPEND, um den Inhalt an das Ende der Datei anzufügen
// und das Flag LOCK_EX, um ein Schreiben in die selbe Datei zur gleichen Zeit zu verhindern
file_put_contents($file, $person, FILE_APPEND | LOCK_EX);
?>

Changelog

Version | Beschreibung
5.1.0 | Unterstützung für LOCK_EX hinzugefügt und die Möglichkeit,eine Stream-Quelle als data-Parameter zu übergeben

Anmerkungen

Hinweis: Diese Funktion ist binary safe.

Tipp

Mit dieser Funktion können Sie eine URL als Dateinamen verwenden, falls Sie fopen wrappers ermöglicht haben. Mehr Details dazu, wie Sie den Dateinamen angeben müssen finden Sie bei fopen(). Eine Liste der unterstützten URL Protokolle, die Fähigkeiten der verschiedenen Wrapper, Hinweise zu deren Verwendung und Informationen zu den eventuell vorhandenen vordefinierten Variablen finden Sie unter Unterstützte Protokolle und Wrapper.

Siehe auch

  • fopen() - Öffnet eine Datei oder URL
  • fwrite() - Binär-sicheres Dateischreiben
  • file_get_contents() - Liest die gesamte Datei in einen String
  • stream_context_create() - Creates a stream context

file_get_contents
file
Dateisystem


Liest eine komplette Datei in ein Array

file_put_contents
fileatime
Dateisystem
PHP Manual

file

(PHP 4, PHP 5, PHP 7)

file — Liest eine komplette Datei in ein Array

Beschreibung

array file ( string $filename [, int $flags = 0 [, resource $context ]] )

Liest eine komplette Datei in ein Array

Hinweis:

Sie können file_get_contents() benutzen, um den Inhalt einer Datei als String zurückgeliefert zu bekommen.

Parameter-Liste

filename

Pfad zur Datei.

Tipp

Mit dieser Funktion können Sie eine URL als Dateinamen verwenden, falls Sie fopen wrappers ermöglicht haben. Mehr Details dazu, wie Sie den Dateinamen angeben müssen finden Sie bei fopen(). Eine Liste der unterstützten URL Protokolle, die Fähigkeiten der verschiedenen Wrapper, Hinweise zu deren Verwendung und Informationen zu den eventuell vorhandenen vordefinierten Variablen finden Sie unter Unterstützte Protokolle und Wrapper.

flags

Der optionale Parameter flags kann aus einer oder mehreren der folgenden Konstanten bestehen:

FILE_USE_INCLUDE_PATH
Suche nach der Datei im include_path
FILE_IGNORE_NEW_LINES
Zeilenende nicht am Ende jedes Array-Elements einfügen
FILE_SKIP_EMPTY_LINES
Leere Zeilen überspringen

context

Eine Context-Ressource, die mit der stream_context_create()-Funktion erstellt wurde.

Hinweis: Die Kontext-Unterstützung gibt es seit PHP 5.0.0. Eine Beschreibung von Kontexten finden Sie unter Streams.

Rückgabewerte

Gibt die Datei in einem Array zurück. Jedes Element des Arrays entspricht einer Zeile in der Datei, ohne dass das Zeilenende entfernt wird. Im Fehlerfall gibt file() FALSE zurück.

Hinweis:

Jede Zeile in dem resultierenden Array enthält das Zeilenende, außer es wird FILE_IGNORE_NEW_LINES verwendet; daher müssen Sie trim() verwenden, falls das Zeilenende nicht vorhanden sein soll.

Hinweis: Wenn Sie Probleme damit haben, dass PHP Zeilenendezeichen nicht erkennt, entweder beim Lesen von Dateien auf einem Macintosh oder bei Dateien, die auf einem Macintosh erstellt wurden, können Sie die Option auto_detect_line_endings aktivieren.

Fehler/Exceptions

Erzeugt einen Fehler der Stufe E_WARNING, wenn die Datei nicht existiert.

Changelog

Version | Beschreibung
4.3.0 | file() wurde binär-sicher.

Beispiele

Beispiel #1 file()-Beispiel

<?php
// Liest eine Datei in ein Array. Hier gehen wir über HTTP, um den
// HTML-Quelltext einer URL zu bekommen
$lines = file('http://www.example.com/');

// Durchgehen des Arrays und Anzeigen des HTML-Quelltexts inkl. Zeilennummern
foreach ($lines as $line_num => $line) {
    echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br>\n";
}

// Ein weiteres Beispiel: Einlesen einer Webseite in einen String.
// Siehe auch file_get_contents().
$html = implode ('', file ('http://www.example.com/'));

// Benutzung des optionalen flags-Parameters seit PHP 5
$trimmed = file('somefile.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
?>

Anmerkungen

Warnung

Bei SSL-Verbindungen zusammen mit Microsoft IIS hält sich dieser Webserver nicht an das Protokoll und schließt die Verbindung ohne ein close_notify zu senden. PHP quittiert dieses Fehlverhalten mit "SSL: Fatal Protocol Error", wenn das Ende der Daten erreicht ist. Eine mögliche Lösung besteht darin, den Level von error_reporting herabzusetzten und Warnings auszuschließen. PHP kann fehlerhafte IIS-Serversoftware erkennen, wenn Sie einen Stream mit dem https://-Wrapper öffnen, und unterdrückt die Warnung für Sie. Falls Sie fsockopen() benutzen, um einen ssl://-Socket zu öffnen, müssen Sie selbst dafür Sorge tragen, die Warnung zu erkennen und diese zu unterdrücken.

Siehe auch

  • readfile() - Gibt eine Datei aus
  • fopen() - Öffnet eine Datei oder URL
  • fsockopen() - Stellt eine Internet- oder Unix-Domain-Socket-Verbindung her
  • popen() - Öffnet einen Prozesszeiger
  • file_get_contents() - Liest die gesamte Datei in einen String
  • include - include
  • stream_context_create() - Creates a stream context

file_put_contents
fileatime
Dateisystem


Liefert Datum und Uhrzeit des letzten Zugriffs auf eine Datei

file
filectime
Dateisystem
PHP Manual

fileatime

(PHP 4, PHP 5, PHP 7)

fileatime — Liefert Datum und Uhrzeit des letzten Zugriffs auf eine Datei

Beschreibung

int fileatime ( string $filename )

Liefert Datum und Uhrzeit des letzten Zugriffs auf die übergebene Datei

Parameter-Liste

filename

Pfad zu der Datei.

Rückgabewerte

Gibt Datum und Uhrzeit des letzten Zugriffs auf eine Datei zurück, Im Fehlerfall wird FALSE zurückgegeben.. Das Datum wird als UNIX-Timestamp zurückgegeben.

Beispiele

Beispiel #1 fileatime() Beispiel

<?php

// gibt z.B. aus  Letzer Zugriff auf somefile.txt: December 29 2002 22:16:23.

$filename = 'somefile.txt';
if (file_exists($filename)) {
    echo "Letzer Zugriff auf $filename: " . date("F d Y H:i:s.", fileatime($filename));
}

?>

Fehler/Exceptions

Im Fehlerfall wird eine E_WARNING ausgegeben.

Anmerkungen

Hinweis:

Der atime Wert einer Datei soll sich immer dann ändern, wenn die Dateiblöcke einer Datei gelesen werden. Dies kann in Bezug auf Performance teuer sein, falls eine Anwendung regelmäßig auf eine sehr große Anzahl an Dateien oder Verzeichnissen zugreift.

Einige Unix Dateisysteme können so eingebunden werden, dass atime Änderungen ausgeschaltet sind, um die Performace solcher Anwendungen zu steigern. USENET news spools sind ein bekanntes Beispiel. Auf solchen Dateisystemen ist diese Funktion nutzlos.

Hinweis:

Beachten Sie, dass die zeitliche Auflösung bei verschiedenen Dateisystemen unterschiedlich sein kann.

Hinweis: Die Ergebnisse dieser Funktion werden gecached. Weitere Details erhalten Sie bei clearstatcache().

Tipp

Seit PHP 5.0.0 kann diese Funktion mit einigen URL-Wrappern benutzt werden. Schauen Sie in der Liste unter Unterstützte Protokolle und Wrapper nach, welcher Wrapper die Funktionalität von stat() unterstützt.

Siehe auch

  • filemtime() - Liefert Datum und Uhrzeit der letzten Dateiänderung
  • fileinode() - Liefert die Inode-Nummer einer Datei
  • date() - Formatiert ein(e) angegebene(s) Ortszeit/Datum

file
filectime
Dateisystem


Liefert Datum und Uhrzeit der letzten Änderung des Datei Inode

fileatime
filegroup
Dateisystem
PHP Manual

filectime

(PHP 4, PHP 5, PHP 7)

filectime — Liefert Datum und Uhrzeit der letzten Änderung des Datei Inode

Beschreibung

int filectime ( string $filename )

Liefert Datum und Uhrzeit der letzten Änderung des Datei Inode.

Parameter-Liste

filename

Pfad zu der Datei.

Rückgabewerte

Gibt Datum und Uhrzeit der letzten Änderung einer Datei zurück, Im Fehlerfall wird FALSE zurückgegeben.. Das Datum wird als UNIX-Timestamp zurückgegeben.

Beispiele

Beispiel #1 Ein filectime() Beispiel

<?php

// Rückgabe z.B.  somefile.txt wurde zuletzt geändert: December 29 2002 22:16:23.

$filename = 'somefile.txt';
if (file_exists($filename)) {
    echo "$filename wurde zuletzt geändert: " . date("F d Y H:i:s.", filectime($filename));
}

?>

Fehler/Exceptions

Im Fehlerfall wird eine E_WARNING ausgegeben.

Anmerkungen

Hinweis:

Anmerkung: Bei den meisten Unix Dateisystemen gilt eine Datei als geändert, sobald ihre Inode-Daten geändert wurden; d.h. wenn die Rechte, Eigentümer, Gruppe, oder andere Metadaten des Inodes aktualisiert werden. Siehe auch filemtime() (das ist was Sie suchen, wenn Sie Fußzeilen mit "Zuletzt Aktualisiert" für Webseiten erstellen möchten) und fileatime().

Hinweis:

Beachten Sie auch, dass in einigen Unix-Texten ctime als die Zeit der Erstellung der Datei beschrieben wird. Das ist falsch. Bei den meisten Unix Dateisystemen gibt es keine Zeitangabe für die Erstellung von Unix Dateien.

Hinweis:

Beachten Sie, dass die zeitliche Auflösung bei verschiedenen Dateisystemen unterschiedlich sein kann.

Hinweis: Die Ergebnisse dieser Funktion werden gecached. Weitere Details erhalten Sie bei clearstatcache().

Tipp

Seit PHP 5.0.0 kann diese Funktion mit einigen URL-Wrappern benutzt werden. Schauen Sie in der Liste unter Unterstützte Protokolle und Wrapper nach, welcher Wrapper die Funktionalität von stat() unterstützt.

Siehe auch

  • filemtime() - Liefert Datum und Uhrzeit der letzten Dateiänderung

fileatime
filegroup
Dateisystem


Liefert die Gruppenzugehörigkeit einer Datei

filectime
fileinode
Dateisystem
PHP Manual

filegroup

(PHP 4, PHP 5, PHP 7)

filegroup — Liefert die Gruppenzugehörigkeit einer Datei

Beschreibung

int filegroup ( string $filename )

Ermittelt die Gruppenzugehörigkeit einer Datei. Die Gruppen-ID wird in numerischer Form zurückgegeben, der zugehörige Gruppenname kann mit posix_getgrgid() ermittelt werden.

Parameter-Liste

filename

Path to the file.

Rückgabewerte

Gibt die Gruppen ID einer Datei zurück, oder FALSE wenn ein Fehler aufgetreten ist. Die Gruppen ID wird im numerischen Format zurückgegeben. Mit der Funktion posix_getgrgid() können Sie diese zu ihrem Gruppennamen auflösen.

Beispiele

Beispiel #1 Finding the group of a file

<?php
$filename = 'index.php';
print_r(posix_getgrgid(filegroup($filename)));
?>

Fehler/Exceptions

Im Fehlerfall wird ein E_WARNING Fehler gemeldet.

Anmerkungen

Hinweis: Die Ergebnisse dieser Funktion werden gecached. Weitere Details erhalten Sie bei clearstatcache().

Tipp

Seit PHP 5.0.0 kann diese Funktion mit einigen URL-Wrappern benutzt werden. Schauen Sie in der Liste unter Unterstützte Protokolle und Wrapper nach, welcher Wrapper die Funktionalität von stat() unterstützt.

Siehe auch

  • fileowner() - Liefert den Dateieigentümer
  • posix_getgrgid() - Liefert zu einer Gruppen-ID Informationen über diese Gruppe
  • safe_mode_gid

filectime
fileinode
Dateisystem


Liefert die Inode-Nummer einer Datei

filegroup
filemtime
Dateisystem
PHP Manual

fileinode

(PHP 4, PHP 5, PHP 7)

fileinode — Liefert die Inode-Nummer einer Datei

Beschreibung

int fileinode ( string $filename )

Liefert den Datei Inode.

Parameter-Liste

filename

Pfad zu der Datei.

Rückgabewerte

Gibt die Inode Nummer der Datei zurück, Im Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 Vergleich des Inode einer Datei mit dem der derzeitigen Datei

<?php
$filename = 'index.php';
if (getmyinode() == fileinode($filename)) {
    echo 'Sie prüfen die derzeitige Datei.';
}
?>

Fehler/Exceptions

Im Fehlerfall wird eine E_WARNING ausgegeben.

Anmerkungen

Hinweis: Die Ergebnisse dieser Funktion werden gecached. Weitere Details erhalten Sie bei clearstatcache().

Tipp

Seit PHP 5.0.0 kann diese Funktion mit einigen URL-Wrappern benutzt werden. Schauen Sie in der Liste unter Unterstützte Protokolle und Wrapper nach, welcher Wrapper die Funktionalität von stat() unterstützt.

Siehe auch

  • getmyinode() - Ermittelt den Inode eines Skripts
  • stat() - Sammelt Informationen über eine Datei

filegroup
filemtime
Dateisystem


Liefert Datum und Uhrzeit der letzten Dateiänderung

fileinode
fileowner
Dateisystem
PHP Manual

filemtime

(PHP 4, PHP 5, PHP 7)

filemtime — Liefert Datum und Uhrzeit der letzten Dateiänderung

Beschreibung

int filemtime ( string $filename )

Diese Funktion gibt Datum und Uhrzeit zurück, wann die Datenblöcke einer Datei beschrieben wurden, das heisst, der Zeitpunkt, wann der Inhalt der Datei zuletzt geändert wurde.

Parameter-Liste

filename

Pfad zu der Datei.

Rückgabewerte

Gibt Datum und Uhrzeit zurück, wann die Datei das letzte mal modifiziert wurde, Im Fehlerfall wird FALSE zurückgegeben.. Das Datum wird als UNIX-Timestamp zurückgegeben, was für die Funktion date() passend ist.

Beispiele

Beispiel #1 filemtime() Beispiel

<?php
// Ausgabe z.B.  somefile.txt wurde zuletzt modifiziert: December 29 2002 22:16:23.

$filename = 'somefile.txt';
if (file_exists($filename)) {
    echo "$filename wurde zuletzt modifiziert:: " . date ("F d Y H:i:s.", filemtime($filename));
}
?>

Fehler/Exceptions

Im Fehlerfall wird eine E_WARNING ausgegeben.

Anmerkungen

Hinweis:

Beachten Sie, dass die zeitliche Auflösung bei verschiedenen Dateisystemen unterschiedlich sein kann.

Hinweis: Die Ergebnisse dieser Funktion werden gecached. Weitere Details erhalten Sie bei clearstatcache().

Tipp

Seit PHP 5.0.0 kann diese Funktion mit einigen URL-Wrappern benutzt werden. Schauen Sie in der Liste unter Unterstützte Protokolle und Wrapper nach, welcher Wrapper die Funktionalität von stat() unterstützt.

Siehe auch

  • filectime() - Liefert Datum und Uhrzeit der letzten Änderung des Datei Inode
  • stat() - Sammelt Informationen über eine Datei
  • touch() - Setzt die Zugriffs- und Modifikationszeit einer Datei
  • getlastmod() - Uhrzeit der letzten Änderung eines Scripts

fileinode
fileowner
Dateisystem


Liefert den Dateieigentümer

filemtime
fileperms
Dateisystem
PHP Manual

fileowner

(PHP 4, PHP 5, PHP 7)

fileowner — Liefert den Dateieigentümer

Beschreibung

int fileowner ( string $filename )

Liefert den Dateieigentümer.

Parameter-Liste

filename

Pfad zu der Datei.

Rückgabewerte

Gibt die Benutzer ID des Eigentümers einer Datei zurück, Im Fehlerfall wird FALSE zurückgegeben.. Die Benutzer ID wird in numerischem Format zurückgegeben und kann mit der Funktion posix_getpwuid() zum Benutzernamen aufgelöst werden.

Beispiele

Beispiel #1 Den besitzer einer Datei finden

<?php
$filename = 'index.php';
print_r(posix_getpwuid(fileowner($filename)));
?>

Fehler/Exceptions

Im Fehlerfall wird eine E_WARNING ausgegeben.

Anmerkungen

Hinweis: Die Ergebnisse dieser Funktion werden gecached. Weitere Details erhalten Sie bei clearstatcache().

Tipp

Seit PHP 5.0.0 kann diese Funktion mit einigen URL-Wrappern benutzt werden. Schauen Sie in der Liste unter Unterstützte Protokolle und Wrapper nach, welcher Wrapper die Funktionalität von stat() unterstützt.

Siehe auch

  • filegroup() - Liefert die Gruppenzugehörigkeit einer Datei
  • stat() - Sammelt Informationen über eine Datei
  • posix_getpwuid() - Liefert zu einer Benutzer-ID Informationen über diesen Benutzer

filemtime
fileperms
Dateisystem


Liefert die Zugriffsrechte einer Datei

fileowner
filesize
Dateisystem
PHP Manual

fileperms

(PHP 4, PHP 5, PHP 7)

fileperms — Liefert die Zugriffsrechte einer Datei

Beschreibung

int fileperms ( string $filename )

Liefert Zugriffsrechte für die übergebene Datei.

Parameter-Liste

filename

Pfad zu der Datei.

Rückgabewerte

Gibt die Zugriffsrechte einer Datei als numerischen Modus zurück. Die niedrigen Bits dieses Modus sind die gleichen wie die Zugriffsrechte, die chmod() erwartet, allerdings beinhaltet der Rückgabewert auf den meisten Plattformen ebenfalls Informationen über den Typ der Datei, die als filename angegeben wurde. Die Beispiele weiter unten demonstrieren wie der Rückgabewert auf spezifische Zugriffsrechte und Datei-Typen auf POSIX Systemen einschließlich Linux und Max OS X geprüft werden kann.

Beispiele

Beispiel #1 Zeige Rechte als Oktal-Wert an

<?php
echo substr(sprintf('%o', fileperms('/tmp')), -4);
echo substr(sprintf('%o', fileperms('/etc/passwd')), -4);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1777
0644

Beispiel #2 Zeige komplette Rechte an

<?php
$perms = fileperms('/etc/passwd');

switch ($perms & 0xF000) {
    case 0xC000: // Socket
        $info = 's';
        break;
    case 0xA000: // Symbolischer Link
        $info = 'l';
        break;
    case 0x8000: // Regulär
        $info = 'r';
        break;
    case 0x6000: // Block special
        $info = 'b';
        break;
    case 0x4000: // Verzeichnis
        $info = 'd';
        break;
    case 0x2000: // Character special
        $info = 'c';
        break;
    case 0x1000: // FIFO pipe
        $info = 'p';
        break;
    default: // unbekannt
        $info = 'u';
}

// Besitzer
$info .= (($perms & 0x0100) ? 'r' : '-');
$info .= (($perms & 0x0080) ? 'w' : '-');
$info .= (($perms & 0x0040) ?
            (($perms & 0x0800) ? 's' : 'x' ) :
            (($perms & 0x0800) ? 'S' : '-'));

// Gruppe
$info .= (($perms & 0x0020) ? 'r' : '-');
$info .= (($perms & 0x0010) ? 'w' : '-');
$info .= (($perms & 0x0008) ?
            (($perms & 0x0400) ? 's' : 'x' ) :
            (($perms & 0x0400) ? 'S' : '-'));

// Andere
$info .= (($perms & 0x0004) ? 'r' : '-');
$info .= (($perms & 0x0002) ? 'w' : '-');
$info .= (($perms & 0x0001) ?
            (($perms & 0x0200) ? 't' : 'x' ) :
            (($perms & 0x0200) ? 'T' : '-'));

echo $info;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

-rw-r--r--

Fehler/Exceptions

Im Fehlerfall wird eine E_WARNING ausgegeben.

Anmerkungen

Hinweis: Die Ergebnisse dieser Funktion werden gecached. Weitere Details erhalten Sie bei clearstatcache().

Tipp

Seit PHP 5.0.0 kann diese Funktion mit einigen URL-Wrappern benutzt werden. Schauen Sie in der Liste unter Unterstützte Protokolle und Wrapper nach, welcher Wrapper die Funktionalität von stat() unterstützt.

Siehe auch

  • chmod() - Ändert die Zugriffsrechte einer Datei
  • is_readable() - Prüft, ob eine Datei existiert und lesbar ist
  • stat() - Sammelt Informationen über eine Datei

fileowner
filesize
Dateisystem


Liefert die Größe einer Datei

fileperms
filetype
Dateisystem
PHP Manual

filesize

(PHP 4, PHP 5, PHP 7)

filesize — Liefert die Größe einer Datei

Beschreibung

int filesize ( string $filename )

Liefert die Größe der übergebenen Datei.

Parameter-Liste

filename

Pfad zu der Datei.

Rückgabewerte

Gibt die Größe einer Datei in Bytes zurück, oder FALSE (und erzeugt einen Fehler der Stufe E_WARNING) wenn ein Fehler auftrat.

Hinweis: Weil PHPs Integer Typ vorzeichenbehaftet ist und viele Platformen 32bit Integer verwenden, können einige Dateisystem-Funktionen für Dateien größer als 2GB unerwartete Ergebnisse liefern.

Beispiele

Beispiel #1 filesize() Beispiel

<?php

// Ausgabe z.B  somefile.txt: 1024 Byte

$filename = 'somefile.txt';
echo $filename . ': ' . filesize($filename) . ' Byte';

?>

Fehler/Exceptions

Im Fehlerfall wird eine E_WARNING ausgegeben.

Anmerkungen

Hinweis: Die Ergebnisse dieser Funktion werden gecached. Weitere Details erhalten Sie bei clearstatcache().

Tipp

Seit PHP 5.0.0 kann diese Funktion mit einigen URL-Wrappern benutzt werden. Schauen Sie in der Liste unter Unterstützte Protokolle und Wrapper nach, welcher Wrapper die Funktionalität von stat() unterstützt.

Siehe auch

  • file_exists() - Prüft, ob eine Datei oder ein Verzeichnis existiert

fileperms
filetype
Dateisystem


Liefert den Typ einer Datei

filesize
flock
Dateisystem
PHP Manual

filetype

(PHP 4, PHP 5, PHP 7)

filetype — Liefert den Typ einer Datei

Beschreibung

string filetype ( string $filename )

Liefert den Typ der übergebenen Datei.

Parameter-Liste

filename

Pfad zu der Datei.

Rückgabewerte

Gibt den Typ einer Datei zurück. Mögliche Werte sind fifo, char, dir, block, link, file, socket und unknown.

Gibt FALSE zurück, wenn ein Fehler auftrat. filetype() erzeugt auch eine E_NOTICE Meldung, wenn der stat-Aufruf fehlschlägt oder der Dateityp unbekannt ist.

Beispiele

Beispiel #1 filetype() Beispiel

<?php

echo filetype('/etc/passwd');  // file
echo filetype('/etc/');        // dir

?>

Fehler/Exceptions

Im Fehlerfall wird eine E_WARNING ausgegeben.

Anmerkungen

Hinweis: Die Ergebnisse dieser Funktion werden gecached. Weitere Details erhalten Sie bei clearstatcache().

Tipp

Seit PHP 5.0.0 kann diese Funktion mit einigen URL-Wrappern benutzt werden. Schauen Sie in der Liste unter Unterstützte Protokolle und Wrapper nach, welcher Wrapper die Funktionalität von stat() unterstützt.

Siehe auch

  • is_dir() - Prüft, ob der angegebene Dateiname ein Verzeichnis ist
  • is_file() - Prüft, ob der Dateiname eine reguläre Datei ist
  • is_link() - Prüft, ob der Dateiname ein symbolischer Link ist
  • file_exists() - Prüft, ob eine Datei oder ein Verzeichnis existiert
  • mime_content_type() - Ermittelt den MIME-Typ des Inhalts einer Datei
  • pathinfo() - Liefert Informationen über einen Dateipfad
  • stat() - Sammelt Informationen über eine Datei

filesize
flock
Dateisystem


Portables Datei-Sperr-Verfahren (advisory locking)

filetype
fnmatch
Dateisystem
PHP Manual

flock

(PHP 4, PHP 5, PHP 7)

flock — Portables Datei-Sperr-Verfahren (advisory locking)

Beschreibung

bool flock ( resource $handle , int $operation [, int &$wouldblock ] )

flock() erlaubt ihnen, ein einfaches Leser/Schreiber Modell umzusetzen, was auf nahezu jeder Platform (inklusive der meisten Unix Abkömmlinge und sogar Windows) genutzt werden kann.

Unter PHP Versionen vor 5.3.2, wurde die Sperre auch von fclose() gelöst (was auch automatisch aufgerufen wird, wenn das Skript endet).

PHP unterstützt eine portable Art komplette Dateien "beratend" zu sperren (was bedeutet, dass alle zugreifenden Programme das gleiche Sperrverfahren nutzen müssen, oder die Sperre wird nicht wirken). Standardmäßig wird diese Funktion blockieren, bis die angefragte Sperre erlangt wurde; dies kann mit der LOCK_NB Option, dokumentiert unten, gesteuert werden.

Parameter-Liste

handle

Eine Dateisystemressource (resource), wie sie in der Regel von fopen() zurückgegeben wird.

operation

operation ist einer der Folgenden Werte:

  • LOCK_SH um eine geteilte Sperre (Leser) zu erhalten.
  • LOCK_EX um eine exklusive Sperre (Schreiber) zu erhalten.
  • LOCK_UN um eine Sperre zu lösen (geteilt oder exklusiv).

Man kann auch LOCK_NB als Bitmaske zu einer der obigen Operationen hinzufügen, falls man nicht möchte, dass flock() während der Sperrens blockiert.

wouldblock

Das optionale dritte Argument ist auf 1 gesetzt, falls das Sperren blockierte (EWOULDBLOCK Fehler Nummer).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.5.22, 5.6.6 | Unterstützung für den wouldblock Parameter unter Windows hinzugefügt.
5.3.2 | Das automatische Entsperren, wenn das Ressource handle der Datei geschlossen wurde, wurde entfernt. Entsperren muss nun immer manuell ausgeführt werden.

Beispiele

Beispiel #1 flock() Beispiel

<?php

$fp = fopen("/tmp/lock.txt", "r+");

if (flock($fp, LOCK_EX)) { // exklusive Sperre
    ftruncate($fp, 0); // kürze Datei
    fwrite($fp, "Write something here\n");
    fflush($fp); // leere Ausgabepuffer bevor die Sperre frei gegeben wird
    flock($fp, LOCK_UN); // Gib Sperre frei
} else {
    echo "Konnte Sperre nicht erhalten!";
}

fclose($fp);

?>

Beispiel #2 flock() Nutzung der LOCK_NB Option

<?php
$fp = fopen('/tmp/lock.txt', 'r+');

/* Aktiviere die LOCK_NB Option bei einer LOCK_EX Operation */
if(!flock($fp, LOCK_EX | LOCK_NB)) {
    echo 'Kann Sperre nicht erhalten';
    exit(-1);
}

/* ... */

fclose($fp);
?>

Anmerkungen

Hinweis:

flock() nutzt "verbindliche" (mandatory) anstatt "beratende" (advisory) Sperren unter Windows. "Verbindliches" Sperren wird auch unter Linux und System V basierten Betriebssystemen, durch den üblichen Mechanismus, der von dem fcntl() System Aufruf geliefert wird, unterstützt: das heißt, falls bei der fraglichen Datei das setgid Zugriffs-Bit gesetzt ist und das Ausführungs-Bit für Gruppen null ist. Unter Linux muss das Dateisystem zusätzlich mit der Mount Option mand eingebunden sein, damit dies Auswirkungen hat.

Hinweis:

Da flock() einen Dateizeiger benötigt, müssen Sie unter Umständen eine spezielle Sperrdatei benutzen, um den Zugriff auf eine Datei zu schützen, welche Sie mittels Öffnen im Schreibmodus (mit dem Argument "w" or "w+" von fopen()) kürzen wollen.

Hinweis:

Kann nur mit Dateizeigern verwendet werden, die von fopen() für lokale Dateien zurückgegeben wurden oder mit Dateizeigern, die auf Nutzer-Modus Streams zeigen, die die streamWrapper::stream_lock() Methode implementieren.

Warnung

Weist man dem handle Argument einen anderen Wert zu, wird nachfolgender Code die Sperre lösen.

Warnung

Bei einigen Betriebssystemen ist flock() auf dem Prozesslevel implementiert. Wenn Sie ein multithreaded Server API wie ISAPI benutzen, können Sie sich nicht auf flock() verlassen, um Dateien vor anderen PHP-Skripten zu schützen, welche in parallelen Threads der gleichen Server-Instanz laufen!

flock() wird von antiquierten Dateisystemen wie FAT und dessen Derivaten nicht unterstützt, und gibt deshalb in solchen Umgebungen immer FALSE zurück (Dies ist speziell bei Windows 98 Benutzern der Fall).

filetype
fnmatch
Dateisystem


Match filename against a pattern

flock
fopen
Dateisystem
PHP Manual

fnmatch

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

fnmatch — Match filename against a pattern

Beschreibung

bool fnmatch ( string $pattern , string $string [, int $flags = 0 ] )

fnmatch() checks if the passed string would match the given shell wildcard pattern.

Parameter-Liste

pattern

The shell wildcard pattern.

string

The tested string. This function is especially useful for filenames, but may also be used on regular strings.

The average user may be used to shell patterns or at least in their simplest form to '?' and '*' wildcards so using fnmatch() instead of preg_match() for frontend search expression input may be way more convenient for non-programming users.

flags

The value of flags can be any combination of the following flags, joined with the binary OR (|) operator.

A list of possible flags for fnmatch()
Flag | Description
FNM_NOESCAPE | Disable backslash escaping.
FNM_PATHNAME | Slash in string only matches slash in the given pattern.
FNM_PERIOD | Leading period in string must be exactly matched by period in the given pattern.
FNM_CASEFOLD | Caseless match. Part of the GNU extension.

Rückgabewerte

Returns TRUE if there is a match, FALSE otherwise.

Changelog

Version | Beschreibung
5.3.0 | This function is now available on Windows platforms.

Beispiele

Beispiel #1 Checking a color name against a shell wildcard pattern

<?php
if (fnmatch("*gr[ae]y", $color)) {
  echo "some form of gray ...";
}
?>

Anmerkungen

Warnung

For now, this function is not available on non-POSIX compliant systems except Windows.

Siehe auch

  • glob() - Findet Dateinamen, die mit einem Muster übereinstimmen
  • preg_match() - Führt eine Suche mit einem regulären Ausdruck durch
  • sscanf() - Überträgt einen String in ein angegebenes Format
  • printf() - Gibt einen formatierten String aus
  • sprintf() - Gibt einen formatierten String zurück

flock
fopen
Dateisystem


Öffnet eine Datei oder URL

fnmatch
fpassthru
Dateisystem
PHP Manual

fopen

(PHP 4, PHP 5, PHP 7)

fopen — Öffnet eine Datei oder URL

Beschreibung

resource fopen ( string $filename , string $mode [, bool $use_include_path = false [, resource $context ]] )

fopen() bindet eine benannte Ressource, die durch filename spezifiziert wurde, an einen Stream.

Parameter-Liste

filename

Hat filename die Form "schema://..." wird angenommen, dass es sich hier um einen URL handelt und PHP sucht nach einem Protokollhandler (auch als Wrapper bekannt) für dieses Schema. Sind keine Wrapper für dieses Protokoll registriert, gibt PHP als Hilfe zum Verfolgen potentieller Probleme in Ihrem Skript einen Hinweis aus und setzt dann weiter fort, als wenn filename eine reguläre Datei spezifiziert.

Ist PHP zu dem Schluss gekommen, dass filename eine lokale Datei spezifiziert, wird es versuchen, einen Stream an dieser Datei zu öffnen. Die Datei muss für PHP zugreifbar sein, weshalb Sie sicherstellen müssen, dass die Dateirechte diesen Zugriff ermöglichen. Wenn Sie Safe Mode oder open_basedir aktiviert haben, können weitere Einschränkungen zutreffen.

Kam PHP zum Schluss, dass es sich bei filename um ein registriertes Protokoll handelt, und ist dieses Protokoll als ein Netzwerk URL registriert, prüft PHP, ob allow_url_fopen aktiviert ist. Ist es nicht aktiviert, gibt PHP eine Warnung aus, und der Aufruf von fopen wird scheitern.

Hinweis:

Die Liste der unterstützten Protokolle können Sie unter Unterstützte Protokolle und Wrapper finden. Einige Protokolle (auch als Wrapper bezeichnet) unterstützen context und/oder php.ini Optionen. Beziehen sie sich auf die jeweilige Seite für das genutzte Potokoll, um eine Liste der Optionen, die gesetzt werden können, zu erhalten. (z.B. php.ini Wert user_agent genutzt vom http Wrapper).

Achten sie darauf, unter Windows alle Backslash-Zeichen, die in Pfaden genutzt werden, zu maskieren oder nutzen sie Schrägstriche (Slash).

<?php
$handle = fopen("c:\\verzeichnis\\ressource.txt", "r");
?>

mode

Der mode Parameter spezifiziert den Zugriffstyp, den sie auf den Stream anfordern. Es kann einer der folgenden sein:

Eine Liste der möglichen Modi von fopen() mittels mode
mode | Beschreibung
'r' | Nur zum Lesen geöffnet; platziere Dateizeiger auf Dateianfang.
'r+' | Zum Lesen und Schreiben geöffnet; platziere Dateizeiger auf Dateianfang.
'w' | Nur zum Schreiben geöffnet; platziere Dateizeiger auf Dateianfang und kürze die Datei auf eine Länge von 0. Existiert die Datei nicht, versuche, diese zu erzeugen.
'w+' | Zum Schreiben und Lesen geöffnet; platziere Dateizeiger auf Dateianfang und kürze die Datei auf eine Länge von 0. Existiert die Datei nicht, versuche, diese zu erzeugen.
'a' | Nur zum Schreiben geöffnet; platziere Dateizeiger auf Dateiende. Existiert die Datei nicht, versuche, diese zu erzeugen. In diesem Modus ist fseek() wirkungslos; beim Schreiben wird immer angehängt.
'a+' | Zum Schreiben und Lesen geöffnet; platziere Dateizeiger auf Dateiende. Existiert die Datei nicht, versuche, diese zu erzeugen. In diesem Modus wirkt sich fseek() nur auf die Leseposition aus; beim Schreiben wird immer angehängt.
'x' | Erzeuge und Öffne nur zum Schreiben; platziere Dateizeiger auf Dateianfang. Falls die Datei schon existiert, wird der fopen() Aufruf fehlschlagen durch Rückgabe von FALSE und dem Auslösen eines Fehlers der Stufe E_WARNING. Existiert die Datei nicht, versuche, diese zu erzeugen. Dies ist zur Angabe der O_EXCL|O_CREAT Flags für den darunterliegenden open(2) System Aufruf äquivalent.
'x+' | Erzeuge und Öffne zum Schreiben und Lesen; ansonsten ist das Verhalten gleich wie bei 'x'.
'c' | Öffne Datei nur zum Schreiben. Wenn die Datei nicht existiert, wird diese erzeugt. Wenn sie existiert, wird sie weder gekürzt (im Gegensatz zu 'w'), noch schlägt der Aufruf dieser Funktion fehl (wie dies mit 'x' der Fall ist). Der Dateizeiger wird auf den Dateianfang platziert. Dies kann nützlich sein, wenn man eine "beratende" (kooperative) Sperre erhalten möchte (siehe flock()) bevor man versucht, die Datei zu ändern, da die Nutzung von 'w' die Datei kürzen könnte, bevor die Sperre erhalten wurde (falls Kürzen gewünscht ist, kann ftruncate() genutzt werden, nachdem die Sperre angefragt wurde).
'c+' | Öffne Datei zum Lesen und Schreiben; ansonsten ist das Verhalten gleich wie bei 'c'.

Hinweis:

Verschiedene Betriebssysteme haben unterschiedliche Konventionen für das Zeilenende. Wenn Sie eine Textdatei schreiben und einen Zeilenumbruch einfügen möchten, müssen Sie das/die korrekte(n) Zeilenendszeichen für Ihr Betriebssystem nutzen. Unix-basierte Systeme nutzen \n als Zeilenendszeichen, Windows-basierte Systeme nutzen \r\n als Zeilenendszeichen und Macintosh-basierte Systeme nutzen \r als Zeilenendszeichen.

Wenn Sie die falschen Zeilenendszeichen beim Schreiben Ihrer Dateien nutzen, kann es sein, dass andere Anwendungen, die diese Dateien öffnen, "seltsam aussehen".

Windows bietet einen Text-Mode translations Flag ('t') an, der transparent \n zu \r\n übersetzt, wenn mit der Datei gearbeitet wird. Andererseits können sie auch 'b' nutzen, um Binärmode zu erzwingen, der ihre Daten nicht übersetzt. Um diese Flags zu nutzen, geben sie entweder 'b' oder 't' als das letzte Zeichen des mode Parameters an.

Der Standard Übersetzungsmodus hängt von der SAPI und der PHP Version ab, die sie nutzen, daher ist es empfehlenswert, immer den passenden Flag aus Portabilitätsgründen anzugeben. Sie sollten 't' Modus nutzen, wenn sie mit Textdateien arbeiten und sie nutzen \n um die Zeilenenden im Skript zu begrenzen, erwarten aber, dass ihre Dateien mit Anwendungen wie etwa Notepad lesbar sind. Ansonsten sollten sie 'b' nutzen.

Wenn sie beim Arbeiten mit binären Dateien nicht das 'b' Flag angeben, können sie seltsame Probleme mit ihren Daten erleben, einschließlich zerstörter Bild Dateien und merkwürdiger Probleme mit \r\n Zeichen.

Hinweis:

Aus Portabilitätsgründen wird dringend empfohlen, dass sie immer das 'b' Flag nutzen, wenn sie Dateien mit fopen() öffnen.

Hinweis:

Außerdem wird aus Gründen der Portabilität dringend empfohlen, dass sie Code umschreiben, der den 't' Modus nutzt oder sich darauf verlässt, so dass die korrekten Zeilenendungen und der 'b' Modus stattdessen genutzt werden.

use_include_path

Der optionale dritte Parameter use_include_path kann auf '1' oder TRUE gesetzt werden, wenn sie wollen, dass nach der Datei auch im include_path gesucht wird.

context

Hinweis: Die Kontext-Unterstützung gibt es seit PHP 5.0.0. Eine Beschreibung von Kontexten finden Sie unter Streams.

Rückgabewerte

Gibt bei Erfolg eine Dateizeiger Ressource zurück oder FALSE bei Fehlern.

Fehler/Exceptions

Wenn das Öffnen fehlschlägt, wird ein Fehler der Stufe E_WARNING erzeugt. Sie können @ um diese Warnung zu unterdrücken.

Changelog

Version | Beschreibung
5.2.6 | Die 'c' und 'c+' Optionen wurde hinzugefügt
4.3.2 | Die 'x' und 'x+' Optionen wurden hinzugefügt.
5.2.6 | Die 'c' und 'c+' Optionen wurden hinzugefügt.

Beispiele

Beispiel #1 fopen() Beispiele

<?php
$handle = fopen("/home/rasmus/file.txt", "r");
$handle = fopen("/home/rasmus/file.gif", "wb");
$handle = fopen("http://www.example.com/", "r");
$handle = fopen("ftp://user:password@example.com/somefile.txt", "w");
?>

Anmerkungen

Warnung

Bei SSL-Verbindungen zusammen mit Microsoft IIS hält sich dieser Webserver nicht an das Protokoll und schließt die Verbindung ohne ein close_notify zu senden. PHP quittiert dieses Fehlverhalten mit "SSL: Fatal Protocol Error", wenn das Ende der Daten erreicht ist. Eine mögliche Lösung besteht darin, den Level von error_reporting herabzusetzten und Warnings auszuschließen. PHP kann fehlerhafte IIS-Serversoftware erkennen, wenn Sie einen Stream mit dem https://-Wrapper öffnen, und unterdrückt die Warnung für Sie. Falls Sie fsockopen() benutzen, um einen ssl://-Socket zu öffnen, müssen Sie selbst dafür Sorge tragen, die Warnung zu erkennen und diese zu unterdrücken.

Hinweis: Wenn Safe Mode aktiviert ist überprüft PHP, ob das Arbeitsverzeichnis, die gleiche UID (Eigentümer) hat wie das Skript selbst.

Hinweis:

Wenn sie Probleme beim Lesen und Schreiben von Dateien haben und sie nutzen die Server Modul Version von PHP, denken sie daran, sicherzustellen, dass die Dateien und Verzeichnisse, die sie nutzen, für den Server Prozess zugänglich sind.

Hinweis:

Diese Funktion kann ebenfalls gelingen, wenn filename ein Verzeichnis ist. Im Zweifelsfall sollte vor dem Aufruf von fopen() mit is_dir() geprüft werden, ob filename eine Datei oder ein Verzeichnis ist.

Siehe auch

  • Unterstützte Protokolle und Wrapper
  • fclose() - Schließt einen offenen Dateizeiger
  • fgets() - Liest eine Zeile von der Position des Dateizeigers
  • fread() - Liest Binärdaten aus einer Datei
  • fwrite() - Binär-sicheres Dateischreiben
  • fsockopen() - Stellt eine Internet- oder Unix-Domain-Socket-Verbindung her
  • file() - Liest eine komplette Datei in ein Array
  • file_exists() - Prüft, ob eine Datei oder ein Verzeichnis existiert
  • is_readable() - Prüft, ob eine Datei existiert und lesbar ist
  • stream_set_timeout() - Set timeout period on a stream
  • popen() - Öffnet einen Prozesszeiger
  • stream_context_create() - Creates a stream context
  • umask() - Changes the current umask
  • SplFileObject

fnmatch
fpassthru
Dateisystem


Gibt alle verbleibenden Daten eines Dateizeigers direkt aus.

fopen
fputcsv
Dateisystem
PHP Manual

fpassthru

(PHP 4, PHP 5, PHP 7)

fpassthru — Gibt alle verbleibenden Daten eines Dateizeigers direkt aus.

Beschreibung

int fpassthru ( resource $handle )

Die Funktion liest alle Daten von der aktuellen Position des Dateizeigers bis EOF aus und schreibt die Daten in den Ausgabepuffer.

Eventuell müssen Sie rewind() aufrufen, um den Dateizeiger auf den Beginn der Datei zurückzusetzen, wenn Sie bereits Daten in die Datei geschrieben haben.

Wenn Sie den Inhalt einer Datei nur in den Ausgabepuffer schreiben wollen ohne diese ändern bzw. an eine bestimmte Stelle gehen wollen, sollten Sie besser readfile() benutzen, bei der Sie sich den Aufruf von fopen() ersparen.

Parameter-Liste

handle

Der Zeiger auf eine Datei muss gültig sein und auf eine Datei verweisen, die vorher erfolgreich mit fopen() oder fsockopen() geöffnet (und nicht bereits von fclose() geschlossen) wurde.

Rückgabewerte

Wenn ein Fehler auftritt, gibt fpassthru() FALSE zurück. Andernfalls gibt fpassthru() die Anzahl der von handle gelesenen und zur Ausgabe weitergeleiteten Zeichen zurück.

Beispiele

Beispiel #1 Nutzung von fpassthru() mit binären Dateien

<?php

// Öffne Datei im binären Modus
$name = './img/ok.png';
$fp = fopen($name, 'rb');

// Schicke passende Header Einträge
header("Content-Type: image/png");
header("Content-Length: " . filesize($name));

// Gib Bild aus und stoppe Skript
fpassthru($fp);
exit;

?>

Anmerkungen

Hinweis:

Wenn Sie fpassthru() auf eine binäre Datei unter Windows anwenden, sollten Sie sicherstellen, dass die Datei im Binärmodus geöffnet wurde, indem Sie ein b an den Mode-Parameter von fopen() anhängen.

Auch wenn es Ihr System nicht verlangt, sollten Sie den b Flag bei Binärdateien verwenden, um die Portabilität Ihrer Skripte zu erhöhen.

Siehe auch

  • readfile() - Gibt eine Datei aus
  • fopen() - Öffnet eine Datei oder URL
  • popen() - Öffnet einen Prozesszeiger
  • fsockopen() - Stellt eine Internet- oder Unix-Domain-Socket-Verbindung her

fopen
fputcsv
Dateisystem


Format line as CSV and write to file pointer

fpassthru
fputs
Dateisystem
PHP Manual

fputcsv

(PHP 5 >= 5.1.0, PHP 7)

fputcsv — Format line as CSV and write to file pointer

Beschreibung

int fputcsv ( resource $handle , array $fields [, string $delimiter = "," [, string $enclosure = '"' [, string $escape_char = "\" ]]] )

fputcsv() formats a line (passed as a fields array) as CSV and write it (terminated by a newline) to the specified file handle.

Parameter-Liste

handle

Der Zeiger auf eine Datei muss gültig sein und auf eine Datei verweisen, die vorher erfolgreich mit fopen() oder fsockopen() geöffnet (und nicht bereits von fclose() geschlossen) wurde.

fields

An array of values.

delimiter

The optional delimiter parameter sets the field delimiter (one character only).

enclosure

The optional enclosure parameter sets the field enclosure (one character only).

escape_char

The optional escape_char parameter sets the escape character (one character only).

Rückgabewerte

Returns the length of the written string Im Fehlerfall wird FALSE zurückgegeben..

Changelog

Version | Beschreibung
5.5.4 | The escape_char parameter was added

Beispiele

Beispiel #1 fputcsv() example

<?php

$list = array (
    array('aaa', 'bbb', 'ccc', 'dddd'),
    array('123', '456', '789'),
    array('"aaa"', '"bbb"')
);

$fp = fopen('file.csv', 'w');

foreach ($list as $fields) {
    fputcsv($fp, $fields);
}

fclose($fp);
?>

The above example will write the following to file.csv:

aaa,bbb,ccc,dddd
123,456,789
"""aaa""","""bbb"""

Anmerkungen

Hinweis: Wenn Sie Probleme damit haben, dass PHP Zeilenendezeichen nicht erkennt, entweder beim Lesen von Dateien auf einem Macintosh oder bei Dateien, die auf einem Macintosh erstellt wurden, können Sie die Option auto_detect_line_endings aktivieren.

Siehe auch

  • fgetcsv() - Liest eine Zeile von der Position des Dateizeigers und prüft diese auf Komma-Separierte-Werte (CSV)

fpassthru
fputs
Dateisystem


Alias von fwrite

fputcsv
fread
Dateisystem
PHP Manual

fputs

(PHP 4, PHP 5, PHP 7)

fputs — Alias von fwrite()

Beschreibung

Diese Funktion ist ein Alias für: fwrite().

fputcsv
fread
Dateisystem


Liest Binärdaten aus einer Datei

fputs
fscanf
Dateisystem
PHP Manual

fread

(PHP 4, PHP 5, PHP 7)

fread — Liest Binärdaten aus einer Datei

Beschreibung

string fread ( resource $handle , int $length )

fread() liest bis zu length Bytes vom Dateizeiger handle. Das Lesen wird beendet, sobald eine der folgenden Bedingungen eintritt:

  • length Bytes wurden gelesen
  • Das Dateiende (EOF, end of file) wurde erreicht
  • Ein Paket wird verfügbar oder eine Socket-Zeitüberschreitung tritt auf (Bei Netzwerk-Streams)
  • Falls dieser Stream beim Lesen gepuffert wird und keine reguläre Datei repräsentiert, wird maximal einmal ein Stück bis zur maximalen Chunkgröße (normalerweise 8192 Bytes) gelesen. Abhängig von den bisher gepufferten Daten können die zurückgelieferten Daten größer als die Chunkgröße sein.

Parameter-Liste

handle

Eine Dateisystemressource (resource), wie sie in der Regel von fopen() zurückgegeben wird.

length

Bis zu length Bytes lesen.

Rückgabewerte

Gibt die ausgelesene Zeichenkette zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Ein einfaches fread()-Beispiel

<?php
// liest den Inhalt einer Datei in einen String
$filename = "/usr/local/etwas.txt";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);
?>

Beispiel #2 Ein fread()-Beispiel mit einer Binärdatei

Warnung

Auf Systemen, welche zwischen Binär- und Textdateien (z.B. Windows) unterscheiden, muss die Datei mit 'b' im fopen() Mode-Parameter geöffnet werden.

<?php
$filename = "c:\\files\\somepic.gif";
$handle = fopen($filename, "rb");
$contents = fread($handle, filesize($filename));
fclose($handle);
?>

Beispiel #3 fread()-Beispiele für entfernte Dateien

Warnung

Wenn aus etwas gelesen werden soll, was keine normale lokale Datei ist, wie etwa Streams von entfernten Dateien oder von popen() und fsockopen(), so wird das Lesen beendet sobald ein Paket verfügbar ist. Das bedeutet, dass man die Daten in Stücken sammeln muss. Dies wird im unteren Beispiel gezeigt.

<?php
// Für PHP5 und höher
$handle = fopen("http://www.example.com/", "rb");
$contents = stream_get_contents($handle);
fclose($handle);
?>
<?php
$handle = fopen("http://www.example.com/", "rb");
if (FALSE === $handle) {
    exit("Konnte Stream von URL nicht öffnen");
}

$contents = '';

while (!feof($handle)) {
  $contents .= fread($handle, 8192);
}
fclose($handle);
?>

Anmerkungen

Hinweis:

Wenn man nur den Inhalt einer Datei in eine Zeichenkette lesen will, so sollte man file_get_contents() verwenden, da dies eine bessere Performance hat als der obige Code.

Hinweis:

Beachten Sie, dass fread() an der aktuellen Position im Dateizeiger zu lesen beginnt. Verwenden Sie ftell(), um herauszufinden wo dieser Zeiger steht und die Funktion rewind(), um den Zeiger zurückzustellen.

Siehe auch

  • fwrite() - Binär-sicheres Dateischreiben
  • fopen() - Öffnet eine Datei oder URL
  • fsockopen() - Stellt eine Internet- oder Unix-Domain-Socket-Verbindung her
  • popen() - Öffnet einen Prozesszeiger
  • fgets() - Liest eine Zeile von der Position des Dateizeigers
  • fgetss() - Liest eine Zeile von der Position des Dateizeigers und entfernt HTML Tags.
  • fscanf() - Interpretiert den Input einer Datei entsprechend einem angegebenen Format
  • file() - Liest eine komplette Datei in ein Array
  • fpassthru() - Gibt alle verbleibenden Daten eines Dateizeigers direkt aus.
  • ftell() - Ermittelt die aktuelle Position des Dateizeigers
  • rewind() - Setzt die Position eines Dateizeigers auf den Anfang
  • unpack() - Entpackt die Daten eines Binär-Strings

fputs
fscanf
Dateisystem


Interpretiert den Input einer Datei entsprechend einem angegebenen Format

fread
fseek
Dateisystem
PHP Manual

fscanf

(PHP 4 >= 4.0.1, PHP 5, PHP 7)

fscanf — Interpretiert den Input einer Datei entsprechend einem angegebenen Format

Beschreibung

mixed fscanf ( resource $handle , string $format [, mixed &$... ] )

Die Funktion fscanf() ist ähnlich zu sscanf(), wobei sie ihren Input aus der mit handle angegebenen Datei liest, und entsprechend dem angegebenen format interpretiert. Der format Parameter is unter der sprintf() Funktion näher dokumentiert.

Beliebige Whitespace-Zeichen (z.B. Leerzeichen, Tabulator, etc.) im Format String gelten mit beliebigen Whitespace-Zeichen des Input-Streams als übereinstimmend. Das heißt, dass auch ein Tabulator \t im Format String mit einem einzigen Leerzeichen im Input-Stream als übereinstimmend gelten kann.

Jeder fscanf() Aufruf liest eine Zeile aus der Datei aus.

Parameter-Liste

handle

Eine Dateisystemressource (resource), wie sie in der Regel von fopen() zurückgegeben wird.

format

Das erwartete Format, wie es in der sprintf() Dokumentation beschrieben ist.

...

Optionale als Referenz übergebene Variablen, in welche die geparsten Werte geschrieben werden sollen.

Rückgabewerte

Wenn nur zwei Parameter an die Funktion übergeben wurden, werden die geparseten Werte in einem Array zurückgegeben. Andernfalls gibt die Funktion die anzahl der zugewiesenen Werte zurück. Die optionalen Parameter müssen per Referenz übergeben werden.

Beispiele

Beispiel #1 fscanf() Beispiel

<?php
$handle = fopen("users.txt", "r");
while ($userinfo = fscanf($handle, "%s\t%s\t%s\n")) {
    list ($name, $profession, $countrycode) = $userinfo;
    // Tue etwas mit den Werten ...
}
fclose($handle);
?>

Beispiel #2 Inhalt der users.txt Datei

javier  argonaut        pe
hiroshi sculptor        jp
robert  slacker us
luigi   florist it

Siehe auch

  • fread() - Liest Binärdaten aus einer Datei
  • fgets() - Liest eine Zeile von der Position des Dateizeigers
  • fgetss() - Liest eine Zeile von der Position des Dateizeigers und entfernt HTML Tags.
  • sscanf() - Überträgt einen String in ein angegebenes Format
  • printf() - Gibt einen formatierten String aus
  • sprintf() - Gibt einen formatierten String zurück

fread
fseek
Dateisystem


Positioniert den Dateizeiger

fscanf
fstat
Dateisystem
PHP Manual

fseek

(PHP 4, PHP 5, PHP 7)

fseek — Positioniert den Dateizeiger

Beschreibung

int fseek ( resource $handle , int $offset [, int $whence = SEEK_SET ] )

Setzt den Dateizeiger einer mit handle angegebenen Datei auf eine neue Position. Diese neue Position, angegeben in Bytes vom Beginn der Datei an, wird definiert durch Hinzufügen von offset zu der Position spezifiziert durch whence.

Im Allgemeinen ist es erlaubt hinter das Ende der Datei (EOF) zu positionieren; wenn dann Daten geschrieben werden, ergeben Leseoperation in einer unbeschriebenen Region zwischen dem EOF und der gesetzten Position Bytes mit dem Wert 0. Allerdings unterstützen bestimmte Streams dieses Verhalten möglicherweise nicht, besonders wenn sie einen unterliegenden Speicher fester Größe haben.

Parameter-Liste

handle

Eine Dateisystemressource (resource), wie sie in der Regel von fopen() zurückgegeben wird.

offset

Der Offset.

Um zu einer Position vor EOF zu gelangen, übergeben Sie in offset einen negativen Wert und setzen Sie whence auf SEEK_END.

whence

whence Werte sind:

  • SEEK_SET - Setzt Position gleich offset Bytes
  • SEEK_CUR - Setzt Position auf die aktuelle Stelle plus offset.
  • SEEK_END - Setzt die Position ans Ende der Datei plus offset.

Rückgabewerte

Bei Erfolg wird 0 zurückgegeben, andernfalls -1.

Beispiele

Beispiel #1 fseek() Beispiel

<?php

$fp = fopen('somefile.txt', 'r');

// lies einige Daten
$data = fgets($fp, 4096);

// gehe zurück an den Anfang der Datei
// das selbe wie rewind($fp);
fseek($fp, 0);

?>

Anmerkungen

Hinweis:

Wenn Sie die Datei im Anfügemodus (a oder a+) geöffnet haben, werden jegliche Daten, die sie in die Datei schreiben, immer angehängt, unabhängig vom Dateizeiger, und das Ergebnis des Aufrufs von seek() ist undefiniert.

Hinweis:

Nicht alle Streams unterstützen Positionierung. Für jene, die Positionierung nicht unterstützen, kann Vorwärtspositionierung durch Lesen und Verwerfen von Daten erreicht werden; andere Formen der Positionierung schlagen fehl.

Siehe auch

  • ftell() - Ermittelt die aktuelle Position des Dateizeigers
  • rewind() - Setzt die Position eines Dateizeigers auf den Anfang

fscanf
fstat
Dateisystem


Sammelt Informationen über eine Datei mittels eines offenen Dateizeigers

fseek
ftell
Dateisystem
PHP Manual

fstat

(PHP 4, PHP 5, PHP 7)

fstat — Sammelt Informationen über eine Datei mittels eines offenen Dateizeigers

Beschreibung

array fstat ( resource $handle )

Sammelt die Statistiken der Datei, die durch den Dateizeiger handle geöffnet wurde. Diese Funktion ist ähnlich zur Funktion stat(), mit dem Unterschied, dass sie mit einem offenen Dateizeiger anstatt eines Dateinamens arbeitet.

Parameter-Liste

handle

Eine Dateisystemressource (resource), wie sie in der Regel von fopen() zurückgegeben wird.

Rückgabewerte

Gibt ein Array mit den Statistiken der Datei zurück. Das Format des Arrays wird auf der stat()-Handbuchseite im Detail beschrieben.

Beispiele

Beispiel #1 fstat()-Beispiel

<?php

// öffne eine Datei
$fp = fopen("/etc/passwd", "r");

// sammle Statistiken
$fstat = fstat($fp);

// schließe die Datei
fclose($fp);

// gebe nur den assoziativen Teil aus
print_r(array_slice($fstat, 13));

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [dev] => 771
    [ino] => 488704
    [mode] => 33188
    [nlink] => 1
    [uid] => 0
    [gid] => 0
    [rdev] => 0
    [size] => 1114
    [atime] => 1061067181
    [mtime] => 1056136526
    [ctime] => 1056136526
    [blksize] => 4096
    [blocks] => 8
)

Anmerkungen

Hinweis: Diese Funktion kann nicht mit entfernten Dateien arbeiten, da der Zugriff auf die Datei, die bearbeitet werden soll, über das Dateisystem des Servers möglich sein muss.

fseek
ftell
Dateisystem


Ermittelt die aktuelle Position des Dateizeigers

fstat
ftruncate
Dateisystem
PHP Manual

ftell

(PHP 4, PHP 5, PHP 7)

ftell — Ermittelt die aktuelle Position des Dateizeigers

Beschreibung

int ftell ( resource $handle )

Gibt die aktuelle Position des Dateizeigers, der durch handle referenziert wird, zurück.

Parameter-Liste

handle

Der Dateizeiger muss gültig sein und auf eine erfolgreich durch fopen() oder popen() geöffnete Datei zeigen. ftell() liefert undefinierte Ergebnisse für reine Anfüge-Streams (geöffnet mit einem "a" Flag).

Rückgabewerte

Gibt die aktuelle Position des Dateizeigers, der durch handle referenziert wird, als Integerzahl zurück, d.h. den Offset im Dateistream.

Wenn ein Fehler auftritt, wird FALSE zurückgegeben.

Hinweis: Weil PHPs Integer Typ vorzeichenbehaftet ist und viele Platformen 32bit Integer verwenden, können einige Dateisystem-Funktionen für Dateien größer als 2GB unerwartete Ergebnisse liefern.

Beispiele

Beispiel #1 ftell() Beispiel

<?php

// öffnet eine Datei und liest einige Daten
$fp = fopen("/etc/passwd", "r");
$data = fgets($fp, 12);

// wo sind wir?
echo ftell($fp); // 11

fclose($fp);

?>

Siehe auch

  • fopen() - Öffnet eine Datei oder URL
  • popen() - Öffnet einen Prozesszeiger
  • fseek() - Positioniert den Dateizeiger
  • rewind() - Setzt die Position eines Dateizeigers auf den Anfang

fstat
ftruncate
Dateisystem


Kürzt eine Datei auf die angegebene Länge

ftell
fwrite
Dateisystem
PHP Manual

ftruncate

(PHP 4, PHP 5, PHP 7)

ftruncate — Kürzt eine Datei auf die angegebene Länge

Beschreibung

bool ftruncate ( resource $handle , int $size )

Nimmt den Dateizeiger handle, und verkürzt die Datei auf die Länge size.

Parameter-Liste

handle

Der Dateizeiger.

Hinweis:

handle muss zum Schreiben geöffnet sein.

size

Die Länge, auf die gekürzt werden soll.

Hinweis:

Ist size größer als die Datei, wird die Datei mit Null-Bytes aufgefüllt.

Ist size kleiner als die Datei, wird die Datei auf diese Größe gekürzt.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Dateikürzungsbeispiel

<?php
$filename = 'lorem_ipsum.txt';

$handle = fopen($filename, 'r+');
ftruncate($handle, rand(1, filesize($filename)));
rewind($handle);
echo fread($handle, filesize($filename));
fclose($handle);
?>

Anmerkungen

Hinweis:

Der Dateizeiger wird nicht geändert.

Siehe auch

  • fopen() - Öffnet eine Datei oder URL
  • fseek() - Positioniert den Dateizeiger

ftell
fwrite
Dateisystem


Binär-sicheres Dateischreiben

ftruncate
glob
Dateisystem
PHP Manual

fwrite

(PHP 4, PHP 5, PHP 7)

fwrite — Binär-sicheres Dateischreiben

Beschreibung

int fwrite ( resource $handle , string $string [, int $length ] )

fwrite() schreibt den Inhalt der Zeichenkette string in die Datei, auf welche der Dateizeiger handle zeigt.

Parameter-Liste

handle

Eine Dateisystemressource (resource), wie sie in der Regel von fopen() zurückgegeben wird.

string

Die zu schreibende Zeichenkette.

length

Wenn der length Parameter angegeben wird, wird das Schreiben nach length Bytes beendet, oder wenn das Ende von string erreicht ist, je nachdem was eher eintritt.

Sollte der length Parameter gesetzt sein, so ist zu beachten, dass die magic_quotes_runtime Konfigurations-Option ignoriert wird und somit keine Schrägstriche mehr von der Zeichenkette string entfernt werden.

Rückgabewerte

fwrite() gibt die Anzahl der geschriebenen Bytes zurück, oder FALSE bei einem Fehler.

Anmerkungen

Hinweis:

Das Schreiben in einen Netzwerkstream kann enden, bevor die gesamte Zeichenkette geschrieben wurde. Der Rückgabewert von fwrite() kann wie folgt überprüft werden:

<?php
function fwrite_stream($fp, $string) {
    for ($written = 0; $written < strlen($string); $written += $fwrite) {
        $fwrite = fwrite($fp, substr($string, $written));
        if ($fwrite === false) {
            return $written;
        }
    }
    return $written;
}
?>

Hinweis:

Auf Systemen, welche zwischen Binär- und Textdateien (z.B. Windows) unterscheiden, muss die Datei mit 'b' im fopen() Mode-Parameter geöffnet werden.

Hinweis:

Wurde handle mit fopen() im Anfügemodus geöffnet, ist das Schreiben mit fwrite() atomar (außer wenn die Länge von string die Blockgröße des Dateisystems auf manchen Systemen überschreitet, und so lange sich die Datei in einem lokalen Dateisystem befindet). D.h. es besteht keine Notwendigkeit eine Ressource mit flock() vor dem Aufruf von fwrite() zu sperren; alle Daten werden ohne Unterbrechung geschrieben.

Hinweis:

Wird zweimalig in den Dateizeiger geschrieben, werden die Daten an das Ende des Dateiinhalts angehängt:

<?php
$fp = fopen('data.txt', 'w');
fwrite($fp, '1');
fwrite($fp, '23');
fclose($fp);

// der Inhalt von 'data.txt' ist nun 123 and nicht 23!
?>

Beispiele

Beispiel #1 Ein einfaches Beispiel für fwrite

<?php
$filename = 'test.txt';
$somecontent = "Füge dies der Datei hinzu\n";

// Sichergehen, dass die Datei existiert und beschreibbar ist.
if (is_writable($filename)) {

    // Wir öffnen $filename im "Anhänge" - Modus.
    // Der Dateizeiger befindet sich am Ende der Datei, und
    // dort wird $somecontent später mit fwrite() geschrieben.
    if (!$handle = fopen($filename, "a")) {
         print "Kann die Datei $filename nicht öffnen";
         exit;
    }

    // Schreibe $somecontent in die geöffnete Datei.
    if (!fwrite($handle, $somecontent)) {
        print "Kann in die Datei $filename nicht schreiben";
        exit;
    }

    print "Fertig, in Datei $filename wurde $somecontent geschrieben";

    fclose($handle);

} else {
    print "Die Datei $filename ist nicht schreibbar";
}
?>

Siehe auch

  • fread() - Liest Binärdaten aus einer Datei
  • fopen() - Öffnet eine Datei oder URL
  • fsockopen() - Stellt eine Internet- oder Unix-Domain-Socket-Verbindung her
  • popen() - Öffnet einen Prozesszeiger
  • file_get_contents() - Liest die gesamte Datei in einen String
  • pack() - Packt Daten in eine Binär-Zeichenkette

ftruncate
glob
Dateisystem


Findet Dateinamen, die mit einem Muster übereinstimmen

fwrite
is_dir
Dateisystem
PHP Manual

glob

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

glob — Findet Dateinamen, die mit einem Muster übereinstimmen

Beschreibung

array glob ( string $pattern [, int $flags = 0 ] )

glob() findet Dateipfade, die mit dem angegebenen Muster pattern übereinstimmen. Die Übereinstimmung wird nach den gleichen Regeln geprüft, wie in der glob()-Funktion der C-Bibliothek und entspricht weitgehend den Regeln in den üblichen Kommandozeilen-Shells.

Parameter-Liste

pattern

Das Suchmuster. Parameter- und Tilde-Ersetzung findet nicht statt.

flags

Mögliche Flags:

  • GLOB_MARK - Fügt jedem zurückgegebenen Verzeichnis einen Slash hinzu
  • GLOB_NOSORT - Gibt Dateinamen unsortiert in der Reihenfolge ihrer Verzeichniseinträge zurück. Wenn dieses Flag nicht verwendet wird, werden die Pfadnamen alphabetisch sortiert
  • GLOB_NOCHECK - Gibt das Suchmuster zurück, wenn keine übereinstimmende Dateinamen gefunden wurden
  • GLOB_NOESCAPE - Backslashes maskieren keine Metazeichen
  • GLOB_BRACE - {a,b,c} prüft auf 'a', 'b', oder 'c'
  • GLOB_ONLYDIR - Gibt nur übereinstimmende Verzeichnisnamen zurück
  • GLOB_ERR - Anhalten bei Lesefehlern (wie nicht-lesbaren Verzeichnis), standardmäßig werden Fehler ignoriert

Rückgabewerte

Gibt ein Array mit den übereinstimmenden Datei- und Verzeichnisnamen zurück. Wenn keine Treffer gefunden wurden, wird ein leeres Array zurückgegeben und im Fehlerfall FALSE.

Hinweis:

Auf manchen Systemen ist es nicht möglich, zwischen einer leeren Ergebnismenge und einem aufgetretenen Fehler zu unterscheiden.

Changelog

Version | Beschreibung
5.1.0 | GLOB_ERR wurde hinzugefügt

Beispiele

Beispiel #1 Einfacher Ersatz von opendir() etc.

<?php
foreach (glob("*.txt") as $filename) {
    echo "$filename - Größe: " . filesize($filename) . "\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

funclist.txt - Größe: 44686
funcsummary.txt - Größe: 267625
quickref.txt - Größe: 137820

Anmerkungen

Hinweis: Diese Funktion kann nicht mit entfernten Dateien arbeiten, da der Zugriff auf die Datei, die bearbeitet werden soll, über das Dateisystem des Servers möglich sein muss.

Hinweis: Diese Funktion ist nicht auf allen Systemen verfügbar (z.B. nicht auf alten Sun-OS-Versionen).

Hinweis: Das GLOB_BRACE-Flag ist auf einigen nicht-GNU-Systemen (wie Solaris) nicht verfügbar.

Siehe auch

  • opendir() - Öffnen eines Verzeichnis-Handles
  • readdir() - Liest einen Eintrag aus einem Verzeichnis-Handle
  • closedir() - Schließen eines Verzeichnis-Handles
  • fnmatch() - Match filename against a pattern

fwrite
is_dir
Dateisystem


Prüft, ob der angegebene Dateiname ein Verzeichnis ist

glob
is_executable
Dateisystem
PHP Manual

is_dir

(PHP 4, PHP 5, PHP 7)

is_dir — Prüft, ob der angegebene Dateiname ein Verzeichnis ist

Beschreibung

bool is_dir ( string $filename )

Prüft, ob der angegebene Dateiname ein Verzeichnis ist.

Parameter-Liste

filename

Pfad zur Datei. Wenn filename ein relativer Dateiname ist, so wird er auch relativ zu dem aktuellen Verzeichnis geprüft. Wenn filename ein symbolischer oder harter Link ist, so wird der Link aufgelöst und geprüft. Falls der Safe Mode oder open_basedir aktiviert ist, können weitere Einschränkungen berücksichtigt werden.

Rückgabewerte

Gibt TRUE zurück, wenn der Dateiname existiert und ein Verzeichnis ist, sonst FALSE.

Beispiele

Beispiel #1 is_dir()-Beispiel

<?php
var_dump(is_dir('eine_datei.txt'));
var_dump(is_dir('kein_verzeichnis/abc'));

var_dump(is_dir('..')); //ein Verzeichnis hoch
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(false)
bool(true)

Fehler/Exceptions

Im Fehlerfall wird eine E_WARNING ausgegeben.

Anmerkungen

Hinweis: Die Ergebnisse dieser Funktion werden gecached. Weitere Details erhalten Sie bei clearstatcache().

Tipp

Seit PHP 5.0.0 kann diese Funktion mit einigen URL-Wrappern benutzt werden. Schauen Sie in der Liste unter Unterstützte Protokolle und Wrapper nach, welcher Wrapper die Funktionalität von stat() unterstützt.

Siehe auch

  • chdir() - Wechseln des Verzeichnisses
  • dir() - Gibt eine Instanz der Directory Klasse zurück
  • opendir() - Öffnen eines Verzeichnis-Handles
  • is_file() - Prüft, ob der Dateiname eine reguläre Datei ist
  • is_link() - Prüft, ob der Dateiname ein symbolischer Link ist

glob
is_executable
Dateisystem


Prüft, ob der Dateiname ausführbar ist

is_dir
is_file
Dateisystem
PHP Manual

is_executable

(PHP 4, PHP 5, PHP 7)

is_executable — Prüft, ob der Dateiname ausführbar ist

Beschreibung

bool is_executable ( string $filename )

Prüft, ob der Dateiname ausführbar ist.

Parameter-Liste

filename

Pfad zur Datei.

Rückgabewerte

Gibt TRUE zurück, wenn der Dateiname existiert und ausführbar ist, oder FALSE im Fehlerfall.

Beispiele

Beispiel #1 is_executable()-Beispiel

<?php

$file = '/home/vincent/somefile.sh';

if (is_executable($file)) {
    echo $file.' ist ausführbar';
} else {
    echo $file.' ist nicht ausführbar';
}

?>

Fehler/Exceptions

Im Fehlerfall wird eine E_WARNING ausgegeben.

Anmerkungen

Hinweis: Die Ergebnisse dieser Funktion werden gecached. Weitere Details erhalten Sie bei clearstatcache().

Tipp

Seit PHP 5.0.0 kann diese Funktion mit einigen URL-Wrappern benutzt werden. Schauen Sie in der Liste unter Unterstützte Protokolle und Wrapper nach, welcher Wrapper die Funktionalität von stat() unterstützt.

Siehe auch

  • is_file() - Prüft, ob der Dateiname eine reguläre Datei ist
  • is_link() - Prüft, ob der Dateiname ein symbolischer Link ist

is_dir
is_file
Dateisystem


Prüft, ob der Dateiname eine reguläre Datei ist

is_executable
is_link
Dateisystem
PHP Manual

is_file

(PHP 4, PHP 5, PHP 7)

is_file — Prüft, ob der Dateiname eine reguläre Datei ist

Beschreibung

bool is_file ( string $filename )

Prüft, ob der Dateiname eine reguläre Datei ist.

Parameter-Liste

filename

Pfad zur Datei.

Rückgabewerte

Gibt TRUE zurück, wenn der Dateiname existiert und eine reguläre Datei ist, sonst FALSE.

Hinweis: Weil PHPs Integer Typ vorzeichenbehaftet ist und viele Platformen 32bit Integer verwenden, können einige Dateisystem-Funktionen für Dateien größer als 2GB unerwartete Ergebnisse liefern.

Beispiele

Beispiel #1 is_file()-Beispiel

<?php
var_dump(is_file('eine_datei.txt')) . "\n";
var_dump(is_file('/usr/bin/')) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(false)

Fehler/Exceptions

Im Fehlerfall wird eine E_WARNING ausgegeben.

Anmerkungen

Hinweis: Die Ergebnisse dieser Funktion werden gecached. Weitere Details erhalten Sie bei clearstatcache().

Tipp

Seit PHP 5.0.0 kann diese Funktion mit einigen URL-Wrappern benutzt werden. Schauen Sie in der Liste unter Unterstützte Protokolle und Wrapper nach, welcher Wrapper die Funktionalität von stat() unterstützt.

Siehe auch

  • is_dir() - Prüft, ob der angegebene Dateiname ein Verzeichnis ist
  • is_link() - Prüft, ob der Dateiname ein symbolischer Link ist

is_executable
is_link
Dateisystem


Prüft, ob der Dateiname ein symbolischer Link ist

is_file
is_readable
Dateisystem
PHP Manual

is_link

(PHP 4, PHP 5, PHP 7)

is_link — Prüft, ob der Dateiname ein symbolischer Link ist

Beschreibung

bool is_link ( string $filename )

Prüft, ob der angegebene Dateiname ein symbolischer Link ist.

Parameter-Liste

filename

Pfad zur Datei.

Rückgabewerte

Gibt TRUE zurück, wenn der Dateiname existiert und es sich um einen symbolischen Link handelt, sonst FALSE.

Beispiele

Beispiel #1 Erstelle und bestätige, dass eine Datei ein symbolischer Link ist

<?php
$link = 'uploads';

if (is_link($link)) {
    echo readlink($link);
} else {
    symlink('uploads.php', $link);
}
?>

Fehler/Exceptions

Im Fehlerfall wird eine E_WARNING ausgegeben.

Anmerkungen

Hinweis: Die Ergebnisse dieser Funktion werden gecached. Weitere Details erhalten Sie bei clearstatcache().

Tipp

Seit PHP 5.0.0 kann diese Funktion mit einigen URL-Wrappern benutzt werden. Schauen Sie in der Liste unter Unterstützte Protokolle und Wrapper nach, welcher Wrapper die Funktionalität von stat() unterstützt.

Siehe auch

  • is_dir() - Prüft, ob der angegebene Dateiname ein Verzeichnis ist
  • is_file() - Prüft, ob der Dateiname eine reguläre Datei ist
  • readlink() - Liefert das Ziel eines symbolischen Links

is_file
is_readable
Dateisystem


Prüft, ob eine Datei existiert und lesbar ist

is_link
is_uploaded_file
Dateisystem
PHP Manual

is_readable

(PHP 4, PHP 5, PHP 7)

is_readable — Prüft, ob eine Datei existiert und lesbar ist

Beschreibung

bool is_readable ( string $filename )

Gibt TRUE zurück, wenn die Datei existiert und lesbar ist.

Parameter-Liste

filename

Pfad zur Datei.

Rückgabewerte

Gibt TRUE zurück, wenn die Datei oder das Verzeichnis (angegeben durch filename) existiert und lesbar ist, sonst FALSE.

Beispiele

Beispiel #1 is_readable()-Beispiel

<?php
$filename = 'test.txt';
if (is_readable($filename)) {
    echo 'Die Datei ist lesbar';
} else {
    echo 'Die Datei ist nicht lesbar';
}
?>

Fehler/Exceptions

Im Fehlerfall wird eine E_WARNING ausgegeben.

Anmerkungen

Bedenken Sie, dass PHP mit der Benutzer-ID auf die Datei zugreift, unter der der Webserver läuft (oftmals ist dies 'nobody'). Beschränkungen durch safe_mode werden vor PHP 5.1.5 nicht berücksichtigt.

Hinweis: Die Ergebnisse dieser Funktion werden gecached. Weitere Details erhalten Sie bei clearstatcache().

Tipp

Seit PHP 5.0.0 kann diese Funktion mit einigen URL-Wrappern benutzt werden. Schauen Sie in der Liste unter Unterstützte Protokolle und Wrapper nach, welcher Wrapper die Funktionalität von stat() unterstützt.

Hinweis:

Die Prüfung wird mit der echten UID/GID anstelle der effektiven ID ausgeführt.

Diese Funktion kann TRUE für Verzeichnisse zurück liefern. Mittels is_dir() kann zwischen Dateien und Verzeichnissen unterschieden werden.

Siehe auch

  • is_writable() - Prüft, ob in eine Datei geschrieben werden kann
  • file_exists() - Prüft, ob eine Datei oder ein Verzeichnis existiert
  • fgets() - Liest eine Zeile von der Position des Dateizeigers

is_link
is_uploaded_file
Dateisystem


Prüft, ob die Datei mittels HTTP-POST upgeloadet wurde

is_readable
is_writable
Dateisystem
PHP Manual

is_uploaded_file

(PHP 4 >= 4.0.3, PHP 5, PHP 7)

is_uploaded_file — Prüft, ob die Datei mittels HTTP-POST upgeloadet wurde

Beschreibung

bool is_uploaded_file ( string $filename )

Gibt TRUE zurück, wenn die Datei filename mittels HTTP-POST hochgeladen wurde. Dies ist hilfreich, um sicherzustellen, dass kein böswilliger Nutzer versucht hat, das Skript zu überlisten, indem er es Dateien bearbeiten lässt, die es gar nicht bearbeiten sollte, zum Beispiel /etc/passwd.

Diese Prüfung ist insbesondere dort interessant, wo irgendeine Aktion mit upgeloadeten Dateien deren Inhalt dem Nutzer (oder sogar anderen Nutzern auf dem gleichen System) zugänglich machen könnte.

Um korrekt arbeiten zu können, benötigt die Funktion is_uploaded_file() einen Parameter wie $_FILES['userfile']['tmp_name']. Der Name der upgeloadeten Datei auf dem Anwenderrechner $_FILES['userfile']['name'] funktioniert nicht.

Parameter-Liste

filename

Der zu prüfende Dateiname.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 is_uploaded_file()-Beispiel

<?php

if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
   echo "Datei ". $_FILES['userfile']['name'] ." erfolgreich upgeloadet.\n";
   echo "Anzeige des Inhalts\n";
   readfile($_FILES['userfile']['tmp_name']);
} else {
   echo "Mögliche Dateiupload-Attacke: ";
   echo "Dateiname '". $_FILES['userfile']['tmp_name'] . "'.";
}

?>

Siehe auch

  • move_uploaded_file() - Verschiebt eine hochgeladene Datei an einen neuen Ort
  • $_FILES
  • Siehe Steuerung von Dateiuploads für ein einfaches Anwendungsbeispiel.

is_readable
is_writable
Dateisystem


Prüft, ob in eine Datei geschrieben werden kann

is_uploaded_file
is_writeable
Dateisystem
PHP Manual

is_writable

(PHP 4, PHP 5, PHP 7)

is_writable — Prüft, ob in eine Datei geschrieben werden kann

Beschreibung

bool is_writable ( string $filename )

Gibt TRUE zurück, wenn filename existiert und schreibbar ist. Der Dateinamens-Parameter kann auch ein Verzeichnisname sein, um prüfen zu können, ob ein Verzeichnis schreibbar ist.

Bedenken Sie, dass PHP mit der Benutzer-ID auf die Datei zugreift, unter der der Webserver läuft (oftmals ist dies 'nobody'). Beschränkungen durch safe_mode werden nicht berücksichtigt.

Parameter-Liste

filename

Der zu prüfende Dateiname.

Rückgabewerte

Gibt TRUE zurück, wenn filename existiert und schreibbar ist.

Beispiele

Beispiel #1 is_writable()-Beispiel

<?php
$filename = 'test.txt';
if (is_writable($filename)) {
    echo 'Die Datei kann geschrieben werden';
} else {
    echo 'Die Datei kann nicht geschrieben werden';
}
?>

Fehler/Exceptions

Im Fehlerfall wird eine E_WARNING ausgegeben.

Anmerkungen

Hinweis: Die Ergebnisse dieser Funktion werden gecached. Weitere Details erhalten Sie bei clearstatcache().

Tipp

Seit PHP 5.0.0 kann diese Funktion mit einigen URL-Wrappern benutzt werden. Schauen Sie in der Liste unter Unterstützte Protokolle und Wrapper nach, welcher Wrapper die Funktionalität von stat() unterstützt.

Siehe auch

  • is_readable() - Prüft, ob eine Datei existiert und lesbar ist
  • file_exists() - Prüft, ob eine Datei oder ein Verzeichnis existiert
  • fwrite() - Binär-sicheres Dateischreiben

is_uploaded_file
is_writeable
Dateisystem


Alias von is_writable

is_writable
lchgrp
Dateisystem
PHP Manual

is_writeable

(PHP 4, PHP 5, PHP 7)

is_writeable — Alias von is_writable()

Beschreibung

Diese Funktion ist ein Alias für: is_writable().

is_writable
lchgrp
Dateisystem


Changes group ownership of symlink

is_writeable
lchown
Dateisystem
PHP Manual

lchgrp

(PHP 5 >= 5.1.2, PHP 7)

lchgrp — Changes group ownership of symlink

Beschreibung

bool lchgrp ( string $filename , mixed $group )

Attempts to change the group of the symlink filename to group.

Only the superuser may change the group of a symlink arbitrarily; other users may change the group of a symlink to any group of which that user is a member.

Parameter-Liste

filename

Path to the symlink.

group

The group specified by name or number.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Changing the group of a symbolic link

<?php
$target = 'output.php';
$link = 'output.html';
symlink($target, $link);

lchgrp($link, 8);
?>

Anmerkungen

Hinweis: Diese Funktion kann nicht mit entfernten Dateien arbeiten, da der Zugriff auf die Datei, die bearbeitet werden soll, über das Dateisystem des Servers möglich sein muss.

Hinweis: Wenn Safe Mode aktiviert ist, überprüft PHP, ob die Dateien/Verzeichnisse, die mit dem Skript bearbeitet werden sollen, die gleiche UID (Eigentümer) haben wie das Skript selbst.

Hinweis: Diese Funktion ist auf Windows-Plattformen nicht implementiert.

Siehe auch

  • chgrp() - Wechselt die Gruppenzugehörigkeit einer Datei
  • lchown() - Changes user ownership of symlink
  • chown() - Ändert den Eigentümer einer Datei
  • chmod() - Ändert die Zugriffsrechte einer Datei

is_writeable
lchown
Dateisystem


Changes user ownership of symlink

lchgrp
link
Dateisystem
PHP Manual

lchown

(PHP 5 >= 5.1.2, PHP 7)

lchown — Changes user ownership of symlink

Beschreibung

bool lchown ( string $filename , mixed $user )

Attempts to change the owner of the symlink filename to user user.

Only the superuser may change the owner of a symlink.

Parameter-Liste

filename

Path to the file.

user

User name or number.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Changing the owner of a symbolic link

<?php
$target = 'output.php';
$link = 'output.html';
symlink($target, $link);

lchown($link, 8);
?>

Anmerkungen

Hinweis: Diese Funktion kann nicht mit entfernten Dateien arbeiten, da der Zugriff auf die Datei, die bearbeitet werden soll, über das Dateisystem des Servers möglich sein muss.

Hinweis: Wenn Safe Mode aktiviert ist, überprüft PHP, ob die Dateien/Verzeichnisse, die mit dem Skript bearbeitet werden sollen, die gleiche UID (Eigentümer) haben wie das Skript selbst.

Hinweis: Diese Funktion ist auf Windows-Plattformen nicht implementiert.

Siehe auch

  • chown() - Ändert den Eigentümer einer Datei
  • lchgrp() - Changes group ownership of symlink
  • chgrp() - Wechselt die Gruppenzugehörigkeit einer Datei
  • chmod() - Ändert die Zugriffsrechte einer Datei

lchgrp
link
Dateisystem


Erzeugt einen harten Link

lchown
linkinfo
Dateisystem
PHP Manual

link

(PHP 4, PHP 5, PHP 7)

link — Erzeugt einen harten Link

Beschreibung

bool link ( string $target , string $link )

link() erzeugt einen harten Link

Parameter-Liste

target

Das Ziel des Links.

link

Der Linkname.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.3.0 | Diese Funktion ist nun verfügbar unter Windows-Plattformen (Vista, Server 2008 or neuer).

Beispiele

Beispiel #1 Erstellen eines harten Links

<?php

$target = 'quelle.ext';    // Die ist die bereits existierende Datei
$link   = 'neuedatei.ext'; // Dies ist der Dateiname, auf den verlinkt
                           // werden soll

link($target, $link);
?>

Anmerkungen

Hinweis: Diese Funktion kann nicht mit entfernten Dateien arbeiten, da der Zugriff auf die Datei, die bearbeitet werden soll, über das Dateisystem des Servers möglich sein muss.

Hinweis: Nur für Windows: Diese Funktion setzt voraus, dass PHP in einem erhöhten Modus oder mit deaktivierter Benutzerkontensteuerung (UAC) läuft.

Siehe auch

  • symlink() - Erzeugt einen symbolischen Link
  • readlink() - Liefert das Ziel eines symbolischen Links
  • linkinfo() - Liefert Informationen über einen Link

lchown
linkinfo
Dateisystem


Liefert Informationen über einen Link

link
lstat
Dateisystem
PHP Manual

linkinfo

(PHP 4, PHP 5, PHP 7)

linkinfo — Liefert Informationen über einen Link

Beschreibung

int linkinfo ( string $path )

Liefert Informationen über einen Link.

Diese Funktion wird benutzt, um zu verifizieren, ob ein Link (auf den mit path gezeigt wird) wirklich existiert. Dabei wird die gleiche Methode benutzt, die in dem S_ISLNK-Makro in stat.h definiert ist).

Parameter-Liste

path

Pfad zum Link.

Rückgabewerte

linkinfo() gibt das st_dev-Feld der Unix-C-Stat-Struktur, die vom lstat-Systemaufruf zurückgegeben wird, zurück. Gibt 0 oder FALSE im Fehlerfall zurück.

Changelog

Version | Beschreibung
5.3.0 | Diese Funktion ist nun verfügbar unter Windows-Plattformen (Vista, Server 2008 or neuer).

Beispiele

Beispiel #1 linkinfo()-Beispiel

<?php

echo linkinfo('/vmlinuz'); // 835

?>

Siehe auch

  • symlink() - Erzeugt einen symbolischen Link
  • link() - Erzeugt einen harten Link
  • readlink() - Liefert das Ziel eines symbolischen Links

link
lstat
Dateisystem


Sammelt Informationen über eine Datei oder einen symbolischen Link

linkinfo
mkdir
Dateisystem
PHP Manual

lstat

(PHP 4, PHP 5, PHP 7)

lstat — Sammelt Informationen über eine Datei oder einen symbolischen Link

Beschreibung

array lstat ( string $filename )

Sammelt Statistiken über die Datei oder den symbolischen Link, die bzw. der in filename angegeben ist.

Parameter-Liste

filename

Pfad zur Datei oder zum symbolischen Link.

Rückgabewerte

Bitte lesen Sie die Handbuchseite zu stat() für Informationen über die Struktur des Arrays, das lstat() zurückgibt. Diese Funktion ist identisch zur stat()-Funktion, mit dem Unterschied, dass, falls filename ein symbolischer Link ist, dessen Statistik zurückgegeben wird und nicht der Status der Datei, auf die der symbolische Link zeigt.

Beispiele

Beispiel #1 Vergleich von stat() und lstat()

<?php
symlink('uploads.php', 'uploads');

// Vergleiche die Informationen von uploads.php und uploads
array_diff(stat('uploads'), lstat('uploads'));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Unterschiede in den Informationen beider Dateien.

Array
(
    [ino] => 97236376
    [mode] => 33188
    [size] => 34
    [atime] => 1223580003
    [mtime] => 1223581848
    [ctime] => 1223581848
    [blocks] => 8
)

Fehler/Exceptions

Im Fehlerfall wird eine E_WARNING ausgegeben.

Anmerkungen

Hinweis: Die Ergebnisse dieser Funktion werden gecached. Weitere Details erhalten Sie bei clearstatcache().

Tipp

Seit PHP 5.0.0 kann diese Funktion mit einigen URL-Wrappern benutzt werden. Schauen Sie in der Liste unter Unterstützte Protokolle und Wrapper nach, welcher Wrapper die Funktionalität von stat() unterstützt.

Siehe auch

  • stat() - Sammelt Informationen über eine Datei

linkinfo
mkdir
Dateisystem


Erstellt ein Verzeichnis

lstat
move_uploaded_file
Dateisystem
PHP Manual

mkdir

(PHP 4, PHP 5, PHP 7)

mkdir — Erstellt ein Verzeichnis

Beschreibung

bool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = false [, resource $context ]]] )

Versucht ein Verzeichnis mit dem angegebenen Namen zu erstellen.

Parameter-Liste

pathname

Der Verzeichnispfad.

mode

Der Modus ist standardmäßig 0777, was den größtmöglichen Zugang umfasst. Für weitere Informationen lesen Sie bitte die Details auf der chmod()-Seite.

Hinweis:

mode wird unter Windows ignoriert.

Beachten Sie, dass Sie den Modus als oktalen Wert angeben sollten, d.h., dass er eine führende Null haben sollte. Der Modus wird auch durch die aktuelle umask geändert, die Sie mit umask() ändern können.

recursive

Erlaubt die Erstellung von im pathname angegebenen verschachtelten Verzeichnissen.

context

Hinweis: Die Kontext-Unterstützung gibt es seit PHP 5.0.0. Eine Beschreibung von Kontexten finden Sie unter Streams.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 mkdir()-Beispiel

<?php
mkdir("/path/to/my/dir", 0700);
?>

Beispiel #2 mkdir() mit dem recursive-Parameter benutzen

<?php
// Gewünschte Verzeichnisstruktur
$structure = './stufe1/stufe2/stufe3/';

// Zur Erstellung der verschachtelten Struktur muss der $recursive-Parameter
// von mkdir() angegeben werden

if (!mkdir($structure, 0777, true)) {
    die('Erstellung der Verzeichnisse schlug fehl...');
}

// ...
?>

Fehler/Exceptions

Erzeugt einen Fehler der Stufe E_WARNING, falls das Verzeichnis bereits existiert.

Erzeugt einen Fehler der Stufe E_WARNING, wenn die relevanten Zugriffsrechte das Erstellen des Verzeichnisses verhindern.

Anmerkungen

Hinweis: Wenn Safe Mode aktiviert ist überprüft PHP, ob das Arbeitsverzeichnis, die gleiche UID (Eigentümer) hat wie das Skript selbst.

Siehe auch

  • is_dir() - Prüft, ob der angegebene Dateiname ein Verzeichnis ist
  • rmdir() - Löscht ein Verzeichnis

lstat
move_uploaded_file
Dateisystem


Verschiebt eine hochgeladene Datei an einen neuen Ort

mkdir
parse_ini_file
Dateisystem
PHP Manual

move_uploaded_file

(PHP 4 >= 4.0.3, PHP 5, PHP 7)

move_uploaded_file — Verschiebt eine hochgeladene Datei an einen neuen Ort

Beschreibung

bool move_uploaded_file ( string $filename , string $destination )

Diese Funktion prüft, dass die mit filename bezeichnete Datei eine gültige Upload-Datei ist (d.h., dass sie mittels PHP's HTTP POST Upload-Mechanismus hochgeladen wurde). Ist die Datei gültig, wird sie zum in destination bezeichneten Dateinamen verschoben.

Diese Art der Prüfung ist besonders wichtig, wo irgendeine Aktion mit hochgeladenen Dateien deren Inhalt dem User zugänglich machen könnte, oder gar anderen Usern auf dem selben System.

Parameter-Liste

filename

Der Dateiname der hochgeladenen Datei.

destination

Das Ziel der zu verschiebenden Datei.

Rückgabewerte

Gibt bei Erfolg TRUE zurück.

Ist filename keine gültige Datei, wird keine Aktion ausgeführt, und move_uploaded_file() gibt FALSE zurück.

Ist filename eine gültige Datei, jedoch aus irgendeinem Grund nicht verschoben werden kann, wird keine Aktion ausgeführt, und move_uploaded_file() gibt FALSE zurück. Zusätzlich wird eine Warnung ausgegeben.

Beispiele

Beispiel #1 Hochladen mehrerer Dateien

<?php
$uploads_dir = '/uploads';
foreach ($_FILES["pictures"]["error"] as $key => $error) {
    if ($error == UPLOAD_ERR_OK) {
        $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
        // basename() kann Directory-Traversal-Angriffe verhindern;
        // weitere Validierung/Bereinigung des Dateinamens kann angebracht sein
        $name = basename($_FILES["pictures"]["name"][$key]);
        move_uploaded_file($tmp_name, "$uploads_dir/$name");
    }
}
?>

Anmerkungen

Hinweis:

move_uploaded_file() berücksichtigt sowohl Safe Mode wie auch open_basedir. Allerdings werden die Beschränkungen nur auf den destination Pfad angewandt, um das Verschieben von hochgeladenen Dateien zu erlauben, bei denen sich filename mit den Beschränkungen im Konflikt befinden könnte. move_uploaded_file() gewährleistet die Sicherheit dieser Operation dadurch, dass nur diejenigen Dateien verschoben werden dürfen, die mit PHP hochgeladen wurden.

Warnung

Existiert die Zieldatei bereits, wird sie überschrieben.

Siehe auch

  • is_uploaded_file() - Prüft, ob die Datei mittels HTTP-POST upgeloadet wurde
  • rename() - Benennt eine Datei oder ein Verzeichnis um
  • See Handling file uploads for a simple usage example

mkdir
parse_ini_file
Dateisystem


Parst eine Konfigurationsdatei

move_uploaded_file
parse_ini_string
Dateisystem
PHP Manual

parse_ini_file

(PHP 4, PHP 5, PHP 7)

parse_ini_file — Parst eine Konfigurationsdatei

Beschreibung

array parse_ini_file ( string $filename [, bool $process_sections = false [, int $scanner_mode = INI_SCANNER_NORMAL ]] )

parse_ini_file() lädt die in filename angegebene Datei, und gibt die darin enthaltenen Einstellungen in einem assoziativen Array zurück.

Die Struktur der Ini-Datei ist identisch zur php.ini.

Parameter-Liste

filename

Der Dateiname der zu ladenden ini-Datei.

process_sections

Setzt man den Parameter process_sections auf TRUE, erhält man ein mehrdimensionales Array mit den Gruppennamen und Einstellungen. Der Standardwert für process_sections ist FALSE

scanner_mode

Kann entweder INI_SCANNER_NORMAL (Standard) oder INI_SCANNER_RAW sein. Ist INI_SCANNER_RAW gesetzt, so werden die Werte der Optionen nicht geparst.

Seit PHP 5.6.1 kann auch INI_SCANNER_TYPED angegeben werden. In diesem Modus werden soweit möglich die Typen von Boolean-, Null- oder Integer-Werten beibehalten. Die Zeichenketten "true", "on" und "yes" werden zu TRUE konvertiert. "false", "off", "no" und "none" werden als FALSE angesehen. "null" wird in diesem Modus zu NULL. Soweit möglich werden alle numerischen Zeichenketten zu Integertypen umgewandelt.

Rückgabewerte

Im Erfolgsfall werden die Einstellungen als assoziatives Array zurückgegeben, ansonsten FALSE.

Changelog

Version | Beschreibung
7.0.0 | Das Raute-Symbol (#) kann nicht mehr für Kommentare verwendet werden.
5.6.1 | Neuen Modus INI_SCANNER_TYPED hinzugefügt.
5.3.0 | Der optionale Parameter scanner_mode wurde hinzugefügt. Einfache Anführungszeichen können nun um Variablenzuordnungen herum verwendet werden. Rautezeichen (# können nicht länger für Kommentare verwendet werden und bei Verwendung wird eine Warnung zur veralteten Benutzung ausgegeben.
5.2.7 | Bei einem Syntaxfehler gibt die Funktion nun FALSE statt eines leeren Array zurück.
5.2.4 | Schlüssel und Gruppennamen mit Ziffern werden nun als Integer von PHP ausgewertet, weshalb Zahlen, die mit einer 0 beginnen, als Oktalzahlen und Zahlen, die mit 0x beginnen, als Hexadezimalzahlen verstanden werden.
5.0.0 | In doppelten Anführungszeichen eingeschlossene Werte können nun Zeilenumbrüche enthalten.
4.2.1 | Die Funktion wird nun durch die Einstellungen Safe Mode und open_basedir beeinflusst.

Beispiele

Beispiel #1 Inhalt der sample.ini

; Dies ist ein Beispiel für eine Konfigurationsdatei
; Kommentare beginnen wie in der php.ini mit ';'

[erste_gruppe]
eins = 1
fünf = 5
tier = VOGEL

[zweite_gruppe]
pfad = /usr/local/bin
URL = "http://www.example.com/~username"

[dritte_gruppe]
phpversion[] = "5.0"
phpversion[] = "5.1"
phpversion[] = "5.2"
phpversion[] = "5.3"

urls[svn] = "http://svn.php.net"
urls[git] = "http://git.php.net"

Beispiel #2 parse_ini_file()-Beispiel

Konstanten in einer Ini-Datei können ebenfalls geparst werden indem man eine Konstante als INI-Wert definiert, bevor parse_ini_file() aufgerufen wird. Dieser Wert wird in die Ergebnisse integriert, dabei werden nur INI-Werte ausgewertet. Zum Beispiel:

<?php

define ('VOGEL', 'Amsel');

// Ohne Gruppen analysieren
$ini_array = parse_ini_file("sample.ini");
print_r($ini_array);

// Mit Gruppen analysieren
$ini_array = parse_ini_file("sample.ini", TRUE);
print_r($ini_array);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [eins] => 1
    [fünf] => 5
    [tier] => Amsel
    [pfad] => /usr/local/bin
    [URL] => http://www.example.com/~username
    [phpversion] => Array
        (
            [0] => 5.0
            [1] => 5.1
            [2] => 5.2
            [3] => 5.3
        )

    [urls] => Array
        (
            [svn] => http://svn.php.net
            [git] => http://git.php.net
        )
)
Array
(
    [erste_gruppe] => Array
        (
            [eins] => 1
            [fünf] => 5
            [tier] => Amsel
        )

    [zweite_gruppe] => Array
        (
            [pfad] => /usr/local/bin
            [URL] => http://www.example.com/~username
        )

    [dritte_gruppe] => Array
        (
            [phpversion] => Array
                (
                    [0] => 5.0
                    [1] => 5.1
                    [2] => 5.2
                    [3] => 5.3
                )

            [urls] => Array
                (
                    [svn] => http://svn.php.net
                    [git] => http://git.php.net
                )

      )

)

Beispiel #3 parse_ini_file() parst eine php.ini

<?php
    // Eine einfache Funktion, um das Ergebnis zu vergleichen
    function janein($expression)
    {
        return($expression ? 'Ja' : 'Nein');
    }

    // Pfad der php.ini mittels der Funktion php_ini_loaded_file()
    // holen, die seit PHP 5.2.4 verfügbar ist
    $ini_path = php_ini_loaded_file();

    // Parsen der php.ini
    $ini = parse_ini_file($ini_path);

    // Werte ausgeben und vergleichen. Beachten Sie dass die Verwendung von
    // get_cfg_var() die gleichen Ergebnisse für geparste und geladene
    // Werte geben wird
    echo '(geparst) magic_quotes_gpc = ' . janein($ini['magic_quotes_gpc']) . PHP_EOL;
    echo '(geladen) magic_quotes_gpc = ' . janein(get_cfg_var('magic_quotes_gpc')) . PHP_EOL;
    ?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

    (geparst) magic_quotes_gpc = Ja
    (geladen) magic_quotes_gpc = Nein

Anmerkungen

Hinweis:

Diese Funktion hat nichts mit dem Laden der php.ini-Datei zu tun. Diese ist zum Ausführungszeitpunkt Ihres Skriptes bereits vollständig verarbeitet. Diese Funktion kann verwendet werden, um die Konfigurationsdateien Ihrer eigenen Anwendung zu lesen.

Hinweis:

Falls ein Wert der Ini-Datei ein nicht alphanumerisches Zeichen enthält muss dieser Wert in doppelte Anführungszeichen (") eingeschlossen werden.

Hinweis: Es gibt reservierte Schlüsselwörter, welche nicht als Schlüssel in Ini-Dateien verwendet werden dürfen. Diese umfassen: null, yes, no, true, false, on, off, none. Die Werte null, off, no und false ergeben "" und die Werte on, yes and true ergeben "1", solange der Modus INI_SCANNER_TYPED nicht verwendet wird (seit PHP 5.6.1). Die Zeichen ?{}|&~!()^" dürfen in einem Schlüssel nicht verwendet werden und haben im Wert besondere Bedeutung.

Hinweis:

Einträge ohne Gleichheitszeichen werden ignoriert. Beispielsweise würde "foo" ignoriert werden, während "bar =" geparst und mit einem leeren Wert hinzugefügt würde. Beispielsweise hat MySQL eine Einstellung "no-auto-rehash" in der my.cnf welche keinen Wert enthält und somit ignoriert würde.

Siehe auch

  • parse_ini_string() - Analysiert einen Konfigurations-String

move_uploaded_file
parse_ini_string
Dateisystem


Analysiert einen Konfigurations-String

parse_ini_file
pathinfo
Dateisystem
PHP Manual

parse_ini_string

(PHP 5 >= 5.3.0, PHP 7)

parse_ini_string — Analysiert einen Konfigurations-String

Beschreibung

array parse_ini_string ( string $ini [, bool $process_sections = false [, int $scanner_mode = INI_SCANNER_NORMAL ]] )

parse_ini_string() Gibt die Konfiguration aus dem String ini in einem assoziativen Array zurück.

Die Struktur des ini-Strings ist die selbe wie die der php.ini

Parameter-Liste

ini

Der Inhalt der ini-Datei die analysiert wird.

process_sections

Ist der Parameter process_sections als TRUE gesetzt, werden Sie ein mehrdimensionales Array zurückbekommen, welches die Abschnitte und Einstellungen enthält. Die Standardeinstellung process_sections ist FALSE

scanner_mode

Kann entweder INI_SCANNER_NORMAL (normal) oder INI_SCANNER_RAW sein. Wenn INI_SCANNER_RAW angegeben ist, werden optionale Inhalte nicht analysiert.

Seit PHP 5.6.1 kann auch INI_SCANNER_TYPED angegeben werden. In diesem Modus werden soweit möglich die Typen von Boolean-, Null- oder Integer-Werten beibehalten. Die Zeichenketten "true", "on" und "yes" werden zu TRUE konvertiert. "false", "off", "no" und "none" werden als FALSE angesehen. "null" wird in diesem Modus zu NULL. Soweit möglich werden alle numerischen Zeichenketten zu Integertypen umgewandelt.

Rückgabewerte

Die Einstellungen werden als assoziatives Array bei Erfolg, und FALSE bei einem Fehler zurückgegeben..

Anmerkungen

Hinweis: Es gibt reservierte Wörter die nicht als Keys für die ini-Dateien benutzt werden dürfen. Dies schließt null, yes, no, true, false, on, off und none ein. Die Werte null, off, no und false geben "" zurück, und die Werte on, yes und true "1", es sei denn der INI_SCANNER_TYPED-Modus wird verwendet. Die Buchstaben ?{}|&~![()^" dürfen nirgendwo inm Key benutzt werden und haben eine spezielle Bedeutung.

Siehe auch

  • parse_ini_file() - Parst eine Konfigurationsdatei

parse_ini_file
pathinfo
Dateisystem


Liefert Informationen über einen Dateipfad

parse_ini_string
pclose
Dateisystem
PHP Manual

pathinfo

(PHP 4 >= 4.0.3, PHP 5, PHP 7)

pathinfo — Liefert Informationen über einen Dateipfad

Beschreibung

mixed pathinfo ( string $path [, int $options = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME ] )

pathinfo() gibt Informationen über einen Dateipfad (path) zurück: entweder als assoziatives Array oder als String, abhängig vom options-Parameter.

Parameter-Liste

path

Der zu analysierende Dateipfad.

options

Falls angegeben, wird nur dieses eine Element zurückgegeben. Mögliche Werte: PATHINFO_DIRNAME, PATHINFO_BASENAME, PATHINFO_EXTENSION oder PATHINFO_FILENAME.

Falls options nicht angegeben wird, werden alle verfügbaren Elemente zurückgegeben.

Rückgabewerte

Falls der options-Parameter nicht angegeben wird, wird ein assoziatives Array mit den folgenden Elementen zurückgegeben: dirname, basename, extension (falls vorhanden) und filename.

Hinweis:

Wenn der path mehr als eine Erweiterung hat, gibt PATHINFO_EXTENSION nur die letzte zurück, und PATHINFO_FILENAME entfernt nur die letzte. (Siehe auch das erste Beispiel weiter unten.)

Hinweis:

Falls path keine Erweiterung hat, wird das extension-Element nicht zurückgegeben (siehe das zweite Beispiel unten).

Falls options genutzt wird, gibt diese Funktion einen String mit dem gewünschten Element zurück.

Changelog

Version | Beschreibung
5.2.0 | Die PATHINFO_FILENAME-Konstante wurde hinzugefügt.

Beispiele

Beispiel #1 pathinfo()-Beispiel

<?php
$path_parts = pathinfo('/www/htdocs/inc/lib.inc.php');

echo $path_parts['dirname'], "\n";
echo $path_parts['basename'], "\n";
echo $path_parts['extension'], "\n";
echo $path_parts['filename'], "\n"; // seit PHP 5.2.0
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

/www/htdocs/inc
lib.inc.php
php
lib.inc

Beispiel #2 pathinfo()-Beispiel für den Unterschied zwischen einer leeren und keiner Erweiterung

<?php
$path_parts = pathinfo('/path/emptyextension.');
var_dump($path_parts['extension']);

$path_parts = pathinfo('/path/noextension');
var_dump($path_parts['extension']);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(0) ""

Notice: Undefined index: extension in /test.php on line 6
NULL

Anmerkungen

Hinweis:

Informationen über das Wiederauffinden der aktuellen Pfadinformation finden Sie unter Vordefinierte Variablen.

Hinweis:

pathinfo() berücksichtigt die locale-Einstellung. Um einen Pfad, der Multibyte-Zeichen enthält, korrekt parsen zu können, muss die entsprechende locale mit der setlocale()-Funktion gesetzt werden.

Siehe auch

  • dirname() - Gibt den Pfad des übergeordneten Verzeichnisses zurück
  • basename() - Gibt letzten Namensteil einer Pfadangabe zurück
  • parse_url() - Analysiert eine URL und gibt ihre Bestandteile zurück
  • realpath() - Löst einen Pfad in einen absoluten und eindeutigen auf

parse_ini_string
pclose
Dateisystem


Schließt einen Prozess-Dateizeiger

pathinfo
popen
Dateisystem
PHP Manual

pclose

(PHP 4, PHP 5, PHP 7)

pclose — Schließt einen Prozess-Dateizeiger

Beschreibung

int pclose ( resource $handle )

Schließt einen Prozess-Dateizeiger, der durch einen Aufruf von popen() geöffnet wurde.

Parameter-Liste

handle

Der Dateizeiger muss gültig und durch einen erfolgreichen Funktionsaufruf von popen() zurückgegeben worden sein.

Rückgabewerte

Gibt den End-Status des ausgeführten Prozesses zurück. Im Fehlerfall wird -1 zurückgegeben.

Hinweis:

If PHP has been compiled with --enable-sigchild, the return value of this function is undefined.

Beispiele

Beispiel #1 pclose() Beispiel

<?php
$handle = popen('/bin/ls', 'r');
pclose($handle);
?>

Anmerkungen

Hinweis: Nur unter Unix:

pclose() ist intern unter Verwendung des waitpid(3) Systemaufrufs implementiert. Um den wirklichen Exit-Statuscode zu erhalten, sollte die Funktion pcntl_wexitstatus() verwendet werden.

Siehe auch

  • popen() - Öffnet einen Prozesszeiger

pathinfo
popen
Dateisystem


Öffnet einen Prozesszeiger

pclose
readfile
Dateisystem
PHP Manual

popen

(PHP 4, PHP 5, PHP 7)

popen — Öffnet einen Prozesszeiger

Beschreibung

resource popen ( string $command , string $mode )

Öffnet eine Verbindung zu einem Prozess, der durch das Kommando command ausgeführt wurde.

Parameter-Liste

command

Das Kommando

mode

Der Modus

Rückgabewerte

Gibt einen Dateizeiger zurück, der identisch ist mit dem, der bei der Funktion fopen() zurückgegeben wird, außer dass dieser nur in eine Richtung funktioniert (entweder lesend oder schreibend) und mit der Funktion pclose() geschlossen werden muss. Dieser Zeiger kann mit den Funktionen fgets(), fgetss() und fwrite() benutzt werden. Ist der Modus 'r', ist der zurückgegebene Dateizeiger das STDOUT des Kommandos; ist der Modus 'w', ist der zurückgegebene Dateizeiger das STDIN des Kommandos.

Wenn ein Fehler auftritt, wird FALSE zurückgegeben.

Beispiele

Beispiel #1 popen() Beispiel

<?php
$handle = popen("/bin/ls", "r");
?>

Wenn das auszuführende Kommando nicht gefunden werden konnte, wird eine gültige Ressource zurückgegeben. Das mag seltsam erscheinen, ist aber sinnvoll; es ermöglicht Ihnen, auf von der Konsole zurückgegebene Fehlermeldungen zuzugreifen:

Beispiel #2 popen() Beispiel

<?php
error_reporting(E_ALL);

/* Umleitung hinzufügen, sodass wir stderr erhalten können */
$handle = popen('/path/to/spooge 2>&1', 'r');
echo "'$handle'; " . gettype($handle) . "\n";
$read = fread($handle, 2096);
echo $read;
pclose($handle);
?>

Anmerkungen

Hinweis:

Wenn Sie bidirektionale Unterstützung wünschen, verwenden Sie proc_open().

Hinweis: Mit aktiviertem Safe Mode können Sie nur Programme ausführen, die im Verzeichnis liegen, das mit safe_mode_exec_dir angegeben wurde. Aus praktischen Gründen ist es gegenwärtig nicht erlaubt, dass der Pfad zu einem Programm .. enthält.

Warnung

Mit aktiviertem Safe Mode wird der Kommandostring mit escapeshellcmd() kodiert. Deshalb wird echo y | echo x zu echo y \| echo x.

Siehe auch

  • pclose() - Schließt einen Prozess-Dateizeiger
  • fopen() - Öffnet eine Datei oder URL
  • proc_open() - Führt ein Kommando aus und öffnet Dateizeiger für die Ein- und Ausgabe

pclose
readfile
Dateisystem


Gibt eine Datei aus

popen
readlink
Dateisystem
PHP Manual

readfile

(PHP 4, PHP 5, PHP 7)

readfile — Gibt eine Datei aus

Beschreibung

int readfile ( string $filename [, bool $use_include_path = false [, resource $context ]] )

Liest den Inhalt einer Datei und schreibt ihn in den Ausgabepuffer.

Parameter-Liste

filename

Der Name der Datei, die gelesen werden soll.

use_include_path

Sie können optional den zweiten Parameter benutzen und diesen auf TRUE setzen, wenn Sie auch im include_path nach der Datei suchen möchten.

context

Eine Stream-Kontext resource.

Rückgabewerte

Gibt die Anzahl der gelesenen Bytes einer Datei zurück. Wenn ein Fehler auftritt wird FALSE zurückgegeben und, außer wenn die Funktion als @readfile() aufgerufen wurde, wird eine Fehlermeldung ausgegeben.

Beispiele

Beispiel #1 Einen Download unter Verwendung von readfile() erzwingen

<?php
$file = 'monkey.gif';

if (file_exists($file)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename="'.basename($file).'"');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    readfile($file);
    exit;
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Anmerkungen

Hinweis:

readfile() weist für sich allein keine Speicherprobleme auf, selbst wenn große Dateien gesendet werden. Wenn Sie auf einen out-of-memory Fehler treffen, stellen Sie mit ob_get_level() sicher, dass die Ausgabepufferung deaktiviert ist.

Tipp

Mit dieser Funktion können Sie eine URL als Dateinamen verwenden, falls Sie fopen wrappers ermöglicht haben. Mehr Details dazu, wie Sie den Dateinamen angeben müssen finden Sie bei fopen(). Eine Liste der unterstützten URL Protokolle, die Fähigkeiten der verschiedenen Wrapper, Hinweise zu deren Verwendung und Informationen zu den eventuell vorhandenen vordefinierten Variablen finden Sie unter Unterstützte Protokolle und Wrapper.

Hinweis: Die Kontext-Unterstützung gibt es seit PHP 5.0.0. Eine Beschreibung von Kontexten finden Sie unter Streams.

Siehe auch

  • fpassthru() - Gibt alle verbleibenden Daten eines Dateizeigers direkt aus.
  • file() - Liest eine komplette Datei in ein Array
  • fopen() - Öffnet eine Datei oder URL
  • include - include
  • require - require
  • virtual() - Führt eine Apache-Unteranfrage durch
  • file_get_contents() - Liest die gesamte Datei in einen String
  • Unterstützte Protokolle und Wrapper

popen
readlink
Dateisystem


Liefert das Ziel eines symbolischen Links

readfile
realpath_cache_get
Dateisystem
PHP Manual

readlink

(PHP 4, PHP 5, PHP 7)

readlink — Liefert das Ziel eines symbolischen Links

Beschreibung

string readlink ( string $path )

readlink() ist von der Funktionalität her identisch mit der C Funktion readlink.

Parameter-Liste

path

Der Pfad des symbolischen Links.

Changelog

Version | Beschreibung
5.3.0 | Diese Funktion ist nun auf Windows-Systemen (Vista, Server 2008 oder höher) verfügbar.

Rückgabewerte

Gibt den Inhalt des Pfades des symbolischen Links zurück oder FALSE im Fehlerfall.

Beispiele

Beispiel #1 readlink() example

<?php

// gibt z.B. /boot/vmlinux-2.4.20-xfs aus
echo readlink('/vmlinuz');

?>

Siehe auch

  • is_link() - Prüft, ob der Dateiname ein symbolischer Link ist
  • symlink() - Erzeugt einen symbolischen Link
  • linkinfo() - Liefert Informationen über einen Link

readfile
realpath_cache_get
Dateisystem


Get realpath cache entries

readlink
realpath_cache_size
Dateisystem
PHP Manual

realpath_cache_get

(PHP 5 >= 5.3.2, PHP 7)

realpath_cache_get — Get realpath cache entries

Beschreibung

array realpath_cache_get ( void )

Get the contents of the realpath cache.

Rückgabewerte

Returns an array of realpath cache entries. The keys are original path entries, and the values are arrays of data items, containing the resolved path, expiration date, and other options kept in the cache.

Beispiele

Beispiel #1 realpath_cache_get() example

<?php
var_dump(realpath_cache_get());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(2) {
  ["/test"]=>
  array(4) {
    ["key"]=>
    int(123456789)
    ["is_dir"]=>
    bool(true)
    ["realpath"]=>
    string(5) "/test"
    ["expires"]=>
    int(1260318939)
  }
  ["/test/test.php"]=>
  array(4) {
    ["key"]=>
    int(987654321)
    ["is_dir"]=>
    bool(false)
    ["realpath"]=>
    string(12) "/root/test.php"
    ["expires"]=>
    int(1260318939)
  }
}

Siehe auch

  • realpath_cache_size() - Get realpath cache size

readlink
realpath_cache_size
Dateisystem


Get realpath cache size

realpath_cache_get
realpath
Dateisystem
PHP Manual

realpath_cache_size

(PHP 5 >= 5.3.2, PHP 7)

realpath_cache_size — Get realpath cache size

Beschreibung

int realpath_cache_size ( void )

Get the amount of memory used by the realpath cache.

Rückgabewerte

Returns how much memory realpath cache is using.

Beispiele

Beispiel #1 realpath_cache_size() example

<?php
var_dump(realpath_cache_size());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(412)

Siehe auch

  • realpath_cache_get() - Get realpath cache entries
  • The realpath_cache_size configuration option

realpath_cache_get
realpath
Dateisystem


Löst einen Pfad in einen absoluten und eindeutigen auf

realpath_cache_size
rename
Dateisystem
PHP Manual

realpath

(PHP 4, PHP 5, PHP 7)

realpath — Löst einen Pfad in einen absoluten und eindeutigen auf

Beschreibung

string realpath ( string $path )

realpath() löst alle symbolischen Verweise, '/./', '/../' und mehrere aufeinanderfolgende '/' Zeichen, die in path enthalten sind, auf und gibt den so entstehenden absoluten Pfad zurück.

Parameter-Liste

path

Der Pfad, der aufgelöst werden soll.

Hinweis:

Der Pfad muss angegeben werden, kann allerdings auch ein leerer String oder NULL sein, in diesem Fall wird dann das aktuelle Verzeichnis benutzt.

Rückgabewerte

Gibt bei Erfolg den eindeutigen und absoluten Pfadnamen zurück. Dieser wird keine symbolischen Links, '/./' oder '/../' mehr enthalten.

realpath() gibt FALSE zurück, wenn ein Fehler auftritt, beispielsweise wenn die Datei nicht existiert.

Hinweis:

Das ausführende Script muss alle Verzeichnisse im Pfad öffnen können (auf unixoiden Systemen wäre das das "execute" Recht). Ist dies nicht der Fall, gibt realpath() FALSE zurück.

Hinweis: Weil PHPs Integer Typ vorzeichenbehaftet ist und viele Platformen 32bit Integer verwenden, können einige Dateisystem-Funktionen für Dateien größer als 2GB unerwartete Ergebnisse liefern.

Changelog

Version | Beschreibung
5.3.0 | Vor dieser Version schlug realpath() auf BSD Systemen nicht fehl, wenn nur die letzte path Komponente nicht existierte. Jetzt schlägt realpath() auch in diesem Fall fehl.
5.2.1 | Vor dieser Version gab realpath() FALSE zurück, wenn path eine leere Zeichenkette oder NULL ist.

Beispiele

Beispiel #1 realpath()

<?php
chdir('/var/www/');
echo realpath('./../../etc/passwd');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

/etc/passwd

Beispiel #2 realpath() auf Windows

Unter Windows wandelt realpath() Unix-artige Pfade in gültige Windows-Pfade um:

<?php
echo realpath('/windows/system32');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

C:\WINDOWS\System32

Siehe auch

  • basename() - Gibt letzten Namensteil einer Pfadangabe zurück
  • dirname() - Gibt den Pfad des übergeordneten Verzeichnisses zurück
  • pathinfo() - Liefert Informationen über einen Dateipfad

realpath_cache_size
rename
Dateisystem


Benennt eine Datei oder ein Verzeichnis um

realpath
rewind
Dateisystem
PHP Manual

rename

(PHP 4, PHP 5, PHP 7)

rename — Benennt eine Datei oder ein Verzeichnis um

Beschreibung

bool rename ( string $oldname , string $newname [, resource $context ] )

Versucht oldname in newname umzubenennen, wobei bei Bedarf zwischen Verzeichnissen verschoben wird. Existiert newname bereits, wird es überschrieben.

Parameter-Liste

oldname

Hinweis:

Der alte Name. Der Wrapper, der in oldname verwendet wird, muss mit dem Wrapper, der in newname verwendet wird, übereinstimmen.

newname

Der neue Name.

context

Hinweis: Die Kontext-Unterstützung gibt es seit PHP 5.0.0. Eine Beschreibung von Kontexten finden Sie unter Streams.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.3.1 | rename() kann nun unter Windows Dateien dateisystemübergreifend umbenennen.
5.0.0 | rename() kann nun mit manchen URL-Wrappern benutzt werden. Siehe Unterstützte Protokolle und Wrapper für eine Liste von Wrappern die rename() unterstützen.
4.3.3 | rename() ist nun möglicherweise auf *nix basierten Systemen in der Lage Dateien partitionsübergreifend umzubenennen, vorausgesetzt, dass entsprechende Berechtigungen vorliegen. Warnungen können erzeugt werden, wenn das Ziel-Dateisystem chown() oder chmod() Systemaufrufe für die Dateien nicht erlaubt - zum Beispiel, wenn das Ziel-Dateisystem ein FAT-Dateisystem ist.

Beispiele

Beispiel #1 Beispiel mit rename()

<?php
rename("/tmp/tmp_file.txt", "/home/user/login/docs/my_file.txt");
?>

Siehe auch

  • copy() - Kopiert eine Datei
  • unlink() - Löscht eine Datei
  • move_uploaded_file() - Verschiebt eine hochgeladene Datei an einen neuen Ort

realpath
rewind
Dateisystem


Setzt die Position eines Dateizeigers auf den Anfang

rename
rmdir
Dateisystem
PHP Manual

rewind

(PHP 4, PHP 5, PHP 7)

rewind — Setzt die Position eines Dateizeigers auf den Anfang

Beschreibung

bool rewind ( resource $handle )

Setzt den Datei-Positions-Indikator für handle an den Anfang des Dateistreams.

Hinweis:

Wurde die Datei im Anfüge-Modus ("a" oder "a+") geöffnet, werden unabhängig von der Dateiposition alle zu schreibenden Daten angehängt.

Parameter-Liste

handle

Der Dateizeiger muss gültig sein und auf eine Datei zeigen, die zuvor erfolgreich durch fopen() geöffnet wurde.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Beispiel zum Überschreiben mit rewind()

<?php
$handle = fopen('output.txt', 'r+');

fwrite($handle, 'Wirklich langer Satz.');
rewind($handle);
fwrite($handle, 'Foo');
rewind($handle);

echo fread($handle, filesize('output.txt'));

fclose($handle);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Fooklich langer Satz.

Siehe auch

  • fread() - Liest Binärdaten aus einer Datei
  • fseek() - Positioniert den Dateizeiger
  • ftell() - Ermittelt die aktuelle Position des Dateizeigers
  • fwrite() - Binär-sicheres Dateischreiben

rename
rmdir
Dateisystem


Löscht ein Verzeichnis

rewind
set_file_buffer
Dateisystem
PHP Manual

rmdir

(PHP 4, PHP 5, PHP 7)

rmdir — Löscht ein Verzeichnis

Beschreibung

bool rmdir ( string $dirname [, resource $context ] )

Versucht das durch dirname angegebene Verzeichnis zu löschen. Das Verzeichnis muss dafür leer sein und PHP muss die notwendigen Rechte besitzen. Ansonsten wird ein E_WARNING geworfen.

Parameter-Liste

dirname

Pfad zum Verzeichnis.

context

Hinweis: Die Kontext-Unterstützung gibt es seit PHP 5.0.0. Eine Beschreibung von Kontexten finden Sie unter Streams.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.0.0 | Ab PHP 5.0.0 kann rmdir() auch mit einigen URL Wrappern genutzt werden. Eine Liste von untersützten Wrappern kann unter Unterstützte Protokolle und Wrapper eingesehen werden.

Beispiele

Beispiel #1 rmdir() Beispiel

<?php
if (!is_dir('Verzeichnis')) {
    mkdir('Verzeichnis');
}

rmdir('Verzeichnis');
?>

Anmerkungen

Hinweis: Wenn Safe Mode aktiviert ist überprüft PHP, ob das Arbeitsverzeichnis, die gleiche UID (Eigentümer) hat wie das Skript selbst.

Siehe auch

  • is_dir() - Prüft, ob der angegebene Dateiname ein Verzeichnis ist
  • mkdir() - Erstellt ein Verzeichnis
  • unlink() - Löscht eine Datei

rewind
set_file_buffer
Dateisystem


Alias von stream_set_write_buffer

rmdir
stat
Dateisystem
PHP Manual

set_file_buffer

(PHP 4, PHP 5, PHP 7)

set_file_buffer — Alias von stream_set_write_buffer()

Beschreibung

Diese Funktion ist ein Alias für: stream_set_write_buffer().

rmdir
stat
Dateisystem


Sammelt Informationen über eine Datei

set_file_buffer
symlink
Dateisystem
PHP Manual

stat

(PHP 4, PHP 5, PHP 7)

stat — Sammelt Informationen über eine Datei

Beschreibung

array stat ( string $filename )

Sammelt Statistiken über die per filename angegebene Datei. Falls filename ein symbolischer Link ist, beziehen sich die Statistiken auf die Datei selbst, nicht auf den symbolischen Link.

lstat() ist identisch zu stat(), mit dem Unterschied, dass es sich auf den Status des symbolischen Links bezieht.

Parameter-Liste

filename

Pfad zur Datei.

Rückgabewerte

stat()- und fstat()-Ergebnisformat
Numerisch | Assoziativ | Beschreibung
0 | dev | Gerätenummer
1 | ino | Inode-Nummer *
2 | mode | Inode-Schutzmodus
3 | nlink | Anzahl der Links
4 | uid | userid des Besitzers *
5 | gid | groupid des Besitzers *
6 | rdev | Gerätetyp, falls Inode-Gerät
7 | size | Größe in Bytes
8 | atime | Zeitpunkt des letzten Zugriffs (Unix-Timestamp)
9 | mtime | Zeitpunkt der letzten Änderung (Unix-Timestamp)
10 | ctime | Zeitpunkt der letzten Inode-Änderung (Unix-Timestamp)
11 | blksize | Blockgröße des Dateisystem-I/O **
12 | blocks | Anzahl der zugewiesenen 512-Byte-Blöcke **
* Unter Windows wird dies immer 0 sein.

** Nur gültig unter Systemen, die den st_blksize-Typ unterstützen - andere Systeme (z.B. Windows) geben -1 zurück.

Im Fehlerfall gibt stat() FALSE zurück.

Hinweis: Weil PHPs Integer Typ vorzeichenbehaftet ist und viele Platformen 32bit Integer verwenden, können einige Dateisystem-Funktionen für Dateien größer als 2GB unerwartete Ergebnisse liefern.

Fehler/Exceptions

Im Fehlerfall wird eine E_WARNING geworfen.

Beispiele

Beispiel #1 stat()-Beispiel

<?php
/* Hole Datei-Statistik */
$stat = stat('C:\php\php.exe');

/*
 * Gebe den Zugriffszeitpunkt der Datei aus; dies entspricht dem
 * Aufruf von fileatime()
 */
echo 'Zugriffszeitpunkt: ' . $stat['atime'];

/*
 * Gebe den Änderungszeitpunkt der Datei aus; dies entspricht dem
 * Aufruf von filemtime()
 */
echo 'Änderungszeitpunkt: ' . $stat['mtime'];

/* Gebe die Gerätenummer aus */
echo 'Gerätenummer: ' . $stat['dev'];
?>

Beispiel #2 Nutzung von stat()-Informationen zusammen mit touch()

<?php
/* Hole Datei-Statistik */
$stat = stat('C:\php\php.exe');

/* Hat das Holen der Statistik-Informationen geklappt? */
if (!$stat) {
    echo 'stat()-Aufruf schlug fehl ...';
} else {
    /*
     * Wir wollen den Zugriffszeitpunkt auf eine Woche nach dem aktuellen
     * Zugriffszeitpunkt setzen.
     */
    $atime = $stat['atime'] + 604800;

    /* Ändere die Datei */
    if (!touch('eine_datei.txt', time(), $atime)) {
        echo 'Ändern der Datei schlug fehl ...';
    } else {
        echo 'touch()-Befehl war erfolgreich ...';
    }
}
?>

Anmerkungen

Hinweis:

Beachten Sie, dass die zeitliche Auflösung bei verschiedenen Dateisystemen unterschiedlich sein kann.

Hinweis: Die Ergebnisse dieser Funktion werden gecached. Weitere Details erhalten Sie bei clearstatcache().

Tipp

Seit PHP 5.0.0 kann diese Funktion mit einigen URL-Wrappern benutzt werden. Schauen Sie in der Liste unter Unterstützte Protokolle und Wrapper nach, welcher Wrapper die Funktionalität von stat() unterstützt.

Siehe auch

  • lstat() - Sammelt Informationen über eine Datei oder einen symbolischen Link
  • fstat() - Sammelt Informationen über eine Datei mittels eines offenen Dateizeigers
  • filemtime() - Liefert Datum und Uhrzeit der letzten Dateiänderung
  • filegroup() - Liefert die Gruppenzugehörigkeit einer Datei

set_file_buffer
symlink
Dateisystem


Erzeugt einen symbolischen Link

stat
tempnam
Dateisystem
PHP Manual

symlink

(PHP 4, PHP 5, PHP 7)

symlink — Erzeugt einen symbolischen Link

Beschreibung

bool symlink ( string $target , string $link )

symlink() erzeugt einen symbolischen Link auf das existierende Ziel (target) mit dem angegebenen Namen (link).

Parameter-Liste

target

Ziel des Links.

link

Der Linkname.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.3.0 | Diese Funktion ist nun verfügbar auf Windows-Plattformen (Vista, Server 2008 oder neuer).

Beispiele

Beispiel #1 Einen symbolischen Link erzeugen

<?php
$target = 'uploads.php';
$link = 'uploads';
symlink($target, $link);

echo readlink($link);
?>

Anmerkungen

Hinweis: Windows-Anwender sollten beachten, dass die Funktion nur funktionieren wird, falls das System, unter dem PHP ausgeführt wird, Windows Vista, Windows Server 2008 oder neuer ist. Frühere Windows-Versionen unterstützen keine symbolischen Links.

Siehe auch

  • link() - Erzeugt einen harten Link
  • readlink() - Liefert das Ziel eines symbolischen Links
  • linkinfo() - Liefert Informationen über einen Link

stat
tempnam
Dateisystem


Erzeugt eine Datei mit eindeutigem Dateinamen

symlink
tmpfile
Dateisystem
PHP Manual

tempnam

(PHP 4, PHP 5, PHP 7)

tempnam — Erzeugt eine Datei mit eindeutigem Dateinamen

Beschreibung

string tempnam ( string $dir , string $prefix )

Erzeugt eine Datei mit einem eindeutigen Dateinamen in dem angegebenen Verzeichnis, wobei die Zugriffsberechtigungen auf 0600 gesetzt werden. Wenn das Verzeichnis nicht existiert, erstellt tempnam() eine Datei im temporären Verzeichnis des Systems und gibt den vollständigen Pfad zu dieser Datei, der den Namen beinhaltet, zurück.

Parameter-Liste

dir

Das Verzeichnis, in dem die temporäre Datei erstellt werden soll.

prefix

Der Präfix des genererierten temporären Dateinamens.

Hinweis: Windows nutzt nur die ersten drei Zeichen des Präfixes.

Rückgabewerte

Gibt den neuen temporären Dateinamen (mit Pfad) zurück, oder im Fehlerfall FALSE

Changelog

Version | Beschreibung
4.0.3 | Das Verhalten dieser Funktion hat sich in Version 4.0.3 geändert. Die temporäre Datei wird auch erstellt, um eine "race condition" zu vermeiden, falls die Datei zwischen dem Zeitpunkt, an dem der String erzeugt wurde, und dem Zeitpunkt, an dem das Skript die Datei erzeugt, im Dateisystem auftaucht. Beachten Sie, dass Sie die Datei löschen müssen, wenn Sie sie nicht mehr benötigen; dies geschieht nicht automatisch.

Beispiele

Beispiel #1 tempnam()-Beispiel

<?php
$tmpfname = tempnam("/tmp", "FOO");

$handle = fopen($tmpfname, "w");
fwrite($handle, "schreiben in Temporärdatei");
fclose($handle);

// tue etwas

unlink($tmpfname);
?>

Anmerkungen

Hinweis: Wenn PHP die Datei nicht im angegebenen dir-Parameter erzeugen kann, fällt es auf den Systemstandardwert zurück. Unter NTFS geschieht dies auch, wenn dir mehr als 65534 Dateien enthält.

Siehe auch

  • tmpfile() - Erstellt eine temporäre Datei
  • sys_get_temp_dir() - Returns directory path used for temporary files
  • unlink() - Löscht eine Datei

symlink
tmpfile
Dateisystem


Erstellt eine temporäre Datei

tempnam
touch
Dateisystem
PHP Manual

tmpfile

(PHP 4, PHP 5, PHP 7)

tmpfile — Erstellt eine temporäre Datei

Beschreibung

resource tmpfile ( void )

Erstellt eine temporäre Datei mit einem eindeutigen Dateinamen im Lese-Schreib-Modus (w+) und gibt einen Dateizeiger zurück.

Die Datei wird automatisch gelöscht, wenn sie geschlossen wird (zum Beispiel durch den Aufruf von fclose(), oder wenn es keine verbleibenden Referenzen zum von tmpfile() zurück gegebenen Datei-Handle mehr gibt), oder wenn das Skript beendet wird.

Für Details lesen Sie bitte die Dokumentation zur tmpfile(3)-Funktion und die stdio.h-Header-Datei.

Rückgabewerte

Gibt einen Dateizeiger für die neue Datei zurück, der ähnlich zu dem Zeiger ist, den fopen() zurückgibt. Im Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 tmpfile()-Beispiel

<?php
$temp = tmpfile();
fwrite($temp, "schreiben in Temporärdatei");
fseek($temp, 0);
echo fread($temp, 1024);
fclose($temp); // dies entfernt die Datei

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

schreiben in Temporärdatei

Siehe auch

  • tempnam() - Erzeugt eine Datei mit eindeutigem Dateinamen
  • sys_get_temp_dir() - Returns directory path used for temporary files

tempnam
touch
Dateisystem


Setzt die Zugriffs- und Modifikationszeit einer Datei

tmpfile
umask
Dateisystem
PHP Manual

touch

(PHP 4, PHP 5, PHP 7)

touch — Setzt die Zugriffs- und Modifikationszeit einer Datei

Beschreibung

bool touch ( string $filename [, int $time = time() [, int $atime ]] )

Versucht die Zugriffs- und Modifikationszeit der im filename-Parameter angegebenen Datei auf time zu setzen. Beachten Sie, dass die Zugriffszeit unabhängig von der Anzahl der Parameter immer geändert wird.

Wenn die Datei nicht existiert, wird sie erzeugt.

Parameter-Liste

filename

Der Name der zu ändernden Datei.

time

Die Modifikationszeit. Wenn time nicht angegeben ist, wird die aktuelle Systemzeit verwendet.

atime

Falls angegeben, wird die Zugriffszeit der angegebenen Datei auf atime gesetzt. Andernfalls wird sie auf den angegebenen time-Parameter gesetzt. Falls beide nicht angegeben wurden, wird die aktuelle Systemzeit verwendet.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.3.0 | Es wurde ermöglicht, die Modifikationszeit eines Verzeichnisses unter Windows zu ändern.

Beispiele

Beispiel #1 touch()-Beispiel

if (touch($filename)) {
    echo $filename . '-Modifikationszeit wurde auf die aktuelle Zeit gesetzt.';
} else {
    echo 'Entschuldigung, die Änderung der Modifikationszeit von ' . $filename
    ' war nicht möglich.';
}
?>

Beispiel #2 Nutzung von touch() mit dem time-Parameter

<?php
// Modifikationszeit (eine Stunde in der Vergangenheit)
$time = time() - 3600;

// Ändern der Datei
if (!touch('eine_datei.txt', $time)) {
    echo 'Ein Fehler ist aufgetreten ...';
} else {
    echo 'Änderung der Modifikationszeit war erfolgreich';
}
?>

Anmerkungen

Hinweis:

Beachten Sie, dass die zeitliche Auflösung bei verschiedenen Dateisystemen unterschiedlich sein kann.

Warnung

Vor PHP 5.3.0 war es nicht möglich, die Modifikationszeit eines Verzeichnisses mit dieser Funktion unter Windows zu ändern.

tmpfile
umask
Dateisystem


Changes the current umask

touch
unlink
Dateisystem
PHP Manual

umask

(PHP 4, PHP 5, PHP 7)

umask — Changes the current umask

Beschreibung

int umask ([ int $mask ] )

umask() setzt die umask von PHP auf mask & 0777 und gibt die alte umask zurück. Wird PHP als Servermodul benutzt, wird die umask wiederhergestellt, wenn die jeweilige Anfrage beendet ist.

Parameter-Liste

mask

Die neue umask.

Rückgabewerte

umask() ohne Parameter gibt nur die aktuelle umask zurück; andernfalls wird die alte umask zurückgegeben.

Beispiele

Beispiel #1 umask()-Beispiel

<?php
$old = umask(0);
chmod("/pfad/ein_verzeichnis/eine_datei.txt", 0755);
umask($old);

// Prüfung
if ($old != umask()) {
    die('Ein Fehler trat beim Wiederherstellen der umask auf');
}
?>

Anmerkungen

Hinweis:

Sie sollten diese Funktion nicht in Multithreaded-Webservern nutzen. Der bessere Weg ist, die Dateiberechtigungen mit chmod() zu ändern nachdem die Datei erstellt wurde. Die Nutzung von umask() kann zu unerwartetem Verhalten von gleichzeitig ausgeführten Skripten und des Webservers führen, weil die gleiche umask genutzt wird.

touch
unlink
Dateisystem


Löscht eine Datei

umask
Inotify
Dateisystem
PHP Manual

unlink

(PHP 4, PHP 5, PHP 7)

unlink — Löscht eine Datei

Beschreibung

bool unlink ( string $filename [, resource $context ] )

Löscht filename. Ähnlich der UNIX-C-unlink()-Funktion. Ein E_WARNING-Fehler wird im Fehlerfall generiert.

Parameter-Liste

filename

Pfad zur Datei.

context

Hinweis: Die Kontext-Unterstützung gibt es seit PHP 5.0.0. Eine Beschreibung von Kontexten finden Sie unter Streams.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.0.0 | Seit PHP 5.0.0 kann unlink() auch mit einigen URL-Wrappern genutzt werden. In der Unterstützte Protokolle und Wrapper finden Sie eine Liste aller Wrapper, die unlink() unterstützen.

Beispiele

Beispiel #1 Einfache Nutzung von unlink()

<?php
$fh = fopen('test.html', 'a');
fwrite($fh, '<h1>Hallo Welt!</h1>');
fclose($fh);

unlink('test.html');
?>

Siehe auch

  • rmdir() - Löscht ein Verzeichnis

umask
Inotify
Dateisystem


Inotify

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation/Konfiguration
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Inotify Funktionen
    • inotify_add_watch — Add a watch to an initialized inotify instance
    • inotify_init — Initialize an inotify instance
    • inotify_queue_len — Return a number upper than zero if there are pending events
    • inotify_read — Read events from an inotify instance
    • inotify_rm_watch — Remove an existing watch from an inotify instance
unlink
Einführung
Dateisystemrelevante Erweiterungen


Einführung

The inotify extension exposes the inotify functions inotify_init(), inotify_add_watch() and inotify_rm_watch().

As the C inotify_init() function returns a file descriptor, PHP's inotify_init() returns a stream resource, usable with standard stream functions, like stream_select(), stream_set_blocking() and fclose(). inotify_read() replaces the C way of reading inotify events.

Inotify
Installation/Konfiguration
Inotify


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation/Konfiguration
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Inotify


Anforderungen

This extension requires Linux 2.6.13 or newer, and a recent libC.

Installation/Konfiguration
Installation/Konfiguration
Installation/Konfiguration


Installation/Konfiguration
PHP Manual

Installation/Konfiguration

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/inotify.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration
PHP Manual


Laufzeit-Konfiguration

Diese Erweiterung definiert keine Konfigurationseinstellungen in der php.ini.

Installation/Konfiguration
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

This extension defines a stream resource returned by inotify_init().

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

Inotify constants usable with inotify_add_watch() and/or returned by inotify_read()
IN_ACCESS (integer)
File was accessed (read) (*)
IN_MODIFY (integer)
File was modified (*)
IN_ATTRIB (integer)
Metadata changed (e.g. permissions, mtime, etc.) (*)
IN_CLOSE_WRITE (integer)
File opened for writing was closed (*)
IN_CLOSE_NOWRITE (integer)
File not opened for writing was closed (*)
IN_OPEN (integer)
File was opened (*)
IN_MOVED_TO (integer)
File moved into watched directory (*)
IN_MOVED_FROM (integer)
File moved out of watched directory (*)
IN_CREATE (integer)
File or directory created in watched directory (*)
IN_DELETE (integer)
File or directory deleted in watched directory (*)
IN_DELETE_SELF (integer)
Watched file or directory was deleted
IN_MOVE_SELF (integer)
Watch file or directory was moved
IN_CLOSE (integer)
Equals to IN_CLOSE_WRITE | IN_CLOSE_NOWRITE
IN_MOVE (integer)
Equals to IN_MOVED_FROM | IN_MOVED_TO
IN_ALL_EVENTS (integer)
Bitmask of all the above constants
IN_UNMOUNT (integer)
File system containing watched object was unmounted
IN_Q_OVERFLOW (integer)
Event queue overflowed (wd is -1 for this event)
IN_IGNORED (integer)
Watch was removed (explicitly by inotify_rm_watch() or because file was removed or filesystem unmounted
IN_ISDIR (integer)
Subject of this event is a directory
IN_ONLYDIR (integer)
Only watch pathname if it is a directory (Since Linux 2.6.15)
IN_DONT_FOLLOW (integer)
Do not dereference pathname if it is a symlink (Since Linux 2.6.15)
IN_MASK_ADD (integer)
Add events to watch mask for this pathname if it already exists (instead of replacing mask).
IN_ONESHOT (integer)
Monitor pathname for one event, then remove from watch list.

Hinweis: The events marked with an asterisk (*) above can occur for files in watched directories.

Ressource-Typen
Inotify Funktionen
Inotify


Inotify Funktionen

Inhaltsverzeichnis

  • inotify_add_watch — Add a watch to an initialized inotify instance
  • inotify_init — Initialize an inotify instance
  • inotify_queue_len — Return a number upper than zero if there are pending events
  • inotify_read — Read events from an inotify instance
  • inotify_rm_watch — Remove an existing watch from an inotify instance
Vordefinierte Konstanten
inotify_add_watch
Inotify


Add a watch to an initialized inotify instance

Inotify Funktionen
inotify_init
Inotify Funktionen
PHP Manual

inotify_add_watch

(PECL inotify >= 0.1.2)

inotify_add_watch — Add a watch to an initialized inotify instance

Beschreibung

int inotify_add_watch ( resource $inotify_instance , string $pathname , int $mask )

inotify_add_watch() adds a new watch or modify an existing watch for the file or directory specified in pathname.

Using inotify_add_watch() on a watched object replaces the existing watch. Using the IN_MASK_ADD constant adds (OR) events to the existing watch.

Parameter-Liste

inotify_instance

Von inotify_init() zurückgegebene Ressource

pathname

File or directory to watch

mask

Events to watch for. See Vordefinierte Konstanten.

Rückgabewerte

The return value is a unique (inotify instance wide) watch descriptor.

Siehe auch

  • inotify_init() - Initialize an inotify instance

Inotify Funktionen
inotify_init
Inotify Funktionen


Initialize an inotify instance

inotify_add_watch
inotify_queue_len
Inotify Funktionen
PHP Manual

inotify_init

(PECL inotify >= 0.1.2)

inotify_init — Initialize an inotify instance

Beschreibung

resource inotify_init ( void )

Initialize an inotify instance for use with inotify_add_watch()

Rückgabewerte

A stream resource or FALSE on error.

Beispiele

Beispiel #1 Example usage of inotify

<?php
// Open an inotify instance
$fd = inotify_init();

// Watch __FILE__ for metadata changes (e.g. mtime)
$watch_descriptor = inotify_add_watch($fd, __FILE__, IN_ATTRIB);

// generate an event
touch(__FILE__);

// Read events
$events = inotify_read($fd);
print_r($events);

// The following methods allows to use inotify functions without blocking on inotify_read():

// - Using stream_select() on $fd:
$read = array($fd);
$write = null;
$except = null;
stream_select($read,$write,$except,0);

// - Using stream_set_blocking() on $fd
stream_set_blocking($fd, 0);
inotify_read($fd); // Does no block, and return false if no events are pending

// - Using inotify_queue_len() to check if event queue is not empty
$queue_len = inotify_queue_len($fd); // If > 0, inotify_read() will not block

// Stop watching __FILE__ for metadata changes
inotify_rm_watch($fd, $watch_descriptor);

// Close the inotify instance
// This may have closed all watches if this was not already done
fclose($fd);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(
  array(
    'wd' => 1,     // Equals $watch_descriptor
    'mask' => 4,   // IN_ATTRIB bit is set
    'cookie' => 0, // unique id to connect related events (e.g.
                   // IN_MOVE_FROM and IN_MOVE_TO events)
    'name' => '',  // the name of a file (e.g. if we monitored changes
                   // in a directory)
  ),
);

Siehe auch

  • inotify_add_watch() - Add a watch to an initialized inotify instance
  • inotify_rm_watch() - Remove an existing watch from an inotify instance
  • inotify_queue_len() - Return a number upper than zero if there are pending events
  • inotify_read() - Read events from an inotify instance
  • fclose() - Schließt einen offenen Dateizeiger

inotify_add_watch
inotify_queue_len
Inotify Funktionen


Return a number upper than zero if there are pending events

inotify_init
inotify_read
Inotify Funktionen
PHP Manual

inotify_queue_len

(PECL inotify >= 0.1.2)

inotify_queue_len — Return a number upper than zero if there are pending events

Beschreibung

int inotify_queue_len ( resource $inotify_instance )

This function allows to know if inotify_read() will block or not. If a number upper than zero is returned, there are pending events and inotify_read() will not block.

Parameter-Liste

inotify_instance

Von inotify_init() zurückgegebene Ressource

Rückgabewerte

Returns a number upper than zero if there are pending events.

Siehe auch

  • inotify_init() - Initialize an inotify instance
  • stream_select() - Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec
  • stream_set_blocking() - Set blocking/non-blocking mode on a stream

inotify_init
inotify_read
Inotify Funktionen


Read events from an inotify instance

inotify_queue_len
inotify_rm_watch
Inotify Funktionen
PHP Manual

inotify_read

(PECL inotify >= 0.1.2)

inotify_read — Read events from an inotify instance

Beschreibung

array inotify_read ( resource $inotify_instance )

Read inotify events from an inotify instance.

Parameter-Liste

inotify_instance

Von inotify_init() zurückgegebene Ressource

Rückgabewerte

An array of inotify events or FALSE if no events was pending and inotify_instance is non-blocking. Each event is an array with the following keys:

  • wd is a watch descriptor returned by inotify_add_watch()
  • mask is a bit mask of events
  • cookie is a unique id to connect related events (e.g. IN_MOVE_FROM and IN_MOVE_TO)
  • name is the name of a file (e.g. if a file was modified in a watched directory)

Siehe auch

  • inotify_init() - Initialize an inotify instance
  • stream_select() - Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec
  • stream_set_blocking() - Set blocking/non-blocking mode on a stream
  • inotify_queue_len() - Return a number upper than zero if there are pending events

inotify_queue_len
inotify_rm_watch
Inotify Funktionen


Remove an existing watch from an inotify instance

inotify_read
Mimetype
Inotify Funktionen
PHP Manual

inotify_rm_watch

(PECL inotify >= 0.1.2)

inotify_rm_watch — Remove an existing watch from an inotify instance

Beschreibung

bool inotify_rm_watch ( resource $inotify_instance , int $watch_descriptor )

inotify_rm_watch() removes the watch watch_descriptor from the inotify instance inotify_instance.

Parameter-Liste

inotify_instance

Von inotify_init() zurückgegebene Ressource

watch_descriptor

Watch to remove from the instance

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • inotify_init() - Initialize an inotify instance

inotify_read
Mimetype
Inotify Funktionen


Mimetype

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
inotify_rm_watch
Einführung
Dateisystemrelevante Erweiterungen


Einführung

Warnung

This extension has been deprecated as the PECL extension Fileinfo provides the same functionality (and more) in a much cleaner way.

The functions in this module try to guess the content type and encoding of a file by looking for certain magic byte sequences at specific positions within the file. While this is not a bullet proof approach the heuristics used do a very good job.

This extension is derived from Apache mod_mime_magic, which is itself based on the file command maintained by Ian F. Darwin. See the source code for further historic and copyright information.

Mimetype
Installation/Konfiguration
Mimetype


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Mimetype


Installation

Warnung

Mimetype extensions has been removed from PHP 5.3.0 in favor of Fileinfo.

You must compile PHP with the configure switch --with-mime-magic to get support for mime-type functions. The extension needs a copy of the simplified magic file that is distributed with the Apache httpd.

Hinweis:

This extension is not capable of handling the fully decorated magic file that generally comes with standard Linux distro's and is supposed to be used with recent versions of file command.

Hinweis: Note to Win32 Users

In order to use this module on a Windows environment, you must set the path to the bundled magic.mime file in your php.ini.

Beispiel #1 Setting the path to magic.mime

mime_magic.magicfile = "$PHP_INSTALL_DIR\magic.mime"

Remember to substitute the $PHP_INSTALL_DIR for your actual path to PHP in the above example. e.g. c:\php

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Mimetype configuration options
Name | Standard | Veränderbar | Changelog
mime_magic.debug | "0" | PHP_INI_SYSTEM | Available since PHP 5.0.0.
mime_magic.magicfile | "/path/to/php/magic.mime" | PHP_INI_SYSTEM | Available since PHP 4.3.0.
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

mime_magic.debug bool

Enable/disable debugging.

mime_magic.magicfile string

The path to the magic.mime file.

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
Proctitle
Mimetype


Proctitle

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Proctitle Funktionen
    • setproctitle — Set the process title
    • setthreadtitle — Set the thread title
Vordefinierte Konstanten
Einführung
Dateisystemrelevante Erweiterungen


Einführung

This extension allows changing the current process', and thread, name on Linux and *BSD systems. This is useful when using pcntl_fork() to identify running processes in process list

Proctitle
Installation/Konfiguration
Proctitle


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Proctitle


Anforderungen

Nothing special.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/proctitle.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
Proctitle Funktionen
Proctitle


Proctitle Funktionen

Inhaltsverzeichnis

  • setproctitle — Set the process title
  • setthreadtitle — Set the thread title
Vordefinierte Konstanten
setproctitle
Proctitle


Set the process title

Proctitle Funktionen
setthreadtitle
Proctitle Funktionen
PHP Manual

setproctitle

(PECL proctitle >= 0.1.0)

setproctitle — Set the process title

Beschreibung

void setproctitle ( string $title )

Sets the process title of the current process.

Parameter-Liste

title

The title to use as the process title.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 setproctitle() example

Running the example below will change the process title (visible with ps a for example).

<?php
setproctitle("myscript");
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

$ ps a
  PID TTY      STAT   TIME COMMAND
 1168 pts/3    S      0:00 myscript

Siehe auch

  • cli_set_process_title() - Sets the process title
  • pcntl_fork() - Verzweigt den laufenden Prozess
  • setthreadtitle() - Set the thread title
Proctitle Funktionen
setthreadtitle
Proctitle Funktionen


Set the thread title

setproctitle
xattr
Proctitle Funktionen
PHP Manual

setthreadtitle

(PECL proctitle >= 0.1.2)

setthreadtitle — Set the thread title

Beschreibung

bool setthreadtitle ( string $title )

Sets the thread title.

Parameter-Liste

title

The title to use as the thread title.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 setthreadtitle() example

Running the example below will change the thread title (visible with ps c for example).

<?php
setthreadtitle("myscript");
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

$ ps c
  PID TTY      STAT   TIME COMMAND
 1178 pts/3    S      0:00 myscript

Siehe auch

  • pcntl_fork() - Verzweigt den laufenden Prozess
  • setproctitle() - Set the process title
setproctitle
xattr
Proctitle Funktionen


xattr

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • xattr Funktionen
    • xattr_get — Get an extended attribute
    • xattr_list — Get a list of extended attributes
    • xattr_remove — Remove an extended attribute
    • xattr_set — Set an extended attribute
    • xattr_supported — Check if filesystem supports extended attributes
setthreadtitle
Einführung
Dateisystemrelevante Erweiterungen


Einführung

The xattr extension allows for the manipulation of extended attributes on a filesystem.

xattr
Installation/Konfiguration
xattr


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
xattr


Anforderungen

To use xattr, you will need libattr installed. It is available at » http://oss.sgi.com/projects/xfs/.

Hinweis:

These functions only work on filesystems that support extended attributes, and have them enabled at mount time. Some common filesystems that support extended attributes are ext2, ext3, reiserfs, jfs, and xfs.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/xattr.

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

XATTR_ROOT (integer)
Set attribute in root (trusted) namespace. Requires root privileges.
XATTR_DONTFOLLOW (integer)
Do not follow the symbolic link but operate on symbolic link itself.
XATTR_CREATE (integer)
Function will fail if extended attribute already exists.
XATTR_REPLACE (integer)
Function will fail if extended attribute doesn't exist.
Ressource-Typen
xattr Funktionen
xattr


xattr Funktionen

Inhaltsverzeichnis

  • xattr_get — Get an extended attribute
  • xattr_list — Get a list of extended attributes
  • xattr_remove — Remove an extended attribute
  • xattr_set — Set an extended attribute
  • xattr_supported — Check if filesystem supports extended attributes
Vordefinierte Konstanten
xattr_get
xattr


Get an extended attribute

xattr Funktionen
xattr_list
xattr Funktionen
PHP Manual

xattr_get

(PECL xattr >= 0.9.0)

xattr_get — Get an extended attribute

Beschreibung

string xattr_get ( string $filename , string $name [, int $flags = 0 ] )

This function gets the value of an extended attribute of a file.

Erweiterte Eigenschaften haben zwei verschiedene Namensräume: den User- und den Root-Namensraum. Der User-Namensraum steht allen Benutzern zur Verfügung, während der Root-Namensraum nur Benutzern mit Root-Rechten zur Verfügung steht. xattr operiert standardmäßig im User-Namensraum, aber das können Sie mit dem Parameter flags ändern.

Parameter-Liste

filename

The file from which we get the attribute.

name

The name of the attribute.

flags

Supported xattr flags
XATTR_DONTFOLLOW | Do not follow the symbolic link but operate on symbolic link itself.
XATTR_ROOT | Set attribute in root (trusted) namespace. Requires root privileges.

Rückgabewerte

Returns a string containing the value or FALSE if the attribute doesn't exist.

Beispiele

Beispiel #1 Checks if system administrator has signed the file

<?php
$file = '/usr/local/sbin/some_binary';
$signature = xattr_get($file, 'Root signature', XATTR_ROOT);

/* ... check if $signature is valid ... */

?>

Siehe auch

  • xattr_list() - Get a list of extended attributes
  • xattr_set() - Set an extended attribute
  • xattr_remove() - Remove an extended attribute

xattr Funktionen
xattr_list
xattr Funktionen


Get a list of extended attributes

xattr_get
xattr_remove
xattr Funktionen
PHP Manual

xattr_list

(PECL xattr >= 0.9.0)

xattr_list — Get a list of extended attributes

Beschreibung

array xattr_list ( string $filename [, int $flags = 0 ] )

This functions gets a list of names of extended attributes of a file.

Erweiterte Eigenschaften haben zwei verschiedene Namensräume: den User- und den Root-Namensraum. Der User-Namensraum steht allen Benutzern zur Verfügung, während der Root-Namensraum nur Benutzern mit Root-Rechten zur Verfügung steht. xattr operiert standardmäßig im User-Namensraum, aber das können Sie mit dem Parameter flags ändern.

Parameter-Liste

filename

The path of the file.

flags

Supported xattr flags
XATTR_DONTFOLLOW | Do not follow the symbolic link but operate on symbolic link itself.
XATTR_ROOT | Set attribute in root (trusted) namespace. Requires root privileges.

Rückgabewerte

This function returns an array with names of extended attributes.

Beispiele

Beispiel #1 Prints names of all extended attributes of file

<?php
$file = 'some_file';
$root_attributes = xattr_list($file, XATTR_ROOT);
$user_attributes = xattr_list($file);

echo "Root attributes: \n";
foreach ($root_attributes as $attr_name) {
    printf("%s\n", $attr_name);
}

echo "\n User attributes: \n";
foreach ($attributes as $attr_name) {
    printf("%s\n", $attr_name);
}

?>

Siehe auch

  • xattr_get() - Get an extended attribute

xattr_get
xattr_remove
xattr Funktionen


Remove an extended attribute

xattr_list
xattr_set
xattr Funktionen
PHP Manual

xattr_remove

(PECL xattr >= 0.9.0)

xattr_remove — Remove an extended attribute

Beschreibung

bool xattr_remove ( string $filename , string $name [, int $flags = 0 ] )

This function removes an extended attribute of a file.

Erweiterte Eigenschaften haben zwei verschiedene Namensräume: den User- und den Root-Namensraum. Der User-Namensraum steht allen Benutzern zur Verfügung, während der Root-Namensraum nur Benutzern mit Root-Rechten zur Verfügung steht. xattr operiert standardmäßig im User-Namensraum, aber das können Sie mit dem Parameter flags ändern.

Parameter-Liste

filename

The file from which we remove the attribute.

name

The name of the attribute to remove.

flags

Supported xattr flags
XATTR_DONTFOLLOW | Do not follow the symbolic link but operate on symbolic link itself.
XATTR_ROOT | Set attribute in root (trusted) namespace. Requires root privileges.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Removes all extended attributes of a file

<?php
$file = 'some_file';
$attributes = xattr_list($file);

foreach ($attributes as $attr_name) {
    xattr_remove($file, $attr_name);
}
?>

Siehe auch

  • xattr_list() - Get a list of extended attributes
  • xattr_set() - Set an extended attribute
  • xattr_get() - Get an extended attribute

xattr_list
xattr_set
xattr Funktionen


Set an extended attribute

xattr_remove
xattr_supported
xattr Funktionen
PHP Manual

xattr_set

(PECL xattr >= 0.9.0)

xattr_set — Set an extended attribute

Beschreibung

bool xattr_set ( string $filename , string $name , string $value [, int $flags = 0 ] )

This function sets the value of an extended attribute of a file.

Erweiterte Eigenschaften haben zwei verschiedene Namensräume: den User- und den Root-Namensraum. Der User-Namensraum steht allen Benutzern zur Verfügung, während der Root-Namensraum nur Benutzern mit Root-Rechten zur Verfügung steht. xattr operiert standardmäßig im User-Namensraum, aber das können Sie mit dem Parameter flags ändern.

Parameter-Liste

filename

The file in which we set the attribute.

name

The name of the extended attribute. This attribute will be created if it doesn't exist or replaced otherwise. You can change this behaviour by using the flags parameter.

value

The value of the attribute.

flags

Supported xattr flags
XATTR_CREATE | Function will fail if extended attribute already exists.
XATTR_REPLACE | Function will fail if extended attribute doesn't exist.
XATTR_DONTFOLLOW | Do not follow the symbolic link but operate on symbolic link itself.
XATTR_ROOT | Set attribute in root (trusted) namespace. Requires root privileges.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Sets extended attributes on .wav file

<?php
$file = 'my_favourite_song.wav';
xattr_set($file, 'Artist', 'Someone');
xattr_set($file, 'My ranking', 'Good');
xattr_set($file, 'Listen count', '34');

/* ... other code ... */

printf("You've played this song %d times", xattr_get($file, 'Listen count'));
?>

Siehe auch

  • xattr_get() - Get an extended attribute
  • xattr_remove() - Remove an extended attribute

xattr_remove
xattr_supported
xattr Funktionen


Check if filesystem supports extended attributes

xattr_set
xdiff
xattr Funktionen
PHP Manual

xattr_supported

(PECL xattr >= 1.0.0)

xattr_supported — Check if filesystem supports extended attributes

Beschreibung

bool xattr_supported ( string $filename [, int $flags = 0 ] )

This functions checks if the filesystem holding the given file supports extended attributes. Read access to the file is required.

Parameter-Liste

filename

The path of the tested file.

flags

Supported xattr flags
XATTR_DONTFOLLOW Do not follow the symbolic link but operate on symbolic link itself.

Rückgabewerte

This function returns TRUE if filesystem supports extended attributes, FALSE if it doesn't and NULL if it can't be determined (for example wrong path or lack of permissions to file).

Beispiele

Beispiel #1 xattr_supported() example

The following code checks if we can use extended attributes.

<?php
$file = 'some_file';

if (xattr_supported($file)) {
    /* ... make use of some xattr_* functions ... */
}

?>

Siehe auch

  • xattr_get() - Get an extended attribute
  • xattr_list() - Get a list of extended attributes

xattr_set
xdiff
xattr Funktionen


xdiff

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • xdiff Funktionen
    • xdiff_file_bdiff_size — Read a size of file created by applying a binary diff
    • xdiff_file_bdiff — Make binary diff of two files
    • xdiff_file_bpatch — Patch a file with a binary diff
    • xdiff_file_diff_binary — Alias of xdiff_file_bdiff
    • xdiff_file_diff — Make unified diff of two files
    • xdiff_file_merge3 — Merge 3 files into one
    • xdiff_file_patch_binary — Alias of xdiff_file_bpatch
    • xdiff_file_patch — Patch a file with an unified diff
    • xdiff_file_rabdiff — Make binary diff of two files using the Rabin's polynomial fingerprinting algorithm
    • xdiff_string_bdiff_size — Read a size of file created by applying a binary diff
    • xdiff_string_bdiff — Make binary diff of two strings
    • xdiff_string_bpatch — Patch a string with a binary diff
    • xdiff_string_diff_binary — Alias of xdiff_string_bdiff
    • xdiff_string_diff — Make unified diff of two strings
    • xdiff_string_merge3 — Merge 3 strings into one
    • xdiff_string_patch_binary — Alias of xdiff_string_bpatch
    • xdiff_string_patch — Patch a string with an unified diff
    • xdiff_string_rabdiff — Make binary diff of two strings using the Rabin's polynomial fingerprinting algorithm
xattr_supported
Einführung
Dateisystemrelevante Erweiterungen


Einführung

xdiff extension enables you to create and apply patch files containing differences between different revisions of files.

This extension supports two modes of operation - on strings and on files, as well as two different patch formats - unified and binary. Unified patches are excellent for text files as they are human-readable and easy to review. For binary files like archives or images, binary patches will be adequate choice as they are binary safe and handle non-printable characters well.

Starting from version 1.5.0 there are two different sets of functions for generating binary patches. New functions - xdiff_string_rabdiff() and xdiff_file_rabdiff() generate output compatible with older functions but are typically faster and generate smaller results. For more details about methods of generating binary patches and differences between them, please check » libxdiff website.

This extension uses libxdiff to implement these functions. Please see » http://www.xmailserver.org/xdiff-lib.html for more information.

xdiff
Installation/Konfiguration
xdiff


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
xdiff


Anforderungen

To use xdiff, you will need libxdiff installed, available on the libxdiff homepage » http://www.xmailserver.org/xdiff-lib.html.

Hinweis:

You'll need at least libxdiff 0.7 for these functions to be aware of memory_limit.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/xdiff.

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

XDIFF_PATCH_NORMAL (integer)
This flag indicates that xdiff_string_patch() and xdiff_file_patch() functions should create result by applying patch to original content thus creating newer version of file. This is the default mode of operation.
XDIFF_PATCH_REVERSE (integer)
This flag indicated that xdiff_string_patch() and xdiff_file_patch() functions should create result by reversing patch changed from newer content thus creating original version.
Ressource-Typen
xdiff Funktionen
xdiff


xdiff Funktionen

Inhaltsverzeichnis

  • xdiff_file_bdiff_size — Read a size of file created by applying a binary diff
  • xdiff_file_bdiff — Make binary diff of two files
  • xdiff_file_bpatch — Patch a file with a binary diff
  • xdiff_file_diff_binary — Alias of xdiff_file_bdiff
  • xdiff_file_diff — Make unified diff of two files
  • xdiff_file_merge3 — Merge 3 files into one
  • xdiff_file_patch_binary — Alias of xdiff_file_bpatch
  • xdiff_file_patch — Patch a file with an unified diff
  • xdiff_file_rabdiff — Make binary diff of two files using the Rabin's polynomial fingerprinting algorithm
  • xdiff_string_bdiff_size — Read a size of file created by applying a binary diff
  • xdiff_string_bdiff — Make binary diff of two strings
  • xdiff_string_bpatch — Patch a string with a binary diff
  • xdiff_string_diff_binary — Alias of xdiff_string_bdiff
  • xdiff_string_diff — Make unified diff of two strings
  • xdiff_string_merge3 — Merge 3 strings into one
  • xdiff_string_patch_binary — Alias of xdiff_string_bpatch
  • xdiff_string_patch — Patch a string with an unified diff
  • xdiff_string_rabdiff — Make binary diff of two strings using the Rabin's polynomial fingerprinting algorithm
Vordefinierte Konstanten
xdiff_file_bdiff_size
xdiff


Read a size of file created by applying a binary diff

xdiff Funktionen
xdiff_file_bdiff
xdiff Funktionen
PHP Manual

xdiff_file_bdiff_size

(PECL xdiff >= 1.5.0)

xdiff_file_bdiff_size — Read a size of file created by applying a binary diff

Beschreibung

int xdiff_file_bdiff_size ( string $file )

Returns a size of a result file that would be created after applying binary patch from file file to the original file.

Parameter-Liste

file

The path to the binary patch created by xdiff_string_bdiff() or xdiff_string_rabdiff() function.

Rückgabewerte

Returns the size of file that would be created.

Beispiele

Beispiel #1 xdiff_file_bdiff_size() example

The following code applies reads a size of file that would be created after applying a binary diff.

<?php
$length = xdiff_string_bdiff_size('file.bdiff');
echo "Resulting file will be $length bytes long";
?>

Siehe auch

  • xdiff_file_bdiff() - Make binary diff of two files
  • xdiff_file_rabdiff() - Make binary diff of two files using the Rabin's polynomial fingerprinting algorithm
  • xdiff_file_bpatch() - Patch a file with a binary diff

xdiff Funktionen
xdiff_file_bdiff
xdiff Funktionen


Make binary diff of two files

xdiff_file_bdiff_size
xdiff_file_bpatch
xdiff Funktionen
PHP Manual

xdiff_file_bdiff

(PECL xdiff >= 1.5.0)

xdiff_file_bdiff — Make binary diff of two files

Beschreibung

bool xdiff_file_bdiff ( string $old_file , string $new_file , string $dest )

Makes a binary diff of two files and stores the result in a patch file. This function works with both text and binary files. Resulting patch file can be later applied using xdiff_file_bpatch()/xdiff_string_bpatch().

Parameter-Liste

old_file

Path to the first file. This file acts as "old" file.

new_file

Path to the second file. This file acts as "new" file.

dest

Path of the resulting patch file. Resulting file contains differences between "old" and "new" files. It is in binary format and is human-unreadable.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 xdiff_file_bdiff() example

The following code makes binary diff of two archives.

<?php
$old_version = 'my_script_1.0.tgz';
$new_version = 'my_script_1.1.tgz';

xdiff_file_bdiff($old_version, $new_version, 'my_script.bdiff');
?>

Anmerkungen

Hinweis:

Both files will be loaded into memory so ensure that your memory_limit is set high enough.

Siehe auch

  • xdiff_file_bpatch() - Patch a file with a binary diff

xdiff_file_bdiff_size
xdiff_file_bpatch
xdiff Funktionen


Patch a file with a binary diff

xdiff_file_bdiff
xdiff_file_diff_binary
xdiff Funktionen
PHP Manual

xdiff_file_bpatch

(PECL xdiff >= 1.5.0)

xdiff_file_bpatch — Patch a file with a binary diff

Beschreibung

bool xdiff_file_bpatch ( string $file , string $patch , string $dest )

Patches a file with a binary patch and stores the result in a file dest. This function accepts patches created both via xdiff_file_bdiff() and xdiff_file_rabdiff() functions or their string counterparts.

Parameter-Liste

file

The original file.

patch

The binary patch file.

dest

Path of the resulting file.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 xdiff_file_bpatch() example

The following code applies binary diff to a file.

<?php
$old_version = 'archive-1.0.tgz';
$patch = 'archive.bpatch';

$result = xdiff_file_bpatch($old_version, $patch, 'archive-1.1.tgz');
if ($result) {
   echo "File patched";
} else {
   echo "File couldn't be patched";
}

?>

Anmerkungen

Hinweis:

Both files (file and patch) will be loaded into memory so ensure that your memory_limit is set high enough.

Siehe auch

  • xdiff_file_bdiff() - Make binary diff of two files
  • xdiff_file_rabdiff() - Make binary diff of two files using the Rabin's polynomial fingerprinting algorithm

xdiff_file_bdiff
xdiff_file_diff_binary
xdiff Funktionen


Alias of xdiff_file_bdiff

xdiff_file_bpatch
xdiff_file_diff
xdiff Funktionen
PHP Manual

xdiff_file_diff_binary

(PECL xdiff >= 0.2.0)

xdiff_file_diff_binary — Alias of xdiff_file_bdiff

Beschreibung

bool xdiff_file_diff_binary ( string $old_file , string $new_file , string $dest )

Makes a binary diff of two files and stores the result in a patch file. This function works with both text and binary files. Resulting patch file can be later applied using xdiff_file_bpatch().

Starting with version 1.5.0 this function is an alias of xdiff_file_bdiff().

Parameter-Liste

old_file

Path to the first file. This file acts as "old" file.

new_file

Path to the second file. This file acts as "new" file.

dest

Path of the resulting patch file. Resulting file contains differences between "old" and "new" files. It is in binary format and is human-unreadable.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 xdiff_file_diff_binary() example

The following code makes binary diff of two archives.

<?php
$old_version = 'my_script_1.0.tgz';
$new_version = 'my_script_1.1.tgz';

xdiff_file_diff_binary($old_version, $new_version, 'my_script.bdiff');
?>

Anmerkungen

Hinweis:

Both files will be loaded into memory so ensure that your memory_limit is set high enough.

Siehe auch

  • xdiff_file_bdiff() - Make binary diff of two files
  • xdiff_file_bpatch() - Patch a file with a binary diff

xdiff_file_bpatch
xdiff_file_diff
xdiff Funktionen


Make unified diff of two files

xdiff_file_diff_binary
xdiff_file_merge3
xdiff Funktionen
PHP Manual

xdiff_file_diff

(PECL xdiff >= 0.2.0)

xdiff_file_diff — Make unified diff of two files

Beschreibung

bool xdiff_file_diff ( string $old_file , string $new_file , string $dest [, int $context = 3 [, bool $minimal = false ]] )

Makes an unified diff containing differences between old_file and new_file and stores it in dest file. The resulting file is human-readable. An optional context parameter specifies how many lines of context should be added around each change. Setting minimal parameter to true will result in outputting the shortest patch file possible (can take a long time).

Parameter-Liste

old_file

Path to the first file. This file acts as "old" file.

new_file

Path to the second file. This file acts as "new" file.

dest

Path of the resulting patch file.

context

Indicates how many lines of context you want to include in diff result.

minimal

Set this parameter to TRUE if you want to minimalize size of the result (can take a long time).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 xdiff_file_diff() example

The following code makes unified diff of two php files with context length of 2.

<?php
$old_version = 'my_script.php';
$new_version = 'my_new_script.php';

xdiff_file_diff($old_version, $new_version, 'my_script.diff', 2);
?>

Anmerkungen

Hinweis:

This function doesn't work well with binary files. To make diff of binary files use xdiff_file_bdiff()/xdiff_file_rabdiff() function.

Siehe auch

  • xdiff_file_patch() - Patch a file with an unified diff

xdiff_file_diff_binary
xdiff_file_merge3
xdiff Funktionen


Merge 3 files into one

xdiff_file_diff
xdiff_file_patch_binary
xdiff Funktionen
PHP Manual

xdiff_file_merge3

(PECL xdiff >= 0.2.0)

xdiff_file_merge3 — Merge 3 files into one

Beschreibung

mixed xdiff_file_merge3 ( string $old_file , string $new_file1 , string $new_file2 , string $dest )

Merges three files into one and stores the result in a file dest. The old_file is an original version while new_file1 and new_file2 are modified versions of an original.

Parameter-Liste

old_file

Path to the first file. It acts as "old" file.

new_file1

Path to the second file. It acts as modified version of old_file.

new_file2

Path to the third file. It acts as modified version of old_file.

dest

Path of the resulting file, containing merged changed from both new_file1 and new_file2.

Rückgabewerte

Returns TRUE if merge was successful, string with rejected chunks if it was not or FALSE if an internal error happened.

Beispiele

Beispiel #1 xdiff_file_merge3() example

The following code merges three files into one.

<?php
$old_version = 'original_script.php';
$fix1 = 'script_with_fix1.php';
$fix2 = 'script_with_fix2.php';

$errors = xdiff_file_merge3($old_version, $fix1, $fix2, 'fixed_script.php');
if (is_string($errors)) {
    echo "Rejects:\n";
    echo $errors;
}
?>

Siehe auch

  • xdiff_string_merge3() - Merge 3 strings into one

xdiff_file_diff
xdiff_file_patch_binary
xdiff Funktionen


Alias of xdiff_file_bpatch

xdiff_file_merge3
xdiff_file_patch
xdiff Funktionen
PHP Manual

xdiff_file_patch_binary

(PECL xdiff >= 0.2.0)

xdiff_file_patch_binary — Alias of xdiff_file_bpatch

Beschreibung

bool xdiff_file_patch_binary ( string $file , string $patch , string $dest )

Patches a file with a binary patch and stores the result in a file dest. This function accepts patches created both via xdiff_file_bdiff() or xdiff_file_rabdiff() functions or their string counterparts.

Starting with version 1.5.0 this function is an alias of xdiff_file_bpatch().

Parameter-Liste

file

The original file.

patch

The binary patch file.

dest

Path of the resulting file.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 xdiff_file_patch_binary() example

The following code applies binary diff to a file.

<?php
$old_version = 'archive-1.0.tgz';
$patch = 'archive.bpatch';

$result = xdiff_file_patch_binary($old_version, $patch, 'archive-1.1.tgz');
if ($result) {
   echo "File patched";
} else {
   echo "File couldn't be patched";
}

?>

Anmerkungen

Hinweis:

Both files (file and patch) will be loaded into memory so ensure that your memory_limit is set high enough.

Siehe auch

  • xdiff_string_patch_binary() - Alias of xdiff_string_bpatch

xdiff_file_merge3
xdiff_file_patch
xdiff Funktionen


Patch a file with an unified diff

xdiff_file_patch_binary
xdiff_file_rabdiff
xdiff Funktionen
PHP Manual

xdiff_file_patch

(PECL xdiff >= 0.2.0)

xdiff_file_patch — Patch a file with an unified diff

Beschreibung

mixed xdiff_file_patch ( string $file , string $patch , string $dest [, int $flags = DIFF_PATCH_NORMAL ] )

Patches a file with a patch and stores the result in a file. patch has to be an unified diff created by xdiff_file_diff()/xdiff_string_diff() function. An optional flags parameter specifies mode of operation.

Parameter-Liste

file

The original file.

patch

The unified patch file. It has to be created using xdiff_string_diff(), xdiff_file_diff() functions or compatible tools.

dest

Path of the resulting file.

flags

Can be either XDIFF_PATCH_NORMAL (default mode, normal patch) or XDIFF_PATCH_REVERSE (reversed patch).

Starting from version 1.5.0, you can also use binary OR to enable XDIFF_PATCH_IGNORESPACE flag.

Rückgabewerte

Returns FALSE if an internal error happened, string with rejected chunks if patch couldn't be applied or TRUE if patch has been successfully applied.

Beispiele

Beispiel #1 xdiff_file_patch() example

The following code applies unified diff to a file.

<?php
$old_version = 'my_script-1.0.php';
$patch = 'my_script.patch';

$errors = xdiff_file_patch($old_version, $patch, 'my_script-1.1.php');
if (is_string($errors)) {
   echo "Rejects:\n";
   echo $errors;
}

?>

Beispiel #2 Patch reversing example

The following code reverses a patch.

<?php
$new_version = 'my_script-1.1.php';
$patch = 'my_script.patch';

$errors = xdiff_file_patch($new_version, $patch, 'my_script-1.0.php', XDIFF_PATCH_REVERSE);
if (is_string($errors)) {
   echo "Rejects:\n";
   echo $errors;
}

?>

Siehe auch

  • xdiff_file_diff() - Make unified diff of two files

xdiff_file_patch_binary
xdiff_file_rabdiff
xdiff Funktionen


Make binary diff of two files using the Rabin's polynomial fingerprinting algorithm

xdiff_file_patch
xdiff_string_bdiff_size
xdiff Funktionen
PHP Manual

xdiff_file_rabdiff

(PECL xdiff >= 1.5.0)

xdiff_file_rabdiff — Make binary diff of two files using the Rabin's polynomial fingerprinting algorithm

Beschreibung

bool xdiff_file_rabdiff ( string $old_file , string $new_file , string $dest )

Makes a binary diff of two files and stores the result in a patch file. The difference between this function and xdiff_file_bdiff() is different algorithm used which should result in faster execution and smaller diff produced. This function works with both text and binary files. Resulting patch file can be later applied using xdiff_file_bpatch()/xdiff_string_bpatch().

For more details about differences between algorithm used please check » libxdiff website.

Parameter-Liste

old_file

Path to the first file. This file acts as "old" file.

new_file

Path to the second file. This file acts as "new" file.

dest

Path of the resulting patch file. Resulting file contains differences between "old" and "new" files. It is in binary format and is human-unreadable.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 xdiff_file_rabdiff() example

The following code makes binary diff of two archives.

<?php
$old_version = 'my_script_1.0.tgz';
$new_version = 'my_script_1.1.tgz';

xdiff_file_rabdiff($old_version, $new_version, 'my_script.bdiff');
?>

Anmerkungen

Hinweis:

Both files will be loaded into memory so ensure that your memory_limit is set high enough.

Siehe auch

  • xdiff_file_bpatch() - Patch a file with a binary diff

xdiff_file_patch
xdiff_string_bdiff_size
xdiff Funktionen


Read a size of file created by applying a binary diff

xdiff_file_rabdiff
xdiff_string_bdiff
xdiff Funktionen
PHP Manual

xdiff_string_bdiff_size

(PECL xdiff >= 1.5.0)

xdiff_string_bdiff_size — Read a size of file created by applying a binary diff

Beschreibung

int xdiff_string_bdiff_size ( string $patch )

Returns a size of a result file that would be created after applying binary patch to the original file.

Parameter-Liste

patch

The binary patch created by xdiff_string_bdiff() or xdiff_string_rabdiff() function.

Rückgabewerte

Returns the size of file that would be created.

Beispiele

Beispiel #1 xdiff_string_bdiff_size() example

The following code applies reads a size of file that would be created after applying a binary diff.

<?php
$binary_patch = file_get_contents('file.bdiff');
$length = xdiff_string_bdiff_size($binary_patch);
echo "Resulting file will be $length bytes long";
?>

Siehe auch

  • xdiff_string_bdiff() - Make binary diff of two strings
  • xdiff_string_rabdiff() - Make binary diff of two strings using the Rabin's polynomial fingerprinting algorithm
  • xdiff_string_bpatch() - Patch a string with a binary diff

xdiff_file_rabdiff
xdiff_string_bdiff
xdiff Funktionen


Make binary diff of two strings

xdiff_string_bdiff_size
xdiff_string_bpatch
xdiff Funktionen
PHP Manual

xdiff_string_bdiff

(PECL xdiff >= 1.5.0)

xdiff_string_bdiff — Make binary diff of two strings

Beschreibung

string xdiff_string_bdiff ( string $old_data , string $new_data )

Makes a binary diff of two strings and returns the result. This function works with both text and binary data. Resulting patch can be later applied using xdiff_string_bpatch()/xdiff_file_bpatch().

Parameter-Liste

old_data

First string with binary data. It acts as "old" data.

new_data

Second string with binary data. It acts as "new" data.

Rückgabewerte

Returns string with binary diff containing differences between "old" and "new" data or FALSE if an internal error occurred.

Siehe auch

  • xdiff_string_bpatch() - Patch a string with a binary diff

xdiff_string_bdiff_size
xdiff_string_bpatch
xdiff Funktionen


Patch a string with a binary diff

xdiff_string_bdiff
xdiff_string_diff_binary
xdiff Funktionen
PHP Manual

xdiff_string_bpatch

(PECL xdiff >= 1.5.0)

xdiff_string_bpatch — Patch a string with a binary diff

Beschreibung

string xdiff_string_bpatch ( string $str , string $patch )

Patches a string str with a binary patch. This function accepts patches created both via xdiff_string_bdiff() and xdiff_string_rabdiff() functions or their file counterparts.

Parameter-Liste

str

The original binary string.

patch

The binary patch string.

Rückgabewerte

Returns the patched string, or FALSE on error.

Siehe auch

  • xdiff_string_bdiff() - Make binary diff of two strings
  • xdiff_string_rabdiff() - Make binary diff of two strings using the Rabin's polynomial fingerprinting algorithm

xdiff_string_bdiff
xdiff_string_diff_binary
xdiff Funktionen


Alias of xdiff_string_bdiff

xdiff_string_bpatch
xdiff_string_diff
xdiff Funktionen
PHP Manual

xdiff_string_diff_binary

(PECL xdiff >= 0.2.0)

xdiff_string_diff_binary — Alias of xdiff_string_bdiff

Beschreibung

string xdiff_string_bdiff ( string $old_data , string $new_data )

Makes a binary diff of two strings and returns the result. This function works with both text and binary data. Resulting patch can be later applied using xdiff_string_bpatch()/xdiff_file_bpatch().

Starting with version 1.5.0 this function is an alias of xdiff_string_bdiff().

Parameter-Liste

old_data

First string with binary data. It acts as "old" data.

new_data

Second string with binary data. It acts as "new" data.

Rückgabewerte

Returns string with result or FALSE if an internal error happened.

Siehe auch

  • xdiff_string_bdiff() - Make binary diff of two strings
  • xdiff_string_bpatch() - Patch a string with a binary diff

xdiff_string_bpatch
xdiff_string_diff
xdiff Funktionen


Make unified diff of two strings

xdiff_string_diff_binary
xdiff_string_merge3
xdiff Funktionen
PHP Manual

xdiff_string_diff

(PECL xdiff >= 0.2.0)

xdiff_string_diff — Make unified diff of two strings

Beschreibung

string xdiff_string_diff ( string $old_data , string $new_data [, int $context = 3 [, bool $minimal = false ]] )

Makes an unified diff containing differences between old_data string and new_data string and returns it. The resulting diff is human-readable. An optional context parameter specifies how many lines of context should be added around each change. Setting minimal parameter to true will result in outputting the shortest patch file possible (can take a long time).

Parameter-Liste

old_data

First string with data. It acts as "old" data.

new_data

Second string with data. It acts as "new" data.

context

Indicates how many lines of context you want to include in the diff result.

minimal

Set this parameter to TRUE if you want to minimalize the size of the result (can take a long time).

Rückgabewerte

Returns string with resulting diff or FALSE if an internal error happened.

Beispiele

Beispiel #1 xdiff_string_diff() example

The following code makes unified diff of two articles.

<?php
$old_article = file_get_contents('./old_article.txt');
$new_article = $_REQUEST['article']; /* Let's say that someone pasted a new article to html form */

$diff = xdiff_string_diff($old_article, $new_article, 1);
if (is_string($diff)) {
    echo "Differences between two articles:\n";
    echo $diff;
}

?>

Anmerkungen

Hinweis:

This function doesn't work well with binary strings. To make diff of binary strings use xdiff_string_bdiff()/xdiff_string_rabdiff().

Siehe auch

  • xdiff_string_patch() - Patch a string with an unified diff

xdiff_string_diff_binary
xdiff_string_merge3
xdiff Funktionen


Merge 3 strings into one

xdiff_string_diff
xdiff_string_patch_binary
xdiff Funktionen
PHP Manual

xdiff_string_merge3

(PECL xdiff >= 0.2.0)

xdiff_string_merge3 — Merge 3 strings into one

Beschreibung

mixed xdiff_string_merge3 ( string $old_data , string $new_data1 , string $new_data2 [, string &$error ] )

Merges three strings into one and returns the result. The old_data is an original version of data while new_data1 and new_data2 are modified versions of an original. An optional error is used to pass any rejected parts during merging process.

Parameter-Liste

old_data

First string with data. It acts as "old" data.

new_data1

Second string with data. It acts as modified version of old_data.

new_data2

Third string with data. It acts as modified version of old_data.

error

If provided then rejected parts are stored inside this variable.

Rückgabewerte

Returns the merged string, FALSE if an internal error happened, or TRUE if merged string is empty.

Siehe auch

  • xdiff_file_merge3() - Merge 3 files into one

xdiff_string_diff
xdiff_string_patch_binary
xdiff Funktionen


Alias of xdiff_string_bpatch

xdiff_string_merge3
xdiff_string_patch
xdiff Funktionen
PHP Manual

xdiff_string_patch_binary

(PECL xdiff >= 0.2.0)

xdiff_string_patch_binary — Alias of xdiff_string_bpatch

Beschreibung

string xdiff_string_patch_binary ( string $str , string $patch )

Patches a string str with a binary patch. This function accepts patches created both via xdiff_string_bdiff() and xdiff_string_rabdiff() functions or their file counterparts.

Starting with version 1.5.0 this function is an alias of xdiff_string_bpatch().

Parameter-Liste

str

The original binary string.

patch

The binary patch string.

Rückgabewerte

Returns the patched string, or FALSE on error.

Siehe auch

  • xdiff_string_bpatch() - Patch a string with a binary diff
  • xdiff_string_bdiff() - Make binary diff of two strings
  • xdiff_string_rabdiff() - Make binary diff of two strings using the Rabin's polynomial fingerprinting algorithm

xdiff_string_merge3
xdiff_string_patch
xdiff Funktionen


Patch a string with an unified diff

xdiff_string_patch_binary
xdiff_string_rabdiff
xdiff Funktionen
PHP Manual

xdiff_string_patch

(PECL xdiff >= 0.2.0)

xdiff_string_patch — Patch a string with an unified diff

Beschreibung

string xdiff_string_patch ( string $str , string $patch [, int $flags [, string &$error ]] )

Patches a str string with an unified patch in patch parameter and returns the result. patch has to be an unified diff created by xdiff_file_diff()/xdiff_string_diff() function. An optional flags parameter specifies mode of operation. Any rejected parts of the patch will be stored inside error variable if it is provided.

Parameter-Liste

str

The original string.

patch

The unified patch string. It has to be created using xdiff_string_diff(), xdiff_file_diff() functions or compatible tools.

flags

flags can be either XDIFF_PATCH_NORMAL (default mode, normal patch) or XDIFF_PATCH_REVERSE (reversed patch).

Starting from version 1.5.0, you can also use binary OR to enable XDIFF_PATCH_IGNORESPACE flag.

error

If provided then rejected parts are stored inside this variable.

Rückgabewerte

Returns the patched string, or FALSE on error.

Beispiele

Beispiel #1 xdiff_string_patch() example

The following code applies changes to some article.

<?php
$old_article = file_get_contents('./old_article.txt');
$diff = $_SERVER['patch']; /* Let's say that someone pasted a patch to html form */

$errors = '';

$new_article = xdiff_string_patch($old_article, $diff, XDIFF_PATCH_NORMAL, $errors);
if (is_string($new_article)) {
    echo "New article:\n";
    echo $new_article;
}

if (strlen($errors)) {
    echo "Rejects: \n";
    echo $errors;
}

?>

Siehe auch

  • xdiff_string_diff() - Make unified diff of two strings

xdiff_string_patch_binary
xdiff_string_rabdiff
xdiff Funktionen


Make binary diff of two strings using the Rabin's polynomial fingerprinting algorithm

xdiff_string_patch
Unterstützung menschlicher Sprache und Zeichenkodierung
xdiff Funktionen
PHP Manual

xdiff_string_rabdiff

(PECL xdiff >= 1.5.0)

xdiff_string_rabdiff — Make binary diff of two strings using the Rabin's polynomial fingerprinting algorithm

Beschreibung

string xdiff_string_bdiff ( string $old_data , string $new_data )

Makes a binary diff of two strings and returns the result. The difference between this function and xdiff_string_bdiff() is different algorithm used which should result in faster execution and smaller diff produced. This function works with both text and binary data. Resulting patch can be later applied using xdiff_string_bpatch()/xdiff_file_bpatch().

For more details about differences between algorithm used please check » libxdiff website.

Parameter-Liste

old_data

First string with binary data. It acts as "old" data.

new_data

Second string with binary data. It acts as "new" data.

Rückgabewerte

Returns string with binary diff containing differences between "old" and "new" data or FALSE if an internal error occurred.

Siehe auch

  • xdiff_string_bpatch() - Patch a string with a binary diff

xdiff_string_patch
Unterstützung menschlicher Sprache und Zeichenkodierung
xdiff Funktionen


Unterstützung menschlicher Sprache und Zeichenkodierung

  • Enchant — Enchant spelling library
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Enchant Funktionen
  • FriBiDi
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • FriBiDi-Funktionen
  • Gender — Geschlecht aus Vornamen ermitteln
    • Einführung
    • Installation/Konfiguration
    • Beispiele
    • Gender\Gender — The Gender\Gender class
  • Gettext
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Gettext-Funktionen
  • iconv
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • iconv Funktionen
  • intl — Internationalization Functions
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Collator — The Collator class
    • NumberFormatter — The NumberFormatter class
    • Locale — The Locale class
    • Normalizer — The Normalizer class
    • MessageFormatter — The MessageFormatter class
    • IntlCalendar — The IntlCalendar class
    • IntlTimeZone — The IntlTimeZone class
    • IntlDateFormatter — The IntlDateFormatter class
    • ResourceBundle — The ResourceBundle class
    • Spoofchecker — The Spoofchecker class
    • Transliterator — The Transliterator class
    • IntlBreakIterator — The IntlBreakIterator class
    • IntlRuleBasedBreakIterator — The IntlRuleBasedBreakIterator class
    • IntlCodePointBreakIterator — The IntlCodePointBreakIterator class
    • IntlPartsIterator — The IntlPartsIterator class
    • UConverter — The UConverter class
    • Grapheme Funktionen
    • IDN Funktionen
    • IntlChar
    • IntlException — Exception class for intl errors
    • IntlIterator — The IntlIterator class
    • intl Funktionen
  • Multibyte String
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Summaries of supported encodings
    • Basics of Japanese multi-byte encodings
    • HTTP Input and Output
    • Supported Character Encodings
    • Function Overloading Feature
    • PHP Character Encoding Requirements
    • Multibyte String Funktionen
  • Pspell
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Pspell Funktionen
  • Recode — GNU Recode
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Recode-Funktionen
xdiff_string_rabdiff
Enchant
Funktionsreferenz


Enchant spelling library

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
  • Enchant Funktionen
    • enchant_broker_describe — Enumerates the Enchant providers
    • enchant_broker_dict_exists — Whether a dictionary exists or not. Using non-empty tag
    • enchant_broker_free_dict — Free a dictionary resource
    • enchant_broker_free — Free the broker resource and its dictionnaries
    • enchant_broker_get_dict_path — Get the directory path for a given backend
    • enchant_broker_get_error — Returns the last error of the broker
    • enchant_broker_init — create a new broker object capable of requesting
    • enchant_broker_list_dicts — Returns a list of available dictionaries
    • enchant_broker_request_dict — create a new dictionary using a tag
    • enchant_broker_request_pwl_dict — creates a dictionary using a PWL file
    • enchant_broker_set_dict_path — Set the directory path for a given backend
    • enchant_broker_set_ordering — Declares a preference of dictionaries to use for the language
    • enchant_dict_add_to_personal — add a word to personal word list
    • enchant_dict_add_to_session — add 'word' to this spell-checking session
    • enchant_dict_check — Check whether a word is correctly spelled or not
    • enchant_dict_describe — Describes an individual dictionary
    • enchant_dict_get_error — Returns the last error of the current spelling-session
    • enchant_dict_is_in_session — whether or not 'word' exists in this spelling-session
    • enchant_dict_quick_check — Check the word is correctly spelled and provide suggestions
    • enchant_dict_store_replacement — Add a correction for a word
    • enchant_dict_suggest — Will return a list of values if any of those pre-conditions are not met
Unterstützung menschlicher Sprache und Zeichenkodierung
Einführung
Unterstützung menschlicher Sprache und Zeichenkodierung


Einführung

Enchant is the PHP binding for the » Enchant library. Enchant steps in to provide uniformity and conformity on top of all spelling libraries, and implement certain features that may be lacking in any individual provider library. Everything should "just work" for any and every definition of "just working."

Enchant supports the following backends:

  • Aspell/Pspell (intends to replace Ispell)

  • Ispell (old as sin, could be interpreted as a defacto standard)

  • MySpell/Hunspell (an OOo projects, also used by Mozilla)

  • Uspell (primarily Yiddish, Hebrew, and Eastern European languages - hosted in AbiWord's CVS under the module "uspell")

  • Hspell (Hebrew)

  • AppleSpell (Mac OSX)

Enchant
Installation/Konfiguration
Enchant


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Enchant


Anforderungen

This version uses the functions of the » Enchant library by Dom Lachowicz. You need Enchant 1.2.4 or later.

Enchant also requires » Glib 2.6 or greater. Pre-compiled Windows libraries are available from » http://ftp.gnome.org/pub/gnome/binaries/win32/glib/.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

This extension is bundled with PHP as of PHP 5.3.0. Before this time, enchant was a PECL extension. Users of versions prior to 5.3.0 may use the » PECL extension.

Provided the required libraries are installed, users of PHP 5.3.0 or later may enable enchant by adding the --with-enchant[=dir] option when compiling PHP.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Ressource-Typen

There are two types of resources in this extension. The first one is the broker (backends manager) and the second is for the dictionary.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

ENCHANT_MYSPELL (integer)
Dictionary type for MySpell. Used with enchant_broker_get_dict_path() and enchant_broker_set_dict_path().
ENCHANT_ISPELL (integer)
Dictionary type for Ispell. Used with enchant_broker_get_dict_path() and enchant_broker_set_dict_path().

Ressource-Typen
Beispiele
Enchant


Beispiele

Beispiel #1 Enchant Usage Example

<?php
$tag = 'en_US';
$r = enchant_broker_init();
$bprovides = enchant_broker_describe($r);
echo "Current broker provides the following backend(s):\n";
print_r($bprovides);

$dicts = enchant_broker_list_dicts($r);
print_r($dicts);
if (enchant_broker_dict_exists($r,$tag)) {
    $d = enchant_broker_request_dict($r, $tag);
    $dprovides = enchant_dict_describe($d);
    echo "dictionary $tag provides:\n";
    $wordcorrect = enchant_dict_check($d, "soong");
    print_r($dprovides);
    if (!$wordcorrect) {
        $suggs = enchant_dict_suggest($d, "soong");
        echo "Suggestions for 'soong':";
        print_r($suggs);
    }
    enchant_broker_free_dict($d);
} else {
}
enchant_broker_free($r);
?>
Vordefinierte Konstanten
Enchant Funktionen
Enchant


Enchant Funktionen

Inhaltsverzeichnis

  • enchant_broker_describe — Enumerates the Enchant providers
  • enchant_broker_dict_exists — Whether a dictionary exists or not. Using non-empty tag
  • enchant_broker_free_dict — Free a dictionary resource
  • enchant_broker_free — Free the broker resource and its dictionnaries
  • enchant_broker_get_dict_path — Get the directory path for a given backend
  • enchant_broker_get_error — Returns the last error of the broker
  • enchant_broker_init — create a new broker object capable of requesting
  • enchant_broker_list_dicts — Returns a list of available dictionaries
  • enchant_broker_request_dict — create a new dictionary using a tag
  • enchant_broker_request_pwl_dict — creates a dictionary using a PWL file
  • enchant_broker_set_dict_path — Set the directory path for a given backend
  • enchant_broker_set_ordering — Declares a preference of dictionaries to use for the language
  • enchant_dict_add_to_personal — add a word to personal word list
  • enchant_dict_add_to_session — add 'word' to this spell-checking session
  • enchant_dict_check — Check whether a word is correctly spelled or not
  • enchant_dict_describe — Describes an individual dictionary
  • enchant_dict_get_error — Returns the last error of the current spelling-session
  • enchant_dict_is_in_session — whether or not 'word' exists in this spelling-session
  • enchant_dict_quick_check — Check the word is correctly spelled and provide suggestions
  • enchant_dict_store_replacement — Add a correction for a word
  • enchant_dict_suggest — Will return a list of values if any of those pre-conditions are not met
Beispiele
enchant_broker_describe
Enchant


Enumerates the Enchant providers

Enchant Funktionen
enchant_broker_dict_exists
Enchant Funktionen
PHP Manual

enchant_broker_describe

(PHP 5 >= 5.3.0, PHP 7, PECL enchant >= 0.1.0)

enchant_broker_describe — Enumerates the Enchant providers

Beschreibung

array enchant_broker_describe ( resource $broker )

Enumerates the Enchant providers and tells you some rudimentary information about them. The same info is provided through phpinfo().

Parameter-Liste

broker

Broker resource

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 List the backends provided by the given broker

<?php
$r = enchant_broker_init();
$bprovides = enchant_broker_describe($r);
echo "Current broker provides the following backend(s):\n";
print_r($bprovides);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Current broker provides the following backend(s):
Array
(
    [0] => Array
        (
            [name] => aspell
            [desc] => Aspell Provider
            [file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [1] => Array
        (
            [name] => hspell
            [desc] => Hspell Provider
            [file] => /usr/lib/enchant/libenchant_hspell.so
        )

    [2] => Array
        (
            [name] => ispell
            [desc] => Ispell Provider
            [file] => /usr/lib/enchant/libenchant_ispell.so
        )

    [3] => Array
        (
            [name] => myspell
            [desc] => Myspell Provider
            [file] => /usr/lib/enchant/libenchant_myspell.so
        )

)

Enchant Funktionen
enchant_broker_dict_exists
Enchant Funktionen


Whether a dictionary exists or not. Using non-empty tag

enchant_broker_describe
enchant_broker_free_dict
Enchant Funktionen
PHP Manual

enchant_broker_dict_exists

(PHP 5 >= 5.3.0, PHP 7, PECL enchant >= 0.1.0 )

enchant_broker_dict_exists — Whether a dictionary exists or not. Using non-empty tag

Beschreibung

bool enchant_broker_dict_exists ( resource $broker , string $tag )

Tells if a dictionary exists or not, using a non-empty tags

Parameter-Liste

broker

Broker resource

tag

non-empty tag in the LOCALE format, ex: us_US, ch_DE, etc.

Rückgabewerte

Returns TRUE when the tag exist or FALSE when not.

Beispiele

Beispiel #1 A enchant_broker_dict_exists() example

<?php
$tag = 'en_US';
$r = enchant_broker_init();
if (enchant_broker_dict_exists($r,$tag)) {
    echo $tag . " dictionary found.\n";
}
?>

Siehe auch

  • enchant_broker_describe() - Enumerates the Enchant providers

enchant_broker_describe
enchant_broker_free_dict
Enchant Funktionen


Free a dictionary resource

enchant_broker_dict_exists
enchant_broker_free
Enchant Funktionen
PHP Manual

enchant_broker_free_dict

(PHP 5 >= 5.3.0, PHP 7, PECL enchant >= 0.1.0 )

enchant_broker_free_dict — Free a dictionary resource

Beschreibung

bool enchant_broker_free_dict ( resource $dict )

Free a dictionary resource.

Parameter-Liste

dict

Dictionary resource.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • enchant_broker_request_dict() - create a new dictionary using a tag
  • enchant_broker_request_pwl_dict() - creates a dictionary using a PWL file

enchant_broker_dict_exists
enchant_broker_free
Enchant Funktionen


Free the broker resource and its dictionnaries

enchant_broker_free_dict
enchant_broker_get_dict_path
Enchant Funktionen
PHP Manual

enchant_broker_free

(PHP 5 >= 5.3.0, PHP 7, PECL enchant >= 0.1.0 )

enchant_broker_free — Free the broker resource and its dictionnaries

Beschreibung

bool enchant_broker_free ( resource $broker )

Free a broker resource with all its dictionaries.

Parameter-Liste

broker

Broker resource

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • enchant_broker_init() - create a new broker object capable of requesting

enchant_broker_free_dict
enchant_broker_get_dict_path
Enchant Funktionen


Get the directory path for a given backend

enchant_broker_free
enchant_broker_get_error
Enchant Funktionen
PHP Manual

enchant_broker_get_dict_path

(PHP 5 >= 5.3.1, PHP 7, PECL enchant >= 1.0.1)

enchant_broker_get_dict_path — Get the directory path for a given backend

Beschreibung

bool enchant_broker_get_dict_path ( resource $broker , int $dict_type )

Get the directory path for a given backend.

Parameter-Liste

broker

Broker resource.

dict_type

The type of the dictionaries, i.e. ENCHANT_MYSPELL or ENCHANT_ISPELL.

Rückgabewerte

Returns the path of the dictionary directory on successIm Fehlerfall wird FALSE zurückgegeben..

Siehe auch

  • enchant_broker_set_dict_path() - Set the directory path for a given backend

enchant_broker_free
enchant_broker_get_error
Enchant Funktionen


Returns the last error of the broker

enchant_broker_get_dict_path
enchant_broker_init
Enchant Funktionen
PHP Manual

enchant_broker_get_error

(PHP 5 >= 5.3.0, PHP 7, PECL enchant >= 0.1.0 )

enchant_broker_get_error — Returns the last error of the broker

Beschreibung

string enchant_broker_get_error ( resource $broker )

Returns the last error which occurred in this broker.

Parameter-Liste

broker

Broker resource.

Rückgabewerte

Return the msg string if an error was found or FALSE

enchant_broker_get_dict_path
enchant_broker_init
Enchant Funktionen


create a new broker object capable of requesting

enchant_broker_get_error
enchant_broker_list_dicts
Enchant Funktionen
PHP Manual

enchant_broker_init

(PHP 5 >= 5.3.0, PHP 7, PECL enchant >= 0.1.0 )

enchant_broker_init — create a new broker object capable of requesting

Beschreibung

resource enchant_broker_init ( void )

Parameter-Liste

Rückgabewerte

Returns a broker resource on success or FALSE.

Siehe auch

  • enchant_broker_free() - Free the broker resource and its dictionnaries

enchant_broker_get_error
enchant_broker_list_dicts
Enchant Funktionen


Returns a list of available dictionaries

enchant_broker_init
enchant_broker_request_dict
Enchant Funktionen
PHP Manual

enchant_broker_list_dicts

(PHP 5 >= 5.3.0, PHP 7, PECL enchant >= 1.0.1)

enchant_broker_list_dicts — Returns a list of available dictionaries

Beschreibung

mixed enchant_broker_list_dicts ( resource $broker )

Returns a list of available dictionaries with their details.

Parameter-Liste

broker

Broker resource

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 List all available dictionaries for one broker

<?php
$r = enchant_broker_init();
$dicts = enchant_broker_list_dicts($r);
print_r($dicts);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [0] => Array
        (
            [lang_tag] => de
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [1] => Array
        (
            [lang_tag] => de_DE
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [3] => Array
        (
            [lang_tag] => en
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [4] => Array
        (
            [lang_tag] => en_GB
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [5] => Array
        (
            [lang_tag] => en_US
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [6] => Array
        (
            [lang_tag] => hi_IN
            [provider_name] => myspell
            [provider_desc] => Myspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_myspell.so
        )

)

Siehe auch

  • enchant_broker_describe() - Enumerates the Enchant providers

enchant_broker_init
enchant_broker_request_dict
Enchant Funktionen


create a new dictionary using a tag

enchant_broker_list_dicts
enchant_broker_request_pwl_dict
Enchant Funktionen
PHP Manual

enchant_broker_request_dict

(PHP 5 >= 5.3.0, PHP 7, PECL enchant >= 0.1.0 )

enchant_broker_request_dict — create a new dictionary using a tag

Beschreibung

resource enchant_broker_request_dict ( resource $broker , string $tag )

create a new dictionary using tag, the non-empty language tag you wish to request a dictionary for ("en_US", "de_DE", ...)

Parameter-Liste

broker

Broker resource

tag

A tag describing the locale, for example en_US, de_DE

Rückgabewerte

Returns a dictionary resource on successIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 A enchant_broker_request_dict() example

Check if a dictionary exists using enchant_broker_dict_exists() and request it.

<?php
$tag = 'en_US';
$broker = enchant_broker_init();
if (enchant_broker_dict_exists($broker,$tag)) {
    $dict = enchant_broker_request_dict($r, $tag);
}
?>

Siehe auch

  • enchant_dict_describe() - Describes an individual dictionary
  • enchant_broker_dict_exists() - Whether a dictionary exists or not. Using non-empty tag
  • enchant_broker_free_dict() - Free a dictionary resource

enchant_broker_list_dicts
enchant_broker_request_pwl_dict
Enchant Funktionen


creates a dictionary using a PWL file

enchant_broker_request_dict
enchant_broker_set_dict_path
Enchant Funktionen
PHP Manual

enchant_broker_request_pwl_dict

(PHP 5 >= 5.3.0, PHP 7, PECL enchant >= 0.1.0 )

enchant_broker_request_pwl_dict — creates a dictionary using a PWL file

Beschreibung

resource enchant_broker_request_pwl_dict ( resource $broker , string $filename )

Creates a dictionary using a PWL file. A PWL file is personal word file one word per line.

Parameter-Liste

broker

Broker resource

filename

Path to the PWL file. If there is no such file, a new one will be created if possible.

Rückgabewerte

Returns a dictionary resource on successIm Fehlerfall wird FALSE zurückgegeben..

Siehe auch

  • enchant_dict_describe() - Describes an individual dictionary
  • enchant_broker_dict_exists() - Whether a dictionary exists or not. Using non-empty tag
  • enchant_broker_free_dict() - Free a dictionary resource

enchant_broker_request_dict
enchant_broker_set_dict_path
Enchant Funktionen


Set the directory path for a given backend

enchant_broker_request_pwl_dict
enchant_broker_set_ordering
Enchant Funktionen
PHP Manual

enchant_broker_set_dict_path

(PHP 5 >= 5.3.1, PHP 7, PECL enchant >= 1.0.1)

enchant_broker_set_dict_path — Set the directory path for a given backend

Beschreibung

bool enchant_broker_set_dict_path ( resource $broker , int $dict_type , string $value )

Set the directory path for a given backend.

Parameter-Liste

broker

Broker resource.

dict_type

The type of the dictionaries, i.e. ENCHANT_MYSPELL or ENCHANT_ISPELL.

value

The path of the dictionary directory.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • enchant_broker_get_dict_path() - Get the directory path for a given backend

enchant_broker_request_pwl_dict
enchant_broker_set_ordering
Enchant Funktionen


Declares a preference of dictionaries to use for the language

enchant_broker_set_dict_path
enchant_dict_add_to_personal
Enchant Funktionen
PHP Manual

enchant_broker_set_ordering

(PHP 5 >= 5.3.0, PHP 7, PECL enchant >= 0.1.0 )

enchant_broker_set_ordering — Declares a preference of dictionaries to use for the language

Beschreibung

bool enchant_broker_set_ordering ( resource $broker , string $tag , string $ordering )

Declares a preference of dictionaries to use for the language described/referred to by 'tag'. The ordering is a comma delimited list of provider names. As a special exception, the "*" tag can be used as a language tag to declare a default ordering for any language that does not explicitly declare an ordering.

Parameter-Liste

broker

Broker resource

tag

Language tag. The special "*" tag can be used as a language tag to declare a default ordering for any language that does not explicitly declare an ordering.

ordering

Comma delimited list of provider names

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

enchant_broker_set_dict_path
enchant_dict_add_to_personal
Enchant Funktionen


add a word to personal word list

enchant_broker_set_ordering
enchant_dict_add_to_session
Enchant Funktionen
PHP Manual

enchant_dict_add_to_personal

(PHP 5 >= 5.3.0, PHP 7, PECL enchant >= 0.1.0 )

enchant_dict_add_to_personal — add a word to personal word list

Beschreibung

void enchant_dict_add_to_personal ( resource $dict , string $word )

Add a word to personal word list of the given dictionary.

Parameter-Liste

dict

Dictionary resource

word

The word to add

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiel #1 Adding a word to a PWL

<?php

$filename = './my_word_list.pwl';
$word = 'Supercalifragilisticexpialidocious';

$broker = enchant_broker_init();
$dict = enchant_broker_request_pwl_dict($broker, $filename);

enchant_dict_add_to_personal($dict, $word);

enchant_broker_free($broker);

?>

Siehe auch

  • enchant_broker_request_pwl_dict() - creates a dictionary using a PWL file
  • enchant_broker_request_dict() - create a new dictionary using a tag

enchant_broker_set_ordering
enchant_dict_add_to_session
Enchant Funktionen


add 'word' to this spell-checking session

enchant_dict_add_to_personal
enchant_dict_check
Enchant Funktionen
PHP Manual

enchant_dict_add_to_session

(PHP 5 >= 5.3.0, PHP 7, PECL enchant >= 0.1.0 )

enchant_dict_add_to_session — add 'word' to this spell-checking session

Beschreibung

void enchant_dict_add_to_session ( resource $dict , string $word )

Add a word to the given dictionary. It will be added only for the active spell-checking session.

Parameter-Liste

dict

Dictionary resource

word

The word to add

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • enchant_broker_request_dict() - create a new dictionary using a tag

enchant_dict_add_to_personal
enchant_dict_check
Enchant Funktionen


Check whether a word is correctly spelled or not

enchant_dict_add_to_session
enchant_dict_describe
Enchant Funktionen
PHP Manual

enchant_dict_check

(PHP 5 >= 5.3.0, PHP 7, PECL enchant >= 0.1.0 )

enchant_dict_check — Check whether a word is correctly spelled or not

Beschreibung

bool enchant_dict_check ( resource $dict , string $word )

If the word is correctly spelled return TRUE, otherwise return FALSE

Parameter-Liste

dict

Dictionary resource

word

The word to check

Rückgabewerte

Returns TRUE if the word is spelled correctly, FALSE if not.

enchant_dict_add_to_session
enchant_dict_describe
Enchant Funktionen


Describes an individual dictionary

enchant_dict_check
enchant_dict_get_error
Enchant Funktionen
PHP Manual

enchant_dict_describe

(PHP 5 >= 5.3.0, PHP 7, PECL enchant >= 0.1.0 )

enchant_dict_describe — Describes an individual dictionary

Beschreibung

mixed enchant_dict_describe ( resource $dict )

Returns the details of the dictionary.

Parameter-Liste

dict

Dictionary resource

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 A enchant_dict_describe() example

Check if a dictionary exists using enchant_broker_dict_exists() and show the detail of it.

<?php
$tag = 'en_US';
$broker = enchant_broker_init();
if (enchant_broker_dict_exists($broker,$tag)) {
    $dict = enchant_broker_request_dict($r, $tag);
    $dict_details = enchant_dict_describe($dict);
    print_r($dict_details);
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [lang] => en_US
    [name] => aspell
    [desc] => Aspell Provider
    [file] => /usr/lib/enchant/libenchant_aspell.so
)

enchant_dict_check
enchant_dict_get_error
Enchant Funktionen


Returns the last error of the current spelling-session

enchant_dict_describe
enchant_dict_is_in_session
Enchant Funktionen
PHP Manual

enchant_dict_get_error

(PHP 5 >= 5.3.0, PHP 7, PECL enchant >= 0.1.0 )

enchant_dict_get_error — Returns the last error of the current spelling-session

Beschreibung

string enchant_dict_get_error ( resource $dict )

Returns the last error of the current spelling-session

Parameter-Liste

dict

Dictinaray resource

Rückgabewerte

Returns the error message as string or FALSE if no error occurred.

enchant_dict_describe
enchant_dict_is_in_session
Enchant Funktionen


whether or not 'word' exists in this spelling-session

enchant_dict_get_error
enchant_dict_quick_check
Enchant Funktionen
PHP Manual

enchant_dict_is_in_session

(PHP 5 >= 5.3.0, PHP 7, PECL enchant >= 0.1.0 )

enchant_dict_is_in_session — whether or not 'word' exists in this spelling-session

Beschreibung

bool enchant_dict_is_in_session ( resource $dict , string $word )

Tells whether or not a word already exists in the current session.

Parameter-Liste

dict

Dictionary resource

word

The word to lookup

Rückgabewerte

Returns TRUE if the word exists or FALSE

Siehe auch

  • enchant_dict_add_to_session() - add 'word' to this spell-checking session

enchant_dict_get_error
enchant_dict_quick_check
Enchant Funktionen


Check the word is correctly spelled and provide suggestions

enchant_dict_is_in_session
enchant_dict_store_replacement
Enchant Funktionen
PHP Manual

enchant_dict_quick_check

(PHP 5 >= 5.3.0, PHP 7, PECL enchant:0.2.0-1.0.1)

enchant_dict_quick_check — Check the word is correctly spelled and provide suggestions

Beschreibung

bool enchant_dict_quick_check ( resource $dict , string $word [, array &$suggestions ] )

If the word is correctly spelled return TRUE, otherwise return FALSE, if suggestions variable is provided, fill it with spelling alternatives.

Parameter-Liste

dict

Dictionary resource

word

The word to check

suggestions

If the word is not correctly spelled, this variable will contain an array of suggestions.

Rückgabewerte

Returns TRUE if the word is correctly spelled or FALSE

Beispiele

Beispiel #1 A enchant_dict_quick_check() example

<?php
$tag = 'en_US';
$r = enchant_broker_init();

if (enchant_broker_dict_exists($r,$tag)) {
    $d = enchant_broker_request_dict($r, $tag);
    enchant_dict_quick_check($d, 'soong', $suggs);
    print_r($suggs);
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [0] => song
    [1] => snog
    [2] => soon
    [3] => Sang
    [4] => Sung
    [5] => sang
    [6] => sung
    [7] => sponge
    [8] => spongy
    [9] => snag
    [10] => snug
    [11] => sonic
    [12] => sing
    [13] => songs
    [14] => Son
    [15] => Sonja
    [16] => Synge
    [17] => son
    [18] => Sejong
    [19] => sarong
    [20] => sooner
    [21] => Sony
    [22] => sown
    [23] => scone
    [24] => song's
)

Siehe auch

  • enchant_dict_check() - Check whether a word is correctly spelled or not
  • enchant_dict_suggest() - Will return a list of values if any of those pre-conditions are not met

enchant_dict_is_in_session
enchant_dict_store_replacement
Enchant Funktionen


Add a correction for a word

enchant_dict_quick_check
enchant_dict_suggest
Enchant Funktionen
PHP Manual

enchant_dict_store_replacement

(PHP 5 >= 5.3.0, PHP 7, PECL enchant >= 0.1.0 )

enchant_dict_store_replacement — Add a correction for a word

Beschreibung

void enchant_dict_store_replacement ( resource $dict , string $mis , string $cor )

Add a correction for 'mis' using 'cor'. Notes that you replaced @mis with @cor, so it's possibly more likely that future occurrences of @mis will be replaced with @cor. So it might bump @cor up in the suggestion list.

Parameter-Liste

dict

Dictionary resource

mis

The work to fix

cor

The correct word

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

enchant_dict_quick_check
enchant_dict_suggest
Enchant Funktionen


Will return a list of values if any of those pre-conditions are not met

enchant_dict_store_replacement
FriBiDi
Enchant Funktionen
PHP Manual

enchant_dict_suggest

(PHP 5 >= 5.3.0, PHP 7, PECL enchant >= 0.1.0 )

enchant_dict_suggest — Will return a list of values if any of those pre-conditions are not met

Beschreibung

array enchant_dict_suggest ( resource $dict , string $word )

Parameter-Liste

dict

Dictionary resource

word

Word to use for the suggestions.

Rückgabewerte

Will returns an array of suggestions if the word is bad spelled.

Beispiele

Beispiel #1 A enchant_dict_suggest() example

<?php
$tag = 'en_US';
$r = enchant_broker_init();
if (enchant_broker_dict_exists($r,$tag)) {
    $d = enchant_broker_request_dict($r, $tag);

    $wordcorrect = enchant_dict_check($d, "soong");
    if (!$wordcorrect) {
        $suggs = enchant_dict_suggest($d, "soong");
        echo "Suggestions for 'soong':";
        print_r($suggs);
    }
    enchant_broker_free_dict($d);
}
enchant_broker_free($r);
?>

Siehe auch

  • enchant_dict_check() - Check whether a word is correctly spelled or not
  • enchant_dict_quick_check() - Check the word is correctly spelled and provide suggestions

enchant_dict_store_replacement
FriBiDi
Enchant Funktionen


FriBiDi

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • FriBiDi-Funktionen
    • fribidi_log2vis — Einen logischen String in einen visuellen konvertieren
enchant_dict_suggest
Einführung
Unterstützung menschlicher Sprache und Zeichenkodierung


Einführung

FriBiDi ist eine Implementation des » Unicode Bidirectional Algorithm für die bidirektionale Ausgabe von Texten.

FriBiDi
Installation/Konfiguration
FriBiDi


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
FriBiDi


Anforderungen

Sie müssen das » FriBiDi-Package herunterladen und installieren, um diese Extension benutzen zu können.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese » PECL-Extension ist nicht Teil von PHP. Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/fribidi.

Um diese Funktionen benutzen zu können, müssen Sie PHP mit Fribidi-Unterstützung übersetzen, indem Sie die --with-fribidi[=DIR] -configure-Option benutzen.

Windows-Benutzer müssen php_fribidi.dll in ihrer php.ini aktivieren, um diese Funktionen nutzen zu können. Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

FRIBIDI_CHARSET_UTF8 (integer)
Unicode
FRIBIDI_CHARSET_8859_6 (integer)
Arabisch
FRIBIDI_CHARSET_8859_8 (integer)
Hebräisch
FRIBIDI_CHARSET_CP1255 (integer)
Hebräisch/Jiddish
FRIBIDI_CHARSET_CP1256 (integer)
Arabisch
FRIBIDI_CHARSET_ISIRI_3342 (integer)
Persisch
FRIBIDI_CHARSET_CAP_RTL (integer)
Für Testzwecke, behandelt Großbuchstaben als nichtenglische Zeichen.
FRIBIDI_RTL (integer)
Von rechts nach links.
FRIBIDI_LTR (integer)
Von links nach rechts.
FRIBIDI_AUTO (integer)
Automatische Erkennung der Schriftrichtung.
Ressource-Typen
FriBiDi-Funktionen
FriBiDi


FriBiDi-Funktionen

Inhaltsverzeichnis

  • fribidi_log2vis — Einen logischen String in einen visuellen konvertieren
Vordefinierte Konstanten
fribidi_log2vis
FriBiDi


Einen logischen String in einen visuellen konvertieren

FriBiDi-Funktionen
Gender
FriBiDi-Funktionen
PHP Manual

fribidi_log2vis

(PHP 4 >= 4.0.4 and PHP 4 <= 4.1.0, PECL fribidi >= 1.0)

fribidi_log2vis — Einen logischen String in einen visuellen konvertieren

Beschreibung

string fribidi_log2vis ( string $str , string $direction , int $charset )

Konvertiert einen logischen String in einen visuellen.

Parameter-Liste

str

Der logische String.

direction

Eine der drei Konstanten FRIBIDI_RTL, FRIBIDI_LTR oder FRIBIDI_AUTO.

charset

Eine der FRIBIDI_CHARSET_XXX Konstanten.

Rückgabewerte

Liefert den konvertierten visuellen String oder FALSE bei Fehlern.

FriBiDi-Funktionen
Gender
FriBiDi-Funktionen


Geschlecht aus Vornamen ermitteln

  • Einführung
  • Installation/Konfiguration
    • Installation
  • Beispiele
    • Beispiel.
  • Gender\Gender — The Gender\Gender class
    • Gender\Gender::connect — Connect to an external name dictionary.
    • Gender\Gender::__construct — Construct the Gender object.
    • Gender\Gender::country — Get textual country representation
    • Gender\Gender::get — Get gender of a name.
    • Gender\Gender::isNick — Check if the name0 is an alias of the name1.
    • Gender\Gender::similarNames — Get similar names.
fribidi_log2vis
Einführung
Unterstützung menschlicher Sprache und Zeichenkodierung


Einführung

Die Gender PHP Erweiterung ist ein Port des gender.c Programms entwickelt von Joerg Michael. Der Zweck ist die Ermittlung des Geschlechts anhand des Vornamens. Die aktuelle Datenbank beinhaltet >40000 Vornmen aus 54 Ländern.

Gender
Installation/Konfiguration
Gender


Installation/Konfiguration

Inhaltsverzeichnis

  • Installation
Einführung
Installation
Gender


Installation

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/gender.

Eine DLL für den Download dieser PECL Erweiterung ist hier verfügbar: » http://windows.php.net/downloads/pecl/releases/gender/.

Installation/Konfiguration
Beispiele
Installation/Konfiguration


Beispiele

Inhaltsverzeichnis

  • Beispiel.
Installation
Beispiel.
Gender


Beispiel.

Gender Nutzungsbeispiel.

Beispiel #1 Beispiel.

<?php

namespace Gender;

$gender = new Gender;

$name = "Milene";
$country = Gender::GERMANY;

$result = $gender->get($name, $country);

$data = $gender->country($country);

switch($result) {
    case Gender::IS_FEMALE:
        printf("Der Name %s ist in %s weiblich\n", $name, $data['country']);
    break;

    case Gender::IS_MOSTLY_FEMALE:
        printf("Der Name %s ist in %s meistens weiblich\n", $name, $data['country']);
    break;

    case Gender::IS_MALE:
        printf("Der Name %s ist in %s männlich\n", $name, $data['country']);
    break;

    case Gender::IS_MOSTLY_MALE:
        printf("Der Name %s ist in %s meistens männlich\n", $name, $data['country']);
    break;

    case Gender::IS_UNISEX_NAME:
        printf("Der Name %s ist in %s geschlechtsneutral\n", $name, $data['country']);
    break;

    case Gender::IS_A_COUPLE:
        printf("Der Name %s ist in %s männlich und weiblich\n", $name, $data['country']);
    break;

    case Gender::NAME_NOT_FOUND:
        printf("Der Name %s wurde in %s nicht gefunden\n", $name, $data['country']);
    break;

    case Gender::ERROR_IN_NAME:
        echo "Der Name ist ungültig!\n";
    break;

    default:
        echo "Es ist ein Fehler aufgetreten!\n";
    break;

}
Beispiele
Gender\Gender
Beispiele


The Gender\Gender class

(PECL gender >= 0.6.0)

Einführung

Klassenbeschreibung

Gender\Gender {
/* Constants */
const integer IS_FEMALE = 70 ;
const integer IS_MOSTLY_FEMALE = 102 ;
const integer IS_MALE = 77 ;
const integer IS_MOSTLY_MALE = 109 ;
const integer IS_UNISEX_NAME = 63 ;
const integer IS_A_COUPLE = 67 ;
const integer NAME_NOT_FOUND = 32 ;
const integer ERROR_IN_NAME = 69 ;
const integer ANY_COUNTRY = 0 ;
const integer BRITAIN = 1 ;
const integer IRELAND = 2 ;
const integer USA = 3 ;
const integer SPAIN = 4 ;
const integer PORTUGAL = 5 ;
const integer ITALY = 6 ;
const integer MALTA = 7 ;
const integer FRANCE = 8 ;
const integer BELGIUM = 9 ;
const integer LUXEMBOURG = 10 ;
const integer NETHERLANDS = 11 ;
const integer GERMANY = 12 ;
const integer EAST_FRISIA = 13 ;
const integer AUSTRIA = 14 ;
const integer SWISS = 15 ;
const integer ICELAND = 16 ;
const integer DENMARK = 17 ;
const integer NORWAY = 18 ;
const integer SWEDEN = 19 ;
const integer FINLAND = 20 ;
const integer ESTONIA = 21 ;
const integer LATVIA = 22 ;
const integer LITHUANIA = 23 ;
const integer POLAND = 24 ;
const integer CZECH_REP = 25 ;
const integer SLOVAKIA = 26 ;
const integer HUNGARY = 27 ;
const integer ROMANIA = 28 ;
const integer BULGARIA = 29 ;
const integer BOSNIA = 30 ;
const integer CROATIA = 31 ;
const integer KOSOVO = 32 ;
const integer MACEDONIA = 33 ;
const integer MONTENEGRO = 34 ;
const integer SERBIA = 35 ;
const integer SLOVENIA = 36 ;
const integer ALBANIA = 37 ;
const integer GREECE = 38 ;
const integer RUSSIA = 39 ;
const integer BELARUS = 40 ;
const integer MOLDOVA = 41 ;
const integer UKRAINE = 42 ;
const integer ARMENIA = 43 ;
const integer AZERBAIJAN = 44 ;
const integer GEORGIA = 45 ;
const integer KAZAKH_UZBEK = 46 ;
const integer TURKEY = 47 ;
const integer ARABIA = 48 ;
const integer ISRAEL = 49 ;
const integer CHINA = 50 ;
const integer INDIA = 51 ;
const integer JAPAN = 52 ;
const integer KOREA = 53 ;
/* Methoden */
public boolean connect ( string $dsn )
public __construct ([ string $dsn ] )
public array country ( integer $country )
public integer get ( string $name [, integer $country ] )
public array isNick ( string $name0 , string $name1 [, integer $country ] )
public array similarNames ( string $name [, integer $country ] )
}

Vordefinierte Konstanten

Gender\Gender::IS_FEMALE

Gender\Gender::IS_MOSTLY_FEMALE

Gender\Gender::IS_MALE

Gender\Gender::IS_MOSTLY_MALE

Gender\Gender::IS_UNISEX_NAME

Gender\Gender::IS_A_COUPLE

Gender\Gender::NAME_NOT_FOUND

Gender\Gender::ERROR_IN_NAME

Gender\Gender::ANY_COUNTRY

Gender\Gender::BRITAIN

Gender\Gender::IRELAND

Gender\Gender::USA

Gender\Gender::SPAIN

Gender\Gender::PORTUGAL

Gender\Gender::ITALY

Gender\Gender::MALTA

Gender\Gender::FRANCE

Gender\Gender::BELGIUM

Gender\Gender::LUXEMBOURG

Gender\Gender::NETHERLANDS

Gender\Gender::GERMANY

Gender\Gender::EAST_FRISIA

Gender\Gender::AUSTRIA

Gender\Gender::SWISS

Gender\Gender::ICELAND

Gender\Gender::DENMARK

Gender\Gender::NORWAY

Gender\Gender::SWEDEN

Gender\Gender::FINLAND

Gender\Gender::ESTONIA

Gender\Gender::LATVIA

Gender\Gender::LITHUANIA

Gender\Gender::POLAND

Gender\Gender::CZECH_REP

Gender\Gender::SLOVAKIA

Gender\Gender::HUNGARY

Gender\Gender::ROMANIA

Gender\Gender::BULGARIA

Gender\Gender::BOSNIA

Gender\Gender::CROATIA

Gender\Gender::KOSOVO

Gender\Gender::MACEDONIA

Gender\Gender::MONTENEGRO

Gender\Gender::SERBIA

Gender\Gender::SLOVENIA

Gender\Gender::ALBANIA

Gender\Gender::GREECE

Gender\Gender::RUSSIA

Gender\Gender::BELARUS

Gender\Gender::MOLDOVA

Gender\Gender::UKRAINE

Gender\Gender::ARMENIA

Gender\Gender::AZERBAIJAN

Gender\Gender::GEORGIA

Gender\Gender::KAZAKH_UZBEK

Gender\Gender::TURKEY

Gender\Gender::ARABIA

Gender\Gender::ISRAEL

Gender\Gender::CHINA

Gender\Gender::INDIA

Gender\Gender::JAPAN

Gender\Gender::KOREA

Inhaltsverzeichnis

  • Gender\Gender::connect — Connect to an external name dictionary.
  • Gender\Gender::__construct — Construct the Gender object.
  • Gender\Gender::country — Get textual country representation
  • Gender\Gender::get — Get gender of a name.
  • Gender\Gender::isNick — Check if the name0 is an alias of the name1.
  • Gender\Gender::similarNames — Get similar names.
Beispiel.
Gender\Gender::connect
Gender


Connect to an external name dictionary.

Gender\Gender
Gender\Gender::__construct
Gender\Gender
PHP Manual

Gender\Gender::connect

(PECL gender >= 0.6.0)

Gender\Gender::connect — Connect to an external name dictionary.

Beschreibung

public boolean Gender\Gender::connect ( string $dsn )

Connect to an external name dictionary. Currently only streams are supported.

Parameter-Liste

dsn

DSN to open.

Rückgabewerte

Boolean as success of failure.

Gender\Gender
Gender\Gender::__construct
Gender\Gender


Construct the Gender object.

Gender\Gender::connect
Gender\Gender::country
Gender\Gender
PHP Manual

Gender\Gender::__construct

(PECL gender >= 0.6.0)

Gender\Gender::__construct — Construct the Gender object.

Beschreibung

public Gender\Gender::__construct ([ string $dsn ] )

Create a Gender object optionally connecting to an external name dictionary. When no external database was given, compiled in data will be used.

Parameter-Liste

dsn

DSN to open.

Rückgabewerte

Gender\Gender::connect
Gender\Gender::country
Gender\Gender


Get textual country representation

Gender\Gender::__construct
Gender\Gender::get
Gender\Gender
PHP Manual

Gender\Gender::country

(PECL gender >= 0.8.0)

Gender\Gender::country — Get textual country representation

Beschreibung

public array Gender\Gender::country ( integer $country )

Returns the textual representation of a country from a Gender class constant.

Parameter-Liste

country

A country ID specified by a Gender\Gender class constant.

Rückgabewerte

Returns an array with the short and full names of the country on success Im Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 Using Gender\Gender::country()

$gender = new Gender\Gender;
var_dump($gender->country(Gender\Gender::BRITAIN));

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  'country_short' =>
  string(2) "UK"
  'country' =>
  string(13) "Great Britain"
}

Gender\Gender::__construct
Gender\Gender::get
Gender\Gender


Get gender of a name.

Gender\Gender::country
Gender\Gender::isNick
Gender\Gender
PHP Manual

Gender\Gender::get

(PECL gender >= 0.6.0)

Gender\Gender::get — Get gender of a name.

Beschreibung

public integer Gender\Gender::get ( string $name [, integer $country ] )

Get the gender of the name in a particular country.

Parameter-Liste

name

Name to check.

country

Country id identified by Gender class constant.

Rückgabewerte

Returns gender of the name.

Gender\Gender::country
Gender\Gender::isNick
Gender\Gender


Check if the name0 is an alias of the name1.

Gender\Gender::get
Gender\Gender::similarNames
Gender\Gender
PHP Manual

Gender\Gender::isNick

(PECL gender >= 0.9.0)

Gender\Gender::isNick — Check if the name0 is an alias of the name1.

Beschreibung

public array Gender\Gender::isNick ( string $name0 , string $name1 [, integer $country ] )

Check whether the name0 is a nick of the name1.

Parameter-Liste

name0

Name to check.

name1

Name to check.

country

Country id identified by Gender class constant. If ommited ANY_COUNTRY is used.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Gender\Gender::get
Gender\Gender::similarNames
Gender\Gender


Get similar names.

Gender\Gender::isNick
Gettext
Gender\Gender
PHP Manual

Gender\Gender::similarNames

(PECL gender >= 0.9.0)

Gender\Gender::similarNames — Get similar names.

Beschreibung

public array Gender\Gender::similarNames ( string $name [, integer $country ] )

Get similar names for the given name and country.

Parameter-Liste

name

Name to check.

country

Country id identified by Gender class constant. If ommited ANY_COUNTRY is used.

Rückgabewerte

Returns an array with the similar names found.

Gender\Gender::isNick
Gettext
Gender\Gender


Gettext

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Gettext-Funktionen
    • bind_textdomain_codeset — Gibt das Encoding an, in dem Texte aus der Übersetzungstabelle der DOMAIN zurückgegeben werden
    • bindtextdomain — Setzt den Pfad für eine Domain
    • dcgettext — Überschreibt die gesetzte Domain für eine einzelne Abfrage
    • dcngettext — Pluralversion von dcgettext
    • dgettext — Überschreibt die aktuelle Domain
    • dngettext — Pluralversion von dgettext
    • gettext — Sucht einen Text in der aktuellen Domain
    • ngettext — Pluralversion von gettext
    • textdomain — Setzt die Standarddomain
Gender\Gender::similarNames
Einführung
Unterstützung menschlicher Sprache und Zeichenkodierung


Einführung

Die gettext-Funktionen implementieren ein NLS (Native Language Support) API, das dazu verwendet werden kann, Ihre PHP-Applikationen zu internationalisieren. Bitte lesen Sie die gettext-Dokumentation für Ihr System, um eine ausführliche Erläuterung dieser Funktionen zu erhalten, oder werfen Sie einen Blick in die Dokumentation auf » http://www.gnu.org/software/gettext/manual/gettext.html.

Gettext
Installation/Konfiguration
Gettext


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Gettext


Anforderungen

Um diese Funktionen zu verwenden, müssen Sie das GNU gettext Paket von » http://www.gnu.org/software/gettext/gettext.html herunterladen und installieren.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Um GNU gettext-Unterstützung in Ihrem PHP einzubinden, müssen Sie die Option --with-gettext[=DIR] Ihrer Build-Konfiguration hinzufügen. Dabei steht DIR für das gettext-Installationsverzeichnis, standardmäßig gesetzt auf /usr/local.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
Gettext-Funktionen
Gettext


Gettext-Funktionen

Inhaltsverzeichnis

  • bind_textdomain_codeset — Gibt das Encoding an, in dem Texte aus der Übersetzungstabelle der DOMAIN zurückgegeben werden
  • bindtextdomain — Setzt den Pfad für eine Domain
  • dcgettext — Überschreibt die gesetzte Domain für eine einzelne Abfrage
  • dcngettext — Pluralversion von dcgettext
  • dgettext — Überschreibt die aktuelle Domain
  • dngettext — Pluralversion von dgettext
  • gettext — Sucht einen Text in der aktuellen Domain
  • ngettext — Pluralversion von gettext
  • textdomain — Setzt die Standarddomain
Vordefinierte Konstanten
bind_textdomain_codeset
Gettext


Gibt das Encoding an, in dem Texte aus der Übersetzungstabelle der DOMAIN zurückgegeben werden

Gettext-Funktionen
bindtextdomain
Gettext-Funktionen
PHP Manual

bind_textdomain_codeset

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

bind_textdomain_codeset — Gibt das Encoding an, in dem Texte aus der Übersetzungstabelle der DOMAIN zurückgegeben werden

Beschreibung

string bind_textdomain_codeset ( string $domain , string $codeset )

Mit bind_textdomain_codeset() können Sie bestimmen, in welchem Encoding die Texte von domain von gettext() oder verwandten Funktionen zurückgegeben werden.

Parameter-Liste

domain

Die Domain

codeset

Das Codeset

Rückgabewerte

Bei Erfolg ein string.

Gettext-Funktionen
bindtextdomain
Gettext-Funktionen


Setzt den Pfad für eine Domain

bind_textdomain_codeset
dcgettext
Gettext-Funktionen
PHP Manual

bindtextdomain

(PHP 4, PHP 5, PHP 7)

bindtextdomain — Setzt den Pfad für eine Domain

Beschreibung

string bindtextdomain ( string $domain , string $directory )

Die Funktion bindtextdomain() setzt den Pfad für eine Domain. Sie gibt den vollständigen Pfad der Domain zurück, der gerade gesetzt wurde.

Parameter-Liste

domain

Die Domain

directory

Der Verzeichnispfad

Rückgabewerte

Der vollständige Pfadname für die aktuell gesetzte domain.

Beispiele

Beispiel #1 bindtextdomain()-Beispiel

<?php

$domain = 'MeineApplikation';
echo bindtextdomain($domain, '/usr/share/MeineApplikation/locale');

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

/usr/share/MeineApplikation/locale

bind_textdomain_codeset
dcgettext
Gettext-Funktionen


Überschreibt die gesetzte Domain für eine einzelne Abfrage

bindtextdomain
dcngettext
Gettext-Funktionen
PHP Manual

dcgettext

(PHP 4, PHP 5, PHP 7)

dcgettext — Überschreibt die gesetzte Domain für eine einzelne Abfrage

Beschreibung

string dcgettext ( string $domain , string $message , int $category )

Die Funktion erlaubt es Ihnen, die aktuell gesetzte Domain für eine einzelne Abfrage zu überschreiben.

Parameter-Liste

domain

Die Domain

message

Die Mitteilung

category

Die Kategorie

Rückgabewerte

Bei Erfolg ein string.

Siehe auch

  • gettext() - Sucht einen Text in der aktuellen Domain

bindtextdomain
dcngettext
Gettext-Funktionen


Pluralversion von dcgettext

dcgettext
dgettext
Gettext-Funktionen
PHP Manual

dcngettext

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

dcngettext — Pluralversion von dcgettext

Beschreibung

string dcngettext ( string $domain , string $msgid1 , string $msgid2 , int $n , int $category )

Die Funktion erlaubt es Ihnen, die aktuell gesetzte Domain für eine einzelne Plural-Abfrage zu überschreiben.

Parameter-Liste

domain

Die Domain

msgid1

msgid2

n

category

Rückgabewerte

Bei Erfolg ein string.

Siehe auch

  • ngettext() - Pluralversion von gettext

dcgettext
dgettext
Gettext-Funktionen


Überschreibt die aktuelle Domain

dcngettext
dngettext
Gettext-Funktionen
PHP Manual

dgettext

(PHP 4, PHP 5, PHP 7)

dgettext — Überschreibt die aktuelle Domain

Beschreibung

string dgettext ( string $domain , string $message )

Die Funktion dgettext() erlaubt Ihnen, die aktuelle domain für eine einzelne Textsuche zu überschreiben.

Parameter-Liste

domain

Die Domain

message

Die Mitteilung

Rückgabewerte

Bei Erfolg ein string.

Siehe auch

  • gettext() - Sucht einen Text in der aktuellen Domain

dcngettext
dngettext
Gettext-Funktionen


Pluralversion von dgettext

dgettext
gettext
Gettext-Funktionen
PHP Manual

dngettext

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

dngettext — Pluralversion von dgettext

Beschreibung

string dngettext ( string $domain , string $msgid1 , string $msgid2 , int $n )

Die Funktion dngettext() erlaubt Ihnen, die aktuelle domain für eine einzelne Plural-Textsuche zu überschreiben.

Parameter-Liste

domain

Die Domain

msgid1

msgid2

n

Rückgabewerte

Bei Erfolg ein string.

Siehe auch

  • ngettext() - Pluralversion von gettext

dgettext
gettext
Gettext-Funktionen


Sucht einen Text in der aktuellen Domain

dngettext
ngettext
Gettext-Funktionen
PHP Manual

gettext

(PHP 4, PHP 5, PHP 7)

gettext — Sucht einen Text in der aktuellen Domain

Beschreibung

string gettext ( string $message )

Sucht nach einer Mitteilung in der aktuellen Domain.

Parameter-Liste

message

Die zu übersetzende Mitteilung.

Rückgabewerte

Diese Funktion gibt einen übersetzten string zurück, falls einer in der Übersetzungstabelle gefunden wird, andernfalls den übergebenen Originalstring.

Beispiele

Beispiel #1 gettext()-Check

<?php
// Sprache auf Deutsch setzen
putenv('LC_ALL=de_DE');
setlocale(LC_ALL, 'de_DE');

// Angeben des Pfads der Übersetzungstabellen
bindtextdomain("meinePHPApp", "./locale");

// Domain auswählen
textdomain("meinePHPApp");

// Die Übersetzung wird nun in ./locale/de_DE/LC_MESSAGES/meinePHPApp.mo gesucht

// Ausgeben des Test-Textes
echo gettext("Willkommen in meiner PHP-Applikation");

// Oder verwenden Sie den Alias _() für gettext()
echo _("Einen schönen Tag noch");
?>

Anmerkungen

Hinweis:

Sie können einen Unterstrich '_' als Alias für diese Funktion verwenden.

Hinweis:

Das reine Setzen einer Sprachangabe reicht bei einigen Systemen nicht aus. Daher sollte putenv() verwendet werden, um die aktuelle lokale Umgebung zu definieren.

Siehe auch

  • setlocale() - Legt regionale (locale) Einstellungen fest

dngettext
ngettext
Gettext-Funktionen


Pluralversion von gettext

gettext
textdomain
Gettext-Funktionen
PHP Manual

ngettext

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

ngettext — Pluralversion von gettext

Beschreibung

string ngettext ( string $msgid1 , string $msgid2 , int $n )

Die Pluralversion von gettext(). Einige Sprachen haben abhängig von der Anzahl mehr als eine Form für den Plural.

Parameter-Liste

msgid1

Die Message-ID des Singular.

msgid2

Die Message-ID des Plural.

n

Die Anzahl (z.B. die Warenanzahl), die die Übersetzung für den entsprechenden grammatischen Numerus bestimmt.

Rückgabewerte

Gibt die korrekte Pluralform zurück, die mittels msgid1 und msgid2 für die Anzahl n bestimmt wurde.

Beispiele

Beispiel #1 ngettext()-Beispiel

<?php

setlocale(LC_ALL, 'cs_CZ');
printf(ngettext("%d window", "%d windows", 1), 1); // 1 okno
printf(ngettext("%d window", "%d windows", 2), 2); // 2 okna
printf(ngettext("%d window", "%d windows", 5), 5); // 5 oken

?>

gettext
textdomain
Gettext-Funktionen


Setzt die Standarddomain

ngettext
iconv
Gettext-Funktionen
PHP Manual

textdomain

(PHP 4, PHP 5, PHP 7)

textdomain — Setzt die Standarddomain

Beschreibung

string textdomain ( string $text_domain )

Diese Funktion setzt die Domain, in der bei einem gettext()-Aufruf gesucht werden soll; gewöhnlich wird die Domain nach einer Applikation benannt.

Parameter-Liste

text_domain

Die neue Text-Domain oder NULL, wenn die aktuellen Werte ohne Veränderung übernommen werden sollen.

Rückgabewerte

Im Erfolgsfall gibt die Funktion die aktuelle Text-Domain zurück, nachdem sie möglicherweise verändert wurde.

ngettext
iconv
Gettext-Funktionen


iconv

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • iconv Funktionen
    • iconv_get_encoding — Aktuelle Einstellung für Zeichensatz-Konvertierung auslesen
    • iconv_mime_decode_headers — Decodes multiple MIME header fields at once
    • iconv_mime_decode — Decodes a MIME header field
    • iconv_mime_encode — Composes a MIME header field
    • iconv_set_encoding — Einstellungen für die Zeichensatzkonvertierung setzen
    • iconv_strlen — Returns the character count of string
    • iconv_strpos — Finds position of first occurrence of a needle within a haystack
    • iconv_strrpos — Finds the last occurrence of a needle within a haystack
    • iconv_substr — Cut out part of a string
    • iconv — Konvertiert Zeichenketten in einen anderen Zeichensatz
    • ob_iconv_handler — Konvertiert Zeichensatzkodierung als Ausgabepuffer-Handler (output buffer handler)
textdomain
Einführung
Unterstützung menschlicher Sprache und Zeichenkodierung


Einführung

This module contains an interface to iconv character set conversion facility. With this module, you can turn a string represented by a local character set into the one represented by another character set, which may be the Unicode character set. Supported character sets depend on the iconv implementation of your system. Note that the iconv function on some systems may not work as you expect. In such case, it'd be a good idea to install the » GNU libiconv library. It will most likely end up with more consistent results.

Since PHP 5.0.0, this extension comes with various utility functions that help you to write multilingual scripts. Let's have a look at the following sections to explore the new features.

iconv
Installation/Konfiguration
iconv


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
iconv


Anforderungen

You will need nothing if the system you are using is one of the recent POSIX-compliant systems because standard C libraries that are supplied in them must provide iconv facility. Otherwise, you have to get the » libiconv library installed in your system.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

This extension is enabled by default, although it may be disabled by compiling with --without-iconv .

The optional --with-iconv-dir directive is used to specify the location of iconv on the system that PHP is being compiled on, otherwise only the default locations are scanned.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Iconv Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
iconv.input_encoding | "" | PHP_INI_ALL | Available since PHP 4.0.5. Deprecated in PHP 5.6.0.
iconv.output_encoding | "" | PHP_INI_ALL | Available since PHP 4.0.5. Deprecated in PHP 5.6.0.
iconv.internal_encoding | "" | PHP_INI_ALL | Available since PHP 4.0.5. Deprecated in PHP 5.6.0.

Hier eine kurze Erklärung der Konfigurationsoptionen:

Warnung

Some systems (like IBM AIX) use "ISO8859-1" instead of "ISO-8859-1" so this value has to be used in configuration options and function parameters.

iconv.input_encoding string
Warnung

Diese Funktion ist seit PHP 5.6.0 DEPRECATED (veraltet). Sich auf diese Funktion zu verlassen ist in keiner Weise empfehlenswert.

PHP 5.6 and later users should leave this empty and set default_charset instead.

iconv.output_encoding string
Warnung

Diese Funktion ist seit PHP 5.6.0 DEPRECATED (veraltet). Sich auf diese Funktion zu verlassen ist in keiner Weise empfehlenswert.

PHP 5.6 and later users should leave this empty and set default_charset instead.

iconv.internal_encoding string
Warnung

Diese Funktion ist seit PHP 5.6.0 DEPRECATED (veraltet). Sich auf diese Funktion zu verlassen ist in keiner Weise empfehlenswert.

PHP 5.6 and later users should leave this empty and set default_charset instead.

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Since PHP 4.3.0 it is possible to identify at runtime which iconv implementation is adopted by this extension.

iconv constants
Name | Type | Description
ICONV_IMPL | string | The implementation name
ICONV_VERSION | string | The implementation version

Hinweis:

Writing implementation-dependent scripts with these constants is strongly discouraged.

Since PHP 5.0.0, the following constants are also available:

iconv constants available since PHP 5.0.0
Name | Type | Description
ICONV_MIME_DECODE_STRICT | integer | A bitmask used for iconv_mime_decode()
ICONV_MIME_DECODE_CONTINUE_ON_ERROR | integer | A bitmask used for iconv_mime_decode()

Ressource-Typen
iconv Funktionen
iconv


iconv Funktionen

Siehe auch

See also GNU Recode functions.

Inhaltsverzeichnis

  • iconv_get_encoding — Aktuelle Einstellung für Zeichensatz-Konvertierung auslesen
  • iconv_mime_decode_headers — Decodes multiple MIME header fields at once
  • iconv_mime_decode — Decodes a MIME header field
  • iconv_mime_encode — Composes a MIME header field
  • iconv_set_encoding — Einstellungen für die Zeichensatzkonvertierung setzen
  • iconv_strlen — Returns the character count of string
  • iconv_strpos — Finds position of first occurrence of a needle within a haystack
  • iconv_strrpos — Finds the last occurrence of a needle within a haystack
  • iconv_substr — Cut out part of a string
  • iconv — Konvertiert Zeichenketten in einen anderen Zeichensatz
  • ob_iconv_handler — Konvertiert Zeichensatzkodierung als Ausgabepuffer-Handler (output buffer handler)
Vordefinierte Konstanten
iconv_get_encoding
iconv


Aktuelle Einstellung für Zeichensatz-Konvertierung auslesen

iconv Funktionen
iconv_mime_decode_headers
iconv Funktionen
PHP Manual

iconv_get_encoding

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

iconv_get_encoding — Aktuelle Einstellung für Zeichensatz-Konvertierung auslesen

Beschreibung

mixed iconv_get_encoding ([ string $type = "all" ] )

Die Funktion gibt die internen Konfigurations-Variablen zurück

Parameter-Liste

type

Der Wert des optionalen Parameters type kann sein:

  • all
  • input_encoding
  • output_encoding
  • internal_encoding

Rückgabewerte

Returns the current value of the internal configuration variable if successful Gibt den aktuellen Wert der Konfigurations-Variable zurück. Im Fehlerfall wird FALSE zurückgegeben.

Wenn type weggelassen oder auf "all" gesetzt ist, gibt iconv_get_encoding() ein Array mit allen Variablen zurück.

Beispiele

Beispiel #1 Beispiel für iconv_get_encoding()

<pre>
<?php
iconv_set_encoding("internal_encoding", "UTF-8");
iconv_set_encoding("output_encoding", "ISO-8859-1");
var_dump(iconv_get_encoding('all'));
?>
</pre>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [input_encoding] => ISO-8859-1
    [output_encoding] => ISO-8859-1
    [internal_encoding] => UTF-8
)

Siehe auch

  • iconv_set_encoding() - Einstellungen für die Zeichensatzkonvertierung setzen
  • ob_iconv_handler() - Konvertiert Zeichensatzkodierung als Ausgabepuffer-Handler (output buffer handler)

iconv Funktionen
iconv_mime_decode_headers
iconv Funktionen


Decodes multiple MIME header fields at once

iconv_get_encoding
iconv_mime_decode
iconv Funktionen
PHP Manual

iconv_mime_decode_headers

(PHP 5, PHP 7)

iconv_mime_decode_headers — Decodes multiple MIME header fields at once

Beschreibung

array iconv_mime_decode_headers ( string $encoded_headers [, int $mode = 0 [, string $charset = ini_get("iconv.internal_encoding") ]] )

Decodes multiple MIME header fields at once.

Parameter-Liste

encoded_headers

The encoded headers, as a string.

mode

mode determines the behaviour in the event iconv_mime_decode_headers() encounters a malformed MIME header field. You can specify any combination of the following bitmasks.

Bitmasks acceptable to iconv_mime_decode_headers()
Value | Constant | Description
1 | ICONV_MIME_DECODE_STRICT | If set, the given header is decoded in full conformance with the standards defined in » RFC2047. This option is disabled by default because there are a lot of broken mail user agents that don't follow the specification and don't produce correct MIME headers.
2 | ICONV_MIME_DECODE_CONTINUE_ON_ERROR | If set, iconv_mime_decode_headers() attempts to ignore any grammatical errors and continue to process a given header.

charset

The optional charset parameter specifies the character set to represent the result by. If omitted, iconv.internal_encoding will be used.

Rückgabewerte

Returns an associative array that holds a whole set of MIME header fields specified by encoded_headers on success, or FALSE if an error occurs during the decoding.

Each key of the return value represents an individual field name and the corresponding element represents a field value. If more than one field of the same name are present, iconv_mime_decode_headers() automatically incorporates them into a numerically indexed array in the order of occurrence.

Beispiele

Beispiel #1 iconv_mime_decode_headers() example

<?php
$headers_string = <<<EOF
Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?=
To: example@example.com
Date: Thu, 1 Jan 1970 00:00:00 +0000
Message-Id: <example@example.com>
Received: from localhost (localhost [127.0.0.1]) by localhost
    with SMTP id example for <example@example.com>;
    Thu, 1 Jan 1970 00:00:00 +0000 (UTC)
    (envelope-from example-return-0000-example=example.com@example.com)
Received: (qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000

EOF;

$headers =  iconv_mime_decode_headers($headers_string, 0, "ISO-8859-1");
print_r($headers);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [Subject] => Prüfung Prüfung
    [To] => example@example.com
    [Date] => Thu, 1 Jan 1970 00:00:00 +0000
    [Message-Id] => <example@example.com>
    [Received] => Array
        (
            [0] => from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)
            [1] => (qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000
        )

)

Siehe auch

  • iconv_mime_decode() - Decodes a MIME header field
  • mb_decode_mimeheader() - Decode string in MIME header field
  • imap_mime_header_decode() - Dekodiert MIME-codierte Headerzeilen
  • imap_base64() - Dekodiert Base-64 kodierten Text
  • imap_qprint() - Konvertiert einen quoted-printable kodierten String in einen 8 Bit String

iconv_get_encoding
iconv_mime_decode
iconv Funktionen


Decodes a MIME header field

iconv_mime_decode_headers
iconv_mime_encode
iconv Funktionen
PHP Manual

iconv_mime_decode

(PHP 5, PHP 7)

iconv_mime_decode — Decodes a MIME header field

Beschreibung

string iconv_mime_decode ( string $encoded_header [, int $mode = 0 [, string $charset = ini_get("iconv.internal_encoding") ]] )

Decodes a MIME header field.

Parameter-Liste

encoded_header

The encoded header, as a string.

mode

mode determines the behaviour in the event iconv_mime_decode() encounters a malformed MIME header field. You can specify any combination of the following bitmasks.

Bitmasks acceptable to iconv_mime_decode()
Value | Constant | Description
1 | ICONV_MIME_DECODE_STRICT | If set, the given header is decoded in full conformance with the standards defined in » RFC2047. This option is disabled by default because there are a lot of broken mail user agents that don't follow the specification and don't produce correct MIME headers.
2 | ICONV_MIME_DECODE_CONTINUE_ON_ERROR | If set, iconv_mime_decode_headers() attempts to ignore any grammatical errors and continue to process a given header.

charset

The optional charset parameter specifies the character set to represent the result by. If omitted, iconv.internal_encoding will be used.

Rückgabewerte

Returns a decoded MIME field on success, or FALSE if an error occurs during the decoding.

Beispiele

Beispiel #1 iconv_mime_decode() example

<?php
// This yields "Subject: Prüfung Prüfung"
echo iconv_mime_decode("Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?=",
                       0, "ISO-8859-1");
?>

Siehe auch

  • iconv_mime_decode_headers() - Decodes multiple MIME header fields at once
  • mb_decode_mimeheader() - Decode string in MIME header field
  • imap_mime_header_decode() - Dekodiert MIME-codierte Headerzeilen
  • imap_base64() - Dekodiert Base-64 kodierten Text
  • imap_qprint() - Konvertiert einen quoted-printable kodierten String in einen 8 Bit String

iconv_mime_decode_headers
iconv_mime_encode
iconv Funktionen


Composes a MIME header field

iconv_mime_decode
iconv_set_encoding
iconv Funktionen
PHP Manual

iconv_mime_encode

(PHP 5, PHP 7)

iconv_mime_encode — Composes a MIME header field

Beschreibung

string iconv_mime_encode ( string $field_name , string $field_value [, array $preferences = NULL ] )

Composes and returns a string that represents a valid MIME header field, which looks like the following:

Subject: =?ISO-8859-1?Q?Pr=FCfung_f=FCr?= Entwerfen von einer MIME kopfzeile
In the above example, "Subject" is the field name and the portion that begins with "=?ISO-8859-1?..." is the field value.

Parameter-Liste

field_name

The field name.

field_value

The field value.

preferences

You can control the behaviour of iconv_mime_encode() by specifying an associative array that contains configuration items to the optional third parameter preferences. The items supported by iconv_mime_encode() are listed below. Note that item names are treated case-sensitive.

Configuration items supported by iconv_mime_encode()
Item | Type | Description | Default value | Example
scheme | string | Specifies the method to encode a field value by. The value of this item may be either "B" or "Q", where "B" stands for base64 encoding scheme and "Q" stands for quoted-printable encoding scheme. | B | B
input-charset | string | Specifies the character set in which the first parameter field_name and the second parameter field_value are presented. If not given, iconv_mime_encode() assumes those parameters are presented to it in the iconv.internal_encoding ini setting. | iconv.internal_encoding | ISO-8859-1
output-charset | string | Specifies the character set to use to compose the MIME header. | iconv.internal_encoding | UTF-8
line-length | integer | Specifies the maximum length of the header lines. The resulting header is "folded" to a set of multiple lines in case the resulting header field would be longer than the value of this parameter, according to » RFC2822 - Internet Message Format. If not given, the length will be limited to 76 characters. | 76 | 996
line-break-chars | string | Specifies the sequence of characters to append to each line as an end-of-line sign when "folding" is performed on a long header field. If not given, this defaults to "\r\n" (CR LF). Note that this parameter is always treated as an ASCII string regardless of the value of input-charset. | \r\n | \n

Rückgabewerte

Returns an encoded MIME field on success, or FALSE if an error occurs during the encoding.

Beispiele

Beispiel #1 iconv_mime_encode() example

<?php
$preferences = array(
    "input-charset" => "ISO-8859-1",
    "output-charset" => "UTF-8",
    "line-length" => 76,
    "line-break-chars" => "\n"
);
$preferences["scheme"] = "Q";
// This yields "Subject: =?UTF-8?Q?Pr=C3=BCfung=20Pr=C3=BCfung?="
echo iconv_mime_encode("Subject", "Prüfung Prüfung", $preferences);

$preferences["scheme"] = "B";
// This yields "Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?="
echo iconv_mime_encode("Subject", "Prüfung Prüfung", $preferences);
?>

Siehe auch

  • imap_binary() - Konvertiert einen 8 Bit String in einen Base64 codierten String
  • mb_encode_mimeheader() - Encode string for MIME header
  • imap_8bit() - Konvertiert einen 8bit String in einen quoted-printable String
  • quoted_printable_encode() - Wandelt einen 8Bit-String in sein 'Quoted Printable' Gegenstück

iconv_mime_decode
iconv_set_encoding
iconv Funktionen


Einstellungen für die Zeichensatzkonvertierung setzen

iconv_mime_encode
iconv_strlen
iconv Funktionen
PHP Manual

iconv_set_encoding

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

iconv_set_encoding — Einstellungen für die Zeichensatzkonvertierung setzen

Beschreibung

bool iconv_set_encoding ( string $type , string $charset )

Die Funktion ändert den Wert von type in charset.

Parameter-Liste

type

Der Wert von type kann einer der folgenden sein:

  • input_encoding
  • output_encoding
  • internal_encoding

charset

Der Zeichensatz.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 iconv_set_encoding() Beispiel:

<?php
iconv_set_encoding("internal_encoding", "UTF-8");
iconv_set_encoding("output_encoding", "ISO-8859-1");
?>

Siehe auch

  • iconv_get_encoding() - Aktuelle Einstellung für Zeichensatz-Konvertierung auslesen
  • ob_iconv_handler() - Konvertiert Zeichensatzkodierung als Ausgabepuffer-Handler (output buffer handler)

iconv_mime_encode
iconv_strlen
iconv Funktionen


Returns the character count of string

iconv_set_encoding
iconv_strpos
iconv Funktionen
PHP Manual

iconv_strlen

(PHP 5, PHP 7)

iconv_strlen — Returns the character count of string

Beschreibung

int iconv_strlen ( string $str [, string $charset = ini_get("iconv.internal_encoding") ] )

In contrast to strlen(), iconv_strlen() counts the occurrences of characters in the given byte sequence str on the basis of the specified character set, the result of which is not necessarily identical to the length of the string in byte.

Parameter-Liste

str

The string.

charset

If charset parameter is omitted, str is assumed to be encoded in iconv.internal_encoding.

Rückgabewerte

Returns the character count of str, as an integer.

Siehe auch

  • grapheme_strlen() - Get string length in grapheme units
  • mb_strlen() - Get string length
  • strlen() - Ermitteln der String-Länge

iconv_set_encoding
iconv_strpos
iconv Funktionen


Finds position of first occurrence of a needle within a haystack

iconv_strlen
iconv_strrpos
iconv Funktionen
PHP Manual

iconv_strpos

(PHP 5, PHP 7)

iconv_strpos — Finds position of first occurrence of a needle within a haystack

Beschreibung

int iconv_strpos ( string $haystack , string $needle [, int $offset = 0 [, string $charset = ini_get("iconv.internal_encoding") ]] )

Finds position of first occurrence of a needle within a haystack.

In contrast to strpos(), the return value of iconv_strpos() is the number of characters that appear before the needle, rather than the offset in bytes to the position where the needle has been found. The characters are counted on the basis of the specified character set charset.

Parameter-Liste

haystack

The entire string.

needle

The searched substring.

offset

The optional offset parameter specifies the position from which the search should be performed. If the offset is negative, it is counted from the end of the string.

charset

If charset parameter is omitted, string are assumed to be encoded in iconv.internal_encoding.

If haystack or needle is not a string, it is converted to a string and applied as the ordinal value of a character.

Rückgabewerte

Returns the numeric position of the first occurrence of needle in haystack.

If needle is not found, iconv_strpos() will return FALSE.

Warnung

Diese Funktion kann sowohl das boolsche FALSE zurückliefern, als auch einen nicht-boolschen Wert, welcher zu FALSE ausgewertet wird. Weitere Informationen entnehmen Sie bitte dem Abschnitt über die boolschen Typen. Benutzen Sie deshalb den === Operator, um den Rückgabewert dieser Funktion zu überprüfen.

Changelog

Version | Beschreibung
7.1.0 | Support for negative offsets has been added.

Siehe auch

  • strpos() - Sucht das erste Vorkommen des Suchstrings
  • iconv_strrpos() - Finds the last occurrence of a needle within a haystack
  • mb_strpos() - Find position of first occurrence of string in a string

iconv_strlen
iconv_strrpos
iconv Funktionen


Finds the last occurrence of a needle within a haystack

iconv_strpos
iconv_substr
iconv Funktionen
PHP Manual

iconv_strrpos

(PHP 5, PHP 7)

iconv_strrpos — Finds the last occurrence of a needle within a haystack

Beschreibung

int iconv_strrpos ( string $haystack , string $needle [, string $charset = ini_get("iconv.internal_encoding") ] )

Finds the last occurrence of a needle within a haystack.

In contrast to strrpos(), the return value of iconv_strrpos() is the number of characters that appear before the needle, rather than the offset in bytes to the position where the needle has been found. The characters are counted on the basis of the specified character set charset.

Parameter-Liste

haystack

The entire string.

needle

The searched substring.

charset

If charset parameter is omitted, string are assumed to be encoded in iconv.internal_encoding.

If haystack or needle is not a string, it is converted to a string and applied as the ordinal value of a character.

Rückgabewerte

Returns the numeric position of the last occurrence of needle in haystack.

If needle is not found, iconv_strrpos() will return FALSE.

Warnung

Diese Funktion kann sowohl das boolsche FALSE zurückliefern, als auch einen nicht-boolschen Wert, welcher zu FALSE ausgewertet wird. Weitere Informationen entnehmen Sie bitte dem Abschnitt über die boolschen Typen. Benutzen Sie deshalb den === Operator, um den Rückgabewert dieser Funktion zu überprüfen.

Siehe auch

  • strrpos() - Findet die Position des letzten Vorkommens eines Teilstrings innerhalb einer Zeichenkette
  • iconv_strpos() - Finds position of first occurrence of a needle within a haystack
  • mb_strrpos() - Find position of last occurrence of a string in a string

iconv_strpos
iconv_substr
iconv Funktionen


Cut out part of a string

iconv_strrpos
iconv
iconv Funktionen
PHP Manual

iconv_substr

(PHP 5, PHP 7)

iconv_substr — Cut out part of a string

Beschreibung

string iconv_substr ( string $str , int $offset [, int $length = iconv_strlen($str, $charset) [, string $charset = ini_get("iconv.internal_encoding") ]] )

Cuts a portion of str specified by the offset and length parameters.

Parameter-Liste

str

The original string.

offset

If offset is non-negative, iconv_substr() cuts the portion out of str beginning at offset'th character, counting from zero.

If offset is negative, iconv_substr() cuts out the portion beginning at the position, offset characters away from the end of str.

length

If length is given and is positive, the return value will contain at most length characters of the portion that begins at offset (depending on the length of string).

If negative length is passed, iconv_substr() cuts the portion out of str from the offset'th character up to the character that is length characters away from the end of the string. In case offset is also negative, the start position is calculated beforehand according to the rule explained above.

charset

If charset parameter is omitted, string are assumed to be encoded in iconv.internal_encoding.

Note that offset and length parameters are always deemed to represent offsets that are calculated on the basis of the character set determined by charset, whilst the counterpart substr() always takes these for byte offsets.

Rückgabewerte

Returns the portion of str specified by the offset and length parameters.

If str is shorter than offset characters long, FALSE will be returned. If str is exactly offset characters long, an empty string will be returned.

Changelog

Version | Beschreibung
7.0.11 | If str is equal to offset characters long, an empty string will be returned. Prior to this version, FALSE was returned in this case.

Siehe auch

  • substr() - Gibt einen Teil eines Strings zurück
  • mb_substr() - Get part of string
  • mb_strcut() - Get part of string

iconv_strrpos
iconv
iconv Funktionen


Konvertiert Zeichenketten in einen anderen Zeichensatz

iconv_substr
ob_iconv_handler
iconv Funktionen
PHP Manual

iconv

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

iconv — Konvertiert Zeichenketten in einen anderen Zeichensatz

Beschreibung

string iconv ( string $in_charset , string $out_charset , string $str )

Die Funktion konvertiert die in Zeichensatz in_charset kodierte Zeichenkette str in eine Zeichenkette mit Kodierung out_charset.

Parameter-Liste

in_charset

Der Eingabe-Zeichensatz.

out_charset

Der Ausgabe-Zeichensatz.

Wenn Sie die Zeichenkette //TRANSLIT an out_charset anhängen, wird die Transliteration aktiviert. Das bedeutet, dass ein Zeichen, das im Zielzeichensatz nicht dargestellt werden kann mit einem oder mehreren ähnlich aussehenden Zeichen annähernd dargestellt werden kann. Wenn Sie die Zeichenkette //IGNORE anhängen, werden diese nicht darstellbaren Zeichen ohne Warnung verworfen. Ansonsten wird eine E_NOTICE erzeugt und die Funktion gibt FALSE zurück.

str

Die zu konvertierende Zeichenkette.

Rückgabewerte

Gibt die konvertierte Zeichenkette zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.4.0 | Seit dieser Version gibt die Funktion FALSE bei nicht erlaubten Zeichen zurück, außer wenn //IGNORE im Ausgabe-Zeichensatz angegeben wurde. Vorher wurde eine partielle Ausgabezeichenkette zurück gegeben.

Beispiele

Beispiel #1 iconv()-Beispiel:

<?php
$text = "This is the Euro symbol '€'.";

echo 'Original : ', $text, PHP_EOL;
echo 'TRANSLIT : ', iconv("UTF-8", "ISO-8859-1//TRANSLIT", $text), PHP_EOL;
echo 'IGNORE   : ', iconv("UTF-8", "ISO-8859-1//IGNORE", $text), PHP_EOL;
echo 'Plain    : ', iconv("UTF-8", "ISO-8859-1", $text), PHP_EOL;

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Original : This is the Euro symbol '€'.
TRANSLIT : This is the Euro symbol 'EUR'.
IGNORE   : This is the Euro symbol ''.
Plain    :
Notice: iconv(): Detected an illegal character in input string in .\iconv-example.php on line 7

iconv_substr
ob_iconv_handler
iconv Funktionen


Konvertiert Zeichensatzkodierung als Ausgabepuffer-Handler (output buffer handler)

iconv
intl
iconv Funktionen
PHP Manual

ob_iconv_handler

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

ob_iconv_handler — Konvertiert Zeichensatzkodierung als Ausgabepuffer-Handler (output buffer handler)

Beschreibung

string ob_iconv_handler ( string $contents , int $status )

Die Funktion konvertiert die in Zeichensatz internal_encoding kodierte Zeichenkette in output_encoding.

internal_encoding und output_encoding sollten über die Konfigurationsdatei php.ini oder über die Funktion iconv_set_encoding() definiert werden.

Parameter-Liste

ob_start() enthält Informationen über die Parameter.

Rückgabewerte

ob_start() enthält Informationen über die Rückgabewerte.

Beispiele

Beispiel #1 ob_iconv_handler()-Beispiel:

<?php
iconv_set_encoding("internal_encoding", "UTF-8");
iconv_set_encoding("output_encoding", "ISO-8859-1");
ob_start("ob_iconv_handler"); // start output buffering
?>

Siehe auch

  • iconv_get_encoding() - Aktuelle Einstellung für Zeichensatz-Konvertierung auslesen
  • iconv_set_encoding() - Einstellungen für die Zeichensatzkonvertierung setzen
  • output-control functions

iconv
intl
iconv Funktionen


Internationalization Functions

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • Basic usage of this extension
  • Collator — The Collator class
    • Collator::asort — Sort array maintaining index association
    • Collator::compare — Compare two Unicode strings
    • Collator::__construct — Create a collator
    • Collator::create — Create a collator
    • Collator::getAttribute — Get collation attribute value
    • Collator::getErrorCode — Get collator's last error code
    • Collator::getErrorMessage — Get text for collator's last error code
    • Collator::getLocale — Get the locale name of the collator
    • Collator::getSortKey — Get sorting key for a string
    • Collator::getStrength — Get current collation strength
    • Collator::setAttribute — Set collation attribute
    • Collator::setStrength — Set collation strength
    • Collator::sortWithSortKeys — Sort array using specified collator and sort keys
    • Collator::sort — Sort array using specified collator
  • NumberFormatter — The NumberFormatter class
    • NumberFormatter::create — Create a number formatter
    • NumberFormatter::formatCurrency — Format a currency value
    • NumberFormatter::format — Format a number
    • NumberFormatter::getAttribute — Get an attribute
    • NumberFormatter::getErrorCode — Get formatter's last error code.
    • NumberFormatter::getErrorMessage — Get formatter's last error message.
    • NumberFormatter::getLocale — Get formatter locale
    • NumberFormatter::getPattern — Get formatter pattern
    • NumberFormatter::getSymbol — Get a symbol value
    • NumberFormatter::getTextAttribute — Get a text attribute
    • NumberFormatter::parseCurrency — Parse a currency number
    • NumberFormatter::parse — Parse a number
    • NumberFormatter::setAttribute — Set an attribute
    • NumberFormatter::setPattern — Set formatter pattern
    • NumberFormatter::setSymbol — Set a symbol value
    • NumberFormatter::setTextAttribute — Set a text attribute
  • Locale — The Locale class
    • Locale::acceptFromHttp — Tries to find out best available locale based on HTTP "Accept-Language" header
    • Locale::canonicalize — Canonicalize the locale string
    • Locale::composeLocale — Returns a correctly ordered and delimited locale ID
    • Locale::filterMatches — Checks if a language tag filter matches with locale
    • Locale::getAllVariants — Gets the variants for the input locale
    • Locale::getDefault — Gets the default locale value from the INTL global 'default_locale'
    • Locale::getDisplayLanguage — Returns an appropriately localized display name for language of the inputlocale
    • Locale::getDisplayName — Returns an appropriately localized display name for the input locale
    • Locale::getDisplayRegion — Returns an appropriately localized display name for region of the input locale
    • Locale::getDisplayScript — Returns an appropriately localized display name for script of the input locale
    • Locale::getDisplayVariant — Returns an appropriately localized display name for variants of the input locale
    • Locale::getKeywords — Gets the keywords for the input locale
    • Locale::getPrimaryLanguage — Gets the primary language for the input locale
    • Locale::getRegion — Gets the region for the input locale
    • Locale::getScript — Gets the script for the input locale
    • Locale::lookup — Searches the language tag list for the best match to the language
    • Locale::parseLocale — Returns a key-value array of locale ID subtag elements.
    • Locale::setDefault — sets the default runtime locale
  • Normalizer — The Normalizer class
    • Normalizer::isNormalized — Checks if the provided string is already in the specified normalization form.
    • Normalizer::normalize — Normalizes the input provided and returns the normalized string
  • MessageFormatter — The MessageFormatter class
    • MessageFormatter::create — Constructs a new Message Formatter
    • MessageFormatter::formatMessage — Quick format message
    • MessageFormatter::format — Format the message
    • MessageFormatter::getErrorCode — Get the error code from last operation
    • MessageFormatter::getErrorMessage — Get the error text from the last operation
    • MessageFormatter::getLocale — Get the locale for which the formatter was created.
    • MessageFormatter::getPattern — Get the pattern used by the formatter
    • MessageFormatter::parseMessage — Quick parse input string
    • MessageFormatter::parse — Parse input string according to pattern
    • MessageFormatter::setPattern — Set the pattern used by the formatter
  • IntlCalendar — The IntlCalendar class
    • IntlCalendar::add — Add a (signed) amount of time to a field
    • IntlCalendar::after — Whether this object's time is after that of the passed object
    • IntlCalendar::before — Whether this object's time is before that of the passed object
    • IntlCalendar::clear — Clear a field or all fields
    • IntlCalendar::__construct — Private constructor for disallowing instantiation
    • IntlCalendar::createInstance — Create a new IntlCalendar
    • IntlCalendar::equals — Compare time of two IntlCalendar objects for equality
    • IntlCalendar::fieldDifference — Calculate difference between given time and this object's time
    • IntlCalendar::fromDateTime — Create an IntlCalendar from a DateTime object or string
    • IntlCalendar::get — Get the value for a field
    • IntlCalendar::getActualMaximum — The maximum value for a field, considering the object's current time
    • IntlCalendar::getActualMinimum — The minimum value for a field, considering the object's current time
    • IntlCalendar::getAvailableLocales — Get array of locales for which there is data
    • IntlCalendar::getDayOfWeekType — Tell whether a day is a weekday, weekend or a day that has a transition between the two
    • IntlCalendar::getErrorCode — Get last error code on the object
    • IntlCalendar::getErrorMessage — Get last error message on the object
    • IntlCalendar::getFirstDayOfWeek — Get the first day of the week for the calendar's locale
    • IntlCalendar::getGreatestMinimum — Get the largest local minimum value for a field
    • IntlCalendar::getKeywordValuesForLocale — Get set of locale keyword values
    • IntlCalendar::getLeastMaximum — Get the smallest local maximum for a field
    • IntlCalendar::getLocale — Get the locale associated with the object
    • IntlCalendar::getMaximum — Get the global maximum value for a field
    • IntlCalendar::getMinimalDaysInFirstWeek — Get minimal number of days the first week in a year or month can have
    • IntlCalendar::getMinimum — Get the global minimum value for a field
    • IntlCalendar::getNow — Get number representing the current time
    • IntlCalendar::getRepeatedWallTimeOption — Get behavior for handling repeating wall time
    • IntlCalendar::getSkippedWallTimeOption — Get behavior for handling skipped wall time
    • IntlCalendar::getTime — Get time currently represented by the object
    • IntlCalendar::getTimeZone — Get the object's timezone
    • IntlCalendar::getType — Get the calendar type
    • IntlCalendar::getWeekendTransition — Get time of the day at which weekend begins or ends
    • IntlCalendar::inDaylightTime — Whether the object's time is in Daylight Savings Time
    • IntlCalendar::isEquivalentTo — Whether another calendar is equal but for a different time
    • IntlCalendar::isLenient — Whether date/time interpretation is in lenient mode
    • IntlCalendar::isSet — Whether a field is set
    • IntlCalendar::isWeekend — Whether a certain date/time is in the weekend
    • IntlCalendar::roll — Add value to field without carrying into more significant fields
    • IntlCalendar::set — Set a time field or several common fields at once
    • IntlCalendar::setFirstDayOfWeek — Set the day on which the week is deemed to start
    • IntlCalendar::setLenient — Set whether date/time interpretation is to be lenient
    • IntlCalendar::setMinimalDaysInFirstWeek — Set minimal number of days the first week in a year or month can have
    • IntlCalendar::setRepeatedWallTimeOption — Set behavior for handling repeating wall times at negative timezone offset transitions
    • IntlCalendar::setSkippedWallTimeOption — Set behavior for handling skipped wall times at positive timezone offset transitions
    • IntlCalendar::setTime — Set the calendar time in milliseconds since the epoch
    • IntlCalendar::setTimeZone — Set the timezone used by this calendar
    • IntlCalendar::toDateTime — Convert an IntlCalendar into a DateTime object
  • IntlTimeZone — The IntlTimeZone class
    • IntlTimeZone::countEquivalentIDs — Get the number of IDs in the equivalency group that includes the given ID
    • IntlTimeZone::createDefault — Create a new copy of the default timezone for this host
    • IntlTimeZone::createEnumeration — Get an enumeration over time zone IDs associated with the given country or offset
    • IntlTimeZone::createTimeZone — Create a timezone object for the given ID
    • IntlTimeZone::fromDateTimeZone — Create a timezone object from DateTimeZone
    • IntlTimeZone::getCanonicalID — Get the canonical system timezone ID or the normalized custom time zone ID for the given time zone ID
    • IntlTimeZone::getDisplayName — Get a name of this time zone suitable for presentation to the user
    • IntlTimeZone::getDSTSavings — Get the amount of time to be added to local standard time to get local wall clock time
    • IntlTimeZone::getEquivalentID — Get an ID in the equivalency group that includes the given ID
    • IntlTimeZone::getErrorCode — Get last error code on the object
    • IntlTimeZone::getErrorMessage — Get last error message on the object
    • IntlTimeZone::getGMT — Create GMT (UTC) timezone
    • IntlTimeZone::getID — Get timezone ID
    • IntlTimeZone::getOffset — Get the time zone raw and GMT offset for the given moment in time
    • IntlTimeZone::getRawOffset — Get the raw GMT offset (before taking daylight savings time into account
    • IntlTimeZone::getTZDataVersion — Get the timezone data version currently used by ICU
    • IntlTimeZone::hasSameRules — Check if this zone has the same rules and offset as another zone
    • IntlTimeZone::toDateTimeZone — Convert to DateTimeZone object
    • IntlTimeZone::useDaylightTime — Check if this time zone uses daylight savings time
  • IntlDateFormatter — The IntlDateFormatter class
    • IntlDateFormatter::create — Create a date formatter
    • IntlDateFormatter::format — Format the date/time value as a string
    • IntlDateFormatter::formatObject — Formats an object
    • IntlDateFormatter::getCalendar — Get the calendar type used for the IntlDateFormatter
    • IntlDateFormatter::getDateType — Get the datetype used for the IntlDateFormatter
    • IntlDateFormatter::getErrorCode — Get the error code from last operation
    • IntlDateFormatter::getErrorMessage — Get the error text from the last operation.
    • IntlDateFormatter::getLocale — Get the locale used by formatter
    • IntlDateFormatter::getPattern — Get the pattern used for the IntlDateFormatter
    • IntlDateFormatter::getTimeType — Get the timetype used for the IntlDateFormatter
    • IntlDateFormatter::getTimeZoneId — Get the timezone-id used for the IntlDateFormatter
    • IntlDateFormatter::getCalendarObject — Get copy of formatter's calendar object
    • IntlDateFormatter::getTimeZone — Get formatter's timezone
    • IntlDateFormatter::isLenient — Get the lenient used for the IntlDateFormatter
    • IntlDateFormatter::localtime — Parse string to a field-based time value
    • IntlDateFormatter::parse — Parse string to a timestamp value
    • IntlDateFormatter::setCalendar — Sets the calendar type used by the formatter
    • IntlDateFormatter::setLenient — Set the leniency of the parser
    • IntlDateFormatter::setPattern — Set the pattern used for the IntlDateFormatter
    • IntlDateFormatter::setTimeZoneId — Sets the time zone to use
    • IntlDateFormatter::setTimeZone — Sets formatter's timezone
  • ResourceBundle — The ResourceBundle class
    • ResourceBundle::count — Get number of elements in the bundle
    • ResourceBundle::create — Create a resource bundle
    • ResourceBundle::getErrorCode — Get bundle's last error code.
    • ResourceBundle::getErrorMessage — Get bundle's last error message.
    • ResourceBundle::get — Get data from the bundle
    • ResourceBundle::getLocales — Get supported locales
  • Spoofchecker — The Spoofchecker class
    • Spoofchecker::areConfusable — Checks if given strings can be confused
    • Spoofchecker::__construct — Constructor
    • Spoofchecker::isSuspicious — Checks if a given text contains any suspicious characters
    • Spoofchecker::setAllowedLocales — Locales to use when running checks
    • Spoofchecker::setChecks — Set the checks to run
  • Transliterator — The Transliterator class
    • Transliterator::__construct — Private constructor to deny instantiation
    • Transliterator::create — Create a transliterator
    • Transliterator::createFromRules — Create transliterator from rules
    • Transliterator::createInverse — Create an inverse transliterator
    • Transliterator::getErrorCode — Get last error code
    • Transliterator::getErrorMessage — Get last error message
    • Transliterator::listIDs — Get transliterator IDs
    • Transliterator::transliterate — Transliterate a string
  • IntlBreakIterator — The IntlBreakIterator class
    • IntlBreakIterator::__construct — Private constructor for disallowing instantiation
    • IntlBreakIterator::createCharacterInstance — Create break iterator for boundaries of combining character sequences
    • IntlBreakIterator::createCodePointInstance — Create break iterator for boundaries of code points
    • IntlBreakIterator::createLineInstance — Create break iterator for logically possible line breaks
    • IntlBreakIterator::createSentenceInstance — Create break iterator for sentence breaks
    • IntlBreakIterator::createTitleInstance — Create break iterator for title-casing breaks
    • IntlBreakIterator::createWordInstance — Create break iterator for word breaks
    • IntlBreakIterator::current — Get index of current position
    • IntlBreakIterator::first — Set position to the first character in the text
    • IntlBreakIterator::following — Advance the iterator to the first boundary following specified offset
    • IntlBreakIterator::getErrorCode — Get last error code on the object
    • IntlBreakIterator::getErrorMessage — Get last error message on the object
    • IntlBreakIterator::getLocale — Get the locale associated with the object
    • IntlBreakIterator::getPartsIterator — Create iterator for navigating fragments between boundaries
    • IntlBreakIterator::getText — Get the text being scanned
    • IntlBreakIterator::isBoundary — Tell whether an offset is a boundary's offset
    • IntlBreakIterator::last — Set the iterator position to index beyond the last character
    • IntlBreakIterator::next — Advance the iterator the next boundary
    • IntlBreakIterator::preceding — Set the iterator position to the first boundary before an offset
    • IntlBreakIterator::previous — Set the iterator position to the boundary immediately before the current
    • IntlBreakIterator::setText — Set the text being scanned
  • IntlRuleBasedBreakIterator — The IntlRuleBasedBreakIterator class
    • IntlRuleBasedBreakIterator::__construct — Create iterator from ruleset
    • IntlRuleBasedBreakIterator::getBinaryRules — Get the binary form of compiled rules
    • IntlRuleBasedBreakIterator::getRules — Get the rule set used to create this object
    • IntlRuleBasedBreakIterator::getRuleStatus — Get the largest status value from the break rules that determined the current break position
    • IntlRuleBasedBreakIterator::getRuleStatusVec — Get the status values from the break rules that determined the current break position
  • IntlCodePointBreakIterator — The IntlCodePointBreakIterator class
    • IntlCodePointBreakIterator::getLastCodePoint — Get last code point passed over after advancing or receding the iterator
  • IntlPartsIterator — The IntlPartsIterator class
    • IntlPartsIterator::getBreakIterator — Get IntlBreakIterator backing this parts iterator
  • UConverter — The UConverter class
    • UConverter::__construct — Create UConverter object
    • UConverter::convert — Convert string from one charset to another
    • UConverter::fromUCallback — Default "from" callback function
    • UConverter::getAliases — Get the aliases of the given name
    • UConverter::getAvailable — Get the available canonical converter names
    • UConverter::getDestinationEncoding — Get the destination encoding
    • UConverter::getDestinationType — Get the destination converter type
    • UConverter::getErrorCode — Get last error code on the object
    • UConverter::getErrorMessage — Get last error message on the object
    • UConverter::getSourceEncoding — Get the source encoding
    • UConverter::getSourceType — Get the source convertor type
    • UConverter::getStandards — Get standards associated to converter names
    • UConverter::getSubstChars — Get substitution chars
    • UConverter::reasonText — Get string representation of the callback reason
    • UConverter::setDestinationEncoding — Set the destination encoding
    • UConverter::setSourceEncoding — Set the source encoding
    • UConverter::setSubstChars — Set the substitution chars
    • UConverter::toUCallback — Default "to" callback function
    • UConverter::transcode — Convert string from one charset to another
  • Grapheme Funktionen
    • grapheme_extract — Function to extract a sequence of default grapheme clusters from a text buffer, which must be encoded in UTF-8.
    • grapheme_stripos — Find position (in grapheme units) of first occurrence of a case-insensitive string
    • grapheme_stristr — Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack.
    • grapheme_strlen — Get string length in grapheme units
    • grapheme_strpos — Find position (in grapheme units) of first occurrence of a string
    • grapheme_strripos — Find position (in grapheme units) of last occurrence of a case-insensitive string
    • grapheme_strrpos — Find position (in grapheme units) of last occurrence of a string
    • grapheme_strstr — Returns part of haystack string from the first occurrence of needle to the end of haystack.
    • grapheme_substr — Return part of a string
  • IDN Funktionen
    • idn_to_ascii — Convert domain name to IDNA ASCII form.
    • idn_to_utf8 — Convert domain name from IDNA ASCII to Unicode.
  • IntlChar
    • IntlChar::charAge — Get the "age" of the code point
    • IntlChar::charDigitValue — Get the decimal digit value of a decimal digit character
    • IntlChar::charDirection — Get bidirectional category value for a code point
    • IntlChar::charFromName — Find Unicode character by name and return its code point value
    • IntlChar::charMirror — Get the "mirror-image" character for a code point
    • IntlChar::charName — Retrieve the name of a Unicode character
    • IntlChar::charType — Get the general category value for a code point
    • IntlChar::chr — Return Unicode character by code point value
    • IntlChar::digit — Get the decimal digit value of a code point for a given radix
    • IntlChar::enumCharNames — Enumerate all assigned Unicode characters within a range
    • IntlChar::enumCharTypes — Enumerate all code points with their Unicode general categories
    • IntlChar::foldCase — Perform case folding on a code point
    • IntlChar::forDigit — Get character representation for a given digit and radix
    • IntlChar::getBidiPairedBracket — Get the paired bracket character for a code point
    • IntlChar::getBlockCode — Get the Unicode allocation block containing a code point
    • IntlChar::getCombiningClass — Get the combining class of a code point
    • IntlChar::getFC_NFKC_Closure — Get the FC_NFKC_Closure property for a code point
    • IntlChar::getIntPropertyMaxValue — Get the max value for a Unicode property
    • IntlChar::getIntPropertyMinValue — Get the min value for a Unicode property
    • IntlChar::getIntPropertyValue — Get the value for a Unicode property for a code point
    • IntlChar::getNumericValue — Get the numeric value for a Unicode code point
    • IntlChar::getPropertyEnum — Get the property constant value for a given property name
    • IntlChar::getPropertyName — Get the Unicode name for a property
    • IntlChar::getPropertyValueEnum — Get the property value for a given value name
    • IntlChar::getPropertyValueName — Get the Unicode name for a property value
    • IntlChar::getUnicodeVersion — Get the Unicode version
    • IntlChar::hasBinaryProperty — Check a binary Unicode property for a code point
    • IntlChar::isalnum — Check if code point is an alphanumeric character
    • IntlChar::isalpha — Check if code point is a letter character
    • IntlChar::isbase — Check if code point is a base character
    • IntlChar::isblank — Check if code point is a "blank" or "horizontal space" character
    • IntlChar::iscntrl — Check if code point is a control character
    • IntlChar::isdefined — Check whether the code point is defined
    • IntlChar::isdigit — Check if code point is a digit character
    • IntlChar::isgraph — Check if code point is a graphic character
    • IntlChar::isIDIgnorable — Check if code point is an ignorable character
    • IntlChar::isIDPart — Check if code point is permissible in an identifier
    • IntlChar::isIDStart — Check if code point is permissible as the first character in an identifier
    • IntlChar::isISOControl — Check if code point is an ISO control code
    • IntlChar::isJavaIDPart — Check if code point is permissible in a Java identifier
    • IntlChar::isJavaIDStart — Check if code point is permissible as the first character in a Java identifier
    • IntlChar::isJavaSpaceChar — Check if code point is a space character according to Java
    • IntlChar::islower — Check if code point is a lowercase letter
    • IntlChar::isMirrored — Check if code point has the Bidi_Mirrored property
    • IntlChar::isprint — Check if code point is a printable character
    • IntlChar::ispunct — Check if code point is punctuation character
    • IntlChar::isspace — Check if code point is a space character
    • IntlChar::istitle — Check if code point is a titlecase letter
    • IntlChar::isUAlphabetic — Check if code point has the Alphabetic Unicode property
    • IntlChar::isULowercase — Check if code point has the Lowercase Unicode property
    • IntlChar::isupper — Check if code point has the general category "Lu" (uppercase letter)
    • IntlChar::isUUppercase — Check if code point has the Uppercase Unicode property
    • IntlChar::isUWhiteSpace — Check if code point has the White_Space Unicode property
    • IntlChar::isWhitespace — Check if code point is a whitespace character according to ICU
    • IntlChar::isxdigit — Check if code point is a hexadecimal digit
    • IntlChar::ord — Return Unicode code point value of character
    • IntlChar::tolower — Make Unicode character lowercase
    • IntlChar::totitle — Make Unicode character titlecase
    • IntlChar::toupper — Make Unicode character uppercase
  • IntlException — Exception class for intl errors
  • IntlIterator — The IntlIterator class
    • IntlIterator::current — Get the current element
    • IntlIterator::key — Get the current key
    • IntlIterator::next — Move forward to the next element
    • IntlIterator::rewind — Rewind the iterator to the first element
    • IntlIterator::valid — Check if current position is valid
  • intl Funktionen
    • intl_error_name — Get symbolic name for a given error code
    • intl_get_error_code — Get the last error code
    • intl_get_error_message — Get description of the last error
    • intl_is_failure — Check whether the given error code indicates failure
ob_iconv_handler
Einführung
Unterstützung menschlicher Sprache und Zeichenkodierung


Einführung

Internationalization extension (further is referred as Intl) is a wrapper for » ICU library, enabling PHP programmers to perform various locale-aware operations including but not limited to formatting, transliteration, encoding conversion, calendar operations, » UCA-conformant collation, locating text boundaries and working with locale identifiers, timezones and graphemes,

It tends to closely follow ICU APIs, so that people having experience working with ICU in either C/C++ or Java could easily use the PHP API. Also, this way ICU documentation would be useful to understand various ICU functions.

Intl consists of several modules, each of them exposes the corresponding ICU API:

  • Collator: provides string comparison capability with support for appropriate locale-sensitive sort orderings.
  • Number Formatter: allows to display number according to the localized format or given pattern or set of rules, and to parse strings into numbers.
  • Message Formatter: allows to create messages incorporating data (such as numbers or dates) formatted according to given pattern and locale rules, and parse messages extracting data from them. It can handle plurals, locale-aware numbers, currencies, conditions and much more.
  • Normalizer: provides a function to transform text into one of the Unicode normalization forms, and provides a routine to test if a given string is already normalized.
  • Locale: provides interaction with locale identifiers in the form of functions to get subtags from locale identifier; parse, compose, match(lookup and filter) locale identifiers.
  • Calendar: provides a class which could be used for locale-aware calendar operations and getting various information such as timezone for locale chosen, first day of week or if it's daylight saving time now.
  • Timezone: provides a wrapper around the » "Olson" database which has information about all the timezones around the world.
  • Date formatter: allows to display date and time according to the localized format or given pattern or set of rules, and to parse strings into date and time.
  • Transliterator: allows getting latin representation of strings in various languages.

Links

  • » Miscellaneous ICU docs

  • » ICU User Guide

  • » Unicode Collation Algorithm

intl
Installation/Konfiguration
intl


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
intl


Anforderungen

To build the extension you need to install the » ICU library, version 4.0.0 or newer is required.

This extension is bundled with PHP as of PHP version 5.3.0. Alternatively, the PECL version of this extension may be used with all PHP versions greater than 5.2.0 (5.2.4+ recommended).

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

This extension may be installed using the bundled version as of PHP 5.3.0, or as a PECL extension as of PHP 5.2.0. In other words, there are two methods to install the intl extension.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/intl.

Alternatively, --enable-intl will enable the bundled version while compiling PHP.

If your ICU is installed to a non-standard directory then you might want to specify its location in LD_LIBRARY_PATH environment variable so that dynamic linker can find it:

$ export LD_LIBRARY_PATH=/opt/icu/lib

Otherwise, if PHP and ICU are installed to their default locations, then the additional options to `configure' are not needed.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Intl Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
intl.default_locale |  | PHP_INI_ALL |
intl.error_level | 0 | PHP_INI_ALL |
intl.use_exceptions | 0 | PHP_INI_ALL | Available since PHP 5.5 and PECL 3.0.0a1

Hier eine kurze Erklärung der Konfigurationsoptionen:

intl.default_locale string

The locale that will be used in intl functions when none is specified (either by omitting the corresponding argument or by passing NULL). These are ICU locales, not system locales. The built-in ICU locales and their data can be explored at » http://demo.icu-project.org/icu-bin/locexp.

The default value is empty, which forces the usage of ICU's default locale. Once set, the ini setting cannot be reset to this default value. It is not recommended that this default be relied on, as its effective value depends on the server's environment.

intl.error_level integer

The level of the error messages generated when an error occurs in ICU functions. This is a PHP error level, such as E_WARNING. It can be set to 0 in order to inhibit the messages. This does not affect the return values indicating error or the values returned by intl_get_error_code() or by the class specific methods for retrieving error codes and messages. Choosing E_ERROR will terminate the script whenever an error condition is found on intl classes.

The default value is 0.

intl.use_exceptions integer

If set to true, an exception will be raised whenever an error occurs in an intl function. The exception will be of type IntlException. This is possibly in addition to the error message generated due to intl.error_level.

The default value is FALSE.

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

INTL_MAX_LOCALE_LEN (integer)
Limit on locale length, set to 80 in PHP code. Locale names longer than this limit will not be accepted.
IDNA_DEFAULT (integer)
Prohibit processing of unassigned codepoints in the input for IDN functions and do not check if the input conforms to domain name ASCII rules.
IDNA_ALLOW_UNASSIGNED (integer)
Allow processing of unassigned codepoints in the input for IDN functions.
IDNA_USE_STD3_RULES (integer)
Check if the input for IDN functions conforms to domain name ASCII rules.
IDNA_CHECK_BIDI (integer)
Check whether the input conforms to the BiDi rules. Ignored by the IDNA2003 implementation, which always performs this check.
IDNA_CHECK_CONTEXTJ (integer)
Check whether the input conforms to the CONTEXTJ rules. Ignored by the IDNA2003 implementation, as this check is new in IDNA2008.
IDNA_NONTRANSITIONAL_TO_ASCII (integer)
Option for nontransitional processing in idn_to_ascii(). Transitional processing is activated by default. This option is ignored by the IDNA2003 implementation.
IDNA_NONTRANSITIONAL_TO_UNICODE (integer)
Option for nontransitional processing in idn_to_utf8(). Transitional processing is activated by default. This option is ignored by the IDNA2003 implementation.
INTL_IDNA_VARIANT_2003 (integer)
Use IDNA 2003 algorithm in idn_to_utf8() and idn_to_ascii(). This is the default. This constant and using the default has been deprecated as of PHP 7.2.0.
INTL_IDNA_VARIANT_UTS46 (integer)
Use UTS #46 algorithm in idn_to_utf8() and idn_to_ascii().
IDNA_ERROR_EMPTY_LABEL (integer)
IDNA_ERROR_LABEL_TOO_LONG (integer)
IDNA_ERROR_DOMAIN_NAME_TOO_LONG (integer)
IDNA_ERROR_LEADING_HYPHEN (integer)
IDNA_ERROR_TRAILING_HYPHEN (integer)
IDNA_ERROR_HYPHEN_3_4 (integer)
IDNA_ERROR_LEADING_COMBINING_MARK (integer)
IDNA_ERROR_DISALLOWED (integer)
IDNA_ERROR_PUNYCODE (integer)
IDNA_ERROR_LABEL_HAS_DOT (integer)
IDNA_ERROR_INVALID_ACE_LABEL (integer)
IDNA_ERROR_BIDI (integer)
IDNA_ERROR_CONTEXTJ (integer)
Errors reported in a bitset returned by the UTS #46 algorithm in idn_to_utf8() and idn_to_ascii().

Ressource-Typen
Beispiele
intl


Beispiele

Inhaltsverzeichnis

  • Basic usage of this extension
Vordefinierte Konstanten
Basic usage of this extension
intl


Basic usage of this extension

Each module provides two kind of APIs: a procedural one and an object oriented one. Both are actually identical and described in the corresponding document.

Hinweis:

All input strings must be in UTF-8 encoding. All output strings are also in UTF-8.

Beispiel #1 Example of using the procedural API

<?php
$coll  = collator_create('en_US');
$result = collator_compare($coll, "string#1", "string#2");
?>

Beispiel #2 Example of using the object-oriented API

<?php
$coll = new Collator('en_US');
$al   = $coll->getLocale(Locale::ACTUAL_LOCALE);
echo "Actual locale: $al\n";

$formatter = new NumberFormatter('en_US', NumberFormatter::DECIMAL);
echo $formatter->format(1234567);
?>
Beispiele
Collator
Beispiele


The Collator class

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Einführung

Provides string comparison capability with support for appropriate locale-sensitive sort orderings.

Klassenbeschreibung

Collator {
/* Methoden */
public __construct ( string $locale )
public bool asort ( array &$arr [, int $sort_flag ] )
public int compare ( string $str1 , string $str2 )
public static Collator create ( string $locale )
public int getAttribute ( int $attr )
public int getErrorCode ( void )
public string getErrorMessage ( void )
public string getLocale ( int $type )
public string getSortKey ( string $str )
public int getStrength ( void )
public bool setAttribute ( int $attr , int $val )
public bool setStrength ( int $strength )
public bool sortWithSortKeys ( array &$arr )
public bool sort ( array &$arr [, int $sort_flag ] )
}

Vordefinierte Konstanten

Collator::FRENCH_COLLATION (integer)

Sort strings with different accents from the back of the string. This attribute is automatically set to On for the French locales and a few others. Users normally would not need to explicitly set this attribute. There is a string comparison performance cost when it is set On, but sort key length is unaffected. Possible values are:

  • Collator::ON
  • Collator::OFF(default)
  • Collator::DEFAULT_VALUE

Beispiel #1 FRENCH_COLLATION rules

  • F=OFF cote < coté < côte < côté
  • F=ON cote < côte < coté < côté

Collator::ALTERNATE_HANDLING (integer)

The Alternate attribute is used to control the handling of the so called variable characters in the UCA: whitespace, punctuation and symbols. If Alternate is set to NonIgnorable (N), then differences among these characters are of the same importance as differences among letters. If Alternate is set to Shifted (S), then these characters are of only minor importance. The Shifted value is often used in combination with Strength set to Quaternary. In such a case, whitespace, punctuation, and symbols are considered when comparing strings, but only if all other aspects of the strings (base letters, accents, and case) are identical. If Alternate is not set to Shifted, then there is no difference between a Strength of 3 and a Strength of 4. For more information and examples, see Variable_Weighting in the » UCA. The reason the Alternate values are not simply On and Off is that additional Alternate values may be added in the future. The UCA option Blanked is expressed with Strength set to 3, and Alternate set to Shifted. The default for most locales is NonIgnorable. If Shifted is selected, it may be slower if there are many strings that are the same except for punctuation; sort key length will not be affected unless the strength level is also increased.

Possible values are:

  • Collator::NON_IGNORABLE(default)
  • Collator::SHIFTED
  • Collator::DEFAULT_VALUE

Beispiel #2 ALTERNATE_HANDLING rules

  • S=3, A=N di Silva < Di Silva < diSilva < U.S.A. < USA
  • S=3, A=S di Silva = diSilva < Di Silva < U.S.A. = USA
  • S=4, A=S di Silva < diSilva < Di Silva < U.S.A. < USA

Collator::CASE_FIRST (integer)

The Case_First attribute is used to control whether uppercase letters come before lowercase letters or vice versa, in the absence of other differences in the strings. The possible values are Uppercase_First (U) and Lowercase_First (L), plus the standard Default and Off. There is almost no difference between the Off and Lowercase_First options in terms of results, so typically users will not use Lowercase_First: only Off or Uppercase_First. (People interested in the detailed differences between X and L should consult the Collation Customization). Specifying either L or U won't affect string comparison performance, but will affect the sort key length.

Possible values are:

  • Collator::OFF(default)
  • Collator::LOWER_FIRST
  • Collator::UPPER_FIRST
  • Collator:DEFAULT

Beispiel #3 CASE_FIRST rules

  • C=X or C=L "china" < "China" < "denmark" < "Denmark"
  • C=U "China" < "china" < "Denmark" < "denmark"

Collator::CASE_LEVEL (integer)

The Case_Level attribute is used when ignoring accents but not case. In such a situation, set Strength to be Primary, and Case_Level to be On. In most locales, this setting is Off by default. There is a small string comparison performance and sort key impact if this attribute is set to be On.

Possible values are:

  • Collator::OFF(default)
  • Collator::ON
  • Collator::DEFAULT_VALUE

Beispiel #4 CASE_LEVEL rules

  • S=1, E=X role = Role = rôle
  • S=1, E=O role = rôle < Role

Collator::NORMALIZATION_MODE (integer)

The Normalization setting determines whether text is thoroughly normalized or not in comparison. Even if the setting is off (which is the default for many locales), text as represented in common usage will compare correctly (for details, see UTN #5). Only if the accent marks are in noncanonical order will there be a problem. If the setting is On, then the best results are guaranteed for all possible text input. There is a medium string comparison performance cost if this attribute is On, depending on the frequency of sequences that require normalization. There is no significant effect on sort key length. If the input text is known to be in NFD or NFKD normalization forms, there is no need to enable this Normalization option.

Possible values are:

  • Collator::OFF(default)
  • Collator::ON
  • Collator::DEFAULT_VALUE

Collator::STRENGTH (integer)

The ICU Collation Service supports many levels of comparison (named "Levels", but also known as "Strengths"). Having these categories enables ICU to sort strings precisely according to local conventions. However, by allowing the levels to be selectively employed, searching for a string in text can be performed with various matching conditions. For more detailed information, see collator_set_strength() chapter.

Possible values are:

  • Collator::PRIMARY
  • Collator::SECONDARY
  • Collator::TERTIARY(default)
  • Collator::QUATERNARY
  • Collator::IDENTICAL
  • Collator::DEFAULT_VALUE

Collator::HIRAGANA_QUATERNARY_MODE (integer)

Compatibility with JIS x 4061 requires the introduction of an additional level to distinguish Hiragana and Katakana characters. If compatibility with that standard is required, then this attribute should be set On, and the strength set to Quaternary. This will affect sort key length and string comparison string comparison performance.

Possible values are:

  • Collator::OFF(default)
  • Collator::ON
  • Collator::DEFAULT_VALUE

Collator::NUMERIC_COLLATION (integer)

When turned on, this attribute generates a collation key for the numeric value of substrings of digits. This is a way to get '100' to sort AFTER '2'.

Possible values are:

  • Collator::OFF(default)
  • Collator::ON
  • Collator::DEFAULT_VALUE

Collator::DEFAULT_VALUE (integer)
Collator::PRIMARY (integer)
Collator::SECONDARY (integer)
Collator::TERTIARY (integer)
Collator::DEFAULT_STRENGTH (integer)
Collator::QUATERNARY (integer)
Collator::IDENTICAL (integer)
Collator::OFF (integer)
Collator::ON (integer)
Collator::SHIFTED (integer)
Collator::NON_IGNORABLE (integer)
Collator::LOWER_FIRST (integer)
Collator::UPPER_FIRST (integer)

Inhaltsverzeichnis

  • Collator::asort — Sort array maintaining index association
  • Collator::compare — Compare two Unicode strings
  • Collator::__construct — Create a collator
  • Collator::create — Create a collator
  • Collator::getAttribute — Get collation attribute value
  • Collator::getErrorCode — Get collator's last error code
  • Collator::getErrorMessage — Get text for collator's last error code
  • Collator::getLocale — Get the locale name of the collator
  • Collator::getSortKey — Get sorting key for a string
  • Collator::getStrength — Get current collation strength
  • Collator::setAttribute — Set collation attribute
  • Collator::setStrength — Set collation strength
  • Collator::sortWithSortKeys — Sort array using specified collator and sort keys
  • Collator::sort — Sort array using specified collator
Basic usage of this extension
Collator::asort
intl


Sort array maintaining index association

Collator
Collator::compare
Collator
PHP Manual

Collator::asort

collator_asort

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Collator::asort -- collator_asort — Sort array maintaining index association

Beschreibung

Objektorientierter Stil

public bool Collator::asort ( array &$arr [, int $sort_flag ] )

Prozeduraler Stil

bool collator_asort ( Collator $coll , array &$arr [, int $sort_flag ] )

This function sorts an array such that array indices maintain their correlation with the array elements they are associated with. This is used mainly when sorting associative arrays where the actual element order is significant. Array elements will have sort order according to current locale rules.

Equivalent to standard PHP asort().

Parameter-Liste

coll

Collator object.

arr

Array of strings to sort.

sort_flag

Optional sorting type, one of the following:

  • Collator::SORT_REGULAR - compare items normally (don't change types)

  • Collator::SORT_NUMERIC - compare items numerically

  • Collator::SORT_STRING - compare items as strings

Default $sort_flag value is Collator::SORT_REGULAR. It is also used if an invalid $sort_flag value has been specified.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 collator_asort()example

<?php
$coll = collator_create( 'en_US' );
$arr = array(
     'a' => '100',
     'b' => '50',
     'c' => '7'
);
collator_asort( $coll, $arr, Collator::SORT_NUMERIC );
var_export( $arr );

collator_asort( $coll, $arr, Collator::SORT_STRING );
var_export( $arr );
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array (
  'c' => '7',
  'b' => '50',
  'a' => '100',
)array (
  'a' => '100',
  'b' => '50',
  'c' => '7',
)

Siehe auch

  • Collator constants
  • collator_sort() - Sort array using specified collator
  • collator_sort_with_sort_keys() - Sort array using specified collator and sort keys

Collator
Collator::compare
Collator


Compare two Unicode strings

Collator::asort
Collator::__construct
Collator
PHP Manual

Collator::compare

collator_compare

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Collator::compare -- collator_compare — Compare two Unicode strings

Beschreibung

Objektorientierter Stil

public int Collator::compare ( string $str1 , string $str2 )

Prozeduraler Stil

int collator_compare ( Collator $coll , string $str1 , string $str2 )

Compare two Unicode strings according to collation rules.

Parameter-Liste

coll

Collator object.

str1

The first string to compare.

str2

The second string to compare.

Rückgabewerte

Return comparison result:

  • 1 if str1 is greater than str2 ;

  • 0 if str1 is equal to str2;

  • -1 if str1 is less than str2 .

On error boolean FALSE is returned.

Warnung

Diese Funktion kann sowohl das boolsche FALSE zurückliefern, als auch einen nicht-boolschen Wert, welcher zu FALSE ausgewertet wird. Weitere Informationen entnehmen Sie bitte dem Abschnitt über die boolschen Typen. Benutzen Sie deshalb den === Operator, um den Rückgabewert dieser Funktion zu überprüfen.

Beispiele

Beispiel #1 collator_compare()example

<?php
$s1 = 'Hello';
$s2 = 'hello';

$coll = collator_create( 'en_US' );
$res  = collator_compare( $coll, $s1, $s2 );

if ($res === false) {
    echo collator_get_error_message( $coll );
} else if( $res > 0 ) {
    echo "s1 is greater than s2\n";
} else if( $res < 0 ) {
    echo "s1 is less than s2\n";
} else {
    echo "s1 is equal to s2\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

s1 is greater than s2

Siehe auch

  • collator_sort() - Sort array using specified collator

Collator::asort
Collator::__construct
Collator


Create a collator

Collator::compare
Collator::create
Collator
PHP Manual

Collator::__construct

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Collator::__construct — Create a collator

Beschreibung

public Collator::__construct ( string $locale )

Creates a new instance of Collator.

Parameter-Liste

locale

The locale whose collation rules should be used. Special values for locales can be passed in - if null is passed for the locale, the default locale's collation rules will be used. If "root" is passed, UCA rules will be used.

The Locale attribute is typically the most important attribute for correct sorting and matching, according to the user expectations in different countries and regions. The default » UCA ordering will only sort a few languages such as Dutch and Portuguese correctly ("correctly" meaning according to the normal expectations for users of the languages). Otherwise, you need to supply the locale to UCA in order to properly collate text for a given language. Thus a locale needs to be supplied so as to choose a collator that is correctly tailored for that locale. The choice of a locale will automatically preset the values for all of the attributes to something that is reasonable for that locale. Thus most of the time the other attributes do not need to be explicitly set. In some cases, the choice of locale will make a difference in string comparison performance and/or sort key length.

Rückgabewerte

Returns Collator instance.

Fehler/Exceptions

Returns an "empty" object on error. You can use intl_get_error_code() and/or intl_get_error_message() to know what happened.

Beispiele

Beispiel #1 Collator::__construct() example

<?php
$coll = new Collator( 'en_CA' );
?>

Siehe auch

  • Collator::create() - Create a collator
  • collator_create() - Create a collator

Collator::compare
Collator::create
Collator


Create a collator

Collator::__construct
Collator::getAttribute
Collator
PHP Manual

Collator::create

collator_create

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Collator::create -- collator_create — Create a collator

Beschreibung

Objektorientierter Stil

public static Collator Collator::create ( string $locale )

Prozeduraler Stil

Collator collator_create ( string $locale )

The strings will be compared using the options already specified.

Parameter-Liste

locale

The locale containing the required collation rules. Special values for locales can be passed in - if null is passed for the locale, the default locale collation rules will be used. If empty string ("") or "root" are passed, » UCA rules will be used.

Rückgabewerte

Return new instance of Collator object, or NULL on error.

Beispiele

Beispiel #1 collator_create() example

<?php
$coll = collator_create( 'en_US' );

if( !isset( $coll ) ) {
    printf( "Collator creation failed: %s\n", intl_get_error_message() );
    exit( 1 );
}
?>

Siehe auch

  • Collator::__construct() - Create a collator

Collator::__construct
Collator::getAttribute
Collator


Get collation attribute value

Collator::create
Collator::getErrorCode
Collator
PHP Manual

Collator::getAttribute

collator_get_attribute

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Collator::getAttribute -- collator_get_attribute — Get collation attribute value

Beschreibung

Objektorientierter Stil

public int Collator::getAttribute ( int $attr )

Prozeduraler Stil

int collator_get_attribute ( Collator $coll , int $attr )

Get a value of an integer collator attribute.

Parameter-Liste

coll

Collator object.

attr

Attribute to get value for.

Rückgabewerte

Attribute value, or boolean FALSE on error.

Beispiele

Beispiel #1 collator_get_attribute() example

<?php
$coll = collator_create( 'en_CA' );
$val = collator_get_attribute( $coll, Collator::NUMERIC_COLLATION );
if( $val === false )
{
    // Handle error.
}
?>

Siehe auch

  • Collator constants
  • collator_set_attribute() - Set collation attribute
  • collator_get_strength() - Get current collation strength

Collator::create
Collator::getErrorCode
Collator


Get collator's last error code

Collator::getAttribute
Collator::getErrorMessage
Collator
PHP Manual

Collator::getErrorCode

collator_get_error_code

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Collator::getErrorCode -- collator_get_error_code — Get collator's last error code

Beschreibung

Objektorientierter Stil

public int Collator::getErrorCode ( void )

Prozeduraler Stil

int collator_get_error_code ( Collator $coll )

Parameter-Liste

coll

Collator object.

Rückgabewerte

Error code returned by the last Collator API function call.

Beispiele

Beispiel #1 collator_get_error_code() example

<?php
$coll = collator_create( 'en_US' );
if( collator_get_attribute( $coll, Collator::FRENCH_COLLATION ) === false )
        handle_error( collator_get_error_code() );
?>

Siehe auch

  • collator_get_error_message() - Get text for collator's last error code

Collator::getAttribute
Collator::getErrorMessage
Collator


Get text for collator's last error code

Collator::getErrorCode
Collator::getLocale
Collator
PHP Manual

Collator::getErrorMessage

collator_get_error_message

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Collator::getErrorMessage -- collator_get_error_message — Get text for collator's last error code

Beschreibung

Objektorientierter Stil

public string Collator::getErrorMessage ( void )

Prozeduraler Stil

string collator_get_error_message ( Collator $coll )

Retrieves the message for the last error.

Parameter-Liste

coll

Collator object.

Rückgabewerte

Description of an error occurred in the last Collator API function call.

Beispiele

Beispiel #1 collator_get_error_message() example

<?php
$coll = collator_create( 'lt' );
if( collator_compare( $coll, 'y', 'k' ) === false ) {
    echo collator_get_error_message( $coll );
}
?>

Siehe auch

  • collator_get_error_code() - Get collator's last error code

Collator::getErrorCode
Collator::getLocale
Collator


Get the locale name of the collator

Collator::getErrorMessage
Collator::getSortKey
Collator
PHP Manual

Collator::getLocale

collator_get_locale

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Collator::getLocale -- collator_get_locale — Get the locale name of the collator

Beschreibung

Objektorientierter Stil

public string Collator::getLocale ( int $type )

Prozeduraler Stil

string collator_get_locale ( Collator $coll , int $type )

Get collector locale name.

Parameter-Liste

coll

Collator object.

type

You can choose between valid and actual locale ( Locale::VALID_LOCALE and Locale::ACTUAL_LOCALE, respectively).

Rückgabewerte

Real locale name from which the collation data comes. If the collator was instantiated from rules or an error occurred, returns boolean FALSE.

Beispiele

Beispiel #1 collator_get_locale() example

<?php
$coll    = collator_create( 'en_US_California' );
$res_val = collator_get_locale( $coll, Locale::VALID_LOCALE );
$res_act = collator_get_locale( $coll, Locale::ACTUAL_LOCALE );
printf( "Valid locale name: %s\nActual locale name: %s\n",
         $res_val, $res_act );
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Requested locale name: en_US_California
Valid locale name: en_US
Actual locale name: en

Siehe auch

  • collator_create() - Create a collator

Collator::getErrorMessage
Collator::getSortKey
Collator


Get sorting key for a string

Collator::getLocale
Collator::getStrength
Collator
PHP Manual

Collator::getSortKey

collator_get_sort_key

(PHP 5 >= 5.3.11, PHP 7, PECL intl >= 1.0.3)

Collator::getSortKey -- collator_get_sort_key — Get sorting key for a string

Beschreibung

Objektorientierter Stil

public string Collator::getSortKey ( string $str )

Prozeduraler Stil

string collator_get_sort_key ( Collator $coll , string $str )

Return collation key for a string.

Parameter-Liste

coll

Collator object.

str

The string to produce the key from.

Rückgabewerte

Returns the collation key for the string. Collation keys can be compared directly instead of strings.

Warnung

Diese Funktion kann sowohl das boolsche FALSE zurückliefern, als auch einen nicht-boolschen Wert, welcher zu FALSE ausgewertet wird. Weitere Informationen entnehmen Sie bitte dem Abschnitt über die boolschen Typen. Benutzen Sie deshalb den === Operator, um den Rückgabewert dieser Funktion zu überprüfen.

Beispiele

Beispiel #1 collator_get_sort_key()example

<?php
$s1 = 'Hello';

$coll = collator_create( 'en_US' );
$res  = collator_get_sort_key( $coll, $s1);

echo urlencode($res);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

71%3F%3FE%01%09%01%8F%08%00

Siehe auch

  • collator_sort() - Sort array using specified collator
  • collator_sort_with_sort_keys() - Sort array using specified collator and sort keys

Collator::getLocale
Collator::getStrength
Collator


Get current collation strength

Collator::getSortKey
Collator::setAttribute
Collator
PHP Manual

Collator::getStrength

collator_get_strength

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Collator::getStrength -- collator_get_strength — Get current collation strength

Beschreibung

Objektorientierter Stil

public int Collator::getStrength ( void )

Prozeduraler Stil

int collator_get_strength ( Collator $coll )

Parameter-Liste

coll

Collator object.

Rückgabewerte

Returns current collation strength, or boolean FALSE on error.

Beispiele

Beispiel #1 collator_get_strength() example

<?php
$coll     = collator_create( 'en_US' );
$strength = collator_get_strength( $coll );
?>

Siehe auch

  • Collator constants
  • collator_set_strength() - Set collation strength
  • collator_get_attribute() - Get collation attribute value

Collator::getSortKey
Collator::setAttribute
Collator


Set collation attribute

Collator::getStrength
Collator::setStrength
Collator
PHP Manual

Collator::setAttribute

collator_set_attribute

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Collator::setAttribute -- collator_set_attribute — Set collation attribute

Beschreibung

Objektorientierter Stil

public bool Collator::setAttribute ( int $attr , int $val )

Prozeduraler Stil

bool collator_set_attribute ( Collator $coll , int $attr , int $val )

Parameter-Liste

coll

Collator object.

attr

Attribute.

val

Attribute value.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 collator_set_attribute() example

<?php
$coll = collator_create( 'en_CA' );
$val  = collator_get_attribute( $coll, Collator::NUMERIC_COLLATION );
if ($val === false) {
    // Handle error.
} elseif ($val === Collator::ON) {
    // Do something useful.
}
?>

Siehe auch

  • Collator constants
  • collator_get_attribute() - Get collation attribute value
  • collator_set_strength() - Set collation strength

Collator::getStrength
Collator::setStrength
Collator


Set collation strength

Collator::setAttribute
Collator::sortWithSortKeys
Collator
PHP Manual

Collator::setStrength

collator_set_strength

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Collator::setStrength -- collator_set_strength — Set collation strength

Beschreibung

Objektorientierter Stil

public bool Collator::setStrength ( int $strength )

Prozeduraler Stil

bool collator_set_strength ( Collator $coll , int $strength )

The » ICU Collation Service supports many levels of comparison (named "Levels", but also known as "Strengths"). Having these categories enables ICU to sort strings precisely according to local conventions. However, by allowing the levels to be selectively employed, searching for a string in text can be performed with various matching conditions.

  1. Primary Level: Typically, this is used to denote differences between base characters (for example, "a" < "b"). It is the strongest difference. For example, dictionaries are divided into different sections by base character. This is also called the level1 strength.

  2. Secondary Level: Accents in the characters are considered secondary differences (for example, "as" < "às" < "at"). Other differences between letters can also be considered secondary differences, depending on the language. A secondary difference is ignored when there is a primary difference anywhere in the strings. This is also called the level2 strength.

    Hinweis:

    Note: In some languages (such as Danish), certain accented letters are considered to be separate base characters. In most languages, however, an accented letter only has a secondary difference from the unaccented version of that letter.

  3. Tertiary Level: Upper and lower case differences in characters are distinguished at the tertiary level (for example, "ao" < "Ao" < "aò"). In addition, a variant of a letter differs from the base form on the tertiary level (such as "A" and " "). Another example is the difference between large and small Kana. A tertiary difference is ignored when there is a primary or secondary difference anywhere in the strings. This is also called the level3 strength.

  4. Quaternary Level: When punctuation is ignored (see Ignoring Punctuations ) at level 13, an additional level can be used to distinguish words with and without punctuation (for example, "ab" < "a-b" < "aB"). This difference is ignored when there is a primary, secondary or tertiary difference. This is also known as the level4 strength. The quaternary level should only be used if ignoring punctuation is required or when processing Japanese text (see Hiragana processing).

  5. Identical Level: When all other levels are equal, the identical level is used as a tiebreaker. The Unicode code point values of the NFD form of each string are compared at this level, just in case there is no difference at levels 14. For example, Hebrew cantillation marks are only distinguished at this level. This level should be used sparingly, as only code point values differences between two strings is an extremely rare occurrence. Using this level substantially decreases the performance for both incremental comparison and sort key generation (as well as increasing the sort key length). It is also known as level 5 strength.

For example, people may choose to ignore accents or ignore accents and case when searching for text. Almost all characters are distinguished by the first three levels, and in most locales the default value is thus Tertiary. However, if Alternate is set to be Shifted, then the Quaternary strength can be used to break ties among whitespace, punctuation, and symbols that would otherwise be ignored. If very fine distinctions among characters are required, then the Identical strength can be used (for example, Identical Strength distinguishes between the Mathematical Bold Small A and the Mathematical Italic Small A.). However, using levels higher than Tertiary the Identical strength result in significantly longer sort keys, and slower string comparison performance for equal strings.

Parameter-Liste

coll

Collator object.

strength

Strength to set.

Possible values are:

  • Collator::PRIMARY

  • Collator::SECONDARY

  • Collator::TERTIARY

  • Collator::QUATERNARY

  • Collator::IDENTICAL

  • Collator::DEFAULT_STRENGTH

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 collator_set_strength() example

<?php
$arr  = array( 'aò', 'Ao', 'ao' );
$coll = collator_create( 'en_US' );

// Sort array using default strength.
collator_sort( $coll, $arr );
var_export( $arr );

// Sort array using primary strength.
collator_set_strength( $coll, Collator::PRIMARY );
collator_sort( $coll, $arr );
var_export( $arr );
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array (
  0 => 'ao',
  1 => 'Ao',
  2 => 'aò',
)
array (
  0 => 'aò',
  1 => 'Ao',
  2 => 'ao',
)

Siehe auch

  • Collator constants
  • collator_get_strength() - Get current collation strength

Collator::setAttribute
Collator::sortWithSortKeys
Collator


Sort array using specified collator and sort keys

Collator::setStrength
Collator::sort
Collator
PHP Manual

Collator::sortWithSortKeys

collator_sort_with_sort_keys

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Collator::sortWithSortKeys -- collator_sort_with_sort_keys — Sort array using specified collator and sort keys

Beschreibung

Objektorientierter Stil

public bool Collator::sortWithSortKeys ( array &$arr )

Prozeduraler Stil

bool collator_sort_with_sort_keys ( Collator $coll , array &$arr )

Similar to collator_sort() but uses ICU sorting keys produced by ucol_getSortKey() to gain more speed on large arrays.

Parameter-Liste

coll

Collator object.

arr

Array of strings to sort

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 collator_sort_with_sort_keys() example

<?php
$arr  = array( 'Köpfe', 'Kypper', 'Kopfe' );
$coll = collator_create( 'sv' );

collator_sort_with_sort_keys( $coll, $arr );
var_export( $arr );
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array (
  0 => 'Kopfe',
  1 => 'Kypper',
  2 => 'Köpfe',
)

Siehe auch

  • Collator constants
  • collator_sort() - Sort array using specified collator
  • collator_asort() - Sort array maintaining index association

Collator::setStrength
Collator::sort
Collator


Sort array using specified collator

Collator::sortWithSortKeys
NumberFormatter
Collator
PHP Manual

Collator::sort

collator_sort

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Collator::sort -- collator_sort — Sort array using specified collator

Beschreibung

Objektorientierter Stil

public bool Collator::sort ( array &$arr [, int $sort_flag ] )

Prozeduraler Stil

bool collator_sort ( Collator $coll , array &$arr [, int $sort_flag ] )

This function sorts an array according to current locale rules.

Equivalent to standard PHP sort() .

Parameter-Liste

coll

Collator object.

arr

Array of strings to sort.

sort_flag

Optional sorting type, one of the following:

  • Collator::SORT_REGULAR - compare items normally (don't change types)

  • Collator::SORT_NUMERIC - compare items numerically

  • Collator::SORT_STRING - compare items as strings

Default sorting type is Collator::SORT_REGULAR. It is also used if an invalid sort_flag value has been specified.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 collator_sort() example

<?php
$coll = collator_create( 'en_US' );
$arr  = array( 'at', 'às', 'as' );

var_export( $arr );
collator_sort( $coll, $arr );
var_export( $arr );
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array (
  0 => 'at',
  1 => 'às',
  2 => 'as',
)array (
  0 => 'as',
  1 => 'às',
  2 => 'at',
)

Siehe auch

  • Collator constants
  • collator_asort() - Sort array maintaining index association
  • collator_sort_with_sort_keys() - Sort array using specified collator and sort keys

Collator::sortWithSortKeys
NumberFormatter
Collator


The NumberFormatter class

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Einführung

Programs store and operate on numbers using a locale-independent binary representation. When displaying or printing a number it is converted to a locale-specific string. For example, the number 12345.67 is "12,345.67" in the US, "12 345,67" in France and "12.345,67" in Germany.

By invoking the methods provided by the NumberFormatter class, you can format numbers, currencies, and percentages according to the specified or default locale. NumberFormatter is locale-sensitive so you need to create a new NumberFormatter for each locale. NumberFormatter methods format primitive-type numbers, such as double and output the number as a locale-specific string.

For currencies you can use currency format type to create a formatter that returns a string with the formatted number and the appropriate currency sign. Of course, the NumberFormatter class is unaware of exchange rates so, the number output is the same regardless of the specified currency. This means that the same number has different monetary values depending on the currency locale. If the number is 9988776.65 the results will be:

  • 9 988 776,65 € in France
  • 9.988.776,65 € in Germany
  • $9,988,776.65 in the United States

In order to format percentages, create a locale-specific formatter with percentage format type. With this formatter, a decimal fraction such as 0.75 is displayed as 75%.

For more complex formatting, like spelled-out numbers, the rule-based number formatters are used.

Klassenbeschreibung

NumberFormatter {
/* Methoden */
public __construct ( string $locale , int $style [, string $pattern ] )
public static NumberFormatter create ( string $locale , int $style [, string $pattern ] )
public string formatCurrency ( float $value , string $currency )
public string format ( number $value [, int $type ] )
public int getAttribute ( int $attr )
public int getErrorCode ( void )
public string getErrorMessage ( void )
public string getLocale ([ int $type ] )
public string getPattern ( void )
public string getSymbol ( int $attr )
public string getTextAttribute ( int $attr )
public float parseCurrency ( string $value , string &$currency [, int &$position ] )
public mixed parse ( string $value [, int $type [, int &$position ]] )
public bool setAttribute ( int $attr , int $value )
public bool setPattern ( string $pattern )
public bool setSymbol ( int $attr , string $value )
public bool setTextAttribute ( int $attr , string $value )
}

Vordefinierte Konstanten

These styles are used by the numfmt_create() to define the type of the formatter.

NumberFormatter::PATTERN_DECIMAL (integer)
Decimal format defined by pattern
NumberFormatter::DECIMAL (integer)
Decimal format
NumberFormatter::CURRENCY (integer)
Currency format
NumberFormatter::PERCENT (integer)
Percent format
NumberFormatter::SCIENTIFIC (integer)
Scientific format
NumberFormatter::SPELLOUT (integer)
Spellout rule-based format
NumberFormatter::ORDINAL (integer)
Ordinal rule-based format
NumberFormatter::DURATION (integer)
Duration rule-based format
NumberFormatter::PATTERN_RULEBASED (integer)
Rule-based format defined by pattern
NumberFormatter::DEFAULT_STYLE (integer)
Default format for the locale
NumberFormatter::IGNORE (integer)
Alias for PATTERN_DECIMAL

These constants define how the numbers are parsed or formatted. They should be used as arguments to numfmt_format() and numfmt_parse().

NumberFormatter::TYPE_DEFAULT (integer)
Derive the type from variable type
NumberFormatter::TYPE_INT32 (integer)
Format/parse as 32-bit integer
NumberFormatter::TYPE_INT64 (integer)
Format/parse as 64-bit integer
NumberFormatter::TYPE_DOUBLE (integer)
Format/parse as floating point value
NumberFormatter::TYPE_CURRENCY (integer)
Format/parse as currency value

Number format attribute used by numfmt_get_attribute() and numfmt_set_attribute().

NumberFormatter::PARSE_INT_ONLY (integer)
Parse integers only.
NumberFormatter::GROUPING_USED (integer)
Use grouping separator.
NumberFormatter::DECIMAL_ALWAYS_SHOWN (integer)
Always show decimal point.
NumberFormatter::MAX_INTEGER_DIGITS (integer)
Maximum integer digits.
NumberFormatter::MIN_INTEGER_DIGITS (integer)
Minimum integer digits.
NumberFormatter::INTEGER_DIGITS (integer)
Integer digits.
NumberFormatter::MAX_FRACTION_DIGITS (integer)
Maximum fraction digits.
NumberFormatter::MIN_FRACTION_DIGITS (integer)
Minimum fraction digits.
NumberFormatter::FRACTION_DIGITS (integer)
Fraction digits.
NumberFormatter::MULTIPLIER (integer)
Multiplier.
NumberFormatter::GROUPING_SIZE (integer)
Grouping size.
NumberFormatter::ROUNDING_MODE (integer)
Rounding Mode.
NumberFormatter::ROUNDING_INCREMENT (integer)
Rounding increment.
NumberFormatter::FORMAT_WIDTH (integer)
The width to which the output of format() is padded.
NumberFormatter::PADDING_POSITION (integer)
The position at which padding will take place. See pad position constants for possible argument values.
NumberFormatter::SECONDARY_GROUPING_SIZE (integer)
Secondary grouping size.
NumberFormatter::SIGNIFICANT_DIGITS_USED (integer)
Use significant digits.
NumberFormatter::MIN_SIGNIFICANT_DIGITS (integer)
Minimum significant digits.
NumberFormatter::MAX_SIGNIFICANT_DIGITS (integer)
Maximum significant digits.
NumberFormatter::LENIENT_PARSE (integer)
Lenient parse mode used by rule-based formats.

Number format text attribute used by numfmt_get_text_attribute() and numfmt_set_text_attribute().

NumberFormatter::POSITIVE_PREFIX (integer)
Positive prefix.
NumberFormatter::POSITIVE_SUFFIX (integer)
Positive suffix.
NumberFormatter::NEGATIVE_PREFIX (integer)
Negative prefix.
NumberFormatter::NEGATIVE_SUFFIX (integer)
Negative suffix.
NumberFormatter::PADDING_CHARACTER (integer)
The character used to pad to the format width.
NumberFormatter::CURRENCY_CODE (integer)
The ISO currency code.
NumberFormatter::DEFAULT_RULESET (integer)
The default rule set. This is only available with rule-based formatters.
NumberFormatter::PUBLIC_RULESETS (integer)
The public rule sets. This is only available with rule-based formatters. This is a read-only attribute. The public rulesets are returned as a single string, with each ruleset name delimited by ';' (semicolon).

Number format symbols used by numfmt_get_symbol() and numfmt_set_symbol().

NumberFormatter::DECIMAL_SEPARATOR_SYMBOL (integer)
The decimal separator.
NumberFormatter::GROUPING_SEPARATOR_SYMBOL (integer)
The grouping separator.
NumberFormatter::PATTERN_SEPARATOR_SYMBOL (integer)
The pattern separator.
NumberFormatter::PERCENT_SYMBOL (integer)
The percent sign.
NumberFormatter::ZERO_DIGIT_SYMBOL (integer)
Zero.
NumberFormatter::DIGIT_SYMBOL (integer)
Character representing a digit in the pattern.
NumberFormatter::MINUS_SIGN_SYMBOL (integer)
The minus sign.
NumberFormatter::PLUS_SIGN_SYMBOL (integer)
The plus sign.
NumberFormatter::CURRENCY_SYMBOL (integer)
The currency symbol.
NumberFormatter::INTL_CURRENCY_SYMBOL (integer)
The international currency symbol.
NumberFormatter::MONETARY_SEPARATOR_SYMBOL (integer)
The monetary separator.
NumberFormatter::EXPONENTIAL_SYMBOL (integer)
The exponential symbol.
NumberFormatter::PERMILL_SYMBOL (integer)
Per mill symbol.
NumberFormatter::PAD_ESCAPE_SYMBOL (integer)
Escape padding character.
NumberFormatter::INFINITY_SYMBOL (integer)
Infinity symbol.
NumberFormatter::NAN_SYMBOL (integer)
Not-a-number symbol.
NumberFormatter::SIGNIFICANT_DIGIT_SYMBOL (integer)
Significant digit symbol.
NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL (integer)
The monetary grouping separator.

Rounding mode values used by numfmt_get_attribute()
and numfmt_set_attribute() with
NumberFormatter::ROUNDING_MODE attribute.

NumberFormatter::ROUND_CEILING (integer)
Rounding mode to round towards positive infinity.
NumberFormatter::ROUND_DOWN (integer)
Rounding mode to round towards zero.
NumberFormatter::ROUND_FLOOR (integer)
Rounding mode to round towards negative infinity.
NumberFormatter::ROUND_HALFDOWN (integer)
Rounding mode to round towards "nearest neighbor" unless both neighbors are equidistant, in which case round down.
NumberFormatter::ROUND_HALFEVEN (integer)
Rounding mode to round towards the "nearest neighbor" unless both neighbors are equidistant, in which case, round towards the even neighbor.
NumberFormatter::ROUND_HALFUP (integer)
Rounding mode to round towards "nearest neighbor" unless both neighbors are equidistant, in which case round up.
NumberFormatter::ROUND_UP (integer)
Rounding mode to round away from zero.

Pad position values used by numfmt_get_attribute()
and numfmt_set_attribute() with
NumberFormatter::PADDING_POSITION attribute.

NumberFormatter::PAD_AFTER_PREFIX (integer)
Pad characters inserted after the prefix.
NumberFormatter::PAD_AFTER_SUFFIX (integer)
Pad characters inserted after the suffix.
NumberFormatter::PAD_BEFORE_PREFIX (integer)
Pad characters inserted before the prefix.
NumberFormatter::PAD_BEFORE_SUFFIX (integer)
Pad characters inserted before the suffix.

Siehe auch

  • » ICU formatting documentation
  • » ICU number formatters
  • » ICU decimal formatters
  • » ICU rule-based number formatters

Inhaltsverzeichnis

  • NumberFormatter::create — Create a number formatter
  • NumberFormatter::formatCurrency — Format a currency value
  • NumberFormatter::format — Format a number
  • NumberFormatter::getAttribute — Get an attribute
  • NumberFormatter::getErrorCode — Get formatter's last error code.
  • NumberFormatter::getErrorMessage — Get formatter's last error message.
  • NumberFormatter::getLocale — Get formatter locale
  • NumberFormatter::getPattern — Get formatter pattern
  • NumberFormatter::getSymbol — Get a symbol value
  • NumberFormatter::getTextAttribute — Get a text attribute
  • NumberFormatter::parseCurrency — Parse a currency number
  • NumberFormatter::parse — Parse a number
  • NumberFormatter::setAttribute — Set an attribute
  • NumberFormatter::setPattern — Set formatter pattern
  • NumberFormatter::setSymbol — Set a symbol value
  • NumberFormatter::setTextAttribute — Set a text attribute
Collator::sort
NumberFormatter::create
intl


Create a number formatter

NumberFormatter
NumberFormatter::formatCurrency
NumberFormatter
PHP Manual

NumberFormatter::create

numfmt_create

NumberFormatter::__construct

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

NumberFormatter::create -- numfmt_create -- NumberFormatter::__construct — Create a number formatter

Beschreibung

Objektorientierter Stil (method)

public static NumberFormatter NumberFormatter::create ( string $locale , int $style [, string $pattern ] )

Prozeduraler Stil

NumberFormatter numfmt_create ( string $locale , int $style [, string $pattern ] )

Objektorientierter Stil (constructor):

public NumberFormatter::__construct ( string $locale , int $style [, string $pattern ] )

Creates a number formatter.

Parameter-Liste

locale

Locale in which the number would be formatted (locale name, e.g. en_CA).

style

Style of the formatting, one of the format style constants. If NumberFormatter::PATTERN_DECIMAL or NumberFormatter::PATTERN_RULEBASED is passed then the number format is opened using the given pattern, which must conform to the syntax described in » ICU DecimalFormat documentation or » ICU RuleBasedNumberFormat documentation, respectively.

pattern

Pattern string if the chosen style requires a pattern.

Rückgabewerte

Returns NumberFormatter object or FALSE on error.

Beispiele

Beispiel #1 numfmt_create() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
$fmt = numfmt_create( 'it', NumberFormatter::SPELLOUT );
echo numfmt_format($fmt, 1142)."\n";
?>

Beispiel #2 NumberFormatter::create() example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo $fmt->format(1234567.891234567890000)."\n";
$fmt = new NumberFormatter( 'it', NumberFormatter::SPELLOUT );
echo $fmt->format(1142)."\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1.234.567,891
millicentoquarantadue

Siehe auch

  • numfmt_format() - Format a number
  • numfmt_parse() - Parse a number

NumberFormatter
NumberFormatter::formatCurrency
NumberFormatter


Format a currency value

NumberFormatter::create
NumberFormatter::format
NumberFormatter
PHP Manual

NumberFormatter::formatCurrency

numfmt_format_currency

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

NumberFormatter::formatCurrency -- numfmt_format_currency — Format a currency value

Beschreibung

Objektorientierter Stil

public string NumberFormatter::formatCurrency ( float $value , string $currency )

Prozeduraler Stil

string numfmt_format_currency ( NumberFormatter $fmt , float $value , string $currency )

Format the currency value according to the formatter rules.

Parameter-Liste

fmt

NumberFormatter object.

value

The numeric currency value.

currency

The 3-letter ISO 4217 currency code indicating the currency to use.

Rückgabewerte

String representing the formatted currency value.

Beispiele

Beispiel #1 numfmt_format_currency() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::CURRENCY );
echo numfmt_format_currency($fmt, 1234567.891234567890000, "EUR")."\n";
echo numfmt_format_currency($fmt, 1234567.891234567890000, "RUR")."\n";
$fmt = numfmt_create( 'ru_RU', NumberFormatter::CURRENCY );
echo numfmt_format_currency($fmt, 1234567.891234567890000, "EUR")."\n";
echo numfmt_format_currency($fmt, 1234567.891234567890000, "RUR")."\n";
?>

Beispiel #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::CURRENCY );
echo $fmt->formatCurrency(1234567.891234567890000, "EUR")."\n";
echo $fmt->formatCurrency(1234567.891234567890000, "RUR")."\n";
$fmt = new NumberFormatter( 'ru_RU', NumberFormatter::CURRENCY );
echo $fmt->formatCurrency(1234567.891234567890000, "EUR")."\n";
echo $fmt->formatCurrency(1234567.891234567890000, "RUR")."\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1.234.567,89 €
1.234.567,89 RUR
1 234 567,89€
1 234 567,89?.

Siehe auch

  • numfmt_get_error_code() - Get formatter's last error code.
  • numfmt_format() - Format a number
  • numfmt_parse_currency() - Parse a currency number

NumberFormatter::create
NumberFormatter::format
NumberFormatter


Format a number

NumberFormatter::formatCurrency
NumberFormatter::getAttribute
NumberFormatter
PHP Manual

NumberFormatter::format

numfmt_format

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

NumberFormatter::format -- numfmt_format — Format a number

Beschreibung

Objektorientierter Stil

public string NumberFormatter::format ( number $value [, int $type ] )

Prozeduraler Stil

string numfmt_format ( NumberFormatter $fmt , number $value [, int $type ] )

Format a numeric value according to the formatter rules.

Parameter-Liste

fmt

NumberFormatter object.

value

The value to format. Can be integer or float, other values will be converted to a numeric value.

type

The formatting type to use.

Rückgabewerte

Returns the string containing formatted value, or FALSE on error.

Beispiele

Beispiel #1 numfmt_format() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
$data = numfmt_format($fmt, 1234567.891234567890000);
if(intl_is_failure(numfmt_format($fmt))) {
    report_error("Formatter error");
}
?>

Beispiel #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
$fmt->format(1234567.891234567890000);
if(intl_is_failure($fmt->getErrorCode())) {
    report_error("Formatter error");
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1.234.567,891

Siehe auch

  • numfmt_get_error_code() - Get formatter's last error code.
  • numfmt_format_currency() - Format a currency value
  • numfmt_parse() - Parse a number

NumberFormatter::formatCurrency
NumberFormatter::getAttribute
NumberFormatter


Get an attribute

NumberFormatter::format
NumberFormatter::getErrorCode
NumberFormatter
PHP Manual

NumberFormatter::getAttribute

numfmt_get_attribute

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

NumberFormatter::getAttribute -- numfmt_get_attribute — Get an attribute

Beschreibung

Objektorientierter Stil

public int NumberFormatter::getAttribute ( int $attr )

Prozeduraler Stil

int numfmt_get_attribute ( NumberFormatter $fmt , int $attr )

Get a numeric attribute associated with the formatter. An example of a numeric attribute is the number of integer digits the formatter will produce.

Parameter-Liste

fmt

NumberFormatter object.

attr

Attribute specifier - one of the numeric attribute constants.

Rückgabewerte

Return attribute value on success, or FALSE on error.

Beispiele

Beispiel #1 numfmt_get_attribute() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Digits: ".numfmt_get_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS, 2);
echo "Digits: ".numfmt_get_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Beispiel #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Digits: ".$fmt->getAttribute(NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setAttribute(NumberFormatter::MAX_FRACTION_DIGITS, 2);
echo "Digits: ".$fmt->getAttribute(NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Digits: 3
1.234.567,891
Digits: 2
1.234.567,89

Siehe auch

  • numfmt_get_error_code() - Get formatter's last error code.
  • numfmt_get_text_attribute() - Get a text attribute
  • numfmt_set_attribute() - Set an attribute

NumberFormatter::format
NumberFormatter::getErrorCode
NumberFormatter


Get formatter's last error code.

NumberFormatter::getAttribute
NumberFormatter::getErrorMessage
NumberFormatter
PHP Manual

NumberFormatter::getErrorCode

numfmt_get_error_code

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

NumberFormatter::getErrorCode -- numfmt_get_error_code — Get formatter's last error code.

Beschreibung

Objektorientierter Stil

public int NumberFormatter::getErrorCode ( void )

Prozeduraler Stil

int numfmt_get_error_code ( NumberFormatter $fmt )

Get error code from the last function performed by the formatter.

Parameter-Liste

fmt

NumberFormatter object.

Rückgabewerte

Returns error code from last formatter call.

Beispiele

Beispiel #1 numfmt_get_error_code() example

<?php
$fmt  = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
$data = numfmt_format($fmt, 1234567.891234567890000);
if(intl_is_failure(numfmt_get_error_code($fmt))) {
    report_error("Formatter error");
}
?>

Beispiel #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
$fmt->format(1234567.891234567890000);
if(intl_is_failure($fmt->getErrorCode())) {
    report_error("Formatter error");
}
?>

Siehe auch

  • numfmt_get_error_message() - Get formatter's last error message.
  • intl_get_error_code() - Get the last error code
  • intl_is_failure() - Check whether the given error code indicates failure

NumberFormatter::getAttribute
NumberFormatter::getErrorMessage
NumberFormatter


Get formatter's last error message.

NumberFormatter::getErrorCode
NumberFormatter::getLocale
NumberFormatter
PHP Manual

NumberFormatter::getErrorMessage

numfmt_get_error_message

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

NumberFormatter::getErrorMessage -- numfmt_get_error_message — Get formatter's last error message.

Beschreibung

Objektorientierter Stil

public string NumberFormatter::getErrorMessage ( void )

Prozeduraler Stil

string numfmt_get_error_message ( NumberFormatter $fmt )

Get error message from the last function performed by the formatter.

Parameter-Liste

fmt

NumberFormatter object.

Rückgabewerte

Returns error message from last formatter call.

Beispiele

Beispiel #1 numfmt_get_error_message() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
$data = numfmt_format($fmt, 1234567.891234567890000);
var_dump(numfmt_get_error_message($fmt));
?>

Beispiel #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
$fmt->format(1234567.891234567890000);
var_dump(numfmt_get_error_message($fmt));
?>

Siehe auch

  • numfmt_get_error_code() - Get formatter's last error code.
  • intl_get_error_code() - Get the last error code
  • intl_is_failure() - Check whether the given error code indicates failure

NumberFormatter::getErrorCode
NumberFormatter::getLocale
NumberFormatter


Get formatter locale

NumberFormatter::getErrorMessage
NumberFormatter::getPattern
NumberFormatter
PHP Manual

NumberFormatter::getLocale

numfmt_get_locale

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

NumberFormatter::getLocale -- numfmt_get_locale — Get formatter locale

Beschreibung

Objektorientierter Stil

public string NumberFormatter::getLocale ([ int $type ] )

Prozeduraler Stil

string numfmt_get_locale ( NumberFormatter $fmt [, int $type ] )

Get formatter locale name.

Parameter-Liste

fmt

NumberFormatter object.

type

You can choose between valid and actual locale ( Locale::VALID_LOCALE, Locale::ACTUAL_LOCALE, respectively). The default is the actual locale.

Rückgabewerte

The locale name used to create the formatter.

Beispiele

Beispiel #1 numfmt_get_locale() example

<?php
$req     = 'fr_FR_PARIS';
$fmt     = numfmt_create( $req,  NumberFormatter::DECIMAL);
$res_val = numfmt_get_locale( $fmt, Locale::VALID_LOCALE );
$res_act = numfmt_get_locale( $fmt, Locale::ACTUAL_LOCALE );
printf( "Requested locale name: %s\nValid locale name: %s\nActual locale name: %s\n",
         $req, $res_val, $res_act );
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Requested locale name: fr_FR_PARIS
Valid locale name: fr_FR
Actual locale name: fr

Siehe auch

  • numfmt_create() - Create a number formatter
  • numfmt_get_error_code() - Get formatter's last error code.

NumberFormatter::getErrorMessage
NumberFormatter::getPattern
NumberFormatter


Get formatter pattern

NumberFormatter::getLocale
NumberFormatter::getSymbol
NumberFormatter
PHP Manual

NumberFormatter::getPattern

numfmt_get_pattern

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

NumberFormatter::getPattern -- numfmt_get_pattern — Get formatter pattern

Beschreibung

Objektorientierter Stil

public string NumberFormatter::getPattern ( void )

Prozeduraler Stil

string numfmt_get_pattern ( NumberFormatter $fmt )

Extract pattern used by the formatter.

Parameter-Liste

fmt

NumberFormatter object.

Rückgabewerte

Pattern string that is used by the formatter, or FALSE if an error happens.

Beispiele

Beispiel #1 numfmt_get_pattern() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Pattern: ".numfmt_get_pattern($fmt)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_pattern($fmt, "#0.# kg");
echo "Pattern: ".numfmt_get_pattern($fmt)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Beispiel #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Pattern: ".$fmt->getPattern()."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setPattern("#0.# kg");
echo "Pattern: ".$fmt->getPattern()."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Pattern: #,##0.###
1.234.567,891
Pattern: #0.# kg
1234567,9 kg

Siehe auch

  • numfmt_get_error_code() - Get formatter's last error code.
  • numfmt_set_pattern() - Set formatter pattern
  • numfmt_create() - Create a number formatter

NumberFormatter::getLocale
NumberFormatter::getSymbol
NumberFormatter


Get a symbol value

NumberFormatter::getPattern
NumberFormatter::getTextAttribute
NumberFormatter
PHP Manual

NumberFormatter::getSymbol

numfmt_get_symbol

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

NumberFormatter::getSymbol -- numfmt_get_symbol — Get a symbol value

Beschreibung

Objektorientierter Stil

public string NumberFormatter::getSymbol ( int $attr )

Prozeduraler Stil

string numfmt_get_symbol ( NumberFormatter $fmt , int $attr )

Get a symbol associated with the formatter. The formatter uses symbols to represent the special locale-dependent characters in a number, for example the percent sign. This API is not supported for rule-based formatters.

Parameter-Liste

fmt

NumberFormatter object.

attr

Symbol specifier, one of the format symbol constants.

Rückgabewerte

The symbol string or FALSE on error.

Beispiele

Beispiel #1 numfmt_get_symbol() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Sep: ".numfmt_get_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL, "*");
echo "Sep: ".numfmt_get_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Beispiel #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Sep: ".$fmt->getSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL, "*");
echo "Sep: ".$fmt->getSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Sep: .
1.234.567,891
Sep: *
1*234*567,891

Siehe auch

  • numfmt_get_error_code() - Get formatter's last error code.
  • numfmt_set_symbol() - Set a symbol value

NumberFormatter::getPattern
NumberFormatter::getTextAttribute
NumberFormatter


Get a text attribute

NumberFormatter::getSymbol
NumberFormatter::parseCurrency
NumberFormatter
PHP Manual

NumberFormatter::getTextAttribute

numfmt_get_text_attribute

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

NumberFormatter::getTextAttribute -- numfmt_get_text_attribute — Get a text attribute

Beschreibung

Objektorientierter Stil

public string NumberFormatter::getTextAttribute ( int $attr )

Prozeduraler Stil

string numfmt_get_text_attribute ( NumberFormatter $fmt , int $attr )

Get a text attribute associated with the formatter. An example of a text attribute is the suffix for positive numbers. If the formatter does not understand the attribute, U_UNSUPPORTED_ERROR error is produced. Rule-based formatters only understand NumberFormatter::DEFAULT_RULESET and NumberFormatter::PUBLIC_RULESETS.

Parameter-Liste

fmt

NumberFormatter object.

attr

Attribute specifier - one of the text attribute constants.

Rückgabewerte

Return attribute value on success, or FALSE on error.

Beispiele

Beispiel #1 numfmt_get_text_attribute() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Prefix: ".numfmt_get_text_attribute($fmt, NumberFormatter::NEGATIVE_PREFIX)."\n";
echo numfmt_format($fmt, -1234567.891234567890000)."\n";
numfmt_set_text_attribute($fmt, NumberFormatter::NEGATIVE_PREFIX, "MINUS");
echo "Prefix: ".numfmt_get_text_attribute($fmt, NumberFormatter::NEGATIVE_PREFIX)."\n";
echo numfmt_format($fmt, -1234567.891234567890000)."\n";
?>

Beispiel #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Prefix: ".$fmt->getTextAttribute(NumberFormatter::NEGATIVE_PREFIX)."\n";
echo $fmt->format(-1234567.891234567890000)."\n";
$fmt->setTextAttribute(NumberFormatter::NEGATIVE_PREFIX, "MINUS");
echo "Prefix: ".$fmt->getTextAttribute(NumberFormatter::NEGATIVE_PREFIX)."\n";
echo $fmt->format(-1234567.891234567890000)."\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Prefix: -
-1.234.567,891
Prefix: MINUS
MINUS1.234.567,891

Siehe auch

  • numfmt_get_error_code() - Get formatter's last error code.
  • numfmt_get_attribute() - Get an attribute
  • numfmt_set_text_attribute() - Set a text attribute

NumberFormatter::getSymbol
NumberFormatter::parseCurrency
NumberFormatter


Parse a currency number

NumberFormatter::getTextAttribute
NumberFormatter::parse
NumberFormatter
PHP Manual

NumberFormatter::parseCurrency

numfmt_parse_currency

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

NumberFormatter::parseCurrency -- numfmt_parse_currency — Parse a currency number

Beschreibung

Objektorientierter Stil

public float NumberFormatter::parseCurrency ( string $value , string &$currency [, int &$position ] )

Prozeduraler Stil

float numfmt_parse_currency ( NumberFormatter $fmt , string $value , string &$currency [, int &$position ] )

Parse a string into a double and a currency using the current formatter.

Parameter-Liste

fmt

NumberFormatter object.

currency

Parameter to receive the currency name (3-letter ISO 4217 currency code).

position

Offset in the string at which to begin parsing. On return, this value will hold the offset at which parsing ended.

Rückgabewerte

The parsed numeric value or FALSE on error.

Beispiele

Beispiel #1 numfmt_parse_currency() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::CURRENCY );
$num = "1.234.567,89\xc2\xa0$";
echo "We have ".numfmt_parse_currency($fmt, $num, $curr)." in $curr\n";
?>

Beispiel #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::CURRENCY );
$num = "1.234.567,89\xc2\xa0$";
echo "We have ".$fmt->parseCurrency($num, $curr)." in $curr\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

We have 1234567.89 in USD

Siehe auch

  • numfmt_get_error_code() - Get formatter's last error code.
  • numfmt_parse() - Parse a number
  • numfmt_format_currency() - Format a currency value

NumberFormatter::getTextAttribute
NumberFormatter::parse
NumberFormatter


Parse a number

NumberFormatter::parseCurrency
NumberFormatter::setAttribute
NumberFormatter
PHP Manual

NumberFormatter::parse

numfmt_parse

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

NumberFormatter::parse -- numfmt_parse — Parse a number

Beschreibung

Objektorientierter Stil

public mixed NumberFormatter::parse ( string $value [, int $type [, int &$position ]] )

Prozeduraler Stil

mixed numfmt_parse ( NumberFormatter $fmt , string $value [, int $type [, int &$position ]] )

Parse a string into a number using the current formatter rules.

Parameter-Liste

fmt

NumberFormatter object.

type

The formatting type to use. By default, NumberFormatter::TYPE_DOUBLE is used.

position

Offset in the string at which to begin parsing. On return, this value will hold the offset at which parsing ended.

Rückgabewerte

The value of the parsed number or FALSE on error.

Beispiele

Beispiel #1 numfmt_parse() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
$num = "1.234.567,891";
echo numfmt_parse($fmt, $num)."\n";
echo numfmt_parse($fmt, $num, NumberFormatter::TYPE_INT32)."\n";
?>

Beispiel #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
$num = "1.234.567,891";
echo $fmt->parse($num)."\n";
echo $fmt->parse($num, NumberFormatter::TYPE_INT32)."\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1234567.891
1234567

Siehe auch

  • numfmt_get_error_code() - Get formatter's last error code.
  • numfmt_format() - Format a number
  • numfmt_parse_currency() - Parse a currency number

NumberFormatter::parseCurrency
NumberFormatter::setAttribute
NumberFormatter


Set an attribute

NumberFormatter::parse
NumberFormatter::setPattern
NumberFormatter
PHP Manual

NumberFormatter::setAttribute

numfmt_set_attribute

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

NumberFormatter::setAttribute -- numfmt_set_attribute — Set an attribute

Beschreibung

Objektorientierter Stil

public bool NumberFormatter::setAttribute ( int $attr , int $value )

Prozeduraler Stil

bool numfmt_set_attribute ( NumberFormatter $fmt , int $attr , int $value )

Set a numeric attribute associated with the formatter. An example of a numeric attribute is the number of integer digits the formatter will produce.

Parameter-Liste

fmt

NumberFormatter object.

attr

Attribute specifier - one of the numeric attribute constants.

value

The attribute value.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 numfmt_set_attribute() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Digits: ".numfmt_get_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS, 2);
echo "Digits: ".numfmt_get_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Beispiel #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Digits: ".$fmt->getAttribute(NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setAttribute(NumberFormatter::MAX_FRACTION_DIGITS, 2);
echo "Digits: ".$fmt->getAttribute(NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Digits: 3
1.234.567,891
Digits: 2
1.234.567,89

Siehe auch

  • numfmt_get_error_code() - Get formatter's last error code.
  • numfmt_get_attribute() - Get an attribute
  • numfmt_set_text_attribute() - Set a text attribute

NumberFormatter::parse
NumberFormatter::setPattern
NumberFormatter


Set formatter pattern

NumberFormatter::setAttribute
NumberFormatter::setSymbol
NumberFormatter
PHP Manual

NumberFormatter::setPattern

numfmt_set_pattern

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

NumberFormatter::setPattern -- numfmt_set_pattern — Set formatter pattern

Beschreibung

Objektorientierter Stil

public bool NumberFormatter::setPattern ( string $pattern )

Prozeduraler Stil

bool numfmt_set_pattern ( NumberFormatter $fmt , string $pattern )

Set the pattern used by the formatter. Can not be used on a rule-based formatter.

Parameter-Liste

fmt

NumberFormatter object.

pattern

Pattern in syntax described in » ICU DecimalFormat documentation.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 numfmt_set_pattern() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Pattern: ".numfmt_get_pattern($fmt)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_pattern($fmt, "#0.# kg");
echo "Pattern: ".numfmt_get_pattern($fmt)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Beispiel #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Pattern: ".$fmt->getPattern()."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setPattern("#0.# kg");
echo "Pattern: ".$fmt->getPattern()."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Pattern: #,##0.###
1.234.567,891
Pattern: #0.# kg
1234567,9 kg

Siehe auch

  • numfmt_get_error_code() - Get formatter's last error code.
  • numfmt_create() - Create a number formatter
  • numfmt_get_pattern() - Get formatter pattern

NumberFormatter::setAttribute
NumberFormatter::setSymbol
NumberFormatter


Set a symbol value

NumberFormatter::setPattern
NumberFormatter::setTextAttribute
NumberFormatter
PHP Manual

NumberFormatter::setSymbol

numfmt_set_symbol

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

NumberFormatter::setSymbol -- numfmt_set_symbol — Set a symbol value

Beschreibung

Objektorientierter Stil

public bool NumberFormatter::setSymbol ( int $attr , string $value )

Prozeduraler Stil

bool numfmt_set_symbol ( NumberFormatter $fmt , int $attr , string $value )

Set a symbol associated with the formatter. The formatter uses symbols to represent the special locale-dependent characters in a number, for example the percent sign. This API is not supported for rule-based formatters.

Parameter-Liste

fmt

NumberFormatter object.

attr

Symbol specifier, one of the format symbol constants.

value

Text for the symbol.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 numfmt_set_symbol() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Sep: ".numfmt_get_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL, "*");
echo "Sep: ".numfmt_get_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Beispiel #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Sep: ".$fmt->getSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL, "*");
echo "Sep: ".$fmt->getSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Sep: .
1.234.567,891
Sep: *
1*234*567,891

Siehe auch

  • numfmt_get_error_code() - Get formatter's last error code.
  • numfmt_get_symbol() - Get a symbol value

NumberFormatter::setPattern
NumberFormatter::setTextAttribute
NumberFormatter


Set a text attribute

NumberFormatter::setSymbol
Locale
NumberFormatter
PHP Manual

NumberFormatter::setTextAttribute

numfmt_set_text_attribute

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

NumberFormatter::setTextAttribute -- numfmt_set_text_attribute — Set a text attribute

Beschreibung

Objektorientierter Stil

public bool NumberFormatter::setTextAttribute ( int $attr , string $value )

Prozeduraler Stil

bool numfmt_set_text_attribute ( NumberFormatter $fmt , int $attr , string $value )

Set a text attribute associated with the formatter. An example of a text attribute is the suffix for positive numbers. If the formatter does not understand the attribute, U_UNSUPPORTED_ERROR error is produced. Rule-based formatters only understand NumberFormatter::DEFAULT_RULESET and NumberFormatter::PUBLIC_RULESETS.

Parameter-Liste

fmt

NumberFormatter object.

attr

Attribute specifier - one of the text attribute constants.

value

Text for the attribute value.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 numfmt_set_text_attribute() example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Prefix: ".numfmt_get_text_attribute($fmt, NumberFormatter::NEGATIVE_PREFIX)."\n";
echo numfmt_format($fmt, -1234567.891234567890000)."\n";
numfmt_set_text_attribute($fmt, NumberFormatter::NEGATIVE_PREFIX, "MINUS");
echo "Prefix: ".numfmt_get_text_attribute($fmt, NumberFormatter::NEGATIVE_PREFIX)."\n";
echo numfmt_format($fmt, -1234567.891234567890000)."\n";
?>

Beispiel #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Prefix: ".$fmt->getTextAttribute(NumberFormatter::NEGATIVE_PREFIX)."\n";
echo $fmt->format(-1234567.891234567890000)."\n";
$fmt->setTextAttribute(NumberFormatter::NEGATIVE_PREFIX, "MINUS");
echo "Prefix: ".$fmt->getTextAttribute(NumberFormatter::NEGATIVE_PREFIX)."\n";
echo $fmt->format(-1234567.891234567890000)."\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Prefix: -
-1.234.567,891
Prefix: MINUS
MINUS1.234.567,891

Siehe auch

  • numfmt_get_error_code() - Get formatter's last error code.
  • numfmt_get_text_attribute() - Get a text attribute
  • numfmt_set_attribute() - Set an attribute

NumberFormatter::setSymbol
Locale
NumberFormatter


The Locale class

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Einführung

A "Locale" is an identifier used to get language, culture, or regionally-specific behavior from an API. PHP locales are organized and identified the same way that the CLDR locales used by ICU (and many vendors of Unix-like operating systems, the Mac, Java, and so forth) use. Locales are identified using RFC 4646 language tags (which use hyphen, not underscore) in addition to the more traditional underscore-using identifiers. Unless otherwise noted the functions in this class are tolerant of both formats.

Examples of identifiers include:

  • en-US (English, United States)
  • zh-Hant-TW (Chinese, Traditional Script, Taiwan)
  • fr-CA, fr-FR (French for Canada and France respectively)

The Locale class (and related procedural functions) are used to interact with locale identifiers--to verify that an ID is well-formed, valid, etc. The extensions used by CLDR in UAX #35 (and inherited by ICU) are valid and used wherever they would be in ICU normally.

Locales cannot be instantiated as objects. All of the functions/methods provided are static.

The null or empty string obtains the "root" locale. The "root" locale is equivalent to "en_US_POSIX" in CLDR. Language tags (and thus locale identifiers) are case insensitive. There exists a canonicalization function to make case match the specification.

Klassenbeschreibung

Locale {
/* Methoden */
public static string acceptFromHttp ( string $header )
public static string canonicalize ( string $locale )
public static string composeLocale ( array $subtags )
public static bool filterMatches ( string $langtag , string $locale [, bool $canonicalize = false ] )
public static array getAllVariants ( string $locale )
public static string getDefault ( void )
public static string getDisplayLanguage ( string $locale [, string $in_locale ] )
public static string getDisplayName ( string $locale [, string $in_locale ] )
public static string getDisplayRegion ( string $locale [, string $in_locale ] )
public static string getDisplayScript ( string $locale [, string $in_locale ] )
public static string getDisplayVariant ( string $locale [, string $in_locale ] )
public static array getKeywords ( string $locale )
public static string getPrimaryLanguage ( string $locale )
public static string getRegion ( string $locale )
public static string getScript ( string $locale )
public static string lookup ( array $langtag , string $locale [, bool $canonicalize = false [, string $default ]] )
public static array parseLocale ( string $locale )
public static bool setDefault ( string $locale )
}

Vordefinierte Konstanten

Locale::DEFAULT_LOCALE (null)
Used as locale parameter with the methods of the various locale affected classes, such as NumberFormatter. This constant would make the methods to use default locale.

These constants describe the choice of the locale for getLocalte method of different classes.

Locale::ACTUAL_LOCALE (string)
This is locale the data actually comes from.
Locale::VALID_LOCALE (string)
This is the most specific locale supported by ICU.

These constants define how the Locales are parsed or composed. They should be used as keys in the argument array to locale_compose() and are returned from locale_parse() as keys of the returned associative array.

Locale::LANG_TAG (string)
Language subtag
Locale::EXTLANG_TAG (string)
Extended language subtag
Locale::SCRIPT_TAG (string)
Script subtag
Locale::REGION_TAG (string)
Region subtag
Locale::VARIANT_TAG (string)
Variant subtag
Locale::GRANDFATHERED_LANG_TAG (string)
Grandfathered Language subtag
Locale::PRIVATE_TAG (string)
Private subtag

Siehe auch

  • » RFC 4646 - Tags for Identifying Languages
  • » RFC 4647 - Matching of Language Tags
  • » Unicode CLDR Project:Common Locale Data Repository
  • » IANA Language Subtags Registry
  • » ICU User Guide - Locale
  • » ICU Locale api

Inhaltsverzeichnis

  • Locale::acceptFromHttp — Tries to find out best available locale based on HTTP "Accept-Language" header
  • Locale::canonicalize — Canonicalize the locale string
  • Locale::composeLocale — Returns a correctly ordered and delimited locale ID
  • Locale::filterMatches — Checks if a language tag filter matches with locale
  • Locale::getAllVariants — Gets the variants for the input locale
  • Locale::getDefault — Gets the default locale value from the INTL global 'default_locale'
  • Locale::getDisplayLanguage — Returns an appropriately localized display name for language of the inputlocale
  • Locale::getDisplayName — Returns an appropriately localized display name for the input locale
  • Locale::getDisplayRegion — Returns an appropriately localized display name for region of the input locale
  • Locale::getDisplayScript — Returns an appropriately localized display name for script of the input locale
  • Locale::getDisplayVariant — Returns an appropriately localized display name for variants of the input locale
  • Locale::getKeywords — Gets the keywords for the input locale
  • Locale::getPrimaryLanguage — Gets the primary language for the input locale
  • Locale::getRegion — Gets the region for the input locale
  • Locale::getScript — Gets the script for the input locale
  • Locale::lookup — Searches the language tag list for the best match to the language
  • Locale::parseLocale — Returns a key-value array of locale ID subtag elements.
  • Locale::setDefault — sets the default runtime locale
NumberFormatter::setTextAttribute
Locale::acceptFromHttp
intl


Tries to find out best available locale based on HTTP "Accept-Language" header

Locale
Locale::canonicalize
Locale
PHP Manual

Locale::acceptFromHttp

locale_accept_from_http

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::acceptFromHttp -- locale_accept_from_http — Tries to find out best available locale based on HTTP "Accept-Language" header

Beschreibung

Objektorientierter Stil

public static string Locale::acceptFromHttp ( string $header )

Prozeduraler Stil

string locale_accept_from_http ( string $header )

Tries to find locale that can satisfy the language list that is requested by the HTTP "Accept-Language" header.

Parameter-Liste

header

The string containing the "Accept-Language" header according to format in RFC 2616.

Rückgabewerte

The corresponding locale identifier.

Beispiele

Beispiel #1 locale_accept_from_http() example

<?php
$locale = locale_accept_from_http($_SERVER['HTTP_ACCEPT_LANGUAGE']);
echo $locale;
?>

Beispiel #2 OO example

<?php
$locale = Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']);
echo $locale;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

en_US

Siehe auch

  • locale_lookup() - Searches the language tag list for the best match to the language

Locale
Locale::canonicalize
Locale


Canonicalize the locale string

Locale::acceptFromHttp
Locale::composeLocale
Locale
PHP Manual

Locale::canonicalize

locale_canonicalize

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::canonicalize -- locale_canonicalize — Canonicalize the locale string

Beschreibung

public static string Locale::canonicalize ( string $locale )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

locale

Rückgabewerte

Locale::acceptFromHttp
Locale::composeLocale
Locale


Returns a correctly ordered and delimited locale ID

Locale::canonicalize
Locale::filterMatches
Locale
PHP Manual

Locale::composeLocale

locale_compose

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::composeLocale -- locale_compose — Returns a correctly ordered and delimited locale ID

Beschreibung

Objektorientierter Stil

public static string Locale::composeLocale ( array $subtags )

Prozeduraler Stil

string locale_compose ( array $subtags )

Returns a correctly ordered and delimited locale ID the keys identify the particular locale ID subtags, and the values are the associated subtag values.

Parameter-Liste

subtags

an array containing a list of key-value pairs, where the keys identify the particular locale ID subtags, and the values are the associated subtag values.

Hinweis:

The 'variant' and 'private' subtags can take maximum 15 values whereas 'extlang' can take maximum 3 values.e.g. Variants are allowed with the suffix ranging from 0-14. Hence the keys for the input array can be variant0, variant1, ...,variant14. In the returned locale id, the subtag is ordered by suffix resulting in variant0 followed by variant1 followed by variant2 and so on.

The 'variant', 'private' and 'extlang' multiple values can be specified both as array under specific key (e.g. 'variant') and as multiple numbered keys (e.g. 'variant0', 'variant1', etc.).

Rückgabewerte

The corresponding locale identifier.

Beispiele

Beispiel #1 locale_compose() example

<?php
$arr = array(
    'language'=>'en' ,
    'script'  =>'Hans' ,
    'region'  =>'CN',
    'variant2'=>'rozaj' ,
    'variant1'=>'nedis' ,
    'private1'=>'prv1' ,
    'private2'=>'prv2'
);
echo locale_compose( $arr );
?>

Beispiel #2 OO example

<?php
$arr = array(
    'language'=>'en' ,
    'script'  =>'Hans' ,
    'region'  =>'CN',
    'variant2'=>'rozaj' ,
    'variant1'=>'nedis' ,
    'private1'=>'prv1' ,
    'private2'=>'prv2'
);
echo Locale::composeLocale( $arr );
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Locale: en_Hans_CN_nedis_rozaj_x_prv1_prv2

Siehe auch

  • locale_parse() - Returns a key-value array of locale ID subtag elements.

Locale::canonicalize
Locale::filterMatches
Locale


Checks if a language tag filter matches with locale

Locale::composeLocale
Locale::getAllVariants
Locale
PHP Manual

Locale::filterMatches

locale_filter_matches

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::filterMatches -- locale_filter_matches — Checks if a language tag filter matches with locale

Beschreibung

Objektorientierter Stil

public static bool Locale::filterMatches ( string $langtag , string $locale [, bool $canonicalize = false ] )

Prozeduraler Stil

bool locale_filter_matches ( string $langtag , string $locale [, bool $canonicalize = false ] )

Checks if a $langtag filter matches with $locale according to RFC 4647's basic filtering algorithm

Parameter-Liste

langtag

The language tag to check

locale

The language range to check against

canonicalize

If true, the arguments will be converted to canonical form before matching.

Rückgabewerte

TRUE if $locale matches $langtag FALSE otherwise.

Beispiele

Beispiel #1 locale_filter_matches() example

<?php
echo (locale_filter_matches('de-DEVA','de-DE', false)) ? "Matches" : "Does not match";
echo '; ';
echo (locale_filter_matches('de-DE_1996','de-DE', false)) ? "Matches" : "Does not match";
?>

Beispiel #2 OO example

<?php
echo (Locale::filterMatches('de-DEVA','de-DE', false)) ? "Matches" : "Does not match";
echo '; ';
echo (Locale::filterMatches('de-DE-1996','de-DE', false)) ? "Matches" : "Does not match";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Does not match; Matches

Siehe auch

  • locale_lookup() - Searches the language tag list for the best match to the language

Locale::composeLocale
Locale::getAllVariants
Locale


Gets the variants for the input locale

Locale::filterMatches
Locale::getDefault
Locale
PHP Manual

Locale::getAllVariants

locale_get_all_variants

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::getAllVariants -- locale_get_all_variants — Gets the variants for the input locale

Beschreibung

Objektorientierter Stil

public static array Locale::getAllVariants ( string $locale )

Prozeduraler Stil

array locale_get_all_variants ( string $locale )

Gets the variants for the input locale

Parameter-Liste

locale

The locale to extract the variants from

Rückgabewerte

The array containing the list of all variants subtag for the locale or NULL if not present

Beispiele

Beispiel #1 locale_get_all_variants() example

<?php
$arr = locale_get_all_variants('sl_IT_NEDIS_ROJAZ_1901');
var_export( $arr );
?>

Beispiel #2 OO example

<?php
 $arr = Locale::getAllVariants('sl_IT_NEDIS_ROJAZ_1901');
 var_export( $arr );
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array (
    0 => 'NEDIS',
    1 => 'ROJAZ',
    2 => '1901',
)

Siehe auch

  • locale_get_primary_language() - Gets the primary language for the input locale
  • locale_get_script() - Gets the script for the input locale
  • locale_get_region() - Gets the region for the input locale

Locale::filterMatches
Locale::getDefault
Locale


Gets the default locale value from the INTL global 'default_locale'

Locale::getAllVariants
Locale::getDisplayLanguage
Locale
PHP Manual

Locale::getDefault

locale_get_default

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::getDefault -- locale_get_default — Gets the default locale value from the INTL global 'default_locale'

Beschreibung

Objektorientierter Stil

public static string Locale::getDefault ( void )

Prozeduraler Stil

string locale_get_default ( void )

Gets the default locale value. At the PHP initialization this value is set to 'intl.default_locale' value from php.ini if that value exists or from ICU's function uloc_getDefault().

Parameter-Liste

Rückgabewerte

The current runtime locale

Beispiele

Beispiel #1 locale_get_default() example

<?php
ini_set('intl.default_locale', 'de-DE');
echo locale_get_default();
echo '; ';
locale_set_default('fr');
echo locale_get_default();
?>

Beispiel #2 OO example

<?php
ini_set('intl.default_locale', 'de-DE');
echo Locale::getDefault();
echo '; ';
Locale::setDefault('fr');
echo Locale::getDefault();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

de-DE; fr

Siehe auch

  • locale_set_default() - sets the default runtime locale

Locale::getAllVariants
Locale::getDisplayLanguage
Locale


Returns an appropriately localized display name for language of the inputlocale

Locale::getDefault
Locale::getDisplayName
Locale
PHP Manual

Locale::getDisplayLanguage

locale_get_display_language

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::getDisplayLanguage -- locale_get_display_language — Returns an appropriately localized display name for language of the inputlocale

Beschreibung

Objektorientierter Stil

public static string Locale::getDisplayLanguage ( string $locale [, string $in_locale ] )

Prozeduraler Stil

string locale_get_display_language ( string $locale [, string $in_locale ] )

Returns an appropriately localized display name for language of the input locale. If is NULL then the default locale is used.

Parameter-Liste

locale

The locale to return a display language for

in_locale

Optional format locale to use to display the language name

Rückgabewerte

display name of the language for the $locale in the format appropriate for $in_locale.

Beispiele

Beispiel #1 locale_get_display_language() example

<?php
echo locale_get_display_language('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo locale_get_display_language('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo locale_get_display_language('sl-Latn-IT-nedis', 'de');
?>

Beispiel #2 OO example

<?php
echo Locale::getDisplayLanguage('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo Locale::getDisplayLanguage('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo Locale::getDisplayLanguage('sl-Latn-IT-nedis', 'de');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Slovenian;
slov\xc3\xa8ne;
Slowenisch

Siehe auch

  • locale_get_display_name() - Returns an appropriately localized display name for the input locale
  • locale_get_display_script() - Returns an appropriately localized display name for script of the input locale
  • locale_get_display_region() - Returns an appropriately localized display name for region of the input locale
  • locale_get_display_variant() - Returns an appropriately localized display name for variants of the input locale

Locale::getDefault
Locale::getDisplayName
Locale


Returns an appropriately localized display name for the input locale

Locale::getDisplayLanguage
Locale::getDisplayRegion
Locale
PHP Manual

Locale::getDisplayName

locale_get_display_name

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::getDisplayName -- locale_get_display_name — Returns an appropriately localized display name for the input locale

Beschreibung

Objektorientierter Stil

public static string Locale::getDisplayName ( string $locale [, string $in_locale ] )

Prozeduraler Stil

string locale_get_display_name ( string $locale [, string $in_locale ] )

Returns an appropriately localized display name for the input locale. If is NULL then the default locale is used.

Parameter-Liste

locale

The locale to return a display name for.

in_locale

optional format locale

Rückgabewerte

Display name of the locale in the format appropriate for $in_locale.

Beispiele

Beispiel #1 locale_get_display_name() example

<?php
echo locale_get_display_name('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo locale_get_display_name('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo locale_get_display_name('sl-Latn-IT-nedis', 'de');
?>

Beispiel #2 OO example

<?php
echo Locale::getDisplayName('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo Locale::getDisplayName('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo Locale::getDisplayName('sl-Latn-IT-nedis', 'de');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Slovenian (Latin, Italy, Natisone dialect);
slov\xc3\xa8ne (latin, Italie, dialecte de Natisone;
Slowenisch (Lateinisch, Italien, NEDIS)

Siehe auch

  • locale_get_display_language() - Returns an appropriately localized display name for language of the inputlocale
  • locale_get_display_script() - Returns an appropriately localized display name for script of the input locale
  • locale_get_display_region() - Returns an appropriately localized display name for region of the input locale
  • locale_get_display_variant() - Returns an appropriately localized display name for variants of the input locale

Locale::getDisplayLanguage
Locale::getDisplayRegion
Locale


Returns an appropriately localized display name for region of the input locale

Locale::getDisplayName
Locale::getDisplayScript
Locale
PHP Manual

Locale::getDisplayRegion

locale_get_display_region

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::getDisplayRegion -- locale_get_display_region — Returns an appropriately localized display name for region of the input locale

Beschreibung

Objektorientierter Stil

public static string Locale::getDisplayRegion ( string $locale [, string $in_locale ] )

Prozeduraler Stil

string locale_get_display_region ( string $locale [, string $in_locale ] )

Returns an appropriately localized display name for region of the input locale. If is NULL then the default locale is used.

Parameter-Liste

locale

The locale to return a display region for.

in_locale

Optional format locale to use to display the region name

Rückgabewerte

display name of the region for the $locale in the format appropriate for $in_locale.

Beispiele

Beispiel #1 locale_get_display_region() example

<?php
echo locale_get_display_region('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo locale_get_display_region('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo locale_get_display_region('sl-Latn-IT-nedis', 'de');
?>

Beispiel #2 OO example

<?php
echo Locale::getDisplayRegion('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo Locale::getDisplayRegion('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo Locale::getDisplayRegion('sl-Latn-IT-nedis', 'de');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Italy;
Italie;
Italien

Siehe auch

  • locale_get_display_name() - Returns an appropriately localized display name for the input locale
  • locale_get_display_language() - Returns an appropriately localized display name for language of the inputlocale
  • locale_get_display_script() - Returns an appropriately localized display name for script of the input locale
  • locale_get_display_variant() - Returns an appropriately localized display name for variants of the input locale

Locale::getDisplayName
Locale::getDisplayScript
Locale


Returns an appropriately localized display name for script of the input locale

Locale::getDisplayRegion
Locale::getDisplayVariant
Locale
PHP Manual

Locale::getDisplayScript

locale_get_display_script

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::getDisplayScript -- locale_get_display_script — Returns an appropriately localized display name for script of the input locale

Beschreibung

Objektorientierter Stil

public static string Locale::getDisplayScript ( string $locale [, string $in_locale ] )

Prozeduraler Stil

string locale_get_display_script ( string $locale [, string $in_locale ] )

Returns an appropriately localized display name for script of the input locale. If is NULL then the default locale is used.

Parameter-Liste

locale

The locale to return a display script for

in_locale

Optional format locale to use to display the script name

Rückgabewerte

Display name of the script for the $locale in the format appropriate for $in_locale.

Beispiele

Beispiel #1 locale_get_display_script() example

<?php
echo locale_get_display_script('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo locale_get_display_script('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo locale_get_display_script('sl-Latn-IT-nedis', 'de');
?>

Beispiel #2 OO example

<?php
echo Locale::getDisplayScript('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo Locale::getDisplayScript('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo Locale::getDisplayScript('sl-Latn-IT-nedis', 'de');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Latin;
latin;
Lateinisch

Siehe auch

  • locale_get_display_name() - Returns an appropriately localized display name for the input locale
  • locale_get_display_language() - Returns an appropriately localized display name for language of the inputlocale
  • locale_get_display_region() - Returns an appropriately localized display name for region of the input locale
  • locale_get_display_variant() - Returns an appropriately localized display name for variants of the input locale

Locale::getDisplayRegion
Locale::getDisplayVariant
Locale


Returns an appropriately localized display name for variants of the input locale

Locale::getDisplayScript
Locale::getKeywords
Locale
PHP Manual

Locale::getDisplayVariant

locale_get_display_variant

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::getDisplayVariant -- locale_get_display_variant — Returns an appropriately localized display name for variants of the input locale

Beschreibung

Objektorientierter Stil

public static string Locale::getDisplayVariant ( string $locale [, string $in_locale ] )

Prozeduraler Stil

string locale_get_display_variant ( string $locale [, string $in_locale ] )

Returns an appropriately localized display name for variants of the input locale. If is NULL then the default locale is used.

Parameter-Liste

locale

The locale to return a display variant for

in_locale

Optional format locale to use to display the variant name

Rückgabewerte

Display name of the variant for the $locale in the format appropriate for $in_locale.

Beispiele

Beispiel #1 locale_get_display_variant() example

<?php
echo locale_get_display_variant('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo locale_get_display_variant('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo locale_get_display_variant('sl-Latn-IT-nedis', 'de');
?>

Beispiel #2 OO example

<?php
echo Locale::getDisplayVariant('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo Locale::getDisplayVariant('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo Locale::getDisplayVariant('sl-Latn-IT-nedis', 'de');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Natisone dialect;
dialecte de Natisone;
NEDIS

Siehe auch

  • locale_get_display_name() - Returns an appropriately localized display name for the input locale
  • locale_get_display_language() - Returns an appropriately localized display name for language of the inputlocale
  • locale_get_display_script() - Returns an appropriately localized display name for script of the input locale
  • locale_get_display_region() - Returns an appropriately localized display name for region of the input locale

Locale::getDisplayScript
Locale::getKeywords
Locale


Gets the keywords for the input locale

Locale::getDisplayVariant
Locale::getPrimaryLanguage
Locale
PHP Manual

Locale::getKeywords

locale_get_keywords

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::getKeywords -- locale_get_keywords — Gets the keywords for the input locale

Beschreibung

Objektorientierter Stil

public static array Locale::getKeywords ( string $locale )

Prozeduraler Stil

array locale_get_keywords ( string $locale )

Gets the keywords for the input locale.

Parameter-Liste

locale

The locale to extract the keywords from

Rückgabewerte

Associative array containing the keyword-value pairs for this locale

Beispiele

Beispiel #1 locale_get_keywords() example

<?php
$keywords_arr = locale_get_keywords( 'de_DE@currency=EUR;collation=PHONEBOOK' );
if ($keywords_arr) {
    foreach ($keywords_arr as $key => $value) {
        echo "$key = $value\n";
    }
}
?>

Beispiel #2 OO example

<?php
$keywords_arr = Locale::getKeywords( 'de_DE@currency=EUR;collation=PHONEBOOK' );
if ($keywords_arr) {
    foreach( $keywords_arr as $key => $value){
        echo "$key = $value\n";
    }
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

collation = PHONEBOOK
currency = EUR

Siehe auch

  • locale_get_all_variants() - Gets the variants for the input locale

Locale::getDisplayVariant
Locale::getPrimaryLanguage
Locale


Gets the primary language for the input locale

Locale::getKeywords
Locale::getRegion
Locale
PHP Manual

Locale::getPrimaryLanguage

locale_get_primary_language

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::getPrimaryLanguage -- locale_get_primary_language — Gets the primary language for the input locale

Beschreibung

Objektorientierter Stil

public static string Locale::getPrimaryLanguage ( string $locale )

Prozeduraler Stil

string locale_get_primary_language ( string $locale )

Gets the primary language for the input locale

Parameter-Liste

locale

The locale to extract the primary language code from

Rückgabewerte

The language code associated with the language or NULL in case of error.

Beispiele

Beispiel #1 locale_get_primary_language() example

<?php
echo locale_get_primary_language('zh-Hant');
?>

Beispiel #2 OO example

<?php
echo Locale::getPrimaryLanguage('zh-Hant');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

zh

Siehe auch

  • locale_get_script() - Gets the script for the input locale
  • locale_get_region() - Gets the region for the input locale
  • locale_get_all_variants() - Gets the variants for the input locale

Locale::getKeywords
Locale::getRegion
Locale


Gets the region for the input locale

Locale::getPrimaryLanguage
Locale::getScript
Locale
PHP Manual

Locale::getRegion

locale_get_region

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::getRegion -- locale_get_region — Gets the region for the input locale

Beschreibung

Objektorientierter Stil

public static string Locale::getRegion ( string $locale )

Prozeduraler Stil

string locale_get_region ( string $locale )

Gets the region for the input locale.

Parameter-Liste

locale

The locale to extract the region code from

Rückgabewerte

The region subtag for the locale or NULL if not present

Beispiele

Beispiel #1 locale_get_region() example

<?php
echo locale_get_region('de-CH-1901');
?>

Beispiel #2 OO example

<?php
echo Locale::getRegion('de-CH-1901');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

CH

Siehe auch

  • locale_get_primary_language() - Gets the primary language for the input locale
  • locale_get_script() - Gets the script for the input locale
  • locale_get_all_variants() - Gets the variants for the input locale

Locale::getPrimaryLanguage
Locale::getScript
Locale


Gets the script for the input locale

Locale::getRegion
Locale::lookup
Locale
PHP Manual

Locale::getScript

locale_get_script

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::getScript -- locale_get_script — Gets the script for the input locale

Beschreibung

Objektorientierter Stil

public static string Locale::getScript ( string $locale )

Prozeduraler Stil

string locale_get_script ( string $locale )

Gets the script for the input locale.

Parameter-Liste

locale

The locale to extract the script code from

Rückgabewerte

The script subtag for the locale or NULL if not present

Beispiele

Beispiel #1 locale_get_script() example

<?php
echo locale_get_script('sr-Cyrl');
?>

Beispiel #2 OO example

<?php
echo Locale::getScript('sr-Cyrl');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Cyrl

Siehe auch

  • locale_get_primary_language() - Gets the primary language for the input locale
  • locale_get_region() - Gets the region for the input locale
  • locale_get_all_variants() - Gets the variants for the input locale

Locale::getRegion
Locale::lookup
Locale


Searches the language tag list for the best match to the language

Locale::getScript
Locale::parseLocale
Locale
PHP Manual

Locale::lookup

locale_lookup

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::lookup -- locale_lookup — Searches the language tag list for the best match to the language

Beschreibung

Objektorientierter Stil

public static string Locale::lookup ( array $langtag , string $locale [, bool $canonicalize = false [, string $default ]] )

Prozeduraler Stil

string locale_lookup ( array $langtag , string $locale [, bool $canonicalize = false [, string $default ]] )

Searches the items in langtag for the best match to the language range specified in locale according to RFC 4647's lookup algorithm.

Parameter-Liste

langtag

An array containing a list of language tags to compare to locale. Maximum 100 items allowed.

locale

The locale to use as the language range when matching.

canonicalize

If true, the arguments will be converted to canonical form before matching.

default

The locale to use if no match is found.

Rückgabewerte

The closest matching language tag or default value.

Beispiele

Beispiel #1 locale_lookup() example

<?php
$arr = array(
    'de-DEVA',
    'de-DE-1996',
    'de',
    'de-De'
);
echo locale_lookup($arr, 'de-DE-1996-x-prv1-prv2', true, 'en_US');
?>

Beispiel #2 OO example

<?php
$arr = array(
    'de-DEVA',
    'de-DE-1996',
    'de',
    'de-De'
);
echo Locale::lookup($arr, 'de-DE-1996-x-prv1-prv2', true, 'en_US');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

de_de_1996

Siehe auch

  • locale_filter_matches() - Checks if a language tag filter matches with locale

Locale::getScript
Locale::parseLocale
Locale


Returns a key-value array of locale ID subtag elements.

Locale::lookup
Locale::setDefault
Locale
PHP Manual

Locale::parseLocale

locale_parse

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::parseLocale -- locale_parse — Returns a key-value array of locale ID subtag elements.

Beschreibung

Objektorientierter Stil

public static array Locale::parseLocale ( string $locale )

Prozeduraler Stil

array locale_parse ( string $locale )

Returns a key-value array of locale ID subtag elements.

Parameter-Liste

locale

The locale to extract the subtag array from. Note: The 'variant' and 'private' subtags can take maximum 15 values whereas 'extlang' can take maximum 3 values.

Rückgabewerte

Returns an array containing a list of key-value pairs, where the keys identify the particular locale ID subtags, and the values are the associated subtag values. The array will be ordered as the locale id subtags e.g. in the locale id if variants are '-varX-varY-varZ' then the returned array will have variant0=>varX , variant1=>varY , variant2=>varZ

Beispiele

Beispiel #1 locale_parse() example

<?php
$arr = locale_parse('sl-Latn-IT-nedis');
if ($arr) {
    foreach ($arr as $key => $value) {
        echo "$key : $value , ";
    }
}
?>

Beispiel #2 OO example

<?php
$arr = Locale::parseLocale('sl-Latn-IT-nedis');
if ($arr) {
    foreach ($arr as $key => $value) {
        echo "$key : $value , ";
    }
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

language : sl , script : Latn , region : IT , variant0 : NEDIS ,

Siehe auch

  • locale_compose() - Returns a correctly ordered and delimited locale ID

Locale::lookup
Locale::setDefault
Locale


sets the default runtime locale

Locale::parseLocale
Normalizer
Locale
PHP Manual

Locale::setDefault

locale_set_default

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Locale::setDefault -- locale_set_default — sets the default runtime locale

Beschreibung

Objektorientierter Stil

public static bool Locale::setDefault ( string $locale )

Prozeduraler Stil

bool locale_set_default ( string $locale )

Sets the default runtime locale to $locale. This changes the value of INTL global 'default_locale' locale identifier. UAX #35 extensions are accepted.

Parameter-Liste

locale

Is a BCP 47 compliant language tag.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 locale_set_default() example

<?php
locale_set_default('de-DE');
echo locale_get_default();
?>

Beispiel #2 OO example

<?php
Locale::setDefault('de-DE');
echo Locale::getDefault();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

de-DE

Siehe auch

  • locale_get_default() - Gets the default locale value from the INTL global 'default_locale'

Locale::parseLocale
Normalizer
Locale


The Normalizer class

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Einführung

Normalization is a process that involves transforming characters and sequences of characters into a formally-defined underlying representation. This process is most important when text needs to be compared for sorting and searching, but it is also used when storing text to ensure that the text is stored in a consistent representation.

The Unicode Consortium has defined a number of normalization forms reflecting the various needs of applications:

  • Normalization Form D (NFD) - Canonical Decomposition
  • Normalization Form C (NFC) - Canonical Decomposition followed by Canonical Composition
  • Normalization Form KD (NFKD) - Compatibility Decomposition
  • Normalization Form KC (NFKC) - Compatibility Decomposition followed by Canonical Composition
The different forms are defined in terms of a set of transformations on the text, transformations that are expressed by both an algorithm and a set of data files.

Klassenbeschreibung

Normalizer {
/* Methoden */
public static bool isNormalized ( string $input [, int $form = Normalizer::FORM_C ] )
public static string normalize ( string $input [, int $form = Normalizer::FORM_C ] )
}

Vordefinierte Konstanten

The following constants define the normalization form used by the normalizer:

Normalizer::FORM_C (integer)
Normalization Form C (NFC) - Canonical Decomposition followed by Canonical Composition
Normalizer::FORM_D (integer)
Normalization Form D (NFD) - Canonical Decomposition
Normalizer::FORM_KC (integer)
Normalization Form KC (NFKC) - Compatibility Decomposition, followed by Canonical Composition
Normalizer::FORM_KD (integer)
Normalization Form KD (NFKD) - Compatibility Decomposition
Normalizer::NONE (integer)
No decomposition/composition
Normalizer::OPTION_DEFAULT (integer)
Default normalization options

Siehe auch

  • » Unicode Normalization
  • » Unicode Normalization FAQ
  • » ICU User Guide - Normalization
  • » ICU API Reference - Normalization

Inhaltsverzeichnis

  • Normalizer::isNormalized — Checks if the provided string is already in the specified normalization form.
  • Normalizer::normalize — Normalizes the input provided and returns the normalized string
Locale::setDefault
Normalizer::isNormalized
intl


Checks if the provided string is already in the specified normalization form.

Normalizer
Normalizer::normalize
Normalizer
PHP Manual

Normalizer::isNormalized

normalizer_is_normalized

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Normalizer::isNormalized -- normalizer_is_normalized — Checks if the provided string is already in the specified normalization form.

Beschreibung

Objektorientierter Stil

public static bool Normalizer::isNormalized ( string $input [, int $form = Normalizer::FORM_C ] )

Prozeduraler Stil

bool normalizer_is_normalized ( string $input [, int $form = Normalizer::FORM_C ] )

Checks if the provided string is already in the specified normalization form.

Parameter-Liste

input

The input string to normalize

form

One of the normalization forms.

Rückgabewerte

TRUE if normalized, FALSE otherwise or if there an error

Beispiele

Beispiel #1 normalizer_is_normalized() example

<?php
$char_A_ring = "\xC3\x85"; // 'LATIN CAPITAL LETTER A WITH RING ABOVE' (U+00C5)
$char_combining_ring_above = "\xCC\x8A";  // 'COMBINING RING ABOVE' (U+030A)

$char_orig = 'A' . $char_combining_ring_above;
$char_norm = normalizer_normalize( 'A' . $char_combining_ring_above, Normalizer::FORM_C );

echo ( normalizer_is_normalized($char_orig, Normalizer::FORM_C) ) ? "normalized" : "not normalized";
echo '; ';
echo ( normalizer_is_normalized($char_norm, Normalizer::FORM_C) ) ? "normalized" : "not normalized";
?>

Beispiel #2 OO example

<?php
$char_A_ring = "\xC3\x85"; // 'LATIN CAPITAL LETTER A WITH RING ABOVE' (U+00C5)
$char_combining_ring_above = "\xCC\x8A";  // 'COMBINING RING ABOVE' (U+030A)

$char_orig = 'A' . $char_combining_ring_above;
$char_norm = Normalizer::normalize( 'A' . $char_combining_ring_above, Normalizer::FORM_C );

echo ( Normalizer::isNormalized($char_orig, Normalizer::FORM_C) ) ? "normalized" : "not normalized";
echo '; ';
echo ( Normalizer::isNormalized($char_norm, Normalizer::FORM_C) ) ? "normalized" : "not normalized";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

not normalized; normalized

Siehe auch

  • normalizer_normalize() - Normalizes the input provided and returns the normalized string

Normalizer
Normalizer::normalize
Normalizer


Normalizes the input provided and returns the normalized string

Normalizer::isNormalized
MessageFormatter
Normalizer
PHP Manual

Normalizer::normalize

normalizer_normalize

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Normalizer::normalize -- normalizer_normalize — Normalizes the input provided and returns the normalized string

Beschreibung

Objektorientierter Stil

public static string Normalizer::normalize ( string $input [, int $form = Normalizer::FORM_C ] )

Prozeduraler Stil

string normalizer_normalize ( string $input [, int $form = Normalizer::FORM_C ] )

Normalizes the input provided and returns the normalized string

Parameter-Liste

input

The input string to normalize

form

One of the normalization forms.

Rückgabewerte

The normalized string or FALSE if an error occurred.

Beispiele

Beispiel #1 normalizer_normalize() example

<?php
$char_A_ring = "\xC3\x85"; // 'LATIN CAPITAL LETTER A WITH RING ABOVE' (U+00C5)
$char_combining_ring_above = "\xCC\x8A";  // 'COMBINING RING ABOVE' (U+030A)

$char_1 = normalizer_normalize( $char_A_ring, Normalizer::FORM_C );
$char_2 = normalizer_normalize( 'A' . $char_combining_ring_above, Normalizer::FORM_C );

echo urlencode($char_1);
echo ' ';
echo urlencode($char_2);
?>

Beispiel #2 OO example

<?php
$char_A_ring = "\xC3\x85"; // 'LATIN CAPITAL LETTER A WITH RING ABOVE' (U+00C5)
$char_combining_ring_above = "\xCC\x8A";  // 'COMBINING RING ABOVE' (U+030A)

$char_1 = Normalizer::normalize( $char_A_ring, Normalizer::FORM_C );
$char_2 = Normalizer::normalize( 'A' . $char_combining_ring_above, Normalizer::FORM_C );

echo urlencode($char_1);
echo ' ';
echo urlencode($char_2);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

%C3%85 %C3%85

Siehe auch

  • normalizer_is_normalized() - Checks if the provided string is already in the specified normalization form.

Normalizer::isNormalized
MessageFormatter
Normalizer


The MessageFormatter class

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Einführung

MessageFormatter is a concrete class that enables users to produce concatenated, language-neutral messages. The methods supplied in this class are used to build all the messages that are seen by end users.

The MessageFormatter class assembles messages from various fragments (such as text fragments, numbers, and dates) supplied by the program. Because of the MessageFormatter class, the program does not need to know the order of the fragments. The class uses the formatting specifications for the fragments to assemble them into a message that is contained in a single string within a resource bundle. For example, MessageFormatter enables you to print the phrase "Finished printing x out of y files..." in a manner that still allows for flexibility in translation.

Previously, an end user message was created as a sentence and handled as a string. This procedure created problems for localizers because the sentence structure, word order, number format and so on are very different from language to language. The language-neutral way to create messages keeps each part of the message separate and provides keys to the data. Using these keys, the MessageFormatter class can concatenate the parts of the message, localize them, and display a well-formed string to the end user.

MessageFormatter takes a set of objects, formats them, and then inserts the formatted strings into the pattern at the appropriate places. Choice formats can be used in conjunction with MessageFormatter to handle plurals, match numbers, and select from an array of items. Typically, the message format will come from resources and the arguments will be dynamically set at runtime.

Klassenbeschreibung

MessageFormatter {
/* Methoden */
public __construct ( string $locale , string $pattern )
public static MessageFormatter create ( string $locale , string $pattern )
public static string formatMessage ( string $locale , string $pattern , array $args )
public string format ( array $args )
public int getErrorCode ( void )
public string getErrorMessage ( void )
public string getLocale ( void )
public string getPattern ( void )
public static array parseMessage ( string $locale , string $pattern , string $source )
public array parse ( string $value )
public bool setPattern ( string $pattern )
}

Siehe auch

  • » ICU formatting documentation
  • » ICU message formatting description
  • » ICU message formatters
  • » ICU choice formatters

Inhaltsverzeichnis

  • MessageFormatter::create — Constructs a new Message Formatter
  • MessageFormatter::formatMessage — Quick format message
  • MessageFormatter::format — Format the message
  • MessageFormatter::getErrorCode — Get the error code from last operation
  • MessageFormatter::getErrorMessage — Get the error text from the last operation
  • MessageFormatter::getLocale — Get the locale for which the formatter was created.
  • MessageFormatter::getPattern — Get the pattern used by the formatter
  • MessageFormatter::parseMessage — Quick parse input string
  • MessageFormatter::parse — Parse input string according to pattern
  • MessageFormatter::setPattern — Set the pattern used by the formatter
Normalizer::normalize
MessageFormatter::create
intl


Constructs a new Message Formatter

MessageFormatter
MessageFormatter::formatMessage
MessageFormatter
PHP Manual

MessageFormatter::create

MessageFormatter::__construct

msgfmt_create

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

MessageFormatter::create -- MessageFormatter::__construct -- msgfmt_create — Constructs a new Message Formatter

Beschreibung

Objektorientierter Stil (method)

public static MessageFormatter MessageFormatter::create ( string $locale , string $pattern )

Objektorientierter Stil (constructor):

public MessageFormatter::__construct ( string $locale , string $pattern )

Prozeduraler Stil

MessageFormatter msgfmt_create ( string $locale , string $pattern )

Constructs a new Message Formatter

Parameter-Liste

locale

The locale to use when formatting arguments

pattern

The pattern string to stick arguments into. The pattern uses an 'apostrophe-friendly' syntax; it is run through » umsg_autoQuoteApostrophe before being interpreted.

Rückgabewerte

The formatter object

Beispiele

Beispiel #1 msgfmt_create() example

<?php
$fmt = msgfmt_create("en_US", "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree");
echo msgfmt_format($fmt, array(4560, 123, 4560/123));
$fmt = msgfmt_create("de", "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum");
echo msgfmt_format($fmt, array(4560, 123, 4560/123));
?>

Beispiel #2 OO example

<?php
$fmt = new MessageFormatter("en_US", "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree");
echo $fmt->format(array(4560, 123, 4560/123));
$fmt = new MessageFormatter("de", "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum");
echo $fmt->format(array(4560, 123, 4560/123));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

4,560 monkeys on 123 trees make 37.073 monkeys per tree
4.560 Affen auf 123 Bäumen sind 37,073 Affen pro Baum

Siehe auch

  • msgfmt_format() - Format the message
  • msgfmt_parse() - Parse input string according to pattern
  • msgfmt_get_error_code() - Get the error code from last operation
  • msgfmt_get_error_message() - Get the error text from the last operation

MessageFormatter
MessageFormatter::formatMessage
MessageFormatter


Quick format message

MessageFormatter::create
MessageFormatter::format
MessageFormatter
PHP Manual

MessageFormatter::formatMessage

msgfmt_format_message

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

MessageFormatter::formatMessage -- msgfmt_format_message — Quick format message

Beschreibung

Objektorientierter Stil

public static string MessageFormatter::formatMessage ( string $locale , string $pattern , array $args )

Prozeduraler Stil

string msgfmt_format_message ( string $locale , string $pattern , array $args )

Quick formatting function that formats the string without having to explicitly create the formatter object. Use this function when the format operation is done only once and does not need and parameters or state to be kept.

Parameter-Liste

locale

The locale to use for formatting locale-dependent parts

pattern

The pattern string to insert things into. The pattern uses an 'apostrophe-friendly' syntax; it is run through » umsg_autoQuoteApostrophe before being interpreted.

args

The array of values to insert into the format string

Rückgabewerte

The formatted pattern string or FALSE if an error occurred

Beispiele

Beispiel #1 msgfmt_format_message() example

<?php
echo msgfmt_format_message("en_US", "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree\n", array(4560, 123, 4560/123));
echo msgfmt_format_message("de", "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum\n", array(4560, 123, 4560/123));
?>

Beispiel #2 OO example

<?php
echo MessageFormatter::formatMessage("en_US", "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree\n", array(4560, 123, 4560/123));
echo MessageFormatter::formatMessage("de", "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum\n", array(4560, 123, 4560/123));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

4,560 monkeys on 123 trees make 37.073 monkeys per tree
4.560 Affen auf 123 Bäumen sind 37,073 Affen pro Baum

Siehe auch

  • msgfmt_create() - Constructs a new Message Formatter
  • msgfmt_parse() - Parse input string according to pattern
  • msgfmt_get_error_code() - Get the error code from last operation
  • msgfmt_get_error_message() - Get the error text from the last operation

MessageFormatter::create
MessageFormatter::format
MessageFormatter


Format the message

MessageFormatter::formatMessage
MessageFormatter::getErrorCode
MessageFormatter
PHP Manual

MessageFormatter::format

msgfmt_format

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

MessageFormatter::format -- msgfmt_format — Format the message

Beschreibung

Objektorientierter Stil

public string MessageFormatter::format ( array $args )

Prozeduraler Stil

string msgfmt_format ( MessageFormatter $fmt , array $args )

Format the message by substituting the data into the format string according to the locale rules

Parameter-Liste

fmt

The message formatter

args

Arguments to insert into the format string

Rückgabewerte

The formatted string, or FALSE if an error occurred

Beispiele

Beispiel #1 msgfmt_format() example

<?php
$fmt = msgfmt_create("en_US", "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree");
echo msgfmt_format($fmt, array(4560, 123, 4560/123));
$fmt = msgfmt_create("de", "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum");
echo msgfmt_format($fmt, array(4560, 123, 4560/123));
?>

Beispiel #2 OO example

<?php
$fmt = new MessageFormatter("en_US", "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree");
echo $fmt->format(array(4560, 123, 4560/123));
$fmt = new MessageFormatter("de", "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum");
echo $fmt->format(array(4560, 123, 4560/123));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

4,560 monkeys on 123 trees make 37.073 monkeys per tree
4.560 Affen auf 123 Bäumen sind 37,073 Affen pro Baum

Siehe auch

  • msgfmt_create() - Constructs a new Message Formatter
  • msgfmt_parse() - Parse input string according to pattern
  • msgfmt_format_message() - Quick format message
  • msgfmt_get_error_code() - Get the error code from last operation
  • msgfmt_get_error_message() - Get the error text from the last operation

MessageFormatter::formatMessage
MessageFormatter::getErrorCode
MessageFormatter


Get the error code from last operation

MessageFormatter::format
MessageFormatter::getErrorMessage
MessageFormatter
PHP Manual

MessageFormatter::getErrorCode

msgfmt_get_error_code

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

MessageFormatter::getErrorCode -- msgfmt_get_error_code — Get the error code from last operation

Beschreibung

Objektorientierter Stil

public int MessageFormatter::getErrorCode ( void )

Prozeduraler Stil

int msgfmt_get_error_code ( MessageFormatter $fmt )

Get the error code from last operation.

Parameter-Liste

fmt

The message formatter

Rückgabewerte

The error code, one of UErrorCode values. Initial value is U_ZERO_ERROR.

Beispiele

Beispiel #1 msgfmt_get_error_code() example

<?php
$fmt = msgfmt_create("en_US", "{0, number} monkeys on {1, number} trees");
$str = msgfmt_format($fmt, array());
if(!$str) {
    echo "ERROR: ".msgfmt_get_error_message($fmt) . " (" . msgfmt_get_error_code($fmt) . ")\n";
}
?>

Beispiel #2 OO example

<?php
$fmt = new MessageFormatter("en_US", "{0, number} monkeys on {1, number} trees");
$str = $fmt->format(array());
if(!$str) {
    echo "ERROR: ".$fmt->getErrorMessage() . " (" . $fmt->getErrorCode() . ")\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

ERROR: msgfmt_format: not enough parameters: U_ILLEGAL_ARGUMENT_ERROR (1)

Siehe auch

  • msgfmt_get_error_message() - Get the error text from the last operation
  • intl_get_error_code() - Get the last error code
  • intl_is_failure() - Check whether the given error code indicates failure

MessageFormatter::format
MessageFormatter::getErrorMessage
MessageFormatter


Get the error text from the last operation

MessageFormatter::getErrorCode
MessageFormatter::getLocale
MessageFormatter
PHP Manual

MessageFormatter::getErrorMessage

msgfmt_get_error_message

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

MessageFormatter::getErrorMessage -- msgfmt_get_error_message — Get the error text from the last operation

Beschreibung

Objektorientierter Stil

public string MessageFormatter::getErrorMessage ( void )

Prozeduraler Stil

string msgfmt_get_error_message ( MessageFormatter $fmt )

Get the error text from the last operation.

Parameter-Liste

fmt

The message formatter

Rückgabewerte

Description of the last error.

Beispiele

Beispiel #1 msgfmt_get_error_message() example

<?php
$fmt = msgfmt_create("en_US", "{0, number} monkeys on {1, number} trees");
$str = msgfmt_format($fmt, array());
if(!$str) {
    echo "ERROR: ".msgfmt_get_error_message($fmt) . " (" . msgfmt_get_error_code($fmt) . ")\n";
}
?>

Beispiel #2 OO example

<?php
$fmt = new MessageFormatter("en_US", "{0, number} monkeys on {1, number} trees");
$str = $fmt->format(array());
if(!$str) {
    echo "ERROR: ".$fmt->getErrorMessage() . " (" . $fmt->getErrorCode() . ")\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

ERROR: msgfmt_format: not enough parameters: U_ILLEGAL_ARGUMENT_ERROR (1)

Siehe auch

  • msgfmt_get_error_code() - Get the error code from last operation
  • intl_get_error_code() - Get the last error code
  • intl_is_failure() - Check whether the given error code indicates failure

MessageFormatter::getErrorCode
MessageFormatter::getLocale
MessageFormatter


Get the locale for which the formatter was created.

MessageFormatter::getErrorMessage
MessageFormatter::getPattern
MessageFormatter
PHP Manual

MessageFormatter::getLocale

msgfmt_get_locale

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

MessageFormatter::getLocale -- msgfmt_get_locale — Get the locale for which the formatter was created.

Beschreibung

Objektorientierter Stil

public string MessageFormatter::getLocale ( void )

Prozeduraler Stil

string msgfmt_get_locale ( NumberFormatter $formatter )

Get the locale for which the formatter was created.

Parameter-Liste

formatter

The formatter resource

Rückgabewerte

The locale name

Beispiele

Beispiel #1 msgfmt_get_locale() example

<?php
$fmt = msgfmt_create('en_US', "Number {0,number}");
echo msgfmt_get_locale($fmt);
?>

Beispiel #2 OO example

<?php
$fmt = new MessageFormatter('en_US', "Number {0,number}");
echo $fmt->getLocale();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

en_US

Siehe auch

  • msgfmt_create() - Constructs a new Message Formatter

MessageFormatter::getErrorMessage
MessageFormatter::getPattern
MessageFormatter


Get the pattern used by the formatter

MessageFormatter::getLocale
MessageFormatter::parseMessage
MessageFormatter
PHP Manual

MessageFormatter::getPattern

msgfmt_get_pattern

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

MessageFormatter::getPattern -- msgfmt_get_pattern — Get the pattern used by the formatter

Beschreibung

Objektorientierter Stil

public string MessageFormatter::getPattern ( void )

Prozeduraler Stil

string msgfmt_get_pattern ( MessageFormatter $fmt )

Get the pattern used by the formatter

Parameter-Liste

fmt

The message formatter

Rückgabewerte

The pattern string for this message formatter

Beispiele

Beispiel #1 msgfmt_get_pattern() example

<?php
$fmt = msgfmt_create( "en_US", "{0, number} monkeys on {1, number} trees" );
echo "Default pattern: '" . msgfmt_get_pattern( $fmt ) . "'\n";
echo "Formatting result: " . msgfmt_format( $fmt, array(123, 456) ) . "\n";

msgfmt_set_pattern( $fmt, "{0, number} trees hosting {1, number} monkeys" );
echo "New pattern: '" . msgfmt_get_pattern( $fmt ) . "'\n";
echo "Formatted number: " . msgfmt_format( $fmt, array(123, 456) ) . "\n";
?>

Beispiel #2 OO example

<?php
$fmt = new MessageFormatter( "en_US", "{0, number} monkeys on {1, number} trees" );
echo "Default pattern: '" . $fmt->getPattern() . "'\n";
echo "Formatting result: " . $fmt->format(array(123, 456)) . "\n";

$fmt->setPattern("{0, number} trees hosting {1, number} monkeys" );
echo "New pattern: '" . $fmt->getPattern() . "'\n";
echo "Formatted number: " . $fmt->format(array(123, 456)) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Default pattern: '{0,number} monkeys on {1,number} trees'
Formatting result: 123 monkeys on 456 trees
New pattern: '{0,number} trees hosting {1,number} monkeys'
Formatted number: 123 trees hosting 456 monkeys

Siehe auch

  • msgfmt_create() - Constructs a new Message Formatter
  • msgfmt_set_pattern() - Set the pattern used by the formatter

MessageFormatter::getLocale
MessageFormatter::parseMessage
MessageFormatter


Quick parse input string

MessageFormatter::getPattern
MessageFormatter::parse
MessageFormatter
PHP Manual

MessageFormatter::parseMessage

msgfmt_parse_message

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

MessageFormatter::parseMessage -- msgfmt_parse_message — Quick parse input string

Beschreibung

Objektorientierter Stil

public static array MessageFormatter::parseMessage ( string $locale , string $pattern , string $source )

Prozeduraler Stil

array msgfmt_parse_message ( string $locale , string $pattern , string $value )

Parses input string without explicitly creating the formatter object. Use this function when the format operation is done only once and does not need and parameters or state to be kept.

Parameter-Liste

locale

The locale to use for parsing locale-dependent parts

pattern

The pattern with which to parse the value.

source

The string to parse, conforming to the pattern.

Rückgabewerte

An array containing items extracted, or FALSE on error

Beispiele

Beispiel #1 msgfmt_parse_message() example

<?php
$fmt = msgfmt_parse_message('en_US', "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree",
                            "4,560 monkeys on 123 trees make 37.073 monkeys per tree");
var_export($fmt);

$fmt = msgfmt_parse_message('de', "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum",
                            "4.560 Affen auf 123 Bäumen sind 37,073 Affen pro Baum");
var_export($fmt);
?>

Beispiel #2 OO example

<?php
$fmt = MessageFormatter::parseMessage('en_US', "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree",
                            "4,560 monkeys on 123 trees make 37.073 monkeys per tree");
var_export($fmt);

$fmt = MessageFormatter::parseMessage('de', "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum",
                            "4.560 Affen auf 123 Bäumen sind 37,073 Affen pro Baum");
var_export($fmt);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array (
  0 => 4560,
  1 => 123,
  2 => 37.073,
)
array (
  0 => 4560,
  1 => 123,
  2 => 37.073,
)

Siehe auch

  • msgfmt_create() - Constructs a new Message Formatter
  • msgfmt_format_message() - Quick format message
  • msgfmt_parse() - Parse input string according to pattern

MessageFormatter::getPattern
MessageFormatter::parse
MessageFormatter


Parse input string according to pattern

MessageFormatter::parseMessage
MessageFormatter::setPattern
MessageFormatter
PHP Manual

MessageFormatter::parse

msgfmt_parse

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

MessageFormatter::parse -- msgfmt_parse — Parse input string according to pattern

Beschreibung

Objektorientierter Stil

public array MessageFormatter::parse ( string $value )

Prozeduraler Stil

array msgfmt_parse ( MessageFormatter $fmt , string $value )

Parses input string and return any extracted items as an array.

Parameter-Liste

fmt

The message formatter

value

The string to parse

Rückgabewerte

An array containing the items extracted, or FALSE on error

Beispiele

Beispiel #1 msgfmt_parse() example

<?php
$fmt = msgfmt_create('en_US', "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree");
$res = msgfmt_parse($fmt, "4,560 monkeys on 123 trees make 37.073 monkeys per tree");
var_export($res);

$fmt = msgfmt_create('de', "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum");
$res = msgfmt_parse($fmt, "4.560 Affen auf 123 Bäumen sind 37,073 Affen pro Baum");
var_export($res);
?>

Beispiel #2 OO example

<?php
$fmt = new MessageFormatter('en_US', "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree");
$res = $fmt->parse("4,560 monkeys on 123 trees make 37.073 monkeys per tree");
var_export($res);

$fmt = new MessageFormatter('de', "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum");
$res = $fmt->parse("4.560 Affen auf 123 Bäumen sind 37,073 Affen pro Baum");
var_export($res);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array (
  0 => 4560,
  1 => 123,
  2 => 37.073,
)
array (
  0 => 4560,
  1 => 123,
  2 => 37.073,
)

Siehe auch

  • msgfmt_create() - Constructs a new Message Formatter
  • msgfmt_format() - Format the message
  • msgfmt_parse_message() - Quick parse input string

MessageFormatter::parseMessage
MessageFormatter::setPattern
MessageFormatter


Set the pattern used by the formatter

MessageFormatter::parse
IntlCalendar
MessageFormatter
PHP Manual

MessageFormatter::setPattern

msgfmt_set_pattern

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

MessageFormatter::setPattern -- msgfmt_set_pattern — Set the pattern used by the formatter

Beschreibung

Objektorientierter Stil

public bool MessageFormatter::setPattern ( string $pattern )

Prozeduraler Stil

bool msgfmt_set_pattern ( MessageFormatter $fmt , string $pattern )

Set the pattern used by the formatter

Parameter-Liste

fmt

The message formatter

pattern

The pattern string to use in this message formatter. The pattern uses an 'apostrophe-friendly' syntax; it is run through » umsg_autoQuoteApostrophe before being interpreted.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 msgfmt_set_pattern() example

<?php
$fmt = msgfmt_create( "en_US", "{0, number} monkeys on {1, number} trees" );
echo "Default pattern: '" . msgfmt_get_pattern( $fmt ) . "'\n";
echo "Formatting result: " . msgfmt_format( $fmt, array(123, 456) ) . "\n";

msgfmt_set_pattern( $fmt, "{0, number} trees hosting {1, number} monkeys" );
echo "New pattern: '" . msgfmt_get_pattern( $fmt ) . "'\n";
echo "Formatted number: " . msgfmt_format( $fmt, array(123, 456) ) . "\n";
?>

Beispiel #2 OO example

<?php
$fmt = new MessageFormatter( "en_US", "{0, number} monkeys on {1, number} trees" );
echo "Default pattern: '" . $fmt->getPattern() . "'\n";
echo "Formatting result: " . $fmt->format(array(123, 456)) . "\n";

$fmt->setPattern("{0, number} trees hosting {1, number} monkeys" );
echo "New pattern: '" . $fmt->getPattern() . "'\n";
echo "Formatted number: " . $fmt->format(array(123, 456)) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Default pattern: '{0,number} monkeys on {1,number} trees'
Formatting result: 123 monkeys on 456 trees
New pattern: '{0,number} trees hosting {1,number} monkeys'
Formatted number: 123 trees hosting 456 monkeys

Siehe auch

  • msgfmt_create() - Constructs a new Message Formatter
  • msgfmt_get_pattern() - Get the pattern used by the formatter

MessageFormatter::parse
IntlCalendar
MessageFormatter


The IntlCalendar class

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

Einführung

Klassenbeschreibung

IntlCalendar {
/* Constants */
const integer FIELD_ERA = 0 ;
const integer FIELD_YEAR = 1 ;
const integer FIELD_MONTH = 2 ;
const integer FIELD_WEEK_OF_YEAR = 3 ;
const integer FIELD_WEEK_OF_MONTH = 4 ;
const integer FIELD_DATE = 5 ;
const integer FIELD_DAY_OF_YEAR = 6 ;
const integer FIELD_DAY_OF_WEEK = 7 ;
const integer FIELD_DAY_OF_WEEK_IN_MONTH = 8 ;
const integer FIELD_AM_PM = 9 ;
const integer FIELD_HOUR = 10 ;
const integer FIELD_HOUR_OF_DAY = 11 ;
const integer FIELD_MINUTE = 12 ;
const integer FIELD_SECOND = 13 ;
const integer FIELD_MILLISECOND = 14 ;
const integer FIELD_ZONE_OFFSET = 15 ;
const integer FIELD_DST_OFFSET = 16 ;
const integer FIELD_YEAR_WOY = 17 ;
const integer FIELD_DOW_LOCAL = 18 ;
const integer FIELD_EXTENDED_YEAR = 19 ;
const integer FIELD_JULIAN_DAY = 20 ;
const integer FIELD_MILLISECONDS_IN_DAY = 21 ;
const integer FIELD_IS_LEAP_MONTH = 22 ;
const integer FIELD_FIELD_COUNT = 23 ;
const integer FIELD_DAY_OF_MONTH = 5 ;
const integer DOW_SUNDAY = 1 ;
const integer DOW_MONDAY = 2 ;
const integer DOW_TUESDAY = 3 ;
const integer DOW_WEDNESDAY = 4 ;
const integer DOW_THURSDAY = 5 ;
const integer DOW_FRIDAY = 6 ;
const integer DOW_SATURDAY = 7 ;
const integer DOW_TYPE_WEEKDAY = 0 ;
const integer DOW_TYPE_WEEKEND = 1 ;
const integer DOW_TYPE_WEEKEND_OFFSET = 2 ;
const integer DOW_TYPE_WEEKEND_CEASE = 3 ;
const integer WALLTIME_FIRST = 1 ;
const integer WALLTIME_LAST = 0 ;
const integer WALLTIME_NEXT_VALID = 2 ;
/* Methoden */
public bool add ( int $field , int $amount )
bool intlcal_add ( IntlCalendar $cal , int $field , int $amount )
public bool after ( IntlCalendar $other )
bool intlcal_after ( IntlCalendar $cal , IntlCalendar $other )
public bool before ( IntlCalendar $other )
bool intlcal_before ( IntlCalendar $cal , IntlCalendar $other )
public bool clear ([ int $field = NULL ] )
bool intlcal_clear ( IntlCalendar $cal [, int $field = NULL ] )
private __construct ( void )
public static IntlCalendar createInstance ([ mixed $timeZone = NULL [, string $locale = "" ]] )
IntlCalendar intlcal_create_instance ([ mixed $timeZone = NULL [, string $locale = "" ]] )
public bool equals ( IntlCalendar $other )
bool intlcal_equals ( IntlCalendar $cal , IntlCalendar $other )
public int fieldDifference ( float $when , int $field )
int intlcal_field_difference ( IntlCalendar $cal , float $when , int $field )
public static IntlCalendar fromDateTime ( mixed $dateTime )
IntlCalendar intlcal_from_date_time ( mixed $dateTime )
public int get ( int $field )
int intlcal_get ( IntlCalendar> $cal , int $field )
public int getActualMaximum ( int $field )
int intlcal_get_actual_maximum ( IntlCalendar $cal , int $field )
public int getActualMinimum ( int $field )
int intlcal_get_actual_minimum ( IntlCalendar $cal , int $field )
public static array getAvailableLocales ( void )
array intlcal_get_available_locales ( void )
public int getDayOfWeekType ( int $dayOfWeek )
int intlcal_get_day_of_week_type ( IntlCalendar $cal , int $dayOfWeek )
public int getErrorCode ( void )
public string getErrorMessage ( void )
public int getFirstDayOfWeek ( void )
int intlcal_get_first_day_of_week ( IntlCalendar $cal )
public int getGreatestMinimum ( int $field )
int intlcal_get_greatest_minimum ( IntlCalendar $cal , int $field )
public static Iterator getKeywordValuesForLocale ( string $key , string $locale , boolean $commonlyUsed )
Iterator intlcal_get_keyword_values_for_locale ( string $key , string $locale , boolean $commonlyUsed )
public int getLeastMaximum ( int $field )
int intlcal_get_least_maximum ( IntlCalendar $cal , int $field )
public string getLocale ( int $localeType )
string intlcal_get_locale ( IntlCalendar $cal , int $localeType )
public int getMaximum ( int $field )
int intlcal_get_maximum ( IntlCalendar $cal , int $field )
public int getMinimalDaysInFirstWeek ( void )
int intlcal_get_minimal_days_in_first_week ( IntlCalendar $cal )
public int getMinimum ( int $field )
int intlcal_get_minimum ( IntlCalendar $cal , int $field )
public static float getNow ( void )
float intlcal_get_now ( void )
public int getRepeatedWallTimeOption ( void )
int intlcal_get_repeated_wall_time_option ( IntlCalendar $cal )
public int getSkippedWallTimeOption ( void )
int intlcal_get_skipped_wall_time_option ( IntlCalendar $cal )
public float getTime ( void )
float intlcal_get_time ( IntlCalendar $cal )
public IntlTimeZone getTimeZone ( void )
IntlTimeZone intlcal_get_time_zone ( IntlCalendar $cal )
public string getType ( void )
string intlcal_get_type ( IntlCalendar $cal )
public int getWeekendTransition ( string $dayOfWeek )
int intlcal_get_weekend_transition ( IntlCalendar $cal , string $dayOfWeek )
public bool inDaylightTime ( void )
bool intlcal_in_daylight_time ( IntlCalendar $cal )
public bool isEquivalentTo ( IntlCalendar $other )
bool intlcal_is_equivalent_to ( IntlCalendar $cal , IntlCalendar $other )
public bool isLenient ( void )
bool intlcal_is_lenient ( IntlCalendar $cal )
public bool isSet ( int $field )
bool intlcal_is_set ( IntlCalendar $cal , int $field )
public bool isWeekend ([ float $date = NULL ] )
bool intlcal_is_weekend ( IntlCalendar $cal [, float $date = NULL ] )
public bool roll ( int $field , mixed $amountOrUpOrDown )
bool intlcal_roll ( IntlCalendar $cal , int $field , mixed $amountOrUpOrDown )
public bool set ( int $field , int $value )
public bool set ( int $year , int $month [, int $dayOfMonth = NULL [, int $hour = NULL [, int $minute = NULL [, int $second = NULL ]]]] )
bool intlcal_set ( IntlCalendar $cal , int $field , int $value )
bool intlcal_set ( IntlCalendar $cal , int $year , int $month [, int $dayOfMonth = NULL [, int $hour = NULL [, int $minute = NULL [, int $second = NULL ]]]] )
public bool setFirstDayOfWeek ( int $dayOfWeek )
bool intlcal_set_first_day_of_week ( IntlCalendar $cal , int $dayOfWeek )
public ReturnType setLenient ( string $isLenient )
ReturnType intlcal_set_lenient ( IntlCalendar $cal , string $isLenient )
public bool setMinimalDaysInFirstWeek ( int $minimalDays )
bool intlcal_get_minimal_days_in_first_week ( IntlCalendar $cal , int $minimalDays )
public bool setRepeatedWallTimeOption ( int $wallTimeOption )
bool intlcal_set_repeated_wall_time_option ( IntlCalendar $cal , int $wallTimeOption )
public bool setSkippedWallTimeOption ( int $wallTimeOption )
bool intlcal_set_skipped_wall_time_option ( IntlCalendar $cal , int $wallTimeOption )
public bool setTime ( float $date )
bool intlcal_set_time ( IntlCalendar $cal , float $date )
public bool setTimeZone ( mixed $timeZone )
bool intlcal_set_time_zone ( IntlCalendar $cal , mixed $timeZone )
public DateTime toDateTime ( void )
DateTime intlcal_to_date_time ( IntlCalendar $cal )
}

Vordefinierte Konstanten

IntlCalendar::FIELD_ERA

Calendar field numerically representing an era, for instance 1 for AD and 0 for BC in the Gregorian/Julian calendars and 235 for the Heisei (??) era in the Japanese calendar. Not all calendars have more than one era.

IntlCalendar::FIELD_YEAR

Calendar field for the year. This is not unique across eras. If the calendar type has more than one era, generally the minimum value for this field will be 1.

IntlCalendar::FIELD_MONTH

Calendar field for the month. The month sequence is zero-based, so Janurary (here used to signify the first month of the calendar; this may be called another name, such as Muharram in the Islamic calendar) is represented by 0, February by 1, …, December by 11 and, for calendars that have it, the 13th or leap month by 12.

IntlCalendar::FIELD_WEEK_OF_YEAR

Calendar field for the number of the week of the year. This depends on which day of the week is deemed to start the week and the minimal number of days in a week.

IntlCalendar::FIELD_WEEK_OF_MONTH

Calendar field for the number of the week of the month. This depends on which day of the week is deemed to start the week and the minimal number of days in a week.

IntlCalendar::FIELD_DATE

Calendar field for the day of the month. The same as IntlCalendar::FIELD_DAY_OF_MONTH, which has a clearer name.

IntlCalendar::FIELD_DAY_OF_YEAR

Calendar field for the day of the year. For the Gregorian calendar, starts with 1 and ends with 365 or 366.

IntlCalendar::FIELD_DAY_OF_WEEK

Calendar field for the day of the week. Its values start with 1 (Sunday, see IntlCalendar::DOW_SUNDAY and subsequent constants) and the last valid value is 7 (Saturday).

IntlCalendar::FIELD_DAY_OF_WEEK_IN_MONTH

Given a day of the week (Sunday, Monday, …), this calendar field assigns an ordinal to such a day of the week in a specific month. Thus, if the value of this field is 1 and the value of the day of the week is 2 (Monday), then the set day of the month is the 1st Monday of the month; the maximum value is 5.

Additionally, the value 0 and negative values are also allowed. The value 0 encompasses the seven days that occur immediately before the first seven days of a month (which therefore have a ‘day of week in month’ with value 1). Negative values starts counting from the end of the month – -1 points to the last occurrence of a day of the week in a month, -2 to the second last, and so on.

Unlike IntlCalendar::FIELD_WEEK_OF_MONTH and IntlCalendar::FIELD_WEEK_OF_YEAR, this value does not depend on IntlCalendar::getFirstDayOfWeek() or on IntlCalendar::getMinimalDaysInFirstWeek(). The first Monday is the first Monday, even if it occurs in a week that belongs to the previous month.

IntlCalendar::FIELD_AM_PM

Calendar field indicating whether a time is before noon (value 0, AM) or after (1). Midnight is AM, noon is PM.

IntlCalendar::FIELD_HOUR

Calendar field for the hour, without specifying whether it's in the morning or in the afternoon. Valid values are 0 to 11.

IntlCalendar::FIELD_HOUR_OF_DAY

Calendar field for the full (24h) hour of the day. Valid values are 0 to 23.

IntlCalendar::FIELD_MINUTE

Calendar field for the minutes component of the time.

IntlCalendar::FIELD_SECOND

Calendar field for the seconds component of the time.

IntlCalendar::FIELD_MILLISECOND

Calendar field the milliseconds component of the time.

IntlCalendar::FIELD_ZONE_OFFSET

Calendar field indicating the raw offset of the timezone, in milliseconds. The raw offset is the timezone offset, excluding any offset due to daylight saving time.

IntlCalendar::FIELD_DST_OFFSET

Calendar field for the daylight saving time offset of the calendar's timezone, in milliseconds, if active for calendar's time.

IntlCalendar::FIELD_YEAR_WOY

Calendar field representing the year for week of year purposes.

IntlCalendar::FIELD_DOW_LOCAL

Calendar field for the localized day of the week. This is a value betwen 1 and 7, 1 being used for the day of the week that matches the value returned by IntlCalendar::getFirstDayOfWeek().

IntlCalendar::FIELD_EXTENDED_YEAR

Calendar field for a year number representation that is continuous across eras. For the Gregorian calendar, the value of this field matches that of IntlCalendar::FIELD_YEAR for AD years; a BC year y is represented by -y + 1.

IntlCalendar::FIELD_JULIAN_DAY

Calendar field for a modified Julian day number. It is different from a conventional Julian day number in that its transitions occur at local zone midnight rather than at noon UTC. It uniquely identifies a date.

IntlCalendar::FIELD_MILLISECONDS_IN_DAY

Calendar field encompassing the information in IntlCalendar::FIELD_HOUR_OF_DAY, IntlCalendar::FIELD_MINUTE, IntlCalendar::FIELD_SECOND and IntlCalendar::FIELD_MILLISECOND. Range is from the 0 to 24 * 3600 * 1000 - 1. It is not the amount of milliseconds ellapsed in the day since on DST transitions it will have discontinuities analog to those of the wall time.

IntlCalendar::FIELD_IS_LEAP_MONTH

Calendar field whose value is 1 for indicating a leap month and 0 otherwise.

IntlCalendar::FIELD_FIELD_COUNT

The total number of fields.

IntlCalendar::FIELD_DAY_OF_MONTH

Alias for IntlCalendar::FIELD_DATE.

IntlCalendar::DOW_SUNDAY

Sunday.

IntlCalendar::DOW_MONDAY

Monday.

IntlCalendar::DOW_TUESDAY

Tuesday.

IntlCalendar::DOW_WEDNESDAY

Wednesday.

IntlCalendar::DOW_THURSDAY

Thursday.

IntlCalendar::DOW_FRIDAY

Friday.

IntlCalendar::DOW_SATURDAY

Saturday.

IntlCalendar::DOW_TYPE_WEEKDAY

Output of IntlCalendar::getDayOfWeekType() indicating a day of week is a weekday.

IntlCalendar::DOW_TYPE_WEEKEND

Output of IntlCalendar::getDayOfWeekType() indicating a day of week belongs to the weekend.

IntlCalendar::DOW_TYPE_WEEKEND_OFFSET

Output of IntlCalendar::getDayOfWeekType() indicating the weekend begins during the given day of week.

IntlCalendar::DOW_TYPE_WEEKEND_CEASE

Output of IntlCalendar::getDayOfWeekType() indicating the weekend ends during the given day of week.

IntlCalendar::WALLTIME_FIRST

Output of IntlCalendar::getSkippedWallTimeOption() indicating that wall times in the skipped range should refer to the same instant as wall times with one hour less and of IntlCalendar::getRepeatedWallTimeOption() indicating the wall times in the repeated range should refer to the instant of the first occurrence of such wall time.

IntlCalendar::WALLTIME_LAST

Output of IntlCalendar::getSkippedWallTimeOption() indicating that wall times in the skipped range should refer to the same instant as wall times with one hour after and of IntlCalendar::getRepeatedWallTimeOption() indicating the wall times in the repeated range should refer to the instant of the second occurrence of such wall time.

IntlCalendar::WALLTIME_NEXT_VALID

Output of IntlCalendar::getSkippedWallTimeOption() indicating that wall times in the skipped range should refer to the instant when the daylight saving time transition occurs (begins).

Inhaltsverzeichnis

  • IntlCalendar::add — Add a (signed) amount of time to a field
  • IntlCalendar::after — Whether this object's time is after that of the passed object
  • IntlCalendar::before — Whether this object's time is before that of the passed object
  • IntlCalendar::clear — Clear a field or all fields
  • IntlCalendar::__construct — Private constructor for disallowing instantiation
  • IntlCalendar::createInstance — Create a new IntlCalendar
  • IntlCalendar::equals — Compare time of two IntlCalendar objects for equality
  • IntlCalendar::fieldDifference — Calculate difference between given time and this object's time
  • IntlCalendar::fromDateTime — Create an IntlCalendar from a DateTime object or string
  • IntlCalendar::get — Get the value for a field
  • IntlCalendar::getActualMaximum — The maximum value for a field, considering the object's current time
  • IntlCalendar::getActualMinimum — The minimum value for a field, considering the object's current time
  • IntlCalendar::getAvailableLocales — Get array of locales for which there is data
  • IntlCalendar::getDayOfWeekType — Tell whether a day is a weekday, weekend or a day that has a transition between the two
  • IntlCalendar::getErrorCode — Get last error code on the object
  • IntlCalendar::getErrorMessage — Get last error message on the object
  • IntlCalendar::getFirstDayOfWeek — Get the first day of the week for the calendar's locale
  • IntlCalendar::getGreatestMinimum — Get the largest local minimum value for a field
  • IntlCalendar::getKeywordValuesForLocale — Get set of locale keyword values
  • IntlCalendar::getLeastMaximum — Get the smallest local maximum for a field
  • IntlCalendar::getLocale — Get the locale associated with the object
  • IntlCalendar::getMaximum — Get the global maximum value for a field
  • IntlCalendar::getMinimalDaysInFirstWeek — Get minimal number of days the first week in a year or month can have
  • IntlCalendar::getMinimum — Get the global minimum value for a field
  • IntlCalendar::getNow — Get number representing the current time
  • IntlCalendar::getRepeatedWallTimeOption — Get behavior for handling repeating wall time
  • IntlCalendar::getSkippedWallTimeOption — Get behavior for handling skipped wall time
  • IntlCalendar::getTime — Get time currently represented by the object
  • IntlCalendar::getTimeZone — Get the object's timezone
  • IntlCalendar::getType — Get the calendar type
  • IntlCalendar::getWeekendTransition — Get time of the day at which weekend begins or ends
  • IntlCalendar::inDaylightTime — Whether the object's time is in Daylight Savings Time
  • IntlCalendar::isEquivalentTo — Whether another calendar is equal but for a different time
  • IntlCalendar::isLenient — Whether date/time interpretation is in lenient mode
  • IntlCalendar::isSet — Whether a field is set
  • IntlCalendar::isWeekend — Whether a certain date/time is in the weekend
  • IntlCalendar::roll — Add value to field without carrying into more significant fields
  • IntlCalendar::set — Set a time field or several common fields at once
  • IntlCalendar::setFirstDayOfWeek — Set the day on which the week is deemed to start
  • IntlCalendar::setLenient — Set whether date/time interpretation is to be lenient
  • IntlCalendar::setMinimalDaysInFirstWeek — Set minimal number of days the first week in a year or month can have
  • IntlCalendar::setRepeatedWallTimeOption — Set behavior for handling repeating wall times at negative timezone offset transitions
  • IntlCalendar::setSkippedWallTimeOption — Set behavior for handling skipped wall times at positive timezone offset transitions
  • IntlCalendar::setTime — Set the calendar time in milliseconds since the epoch
  • IntlCalendar::setTimeZone — Set the timezone used by this calendar
  • IntlCalendar::toDateTime — Convert an IntlCalendar into a DateTime object
MessageFormatter::setPattern
IntlCalendar::add
intl


Add a (signed) amount of time to a field

IntlCalendar
IntlCalendar::after
IntlCalendar
PHP Manual

IntlCalendar::add

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::add — Add a (signed) amount of time to a field

Beschreibung

Objektorientierter Stil

public bool IntlCalendar::add ( int $field , int $amount )

Prozeduraler Stil

bool intlcal_add ( IntlCalendar $cal , int $field , int $amount )

Add a signed amount to a field. Adding a positive amount allows advances in time, even if the numeric value of the field decreases (e.g. when working with years in BC dates).

Other fields may need to adjusted – for instance, adding a month to the 31st of January will result in the 28th (or 29th) of February. Contrary to IntlCalendar::roll(), when a value wraps around, more significant fields may change. For instance, adding a day to the 31st of January will result in the 1st of February, not the 1st of Janurary.

Parameter-Liste

cal

The IntlCalendar resource.

field

One of the IntlCalendar date/time field constants. These are integer values between 0 and IntlCalendar::FIELD_COUNT.

amount

The signed amount to add to the current field. If the amount is positive, the instant will be moved forward; if it is negative, the instant wil be moved into the past. The unit is implicit to the field type. For instance, hours for IntlCalendar::FIELD_HOUR_OF_DAY.

Rückgabewerte

Returns TRUE on successIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 IntlCalendar::add()

<?php
ini_set('intl.default_locale', 'fr_FR');
ini_set('date.timezone', 'UTC');

$cal = new IntlGregorianCalendar(2012, 0 /* January */, 31);
echo IntlDateFormatter::formatObject($cal), "\n";

$cal->add(IntlCalendar::FIELD_MONTH, 1);
echo IntlDateFormatter::formatObject($cal), "\n";

$cal->add(IntlCalendar::FIELD_DAY_OF_MONTH, 1);
echo IntlDateFormatter::formatObject($cal), "\n";

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

31 janv. 2012 00:00:00
29 févr. 2012 00:00:00
1 mars 2012 00:00:00

IntlCalendar
IntlCalendar::after
IntlCalendar


Whether this object's time is after that of the passed object

IntlCalendar::add
IntlCalendar::before
IntlCalendar
PHP Manual

IntlCalendar::after

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::after — Whether this object's time is after that of the passed object

Beschreibung

Objektorientierter Stil

public bool IntlCalendar::after ( IntlCalendar $other )

Prozeduraler Stil

bool intlcal_after ( IntlCalendar $cal , IntlCalendar $other )

Returns whether this object's time succeeds the argument's time.

Parameter-Liste

cal

The IntlCalendar resource.

other

The calendar whose time will be checked against the primary object's time.

Rückgabewerte

Returns TRUE if this object's current time is after that of the calendar argument's time. Returns FALSE otherwise. Also returns FALSE on failure. You can use exceptions or intl_get_error_code() to detect error conditions.

Beispiele

Beispiel #1 IntlCalendar::after()

<?php
$cal1 = IntlCalendar::createInstance();
$cal2 = clone $cal1;

var_dump($cal1->after($cal2), //false
        $cal2->after($cal1)); //false

$cal1->roll(IntlCalendar::FIELD_MILLISECOND, true);

var_dump($cal1->after($cal2), //true
        $cal2->after($cal1)); //false

IntlCalendar::add
IntlCalendar::before
IntlCalendar


Whether this object's time is before that of the passed object

IntlCalendar::after
IntlCalendar::clear
IntlCalendar
PHP Manual

IntlCalendar::before

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::before — Whether this object's time is before that of the passed object

Beschreibung

Objektorientierter Stil

public bool IntlCalendar::before ( IntlCalendar $other )

Prozeduraler Stil

bool intlcal_before ( IntlCalendar $cal , IntlCalendar $other )

Returns whether this object's time precedes the argument's time.

Parameter-Liste

cal

The IntlCalendar resource.

other

The calendar whose time will be checked against the primary object's time.

Rückgabewerte

Returns TRUE if this object's current time is before that of the calendar argument's time. Returns FALSE otherwise. Also returns FALSE on failure. You can use exceptions or intl_get_error_code() to detect error conditions.

IntlCalendar::after
IntlCalendar::clear
IntlCalendar


Clear a field or all fields

IntlCalendar::before
IntlCalendar::__construct
IntlCalendar
PHP Manual

IntlCalendar::clear

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::clear — Clear a field or all fields

Beschreibung

Objektorientierter Stil

public bool IntlCalendar::clear ([ int $field = NULL ] )

Prozeduraler Stil

bool intlcal_clear ( IntlCalendar $cal [, int $field = NULL ] )

Clears either all of the fields or a specific field. A cleared field is marked as unset, giving it the lowest priority against overlapping fields or even default values when calculating the time. Additionally, its value is set to 0, though given the field's low priority, its value may have been internally set to another value by the time the field has finished been queried.

Parameter-Liste

cal

The IntlCalendar resource.

field

One of the IntlCalendar date/time field constants. These are integer values between 0 and IntlCalendar::FIELD_COUNT.

Rückgabewerte

Returns TRUE on successIm Fehlerfall wird FALSE zurückgegeben.. Failure can only occur is invalid arguments are provided.

Beispiele

Beispiel #1 IntlCalendar::clear() examples

<?php
ini_set('intl.default_locale', 'es_ES');
ini_set('date.timezone', 'UTC');

$fields = array(
    'FIELD_ERA'                  => 0,
    'FIELD_YEAR'                 => 1,
    'FIELD_MONTH'                => 2,
    'FIELD_WEEK_OF_YEAR'         => 3,
    'FIELD_WEEK_OF_MONTH'        => 4,
    'FIELD_DATE'                 => 5,
    'FIELD_DAY_OF_YEAR'          => 6,
    'FIELD_DAY_OF_WEEK'          => 7,
    'FIELD_DAY_OF_WEEK_IN_MONTH' => 8,
    'FIELD_AM_PM'                => 9,
    'FIELD_HOUR'                 => 10,
    'FIELD_HOUR_OF_DAY'          => 11,
    'FIELD_MINUTE'               => 12,
    'FIELD_SECOND'               => 13,
    'FIELD_MILLISECOND'          => 14,
    'FIELD_ZONE_OFFSET'          => 15,
    'FIELD_DST_OFFSET'           => 16,
    'FIELD_YEAR_WOY'             => 17,
    'FIELD_DOW_LOCAL'            => 18,
    'FIELD_EXTENDED_YEAR'        => 19,
    'FIELD_JULIAN_DAY'           => 20,
    'FIELD_MILLISECONDS_IN_DAY'  => 21,
    'FIELD_IS_LEAP_MONTH'        => 22,
    'FIELD_FIELD_COUNT'          => 23,
);
function getSetFields(IntlCalendar $cal) {
    global $fields;
    $ret = array();
    foreach ($fields as $name => $value) {
        if ($cal->isSet($value)) {
            $ret[] = $name;
        }
    }
    return $ret;
}

$cal = new IntlGregorianCalendar(2013, 2 /* March */, 15);
echo "After GregorianCalendar creation\n";
print_r(getSetFields($cal));
echo "\n";

echo IntlDateFormatter::formatObject($cal), "\n";
echo "After the formatter requested the extended year\n";
print_r(getSetFields($cal));
echo "\n";

$cal->clear(IntlCalendar::FIELD_YEAR);
echo "After the year has been cleared, the date stays the same\n";
echo IntlDateFormatter::formatObject($cal), "\n";
echo "because FIELD_EXTENDED_YEAR is still set\n";
print_r(getSetFields($cal));
echo "\n";

var_dump($cal->clear(IntlCalendar::FIELD_EXTENDED_YEAR));
echo "After the extended year has been cleared\n";
print_r(getSetFields($cal));
echo IntlDateFormatter::formatObject($cal), "\n";
echo "\n";

echo "After the fields are recalculated,\n"
        . " extended year is set again (to 1970)\n";
print_r(getSetFields($cal));
echo "\n";

$cal->clear();
echo "After calling variant with no arguments\n";
print_r(getSetFields($cal));
echo IntlDateFormatter::formatObject($cal), "\n";

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

After GregorianCalendar creation
Array
(
    [0] => FIELD_ERA
    [1] => FIELD_YEAR
    [2] => FIELD_MONTH
    [3] => FIELD_DATE
)

15/03/2013 00:00:00
After the formatter requested the extended year
Array
(
    [0] => FIELD_ERA
    [1] => FIELD_YEAR
    [2] => FIELD_MONTH
    [3] => FIELD_DATE
    [4] => FIELD_EXTENDED_YEAR
)

After the year has been cleared, the date stays the same
15/03/2013 00:00:00
because FIELD_EXTENDED_YEAR is still set
Array
(
    [0] => FIELD_ERA
    [1] => FIELD_MONTH
    [2] => FIELD_DATE
    [3] => FIELD_EXTENDED_YEAR
)

bool(true)
After the extended year has been cleared
Array
(
    [0] => FIELD_ERA
    [1] => FIELD_MONTH
    [2] => FIELD_DATE
)
15/03/1970 00:00:00

After the fields are recalculated,
 extended year is set again (to 1970)
Array
(
    [0] => FIELD_ERA
    [1] => FIELD_MONTH
    [2] => FIELD_DATE
    [3] => FIELD_EXTENDED_YEAR
)

After calling variant with no arguments
Array
(
)
01/01/1970 00:00:00

IntlCalendar::before
IntlCalendar::__construct
IntlCalendar


Private constructor for disallowing instantiation

IntlCalendar::clear
IntlCalendar::createInstance
IntlCalendar
PHP Manual

IntlCalendar::__construct

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::__construct — Private constructor for disallowing instantiation

Beschreibung

private IntlCalendar::__construct ( void )

A private constructor for disallowing instantiation with the new operator.

Call IntlCalendar::createInstance() instead.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

IntlCalendar::clear
IntlCalendar::createInstance
IntlCalendar


Create a new IntlCalendar

IntlCalendar::__construct
IntlCalendar::equals
IntlCalendar
PHP Manual

IntlCalendar::createInstance

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::createInstance — Create a new IntlCalendar

Beschreibung

Objektorientierter Stil

public static IntlCalendar IntlCalendar::createInstance ([ mixed $timeZone = NULL [, string $locale = "" ]] )

Prozeduraler Stil

IntlCalendar intlcal_create_instance ([ mixed $timeZone = NULL [, string $locale = "" ]] )

Given a timezone and locale, this method creates an IntlCalendar object. This factory method may return a subclass of IntlCalendar.

The calendar created will represent the time instance at which it was created, based on the system time. The fields can all be cleared by calling IntCalendar::clear() with no arguments. See also IntlGregorianCalendar::__construct().

Parameter-Liste

timeZone

The timezone to use.

  • NULL, in which case the default timezone will be used, as specified in the ini setting date.timezone or through the function date_default_timezone_set() and as returned by date_default_timezone_get().

  • An IntlTimeZone, which will be used directly.

  • A DateTimeZone. Its identifier will be extracted and an ICU timezone object will be created; the timezone will be backed by ICU's database, not PHP's.

  • A string, which should be a valid ICU timezone identifier. See IntlTimeZone::createTimeZoneIDEnumeration(). Raw offsets such as "GMT+08:30" are also accepted.

locale

A locale to use or NULL to use the default locale.

Rückgabewerte

The created IntlCalendar instance or NULL on failure.

Beispiele

Beispiel #1 IntlCalendar::createInstance()

<?php
ini_set('intl.default_locale', 'es_ES');
ini_set('date.timezone', 'Europe/Madrid');

$cal = IntlCalendar::createInstance();
echo "No arguments\n";
var_dump(get_class($cal),
        IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL));
echo "\n";

echo "Explicit timezone\n";
$cal = IntlCalendar::createInstance(IntlTimeZone::getGMT());
var_dump(get_class($cal),
        IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL));
echo "\n";

echo "Explicit locale (with calendar)\n";
$cal = IntlCalendar::createInstance(NULL, 'es_ES@calendar=persian');
var_dump(get_class($cal),
        IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL));

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

No arguments
string(21) "IntlGregorianCalendar"
string(68) "martes 18 de junio de 2013 14:11:02 Hora de verano de Europa Central"

Explicit timezone
string(21) "IntlGregorianCalendar"
string(45) "martes 18 de junio de 2013 12:11:02 GMT+00:00"

Explicit locale (with calendar)
string(12) "IntlCalendar"
string(70) "martes 28 de Khordad de 1392 14:11:02 Hora de verano de Europa Central"

Siehe auch

  • IntlGregorianCalendar::__construct()

IntlCalendar::__construct
IntlCalendar::equals
IntlCalendar


Compare time of two IntlCalendar objects for equality

IntlCalendar::createInstance
IntlCalendar::fieldDifference
IntlCalendar
PHP Manual

IntlCalendar::equals

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::equals — Compare time of two IntlCalendar objects for equality

Beschreibung

Objektorientierter Stil

public bool IntlCalendar::equals ( IntlCalendar $other )

Prozeduraler Stil

bool intlcal_equals ( IntlCalendar $cal , IntlCalendar $other )

Returns true if this calendar and the given calendar have the same time. The settings, calendar types and field states do not have to be the same.

Parameter-Liste

cal

The IntlCalendar resource.

other

The calendar to compare with the primary object.

Rückgabewerte

Returns TRUE if the current time of both this and the passed in IntlCalendar object are the same, or FALSE otherwise. The value FALSE can also be returned on failure. This can only happen if bad arguments are passed in. In any case, the two cases can be distinguished by calling intl_get_error_code().

Beispiele

Beispiel #1 IntlCalendar::equals()

<?php
ini_set('date.timezone', 'UTC');

$cal1 = IntlCalendar::createInstance(NULL, 'es_ES');
$cal2 = clone $cal1;

var_dump($cal1->equals($cal2)); //TRUE

//The locale is not included in the comparison
$cal2 = IntlCalendar::createInstance(NULL, 'pt_PT');
$cal2->setTime($cal1->getTime());
var_dump($cal1->equals($cal2)); //TRUE

//And set fields state is not included as well
$cal2->clear(IntlCalendar::FIELD_YEAR);
var_dump($cal1->isSet(IntlCalendar::FIELD_YEAR) ==
        $cal2->isSet(IntlCalendar::FIELD_YEAR)); //FALSE
var_dump($cal1->equals($cal2)); //TRUE

//Neither is the calendar type
$cal2 = IntlCalendar::createInstance(NULL, 'es_ES@calendar=islamic');
$cal2->setTime($cal1->getTime());
var_dump($cal1->equals($cal2)); //TRUE

//Only the time is
$cal2 = clone $cal1;
$cal2->setTime($cal1->getTime() + 1.);
var_dump($cal1->equals($cal2)); //FALSE

IntlCalendar::createInstance
IntlCalendar::fieldDifference
IntlCalendar


Calculate difference between given time and this object's time

IntlCalendar::equals
IntlCalendar::fromDateTime
IntlCalendar
PHP Manual

IntlCalendar::fieldDifference

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::fieldDifference — Calculate difference between given time and this object's time

Beschreibung

Objektorientierter Stil

public int IntlCalendar::fieldDifference ( float $when , int $field )

Prozeduraler Stil

int intlcal_field_difference ( IntlCalendar $cal , float $when , int $field )

Return the difference between the given time and the time this object is set to, with respect to the quantity specified the field parameter.

This method is meant to be called successively, first with the most significant field of interest down to the least significant field. To this end, as a side effect, this calendar's value for the field specified is advanced by the amount returned.

Parameter-Liste

cal

The IntlCalendar resource.

when

The time against which to compare the quantity represented by the field. For the result to be positive, the time given for this parameter must be ahead of the time of the object the method is being invoked on.

field

The field that represents the quantity being compared.

One of the IntlCalendar date/time field constants. These are integer values between 0 and IntlCalendar::FIELD_COUNT.

Rückgabewerte

Returns a (signed) difference of time in the unit associated with the specified fieldIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 IntlCalendar::fieldDifference()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'fr_FR');

$cal1 = IntlCalendar::fromDateTime('2012-02-29 09:00:11');
$cal2 = IntlCalendar::fromDateTime('2013-03-01 09:19:29');
$time = $cal2->getTime();

echo "Time before: ", IntlDateFormatter::formatObject($cal1), "\n";

printf(
    "The difference in time is %d year(s), %d month(s), "
  . "%d day(s), %d hour(s) and %d minute(s)\n",
    $cal1->fieldDifference($time, IntlCalendar::FIELD_YEAR),
    $cal1->fieldDifference($time, IntlCalendar::FIELD_MONTH),
    $cal1->fieldDifference($time, IntlCalendar::FIELD_DAY_OF_MONTH),
    $cal1->fieldDifference($time, IntlCalendar::FIELD_HOUR_OF_DAY),
    $cal1->fieldDifference($time, IntlCalendar::FIELD_MINUTE)
);

//now it was advanced to the target time, exception for the seconds,
//for which we did not measure the difference
echo "Time after: ", IntlDateFormatter::formatObject($cal1), "\n";

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Time before: 29 févr. 2012 09:00:11
The difference in time is 1 year(s), 0 month(s), 1 day(s), 0 hour(s) and 19 minute(s)
Time after: 1 mars 2013 09:19:11

IntlCalendar::equals
IntlCalendar::fromDateTime
IntlCalendar


Create an IntlCalendar from a DateTime object or string

IntlCalendar::fieldDifference
IntlCalendar::get
IntlCalendar
PHP Manual

IntlCalendar::fromDateTime

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a2)

IntlCalendar::fromDateTime — Create an IntlCalendar from a DateTime object or string

Beschreibung

Objektorientierter Stil

public static IntlCalendar IntlCalendar::fromDateTime ( mixed $dateTime )

Prozeduraler Stil

IntlCalendar intlcal_from_date_time ( mixed $dateTime )

Creates an IntlCalendar object either from a DateTime object or from a string from which a DateTime object can be built.

The new calendar will represent not only the same instant as the given DateTime (subject to precision loss for dates very far into the past or future), but also the same timezone (subject to the caveat that different timezone databases will be used, and therefore the results may differ).

Parameter-Liste

dateTime

A DateTime object or a string that can be passed to DateTime::__construct().

Rückgabewerte

The created IntlCalendar object or NULL in case of failure. If a string is passed, any exception that occurs inside the DateTime constructor is propagated.

Beispiele

Beispiel #1 IntlCalendar::fromDateTime()

<?php
ini_set('date.timezone', 'Europe/Lisbon');

//same as IntlCalendar::fromDateTime(new DateTime(...))
$cal1 = IntlCalendar::fromDateTime('2013-02-28 00:01:02 Europe/Berlin');

//Note the timezone is Europe/Berlin, not the default Europe/Lisbon
echo IntlDateFormatter::formatObject($cal1, 'yyyy MMMM d HH:mm:ss VVVV', 'de_DE'), "\n";

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

2013 Februar 28 00:01:02 Deutschland Zeit

IntlCalendar::fieldDifference
IntlCalendar::get
IntlCalendar


Get the value for a field

IntlCalendar::fromDateTime
IntlCalendar::getActualMaximum
IntlCalendar
PHP Manual

IntlCalendar::get

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::get — Get the value for a field

Beschreibung

Objektorientierter Stil

public int IntlCalendar::get ( int $field )

Prozeduraler Stil

int intlcal_get ( IntlCalendar> $cal , int $field )

Gets the value for a specific field.

Parameter-Liste

cal

The IntlCalendar resource.

field

One of the IntlCalendar date/time field constants. These are integer values between 0 and IntlCalendar::FIELD_COUNT.

Rückgabewerte

An integer with the value of the time field.

Beispiele

Beispiel #1 IntlCalendar::get()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'en_US');

$class = new ReflectionClass('IntlCalendar');
$fields = array();
foreach ($class->getConstants() as $name => $val) {
    if (strpos($name, 'FIELD_') !== 0 || $val > 22)
        continue;
    $fields[$val] = $name;
}

$cal = IntlCalendar::createInstance(); // current time
var_dump(IntlDateFormatter::formatObject($cal));
foreach ($fields as $val => $name) {
    echo "$val ($name)", "\n    ", $cal->get($val), "\n";
}

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(23) "Jul 1, 2013, 4:44:44 AM"
0 (FIELD_ERA)
    1
1 (FIELD_YEAR)
    2013
2 (FIELD_MONTH)
    6
3 (FIELD_WEEK_OF_YEAR)
    27
4 (FIELD_WEEK_OF_MONTH)
    1
5 (FIELD_DAY_OF_MONTH)
    1
6 (FIELD_DAY_OF_YEAR)
    182
7 (FIELD_DAY_OF_WEEK)
    2
8 (FIELD_DAY_OF_WEEK_IN_MONTH)
    1
9 (FIELD_AM_PM)
    0
10 (FIELD_HOUR)
    4
11 (FIELD_HOUR_OF_DAY)
    4
12 (FIELD_MINUTE)
    44
13 (FIELD_SECOND)
    44
14 (FIELD_MILLISECOND)
    551
15 (FIELD_ZONE_OFFSET)
    0
16 (FIELD_DST_OFFSET)
    3600000
17 (FIELD_YEAR_WOY)
    2013
18 (FIELD_DOW_LOCAL)
    2
19 (FIELD_EXTENDED_YEAR)
    2013
20 (FIELD_JULIAN_DAY)
    2456475
21 (FIELD_MILLISECONDS_IN_DAY)
    17084551
22 (FIELD_IS_LEAP_MONTH)
    0

IntlCalendar::fromDateTime
IntlCalendar::getActualMaximum
IntlCalendar


The maximum value for a field, considering the object's current time

IntlCalendar::get
IntlCalendar::getActualMinimum
IntlCalendar
PHP Manual

IntlCalendar::getActualMaximum

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getActualMaximum — The maximum value for a field, considering the object's current time

Beschreibung

Objektorientierter Stil

public int IntlCalendar::getActualMaximum ( int $field )

Prozeduraler Stil

int intlcal_get_actual_maximum ( IntlCalendar $cal , int $field )

Returns a field's relative maximum value around the current time. The exact semantics vary by field, but in the general case this is the value that would be obtained if one would set the field value into the smallest relative maximum for the field and would increment it until reaching the global maximum or the field value wraps around, in which the value returned would be the global maximum or the value before the wrapping, respectively.

For instance, in the gregorian calendar, the actual maximum value for the day of month would vary between 28 and 31, depending on the month and year of the current time.

Parameter-Liste

cal

The IntlCalendar resource.

field

One of the IntlCalendar date/time field constants. These are integer values between 0 and IntlCalendar::FIELD_COUNT.

Rückgabewerte

An int representing the maximum value in the units associated with the given fieldIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 IntlCalendar::getActualMaximum()

<?php
ini_set('date.timezone', 'Europe/Lisbon');

$cal = IntlCalendar::fromDateTime('2013-02-15');
var_dump($cal->getActualMaximum(IntlCalendar::FIELD_DAY_OF_MONTH)); //28

$cal->add(IntlCalendar::FIELD_EXTENDED_YEAR, -1);
var_dump($cal->getActualMaximum(IntlCalendar::FIELD_DAY_OF_MONTH)); //29

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(28)
int(29)

Siehe auch

  • IntlCalendar::getMaximum() - Get the global maximum value for a field
  • IntlCalendar::getLeastMaximum() - Get the smallest local maximum for a field
  • IntlCalendar::getActualMinimum() - The minimum value for a field, considering the object's current time

IntlCalendar::get
IntlCalendar::getActualMinimum
IntlCalendar


The minimum value for a field, considering the object's current time

IntlCalendar::getActualMaximum
IntlCalendar::getAvailableLocales
IntlCalendar
PHP Manual

IntlCalendar::getActualMinimum

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getActualMinimum — The minimum value for a field, considering the object's current time

Beschreibung

Objektorientierter Stil

public int IntlCalendar::getActualMinimum ( int $field )

Prozeduraler Stil

int intlcal_get_actual_minimum ( IntlCalendar $cal , int $field )

Returns a field's relative minimum value around the current time. The exact semantics vary by field, but in the general case this is the value that would be obtained if one would set the field value into the greatest relative minimum for the field and would decrement it until reaching the global minimum or the field value wraps around, in which the value returned would be the global minimum or the value before the wrapping, respectively.

For the Gregorian calendar, this is always the same as IntlCalendar::getMinimum().

Parameter-Liste

cal

The IntlCalendar resource.

field

One of the IntlCalendar date/time field constants. These are integer values between 0 and IntlCalendar::FIELD_COUNT.

Rückgabewerte

An int representing the minimum value in the field's unitIm Fehlerfall wird FALSE zurückgegeben..

Siehe auch

  • IntlCalendar::getMinimum() - Get the global minimum value for a field
  • IntlCalendar::getGreatestMinimum() - Get the largest local minimum value for a field
  • IntlCalendar::getActualMaximum() - The maximum value for a field, considering the object's current time

IntlCalendar::getActualMaximum
IntlCalendar::getAvailableLocales
IntlCalendar


Get array of locales for which there is data

IntlCalendar::getActualMinimum
IntlCalendar::getDayOfWeekType
IntlCalendar
PHP Manual

IntlCalendar::getAvailableLocales

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getAvailableLocales — Get array of locales for which there is data

Beschreibung

Objektorientierter Stil

public static array IntlCalendar::getAvailableLocales ( void )

Prozeduraler Stil

array intlcal_get_available_locales ( void )

Gives the list of locales for which calendars are installed. As of ICU 51, this is the list of all installed ICU locales.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An array of strings, one for which locale.

Beispiele

Beispiel #1 IntlCalendar::getAvailableLocales()()

<?php
print_r(IntlCalendar::getAvailableLocales());

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => af
    [1] => af_NA
    [2] => af_ZA
    [3] => agq
    [4] => agq_CM
    [5] => ak
    [6] => ak_GH
    [7] => am
    [8] => am_ET
    [9] => ar
    [10] => ar_001
    [11] => ar_AE
    [12] => ar_BH
    [13] => ar_DJ
    … output abbreviated …
    [595] => zh_Hant_HK
    [596] => zh_Hant_MO
    [597] => zh_Hant_TW
    [598] => zu
    [599] => zu_ZA
)

IntlCalendar::getActualMinimum
IntlCalendar::getDayOfWeekType
IntlCalendar


Tell whether a day is a weekday, weekend or a day that has a transition between the two

IntlCalendar::getAvailableLocales
IntlCalendar::getErrorCode
IntlCalendar
PHP Manual

IntlCalendar::getDayOfWeekType

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getDayOfWeekType — Tell whether a day is a weekday, weekend or a day that has a transition between the two

Beschreibung

Objektorientierter Stil

public int IntlCalendar::getDayOfWeekType ( int $dayOfWeek )

Prozeduraler Stil

int intlcal_get_day_of_week_type ( IntlCalendar $cal , int $dayOfWeek )

Returns whether the passed day is a weekday (IntlCalendar::DOW_TYPE_WEEKDAY), a weekend day (IntlCalendar::DOW_TYPE_WEEKEND), a day during which a transition occurs into the weekend (IntlCalendar::DOW_TYPE_WEEKEND_OFFSET) or a day during which the weekend ceases (IntlCalendar::DOW_TYPE_WEEKEND_CEASE).

If the return is either
IntlCalendar::DOW_TYPE_WEEKEND_OFFSET or
IntlCalendar::DOW_TYPE_WEEKEND_CEASE, then
IntlCalendar::getWeekendTransition() can be called to
obtain the time of the transition.

This function requires ICU 4.4 or later.

Parameter-Liste

cal

The IntlCalendar resource.

dayOfWeek

One of the constants IntlCalendar::DOW_SUNDAY,
IntlCalendar::DOW_MONDAY, …,
IntlCalendar::DOW_SATURDAY.

Rückgabewerte

Returns one of the constants
IntlCalendar::DOW_TYPE_WEEKDAY,
IntlCalendar::DOW_TYPE_WEEKEND,
IntlCalendar::DOW_TYPE_WEEKEND_OFFSET or
IntlCalendar::DOW_TYPE_WEEKEND_CEASEIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 IntlCalendar::getDayOfWeekType()

<?php

foreach (array('en_US', 'ar_SA') as $locale) {
    echo "Locale: ", Locale::getDisplayName($locale, "en_US"), "\n";

    $cal = IntlCalendar::createInstance('UTC', $locale);

    for ($i = IntlCalendar::DOW_SUNDAY; $i <= IntlCalendar::DOW_SATURDAY; $i++) {
        echo $i, " ", $cal->getDayOfWeekType($i), " ",
                $cal->getDayOfWeekType($i) >= IntlCalendar::DOW_TYPE_WEEKEND_OFFSET
                        ? $cal->getWeekendTransition($i)
                        : '',
                "\n";
    }
    echo "\n";
}

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Locale: English (United States)
1 3 86400000
2 0
3 0
4 0
5 0
6 0
7 1

Locale: Arabic (Saudi Arabia)
1 0
2 0
3 0
4 0
5 1
6 3 86400000
7 0

IntlCalendar::getAvailableLocales
IntlCalendar::getErrorCode
IntlCalendar


Get last error code on the object

IntlCalendar::getDayOfWeekType
IntlCalendar::getErrorMessage
IntlCalendar
PHP Manual

IntlCalendar::getErrorCode

intlcal_get_error_code

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getErrorCode -- intlcal_get_error_code — Get last error code on the object

Beschreibung

Objektorientierter Stil (method):

public int IntlCalendar::getErrorCode ( void )

Prozeduraler Stil:

int intlcal_get_error_code ( IntlCalendar $calendar )

Returns the numeric ICU error code for the last call on this object (including cloning) or the IntlCalendar given for the calendar parameter (in the procedural?style version). This may indicate only a warning (negative error code) or no error at all (U_ZERO_ERROR). The actual presence of an error can be tested with intl_is_failure().

Invalid arguments detected on the PHP side (before invoking functions of the ICU library) are not recorded for the purposes of this function.

The last error that occurred in any call to a function of the intl extension, including early argument errors, can be obtained with intl_get_error_code(). This function resets the global error code, but not the object's error code.

Parameter-Liste

calendar

The calendar object, on the procedural style interface.

Rückgabewerte

An ICU error code indicating either success, failure or a warning.

Beispiele

Beispiel #1 IntlCalendar::getErrorCode() and IntlCalendar::getErrorMessage()

<?php
ini_set("intl.error_level", E_WARNING);
ini_set("intl.default_locale", "nl");

$intlcal = new IntlGregorianCalendar(2012, 1, 29);
var_dump(
    $intlcal->getErrorCode(),
    $intlcal->getErrorMessage()
);
$intlcal->fieldDifference(-1e100, IntlCalendar::FIELD_SECOND);

var_dump(
    $intlcal->getErrorCode(),
    $intlcal->getErrorMessage()
);

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(0)
string(12) "U_ZERO_ERROR"

Warning: IntlCalendar::fieldDifference(): intlcal_field_difference: Call to ICU method has failed in /home/glopes/php/ws/example.php on line 10
int(1)
string(81) "intlcal_field_difference: Call to ICU method has failed: U_ILLEGAL_ARGUMENT_ERROR"

Siehe auch

  • IntlCalendar::getErrorMessage() - Get last error message on the object
  • intl_is_failure() - Check whether the given error code indicates failure
  • intl_error_name() - Get symbolic name for a given error code
  • intl_get_error_code() - Get the last error code
  • intl_get_error_message() - Get description of the last error

IntlCalendar::getDayOfWeekType
IntlCalendar::getErrorMessage
IntlCalendar


Get last error message on the object

IntlCalendar::getErrorCode
IntlCalendar::getFirstDayOfWeek
IntlCalendar
PHP Manual

IntlCalendar::getErrorMessage

intlcal_get_error_message

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getErrorMessage -- intlcal_get_error_message — Get last error message on the object

Beschreibung

Objektorientierter Stil (method):

public string IntlCalendar::getErrorMessage ( void )

Prozeduraler Stil:

string intlcal_get_error_message ( IntlCalendar $calendar )

Returns the error message (if any) associated with the error reported by IntlCalendar::getErrorCode() or intlcal_get_error_code(). If there is no associated error message, only the string representation of the name of the error constant will be returned. Otherwise, the message also includes a message set on the side of the PHP binding.

Parameter-Liste

calendar

The calendar object, on the procedural style interface.

Rückgabewerte

The error message associated with last error that occurred in a function call on this object, or a string indicating the non-existance of an error.

Beispiele

Beispiel #1 IntlCalendar::getErrorMessage()

<?php
$cal = IntlCalendar::createInstance('UTC', 'en_US');
var_dump($cal->getErrorMessage());

$cal->getWeekendTransition(IntlCalendar::DOW_WEDNESDAY);
var_dump($cal->getErrorMessage());

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(12) "U_ZERO_ERROR"
string(82) "intlcal_get_weekend_transition: Error calling ICU method: U_ILLEGAL_ARGUMENT_ERROR"

IntlCalendar::getErrorCode
IntlCalendar::getFirstDayOfWeek
IntlCalendar


Get the first day of the week for the calendar's locale

IntlCalendar::getErrorMessage
IntlCalendar::getGreatestMinimum
IntlCalendar
PHP Manual

IntlCalendar::getFirstDayOfWeek

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getFirstDayOfWeek — Get the first day of the week for the calendar's locale

Beschreibung

Objektorientierter Stil

public int IntlCalendar::getFirstDayOfWeek ( void )

Prozeduraler Stil

int intlcal_get_first_day_of_week ( IntlCalendar $cal )

The week day deemed to start a week, either the default value for this locale or the value set with IntlCalendar::setFirstDayOfWeek().

Parameter-Liste

cal

The IntlCalendar resource.

Rückgabewerte

One of the constants IntlCalendar::DOW_SUNDAY,
IntlCalendar::DOW_MONDAY, …,
IntlCalendar::DOW_SATURDAYIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 IntlCalendar::getFirstDayOfWeek()

<?php
ini_set('date.timezone', 'UTC');

$cal1 = IntlCalendar::createInstance(NULL, 'es_ES');
var_dump($cal1->getFirstDayOfWeek()); // Monday
$cal1->set(2013, 1 /* February */, 3); // a Sunday
var_dump($cal1->get(IntlCalendar::FIELD_WEEK_OF_YEAR)); // 5

$cal2 = IntlCalendar::createInstance(NULL, 'en_US');
var_dump($cal2->getFirstDayOfWeek()); // Sunday
$cal2->set(2013, 1 /* February */, 3); // a Sunday
var_dump($cal2->get(IntlCalendar::FIELD_WEEK_OF_YEAR)); // 6

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(2)
int(5)
int(1)
int(6)

Siehe auch

  • IntlCalendar::setFirstDayOfWeek() - Set the day on which the week is deemed to start

IntlCalendar::getErrorMessage
IntlCalendar::getGreatestMinimum
IntlCalendar


Get the largest local minimum value for a field

IntlCalendar::getFirstDayOfWeek
IntlCalendar::getKeywordValuesForLocale
IntlCalendar
PHP Manual

IntlCalendar::getGreatestMinimum

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getGreatestMinimum — Get the largest local minimum value for a field

Beschreibung

Objektorientierter Stil

public int IntlCalendar::getGreatestMinimum ( int $field )

Prozeduraler Stil

int intlcal_get_greatest_minimum ( IntlCalendar $cal , int $field )

Returns the largest local minimum for a field. This should be a value larger or equal to that returned by IntlCalendar::getActualMinimum(), which is in its turn larger or equal to that returned by IntlCalendar::getMinimum(). All these three functions return the same value for the Gregorian calendar.

Parameter-Liste

cal

The IntlCalendar resource.

field

One of the IntlCalendar date/time field constants. These are integer values between 0 and IntlCalendar::FIELD_COUNT.

Rückgabewerte

An int representing a field value, in the field's unit,Im Fehlerfall wird FALSE zurückgegeben..

IntlCalendar::getFirstDayOfWeek
IntlCalendar::getKeywordValuesForLocale
IntlCalendar


Get set of locale keyword values

IntlCalendar::getGreatestMinimum
IntlCalendar::getLeastMaximum
IntlCalendar
PHP Manual

IntlCalendar::getKeywordValuesForLocale

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getKeywordValuesForLocale — Get set of locale keyword values

Beschreibung

Objektorientierter Stil

public static Iterator IntlCalendar::getKeywordValuesForLocale ( string $key , string $locale , boolean $commonlyUsed )

Prozeduraler Stil

Iterator intlcal_get_keyword_values_for_locale ( string $key , string $locale , boolean $commonlyUsed )

For a given locale key, get the set of values for that key that would result in a different behavior. For now, only the 'calendar' keyword is supported.

This function requires ICU 4.2 or later.

Parameter-Liste

key

The locale keyword for which relevant values are to be queried. Only 'calendar' is supported.

locale

The locale onto which the keyword/value pair are to be appended.

commonlyUsed

Whether to show only the values commonly used for the specified locale.

Rückgabewerte

An iterator that yields strings with the locale keyword valuesIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 IntlCalendar::getKeyworkValuesForLocale()

<?php
print_r(
        iterator_to_array(
                IntlCalendar::getKeywordValuesForLocale(
                        'calendar', 'fa_IR', true)));
print_r(
        iterator_to_array(
                IntlCalendar::getKeywordValuesForLocale(
                        'calendar', 'fa_IR', false)));

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => persian
    [1] => gregorian
    [2] => islamic
    [3] => islamic-civil
)
Array
(
    [0] => persian
    [1] => gregorian
    [2] => islamic
    [3] => islamic-civil
    [4] => japanese
    [5] => buddhist
    [6] => roc
    [7] => hebrew
    [8] => chinese
    [9] => indian
    [10] => coptic
    [11] => ethiopic
    [12] => ethiopic-amete-alem
)

IntlCalendar::getGreatestMinimum
IntlCalendar::getLeastMaximum
IntlCalendar


Get the smallest local maximum for a field

IntlCalendar::getKeywordValuesForLocale
IntlCalendar::getLocale
IntlCalendar
PHP Manual

IntlCalendar::getLeastMaximum

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getLeastMaximum — Get the smallest local maximum for a field

Beschreibung

Objektorientierter Stil

public int IntlCalendar::getLeastMaximum ( int $field )

Prozeduraler Stil

int intlcal_get_least_maximum ( IntlCalendar $cal , int $field )

Returns the smallest local maximumw for a field. This should be a value smaller or equal to that returned by IntlCalendar::getActualMaxmimum(), which is in its turn smaller or equal to that returned by IntlCalendar::getMaximum().

Parameter-Liste

cal

The IntlCalendar resource.

field

One of the IntlCalendar date/time field constants. These are integer values between 0 and IntlCalendar::FIELD_COUNT.

Rückgabewerte

An int representing a field value in the field's unitIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 Maxima examples

<?php
ini_set('date.timezone', 'UTC');
ini_set('intl.default_locale', 'it_IT');

$cal = new IntlGregorianCalendar(2013, 3 /* April */, 6);
var_dump(
    $cal->getLeastMaximum(IntlCalendar::FIELD_DAY_OF_MONTH),  // 28
    $cal->getActualMaximum(IntlCalendar::FIELD_DAY_OF_MONTH), // 30
    $cal->getMaximum(IntlCalendar::FIELD_DAY_OF_MONTH)        // 31
);

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(28)
int(30)
int(31)

Siehe auch

  • IntlCalendar::getActualMaximum() - The maximum value for a field, considering the object's current time
  • IntlCalendar::getMaximum() - Get the global maximum value for a field
  • IntlCalendar::getGreatestMinimum() - Get the largest local minimum value for a field

IntlCalendar::getKeywordValuesForLocale
IntlCalendar::getLocale
IntlCalendar


Get the locale associated with the object

IntlCalendar::getLeastMaximum
IntlCalendar::getMaximum
IntlCalendar
PHP Manual

IntlCalendar::getLocale

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getLocale — Get the locale associated with the object

Beschreibung

Objektorientierter Stil

public string IntlCalendar::getLocale ( int $localeType )

Prozeduraler Stil

string intlcal_get_locale ( IntlCalendar $cal , int $localeType )

Returns the locale used by this calendar object.

Parameter-Liste

cal

The IntlCalendar resource.

localeType

Whether to fetch the actual locale (the locale from which the calendar data originates, with Locale::ACTUAL_LOCALE) or the valid locale, i.e., the most specific locale supported by ICU relatively to the requested locale – see Locale::VALID_LOCALE. From the most general to the most specific, the locales are ordered in this fashion – actual locale, valid locale, requested locale.

Rückgabewerte

A locale stringIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 IntlCalendar::getLocale()

<?php
$cal = IntlCalendar::createInstance(IntlTimeZone::getGMT(), 'en_US_CALIFORNIA');
var_dump(
    $cal->getLocale(Locale::ACTUAL_LOCALE),
    $cal->getLocale(Locale::VALID_LOCALE)
);

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(2) "en"
string(5) "en_US"

IntlCalendar::getLeastMaximum
IntlCalendar::getMaximum
IntlCalendar


Get the global maximum value for a field

IntlCalendar::getLocale
IntlCalendar::getMinimalDaysInFirstWeek
IntlCalendar
PHP Manual

IntlCalendar::getMaximum

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getMaximum — Get the global maximum value for a field

Beschreibung

Objektorientierter Stil

public int IntlCalendar::getMaximum ( int $field )

Prozeduraler Stil

int intlcal_get_maximum ( IntlCalendar $cal , int $field )

Gets the global maximum for a field, in this specific calendar. This value is larger or equal to that returned by IntlCalendar::getActualMaximum(), which is in its turn larger or equal to that returned by IntlCalendar::getLeastMaximum().

Parameter-Liste

cal

The IntlCalendar resource.

field

One of the IntlCalendar date/time field constants. These are integer values between 0 and IntlCalendar::FIELD_COUNT.

Rückgabewerte

An int representing a field value in the field's unitIm Fehlerfall wird FALSE zurückgegeben..

Siehe auch

  • IntlCalendar::getActualMaximum() - The maximum value for a field, considering the object's current time
  • IntlCalendar::getLeastMaximum() - Get the smallest local maximum for a field
  • IntlCalendar::getMinimum() - Get the global minimum value for a field

IntlCalendar::getLocale
IntlCalendar::getMinimalDaysInFirstWeek
IntlCalendar


Get minimal number of days the first week in a year or month can have

IntlCalendar::getMaximum
IntlCalendar::getMinimum
IntlCalendar
PHP Manual

IntlCalendar::getMinimalDaysInFirstWeek

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getMinimalDaysInFirstWeek — Get minimal number of days the first week in a year or month can have

Beschreibung

Objektorientierter Stil

public int IntlCalendar::getMinimalDaysInFirstWeek ( void )

Prozeduraler Stil

int intlcal_get_minimal_days_in_first_week ( IntlCalendar $cal )

Returns the smallest number of days the first week of a year or month must have in the new year or month. For instance, in the Gregorian calendar, if this value is 1, then the first week of the year will necessarily include January 1st, while if this value is 7, then the week with January 1st will be the first week of the year only if the day of the week for January 1st matches the day of the week returned by IntlCalendar::getFirstDayOfWeek(); otherwise it will be the previous year's last week.

Parameter-Liste

cal

The IntlCalendar resource.

Rückgabewerte

An int representing a number of daysIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 IntlCalendar::getMinimalDaysInFirstWeek()

<?php
ini_set('date.timezone', 'UTC');
ini_set('intl.default_locale', 'en_US');

$cal = new IntlGregorianCalendar(2013, 0 /* January */, 2);
var_dump(IntlDateFormatter::formatObject($cal, 'cccc')); // Wednesday

var_dump($cal->getMinimalDaysInFirstWeek(), // 1
$cal->getFirstDayofWeek()); // 1 (Sunday)

// Week 1 of 2013
var_dump(IntlDateFormatter::formatObject($cal, "'Week 'w' of 'Y"));

$cal->setMinimalDaysInFirstWeek(4);
// Still Week 1 of 2013 (1st week has 5 days in the new year)
var_dump(IntlDateFormatter::formatObject($cal, "'Week 'w' of 'Y"));

$cal->setMinimalDaysInFirstWeek(6);
// Week 53 of 2012
var_dump(IntlDateFormatter::formatObject($cal, "'Week 'w' of 'Y"));

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(9) "Wednesday"
int(1)
int(1)
string(14) "Week 1 of 2013"
string(14) "Week 1 of 2013"
string(15) "Week 53 of 2012"

IntlCalendar::getMaximum
IntlCalendar::getMinimum
IntlCalendar


Get the global minimum value for a field

IntlCalendar::getMinimalDaysInFirstWeek
IntlCalendar::getNow
IntlCalendar
PHP Manual

IntlCalendar::getMinimum

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getMinimum — Get the global minimum value for a field

Beschreibung

Objektorientierter Stil

public int IntlCalendar::getMinimum ( int $field )

Prozeduraler Stil

int intlcal_get_minimum ( IntlCalendar $cal , int $field )

Gets the global minimum for a field, in this specific calendar. This value is smaller or equal to that returned by IntlCalendar::getActualMinimum(), which is in its turn smaller or equal to that returned by IntlCalendar::getGreatestMinimum(). For the Gregorian calendar, these three functions always return the same value (for each field).

Parameter-Liste

cal

The IntlCalendar resource.

field

One of the IntlCalendar date/time field constants. These are integer values between 0 and IntlCalendar::FIELD_COUNT.

Rückgabewerte

An int representing a value for the given field in the field's unitIm Fehlerfall wird FALSE zurückgegeben..

IntlCalendar::getMinimalDaysInFirstWeek
IntlCalendar::getNow
IntlCalendar


Get number representing the current time

IntlCalendar::getMinimum
IntlCalendar::getRepeatedWallTimeOption
IntlCalendar
PHP Manual

IntlCalendar::getNow

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getNow — Get number representing the current time

Beschreibung

Objektorientierter Stil

public static float IntlCalendar::getNow ( void )

Prozeduraler Stil

float intlcal_get_now ( void )

The number of milliseconds that have passed since the reference date. This number is derived from the system time.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A float representing a number of milliseconds since the epoch, not counting leap seconds.

Beispiele

Beispiel #1 IntlCalendar::getNow()

<?php
$formatter = IntlDateFormatter::create('es_ES',
        IntlDateFormatter::FULL,
        IntlDateFormatter::FULL,
        'Europe/Madrid');

$val = IntlCalendar::getNow();

var_dump($val);
echo $formatter->format(IntlCalendar::getNow() / 1000.), "\n";

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

float(1371425814666)
lunes, 17 de junio de 2013 01:36:54 Hora de verano de Europa central

IntlCalendar::getMinimum
IntlCalendar::getRepeatedWallTimeOption
IntlCalendar


Get behavior for handling repeating wall time

IntlCalendar::getNow
IntlCalendar::getSkippedWallTimeOption
IntlCalendar
PHP Manual

IntlCalendar::getRepeatedWallTimeOption

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getRepeatedWallTimeOption — Get behavior for handling repeating wall time

Beschreibung

Objektorientierter Stil

public int IntlCalendar::getRepeatedWallTimeOption ( void )

Prozeduraler Stil

int intlcal_get_repeated_wall_time_option ( IntlCalendar $cal )

Gets the current strategy for dealing with wall times that are repeated whenever the clock is set back during dailight saving time end transitions. The default value is IntlCalendar::WALLTIME_LAST.

This function requires ICU 4.9 or later.

Parameter-Liste

cal

The IntlCalendar resource.

Rückgabewerte

One of the constants IntlCalendar::WALLTIME_FIRST or IntlCalendar::WALLTIME_LAST.

Beispiele

Beispiel #1 IntlCalendar::getRepeatedWallTimeOption()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'en_US');
ini_set('intl.error_level', E_WARNING);

//On October 27th at 0200, the clock goes back 1 hour and from GMT+01 to GMT+00
$cal = new IntlGregorianCalendar(2013, 9 /* October */, 27, 1, 30);

var_dump($cal->getRepeatedWalltimeOption()); // 0 WALLTIME_LAST

$formatter = IntlDateFormatter::create(
    NULL,
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'UTC'
);
var_dump($formatter->format($cal->getTime() / 1000.));

$cal->setRepeatedWalltimeOption(IntlCalendar::WALLTIME_FIRST);
var_dump($cal->getRepeatedWalltimeOption()); // 1 WALLTIME_FIRST
$cal->set(IntlCalendar::FIELD_HOUR_OF_DAY, 1);

var_dump($formatter->format($cal->getTime() / 1000.));

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(0)
string(42) "Sunday, October 27, 2013 at 1:30:00 AM GMT"
int(1)
string(43) "Sunday, October 27, 2013 at 12:30:00 AM GMT"

Siehe auch

  • IntlCalendar::getSkippedWallTimeOption() - Get behavior for handling skipped wall time
  • IntlCalendar::setSkippedWallTimeOption() - Set behavior for handling skipped wall times at positive timezone offset transitions
  • IntlCalendar::setRepeatedWallTimeOption() - Set behavior for handling repeating wall times at negative timezone offset transitions

IntlCalendar::getNow
IntlCalendar::getSkippedWallTimeOption
IntlCalendar


Get behavior for handling skipped wall time

IntlCalendar::getRepeatedWallTimeOption
IntlCalendar::getTime
IntlCalendar
PHP Manual

IntlCalendar::getSkippedWallTimeOption

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getSkippedWallTimeOption — Get behavior for handling skipped wall time

Beschreibung

Objektorientierter Stil

public int IntlCalendar::getSkippedWallTimeOption ( void )

Prozeduraler Stil

int intlcal_get_skipped_wall_time_option ( IntlCalendar $cal )

Gets the current strategy for dealing with wall times that are skipped whenever the clock is forwarded during dailight saving time start transitions. The default value is IntlCalendar::WALLTIME_LAST.

The calendar must be lenient for this option to have any effect, otherwise attempting to set a non-existing time will cause an error.

This function requires ICU 4.9 or later.

Parameter-Liste

cal

The IntlCalendar resource.

Rückgabewerte

One of the constants IntlCalendar::WALLTIME_FIRST,
IntlCalendar::WALLTIME_LAST or
IntlCalendar::WALLTIME_NEXT_VALID.

Beispiele

Beispiel #1 IntlCalendar::getSkippedWallTimeOption()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'en_US');
ini_set('intl.error_level', E_WARNING);

//On March 31st at 0100, the clock goes forward 1 hour and from GMT+00 to GMT+01
$cal = new IntlGregorianCalendar(2013, 2 /* March */, 31, 1, 30);

var_dump(
    $cal->isLenient(),               // true
    $cal->getSkippedWalltimeOption() // 0 WALLTIME_LAST
);

$formatter = IntlDateFormatter::create(
    NULL,
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'UTC'
);
var_dump($formatter->format($cal->getTime() / 1000));

$cal->setSkippedWallTimeOption(IntlCalendar::WALLTIME_FIRST);
var_dump($cal->getSkippedWalltimeOption()); // 1 WALLTIME_FIRST
$cal->set(IntlCalendar::FIELD_HOUR_OF_DAY, 1);

var_dump($formatter->format($cal->getTime() / 1000));

$cal->setSkippedWallTimeOption(IntlCalendar::WALLTIME_NEXT_VALID);
var_dump($cal->getSkippedWalltimeOption()); // 2 WALLTIME_NEXT_VALID
$cal->set(IntlCalendar::FIELD_HOUR_OF_DAY, 1);

var_dump($formatter->format($cal->getTime() / 1000));

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
int(0)
string(40) "Sunday, March 31, 2013 at 1:30:00 AM GMT"
int(1)
string(41) "Sunday, March 31, 2013 at 12:30:00 AM GMT"
int(2)
string(40) "Sunday, March 31, 2013 at 1:00:00 AM GMT"

Siehe auch

  • IntlCalendar::getRepeatedWallTimeOption() - Get behavior for handling repeating wall time
  • IntlCalendar::setSkippedWallTimeOption() - Set behavior for handling skipped wall times at positive timezone offset transitions
  • IntlCalendar::setRepeatedWallTimeOption() - Set behavior for handling repeating wall times at negative timezone offset transitions

IntlCalendar::getRepeatedWallTimeOption
IntlCalendar::getTime
IntlCalendar


Get time currently represented by the object

IntlCalendar::getSkippedWallTimeOption
IntlCalendar::getTimeZone
IntlCalendar
PHP Manual

IntlCalendar::getTime

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getTime — Get time currently represented by the object

Beschreibung

Objektorientierter Stil

public float IntlCalendar::getTime ( void )

Prozeduraler Stil

float intlcal_get_time ( IntlCalendar $cal )

Returns the time associated with this object, expressed as the number of milliseconds since the epoch.

Parameter-Liste

cal

The IntlCalendar resource.

Rückgabewerte

A float representing the number of milliseconds elapsed since the reference time (1 Jan 1970 00:00:00 UTC).

Beispiele

Beispiel #1 IntlCalendar::getTime()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'en_US');

$cal = new IntlGregorianCalendar(2013, 4 /* May */, 1, 0, 0, 0);
$time = $cal->getTime();
var_dump($time, $time / 1000 == strtotime('2013-05-01 00:00:00')); //true

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

float(1367362800000)
bool(true)

Siehe auch

  • IntlCalendar::getNow() - Get number representing the current time

IntlCalendar::getSkippedWallTimeOption
IntlCalendar::getTimeZone
IntlCalendar


Get the object's timezone

IntlCalendar::getTime
IntlCalendar::getType
IntlCalendar
PHP Manual

IntlCalendar::getTimeZone

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getTimeZone — Get the object's timezone

Beschreibung

Objektorientierter Stil

public IntlTimeZone IntlCalendar::getTimeZone ( void )

Prozeduraler Stil

IntlTimeZone intlcal_get_time_zone ( IntlCalendar $cal )

Returns the IntlTimeZone object associated with this calendar.

Parameter-Liste

cal

The IntlCalendar resource.

Rückgabewerte

An IntlTimeZone object corresponding to the one used internally in this object.

Beispiele

Beispiel #1 IntlCalendar::getTimeZone()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'en_US');

$cal = IntlCalendar::createInstance();
print_r($cal->getTimeZone());

$cal->setTimeZone('UTC');
print_r($cal->getTimeZone());

$cal = IntlCalendar::fromDateTime('2012-01-01 00:00:00 GMT+03:33');
print_r($cal->getTimeZone());

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

IntlTimeZone Object
(
    [valid] => 1
    [id] => Europe/Lisbon
    [rawOffset] => 0
    [currentOffset] => 3600000
)
IntlTimeZone Object
(
    [valid] => 1
    [id] => UTC
    [rawOffset] => 0
    [currentOffset] => 0
)
IntlTimeZone Object
(
    [valid] => 1
    [id] => GMT+03:33
    [rawOffset] => 12780000
    [currentOffset] => 12780000
)

Siehe auch

  • IntlCalendar::setTimeZone() - Set the timezone used by this calendar
  • IntlCalendar::createInstance() - Create a new IntlCalendar
  • IntlGregorianCalendar::__construct()

IntlCalendar::getTime
IntlCalendar::getType
IntlCalendar


Get the calendar type

IntlCalendar::getTimeZone
IntlCalendar::getWeekendTransition
IntlCalendar
PHP Manual

IntlCalendar::getType

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getType — Get the calendar type

Beschreibung

Objektorientierter Stil

public string IntlCalendar::getType ( void )

Prozeduraler Stil

string intlcal_get_type ( IntlCalendar $cal )

A string describing the type of this calendar. This is one of the valid values for the calendar keyword value 'calendar'.

Parameter-Liste

cal

The IntlCalendar resource.

Rückgabewerte

A string representing the calendar type, such as 'gregorian', 'islamic', etc.

Beispiele

Beispiel #1 IntlCalendar::getType()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'en_US');

$cal = IntlCalendar::createInstance(NULL, '@calendar=ethiopic-amete-alem');
var_dump($cal->getType());

$cal = new IntlGregorianCalendar();
var_dump($cal->getType());

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(19) "ethiopic-amete-alem"
string(9) "gregorian"

IntlCalendar::getTimeZone
IntlCalendar::getWeekendTransition
IntlCalendar


Get time of the day at which weekend begins or ends

IntlCalendar::getType
IntlCalendar::inDaylightTime
IntlCalendar
PHP Manual

IntlCalendar::getWeekendTransition

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getWeekendTransition — Get time of the day at which weekend begins or ends

Beschreibung

Objektorientierter Stil

public int IntlCalendar::getWeekendTransition ( string $dayOfWeek )

Prozeduraler Stil

int intlcal_get_weekend_transition ( IntlCalendar $cal , string $dayOfWeek )

Returns the number of milliseconds after midnight at which the weekend begins or ends.

This is only applicable for days of the week for which
IntlCalendar::getDayOfWeekType() returns either
IntlCalendar::DOW_TYPE_WEEKEND_OFFSET or
IntlCalendar::DOW_TYPE_WEEKEND_CEASE. Calling this
function for other days of the week is an error condition.

This function requires ICU 4.4 or later.

Parameter-Liste

cal

The IntlCalendar resource.

dayOfWeek

One of the constants IntlCalendar::DOW_SUNDAY,
IntlCalendar::DOW_MONDAY, …,
IntlCalendar::DOW_SATURDAY.

Rückgabewerte

The number of milliseconds into the day at which the weekend begins or endsIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

See example on IntlCalendar::getDayOfWeekType().

IntlCalendar::getType
IntlCalendar::inDaylightTime
IntlCalendar


Whether the object's time is in Daylight Savings Time

IntlCalendar::getWeekendTransition
IntlCalendar::isEquivalentTo
IntlCalendar
PHP Manual

IntlCalendar::inDaylightTime

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::inDaylightTime — Whether the object's time is in Daylight Savings Time

Beschreibung

Objektorientierter Stil

public bool IntlCalendar::inDaylightTime ( void )

Prozeduraler Stil

bool intlcal_in_daylight_time ( IntlCalendar $cal )

Whether, for the instant represented by this object and for this object's timezone, daylight saving time is in place.

Parameter-Liste

cal

The IntlCalendar resource.

Rückgabewerte

Returns TRUE if the date is in Daylight Savings Time, FALSE otherwise. The value FALSE may also be returned on failure, for instance after specifying invalid field values on non-lenient mode; use exceptions or query intl_get_error_code() to disambiguate.

Beispiele

Beispiel #1 IntlCalendar::inDaylightTime()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'pt_PT');

$cal = new IntlGregorianCalendar(2013, 6 /* July */, 1, 4, 56, 31);
var_dump($cal->inDaylightTime()); // true
$cal->set(IntlCalendar::FIELD_MONTH, 11 /* December */);
var_dump($cal->inDaylightTime()); // false

//DST end transition on 2013-10-27 at 0200 (wall time back 1 hour)
$cal = new IntlGregorianCalendar(2013, 9 /* October */, 27, 1, 30, 0);

var_dump($cal->inDaylightTime()); // false (default WALLTIME_LAST)

$cal->setRepeatedWallTimeOption(IntlCalendar::WALLTIME_FIRST);
$cal->set(IntlCalendar::FIELD_HOUR_OF_DAY, 1); // force time recalculation
var_dump($cal->inDaylightTime()); // true

IntlCalendar::getWeekendTransition
IntlCalendar::isEquivalentTo
IntlCalendar


Whether another calendar is equal but for a different time

IntlCalendar::inDaylightTime
IntlCalendar::isLenient
IntlCalendar
PHP Manual

IntlCalendar::isEquivalentTo

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::isEquivalentTo — Whether another calendar is equal but for a different time

Beschreibung

Objektorientierter Stil

public bool IntlCalendar::isEquivalentTo ( IntlCalendar $other )

Prozeduraler Stil

bool intlcal_is_equivalent_to ( IntlCalendar $cal , IntlCalendar $other )

Returns whether this and the given object are equivalent for all purposes except as to the time they have set. The locales do not have to match, as long as no change in behavior results from such mismatch. This includes the timezone, whether the lenient mode is set, the repeated and skipped wall time settings, the days of the week when the weekend starts and ceases and the times where such transitions occur. It may also include other calendar specific settings, such as the Gregorian/Julian transition instant.

Parameter-Liste

cal

The IntlCalendar resource.

other

The other calendar against which the comparison is to be made.

Rückgabewerte

Assuming there are no argument errors, returns TRUE iif the calendars are equivalent except possibly for their set time.

Beispiele

Beispiel #1 IntlCalendar::isEquivalentTo()

<?php
$cal1 = IntlCalendar::createInstance('Europe/Lisbon', 'pt_PT');
$cal2 = IntlCalendar::createInstance('Europe/Lisbon', 'es_ES');
$cal2->clear();

var_dump($cal1->isEquivalentTo($cal2)); // true

$cal3 = IntlCalendar::createInstance('Europe/Lisbon', 'en_US');
var_dump($cal1->isEquivalentTo($cal3)); // false
var_dump($cal1->getFirstDayOfWeek(),    // 2 (Monday)
$cal3->getFirstDayOfWeek());            // 1 (Sunday)

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(false)
int(2)
int(1)

Siehe auch

  • IntlCalendar::equals() - Compare time of two IntlCalendar objects for equality

IntlCalendar::inDaylightTime
IntlCalendar::isLenient
IntlCalendar


Whether date/time interpretation is in lenient mode

IntlCalendar::isEquivalentTo
IntlCalendar::isSet
IntlCalendar
PHP Manual

IntlCalendar::isLenient

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::isLenient — Whether date/time interpretation is in lenient mode

Beschreibung

Objektorientierter Stil

public bool IntlCalendar::isLenient ( void )

Prozeduraler Stil

bool intlcal_is_lenient ( IntlCalendar $cal )

Returns whether the current date/time interpretations is lenient (the default). If that is case, some out of range values for fields will be accepted instead of raising an error.

Parameter-Liste

cal

The IntlCalendar resource.

Rückgabewerte

A bool representing whether the calendar is set to lenient mode.

Beispiele

Beispiel #1 IntlCalendar::isLenient()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'pt_PT');
ini_set('intl.use_exceptions', '1');

$cal = new IntlGregorianCalendar(2013, 6 /* July */, 1);
var_dump(IntlDateFormatter::formatObject($cal), // 01/07/2013, 00:00:00
$cal->isLenient()); // true

$cal->set(IntlCalendar::FIELD_DAY_OF_MONTH, 33);
var_dump(IntlDateFormatter::formatObject($cal)); // 02/08/2013, 00:00:00

$cal->setLenient(false);
var_dump($cal->isLenient()); // false
$cal->set(IntlCalendar::FIELD_DAY_OF_MONTH, 33);
var_dump(IntlDateFormatter::formatObject($cal)); // error

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(20) "01/07/2013, 00:00:00"
bool(true)
string(20) "02/08/2013, 00:00:00"
bool(false)

Fatal error: Uncaught exception 'IntlException' with message 'datefmt_format_object: error obtaining instant from IntlCalendar' in /home/foobar/example.php:16
Stack trace:
#0 /home/foobar/example.php(16): IntlDateFormatter::formatObject(Object(IntlGregorianCalendar))
#1 {main}
  thrown in /home/foobar/example.php on line 16

IntlCalendar::isEquivalentTo
IntlCalendar::isSet
IntlCalendar


Whether a field is set

IntlCalendar::isLenient
IntlCalendar::isWeekend
IntlCalendar
PHP Manual

IntlCalendar::isSet

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::isSet — Whether a field is set

Beschreibung

Objektorientierter Stil

public bool IntlCalendar::isSet ( int $field )

Prozeduraler Stil

bool intlcal_is_set ( IntlCalendar $cal , int $field )

Returns whether a field is set (as opposed to clear). Set fields take priority over unset fields and their default values when the date/time is being calculated. Fields set later take priority over fields set earlier.

Parameter-Liste

cal

The IntlCalendar resource.

field

One of the IntlCalendar date/time field constants. These are integer values between 0 and IntlCalendar::FIELD_COUNT.

Rückgabewerte

Assuming there are no argument errors, returns TRUE iif the field is set.

Beispiele

See the example on IntlCalendar::clear().

Siehe auch

  • IntlCalendar::clear() - Clear a field or all fields
  • IntlCalendar::set() - Set a time field or several common fields at once

IntlCalendar::isLenient
IntlCalendar::isWeekend
IntlCalendar


Whether a certain date/time is in the weekend

IntlCalendar::isSet
IntlCalendar::roll
IntlCalendar
PHP Manual

IntlCalendar::isWeekend

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::isWeekend — Whether a certain date/time is in the weekend

Beschreibung

Objektorientierter Stil

public bool IntlCalendar::isWeekend ([ float $date = NULL ] )

Prozeduraler Stil

bool intlcal_is_weekend ( IntlCalendar $cal [, float $date = NULL ] )

Returns whether either the obejct's current time or the provided timestamp occur during a weekend in this object's calendar system.

This function requires ICU 4.4 or later.

Parameter-Liste

cal

The IntlCalendar resource.

date

An optional timestamp representing the number of milliseconds since the epoch, excluding leap seconds. If NULL, this object's current time is used instead.

Rückgabewerte

A bool indicating whether the given or this object's time occurs in a weekend.

The value FALSE may also be returned on failure, for instance after giving a date out of bounds on non-lenient mode; use exceptions or query intl_get_error_code() to disambiguate.

Beispiele

Beispiel #1 IntlCalendar::isWeekend()

<?php
ini_set('date.timezone', 'Europe/Lisbon');

$cal = new IntlGregorianCalendar(NULL, 'en_US');
$cal->set(2013, 6 /* July */, 7); // a Sunday

var_dump($cal->isWeekend()); // true
var_dump($cal->isWeekend(strtotime('2013-07-01 00:00:00'))); // false, Monday

$cal = new IntlGregorianCalendar(NULL, 'ar_SA');
$cal->set(2013, 6 /* July */, 7); // a Sunday
var_dump($cal->isWeekend()); // false, Sunday not in weekend in this calendar

Siehe auch

  • IntlCalendar::getDayOfWeekType() - Tell whether a day is a weekday, weekend or a day that has a transition between the two
  • IntlCalendar::getWeekendTransition() - Get time of the day at which weekend begins or ends

IntlCalendar::isSet
IntlCalendar::roll
IntlCalendar


Add value to field without carrying into more significant fields

IntlCalendar::isWeekend
IntlCalendar::set
IntlCalendar
PHP Manual

IntlCalendar::roll

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::roll — Add value to field without carrying into more significant fields

Beschreibung

Objektorientierter Stil

public bool IntlCalendar::roll ( int $field , mixed $amountOrUpOrDown )

Prozeduraler Stil

bool intlcal_roll ( IntlCalendar $cal , int $field , mixed $amountOrUpOrDown )

Adds a (signed) amount to a field. The difference with respect to IntlCalendar::add() is that when the field value overflows, it does not carry into more significant fields.

Parameter-Liste

cal

The IntlCalendar resource.

field

One of the IntlCalendar date/time field constants. These are integer values between 0 and IntlCalendar::FIELD_COUNT.

amountOrUpOrDown

The (signed) amount to add to the field, TRUE for rolling up (adding 1), or FALSE for rolling down (subtracting 1).

Rückgabewerte

Returns TRUE on success or FALSE on failure.

Beispiele

Beispiel #1 IntlCalendar::roll()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'pt_PT');

$cal = new IntlGregorianCalendar(2013, 5 /* June */, 30);

$cal->add(IntlCalendar::FIELD_DAY_OF_MONTH, 1);
var_dump(IntlDateFormatter::formatObject($cal)); // "01/07/2013, 00:00:00"

$cal->set(2013, 5 /* June */, 30);
$cal->roll(IntlCalendar::FIELD_DAY_OF_MONTH, true); // roll up, same as rolling +1
var_dump(IntlDateFormatter::formatObject($cal)); // "01/06/2013, 00:00:00"

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(20) "01/07/2013, 00:00:00"
string(20) "01/06/2013, 00:00:00"

Siehe auch

  • IntlCalendar::add() - Add a (signed) amount of time to a field
  • IntlCalendar::set() - Set a time field or several common fields at once

IntlCalendar::isWeekend
IntlCalendar::set
IntlCalendar


Set a time field or several common fields at once

IntlCalendar::roll
IntlCalendar::setFirstDayOfWeek
IntlCalendar
PHP Manual

IntlCalendar::set

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::set — Set a time field or several common fields at once

Beschreibung

Objektorientierter Stil

public bool IntlCalendar::set ( int $field , int $value )
public bool IntlCalendar::set ( int $year , int $month [, int $dayOfMonth = NULL [, int $hour = NULL [, int $minute = NULL [, int $second = NULL ]]]] )

Prozeduraler Stil

bool intlcal_set ( IntlCalendar $cal , int $field , int $value )
bool intlcal_set ( IntlCalendar $cal , int $year , int $month [, int $dayOfMonth = NULL [, int $hour = NULL [, int $minute = NULL [, int $second = NULL ]]]] )

Sets either a specific field to the given value, or sets at once several common fields. The range of values that are accepted depend on whether the calendar is using the lenient mode.

For fields that conflict, the fields that are set later have priority.

This method cannot be called with exactly four arguments.

Parameter-Liste

cal

The IntlCalendar resource.

field

One of the IntlCalendar date/time field constants. These are integer values between 0 and IntlCalendar::FIELD_COUNT.

value

The new value of the given field.

year

The new value for IntlCalendar::FIELD_YEAR.

month

The new value for IntlCalendar::FIELD_MONTH.

dayOfMonth

The new value for IntlCalendar::FIELD_DAY_OF_MONTH. The month sequence is zero-based, i.e., January is represented by 0, February by 1, …, December is 11 and Undecember (if the calendar has it) is 12.

hour

The new value for IntlCalendar::FIELD_HOUR_OF_DAY.

minute

The new value for IntlCalendar::FIELD_MINUTE.

second

The new value for IntlCalendar::FIELD_SECOND.

Rückgabewerte

Returns TRUE on success and FALSE on failure.

Beispiele

Beispiel #1 IntlCalendar::set()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'pt_PT');

//Calls made later have priority
$cal = new IntlGregorianCalendar(2013, 6 /* July */, 1);
$cal->set(IntlCalendar::FIELD_YEAR, 2012);
$cal->set(IntlCalendar::FIELD_EXTENDED_YEAR, 2011);
var_dump(IntlDateFormatter::formatObject($cal));

$cal = new IntlGregorianCalendar(2013, 6 /* July */, 1);
$cal->set(IntlCalendar::FIELD_YEAR, 2012);
$cal->set(IntlCalendar::FIELD_EXTENDED_YEAR, 2011);
//the time has not been recalculated yet. If we clear the extended year,
//the year set before will be used
$cal->clear(IntlCalendar::FIELD_EXTENDED_YEAR);
var_dump(IntlDateFormatter::formatObject($cal));

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(20) "01/07/2011, 00:00:00"
string(20) "01/07/2012, 00:00:00"

Siehe auch

  • IntlCalendar::get() - Get the value for a field
  • IntlCalendar::add() - Add a (signed) amount of time to a field
  • IntlCalendar::roll() - Add value to field without carrying into more significant fields

IntlCalendar::roll
IntlCalendar::setFirstDayOfWeek
IntlCalendar


Set the day on which the week is deemed to start

IntlCalendar::set
IntlCalendar::setLenient
IntlCalendar
PHP Manual

IntlCalendar::setFirstDayOfWeek

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::setFirstDayOfWeek — Set the day on which the week is deemed to start

Beschreibung

Objektorientierter Stil

public bool IntlCalendar::setFirstDayOfWeek ( int $dayOfWeek )

Prozeduraler Stil

bool intlcal_set_first_day_of_week ( IntlCalendar $cal , int $dayOfWeek )

Defines the day of week deemed to start the week. This affects the behavior of fields that depend on the concept of week start and end such as IntlCalendar::FIELD_WEEK_OF_YEAR and IntlCalendar::FIELD_YEAR_WOY.

Parameter-Liste

cal

The IntlCalendar resource.

dayOfWeek

One of the constants IntlCalendar::DOW_SUNDAY,
IntlCalendar::DOW_MONDAY, …,
IntlCalendar::DOW_SATURDAY.

Rückgabewerte

Returns TRUE on success. Failure can only happen due to invalid parameters.

Beispiele

Beispiel #1 IntlCalendar::setFirstDayOfWeek()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'es_ES');

$cal = IntlCalendar::createInstance();
$cal->set(2013, 5 /* June */, 30); // A Sunday

var_dump($cal->getFirstDayOfWeek()); // 2 (Monday)

echo IntlDateFormatter::formatObject($cal, <<<EOD
'local day of week: 'cc'
week of month    : 'W'
week of year     : 'ww
EOD
), "\n";

$cal->setFirstDayOfWeek(IntlCalendar::DOW_SUNDAY);

echo IntlDateFormatter::formatObject($cal, <<<EOD
'local day of week: 'cc'
week of month    : 'W'
week of year     : 'ww
EOD
), "\n";

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(2)
local day of week: 7
week of month    : 4
week of year     : 26
local day of week: 1
week of month    : 5
week of year     : 27

IntlCalendar::set
IntlCalendar::setLenient
IntlCalendar


Set whether date/time interpretation is to be lenient

IntlCalendar::setFirstDayOfWeek
IntlCalendar::setMinimalDaysInFirstWeek
IntlCalendar
PHP Manual

IntlCalendar::setLenient

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::setLenient — Set whether date/time interpretation is to be lenient

Beschreibung

Objektorientierter Stil

public ReturnType IntlCalendar::setLenient ( string $isLenient )

Prozeduraler Stil

ReturnType intlcal_set_lenient ( IntlCalendar $cal , string $isLenient )

Defines whether the calendar is ‘lenient mode’. In such a mode, some of out-of-bounds values for some fields are accepted, the behavior being similar to that of IntlCalendar::add() (i.e., the value wraps around, carrying into more significant fields each time). If the lenient mode is off, then such values will generate an error.

Parameter-Liste

cal

The IntlCalendar resource.

isLenient

Use TRUE to activate the lenient mode; FALSE otherwise.

Rückgabewerte

Returns TRUE on success. Failure can only happen due to invalid parameters.

Beispiele

See the example in IntlCalendar::isLenient().

IntlCalendar::setFirstDayOfWeek
IntlCalendar::setMinimalDaysInFirstWeek
IntlCalendar


Set minimal number of days the first week in a year or month can have

IntlCalendar::setLenient
IntlCalendar::setRepeatedWallTimeOption
IntlCalendar
PHP Manual

IntlCalendar::setMinimalDaysInFirstWeek

(No version information available, might only be in Git)

IntlCalendar::setMinimalDaysInFirstWeek — Set minimal number of days the first week in a year or month can have

Beschreibung

Objektorientierter Stil

public bool IntlCalendar::setMinimalDaysInFirstWeek ( int $minimalDays )

Prozeduraler Stil

bool intlcal_get_minimal_days_in_first_week ( IntlCalendar $cal , int $minimalDays )

Sets the smallest number of days the first week of a year or month must have in the new year or month. For instance, in the Gregorian calendar, if this value is 1, then the first week of the year will necessarily include January 1st, while if this value is 7, then the week with January 1st will be the first week of the year only if the day of the week for January 1st matches the day of the week returned by IntlCalendar::getFirstDayOfWeek(); otherwise it will be the previous year's last week.

Parameter-Liste

cal

The IntlCalendar resource.

minimalDays

The number of minimal days to set.

Rückgabewerte

TRUE on success, FALSE on failure.

IntlCalendar::setLenient
IntlCalendar::setRepeatedWallTimeOption
IntlCalendar


Set behavior for handling repeating wall times at negative timezone offset transitions

IntlCalendar::setMinimalDaysInFirstWeek
IntlCalendar::setSkippedWallTimeOption
IntlCalendar
PHP Manual

IntlCalendar::setRepeatedWallTimeOption

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::setRepeatedWallTimeOption — Set behavior for handling repeating wall times at negative timezone offset transitions

Beschreibung

Objektorientierter Stil

public bool IntlCalendar::setRepeatedWallTimeOption ( int $wallTimeOption )

Prozeduraler Stil

bool intlcal_set_repeated_wall_time_option ( IntlCalendar $cal , int $wallTimeOption )

Sets the current strategy for dealing with wall times that are repeated whenever the clock is set back during dailight saving time end transitions. The default value is IntlCalendar::WALLTIME_LAST (take the post-DST instant). The other possible value is IntlCalendar::WALLTIME_FIRST (take the instant that occurs during DST).

This function requires ICU 4.9 or later.

Parameter-Liste

cal

The IntlCalendar resource.

wallTimeOption

One of the constants IntlCalendar::WALLTIME_FIRST or IntlCalendar::WALLTIME_LAST.

Rückgabewerte

Returns TRUE on success. Failure can only happen due to invalid parameters.

Beispiele

See the example on IntlCalendar::getRepeatedWallTimeOption().

Siehe auch

  • intlCalendar::getRepeatedWallTimeOption() - Get behavior for handling repeating wall time
  • intlCalendar::setSkippedWallTimeOption() - Set behavior for handling skipped wall times at positive timezone offset transitions
  • intlCalendar::getSkippedWallTimeOption() - Get behavior for handling skipped wall time

IntlCalendar::setMinimalDaysInFirstWeek
IntlCalendar::setSkippedWallTimeOption
IntlCalendar


Set behavior for handling skipped wall times at positive timezone offset transitions

IntlCalendar::setRepeatedWallTimeOption
IntlCalendar::setTime
IntlCalendar
PHP Manual

IntlCalendar::setSkippedWallTimeOption

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::setSkippedWallTimeOption — Set behavior for handling skipped wall times at positive timezone offset transitions

Beschreibung

Objektorientierter Stil

public bool IntlCalendar::setSkippedWallTimeOption ( int $wallTimeOption )

Prozeduraler Stil

bool intlcal_set_skipped_wall_time_option ( IntlCalendar $cal , int $wallTimeOption )

Sets the current strategy for dealing with wall times that are skipped whenever the clock is forwarded during dailight saving time start transitions. The default value is IntlCalendar::WALLTIME_LAST (take it as being the same instant as the one when the wall time is one hour more). Alternative values are IntlCalendar::WALLTIME_FIRST (same instant as the one with a wall time of one hour less) and IntlCalendar::WALLTIME_NEXT_VALID (same instant as when DST begins).

This affects only the instant represented by the calendar (as reported by IntlCalendar::getTime()), the field values will not be rewritten accordingly.

The calendar must be lenient for this option to have any effect, otherwise attempting to set a non-existing time will cause an error.

This function requires ICU 4.9 or later.

Parameter-Liste

cal

The IntlCalendar resource.

wallTimeOption

One of the constants IntlCalendar::WALLTIME_FIRST,
IntlCalendar::WALLTIME_LAST or
IntlCalendar::WALLTIME_NEXT_VALID.

Rückgabewerte

Returns TRUE on success. Failure can only happen due to invalid parameters.

Beispiele

See the example on IntlCalendar::getSkippedWallTimeOption().

Siehe auch

  • intlCalendar::getSkippedWallTimeOption() - Get behavior for handling skipped wall time
  • intlCalendar::setRepeatedWallTimeOption() - Set behavior for handling repeating wall times at negative timezone offset transitions
  • intlCalendar::getRepeatedWallTimeOption() - Get behavior for handling repeating wall time

IntlCalendar::setRepeatedWallTimeOption
IntlCalendar::setTime
IntlCalendar


Set the calendar time in milliseconds since the epoch

IntlCalendar::setSkippedWallTimeOption
IntlCalendar::setTimeZone
IntlCalendar
PHP Manual

IntlCalendar::setTime

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::setTime — Set the calendar time in milliseconds since the epoch

Beschreibung

Objektorientierter Stil

public bool IntlCalendar::setTime ( float $date )

Prozeduraler Stil

bool intlcal_set_time ( IntlCalendar $cal , float $date )

Sets the instant represented by this object. The instant is represented by a float whose value should be an integer number of milliseconds since the epoch (1 Jan 1970 00:00:00.000 UTC), ignoring leap seconds. All the field values will be recalculated accordingly.

Parameter-Liste

cal

The IntlCalendar resource.

date

An instant represented by the number of number of milliseconds between such instant and the epoch, ignoring leap seconds.

Rückgabewerte

Returns TRUE on success and FALSE on failure.

Beispiele

Beispiel #1 IntlCalendar::setTime()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'fr_FR');

$cal = new IntlGregorianCalendar(2013, 5 /* May */, 1, 12, 0, 0);

echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL), "\n";

/* In Europe/Lisbon, on 2013-10-27 at 0200, the clock goes back one hour and
   the timezone from UTC+01 to UTC+00 */

$cal->setTime(strtotime('2013-10-27 00:30:00 UTC') * 1000.);

echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL), "\n";

$cal->setTime(strtotime('2013-10-27 01:30:00 UTC') * 1000.);

echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL), "\n";

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

samedi 1 juin 2013 12:00:00 heure avancée d’Europe de l’Ouest
dimanche 27 octobre 2013 01:30:00 heure avancée d’Europe de l’Ouest
dimanche 27 octobre 2013 01:30:00 heure normale d’Europe de l’Ouest

IntlCalendar::setSkippedWallTimeOption
IntlCalendar::setTimeZone
IntlCalendar


Set the timezone used by this calendar

IntlCalendar::setTime
IntlCalendar::toDateTime
IntlCalendar
PHP Manual

IntlCalendar::setTimeZone

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::setTimeZone — Set the timezone used by this calendar

Beschreibung

Objektorientierter Stil

public bool IntlCalendar::setTimeZone ( mixed $timeZone )

Prozeduraler Stil

bool intlcal_set_time_zone ( IntlCalendar $cal , mixed $timeZone )

Defines a new timezone for this calendar. The time represented by the object is preserved to the detriment of the field values.

Parameter-Liste

cal

The IntlCalendar resource.

timeZone

The new timezone to be used by this calendar. It can be specified in the following ways:

  • NULL, in which case the default timezone will be used, as specified in the ini setting date.timezone or through the function date_default_timezone_set() and as returned by date_default_timezone_get().

  • An IntlTimeZone, which will be used directly.

  • A DateTimeZone. Its identifier will be extracted and an ICU timezone object will be created; the timezone will be backed by ICU's database, not PHP's.

  • A string, which should be a valid ICU timezone identifier. See IntlTimeZone::createTimeZoneIDEnumeration(). Raw offsets such as "GMT+08:30" are also accepted.

Rückgabewerte

Returns TRUE on success and FALSE on failure.

Beispiele

Beispiel #1 IntlCalendar::setTimeZone()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'es_ES');

$cal = new IntlGregorianCalendar(2013, 5 /* May */, 1, 12, 0, 0);

echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL), "\n";
echo "(instant {$cal->getTime()})\n";

$cal->setTimeZone(IntlTimeZone::getGMT());
echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL), "\n";
echo "(instant {$cal->getTime()})\n";

$cal->setTimeZone('GMT+03:33');
echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL), "\n";
echo "(instant {$cal->getTime()})\n";

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

sábado, 1 de junio de 2013 12:00:00 Hora de verano de Europa occidental
(instant 1370084400000)
sábado, 1 de junio de 2013 11:00:00 GMT
(instant 1370084400000)
sábado, 1 de junio de 2013 14:33:00 GMT+03:33
(instant 1370084400000)

IntlCalendar::setTime
IntlCalendar::toDateTime
IntlCalendar


Convert an IntlCalendar into a DateTime object

IntlCalendar::setTimeZone
IntlTimeZone
IntlCalendar
PHP Manual

IntlCalendar::toDateTime

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a2)

IntlCalendar::toDateTime — Convert an IntlCalendar into a DateTime object

Beschreibung

Objektorientierter Stil

public DateTime IntlCalendar::toDateTime ( void )

Prozeduraler Stil

DateTime intlcal_to_date_time ( IntlCalendar $cal )

Create a DateTime object that represents the same instant (up to second precision, with a rounding error of less than 1 second) and has an analog timezone to this object (the difference being DateTime's timezone will be backed by PHP's timezone while IntlCalendar's timezone is backed by ICU's).

Parameter-Liste

cal

The IntlCalendar resource.

Rückgabewerte

A DateTime object with the same timezone as this object (though using PHP's database instead of ICU's) and the same time, except for the smaller precision (second precision instead of millisecond). Returns FALSE on failure.

Beispiele

Beispiel #1 IntlCalendar::toDateTime()

<?php
ini_set('date.timezone', 'UTC');
ini_set('intl.default_locale', 'pt_PT');

$cal = IntlCalendar::createInstance('Europe/Lisbon'); //current time

$dt = $cal->toDateTime();
print_r($dt);

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

DateTime Object
(
    [date] => 2013-07-02 00:29:13
    [timezone_type] => 3
    [timezone] => Europe/Lisbon
)

Siehe auch

  • IntlCalendar::fromDateTime() - Create an IntlCalendar from a DateTime object or string
  • IntlCalendar::getTime() - Get time currently represented by the object
  • IntlCalendar::createInstance() - Create a new IntlCalendar
  • DateTime:__construct()

IntlCalendar::setTimeZone
IntlTimeZone
IntlCalendar


The IntlTimeZone class

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

Einführung

Klassenbeschreibung

IntlTimeZone {
/* Constants */
const integer DISPLAY_SHORT = 1 ;
const integer DISPLAY_LONG = 2 ;
/* Methoden */
public static integer countEquivalentIDs ( string $zoneId )
public static IntlTimeZone createDefault ( void )
public static IntlIterator createEnumeration ([ mixed $countryOrRawOffset ] )
public static IntlTimeZone createTimeZone ( string $zoneId )
public static IntlTimeZone fromDateTimeZone ( DateTimeZone $zoneId )
public static string getCanonicalID ( string $zoneId [, bool &$isSystemID ] )
public string getDisplayName ([ bool $isDaylight [, integer $style [, string $locale ]]] )
public integer getDSTSavings ( void )
public static string getEquivalentID ( string $zoneId , integer $index )
public integer getErrorCode ( void )
public string getErrorMessage ( void )
public static IntlTimeZone getGMT ( void )
public string getID ( void )
public integer getOffset ( float $date , bool $local , integer &$rawOffset , integer &$dstOffset )
public integer getRawOffset ( void )
public static string getTZDataVersion ( void )
public bool hasSameRules ( IntlTimeZone $otherTimeZone )
public DateTimeZone toDateTimeZone ( void )
public bool useDaylightTime ( void )
}

Vordefinierte Konstanten

IntlTimeZone::DISPLAY_SHORT

IntlTimeZone::DISPLAY_LONG

Inhaltsverzeichnis

  • IntlTimeZone::countEquivalentIDs — Get the number of IDs in the equivalency group that includes the given ID
  • IntlTimeZone::createDefault — Create a new copy of the default timezone for this host
  • IntlTimeZone::createEnumeration — Get an enumeration over time zone IDs associated with the given country or offset
  • IntlTimeZone::createTimeZone — Create a timezone object for the given ID
  • IntlTimeZone::fromDateTimeZone — Create a timezone object from DateTimeZone
  • IntlTimeZone::getCanonicalID — Get the canonical system timezone ID or the normalized custom time zone ID for the given time zone ID
  • IntlTimeZone::getDisplayName — Get a name of this time zone suitable for presentation to the user
  • IntlTimeZone::getDSTSavings — Get the amount of time to be added to local standard time to get local wall clock time
  • IntlTimeZone::getEquivalentID — Get an ID in the equivalency group that includes the given ID
  • IntlTimeZone::getErrorCode — Get last error code on the object
  • IntlTimeZone::getErrorMessage — Get last error message on the object
  • IntlTimeZone::getGMT — Create GMT (UTC) timezone
  • IntlTimeZone::getID — Get timezone ID
  • IntlTimeZone::getOffset — Get the time zone raw and GMT offset for the given moment in time
  • IntlTimeZone::getRawOffset — Get the raw GMT offset (before taking daylight savings time into account
  • IntlTimeZone::getTZDataVersion — Get the timezone data version currently used by ICU
  • IntlTimeZone::hasSameRules — Check if this zone has the same rules and offset as another zone
  • IntlTimeZone::toDateTimeZone — Convert to DateTimeZone object
  • IntlTimeZone::useDaylightTime — Check if this time zone uses daylight savings time
IntlCalendar::toDateTime
IntlTimeZone::countEquivalentIDs
intl


Get the number of IDs in the equivalency group that includes the given ID

IntlTimeZone
IntlTimeZone::createDefault
IntlTimeZone
PHP Manual

IntlTimeZone::countEquivalentIDs

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::countEquivalentIDs — Get the number of IDs in the equivalency group that includes the given ID

Beschreibung

public static integer IntlTimeZone::countEquivalentIDs ( string $zoneId )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

zoneId

Rückgabewerte

IntlTimeZone
IntlTimeZone::createDefault
IntlTimeZone


Create a new copy of the default timezone for this host

IntlTimeZone::countEquivalentIDs
IntlTimeZone::createEnumeration
IntlTimeZone
PHP Manual

IntlTimeZone::createDefault

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::createDefault — Create a new copy of the default timezone for this host

Beschreibung

public static IntlTimeZone IntlTimeZone::createDefault ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

IntlTimeZone::countEquivalentIDs
IntlTimeZone::createEnumeration
IntlTimeZone


Get an enumeration over time zone IDs associated with the given country or offset

IntlTimeZone::createDefault
IntlTimeZone::createTimeZone
IntlTimeZone
PHP Manual

IntlTimeZone::createEnumeration

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::createEnumeration — Get an enumeration over time zone IDs associated with the given country or offset

Beschreibung

public static IntlIterator IntlTimeZone::createEnumeration ([ mixed $countryOrRawOffset ] )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

countryOrRawOffset

Rückgabewerte

IntlTimeZone::createDefault
IntlTimeZone::createTimeZone
IntlTimeZone


Create a timezone object for the given ID

IntlTimeZone::createEnumeration
IntlTimeZone::fromDateTimeZone
IntlTimeZone
PHP Manual

IntlTimeZone::createTimeZone

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::createTimeZone — Create a timezone object for the given ID

Beschreibung

public static IntlTimeZone IntlTimeZone::createTimeZone ( string $zoneId )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

zoneId

Rückgabewerte

IntlTimeZone::createEnumeration
IntlTimeZone::fromDateTimeZone
IntlTimeZone


Create a timezone object from DateTimeZone

IntlTimeZone::createTimeZone
IntlTimeZone::getCanonicalID
IntlTimeZone
PHP Manual

IntlTimeZone::fromDateTimeZone

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::fromDateTimeZone — Create a timezone object from DateTimeZone

Beschreibung

public static IntlTimeZone IntlTimeZone::fromDateTimeZone ( DateTimeZone $zoneId )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

zoneId

Rückgabewerte

IntlTimeZone::createTimeZone
IntlTimeZone::getCanonicalID
IntlTimeZone


Get the canonical system timezone ID or the normalized custom time zone ID for the given time zone ID

IntlTimeZone::fromDateTimeZone
IntlTimeZone::getDisplayName
IntlTimeZone
PHP Manual

IntlTimeZone::getCanonicalID

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::getCanonicalID — Get the canonical system timezone ID or the normalized custom time zone ID for the given time zone ID

Beschreibung

public static string IntlTimeZone::getCanonicalID ( string $zoneId [, bool &$isSystemID ] )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

zoneId

isSystemID

Rückgabewerte

IntlTimeZone::fromDateTimeZone
IntlTimeZone::getDisplayName
IntlTimeZone


Get a name of this time zone suitable for presentation to the user

IntlTimeZone::getCanonicalID
IntlTimeZone::getDSTSavings
IntlTimeZone
PHP Manual

IntlTimeZone::getDisplayName

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::getDisplayName — Get a name of this time zone suitable for presentation to the user

Beschreibung

public string IntlTimeZone::getDisplayName ([ bool $isDaylight [, integer $style [, string $locale ]]] )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

isDaylight

style

locale

Rückgabewerte

IntlTimeZone::getCanonicalID
IntlTimeZone::getDSTSavings
IntlTimeZone


Get the amount of time to be added to local standard time to get local wall clock time

IntlTimeZone::getDisplayName
IntlTimeZone::getEquivalentID
IntlTimeZone
PHP Manual

IntlTimeZone::getDSTSavings

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::getDSTSavings — Get the amount of time to be added to local standard time to get local wall clock time

Beschreibung

public integer IntlTimeZone::getDSTSavings ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

IntlTimeZone::getDisplayName
IntlTimeZone::getEquivalentID
IntlTimeZone


Get an ID in the equivalency group that includes the given ID

IntlTimeZone::getDSTSavings
IntlTimeZone::getErrorCode
IntlTimeZone
PHP Manual

IntlTimeZone::getEquivalentID

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::getEquivalentID — Get an ID in the equivalency group that includes the given ID

Beschreibung

public static string IntlTimeZone::getEquivalentID ( string $zoneId , integer $index )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

zoneId

index

Rückgabewerte

IntlTimeZone::getDSTSavings
IntlTimeZone::getErrorCode
IntlTimeZone


Get last error code on the object

IntlTimeZone::getEquivalentID
IntlTimeZone::getErrorMessage
IntlTimeZone
PHP Manual

IntlTimeZone::getErrorCode

intltz_get_error_code

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::getErrorCode -- intltz_get_error_code — Get last error code on the object

Beschreibung

Objektorientierter Stil (method):

public integer IntlTimeZone::getErrorCode ( void )

Prozeduraler Stil:

integer intltz_get_error_code ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

IntlTimeZone::getEquivalentID
IntlTimeZone::getErrorMessage
IntlTimeZone


Get last error message on the object

IntlTimeZone::getErrorCode
IntlTimeZone::getGMT
IntlTimeZone
PHP Manual

IntlTimeZone::getErrorMessage

intltz_get_error_message

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::getErrorMessage -- intltz_get_error_message — Get last error message on the object

Beschreibung

Objektorientierter Stil (method):

public string IntlTimeZone::getErrorMessage ( void )

Prozeduraler Stil:

string intltz_get_error_message ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

IntlTimeZone::getErrorCode
IntlTimeZone::getGMT
IntlTimeZone


Create GMT (UTC) timezone

IntlTimeZone::getErrorMessage
IntlTimeZone::getID
IntlTimeZone
PHP Manual

IntlTimeZone::getGMT

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::getGMT — Create GMT (UTC) timezone

Beschreibung

public static IntlTimeZone IntlTimeZone::getGMT ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

IntlTimeZone::getErrorMessage
IntlTimeZone::getID
IntlTimeZone


Get timezone ID

IntlTimeZone::getGMT
IntlTimeZone::getOffset
IntlTimeZone
PHP Manual

IntlTimeZone::getID

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::getID — Get timezone ID

Beschreibung

public string IntlTimeZone::getID ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

IntlTimeZone::getGMT
IntlTimeZone::getOffset
IntlTimeZone


Get the time zone raw and GMT offset for the given moment in time

IntlTimeZone::getID
IntlTimeZone::getRawOffset
IntlTimeZone
PHP Manual

IntlTimeZone::getOffset

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::getOffset — Get the time zone raw and GMT offset for the given moment in time

Beschreibung

public integer IntlTimeZone::getOffset ( float $date , bool $local , integer &$rawOffset , integer &$dstOffset )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

date

local

rawOffset

dstOffset

Rückgabewerte

IntlTimeZone::getID
IntlTimeZone::getRawOffset
IntlTimeZone


Get the raw GMT offset (before taking daylight savings time into account

IntlTimeZone::getOffset
IntlTimeZone::getTZDataVersion
IntlTimeZone
PHP Manual

IntlTimeZone::getRawOffset

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::getRawOffset — Get the raw GMT offset (before taking daylight savings time into account

Beschreibung

public integer IntlTimeZone::getRawOffset ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

IntlTimeZone::getOffset
IntlTimeZone::getTZDataVersion
IntlTimeZone


Get the timezone data version currently used by ICU

IntlTimeZone::getRawOffset
IntlTimeZone::hasSameRules
IntlTimeZone
PHP Manual

IntlTimeZone::getTZDataVersion

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::getTZDataVersion — Get the timezone data version currently used by ICU

Beschreibung

public static string IntlTimeZone::getTZDataVersion ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

IntlTimeZone::getRawOffset
IntlTimeZone::hasSameRules
IntlTimeZone


Check if this zone has the same rules and offset as another zone

IntlTimeZone::getTZDataVersion
IntlTimeZone::toDateTimeZone
IntlTimeZone
PHP Manual

IntlTimeZone::hasSameRules

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::hasSameRules — Check if this zone has the same rules and offset as another zone

Beschreibung

public bool IntlTimeZone::hasSameRules ( IntlTimeZone $otherTimeZone )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

otherTimeZone

Rückgabewerte

IntlTimeZone::getTZDataVersion
IntlTimeZone::toDateTimeZone
IntlTimeZone


Convert to DateTimeZone object

IntlTimeZone::hasSameRules
IntlTimeZone::useDaylightTime
IntlTimeZone
PHP Manual

IntlTimeZone::toDateTimeZone

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::toDateTimeZone — Convert to DateTimeZone object

Beschreibung

public DateTimeZone IntlTimeZone::toDateTimeZone ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

IntlTimeZone::hasSameRules
IntlTimeZone::useDaylightTime
IntlTimeZone


Check if this time zone uses daylight savings time

IntlTimeZone::toDateTimeZone
IntlDateFormatter
IntlTimeZone
PHP Manual

IntlTimeZone::useDaylightTime

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlTimeZone::useDaylightTime — Check if this time zone uses daylight savings time

Beschreibung

public bool IntlTimeZone::useDaylightTime ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

IntlTimeZone::toDateTimeZone
IntlDateFormatter
IntlTimeZone


The IntlDateFormatter class

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Einführung

Date Formatter is a concrete class that enables locale-dependent formatting/parsing of dates using pattern strings and/or canned patterns.

This class represents the ICU date formatting functionality. It allows users to display dates in a localized format or to parse strings into PHP date values using pattern strings and/or canned patterns.

Class synopsis

IntlDateFormatter {
/* Methoden */
public __construct ( string $locale , int $datetype , int $timetype [, mixed $timezone = NULL [, mixed $calendar = NULL [, string $pattern = "" ]]] )
public static IntlDateFormatter create ( string $locale , int $datetype , int $timetype [, mixed $timezone = NULL [, mixed $calendar = NULL [, string $pattern = "" ]]] )
public string format ( mixed $value )
public static string formatObject ( object $object [, mixed $format = NULL [, string $locale = NULL ]] )
int getCalendar ( void )
public int getDateType ( void )
public int getErrorCode ( void )
public string getErrorMessage ( void )
public string getLocale ([ int $which ] )
public string getPattern ( void )
public int getTimeType ( void )
public string getTimeZoneId ( void )
public IntlCalendar getCalendarObject ( void )
public IntlTimeZone getTimeZone ( void )
public bool isLenient ( void )
public array localtime ( string $value [, int &$position ] )
public int parse ( string $value [, int &$position ] )
bool setCalendar ( mixed $which )
public bool setLenient ( bool $lenient )
public bool setPattern ( string $pattern )
public bool setTimeZoneId ( string $zone )
public boolean setTimeZone ( mixed $zone )
}

Siehe auch

  • » ICU Date formatter
  • » ICU Date formats

Vordefinierte Konstanten

These constants are used to specify different formats in the constructor for DateType and TimeType.

IntlDateFormatter::NONE (integer)
Do not include this element
IntlDateFormatter::FULL (integer)
Completely specified style (Tuesday, April 12, 1952 AD or 3:30:42pm PST)
IntlDateFormatter::LONG (integer)
Long style (January 12, 1952 or 3:30:32pm)
IntlDateFormatter::MEDIUM (integer)
Medium style (Jan 12, 1952)
IntlDateFormatter::SHORT (integer)
Most abbreviated style, only essential data (12/13/52 or 3:30pm)

The following int constants are used to specify the calendar. These calendars are all based directly on the Gregorian calendar. Non-Gregorian calendars need to be specified in locale. Examples might include locale="hi@calendar=BUDDHIST".

IntlDateFormatter::TRADITIONAL (integer)
Non-Gregorian Calendar
IntlDateFormatter::GREGORIAN (integer)
Gregorian Calendar

Inhaltsverzeichnis

  • IntlDateFormatter::create — Create a date formatter
  • IntlDateFormatter::format — Format the date/time value as a string
  • IntlDateFormatter::formatObject — Formats an object
  • IntlDateFormatter::getCalendar — Get the calendar type used for the IntlDateFormatter
  • IntlDateFormatter::getDateType — Get the datetype used for the IntlDateFormatter
  • IntlDateFormatter::getErrorCode — Get the error code from last operation
  • IntlDateFormatter::getErrorMessage — Get the error text from the last operation.
  • IntlDateFormatter::getLocale — Get the locale used by formatter
  • IntlDateFormatter::getPattern — Get the pattern used for the IntlDateFormatter
  • IntlDateFormatter::getTimeType — Get the timetype used for the IntlDateFormatter
  • IntlDateFormatter::getTimeZoneId — Get the timezone-id used for the IntlDateFormatter
  • IntlDateFormatter::getCalendarObject — Get copy of formatter's calendar object
  • IntlDateFormatter::getTimeZone — Get formatter's timezone
  • IntlDateFormatter::isLenient — Get the lenient used for the IntlDateFormatter
  • IntlDateFormatter::localtime — Parse string to a field-based time value
  • IntlDateFormatter::parse — Parse string to a timestamp value
  • IntlDateFormatter::setCalendar — Sets the calendar type used by the formatter
  • IntlDateFormatter::setLenient — Set the leniency of the parser
  • IntlDateFormatter::setPattern — Set the pattern used for the IntlDateFormatter
  • IntlDateFormatter::setTimeZoneId — Sets the time zone to use
  • IntlDateFormatter::setTimeZone — Sets formatter's timezone
IntlTimeZone::useDaylightTime
IntlDateFormatter::create
intl


Create a date formatter

IntlDateFormatter
IntlDateFormatter::format
IntlDateFormatter
PHP Manual

IntlDateFormatter::create

datefmt_create

IntlDateFormatter::__construct

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

IntlDateFormatter::create -- datefmt_create -- IntlDateFormatter::__construct — Create a date formatter

Beschreibung

Objektorientierter Stil

public static IntlDateFormatter IntlDateFormatter::create ( string $locale , int $datetype , int $timetype [, mixed $timezone = NULL [, mixed $calendar = NULL [, string $pattern = "" ]]] )

Objektorientierter Stil (constructor)

public IntlDateFormatter::__construct ( string $locale , int $datetype , int $timetype [, mixed $timezone = NULL [, mixed $calendar = NULL [, string $pattern = "" ]]] )

Prozeduraler Stil

IntlDateFormatter datefmt_create ( string $locale , int $datetype , int $timetype [, mixed $timezone = NULL [, mixed $calendar = NULL [, string $pattern = "" ]]] )

Create a date formatter.

Parameter-Liste

locale

Locale to use when formatting or parsing or NULL to use the value specified in the ini setting intl.default_locale.

datetype

Date type to use (none, short, medium, long, full). This is one of the IntlDateFormatter constants. It can also be NULL, in which case ICU's default date type will be used.

timetype

Time type to use (none, short, medium, long, full). This is one of the IntlDateFormatter constants. It can also be NULL, in which case ICU's default time type will be used.

timezone

Time zone ID. The default (and the one used if NULL is given) is the one returned by date_default_timezone_get() or, if applicable, that of the IntlCalendar object passed for the calendar parameter. This ID must be a valid identifier on ICU's database or an ID representing an explicit offset, such as GMT-05:30.

This can also be an IntlTimeZone or a DateTimeZone object.

calendar

Calendar to use for formatting or parsing. The default value is NULL, which corresponds to IntlDateFormatter::GREGORIAN. This can either be one of the IntlDateFormatter calendar constants or an IntlCalendar. Any IntlCalendar object passed will be clone; it will not be changed by the IntlDateFormatter. This will determine the calendar type used (gregorian, islamic, persian, etc.) and, if NULL is given for the timezone parameter, also the timezone used.

pattern

Optional pattern to use when formatting or parsing. Possible patterns are documented at » http://userguide.icu-project.org/formatparse/datetime.

Rückgabewerte

The created IntlDateFormatter or FALSE in case of failure.

Changelog

Version | Beschreibung
5.5.0/PECL 3.0.0 | An IntlCalendar object is allowed for calendar. Objects of type IntlTimeZone and DateTimeZone are allowed for timezone. Invalid timezone identifiers (including empty strings) are no longer allowed for timezone. If NULL is given for timezone, the timezone identifier given by date_default_timezone_get() will be used instead of ICU's default.

Beispiele

Beispiel #1 datefmt_create() example

<?php
$fmt = datefmt_create( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
    'America/Los_Angeles', IntlDateFormatter::GREGORIAN  );
echo "First Formatted output is ".datefmt_format( $fmt , 0);
$fmt = datefmt_create( "de-DE" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
    'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "Second Formatted output is ".datefmt_format( $fmt , 0);

$fmt = datefmt_create( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
     'America/Los_Angeles',IntlDateFormatter::GREGORIAN  ,"MM/dd/yyyy");
echo "First Formatted output with pattern is ".datefmt_format( $fmt , 0);
$fmt = datefmt_create( "de-DE" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
     'America/Los_Angeles',IntlDateFormatter::GREGORIAN  ,"MM/dd/yyyy");
echo "Second Formatted output with pattern is ".datefmt_format( $fmt , 0);
?>

Beispiel #2 OO example

<?php
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
    'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "First Formatted output is ".$fmt->format(0);
$fmt = new IntlDateFormatter( "de-DE" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
    'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "Second Formatted output is ".$fmt->format(0);

$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
     'America/Los_Angeles',IntlDateFormatter::GREGORIAN  ,"MM/dd/yyyy");
echo "First Formatted output with pattern is ".$fmt->format(0);
$fmt = new IntlDateFormatter( "de-DE" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
      'America/Los_Angeles',IntlDateFormatter::GREGORIAN , "MM/dd/yyyy");
echo "Second Formatted output with pattern is ".$fmt->format(0);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

First Formatted output is Wednesday, December 31, 1969 4:00:00 PM PT
Second Formatted output is Mittwoch, 31. Dezember 1969 16:00 Uhr GMT-08:00
First Formatted output with pattern is 12/31/1969
Second Formatted output with pattern is 12/31/1969

Siehe auch

  • datefmt_format() - Format the date/time value as a string
  • datefmt_parse() - Parse string to a timestamp value
  • datefmt_get_error_code() - Get the error code from last operation
  • datefmt_get_error_message() - Get the error text from the last operation.

IntlDateFormatter
IntlDateFormatter::format
IntlDateFormatter


Format the date/time value as a string

IntlDateFormatter::create
IntlDateFormatter::formatObject
IntlDateFormatter
PHP Manual

IntlDateFormatter::format

datefmt_format

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

IntlDateFormatter::format -- datefmt_format — Format the date/time value as a string

Beschreibung

Objektorientierter Stil

public string IntlDateFormatter::format ( mixed $value )

Prozeduraler Stil

string datefmt_format ( IntlDateFormatter $fmt , mixed $value )

Formats the time value as a string.

Parameter-Liste

fmt

The date formatter resource.

value

Value to format. This may be a DateTime object, an IntlCalendar object, a numeric type representing a (possibly fractional) number of seconds since epoch or an array in the format output by localtime().

If a DateTime or an IntlCalendar object is passed, its timezone is not considered. The object will be formatted using the formater's configured timezone. If one wants to use the timezone of the object to be formatted, IntlDateFormatter::setTimeZone() must be called before with the object's timezone. Alternatively, the static function IntlDateFormatter::formatObject() may be used instead.

Rückgabewerte

The formatted string or, if an error occurred, FALSE.

Changelog

Version | Beschreibung
5.5.0/PECL 3.0.0 | Support for providing IntlCalendar objects to the value parameter was added.
5.3.4 | Support for providing DateTime objects to the value parameter was added.

Beispiele

Beispiel #1 datefmt_format() example

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'First Formatted output is ' . datefmt_format($fmt, 0);

$fmt = datefmt_create(
    'de-DE',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'Second Formatted output is ' . datefmt_format($fmt, 0);

$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN,
    'MM/dd/yyyy'
);
echo 'First Formatted output with pattern is ' . datefmt_format($fmt, 0);

$fmt = datefmt_create(
    'de-DE',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN,
    'MM/dd/yyyy'
);
echo "Second Formatted output with pattern is " . datefmt_format($fmt, 0);
?>

Beispiel #2 OO example

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'First Formatted output is ' . $fmt->format(0);

$fmt = new IntlDateFormatter(
    'de-DE',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'Second Formatted output is ' . $fmt->format(0);

$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN,
    'MM/dd/yyyy'
);
echo 'First Formatted output with pattern is ' . $fmt->format(0);

$fmt = new IntlDateFormatter(
    'de-DE',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN,
    'MM/dd/yyyy'
);
echo 'Second Formatted output with pattern is ' . $fmt->format(0);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

First Formatted output is Wednesday, December 31, 1969 4:00:00 PM PT
Second Formatted output is Mittwoch, 31. Dezember 1969 16:00 Uhr GMT-08:00
First Formatted output with pattern is 12/31/1969
Second Formatted output with pattern is 12/31/1969

Beispiel #3 With IntlCalendar object

<?php
$tz = reset(iterator_to_array(IntlTimeZone::createEnumeration('FR')));
$formatter = IntlDateFormatter::create(
    'fr_FR',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    $tz,
    IntlDateFormatter::GREGORIAN
);

$cal = IntlCalendar::createInstance($tz, '@calendar=islamic-civil');
$cal->set(IntlCalendar::FIELD_MONTH, 8); //9th month, Ramadan
$cal->set(IntlCalendar::FIELD_DAY_OF_MONTH, 1); //1st day
$cal->clear(IntlCalendar::FIELD_HOUR_OF_DAY);
$cal->clear(IntlCalendar::FIELD_MINUTE);
$cal->clear(IntlCalendar::FIELD_SECOND);
$cal->clear(IntlCalendar::FIELD_MILLISECOND);

echo "In this islamic year, Ramadan started/will start on:\n\t",
        $formatter->format($cal), "\n";

//It's the formatter's timezone that is used:
$formatter->setTimeZone('Asia/Tokyo');
echo "After changing timezone:\n\t",
        $formatter->format($cal), "\n";

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

In this islamic year, Ramadan started/will start on:
    mardi 9 juillet 2013 19:00:00 heure avancée d’Europe centrale
After changing timezone:
    mercredi 10 juillet 2013 02:00:00 heure normale du Japon

Siehe auch

  • datefmt_create() - Create a date formatter
  • datefmt_parse() - Parse string to a timestamp value
  • datefmt_get_error_code() - Get the error code from last operation
  • datefmt_get_error_message() - Get the error text from the last operation.
  • datefmt_format_object() - Formats an object

IntlDateFormatter::create
IntlDateFormatter::formatObject
IntlDateFormatter


Formats an object

IntlDateFormatter::format
IntlDateFormatter::getCalendar
IntlDateFormatter
PHP Manual

IntlDateFormatter::formatObject

datefmt_format_object

(PHP 5 >= 5.5.0, PHP 7, PECL intl >= 3.0.0)

IntlDateFormatter::formatObject -- datefmt_format_object — Formats an object

Beschreibung

Objektorientierter Stil

public static string IntlDateFormatter::formatObject ( object $object [, mixed $format = NULL [, string $locale = NULL ]] )

Prozeduraler Stil

public static string datefmt_format_object ( object $object [, mixed $format = NULL [, string $locale = NULL ]] )

This function allows formatting an IntlCalendar or DateTime object without first explicitly creating a IntlDateFormatter object.

The temporary IntlDateFormatter that will be created will take the timezone from the passed in object. The timezone database bundled with PHP will not be used – ICU's will be used instead. The timezone identifier used in DateTime objects must therefore also exist in ICU's database.

Parameter-Liste

object

An object of type IntlCalendar or DateTime. The timezone information in the object will be used.

format

How to format the date/time. This can either be an array with two elements (first the date style, then the time style, these being one of the constants IntlDateFormatter::NONE, IntlDateFormatter::SHORT, IntlDateFormatter::MEDIUM, IntlDateFormatter::LONG, IntlDateFormatter::FULL), a long with the value of one of these constants (in which case it will be used both for the time and the date) or a string with the format described in » the ICU documentation. If NULL, the default style will be used.

locale

The locale to use, or NULL to use the default one.

Rückgabewerte

A string with resultIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 IntlDateFormatter::formatObject() examples

<?php
/* default timezone is irrelevant; timezone taken from the object */
ini_set('date.timezone', 'UTC');
/* default locale is taken from this ini setting */
ini_set('intl.default_locale', 'fr_FR');

$cal = IntlCalendar::fromDateTime("2013-06-06 17:05:06 Europe/Dublin");
echo "default:\n\t",
        IntlDateFormatter::formatObject($cal),
        "\n";

echo "long \$format (full):\n\t",
        IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL),
        "\n";

echo "array \$format (none, full):\n\t",
        IntlDateFormatter::formatObject($cal, array(
                IntlDateFormatter::NONE,
                IntlDateFormatter::FULL)),
        "\n";

echo "string \$format (d 'of' MMMM y):\n\t",
        IntlDateFormatter::formatObject($cal, "d 'of' MMMM y", 'en_US'),
        "\n";

echo "with DateTime:\n\t",
        IntlDateFormatter::formatObject(
                new DateTime("2013-09-09 09:09:09 Europe/Madrid"),
                IntlDateFormatter::FULL,
                'es_ES'),
        "\n";

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

default:
    6 juin 2013 17:05:06
long $format (full):
    jeudi 6 juin 2013 17:05:06 heure d’été irlandaise
array $format (none, full):
    17:05:06 heure d’été irlandaise
string $format (d 'of' MMMM y):
    6 of June 2013
with DateTime:
    lunes, 9 de septiembre de 2013 09:09:09 Hora de verano de Europa central

IntlDateFormatter::format
IntlDateFormatter::getCalendar
IntlDateFormatter


Get the calendar type used for the IntlDateFormatter

IntlDateFormatter::formatObject
IntlDateFormatter::getDateType
IntlDateFormatter
PHP Manual

IntlDateFormatter::getCalendar

datefmt_get_calendar

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

IntlDateFormatter::getCalendar -- datefmt_get_calendar — Get the calendar type used for the IntlDateFormatter

Beschreibung

Objektorientierter Stil

int IntlDateFormatter::getCalendar ( void )

Prozeduraler Stil

int datefmt_get_calendar ( IntlDateFormatter $fmt )

Parameter-Liste

fmt

The formatter resource

Rückgabewerte

The calendar type being used by the formatter. Either IntlDateFormatter::TRADITIONAL or IntlDateFormatter::GREGORIAN.

Beispiele

Beispiel #1 datefmt_get_calendar() example

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'calendar of the formatter is : ' . datefmt_get_calendar($fmt);
datefmt_set_calendar($fmt, IntlDateFormatter::TRADITIONAL);
echo 'Now calendar of the formatter is : ' . datefmt_get_calendar($fmt);
?>

Beispiel #2 OO example

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'calendar of the formatter is : ' . $fmt->getCalendar();
$fmt->setCalendar(IntlDateFormatter::TRADITIONAL);
echo 'Now calendar of the formatter is : ' . $fmt->getCalendar();

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

calendar of the formatter is : 1
Now calendar of the formatter is : 0

Siehe auch

  • datefmt_get_calendar_object() - Get copy of formatter's calendar object
  • datefmt_set_calendar() - Sets the calendar type used by the formatter
  • datefmt_create() - Create a date formatter

IntlDateFormatter::formatObject
IntlDateFormatter::getDateType
IntlDateFormatter


Get the datetype used for the IntlDateFormatter

IntlDateFormatter::getCalendar
IntlDateFormatter::getErrorCode
IntlDateFormatter
PHP Manual

IntlDateFormatter::getDateType

datefmt_get_datetype

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

IntlDateFormatter::getDateType -- datefmt_get_datetype — Get the datetype used for the IntlDateFormatter

Beschreibung

Objektorientierter Stil

public int IntlDateFormatter::getDateType ( void )

Prozeduraler Stil

int datefmt_get_datetype ( IntlDateFormatter $fmt )

Returns date type used by the formatter.

Parameter-Liste

fmt

The formatter resource.

Rückgabewerte

The current date type value of the formatter.

Beispiele

Beispiel #1 datefmt_get_datetype() example

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'datetype of the formatter is : ' . datefmt_get_datetype($fmt);
echo 'First Formatted output with datetype is ' . datefmt_format($fmt, 0);

$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::SHORT,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'Now datetype of the formatter is : ' . datefmt_get_datetype($fmt);
echo 'Second Formatted output with datetype is ' . datefmt_format($fmt, 0);

?>

Beispiel #2 OO example

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'datetype of the formatter is : ' . $fmt->getDateType();
echo 'First Formatted output is ' . $fmt->format(0);
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::SHORT,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'Now datetype of the formatter is : ' . $fmt->getDateType();
echo 'Second Formatted output is ' . $fmt->format(0);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

datetype of the formatter is : 0
First Formatted output is Wednesday, December 31, 1969 4:00:00 PM PT
Now datetype of the formatter is : 2
Second Formatted output is 12/31/69 4:00:00 PM PT

Siehe auch

  • datefmt_get_timetype() - Get the timetype used for the IntlDateFormatter
  • datefmt_create() - Create a date formatter

IntlDateFormatter::getCalendar
IntlDateFormatter::getErrorCode
IntlDateFormatter


Get the error code from last operation

IntlDateFormatter::getDateType
IntlDateFormatter::getErrorMessage
IntlDateFormatter
PHP Manual

IntlDateFormatter::getErrorCode

datefmt_get_error_code

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

IntlDateFormatter::getErrorCode -- datefmt_get_error_code — Get the error code from last operation

Beschreibung

Objektorientierter Stil

public int IntlDateFormatter::getErrorCode ( void )

Prozeduraler Stil

int datefmt_get_error_code ( IntlDateFormatter $fmt )

Get the error code from last operation. Returns error code from the last number formatting operation.

Parameter-Liste

fmt

The formatter resource.

Rückgabewerte

The error code, one of UErrorCode values. Initial value is U_ZERO_ERROR.

Beispiele

Beispiel #1 datefmt_get_error_code() example

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
$str = datefmt_format($fmt);
if (!$str) {
    printf(
        "ERROR: %s (%d)\n",
        datefmt_get_error_message($fmt),
        datefmt_get_error_code($fmt)
    );
}
?>

Beispiel #2 OO example

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
$str = $fmt->format();
if (!$str) {
    printf(
        "ERROR: %s (%d)\n",
        $fmt->getErrorMessage(),
        $fmt->getErrorCode()
    );
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

ERROR: U_ZERO_ERROR (0)

Siehe auch

  • datefmt_get_error_message() - Get the error text from the last operation.
  • intl_get_error_code() - Get the last error code
  • intl_is_failure() - Check whether the given error code indicates failure

IntlDateFormatter::getDateType
IntlDateFormatter::getErrorMessage
IntlDateFormatter


Get the error text from the last operation.

IntlDateFormatter::getErrorCode
IntlDateFormatter::getLocale
IntlDateFormatter
PHP Manual

IntlDateFormatter::getErrorMessage

datefmt_get_error_message

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

IntlDateFormatter::getErrorMessage -- datefmt_get_error_message — Get the error text from the last operation.

Beschreibung

Objektorientierter Stil

public string IntlDateFormatter::getErrorMessage ( void )

Prozeduraler Stil

string datefmt_get_error_message ( IntlDateFormatter $fmt )

Get the error text from the last operation.

Parameter-Liste

fmt

The formatter resource.

Rückgabewerte

Description of the last error.

Beispiele

Beispiel #1 datefmt_get_error_message() example

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
$str = datefmt_format($fmt);
if (!$str) {
    prtinf(
        "ERROR: %s (%d)\n",
        datefmt_get_error_message($fmt),
        datefmt_get_error_code($fmt)
    );
}
?>

Beispiel #2 OO example

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
$str = $fmt->format();
if(!$str) {
    prtinf(
        "ERROR: %s (%d)\n",
        $fmt->getErrorMessage(),
        $fmt->getErrorCode()
    );
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

ERROR: U_ZERO_ERROR (0)

Siehe auch

  • datefmt_get_error_code() - Get the error code from last operation
  • intl_get_error_code() - Get the last error code
  • intl_is_failure() - Check whether the given error code indicates failure

IntlDateFormatter::getErrorCode
IntlDateFormatter::getLocale
IntlDateFormatter


Get the locale used by formatter

IntlDateFormatter::getErrorMessage
IntlDateFormatter::getPattern
IntlDateFormatter
PHP Manual

IntlDateFormatter::getLocale

datefmt_get_locale

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

IntlDateFormatter::getLocale -- datefmt_get_locale — Get the locale used by formatter

Beschreibung

Objektorientierter Stil

public string IntlDateFormatter::getLocale ([ int $which ] )

Prozeduraler Stil

string datefmt_get_locale ( IntlDateFormatter $fmt [, int $which ] )

Get locale used by the formatter.

Parameter-Liste

fmt

The formatter resource

hich

You can choose between valid and actual locale ( Locale::VALID_LOCALE, Locale::ACTUAL_LOCALE, respectively). The default is the actual locale.

Rückgabewerte

the locale of this formatter or 'false' if error

Beispiele

Beispiel #1 datefmt_get_locale() example

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'locale of the formatter is : " . datefmt_get_locale($fmt);
echo 'First Formatted output is " . datefmt_format($fmt, 0);

$fmt = datefmt_create(
    'de-DE',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'locale of the formatter is : ' . datefmt_get_locale($fmt);
echo 'Second Formatted output is ' . datefmt_format($fmt, 0);

?>

Beispiel #2 OO example

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'locale of the formatter is : ' . $fmt->getLocale();
echo 'First Formatted output is ' . $fmt->format(0);

$fmt = new IntlDateFormatter(
    'de-DE',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'locale of the formatter is : ' . $fmt->getLocale();
echo 'Second Formatted output is ' . $fmt->format(0);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

locale of the formatter is : en
First Formatted output is Wednesday, December 31, 1969 4:00:00 PM PT
locale of the formatter is : de
Second Formatted output is Mittwoch, 31. Dezember 1969 16:00 Uhr GMT-08:00

Siehe auch

  • datefmt_create() - Create a date formatter

IntlDateFormatter::getErrorMessage
IntlDateFormatter::getPattern
IntlDateFormatter


Get the pattern used for the IntlDateFormatter

IntlDateFormatter::getLocale
IntlDateFormatter::getTimeType
IntlDateFormatter
PHP Manual

IntlDateFormatter::getPattern

datefmt_get_pattern

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

IntlDateFormatter::getPattern -- datefmt_get_pattern — Get the pattern used for the IntlDateFormatter

Beschreibung

Objektorientierter Stil

public string IntlDateFormatter::getPattern ( void )

Prozeduraler Stil

string datefmt_get_pattern ( IntlDateFormatter $fmt )

Get pattern used by the formatter.

Parameter-Liste

fmt

The formatter resource.

Rückgabewerte

The pattern string being used to format/parse.

Beispiele

Beispiel #1 datefmt_get_pattern() example

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN,
    'MM/dd/yyyy'
);
echo 'pattern of the formatter is : ' . datefmt_get_pattern($fmt);
echo 'First Formatted output with pattern is ' . datefmt_format($fmt, 0);
datefmt_set_pattern($fmt,'yyyymmdd hh:mm:ss z');
echo 'Now pattern of the formatter is : ' . datefmt_get_pattern($fmt);
echo 'Second Formatted output with pattern is ' . datefmt_format($fmt, 0);

?>

Beispiel #2 OO example

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN,
    'MM/dd/yyyy'
);
echo 'pattern of the formatter is : ' . $fmt->getPattern();
echo 'First Formatted output is ' . $fmt->format(0);
$fmt->setPattern('yyyymmdd hh:mm:ss z');
echo 'Now pattern of the formatter is : ' . $fmt->getPattern();
echo 'Second Formatted output is ' . $fmt->format(0);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

pattern of the formatter is : MM/dd/yyyy
First Formatted output is 12/31/1969
Now pattern of the formatter is : yyyymmdd hh:mm:ss z
Second Formatted output is 19690031 04:00:00 PST

Siehe auch

  • datefmt_set_pattern() - Set the pattern used for the IntlDateFormatter
  • datefmt_create() - Create a date formatter

IntlDateFormatter::getLocale
IntlDateFormatter::getTimeType
IntlDateFormatter


Get the timetype used for the IntlDateFormatter

IntlDateFormatter::getPattern
IntlDateFormatter::getTimeZoneId
IntlDateFormatter
PHP Manual

IntlDateFormatter::getTimeType

datefmt_get_timetype

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

IntlDateFormatter::getTimeType -- datefmt_get_timetype — Get the timetype used for the IntlDateFormatter

Beschreibung

Objektorientierter Stil

public int IntlDateFormatter::getTimeType ( void )

Prozeduraler Stil

int datefmt_get_timetype ( IntlDateFormatter $fmt )

Return time type used by the formatter.

Parameter-Liste

fmt

The formatter resource.

Rückgabewerte

The current date type value of the formatter.

Beispiele

Beispiel #1 datefmt_get_timetype() example

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'timetype of the formatter is : ' . datefmt_get_timetype($fmt);
echo 'First Formatted output with timetype is ' . datefmt_format($fmt, 0);

$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::SHORT,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'Now timetype of the formatter is : ' . datefmt_get_timetype($fmt);
echo 'Second Formatted output with timetype is ' . datefmt_format($fmt, 0);

?>

Beispiel #2 OO example

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'timetype of the formatter is : ' . $fmt->getTimeType();
echo 'First Formatted output is ' . $fmt->format(0);

$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::SHORT,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'Now timetype of the formatter is : ' . $fmt->getTimeType();
echo 'Second Formatted output is ' . $fmt->format(0);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

timetype of the formatter is : 0
First Formatted output is Wednesday, December 31, 1969 4:00:00 PM PT
Now timetype of the formatter is : 3
Second Formatted output is Wednesday, December 31, 1969 4:00 PM

Siehe auch

  • datefmt_get_datetype() - Get the datetype used for the IntlDateFormatter
  • datefmt_create() - Create a date formatter

IntlDateFormatter::getPattern
IntlDateFormatter::getTimeZoneId
IntlDateFormatter


Get the timezone-id used for the IntlDateFormatter

IntlDateFormatter::getTimeType
IntlDateFormatter::getCalendarObject
IntlDateFormatter
PHP Manual

IntlDateFormatter::getTimeZoneId

datefmt_get_timezone_id

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

IntlDateFormatter::getTimeZoneId -- datefmt_get_timezone_id — Get the timezone-id used for the IntlDateFormatter

Beschreibung

Objektorientierter Stil

public string IntlDateFormatter::getTimeZoneId ( void )

Prozeduraler Stil

string datefmt_get_timezone_id ( IntlDateFormatter $fmt )

Get the timezone-id used for the IntlDateFormatter.

Parameter-Liste

fmt

The formatter resource.

Rückgabewerte

ID string for the time zone used by this formatter.

Beispiele

Beispiel #1 datefmt_get_timezone_id() example

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'timezone_id of the formatter is : ' . datefmt_get_timezone_id($fmt);
datefmt_set_timezone_id($fmt, 'CN');
echo 'Now timezone_id of the formatter is : ' . datefmt_get_timezone_id($fmt);

?>

Beispiel #2 OO example

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'timezone_id of the formatter is : ' . $fmt->getTimezoneId();
$fmt->setTimezoneId('CN');
echo 'Now timezone_id of the formatter is : ' . $fmt->getTimezoneId();

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

timezone_id of the formatter is : America/Los_Angeles
Now timezone_id of the formatter is : CN

Siehe auch

  • datefmt_set_timezone_id() - Sets the time zone to use
  • datefmt_create() - Create a date formatter

IntlDateFormatter::getTimeType
IntlDateFormatter::getCalendarObject
IntlDateFormatter


Get copy of formatter's calendar object

IntlDateFormatter::getTimeZoneId
IntlDateFormatter::getTimeZone
IntlDateFormatter
PHP Manual

IntlDateFormatter::getCalendarObject

datefmt_get_calendar_object

(PHP 5 >= 5.5.0, PHP 7, PECL intl >= 3.0.0)

IntlDateFormatter::getCalendarObject -- datefmt_get_calendar_object — Get copy of formatter's calendar object

Beschreibung

Objektorientierter Stil

public IntlCalendar IntlDateFormatter::getCalendarObject ( void )

Prozeduraler Stil

IntlCalendar datefmt_get_calendar_object ( void )

Obtain a copy of the calendar object used internally by this formatter. This calendar will have a type (as in gregorian, japanese, buddhist, roc, persian, islamic, etc.) and a timezone that match the type and timezone used by the formatter. The date/time of the object is unspecified.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A copy of the internal calendar object used by this formatter.

Beispiele

Beispiel #1 IntlDateFormatter::getCalendarObject() example

<?php
$formatter = IntlDateFormatter::create(
    "fr_FR@calendar=islamic",
    NULL,
    NULL,
    "GMT-01:00",
    IntlDateFormatter::TRADITIONAL
);

$cal = $formatter->getCalendarObject();

var_dump(
    $cal->getType(),
    $cal->getTimeZone(),
    $cal->getLocale(Locale::VALID_LOCALE)
);

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(7) "islamic"
object(IntlTimeZone)#3 (4) {
  ["valid"]=>
  bool(true)
  ["id"]=>
  string(9) "GMT-01:00"
  ["rawOffset"]=>
  int(-3600000)
  ["currentOffset"]=>
  int(-3600000)
}
string(5) "fr_FR"

Siehe auch

  • IntlDateFormatter::getCalendar() - Get the calendar type used for the IntlDateFormatter
  • IntlDateFormatter::setCalendar() - Sets the calendar type used by the formatter
  • IntlCalendar

IntlDateFormatter::getTimeZoneId
IntlDateFormatter::getTimeZone
IntlDateFormatter


Get formatter's timezone

IntlDateFormatter::getCalendarObject
IntlDateFormatter::isLenient
IntlDateFormatter
PHP Manual

IntlDateFormatter::getTimeZone

datefmt_get_timezone

(PHP 5 >= 5.5.0, PHP 7, PECL intl >= 3.0.0)

IntlDateFormatter::getTimeZone -- datefmt_get_timezone — Get formatter's timezone

Beschreibung

Objektorientierter Stil

public IntlTimeZone IntlDateFormatter::getTimeZone ( void )

Prozeduraler Stil

IntlTimeZone datefmt_get_timezone ( void )

Returns an IntlTimeZone object representing the timezone that will be used by this object to format dates and times. When formatting IntlCalendar and DateTime objects with this IntlDateFormatter, the timezone used will be the one returned by this method, not the one associated with the objects being formatted.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The associated IntlTimeZone objectIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 IntlDateFormatter::getTimeZone() examples

<?php

$madrid = IntlDateFormatter::create(NULL, NULL, NULL, 'Europe/Madrid');
$lisbon = IntlDateFormatter::create(NULL, NULL, NULL, 'Europe/Lisbon');

var_dump($madrid->getTimezone());
echo $madrid->getTimezone()->getDisplayName(
        false, IntlTimeZone::DISPLAY_GENERIC_LOCATION, "en_US"), "\n";
echo $lisbon->getTimeZone()->getId(), "\n";
//The id can also be retrieved with ->getTimezoneId()
echo $lisbon->getTimeZoneId(), "\n";

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(IntlTimeZone)#4 (4) {
  ["valid"]=>
  bool(true)
  ["id"]=>
  string(13) "Europe/Madrid"
  ["rawOffset"]=>
  int(3600000)
  ["currentOffset"]=>
  int(7200000)
}
Spain Time
Europe/Lisbon
Europe/Lisbon

Siehe auch

  • IntlDateFormatter::getTimeZoneId() - Get the timezone-id used for the IntlDateFormatter
  • IntlDateFormatter::setTimeZone() - Sets formatter's timezone
  • IntlTimeZone

IntlDateFormatter::getCalendarObject
IntlDateFormatter::isLenient
IntlDateFormatter


Get the lenient used for the IntlDateFormatter

IntlDateFormatter::getTimeZone
IntlDateFormatter::localtime
IntlDateFormatter
PHP Manual

IntlDateFormatter::isLenient

datefmt_is_lenient

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

IntlDateFormatter::isLenient -- datefmt_is_lenient — Get the lenient used for the IntlDateFormatter

Beschreibung

Objektorientierter Stil

public bool IntlDateFormatter::isLenient ( void )

Prozeduraler Stil

bool datefmt_is_lenient ( IntlDateFormatter $fmt )

Check if the parser is strict or lenient in interpreting inputs that do not match the pattern exactly.

Parameter-Liste

fmt

The formatter resource.

Rückgabewerte

TRUE if parser is lenient, FALSE if parser is strict. By default the parser is lenient.

Beispiele

Beispiel #1 datefmt_is_lenient() example

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN,
    'dd/mm/yyyy'
);
echo 'lenient of the formatter is : ';
if ($fmt->isLenient()) {
    echo 'TRUE';
} else {
    echo 'FALSE';
}
datefmt_parse($fmt, '35/13/1971');
echo "\n Trying to do parse('35/13/1971').\nResult is : " . datefmt_parse($fmt, '35/13/1971');
if (intl_get_error_code() != 0) {
    echo "\nError_msg is : " . intl_get_error_message();
    echo "\nError_code is : " . intl_get_error_code();
}
datefmt_set_lenient($fmt,false);
echo 'Now lenient of the formatter is : ';
if ($fmt->isLenient()) {
    echo 'TRUE';
} else {
    echo 'FALSE';
}
datefmt_parse($fmt, '35/13/1971');
echo "\n Trying to do parse('35/13/1971').Result is : " . datefmt_parse($fmt, '35/13/1971');
if (intl_get_error_code() != 0) {
    echo "\nError_msg is : " . intl_get_error_message();
    echo "\nError_code is : " . intl_get_error_code();
}

?>

Beispiel #2 OO example

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN,
    "dd/mm/yyyy"
);
echo "lenient of the formatter is : ";
if ($fmt->isLenient()) {
    echo 'TRUE';
} else {
    echo 'FALSE';
}
$fmt->parse('35/13/1971');
echo "\n Trying to do parse('35/13/1971').\nResult is : " . $fmt->parse('35/13/1971');
if (intl_get_error_code() != 0){
    echo "\nError_msg is : " . intl_get_error_message();
    echo "\nError_code is : " . intl_get_error_code();
}

$fmt->setLenient(FALSE);
echo 'Now lenient of the formatter is : ';
if ($fmt->isLenient()) {
    echo 'TRUE';
} else {
    echo 'FALSE';
}
$fmt->parse('35/13/1971');
echo "\n Trying to do parse('35/13/1971').\nResult is : " . $fmt->parse('35/13/1971');
if (intl_get_error_code() != 0) {
    echo "\nError_msg is : " . intl_get_error_message();
    echo "\nError_code is : " . intl_get_error_code();
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

lenient of the formatter is : TRUE
Trying to do parse('35/13/1971').
Result is : -2147483
Now lenient of the formatter is : FALSE
Trying to do parse('35/13/1971').
Result is :
Error_msg is : Date parsing failed: U_PARSE_ERROR
Error_code is : 9

Siehe auch

  • datefmt_set_lenient() - Set the leniency of the parser
  • datefmt_create() - Create a date formatter

IntlDateFormatter::getTimeZone
IntlDateFormatter::localtime
IntlDateFormatter


Parse string to a field-based time value

IntlDateFormatter::isLenient
IntlDateFormatter::parse
IntlDateFormatter
PHP Manual

IntlDateFormatter::localtime

datefmt_localtime

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

IntlDateFormatter::localtime -- datefmt_localtime — Parse string to a field-based time value

Beschreibung

Objektorientierter Stil

public array IntlDateFormatter::localtime ( string $value [, int &$position ] )

Prozeduraler Stil

array datefmt_localtime ( IntlDateFormatter $fmt , string $value [, int &$position ] )

Converts string $value to a field-based time value ( an array of various fields), starting at $parse_pos and consuming as much of the input value as possible.

Parameter-Liste

fmt

The formatter resource

value

string to convert to a time

position

Position at which to start the parsing in $value (zero-based). If no error occurs before $value is consumed, $parse_pos will contain -1 otherwise it will contain the position at which parsing ended . If $parse_pos > strlen($value), the parse fails immediately.

Rückgabewerte

Localtime compatible array of integers : contains 24 hour clock value in tm_hour field

Beispiele

Beispiel #1 datefmt_localtime() example

<?php

$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
$arr = datefmt_localtime($fmt, 'Wednesday, December 31, 1969 4:00:00 PM PT', 0);
echo 'First parsed output is ';
if ($arr) {
    foreach ($arr as $key => $value) {
        echo "$key : $value , ";
    }
}

?>

Beispiel #2 OO example

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
$arr = $fmt->localtime('Wednesday, December 31, 1969 4:00:00 PM PT', 0);
echo 'First parsed output is ';
if ($arr) {
    foreach ($arr as $key => $value) {
        echo "$key : $value , ";
    }
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

First parsed output is tm_sec : 0 , tm_min : 0 , tm_hour : 16 , tm_year : 1969 ,
tm_mday : 31 , tm_wday : 4 , tm_yday : 365 , tm_mon : 11 , tm_isdst : 0 ,

Siehe auch

  • datefmt_create() - Create a date formatter
  • datefmt_format() - Format the date/time value as a string
  • datefmt_parse() - Parse string to a timestamp value
  • datefmt_get_error_code() - Get the error code from last operation
  • datefmt_get_error_message() - Get the error text from the last operation.

IntlDateFormatter::isLenient
IntlDateFormatter::parse
IntlDateFormatter


Parse string to a timestamp value

IntlDateFormatter::localtime
IntlDateFormatter::setCalendar
IntlDateFormatter
PHP Manual

IntlDateFormatter::parse

datefmt_parse

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

IntlDateFormatter::parse -- datefmt_parse — Parse string to a timestamp value

Beschreibung

Objektorientierter Stil

public int IntlDateFormatter::parse ( string $value [, int &$position ] )

Prozeduraler Stil

int datefmt_parse ( IntlDateFormatter $fmt , string $value [, int &$position ] )

Converts string $value to an incremental time value, starting at $parse_pos and consuming as much of the input value as possible.

Parameter-Liste

fmt

The formatter resource

value

string to convert to a time

position

Position at which to start the parsing in $value (zero-based). If no error occurs before $value is consumed, $parse_pos will contain -1 otherwise it will contain the position at which parsing ended (and the error occurred). This variable will contain the end position if the parse fails. If $parse_pos > strlen($value), the parse fails immediately.

Rückgabewerte

timestamp parsed value, or FALSE if value can't be parsed.

Beispiele

Beispiel #1 OO example

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'First parsed output is ' . $fmt->parse('Wednesday, December 20, 1989 4:00:00 PM PT');
$fmt = new IntlDateFormatter(
    'de-DE',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
?>

Beispiel #2 datefmt_parse() example

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'First parsed output is ' . datefmt_parse($fmt, 'Wednesday, December 20, 1989 4:00:00 PM PT');
$fmt = datefmt_create(
    'de-DE',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'Second parsed output is ' . datefmt_parse($fmt, 'Mittwoch, 20. Dezember 1989 16:00 Uhr GMT-08:00');
?

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

First parsed output is 630201600
Second parsed output is 630201600

Siehe auch

  • datefmt_create() - Create a date formatter
  • datefmt_format() - Format the date/time value as a string
  • datefmt_localtime() - Parse string to a field-based time value
  • datefmt_get_error_code() - Get the error code from last operation
  • datefmt_get_error_message() - Get the error text from the last operation.

IntlDateFormatter::localtime
IntlDateFormatter::setCalendar
IntlDateFormatter


Sets the calendar type used by the formatter

IntlDateFormatter::parse
IntlDateFormatter::setLenient
IntlDateFormatter
PHP Manual

IntlDateFormatter::setCalendar

datefmt_set_calendar

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

IntlDateFormatter::setCalendar -- datefmt_set_calendar — Sets the calendar type used by the formatter

Beschreibung

Objektorientierter Stil

bool IntlDateFormatter::setCalendar ( mixed $which )

Prozeduraler Stil

bool datefmt_set_calendar ( IntlDateFormatter $fmt , mixed $which )

Sets the calendar or calendar type used by the formatter.

Parameter-Liste

fmt

The formatter resource.

which

This can either be: the calendar type to use (default is IntlDateFormatter::GREGORIAN, which is also used if NULL is specified) or an IntlCalendar object.

Any IntlCalendar object passed in will be cloned; no modifications will be made to the argument object.

The timezone of the formatter will only be kept if an IntlCalendar object is not passed, otherwise the new timezone will be that of the passed object.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.5.0/PECL 3.0.0 | It became possible to pass an IntlCalendar object.

Beispiele

Beispiel #1 datefmt_set_calendar() example

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'calendar of the formatter is : ' . datefmt_get_calendar($fmt);
datefmt_set_calendar($fmt, IntlDateFormatter::TRADITIONAL);
echo 'Now calendar of the formatter is : ' . datefmt_get_calendar($fmt);
?>

Beispiel #2 OO example

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'calendar of the formatter is : ' . $fmt->getCalendar();
$fmt->setCalendar(IntlDateFormatter::TRADITIONAL);
echo 'Now calendar of the formatter is : ' . $fmt->getCalendar();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

calendar of the formatter is : 1
Now calendar of the formatter is : 0

Beispiel #3 Example with IntlCalendar argument

<?php
$time = strtotime("2013-03-03 00:00:00 UTC");
$formatter = IntlDateFormatter::create("en_US", NULL, NULL, "Europe/Amsterdam");

echo "before: ", $formatter->format($time), "\n";

/* note that the calendar's locale is not used! */
$formatter->setCalendar(IntlCalendar::createInstance(
               "America/New_York", "pt_PT@calendar=islamic"));

echo "after:  ", $formatter->format($time), "\n";

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

before: Sunday, March 3, 2013 at 1:00:00 AM Central European Standard Time
after:  Saturday, Rabi? II 20, 1434 at 7:00:00 PM Eastern Standard Time

Siehe auch

  • datefmt_get_calendar() - Get the calendar type used for the IntlDateFormatter
  • datefmt_get_calendar_object() - Get copy of formatter's calendar object
  • datefmt_create() - Create a date formatter

IntlDateFormatter::parse
IntlDateFormatter::setLenient
IntlDateFormatter


Set the leniency of the parser

IntlDateFormatter::setCalendar
IntlDateFormatter::setPattern
IntlDateFormatter
PHP Manual

IntlDateFormatter::setLenient

datefmt_set_lenient

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

IntlDateFormatter::setLenient -- datefmt_set_lenient — Set the leniency of the parser

Beschreibung

Objektorientierter Stil

public bool IntlDateFormatter::setLenient ( bool $lenient )

Prozeduraler Stil

bool datefmt_set_lenient ( IntlDateFormatter $fmt , bool $lenient )

Define if the parser is strict or lenient in interpreting inputs that do not match the pattern exactly. Enabling lenient parsing allows the parser to accept otherwise flawed date or time patterns, parsing as much as possible to obtain a value. Extra space, unrecognized tokens, or invalid values ("February 30th") are not accepted.

Parameter-Liste

fmt

The formatter resource

lenient

Sets whether the parser is lenient or not, default is TRUE (lenient).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 datefmt_set_lenient() example

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN,
    'dd/MM/yyyy'
);
echo 'lenient of the formatter is : ';
if ($fmt->isLenient()) {
    echo 'TRUE';
} else {
    echo 'FALSE';
}
datefmt_parse($fmt, '35/13/1971');
echo "\n Trying to do parse('35/13/1971').\nResult is : " . datefmt_parse($fmt, '35/13/1971');
if (intl_get_error_code() != 0) {
    echo "\nError_msg is : " . intl_get_error_message();
    echo "\nError_code is : " . intl_get_error_code();
}
datefmt_set_lenient($fmt, false);
echo "\nNow lenient of the formatter is : ";
if ($fmt->isLenient()) {
    echo 'TRUE';
} else {
    echo 'FALSE';
}
datefmt_parse($fmt, '35/13/1971');
echo "\nTrying to do parse('35/13/1971').\nResult is : " . datefmt_parse($fmt, '35/13/1971');
if (intl_get_error_code() != 0) {
    echo "\nError_msg is : ".intl_get_error_message();
    echo "\nError_code is : ".intl_get_error_code();
}

?>

Beispiel #2 OO example

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN,
    'dd/MM/yyyy'
);
echo 'lenient of the formatter is : ';
if ($fmt->isLenient()) {
    echo 'TRUE';
} else {
    echo 'FALSE';
}
$fmt->parse('35/13/1971');
echo "\n Trying to do parse('35/13/1971').\nResult is : " . $fmt->parse('35/13/1971');
if (intl_get_error_code() != 0) {
    echo "\nError_msg is : " . intl_get_error_message();
    echo "\nError_code is : " . intl_get_error_code();
}

$fmt->setLenient(FALSE);
echo "\nNow lenient of the formatter is : ";
if ($fmt->isLenient()) {
    echo 'TRUE';
} else {
    echo 'FALSE';
}
$fmt->parse('35/13/1971');
echo "\n Trying to do parse('35/13/1971').\nResult is : " . $fmt->parse('35/13/1971');
if (intl_get_error_code() != 0) {
    echo "\nError_msg is : " . intl_get_error_message();
    echo "\nError_code is : " . intl_get_error_code();
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

lenient of the formatter is : TRUE
Trying to do parse('35/13/1971').
Result is : 66038400
Now lenient of the formatter is : FALSE
Trying to do parse('35/13/1971').
Result is :
Error_msg is : Date parsing failed: U_PARSE_ERROR
Error_code is : 9

Siehe auch

  • datefmt_is_lenient() - Get the lenient used for the IntlDateFormatter
  • datefmt_create() - Create a date formatter

IntlDateFormatter::setCalendar
IntlDateFormatter::setPattern
IntlDateFormatter


Set the pattern used for the IntlDateFormatter

IntlDateFormatter::setLenient
IntlDateFormatter::setTimeZoneId
IntlDateFormatter
PHP Manual

IntlDateFormatter::setPattern

datefmt_set_pattern

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

IntlDateFormatter::setPattern -- datefmt_set_pattern — Set the pattern used for the IntlDateFormatter

Beschreibung

Objektorientierter Stil

public bool IntlDateFormatter::setPattern ( string $pattern )

Prozeduraler Stil

bool datefmt_set_pattern ( IntlDateFormatter $fmt , string $pattern )

Set the pattern used for the IntlDateFormatter.

Parameter-Liste

fmt

The formatter resource.

pattern

New pattern string to use. Possible patterns are documented at » http://userguide.icu-project.org/formatparse/datetime.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. Bad formatstrings are usually the cause of the failure.

Beispiele

Beispiel #1 datefmt_set_pattern() example

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN,
    'MM/dd/yyyy'
);
echo 'pattern of the formatter is : ' . datefmt_get_pattern($fmt);
echo 'First Formatted output with pattern is ' . datefmt_format($fmt, 0);
datefmt_set_pattern($fmt, 'yyyymmdd hh:mm:ss z');
echo 'Now pattern of the formatter is : ' . datefmt_get_pattern($fmt);
echo 'Second Formatted output with pattern is ' . datefmt_format($fmt, 0);

?>

Beispiel #2 OO example

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN,
    'MM/dd/yyyy'
);
echo 'pattern of the formatter is : ' . $fmt->getPattern();
echo 'First Formatted output is ' . $fmt->format(0);
$fmt->setPattern('yyyymmdd hh:mm:ss z');
echo 'Now pattern of the formatter is : ' . $fmt->getPattern();
echo 'Second Formatted output is ' . $fmt->format(0);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

pattern of the formatter is : MM/dd/yyyy
First Formatted output with pattern is 12/31/1969
Now pattern of the formatter is : yyyymmdd hh:mm:ss z
Second Formatted output with pattern is 19690031 04:00:00 PST

Siehe auch

  • datefmt_get_pattern() - Get the pattern used for the IntlDateFormatter
  • datefmt_create() - Create a date formatter

IntlDateFormatter::setLenient
IntlDateFormatter::setTimeZoneId
IntlDateFormatter


Sets the time zone to use

IntlDateFormatter::setPattern
IntlDateFormatter::setTimeZone
IntlDateFormatter
PHP Manual

IntlDateFormatter::setTimeZoneId

datefmt_set_timezone_id

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::setTimeZoneId -- datefmt_set_timezone_id — Sets the time zone to use

Warnung

This function was DEPRECATED in PHP 5.5.0, and REMOVED in PHP 7.0.0.

Alternatives to this function include:

  • IntlDateFormatter::setTimeZone()

Beschreibung

Objektorientierter Stil

public bool IntlDateFormatter::setTimeZoneId ( string $zone )

Prozeduraler Stil

bool datefmt_set_timezone_id ( IntlDateFormatter $fmt , string $zone )

Sets the time zone to use.

Parameter-Liste

fmt

The formatter resource.

zone

The time zone ID string of the time zone to use. If NULL or the empty string, the default time zone for the runtime is used.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
7.0.0 | This function has been removed.
5.5.0 | This function has been deprecated.

Beispiele

Beispiel #1 datefmt_set_timezone_id() example

<?php
$fmt = datefmt_create(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'timezone_id of the formatter is : ' . datefmt_get_timezone_id($fmt);
datefmt_set_timezone_id($fmt, 'CN');
echo 'Now timezone_id of the formatter is : ' . datefmt_get_timezone_id($fmt);
?>

Beispiel #2 OO example

<?php
$fmt = new IntlDateFormatter(
    'en_US',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'America/Los_Angeles',
    IntlDateFormatter::GREGORIAN
);
echo 'timezone_id of the formatter is : ' . $fmt->getTimezoneId();
$fmt->setTimezoneId('CN');
echo 'Now timezone_id of the formatter is : ' . $fmt->getTimezoneId();

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

timezone_id of the formatter is : America/Los_Angeles
Now timezone_id of the formatter is : CN

Siehe auch

  • datefmt_get_timezone_id() - Get the timezone-id used for the IntlDateFormatter
  • datefmt_create() - Create a date formatter

IntlDateFormatter::setPattern
IntlDateFormatter::setTimeZone
IntlDateFormatter


Sets formatter's timezone

IntlDateFormatter::setTimeZoneId
ResourceBundle
IntlDateFormatter
PHP Manual

IntlDateFormatter::setTimeZone

datefmt_set_timezone

(PHP 5 >= 5.5.0, PHP 7, PECL intl >= 3.0.0)

IntlDateFormatter::setTimeZone -- datefmt_set_timezone — Sets formatter's timezone

Beschreibung

Objektorientierter Stil

public boolean IntlDateFormatter::setTimeZone ( mixed $zone )

Prozeduraler Stil

boolean datefmt_set_timezone ( mixed $zone )

Sets the timezone that will be used when formatting dates or times with this object.

Parameter-Liste

zone

The timezone to use for this formatter. This can be specified in the following forms:

  • NULL, in which case the default timezone will be used, as specified in the ini setting date.timezone or through the function date_default_timezone_set() and as returned by date_default_timezone_get().

  • An IntlTimeZone, which will be used directly.

  • A DateTimeZone. Its identifier will be extracted and an ICU timezone object will be created; the timezone will be backed by ICU's database, not PHP's.

  • A string, which should be a valid ICU timezone identifier. See IntlTimeZone::createTimeZoneIDEnumeration(). Raw offsets such as "GMT+08:30" are also accepted.

Rückgabewerte

Returns TRUE on success and FALSE on failure.

Beispiele

Beispiel #1 IntlDateFormatter::setTimeZone() examples

<?php
ini_set('date.timezone', 'Europe/Amsterdam');

$formatter = IntlDateFormatter::create(NULL, NULL, NULL, "UTC");

$formatter->setTimeZone(NULL);
echo "NULL\n    ", $formatter->getTimeZone()->getId(), "\n";

$formatter->setTimeZone(IntlTimeZone::createTimeZone('Europe/Lisbon'));
echo "IntlTimeZone\n    ", $formatter->getTimeZone()->getId(), "\n";

$formatter->setTimeZone(new DateTimeZone('Europe/Paris'));
echo "DateTimeZone\n    ", $formatter->getTimeZone()->getId(), "\n";

$formatter->setTimeZone('Europe/Rome');
echo "String\n    ", $formatter->getTimeZone()->getId(), "\n";

$formatter->setTimeZone('GMT+00:30');
print_r($formatter->getTimeZone());

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

NULL
    Europe/Amsterdam
IntlTimeZone
    Europe/Lisbon
DateTimeZone
    Europe/Paris
String
    Europe/Rome
IntlTimeZone Object
(
    [valid] => 1
    [id] => GMT+00:30
    [rawOffset] => 1800000
    [currentOffset] => 1800000
)

Siehe auch

  • IntlDateFormatter::getTimeZone() - Get formatter's timezone

IntlDateFormatter::setTimeZoneId
ResourceBundle
IntlDateFormatter


The ResourceBundle class

(PHP >= 5.3.2, PECL intl >= 2.0.0)

Einführung

Localized software products often require sets of data that are to be customized depending on current locale, e.g.: messages, labels, formatting patterns. ICU resource mechanism allows to define sets of resources that the application can load on locale basis, while accessing them in unified locale-independent fashion.

This class implements access to ICU resource data files. These files are binary data arrays which ICU uses to store the localized data.

ICU resource bundle can hold simple resources and complex resources. Complex resources are containers which can be either integer-indexed or string-indexed (just like PHP arrays). Simple resources can be of the following types: string, integer, binary data field or integer array.

ResourceBundle supports direct access to the data through array access pattern and iteration via foreach, as well as access via class methods. The result will be PHP value for simple resources and ResourceBundle object for complex ones. All resources are read-only.

Klassenbeschreibung

ResourceBundle {
/* Methods */
public __construct ( string $locale , string $bundlename [, bool $fallback ] )
public int count ( void )
public static ResourceBundle create ( string $locale , string $bundlename [, bool $fallback ] )
public int getErrorCode ( void )
public string getErrorMessage ( void )
public mixed get ( string|int $index )
public array getLocales ( string $bundlename )
}

Siehe auch

  • » ICU Resource Management
  • » ICU Data

Inhaltsverzeichnis

  • ResourceBundle::count — Get number of elements in the bundle
  • ResourceBundle::create — Create a resource bundle
  • ResourceBundle::getErrorCode — Get bundle's last error code.
  • ResourceBundle::getErrorMessage — Get bundle's last error message.
  • ResourceBundle::get — Get data from the bundle
  • ResourceBundle::getLocales — Get supported locales
IntlDateFormatter::setTimeZone
ResourceBundle::count
intl


Get number of elements in the bundle

ResourceBundle
ResourceBundle::create
ResourceBundle
PHP Manual

ResourceBundle::count

resourcebundle_count

(PHP >= 5.3.2, PECL intl >= 2.0.0)

ResourceBundle::count -- resourcebundle_count — Get number of elements in the bundle

Beschreibung

Objektorientierter Stil

public int ResourceBundle::count ( void )

Prozeduraler Stil

int resourcebundle_count ( ResourceBundle $r )

Get the number of elements in the bundle.

Parameter-Liste

r

ResourceBundle object.

Rückgabewerte

Returns number of elements in the bundle.

Beispiele

Beispiel #1 resourcebundle_count() example

<?php
$r = resourcebundle_create( 'es', "/usr/share/data/myapp");
echo resourcebundle_count($r);
?>

Beispiel #2 OO example

<?php
$r = new ResourceBundle( 'es', "/usr/share/data/myapp");
echo $r->count();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

42

Siehe auch

  • resourcebundle_get() - Get data from the bundle

ResourceBundle
ResourceBundle::create
ResourceBundle


Create a resource bundle

ResourceBundle::count
ResourceBundle::getErrorCode
ResourceBundle
PHP Manual

ResourceBundle::create

resourcebundle_create

ResourceBundle::__construct

(PHP >= 5.3.2, PECL intl >= 2.0.0)

ResourceBundle::create -- resourcebundle_create -- ResourceBundle::__construct — Create a resource bundle

Beschreibung

Objektorientierter Stil (method)

public static ResourceBundle ResourceBundle::create ( string $locale , string $bundlename [, bool $fallback ] )

Prozeduraler Stil

ResourceBundle resourcebundle_create ( string $locale , string $bundlename [, bool $fallback ] )

Objektorientierter Stil (constructor):

public ResourceBundle::__construct ( string $locale , string $bundlename [, bool $fallback ] )

Creates a resource bundle.

Parameter-Liste

locale

Locale for which the resources should be loaded (locale name, e.g. en_CA).

bundlename

The directory where the data is stored or the name of the .dat file.

fallback

Whether locale should match exactly or fallback to parent locale is allowed.

Rückgabewerte

Returns ResourceBundle object or NULL on error.

Beispiele

Beispiel #1 resourcebundle_create() example

<?php
$r = resourcebundle_create( 'es', "/usr/share/data/myapp");
echo $r['teststring'];
?>

Beispiel #2 ResourceBundle::create() example

<?php
$r = ResourceBundle::create( 'es', "/usr/share/data/myapp");
echo $r['teststring'];
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

¡Hola, mundo!

Siehe auch

  • resourcebundle_get() - Get data from the bundle

ResourceBundle::count
ResourceBundle::getErrorCode
ResourceBundle


Get bundle's last error code.

ResourceBundle::create
ResourceBundle::getErrorMessage
ResourceBundle
PHP Manual

ResourceBundle::getErrorCode

resourcebundle_get_error_code

(PHP >= 5.3.2, PECL intl >= 2.0.0)

ResourceBundle::getErrorCode -- resourcebundle_get_error_code — Get bundle's last error code.

Beschreibung

Objektorientierter Stil

public int ResourceBundle::getErrorCode ( void )

Prozeduraler Stil

int resourcebundle_get_error_code ( ResourceBundle $r )

Get error code from the last function performed by the bundle object.

Parameter-Liste

r

ResourceBundle object.

Rückgabewerte

Returns error code from last bundle object call.

Beispiele

Beispiel #1 resourcebundle_get_error_code() example

<?php
$r = resourcebundle_create( 'es', "/usr/share/data/myapp");
echo $r['somestring'];
if(intl_is_failure(resourcebundle_get_error_code($r))) {
    report_error("Bundle error");
}
?>

Beispiel #2 OO example

<?php
$r = new ResourceBundle( 'es', "/usr/share/data/myapp");
echo $r['somestring'];
if(intl_is_failure(ResourceBundle::getErrorCode($r))) {
    report_error("Bundle error");
}
?>

Siehe auch

  • resourcebundle_get_error_message() - Get bundle's last error message.
  • intl_get_error_code() - Get the last error code
  • intl_is_failure() - Check whether the given error code indicates failure

ResourceBundle::create
ResourceBundle::getErrorMessage
ResourceBundle


Get bundle's last error message.

ResourceBundle::getErrorCode
ResourceBundle::get
ResourceBundle
PHP Manual

ResourceBundle::getErrorMessage

resourcebundle_get_error_message

(PHP >= 5.3.2, PECL intl >= 2.0.0)

ResourceBundle::getErrorMessage -- resourcebundle_get_error_message — Get bundle's last error message.

Beschreibung

Objektorientierter Stil

public string ResourceBundle::getErrorMessage ( void )

Prozeduraler Stil

string resourcebundle_get_error_message ( ResourceBundle $r )

Get error message from the last function performed by the bundle object.

Parameter-Liste

r

ResourceBundle object.

Rückgabewerte

Returns error message from last bundle object's call.

Beispiele

Beispiel #1 resourcebundle_get_error_message() example

<?php
$r = resourcebundle_create( 'es', "/usr/share/data/myapp");
echo $r['somestring'];
if(intl_is_failure(resourcebundle_get_error_code($r))) {
    report_error("Bundle error: ".resourcebundle_get_error_message($r));
}
?>

Beispiel #2 OO example

<?php
$r = new ResourceBundle( 'es', "/usr/share/data/myapp");
echo $r['somestring'];
if(intl_is_failure(ResourceBundle::getErrorCode($r))) {
    report_error("Bundle error: ".ResourceBundle::getErrorMessage($r));
}
?>

Siehe auch

  • resourcebundle_get_error_code() - Get bundle's last error code.
  • intl_get_error_code() - Get the last error code
  • intl_is_failure() - Check whether the given error code indicates failure

ResourceBundle::getErrorCode
ResourceBundle::get
ResourceBundle


Get data from the bundle

ResourceBundle::getErrorMessage
ResourceBundle::getLocales
ResourceBundle
PHP Manual

ResourceBundle::get

resourcebundle_get

(PHP >= 5.3.2, PECL intl >= 2.0.0)

ResourceBundle::get -- resourcebundle_get — Get data from the bundle

Beschreibung

Objektorientierter Stil

public mixed ResourceBundle::get ( string|int $index )

Prozeduraler Stil

mixed resourcebundle_get ( ResourceBundle $r , string|int $index )

Get the data from the bundle by index or string key.

Parameter-Liste

r

ResourceBundle object.

index

Data index, must be string or integer.

Rückgabewerte

Returns the data located at the index or NULL on error. Strings, integers and binary data strings are returned as corresponding PHP types, integer array is returned as PHP array. Complex types are returned as ResourceBundle object.

Beispiele

Beispiel #1 resourcebundle_get() example

<?php
$r = resourcebundle_create( 'es', "/usr/share/data/myapp");
echo resourcebundle_get($r, 'somestring');
?>

Beispiel #2 OO example

<?php
$r = new ResourceBundle( 'es', "/usr/share/data/myapp");
echo $r->get('somestring');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

?Hola, mundo!

Siehe auch

  • resourcebundle_count() - Get number of elements in the bundle

ResourceBundle::getErrorMessage
ResourceBundle::getLocales
ResourceBundle


Get supported locales

ResourceBundle::get
Spoofchecker
ResourceBundle
PHP Manual

ResourceBundle::getLocales

resourcebundle_locales

(PHP >= 5.3.2, PECL intl >= 2.0.0)

ResourceBundle::getLocales -- resourcebundle_locales — Get supported locales

Beschreibung

Objektorientierter Stil

public array ResourceBundle::getLocales ( string $bundlename )

Prozeduraler Stil

array resourcebundle_locales ( string $bundlename )

Get available locales from ResourceBundle name.

Parameter-Liste

bundlename

Path of ResourceBundle for which to get available locales, or empty string for default locales list.

Rückgabewerte

Returns the list of locales supported by the bundle.

Beispiele

Beispiel #1 resourcebundle_locales() example

<?php
$bundle = "/user/share/data/myapp";
echo join(PHP_EOL, resourcebundle_locales($bundle));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

es
root

Beispiel #2 OO example

<?php
$bundle = "/usr/share/data/myapp";
$r = new ResourceBundle( 'es', $bundle);
echo join("\n", $r->getLocales($bundle));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

es
root

Siehe auch

  • resourcebundle_get() - Get data from the bundle

ResourceBundle::get
Spoofchecker
ResourceBundle


The Spoofchecker class

(PHP >= 5.4.0, PECL intl >= 2.0.0)

Einführung

This class is provided because Unicode contains large number of characters and incorporates the varied writing systems of the world and their incorrect usage can expose programs or systems to possible security attacks using characters similarity.

Provided methods alllow to check whether an individual string is likely an attempt at confusing the reader (spoof detection), such as "p?yp?l" spelled with Cyrillic '?' characters.

Klassenbeschreibung

Spoofchecker {
/* Constants */
const integer SINGLE_SCRIPT_CONFUSABLE = 1 ;
const integer MIXED_SCRIPT_CONFUSABLE = 2 ;
const integer WHOLE_SCRIPT_CONFUSABLE = 4 ;
const integer ANY_CASE = 8 ;
const integer SINGLE_SCRIPT = 16 ;
const integer INVISIBLE = 32 ;
const integer CHAR_LIMIT = 64 ;
/* Methoden */
public bool areConfusable ( string $str1 , string $str2 [, string &$error ] )
public __construct ( void )
public bool isSuspicious ( string $text [, string &$error ] )
public void setAllowedLocales ( string $locale_list )
public void setChecks ( long $checks )
}

Vordefinierte Konstanten

Spoofchecker::SINGLE_SCRIPT_CONFUSABLE

Spoofchecker::MIXED_SCRIPT_CONFUSABLE

Spoofchecker::WHOLE_SCRIPT_CONFUSABLE

Spoofchecker::ANY_CASE

Spoofchecker::SINGLE_SCRIPT

Spoofchecker::INVISIBLE

Spoofchecker::CHAR_LIMIT

Inhaltsverzeichnis

  • Spoofchecker::areConfusable — Checks if given strings can be confused
  • Spoofchecker::__construct — Constructor
  • Spoofchecker::isSuspicious — Checks if a given text contains any suspicious characters
  • Spoofchecker::setAllowedLocales — Locales to use when running checks
  • Spoofchecker::setChecks — Set the checks to run
ResourceBundle::getLocales
Spoofchecker::areConfusable
intl


Checks if given strings can be confused

Spoofchecker
Spoofchecker::__construct
Spoofchecker
PHP Manual

Spoofchecker::areConfusable

(PHP >= 5.4.0, PECL intl >= 2.0.0)

Spoofchecker::areConfusable — Checks if given strings can be confused

Beschreibung

public bool Spoofchecker::areConfusable ( string $str1 , string $str2 [, string &$error ] )

Checks whether two given strings can easily be mistaken.

Parameter-Liste

str1

First string to check.

str2

Second string to check.

error

This variable is set by-reference to string containing an error, if there were any.

Rückgabewerte

Returns TRUE if two given strings can be confused, FALSE otherwise.

Beispiele

Beispiel #1 Spoofchecker::areConfusable() example

<?php
$checker = new Spoofchecker();

$checker->areConfusable('google.com', 'goog1e.com'); // true
// Lower l can be confused with digit one

$checker->areConfusable('google.com', 'g00g1e.com'); // false
// Zero (0) cannot be easily confused with "o" letter

Spoofchecker
Spoofchecker::__construct
Spoofchecker


Constructor

Spoofchecker::areConfusable
Spoofchecker::isSuspicious
Spoofchecker
PHP Manual

Spoofchecker::__construct

(PHP >= 5.4.0, PECL intl >= 2.0.0)

Spoofchecker::__construct — Constructor

Beschreibung

public Spoofchecker::__construct ( void )

Creates new instance of Spoofchecker.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns Spoofchecker instance.

Spoofchecker::areConfusable
Spoofchecker::isSuspicious
Spoofchecker


Checks if a given text contains any suspicious characters

Spoofchecker::__construct
Spoofchecker::setAllowedLocales
Spoofchecker
PHP Manual

Spoofchecker::isSuspicious

(PHP >= 5.4.0, PECL intl >= 2.0.0)

Spoofchecker::isSuspicious — Checks if a given text contains any suspicious characters

Beschreibung

public bool Spoofchecker::isSuspicious ( string $text [, string &$error ] )

Checks if given string contains any suspicious characters like letters which are almost identical visually, but are Unicode characters from different sets.

Parameter-Liste

text

String to test.

error

This variable is set by-reference to string containing an error, if there were any.

Rückgabewerte

Returns TRUE if there are suspicious characters, FALSE otherwise.

Beispiele

Beispiel #1 Spoofchecker::isSuspicious() example

<?php
$checker = new Spoofchecker();

$checker->isSuspicious('google.com'); // FALSE: only ASCII characters

$checker->isSuspicious('?aypal.com'); // TRUE
// The first letter is from Cyrylic, not a regular latin "P"

Spoofchecker::__construct
Spoofchecker::setAllowedLocales
Spoofchecker


Locales to use when running checks

Spoofchecker::isSuspicious
Spoofchecker::setChecks
Spoofchecker
PHP Manual

Spoofchecker::setAllowedLocales

(PHP >= 5.4.0, PECL intl >= 2.0.0)

Spoofchecker::setAllowedLocales — Locales to use when running checks

Beschreibung

public void Spoofchecker::setAllowedLocales ( string $locale_list )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

locale_list

Rückgabewerte

Spoofchecker::isSuspicious
Spoofchecker::setChecks
Spoofchecker


Set the checks to run

Spoofchecker::setAllowedLocales
Transliterator
Spoofchecker
PHP Manual

Spoofchecker::setChecks

(PHP >= 5.4.0, PECL intl >= 2.0.0)

Spoofchecker::setChecks — Set the checks to run

Beschreibung

public void Spoofchecker::setChecks ( long $checks )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

checks

Rückgabewerte

Spoofchecker::setAllowedLocales
Transliterator
Spoofchecker


The Transliterator class

(PHP >= 5.4.0, PECL intl >= 2.0.0)

Einführung

Transliterator provides transliteration of strings.

Klassenbeschreibung

Transliterator {
/* Konstanten */
const integer FORWARD = 0 ;
const integer REVERSE = 1 ;
/* Eigenschaften */
public $id ;
/* Methoden */
__construct ( void )
public static Transliterator create ( string $id [, int $direction ] )
public static Transliterator createFromRules ( string $rules [, string $direction ] )
public Transliterator createInverse ( void )
public int getErrorCode ( void )
public string getErrorMessage ( void )
public static array listIDs ( void )
public string transliterate ( string $subject [, int $start [, int $end ]] )
}

Eigenschaften

id

Vordefinierte Konstanten

Transliterator::FORWARD

Transliterator::REVERSE

Inhaltsverzeichnis

  • Transliterator::__construct — Private constructor to deny instantiation
  • Transliterator::create — Create a transliterator
  • Transliterator::createFromRules — Create transliterator from rules
  • Transliterator::createInverse — Create an inverse transliterator
  • Transliterator::getErrorCode — Get last error code
  • Transliterator::getErrorMessage — Get last error message
  • Transliterator::listIDs — Get transliterator IDs
  • Transliterator::transliterate — Transliterate a string
Spoofchecker::setChecks
Transliterator::__construct
intl


Private constructor to deny instantiation

Transliterator
Transliterator::create
Transliterator
PHP Manual

Transliterator::__construct

(PHP >= 5.4.0, PECL intl >= 2.0.0)

Transliterator::__construct — Private constructor to deny instantiation

Beschreibung

Transliterator::__construct ( void )

This method should not be called. Its only purpose is to deny instantiation with the new operator.

Use the factory methods Transliterator::create() or Transliterator::createFromRules() instead.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

This method should not be executed. If it is (e.g. through reflection), then its return value is unspecified.

Siehe auch

  • Transliterator::create() - Create a transliterator
  • Transliterator::createFromRules() - Create transliterator from rules

Transliterator
Transliterator::create
Transliterator


Create a transliterator

Transliterator::__construct
Transliterator::createFromRules
Transliterator
PHP Manual

Transliterator::create

transliterator_create

(PHP >= 5.4.0, PECL intl >= 2.0.0)

Transliterator::create -- transliterator_create — Create a transliterator

Beschreibung

Objektorientierter Stil

public static Transliterator Transliterator::create ( string $id [, int $direction ] )

Prozeduraler Stil

Transliterator transliterator_create ( string $id [, int $direction ] )

Opens a Transliterator by id.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

id

The id.

direction

The direction, defaults to >Transliterator::FORWARD. May also be set to Transliterator::REVERSE.

Rückgabewerte

Returns a Transliterator object on success, or NULL on failure.

Siehe auch

  • Transliterator::getErrorMessage() - Get last error message
  • Transliterator::__construct() - Private constructor to deny instantiation

Transliterator::__construct
Transliterator::createFromRules
Transliterator


Create transliterator from rules

Transliterator::create
Transliterator::createInverse
Transliterator
PHP Manual

Transliterator::createFromRules

transliterator_create_from_rules

(PHP >= 5.4.0, PECL intl >= 2.0.0)

Transliterator::createFromRules -- transliterator_create_from_rules — Create transliterator from rules

Beschreibung

Objektorientierter Stil

public static Transliterator Transliterator::createFromRules ( string $rules [, string $direction ] )

Prozeduraler Stil

Transliterator transliterator_create_from_rules ( string $id [, int $direction ] )

Creates a Transliterator from rules.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

rules

The rules.

direction

The direction, defaults to >Transliterator::FORWARD. May also be set to Transliterator::REVERSE.

Rückgabewerte

Returns a Transliterator object on success, or NULL on failure.

Siehe auch

  • Transliterator::getErrorMessage() - Get last error message
  • Transliterator::create() - Create a transliterator

Transliterator::create
Transliterator::createInverse
Transliterator


Create an inverse transliterator

Transliterator::createFromRules
Transliterator::getErrorCode
Transliterator
PHP Manual

Transliterator::createInverse

transliterator_create_inverse

(PHP >= 5.4.0, PECL intl >= 2.0.0)

Transliterator::createInverse -- transliterator_create_inverse — Create an inverse transliterator

Beschreibung

Objektorientierter Stil

public Transliterator Transliterator::createInverse ( void )

Prozeduraler Stil

Transliterator transliterator_create_inverse ( void )

Opens the inverse transliterator.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a Transliterator object on success, or NULL on failure

Siehe auch

  • Transliterator::getErrorMessage() - Get last error message
  • Transliterator::create() - Create a transliterator

Transliterator::createFromRules
Transliterator::getErrorCode
Transliterator


Get last error code

Transliterator::createInverse
Transliterator::getErrorMessage
Transliterator
PHP Manual

Transliterator::getErrorCode

transliterator_get_error_code

(PHP >= 5.4.0, PECL intl >= 2.0.0)

Transliterator::getErrorCode -- transliterator_get_error_code — Get last error code

Beschreibung

Objektorientierter Stil

public int Transliterator::getErrorCode ( void )

Prozeduraler Stil

int transliterator_get_error_code ( void )

Gets the last error code for this transliterator.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The error code on success, or FALSE if none exists, or on failure.

Siehe auch

  • Transliterator::getErrorMessage() - Get last error message
  • Transliterator::listIDs() - Get transliterator IDs

Transliterator::createInverse
Transliterator::getErrorMessage
Transliterator


Get last error message

Transliterator::getErrorCode
Transliterator::listIDs
Transliterator
PHP Manual

Transliterator::getErrorMessage

transliterator_get_error_message

(PHP >= 5.4.0, PECL intl >= 2.0.0)

Transliterator::getErrorMessage -- transliterator_get_error_message — Get last error message

Beschreibung

Objektorientierter Stil

public string Transliterator::getErrorMessage ( void )

Prozeduraler Stil

string transliterator_get_error_message ( void )

Gets the last error message for this transliterator.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The error message on success, or FALSE if none exists, or on failure.

Siehe auch

  • Transliterator::getErrorCode() - Get last error code
  • Transliterator::listIDs() - Get transliterator IDs

Transliterator::getErrorCode
Transliterator::listIDs
Transliterator


Get transliterator IDs

Transliterator::getErrorMessage
Transliterator::transliterate
Transliterator
PHP Manual

Transliterator::listIDs

transliterator_list_ids

(PHP >= 5.4.0, PECL intl >= 2.0.0)

Transliterator::listIDs -- transliterator_list_ids — Get transliterator IDs

Beschreibung

Objektorientierter Stil

public static array Transliterator::listIDs ( void )

Prozeduraler Stil

array transliterator_list_ids ( void )

Returns an array with the registered transliterator IDs.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An array of registered transliterator IDs on success, Im Fehlerfall wird FALSE zurückgegeben..

Siehe auch

  • Transliterator::getErrorMessage() - Get last error message
  • Transliterator::transliterate() - Transliterate a string

Transliterator::getErrorMessage
Transliterator::transliterate
Transliterator


Transliterate a string

Transliterator::listIDs
IntlBreakIterator
Transliterator
PHP Manual

Transliterator::transliterate

transliterator_transliterate

(PHP >= 5.4.0, PECL intl >= 2.0.0)

Transliterator::transliterate -- transliterator_transliterate — Transliterate a string

Beschreibung

Objektorientierter Stil

public string Transliterator::transliterate ( string $subject [, int $start [, int $end ]] )

Prozeduraler Stil

transliterator_transliterate ( mixed $transliterator , string $subject [, int $start [, int $end ]] )

Transforms a string or part thereof using an ICU transliterator.

Parameter-Liste

transliterator

In the procedural version, either a Transliterator or a string from which a Transliterator can be built.

subject

The string to be transformed.

start

The start index (in UTF-16 code units) from which the string will start to be transformed, inclusive. Indexing starts at 0. The text before will be left as is.

end

The end index (in UTF-16 code units) until which the string will be transformed, exclusive. Indexing starts at 0. The text after will be left as is.

Rückgabewerte

The transfomed string on success, Im Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 Converting escaped UTF-16 code units

<?php
$s = "\u304A\u65E9\u3046\u3054\u3056\u3044\u307E\u3059";
echo transliterator_transliterate("Hex-Any/Java", $s), "\n";

//now the reverse operation with a supplementary character
$supplChar = html_entity_decode('&#x1D11E;');
echo mb_strlen($supplChar, "UTF-8"), "\n";
$encSupplChar = transliterator_transliterate("Any-Hex/Java", $supplChar);
//echoes two encoded UTF-16 code units
echo $encSupplChar, "\n";
//and back
echo transliterator_transliterate("Hex-Any/Java", $encSupplChar), "\n";
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

????????
1
\uD834\uDD1E
??

Siehe auch

  • Transliterator::getErrorMessage() - Get last error message
  • Transliterator::__construct() - Private constructor to deny instantiation

Transliterator::listIDs
IntlBreakIterator
Transliterator


The IntlBreakIterator class

(No version information available, might only be in Git)

Einführung

A “break iterator” is an ICU object that exposes methods for locating boundaries in text (e.g. word or sentence boundaries). The PHP IntlBreakIterator serves as the base class for all types of ICU break iterators. Where extra functionality is available, the intl extension may expose the ICU break iterator with suitable subclasses, such as IntlRuleBasedBreakIterator or IntlCodePointBreaIterator.

This class implements Traversable. Traversing an IntlBreakIterator yields non-negative integer values representing the successive locations of the text boundaries, expressed as UTF-8 code units (byte) counts, taken from the beggining of the text (which has the location 0). The keys yielded by the iterator simply form the sequence of natural numbers {0, 1, 2, …}.

Klassenbeschreibung

IntlBreakIterator implements Traversable {
/* Constants */
const integer DONE = -1 ;
const integer WORD_NONE = 0 ;
const integer WORD_NONE_LIMIT = 100 ;
const integer WORD_NUMBER = 100 ;
const integer WORD_NUMBER_LIMIT = 200 ;
const integer WORD_LETTER = 200 ;
const integer WORD_LETTER_LIMIT = 300 ;
const integer WORD_KANA = 300 ;
const integer WORD_KANA_LIMIT = 400 ;
const integer WORD_IDEO = 400 ;
const integer WORD_IDEO_LIMIT = 500 ;
const integer LINE_SOFT = 0 ;
const integer LINE_SOFT_LIMIT = 100 ;
const integer LINE_HARD = 100 ;
const integer LINE_HARD_LIMIT = 200 ;
const integer SENTENCE_TERM = 0 ;
const integer SENTENCE_TERM_LIMIT = 100 ;
const integer SENTENCE_SEP = 100 ;
const integer SENTENCE_SEP_LIMIT = 200 ;
/* Methoden */
private __construct ( void )
public static ReturnType createCharacterInstance ([ string $"locale" ] )
public static ReturnType createCodePointInstance ( void )
public static ReturnType createLineInstance ([ string $"locale" ] )
public static ReturnType createSentenceInstance ([ string $"locale" ] )
public static ReturnType createTitleInstance ([ string $"locale" ] )
public static ReturnType createWordInstance ([ string $"locale" ] )
public ReturnType current ( void )
public ReturnType first ( void )
public ReturnType following ( string $"offset" )
public ReturnType getErrorCode ( void )
ReturnType intl_get_error_code ( void )
public ReturnType getErrorMessage ( void )
ReturnType intl_get_error_message ( void )
public ReturnType getLocale ( string $"locale_type" )
public ReturnType getPartsIterator ([ string $"key_type" ] )
public ReturnType getText ( void )
public ReturnType isBoundary ( string $"offset" )
public ReturnType last ( void )
public ReturnType next ([ string $"offset" ] )
public ReturnType preceding ( string $"offset" )
public ReturnType previous ( void )
public ReturnType setText ( string $"text" )
}

Vordefinierte Konstanten

IntlBreakIterator::DONE

IntlBreakIterator::WORD_NONE

IntlBreakIterator::WORD_NONE_LIMIT

IntlBreakIterator::WORD_NUMBER

IntlBreakIterator::WORD_NUMBER_LIMIT

IntlBreakIterator::WORD_LETTER

IntlBreakIterator::WORD_LETTER_LIMIT

IntlBreakIterator::WORD_KANA

IntlBreakIterator::WORD_KANA_LIMIT

IntlBreakIterator::WORD_IDEO

IntlBreakIterator::WORD_IDEO_LIMIT

IntlBreakIterator::LINE_SOFT

IntlBreakIterator::LINE_SOFT_LIMIT

IntlBreakIterator::LINE_HARD

IntlBreakIterator::LINE_HARD_LIMIT

IntlBreakIterator::SENTENCE_TERM

IntlBreakIterator::SENTENCE_TERM_LIMIT

IntlBreakIterator::SENTENCE_SEP

IntlBreakIterator::SENTENCE_SEP_LIMIT

Inhaltsverzeichnis

  • IntlBreakIterator::__construct — Private constructor for disallowing instantiation
  • IntlBreakIterator::createCharacterInstance — Create break iterator for boundaries of combining character sequences
  • IntlBreakIterator::createCodePointInstance — Create break iterator for boundaries of code points
  • IntlBreakIterator::createLineInstance — Create break iterator for logically possible line breaks
  • IntlBreakIterator::createSentenceInstance — Create break iterator for sentence breaks
  • IntlBreakIterator::createTitleInstance — Create break iterator for title-casing breaks
  • IntlBreakIterator::createWordInstance — Create break iterator for word breaks
  • IntlBreakIterator::current — Get index of current position
  • IntlBreakIterator::first — Set position to the first character in the text
  • IntlBreakIterator::following — Advance the iterator to the first boundary following specified offset
  • IntlBreakIterator::getErrorCode — Get last error code on the object
  • IntlBreakIterator::getErrorMessage — Get last error message on the object
  • IntlBreakIterator::getLocale — Get the locale associated with the object
  • IntlBreakIterator::getPartsIterator — Create iterator for navigating fragments between boundaries
  • IntlBreakIterator::getText — Get the text being scanned
  • IntlBreakIterator::isBoundary — Tell whether an offset is a boundary's offset
  • IntlBreakIterator::last — Set the iterator position to index beyond the last character
  • IntlBreakIterator::next — Advance the iterator the next boundary
  • IntlBreakIterator::preceding — Set the iterator position to the first boundary before an offset
  • IntlBreakIterator::previous — Set the iterator position to the boundary immediately before the current
  • IntlBreakIterator::setText — Set the text being scanned
Transliterator::transliterate
IntlBreakIterator::__construct
intl


Private constructor for disallowing instantiation

IntlBreakIterator
IntlBreakIterator::createCharacterInstance
IntlBreakIterator
PHP Manual

IntlBreakIterator::__construct

(No version information available, might only be in Git)

IntlBreakIterator::__construct — Private constructor for disallowing instantiation

Beschreibung

private IntlBreakIterator::__construct ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

IntlBreakIterator
IntlBreakIterator::createCharacterInstance
IntlBreakIterator


Create break iterator for boundaries of combining character sequences

IntlBreakIterator::__construct
IntlBreakIterator::createCodePointInstance
IntlBreakIterator
PHP Manual

IntlBreakIterator::createCharacterInstance

(No version information available, might only be in Git)

IntlBreakIterator::createCharacterInstance — Create break iterator for boundaries of combining character sequences

Beschreibung

public static ReturnType IntlBreakIterator::createCharacterInstance ([ string $"locale" ] )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

"locale"

Rückgabewerte

IntlBreakIterator::__construct
IntlBreakIterator::createCodePointInstance
IntlBreakIterator


Create break iterator for boundaries of code points

IntlBreakIterator::createCharacterInstance
IntlBreakIterator::createLineInstance
IntlBreakIterator
PHP Manual

IntlBreakIterator::createCodePointInstance

(No version information available, might only be in Git)

IntlBreakIterator::createCodePointInstance — Create break iterator for boundaries of code points

Beschreibung

public static ReturnType IntlBreakIterator::createCodePointInstance ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

IntlBreakIterator::createCharacterInstance
IntlBreakIterator::createLineInstance
IntlBreakIterator


Create break iterator for logically possible line breaks

IntlBreakIterator::createCodePointInstance
IntlBreakIterator::createSentenceInstance
IntlBreakIterator
PHP Manual

IntlBreakIterator::createLineInstance

(No version information available, might only be in Git)

IntlBreakIterator::createLineInstance — Create break iterator for logically possible line breaks

Beschreibung

public static ReturnType IntlBreakIterator::createLineInstance ([ string $"locale" ] )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

"locale"

Rückgabewerte

IntlBreakIterator::createCodePointInstance
IntlBreakIterator::createSentenceInstance
IntlBreakIterator


Create break iterator for sentence breaks

IntlBreakIterator::createLineInstance
IntlBreakIterator::createTitleInstance
IntlBreakIterator
PHP Manual

IntlBreakIterator::createSentenceInstance

(No version information available, might only be in Git)

IntlBreakIterator::createSentenceInstance — Create break iterator for sentence breaks

Beschreibung

public static ReturnType IntlBreakIterator::createSentenceInstance ([ string $"locale" ] )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

"locale"

Rückgabewerte

IntlBreakIterator::createLineInstance
IntlBreakIterator::createTitleInstance
IntlBreakIterator


Create break iterator for title-casing breaks

IntlBreakIterator::createSentenceInstance
IntlBreakIterator::createWordInstance
IntlBreakIterator
PHP Manual

IntlBreakIterator::createTitleInstance

(No version information available, might only be in Git)

IntlBreakIterator::createTitleInstance — Create break iterator for title-casing breaks

Beschreibung

public static ReturnType IntlBreakIterator::createTitleInstance ([ string $"locale" ] )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

"locale"

Rückgabewerte

IntlBreakIterator::createSentenceInstance
IntlBreakIterator::createWordInstance
IntlBreakIterator


Create break iterator for word breaks

IntlBreakIterator::createTitleInstance
IntlBreakIterator::current
IntlBreakIterator
PHP Manual

IntlBreakIterator::createWordInstance

(No version information available, might only be in Git)

IntlBreakIterator::createWordInstance — Create break iterator for word breaks

Beschreibung

public static ReturnType IntlBreakIterator::createWordInstance ([ string $"locale" ] )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

"locale"

Rückgabewerte

IntlBreakIterator::createTitleInstance
IntlBreakIterator::current
IntlBreakIterator


Get index of current position

IntlBreakIterator::createWordInstance
IntlBreakIterator::first
IntlBreakIterator
PHP Manual

IntlBreakIterator::current

(No version information available, might only be in Git)

IntlBreakIterator::current — Get index of current position

Beschreibung

public ReturnType IntlBreakIterator::current ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

IntlBreakIterator::createWordInstance
IntlBreakIterator::first
IntlBreakIterator


Set position to the first character in the text

IntlBreakIterator::current
IntlBreakIterator::following
IntlBreakIterator
PHP Manual

IntlBreakIterator::first

(No version information available, might only be in Git)

IntlBreakIterator::first — Set position to the first character in the text

Beschreibung

public ReturnType IntlBreakIterator::first ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

IntlBreakIterator::current
IntlBreakIterator::following
IntlBreakIterator


Advance the iterator to the first boundary following specified offset

IntlBreakIterator::first
IntlBreakIterator::getErrorCode
IntlBreakIterator
PHP Manual

IntlBreakIterator::following

(No version information available, might only be in Git)

IntlBreakIterator::following — Advance the iterator to the first boundary following specified offset

Beschreibung

public ReturnType IntlBreakIterator::following ( string $"offset" )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

"offset"

Rückgabewerte

IntlBreakIterator::first
IntlBreakIterator::getErrorCode
IntlBreakIterator


Get last error code on the object

IntlBreakIterator::following
IntlBreakIterator::getErrorMessage
IntlBreakIterator
PHP Manual

IntlBreakIterator::getErrorCode

intl_get_error_code

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

IntlBreakIterator::getErrorCode -- intl_get_error_code — Get last error code on the object

Beschreibung

Objektorientierter Stil (method):

public ReturnType IntlBreakIterator::getErrorCode ( void )

Prozeduraler Stil:

ReturnType intl_get_error_code ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

IntlBreakIterator::following
IntlBreakIterator::getErrorMessage
IntlBreakIterator


Get last error message on the object

IntlBreakIterator::getErrorCode
IntlBreakIterator::getLocale
IntlBreakIterator
PHP Manual

IntlBreakIterator::getErrorMessage

intl_get_error_message

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

IntlBreakIterator::getErrorMessage -- intl_get_error_message — Get last error message on the object

Beschreibung

Objektorientierter Stil (method):

public ReturnType IntlBreakIterator::getErrorMessage ( void )

Prozeduraler Stil:

ReturnType intl_get_error_message ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

IntlBreakIterator::getErrorCode
IntlBreakIterator::getLocale
IntlBreakIterator


Get the locale associated with the object

IntlBreakIterator::getErrorMessage
IntlBreakIterator::getPartsIterator
IntlBreakIterator
PHP Manual

IntlBreakIterator::getLocale

(No version information available, might only be in Git)

IntlBreakIterator::getLocale — Get the locale associated with the object

Beschreibung

public ReturnType IntlBreakIterator::getLocale ( string $"locale_type" )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

"locale_type"

Rückgabewerte

IntlBreakIterator::getErrorMessage
IntlBreakIterator::getPartsIterator
IntlBreakIterator


Create iterator for navigating fragments between boundaries

IntlBreakIterator::getLocale
IntlBreakIterator::getText
IntlBreakIterator
PHP Manual

IntlBreakIterator::getPartsIterator

(No version information available, might only be in Git)

IntlBreakIterator::getPartsIterator — Create iterator for navigating fragments between boundaries

Beschreibung

public ReturnType IntlBreakIterator::getPartsIterator ([ string $"key_type" ] )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

"key_type"

Rückgabewerte

IntlBreakIterator::getLocale
IntlBreakIterator::getText
IntlBreakIterator


Get the text being scanned

IntlBreakIterator::getPartsIterator
IntlBreakIterator::isBoundary
IntlBreakIterator
PHP Manual

IntlBreakIterator::getText

(No version information available, might only be in Git)

IntlBreakIterator::getText — Get the text being scanned

Beschreibung

public ReturnType IntlBreakIterator::getText ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

IntlBreakIterator::getPartsIterator
IntlBreakIterator::isBoundary
IntlBreakIterator


Tell whether an offset is a boundary's offset

IntlBreakIterator::getText
IntlBreakIterator::last
IntlBreakIterator
PHP Manual

IntlBreakIterator::isBoundary

(No version information available, might only be in Git)

IntlBreakIterator::isBoundary — Tell whether an offset is a boundary's offset

Beschreibung

public ReturnType IntlBreakIterator::isBoundary ( string $"offset" )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

"offset"

Rückgabewerte

IntlBreakIterator::getText
IntlBreakIterator::last
IntlBreakIterator


Set the iterator position to index beyond the last character

IntlBreakIterator::isBoundary
IntlBreakIterator::next
IntlBreakIterator
PHP Manual

IntlBreakIterator::last

(No version information available, might only be in Git)

IntlBreakIterator::last — Set the iterator position to index beyond the last character

Beschreibung

public ReturnType IntlBreakIterator::last ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

IntlBreakIterator::isBoundary
IntlBreakIterator::next
IntlBreakIterator


Advance the iterator the next boundary

IntlBreakIterator::last
IntlBreakIterator::preceding
IntlBreakIterator
PHP Manual

IntlBreakIterator::next

(No version information available, might only be in Git)

IntlBreakIterator::next — Advance the iterator the next boundary

Beschreibung

public ReturnType IntlBreakIterator::next ([ string $"offset" ] )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

"offset"

Rückgabewerte

IntlBreakIterator::last
IntlBreakIterator::preceding
IntlBreakIterator


Set the iterator position to the first boundary before an offset

IntlBreakIterator::next
IntlBreakIterator::previous
IntlBreakIterator
PHP Manual

IntlBreakIterator::preceding

(No version information available, might only be in Git)

IntlBreakIterator::preceding — Set the iterator position to the first boundary before an offset

Beschreibung

public ReturnType IntlBreakIterator::preceding ( string $"offset" )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

"offset"

Rückgabewerte

IntlBreakIterator::next
IntlBreakIterator::previous
IntlBreakIterator


Set the iterator position to the boundary immediately before the current

IntlBreakIterator::preceding
IntlBreakIterator::setText
IntlBreakIterator
PHP Manual

IntlBreakIterator::previous

(No version information available, might only be in Git)

IntlBreakIterator::previous — Set the iterator position to the boundary immediately before the current

Beschreibung

public ReturnType IntlBreakIterator::previous ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

IntlBreakIterator::preceding
IntlBreakIterator::setText
IntlBreakIterator


Set the text being scanned

IntlBreakIterator::previous
IntlRuleBasedBreakIterator
IntlBreakIterator
PHP Manual

IntlBreakIterator::setText

(No version information available, might only be in Git)

IntlBreakIterator::setText — Set the text being scanned

Beschreibung

public ReturnType IntlBreakIterator::setText ( string $"text" )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

"text"

Rückgabewerte

IntlBreakIterator::previous
IntlRuleBasedBreakIterator
IntlBreakIterator


The IntlRuleBasedBreakIterator class

(No version information available, might only be in Git)

Einführung

A subclass of IntlBreakIterator that encapsulates ICU break iterators whose behavior is specified using a set of rules. This is the most common kind of break iterators.

These rules are described in the » ICU Boundary Analysis User Guide.

Klassenbeschreibung

IntlRuleBasedBreakIterator extends IntlBreakIterator implements Traversable {
/* Constants */
const integer DONE = -1 ;
const integer WORD_NONE = 0 ;
const integer WORD_NONE_LIMIT = 100 ;
const integer WORD_NUMBER = 100 ;
const integer WORD_NUMBER_LIMIT = 200 ;
const integer WORD_LETTER = 200 ;
const integer WORD_LETTER_LIMIT = 300 ;
const integer WORD_KANA = 300 ;
const integer WORD_KANA_LIMIT = 400 ;
const integer WORD_IDEO = 400 ;
const integer WORD_IDEO_LIMIT = 500 ;
const integer LINE_SOFT = 0 ;
const integer LINE_SOFT_LIMIT = 100 ;
const integer LINE_HARD = 100 ;
const integer LINE_HARD_LIMIT = 200 ;
const integer SENTENCE_TERM = 0 ;
const integer SENTENCE_TERM_LIMIT = 100 ;
const integer SENTENCE_SEP = 100 ;
const integer SENTENCE_SEP_LIMIT = 200 ;
/* Methoden */
public __construct ( string $rules [, string $areCompiled ] )
public ReturnType getBinaryRules ( void )
public ReturnType getRules ( void )
public ReturnType getRuleStatus ( void )
public ReturnType getRuleStatusVec ( void )
/* Geerbte Methoden */
private IntlBreakIterator::__construct ( void )
public static ReturnType IntlBreakIterator::createCharacterInstance ([ string $"locale" ] )
public static ReturnType IntlBreakIterator::createCodePointInstance ( void )
public static ReturnType IntlBreakIterator::createLineInstance ([ string $"locale" ] )
public static ReturnType IntlBreakIterator::createSentenceInstance ([ string $"locale" ] )
public static ReturnType IntlBreakIterator::createTitleInstance ([ string $"locale" ] )
public static ReturnType IntlBreakIterator::createWordInstance ([ string $"locale" ] )
public ReturnType IntlBreakIterator::current ( void )
public ReturnType IntlBreakIterator::first ( void )
public ReturnType IntlBreakIterator::following ( string $"offset" )
public ReturnType IntlBreakIterator::getErrorCode ( void )
ReturnType intl_get_error_code ( void )
public ReturnType IntlBreakIterator::getErrorMessage ( void )
ReturnType intl_get_error_message ( void )
public ReturnType IntlBreakIterator::getLocale ( string $"locale_type" )
public ReturnType IntlBreakIterator::getPartsIterator ([ string $"key_type" ] )
public ReturnType IntlBreakIterator::getText ( void )
public ReturnType IntlBreakIterator::isBoundary ( string $"offset" )
public ReturnType IntlBreakIterator::last ( void )
public ReturnType IntlBreakIterator::next ([ string $"offset" ] )
public ReturnType IntlBreakIterator::preceding ( string $"offset" )
public ReturnType IntlBreakIterator::previous ( void )
public ReturnType IntlBreakIterator::setText ( string $"text" )
}

Vordefinierte Konstanten

IntlRuleBasedBreakIterator::DONE

IntlRuleBasedBreakIterator::WORD_NONE

IntlRuleBasedBreakIterator::WORD_NONE_LIMIT

IntlRuleBasedBreakIterator::WORD_NUMBER

IntlRuleBasedBreakIterator::WORD_NUMBER_LIMIT

IntlRuleBasedBreakIterator::WORD_LETTER

IntlRuleBasedBreakIterator::WORD_LETTER_LIMIT

IntlRuleBasedBreakIterator::WORD_KANA

IntlRuleBasedBreakIterator::WORD_KANA_LIMIT

IntlRuleBasedBreakIterator::WORD_IDEO

IntlRuleBasedBreakIterator::WORD_IDEO_LIMIT

IntlRuleBasedBreakIterator::LINE_SOFT

IntlRuleBasedBreakIterator::LINE_SOFT_LIMIT

IntlRuleBasedBreakIterator::LINE_HARD

IntlRuleBasedBreakIterator::LINE_HARD_LIMIT

IntlRuleBasedBreakIterator::SENTENCE_TERM

IntlRuleBasedBreakIterator::SENTENCE_TERM_LIMIT

IntlRuleBasedBreakIterator::SENTENCE_SEP

IntlRuleBasedBreakIterator::SENTENCE_SEP_LIMIT

Inhaltsverzeichnis

  • IntlRuleBasedBreakIterator::__construct — Create iterator from ruleset
  • IntlRuleBasedBreakIterator::getBinaryRules — Get the binary form of compiled rules
  • IntlRuleBasedBreakIterator::getRules — Get the rule set used to create this object
  • IntlRuleBasedBreakIterator::getRuleStatus — Get the largest status value from the break rules that determined the current break position
  • IntlRuleBasedBreakIterator::getRuleStatusVec — Get the status values from the break rules that determined the current break position
IntlBreakIterator::setText
IntlRuleBasedBreakIterator::__construct
intl


Create iterator from ruleset

IntlRuleBasedBreakIterator
IntlRuleBasedBreakIterator::getBinaryRules
IntlRuleBasedBreakIterator
PHP Manual

IntlRuleBasedBreakIterator::__construct

(No version information available, might only be in Git)

IntlRuleBasedBreakIterator::__construct — Create iterator from ruleset

Beschreibung

public IntlRuleBasedBreakIterator::__construct ( string $rules [, string $areCompiled ] )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

"rules"

"areCompiled"

Rückgabewerte

IntlRuleBasedBreakIterator
IntlRuleBasedBreakIterator::getBinaryRules
IntlRuleBasedBreakIterator


Get the binary form of compiled rules

IntlRuleBasedBreakIterator::__construct
IntlRuleBasedBreakIterator::getRules
IntlRuleBasedBreakIterator
PHP Manual

IntlRuleBasedBreakIterator::getBinaryRules

(No version information available, might only be in Git)

IntlRuleBasedBreakIterator::getBinaryRules — Get the binary form of compiled rules

Beschreibung

public ReturnType IntlRuleBasedBreakIterator::getBinaryRules ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

IntlRuleBasedBreakIterator::__construct
IntlRuleBasedBreakIterator::getRules
IntlRuleBasedBreakIterator


Get the rule set used to create this object

IntlRuleBasedBreakIterator::getBinaryRules
IntlRuleBasedBreakIterator::getRuleStatus
IntlRuleBasedBreakIterator
PHP Manual

IntlRuleBasedBreakIterator::getRules

(No version information available, might only be in Git)

IntlRuleBasedBreakIterator::getRules — Get the rule set used to create this object

Beschreibung

public ReturnType IntlRuleBasedBreakIterator::getRules ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

IntlRuleBasedBreakIterator::getBinaryRules
IntlRuleBasedBreakIterator::getRuleStatus
IntlRuleBasedBreakIterator


Get the largest status value from the break rules that determined the current break position

IntlRuleBasedBreakIterator::getRules
IntlRuleBasedBreakIterator::getRuleStatusVec
IntlRuleBasedBreakIterator
PHP Manual

IntlRuleBasedBreakIterator::getRuleStatus

(No version information available, might only be in Git)

IntlRuleBasedBreakIterator::getRuleStatus — Get the largest status value from the break rules that determined the current break position

Beschreibung

public ReturnType IntlRuleBasedBreakIterator::getRuleStatus ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

IntlRuleBasedBreakIterator::getRules
IntlRuleBasedBreakIterator::getRuleStatusVec
IntlRuleBasedBreakIterator


Get the status values from the break rules that determined the current break position

IntlRuleBasedBreakIterator::getRuleStatus
IntlCodePointBreakIterator
IntlRuleBasedBreakIterator
PHP Manual

IntlRuleBasedBreakIterator::getRuleStatusVec

(No version information available, might only be in Git)

IntlRuleBasedBreakIterator::getRuleStatusVec — Get the status values from the break rules that determined the current break position

Beschreibung

public ReturnType IntlRuleBasedBreakIterator::getRuleStatusVec ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

IntlRuleBasedBreakIterator::getRuleStatus
IntlCodePointBreakIterator
IntlRuleBasedBreakIterator


The IntlCodePointBreakIterator class

(No version information available, might only be in Git)

Einführung

This break iterator identifies the boundaries between UTF-8 code points.

Klassenbeschreibung

IntlCodePointBreakIterator extends IntlBreakIterator implements Traversable {
/* Constants */
const integer DONE = -1 ;
const integer WORD_NONE = 0 ;
const integer WORD_NONE_LIMIT = 100 ;
const integer WORD_NUMBER = 100 ;
const integer WORD_NUMBER_LIMIT = 200 ;
const integer WORD_LETTER = 200 ;
const integer WORD_LETTER_LIMIT = 300 ;
const integer WORD_KANA = 300 ;
const integer WORD_KANA_LIMIT = 400 ;
const integer WORD_IDEO = 400 ;
const integer WORD_IDEO_LIMIT = 500 ;
const integer LINE_SOFT = 0 ;
const integer LINE_SOFT_LIMIT = 100 ;
const integer LINE_HARD = 100 ;
const integer LINE_HARD_LIMIT = 200 ;
const integer SENTENCE_TERM = 0 ;
const integer SENTENCE_TERM_LIMIT = 100 ;
const integer SENTENCE_SEP = 100 ;
const integer SENTENCE_SEP_LIMIT = 200 ;
/* Methoden */
public ReturnType getLastCodePoint ( void )
/* Geerbte Methoden */
private IntlBreakIterator::__construct ( void )
public static ReturnType IntlBreakIterator::createCharacterInstance ([ string $"locale" ] )
public static ReturnType IntlBreakIterator::createCodePointInstance ( void )
public static ReturnType IntlBreakIterator::createLineInstance ([ string $"locale" ] )
public static ReturnType IntlBreakIterator::createSentenceInstance ([ string $"locale" ] )
public static ReturnType IntlBreakIterator::createTitleInstance ([ string $"locale" ] )
public static ReturnType IntlBreakIterator::createWordInstance ([ string $"locale" ] )
public ReturnType IntlBreakIterator::current ( void )
public ReturnType IntlBreakIterator::first ( void )
public ReturnType IntlBreakIterator::following ( string $"offset" )
public ReturnType IntlBreakIterator::getErrorCode ( void )
ReturnType intl_get_error_code ( void )
public ReturnType IntlBreakIterator::getErrorMessage ( void )
ReturnType intl_get_error_message ( void )
public ReturnType IntlBreakIterator::getLocale ( string $"locale_type" )
public ReturnType IntlBreakIterator::getPartsIterator ([ string $"key_type" ] )
public ReturnType IntlBreakIterator::getText ( void )
public ReturnType IntlBreakIterator::isBoundary ( string $"offset" )
public ReturnType IntlBreakIterator::last ( void )
public ReturnType IntlBreakIterator::next ([ string $"offset" ] )
public ReturnType IntlBreakIterator::preceding ( string $"offset" )
public ReturnType IntlBreakIterator::previous ( void )
public ReturnType IntlBreakIterator::setText ( string $"text" )
}

Vordefinierte Konstanten

IntlCodePointBreakIterator::DONE

IntlCodePointBreakIterator::WORD_NONE

IntlCodePointBreakIterator::WORD_NONE_LIMIT

IntlCodePointBreakIterator::WORD_NUMBER

IntlCodePointBreakIterator::WORD_NUMBER_LIMIT

IntlCodePointBreakIterator::WORD_LETTER

IntlCodePointBreakIterator::WORD_LETTER_LIMIT

IntlCodePointBreakIterator::WORD_KANA

IntlCodePointBreakIterator::WORD_KANA_LIMIT

IntlCodePointBreakIterator::WORD_IDEO

IntlCodePointBreakIterator::WORD_IDEO_LIMIT

IntlCodePointBreakIterator::LINE_SOFT

IntlCodePointBreakIterator::LINE_SOFT_LIMIT

IntlCodePointBreakIterator::LINE_HARD

IntlCodePointBreakIterator::LINE_HARD_LIMIT

IntlCodePointBreakIterator::SENTENCE_TERM

IntlCodePointBreakIterator::SENTENCE_TERM_LIMIT

IntlCodePointBreakIterator::SENTENCE_SEP

IntlCodePointBreakIterator::SENTENCE_SEP_LIMIT

Inhaltsverzeichnis

  • IntlCodePointBreakIterator::getLastCodePoint — Get last code point passed over after advancing or receding the iterator
IntlRuleBasedBreakIterator::getRuleStatusVec
IntlCodePointBreakIterator::getLastCodePoint
intl


Get last code point passed over after advancing or receding the iterator

IntlCodePointBreakIterator
IntlPartsIterator
IntlCodePointBreakIterator
PHP Manual

IntlCodePointBreakIterator::getLastCodePoint

(No version information available, might only be in Git)

IntlCodePointBreakIterator::getLastCodePoint — Get last code point passed over after advancing or receding the iterator

Beschreibung

public ReturnType IntlCodePointBreakIterator::getLastCodePoint ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

IntlCodePointBreakIterator
IntlPartsIterator
IntlCodePointBreakIterator


The IntlPartsIterator class

(No version information available, might only be in Git)

Einführung

Objects of this class can be obtained from IntlBreakIterator objects. While the break iterators provide a sequence of boundary positions when iterated, IntlPartsIterator objects provide, as a convenience, the text fragments comprehended between two successive boundaries.

The keys may represent the offset of the left boundary, right boundary, or they may just the sequence of non-negative integers. See IntlBreakIterator::getPartsIterator().

Klassenbeschreibung

IntlPartsIterator extends IntlIterator implements Iterator {
/* Constants */
const integer KEY_SEQUENTIAL = 0 ;
const integer KEY_LEFT = 1 ;
const integer KEY_RIGHT = 2 ;
/* Methoden */
public ReturnType getBreakIterator ( void )
/* Geerbte Methoden */
public ReturnType IntlIterator::current ( void )
public ReturnType IntlIterator::key ( void )
public ReturnType IntlIterator::next ( void )
public ReturnType IntlIterator::rewind ( void )
public ReturnType IntlIterator::valid ( void )
}

Vordefinierte Konstanten

IntlPartsIterator::KEY_SEQUENTIAL

IntlPartsIterator::KEY_LEFT

IntlPartsIterator::KEY_RIGHT

Inhaltsverzeichnis

  • IntlPartsIterator::getBreakIterator — Get IntlBreakIterator backing this parts iterator
IntlCodePointBreakIterator::getLastCodePoint
IntlPartsIterator::getBreakIterator
intl


Get IntlBreakIterator backing this parts iterator

IntlPartsIterator
UConverter
IntlPartsIterator
PHP Manual

IntlPartsIterator::getBreakIterator

(No version information available, might only be in Git)

IntlPartsIterator::getBreakIterator — Get IntlBreakIterator backing this parts iterator

Beschreibung

public ReturnType IntlPartsIterator::getBreakIterator ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

IntlPartsIterator
UConverter
IntlPartsIterator


The UConverter class

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

Einführung

Klassenbeschreibung

UConverter {
/* Constants */
const integer REASON_UNASSIGNED = 0 ;
const integer REASON_ILLEGAL = 1 ;
const integer REASON_IRREGULAR = 2 ;
const integer REASON_RESET = 3 ;
const integer REASON_CLOSE = 4 ;
const integer REASON_CLONE = 5 ;
const integer UNSUPPORTED_CONVERTER = -1 ;
const integer SBCS = 0 ;
const integer DBCS = 1 ;
const integer MBCS = 2 ;
const integer LATIN_1 = 3 ;
const integer UTF8 = 4 ;
const integer UTF16_BigEndian = 5 ;
const integer UTF16_LittleEndian = 6 ;
const integer UTF32_BigEndian = 7 ;
const integer UTF32_LittleEndian = 8 ;
const integer EBCDIC_STATEFUL = 9 ;
const integer ISO_2022 = 10 ;
const integer LMBCS_1 = 11 ;
const integer LMBCS_2 = 12 ;
const integer LMBCS_3 = 13 ;
const integer LMBCS_4 = 14 ;
const integer LMBCS_5 = 15 ;
const integer LMBCS_6 = 16 ;
const integer LMBCS_8 = 17 ;
const integer LMBCS_11 = 18 ;
const integer LMBCS_16 = 19 ;
const integer LMBCS_17 = 20 ;
const integer LMBCS_18 = 21 ;
const integer LMBCS_19 = 22 ;
const integer LMBCS_LAST = 22 ;
const integer HZ = 23 ;
const integer SCSU = 24 ;
const integer ISCII = 25 ;
const integer US_ASCII = 26 ;
const integer UTF7 = 27 ;
const integer BOCU1 = 28 ;
const integer UTF16 = 29 ;
const integer UTF32 = 30 ;
const integer CESU8 = 31 ;
const integer IMAP_MAILBOX = 32 ;
/* Methoden */
public __construct ([ string $destination_encoding [, string $source_encoding ]] )
public string convert ( string $str [, bool $reverse ] )
public mixed fromUCallback ( integer $reason , string $source , string $codePoint , integer &$error )
public static array getAliases ([ string $name ] )
public static array getAvailable ( void )
public string getDestinationEncoding ( void )
public integer getDestinationType ( void )
public integer getErrorCode ( void )
public string getErrorMessage ( void )
public string getSourceEncoding ( void )
public integer getSourceType ( void )
public static array getStandards ( void )
public string getSubstChars ( void )
public static string reasonText ([ integer $reason ] )
public void setDestinationEncoding ( string $encoding )
public void setSourceEncoding ( string $encoding )
public void setSubstChars ( string $chars )
public mixed toUCallback ( integer $reason , string $source , string $codeUnits , integer &$error )
public static string transcode ( string $str , string $toEncoding , string $fromEncoding [, array $options ] )
}

Vordefinierte Konstanten

UConverter::REASON_UNASSIGNED

UConverter::REASON_ILLEGAL

UConverter::REASON_IRREGULAR

UConverter::REASON_RESET

UConverter::REASON_CLOSE

UConverter::REASON_CLONE

UConverter::UNSUPPORTED_CONVERTER

UConverter::SBCS

UConverter::DBCS

UConverter::MBCS

UConverter::LATIN_1

UConverter::UTF8

UConverter::UTF16_BigEndian

UConverter::UTF16_LittleEndian

UConverter::UTF32_BigEndian

UConverter::UTF32_LittleEndian

UConverter::EBCDIC_STATEFUL

UConverter::ISO_2022

UConverter::LMBCS_1

UConverter::LMBCS_2

UConverter::LMBCS_3

UConverter::LMBCS_4

UConverter::LMBCS_5

UConverter::LMBCS_6

UConverter::LMBCS_8

UConverter::LMBCS_11

UConverter::LMBCS_16

UConverter::LMBCS_17

UConverter::LMBCS_18

UConverter::LMBCS_19

UConverter::LMBCS_LAST

UConverter::HZ

UConverter::SCSU

UConverter::ISCII

UConverter::US_ASCII

UConverter::UTF7

UConverter::BOCU1

UConverter::UTF16

UConverter::UTF32

UConverter::CESU8

UConverter::IMAP_MAILBOX

Inhaltsverzeichnis

  • UConverter::__construct — Create UConverter object
  • UConverter::convert — Convert string from one charset to another
  • UConverter::fromUCallback — Default "from" callback function
  • UConverter::getAliases — Get the aliases of the given name
  • UConverter::getAvailable — Get the available canonical converter names
  • UConverter::getDestinationEncoding — Get the destination encoding
  • UConverter::getDestinationType — Get the destination converter type
  • UConverter::getErrorCode — Get last error code on the object
  • UConverter::getErrorMessage — Get last error message on the object
  • UConverter::getSourceEncoding — Get the source encoding
  • UConverter::getSourceType — Get the source convertor type
  • UConverter::getStandards — Get standards associated to converter names
  • UConverter::getSubstChars — Get substitution chars
  • UConverter::reasonText — Get string representation of the callback reason
  • UConverter::setDestinationEncoding — Set the destination encoding
  • UConverter::setSourceEncoding — Set the source encoding
  • UConverter::setSubstChars — Set the substitution chars
  • UConverter::toUCallback — Default "to" callback function
  • UConverter::transcode — Convert string from one charset to another
IntlPartsIterator::getBreakIterator
UConverter::__construct
intl


Create UConverter object

UConverter
UConverter::convert
UConverter
PHP Manual

UConverter::__construct

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::__construct — Create UConverter object

Beschreibung

public UConverter::__construct ([ string $destination_encoding [, string $source_encoding ]] )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

destination_encoding

source_encoding

Rückgabewerte

UConverter
UConverter::convert
UConverter


Convert string from one charset to another

UConverter::__construct
UConverter::fromUCallback
UConverter
PHP Manual

UConverter::convert

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::convert — Convert string from one charset to another

Beschreibung

public string UConverter::convert ( string $str [, bool $reverse ] )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

str

reverse

Rückgabewerte

UConverter::__construct
UConverter::fromUCallback
UConverter


Default "from" callback function

UConverter::convert
UConverter::getAliases
UConverter
PHP Manual

UConverter::fromUCallback

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::fromUCallback — Default "from" callback function

Beschreibung

public mixed UConverter::fromUCallback ( integer $reason , string $source , string $codePoint , integer &$error )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

reason

source

codePoint

error

Rückgabewerte

UConverter::convert
UConverter::getAliases
UConverter


Get the aliases of the given name

UConverter::fromUCallback
UConverter::getAvailable
UConverter
PHP Manual

UConverter::getAliases

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::getAliases — Get the aliases of the given name

Beschreibung

public static array UConverter::getAliases ([ string $name ] )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

name

Rückgabewerte

UConverter::fromUCallback
UConverter::getAvailable
UConverter


Get the available canonical converter names

UConverter::getAliases
UConverter::getDestinationEncoding
UConverter
PHP Manual

UConverter::getAvailable

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::getAvailable — Get the available canonical converter names

Beschreibung

public static array UConverter::getAvailable ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UConverter::getAliases
UConverter::getDestinationEncoding
UConverter


Get the destination encoding

UConverter::getAvailable
UConverter::getDestinationType
UConverter
PHP Manual

UConverter::getDestinationEncoding

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::getDestinationEncoding — Get the destination encoding

Beschreibung

public string UConverter::getDestinationEncoding ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UConverter::getAvailable
UConverter::getDestinationType
UConverter


Get the destination converter type

UConverter::getDestinationEncoding
UConverter::getErrorCode
UConverter
PHP Manual

UConverter::getDestinationType

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::getDestinationType — Get the destination converter type

Beschreibung

public integer UConverter::getDestinationType ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UConverter::getDestinationEncoding
UConverter::getErrorCode
UConverter


Get last error code on the object

UConverter::getDestinationType
UConverter::getErrorMessage
UConverter
PHP Manual

UConverter::getErrorCode

intl_get_error_code

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::getErrorCode -- intl_get_error_code — Get last error code on the object

Beschreibung

public integer UConverter::getErrorCode ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UConverter::getDestinationType
UConverter::getErrorMessage
UConverter


Get last error message on the object

UConverter::getErrorCode
UConverter::getSourceEncoding
UConverter
PHP Manual

UConverter::getErrorMessage

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::getErrorMessage — Get last error message on the object

Beschreibung

public string UConverter::getErrorMessage ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UConverter::getErrorCode
UConverter::getSourceEncoding
UConverter


Get the source encoding

UConverter::getErrorMessage
UConverter::getSourceType
UConverter
PHP Manual

UConverter::getSourceEncoding

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::getSourceEncoding — Get the source encoding

Beschreibung

public string UConverter::getSourceEncoding ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UConverter::getErrorMessage
UConverter::getSourceType
UConverter


Get the source convertor type

UConverter::getSourceEncoding
UConverter::getStandards
UConverter
PHP Manual

UConverter::getSourceType

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::getSourceType — Get the source convertor type

Beschreibung

public integer UConverter::getSourceType ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UConverter::getSourceEncoding
UConverter::getStandards
UConverter


Get standards associated to converter names

UConverter::getSourceType
UConverter::getSubstChars
UConverter
PHP Manual

UConverter::getStandards

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::getStandards — Get standards associated to converter names

Beschreibung

public static array UConverter::getStandards ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UConverter::getSourceType
UConverter::getSubstChars
UConverter


Get substitution chars

UConverter::getStandards
UConverter::reasonText
UConverter
PHP Manual

UConverter::getSubstChars

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::getSubstChars — Get substitution chars

Beschreibung

public string UConverter::getSubstChars ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UConverter::getStandards
UConverter::reasonText
UConverter


Get string representation of the callback reason

UConverter::getSubstChars
UConverter::setDestinationEncoding
UConverter
PHP Manual

UConverter::reasonText

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::reasonText — Get string representation of the callback reason

Beschreibung

public static string UConverter::reasonText ([ integer $reason ] )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

reason

Rückgabewerte

UConverter::getSubstChars
UConverter::setDestinationEncoding
UConverter


Set the destination encoding

UConverter::reasonText
UConverter::setSourceEncoding
UConverter
PHP Manual

UConverter::setDestinationEncoding

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::setDestinationEncoding — Set the destination encoding

Beschreibung

public void UConverter::setDestinationEncoding ( string $encoding )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

encoding

Rückgabewerte

UConverter::reasonText
UConverter::setSourceEncoding
UConverter


Set the source encoding

UConverter::setDestinationEncoding
UConverter::setSubstChars
UConverter
PHP Manual

UConverter::setSourceEncoding

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::setSourceEncoding — Set the source encoding

Beschreibung

public void UConverter::setSourceEncoding ( string $encoding )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

encoding

Rückgabewerte

UConverter::setDestinationEncoding
UConverter::setSubstChars
UConverter


Set the substitution chars

UConverter::setSourceEncoding
UConverter::toUCallback
UConverter
PHP Manual

UConverter::setSubstChars

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::setSubstChars — Set the substitution chars

Beschreibung

public void UConverter::setSubstChars ( string $chars )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

chars

Rückgabewerte

UConverter::setSourceEncoding
UConverter::toUCallback
UConverter


Default "to" callback function

UConverter::setSubstChars
UConverter::transcode
UConverter
PHP Manual

UConverter::toUCallback

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::toUCallback — Default "to" callback function

Beschreibung

public mixed UConverter::toUCallback ( integer $reason , string $source , string $codeUnits , integer &$error )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

reason

source

codeUnits

error

Rückgabewerte

UConverter::setSubstChars
UConverter::transcode
UConverter


Convert string from one charset to another

UConverter::toUCallback
Grapheme Funktionen
UConverter
PHP Manual

UConverter::transcode

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

UConverter::transcode — Convert string from one charset to another

Beschreibung

public static string UConverter::transcode ( string $str , string $toEncoding , string $fromEncoding [, array $options ] )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

str

toEncoding

fromEncoding

options

Rückgabewerte

UConverter::toUCallback
Grapheme Funktionen
UConverter


Grapheme Funktionen

Inhaltsverzeichnis

  • grapheme_extract — Function to extract a sequence of default grapheme clusters from a text buffer, which must be encoded in UTF-8.
  • grapheme_stripos — Find position (in grapheme units) of first occurrence of a case-insensitive string
  • grapheme_stristr — Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack.
  • grapheme_strlen — Get string length in grapheme units
  • grapheme_strpos — Find position (in grapheme units) of first occurrence of a string
  • grapheme_strripos — Find position (in grapheme units) of last occurrence of a case-insensitive string
  • grapheme_strrpos — Find position (in grapheme units) of last occurrence of a string
  • grapheme_strstr — Returns part of haystack string from the first occurrence of needle to the end of haystack.
  • grapheme_substr — Return part of a string
UConverter::transcode
grapheme_extract
intl


Function to extract a sequence of default grapheme clusters from a text buffer, which must be encoded in UTF-8.

Grapheme Funktionen
grapheme_stripos
Grapheme Funktionen
PHP Manual

grapheme_extract

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

grapheme_extract — Function to extract a sequence of default grapheme clusters from a text buffer, which must be encoded in UTF-8.

Beschreibung

Prozeduraler Stil

string grapheme_extract ( string $haystack , int $size [, int $extract_type [, int $start = 0 [, int &$next ]]] )

Function to extract a sequence of default grapheme clusters from a text buffer, which must be encoded in UTF-8.

Parameter-Liste

haystack

String to search.

size

Maximum number items - based on the $extract_type - to return.

extract_type

Defines the type of units referred to by the $size parameter:

  • GRAPHEME_EXTR_COUNT (default) - $size is the number of default grapheme clusters to extract.
  • GRAPHEME_EXTR_MAXBYTES - $size is the maximum number of bytes returned.
  • GRAPHEME_EXTR_MAXCHARS - $size is the maximum number of UTF-8 characters returned.

start

Starting position in $haystack in bytes - if given, it must be zero or a positive value that is less than or equal to the length of $haystack in bytes, or a negative value that counts from the end of $haystack. If $start does not point to the first byte of a UTF-8 character, the start position is moved to the next character boundary.

next

Reference to a value that will be set to the next starting position. When the call returns, this may point to the first byte position past the end of the string.

Rückgabewerte

A string starting at offset $start and ending on a default grapheme cluster boundary that conforms to the $size and $extract_type specified.

Changelog

Version | Beschreibung
7.1.0 | Support for negative starts has been added.

Beispiele

Beispiel #1 grapheme_extract() example

<?php

$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) normalization form "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) normalization form "D"

print urlencode(grapheme_extract( $char_a_ring_nfd . $char_o_diaeresis_nfd, 1, GRAPHEME_EXTR_COUNT, 2));

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

o%CC%88

Siehe auch

  • grapheme_substr() - Return part of a string
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries

Grapheme Funktionen
grapheme_stripos
Grapheme Funktionen


Find position (in grapheme units) of first occurrence of a case-insensitive string

grapheme_extract
grapheme_stristr
Grapheme Funktionen
PHP Manual

grapheme_stripos

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

grapheme_stripos — Find position (in grapheme units) of first occurrence of a case-insensitive string

Beschreibung

Prozeduraler Stil

int grapheme_stripos ( string $haystack , string $needle [, int $offset = 0 ] )

Find position (in grapheme units) of first occurrence of a case-insensitive string

Parameter-Liste

haystack

The string to look in. Must be valid UTF-8.

needle

The string to look for. Must be valid UTF-8.

offset

The optional $offset parameter allows you to specify where in haystack to start searching as an offset in grapheme units (not bytes or characters). If the offset is negative, it is treated relative to the end of the string. The position returned is still relative to the beginning of haystack regardless of the value of $offset.

Rückgabewerte

Returns the position as an integer. If needle is not found, grapheme_stripos() will return boolean FALSE.

Changelog

Version | Beschreibung
7.1.0 | Support for negative offsets has been added.

Beispiele

Beispiel #1 grapheme_stripos() example

<?php

$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) normalization form "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) normalization form "D"
$char_O_diaeresis_nfd = "O\xCC\x88"; // 'LATIN CAPITAL LETTER O WITH DIAERESIS' (U+00D6) normalization form "D"

print grapheme_stripos( $char_a_ring_nfd . $char_a_ring_nfd . $char_o_diaeresis_nfd, $char_O_diaeresis_nfd);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

2

Siehe auch

  • grapheme_stristr() - Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack.
  • grapheme_strpos() - Find position (in grapheme units) of first occurrence of a string
  • grapheme_strripos() - Find position (in grapheme units) of last occurrence of a case-insensitive string
  • grapheme_strrpos() - Find position (in grapheme units) of last occurrence of a string
  • grapheme_strstr() - Returns part of haystack string from the first occurrence of needle to the end of haystack.
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries

grapheme_extract
grapheme_stristr
Grapheme Funktionen


Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack.

grapheme_stripos
grapheme_strlen
Grapheme Funktionen
PHP Manual

grapheme_stristr

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

grapheme_stristr — Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack.

Beschreibung

Prozeduraler Stil

string grapheme_stristr ( string $haystack , string $needle [, bool $before_needle = false ] )

Returns part of haystack string starting from and including the first occurrence of case-insensitive needle to the end of haystack.

Parameter-Liste

haystack

The input string. Must be valid UTF-8.

needle

The string to look for. Must be valid UTF-8.

before_needle

If TRUE, grapheme_strstr() returns the part of the haystack before the first occurrence of the needle (excluding needle).

Rückgabewerte

Returns the portion of $haystack, or FALSE if $needle is not found.

Beispiele

Beispiel #1 grapheme_stristr() example

<?php

$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) normalization form "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) normalization form "D"
$char_O_diaeresis_nfd = "O\xCC\x88"; // 'LATIN CAPITAL LETTER O WITH DIAERESIS' (U+00D6) normalization form "D"

print urlencode(grapheme_stristr( $char_a_ring_nfd . $char_o_diaeresis_nfd . $char_a_ring_nfd, $char_O_diaeresis_nfd));

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

o%CC%88a%CC%8A

Siehe auch

  • grapheme_stripos() - Find position (in grapheme units) of first occurrence of a case-insensitive string
  • grapheme_strpos() - Find position (in grapheme units) of first occurrence of a string
  • grapheme_strripos() - Find position (in grapheme units) of last occurrence of a case-insensitive string
  • grapheme_strrpos() - Find position (in grapheme units) of last occurrence of a string
  • grapheme_strstr() - Returns part of haystack string from the first occurrence of needle to the end of haystack.
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries

grapheme_stripos
grapheme_strlen
Grapheme Funktionen


Get string length in grapheme units

grapheme_stristr
grapheme_strpos
Grapheme Funktionen
PHP Manual

grapheme_strlen

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

grapheme_strlen — Get string length in grapheme units

Beschreibung

Prozeduraler Stil

int grapheme_strlen ( string $input )

Get string length in grapheme units (not bytes or characters)

Parameter-Liste

input

The string being measured for length. It must be a valid UTF-8 string.

Rückgabewerte

The length of the string on success, and 0 if the string is empty.

Beispiele

Beispiel #1 grapheme_strlen() example

<?php

$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) normalization form "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) normalization form "D"

print grapheme_strlen( 'abc' . $char_a_ring_nfd . $char_o_diaeresis_nfd . $char_a_ring_nfd);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

6

Siehe auch

  • » Unicode Text Segmentation: Grapheme Cluster Boundaries
  • iconv_strlen() - Returns the character count of string
  • mb_strlen() - Get string length
  • strlen() - Ermitteln der String-Länge

grapheme_stristr
grapheme_strpos
Grapheme Funktionen


Find position (in grapheme units) of first occurrence of a string

grapheme_strlen
grapheme_strripos
Grapheme Funktionen
PHP Manual

grapheme_strpos

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

grapheme_strpos — Find position (in grapheme units) of first occurrence of a string

Beschreibung

Prozeduraler Stil

int grapheme_strpos ( string $haystack , string $needle [, int $offset = 0 ] )

Find position (in grapheme units) of first occurrence of a string

Parameter-Liste

haystack

The string to look in. Must be valid UTF-8.

needle

The string to look for. Must be valid UTF-8.

offset

The optional $offset parameter allows you to specify where in $haystack to start searching as an offset in grapheme units (not bytes or characters). If the offset is negative, it is treated relative to the end of the string. The position returned is still relative to the beginning of haystack regardless of the value of $offset.

Rückgabewerte

Returns the position as an integer. If needle is not found, grapheme_strpos() will return boolean FALSE.

Changelog

Version | Beschreibung
7.1.0 | Support for negative offsets has been added.

Beispiele

Beispiel #1 grapheme_strpos() example

<?php

$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) normalization form "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) normalization form "D"

print grapheme_strpos( $char_a_ring_nfd . $char_a_ring_nfd . $char_o_diaeresis_nfd, $char_o_diaeresis_nfd);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

2

Siehe auch

  • grapheme_stripos() - Find position (in grapheme units) of first occurrence of a case-insensitive string
  • grapheme_stristr() - Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack.
  • grapheme_strripos() - Find position (in grapheme units) of last occurrence of a case-insensitive string
  • grapheme_strrpos() - Find position (in grapheme units) of last occurrence of a string
  • grapheme_strstr() - Returns part of haystack string from the first occurrence of needle to the end of haystack.
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries

grapheme_strlen
grapheme_strripos
Grapheme Funktionen


Find position (in grapheme units) of last occurrence of a case-insensitive string

grapheme_strpos
grapheme_strrpos
Grapheme Funktionen
PHP Manual

grapheme_strripos

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

grapheme_strripos — Find position (in grapheme units) of last occurrence of a case-insensitive string

Beschreibung

Prozeduraler Stil

int grapheme_strripos ( string $haystack , string $needle [, int $offset = 0 ] )

Find position (in grapheme units) of last occurrence of a case-insensitive string

Parameter-Liste

haystack

The string to look in. Must be valid UTF-8.

needle

The string to look for. Must be valid UTF-8.

offset

The optional $offset parameter allows you to specify where in $haystack to start searching as an offset in grapheme units (not bytes or characters). The position returned is still relative to the beginning of haystack regardless of the value of $offset.

Rückgabewerte

Returns the position as an integer. If needle is not found, grapheme_strripos() will return boolean FALSE.

Beispiele

Beispiel #1 grapheme_strripos() example

<?php

$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) normalization form "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) normalization form "D"
$char_O_diaeresis_nfd = "O\xCC\x88"; // 'LATIN CAPITAL LETTER O WITH DIAERESIS' (U+00D6) normalization form "D"

print grapheme_strripos( $char_a_ring_nfd . $char_o_diaeresis_nfd . $char_o_diaeresis_nfd, $char_O_diaeresis_nfd);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

2

Siehe auch

  • grapheme_stripos() - Find position (in grapheme units) of first occurrence of a case-insensitive string
  • grapheme_stristr() - Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack.
  • grapheme_strpos() - Find position (in grapheme units) of first occurrence of a string
  • grapheme_strrpos() - Find position (in grapheme units) of last occurrence of a string
  • grapheme_strstr() - Returns part of haystack string from the first occurrence of needle to the end of haystack.
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries

grapheme_strpos
grapheme_strrpos
Grapheme Funktionen


Find position (in grapheme units) of last occurrence of a string

grapheme_strripos
grapheme_strstr
Grapheme Funktionen
PHP Manual

grapheme_strrpos

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

grapheme_strrpos — Find position (in grapheme units) of last occurrence of a string

Beschreibung

Prozeduraler Stil

int grapheme_strrpos ( string $haystack , string $needle [, int $offset = 0 ] )

Find position (in grapheme units) of last occurrence of a string

Parameter-Liste

haystack

The string to look in. Must be valid UTF-8.

needle

The string to look for. Must be valid UTF-8.

offset

The optional $offset parameter allows you to specify where in $haystack to start searching as an offset in grapheme units (not bytes or characters). The position returned is still relative to the beginning of haystack regardless of the value of $offset.

Rückgabewerte

Returns the position as an integer. If needle is not found, grapheme_strrpos() will return boolean FALSE.

Beispiele

Beispiel #1 grapheme_strrpos() example

<?php
$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) normalization form "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) normalization form "D"

print grapheme_strrpos( $char_a_ring_nfd . $char_o_diaeresis_nfd . $char_o_diaeresis_nfd, $char_o_diaeresis_nfd);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

2

Siehe auch

  • grapheme_stripos() - Find position (in grapheme units) of first occurrence of a case-insensitive string
  • grapheme_stristr() - Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack.
  • grapheme_strpos() - Find position (in grapheme units) of first occurrence of a string
  • grapheme_strripos() - Find position (in grapheme units) of last occurrence of a case-insensitive string
  • grapheme_strstr() - Returns part of haystack string from the first occurrence of needle to the end of haystack.
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries

grapheme_strripos
grapheme_strstr
Grapheme Funktionen


Returns part of haystack string from the first occurrence of needle to the end of haystack.

grapheme_strrpos
grapheme_substr
Grapheme Funktionen
PHP Manual

grapheme_strstr

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

grapheme_strstr — Returns part of haystack string from the first occurrence of needle to the end of haystack.

Beschreibung

Prozeduraler Stil

string grapheme_strstr ( string $haystack , string $needle [, bool $before_needle = false ] )

Returns part of haystack string from the first occurrence of needle to the end of haystack (including the needle).

Parameter-Liste

haystack

The input string. Must be valid UTF-8.

needle

The string to look for. Must be valid UTF-8.

before_needle

If TRUE, grapheme_strstr() returns the part of the haystack before the first occurrence of the needle (excluding the needle).

Rückgabewerte

Returns the portion of string, or FALSE if needle is not found.

Beispiele

Beispiel #1 grapheme_strstr() example

<?php

$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) normalization form "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) normalization form "D"

print urlencode(grapheme_stristr( $char_a_ring_nfd . $char_o_diaeresis_nfd . $char_a_ring_nfd, $char_o_diaeresis_nfd));

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

o%CC%88a%CC%8A

Siehe auch

  • grapheme_stristr() - Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack.
  • grapheme_stripos() - Find position (in grapheme units) of first occurrence of a case-insensitive string
  • grapheme_strpos() - Find position (in grapheme units) of first occurrence of a string
  • grapheme_strripos() - Find position (in grapheme units) of last occurrence of a case-insensitive string
  • grapheme_strrpos() - Find position (in grapheme units) of last occurrence of a string
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries

grapheme_strrpos
grapheme_substr
Grapheme Funktionen


Return part of a string

grapheme_strstr
IDN Funktionen
Grapheme Funktionen
PHP Manual

grapheme_substr

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

grapheme_substr — Return part of a string

Beschreibung

Prozeduraler Stil

int grapheme_substr ( string $string , int $start [, int $length ] )

Return part of a string

Parameter-Liste

string

The input string. Must be valid UTF-8.

start

Start position in default grapheme units. If $start is non-negative, the returned string will start at the $start'th position in $string, counting from zero. If $start is negative, the returned string will start at the $start'th grapheme unit from the end of string.

length

Length in grapheme units. If $length is given and is positive, the string returned will contain at most $length grapheme units beginning from $start (depending on the length of string). If $length is given and is negative, then that many grapheme units will be omitted from the end of string (after the start position has been calculated when a start is negative). If $start denotes a position beyond this truncation, FALSE will be returned.

Rückgabewerte

Returns the extracted part of $string.

Changelog

Version | Beschreibung
5.4 | If length is given and positive and the argument string is shorter than the specified length, all the rest of the string according to start parameter is returned. Previously, FALSE was returned.

Beispiele

Beispiel #1 grapheme_substr() example

<?php

$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) normalization form "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) normalization form "D"

print urlencode(grapheme_substr( "ao" . $char_a_ring_nfd . "bc" . $char_o_diaeresis_nfd . "O", 2, -1 ));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

a%CC%8Abco%CC%88

Siehe auch

  • grapheme_extract() - Function to extract a sequence of default grapheme clusters from a text buffer, which must be encoded in UTF-8.
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries

grapheme_strstr
IDN Funktionen
Grapheme Funktionen


IDN Funktionen

Inhaltsverzeichnis

  • idn_to_ascii — Convert domain name to IDNA ASCII form.
  • idn_to_utf8 — Convert domain name from IDNA ASCII to Unicode.
grapheme_substr
idn_to_ascii
intl


Convert domain name to IDNA ASCII form.

IDN Funktionen
idn_to_utf8
IDN Funktionen
PHP Manual

idn_to_ascii

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.2, PHP 7, PECL idn >= 0.1)

idn_to_ascii — Convert domain name to IDNA ASCII form.

Beschreibung

Prozeduraler Stil

string idn_to_ascii ( string $domain [, int $options = 0 [, int $variant = INTL_IDNA_VARIANT_2003 [, array &$idna_info ]]] )

This function converts a Unicode domain name to an IDNA ASCII-compatible format.

Parameter-Liste

domain

The domain to convert, which must be UTF-8 encoded.

options

Conversion options - combination of IDNA_* constants (except IDNA_ERROR_* constants).

variant

Either INTL_IDNA_VARIANT_2003 for IDNA 2003 or INTL_IDNA_VARIANT_UTS46 for UTS #46.

idna_info

This parameter can be used only if INTL_IDNA_VARIANT_UTS46 was used for variant. In that case, it will be filled with an array with the keys 'result', the possibly illegal result of the transformation, 'isTransitionalDifferent', a boolean indicating whether the usage of the transitional mechanisms of UTS #46 either has or would have changed the result and 'errors', which is an int representing a bitset of the error constants IDNA_ERROR_*.

Rückgabewerte

The domain name encoded in ASCII-compatible form, Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
7.2.0 | INTL_IDNA_VARIANT_2003 has been deprecated; use INTL_IDNA_VARIANT_UTS46 instead.
5.4.0/PECL 2.0.0b1 | Added the parameters variant and idna_info; UTS #46 support.

Beispiele

Beispiel #1 idn_to_ascii() example

<?php

echo idn_to_ascii('täst.de');

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

xn--tst-qla.de

Siehe auch

  • idn_to_utf8() - Convert domain name from IDNA ASCII to Unicode.

IDN Funktionen
idn_to_utf8
IDN Funktionen


Convert domain name from IDNA ASCII to Unicode.

idn_to_ascii
IntlChar
IDN Funktionen
PHP Manual

idn_to_utf8

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.2, PHP 7, PECL idn >= 0.1)

idn_to_utf8 — Convert domain name from IDNA ASCII to Unicode.

Beschreibung

Prozeduraler Stil

string idn_to_utf8 ( string $domain [, int $options = 0 [, int $variant = INTL_IDNA_VARIANT_2003 [, array &$idna_info ]]] )

This function converts a Unicode domain name from an IDNA ASCII-compatible format to plain Unicode, encoded in UTF-8.

Parameter-Liste

domain

Domain to convert in an IDNA ASCII-compatible format.

options

Conversion options - combination of IDNA_* constants (except IDNA_ERROR_* constants).

variant

Either INTL_IDNA_VARIANT_2003 for IDNA 2003 or INTL_IDNA_VARIANT_UTS46 for UTS #46.

idna_info

This parameter can be used only if INTL_IDNA_VARIANT_UTS46 was used for variant. In that case, it will be filled with an array with the keys 'result', the possibly illegal result of the transformation, 'isTransitionalDifferent', a boolean indicating whether the usage of the transitional mechanisms of UTS #46 either has or would have changed the result and 'errors', which is an int representing a bitset of the error constants IDNA_ERROR_*.

Rückgabewerte

The domain name in Unicode, encoded in UTF-8, Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
7.2.0 | INTL_IDNA_VARIANT_2003 has been deprecated; use INTL_IDNA_VARIANT_UTS46 instead.
5.4.0/PECL 2.0.0b1 | Added the parameters variant and idna_info; UTS #46 support.

Beispiele

Beispiel #1 idn_to_utf8() example

<?php

echo idn_to_utf8('xn--tst-qla.de');

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

täst.de

Siehe auch

  • idn_to_ascii() - Convert domain name to IDNA ASCII form.

idn_to_ascii
IntlChar
IDN Funktionen


IntlChar

(PHP 7)

Einführung

IntlChar provides access to a number of utility methods that can be used to access information about Unicode characters.

The methods and constants adhere closely to the names and behavior used by the underlying ICU library.

Klassenbeschreibung

IntlChar {
/* Constants */
const string UNICODE_VERSION = 6.3 ;
const integer CODEPOINT_MIN = 0 ;
const integer CODEPOINT_MAX = 1114111 ;
const float NO_NUMERIC_VALUE = -123456789 ;
const integer PROPERTY_ALPHABETIC = 0 ;
const integer PROPERTY_BINARY_START = 0 ;
const integer PROPERTY_ASCII_HEX_DIGIT = 1 ;
const integer PROPERTY_BIDI_CONTROL = 2 ;
const integer PROPERTY_BIDI_MIRRORED = 3 ;
const integer PROPERTY_DASH = 4 ;
const integer PROPERTY_DEFAULT_IGNORABLE_CODE_POINT = 5 ;
const integer PROPERTY_DEPRECATED = 6 ;
const integer PROPERTY_DIACRITIC = 7 ;
const integer PROPERTY_EXTENDER = 8 ;
const integer PROPERTY_FULL_COMPOSITION_EXCLUSION = 9 ;
const integer PROPERTY_GRAPHEME_BASE = 10 ;
const integer PROPERTY_GRAPHEME_EXTEND = 11 ;
const integer PROPERTY_GRAPHEME_LINK = 12 ;
const integer PROPERTY_HEX_DIGIT = 13 ;
const integer PROPERTY_HYPHEN = 14 ;
const integer PROPERTY_ID_CONTINUE = 15 ;
const integer PROPERTY_ID_START = 16 ;
const integer PROPERTY_IDEOGRAPHIC = 17 ;
const integer PROPERTY_IDS_BINARY_OPERATOR = 18 ;
const integer PROPERTY_IDS_TRINARY_OPERATOR = 19 ;
const integer PROPERTY_JOIN_CONTROL = 20 ;
const integer PROPERTY_LOGICAL_ORDER_EXCEPTION = 21 ;
const integer PROPERTY_LOWERCASE = 22 ;
const integer PROPERTY_MATH = 23 ;
const integer PROPERTY_NONCHARACTER_CODE_POINT = 24 ;
const integer PROPERTY_QUOTATION_MARK = 25 ;
const integer PROPERTY_RADICAL = 26 ;
const integer PROPERTY_SOFT_DOTTED = 27 ;
const integer PROPERTY_TERMINAL_PUNCTUATION = 28 ;
const integer PROPERTY_UNIFIED_IDEOGRAPH = 29 ;
const integer PROPERTY_UPPERCASE = 30 ;
const integer PROPERTY_WHITE_SPACE = 31 ;
const integer PROPERTY_XID_CONTINUE = 32 ;
const integer PROPERTY_XID_START = 33 ;
const integer PROPERTY_CASE_SENSITIVE = 34 ;
const integer PROPERTY_S_TERM = 35 ;
const integer PROPERTY_VARIATION_SELECTOR = 36 ;
const integer PROPERTY_NFD_INERT = 37 ;
const integer PROPERTY_NFKD_INERT = 38 ;
const integer PROPERTY_NFC_INERT = 39 ;
const integer PROPERTY_NFKC_INERT = 40 ;
const integer PROPERTY_SEGMENT_STARTER = 41 ;
const integer PROPERTY_PATTERN_SYNTAX = 42 ;
const integer PROPERTY_PATTERN_WHITE_SPACE = 43 ;
const integer PROPERTY_POSIX_ALNUM = 44 ;
const integer PROPERTY_POSIX_BLANK = 45 ;
const integer PROPERTY_POSIX_GRAPH = 46 ;
const integer PROPERTY_POSIX_PRINT = 47 ;
const integer PROPERTY_POSIX_XDIGIT = 48 ;
const integer PROPERTY_CASED = 49 ;
const integer PROPERTY_CASE_IGNORABLE = 50 ;
const integer PROPERTY_CHANGES_WHEN_LOWERCASED = 51 ;
const integer PROPERTY_CHANGES_WHEN_UPPERCASED = 52 ;
const integer PROPERTY_CHANGES_WHEN_TITLECASED = 53 ;
const integer PROPERTY_CHANGES_WHEN_CASEFOLDED = 54 ;
const integer PROPERTY_CHANGES_WHEN_CASEMAPPED = 55 ;
const integer PROPERTY_CHANGES_WHEN_NFKC_CASEFOLDED = 56 ;
const integer PROPERTY_BINARY_LIMIT = 57 ;
const integer PROPERTY_BIDI_CLASS = 4096 ;
const integer PROPERTY_INT_START = 4096 ;
const integer PROPERTY_BLOCK = 4097 ;
const integer PROPERTY_CANONICAL_COMBINING_CLASS = 4098 ;
const integer PROPERTY_DECOMPOSITION_TYPE = 4099 ;
const integer PROPERTY_EAST_ASIAN_WIDTH = 4100 ;
const integer PROPERTY_GENERAL_CATEGORY = 4101 ;
const integer PROPERTY_JOINING_GROUP = 4102 ;
const integer PROPERTY_JOINING_TYPE = 4103 ;
const integer PROPERTY_LINE_BREAK = 4104 ;
const integer PROPERTY_NUMERIC_TYPE = 4105 ;
const integer PROPERTY_SCRIPT = 4106 ;
const integer PROPERTY_HANGUL_SYLLABLE_TYPE = 4107 ;
const integer PROPERTY_NFD_QUICK_CHECK = 4108 ;
const integer PROPERTY_NFKD_QUICK_CHECK = 4109 ;
const integer PROPERTY_NFC_QUICK_CHECK = 4110 ;
const integer PROPERTY_NFKC_QUICK_CHECK = 4111 ;
const integer PROPERTY_LEAD_CANONICAL_COMBINING_CLASS = 4112 ;
const integer PROPERTY_TRAIL_CANONICAL_COMBINING_CLASS = 4113 ;
const integer PROPERTY_GRAPHEME_CLUSTER_BREAK = 4114 ;
const integer PROPERTY_SENTENCE_BREAK = 4115 ;
const integer PROPERTY_WORD_BREAK = 4116 ;
const integer PROPERTY_BIDI_PAIRED_BRACKET_TYPE = 4117 ;
const integer PROPERTY_INT_LIMIT = 4118 ;
const integer PROPERTY_GENERAL_CATEGORY_MASK = 8192 ;
const integer PROPERTY_MASK_START = 8192 ;
const integer PROPERTY_MASK_LIMIT = 8193 ;
const integer PROPERTY_NUMERIC_VALUE = 12288 ;
const integer PROPERTY_DOUBLE_START = 12288 ;
const integer PROPERTY_DOUBLE_LIMIT = 12289 ;
const integer PROPERTY_AGE = 16384 ;
const integer PROPERTY_STRING_START = 16384 ;
const integer PROPERTY_BIDI_MIRRORING_GLYPH = 16385 ;
const integer PROPERTY_CASE_FOLDING = 16386 ;
const integer PROPERTY_ISO_COMMENT = 16387 ;
const integer PROPERTY_LOWERCASE_MAPPING = 16388 ;
const integer PROPERTY_NAME = 16389 ;
const integer PROPERTY_SIMPLE_CASE_FOLDING = 16390 ;
const integer PROPERTY_SIMPLE_LOWERCASE_MAPPING = 16391 ;
const integer PROPERTY_SIMPLE_TITLECASE_MAPPING = 16392 ;
const integer PROPERTY_SIMPLE_UPPERCASE_MAPPING = 16393 ;
const integer PROPERTY_TITLECASE_MAPPING = 16394 ;
const integer PROPERTY_UNICODE_1_NAME = 16395 ;
const integer PROPERTY_UPPERCASE_MAPPING = 16396 ;
const integer PROPERTY_BIDI_PAIRED_BRACKET = 16397 ;
const integer PROPERTY_STRING_LIMIT = 16398 ;
const integer PROPERTY_SCRIPT_EXTENSIONS = 28672 ;
const integer PROPERTY_OTHER_PROPERTY_START = 28672 ;
const integer PROPERTY_OTHER_PROPERTY_LIMIT = 28673 ;
const integer PROPERTY_INVALID_CODE = -1 ;
const integer CHAR_CATEGORY_UNASSIGNED = 0 ;
const integer CHAR_CATEGORY_GENERAL_OTHER_TYPES = 0 ;
const integer CHAR_CATEGORY_UPPERCASE_LETTER = 1 ;
const integer CHAR_CATEGORY_LOWERCASE_LETTER = 2 ;
const integer CHAR_CATEGORY_TITLECASE_LETTER = 3 ;
const integer CHAR_CATEGORY_MODIFIER_LETTER = 4 ;
const integer CHAR_CATEGORY_OTHER_LETTER = 5 ;
const integer CHAR_CATEGORY_NON_SPACING_MARK = 6 ;
const integer CHAR_CATEGORY_ENCLOSING_MARK = 7 ;
const integer CHAR_CATEGORY_COMBINING_SPACING_MARK = 8 ;
const integer CHAR_CATEGORY_DECIMAL_DIGIT_NUMBER = 9 ;
const integer CHAR_CATEGORY_LETTER_NUMBER = 10 ;
const integer CHAR_CATEGORY_OTHER_NUMBER = 11 ;
const integer CHAR_CATEGORY_SPACE_SEPARATOR = 12 ;
const integer CHAR_CATEGORY_LINE_SEPARATOR = 13 ;
const integer CHAR_CATEGORY_PARAGRAPH_SEPARATOR = 14 ;
const integer CHAR_CATEGORY_CONTROL_CHAR = 15 ;
const integer CHAR_CATEGORY_FORMAT_CHAR = 16 ;
const integer CHAR_CATEGORY_PRIVATE_USE_CHAR = 17 ;
const integer CHAR_CATEGORY_SURROGATE = 18 ;
const integer CHAR_CATEGORY_DASH_PUNCTUATION = 19 ;
const integer CHAR_CATEGORY_START_PUNCTUATION = 20 ;
const integer CHAR_CATEGORY_END_PUNCTUATION = 21 ;
const integer CHAR_CATEGORY_CONNECTOR_PUNCTUATION = 22 ;
const integer CHAR_CATEGORY_OTHER_PUNCTUATION = 23 ;
const integer CHAR_CATEGORY_MATH_SYMBOL = 24 ;
const integer CHAR_CATEGORY_CURRENCY_SYMBOL = 25 ;
const integer CHAR_CATEGORY_MODIFIER_SYMBOL = 26 ;
const integer CHAR_CATEGORY_OTHER_SYMBOL = 27 ;
const integer CHAR_CATEGORY_INITIAL_PUNCTUATION = 28 ;
const integer CHAR_CATEGORY_FINAL_PUNCTUATION = 29 ;
const integer CHAR_CATEGORY_CHAR_CATEGORY_COUNT = 30 ;
const integer CHAR_DIRECTION_LEFT_TO_RIGHT = 0 ;
const integer CHAR_DIRECTION_RIGHT_TO_LEFT = 1 ;
const integer CHAR_DIRECTION_EUROPEAN_NUMBER = 2 ;
const integer CHAR_DIRECTION_EUROPEAN_NUMBER_SEPARATOR = 3 ;
const integer CHAR_DIRECTION_EUROPEAN_NUMBER_TERMINATOR = 4 ;
const integer CHAR_DIRECTION_ARABIC_NUMBER = 5 ;
const integer CHAR_DIRECTION_COMMON_NUMBER_SEPARATOR = 6 ;
const integer CHAR_DIRECTION_BLOCK_SEPARATOR = 7 ;
const integer CHAR_DIRECTION_SEGMENT_SEPARATOR = 8 ;
const integer CHAR_DIRECTION_WHITE_SPACE_NEUTRAL = 9 ;
const integer CHAR_DIRECTION_OTHER_NEUTRAL = 10 ;
const integer CHAR_DIRECTION_LEFT_TO_RIGHT_EMBEDDING = 11 ;
const integer CHAR_DIRECTION_LEFT_TO_RIGHT_OVERRIDE = 12 ;
const integer CHAR_DIRECTION_RIGHT_TO_LEFT_ARABIC = 13 ;
const integer CHAR_DIRECTION_RIGHT_TO_LEFT_EMBEDDING = 14 ;
const integer CHAR_DIRECTION_RIGHT_TO_LEFT_OVERRIDE = 15 ;
const integer CHAR_DIRECTION_POP_DIRECTIONAL_FORMAT = 16 ;
const integer CHAR_DIRECTION_DIR_NON_SPACING_MARK = 17 ;
const integer CHAR_DIRECTION_BOUNDARY_NEUTRAL = 18 ;
const integer CHAR_DIRECTION_FIRST_STRONG_ISOLATE = 19 ;
const integer CHAR_DIRECTION_LEFT_TO_RIGHT_ISOLATE = 20 ;
const integer CHAR_DIRECTION_RIGHT_TO_LEFT_ISOLATE = 21 ;
const integer CHAR_DIRECTION_POP_DIRECTIONAL_ISOLATE = 22 ;
const integer CHAR_DIRECTION_CHAR_DIRECTION_COUNT = 23 ;
const integer BLOCK_CODE_NO_BLOCK = 0 ;
const integer BLOCK_CODE_BASIC_LATIN = 1 ;
const integer BLOCK_CODE_LATIN_1_SUPPLEMENT = 2 ;
const integer BLOCK_CODE_LATIN_EXTENDED_A = 3 ;
const integer BLOCK_CODE_LATIN_EXTENDED_B = 4 ;
const integer BLOCK_CODE_IPA_EXTENSIONS = 5 ;
const integer BLOCK_CODE_SPACING_MODIFIER_LETTERS = 6 ;
const integer BLOCK_CODE_COMBINING_DIACRITICAL_MARKS = 7 ;
const integer BLOCK_CODE_GREEK = 8 ;
const integer BLOCK_CODE_CYRILLIC = 9 ;
const integer BLOCK_CODE_ARMENIAN = 10 ;
const integer BLOCK_CODE_HEBREW = 11 ;
const integer BLOCK_CODE_ARABIC = 12 ;
const integer BLOCK_CODE_SYRIAC = 13 ;
const integer BLOCK_CODE_THAANA = 14 ;
const integer BLOCK_CODE_DEVANAGARI = 15 ;
const integer BLOCK_CODE_BENGALI = 16 ;
const integer BLOCK_CODE_GURMUKHI = 17 ;
const integer BLOCK_CODE_GUJARATI = 18 ;
const integer BLOCK_CODE_ORIYA = 19 ;
const integer BLOCK_CODE_TAMIL = 20 ;
const integer BLOCK_CODE_TELUGU = 21 ;
const integer BLOCK_CODE_KANNADA = 22 ;
const integer BLOCK_CODE_MALAYALAM = 23 ;
const integer BLOCK_CODE_SINHALA = 24 ;
const integer BLOCK_CODE_THAI = 25 ;
const integer BLOCK_CODE_LAO = 26 ;
const integer BLOCK_CODE_TIBETAN = 27 ;
const integer BLOCK_CODE_MYANMAR = 28 ;
const integer BLOCK_CODE_GEORGIAN = 29 ;
const integer BLOCK_CODE_HANGUL_JAMO = 30 ;
const integer BLOCK_CODE_ETHIOPIC = 31 ;
const integer BLOCK_CODE_CHEROKEE = 32 ;
const integer BLOCK_CODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS = 33 ;
const integer BLOCK_CODE_OGHAM = 34 ;
const integer BLOCK_CODE_RUNIC = 35 ;
const integer BLOCK_CODE_KHMER = 36 ;
const integer BLOCK_CODE_MONGOLIAN = 37 ;
const integer BLOCK_CODE_LATIN_EXTENDED_ADDITIONAL = 38 ;
const integer BLOCK_CODE_GREEK_EXTENDED = 39 ;
const integer BLOCK_CODE_GENERAL_PUNCTUATION = 40 ;
const integer BLOCK_CODE_SUPERSCRIPTS_AND_SUBSCRIPTS = 41 ;
const integer BLOCK_CODE_CURRENCY_SYMBOLS = 42 ;
const integer BLOCK_CODE_COMBINING_MARKS_FOR_SYMBOLS = 43 ;
const integer BLOCK_CODE_LETTERLIKE_SYMBOLS = 44 ;
const integer BLOCK_CODE_NUMBER_FORMS = 45 ;
const integer BLOCK_CODE_ARROWS = 46 ;
const integer BLOCK_CODE_MATHEMATICAL_OPERATORS = 47 ;
const integer BLOCK_CODE_MISCELLANEOUS_TECHNICAL = 48 ;
const integer BLOCK_CODE_CONTROL_PICTURES = 49 ;
const integer BLOCK_CODE_OPTICAL_CHARACTER_RECOGNITION = 50 ;
const integer BLOCK_CODE_ENCLOSED_ALPHANUMERICS = 51 ;
const integer BLOCK_CODE_BOX_DRAWING = 52 ;
const integer BLOCK_CODE_BLOCK_ELEMENTS = 53 ;
const integer BLOCK_CODE_GEOMETRIC_SHAPES = 54 ;
const integer BLOCK_CODE_MISCELLANEOUS_SYMBOLS = 55 ;
const integer BLOCK_CODE_DINGBATS = 56 ;
const integer BLOCK_CODE_BRAILLE_PATTERNS = 57 ;
const integer BLOCK_CODE_CJK_RADICALS_SUPPLEMENT = 58 ;
const integer BLOCK_CODE_KANGXI_RADICALS = 59 ;
const integer BLOCK_CODE_IDEOGRAPHIC_DESCRIPTION_CHARACTERS = 60 ;
const integer BLOCK_CODE_CJK_SYMBOLS_AND_PUNCTUATION = 61 ;
const integer BLOCK_CODE_HIRAGANA = 62 ;
const integer BLOCK_CODE_KATAKANA = 63 ;
const integer BLOCK_CODE_BOPOMOFO = 64 ;
const integer BLOCK_CODE_HANGUL_COMPATIBILITY_JAMO = 65 ;
const integer BLOCK_CODE_KANBUN = 66 ;
const integer BLOCK_CODE_BOPOMOFO_EXTENDED = 67 ;
const integer BLOCK_CODE_ENCLOSED_CJK_LETTERS_AND_MONTHS = 68 ;
const integer BLOCK_CODE_CJK_COMPATIBILITY = 69 ;
const integer BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A = 70 ;
const integer BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS = 71 ;
const integer BLOCK_CODE_YI_SYLLABLES = 72 ;
const integer BLOCK_CODE_YI_RADICALS = 73 ;
const integer BLOCK_CODE_HANGUL_SYLLABLES = 74 ;
const integer BLOCK_CODE_HIGH_SURROGATES = 75 ;
const integer BLOCK_CODE_HIGH_PRIVATE_USE_SURROGATES = 76 ;
const integer BLOCK_CODE_LOW_SURROGATES = 77 ;
const integer BLOCK_CODE_PRIVATE_USE_AREA = 78 ;
const integer BLOCK_CODE_PRIVATE_USE = 78 ;
const integer BLOCK_CODE_CJK_COMPATIBILITY_IDEOGRAPHS = 79 ;
const integer BLOCK_CODE_ALPHABETIC_PRESENTATION_FORMS = 80 ;
const integer BLOCK_CODE_ARABIC_PRESENTATION_FORMS_A = 81 ;
const integer BLOCK_CODE_COMBINING_HALF_MARKS = 82 ;
const integer BLOCK_CODE_CJK_COMPATIBILITY_FORMS = 83 ;
const integer BLOCK_CODE_SMALL_FORM_VARIANTS = 84 ;
const integer BLOCK_CODE_ARABIC_PRESENTATION_FORMS_B = 85 ;
const integer BLOCK_CODE_SPECIALS = 86 ;
const integer BLOCK_CODE_HALFWIDTH_AND_FULLWIDTH_FORMS = 87 ;
const integer BLOCK_CODE_OLD_ITALIC = 88 ;
const integer BLOCK_CODE_GOTHIC = 89 ;
const integer BLOCK_CODE_DESERET = 90 ;
const integer BLOCK_CODE_BYZANTINE_MUSICAL_SYMBOLS = 91 ;
const integer BLOCK_CODE_MUSICAL_SYMBOLS = 92 ;
const integer BLOCK_CODE_MATHEMATICAL_ALPHANUMERIC_SYMBOLS = 93 ;
const integer BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B = 94 ;
const integer BLOCK_CODE_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT = 95 ;
const integer BLOCK_CODE_TAGS = 96 ;
const integer BLOCK_CODE_CYRILLIC_SUPPLEMENT = 97 ;
const integer BLOCK_CODE_CYRILLIC_SUPPLEMENTARY = 97 ;
const integer BLOCK_CODE_TAGALOG = 98 ;
const integer BLOCK_CODE_HANUNOO = 99 ;
const integer BLOCK_CODE_BUHID = 100 ;
const integer BLOCK_CODE_TAGBANWA = 101 ;
const integer BLOCK_CODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A = 102 ;
const integer BLOCK_CODE_SUPPLEMENTAL_ARROWS_A = 103 ;
const integer BLOCK_CODE_SUPPLEMENTAL_ARROWS_B = 104 ;
const integer BLOCK_CODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B = 105 ;
const integer BLOCK_CODE_SUPPLEMENTAL_MATHEMATICAL_OPERATORS = 106 ;
const integer BLOCK_CODE_KATAKANA_PHONETIC_EXTENSIONS = 107 ;
const integer BLOCK_CODE_VARIATION_SELECTORS = 108 ;
const integer BLOCK_CODE_SUPPLEMENTARY_PRIVATE_USE_AREA_A = 109 ;
const integer BLOCK_CODE_SUPPLEMENTARY_PRIVATE_USE_AREA_B = 110 ;
const integer BLOCK_CODE_LIMBU = 111 ;
const integer BLOCK_CODE_TAI_LE = 112 ;
const integer BLOCK_CODE_KHMER_SYMBOLS = 113 ;
const integer BLOCK_CODE_PHONETIC_EXTENSIONS = 114 ;
const integer BLOCK_CODE_MISCELLANEOUS_SYMBOLS_AND_ARROWS = 115 ;
const integer BLOCK_CODE_YIJING_HEXAGRAM_SYMBOLS = 116 ;
const integer BLOCK_CODE_LINEAR_B_SYLLABARY = 117 ;
const integer BLOCK_CODE_LINEAR_B_IDEOGRAMS = 118 ;
const integer BLOCK_CODE_AEGEAN_NUMBERS = 119 ;
const integer BLOCK_CODE_UGARITIC = 120 ;
const integer BLOCK_CODE_SHAVIAN = 121 ;
const integer BLOCK_CODE_OSMANYA = 122 ;
const integer BLOCK_CODE_CYPRIOT_SYLLABARY = 123 ;
const integer BLOCK_CODE_TAI_XUAN_JING_SYMBOLS = 124 ;
const integer BLOCK_CODE_VARIATION_SELECTORS_SUPPLEMENT = 125 ;
const integer BLOCK_CODE_ANCIENT_GREEK_MUSICAL_NOTATION = 126 ;
const integer BLOCK_CODE_ANCIENT_GREEK_NUMBERS = 127 ;
const integer BLOCK_CODE_ARABIC_SUPPLEMENT = 128 ;
const integer BLOCK_CODE_BUGINESE = 129 ;
const integer BLOCK_CODE_CJK_STROKES = 130 ;
const integer BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT = 131 ;
const integer BLOCK_CODE_COPTIC = 132 ;
const integer BLOCK_CODE_ETHIOPIC_EXTENDED = 133 ;
const integer BLOCK_CODE_ETHIOPIC_SUPPLEMENT = 134 ;
const integer BLOCK_CODE_GEORGIAN_SUPPLEMENT = 135 ;
const integer BLOCK_CODE_GLAGOLITIC = 136 ;
const integer BLOCK_CODE_KHAROSHTHI = 137 ;
const integer BLOCK_CODE_MODIFIER_TONE_LETTERS = 138 ;
const integer BLOCK_CODE_NEW_TAI_LUE = 139 ;
const integer BLOCK_CODE_OLD_PERSIAN = 140 ;
const integer BLOCK_CODE_PHONETIC_EXTENSIONS_SUPPLEMENT = 141 ;
const integer BLOCK_CODE_SUPPLEMENTAL_PUNCTUATION = 142 ;
const integer BLOCK_CODE_SYLOTI_NAGRI = 143 ;
const integer BLOCK_CODE_TIFINAGH = 144 ;
const integer BLOCK_CODE_VERTICAL_FORMS = 145 ;
const integer BLOCK_CODE_NKO = 146 ;
const integer BLOCK_CODE_BALINESE = 147 ;
const integer BLOCK_CODE_LATIN_EXTENDED_C = 148 ;
const integer BLOCK_CODE_LATIN_EXTENDED_D = 149 ;
const integer BLOCK_CODE_PHAGS_PA = 150 ;
const integer BLOCK_CODE_PHOENICIAN = 151 ;
const integer BLOCK_CODE_CUNEIFORM = 152 ;
const integer BLOCK_CODE_CUNEIFORM_NUMBERS_AND_PUNCTUATION = 153 ;
const integer BLOCK_CODE_COUNTING_ROD_NUMERALS = 154 ;
const integer BLOCK_CODE_SUNDANESE = 155 ;
const integer BLOCK_CODE_LEPCHA = 156 ;
const integer BLOCK_CODE_OL_CHIKI = 157 ;
const integer BLOCK_CODE_CYRILLIC_EXTENDED_A = 158 ;
const integer BLOCK_CODE_VAI = 159 ;
const integer BLOCK_CODE_CYRILLIC_EXTENDED_B = 160 ;
const integer BLOCK_CODE_SAURASHTRA = 161 ;
const integer BLOCK_CODE_KAYAH_LI = 162 ;
const integer BLOCK_CODE_REJANG = 163 ;
const integer BLOCK_CODE_CHAM = 164 ;
const integer BLOCK_CODE_ANCIENT_SYMBOLS = 165 ;
const integer BLOCK_CODE_PHAISTOS_DISC = 166 ;
const integer BLOCK_CODE_LYCIAN = 167 ;
const integer BLOCK_CODE_CARIAN = 168 ;
const integer BLOCK_CODE_LYDIAN = 169 ;
const integer BLOCK_CODE_MAHJONG_TILES = 170 ;
const integer BLOCK_CODE_DOMINO_TILES = 171 ;
const integer BLOCK_CODE_SAMARITAN = 172 ;
const integer BLOCK_CODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED = 173 ;
const integer BLOCK_CODE_TAI_THAM = 174 ;
const integer BLOCK_CODE_VEDIC_EXTENSIONS = 175 ;
const integer BLOCK_CODE_LISU = 176 ;
const integer BLOCK_CODE_BAMUM = 177 ;
const integer BLOCK_CODE_COMMON_INDIC_NUMBER_FORMS = 178 ;
const integer BLOCK_CODE_DEVANAGARI_EXTENDED = 179 ;
const integer BLOCK_CODE_HANGUL_JAMO_EXTENDED_A = 180 ;
const integer BLOCK_CODE_JAVANESE = 181 ;
const integer BLOCK_CODE_MYANMAR_EXTENDED_A = 182 ;
const integer BLOCK_CODE_TAI_VIET = 183 ;
const integer BLOCK_CODE_MEETEI_MAYEK = 184 ;
const integer BLOCK_CODE_HANGUL_JAMO_EXTENDED_B = 185 ;
const integer BLOCK_CODE_IMPERIAL_ARAMAIC = 186 ;
const integer BLOCK_CODE_OLD_SOUTH_ARABIAN = 187 ;
const integer BLOCK_CODE_AVESTAN = 188 ;
const integer BLOCK_CODE_INSCRIPTIONAL_PARTHIAN = 189 ;
const integer BLOCK_CODE_INSCRIPTIONAL_PAHLAVI = 190 ;
const integer BLOCK_CODE_OLD_TURKIC = 191 ;
const integer BLOCK_CODE_RUMI_NUMERAL_SYMBOLS = 192 ;
const integer BLOCK_CODE_KAITHI = 193 ;
const integer BLOCK_CODE_EGYPTIAN_HIEROGLYPHS = 194 ;
const integer BLOCK_CODE_ENCLOSED_ALPHANUMERIC_SUPPLEMENT = 195 ;
const integer BLOCK_CODE_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT = 196 ;
const integer BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C = 197 ;
const integer BLOCK_CODE_MANDAIC = 198 ;
const integer BLOCK_CODE_BATAK = 199 ;
const integer BLOCK_CODE_ETHIOPIC_EXTENDED_A = 200 ;
const integer BLOCK_CODE_BRAHMI = 201 ;
const integer BLOCK_CODE_BAMUM_SUPPLEMENT = 202 ;
const integer BLOCK_CODE_KANA_SUPPLEMENT = 203 ;
const integer BLOCK_CODE_PLAYING_CARDS = 204 ;
const integer BLOCK_CODE_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS = 205 ;
const integer BLOCK_CODE_EMOTICONS = 206 ;
const integer BLOCK_CODE_TRANSPORT_AND_MAP_SYMBOLS = 207 ;
const integer BLOCK_CODE_ALCHEMICAL_SYMBOLS = 208 ;
const integer BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D = 209 ;
const integer BLOCK_CODE_ARABIC_EXTENDED_A = 210 ;
const integer BLOCK_CODE_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS = 211 ;
const integer BLOCK_CODE_CHAKMA = 212 ;
const integer BLOCK_CODE_MEETEI_MAYEK_EXTENSIONS = 213 ;
const integer BLOCK_CODE_MEROITIC_CURSIVE = 214 ;
const integer BLOCK_CODE_MEROITIC_HIEROGLYPHS = 215 ;
const integer BLOCK_CODE_MIAO = 216 ;
const integer BLOCK_CODE_SHARADA = 217 ;
const integer BLOCK_CODE_SORA_SOMPENG = 218 ;
const integer BLOCK_CODE_SUNDANESE_SUPPLEMENT = 219 ;
const integer BLOCK_CODE_TAKRI = 220 ;
const integer BLOCK_CODE_COUNT = 221 ;
const integer BLOCK_CODE_INVALID_CODE = -1 ;
const integer BPT_NONE = 0 ;
const integer BPT_OPEN = 1 ;
const integer BPT_CLOSE = 2 ;
const integer BPT_COUNT = 3 ;
const integer EA_NEUTRAL = 0 ;
const integer EA_AMBIGUOUS = 1 ;
const integer EA_HALFWIDTH = 2 ;
const integer EA_FULLWIDTH = 3 ;
const integer EA_NARROW = 4 ;
const integer EA_WIDE = 5 ;
const integer EA_COUNT = 6 ;
const integer UNICODE_CHAR_NAME = 0 ;
const integer UNICODE_10_CHAR_NAME = 1 ;
const integer EXTENDED_CHAR_NAME = 2 ;
const integer CHAR_NAME_ALIAS = 3 ;
const integer CHAR_NAME_CHOICE_COUNT = 4 ;
const integer SHORT_PROPERTY_NAME = 0 ;
const integer LONG_PROPERTY_NAME = 1 ;
const integer PROPERTY_NAME_CHOICE_COUNT = 2 ;
const integer DT_NONE = 0 ;
const integer DT_CANONICAL = 1 ;
const integer DT_COMPAT = 2 ;
const integer DT_CIRCLE = 3 ;
const integer DT_FINAL = 4 ;
const integer DT_FONT = 5 ;
const integer DT_FRACTION = 6 ;
const integer DT_INITIAL = 7 ;
const integer DT_ISOLATED = 8 ;
const integer DT_MEDIAL = 9 ;
const integer DT_NARROW = 10 ;
const integer DT_NOBREAK = 11 ;
const integer DT_SMALL = 12 ;
const integer DT_SQUARE = 13 ;
const integer DT_SUB = 14 ;
const integer DT_SUPER = 15 ;
const integer DT_VERTICAL = 16 ;
const integer DT_WIDE = 17 ;
const integer DT_COUNT = 18 ;
const integer JT_NON_JOINING = 0 ;
const integer JT_JOIN_CAUSING = 1 ;
const integer JT_DUAL_JOINING = 2 ;
const integer JT_LEFT_JOINING = 3 ;
const integer JT_RIGHT_JOINING = 4 ;
const integer JT_TRANSPARENT = 5 ;
const integer JT_COUNT = 6 ;
const integer JG_NO_JOINING_GROUP = 0 ;
const integer JG_AIN = 1 ;
const integer JG_ALAPH = 2 ;
const integer JG_ALEF = 3 ;
const integer JG_BEH = 4 ;
const integer JG_BETH = 5 ;
const integer JG_DAL = 6 ;
const integer JG_DALATH_RISH = 7 ;
const integer JG_E = 8 ;
const integer JG_FEH = 9 ;
const integer JG_FINAL_SEMKATH = 10 ;
const integer JG_GAF = 11 ;
const integer JG_GAMAL = 12 ;
const integer JG_HAH = 13 ;
const integer JG_TEH_MARBUTA_GOAL = 14 ;
const integer JG_HAMZA_ON_HEH_GOAL = 14 ;
const integer JG_HE = 15 ;
const integer JG_HEH = 16 ;
const integer JG_HEH_GOAL = 17 ;
const integer JG_HETH = 18 ;
const integer JG_KAF = 19 ;
const integer JG_KAPH = 20 ;
const integer JG_KNOTTED_HEH = 21 ;
const integer JG_LAM = 22 ;
const integer JG_LAMADH = 23 ;
const integer JG_MEEM = 24 ;
const integer JG_MIM = 25 ;
const integer JG_NOON = 26 ;
const integer JG_NUN = 27 ;
const integer JG_PE = 28 ;
const integer JG_QAF = 29 ;
const integer JG_QAPH = 30 ;
const integer JG_REH = 31 ;
const integer JG_REVERSED_PE = 32 ;
const integer JG_SAD = 33 ;
const integer JG_SADHE = 34 ;
const integer JG_SEEN = 35 ;
const integer JG_SEMKATH = 36 ;
const integer JG_SHIN = 37 ;
const integer JG_SWASH_KAF = 38 ;
const integer JG_SYRIAC_WAW = 39 ;
const integer JG_TAH = 40 ;
const integer JG_TAW = 41 ;
const integer JG_TEH_MARBUTA = 42 ;
const integer JG_TETH = 43 ;
const integer JG_WAW = 44 ;
const integer JG_YEH = 45 ;
const integer JG_YEH_BARREE = 46 ;
const integer JG_YEH_WITH_TAIL = 47 ;
const integer JG_YUDH = 48 ;
const integer JG_YUDH_HE = 49 ;
const integer JG_ZAIN = 50 ;
const integer JG_FE = 51 ;
const integer JG_KHAPH = 52 ;
const integer JG_ZHAIN = 53 ;
const integer JG_BURUSHASKI_YEH_BARREE = 54 ;
const integer JG_FARSI_YEH = 55 ;
const integer JG_NYA = 56 ;
const integer JG_ROHINGYA_YEH = 57 ;
const integer JG_COUNT = 58 ;
const integer GCB_OTHER = 0 ;
const integer GCB_CONTROL = 1 ;
const integer GCB_CR = 2 ;
const integer GCB_EXTEND = 3 ;
const integer GCB_L = 4 ;
const integer GCB_LF = 5 ;
const integer GCB_LV = 6 ;
const integer GCB_LVT = 7 ;
const integer GCB_T = 8 ;
const integer GCB_V = 9 ;
const integer GCB_SPACING_MARK = 10 ;
const integer GCB_PREPEND = 11 ;
const integer GCB_REGIONAL_INDICATOR = 12 ;
const integer GCB_COUNT = 13 ;
const integer WB_OTHER = 0 ;
const integer WB_ALETTER = 1 ;
const integer WB_FORMAT = 2 ;
const integer WB_KATAKANA = 3 ;
const integer WB_MIDLETTER = 4 ;
const integer WB_MIDNUM = 5 ;
const integer WB_NUMERIC = 6 ;
const integer WB_EXTENDNUMLET = 7 ;
const integer WB_CR = 8 ;
const integer WB_EXTEND = 9 ;
const integer WB_LF = 10 ;
const integer WB_MIDNUMLET = 11 ;
const integer WB_NEWLINE = 12 ;
const integer WB_REGIONAL_INDICATOR = 13 ;
const integer WB_HEBREW_LETTER = 14 ;
const integer WB_SINGLE_QUOTE = 15 ;
const integer WB_DOUBLE_QUOTE = 16 ;
const integer WB_COUNT = 17 ;
const integer SB_OTHER = 0 ;
const integer SB_ATERM = 1 ;
const integer SB_CLOSE = 2 ;
const integer SB_FORMAT = 3 ;
const integer SB_LOWER = 4 ;
const integer SB_NUMERIC = 5 ;
const integer SB_OLETTER = 6 ;
const integer SB_SEP = 7 ;
const integer SB_SP = 8 ;
const integer SB_STERM = 9 ;
const integer SB_UPPER = 10 ;
const integer SB_CR = 11 ;
const integer SB_EXTEND = 12 ;
const integer SB_LF = 13 ;
const integer SB_SCONTINUE = 14 ;
const integer SB_COUNT = 15 ;
const integer LB_UNKNOWN = 0 ;
const integer LB_AMBIGUOUS = 1 ;
const integer LB_ALPHABETIC = 2 ;
const integer LB_BREAK_BOTH = 3 ;
const integer LB_BREAK_AFTER = 4 ;
const integer LB_BREAK_BEFORE = 5 ;
const integer LB_MANDATORY_BREAK = 6 ;
const integer LB_CONTINGENT_BREAK = 7 ;
const integer LB_CLOSE_PUNCTUATION = 8 ;
const integer LB_COMBINING_MARK = 9 ;
const integer LB_CARRIAGE_RETURN = 10 ;
const integer LB_EXCLAMATION = 11 ;
const integer LB_GLUE = 12 ;
const integer LB_HYPHEN = 13 ;
const integer LB_IDEOGRAPHIC = 14 ;
const integer LB_INSEPARABLE = 15 ;
const integer LB_INSEPERABLE = 15 ;
const integer LB_INFIX_NUMERIC = 16 ;
const integer LB_LINE_FEED = 17 ;
const integer LB_NONSTARTER = 18 ;
const integer LB_NUMERIC = 19 ;
const integer LB_OPEN_PUNCTUATION = 20 ;
const integer LB_POSTFIX_NUMERIC = 21 ;
const integer LB_PREFIX_NUMERIC = 22 ;
const integer LB_QUOTATION = 23 ;
const integer LB_COMPLEX_CONTEXT = 24 ;
const integer LB_SURROGATE = 25 ;
const integer LB_SPACE = 26 ;
const integer LB_BREAK_SYMBOLS = 27 ;
const integer LB_ZWSPACE = 28 ;
const integer LB_NEXT_LINE = 29 ;
const integer LB_WORD_JOINER = 30 ;
const integer LB_H2 = 31 ;
const integer LB_H3 = 32 ;
const integer LB_JL = 33 ;
const integer LB_JT = 34 ;
const integer LB_JV = 35 ;
const integer LB_CLOSE_PARENTHESIS = 36 ;
const integer LB_CONDITIONAL_JAPANESE_STARTER = 37 ;
const integer LB_HEBREW_LETTER = 38 ;
const integer LB_REGIONAL_INDICATOR = 39 ;
const integer LB_COUNT = 40 ;
const integer NT_NONE = 0 ;
const integer NT_DECIMAL = 1 ;
const integer NT_DIGIT = 2 ;
const integer NT_NUMERIC = 3 ;
const integer NT_COUNT = 4 ;
const integer HST_NOT_APPLICABLE = 0 ;
const integer HST_LEADING_JAMO = 1 ;
const integer HST_VOWEL_JAMO = 2 ;
const integer HST_TRAILING_JAMO = 3 ;
const integer HST_LV_SYLLABLE = 4 ;
const integer HST_LVT_SYLLABLE = 5 ;
const integer HST_COUNT = 6 ;
/* Methoden */
public static array charAge ( mixed $codepoint )
public static int charDigitValue ( mixed $codepoint )
public static int charDirection ( mixed $codepoint )
public static int charFromName ( string $characterName [, int $nameChoice = IntlChar::UNICODE_CHAR_NAME ] )
public static mixed charMirror ( mixed $codepoint )
public static string charName ( mixed $codepoint [, int $nameChoice = IntlChar::UNICODE_CHAR_NAME ] )
public static int charType ( mixed $codepoint )
public static string chr ( mixed $codepoint )
public static int digit ( string $codepoint [, int $radix = 10 ] )
public static void enumCharNames ( mixed $start , mixed $limit , callable $callback [, int $nameChoice = IntlChar::UNICODE_CHAR_NAME ] )
public static void enumCharTypes ( callable $callback )
public static mixed foldCase ( mixed $codepoint [, int $options = IntlChar::FOLD_CASE_DEFAULT ] )
public static int forDigit ( int $digit [, int $radix = 10 ] )
public static mixed getBidiPairedBracket ( mixed $codepoint )
public static int getBlockCode ( mixed $codepoint )
public static int getCombiningClass ( mixed $codepoint )
public static string getFC_NFKC_Closure ( mixed $codepoint )
public static int getIntPropertyMaxValue ( int $property )
public static int getIntPropertyMinValue ( int $property )
public static int getIntPropertyValue ( mixed $codepoint , int $property )
public static float getNumericValue ( mixed $codepoint )
public static int getPropertyEnum ( string $alias )
public static string getPropertyName ( int $property [, int $nameChoice = IntlChar::LONG_PROPERTY_NAME ] )
public static int getPropertyValueEnum ( int $property , string $name )
public static string getPropertyValueName ( int $property , int $value [, int $nameChoice = IntlChar::LONG_PROPERTY_NAME ] )
public static array getUnicodeVersion ( void )
public static bool hasBinaryProperty ( mixed $codepoint , int $property )
public static bool isalnum ( mixed $codepoint )
public static bool isalpha ( mixed $codepoint )
public static bool isbase ( mixed $codepoint )
public static bool isblank ( mixed $codepoint )
public static bool iscntrl ( mixed $codepoint )
public static bool isdefined ( mixed $codepoint )
public static bool isdigit ( mixed $codepoint )
public static bool isgraph ( mixed $codepoint )
public static bool isIDIgnorable ( mixed $codepoint )
public static bool isIDPart ( mixed $codepoint )
public static bool isIDStart ( mixed $codepoint )
public static bool isISOControl ( mixed $codepoint )
public static bool isJavaIDPart ( mixed $codepoint )
public static bool isJavaIDStart ( mixed $codepoint )
public static bool isJavaSpaceChar ( mixed $codepoint )
public static bool islower ( mixed $codepoint )
public static bool isMirrored ( mixed $codepoint )
public static bool isprint ( mixed $codepoint )
public static bool ispunct ( mixed $codepoint )
public static bool isspace ( mixed $codepoint )
public static bool istitle ( mixed $codepoint )
public static bool isUAlphabetic ( mixed $codepoint )
public static bool isULowercase ( mixed $codepoint )
public static bool isupper ( mixed $codepoint )
public static bool isUUppercase ( mixed $codepoint )
public static bool isUWhiteSpace ( mixed $codepoint )
public static bool isWhitespace ( mixed $codepoint )
public static bool isxdigit ( mixed $codepoint )
public static int ord ( mixed $character )
public static mixed tolower ( mixed $codepoint )
public static mixed totitle ( mixed $codepoint )
public static mixed toupper ( mixed $codepoint )
}

Vordefinierte Konstanten

IntlChar::UNICODE_VERSION

IntlChar::CODEPOINT_MIN

IntlChar::CODEPOINT_MAX

IntlChar::NO_NUMERIC_VALUE

Special value that is returned by IntlChar::getNumericValue() when no numeric value is defined for a code point.

IntlChar::PROPERTY_ALPHABETIC

IntlChar::PROPERTY_BINARY_START

IntlChar::PROPERTY_ASCII_HEX_DIGIT

IntlChar::PROPERTY_BIDI_CONTROL

IntlChar::PROPERTY_BIDI_MIRRORED

IntlChar::PROPERTY_DASH

IntlChar::PROPERTY_DEFAULT_IGNORABLE_CODE_POINT

IntlChar::PROPERTY_DEPRECATED

IntlChar::PROPERTY_DIACRITIC

IntlChar::PROPERTY_EXTENDER

IntlChar::PROPERTY_FULL_COMPOSITION_EXCLUSION

IntlChar::PROPERTY_GRAPHEME_BASE

IntlChar::PROPERTY_GRAPHEME_EXTEND

IntlChar::PROPERTY_GRAPHEME_LINK

IntlChar::PROPERTY_HEX_DIGIT

IntlChar::PROPERTY_HYPHEN

IntlChar::PROPERTY_ID_CONTINUE

IntlChar::PROPERTY_ID_START

IntlChar::PROPERTY_IDEOGRAPHIC

IntlChar::PROPERTY_IDS_BINARY_OPERATOR

IntlChar::PROPERTY_IDS_TRINARY_OPERATOR

IntlChar::PROPERTY_JOIN_CONTROL

IntlChar::PROPERTY_LOGICAL_ORDER_EXCEPTION

IntlChar::PROPERTY_LOWERCASE

IntlChar::PROPERTY_MATH

IntlChar::PROPERTY_NONCHARACTER_CODE_POINT

IntlChar::PROPERTY_QUOTATION_MARK

IntlChar::PROPERTY_RADICAL

IntlChar::PROPERTY_SOFT_DOTTED

IntlChar::PROPERTY_TERMINAL_PUNCTUATION

IntlChar::PROPERTY_UNIFIED_IDEOGRAPH

IntlChar::PROPERTY_UPPERCASE

IntlChar::PROPERTY_WHITE_SPACE

IntlChar::PROPERTY_XID_CONTINUE

IntlChar::PROPERTY_XID_START

IntlChar::PROPERTY_CASE_SENSITIVE

IntlChar::PROPERTY_S_TERM

IntlChar::PROPERTY_VARIATION_SELECTOR

IntlChar::PROPERTY_NFD_INERT

IntlChar::PROPERTY_NFKD_INERT

IntlChar::PROPERTY_NFC_INERT

IntlChar::PROPERTY_NFKC_INERT

IntlChar::PROPERTY_SEGMENT_STARTER

IntlChar::PROPERTY_PATTERN_SYNTAX

IntlChar::PROPERTY_PATTERN_WHITE_SPACE

IntlChar::PROPERTY_POSIX_ALNUM

IntlChar::PROPERTY_POSIX_BLANK

IntlChar::PROPERTY_POSIX_GRAPH

IntlChar::PROPERTY_POSIX_PRINT

IntlChar::PROPERTY_POSIX_XDIGIT

IntlChar::PROPERTY_CASED

IntlChar::PROPERTY_CASE_IGNORABLE

IntlChar::PROPERTY_CHANGES_WHEN_LOWERCASED

IntlChar::PROPERTY_CHANGES_WHEN_UPPERCASED

IntlChar::PROPERTY_CHANGES_WHEN_TITLECASED

IntlChar::PROPERTY_CHANGES_WHEN_CASEFOLDED

IntlChar::PROPERTY_CHANGES_WHEN_CASEMAPPED

IntlChar::PROPERTY_CHANGES_WHEN_NFKC_CASEFOLDED

IntlChar::PROPERTY_BINARY_LIMIT

IntlChar::PROPERTY_BIDI_CLASS

IntlChar::PROPERTY_INT_START

IntlChar::PROPERTY_BLOCK

IntlChar::PROPERTY_CANONICAL_COMBINING_CLASS

IntlChar::PROPERTY_DECOMPOSITION_TYPE

IntlChar::PROPERTY_EAST_ASIAN_WIDTH

IntlChar::PROPERTY_GENERAL_CATEGORY

IntlChar::PROPERTY_JOINING_GROUP

IntlChar::PROPERTY_JOINING_TYPE

IntlChar::PROPERTY_LINE_BREAK

IntlChar::PROPERTY_NUMERIC_TYPE

IntlChar::PROPERTY_SCRIPT

IntlChar::PROPERTY_HANGUL_SYLLABLE_TYPE

IntlChar::PROPERTY_NFD_QUICK_CHECK

IntlChar::PROPERTY_NFKD_QUICK_CHECK

IntlChar::PROPERTY_NFC_QUICK_CHECK

IntlChar::PROPERTY_NFKC_QUICK_CHECK

IntlChar::PROPERTY_LEAD_CANONICAL_COMBINING_CLASS

IntlChar::PROPERTY_TRAIL_CANONICAL_COMBINING_CLASS

IntlChar::PROPERTY_GRAPHEME_CLUSTER_BREAK

IntlChar::PROPERTY_SENTENCE_BREAK

IntlChar::PROPERTY_WORD_BREAK

IntlChar::PROPERTY_BIDI_PAIRED_BRACKET_TYPE

IntlChar::PROPERTY_INT_LIMIT

IntlChar::PROPERTY_GENERAL_CATEGORY_MASK

IntlChar::PROPERTY_MASK_START

IntlChar::PROPERTY_MASK_LIMIT

IntlChar::PROPERTY_NUMERIC_VALUE

IntlChar::PROPERTY_DOUBLE_START

IntlChar::PROPERTY_DOUBLE_LIMIT

IntlChar::PROPERTY_AGE

IntlChar::PROPERTY_STRING_START

IntlChar::PROPERTY_BIDI_MIRRORING_GLYPH

IntlChar::PROPERTY_CASE_FOLDING

IntlChar::PROPERTY_ISO_COMMENT

IntlChar::PROPERTY_LOWERCASE_MAPPING

IntlChar::PROPERTY_NAME

IntlChar::PROPERTY_SIMPLE_CASE_FOLDING

IntlChar::PROPERTY_SIMPLE_LOWERCASE_MAPPING

IntlChar::PROPERTY_SIMPLE_TITLECASE_MAPPING

IntlChar::PROPERTY_SIMPLE_UPPERCASE_MAPPING

IntlChar::PROPERTY_TITLECASE_MAPPING

IntlChar::PROPERTY_UNICODE_1_NAME

IntlChar::PROPERTY_UPPERCASE_MAPPING

IntlChar::PROPERTY_BIDI_PAIRED_BRACKET

IntlChar::PROPERTY_STRING_LIMIT

IntlChar::PROPERTY_SCRIPT_EXTENSIONS

IntlChar::PROPERTY_OTHER_PROPERTY_START

IntlChar::PROPERTY_OTHER_PROPERTY_LIMIT

IntlChar::PROPERTY_INVALID_CODE

IntlChar::CHAR_CATEGORY_UNASSIGNED

IntlChar::CHAR_CATEGORY_GENERAL_OTHER_TYPES

IntlChar::CHAR_CATEGORY_UPPERCASE_LETTER

IntlChar::CHAR_CATEGORY_LOWERCASE_LETTER

IntlChar::CHAR_CATEGORY_TITLECASE_LETTER

IntlChar::CHAR_CATEGORY_MODIFIER_LETTER

IntlChar::CHAR_CATEGORY_OTHER_LETTER

IntlChar::CHAR_CATEGORY_NON_SPACING_MARK

IntlChar::CHAR_CATEGORY_ENCLOSING_MARK

IntlChar::CHAR_CATEGORY_COMBINING_SPACING_MARK

IntlChar::CHAR_CATEGORY_DECIMAL_DIGIT_NUMBER

IntlChar::CHAR_CATEGORY_LETTER_NUMBER

IntlChar::CHAR_CATEGORY_OTHER_NUMBER

IntlChar::CHAR_CATEGORY_SPACE_SEPARATOR

IntlChar::CHAR_CATEGORY_LINE_SEPARATOR

IntlChar::CHAR_CATEGORY_PARAGRAPH_SEPARATOR

IntlChar::CHAR_CATEGORY_CONTROL_CHAR

IntlChar::CHAR_CATEGORY_FORMAT_CHAR

IntlChar::CHAR_CATEGORY_PRIVATE_USE_CHAR

IntlChar::CHAR_CATEGORY_SURROGATE

IntlChar::CHAR_CATEGORY_DASH_PUNCTUATION

IntlChar::CHAR_CATEGORY_START_PUNCTUATION

IntlChar::CHAR_CATEGORY_END_PUNCTUATION

IntlChar::CHAR_CATEGORY_CONNECTOR_PUNCTUATION

IntlChar::CHAR_CATEGORY_OTHER_PUNCTUATION

IntlChar::CHAR_CATEGORY_MATH_SYMBOL

IntlChar::CHAR_CATEGORY_CURRENCY_SYMBOL

IntlChar::CHAR_CATEGORY_MODIFIER_SYMBOL

IntlChar::CHAR_CATEGORY_OTHER_SYMBOL

IntlChar::CHAR_CATEGORY_INITIAL_PUNCTUATION

IntlChar::CHAR_CATEGORY_FINAL_PUNCTUATION

IntlChar::CHAR_CATEGORY_CHAR_CATEGORY_COUNT

IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT

IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT

IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER

IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER_SEPARATOR

IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER_TERMINATOR

IntlChar::CHAR_DIRECTION_ARABIC_NUMBER

IntlChar::CHAR_DIRECTION_COMMON_NUMBER_SEPARATOR

IntlChar::CHAR_DIRECTION_BLOCK_SEPARATOR

IntlChar::CHAR_DIRECTION_SEGMENT_SEPARATOR

IntlChar::CHAR_DIRECTION_WHITE_SPACE_NEUTRAL

IntlChar::CHAR_DIRECTION_OTHER_NEUTRAL

IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_EMBEDDING

IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_OVERRIDE

IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_ARABIC

IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_EMBEDDING

IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_OVERRIDE

IntlChar::CHAR_DIRECTION_POP_DIRECTIONAL_FORMAT

IntlChar::CHAR_DIRECTION_DIR_NON_SPACING_MARK

IntlChar::CHAR_DIRECTION_BOUNDARY_NEUTRAL

IntlChar::CHAR_DIRECTION_FIRST_STRONG_ISOLATE

IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_ISOLATE

IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_ISOLATE

IntlChar::CHAR_DIRECTION_POP_DIRECTIONAL_ISOLATE

IntlChar::CHAR_DIRECTION_CHAR_DIRECTION_COUNT

IntlChar::BLOCK_CODE_NO_BLOCK

IntlChar::BLOCK_CODE_BASIC_LATIN

IntlChar::BLOCK_CODE_LATIN_1_SUPPLEMENT

IntlChar::BLOCK_CODE_LATIN_EXTENDED_A

IntlChar::BLOCK_CODE_LATIN_EXTENDED_B

IntlChar::BLOCK_CODE_IPA_EXTENSIONS

IntlChar::BLOCK_CODE_SPACING_MODIFIER_LETTERS

IntlChar::BLOCK_CODE_COMBINING_DIACRITICAL_MARKS

IntlChar::BLOCK_CODE_GREEK

IntlChar::BLOCK_CODE_CYRILLIC

IntlChar::BLOCK_CODE_ARMENIAN

IntlChar::BLOCK_CODE_HEBREW

IntlChar::BLOCK_CODE_ARABIC

IntlChar::BLOCK_CODE_SYRIAC

IntlChar::BLOCK_CODE_THAANA

IntlChar::BLOCK_CODE_DEVANAGARI

IntlChar::BLOCK_CODE_BENGALI

IntlChar::BLOCK_CODE_GURMUKHI

IntlChar::BLOCK_CODE_GUJARATI

IntlChar::BLOCK_CODE_ORIYA

IntlChar::BLOCK_CODE_TAMIL

IntlChar::BLOCK_CODE_TELUGU

IntlChar::BLOCK_CODE_KANNADA

IntlChar::BLOCK_CODE_MALAYALAM

IntlChar::BLOCK_CODE_SINHALA

IntlChar::BLOCK_CODE_THAI

IntlChar::BLOCK_CODE_LAO

IntlChar::BLOCK_CODE_TIBETAN

IntlChar::BLOCK_CODE_MYANMAR

IntlChar::BLOCK_CODE_GEORGIAN

IntlChar::BLOCK_CODE_HANGUL_JAMO

IntlChar::BLOCK_CODE_ETHIOPIC

IntlChar::BLOCK_CODE_CHEROKEE

IntlChar::BLOCK_CODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS

IntlChar::BLOCK_CODE_OGHAM

IntlChar::BLOCK_CODE_RUNIC

IntlChar::BLOCK_CODE_KHMER

IntlChar::BLOCK_CODE_MONGOLIAN

IntlChar::BLOCK_CODE_LATIN_EXTENDED_ADDITIONAL

IntlChar::BLOCK_CODE_GREEK_EXTENDED

IntlChar::BLOCK_CODE_GENERAL_PUNCTUATION

IntlChar::BLOCK_CODE_SUPERSCRIPTS_AND_SUBSCRIPTS

IntlChar::BLOCK_CODE_CURRENCY_SYMBOLS

IntlChar::BLOCK_CODE_COMBINING_MARKS_FOR_SYMBOLS

IntlChar::BLOCK_CODE_LETTERLIKE_SYMBOLS

IntlChar::BLOCK_CODE_NUMBER_FORMS

IntlChar::BLOCK_CODE_ARROWS

IntlChar::BLOCK_CODE_MATHEMATICAL_OPERATORS

IntlChar::BLOCK_CODE_MISCELLANEOUS_TECHNICAL

IntlChar::BLOCK_CODE_CONTROL_PICTURES

IntlChar::BLOCK_CODE_OPTICAL_CHARACTER_RECOGNITION

IntlChar::BLOCK_CODE_ENCLOSED_ALPHANUMERICS

IntlChar::BLOCK_CODE_BOX_DRAWING

IntlChar::BLOCK_CODE_BLOCK_ELEMENTS

IntlChar::BLOCK_CODE_GEOMETRIC_SHAPES

IntlChar::BLOCK_CODE_MISCELLANEOUS_SYMBOLS

IntlChar::BLOCK_CODE_DINGBATS

IntlChar::BLOCK_CODE_BRAILLE_PATTERNS

IntlChar::BLOCK_CODE_CJK_RADICALS_SUPPLEMENT

IntlChar::BLOCK_CODE_KANGXI_RADICALS

IntlChar::BLOCK_CODE_IDEOGRAPHIC_DESCRIPTION_CHARACTERS

IntlChar::BLOCK_CODE_CJK_SYMBOLS_AND_PUNCTUATION

IntlChar::BLOCK_CODE_HIRAGANA

IntlChar::BLOCK_CODE_KATAKANA

IntlChar::BLOCK_CODE_BOPOMOFO

IntlChar::BLOCK_CODE_HANGUL_COMPATIBILITY_JAMO

IntlChar::BLOCK_CODE_KANBUN

IntlChar::BLOCK_CODE_BOPOMOFO_EXTENDED

IntlChar::BLOCK_CODE_ENCLOSED_CJK_LETTERS_AND_MONTHS

IntlChar::BLOCK_CODE_CJK_COMPATIBILITY

IntlChar::BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A

IntlChar::BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS

IntlChar::BLOCK_CODE_YI_SYLLABLES

IntlChar::BLOCK_CODE_YI_RADICALS

IntlChar::BLOCK_CODE_HANGUL_SYLLABLES

IntlChar::BLOCK_CODE_HIGH_SURROGATES

IntlChar::BLOCK_CODE_HIGH_PRIVATE_USE_SURROGATES

IntlChar::BLOCK_CODE_LOW_SURROGATES

IntlChar::BLOCK_CODE_PRIVATE_USE_AREA

IntlChar::BLOCK_CODE_PRIVATE_USE

IntlChar::BLOCK_CODE_CJK_COMPATIBILITY_IDEOGRAPHS

IntlChar::BLOCK_CODE_ALPHABETIC_PRESENTATION_FORMS

IntlChar::BLOCK_CODE_ARABIC_PRESENTATION_FORMS_A

IntlChar::BLOCK_CODE_COMBINING_HALF_MARKS

IntlChar::BLOCK_CODE_CJK_COMPATIBILITY_FORMS

IntlChar::BLOCK_CODE_SMALL_FORM_VARIANTS

IntlChar::BLOCK_CODE_ARABIC_PRESENTATION_FORMS_B

IntlChar::BLOCK_CODE_SPECIALS

IntlChar::BLOCK_CODE_HALFWIDTH_AND_FULLWIDTH_FORMS

IntlChar::BLOCK_CODE_OLD_ITALIC

IntlChar::BLOCK_CODE_GOTHIC

IntlChar::BLOCK_CODE_DESERET

IntlChar::BLOCK_CODE_BYZANTINE_MUSICAL_SYMBOLS

IntlChar::BLOCK_CODE_MUSICAL_SYMBOLS

IntlChar::BLOCK_CODE_MATHEMATICAL_ALPHANUMERIC_SYMBOLS

IntlChar::BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B

IntlChar::BLOCK_CODE_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT

IntlChar::BLOCK_CODE_TAGS

IntlChar::BLOCK_CODE_CYRILLIC_SUPPLEMENT

IntlChar::BLOCK_CODE_CYRILLIC_SUPPLEMENTARY

IntlChar::BLOCK_CODE_TAGALOG

IntlChar::BLOCK_CODE_HANUNOO

IntlChar::BLOCK_CODE_BUHID

IntlChar::BLOCK_CODE_TAGBANWA

IntlChar::BLOCK_CODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A

IntlChar::BLOCK_CODE_SUPPLEMENTAL_ARROWS_A

IntlChar::BLOCK_CODE_SUPPLEMENTAL_ARROWS_B

IntlChar::BLOCK_CODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B

IntlChar::BLOCK_CODE_SUPPLEMENTAL_MATHEMATICAL_OPERATORS

IntlChar::BLOCK_CODE_KATAKANA_PHONETIC_EXTENSIONS

IntlChar::BLOCK_CODE_VARIATION_SELECTORS

IntlChar::BLOCK_CODE_SUPPLEMENTARY_PRIVATE_USE_AREA_A

IntlChar::BLOCK_CODE_SUPPLEMENTARY_PRIVATE_USE_AREA_B

IntlChar::BLOCK_CODE_LIMBU

IntlChar::BLOCK_CODE_TAI_LE

IntlChar::BLOCK_CODE_KHMER_SYMBOLS

IntlChar::BLOCK_CODE_PHONETIC_EXTENSIONS

IntlChar::BLOCK_CODE_MISCELLANEOUS_SYMBOLS_AND_ARROWS

IntlChar::BLOCK_CODE_YIJING_HEXAGRAM_SYMBOLS

IntlChar::BLOCK_CODE_LINEAR_B_SYLLABARY

IntlChar::BLOCK_CODE_LINEAR_B_IDEOGRAMS

IntlChar::BLOCK_CODE_AEGEAN_NUMBERS

IntlChar::BLOCK_CODE_UGARITIC

IntlChar::BLOCK_CODE_SHAVIAN

IntlChar::BLOCK_CODE_OSMANYA

IntlChar::BLOCK_CODE_CYPRIOT_SYLLABARY

IntlChar::BLOCK_CODE_TAI_XUAN_JING_SYMBOLS

IntlChar::BLOCK_CODE_VARIATION_SELECTORS_SUPPLEMENT

IntlChar::BLOCK_CODE_ANCIENT_GREEK_MUSICAL_NOTATION

IntlChar::BLOCK_CODE_ANCIENT_GREEK_NUMBERS

IntlChar::BLOCK_CODE_ARABIC_SUPPLEMENT

IntlChar::BLOCK_CODE_BUGINESE

IntlChar::BLOCK_CODE_CJK_STROKES

IntlChar::BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT

IntlChar::BLOCK_CODE_COPTIC

IntlChar::BLOCK_CODE_ETHIOPIC_EXTENDED

IntlChar::BLOCK_CODE_ETHIOPIC_SUPPLEMENT

IntlChar::BLOCK_CODE_GEORGIAN_SUPPLEMENT

IntlChar::BLOCK_CODE_GLAGOLITIC

IntlChar::BLOCK_CODE_KHAROSHTHI

IntlChar::BLOCK_CODE_MODIFIER_TONE_LETTERS

IntlChar::BLOCK_CODE_NEW_TAI_LUE

IntlChar::BLOCK_CODE_OLD_PERSIAN

IntlChar::BLOCK_CODE_PHONETIC_EXTENSIONS_SUPPLEMENT

IntlChar::BLOCK_CODE_SUPPLEMENTAL_PUNCTUATION

IntlChar::BLOCK_CODE_SYLOTI_NAGRI

IntlChar::BLOCK_CODE_TIFINAGH

IntlChar::BLOCK_CODE_VERTICAL_FORMS

IntlChar::BLOCK_CODE_NKO

IntlChar::BLOCK_CODE_BALINESE

IntlChar::BLOCK_CODE_LATIN_EXTENDED_C

IntlChar::BLOCK_CODE_LATIN_EXTENDED_D

IntlChar::BLOCK_CODE_PHAGS_PA

IntlChar::BLOCK_CODE_PHOENICIAN

IntlChar::BLOCK_CODE_CUNEIFORM

IntlChar::BLOCK_CODE_CUNEIFORM_NUMBERS_AND_PUNCTUATION

IntlChar::BLOCK_CODE_COUNTING_ROD_NUMERALS

IntlChar::BLOCK_CODE_SUNDANESE

IntlChar::BLOCK_CODE_LEPCHA

IntlChar::BLOCK_CODE_OL_CHIKI

IntlChar::BLOCK_CODE_CYRILLIC_EXTENDED_A

IntlChar::BLOCK_CODE_VAI

IntlChar::BLOCK_CODE_CYRILLIC_EXTENDED_B

IntlChar::BLOCK_CODE_SAURASHTRA

IntlChar::BLOCK_CODE_KAYAH_LI

IntlChar::BLOCK_CODE_REJANG

IntlChar::BLOCK_CODE_CHAM

IntlChar::BLOCK_CODE_ANCIENT_SYMBOLS

IntlChar::BLOCK_CODE_PHAISTOS_DISC

IntlChar::BLOCK_CODE_LYCIAN

IntlChar::BLOCK_CODE_CARIAN

IntlChar::BLOCK_CODE_LYDIAN

IntlChar::BLOCK_CODE_MAHJONG_TILES

IntlChar::BLOCK_CODE_DOMINO_TILES

IntlChar::BLOCK_CODE_SAMARITAN

IntlChar::BLOCK_CODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED

IntlChar::BLOCK_CODE_TAI_THAM

IntlChar::BLOCK_CODE_VEDIC_EXTENSIONS

IntlChar::BLOCK_CODE_LISU

IntlChar::BLOCK_CODE_BAMUM

IntlChar::BLOCK_CODE_COMMON_INDIC_NUMBER_FORMS

IntlChar::BLOCK_CODE_DEVANAGARI_EXTENDED

IntlChar::BLOCK_CODE_HANGUL_JAMO_EXTENDED_A

IntlChar::BLOCK_CODE_JAVANESE

IntlChar::BLOCK_CODE_MYANMAR_EXTENDED_A

IntlChar::BLOCK_CODE_TAI_VIET

IntlChar::BLOCK_CODE_MEETEI_MAYEK

IntlChar::BLOCK_CODE_HANGUL_JAMO_EXTENDED_B

IntlChar::BLOCK_CODE_IMPERIAL_ARAMAIC

IntlChar::BLOCK_CODE_OLD_SOUTH_ARABIAN

IntlChar::BLOCK_CODE_AVESTAN

IntlChar::BLOCK_CODE_INSCRIPTIONAL_PARTHIAN

IntlChar::BLOCK_CODE_INSCRIPTIONAL_PAHLAVI

IntlChar::BLOCK_CODE_OLD_TURKIC

IntlChar::BLOCK_CODE_RUMI_NUMERAL_SYMBOLS

IntlChar::BLOCK_CODE_KAITHI

IntlChar::BLOCK_CODE_EGYPTIAN_HIEROGLYPHS

IntlChar::BLOCK_CODE_ENCLOSED_ALPHANUMERIC_SUPPLEMENT

IntlChar::BLOCK_CODE_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT

IntlChar::BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C

IntlChar::BLOCK_CODE_MANDAIC

IntlChar::BLOCK_CODE_BATAK

IntlChar::BLOCK_CODE_ETHIOPIC_EXTENDED_A

IntlChar::BLOCK_CODE_BRAHMI

IntlChar::BLOCK_CODE_BAMUM_SUPPLEMENT

IntlChar::BLOCK_CODE_KANA_SUPPLEMENT

IntlChar::BLOCK_CODE_PLAYING_CARDS

IntlChar::BLOCK_CODE_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS

IntlChar::BLOCK_CODE_EMOTICONS

IntlChar::BLOCK_CODE_TRANSPORT_AND_MAP_SYMBOLS

IntlChar::BLOCK_CODE_ALCHEMICAL_SYMBOLS

IntlChar::BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D

IntlChar::BLOCK_CODE_ARABIC_EXTENDED_A

IntlChar::BLOCK_CODE_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS

IntlChar::BLOCK_CODE_CHAKMA

IntlChar::BLOCK_CODE_MEETEI_MAYEK_EXTENSIONS

IntlChar::BLOCK_CODE_MEROITIC_CURSIVE

IntlChar::BLOCK_CODE_MEROITIC_HIEROGLYPHS

IntlChar::BLOCK_CODE_MIAO

IntlChar::BLOCK_CODE_SHARADA

IntlChar::BLOCK_CODE_SORA_SOMPENG

IntlChar::BLOCK_CODE_SUNDANESE_SUPPLEMENT

IntlChar::BLOCK_CODE_TAKRI

IntlChar::BLOCK_CODE_COUNT

IntlChar::BLOCK_CODE_INVALID_CODE

IntlChar::BPT_NONE

IntlChar::BPT_OPEN

IntlChar::BPT_CLOSE

IntlChar::BPT_COUNT

IntlChar::EA_NEUTRAL

IntlChar::EA_AMBIGUOUS

IntlChar::EA_HALFWIDTH

IntlChar::EA_FULLWIDTH

IntlChar::EA_NARROW

IntlChar::EA_WIDE

IntlChar::EA_COUNT

IntlChar::UNICODE_CHAR_NAME

IntlChar::UNICODE_10_CHAR_NAME

IntlChar::EXTENDED_CHAR_NAME

IntlChar::CHAR_NAME_ALIAS

IntlChar::CHAR_NAME_CHOICE_COUNT

IntlChar::SHORT_PROPERTY_NAME

IntlChar::LONG_PROPERTY_NAME

IntlChar::PROPERTY_NAME_CHOICE_COUNT

IntlChar::DT_NONE

IntlChar::DT_CANONICAL

IntlChar::DT_COMPAT

IntlChar::DT_CIRCLE

IntlChar::DT_FINAL

IntlChar::DT_FONT

IntlChar::DT_FRACTION

IntlChar::DT_INITIAL

IntlChar::DT_ISOLATED

IntlChar::DT_MEDIAL

IntlChar::DT_NARROW

IntlChar::DT_NOBREAK

IntlChar::DT_SMALL

IntlChar::DT_SQUARE

IntlChar::DT_SUB

IntlChar::DT_SUPER

IntlChar::DT_VERTICAL

IntlChar::DT_WIDE

IntlChar::DT_COUNT

IntlChar::JT_NON_JOINING

IntlChar::JT_JOIN_CAUSING

IntlChar::JT_DUAL_JOINING

IntlChar::JT_LEFT_JOINING

IntlChar::JT_RIGHT_JOINING

IntlChar::JT_TRANSPARENT

IntlChar::JT_COUNT

IntlChar::JG_NO_JOINING_GROUP

IntlChar::JG_AIN

IntlChar::JG_ALAPH

IntlChar::JG_ALEF

IntlChar::JG_BEH

IntlChar::JG_BETH

IntlChar::JG_DAL

IntlChar::JG_DALATH_RISH

IntlChar::JG_E

IntlChar::JG_FEH

IntlChar::JG_FINAL_SEMKATH

IntlChar::JG_GAF

IntlChar::JG_GAMAL

IntlChar::JG_HAH

IntlChar::JG_TEH_MARBUTA_GOAL

IntlChar::JG_HAMZA_ON_HEH_GOAL

IntlChar::JG_HE

IntlChar::JG_HEH

IntlChar::JG_HEH_GOAL

IntlChar::JG_HETH

IntlChar::JG_KAF

IntlChar::JG_KAPH

IntlChar::JG_KNOTTED_HEH

IntlChar::JG_LAM

IntlChar::JG_LAMADH

IntlChar::JG_MEEM

IntlChar::JG_MIM

IntlChar::JG_NOON

IntlChar::JG_NUN

IntlChar::JG_PE

IntlChar::JG_QAF

IntlChar::JG_QAPH

IntlChar::JG_REH

IntlChar::JG_REVERSED_PE

IntlChar::JG_SAD

IntlChar::JG_SADHE

IntlChar::JG_SEEN

IntlChar::JG_SEMKATH

IntlChar::JG_SHIN

IntlChar::JG_SWASH_KAF

IntlChar::JG_SYRIAC_WAW

IntlChar::JG_TAH

IntlChar::JG_TAW

IntlChar::JG_TEH_MARBUTA

IntlChar::JG_TETH

IntlChar::JG_WAW

IntlChar::JG_YEH

IntlChar::JG_YEH_BARREE

IntlChar::JG_YEH_WITH_TAIL

IntlChar::JG_YUDH

IntlChar::JG_YUDH_HE

IntlChar::JG_ZAIN

IntlChar::JG_FE

IntlChar::JG_KHAPH

IntlChar::JG_ZHAIN

IntlChar::JG_BURUSHASKI_YEH_BARREE

IntlChar::JG_FARSI_YEH

IntlChar::JG_NYA

IntlChar::JG_ROHINGYA_YEH

IntlChar::JG_COUNT

IntlChar::GCB_OTHER

IntlChar::GCB_CONTROL

IntlChar::GCB_CR

IntlChar::GCB_EXTEND

IntlChar::GCB_L

IntlChar::GCB_LF

IntlChar::GCB_LV

IntlChar::GCB_LVT

IntlChar::GCB_T

IntlChar::GCB_V

IntlChar::GCB_SPACING_MARK

IntlChar::GCB_PREPEND

IntlChar::GCB_REGIONAL_INDICATOR

IntlChar::GCB_COUNT

IntlChar::WB_OTHER

IntlChar::WB_ALETTER

IntlChar::WB_FORMAT

IntlChar::WB_KATAKANA

IntlChar::WB_MIDLETTER

IntlChar::WB_MIDNUM

IntlChar::WB_NUMERIC

IntlChar::WB_EXTENDNUMLET

IntlChar::WB_CR

IntlChar::WB_EXTEND

IntlChar::WB_LF

IntlChar::WB_MIDNUMLET

IntlChar::WB_NEWLINE

IntlChar::WB_REGIONAL_INDICATOR

IntlChar::WB_HEBREW_LETTER

IntlChar::WB_SINGLE_QUOTE

IntlChar::WB_DOUBLE_QUOTE

IntlChar::WB_COUNT

IntlChar::SB_OTHER

IntlChar::SB_ATERM

IntlChar::SB_CLOSE

IntlChar::SB_FORMAT

IntlChar::SB_LOWER

IntlChar::SB_NUMERIC

IntlChar::SB_OLETTER

IntlChar::SB_SEP

IntlChar::SB_SP

IntlChar::SB_STERM

IntlChar::SB_UPPER

IntlChar::SB_CR

IntlChar::SB_EXTEND

IntlChar::SB_LF

IntlChar::SB_SCONTINUE

IntlChar::SB_COUNT

IntlChar::LB_UNKNOWN

IntlChar::LB_AMBIGUOUS

IntlChar::LB_ALPHABETIC

IntlChar::LB_BREAK_BOTH

IntlChar::LB_BREAK_AFTER

IntlChar::LB_BREAK_BEFORE

IntlChar::LB_MANDATORY_BREAK

IntlChar::LB_CONTINGENT_BREAK

IntlChar::LB_CLOSE_PUNCTUATION

IntlChar::LB_COMBINING_MARK

IntlChar::LB_CARRIAGE_RETURN

IntlChar::LB_EXCLAMATION

IntlChar::LB_GLUE

IntlChar::LB_HYPHEN

IntlChar::LB_IDEOGRAPHIC

IntlChar::LB_INSEPARABLE

IntlChar::LB_INSEPERABLE

IntlChar::LB_INFIX_NUMERIC

IntlChar::LB_LINE_FEED

IntlChar::LB_NONSTARTER

IntlChar::LB_NUMERIC

IntlChar::LB_OPEN_PUNCTUATION

IntlChar::LB_POSTFIX_NUMERIC

IntlChar::LB_PREFIX_NUMERIC

IntlChar::LB_QUOTATION

IntlChar::LB_COMPLEX_CONTEXT

IntlChar::LB_SURROGATE

IntlChar::LB_SPACE

IntlChar::LB_BREAK_SYMBOLS

IntlChar::LB_ZWSPACE

IntlChar::LB_NEXT_LINE

IntlChar::LB_WORD_JOINER

IntlChar::LB_H2

IntlChar::LB_H3

IntlChar::LB_JL

IntlChar::LB_JT

IntlChar::LB_JV

IntlChar::LB_CLOSE_PARENTHESIS

IntlChar::LB_CONDITIONAL_JAPANESE_STARTER

IntlChar::LB_HEBREW_LETTER

IntlChar::LB_REGIONAL_INDICATOR

IntlChar::LB_COUNT

IntlChar::NT_NONE

IntlChar::NT_DECIMAL

IntlChar::NT_DIGIT

IntlChar::NT_NUMERIC

IntlChar::NT_COUNT

IntlChar::HST_NOT_APPLICABLE

IntlChar::HST_LEADING_JAMO

IntlChar::HST_VOWEL_JAMO

IntlChar::HST_TRAILING_JAMO

IntlChar::HST_LV_SYLLABLE

IntlChar::HST_LVT_SYLLABLE

IntlChar::HST_COUNT

IntlChar::FOLD_CASE_DEFAULT

IntlChar::FOLD_CASE_EXCLUDE_SPECIAL_I

Changelog

Version | Beschreibung
7.0.6 | The IntlChar::NO_NUMERIC_VALUE constant was added.

Inhaltsverzeichnis

  • IntlChar::charAge — Get the "age" of the code point
  • IntlChar::charDigitValue — Get the decimal digit value of a decimal digit character
  • IntlChar::charDirection — Get bidirectional category value for a code point
  • IntlChar::charFromName — Find Unicode character by name and return its code point value
  • IntlChar::charMirror — Get the "mirror-image" character for a code point
  • IntlChar::charName — Retrieve the name of a Unicode character
  • IntlChar::charType — Get the general category value for a code point
  • IntlChar::chr — Return Unicode character by code point value
  • IntlChar::digit — Get the decimal digit value of a code point for a given radix
  • IntlChar::enumCharNames — Enumerate all assigned Unicode characters within a range
  • IntlChar::enumCharTypes — Enumerate all code points with their Unicode general categories
  • IntlChar::foldCase — Perform case folding on a code point
  • IntlChar::forDigit — Get character representation for a given digit and radix
  • IntlChar::getBidiPairedBracket — Get the paired bracket character for a code point
  • IntlChar::getBlockCode — Get the Unicode allocation block containing a code point
  • IntlChar::getCombiningClass — Get the combining class of a code point
  • IntlChar::getFC_NFKC_Closure — Get the FC_NFKC_Closure property for a code point
  • IntlChar::getIntPropertyMaxValue — Get the max value for a Unicode property
  • IntlChar::getIntPropertyMinValue — Get the min value for a Unicode property
  • IntlChar::getIntPropertyValue — Get the value for a Unicode property for a code point
  • IntlChar::getNumericValue — Get the numeric value for a Unicode code point
  • IntlChar::getPropertyEnum — Get the property constant value for a given property name
  • IntlChar::getPropertyName — Get the Unicode name for a property
  • IntlChar::getPropertyValueEnum — Get the property value for a given value name
  • IntlChar::getPropertyValueName — Get the Unicode name for a property value
  • IntlChar::getUnicodeVersion — Get the Unicode version
  • IntlChar::hasBinaryProperty — Check a binary Unicode property for a code point
  • IntlChar::isalnum — Check if code point is an alphanumeric character
  • IntlChar::isalpha — Check if code point is a letter character
  • IntlChar::isbase — Check if code point is a base character
  • IntlChar::isblank — Check if code point is a "blank" or "horizontal space" character
  • IntlChar::iscntrl — Check if code point is a control character
  • IntlChar::isdefined — Check whether the code point is defined
  • IntlChar::isdigit — Check if code point is a digit character
  • IntlChar::isgraph — Check if code point is a graphic character
  • IntlChar::isIDIgnorable — Check if code point is an ignorable character
  • IntlChar::isIDPart — Check if code point is permissible in an identifier
  • IntlChar::isIDStart — Check if code point is permissible as the first character in an identifier
  • IntlChar::isISOControl — Check if code point is an ISO control code
  • IntlChar::isJavaIDPart — Check if code point is permissible in a Java identifier
  • IntlChar::isJavaIDStart — Check if code point is permissible as the first character in a Java identifier
  • IntlChar::isJavaSpaceChar — Check if code point is a space character according to Java
  • IntlChar::islower — Check if code point is a lowercase letter
  • IntlChar::isMirrored — Check if code point has the Bidi_Mirrored property
  • IntlChar::isprint — Check if code point is a printable character
  • IntlChar::ispunct — Check if code point is punctuation character
  • IntlChar::isspace — Check if code point is a space character
  • IntlChar::istitle — Check if code point is a titlecase letter
  • IntlChar::isUAlphabetic — Check if code point has the Alphabetic Unicode property
  • IntlChar::isULowercase — Check if code point has the Lowercase Unicode property
  • IntlChar::isupper — Check if code point has the general category "Lu" (uppercase letter)
  • IntlChar::isUUppercase — Check if code point has the Uppercase Unicode property
  • IntlChar::isUWhiteSpace — Check if code point has the White_Space Unicode property
  • IntlChar::isWhitespace — Check if code point is a whitespace character according to ICU
  • IntlChar::isxdigit — Check if code point is a hexadecimal digit
  • IntlChar::ord — Return Unicode code point value of character
  • IntlChar::tolower — Make Unicode character lowercase
  • IntlChar::totitle — Make Unicode character titlecase
  • IntlChar::toupper — Make Unicode character uppercase
idn_to_utf8
IntlChar::charAge
intl


Get the "age" of the code point

IntlChar
IntlChar::charDigitValue
IntlChar
PHP Manual

IntlChar::charAge

(PHP 7)

IntlChar::charAge — Get the "age" of the code point

Beschreibung

public static array IntlChar::charAge ( mixed $codepoint )

Gets the "age" of the code point.

The "age" is the Unicode version when the code point was first designated (as a non-character or for Private Use) or assigned a character. This can be useful to avoid emitting code points to receiving processes that do not accept newer characters.

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

The Unicode version number, as an array. For example, version 1.3.31.2 would be represented as [1, 3, 31, 2].

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::charage("\u{2603}"));
var_dump(IntlChar::charage("\u{1F576}"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(4) {
  [0]=>
  int(1)
  [1]=>
  int(1)
  [2]=>
  int(0)
  [3]=>
  int(0)
}
array(4) {
  [0]=>
  int(7)
  [1]=>
  int(0)
  [2]=>
  int(0)
  [3]=>
  int(0)
}

Siehe auch

  • IntlChar::getUnicodeVersion() - Get the Unicode version
  • IntlChar::getIntPropertyMinValue() - Get the min value for a Unicode property
  • IntlChar::getIntPropertyValue() - Get the value for a Unicode property for a code point

IntlChar
IntlChar::charDigitValue
IntlChar


Get the decimal digit value of a decimal digit character

IntlChar::charAge
IntlChar::charDirection
IntlChar
PHP Manual

IntlChar::charDigitValue

(PHP 7)

IntlChar::charDigitValue — Get the decimal digit value of a decimal digit character

Beschreibung

public static int IntlChar::charDigitValue ( mixed $codepoint )

Returns the decimal digit value of a decimal digit character.

Such characters have the general category "Nd" (decimal digit numbers) and a Numeric_Type of Decimal.

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

The decimal digit value of codepoint, or -1 if it is not a decimal digit character.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::charDigitValue("1"));
var_dump(IntlChar::charDigitValue("\u{0662}"));
var_dump(IntlChar::charDigitValue("\u{0E53}"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(1)
int(2)
int(3)

Siehe auch

  • IntlChar::getNumericValue() - Get the numeric value for a Unicode code point

IntlChar::charAge
IntlChar::charDirection
IntlChar


Get bidirectional category value for a code point

IntlChar::charDigitValue
IntlChar::charFromName
IntlChar
PHP Manual

IntlChar::charDirection

(PHP 7)

IntlChar::charDirection — Get bidirectional category value for a code point

Beschreibung

public static int IntlChar::charDirection ( mixed $codepoint )

Returns the bidirectional category value for the code point, which is used in the » Unicode bidirectional algorithm (UAX #9).

Hinweis:

Some unassigned code points have bidi values of R or AL because they are in blocks that are reserved for Right-To-Left scripts.

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

The bidirectional category value; one of the following constants:

  • IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT
  • IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT
  • IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER
  • IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER_SEPARATOR
  • IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER_TERMINATOR
  • IntlChar::CHAR_DIRECTION_ARABIC_NUMBER
  • IntlChar::CHAR_DIRECTION_COMMON_NUMBER_SEPARATOR
  • IntlChar::CHAR_DIRECTION_BLOCK_SEPARATOR
  • IntlChar::CHAR_DIRECTION_SEGMENT_SEPARATOR
  • IntlChar::CHAR_DIRECTION_WHITE_SPACE_NEUTRAL
  • IntlChar::CHAR_DIRECTION_OTHER_NEUTRAL
  • IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_EMBEDDING
  • IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_OVERRIDE
  • IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_ARABIC
  • IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_EMBEDDING
  • IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_OVERRIDE
  • IntlChar::CHAR_DIRECTION_POP_DIRECTIONAL_FORMAT
  • IntlChar::CHAR_DIRECTION_DIR_NON_SPACING_MARK
  • IntlChar::CHAR_DIRECTION_BOUNDARY_NEUTRAL
  • IntlChar::CHAR_DIRECTION_FIRST_STRONG_ISOLATE
  • IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_ISOLATE
  • IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_ISOLATE
  • IntlChar::CHAR_DIRECTION_POP_DIRECTIONAL_ISOLATE
  • IntlChar::CHAR_DIRECTION_CHAR_DIRECTION_COUNT

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::charDirection("A") === IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT);
var_dump(IntlChar::charDirection("\u{05E9}") === IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT);
var_dump(IntlChar::charDirection("+") === IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER_SEPARATOR);
var_dump(IntlChar::charDirection(".") === IntlChar::CHAR_DIRECTION_COMMON_NUMBER_SEPARATOR);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(true)
bool(true)
bool(true)
IntlChar::charDigitValue
IntlChar::charFromName
IntlChar


Find Unicode character by name and return its code point value

IntlChar::charDirection
IntlChar::charMirror
IntlChar
PHP Manual

IntlChar::charFromName

(PHP 7)

IntlChar::charFromName — Find Unicode character by name and return its code point value

Beschreibung

public static int IntlChar::charFromName ( string $characterName [, int $nameChoice = IntlChar::UNICODE_CHAR_NAME ] )

Finds a Unicode character by its name and returns its code point value.

The name is matched exactly and completely. If the name does not correspond to a code point, FALSE is returned.

A Unicode 1.0 name is matched only if it differs from the modern name. Unicode names are all uppercase. Extended names are lowercase followed by an uppercase hexadecimal number, and within angle brackets.

Parameter-Liste

characterName

Full name of the Unicode character.

nameChoice

Which set of names to use for the lookup. Can be any of these constants:

  • IntlChar::UNICODE_CHAR_NAME (default)
  • IntlChar::UNICODE_10_CHAR_NAME
  • IntlChar::EXTENDED_CHAR_NAME
  • IntlChar::CHAR_NAME_ALIAS
  • IntlChar::CHAR_NAME_CHOICE_COUNT

Rückgabewerte

The Unicode value of the code point with the given name (as an integer), or FALSE if there is no such code point.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::charFromName("LATIN CAPITAL LETTER A"));
var_dump(IntlChar::charFromName("SNOWMAN"));
var_dump(IntlChar::charFromName("RECYCLING SYMBOL FOR TYPE-1 PLASTICS"));
var_dump(IntlChar::charFromName("A RANDOM STRING WHICH DOESN'T CORRESPOND TO ANY UNICODE CHARACTER"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(65)
int(9731)
int(9843)
bool(false)

Siehe auch

  • IntlChar::charName() - Retrieve the name of a Unicode character
  • IntlChar::enumCharNames() - Enumerate all assigned Unicode characters within a range

IntlChar::charDirection
IntlChar::charMirror
IntlChar


Get the "mirror-image" character for a code point

IntlChar::charFromName
IntlChar::charName
IntlChar
PHP Manual

IntlChar::charMirror

(PHP 7)

IntlChar::charMirror — Get the "mirror-image" character for a code point

Beschreibung

public static mixed IntlChar::charMirror ( mixed $codepoint )

Maps the specified character to a "mirror-image" character.

For characters with the Bidi_Mirrored property, implementations sometimes need a "poor man's" mapping to another Unicode character (code point) such that the default glyph may serve as the mirror-image of the default glyph of the specified character. This is useful for text conversion to and from codepages with visual order, and for displays without glyph selection capabilities.

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Returns another Unicode code point that may serve as a mirror-image substitute, or codepoint itself if there is no such mapping or codepoint does not have the Bidi_Mirrored property.

Der Rückgabetyp ist Integer, außer der Codepoint wurde als UTF-8 String übergeben, in welchem Fall ein String zurückgegeben wird.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::charMirror("A"));
var_dump(IntlChar::charMirror("<"));
var_dump(IntlChar::charMirror("("));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(1) "A"
string(1) ">"
string(2) ")"

Siehe auch

  • IntlChar::isMirrored() - Check if code point has the Bidi_Mirrored property
  • IntlChar::PROPERTY_BIDI_MIRRORED

IntlChar::charFromName
IntlChar::charName
IntlChar


Retrieve the name of a Unicode character

IntlChar::charMirror
IntlChar::charType
IntlChar
PHP Manual

IntlChar::charName

(PHP 7)

IntlChar::charName — Retrieve the name of a Unicode character

Beschreibung

public static string IntlChar::charName ( mixed $codepoint [, int $nameChoice = IntlChar::UNICODE_CHAR_NAME ] )

Retrieves the name of a Unicode character.

Depending on nameChoice, the resulting character name is the "modern" name or the name that was defined in Unicode version 1.0. The name contains only "invariant" characters like A-Z, 0-9, space, and '-'. Unicode 1.0 names are only retrieved if they are different from the modern names and if ICU contains the data for them.

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

nameChoice

Which set of names to use for the lookup. Can be any of these constants:

  • IntlChar::UNICODE_CHAR_NAME (default)
  • IntlChar::UNICODE_10_CHAR_NAME
  • IntlChar::EXTENDED_CHAR_NAME
  • IntlChar::CHAR_NAME_ALIAS
  • IntlChar::CHAR_NAME_CHOICE_COUNT

Rückgabewerte

The corresponding name, or an empty string if there is no name for this character.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::charName("."));
var_dump(IntlChar::charName(".", IntlChar::UNICODE_CHAR_NAME));
var_dump(IntlChar::charName("\u{2603}"));
var_dump(IntlChar::charName("\u{0000}"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(9) "FULL STOP"
string(9) "FULL STOP"
string(7) "SNOWMAN"
string(0) ""

Siehe auch

  • IntlChar::charFromName() - Find Unicode character by name and return its code point value
  • IntlChar::enumCharNames() - Enumerate all assigned Unicode characters within a range

IntlChar::charMirror
IntlChar::charType
IntlChar


Get the general category value for a code point

IntlChar::charName
IntlChar::chr
IntlChar
PHP Manual

IntlChar::charType

(PHP 7)

IntlChar::charType — Get the general category value for a code point

Beschreibung

public static int IntlChar::charType ( mixed $codepoint )

Returns the general category value for the code point.

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Returns the general category type, which may be one of the following constants:

  • IntlChar::CHAR_CATEGORY_UNASSIGNED
  • IntlChar::CHAR_CATEGORY_GENERAL_OTHER_TYPES
  • IntlChar::CHAR_CATEGORY_UPPERCASE_LETTER
  • IntlChar::CHAR_CATEGORY_LOWERCASE_LETTER
  • IntlChar::CHAR_CATEGORY_TITLECASE_LETTER
  • IntlChar::CHAR_CATEGORY_MODIFIER_LETTER
  • IntlChar::CHAR_CATEGORY_OTHER_LETTER
  • IntlChar::CHAR_CATEGORY_NON_SPACING_MARK
  • IntlChar::CHAR_CATEGORY_ENCLOSING_MARK
  • IntlChar::CHAR_CATEGORY_COMBINING_SPACING_MARK
  • IntlChar::CHAR_CATEGORY_DECIMAL_DIGIT_NUMBER
  • IntlChar::CHAR_CATEGORY_LETTER_NUMBER
  • IntlChar::CHAR_CATEGORY_OTHER_NUMBER
  • IntlChar::CHAR_CATEGORY_SPACE_SEPARATOR
  • IntlChar::CHAR_CATEGORY_LINE_SEPARATOR
  • IntlChar::CHAR_CATEGORY_PARAGRAPH_SEPARATOR
  • IntlChar::CHAR_CATEGORY_CONTROL_CHAR
  • IntlChar::CHAR_CATEGORY_FORMAT_CHAR
  • IntlChar::CHAR_CATEGORY_PRIVATE_USE_CHAR
  • IntlChar::CHAR_CATEGORY_SURROGATE
  • IntlChar::CHAR_CATEGORY_DASH_PUNCTUATION
  • IntlChar::CHAR_CATEGORY_START_PUNCTUATION
  • IntlChar::CHAR_CATEGORY_END_PUNCTUATION
  • IntlChar::CHAR_CATEGORY_CONNECTOR_PUNCTUATION
  • IntlChar::CHAR_CATEGORY_OTHER_PUNCTUATION
  • IntlChar::CHAR_CATEGORY_MATH_SYMBOL
  • IntlChar::CHAR_CATEGORY_CURRENCY_SYMBOL
  • IntlChar::CHAR_CATEGORY_MODIFIER_SYMBOL
  • IntlChar::CHAR_CATEGORY_OTHER_SYMBOL
  • IntlChar::CHAR_CATEGORY_INITIAL_PUNCTUATION
  • IntlChar::CHAR_CATEGORY_FINAL_PUNCTUATION
  • IntlChar::CHAR_CATEGORY_CHAR_CATEGORY_COUNT

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::charType("A") === IntlChar::CHAR_CATEGORY_UPPERCASE_LETTER);
var_dump(IntlChar::charType(".") === IntlChar::CHAR_CATEGORY_OTHER_PUNCTUATION);
var_dump(IntlChar::charType("\t") === IntlChar::CHAR_CATEGORY_CONTROL_CHAR);
var_dump(IntlChar::charType("\u{2603}") === IntlChar::CHAR_CATEGORY_OTHER_SYMBOL);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(true)
bool(true)
bool(true)
IntlChar::charName
IntlChar::chr
IntlChar


Return Unicode character by code point value

IntlChar::charType
IntlChar::digit
IntlChar
PHP Manual

IntlChar::chr

(PHP 7)

IntlChar::chr — Return Unicode character by code point value

Beschreibung

public static string IntlChar::chr ( mixed $codepoint )

Returns a string containing the character specified by the Unicode code point value.

This function compliments IntlChar::ord().

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

A string containing the single character specified by the Unicode code point value.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
$values = ["A", 63, 123, 9731];
foreach ($values as $value) {
    var_dump(IntlChar::chr($value));
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(1) "A"
string(1) "A"
string(1) "{"
string(3) "?"

Siehe auch

  • IntlChar::ord() - Return Unicode code point value of character
  • chr() - Gibt ein einzelnes Zeichen zurück

IntlChar::charType
IntlChar::digit
IntlChar


Get the decimal digit value of a code point for a given radix

IntlChar::chr
IntlChar::enumCharNames
IntlChar
PHP Manual

IntlChar::digit

(PHP 7)

IntlChar::digit — Get the decimal digit value of a code point for a given radix

Beschreibung

public static int IntlChar::digit ( string $codepoint [, int $radix = 10 ] )

Returns the decimal digit value of the code point in the specified radix.

If the radix is not in the range 2<=radix<=36 or if the value of codepoint is not a valid digit in the specified radix, FALSE is returned. A character is a valid digit if at least one of the following is true:

  • The character has a decimal digit value. Such characters have the general category "Nd" (decimal digit numbers) and a Numeric_Type of Decimal. In this case the value is the character's decimal digit value.
  • The character is one of the uppercase Latin letters 'A' through 'Z'. In this case the value is c-'A'+10.
  • The character is one of the lowercase Latin letters 'a' through 'z'. In this case the value is ch-'a'+10.
  • Latin letters from both the ASCII range (0061..007A, 0041..005A) as well as from the Fullwidth ASCII range (FF41..FF5A, FF21..FF3A) are recognized.

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

radix

The radix (defaults to 10).

Rückgabewerte

Returns the numeric value represented by the character in the specified radix, or FALSE if there is no value or if the value exceeds the radix.

Warnung

Diese Funktion kann sowohl das boolsche FALSE zurückliefern, als auch einen nicht-boolschen Wert, welcher zu FALSE ausgewertet wird. Weitere Informationen entnehmen Sie bitte dem Abschnitt über die boolschen Typen. Benutzen Sie deshalb den === Operator, um den Rückgabewert dieser Funktion zu überprüfen.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::digit("0"));
var_dump(IntlChar::digit("3"));
var_dump(IntlChar::digit("A"));
var_dump(IntlChar::digit("A", 16));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(0)
int(3)
bool(false)
int(10)

Siehe auch

  • IntlChar::forDigit() - Get character representation for a given digit and radix
  • IntlChar::charDigitValue() - Get the decimal digit value of a decimal digit character
  • IntlChar::isdigit() - Check if code point is a digit character
  • IntlChar::PROPERTY_NUMERIC_TYPE

IntlChar::chr
IntlChar::enumCharNames
IntlChar


Enumerate all assigned Unicode characters within a range

IntlChar::digit
IntlChar::enumCharTypes
IntlChar
PHP Manual

IntlChar::enumCharNames

(PHP 7)

IntlChar::enumCharNames — Enumerate all assigned Unicode characters within a range

Beschreibung

public static void IntlChar::enumCharNames ( mixed $start , mixed $limit , callable $callback [, int $nameChoice = IntlChar::UNICODE_CHAR_NAME ] )

Enumerate all assigned Unicode characters between the start and limit code points (start inclusive, limit exclusive) and call a function for each, passing the code point value and the character name.

For Unicode 1.0 names, only those are enumerated that differ from the modern names.

Parameter-Liste

start

The first code point in the enumeration range.

limit

One more than the last code point in the enumeration range (the first one after the range).

callback

The function that is to be called for each character name. The following three arguments will be passed into it:

  • integer $codepoint - The numeric code point value
  • integer $nameChoice - The same value as the nameChoice parameter below
  • string $name - The name of the character

nameChoice

Selector for which kind of names to enumerate. Can be any of these constants:

  • IntlChar::UNICODE_CHAR_NAME (default)
  • IntlChar::UNICODE_10_CHAR_NAME
  • IntlChar::EXTENDED_CHAR_NAME
  • IntlChar::CHAR_NAME_ALIAS
  • IntlChar::CHAR_NAME_CHOICE_COUNT

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Enumerating over a sample range of code points

<?php
IntlChar::enumCharNames(0x2600, 0x2610, function($codepoint, $nameChoice, $name) {
    printf("U+%04x %s\n", $codepoint, $name);
});
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

U+2600 BLACK SUN WITH RAYS
U+2601 CLOUD
U+2602 UMBRELLA
U+2603 SNOWMAN
U+2604 COMET
U+2605 BLACK STAR
U+2606 WHITE STAR
U+2607 LIGHTNING
U+2608 THUNDERSTORM
U+2609 SUN
U+260a ASCENDING NODE
U+260b DESCENDING NODE
U+260c CONJUNCTION
U+260d OPPOSITION
U+260e BLACK TELEPHONE
U+260f WHITE TELEPHONE

Siehe auch

  • IntlChar::charName() - Retrieve the name of a Unicode character
  • IntlChar::charFromName() - Find Unicode character by name and return its code point value

IntlChar::digit
IntlChar::enumCharTypes
IntlChar


Enumerate all code points with their Unicode general categories

IntlChar::enumCharNames
IntlChar::foldCase
IntlChar
PHP Manual

IntlChar::enumCharTypes

(PHP 7)

IntlChar::enumCharTypes — Enumerate all code points with their Unicode general categories

Beschreibung

public static void IntlChar::enumCharTypes ( callable $callback )

Enumerates efficiently all code points with their Unicode general categories. This is useful for building data structures, for enumerating all assigned code points, etc.

For each contiguous range of code points with a given general category ("character type"), the callback function is called. Adjacent ranges have different types. The Unicode Standard guarantees that the numeric value of the type is 0..31.

Parameter-Liste

callback

The function that is to be called for each contiguous range of code points with the same general category. The following three arguments will be passed into it:

  • integer $start - The starting code point of the range
  • integer $end - The ending code point of the range
  • integer $name - The category type (one of the IntlChar::CHAR_CATEGORY_* constants)

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Enumerating over a sample range of code points

<?php
IntlChar::enumCharTypes(function($start, $end, $type) {
    printf("U+%04x through U+%04x are in category %d\n", $start, $end, $type);
});
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

U+0000 through U+0020 are in category 15
U+0020 through U+0021 are in category 12
U+0021 through U+0024 are in category 23
U+0024 through U+0025 are in category 25
U+0025 through U+0028 are in category 23
U+0028 through U+0029 are in category 20
U+0029 through U+002a are in category 21
U+002a through U+002b are in category 23
U+002b through U+002c are in category 24
U+002c through U+002d are in category 23
U+002d through U+002e are in category 19
U+002e through U+0030 are in category 23
U+0030 through U+003a are in category 9
...
IntlChar::enumCharNames
IntlChar::foldCase
IntlChar


Perform case folding on a code point

IntlChar::enumCharTypes
IntlChar::forDigit
IntlChar
PHP Manual

IntlChar::foldCase

(PHP 7)

IntlChar::foldCase — Perform case folding on a code point

Beschreibung

public static mixed IntlChar::foldCase ( mixed $codepoint [, int $options = IntlChar::FOLD_CASE_DEFAULT ] )

The given character is mapped to its case folding equivalent; if the character has no case folding equivalent, the character itself is returned.

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

options

Either IntlChar::FOLD_CASE_DEFAULT (default) or IntlChar::FOLD_CASE_EXCLUDE_SPECIAL_I.

Rückgabewerte

Returns the Simple_Case_Folding of the code point, if any; otherwise the code point itself.

IntlChar::enumCharTypes
IntlChar::forDigit
IntlChar


Get character representation for a given digit and radix

IntlChar::foldCase
IntlChar::getBidiPairedBracket
IntlChar
PHP Manual

IntlChar::forDigit

(PHP 7)

IntlChar::forDigit — Get character representation for a given digit and radix

Beschreibung

public static int IntlChar::forDigit ( int $digit [, int $radix = 10 ] )

Determines the character representation for a specific digit in the specified radix.

If the value of radix is not a valid radix, or the value of digit is not a valid digit in the specified radix, the null character (U+0000) is returned.

The radix argument is valid if it is greater than or equal to 2 and less than or equal to 36. The digit argument is valid if 0 <= digit < radix.

If the digit is less than 10, then '0' + digit is returned. Otherwise, the value 'a' + digit - 10 is returned.

Parameter-Liste

digit

The number to convert to a character.

radix

The radix (defaults to 10).

Rückgabewerte

The character representation (as a string) of the specified digit in the specified radix.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::forDigit(0));
var_dump(IntlChar::forDigit(3));
var_dump(IntlChar::forDigit(3, 10));
var_dump(IntlChar::forDigit(10));
var_dump(IntlChar::forDigit(10, 16));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(48)
int(51)
int(51)
int(0)
int(97)

Siehe auch

  • IntlChar::digit() - Get the decimal digit value of a code point for a given radix
  • IntlChar::charDigitValue() - Get the decimal digit value of a decimal digit character
  • IntlChar::isdigit() - Check if code point is a digit character
  • IntlChar::PROPERTY_NUMERIC_TYPE

IntlChar::foldCase
IntlChar::getBidiPairedBracket
IntlChar


Get the paired bracket character for a code point

IntlChar::forDigit
IntlChar::getBlockCode
IntlChar
PHP Manual

IntlChar::getBidiPairedBracket

(PHP 7)

IntlChar::getBidiPairedBracket — Get the paired bracket character for a code point

Beschreibung

public static mixed IntlChar::getBidiPairedBracket ( mixed $codepoint )

Maps the specified character to its paired bracket character.

For Bidi_Paired_Bracket_Type!=None, this is the same as IntlChar::charMirror(). Otherwise codepoint itself is returned.

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Returns the paired bracket code point, or codepoint itself if there is no such mapping.

Der Rückgabetyp ist Integer, außer der Codepoint wurde als UTF-8 String übergeben, in welchem Fall ein String zurückgegeben wird.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::getBidiPairedBracket(91));
var_dump(IntlChar::getBidiPairedBracket('['));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(93)
string(1) "]"

Siehe auch

  • IntlChar::charMirror() - Get the "mirror-image" character for a code point
  • IntlChar::PROPERTY_BIDI_PAIRED_BRACKET
  • IntlChar::PROPERTY_BIDI_PAIRED_BRACKET_TYPE

IntlChar::forDigit
IntlChar::getBlockCode
IntlChar


Get the Unicode allocation block containing a code point

IntlChar::getBidiPairedBracket
IntlChar::getCombiningClass
IntlChar
PHP Manual

IntlChar::getBlockCode

(PHP 7)

IntlChar::getBlockCode — Get the Unicode allocation block containing a code point

Beschreibung

public static int IntlChar::getBlockCode ( mixed $codepoint )

Returns the Unicode allocation block that contains the character.

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Returns the block value for codepoint. See the IntlChar::BLOCK_CODE_* constants for possible return values.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::getBlockCode("A") === IntlChar::BLOCK_CODE_BASIC_LATIN);
var_dump(IntlChar::getBlockCode("F") === IntlChar::BLOCK_CODE_GREEK);
var_dump(IntlChar::getBlockCode("\u{2603}") === IntlChar::BLOCK_CODE_MISCELLANEOUS_SYMBOLS);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(true)
bool(true)
IntlChar::getBidiPairedBracket
IntlChar::getCombiningClass
IntlChar


Get the combining class of a code point

IntlChar::getBlockCode
IntlChar::getFC_NFKC_Closure
IntlChar
PHP Manual

IntlChar::getCombiningClass

(PHP 7)

IntlChar::getCombiningClass — Get the combining class of a code point

Beschreibung

public static int IntlChar::getCombiningClass ( mixed $codepoint )

Returns the combining class of the code point.

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Returns the combining class of the character.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::getCombiningClass("A"));
var_dump(IntlChar::getCombiningClass("\u{0334}"));
var_dump(IntlChar::getCombiningClass("\u{0358}"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(0)
int(1)
int(232)
IntlChar::getBlockCode
IntlChar::getFC_NFKC_Closure
IntlChar


Get the FC_NFKC_Closure property for a code point

IntlChar::getCombiningClass
IntlChar::getIntPropertyMaxValue
IntlChar
PHP Manual

IntlChar::getFC_NFKC_Closure

(PHP 7)

IntlChar::getFC_NFKC_Closure — Get the FC_NFKC_Closure property for a code point

Beschreibung

public static string IntlChar::getFC_NFKC_Closure ( mixed $codepoint )

Gets the FC_NFKC_Closure property string for a character.

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Returns the FC_NFKC_Closure property string for the codepoint, or an empty string if there is none.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::getFC_NFKC_Closure("\u{2121}"));
var_dump(IntlChar::getFC_NFKC_Closure("\u{1D2D}"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(3) "tel"
string(2) "æ"
IntlChar::getCombiningClass
IntlChar::getIntPropertyMaxValue
IntlChar


Get the max value for a Unicode property

IntlChar::getFC_NFKC_Closure
IntlChar::getIntPropertyMinValue
IntlChar
PHP Manual

IntlChar::getIntPropertyMaxValue

(PHP 7)

IntlChar::getIntPropertyMaxValue — Get the max value for a Unicode property

Beschreibung

public static int IntlChar::getIntPropertyMaxValue ( int $property )

Gets the maximum value for an enumerated/integer/binary Unicode property.

Parameter-Liste

property

Die Unicode-Eigenschaft, die gesucht werden soll (siehe die IntlChar::PROPERTY_* Konstanten).

Rückgabewerte

The maximum value returned by IntlChar::getIntPropertyValue() for a Unicode property. <=0 if the property selector is out of range.

Beispiele

Beispiel #1 Testen unterschiedlicher Eigenschaften

<?php
var_dump(IntlChar::getIntPropertyMaxValue(IntlChar::PROPERTY_BIDI_CLASS));
var_dump(IntlChar::getIntPropertyMaxValue(IntlChar::PROPERTY_SCRIPT));
var_dump(IntlChar::getIntPropertyMaxValue(IntlChar::PROPERTY_IDEOGRAPHIC));
var_dump(IntlChar::getIntPropertyMaxValue(999999999)); // Some made-up value
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(22)
int(166)
int(1)
int(-1)

Siehe auch

  • IntlChar::hasBinaryProperty() - Check a binary Unicode property for a code point
  • IntlChar::getIntPropertyMinValue() - Get the min value for a Unicode property
  • IntlChar::getIntPropertyValue() - Get the value for a Unicode property for a code point
  • IntlChar::getUnicodeVersion() - Get the Unicode version

IntlChar::getFC_NFKC_Closure
IntlChar::getIntPropertyMinValue
IntlChar


Get the min value for a Unicode property

IntlChar::getIntPropertyMaxValue
IntlChar::getIntPropertyValue
IntlChar
PHP Manual

IntlChar::getIntPropertyMinValue

(PHP 7)

IntlChar::getIntPropertyMinValue — Get the min value for a Unicode property

Beschreibung

public static int IntlChar::getIntPropertyMinValue ( int $property )

Gets the minimum value for an enumerated/integer/binary Unicode property.

Parameter-Liste

property

Die Unicode-Eigenschaft, die gesucht werden soll (siehe die IntlChar::PROPERTY_* Konstanten).

Rückgabewerte

The minimum value returned by IntlChar::getIntPropertyValue() for a Unicode property. 0 if the property selector is out of range.

Beispiele

Beispiel #1 Testen unterschiedlicher Eigenschaften

<?php
var_dump(IntlChar::getIntPropertyMinValue(IntlChar::PROPERTY_BIDI_CLASS));
var_dump(IntlChar::getIntPropertyMinValue(IntlChar::PROPERTY_SCRIPT));
var_dump(IntlChar::getIntPropertyMinValue(IntlChar::PROPERTY_IDEOGRAPHIC));
var_dump(IntlChar::getIntPropertyMinValue(999999999)); // Some made-up value
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(0)
int(0)
int(0)
int(0)

Siehe auch

  • IntlChar::hasBinaryProperty() - Check a binary Unicode property for a code point
  • IntlChar::getIntPropertyMaxValue() - Get the max value for a Unicode property
  • IntlChar::getIntPropertyValue() - Get the value for a Unicode property for a code point
  • IntlChar::getUnicodeVersion() - Get the Unicode version

IntlChar::getIntPropertyMaxValue
IntlChar::getIntPropertyValue
IntlChar


Get the value for a Unicode property for a code point

IntlChar::getIntPropertyMinValue
IntlChar::getNumericValue
IntlChar
PHP Manual

IntlChar::getIntPropertyValue

(PHP 7)

IntlChar::getIntPropertyValue — Get the value for a Unicode property for a code point

Beschreibung

public static int IntlChar::getIntPropertyValue ( mixed $codepoint , int $property )

Gets the property value for an enumerated or integer Unicode property for a code point. Also returns binary and mask property values.

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

property

Die Unicode-Eigenschaft, die gesucht werden soll (siehe die IntlChar::PROPERTY_* Konstanten).

Rückgabewerte

Returns the numeric value that is directly the property value or, for enumerated properties, corresponds to the numeric value of the enumerated constant of the respective property value enumeration type.

Returns 0 or 1 (for FALSE/TRUE) for binary Unicode properties.

Returns a bit-mask for mask properties.

Returns 0 if property is out of bounds or if the Unicode version does not have data for the property at all, or not for this code point.

Beispiele

Beispiel #1 Testen unterschiedlicher Eigenschaften

<?php
var_dump(IntlChar::getIntPropertyValue("A", IntlChar::PROPERTY_ALPHABETIC) === 1);
var_dump(IntlChar::getIntPropertyValue("[", IntlChar::PROPERTY_BIDI_MIRRORED) === 1);
var_dump(IntlChar::getIntPropertyValue("F", IntlChar::PROPERTY_BLOCK) === IntlChar::BLOCK_CODE_GREEK);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(true)
bool(true)

Siehe auch

  • IntlChar::hasBinaryProperty() - Check a binary Unicode property for a code point
  • IntlChar::getIntPropertyMinValue() - Get the min value for a Unicode property
  • IntlChar::getIntPropertyMaxValue() - Get the max value for a Unicode property
  • IntlChar::getUnicodeVersion() - Get the Unicode version

IntlChar::getIntPropertyMinValue
IntlChar::getNumericValue
IntlChar


Get the numeric value for a Unicode code point

IntlChar::getIntPropertyValue
IntlChar::getPropertyEnum
IntlChar
PHP Manual

IntlChar::getNumericValue

(PHP 7)

IntlChar::getNumericValue — Get the numeric value for a Unicode code point

Beschreibung

public static float IntlChar::getNumericValue ( mixed $codepoint )

Gets the numeric value for a Unicode code point as defined in the Unicode Character Database.

For characters without any numeric values in the Unicode Character Database, this function will return IntlChar::NO_NUMERIC_VALUE.

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Numeric value of codepoint, or IntlChar::NO_NUMERIC_VALUE if none is defined. This constant was added in PHP 7.0.6, prior to this version the literal value (float)-123456789 may be used instead.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::getNumericValue("4"));
var_dump(IntlChar::getNumericValue("x"));
var_dump(IntlChar::getNumericValue("\u{216C}"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

float(4)
float(-123456789)
float(50)
IntlChar::getIntPropertyValue
IntlChar::getPropertyEnum
IntlChar


Get the property constant value for a given property name

IntlChar::getNumericValue
IntlChar::getPropertyName
IntlChar
PHP Manual

IntlChar::getPropertyEnum

(PHP 7)

IntlChar::getPropertyEnum — Get the property constant value for a given property name

Beschreibung

public static int IntlChar::getPropertyEnum ( string $alias )

Returns the property constant value for a given property name, as specified in the Unicode database file PropertyAliases.txt. Short, long, and any other variants are recognized.

In addition, this function maps the synthetic names "gcm" / "General_Category_Mask" to the property IntlChar::PROPERTY_GENERAL_CATEGORY_MASK. These names are not in PropertyAliases.txt.

This function compliments IntlChar::getPropertyName().

Parameter-Liste

alias

The property name to be matched. The name is compared using "loose matching" as described in PropertyAliases.txt.

Rückgabewerte

Returns an IntlChar::PROPERTY_ constant value, or IntlChar::PROPERTY_INVALID_CODE if the given name does not match any property.

Beispiele

Beispiel #1 Testen unterschiedlicher Eigenschaften

<?php
var_dump(IntlChar::getPropertyEnum('Bidi_Class') === IntlChar::PROPERTY_BIDI_CLASS);
var_dump(IntlChar::getPropertyEnum('script') === IntlChar::PROPERTY_SCRIPT);
var_dump(IntlChar::getPropertyEnum('IDEOGRAPHIC') === IntlChar::PROPERTY_IDEOGRAPHIC);
var_dump(IntlChar::getPropertyEnum('Some made-up string') === IntlChar::PROPERTY_INVALID_CODE);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(true)
bool(true)
bool(true)

Siehe auch

  • IntlChar::getPropertyName() - Get the Unicode name for a property

IntlChar::getNumericValue
IntlChar::getPropertyName
IntlChar


Get the Unicode name for a property

IntlChar::getPropertyEnum
IntlChar::getPropertyValueEnum
IntlChar
PHP Manual

IntlChar::getPropertyName

(PHP 7)

IntlChar::getPropertyName — Get the Unicode name for a property

Beschreibung

public static string IntlChar::getPropertyName ( int $property [, int $nameChoice = IntlChar::LONG_PROPERTY_NAME ] )

Returns the Unicode name for a given property, as given in the Unicode database file PropertyAliases.txt.

In addition, this function maps the property IntlChar::PROPERTY_GENERAL_CATEGORY_MASK to the synthetic names "gcm" / "General_Category_Mask". These names are not in PropertyAliases.txt.

This function compliments IntlChar::getPropertyEnum().

Parameter-Liste

property

Die Unicode-Eigenschaft, die gesucht werden soll (siehe die IntlChar::PROPERTY_* Konstanten).

IntlChar::PROPERTY_INVALID_CODE should not be used. Also, if property is out of range, FALSE is returned.

nameChoice

Selector for which name to get. If out of range, FALSE is returned.

All properties have a long name. Most have a short name, but some do not. Unicode allows for additional names; if present these will be returned by adding 1, 2, etc. to IntlChar::LONG_PROPERTY_NAME.

Rückgabewerte

Returns the name, or FALSE if either the property or the nameChoice is out of range.

If a given nameChoice returns FALSE, then all larger values of nameChoice will return FALSE, with one exception: if FALSE is returned for IntlChar::SHORT_PROPERTY_NAME, then IntlChar::LONG_PROPERTY_NAME (and higher) may still return a non-FALSE value.

Beispiele

Beispiel #1 Testen unterschiedlicher Eigenschaften

<?php
var_dump(IntlChar::getPropertyName(IntlChar::PROPERTY_BIDI_CLASS));
var_dump(IntlChar::getPropertyName(IntlChar::PROPERTY_BIDI_CLASS, IntlChar::SHORT_PROPERTY_NAME));
var_dump(IntlChar::getPropertyName(IntlChar::PROPERTY_BIDI_CLASS, IntlChar::LONG_PROPERTY_NAME));
var_dump(IntlChar::getPropertyName(IntlChar::PROPERTY_BIDI_CLASS, IntlChar::LONG_PROPERTY_NAME + 1));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(10) "Bidi_Class"
string(2) "bc"
string(10) "Bidi_Class"
bool(false)

Siehe auch

  • IntlChar::getPropertyEnum() - Get the property constant value for a given property name

IntlChar::getPropertyEnum
IntlChar::getPropertyValueEnum
IntlChar


Get the property value for a given value name

IntlChar::getPropertyName
IntlChar::getPropertyValueName
IntlChar
PHP Manual

IntlChar::getPropertyValueEnum

(PHP 7)

IntlChar::getPropertyValueEnum — Get the property value for a given value name

Beschreibung

public static int IntlChar::getPropertyValueEnum ( int $property , string $name )

Returns the property value integer for a given value name, as specified in the Unicode database file PropertyValueAliases.txt. Short, long, and any other variants are recognized.

Hinweis:

Some of the names in PropertyValueAliases.txt will only be recognized with IntlChar::PROPERTY_GENERAL_CATEGORY_MASK, not IntlChar::PROPERTY_GENERAL_CATEGORY. These include:

  • "C" / "Other"
  • "L" / "Letter"
  • "LC" / "Cased_Letter"
  • "M" / "Mark"
  • "N" / "Number"
  • "P" / "Punctuation"
  • "S" / "Symbol"
  • "Z" / "Separator"

Parameter-Liste

property

Die Unicode-Eigenschaft, die gesucht werden soll (siehe die IntlChar::PROPERTY_* Konstanten).

If out of range, or this method doesn't work with the given value, IntlChar::PROPERTY_INVALID_CODE is returned.

name

The value name to be matched. The name is compared using "loose matching" as described in PropertyValueAliases.txt.

Rückgabewerte

Returns the corresponding value integer, or IntlChar::PROPERTY_INVALID_CODE if the given name does not match any value of the given property, or if the property is invalid.

Beispiele

Beispiel #1 Testen unterschiedlicher Eigenschaften

<?php
var_dump(IntlChar::getPropertyValueEnum(IntlChar::PROPERTY_BLOCK, 'greek') === IntlChar::BLOCK_CODE_GREEK);
var_dump(IntlChar::getPropertyValueEnum(IntlChar::PROPERTY_BIDI_CLASS, 'RIGHT_TO_LEFT') === IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT);
var_dump(IntlChar::getPropertyValueEnum(IntlChar::PROPERTY_BIDI_CLASS, 'some made-up string') === IntlChar::PROPERTY_INVALID_CODE);
var_dump(IntlChar::getPropertyValueEnum(123456789, 'RIGHT_TO_LEFT') === IntlChar::PROPERTY_INVALID_CODE);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(true)
bool(true)
bool(true)
IntlChar::getPropertyName
IntlChar::getPropertyValueName
IntlChar


Get the Unicode name for a property value

IntlChar::getPropertyValueEnum
IntlChar::getUnicodeVersion
IntlChar
PHP Manual

IntlChar::getPropertyValueName

(PHP 7)

IntlChar::getPropertyValueName — Get the Unicode name for a property value

Beschreibung

public static string IntlChar::getPropertyValueName ( int $property , int $value [, int $nameChoice = IntlChar::LONG_PROPERTY_NAME ] )

Returns the Unicode name for a given property value, as given in the Unicode database file PropertyValueAliases.txt.

Hinweis:

Some of the names in PropertyValueAliases.txt can only be retrieved using IntlChar::PROPERTY_GENERAL_CATEGORY_MASK, not IntlChar::PROPERTY_GENERAL_CATEGORY. These include:

  • "C" / "Other"
  • "L" / "Letter"
  • "LC" / "Cased_Letter"
  • "M" / "Mark"
  • "N" / "Number"
  • "P" / "Punctuation"
  • "S" / "Symbol"
  • "Z" / "Separator"

Parameter-Liste

property

Die Unicode-Eigenschaft, die gesucht werden soll (siehe die IntlChar::PROPERTY_* Konstanten).

If out of range, or this method doesn't work with the given value, FALSE is returned.

value

Selector for a value for the given property. If out of range, FALSE is returned.

In general, valid values range from 0 up to some maximum. There are a couple exceptions:

  • IntlChar::PROPERTY_BLOCK values begin at the non-zero value IntlChar::BLOCK_CODE_BASIC_LATIN
  • IntlChar::PROPERTY_CANONICAL_COMBINING_CLASS values are not contiguous and range from 0..240.

nameChoice

Selector for which name to get. If out of range, FALSE is returned.

All values have a long name. Most have a short name, but some do not. Unicode allows for additional names; if present these will be returned by adding 1, 2, etc. to IntlChar::LONG_PROPERTY_NAME.

Rückgabewerte

Returns the name, or FALSE if either the property or the nameChoice is out of range.

If a given nameChoice returns FALSE, then all larger values of nameChoice will return FALSE, with one exception: if FALSE is returned for IntlChar::SHORT_PROPERTY_NAME, then IntlChar::LONG_PROPERTY_NAME (and higher) may still return a non-FALSE value.

Beispiele

Beispiel #1 Testen unterschiedlicher Eigenschaften

<?php
var_dump(IntlChar::getPropertyValueName(IntlChar::PROPERTY_BLOCK, IntlChar::BLOCK_CODE_GREEK));
var_dump(IntlChar::getPropertyValueName(IntlChar::PROPERTY_BLOCK, IntlChar::BLOCK_CODE_GREEK, IntlChar::SHORT_PROPERTY_NAME));
var_dump(IntlChar::getPropertyValueName(IntlChar::PROPERTY_BLOCK, IntlChar::BLOCK_CODE_GREEK, IntlChar::LONG_PROPERTY_NAME));
var_dump(IntlChar::getPropertyValueName(IntlChar::PROPERTY_BLOCK, IntlChar::BLOCK_CODE_GREEK, IntlChar::LONG_PROPERTY_NAME + 1));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(16) "Greek_And_Coptic"
string(5) "Greek"
string(16) "Greek_And_Coptic"
bool(false)
IntlChar::getPropertyValueEnum
IntlChar::getUnicodeVersion
IntlChar


Get the Unicode version

IntlChar::getPropertyValueName
IntlChar::hasBinaryProperty
IntlChar
PHP Manual

IntlChar::getUnicodeVersion

(PHP 7)

IntlChar::getUnicodeVersion — Get the Unicode version

Beschreibung

public static array IntlChar::getUnicodeVersion ( void )

Gets the Unicode version information.

The version array is filled in with the version information for the Unicode standard that is currently used by ICU. For example, Unicode version 3.1.1 is represented as an array with the values [3, 1, 1, 0].

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An array containing the Unicode version number.

Beispiele

Beispiel #1 Testen unterschiedlicher Eigenschaften

<?php
var_dump(IntlChar::getUnicodeVersion());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(4) {
  [0]=>
  int(7)
  [1]=>
  int(0)
  [2]=>
  int(0)
  [3]=>
  int(0)
}

Siehe auch

  • IntlChar::charAge() - Get the "age" of the code point

IntlChar::getPropertyValueName
IntlChar::hasBinaryProperty
IntlChar


Check a binary Unicode property for a code point

IntlChar::getUnicodeVersion
IntlChar::isalnum
IntlChar
PHP Manual

IntlChar::hasBinaryProperty

(PHP 7)

IntlChar::hasBinaryProperty — Check a binary Unicode property for a code point

Beschreibung

public static bool IntlChar::hasBinaryProperty ( mixed $codepoint , int $property )

Checks a binary Unicode property for a code point.

Unicode, especially in version 3.2, defines many more properties than the original set in UnicodeData.txt.

The properties APIs are intended to reflect Unicode properties as defined in the Unicode Character Database (UCD) and Unicode Technical Reports (UTR). For details about the properties see » http://www.unicode.org/ucd/. For names of Unicode properties see the UCD file PropertyAliases.txt.

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

property

Die Unicode-Eigenschaft, die gesucht werden soll (siehe die IntlChar::PROPERTY_* Konstanten).

Rückgabewerte

Returns TRUE or FALSE according to the binary Unicode property value for codepoint. Also FALSE if property is out of bounds or if the Unicode version does not have data for the property at all, or not for this code point.

Beispiele

Beispiel #1 Testen unterschiedlicher Eigenschaften

<?php
var_dump(IntlChar::hasBinaryProperty("A", IntlChar::PROPERTY_ALPHABETIC));
var_dump(IntlChar::hasBinaryProperty("A", IntlChar::PROPERTY_CASE_SENSITIVE));
var_dump(IntlChar::hasBinaryProperty("A", IntlChar::PROPERTY_BIDI_MIRRORED));
var_dump(IntlChar::hasBinaryProperty("[", IntlChar::PROPERTY_ALPHABETIC));
var_dump(IntlChar::hasBinaryProperty("[", IntlChar::PROPERTY_CASE_SENSITIVE));
var_dump(IntlChar::hasBinaryProperty("[", IntlChar::PROPERTY_BIDI_MIRRORED));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(true)
bool(false)
bool(false)
bool(false)
bool(true)

Siehe auch

  • IntlChar::getIntPropertyValue() - Get the value for a Unicode property for a code point
  • IntlChar::getUnicodeVersion() - Get the Unicode version

IntlChar::getUnicodeVersion
IntlChar::isalnum
IntlChar


Check if code point is an alphanumeric character

IntlChar::hasBinaryProperty
IntlChar::isalpha
IntlChar
PHP Manual

IntlChar::isalnum

(PHP 7)

IntlChar::isalnum — Check if code point is an alphanumeric character

Beschreibung

public static bool IntlChar::isalnum ( mixed $codepoint )

Determines whether the specified code point is an alphanumeric character (letter or digit). TRUE for characters with general categories "L" (letters) and "Nd" (decimal digit numbers).

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Returns TRUE if codepoint is an alphanumeric character, FALSE if not.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::isalnum("A"));
var_dump(IntlChar::isalnum("1"));
var_dump(IntlChar::isalnum("\u{2603}"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(true)
bool(false)

Siehe auch

  • IntlChar::isalpha() - Check if code point is a letter character
  • IntlChar::isdigit() - Check if code point is a digit character

IntlChar::hasBinaryProperty
IntlChar::isalpha
IntlChar


Check if code point is a letter character

IntlChar::isalnum
IntlChar::isbase
IntlChar
PHP Manual

IntlChar::isalpha

(PHP 7)

IntlChar::isalpha — Check if code point is a letter character

Beschreibung

public static bool IntlChar::isalpha ( mixed $codepoint )

Determines whether the specified code point is a letter character. TRUE for general categories "L" (letters).

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Returns TRUE if codepoint is a letter character, FALSE if not.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::isalpha("A"));
var_dump(IntlChar::isalpha("1"));
var_dump(IntlChar::isalpha("\u{2603}"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(false)
bool(false)

Siehe auch

  • IntlChar::isalnum() - Check if code point is an alphanumeric character
  • IntlChar::isdigit() - Check if code point is a digit character

IntlChar::isalnum
IntlChar::isbase
IntlChar


Check if code point is a base character

IntlChar::isalpha
IntlChar::isblank
IntlChar
PHP Manual

IntlChar::isbase

(PHP 7)

IntlChar::isbase — Check if code point is a base character

Beschreibung

public static bool IntlChar::isbase ( mixed $codepoint )

Determines whether the specified code point is a base character. TRUE for general categories "L" (letters), "N" (numbers), "Mc" (spacing combining marks), and "Me" (enclosing marks).

Hinweis:

This is different from the Unicode definition in chapter 3.5, conformance clause D13, which defines base characters to be all characters (not Cn) that do not graphically combine with preceding characters (M) and that are neither control (Cc) or format (Cf) characters.

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Returns TRUE if codepoint is a base character, FALSE if not.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::isbase("A"));
var_dump(IntlChar::isbase("1"));
var_dump(IntlChar::isbase("\u{2603}"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(true)
bool(false)

Siehe auch

  • IntlChar::isalpha() - Check if code point is a letter character
  • IntlChar::isdigit() - Check if code point is a digit character

IntlChar::isalpha
IntlChar::isblank
IntlChar


Check if code point is a "blank" or "horizontal space" character

IntlChar::isbase
IntlChar::iscntrl
IntlChar
PHP Manual

IntlChar::isblank

(PHP 7)

IntlChar::isblank — Check if code point is a "blank" or "horizontal space" character

Beschreibung

public static bool IntlChar::isblank ( mixed $codepoint )

Determines whether the specified code point is a "blank" or "horizontal space", a character that visibly separates words on a line.

The following are equivalent definitions:

  • TRUE for Unicode White_Space characters except for "vertical space controls" where "vertical space controls" are the following characters: U+000A (LF) U+000B (VT) U+000C (FF) U+000D (CR) U+0085 (NEL) U+2028 (LS) U+2029 (PS)
  • TRUE for U+0009 (TAB) and characters with general category "Zs" (space separators) except Zero Width Space (ZWSP, U+200B).

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Returns TRUE if codepoint is either a "blank" or "horizontal space" character, FALSE if not.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::isblank("A"));
var_dump(IntlChar::isblank(" "));
var_dump(IntlChar::isblank("\t"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(true)
bool(true)

Siehe auch

  • IntlChar::isspace() - Check if code point is a space character
  • IntlChar::isJavaSpaceChar() - Check if code point is a space character according to Java
  • IntlChar::isUWhiteSpace() - Check if code point has the White_Space Unicode property
  • IntlChar::isWhitespace() - Check if code point is a whitespace character according to ICU

IntlChar::isbase
IntlChar::iscntrl
IntlChar


Check if code point is a control character

IntlChar::isblank
IntlChar::isdefined
IntlChar
PHP Manual

IntlChar::iscntrl

(PHP 7)

IntlChar::iscntrl — Check if code point is a control character

Beschreibung

public static bool IntlChar::iscntrl ( mixed $codepoint )

Determines whether the specified code point is a control character.

A control character is one of the following:

  • ISO 8-bit control character (U+0000..U+001f and U+007f..U+009f)
  • IntlChar::CHAR_CATEGORY_CONTROL_CHAR (Cc)
  • IntlChar::CHAR_CATEGORY_FORMAT_CHAR (Cf)
  • IntlChar::CHAR_CATEGORY_LINE_SEPARATOR (Zl)
  • IntlChar::CHAR_CATEGORY_PARAGRAPH_SEPARATOR (Zp)

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Returns TRUE if codepoint is a control character, FALSE if not.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::iscntrl("A"));
var_dump(IntlChar::iscntrl(" "));
var_dump(IntlChar::iscntrl("\n"));
var_dump(IntlChar::iscntrl("\u{200e}"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(false)
bool(true)
bool(true)

Siehe auch

  • IntlChar::isprint() - Check if code point is a printable character
  • IntlChar::PROPERTY_DEFAULT_IGNORABLE_CODE_POINT

IntlChar::isblank
IntlChar::isdefined
IntlChar


Check whether the code point is defined

IntlChar::iscntrl
IntlChar::isdigit
IntlChar
PHP Manual

IntlChar::isdefined

(PHP 7)

IntlChar::isdefined — Check whether the code point is defined

Beschreibung

public static bool IntlChar::isdefined ( mixed $codepoint )

Determines whether the specified code point is "defined", which usually means that it is assigned a character.

TRUE for general categories other than "Cn" (other, not assigned).

Hinweis:

Note that non-character code points (e.g., U+FDD0) are not "defined" (they are Cn), but surrogate code points are "defined" (Cs).

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Returns TRUE if codepoint is a defined character, FALSE if not.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::isdefined("A"));
var_dump(IntlChar::isdefined(" "));
var_dump(IntlChar::isdefined("\u{FDD0}"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(true)
bool(false)

Siehe auch

  • IntlChar::isdigit() - Check if code point is a digit character
  • IntlChar::isalpha() - Check if code point is a letter character
  • IntlChar::isalnum() - Check if code point is an alphanumeric character
  • IntlChar::isupper() - Check if code point has the general category "Lu" (uppercase letter)
  • IntlChar::islower() - Check if code point is a lowercase letter
  • IntlChar::istitle() - Check if code point is a titlecase letter

IntlChar::iscntrl
IntlChar::isdigit
IntlChar


Check if code point is a digit character

IntlChar::isdefined
IntlChar::isgraph
IntlChar
PHP Manual

IntlChar::isdigit

(PHP 7)

IntlChar::isdigit — Check if code point is a digit character

Beschreibung

public static bool IntlChar::isdigit ( mixed $codepoint )

Determines whether the specified code point is a digit character.

TRUE for characters with general category "Nd" (decimal digit numbers). Beginning with Unicode 4, this is the same as testing for the Numeric_Type of Decimal.

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Returns TRUE if codepoint is a digit character, FALSE if not.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::isdigit("A"));
var_dump(IntlChar::isdigit("1"));
var_dump(IntlChar::isdigit("\t"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(true)
bool(false)

Siehe auch

  • IntlChar::isalpha() - Check if code point is a letter character
  • IntlChar::isalnum() - Check if code point is an alphanumeric character
  • IntlChar::isxdigit() - Check if code point is a hexadecimal digit

IntlChar::isdefined
IntlChar::isgraph
IntlChar


Check if code point is a graphic character

IntlChar::isdigit
IntlChar::isIDIgnorable
IntlChar
PHP Manual

IntlChar::isgraph

(PHP 7)

IntlChar::isgraph — Check if code point is a graphic character

Beschreibung

public static bool IntlChar::isgraph ( mixed $codepoint )

Determines whether the specified code point is a "graphic" character (printable, excluding spaces).

TRUE for all characters except those with general categories "Cc" (control codes), "Cf" (format controls), "Cs" (surrogates), "Cn" (unassigned), and "Z" (separators).

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Returns TRUE if codepoint is a "graphic" character, FALSE if not.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::isgraph("A"));
var_dump(IntlChar::isgraph("1"));
var_dump(IntlChar::isgraph("\u{2603}"));
var_dump(IntlChar::isgraph("\n"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(true)
bool(true)
bool(false)
IntlChar::isdigit
IntlChar::isIDIgnorable
IntlChar


Check if code point is an ignorable character

IntlChar::isgraph
IntlChar::isIDPart
IntlChar
PHP Manual

IntlChar::isIDIgnorable

(PHP 7)

IntlChar::isIDIgnorable — Check if code point is an ignorable character

Beschreibung

public static bool IntlChar::isIDIgnorable ( mixed $codepoint )

Determines if the specified character should be regarded as an ignorable character in an identifier.

TRUE for characters with general category "Cf" (format controls) as well as non-whitespace ISO controls (U+0000..U+0008, U+000E..U+001B, U+007F..U+009F).

Hinweis:

Note that Unicode just recommends to ignore Cf (format controls).

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Returns TRUE if codepoint is ignorable in identifiers, FALSE if not.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::isIDIgnorable("A"));
var_dump(IntlChar::isIDIgnorable(" "));
var_dump(IntlChar::isIDIgnorable("\u{007F}"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(false)
bool(true)

Siehe auch

  • IntlChar::isIDStart() - Check if code point is permissible as the first character in an identifier
  • IntlChar::isIDPart() - Check if code point is permissible in an identifier
  • IntlChar::PROPERTY_DEFAULT_IGNORABLE_CODE_POINT

IntlChar::isgraph
IntlChar::isIDPart
IntlChar


Check if code point is permissible in an identifier

IntlChar::isIDIgnorable
IntlChar::isIDStart
IntlChar
PHP Manual

IntlChar::isIDPart

(PHP 7)

IntlChar::isIDPart — Check if code point is permissible in an identifier

Beschreibung

public static bool IntlChar::isIDPart ( mixed $codepoint )

Determines if the specified character is permissible in an identifier.

TRUE for characters with general categories "L" (letters), "Nl" (letter numbers), "Nd" (decimal digits), "Mc" and "Mn" (combining marks), "Pc" (connecting punctuation), and u_isIDIgnorable(c).

Hinweis:

This is almost the same as Unicode's ID_Continue (IntlChar::PROPERTY_ID_CONTINUE) except that Unicode recommends to ignore Cf which is less than IntlChar::isIDIgnorable().

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Returns TRUE if codepoint is the code point may occur in an identifier, FALSE if not.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::isIDPart("A"));
var_dump(IntlChar::isIDPart("$"));
var_dump(IntlChar::isIDPart("\n"));
var_dump(IntlChar::isIDPart("\u{2603}"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(false)
bool(false)
bool(false)

Siehe auch

  • IntlChar::isIDIgnorable() - Check if code point is an ignorable character
  • IntlChar::isIDStart() - Check if code point is permissible as the first character in an identifier
  • IntlChar::PROPERTY_ID_CONTINUE

IntlChar::isIDIgnorable
IntlChar::isIDStart
IntlChar


Check if code point is permissible as the first character in an identifier

IntlChar::isIDPart
IntlChar::isISOControl
IntlChar
PHP Manual

IntlChar::isIDStart

(PHP 7)

IntlChar::isIDStart — Check if code point is permissible as the first character in an identifier

Beschreibung

public static bool IntlChar::isIDStart ( mixed $codepoint )

Determines if the specified character is permissible as the first character in an identifier according to Unicode (The Unicode Standard, Version 3.0, chapter 5.16 Identifiers).

TRUE for characters with general categories "L" (letters) and "Nl" (letter numbers).

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Returns TRUE if codepoint may start an identifier, FALSE if not.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::isIDStart("A"));
var_dump(IntlChar::isIDStart("$"));
var_dump(IntlChar::isIDStart("\n"));
var_dump(IntlChar::isIDStart("\u{2603}"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(false)
bool(false)
bool(false)

Siehe auch

  • IntlChar::isalpha() - Check if code point is a letter character
  • IntlChar::isIDPart() - Check if code point is permissible in an identifier
  • IntlChar::PROPERTY_ID_START

IntlChar::isIDPart
IntlChar::isISOControl
IntlChar


Check if code point is an ISO control code

IntlChar::isIDStart
IntlChar::isJavaIDPart
IntlChar
PHP Manual

IntlChar::isISOControl

(PHP 7)

IntlChar::isISOControl — Check if code point is an ISO control code

Beschreibung

public static bool IntlChar::isISOControl ( mixed $codepoint )

Determines whether the specified code point is an ISO control code.

TRUE for U+0000..U+001f and U+007f..U+009f (general category "Cc").

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Returns TRUE if codepoint is an ISO control code, FALSE if not.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::isISOControl(" "));
var_dump(IntlChar::isISOControl("\n"));
var_dump(IntlChar::isISOControl("\u{200e}"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(true)
bool(false)

Siehe auch

  • IntlChar::iscntrl() - Check if code point is a control character

IntlChar::isIDStart
IntlChar::isJavaIDPart
IntlChar


Check if code point is permissible in a Java identifier

IntlChar::isISOControl
IntlChar::isJavaIDStart
IntlChar
PHP Manual

IntlChar::isJavaIDPart

(PHP 7)

IntlChar::isJavaIDPart — Check if code point is permissible in a Java identifier

Beschreibung

public static bool IntlChar::isJavaIDPart ( mixed $codepoint )

Determines if the specified character is permissible in a Java identifier.

In addition to IntlChar::isIDPart(), TRUE for characters with general category "Sc" (currency symbols).

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Returns TRUE if codepoint may occur in a Java identifier, FALSE if not.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::isJavaIDPart("A"));
var_dump(IntlChar::isJavaIDPart("$"));
var_dump(IntlChar::isJavaIDPart("\n"));
var_dump(IntlChar::isJavaIDPart("\u{2603}"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(true)
bool(false)
bool(false)

Siehe auch

  • IntlChar::isIDIgnorable() - Check if code point is an ignorable character
  • IntlChar::isIDPart() - Check if code point is permissible in an identifier
  • IntlChar::isJavaIDStart() - Check if code point is permissible as the first character in a Java identifier
  • IntlChar::isalpha() - Check if code point is a letter character
  • IntlChar::isdigit() - Check if code point is a digit character

IntlChar::isISOControl
IntlChar::isJavaIDStart
IntlChar


Check if code point is permissible as the first character in a Java identifier

IntlChar::isJavaIDPart
IntlChar::isJavaSpaceChar
IntlChar
PHP Manual

IntlChar::isJavaIDStart

(PHP 7)

IntlChar::isJavaIDStart — Check if code point is permissible as the first character in a Java identifier

Beschreibung

public static bool IntlChar::isJavaIDStart ( mixed $codepoint )

Determines if the specified character is permissible as the start of a Java identifier.

In addition to IntlChar::isIDStart(), TRUE for characters with general categories "Sc" (currency symbols) and "Pc" (connecting punctuation).

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Returns TRUE if codepoint may start a Java identifier, FALSE if not.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::isJavaIDStart("A"));
var_dump(IntlChar::isJavaIDStart("$"));
var_dump(IntlChar::isJavaIDStart("\n"));
var_dump(IntlChar::isJavaIDStart("\u{2603}"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(true)
bool(false)
bool(false)

Siehe auch

  • IntlChar::isIDStart() - Check if code point is permissible as the first character in an identifier
  • IntlChar::isJavaIDPart() - Check if code point is permissible in a Java identifier
  • IntlChar::isalpha() - Check if code point is a letter character

IntlChar::isJavaIDPart
IntlChar::isJavaSpaceChar
IntlChar


Check if code point is a space character according to Java

IntlChar::isJavaIDStart
IntlChar::islower
IntlChar
PHP Manual

IntlChar::isJavaSpaceChar

(PHP 7)

IntlChar::isJavaSpaceChar — Check if code point is a space character according to Java

Beschreibung

public static bool IntlChar::isJavaSpaceChar ( mixed $codepoint )

Determine if the specified code point is a space character according to Java.

TRUE for characters with general categories "Z" (separators), which does not include control codes (e.g., TAB or Line Feed).

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Returns TRUE if codepoint is a space character according to Java, FALSE if not.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::isJavaSpaceChar("A"));
var_dump(IntlChar::isJavaSpaceChar(" "));
var_dump(IntlChar::isJavaSpaceChar("\n"));
var_dump(IntlChar::isJavaSpaceChar("\t"));
var_dump(IntlChar::isJavaSpaceChar("\u{00A0}"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(true)
bool(false)
bool(false)
bool(true)

Siehe auch

  • IntlChar::isspace() - Check if code point is a space character
  • IntlChar::isWhitespace() - Check if code point is a whitespace character according to ICU
  • IntlChar::isUWhiteSpace() - Check if code point has the White_Space Unicode property

IntlChar::isJavaIDStart
IntlChar::islower
IntlChar


Check if code point is a lowercase letter

IntlChar::isJavaSpaceChar
IntlChar::isMirrored
IntlChar
PHP Manual

IntlChar::islower

(PHP 7)

IntlChar::islower — Check if code point is a lowercase letter

Beschreibung

public static bool IntlChar::islower ( mixed $codepoint )

Determines whether the specified code point has the general category "Ll" (lowercase letter).

Hinweis:

This misses some characters that are also lowercase but have a different general category value. In order to include those, use IntlChar::isULowercase().

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Returns TRUE if codepoint is an Ll lowercase letter, FALSE if not.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::islower("A"));
var_dump(IntlChar::islower("a"));
var_dump(IntlChar::islower("F"));
var_dump(IntlChar::islower("f"));
var_dump(IntlChar::islower("1"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(true)
bool(false)
bool(true)
bool(false)

Siehe auch

  • IntlChar::isupper() - Check if code point has the general category "Lu" (uppercase letter)
  • IntlChar::istitle() - Check if code point is a titlecase letter
  • IntlChar::tolower() - Make Unicode character lowercase
  • IntlChar::toupper() - Make Unicode character uppercase
  • IntlChar::PROPERTY_LOWERCASE

IntlChar::isJavaSpaceChar
IntlChar::isMirrored
IntlChar


Check if code point has the Bidi_Mirrored property

IntlChar::islower
IntlChar::isprint
IntlChar
PHP Manual

IntlChar::isMirrored

(PHP 7)

IntlChar::isMirrored — Check if code point has the Bidi_Mirrored property

Beschreibung

public static bool IntlChar::isMirrored ( mixed $codepoint )

Determines whether the code point has the Bidi_Mirrored property.

This property is set for characters that are commonly used in Right-To-Left contexts and need to be displayed with a "mirrored" glyph.

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Returns TRUE if codepoint has the Bidi_Mirrored property, FALSE if not.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::isMirrored("A"));
var_dump(IntlChar::isMirrored("<"));
var_dump(IntlChar::isMirrored("("));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(true)
bool(true)

Siehe auch

  • IntlChar::charMirror() - Get the "mirror-image" character for a code point
  • IntlChar::PROPERTY_BIDI_MIRRORED

IntlChar::islower
IntlChar::isprint
IntlChar


Check if code point is a printable character

IntlChar::isMirrored
IntlChar::ispunct
IntlChar
PHP Manual

IntlChar::isprint

(PHP 7)

IntlChar::isprint — Check if code point is a printable character

Beschreibung

public static bool IntlChar::isprint ( mixed $codepoint )

Determines whether the specified code point is a printable character.

TRUE for general categories other than "C" (controls).

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Returns TRUE if codepoint is a printable character, FALSE if not.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::isprint("A"));
var_dump(IntlChar::isprint(" "));
var_dump(IntlChar::isprint("\n"));
var_dump(IntlChar::isprint("\u{200e}"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(true)
bool(false)
bool(false)

Siehe auch

  • IntlChar::iscntrl() - Check if code point is a control character
  • IntlChar::PROPERTY_DEFAULT_IGNORABLE_CODE_POINT

IntlChar::isMirrored
IntlChar::ispunct
IntlChar


Check if code point is punctuation character

IntlChar::isprint
IntlChar::isspace
IntlChar
PHP Manual

IntlChar::ispunct

(PHP 7)

IntlChar::ispunct — Check if code point is punctuation character

Beschreibung

public static bool IntlChar::ispunct ( mixed $codepoint )

Determines whether the specified code point is a punctuation character.

TRUE for characters with general categories "P" (punctuation).

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Returns TRUE if codepoint is a punctuation character, FALSE if not.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::ispunct("."));
var_dump(IntlChar::ispunct(","));
var_dump(IntlChar::ispunct("\n"));
var_dump(IntlChar::ispunct("$"));

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(true)
bool(false)
bool(false)
IntlChar::isprint
IntlChar::isspace
IntlChar


Check if code point is a space character

IntlChar::ispunct
IntlChar::istitle
IntlChar
PHP Manual

IntlChar::isspace

(PHP 7)

IntlChar::isspace — Check if code point is a space character

Beschreibung

public static bool IntlChar::isspace ( mixed $codepoint )

Determines if the specified character is a space character or not.

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Returns TRUE if codepoint is a space character, FALSE if not.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::isspace("A"));
var_dump(IntlChar::isspace(" "));
var_dump(IntlChar::isspace("\n"));
var_dump(IntlChar::isspace("\t"));
var_dump(IntlChar::isspace("\u{00A0}"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(true)
bool(true)
bool(true)
bool(true)

Siehe auch

  • IntlChar::isJavaSpaceChar() - Check if code point is a space character according to Java
  • IntlChar::isWhitespace() - Check if code point is a whitespace character according to ICU
  • IntlChar::isUWhiteSpace() - Check if code point has the White_Space Unicode property

IntlChar::ispunct
IntlChar::istitle
IntlChar


Check if code point is a titlecase letter

IntlChar::isspace
IntlChar::isUAlphabetic
IntlChar
PHP Manual

IntlChar::istitle

(PHP 7)

IntlChar::istitle — Check if code point is a titlecase letter

Beschreibung

public static bool IntlChar::istitle ( mixed $codepoint )

Determines whether the specified code point is a titlecase letter.

TRUE for general category "Lt" (titlecase letter).

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Returns TRUE if codepoint is a titlecase letter, FALSE if not.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::istitle("A"));
var_dump(IntlChar::istitle("a"));
var_dump(IntlChar::istitle("F"));
var_dump(IntlChar::istitle("f"));
var_dump(IntlChar::istitle("1"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(true)
bool(false)
bool(true)
bool(false)

Siehe auch

  • IntlChar::isupper() - Check if code point has the general category "Lu" (uppercase letter)
  • IntlChar::islower() - Check if code point is a lowercase letter
  • IntlChar::totitle() - Make Unicode character titlecase

IntlChar::isspace
IntlChar::isUAlphabetic
IntlChar


Check if code point has the Alphabetic Unicode property

IntlChar::istitle
IntlChar::isULowercase
IntlChar
PHP Manual

IntlChar::isUAlphabetic

(PHP 7)

IntlChar::isUAlphabetic — Check if code point has the Alphabetic Unicode property

Beschreibung

public static bool IntlChar::isUAlphabetic ( mixed $codepoint )

Check if a code point has the Alphabetic Unicode property.

This is the same as IntlChar::hasBinaryProperty($codepoint, IntlChar::PROPERTY_ALPHABETIC)

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Returns TRUE if codepoint has the Alphabetic Unicode property, FALSE if not.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::isUAlphabetic("A"));
var_dump(IntlChar::isUAlphabetic("1"));
var_dump(IntlChar::isUAlphabetic("\u{2603}"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(false)
bool(false)

Siehe auch

  • IntlChar::isalpha() - Check if code point is a letter character
  • IntlChar::hasBinaryProperty() - Check a binary Unicode property for a code point
  • IntlChar::PROPERTY_ALPHABETIC

IntlChar::istitle
IntlChar::isULowercase
IntlChar


Check if code point has the Lowercase Unicode property

IntlChar::isUAlphabetic
IntlChar::isupper
IntlChar
PHP Manual

IntlChar::isULowercase

(PHP 7)

IntlChar::isULowercase — Check if code point has the Lowercase Unicode property

Beschreibung

public static bool IntlChar::isULowercase ( mixed $codepoint )

Check if a code point has the Lowercase Unicode property.

This is the same as IntlChar::hasBinaryProperty($codepoint, IntlChar::PROPERTY_LOWERCASE)

Hinweis:

This is different than IntlChar::islower() and will return TRUE for more characters.

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Returns TRUE if codepoint has the Lowercase Unicode property, FALSE if not.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::isULowercase("A"));
var_dump(IntlChar::isULowercase("a"));
var_dump(IntlChar::isULowercase("F"));
var_dump(IntlChar::isULowercase("f"));
var_dump(IntlChar::isULowercase("1"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(true)
bool(false)
bool(true)
bool(false)

Siehe auch

  • IntlChar::islower() - Check if code point is a lowercase letter
  • IntlChar::hasBinaryProperty() - Check a binary Unicode property for a code point
  • IntlChar::PROPERTY_LOWERCASE

IntlChar::isUAlphabetic
IntlChar::isupper
IntlChar


Check if code point has the general category "Lu" (uppercase letter)

IntlChar::isULowercase
IntlChar::isUUppercase
IntlChar
PHP Manual

IntlChar::isupper

(PHP 7)

IntlChar::isupper — Check if code point has the general category "Lu" (uppercase letter)

Beschreibung

public static bool IntlChar::isupper ( mixed $codepoint )

Determines whether the specified code point has the general category "Lu" (uppercase letter).

Hinweis:

This misses some characters that are also uppercase but have a different general category value. In order to include those, use IntlChar::isUUppercase().

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Returns TRUE if codepoint is an Lu uppercase letter, FALSE if not.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::isupper("A"));
var_dump(IntlChar::isupper("a"));
var_dump(IntlChar::isupper("F"));
var_dump(IntlChar::isupper("f"));
var_dump(IntlChar::isupper("1"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(false)
bool(true)
bool(false)
bool(false)

Siehe auch

  • IntlChar::islower() - Check if code point is a lowercase letter
  • IntlChar::istitle() - Check if code point is a titlecase letter
  • IntlChar::tolower() - Make Unicode character lowercase
  • IntlChar::toupper() - Make Unicode character uppercase
  • IntlChar::PROPERTY_UPPERCASE

IntlChar::isULowercase
IntlChar::isUUppercase
IntlChar


Check if code point has the Uppercase Unicode property

IntlChar::isupper
IntlChar::isUWhiteSpace
IntlChar
PHP Manual

IntlChar::isUUppercase

(PHP 7)

IntlChar::isUUppercase — Check if code point has the Uppercase Unicode property

Beschreibung

public static bool IntlChar::isUUppercase ( mixed $codepoint )

Check if a code point has the Uppercase Unicode property.

This is the same as IntlChar::hasBinaryProperty($codepoint, IntlChar::PROPERTY_UPPERCASE)

Hinweis:

This is different than IntlChar::isupper() and will return TRUE for more characters.

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Returns TRUE if codepoint has the Uppercase Unicode property, FALSE if not.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::isUUppercase("A"));
var_dump(IntlChar::isUUppercase("a"));
var_dump(IntlChar::isUUppercase("F"));
var_dump(IntlChar::isUUppercase("f"));
var_dump(IntlChar::isUUppercase("1"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(false)
bool(true)
bool(false)
bool(false)

Siehe auch

  • IntlChar::isupper() - Check if code point has the general category "Lu" (uppercase letter)
  • IntlChar::hasBinaryProperty() - Check a binary Unicode property for a code point
  • IntlChar::PROPERTY_UPPERCASE

IntlChar::isupper
IntlChar::isUWhiteSpace
IntlChar


Check if code point has the White_Space Unicode property

IntlChar::isUUppercase
IntlChar::isWhitespace
IntlChar
PHP Manual

IntlChar::isUWhiteSpace

(PHP 7)

IntlChar::isUWhiteSpace — Check if code point has the White_Space Unicode property

Beschreibung

public static bool IntlChar::isUWhiteSpace ( mixed $codepoint )

Check if a code point has the White_Space Unicode property.

This is the same as IntlChar::hasBinaryProperty($codepoint, IntlChar::PROPERTY_WHITE_SPACE)

Hinweis:

This is different from both IntlChar::isspace() and IntlChar::isWhitespace().

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Returns TRUE if codepoint has the White_Space Unicode property, FALSE if not.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::isUWhiteSpace("A"));
var_dump(IntlChar::isUWhiteSpace(" "));
var_dump(IntlChar::isUWhiteSpace("\n"));
var_dump(IntlChar::isUWhiteSpace("\t"));
var_dump(IntlChar::isUWhiteSpace("\u{00A0}"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(true)
bool(true)
bool(true)
bool(true)

Siehe auch

  • IntlChar::isspace() - Check if code point is a space character
  • IntlChar::isWhitespace() - Check if code point is a whitespace character according to ICU
  • IntlChar::isJavaSpaceChar() - Check if code point is a space character according to Java
  • IntlChar::hasBinaryProperty() - Check a binary Unicode property for a code point
  • IntlChar::PROPERTY_WHITE_SPACE

IntlChar::isUUppercase
IntlChar::isWhitespace
IntlChar


Check if code point is a whitespace character according to ICU

IntlChar::isUWhiteSpace
IntlChar::isxdigit
IntlChar
PHP Manual

IntlChar::isWhitespace

(PHP 7)

IntlChar::isWhitespace — Check if code point is a whitespace character according to ICU

Beschreibung

public static bool IntlChar::isWhitespace ( mixed $codepoint )

Determines if the specified code point is a whitespace character according to ICU.

A character is considered to be a ICU whitespace character if and only if it satisfies one of the following criteria:

  • It is a Unicode Separator character (categories "Z" = "Zs" or "Zl" or "Zp"), but is not also a non-breaking space (U+00A0 NBSP or U+2007 Figure Space or U+202F Narrow NBSP).
  • It is U+0009 HORIZONTAL TABULATION.
  • It is U+000A LINE FEED.
  • It is U+000B VERTICAL TABULATION.
  • It is U+000C FORM FEED.
  • It is U+000D CARRIAGE RETURN.
  • It is U+001C FILE SEPARATOR.
  • It is U+001D GROUP SEPARATOR.
  • It is U+001E RECORD SEPARATOR.
  • It is U+001F UNIT SEPARATOR.

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Returns TRUE if codepoint is a whitespace character according to ICU, FALSE if not.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::iswhitespace("A"));
var_dump(IntlChar::iswhitespace(" "));
var_dump(IntlChar::iswhitespace("\n"));
var_dump(IntlChar::iswhitespace("\t"));
var_dump(IntlChar::iswhitespace("\u{00A0}"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(true)
bool(true)
bool(true)
bool(false)

Siehe auch

  • IntlChar::isspace() - Check if code point is a space character
  • IntlChar::isJavaSpaceChar() - Check if code point is a space character according to Java
  • IntlChar::isUWhiteSpace() - Check if code point has the White_Space Unicode property

IntlChar::isUWhiteSpace
IntlChar::isxdigit
IntlChar


Check if code point is a hexadecimal digit

IntlChar::isWhitespace
IntlChar::ord
IntlChar
PHP Manual

IntlChar::isxdigit

(PHP 7)

IntlChar::isxdigit — Check if code point is a hexadecimal digit

Beschreibung

public static bool IntlChar::isxdigit ( mixed $codepoint )

Determines whether the specified code point is a hexadecimal digit.

TRUE for characters with general category "Nd" (decimal digit numbers) as well as Latin letters a-f and A-F in both ASCII and Fullwidth ASCII. (That is, for letters with code points 0041..0046, 0061..0066, FF21..FF26, FF41..FF46.)

This is equivalent to IntlChar::digit($codepoint, 16) >= 0.

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Returns TRUE if codepoint is a hexadecimal character, FALSE if not.

Anmerkungen

Hinweis:

In order to narrow the definition of hexadecimal digits to only ASCII characters use:

<?php
$isASCIIHexadecimal = IntlChar::ord($codepoint) <= 0x7F && IntlChar::isxdigit($codepoint);
?>

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::isxdigit("A"));
var_dump(IntlChar::isxdigit("1"));
var_dump(IntlChar::isxdigit("\u{2603}"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(true)
bool(false)

Siehe auch

  • IntlChar::isdigit() - Check if code point is a digit character

IntlChar::isWhitespace
IntlChar::ord
IntlChar


Return Unicode code point value of character

IntlChar::isxdigit
IntlChar::tolower
IntlChar
PHP Manual

IntlChar::ord

(PHP 7)

IntlChar::ord — Return Unicode code point value of character

Beschreibung

public static int IntlChar::ord ( mixed $character )

Returns the Unicode code point value of the given character.

This function compliments IntlChar::chr().

Parameter-Liste

character

A Unicode character.

Rückgabewerte

Returns the Unicode code point value as an integer.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::ord("A"));
var_dump(IntlChar::ord(" "));
var_dump(IntlChar::ord("\u{2603}"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(65)
int(32)
int(9731)

Siehe auch

  • IntlChar::isalnum() - Check if code point is an alphanumeric character
  • IntlChar::isdigit() - Check if code point is a digit character
  • IntlChar::chr() - Return Unicode character by code point value
  • ord() - Gibt den ASCII-Wert eines Zeichens zurück

IntlChar::isxdigit
IntlChar::tolower
IntlChar


Make Unicode character lowercase

IntlChar::ord
IntlChar::totitle
IntlChar
PHP Manual

IntlChar::tolower

(PHP 7)

IntlChar::tolower — Make Unicode character lowercase

Beschreibung

public static mixed IntlChar::tolower ( mixed $codepoint )

The given character is mapped to its lowercase equivalent. If the character has no lowercase equivalent, the original character itself is returned.

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Returns the Simple_Lowercase_Mapping of the code point, if any; otherwise the code point itself.

Der Rückgabetyp ist Integer, außer der Codepoint wurde als UTF-8 String übergeben, in welchem Fall ein String zurückgegeben wird.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::tolower("A"));
var_dump(IntlChar::tolower("a"));
var_dump(IntlChar::tolower("F"));
var_dump(IntlChar::tolower("f"));
var_dump(IntlChar::tolower("1"));
var_dump(IntlChar::tolower(ord("A")));
var_dump(IntlChar::tolower(ord("a")));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(1) "a"
string(1) "a"
string(2) "f"
string(2) "f"
string(1) "1"
int(97)
int(97)

Siehe auch

  • IntlChar::totitle() - Make Unicode character titlecase
  • IntlChar::toupper() - Make Unicode character uppercase
  • mb_strtolower() - Make a string lowercase

IntlChar::ord
IntlChar::totitle
IntlChar


Make Unicode character titlecase

IntlChar::tolower
IntlChar::toupper
IntlChar
PHP Manual

IntlChar::totitle

(PHP 7)

IntlChar::totitle — Make Unicode character titlecase

Beschreibung

public static mixed IntlChar::totitle ( mixed $codepoint )

The given character is mapped to its titlecase equivalent. If the character has no titlecase equivalent, the original character itself is returned.

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Returns the Simple_Titlecase_Mapping of the code point, if any; otherwise the code point itself.

Der Rückgabetyp ist Integer, außer der Codepoint wurde als UTF-8 String übergeben, in welchem Fall ein String zurückgegeben wird.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::totitle("A"));
var_dump(IntlChar::totitle("a"));
var_dump(IntlChar::totitle("F"));
var_dump(IntlChar::totitle("f"));
var_dump(IntlChar::totitle("1"));
var_dump(IntlChar::totitle(ord("A")));
var_dump(IntlChar::totitle(ord("a")));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(1) "A"
string(1) "A"
string(2) "F"
string(2) "F"
string(1) "1"
int(65)
int(65)

Siehe auch

  • IntlChar::tolower() - Make Unicode character lowercase
  • IntlChar::toupper() - Make Unicode character uppercase
  • mb_convert_case() - Perform case folding on a string

IntlChar::tolower
IntlChar::toupper
IntlChar


Make Unicode character uppercase

IntlChar::totitle
IntlException
IntlChar
PHP Manual

IntlChar::toupper

(PHP 7)

IntlChar::toupper — Make Unicode character uppercase

Beschreibung

public static mixed IntlChar::toupper ( mixed $codepoint )

The given character is mapped to its uppercase equivalent. If the character has no uppercase equivalent, the character itself is returned.

Parameter-Liste

codepoint

Der Integer-Wert des Codepoints (z.B. 0x2603 für U+2603 SNOWMAN) oder das Zeichen als UTF-8 String kodiert (z.B. "\u{2603}")

Rückgabewerte

Returns the Simple_Uppercase_Mapping of the code point, if any; otherwise the code point itself.

Der Rückgabetyp ist Integer, außer der Codepoint wurde als UTF-8 String übergeben, in welchem Fall ein String zurückgegeben wird.

Beispiele

Beispiel #1 Testen unterschiedlicher Codepoints

<?php
var_dump(IntlChar::toupper("A"));
var_dump(IntlChar::toupper("a"));
var_dump(IntlChar::toupper("F"));
var_dump(IntlChar::toupper("f"));
var_dump(IntlChar::toupper("1"));
var_dump(IntlChar::toupper(ord("A")));
var_dump(IntlChar::toupper(ord("a")));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(1) "A"
string(1) "A"
string(2) "F"
string(2) "F"
string(1) "1"
int(65)
int(65)

Siehe auch

  • IntlChar::tolower() - Make Unicode character lowercase
  • IntlChar::totitle() - Make Unicode character titlecase
  • mb_strtoupper() - Make a string uppercase

IntlChar::totitle
IntlException
IntlChar


Exception class for intl errors

(PHP 5 > 5.5.0, PHP 7, PECL intl > 3.0.0a1)

Einführung

This class is used for generating exceptions when errors occur inside intl functions. Such exceptions are only generated when intl.use_exceptions is enabled.

Klassenbeschreibung

IntlException extends Exception {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
IntlChar::toupper
IntlIterator
intl


The IntlIterator class

(No version information available, might only be in Git)

Einführung

This class represents iterator objects throughout the intl extension whenever the iterator cannot be identified with any other object provided by the extension. The distinct iterator object used internally by the foreach construct can only be obtained (in the relevant part here) from objects, so objects of this class serve the purpose of providing the hook through which this internal object can be obtained. As a convenience, this class also implements the Iterator interface, allowing the collection of values to be navigated using the methods defined in that interface. Both these methods and the internal iterator objects provided to foreach are backed by the same state (e.g. the position of the iterator and its current value).

Subclasses may provide richer functionality.

Klassenbeschreibung

IntlIterator implements Iterator {
/* Methoden */
public ReturnType current ( void )
public ReturnType key ( void )
public ReturnType next ( void )
public ReturnType rewind ( void )
public ReturnType valid ( void )
}

Inhaltsverzeichnis

  • IntlIterator::current — Get the current element
  • IntlIterator::key — Get the current key
  • IntlIterator::next — Move forward to the next element
  • IntlIterator::rewind — Rewind the iterator to the first element
  • IntlIterator::valid — Check if current position is valid
IntlException
IntlIterator::current
intl


Get the current element

IntlIterator
IntlIterator::key
IntlIterator
PHP Manual

IntlIterator::current

(No version information available, might only be in Git)

IntlIterator::current — Get the current element

Beschreibung

public ReturnType IntlIterator::current ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

IntlIterator
IntlIterator::key
IntlIterator


Get the current key

IntlIterator::current
IntlIterator::next
IntlIterator
PHP Manual

IntlIterator::key

(No version information available, might only be in Git)

IntlIterator::key — Get the current key

Beschreibung

public ReturnType IntlIterator::key ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

IntlIterator::current
IntlIterator::next
IntlIterator


Move forward to the next element

IntlIterator::key
IntlIterator::rewind
IntlIterator
PHP Manual

IntlIterator::next

(No version information available, might only be in Git)

IntlIterator::next — Move forward to the next element

Beschreibung

public ReturnType IntlIterator::next ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

IntlIterator::key
IntlIterator::rewind
IntlIterator


Rewind the iterator to the first element

IntlIterator::next
IntlIterator::valid
IntlIterator
PHP Manual

IntlIterator::rewind

(No version information available, might only be in Git)

IntlIterator::rewind — Rewind the iterator to the first element

Beschreibung

public ReturnType IntlIterator::rewind ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

IntlIterator::next
IntlIterator::valid
IntlIterator


Check if current position is valid

IntlIterator::rewind
intl Funktionen
IntlIterator
PHP Manual

IntlIterator::valid

(No version information available, might only be in Git)

IntlIterator::valid — Check if current position is valid

Beschreibung

public ReturnType IntlIterator::valid ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

IntlIterator::rewind
intl Funktionen
IntlIterator


intl Funktionen

Inhaltsverzeichnis

  • intl_error_name — Get symbolic name for a given error code
  • intl_get_error_code — Get the last error code
  • intl_get_error_message — Get description of the last error
  • intl_is_failure — Check whether the given error code indicates failure
IntlIterator::valid
intl_error_name
intl


Get symbolic name for a given error code

intl Funktionen
intl_get_error_code
intl Funktionen
PHP Manual

intl_error_name

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

intl_error_name — Get symbolic name for a given error code

Beschreibung

string intl_error_name ( int $error_code )

Return ICU error code name.

Parameter-Liste

error_code

ICU error code.

Rückgabewerte

The returned string will be the same as the name of the error code constant.

Beispiele

Beispiel #1 intl_error_name() example

<?php
$coll     = collator_create( 'en_RU' );
$err_code = collator_get_error_code( $coll );

printf( "Symbolic name for %d is %s\n.", $err_code, intl_error_name( $err_code ) );
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Symbolic name for -128 is U_USING_FALLBACK_WARNING.

Siehe auch

  • intl_is_failure() - Check whether the given error code indicates failure
  • intl_get_error_code() - Get the last error code
  • intl_get_error_message() - Get description of the last error

intl Funktionen
intl_get_error_code
intl Funktionen


Get the last error code

intl_error_name
intl_get_error_message
intl Funktionen
PHP Manual

intl_get_error_code

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

intl_get_error_code — Get the last error code

Beschreibung

int intl_get_error_code ( void )

Useful to handle errors occurred in static methods when there's no object to get error code from.

Rückgabewerte

Error code returned by the last API function call.

Beispiele

Beispiel #1 intl_get_error_code() example

<?php
$coll = collator_create( '<bad_param>' );
if( !$coll ) {
    handle_error( intl_get_error_code() );
}
?>

Siehe auch

  • intl_is_failure() - Check whether the given error code indicates failure
  • intl_error_name() - Get symbolic name for a given error code
  • intl_get_error_message() - Get description of the last error
  • collator_get_error_code() - Get collator's last error code
  • numfmt_get_error_code() - Get formatter's last error code.

intl_error_name
intl_get_error_message
intl Funktionen


Get description of the last error

intl_get_error_code
intl_is_failure
intl Funktionen
PHP Manual

intl_get_error_message

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

intl_get_error_message — Get description of the last error

Beschreibung

string intl_get_error_message ( void )

Get error message from last internationalization function called.

Rückgabewerte

Description of an error occurred in the last API function call.

Beispiele

Beispiel #1 intl_get_error_message() example

<?php
if( Collator::getAvailableLocales() === false ) {
    show_error( intl_get_error_message() );
}
?>

Siehe auch

  • intl_error_name() - Get symbolic name for a given error code
  • intl_get_error_code() - Get the last error code
  • intl_is_failure() - Check whether the given error code indicates failure
  • collator_get_error_message() - Get text for collator's last error code
  • numfmt_get_error_message() - Get formatter's last error message.

intl_get_error_code
intl_is_failure
intl Funktionen


Check whether the given error code indicates failure

intl_get_error_message
Multibyte String
intl Funktionen
PHP Manual

intl_is_failure

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

intl_is_failure — Check whether the given error code indicates failure

Beschreibung

bool intl_is_failure ( int $error_code )

Parameter-Liste

error_code

is a value that returned by functions: intl_get_error_code(), collator_get_error_code() .

Rückgabewerte

TRUE if it the code indicates some failure, and FALSE in case of success or a warning.

Beispiele

Beispiel #1 intl_is_failure() example

<?php
function check( $err_code )
{
    var_export( intl_is_failure( $err_code ) );
    echo "\n";
}

check( U_ZERO_ERROR );
check( U_USING_FALLBACK_WARNING );
check( U_ILLEGAL_ARGUMENT_ERROR );
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

false
false
true

Siehe auch

  • intl_get_error_code() - Get the last error code
  • collator_get_error_code() - Get collator's last error code
  • Collator-getErrorCode() - Get collator's last error code

intl_get_error_message
Multibyte String
intl Funktionen


Multibyte String

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Summaries of supported encodings
  • Basics of Japanese multi-byte encodings
  • HTTP Input and Output
  • Supported Character Encodings
  • Function Overloading Feature
  • PHP Character Encoding Requirements
  • Multibyte String Funktionen
    • mb_check_encoding — Check if the string is valid for the specified encoding
    • mb_convert_case — Perform case folding on a string
    • mb_convert_encoding — Convert character encoding
    • mb_convert_kana — Convert "kana" one from another ("zen-kaku", "han-kaku" and more)
    • mb_convert_variables — Convert character code in variable(s)
    • mb_decode_mimeheader — Decode string in MIME header field
    • mb_decode_numericentity — Decode HTML numeric string reference to character
    • mb_detect_encoding — Detect character encoding
    • mb_detect_order — Set/Get character encoding detection order
    • mb_encode_mimeheader — Encode string for MIME header
    • mb_encode_numericentity — Encode character to HTML numeric string reference
    • mb_encoding_aliases — Get aliases of a known encoding type
    • mb_ereg_match — Regular expression match for multibyte string
    • mb_ereg_replace_callback — Perform a regular expresssion seach and replace with multibyte support using a callback
    • mb_ereg_replace — Replace regular expression with multibyte support
    • mb_ereg_search_getpos — Returns start point for next regular expression match
    • mb_ereg_search_getregs — Retrieve the result from the last multibyte regular expression match
    • mb_ereg_search_init — Setup string and regular expression for a multibyte regular expression match
    • mb_ereg_search_pos — Returns position and length of a matched part of the multibyte regular expression for a predefined multibyte string
    • mb_ereg_search_regs — Returns the matched part of a multibyte regular expression
    • mb_ereg_search_setpos — Set start point of next regular expression match
    • mb_ereg_search — Multibyte regular expression match for predefined multibyte string
    • mb_ereg — Regular expression match with multibyte support
    • mb_eregi_replace — Replace regular expression with multibyte support ignoring case
    • mb_eregi — Regular expression match ignoring case with multibyte support
    • mb_get_info — Get internal settings of mbstring
    • mb_http_input — Detect HTTP input character encoding
    • mb_http_output — Set/Get HTTP output character encoding
    • mb_internal_encoding — Set/Get internal character encoding
    • mb_language — Set/Get current language
    • mb_list_encodings — Returns an array of all supported encodings
    • mb_output_handler — Callback function converts character encoding in output buffer
    • mb_parse_str — Parse GET/POST/COOKIE data and set global variable
    • mb_preferred_mime_name — Get MIME charset string
    • mb_regex_encoding — Set/Get character encoding for multibyte regex
    • mb_regex_set_options — Set/Get the default options for mbregex functions
    • mb_send_mail — Send encoded mail
    • mb_split — Split multibyte string using regular expression
    • mb_strcut — Get part of string
    • mb_strimwidth — Get truncated string with specified width
    • mb_stripos — Finds position of first occurrence of a string within another, case insensitive
    • mb_stristr — Finds first occurrence of a string within another, case insensitive
    • mb_strlen — Get string length
    • mb_strpos — Find position of first occurrence of string in a string
    • mb_strrchr — Finds the last occurrence of a character in a string within another
    • mb_strrichr — Finds the last occurrence of a character in a string within another, case insensitive
    • mb_strripos — Finds position of last occurrence of a string within another, case insensitive
    • mb_strrpos — Find position of last occurrence of a string in a string
    • mb_strstr — Finds first occurrence of a string within another
    • mb_strtolower — Make a string lowercase
    • mb_strtoupper — Make a string uppercase
    • mb_strwidth — Return width of string
    • mb_substitute_character — Set/Get substitution character
    • mb_substr_count — Count the number of substring occurrences
    • mb_substr — Get part of string
intl_is_failure
Einführung
Unterstützung menschlicher Sprache und Zeichenkodierung


Einführung

While there are many languages in which every necessary character can be represented by a one-to-one mapping to an 8-bit value, there are also several languages which require so many characters for written communication that they cannot be contained within the range a mere byte can code (A byte is made up of eight bits. Each bit can contain only two distinct values, one or zero. Because of this, a byte can only represent 256 unique values (two to the power of eight)). Multibyte character encoding schemes were developed to express more than 256 characters in the regular bytewise coding system.

When you manipulate (trim, split, splice, etc.) strings encoded in a multibyte encoding, you need to use special functions since two or more consecutive bytes may represent a single character in such encoding schemes. Otherwise, if you apply a non-multibyte-aware string function to the string, it probably fails to detect the beginning or ending of the multibyte character and ends up with a corrupted garbage string that most likely loses its original meaning.

mbstring provides multibyte specific string functions that help you deal with multibyte encodings in PHP. In addition to that, mbstring handles character encoding conversion between the possible encoding pairs. mbstring is designed to handle Unicode-based encodings such as UTF-8 and UCS-2 and many single-byte encodings for convenience (listed below).

Multibyte String
Installation/Konfiguration
Multibyte String


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Multibyte String


Installation

mbstring is a non-default extension. This means it is not enabled by default. You must explicitly enable the module with the configure option. See the Install section for details.

The following configure options are related to the mbstring module.

  • --enable-mbstring : Enable mbstring functions. This option is required to use mbstring functions.

    libmbfl is necessary for mbstring. libmbfl is bundled with mbstring. If libmbfl is already installed on the system, --with-libmbfl[=DIR] can be specified to use the installed library.

  • --disable-mbregex : Disable regular expression functions with multibyte character support.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

mbstring configuration options
Name | Standard | Veränderbar | Changelog
mbstring.language | "neutral" | PHP_INI_ALL | Available since PHP 4.3.0. PHP_INI_PERDIR in PHP <= 5.2.6
mbstring.detect_order | NULL | PHP_INI_ALL | Available since PHP 4.0.6.
mbstring.http_input | "pass" | PHP_INI_ALL | Available since PHP 4.0.6. Deprecated in PHP 5.6.0.
mbstring.http_output | "pass" | PHP_INI_ALL | Available since PHP 4.0.6. Deprecated in PHP 5.6.0.
mbstring.internal_encoding | NULL | PHP_INI_ALL | Available since PHP 4.0.6. Deprecated in PHP 5.6.0.
mbstring.script_encoding | NULL | PHP_INI_ALL | Available since PHP 4.3.0. Removed in PHP 5.4.0. Use zend.script_encoding instead.
mbstring.substitute_character | NULL | PHP_INI_ALL | Available since PHP 4.0.6.
mbstring.func_overload | "0" | PHP_INI_SYSTEM | PHP_INI_PERDIR from PHP 4.3 to 5.2.6, otherwise PHP_INI_SYSTEM. Available since PHP 4.2.0.
mbstring.encoding_translation | "0" | PHP_INI_PERDIR | Available since PHP 4.3.0.
mbstring.strict_detection | "0" | PHP_INI_ALL | Available since PHP 5.1.2.
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

mbstring.language string

The default national language setting (NLS) used in mbstring. Note that this option automagically defines mbstring.internal_encoding and mbstring.internal_encoding should be placed after mbstring.language in php.ini

mbstring.encoding_translation boolean

Enables the transparent character encoding filter for the incoming HTTP queries, which performs detection and conversion of the input encoding to the internal character encoding.

mbstring.internal_encoding string
Warnung

Diese Funktion ist seit PHP 5.6.0 DEPRECATED (veraltet). Sich auf diese Funktion zu verlassen ist in keiner Weise empfehlenswert.

Defines the default internal character encoding.

PHP 5.6 and later users should leave this empty and set default_charset instead.

mbstring.http_input string
Warnung

Diese Funktion ist seit PHP 5.6.0 DEPRECATED (veraltet). Sich auf diese Funktion zu verlassen ist in keiner Weise empfehlenswert.

Defines the default HTTP input character encoding.

PHP 5.6 and later users should leave this empty and set default_charset instead.

mbstring.http_output string
Warnung

Diese Funktion ist seit PHP 5.6.0 DEPRECATED (veraltet). Sich auf diese Funktion zu verlassen ist in keiner Weise empfehlenswert.

Defines the default HTTP output character encoding (output will be converted from the internal encoding to the HTTP output encoding upon output).

PHP 5.6 and later users should leave this empty and set default_charset instead.

mbstring.detect_order string

Defines default character code detection order. See also mb_detect_order().

mbstring.substitute_character string

Defines character to substitute for invalid character encoding.

mbstring.func_overload string

Overloads a set of single byte functions by the mbstring counterparts. See Function overloading for more information.

This setting can only be changed from the php.ini file.

mbstring.strict_detection boolean

Enables the strict encoding detection.

According to the » HTML 4.01 specification, Web browsers are allowed to encode a form being submitted with a character encoding different from the one used for the page. See mb_http_input() to detect character encoding used by browsers.

Although popular browsers are capable of giving a reasonably accurate guess to the character encoding of a given HTML document, it would be better to set the charset parameter in the Content-Type HTTP header to the appropriate value by header() or default_charset ini setting.

Beispiel #1 php.ini setting examples

; Set default language
mbstring.language        = Neutral; Set default language to Neutral(UTF-8) (default)
mbstring.language        = English; Set default language to English
mbstring.language        = Japanese; Set default language to Japanese

;; Set default internal encoding
;; Note: Make sure to use character encoding works with PHP
mbstring.internal_encoding    = UTF-8  ; Set internal encoding to UTF-8

;; HTTP input encoding translation is enabled.
mbstring.encoding_translation = On

;; Set default HTTP input character encoding
;; Note: Script cannot change http_input setting.
mbstring.http_input           = pass    ; No conversion.
mbstring.http_input           = auto    ; Set HTTP input to auto
                                ; "auto" is expanded according to mbstring.language
mbstring.http_input           = SJIS    ; Set HTTP input to SJIS
mbstring.http_input           = UTF-8,SJIS,EUC-JP ; Specify order

;; Set default HTTP output character encoding
mbstring.http_output          = pass    ; No conversion
mbstring.http_output          = UTF-8   ; Set HTTP output encoding to UTF-8

;; Set default character encoding detection order
mbstring.detect_order         = auto    ; Set detect order to auto
mbstring.detect_order         = ASCII,JIS,UTF-8,SJIS,EUC-JP ; Specify order

;; Set default substitute character
mbstring.substitute_character = 12307   ; Specify Unicode value
mbstring.substitute_character = none    ; Do not print character
mbstring.substitute_character = long    ; Long Example: U+3000,JIS+7E7E

Beispiel #2 php.ini setting for EUC-JP users

;; Disable Output Buffering
output_buffering      = Off

;; Set HTTP header charset
default_charset       = EUC-JP

;; Set default language to Japanese
mbstring.language = Japanese

;; HTTP input encoding translation is enabled.
mbstring.encoding_translation = On

;; Set HTTP input encoding conversion to auto
mbstring.http_input   = auto

;; Convert HTTP output to EUC-JP
mbstring.http_output  = EUC-JP

;; Set internal encoding to EUC-JP
mbstring.internal_encoding = EUC-JP

;; Do not print invalid characters
mbstring.substitute_character = none

Beispiel #3 php.ini setting for SJIS users

;; Enable Output Buffering
output_buffering     = On

;; Set mb_output_handler to enable output conversion
output_handler       = mb_output_handler

;; Set HTTP header charset
default_charset      = Shift_JIS

;; Set default language to Japanese
mbstring.language = Japanese

;; Set http input encoding conversion to auto
mbstring.http_input  = auto

;; Convert to SJIS
mbstring.http_output = SJIS

;; Set internal encoding to EUC-JP
mbstring.internal_encoding = EUC-JP

;; Do not print invalid characters
mbstring.substitute_character = none

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

MB_OVERLOAD_MAIL (integer)
MB_OVERLOAD_STRING (integer)
MB_OVERLOAD_REGEX (integer)
MB_CASE_UPPER (integer)
MB_CASE_LOWER (integer)
MB_CASE_TITLE (integer)
Ressource-Typen
Summaries of supported encodings
Multibyte String


Summaries of supported encodings

Summaries of supported encodings
Name in the IANA character set registry | Underlying character set | Description | Additional note
ISO-10646-UCS-4 | ISO 10646 | The Universal Character Set with 31-bit code space, standardized as UCS-4 by ISO/IEC 10646. It is kept synchronized with the latest version of the Unicode code map. | If this name is used in the encoding conversion facility, the converter attempts to identify by the preceding BOM (byte order mark)in which endian the subsequent bytes are represented.
ISO-10646-UCS-4 | UCS-4 | See above. | In contrast to UCS-4, strings are always assumed to be in big endian form.
ISO-10646-UCS-4 | UCS-4 | See above. | In contrast to UCS-4, strings are always assumed to be in little endian form.
ISO-10646-UCS-2 | UCS-2 | The Universal Character Set with 16-bit code space, standardized as UCS-2 by ISO/IEC 10646. It is kept synchronized with the latest version of the unicode code map. | If this name is used in the encoding conversion facility, the converter attempts to identify by the preceding BOM (byte order mark)in which endian the subsequent bytes are represented.
ISO-10646-UCS-2 | UCS-2 | See above. | In contrast to UCS-2, strings are always assumed to be in big endian form.
ISO-10646-UCS-2 | UCS-2 | See above. | In contrast to UCS-2, strings are always assumed to be in little endian form.
UTF-32 | Unicode | Unicode Transformation Format of 32-bit unit width, whose encoding space refers to the Unicode's codeset standard. This encoding scheme wasn't identical to UCS-4 because the code space of Unicode were limited to a 21-bit value. | If this name is used in the encoding conversion facility, the converter attempts to identify by the preceding BOM (byte order mark)in which endian the subsequent bytes are represented.
UTF-32BE | Unicode | See above | In contrast to UTF-32, strings are always assumed to be in big endian form.
UTF-32LE | Unicode | See above | In contrast to UTF-32, strings are always assumed to be in little endian form.
UTF-16 | Unicode | Unicode Transformation Format of 16-bit unit width. It's worth a note that UTF-16 is no longer the same specification as UCS-2 because the surrogate mechanism has been introduced since Unicode 2.0 and UTF-16 now refers to a 21-bit code space. | If this name is used in the encoding conversion facility, the converter attempts to identify by the preceding BOM (byte order mark)in which endian the subsequent bytes are represented.
UTF-16BE | Unicode | See above. | In contrast to UTF-16, strings are always assumed to be in big endian form.
UTF-16LE | Unicode | See above. | In contrast to UTF-16, strings are always assumed to be in little endian form.
UTF-8 | Unicode / UCS | Unicode Transformation Format of 8-bit unit width. | none
UTF-7 | Unicode | A mail-safe transformation format of Unicode, specified in » RFC2152. | none
(none) | Unicode | A variant of UTF-7 which is specialized for use in the » IMAP protocol. | none
US-ASCII (preferred MIME name) / iso-ir-6 / ANSI_X3.4-1986 / ISO_646.irv:1991 / ASCII / ISO646-US / us / IBM367 / CP367 / csASCII | ASCII / ISO 646 | American Standard Code for Information Interchange is a commonly-used 7-bit encoding. Also standardized as an international standard, ISO 646. | (none)
EUC-JP (preferred MIME name) / Extended_UNIX_Code_Packed_Format_for_Japanese / csEUCPkdFmtJapanese | Compound of US-ASCII / JIS X0201:1997 (hankaku kana part) / JIS X0208:1990 / JIS X0212:1990 | As you see the name is derived from an abbreviation of Extended UNIX Code Packed Format for Japanese, this encoding is mostly used on UNIX or alike platforms. The original encoding scheme, Extended UNIX Code, is designed on the basis of ISO 2022. | The character set referred to by EUC-JP is different to IBM932 / CP932, which are used by OS/2® and Microsoft® Windows®. For information interchange with those platforms, use EUCJP-WIN instead.
Shift_JIS (preferred MIME name) / MS_Kanji / csShift_JIS | Compound of JIS X0201:1997 / JIS X0208:1997 | Shift_JIS was developed in early 80's, at the time personal Japanese word processors were brought into the market, in order to maintain compatiblities with the legacy encoding scheme JIS X 0201:1976. According to the IANA definition the codeset of Shift_JIS is slightly different to IBM932 / CP932. However, the names "SJIS" / "Shift_JIS" are often wrongly used to refer to these codesets. | For the CP932 codemap, use SJIS-WIN instead.
(none) | Compound of JIS X0201:1997 / JIS X0208:1997 / IBM extensions / NEC extensions | While this "encoding" uses the same encoding scheme as EUC-JP, the underlying character set is different. That is, some code points map to different characters than EUC-JP. | none
Windows-31J / csWindows31J | Compound of JIS X0201:1997 / JIS X0208:1997 / IBM extensions / NEC extensions | While this "encoding" uses the same encoding scheme as Shift_JIS, the underlying character set is different. That means some code points map to different characters than Shift_JIS. | (none)
ISO-2022-JP (preferred MIME name) / csISO2022JP | US-ASCII / JIS X0201:1976 / JIS X0208:1978 / JIS X0208:1983 | » RFC1468 | (none)
JIS |  |  |
ISO-8859-1 |  |  |
ISO-8859-2 |  |  |
ISO-8859-3 |  |  |
ISO-8859-4 |  |  |
ISO-8859-5 |  |  |
ISO-8859-6 |  |  |
ISO-8859-7 |  |  |
ISO-8859-8 |  |  |
ISO-8859-9 |  |  |
ISO-8859-10 |  |  |
ISO-8859-13 |  |  |
ISO-8859-14 |  |  |
ISO-8859-15 |  |  |
ISO-8859-16 |  |  |
byte2be |  |  |
byte2le |  |  |
byte4be |  |  |
byte4le |  |  |
BASE64 |  |  |
HTML-ENTITIES |  |  |
7bit |  |  |
8bit |  |  |
EUC-CN |  |  |
CP936 |  |  |
HZ |  |  |
EUC-TW |  |  |
CP950 |  |  |
BIG-5 |  |  |
EUC-KR |  |  |
UHC (CP949) |  |  |
ISO-2022-KR |  |  |
Windows-1251 (CP1251) |  |  |
Windows-1252 (CP1252) |  |  |
CP866 (IBM866) |  |  |
KOI8-R |  |  |
KOI8-U |  |  |
Vordefinierte Konstanten
Basics of Japanese multi-byte encodings
Multibyte String


Basics of Japanese multi-byte encodings

Japanese characters can only be represented by multibyte encodings, and multiple encoding standards are used depending on platform and text purpose. To make matters worse, these encoding standards differ slightly from one another. In order to create a web application which would be usable in a Japanese environment, a developer has to keep these complexities in mind to ensure that the proper character encodings are used.

  • Storage for a character can be up to six bytes
  • Most Japanese multibyte characters appear twice as wide as single-byte characters. These characters are called "zen-kaku" in Japanese, which means "full width". Other, narrower, characters are called "han-kaku", which means "half width". The graphical properties of the characters, however, depends upon the type faces used to display them.
  • Some character encodings use shift(escape) sequences defined in ISO-2022 to switch the code map of the specific code area (00h to 7fh).
  • ISO-2022-JP should be used in SMTP/NNTP, and headers and entities should be reencoded as per RFC requirements. Although those are not requisites, it's still a good idea because several popular user agents cannot recognize any other encoding methods.
  • Web pages created for mobile phone services such as » i-mode or » EZweb are supposed to use Shift_JIS.
  • As of PHP 5.4.0, the pictogram characters used for mobile phone service such as » i-mode or » EZweb are supported.

Summaries of supported encodings
HTTP Input and Output
Multibyte String


HTTP Input and Output

HTTP input/output character encoding conversion may convert binary data also. Users are supposed to control character encoding conversion if binary data is used for HTTP input/output.

Hinweis:

If enctype for HTML form is set to multipart/form-data and mbstring.encoding_translation is set to On in php.ini the POST'ed variables and the names of uploaded files will be converted to the internal character encoding as well. However, the conversion isn't applied to the query keys.

  • HTTP Input

    There is no way to control HTTP input character conversion from a PHP script. To disable HTTP input character conversion, it has to be done in php.ini.

    Beispiel #1 Disable HTTP input conversion in php.ini

    ;; Disable HTTP Input conversion
mbstring.http_input = pass
;; Disable HTTP Input conversion
mbstring.encoding_translation = Off

    When using PHP as an Apache module, it is possible to override those settings in each Virtual Host directive in httpd.conf or per directory with .htaccess. Refer to the Configuration section and Apache Manual for details.

  • HTTP Output

    There are several ways to enable output character encoding conversion. One is using php.ini, another is using ob_start() with mb_output_handler() as the ob_start callback function.

Beispiel #2 php.ini setting example

;; Enable output character encoding conversion for all PHP pages

;; Enable Output Buffering
output_buffering    = On

;; Set mb_output_handler to enable output conversion
output_handler      = mb_output_handler

Beispiel #3 Script example

<?php

// Enable output character encoding conversion only for this page

// Set HTTP output character encoding to SJIS
mb_http_output('SJIS');

// Start buffering and specify "mb_output_handler" as
// callback function
ob_start('mb_output_handler');

?>

Basics of Japanese multi-byte encodings
Supported Character Encodings
Multibyte String


Supported Character Encodings

Currently the following character encodings are supported by the mbstring module. Any of those Character encodings can be specified in the encoding parameter of mbstring functions.

The following character encodings are supported in this PHP extension:

  • UCS-4*
  • UCS-4BE
  • UCS-4LE*
  • UCS-2
  • UCS-2BE
  • UCS-2LE
  • UTF-32*
  • UTF-32BE*
  • UTF-32LE*
  • UTF-16*
  • UTF-16BE*
  • UTF-16LE*
  • UTF-7
  • UTF7-IMAP
  • UTF-8*
  • ASCII*
  • EUC-JP*
  • SJIS*
  • eucJP-win*
  • SJIS-win*
  • ISO-2022-JP
  • ISO-2022-JP-MS
  • CP932
  • CP51932
  • SJIS-mac** (alias: MacJapanese)
  • SJIS-Mobile#DOCOMO** (alias: SJIS-DOCOMO)
  • SJIS-Mobile#KDDI** (alias: SJIS-KDDI)
  • SJIS-Mobile#SOFTBANK** (alias: SJIS-SOFTBANK)
  • UTF-8-Mobile#DOCOMO** (alias: UTF-8-DOCOMO)
  • UTF-8-Mobile#KDDI-A**
  • UTF-8-Mobile#KDDI-B** (alias: UTF-8-KDDI)
  • UTF-8-Mobile#SOFTBANK** (alias: UTF-8-SOFTBANK)
  • ISO-2022-JP-MOBILE#KDDI** (alias: ISO-2022-JP-KDDI)
  • JIS
  • JIS-ms
  • CP50220
  • CP50220raw
  • CP50221
  • CP50222
  • ISO-8859-1*
  • ISO-8859-2*
  • ISO-8859-3*
  • ISO-8859-4*
  • ISO-8859-5*
  • ISO-8859-6*
  • ISO-8859-7*
  • ISO-8859-8*
  • ISO-8859-9*
  • ISO-8859-10*
  • ISO-8859-13*
  • ISO-8859-14*
  • ISO-8859-15*
  • ISO-8859-16*
  • byte2be
  • byte2le
  • byte4be
  • byte4le
  • BASE64
  • HTML-ENTITIES
  • 7bit
  • 8bit
  • EUC-CN*
  • CP936
  • GB18030**
  • HZ
  • EUC-TW*
  • CP950
  • BIG-5*
  • EUC-KR*
  • UHC (CP949)
  • ISO-2022-KR
  • Windows-1251 (CP1251)
  • Windows-1252 (CP1252)
  • CP866 (IBM866)
  • KOI8-R*
  • KOI8-U*
  • ArmSCII-8 (ArmSCII8)

* denotes encodings usable also in regular expressions.

** denotes encodings available since PHP 5.4.0.

Any php.ini entry which accepts an encoding name can also use the values "auto" and "pass". mbstring functions which accept an encoding name can also use the value "auto".

If "pass" is set, no character encoding conversion is performed.

If "auto" is set, it is expanded to the list of encodings defined per the NLS. For instance, if the NLS is set to Japanese, the value is assumed to be "ASCII,JIS,UTF-8,EUC-JP,SJIS".

See also mb_detect_order()

HTTP Input and Output
Function Overloading Feature
Multibyte String


Function Overloading Feature

You might often find it difficult to get an existing PHP application to work in a given multibyte environment. This happens because most PHP applications out there are written with the standard string functions such as substr(), which are known to not properly handle multibyte-encoded strings.

mbstring supports a 'function overloading' feature which enables you to add multibyte awareness to such an application without code modification by overloading multibyte counterparts on the standard string functions. For example, mb_substr() is called instead of substr() if function overloading is enabled. This feature makes it easy to port applications that only support single-byte encodings to a multibyte environment in many cases.

To use function overloading, set mbstring.func_overload in php.ini to a positive value that represents a combination of bitmasks specifying the categories of functions to be overloaded. It should be set to 1 to overload the mail() function. 2 for string functions, 4 for regular expression functions. For example, if it is set to 7, mail, strings and regular expression functions will be overloaded. The list of overloaded functions are shown below.

Functions to be overloaded
value of mbstring.func_overload | original function | overloaded function
1 | mail() | mb_send_mail()
2 | strlen() | mb_strlen()
2 | strpos() | mb_strpos()
2 | strrpos() | mb_strrpos()
2 | substr() | mb_substr()
2 | strtolower() | mb_strtolower()
2 | strtoupper() | mb_strtoupper()
2 | stripos() | mb_stripos()
2 | strripos() | mb_strripos()
2 | strstr() | mb_strstr()
2 | stristr() | mb_stristr()
2 | strrchr() | mb_strrchr()
2 | substr_count() | mb_substr_count()
4 | ereg() | mb_ereg()
4 | eregi() | mb_eregi()
4 | ereg_replace() | mb_ereg_replace()
4 | eregi_replace() | mb_eregi_replace()
4 | split() | mb_split()

Hinweis:

It is not recommended to use the function overloading option in the per-directory context, because it's not confirmed yet to be stable enough in a production environment and may lead to undefined behaviour.

Supported Character Encodings
PHP Character Encoding Requirements
Multibyte String


PHP Character Encoding Requirements

Encodings of the following types are safely used with PHP.

  • A singlebyte encoding,

    • which has ASCII-compatible (ISO646 compatible) mappings for the characters in range of 00h to 7fh.

  • A multibyte encoding,

    • which has ASCII-compatible mappings for the characters in range of 00h to 7fh.
    • which don't use ISO2022 escape sequences.
    • which don't use a value from 00h to 7fh in any of the compounded bytes that represents a single character.

These are examples of character encodings that are unlikely to work with PHP.

JIS, SJIS, ISO-2022-JP, BIG-5

Although PHP scripts written in any of those encodings might not work, especially in the case where encoded strings appear as identifiers or literals in the script, you can almost avoid using these encodings by setting up the mbstring's transparent encoding filter function for incoming HTTP queries.

Hinweis:

It's highly discouraged to use SJIS, BIG5, CP936, CP949 and GB18030 for the internal encoding unless you are familiar with the parser, the scanner and the character encoding.

Hinweis:

If you are connecting to a database with PHP, it is recommended that you use the same character encoding for both the database and the internal encoding for ease of use and better performance.

If you are using PostgreSQL, the character encoding used in the database and the one used in PHP may differ as it supports automatic character set conversion between the backend and the frontend.

Function Overloading Feature
Multibyte String Funktionen
Multibyte String


Multibyte String Funktionen

References

Multibyte character encoding schemes and their related issues are fairly complicated, and are beyond the scope of this documentation. Please refer to the following URLs and other resources for further information regarding these topics.

  • Unicode materials

    » http://www.unicode.org/

  • Japanese/Korean/Chinese character information

    » http://examples.oreilly.com/cjkvinfo/doc/cjk.inf

Inhaltsverzeichnis

  • mb_check_encoding — Check if the string is valid for the specified encoding
  • mb_convert_case — Perform case folding on a string
  • mb_convert_encoding — Convert character encoding
  • mb_convert_kana — Convert "kana" one from another ("zen-kaku", "han-kaku" and more)
  • mb_convert_variables — Convert character code in variable(s)
  • mb_decode_mimeheader — Decode string in MIME header field
  • mb_decode_numericentity — Decode HTML numeric string reference to character
  • mb_detect_encoding — Detect character encoding
  • mb_detect_order — Set/Get character encoding detection order
  • mb_encode_mimeheader — Encode string for MIME header
  • mb_encode_numericentity — Encode character to HTML numeric string reference
  • mb_encoding_aliases — Get aliases of a known encoding type
  • mb_ereg_match — Regular expression match for multibyte string
  • mb_ereg_replace_callback — Perform a regular expresssion seach and replace with multibyte support using a callback
  • mb_ereg_replace — Replace regular expression with multibyte support
  • mb_ereg_search_getpos — Returns start point for next regular expression match
  • mb_ereg_search_getregs — Retrieve the result from the last multibyte regular expression match
  • mb_ereg_search_init — Setup string and regular expression for a multibyte regular expression match
  • mb_ereg_search_pos — Returns position and length of a matched part of the multibyte regular expression for a predefined multibyte string
  • mb_ereg_search_regs — Returns the matched part of a multibyte regular expression
  • mb_ereg_search_setpos — Set start point of next regular expression match
  • mb_ereg_search — Multibyte regular expression match for predefined multibyte string
  • mb_ereg — Regular expression match with multibyte support
  • mb_eregi_replace — Replace regular expression with multibyte support ignoring case
  • mb_eregi — Regular expression match ignoring case with multibyte support
  • mb_get_info — Get internal settings of mbstring
  • mb_http_input — Detect HTTP input character encoding
  • mb_http_output — Set/Get HTTP output character encoding
  • mb_internal_encoding — Set/Get internal character encoding
  • mb_language — Set/Get current language
  • mb_list_encodings — Returns an array of all supported encodings
  • mb_output_handler — Callback function converts character encoding in output buffer
  • mb_parse_str — Parse GET/POST/COOKIE data and set global variable
  • mb_preferred_mime_name — Get MIME charset string
  • mb_regex_encoding — Set/Get character encoding for multibyte regex
  • mb_regex_set_options — Set/Get the default options for mbregex functions
  • mb_send_mail — Send encoded mail
  • mb_split — Split multibyte string using regular expression
  • mb_strcut — Get part of string
  • mb_strimwidth — Get truncated string with specified width
  • mb_stripos — Finds position of first occurrence of a string within another, case insensitive
  • mb_stristr — Finds first occurrence of a string within another, case insensitive
  • mb_strlen — Get string length
  • mb_strpos — Find position of first occurrence of string in a string
  • mb_strrchr — Finds the last occurrence of a character in a string within another
  • mb_strrichr — Finds the last occurrence of a character in a string within another, case insensitive
  • mb_strripos — Finds position of last occurrence of a string within another, case insensitive
  • mb_strrpos — Find position of last occurrence of a string in a string
  • mb_strstr — Finds first occurrence of a string within another
  • mb_strtolower — Make a string lowercase
  • mb_strtoupper — Make a string uppercase
  • mb_strwidth — Return width of string
  • mb_substitute_character — Set/Get substitution character
  • mb_substr_count — Count the number of substring occurrences
  • mb_substr — Get part of string
PHP Character Encoding Requirements
mb_check_encoding
Multibyte String


Check if the string is valid for the specified encoding

Multibyte String Funktionen
mb_convert_case
Multibyte String Funktionen
PHP Manual

mb_check_encoding

(PHP 4 >= 4.4.3, PHP 5 >= 5.1.3, PHP 7)

mb_check_encoding — Check if the string is valid for the specified encoding

Beschreibung

bool mb_check_encoding ([ string $var = NULL [, string $encoding = mb_internal_encoding() ]] )

Checks if the specified byte stream is valid for the specified encoding. It is useful to prevent so-called "Invalid Encoding Attack".

Parameter-Liste

var

The byte stream to check. If it is omitted, this function checks all the input from the beginning of the request.

encoding

The expected encoding.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Multibyte String Funktionen
mb_convert_case
Multibyte String Funktionen


Perform case folding on a string

mb_check_encoding
mb_convert_encoding
Multibyte String Funktionen
PHP Manual

mb_convert_case

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

mb_convert_case — Perform case folding on a string

Beschreibung

string mb_convert_case ( string $str , int $mode [, string $encoding = mb_internal_encoding() ] )

Performs case folding on a string, converted in the way specified by mode.

Parameter-Liste

str

The string being converted.

mode

The mode of the conversion. It can be one of MB_CASE_UPPER, MB_CASE_LOWER, or MB_CASE_TITLE.

encoding

Der encoding Parameter legt das Zeichenencoding fest. Wird er nicht übergeben so wird die interne Zeichenkodierung genutzt.

Rückgabewerte

A case folded version of string converted in the way specified by mode.

Unicode

By contrast to the standard case folding functions such as strtolower() and strtoupper(), case folding is performed on the basis of the Unicode character properties. Thus the behaviour of this function is not affected by locale settings and it can convert any characters that have 'alphabetic' property, such as A-umlaut (Ä).

For more information about the Unicode properties, please see » http://www.unicode.org/unicode/reports/tr21/.

Beispiele

Beispiel #1 mb_convert_case() example

<?php
$str = "mary had a Little lamb and she loved it so";
$str = mb_convert_case($str, MB_CASE_UPPER, "UTF-8");
echo $str; // Prints MARY HAD A LITTLE LAMB AND SHE LOVED IT SO
$str = mb_convert_case($str, MB_CASE_TITLE, "UTF-8");
echo $str; // Prints Mary Had A Little Lamb And She Loved It So
?>

Beispiel #2 mb_convert_case() example with non-Latin UTF-8 text

<?php
$str = "????st? a??p?? ßaf?? ??µ??? ??, d?as?e???e? ?p?? ?????? ?????";
$str = mb_convert_case($str, MB_CASE_UPPER, "UTF-8");
echo $str; // Prints ????S?? ?????? ??F?S ?????? G?, ???S??????? ???? ?OT??? ????S
$str = mb_convert_case($str, MB_CASE_TITLE, "UTF-8");
echo $str; // Prints ????st? ???p?? ?af?s ??µ??? G?, ??as?e???e? ?p?? ?????? ????s
?>

Siehe auch

  • mb_strtolower() - Make a string lowercase
  • mb_strtoupper() - Make a string uppercase
  • strtolower() - Setzt einen String in Kleinbuchstaben um
  • strtoupper() - Wandelt alle Zeichen eines Strings in Großbuchstaben um
  • ucfirst() - Verwandelt das erste Zeichen eines Strings in einen Großbuchstaben
  • ucwords() - Wandelt jeden ersten Buchstaben eines Wortes innerhalb eines Strings in einen Großbuchstaben

mb_check_encoding
mb_convert_encoding
Multibyte String Funktionen


Convert character encoding

mb_convert_case
mb_convert_kana
Multibyte String Funktionen
PHP Manual

mb_convert_encoding

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

mb_convert_encoding — Convert character encoding

Beschreibung

string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding = mb_internal_encoding() ] )

Converts the character encoding of string str to to_encoding from optionally from_encoding.

Parameter-Liste

str

The string being encoded.

to_encoding

The type of encoding that str is being converted to.

from_encoding

Is specified by character code names before conversion. It is either an array, or a comma separated enumerated list. If from_encoding is not specified, the internal encoding will be used.

See supported encodings.

Rückgabewerte

The encoded string.

Beispiele

Beispiel #1 mb_convert_encoding() example

<?php
/* Convert internal character encoding to SJIS */
$str = mb_convert_encoding($str, "SJIS");

/* Convert EUC-JP to UTF-7 */
$str = mb_convert_encoding($str, "UTF-7", "EUC-JP");

/* Auto detect encoding from JIS, eucjp-win, sjis-win, then convert str to UCS-2LE */
$str = mb_convert_encoding($str, "UCS-2LE", "JIS, eucjp-win, sjis-win");

/* "auto" is expanded to "ASCII,JIS,UTF-8,EUC-JP,SJIS" */
$str = mb_convert_encoding($str, "EUC-JP", "auto");
?>

Siehe auch

  • mb_detect_order() - Set/Get character encoding detection order

mb_convert_case
mb_convert_kana
Multibyte String Funktionen


Convert "kana" one from another ("zen-kaku", "han-kaku" and more)

mb_convert_encoding
mb_convert_variables
Multibyte String Funktionen
PHP Manual

mb_convert_kana

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

mb_convert_kana — Convert "kana" one from another ("zen-kaku", "han-kaku" and more)

Beschreibung

string mb_convert_kana ( string $str [, string $option = "KV" [, string $encoding = mb_internal_encoding() ]] )

Performs a "han-kaku" - "zen-kaku" conversion for string str. This function is only useful for Japanese.

Parameter-Liste

str

The string being converted.

option

The conversion option.

Specify with a combination of following options.

Applicable Conversion Options
Option | Meaning
r | Convert "zen-kaku" alphabets to "han-kaku"
R | Convert "han-kaku" alphabets to "zen-kaku"
n | Convert "zen-kaku" numbers to "han-kaku"
N | Convert "han-kaku" numbers to "zen-kaku"
a | Convert "zen-kaku" alphabets and numbers to "han-kaku"
A | Convert "han-kaku" alphabets and numbers to "zen-kaku" (Characters included in "a", "A" options are U+0021 - U+007E excluding U+0022, U+0027, U+005C, U+007E)
s | Convert "zen-kaku" space to "han-kaku" (U+3000 -> U+0020)
S | Convert "han-kaku" space to "zen-kaku" (U+0020 -> U+3000)
k | Convert "zen-kaku kata-kana" to "han-kaku kata-kana"
K | Convert "han-kaku kata-kana" to "zen-kaku kata-kana"
h | Convert "zen-kaku hira-gana" to "han-kaku kata-kana"
H | Convert "han-kaku kata-kana" to "zen-kaku hira-gana"
c | Convert "zen-kaku kata-kana" to "zen-kaku hira-gana"
C | Convert "zen-kaku hira-gana" to "zen-kaku kata-kana"
V | Collapse voiced sound notation and convert them into a character. Use with "K","H"

encoding

Der encoding Parameter legt das Zeichenencoding fest. Wird er nicht übergeben so wird die interne Zeichenkodierung genutzt.

Rückgabewerte

The converted string.

Beispiele

Beispiel #1 mb_convert_kana() example

<?php
/* Convert all "kana" to "zen-kaku" "kata-kana" */
$str = mb_convert_kana($str, "KVC");

/* Convert "han-kaku" "kata-kana" to "zen-kaku" "kata-kana"
   and "zen-kaku" alpha-numeric to "han-kaku" */
$str = mb_convert_kana($str, "KVa");
?>

mb_convert_encoding
mb_convert_variables
Multibyte String Funktionen


Convert character code in variable(s)

mb_convert_kana
mb_decode_mimeheader
Multibyte String Funktionen
PHP Manual

mb_convert_variables

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

mb_convert_variables — Convert character code in variable(s)

Beschreibung

string mb_convert_variables ( string $to_encoding , mixed $from_encoding , mixed &$vars [, mixed &$... ] )

Converts character encoding of variables vars in encoding from_encoding to encoding to_encoding.

mb_convert_variables() join strings in Array or Object to detect encoding, since encoding detection tends to fail for short strings. Therefore, it is impossible to mix encoding in single array or object.

Parameter-Liste

to_encoding

The encoding that the string is being converted to.

from_encoding

from_encoding is specified as an array or comma separated string, it tries to detect encoding from from-coding. When from_encoding is omitted, detect_order is used.

vars

vars is the reference to the variable being converted. String, Array and Object are accepted. mb_convert_variables() assumes all parameters have the same encoding.

...

Additional vars.

Rückgabewerte

The character encoding before conversion for success, or FALSE for failure.

Beispiele

Beispiel #1 mb_convert_variables() example

<?php
/* Convert variables $post1, $post2 to internal encoding */
$interenc = mb_internal_encoding();
$inputenc = mb_convert_variables($interenc, "ASCII,UTF-8,SJIS-win", $post1, $post2);
?>

mb_convert_kana
mb_decode_mimeheader
Multibyte String Funktionen


Decode string in MIME header field

mb_convert_variables
mb_decode_numericentity
Multibyte String Funktionen
PHP Manual

mb_decode_mimeheader

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

mb_decode_mimeheader — Decode string in MIME header field

Beschreibung

string mb_decode_mimeheader ( string $str )

Decodes encoded-word string str in MIME header.

Parameter-Liste

str

The string being decoded.

Rückgabewerte

The decoded string in internal character encoding.

Siehe auch

  • mb_encode_mimeheader() - Encode string for MIME header

mb_convert_variables
mb_decode_numericentity
Multibyte String Funktionen


Decode HTML numeric string reference to character

mb_decode_mimeheader
mb_detect_encoding
Multibyte String Funktionen
PHP Manual

mb_decode_numericentity

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

mb_decode_numericentity — Decode HTML numeric string reference to character

Beschreibung

string mb_decode_numericentity ( string $str , array $convmap [, string $encoding = mb_internal_encoding() ] )

Convert numeric string reference of string str in a specified block to character.

Parameter-Liste

str

The string being decoded.

convmap

convmap is an array that specifies the code area to convert.

encoding

Der encoding Parameter legt das Zeichenencoding fest. Wird er nicht übergeben so wird die interne Zeichenkodierung genutzt.

Rückgabewerte

The converted string.

Beispiele

Beispiel #1 convmap example

<?php
$convmap = array (
   int start_code1, int end_code1, int offset1, int mask1,
   int start_code2, int end_code2, int offset2, int mask2,
   ........
   int start_codeN, int end_codeN, int offsetN, int maskN );
// Specify Unicode value for start_codeN and end_codeN
// Add offsetN to value and take bit-wise 'AND' with maskN,
// then convert value to numeric string reference.
?>

Beispiel #2 convmap example escapes JavaScript string

<?php
function escape_javascript_string($str) {
  $map = [
          1,1,1,1,1,1,1,1,1,1,
          1,1,1,1,1,1,1,1,1,1,
          1,1,1,1,1,1,1,1,1,1,
          1,1,1,1,1,1,1,1,1,1,
          1,1,1,1,1,1,1,1,0,0, // 49
          0,0,0,0,0,0,0,0,1,1,
          1,1,1,1,1,0,0,0,0,0,
          0,0,0,0,0,0,0,0,0,0,
          0,0,0,0,0,0,0,0,0,0,
          0,1,1,1,1,1,1,0,0,0, // 99
          0,0,0,0,0,0,0,0,0,0,
          0,0,0,0,0,0,0,0,0,0,
          0,0,0,1,1,1,1,1,1,1,
          1,1,1,1,1,1,1,1,1,1,
          1,1,1,1,1,1,1,1,1,1, // 149
          1,1,1,1,1,1,1,1,1,1,
          1,1,1,1,1,1,1,1,1,1,
          1,1,1,1,1,1,1,1,1,1,
          1,1,1,1,1,1,1,1,1,1,
          1,1,1,1,1,1,1,1,1,1, // 199
          1,1,1,1,1,1,1,1,1,1,
          1,1,1,1,1,1,1,1,1,1,
          1,1,1,1,1,1,1,1,1,1,
          1,1,1,1,1,1,1,1,1,1,
          1,1,1,1,1,1,1,1,1,1, // 249
          1,1,1,1,1,1,1, // 255
          ];
  // Char encoding is UTF-8
  $mblen = mb_strlen($str, 'UTF-8');
  $utf32 = bin2hex(mb_convert_encoding($str, 'UTF-32', 'UTF-8'));
  for ($i=0, $encoded=''; $i < $mblen; $i++) {
      $u = substr($utf32, $i*8, 8);
      $v = base_convert($u, 16, 10);
      if ($v < 256 && $map[$v]) {
        $encoded .= '\\x'.substr($u, 6,2);
      } else if ($v == 2028) {
        $encoded .= '\\u2028';
      } else if ($v == 2029) {
        $encoded .= '\\u2029';
      } else {
        $encoded .= mb_convert_encoding(hex2bin($u), 'UTF-8', 'UTF-32');
      }
   }
   return $encoded;
}

// Test data
$convmap = [ 0x0, 0xffff, 0, 0xffff ];
$msg = '';
for ($i=0; $i < 1000; $i++) {
  // chr() cannot generate correct UTF-8 data larger value than 128, use mb_decode_numericentity().
  $msg .= mb_decode_numericentity('&#'.$i.';', $convmap, 'UTF-8');
}

// var_dump($msg);
var_dump(escape_javascript_string($msg));

Siehe auch

  • mb_encode_numericentity() - Encode character to HTML numeric string reference

mb_decode_mimeheader
mb_detect_encoding
Multibyte String Funktionen


Detect character encoding

mb_decode_numericentity
mb_detect_order
Multibyte String Funktionen
PHP Manual

mb_detect_encoding

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

mb_detect_encoding — Detect character encoding

Beschreibung

string mb_detect_encoding ( string $str [, mixed $encoding_list = mb_detect_order() [, bool $strict = false ]] )

Detects character encoding in string str.

Parameter-Liste

str

The string being detected.

encoding_list

encoding_list is list of character encoding. Encoding order may be specified by array or comma separated list string.

If encoding_list is omitted, detect_order is used.

strict

strict specifies whether to use the strict encoding detection or not. Default is FALSE.

Rückgabewerte

The detected character encoding or FALSE if the encoding cannot be detected from the given string.

Beispiele

Beispiel #1 mb_detect_encoding() example

<?php
/* Detect character encoding with current detect_order */
echo mb_detect_encoding($str);

/* "auto" is expanded according to mbstring.language */
echo mb_detect_encoding($str, "auto");

/* Specify encoding_list character encoding by comma separated list */
echo mb_detect_encoding($str, "JIS, eucjp-win, sjis-win");

/* Use array to specify encoding_list  */
$ary[] = "ASCII";
$ary[] = "JIS";
$ary[] = "EUC-JP";
echo mb_detect_encoding($str, $ary);
?>

Siehe auch

  • mb_detect_order() - Set/Get character encoding detection order

mb_decode_numericentity
mb_detect_order
Multibyte String Funktionen


Set/Get character encoding detection order

mb_detect_encoding
mb_encode_mimeheader
Multibyte String Funktionen
PHP Manual

mb_detect_order

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

mb_detect_order — Set/Get character encoding detection order

Beschreibung

mixed mb_detect_order ([ mixed $encoding_list = mb_detect_order() ] )

Sets the automatic character encoding detection order to encoding_list.

Parameter-Liste

encoding_list

encoding_list is an array or comma separated list of character encoding. See supported encodings.

If encoding_list is omitted, it returns the current character encoding detection order as array.

This setting affects mb_detect_encoding() and mb_send_mail().

mbstring currently implements the following encoding detection filters. If there is an invalid byte sequence for the following encodings, encoding detection will fail.

UTF-8, UTF-7, ASCII, EUC-JP,SJIS, eucJP-win, SJIS-win, JIS, ISO-2022-JP

For ISO-8859-*, mbstring always detects as ISO-8859-*.

For UTF-16, UTF-32, UCS2 and UCS4, encoding detection will fail always.

Rückgabewerte

When setting the encoding detection order, TRUE is returned on success or FALSE on failure.

When getting the encoding detection order, an ordered array of the encodings is returned.

Beispiele

Beispiel #1 mb_detect_order() examples

<?php
/* Set detection order by enumerated list */
mb_detect_order("eucjp-win,sjis-win,UTF-8");

/* Set detection order by array */
$ary[] = "ASCII";
$ary[] = "JIS";
$ary[] = "EUC-JP";
mb_detect_order($ary);

/* Display current detection order */
echo implode(", ", mb_detect_order());
?>

Beispiel #2 Example showing useless detect orders

; Always detect as ISO-8859-1
detect_order = ISO-8859-1, UTF-8

; Always detect as UTF-8, since ASCII/UTF-7 values are
; valid for UTF-8
detect_order = UTF-8, ASCII, UTF-7

Siehe auch

  • mb_internal_encoding() - Set/Get internal character encoding
  • mb_http_input() - Detect HTTP input character encoding
  • mb_http_output() - Set/Get HTTP output character encoding
  • mb_send_mail() - Send encoded mail

mb_detect_encoding
mb_encode_mimeheader
Multibyte String Funktionen


Encode string for MIME header

mb_detect_order
mb_encode_numericentity
Multibyte String Funktionen
PHP Manual

mb_encode_mimeheader

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

mb_encode_mimeheader — Encode string for MIME header

Beschreibung

string mb_encode_mimeheader ( string $str [, string $charset = determined by mb_language() [, string $transfer_encoding = "B" [, string $linefeed = "\r\n" [, int $indent = 0 ]]]] )

Encodes a given string str by the MIME header encoding scheme.

Parameter-Liste

str

The string being encoded. Its encoding should be same as mb_internal_encoding().

charset

charset specifies the name of the character set in which str is represented in. The default value is determined by the current NLS setting (mbstring.language).

transfer_encoding

transfer_encoding specifies the scheme of MIME encoding. It should be either "B" (Base64) or "Q" (Quoted-Printable). Falls back to "B" if not given.

linefeed

linefeed specifies the EOL (end-of-line) marker with which mb_encode_mimeheader() performs line-folding (a » RFC term, the act of breaking a line longer than a certain length into multiple lines. The length is currently hard-coded to 74 characters). Falls back to "\r\n" (CRLF) if not given.

indent

Indentation of the first line (number of characters in the header before str).

Rückgabewerte

A converted version of the string represented in ASCII.

Beispiele

Beispiel #1 mb_encode_mimeheader() example

<?php
$name = ""; // kanji
$mbox = "kru";
$doma = "gtinn.mon";
$addr = mb_encode_mimeheader($name, "UTF-7", "Q") . " <" . $mbox . "@" . $doma . ">";
echo $addr;
?>

Anmerkungen

Hinweis:

This function isn't designed to break lines at higher-level contextual break points (word boundaries, etc.). This behaviour may clutter up the original string with unexpected spaces.

Siehe auch

  • mb_decode_mimeheader() - Decode string in MIME header field

mb_detect_order
mb_encode_numericentity
Multibyte String Funktionen


Encode character to HTML numeric string reference

mb_encode_mimeheader
mb_encoding_aliases
Multibyte String Funktionen
PHP Manual

mb_encode_numericentity

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

mb_encode_numericentity — Encode character to HTML numeric string reference

Beschreibung

string mb_encode_numericentity ( string $str , array $convmap [, string $encoding = mb_internal_encoding() [, bool $is_hex = FALSE ]] )

Converts specified character codes in string str from character code to HTML numeric character reference.

Parameter-Liste

str

The string being encoded.

convmap

convmap is array specifies code area to convert.

encoding

Der encoding Parameter legt das Zeichenencoding fest. Wird er nicht übergeben so wird die interne Zeichenkodierung genutzt.

is_hex

Rückgabewerte

The converted string.

Changelog

Version | Beschreibung
5.4.0 | Added is_hex parameter.

Beispiele

Beispiel #1 convmap example

<?php
$convmap = array (
 int start_code1, int end_code1, int offset1, int mask1,
 int start_code2, int end_code2, int offset2, int mask2,
 ........
 int start_codeN, int end_codeN, int offsetN, int maskN );
// Specify Unicode value for start_codeN and end_codeN
// Add offsetN to value and take bit-wise 'AND' with maskN, then
// it converts value to numeric string reference.
?>

Beispiele

Beispiel #2 mb_encode_numericentity() example

<?php
/* Convert Left side of ISO-8859-1 to HTML numeric character reference */
$convmap = array(0x80, 0xff, 0, 0xff);
$str = mb_encode_numericentity($str, $convmap, "ISO-8859-1");

/* Convert user defined SJIS-win code in block 95-104 to numeric
   string reference */
$convmap = array(
       0xe000, 0xe03e, 0x1040, 0xffff,
       0xe03f, 0xe0bb, 0x1041, 0xffff,
       0xe0bc, 0xe0fa, 0x1084, 0xffff,
       0xe0fb, 0xe177, 0x1085, 0xffff,
       0xe178, 0xe1b6, 0x10c8, 0xffff,
       0xe1b7, 0xe233, 0x10c9, 0xffff,
       0xe234, 0xe272, 0x110c, 0xffff,
       0xe273, 0xe2ef, 0x110d, 0xffff,
       0xe2f0, 0xe32e, 0x1150, 0xffff,
       0xe32f, 0xe3ab, 0x1151, 0xffff );
$str = mb_encode_numericentity($str, $convmap, "sjis-win");
?>

Siehe auch

  • mb_decode_numericentity() - Decode HTML numeric string reference to character

mb_encode_mimeheader
mb_encoding_aliases
Multibyte String Funktionen


Get aliases of a known encoding type

mb_encode_numericentity
mb_ereg_match
Multibyte String Funktionen
PHP Manual

mb_encoding_aliases

(PHP 5 >= 5.3.0, PHP 7)

mb_encoding_aliases — Get aliases of a known encoding type

Beschreibung

array mb_encoding_aliases ( string $encoding )

Returns an array of aliases for a known encoding type.

Parameter-Liste

encoding

The encoding type being checked, for aliases.

Rückgabewerte

Returns a numerically indexed array of encoding aliases on success, Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Emits an E_WARNING level error if encoding is unknown.

Beispiele

Beispiel #1 mb_encoding_aliases() example

<?php
$encoding        = 'ASCII';
$known_encodings = mb_list_encodings();

if (in_array($encoding, $known_encodings)) {

    $aliases = mb_encoding_aliases($encoding);
    print_r($aliases);

} else {

    echo "Unknown ($encoding) encoding.\n";

}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [0] => ANSI_X3.4-1968
    [1] => iso-ir-6
    [2] => ANSI_X3.4-1986
    [3] => ISO_646.irv:1991
    [4] => US-ASCII
    [5] => ISO646-US
    [6] => us
    [7] => IBM367
    [8] => cp367
    [9] => csASCII
)

Siehe auch

  • mb_list_encodings() - Returns an array of all supported encodings

mb_encode_numericentity
mb_ereg_match
Multibyte String Funktionen


Regular expression match for multibyte string

mb_encoding_aliases
mb_ereg_replace_callback
Multibyte String Funktionen
PHP Manual

mb_ereg_match

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

mb_ereg_match — Regular expression match for multibyte string

Beschreibung

bool mb_ereg_match ( string $pattern , string $string [, string $option = "msr" ] )

A regular expression match for a multibyte string

Parameter-Liste

pattern

The regular expression pattern.

string

The string being evaluated.

option

Rückgabewerte

Returns TRUE if string matches the regular expression pattern, FALSE if not.

Anmerkungen

Hinweis:

Die interne Kodierung oder die mit mb_regex_encoding() festgelegte Zeichenkodierung wird als Zeichenkodierung für diese Funktion genutzt.

Siehe auch

  • mb_regex_encoding() - Set/Get character encoding for multibyte regex
  • mb_ereg() - Regular expression match with multibyte support

mb_encoding_aliases
mb_ereg_replace_callback
Multibyte String Funktionen


Perform a regular expresssion seach and replace with multibyte support using a callback

mb_ereg_match
mb_ereg_replace
Multibyte String Funktionen
PHP Manual

mb_ereg_replace_callback

(PHP 5 >= 5.4.1, PHP 7)

mb_ereg_replace_callback — Perform a regular expresssion seach and replace with multibyte support using a callback

Beschreibung

string mb_ereg_replace_callback ( string $pattern , callable $callback , string $string [, string $option = "msr" ] )

Scans string for matches to pattern, then replaces the matched text with the output of callback function.

The behavior of this function is almost identical to mb_ereg_replace(), except for the fact that instead of replacement parameter, one should specify a callback.

Parameter-Liste

pattern

The regular expression pattern.

Multibyte characters may be used in pattern.

callback

A callback that will be called and passed an array of matched elements in the subject string. The callback should return the replacement string.

You'll often need the callback function for a mb_ereg_replace_callback() in just one place. In this case you can use an anonymous function to declare the callback within the call to mb_ereg_replace_callback(). By doing it this way you have all information for the call in one place and do not clutter the function namespace with a callback function's name not used anywhere else.

string

The string being checked.

option

Matching condition can be set by option parameter. If i is specified for this parameter, the case will be ignored. If x is specified, white space will be ignored. If m is specified, match will be executed in multiline mode and line break will be included in '.'. If p is specified, match will be executed in POSIX mode, line break will be considered as normal character. Note that e cannot be used for mb_ereg_replace_callback().

Rückgabewerte

The resultant string on success, or FALSE on error.

Anmerkungen

Hinweis:

Die interne Kodierung oder die mit mb_regex_encoding() festgelegte Zeichenkodierung wird als Zeichenkodierung für diese Funktion genutzt.

Beispiele

Beispiel #1 mb_ereg_replace_callback() example

<?php
// this text was used in 2002
// we want to get this up to date for 2003
$text = "April fools day is 04/01/2002\n";
$text.= "Last christmas was 12/24/2001\n";
// the callback function
function next_year($matches)
{
  // as usual: $matches[0] is the complete match
  // $matches[1] the match for the first subpattern
  // enclosed in '(...)' and so on
  return $matches[1].($matches[2]+1);
}
echo mb_ereg_replace_callback(
            "(\d{2}/\d{2}/)(\d{4})",
            "next_year",
            $text);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

April fools day is 04/01/2003
Last christmas was 12/24/2002

Beispiel #2 mb_ereg_replace_callback() using anonymous function supported in PHP 5.3.0 or later

<?php
// this text was used in 2002
// we want to get this up to date for 2003
$text = "April fools day is 04/01/2002\n";
$text.= "Last christmas was 12/24/2001\n";

echo mb_ereg_replace_callback(
            "(\d{2}/\d{2}/)(\d{4})",
            function ($matches) {
               return $matches[1].($matches[2]+1);
            },
            $text);
?>

Siehe auch

  • mb_regex_encoding() - Set/Get character encoding for multibyte regex
  • mb_ereg_replace() - Replace regular expression with multibyte support
  • Anonymous functions
  • Informationen über den Callback-Typ

mb_ereg_match
mb_ereg_replace
Multibyte String Funktionen


Replace regular expression with multibyte support

mb_ereg_replace_callback
mb_ereg_search_getpos
Multibyte String Funktionen
PHP Manual

mb_ereg_replace

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

mb_ereg_replace — Replace regular expression with multibyte support

Beschreibung

string mb_ereg_replace ( string $pattern , string $replacement , string $string [, string $option = "msr" ] )

Scans string for matches to pattern, then replaces the matched text with replacement

Parameter-Liste

pattern

The regular expression pattern.

Multibyte characters may be used in pattern.

replacement

The replacement text.

string

The string being checked.

option
Matching condition can be set by option parameter. If i is specified for this parameter, the case will be ignored. If x is specified, white space will be ignored. If m is specified, match will be executed in multiline mode and line break will be included in '.'. If p is specified, match will be executed in POSIX mode, line break will be considered as normal character. If e is specified, replacement string will be evaluated as PHP expression.

Rückgabewerte

The resultant string on success, or FALSE on error.

Changelog

Version | Beschreibung
7.1.0 | The e modifier has been deprecated.

Anmerkungen

Hinweis:

Die interne Kodierung oder die mit mb_regex_encoding() festgelegte Zeichenkodierung wird als Zeichenkodierung für diese Funktion genutzt.

Warnung

Nutzen sie niemals den e Modifikator, wenn sie mit ungesicherten Eingaben arbeiten. Es gibt keine automatische Maskierung wie man sie von preg_replace() kennt). Nichtbeachtung dessen, wird aller Wahrscheinlichkeit nach "remote code execution" Schwachstellen in ihrer Anwendung erzeugen.

Siehe auch

  • mb_regex_encoding() - Set/Get character encoding for multibyte regex
  • mb_eregi_replace() - Replace regular expression with multibyte support ignoring case

mb_ereg_replace_callback
mb_ereg_search_getpos
Multibyte String Funktionen


Returns start point for next regular expression match

mb_ereg_replace
mb_ereg_search_getregs
Multibyte String Funktionen
PHP Manual

mb_ereg_search_getpos

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

mb_ereg_search_getpos — Returns start point for next regular expression match

Beschreibung

int mb_ereg_search_getpos ( void )

Returns the start point for the next regular expression match.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

mb_ereg_search_getpos() returns
the point to start regular expression match for
mb_ereg_search(),
mb_ereg_search_pos(),
mb_ereg_search_regs(). The position is
represented by bytes from the head of string.

Anmerkungen

Hinweis:

Die interne Kodierung oder die mit mb_regex_encoding() festgelegte Zeichenkodierung wird als Zeichenkodierung für diese Funktion genutzt.

Siehe auch

  • mb_regex_encoding() - Set/Get character encoding for multibyte regex
  • mb_ereg_search_setpos() - Set start point of next regular expression match

mb_ereg_replace
mb_ereg_search_getregs
Multibyte String Funktionen


Retrieve the result from the last multibyte regular expression match

mb_ereg_search_getpos
mb_ereg_search_init
Multibyte String Funktionen
PHP Manual

mb_ereg_search_getregs

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

mb_ereg_search_getregs — Retrieve the result from the last multibyte regular expression match

Beschreibung

array mb_ereg_search_getregs ( void )

Retrieve the result from the last multibyte regular expression match

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An array including the sub-string of matched part by last mb_ereg_search(), mb_ereg_search_pos(), mb_ereg_search_regs(). If there are some matches, the first element will have the matched sub-string, the second element will have the first part grouped with brackets, the third element will have the second part grouped with brackets, and so on. It returns FALSE on error;

Anmerkungen

Hinweis:

Die interne Kodierung oder die mit mb_regex_encoding() festgelegte Zeichenkodierung wird als Zeichenkodierung für diese Funktion genutzt.

Siehe auch

  • mb_regex_encoding() - Set/Get character encoding for multibyte regex
  • mb_ereg_search_init() - Setup string and regular expression for a multibyte regular expression match

mb_ereg_search_getpos
mb_ereg_search_init
Multibyte String Funktionen


Setup string and regular expression for a multibyte regular expression match

mb_ereg_search_getregs
mb_ereg_search_pos
Multibyte String Funktionen
PHP Manual

mb_ereg_search_init

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

mb_ereg_search_init — Setup string and regular expression for a multibyte regular expression match

Beschreibung

bool mb_ereg_search_init ( string $string [, string $pattern [, string $option = "msr" ]] )

mb_ereg_search_init() sets
string and pattern
for a multibyte regular expression. These values are used for
mb_ereg_search(),
mb_ereg_search_pos(), and
mb_ereg_search_regs().

Parameter-Liste

string

The search string.

pattern

The search pattern.

option

The search option.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Hinweis:

Die interne Kodierung oder die mit mb_regex_encoding() festgelegte Zeichenkodierung wird als Zeichenkodierung für diese Funktion genutzt.

Siehe auch

  • mb_regex_encoding() - Set/Get character encoding for multibyte regex
  • mb_ereg_search_regs() - Returns the matched part of a multibyte regular expression

mb_ereg_search_getregs
mb_ereg_search_pos
Multibyte String Funktionen


Returns position and length of a matched part of the multibyte regular expression for a predefined multibyte string

mb_ereg_search_init
mb_ereg_search_regs
Multibyte String Funktionen
PHP Manual

mb_ereg_search_pos

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

mb_ereg_search_pos — Returns position and length of a matched part of the multibyte regular expression for a predefined multibyte string

Beschreibung

array mb_ereg_search_pos ([ string $pattern [, string $option = "ms" ]] )

Returns position and length of a matched part of the multibyte regular expression for a predefined multibyte string

The string for match is specified by mb_ereg_search_init(). If it is not specified, the previous one will be used.

Parameter-Liste

pattern

The search pattern.

option

The search option.

Rückgabewerte

An array containing two elements. The first element is the offset, in bytes, where the match begins relative to the start of the search string, and the second element is the length in bytes of the match.

If an error occurs, FALSE is returned.

Anmerkungen

Hinweis:

Die interne Kodierung oder die mit mb_regex_encoding() festgelegte Zeichenkodierung wird als Zeichenkodierung für diese Funktion genutzt.

Siehe auch

  • mb_regex_encoding() - Set/Get character encoding for multibyte regex
  • mb_ereg_search_init() - Setup string and regular expression for a multibyte regular expression match

mb_ereg_search_init
mb_ereg_search_regs
Multibyte String Funktionen


Returns the matched part of a multibyte regular expression

mb_ereg_search_pos
mb_ereg_search_setpos
Multibyte String Funktionen
PHP Manual

mb_ereg_search_regs

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

mb_ereg_search_regs — Returns the matched part of a multibyte regular expression

Beschreibung

array mb_ereg_search_regs ([ string $pattern [, string $option = "ms" ]] )

Returns the matched part of a multibyte regular expression.

Parameter-Liste

pattern

The search pattern.

option

The search option.

Rückgabewerte

mb_ereg_search_regs() executes the multibyte regular expression match, and if there are some matched part, it returns an array including substring of matched part as first element, the first grouped part with brackets as second element, the second grouped part as third element, and so on. It returns FALSE on error.

Anmerkungen

Hinweis:

Die interne Kodierung oder die mit mb_regex_encoding() festgelegte Zeichenkodierung wird als Zeichenkodierung für diese Funktion genutzt.

Siehe auch

  • mb_regex_encoding() - Set/Get character encoding for multibyte regex
  • mb_ereg_search_init() - Setup string and regular expression for a multibyte regular expression match

mb_ereg_search_pos
mb_ereg_search_setpos
Multibyte String Funktionen


Set start point of next regular expression match

mb_ereg_search_regs
mb_ereg_search
Multibyte String Funktionen
PHP Manual

mb_ereg_search_setpos

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

mb_ereg_search_setpos — Set start point of next regular expression match

Beschreibung

bool mb_ereg_search_setpos ( int $position )

mb_ereg_search_setpos() sets the starting point of a match for mb_ereg_search().

Parameter-Liste

position

The position to set. If it is negative, it counts from the end of the string.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
7.1.0 | Support for negative positions has been added.

Anmerkungen

Hinweis:

Die interne Kodierung oder die mit mb_regex_encoding() festgelegte Zeichenkodierung wird als Zeichenkodierung für diese Funktion genutzt.

Siehe auch

  • mb_regex_encoding() - Set/Get character encoding for multibyte regex
  • mb_ereg_search_init() - Setup string and regular expression for a multibyte regular expression match

mb_ereg_search_regs
mb_ereg_search
Multibyte String Funktionen


Multibyte regular expression match for predefined multibyte string

mb_ereg_search_setpos
mb_ereg
Multibyte String Funktionen
PHP Manual

mb_ereg_search

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

mb_ereg_search — Multibyte regular expression match for predefined multibyte string

Beschreibung

bool mb_ereg_search ([ string $pattern [, string $option = "ms" ]] )

Performs a multibyte regular expression match for a predefined multibyte string.

Parameter-Liste

pattern

The search pattern.

option

The search option.

Rückgabewerte

mb_ereg_search() returns TRUE if the multibyte string matches with the regular expression, or FALSE otherwise. The string for matching is set by mb_ereg_search_init(). If pattern is not specified, the previous one is used.

Anmerkungen

Hinweis:

Die interne Kodierung oder die mit mb_regex_encoding() festgelegte Zeichenkodierung wird als Zeichenkodierung für diese Funktion genutzt.

Siehe auch

  • mb_regex_encoding() - Set/Get character encoding for multibyte regex
  • mb_ereg_search_init() - Setup string and regular expression for a multibyte regular expression match

mb_ereg_search_setpos
mb_ereg
Multibyte String Funktionen


Regular expression match with multibyte support

mb_ereg_search
mb_eregi_replace
Multibyte String Funktionen
PHP Manual

mb_ereg

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

mb_ereg — Regular expression match with multibyte support

Beschreibung

int mb_ereg ( string $pattern , string $string [, array &$regs ] )

Executes the regular expression match with multibyte support.

Parameter-Liste

pattern

The search pattern.

string

The search string.

regs

If matches are found for parenthesized substrings of pattern and the function is called with the third argument regs, the matches will be stored in the elements of the array regs. If no matches are found, regs is set to an empty array.

$regs[1] will contain the substring which starts at the first left parenthesis; $regs[2] will contain the substring starting at the second, and so on. $regs[0] will contain a copy of the complete string matched.

Rückgabewerte

Returns the byte length of the matched string if a match for pattern was found in string, or FALSE if no matches were found or an error occurred.

If the optional parameter regs was not passed or the length of the matched string is 0, this function returns 1.

Changelog

Version | Beschreibung
7.1.0 | mb_ereg() will now set regs to an empty array, if nothing matched. Formerly, regs was not modified in that case.

Anmerkungen

Hinweis:

Die interne Kodierung oder die mit mb_regex_encoding() festgelegte Zeichenkodierung wird als Zeichenkodierung für diese Funktion genutzt.

Siehe auch

  • mb_regex_encoding() - Set/Get character encoding for multibyte regex
  • mb_eregi() - Regular expression match ignoring case with multibyte support

mb_ereg_search
mb_eregi_replace
Multibyte String Funktionen


Replace regular expression with multibyte support ignoring case

mb_ereg
mb_eregi
Multibyte String Funktionen
PHP Manual

mb_eregi_replace

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

mb_eregi_replace — Replace regular expression with multibyte support ignoring case

Beschreibung

string mb_eregi_replace ( string $pattern , string $replace , string $string [, string $option = "msri" ] )

Scans string for matches to pattern, then replaces the matched text with replacement.

Parameter-Liste

pattern

The regular expression pattern. Multibyte characters may be used. The case will be ignored.

replace

The replacement text.

string

The searched string.

option
option has the same meaning as in mb_ereg_replace().

Rückgabewerte

The resultant string or FALSE on error.

Changelog

Version | Beschreibung
7.1.0 | The e modifier has been deprecated.

Anmerkungen

Hinweis:

Die interne Kodierung oder die mit mb_regex_encoding() festgelegte Zeichenkodierung wird als Zeichenkodierung für diese Funktion genutzt.

Warnung

Nutzen sie niemals den e Modifikator, wenn sie mit ungesicherten Eingaben arbeiten. Es gibt keine automatische Maskierung wie man sie von preg_replace() kennt). Nichtbeachtung dessen, wird aller Wahrscheinlichkeit nach "remote code execution" Schwachstellen in ihrer Anwendung erzeugen.

Siehe auch

  • mb_regex_encoding() - Set/Get character encoding for multibyte regex
  • mb_ereg_replace() - Replace regular expression with multibyte support

mb_ereg
mb_eregi
Multibyte String Funktionen


Regular expression match ignoring case with multibyte support

mb_eregi_replace
mb_get_info
Multibyte String Funktionen
PHP Manual

mb_eregi

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

mb_eregi — Regular expression match ignoring case with multibyte support

Beschreibung

int mb_eregi ( string $pattern , string $string [, array &$regs ] )

Executes the case insensitive regular expression match with multibyte support.

Parameter-Liste

pattern

The regular expression pattern.

string

The string being searched.

regs

If matches are found for parenthesized substrings of pattern and the function is called with the third argument regs, the matches will be stored in the elements of the array regs. If no matches are found, regs is set to an empty array.

$regs[1] will contain the substring which starts at the first left parenthesis; $regs[2] will contain the substring starting at the second, and so on. $regs[0] will contain a copy of the complete string matched.

Rückgabewerte

Returns the byte length of the matched string if a match for pattern was found in string, or FALSE if no matches were found or an error occurred.

If the optional parameter regs was not passed or the length of the matched string is 0, this function returns 1.

Changelog

Version | Beschreibung
7.1.0 | mb_eregi() will now set regs to an empty array, if nothing matched. Formerly, regs was not modified in that case.

Anmerkungen

Hinweis:

Die interne Kodierung oder die mit mb_regex_encoding() festgelegte Zeichenkodierung wird als Zeichenkodierung für diese Funktion genutzt.

Siehe auch

  • mb_regex_encoding() - Set/Get character encoding for multibyte regex
  • mb_ereg() - Regular expression match with multibyte support

mb_eregi_replace
mb_get_info
Multibyte String Funktionen


Get internal settings of mbstring

mb_eregi
mb_http_input
Multibyte String Funktionen
PHP Manual

mb_get_info

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

mb_get_info — Get internal settings of mbstring

Beschreibung

mixed mb_get_info ([ string $type = "all" ] )

mb_get_info() returns the internal setting parameters of mbstring.

Parameter-Liste

type

If type isn't specified or is specified to "all", an array having the elements "internal_encoding", "http_output", "http_input", "func_overload", "mail_charset", "mail_header_encoding", "mail_body_encoding" will be returned.

If type is specified as "http_output", "http_input", "internal_encoding", "func_overload", the specified setting parameter will be returned.

Rückgabewerte

An array of type information if type is not specified, otherwise a specific type.

Changelog

Version | Beschreibung
5.1.3 | The entries "mail_charset", "mail_header_encoding", and "mail_body_encoding" were made available.
5.3.0 | The entry "http_output_conv_mimetypes" was made available.

Siehe auch

  • mb_regex_encoding() - Set/Get character encoding for multibyte regex
  • mb_http_output() - Set/Get HTTP output character encoding

mb_eregi
mb_http_input
Multibyte String Funktionen


Detect HTTP input character encoding

mb_get_info
mb_http_output
Multibyte String Funktionen
PHP Manual

mb_http_input

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

mb_http_input — Detect HTTP input character encoding

Beschreibung

mixed mb_http_input ([ string $type = "" ] )

Detects the HTTP input character encoding.

Parameter-Liste

type

Input string specifies the input type. "G" for GET, "P" for POST, "C" for COOKIE, "S" for string, "L" for list, and "I" for the whole list (will return array). If type is omitted, it returns the last input type processed.

Rückgabewerte

The character encoding name, as per the type. If mb_http_input() does not process specified HTTP input, it returns FALSE.

Siehe auch

  • mb_internal_encoding() - Set/Get internal character encoding
  • mb_http_output() - Set/Get HTTP output character encoding
  • mb_detect_order() - Set/Get character encoding detection order

mb_get_info
mb_http_output
Multibyte String Funktionen


Set/Get HTTP output character encoding

mb_http_input
mb_internal_encoding
Multibyte String Funktionen
PHP Manual

mb_http_output

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

mb_http_output — Set/Get HTTP output character encoding

Beschreibung

mixed mb_http_output ([ string $encoding = mb_http_output() ] )

Set/Get the HTTP output character encoding. Output after this function is called will be converted from the set internal encoding to encoding.

Parameter-Liste

encoding

If encoding is set, mb_http_output() sets the HTTP output character encoding to encoding.

If encoding is omitted, mb_http_output() returns the current HTTP output character encoding.

Rückgabewerte

If encoding is omitted, mb_http_output() returns the current HTTP output character encoding. Otherwise, Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • mb_internal_encoding() - Set/Get internal character encoding
  • mb_http_input() - Detect HTTP input character encoding
  • mb_detect_order() - Set/Get character encoding detection order

mb_http_input
mb_internal_encoding
Multibyte String Funktionen


Set/Get internal character encoding

mb_http_output
mb_language
Multibyte String Funktionen
PHP Manual

mb_internal_encoding

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

mb_internal_encoding — Set/Get internal character encoding

Beschreibung

mixed mb_internal_encoding ([ string $encoding = mb_internal_encoding() ] )

Set/Get the internal character encoding

Parameter-Liste

encoding

encoding is the character encoding name used for the HTTP input character encoding conversion, HTTP output character encoding conversion, and the default character encoding for string functions defined by the mbstring module. You should notice that the internal encoding is totally different from the one for multibyte regex.

Rückgabewerte

If encoding is set, then Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. In this case, the character encoding for multibyte regex is NOT changed. If encoding is omitted, then the current character encoding name is returned.

Beispiele

Beispiel #1 mb_internal_encoding() example

<?php
/* Set internal character encoding to UTF-8 */
mb_internal_encoding("UTF-8");

/* Display current internal character encoding */
echo mb_internal_encoding();
?>

Siehe auch

  • mb_http_input() - Detect HTTP input character encoding
  • mb_http_output() - Set/Get HTTP output character encoding
  • mb_detect_order() - Set/Get character encoding detection order
  • mb_regex_encoding() - Set/Get character encoding for multibyte regex

mb_http_output
mb_language
Multibyte String Funktionen


Set/Get current language

mb_internal_encoding
mb_list_encodings
Multibyte String Funktionen
PHP Manual

mb_language

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

mb_language — Set/Get current language

Beschreibung

mixed mb_language ([ string $language = mb_language() ] )

Set/Get the current language.

Parameter-Liste

language

Used for encoding e-mail messages. Valid languages are "Japanese", "ja","English","en" and "uni" (UTF-8). mb_send_mail() uses this setting to encode e-mail.

Language and its setting is ISO-2022-JP/Base64 for Japanese, UTF-8/Base64 for uni, ISO-8859-1/quoted printable for English.

Rückgabewerte

If language is set and language is valid, it returns TRUE. Otherwise, it returns FALSE. When language is omitted, it returns the language name as a string. If no language is set previously, it then returns FALSE.

Siehe auch

  • mb_send_mail() - Send encoded mail

mb_internal_encoding
mb_list_encodings
Multibyte String Funktionen


Returns an array of all supported encodings

mb_language
mb_output_handler
Multibyte String Funktionen
PHP Manual

mb_list_encodings

(PHP 5, PHP 7)

mb_list_encodings — Returns an array of all supported encodings

Beschreibung

array mb_list_encodings ( void )

Returns an array containing all supported encodings.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a numerically indexed array.

Fehler/Exceptions

This function does not emit any errors.

Beispiele

Beispiel #1 mb_list_encodings() example

<?php

print_r(mb_list_encodings());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [0] => pass
    [1] => auto
    [2] => wchar
    [3] => byte2be
    [4] => byte2le
    [5] => byte4be
    [6] => byte4le
    [7] => BASE64
    [8] => UUENCODE
    [9] => HTML-ENTITIES
    [10] => Quoted-Printable
    [11] => 7bit
    [12] => 8bit
    [13] => UCS-4
    [14] => UCS-4BE
    [15] => UCS-4LE
    [16] => UCS-2
    [17] => UCS-2BE
    [18] => UCS-2LE
    [19] => UTF-32
    [20] => UTF-32BE
    [21] => UTF-32LE
    [22] => UTF-16
    [23] => UTF-16BE
    [24] => UTF-16LE
    [25] => UTF-8
    [26] => UTF-7
    [27] => UTF7-IMAP
    [28] => ASCII
    [29] => EUC-JP
    [30] => SJIS
    [31] => eucJP-win
    [32] => SJIS-win
    [33] => JIS
    [34] => ISO-2022-JP
    [35] => Windows-1252
    [36] => ISO-8859-1
    [37] => ISO-8859-2
    [38] => ISO-8859-3
    [39] => ISO-8859-4
    [40] => ISO-8859-5
    [41] => ISO-8859-6
    [42] => ISO-8859-7
    [43] => ISO-8859-8
    [44] => ISO-8859-9
    [45] => ISO-8859-10
    [46] => ISO-8859-13
    [47] => ISO-8859-14
    [48] => ISO-8859-15
    [49] => EUC-CN
    [50] => CP936
    [51] => HZ
    [52] => EUC-TW
    [53] => BIG-5
    [54] => EUC-KR
    [55] => UHC
    [56] => ISO-2022-KR
    [57] => Windows-1251
    [58] => CP866
    [59] => KOI8-R
)

mb_language
mb_output_handler
Multibyte String Funktionen


Callback function converts character encoding in output buffer

mb_list_encodings
mb_parse_str
Multibyte String Funktionen
PHP Manual

mb_output_handler

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

mb_output_handler — Callback function converts character encoding in output buffer

Beschreibung

string mb_output_handler ( string $contents , int $status )

mb_output_handler() is
ob_start() callback
function. mb_output_handler() converts
characters in the output buffer from internal character encoding to
HTTP output character encoding.

Parameter-Liste

contents

The contents of the output buffer.

status

The status of the output buffer.

Rückgabewerte

The converted string.

Changelog

Version Beschreibung
4.1.0

This handler now adds the charset HTTP header when the following conditions are met:

  • Content-Type has not been set, using header().
  • The default MIME type begins with text/.
  • The mbstring.http_input setting is something other than pass.

Beispiele

Beispiel #1 mb_output_handler() example

<?php
mb_http_output("UTF-8");
ob_start("mb_output_handler");
?>

Anmerkungen

Hinweis:

If you want to output binary data, such as an image, a Content-Type: header must be set using header() before any binary data is sent to the client (e.g. header("Content-Type: image/png")). If Content-Type: header is sent, output character encoding conversion will not be performed.

Note that if 'Content-Type: text/*' is sent, the content body is regarded as text; conversion will take place.

Siehe auch

  • ob_start() - Ausgabepufferung aktivieren

mb_list_encodings
mb_parse_str
Multibyte String Funktionen


Parse GET/POST/COOKIE data and set global variable

mb_output_handler
mb_preferred_mime_name
Multibyte String Funktionen
PHP Manual

mb_parse_str

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

mb_parse_str — Parse GET/POST/COOKIE data and set global variable

Beschreibung

bool mb_parse_str ( string $encoded_string [, array &$result ] )

Parses GET/POST/COOKIE data and sets global variables. Since PHP does not provide raw POST/COOKIE data, it can only be used for GET data for now. It parses URL encoded data, detects encoding, converts coding to internal encoding and set values to the result array or global variables.

Parameter-Liste

encoded_string

The URL encoded data.

result

An array containing decoded and character encoded converted values.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • mb_detect_order() - Set/Get character encoding detection order
  • mb_internal_encoding() - Set/Get internal character encoding

mb_output_handler
mb_preferred_mime_name
Multibyte String Funktionen


Get MIME charset string

mb_parse_str
mb_regex_encoding
Multibyte String Funktionen
PHP Manual

mb_preferred_mime_name

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

mb_preferred_mime_name — Get MIME charset string

Beschreibung

string mb_preferred_mime_name ( string $encoding )

Get a MIME charset string for a specific encoding.

Parameter-Liste

encoding

The encoding being checked.

Rückgabewerte

The MIME charset string for character encoding encoding.

Beispiele

Beispiel #1 mb_preferred_mime_name() example

<?php
$outputenc = "sjis-win";
mb_http_output($outputenc);
ob_start("mb_output_handler");
header("Content-Type: text/html; charset=" . mb_preferred_mime_name($outputenc));
?>

mb_parse_str
mb_regex_encoding
Multibyte String Funktionen


Set/Get character encoding for multibyte regex

mb_preferred_mime_name
mb_regex_set_options
Multibyte String Funktionen
PHP Manual

mb_regex_encoding

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

mb_regex_encoding — Set/Get character encoding for multibyte regex

Beschreibung

mixed mb_regex_encoding ([ string $encoding = mb_regex_encoding() ] )

Set/Get character encoding for a multibyte regex.

Parameter-Liste

encoding

Der encoding Parameter legt das Zeichenencoding fest. Wird er nicht übergeben so wird die interne Zeichenkodierung genutzt.

Rückgabewerte

If encoding is set, then Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. In this case, the internal character encoding is NOT changed. If encoding is omitted, then the current character encoding name for a multibyte regex is returned.

Changelog

Version | Beschreibung
5.6.0 | Default encoding is changed to UTF-8. It was EUC-JP Previously.

Siehe auch

  • mb_internal_encoding() - Set/Get internal character encoding
  • mb_ereg() - Regular expression match with multibyte support

mb_preferred_mime_name
mb_regex_set_options
Multibyte String Funktionen


Set/Get the default options for mbregex functions

mb_regex_encoding
mb_send_mail
Multibyte String Funktionen
PHP Manual

mb_regex_set_options

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

mb_regex_set_options — Set/Get the default options for mbregex functions

Beschreibung

string mb_regex_set_options ([ string $options = mb_regex_set_options() ] )

Sets the default options described by options for multibyte regex functions.

Parameter-Liste

options

The options to set. This is a string where each character is an option. To set a mode, the mode character must be the last one set, however there can only be set one mode but multiple options.

Regex options
Option | Meaning
i | Ambiguity match on
x | Enables extended pattern form
m | '.' matches with newlines
s | '^' -> '\A', '$' -> '\Z'
p | Same as both the m and s options
l | Finds longest matches
n | Ignores empty matches
e | eval() resulting code
Regex syntax modes
Mode | Meaning
j | Java (Sun java.util.regex)
u | GNU regex
g | grep
c | Emacs
r | Ruby
z | Perl
b | POSIX Basic regex
d | POSIX Extended regex

Rückgabewerte

The previous options. If options is omitted, it returns the string that describes the current options.

Siehe auch

  • mb_split() - Split multibyte string using regular expression
  • mb_ereg() - Regular expression match with multibyte support
  • mb_eregi() - Regular expression match ignoring case with multibyte support

mb_regex_encoding
mb_send_mail
Multibyte String Funktionen


Send encoded mail

mb_regex_set_options
mb_split
Multibyte String Funktionen
PHP Manual

mb_send_mail

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

mb_send_mail — Send encoded mail

Beschreibung

bool mb_send_mail ( string $to , string $subject , string $message [, string $additional_headers = NULL [, string $additional_parameter = NULL ]] )

Sends email. Headers and messages are converted and encoded according to the mb_language() setting. It's a wrapper function for mail(), so see also mail() for details.

Parameter-Liste

to

The mail addresses being sent to. Multiple recipients may be specified by putting a comma between each address in to. This parameter is not automatically encoded.

subject

The subject of the mail.

message

The message of the mail.

additional_headers (optional)

String to be inserted at the end of the email header.

This is typically used to add extra headers (From, Cc, and Bcc). Multiple extra headers should be separated with a CRLF (\r\n). Validate parameter not to be injected unwanted headers by attackers.

Hinweis:

When sending mail, the mail must contain a From header. This can be set with the additional_headers parameter, or a default can be set in php.ini.

Failing to do this will result in an error message similar to Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing. The From header sets also Return-Path under Windows.

Hinweis:

If messages are not received, try using a LF (\n) only. Some Unix mail transfer agents (most notably » qmail) replace LF by CRLF automatically (which leads to doubling CR if CRLF is used). This should be a last resort, as it does not comply with » RFC 2822.

additional_parameter

additional_parameter is a MTA command line parameter. It is useful when setting the correct Return-Path header when using sendmail.

This parameter is escaped by escapeshellcmd() internally to prevent command execution. escapeshellcmd() prevents command execution, but allows to add addtional parameters. For security reason, this parameter should be validated.

Since escapeshellcmd() is applied automatically, some characters that are allowed as email addresses by internet RFCs cannot be used. Programs that are required to use these characters mail() cannot be used.

The user that the webserver runs as should be added as a trusted user to the sendmail configuration to prevent a 'X-Warning' header from being added to the message when the envelope sender (-f) is set using this method. For sendmail users, this file is /etc/mail/trusted-users.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • mail() - E-Mails senden
  • mb_encode_mimeheader() - Encode string for MIME header
  • mb_language() - Set/Get current language

mb_regex_set_options
mb_split
Multibyte String Funktionen


Split multibyte string using regular expression

mb_send_mail
mb_strcut
Multibyte String Funktionen
PHP Manual

mb_split

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

mb_split — Split multibyte string using regular expression

Beschreibung

array mb_split ( string $pattern , string $string [, int $limit = -1 ] )

Split a multibyte string using regular expression pattern and returns the result as an array.

Parameter-Liste

pattern

The regular expression pattern.

string

The string being split.

limit
If optional parameter limit is specified, it will be split in limit elements as maximum.

Rückgabewerte

The result as an array.

Anmerkungen

Hinweis:

Die durch mb_regex_encoding() angegebene Zeichenkodierung wird von dieser Funktion als die Standardkodierung verwendet.

Siehe auch

  • mb_regex_encoding() - Set/Get character encoding for multibyte regex
  • mb_ereg() - Regular expression match with multibyte support

mb_send_mail
mb_strcut
Multibyte String Funktionen


Get part of string

mb_split
mb_strimwidth
Multibyte String Funktionen
PHP Manual

mb_strcut

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

mb_strcut — Get part of string

Beschreibung

string mb_strcut ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] )

mb_strcut() extracts a substring from a string similarly to mb_substr(), but operates on bytes instead of characters. If the cut position happens to be between two bytes of a multi-byte character, the cut is performed starting from the first byte of that character. This is also the difference to the substr() function, which would simply cut the string between the bytes and thus result in a malformed byte sequence.

Parameter-Liste

str

The string being cut.

start

If start is non-negative, the returned string will start at the start'th byte position in str, counting from zero. For instance, in the string 'abcdef', the byte at position 0 is 'a', the byte at position 2 is 'c', and so forth.

If start is negative, the returned string will start at the start'th byte from the end of str.

length

Length in bytes. If omitted or NULL is passed, extract all bytes to the end of the string.

encoding

Der encoding Parameter legt das Zeichenencoding fest. Wird er nicht übergeben so wird die interne Zeichenkodierung genutzt.

Rückgabewerte

mb_strcut() returns the portion of str specified by the start and length parameters.

Changelog

Version | Beschreibung
5.4.8 | Passing NULL as length extracts all bytes to the end of the string. Prior to this version NULL was treated the same as 0.

Siehe auch

  • mb_substr() - Get part of string
  • mb_internal_encoding() - Set/Get internal character encoding

mb_split
mb_strimwidth
Multibyte String Funktionen


Get truncated string with specified width

mb_strcut
mb_stripos
Multibyte String Funktionen
PHP Manual

mb_strimwidth

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

mb_strimwidth — Get truncated string with specified width

Beschreibung

string mb_strimwidth ( string $str , int $start , int $width [, string $trimmarker = "" [, string $encoding = mb_internal_encoding() ]] )

Truncates string str to specified width.

Parameter-Liste

str

The string being decoded.

start

The start position offset. Number of characters from the beginning of string (first character is 0), or if start is negative, number of characters from the end of the string.

width

The width of the desired trim. Negative widths count from the end of the string.

trimmarker

A string that is added to the end of string when string is truncated.

encoding

Der encoding Parameter legt das Zeichenencoding fest. Wird er nicht übergeben so wird die interne Zeichenkodierung genutzt.

Rückgabewerte

The truncated string. If trimmarker is set, trimmarker replaces the last chars to match the width.

Changelog

Version | Beschreibung
7.1.0 | Support for negative starts and widths has been added.

Beispiele

Beispiel #1 mb_strimwidth() example

<?php
echo mb_strimwidth("Hello World", 0, 10, "...");
// output: "Hello W..."
?>

Siehe auch

  • mb_strwidth() - Return width of string
  • mb_internal_encoding() - Set/Get internal character encoding

mb_strcut
mb_stripos
Multibyte String Funktionen


Finds position of first occurrence of a string within another, case insensitive

mb_strimwidth
mb_stristr
Multibyte String Funktionen
PHP Manual

mb_stripos

(PHP 5 >= 5.2.0, PHP 7)

mb_stripos — Finds position of first occurrence of a string within another, case insensitive

Beschreibung

int mb_stripos ( string $haystack , string $needle [, int $offset = 0 [, string $encoding = mb_internal_encoding() ]] )

mb_stripos() returns the numeric position of the first occurrence of needle in the haystack string. Unlike mb_strpos(), mb_stripos() is case-insensitive. If needle is not found, it returns FALSE.

Parameter-Liste

haystack

The string from which to get the position of the first occurrence of needle

needle

The string to find in haystack

offset

The position in haystack to start searching. A negative offset counts from the end of the string.

encoding

Character encoding name to use. If it is omitted, internal character encoding is used.

Rückgabewerte

Return the numeric position of the first occurrence of needle in the haystack string, or FALSE if needle is not found.

Changelog

Version | Beschreibung
7.1.0 | Support for negative offsets has been added.

Siehe auch

  • stripos() - Findet das erste Vorkommen eines Teilstrings in einem String, unabhängig von Groß- und Kleinschreibung
  • strpos() - Sucht das erste Vorkommen des Suchstrings
  • mb_strpos() - Find position of first occurrence of string in a string

mb_strimwidth
mb_stristr
Multibyte String Funktionen


Finds first occurrence of a string within another, case insensitive

mb_stripos
mb_strlen
Multibyte String Funktionen
PHP Manual

mb_stristr

(PHP 5 >= 5.2.0, PHP 7)

mb_stristr — Finds first occurrence of a string within another, case insensitive

Beschreibung

string mb_stristr ( string $haystack , string $needle [, bool $before_needle = false [, string $encoding = mb_internal_encoding() ]] )

mb_stristr() finds the first occurrence of needle in haystack and returns the portion of haystack. Unlike mb_strstr(), mb_stristr() is case-insensitive. If needle is not found, it returns FALSE.

Parameter-Liste

haystack

The string from which to get the first occurrence of needle

needle

The string to find in haystack

before_needle

Determines which portion of haystack this function returns. If set to TRUE, it returns all of haystack from the beginning to the first occurrence of needle (excluding needle). If set to FALSE, it returns all of haystack from the first occurrence of needle to the end (including needle).

encoding

Character encoding name to use. If it is omitted, internal character encoding is used.

Rückgabewerte

Returns the portion of haystack, or FALSE if needle is not found.

Siehe auch

  • stristr() - Wie strstr, aber unabhängig von Groß- bzw. Kleinschreibung
  • strstr() - Findet das erste Vorkommen eines Strings
  • mb_strstr() - Finds first occurrence of a string within another

mb_stripos
mb_strlen
Multibyte String Funktionen


Get string length

mb_stristr
mb_strpos
Multibyte String Funktionen
PHP Manual

mb_strlen

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

mb_strlen — Get string length

Beschreibung

mixed mb_strlen ( string $str [, string $encoding = mb_internal_encoding() ] )

Gets the length of a string.

Parameter-Liste

str

The string being checked for length.

encoding

Der encoding Parameter legt das Zeichenencoding fest. Wird er nicht übergeben so wird die interne Zeichenkodierung genutzt.

Rückgabewerte

Returns the number of characters in string str having character encoding encoding. A multi-byte character is counted as 1.

Returns FALSE if the given encoding is invalid.

Warnung

Diese Funktion kann sowohl das boolsche FALSE zurückliefern, als auch einen nicht-boolschen Wert, welcher zu FALSE ausgewertet wird. Weitere Informationen entnehmen Sie bitte dem Abschnitt über die boolschen Typen. Benutzen Sie deshalb den === Operator, um den Rückgabewert dieser Funktion zu überprüfen.

Siehe auch

  • mb_internal_encoding() - Set/Get internal character encoding
  • grapheme_strlen() - Get string length in grapheme units
  • iconv_strlen() - Returns the character count of string
  • strlen() - Ermitteln der String-Länge

mb_stristr
mb_strpos
Multibyte String Funktionen


Find position of first occurrence of string in a string

mb_strlen
mb_strrchr
Multibyte String Funktionen
PHP Manual

mb_strpos

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

mb_strpos — Find position of first occurrence of string in a string

Beschreibung

int mb_strpos ( string $haystack , string $needle [, int $offset = 0 [, string $encoding = mb_internal_encoding() ]] )

Finds position of the first occurrence of a string in a string.

Performs a multi-byte safe strpos() operation based on number of characters. The first character's position is 0, the second character position is 1, and so on.

Parameter-Liste

haystack

The string being checked.

needle

The string to find in haystack. In contrast with strpos(), numeric values are not applied as the ordinal value of a character.

offset

The search offset. If it is not specified, 0 is used. A negative offset counts from the end of the string.

encoding

Der encoding Parameter legt das Zeichenencoding fest. Wird er nicht übergeben so wird die interne Zeichenkodierung genutzt.

Rückgabewerte

Returns the numeric position of the first occurrence of needle in the haystack string. If needle is not found, it returns FALSE.

Changelog

Version | Beschreibung
7.1.0 | Support for negative offsets has been added.

Siehe auch

  • mb_internal_encoding() - Set/Get internal character encoding
  • strpos() - Sucht das erste Vorkommen des Suchstrings

mb_strlen
mb_strrchr
Multibyte String Funktionen


Finds the last occurrence of a character in a string within another

mb_strpos
mb_strrichr
Multibyte String Funktionen
PHP Manual

mb_strrchr

(PHP 5 >= 5.2.0, PHP 7)

mb_strrchr — Finds the last occurrence of a character in a string within another

Beschreibung

string mb_strrchr ( string $haystack , string $needle [, bool $part = false [, string $encoding = mb_internal_encoding() ]] )

mb_strrchr() finds the last occurrence of needle in haystack and returns the portion of haystack. If needle is not found, it returns FALSE.

Parameter-Liste

haystack

The string from which to get the last occurrence of needle

needle

The string to find in haystack

part

Determines which portion of haystack this function returns. If set to TRUE, it returns all of haystack from the beginning to the last occurrence of needle. If set to FALSE, it returns all of haystack from the last occurrence of needle to the end,

encoding

Character encoding name to use. If it is omitted, internal character encoding is used.

Rückgabewerte

Returns the portion of haystack. or FALSE if needle is not found.

Siehe auch

  • strrchr() - Sucht das letzte Vorkommen eines Zeichens in einem String
  • mb_strstr() - Finds first occurrence of a string within another
  • mb_strrichr() - Finds the last occurrence of a character in a string within another, case insensitive

mb_strpos
mb_strrichr
Multibyte String Funktionen


Finds the last occurrence of a character in a string within another, case insensitive

mb_strrchr
mb_strripos
Multibyte String Funktionen
PHP Manual

mb_strrichr

(PHP 5 >= 5.2.0, PHP 7)

mb_strrichr — Finds the last occurrence of a character in a string within another, case insensitive

Beschreibung

string mb_strrichr ( string $haystack , string $needle [, bool $part = false [, string $encoding = mb_internal_encoding() ]] )

mb_strrichr() finds the last occurrence of needle in haystack and returns the portion of haystack. Unlike mb_strrchr(), mb_strrichr() is case-insensitive. If needle is not found, it returns FALSE.

Parameter-Liste

haystack

The string from which to get the last occurrence of needle

needle

The string to find in haystack

part

Determines which portion of haystack this function returns. If set to TRUE, it returns all of haystack from the beginning to the last occurrence of needle. If set to FALSE, it returns all of haystack from the last occurrence of needle to the end,

encoding

Character encoding name to use. If it is omitted, internal character encoding is used.

Rückgabewerte

Returns the portion of haystack. or FALSE if needle is not found.

Siehe auch

  • mb_stristr() - Finds first occurrence of a string within another, case insensitive
  • mb_strrchr() - Finds the last occurrence of a character in a string within another

mb_strrchr
mb_strripos
Multibyte String Funktionen


Finds position of last occurrence of a string within another, case insensitive

mb_strrichr
mb_strrpos
Multibyte String Funktionen
PHP Manual

mb_strripos

(PHP 5 >= 5.2.0, PHP 7)

mb_strripos — Finds position of last occurrence of a string within another, case insensitive

Beschreibung

int mb_strripos ( string $haystack , string $needle [, int $offset = 0 [, string $encoding = mb_internal_encoding() ]] )

mb_strripos() performs multi-byte safe strripos() operation based on number of characters. needle position is counted from the beginning of haystack. First character's position is 0. Second character position is 1. Unlike mb_strrpos(), mb_strripos() is case-insensitive.

Parameter-Liste

haystack

The string from which to get the position of the last occurrence of needle

needle

The string to find in haystack

offset

The position in haystack to start searching

encoding

Character encoding name to use. If it is omitted, internal character encoding is used.

Rückgabewerte

Return the numeric position of the last occurrence of needle in the haystack string, or FALSE if needle is not found.

Siehe auch

  • strripos() - Findet das letzte Vorkommen der gesuchten Zeichenkette in einem String, unabhängig von Groß- und Kleinschreibung
  • strrpos() - Findet die Position des letzten Vorkommens eines Teilstrings innerhalb einer Zeichenkette
  • mb_strrpos() - Find position of last occurrence of a string in a string

mb_strrichr
mb_strrpos
Multibyte String Funktionen


Find position of last occurrence of a string in a string

mb_strripos
mb_strstr
Multibyte String Funktionen
PHP Manual

mb_strrpos

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

mb_strrpos — Find position of last occurrence of a string in a string

Beschreibung

int mb_strrpos ( string $haystack , string $needle [, int $offset = 0 [, string $encoding = mb_internal_encoding() ]] )

Performs a multibyte safe strrpos() operation based on the number of characters. needle position is counted from the beginning of haystack. First character's position is 0. Second character position is 1.

Parameter-Liste

haystack

The string being checked, for the last occurrence of needle

needle

The string to find in haystack.

offset
May be specified to begin searching an arbitrary number of characters into the string. Negative values will stop searching at an arbitrary point prior to the end of the string.
encoding

Der encoding Parameter legt das Zeichenencoding fest. Wird er nicht übergeben so wird die interne Zeichenkodierung genutzt.

Rückgabewerte

Returns the numeric position of the last occurrence of needle in the haystack string. If needle is not found, it returns FALSE.

Changelog

Version | Beschreibung
5.2.0 | Added the optional parameter offset.

Anmerkungen

Hinweis: The encoding parameter was moved from the third position to the fourth in PHP 5.2.0. For backward compatibility, encoding can be specified as the third parameter, but doing so is deprecated and will be removed in the future.

Siehe auch

  • mb_strpos() - Find position of first occurrence of string in a string
  • mb_internal_encoding() - Set/Get internal character encoding
  • strrpos() - Findet die Position des letzten Vorkommens eines Teilstrings innerhalb einer Zeichenkette

mb_strripos
mb_strstr
Multibyte String Funktionen


Finds first occurrence of a string within another

mb_strrpos
mb_strtolower
Multibyte String Funktionen
PHP Manual

mb_strstr

(PHP 5 >= 5.2.0, PHP 7)

mb_strstr — Finds first occurrence of a string within another

Beschreibung

string mb_strstr ( string $haystack , string $needle [, bool $before_needle = false [, string $encoding = mb_internal_encoding() ]] )

mb_strstr() finds the first occurrence of needle in haystack and returns the portion of haystack. If needle is not found, it returns FALSE.

Parameter-Liste

haystack

The string from which to get the first occurrence of needle

needle

The string to find in haystack

before_needle

Determines which portion of haystack this function returns. If set to TRUE, it returns all of haystack from the beginning to the first occurrence of needle (excluding needle). If set to FALSE, it returns all of haystack from the first occurrence of needle to the end (including needle).

encoding

Character encoding name to use. If it is omitted, internal character encoding is used.

Rückgabewerte

Returns the portion of haystack, or FALSE if needle is not found.

Siehe auch

  • stristr() - Wie strstr, aber unabhängig von Groß- bzw. Kleinschreibung
  • strstr() - Findet das erste Vorkommen eines Strings
  • mb_stristr() - Finds first occurrence of a string within another, case insensitive

mb_strrpos
mb_strtolower
Multibyte String Funktionen


Make a string lowercase

mb_strstr
mb_strtoupper
Multibyte String Funktionen
PHP Manual

mb_strtolower

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

mb_strtolower — Make a string lowercase

Beschreibung

string mb_strtolower ( string $str [, string $encoding = mb_internal_encoding() ] )

Returns str with all alphabetic characters converted to lowercase.

Parameter-Liste

str

The string being lowercased.

encoding

Der encoding Parameter legt das Zeichenencoding fest. Wird er nicht übergeben so wird die interne Zeichenkodierung genutzt.

Rückgabewerte

str with all alphabetic characters converted to lowercase.

Unicode

For more information about the Unicode properties, please see » http://www.unicode.org/unicode/reports/tr21/.

By contrast to strtolower(), 'alphabetic' is determined by the Unicode character properties. Thus the behaviour of this function is not affected by locale settings and it can convert any characters that have 'alphabetic' property, such as A-umlaut (Ä).

Beispiele

Beispiel #1 mb_strtolower() example

<?php
$str = "Mary Had A Little Lamb and She LOVED It So";
$str = mb_strtolower($str);
echo $str; // Prints mary had a little lamb and she loved it so
?>

Beispiel #2 mb_strtolower() example with non-Latin UTF-8 text

<?php
$str = "????st? a??p?? ßaf?? ??µ??? ??, d?as?e???e? ?p?? ?????? ?????";
$str = mb_strtolower($str, 'UTF-8');
echo $str; // Prints t???st? a??p?? ßaf?? ??µ??? ??, d?as?e???e? ?p?? ?????? ?????
?>

Siehe auch

  • mb_strtoupper() - Make a string uppercase
  • mb_convert_case() - Perform case folding on a string
  • strtolower() - Setzt einen String in Kleinbuchstaben um

mb_strstr
mb_strtoupper
Multibyte String Funktionen


Make a string uppercase

mb_strtolower
mb_strwidth
Multibyte String Funktionen
PHP Manual

mb_strtoupper

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

mb_strtoupper — Make a string uppercase

Beschreibung

string mb_strtoupper ( string $str [, string $encoding = mb_internal_encoding() ] )

Returns str with all alphabetic characters converted to uppercase.

Parameter-Liste

str

The string being uppercased.

encoding

Der encoding Parameter legt das Zeichenencoding fest. Wird er nicht übergeben so wird die interne Zeichenkodierung genutzt.

Rückgabewerte

str with all alphabetic characters converted to uppercase.

Unicode

For more information about the Unicode properties, please see » http://www.unicode.org/unicode/reports/tr21/.

By contrast to strtoupper(), 'alphabetic' is determined by the Unicode character properties. Thus the behaviour of this function is not affected by locale settings and it can convert any characters that have 'alphabetic' property, such as a-umlaut (ä).

Beispiele

Beispiel #1 mb_strtoupper() example

<?php
$str = "Mary Had A Little Lamb and She LOVED It So";
$str = mb_strtoupper($str);
echo $str; // Prints MARY HAD A LITTLE LAMB AND SHE LOVED IT SO
?>

Beispiel #2 mb_strtoupper() example with non-Latin UTF-8 text

<?php
$str = "????st? a??p?? ßaf?? ??µ??? ??, d?as?e???e? ?p?? ?????? ?????";
$str = mb_strtoupper($str, 'UTF-8');
echo $str; // Prints ????S?? ?????? ??F?S ?????? G?, ???S??????? ???? ?OT??? ????S
?>

Siehe auch

  • mb_strtolower() - Make a string lowercase
  • mb_convert_case() - Perform case folding on a string
  • strtoupper() - Wandelt alle Zeichen eines Strings in Großbuchstaben um

mb_strtolower
mb_strwidth
Multibyte String Funktionen


Return width of string

mb_strtoupper
mb_substitute_character
Multibyte String Funktionen
PHP Manual

mb_strwidth

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

mb_strwidth — Return width of string

Beschreibung

int mb_strwidth ( string $str [, string $encoding = mb_internal_encoding() ] )

Returns the width of string str.

Multi-byte characters are usually twice the width of single byte characters.

Characters width
Chars | Width
U+0000 - U+0019 | 0
U+0020 - U+1FFF | 1
U+2000 - U+FF60 | 2
U+FF61 - U+FF9F | 1
U+FFA0 - | 2

Parameter-Liste

str

The string being decoded.

encoding

Der encoding Parameter legt das Zeichenencoding fest. Wird er nicht übergeben so wird die interne Zeichenkodierung genutzt.

Rückgabewerte

The width of string str.

Siehe auch

  • mb_strimwidth() - Get truncated string with specified width
  • mb_internal_encoding() - Set/Get internal character encoding

mb_strtoupper
mb_substitute_character
Multibyte String Funktionen


Set/Get substitution character

mb_strwidth
mb_substr_count
Multibyte String Funktionen
PHP Manual

mb_substitute_character

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

mb_substitute_character — Set/Get substitution character

Beschreibung

mixed mb_substitute_character ([ mixed $substrchar = mb_substitute_character() ] )

Specifies a substitution character when input character encoding is invalid or character code does not exist in output character encoding. Invalid characters may be substituted NULL (no output), string or integer value (Unicode character code value).

This setting affects mb_convert_encoding(),
mb_convert_variables(),
mb_output_handler(),
and mb_send_mail().

Parameter-Liste

substrchar

Specify the Unicode value as an integer, or as one of the following strings:

  • "none": no output
  • "long": Output character code value (Example: U+3000, JIS+7E7E)
  • "entity": Output character entity (Example: ?)

Rückgabewerte

If substchar is set, it returns TRUE for success, otherwise returns FALSE. If substchar is not set, it returns the current setting.

Beispiele

Beispiel #1 mb_substitute_character() example

<?php
/* Set with Unicode U+3013 (GETA MARK) */
mb_substitute_character(0x3013);

/* Set hex format */
mb_substitute_character("long");

/* Display current setting */
echo mb_substitute_character();
?>

mb_strwidth
mb_substr_count
Multibyte String Funktionen


Count the number of substring occurrences

mb_substitute_character
mb_substr
Multibyte String Funktionen
PHP Manual

mb_substr_count

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

mb_substr_count — Count the number of substring occurrences

Beschreibung

int mb_substr_count ( string $haystack , string $needle [, string $encoding = mb_internal_encoding() ] )

Counts the number of times the needle substring occurs in the haystack string.

Parameter-Liste

haystack

The string being checked.

needle

The string being found.

encoding

Der encoding Parameter legt das Zeichenencoding fest. Wird er nicht übergeben so wird die interne Zeichenkodierung genutzt.

Rückgabewerte

The number of times the needle substring occurs in the haystack string.

Beispiele

Beispiel #1 mb_substr_count() example

<?php
echo mb_substr_count("This is a test", "is"); // prints out 2
?>

Siehe auch

  • mb_strpos() - Find position of first occurrence of string in a string
  • mb_substr() - Get part of string
  • substr_count() - Ermittelt, wie oft eine Zeichenkette in einem String vorkommt

mb_substitute_character
mb_substr
Multibyte String Funktionen


Get part of string

mb_substr_count
Pspell
Multibyte String Funktionen
PHP Manual

mb_substr

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

mb_substr — Get part of string

Beschreibung

string mb_substr ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] )

Performs a multi-byte safe substr() operation based on number of characters. Position is counted from the beginning of str. First character's position is 0. Second character position is 1, and so on.

Parameter-Liste

str

The string to extract the substring from.

start

If start is non-negative, the returned string will start at the start'th position in str, counting from zero. For instance, in the string 'abcdef', the character at position 0 is 'a', the character at position 2 is 'c', and so forth.

If start is negative, the returned string will start at the start'th character from the end of str.

length

Maximum number of characters to use from str. If omitted or NULL is passed, extract all characters to the end of the string.

encoding

Der encoding Parameter legt das Zeichenencoding fest. Wird er nicht übergeben so wird die interne Zeichenkodierung genutzt.

Rückgabewerte

mb_substr() returns the portion of str specified by the start and length parameters.

Changelog

Version | Beschreibung
5.4.8 | Passing NULL as length extracts all characters to the end of the string. Prior to this version NULL was treated the same as 0.

Siehe auch

  • mb_strcut() - Get part of string
  • mb_internal_encoding() - Set/Get internal character encoding

mb_substr_count
Pspell
Multibyte String Funktionen


Pspell

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Pspell Funktionen
    • pspell_add_to_personal — Fügt der persönlichen Wortliste ein Wort hinzu
    • pspell_add_to_session — Fügt der Wortliste der aktuellen Sitzung ein Wort hinzu
    • pspell_check — Überprüft ein Wort
    • pspell_clear_session — Löscht die aktuelle Sitzung
    • pspell_config_create — Erzeugt eine Konfiguration zum Öffnen eines Wörterbuchs
    • pspell_config_data_dir — Ort der Dateien mit den Daten für die Sprachen
    • pspell_config_dict_dir — Ort der Haupt-Wortliste
    • pspell_config_ignore — Ignoriert Wörter mit weniger als N Buchstaben
    • pspell_config_mode — Ändert den Modus für die Anzahl gelieferter Vorschläge
    • pspell_config_personal — Legt die Datei fest, die die persönliche Wortliste enthält
    • pspell_config_repl — Legt die Datei fest, welche die Ersetzen-Paare enthält
    • pspell_config_runtogether — Betrachtet zusammengesetzte Wörter als gültige Verbindungen
    • pspell_config_save_repl — Bestimmt, ob Ersetzen-Paare zusammen mit der Wortliste gespeichert werden
    • pspell_new_config — Lädt ein neues Wörterbuch mit den Einstellungen einer angegebenen Konfiguration
    • pspell_new_personal — Lädt ein neues Wörterbuch mit persönlicher Wortliste
    • pspell_new — Lädt ein neues Wörterbuch
    • pspell_save_wordlist — Speichert die persönliche Wortliste in einer Datei
    • pspell_store_replacement — Speichert das Ersetzen-Paar für ein Wort
    • pspell_suggest — Macht Vorschläge für die Schreibweise eines Wortes
mb_substr
Einführung
Unterstützung menschlicher Sprache und Zeichenkodierung


Einführung

Diese Funktionen ermöglichen Ihnen, die Rechtschreibung eines Wortes zu prüfen und bieten Änderungsvorschläge an.

Pspell
Installation/Konfiguration
Pspell


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Pspell


Anforderungen

Um PHP mit pspell-Unterstützung zu kompilieren, brauchen Sie die aspell-Bibliothek, die Sie unter » http://aspell.net/ bekommen.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Falls Sie die benötigten Bibliotheken haben, können Sie PHP mit der Option --with-pspell[=dir] übersetzen.

Hinweis: Anmerkung für Win32-Benutzer

Diese Extension benötigt DLL-Dateien. die für Windows verfügbar seien müssen. Der FAQ-Eintrag " Wie füge ich unter Windows PATH mein PHP-Verzeichnis hinzu?" gibt hierzu weitere Informationen. Obwohl ein einfaches Kopieren der DLL-Dateien vom PHP-Verzeichnis in den Windows-Systemordner auch funktioniert (weil der Systemordner immer im PATH enthalten ist), ist dieses Vorgehen nicht empfehlenswert. Diese Extension benötigt die folgenden Dateien im PATH: aspell-15.dll aus dem Verzeichnis bin der aspell-Installation.

Die Ünterstützung von Win32 steht erst ab PHP 4.3.3 zur Verfügung. Außerdem wird aspell ab Version 0.50 benötigt.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

PSPELL_FAST (integer)
PSPELL_NORMAL (integer)
PSPELL_BAD_SPELLERS (integer)
PSPELL_RUN_TOGETHER (integer)
Ressource-Typen
Pspell Funktionen
Pspell


Pspell Funktionen

Inhaltsverzeichnis

  • pspell_add_to_personal — Fügt der persönlichen Wortliste ein Wort hinzu
  • pspell_add_to_session — Fügt der Wortliste der aktuellen Sitzung ein Wort hinzu
  • pspell_check — Überprüft ein Wort
  • pspell_clear_session — Löscht die aktuelle Sitzung
  • pspell_config_create — Erzeugt eine Konfiguration zum Öffnen eines Wörterbuchs
  • pspell_config_data_dir — Ort der Dateien mit den Daten für die Sprachen
  • pspell_config_dict_dir — Ort der Haupt-Wortliste
  • pspell_config_ignore — Ignoriert Wörter mit weniger als N Buchstaben
  • pspell_config_mode — Ändert den Modus für die Anzahl gelieferter Vorschläge
  • pspell_config_personal — Legt die Datei fest, die die persönliche Wortliste enthält
  • pspell_config_repl — Legt die Datei fest, welche die Ersetzen-Paare enthält
  • pspell_config_runtogether — Betrachtet zusammengesetzte Wörter als gültige Verbindungen
  • pspell_config_save_repl — Bestimmt, ob Ersetzen-Paare zusammen mit der Wortliste gespeichert werden
  • pspell_new_config — Lädt ein neues Wörterbuch mit den Einstellungen einer angegebenen Konfiguration
  • pspell_new_personal — Lädt ein neues Wörterbuch mit persönlicher Wortliste
  • pspell_new — Lädt ein neues Wörterbuch
  • pspell_save_wordlist — Speichert die persönliche Wortliste in einer Datei
  • pspell_store_replacement — Speichert das Ersetzen-Paar für ein Wort
  • pspell_suggest — Macht Vorschläge für die Schreibweise eines Wortes
Vordefinierte Konstanten
pspell_add_to_personal
Pspell


Fügt der persönlichen Wortliste ein Wort hinzu

Pspell Funktionen
pspell_add_to_session
Pspell Funktionen
PHP Manual

pspell_add_to_personal

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

pspell_add_to_personal — Fügt der persönlichen Wortliste ein Wort hinzu

Beschreibung

bool pspell_add_to_personal ( int $dictionary_link , string $word )

pspell_add_to_personal() fügt der persönlichen Wortliste ein Wort hinzu. Falls Sie pspell_new_config() mit pspell_config_personal() verwendet haben, um das Wörterbuch zu öffnen, können Sie die Wortliste später mit pspell_save_wordlist() speichern.

Parameter-Liste

dictionary_link

word

Das hinzugefügte Wort

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pspell_add_to_personal()-Beispiel

<?php
$pspell_config = pspell_config_create("de");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
$pspell_link = pspell_new_config($pspell_config);

pspell_add_to_personal($pspell_link, "Vlad");
pspell_save_wordlist($pspell_link);
?>

Anmerkungen

Hinweis:

Diese Funktion funktioniert nur, wenn Sie pspell .11.2 und aspell .32.5 oder höher haben.

Pspell Funktionen
pspell_add_to_session
Pspell Funktionen


Fügt der Wortliste der aktuellen Sitzung ein Wort hinzu

pspell_add_to_personal
pspell_check
Pspell Funktionen
PHP Manual

pspell_add_to_session

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

pspell_add_to_session — Fügt der Wortliste der aktuellen Sitzung ein Wort hinzu

Beschreibung

bool pspell_add_to_session ( int $dictionary_link , string $word )

pspell_add_to_session() fügt der Wortliste, die zur aktuellen Sitzung gehört, ein Wort hinzu. Diese Funktion ist der Funktion pspell_add_to_personal() sehr ähnlich.

Parameter-Liste

dictionary_link

word

Das hinzugefügte Wort

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

pspell_add_to_personal
pspell_check
Pspell Funktionen


Überprüft ein Wort

pspell_add_to_session
pspell_clear_session
Pspell Funktionen
PHP Manual

pspell_check

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

pspell_check — Überprüft ein Wort

Beschreibung

bool pspell_check ( int $dictionary_link , string $word )

pspell_check() überprüft die Schreibweise eines Wortes.

Parameter-Liste

dictionary_link

word

Das überprüfte Wort

Rückgabewerte

Gibt TRUE zurück, wenn die Schreibweise korrekt ist oder FALSE, wenn nicht.

Beispiele

Beispiel #1 pspell_check()-Beispiel

<?php
$pspell_link = pspell_new("de");

if (pspell_check($pspell_link, "Testt")) {
    echo "Das ist eine gültige Schreibweise";
} else {
    echo "Sorry, falsche Schreibweise";
}
?>

pspell_add_to_session
pspell_clear_session
Pspell Funktionen


Löscht die aktuelle Sitzung

pspell_check
pspell_config_create
Pspell Funktionen
PHP Manual

pspell_clear_session

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

pspell_clear_session — Löscht die aktuelle Sitzung

Beschreibung

bool pspell_clear_session ( int $dictionary_link )

pspell_clear_session() löscht die aktuelle Sitzung. Die aktuelle Wortliste wird geleert und wenn Sie zum Beispiel versuchen, sie mit pspell_save_wordlist() zu speichern, passiert gar nichts.

Parameter-Liste

dictionary_link

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pspell_add_to_personal()-Beispiel

<?php
$pspell_config = pspell_config_create("de");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
$pspell_link = pspell_new_config($pspell_config);

pspell_add_to_personal($pspell_link, "Vlad");
pspell_clear_session($pspell_link);
pspell_save_wordlist($pspell_link);    //"Vlad" wird nicht gespeichert
?>

pspell_check
pspell_config_create
Pspell Funktionen


Erzeugt eine Konfiguration zum Öffnen eines Wörterbuchs

pspell_clear_session
pspell_config_data_dir
Pspell Funktionen
PHP Manual

pspell_config_create

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

pspell_config_create — Erzeugt eine Konfiguration zum Öffnen eines Wörterbuchs

Beschreibung

int pspell_config_create ( string $language [, string $spelling [, string $jargon [, string $encoding ]]] )

Erzeugt eine Konfiguration zum Öffnen eines Wörterbuchs.

pspell_config_create() hat eine sehr ähnliche Syntax wie pspell_new(). Wenn pspell_config_create() direkt gefolgt von pspell_new_config() verwendet wird, hat das in der Tat genau das gleiche Ergebnis. Sie können jedoch nach dem Erzeugen einer neuen Konfiguration die pspell_config_*()-Funktionen verwenden, bevor Sie pspell_new_config() aufrufen, um von einer erweiterten Funktionalität zu profitieren.

Schauen Sie sich für weitere Informationen und Beispiele das pspell-Handbuch (auf englisch) auf der Website » http://aspell.net/ an.

Parameter-Liste

language

Der Sprachencode, der aus dem zweibuchstabigen ISO 639-Sprachencode und, nach einem Binde- oder Unterstrich, einem optionalen zweibuchstabigen ISO 3166-Ländercode besteht.

spelling

Die angeforderte Schreibweise für Sprachen mit mehr als einer Schreibweise, wie zum Beispiel Englisch. Bekannte Werte sind 'american', 'british' und 'canadian'.

jargon

Enthält zusätzliche Informationen, um zwischen zwei Wortlisten mit der selben Sprache und den selben Parametern für die Schreibweise zu unterscheiden.

encoding

Die Kodierung, in der die Wörter voraussichtlich sind. Gültige Werte sind 'utf-8', 'iso8859-*', 'koi8-r', 'viscii', 'cp1252', 'machine unsigned 16' und 'machine unsigned 32'. Dieser Parameter ist weitgehend ungetestet, weshalb Sie bei dessen Verwendung vorsichtig sein sollten.

Rückgabewerte

Gibt eine pspell-Konfigurationskennung zurück, oder FALSE, falls ein Fehler auftrat.

Beispiele

Beispiel #1 pspell_config_create()-Beispiel

<?php
$pspell_config = pspell_config_create("de");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
pspell_config_repl($pspell_config, "/var/dictionaries/custom.repl");
$pspell_link = pspell_new_personal($pspell_config, "de");
?>

pspell_clear_session
pspell_config_data_dir
Pspell Funktionen


Ort der Dateien mit den Daten für die Sprachen

pspell_config_create
pspell_config_dict_dir
Pspell Funktionen
PHP Manual

pspell_config_data_dir

(PHP 5, PHP 7)

pspell_config_data_dir — Ort der Dateien mit den Daten für die Sprachen

Beschreibung

bool pspell_config_data_dir ( int $conf , string $directory )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

pspell_config_create
pspell_config_dict_dir
Pspell Funktionen


Ort der Haupt-Wortliste

pspell_config_data_dir
pspell_config_ignore
Pspell Funktionen
PHP Manual

pspell_config_dict_dir

(PHP 5, PHP 7)

pspell_config_dict_dir — Ort der Haupt-Wortliste

Beschreibung

bool pspell_config_dict_dir ( int $conf , string $directory )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

pspell_config_data_dir
pspell_config_ignore
Pspell Funktionen


Ignoriert Wörter mit weniger als N Buchstaben

pspell_config_dict_dir
pspell_config_mode
Pspell Funktionen
PHP Manual

pspell_config_ignore

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

pspell_config_ignore — Ignoriert Wörter mit weniger als N Buchstaben

Beschreibung

bool pspell_config_ignore ( int $dictionary_link , int $n )

pspell_config_ignore() sollte auf die Konfiguration angewendet werden, bevor pspell_new_config() aufgerufen wird. Diese Funktion erlaubt der Rechtschreibprüfung, kurze Wörter zu überspringen.

Parameter-Liste

dictionary_link

n

Wörter mit weniger als n Buchstaben werden übersprungen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pspell_config_ignore()-Beispiel

<?php
$pspell_config = pspell_config_create("de");
pspell_config_ignore($pspell_config, 5);
$pspell_link = pspell_new_config($pspell_config);
pspell_check($pspell_link, "abcd");    // produziert keinen Fehler
?>

pspell_config_dict_dir
pspell_config_mode
Pspell Funktionen


Ändert den Modus für die Anzahl gelieferter Vorschläge

pspell_config_ignore
pspell_config_personal
Pspell Funktionen
PHP Manual

pspell_config_mode

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

pspell_config_mode — Ändert den Modus für die Anzahl gelieferter Vorschläge

Beschreibung

bool pspell_config_mode ( int $dictionary_link , int $mode )

pspell_config_mode() sollte auf die Konfiguration angewendet werden, bevor pspell_new_config() aufgerufen wird. Diese Funktion bestimmt, wie viele Vorschläge von pspell_suggest() geliefert werden.

Parameter-Liste

dictionary_link

mode

Der Modus, in dem die Rechtschreibprüfung arbeitet. Es stehen mehrere Modi zur Verfügung:

  • PSPELL_FAST - Schneller Modus (geringste Anzahl Vorschläge)
  • PSPELL_NORMAL - Normaler Modus (mehr Vorschläge)
  • PSPELL_BAD_SPELLERS - Langsamer Modus (viele Vorschläge)

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pspell_config_mode()-Beispiel

<?php
$pspell_config = pspell_config_create("de");
pspell_config_mode($pspell_config, PSPELL_FAST);
$pspell_link = pspell_new_config($pspell_config);
pspell_check($pspell_link, "dieSpinne");
?>

pspell_config_ignore
pspell_config_personal
Pspell Funktionen


Legt die Datei fest, die die persönliche Wortliste enthält

pspell_config_mode
pspell_config_repl
Pspell Funktionen
PHP Manual

pspell_config_personal

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

pspell_config_personal — Legt die Datei fest, die die persönliche Wortliste enthält

Beschreibung

bool pspell_config_personal ( int $dictionary_link , string $file )

Legt die Datei fest, die die persönliche Wortliste enthält. Die persönliche Wortliste wird geladen und zusätzlich zur standardmäßigen verwendet, nachdem Sie pspell_new_config() aufgerufen haben. Diese Datei ist auch der Ort, an dem pspell_save_wordlist() die persönliche Wortliste speichert.

pspell_config_personal() sollte auf die Konfiguration angewendet werden, bevor pspell_new_config() aufgerufen wird.

Parameter-Liste

dictionary_link

file

Die persönliche Wortliste. Falls die Datei nicht existiert, wird sie angelegt. Die Datei sollte für denjenigen, unter dem PHP läuft (z.B. nobody), schreibbar sein.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pspell_config_personal()-Beispiel

<?php
$pspell_config = pspell_config_create("de");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
$pspell_link = pspell_new_config($pspell_config);
pspell_check($pspell_link, "dieSpinne");
?>

Anmerkungen

Hinweis:

Diese Funktion funktioniert nur, wenn Sie pspell .11.2 und aspell .32.5 oder höher haben.

pspell_config_mode
pspell_config_repl
Pspell Funktionen


Legt die Datei fest, welche die Ersetzen-Paare enthält

pspell_config_personal
pspell_config_runtogether
Pspell Funktionen
PHP Manual

pspell_config_repl

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

pspell_config_repl — Legt die Datei fest, welche die Ersetzen-Paare enthält

Beschreibung

bool pspell_config_repl ( int $dictionary_link , string $file )

Legt die Datei fest, welche die Ersetzen-Paare enthält.

Die Ersetzen-Paare verbessern die Qualität der Rechtschreibprüfung. Wenn ein Wort falsch geschrieben und in der Wortliste kein passender Vorschlag wurde, kann pspell_store_replacement() zum Speichern eines Ersetzen-Paares verwendet werden und dann pspell_save_wordlist() zum Speichern der Wortliste zusammen mit den Ersetzen-Paaren.

pspell_config_repl() sollte auf die Konfiguration angewendet werden, bevor pspell_new_config() aufgerufen wird.

Parameter-Liste

dictionary_link

file

Die Datei sollte für denjenigen, unter dem PHP läuft (z.B. nobody), eine Schreibberechtigung haben.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pspell_config_repl()-Beispiel

<?php
$pspell_config = pspell_config_create("de");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
pspell_config_repl($pspell_config, "/var/dictionaries/custom.repl");
$pspell_link = pspell_new_config($pspell_config);
pspell_check($pspell_link, "dieSpinne");
?>

Anmerkungen

Hinweis:

Diese Funktion funktioniert nur, wenn Sie pspell .11.2 und aspell .32.5 oder höher haben.

pspell_config_personal
pspell_config_runtogether
Pspell Funktionen


Betrachtet zusammengesetzte Wörter als gültige Verbindungen

pspell_config_repl
pspell_config_save_repl
Pspell Funktionen
PHP Manual

pspell_config_runtogether

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

pspell_config_runtogether — Betrachtet zusammengesetzte Wörter als gültige Verbindungen

Beschreibung

bool pspell_config_runtogether ( int $dictionary_link , bool $flag )

Diese Funktion bestimmt, ob zusammengesetzte Wörter als erlaubte Verbindungen betrachtet werden. Das heißt, "dieSpinne" wäre dann eine erlaubte Verbindung, obwohl ein Leerzeichen zwischen den beiden Wörtern sein müsste. Eine Änderung dieser Einstellung wirkt sich nur auf das Ergebnis aus, das von pspell_check() zurückgegeben wird; pspell_suggest() liefert weiterhin Änderungsvorschläge.

pspell_config_runtogether() sollte auf die Konfiguration angewendet werden, bevor pspell_new_config() aufgerufen wird.

Parameter-Liste

dictionary_link

flag

TRUE, falls zusammengesetzte Wörter als gültige Verbindungen betrachtet werden sollen, andernfalls FALSE.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pspell_config_runtogether()-Beispiel

<?php
$pspell_config = pspell_config_create("de");
pspell_config_runtogether($pspell_config, true);
$pspell_link = pspell_new_config($pspell_config);
pspell_check($pspell_link, "dieSpinne");
?>

pspell_config_repl
pspell_config_save_repl
Pspell Funktionen


Bestimmt, ob Ersetzen-Paare zusammen mit der Wortliste gespeichert werden

pspell_config_runtogether
pspell_new_config
Pspell Funktionen
PHP Manual

pspell_config_save_repl

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

pspell_config_save_repl — Bestimmt, ob Ersetzen-Paare zusammen mit der Wortliste gespeichert werden

Beschreibung

bool pspell_config_save_repl ( int $dictionary_link , bool $flag )

Die Funktion pspell_config_save_repl() bestimmt, ob pspell_save_wordlist() Ersetzen-Paare zusammen mit der Wortliste speichert. Normalerweise wird sie nicht benötigt, denn wenn die Funktion pspell_config_repl() verwendet wird, werden die Ersetzen-Paare sowieso durch pspell_save_wordlist() gespeichert, und wenn sie nicht verwendet wird, werden die Ersetzen-Paare nicht gespeichert.

pspell_config_save_repl() sollte auf die Konfiguration angewendet werden, bevor pspell_new_config() aufgerufen wird.

Parameter-Liste

dictionary_link

flag

TRUE, falls Ersetzen-Paare gespeichert werden sollen, andernfalls FALSE.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Hinweis:

Diese Funktion funktioniert nur, wenn Sie pspell .11.2 und aspell .32.5 oder höher haben.

pspell_config_runtogether
pspell_new_config
Pspell Funktionen


Lädt ein neues Wörterbuch mit den Einstellungen einer angegebenen Konfiguration

pspell_config_save_repl
pspell_new_personal
Pspell Funktionen
PHP Manual

pspell_new_config

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

pspell_new_config — Lädt ein neues Wörterbuch mit den Einstellungen einer angegebenen Konfiguration

Beschreibung

int pspell_new_config ( int $config )

pspell_new_config() öffnet ein neues Wörterbuch mit den Einstellungen, die in einer mittels pspell_config_create() erzeugten und den pspell_config_*()-Funktionen geänderten Konfiguration angegeben sind. Diese Methode bietet Ihnen die größte Flexibilität und hat die ganze Funktionalität, die pspell_new() und pspell_new_personal() bieten.

Parameter-Liste

config

config ist der Parameter, der von pspell_config_create() beim Erzeugen der Konfiguration zurückgegeben wird.

Rückgabewerte

Gibt bei Erfolg die Kennung eines Wörterbuch-Links zurück.

Beispiele

Beispiel #1 pspell_new_config()-Beispiel

<?php
$pspell_config = pspell_config_create("de");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
pspell_config_repl($pspell_config, "/var/dictionaries/custom.repl");
$pspell_link = pspell_new_config($pspell_config);
?>

pspell_config_save_repl
pspell_new_personal
Pspell Funktionen


Lädt ein neues Wörterbuch mit persönlicher Wortliste

pspell_new_config
pspell_new
Pspell Funktionen
PHP Manual

pspell_new_personal

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

pspell_new_personal — Lädt ein neues Wörterbuch mit persönlicher Wortliste

Beschreibung

int pspell_new_personal ( string $personal , string $language [, string $spelling [, string $jargon [, string $encoding [, int $mode = 0 ]]]] )

pspell_new_personal() öffnet ein neues Wörterbuch mit
einer persönlichen Wortliste. Die Wortliste kann bei Bedarf mit
pspell_save_wordlist() geändert und gespeichert werden.
Die Ersetzen-Paare werden jedoch nicht gespeichert. Um diese zu speichern,
müssen Sie mittels pspell_config_create() eine
Konfiguration erzeugen, die persönliche Wortliste mit
pspell_config_personal() setzen, die Datei für die
Ersetzen-Paare mit pspell_config_repl() setzen und mit
pspell_new_config() ein neues Wörterbuch öffnen.

Schauen Sie sich für weitere Informationen und Beispiele das pspell-Handbuch (auf englisch) auf der Website » http://aspell.net/ an.

Parameter-Liste

personal

Die Datei, in der Wörter, die zur persönlichen Wortliste hinzugefügt wurden, gespeichert werden. Dieser Parameter sollte als absoluter Dateiname mit '/' beginnend angegeben werden, weil er andernfalls relativ zu $HOME wäre, was auf den meisten Systemen '/root' ist und es vermutlich nicht das ist, was sie wollen.

language

Der Sprachencode, der aus dem zweibuchstabigen ISO 639-Sprachencode und, nach einem Binde- oder Unterstrich, einem optionalen zweibuchstabigen ISO 3166-Ländercode besteht.

spelling

Die angeforderte Schreibweise für Sprachen mit mehr als einer Schreibweise, wie zum Beispiel Englisch. Bekannte Werte sind 'american', 'british' und 'canadian'.

jargon

Enthält zusätzliche Informationen, um zwischen zwei Wortlisten mit der selben Sprache und den selben Parametern für die Schreibweise zu unterscheiden.

encoding

Die Kodierung, in der die Wörter voraussichtlich sind. Gültige Werte sind utf-8, iso8859-*, koi8-r, viscii, cp1252, machine unsigned 16 und machine unsigned 32.

mode

Der Modus, in dem die Rechtschreibprüfung arbeitet. Es stehen mehrere Modi zur Verfügung:

  • PSPELL_FAST - Schneller Modus (geringste Anzahl Vorschläge)
  • PSPELL_NORMAL - Normaler Modus (mehr Vorschläge)
  • PSPELL_BAD_SPELLERS - Langsamer Modus (viele Vorschläge)
  • PSPELL_RUN_TOGETHER - Betrachtet zusammengesetzte Wörter als erlaubte Verbindungen. Das heißt, "dieSpinne" wäre dann eine erlaubte Verbindung, obwohl ein Leerzeichen zwischen den beiden Wörtern sein müsste. Eine Änderung dieser Einstellung wirkt sich nur auf das Ergebnis aus, das von pspell_check() zurückgegeben wird; pspell_suggest() liefert weiterhin Änderungsvorschläge.
mode ist eine Bitmask, die sich aus verschiedenden der oben aufgelisteten Konstanten zusammensetzt. PSPELL_FAST, PSPELL_NORMAL und PSPELL_BAD_SPELLERS schließen sich allerdings gegenseitig aus, weshalb Sie nur eine davon auswählen sollten.

Rückgabewerte

Gibt die Kennung eines Wörterbuch-Links für die Verwendung in anderen pspell-Funktionen zurück.

Beispiele

Beispiel #1 pspell_new_personal()-Beispiel

<?php
$pspell_link = pspell_new_personal ("/var/dictionaries/custom.pws",
        "de", "", "", "", PSPELL_FAST|PSPELL_RUN_TOGETHER);
?>

pspell_new_config
pspell_new
Pspell Funktionen


Lädt ein neues Wörterbuch

pspell_new_personal
pspell_save_wordlist
Pspell Funktionen
PHP Manual

pspell_new

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

pspell_new — Lädt ein neues Wörterbuch

Beschreibung

int pspell_new ( string $language [, string $spelling [, string $jargon [, string $encoding [, int $mode = 0 ]]]] )

pspell_new() öffnet ein neues Wörterbuch und gibt die Kennung des Wörterbuch-Links für die Verwendung in anderen pspell-Funktionen zurück.

Schauen Sie sich für weitere Informationen und Beispiele das pspell-Handbuch (auf englisch) auf der Website » http://aspell.net/ an.

Parameter-Liste

language

Der Sprachencode, der aus dem zweibuchstabigen ISO 639-Sprachencode und, nach einem Binde- oder Unterstrich, einem optionalen zweibuchstabigen ISO 3166-Ländercode besteht.

spelling

Die angeforderte Schreibweise für Sprachen mit mehr als einer Schreibweise, wie zum Beispiel Englisch. Bekannte Werte sind 'american', 'british' und 'canadian'.

jargon

Enthält zusätzliche Informationen, um zwischen zwei Wortlisten mit der selben Sprache und den selben Parametern für die Schreibweise zu unterscheiden.

encoding

Die Kodierung, in der die Wörter voraussichtlich sind. Gültige Werte sind 'utf-8', 'iso8859-*', 'koi8-r', 'viscii', 'cp1252', 'machine unsigned 16' und 'machine unsigned 32'. Dieser Parameter ist weitgehend ungetestet, weshalb Sie bei dessen Verwendung vorsichtig sein sollten.

mode

Der Modus, in dem die Rechtschreibprüfung arbeitet. Es stehen mehrere Modi zur Verfügung:

  • PSPELL_FAST - Schneller Modus (geringste Anzahl Vorschläge)
  • PSPELL_NORMAL - Normaler Modus (mehr Vorschläge)
  • PSPELL_BAD_SPELLERS - Langsamer Modus (viele Vorschläge)
  • PSPELL_RUN_TOGETHER - Betrachtet zusammengesetzte Wörter als erlaubte Verbindungen. Das heißt, "dieSpinne" wäre dann eine erlaubte Verbindung, obwohl ein Leerzeichen zwischen den beiden Wörtern sein müsste. Eine Änderung dieser Einstellung wirkt sich nur auf das Ergebnis aus, das von pspell_check() zurückgegeben wird; pspell_suggest() liefert weiterhin Änderungsvorschläge.
mode ist eine Bitmask, die sich aus verschiedenden der oben aufgelisteten Konstanten zusammensetzt. PSPELL_FAST, PSPELL_NORMAL und PSPELL_BAD_SPELLERS schließen sich allerdings gegenseitig aus, weshalb Sie nur eine davon auswählen sollten.

Rückgabewerte

Gibt bei Erfolg die Kennung eines Wörterbuch-Links zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pspell_new()-Beispiel

<?php
$pspell_link = pspell_new("de", "", "", "",
                           (PSPELL_FAST|PSPELL_RUN_TOGETHER));
?>

pspell_new_personal
pspell_save_wordlist
Pspell Funktionen


Speichert die persönliche Wortliste in einer Datei

pspell_new
pspell_store_replacement
Pspell Funktionen
PHP Manual

pspell_save_wordlist

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

pspell_save_wordlist — Speichert die persönliche Wortliste in einer Datei

Beschreibung

bool pspell_save_wordlist ( int $dictionary_link )

pspell_save_wordlist() speichert die persönliche Wortliste der aktuellen Sitzung. Die Stelle der zu speichernden Dateien muss mit pspell_config_personal() und (optional) pspell_config_repl() bestimmt werden.

Parameter-Liste

dictionary_link

Die Kennung eines Wörterbuch-Links, die mit pspell_new_personal() geöffnet wurde.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pspell_add_to_personal()-Beispiel

<?php
$pspell_config = pspell_config_create("de");
pspell_config_personal($pspell_config, "/tmp/dicts/newdict");
$pspell_link = pspell_new_config($pspell_config);

pspell_add_to_personal($pspell_link, "Vlad");
pspell_save_wordlist($pspell_link);
?>

Anmerkungen

Hinweis:

Diese Funktion funktioniert nur, wenn Sie pspell .11.2 und aspell .32.5 oder höher haben.

pspell_new
pspell_store_replacement
Pspell Funktionen


Speichert das Ersetzen-Paar für ein Wort

pspell_save_wordlist
pspell_suggest
Pspell Funktionen
PHP Manual

pspell_store_replacement

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

pspell_store_replacement — Speichert das Ersetzen-Paar für ein Wort

Beschreibung

bool pspell_store_replacement ( int $dictionary_link , string $misspelled , string $correct )

pspell_store_replacement() speichert das Ersetzen-Paar für ein Wort, damit dieses Ersetzen-Paar später von pspell_suggest() zurückgegeben werden kann. Um von dieser Funktion profitieren zu können, müssen Sie pspell_new_personal() zum Öffnen des Wörterbuchs verwenden. Um das Ersetzen-Paar dauerhaft zu speichern, müssen Sie pspell_config_personal() und pspell_config_repl() verwenden, um den Pfad zu setzen, unter dem Ihre selbst erstellten Wortlisten gespeichert werden sollen und dann pspell_save_wordlist(), damit die Änderungen auf die Festplatte geschrieben werden.

Parameter-Liste

dictionary_link

Die Kennung eines Wörterbuch-Links, die mit pspell_new_personal() geöffnet wurde.

misspelled

Das falsch geschriebene Wort

correct

Die richtige Schreibweise für das misspelled geschriebene Wort.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pspell_store_replacement()-Beispiel

<?php
$pspell_config = pspell_config_create("de");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
pspell_config_repl($pspell_config, "/var/dictionaries/custom.repl");
$pspell_link = pspell_new_config($pspell_config);

pspell_store_replacement($pspell_link, $falsch, $richtig);
pspell_save_wordlist($pspell_link);
?>

Anmerkungen

Hinweis:

Diese Funktion funktioniert nur, wenn Sie pspell .11.2 und aspell .32.5 oder höher haben.

pspell_save_wordlist
pspell_suggest
Pspell Funktionen


Macht Vorschläge für die Schreibweise eines Wortes

pspell_store_replacement
Recode
Pspell Funktionen
PHP Manual

pspell_suggest

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

pspell_suggest — Macht Vorschläge für die Schreibweise eines Wortes

Beschreibung

array pspell_suggest ( int $dictionary_link , string $word )

pspell_suggest() gibt ein Array möglicher Schreibweisen für das angegebene Wort zurück.

Parameter-Liste

dictionary_link

word

Das überprüfte Wort

Rückgabewerte

Gibt ein Array möglicher Schreibweisen zurück.

Beispiele

Beispiel #1 pspell_suggest()-Beispiel

<?php
$pspell_link = pspell_new("de");

if (!pspell_check($pspell_link, "Testt")) {
    $vorschlaege = pspell_suggest($pspell_link, "Testt");

    foreach ($vorschlaege as $vorschlag) {
        echo "Mögliche Schreibweise: $vorschlag<br />";
    }
}
?>

pspell_store_replacement
Recode
Pspell Funktionen


GNU Recode

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Recode-Funktionen
    • recode_file — Umkodierung von Dateien entsprechend der Recode-Anweisung
    • recode_string — Umkodierung eines Strings entsprechend einer Recode-Anweisung
    • recode — Alias von recode_string
pspell_suggest
Einführung
Unterstützung menschlicher Sprache und Zeichenkodierung


Einführung

Das Modul enthält ein Interface zur GNU Recode-Bibliothek. Die GNU Recode-Bibliothek konvertiert Dateien zwischen unterschiedlichen Zeichensätzen und Encodings. Wenn diese nicht exakt bestimmt werden können, kann es sein, dass die "fehlerhaften" Zeichen entfernt werden und eine Fallback-Ersetzung vorgenommen wird. Die Bibliothek erkennt und verarbeitet etwa 150 unterschiedliche Zeichensätze und ist dafür ausgelegt, Dateien zwischen jeder der damit möglichen Kombinationen zu konvertieren. Die meisten » RFC 1345-Zeichensätze werden unterstützt.

Hinweis: Diese Erweiterung steht auf Windows-Betriebssystemen nicht zur Verfügung.

Recode
Installation/Konfiguration
Recode


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Recode


Anforderungen

Sie müssen GNU Recode 3.5 oder höher auf Ihrem System installiert haben. Das Paket können Sie von » http://directory.fsf.org/All_GNU_Packages/recode.html herunterladen.

Warnung

Die Recode Library 3.6 fügt an unter bestimmten Umständen an konvertierte Strings seltsame Zeichen an. Daher ist es sicherer, Recode v3.5 oder eine der verfügbaren Alternativen wie die iconv- oder mbstring-Extension zu verwenden.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Um die von diesem Modul definierten Funktionen nutzbar zu machen, müssen Sie Ihr PHP mit der Option --with-recode[=DIR] kompilieren.

Warnung

Abstürze und Startprobleme von PHP können auftreten, wenn die Recode-Extension nach einer der beiden Extensions mysql oder imap geladen wird. Wenn die Recode-Extension vor den genannten anderen geladen wird, tritt das Problem nicht auf. Das Problem resultiert aus dem technischen Grund, dass die C-Clientlibrary, die von Imap und Recode genutzt wird, jeweils ihre eigenen hach_lookup()-Funktionalitäten mitbringt. Der Konflikt mit der MySQL-Extension entsteht durch unterschiedliche hash_insert-Funktionalitäten.

Warnung

Die IMAP , recode, YAZ und Cyrus können nicht zusammen verwendet werden. Diese Tatsache liegt darin begründet, dass alle diese Erweiterungen die gleichen internen Symbole benutzen. Hinweis: Yaz 2.0 und höher hat dieses Problem nicht.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
Recode-Funktionen
Recode


Recode-Funktionen

Inhaltsverzeichnis

  • recode_file — Umkodierung von Dateien entsprechend der Recode-Anweisung
  • recode_string — Umkodierung eines Strings entsprechend einer Recode-Anweisung
  • recode — Alias von recode_string
Vordefinierte Konstanten
recode_file
Recode


Umkodierung von Dateien entsprechend der Recode-Anweisung

Recode-Funktionen
recode_string
Recode-Funktionen
PHP Manual

recode_file

(PHP 4, PHP 5, PHP 7)

recode_file — Umkodierung von Dateien entsprechend der Recode-Anweisung

Beschreibung

bool recode_file ( string $request , resource $input , resource $output )

Umkodierung der Datei, die durch den Dateizeiger input referenziert wird, in die Datei output, entsprechend der Recode-Anweisung request.

Parameter-Liste

request

Der gewünschte Recode-Requesttyp.

input

Ein lokaler Dateizeiger vom Typ resource für den input-Parameter.

output

Ein lokaler Dateizeiger vom Typ resource für den output-Parameter.

Rückgabewerte

Gibt FALSE zurück, wenn es nicht möglich ist, die Anweisung durchzuführen, andernfalls TRUE.

Beispiele

Beispiel #1 Einfaches recode_file()-Beispiel

<?php
$input = fopen('input.txt', 'r');
$output = fopen('output.txt', 'w');
recode_file("us..flat", $input, $output);
?>

Anmerkungen

Die Funktion verarbeitet derzeit keine Dateizeiger, die auf entfernte Dateien zeigen (URLs). Beide Dateizeiger müssen auf lokale Dateien zeigen.

Siehe auch

  • fopen() - Öffnet eine Datei oder URL

Recode-Funktionen
recode_string
Recode-Funktionen


Umkodierung eines Strings entsprechend einer Recode-Anweisung

recode_file
recode
Recode-Funktionen
PHP Manual

recode_string

(PHP 4, PHP 5, PHP 7)

recode_string — Umkodierung eines Strings entsprechend einer Recode-Anweisung

Beschreibung

string recode_string ( string $request , string $string )

Der Parameter string wird entsprechend der Recode-Anweisung request umgewandelt.

Parameter-Liste

request

Der gewünschte Recode-Requesttyp

string

Der umzukodierende string

Rückgabewerte

Gibt den umkodierten string oder FALSE zurück, wenn es nicht möglich ist, den Recode-Request auszuführen.

Beispiele

Beispiel #1 Einfaches recode_string()-Beispiel:

<?php
echo recode_string("us..flat", "Der folgende Buchstabe hat ein diakritisches Zeichen: á");
?>

Anmerkungen

Eine einfache Recode-Anfrage könnte sein "lat1..iso646-de".

Siehe auch

  • Die GNU Recode-Dokumentation Ihrer lokalen Installation für detaillierte Anweisungen zur Gestaltung der Recode-Requests.

recode_file
recode
Recode-Funktionen


Alias von recode_string

recode_string
Bildverarbeitung und -generierung
Recode-Funktionen
PHP Manual

recode

(PHP 4, PHP 5, PHP 7)

recode — Alias von recode_string()

Beschreibung

Diese Funktion ist ein Alias für: recode_string().

recode_string
Bildverarbeitung und -generierung
Recode-Funktionen


Bildverarbeitung und -generierung

  • Cairo
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Cairo Funktionen
    • Cairo — The Cairo class
    • CairoContext — The CairoContext class
    • CairoException — The CairoException class
    • CairoStatus — The CairoStatus class
    • CairoSurface — The CairoSurface class
    • CairoSvgSurface — Svg Surface Backend
    • CairoImageSurface — The CairoImageSurface class
    • CairoPdfSurface — The CairoPdfSurface class
    • CairoPsSurface — The CairoPsSurface class
    • CairoSurfaceType — The CairoSurfaceType class
    • CairoFontFace — The CairoFontFace class
    • CairoFontOptions — The CairoFontOptions class
    • CairoFontSlant — The CairoFontSlant class
    • CairoFontType — The CairoFontType class
    • CairoFontWeight — The CairoFontWeight class
    • CairoScaledFont — The CairoScaledFont class
    • CairoToyFontFace — The CairoToyFontFace class
    • CairoPatternType — The CairoPatternType class
    • CairoPattern — The CairoPattern class
    • CairoGradientPattern — The CairoGradientPattern class
    • CairoSolidPattern — The CairoSolidPattern class
    • CairoSurfacePattern — The CairoSurfacePattern class
    • CairoLinearGradient — The CairoLinearGradient class
    • CairoRadialGradient — The CairoRadialGradient class
    • CairoAntialias — The CairoAntialias class
    • CairoContent — The CairoContent class
    • CairoExtend — The CairoExtend class
    • CairoFormat — The CairoFormat class
    • CairoFillRule — The CairoFillRule class
    • CairoFilter — The CairoFilter class
    • CairoHintMetrics — The CairoHintMetrics class
    • CairoHintStyle — The CairoHintStyle class
    • CairoLineCap — The CairoLineCap class
    • CairoLineJoin — The CairoLineJoin class
    • CairoMatrix — The CairoMatrix class
    • CairoOperator — The CairoOperator class
    • CairoPath — The CairoPath class
    • CairoPsLevel — The CairoPsLevel class
    • CairoSubpixelOrder — The CairoSubpixelOrder class
    • CairoSvgVersion — The CairoSvgVersion class
  • Exif — Exchangable Image Information (EXIF)
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Exif-Funktionen
  • GD — Bildbearbeitung und GD
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • GD- und Image-Funktionen
  • Gmagick
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Gmagick — The Gmagick class
    • GmagickDraw — The GmagickDraw class
    • GmagickPixel — The GmagickPixel class
  • ImageMagick — Image Processing (ImageMagick)
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Imagick — The Imagick class
    • ImagickDraw — The ImagickDraw class
    • ImagickPixel — The ImagickPixel class
    • ImagickPixelIterator — The ImagickPixelIterator class
    • ImagickKernel — The ImagickKernel class
recode
Cairo
Funktionsreferenz


Cairo

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
  • Cairo Funktionen
    • cairo_create — Returns a new CairoContext object on the requested surface.
    • cairo_font_face_get_type — Description
    • cairo_font_face_status — Description
    • cairo_font_options_create — Description
    • cairo_font_options_equal — Description
    • cairo_font_options_get_antialias — Description
    • cairo_font_options_get_hint_metrics — Description
    • cairo_font_options_get_hint_style — Description
    • cairo_font_options_get_subpixel_order — Description
    • cairo_font_options_hash — Description
    • cairo_font_options_merge — Description
    • cairo_font_options_set_antialias — Description
    • cairo_font_options_set_hint_metrics — Description
    • cairo_font_options_set_hint_style — Description
    • cairo_font_options_set_subpixel_order — Description
    • cairo_font_options_status — Description
    • cairo_format_stride_for_width — Description
    • cairo_image_surface_create_for_data — Description
    • cairo_image_surface_create_from_png — Description
    • cairo_image_surface_create — Description
    • cairo_image_surface_get_data — Description
    • cairo_image_surface_get_format — Description
    • cairo_image_surface_get_height — Description
    • cairo_image_surface_get_stride — Description
    • cairo_image_surface_get_width — Description
    • cairo_matrix_create_scale — Alias von CairoMatrix::initScale
    • cairo_matrix_create_translate — Alias von CairoMatrix::initTranslate
    • cairo_matrix_invert — Description
    • cairo_matrix_multiply — Description
    • cairo_matrix_rotate — Description
    • cairo_matrix_transform_distance — Description
    • cairo_matrix_transform_point — Description
    • cairo_matrix_translate — Description
    • cairo_pattern_add_color_stop_rgb — Description
    • cairo_pattern_add_color_stop_rgba — Description
    • cairo_pattern_create_for_surface — Description
    • cairo_pattern_create_linear — Description
    • cairo_pattern_create_radial — Description
    • cairo_pattern_create_rgb — Description
    • cairo_pattern_create_rgba — Description
    • cairo_pattern_get_color_stop_count — Description
    • cairo_pattern_get_color_stop_rgba — Description
    • cairo_pattern_get_extend — Description
    • cairo_pattern_get_filter — Description
    • cairo_pattern_get_linear_points — Description
    • cairo_pattern_get_matrix — Description
    • cairo_pattern_get_radial_circles — Description
    • cairo_pattern_get_rgba — Description
    • cairo_pattern_get_surface — Description
    • cairo_pattern_get_type — Description
    • cairo_pattern_set_extend — Description
    • cairo_pattern_set_filter — Description
    • cairo_pattern_set_matrix — Description
    • cairo_pattern_status — Description
    • cairo_pdf_surface_create — Description
    • cairo_pdf_surface_set_size — Description
    • cairo_ps_get_levels — Description
    • cairo_ps_level_to_string — Description
    • cairo_ps_surface_create — Description
    • cairo_ps_surface_dsc_begin_page_setup — Description
    • cairo_ps_surface_dsc_begin_setup — Description
    • cairo_ps_surface_dsc_comment — Description
    • cairo_ps_surface_get_eps — Description
    • cairo_ps_surface_restrict_to_level — Description
    • cairo_ps_surface_set_eps — Description
    • cairo_ps_surface_set_size — Description
    • cairo_scaled_font_create — Description
    • cairo_scaled_font_extents — Description
    • cairo_scaled_font_get_ctm — Description
    • cairo_scaled_font_get_font_face — Description
    • cairo_scaled_font_get_font_matrix — Description
    • cairo_scaled_font_get_font_options — Description
    • cairo_scaled_font_get_scale_matrix — Description
    • cairo_scaled_font_get_type — Description
    • cairo_scaled_font_glyph_extents — Description
    • cairo_scaled_font_status — Description
    • cairo_scaled_font_text_extents — Description
    • cairo_surface_copy_page — Description
    • cairo_surface_create_similar — Description
    • cairo_surface_finish — Description
    • cairo_surface_flush — Description
    • cairo_surface_get_content — Description
    • cairo_surface_get_device_offset — Description
    • cairo_surface_get_font_options — Description
    • cairo_surface_get_type — Description
    • cairo_surface_mark_dirty_rectangle — Description
    • cairo_surface_mark_dirty — Description
    • cairo_surface_set_device_offset — Description
    • cairo_surface_set_fallback_resolution — Description
    • cairo_surface_show_page — Description
    • cairo_surface_status — Description
    • cairo_surface_write_to_png — Description
    • cairo_svg_surface_create — Description
    • cairo_svg_surface_restrict_to_version — Description
    • cairo_svg_version_to_string — Description
  • Cairo — The Cairo class
    • Cairo::availableFonts — Retrieves the availables font types
    • Cairo::availableSurfaces — Retrieves all available surfaces
    • Cairo::statusToString — Retrieves the current status as string
    • Cairo::version — Retrives cairo's library version
    • Cairo::versionString — Retrieves cairo version as string
  • CairoContext — The CairoContext class
    • CairoContext::appendPath — Appends a path to current path
    • CairoContext::arc — Adds a circular arc
    • CairoContext::arcNegative — Adds a negative arc
    • CairoContext::clip — Establishes a new clip region
    • CairoContext::clipExtents — Computes the area inside the current clip
    • CairoContext::clipPreserve — Establishes a new clip region from the current clip
    • CairoContext::clipRectangleList — Retrieves the current clip as a list of rectangles
    • CairoContext::closePath — Closes the current path
    • CairoContext::__construct — Creates a new CairoContext
    • CairoContext::copyPage — Emits the current page
    • CairoContext::copyPath — Creates a copy of the current path
    • CairoContext::copyPathFlat — Gets a flattened copy of the current path
    • CairoContext::curveTo — Adds a curve
    • CairoContext::deviceToUser — Transform a coordinate
    • CairoContext::deviceToUserDistance — Transform a distance
    • CairoContext::fill — Fills the current path
    • CairoContext::fillExtents — Computes the filled area
    • CairoContext::fillPreserve — Fills and preserve the current path
    • CairoContext::fontExtents — Get the font extents
    • CairoContext::getAntialias — Retrives the current antialias mode
    • CairoContext::getCurrentPoint — The getCurrentPoint purpose
    • CairoContext::getDash — The getDash purpose
    • CairoContext::getDashCount — The getDashCount purpose
    • CairoContext::getFillRule — The getFillRule purpose
    • CairoContext::getFontFace — The getFontFace purpose
    • CairoContext::getFontMatrix — The getFontMatrix purpose
    • CairoContext::getFontOptions — The getFontOptions purpose
    • CairoContext::getGroupTarget — The getGroupTarget purpose
    • CairoContext::getLineCap — The getLineCap purpose
    • CairoContext::getLineJoin — The getLineJoin purpose
    • CairoContext::getLineWidth — The getLineWidth purpose
    • CairoContext::getMatrix — The getMatrix purpose
    • CairoContext::getMiterLimit — The getMiterLimit purpose
    • CairoContext::getOperator — The getOperator purpose
    • CairoContext::getScaledFont — The getScaledFont purpose
    • CairoContext::getSource — The getSource purpose
    • CairoContext::getTarget — The getTarget purpose
    • CairoContext::getTolerance — The getTolerance purpose
    • CairoContext::glyphPath — The glyphPath purpose
    • CairoContext::hasCurrentPoint — The hasCurrentPoint purpose
    • CairoContext::identityMatrix — The identityMatrix purpose
    • CairoContext::inFill — The inFill purpose
    • CairoContext::inStroke — The inStroke purpose
    • CairoContext::lineTo — The lineTo purpose
    • CairoContext::mask — The mask purpose
    • CairoContext::maskSurface — The maskSurface purpose
    • CairoContext::moveTo — The moveTo purpose
    • CairoContext::newPath — The newPath purpose
    • CairoContext::newSubPath — The newSubPath purpose
    • CairoContext::paint — The paint purpose
    • CairoContext::paintWithAlpha — The paintWithAlpha purpose
    • CairoContext::pathExtents — The pathExtents purpose
    • CairoContext::popGroup — The popGroup purpose
    • CairoContext::popGroupToSource — The popGroupToSource purpose
    • CairoContext::pushGroup — The pushGroup purpose
    • CairoContext::pushGroupWithContent — The pushGroupWithContent purpose
    • CairoContext::rectangle — The rectangle purpose
    • CairoContext::relCurveTo — The relCurveTo purpose
    • CairoContext::relLineTo — The relLineTo purpose
    • CairoContext::relMoveTo — The relMoveTo purpose
    • CairoContext::resetClip — The resetClip purpose
    • CairoContext::restore — The restore purpose
    • CairoContext::rotate — The rotate purpose
    • CairoContext::save — The save purpose
    • CairoContext::scale — The scale purpose
    • CairoContext::selectFontFace — The selectFontFace purpose
    • CairoContext::setAntialias — The setAntialias purpose
    • CairoContext::setDash — The setDash purpose
    • CairoContext::setFillRule — The setFillRule purpose
    • CairoContext::setFontFace — The setFontFace purpose
    • CairoContext::setFontMatrix — The setFontMatrix purpose
    • CairoContext::setFontOptions — The setFontOptions purpose
    • CairoContext::setFontSize — The setFontSize purpose
    • CairoContext::setLineCap — The setLineCap purpose
    • CairoContext::setLineJoin — The setLineJoin purpose
    • CairoContext::setLineWidth — The setLineWidth purpose
    • CairoContext::setMatrix — The setMatrix purpose
    • CairoContext::setMiterLimit — The setMiterLimit purpose
    • CairoContext::setOperator — The setOperator purpose
    • CairoContext::setScaledFont — The setScaledFont purpose
    • CairoContext::setSource — The setSource purpose
    • CairoContext::setSourceRGB — The setSourceRGB purpose
    • CairoContext::setSourceRGBA — The setSourceRGBA purpose
    • CairoContext::setSourceSurface — The setSourceSurface purpose
    • CairoContext::setTolerance — The setTolerance purpose
    • CairoContext::showPage — The showPage purpose
    • CairoContext::showText — The showText purpose
    • CairoContext::status — The status purpose
    • CairoContext::stroke — The stroke purpose
    • CairoContext::strokeExtents — The strokeExtents purpose
    • CairoContext::strokePreserve — The strokePreserve purpose
    • CairoContext::textExtents — The textExtents purpose
    • CairoContext::textPath — The textPath purpose
    • CairoContext::transform — The transform purpose
    • CairoContext::translate — The translate purpose
    • CairoContext::userToDevice — The userToDevice purpose
    • CairoContext::userToDeviceDistance — The userToDeviceDistance purpose
  • CairoException — The CairoException class
  • CairoStatus — The CairoStatus class
  • CairoSurface — The CairoSurface class
    • CairoSurface::__construct — The __construct purpose
    • CairoSurface::copyPage — The copyPage purpose
    • CairoSurface::createSimilar — The createSimilar purpose
    • CairoSurface::finish — The finish purpose
    • CairoSurface::flush — The flush purpose
    • CairoSurface::getContent — The getContent purpose
    • CairoSurface::getDeviceOffset — The getDeviceOffset purpose
    • CairoSurface::getFontOptions — The getFontOptions purpose
    • CairoSurface::getType — The getType purpose
    • CairoSurface::markDirty — The markDirty purpose
    • CairoSurface::markDirtyRectangle — The markDirtyRectangle purpose
    • CairoSurface::setDeviceOffset — The setDeviceOffset purpose
    • CairoSurface::setFallbackResolution — The setFallbackResolution purpose
    • CairoSurface::showPage — The showPage purpose
    • CairoSurface::status — The status purpose
    • CairoSurface::writeToPng — The writeToPng purpose
  • CairoSvgSurface — Svg Surface Backend
    • CairoSvgSurface::__construct — The __construct purpose
    • CairoSvgSurface::getVersions — Used to retrieve a list of supported SVG versions
    • CairoSvgSurface::restrictToVersion — The restrictToVersion purpose
    • CairoSvgSurface::versionToString — The versionToString purpose
  • CairoImageSurface — The CairoImageSurface class
    • CairoImageSurface::__construct — Creates a new CairoImageSurface
    • CairoImageSurface::createForData — The createForData purpose
    • CairoImageSurface::createFromPng — Creates a new CairoImageSurface form a png image file
    • CairoImageSurface::getData — Gets the image data as string
    • CairoImageSurface::getFormat — Get the image format
    • CairoImageSurface::getHeight — Retrieves the height of the CairoImageSurface
    • CairoImageSurface::getStride — The getStride purpose
    • CairoImageSurface::getWidth — Retrieves the width of the CairoImageSurface
  • CairoPdfSurface — The CairoPdfSurface class
    • CairoPdfSurface::__construct — The __construct purpose
    • CairoPdfSurface::setSize — The setSize purpose
  • CairoPsSurface — The CairoPsSurface class
    • CairoPsSurface::__construct — The __construct purpose
    • CairoPsSurface::dscBeginPageSetup — The dscBeginPageSetup purpose
    • CairoPsSurface::dscBeginSetup — The dscBeginSetup purpose
    • CairoPsSurface::dscComment — The dscComment purpose
    • CairoPsSurface::getEps — The getEps purpose
    • CairoPsSurface::getLevels — The getLevels purpose
    • CairoPsSurface::levelToString — The levelToString purpose
    • CairoPsSurface::restrictToLevel — The restrictToLevel purpose
    • CairoPsSurface::setEps — The setEps purpose
    • CairoPsSurface::setSize — The setSize purpose
  • CairoSurfaceType — The CairoSurfaceType class
  • CairoFontFace — The CairoFontFace class
    • CairoFontFace::__construct — Creates a new CairoFontFace object
    • CairoFontFace::getType — Retrieves the font face type
    • CairoFontFace::status — Check for CairoFontFace errors
  • CairoFontOptions — The CairoFontOptions class
    • CairoFontOptions::__construct — The __construct purpose
    • CairoFontOptions::equal — The equal purpose
    • CairoFontOptions::getAntialias — The getAntialias purpose
    • CairoFontOptions::getHintMetrics — The getHintMetrics purpose
    • CairoFontOptions::getHintStyle — The getHintStyle purpose
    • CairoFontOptions::getSubpixelOrder — The getSubpixelOrder purpose
    • CairoFontOptions::hash — The hash purpose
    • CairoFontOptions::merge — The merge purpose
    • CairoFontOptions::setAntialias — The setAntialias purpose
    • CairoFontOptions::setHintMetrics — The setHintMetrics purpose
    • CairoFontOptions::setHintStyle — The setHintStyle purpose
    • CairoFontOptions::setSubpixelOrder — The setSubpixelOrder purpose
    • CairoFontOptions::status — The status purpose
  • CairoFontSlant — The CairoFontSlant class
  • CairoFontType — The CairoFontType class
  • CairoFontWeight — The CairoFontWeight class
  • CairoScaledFont — The CairoScaledFont class
    • CairoScaledFont::__construct — The __construct purpose
    • CairoScaledFont::extents — The extents purpose
    • CairoScaledFont::getCtm — The getCtm purpose
    • CairoScaledFont::getFontFace — The getFontFace purpose
    • CairoScaledFont::getFontMatrix — The getFontMatrix purpose
    • CairoScaledFont::getFontOptions — The getFontOptions purpose
    • CairoScaledFont::getScaleMatrix — The getScaleMatrix purpose
    • CairoScaledFont::getType — The getType purpose
    • CairoScaledFont::glyphExtents — The glyphExtents purpose
    • CairoScaledFont::status — The status purpose
    • CairoScaledFont::textExtents — The textExtents purpose
  • CairoToyFontFace — The CairoToyFontFace class
  • CairoPatternType — The CairoPatternType class
  • CairoPattern — The CairoPattern class
    • CairoPattern::__construct — The __construct purpose
    • CairoPattern::getMatrix — The getMatrix purpose
    • CairoPattern::getType — The getType purpose
    • CairoPattern::setMatrix — The setMatrix purpose
    • CairoPattern::status — The status purpose
  • CairoGradientPattern — The CairoGradientPattern class
    • CairoGradientPattern::addColorStopRgb — The addColorStopRgb purpose
    • CairoGradientPattern::addColorStopRgba — The addColorStopRgba purpose
    • CairoGradientPattern::getColorStopCount — The getColorStopCount purpose
    • CairoGradientPattern::getColorStopRgba — The getColorStopRgba purpose
    • CairoGradientPattern::getExtend — The getExtend purpose
    • CairoGradientPattern::setExtend — The setExtend purpose
  • CairoSolidPattern — The CairoSolidPattern class
    • CairoSolidPattern::__construct — The __construct purpose
    • CairoSolidPattern::getRgba — The getRgba purpose
  • CairoSurfacePattern — The CairoSurfacePattern class
    • CairoSurfacePattern::__construct — The __construct purpose
    • CairoSurfacePattern::getExtend — The getExtend purpose
    • CairoSurfacePattern::getFilter — The getFilter purpose
    • CairoSurfacePattern::getSurface — The getSurface purpose
    • CairoSurfacePattern::setExtend — The setExtend purpose
    • CairoSurfacePattern::setFilter — The setFilter purpose
  • CairoLinearGradient — The CairoLinearGradient class
    • CairoLinearGradient::__construct — The __construct purpose
    • CairoLinearGradient::getPoints — The getPoints purpose
  • CairoRadialGradient — The CairoRadialGradient class
    • CairoRadialGradient::__construct — The __construct purpose
    • CairoRadialGradient::getCircles — The getCircles purpose
  • CairoAntialias — The CairoAntialias class
  • CairoContent — The CairoContent class
  • CairoExtend — The CairoExtend class
  • CairoFormat — The CairoFormat class
    • CairoFormat::strideForWidth — Provides an appropiate stride to use
  • CairoFillRule — The CairoFillRule class
  • CairoFilter — The CairoFilter class
  • CairoHintMetrics — The CairoHintMetrics class
  • CairoHintStyle — The CairoHintStyle class
  • CairoLineCap — The CairoLineCap class
  • CairoLineJoin — The CairoLineJoin class
  • CairoMatrix — The CairoMatrix class
    • CairoMatrix::__construct — Creates a new CairoMatrix object
    • CairoMatrix::initIdentity — Creates a new identity matrix
    • CairoMatrix::initRotate — Creates a new rotated matrix
    • CairoMatrix::initScale — Creates a new scaling matrix
    • CairoMatrix::initTranslate — Creates a new translation matrix
    • CairoMatrix::invert — The invert purpose
    • CairoMatrix::multiply — The multiply purpose
    • CairoMatrix::rotate — The rotate purpose
    • CairoMatrix::scale — Applies scaling to a matrix
    • CairoMatrix::transformDistance — The transformDistance purpose
    • CairoMatrix::transformPoint — The transformPoint purpose
    • CairoMatrix::translate — The translate purpose
  • CairoOperator — The CairoOperator class
  • CairoPath — The CairoPath class
  • CairoPsLevel — The CairoPsLevel class
  • CairoSubpixelOrder — The CairoSubpixelOrder class
  • CairoSvgVersion — The CairoSvgVersion class
Bildverarbeitung und -generierung
Einführung
Bildverarbeitung und -generierung


Einführung

Cairo is a native PHP extension to create and modify graphics using the Cairo Graphics Library.

The Cairo Graphics Library is a 2D library written in C with support for multiple output devices. Currently supported output targets include the X Window System, Quartz, Win32, image buffers, PostScript, PDF, and SVG file output. Experimental backends include OpenGL (through glitz), XCB, BeOS, OS/2, and DirectFB. The library also has support for two types of text manipulation and layout. The "toy" API provides demo quality support, and the glyphs API, although full-featured, works best with a helper library such as pango. Font backend support includes FreeType, Quartz, Win32, and User fonts.

There are two types of computer graphics, vector and raster. Raster graphics are the representation of images as an array of pixels. Vector graphics use geometrical primitives such as points, lines, curves or polygons to represent images. The primitives are created using mathematical equations. The Cairo Graphics Library takes a vector approach to graphics, allowing smaller size, infinite zooming, and moving, scaling and rotating without degrading image quality.

Operations in the cairo graphics library including stroking and filling cubic Bézier splines, transforming and compositing translucent images, and antialiased text rendering. All drawing operations can be transformed by any affine transformation (scale, rotation, shear, and others) This is very similiar to drawing operations for PostScript and PDF drawing.

The Cairo PHP Extension aims to provide support for all officially supported font backends and surface backends, as well as expose all available functionality in cairo to PHP users.

Cairo
Installation/Konfiguration
Cairo


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Cairo


Anforderungen

Cairo is only available for PHP 5.2+ and PHP 5.3+ The extension also requires the cairo graphics library version 1.4 or higher. The cairo graphics library uses an even and odd numbering scheme to denote stable and unstable library versions. Both unstable and stable versions can be used with the extension, but conditional support for new features is determined by the stable version below the unstable version in use. The latest cairo release can be found at » http://cairographics.org/.

The binary files used for the windows compiles can be found at » http://cairographics.org/download/ along with the project files used to create them.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/cairo.

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Notes specific to installation on Windows

Binary builds of the extension can be found at » http://cairographics.org/download/. Download the correct zip file, place php_cairo.dll in the extensions directory, and enable it via the php.ini file in use. Please be sure the PHP minor version (5.2, 5.3) match, the thread safety (Thread Safe TS or Non-Thread Safe NTS), the architecture (x86 or x64), and the compiler version (VC6 or VC9) match or the extension will not load.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

CAIRO_STATUS_SUCCESS (integer)
CAIRO_STATUS_NO_MEMORY (integer)
CAIRO_STATUS_INVALID_RESTORE (integer)
CAIRO_STATUS_INVALID_POP_GROUP (integer)
CAIRO_STATUS_NO_CURRENT_POINT (integer)
CAIRO_STATUS_INVALID_MATRIX (integer)
CAIRO_STATUS_INVALID_STATUS (integer)
CAIRO_STATUS_NULL_POINTER (integer)
CAIRO_STATUS_INVALID_STRING (integer)
CAIRO_STATUS_INVALID_PATH_DATA (integer)
CAIRO_STATUS_READ_ERROR (integer)
CAIRO_STATUS_WRITE_ERROR (integer)
CAIRO_STATUS_SURFACE_FINISHED (integer)
CAIRO_STATUS_SURFACE_TYPE_MISMATCH (integer)
CAIRO_STATUS_PATTERN_TYPE_MISMATCH (integer)
CAIRO_STATUS_INVALID_CONTENT (integer)
CAIRO_STATUS_INVALID_FORMAT (integer)
CAIRO_STATUS_INVALID_VISUAL (integer)
CAIRO_STATUS_FILE_NOT_FOUND (integer)
CAIRO_STATUS_INVALID_DASH (integer)
CAIRO_STATUS_INVALID_DSC_COMMENT (integer)
CAIRO_STATUS_INVALID_INDEX (integer)
CAIRO_STATUS_CLIP_NOT_REPRESENTABLE (integer)
CAIRO_STATUS_TEMP_FILE_ERROR (integer)
CAIRO_STATUS_INVALID_STRIDE (integer)
CAIRO_ANTIALIAS_DEFAULT (integer)
CAIRO_ANTIALIAS_NONE (integer)
CAIRO_ANTIALIAS_GRAY (integer)
CAIRO_ANTIALIAS_SUBPIXEL (integer)
CAIRO_SUBPIXEL_ORDER_DEFAULT (integer)
CAIRO_SUBPIXEL_ORDER_RGB (integer)
CAIRO_SUBPIXEL_ORDER_BGR (integer)
CAIRO_SUBPIXEL_ORDER_VRGB (integer)
CAIRO_SUBPIXEL_ORDER_VBGR (integer)
CAIRO_FILL_RULE_WINDING (integer)
CAIRO_FILL_RULE_EVEN_ODD (integer)
CAIRO_LINE_CAP_BUTT (integer)
CAIRO_LINE_CAP_ROUND (integer)
CAIRO_LINE_CAP_SQUARE (integer)
CAIRO_LINE_JOIN_MITER (integer)
CAIRO_LINE_JOIN_ROUND (integer)
CAIRO_LINE_JOIN_BEVEL (integer)
CAIRO_OPERATOR_CLEAR (integer)
CAIRO_OPERATOR_SOURCE (integer)
CAIRO_OPERATOR_OVER (integer)
CAIRO_OPERATOR_IN (integer)
CAIRO_OPERATOR_OUT (integer)
CAIRO_OPERATOR_ATOP (integer)
CAIRO_OPERATOR_DEST (integer)
CAIRO_OPERATOR_DEST_OVER (integer)
CAIRO_OPERATOR_DEST_IN (integer)
CAIRO_OPERATOR_DEST_OUT (integer)
CAIRO_OPERATOR_DEST_ATOP (integer)
CAIRO_OPERATOR_XOR (integer)
CAIRO_OPERATOR_ADD (integer)
CAIRO_OPERATOR_SATURATE (integer)
CAIRO_PATTERN_TYPE_SOLID (integer)
CAIRO_PATTERN_TYPE_SURFACE (integer)
CAIRO_PATTERN_TYPE_LINEAR (integer)
CAIRO_PATTERN_TYPE_RADIAL (integer)
CAIRO_EXTEND_NONE (integer)
CAIRO_EXTEND_REPEAT (integer)
CAIRO_EXTEND_REFLECT (integer)
CAIRO_EXTEND_PAD (integer)
CAIRO_FILTER_FAST (integer)
CAIRO_FILTER_GOOD (integer)
CAIRO_FILTER_BEST (integer)
CAIRO_FILTER_NEAREST (integer)
CAIRO_FILTER_BILINEAR (integer)
CAIRO_FILTER_GAUSSIAN (integer)
CAIRO_HINT_STYLE_DEFAULT (integer)
CAIRO_HINT_STYLE_NONE (integer)
CAIRO_HINT_STYLE_SLIGHT (integer)
CAIRO_HINT_STYLE_MEDIUM (integer)
CAIRO_HINT_STYLE_FULL (integer)
CAIRO_HINT_METRICS_DEFAULT (integer)
CAIRO_HINT_METRICS_OFF (integer)
CAIRO_HINT_METRICS_ON (integer)
CAIRO_FONT_TYPE_TOY (integer)
CAIRO_FONT_TYPE_FT (integer)
CAIRO_FONT_TYPE_WIN32 (integer)
CAIRO_FONT_TYPE_QUARTZ (integer)
CAIRO_FONT_SLANT_NORMAL (integer)
CAIRO_FONT_SLANT_ITALIC (integer)
CAIRO_FONT_SLANT_OBLIQUE (integer)
CAIRO_FONT_WEIGHT_NORMAL (integer)
CAIRO_FONT_WEIGHT_BOLD (integer)
CAIRO_CONTENT_COLOR (integer)
CAIRO_CONTENT_ALPHA (integer)
CAIRO_CONTENT_COLOR_ALPHA (integer)
CAIRO_SURFACE_TYPE_IMAGE (integer)
CAIRO_SURFACE_TYPE_PDF (integer)
CAIRO_SURFACE_TYPE_PS (integer)
CAIRO_SURFACE_TYPE_XLIB (integer)
CAIRO_SURFACE_TYPE_XCB (integer)
CAIRO_SURFACE_TYPE_GLITZ (integer)
CAIRO_SURFACE_TYPE_QUARTZ (integer)
CAIRO_SURFACE_TYPE_WIN32 (integer)
CAIRO_SURFACE_TYPE_BEOS (integer)
CAIRO_SURFACE_TYPE_DIRECTFB (integer)
CAIRO_SURFACE_TYPE_SVG (integer)
CAIRO_SURFACE_TYPE_OS2 (integer)
CAIRO_SURFACE_TYPE_WIN32_PRINTING (integer)
CAIRO_SURFACE_TYPE_QUARTZ_IMAGE (integer)
CAIRO_FORMAT_ARGB32 (integer)
CAIRO_FORMAT_RGB24 (integer)
CAIRO_FORMAT_A8 (integer)
CAIRO_FORMAT_A1 (integer)
CAIRO_PS_LEVEL_2 (integer)
CAIRO_PS_LEVEL_3 (integer)
CAIRO_SVG_VERSION_1_1 (integer)
CAIRO_SVG_VERSION_1_2 (integer)

Ressource-Typen
Beispiele
Cairo


Beispiele

Description here...

Beispiel #1 Cairo Example

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...
Vordefinierte Konstanten
Cairo Funktionen
Cairo


Cairo Funktionen

Inhaltsverzeichnis

  • cairo_create — Returns a new CairoContext object on the requested surface.
  • cairo_font_face_get_type — Description
  • cairo_font_face_status — Description
  • cairo_font_options_create — Description
  • cairo_font_options_equal — Description
  • cairo_font_options_get_antialias — Description
  • cairo_font_options_get_hint_metrics — Description
  • cairo_font_options_get_hint_style — Description
  • cairo_font_options_get_subpixel_order — Description
  • cairo_font_options_hash — Description
  • cairo_font_options_merge — Description
  • cairo_font_options_set_antialias — Description
  • cairo_font_options_set_hint_metrics — Description
  • cairo_font_options_set_hint_style — Description
  • cairo_font_options_set_subpixel_order — Description
  • cairo_font_options_status — Description
  • cairo_format_stride_for_width — Description
  • cairo_image_surface_create_for_data — Description
  • cairo_image_surface_create_from_png — Description
  • cairo_image_surface_create — Description
  • cairo_image_surface_get_data — Description
  • cairo_image_surface_get_format — Description
  • cairo_image_surface_get_height — Description
  • cairo_image_surface_get_stride — Description
  • cairo_image_surface_get_width — Description
  • cairo_matrix_create_scale — Alias von CairoMatrix::initScale
  • cairo_matrix_create_translate — Alias von CairoMatrix::initTranslate
  • cairo_matrix_invert — Description
  • cairo_matrix_multiply — Description
  • cairo_matrix_rotate — Description
  • cairo_matrix_transform_distance — Description
  • cairo_matrix_transform_point — Description
  • cairo_matrix_translate — Description
  • cairo_pattern_add_color_stop_rgb — Description
  • cairo_pattern_add_color_stop_rgba — Description
  • cairo_pattern_create_for_surface — Description
  • cairo_pattern_create_linear — Description
  • cairo_pattern_create_radial — Description
  • cairo_pattern_create_rgb — Description
  • cairo_pattern_create_rgba — Description
  • cairo_pattern_get_color_stop_count — Description
  • cairo_pattern_get_color_stop_rgba — Description
  • cairo_pattern_get_extend — Description
  • cairo_pattern_get_filter — Description
  • cairo_pattern_get_linear_points — Description
  • cairo_pattern_get_matrix — Description
  • cairo_pattern_get_radial_circles — Description
  • cairo_pattern_get_rgba — Description
  • cairo_pattern_get_surface — Description
  • cairo_pattern_get_type — Description
  • cairo_pattern_set_extend — Description
  • cairo_pattern_set_filter — Description
  • cairo_pattern_set_matrix — Description
  • cairo_pattern_status — Description
  • cairo_pdf_surface_create — Description
  • cairo_pdf_surface_set_size — Description
  • cairo_ps_get_levels — Description
  • cairo_ps_level_to_string — Description
  • cairo_ps_surface_create — Description
  • cairo_ps_surface_dsc_begin_page_setup — Description
  • cairo_ps_surface_dsc_begin_setup — Description
  • cairo_ps_surface_dsc_comment — Description
  • cairo_ps_surface_get_eps — Description
  • cairo_ps_surface_restrict_to_level — Description
  • cairo_ps_surface_set_eps — Description
  • cairo_ps_surface_set_size — Description
  • cairo_scaled_font_create — Description
  • cairo_scaled_font_extents — Description
  • cairo_scaled_font_get_ctm — Description
  • cairo_scaled_font_get_font_face — Description
  • cairo_scaled_font_get_font_matrix — Description
  • cairo_scaled_font_get_font_options — Description
  • cairo_scaled_font_get_scale_matrix — Description
  • cairo_scaled_font_get_type — Description
  • cairo_scaled_font_glyph_extents — Description
  • cairo_scaled_font_status — Description
  • cairo_scaled_font_text_extents — Description
  • cairo_surface_copy_page — Description
  • cairo_surface_create_similar — Description
  • cairo_surface_finish — Description
  • cairo_surface_flush — Description
  • cairo_surface_get_content — Description
  • cairo_surface_get_device_offset — Description
  • cairo_surface_get_font_options — Description
  • cairo_surface_get_type — Description
  • cairo_surface_mark_dirty_rectangle — Description
  • cairo_surface_mark_dirty — Description
  • cairo_surface_set_device_offset — Description
  • cairo_surface_set_fallback_resolution — Description
  • cairo_surface_show_page — Description
  • cairo_surface_status — Description
  • cairo_surface_write_to_png — Description
  • cairo_svg_surface_create — Description
  • cairo_svg_surface_restrict_to_version — Description
  • cairo_svg_version_to_string — Description
Beispiele
cairo_create
Cairo


Returns a new CairoContext object on the requested surface.

Cairo Funktionen
cairo_font_face_get_type
Cairo Funktionen
PHP Manual

cairo_create

(PECL cairo >= 0.1.0)

cairo_create — Returns a new CairoContext object on the requested surface.

Beschreibung

CairoContext cairo_create ( CairoSurface $surface )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

surface

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_create() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

Cairo Funktionen
cairo_font_face_get_type
Cairo Funktionen


Description

cairo_create
cairo_font_face_status
Cairo Funktionen
PHP Manual

cairo_font_face_get_type

(PECL cairo >= 0.1.0)

cairo_font_face_get_type — Description

Beschreibung

int cairo_font_face_get_type ( CairoFontFace $fontface )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

fontface

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_font_face_get_type() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_create
cairo_font_face_status
Cairo Funktionen


Description

cairo_font_face_get_type
cairo_font_options_create
Cairo Funktionen
PHP Manual

cairo_font_face_status

(PECL cairo >= 0.1.0)

cairo_font_face_status — Description

Beschreibung

int cairo_font_face_status ( CairoFontFace $fontface )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

fontface

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_font_face_status() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_font_face_get_type
cairo_font_options_create
Cairo Funktionen


Description

cairo_font_face_status
cairo_font_options_equal
Cairo Funktionen
PHP Manual

cairo_font_options_create

(PECL cairo >= 0.1.0)

cairo_font_options_create — Description

Beschreibung

CairoFontOptions cairo_font_options_create ( void )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_font_options_create() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_font_face_status
cairo_font_options_equal
Cairo Funktionen


Description

cairo_font_options_create
cairo_font_options_get_antialias
Cairo Funktionen
PHP Manual

cairo_font_options_equal

(PECL cairo >= 0.1.0)

cairo_font_options_equal — Description

Beschreibung

bool cairo_font_options_equal ( CairoFontOptions $options , CairoFontOptions $other )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

options

Description...

other

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_font_options_equal() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_font_options_create
cairo_font_options_get_antialias
Cairo Funktionen


Description

cairo_font_options_equal
cairo_font_options_get_hint_metrics
Cairo Funktionen
PHP Manual

cairo_font_options_get_antialias

(PECL cairo >= 0.1.0)

cairo_font_options_get_antialias — Description

Beschreibung

int cairo_font_options_get_antialias ( CairoFontOptions $options )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

options

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_font_options_get_antialias() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_font_options_equal
cairo_font_options_get_hint_metrics
Cairo Funktionen


Description

cairo_font_options_get_antialias
cairo_font_options_get_hint_style
Cairo Funktionen
PHP Manual

cairo_font_options_get_hint_metrics

(PECL cairo >= 0.1.0)

cairo_font_options_get_hint_metrics — Description

Beschreibung

int cairo_font_options_get_hint_metrics ( CairoFontOptions $options )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

options

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_font_options_get_hint_metrics() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_font_options_get_antialias
cairo_font_options_get_hint_style
Cairo Funktionen


Description

cairo_font_options_get_hint_metrics
cairo_font_options_get_subpixel_order
Cairo Funktionen
PHP Manual

cairo_font_options_get_hint_style

(PECL cairo >= 0.1.0)

cairo_font_options_get_hint_style — Description

Beschreibung

int cairo_font_options_get_hint_style ( CairoFontOptions $options )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

options

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_font_options_get_hint_style() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_font_options_get_hint_metrics
cairo_font_options_get_subpixel_order
Cairo Funktionen


Description

cairo_font_options_get_hint_style
cairo_font_options_hash
Cairo Funktionen
PHP Manual

cairo_font_options_get_subpixel_order

(PECL cairo >= 0.1.0)

cairo_font_options_get_subpixel_order — Description

Beschreibung

int cairo_font_options_get_subpixel_order ( CairoFontOptions $options )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

options

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_font_options_get_subpixel_order() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_font_options_get_hint_style
cairo_font_options_hash
Cairo Funktionen


Description

cairo_font_options_get_subpixel_order
cairo_font_options_merge
Cairo Funktionen
PHP Manual

cairo_font_options_hash

(PECL cairo >= 0.1.0)

cairo_font_options_hash — Description

Beschreibung

int cairo_font_options_hash ( CairoFontOptions $options )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

options

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_font_options_hash() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_font_options_get_subpixel_order
cairo_font_options_merge
Cairo Funktionen


Description

cairo_font_options_hash
cairo_font_options_set_antialias
Cairo Funktionen
PHP Manual

cairo_font_options_merge

(PECL cairo >= 0.1.0)

cairo_font_options_merge — Description

Beschreibung

void cairo_font_options_merge ( CairoFontOptions $options , CairoFontOptions $other )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

options

Description...

other

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_font_options_merge() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_font_options_hash
cairo_font_options_set_antialias
Cairo Funktionen


Description

cairo_font_options_merge
cairo_font_options_set_hint_metrics
Cairo Funktionen
PHP Manual

cairo_font_options_set_antialias

(PECL cairo >= 0.1.0)

cairo_font_options_set_antialias — Description

Beschreibung

void cairo_font_options_set_antialias ( CairoFontOptions $options , int $antialias )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

options

Description...

antialias

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_font_options_set_antialias() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_font_options_merge
cairo_font_options_set_hint_metrics
Cairo Funktionen


Description

cairo_font_options_set_antialias
cairo_font_options_set_hint_style
Cairo Funktionen
PHP Manual

cairo_font_options_set_hint_metrics

(PECL cairo >= 0.1.0)

cairo_font_options_set_hint_metrics — Description

Beschreibung

void cairo_font_options_set_hint_metrics ( CairoFontOptions $options , int $hint_metrics )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

options

Description...

hint_metrics

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_font_options_set_hint_metrics() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_font_options_set_antialias
cairo_font_options_set_hint_style
Cairo Funktionen


Description

cairo_font_options_set_hint_metrics
cairo_font_options_set_subpixel_order
Cairo Funktionen
PHP Manual

cairo_font_options_set_hint_style

(PECL cairo >= 0.1.0)

cairo_font_options_set_hint_style — Description

Beschreibung

void cairo_font_options_set_hint_style ( CairoFontOptions $options , int $hint_style )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

options

Description...

hint_style

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_font_options_set_hint_style() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_font_options_set_hint_metrics
cairo_font_options_set_subpixel_order
Cairo Funktionen


Description

cairo_font_options_set_hint_style
cairo_font_options_status
Cairo Funktionen
PHP Manual

cairo_font_options_set_subpixel_order

(PECL cairo >= 0.1.0)

cairo_font_options_set_subpixel_order — Description

Beschreibung

void cairo_font_options_set_subpixel_order ( CairoFontOptions $options , int $subpixel_order )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

options

Description...

subpixel_order

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_font_options_set_subpixel_order() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_font_options_set_hint_style
cairo_font_options_status
Cairo Funktionen


Description

cairo_font_options_set_subpixel_order
cairo_format_stride_for_width
Cairo Funktionen
PHP Manual

cairo_font_options_status

(PECL cairo >= 0.1.0)

cairo_font_options_status — Description

Beschreibung

int cairo_font_options_status ( CairoFontOptions $options )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

options

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_font_options_status() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_font_options_set_subpixel_order
cairo_format_stride_for_width
Cairo Funktionen


Description

cairo_font_options_status
cairo_image_surface_create_for_data
Cairo Funktionen
PHP Manual

cairo_format_stride_for_width

(PECL cairo >= 0.1.0)

cairo_format_stride_for_width — Description

Beschreibung

int cairo_format_stride_for_width ( int $format , int $width )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

format

Description...

width

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_format_stride_for_width() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_font_options_status
cairo_image_surface_create_for_data
Cairo Funktionen


Description

cairo_format_stride_for_width
cairo_image_surface_create_from_png
Cairo Funktionen
PHP Manual

cairo_image_surface_create_for_data

(PECL cairo >= 0.1.0)

cairo_image_surface_create_for_data — Description

Beschreibung

CairoImageSurface cairo_image_surface_create_for_data ( string $data , int $format , int $width , int $height [, int $stride = -1 ] )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

data

Description...

format

Description...

width

Description...

height

Description...

stride

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_image_surface_create_for_data() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_format_stride_for_width
cairo_image_surface_create_from_png
Cairo Funktionen


Description

cairo_image_surface_create_for_data
cairo_image_surface_create
Cairo Funktionen
PHP Manual

cairo_image_surface_create_from_png

(PECL cairo >= 0.1.0)

cairo_image_surface_create_from_png — Description

Beschreibung

CairoImageSurface cairo_image_surface_create_from_png ( string $file )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

file

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_image_surface_create_from_png() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_image_surface_create_for_data
cairo_image_surface_create
Cairo Funktionen


Description

cairo_image_surface_create_from_png
cairo_image_surface_get_data
Cairo Funktionen
PHP Manual

cairo_image_surface_create

(PECL cairo >= 0.1.0)

cairo_image_surface_create — Description

Beschreibung

CairoImageSurface cairo_image_surface_create ( int $format , int $width , int $height )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

format

Description...

width

Description...

height

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_image_surface_create() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_image_surface_create_from_png
cairo_image_surface_get_data
Cairo Funktionen


Description

cairo_image_surface_create
cairo_image_surface_get_format
Cairo Funktionen
PHP Manual

cairo_image_surface_get_data

(PECL cairo >= 0.1.0)

cairo_image_surface_get_data — Description

Beschreibung

string cairo_image_surface_get_data ( CairoImageSurface $surface )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

surface

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_image_surface_get_data() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_image_surface_create
cairo_image_surface_get_format
Cairo Funktionen


Description

cairo_image_surface_get_data
cairo_image_surface_get_height
Cairo Funktionen
PHP Manual

cairo_image_surface_get_format

(PECL cairo >= 0.1.0)

cairo_image_surface_get_format — Description

Beschreibung

int cairo_image_surface_get_format ( CairoImageSurface $surface )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

surface

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_image_surface_get_format() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_image_surface_get_data
cairo_image_surface_get_height
Cairo Funktionen


Description

cairo_image_surface_get_format
cairo_image_surface_get_stride
Cairo Funktionen
PHP Manual

cairo_image_surface_get_height

(PECL cairo >= 0.1.0)

cairo_image_surface_get_height — Description

Beschreibung

int cairo_image_surface_get_height ( CairoImageSurface $surface )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

surface

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_image_surface_get_height() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_image_surface_get_format
cairo_image_surface_get_stride
Cairo Funktionen


Description

cairo_image_surface_get_height
cairo_image_surface_get_width
Cairo Funktionen
PHP Manual

cairo_image_surface_get_stride

(PECL cairo >= 0.1.0)

cairo_image_surface_get_stride — Description

Beschreibung

int cairo_image_surface_get_stride ( CairoImageSurface $surface )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

surface

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_image_surface_get_stride() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_image_surface_get_height
cairo_image_surface_get_width
Cairo Funktionen


Description

cairo_image_surface_get_stride
cairo_matrix_create_scale
Cairo Funktionen
PHP Manual

cairo_image_surface_get_width

(PECL cairo >= 0.1.0)

cairo_image_surface_get_width — Description

Beschreibung

int cairo_image_surface_get_width ( CairoImageSurface $surface )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

surface

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_image_surface_get_width() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_image_surface_get_stride
cairo_matrix_create_scale
Cairo Funktionen


Alias von CairoMatrix::initScale

cairo_image_surface_get_width
cairo_matrix_create_translate
Cairo Funktionen
PHP Manual

cairo_matrix_create_scale

(PECL cairo >= 0.1.0)

cairo_matrix_create_scale — Alias von CairoMatrix::initScale()

Beschreibung

Diese Funktion ist ein Alias für: CairoMatrix::initScale().

Dieser Funktions-Alias ist veraltet und existiert nur noch aus Gründen der Rückwärtskompatibilität. Es wird nicht empfohlen, diese Funktion weiter zu nutzen, da sie eines Tages aus PHP entfernt werden kann.

cairo_image_surface_get_width
cairo_matrix_create_translate
Cairo Funktionen


Alias von CairoMatrix::initTranslate

cairo_matrix_create_scale
cairo_matrix_invert
Cairo Funktionen
PHP Manual

cairo_matrix_create_translate

(PECL cairo >= 0.1.0)

cairo_matrix_create_translate — Alias von CairoMatrix::initTranslate()

Beschreibung

Diese Funktion ist ein Alias für: CairoMatrix::initTranslate().

Dieser Funktions-Alias ist veraltet und existiert nur noch aus Gründen der Rückwärtskompatibilität. Es wird nicht empfohlen, diese Funktion weiter zu nutzen, da sie eines Tages aus PHP entfernt werden kann.

cairo_matrix_create_scale
cairo_matrix_invert
Cairo Funktionen


Description

cairo_matrix_create_translate
cairo_matrix_multiply
Cairo Funktionen
PHP Manual

cairo_matrix_invert

(PECL cairo >= 0.1.0)

cairo_matrix_invert — Description

Beschreibung

void cairo_matrix_invert ( CairoMatrix $matrix )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

matrix

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_matrix_invert() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_matrix_create_translate
cairo_matrix_multiply
Cairo Funktionen


Description

cairo_matrix_invert
cairo_matrix_rotate
Cairo Funktionen
PHP Manual

cairo_matrix_multiply

(PECL cairo >= 0.1.0)

cairo_matrix_multiply — Description

Beschreibung

CairoMatrix cairo_matrix_multiply ( CairoMatrix $matrix1 , CairoMatrix $matrix2 )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

matrix1

Description...

matrix2

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_matrix_multiply() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_matrix_invert
cairo_matrix_rotate
Cairo Funktionen


Description

cairo_matrix_multiply
cairo_matrix_transform_distance
Cairo Funktionen
PHP Manual

cairo_matrix_rotate

(PECL cairo >= 0.1.0)

cairo_matrix_rotate — Description

Beschreibung

void cairo_matrix_rotate ( CairoMatrix $matrix , float $radians )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

matrix

Description...

radians

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_matrix_rotate() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_matrix_multiply
cairo_matrix_transform_distance
Cairo Funktionen


Description

cairo_matrix_rotate
cairo_matrix_transform_point
Cairo Funktionen
PHP Manual

cairo_matrix_transform_distance

(PECL cairo >= 0.1.0)

cairo_matrix_transform_distance — Description

Beschreibung

array cairo_matrix_transform_distance ( CairoMatrix $matrix , float $dx , float $dy )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

matrix

Description...

dx

Description...

dy

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_matrix_transform_distance() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_matrix_rotate
cairo_matrix_transform_point
Cairo Funktionen


Description

cairo_matrix_transform_distance
cairo_matrix_translate
Cairo Funktionen
PHP Manual

cairo_matrix_transform_point

(PECL cairo >= 0.1.0)

cairo_matrix_transform_point — Description

Beschreibung

array cairo_matrix_transform_point ( CairoMatrix $matrix , float $dx , float $dy )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

matrix

Description...

dx

Description...

dy

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_matrix_transform_point() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_matrix_transform_distance
cairo_matrix_translate
Cairo Funktionen


Description

cairo_matrix_transform_point
cairo_pattern_add_color_stop_rgb
Cairo Funktionen
PHP Manual

cairo_matrix_translate

(PECL cairo >= 0.1.0)

cairo_matrix_translate — Description

Beschreibung

void cairo_matrix_translate ( CairoMatrix $matrix , float $tx , float $ty )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

matrix

Description...

tx

Description...

ty

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_matrix_translate() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_matrix_transform_point
cairo_pattern_add_color_stop_rgb
Cairo Funktionen


Description

cairo_matrix_translate
cairo_pattern_add_color_stop_rgba
Cairo Funktionen
PHP Manual

cairo_pattern_add_color_stop_rgb

(PECL cairo >= 0.1.0)

cairo_pattern_add_color_stop_rgb — Description

Beschreibung

void cairo_pattern_add_color_stop_rgb ( CairoGradientPattern $pattern , float $offset , float $red , float $green , float $blue )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

pattern

Description...

offset

Description...

red

Description...

green

Description...

blue

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_pattern_add_color_stop_rgb() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_matrix_translate
cairo_pattern_add_color_stop_rgba
Cairo Funktionen


Description

cairo_pattern_add_color_stop_rgb
cairo_pattern_create_for_surface
Cairo Funktionen
PHP Manual

cairo_pattern_add_color_stop_rgba

(PECL cairo >= 0.1.0)

cairo_pattern_add_color_stop_rgba — Description

Beschreibung

void cairo_pattern_add_color_stop_rgba ( CairoGradientPattern $pattern , float $offset , float $red , float $green , float $blue , float $alpha )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

pattern

Description...

offset

Description...

red

Description...

green

Description...

blue

Description...

alpha

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_pattern_add_color_stop_rgba() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_pattern_add_color_stop_rgb
cairo_pattern_create_for_surface
Cairo Funktionen


Description

cairo_pattern_add_color_stop_rgba
cairo_pattern_create_linear
Cairo Funktionen
PHP Manual

cairo_pattern_create_for_surface

(PECL cairo >= 0.1.0)

cairo_pattern_create_for_surface — Description

Beschreibung

CairoPattern cairo_pattern_create_for_surface ( CairoSurface $surface )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

surface

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_pattern_create_for_surface() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_pattern_add_color_stop_rgba
cairo_pattern_create_linear
Cairo Funktionen


Description

cairo_pattern_create_for_surface
cairo_pattern_create_radial
Cairo Funktionen
PHP Manual

cairo_pattern_create_linear

(PECL cairo >= 0.1.0)

cairo_pattern_create_linear — Description

Beschreibung

CairoPattern cairo_pattern_create_linear ( float $x0 , float $y0 , float $x1 , float $y1 )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

x0

Description...

y0

Description...

x1

Description...

y1

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_pattern_create_linear() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_pattern_create_for_surface
cairo_pattern_create_radial
Cairo Funktionen


Description

cairo_pattern_create_linear
cairo_pattern_create_rgb
Cairo Funktionen
PHP Manual

cairo_pattern_create_radial

(PECL cairo >= 0.1.0)

cairo_pattern_create_radial — Description

Beschreibung

CairoPattern cairo_pattern_create_radial ( float $x0 , float $y0 , float $r0 , float $x1 , float $y1 , float $r1 )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

x0

Description...

y0

Description...

r0

Description...

x1

Description...

y1

Description...

r1

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_pattern_create_radial() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_pattern_create_linear
cairo_pattern_create_rgb
Cairo Funktionen


Description

cairo_pattern_create_radial
cairo_pattern_create_rgba
Cairo Funktionen
PHP Manual

cairo_pattern_create_rgb

(PECL cairo >= 0.1.0)

cairo_pattern_create_rgb — Description

Beschreibung

CairoPattern cairo_pattern_create_rgb ( float $red , float $green , float $blue )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

red

Description...

green

Description...

blue

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_pattern_create_rgb() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_pattern_create_radial
cairo_pattern_create_rgba
Cairo Funktionen


Description

cairo_pattern_create_rgb
cairo_pattern_get_color_stop_count
Cairo Funktionen
PHP Manual

cairo_pattern_create_rgba

(PECL cairo >= 0.1.0)

cairo_pattern_create_rgba — Description

Beschreibung

CairoPattern cairo_pattern_create_rgba ( float $red , float $green , float $blue , float $alpha )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

red

Description...

green

Description...

blue

Description...

alpha

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_pattern_create_rgba() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_pattern_create_rgb
cairo_pattern_get_color_stop_count
Cairo Funktionen


Description

cairo_pattern_create_rgba
cairo_pattern_get_color_stop_rgba
Cairo Funktionen
PHP Manual

cairo_pattern_get_color_stop_count

(PECL cairo >= 0.1.0)

cairo_pattern_get_color_stop_count — Description

Beschreibung

int cairo_pattern_get_color_stop_count ( CairoGradientPattern $pattern )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

pattern

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_pattern_get_color_stop_count() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_pattern_create_rgba
cairo_pattern_get_color_stop_rgba
Cairo Funktionen


Description

cairo_pattern_get_color_stop_count
cairo_pattern_get_extend
Cairo Funktionen
PHP Manual

cairo_pattern_get_color_stop_rgba

(PECL cairo >= 0.1.0)

cairo_pattern_get_color_stop_rgba — Description

Beschreibung

array cairo_pattern_get_color_stop_rgba ( CairoGradientPattern $pattern , int $index )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

pattern

Description...

index

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_pattern_get_color_stop_rgba() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_pattern_get_color_stop_count
cairo_pattern_get_extend
Cairo Funktionen


Description

cairo_pattern_get_color_stop_rgba
cairo_pattern_get_filter
Cairo Funktionen
PHP Manual

cairo_pattern_get_extend

(PECL cairo >= 0.1.0)

cairo_pattern_get_extend — Description

Beschreibung

int cairo_pattern_get_extend ( string $pattern )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

pattern

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_pattern_get_extend() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_pattern_get_color_stop_rgba
cairo_pattern_get_filter
Cairo Funktionen


Description

cairo_pattern_get_extend
cairo_pattern_get_linear_points
Cairo Funktionen
PHP Manual

cairo_pattern_get_filter

(PECL cairo >= 0.1.0)

cairo_pattern_get_filter — Description

Beschreibung

int cairo_pattern_get_filter ( CairoSurfacePattern $pattern )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

pattern

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_pattern_get_filter() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_pattern_get_extend
cairo_pattern_get_linear_points
Cairo Funktionen


Description

cairo_pattern_get_filter
cairo_pattern_get_matrix
Cairo Funktionen
PHP Manual

cairo_pattern_get_linear_points

(PECL cairo >= 0.1.0)

cairo_pattern_get_linear_points — Description

Beschreibung

array cairo_pattern_get_linear_points ( CairoLinearGradient $pattern )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

pattern

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_pattern_get_linear_points() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_pattern_get_filter
cairo_pattern_get_matrix
Cairo Funktionen


Description

cairo_pattern_get_linear_points
cairo_pattern_get_radial_circles
Cairo Funktionen
PHP Manual

cairo_pattern_get_matrix

(PECL cairo >= 0.1.0)

cairo_pattern_get_matrix — Description

Beschreibung

CairoMatrix cairo_pattern_get_matrix ( CairoPattern $pattern )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

pattern

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_pattern_get_matrix() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_pattern_get_linear_points
cairo_pattern_get_radial_circles
Cairo Funktionen


Description

cairo_pattern_get_matrix
cairo_pattern_get_rgba
Cairo Funktionen
PHP Manual

cairo_pattern_get_radial_circles

(PECL cairo >= 0.1.0)

cairo_pattern_get_radial_circles — Description

Beschreibung

array cairo_pattern_get_radial_circles ( CairoRadialGradient $pattern )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

pattern

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_pattern_get_radial_circles() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_pattern_get_matrix
cairo_pattern_get_rgba
Cairo Funktionen


Description

cairo_pattern_get_radial_circles
cairo_pattern_get_surface
Cairo Funktionen
PHP Manual

cairo_pattern_get_rgba

(PECL cairo >= 0.1.0)

cairo_pattern_get_rgba — Description

Beschreibung

array cairo_pattern_get_rgba ( CairoSolidPattern $pattern )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

pattern

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_pattern_get_rgba() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_pattern_get_radial_circles
cairo_pattern_get_surface
Cairo Funktionen


Description

cairo_pattern_get_rgba
cairo_pattern_get_type
Cairo Funktionen
PHP Manual

cairo_pattern_get_surface

(PECL cairo >= 0.1.0)

cairo_pattern_get_surface — Description

Beschreibung

CairoSurface cairo_pattern_get_surface ( CairoSurfacePattern $pattern )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

pattern

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_pattern_get_surface() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_pattern_get_rgba
cairo_pattern_get_type
Cairo Funktionen


Description

cairo_pattern_get_surface
cairo_pattern_set_extend
Cairo Funktionen
PHP Manual

cairo_pattern_get_type

(PECL cairo >= 0.1.0)

cairo_pattern_get_type — Description

Beschreibung

int cairo_pattern_get_type ( CairoPattern $pattern )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

pattern

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_pattern_get_type() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_pattern_get_surface
cairo_pattern_set_extend
Cairo Funktionen


Description

cairo_pattern_get_type
cairo_pattern_set_filter
Cairo Funktionen
PHP Manual

cairo_pattern_set_extend

(PECL cairo >= 0.1.0)

cairo_pattern_set_extend — Description

Beschreibung

void cairo_pattern_set_extend ( string $pattern , string $extend )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

pattern

Description...

extend

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_pattern_set_extend() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_pattern_get_type
cairo_pattern_set_filter
Cairo Funktionen


Description

cairo_pattern_set_extend
cairo_pattern_set_matrix
Cairo Funktionen
PHP Manual

cairo_pattern_set_filter

(PECL cairo >= 0.1.0)

cairo_pattern_set_filter — Description

Beschreibung

void cairo_pattern_set_filter ( CairoSurfacePattern $pattern , int $filter )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

pattern

Description...

filter

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_pattern_set_filter() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_pattern_set_extend
cairo_pattern_set_matrix
Cairo Funktionen


Description

cairo_pattern_set_filter
cairo_pattern_status
Cairo Funktionen
PHP Manual

cairo_pattern_set_matrix

(PECL cairo >= 0.1.0)

cairo_pattern_set_matrix — Description

Beschreibung

void cairo_pattern_set_matrix ( CairoPattern $pattern , CairoMatrix $matrix )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

pattern

Description...

matrix

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_pattern_set_matrix() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_pattern_set_filter
cairo_pattern_status
Cairo Funktionen


Description

cairo_pattern_set_matrix
cairo_pdf_surface_create
Cairo Funktionen
PHP Manual

cairo_pattern_status

(PECL cairo >= 0.1.0)

cairo_pattern_status — Description

Beschreibung

int cairo_pattern_status ( CairoPattern $pattern )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

pattern

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_pattern_status() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_pattern_set_matrix
cairo_pdf_surface_create
Cairo Funktionen


Description

cairo_pattern_status
cairo_pdf_surface_set_size
Cairo Funktionen
PHP Manual

cairo_pdf_surface_create

(PECL cairo >= 0.1.0)

cairo_pdf_surface_create — Description

Beschreibung

CairoPdfSurface cairo_pdf_surface_create ( string $file , float $width , float $height )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

file

Description...

width

Description...

height

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_pdf_surface_create() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_pattern_status
cairo_pdf_surface_set_size
Cairo Funktionen


Description

cairo_pdf_surface_create
cairo_ps_get_levels
Cairo Funktionen
PHP Manual

cairo_pdf_surface_set_size

(PECL cairo >= 0.1.0)

cairo_pdf_surface_set_size — Description

Beschreibung

void cairo_pdf_surface_set_size ( CairoPdfSurface $surface , float $width , float $height )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

surface

Description...

width

Description...

height

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_pdf_surface_set_size() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_pdf_surface_create
cairo_ps_get_levels
Cairo Funktionen


Description

cairo_pdf_surface_set_size
cairo_ps_level_to_string
Cairo Funktionen
PHP Manual

cairo_ps_get_levels

(PECL cairo >= 0.1.0)

cairo_ps_get_levels — Description

Beschreibung

array cairo_ps_get_levels ( void )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_ps_get_levels() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_pdf_surface_set_size
cairo_ps_level_to_string
Cairo Funktionen


Description

cairo_ps_get_levels
cairo_ps_surface_create
Cairo Funktionen
PHP Manual

cairo_ps_level_to_string

(PECL cairo >= 0.1.0)

cairo_ps_level_to_string — Description

Beschreibung

string cairo_ps_level_to_string ( int $level )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

level

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_ps_level_to_string() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_ps_get_levels
cairo_ps_surface_create
Cairo Funktionen


Description

cairo_ps_level_to_string
cairo_ps_surface_dsc_begin_page_setup
Cairo Funktionen
PHP Manual

cairo_ps_surface_create

(PECL cairo >= 0.1.0)

cairo_ps_surface_create — Description

Beschreibung

CairoPsSurface cairo_ps_surface_create ( string $file , float $width , float $height )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

file

Description...

width

Description...

height

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_ps_surface_create() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_ps_level_to_string
cairo_ps_surface_dsc_begin_page_setup
Cairo Funktionen


Description

cairo_ps_surface_create
cairo_ps_surface_dsc_begin_setup
Cairo Funktionen
PHP Manual

cairo_ps_surface_dsc_begin_page_setup

(PECL cairo >= 0.1.0)

cairo_ps_surface_dsc_begin_page_setup — Description

Beschreibung

void cairo_ps_surface_dsc_begin_page_setup ( CairoPsSurface $surface )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

surface

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_ps_surface_dsc_begin_page_setup() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_ps_surface_create
cairo_ps_surface_dsc_begin_setup
Cairo Funktionen


Description

cairo_ps_surface_dsc_begin_page_setup
cairo_ps_surface_dsc_comment
Cairo Funktionen
PHP Manual

cairo_ps_surface_dsc_begin_setup

(PECL cairo >= 0.1.0)

cairo_ps_surface_dsc_begin_setup — Description

Beschreibung

void cairo_ps_surface_dsc_begin_setup ( CairoPsSurface $surface )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

surface

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_ps_surface_dsc_begin_setup() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_ps_surface_dsc_begin_page_setup
cairo_ps_surface_dsc_comment
Cairo Funktionen


Description

cairo_ps_surface_dsc_begin_setup
cairo_ps_surface_get_eps
Cairo Funktionen
PHP Manual

cairo_ps_surface_dsc_comment

(PECL cairo >= 0.1.0)

cairo_ps_surface_dsc_comment — Description

Beschreibung

void cairo_ps_surface_dsc_comment ( CairoPsSurface $surface , string $comment )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

surface

Description...

comment

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_ps_surface_dsc_comment() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_ps_surface_dsc_begin_setup
cairo_ps_surface_get_eps
Cairo Funktionen


Description

cairo_ps_surface_dsc_comment
cairo_ps_surface_restrict_to_level
Cairo Funktionen
PHP Manual

cairo_ps_surface_get_eps

(PECL cairo >= 0.1.0)

cairo_ps_surface_get_eps — Description

Beschreibung

bool cairo_ps_surface_get_eps ( CairoPsSurface $surface )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

surface

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_ps_surface_get_eps() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_ps_surface_dsc_comment
cairo_ps_surface_restrict_to_level
Cairo Funktionen


Description

cairo_ps_surface_get_eps
cairo_ps_surface_set_eps
Cairo Funktionen
PHP Manual

cairo_ps_surface_restrict_to_level

(PECL cairo >= 0.1.0)

cairo_ps_surface_restrict_to_level — Description

Beschreibung

void cairo_ps_surface_restrict_to_level ( CairoPsSurface $surface , int $level )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

surface

Description...

level

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_ps_surface_restrict_to_level() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_ps_surface_get_eps
cairo_ps_surface_set_eps
Cairo Funktionen


Description

cairo_ps_surface_restrict_to_level
cairo_ps_surface_set_size
Cairo Funktionen
PHP Manual

cairo_ps_surface_set_eps

(PECL cairo >= 0.1.0)

cairo_ps_surface_set_eps — Description

Beschreibung

void cairo_ps_surface_set_eps ( CairoPsSurface $surface , bool $level )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

surface

Description...

level

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_ps_surface_set_eps() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_ps_surface_restrict_to_level
cairo_ps_surface_set_size
Cairo Funktionen


Description

cairo_ps_surface_set_eps
cairo_scaled_font_create
Cairo Funktionen
PHP Manual

cairo_ps_surface_set_size

(PECL cairo >= 0.1.0)

cairo_ps_surface_set_size — Description

Beschreibung

void cairo_ps_surface_set_size ( CairoPsSurface $surface , float $width , float $height )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

surface

Description...

width

Description...

height

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_ps_surface_set_size() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_ps_surface_set_eps
cairo_scaled_font_create
Cairo Funktionen


Description

cairo_ps_surface_set_size
cairo_scaled_font_extents
Cairo Funktionen
PHP Manual

cairo_scaled_font_create

(PECL cairo >= 0.1.0)

cairo_scaled_font_create — Description

Beschreibung

CairoScaledFont cairo_scaled_font_create ( CairoFontFace $fontface , CairoMatrix $matrix , CairoMatrix $ctm , CairoFontOptions $fontoptions )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

fontface

Description...

matrix

Description...

ctm

Description...

fontoptions

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_scaled_font_create() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_ps_surface_set_size
cairo_scaled_font_extents
Cairo Funktionen


Description

cairo_scaled_font_create
cairo_scaled_font_get_ctm
Cairo Funktionen
PHP Manual

cairo_scaled_font_extents

(PECL cairo >= 0.1.0)

cairo_scaled_font_extents — Description

Beschreibung

array cairo_scaled_font_extents ( CairoScaledFont $scaledfont )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

scaledfont

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_scaled_font_extents() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_scaled_font_create
cairo_scaled_font_get_ctm
Cairo Funktionen


Description

cairo_scaled_font_extents
cairo_scaled_font_get_font_face
Cairo Funktionen
PHP Manual

cairo_scaled_font_get_ctm

(PECL cairo >= 0.1.0)

cairo_scaled_font_get_ctm — Description

Beschreibung

CairoMatrix cairo_scaled_font_get_ctm ( CairoScaledFont $scaledfont )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

scaledfont

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_scaled_font_get_ctm() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_scaled_font_extents
cairo_scaled_font_get_font_face
Cairo Funktionen


Description

cairo_scaled_font_get_ctm
cairo_scaled_font_get_font_matrix
Cairo Funktionen
PHP Manual

cairo_scaled_font_get_font_face

(PECL cairo >= 0.1.0)

cairo_scaled_font_get_font_face — Description

Beschreibung

CairoFontFace cairo_scaled_font_get_font_face ( CairoScaledFont $scaledfont )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

scaledfont

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_scaled_font_get_font_face() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_scaled_font_get_ctm
cairo_scaled_font_get_font_matrix
Cairo Funktionen


Description

cairo_scaled_font_get_font_face
cairo_scaled_font_get_font_options
Cairo Funktionen
PHP Manual

cairo_scaled_font_get_font_matrix

(PECL cairo >= 0.1.0)

cairo_scaled_font_get_font_matrix — Description

Beschreibung

CairoFontOptions cairo_scaled_font_get_font_matrix ( CairoScaledFont $scaledfont )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

scaledfont

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_scaled_font_get_font_matrix() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_scaled_font_get_font_face
cairo_scaled_font_get_font_options
Cairo Funktionen


Description

cairo_scaled_font_get_font_matrix
cairo_scaled_font_get_scale_matrix
Cairo Funktionen
PHP Manual

cairo_scaled_font_get_font_options

(PECL cairo >= 0.1.0)

cairo_scaled_font_get_font_options — Description

Beschreibung

CairoFontOptions cairo_scaled_font_get_font_options ( CairoScaledFont $scaledfont )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

scaledfont

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_scaled_font_get_font_options() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_scaled_font_get_font_matrix
cairo_scaled_font_get_scale_matrix
Cairo Funktionen


Description

cairo_scaled_font_get_font_options
cairo_scaled_font_get_type
Cairo Funktionen
PHP Manual

cairo_scaled_font_get_scale_matrix

(PECL cairo >= 0.1.0)

cairo_scaled_font_get_scale_matrix — Description

Beschreibung

CairoMatrix cairo_scaled_font_get_scale_matrix ( CairoScaledFont $scaledfont )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

scaledfont

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_scaled_font_get_scale_matrix() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_scaled_font_get_font_options
cairo_scaled_font_get_type
Cairo Funktionen


Description

cairo_scaled_font_get_scale_matrix
cairo_scaled_font_glyph_extents
Cairo Funktionen
PHP Manual

cairo_scaled_font_get_type

(PECL cairo >= 0.1.0)

cairo_scaled_font_get_type — Description

Beschreibung

int cairo_scaled_font_get_type ( CairoScaledFont $scaledfont )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

scaledfont

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_scaled_font_get_type() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_scaled_font_get_scale_matrix
cairo_scaled_font_glyph_extents
Cairo Funktionen


Description

cairo_scaled_font_get_type
cairo_scaled_font_status
Cairo Funktionen
PHP Manual

cairo_scaled_font_glyph_extents

(PECL cairo >= 0.1.0)

cairo_scaled_font_glyph_extents — Description

Beschreibung

array cairo_scaled_font_glyph_extents ( CairoScaledFont $scaledfont , array $glyphs )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

scaledfont

Description...

glyphs

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_scaled_font_glyph_extents() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_scaled_font_get_type
cairo_scaled_font_status
Cairo Funktionen


Description

cairo_scaled_font_glyph_extents
cairo_scaled_font_text_extents
Cairo Funktionen
PHP Manual

cairo_scaled_font_status

(PECL cairo >= 0.1.0)

cairo_scaled_font_status — Description

Beschreibung

int cairo_scaled_font_status ( CairoScaledFont $scaledfont )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

scaledfont

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_scaled_font_status() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_scaled_font_glyph_extents
cairo_scaled_font_text_extents
Cairo Funktionen


Description

cairo_scaled_font_status
cairo_surface_copy_page
Cairo Funktionen
PHP Manual

cairo_scaled_font_text_extents

(PECL cairo >= 0.1.0)

cairo_scaled_font_text_extents — Description

Beschreibung

array cairo_scaled_font_text_extents ( CairoScaledFont $scaledfont , string $text )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

scaledfont

Description...

text

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_scaled_font_text_extents() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_scaled_font_status
cairo_surface_copy_page
Cairo Funktionen


Description

cairo_scaled_font_text_extents
cairo_surface_create_similar
Cairo Funktionen
PHP Manual

cairo_surface_copy_page

(PECL cairo >= 0.1.0)

cairo_surface_copy_page — Description

Beschreibung

void cairo_surface_copy_page ( CairoSurface $surface )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

surface

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_surface_copy_page() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_scaled_font_text_extents
cairo_surface_create_similar
Cairo Funktionen


Description

cairo_surface_copy_page
cairo_surface_finish
Cairo Funktionen
PHP Manual

cairo_surface_create_similar

(PECL cairo >= 0.1.0)

cairo_surface_create_similar — Description

Beschreibung

CairoSurface cairo_surface_create_similar ( CairoSurface $surface , int $content , float $width , float $height )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

surface

Description...

content

Description...

width

Description...

height

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_surface_create_similar() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_surface_copy_page
cairo_surface_finish
Cairo Funktionen


Description

cairo_surface_create_similar
cairo_surface_flush
Cairo Funktionen
PHP Manual

cairo_surface_finish

(PECL cairo >= 0.1.0)

cairo_surface_finish — Description

Beschreibung

void cairo_surface_finish ( CairoSurface $surface )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

surface

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_surface_finish() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_surface_create_similar
cairo_surface_flush
Cairo Funktionen


Description

cairo_surface_finish
cairo_surface_get_content
Cairo Funktionen
PHP Manual

cairo_surface_flush

(PECL cairo >= 0.1.0)

cairo_surface_flush — Description

Beschreibung

void cairo_surface_flush ( CairoSurface $surface )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

surface

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_surface_flush() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_surface_finish
cairo_surface_get_content
Cairo Funktionen


Description

cairo_surface_flush
cairo_surface_get_device_offset
Cairo Funktionen
PHP Manual

cairo_surface_get_content

(PECL cairo >= 0.1.0)

cairo_surface_get_content — Description

Beschreibung

int cairo_surface_get_content ( CairoSurface $surface )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

surface

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_surface_get_content() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_surface_flush
cairo_surface_get_device_offset
Cairo Funktionen


Description

cairo_surface_get_content
cairo_surface_get_font_options
Cairo Funktionen
PHP Manual

cairo_surface_get_device_offset

(PECL cairo >= 0.1.0)

cairo_surface_get_device_offset — Description

Beschreibung

array cairo_surface_get_device_offset ( CairoSurface $surface )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

surface

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_surface_get_device_offset() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_surface_get_content
cairo_surface_get_font_options
Cairo Funktionen


Description

cairo_surface_get_device_offset
cairo_surface_get_type
Cairo Funktionen
PHP Manual

cairo_surface_get_font_options

(PECL cairo >= 0.1.0)

cairo_surface_get_font_options — Description

Beschreibung

CairoFontOptions cairo_surface_get_font_options ( CairoSurface $surface )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

surface

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_surface_get_font_options() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_surface_get_device_offset
cairo_surface_get_type
Cairo Funktionen


Description

cairo_surface_get_font_options
cairo_surface_mark_dirty_rectangle
Cairo Funktionen
PHP Manual

cairo_surface_get_type

(PECL cairo >= 0.1.0)

cairo_surface_get_type — Description

Beschreibung

int cairo_surface_get_type ( CairoSurface $surface )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

surface

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_surface_get_type() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_surface_get_font_options
cairo_surface_mark_dirty_rectangle
Cairo Funktionen


Description

cairo_surface_get_type
cairo_surface_mark_dirty
Cairo Funktionen
PHP Manual

cairo_surface_mark_dirty_rectangle

(PECL cairo >= 0.1.0)

cairo_surface_mark_dirty_rectangle — Description

Beschreibung

void cairo_surface_mark_dirty_rectangle ( CairoSurface $surface , float $x , float $y , float $width , float $height )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

surface

Description...

x

Description...

y

Description...

width

Description...

height

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_surface_mark_dirty_rectangle() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_surface_get_type
cairo_surface_mark_dirty
Cairo Funktionen


Description

cairo_surface_mark_dirty_rectangle
cairo_surface_set_device_offset
Cairo Funktionen
PHP Manual

cairo_surface_mark_dirty

(PECL cairo >= 0.1.0)

cairo_surface_mark_dirty — Description

Beschreibung

void cairo_surface_mark_dirty ( CairoSurface $surface )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

surface

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_surface_mark_dirty() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_surface_mark_dirty_rectangle
cairo_surface_set_device_offset
Cairo Funktionen


Description

cairo_surface_mark_dirty
cairo_surface_set_fallback_resolution
Cairo Funktionen
PHP Manual

cairo_surface_set_device_offset

(PECL cairo >= 0.1.0)

cairo_surface_set_device_offset — Description

Beschreibung

void cairo_surface_set_device_offset ( CairoSurface $surface , float $x , float $y )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

surface

Description...

x

Description...

y

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_surface_set_device_offset() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_surface_mark_dirty
cairo_surface_set_fallback_resolution
Cairo Funktionen


Description

cairo_surface_set_device_offset
cairo_surface_show_page
Cairo Funktionen
PHP Manual

cairo_surface_set_fallback_resolution

(PECL cairo >= 0.1.0)

cairo_surface_set_fallback_resolution — Description

Beschreibung

void cairo_surface_set_fallback_resolution ( CairoSurface $surface , float $x , float $y )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

surface

Description...

x

Description...

y

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_surface_set_fallback_resolution() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_surface_set_device_offset
cairo_surface_show_page
Cairo Funktionen


Description

cairo_surface_set_fallback_resolution
cairo_surface_status
Cairo Funktionen
PHP Manual

cairo_surface_show_page

(PECL cairo >= 0.1.0)

cairo_surface_show_page — Description

Beschreibung

void cairo_surface_show_page ( CairoSurface $surface )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

surface

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_surface_show_page() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_surface_set_fallback_resolution
cairo_surface_status
Cairo Funktionen


Description

cairo_surface_show_page
cairo_surface_write_to_png
Cairo Funktionen
PHP Manual

cairo_surface_status

(PECL cairo >= 0.1.0)

cairo_surface_status — Description

Beschreibung

int cairo_surface_status ( CairoSurface $surface )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

surface

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_surface_status() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_surface_show_page
cairo_surface_write_to_png
Cairo Funktionen


Description

cairo_surface_status
cairo_svg_surface_create
Cairo Funktionen
PHP Manual

cairo_surface_write_to_png

(PECL cairo >= 0.1.0)

cairo_surface_write_to_png — Description

Beschreibung

void cairo_surface_write_to_png ( CairoSurface $surface , resource $stream )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

surface

Description...

stream

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_surface_write_to_png() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_surface_status
cairo_svg_surface_create
Cairo Funktionen


Description

cairo_surface_write_to_png
cairo_svg_surface_restrict_to_version
Cairo Funktionen
PHP Manual

cairo_svg_surface_create

(PECL cairo >= 0.1.0)

cairo_svg_surface_create — Description

Beschreibung

CairoSvgSurface cairo_svg_surface_create ( string $file , float $width , float $height )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

file

Description...

width

Description...

height

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_svg_surface_create() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_surface_write_to_png
cairo_svg_surface_restrict_to_version
Cairo Funktionen


Description

cairo_svg_surface_create
cairo_svg_version_to_string
Cairo Funktionen
PHP Manual

cairo_svg_surface_restrict_to_version

(PECL cairo >= 0.1.0)

cairo_svg_surface_restrict_to_version — Description

Beschreibung

void cairo_svg_surface_restrict_to_version ( CairoSvgSurface $surface , int $version )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

surface

Description...

version

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_svg_surface_restrict_to_version() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_svg_surface_create
cairo_svg_version_to_string
Cairo Funktionen


Description

cairo_svg_surface_restrict_to_version
Cairo
Cairo Funktionen
PHP Manual

cairo_svg_version_to_string

(PECL cairo >= 0.1.0)

cairo_svg_version_to_string — Description

Beschreibung

string cairo_svg_version_to_string ( int $version )

The function description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

version

Description...

Rückgabewerte

What is returned on success and failure

Fehler/Exceptions

When does this function issue E_* level errors, and/or throw exceptions.

Beispiele

Beispiel #1 cairo_svg_version_to_string() example

Any text that describes the purpose of the example, or what goes on in the example should be here.

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • related function name here()

cairo_svg_surface_restrict_to_version
Cairo
Cairo Funktionen


The Cairo class

(PECL cairo >= 0.1.0)

Einführung

Simple class with some static helper methods.

Klassenbeschreibung

Cairo {
/* Methoden */
public static array availableFonts ( void )
public static array availableSurfaces ( void )
public static string statusToString ( int $status )
public static int version ( void )
public static string versionString ( void )
}

Inhaltsverzeichnis

  • Cairo::availableFonts — Retrieves the availables font types
  • Cairo::availableSurfaces — Retrieves all available surfaces
  • Cairo::statusToString — Retrieves the current status as string
  • Cairo::version — Retrives cairo's library version
  • Cairo::versionString — Retrieves cairo version as string
cairo_svg_version_to_string
Cairo::availableFonts
Cairo


Retrieves the availables font types

Cairo
Cairo::availableSurfaces
Cairo
PHP Manual

Cairo::availableFonts

cairo_available_fonts

(PECL cairo >= 0.1.0)

Cairo::availableFonts -- cairo_available_fonts — Retrieves the availables font types

Beschreibung

Objektorientierter Stil:

public static array Cairo::availableFonts ( void )

Prozeduraler Stil:

array cairo_available_fonts ( void )

Returns an array with the available font backends

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A list-type array with all available font backends.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php

/* Object Oriented Style */
var_dump(Cairo::availableFonts());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(2) {
  [0]=>
  string(5) "WIN32"
  [1]=>
  string(4) "USER"
}

Beispiel #2 Prozeduraler Stil

<?php

/* Procedural style */
var_dump(cairo_available_fonts());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(2) {
  [0]=>
  string(5) "WIN32"
  [1]=>
  string(4) "USER"
}

Siehe auch

  • Cairo::availableSurfaces() - Retrieves all available surfaces

Cairo
Cairo::availableSurfaces
Cairo


Retrieves all available surfaces

Cairo::availableFonts
Cairo::statusToString
Cairo
PHP Manual

Cairo::availableSurfaces

cairo_available_surfaces

(PECL cairo >= 0.1.0)

Cairo::availableSurfaces -- cairo_available_surfaces — Retrieves all available surfaces

Beschreibung

Objektorientierter Stil (method):

public static array Cairo::availableSurfaces ( void )

Prozeduraler Stil:

array cairo_available_surfaces ( void )

Returns an array with the available surface backends

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A list-type array with all available surface backends.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php

/* Object Oriented style */
var_dump(Cairo::availableSurfaces());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(6) {
  [0]=>
  string(5) "IMAGE"
  [1]=>
  string(3) "PNG"
  [2]=>
  string(3) "PDF"
  [3]=>
  string(2) "PS"
  [4]=>
  string(3) "SVG"
  [5]=>
  string(5) "WIN32"
}

Beispiel #2 Prozeduraler Stil

<?php

/* Procedural style */
var_dump(cairo_available_surfaces());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(6) {
  [0]=>
  string(5) "IMAGE"
  [1]=>
  string(3) "PNG"
  [2]=>
  string(3) "PDF"
  [3]=>
  string(2) "PS"
  [4]=>
  string(3) "SVG"
  [5]=>
  string(5) "WIN32"
}

Siehe auch

  • Cairo::availableFonts() - Retrieves the availables font types

Cairo::availableFonts
Cairo::statusToString
Cairo


Retrieves the current status as string

Cairo::availableSurfaces
Cairo::version
Cairo
PHP Manual

Cairo::statusToString

cairo_status_to_string

(PECL cairo >= 0.1.0)

Cairo::statusToString -- cairo_status_to_string — Retrieves the current status as string

Beschreibung

Objektorientierter Stil (method):

public static string Cairo::statusToString ( int $status )

Prozeduraler Stil:

string cairo_status_to_string ( int $status )

Retrieves the current status as a readable string

Parameter-Liste

status

A valid status code given by cairo_status() or CairoContext::status()

Rückgabewerte

A string containing the current status of a CairoContext object

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);
$context = new CairoContext($surface);

var_dump(Cairo::statusToString($context->status()));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(7) "success"

Beispiel #2 Prozeduraler Stil

<?php
$surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);
$context = cairo_create($surface);

var_dump(cairo_status_to_string(cairo_status($context)));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(7) "success"

Siehe auch

  • CairoContext::status() - The status purpose

Cairo::availableSurfaces
Cairo::version
Cairo


Retrives cairo's library version

Cairo::statusToString
Cairo::versionString
Cairo
PHP Manual

Cairo::version

cairo_version

(PECL cairo >= 0.1.0)

Cairo::version -- cairo_version — Retrives cairo's library version

Beschreibung

Objektorientierter Stil (method):

public static int Cairo::version ( void )

Prozeduraler Stil:

int cairo_version ( void )

Retrieves the current version of the cairo library as an integer value

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Current Cairo library version integer

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
var_dump(Cairo::version());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(10808)

Beispiel #2 Prozeduraler Stil

<?php
var_dump(cairo_version());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(10808)

Siehe auch

  • Cairo::versionString() - Retrieves cairo version as string

Cairo::statusToString
Cairo::versionString
Cairo


Retrieves cairo version as string

Cairo::version
CairoContext
Cairo
PHP Manual

Cairo::versionString

cairo_version_string

(PECL cairo >= 0.1.0)

Cairo::versionString -- cairo_version_string — Retrieves cairo version as string

Beschreibung

Objektorientierter Stil (method):

public static string Cairo::versionString ( void )

Prozeduraler Stil:

string cairo_version_string ( void )

Retrieves the current cairo library version as a string.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Current Cairo library version string

Beispiele

Beispiel #1 Objektorientierter Stil

<?php

var_dump(Cairo::versionString());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(5) "1.8.8"

Beispiel #2 Prozeduraler Stil

<?php

var_dump(cairo_version_string());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(5) "1.8.8"

Siehe auch

  • Cairo::version() - Retrives cairo's library version

Cairo::version
CairoContext
Cairo


The CairoContext class

(PECL cairo >= 0.1.0)

Einführung

Context is the main object used when drawing with cairo. To draw with cairo, you create a CairoContext, set the target CairoSurface, and drawing options for the CairoContext, create shapes with functions . like CairoContext::moveTo() and CairoContext::lineTo(), and then draw shapes with CairoContext::stroke() or CairoContext::fill(). Contexts can be pushed to a stack via CairoContext::save(). They may then safely be changed, without loosing the current state. Use CairoContext::restore() to restore to the saved state.

Klassenbeschreibung

CairoContext {
/* Methoden */
public void appendPath ( CairoPath $path )
public void arc ( float $x , float $y , float $radius , float $angle1 , float $angle2 )
public void arcNegative ( float $x , float $y , float $radius , float $angle1 , float $angle2 )
public void clip ( void )
public array clipExtents ( void )
public void clipPreserve ( void )
public array clipRectangleList ( void )
public void closePath ( void )
public __construct ( CairoSurface $surface )
public void copyPage ( void )
public CairoPath copyPath ( void )
public CairoPath copyPathFlat ( void )
public void curveTo ( float $x1 , float $y1 , float $x2 , float $y2 , float $x3 , float $y3 )
public array deviceToUser ( float $x , float $y )
public array deviceToUserDistance ( float $x , float $y )
public void fill ( void )
public array fillExtents ( void )
public void fillPreserve ( void )
public array fontExtents ( void )
public int getAntialias ( void )
public array getCurrentPoint ( void )
public array getDash ( void )
public int getDashCount ( void )
public int getFillRule ( void )
public void getFontFace ( void )
public void getFontMatrix ( void )
public void getFontOptions ( void )
public void getGroupTarget ( void )
public int getLineCap ( void )
public int getLineJoin ( void )
public float getLineWidth ( void )
public void getMatrix ( void )
public float getMiterLimit ( void )
public int getOperator ( void )
public void getScaledFont ( void )
public void getSource ( void )
public void getTarget ( void )
public float getTolerance ( void )
public void glyphPath ( array $glyphs )
public bool hasCurrentPoint ( void )
public void identityMatrix ( void )
public bool inFill ( string $x , string $y )
public bool inStroke ( string $x , string $y )
public void lineTo ( string $x , string $y )
public void mask ( string $pattern )
public void maskSurface ( string $surface [, string $x [, string $y ]] )
public void moveTo ( string $x , string $y )
public void newPath ( void )
public void newSubPath ( void )
public void paint ( void )
public void paintWithAlpha ( string $alpha )
public array pathExtents ( void )
public void popGroup ( void )
public void popGroupToSource ( void )
public void pushGroup ( void )
public void pushGroupWithContent ( string $content )
public void rectangle ( string $x , string $y , string $width , string $height )
public void relCurveTo ( string $x1 , string $y1 , string $x2 , string $y2 , string $x3 , string $y3 )
public void relLineTo ( string $x , string $y )
public void relMoveTo ( string $x , string $y )
public void resetClip ( void )
public void restore ( void )
public void rotate ( string $angle )
public void save ( void )
public void scale ( string $x , string $y )
public void selectFontFace ( string $family [, string $slant [, string $weight ]] )
public void setAntialias ([ string $antialias ] )
public void setDash ( string $dashes [, string $offset ] )
public void setFillRule ( string $setting )
public void setFontFace ( CairoFontFace $fontface )
public void setFontMatrix ( string $matrix )
public void setFontOptions ( string $fontoptions )
public void setFontSize ( string $size )
public void setLineCap ( string $setting )
public void setLineJoin ( string $setting )
public void setLineWidth ( string $width )
public void setMatrix ( string $matrix )
public void setMiterLimit ( string $limit )
public void setOperator ( string $setting )
public void setScaledFont ( string $scaledfont )
public void setSource ( string $pattern )
public void setSourceRGB ( string $red , string $green , string $blue )
public void setSourceRGBA ( string $red , string $green , string $blue , string $alpha )
public void setSourceSurface ( string $surface [, string $x [, string $y ]] )
public void setTolerance ( string $tolerance )
public void showPage ( void )
public void showText ( string $text )
public int status ( void )
public void stroke ( void )
public array strokeExtents ( void )
public void strokePreserve ( void )
public array textExtents ( string $text )
public void textPath ( string $string )
public void transform ( string $matrix )
public void translate ( string $x , string $y )
public array userToDevice ( string $x , string $y )
public array userToDeviceDistance ( string $x , string $y )
}

Inhaltsverzeichnis

  • CairoContext::appendPath — Appends a path to current path
  • CairoContext::arc — Adds a circular arc
  • CairoContext::arcNegative — Adds a negative arc
  • CairoContext::clip — Establishes a new clip region
  • CairoContext::clipExtents — Computes the area inside the current clip
  • CairoContext::clipPreserve — Establishes a new clip region from the current clip
  • CairoContext::clipRectangleList — Retrieves the current clip as a list of rectangles
  • CairoContext::closePath — Closes the current path
  • CairoContext::__construct — Creates a new CairoContext
  • CairoContext::copyPage — Emits the current page
  • CairoContext::copyPath — Creates a copy of the current path
  • CairoContext::copyPathFlat — Gets a flattened copy of the current path
  • CairoContext::curveTo — Adds a curve
  • CairoContext::deviceToUser — Transform a coordinate
  • CairoContext::deviceToUserDistance — Transform a distance
  • CairoContext::fill — Fills the current path
  • CairoContext::fillExtents — Computes the filled area
  • CairoContext::fillPreserve — Fills and preserve the current path
  • CairoContext::fontExtents — Get the font extents
  • CairoContext::getAntialias — Retrives the current antialias mode
  • CairoContext::getCurrentPoint — The getCurrentPoint purpose
  • CairoContext::getDash — The getDash purpose
  • CairoContext::getDashCount — The getDashCount purpose
  • CairoContext::getFillRule — The getFillRule purpose
  • CairoContext::getFontFace — The getFontFace purpose
  • CairoContext::getFontMatrix — The getFontMatrix purpose
  • CairoContext::getFontOptions — The getFontOptions purpose
  • CairoContext::getGroupTarget — The getGroupTarget purpose
  • CairoContext::getLineCap — The getLineCap purpose
  • CairoContext::getLineJoin — The getLineJoin purpose
  • CairoContext::getLineWidth — The getLineWidth purpose
  • CairoContext::getMatrix — The getMatrix purpose
  • CairoContext::getMiterLimit — The getMiterLimit purpose
  • CairoContext::getOperator — The getOperator purpose
  • CairoContext::getScaledFont — The getScaledFont purpose
  • CairoContext::getSource — The getSource purpose
  • CairoContext::getTarget — The getTarget purpose
  • CairoContext::getTolerance — The getTolerance purpose
  • CairoContext::glyphPath — The glyphPath purpose
  • CairoContext::hasCurrentPoint — The hasCurrentPoint purpose
  • CairoContext::identityMatrix — The identityMatrix purpose
  • CairoContext::inFill — The inFill purpose
  • CairoContext::inStroke — The inStroke purpose
  • CairoContext::lineTo — The lineTo purpose
  • CairoContext::mask — The mask purpose
  • CairoContext::maskSurface — The maskSurface purpose
  • CairoContext::moveTo — The moveTo purpose
  • CairoContext::newPath — The newPath purpose
  • CairoContext::newSubPath — The newSubPath purpose
  • CairoContext::paint — The paint purpose
  • CairoContext::paintWithAlpha — The paintWithAlpha purpose
  • CairoContext::pathExtents — The pathExtents purpose
  • CairoContext::popGroup — The popGroup purpose
  • CairoContext::popGroupToSource — The popGroupToSource purpose
  • CairoContext::pushGroup — The pushGroup purpose
  • CairoContext::pushGroupWithContent — The pushGroupWithContent purpose
  • CairoContext::rectangle — The rectangle purpose
  • CairoContext::relCurveTo — The relCurveTo purpose
  • CairoContext::relLineTo — The relLineTo purpose
  • CairoContext::relMoveTo — The relMoveTo purpose
  • CairoContext::resetClip — The resetClip purpose
  • CairoContext::restore — The restore purpose
  • CairoContext::rotate — The rotate purpose
  • CairoContext::save — The save purpose
  • CairoContext::scale — The scale purpose
  • CairoContext::selectFontFace — The selectFontFace purpose
  • CairoContext::setAntialias — The setAntialias purpose
  • CairoContext::setDash — The setDash purpose
  • CairoContext::setFillRule — The setFillRule purpose
  • CairoContext::setFontFace — The setFontFace purpose
  • CairoContext::setFontMatrix — The setFontMatrix purpose
  • CairoContext::setFontOptions — The setFontOptions purpose
  • CairoContext::setFontSize — The setFontSize purpose
  • CairoContext::setLineCap — The setLineCap purpose
  • CairoContext::setLineJoin — The setLineJoin purpose
  • CairoContext::setLineWidth — The setLineWidth purpose
  • CairoContext::setMatrix — The setMatrix purpose
  • CairoContext::setMiterLimit — The setMiterLimit purpose
  • CairoContext::setOperator — The setOperator purpose
  • CairoContext::setScaledFont — The setScaledFont purpose
  • CairoContext::setSource — The setSource purpose
  • CairoContext::setSourceRGB — The setSourceRGB purpose
  • CairoContext::setSourceRGBA — The setSourceRGBA purpose
  • CairoContext::setSourceSurface — The setSourceSurface purpose
  • CairoContext::setTolerance — The setTolerance purpose
  • CairoContext::showPage — The showPage purpose
  • CairoContext::showText — The showText purpose
  • CairoContext::status — The status purpose
  • CairoContext::stroke — The stroke purpose
  • CairoContext::strokeExtents — The strokeExtents purpose
  • CairoContext::strokePreserve — The strokePreserve purpose
  • CairoContext::textExtents — The textExtents purpose
  • CairoContext::textPath — The textPath purpose
  • CairoContext::transform — The transform purpose
  • CairoContext::translate — The translate purpose
  • CairoContext::userToDevice — The userToDevice purpose
  • CairoContext::userToDeviceDistance — The userToDeviceDistance purpose
Cairo::versionString
CairoContext::appendPath
Cairo


Appends a path to current path

CairoContext
CairoContext::arc
CairoContext
PHP Manual

CairoContext::appendPath

cairo_append_path

(PECL cairo >= 0.1.0)

CairoContext::appendPath -- cairo_append_path — Appends a path to current path

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::appendPath ( CairoPath $path )

Prozeduraler Stil:

void cairo_append_path ( CairoContext $context , CairoPath $path )

Appends the path onto the current path. The path may be either the return value from one of CairoContext::copyPath() or CairoContext::copyPathFlat();

if path is not a valid CairoPath instance a CairoException will be thrown

Parameter-Liste

context

CairoContext object

path

CairoPath object

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php

$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

$context = new CairoContext($surface);

$path = $context->copyPath();

$context->appendPath($path);

?>

Beispiel #2 Prozeduraler Stil

<?php

$surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);

$context = cairo_create($surface);

$path = cairo_copy_path($context);

cairo_append_path($context, $path);

?>

Siehe auch

  • CairoPath
  • CairoContext::copyPath() - Creates a copy of the current path
  • CairoContext::copyPathFlat() - Gets a flattened copy of the current path

CairoContext
CairoContext::arc
CairoContext


Adds a circular arc

CairoContext::appendPath
CairoContext::arcNegative
CairoContext
PHP Manual

CairoContext::arc

cairo_arc

(PECL cairo >= 0.1.0)

CairoContext::arc -- cairo_arc — Adds a circular arc

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::arc ( float $x , float $y , float $radius , float $angle1 , float $angle2 )

Prozeduraler Stil:

void cairo_arc ( CairoContext $context , float $x , float $y , float $radius , float $angle1 , float $angle2 )

Adds a circular arc of the given radius to the current path. The arc is centered at (x, y), begins at angle1 and proceeds in the direction of increasing angles to end at angle2. If angle2 is less than angle1 it will be progressively increased by 2*M_PI until it is greater than angle1. If there is a current point, an initial line segment will be added to the path to connect the current point to the beginning of the arc. If this initial line is undesired, it can be avoided by calling CairoContext::newSubPath() or procedural cairo_new_sub_path() before calling CairoContext::arc() or cairo_arc(). Angles are measured in radians. An angle of 0.0 is in the direction of the positive X axis (in user space). An angle of M_PI/2.0 radians (90 degrees) is in the direction of the positive Y axis (in user space). Angles increase in the direction from the positive X axis toward the positive Y axis. So with the default transformation matrix, angles increase in a clockwise direction. (To convert from degrees to radians, use degrees * (M_PI / 180.).) This function gives the arc in the direction of increasing angles; see CairoContext::arcNegative() or cairo_arc_negative() to get the arc in the direction of decreasing angles.

Parameter-Liste

context

A valid CairoContext object

x

x position

y

y position

radius

Radius of the arc

angle1

start angle

angle2

end angle

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php

$s = new CairoImageSurface(CairoFormat::ARGB32, 100, 100);
$c = new CairoContext($s);

$c->setSourceRgb(0, 0, 0);
$c->paint();

$c->setLineWidth(1);
$c->setSourceRgb(1, 1, 1);

for ($r = 50; $r > 0; $r -= 10) {
 $c->arc(50, 50, $r, 0, 2 * M_PI);
 $c->stroke();
 $c->fill();
}

$s->writeToPng(dirname(__FILE__) . '/CairoContext__arc.png');
?>

Beispiel #2 Prozeduraler Stil

<?php

$s = cairo_image_surface_create(CAIRO_SURFACE_TYPE_IMAGE, 100, 100);
$c = cairo_create($s);

cairo_set_source_rgb($c, 0, 0, 0);
cairo_paint($c);

cairo_set_source_rgb($c, 1, 1, 1);
cairo_set_line_width($c, 1);

for ($r = 50; $r > 0; $r -= 10) {
 cairo_arc($c, 50, 50, $r, 0, 2 * M_PI);
 cairo_stroke($c);
 cairo_fill($c);
}

cairo_surface_write_to_png($s, dirname(__FILE__) . '/cairo_arc.png');
?>

Siehe auch

  • CairoContext::arcNegative() - Adds a negative arc

CairoContext::appendPath
CairoContext::arcNegative
CairoContext


Adds a negative arc

CairoContext::arc
CairoContext::clip
CairoContext
PHP Manual

CairoContext::arcNegative

cairo_arc_negative

(PECL cairo >= 0.1.0)

CairoContext::arcNegative -- cairo_arc_negative — Adds a negative arc

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::arcNegative ( float $x , float $y , float $radius , float $angle1 , float $angle2 )

Prozeduraler Stil:

void cairo_arc_negative ( CairoContext $context , float $x , float $y , float $radius , float $angle1 , float $angle2 )

Adds a circular arc of the given radius to the current path. The arc is centered at (x, y), begins at angle1 and proceeds in the direction of decreasing angles to end at angle2. If angle2 is greater than angle1 it will be progressively decreased by 2*M_PI until it is less than angle1. See CairoContext::arc() or cairo_arc() for more details. This function differs only in the direction of the arc between the two angles.

Parameter-Liste

context

A valid CairoContext object

x

double x position

y

double y position

radius

The radius of the desired negative arc

angle1

Start angle of the arc

angle2

End angle of the arc

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php

$s = new CairoImageSurface(CairoFormat::ARGB32, 100, 100);
$c = new CairoContext($s);

$c->setSourceRgb(0, 0, 0);
$c->paint();

$c->setLineWidth(1);
$c->setSourceRgb(1, 1, 1);

for ($r = 50; $r > 0; $r -= 10) {
 $c->arcNegative(50, 50, $r, 2 * M_PI, 0);
 $c->stroke();
 $c->fill();
}

$s->writeToPng(dirname(__FILE__) . '/CairoContext__arcNegative.png');
?>

Beispiel #2 Prozeduraler Stil

<?php

$s = cairo_image_surface_create(CAIRO_SURFACE_TYPE_IMAGE, 100, 100);
$c = cairo_create($s);

cairo_set_source_rgb($c, 0, 0, 0);
cairo_paint($c);

cairo_set_source_rgb($c, 1, 1, 1);
cairo_set_line_width($c, 1);

for ($r = 50; $r > 0; $r -= 10) {
 cairo_arc_negative($c, 50, 50, $r, 2 * M_PI, 0);
 cairo_stroke($c);
 cairo_fill($c);
}

cairo_surface_write_to_png($s, dirname(__FILE__) . '/cairo_arc_negative.png');
?>

Siehe auch

  • CairoContext::arc() - Adds a circular arc

CairoContext::arc
CairoContext::clip
CairoContext


Establishes a new clip region

CairoContext::arcNegative
CairoContext::clipExtents
CairoContext
PHP Manual

CairoContext::clip

cairo_clip

(PECL cairo >= 0.1.0)

CairoContext::clip -- cairo_clip — Establishes a new clip region

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::clip ( void )

Prozeduraler Stil:

void cairo_clip ( CairoContext $context )

Establishes a new clip region by intersecting the current clip region with the current path as it would be filled by CairoContext::fill() or cairo_fill() and according to the current fill rule (see CairoContext::setFillRule() or cairo_set_fill_rule()).

After CairoContext::clip() or cairo_clip(), the current path will be cleared from the cairo context.

The current clip region affects all drawing operations by effectively masking out any changes to the surface that are outside the current clip region.

Calling CairoContext::clip() or cairo_clip()
can only make the clip region smaller, never larger. But the current clip is part of the
graphics state, so a temporary restriction of the clip region can be achieved by calling
CairoContext::clip() or cairo_clip() within a
CairoContext::save()/CairoContext::restore() or
cairo_save()/cairo_restore() pair.
The only other means of increasing the size of the clip region is
CairoContext::resetClip() or procedural cairo_reset_clip().

Parameter-Liste

context

A valid CairoContext object

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php

$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

$context = new CairoContext($surface);

$context->clip();

?>

Beispiel #2 Prozeduraler Stil

<?php

$surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);

$context = cairo_create($surface);

cairo_clip($context);

?>

Siehe auch

  • CairoContext::resetClip() - The resetClip purpose
  • cairo_reset_clip() - The resetClip purpose

CairoContext::arcNegative
CairoContext::clipExtents
CairoContext


Computes the area inside the current clip

CairoContext::clip
CairoContext::clipPreserve
CairoContext
PHP Manual

CairoContext::clipExtents

cairo_clip_extents

(PECL cairo >= 0.1.0)

CairoContext::clipExtents -- cairo_clip_extents — Computes the area inside the current clip

Beschreibung

Objektorientierter Stil (method):

public array CairoContext::clipExtents ( void )

Prozeduraler Stil:

array cairo_clip_extents ( CairoContext $context )

Computes a bounding box in user coordinates covering the area inside the current clip.

Parameter-Liste

context

A valid CairoContext object

Rückgabewerte

An array containing the (float)x1, (float)y1, (float)x2, (float)y2, coordinates covering the area inside the current clip

Beispiele

Beispiel #1 Objektorientierter Stil

<?php

$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

$context = new CairoContext($surface);

var_dump($context->clipExtents());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(4) {
  [0]=>
  float(0)
  [1]=>
  float(0)
  [2]=>
  float(50)
  [3]=>
  float(50)
}

Beispiel #2 Prozeduraler Stil

<?php

$surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);

$context = cairo_create($surface);

var_dump(cairo_clip_extents($context));

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(4) {
  [0]=>
  float(0)
  [1]=>
  float(0)
  [2]=>
  float(50)
  [3]=>
  float(50)
}

Siehe auch

  • CairoContext::clip() - Establishes a new clip region

CairoContext::clip
CairoContext::clipPreserve
CairoContext


Establishes a new clip region from the current clip

CairoContext::clipExtents
CairoContext::clipRectangleList
CairoContext
PHP Manual

CairoContext::clipPreserve

cairo_clip_preserve

(PECL cairo >= 0.1.0)

CairoContext::clipPreserve -- cairo_clip_preserve — Establishes a new clip region from the current clip

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::clipPreserve ( void )

Prozeduraler Stil:

void cairo_clip_preserve ( CairoContext $context )

Establishes a new clip region by intersecting the current clip region with the current path as it would be filled by Context.fill() and according to the current FILL RULE (see CairoContext::setFillRule() or cairo_set_fill_rule()).

Unlike CairoContext::clip(), CairoContext::clipPreserve() preserves the path within the Context. The current clip region affects all drawing operations by effectively masking out any changes to the surface that are outside the current clip region.

Calling CairoContext::clipPreserve() can only make the clip region smaller, never larger. But the current clip is part of the graphics state, so a temporary restriction of the clip region can be achieved by calling CairoContext::clipPreserve() within a CairoContext::save()/CairoContext::restore() pair. The only other means of increasing the size of the clip region is CairoContext::resetClip().

Parameter-Liste

context

A valid CairoContext object

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php

$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

$context = new CairoContext($surface);

$context->clipPreserve();

?>

Beispiel #2 Prozeduraler Stil

<?php

$surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);

$context = cairo_create($surface);

cairo_clip_preserve($context);

?>

Siehe auch

  • CairoContext::save() - The save purpose
  • CairoContext::restore() - The restore purpose
  • CairoContext::resetClip() - The resetClip purpose

CairoContext::clipExtents
CairoContext::clipRectangleList
CairoContext


Retrieves the current clip as a list of rectangles

CairoContext::clipPreserve
CairoContext::closePath
CairoContext
PHP Manual

CairoContext::clipRectangleList

cairo_clip_rectangle_list

(PECL cairo >= 0.1.0)

CairoContext::clipRectangleList -- cairo_clip_rectangle_list — Retrieves the current clip as a list of rectangles

Beschreibung

Objektorientierter Stil (method):

public array CairoContext::clipRectangleList ( void )

Prozeduraler Stil:

array cairo_clip_rectangle_list ( CairoContext $context )

Returns a list-type array with the current clip region as a list of rectangles in user coordinates

Parameter-Liste

context

A valid CairoContext object created with CairoContext::__construct() or cairo_create()

Rückgabewerte

An array of user-space represented rectangles for the current clip

(The status in the list may be CAIRO_STATUS_CLIP_NOT_REPRESENTABLE to indicate that the clip region cannot be represented as a list of user-space rectangles. The status may have other values to indicate other errors.)

Beispiele

Beispiel #1 Objektorientierter Stil

<?php

$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

$context = new CairoContext($surface);

var_dump($context->clipRectangleList());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(1) {
  [0]=>
  array(4) {
    ["x"]=>
    float(0)
    ["y"]=>
    float(0)
    ["width"]=>
    float(50)
    ["height"]=>
    float(50)
  }
}

Beispiel #2 Prozeduraler Stil

<?php

$surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);

$context = cairo_create($surface);

var_dump(cairo_clip_rectangle_list($context));

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(1) {
  [0]=>
  array(4) {
    ["x"]=>
    float(0)
    ["y"]=>
    float(0)
    ["width"]=>
    float(50)
    ["height"]=>
    float(50)
  }
}

Siehe auch

  • Classname::Method()

CairoContext::clipPreserve
CairoContext::closePath
CairoContext


Closes the current path

CairoContext::clipRectangleList
CairoContext::__construct
CairoContext
PHP Manual

CairoContext::closePath

cairo_close_path

(PECL cairo >= 0.1.0)

CairoContext::closePath -- cairo_close_path — Closes the current path

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::closePath ( void )

Prozeduraler Stil:

void cairo_close_path ( CairoContext $context )

Adds a line segment to the path from the current point to the beginning of the current sub-path, (the most recent point passed to CairoContext::moveTo()), and closes this sub-path. After this call the current point will be at the joined endpoint of the sub-path.

The behavior of close_path() is distinct from simply calling CairoContext::lineTo() with the equivalent coordinate in the case of stroking. When a closed sub-path is stroked, there are no caps on the ends of the sub-path. Instead, there is a line join connecting the final and initial segments of the sub-path.

If there is no current point before the call to CairoContext::closePath(), this function will have no effect.

Parameter-Liste

context

A valid CairoContext object created with CairoContext::__construct() or cairo_create()

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php

$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

$context = new CairoContext($surface);

$context->closePath();

?>

Beispiel #2 Prozeduraler Stil

<?php

$surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);

$context = cairo_create($surface);

cairo_close_path($context);

?>

Siehe auch

  • CairoContext::copyPath() - Creates a copy of the current path

CairoContext::clipRectangleList
CairoContext::__construct
CairoContext


Creates a new CairoContext

CairoContext::closePath
CairoContext::copyPage
CairoContext
PHP Manual

CairoContext::__construct

(PECL cairo >= 0.1.0)

CairoContext::__construct — Creates a new CairoContext

Beschreibung

public CairoContext::__construct ( CairoSurface $surface )

Creates a new CairoContext object to draw

Parameter-Liste

surface

A valid CairoSurface like CairoImageSurface or CairoPdfSurface

Rückgabewerte

A CairoContext

Beispiele

Beispiel #1 CairoContext::__construct() example

<?php
// The surface to work on
$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

// Create a new CairoContext for the CairoSurface
$context = new CairoContext($surface);

?>

Siehe auch

  • Cairo::Method()

CairoContext::closePath
CairoContext::copyPage
CairoContext


Emits the current page

CairoContext::__construct
CairoContext::copyPath
CairoContext
PHP Manual

CairoContext::copyPage

cairo_copy_page

(PECL cairo >= 0.1.0)

CairoContext::copyPage -- cairo_copy_page — Emits the current page

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::copyPage ( void )

Prozeduraler Stil:

void cairo_copy_page ( CairoContext $context )

Emits the current page for backends that support multiple pages, but doesn’t clear it, so, the contents of the current page will be retained for the next page too. Use CairoContext::showPage() if you want to get an empty page after the emission.

This is a convenience function that simply calls CairoSurface::copyPage() on CairoContext’s target.

Parameter-Liste

context

A valid CairoContext object created with CairoContext::__construct() or cairo_create()

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php

$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

$context = new CairoContext($surface);

$context->copyPage();

?>

Beispiel #2 Prozeduraler Stil

<?php

$surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);

$context = cairo_create($surface);

cairo_copy_page($context);

?>

Siehe auch

  • CairoContext::showPage() - The showPage purpose
  • CairoSurface::copyPage() - The copyPage purpose

CairoContext::__construct
CairoContext::copyPath
CairoContext


Creates a copy of the current path

CairoContext::copyPage
CairoContext::copyPathFlat
CairoContext
PHP Manual

CairoContext::copyPath

cairo_copy_path

(PECL cairo >= 0.1.0)

CairoContext::copyPath -- cairo_copy_path — Creates a copy of the current path

Beschreibung

Objektorientierter Stil (method):

public CairoPath CairoContext::copyPath ( void )

Prozeduraler Stil:

CairoPath cairo_copy_path ( CairoContext $context )

Creates a copy of the current path and returns it to the user as a CairoPath. See CairoPath for hints on how to iterate over the returned data structure.

This function will always return a valid CairoPath object, but the result will have no data, if either of the following conditions hold:

  • 1. If there is insufficient memory to copy the path. In this case CairoPath->status will be set to CAIRO_STATUS_NO_MEMORY.
  • 2. If context is already in an error state. In this case CairoPath->status will contain the same status that would be returned by cairo_status().
In either case, CairoPath->status will be set to CAIRO_STATUS_NO_MEMORY (regardless of what the error status in cr might have been).

Parameter-Liste

context

A valid CairoContext object created with CairoContext::__construct() or cairo_create()

Rückgabewerte

A copy of the current CairoPath in the context

Beispiele

Beispiel #1 Objektorientierter Stil

<?php

$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

$context = new CairoContext($surface);

var_dump($context->copyPath())

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(CairoPath)#3 (0) {
}

Beispiel #2 Prozeduraler Stil

<?php

$surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);

$context = cairo_create($surface);

var_dump(cairo_copy_path($context));

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(CairoPath)#3 (0) {
}

Siehe auch

  • CairoContext::closePath() - Closes the current path

CairoContext::copyPage
CairoContext::copyPathFlat
CairoContext


Gets a flattened copy of the current path

CairoContext::copyPath
CairoContext::curveTo
CairoContext
PHP Manual

CairoContext::copyPathFlat

cairo_copy_path_flat

(PECL cairo >= 0.1.0)

CairoContext::copyPathFlat -- cairo_copy_path_flat — Gets a flattened copy of the current path

Beschreibung

Objektorientierter Stil (method):

public CairoPath CairoContext::copyPathFlat ( void )

Prozeduraler Stil:

CairoPath cairo_copy_path_flat ( CairoContext $context )

Gets a flattened copy of the current path and returns it to the user as a CairoPath.

This function is like CairoContext::copyPath() except that any curves in the path will be approximated with piecewise-linear approximations, (accurate to within the current tolerance value). That is, the result is guaranteed to not have any elements of type CAIRO_PATH_CURVE_TO which will instead be replaced by a series of CAIRO_PATH_LINE_TO elements.

Parameter-Liste

context

A CairoContext object

Rückgabewerte

A copy of the current path

Beispiele

Beispiel #1 Objektorientierter Stil

<?php

$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

$context = new CairoContext($surface);

var_dump($context->copyPathFlat());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(CairoPath)#3 (0) {
}

Beispiel #2 Prozeduraler Stil

<?php

$surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);

$context = cairo_create($surface);

var_dump(cairo_copy_path_flat($context));

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(CairoPath)#3 (0) {
}

Siehe auch

  • CairoContext::copyPath() - Creates a copy of the current path
  • CairoContext::closePath() - Closes the current path

CairoContext::copyPath
CairoContext::curveTo
CairoContext


Adds a curve

CairoContext::copyPathFlat
CairoContext::deviceToUser
CairoContext
PHP Manual

CairoContext::curveTo

cairo_curve_to

(PECL cairo >= 0.1.0)

CairoContext::curveTo -- cairo_curve_to — Adds a curve

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::curveTo ( float $x1 , float $y1 , float $x2 , float $y2 , float $x3 , float $y3 )

Prozeduraler Stil:

void cairo_curve_to ( CairoContext $context , float $x1 , float $y1 , float $x2 , float $y2 , float $x3 , float $y3 )

Adds a cubic Bezier spline to the path from the current point to position x3 ,y3 in user-space coordinates, using x1, y1 and x2, y2 as the control points. After this call the current point will be x3, y3.

If there is no current point before the call to CairoContext::curveTo() this function will behave as if preceded by a call to CairoContext::moveTo() (x1, y1).

Parameter-Liste

context

A valid CairoContext object created with CairoContext::__construct() or cairo_create()

x1

First control point in the x axis for the curve

y1

First control point in the y axis for the curve

x2

Second control point in x axis for the curve

y2

Second control point in y axis for the curve

x3

Final point in the x axis for the curve

y3

Final point in the y axis for the curve

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$s = new CairoImageSurface(CairoFormat::ARGB32, 100, 100);
$c = new CairoContext($s);

$c->setSourceRgb(0, 0, 0);

$c->paint();

$c->moveTo(10, 50);
$c->setLineWidth(5);
$c->setSourceRgb(.1, 0, 1);
$c->curveTo(20, 80, 80, 20, 90, 50);
$c->stroke();

$s->writeToPng(dirname(__FILE__) . '/curveTo.png');
?>

Beispiel #2 Prozeduraler Stil

<?php

$s = cairo_image_surface_create(CAIRO_SURFACE_TYPE_IMAGE, 100, 100);
$c = cairo_create($s);

cairo_set_source_rgb($c, 0, 0, 0);

cairo_paint($c);

cairo_move_to($c, 10, 50);
cairo_set_line_width($c, 5);
cairo_set_source_rgb($c, .1, 0, 1);
cairo_curve_to($c, 20, 80, 80, 20, 90, 50);
cairo_stroke($c);

cairo_surface_write_to_png($s, dirname(__FILE__) . '/curve_to.png');
?>

Siehe auch

  • CairoContext::moveTo() - The moveTo purpose

CairoContext::copyPathFlat
CairoContext::deviceToUser
CairoContext


Transform a coordinate

CairoContext::curveTo
CairoContext::deviceToUserDistance
CairoContext
PHP Manual

CairoContext::deviceToUser

cairo_device_to_user

(PECL cairo >= 0.1.0)

CairoContext::deviceToUser -- cairo_device_to_user — Transform a coordinate

Beschreibung

Objektorientierter Stil (method):

public array CairoContext::deviceToUser ( float $x , float $y )

Prozeduraler Stil:

array cairo_device_to_user ( CairoContext $context , float $x , float $y )

Transform a coordinate from device space to user space by multiplying the given point by the inverse of the current transformation matrix (CTM).

Parameter-Liste

context

A valid CairoContext object created with CairoContext::__construct() or cairo_create()

x

x value of the coordinate

y

y value of the coordinate

Rückgabewerte

An array containing the x and y coordinates in the user-space

Siehe auch

  • CairoContext::deviceToUserDistance() - Transform a distance

CairoContext::curveTo
CairoContext::deviceToUserDistance
CairoContext


Transform a distance

CairoContext::deviceToUser
CairoContext::fill
CairoContext
PHP Manual

CairoContext::deviceToUserDistance

cairo_device_to_user_distance

(PECL cairo >= 0.1.0)

CairoContext::deviceToUserDistance -- cairo_device_to_user_distance — Transform a distance

Beschreibung

Objektorientierter Stil (method):

public array CairoContext::deviceToUserDistance ( float $x , float $y )

Prozeduraler Stil:

array cairo_device_to_user_distance ( CairoContext $context , float $x , float $y )

Transform a distance vector from device space to user space. This function is similar to CairoContext::deviceToUser() or cairo_device_to_user() except that the translation components of the inverse Cairo Transformation Matrix will be ignored when transforming (x,y).

Parameter-Liste

context

A valid CairoContext object created with CairoContext::__construct() or cairo_create()

x

X component of a distance vector

y

Y component of a distance vector

Rückgabewerte

Returns an array with the x and y values of a distance vector in the user-space

Siehe auch

  • CairoContext::deviceToUser() - Transform a coordinate

CairoContext::deviceToUser
CairoContext::fill
CairoContext


Fills the current path

CairoContext::deviceToUserDistance
CairoContext::fillExtents
CairoContext
PHP Manual

CairoContext::fill

cairo_fill

(PECL cairo >= 0.1.0)

CairoContext::fill -- cairo_fill — Fills the current path

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::fill ( void )

Prozeduraler Stil:

void cairo_fill ( CairoContext $context )

A drawing operator that fills the current path according to the current CairoFillRule, (each sub-path is implicitly closed before being filled). After CairoContext::fill() or cairo_fill(), the current path will be cleared from the CairoContext.

Parameter-Liste

context

A valid CairoContext object created with CairoContext::__construct() or cairo_create()

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php

$s = new CairoImageSurface(CairoFormat::ARGB32, 100, 100);
$c = new CairoContext($s);

$c->setSourceRgb(0, 0, 0);
$c->paint();

$c->setSourceRgb(1, 1, 1);
$c->rectangle(0, 0, 50, 50);
$c->fill();
$c->setSourceRgb(0, 1, 0);
$c->rectangle(50, 50, 50, 50);
$c->fill();

$s->writeToPng(dirname(__FILE__) . '/CairoContext_fill.png');

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php

$s = cairo_image_surface_create(CAIRO_SURFACE_TYPE_IMAGE, 100, 100);
$c = cairo_create($s);

cairo_set_source_rgb($c, 0, 0, 0);
cairo_paint($c);

cairo_set_source_rgb($c, 1, 1, 1);
cairo_rectangle($c, 0, 0, 50, 50);
cairo_fill($c);
cairo_set_source_rgb($c, 0, 1, 0);
cairo_rectangle($c, 50, 50, 50, 50);
cairo_fill($c);

cairo_surface_write_to_png($s, dirname(__FILE__) . '/cairo_fill.png');

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • CairoContext::setFillRule() - The setFillRule purpose
  • ContextContext::fillPreserve()
  • CairoFillRule

CairoContext::deviceToUserDistance
CairoContext::fillExtents
CairoContext


Computes the filled area

CairoContext::fill
CairoContext::fillPreserve
CairoContext
PHP Manual

CairoContext::fillExtents

cairo_fill_extents

(PECL cairo >= 0.1.0)

CairoContext::fillExtents -- cairo_fill_extents — Computes the filled area

Beschreibung

Objektorientierter Stil (method):

public array CairoContext::fillExtents ( void )

Prozeduraler Stil:

array cairo_fill_extents ( CairoContext $context )

Computes a bounding box in user coordinates covering the area that would be affected, (the “inked” area), by a CairoContext::fill() operation given the current path and fill parameters. If the current path is empty, returns an empty rectangle (0,0,0,0). Surface dimensions and clipping are not taken into account.

Contrast with CairoContext::pathExtents(), which is similar, but returns non-zero extents for some paths with no inked area, (such as a simple line segment).

Note that CairoContext::fillExtents() must necessarily do more work to compute the precise inked areas in light of the fill rule, so CairoContext::pathExtents() may be more desirable for sake of performance if the non-inked path extents are desired.

Parameter-Liste

context

A valid CairoContext object created with CairoContext::__construct() or cairo_create()

Rückgabewerte

An array with the coordinates of the afected area

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • CairoContext::fill() - Fills the current path
  • CairoContext::setFillRule() - The setFillRule purpose
  • CairoContext::fillPreserve() - Fills and preserve the current path

CairoContext::fill
CairoContext::fillPreserve
CairoContext


Fills and preserve the current path

CairoContext::fillExtents
CairoContext::fontExtents
CairoContext
PHP Manual

CairoContext::fillPreserve

cairo_fill_preserve

(PECL cairo >= 0.1.0)

CairoContext::fillPreserve -- cairo_fill_preserve — Fills and preserve the current path

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::fillPreserve ( void )

Prozeduraler Stil:

void cairo_fill_preserve ( CairoContext $context )

A drawing operator that fills the current path according to the current CairoFillRule, (each sub-path is implicitly closed before being filled). Unlike CairoContext::fill(), CairoContext::fillPreserve() (Procedural cairo_fill(), cairo_fill_preserve(), respectively) preserves the path within the Context.

Parameter-Liste

context

A valid CairoContext object created with CairoContext::__construct() or cairo_create()

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • CairoContext::setFillRule() - The setFillRule purpose
  • CairoContext::fill() - Fills the current path

CairoContext::fillExtents
CairoContext::fontExtents
CairoContext


Get the font extents

CairoContext::fillPreserve
CairoContext::getAntialias
CairoContext
PHP Manual

CairoContext::fontExtents

cairo_font_extents

(PECL cairo >= 0.1.0)

CairoContext::fontExtents -- cairo_font_extents — Get the font extents

Beschreibung

Objektorientierter Stil (method):

public array CairoContext::fontExtents ( void )

Prozeduraler Stil:

array cairo_font_extents ( CairoContext $context )

Gets the font extents for the currently selected font.

Parameter-Liste

context

Description...

Rückgabewerte

An array containing the font extents for the current font.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php

$sur = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);
$con = new CairoContext($sur);

var_dump($con->fontExtents());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(5) {
  ["ascent"]=>
  float(10)
  ["descent"]=>
  float(3)
  ["height"]=>
  float(13.3125)
  ["max_x_advance"]=>
  float(26.65625)
  ["max_y_advance"]=>
  float(0)
}

Beispiel #2 Prozeduraler Stil

<?php

$sur = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);
$con = cairo_create($sur);

var_dump(cairo_font_extents($con));

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(5) {
  ["ascent"]=>
  float(10)
  ["descent"]=>
  float(3)
  ["height"]=>
  float(13.3125)
  ["max_x_advance"]=>
  float(26.65625)
  ["max_y_advance"]=>
  float(0)
}

Siehe auch

  • Classname::Method()

CairoContext::fillPreserve
CairoContext::getAntialias
CairoContext


Retrives the current antialias mode

CairoContext::fontExtents
CairoContext::getCurrentPoint
CairoContext
PHP Manual

CairoContext::getAntialias

cairo_get_antialias

(PECL cairo >= 0.1.0)

CairoContext::getAntialias -- cairo_get_antialias — Retrives the current antialias mode

Beschreibung

Objektorientierter Stil (method):

public int CairoContext::getAntialias ( void )

Prozeduraler Stil:

int cairo_get_antialias ( CairoContext $context )

Returns the current CairoAntialias mode, as set by CairoContext::setAntialias().

Parameter-Liste

context

A valid CairoContext object created with CairoContext::__construct() or cairo_create()

Rückgabewerte

The current CairoAntialias mode.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php

$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);
$context = new CairoContext($surface);

$context->setAntialias(CairoAntialias::MODE_SUBPIXEL);

var_dump($context->getAntialias());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(3)

Beispiel #2 Prozeduraler Stil

<?php

$sur = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);
$con = cairo_create($sur);

cairo_set_antialias($con, CAIRO_ANTIALIAS_SUBPIXEL);

var_dump(cairo_get_antialias($con));

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(3)

Siehe auch

  • CairoContext::setAntialias() - The setAntialias purpose
  • CairoAntialias

CairoContext::fontExtents
CairoContext::getCurrentPoint
CairoContext


The getCurrentPoint purpose

CairoContext::getAntialias
CairoContext::getDash
CairoContext
PHP Manual

CairoContext::getCurrentPoint

cairo_get_current_point

(PECL cairo >= 0.1.0)

CairoContext::getCurrentPoint -- cairo_get_current_point — The getCurrentPoint purpose

Beschreibung

Objektorientierter Stil

public array CairoContext::getCurrentPoint ( void )

Prozeduraler Stil

array cairo_get_current_point ( CairoContext $context )

Gets the current point of the current path, which is conceptually the final point reached by the path so far.

The current point is returned in the user-space coordinate system. If there is no defined current point or if cr is in an error status, x and y will both be set to 0.0. It is possible to check this in advance with CairoContext::hasCurrentPoint().

Most path construction functions alter the current point. See the following for details on how they affect the current point: CairoContext::newPath(),
CairoContext::newSubPath(), CairoContext::appendPath(), CairoContext::closePath(), CairoContext::moveTo(),
CairoContext::lineTo(), CairoContext::curveTo(), CairoContext::relMoveTo(),
CairoContext::relLineTo(), CairoContext::relCurveTo(),
CairoContext::arc(), CairoContext::arcNegative(), CairoContext::rectangle(),
CairoContext::textPath(), CairoContext::glyphPath().

Some functions use and alter the current point but do not otherwise change current path: CairoContext::showText().

Some functions unset the current path and as a result, current point: CairoContext::fill(), CairoContext::stroke().

Parameter-Liste

context

A valid CairoContext object.

Rückgabewerte

An array containing the x (index 0) and y (index 1) coordinates of the current point.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php

$s = new CairoImageSurface(CairoFormat::ARGB32, 100, 100);
$c = new CairoContext($s);

$c->moveTo(10, 10);

var_dump($c->getCurrentPoint());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(2) {
  [0]=>
  float(10)
  [1]=>
  float(10)
}

Beispiel #2 Prozeduraler Stil

<?php

$s = cairo_image_surface_create(CAIRO_SURFACE_TYPE_IMAGE, 100, 100);
$c = cairo_create($s);

cairo_move_to($c, 10, 10);

var_dump(cairo_get_current_point($c));

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(2) {
  [0]=>
  float(10)
  [1]=>
  float(10)
}

Siehe auch

  • CairoContext::moveTo() - The moveTo purpose
  • CairoContext::hasCurrentPoint() - The hasCurrentPoint purpose

CairoContext::getAntialias
CairoContext::getDash
CairoContext


The getDash purpose

CairoContext::getCurrentPoint
CairoContext::getDashCount
CairoContext
PHP Manual

CairoContext::getDash

cairo_get_dash

(PECL cairo >= 0.1.0)

CairoContext::getDash -- cairo_get_dash — The getDash purpose

Beschreibung

Objektorientierter Stil (method):

public array CairoContext::getDash ( void )

Prozeduraler Stil:

array cairo_get_dash ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::getCurrentPoint
CairoContext::getDashCount
CairoContext


The getDashCount purpose

CairoContext::getDash
CairoContext::getFillRule
CairoContext
PHP Manual

CairoContext::getDashCount

cairo_get_dash_count

(PECL cairo >= 0.1.0)

CairoContext::getDashCount -- cairo_get_dash_count — The getDashCount purpose

Beschreibung

Objektorientierter Stil (method):

public int CairoContext::getDashCount ( void )

Prozeduraler Stil:

int cairo_get_dash_count ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::getDash
CairoContext::getFillRule
CairoContext


The getFillRule purpose

CairoContext::getDashCount
CairoContext::getFontFace
CairoContext
PHP Manual

CairoContext::getFillRule

cairo_get_fill_rule

(PECL cairo >= 0.1.0)

CairoContext::getFillRule -- cairo_get_fill_rule — The getFillRule purpose

Beschreibung

Objektorientierter Stil (method):

public int CairoContext::getFillRule ( void )

Prozeduraler Stil:

int cairo_get_fill_rule ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::getDashCount
CairoContext::getFontFace
CairoContext


The getFontFace purpose

CairoContext::getFillRule
CairoContext::getFontMatrix
CairoContext
PHP Manual

CairoContext::getFontFace

cairo_get_font_face

(PECL cairo >= 0.1.0)

CairoContext::getFontFace -- cairo_get_font_face — The getFontFace purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::getFontFace ( void )

Prozeduraler Stil:

void cairo_get_font_face ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::getFillRule
CairoContext::getFontMatrix
CairoContext


The getFontMatrix purpose

CairoContext::getFontFace
CairoContext::getFontOptions
CairoContext
PHP Manual

CairoContext::getFontMatrix

cairo_get_font_matrix

(PECL cairo >= 0.1.0)

CairoContext::getFontMatrix -- cairo_get_font_matrix — The getFontMatrix purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::getFontMatrix ( void )

Prozeduraler Stil:

void cairo_get_font_matrix ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::getFontFace
CairoContext::getFontOptions
CairoContext


The getFontOptions purpose

CairoContext::getFontMatrix
CairoContext::getGroupTarget
CairoContext
PHP Manual

CairoContext::getFontOptions

cairo_get_font_options

(PECL cairo >= 0.1.0)

CairoContext::getFontOptions -- cairo_get_font_options — The getFontOptions purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::getFontOptions ( void )

Prozeduraler Stil:

void cairo_get_font_options ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::getFontMatrix
CairoContext::getGroupTarget
CairoContext


The getGroupTarget purpose

CairoContext::getFontOptions
CairoContext::getLineCap
CairoContext
PHP Manual

CairoContext::getGroupTarget

cairo_get_group_target

(PECL cairo >= 0.1.0)

CairoContext::getGroupTarget -- cairo_get_group_target — The getGroupTarget purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::getGroupTarget ( void )

Prozeduraler Stil:

void cairo_get_group_target ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::getFontOptions
CairoContext::getLineCap
CairoContext


The getLineCap purpose

CairoContext::getGroupTarget
CairoContext::getLineJoin
CairoContext
PHP Manual

CairoContext::getLineCap

cairo_get_line_cap

(PECL cairo >= 0.1.0)

CairoContext::getLineCap -- cairo_get_line_cap — The getLineCap purpose

Beschreibung

Objektorientierter Stil (method):

public int CairoContext::getLineCap ( void )

Prozeduraler Stil:

int cairo_get_line_cap ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::getGroupTarget
CairoContext::getLineJoin
CairoContext


The getLineJoin purpose

CairoContext::getLineCap
CairoContext::getLineWidth
CairoContext
PHP Manual

CairoContext::getLineJoin

cairo_get_line_join

(PECL cairo >= 0.1.0)

CairoContext::getLineJoin -- cairo_get_line_join — The getLineJoin purpose

Beschreibung

Objektorientierter Stil (method):

public int CairoContext::getLineJoin ( void )

Prozeduraler Stil:

int cairo_get_line_join ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::getLineCap
CairoContext::getLineWidth
CairoContext


The getLineWidth purpose

CairoContext::getLineJoin
CairoContext::getMatrix
CairoContext
PHP Manual

CairoContext::getLineWidth

cairo_get_line_width

(PECL cairo >= 0.1.0)

CairoContext::getLineWidth -- cairo_get_line_width — The getLineWidth purpose

Beschreibung

Objektorientierter Stil (method):

public float CairoContext::getLineWidth ( void )

Prozeduraler Stil:

float cairo_get_line_width ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::getLineJoin
CairoContext::getMatrix
CairoContext


The getMatrix purpose

CairoContext::getLineWidth
CairoContext::getMiterLimit
CairoContext
PHP Manual

CairoContext::getMatrix

cairo_get_matrix

(PECL cairo >= 0.1.0)

CairoContext::getMatrix -- cairo_get_matrix — The getMatrix purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::getMatrix ( void )

Prozeduraler Stil:

void cairo_get_matrix ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::getLineWidth
CairoContext::getMiterLimit
CairoContext


The getMiterLimit purpose

CairoContext::getMatrix
CairoContext::getOperator
CairoContext
PHP Manual

CairoContext::getMiterLimit

cairo_get_miter_limit

(PECL cairo >= 0.1.0)

CairoContext::getMiterLimit -- cairo_get_miter_limit — The getMiterLimit purpose

Beschreibung

Objektorientierter Stil (method):

public float CairoContext::getMiterLimit ( void )

Prozeduraler Stil:

float cairo_get_miter_limit ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::getMatrix
CairoContext::getOperator
CairoContext


The getOperator purpose

CairoContext::getMiterLimit
CairoContext::getScaledFont
CairoContext
PHP Manual

CairoContext::getOperator

cairo_get_operator

(PECL cairo >= 0.1.0)

CairoContext::getOperator -- cairo_get_operator — The getOperator purpose

Beschreibung

Objektorientierter Stil (method):

public int CairoContext::getOperator ( void )

Prozeduraler Stil:

int cairo_get_operator ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::getMiterLimit
CairoContext::getScaledFont
CairoContext


The getScaledFont purpose

CairoContext::getOperator
CairoContext::getSource
CairoContext
PHP Manual

CairoContext::getScaledFont

cairo_get_scaled_font

(PECL cairo >= 0.1.0)

CairoContext::getScaledFont -- cairo_get_scaled_font — The getScaledFont purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::getScaledFont ( void )

Prozeduraler Stil:

void cairo_get_scaled_font ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::getOperator
CairoContext::getSource
CairoContext


The getSource purpose

CairoContext::getScaledFont
CairoContext::getTarget
CairoContext
PHP Manual

CairoContext::getSource

cairo_get_source

(PECL cairo >= 0.1.0)

CairoContext::getSource -- cairo_get_source — The getSource purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::getSource ( void )

Prozeduraler Stil:

void cairo_get_source ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::getScaledFont
CairoContext::getTarget
CairoContext


The getTarget purpose

CairoContext::getSource
CairoContext::getTolerance
CairoContext
PHP Manual

CairoContext::getTarget

cairo_get_target

(PECL cairo >= 0.1.0)

CairoContext::getTarget -- cairo_get_target — The getTarget purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::getTarget ( void )

Prozeduraler Stil:

void cairo_get_target ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::getSource
CairoContext::getTolerance
CairoContext


The getTolerance purpose

CairoContext::getTarget
CairoContext::glyphPath
CairoContext
PHP Manual

CairoContext::getTolerance

cairo_get_tolerance

(PECL cairo >= 0.1.0)

CairoContext::getTolerance -- cairo_get_tolerance — The getTolerance purpose

Beschreibung

Objektorientierter Stil (method):

public float CairoContext::getTolerance ( void )

Prozeduraler Stil:

float cairo_get_tolerance ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::getTarget
CairoContext::glyphPath
CairoContext


The glyphPath purpose

CairoContext::getTolerance
CairoContext::hasCurrentPoint
CairoContext
PHP Manual

CairoContext::glyphPath

cairo_glyph_path

(PECL cairo >= 0.1.0)

CairoContext::glyphPath -- cairo_glyph_path — The glyphPath purpose

Beschreibung

Objektorientierter Stil

public void CairoContext::glyphPath ( array $glyphs )

Prozeduraler Stil

void cairo_glyph_path ( CairoContext $context , array $glyphs )

Adds closed paths for the glyphs to the current path. The generated path if filled, achieves an effect similar to that of CairoContext::showGlyphs().

Parameter-Liste

context

A CairoContext object

glyphs

Array of glyphs

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

CairoContext::getTolerance
CairoContext::hasCurrentPoint
CairoContext


The hasCurrentPoint purpose

CairoContext::glyphPath
CairoContext::identityMatrix
CairoContext
PHP Manual

CairoContext::hasCurrentPoint

cairo_has_current_point

(PECL cairo >= 0.1.0)

CairoContext::hasCurrentPoint -- cairo_has_current_point — The hasCurrentPoint purpose

Beschreibung

Objektorientierter Stil (method):

public bool CairoContext::hasCurrentPoint ( void )

Prozeduraler Stil:

bool cairo_has_current_point ( CairoContext $context )

Returns whether a current point is defined on the current path. See CairoContext::getCurrentPoint() for details on the current point.

Parameter-Liste

context

A valid CairoContext object.

Rückgabewerte

Whether a current point is defined

Beispiele

Beispiel #1 Objektorientierter Stil

<?php

$s = new CairoImageSurface(CairoFormat::ARGB32, 100, 100);
$c = new CairoContext($s);

var_dump($c->hasCurrentPoint());

$c->moveTo(10, 10);

var_dump($c->hasCurrentPoint());

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(true)

Beispiel #2 Prozeduraler Stil

<?php

$s = cairo_image_surface_create(CAIRO_SURFACE_TYPE_IMAGE, 100, 100);
$c = cairo_create($s);

var_dump(cairo_has_current_point($c));

cairo_move_to($c, 10, 10);

var_dump(cairo_has_current_point($c));

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(true)

Siehe auch

  • CairoContext::getCurrentPoint() - The getCurrentPoint purpose

CairoContext::glyphPath
CairoContext::identityMatrix
CairoContext


The identityMatrix purpose

CairoContext::hasCurrentPoint
CairoContext::inFill
CairoContext
PHP Manual

CairoContext::identityMatrix

cairo_identity_matrix

(PECL cairo >= 0.1.0)

CairoContext::identityMatrix -- cairo_identity_matrix — The identityMatrix purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::identityMatrix ( void )

Prozeduraler Stil:

void cairo_identity_matrix ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::hasCurrentPoint
CairoContext::inFill
CairoContext


The inFill purpose

CairoContext::identityMatrix
CairoContext::inStroke
CairoContext
PHP Manual

CairoContext::inFill

cairo_in_fill

(PECL cairo >= 0.1.0)

CairoContext::inFill -- cairo_in_fill — The inFill purpose

Beschreibung

Objektorientierter Stil (method):

public bool CairoContext::inFill ( string $x , string $y )

Prozeduraler Stil:

bool cairo_in_fill ( CairoContext $context , string $x , string $y )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

x

Description...

y

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::identityMatrix
CairoContext::inStroke
CairoContext


The inStroke purpose

CairoContext::inFill
CairoContext::lineTo
CairoContext
PHP Manual

CairoContext::inStroke

cairo_in_stroke

(PECL cairo >= 0.1.0)

CairoContext::inStroke -- cairo_in_stroke — The inStroke purpose

Beschreibung

Objektorientierter Stil (method):

public bool CairoContext::inStroke ( string $x , string $y )

Prozeduraler Stil:

bool cairo_in_stroke ( CairoContext $context , string $x , string $y )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

x

Description...

y

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::inFill
CairoContext::lineTo
CairoContext


The lineTo purpose

CairoContext::inStroke
CairoContext::mask
CairoContext
PHP Manual

CairoContext::lineTo

cairo_line_to

(PECL cairo >= 0.1.0)

CairoContext::lineTo -- cairo_line_to — The lineTo purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::lineTo ( string $x , string $y )

Prozeduraler Stil:

void cairo_line_to ( CairoContext $context , string $x , string $y )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

x

Description...

y

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::inStroke
CairoContext::mask
CairoContext


The mask purpose

CairoContext::lineTo
CairoContext::maskSurface
CairoContext
PHP Manual

CairoContext::mask

cairo_mask

(PECL cairo >= 0.1.0)

CairoContext::mask -- cairo_mask — The mask purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::mask ( string $pattern )

Prozeduraler Stil:

void cairo_mask ( CairoContext $context , CairoPattern $pattern )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

pattern

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::lineTo
CairoContext::maskSurface
CairoContext


The maskSurface purpose

CairoContext::mask
CairoContext::moveTo
CairoContext
PHP Manual

CairoContext::maskSurface

cairo_mask_surface

(PECL cairo >= 0.1.0)

CairoContext::maskSurface -- cairo_mask_surface — The maskSurface purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::maskSurface ( string $surface [, string $x [, string $y ]] )

Prozeduraler Stil:

void cairo_mask_surface ( CairoContext $context , CairoSurface $surface [, string $x [, string $y ]] )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

surface

Description...

x

Description...

y

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::mask
CairoContext::moveTo
CairoContext


The moveTo purpose

CairoContext::maskSurface
CairoContext::newPath
CairoContext
PHP Manual

CairoContext::moveTo

cairo_move_to

(PECL cairo >= 0.1.0)

CairoContext::moveTo -- cairo_move_to — The moveTo purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::moveTo ( string $x , string $y )

Prozeduraler Stil:

void cairo_move_to ( CairoContext $context , string $x , string $y )

Begin a new sub-path. After this call the current point will be (x, y).

Parameter-Liste

context

A valid CairoContext object.

x

The x coordinate of the new position.

y

The y coordinate of the new position

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php

$s = new CairoImageSurface(CairoFormat::ARGB32, 100, 100);
$c = new CairoContext($s);

$c->setSourceRgb(0, 0, 0);
$c->paint();

// Move 10 pixels across, and 10 pixels down
$c->moveTo(10, 10);
$c->lineTo(90, 90);
$c->setLineWidth(2);
$c->setSourceRgb(1, 1, 1);
$c->stroke();

// Move 90 pixels across, and 10 pixels down
$c->moveTo(90, 10);
$c->lineTo(10, 90);
$c->setLineWidth(2);
$c->setSourceRgb(1, 1, 1);
$c->stroke();

$s->writeToPng(dirname(__FILE__) . '/CairoContext_moveTo.png');
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php

$s = cairo_image_surface_create(CAIRO_SURFACE_TYPE_IMAGE, 100, 100);
$c = cairo_create($s);

cairo_set_source_rgb($c, 0, 0, 0);
cairo_paint($c);

// Move 10 pixels across, and 10 pixels down
cairo_move_to($c, 10, 10);
cairo_line_to($c, 90, 90);
cairo_set_line_width($c, 2);
cairo_set_source_rgb($c, 1, 1, 1);
cairo_stroke($c);

// Move 90 pixels across, and 10 pixels down
cairo_move_to($c, 90, 10);
cairo_line_to($c, 10, 90);
cairo_set_line_width($c, 2);
cairo_set_source_rgb($c, 1, 1, 1);
cairo_stroke($c);

cairo_surface_write_to_png($s, dirname(__FILE__) . '/cairo_move_to.png');
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::maskSurface
CairoContext::newPath
CairoContext


The newPath purpose

CairoContext::moveTo
CairoContext::newSubPath
CairoContext
PHP Manual

CairoContext::newPath

cairo_new_path

(PECL cairo >= 0.1.0)

CairoContext::newPath -- cairo_new_path — The newPath purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::newPath ( void )

Prozeduraler Stil:

void cairo_new_path ( CairoContext $context )

Clears the current path. After this call there will be no path and no current point.

Parameter-Liste

context

A valid CairoContext object.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
// [...]
CairoContext::newPath();
?>

Beispiel #2 Prozeduraler Stil

<?php
// [...]
cairo_new_path($context);
?>

Siehe auch

  • CairoContext::appendPath() - Appends a path to current path
  • CairoContext::closePath() - Closes the current path

CairoContext::moveTo
CairoContext::newSubPath
CairoContext


The newSubPath purpose

CairoContext::newPath
CairoContext::paint
CairoContext
PHP Manual

CairoContext::newSubPath

cairo_new_sub_path

(PECL cairo >= 0.1.0)

CairoContext::newSubPath -- cairo_new_sub_path — The newSubPath purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::newSubPath ( void )

Prozeduraler Stil:

void cairo_new_sub_path ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::newPath
CairoContext::paint
CairoContext


The paint purpose

CairoContext::newSubPath
CairoContext::paintWithAlpha
CairoContext
PHP Manual

CairoContext::paint

cairo_paint

(PECL cairo >= 0.1.0)

CairoContext::paint -- cairo_paint — The paint purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::paint ( void )

Prozeduraler Stil:

void cairo_paint ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::newSubPath
CairoContext::paintWithAlpha
CairoContext


The paintWithAlpha purpose

CairoContext::paint
CairoContext::pathExtents
CairoContext
PHP Manual

CairoContext::paintWithAlpha

cairo_paint_with_alpha

(PECL cairo >= 0.1.0)

CairoContext::paintWithAlpha -- cairo_paint_with_alpha — The paintWithAlpha purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::paintWithAlpha ( string $alpha )

Prozeduraler Stil:

void cairo_paint_with_alpha ( CairoContext $context , string $alpha )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

alpha

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::paint
CairoContext::pathExtents
CairoContext


The pathExtents purpose

CairoContext::paintWithAlpha
CairoContext::popGroup
CairoContext
PHP Manual

CairoContext::pathExtents

cairo_path_extents

(PECL cairo >= 0.1.0)

CairoContext::pathExtents -- cairo_path_extents — The pathExtents purpose

Beschreibung

Objektorientierter Stil (method):

public array CairoContext::pathExtents ( void )

Prozeduraler Stil:

array cairo_path_extents ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::paintWithAlpha
CairoContext::popGroup
CairoContext


The popGroup purpose

CairoContext::pathExtents
CairoContext::popGroupToSource
CairoContext
PHP Manual

CairoContext::popGroup

cairo_pop_group

(PECL cairo >= 0.1.0)

CairoContext::popGroup -- cairo_pop_group — The popGroup purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::popGroup ( void )

Prozeduraler Stil:

void cairo_pop_group ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::pathExtents
CairoContext::popGroupToSource
CairoContext


The popGroupToSource purpose

CairoContext::popGroup
CairoContext::pushGroup
CairoContext
PHP Manual

CairoContext::popGroupToSource

cairo_pop_group_to_source

(PECL cairo >= 0.1.0)

CairoContext::popGroupToSource -- cairo_pop_group_to_source — The popGroupToSource purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::popGroupToSource ( void )

Prozeduraler Stil:

void cairo_pop_group_to_source ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::popGroup
CairoContext::pushGroup
CairoContext


The pushGroup purpose

CairoContext::popGroupToSource
CairoContext::pushGroupWithContent
CairoContext
PHP Manual

CairoContext::pushGroup

cairo_push_group

(PECL cairo >= 0.1.0)

CairoContext::pushGroup -- cairo_push_group — The pushGroup purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::pushGroup ( void )

Prozeduraler Stil:

void cairo_push_group ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::popGroupToSource
CairoContext::pushGroupWithContent
CairoContext


The pushGroupWithContent purpose

CairoContext::pushGroup
CairoContext::rectangle
CairoContext
PHP Manual

CairoContext::pushGroupWithContent

cairo_push_group_with_content

(PECL cairo >= 0.1.0)

CairoContext::pushGroupWithContent -- cairo_push_group_with_content — The pushGroupWithContent purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::pushGroupWithContent ( string $content )

Prozeduraler Stil:

void cairo_push_group_with_content ( CairoContext $context , string $content )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

content

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::pushGroup
CairoContext::rectangle
CairoContext


The rectangle purpose

CairoContext::pushGroupWithContent
CairoContext::relCurveTo
CairoContext
PHP Manual

CairoContext::rectangle

cairo_rectangle

(PECL cairo >= 0.1.0)

CairoContext::rectangle -- cairo_rectangle — The rectangle purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::rectangle ( string $x , string $y , string $width , string $height )

Prozeduraler Stil:

void cairo_rectangle ( CairoContext $context , string $x , string $y , string $width , string $height )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

x

Description...

y

Description...

width

Description...

height

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::pushGroupWithContent
CairoContext::relCurveTo
CairoContext


The relCurveTo purpose

CairoContext::rectangle
CairoContext::relLineTo
CairoContext
PHP Manual

CairoContext::relCurveTo

cairo_rel_curve_to

(PECL cairo >= 0.1.0)

CairoContext::relCurveTo -- cairo_rel_curve_to — The relCurveTo purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::relCurveTo ( string $x1 , string $y1 , string $x2 , string $y2 , string $x3 , string $y3 )

Prozeduraler Stil:

void cairo_rel_curve_to ( CairoContext $context , string $x1 , string $y1 , string $x2 , string $y2 , string $x3 , string $y3 )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

x1

Description...

y1

Description...

x2

Description...

y2

Description...

x3

Description...

y3

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::rectangle
CairoContext::relLineTo
CairoContext


The relLineTo purpose

CairoContext::relCurveTo
CairoContext::relMoveTo
CairoContext
PHP Manual

CairoContext::relLineTo

cairo_rel_line_to

(PECL cairo >= 0.1.0)

CairoContext::relLineTo -- cairo_rel_line_to — The relLineTo purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::relLineTo ( string $x , string $y )

Prozeduraler Stil:

void cairo_rel_line_to ( CairoContext $context , string $x , string $y )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

x

Description...

y

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::relCurveTo
CairoContext::relMoveTo
CairoContext


The relMoveTo purpose

CairoContext::relLineTo
CairoContext::resetClip
CairoContext
PHP Manual

CairoContext::relMoveTo

cairo_rel_move_to

(PECL cairo >= 0.1.0)

CairoContext::relMoveTo -- cairo_rel_move_to — The relMoveTo purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::relMoveTo ( string $x , string $y )

Prozeduraler Stil:

void cairo_rel_move_to ( CairoContext $context , string $x , string $y )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

x

Description...

y

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::relLineTo
CairoContext::resetClip
CairoContext


The resetClip purpose

CairoContext::relMoveTo
CairoContext::restore
CairoContext
PHP Manual

CairoContext::resetClip

cairo_reset_clip

(PECL cairo >= 0.1.0)

CairoContext::resetClip -- cairo_reset_clip — The resetClip purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::resetClip ( void )

Prozeduraler Stil:

void cairo_reset_clip ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::relMoveTo
CairoContext::restore
CairoContext


The restore purpose

CairoContext::resetClip
CairoContext::rotate
CairoContext
PHP Manual

CairoContext::restore

cairo_restore

(PECL cairo >= 0.1.0)

CairoContext::restore -- cairo_restore — The restore purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::restore ( void )

Prozeduraler Stil:

void cairo_restore ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::resetClip
CairoContext::rotate
CairoContext


The rotate purpose

CairoContext::restore
CairoContext::save
CairoContext
PHP Manual

CairoContext::rotate

cairo_rotate

(PECL cairo >= 0.1.0)

CairoContext::rotate -- cairo_rotate — The rotate purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::rotate ( string $angle )

Prozeduraler Stil:

void cairo_rotate ( CairoContext $context , string $angle )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

angle

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::restore
CairoContext::save
CairoContext


The save purpose

CairoContext::rotate
CairoContext::scale
CairoContext
PHP Manual

CairoContext::save

cairo_save

(PECL cairo >= 0.1.0)

CairoContext::save -- cairo_save — The save purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::save ( void )

Prozeduraler Stil:

void cairo_save ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::rotate
CairoContext::scale
CairoContext


The scale purpose

CairoContext::save
CairoContext::selectFontFace
CairoContext
PHP Manual

CairoContext::scale

cairo_scale

(PECL cairo >= 0.1.0)

CairoContext::scale -- cairo_scale — The scale purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::scale ( string $x , string $y )

Prozeduraler Stil:

void cairo_scale ( CairoContext $context , string $x , string $y )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

x

Description...

y

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::save
CairoContext::selectFontFace
CairoContext


The selectFontFace purpose

CairoContext::scale
CairoContext::setAntialias
CairoContext
PHP Manual

CairoContext::selectFontFace

cairo_select_font_face

(PECL cairo >= 0.1.0)

CairoContext::selectFontFace -- cairo_select_font_face — The selectFontFace purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::selectFontFace ( string $family [, string $slant [, string $weight ]] )

Prozeduraler Stil:

void cairo_select_font_face ( CairoContext $context , string $family [, string $slant [, string $weight ]] )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

family

Description...

slant

Description...

weight

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::scale
CairoContext::setAntialias
CairoContext


The setAntialias purpose

CairoContext::selectFontFace
CairoContext::setDash
CairoContext
PHP Manual

CairoContext::setAntialias

cairo_set_antialias

(PECL cairo >= 0.1.0)

CairoContext::setAntialias -- cairo_set_antialias — The setAntialias purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::setAntialias ([ string $antialias ] )

Prozeduraler Stil:

void cairo_set_antialias ( CairoContext $context [, string $antialias ] )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

antialias

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::selectFontFace
CairoContext::setDash
CairoContext


The setDash purpose

CairoContext::setAntialias
CairoContext::setFillRule
CairoContext
PHP Manual

CairoContext::setDash

cairo_set_dash

(PECL cairo >= 0.1.0)

CairoContext::setDash -- cairo_set_dash — The setDash purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::setDash ( string $dashes [, string $offset ] )

Prozeduraler Stil:

void cairo_set_dash ( CairoContext $context , array $dashes [, string $offset ] )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

dashes

Description...

offset

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::setAntialias
CairoContext::setFillRule
CairoContext


The setFillRule purpose

CairoContext::setDash
CairoContext::setFontFace
CairoContext
PHP Manual

CairoContext::setFillRule

cairo_set_fill_rule

(PECL cairo >= 0.1.0)

CairoContext::setFillRule -- cairo_set_fill_rule — The setFillRule purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::setFillRule ( string $setting )

Prozeduraler Stil:

void cairo_set_fill_rule ( CairoContext $context , string $setting )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

setting

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::setDash
CairoContext::setFontFace
CairoContext


The setFontFace purpose

CairoContext::setFillRule
CairoContext::setFontMatrix
CairoContext
PHP Manual

CairoContext::setFontFace

cairo_set_font_face

(PECL cairo >= 0.1.0)

CairoContext::setFontFace -- cairo_set_font_face — The setFontFace purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::setFontFace ( CairoFontFace $fontface )

Prozeduraler Stil:

void cairo_set_font_face ( CairoContext $context , CairoFontFace $fontface )

Sets the font-face for a given context.

Parameter-Liste

context

A CairoContext object to change the font-face for.

fontface

A CairoFontFace object

Rückgabewerte

No value is returned

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
// New surface with white background
$s = new CairoImageSurface(CairoFormat::ARGB32, 300, 100);
$c = new CairoContext($s);
$c->setSourceRgb(1, 1, 1);
$c->paint();

// Draw some text
$c->setSourceRgb(0, 0, 0);
$c->moveTo(10, 60);
// Create a new font face
$f = new CairoToyFontFace("sans-serif", CairoFontSlant::NORMAL, CairoFontWeight::NORMAL);
$c->setFontFace($f);
$c->setFontSize(30);
$c->showText('Hello, World!');
$s->writeToPng(dirname(__FILE__) . '/setFontFace.png');
?>

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Siehe auch

  • CairoContext::setFontSize() - The setFontSize purpose
  • CairoContext::showText() - The showText purpose

CairoContext::setFillRule
CairoContext::setFontMatrix
CairoContext


The setFontMatrix purpose

CairoContext::setFontFace
CairoContext::setFontOptions
CairoContext
PHP Manual

CairoContext::setFontMatrix

cairo_set_font_matrix

(PECL cairo >= 0.1.0)

CairoContext::setFontMatrix -- cairo_set_font_matrix — The setFontMatrix purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::setFontMatrix ( string $matrix )

Prozeduraler Stil:

void cairo_set_font_matrix ( CairoContext $context , CairoMatrix $matrix )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

matrix

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::setFontFace
CairoContext::setFontOptions
CairoContext


The setFontOptions purpose

CairoContext::setFontMatrix
CairoContext::setFontSize
CairoContext
PHP Manual

CairoContext::setFontOptions

cairo_set_font_options

(PECL cairo >= 0.1.0)

CairoContext::setFontOptions -- cairo_set_font_options — The setFontOptions purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::setFontOptions ( string $fontoptions )

Prozeduraler Stil:

void cairo_set_font_options ( CairoContext $context , CairoFontOptions $fontoptions )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

fontoptions

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::setFontMatrix
CairoContext::setFontSize
CairoContext


The setFontSize purpose

CairoContext::setFontOptions
CairoContext::setLineCap
CairoContext
PHP Manual

CairoContext::setFontSize

cairo_set_font_size

(PECL cairo >= 0.1.0)

CairoContext::setFontSize -- cairo_set_font_size — The setFontSize purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::setFontSize ( string $size )

Prozeduraler Stil:

void cairo_set_font_size ( CairoContext $context , string $size )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

size

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::setFontOptions
CairoContext::setLineCap
CairoContext


The setLineCap purpose

CairoContext::setFontSize
CairoContext::setLineJoin
CairoContext
PHP Manual

CairoContext::setLineCap

cairo_set_line_cap

(PECL cairo >= 0.1.0)

CairoContext::setLineCap -- cairo_set_line_cap — The setLineCap purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::setLineCap ( string $setting )

Prozeduraler Stil:

void cairo_set_line_cap ( CairoContext $context , string $setting )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

setting

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::setFontSize
CairoContext::setLineJoin
CairoContext


The setLineJoin purpose

CairoContext::setLineCap
CairoContext::setLineWidth
CairoContext
PHP Manual

CairoContext::setLineJoin

cairo_set_line_join

(PECL cairo >= 0.1.0)

CairoContext::setLineJoin -- cairo_set_line_join — The setLineJoin purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::setLineJoin ( string $setting )

Prozeduraler Stil:

void cairo_set_line_join ( CairoContext $context , string $setting )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

setting

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::setLineCap
CairoContext::setLineWidth
CairoContext


The setLineWidth purpose

CairoContext::setLineJoin
CairoContext::setMatrix
CairoContext
PHP Manual

CairoContext::setLineWidth

cairo_set_line_width

(PECL cairo >= 0.1.0)

CairoContext::setLineWidth -- cairo_set_line_width — The setLineWidth purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::setLineWidth ( string $width )

Prozeduraler Stil:

void cairo_set_line_width ( CairoContext $context , string $width )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

width

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::setLineJoin
CairoContext::setMatrix
CairoContext


The setMatrix purpose

CairoContext::setLineWidth
CairoContext::setMiterLimit
CairoContext
PHP Manual

CairoContext::setMatrix

cairo_set_matrix

(PECL cairo >= 0.1.0)

CairoContext::setMatrix -- cairo_set_matrix — The setMatrix purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::setMatrix ( string $matrix )

Prozeduraler Stil:

void cairo_set_matrix ( CairoContext $context , CairoMatrix $matrix )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

matrix

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::setLineWidth
CairoContext::setMiterLimit
CairoContext


The setMiterLimit purpose

CairoContext::setMatrix
CairoContext::setOperator
CairoContext
PHP Manual

CairoContext::setMiterLimit

cairo_set_miter_limit

(PECL cairo >= 0.1.0)

CairoContext::setMiterLimit -- cairo_set_miter_limit — The setMiterLimit purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::setMiterLimit ( string $limit )

Prozeduraler Stil:

void cairo_set_miter_limit ( CairoContext $context , string $limit )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

limit

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::setMatrix
CairoContext::setOperator
CairoContext


The setOperator purpose

CairoContext::setMiterLimit
CairoContext::setScaledFont
CairoContext
PHP Manual

CairoContext::setOperator

cairo_set_operator

(PECL cairo >= 0.1.0)

CairoContext::setOperator -- cairo_set_operator — The setOperator purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::setOperator ( string $setting )

Prozeduraler Stil:

void cairo_set_operator ( CairoContext $context , string $setting )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

setting

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::setMiterLimit
CairoContext::setScaledFont
CairoContext


The setScaledFont purpose

CairoContext::setOperator
CairoContext::setSource
CairoContext
PHP Manual

CairoContext::setScaledFont

cairo_set_scaled_font

(PECL cairo >= 0.1.0)

CairoContext::setScaledFont -- cairo_set_scaled_font — The setScaledFont purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::setScaledFont ( string $scaledfont )

Prozeduraler Stil:

void cairo_set_scaled_font ( CairoContext $context , CairoScaledFont $scaledfont )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

scaledfont

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::setOperator
CairoContext::setSource
CairoContext


The setSource purpose

CairoContext::setScaledFont
CairoContext::setSourceRGB
CairoContext
PHP Manual

CairoContext::setSource

cairo_set_source

(PECL cairo >= 0.1.0)

CairoContext::setSource -- cairo_set_source — The setSource purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::setSource ( string $pattern )

Prozeduraler Stil:

void cairo_set_source ( CairoContext $context , CairoPattern $pattern )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

pattern

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::setScaledFont
CairoContext::setSourceRGB
CairoContext


The setSourceRGB purpose

CairoContext::setSource
CairoContext::setSourceRGBA
CairoContext
PHP Manual

CairoContext::setSourceRGB

cairo_set_source

(PECL cairo >= 0.1.0)

CairoContext::setSourceRGB -- cairo_set_source — The setSourceRGB purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::setSourceRGB ( string $red , string $green , string $blue )

Prozeduraler Stil:

void cairo_set_source ( CairoContext $context , CairoPattern $pattern )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

pattern

Description...

red

Description...

green

Description...

blue

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::setSource
CairoContext::setSourceRGBA
CairoContext


The setSourceRGBA purpose

CairoContext::setSourceRGB
CairoContext::setSourceSurface
CairoContext
PHP Manual

CairoContext::setSourceRGBA

cairo_set_source

(PECL cairo >= 0.1.0)

CairoContext::setSourceRGBA -- cairo_set_source — The setSourceRGBA purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::setSourceRGBA ( string $red , string $green , string $blue , string $alpha )

Prozeduraler Stil:

void cairo_set_source ( CairoContext $context , CairoPattern $pattern )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

pattern

Description...

red

Description...

green

Description...

blue

Description...

alpha

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::setSourceRGB
CairoContext::setSourceSurface
CairoContext


The setSourceSurface purpose

CairoContext::setSourceRGBA
CairoContext::setTolerance
CairoContext
PHP Manual

CairoContext::setSourceSurface

cairo_set_source_surface

(PECL cairo >= 0.1.0)

CairoContext::setSourceSurface -- cairo_set_source_surface — The setSourceSurface purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::setSourceSurface ( string $surface [, string $x [, string $y ]] )

Prozeduraler Stil:

void cairo_set_source_surface ( CairoContext $context , CairoSurface $surface [, string $x [, string $y ]] )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

surface

Description...

x

Description...

y

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::setSourceRGBA
CairoContext::setTolerance
CairoContext


The setTolerance purpose

CairoContext::setSourceSurface
CairoContext::showPage
CairoContext
PHP Manual

CairoContext::setTolerance

cairo_set_tolerance

(PECL cairo >= 0.1.0)

CairoContext::setTolerance -- cairo_set_tolerance — The setTolerance purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::setTolerance ( string $tolerance )

Prozeduraler Stil:

void cairo_set_tolerance ( CairoContext $context , string $tolerance )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

tolerance

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::setSourceSurface
CairoContext::showPage
CairoContext


The showPage purpose

CairoContext::setTolerance
CairoContext::showText
CairoContext
PHP Manual

CairoContext::showPage

cairo_show_page

(PECL cairo >= 0.1.0)

CairoContext::showPage -- cairo_show_page — The showPage purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::showPage ( void )

Prozeduraler Stil:

void cairo_show_page ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::setTolerance
CairoContext::showText
CairoContext


The showText purpose

CairoContext::showPage
CairoContext::status
CairoContext
PHP Manual

CairoContext::showText

cairo_show_text

(PECL cairo >= 0.1.0)

CairoContext::showText -- cairo_show_text — The showText purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::showText ( string $text )

Prozeduraler Stil:

void cairo_show_text ( CairoContext $context , string $text )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

text

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::showPage
CairoContext::status
CairoContext


The status purpose

CairoContext::showText
CairoContext::stroke
CairoContext
PHP Manual

CairoContext::status

cairo_status

(PECL cairo >= 0.1.0)

CairoContext::status -- cairo_status — The status purpose

Beschreibung

Objektorientierter Stil (method):

public int CairoContext::status ( void )

Prozeduraler Stil:

int cairo_status ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::showText
CairoContext::stroke
CairoContext


The stroke purpose

CairoContext::status
CairoContext::strokeExtents
CairoContext
PHP Manual

CairoContext::stroke

cairo_stroke

(PECL cairo >= 0.1.0)

CairoContext::stroke -- cairo_stroke — The stroke purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::stroke ( void )

Prozeduraler Stil:

void cairo_stroke ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::status
CairoContext::strokeExtents
CairoContext


The strokeExtents purpose

CairoContext::stroke
CairoContext::strokePreserve
CairoContext
PHP Manual

CairoContext::strokeExtents

cairo_stroke_extents

(PECL cairo >= 0.1.0)

CairoContext::strokeExtents -- cairo_stroke_extents — The strokeExtents purpose

Beschreibung

Objektorientierter Stil (method):

public array CairoContext::strokeExtents ( void )

Prozeduraler Stil:

array cairo_stroke_extents ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::stroke
CairoContext::strokePreserve
CairoContext


The strokePreserve purpose

CairoContext::strokeExtents
CairoContext::textExtents
CairoContext
PHP Manual

CairoContext::strokePreserve

cairo_stroke_preserve

(PECL cairo >= 0.1.0)

CairoContext::strokePreserve -- cairo_stroke_preserve — The strokePreserve purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::strokePreserve ( void )

Prozeduraler Stil:

void cairo_stroke_preserve ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::strokeExtents
CairoContext::textExtents
CairoContext


The textExtents purpose

CairoContext::strokePreserve
CairoContext::textPath
CairoContext
PHP Manual

CairoContext::textExtents

cairo_text_extents

(PECL cairo >= 0.1.0)

CairoContext::textExtents -- cairo_text_extents — The textExtents purpose

Beschreibung

Objektorientierter Stil (method):

public array CairoContext::textExtents ( string $text )

Prozeduraler Stil:

array cairo_text_extents ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

text

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::strokePreserve
CairoContext::textPath
CairoContext


The textPath purpose

CairoContext::textExtents
CairoContext::transform
CairoContext
PHP Manual

CairoContext::textPath

cairo_text_path

(PECL cairo >= 0.1.0)

CairoContext::textPath -- cairo_text_path — The textPath purpose

Beschreibung

Objektorientierter Stil

public void CairoContext::textPath ( string $string )

Prozeduraler Stil

void cairo_text_path ( CairoContext $context , string $text )

Adds closed paths for text to the current path. The generated path, if filled, achieves an effect similar to that of CairoContext::showText().

Text conversion and positioning is done similar to CairoContext::showText().

Like CairoContext::showText(), after this call the current point is moved to the origin of where the next glyph would be placed in this same progression. That is, the current point will be at the origin of the final glyph offset by its advance values. This allows for chaining multiple calls to CairoContext::showText() without having to set current point in between.

Note: The CairoContext::textPath() function call is part of what the cairo designers call the "toy" text API. It is convenient for short demos and simple programs, but it is not expected to be adequate for serious text-using applications. See CairoContext::glyphPath() for the "real" text path API in cairo.

Parameter-Liste

context

A CairoContext object

text

Description...

string

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::textExtents
CairoContext::transform
CairoContext


The transform purpose

CairoContext::textPath
CairoContext::translate
CairoContext
PHP Manual

CairoContext::transform

cairo_transform

(PECL cairo >= 0.1.0)

CairoContext::transform -- cairo_transform — The transform purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::transform ( string $matrix )

Prozeduraler Stil:

void cairo_transform ( CairoContext $context , CairoMatrix $matrix )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

matrix

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::textPath
CairoContext::translate
CairoContext


The translate purpose

CairoContext::transform
CairoContext::userToDevice
CairoContext
PHP Manual

CairoContext::translate

cairo_translate

(PECL cairo >= 0.1.0)

CairoContext::translate -- cairo_translate — The translate purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoContext::translate ( string $x , string $y )

Prozeduraler Stil:

void cairo_translate ( CairoContext $context , string $x , string $y )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

x

Description...

y

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::transform
CairoContext::userToDevice
CairoContext


The userToDevice purpose

CairoContext::translate
CairoContext::userToDeviceDistance
CairoContext
PHP Manual

CairoContext::userToDevice

cairo_user_to_device

(PECL cairo >= 0.1.0)

CairoContext::userToDevice -- cairo_user_to_device — The userToDevice purpose

Beschreibung

Objektorientierter Stil (method):

public array CairoContext::userToDevice ( string $x , string $y )

Prozeduraler Stil:

array cairo_user_to_device ( CairoContext $context , string $x , string $y )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

x

Description...

y

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::translate
CairoContext::userToDeviceDistance
CairoContext


The userToDeviceDistance purpose

CairoContext::userToDevice
CairoException
CairoContext
PHP Manual

CairoContext::userToDeviceDistance

cairo_user_to_device_distance

(PECL cairo >= 0.1.0)

CairoContext::userToDeviceDistance -- cairo_user_to_device_distance — The userToDeviceDistance purpose

Beschreibung

Objektorientierter Stil (method):

public array CairoContext::userToDeviceDistance ( string $x , string $y )

Prozeduraler Stil:

array cairo_user_to_device_distance ( CairoContext $context , string $x , string $y )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

x

Description...

y

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoContext::userToDevice
CairoException
CairoContext


The CairoException class

(PECL cairo >= 0.1.0)

Einführung

Exception class throwed by Cairo functions and methods

Klassenbeschreibung

CairoException extends Exception {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
CairoContext::userToDeviceDistance
CairoStatus
Cairo


The CairoStatus class

(No version information available, might only be in Git)

Einführung

CairoStatus is used to indicate errors that can occur when using Cairo. In some cases it is returned directly by functions. but when using CairoContext, the last error, if any, is stored in the object and can be retrieved with CairoContext::status() or cairo_status(). New entries may be added in future versions.

Use Cairo::statusToString() or cairo_status_to_string() to get a human-readable representation of an error message.

Klassenbeschreibung

CairoStatus {
/* Konstanten */
const integer SUCCESS = 0 ;
const integer NO_MEMORY = 1 ;
const integer INVALID_RESTORE = 2 ;
const integer INVALID_POP_GROUP = 3 ;
const integer NO_CURRENT_POINT = 4 ;
const integer INVALID_MATRIX = 5 ;
const integer INVALID_STATUS = 6 ;
const integer NULL_POINTER = 7 ;
const integer INVALID_STRING = 8 ;
const integer INVALID_PATH_DATA = 9 ;
const integer READ_ERROR = 10 ;
const integer WRITE_ERROR = 11 ;
const integer SURFACE_FINISHED = 12 ;
const integer SURFACE_TYPE_MISMATCH = 13 ;
const integer PATTERN_TYPE_MISMATCH = 14 ;
const integer INVALID_CONTENT = 15 ;
const integer INVALID_FORMAT = 16 ;
const integer INVALID_VISUAL = 17 ;
const integer FILE_NOT_FOUND = 18 ;
const integer INVALID_DASH = 19 ;
const integer INVALID_DSC_COMMENT = 20 ;
const integer INVALID_INDEX = 21 ;
const integer CLIP_NOT_REPRESENTABLE = 22 ;
const integer TEMP_FILE_ERROR = 23 ;
const integer INVALID_STRIDE = 24 ;
}

Vordefinierte Konstanten

CairoStatus::SUCCESS

No error has occurred

CairoStatus::NO_MEMORY

Out of memory

CairoStatus::INVALID_RESTORE

cairo_restore() called without matching cairo_save()

CairoStatus::INVALID_POP_GROUP

No saved group to pop

CairoStatus::NO_CURRENT_POINT

No current point defined

CairoStatus::INVALID_MATRIX

Invalid matrix (not invertible)

CairoStatus::INVALID_STATUS

Invalid value for an input CairoStatus>

CairoStatus::NULL_POINTER

Null pointer

CairoStatus::INVALID_STRING

Input string not valid UTF-8 string

CairoStatus::INVALID_PATH_DATA

Input path data not valid

CairoStatus::READ_ERROR

Error while reading from input stream

CairoStatus::WRITE_ERROR

Error while writing to output stream

CairoStatus::SURFACE_FINISHED

Target surface has been finished

CairoStatus::SURFACE_TYPE_MISMATCH

The surface type is not appropriate for the operation

CairoStatus::PATTERN_TYPE_MISMATCH

The pattern type is not appropriate for the operation

CairoStatus::INVALID_CONTENT

Invalid value for an input CairoContent

CairoStatus::INVALID_FORMAT

Invalid value for an input CairoFormat

CairoStatus::INVALID_VISUAL

Invalid value for an input Visual

CairoStatus::FILE_NOT_FOUND

File not found

CairoStatus::INVALID_DASH

Invalid value for a dash setting

CairoStatus::INVALID_DSC_COMMENT

Invalid value for a DSC comment

CairoStatus::INVALID_INDEX

Invalid index passed to getter

CairoStatus::CLIP_NOT_REPRESENTABLE

Clip region not representable in desired format

CairoStatus::TEMP_FILE_ERROR

Error creating or writing to a temporary file

CairoStatus::INVALID_STRIDE

Invalid value for CairoStride

CairoException
CairoSurface
Cairo


The CairoSurface class

(PECL cairo >= 0.1.0)

Einführung

This is the base-class for all other Surface types. CairoSurface is the abstract type representing all different drawing targets that cairo can render to. The actual drawings are performed using a CairoContext.

Klassenbeschreibung

CairoSurface {
/* Methoden */
public __construct ( void )
public void copyPage ( void )
public void createSimilar ( CairoSurface $other , int $content , string $width , string $height )
public void finish ( void )
public void flush ( void )
public int getContent ( void )
public array getDeviceOffset ( void )
public void getFontOptions ( void )
public int getType ( void )
public void markDirty ( void )
public void markDirtyRectangle ( string $x , string $y , string $width , string $height )
public void setDeviceOffset ( string $x , string $y )
public void setFallbackResolution ( string $x , string $y )
public void showPage ( void )
public int status ( void )
public void writeToPng ( string $file )
}

Inhaltsverzeichnis

  • CairoSurface::__construct — The __construct purpose
  • CairoSurface::copyPage — The copyPage purpose
  • CairoSurface::createSimilar — The createSimilar purpose
  • CairoSurface::finish — The finish purpose
  • CairoSurface::flush — The flush purpose
  • CairoSurface::getContent — The getContent purpose
  • CairoSurface::getDeviceOffset — The getDeviceOffset purpose
  • CairoSurface::getFontOptions — The getFontOptions purpose
  • CairoSurface::getType — The getType purpose
  • CairoSurface::markDirty — The markDirty purpose
  • CairoSurface::markDirtyRectangle — The markDirtyRectangle purpose
  • CairoSurface::setDeviceOffset — The setDeviceOffset purpose
  • CairoSurface::setFallbackResolution — The setFallbackResolution purpose
  • CairoSurface::showPage — The showPage purpose
  • CairoSurface::status — The status purpose
  • CairoSurface::writeToPng — The writeToPng purpose
CairoStatus
CairoSurface::__construct
Cairo


The __construct purpose

CairoSurface
CairoSurface::copyPage
CairoSurface
PHP Manual

CairoSurface::__construct

(PECL cairo >= 0.1.0)

CairoSurface::__construct — The __construct purpose

Beschreibung

public CairoSurface::__construct ( void )

CairoSurface is an abstract type and, as such, should not be instantiated in your PHP scripts.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

No return value

Anmerkungen

Hinweis:

If you're using a PHP version before 5.3, you must destroy the CairoContext associated with a CairoSurface after you destroy the CairoSurface. Otherwise, you're left with a Circular-reference memory leak.

Siehe auch

  • CairoImageSurface::__construct() - Creates a new CairoImageSurface

CairoSurface
CairoSurface::copyPage
CairoSurface


The copyPage purpose

CairoSurface::__construct
CairoSurface::createSimilar
CairoSurface
PHP Manual

CairoSurface::copyPage

cairo_copy_page

(PECL cairo >= 0.1.0)

CairoSurface::copyPage -- cairo_copy_page — The copyPage purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoSurface::copyPage ( void )

Prozeduraler Stil:

void cairo_copy_page ( CairoContext $context )

Emits the current page for backends that support multiple pages, but doesn't clear it, so that the contents of the current page will be retained for the next page. Use CairoSurface::showPage() if you want to get an empty page after the emission.

Parameter-Liste

context

A CairoContext object

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoSurface::__construct
CairoSurface::createSimilar
CairoSurface


The createSimilar purpose

CairoSurface::copyPage
CairoSurface::finish
CairoSurface
PHP Manual

CairoSurface::createSimilar

(PECL cairo >= 0.1.0)

CairoSurface::createSimilar — The createSimilar purpose

Beschreibung

public void CairoSurface::createSimilar ( CairoSurface $other , int $content , string $width , string $height )

Create a new surface that is as compatible as possible with an existing surface. For example the new surface will have the same fallback resolution and font options as other. Generally, the new surface will also use the same backend as other, unless that is not possible for some reason. The type of the returned surface may be examined with CairoSurface::getType(). Initially the surface contents are all 0 (transparent if contents have transparency, black otherwise.)

Parameter-Liste

other

An existing surface used to select the backend of the new surface

content

The content for the new surface. See the CairoContent class for possible values.

width

Width of the new surface, (in device-space units).

height

Height of the new surface, (in device-space units).

Rückgabewerte

A new CairoSurface

Beispiele

Beispiel #1 CairoSurface::createSimilar() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • CairoContent()

CairoSurface::copyPage
CairoSurface::finish
CairoSurface


The finish purpose

CairoSurface::createSimilar
CairoSurface::flush
CairoSurface
PHP Manual

CairoSurface::finish

(PECL cairo >= 0.1.0)

CairoSurface::finish — The finish purpose

Beschreibung

public void CairoSurface::finish ( void )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoSurface::finish() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoSurface::createSimilar
CairoSurface::flush
CairoSurface


The flush purpose

CairoSurface::finish
CairoSurface::getContent
CairoSurface
PHP Manual

CairoSurface::flush

(PECL cairo >= 0.1.0)

CairoSurface::flush — The flush purpose

Beschreibung

public void CairoSurface::flush ( void )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoSurface::flush() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoSurface::finish
CairoSurface::getContent
CairoSurface


The getContent purpose

CairoSurface::flush
CairoSurface::getDeviceOffset
CairoSurface
PHP Manual

CairoSurface::getContent

(PECL cairo >= 0.1.0)

CairoSurface::getContent — The getContent purpose

Beschreibung

public int CairoSurface::getContent ( void )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoSurface::getContent() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoSurface::flush
CairoSurface::getDeviceOffset
CairoSurface


The getDeviceOffset purpose

CairoSurface::getContent
CairoSurface::getFontOptions
CairoSurface
PHP Manual

CairoSurface::getDeviceOffset

(PECL cairo >= 0.1.0)

CairoSurface::getDeviceOffset — The getDeviceOffset purpose

Beschreibung

public array CairoSurface::getDeviceOffset ( void )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoSurface::getDeviceOffset() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoSurface::getContent
CairoSurface::getFontOptions
CairoSurface


The getFontOptions purpose

CairoSurface::getDeviceOffset
CairoSurface::getType
CairoSurface
PHP Manual

CairoSurface::getFontOptions

cairo_get_font_options

(PECL cairo >= 0.1.0)

CairoSurface::getFontOptions -- cairo_get_font_options — The getFontOptions purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoSurface::getFontOptions ( void )

Prozeduraler Stil:

void cairo_get_font_options ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoSurface::getDeviceOffset
CairoSurface::getType
CairoSurface


The getType purpose

CairoSurface::getFontOptions
CairoSurface::markDirty
CairoSurface
PHP Manual

CairoSurface::getType

(PECL cairo >= 0.1.0)

CairoSurface::getType — The getType purpose

Beschreibung

public int CairoSurface::getType ( void )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoSurface::getType() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoSurface::getFontOptions
CairoSurface::markDirty
CairoSurface


The markDirty purpose

CairoSurface::getType
CairoSurface::markDirtyRectangle
CairoSurface
PHP Manual

CairoSurface::markDirty

(PECL cairo >= 0.1.0)

CairoSurface::markDirty — The markDirty purpose

Beschreibung

public void CairoSurface::markDirty ( void )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoSurface::markDirty() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoSurface::getType
CairoSurface::markDirtyRectangle
CairoSurface


The markDirtyRectangle purpose

CairoSurface::markDirty
CairoSurface::setDeviceOffset
CairoSurface
PHP Manual

CairoSurface::markDirtyRectangle

(PECL cairo >= 0.1.0)

CairoSurface::markDirtyRectangle — The markDirtyRectangle purpose

Beschreibung

public void CairoSurface::markDirtyRectangle ( string $x , string $y , string $width , string $height )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

x

Description...

y

Description...

width

Description...

height

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoSurface::markDirtyRectangle() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoSurface::markDirty
CairoSurface::setDeviceOffset
CairoSurface


The setDeviceOffset purpose

CairoSurface::markDirtyRectangle
CairoSurface::setFallbackResolution
CairoSurface
PHP Manual

CairoSurface::setDeviceOffset

(PECL cairo >= 0.1.0)

CairoSurface::setDeviceOffset — The setDeviceOffset purpose

Beschreibung

public void CairoSurface::setDeviceOffset ( string $x , string $y )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

x

Description...

y

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoSurface::setDeviceOffset() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoSurface::markDirtyRectangle
CairoSurface::setFallbackResolution
CairoSurface


The setFallbackResolution purpose

CairoSurface::setDeviceOffset
CairoSurface::showPage
CairoSurface
PHP Manual

CairoSurface::setFallbackResolution

(PECL cairo >= 0.1.0)

CairoSurface::setFallbackResolution — The setFallbackResolution purpose

Beschreibung

public void CairoSurface::setFallbackResolution ( string $x , string $y )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

x

Description...

y

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoSurface::setFallbackResolution() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoSurface::setDeviceOffset
CairoSurface::showPage
CairoSurface


The showPage purpose

CairoSurface::setFallbackResolution
CairoSurface::status
CairoSurface
PHP Manual

CairoSurface::showPage

cairo_show_page

(PECL cairo >= 0.1.0)

CairoSurface::showPage -- cairo_show_page — The showPage purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoSurface::showPage ( void )

Prozeduraler Stil:

void cairo_show_page ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoSurface::setFallbackResolution
CairoSurface::status
CairoSurface


The status purpose

CairoSurface::showPage
CairoSurface::writeToPng
CairoSurface
PHP Manual

CairoSurface::status

cairo_status

(PECL cairo >= 0.1.0)

CairoSurface::status -- cairo_status — The status purpose

Beschreibung

Objektorientierter Stil (method):

public int CairoSurface::status ( void )

Prozeduraler Stil:

int cairo_status ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoSurface::showPage
CairoSurface::writeToPng
CairoSurface


The writeToPng purpose

CairoSurface::status
CairoSvgSurface
CairoSurface
PHP Manual

CairoSurface::writeToPng

(PECL cairo >= 0.1.0)

CairoSurface::writeToPng — The writeToPng purpose

Beschreibung

public void CairoSurface::writeToPng ( string $file )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

file

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoSurface::writeToPng() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoSurface::status
CairoSvgSurface
CairoSurface


Svg Surface Backend

(PECL cairo >= 0.1.0)

Einführung

Svg specific surface class, uses the SVG (standard vector graphics) surface backend.

Klassenbeschreibung

CairoSvgSurface extends CairoSurface {
/* Methoden */
public __construct ( string $file , float $width , float $height )
public static array getVersions ( void )
public void restrictToVersion ( string $version )
public static string versionToString ( int $version )
/* Geerbte Methoden */
public CairoSurface::__construct ( void )
public void CairoSurface::copyPage ( void )
public void CairoSurface::createSimilar ( CairoSurface $other , int $content , string $width , string $height )
public void CairoSurface::finish ( void )
public void CairoSurface::flush ( void )
public int CairoSurface::getContent ( void )
public array CairoSurface::getDeviceOffset ( void )
public void CairoSurface::getFontOptions ( void )
public int CairoSurface::getType ( void )
public void CairoSurface::markDirty ( void )
public void CairoSurface::markDirtyRectangle ( string $x , string $y , string $width , string $height )
public void CairoSurface::setDeviceOffset ( string $x , string $y )
public void CairoSurface::setFallbackResolution ( string $x , string $y )
public void CairoSurface::showPage ( void )
public int CairoSurface::status ( void )
public void CairoSurface::writeToPng ( string $file )
}

Inhaltsverzeichnis

  • CairoSvgSurface::__construct — The __construct purpose
  • CairoSvgSurface::getVersions — Used to retrieve a list of supported SVG versions
  • CairoSvgSurface::restrictToVersion — The restrictToVersion purpose
  • CairoSvgSurface::versionToString — The versionToString purpose
CairoSurface::writeToPng
CairoSvgSurface::__construct
Cairo


The __construct purpose

CairoSvgSurface
CairoSvgSurface::getVersions
CairoSvgSurface
PHP Manual

CairoSvgSurface::__construct

(PECL cairo >= 0.1.0)

CairoSvgSurface::__construct — The __construct purpose

Beschreibung

public CairoSvgSurface::__construct ( string $file , float $width , float $height )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

file

Description...

width

Description...

height

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoSvgSurface::__construct() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoSvgSurface
CairoSvgSurface::getVersions
CairoSvgSurface


Used to retrieve a list of supported SVG versions

CairoSvgSurface::__construct
CairoSvgSurface::restrictToVersion
CairoSvgSurface
PHP Manual

CairoSvgSurface::getVersions

cairo_svg_surface_get_versions

(PECL cairo >= 0.1.0)

CairoSvgSurface::getVersions -- cairo_svg_surface_get_versions — Used to retrieve a list of supported SVG versions

Beschreibung

Objektorientierter Stil (method):

public static array CairoSvgSurface::getVersions ( void )

Prozeduraler Stil:

array cairo_svg_get_versions ( void )

Returns a numerically indexed array of currently available CairoSvgVersion constants. In order to retreive the string values for each item, use CairoSvgSurface::versionToString().

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a numerically indexed array of integer values.

Beispiele

Beispiel #1 CairoSvgSurface::getVersions() example

<?php
/* Grab our list of versions */
$versions = CairoSvgSurface::getVersions();
var_dump($versions);

/* echo the string name of each version */
foreach($versions as $id) {
    echo CairoSvgSurface::versionToString($id), PHP_EOL;
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(2) {
  [0]=>
  int(0)
  [1]=>
  int(1)
}
SVG 1.1
SVG 1.2

Beispiel #2 Prozeduraler Stil

<?php
/* Grab our list of versions */
$versions = cairo_svg_surface_get_versions();
var_dump($versions);

/* echo the string name of each version */
foreach($versions as $id) {
    echo cairo_svg_surface_version_to_string($id), PHP_EOL;
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(2) {
  [0]=>
  int(0)
  [1]=>
  int(1)
}
SVG 1.1
SVG 1.2

Siehe auch

  • CairoSvgSurface::versionToString() - The versionToString purpose

CairoSvgSurface::__construct
CairoSvgSurface::restrictToVersion
CairoSvgSurface


The restrictToVersion purpose

CairoSvgSurface::getVersions
CairoSvgSurface::versionToString
CairoSvgSurface
PHP Manual

CairoSvgSurface::restrictToVersion

(PECL cairo >= 0.1.0)

CairoSvgSurface::restrictToVersion — The restrictToVersion purpose

Beschreibung

public void CairoSvgSurface::restrictToVersion ( string $version )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

version

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoSvgSurface::restrictToVersion() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoSvgSurface::getVersions
CairoSvgSurface::versionToString
CairoSvgSurface


The versionToString purpose

CairoSvgSurface::restrictToVersion
CairoImageSurface
CairoSvgSurface
PHP Manual

CairoSvgSurface::versionToString

(PECL cairo >= 0.1.0)

CairoSvgSurface::versionToString — The versionToString purpose

Beschreibung

public static string CairoSvgSurface::versionToString ( int $version )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

version

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoSvgSurface::versionToString() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoSvgSurface::restrictToVersion
CairoImageSurface
CairoSvgSurface


The CairoImageSurface class

(PECL cairo >= 0.1.0)

Einführung

CairoImageSurface provide the ability to render to memory buffers either allocated by cairo or by the calling code. The supported image formats are those defined in CairoFormat.

Klassenbeschreibung

CairoImageSurface extends CairoSurface {
/* Methoden */
public __construct ( int $format , int $width , int $height )
public static void createForData ( string $data , int $format , int $width , int $height [, int $stride = -1 ] )
public static CairoImageSurface createFromPng ( string $file )
public string getData ( void )
public int getFormat ( void )
public int getHeight ( void )
public int getStride ( void )
public int getWidth ( void )
/* Geerbte Methoden */
public CairoSurface::__construct ( void )
public void CairoSurface::copyPage ( void )
public void CairoSurface::createSimilar ( CairoSurface $other , int $content , string $width , string $height )
public void CairoSurface::finish ( void )
public void CairoSurface::flush ( void )
public int CairoSurface::getContent ( void )
public array CairoSurface::getDeviceOffset ( void )
public void CairoSurface::getFontOptions ( void )
public int CairoSurface::getType ( void )
public void CairoSurface::markDirty ( void )
public void CairoSurface::markDirtyRectangle ( string $x , string $y , string $width , string $height )
public void CairoSurface::setDeviceOffset ( string $x , string $y )
public void CairoSurface::setFallbackResolution ( string $x , string $y )
public void CairoSurface::showPage ( void )
public int CairoSurface::status ( void )
public void CairoSurface::writeToPng ( string $file )
}

Inhaltsverzeichnis

  • CairoImageSurface::__construct — Creates a new CairoImageSurface
  • CairoImageSurface::createForData — The createForData purpose
  • CairoImageSurface::createFromPng — Creates a new CairoImageSurface form a png image file
  • CairoImageSurface::getData — Gets the image data as string
  • CairoImageSurface::getFormat — Get the image format
  • CairoImageSurface::getHeight — Retrieves the height of the CairoImageSurface
  • CairoImageSurface::getStride — The getStride purpose
  • CairoImageSurface::getWidth — Retrieves the width of the CairoImageSurface
CairoSvgSurface::versionToString
CairoImageSurface::__construct
Cairo


Creates a new CairoImageSurface

CairoImageSurface
CairoImageSurface::createForData
CairoImageSurface
PHP Manual

CairoImageSurface::__construct

(PECL cairo >= 0.1.0)

CairoImageSurface::__construct — Creates a new CairoImageSurface

Beschreibung

public CairoImageSurface::__construct ( int $format , int $width , int $height )

Creates a new CairoImageSuface object of type format

Parameter-Liste

format

Can be any defined in CairoFormat

width

The width of the image surface

height

The height of the image surface

Rückgabewerte

A new CairoImageSurface

Beispiele

Beispiel #1 CairoImageSurface::__construct() example

<?php

// Creates a image with ARGB32 format of 50 width and 50 height
$surface = new CairoImageSurface(CairoFormat::ARGB32, 50,50);

?>

Siehe auch

  • CairoContext::__construct() - Creates a new CairoContext

CairoImageSurface
CairoImageSurface::createForData
CairoImageSurface


The createForData purpose

CairoImageSurface::__construct
CairoImageSurface::createFromPng
CairoImageSurface
PHP Manual

CairoImageSurface::createForData

(PECL cairo >= 0.1.0)

CairoImageSurface::createForData — The createForData purpose

Beschreibung

public static void CairoImageSurface::createForData ( string $data , int $format , int $width , int $height [, int $stride = -1 ] )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

data

Description...

format

Description...

width

Description...

height

Description...

stride

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoImageSurface::createForData() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoImageSurface::__construct
CairoImageSurface::createFromPng
CairoImageSurface


Creates a new CairoImageSurface form a png image file

CairoImageSurface::createForData
CairoImageSurface::getData
CairoImageSurface
PHP Manual

CairoImageSurface::createFromPng

(PECL cairo >= 0.1.0)

CairoImageSurface::createFromPng — Creates a new CairoImageSurface form a png image file

Beschreibung

public static CairoImageSurface CairoImageSurface::createFromPng ( string $file )

Creates a new CairoImageSurface form a png image file

This method should be called static

Parameter-Liste

file

Path to PNG image file

Rückgabewerte

CairoImageSurface object

Beispiele

Beispiel #1 CairoImageSurface::createFromPng() example

<?php

$surface = CairoImageSurface::createFromPng('/path/to/image/file.png');

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • CairoImageSurface::__construct() - Creates a new CairoImageSurface

CairoImageSurface::createForData
CairoImageSurface::getData
CairoImageSurface


Gets the image data as string

CairoImageSurface::createFromPng
CairoImageSurface::getFormat
CairoImageSurface
PHP Manual

CairoImageSurface::getData

(PECL cairo >= 0.1.0)

CairoImageSurface::getData — Gets the image data as string

Beschreibung

public string CairoImageSurface::getData ( void )

Returns the image data of this surface or NULL if surface is not an image surface, or if CairoContext::finish(), procedural : cairo_surface_finish(), has been called.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The image data as string

Beispiele

Beispiel #1 CairoImageSurface::getData() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • CairoImageSurface::getStride() - The getStride purpose

CairoImageSurface::createFromPng
CairoImageSurface::getFormat
CairoImageSurface


Get the image format

CairoImageSurface::getData
CairoImageSurface::getHeight
CairoImageSurface
PHP Manual

CairoImageSurface::getFormat

(PECL cairo >= 0.1.0)

CairoImageSurface::getFormat — Get the image format

Beschreibung

public int CairoImageSurface::getFormat ( void )

Retrieves the image format, as one of the CairoFormat defined

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

One of the CairoFormat enums

Beispiele

Beispiel #1 CairoImageSurface::getFormat() example

<?php

$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

var_dump($surface->getFormat()); // 0

$surface2 = new CairoImageSurface(CairoFormat::A8, 50, 50);

var_dump($surface2->getFormat()); // 2

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(0)
int(2)

Siehe auch

  • CairoImageSurface::getHeight() - Retrieves the height of the CairoImageSurface
  • CairoImageSurface::getWidth() - Retrieves the width of the CairoImageSurface

CairoImageSurface::getData
CairoImageSurface::getHeight
CairoImageSurface


Retrieves the height of the CairoImageSurface

CairoImageSurface::getFormat
CairoImageSurface::getStride
CairoImageSurface
PHP Manual

CairoImageSurface::getHeight

(PECL cairo >= 0.1.0)

CairoImageSurface::getHeight — Retrieves the height of the CairoImageSurface

Beschreibung

public int CairoImageSurface::getHeight ( void )

This methods returns the CairoImageSurface height.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

CairoImageSurface object height

Beispiele

Beispiel #1 CairoImageSurface::getHeight() example

<?php
// creates a new image surface
$surface = new CairoImageSurface(CairoFormat::ARGB32, 80, 50);

//gets the height
var_dump($surface->getHeight());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(50)

Siehe auch

  • CairoImageSurface::getWidth() - Retrieves the width of the CairoImageSurface

CairoImageSurface::getFormat
CairoImageSurface::getStride
CairoImageSurface


The getStride purpose

CairoImageSurface::getHeight
CairoImageSurface::getWidth
CairoImageSurface
PHP Manual

CairoImageSurface::getStride

(PECL cairo >= 0.1.0)

CairoImageSurface::getStride — The getStride purpose

Beschreibung

public int CairoImageSurface::getStride ( void )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoImageSurface::getStride() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoImageSurface::getHeight
CairoImageSurface::getWidth
CairoImageSurface


Retrieves the width of the CairoImageSurface

CairoImageSurface::getStride
CairoPdfSurface
CairoImageSurface
PHP Manual

CairoImageSurface::getWidth

(PECL cairo >= 0.1.0)

CairoImageSurface::getWidth — Retrieves the width of the CairoImageSurface

Beschreibung

public int CairoImageSurface::getWidth ( void )

Gets the width of the CairoImageSurface

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the width of the CairoImageSurface object

Beispiele

Beispiel #1 CairoImageSurface::getWidth() example

<?php
// creates a new image surface
$surface = new CairoImageSurface(CairoFormat::ARGB32, 80, 50);

//gets the width
var_dump($surface->getWidth());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(80)

Siehe auch

  • CairoImageSurface::getHeight() - Retrieves the height of the CairoImageSurface

CairoImageSurface::getStride
CairoPdfSurface
CairoImageSurface


The CairoPdfSurface class

(PECL cairo >= 0.1.0)

Einführung

Klassenbeschreibung

CairoPdfSurface extends CairoSurface {
/* Methoden */
public __construct ( string $file , float $width , float $height )
public void setSize ( string $width , string $height )
/* Geerbte Methoden */
public CairoSurface::__construct ( void )
public void CairoSurface::copyPage ( void )
public void CairoSurface::createSimilar ( CairoSurface $other , int $content , string $width , string $height )
public void CairoSurface::finish ( void )
public void CairoSurface::flush ( void )
public int CairoSurface::getContent ( void )
public array CairoSurface::getDeviceOffset ( void )
public void CairoSurface::getFontOptions ( void )
public int CairoSurface::getType ( void )
public void CairoSurface::markDirty ( void )
public void CairoSurface::markDirtyRectangle ( string $x , string $y , string $width , string $height )
public void CairoSurface::setDeviceOffset ( string $x , string $y )
public void CairoSurface::setFallbackResolution ( string $x , string $y )
public void CairoSurface::showPage ( void )
public int CairoSurface::status ( void )
public void CairoSurface::writeToPng ( string $file )
}

Inhaltsverzeichnis

  • CairoPdfSurface::__construct — The __construct purpose
  • CairoPdfSurface::setSize — The setSize purpose
CairoImageSurface::getWidth
CairoPdfSurface::__construct
Cairo


The __construct purpose

CairoPdfSurface
CairoPdfSurface::setSize
CairoPdfSurface
PHP Manual

CairoPdfSurface::__construct

(PECL cairo >= 0.1.0)

CairoPdfSurface::__construct — The __construct purpose

Beschreibung

public CairoPdfSurface::__construct ( string $file , float $width , float $height )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

file

Description...

width

Description...

height

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoPdfSurface::__construct() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoPdfSurface
CairoPdfSurface::setSize
CairoPdfSurface


The setSize purpose

CairoPdfSurface::__construct
CairoPsSurface
CairoPdfSurface
PHP Manual

CairoPdfSurface::setSize

(PECL cairo >= 0.1.0)

CairoPdfSurface::setSize — The setSize purpose

Beschreibung

public void CairoPdfSurface::setSize ( string $width , string $height )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

width

Description...

height

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoPdfSurface::setSize() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoPdfSurface::__construct
CairoPsSurface
CairoPdfSurface


The CairoPsSurface class

(PECL cairo >= 0.1.0)

Einführung

Klassenbeschreibung

CairoPsSurface extends CairoSurface {
/* Methoden */
public __construct ( string $file , float $width , float $height )
public void dscBeginPageSetup ( void )
public void dscBeginSetup ( void )
public void dscComment ( string $comment )
public bool getEps ( void )
public static array getLevels ( void )
public static string levelToString ( int $level )
public void restrictToLevel ( string $level )
public void setEps ( string $level )
public void setSize ( string $width , string $height )
/* Geerbte Methoden */
public CairoSurface::__construct ( void )
public void CairoSurface::copyPage ( void )
public void CairoSurface::createSimilar ( CairoSurface $other , int $content , string $width , string $height )
public void CairoSurface::finish ( void )
public void CairoSurface::flush ( void )
public int CairoSurface::getContent ( void )
public array CairoSurface::getDeviceOffset ( void )
public void CairoSurface::getFontOptions ( void )
public int CairoSurface::getType ( void )
public void CairoSurface::markDirty ( void )
public void CairoSurface::markDirtyRectangle ( string $x , string $y , string $width , string $height )
public void CairoSurface::setDeviceOffset ( string $x , string $y )
public void CairoSurface::setFallbackResolution ( string $x , string $y )
public void CairoSurface::showPage ( void )
public int CairoSurface::status ( void )
public void CairoSurface::writeToPng ( string $file )
}

Inhaltsverzeichnis

  • CairoPsSurface::__construct — The __construct purpose
  • CairoPsSurface::dscBeginPageSetup — The dscBeginPageSetup purpose
  • CairoPsSurface::dscBeginSetup — The dscBeginSetup purpose
  • CairoPsSurface::dscComment — The dscComment purpose
  • CairoPsSurface::getEps — The getEps purpose
  • CairoPsSurface::getLevels — The getLevels purpose
  • CairoPsSurface::levelToString — The levelToString purpose
  • CairoPsSurface::restrictToLevel — The restrictToLevel purpose
  • CairoPsSurface::setEps — The setEps purpose
  • CairoPsSurface::setSize — The setSize purpose
CairoPdfSurface::setSize
CairoPsSurface::__construct
Cairo


The __construct purpose

CairoPsSurface
CairoPsSurface::dscBeginPageSetup
CairoPsSurface
PHP Manual

CairoPsSurface::__construct

(PECL cairo >= 0.1.0)

CairoPsSurface::__construct — The __construct purpose

Beschreibung

public CairoPsSurface::__construct ( string $file , float $width , float $height )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

file

Description...

width

Description...

height

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoPsSurface::__construct() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoPsSurface
CairoPsSurface::dscBeginPageSetup
CairoPsSurface


The dscBeginPageSetup purpose

CairoPsSurface::__construct
CairoPsSurface::dscBeginSetup
CairoPsSurface
PHP Manual

CairoPsSurface::dscBeginPageSetup

(PECL cairo >= 0.1.0)

CairoPsSurface::dscBeginPageSetup — The dscBeginPageSetup purpose

Beschreibung

public void CairoPsSurface::dscBeginPageSetup ( void )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoPsSurface::dscBeginPageSetup() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoPsSurface::__construct
CairoPsSurface::dscBeginSetup
CairoPsSurface


The dscBeginSetup purpose

CairoPsSurface::dscBeginPageSetup
CairoPsSurface::dscComment
CairoPsSurface
PHP Manual

CairoPsSurface::dscBeginSetup

(PECL cairo >= 0.1.0)

CairoPsSurface::dscBeginSetup — The dscBeginSetup purpose

Beschreibung

public void CairoPsSurface::dscBeginSetup ( void )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoPsSurface::dscBeginSetup() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoPsSurface::dscBeginPageSetup
CairoPsSurface::dscComment
CairoPsSurface


The dscComment purpose

CairoPsSurface::dscBeginSetup
CairoPsSurface::getEps
CairoPsSurface
PHP Manual

CairoPsSurface::dscComment

(PECL cairo >= 0.1.0)

CairoPsSurface::dscComment — The dscComment purpose

Beschreibung

public void CairoPsSurface::dscComment ( string $comment )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

comment

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoPsSurface::dscComment() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoPsSurface::dscBeginSetup
CairoPsSurface::getEps
CairoPsSurface


The getEps purpose

CairoPsSurface::dscComment
CairoPsSurface::getLevels
CairoPsSurface
PHP Manual

CairoPsSurface::getEps

(PECL cairo >= 0.1.0)

CairoPsSurface::getEps — The getEps purpose

Beschreibung

public bool CairoPsSurface::getEps ( void )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoPsSurface::getEps() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoPsSurface::dscComment
CairoPsSurface::getLevels
CairoPsSurface


The getLevels purpose

CairoPsSurface::getEps
CairoPsSurface::levelToString
CairoPsSurface
PHP Manual

CairoPsSurface::getLevels

(PECL cairo >= 0.1.0)

CairoPsSurface::getLevels — The getLevels purpose

Beschreibung

public static array CairoPsSurface::getLevels ( void )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoPsSurface::getLevels() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoPsSurface::getEps
CairoPsSurface::levelToString
CairoPsSurface


The levelToString purpose

CairoPsSurface::getLevels
CairoPsSurface::restrictToLevel
CairoPsSurface
PHP Manual

CairoPsSurface::levelToString

(PECL cairo >= 0.1.0)

CairoPsSurface::levelToString — The levelToString purpose

Beschreibung

public static string CairoPsSurface::levelToString ( int $level )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

level

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoPsSurface::levelToString() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoPsSurface::getLevels
CairoPsSurface::restrictToLevel
CairoPsSurface


The restrictToLevel purpose

CairoPsSurface::levelToString
CairoPsSurface::setEps
CairoPsSurface
PHP Manual

CairoPsSurface::restrictToLevel

(PECL cairo >= 0.1.0)

CairoPsSurface::restrictToLevel — The restrictToLevel purpose

Beschreibung

public void CairoPsSurface::restrictToLevel ( string $level )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

level

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoPsSurface::restrictToLevel() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoPsSurface::levelToString
CairoPsSurface::setEps
CairoPsSurface


The setEps purpose

CairoPsSurface::restrictToLevel
CairoPsSurface::setSize
CairoPsSurface
PHP Manual

CairoPsSurface::setEps

(PECL cairo >= 0.1.0)

CairoPsSurface::setEps — The setEps purpose

Beschreibung

public void CairoPsSurface::setEps ( string $level )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

level

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoPsSurface::setEps() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoPsSurface::restrictToLevel
CairoPsSurface::setSize
CairoPsSurface


The setSize purpose

CairoPsSurface::setEps
CairoSurfaceType
CairoPsSurface
PHP Manual

CairoPsSurface::setSize

(PECL cairo >= 0.1.0)

CairoPsSurface::setSize — The setSize purpose

Beschreibung

public void CairoPsSurface::setSize ( string $width , string $height )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

width

Description...

height

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoPsSurface::setSize() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoPsSurface::setEps
CairoSurfaceType
CairoPsSurface


The CairoSurfaceType class

(No version information available, might only be in Git)

Einführung

Klassenbeschreibung

CairoSurfaceType {
/* Konstanten */
const integer IMAGE = 0 ;
const integer PDF = 1 ;
const integer PS = 2 ;
const integer XLIB = 3 ;
const integer XCB = 4 ;
const integer GLITZ = 5 ;
const integer QUARTZ = 6 ;
const integer WIN32 = 7 ;
const integer BEOS = 8 ;
const integer DIRECTFB = 9 ;
const integer SVG = 10 ;
const integer OS2 = 11 ;
const integer WIN32_PRINTING = 12 ;
const integer QUARTZ_IMAGE = 13 ;
}

Vordefinierte Konstanten

CairoSurfaceType::IMAGE

Description here...

CairoSurfaceType::PDF

Description here...

CairoSurfaceType::PS

Description here...

CairoSurfaceType::XLIB

Description here...

CairoSurfaceType::XCB

Description here...

CairoSurfaceType::GLITZ

Description here...

CairoSurfaceType::QUARTZ

Description here...

CairoSurfaceType::WIN32

Description here...

CairoSurfaceType::BEOS

Description here...

CairoSurfaceType::DIRECTFB

Description here...

CairoSurfaceType::SVG

Description here...

CairoSurfaceType::OS2

Description here...

CairoSurfaceType::WIN32_PRINTING

Description here...

CairoSurfaceType::QUARTZ_IMAGE

Description here...

CairoPsSurface::setSize
CairoFontFace
Cairo


The CairoFontFace class

(PECL cairo >= 0.1.0)

Einführung

CairoFontFace abstract class represents a particular font at a particular weight, slant, and other characteristic but no transformation or size.

Note: This class can not be instantiated directly, it is created by CairoContext::getFontFace() or cairo_scaled_font_get_font_face().

Klassenbeschreibung

CairoFontFace {
/* Methoden */
public __construct ( void )
public int getType ( void )
public int status ( void )
}

Inhaltsverzeichnis

  • CairoFontFace::__construct — Creates a new CairoFontFace object
  • CairoFontFace::getType — Retrieves the font face type
  • CairoFontFace::status — Check for CairoFontFace errors
CairoSurfaceType
CairoFontFace::__construct
Cairo


Creates a new CairoFontFace object

CairoFontFace
CairoFontFace::getType
CairoFontFace
PHP Manual

CairoFontFace::__construct

(PECL cairo >= 0.1.0)

CairoFontFace::__construct — Creates a new CairoFontFace object

Beschreibung

public CairoFontFace::__construct ( void )

CairoFontFace class represents a particular font at a particular weight, slant, and other characteristic but no transformation or size.

Note: This class can't be instantiated directly it is created by CairoContext::getFontFace() or cairo_scaled_font_get_font_face()

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

CairoFontFace

Beispiele

Beispiel #1 CairoFontFace::__construct() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Class::Method()

CairoFontFace
CairoFontFace::getType
CairoFontFace


Retrieves the font face type

CairoFontFace::__construct
CairoFontFace::status
CairoFontFace
PHP Manual

CairoFontFace::getType

(PECL cairo >= 0.1.0)

CairoFontFace::getType — Retrieves the font face type

Beschreibung

public int CairoFontFace::getType ( void )

This function returns the type of the backend used to create a font face. See CairoFontType class constants for available types.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A font type that can be any one defined in CairoFontType

Beispiele

Beispiel #1 CairoFontFace::getType() example

<?php

// Creates the font face
$fontface = new CairoToyFontFace('sans-serif');

// Get the font face type
var_dump($fontface->getType());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(0)

Siehe auch

  • Classname::Method()

CairoFontFace::__construct
CairoFontFace::status
CairoFontFace


Check for CairoFontFace errors

CairoFontFace::getType
CairoFontOptions
CairoFontFace
PHP Manual

CairoFontFace::status

cairo_font_face_status

(PECL cairo >= 0.1.0)

CairoFontFace::status -- cairo_font_face_status — Check for CairoFontFace errors

Beschreibung

Objektorientierter Stil (method):

public int CairoFontFace::status ( void )

Prozeduraler Stil:

int cairo_font_face_status ( CairoFontFace $fontface )

Checks whether an error has previously occurred for this font face

Parameter-Liste

fontface

A valid CairoFontFace object

Rückgabewerte

CAIRO_STATUS_SUCCESS or another error such as CAIRO_STATUS_NO_MEMORY.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php

// Creates the font face
$fontface = new CairoToyFontFace('sans-serif');

// Get the font face status
var_dump($fontface->status()); // should be the value of CAIRO_STATUS_SUCCESS

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(0)

Beispiel #2 Prozeduraler Stil

<?php

// Creates the font face
$fontface = new CairoToyFontFace('sans-serif');

// Get the font face status
var_dump(cairo_font_face_status($fontface)); // should be the value of CAIRO_STATUS_SUCCESS

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(0)

Siehe auch

  • Classname::Method()

CairoFontFace::getType
CairoFontOptions
CairoFontFace


The CairoFontOptions class

(PECL cairo >= 0.1.0)

Einführung

An opaque structure holding all options that are used when rendering fonts.

Individual features of a cairo_font_options_t can be set or accessed using functions named cairo_font_options_set_feature_name and cairo_font_options_get_feature_name, like cairo_font_options_set_antialias() and cairo_font_options_get_antialias().

New features may be added to CairoFontOptions in the future. For this reason CairoFontOptions::copy(), CairoFontOptions::equal(), CairoFontOptions::merge(), CairoFontOptions::hash() (cairo_font_options_copy(), cairo_font_options_equal(), cairo_font_options_merge(), and cairo_font_options_hash() in procedural way) should be used to copy, check for equality, merge, or compute a hash value of CairoFontOptions objects.

Klassenbeschreibung

CairoFontOptions {
/* Methoden */
public __construct ( void )
public bool equal ( string $other )
public int getAntialias ( void )
public int getHintMetrics ( void )
public int getHintStyle ( void )
public int getSubpixelOrder ( void )
public int hash ( void )
public void merge ( string $other )
public void setAntialias ( string $antialias )
public void setHintMetrics ( string $hint_metrics )
public void setHintStyle ( string $hint_style )
public void setSubpixelOrder ( string $subpixel_order )
public int status ( void )
}

Inhaltsverzeichnis

  • CairoFontOptions::__construct — The __construct purpose
  • CairoFontOptions::equal — The equal purpose
  • CairoFontOptions::getAntialias — The getAntialias purpose
  • CairoFontOptions::getHintMetrics — The getHintMetrics purpose
  • CairoFontOptions::getHintStyle — The getHintStyle purpose
  • CairoFontOptions::getSubpixelOrder — The getSubpixelOrder purpose
  • CairoFontOptions::hash — The hash purpose
  • CairoFontOptions::merge — The merge purpose
  • CairoFontOptions::setAntialias — The setAntialias purpose
  • CairoFontOptions::setHintMetrics — The setHintMetrics purpose
  • CairoFontOptions::setHintStyle — The setHintStyle purpose
  • CairoFontOptions::setSubpixelOrder — The setSubpixelOrder purpose
  • CairoFontOptions::status — The status purpose
CairoFontFace::status
CairoFontOptions::__construct
Cairo


The __construct purpose

CairoFontOptions
CairoFontOptions::equal
CairoFontOptions
PHP Manual

CairoFontOptions::__construct

(PECL cairo >= 0.1.0)

CairoFontOptions::__construct — The __construct purpose

Beschreibung

public CairoFontOptions::__construct ( void )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoFontOptions::__construct() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoFontOptions
CairoFontOptions::equal
CairoFontOptions


The equal purpose

CairoFontOptions::__construct
CairoFontOptions::getAntialias
CairoFontOptions
PHP Manual

CairoFontOptions::equal

(PECL cairo >= 0.1.0)

CairoFontOptions::equal — The equal purpose

Beschreibung

public bool CairoFontOptions::equal ( string $other )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

other

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoFontOptions::equal() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoFontOptions::__construct
CairoFontOptions::getAntialias
CairoFontOptions


The getAntialias purpose

CairoFontOptions::equal
CairoFontOptions::getHintMetrics
CairoFontOptions
PHP Manual

CairoFontOptions::getAntialias

cairo_get_antialias

(PECL cairo >= 0.1.0)

CairoFontOptions::getAntialias -- cairo_get_antialias — The getAntialias purpose

Beschreibung

Objektorientierter Stil (method):

public int CairoFontOptions::getAntialias ( void )

Prozeduraler Stil:

int cairo_get_antialias ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoFontOptions::equal
CairoFontOptions::getHintMetrics
CairoFontOptions


The getHintMetrics purpose

CairoFontOptions::getAntialias
CairoFontOptions::getHintStyle
CairoFontOptions
PHP Manual

CairoFontOptions::getHintMetrics

(PECL cairo >= 0.1.0)

CairoFontOptions::getHintMetrics — The getHintMetrics purpose

Beschreibung

public int CairoFontOptions::getHintMetrics ( void )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoFontOptions::getHintMetrics() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoFontOptions::getAntialias
CairoFontOptions::getHintStyle
CairoFontOptions


The getHintStyle purpose

CairoFontOptions::getHintMetrics
CairoFontOptions::getSubpixelOrder
CairoFontOptions
PHP Manual

CairoFontOptions::getHintStyle

(PECL cairo >= 0.1.0)

CairoFontOptions::getHintStyle — The getHintStyle purpose

Beschreibung

public int CairoFontOptions::getHintStyle ( void )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoFontOptions::getHintStyle() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoFontOptions::getHintMetrics
CairoFontOptions::getSubpixelOrder
CairoFontOptions


The getSubpixelOrder purpose

CairoFontOptions::getHintStyle
CairoFontOptions::hash
CairoFontOptions
PHP Manual

CairoFontOptions::getSubpixelOrder

(PECL cairo >= 0.1.0)

CairoFontOptions::getSubpixelOrder — The getSubpixelOrder purpose

Beschreibung

public int CairoFontOptions::getSubpixelOrder ( void )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoFontOptions::getSubpixelOrder() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoFontOptions::getHintStyle
CairoFontOptions::hash
CairoFontOptions


The hash purpose

CairoFontOptions::getSubpixelOrder
CairoFontOptions::merge
CairoFontOptions
PHP Manual

CairoFontOptions::hash

(PECL cairo >= 0.1.0)

CairoFontOptions::hash — The hash purpose

Beschreibung

public int CairoFontOptions::hash ( void )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoFontOptions::hash() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoFontOptions::getSubpixelOrder
CairoFontOptions::merge
CairoFontOptions


The merge purpose

CairoFontOptions::hash
CairoFontOptions::setAntialias
CairoFontOptions
PHP Manual

CairoFontOptions::merge

(PECL cairo >= 0.1.0)

CairoFontOptions::merge — The merge purpose

Beschreibung

public void CairoFontOptions::merge ( string $other )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

other

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoFontOptions::merge() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoFontOptions::hash
CairoFontOptions::setAntialias
CairoFontOptions


The setAntialias purpose

CairoFontOptions::merge
CairoFontOptions::setHintMetrics
CairoFontOptions
PHP Manual

CairoFontOptions::setAntialias

cairo_set_antialias

(PECL cairo >= 0.1.0)

CairoFontOptions::setAntialias -- cairo_set_antialias — The setAntialias purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoFontOptions::setAntialias ( string $antialias )

Prozeduraler Stil:

void cairo_set_antialias ( CairoContext $context [, string $antialias ] )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

antialias

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoFontOptions::merge
CairoFontOptions::setHintMetrics
CairoFontOptions


The setHintMetrics purpose

CairoFontOptions::setAntialias
CairoFontOptions::setHintStyle
CairoFontOptions
PHP Manual

CairoFontOptions::setHintMetrics

(PECL cairo >= 0.1.0)

CairoFontOptions::setHintMetrics — The setHintMetrics purpose

Beschreibung

public void CairoFontOptions::setHintMetrics ( string $hint_metrics )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

hint_metrics

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoFontOptions::setHintMetrics() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoFontOptions::setAntialias
CairoFontOptions::setHintStyle
CairoFontOptions


The setHintStyle purpose

CairoFontOptions::setHintMetrics
CairoFontOptions::setSubpixelOrder
CairoFontOptions
PHP Manual

CairoFontOptions::setHintStyle

(PECL cairo >= 0.1.0)

CairoFontOptions::setHintStyle — The setHintStyle purpose

Beschreibung

public void CairoFontOptions::setHintStyle ( string $hint_style )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

hint_style

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoFontOptions::setHintStyle() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoFontOptions::setHintMetrics
CairoFontOptions::setSubpixelOrder
CairoFontOptions


The setSubpixelOrder purpose

CairoFontOptions::setHintStyle
CairoFontOptions::status
CairoFontOptions
PHP Manual

CairoFontOptions::setSubpixelOrder

(PECL cairo >= 0.1.0)

CairoFontOptions::setSubpixelOrder — The setSubpixelOrder purpose

Beschreibung

public void CairoFontOptions::setSubpixelOrder ( string $subpixel_order )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

subpixel_order

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoFontOptions::setSubpixelOrder() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoFontOptions::setHintStyle
CairoFontOptions::status
CairoFontOptions


The status purpose

CairoFontOptions::setSubpixelOrder
CairoFontSlant
CairoFontOptions
PHP Manual

CairoFontOptions::status

cairo_status

(PECL cairo >= 0.1.0)

CairoFontOptions::status -- cairo_status — The status purpose

Beschreibung

Objektorientierter Stil (method):

public int CairoFontOptions::status ( void )

Prozeduraler Stil:

int cairo_status ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoFontOptions::setSubpixelOrder
CairoFontSlant
CairoFontOptions


The CairoFontSlant class

(No version information available, might only be in Git)

Einführung

Specifies variants of a font face based on their slant.

Klassenbeschreibung

CairoFontSlant {
/* Konstanten */
const integer NORMAL = 0 ;
const integer ITALIC = 1 ;
const integer OBLIQUE = 2 ;
}

Vordefinierte Konstanten

CairoFontSlant::NORMAL

Upright font style

CairoFontSlant::ITALIC

Italic font style

CairoFontSlant::OBLIQUE

Oblique font style

CairoFontOptions::status
CairoFontType
Cairo


The CairoFontType class

(No version information available, might only be in Git)

Einführung

CairoFontType class is an abstract final class that contains constants used to describe the type of a given CairoFontFace or CairoScaledFont. The font types are also known as "font backends" within cairo.

The type of a CairoFontFace is determined by the how it is created, an example would be the CairoToyFontFace::__construct(). The CairoFontFace type can be queried with CairoFontFace::getType() or cairo_font_face_get_type()

The various CairoFontFace functions can be used with a font face of any type.

The type of a CairoScaledFont is determined by the type of the CairoFontFace passed to CairoScaledFont::__construct() or cairo_scaled_font_create(). The scaled font type can be queried with CairoScaledFont::getType() or cairo_scaled_font_get_type().

Klassenbeschreibung

CairoFontType {
/* Konstanten */
const integer TOY = 0 ;
const integer FT = 1 ;
const integer WIN32 = 2 ;
const integer QUARTZ = 3 ;
}

Vordefinierte Konstanten

CairoFontType::TOY

The font was created using CairoToyFont api

CairoFontType::FT

The font is of type CairoFreeType

CairoFontType::WIN32

The font is of type Win32

CairoFontType::QUARTZ

The font is of type Quartz

CairoFontType::USER

The font was create using cairo's user font api

CairoFontSlant
CairoFontWeight
Cairo


The CairoFontWeight class

(No version information available, might only be in Git)

Einführung

Specifies variants of a font face based on their weight.

Klassenbeschreibung

CairoFontWeight {
/* Konstanten */
const integer NORMAL = 0 ;
const integer BOLD = 1 ;
}

Vordefinierte Konstanten

CairoFontWeight::NORMAL

Normal font weight

CairoFontWeight::BOLD

Bold font weight

CairoFontType
CairoScaledFont
Cairo


The CairoScaledFont class

(PECL cairo >= 0.1.0)

Einführung

Klassenbeschreibung

CairoScaledFont {
/* Methoden */
public __construct ( CairoFontFace $font_face , CairoMatrix $matrix , CairoMatrix $ctm , CairoFontOptions $options )
public array extents ( void )
public CairoMatrix getCtm ( void )
public void getFontFace ( void )
public void getFontMatrix ( void )
public void getFontOptions ( void )
public void getScaleMatrix ( void )
public int getType ( void )
public array glyphExtents ( string $glyphs )
public int status ( void )
public array textExtents ( string $text )
}

Inhaltsverzeichnis

  • CairoScaledFont::__construct — The __construct purpose
  • CairoScaledFont::extents — The extents purpose
  • CairoScaledFont::getCtm — The getCtm purpose
  • CairoScaledFont::getFontFace — The getFontFace purpose
  • CairoScaledFont::getFontMatrix — The getFontMatrix purpose
  • CairoScaledFont::getFontOptions — The getFontOptions purpose
  • CairoScaledFont::getScaleMatrix — The getScaleMatrix purpose
  • CairoScaledFont::getType — The getType purpose
  • CairoScaledFont::glyphExtents — The glyphExtents purpose
  • CairoScaledFont::status — The status purpose
  • CairoScaledFont::textExtents — The textExtents purpose
CairoFontWeight
CairoScaledFont::__construct
Cairo


The __construct purpose

CairoScaledFont
CairoScaledFont::extents
CairoScaledFont
PHP Manual

CairoScaledFont::__construct

(PECL cairo >= 0.1.0)

CairoScaledFont::__construct — The __construct purpose

Beschreibung

public CairoScaledFont::__construct ( CairoFontFace $font_face , CairoMatrix $matrix , CairoMatrix $ctm , CairoFontOptions $options )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

font_face

Description...

matrix

Description...

ctm

Description...

options

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoScaledFont::__construct() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoScaledFont
CairoScaledFont::extents
CairoScaledFont


The extents purpose

CairoScaledFont::__construct
CairoScaledFont::getCtm
CairoScaledFont
PHP Manual

CairoScaledFont::extents

(PECL cairo >= 0.1.0)

CairoScaledFont::extents — The extents purpose

Beschreibung

public array CairoScaledFont::extents ( void )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoScaledFont::extents() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoScaledFont::__construct
CairoScaledFont::getCtm
CairoScaledFont


The getCtm purpose

CairoScaledFont::extents
CairoScaledFont::getFontFace
CairoScaledFont
PHP Manual

CairoScaledFont::getCtm

(PECL cairo >= 0.1.0)

CairoScaledFont::getCtm — The getCtm purpose

Beschreibung

public CairoMatrix CairoScaledFont::getCtm ( void )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoScaledFont::getCtm() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoScaledFont::extents
CairoScaledFont::getFontFace
CairoScaledFont


The getFontFace purpose

CairoScaledFont::getCtm
CairoScaledFont::getFontMatrix
CairoScaledFont
PHP Manual

CairoScaledFont::getFontFace

cairo_get_font_face

(PECL cairo >= 0.1.0)

CairoScaledFont::getFontFace -- cairo_get_font_face — The getFontFace purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoScaledFont::getFontFace ( void )

Prozeduraler Stil:

void cairo_get_font_face ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoScaledFont::getCtm
CairoScaledFont::getFontMatrix
CairoScaledFont


The getFontMatrix purpose

CairoScaledFont::getFontFace
CairoScaledFont::getFontOptions
CairoScaledFont
PHP Manual

CairoScaledFont::getFontMatrix

cairo_get_font_matrix

(PECL cairo >= 0.1.0)

CairoScaledFont::getFontMatrix -- cairo_get_font_matrix — The getFontMatrix purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoScaledFont::getFontMatrix ( void )

Prozeduraler Stil:

void cairo_get_font_matrix ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoScaledFont::getFontFace
CairoScaledFont::getFontOptions
CairoScaledFont


The getFontOptions purpose

CairoScaledFont::getFontMatrix
CairoScaledFont::getScaleMatrix
CairoScaledFont
PHP Manual

CairoScaledFont::getFontOptions

cairo_get_font_options

(PECL cairo >= 0.1.0)

CairoScaledFont::getFontOptions -- cairo_get_font_options — The getFontOptions purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoScaledFont::getFontOptions ( void )

Prozeduraler Stil:

void cairo_get_font_options ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoScaledFont::getFontMatrix
CairoScaledFont::getScaleMatrix
CairoScaledFont


The getScaleMatrix purpose

CairoScaledFont::getFontOptions
CairoScaledFont::getType
CairoScaledFont
PHP Manual

CairoScaledFont::getScaleMatrix

(PECL cairo >= 0.1.0)

CairoScaledFont::getScaleMatrix — The getScaleMatrix purpose

Beschreibung

public void CairoScaledFont::getScaleMatrix ( void )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoScaledFont::getScaleMatrix() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoScaledFont::getFontOptions
CairoScaledFont::getType
CairoScaledFont


The getType purpose

CairoScaledFont::getScaleMatrix
CairoScaledFont::glyphExtents
CairoScaledFont
PHP Manual

CairoScaledFont::getType

(PECL cairo >= 0.1.0)

CairoScaledFont::getType — The getType purpose

Beschreibung

public int CairoScaledFont::getType ( void )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoScaledFont::getType() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoScaledFont::getScaleMatrix
CairoScaledFont::glyphExtents
CairoScaledFont


The glyphExtents purpose

CairoScaledFont::getType
CairoScaledFont::status
CairoScaledFont
PHP Manual

CairoScaledFont::glyphExtents

(PECL cairo >= 0.1.0)

CairoScaledFont::glyphExtents — The glyphExtents purpose

Beschreibung

public array CairoScaledFont::glyphExtents ( string $glyphs )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

glyphs

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoScaledFont::glyphExtents() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoScaledFont::getType
CairoScaledFont::status
CairoScaledFont


The status purpose

CairoScaledFont::glyphExtents
CairoScaledFont::textExtents
CairoScaledFont
PHP Manual

CairoScaledFont::status

cairo_status

(PECL cairo >= 0.1.0)

CairoScaledFont::status -- cairo_status — The status purpose

Beschreibung

Objektorientierter Stil (method):

public int CairoScaledFont::status ( void )

Prozeduraler Stil:

int cairo_status ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoScaledFont::glyphExtents
CairoScaledFont::textExtents
CairoScaledFont


The textExtents purpose

CairoScaledFont::status
CairoToyFontFace
CairoScaledFont
PHP Manual

CairoScaledFont::textExtents

cairo_text_extents

(PECL cairo >= 0.1.0)

CairoScaledFont::textExtents -- cairo_text_extents — The textExtents purpose

Beschreibung

Objektorientierter Stil (method):

public array CairoScaledFont::textExtents ( string $text )

Prozeduraler Stil:

array cairo_text_extents ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

text

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoScaledFont::status
CairoToyFontFace
CairoScaledFont


The CairoToyFontFace class

(PECL cairo >= 0.1.0)

Einführung

The CairoToyFontFace class can be used instead of CairoContext::selectFontFace() to create a toy font independently of a context.

Klassenbeschreibung

CairoToyFontFace extends CairoFontFace {
/* Geerbte Methoden */
}
CairoScaledFont::textExtents
CairoPatternType
Cairo


The CairoPatternType class

(No version information available, might only be in Git)

Einführung

CairoPatternType is used to describe the type of a given pattern.

The type of a pattern is determined by the function used to create it. The cairo_pattern_create_rgb() and cairo_pattern_create_rgba() functions create CairoPatternType::SOLID patterns. The remaining cairo_pattern_create_* functions map to pattern types in obvious ways.

Klassenbeschreibung

CairoPatternType {
/* Konstanten */
const integer SOLID = 0 ;
const integer SURFACE = 1 ;
const integer LINEAR = 2 ;
const integer RADIAL = 3 ;
}

Vordefinierte Konstanten

CairoPatternType::SOLID

The pattern is a solid (uniform) color. It may be opaque or translucent.

CairoPatternType::SURFACE

The pattern is a based on a surface (an image).

CairoPatternType::LINEAR

The pattern is a linear gradient.

CairoPatternType::RADIAL

The pattern is a radial gradient.

CairoToyFontFace
CairoPattern
Cairo


The CairoPattern class

(PECL cairo >= 0.1.0)

Einführung

CairoPattern is the abstract base class from which all the other pattern classes derive. It cannot be instantiated directly

Klassenbeschreibung

CairoPattern {
/* Methoden */
public __construct ( void )
public void getMatrix ( void )
public int getType ( void )
public void setMatrix ( string $matrix )
public int status ( void )
}

Inhaltsverzeichnis

  • CairoPattern::__construct — The __construct purpose
  • CairoPattern::getMatrix — The getMatrix purpose
  • CairoPattern::getType — The getType purpose
  • CairoPattern::setMatrix — The setMatrix purpose
  • CairoPattern::status — The status purpose
CairoPatternType
CairoPattern::__construct
Cairo


The __construct purpose

CairoPattern
CairoPattern::getMatrix
CairoPattern
PHP Manual

CairoPattern::__construct

(PECL cairo >= 0.1.0)

CairoPattern::__construct — The __construct purpose

Beschreibung

public CairoPattern::__construct ( void )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoPattern::__construct() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoPattern
CairoPattern::getMatrix
CairoPattern


The getMatrix purpose

CairoPattern::__construct
CairoPattern::getType
CairoPattern
PHP Manual

CairoPattern::getMatrix

cairo_get_matrix

(PECL cairo >= 0.1.0)

CairoPattern::getMatrix -- cairo_get_matrix — The getMatrix purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoPattern::getMatrix ( void )

Prozeduraler Stil:

void cairo_get_matrix ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoPattern::__construct
CairoPattern::getType
CairoPattern


The getType purpose

CairoPattern::getMatrix
CairoPattern::setMatrix
CairoPattern
PHP Manual

CairoPattern::getType

(PECL cairo >= 0.1.0)

CairoPattern::getType — The getType purpose

Beschreibung

public int CairoPattern::getType ( void )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoPattern::getType() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoPattern::getMatrix
CairoPattern::setMatrix
CairoPattern


The setMatrix purpose

CairoPattern::getType
CairoPattern::status
CairoPattern
PHP Manual

CairoPattern::setMatrix

cairo_set_matrix

(PECL cairo >= 0.1.0)

CairoPattern::setMatrix -- cairo_set_matrix — The setMatrix purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoPattern::setMatrix ( string $matrix )

Prozeduraler Stil:

void cairo_set_matrix ( CairoContext $context , CairoMatrix $matrix )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

matrix

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoPattern::getType
CairoPattern::status
CairoPattern


The status purpose

CairoPattern::setMatrix
CairoGradientPattern
CairoPattern
PHP Manual

CairoPattern::status

cairo_status

(PECL cairo >= 0.1.0)

CairoPattern::status -- cairo_status — The status purpose

Beschreibung

Objektorientierter Stil (method):

public int CairoPattern::status ( void )

Prozeduraler Stil:

int cairo_status ( CairoContext $context )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoPattern::setMatrix
CairoGradientPattern
CairoPattern


The CairoGradientPattern class

(PECL cairo >= 0.1.0)

Einführung

CairoGradientPattern is an abstract base class from which other Pattern classes derive. It cannot be instantiated directly.

Klassenbeschreibung

CairoGradientPattern extends CairoPattern {
/* Methoden */
public void addColorStopRgb ( string $offset , string $red , string $green , string $blue )
public void addColorStopRgba ( string $offset , string $red , string $green , string $blue , string $alpha )
public int getColorStopCount ( void )
public array getColorStopRgba ( string $index )
public int getExtend ( void )
public void setExtend ( int $extend )
/* Geerbte Methoden */
public CairoPattern::__construct ( void )
public void CairoPattern::getMatrix ( void )
public int CairoPattern::getType ( void )
public void CairoPattern::setMatrix ( string $matrix )
public int CairoPattern::status ( void )
}

Inhaltsverzeichnis

  • CairoGradientPattern::addColorStopRgb — The addColorStopRgb purpose
  • CairoGradientPattern::addColorStopRgba — The addColorStopRgba purpose
  • CairoGradientPattern::getColorStopCount — The getColorStopCount purpose
  • CairoGradientPattern::getColorStopRgba — The getColorStopRgba purpose
  • CairoGradientPattern::getExtend — The getExtend purpose
  • CairoGradientPattern::setExtend — The setExtend purpose
CairoPattern::status
CairoGradientPattern::addColorStopRgb
Cairo


The addColorStopRgb purpose

CairoGradientPattern
CairoGradientPattern::addColorStopRgba
CairoGradientPattern
PHP Manual

CairoGradientPattern::addColorStopRgb

(PECL cairo >= 0.1.0)

CairoGradientPattern::addColorStopRgb — The addColorStopRgb purpose

Beschreibung

public void CairoGradientPattern::addColorStopRgb ( string $offset , string $red , string $green , string $blue )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

offset

Description...

red

Description...

green

Description...

blue

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoGradientPattern::addColorStopRgb() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoGradientPattern
CairoGradientPattern::addColorStopRgba
CairoGradientPattern


The addColorStopRgba purpose

CairoGradientPattern::addColorStopRgb
CairoGradientPattern::getColorStopCount
CairoGradientPattern
PHP Manual

CairoGradientPattern::addColorStopRgba

(PECL cairo >= 0.1.0)

CairoGradientPattern::addColorStopRgba — The addColorStopRgba purpose

Beschreibung

public void CairoGradientPattern::addColorStopRgba ( string $offset , string $red , string $green , string $blue , string $alpha )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

offset

Description...

red

Description...

green

Description...

blue

Description...

alpha

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoGradientPattern::addColorStopRgba() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoGradientPattern::addColorStopRgb
CairoGradientPattern::getColorStopCount
CairoGradientPattern


The getColorStopCount purpose

CairoGradientPattern::addColorStopRgba
CairoGradientPattern::getColorStopRgba
CairoGradientPattern
PHP Manual

CairoGradientPattern::getColorStopCount

(PECL cairo >= 0.1.0)

CairoGradientPattern::getColorStopCount — The getColorStopCount purpose

Beschreibung

public int CairoGradientPattern::getColorStopCount ( void )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoGradientPattern::getColorStopCount() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoGradientPattern::addColorStopRgba
CairoGradientPattern::getColorStopRgba
CairoGradientPattern


The getColorStopRgba purpose

CairoGradientPattern::getColorStopCount
CairoGradientPattern::getExtend
CairoGradientPattern
PHP Manual

CairoGradientPattern::getColorStopRgba

(PECL cairo >= 0.1.0)

CairoGradientPattern::getColorStopRgba — The getColorStopRgba purpose

Beschreibung

public array CairoGradientPattern::getColorStopRgba ( string $index )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

index

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoGradientPattern::getColorStopRgba() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoGradientPattern::getColorStopCount
CairoGradientPattern::getExtend
CairoGradientPattern


The getExtend purpose

CairoGradientPattern::getColorStopRgba
CairoGradientPattern::setExtend
CairoGradientPattern
PHP Manual

CairoGradientPattern::getExtend

(PECL cairo >= 0.1.0)

CairoGradientPattern::getExtend — The getExtend purpose

Beschreibung

public int CairoGradientPattern::getExtend ( void )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoGradientPattern::getExtend() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoGradientPattern::getColorStopRgba
CairoGradientPattern::setExtend
CairoGradientPattern


The setExtend purpose

CairoGradientPattern::getExtend
CairoSolidPattern
CairoGradientPattern
PHP Manual

CairoGradientPattern::setExtend

(PECL cairo >= 0.1.0)

CairoGradientPattern::setExtend — The setExtend purpose

Beschreibung

public void CairoGradientPattern::setExtend ( int $extend )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

extend

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoGradientPattern::setExtend() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoGradientPattern::getExtend
CairoSolidPattern
CairoGradientPattern


The CairoSolidPattern class

(PECL cairo >= 0.1.0)

Einführung

Klassenbeschreibung

CairoSolidPattern extends CairoPattern {
/* Methoden */
public __construct ( float $red , float $green , float $blue [, float $alpha = 0 ] )
public array getRgba ( void )
/* Geerbte Methoden */
public CairoPattern::__construct ( void )
public void CairoPattern::getMatrix ( void )
public int CairoPattern::getType ( void )
public void CairoPattern::setMatrix ( string $matrix )
public int CairoPattern::status ( void )
}

Inhaltsverzeichnis

  • CairoSolidPattern::__construct — The __construct purpose
  • CairoSolidPattern::getRgba — The getRgba purpose
CairoGradientPattern::setExtend
CairoSolidPattern::__construct
Cairo


The __construct purpose

CairoSolidPattern
CairoSolidPattern::getRgba
CairoSolidPattern
PHP Manual

CairoSolidPattern::__construct

(PECL cairo >= 0.1.0)

CairoSolidPattern::__construct — The __construct purpose

Beschreibung

public CairoSolidPattern::__construct ( float $red , float $green , float $blue [, float $alpha = 0 ] )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

red

Description...

green

Description...

blue

Description...

alpha

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoSolidPattern::__construct() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoSolidPattern
CairoSolidPattern::getRgba
CairoSolidPattern


The getRgba purpose

CairoSolidPattern::__construct
CairoSurfacePattern
CairoSolidPattern
PHP Manual

CairoSolidPattern::getRgba

(PECL cairo >= 0.1.0)

CairoSolidPattern::getRgba — The getRgba purpose

Beschreibung

public array CairoSolidPattern::getRgba ( void )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoSolidPattern::getRgba() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoSolidPattern::__construct
CairoSurfacePattern
CairoSolidPattern


The CairoSurfacePattern class

(PECL cairo >= 0.1.0)

Einführung

Klassenbeschreibung

CairoSurfacePattern extends CairoPattern {
/* Methoden */
public __construct ( CairoSurface $surface )
public int getExtend ( void )
public int getFilter ( void )
public void getSurface ( void )
public void setExtend ( int $extend )
public void setFilter ( string $filter )
/* Geerbte Methoden */
public CairoPattern::__construct ( void )
public void CairoPattern::getMatrix ( void )
public int CairoPattern::getType ( void )
public void CairoPattern::setMatrix ( string $matrix )
public int CairoPattern::status ( void )
}

Inhaltsverzeichnis

  • CairoSurfacePattern::__construct — The __construct purpose
  • CairoSurfacePattern::getExtend — The getExtend purpose
  • CairoSurfacePattern::getFilter — The getFilter purpose
  • CairoSurfacePattern::getSurface — The getSurface purpose
  • CairoSurfacePattern::setExtend — The setExtend purpose
  • CairoSurfacePattern::setFilter — The setFilter purpose
CairoSolidPattern::getRgba
CairoSurfacePattern::__construct
Cairo


The __construct purpose

CairoSurfacePattern
CairoSurfacePattern::getExtend
CairoSurfacePattern
PHP Manual

CairoSurfacePattern::__construct

(PECL cairo >= 0.1.0)

CairoSurfacePattern::__construct — The __construct purpose

Beschreibung

public CairoSurfacePattern::__construct ( CairoSurface $surface )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

surface

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoSurfacePattern::__construct() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoSurfacePattern
CairoSurfacePattern::getExtend
CairoSurfacePattern


The getExtend purpose

CairoSurfacePattern::__construct
CairoSurfacePattern::getFilter
CairoSurfacePattern
PHP Manual

CairoSurfacePattern::getExtend

(PECL cairo >= 0.1.0)

CairoSurfacePattern::getExtend — The getExtend purpose

Beschreibung

public int CairoSurfacePattern::getExtend ( void )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoSurfacePattern::getExtend() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoSurfacePattern::__construct
CairoSurfacePattern::getFilter
CairoSurfacePattern


The getFilter purpose

CairoSurfacePattern::getExtend
CairoSurfacePattern::getSurface
CairoSurfacePattern
PHP Manual

CairoSurfacePattern::getFilter

(PECL cairo >= 0.1.0)

CairoSurfacePattern::getFilter — The getFilter purpose

Beschreibung

public int CairoSurfacePattern::getFilter ( void )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoSurfacePattern::getFilter() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoSurfacePattern::getExtend
CairoSurfacePattern::getSurface
CairoSurfacePattern


The getSurface purpose

CairoSurfacePattern::getFilter
CairoSurfacePattern::setExtend
CairoSurfacePattern
PHP Manual

CairoSurfacePattern::getSurface

(PECL cairo >= 0.1.0)

CairoSurfacePattern::getSurface — The getSurface purpose

Beschreibung

public void CairoSurfacePattern::getSurface ( void )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoSurfacePattern::getSurface() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoSurfacePattern::getFilter
CairoSurfacePattern::setExtend
CairoSurfacePattern


The setExtend purpose

CairoSurfacePattern::getSurface
CairoSurfacePattern::setFilter
CairoSurfacePattern
PHP Manual

CairoSurfacePattern::setExtend

(PECL cairo >= 0.1.0)

CairoSurfacePattern::setExtend — The setExtend purpose

Beschreibung

public void CairoSurfacePattern::setExtend ( int $extend )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

extend

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoSurfacePattern::setExtend() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoSurfacePattern::getSurface
CairoSurfacePattern::setFilter
CairoSurfacePattern


The setFilter purpose

CairoSurfacePattern::setExtend
CairoLinearGradient
CairoSurfacePattern
PHP Manual

CairoSurfacePattern::setFilter

(PECL cairo >= 0.1.0)

CairoSurfacePattern::setFilter — The setFilter purpose

Beschreibung

public void CairoSurfacePattern::setFilter ( string $filter )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

filter

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoSurfacePattern::setFilter() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoSurfacePattern::setExtend
CairoLinearGradient
CairoSurfacePattern


The CairoLinearGradient class

(PECL cairo >= 0.1.0)

Einführung

Create a new CairoLinearGradient along the line defined

Klassenbeschreibung

CairoLinearGradient extends CairoGradientPattern {
/* Methoden */
public __construct ( float $x0 , float $y0 , float $x1 , float $y1 )
public array getPoints ( void )
/* Geerbte Methoden */
public void CairoGradientPattern::addColorStopRgb ( string $offset , string $red , string $green , string $blue )
public void CairoGradientPattern::addColorStopRgba ( string $offset , string $red , string $green , string $blue , string $alpha )
public int CairoGradientPattern::getColorStopCount ( void )
public array CairoGradientPattern::getColorStopRgba ( string $index )
public int CairoGradientPattern::getExtend ( void )
public void CairoGradientPattern::setExtend ( int $extend )
}

Inhaltsverzeichnis

  • CairoLinearGradient::__construct — The __construct purpose
  • CairoLinearGradient::getPoints — The getPoints purpose
CairoSurfacePattern::setFilter
CairoLinearGradient::__construct
Cairo


The __construct purpose

CairoLinearGradient
CairoLinearGradient::getPoints
CairoLinearGradient
PHP Manual

CairoLinearGradient::__construct

(PECL cairo >= 0.1.0)

CairoLinearGradient::__construct — The __construct purpose

Beschreibung

public CairoLinearGradient::__construct ( float $x0 , float $y0 , float $x1 , float $y1 )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

x0

Description...

y0

Description...

x1

Description...

y1

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoLinearGradient::__construct() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoLinearGradient
CairoLinearGradient::getPoints
CairoLinearGradient


The getPoints purpose

CairoLinearGradient::__construct
CairoRadialGradient
CairoLinearGradient
PHP Manual

CairoLinearGradient::getPoints

(PECL cairo >= 0.1.0)

CairoLinearGradient::getPoints — The getPoints purpose

Beschreibung

public array CairoLinearGradient::getPoints ( void )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoLinearGradient::getPoints() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoLinearGradient::__construct
CairoRadialGradient
CairoLinearGradient


The CairoRadialGradient class

(PECL cairo >= 0.1.0)

Einführung

Klassenbeschreibung

CairoRadialGradient extends CairoGradientPattern {
/* Methoden */
public __construct ( float $x0 , float $y0 , float $r0 , float $x1 , float $y1 , float $r1 )
public array getCircles ( void )
/* Geerbte Methoden */
public void CairoGradientPattern::addColorStopRgb ( string $offset , string $red , string $green , string $blue )
public void CairoGradientPattern::addColorStopRgba ( string $offset , string $red , string $green , string $blue , string $alpha )
public int CairoGradientPattern::getColorStopCount ( void )
public array CairoGradientPattern::getColorStopRgba ( string $index )
public int CairoGradientPattern::getExtend ( void )
public void CairoGradientPattern::setExtend ( int $extend )
}

Inhaltsverzeichnis

  • CairoRadialGradient::__construct — The __construct purpose
  • CairoRadialGradient::getCircles — The getCircles purpose
CairoLinearGradient::getPoints
CairoRadialGradient::__construct
Cairo


The __construct purpose

CairoRadialGradient
CairoRadialGradient::getCircles
CairoRadialGradient
PHP Manual

CairoRadialGradient::__construct

(PECL cairo >= 0.1.0)

CairoRadialGradient::__construct — The __construct purpose

Beschreibung

Objektorientierter Stil:

public CairoRadialGradient::__construct ( float $x0 , float $y0 , float $r0 , float $x1 , float $y1 , float $r1 )

Prozeduraler Stil:

Creates a new radial gradient CairoPattern between the two circles defined by (x0, y0, r0) and (x1, y1, r1). Before using the gradient pattern, a number of color stops should be defined using CairoRadialGradient::addColorStopRgb() or CairoRadialGradient::addColorStopRgba().

Note: The coordinates here are in pattern space. For a new pattern, pattern space is identical to user space, but the relationship between the spaces can be changed with CairoRadialGradient::setMatrix().

Parameter-Liste

x0

x coordinate for the center of the start circle.

y0

y coordinate for the center of the start circle.

r0

radius of the start circle.

x1

x coordinate for the center of the end circle.

y1

y coordinate for the center of the end circle.

r1

radius of the end circle.

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoRadialGradient::__construct() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoRadialGradient
CairoRadialGradient::getCircles
CairoRadialGradient


The getCircles purpose

CairoRadialGradient::__construct
CairoAntialias
CairoRadialGradient
PHP Manual

CairoRadialGradient::getCircles

(PECL cairo >= 0.1.0)

CairoRadialGradient::getCircles — The getCircles purpose

Beschreibung

public array CairoRadialGradient::getCircles ( void )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoRadialGradient::getCircles() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoRadialGradient::__construct
CairoAntialias
CairoRadialGradient


The CairoAntialias class

(No version information available, might only be in Git)

Einführung

Enum class that specifies the type of antialiasing to do when rendering text or shapes.

Klassenbeschreibung

CairoAntialias {
/* Konstanten */
const integer MODE_DEFAULT = 0 ;
const integer MODE_NONE = 1 ;
const integer MODE_GRAY = 2 ;
const integer MODE_SUBPIXEL = 3 ;
}

Vordefinierte Konstanten

CairoAntialias::MODE_DEFAULT

Use the default antialiasing for the subsystem and target device

CairoAntialias::MODE_NONE

Use a bilevel alpha mask

CairoAntialias::MODE_GRAY

Perform single-color antialiasing (using shades of gray for black text on a white background, for example).

CairoAntialias::MODE_SUBPIXEL

Perform antialiasing by taking advantage of the order of subpixel elements on devices such as LCD panels.

CairoRadialGradient::getCircles
CairoContent
Cairo


The CairoContent class

(No version information available, might only be in Git)

Einführung

CairoContent is used to describe the content that a surface will contain, whether color information, alpha information (translucence vs. opacity), or both.

Note: The large values here are designed to keep CairoContent values distinct from CairoContent values so that the implementation can detect the error if users confuse the two types.

Klassenbeschreibung

CairoContent {
/* Konstanten */
const integer COLOR = 4096 ;
const integer ALPHA = 8192 ;
const integer COLOR_ALPHA = 12288 ;
}

Vordefinierte Konstanten

CairoContent::COLOR

The surface will hold color content only.

CairoContent::ALPHA

The surface will hold alpha content only.

CairoContent::COLOR_ALPHA

The surface will hold color and alpha content.

CairoAntialias
CairoExtend
Cairo


The CairoExtend class

(No version information available, might only be in Git)

Einführung

Klassenbeschreibung

CairoExtend {
/* Konstanten */
const integer NONE = 0 ;
const integer REPEAT = 1 ;
const integer REFLECT = 2 ;
const integer PAD = 3 ;
}

Vordefinierte Konstanten

CairoExtend::NONE

Description here...

CairoExtend::REPEAT

Description here...

CairoExtend::REFLECT

Description here...

CairoExtend::PAD

Description here...

CairoContent
CairoFormat
Cairo


The CairoFormat class

(PECL cairo >= 0.1.0)

Einführung

CairoFormat enums are used to identify the memory format of the image data.

Klassenbeschreibung

CairoFormat {
/* Konstanten */
const integer ARGB32 = 0 ;
const integer RGB24 = 1 ;
const integer A8 = 2 ;
const integer A1 = 3 ;
/* Methoden */
public static int strideForWidth ( int $format , int $width )
}

Vordefinierte Konstanten

CairoFormat::ARGB32

Each pixel is a 32-bit quantity, with alpha in the upper 8 bits, then red, then green, then blue. The 32-bit quantities are stored native-endian. Pre-multiplied alpha is used. (That is, 50% transparent red is 0x80800000, not 0x80ff0000.)

CairoFormat::RGB24

Each pixel is a 32-bit quantity, with the upper 8 bits unused. Red, Green, and Blue are stored in the remaining 24 bits in that order.

CairoFormat::A8

Each pixel is a 8-bit quantity holding an alpha value.

CairoFormat::A1

Each pixel is a 1-bit quantity holding an alpha value. Pixels are packed together into 32-bit quantities. The ordering of the bits matches the endianess of the platform. On a big-endian machine, the first pixel is in the uppermost bit, on a little-endian machine the first pixel is in the least-significant bit.

Inhaltsverzeichnis

  • CairoFormat::strideForWidth — Provides an appropiate stride to use
CairoExtend
CairoFormat::strideForWidth
Cairo


Provides an appropiate stride to use

CairoFormat
CairoFillRule
CairoFormat
PHP Manual

CairoFormat::strideForWidth

(PECL cairo >= 0.1.0)

CairoFormat::strideForWidth — Provides an appropiate stride to use

Beschreibung

public static int CairoFormat::strideForWidth ( int $format , int $width )

This method provides a stride value that will respect all alignment requirements of the accelerated image-rendering code within cairo.

Parameter-Liste

format

The desired CairoFormat to use

width

The width of the image

Rückgabewerte

The appropriate stride to use given the desired format and width, or -1 if either the format is invalid or the width too large.

Beispiele

Beispiel #1 CairoFormat::strideForWidth() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoFormat
CairoFillRule
CairoFormat


The CairoFillRule class

(No version information available, might only be in Git)

Einführung

A CairoFillRule is used to select how paths are filled. For both fill rules, whether or not a point is included in the fill is determined by taking a ray from that point to infinity and looking at intersections with the path. The ray can be in any direction, as long as it doesn't pass through the end point of a segment or have a tricky intersection such as intersecting tangent to the path. (Note that filling is not actually implemented in this way. This is just a description of the rule that is applied.)

The default fill rule is CairoFillRule::WINDING.

Klassenbeschreibung

CairoFillRule {
/* Konstanten */
const integer WINDING = 0 ;
const integer EVEN_ODD = 1 ;
}

Vordefinierte Konstanten

CairoFillRule::WINDING

If the path crosses the ray from left-to-right, counts +1. If the path crosses the ray from right to left, counts -1. (Left and right are determined from the perspective of looking along the ray from the starting point.) If the total count is non-zero, the point will be filled.

CairoFillRule::EVEN_ODD

Counts the total number of intersections, without regard to the orientation of the contour. If the total number of intersections is odd, the point will be filled.

CairoFormat::strideForWidth
CairoFilter
Cairo


The CairoFilter class

(No version information available, might only be in Git)

Einführung

A CairoFilter is used to indicate what filtering should be applied when reading pixel values from patterns. See CairoPattern::setSource() or cairo_pattern_set_source() for indicating the desired filter to be used with a particular pattern.

Klassenbeschreibung

CairoFilter {
/* Konstanten */
const integer FAST = 0 ;
const integer GOOD = 1 ;
const integer BEST = 2 ;
const integer NEAREST = 3 ;
const integer BILINEAR = 4 ;
const integer GAUSSIAN = 5 ;
}

Vordefinierte Konstanten

CairoFilter::FAST

A high-performance filter, with quality similar to CairoFilter::NEAREST

CairoFilter::GOOD

A reasonable-performance filter, with quality similar to CairoFilter::BILINEAR

CairoFilter::BEST

The highest-quality available, performance may not be suitable for interactive use.

CairoFilter::NEAREST

Nearest-neighbor filtering

CairoFilter::BILINEAR

Linear interpolation in two dimensions

CairoFilter::GAUSSIAN

This filter value is currently unimplemented, and should not be used in current code.

CairoFillRule
CairoHintMetrics
Cairo


The CairoHintMetrics class

(No version information available, might only be in Git)

Einführung

Specifies whether to hint font metrics; hinting font metrics means quantizing them so that they are integer values in device space. Doing this improves the consistency of letter and line spacing, however it also means that text will be laid out differently at different zoom factors.

Klassenbeschreibung

CairoHintMetrics {
/* Konstanten */
const integer METRICS_DEFAULT = 0 ;
const integer METRICS_OFF = 1 ;
const integer METRICS_ON = 2 ;
}

Vordefinierte Konstanten

CairoHintMetrics::METRICS_DEFAULT

Hint metrics in the default manner for the font backend and target device

CairoHintMetrics::METRICS_OFF

Do not hint font metrics

CairoHintMetrics::METRICS_ON

Hint font metrics

CairoFilter
CairoHintStyle
Cairo


The CairoHintStyle class

(No version information available, might only be in Git)

Einführung

Specifies the type of hinting to do on font outlines. Hinting is the process of fitting outlines to the pixel grid in order to improve the appearance of the result. Since hinting outlines involves distorting them, it also reduces the faithfulness to the original outline shapes. Not all of the outline hinting styles are supported by all font backends.

Klassenbeschreibung

CairoHintStyle {
/* Konstanten */
const integer STYLE_DEFAULT = 0 ;
const integer STYLE_NONE = 1 ;
const integer STYLE_SLIGHT = 2 ;
const integer STYLE_MEDIUM = 3 ;
const integer STYLE_FULL = 4 ;
}

Vordefinierte Konstanten

CairoHintStyle::STYLE_DEFAULT

Use the default hint style for font backend and target device

CairoHintStyle::STYLE_NONE

Do not hint outlines

CairoHintStyle::STYLE_SLIGHT

Hint outlines slightly to improve contrast while retaining good fidelity to the original shapes.

CairoHintStyle::STYLE_MEDIUM

Hint outlines with medium strength giving a compromise between fidelity to the original shapes and contrast

CairoHintStyle::STYLE_FULL

Hint outlines to maximize contrast

CairoHintMetrics
CairoLineCap
Cairo


The CairoLineCap class

(No version information available, might only be in Git)

Einführung

Specifies how to render the endpoints of the path when stroking.

The default line cap style is CairoLineCap::BUTT.

Klassenbeschreibung

CairoLineCap {
/* Konstanten */
const integer BUTT = 0 ;
const integer ROUND = 1 ;
const integer SQUARE = 2 ;
}

Vordefinierte Konstanten

CairoLineCap::BUTT

Start(stop) the line exactly at the start(end) point

CairoLineCap::ROUND

Use a round ending, the center of the circle is the end point

CairoLineCap::SQUARE

Use squared ending, the center of the square is the end point

CairoHintStyle
CairoLineJoin
Cairo


The CairoLineJoin class

(No version information available, might only be in Git)

Einführung

Klassenbeschreibung

CairoLineJoin {
/* Konstanten */
const integer MITER = 0 ;
const integer ROUND = 1 ;
const integer BEVEL = 2 ;
}

Vordefinierte Konstanten

CairoLineJoin::MITER

Description here...

CairoLineJoin::ROUND

Description here...

CairoLineJoin::BEVEL

Description here...

CairoLineCap
CairoMatrix
Cairo


The CairoMatrix class

(PECL cairo >= 0.1.0)

Einführung

Matrices are used throughout cairo to convert between different coordinate spaces.

Klassenbeschreibung

CairoMatrix {
/* Methoden */
public __construct ([ float $xx = 1.0 [, float $yx = 0.0 [, float $xy = 0.0 [, float $yy = 1.0 [, float $x0 = 0.0 [, float $y0 = 0.0 ]]]]]] )
public static void initIdentity ( void )
public static void initRotate ( float $radians )
public static void initScale ( float $sx , float $sy )
public static void initTranslate ( float $tx , float $ty )
public void invert ( void )
public static CairoMatrix multiply ( CairoMatrix $matrix1 , CairoMatrix $matrix2 )
public void rotate ( string $sx , string $sy )
public void scale ( float $sx , float $sy )
public array transformDistance ( string $dx , string $dy )
public array transformPoint ( string $dx , string $dy )
public void translate ( string $tx , string $ty )
}

Inhaltsverzeichnis

  • CairoMatrix::__construct — Creates a new CairoMatrix object
  • CairoMatrix::initIdentity — Creates a new identity matrix
  • CairoMatrix::initRotate — Creates a new rotated matrix
  • CairoMatrix::initScale — Creates a new scaling matrix
  • CairoMatrix::initTranslate — Creates a new translation matrix
  • CairoMatrix::invert — The invert purpose
  • CairoMatrix::multiply — The multiply purpose
  • CairoMatrix::rotate — The rotate purpose
  • CairoMatrix::scale — Applies scaling to a matrix
  • CairoMatrix::transformDistance — The transformDistance purpose
  • CairoMatrix::transformPoint — The transformPoint purpose
  • CairoMatrix::translate — The translate purpose
CairoLineJoin
CairoMatrix::__construct
Cairo


Creates a new CairoMatrix object

CairoMatrix
CairoMatrix::initIdentity
CairoMatrix
PHP Manual

CairoMatrix::__construct

cairo_matrix_init

(PECL cairo >= 0.1.0)

CairoMatrix::__construct -- cairo_matrix_init — Creates a new CairoMatrix object

Beschreibung

Objektorientierter Stil (method):

public CairoMatrix::__construct ([ float $xx = 1.0 [, float $yx = 0.0 [, float $xy = 0.0 [, float $yy = 1.0 [, float $x0 = 0.0 [, float $y0 = 0.0 ]]]]]] )

Prozeduraler Stil:

object cairo_matrix_init ([ float $xx = 1.0 [, float $yx = 0.0 [, float $xy = 0.0 [, float $yy = 1.0 [, float $x0 = 0.0 [, float $y0 = 0.0 ]]]]]] )

Returns new CairoMatrix object. Matrices are used throughout cairo to convert between different coordinate spaces. Sets matrix to be the affine transformation given by xx, yx, xy, yy, x0, y0. The transformation is given by: x_new = xx * x + xy * y + x0; and y_new = yx * x + yy * y + y0;

Parameter-Liste

xx

xx component of the affine transformation

yx

yx component of the affine transformation

xy

xy component of the affine transformation

yy

yy component of the affine transformation

x0

X translation component of the affine transformation

y0

Y translation component of the affine transformation

Rückgabewerte

Returns a new CairoMatrix object that can be used with surfaces, contexts, and patterns.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* Create a new Matrix */
$matrix = new CairoMatrix(1.0, 0.5, 0.0, 1.0, 0.0, 0.0);
?>

Beispiel #2 Prozeduraler Stil

<?php
/* Create a new Matrix */
$matrix = cairo_matrix_init(1.0, 0.5, 0.0, 1.0, 0.0, 0.0);
?>

Siehe auch

  • CairoMatrix::initIdentity() - Creates a new identity matrix
  • CairoMatrix::initRotate() - Creates a new rotated matrix
  • CairoMatrix::initScale() - Creates a new scaling matrix
  • CairoMatrix::initTranslate() - Creates a new translation matrix

CairoMatrix
CairoMatrix::initIdentity
CairoMatrix


Creates a new identity matrix

CairoMatrix::__construct
CairoMatrix::initRotate
CairoMatrix
PHP Manual

CairoMatrix::initIdentity

cairo_matrix_init_identity

(PECL cairo >= 0.1.0)

CairoMatrix::initIdentity -- cairo_matrix_init_identity — Creates a new identity matrix

Beschreibung

Objektorientierter Stil (method):

public static void CairoMatrix::initIdentity ( void )

Prozeduraler Stil:

object cairo_matrix_init_identity ( void )

Creates a new matrix that is an identity transformation. An identity transformation means the source data is copied into the destination data without change

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a new CairoMatrix object that can be used with surfaces, contexts, and patterns.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* Create a new Matrix */
$matrix = CairoMatrix::initIdentity();
?>

Beispiel #2 Prozeduraler Stil

<?php
/* Create a new Matrix */
$matrix = cairo_matrix_init_identity();
?>

Siehe auch

  • CairoMatrix::__construct() - Creates a new CairoMatrix object
  • CairoMatrix::initRotate() - Creates a new rotated matrix
  • CairoMatrix::initScale() - Creates a new scaling matrix
  • CairoMatrix::initTranslate() - Creates a new translation matrix

CairoMatrix::__construct
CairoMatrix::initRotate
CairoMatrix


Creates a new rotated matrix

CairoMatrix::initIdentity
CairoMatrix::initScale
CairoMatrix
PHP Manual

CairoMatrix::initRotate

cairo_matrix_init_rotate

(PECL cairo >= 0.1.0)

CairoMatrix::initRotate -- cairo_matrix_init_rotate — Creates a new rotated matrix

Beschreibung

Objektorientierter Stil (method):

public static void CairoMatrix::initRotate ( float $radians )

Prozeduraler Stil:

object cairo_matrix_init_rotate ( float $radians )

Creats a new matrix to a transformation that rotates by radians provided

Parameter-Liste

radians

angle of rotation, in radians. The direction of rotation is defined such that positive angles rotate in the direction from the positive X axis toward the positive Y axis. With the default axis orientation of cairo, positive angles rotate in a clockwise direction.

Rückgabewerte

Returns a new CairoMatrix object that can be used with surfaces, contexts, and patterns.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* Create a new Matrix */
$matrix = CairoMatrix::initRotate(0.3);
?>

Beispiel #2 Prozeduraler Stil

<?php
/* Create a new Matrix */
$matrix = cairo_matrix_init_rotate(0.3);
?>

Siehe auch

  • CairoMatrix::__construct() - Creates a new CairoMatrix object
  • CairoMatrix::initIdentity() - Creates a new identity matrix
  • CairoMatrix::initScale() - Creates a new scaling matrix
  • CairoMatrix::initTranslate() - Creates a new translation matrix

CairoMatrix::initIdentity
CairoMatrix::initScale
CairoMatrix


Creates a new scaling matrix

CairoMatrix::initRotate
CairoMatrix::initTranslate
CairoMatrix
PHP Manual

CairoMatrix::initScale

cairo_matrix_init_scale

cairo_matrix_create_scale

(PECL cairo >= 0.1.0)

CairoMatrix::initScale -- cairo_matrix_init_scale -- cairo_matrix_create_scale — Creates a new scaling matrix

Beschreibung

Objektorientierter Stil (method):

public static void CairoMatrix::initScale ( float $sx , float $sy )

Prozeduraler Stil:

object cairo_matrix_init_scale ( float $sx , float $sy )

Creates a new matrix to a transformation that scales by sx and sy in the X and Y dimensions, respectively.

Parameter-Liste

sx

scale factor in the X direction

sy

scale factor in the Y direction

Rückgabewerte

Returns a new CairoMatrix object that can be used with surfaces, contexts, and patterns.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* Create a new Matrix */
$matrix = CairoMatrix::initScale(1.0, 2.0);
?>

Beispiel #2 Prozeduraler Stil

<?php
/* Create a new Matrix */
$matrix = cairo_matrix_init_scale(1.0, 2.0);
?>

Siehe auch

  • CairoMatrix::__construct() - Creates a new CairoMatrix object
  • CairoMatrix::initIdentity() - Creates a new identity matrix
  • CairoMatrix::initRotate() - Creates a new rotated matrix
  • CairoMatrix::initTranslate() - Creates a new translation matrix

CairoMatrix::initRotate
CairoMatrix::initTranslate
CairoMatrix


Creates a new translation matrix

CairoMatrix::initScale
CairoMatrix::invert
CairoMatrix
PHP Manual

CairoMatrix::initTranslate

cairo_matrix_init_translate

(PECL cairo >= 0.1.0)

CairoMatrix::initTranslate -- cairo_matrix_init_translate — Creates a new translation matrix

Beschreibung

Objektorientierter Stil (method):

public static void CairoMatrix::initTranslate ( float $tx , float $ty )

Prozeduraler Stil:

object cairo_matrix_init_translate ( float $tx , float $ty )

Creates a new matrix to a transformation that translates by tx and ty in the X and Y dimensions, respectively.

Parameter-Liste

tx

amount to translate in the X direction

ty

amount to translate in the Y direction

Rückgabewerte

Returns a new CairoMatrix object that can be used with surfaces, contexts, and patterns.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* Create a new Matrix */
$matrix = CairoMatrix::initTranslate(1.0, 2.0);
?>

Beispiel #2 Prozeduraler Stil

<?php
/* Create a new Matrix */
$matrix = cairo_matrix_init_translate(1.0, 2.0);
?>

Siehe auch

  • CairoMatrix::__construct() - Creates a new CairoMatrix object
  • CairoMatrix::initIdentity() - Creates a new identity matrix
  • CairoMatrix::initRotate() - Creates a new rotated matrix
  • CairoMatrix::initScale() - Creates a new scaling matrix

CairoMatrix::initScale
CairoMatrix::invert
CairoMatrix


The invert purpose

CairoMatrix::initTranslate
CairoMatrix::multiply
CairoMatrix
PHP Manual

CairoMatrix::invert

(PECL cairo >= 0.1.0)

CairoMatrix::invert — The invert purpose

Beschreibung

public void CairoMatrix::invert ( void )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoMatrix::invert() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoMatrix::initTranslate
CairoMatrix::multiply
CairoMatrix


The multiply purpose

CairoMatrix::invert
CairoMatrix::rotate
CairoMatrix
PHP Manual

CairoMatrix::multiply

(PECL cairo >= 0.1.0)

CairoMatrix::multiply — The multiply purpose

Beschreibung

public static CairoMatrix CairoMatrix::multiply ( CairoMatrix $matrix1 , CairoMatrix $matrix2 )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

matrix1

Description...

matrix2

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoMatrix::multiply() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoMatrix::invert
CairoMatrix::rotate
CairoMatrix


The rotate purpose

CairoMatrix::multiply
CairoMatrix::scale
CairoMatrix
PHP Manual

CairoMatrix::rotate

cairo_rotate

(PECL cairo >= 0.1.0)

CairoMatrix::rotate -- cairo_rotate — The rotate purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoMatrix::rotate ( string $sx , string $sy )

Prozeduraler Stil:

void cairo_rotate ( CairoContext $context , string $angle )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

angle

Description...

sx

Description...

sy

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoMatrix::multiply
CairoMatrix::scale
CairoMatrix


Applies scaling to a matrix

CairoMatrix::rotate
CairoMatrix::transformDistance
CairoMatrix
PHP Manual

CairoMatrix::scale

cairo_matrix_scale

(PECL cairo >= 0.1.0)

CairoMatrix::scale -- cairo_matrix_scale — Applies scaling to a matrix

Beschreibung

Objektorientierter Stil (method):

public void CairoMatrix::scale ( float $sx , float $sy )

Prozeduraler Stil:

void cairo_matrix_scale ( CairoContext $context , float $sx , float $sy )

Applies scaling by sx, sy to the transformation in the matrix. The effect of the new transformation is to first scale the coordinates by sx and sy, then apply the original transformation to the coordinates.

Parameter-Liste

matrix

Procedural only - CairoMatrix instance

sx

scale factor in the X direction

sy

scale factor in the Y direction

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* Apply scaling to a matrix */
$matrix = new CairoMatrix(1.0, 0.5, 0.0, 1.0, 0.0, 0.0);
$matrix->scale(0.2, 2.0);
?>

Beispiel #2 Prozeduraler Stil

<?php
/* Apply scaling to a matrix */
$matrix = cairo_matrix_init(1.0, 0.5, 0.0, 1.0, 0.0, 0.0);
cairo_matrix_scale($matrix, 0.2, 2.0);
?>

Siehe auch

  • CairoMatrix::initScale() - Creates a new scaling matrix

CairoMatrix::rotate
CairoMatrix::transformDistance
CairoMatrix


The transformDistance purpose

CairoMatrix::scale
CairoMatrix::transformPoint
CairoMatrix
PHP Manual

CairoMatrix::transformDistance

(PECL cairo >= 0.1.0)

CairoMatrix::transformDistance — The transformDistance purpose

Beschreibung

public array CairoMatrix::transformDistance ( string $dx , string $dy )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

dx

Description...

dy

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoMatrix::transformDistance() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoMatrix::scale
CairoMatrix::transformPoint
CairoMatrix


The transformPoint purpose

CairoMatrix::transformDistance
CairoMatrix::translate
CairoMatrix
PHP Manual

CairoMatrix::transformPoint

(PECL cairo >= 0.1.0)

CairoMatrix::transformPoint — The transformPoint purpose

Beschreibung

public array CairoMatrix::transformPoint ( string $dx , string $dy )

The method description goes here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

dx

Description...

dy

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 CairoMatrix::transformPoint() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoMatrix::transformDistance
CairoMatrix::translate
CairoMatrix


The translate purpose

CairoMatrix::transformPoint
CairoOperator
CairoMatrix
PHP Manual

CairoMatrix::translate

cairo_translate

(PECL cairo >= 0.1.0)

CairoMatrix::translate -- cairo_translate — The translate purpose

Beschreibung

Objektorientierter Stil (method):

public void CairoMatrix::translate ( string $tx , string $ty )

Prozeduraler Stil:

void cairo_translate ( CairoContext $context , string $x , string $y )

Description here.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

context

Description...

x

Description...

y

Description...

tx

Description...

ty

Description...

Rückgabewerte

Description...

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Beispiel #2 Prozeduraler Stil

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

CairoMatrix::transformPoint
CairoOperator
CairoMatrix


The CairoOperator class

(No version information available, might only be in Git)

Einführung

This is used to set the compositing operator for all cairo drawing operations.

The default operator is CairoOperator::OVER

The operators marked as unbounded modify their destination even outside of the mask layer (that is, their effect is not bound by the mask layer). However, their effect can still be limited by way of clipping.

To keep things simple, the operator descriptions here document the behavior for when both source and destination are either fully transparent or fully opaque. The actual implementation works for translucent layers too. For a more detailed explanation of the effects of each operator, including the mathematical definitions, see http://cairographics.org/operators/.

Klassenbeschreibung

CairoOperator {
/* Konstanten */
const integer CLEAR = 0 ;
const integer SOURCE = 1 ;
const integer OVER = 2 ;
const integer IN = 3 ;
const integer OUT = 4 ;
const integer ATOP = 5 ;
const integer DEST = 6 ;
const integer DEST_OVER = 7 ;
const integer DEST_IN = 8 ;
const integer DEST_OUT = 9 ;
const integer DEST_ATOP = 10 ;
const integer XOR = 11 ;
const integer ADD = 12 ;
const integer SATURATE = 13 ;
}

Vordefinierte Konstanten

CairoOperator::CLEAR

Clear destination layer (bounded)

CairoOperator::SOURCE

Replace destination layer (bounded)

CairoOperator::OVER

Draw source layer on top of destination layer (bounded)

CairoOperator::IN

Draw source where there was destination content (unbounded)

CairoOperator::OUT

Draw source where there was no destination content (unbounded)

CairoOperator::ATOP

Draw source on top of destination content and only there

CairoOperator::DEST

Ignore the source

CairoOperator::DEST_OVER

Draw destination on top of source

CairoOperator::DEST_IN

Leave destination only where there was source content (unbounded)

CairoOperator::DEST_OUT

Leave destination only where there was no source content

CairoOperator::DEST_ATOP

Leave destination on top of source content and only there (unbounded)

CairoOperator::XOR

Source and destination are shown where there is only one of them

CairoOperator::ADD

Source and destination layers are accumulated

CairoOperator::SATURATE

Like CairoOperator::OVER, but assuming source and dest are disjoint geometries

CairoMatrix::translate
CairoPath
Cairo


The CairoPath class

(No version information available, might only be in Git)

Einführung

Note: CairoPath class cannot be instantiated directly, doing so will result in Fatal Error if used or passed

Klassenbeschreibung

CairoPath {
}
CairoOperator
CairoPsLevel
Cairo


The CairoPsLevel class

(No version information available, might only be in Git)

Einführung

Klassenbeschreibung

CairoPsLevel {
/* Konstanten */
const integer LEVEL_2 = 0 ;
const integer LEVEL_3 = 1 ;
}

Vordefinierte Konstanten

CairoPsLevel::LEVEL_2

Description here...

CairoPsLevel::LEVEL_3

Description here...

CairoPath
CairoSubpixelOrder
Cairo


The CairoSubpixelOrder class

(No version information available, might only be in Git)

Einführung

Klassenbeschreibung

CairoSubpixelOrder {
/* Konstanten */
const integer ORDER_DEFAULT = 0 ;
const integer ORDER_RGB = 1 ;
const integer ORDER_BGR = 2 ;
const integer ORDER_VRGB = 3 ;
const integer ORDER_VBGR = 4 ;
}

Vordefinierte Konstanten

CairoSubpixelOrder::ORDER_DEFAULT

Description here...

CairoSubpixelOrder::ORDER_RGB

Description here...

CairoSubpixelOrder::ORDER_BGR

Description here...

CairoSubpixelOrder::ORDER_VRGB

Description here...

CairoSubpixelOrder::ORDER_VBGR

Description here...

CairoPsLevel
CairoSvgVersion
Cairo


The CairoSvgVersion class

(No version information available, might only be in Git)

Einführung

Klassenbeschreibung

CairoSvgVersion {
/* Konstanten */
const integer VERSION_1_1 = 0 ;
const integer VERSION_1_2 = 1 ;
}

Vordefinierte Konstanten

CairoSvgVersion::VERSION_1_1

Description here...

CairoSvgVersion::VERSION_1_2

Description here...

CairoSubpixelOrder
Exif
Cairo


Exchangable Image Information (EXIF)

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Exif-Funktionen
    • exif_imagetype — Ermittelt den Bildtyp
    • exif_read_data — Liest die EXIF-Header von JPEG oder TIFF aus
    • exif_tagname — Gibt den Header-Namen für einen Index zurück
    • exif_thumbnail — Aufruf des eingebetteten Miniaturbildes eines TIFF- oder JPEG-Bildes
    • read_exif_data — Alias von exif_read_data
CairoSvgVersion
Einführung
Bildverarbeitung und -generierung


Einführung

Die Exif-Erweiterung ermöglicht es mit Metadaten von Bildern zu arbeiten. Z.B. kann man die Exif-Funktionen nutzen, um die Metadaten von Bildern auszulesen, die mit Digitalkameras gemacht wurden, indem man die Header der JPEG- und TIFF-Bilder ausliest.

Exif
Installation/Konfiguration
Exif


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Exif


Anforderungen

PHP muss mit --enable-exif kompiliert werden. PHP braucht keine weiteren Bibliotheken für das Exif-Modul. Windows-Nutzer müssen zusätzlich noch die mbstring-Erweiterung aktiviert haben.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Um PHP mit Exif-Unterstützung nutzen zu können, muss man PHP mit der Option --enable-exif kompilieren.

Windows-Nutzer müssen die DLLs php_mbstring.dll und php_exif.dll in der php.ini aktivieren. Die php_mbstring.dll muss vor der php_exif.dll geladen werden. Die php.ini muss entsprechend angepasst werden.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Exif unterstützt eine automatische Konvertierung von Unicode- und JIS-kodierten Zeichen von Nutzerkommentaren, wenn das Modul mbstring verfügbar ist. Dies wird gemacht, indem zuerst die spezifizierten Kommentare dekodiert werden. Das Ergebnis ist dann mit einem Zeichensatz kodiert, der mit der HTTP-Ausgabe übereinstimmen sollte.

Exif-Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
exif.encode_unicode | "ISO-8859-15" | PHP_INI_ALL | verfügbar seit PHP 4.3.0
exif.decode_unicode_motorola | "UCS-2BE" | PHP_INI_ALL | verfügbar seit PHP 4.3.0
exif.decode_unicode_intel | "UCS-2LE" | PHP_INI_ALL | verfügbar seit PHP 4.3.0
exif.encode_jis | "" | PHP_INI_ALL | verfügbar seit PHP 4.3.0
exif.decode_jis_motorola | "JIS" | PHP_INI_ALL | verfügbar seit PHP 4.3.0
exif.decode_jis_intel | "JIS" | PHP_INI_ALL | verfügbar seit PHP 4.3.0
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

exif.encode_unicode string

exif.encode_unicode definiert den Zeichensatz für UNICODE-Nutzerkommentare. Der Standardwert ist ISO-8859-15, welcher für die meisten nicht-asiatischen Länder funktionieren sollte. Der Wert darf leer sein oder muss eine Kodierung enthalten, die von mbstring unterstützt wird. Ist der Wert leer, wird die aktuelle, interne Kodierung von mbstring genutzt.

exif.decode_unicode_motorola string

exif.decode_unicode_motorola definiert den internen Zeichensatz des Bildes für Unicode-kodierte Nutzerkommentare, sollte das Bild in der Motorola-Bytefolge (big-endian) sein. Dieser Wert darf nicht leer sein, sondern kann mit einer Liste von Kodierungen gefüllt werden, die von mbstring unterstützt werden. Der Standard ist UCS-2BE.

exif.decode_unicode_intel string

exif.decode_unicode_intel definiert den internen Zeichensatz des Bildes für Unicode-kodierte Nutzerkommentare, sollte das Bild in der Intel-Bytefolge (little-endian) sein. Dieser Wert darf nicht leer sein, sondern kann mit einer Liste von Kodierungen gefüllt werden, die von mbstring unterstützt werden. Der Standard ist UCS-2LE.

exif.encode_jis string

exif.encode_jis definiert den Zeichensatz, mit dem JIS-Nutzerkommentare behandelt werden. Der Standard ist leer und zwingt die Funktionen daz,u die aktuelle, interne Kodierung von mbstring zu nutzen.

exif.decode_jis_motorola string

exif.decode_jis_motorola definiert den internen Zeichensatz des Bildes für JIS-kodierte Nutzerkommentare, sollte das Bild in der Motorola-Bytefolge (big-endian) sein. Dieser Wert darf nicht leer sein, sondern kann mit einer Liste von Kodierungen gefüllt werden, die von mbstring unterstützt werden. Der Standard ist JIS.

exif.decode_jis_intel string

exif.decode_jis_intel definiert den internen Zeichensatz des Bildes für JIS-kodierte Nutzerkommentare, sollte das Bild in der Intel-Bytefolge (little-endian) sein. Dieser Wert darf nicht leer sein, sondern kann mit einer Liste von Kodierungen gefüllt werden, die von mbstring unterstützt werden. Der Standard ist JIS.

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

EXIF_USE_MBSTRING (integer)

exif_imagetype() listet einige eingebaute Konstanten auf.

Ressource-Typen
Exif-Funktionen
Exif


Exif-Funktionen

Inhaltsverzeichnis

  • exif_imagetype — Ermittelt den Bildtyp
  • exif_read_data — Liest die EXIF-Header von JPEG oder TIFF aus
  • exif_tagname — Gibt den Header-Namen für einen Index zurück
  • exif_thumbnail — Aufruf des eingebetteten Miniaturbildes eines TIFF- oder JPEG-Bildes
  • read_exif_data — Alias von exif_read_data
Vordefinierte Konstanten
exif_imagetype
Exif


Ermittelt den Bildtyp

Exif-Funktionen
exif_read_data
Exif-Funktionen
PHP Manual

exif_imagetype

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

exif_imagetype — Ermittelt den Bildtyp

Beschreibung

int exif_imagetype ( string $filename )

exif_imagetype() liest die ersten bytes des Bildes aus und überprüft dessen Signatur.

exif_imagetype() kann benutzt werden, um Aufrufe anderer exif-Funktionen bei nicht unterstützten Dateitypen zu vermeiden. Es kann auch in Verbindung mit $_SERVER['HTTP_ACCEPT'] dazu verwendet werden, ob der Betrachter ein bestimmtes Bild in seinem Browser sehen kann oder nicht.

Parameter-Liste

filename
Das zu überprüfende Bild.

Rückgabewerte

Bei einer richtigen Signatur wird die entsprechende Konstante als Wert zurückgegeben, andernfalls FALSE. Der Rückgabewert ist derselbe, der auch von getimagesize() als Index 2 zurückgegeben wird, nur ist exif_imagetype() deutlich schneller.

Hinweis:

exif_imagetype() wirft einen Fehler vom Typ E_NOTICE und gibt FALSE zurück, wenn die Funktion nicht genügend Bytes aus der Datei lesen konnte, um den Bildtyp zu bestimment.

Changelog

Version | Beschreibung
5.3.0 | Unterstützung für ICO hinzugefügt.

Vordefinierte Konstanten

Die folgenden Konstanten sind definiert und repräsentieren die möglichen Rückgabewerte von exif_imagetype():

Konstanten für Bildtypen
Wert | Konstante
1 | IMAGETYPE_GIF
2 | IMAGETYPE_JPEG
3 | IMAGETYPE_PNG
4 | IMAGETYPE_SWF
5 | IMAGETYPE_PSD
6 | IMAGETYPE_BMP
7 | IMAGETYPE_TIFF_II (intel-Bytefolge)
8 | IMAGETYPE_TIFF_MM (motorola-Bytefolge)
9 | IMAGETYPE_JPC
10 | IMAGETYPE_JP2
11 | IMAGETYPE_JPX
12 | IMAGETYPE_JB2
13 | IMAGETYPE_SWC
14 | IMAGETYPE_IFF
15 | IMAGETYPE_WBMP
16 | IMAGETYPE_XBM
17 | IMAGETYPE_ICO

Beispiele

Beispiel #1 exif_imagetype()-Beispiel

<?php
if (exif_imagetype('image.gif') != IMAGETYPE_GIF) {
    echo 'Das Bild ist kein gif';
}
?>

Siehe auch

  • image_type_to_mime_type() - Get Mime-Type for image-type returned by getimagesize, exif_read_data, exif_thumbnail, exif_imagetype
  • getimagesize() - Ermittelt die Größe einer Grafik

Exif-Funktionen
exif_read_data
Exif-Funktionen


Liest die EXIF-Header von JPEG oder TIFF aus

exif_imagetype
exif_tagname
Exif-Funktionen
PHP Manual

exif_read_data

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

exif_read_data — Liest die EXIF-Header von JPEG oder TIFF aus

Beschreibung

array exif_read_data ( string $filename [, string $sections [, bool $arrays [, bool $thumbnail ]]] )

exif_read_data() liest die EXIF-Header aus einer JPEG- oder TIFF-Bilddatei aus. Auf diese Weise kann man die Metadaten auslesen, die mit Digitalkameras erzeugt wurden.

Exif-Header kommen normalerweise bei JPEG/TIFF-Bildern vor, die von Digitalkameras gemacht wurden. Leider hat jeder Kamerahersteller eine andere Vorstellung davon, wie man die Bilder beschreibt. Man kann sich also nicht darauf verlassen, das ein bestimmter Exif-Header vorhanden ist.

Height und Width werden genauso wie getimagesize() berechnet. Diese Werte dürfen also nicht Teil von irgendwelchen Headern sein, die zurückgegeben werden. Ferner ist html ein Höhen/Breiten-Textstring für den Gebrauch in normalem HTML.

Wenn ein Exif-Header einen Copyrightvermerk beinhaltet, kann dieser selbst aus zwei Werten bestehen. Da die Lösung im Exif-2.10 -Standard nicht konsistent ist, liefert der COMPUTED-Bereich die beiden Einträge Copyright.Photographer und Copyright.Editor, während der IFD0-Bereich aus einem Byte-Array besteht, der die beiden Werte duch ein NULL-Zeichen trennt. Wenn der Datentyp falsch ist, ist nur der erste Eintrag vorhanden (normales Verhalten von Exif). COMPUTED beinhaltet auch ein Copyright-Eintrag. Dieser entspricht entweder dem originalen Copyright-String oder er besteht aus einer kommaseparierten Liste von Foto- und Herausgeber-Copyright.

Der Tag UserComment besitzt das gleiche Problem, wie das Copyright-Tag. Er kann zwei Werte speichern. Als erstes die benutze Kodierung und als zweites den Wert selbst. Wenn dem so ist, enthält der IFD-Bereich die Kodierung oder ein Byte-Array. Der COMPUTED-Bereich speichert die beiden Einträge UserCommentEncoding und UserComment. Der Eintrag UserComment ist in beiden Fällen verfügbar. Er sollte also dem Eintrag im IFD0-Bereich vorgezogen werden.

exif_read_data() validiert auch EXIF-Datentags entsprechend der EXIF-Spezifikationen (» http://exif.org/Exif2-2.PDF, Seite 20).

Hinweis:

Windows ME/XP können beide beim Anschließen einer Kamera die Exif-Header verwerfen. Mehr Informationen dazu sind unter [toten Link] zu finden.

Parameter-Liste

filename

Der Name der zu lesenden Bilddatei. Dieser darf keine URL sein.

sections

Ist eine kommaseparierte List von Bereichen, die in der Datei vorhanden sein muss, um das Rückgabe-array zu erzeugen. Wenn keine der geforderten Bereiche gefunden werden kann, wird FALSE zurückgegeben.

FILE | FileName, FileSize, FileDateTime, SectionsFound
COMPUTED | html, Width, Height, IsColor und andere, wenn vorhanden. Height und Width werden genauso wie getimagesize() berechnet. Diese Werte dürfen also nicht Teil von irgendwelchen Headern sein, die zurückgegeben werden. Ferner ist html ein Höhen/Breiten-Textstring für den Gebrauch in normalem HTML.
ANY_TAG | Irgendwelche Informationen, die ein Tag besitzen, wie z.B. IFD0, EXIF, ...
IFD0 | Alle IFD0-Daten mit Tag. In normalen Bilddateien beinhalten diese Bildgröße usw.
THUMBNAIL | Eine Datei sollte ein Miniaturbild enthalten, wenn es einen zweiten IFD besitzt. Alle Informationen mit Tags über das eingebettete Miniaturbild werden in diesem Bereich gespeichert.
COMMENT | Kommentarheader des JPEG-Bildes.
EXIF | Der EXIF-Bereich ist ein Unterbereich von IFD0. Er enthält detailliertere Information über das Bild. Die meisten dieser Einträge beziehen sich auf die Digitalkamera.

arrays

Definiert ob jeder Bereich ein Array wird oder nicht. Die sections COMPUTED, THUMBNAIL und COMMENT werden immer zu Arrays, da die Namen der Werte mit denen anderer Bereiche kollidieren können.

thumbnail

Bei TRUE wird das Miniaturbild ausgelesen, ansonsten nur die Daten der Tags.

Rückgabewerte

Gibt ein assoziatives array zurück, bei dem der Arrayindex den Headernamen entspricht und der Arraywert die Werte enthält, die mit diesen Headern in Verbindung stehen. Wenn keine Daten zurückgeliefert werde können, liefert exif_read_data() FALSE.

Changelog

Version | Beschreibung
4.3.0 | Kann alle eingebetteten IFD-Daten inklusive Arrays (werden auch als solche zurückgegeben) lesen. Sowohl die Größe des eingebetteten Miniaturbildes wird im Unterbereich von THUMBNAIL zurückgegeben als auch Miniaturbilder im TIFF-Format. Es gibt auch keine Längenbeschränkung mehr für die Rückgabewerte (solange das Speicherlimit nicht erreicht wird).
4.3.0 | Wenn PHP mbstring unterstützt, können die Benutzerkommentare automatisch umkodiert werden. Benutzerkommentare in Unicode oder JIS werden automatisch in den entsprechenden exif-Initwert der php.ini umkodiert.
4.3.0 | Wenn das Bild irgendeinen IFD0-Wert hat, enthält der Bereich COMPUTED einen Eintrag ByteOrderMotorola, welcher auf 0 für little-endian (intel) und 1 für big-endian (motorola) Bytefolge gesetzt ist. Bei einem falschen Datentyp, enthalten COMPUTED und UserComment auch nicht mehr nur den ersten Copyrighteintrag.

Beispiele

Beispiel #1 exif_read_data()-Beispiel

<?php
echo "test1.jpg:<br />\n";
$exif = exif_read_data('tests/test1.jpg', 'IFD0');
echo $exif===false ? "Keine Headerdaten gefunden.<br />\n" : "Bild beinhaltet Header<br />\n";

$exif = exif_read_data('tests/test2.jpg', 0, true);
echo "test2.jpg:<br />\n";
foreach ($exif as $key => $section) {
    foreach ($section as $name => $val) {
        echo "$key.$name: $val<br />\n";
    }
}
?>

Der erste Aufruf schlägt fehl, da das Bild keine Headerinformationen hat.

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

test1.jpg:
Keine Headerdaten gefunden.
test2.jpg:
FILE.FileName: test2.jpg
FILE.FileDateTime: 1017666176
FILE.FileSize: 1240
FILE.FileType: 2
FILE.SectionsFound: ANY_TAG, IFD0, THUMBNAIL, COMMENT
COMPUTED.html: width="1" height="1"
COMPUTED.Height: 1
COMPUTED.Width: 1
COMPUTED.IsColor: 1
COMPUTED.ByteOrderMotorola: 1
COMPUTED.UserComment: Exif test image.
COMPUTED.UserCommentEncoding: ASCII
COMPUTED.Copyright: Photo (c) M.Boerger, Edited by M.Boerger.
COMPUTED.Copyright.Photographer: Photo (c) M.Boerger
COMPUTED.Copyright.Editor: Edited by M.Boerger.
IFD0.Copyright: Photo (c) M.Boerger
IFD0.UserComment: ASCII
THUMBNAIL.JPEGInterchangeFormat: 134
THUMBNAIL.JPEGInterchangeFormatLength: 523
COMMENT.0: Comment #1.
COMMENT.1: Comment #2.
COMMENT.2: Comment #3end
THUMBNAIL.JPEGInterchangeFormat: 134
THUMBNAIL.Thumbnail.Height: 1
THUMBNAIL.Thumbnail.Height: 1

Siehe auch

  • exif_thumbnail() - Aufruf des eingebetteten Miniaturbildes eines TIFF- oder JPEG-Bildes
  • getimagesize() - Ermittelt die Größe einer Grafik

exif_imagetype
exif_tagname
Exif-Funktionen


Gibt den Header-Namen für einen Index zurück

exif_read_data
exif_thumbnail
Exif-Funktionen
PHP Manual

exif_tagname

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

exif_tagname — Gibt den Header-Namen für einen Index zurück

Beschreibung

string exif_tagname ( string $index )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

index

Der Bildindex

Rückgabewerte

Gibt den Header-Namen oder FALSE zurück, wenn der index nicht definiert ist.

Siehe auch

  • exif_imagetype() - Ermittelt den Bildtyp

exif_read_data
exif_thumbnail
Exif-Funktionen


Aufruf des eingebetteten Miniaturbildes eines TIFF- oder JPEG-Bildes

exif_tagname
read_exif_data
Exif-Funktionen
PHP Manual

exif_thumbnail

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

exif_thumbnail — Aufruf des eingebetteten Miniaturbildes eines TIFF- oder JPEG-Bildes

Beschreibung

string exif_thumbnail ( string $filename [, int &$width [, int &$height [, int &$imagetype ]]] )

exif_thumbnail() liest das eingebettete Miniaturbild aus einem TIFF- oder JPEG-Bild.

Wenn man das Miniaturbild mit dieser Funktion ausliefern möchte, sollte man den Mimetype mit Hilfe der Funktion header() mitschicken.

Es kann passieren, das exif_thumbnail() das Bild nicht erzeugen, aber dessen Größe bestimmen kann. In diesem Fall, ist der Rückgabewert FALSE, obwohl width und height gesetzt sind.

Parameter-Liste

filename

Der Name der einzulesenden Bilddatei. Dieses Bild beinhaltet ein eingebettetes Miniaturbild.

width

Die Breite des gelieferten Miniaturbildes als Rückgabewert.

height

Die Höhe des gelieferten Miniaturbildes als Rückgabewert.

imagetype

Der Bildtyp des gelieferten Miniaturbildes als Rückgabewert. Dieser ist entweder TIFF oder JPEG.

Rückgabewerte

Liefert das eingebettete Miniaturbild oder FALSE, wenn das Bild kein Miniaturbild enthält.

Beispiele

Beispiel #1 exif_thumbnail() Beispiel

<?php
if (array_key_exists('file', $_REQUEST)) {
    $image = exif_thumbnail($_REQUEST['file'], $width, $height, $type);
} else {
    $image = false;
}
if ($image!==false) {
    header('Content-type: ' .image_type_to_mime_type($type));
    echo $image;
    exit;
} else {
    // kein Miniaturbild vorhanden. Fehler wird hier verarbeitet
    echo 'Kein Miniaturbild verfügbar';
}
?>

Siehe auch

  • exif_read_data() - Liest die EXIF-Header von JPEG oder TIFF aus
  • image_type_to_mime_type() - Get Mime-Type for image-type returned by getimagesize, exif_read_data, exif_thumbnail, exif_imagetype

exif_tagname
read_exif_data
Exif-Funktionen


Alias von exif_read_data

exif_thumbnail
GD
Exif-Funktionen
PHP Manual

read_exif_data

(PHP 4 >= 4.0.1, PHP 5, PHP 7)

read_exif_data — Alias von exif_read_data()

Beschreibung

Diese Funktion ist ein Alias für: exif_read_data().

exif_thumbnail
GD
Exif-Funktionen


Bildbearbeitung und GD

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • PNG erzeugen mit PHP
    • Wasserzeichen mit Hilfe von Alpha-Kanälen zufügen
    • Erstellen eines transparenten Wasserzeichens mit imagecopymerge
  • GD- und Image-Funktionen
    • gd_info — Ruft Informationen über die aktuell verwendete GD-Bibliothek ab
    • getimagesize — Ermittelt die Größe einer Grafik
    • getimagesizefromstring — Ermittelt die Größe einer Grafik von einem String
    • image_type_to_extension — Get file extension for image type
    • image_type_to_mime_type — Get Mime-Type for image-type returned by getimagesize, exif_read_data, exif_thumbnail, exif_imagetype
    • image2wbmp — Gibt das Bild im Browser oder einer Datei aus.
    • imageaffine — Return an image containing the affine transformed src image, using an optional clipping area
    • imageaffinematrixconcat — Concatenate two affine transformation matrices
    • imageaffinematrixget — Get an affine transformation matrix
    • imagealphablending — Set the blending mode for an image
    • imageantialias — Should antialias functions be used or not
    • imagearc — Zeichnet einen Bogen
    • imagebmp — Output a BMP image to browser or file
    • imagechar — Stellt ein Zeichen horizontal dar
    • imagecharup — Zeichnet einen vertikal ausgerichteten Charakter
    • imagecolorallocate — Bestimmt die Farbe einer Grafik
    • imagecolorallocatealpha — Allocate a color for an image
    • imagecolorat — Ermittelt den Farbwert eines Bildpunktes
    • imagecolorclosest — Ermittelt den Farbwert-Index, der den angegebenen Farben am nächsten liegt
    • imagecolorclosestalpha — Get the index of the closest color to the specified color + alpha
    • imagecolorclosesthwb — Get the index of the color which has the hue, white and blackness
    • imagecolordeallocate — Löscht eine Farbdefinition
    • imagecolorexact — Ermittelt den Index-Wert der angegebenen Farbe
    • imagecolorexactalpha — Get the index of the specified color + alpha
    • imagecolormatch — Makes the colors of the palette version of an image more closely match the true color version
    • imagecolorresolve — Ermittelt den Index-Wert der angegebenen Farbe oder die nächst mögliche Alternative dazu
    • imagecolorresolvealpha — Get the index of the specified color + alpha or its closest possible alternative
    • imagecolorset — Setzt die Farbe für den angegebenen Paletten-Index
    • imagecolorsforindex — Ermittelt die Farbwerte einer angegebenen Farb-Palette
    • imagecolorstotal — Ermittelt die Anzahl der definierten Farben eines Bildes
    • imagecolortransparent — Definiert eine Farbe als transparent
    • imageconvolution — Apply a 3x3 convolution matrix, using coefficient and offset
    • imagecopy — Kopiert einen Bildausschnitt
    • imagecopymerge — Copy and merge part of an image
    • imagecopymergegray — Copy and merge part of an image with gray scale
    • imagecopyresampled — Copy and resize part of an image with resampling
    • imagecopyresized — Kopieren und Ändern der Größe eines Bild-Teiles
    • imagecreate — Erzeugt ein neues Bild
    • imagecreatefrombmp — Erzeugt ein neues Bild aus einer Datei oder URL
    • imagecreatefromgd2 — Create a new image from GD2 file or URL
    • imagecreatefromgd2part — Create a new image from a given part of GD2 file or URL
    • imagecreatefromgd — Create a new image from GD file or URL
    • imagecreatefromgif — Erzeugt ein neues Bild aus einer Datei oder URL
    • imagecreatefromjpeg — Erzeugt ein neues Bild im JPEG-Format, welches aus einer Datei oder von einer URL gelesen wird
    • imagecreatefrompng — Erzeugt ein neues Bild im PNG-Format, welches aus einer Datei oder von einer URL gelesen wird
    • imagecreatefromstring — Create a new image from the image stream in the string
    • imagecreatefromwbmp — Erzeugt ein neues Bild aus einer Datei oder URL
    • imagecreatefromwebp — Erzeugt ein neues Bild aus einer Datei oder URL
    • imagecreatefromxbm — Erzeugt ein neues Bild aus einer Datei oder URL
    • imagecreatefromxpm — Erzeugt ein neues Bild aus einer Datei oder URL
    • imagecreatetruecolor — Create a new true color image
    • imagecrop — Crop an image to the given rectangle
    • imagecropauto — Crop an image automatically using one of the available modes
    • imagedashedline — Zeichnen einer gestrichelten Linie
    • imagedestroy — Löscht ein Bild
    • imageellipse — Draw an ellipse
    • imagefill — Füllen mit Farbe ("flood fill")
    • imagefilledarc — Draw a partial arc and fill it
    • imagefilledellipse — Draw a filled ellipse
    • imagefilledpolygon — Zeichnet ein gefülltes Vieleck (Polygon)
    • imagefilledrectangle — Zeichnet ein gefülltes Rechteck
    • imagefilltoborder — Flächen-Farbfüllung ("flood fill") mit einer angegebenen Farbe
    • imagefilter — Applies a filter to an image
    • imageflip — Flips an image using a given mode
    • imagefontheight — Ermittelt die Font-Höhe
    • imagefontwidth — Ermittelt die Font-Breite
    • imageftbbox — Give the bounding box of a text using fonts via freetype2
    • imagefttext — Write text to the image using fonts using FreeType 2
    • imagegammacorrect — Anwendung einer Gamma-Korrektur auf ein GD-Bild
    • imagegd2 — Output GD2 image to browser or file
    • imagegd — Output GD image to browser or file
    • imagegetclip — Get the clipping rectangle
    • imagegif — Gibt das Bild im Browser oder einer Datei aus.
    • imagegrabscreen — Captures the whole screen
    • imagegrabwindow — Captures a window
    • imageinterlace — Schaltet die Interlaced-Darstellung eines Bildes an oder aus
    • imageistruecolor — Finds whether an image is a truecolor image
    • imagejpeg — Gibt das Bild im Browser oder einer Datei aus.
    • imagelayereffect — Set the alpha blending flag to use layering effects
    • imageline — Zeichnen einer Linie
    • imageloadfont — Lädt einen neuen Font
    • imageopenpolygon — Draws an open polygon
    • imagepalettecopy — Copy the palette from one image to another
    • imagepalettetotruecolor — Converts a palette based image to true color
    • imagepng — Ausgabe eines Bildes im Browser oder als Datei im PNG-Format
    • imagepolygon — Zeichnen eines Vielecks (Polygon)
    • imagepsbbox — Ermittelt die Ausmaße des Rechtecks, das für die Ausgabe eines Textes unter Verwendung eines PostScript-Fonts (Typ 1) notwendig ist.
    • imagepsencodefont — Ändert die Vektor-Beschreibung eines Fonts
    • imagepsextendfont — Vergrößert oder komprimiert einen Font
    • imagepsfreefont — Gibt den durch einen Typ 1 PostScript-Font belegten Speicher wieder frei
    • imagepsloadfont — Lädt einen Typ 1 PostScript-Font aus einer Datei
    • imagepsslantfont — Setzt einen Font schräg
    • imagepstext — Ausgabe eines Textes auf einem Bild unter Verwendung von Typ 1 PostScript-Fonts
    • imagerectangle — Zeichnet ein Rechteck
    • imageresolution — Get or set the resolution of the image
    • imagerotate — Rotate an image with a given angle
    • imagesavealpha — Set the flag to save full alpha channel information (as opposed to single-color transparency) when saving PNG images
    • imagescale — Scale an image using the given new width and height
    • imagesetbrush — Set the brush image for line drawing
    • imagesetclip — Set the clipping rectangle
    • imagesetinterpolation — Set the interpolation method
    • imagesetpixel — Setzt ein einzelnes Pixel
    • imagesetstyle — Set the style for line drawing
    • imagesetthickness — Set the thickness for line drawing
    • imagesettile — Set the tile image for filling
    • imagestring — Zeichnet einen horizontalen String
    • imagestringup — Zeichnet einen vertikalen String
    • imagesx — Ermittelt die Bild-Breite
    • imagesy — Ermittelt die Bild-Höhe
    • imagetruecolortopalette — Convert a true color image to a palette image
    • imagettfbbox — Ermittelt die Rahmenmaße für die Ausgabe eines Textes im True-Type-Format
    • imagettftext — Erzeugt TTF-Text im Bild
    • imagetypes — Gibt die von der aktuell verwendeten PHP-Version unterstützten Grafik-Formate zurück
    • imagewbmp — Gibt das Bild im Browser oder einer Datei aus.
    • imagewebp — Output a WebP image to browser or file
    • imagexbm — Output an XBM image to browser or file
    • iptcembed — Embeds binary IPTC data into a JPEG image
    • iptcparse — Parse a binary IPTC block into single tags.
    • jpeg2wbmp — Konvertiert eine JPEG-Bilddatei in eine WBMP-Bilddatei
    • png2wbmp — Convert PNG image file to WBMP image file
read_exif_data
Einführung
Bildverarbeitung und -generierung


Einführung

Mit PHP können Sie nicht nur HTML ausgeben, sondern auch Grafiken in vielen Formaten - wie GIF, PNG, JPEG, WBMP und xpm - erzeugen und/oder manipulieren. Noch besser, Sie können Grafiken mit PHP direkt als Datenstrom ausgeben. Damit das funktioniert, müssen Sie PHP mit der GD-Bibliothek zur Grafikbearbeitung kompilieren. GD und PHP benötigen, je nachdem mit welchen Grafikformaten Sie arbeiten wollen, zusätzliche Bibliotheken.

Sie können die Grafikfunktionen in PHP auch verwenden, um die Größe von JPEG, GIF, PNG, SWF, TIFF und JPEG2000 Grafiken zu bestimmen.

Mittels der exif-Erweiterung können sie die in den Headern von JPEG- und TIFF-Grafiken enthaltenen Informationen verarbeiten. Auf diese Weise können von Digitalkameras erstellte Metadaten verarbeitet werden. Die Exif-Funktionen benötigen nicht die GD-Bibliothek.

Hinweis: Im Abschnitt über die Anforderungen können Sie nachlesen, wie Sie die Möglichkeiten zur Grafikbearbeitung erweitern können: lesen, schreiben und manipulieren von Grafiken, und auslesen von Metadaten bei Bildern die mit einer Digitalkamera aufgenommen wurden. Für letzteres wird die bereits erwähnte exif-Erweiterung benötigt.

Hinweis: Für die Funktion getimagesize() wird die GD-Bibliothek nicht benötigt.

GD unterstützt eine Reihe von Formaten, folgend eine Liste aller von GD unterstützten Formaten und Hinweise zu Verfügbarkeit und lese/schreib Unterstützung.

Von GD unterstützte Formate
Format | Lesen | Schreiben | Anmerkungen
JPEG | TRUE | TRUE |
PNG | TRUE | TRUE |
GIF | TRUE | TRUE | Ab GD 2.0.28 und PHP 5.0.1 verfügbar
XBM | TRUE | TRUE |
XPM | TRUE | FALSE | Lesen verfügbar unter Windows ab PHP 5.3.19.
WBMP | TRUE | TRUE |
WebP | TRUE | TRUE | PHP 5.5+

Während die meisten Formate sowohl zum lesen als auch schreiben verfügbar sind, bedeutet dies nicht, dass die Unterstützung in PHP einkompiliert ist. Welche Formate dies sind, und wie PHP mit Unterstützung für diese kompiliert werden kann zeigt die Funktion gd_info(). Weitere Informationen zu diesem Thema auch im Installations-Kapitel.

GD
Installation/Konfiguration
GD


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
GD


Anforderungen

Mit der GD-Bibliothek (verfügbar unter » http://www.libgd.org/) können Sie auch Grafiken erzeugen und manipulieren.

Die mittels dieser Funktionen veränderbaren Grafik-Formate hängen davon ab, welche Version von GD Sie installieren und welche zusätzlichen Bibliotheken GD benötigt, um mit diesen Formaten umgehen zu können. GIF wird ab gd-2.0.28 unterstützt.

Hinweis: Ab PHP 5.0 wird libgd-2.0.4 oder höher benötigt. Ab PHP 5.5 wird libgd-2.1.0 oder höher benötigt. Alternativ kann die gebündelte GD-Bibliothek, die mit PHP ab 4.3 ausgeliefert wird, verwendet werden.

Sie können GD erweitern, um mehr Grafikformate zu verwenden.

Unterstützte Grafikformate
Grafikformat | Download der benötigten Bibliothek | Anmerkungen
gif |  | Wird nur von GD-Versionen neuer als gd-2.0.28 unterstützt. Schreiben von GIF wird ab PHP 5.0.1 unterstützt.
jpeg | » http://www.ijg.org/ | Wenn Sie die jpeg-Bibliothek übersetzen (vor dem Übersetzen von PHP), müssen Sie die Option --enable-shared im configure-Schritt benutzen. Wenn Sie dies nicht tun, werden Sie den Fehler libjpeg.(a|so) not found beim configure-Schritt der PHP-Übersetzung erhalten.
png | » http://www.libpng.org/pub/png/libpng.html | Nur von GD-Versionen neuer als gd-1.6 unterstützt.
xpm | » ftp://metalab.unc.edu/pub/Linux/libs/X/!INDEX.html |

Sie können GD erweitern, um unterschiedliche Schriften zu verwenden. Die folgenden Schriftbibliotheken werden unterstützt.

Unterstützte Schriftbibliotheken
Schriftbibliothek | Download | Anmerkungen
FreeType 1.x | » http://www.freetype.org/ | Die Unterstützung von FreeType 1.x wurde ab PHP 5.3.0 entfernt.
FreeType 2 | » http://www.freetype.org/ |
T1lib | » ftp://sunsite.unc.edu/pub/Linux/libs/graphics/) | Unterstützung für Type 1-Schriften. (Entfernt ab PHP 7.0.0).

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

To enable GD-support configure PHP --with-gd[=DIR] , where DIR is the GD base install directory. To use the recommended bundled version of the GD library, use the configure option --with-gd . GD library requires libpng and libjpeg to compile.

In Windows, you'll include the GD2 DLL php_gd2.dll as an extension in php.ini.

Enhance the capabilities of GD to handle more image formats by specifying the --with-XXXX configure switch to your PHP configure line.

Supported image formats
Image Format | Configure Switch
jpeg | To enable support for jpeg add --with-jpeg-dir=DIR . Jpeg 6b, 7 or 8 are supported.
png | To enable support for png add --with-png-dir=DIR . Note, libpng requires the zlib library, therefore add --with-zlib-dir[=DIR] to your configure line.
xpm | To enable support for xpm add --with-xpm-dir=DIR . If configure is not able to find the required libraries, you may add the path to your X11 libraries.
webp | To enable support for webp add --with-vpx-dir=DIR . Available as of PHP 5.5. As of PHP 7.0.0 --with-webp-dir=DIR has to be added, i.e. support for libvpx has been removed in favor of libwebp.

Hinweis: When compiling PHP with libpng, you must use the same version that was linked with the GD library.

Enhance the capabilities of GD to deal with different fonts by specifying the --with-XXXX configure switch to your PHP configure line.

Supported font libraries
Font library | Configure Switch
FreeType 2 | To enable support for FreeType 2 add --with-freetype-dir=DIR .
T1lib | To enable support for T1lib (Postscript Type 1 fonts) add --with-t1lib[=DIR] (Removed as of PHP 7.0.0).
Native TrueType string function | To enable support for native TrueType string function add --enable-gd-native-ttf . (Effectless as of PHP 5.5.0; removed as of PHP 7.2.0.)

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Image Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
gd.jpeg_ignore_warning | "1" | PHP_INI_ALL | Available since PHP 5.1.3.
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

gd.jpeg_ignore_warning bool

Ignore warnings created by jpeg2wbmp() and imagecreatefromjpeg()

Changelog for gd.jpeg_ignore_warning
Version | Beschreibung
7.1.0 | The default of gd.jpeg_ignore_warning has been changed from 0 to 1.

See also the exif configuration directives.

Warnung

Image functions are very memory intensive. Be sure to set memory_limit high enough.

Installation
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

Diese Extension definiert die folgenden Ressoure-Typen:

Liste von Ressource-Typen in GD
Name | Beschreibung | Bemerkungen
gd | Bild-Ressource, verwendet von Funktionen wie imagecreatefrompng() |
gd font | Schriftarten-Ressource wie von imageloadfont() zurückgegeben |
gd PS font | PostScript Type 1 Schriftarten-Ressource wie von imagepsloadfont() zurückgegeben | Entfernt ab PHP 7.0.0.
gd PS encoding | PostScript Type 1 Kodierungs-Ressource wie von imagepsencodefont() zurückgegeben | Entfernt ab PHP 7.0.0.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

GD_VERSION (string)
The GD version PHP was compiled against. (Available as of PHP 5.2.4)
GD_MAJOR_VERSION (integer)
The GD major version PHP was compiled against. (Available as of PHP 5.2.4)
GD_MINOR_VERSION (integer)
The GD minor version PHP was compiled against. (Available as of PHP 5.2.4)
GD_RELEASE_VERSION (integer)
The GD release version PHP was compiled against. (Available as of PHP 5.2.4)
GD_EXTRA_VERSION (string)
The GD "extra" version (beta/rc..) PHP was compiled against. (Available as of PHP 5.2.4)
GD_BUNDLED (integer)
When the bundled version of GD is used this is 1 otherwise its set to 0.
IMG_BMP (integer)
Used as a return value by imagetypes()
IMG_GIF (integer)
Used as a return value by imagetypes()
IMG_JPG (integer)
Used as a return value by imagetypes()
IMG_JPEG (integer)
Used as a return value by imagetypes()

Hinweis:

This constant has the same value as IMG_JPG

IMG_PNG (integer)
Used as a return value by imagetypes()
IMG_WBMP (integer)
Used as a return value by imagetypes()
IMG_XPM (integer)
Used as a return value by imagetypes()
IMG_WEBP (integer)
Used as a return value by imagetypes() Available as of PHP 5.6.25 and PHP 7.0.10, respectively.
IMG_COLOR_TILED (integer)
Special color option which can be used instead of a color allocated with imagecolorallocate() or imagecolorallocatealpha().
IMG_COLOR_STYLED (integer)
Special color option which can be used instead of a color allocated with imagecolorallocate() or imagecolorallocatealpha().
IMG_COLOR_BRUSHED (integer)
Special color option which can be used instead of a color allocated with imagecolorallocate() or imagecolorallocatealpha().
IMG_COLOR_STYLEDBRUSHED (integer)
Special color option which can be used instead of a color allocated with imagecolorallocate() or imagecolorallocatealpha().
IMG_COLOR_TRANSPARENT (integer)
Special color option which can be used instead of a color allocated with imagecolorallocate() or imagecolorallocatealpha().
IMG_AFFINE_TRANSLATE (integer)
An affine transformation type constant used by the imageaffinematrixget() function.
IMG_AFFINE_SCALE (integer)
An affine transformation type constant used by the imageaffinematrixget() function.
IMG_AFFINE_ROTATE (integer)
An affine transformation type constant used by the imageaffinematrixget() function.
IMG_AFFINE_SHEAR_HORIZONTAL (integer)
An affine transformation type constant used by the imageaffinematrixget() function.
IMG_AFFINE_SHEAR_VERTICAL (integer)
An affine transformation type constant used by the imageaffinematrixget() function.
IMG_ARC_ROUNDED (integer)
A style constant used by the imagefilledarc() function.

Hinweis:

This constant has the same value as IMG_ARC_PIE

IMG_ARC_PIE (integer)
A style constant used by the imagefilledarc() function.
IMG_ARC_CHORD (integer)
A style constant used by the imagefilledarc() function.
IMG_ARC_NOFILL (integer)
A style constant used by the imagefilledarc() function.
IMG_ARC_EDGED (integer)
A style constant used by the imagefilledarc() function.
IMG_GD2_RAW (integer)
A type constant used by the imagegd2() function.
IMG_GD2_COMPRESSED (integer)
A type constant used by the imagegd2() function.
IMG_EFFECT_REPLACE (integer)
Alpha blending effect used by the imagelayereffect() function.
IMG_EFFECT_ALPHABLEND (integer)
Alpha blending effect used by the imagelayereffect() function.
IMG_EFFECT_NORMAL (integer)
Alpha blending effect used by the imagelayereffect() function.
IMG_EFFECT_OVERLAY (integer)
Alpha blending effect used by the imagelayereffect() function.
IMG_EFFECT_MULTIPLY (integer)
Alpha blending effect used by the imagelayereffect() function.
IMG_FILTER_NEGATE (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_GRAYSCALE (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_BRIGHTNESS (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_CONTRAST (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_COLORIZE (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_EDGEDETECT (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_GAUSSIAN_BLUR (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_SELECTIVE_BLUR (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_EMBOSS (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_MEAN_REMOVAL (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_SMOOTH (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_PIXELATE (integer)
Special GD filter used by the imagefilter() function. (Available as of PHP 5.3.0)
IMAGETYPE_GIF (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_JPEG (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_JPEG2000 (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_PNG (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_SWF (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_PSD (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_BMP (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_WBMP (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_XBM (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_TIFF_II (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_TIFF_MM (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_IFF (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_JB2 (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_JPC (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_JP2 (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_JPX (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_SWC (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_ICO (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions. (Available as of PHP 5.3.0)
IMAGETYPE_WEBP (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions. (Available as of PHP 7.1.0)
PNG_NO_FILTER (integer)
A special PNG filter, used by the imagepng() function.
PNG_FILTER_NONE (integer)
A special PNG filter, used by the imagepng() function.
PNG_FILTER_SUB (integer)
A special PNG filter, used by the imagepng() function.
PNG_FILTER_UP (integer)
A special PNG filter, used by the imagepng() function.
PNG_FILTER_AVG (integer)
A special PNG filter, used by the imagepng() function.
PNG_FILTER_PAETH (integer)
A special PNG filter, used by the imagepng() function.
PNG_ALL_FILTERS (integer)
A special PNG filter, used by the imagepng() function.
IMG_FLIP_VERTICAL (int)
Used together with imageflip(), available as of PHP 5.5.0.
IMG_FLIP_HORIZONTAL (int)
Used together with imageflip(), available as of PHP 5.5.0.
IMG_FLIP_BOTH (int)
Used together with imageflip(), available as of PHP 5.5.0.
IMG_BELL (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_BESSEL (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_BILINEAR_FIXED (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_BICUBIC (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_BICUBIC_FIXED (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_BLACKMAN (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_BOX (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_BSPLINE (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_CATMULLROM (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_GAUSSIAN (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_GENERALIZED_CUBIC (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_HERMITE (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_HAMMING (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_HANNING (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_MITCHELL (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_POWER (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_QUADRATIC (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_SINC (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_NEAREST_NEIGHBOUR (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_WEIGHTED4 (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
IMG_TRIANGLE (int)
Used together with imagesetinterpolation(), available as of PHP 5.5.0.
Ressource-Typen
Beispiele
GD


Beispiele

Inhaltsverzeichnis

  • PNG erzeugen mit PHP
  • Wasserzeichen mit Hilfe von Alpha-Kanälen zufügen
  • Erstellen eines transparenten Wasserzeichens mit imagecopymerge
Vordefinierte Konstanten
PNG erzeugen mit PHP
GD


PNG erzeugen mit PHP

Beispiel #1 PNG erzeugen mit PHP

<?php

header("Content-type: image/png");
$string = $_GET['text'];
$im     = imagecreatefrompng("images/button1.png");
$orange = imagecolorallocate($im, 220, 210, 60);
$px     = (imagesx($im) - 7.5 * strlen($string)) / 2;
imagestring($im, 3, $px, 9, $string, $orange);
imagepng($im);
imagedestroy($im);

?>
Dieses Beispiel würde von einer Seite über einen Link wie <img src="button.php?text=text"> aufgerufen. Das oben aufgezeigte Beispielskript button.php nimmt den Text "text" entgegen und legt diesen über ein vorhandenes Bild, in diesem Fall "images/button1.png" und gibt die resultierende Grafik aus. Diese Vorgehensweise ist sehr zweckmäßig, wenn Sie vermeiden wollen, dass Sie immer wieder neue Button-Grafiken erstellen müssen, falls Sie die Beschriftung eines Buttons ändern wollen. Mit der vorgestellten Methode werden Ihre Buttons, samt Beschriftung, dynamisch generiert.

Beispiele
Wasserzeichen mit Hilfe von Alpha-Kanälen zufügen
Beispiele


Wasserzeichen mit Hilfe von Alpha-Kanälen zufügen

Beispiel #1 Wasserzeichen mit Hilfe von Alpha-Kanälen zufügen

<?php
// Wasserzeichen und Foto laden
$stamp = imagecreatefrompng('stamp.png');
$im = imagecreatefromjpeg('photo.jpeg');

// Ränder für Wasserzeichen festlegen, dessen Höhe und Breite bestimmen
$marge_right = 10;
$marge_bottom = 10;
$sx = imagesx($stamp);
$sy = imagesy($stamp);

// Wasserzeichen auf das Foto kopieren, die Position berechnet sich dabei aus
// den Rändern und der Bildbreite
imagecopy($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp));

// Ausgeben und aufräumen
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>
Wasserzeichen mit Hilfe von Alpha-Kanälen zufügen
Dieses Beispiel zeigt eine übliche Vorgehensweise um ein Wasserzeichen auf Fotos oder urheberrechtlich geschützten Bildern anzubringen. Beachten Sie, daß die Wasserzeichen-Grafik einen Alphakanal enthält. Dieser wird beim Kopiervorgang beibehalten.

PNG erzeugen mit PHP
Erstellen eines transparenten Wasserzeichens mit imagecopymerge
Beispiele


Erstellen eines transparenten Wasserzeichens mit imagecopymerge

Wasserzeichen mit Hilfe von Alpha-Kanälen zufügen
GD- und Image-Funktionen
Beispiele
PHP Manual

Erstellen eines transparenten Wasserzeichens mit imagecopymerge()

Beispiel #1 Erstellen eines transparenten Wasserzeichens mit imagecopymerge()

<?php
// Foto laden
$im = imagecreatefromjpeg('photo.jpeg');

// wir erstellen ein Wasserzeichen mit GD
$stamp = imagecreatetruecolor(100, 70);
imagefilledrectangle($stamp, 0, 0, 99, 69, 0x0000FF);
imagefilledrectangle($stamp, 9, 9, 90, 60, 0xFFFFFF);
imagestring($stamp, 5, 20, 20, 'libGD', 0x0000FF);
imagestring($stamp, 3, 20, 40, '(c) 2007-9', 0x0000FF);

// Ränder setzen, Dimensionen ermitteln
$marge_right = 10;
$marge_bottom = 10;
$sx = imagesx($stamp);
$sy = imagesy($stamp);

// Wasserzeichen mit einer Transparenz von 50% über das Foto legen
imagecopymerge($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp), 50);

// Bild speichern, aufräumen
imagepng($im, 'photo_stamp.png');
imagedestroy($im);

?>
Erstellen eines transparenten Wasserzeichens mit imagecopymerge()
Dieses Beispiel nutzt imagecopymerge() um das Wasserzeichen über das Original-Bild zu legen. Dabei können wir die Transparenz des Wasserzeichens frei bestimmen - im Beispiel werden 50% gesetzt. In der Praxis wäre dies ein sinnvolles Vorgehen zum Urheberschutz, da halbtransparente Wasserzeichen schwierig zu entfernen sind, dem Betrachter aber trotzdem erlauben das Bild zu sehen.

Wasserzeichen mit Hilfe von Alpha-Kanälen zufügen
GD- und Image-Funktionen
Beispiele


GD- und Image-Funktionen

Inhaltsverzeichnis

  • gd_info — Ruft Informationen über die aktuell verwendete GD-Bibliothek ab
  • getimagesize — Ermittelt die Größe einer Grafik
  • getimagesizefromstring — Ermittelt die Größe einer Grafik von einem String
  • image_type_to_extension — Get file extension for image type
  • image_type_to_mime_type — Get Mime-Type for image-type returned by getimagesize, exif_read_data, exif_thumbnail, exif_imagetype
  • image2wbmp — Gibt das Bild im Browser oder einer Datei aus.
  • imageaffine — Return an image containing the affine transformed src image, using an optional clipping area
  • imageaffinematrixconcat — Concatenate two affine transformation matrices
  • imageaffinematrixget — Get an affine transformation matrix
  • imagealphablending — Set the blending mode for an image
  • imageantialias — Should antialias functions be used or not
  • imagearc — Zeichnet einen Bogen
  • imagebmp — Output a BMP image to browser or file
  • imagechar — Stellt ein Zeichen horizontal dar
  • imagecharup — Zeichnet einen vertikal ausgerichteten Charakter
  • imagecolorallocate — Bestimmt die Farbe einer Grafik
  • imagecolorallocatealpha — Allocate a color for an image
  • imagecolorat — Ermittelt den Farbwert eines Bildpunktes
  • imagecolorclosest — Ermittelt den Farbwert-Index, der den angegebenen Farben am nächsten liegt
  • imagecolorclosestalpha — Get the index of the closest color to the specified color + alpha
  • imagecolorclosesthwb — Get the index of the color which has the hue, white and blackness
  • imagecolordeallocate — Löscht eine Farbdefinition
  • imagecolorexact — Ermittelt den Index-Wert der angegebenen Farbe
  • imagecolorexactalpha — Get the index of the specified color + alpha
  • imagecolormatch — Makes the colors of the palette version of an image more closely match the true color version
  • imagecolorresolve — Ermittelt den Index-Wert der angegebenen Farbe oder die nächst mögliche Alternative dazu
  • imagecolorresolvealpha — Get the index of the specified color + alpha or its closest possible alternative
  • imagecolorset — Setzt die Farbe für den angegebenen Paletten-Index
  • imagecolorsforindex — Ermittelt die Farbwerte einer angegebenen Farb-Palette
  • imagecolorstotal — Ermittelt die Anzahl der definierten Farben eines Bildes
  • imagecolortransparent — Definiert eine Farbe als transparent
  • imageconvolution — Apply a 3x3 convolution matrix, using coefficient and offset
  • imagecopy — Kopiert einen Bildausschnitt
  • imagecopymerge — Copy and merge part of an image
  • imagecopymergegray — Copy and merge part of an image with gray scale
  • imagecopyresampled — Copy and resize part of an image with resampling
  • imagecopyresized — Kopieren und Ändern der Größe eines Bild-Teiles
  • imagecreate — Erzeugt ein neues Bild
  • imagecreatefrombmp — Erzeugt ein neues Bild aus einer Datei oder URL
  • imagecreatefromgd2 — Create a new image from GD2 file or URL
  • imagecreatefromgd2part — Create a new image from a given part of GD2 file or URL
  • imagecreatefromgd — Create a new image from GD file or URL
  • imagecreatefromgif — Erzeugt ein neues Bild aus einer Datei oder URL
  • imagecreatefromjpeg — Erzeugt ein neues Bild im JPEG-Format, welches aus einer Datei oder von einer URL gelesen wird
  • imagecreatefrompng — Erzeugt ein neues Bild im PNG-Format, welches aus einer Datei oder von einer URL gelesen wird
  • imagecreatefromstring — Create a new image from the image stream in the string
  • imagecreatefromwbmp — Erzeugt ein neues Bild aus einer Datei oder URL
  • imagecreatefromwebp — Erzeugt ein neues Bild aus einer Datei oder URL
  • imagecreatefromxbm — Erzeugt ein neues Bild aus einer Datei oder URL
  • imagecreatefromxpm — Erzeugt ein neues Bild aus einer Datei oder URL
  • imagecreatetruecolor — Create a new true color image
  • imagecrop — Crop an image to the given rectangle
  • imagecropauto — Crop an image automatically using one of the available modes
  • imagedashedline — Zeichnen einer gestrichelten Linie
  • imagedestroy — Löscht ein Bild
  • imageellipse — Draw an ellipse
  • imagefill — Füllen mit Farbe ("flood fill")
  • imagefilledarc — Draw a partial arc and fill it
  • imagefilledellipse — Draw a filled ellipse
  • imagefilledpolygon — Zeichnet ein gefülltes Vieleck (Polygon)
  • imagefilledrectangle — Zeichnet ein gefülltes Rechteck
  • imagefilltoborder — Flächen-Farbfüllung ("flood fill") mit einer angegebenen Farbe
  • imagefilter — Applies a filter to an image
  • imageflip — Flips an image using a given mode
  • imagefontheight — Ermittelt die Font-Höhe
  • imagefontwidth — Ermittelt die Font-Breite
  • imageftbbox — Give the bounding box of a text using fonts via freetype2
  • imagefttext — Write text to the image using fonts using FreeType 2
  • imagegammacorrect — Anwendung einer Gamma-Korrektur auf ein GD-Bild
  • imagegd2 — Output GD2 image to browser or file
  • imagegd — Output GD image to browser or file
  • imagegetclip — Get the clipping rectangle
  • imagegif — Gibt das Bild im Browser oder einer Datei aus.
  • imagegrabscreen — Captures the whole screen
  • imagegrabwindow — Captures a window
  • imageinterlace — Schaltet die Interlaced-Darstellung eines Bildes an oder aus
  • imageistruecolor — Finds whether an image is a truecolor image
  • imagejpeg — Gibt das Bild im Browser oder einer Datei aus.
  • imagelayereffect — Set the alpha blending flag to use layering effects
  • imageline — Zeichnen einer Linie
  • imageloadfont — Lädt einen neuen Font
  • imageopenpolygon — Draws an open polygon
  • imagepalettecopy — Copy the palette from one image to another
  • imagepalettetotruecolor — Converts a palette based image to true color
  • imagepng — Ausgabe eines Bildes im Browser oder als Datei im PNG-Format
  • imagepolygon — Zeichnen eines Vielecks (Polygon)
  • imagepsbbox — Ermittelt die Ausmaße des Rechtecks, das für die Ausgabe eines Textes unter Verwendung eines PostScript-Fonts (Typ 1) notwendig ist.
  • imagepsencodefont — Ändert die Vektor-Beschreibung eines Fonts
  • imagepsextendfont — Vergrößert oder komprimiert einen Font
  • imagepsfreefont — Gibt den durch einen Typ 1 PostScript-Font belegten Speicher wieder frei
  • imagepsloadfont — Lädt einen Typ 1 PostScript-Font aus einer Datei
  • imagepsslantfont — Setzt einen Font schräg
  • imagepstext — Ausgabe eines Textes auf einem Bild unter Verwendung von Typ 1 PostScript-Fonts
  • imagerectangle — Zeichnet ein Rechteck
  • imageresolution — Get or set the resolution of the image
  • imagerotate — Rotate an image with a given angle
  • imagesavealpha — Set the flag to save full alpha channel information (as opposed to single-color transparency) when saving PNG images
  • imagescale — Scale an image using the given new width and height
  • imagesetbrush — Set the brush image for line drawing
  • imagesetclip — Set the clipping rectangle
  • imagesetinterpolation — Set the interpolation method
  • imagesetpixel — Setzt ein einzelnes Pixel
  • imagesetstyle — Set the style for line drawing
  • imagesetthickness — Set the thickness for line drawing
  • imagesettile — Set the tile image for filling
  • imagestring — Zeichnet einen horizontalen String
  • imagestringup — Zeichnet einen vertikalen String
  • imagesx — Ermittelt die Bild-Breite
  • imagesy — Ermittelt die Bild-Höhe
  • imagetruecolortopalette — Convert a true color image to a palette image
  • imagettfbbox — Ermittelt die Rahmenmaße für die Ausgabe eines Textes im True-Type-Format
  • imagettftext — Erzeugt TTF-Text im Bild
  • imagetypes — Gibt die von der aktuell verwendeten PHP-Version unterstützten Grafik-Formate zurück
  • imagewbmp — Gibt das Bild im Browser oder einer Datei aus.
  • imagewebp — Output a WebP image to browser or file
  • imagexbm — Output an XBM image to browser or file
  • iptcembed — Embeds binary IPTC data into a JPEG image
  • iptcparse — Parse a binary IPTC block into single tags.
  • jpeg2wbmp — Konvertiert eine JPEG-Bilddatei in eine WBMP-Bilddatei
  • png2wbmp — Convert PNG image file to WBMP image file
Erstellen eines transparenten Wasserzeichens mit imagecopymerge
gd_info
GD


Ruft Informationen über die aktuell verwendete GD-Bibliothek ab

GD- und Image-Funktionen
getimagesize
GD- und Image-Funktionen
PHP Manual

gd_info

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

gd_info — Ruft Informationen über die aktuell verwendete GD-Bibliothek ab

Beschreibung

array gd_info ( void )

Ermittelt Informationen über die Version und die Funktionen der installierten GD- Bibliothek.

Rückgabewerte

Gibt ein assoziatives Array zurück.

Elemente des von gd_info() zurückgegebenen Arrays
Attribut | Bedeutung
GD Version | string Inhalt beschreibt die installierte libgd Version.
FreeType Support | boolean Inhalt. TRUE wenn FreeType Unterstützung installiert ist.
FreeType Linkage | string Inhalt beschreibt, wie FreeType verknüpft wurde. Erwartete Inhalte: 'with freetype', 'with TTF library', und 'with unknown library'. Dieses element wird nur definiert wenn FreeType Support als TRUE beurteilt wurde.
T1Lib Support | boolean Inhalt. TRUE wenn T1Lib Unterstützung eingebunden ist.
GIF Read Support | boolean Inhalt. TRUE wenn leseunterstützung für GIF Bilder eingebunden ist.
GIF Create Support | boolean Inhalt. TRUE wenn Unterstützung für das Erstellen von GIF -Bildern eingebunden ist.
JPEG Support | boolean Inhalt. TRUE wenn JPEG-Unterstützung eingebunden ist.
PNG Support | boolean Inhalt. TRUE wenn PNG-Unterstützung eingebunden ist.
WBMP Support | boolean Inhalt. TRUE wenn WBMP-Unterstützung eingebunden ist.
XBM Support | boolean Inhalt. TRUE wenn XBM-Unterstützung eingebunden ist.
WebP Support | boolean Inhalt. TRUE wenn WebP-Unterstützung eingebunden ist.

Hinweis:

Vor PHP 5.3.0, wurde JPEG Support JPG Support genannt.

Beispiele

Beispiel #1 Benutztung von gd_info()

<?php
var_dump(gd_info());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(10) {
  ["GD Version"]=>
  string(24) "bundled (2.1.0 compatible)"
  ["FreeType Support"]=>
  bool(false)
  ["T1Lib Support"]=>
  bool(false)
  ["GIF Read Support"]=>
  bool(true)
  ["GIF Create Support"]=>
  bool(false)
  ["JPEG Support"]=>
  bool(false)
  ["PNG Support"]=>
  bool(true)
  ["WBMP Support"]=>
  bool(true)
  ["XBM Support"]=>
  bool(false)
  ["WebP Support"]=>
  bool(false)
}

Changelog

Version | Beschreibung
5.6.12 | WebP-Unterstützung hinzugefügt.
5.3.0 | JPG Support-Attribute umbenannt zu JPEG Support.

Siehe auch

  • imagepng() - Ausgabe eines Bildes im Browser oder als Datei im PNG-Format
  • imagejpeg() - Gibt das Bild im Browser oder einer Datei aus.
  • imagegif() - Gibt das Bild im Browser oder einer Datei aus.
  • imagewbmp() - Gibt das Bild im Browser oder einer Datei aus.
  • imagewebp() - Output a WebP image to browser or file
  • imagetypes() - Gibt die von der aktuell verwendeten PHP-Version unterstützten Grafik-Formate zurück

GD- und Image-Funktionen
getimagesize
GD- und Image-Funktionen


Ermittelt die Größe einer Grafik

gd_info
getimagesizefromstring
GD- und Image-Funktionen
PHP Manual

getimagesize

(PHP 4, PHP 5, PHP 7)

getimagesize — Ermittelt die Größe einer Grafik

Beschreibung

array getimagesize ( string $filename [, array &$imageinfo ] )

Die Funktion getimagesize() ermittelt die Dimensionen der übergebenen Grafik-Datei, sofern das Format unterstützt wird, und gibt diese zusammen mit dem Dateityp und einem String aus Breite und Höhe zurück, der innerhalb eines regulären HTML IMG-Tags verwendet werden kann. Außerdem wird der entsprechende HTTP Content-Type zurückgegeben.

getimagesize() kann im Parameter imageinfo weitere Informationen liefern.

Hinweis: Beachten Sie, dass JPC und JP2 aus Komponenten mit verschiedener Farbtiefe bestehen können. In diesem Fall entspricht der Wert für "bits" dem höchsten gefundenen Wert. Des Weiteren können JP2-Dateien mehrere JPEG 2000 Codestreams enthalten. In diesem Fall gibt getimagesize() die Werte des ersten gefundenen Codestreams zurück.

Hinweis: Informationen über Icons werden für das Icon mit der höchsten Bitrate ermittelt.

Parameter-Liste

filename

Die zu überprüfende Datei. Dabei kann es sich um eine lokale Datei oder, eine entsprechende Konfiguration vorausgesetzt, um eine entfernte Datei handeln, die über einen unterstützten Stream gelesen wird.

imageinfo

Dieser optionale Parameter erlaubt es, erweiterte Informationen aus der Datei zu ermitteln. Momentan werden die verschiedenen JPG APP Markierungen als assoziatives Array zurückgegeben. Diese Markierungen werden von einigen Programmen verwendet um Textinformationen in Grafiken zu speichern. Gebräuchlich ist die Einbettung von IPTC » http://www.iptc.org/ Informationen in die APP13-Markierung. Sie können iptcparse() benutzen, um die binäre APP13-Markierung in ein lesbares Format zu übertragen.

Rückgabewerte

Gibt ein Array mit bis zu sieben Elementen zurück. Nicht alle Bildtypen enthalten die Elemente channels und bits.

Index 0 und 1 enthalten Breite respektive Höhe der Grafik.

Hinweis:

Einige Formate enthalten keine oder mehrere Grafiken. In diesen Fällen ist getimagesize() möglicherweise nicht in der Lage, die Dimensionen zu ermitteln; der Rückgabewert für Breite und Höhe ist in diesen Fällen 0.

Index 2 ist eine der IMAGETYPE_XXX-Konstanten entsprechend des Typs der Grafik.

Index 3 ist eine Zeichenkette mit dem Attributen Breite und Höhe in der Form height="yyy" width="xxx" zur Verwendung in einem IMG-Tag.

mime entspricht dem MIME-Typ der Grafik. Diese Information kann zur Auslieferung von Grafiken mit dem entsprechenden HTTP Content-type-Header dienen.

Beispiel #1 getimagesize() und MIME-Typ

<?php
$size = getimagesize($filename);
$fp = fopen($filename, "rb");
if ($size && $fp) {
    header("Content-type: {$size['mime']}");
    fpassthru($fp);
    exit;
} else {
    // Fehler
}
?>

channels hat für RGB-Grafiken den Wert 3, für CMYK den Wert 4.

bits entspricht der Anzahl der Bits pro Farbe.

Für einige Bildformate kann die Angebe von channels und bits irreführend sein. Beispielsweise nutzt GIF immer drei Kanäle pro Pixel, aber die Anzahl der Bits pro Pixel kann für ein animiertes GIF mit einer globalen Farbtabelle nicht errechnet werden.

Gibt im Falle eines Fehlers FALSE zurück.

Fehler/Exceptions

Wenn ein Zugriff auf die mit filename angegebene Grafik nicht möglich ist, wird getimagesize() einen Fehler der Stufe E_WARNING generieren. Bei einem Lesefehler wird getimagesize() einen Fehler der Stufe E_NOTICE hervorrufen.

Changelog

Version | Beschreibung
7.1.0 | Unterstützung für WebP hinzugefügt.
5.3.0 | Unterstützung für Icons hinzugefügt.
5.2.3 | Lesefehler erzeugen eine E_NOTICE statt einer E_WARNING.
4.3.2 | Unterstützung für JPC, JP2, JPX, JB2, XBM und WBMP wurde hinzugefügt.
4.3.2 | Der Parameter imageinfo unterstützt JPEG2000
4.3.0 | bits und channels sind auch für andere Grafik-Formate verfügbar
4.3.0 | Unterstützung für SWC wurde hinzugefügt.
4.2.0 | Unterstützung für TIFF wurde hinzugefügt.
4.0.6 | Unterstützung für BMP und PSD wurde hinzugefügt.

Beispiele

Beispiel #2 getimagesize()-Beispiel

<?php
list($width, $height, $type, $attr) = getimagesize("img/flag.jpg");
echo "<img src=\"img/flag.jpg\" $attr alt=\"getimagesize() example\" />";
?>

Beispiel #3 getimagesize (URL)

<?php
$size = getimagesize("http://www.example.com/gifs/logo.gif");

// if the file name has space in it, encode it properly
$size = getimagesize("http://www.example.com/gifs/lo%20go.gif");

?>

Beispiel #4 getimagesize() mit Rückgabe von IPTC

<?php
$size = getimagesize("testimg.jpg", $info);
if (isset($info["APP13"])) {
    $iptc = iptcparse($info["APP13"]);
    var_dump($iptc);
}
?>

Anmerkungen

Hinweis:

Diese Funktion benötigt die GD-Bibliothek nicht.

Hinweis:

Diese Funktion erwartet, dass filename eine gültige Bilddatei ist. Wird eine Datei angegeben, die kein Bild enthält, kann sie fälschlicherweise als Bild erkannt werden, und die Funktion wird erfolgreich ausgeführt.

getimagesize() sollte nicht verwendet werden, um zu überprüfen, ob eine gegebene Datei ein Bild enthält. Statt dessen sollte eine für diesen Zweck entwickelte Lösung wie die Fileinfo-Extension verwendet werden.

Siehe auch

  • image_type_to_mime_type() - Get Mime-Type for image-type returned by getimagesize, exif_read_data, exif_thumbnail, exif_imagetype
  • exif_imagetype() - Ermittelt den Bildtyp
  • exif_read_data() - Liest die EXIF-Header von JPEG oder TIFF aus
  • exif_thumbnail() - Aufruf des eingebetteten Miniaturbildes eines TIFF- oder JPEG-Bildes

gd_info
getimagesizefromstring
GD- und Image-Funktionen


Ermittelt die Größe einer Grafik von einem String

getimagesize
image_type_to_extension
GD- und Image-Funktionen
PHP Manual

getimagesizefromstring

(PHP 5 >= 5.4.0, PHP 7)

getimagesizefromstring — Ermittelt die Größe einer Grafik von einem String

Beschreibung

array getimagesizefromstring ( string $imagedata [, array &$imageinfo ] )

Identisch zu getimagesize(), außer dass getimagesizefromstring() als ersten Übergabeparameter einen String statt einem Dateinamen akzeptiert.

Siehe die getimagesize() Dokumentation um zu sehen wie die Funktion funktioniert.

Parameter-Liste

imagedata

Die Bilddaten als String.

imageinfo

Siehe getimagesize().

Rückgabewerte

Siehe getimagesize().

Beispiele

Beispiel #1 getimagesizefromstring() example

<?php
$img = '/path/to/test.png';

// als Datei öffnen
$size_info1 = getimagesize($img);

// oder als String öffnen
$data       = file_get_contents($img);
$size_info2 = getimagesizefromstring($data);
?>

Siehe auch

  • getimagesize() - Ermittelt die Größe einer Grafik

getimagesize
image_type_to_extension
GD- und Image-Funktionen


Get file extension for image type

getimagesizefromstring
image_type_to_mime_type
GD- und Image-Funktionen
PHP Manual

image_type_to_extension

(PHP 5 >= 5.2.0, PHP 7)

image_type_to_extension — Get file extension for image type

Beschreibung

string image_type_to_extension ( int $imagetype [, bool $include_dot = TRUE ] )

Returns the extension for the given IMAGETYPE_XXX constant.

Parameter-Liste

imagetype

One of the IMAGETYPE_XXX constant.

include_dot

Whether to prepend a dot to the extension or not. Default to TRUE.

Rückgabewerte

A string with the extension corresponding to the given image type.

Beispiele

Beispiel #1 image_type_to_extension() example

<?php
// Create image instance
$im = imagecreatetruecolor(100, 100);

// Save image
imagepng($im, './test' . image_type_to_extension(IMAGETYPE_PNG));
imagedestroy($im);
?>

Anmerkungen

Hinweis:

Diese Funktion benötigt die GD-Bibliothek nicht.

getimagesizefromstring
image_type_to_mime_type
GD- und Image-Funktionen


Get Mime-Type for image-type returned by getimagesize, exif_read_data, exif_thumbnail, exif_imagetype

image_type_to_extension
image2wbmp
GD- und Image-Funktionen
PHP Manual

image_type_to_mime_type

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

image_type_to_mime_type — Get Mime-Type for image-type returned by getimagesize, exif_read_data, exif_thumbnail, exif_imagetype

Beschreibung

string image_type_to_mime_type ( int $imagetype )

The image_type_to_mime_type() function will determine the Mime-Type for an IMAGETYPE constant.

Parameter-Liste

imagetype

One of the IMAGETYPE_XXX constants.

Rückgabewerte

The returned values are as follows

Returned values Constants
imagetype | Returned value
IMAGETYPE_GIF | image/gif
IMAGETYPE_JPEG | image/jpeg
IMAGETYPE_PNG | image/png
IMAGETYPE_SWF | application/x-shockwave-flash
IMAGETYPE_PSD | image/psd
IMAGETYPE_BMP | image/bmp
IMAGETYPE_TIFF_II (intel byte order) | image/tiff
IMAGETYPE_TIFF_MM (motorola byte order) | image/tiff
IMAGETYPE_JPC | application/octet-stream
IMAGETYPE_JP2 | image/jp2
IMAGETYPE_JPX | application/octet-stream
IMAGETYPE_JB2 | application/octet-stream
IMAGETYPE_SWC | application/x-shockwave-flash
IMAGETYPE_IFF | image/iff
IMAGETYPE_WBMP | image/vnd.wap.wbmp
IMAGETYPE_XBM | image/xbm
IMAGETYPE_ICO | image/vnd.microsoft.icon

Beispiele

Beispiel #1 image_type_to_mime_type() example

<?php
header("Content-type: " . image_type_to_mime_type(IMAGETYPE_PNG));
?>

Anmerkungen

Hinweis:

Diese Funktion benötigt die GD-Bibliothek nicht.

Siehe auch

  • getimagesize() - Ermittelt die Größe einer Grafik
  • exif_imagetype() - Ermittelt den Bildtyp
  • exif_read_data() - Liest die EXIF-Header von JPEG oder TIFF aus
  • exif_thumbnail() - Aufruf des eingebetteten Miniaturbildes eines TIFF- oder JPEG-Bildes

image_type_to_extension
image2wbmp
GD- und Image-Funktionen


Gibt das Bild im Browser oder einer Datei aus.

image_type_to_mime_type
imageaffine
GD- und Image-Funktionen
PHP Manual

image2wbmp

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

image2wbmp — Gibt das Bild im Browser oder einer Datei aus.

Beschreibung

bool image2wbmp ( resource $image [, string $filename [, int $threshold ]] )

image2wbmp() outputs or save a WBMP version of the given image.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

filename

Path to the saved file. If not given, the raw image stream will be output directly.

threshold

Threshold value, between 0 and 255 (inclusive).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 image2wbmp() example

<?php
$file = 'php.png';
$image = imagecreatefrompng($file);

header('Content-Type: ' . image_type_to_mime_type(IMAGETYPE_WBMP));
image2wbmp($image); // output the stream directly
imagedestroy($image);
?>

Siehe auch

  • imagewbmp() - Gibt das Bild im Browser oder einer Datei aus.

image_type_to_mime_type
imageaffine
GD- und Image-Funktionen


Return an image containing the affine transformed src image, using an optional clipping area

image2wbmp
imageaffinematrixconcat
GD- und Image-Funktionen
PHP Manual

imageaffine

(PHP 5 >= 5.5.0, PHP 7)

imageaffine — Return an image containing the affine transformed src image, using an optional clipping area

Beschreibung

resource imageaffine ( resource $image , array $affine [, array $clip ] )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

affine

Array with keys 0 to 5.

clip

Array with keys "x", "y", "width" and "height".

Rückgabewerte

Return affined image resource on successIm Fehlerfall wird FALSE zurückgegeben..

image2wbmp
imageaffinematrixconcat
GD- und Image-Funktionen


Concatenate two affine transformation matrices

imageaffine
imageaffinematrixget
GD- und Image-Funktionen
PHP Manual

imageaffinematrixconcat

(PHP 5 >= 5.5.0, PHP 7)

imageaffinematrixconcat — Concatenate two affine transformation matrices

Beschreibung

array imageaffinematrixconcat ( array $m1 , array $m2 )

Returns the concatenation of two affine transformation matrices, what is useful if multiple transformations should be applied to the same image in one go.

Parameter-Liste

m1

An affine transformation matrix (an array with keys 0 to 5 and float values).

m2

An affine transformation matrix (an array with keys 0 to 5 and float values).

Rückgabewerte

An affine transformation matrix (an array with keys 0 to 5 and float values) Im Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 imageaffinematrixconcat() example

<?php
$m1 = imageaffinematrixget(IMG_AFFINE_TRANSLATE, array('x' = 2, 'y' => 3));
$m2 = imageaffinematrixget(IMG_AFFINE_SCALE, array('x' = 4, 'y' => 5));
$matrix = imageaffinematrixconcat($m1, $m2);
print_r($matrix);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => 4
    [1] => 0
    [2] => 0
    [3] => 5
    [4] => 8
    [5] => 15
)

Siehe auch

  • imageaffine() - Return an image containing the affine transformed src image, using an optional clipping area
  • imageaffinematrixget() - Get an affine transformation matrix

imageaffine
imageaffinematrixget
GD- und Image-Funktionen


Get an affine transformation matrix

imageaffinematrixconcat
imagealphablending
GD- und Image-Funktionen
PHP Manual

imageaffinematrixget

(PHP 5 >= 5.5.0, PHP 7)

imageaffinematrixget — Get an affine transformation matrix

Beschreibung

array imageaffinematrixget ( int $type , mixed $options )

Returns an affine transformation matrix.

Parameter-Liste

type

One of the IMG_AFFINE_* constants.

options

If type is IMG_AFFINE_TRANSLATE or IMG_AFFINE_SCALE, options has to be an array with keys x and y, both having float values.

If type is IMG_AFFINE_ROTATE, IMG_AFFINE_SHEAR_HORIZONTAL or IMG_AFFINE_SHEAR_VERTICAL, options has to be a float specifying the angle.

Rückgabewerte

An affine transformation matrix (an array with keys 0 to 5 and float values) Im Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 imageaffinematrixget() example

<?php
$matrix = imageaffinematrixget(IMG_AFFINE_TRANSLATE, array('x' = 2, 'y' => 3));
print_r($matrix);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => 1
    [1] => 0
    [2] => 0
    [3] => 1
    [4] => 2
    [5] => 3
)

Siehe auch

  • imageaffine() - Return an image containing the affine transformed src image, using an optional clipping area
  • imageaffinematrixconcat() - Concatenate two affine transformation matrices

imageaffinematrixconcat
imagealphablending
GD- und Image-Funktionen


Set the blending mode for an image

imageaffinematrixget
imageantialias
GD- und Image-Funktionen
PHP Manual

imagealphablending

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

imagealphablending — Set the blending mode for an image

Beschreibung

bool imagealphablending ( resource $image , bool $blendmode )

imagealphablending() allows for two different modes of drawing on truecolor images. In blending mode, the alpha channel component of the color supplied to all drawing function, such as imagesetpixel() determines how much of the underlying color should be allowed to shine through. As a result, gd automatically blends the existing color at that point with the drawing color, and stores the result in the image. The resulting pixel is opaque. In non-blending mode, the drawing color is copied literally with its alpha channel information, replacing the destination pixel. Blending mode is not available when drawing on palette images.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

blendmode

Whether to enable the blending mode or not. On true color images the default value is TRUE otherwise the default value is FALSE

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 imagealphablending() usage example

<?php
// Create image
$im = imagecreatetruecolor(100, 100);

// Set alphablending to on
imagealphablending($im, true);

// Draw a square
imagefilledrectangle($im, 30, 30, 70, 70, imagecolorallocate($im, 255, 0, 0));

// Output
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>
imageaffinematrixget
imageantialias
GD- und Image-Funktionen


Should antialias functions be used or not

imagealphablending
imagearc
GD- und Image-Funktionen
PHP Manual

imageantialias

(PHP 4 >= 4.3.2, PHP 5, PHP 7)

imageantialias — Should antialias functions be used or not

Beschreibung

bool imageantialias ( resource $image , bool $enabled )

Activate the fast drawing antialiased methods for lines and wired polygons. It does not support alpha components. It works using a direct blend operation. It works only with truecolor images.

Thickness and styled are not supported.

Using antialiased primitives with transparent background color can end with some unexpected results. The blend method uses the background color as any other colors. The lack of alpha component support does not allow an alpha based antialiasing method.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

enabled

Whether to enable antialiasing or not.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
7.2.0 | imageantialias() is now generally available. Formerly it was only available if PHP was compiled with the bundled version of the GD library.

Beispiele

Beispiel #1 A comparison of two lines, one with anti-aliasing switched on

<?php
// Setup an anti-aliased image and a normal image
$aa = imagecreatetruecolor(400, 100);
$normal = imagecreatetruecolor(200, 100);

// Switch antialiasing on for one image
imageantialias($aa, true);

// Allocate colors
$red = imagecolorallocate($normal, 255, 0, 0);
$red_aa = imagecolorallocate($aa, 255, 0, 0);

// Draw two lines, one with AA enabled
imageline($normal, 0, 0, 200, 100, $red);
imageline($aa, 0, 0, 200, 100, $red_aa);

// Merge the two images side by side for output (AA: left, Normal: Right)
imagecopymerge($aa, $normal, 200, 0, 0, 0, 200, 100, 100);

// Output image
header('Content-type: image/png');

imagepng($aa);
imagedestroy($aa);
imagedestroy($normal);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Output of example : A comparison of two lines, one with anti-aliasing switched on

Siehe auch

  • imagecreatetruecolor() - Create a new true color image

imagealphablending
imagearc
GD- und Image-Funktionen


Zeichnet einen Bogen

imageantialias
imagebmp
GD- und Image-Funktionen
PHP Manual

imagearc

(PHP 4, PHP 5, PHP 7)

imagearc — Zeichnet einen Bogen

Beschreibung

bool imagearc ( resource $image , int $cx , int $cy , int $width , int $height , int $start , int $end , int $color )

imagearc() zeichnet einen Kreisbogen um den angegebenen Mittelpunkt

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

cx

x-Koordinate des Mittelpunkts

cy

y-Koordinate des Mittelpunkts

width

Die Breite der Ellipse

height

Die Höhe der Ellipse

start

Der Startwinkel des Bogens, in Grad.

end

Der Endwinkel des Bogens, in Grad. 0° liegt in der Drei-Uhr-Position und der Bogen wird im Uhrzeigersinn gezeichnet.

color

Eine mit imagecolorallocate() erstellte Farbe

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Zeichnen eines Kreises mittels imagearc()

<?php

// eine 200*200-Grafik erstellen
$img = imagecreatetruecolor(200, 200);

// Farben vorbereiten
$white = imagecolorallocate($img, 255, 255, 255);
$red   = imagecolorallocate($img, 255,   0,   0);
$green = imagecolorallocate($img,   0, 255,   0);
$blue  = imagecolorallocate($img,   0,   0, 255);

// Kopf
imagearc($img, 100, 100, 200, 200,  0, 360, $white);
// Mund
imagearc($img, 100, 100, 150, 150, 25, 155, $red);
// Augen
imagearc($img,  60,  75,  50,  50,  0, 360, $green);
imagearc($img, 140,  75,  50,  50,  0, 360, $blue);

// Ausgabe im Browser
header("Content-type: image/png");
imagepng($img);

// Speicher freigeben
imagedestroy($img);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ausgabe des Beispiels: Zeichnen eines Kreises mittels imagearc()

Siehe auch

  • imagefilledarc() - Draw a partial arc and fill it
  • imageellipse() - Draw an ellipse
  • imagefilledellipse() - Draw a filled ellipse

imageantialias
imagebmp
GD- und Image-Funktionen


Output a BMP image to browser or file

imagearc
imagechar
GD- und Image-Funktionen
PHP Manual

imagebmp

(PHP 7 >= 7.2.0)

imagebmp — Output a BMP image to browser or file

Beschreibung

bool imagebmp ( resource $image , mixed $to [, bool $compressed = TRUE ] )

Outputs or saves a BMP version of the given image.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

to

Der Pfad unter dem das Bild gespeichert werden soll. Ist dies nicht gesetzt oder NULL wird der rohe Bilddatenstrom direkt ausgegeben.

compressed

Whether the BMP should be compressed with run-length encoding (RLE), or not.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Saving a BMP file

<?php
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);

imagestring($im, 1, 5, 5,  'BMP with PHP', $text_color);

// Save the image
imagebmp($im, 'php.bmp');

// Free up memory
imagedestroy($im);
?>

imagearc
imagechar
GD- und Image-Funktionen


Stellt ein Zeichen horizontal dar

imagebmp
imagecharup
GD- und Image-Funktionen
PHP Manual

imagechar

(PHP 4, PHP 5, PHP 7)

imagechar — Stellt ein Zeichen horizontal dar

Beschreibung

bool imagechar ( resource $image , int $font , int $x , int $y , string $c , int $color )

imagechar() stellt das erste in c enthaltene Zeichen in der mit image angegebenen Grafik dar. Das Zeichen wird mit seiner linken oberen Ecke in x, y positioniert (die linke obere Ecke der Grafik hat die Koordinaten 0,0), die Darstellung erfolgt in der Farbe color

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

font

Ein Wert zwischen 1 und 5 für eingebaute Schriftarten in Latin2-Kodierung (wobei größere Werte größeren Schriften entsprechen) oder einer Ihrer mit imageloadfont() selbst registrierten Schrifteinträge.

x

x-Koordinate des Startpunkts

y

y-Koordinate des Startpunkts

c

Das darzustellende Zeichen

color

Eine mittels imagecolorallocate() erstellte Farbe

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 imagechar()-Beispiel

<?php

$im = imagecreate(100, 100);

$string = 'PHP';

$bg = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);

// schreibe ein schwarzes "P" in die linke obere Ecke
imagechar($im, 1, 0, 0, $string, $black);

header('Content-type: image/png');
imagepng($im);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ausgabe des Beispiels: imagechar()

Siehe auch

  • imagecharup() - Zeichnet einen vertikal ausgerichteten Charakter
  • imageloadfont() - Lädt einen neuen Font

imagebmp
imagecharup
GD- und Image-Funktionen


Zeichnet einen vertikal ausgerichteten Charakter

imagechar
imagecolorallocate
GD- und Image-Funktionen
PHP Manual

imagecharup

(PHP 4, PHP 5, PHP 7)

imagecharup — Zeichnet einen vertikal ausgerichteten Charakter

Beschreibung:

int imagecharup ( resource $im , int $font , int $x , int $y , string $c , int $col )

ImageCharUp() zeichnet das erste Zeichen (Charakter) des Strings c in das Bild, auf das per id gezeigt wird. Die Koordinaten des Zeichens werden durch x / y bestimmt. Dabei wird von den Koordinaten 0 / 0 als Zeichnungsanfang links-oben ausgegangen. Die Farbe des Zeichens wird mit col bestimmt. Ist font als 1, 2, 3, 4 oder 5 definiert, wird ein eingebauter Font genutzt (je größer die Nummer, desto größer der Font).

Beachten Sie auch imageloadfont().

imagechar
imagecolorallocate
GD- und Image-Funktionen


Bestimmt die Farbe einer Grafik

imagecharup
imagecolorallocatealpha
GD- und Image-Funktionen
PHP Manual

imagecolorallocate

(PHP 4, PHP 5, PHP 7)

imagecolorallocate — Bestimmt die Farbe einer Grafik

Beschreibung:

int imagecolorallocate ( resource $im , int $red , int $green , int $blue )

ImageColorAllocate() gibt eine Farb-ID, die durch die angegebenen RGB-Werte bestimmt wird, zurück. Der Parameter im wird ihnen von der imagecreate()-Funktion zurück gegeben. ImageColorAllocate() muss für jede Farbe aufgerufen werden, die innerhalb der Grafik im verwendet werden soll.

$weiss   = ImageColorAllocate ($im, 255, 255, 255);
$schwarz = ImageColorAllocate ($im, 0, 0, 0);

imagecharup
imagecolorallocatealpha
GD- und Image-Funktionen


Allocate a color for an image

imagecolorallocate
imagecolorat
GD- und Image-Funktionen
PHP Manual

imagecolorallocatealpha

(PHP 4 >= 4.3.2, PHP 5, PHP 7)

imagecolorallocatealpha — Allocate a color for an image

Beschreibung

int imagecolorallocatealpha ( resource $image , int $red , int $green , int $blue , int $alpha )

imagecolorallocatealpha() behaves identically to imagecolorallocate() with the addition of the transparency parameter alpha.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

red

Wert der Rotkomponente.

green

Wert der Grünkomponente.

blue

Wert der Blaukomponente.

alpha

A value between 0 and 127. 0 indicates completely opaque while 127 indicates completely transparent.

The red, green and blue parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF.

Rückgabewerte

A color identifier or FALSE if the allocation failed.

Warnung

Diese Funktion kann sowohl das boolsche FALSE zurückliefern, als auch einen nicht-boolschen Wert, welcher zu FALSE ausgewertet wird. Weitere Informationen entnehmen Sie bitte dem Abschnitt über die boolschen Typen. Benutzen Sie deshalb den === Operator, um den Rückgabewert dieser Funktion zu überprüfen.

Changelog

Version | Beschreibung
5.1.3 | Returns FALSE if the allocation failed. Previously -1 was returned.

Beispiele

Beispiel #1 Example of using imagecolorallocatealpha()

<?php
$size = 300;
$image=imagecreatetruecolor($size, $size);

// something to get a white background with black border
$back = imagecolorallocate($image, 255, 255, 255);
$border = imagecolorallocate($image, 0, 0, 0);
imagefilledrectangle($image, 0, 0, $size - 1, $size - 1, $back);
imagerectangle($image, 0, 0, $size - 1, $size - 1, $border);

$yellow_x = 100;
$yellow_y = 75;
$red_x    = 120;
$red_y    = 165;
$blue_x   = 187;
$blue_y   = 125;
$radius   = 150;

// allocate colors with alpha values
$yellow = imagecolorallocatealpha($image, 255, 255, 0, 75);
$red    = imagecolorallocatealpha($image, 255, 0, 0, 75);
$blue   = imagecolorallocatealpha($image, 0, 0, 255, 75);

// drawing 3 overlapped circle
imagefilledellipse($image, $yellow_x, $yellow_y, $radius, $radius, $yellow);
imagefilledellipse($image, $red_x, $red_y, $radius, $radius, $red);
imagefilledellipse($image, $blue_x, $blue_y, $radius, $radius, $blue);

// don't forget to output a correct header!
header('Content-Type: image/png');

// and finally, output the result
imagepng($image);
imagedestroy($image);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Output of example : Example of using imagecolorallocatealpha()

Siehe auch

  • imagecolorallocate() - Bestimmt die Farbe einer Grafik
  • imagecolordeallocate() - Löscht eine Farbdefinition

imagecolorallocate
imagecolorat
GD- und Image-Funktionen


Ermittelt den Farbwert eines Bildpunktes

imagecolorallocatealpha
imagecolorclosest
GD- und Image-Funktionen
PHP Manual

imagecolorat

(PHP 4, PHP 5, PHP 7)

imagecolorat — Ermittelt den Farbwert eines Bildpunktes

Beschreibung:

int imagecolorat ( resource $im , int $x , int $y )

Ermittelt den Farb-Wert eines Pixels an den Koordinaten x / y der mit im bestimmten Grafik.

Beachten Sie auch imagecolorset() und imagecolorsforindex().

imagecolorallocatealpha
imagecolorclosest
GD- und Image-Funktionen


Ermittelt den Farbwert-Index, der den angegebenen Farben am nächsten liegt

imagecolorat
imagecolorclosestalpha
GD- und Image-Funktionen
PHP Manual

imagecolorclosest

(PHP 4, PHP 5, PHP 7)

imagecolorclosest — Ermittelt den Farbwert-Index, der den angegebenen Farben am nächsten liegt

Beschreibung:

int imagecolorclosest ( resource $im , int $red , int $green , int $blue )

Gibt den Index der Farbwert-Palette des Bildes im zurück, der den angegebenen RGB-Werten am nächsten kommt.

Die "Entfernung" zwischen der angeforderten Farbe und jedem Farb-Paletten-Wert wird berechnet, als ob die angegebenen RGB-Werte Punkte in einem dreidimensionalen Raum darstellen.

Siehe auch imagecolorexact().

imagecolorat
imagecolorclosestalpha
GD- und Image-Funktionen


Get the index of the closest color to the specified color + alpha

imagecolorclosest
imagecolorclosesthwb
GD- und Image-Funktionen
PHP Manual

imagecolorclosestalpha

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

imagecolorclosestalpha — Get the index of the closest color to the specified color + alpha

Beschreibung

int imagecolorclosestalpha ( resource $image , int $red , int $green , int $blue , int $alpha )

Returns the index of the color in the palette of the image which is "closest" to the specified RGB value and alpha level.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

red

Wert der Rotkomponente.

green

Wert der Grünkomponente.

blue

Wert der Blaukomponente.

alpha

A value between 0 and 127. 0 indicates completely opaque while 127 indicates completely transparent.

The colors parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF.

Rückgabewerte

Returns the index of the closest color in the palette.

Beispiele

Beispiel #1 Search for a set of colors in an image

<?php
// Start with an image and convert it to a palette-based image
$im = imagecreatefrompng('figures/imagecolorclosest.png');
imagetruecolortopalette($im, false, 255);

// Search colors (RGB)
$colors = array(
    array(254, 145, 154, 50),
    array(153, 145, 188, 127),
    array(153, 90, 145, 0),
    array(255, 137, 92, 84)
);

// Loop through each search and find the closest color in the palette.
// Return the search number, the search RGB and the converted RGB match
foreach($colors as $id => $rgb)
{
    $result = imagecolorclosestalpha($im, $rgb[0], $rgb[1], $rgb[2], $rgb[3]);
    $result = imagecolorsforindex($im, $result);
    $result = "({$result['red']}, {$result['green']}, {$result['blue']}, {$result['alpha']})";

    echo "#$id: Search ($rgb[0], $rgb[1], $rgb[2], $rgb[3]); Closest match: $result.\n";
}

imagedestroy($im);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

#0: Search (254, 145, 154, 50); Closest match: (252, 150, 148, 0).
#1: Search (153, 145, 188, 127); Closest match: (148, 150, 196, 0).
#2: Search (153, 90, 145, 0); Closest match: (148, 90, 156, 0).
#3: Search (255, 137, 92, 84); Closest match: (252, 150, 92, 0).

Siehe auch

  • imagecolorexactalpha() - Get the index of the specified color + alpha
  • imagecolorclosest() - Ermittelt den Farbwert-Index, der den angegebenen Farben am nächsten liegt
  • imagecolorclosesthwb() - Get the index of the color which has the hue, white and blackness

imagecolorclosest
imagecolorclosesthwb
GD- und Image-Funktionen


Get the index of the color which has the hue, white and blackness

imagecolorclosestalpha
imagecolordeallocate
GD- und Image-Funktionen
PHP Manual

imagecolorclosesthwb

(PHP 4 >= 4.0.1, PHP 5, PHP 7)

imagecolorclosesthwb — Get the index of the color which has the hue, white and blackness

Beschreibung

int imagecolorclosesthwb ( resource $image , int $red , int $green , int $blue )

Get the index of the color which has the hue, white and blackness nearest the given color.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

red

Wert der Rotkomponente.

green

Wert der Grünkomponente.

blue

Wert der Blaukomponente.

Rückgabewerte

Returns an integer with the index of the color which has the hue, white and blackness nearest the given color.

Beispiele

Beispiel #1 Example of using imagecolorclosesthwb()

<?php
$im = imagecreatefromgif('php.gif');

echo 'HWB: ' . imagecolorclosesthwb($im, 116, 115, 152);

imagedestroy($im);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

HWB: 33

Changelog

Version | Beschreibung
5.3.0 | This function is now available on Windows

Siehe auch

  • imagecolorclosest() - Ermittelt den Farbwert-Index, der den angegebenen Farben am nächsten liegt

imagecolorclosestalpha
imagecolordeallocate
GD- und Image-Funktionen


Löscht eine Farbdefinition

imagecolorclosesthwb
imagecolorexact
GD- und Image-Funktionen
PHP Manual

imagecolordeallocate

(PHP 4, PHP 5, PHP 7)

imagecolordeallocate — Löscht eine Farbdefinition

Beschreibung:

int imagecolordeallocate ( resource $im , int $index )

Die Funktion ImageColorDeAllocate() löscht eine vorher über ImageColorAllocate() ermittelte Farbe.

$weiss = ImageColorAllocate($im, 255, 255, 255);
ImageColorDeAllocate($im, $weiss);

imagecolorclosesthwb
imagecolorexact
GD- und Image-Funktionen


Ermittelt den Index-Wert der angegebenen Farbe

imagecolordeallocate
imagecolorexactalpha
GD- und Image-Funktionen
PHP Manual

imagecolorexact

(PHP 4, PHP 5, PHP 7)

imagecolorexact — Ermittelt den Index-Wert der angegebenen Farbe

Beschreibung:

int imagecolorexact ( resource $im , int $red , int $green , int $blue )

Gibt den Index der angegebenen Farbe in der Farb-Palette des Bildes im zurück.

Existiert die Farbe in der Bild-Farb-Palette nicht, wird -1 zurück gegeben.

Siehe auch imagecolorclosest().

imagecolordeallocate
imagecolorexactalpha
GD- und Image-Funktionen


Get the index of the specified color + alpha

imagecolorexact
imagecolormatch
GD- und Image-Funktionen
PHP Manual

imagecolorexactalpha

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

imagecolorexactalpha — Get the index of the specified color + alpha

Beschreibung

int imagecolorexactalpha ( resource $image , int $red , int $green , int $blue , int $alpha )

Returns the index of the specified color+alpha in the palette of the image.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

red

Wert der Rotkomponente.

green

Wert der Grünkomponente.

blue

Wert der Blaukomponente.

alpha

A value between 0 and 127. 0 indicates completely opaque while 127 indicates completely transparent.

The colors parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF.

Rückgabewerte

Returns the index of the specified color+alpha in the palette of the image, or -1 if the color does not exist in the image's palette.

Beispiele

Beispiel #1 Get colors from the GD logo

<?php

// Setup an image
$im = imagecreatefrompng('./gdlogo.png');

$colors   = Array();
$colors[] = imagecolorexactalpha($im, 255, 0, 0, 0);
$colors[] = imagecolorexactalpha($im, 0, 0, 0, 127);
$colors[] = imagecolorexactalpha($im, 255, 255, 255, 55);
$colors[] = imagecolorexactalpha($im, 100, 255, 52, 20);

print_r($colors);

// Free from memory
imagedestroy($im);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [0] => 16711680
    [1] => 2130706432
    [2] => 939524095
    [3] => 342163252
)

Siehe auch

  • imagecolorclosestalpha() - Get the index of the closest color to the specified color + alpha

imagecolorexact
imagecolormatch
GD- und Image-Funktionen


Makes the colors of the palette version of an image more closely match the true color version

imagecolorexactalpha
imagecolorresolve
GD- und Image-Funktionen
PHP Manual

imagecolormatch

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

imagecolormatch — Makes the colors of the palette version of an image more closely match the true color version

Beschreibung

bool imagecolormatch ( resource $image1 , resource $image2 )

Makes the colors of the palette version of an image more closely match the true color version.

Parameter-Liste

image1

A truecolor image link resource.

image2

A palette image link resource pointing to an image that has the same size as image1.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 imagecolormatch() example

<?php
// Setup the true color and palette images
$im1 = imagecreatefrompng('./gdlogo.png');
$im2 = imagecreate(imagesx($im1), imagesy($im1));

// Add some colors to $im2
$colors   = Array();
$colors[] = imagecolorallocate($im2, 255, 36, 74);
$colors[] = imagecolorallocate($im2, 40, 0, 240);
$colors[] = imagecolorallocate($im2, 82, 100, 255);
$colors[] = imagecolorallocate($im2, 84, 63, 44);

// Match these colors with the true color image
imagecolormatch($im1, $im2);

// Free from memory
imagedestroy($im1);
imagedestroy($im2);
?>

Siehe auch

  • imagecreatetruecolor() - Create a new true color image

imagecolorexactalpha
imagecolorresolve
GD- und Image-Funktionen


Ermittelt den Index-Wert der angegebenen Farbe oder die nächst mögliche Alternative dazu

imagecolormatch
imagecolorresolvealpha
GD- und Image-Funktionen
PHP Manual

imagecolorresolve

(PHP 4, PHP 5, PHP 7)

imagecolorresolve — Ermittelt den Index-Wert der angegebenen Farbe oder die nächst mögliche Alternative dazu

Beschreibung:

int imagecolorresolve ( resource $im , int $red , int $green , int $blue )

Diese Funktion ermittelt garantiert einen Farb-Index zu der angegebenen Farbe, nämlich entweder den exakten oder den nächst möglichen Wert.

Siehe auch imagecolorclosest() und imagecolorexact().

imagecolormatch
imagecolorresolvealpha
GD- und Image-Funktionen


Get the index of the specified color + alpha or its closest possible alternative

imagecolorresolve
imagecolorset
GD- und Image-Funktionen
PHP Manual

imagecolorresolvealpha

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

imagecolorresolvealpha — Get the index of the specified color + alpha or its closest possible alternative

Beschreibung

int imagecolorresolvealpha ( resource $image , int $red , int $green , int $blue , int $alpha )

This function is guaranteed to return a color index for a requested color, either the exact color or the closest possible alternative.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

red

Wert der Rotkomponente.

green

Wert der Grünkomponente.

blue

Wert der Blaukomponente.

alpha

A value between 0 and 127. 0 indicates completely opaque while 127 indicates completely transparent.

The colors parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF.

Rückgabewerte

Returns a color index.

Beispiele

Beispiel #1 Using imagecoloresolvealpha() to get colors from an image

<?php
// Load an image
$im = imagecreatefromgif('phplogo.gif');

// Get closest colors from the image
$colors = array();
$colors[] = imagecolorresolvealpha($im, 255, 255, 255, 0);
$colors[] = imagecolorresolvealpha($im, 0, 0, 200, 127);

// Output
print_r($colors);

imagedestroy($im);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [0] => 89
    [1] => 85
)

Siehe auch

  • imagecolorclosestalpha() - Get the index of the closest color to the specified color + alpha

imagecolorresolve
imagecolorset
GD- und Image-Funktionen


Setzt die Farbe für den angegebenen Paletten-Index

imagecolorresolvealpha
imagecolorsforindex
GD- und Image-Funktionen
PHP Manual

imagecolorset

(PHP 4, PHP 5, PHP 7)

imagecolorset — Setzt die Farbe für den angegebenen Paletten-Index

Beschreibung:

bool imagecolorset ( resource $im , int $index , int $red , int $green , int $blue )

Hierdurch setzen Sie den Farbwert der Palette auf die angegebene Farbe. Dies ist nützlich bei Aktionen wie "Fülle Farbe X mit Farbe Y" (Flood-Fill-Effekt) ohne den sonst notwendigen Aufwand für solche Aktionen betreiben zu müssen.

Siehe auch imagecolorat().

imagecolorresolvealpha
imagecolorsforindex
GD- und Image-Funktionen


Ermittelt die Farbwerte einer angegebenen Farb-Palette

imagecolorset
imagecolorstotal
GD- und Image-Funktionen
PHP Manual

imagecolorsforindex

(PHP 4, PHP 5, PHP 7)

imagecolorsforindex — Ermittelt die Farbwerte einer angegebenen Farb-Palette

Beschreibung:

array imagecolorsforindex ( resource $im , int $index )

Gibt ein assoziatives Array mit Rot-, Grün- und Blau-Werten zurück, die die Werte des Farb-Paletten-Index von im darstellen.

Siehe auch imagecolorat() und imagecolorexact().

imagecolorset
imagecolorstotal
GD- und Image-Funktionen


Ermittelt die Anzahl der definierten Farben eines Bildes

imagecolorsforindex
imagecolortransparent
GD- und Image-Funktionen
PHP Manual

imagecolorstotal

(PHP 4, PHP 5, PHP 7)

imagecolorstotal — Ermittelt die Anzahl der definierten Farben eines Bildes

Beschreibung:

int imagecolorstotal ( resource $im )

Ergibt die Anzahl der Farben der Palette des angegebenen Bildes im.

Siehe auch imagecolorat() und imagecolorsforindex().

imagecolorsforindex
imagecolortransparent
GD- und Image-Funktionen


Definiert eine Farbe als transparent

imagecolorstotal
imageconvolution
GD- und Image-Funktionen
PHP Manual

imagecolortransparent

(PHP 4, PHP 5, PHP 7)

imagecolortransparent — Definiert eine Farbe als transparent

Beschreibung:

int imagecolortransparent ( resource $im [, int $col ] )

ImageColorTransparent() setzt die transparente Farbe des Bildes im auf die Farbe col. Im ist der Bild-Pointer, der von ImageCreate() zurück gegeben wird und col ist ein Zeiger auf die Farbe, die von ImageColorAllocate() ermittelt wird.

Es wird ein Zeiger auf die neue - jetzt transparente - Farbe (oder die aktuelle, falls keine Farbe angegeben wurde) zurück gegeben.

imagecolorstotal
imageconvolution
GD- und Image-Funktionen


Apply a 3x3 convolution matrix, using coefficient and offset

imagecolortransparent
imagecopy
GD- und Image-Funktionen
PHP Manual

imageconvolution

(PHP 5 >= 5.1.0, PHP 7)

imageconvolution — Apply a 3x3 convolution matrix, using coefficient and offset

Beschreibung

bool imageconvolution ( resource $image , array $matrix , float $div , float $offset )

Applies a convolution matrix on the image, using the given coefficient and offset.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

matrix

A 3x3 matrix: an array of three arrays of three floats.

div

The divisor of the result of the convolution, used for normalization.

offset

Color offset.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Embossing the PHP.net logo

<?php
$image = imagecreatefromgif('http://www.php.net/images/php.gif');

$emboss = array(array(2, 0, 0), array(0, -1, 0), array(0, 0, -1));
imageconvolution($image, $emboss, 1, 127);

header('Content-Type: image/png');
imagepng($image, null, 9);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Output of example : Embossing the PHP.net logo

Beispiel #2 Gaussian blur

<?php
$image = imagecreatetruecolor(180,40);

// Writes the text and apply a gaussian blur on the image
imagestring($image, 5, 10, 8, 'Gaussian Blur Text', 0x00ff00);
$gaussian = array(array(1.0, 2.0, 1.0), array(2.0, 4.0, 2.0), array(1.0, 2.0, 1.0));
imageconvolution($image, $gaussian, 16, 0);

// Rewrites the text for comparison
imagestring($image, 5, 10, 18, 'Gaussian Blur Text', 0x00ff00);

header('Content-Type: image/png');
imagepng($image, null, 9);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Output of example : Gaussian blur

Anmerkungen

This function requires GD 2.1.0 or higher.

Siehe auch

  • imagefilter() - Applies a filter to an image

imagecolortransparent
imagecopy
GD- und Image-Funktionen


Kopiert einen Bildausschnitt

imageconvolution
imagecopymerge
GD- und Image-Funktionen
PHP Manual

imagecopy

(PHP 4, PHP 5, PHP 7)

imagecopy — Kopiert einen Bildausschnitt

Beschreibung:

int ImageCopy ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h )

Kopiert einen Teil des Quellbildes src_im nach dst_im. Der zu kopierende Teil wird angegeben über die x/y-Koordinaten src_x und src_y. Die Breite wird in src_w und die Höhe in src_h angegeben. Der Ausschnitt wird an die x/y-Koordinaten dst_x und dst_y kopiert.

imageconvolution
imagecopymerge
GD- und Image-Funktionen


Copy and merge part of an image

imagecopy
imagecopymergegray
GD- und Image-Funktionen
PHP Manual

imagecopymerge

(PHP 4 >= 4.0.1, PHP 5, PHP 7)

imagecopymerge — Copy and merge part of an image

Beschreibung

bool imagecopymerge ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h , int $pct )

Copy a part of src_im onto dst_im starting at the x,y coordinates src_x, src_y with a width of src_w and a height of src_h. The portion defined will be copied onto the x,y coordinates, dst_x and dst_y.

Parameter-Liste

dst_im

Resource des Zielbildes.

src_im

Resource des Quellbildes.

dst_x

x-coordinate of destination point.

dst_y

y-coordinate of destination point.

src_x

x-coordinate of source point.

src_y

y-coordinate of source point.

src_w

Breite der Quelle.

src_h

Höhe der Quelle.

pct

The two images will be merged according to pct which can range from 0 to 100. When pct = 0, no action is taken, when 100 this function behaves identically to imagecopy() for pallete images, except for ignoring alpha components, while it implements alpha transparency for true colour images.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Merging two copies of the PHP.net logo with 75% transparency

<?php
// Create image instances
$dest = imagecreatefromgif('php.gif');
$src = imagecreatefromgif('php.gif');

// Copy and merge
imagecopymerge($dest, $src, 10, 10, 0, 0, 100, 47, 75);

// Output and free from memory
header('Content-Type: image/gif');
imagegif($dest);

imagedestroy($dest);
imagedestroy($src);
?>

imagecopy
imagecopymergegray
GD- und Image-Funktionen


Copy and merge part of an image with gray scale

imagecopymerge
imagecopyresampled
GD- und Image-Funktionen
PHP Manual

imagecopymergegray

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

imagecopymergegray — Copy and merge part of an image with gray scale

Beschreibung

bool imagecopymergegray ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h , int $pct )

imagecopymergegray() copy a part of src_im onto dst_im starting at the x,y coordinates src_x, src_y with a width of src_w and a height of src_h. The portion defined will be copied onto the x,y coordinates, dst_x and dst_y.

This function is identical to imagecopymerge() except that when merging it preserves the hue of the source by converting the destination pixels to gray scale before the copy operation.

Parameter-Liste

dst_im

Resource des Zielbildes.

src_im

Resource des Quellbildes.

dst_x

x-coordinate of destination point.

dst_y

y-coordinate of destination point.

src_x

x-coordinate of source point.

src_y

y-coordinate of source point.

src_w

Breite der Quelle.

src_h

Höhe der Quelle.

pct

The src_im will be changed to grayscale according to pct where 0 is fully grayscale and 100 is unchanged. When pct = 100 this function behaves identically to imagecopy() for pallete images, except for ignoring alpha components, while it implements alpha transparency for true colour images.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 imagecopymergegray() usage

<?php
// Create image instances
$dest = imagecreatefromgif('php.gif');
$src = imagecreatefromgif('php.gif');

// Copy and merge - Gray = 20%
imagecopymergegray($dest, $src, 10, 10, 0, 0, 100, 47, 20);

// Output and free from memory
header('Content-Type: image/gif');
imagegif($dest);

imagedestroy($dest);
imagedestroy($src);
?>

imagecopymerge
imagecopyresampled
GD- und Image-Funktionen


Copy and resize part of an image with resampling

imagecopymergegray
imagecopyresized
GD- und Image-Funktionen
PHP Manual

imagecopyresampled

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

imagecopyresampled — Copy and resize part of an image with resampling

Beschreibung

bool imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )

imagecopyresampled() copies a rectangular portion of one image to another image, smoothly interpolating pixel values so that, in particular, reducing the size of an image still retains a great deal of clarity.

In other words, imagecopyresampled() will take a rectangular area from src_image of width src_w and height src_h at position (src_x,src_y) and place it in a rectangular area of dst_image of width dst_w and height dst_h at position (dst_x,dst_y).

If the source and destination coordinates and width and heights differ, appropriate stretching or shrinking of the image fragment will be performed. The coordinates refer to the upper left corner. This function can be used to copy regions within the same image (if dst_image is the same as src_image) but if the regions overlap the results will be unpredictable.

Parameter-Liste

dst_image

Resource des Zielbildes.

src_image

Resource des Quellbildes.

dst_x

x-coordinate of destination point.

dst_y

y-coordinate of destination point.

src_x

x-coordinate of source point.

src_y

y-coordinate of source point.

dst_w

Destination width.

dst_h

Destination height.

src_w

Breite der Quelle.

src_h

Höhe der Quelle.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Simple example

This example will resample an image to half its original size.

<?php
// The file
$filename = 'test.jpg';
$percent = 0.5;

// Content type
header('Content-Type: image/jpeg');

// Get new dimensions
list($width, $height) = getimagesize($filename);
$new_width = $width * $percent;
$new_height = $height * $percent;

// Resample
$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

// Output
imagejpeg($image_p, null, 100);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Output of example : Simple example

Beispiel #2 Resampling an image proportionally

This example will display an image with the maximum width, or height, of 200 pixels.

<?php
// The file
$filename = 'test.jpg';

// Set a maximum height and width
$width = 200;
$height = 200;

// Content type
header('Content-Type: image/jpeg');

// Get new dimensions
list($width_orig, $height_orig) = getimagesize($filename);

$ratio_orig = $width_orig/$height_orig;

if ($width/$height > $ratio_orig) {
   $width = $height*$ratio_orig;
} else {
   $height = $width/$ratio_orig;
}

// Resample
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);

// Output
imagejpeg($image_p, null, 100);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Output of example : Resampling an image proportionally

Anmerkungen

Hinweis:

There is a problem due to palette image limitations (255+1 colors). Resampling or filtering an image commonly needs more colors than 255, a kind of approximation is used to calculate the new resampled pixel and its color. With a palette image we try to allocate a new color, if that failed, we choose the closest (in theory) computed color. This is not always the closest visual color. That may produce a weird result, like blank (or visually blank) images. To skip this problem, please use a truecolor image as a destination image, such as one created by imagecreatetruecolor().

Siehe auch

imagecopyresized() - Kopieren und Ändern der Größe eines Bild-Teiles

imagecopymergegray
imagecopyresized
GD- und Image-Funktionen


Kopieren und Ändern der Größe eines Bild-Teiles

imagecopyresampled
imagecreate
GD- und Image-Funktionen
PHP Manual

imagecopyresized

(PHP 4, PHP 5, PHP 7)

imagecopyresized — Kopieren und Ändern der Größe eines Bild-Teiles

Beschreibung

bool imagecopyresized ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )

imagecopyresized() kopiert einen rechteckigen Ausschnitt eines Bildes in ein anderes Bild. dst_image gibt das Zielbild, src_image gibt die Bildquelle an.

Mit anderen Worten, imagecopyresized() nimmt einen rechteckigen Ausschnitt von src_image der Breite src_w and Höhe src_h von Position (src_x,src_y) und platziert diesen in einem rechteckigen Bereich in dst_image mit der Breite dst_w and Höhe dst_h an der Position (dst_x,dst_y).

Unterscheiden sich die Angaben der Quelle und des Ziels bezogen auf die Koordinaten, Höhe oder Breite, wird das Teilbild entsprechend gedehnt oder geschrumpft. Die Koordinaten beziehen sich auf die linke obere Ecke. Sie können hiermit auch Teilbilder innerhalb ein- und desselben Bildes kopieren, sofern dst_image und src_image gleich sind. Falls sich dabei aber die kopierten Teile überlappen, führt das zu unvorhersehbaren Ergebnissen.

Parameter-Liste

dst_image

Resource des Zielbildes.

src_image

Resource des Quellbildes.

dst_x

x-Koordinate des Zielrechtecks.

dst_y

y-Koordinate des Zielrechtecks.

src_x

x-Koordinate des Quellrechtecks.

src_y

y-Koordinate des Quellrechtecks.

dst_w

Breite des Zielrechtecks.

dst_h

Höhe des Zielrechtecks.

src_w

Breite der Quelle.

src_h

Höhe der Quelle.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Ein Bild skalieren

Dieses Beispiel zeigt ein Bild in halber Größe an.

<?php
// Datei und Faktor der Größenänderung
$filename = 'test.jpg';
$percent = 0.5;

// Typ der Ausgabe
header('Content-Type: image/jpeg');

// Neue Größe berechnen
list($width, $height) = getimagesize($filename);
$newwidth = $width * $percent;
$newheight = $height * $percent;

// Bild laden
$thumb = imagecreatetruecolor($newwidth, $newheight);
$source = imagecreatefromjpeg($filename);

// Skalieren
imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

// Ausgabe
imagejpeg($thumb);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ausgabe des Beispiels : Ein Bild skalieren

Das Bild wird in halber Größe ausgegeben, allerdings könnten mit Hilfe der Funktion imagecopyresampled() Ergebnisse besserer Qualität erzielt werden.

Anmerkungen

Hinweis:

Es gibt ein Problem bei Verwendung von limitierten Farbpaletten (255+1 Farben). Resampling und Filterung von Bildern benötigt in der Regel mehr als 255 Farben und eine Art der Annäherung wird zur Berechnung des neu resampleten Pixels und dessen Farbwertes verwendet. Bei einem palettenbasierten Bild wird zuerst versucht eine neue Farbe zu allokieren, wenn dies fehlschlägt wird der theoretisch nächst gelegene Farbwert aus der Palette verwendet. Dies ist aber nicht immer der Wert der farblich am nächsten ist. Dies kann zu eigenartigen Ergebnissen wie leeren (oder scheinbar leeren) Bildern führen. Um dieses Problem zu vermeiden, sollte ein Truecolor-Bild als Zielbild verwendet werden, welches z.B. mit der Funktion imagecreatetruecolor() erstellt werden kann.

Siehe auch

imagecopyresampled() - Copy and resize part of an image with resampling

imagecopyresampled
imagecreate
GD- und Image-Funktionen


Erzeugt ein neues Bild

imagecopyresized
imagecreatefrombmp
GD- und Image-Funktionen
PHP Manual

imagecreate

(PHP 4, PHP 5, PHP 7)

imagecreate — Erzeugt ein neues Bild

Beschreibung:

resource imagecreate ( int $x_size , int $y_size )

ImageCreate() gibt den Zeiger auf ein neues Bild zurück. Dieser Zeiger stellt ein leeres Bild mit der Größe x_size und y_size dar.

Es wird empfohlen, die Funktion imagecreatetruecolor() zu verwenden.

Beispiel #1 Erzeugung eines neuen GD-Bild-Streams und Ausgabe des Bildes:

<?php
header ("Content-type: image/png");
$im = @ImageCreate (50, 100)
      or die ("Kann keinen neuen GD-Bild-Stream erzeugen");
$background_color = ImageColorAllocate ($im, 255, 255, 255);
$text_color = ImageColorAllocate ($im, 233, 14, 91);
ImageString ($im, 1, 5, 5, "Ein Test-String", $text_color);
ImagePNG ($im);
?>

Siehe auch imagedestroy() und imagecreatetruecolor().

imagecopyresized
imagecreatefrombmp
GD- und Image-Funktionen


Erzeugt ein neues Bild aus einer Datei oder URL

imagecreate
imagecreatefromgd2
GD- und Image-Funktionen
PHP Manual

imagecreatefrombmp

(PHP 7 >= 7.2.0)

imagecreatefrombmp — Erzeugt ein neues Bild aus einer Datei oder URL

Beschreibung

resource imagecreatefrombmp ( string $filename )

imagecreatefrombmp() returns an image identifier representing the image obtained from the given filename.

Tipp

Mit dieser Funktion können Sie eine URL als Dateinamen verwenden, falls Sie fopen wrappers ermöglicht haben. Mehr Details dazu, wie Sie den Dateinamen angeben müssen finden Sie bei fopen(). Eine Liste der unterstützten URL Protokolle, die Fähigkeiten der verschiedenen Wrapper, Hinweise zu deren Verwendung und Informationen zu den eventuell vorhandenen vordefinierten Variablen finden Sie unter Unterstützte Protokolle und Wrapper.

Parameter-Liste

filename

Path to the BMP image.

Rückgabewerte

Gibt im Erfolgsfall eine Bildresource zurück, im Fehlerfall FALSE.

Beispiele

Beispiel #1 Convert an BMP image to a PNG image using imagecreatefrombmp()

<?php
// Load the BMP file
$im = imagecreatefrombmp('./example.bmp');

// Convert it to a PNG file with default settings
imagepng($im, './example.png');
imagedestroy($im);
?>

imagecreate
imagecreatefromgd2
GD- und Image-Funktionen


Create a new image from GD2 file or URL

imagecreatefrombmp
imagecreatefromgd2part
GD- und Image-Funktionen
PHP Manual

imagecreatefromgd2

(PHP 4 >= 4.0.7, PHP 5, PHP 7)

imagecreatefromgd2 — Create a new image from GD2 file or URL

Beschreibung

resource imagecreatefromgd2 ( string $filename )

Create a new image from GD2 file or URL.

Tipp

Mit dieser Funktion können Sie eine URL als Dateinamen verwenden, falls Sie fopen wrappers ermöglicht haben. Mehr Details dazu, wie Sie den Dateinamen angeben müssen finden Sie bei fopen(). Eine Liste der unterstützten URL Protokolle, die Fähigkeiten der verschiedenen Wrapper, Hinweise zu deren Verwendung und Informationen zu den eventuell vorhandenen vordefinierten Variablen finden Sie unter Unterstützte Protokolle und Wrapper.

Parameter-Liste

filename

Path to the GD2 image.

Rückgabewerte

Gibt im Erfolgsfall eine Bildresource zurück, im Fehlerfall FALSE.

Beispiele

Beispiel #1 imagecreatefromgd2() example

<?php
// Load the gd2 image
$im = imagecreatefromgd2('./test.gd2');

// Apply an effect on the image, in this
// case negate the image if PHP 5+
if(function_exists('imagefilter'))
{
    imagefilter($im, IMG_FILTER_NEGATE);
}

// Save the image
imagegd2($im, './test_updated.gd2');
imagedestroy($im);
?>

imagecreatefrombmp
imagecreatefromgd2part
GD- und Image-Funktionen


Create a new image from a given part of GD2 file or URL

imagecreatefromgd2
imagecreatefromgd
GD- und Image-Funktionen
PHP Manual

imagecreatefromgd2part

(PHP 4 >= 4.0.7, PHP 5, PHP 7)

imagecreatefromgd2part — Create a new image from a given part of GD2 file or URL

Beschreibung

resource imagecreatefromgd2part ( string $filename , int $srcX , int $srcY , int $width , int $height )

Create a new image from a given part of GD2 file or URL.

Tipp

Mit dieser Funktion können Sie eine URL als Dateinamen verwenden, falls Sie fopen wrappers ermöglicht haben. Mehr Details dazu, wie Sie den Dateinamen angeben müssen finden Sie bei fopen(). Eine Liste der unterstützten URL Protokolle, die Fähigkeiten der verschiedenen Wrapper, Hinweise zu deren Verwendung und Informationen zu den eventuell vorhandenen vordefinierten Variablen finden Sie unter Unterstützte Protokolle und Wrapper.

Parameter-Liste

filename

Path to the GD2 image.

srcX

x-coordinate of source point.

srcY

y-coordinate of source point.

width

Breite der Quelle.

height

Höhe der Quelle.

Rückgabewerte

Gibt im Erfolgsfall eine Bildresource zurück, im Fehlerfall FALSE.

Beispiele

Beispiel #1 imagecreatefromgd2part() example

<?php
// For this example we need the image size before
$image = getimagesize('./test.gd2');

// Create the image instance now we got the image
// sizes
$im = imagecreatefromgd2part('./test.gd2', 4, 4, ($image[0] / 2) - 6, ($image[1] / 2) - 6);

// Do an image operation, in this case we emboss the
// image if PHP 5+
if(function_exists('imagefilter'))
{
    imagefilter($im, IMG_FILTER_EMBOSS);
}

// Save optimized image
imagegd2($im, './test_emboss.gd2');
imagedestroy($im);
?>

imagecreatefromgd2
imagecreatefromgd
GD- und Image-Funktionen


Create a new image from GD file or URL

imagecreatefromgd2part
imagecreatefromgif
GD- und Image-Funktionen
PHP Manual

imagecreatefromgd

(PHP 4 >= 4.0.7, PHP 5, PHP 7)

imagecreatefromgd — Create a new image from GD file or URL

Beschreibung

resource imagecreatefromgd ( string $filename )

Create a new image from GD file or URL.

Tipp

Mit dieser Funktion können Sie eine URL als Dateinamen verwenden, falls Sie fopen wrappers ermöglicht haben. Mehr Details dazu, wie Sie den Dateinamen angeben müssen finden Sie bei fopen(). Eine Liste der unterstützten URL Protokolle, die Fähigkeiten der verschiedenen Wrapper, Hinweise zu deren Verwendung und Informationen zu den eventuell vorhandenen vordefinierten Variablen finden Sie unter Unterstützte Protokolle und Wrapper.

Parameter-Liste

filename

Path to the GD file.

Rückgabewerte

Gibt im Erfolgsfall eine Bildresource zurück, im Fehlerfall FALSE.

Beispiele

Beispiel #1 imagecreatefromgd() example

<?php
// Load the gd image
$im = @imagecreatefromgd('./test.gd');

// Test if the image was loaded
if(!is_resource($im))
{
     die('Unable to load gd image!');
}

// Do image operations here

// Save the image
imagegd($im, './test_updated.gd');
imagedestroy($im);
?>

imagecreatefromgd2part
imagecreatefromgif
GD- und Image-Funktionen


Erzeugt ein neues Bild aus einer Datei oder URL

imagecreatefromgd
imagecreatefromjpeg
GD- und Image-Funktionen
PHP Manual

imagecreatefromgif

(PHP 4, PHP 5, PHP 7)

imagecreatefromgif — Erzeugt ein neues Bild aus einer Datei oder URL

Beschreibung

resource imagecreatefromgif ( string $filename )

imagecreatefromgif() gibt den Bezeichner auf ein Bild zurück, der das aus der angegebenen Datei eingelesene Bild darstellt.

Tipp

Mit dieser Funktion können Sie eine URL als Dateinamen verwenden, falls Sie fopen wrappers ermöglicht haben. Mehr Details dazu, wie Sie den Dateinamen angeben müssen finden Sie bei fopen(). Eine Liste der unterstützten URL Protokolle, die Fähigkeiten der verschiedenen Wrapper, Hinweise zu deren Verwendung und Informationen zu den eventuell vorhandenen vordefinierten Variablen finden Sie unter Unterstützte Protokolle und Wrapper.

Parameter-Liste

filename

Pfad zum GIF Bild.

Rückgabewerte

Gibt im Erfolgsfall eine Bildresource zurück, im Fehlerfall FALSE.

Beispiele

Beispiel #1 Beispiel zur Behandlung von Fehlern beim Einlesen einer GIF

<?php
function LoadGif($imgname) {
    /* Versuch Datei zu öffnen */
    $im = @imagecreatefromgif($imgname);

    /* Wenn Öffnen fehlgeschlagen ist */
    if (!$im) {
        /* Erzeuge ein leeres Bild */
        $im  = imagecreatetruecolor(150, 30);
        $bgc = imagecolorallocate($im, 255, 255, 255);
        $tc  = imagecolorallocate($im, 0, 0, 0);

        imagefilledrectangle($im, 0, 0, 150, 30, $bgc);

        /* Gebe eine Fehlermeldung im Bild aus */
        imagestring($im, 1, 5, 5, 'Fehler beim Öffnen von ' . $imgname, $tc);
    }

    return $im;
}

header('Content-Type: image/gif');

$img = LoadGif('bogus.image');

imagegif($img);
imagedestroy($img);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ausgabe des Beispiels zur Behandlung von Fehlern beim Einlesen einer GIF

Anmerkungen

Hinweis:

Ab Version 1.6 wurde die komplette GIF-Unterstützung aus der GD-Bibliothek entfernt und erst in Version 2.0.28 wieder hinzugefügt. Zwischen diesen Versionen ist diese Funktion daher nicht verfügbar.

Hinweis:

Beim Einlesen einer animierten GIF-Datei wird nur das erste Frame genutzt.

imagecreatefromgd
imagecreatefromjpeg
GD- und Image-Funktionen


Erzeugt ein neues Bild im JPEG-Format, welches aus einer Datei oder von einer URL gelesen wird

imagecreatefromgif
imagecreatefrompng
GD- und Image-Funktionen
PHP Manual

imagecreatefromjpeg

(PHP 4, PHP 5, PHP 7)

imagecreatefromjpeg — Erzeugt ein neues Bild im JPEG-Format, welches aus einer Datei oder von einer URL gelesen wird

Beschreibung:

resource imagecreatefromjpeg ( string $filename )

ImageCreateFromJPEG() gibt den Bezeichner auf ein Bild zurück, der das aus der angegebenen Datei eingelesene Bild darstellt.

Im Fehlerfall gibt ImageCreateFromJPEG() eine leere Zeichenkette zurück. Zudem wird eine Fehlermeldung erzeugt, die im Browser als Verbindungsabbruch dargestellt wird. Zum besseren Debuggen wird das folgende Beispiel einen JPEG-Fehler erzeugen:

Beispiel #1 Beispiel, um die Handhabung eines Fehlers bei der Bilderzeugung zu sehen (Dank an vic@zymsys.com):

function LoadJpeg ($imgname) {
    $im = @ImageCreateFromJPEG ($imgname); /* Versuch, Datei zu öffnen */
    if (!$im) {                            /* Prüfen, ob fehlgeschlagen */
        $im = ImageCreate (150, 30);       /* Erzeugen eines leeren Bildes */
        $bgc = ImageColorAllocate ($im, 255, 255, 255);
        $tc  = ImageColorAllocate ($im, 0, 0, 0);
        ImageFilledRectangle ($im, 0, 0, 150, 30, $bgc);
        /* Ausgabe einer Fehlermeldung */
        ImageString($im, 1, 5, 5, "Fehler beim Öffnen von: $imgname", $tc);
    }
    return $im;
}
imagecreatefromgif
imagecreatefrompng
GD- und Image-Funktionen


Erzeugt ein neues Bild im PNG-Format, welches aus einer Datei oder von einer URL gelesen wird

imagecreatefromjpeg
imagecreatefromstring
GD- und Image-Funktionen
PHP Manual

imagecreatefrompng

(PHP 4, PHP 5, PHP 7)

imagecreatefrompng — Erzeugt ein neues Bild im PNG-Format, welches aus einer Datei oder von einer URL gelesen wird

Beschreibung:

resource imagecreatefrompng ( string $filename )

ImageCreateFromPNG() gibt den Bezeichner auf ein Bild zurück, der das aus der angegebenen Datei eingelesene Bild darstellt.

Im Fehlerfall gibt ImageCreateFromPNG() eine leere Zeichenkette zurück. Zudem wird eine Fehlermeldung erzeugt, die im Browser als Verbindungsabbruch dargestellt wird. Zum besseren Debuggen wird das folgende Beispiel einen JPEG-Fehler erzeugen:

Beispiel #1 Beispiel, um die Handhabung eines Fehlers bei der Bilderzeugung zu sehen (Dank an vic@zymsys.com):

function Loadpng ($imgname) {
    $im = @ImageCreateFromPNG ($imgname); /* Versuch, Datei zu öffnen */
    if (!$im) {                           /* Prüfen, ob fehlgeschlagen */
        $im = ImageCreate (150, 30);      /* Erzeugen eines leeren Bildes */
        $bgc = ImageColorAllocate ($im, 255, 255, 255);
        $tc  = ImageColorAllocate ($im, 0, 0, 0);
        ImageFilledRectangle ($im, 0, 0, 150, 30, $bgc);
        /* Ausgabe einer Fehlermeldung */
        ImageString($im, 1, 5, 5, "Fehler beim Öffnen von: $imgname", $tc);
    }
    return $im;
}
imagecreatefromjpeg
imagecreatefromstring
GD- und Image-Funktionen


Create a new image from the image stream in the string

imagecreatefrompng
imagecreatefromwbmp
GD- und Image-Funktionen
PHP Manual

imagecreatefromstring

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

imagecreatefromstring — Create a new image from the image stream in the string

Beschreibung

resource imagecreatefromstring ( string $image )

imagecreatefromstring() returns an image identifier representing the image obtained from the given image. These types will be automatically detected if your build of PHP supports them: JPEG, PNG, GIF, BMP, WBMP, and GD2.

Parameter-Liste

image

A string containing the image data.

Rückgabewerte

An image resource will be returned on success. FALSE is returned if the image type is unsupported, the data is not in a recognised format, or the image is corrupt and cannot be loaded.

Fehler/Exceptions

imagecreatefromstring() raises an E_WARNING level error, if the data is not in a recognized format.

Beispiele

Beispiel #1 imagecreatefromstring() example

<?php
$data = 'iVBORw0KGgoAAAANSUhEUgAAABwAAAASCAMAAAB/2U7WAAAABl'
       . 'BMVEUAAAD///+l2Z/dAAAASUlEQVR4XqWQUQoAIAxC2/0vXZDr'
       . 'EX4IJTRkb7lobNUStXsB0jIXIAMSsQnWlsV+wULF4Avk9fLq2r'
       . '8a5HSE35Q3eO2XP1A1wQkZSgETvDtKdQAAAABJRU5ErkJggg==';
$data = base64_decode($data);

$im = imagecreatefromstring($data);
if ($im !== false) {
    header('Content-Type: image/png');
    imagepng($im);
    imagedestroy($im);
}
else {
    echo 'An error occurred.';
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Output of example : imagecreatefromstring()

Siehe auch

  • imagecreatefromjpeg() - Erzeugt ein neues Bild im JPEG-Format, welches aus einer Datei oder von einer URL gelesen wird
  • imagecreatefrompng() - Erzeugt ein neues Bild im PNG-Format, welches aus einer Datei oder von einer URL gelesen wird
  • imagecreatefromgif() - Erzeugt ein neues Bild aus einer Datei oder URL
  • imagecreatetruecolor() - Create a new true color image

imagecreatefrompng
imagecreatefromwbmp
GD- und Image-Funktionen


Erzeugt ein neues Bild aus einer Datei oder URL

imagecreatefromstring
imagecreatefromwebp
GD- und Image-Funktionen
PHP Manual

imagecreatefromwbmp

(PHP 4 >= 4.0.1, PHP 5, PHP 7)

imagecreatefromwbmp — Erzeugt ein neues Bild aus einer Datei oder URL

Beschreibung

resource imagecreatefromwbmp ( string $filename )

imagecreatefromwbmp() returns an image identifier representing the image obtained from the given filename.

Tipp

Mit dieser Funktion können Sie eine URL als Dateinamen verwenden, falls Sie fopen wrappers ermöglicht haben. Mehr Details dazu, wie Sie den Dateinamen angeben müssen finden Sie bei fopen(). Eine Liste der unterstützten URL Protokolle, die Fähigkeiten der verschiedenen Wrapper, Hinweise zu deren Verwendung und Informationen zu den eventuell vorhandenen vordefinierten Variablen finden Sie unter Unterstützte Protokolle und Wrapper.

Parameter-Liste

filename

Path to the WBMP image.

Rückgabewerte

Gibt im Erfolgsfall eine Bildresource zurück, im Fehlerfall FALSE.

Beispiele

Beispiel #1 Example to handle an error during loading of a WBMP

<?php
function LoadWBMP($imgname)
{
    /* Attempt to open */
    $im = @imagecreatefromwbmp($imgname);

    /* See if it failed */
    if(!$im)
    {
        /* Create a blank image */
        $im  = imagecreatetruecolor(150, 30);
        $bgc = imagecolorallocate($im, 255, 255, 255);
        $tc  = imagecolorallocate($im, 0, 0, 0);

        imagefilledrectangle($im, 0, 0, 150, 30, $bgc);

        /* Output an error message */
        imagestring($im, 1, 5, 5, 'Error loading ' . $imgname, $tc);
    }

    return $im;
}

header('Content-Type: image/vnd.wap.wbmp');

$img = LoadWBMP('bogus.image');

imagewbmp($img);
imagedestroy($img);
?>
imagecreatefromstring
imagecreatefromwebp
GD- und Image-Funktionen


Erzeugt ein neues Bild aus einer Datei oder URL

imagecreatefromwbmp
imagecreatefromxbm
GD- und Image-Funktionen
PHP Manual

imagecreatefromwebp

(PHP 5 >= 5.5.0, PHP 7)

imagecreatefromwebp — Erzeugt ein neues Bild aus einer Datei oder URL

Beschreibung

resource imagecreatefromwebp ( string $filename )

imagecreatefromwebp() returns an image identifier representing the image obtained from the given filename.

Tipp

Mit dieser Funktion können Sie eine URL als Dateinamen verwenden, falls Sie fopen wrappers ermöglicht haben. Mehr Details dazu, wie Sie den Dateinamen angeben müssen finden Sie bei fopen(). Eine Liste der unterstützten URL Protokolle, die Fähigkeiten der verschiedenen Wrapper, Hinweise zu deren Verwendung und Informationen zu den eventuell vorhandenen vordefinierten Variablen finden Sie unter Unterstützte Protokolle und Wrapper.

Parameter-Liste

filename

Path to the WebP image.

Rückgabewerte

Gibt im Erfolgsfall eine Bildresource zurück, im Fehlerfall FALSE.

Beispiele

Beispiel #1 Convert an WebP image to a jpeg image using imagecreatefromwebp()

<?php
// Load the WebP file
$im = imagecreatefromwebp('./example.webp');

// Convert it to a jpeg file with 100% quality
imagejpeg($im, './example.jpeg', 100);
imagedestroy($im);
?>

imagecreatefromwbmp
imagecreatefromxbm
GD- und Image-Funktionen


Erzeugt ein neues Bild aus einer Datei oder URL

imagecreatefromwebp
imagecreatefromxpm
GD- und Image-Funktionen
PHP Manual

imagecreatefromxbm

(PHP 4 >= 4.0.1, PHP 5, PHP 7)

imagecreatefromxbm — Erzeugt ein neues Bild aus einer Datei oder URL

Beschreibung

resource imagecreatefromxbm ( string $filename )

imagecreatefromxbm() returns an image identifier representing the image obtained from the given filename.

Tipp

Mit dieser Funktion können Sie eine URL als Dateinamen verwenden, falls Sie fopen wrappers ermöglicht haben. Mehr Details dazu, wie Sie den Dateinamen angeben müssen finden Sie bei fopen(). Eine Liste der unterstützten URL Protokolle, die Fähigkeiten der verschiedenen Wrapper, Hinweise zu deren Verwendung und Informationen zu den eventuell vorhandenen vordefinierten Variablen finden Sie unter Unterstützte Protokolle und Wrapper.

Parameter-Liste

filename

Path to the XBM image.

Rückgabewerte

Gibt im Erfolgsfall eine Bildresource zurück, im Fehlerfall FALSE.

Beispiele

Beispiel #1 Convert an XBM image to a png image using imagecreatefromxbm()

<?php
// Load the xbm file
$xbm = imagecreatefromxbm('./example.xbm');

// Convert it to a png file
imagepng($xbm, './example.png');
imagedestroy($xbm);
?>

imagecreatefromwebp
imagecreatefromxpm
GD- und Image-Funktionen


Erzeugt ein neues Bild aus einer Datei oder URL

imagecreatefromxbm
imagecreatetruecolor
GD- und Image-Funktionen
PHP Manual

imagecreatefromxpm

(PHP 4 >= 4.0.1, PHP 5, PHP 7)

imagecreatefromxpm — Erzeugt ein neues Bild aus einer Datei oder URL

Beschreibung

resource imagecreatefromxpm ( string $filename )

imagecreatefromxpm() returns an image identifier representing the image obtained from the given filename.

Tipp

Mit dieser Funktion können Sie eine URL als Dateinamen verwenden, falls Sie fopen wrappers ermöglicht haben. Mehr Details dazu, wie Sie den Dateinamen angeben müssen finden Sie bei fopen(). Eine Liste der unterstützten URL Protokolle, die Fähigkeiten der verschiedenen Wrapper, Hinweise zu deren Verwendung und Informationen zu den eventuell vorhandenen vordefinierten Variablen finden Sie unter Unterstützte Protokolle und Wrapper.

Parameter-Liste

filename

Path to the XPM image.

Rückgabewerte

Gibt im Erfolgsfall eine Bildresource zurück, im Fehlerfall FALSE.

Changelog

Version | Beschreibung
5.3.19 | imagecreatefromxpm() is available on Windows.

Beispiele

Beispiel #1 Creating an image instance using imagecreatefromxpm()

<?php
// Check for XPM support
if(!(imagetypes() & IMG_XPM))
{
    die('Support for xpm was not found!');
}

// Create the image instance
$xpm = imagecreatefromxpm('./example.xpm');

// Do image operations here

// PHP has no support for writing xpm images
// so in this case we save the image as a
// jpeg file with 100% quality
imagejpeg($xpm, './example.jpg', 100);
imagedestroy($xpm);
?>

imagecreatefromxbm
imagecreatetruecolor
GD- und Image-Funktionen


Create a new true color image

imagecreatefromxpm
imagecrop
GD- und Image-Funktionen
PHP Manual

imagecreatetruecolor

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

imagecreatetruecolor — Create a new true color image

Beschreibung

resource imagecreatetruecolor ( int $width , int $height )

imagecreatetruecolor() returns an image identifier representing a black image of the specified size.

Parameter-Liste

width

Image width.

height

Image height.

Rückgabewerte

Gibt im Erfolgsfall eine Bildresource zurück, im Fehlerfall FALSE.

Beispiele

Beispiel #1 Creating a new GD image stream and outputting an image.

<?php
header ('Content-Type: image/png');
$im = @imagecreatetruecolor(120, 20)
      or die('Cannot Initialize new GD image stream');
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'A Simple Text String', $text_color);
imagepng($im);
imagedestroy($im);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Output of example : Creating a new GD image stream and outputting an image.

Siehe auch

  • imagedestroy() - Löscht ein Bild
  • imagecreate() - Erzeugt ein neues Bild

imagecreatefromxpm
imagecrop
GD- und Image-Funktionen


Crop an image to the given rectangle

imagecreatetruecolor
imagecropauto
GD- und Image-Funktionen
PHP Manual

imagecrop

(PHP 5 >= 5.5.0, PHP 7)

imagecrop — Crop an image to the given rectangle

Beschreibung

resource imagecrop ( resource $image , array $rect )

Crops an image to the given rectangular area and returns the resulting image. The given image is not modified.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

rect

The cropping rectangle as array with keys x, y, width and height.

Rückgabewerte

Return cropped image resource on successIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 imagecrop() example

This example shows how to crop an image to a square area.

<?php
$im = imagecreatefrompng('example.png');
$size = min(imagesx($im), imagesy($im));
$im2 = imagecrop($im, ['x' => 0, 'y' => 0, 'width' => $size, 'height' => $size]);
if ($im2 !== FALSE) {
    imagepng($im2, 'example-cropped.png');
}
?>

Siehe auch

  • imagecropauto() - Crop an image automatically using one of the available modes
imagecreatetruecolor
imagecropauto
GD- und Image-Funktionen


Crop an image automatically using one of the available modes

imagecrop
imagedashedline
GD- und Image-Funktionen
PHP Manual

imagecropauto

(PHP 5 >= 5.5.0, PHP 7)

imagecropauto — Crop an image automatically using one of the available modes

Beschreibung

resource imagecropauto ( resource $image [, int $mode = -1 [, float $threshold = .5 [, int $color = -1 ]]] )

Automatically crops an image according to the given mode.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

mode

One of the following constants:

IMG_CROP_DEFAULT
Attempts to use IMG_CROP_TRANSPARENT and if it fails it falls back to IMG_CROP_SIDES.
IMG_CROP_TRANSPARENT
Crops out a transparent background.
IMG_CROP_BLACK
Crops out a black background.
IMG_CROP_WHITE
Crops out a white background.
IMG_CROP_SIDES
Uses the 4 corners of the image to attempt to detect the background to crop.
IMG_CROP_THRESHOLD
Crops an image using the given threshold and color.
threshold

Specifies the tolerance in percent to be used while comparing the image color and the color to crop. The method used to calculate the color difference is based on the color distance in the RGB(a) cube.

Used only in IMG_CROP_THRESHOLD mode.

color

Either an RGB color value or a palette index.

Used only in IMG_CROP_THRESHOLD mode.

Rückgabewerte

Returns a cropped image resource on successIm Fehlerfall wird FALSE zurückgegeben.. If no cropping would occur, or the complete image would be cropped, that is treated as failure, i.e. imagecrop() returns FALSE.

Beispiele

Beispiel #1 Proper handling of auto-cropping

As noted in the return value section, imagecropauto() returns FALSE when there is either nothing to crop or the whole image would be cropped. In this example we have an image resource $im which should be automatically cropped only if there is something to crop; otherwise we want to proceed with the original image.

<?php
$cropped = imagecropauto($im, IMG_CROP_DEFAULT);
if ($cropped !== false) { // in case a new image resource was returned
    imagedestroy($im);    // we destroy the original image
    $im = $cropped;       // and assign the cropped image to $im
}
?>

Siehe auch

  • imagecrop() - Crop an image to the given rectangle
imagecrop
imagedashedline
GD- und Image-Funktionen


Zeichnen einer gestrichelten Linie

imagecropauto
imagedestroy
GD- und Image-Funktionen
PHP Manual

imagedashedline

(PHP 4, PHP 5, PHP 7)

imagedashedline — Zeichnen einer gestrichelten Linie

Beschreibung:

int imagedashedline ( resource $im , int $x1 , int $y1 , int $x2 , int $y2 , int $col )

ImageDashedLine() zeichnet eine gestrichelte Linie, beginnend am Punkt x1, y1 bis zum Punkt x2, y2 (oben links ist 0, 0) in das Bild image im mit der Farbe col.

Siehe auch imageline().

imagecropauto
imagedestroy
GD- und Image-Funktionen


Löscht ein Bild

imagedashedline
imageellipse
GD- und Image-Funktionen
PHP Manual

imagedestroy

(PHP 4, PHP 5, PHP 7)

imagedestroy — Löscht ein Bild

Beschreibung

bool imagedestroy ( resource $image )

imagedestroy() gibt den durch das Bild image belegten Speicher wieder frei.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Verwendung von imagedestroy()

<?php
// erzeuge ein 100 x 100 Bild
$im = imagecreatetruecolor(100, 100);

// verändere oder speichere das Bild

// gibt den durch das Bild belegten Speicher frei
imagedestroy($im);
?>

imagedashedline
imageellipse
GD- und Image-Funktionen


Draw an ellipse

imagedestroy
imagefill
GD- und Image-Funktionen
PHP Manual

imageellipse

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

imageellipse — Draw an ellipse

Beschreibung

bool imageellipse ( resource $image , int $cx , int $cy , int $width , int $height , int $color )

Draws an ellipse centered at the specified coordinates.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

cx

x-coordinate of the center.

cy

y-coordinate of the center.

width

The ellipse width.

height

The ellipse height.

color

The color of the ellipse. A color identifier created with imagecolorallocate().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 imageellipse() example

<?php

// Create a blank image.
$image = imagecreatetruecolor(400, 300);

// Select the background color.
$bg = imagecolorallocate($image, 0, 0, 0);

// Fill the background with the color selected above.
imagefill($image, 0, 0, $bg);

// Choose a color for the ellipse.
$col_ellipse = imagecolorallocate($image, 255, 255, 255);

// Draw the ellipse.
imageellipse($image, 200, 150, 300, 200, $col_ellipse);

// Output the image.
header("Content-type: image/png");
imagepng($image);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Output of example : imageellipse()

Anmerkungen

Hinweis:

imageellipse() ignores imagesetthickness().

Siehe auch

  • imagefilledellipse() - Draw a filled ellipse
  • imagearc() - Zeichnet einen Bogen

imagedestroy
imagefill
GD- und Image-Funktionen


Füllen mit Farbe ("flood fill")

imageellipse
imagefilledarc
GD- und Image-Funktionen
PHP Manual

imagefill

(PHP 4, PHP 5, PHP 7)

imagefill — Füllen mit Farbe ("flood fill")

Beschreibung:

int imagefill ( resource $im , int $x , int $y , int $col )

ImageFill() bewirkt das Füllen eines Bildes beginnend bei der Koordinate x, y (oben links ist 0, 0) mit der Farbe col im Bild im.

imageellipse
imagefilledarc
GD- und Image-Funktionen


Draw a partial arc and fill it

imagefill
imagefilledellipse
GD- und Image-Funktionen
PHP Manual

imagefilledarc

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

imagefilledarc — Draw a partial arc and fill it

Beschreibung

bool imagefilledarc ( resource $image , int $cx , int $cy , int $width , int $height , int $start , int $end , int $color , int $style )

Draws a partial arc centered at the specified coordinate in the given image.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

cx

x-coordinate of the center.

cy

y-coordinate of the center.

width

The arc width.

height

The arc height.

start

The arc start angle, in degrees.

end

The arc end angle, in degrees. 0° is located at the three-o'clock position, and the arc is drawn clockwise.

color

A color identifier created with imagecolorallocate().

style

A bitwise OR of the following possibilities:

  1. IMG_ARC_PIE
  2. IMG_ARC_CHORD
  3. IMG_ARC_NOFILL
  4. IMG_ARC_EDGED
IMG_ARC_PIE and IMG_ARC_CHORD are mutually exclusive; IMG_ARC_CHORD just connects the starting and ending angles with a straight line, while IMG_ARC_PIE produces a rounded edge. IMG_ARC_NOFILL indicates that the arc or chord should be outlined, not filled. IMG_ARC_EDGED, used together with IMG_ARC_NOFILL, indicates that the beginning and ending angles should be connected to the center - this is a good way to outline (rather than fill) a 'pie slice'.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Creating a 3D looking pie

<?php

// create image
$image = imagecreatetruecolor(100, 100);

// allocate some colors
$white    = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
$gray     = imagecolorallocate($image, 0xC0, 0xC0, 0xC0);
$darkgray = imagecolorallocate($image, 0x90, 0x90, 0x90);
$navy     = imagecolorallocate($image, 0x00, 0x00, 0x80);
$darknavy = imagecolorallocate($image, 0x00, 0x00, 0x50);
$red      = imagecolorallocate($image, 0xFF, 0x00, 0x00);
$darkred  = imagecolorallocate($image, 0x90, 0x00, 0x00);

// make the 3D effect
for ($i = 60; $i > 50; $i--) {
   imagefilledarc($image, 50, $i, 100, 50, 0, 45, $darknavy, IMG_ARC_PIE);
   imagefilledarc($image, 50, $i, 100, 50, 45, 75 , $darkgray, IMG_ARC_PIE);
   imagefilledarc($image, 50, $i, 100, 50, 75, 360 , $darkred, IMG_ARC_PIE);
}

imagefilledarc($image, 50, 50, 100, 50, 0, 45, $navy, IMG_ARC_PIE);
imagefilledarc($image, 50, 50, 100, 50, 45, 75 , $gray, IMG_ARC_PIE);
imagefilledarc($image, 50, 50, 100, 50, 75, 360 , $red, IMG_ARC_PIE);

// flush image
header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Output of example : Creating a 3D looking pie

imagefill
imagefilledellipse
GD- und Image-Funktionen


Draw a filled ellipse

imagefilledarc
imagefilledpolygon
GD- und Image-Funktionen
PHP Manual

imagefilledellipse

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

imagefilledellipse — Draw a filled ellipse

Beschreibung

bool imagefilledellipse ( resource $image , int $cx , int $cy , int $width , int $height , int $color )

Draws an ellipse centered at the specified coordinate on the given image.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

cx

x-coordinate of the center.

cy

y-coordinate of the center.

width

The ellipse width.

height

The ellipse height.

color

The fill color. A color identifier created with imagecolorallocate().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 imagefilledellipse() example

<?php

// create a blank image
$image = imagecreatetruecolor(400, 300);

// fill the background color
$bg = imagecolorallocate($image, 0, 0, 0);

// choose a color for the ellipse
$col_ellipse = imagecolorallocate($image, 255, 255, 255);

// draw the white ellipse
imagefilledellipse($image, 200, 150, 300, 200, $col_ellipse);

// output the picture
header("Content-type: image/png");
imagepng($image);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Output of example : imagefilledellipse()

Anmerkungen

Hinweis:

imagefilledellipse() ignores imagesetthickness().

Siehe auch

  • imageellipse() - Draw an ellipse
  • imagefilledarc() - Draw a partial arc and fill it

imagefilledarc
imagefilledpolygon
GD- und Image-Funktionen


Zeichnet ein gefülltes Vieleck (Polygon)

imagefilledellipse
imagefilledrectangle
GD- und Image-Funktionen
PHP Manual

imagefilledpolygon

(PHP 4, PHP 5, PHP 7)

imagefilledpolygon — Zeichnet ein gefülltes Vieleck (Polygon)

Beschreibung:

bool imagefilledpolygon ( resource $im , array $points , int $num_points , int $col )

ImageFilledPolygon() erzeugt ein Vieleck im Bild im, gefüllt mit der Farbe col. Points ist ein PHP-Array, das die Eckpunkte des Vielecks enthält. Points[0] ist die X-Koordinate (x0), points[1] die Y-Koordinate (y0) des ersten Eckunktes. Points[2] ist x1, points[3] = y1 usw. Num_points enthält die Anzahl der Punkte.

imagefilledellipse
imagefilledrectangle
GD- und Image-Funktionen


Zeichnet ein gefülltes Rechteck

imagefilledpolygon
imagefilltoborder
GD- und Image-Funktionen
PHP Manual

imagefilledrectangle

(PHP 4, PHP 5, PHP 7)

imagefilledrectangle — Zeichnet ein gefülltes Rechteck

Beschreibung:

int imagefilledrectangle ( resource $im , int $x1 , int $y1 , int $x2 , int $y2 , int $col )

ImageFilledRectangle() erzeugt ein mit der Farbe col gefülltes Rechteck innerhalb des Bildes im. Die obere linke Eck-Koordinate wird mittels x1 und y1, die untere rechte Eck-Koordinate mittels x2 und y2 definiert. 0, 0 ist dabei die linke obere Ecke des Bildes im.

imagefilledpolygon
imagefilltoborder
GD- und Image-Funktionen


Flächen-Farbfüllung ("flood fill") mit einer angegebenen Farbe

imagefilledrectangle
imagefilter
GD- und Image-Funktionen
PHP Manual

imagefilltoborder

(PHP 4, PHP 5, PHP 7)

imagefilltoborder — Flächen-Farbfüllung ("flood fill") mit einer angegebenen Farbe

Beschreibung:

int imagefilltoborder ( resource $im , int $x , int $y , int $border , int $col )

ImageFillToBorder() bewirkt eine Farb-Füllung in einem Bereich, dessen Grenze durch die Farbe in border definiert wird. Der Startpunkt wird durch x und y angegeben (oben links ist 0, 0). Der Bereich wird gefüllt mit der Farbe col.

imagefilledrectangle
imagefilter
GD- und Image-Funktionen


Applies a filter to an image

imagefilltoborder
imageflip
GD- und Image-Funktionen
PHP Manual

imagefilter

(PHP 5, PHP 7)

imagefilter — Applies a filter to an image

Beschreibung

bool imagefilter ( resource $image , int $filtertype [, int $arg1 [, int $arg2 [, int $arg3 [, int $arg4 ]]]] )

imagefilter() applies the given filter filtertype on the image.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

filtertype

filtertype can be one of the following:

  • IMG_FILTER_NEGATE: Reverses all colors of the image.
  • IMG_FILTER_GRAYSCALE: Converts the image into grayscale.
  • IMG_FILTER_BRIGHTNESS: Changes the brightness of the image. Use arg1 to set the level of brightness. The range for the brightness is -255 to 255.
  • IMG_FILTER_CONTRAST: Changes the contrast of the image. Use arg1 to set the level of contrast.
  • IMG_FILTER_COLORIZE: Like IMG_FILTER_GRAYSCALE, except you can specify the color. Use arg1, arg2 and arg3 in the form of red, green, blue and arg4 for the alpha channel. The range for each color is 0 to 255.
  • IMG_FILTER_EDGEDETECT: Uses edge detection to highlight the edges in the image.
  • IMG_FILTER_EMBOSS: Embosses the image.
  • IMG_FILTER_GAUSSIAN_BLUR: Blurs the image using the Gaussian method.
  • IMG_FILTER_SELECTIVE_BLUR: Blurs the image.
  • IMG_FILTER_MEAN_REMOVAL: Uses mean removal to achieve a "sketchy" effect.
  • IMG_FILTER_SMOOTH: Makes the image smoother. Use arg1 to set the level of smoothness.
  • IMG_FILTER_PIXELATE: Applies pixelation effect to the image, use arg1 to set the block size and arg2 to set the pixelation effect mode.

arg1

  • IMG_FILTER_BRIGHTNESS: Brightness level.
  • IMG_FILTER_CONTRAST: Contrast level.
  • IMG_FILTER_COLORIZE: Wert der Rotkomponente.
  • IMG_FILTER_SMOOTH: Smoothness level.
  • IMG_FILTER_PIXELATE: Block size in pixels.

arg2

  • IMG_FILTER_COLORIZE: Wert der Grünkomponente.
  • IMG_FILTER_PIXELATE: Whether to use advanced pixelation effect or not (defaults to FALSE).

arg3

  • IMG_FILTER_COLORIZE: Wert der Blaukomponente.

arg4

  • IMG_FILTER_COLORIZE: Alpha channel, A value between 0 and 127. 0 indicates completely opaque while 127 indicates completely transparent.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.3.0 | Pixelation support (IMG_FILTER_PIXELATE) was added.
5.2.5 | Alpha support for IMG_FILTER_COLORIZE was added.

Beispiele

Beispiel #1 imagefilter() grayscale example

<?php
$im = imagecreatefrompng('dave.png');

if($im && imagefilter($im, IMG_FILTER_GRAYSCALE))
{
    echo 'Image converted to grayscale.';

    imagepng($im, 'dave.png');
}
else
{
    echo 'Conversion to grayscale failed.';
}

imagedestroy($im);
?>

Beispiel #2 imagefilter() brightness example

<?php
$im = imagecreatefrompng('sean.png');

if($im && imagefilter($im, IMG_FILTER_BRIGHTNESS, 20))
{
    echo 'Image brightness changed.';

    imagepng($im, 'sean.png');
    imagedestroy($im);
}
else
{
    echo 'Image brightness change failed.';
}
?>

Beispiel #3 imagefilter() colorize example

<?php
$im = imagecreatefrompng('philip.png');

/* R, G, B, so 0, 255, 0 is green */
if($im && imagefilter($im, IMG_FILTER_COLORIZE, 0, 255, 0))
{
    echo 'Image successfully shaded green.';

    imagepng($im, 'philip.png');
    imagedestroy($im);
}
else
{
    echo 'Green shading failed.';
}
?>

Beispiel #4 imagefilter() negate example

<?php
// Define our negate function so its portable for
// php versions without imagefilter()
function negate($im)
{
    if(function_exists('imagefilter'))
    {
        return imagefilter($im, IMG_FILTER_NEGATE);
    }

    for($x = 0; $x < imagesx($im); ++$x)
    {
        for($y = 0; $y < imagesy($im); ++$y)
        {
            $index = imagecolorat($im, $x, $y);
            $rgb = imagecolorsforindex($index);
            $color = imagecolorallocate($im, 255 - $rgb['red'], 255 - $rgb['green'], 255 - $rgb['blue']);

            imagesetpixel($im, $x, $y, $color);
        }
    }

    return(true);
}

$im = imagecreatefromjpeg('kalle.jpg');

if($im && negate($im))
{
    echo 'Image successfully converted to negative colors.';

    imagejpeg($im, 'kalle.jpg', 100);
    imagedestroy($im);
}
else
{
    echo 'Converting to negative colors failed.';
}
?>

Beispiel #5 imagefilter() pixelate example

<?php
// Load the PHP logo, we need to create two instances
// to show the differences
$logo1 = imagecreatefrompng('./php.png');
$logo2 = imagecreatefrompng('./php.png');

// Create the image instance we want to show the
// differences on
$output = imagecreatetruecolor(imagesx($logo1) * 2, imagesy($logo1));

// Apply pixelation to each instance, with a block
// size of 3
imagefilter($logo1, IMG_FILTER_PIXELATE, 3);
imagefilter($logo2, IMG_FILTER_PIXELATE, 3, true);

// Merge the differences onto the output image
imagecopy($output, $logo1, 0, 0, 0, 0, imagesx($logo1) - 1, imagesy($logo1) - 1);
imagecopy($output, $logo2, imagesx($logo2), 0, 0, 0, imagesx($logo2) - 1, imagesy($logo2) - 1);
imagedestroy($logo1);
imagedestroy($logo2);

// Output the differences
header('Content-Type: image/png');
imagepng($output);
imagedestroy($output);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Output of example : imagefilter() pixelate

Anmerkungen

Siehe auch

  • imageconvolution() - Apply a 3x3 convolution matrix, using coefficient and offset

imagefilltoborder
imageflip
GD- und Image-Funktionen


Flips an image using a given mode

imagefilter
imagefontheight
GD- und Image-Funktionen
PHP Manual

imageflip

(PHP 5 >= 5.5.0, PHP 7)

imageflip — Flips an image using a given mode

Beschreibung

bool imageflip ( resource $image , int $mode )

Flips the image image using the given mode.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

mode

Flip mode, this can be one of the IMG_FLIP_* constants:

Constant | Meaning
IMG_FLIP_HORIZONTAL | Flips the image horizontally.
IMG_FLIP_VERTICAL | Flips the image vertically.
IMG_FLIP_BOTH | Flips the image both horizontally and vertically.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Flips an image vertically

This example uses the IMG_FLIP_VERTICAL constant.

<?php
// File
$filename = 'phplogo.png';

// Content type
header('Content-type: image/png');

// Load
$im = imagecreatefrompng($filename);

// Flip it vertically
imageflip($im, IMG_FLIP_VERTICAL);

// Output
imagejpeg($im);
imagedestroy($im);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Output of example: Vertically flipped image

Beispiel #2 Flips the image horizontally

This example uses the IMG_FLIP_HORIZONTAL constant.

<?php
// File
$filename = 'phplogo.png';

// Content type
header('Content-type: image/png');

// Load
$im = imagecreatefrompng($filename);

// Flip it horizontally
imageflip($im, IMG_FLIP_HORIZONTAL);

// Output
imagejpeg($im);
imagedestroy($im);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Output of example: Horizontally flipped image

imagefilter
imagefontheight
GD- und Image-Funktionen


Ermittelt die Font-Höhe

imageflip
imagefontwidth
GD- und Image-Funktionen
PHP Manual

imagefontheight

(PHP 4, PHP 5, PHP 7)

imagefontheight — Ermittelt die Font-Höhe

Beschreibung:

int imagefontheight ( int $font )

Ermittelt die Höhe eines Zeichens (in Pixel) im angegebenen Font.

Siehe auch imagefontwidth() und imageloadfont().

imageflip
imagefontwidth
GD- und Image-Funktionen


Ermittelt die Font-Breite

imagefontheight
imageftbbox
GD- und Image-Funktionen
PHP Manual

imagefontwidth

(PHP 4, PHP 5, PHP 7)

imagefontwidth — Ermittelt die Font-Breite

Beschreibung:

int imagefontwidth ( int $font )

Gibt die Zeichenbreite des angegebenen Fonts in Pixeln zurück.

Siehe auch imagefontheight() und imageloadfont().

imagefontheight
imageftbbox
GD- und Image-Funktionen


Give the bounding box of a text using fonts via freetype2

imagefontwidth
imagefttext
GD- und Image-Funktionen
PHP Manual

imageftbbox

(PHP 4 >= 4.0.7, PHP 5, PHP 7)

imageftbbox — Give the bounding box of a text using fonts via freetype2

Beschreibung

array imageftbbox ( float $size , float $angle , string $fontfile , string $text [, array $extrainfo ] )

This function calculates and returns the bounding box in pixels for a FreeType text.

Parameter-Liste

size

Die Schriftgröße. Abhängig von der Version ihrer GD-Bibliothek sollten Sie dies als Pixelgröße (GD1) oder Punktgröße (GD2) angeben.

angle

Angle in degrees in which text will be measured.

fontfile

The name of the TrueType font file (can be a URL). Depending on which version of the GD library that PHP is using, it may attempt to search for files that do not begin with a leading '/' by appending '.ttf' to the filename and searching along a library-defined font path.

text

The string to be measured.

extrainfo

Possible array indexes for extrainfo
Key | Type | Meaning
linespacing | float | Defines drawing linespacing

Rückgabewerte

imageftbbox() returns an array with 8 elements representing four points making the bounding box of the text:

0 | lower left corner, X position
1 | lower left corner, Y position
2 | lower right corner, X position
3 | lower right corner, Y position
4 | upper right corner, X position
5 | upper right corner, Y position
6 | upper left corner, X position
7 | upper left corner, Y position

The points are relative to the text regardless of the angle, so "upper left" means in the top left-hand corner seeing the text horizontally.

Beispiele

Beispiel #1 imageftbbox() example

<?php
// Create a 300x150 image
$im = imagecreatetruecolor(300, 150);
$black = imagecolorallocate($im, 0, 0, 0);
$white = imagecolorallocate($im, 255, 255, 255);

// Set the background to be white
imagefilledrectangle($im, 0, 0, 299, 299, $white);

// Path to our font file
$font = './arial.ttf';

// First we create our bounding box
$bbox = imageftbbox(10, 0, $font, 'The PHP Documentation Group');

// This is our cordinates for X and Y
$x = $bbox[0] + (imagesx($im) / 2) - ($bbox[4] / 2) - 5;
$y = $bbox[1] + (imagesy($im) / 2) - ($bbox[5] / 2) - 5;

imagefttext($im, 10, 0, $x, $y, $black, $font, 'The PHP Documentation Group');

// Output to browser
header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
?>

Anmerkungen

Hinweis: Diese Funktion ist nur verfügbar wenn PHP mit Freetype unterstützung (--with-freetype-dir=DIR ) kompiliert wurde

Siehe auch

  • imagefttext() - Write text to the image using fonts using FreeType 2
  • imagettfbbox() - Ermittelt die Rahmenmaße für die Ausgabe eines Textes im True-Type-Format

imagefontwidth
imagefttext
GD- und Image-Funktionen


Write text to the image using fonts using FreeType 2

imageftbbox
imagegammacorrect
GD- und Image-Funktionen
PHP Manual

imagefttext

(PHP 4 >= 4.0.7, PHP 5, PHP 7)

imagefttext — Write text to the image using fonts using FreeType 2

Beschreibung

array imagefttext ( resource $image , float $size , float $angle , int $x , int $y , int $color , string $fontfile , string $text [, array $extrainfo ] )

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

size

The font size to use in points.

angle

The angle in degrees, with 0 degrees being left-to-right reading text. Higher values represent a counter-clockwise rotation. For example, a value of 90 would result in bottom-to-top reading text.

x

The coordinates given by x and y will define the basepoint of the first character (roughly the lower-left corner of the character). This is different from the imagestring(), where x and y define the upper-left corner of the first character. For example, "top left" is 0, 0.

y

The y-ordinate. This sets the position of the fonts baseline, not the very bottom of the character.

color

The index of the desired color for the text, see imagecolorexact().

fontfile

The path to the TrueType font you wish to use.

Depending on which version of the GD library PHP is using, when fontfile does not begin with a leading / then .ttf will be appended to the filename and the library will attempt to search for that filename along a library-defined font path.

When using versions of the GD library lower than 2.0.18, a space character, rather than a semicolon, was used as the 'path separator' for different font files. Unintentional use of this feature will result in the warning message: Warning: Could not find/open font. For these affected versions, the only solution is moving the font to a path which does not contain spaces.

In many cases where a font resides in the same directory as the script using it the following trick will alleviate any include problems.

<?php
// Set the enviroment variable for GD
putenv('GDFONTPATH=' . realpath('.'));

// Name the font to be used (note the lack of the .ttf extension)
$font = 'SomeFont';
?>

text

Text to be inserted into image.

extrainfo

Possible array indexes for extrainfo
Key | Type | Meaning
linespacing | float | Defines drawing linespacing

Rückgabewerte

This function returns an array defining the four points of the box, starting in the lower left and moving counter-clockwise:

0 | lower left x-coordinate
1 | lower left y-coordinate
2 | lower right x-coordinate
3 | lower right y-coordinate
4 | upper right x-coordinate
5 | upper right y-coordinate
6 | upper left x-coordinate
7 | upper left y-coordinate

Beispiele

Beispiel #1 imagefttext() example

<?php
// Create a 300x100 image
$im = imagecreatetruecolor(300, 100);
$red = imagecolorallocate($im, 0xFF, 0x00, 0x00);
$black = imagecolorallocate($im, 0x00, 0x00, 0x00);

// Make the background red
imagefilledrectangle($im, 0, 0, 299, 99, $red);

// Path to our ttf font file
$font_file = './arial.ttf';

// Draw the text 'PHP Manual' using font size 13
imagefttext($im, 13, 0, 105, 55, $black, $font_file, 'PHP Manual');

// Output image to the browser
header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
?>

Anmerkungen

Hinweis: Diese Funktion ist nur verfügbar wenn PHP mit Freetype unterstützung (--with-freetype-dir=DIR ) kompiliert wurde

Siehe auch

  • imageftbbox() - Give the bounding box of a text using fonts via freetype2
  • imagettftext() - Erzeugt TTF-Text im Bild

imageftbbox
imagegammacorrect
GD- und Image-Funktionen


Anwendung einer Gamma-Korrektur auf ein GD-Bild

imagefttext
imagegd2
GD- und Image-Funktionen
PHP Manual

imagegammacorrect

(PHP 4, PHP 5, PHP 7)

imagegammacorrect — Anwendung einer Gamma-Korrektur auf ein GD-Bild

Beschreibung:

int imagegammacorrect ( resource $im , double $inputgamma , double $outputgamma )

Die Funktion ImageGammaCorrect() bewirkt die Anwendung einer Gamma-Korrektur auf das mittels Bezeichner im angegebene GD-Bild. Anzugeben ist der Eingabe-Gammawert inputgamma und der Ausgabe-Gammawert outputgamma.

imagefttext
imagegd2
GD- und Image-Funktionen


Output GD2 image to browser or file

imagegammacorrect
imagegd
GD- und Image-Funktionen
PHP Manual

imagegd2

(PHP 4 >= 4.0.7, PHP 5, PHP 7)

imagegd2 — Output GD2 image to browser or file

Beschreibung

bool imagegd2 ( resource $image [, mixed $to = NULL [, int $chunk_size = 128 [, int $type = IMG_GD2_RAW ]]] )

Outputs a GD2 image to the given to.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

to

Der Pfad unter dem das Bild gespeichert werden soll. Ist dies nicht gesetzt oder NULL wird der rohe Bilddatenstrom direkt ausgegeben.

chunk_size

Chunk size.

type

Either IMG_GD2_RAW or IMG_GD2_COMPRESSED. Default is IMG_GD2_RAW.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.4.0 | Added support for passing a stream resource to to.

Beispiele

Beispiel #1 Outputting a GD2 image

<?php
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  "A Simple Text String", $text_color);

// Output the image
imagegd2($im);

// Free up memory
imagedestroy($im);
?>

Beispiel #2 Saving a GD2 image

<?php
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  "A Simple Text String", $text_color);

// Save the gd2 image
// The file format for GD2 images is .gd2, see http://www.libgd.org/GdFileFormats
imagegd2($im, 'simple.gd2');

// Free up memory
imagedestroy($im);
?>

Anmerkungen

Hinweis:

The GD2 format is commonly used to allow fast loading of parts of images. Note that the GD2 format is only usable in GD2-compatible applications.

Siehe auch

  • imagegd() - Output GD image to browser or file

imagegammacorrect
imagegd
GD- und Image-Funktionen


Output GD image to browser or file

imagegd2
imagegetclip
GD- und Image-Funktionen
PHP Manual

imagegd

(PHP 4 >= 4.0.7, PHP 5, PHP 7)

imagegd — Output GD image to browser or file

Beschreibung

bool imagegd ( resource $image [, mixed $to = NULL ] )

Outputs a GD image to the given to.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

to

Der Pfad unter dem das Bild gespeichert werden soll. Ist dies nicht gesetzt oder NULL wird der rohe Bilddatenstrom direkt ausgegeben.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
7.2.0 | imagegd() now allows to output truecolor images. Formerly, these have been implicitly converted to palette.
5.4.0 | Added support for passing a stream resource to to.

Beispiele

Beispiel #1 Outputting a GD image

<?php
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  "A Simple Text String", $text_color);

// Output the image
imagegd($im);

// Free up memory
imagedestroy($im);
?>

Beispiel #2 Saving a GD image

<?php
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  "A Simple Text String", $text_color);

// Save the gd image
// The file format for GD images is .gd, see http://www.libgd.org/GdFileFormats
imagegd($im, 'simple.gd');

// Free up memory
imagedestroy($im);
?>

Anmerkungen

Hinweis:

The GD format is commonly used to allow fast loading of parts of images. Note that the GD format is only usable in GD-compatible applications.

Siehe auch

  • imagegd2() - Output GD2 image to browser or file

imagegd2
imagegetclip
GD- und Image-Funktionen


Get the clipping rectangle

imagegd
imagegif
GD- und Image-Funktionen
PHP Manual

imagegetclip

(PHP 7.2)

imagegetclip — Get the clipping rectangle

Beschreibung

array imagegetclip ( resource $im )

imagegetclip() retrieves the current clipping rectangle, i.e. the area beyond which no pixels will be drawn.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

Rückgabewerte

The function returns an indexed array with the coordinates of the clipping rectangle which has the following entries:

  • x-coordinate of the upper left corner
  • y-coordinate of the upper left corner
  • x-coordinate of the lower right corner
  • y-coordinate of the lower right corner

Beispiele

Beispiel #1 imagegetclip() example

Setting and retrieving the clipping rectangle.

<?php
$im = imagecreate(100, 100);
imagesetclip($im, 10,10, 89,89);
print_r(imagegetclip($im));

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => 10
    [1] => 10
    [2] => 89
    [3] => 89
)

Siehe auch

  • imagesetclip() - Set the clipping rectangle
imagegd
imagegif
GD- und Image-Funktionen


Gibt das Bild im Browser oder einer Datei aus.

imagegetclip
imagegrabscreen
GD- und Image-Funktionen
PHP Manual

imagegif

(PHP 4, PHP 5, PHP 7)

imagegif — Gibt das Bild im Browser oder einer Datei aus.

Beschreibung

bool imagegif ( resource $image [, mixed $to ] )

imagegif() erzeugt eine GIF-Datei gemäß to aus dem übergebenen image. Der Inhalt des Parameters image ist die Rückgabe der Funktionen imagecreate() oder imagecreatefrom*

Das Dateiformat wird GIF87a sein, es sei denn das Bild wurde mittels imagecolortransparent() transparent gemacht. In diesem Fall wird das Dateiformat GIF89a sein.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

to

Der Pfad unter dem das Bild gespeichert werden soll. Ist dies nicht gesetzt oder NULL wird der rohe Bilddatenstrom direkt ausgegeben.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.4.0 | Unterstützung für die Übergabe einer Stream-Ressource (resource) an to wurde hinzugefügt.

Beispiele

Beispiel #1 Ein Bild mittels imagegif() ausgeben

<?php
// Erzeugt ein neues Bild
$im = imagecreatetruecolor(100, 100);

// Den Hintergrund weiß machen
imagefilledrectangle($im, 0, 0, 99, 99, 0xFFFFFF);

// Einen Text im Bild ausgeben
imagestring($im, 3, 40, 20, 'GD Library', 0xFFBA00);

// Das Bild an den Browser ausgeben
header('Content-Type: image/gif');

imagegif($im);
imagedestroy($im);
?>

Beispiel #2 Eine PNG-Datei mit imagegif() in GIF konvertieren

<?php

// Die PNG-Datei laden
$png = imagecreatefrompng('./php.png');

// Die Datei im GIF-Format speichern
imagegif($png, './php.gif');

// Den Speicher freigeben
imagedestroy($png);

// Wir sind fertig
echo 'Die PNG-Datei wurde erfolgreich nach GIF konvertiert!';
?>

Anmerkungen

Hinweis:

Die Unterstützung des GIF-Dateiformates wurde in der Version 1.6 der GD-Bibliothek entfernt und in der Version 2.0.28 wieder hinzugefügt. Nähere Angaben finden Sie auf der Webseite des » GD Projekts.

Der folgende Codeauszug erlaubt es Ihnen leichter umzuziehende PHP-Anwendungen zu schreiben, indem die von GD unterstützten Dateiformat automatisch erkannt werden. Ersetzen Sie den Abschnitt header ("Content-Type: image/gif"); imagegif ($im); durch den folgenden Abschnitt:

<?php
// Ein neues Bild erzeugen
$im = imagecreatetruecolor(100, 100);

// Hier wird das Bild bearbeitet

// Ausgabebehandlung
if(function_exists('imagegif'))
{
    // Für GIF
    header('Content-Type: image/gif');

    imagegif($im);
}
elseif(function_exists('imagejpeg'))
{
    // Für JPEG
    header('Content-Type: image/jpeg');

    imagejpeg($im, NULL, 100);
}
elseif(function_exists('imagepng'))
{
    // Für PNG
    header('Content-Type: image/png');

    imagepng($im);
}
elseif(function_exists('imagewbmp'))
{
    // Für WBMP
    header('Content-Type: image/vnd.wap.wbmp');

    imagewbmp($im);
}
else
{
    imagedestroy($im);

    die('Auf diesem Server gibt es keine unterstützten Bildformate');
}

// Falls Unterstützung für eines von diesen Formaten
// gefunden wurde, geben wir den Speicher frei
if($im)
{
    imagedestroy($im);
}
?>

Hinweis:

Die Funktion imagetypes() kann zur Prüfung der Unterstützung der verschiedenen Bildformate verwendet werden:

<?php
if(imagetypes() & IMG_GIF)
{
    header('Content-Type: image/gif');
    imagegif($im);
}
elseif(imagetypes() & IMG_JPG)
{
    /* ... etc. */
}
?>

Siehe auch

  • imagepng() - Ausgabe eines Bildes im Browser oder als Datei im PNG-Format
  • imagewbmp() - Gibt das Bild im Browser oder einer Datei aus.
  • imagejpeg() - Gibt das Bild im Browser oder einer Datei aus.
  • imagetypes() - Gibt die von der aktuell verwendeten PHP-Version unterstützten Grafik-Formate zurück

imagegetclip
imagegrabscreen
GD- und Image-Funktionen


Captures the whole screen

imagegif
imagegrabwindow
GD- und Image-Funktionen
PHP Manual

imagegrabscreen

(PHP 5 >= 5.2.2, PHP 7)

imagegrabscreen — Captures the whole screen

Beschreibung

resource imagegrabscreen ( void )

Grabs a screenshot of the whole screen.

Rückgabewerte

Returns an image resource identifier on success, FALSE on failure.

Beispiele

Beispiel #1 imagegrabscreen() example

This example demonstrates how to take a screenshot of the current screen and save it as a png image.

<?php
$im = imagegrabscreen();
imagepng($im, "myscreenshot.png");
imagedestroy($im);
?>

Anmerkungen

Hinweis:

This function is only available on Windows.

Siehe auch

  • imagegrabwindow() - Captures a window

imagegif
imagegrabwindow
GD- und Image-Funktionen


Captures a window

imagegrabscreen
imageinterlace
GD- und Image-Funktionen
PHP Manual

imagegrabwindow

(PHP 5 >= 5.2.2, PHP 7)

imagegrabwindow — Captures a window

Beschreibung

resource imagegrabwindow ( int $window_handle [, int $client_area = 0 ] )

Grabs a window or its client area using a windows handle (HWND property in COM instance)

Parameter-Liste

window_handle

The HWND window ID.

client_area

Include the client area of the application window.

Rückgabewerte

Returns an image resource identifier on success, FALSE on failure.

Fehler/Exceptions

E_NOTICE is issued if window_handle is invalid window handle. E_WARNING is issued if the Windows API is too old.

Beispiele

Beispiel #1 imagegrabwindow() example

Capture a window (IE for example)

<?php
$browser = new COM("InternetExplorer.Application");
$handle = $browser->HWND;
$browser->Visible = true;
$im = imagegrabwindow($handle);
$browser->Quit();
imagepng($im, "iesnap.png");
imagedestroy($im);
?>

Capture a window (IE for example) but with its content

<?php
$browser = new COM("InternetExplorer.Application");
$handle = $browser->HWND;
$browser->Visible = true;
$browser->Navigate("http://www.libgd.org");

/* Still working? */
while ($browser->Busy) {
    com_message_pump(4000);
}
$im = imagegrabwindow($handle, 0);
$browser->Quit();
imagepng($im, "iesnap.png");
imagedestroy($im);
?>

Anmerkungen

Hinweis:

This function is only available on Windows.

Siehe auch

  • imagegrabscreen() - Captures the whole screen

imagegrabscreen
imageinterlace
GD- und Image-Funktionen


Schaltet die Interlaced-Darstellung eines Bildes an oder aus

imagegrabwindow
imageistruecolor
GD- und Image-Funktionen
PHP Manual

imageinterlace

(PHP 4, PHP 5, PHP 7)

imageinterlace — Schaltet die Interlaced-Darstellung eines Bildes an oder aus

Beschreibung:

int imageinterlace ( resource $im [, int $interlace ] )

Mit der Funktion imageInterlace() setzen Sie das Bit für die interlaced-Darstellung eines Bildes auf An (1) oder Aus (0).

Als Rückgabewert erhalten Sie die aktuelle Einstellung des Interlaced-Modus.

imagegrabwindow
imageistruecolor
GD- und Image-Funktionen


Finds whether an image is a truecolor image

imageinterlace
imagejpeg
GD- und Image-Funktionen
PHP Manual

imageistruecolor

(PHP 4 >= 4.3.2, PHP 5, PHP 7)

imageistruecolor — Finds whether an image is a truecolor image

Beschreibung

bool imageistruecolor ( resource $image )

imageistruecolor() finds whether the image image is a truecolor image.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

Rückgabewerte

Returns TRUE if the image is truecolor, FALSE otherwise.

Beispiele

Beispiel #1 Simple detection of true color image instances using imageistruecolor()

<?php
// $im is an image instance

// Check if image is a true color image or not
if(!imageistruecolor($im))
{
    // Create a new true color image instance
    $tc = imagecreatetruecolor(imagesx($im), imagesy($im));

    // Copy over the pixels
    imagecopy($tc, $im, 0, 0, 0, 0, imagesx($im), imagesy($im));
    imagedestroy($im);

    $im = $tc;
    $tc = NULL;

    // OR use imagepalettetotruecolor()
}

// Continue working with image instance
?>

Siehe auch

  • imagecreatetruecolor() - Create a new true color image
  • imagepalettetotruecolor() - Converts a palette based image to true color

imageinterlace
imagejpeg
GD- und Image-Funktionen


Gibt das Bild im Browser oder einer Datei aus.

imageistruecolor
imagelayereffect
GD- und Image-Funktionen
PHP Manual

imagejpeg

(PHP 4, PHP 5, PHP 7)

imagejpeg — Gibt das Bild im Browser oder einer Datei aus.

Beschreibung

bool imagejpeg ( resource $image [, mixed $to [, int $quality ]] )

imagejpeg() erzeugt eine JPEG-Datei aus dem übergebenen image.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

to

Der Pfad unter dem das Bild gespeichert werden soll. Ist dies nicht gesetzt oder NULL wird der rohe Bilddatenstrom direkt ausgegeben.

Um diesen Parameter zu übergehen, um den Parameter quality anzugeben kann NULL verwendet werden.

quality

quality ist optional und es kann ein Wert zwischen 0 (schlechteste Qualität, kleine Datei) und 100 (beste Qualität, größte Datei) übergeben werden. Der Standardwert ist der standardmäßige IJG-Qualitätswert (ungefähr 75).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Ein Bild an den Browser ausgeben

<?php
// Erzeut ein leeres Bild und fügt ein wenig Text hinzu
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'A Simple Text String', $text_color);

// Die Content-Type-Kopfzeile senden, in diesem Fall image/jpeg
header('Content-Type: image/jpeg');

// Das Bild ausgeben
imagejpeg($im);

// Den Speicher freigeben
imagedestroy($im);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ausgabe des Beispiels: Ein Bild ausgeben

Beispiel #2 Ein Bild in eine Datei speichern

<?php
// Erzeugt ein leeres Bild und fügt ein wenig Text hinzu
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'A Simple Text String', $text_color);

// Das Bild als 'simpletext.jpg' speichern
imagejpeg($im, 'simpletext.jpg');

// Den Speicher freigeben
imagedestroy($im);
?>

Beispiel #3 Das Bild mit 75% Qualität an den Browser ausgeben

<?php
// Erzeugt ein leeres Bild und fügt ein wenig Text hinzu
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'A Simple Text String', $text_color);

// Die Content-Type-Kopfzeile senden, in diesem Fall image/jpeg
header('Content-Type: image/jpeg');

// Der Dateiname wird übergangen, indem NULL verwendet wird
// dann wird die Qualität auf 75% gesetzt
imagejpeg($im, NULL, 75);

// Den Speicher freigeben
imagedestroy($im);
?>

Anmerkungen

Hinweis:

Falls Progessive JPEGs ausgegeben werden sollen, so muss Interlacing mittels imageinterlace() eingeschaltet werden.

Changelog

Version | Beschreibung
5.4.0 | Unterstützung für die Übergabe einer Stream-Ressource (resource) an to wurde hinzugefügt.
5.4.0 | Es kann kein leerer String mehr für filename übergeben werden, um diesen Parameter zu überspringen.

Siehe auch

  • imagepng() - Ausgabe eines Bildes im Browser oder als Datei im PNG-Format
  • imagegif() - Gibt das Bild im Browser oder einer Datei aus.
  • imagewbmp() - Gibt das Bild im Browser oder einer Datei aus.
  • imageinterlace() - Schaltet die Interlaced-Darstellung eines Bildes an oder aus
  • imagetypes() - Gibt die von der aktuell verwendeten PHP-Version unterstützten Grafik-Formate zurück

imageistruecolor
imagelayereffect
GD- und Image-Funktionen


Set the alpha blending flag to use layering effects

imagejpeg
imageline
GD- und Image-Funktionen
PHP Manual

imagelayereffect

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

imagelayereffect — Set the alpha blending flag to use layering effects

Beschreibung

bool imagelayereffect ( resource $image , int $effect )

Set the alpha blending flag to use layering effects.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

effect

One of the following constants:

IMG_EFFECT_REPLACE
Use pixel replacement (equivalent of passing TRUE to imagealphablending())
IMG_EFFECT_ALPHABLEND
Use normal pixel blending (equivalent of passing FALSE to imagealphablending())
IMG_EFFECT_NORMAL
Same as IMG_EFFECT_ALPHABLEND.
IMG_EFFECT_OVERLAY
Overlay has the effect that black background pixels will remain black, white background pixels will remain white, but grey background pixels will take the colour of the foreground pixel.
IMG_EFFECT_MULTIPLY
Overlays with a multiply effect.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
7.2.0 | Added IMG_EFFECT_MULTIPLY (requires system libgd >= 2.1.1 or the bundled libgd).

Beispiele

Beispiel #1 imagelayereffect() example

<?php
// Setup an image
$im = imagecreatetruecolor(100, 100);

// Set a background
imagefilledrectangle($im, 0, 0, 100, 100, imagecolorallocate($im, 220, 220, 220));

// Apply the overlay alpha blending flag
imagelayereffect($im, IMG_EFFECT_OVERLAY);

// Draw two grey ellipses
imagefilledellipse($im, 50, 50, 40, 40, imagecolorallocate($im, 100, 255, 100));
imagefilledellipse($im, 50, 50, 50, 80, imagecolorallocate($im, 100, 100, 255));
imagefilledellipse($im, 50, 50, 80, 50, imagecolorallocate($im, 255, 100, 100));

// Output
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Output of example : imagelayereffect()

Anmerkungen

Before PHP 5.5.0, this function is only available if PHP is compiled with the bundled version of the GD library.

imagejpeg
imageline
GD- und Image-Funktionen


Zeichnen einer Linie

imagelayereffect
imageloadfont
GD- und Image-Funktionen
PHP Manual

imageline

(PHP 4, PHP 5, PHP 7)

imageline — Zeichnen einer Linie

Beschreibung:

int imageline ( resource $im , int $x1 , int $y1 , int $x2 , int $y2 , int $col )

ImageLine() zeichnet eine Linie von der x1 / y1 Koordinate bis zur Kordinate x2 / y2 (die Koordinate 0 / 0 ist die obere linke Ecke von im). Die Linienfarbe wird durch col festgelegt.

Siehe auch imagecreate() und imagecolorallocate().

imagelayereffect
imageloadfont
GD- und Image-Funktionen


Lädt einen neuen Font

imageline
imageopenpolygon
GD- und Image-Funktionen
PHP Manual

imageloadfont

(PHP 4, PHP 5, PHP 7)

imageloadfont — Lädt einen neuen Font

Beschreibung:

int imageloadfont ( string $file )

ImageLoadFont() lädt einen vom Benutzer definierten Bitmap-Font und gibt einen Zeiger auf diesen zurück. Dessen Wert ist immer größer als 5, um Konflikte mit den eingebauten Fonts zu vermeiden.

Das Font-Datei-Format unterliegt binären Abhängigkeiten und ist von Rechner-Typ zu Rechner-Typ unterschiedlich. Das bedeutet, dass Sie die Font-Dateien immer auf dem Rechner-Typ erzeugen müssen, auf dem diese Verwendung finden.

Font-Datei-Format
Byte-Position | C Daten-Typ | Beschreibung
Byte 0-3 | int | Anzahl der Zeichen des Font
Byte 4-7 | int | Wert des ersten Zeichens des Fonts (meist 32 für Leerzeichen)
Byte 8-11 | int | Pixel-Breite jedes Zeichens
Byte 12-15 | int | Pixel-Höhe jedes Zeichens
Byte 16- | Zeichen | Zeichen-Daten als Array, ein Byte je Pixel für jedes Zeichen; in der Summe also (Anzahl-Zeichen * Breite * Höhe)-Bytes.

Siehe auch imagefontwidth() und imagefontheight().

imageline
imageopenpolygon
GD- und Image-Funktionen


Draws an open polygon

imageloadfont
imagepalettecopy
GD- und Image-Funktionen
PHP Manual

imageopenpolygon

(PHP 7 >= 7.2.0)

imageopenpolygon — Draws an open polygon

Beschreibung

bool imageopenpolygon ( resource $image , array $points , int $num_points , int $color )

imageopenpolygon() draws an open polygon on the given image. Contrary to imagepolygon(), no line is drawn between the last and the first point.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

points

An array containing the polygon's vertices, e.g.:

points[0] | = x0
points[1] | = y0
points[2] | = x1
points[3] | = y1

num_points

Total number of points (vertices).

color

A color identifier created with imagecolorallocate().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 imageopenpolygon() example

<?php
// Create a blank image
$image = imagecreatetruecolor(400, 300);

// Allocate a color for the polygon
$col_poly = imagecolorallocate($image, 255, 255, 255);

// Draw the polygon
imageopenpolygon($image, array(
        0,   0,
        100, 200,
        300, 200
    ),
    3,
    $col_poly);

// Output the picture to the browser
header('Content-type: image/png');

imagepng($image);
imagedestroy($image);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Output of example : imageopenpolygon()

Siehe auch

  • imagepolygon() - Zeichnen eines Vielecks (Polygon)

imageloadfont
imagepalettecopy
GD- und Image-Funktionen


Copy the palette from one image to another

imageopenpolygon
imagepalettetotruecolor
GD- und Image-Funktionen
PHP Manual

imagepalettecopy

(PHP 4 >= 4.0.1, PHP 5, PHP 7)

imagepalettecopy — Copy the palette from one image to another

Beschreibung

void imagepalettecopy ( resource $destination , resource $source )

imagepalettecopy() copies the palette from the source image to the destination image.

Parameter-Liste

destination

The destination image resource.

source

The source image resource.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 imagepalettecopy() example

<?php
// Create two palette images
$palette1 = imagecreate(100, 100);
$palette2 = imagecreate(100, 100);

// Allocate the background to be
// green in the first palette image
$green = imagecolorallocate($palette1, 0, 255, 0);

// Copy the palette from image 1 to image 2
imagepalettecopy($palette2, $palette1);

// Since the palette is now copied we can use the
// green color allocated to image 1 without using
// imagecolorallocate() twice
imagefilledrectangle($palette2, 0, 0, 99, 99, $green);

// Output image to the browser
header('Content-type: image/png');

imagepng($palette2);
imagedestroy($palette1);
imagedestroy($palette2);
?>

imageopenpolygon
imagepalettetotruecolor
GD- und Image-Funktionen


Converts a palette based image to true color

imagepalettecopy
imagepng
GD- und Image-Funktionen
PHP Manual

imagepalettetotruecolor

(PHP 5 >= 5.5.0, PHP 7)

imagepalettetotruecolor — Converts a palette based image to true color

Beschreibung

bool imagepalettetotruecolor ( resource $src )

Converts a palette based image, created by functions like imagecreate() to a true color image, like imagecreatetruecolor().

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

Rückgabewerte

Returns TRUE if the convertion was complete, or if the source image already is a true color image, otherwise FALSE is returned.

Beispiele

Beispiel #1 Converts any image resource to true color

<?php
// Backwards compatiblity
if(!function_exists('imagepalettetotruecolor'))
{
    function imagepalettetotruecolor(&$src)
    {
        if(imageistruecolor($src))
        {
            return(true);
        }

        $dst = imagecreatetruecolor(imagesx($src), imagesy($src));

        imagecopy($dst, $src, 0, 0, 0, 0, imagesx($src), imagesy($src));
        imagedestroy($src);

        $src = $dst;

        return(true);
    }
}

// Helper closure
$typeof = function() use($im)
{
    echo 'typeof($im) = ' . (imageistruecolor($im) ? 'true color' : 'palette'), PHP_EOL;
};

// Create a palette based image
$im = imagecreate(100, 100);
$typeof();

// Convert it to true color
imagepalettetotruecolor($im);
$typeof();

// Free the memory
imagedestroy($im);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

typeof($im) = palette
typeof($im) = true color

Siehe auch

  • imagecreatetruecolor() - Create a new true color image
  • imageistruecolor() - Finds whether an image is a truecolor image

imagepalettecopy
imagepng
GD- und Image-Funktionen


Ausgabe eines Bildes im Browser oder als Datei im PNG-Format

imagepalettetotruecolor
imagepolygon
GD- und Image-Funktionen
PHP Manual

imagepng

(PHP 4, PHP 5, PHP 7)

imagepng — Ausgabe eines Bildes im Browser oder als Datei im PNG-Format

Beschreibung

bool imagepng ( resource $image [, mixed $to [, int $quality [, int $filters ]]] )

Erzeugt eine PNG-Datei aus dem übergebenen image oder gibt diese direkt aus.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

to

Der Pfad unter dem das Bild gespeichert werden soll. Ist dies nicht gesetzt oder NULL wird der rohe Bilddatenstrom direkt ausgegeben.

Hinweis:

NULL ist ungültig, wenn die Parameter quality und filters nicht übergeben werden.

quality

Kompressionsstufe: Von 0 (keine Kompression) bis 9.

filters

Erlaubt einer Verkleinerung der PNG-Dateigröße. Dies ist ein Bitfeld, welches beliebig aus den PNG_FILTER_XXX-Konstanten zusammengesetzt werden kann. PNG_NO_FILTER oder PNG_ALL_FILTERS können verwendet werden, um entweder alle Filter aus- oder einzuschalten.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.4.0 | Unterstützung für die Übergabe einer Stream-Ressource (resource) an to wurde hinzugefügt.
5.1.3 | Der filters-Parameter wurde hinzugefügt.
5.1.2 | Der quality-Parameter wurde hinzugefügt.

Beispiele

<?php
$im = imagecreatefrompng("test.png");

header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
?>

Siehe auch

  • imagegif() - Gibt das Bild im Browser oder einer Datei aus.
  • imagewbmp() - Gibt das Bild im Browser oder einer Datei aus.
  • imagejpeg() - Gibt das Bild im Browser oder einer Datei aus.
  • imagetypes() - Gibt die von der aktuell verwendeten PHP-Version unterstützten Grafik-Formate zurück
  • imagesavealpha() - Set the flag to save full alpha channel information (as opposed to single-color transparency) when saving PNG images

imagepalettetotruecolor
imagepolygon
GD- und Image-Funktionen


Zeichnen eines Vielecks (Polygon)

imagepng
imagepsbbox
GD- und Image-Funktionen
PHP Manual

imagepolygon

(PHP 4, PHP 5, PHP 7)

imagepolygon — Zeichnen eines Vielecks (Polygon)

Beschreibung:

int imagepolygon ( resource $im , array $points , int $num_points , int $col )

ImagePolygon() erzeugt ein Vieleck innerhalb von im. Points ist ein PHP-Array, das die Werte für die Eckpunkte des Polygons enthält, z.B. Points[0] = x0, Points[1] = y0, Points[2] = x1, Points[3] = y1 usw. Num_points enthält die Gesamtzahl an Points (Points[n]).

Siehe auch imagecreate() und imagefilledpolygon().

imagepng
imagepsbbox
GD- und Image-Funktionen


Ermittelt die Ausmaße des Rechtecks, das für die Ausgabe eines Textes unter Verwendung eines PostScript-Fonts (Typ 1) notwendig ist.

imagepolygon
imagepsencodefont
GD- und Image-Funktionen
PHP Manual

imagepsbbox

(PHP 4, PHP 5)

imagepsbbox — Ermittelt die Ausmaße des Rechtecks, das für die Ausgabe eines Textes unter Verwendung eines PostScript-Fonts (Typ 1) notwendig ist.

Beschreibung:

array imagepsbbox ( string $text , int $font , int $size [, int $space [, int $tightness [, float $angle ]]] )

Size ist die Größe in Pixel.

Space ermöglicht ihnen, den vorgegebenen Wert für den Zeichen-Zwischenraum eines Fonts anzugeben. Dieser Wert wird zum Normal-Wert hinzu gezählt und kann auch negativ sein.

Tightness ermöglicht ihnen die Kontrolle über die Breite eines Leerzeichens. Der angegebene Wert wird zur normalen Zeichenbreite hinzu gezählt und kann auch negativ sein.

Angle (Winkel) wird in Grad angegeben und beinhaltet den Drehungswinkel des auszugebenden Textes.

Die Parameter space und tightness haben als Einheit die Zeichenbreite, wobei der Wert 1 gleich 1/1000stel der Breite des Zeichens 'm' entspricht (Maß 'em').

Die Parameter space, tightness und angle sind optional.

Das umgebende Rechteck wird berechnet unter Verwendung der für die Zeichen-Abmessungen verfügbaren Informationen und unterscheidet sich immer etwas von den aktuellen Raster-Werten des Textes. Ist der Winkel (angle) mit 0 angegeben, können Sie davon ausgehen, dass der Text in jede Richtung immer 1 Pixel mehr braucht als sonst.

Diese Funktion gibt ein Array zurück, welches die folgenden Elemente enthält:

0 | untere linke x-Koordinate
1 | untere linke y-Koordinate
2 | obere rechte x-Koordinate
3 | obere rechte y-Koordinate

Siehe auch imagepstext().

imagepolygon
imagepsencodefont
GD- und Image-Funktionen


Ändert die Vektor-Beschreibung eines Fonts

imagepsbbox
imagepsextendfont
GD- und Image-Funktionen
PHP Manual

imagepsencodefont

(PHP 4, PHP 5)

imagepsencodefont — Ändert die Vektor-Beschreibung eines Fonts

Beschreibung:

int imagepsencodefont ( string $encodingfile )

Lädt einen Zeichen-Beschreibungs-Vektor aus einer Datei und verändert die Vektor-Beschreibung des Fonts. Da ein PS-Font meist Lücken oberhalb des 127. Zeichens aufweist, werden Sie dies oft anpassen wollen, sofern Sie eine andere Sprache als Englisch benutzen. Das genaue Dateiformat ist in der Dokumentation zu T1Lib beschrieben. T1Lib wird mit zwei gebrauchsfertigen Beschreibungsdateien (IsoLatin1.enc und IsoLatin2.enc) ausgeliefert.

Sollten Sie diese Funktion ständig benutzen, ist es besser, diese Beschreibungs-Datei innerhalb der Konfigurations-Datei bei ps.default_encoding anzugeben. Dadurch wird immer die richtige Datei geladen und die Zeichen haben damit die richtige Beschreibung.

imagepsbbox
imagepsextendfont
GD- und Image-Funktionen


Vergrößert oder komprimiert einen Font

imagepsencodefont
imagepsfreefont
GD- und Image-Funktionen
PHP Manual

imagepsextendfont

(PHP 4, PHP 5)

imagepsextendfont — Vergrößert oder komprimiert einen Font

Beschreibung:

bool imagepsextendfont ( int $font_index , double $extend )

Der mit font_index angegebene Font wird gedehnt (extend ist größer als der Font) oder verkleinert (extend ist kleiner als der Font).

imagepsencodefont
imagepsfreefont
GD- und Image-Funktionen


Gibt den durch einen Typ 1 PostScript-Font belegten Speicher wieder frei

imagepsextendfont
imagepsloadfont
GD- und Image-Funktionen
PHP Manual

imagepsfreefont

(PHP 4, PHP 5)

imagepsfreefont — Gibt den durch einen Typ 1 PostScript-Font belegten Speicher wieder frei

Beschreibung:

void imagepsfreefont ( int $fontindex )

Siehe auch imagepsloadfont().

imagepsextendfont
imagepsloadfont
GD- und Image-Funktionen


Lädt einen Typ 1 PostScript-Font aus einer Datei

imagepsfreefont
imagepsslantfont
GD- und Image-Funktionen
PHP Manual

imagepsloadfont

(PHP 4, PHP 5)

imagepsloadfont — Lädt einen Typ 1 PostScript-Font aus einer Datei

Beschreibung:

int imagepsloadfont ( string $filename )

Wenn alles in Ordnung ist, wird ein gültiger Zeiger (Index) zurück gegeben, auf den Sie immer wieder zurück greifen können; ansonsten wird FALSE zurück und eine Fehlermeldung ausgegeben.

Siehe auch imagepsfreefont().

imagepsfreefont
imagepsslantfont
GD- und Image-Funktionen


Setzt einen Font schräg

imagepsloadfont
imagepstext
GD- und Image-Funktionen
PHP Manual

imagepsslantfont

(PHP 4, PHP 5)

imagepsslantfont — Setzt einen Font schräg

Beschreibung:

bool imagepsslantfont ( int $font_index , double $slant )

Der mit font_index angegebene Font wird um den Faktor slant "verschrägt" (italic!).

imagepsloadfont
imagepstext
GD- und Image-Funktionen


Ausgabe eines Textes auf einem Bild unter Verwendung von Typ 1 PostScript-Fonts

imagepsslantfont
imagerectangle
GD- und Image-Funktionen
PHP Manual

imagepstext

(PHP 4, PHP 5)

imagepstext — Ausgabe eines Textes auf einem Bild unter Verwendung von Typ 1 PostScript-Fonts

Beschreibung:

array imagepstext ( resource $image , string $text , int $font , int $size , int $foreground , int $background , int $x , int $y [, int $ space [, int $ tightness [, float $ angle [, int $ antialias_steps ]]]] )

Size wird in Pixel ausgedrückt.

Foreground ist die Text-Ausgabefarbe (Vordergrund). Background ist die Farbe, zu der ein Farbübergang versucht werden soll. Dabei wird kein Pixel mit der Farbe Background ausgegeben, so dass das Bild im Hintergrund keine festen Farben benötigt.

Die Koordinaten x und y definieren den Ursprung (bzw. den Referenz-Punkt) des ersten Zeichens (ungefähr die linke untere Ecke). Dies ist anders als bei der ImageString()-Funktion, wo x und y die obere linke Ecke des ersten Zeichens angeben. Lesen Sie in der Dokumentation zu PostScript und seines Maßsystems nach, falls Sie die Funktionsweise nicht verstehen.

Space ermöglicht Ihnen, die Standardbreite eines Leerzeichens zu verändern. Der angegebene Wert wird zum Standardwert hinzuaddiert und kann auch negativ sein.

Tightness ermöglicht die Kontrolle über die Breite des Zeichenzwischenräume. Der angegebene Wert wird zur normalen Zeichenbreite hinzuaddiert und kann auch negativ sein.

Angle wird in Grad angegeben und hat die entsprechende Drehung des Ausgabetextes zur Folge.

Antialias_steps erlaubt die Kontrolle über die Anzahl der Farben, mit der der Farbübergang vom Text zum Hintergrundbild vorgenommen werden soll. Möglich sind Werte von 4 bis 16. Der höhere Wert wird empfohlen bei Textgrößen kleiner als 20, wo der Effekt bei der Textqualität deutlich sichtbar ist. Bei größeren Werten als 20 werden 4 Farben empfohlen. Das ist weniger rechenintensiv.

Die Parameter space und tightness werden in 1/1000-stel der Breite des Buchstabens "m" (Einheit 'em') angegeben.

Die Parameter space, tightness, angle und antialias sind optional.

Diese Funktion gibt ein Array mit den folgenden Werten zurück:

0 | untere linke X-Koordinate
1 | untere linke Y-Koordinate
2 | obere rechte X-Koordinate
3 | obere rechte Y-Koordinate

Siehe auch imagepsbbox().

imagepsslantfont
imagerectangle
GD- und Image-Funktionen


Zeichnet ein Rechteck

imagepstext
imageresolution
GD- und Image-Funktionen
PHP Manual

imagerectangle

(PHP 4, PHP 5, PHP 7)

imagerectangle — Zeichnet ein Rechteck

Beschreibung:

int imagerectangle ( resource $im , int $x1 , int $y1 , int $x2 , int $y2 , int $col )

ImageRectangle() erzeugt ein Rechteck mit der Linienfarbe col, beginnend bei der oberen linken Koordinate X1 und Y1. Das Ende liegt bei der unteren rechten Koordinate X2 und Y2. Dabei ist 0, 0 die linke obere Ecke des Bildes im.

imagepstext
imageresolution
GD- und Image-Funktionen


Get or set the resolution of the image

imagerectangle
imagerotate
GD- und Image-Funktionen
PHP Manual

imageresolution

(PHP 7 >= 7.2.0)

imageresolution — Get or set the resolution of the image

Beschreibung

mixed imageresolution ( resource $image [, int $res_x [, int $res_y ]] )

imageresolution() allows to set and get the resolution of an image in DPI (dots per inch). If none of the optional parameters is given, the current resolution is returned as indexed array. If only res_x is given, the horizontal and vertical resolution are set to this value. If both optional parameters are given, the horizontal and vertical resolution are set to these values, respectively.

The resolution is only used as meta information when images are read from and written to formats supporting this kind of information (curently PNG and JPEG). It does not affect any drawing operations. The default resolution for new images is 96 DPI.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

res_x

The horizontal resolution in DPI.

res_y

The vertical resolution in DPI.

Rückgabewerte

When used as getter (that is without the optional parameters), it returns TRUE on success, Im Fehlerfall wird FALSE zurückgegeben.. When used as setter (that is with one or both optional parameters given), it returns an indexed array of the horizontal and vertical resolution on success, Im Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 Setting and getting the resolution of an image

<?php
$im = imagecreatetruecolor(100, 100);
imageresolution($im, 200);
print_r(imageresolution($im));
imageresolution($im, 300, 72);
print_r(imageresolution($im));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => 200
    [1] => 200
)
Array
(
    [0] => 300
    [1] => 72
)
imagerectangle
imagerotate
GD- und Image-Funktionen


Rotate an image with a given angle

imageresolution
imagesavealpha
GD- und Image-Funktionen
PHP Manual

imagerotate

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

imagerotate — Rotate an image with a given angle

Beschreibung

resource imagerotate ( resource $image , float $angle , int $bgd_color [, int $ignore_transparent = 0 ] )

Rotates the image image using the given angle in degrees.

The center of rotation is the center of the image, and the rotated image may have different dimensions than the original image.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

angle

Rotation angle, in degrees. The rotation angle is interpreted as the number of degrees to rotate the image anticlockwise.

bgd_color

Specifies the color of the uncovered zone after the rotation

ignore_transparent

If set and non-zero, transparent colors are ignored (otherwise kept).

Rückgabewerte

Returns an image resource for the rotated image, Im Fehlerfall wird FALSE zurückgegeben..

Changelog

Version | Beschreibung
5.5.0 | The ignore_transparent is now silently ignored.
5.5.0 | This function is now affected by the interpolation method set by the imagesetinterpolation() function.
5.1.0 | ignore_transparent was added.

Beispiele

Beispiel #1 Rotate an image 180 degrees

This example rotates an image 180 degrees - upside down.

<?php
// File and rotation
$filename = 'test.jpg';
$degrees = 180;

// Content type
header('Content-type: image/jpeg');

// Load
$source = imagecreatefromjpeg($filename);

// Rotate
$rotate = imagerotate($source, $degrees, 0);

// Output
imagejpeg($rotate);

// Free the memory
imagedestroy($source);
imagedestroy($rotate);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Output of example : Rotate an image 180 degrees

Anmerkungen

Hinweis:

Diese Funktion wird von der mittels imagesetinterpolation() eingestellten Interpolationsmethode beeinflusst.

Siehe auch

  • imagesetinterpolation() - Set the interpolation method

imageresolution
imagesavealpha
GD- und Image-Funktionen


Set the flag to save full alpha channel information (as opposed to single-color transparency) when saving PNG images

imagerotate
imagescale
GD- und Image-Funktionen
PHP Manual

imagesavealpha

(PHP 4 >= 4.3.2, PHP 5, PHP 7)

imagesavealpha — Set the flag to save full alpha channel information (as opposed to single-color transparency) when saving PNG images

Beschreibung

bool imagesavealpha ( resource $image , bool $saveflag )

imagesavealpha() sets the flag to attempt to save full alpha channel information (as opposed to single-color transparency) when saving PNG images.

You have to unset alphablending (imagealphablending($im, false)), to use it.

Alpha channel is not supported by all browsers, if you have problem with your browser, try to load your script with an alpha channel compliant browser, e.g. latest Mozilla.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

saveflag

Whether to save the alpha channel or not. Default to FALSE.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 imagesavealpha() example

<?php
// Load a png image with alpha channels
$png = imagecreatefrompng('./alphachannel_example.png');

// Do required operations

// Turn off alpha blending and set alpha flag
imagealphablending($png, false);
imagesavealpha($png, true);

// Output image to browser
header('Content-Type: image/png');

imagepng($png);
imagedestroy($png);
?>

Siehe auch

  • imagealphablending() - Set the blending mode for an image

imagerotate
imagescale
GD- und Image-Funktionen


Scale an image using the given new width and height

imagesavealpha
imagesetbrush
GD- und Image-Funktionen
PHP Manual

imagescale

(PHP 5 >= 5.5.0, PHP 7)

imagescale — Scale an image using the given new width and height

Beschreibung

resource imagescale ( resource $image , int $new_width [, int $new_height = -1 [, int $mode = IMG_BILINEAR_FIXED ]] )

imagescale() scales an image using the given interpolation algorithm.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

new_width

The width to scale the image to.

new_height

The height to scale the image to. If omitted or negative, the aspect ratio will be preserved.

Achtung

You should always provide the height if using PHP 5.5.18 or earlier, or PHP 5.6.2 or earlier, as the aspect ratio calculation was incorrect.

mode

One of IMG_NEAREST_NEIGHBOUR, IMG_BILINEAR_FIXED, IMG_BICUBIC, IMG_BICUBIC_FIXED or anything else (will use two pass).

Hinweis: IMG_WEIGHTED4 is not yet supported.

Rückgabewerte

Return the scaled image resource on successIm Fehlerfall wird FALSE zurückgegeben..

Changelog

Version | Beschreibung
5.5.19/5.6.3 | The calculation of the height if new_height was negative or omitted was fixed; prior to these versions, the aspect ratio was not maintained correctly.

imagesavealpha
imagesetbrush
GD- und Image-Funktionen


Set the brush image for line drawing

imagescale
imagesetclip
GD- und Image-Funktionen
PHP Manual

imagesetbrush

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

imagesetbrush — Set the brush image for line drawing

Beschreibung

bool imagesetbrush ( resource $image , resource $brush )

imagesetbrush() sets the brush image to be used by all line drawing functions (such as imageline() and imagepolygon()) when drawing with the special colors IMG_COLOR_BRUSHED or IMG_COLOR_STYLEDBRUSHED.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

brush

An image resource.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 imagesetbrush() example

<?php
// Load a mini php logo
$php = imagecreatefrompng('./php.png');

// Create the main image, 100x100
$im = imagecreatetruecolor(100, 100);

// Fill the background with white
$white = imagecolorallocate($im, 255, 255, 255);
imagefilledrectangle($im, 0, 0, 299, 99, $white);

// Set the brush
imagesetbrush($im, $php);

// Draw a couple of brushes, each overlaying each
imageline($im, 50, 50, 50, 60, IMG_COLOR_BRUSHED);

// Output image to the browser
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
imagedestroy($php);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Output of example : imagesetbrush()

Anmerkungen

Hinweis:

You need not take special action when you are finished with a brush, but if you destroy the brush image, you must not use the IMG_COLOR_BRUSHED or IMG_COLOR_STYLEDBRUSHED colors until you have set a new brush image!

imagescale
imagesetclip
GD- und Image-Funktionen


Set the clipping rectangle

imagesetbrush
imagesetinterpolation
GD- und Image-Funktionen
PHP Manual

imagesetclip

(PHP 7.2)

imagesetclip — Set the clipping rectangle

Beschreibung

bool imagesetclip ( resource $im , int $x1 , int $y1 , int $x2 , int $y2 )

imagesetclip() sets the current clipping rectangle, i.e. the area beyond which no pixels will be drawn.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

x1

The x-coordinate of the upper left corner.

y1

The y-coordinate of the upper left corner.

x2

The x-coordinate of the lower right corner.

y2

The y-coordinate of the lower right corner.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • imagegetclip() - Get the clipping rectangle
imagesetbrush
imagesetinterpolation
GD- und Image-Funktionen


Set the interpolation method

imagesetclip
imagesetpixel
GD- und Image-Funktionen
PHP Manual

imagesetinterpolation

(PHP 5 >= 5.5.0, PHP 7)

imagesetinterpolation — Set the interpolation method

Beschreibung

bool imagesetinterpolation ( resource $image [, int $method = IMG_BILINEAR_FIXED ] )

Sets the interpolation method, setting an interpolation method affects the rendering of various functions in GD, such as the imagerotate() function.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

method

The interpolation method, which can be one of the following:

  • IMG_BELL: Bell filter.
  • IMG_BESSEL: Bessel filter.
  • IMG_BICUBIC: Bicubic interpolation.
  • IMG_BICUBIC_FIXED: Fixed point implementation of the bicubic interpolation.
  • IMG_BILINEAR_FIXED: Fixed point implementation of the bilinear interpolation (default (also on image creation)).
  • IMG_BLACKMAN: Blackman window function.
  • IMG_BOX: Box blur filter.
  • IMG_BSPLINE: Spline interpolation.
  • IMG_CATMULLROM: Cubic Hermite spline interpolation.
  • IMG_GAUSSIAN: Gaussian function.
  • IMG_GENERALIZED_CUBIC: Generalized cubic spline fractal interpolation.
  • IMG_HERMITE: Hermite interpolation.
  • IMG_HAMMING: Hamming filter.
  • IMG_HANNING: Hanning filter.
  • IMG_MITCHELL: Mitchell filter.
  • IMG_POWER: Power interpolation.
  • IMG_QUADRATIC: Inverse quadratic interpolation.
  • IMG_SINC: Sinc function.
  • IMG_NEAREST_NEIGHBOUR: Nearest neighbour interpolation.
  • IMG_WEIGHTED4: Weighting filter.
  • IMG_TRIANGLE: Triangle interpolation.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 imagesetinterpolation() example

<?php
// Load an image
$im = imagecreate(500, 500);

// By default interpolation is IMG_BILINEAR_FIXED, switch
// to use the 'Mitchell' filter:
imagesetinterpolation($im, IMG_MITCHELL);

// Continue to work with $im ...
?>

Anmerkungen

Changing the interpolation method affects the following functions when rendering:

  • imageaffine()
  • imagerotate()

imagesetclip
imagesetpixel
GD- und Image-Funktionen


Setzt ein einzelnes Pixel

imagesetinterpolation
imagesetstyle
GD- und Image-Funktionen
PHP Manual

imagesetpixel

(PHP 4, PHP 5, PHP 7)

imagesetpixel — Setzt ein einzelnes Pixel

Beschreibung:

int imagesetpixel ( resource $im , int $x , int $y , int $col )

ImageSetPixel() zeichnet ein Pixel an der Koordinate x / y. Dabei ist die Koordinate 0, 0 die linke obere Ecke des Bildes im. Die Pixelfarbe wird durch col bestimmt.

Siehe auch imagecreate() und imagecolorallocate().

imagesetinterpolation
imagesetstyle
GD- und Image-Funktionen


Set the style for line drawing

imagesetpixel
imagesetthickness
GD- und Image-Funktionen
PHP Manual

imagesetstyle

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

imagesetstyle — Set the style for line drawing

Beschreibung

bool imagesetstyle ( resource $image , array $style )

imagesetstyle() sets the style to be used by all line drawing functions (such as imageline() and imagepolygon()) when drawing with the special color IMG_COLOR_STYLED or lines of images with color IMG_COLOR_STYLEDBRUSHED.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

style

An array of pixel colors. You can use the IMG_COLOR_TRANSPARENT constant to add a transparent pixel. Note that style must not be an empty array.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Following example script draws a dashed line from upper left to lower right corner of the canvas:

Beispiel #1 imagesetstyle() example

<?php
header("Content-type: image/jpeg");
$im  = imagecreatetruecolor(100, 100);
$w   = imagecolorallocate($im, 255, 255, 255);
$red = imagecolorallocate($im, 255, 0, 0);

/* Draw a dashed line, 5 red pixels, 5 white pixels */
$style = array($red, $red, $red, $red, $red, $w, $w, $w, $w, $w);
imagesetstyle($im, $style);
imageline($im, 0, 0, 100, 100, IMG_COLOR_STYLED);

/* Draw a line of happy faces using imagesetbrush() with imagesetstyle */
$style = array($w, $w, $w, $w, $w, $w, $w, $w, $w, $w, $w, $w, $red);
imagesetstyle($im, $style);

$brush = imagecreatefrompng("http://www.libpng.org/pub/png/images/smile.happy.png");
$w2 = imagecolorallocate($brush, 255, 255, 255);
imagecolortransparent($brush, $w2);
imagesetbrush($im, $brush);
imageline($im, 100, 0, 0, 100, IMG_COLOR_STYLEDBRUSHED);

imagejpeg($im);
imagedestroy($im);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Output of example : imagesetstyle()

Siehe auch

  • imagesetbrush() - Set the brush image for line drawing
  • imageline() - Zeichnen einer Linie

imagesetpixel
imagesetthickness
GD- und Image-Funktionen


Set the thickness for line drawing

imagesetstyle
imagesettile
GD- und Image-Funktionen
PHP Manual

imagesetthickness

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

imagesetthickness — Set the thickness for line drawing

Beschreibung

bool imagesetthickness ( resource $image , int $thickness )

imagesetthickness() sets the thickness of the lines drawn when drawing rectangles, polygons, arcs etc. to thickness pixels.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

thickness

Thickness, in pixels.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 imagesetthickness() example

<?php
// Create a 200x100 image
$im = imagecreatetruecolor(200, 100);
$white = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);
$black = imagecolorallocate($im, 0x00, 0x00, 0x00);

// Set the background to be white
imagefilledrectangle($im, 0, 0, 299, 99, $white);

// Set the line thickness to 5
imagesetthickness($im, 5);

// Draw the rectangle
imagerectangle($im, 14, 14, 185, 85, $black);

// Output image to the browser
header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Output of example : imagesetthickness()

imagesetstyle
imagesettile
GD- und Image-Funktionen


Set the tile image for filling

imagesetthickness
imagestring
GD- und Image-Funktionen
PHP Manual

imagesettile

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

imagesettile — Set the tile image for filling

Beschreibung

bool imagesettile ( resource $image , resource $tile )

imagesettile() sets the tile image to be used by all region filling functions (such as imagefill() and imagefilledpolygon()) when filling with the special color IMG_COLOR_TILED.

A tile is an image used to fill an area with a repeated pattern. Any GD image can be used as a tile, and by setting the transparent color index of the tile image with imagecolortransparent(), a tile allows certain parts of the underlying area to shine through can be created.

Hinweis:

You need not take special action when you are finished with a tile, but if you destroy the tile image, you must not use the IMG_COLOR_TILED color until you have set a new tile image!

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

tile

The image resource to be used as a tile.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 imagesettile() example

<?php
// Load an external image
$zend = imagecreatefromgif('./zend.gif');

// Create a 200x200 image
$im = imagecreatetruecolor(200, 200);

// Set the tile
imagesettile($im, $zend);

// Make the image repeat
imagefilledrectangle($im, 0, 0, 199, 199, IMG_COLOR_TILED);

// Output image to the browser
header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
imagedestroy($zend);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Output of example : imagesettile()

imagesetthickness
imagestring
GD- und Image-Funktionen


Zeichnet einen horizontalen String

imagesettile
imagestringup
GD- und Image-Funktionen
PHP Manual

imagestring

(PHP 4, PHP 5, PHP 7)

imagestring — Zeichnet einen horizontalen String

Beschreibung:

int imagestring ( resource $im , int $font , int $x , int $y , string $s , int $col )

ImageString() gibt den String s in dem durch den Parameter im bezeichneten Bild an den Koordinaten x und y aus. Die Koordinaten 0, 0 geben die linke obere Ecke des Bildes im an. Der Font erscheint in der Farbe col. Hat font den Wert 1, 2, 3, 4 oder 5 wird ein interner Font benutzt.

Siehe auch imageloadfont().

imagesettile
imagestringup
GD- und Image-Funktionen


Zeichnet einen vertikalen String

imagestring
imagesx
GD- und Image-Funktionen
PHP Manual

imagestringup

(PHP 4, PHP 5, PHP 7)

imagestringup — Zeichnet einen vertikalen String

Beschreibung:

int imagestringup ( resource $im , int $font , int $x , int $y , string $s , int $col )

ImageStringUp() gibt den String s vertikal innerhalb des Bildes im an den Koordinaten x und y aus. Die linke obere Ecke von im ist dabei 0, 0. Der Text wird in der Farbe col ausgegeben. Hat font den Wert 1, 2, 3, 4 oder 5 wird ein interner Font benutzt.

Siehe auch imageloadfont().

imagestring
imagesx
GD- und Image-Funktionen


Ermittelt die Bild-Breite

imagestringup
imagesy
GD- und Image-Funktionen
PHP Manual

imagesx

(PHP 4, PHP 5, PHP 7)

imagesx — Ermittelt die Bild-Breite

Beschreibung:

int imagesx ( resource $im )

ImageSX() ermittelt die Breite des Bildes, das durch im referenziert wird.

Siehe auch imagecreate() und imagesy().

imagestringup
imagesy
GD- und Image-Funktionen


Ermittelt die Bild-Höhe

imagesx
imagetruecolortopalette
GD- und Image-Funktionen
PHP Manual

imagesy

(PHP 4, PHP 5, PHP 7)

imagesy — Ermittelt die Bild-Höhe

Beschreibung:

int imagesy ( resource $im )

ImageSY() ermittelt die Höhe des Bildes, das durch im referenziert wird.

Siehe auch imagecreate() und imagesx().

imagesx
imagetruecolortopalette
GD- und Image-Funktionen


Convert a true color image to a palette image

imagesy
imagettfbbox
GD- und Image-Funktionen
PHP Manual

imagetruecolortopalette

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

imagetruecolortopalette — Convert a true color image to a palette image

Beschreibung

bool imagetruecolortopalette ( resource $image , bool $dither , int $ncolors )

imagetruecolortopalette() converts a truecolor image to a palette image. The code for this function was originally drawn from the Independent JPEG Group library code, which is excellent. The code has been modified to preserve as much alpha channel information as possible in the resulting palette, in addition to preserving colors as well as possible. This does not work as well as might be hoped. It is usually best to simply produce a truecolor output image instead, which guarantees the highest output quality.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

dither

Indicates if the image should be dithered - if it is TRUE then dithering will be used which will result in a more speckled image but with better color approximation.

ncolors

Sets the maximum number of colors that should be retained in the palette.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Converting a true color image to a palette-based image

<?php
// Create a new true color image
$im = imagecreatetruecolor(100, 100);

// Convert to palette-based with no dithering and 255 colors
imagetruecolortopalette($im, false, 255);

// Save the image
imagepng($im, './paletteimage.png');
imagedestroy($im);
?>

imagesy
imagettfbbox
GD- und Image-Funktionen


Ermittelt die Rahmenmaße für die Ausgabe eines Textes im True-Type-Format

imagetruecolortopalette
imagettftext
GD- und Image-Funktionen
PHP Manual

imagettfbbox

(PHP 4, PHP 5, PHP 7)

imagettfbbox — Ermittelt die Rahmenmaße für die Ausgabe eines Textes im True-Type-Format

Beschreibung:

array imagettfbbox ( int $size , int $angle , string $fontfile , string $text )

Diese Funktion errechnet die Größe des Bereichs für eine True-Type-Textausgabe.

text
Der zu messende Text
size
Die Font-Größe
fontfile
Der Name der TTF-Datei (kann auch eine URL sein)
angle
Der Winkel, in dem text ausgegeben wird
ImageTTFBBox() gibt ein Array mit acht Werten zurück. Diese enthalten die vier Punkte, durch die der Ausgabebereich markiert wird:
0 | untere linke Ecke, X-Position
1 | untere linke Ecke, Y-Position
2 | untere rechte Ecke, X-Position
3 | untere rechte Ecke, Y-Position
4 | obere rechte Ecke, X-Position
5 | obere rechte Ecke, Y-Position
6 | obere linke Ecke, X-Position
7 | obere linke Ecke, Y-Position
Die Punkte sind relativ zum text. Ohne Rücksicht auf den Winkel ist oben-links also die obere linke Ecke, wobei die Textausgabe horizontal gesehen wird.

Diese Funktion erfordert sowohl die GD- als auch die » FreeType-Bibliothek.

Siehe auch imagettftext().

imagetruecolortopalette
imagettftext
GD- und Image-Funktionen


Erzeugt TTF-Text im Bild

imagettfbbox
imagetypes
GD- und Image-Funktionen
PHP Manual

imagettftext

(PHP 4, PHP 5, PHP 7)

imagettftext — Erzeugt TTF-Text im Bild

Beschreibung:

array imagettftext ( resource $im , int $size , int $angle , int $x , int $y , int $col , string $fontfile , string $text )

ImageTTFText() zeichnet den Text text in das per im angegebene Bild, beginnend bei den Koordinaten x und y (oben links ist 0, 0) mit einem Ausgabewinkel von angle in der Farbe col unter Verwendung der TTF-Datei, die mittels fontfile benannt wurde.

Die per x und y angegebenen Koordinaten definieren den Startpunkt des ersten Zeichens (in etwa die linke untere Ecke). Das ist anders als bei der ImageString()-Funktion, bei der x und y die obere rechte Ecke des ersten Zeichens darstellen.

Angle ist in Grad anzugeben. 0 ist eine normale Ausrichtung von links nach rechts (von 9 nach 3 Uhr). Höhere Werte entsprechen einer immer weiteren Drehung entgegen dem Uhrzeiger-Sinn. Eine Drehung von 90 Grad entspricht also einer Text-Ausrichtung von unten nach oben (von 6 nach 12 Uhr).

Fontfile ist der Pfad zur TTF-Datei, die Sie verwenden wollen.

Text ist der auszugebende String, der auch UTF-8-Zeichenfolgen enthalten darf (z.B. &#123;)

Col ist der Farbindex. Verwenden Sie den negativen Index-Wert, führt das zum Aufheben des Farbüberlaufs (Antialiasing).

ImageTTFText() gibt ein Array aus acht Elementen zurück, das die vier Ecken des Textausgabe-Bereichs enthält (wie ImageTTFBBox()). Die Reihenfolge ist dabei oben links, oben rechts, unten rechts und unten links. Die Punkte sind dabei relativ zum Text. Deshalb gibt oben links die linke Ecke bei horizontaler Sichtweise an.

Das Beispiel-Skript erzeugt eine schwarze GIF-Grafik von 400x30 Pixel mit dem weissen Text "Teste..." im TT-Font Arial.

Beispiel #1 ImageTTFText

<?php
Header ("Content-type: image/gif");
$im = imagecreate (400, 30);
$black = ImageColorAllocate ($im, 0, 0, 0);
$white = ImageColorAllocate ($im, 255, 255, 255);
ImageTTFText ($im, 20, 0, 10, 20, $white, "/path/arial.ttf",
              "Teste... Omega: &#937;");
ImageGif ($im);
ImageDestroy ($im);
?>

Diese Funktion erfordert sowohl die GD- als auch die » FreeType-Bibliothek.

Siehe auch imagettfbbox().

imagettfbbox
imagetypes
GD- und Image-Funktionen


Gibt die von der aktuell verwendeten PHP-Version unterstützten Grafik-Formate zurück

imagettftext
imagewbmp
GD- und Image-Funktionen
PHP Manual

imagetypes

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

imagetypes — Gibt die von der aktuell verwendeten PHP-Version unterstützten Grafik-Formate zurück

Beschreibung:

int imagetypes ( void )

Der von dieser Funktion zurück gegebene Bit-Wert stellt die von der in der aktuellen PHP-Kompilation enthaltenen GD-Version unterstützten Grafik-Formate dar. Die folgenden Bit-Werte sind möglich: IMG_GIF, IMG_JPG, IMG_PNG oder IMG_WBMP. Um das Vorhanden sein der GD-Unterstützung zu testen, können Sie folgendes machen:

Beispiel #1 ImageTypes

<?php
if (ImageTypes() & IMG_PNG) {
    echo "PNG-Unterstützung ist vorhanden.";
}
?>

imagettftext
imagewbmp
GD- und Image-Funktionen


Gibt das Bild im Browser oder einer Datei aus.

imagetypes
imagewebp
GD- und Image-Funktionen
PHP Manual

imagewbmp

(PHP 4 >= 4.0.1, PHP 5, PHP 7)

imagewbmp — Gibt das Bild im Browser oder einer Datei aus.

Beschreibung

bool imagewbmp ( resource $image [, mixed $to [, int $foreground ]] )

imagewbmp() outputs or save a WBMP version of the given image.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

to

Der Pfad unter dem das Bild gespeichert werden soll. Ist dies nicht gesetzt oder NULL wird der rohe Bilddatenstrom direkt ausgegeben.

foreground

You can set the foreground color with this parameter by setting an identifier obtained from imagecolorallocate(). The default foreground color is black.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.4.0 | Added support for passing a stream resource to to.

Beispiele

Beispiel #1 Outputting a WBMP image

<?php
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'A Simple Text String', $text_color);

// Set the content type header - in this case image/vnd.wap.wbmp
// Hint: see image_type_to_mime_type() for content-types
header('Content-Type: image/vnd.wap.wbmp');

// Output the image
imagewbmp($im);

// Free up memory
imagedestroy($im);
?>

Beispiel #2 Saving the WBMP image

<?php
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'A Simple Text String', $text_color);

// Save the image
imagewbmp($im, 'simpletext.wbmp');

// Free up memory
imagedestroy($im);
?>

Beispiel #3 Outputting the image with a different foreground

<?php
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'A Simple Text String', $text_color);

// Set the content type header - in this case image/vnd.wap.wbmp
// Hint: see image_type_to_mime_type() for content-types
header('Content-Type: image/vnd.wap.wbmp');

// Set a replacement foreground color
$foreground_color = imagecolorallocate($im, 255, 0, 0);

imagewbmp($im, NULL, $foreground_color);

// Free up memory
imagedestroy($im);
?>

Siehe auch

  • image2wbmp() - Gibt das Bild im Browser oder einer Datei aus.
  • imagepng() - Ausgabe eines Bildes im Browser oder als Datei im PNG-Format
  • imagegif() - Gibt das Bild im Browser oder einer Datei aus.
  • imagejpeg() - Gibt das Bild im Browser oder einer Datei aus.
  • imagetypes() - Gibt die von der aktuell verwendeten PHP-Version unterstützten Grafik-Formate zurück

imagetypes
imagewebp
GD- und Image-Funktionen


Output a WebP image to browser or file

imagewbmp
imagexbm
GD- und Image-Funktionen
PHP Manual

imagewebp

(PHP 5 >= 5.5.0, PHP 7)

imagewebp — Output a WebP image to browser or file

Beschreibung

bool imagewebp ( resource $image , mixed $to [, int $quality = 80 ] )

Outputs or save an WebP version of the given image.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

to

Der Pfad unter dem das Bild gespeichert werden soll. Ist dies nicht gesetzt oder NULL wird der rohe Bilddatenstrom direkt ausgegeben.

quality

quality ranges from 0 (worst quality, smaller file) to 100 (best quality, biggest file).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.4.0 | Added support for passing a stream resource to to.

Beispiele

Beispiel #1 Saving an WebP file

<?php
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);

imagestring($im, 1, 5, 5,  'WebP with PHP', $text_color);

// Save the image
imagewebp($im, 'php.webp');

// Free up memory
imagedestroy($im);
?>

imagewbmp
imagexbm
GD- und Image-Funktionen


Output an XBM image to browser or file

imagewebp
iptcembed
GD- und Image-Funktionen
PHP Manual

imagexbm

(PHP 5, PHP 7)

imagexbm — Output an XBM image to browser or file

Beschreibung

bool imagexbm ( resource $image , string $filename [, int $foreground ] )

Outputs or save an XBM version of the given image.

Hinweis: imagexbm() doesn't apply any padding, so the image width has to be a multiple of 8. This restriction does no longer apply as of PHP 5.6.24 and 7.0.9, respectively.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

filename

The path to save the file to. If not set or NULL, the raw image stream will be outputted directly.

The filename (without the .xbm extension) is also used for the C identifiers of the XBM, whereby non alphanumeric characters of the current locale are substituted by underscores. If filename is set to NULL, image is used to build the C identifiers.

foreground

You can set the foreground color with this parameter by setting an identifier obtained from imagecolorallocate(). The default foreground color is black. All other colors are treated as background.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Saving an XBM file

<?php
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'A Simple Text String', $text_color);

// Save the image
imagexbm($im, 'simpletext.xbm');

// Free up memory
imagedestroy($im);
?>

Beispiel #2 Saving an XBM file with a different foreground color

<?php
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'A Simple Text String', $text_color);

// Set a replacement foreground color
$foreground_color = imagecolorallocate($im, 255, 0, 0);

// Save the image
imagexbm($im, NULL, $foreground_color);

// Free up memory
imagedestroy($im);
?>

Anmerkungen

imagewebp
iptcembed
GD- und Image-Funktionen


Embeds binary IPTC data into a JPEG image

imagexbm
iptcparse
GD- und Image-Funktionen
PHP Manual

iptcembed

(PHP 4, PHP 5, PHP 7)

iptcembed — Embeds binary IPTC data into a JPEG image

Beschreibung

mixed iptcembed ( string $iptcdata , string $jpeg_file_name [, int $spool = 0 ] )

Embeds binary IPTC data into a JPEG image.

Parameter-Liste

iptcdata

The data to be written.

jpeg_file_name

Path to the JPEG image.

spool

Spool flag. If the spool flag is less than 2 then the JPEG will be returned as a string. Otherwise the JPEG will be printed to STDOUT.

Rückgabewerte

If spool is less than 2, the JPEG will be returned, Im Fehlerfall wird FALSE zurückgegeben.. Otherwise returns TRUE on success Im Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 Embedding IPTC data into a JPEG

<?php

// iptc_make_tag() function by Thies C. Arntzen
function iptc_make_tag($rec, $data, $value)
{
    $length = strlen($value);
    $retval = chr(0x1C) . chr($rec) . chr($data);

    if($length < 0x8000)
    {
        $retval .= chr($length >> 8) .  chr($length & 0xFF);
    }
    else
    {
        $retval .= chr(0x80) .
                   chr(0x04) .
                   chr(($length >> 24) & 0xFF) .
                   chr(($length >> 16) & 0xFF) .
                   chr(($length >> 8) & 0xFF) .
                   chr($length & 0xFF);
    }

    return $retval . $value;
}

// Path to jpeg file
$path = './phplogo.jpg';

// Set the IPTC tags
$iptc = array(
    '2#120' => 'Test image',
    '2#116' => 'Copyright 2008-2009, The PHP Group'
);

// Convert the IPTC tags into binary code
$data = '';

foreach($iptc as $tag => $string)
{
    $tag = substr($tag, 2);
    $data .= iptc_make_tag(2, $tag, $string);
}

// Embed the IPTC data
$content = iptcembed($data, $path);

// Write the new image data out to the file.
$fp = fopen($path, "wb");
fwrite($fp, $content);
fclose($fp);
?>

Anmerkungen

Hinweis:

Diese Funktion benötigt die GD-Bibliothek nicht.

imagexbm
iptcparse
GD- und Image-Funktionen


Parse a binary IPTC block into single tags.

iptcembed
jpeg2wbmp
GD- und Image-Funktionen
PHP Manual

iptcparse

(PHP 4, PHP 5, PHP 7)

iptcparse — Parse a binary IPTC block into single tags.

Beschreibung

array iptcparse ( string $iptcblock )

Parses an » IPTC block into its single tags.

Parameter-Liste

iptcblock

A binary IPTC block.

Rückgabewerte

Returns an array using the tagmarker as an index and the value as the value. It returns FALSE on error or if no IPTC data was found.

Beispiele

Beispiel #1 iptcparse() used together with getimagesize()

<?php
$size = getimagesize('./test.jpg', $info);
if(isset($info['APP13']))
{
    $iptc = iptcparse($info['APP13']);
    var_dump($iptc);
}
?>

Anmerkungen

Hinweis:

Diese Funktion benötigt die GD-Bibliothek nicht.

iptcembed
jpeg2wbmp
GD- und Image-Funktionen


Konvertiert eine JPEG-Bilddatei in eine WBMP-Bilddatei

iptcparse
png2wbmp
GD- und Image-Funktionen
PHP Manual

jpeg2wbmp

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

jpeg2wbmp — Konvertiert eine JPEG-Bilddatei in eine WBMP-Bilddatei

Beschreibung

bool jpeg2wbmp ( string $jpegname , string $wbmpname , int $dest_height , int $dest_width , int $threshold )

Konvertiert eine JPEG-Datei in eine WBMP-Datei.

Parameter-Liste

jpegname

Pfad zur JPEG-Datei.

wbmpname

Pfad zur WBMP-Datei.

dest_height

Höhe des Zielbildes.

dest_width

Breite des Zielbildes.

threshold

Schwellenwert, zwischen 0 und 8 (inklusive).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 jpeg2wbmp() example

<?php
// Pfad zur JPEG-Datei
$path = './test.jpg';

// Ermitteln der Bildgröße
$image = getimagesize($path);

// Bild konvertieren
jpeg2wbmp($path, './test.wbmp', $image[1], $image[0], 5);
?>

Anmerkungen

Hinweis: Die Unterstützung von WBMP steht nur zur Verfügung, wenn PHP mit GD-1.8 oder höher übersetzt wurde.

Hinweis: Die Unterstützung von JPEG steht nur zur Verfügung, wenn PHP mit GD-1.8 oder höher übersetzt wurde.

Siehe auch

  • png2wbmp() - Convert PNG image file to WBMP image file

iptcparse
png2wbmp
GD- und Image-Funktionen


Convert PNG image file to WBMP image file

jpeg2wbmp
Gmagick
GD- und Image-Funktionen
PHP Manual

png2wbmp

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

png2wbmp — Convert PNG image file to WBMP image file

Warnung

png2wbmp() has been deprecated as of PHP 7.2.0, and will be removed as of PHP 8.0.0. Use imagecreatefrompng() and imagewbmp() instead.

Beschreibung

bool png2wbmp ( string $pngname , string $wbmpname , int $dest_height , int $dest_width , int $threshold )

Converts a PNG file into a WBMP file.

Parameter-Liste

pngname

Path to PNG file.

wbmpname

Path to destination WBMP file.

dest_height

Destination image height.

dest_width

Destination image width.

threshold

Threshold value, between 0 and 8 (inclusive).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 png2wbmp() example

<?php
// Path to the target png
$path = './test.png';

// Get the image sizes
$image = getimagesize($path);

// Convert image
png2wbmp($path, './test.wbmp', $image[1], $image[0], 7);
?>

Siehe auch

  • jpeg2wbmp() - Konvertiert eine JPEG-Bilddatei in eine WBMP-Bilddatei

jpeg2wbmp
Gmagick
GD- und Image-Funktionen


Gmagick

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
  • Vordefinierte Konstanten
  • Beispiele
  • Gmagick — The Gmagick class
    • Gmagick::addimage — Adds new image to Gmagick object image list
    • Gmagick::addnoiseimage — Adds random noise to the image
    • Gmagick::annotateimage — Annotates an image with text
    • Gmagick::blurimage — Adds blur filter to image
    • Gmagick::borderimage — Surrounds the image with a border
    • Gmagick::charcoalimage — Simulates a charcoal drawing
    • Gmagick::chopimage — Removes a region of an image and trims
    • Gmagick::clear — Clears all resources associated to Gmagick object
    • Gmagick::commentimage — Adds a comment to your image
    • Gmagick::compositeimage — Composite one image onto another
    • Gmagick::__construct — The Gmagick constructor
    • Gmagick::cropimage — Extracts a region of the image
    • Gmagick::cropthumbnailimage — Creates a crop thumbnail
    • Gmagick::current — The current purpose
    • Gmagick::cyclecolormapimage — Displaces an image's colormap
    • Gmagick::deconstructimages — Returns certain pixel differences between images
    • Gmagick::despeckleimage — The despeckleimage purpose
    • Gmagick::destroy — The destroy purpose
    • Gmagick::drawimage — Renders the GmagickDraw object on the current image
    • Gmagick::edgeimage — Enhance edges within the image
    • Gmagick::embossimage — Returns a grayscale image with a three-dimensional effect
    • Gmagick::enhanceimage — Improves the quality of a noisy image
    • Gmagick::equalizeimage — Equalizes the image histogram
    • Gmagick::flipimage — Creates a vertical mirror image
    • Gmagick::flopimage — The flopimage purpose
    • Gmagick::frameimage — Adds a simulated three-dimensional border
    • Gmagick::gammaimage — Gamma-corrects an image
    • Gmagick::getcopyright — Returns the GraphicsMagick API copyright as a string
    • Gmagick::getfilename — The filename associated with an image sequence
    • Gmagick::getimagebackgroundcolor — Returns the image background color
    • Gmagick::getimageblueprimary — Returns the chromaticy blue primary point
    • Gmagick::getimagebordercolor — Returns the image border color
    • Gmagick::getimagechanneldepth — Gets the depth for a particular image channel
    • Gmagick::getimagecolors — Returns the color of the specified colormap index
    • Gmagick::getimagecolorspace — Gets the image colorspace
    • Gmagick::getimagecompose — Returns the composite operator associated with the image
    • Gmagick::getimagedelay — Gets the image delay
    • Gmagick::getimagedepth — Gets the depth of the image
    • Gmagick::getimagedispose — Gets the image disposal method
    • Gmagick::getimageextrema — Gets the extrema for the image
    • Gmagick::getimagefilename — Returns the filename of a particular image in a sequence
    • Gmagick::getimageformat — Returns the format of a particular image in a sequence
    • Gmagick::getimagegamma — Gets the image gamma
    • Gmagick::getimagegreenprimary — Returns the chromaticy green primary point
    • Gmagick::getimageheight — Returns the image height
    • Gmagick::getimagehistogram — Gets the image histogram
    • Gmagick::getimageindex — Gets the index of the current active image
    • Gmagick::getimageinterlacescheme — Gets the image interlace scheme
    • Gmagick::getimageiterations — Gets the image iterations
    • Gmagick::getimagematte — Check if the image has a matte channel
    • Gmagick::getimagemattecolor — Returns the image matte color
    • Gmagick::getimageprofile — Returns the named image profile.
    • Gmagick::getimageredprimary — Returns the chromaticity red primary point
    • Gmagick::getimagerenderingintent — Gets the image rendering intent
    • Gmagick::getimageresolution — Gets the image X and Y resolution
    • Gmagick::getimagescene — Gets the image scene
    • Gmagick::getimagesignature — Generates an SHA-256 message digest
    • Gmagick::getimagetype — Gets the potential image type.
    • Gmagick::getimageunits — Gets the image units of resolution
    • Gmagick::getimagewhitepoint — Returns the chromaticity white point
    • Gmagick::getimagewidth — Returns the width of the image
    • Gmagick::getpackagename — Returns the GraphicsMagick package name.
    • Gmagick::getquantumdepth — Returns the Gmagick quantum depth as a string.
    • Gmagick::getreleasedate — Returns the GraphicsMagick release date as a string.
    • Gmagick::getsamplingfactors — Gets the horizontal and vertical sampling factor.
    • Gmagick::getsize — Returns the size associated with the Gmagick object
    • Gmagick::getversion — Returns the GraphicsMagick API version
    • Gmagick::hasnextimage — Checks if the object has more images
    • Gmagick::haspreviousimage — Checks if the object has a previous image
    • Gmagick::implodeimage — Creates a new image as a copy
    • Gmagick::labelimage — Adds a label to an image.
    • Gmagick::levelimage — Adjusts the levels of an image
    • Gmagick::magnifyimage — Scales an image proportionally 2x
    • Gmagick::mapimage — Replaces the colors of an image with the closest color from a reference image.
    • Gmagick::medianfilterimage — Applies a digital filter
    • Gmagick::minifyimage — Scales an image proportionally to half its size
    • Gmagick::modulateimage — Control the brightness, saturation, and hue
    • Gmagick::motionblurimage — Simulates motion blur
    • Gmagick::newimage — Creates a new image
    • Gmagick::nextimage — Moves to the next image
    • Gmagick::normalizeimage — Enhances the contrast of a color image
    • Gmagick::oilpaintimage — Simulates an oil painting
    • Gmagick::previousimage — Move to the previous image in the object
    • Gmagick::profileimage — Adds or removes a profile from an image
    • Gmagick::quantizeimage — Analyzes the colors within a reference image
    • Gmagick::quantizeimages — The quantizeimages purpose
    • Gmagick::queryfontmetrics — Returns an array representing the font metrics
    • Gmagick::queryfonts — Returns the configured fonts
    • Gmagick::queryformats — Returns formats supported by Gmagick.
    • Gmagick::radialblurimage — Radial blurs an image
    • Gmagick::raiseimage — Creates a simulated 3d button-like effect
    • Gmagick::read — Reads image from filename
    • Gmagick::readimage — Reads image from filename
    • Gmagick::readimageblob — Reads image from a binary string
    • Gmagick::readimagefile — The readimagefile purpose
    • Gmagick::reducenoiseimage — Smooths the contours of an image
    • Gmagick::removeimage — Removes an image from the image list
    • Gmagick::removeimageprofile — Removes the named image profile and returns it
    • Gmagick::resampleimage — Resample image to desired resolution
    • Gmagick::resizeimage — Scales an image
    • Gmagick::rollimage — Offsets an image
    • Gmagick::rotateimage — Rotates an image
    • Gmagick::scaleimage — Scales the size of an image
    • Gmagick::separateimagechannel — Separates a channel from the image
    • Gmagick::setCompressionQuality — Sets the object's default compression quality
    • Gmagick::setfilename — Sets the filename before you read or write the image
    • Gmagick::setimagebackgroundcolor — Sets the image background color.
    • Gmagick::setimageblueprimary — Sets the image chromaticity blue primary point.
    • Gmagick::setimagebordercolor — Sets the image border color.
    • Gmagick::setimagechanneldepth — Sets the depth of a particular image channel
    • Gmagick::setimagecolorspace — Sets the image colorspace
    • Gmagick::setimagecompose — Sets the image composite operator
    • Gmagick::setimagedelay — Sets the image delay
    • Gmagick::setimagedepth — Sets the image depth
    • Gmagick::setimagedispose — Sets the image disposal method
    • Gmagick::setimagefilename — Sets the filename of a particular image in a sequence
    • Gmagick::setimageformat — Sets the format of a particular image
    • Gmagick::setimagegamma — Sets the image gamma
    • Gmagick::setimagegreenprimary — Sets the image chromaticity green primary point.
    • Gmagick::setimageindex — Set the iterator to the position in the image list specified with the index parameter
    • Gmagick::setimageinterlacescheme — Sets the interlace scheme of the image.
    • Gmagick::setimageiterations — Sets the image iterations.
    • Gmagick::setimageprofile — Adds a named profile to the Gmagick object
    • Gmagick::setimageredprimary — Sets the image chromaticity red primary point.
    • Gmagick::setimagerenderingintent — Sets the image rendering intent
    • Gmagick::setimageresolution — Sets the image resolution
    • Gmagick::setimagescene — Sets the image scene
    • Gmagick::setimagetype — Sets the image type
    • Gmagick::setimageunits — Sets the image units of resolution.
    • Gmagick::setimagewhitepoint — Sets the image chromaticity white point.
    • Gmagick::setsamplingfactors — Sets the image sampling factors.
    • Gmagick::setsize — Sets the size of the Gmagick object
    • Gmagick::shearimage — Creating a parallelogram
    • Gmagick::solarizeimage — Applies a solarizing effect to the image
    • Gmagick::spreadimage — Randomly displaces each pixel in a block
    • Gmagick::stripimage — Strips an image of all profiles and comments
    • Gmagick::swirlimage — Swirls the pixels about the center of the image
    • Gmagick::thumbnailimage — Changes the size of an image
    • Gmagick::trimimage — Remove edges from the image
    • Gmagick::write — Alias von Gmagick::writeimage
    • Gmagick::writeimage — Writes an image to the specified filename
  • GmagickDraw — The GmagickDraw class
    • GmagickDraw::annotate — Draws text on the image
    • GmagickDraw::arc — Draws an arc
    • GmagickDraw::bezier — Draws a bezier curve
    • GmagickDraw::ellipse — Draws an ellipse on the image
    • GmagickDraw::getfillcolor — Returns the fill color
    • GmagickDraw::getfillopacity — Returns the opacity used when drawing
    • GmagickDraw::getfont — Returns the font
    • GmagickDraw::getfontsize — Returns the font pointsize
    • GmagickDraw::getfontstyle — Returns the font style
    • GmagickDraw::getfontweight — Returns the font weight
    • GmagickDraw::getstrokecolor — Returns the color used for stroking object outlines
    • GmagickDraw::getstrokeopacity — Returns the opacity of stroked object outlines
    • GmagickDraw::getstrokewidth — Returns the width of the stroke used to draw object outlines
    • GmagickDraw::gettextdecoration — Returns the text decoration
    • GmagickDraw::gettextencoding — Returns the code set used for text annotations
    • GmagickDraw::line — The line purpose
    • GmagickDraw::point — Draws a point
    • GmagickDraw::polygon — Draws a polygon
    • GmagickDraw::polyline — Draws a polyline
    • GmagickDraw::rectangle — Draws a rectangle
    • GmagickDraw::rotate — Applies the specified rotation to the current coordinate space
    • GmagickDraw::roundrectangle — Draws a rounded rectangle
    • GmagickDraw::scale — Adjusts the scaling factor
    • GmagickDraw::setfillcolor — Sets the fill color to be used for drawing filled objects.
    • GmagickDraw::setfillopacity — The setfillopacity purpose
    • GmagickDraw::setfont — Sets the fully-specified font to use when annotating with text.
    • GmagickDraw::setfontsize — Sets the font pointsize to use when annotating with text.
    • GmagickDraw::setfontstyle — Sets the font style to use when annotating with text
    • GmagickDraw::setfontweight — Sets the font weight
    • GmagickDraw::setstrokecolor — Sets the color used for stroking object outlines.
    • GmagickDraw::setstrokeopacity — Specifies the opacity of stroked object outlines.
    • GmagickDraw::setstrokewidth — Sets the width of the stroke used to draw object outlines.
    • GmagickDraw::settextdecoration — Specifies a decoration
    • GmagickDraw::settextencoding — Specifies the text code set
  • GmagickPixel — The GmagickPixel class
    • GmagickPixel::__construct — Erstellt ein neues GmagickPixel Objekt
    • GmagickPixel::getcolor — Gibt die Farbe zurück
    • GmagickPixel::getcolorcount — Returns the color count associated with this color
    • GmagickPixel::getcolorvalue — Gets the normalized value of the provided color channel
    • GmagickPixel::setcolor — Sets the color
    • GmagickPixel::setcolorvalue — Sets the normalized value of one of the channels
png2wbmp
Einführung
Bildverarbeitung und -generierung


Einführung

Gmagick is a php extension to create, modify and obtain meta information of images using the GraphicsMagick API.

GraphicsMagick prides itself as the swiss army knife of image processing. It works with over 88 major formats including important formats like DPX, GIF, JPEG, JPEG-2000, PNG, PDF, PNM, and TIFF.

Gmagick consists of a main Gmagick class, a GmagickDraw class which is in effect a drawing wand and a GmagickPixel class of which instances represent a single pixel of an image (color, opacity).

Gmagick
Installation/Konfiguration
Gmagick


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
Einführung
Anforderungen
Gmagick


Anforderungen

This extension works best with GraphicsMagick version 1.4+ and PHP 5.1.3+. Gmagick should work with earlier versions up to GraphicsMagick 1.2.6 but some features and formats are not supported for these versions. Windows version of GraphicsMagick is available from the GraphicsMagick website. To read about the difference between ImageMagick and GraphicsMagick, check this out: » FAQ .

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/gmagick.

Hinweis: The official name of this extension is gmagick.

For Windows, the build of the Gmagick extension is available » here

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Diese Erweiterung definiert keine Konfigurationseinstellungen in der php.ini.

Installation
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

Colortype constants
Gmagick::COLOR_BLACK (integer)
Black
Gmagick::COLOR_BLUE (integer)
Blue
Gmagick::COLOR_CYAN (integer)
Cyan
Gmagick::COLOR_GREEN (integer)
Green
Gmagick::COLOR_RED (integer)
Red
Gmagick::COLOR_YELLOW (integer)
Yellow
Gmagick::COLOR_MAGENTA (integer)
Magenta
Gmagick::COLOR_OPACITY (integer)
Opacity
Gmagick::COLOR_ALPHA (integer)
Alpha
Gmagick::COLOR_FUZZ (integer)
Fuzz
Composite Operator Constants
Gmagick::COMPOSITE_DEFAULT (integer)
The default composite operator
Gmagick::COMPOSITE_UNDEFINED (integer)
Undefined composite operator
Gmagick::COMPOSITE_NO (integer)
No composite operator defined
Gmagick::COMPOSITE_ADD (integer)
The result of image + image
Gmagick::COMPOSITE_ATOP (integer)
The result is the same shape as image, with composite image obscuring image where the image shapes overlap
Gmagick::COMPOSITE_BLEND (integer)
Blends the image
Gmagick::COMPOSITE_BUMPMAP (integer)
The same as COMPOSITE_MULTIPLY, except the source is converted to grayscale first.
Gmagick::COMPOSITE_CLEAR (integer)
Makes the target image transparent
Gmagick::COMPOSITE_COLORBURN (integer)
Darkens the destination image to reflect the source image
Gmagick::COMPOSITE_COLORDODGE (integer)
Brightens the destination image to reflect the source image
Gmagick::COMPOSITE_COLORIZE (integer)
Colorizes the target image using the composite image
Gmagick::COMPOSITE_COPYBLACK (integer)
Copies black from the source to target
Gmagick::COMPOSITE_COPYBLUE (integer)
Copies blue from the source to target
Gmagick::COMPOSITE_COPY (integer)
Copies the source image on the target image
Gmagick::COMPOSITE_COPYCYAN (integer)
Copies cyan from the source to target
Gmagick::COMPOSITE_COPYGREEN (integer)
Copies green from the source to target
Gmagick::COMPOSITE_COPYMAGENTA (integer)
Copies magenta from the source to target
Gmagick::COMPOSITE_COPYOPACITY (integer)
Copies opacity from the source to target
Gmagick::COMPOSITE_COPYRED (integer)
Copies red from the source to target
Gmagick::COMPOSITE_COPYYELLOW (integer)
Copies yellow from the source to target
Gmagick::COMPOSITE_DARKEN (integer)
Darkens the target image
Gmagick::COMPOSITE_DSTATOP (integer)
The part of the destination lying inside of the source is composited over the source and replaces the destination
Gmagick::COMPOSITE_DST (integer)
The target is left untouched
Gmagick::COMPOSITE_DSTIN (integer)
The parts inside the source replace the target
Gmagick::COMPOSITE_DSTOUT (integer)
The parts outside the source replace the target
Gmagick::COMPOSITE_DSTOVER (integer)
Target replaces the source
Gmagick::COMPOSITE_DIFFERENCE (integer)
Subtracts the darker of the two constituent colors from the lighter
Gmagick::COMPOSITE_DISPLACE (integer)
Shifts target image pixels as defined by the source
Gmagick::COMPOSITE_DISSOLVE (integer)
Dissolves the source in to the target
Gmagick::COMPOSITE_EXCLUSION (integer)
Produces an effect similar to that of Gmagick::COMPOSITE_DIFFERENCE, but appears as lower contrast
Gmagick::COMPOSITE_HARDLIGHT (integer)
Multiplies or screens the colors, dependent on the source color value
Gmagick::COMPOSITE_HUE (integer)
Modifies the hue of the target as defined by source
Gmagick::COMPOSITE_IN (integer)
Composites source into the target
Gmagick::COMPOSITE_LIGHTEN (integer)
Lightens the target as defined by source
Gmagick::COMPOSITE_LUMINIZE (integer)
Luminizes the target as defined by source
Gmagick::COMPOSITE_MINUS (integer)
Subtracts the source from the target
Gmagick::COMPOSITE_MODULATE (integer)
Modulates the target brightness, saturation and hue as defined by source
Gmagick::COMPOSITE_MULTIPLY (integer)
Multiplies the target to the source
Gmagick::COMPOSITE_OUT (integer)
Composites outer parts of the source on the target
Gmagick::COMPOSITE_OVER (integer)
Composites source over the target
Gmagick::COMPOSITE_OVERLAY (integer)
Overlays the source on the target
Gmagick::COMPOSITE_PLUS (integer)
Adds the source to the target
Gmagick::COMPOSITE_REPLACE (integer)
Replaces the target with the source
Gmagick::COMPOSITE_SATURATE (integer)
Saturates the target as defined by the source
Gmagick::COMPOSITE_SCREEN (integer)
The source and destination are complemented and then multiplied and then replace the destination
Gmagick::COMPOSITE_SOFTLIGHT (integer)
Darkens or lightens the colors, dependent on the source
Gmagick::COMPOSITE_SRCATOP (integer)
The part of the source lying inside of the destination is composited onto the destination
Gmagick::COMPOSITE_SRC (integer)
The source is copied to the destination
Gmagick::COMPOSITE_SRCIN (integer)
The part of the source lying inside of the destination replaces the destination
Gmagick::COMPOSITE_SRCOUT (integer)
The part of the source lying outside of the destination replaces the destination
Gmagick::COMPOSITE_SRCOVER (integer)
The source replaces the destination
Gmagick::COMPOSITE_SUBTRACT (integer)
Subtract the colors in the source image from the destination image
Gmagick::COMPOSITE_THRESHOLD (integer)
The source is composited on the target as defined by source threshold
Gmagick::COMPOSITE_XOR (integer)
The part of the source that lies outside of the destination is combined with the part of the destination that lies outside of the source
Montage Mode constants
Gmagick::MONTAGEMODE_FRAME (integer)
Gmagick::MONTAGEMODE_UNFRAME (integer)
Gmagick::MONTAGEMODE_CONCATENATE (integer)
Style constants
Gmagick::STYLE_NORMAL (integer)
Gmagick::STYLE_ITALIC (integer)
Gmagick::STYLE_OBLIQUE (integer)
Gmagick::STYLE_ANY (integer)
Filter constants
Gmagick::FILTER_UNDEFINED (integer)
Gmagick::FILTER_POINT (integer)
Gmagick::FILTER_BOX (integer)
Gmagick::FILTER_TRIANGLE (integer)
Gmagick::FILTER_HERMITE (integer)
Gmagick::FILTER_HANNING (integer)
Gmagick::FILTER_HAMMING (integer)
Gmagick::FILTER_BLACKMAN (integer)
Gmagick::FILTER_GAUSSIAN (integer)
Gmagick::FILTER_QUADRATIC (integer)
Gmagick::FILTER_CUBIC (integer)
Gmagick::FILTER_CATROM (integer)
Gmagick::FILTER_MITCHELL (integer)
Gmagick::FILTER_LANCZOS (integer)
Gmagick::FILTER_BESSEL (integer)
Gmagick::FILTER_SINC (integer)
Image type constants
Gmagick::IMGTYPE_UNDEFINED (integer)
Gmagick::IMGTYPE_BILEVEL (integer)
Gmagick::IMGTYPE_GRAYSCALE (integer)
Gmagick::IMGTYPE_GRAYSCALEMATTE (integer)
Gmagick::IMGTYPE_PALETTE (integer)
Gmagick::IMGTYPE_PALETTEMATTE (integer)
Gmagick::IMGTYPE_TRUECOLOR (integer)
Gmagick::IMGTYPE_TRUECOLORMATTE (integer)
Gmagick::IMGTYPE_COLORSEPARATION (integer)
Gmagick::IMGTYPE_COLORSEPARATIONMATTE (integer)
Gmagick::IMGTYPE_OPTIMIZE (integer)
Resolution constants
Gmagick::RESOLUTION_UNDEFINED (integer)
Gmagick::RESOLUTION_PIXELSPERINCH (integer)
Gmagick::RESOLUTION_PIXELSPERCENTIMETER (integer)
Compression constants
Gmagick::COMPRESSION_UNDEFINED (integer)
Gmagick::COMPRESSION_NO (integer)
Gmagick::COMPRESSION_BZIP (integer)
Gmagick::COMPRESSION_FAX (integer)
Gmagick::COMPRESSION_GROUP4 (integer)
Gmagick::COMPRESSION_JPEG (integer)
Gmagick::COMPRESSION_JPEG2000 (integer)
Gmagick::COMPRESSION_LOSSLESSJPEG (integer)
Gmagick::COMPRESSION_LZW (integer)
Gmagick::COMPRESSION_RLE (integer)
Gmagick::COMPRESSION_ZIP (integer)
Paint constants
Gmagick::PAINT_POINT (integer)
Gmagick::PAINT_REPLACE (integer)
Gmagick::PAINT_FLOODFILL (integer)
Gmagick::PAINT_FILLTOBORDER (integer)
Gmagick::PAINT_RESET (integer)
Gravity constants
Gmagick::GRAVITY_NORTHWEST (integer)
Gmagick::GRAVITY_NORTH (integer)
Gmagick::GRAVITY_NORTHEAST (integer)
Gmagick::GRAVITY_WEST (integer)
Gmagick::GRAVITY_CENTER (integer)
Gmagick::GRAVITY_EAST (integer)
Gmagick::GRAVITY_SOUTHWEST (integer)
Gmagick::GRAVITY_SOUTH (integer)
Gmagick::GRAVITY_SOUTHEAST (integer)
Stretch constants
Gmagick::STRETCH_NORMAL (integer)
Gmagick::STRETCH_ULTRACONDENSED (integer)
Gmagick::STRETCH_CONDENSED (integer)
Gmagick::STRETCH_SEMICONDENSED (integer)
Gmagick::STRETCH_SEMIEXPANDED (integer)
Gmagick::STRETCH_EXPANDED (integer)
Gmagick::STRETCH_EXTRAEXPANDED (integer)
Gmagick::STRETCH_ULTRAEXPANDED (integer)
Gmagick::STRETCH_ANY (integer)
Align constants
Gmagick::ALIGN_UNDEFINED (integer)
Gmagick::ALIGN_LEFT (integer)
Gmagick::ALIGN_CENTER (integer)
Gmagick::ALIGN_RIGHT (integer)
Decoration constants
Gmagick::DECORATION_NO (integer)
Gmagick::DECORATION_UNDERLINE (integer)
Gmagick::DECORATION_OVERLINE (integer)
Gmagick::DECORATION_LINETROUGH (integer)
Noise constants
Gmagick::NOISE_UNIFORM (integer)
Gmagick::NOISE_GAUSSIAN (integer)
Gmagick::NOISE_MULTIPLICATIVEGAUSSIAN (integer)
Gmagick::NOISE_IMPULSE (integer)
Gmagick::NOISE_LAPLACIAN (integer)
Gmagick::NOISE_POISSON (integer)
Channel constants
Gmagick::CHANNEL_UNDEFINED (integer)
Gmagick::CHANNEL_RED (integer)
Gmagick::CHANNEL_GRAY (integer)
Gmagick::CHANNEL_CYAN (integer)
Gmagick::CHANNEL_GREEN (integer)
Gmagick::CHANNEL_MAGENTA (integer)
Gmagick::CHANNEL_BLUE (integer)
Gmagick::CHANNEL_YELLOW (integer)
Gmagick::CHANNEL_ALPHA (integer)
Gmagick::CHANNEL_OPACITY (integer)
Gmagick::CHANNEL_MATTE (integer)
Gmagick::CHANNEL_BLACK (integer)
Gmagick::CHANNEL_INDEX (integer)
Gmagick::CHANNEL_ALL (integer)
Metric constants
Gmagick::METRIC_UNDEFINED (integer)
Gmagick::METRIC_MEANABSOLUTEERROR (integer)
Gmagick::METRIC_MEANSQUAREERROR (integer)
Gmagick::METRIC_PEAKABSOLUTEERROR (integer)
Gmagick::METRIC_PEAKSIGNALTONOISERATIO (integer)
Gmagick::METRIC_ROOTMEANSQUAREDERROR (integer)
Pixel constants
Gmagick::PIXEL_CHAR (integer)
Gmagick::PIXEL_DOUBLE (integer)
Gmagick::PIXEL_FLOAT (integer)
Gmagick::PIXEL_INTEGER (integer)
Gmagick::PIXEL_LONG (integer)
Gmagick::PIXEL_QUANTUM (integer)
Gmagick::PIXEL_SHORT (integer)
Colorspace constants
Gmagick::COLORSPACE_UNDEFINED (integer)
Gmagick::COLORSPACE_RGB (integer)
Gmagick::COLORSPACE_GRAY (integer)
Gmagick::COLORSPACE_TRANSPARENT (integer)
Gmagick::COLORSPACE_OHTA (integer)
Gmagick::COLORSPACE_LAB (integer)
Gmagick::COLORSPACE_XYZ (integer)
Gmagick::COLORSPACE_YCBCR (integer)
Gmagick::COLORSPACE_YCC (integer)
Gmagick::COLORSPACE_YIQ (integer)
Gmagick::COLORSPACE_YPBPR (integer)
Gmagick::COLORSPACE_YUV (integer)
Gmagick::COLORSPACE_CMYK (integer)
Gmagick::COLORSPACE_SRGB (integer)
Gmagick::COLORSPACE_HSB (integer)
Gmagick::COLORSPACE_HSL (integer)
Gmagick::COLORSPACE_HWB (integer)
Gmagick::COLORSPACE_REC601LUMA (integer)
Gmagick::COLORSPACE_REC709LUMA (integer)
Gmagick::COLORSPACE_LOG (integer)
Virtual Pixel Method constants
Gmagick::VIRTUALPIXELMETHOD_UNDEFINED (integer)
Gmagick::VIRTUALPIXELMETHOD_BACKGROUND (integer)
Gmagick::VIRTUALPIXELMETHOD_CONSTANT (integer)
Gmagick::VIRTUALPIXELMETHOD_EDGE (integer)
Gmagick::VIRTUALPIXELMETHOD_MIRROR (integer)
Gmagick::VIRTUALPIXELMETHOD_TILE (integer)
Gmagick::VIRTUALPIXELMETHOD_TRANSPARENT (integer)
Preview constants
Gmagick::PREVIEW_UNDEFINED (integer)
Gmagick::PREVIEW_ROTATE (integer)
Gmagick::PREVIEW_SHEAR (integer)
Gmagick::PREVIEW_ROLL (integer)
Gmagick::PREVIEW_HUE (integer)
Gmagick::PREVIEW_SATURATION (integer)
Gmagick::PREVIEW_BRIGHTNESS (integer)
Gmagick::PREVIEW_GAMMA (integer)
Gmagick::PREVIEW_SPIFF (integer)
Gmagick::PREVIEW_DULL (integer)
Gmagick::PREVIEW_GRAYSCALE (integer)
Gmagick::PREVIEW_QUANTIZE (integer)
Gmagick::PREVIEW_DESPECKLE (integer)
Gmagick::PREVIEW_REDUCENOISE (integer)
Gmagick::PREVIEW_ADDNOISE (integer)
Gmagick::PREVIEW_SHARPEN (integer)
Gmagick::PREVIEW_BLUR (integer)
Gmagick::PREVIEW_THRESHOLD (integer)
Gmagick::PREVIEW_EDGEDETECT (integer)
Gmagick::PREVIEW_SPREAD (integer)
Gmagick::PREVIEW_SOLARIZE (integer)
Gmagick::PREVIEW_SHADE (integer)
Gmagick::PREVIEW_RAISE (integer)
Gmagick::PREVIEW_SEGMENT (integer)
Gmagick::PREVIEW_SWIRL (integer)
Gmagick::PREVIEW_IMPLODE (integer)
Gmagick::PREVIEW_WAVE (integer)
Gmagick::PREVIEW_OILPAINT (integer)
Gmagick::PREVIEW_CHARCOALDRAWING (integer)
Gmagick::PREVIEW_JPEG (integer)
Rendering Intent constants
Gmagick::RENDERINGINTENT_UNDEFINED (integer)
Gmagick::RENDERINGINTENT_SATURATION (integer)
Gmagick::RENDERINGINTENT_PERCEPTUAL (integer)
Gmagick::RENDERINGINTENT_ABSOLUTE (integer)
Gmagick::RENDERINGINTENT_RELATIVE (integer)
Fillrule constants
Gmagick::FILLRULE_UNDEFINED (integer)
Gmagick::FILLRULE_EVENODD (integer)
Gmagick::FILLRULE_NONZERO (integer)
Pathunit constants
Gmagick::PATHUNITS_UNDEFINED (integer)
Gmagick::PATHUNITS_USERSPACE (integer)
Gmagick::PATHUNITS_USERSPACEONUSE (integer)
Gmagick::PATHUNITS_OBJECTBOUNDINGBOX (integer)
Linecap constants
Gmagick::LINECAP_UNDEFINED (integer)
Gmagick::LINECAP_BUTT (integer)
Gmagick::LINECAP_ROUND (integer)
Gmagick::LINECAP_SQUARE (integer)
Line Join constants
Gmagick::LINEJOIN_UNDEFINED (integer)
Gmagick::LINEJOIN_MITER (integer)
Gmagick::LINEJOIN_ROUND (integer)
Gmagick::LINEJOIN_BEVEL (integer)
Resourcetype constants
Gmagick::RESOURCETYPE_UNDEFINED (integer)
Gmagick::RESOURCETYPE_AREA (integer)
Gmagick::RESOURCETYPE_DISK (integer)
Gmagick::RESOURCETYPE_FILE (integer)
Gmagick::RESOURCETYPE_MAP (integer)
Gmagick::RESOURCETYPE_MEMORY (integer)
Orientation constants
Gmagick::ORIENTATION_UNDEFINED (integer)
Gmagick::ORIENTATION_TOPLEFT (integer)
Gmagick::ORIENTATION_TOPRIGHT (integer)
Gmagick::ORIENTATION_BOTTOMRIGHT (integer)
Gmagick::ORIENTATION_BOTTOMLEFT (integer)
Gmagick::ORIENTATION_LEFTTOP (integer)
Gmagick::ORIENTATION_RIGHTTOP (integer)
Gmagick::ORIENTATION_RIGHTBOTTOM (integer)
Gmagick::ORIENTATION_LEFTBOTTOM (integer)
Laufzeit-Konfiguration
Beispiele
Gmagick


Beispiele

The following shows some common Gmagick image operations.

Beispiel #1 Gmagick Example

<?php
//Instantiate a new Gmagick object
$image = new Gmagick('example.jpg');

//Make thumbnail from image loaded. 0 for either axes preserves aspect ratio
$image->thumbnailImage(100, 0);

//Create a border around the image, then simulate how the image will look like as an oil painting
//Notice the chaining of mutator methods which is supported in gmagick
$image->borderImage("yellow", 8, 8)->oilPaintImage(0.3);

//Write the current image at the current state to a file
$image->write('example_thumbnail.jpg');
?>
Vordefinierte Konstanten
Gmagick
Gmagick


The Gmagick class

(PECL gmagick >= Unknown)

Einführung

Klassenbeschreibung

Gmagick {
/* Methoden */
public Gmagick addimage ( Gmagick $Gmagick )
public Gmagick addnoiseimage ( int $NOISE )
public Gmagick annotateimage ( GmagickDraw $GmagickDraw , float $x , float $y , float $angle , string $text )
public Gmagick blurimage ( float $radius , float $sigma [, int $channel ] )
public Gmagick borderimage ( GmagickPixel $color , int $width , int $height )
public Gmagick charcoalimage ( float $radius , float $sigma )
public Gmagick chopimage ( int $width , int $height , int $x , int $y )
public Gmagick clear ( void )
public Gmagick commentimage ( string $comment )
public Gmagick compositeimage ( Gmagick $source , int $COMPOSE , int $x , int $y )
public __construct ([ string $filename ] )
public Gmagick cropimage ( int $width , int $height , int $x , int $y )
public Gmagick cropthumbnailimage ( int $width , int $height )
public Gmagick current ( void )
public Gmagick cyclecolormapimage ( int $displace )
public Gmagick deconstructimages ( void )
public Gmagick despeckleimage ( void )
public bool destroy ( void )
public Gmagick drawimage ( GmagickDraw $GmagickDraw )
public Gmagick edgeimage ( float $radius )
public Gmagick embossimage ( float $radius , float $sigma )
public Gmagick enhanceimage ( void )
public Gmagick equalizeimage ( void )
public Gmagick flipimage ( void )
public Gmagick flopimage ( void )
public Gmagick frameimage ( GmagickPixel $color , int $width , int $height , int $inner_bevel , int $outer_bevel )
public Gmagick gammaimage ( float $gamma )
public string getcopyright ( void )
public string getfilename ( void )
public GmagickPixel getimagebackgroundcolor ( void )
public array getimageblueprimary ( void )
public GmagickPixel getimagebordercolor ( void )
public int getimagechanneldepth ( int $channel_type )
public int getimagecolors ( void )
public int getimagecolorspace ( void )
public int getimagecompose ( void )
public int getimagedelay ( void )
public int getimagedepth ( void )
public int getimagedispose ( void )
public array getimageextrema ( void )
public string getimagefilename ( void )
public string getimageformat ( void )
public float getimagegamma ( void )
public array getimagegreenprimary ( void )
public int getimageheight ( void )
public array getimagehistogram ( void )
public int getimageindex ( void )
public int getimageinterlacescheme ( void )
public int getimageiterations ( void )
public int getimagematte ( void )
public GmagickPixel getimagemattecolor ( void )
public string getimageprofile ( string $name )
public array getimageredprimary ( void )
public int getimagerenderingintent ( void )
public array getimageresolution ( void )
public int getimagescene ( void )
public string getimagesignature ( void )
public int getimagetype ( void )
public int getimageunits ( void )
public array getimagewhitepoint ( void )
public int getimagewidth ( void )
public string getpackagename ( void )
public array getquantumdepth ( void )
public string getreleasedate ( void )
public array getsamplingfactors ( void )
public array getsize ( void )
public array getversion ( void )
public mixed hasnextimage ( void )
public mixed haspreviousimage ( void )
public mixed implodeimage ( float $radius )
public mixed labelimage ( string $label )
public mixed levelimage ( float $blackPoint , float $gamma , float $whitePoint [, int $channel = Gmagick::CHANNEL_DEFAULT ] )
public mixed magnifyimage ( void )
public Gmagick mapimage ( gmagick $gmagick , bool $dither )
public void medianfilterimage ( float $radius )
public Gmagick minifyimage ( void )
public Gmagick modulateimage ( float $brightness , float $saturation , float $hue )
public Gmagick motionblurimage ( float $radius , float $sigma , float $angle )
public Gmagick newimage ( int $width , int $height , string $background [, string $format ] )
public bool nextimage ( void )
public Gmagick normalizeimage ([ int $channel ] )
public Gmagick oilpaintimage ( float $radius )
public bool previousimage ( void )
public Gmagick profileimage ( string $name , string $profile )
public Gmagick quantizeimage ( int $numColors , int $colorspace , int $treeDepth , bool $dither , bool $measureError )
public Gmagick quantizeimages ( int $numColors , int $colorspace , int $treeDepth , bool $dither , bool $measureError )
public array queryfontmetrics ( GmagickDraw $draw , string $text )
public array queryfonts ([ string $pattern = "*" ] )
public array queryformats ([ string $pattern = "*" ] )
public Gmagick radialblurimage ( float $angle [, int $channel = Gmagick::CHANNEL_DEFAULT ] )
public Gmagick raiseimage ( int $width , int $height , int $x , int $y , bool $raise )
public Gmagick read ( string $filename )
public Gmagick readimage ( string $filename )
public Gmagick readimageblob ( string $imageContents [, string $filename ] )
public Gmagick readimagefile ( resource $fp [, string $filename ] )
public Gmagick reducenoiseimage ( float $radius )
public Gmagick removeimage ( void )
public string removeimageprofile ( string $name )
public Gmagick resampleimage ( float $xResolution , float $yResolution , int $filter , float $blur )
public Gmagick resizeimage ( int $width , int $height , int $filter , float $blur [, bool $fit = false ] )
public Gmagick rollimage ( int $x , int $y )
public Gmagick rotateimage ( mixed $color , float $degrees )
public Gmagick scaleimage ( int $width , int $height [, bool $fit = false ] )
public Gmagick separateimagechannel ( int $channel )
Gmagick setCompressionQuality ( int $quality = 75 )
public Gmagick setfilename ( string $filename )
public Gmagick setimagebackgroundcolor ( GmagickPixel $color )
public Gmagick setimageblueprimary ( float $x , float $y )
public Gmagick setimagebordercolor ( GmagickPixel $color )
public Gmagick setimagechanneldepth ( int $channel , int $depth )
public Gmagick setimagecolorspace ( int $colorspace )
public Gmagick setimagecompose ( int $composite )
public Gmagick setimagedelay ( int $delay )
public Gmagick setimagedepth ( int $depth )
public Gmagick setimagedispose ( int $disposeType )
public Gmagick setimagefilename ( string $filename )
public Gmagick setimageformat ( string $imageFormat )
public Gmagick setimagegamma ( float $gamma )
public Gmagick setimagegreenprimary ( float $x , float $y )
public Gmagick setimageindex ( int $index )
public Gmagick setimageinterlacescheme ( int $interlace )
public Gmagick setimageiterations ( int $iterations )
public Gmagick setimageprofile ( string $name , string $profile )
public Gmagick setimageredprimary ( float $x , float $y )
public Gmagick setimagerenderingintent ( int $rendering_intent )
public Gmagick setimageresolution ( float $xResolution , float $yResolution )
public Gmagick setimagescene ( int $scene )
public Gmagick setimagetype ( int $imgType )
public Gmagick setimageunits ( int $resolution )
public Gmagick setimagewhitepoint ( float $x , float $y )
public Gmagick setsamplingfactors ( array $factors )
public Gmagick setsize ( int $columns , int $rows )
public Gmagick shearimage ( mixed $color , float $xShear , float $yShear )
public Gmagick solarizeimage ( int $threshold )
public Gmagick spreadimage ( float $radius )
public Gmagick stripimage ( void )
public Gmagick swirlimage ( float $degrees )
public Gmagick thumbnailimage ( int $width , int $height [, bool $fit = false ] )
public Gmagick trimimage ( float $fuzz )
public Gmagick writeimage ( string $filename [, bool $all_frames = false ] )
}

Inhaltsverzeichnis

  • Gmagick::addimage — Adds new image to Gmagick object image list
  • Gmagick::addnoiseimage — Adds random noise to the image
  • Gmagick::annotateimage — Annotates an image with text
  • Gmagick::blurimage — Adds blur filter to image
  • Gmagick::borderimage — Surrounds the image with a border
  • Gmagick::charcoalimage — Simulates a charcoal drawing
  • Gmagick::chopimage — Removes a region of an image and trims
  • Gmagick::clear — Clears all resources associated to Gmagick object
  • Gmagick::commentimage — Adds a comment to your image
  • Gmagick::compositeimage — Composite one image onto another
  • Gmagick::__construct — The Gmagick constructor
  • Gmagick::cropimage — Extracts a region of the image
  • Gmagick::cropthumbnailimage — Creates a crop thumbnail
  • Gmagick::current — The current purpose
  • Gmagick::cyclecolormapimage — Displaces an image's colormap
  • Gmagick::deconstructimages — Returns certain pixel differences between images
  • Gmagick::despeckleimage — The despeckleimage purpose
  • Gmagick::destroy — The destroy purpose
  • Gmagick::drawimage — Renders the GmagickDraw object on the current image
  • Gmagick::edgeimage — Enhance edges within the image
  • Gmagick::embossimage — Returns a grayscale image with a three-dimensional effect
  • Gmagick::enhanceimage — Improves the quality of a noisy image
  • Gmagick::equalizeimage — Equalizes the image histogram
  • Gmagick::flipimage — Creates a vertical mirror image
  • Gmagick::flopimage — The flopimage purpose
  • Gmagick::frameimage — Adds a simulated three-dimensional border
  • Gmagick::gammaimage — Gamma-corrects an image
  • Gmagick::getcopyright — Returns the GraphicsMagick API copyright as a string
  • Gmagick::getfilename — The filename associated with an image sequence
  • Gmagick::getimagebackgroundcolor — Returns the image background color
  • Gmagick::getimageblueprimary — Returns the chromaticy blue primary point
  • Gmagick::getimagebordercolor — Returns the image border color
  • Gmagick::getimagechanneldepth — Gets the depth for a particular image channel
  • Gmagick::getimagecolors — Returns the color of the specified colormap index
  • Gmagick::getimagecolorspace — Gets the image colorspace
  • Gmagick::getimagecompose — Returns the composite operator associated with the image
  • Gmagick::getimagedelay — Gets the image delay
  • Gmagick::getimagedepth — Gets the depth of the image
  • Gmagick::getimagedispose — Gets the image disposal method
  • Gmagick::getimageextrema — Gets the extrema for the image
  • Gmagick::getimagefilename — Returns the filename of a particular image in a sequence
  • Gmagick::getimageformat — Returns the format of a particular image in a sequence
  • Gmagick::getimagegamma — Gets the image gamma
  • Gmagick::getimagegreenprimary — Returns the chromaticy green primary point
  • Gmagick::getimageheight — Returns the image height
  • Gmagick::getimagehistogram — Gets the image histogram
  • Gmagick::getimageindex — Gets the index of the current active image
  • Gmagick::getimageinterlacescheme — Gets the image interlace scheme
  • Gmagick::getimageiterations — Gets the image iterations
  • Gmagick::getimagematte — Check if the image has a matte channel
  • Gmagick::getimagemattecolor — Returns the image matte color
  • Gmagick::getimageprofile — Returns the named image profile.
  • Gmagick::getimageredprimary — Returns the chromaticity red primary point
  • Gmagick::getimagerenderingintent — Gets the image rendering intent
  • Gmagick::getimageresolution — Gets the image X and Y resolution
  • Gmagick::getimagescene — Gets the image scene
  • Gmagick::getimagesignature — Generates an SHA-256 message digest
  • Gmagick::getimagetype — Gets the potential image type.
  • Gmagick::getimageunits — Gets the image units of resolution
  • Gmagick::getimagewhitepoint — Returns the chromaticity white point
  • Gmagick::getimagewidth — Returns the width of the image
  • Gmagick::getpackagename — Returns the GraphicsMagick package name.
  • Gmagick::getquantumdepth — Returns the Gmagick quantum depth as a string.
  • Gmagick::getreleasedate — Returns the GraphicsMagick release date as a string.
  • Gmagick::getsamplingfactors — Gets the horizontal and vertical sampling factor.
  • Gmagick::getsize — Returns the size associated with the Gmagick object
  • Gmagick::getversion — Returns the GraphicsMagick API version
  • Gmagick::hasnextimage — Checks if the object has more images
  • Gmagick::haspreviousimage — Checks if the object has a previous image
  • Gmagick::implodeimage — Creates a new image as a copy
  • Gmagick::labelimage — Adds a label to an image.
  • Gmagick::levelimage — Adjusts the levels of an image
  • Gmagick::magnifyimage — Scales an image proportionally 2x
  • Gmagick::mapimage — Replaces the colors of an image with the closest color from a reference image.
  • Gmagick::medianfilterimage — Applies a digital filter
  • Gmagick::minifyimage — Scales an image proportionally to half its size
  • Gmagick::modulateimage — Control the brightness, saturation, and hue
  • Gmagick::motionblurimage — Simulates motion blur
  • Gmagick::newimage — Creates a new image
  • Gmagick::nextimage — Moves to the next image
  • Gmagick::normalizeimage — Enhances the contrast of a color image
  • Gmagick::oilpaintimage — Simulates an oil painting
  • Gmagick::previousimage — Move to the previous image in the object
  • Gmagick::profileimage — Adds or removes a profile from an image
  • Gmagick::quantizeimage — Analyzes the colors within a reference image
  • Gmagick::quantizeimages — The quantizeimages purpose
  • Gmagick::queryfontmetrics — Returns an array representing the font metrics
  • Gmagick::queryfonts — Returns the configured fonts
  • Gmagick::queryformats — Returns formats supported by Gmagick.
  • Gmagick::radialblurimage — Radial blurs an image
  • Gmagick::raiseimage — Creates a simulated 3d button-like effect
  • Gmagick::read — Reads image from filename
  • Gmagick::readimage — Reads image from filename
  • Gmagick::readimageblob — Reads image from a binary string
  • Gmagick::readimagefile — The readimagefile purpose
  • Gmagick::reducenoiseimage — Smooths the contours of an image
  • Gmagick::removeimage — Removes an image from the image list
  • Gmagick::removeimageprofile — Removes the named image profile and returns it
  • Gmagick::resampleimage — Resample image to desired resolution
  • Gmagick::resizeimage — Scales an image
  • Gmagick::rollimage — Offsets an image
  • Gmagick::rotateimage — Rotates an image
  • Gmagick::scaleimage — Scales the size of an image
  • Gmagick::separateimagechannel — Separates a channel from the image
  • Gmagick::setCompressionQuality — Sets the object's default compression quality
  • Gmagick::setfilename — Sets the filename before you read or write the image
  • Gmagick::setimagebackgroundcolor — Sets the image background color.
  • Gmagick::setimageblueprimary — Sets the image chromaticity blue primary point.
  • Gmagick::setimagebordercolor — Sets the image border color.
  • Gmagick::setimagechanneldepth — Sets the depth of a particular image channel
  • Gmagick::setimagecolorspace — Sets the image colorspace
  • Gmagick::setimagecompose — Sets the image composite operator
  • Gmagick::setimagedelay — Sets the image delay
  • Gmagick::setimagedepth — Sets the image depth
  • Gmagick::setimagedispose — Sets the image disposal method
  • Gmagick::setimagefilename — Sets the filename of a particular image in a sequence
  • Gmagick::setimageformat — Sets the format of a particular image
  • Gmagick::setimagegamma — Sets the image gamma
  • Gmagick::setimagegreenprimary — Sets the image chromaticity green primary point.
  • Gmagick::setimageindex — Set the iterator to the position in the image list specified with the index parameter
  • Gmagick::setimageinterlacescheme — Sets the interlace scheme of the image.
  • Gmagick::setimageiterations — Sets the image iterations.
  • Gmagick::setimageprofile — Adds a named profile to the Gmagick object
  • Gmagick::setimageredprimary — Sets the image chromaticity red primary point.
  • Gmagick::setimagerenderingintent — Sets the image rendering intent
  • Gmagick::setimageresolution — Sets the image resolution
  • Gmagick::setimagescene — Sets the image scene
  • Gmagick::setimagetype — Sets the image type
  • Gmagick::setimageunits — Sets the image units of resolution.
  • Gmagick::setimagewhitepoint — Sets the image chromaticity white point.
  • Gmagick::setsamplingfactors — Sets the image sampling factors.
  • Gmagick::setsize — Sets the size of the Gmagick object
  • Gmagick::shearimage — Creating a parallelogram
  • Gmagick::solarizeimage — Applies a solarizing effect to the image
  • Gmagick::spreadimage — Randomly displaces each pixel in a block
  • Gmagick::stripimage — Strips an image of all profiles and comments
  • Gmagick::swirlimage — Swirls the pixels about the center of the image
  • Gmagick::thumbnailimage — Changes the size of an image
  • Gmagick::trimimage — Remove edges from the image
  • Gmagick::write — Alias von Gmagick::writeimage
  • Gmagick::writeimage — Writes an image to the specified filename
Beispiele
Gmagick::addimage
Gmagick


Adds new image to Gmagick object image list

Gmagick
Gmagick::addnoiseimage
Gmagick
PHP Manual

Gmagick::addimage

(PECL gmagick >= Unknown)

Gmagick::addimage — Adds new image to Gmagick object image list

Beschreibung

public Gmagick Gmagick::addimage ( Gmagick $Gmagick )

Adds new image to Gmagick object from the current position of the source object. After the operation iterator position is moved at the end of the list.

Parameter-Liste

source

The source Gmagick object

Rückgabewerte

The Gmagick object with image added

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick
Gmagick::addnoiseimage
Gmagick


Adds random noise to the image

Gmagick::addimage
Gmagick::annotateimage
Gmagick
PHP Manual

Gmagick::addnoiseimage

(PECL gmagick >= Unknown)

Gmagick::addnoiseimage — Adds random noise to the image

Beschreibung

public Gmagick Gmagick::addnoiseimage ( int $NOISE )

Adds random noise to the image.

Parameter-Liste

noise_type

The type of the noise. Refer to this list of noise constants.

Rückgabewerte

The Gmagick object with noise added.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::addimage
Gmagick::annotateimage
Gmagick


Annotates an image with text

Gmagick::addnoiseimage
Gmagick::blurimage
Gmagick
PHP Manual

Gmagick::annotateimage

(PECL gmagick >= Unknown)

Gmagick::annotateimage — Annotates an image with text

Beschreibung

public Gmagick Gmagick::annotateimage ( GmagickDraw $GmagickDraw , float $x , float $y , float $angle , string $text )

Annotates an image with text.

Parameter-Liste

GmagickDraw

The GmagickDraw object that contains settings for drawing the text

x

Horizontal offset in pixels to the left of text

y

Vertical offset in pixels to the baseline of text

angle

The angle at which to write the text

text

The string to draw

Rückgabewerte

The Gmagick object with annotation made.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::addnoiseimage
Gmagick::blurimage
Gmagick


Adds blur filter to image

Gmagick::annotateimage
Gmagick::borderimage
Gmagick
PHP Manual

Gmagick::blurimage

(PECL gmagick >= Unknown)

Gmagick::blurimage — Adds blur filter to image

Beschreibung

public Gmagick Gmagick::blurimage ( float $radius , float $sigma [, int $channel ] )

Adds blur filter to image.

Parameter-Liste

radius

Blur radius

sigma

Standard deviation

Rückgabewerte

The blurred Gmagick object

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::annotateimage
Gmagick::borderimage
Gmagick


Surrounds the image with a border

Gmagick::blurimage
Gmagick::charcoalimage
Gmagick
PHP Manual

Gmagick::borderimage

(PECL gmagick >= Unknown)

Gmagick::borderimage — Surrounds the image with a border

Beschreibung

public Gmagick Gmagick::borderimage ( GmagickPixel $color , int $width , int $height )

Surrounds the image with a border of the color defined by the bordercolor GmagickPixel object or a color string.

Parameter-Liste

color

GmagickPixel object or a string containing the border color

width

Border width

height

Border height

Rückgabewerte

The Gmagick object with border defined

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::blurimage
Gmagick::charcoalimage
Gmagick


Simulates a charcoal drawing

Gmagick::borderimage
Gmagick::chopimage
Gmagick
PHP Manual

Gmagick::charcoalimage

(PECL gmagick >= Unknown)

Gmagick::charcoalimage — Simulates a charcoal drawing

Beschreibung

public Gmagick Gmagick::charcoalimage ( float $radius , float $sigma )

Simulates a charcoal drawing.

Parameter-Liste

radius

The radius of the Gaussian, in pixels, not counting the center pixel

sigma

The standard deviation of the Gaussian, in pixels

Rückgabewerte

The Gmagick object with charcoal simulation

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::borderimage
Gmagick::chopimage
Gmagick


Removes a region of an image and trims

Gmagick::charcoalimage
Gmagick::clear
Gmagick
PHP Manual

Gmagick::chopimage

(PECL gmagick >= Unknown)

Gmagick::chopimage — Removes a region of an image and trims

Beschreibung

public Gmagick Gmagick::chopimage ( int $width , int $height , int $x , int $y )

Removes a region of an image and collapses the image to occupy the removed portion.

Parameter-Liste

width

Width of the chopped area

height

Height of the chopped area

x

X origo of the chopped area

y

Y origo of the chopped area

Rückgabewerte

The chopped Gmagick object

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::charcoalimage
Gmagick::clear
Gmagick


Clears all resources associated to Gmagick object

Gmagick::chopimage
Gmagick::commentimage
Gmagick
PHP Manual

Gmagick::clear

(PECL gmagick >= Unknown)

Gmagick::clear — Clears all resources associated to Gmagick object

Beschreibung

public Gmagick Gmagick::clear ( void )

Clears all resources associated to Gmagick object

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The cleared Gmagick object

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::chopimage
Gmagick::commentimage
Gmagick


Adds a comment to your image

Gmagick::clear
Gmagick::compositeimage
Gmagick
PHP Manual

Gmagick::commentimage

(PECL gmagick >= Unknown)

Gmagick::commentimage — Adds a comment to your image

Beschreibung

public Gmagick Gmagick::commentimage ( string $comment )

Adds a comment to your image.

Parameter-Liste

comment

The comment to add

Rückgabewerte

The Gmagick object with comment added.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::clear
Gmagick::compositeimage
Gmagick


Composite one image onto another

Gmagick::commentimage
Gmagick::__construct
Gmagick
PHP Manual

Gmagick::compositeimage

(PECL gmagick >= Unknown)

Gmagick::compositeimage — Composite one image onto another

Beschreibung

public Gmagick Gmagick::compositeimage ( Gmagick $source , int $COMPOSE , int $x , int $y )

Composite one image onto another at the specified offset.

Parameter-Liste

source

Gmagick object which holds the composite image

compose

Composite operator.

x

The column offset of the composited image

y

The row offset of the composited image

Rückgabewerte

The Gmagick object with compositions.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::commentimage
Gmagick::__construct
Gmagick


The Gmagick constructor

Gmagick::compositeimage
Gmagick::cropimage
Gmagick
PHP Manual

Gmagick::__construct

(PECL gmagick >= Unknown)

Gmagick::__construct — The Gmagick constructor

Beschreibung

public Gmagick::__construct ([ string $filename ] )

The Gmagick constructor.

Parameter-Liste

filename

The path to an image to load or array of paths

Rückgabewerte

Returns a new Gmagick object on success.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::compositeimage
Gmagick::cropimage
Gmagick


Extracts a region of the image

Gmagick::__construct
Gmagick::cropthumbnailimage
Gmagick
PHP Manual

Gmagick::cropimage

(PECL gmagick >= Unknown)

Gmagick::cropimage — Extracts a region of the image

Beschreibung

public Gmagick Gmagick::cropimage ( int $width , int $height , int $x , int $y )

Extracts a region of the image.

Parameter-Liste

width

The width of the crop

height

The height of the crop

x

The X coordinate of the cropped region's top left corner

y

The Y coordinate of the cropped region's top left corner

Rückgabewerte

The cropped Gmagick object

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::__construct
Gmagick::cropthumbnailimage
Gmagick


Creates a crop thumbnail

Gmagick::cropimage
Gmagick::current
Gmagick
PHP Manual

Gmagick::cropthumbnailimage

(PECL gmagick >= Unknown)

Gmagick::cropthumbnailimage — Creates a crop thumbnail

Beschreibung

public Gmagick Gmagick::cropthumbnailimage ( int $width , int $height )

Creates a fixed size thumbnail by first scaling the image down and cropping a specified area from the center.

Parameter-Liste

width

The width of the thumbnail

height

The Height of the thumbnail

Rückgabewerte

The cropped Gmagick object

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::cropimage
Gmagick::current
Gmagick


The current purpose

Gmagick::cropthumbnailimage
Gmagick::cyclecolormapimage
Gmagick
PHP Manual

Gmagick::current

(PECL gmagick >= Unknown)

Gmagick::current — The current purpose

Beschreibung

public Gmagick Gmagick::current ( void )

Returns reference to the current gmagick object with image pointer at the correct sequence.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns self on success.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::cropthumbnailimage
Gmagick::cyclecolormapimage
Gmagick


Displaces an image's colormap

Gmagick::current
Gmagick::deconstructimages
Gmagick
PHP Manual

Gmagick::cyclecolormapimage

(PECL gmagick >= Unknown)

Gmagick::cyclecolormapimage — Displaces an image's colormap

Beschreibung

public Gmagick Gmagick::cyclecolormapimage ( int $displace )

Displaces an image's colormap by a given number of positions. If you cycle the colormap a number of times you can produce a psychedelic effect.

Parameter-Liste

displace

The amount to displace the colormap.

Rückgabewerte

Returns self on success.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::current
Gmagick::deconstructimages
Gmagick


Returns certain pixel differences between images

Gmagick::cyclecolormapimage
Gmagick::despeckleimage
Gmagick
PHP Manual

Gmagick::deconstructimages

(PECL gmagick >= Unknown)

Gmagick::deconstructimages — Returns certain pixel differences between images

Beschreibung

public Gmagick Gmagick::deconstructimages ( void )

Compares each image with the next in a sequence and returns the maximum bounding region of any pixel differences it discovers.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a new Gmagick object on success.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::cyclecolormapimage
Gmagick::despeckleimage
Gmagick


The despeckleimage purpose

Gmagick::deconstructimages
Gmagick::destroy
Gmagick
PHP Manual

Gmagick::despeckleimage

(PECL gmagick >= Unknown)

Gmagick::despeckleimage — The despeckleimage purpose

Beschreibung

public Gmagick Gmagick::despeckleimage ( void )

Reduces the speckle noise in an image while preserving the edges of the original image.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The despeckled Gmagick object on success.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Beispiele

Beispiel #1 Gmagick::despeckleimage() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

Gmagick::deconstructimages
Gmagick::destroy
Gmagick


The destroy purpose

Gmagick::despeckleimage
Gmagick::drawimage
Gmagick
PHP Manual

Gmagick::destroy

(PECL gmagick >= Unknown)

Gmagick::destroy — The destroy purpose

Beschreibung

public bool Gmagick::destroy ( void )

Destroys the Gmagick object and frees all resources associated with it

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::despeckleimage
Gmagick::drawimage
Gmagick


Renders the GmagickDraw object on the current image

Gmagick::destroy
Gmagick::edgeimage
Gmagick
PHP Manual

Gmagick::drawimage

(PECL gmagick >= Unknown)

Gmagick::drawimage — Renders the GmagickDraw object on the current image

Beschreibung

public Gmagick Gmagick::drawimage ( GmagickDraw $GmagickDraw )

Renders the GmagickDraw object on the current image

Parameter-Liste

GmagickDraw

The drawing operations to render on the image.

Rückgabewerte

The drawn Gmagick object

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::destroy
Gmagick::edgeimage
Gmagick


Enhance edges within the image

Gmagick::drawimage
Gmagick::embossimage
Gmagick
PHP Manual

Gmagick::edgeimage

(PECL gmagick >= Unknown)

Gmagick::edgeimage — Enhance edges within the image

Beschreibung

public Gmagick Gmagick::edgeimage ( float $radius )

Enhance edges within the image with a convolution filter of the given radius. Use radius 0 and it will be auto-selected.

Parameter-Liste

radius

The radius of the operation.

Rückgabewerte

The Gmagick object with edges enhanced.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::drawimage
Gmagick::embossimage
Gmagick


Returns a grayscale image with a three-dimensional effect

Gmagick::edgeimage
Gmagick::enhanceimage
Gmagick
PHP Manual

Gmagick::embossimage

(PECL gmagick >= Unknown)

Gmagick::embossimage — Returns a grayscale image with a three-dimensional effect

Beschreibung

public Gmagick Gmagick::embossimage ( float $radius , float $sigma )

Returns a grayscale image with a three-dimensional effect. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and it will choose a suitable radius for you.

Parameter-Liste

radius

The radius of the effect

sigma

The sigma of the effect

Rückgabewerte

The embossed Gmagick object.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::edgeimage
Gmagick::enhanceimage
Gmagick


Improves the quality of a noisy image

Gmagick::embossimage
Gmagick::equalizeimage
Gmagick
PHP Manual

Gmagick::enhanceimage

(PECL gmagick >= Unknown)

Gmagick::enhanceimage — Improves the quality of a noisy image

Beschreibung

public Gmagick Gmagick::enhanceimage ( void )

Applies a digital filter that improves the quality of a noisy image.

Rückgabewerte

The enhanced Gmagick object.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::embossimage
Gmagick::equalizeimage
Gmagick


Equalizes the image histogram

Gmagick::enhanceimage
Gmagick::flipimage
Gmagick
PHP Manual

Gmagick::equalizeimage

(PECL gmagick >= Unknown)

Gmagick::equalizeimage — Equalizes the image histogram

Beschreibung

public Gmagick Gmagick::equalizeimage ( void )

Equalizes the image histogram.

Rückgabewerte

The equalized Gmagick object.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::enhanceimage
Gmagick::flipimage
Gmagick


Creates a vertical mirror image

Gmagick::equalizeimage
Gmagick::flopimage
Gmagick
PHP Manual

Gmagick::flipimage

(PECL gmagick >= Unknown)

Gmagick::flipimage — Creates a vertical mirror image

Beschreibung

public Gmagick Gmagick::flipimage ( void )

Creates a vertical mirror image by reflecting the pixels around the central x-axis.

Rückgabewerte

The flipped Gmagick object.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::equalizeimage
Gmagick::flopimage
Gmagick


The flopimage purpose

Gmagick::flipimage
Gmagick::frameimage
Gmagick
PHP Manual

Gmagick::flopimage

(PECL gmagick >= Unknown)

Gmagick::flopimage — The flopimage purpose

Beschreibung

public Gmagick Gmagick::flopimage ( void )

Creates a horizontal mirror image by reflecting the pixels around the central y-axis.

Rückgabewerte

The flopped Gmagick object.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::flipimage
Gmagick::frameimage
Gmagick


Adds a simulated three-dimensional border

Gmagick::flopimage
Gmagick::gammaimage
Gmagick
PHP Manual

Gmagick::frameimage

(PECL gmagick >= Unknown)

Gmagick::frameimage — Adds a simulated three-dimensional border

Beschreibung

public Gmagick Gmagick::frameimage ( GmagickPixel $color , int $width , int $height , int $inner_bevel , int $outer_bevel )

Adds a simulated three-dimensional border around the image. The width and height specify the border width of the vertical and horizontal sides of the frame. The inner and outer bevels indicate the width of the inner and outer shadows of the frame.

Parameter-Liste

color

GmagickPixel object or a float representing the matte color

width

The width of the border

height

The height of the border

inner_bevel

The inner bevel width

outer_bevel

The outer bevel width

Rückgabewerte

The framed Gmagick object.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::flopimage
Gmagick::gammaimage
Gmagick


Gamma-corrects an image

Gmagick::frameimage
Gmagick::getcopyright
Gmagick
PHP Manual

Gmagick::gammaimage

(PECL gmagick >= Unknown)

Gmagick::gammaimage — Gamma-corrects an image

Beschreibung

public Gmagick Gmagick::gammaimage ( float $gamma )

Gamma-corrects an image. The same image viewed on different devices will have perceptual differences in the way the image's intensities are represented on the screen. Specify individual gamma levels for the red, green, and blue channels, or adjust all three with the gamma parameter. Values typically range from 0.8 to 2.3.

Parameter-Liste

gamma

The amount of gamma-correction.

Rückgabewerte

The gamma corrected Gmagick object.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::frameimage
Gmagick::getcopyright
Gmagick


Returns the GraphicsMagick API copyright as a string

Gmagick::gammaimage
Gmagick::getfilename
Gmagick
PHP Manual

Gmagick::getcopyright

(PECL gmagick >= Unknown)

Gmagick::getcopyright — Returns the GraphicsMagick API copyright as a string

Beschreibung

public string Gmagick::getcopyright ( void )

Returns the GraphicsMagick API copyright as a string.

Rückgabewerte

Returns a string containing the copyright notice of GraphicsMagick and Magickwand C API.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::gammaimage
Gmagick::getfilename
Gmagick


The filename associated with an image sequence

Gmagick::getcopyright
Gmagick::getimagebackgroundcolor
Gmagick
PHP Manual

Gmagick::getfilename

(PECL gmagick >= Unknown)

Gmagick::getfilename — The filename associated with an image sequence

Beschreibung

public string Gmagick::getfilename ( void )

Returns the filename associated with an image sequence.

Rückgabewerte

Returns a string on success.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getcopyright
Gmagick::getimagebackgroundcolor
Gmagick


Returns the image background color

Gmagick::getfilename
Gmagick::getimageblueprimary
Gmagick
PHP Manual

Gmagick::getimagebackgroundcolor

(PECL gmagick >= Unknown)

Gmagick::getimagebackgroundcolor — Returns the image background color

Beschreibung

public GmagickPixel Gmagick::getimagebackgroundcolor ( void )

Returns the image background color.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an GmagickPixel set to the background color of the image.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getfilename
Gmagick::getimageblueprimary
Gmagick


Returns the chromaticy blue primary point

Gmagick::getimagebackgroundcolor
Gmagick::getimagebordercolor
Gmagick
PHP Manual

Gmagick::getimageblueprimary

(PECL gmagick >= Unknown)

Gmagick::getimageblueprimary — Returns the chromaticy blue primary point

Beschreibung

public array Gmagick::getimageblueprimary ( void )

Returns the chromaticity blue primary point for the image.

Parameter-Liste

x

The chromaticity blue primary x-point.

y

The chromaticity blue primary y-point.

Rückgabewerte

Array consisting of "x" and "y" coordinates of point.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getimagebackgroundcolor
Gmagick::getimagebordercolor
Gmagick


Returns the image border color

Gmagick::getimageblueprimary
Gmagick::getimagechanneldepth
Gmagick
PHP Manual

Gmagick::getimagebordercolor

(PECL gmagick >= Unknown)

Gmagick::getimagebordercolor — Returns the image border color

Beschreibung

public GmagickPixel Gmagick::getimagebordercolor ( void )

Returns the image border color.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

GmagickPixel object representing the color of the border

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getimageblueprimary
Gmagick::getimagechanneldepth
Gmagick


Gets the depth for a particular image channel

Gmagick::getimagebordercolor
Gmagick::getimagecolors
Gmagick
PHP Manual

Gmagick::getimagechanneldepth

(PECL gmagick >= Unknown)

Gmagick::getimagechanneldepth — Gets the depth for a particular image channel

Beschreibung

public int Gmagick::getimagechanneldepth ( int $channel_type )

Gets the depth for a particular image channel.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Depth of image channel

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getimagebordercolor
Gmagick::getimagecolors
Gmagick


Returns the color of the specified colormap index

Gmagick::getimagechanneldepth
Gmagick::getimagecolorspace
Gmagick
PHP Manual

Gmagick::getimagecolors

(PECL gmagick >= Unknown)

Gmagick::getimagecolors — Returns the color of the specified colormap index

Beschreibung

public int Gmagick::getimagecolors ( void )

Returns the color of the specified colormap index.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The number of colors in image.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getimagechanneldepth
Gmagick::getimagecolorspace
Gmagick


Gets the image colorspace

Gmagick::getimagecolors
Gmagick::getimagecompose
Gmagick
PHP Manual

Gmagick::getimagecolorspace

(PECL gmagick >= Unknown)

Gmagick::getimagecolorspace — Gets the image colorspace

Beschreibung

public int Gmagick::getimagecolorspace ( void )

Gets the image colorspace.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Colorspace

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getimagecolors
Gmagick::getimagecompose
Gmagick


Returns the composite operator associated with the image

Gmagick::getimagecolorspace
Gmagick::getimagedelay
Gmagick
PHP Manual

Gmagick::getimagecompose

(PECL gmagick >= Unknown)

Gmagick::getimagecompose — Returns the composite operator associated with the image

Beschreibung

public int Gmagick::getimagecompose ( void )

Returns the composite operator associated with the image.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the composite operator associated with the image.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getimagecolorspace
Gmagick::getimagedelay
Gmagick


Gets the image delay

Gmagick::getimagecompose
Gmagick::getimagedepth
Gmagick
PHP Manual

Gmagick::getimagedelay

(PECL gmagick >= Unknown)

Gmagick::getimagedelay — Gets the image delay

Beschreibung

public int Gmagick::getimagedelay ( void )

Gets the image delay

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the composite operator associated with the image.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getimagecompose
Gmagick::getimagedepth
Gmagick


Gets the depth of the image

Gmagick::getimagedelay
Gmagick::getimagedispose
Gmagick
PHP Manual

Gmagick::getimagedepth

(PECL gmagick >= Unknown)

Gmagick::getimagedepth — Gets the depth of the image

Beschreibung

public int Gmagick::getimagedepth ( void )

Gets the depth of the image.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Image depth

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getimagedelay
Gmagick::getimagedispose
Gmagick


Gets the image disposal method

Gmagick::getimagedepth
Gmagick::getimageextrema
Gmagick
PHP Manual

Gmagick::getimagedispose

(PECL gmagick >= Unknown)

Gmagick::getimagedispose — Gets the image disposal method

Beschreibung

public int Gmagick::getimagedispose ( void )

Gets the image disposal method

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the dispose method on success.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getimagedepth
Gmagick::getimageextrema
Gmagick


Gets the extrema for the image

Gmagick::getimagedispose
Gmagick::getimagefilename
Gmagick
PHP Manual

Gmagick::getimageextrema

(PECL gmagick >= Unknown)

Gmagick::getimageextrema — Gets the extrema for the image

Beschreibung

public array Gmagick::getimageextrema ( void )

Returns an associative array with the keys "min" and "max". Wirft bei einem Fehler eine GmagickException.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an associative array with the keys "min" and "max".

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getimagedispose
Gmagick::getimagefilename
Gmagick


Returns the filename of a particular image in a sequence

Gmagick::getimageextrema
Gmagick::getimageformat
Gmagick
PHP Manual

Gmagick::getimagefilename

(PECL gmagick >= Unknown)

Gmagick::getimagefilename — Returns the filename of a particular image in a sequence

Beschreibung

public string Gmagick::getimagefilename ( void )

Returns the filename of a particular image in a sequence

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a string with the filename of the image

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getimageextrema
Gmagick::getimageformat
Gmagick


Returns the format of a particular image in a sequence

Gmagick::getimagefilename
Gmagick::getimagegamma
Gmagick
PHP Manual

Gmagick::getimageformat

(PECL gmagick >= Unknown)

Gmagick::getimageformat — Returns the format of a particular image in a sequence

Beschreibung

public string Gmagick::getimageformat ( void )

Returns the format of a particular image in a sequence.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a string containing the image format on success.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getimagefilename
Gmagick::getimagegamma
Gmagick


Gets the image gamma

Gmagick::getimageformat
Gmagick::getimagegreenprimary
Gmagick
PHP Manual

Gmagick::getimagegamma

(PECL gmagick >= Unknown)

Gmagick::getimagegamma — Gets the image gamma

Beschreibung

public float Gmagick::getimagegamma ( void )

Gets the image gamma

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the image gamma on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getimageformat
Gmagick::getimagegreenprimary
Gmagick


Returns the chromaticy green primary point

Gmagick::getimagegamma
Gmagick::getimageheight
Gmagick
PHP Manual

Gmagick::getimagegreenprimary

(PECL gmagick >= Unknown)

Gmagick::getimagegreenprimary — Returns the chromaticy green primary point

Beschreibung

public array Gmagick::getimagegreenprimary ( void )

Returns the chromaticity green primary point. Returns an array with the keys "x" and "y".

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array with the keys "x" and "y" on success.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getimagegamma
Gmagick::getimageheight
Gmagick


Returns the image height

Gmagick::getimagegreenprimary
Gmagick::getimagehistogram
Gmagick
PHP Manual

Gmagick::getimageheight

(PECL gmagick >= Unknown)

Gmagick::getimageheight — Returns the image height

Beschreibung

public int Gmagick::getimageheight ( void )

Returns the image height

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the image height in pixels.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getimagegreenprimary
Gmagick::getimagehistogram
Gmagick


Gets the image histogram

Gmagick::getimageheight
Gmagick::getimageindex
Gmagick
PHP Manual

Gmagick::getimagehistogram

(PECL gmagick >= Unknown)

Gmagick::getimagehistogram — Gets the image histogram

Beschreibung

public array Gmagick::getimagehistogram ( void )

Returns the image histogram as an array of GmagickPixel objects. Throw an GmagickException on error.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the image histogram as an array of GmagickPixel objects.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getimageheight
Gmagick::getimageindex
Gmagick


Gets the index of the current active image

Gmagick::getimagehistogram
Gmagick::getimageinterlacescheme
Gmagick
PHP Manual

Gmagick::getimageindex

(PECL gmagick >= Unknown)

Gmagick::getimageindex — Gets the index of the current active image

Beschreibung

public int Gmagick::getimageindex ( void )

Returns the index of the current active image within the Gmagick object.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Index of current active image

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getimagehistogram
Gmagick::getimageinterlacescheme
Gmagick


Gets the image interlace scheme

Gmagick::getimageindex
Gmagick::getimageiterations
Gmagick
PHP Manual

Gmagick::getimageinterlacescheme

(PECL gmagick >= Unknown)

Gmagick::getimageinterlacescheme — Gets the image interlace scheme

Beschreibung

public int Gmagick::getimageinterlacescheme ( void )

Gets the image interlace scheme.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the interlace scheme as an integer on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getimageindex
Gmagick::getimageiterations
Gmagick


Gets the image iterations

Gmagick::getimageinterlacescheme
Gmagick::getimagematte
Gmagick
PHP Manual

Gmagick::getimageiterations

(PECL gmagick >= Unknown)

Gmagick::getimageiterations — Gets the image iterations

Beschreibung

public int Gmagick::getimageiterations ( void )

Gets the image iterations.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the image iterations as an integer.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getimageinterlacescheme
Gmagick::getimagematte
Gmagick


Check if the image has a matte channel

Gmagick::getimageiterations
Gmagick::getimagemattecolor
Gmagick
PHP Manual

Gmagick::getimagematte

(PECL gmagick >= Unknown)

Gmagick::getimagematte — Check if the image has a matte channel

Beschreibung

public int Gmagick::getimagematte ( void )

Returns TRUE if the image has a matte channel, otherwise FALSE.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the image has a matte channel, otherwise FALSE.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getimageiterations
Gmagick::getimagemattecolor
Gmagick


Returns the image matte color

Gmagick::getimagematte
Gmagick::getimageprofile
Gmagick
PHP Manual

Gmagick::getimagemattecolor

(PECL gmagick >= Unknown)

Gmagick::getimagemattecolor — Returns the image matte color

Beschreibung

public GmagickPixel Gmagick::getimagemattecolor ( void )

Returns GmagickPixel object on success. Throw an GmagickException on error.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns GmagickPixel object on success.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getimagematte
Gmagick::getimageprofile
Gmagick


Returns the named image profile.

Gmagick::getimagemattecolor
Gmagick::getimageredprimary
Gmagick
PHP Manual

Gmagick::getimageprofile

(PECL gmagick >= Unknown)

Gmagick::getimageprofile — Returns the named image profile.

Beschreibung

public string Gmagick::getimageprofile ( string $name )

Returns the named image profile.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a string containing the image profile.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getimagemattecolor
Gmagick::getimageredprimary
Gmagick


Returns the chromaticity red primary point

Gmagick::getimageprofile
Gmagick::getimagerenderingintent
Gmagick
PHP Manual

Gmagick::getimageredprimary

(PECL gmagick >= Unknown)

Gmagick::getimageredprimary — Returns the chromaticity red primary point

Beschreibung

public array Gmagick::getimageredprimary ( void )

Returns the chromaticity red primary point as an array with the keys "x" and "y".

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the chromaticity red primary point as an array with the keys "x" and "y".

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getimageprofile
Gmagick::getimagerenderingintent
Gmagick


Gets the image rendering intent

Gmagick::getimageredprimary
Gmagick::getimageresolution
Gmagick
PHP Manual

Gmagick::getimagerenderingintent

(PECL gmagick >= Unknown)

Gmagick::getimagerenderingintent — Gets the image rendering intent

Beschreibung

public int Gmagick::getimagerenderingintent ( void )

Gets the image rendering intent

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Extracts a region of the image and returns it as a a new wand

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getimageredprimary
Gmagick::getimageresolution
Gmagick


Gets the image X and Y resolution

Gmagick::getimagerenderingintent
Gmagick::getimagescene
Gmagick
PHP Manual

Gmagick::getimageresolution

(PECL gmagick >= Unknown)

Gmagick::getimageresolution — Gets the image X and Y resolution

Beschreibung

public array Gmagick::getimageresolution ( void )

Returns the resolution as an array.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the resolution as an array.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getimagerenderingintent
Gmagick::getimagescene
Gmagick


Gets the image scene

Gmagick::getimageresolution
Gmagick::getimagesignature
Gmagick
PHP Manual

Gmagick::getimagescene

(PECL gmagick >= Unknown)

Gmagick::getimagescene — Gets the image scene

Beschreibung

public int Gmagick::getimagescene ( void )

Gets the image scene.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the image scene.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getimageresolution
Gmagick::getimagesignature
Gmagick


Generates an SHA-256 message digest

Gmagick::getimagescene
Gmagick::getimagetype
Gmagick
PHP Manual

Gmagick::getimagesignature

(PECL gmagick >= Unknown)

Gmagick::getimagesignature — Generates an SHA-256 message digest

Beschreibung

public string Gmagick::getimagesignature ( void )

Generates an SHA-256 message digest for the image pixel stream.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a string containing the SHA-256 hash of the file.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getimagescene
Gmagick::getimagetype
Gmagick


Gets the potential image type.

Gmagick::getimagesignature
Gmagick::getimageunits
Gmagick
PHP Manual

Gmagick::getimagetype

(PECL gmagick >= Unknown)

Gmagick::getimagetype — Gets the potential image type.

Beschreibung

public int Gmagick::getimagetype ( void )

Gets the potential image type.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the potential image type.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getimagesignature
Gmagick::getimageunits
Gmagick


Gets the image units of resolution

Gmagick::getimagetype
Gmagick::getimagewhitepoint
Gmagick
PHP Manual

Gmagick::getimageunits

(PECL gmagick >= Unknown)

Gmagick::getimageunits — Gets the image units of resolution

Beschreibung

public int Gmagick::getimageunits ( void )

Gets the image units of resolution.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the image units of resolution.

Gmagick::getimagetype
Gmagick::getimagewhitepoint
Gmagick


Returns the chromaticity white point

Gmagick::getimageunits
Gmagick::getimagewidth
Gmagick
PHP Manual

Gmagick::getimagewhitepoint

(PECL gmagick >= Unknown)

Gmagick::getimagewhitepoint — Returns the chromaticity white point

Beschreibung

public array Gmagick::getimagewhitepoint ( void )

Returns the chromaticity white point as an associative array with the keys "x" and "y".

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the chromaticity white point as an associative array with the keys "x" and "y".

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getimageunits
Gmagick::getimagewidth
Gmagick


Returns the width of the image

Gmagick::getimagewhitepoint
Gmagick::getpackagename
Gmagick
PHP Manual

Gmagick::getimagewidth

(PECL gmagick >= Unknown)

Gmagick::getimagewidth — Returns the width of the image

Beschreibung

public int Gmagick::getimagewidth ( void )

Returns the width of the image.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the image width.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getimagewhitepoint
Gmagick::getpackagename
Gmagick


Returns the GraphicsMagick package name.

Gmagick::getimagewidth
Gmagick::getquantumdepth
Gmagick
PHP Manual

Gmagick::getpackagename

(PECL gmagick >= Unknown)

Gmagick::getpackagename — Returns the GraphicsMagick package name.

Beschreibung

public string Gmagick::getpackagename ( void )

Returns the GraphicsMagick package name.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the GraphicsMagick package name as a string.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getimagewidth
Gmagick::getquantumdepth
Gmagick


Returns the Gmagick quantum depth as a string.

Gmagick::getpackagename
Gmagick::getreleasedate
Gmagick
PHP Manual

Gmagick::getquantumdepth

(PECL gmagick >= Unknown)

Gmagick::getquantumdepth — Returns the Gmagick quantum depth as a string.

Beschreibung

public array Gmagick::getquantumdepth ( void )

Returns the Gmagick quantum depth as a string.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the Gmagick quantum depth as a string.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getpackagename
Gmagick::getreleasedate
Gmagick


Returns the GraphicsMagick release date as a string.

Gmagick::getquantumdepth
Gmagick::getsamplingfactors
Gmagick
PHP Manual

Gmagick::getreleasedate

(PECL gmagick >= Unknown)

Gmagick::getreleasedate — Returns the GraphicsMagick release date as a string.

Beschreibung

public string Gmagick::getreleasedate ( void )

Returns the GraphicsMagick release date as a string.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the GraphicsMagick release date as a string.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getquantumdepth
Gmagick::getsamplingfactors
Gmagick


Gets the horizontal and vertical sampling factor.

Gmagick::getreleasedate
Gmagick::getsize
Gmagick
PHP Manual

Gmagick::getsamplingfactors

(PECL gmagick >= Unknown)

Gmagick::getsamplingfactors — Gets the horizontal and vertical sampling factor.

Beschreibung

public array Gmagick::getsamplingfactors ( void )

Gets the horizontal and vertical sampling factor.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an associative array with the horizontal and vertical sampling factors of the image.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getreleasedate
Gmagick::getsize
Gmagick


Returns the size associated with the Gmagick object

Gmagick::getsamplingfactors
Gmagick::getversion
Gmagick
PHP Manual

Gmagick::getsize

(PECL gmagick >= Unknown)

Gmagick::getsize — Returns the size associated with the Gmagick object

Beschreibung

public array Gmagick::getsize ( void )

Returns the size associated with the Gmagick object as an array with the keys "columns" and "rows".

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the size associated with the Gmagick object as an array with the keys "columns" and "rows".

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getsamplingfactors
Gmagick::getversion
Gmagick


Returns the GraphicsMagick API version

Gmagick::getsize
Gmagick::hasnextimage
Gmagick
PHP Manual

Gmagick::getversion

(PECL gmagick >= Unknown)

Gmagick::getversion — Returns the GraphicsMagick API version

Beschreibung

public array Gmagick::getversion ( void )

Returns the GraphicsMagick API version as a string and as a number.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the GraphicsMagick API version as a string and as a number.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getsize
Gmagick::hasnextimage
Gmagick


Checks if the object has more images

Gmagick::getversion
Gmagick::haspreviousimage
Gmagick
PHP Manual

Gmagick::hasnextimage

(PECL gmagick >= Unknown)

Gmagick::hasnextimage — Checks if the object has more images

Beschreibung

public mixed Gmagick::hasnextimage ( void )

Returns TRUE if the object has more images when traversing the list in the forward direction.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the object has more images when traversing the list in the forward direction, returns FALSE if there are none.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::getversion
Gmagick::haspreviousimage
Gmagick


Checks if the object has a previous image

Gmagick::hasnextimage
Gmagick::implodeimage
Gmagick
PHP Manual

Gmagick::haspreviousimage

(PECL gmagick >= Unknown)

Gmagick::haspreviousimage — Checks if the object has a previous image

Beschreibung

public mixed Gmagick::haspreviousimage ( void )

Returns TRUE if the object has more images when traversing the list in the reverse direction

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the object has more images when traversing the list in the reverse direction, returns FALSE if there are none.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::hasnextimage
Gmagick::implodeimage
Gmagick


Creates a new image as a copy

Gmagick::haspreviousimage
Gmagick::labelimage
Gmagick
PHP Manual

Gmagick::implodeimage

(PECL gmagick >= Unknown)

Gmagick::implodeimage — Creates a new image as a copy

Beschreibung

public mixed Gmagick::implodeimage ( float $radius )

Creates a new image that is a copy of an existing one with the image pixels "imploded" by the specified percentage.

Parameter-Liste

radius

The radius of the implode

Rückgabewerte

Returns imploded Gmagick object.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::haspreviousimage
Gmagick::labelimage
Gmagick


Adds a label to an image.

Gmagick::implodeimage
Gmagick::levelimage
Gmagick
PHP Manual

Gmagick::labelimage

(PECL gmagick >= Unknown)

Gmagick::labelimage — Adds a label to an image.

Beschreibung

public mixed Gmagick::labelimage ( string $label )

Adds a label to an image.

Parameter-Liste

label

The label to add

Rückgabewerte

Gmagick with label.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::implodeimage
Gmagick::levelimage
Gmagick


Adjusts the levels of an image

Gmagick::labelimage
Gmagick::magnifyimage
Gmagick
PHP Manual

Gmagick::levelimage

(PECL gmagick >= Unknown)

Gmagick::levelimage — Adjusts the levels of an image

Beschreibung

public mixed Gmagick::levelimage ( float $blackPoint , float $gamma , float $whitePoint [, int $channel = Gmagick::CHANNEL_DEFAULT ] )

Adjusts the levels of an image by scaling the colors falling between specified white and black points to the full available quantum range. The parameters provided represent the black, mid, and white points. The black point specifies the darkest color in the image. Colors darker than the black point are set to zero. Mid point specifies a gamma correction to apply to the image. White point specifies the lightest color in the image. Colors brighter than the white point are set to the maximum quantum value.

Parameter-Liste

blackPoint

The image black point

gamma

The gamma value

whitePoint

The image white point

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Rückgabewerte

Gmagick object with image levelled.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::labelimage
Gmagick::magnifyimage
Gmagick


Scales an image proportionally 2x

Gmagick::levelimage
Gmagick::mapimage
Gmagick
PHP Manual

Gmagick::magnifyimage

(PECL gmagick >= Unknown)

Gmagick::magnifyimage — Scales an image proportionally 2x

Beschreibung

public mixed Gmagick::magnifyimage ( void )

Conveniently scales an image proportionally to twice its original size.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Magnified Gmagick object.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::levelimage
Gmagick::mapimage
Gmagick


Replaces the colors of an image with the closest color from a reference image.

Gmagick::magnifyimage
Gmagick::medianfilterimage
Gmagick
PHP Manual

Gmagick::mapimage

(PECL gmagick >= Unknown)

Gmagick::mapimage — Replaces the colors of an image with the closest color from a reference image.

Beschreibung

public Gmagick Gmagick::mapimage ( gmagick $gmagick , bool $dither )

Replaces the colors of an image with the closest color from a reference image.

Parameter-Liste

gmagick

The reference image

dither

Set this integer value to something other than zero to dither the mapped image

Rückgabewerte

Gmagick object

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::magnifyimage
Gmagick::medianfilterimage
Gmagick


Applies a digital filter

Gmagick::mapimage
Gmagick::minifyimage
Gmagick
PHP Manual

Gmagick::medianfilterimage

(PECL gmagick >= Unknown)

Gmagick::medianfilterimage — Applies a digital filter

Beschreibung

public void Gmagick::medianfilterimage ( float $radius )

Applies a digital filter that improves the quality of a noisy image. Each pixel is replaced by the median in a set of neighboring pixels as defined by radius.

Parameter-Liste

radius

The radius of the pixel neighborhood.

Rückgabewerte

Gmagick object with median filter applied.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::mapimage
Gmagick::minifyimage
Gmagick


Scales an image proportionally to half its size

Gmagick::medianfilterimage
Gmagick::modulateimage
Gmagick
PHP Manual

Gmagick::minifyimage

(PECL gmagick >= Unknown)

Gmagick::minifyimage — Scales an image proportionally to half its size

Beschreibung

public Gmagick Gmagick::minifyimage ( void )

A convenient method that scales an image proportionally to one-half its original size

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::medianfilterimage
Gmagick::modulateimage
Gmagick


Control the brightness, saturation, and hue

Gmagick::minifyimage
Gmagick::motionblurimage
Gmagick
PHP Manual

Gmagick::modulateimage

(PECL gmagick >= Unknown)

Gmagick::modulateimage — Control the brightness, saturation, and hue

Beschreibung

public Gmagick Gmagick::modulateimage ( float $brightness , float $saturation , float $hue )

Lets you control the brightness, saturation, and hue of an image. Hue is the percentage of absolute rotation from the current position. For example 50 results in a counter-clockwise rotation of 90 degrees, 150 results in a clockwise rotation of 90 degrees, with 0 and 200 both resulting in a rotation of 180 degrees.

Parameter-Liste

brightness

The percent change in brighness (-100 thru +100).

saturation

The percent change in saturation (-100 thru +100)

hue

The percent change in hue (-100 thru +100)

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::minifyimage
Gmagick::motionblurimage
Gmagick


Simulates motion blur

Gmagick::modulateimage
Gmagick::newimage
Gmagick
PHP Manual

Gmagick::motionblurimage

(PECL gmagick >= Unknown)

Gmagick::motionblurimage — Simulates motion blur

Beschreibung

public Gmagick Gmagick::motionblurimage ( float $radius , float $sigma , float $angle )

Simulates motion blur. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and MotionBlurImage() selects a suitable radius for you. Angle gives the angle of the blurring motion.

Parameter-Liste

radius

The radius of the Gaussian, in pixels, not counting the center pixel.

sigma

The standard deviation of the Gaussian, in pixels.

angle

Apply the effect along this angle.

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::modulateimage
Gmagick::newimage
Gmagick


Creates a new image

Gmagick::motionblurimage
Gmagick::nextimage
Gmagick
PHP Manual

Gmagick::newimage

(PECL gmagick >= Unknown)

Gmagick::newimage — Creates a new image

Beschreibung

public Gmagick Gmagick::newimage ( int $width , int $height , string $background [, string $format ] )

Creates a new image with the specified background color

Parameter-Liste

width

Width of the new image

height

Height of the new image

background

The background color used for this image (as float)

format

Image format.

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::motionblurimage
Gmagick::nextimage
Gmagick


Moves to the next image

Gmagick::newimage
Gmagick::normalizeimage
Gmagick
PHP Manual

Gmagick::nextimage

(PECL gmagick >= Unknown)

Gmagick::nextimage — Moves to the next image

Beschreibung

public bool Gmagick::nextimage ( void )

Associates the next image in the image list with an Gmagick object.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::newimage
Gmagick::normalizeimage
Gmagick


Enhances the contrast of a color image

Gmagick::nextimage
Gmagick::oilpaintimage
Gmagick
PHP Manual

Gmagick::normalizeimage

(PECL gmagick >= Unknown)

Gmagick::normalizeimage — Enhances the contrast of a color image

Beschreibung

public Gmagick Gmagick::normalizeimage ([ int $channel ] )

Enhances the contrast of a color image by adjusting the pixels color to span the entire range of colors available.

Parameter-Liste

channel

Identify which channel to normalize

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::nextimage
Gmagick::oilpaintimage
Gmagick


Simulates an oil painting

Gmagick::normalizeimage
Gmagick::previousimage
Gmagick
PHP Manual

Gmagick::oilpaintimage

(PECL gmagick >= Unknown)

Gmagick::oilpaintimage — Simulates an oil painting

Beschreibung

public Gmagick Gmagick::oilpaintimage ( float $radius )

Applies a special effect filter that simulates an oil painting. Each pixel is replaced by the most frequent color occurring in a circular region defined by radius.

Parameter-Liste

radius

The radius of the circular neighborhood.

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::normalizeimage
Gmagick::previousimage
Gmagick


Move to the previous image in the object

Gmagick::oilpaintimage
Gmagick::profileimage
Gmagick
PHP Manual

Gmagick::previousimage

(PECL gmagick >= Unknown)

Gmagick::previousimage — Move to the previous image in the object

Beschreibung

public bool Gmagick::previousimage ( void )

Associates the previous image in an image list with the Gmagick object.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::oilpaintimage
Gmagick::profileimage
Gmagick


Adds or removes a profile from an image

Gmagick::previousimage
Gmagick::quantizeimage
Gmagick
PHP Manual

Gmagick::profileimage

(PECL gmagick >= Unknown)

Gmagick::profileimage — Adds or removes a profile from an image

Beschreibung

public Gmagick Gmagick::profileimage ( string $name , string $profile )

Adds or removes a ICC, IPTC, or generic profile from an image. If the profile is NULL, it is removed from the image otherwise added. Use a name of '*' and a profile of NULL to remove all profiles from the image.

Parameter-Liste

name

Name of profile to add or remove: ICC, IPTC, or generic profile.

profile

The profile.

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::previousimage
Gmagick::quantizeimage
Gmagick


Analyzes the colors within a reference image

Gmagick::profileimage
Gmagick::quantizeimages
Gmagick
PHP Manual

Gmagick::quantizeimage

(PECL gmagick >= Unknown)

Gmagick::quantizeimage — Analyzes the colors within a reference image

Beschreibung

public Gmagick Gmagick::quantizeimage ( int $numColors , int $colorspace , int $treeDepth , bool $dither , bool $measureError )

Analyzes the colors within a reference image and chooses a fixed number of colors to represent the image. The goal of the algorithm is to minimize the color difference between the input and output image while minimizing the processing time.

Parameter-Liste

numColors

The number of colors.

colorspace

Perform color reduction in this colorspace, typically RGBColorspace.

treeDepth

Normally, this integer value is zero or one. A zero or one tells Quantize to choose a optimal tree depth of Log4(number_colors).% A tree of this depth generally allows the best representation of the reference image with the least amount of memory and the fastest computational speed. In some cases, such as an image with low color dispersion (a few number of colors), a value other than Log4(number_colors) is required. To expand the color tree completely, use a value of 8.

dither

A value other than zero distributes the difference between an original image and the corresponding color reduced algorithm to neighboring pixels along a Hilbert curve.

measureError

A value other than zero measures the difference between the original and quantized images. This difference is the total quantization error. The error is computed by summing over all pixels in an image the distance squared in RGB space between each reference pixel value and its quantized value.

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::profileimage
Gmagick::quantizeimages
Gmagick


The quantizeimages purpose

Gmagick::quantizeimage
Gmagick::queryfontmetrics
Gmagick
PHP Manual

Gmagick::quantizeimages

(PECL gmagick >= Unknown)

Gmagick::quantizeimages — The quantizeimages purpose

Beschreibung

public Gmagick Gmagick::quantizeimages ( int $numColors , int $colorspace , int $treeDepth , bool $dither , bool $measureError )

Analyzes the colors within a sequence of images and chooses a fixed number of colors to represent the image. The goal of the algorithm is to minimize the color difference between the input and output image while minimizing the processing time.

Parameter-Liste

numColors

The number of colors.

colorspace

Perform color reduction in this colorspace, typically RGBColorspace.

treeDepth

Normally, this integer value is zero or one. A zero or one tells Quantize to choose a optimal tree depth of Log4(number_colors).% A tree of this depth generally allows the best representation of the reference image with the least amount of memory and the fastest computational speed. In some cases, such as an image with low color dispersion (a few number of colors), a value other than Log4(number_colors) is required. To expand the color tree completely, use a value of 8.

dither

A value other than zero distributes the difference between an original image and the corresponding color reduced algorithm to neighboring pixels along a Hilbert curve.

measureError

A value other than zero measures the difference between the original and quantized images. This difference is the total quantization error. The error is computed by summing over all pixels in an image the distance squared in RGB space between each reference pixel value and its quantized value.

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::quantizeimage
Gmagick::queryfontmetrics
Gmagick


Returns an array representing the font metrics

Gmagick::quantizeimages
Gmagick::queryfonts
Gmagick
PHP Manual

Gmagick::queryfontmetrics

(PECL gmagick >= Unknown)

Gmagick::queryfontmetrics — Returns an array representing the font metrics

Beschreibung

public array Gmagick::queryfontmetrics ( GmagickDraw $draw , string $text )

MagickQueryFontMetrics() returns an array representing the font metrics.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::quantizeimages
Gmagick::queryfonts
Gmagick


Returns the configured fonts

Gmagick::queryfontmetrics
Gmagick::queryformats
Gmagick
PHP Manual

Gmagick::queryfonts

(PECL gmagick >= Unknown)

Gmagick::queryfonts — Returns the configured fonts

Beschreibung

public array Gmagick::queryfonts ([ string $pattern = "*" ] )

Returns fonts supported by Gmagick.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::queryfontmetrics
Gmagick::queryformats
Gmagick


Returns formats supported by Gmagick.

Gmagick::queryfonts
Gmagick::radialblurimage
Gmagick
PHP Manual

Gmagick::queryformats

(PECL gmagick >= Unknown)

Gmagick::queryformats — Returns formats supported by Gmagick.

Beschreibung

public array Gmagick::queryformats ([ string $pattern = "*" ] )

Returns formats supported by Gmagick.

Parameter-Liste

pattern

Specifies a string containing a pattern.

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::queryfonts
Gmagick::radialblurimage
Gmagick


Radial blurs an image

Gmagick::queryformats
Gmagick::raiseimage
Gmagick
PHP Manual

Gmagick::radialblurimage

(PECL gmagick >= Unknown)

Gmagick::radialblurimage — Radial blurs an image

Beschreibung

public Gmagick Gmagick::radialblurimage ( float $angle [, int $channel = Gmagick::CHANNEL_DEFAULT ] )

Radial blurs an image.

Parameter-Liste

angle

The angle of the blur in degrees.

channel

Related channel

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::queryformats
Gmagick::raiseimage
Gmagick


Creates a simulated 3d button-like effect

Gmagick::radialblurimage
Gmagick::read
Gmagick
PHP Manual

Gmagick::raiseimage

(PECL gmagick >= Unknown)

Gmagick::raiseimage — Creates a simulated 3d button-like effect

Beschreibung

public Gmagick Gmagick::raiseimage ( int $width , int $height , int $x , int $y , bool $raise )

Creates a simulated three-dimensional button-like effect by lightening and darkening the edges of the image. Members width and height of raise_info define the width of the vertical and horizontal edge of the effect.

Parameter-Liste

width

Width of the area to raise.

height

Height of the area to raise.

x

X coordinate

y

Y coordinate

raise

A value other than zero creates a 3-D raise effect, otherwise it has a lowered effect.

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::radialblurimage
Gmagick::read
Gmagick


Reads image from filename

Gmagick::raiseimage
Gmagick::readimage
Gmagick
PHP Manual

Gmagick::read

(PECL gmagick >= Unknown)

Gmagick::read — Reads image from filename

Beschreibung

public Gmagick Gmagick::read ( string $filename )

Reads image from filename.

Parameter-Liste

filename

The image filename.

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::raiseimage
Gmagick::readimage
Gmagick


Reads image from filename

Gmagick::read
Gmagick::readimageblob
Gmagick
PHP Manual

Gmagick::readimage

(PECL gmagick >= Unknown)

Gmagick::readimage — Reads image from filename

Beschreibung

public Gmagick Gmagick::readimage ( string $filename )

Reads image from filename.

Parameter-Liste

filename

The image filename.

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::read
Gmagick::readimageblob
Gmagick


Reads image from a binary string

Gmagick::readimage
Gmagick::readimagefile
Gmagick
PHP Manual

Gmagick::readimageblob

(PECL gmagick >= Unknown)

Gmagick::readimageblob — Reads image from a binary string

Beschreibung

public Gmagick Gmagick::readimageblob ( string $imageContents [, string $filename ] )

Reads image from a binary string.

Parameter-Liste

imageContents

Content of image

filename

The image filename.

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::readimage
Gmagick::readimagefile
Gmagick


The readimagefile purpose

Gmagick::readimageblob
Gmagick::reducenoiseimage
Gmagick
PHP Manual

Gmagick::readimagefile

(PECL gmagick >= Unknown)

Gmagick::readimagefile — The readimagefile purpose

Beschreibung

public Gmagick Gmagick::readimagefile ( resource $fp [, string $filename ] )

Reads an image or image sequence from an open file descriptor.

Parameter-Liste

fp

The file descriptor.

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::readimageblob
Gmagick::reducenoiseimage
Gmagick


Smooths the contours of an image

Gmagick::readimagefile
Gmagick::removeimage
Gmagick
PHP Manual

Gmagick::reducenoiseimage

(PECL gmagick >= Unknown)

Gmagick::reducenoiseimage — Smooths the contours of an image

Beschreibung

public Gmagick Gmagick::reducenoiseimage ( float $radius )

Smooths the contours of an image while still preserving edge information. The algorithm works by replacing each pixel with its neighbor closest in value. A neighbor is defined by radius. Use a radius of 0 and Gmagick::reduceNoiseImage() selects a suitable radius for you.

Parameter-Liste

radius

The radius of the pixel neighborhood.

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::readimagefile
Gmagick::removeimage
Gmagick


Removes an image from the image list

Gmagick::reducenoiseimage
Gmagick::removeimageprofile
Gmagick
PHP Manual

Gmagick::removeimage

(PECL gmagick >= Unknown)

Gmagick::removeimage — Removes an image from the image list

Beschreibung

public Gmagick Gmagick::removeimage ( void )

Removes an image from the image list.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The Gmagick object on success.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::reducenoiseimage
Gmagick::removeimageprofile
Gmagick


Removes the named image profile and returns it

Gmagick::removeimage
Gmagick::resampleimage
Gmagick
PHP Manual

Gmagick::removeimageprofile

(PECL gmagick >= Unknown)

Gmagick::removeimageprofile — Removes the named image profile and returns it

Beschreibung

public string Gmagick::removeimageprofile ( string $name )

Removes the named image profile and returns it.

Parameter-Liste

name

Name of profile to return: ICC, IPTC, or generic profile.

Rückgabewerte

The named profile.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::removeimage
Gmagick::resampleimage
Gmagick


Resample image to desired resolution

Gmagick::removeimageprofile
Gmagick::resizeimage
Gmagick
PHP Manual

Gmagick::resampleimage

(PECL gmagick >= Unknown)

Gmagick::resampleimage — Resample image to desired resolution

Beschreibung

public Gmagick Gmagick::resampleimage ( float $xResolution , float $yResolution , int $filter , float $blur )

Resample image to desired resolution.

Parameter-Liste

xResolution

The new image x resolution.

yResolution

The new image y resolution.

filter

Image filter to use.

blur

The blur factor where larger than 1 is blurry, smaller than 1 is sharp.

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::removeimageprofile
Gmagick::resizeimage
Gmagick


Scales an image

Gmagick::resampleimage
Gmagick::rollimage
Gmagick
PHP Manual

Gmagick::resizeimage

(PECL gmagick >= Unknown)

Gmagick::resizeimage — Scales an image

Beschreibung

public Gmagick Gmagick::resizeimage ( int $width , int $height , int $filter , float $blur [, bool $fit = false ] )

Scales an image to the desired dimensions with a filter.

Parameter-Liste

width

The number of columns in the scaled image.

height

The number of rows in the scaled image.

filter

Image filter to use.

blur

The blur factor where larger than 1 is blurry, lesser than 1 is sharp.

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::resampleimage
Gmagick::rollimage
Gmagick


Offsets an image

Gmagick::resizeimage
Gmagick::rotateimage
Gmagick
PHP Manual

Gmagick::rollimage

(PECL gmagick >= Unknown)

Gmagick::rollimage — Offsets an image

Beschreibung

public Gmagick Gmagick::rollimage ( int $x , int $y )

Offsets an image as defined by x and y.

Parameter-Liste

x

The x offset.

y

The y offset.

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::resizeimage
Gmagick::rotateimage
Gmagick


Rotates an image

Gmagick::rollimage
Gmagick::scaleimage
Gmagick
PHP Manual

Gmagick::rotateimage

(PECL gmagick >= Unknown)

Gmagick::rotateimage — Rotates an image

Beschreibung

public Gmagick Gmagick::rotateimage ( mixed $color , float $degrees )

Rotates an image the specified number of degrees. Empty triangles left over from rotating the image are filled with the background color.

Parameter-Liste

color

The background pixel.

degrees

The number of degrees to rotate the image.

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::rollimage
Gmagick::scaleimage
Gmagick


Scales the size of an image

Gmagick::rotateimage
Gmagick::separateimagechannel
Gmagick
PHP Manual

Gmagick::scaleimage

(PECL gmagick >= Unknown)

Gmagick::scaleimage — Scales the size of an image

Beschreibung

public Gmagick Gmagick::scaleimage ( int $width , int $height [, bool $fit = false ] )

Scales the size of an image to the given dimensions. The other parameter will be calculated if 0 is passed as either param.

Parameter-Liste

width

The number of columns in the scaled image.

height

The number of rows in the scaled image.

Rückgabewerte

The Gmagick object on success.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::rotateimage
Gmagick::separateimagechannel
Gmagick


Separates a channel from the image

Gmagick::scaleimage
Gmagick::setCompressionQuality
Gmagick
PHP Manual

Gmagick::separateimagechannel

(PECL gmagick >= Unknown)

Gmagick::separateimagechannel — Separates a channel from the image

Beschreibung

public Gmagick Gmagick::separateimagechannel ( int $channel )

Separates a channel from the image and returns a grayscale image. A channel is a particular color component of each pixel in the image.

Parameter-Liste

channel

Identify which channel to extract: RedChannel, GreenChannel, BlueChannel, OpacityChannel, CyanChannel, MagentaChannel, YellowChannel, BlackChannel.

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::scaleimage
Gmagick::setCompressionQuality
Gmagick


Sets the object's default compression quality

Gmagick::separateimagechannel
Gmagick::setfilename
Gmagick
PHP Manual

Gmagick::setCompressionQuality

(No version information available, might only be in Git)

Gmagick::setCompressionQuality — Sets the object's default compression quality

Beschreibung

Gmagick Gmagick::setCompressionQuality ( int $quality = 75 )

Sets the object's default compression quality.

Parameter-Liste

quality

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Beispiele

Beispiel #1 Gmagick::setCompressionQuality()

<?php
$gm = new Gmagick();
$gm->read("magick:rose");
$gm->setCompressionQuality(2);
?>

Gmagick::separateimagechannel
Gmagick::setfilename
Gmagick


Sets the filename before you read or write the image

Gmagick::setCompressionQuality
Gmagick::setimagebackgroundcolor
Gmagick
PHP Manual

Gmagick::setfilename

(PECL gmagick >= Unknown)

Gmagick::setfilename — Sets the filename before you read or write the image

Beschreibung

public Gmagick Gmagick::setfilename ( string $filename )

Sets the filename before you read or write an image file.

Parameter-Liste

filename

The image filename.

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::setCompressionQuality
Gmagick::setimagebackgroundcolor
Gmagick


Sets the image background color.

Gmagick::setfilename
Gmagick::setimageblueprimary
Gmagick
PHP Manual

Gmagick::setimagebackgroundcolor

(PECL gmagick >= Unknown)

Gmagick::setimagebackgroundcolor — Sets the image background color.

Beschreibung

public Gmagick Gmagick::setimagebackgroundcolor ( GmagickPixel $color )

Sets the image background color.

Parameter-Liste

color

The background pixel wand.

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::setfilename
Gmagick::setimageblueprimary
Gmagick


Sets the image chromaticity blue primary point.

Gmagick::setimagebackgroundcolor
Gmagick::setimagebordercolor
Gmagick
PHP Manual

Gmagick::setimageblueprimary

(PECL gmagick >= Unknown)

Gmagick::setimageblueprimary — Sets the image chromaticity blue primary point.

Beschreibung

public Gmagick Gmagick::setimageblueprimary ( float $x , float $y )

Sets the image chromaticity blue primary point.

Parameter-Liste

x

The blue primary x-point.

y

The blue primary y-point.

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::setimagebackgroundcolor
Gmagick::setimagebordercolor
Gmagick


Sets the image border color.

Gmagick::setimageblueprimary
Gmagick::setimagechanneldepth
Gmagick
PHP Manual

Gmagick::setimagebordercolor

(PECL gmagick >= Unknown)

Gmagick::setimagebordercolor — Sets the image border color.

Beschreibung

public Gmagick Gmagick::setimagebordercolor ( GmagickPixel $color )

Sets the image border color.

Parameter-Liste

color

The border pixel wand.

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::setimageblueprimary
Gmagick::setimagechanneldepth
Gmagick


Sets the depth of a particular image channel

Gmagick::setimagebordercolor
Gmagick::setimagecolorspace
Gmagick
PHP Manual

Gmagick::setimagechanneldepth

(PECL gmagick >= Unknown)

Gmagick::setimagechanneldepth — Sets the depth of a particular image channel

Beschreibung

public Gmagick Gmagick::setimagechanneldepth ( int $channel , int $depth )

Sets the depth of a particular image channel.

Parameter-Liste

channel

Identify which channel to extract: RedChannel, GreenChannel, BlueChannel, OpacityChannel, CyanChannel, MagentaChannel, YellowChannel, BlackChannel.

depth

The image depth in bits.

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::setimagebordercolor
Gmagick::setimagecolorspace
Gmagick


Sets the image colorspace

Gmagick::setimagechanneldepth
Gmagick::setimagecompose
Gmagick
PHP Manual

Gmagick::setimagecolorspace

(PECL gmagick >= Unknown)

Gmagick::setimagecolorspace — Sets the image colorspace

Beschreibung

public Gmagick Gmagick::setimagecolorspace ( int $colorspace )

Sets the image colorspace.

Parameter-Liste

colorspace

The image colorspace: UndefinedColorspace, RGBColorspace, GRAYColorspace, TransparentColorspace, OHTAColorspace, XYZColorspace, YCbCrColorspace, YCCColorspace, YIQColorspace, YPbPrColorspace, YPbPrColorspace, YUVColorspace, CMYKColorspace, sRGBColorspace, HSLColorspace, or HWBColorspace.

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::setimagechanneldepth
Gmagick::setimagecompose
Gmagick


Sets the image composite operator

Gmagick::setimagecolorspace
Gmagick::setimagedelay
Gmagick
PHP Manual

Gmagick::setimagecompose

(PECL gmagick >= Unknown)

Gmagick::setimagecompose — Sets the image composite operator

Beschreibung

public Gmagick Gmagick::setimagecompose ( int $composite )

Sets the image composite operator.

Parameter-Liste

composite

The image composite operator.

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::setimagecolorspace
Gmagick::setimagedelay
Gmagick


Sets the image delay

Gmagick::setimagecompose
Gmagick::setimagedepth
Gmagick
PHP Manual

Gmagick::setimagedelay

(PECL gmagick >= Unknown)

Gmagick::setimagedelay — Sets the image delay

Beschreibung

public Gmagick Gmagick::setimagedelay ( int $delay )

Sets the image delay

Parameter-Liste

delay

The image delay in 1/100th of a second.

Rückgabewerte

The Gmagick object on success.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::setimagecompose
Gmagick::setimagedepth
Gmagick


Sets the image depth

Gmagick::setimagedelay
Gmagick::setimagedispose
Gmagick
PHP Manual

Gmagick::setimagedepth

(PECL gmagick >= Unknown)

Gmagick::setimagedepth — Sets the image depth

Beschreibung

public Gmagick Gmagick::setimagedepth ( int $depth )

Sets the image depth

Parameter-Liste

depth

The image depth in bits: 8, 16, or 32.

Rückgabewerte

The Gmagick object on success.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::setimagedelay
Gmagick::setimagedispose
Gmagick


Sets the image disposal method

Gmagick::setimagedepth
Gmagick::setimagefilename
Gmagick
PHP Manual

Gmagick::setimagedispose

(PECL gmagick >= Unknown)

Gmagick::setimagedispose — Sets the image disposal method

Beschreibung

public Gmagick Gmagick::setimagedispose ( int $disposeType )

Sets the image disposal method.

Parameter-Liste

disposeType

The image disposal type.

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::setimagedepth
Gmagick::setimagefilename
Gmagick


Sets the filename of a particular image in a sequence

Gmagick::setimagedispose
Gmagick::setimageformat
Gmagick
PHP Manual

Gmagick::setimagefilename

(PECL gmagick >= Unknown)

Gmagick::setimagefilename — Sets the filename of a particular image in a sequence

Beschreibung

public Gmagick Gmagick::setimagefilename ( string $filename )

Sets the filename of a particular image in a sequence.

Parameter-Liste

filename

The image filename.

Rückgabewerte

The Gmagick object on success.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::setimagedispose
Gmagick::setimageformat
Gmagick


Sets the format of a particular image

Gmagick::setimagefilename
Gmagick::setimagegamma
Gmagick
PHP Manual

Gmagick::setimageformat

(PECL gmagick >= Unknown)

Gmagick::setimageformat — Sets the format of a particular image

Beschreibung

public Gmagick Gmagick::setimageformat ( string $imageFormat )

Sets the format of a particular image in a sequence.

Parameter-Liste

imageFormat

The image format.

Rückgabewerte

The Gmagick object on success.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::setimagefilename
Gmagick::setimagegamma
Gmagick


Sets the image gamma

Gmagick::setimageformat
Gmagick::setimagegreenprimary
Gmagick
PHP Manual

Gmagick::setimagegamma

(PECL gmagick >= Unknown)

Gmagick::setimagegamma — Sets the image gamma

Beschreibung

public Gmagick Gmagick::setimagegamma ( float $gamma )

Sets the image gamma.

Parameter-Liste

gamma

The image gamma.

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::setimageformat
Gmagick::setimagegreenprimary
Gmagick


Sets the image chromaticity green primary point.

Gmagick::setimagegamma
Gmagick::setimageindex
Gmagick
PHP Manual

Gmagick::setimagegreenprimary

(PECL gmagick >= Unknown)

Gmagick::setimagegreenprimary — Sets the image chromaticity green primary point.

Beschreibung

public Gmagick Gmagick::setimagegreenprimary ( float $x , float $y )

Sets the image chromaticity green primary point.

Parameter-Liste

x

The chromaticity green primary x-point.

y

The chromaticity green primary y-point.

Rückgabewerte

The Gmagick object on success.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::setimagegamma
Gmagick::setimageindex
Gmagick


Set the iterator to the position in the image list specified with the index parameter

Gmagick::setimagegreenprimary
Gmagick::setimageinterlacescheme
Gmagick
PHP Manual

Gmagick::setimageindex

(PECL gmagick >= Unknown)

Gmagick::setimageindex — Set the iterator to the position in the image list specified with the index parameter

Beschreibung

public Gmagick Gmagick::setimageindex ( int $index )

Set the iterator to the position in the image list specified with the index parameter.

Parameter-Liste

index

The scene number.

Rückgabewerte

The Gmagick object on success.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::setimagegreenprimary
Gmagick::setimageinterlacescheme
Gmagick


Sets the interlace scheme of the image.

Gmagick::setimageindex
Gmagick::setimageiterations
Gmagick
PHP Manual

Gmagick::setimageinterlacescheme

(PECL gmagick >= Unknown)

Gmagick::setimageinterlacescheme — Sets the interlace scheme of the image.

Beschreibung

public Gmagick Gmagick::setimageinterlacescheme ( int $interlace )

Sets the interlace scheme of the image.

Parameter-Liste

interlace

The image interlace scheme: NoInterlace, LineInterlace, PlaneInterlace, PartitionInterlace.

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::setimageindex
Gmagick::setimageiterations
Gmagick


Sets the image iterations.

Gmagick::setimageinterlacescheme
Gmagick::setimageprofile
Gmagick
PHP Manual

Gmagick::setimageiterations

(PECL gmagick >= Unknown)

Gmagick::setimageiterations — Sets the image iterations.

Beschreibung

public Gmagick Gmagick::setimageiterations ( int $iterations )

Sets the image iterations.

Parameter-Liste

iterations

The image delay in 1/100th of a second.

Rückgabewerte

The Gmagick object on success.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::setimageinterlacescheme
Gmagick::setimageprofile
Gmagick


Adds a named profile to the Gmagick object

Gmagick::setimageiterations
Gmagick::setimageredprimary
Gmagick
PHP Manual

Gmagick::setimageprofile

(PECL gmagick >= Unknown)

Gmagick::setimageprofile — Adds a named profile to the Gmagick object

Beschreibung

public Gmagick Gmagick::setimageprofile ( string $name , string $profile )

Adds a named profile to the Gmagick object. If a profile with the same name already exists, it is replaced. This method differs from the Gmagick::profileimage() method in that it does not apply any CMS color profiles.

Parameter-Liste

name

Name of profile to add or remove: ICC, IPTC, or generic profile.

profile

The profile.

Rückgabewerte

The Gmagick object on success.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::setimageiterations
Gmagick::setimageredprimary
Gmagick


Sets the image chromaticity red primary point.

Gmagick::setimageprofile
Gmagick::setimagerenderingintent
Gmagick
PHP Manual

Gmagick::setimageredprimary

(PECL gmagick >= Unknown)

Gmagick::setimageredprimary — Sets the image chromaticity red primary point.

Beschreibung

public Gmagick Gmagick::setimageredprimary ( float $x , float $y )

Sets the image chromaticity red primary point.

Parameter-Liste

x

The red primary x-point.

y

The red primary y-point.

Rückgabewerte

The Gmagick object on success.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::setimageprofile
Gmagick::setimagerenderingintent
Gmagick


Sets the image rendering intent

Gmagick::setimageredprimary
Gmagick::setimageresolution
Gmagick
PHP Manual

Gmagick::setimagerenderingintent

(PECL gmagick >= Unknown)

Gmagick::setimagerenderingintent — Sets the image rendering intent

Beschreibung

public Gmagick Gmagick::setimagerenderingintent ( int $rendering_intent )

Sets the image rendering intent.

Parameter-Liste

rendering_intent

The image rendering intent: UndefinedIntent, SaturationIntent, PerceptualIntent, AbsoluteIntent, or RelativeIntent.

Rückgabewerte

The Gmagick object on success.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::setimageredprimary
Gmagick::setimageresolution
Gmagick


Sets the image resolution

Gmagick::setimagerenderingintent
Gmagick::setimagescene
Gmagick
PHP Manual

Gmagick::setimageresolution

(PECL gmagick >= Unknown)

Gmagick::setimageresolution — Sets the image resolution

Beschreibung

public Gmagick Gmagick::setimageresolution ( float $xResolution , float $yResolution )

Sets the image resolution.

Parameter-Liste

xResolution

The image x resolution.

yResolution

The image y resolution.

Rückgabewerte

The Gmagick object on success.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::setimagerenderingintent
Gmagick::setimagescene
Gmagick


Sets the image scene

Gmagick::setimageresolution
Gmagick::setimagetype
Gmagick
PHP Manual

Gmagick::setimagescene

(PECL gmagick >= Unknown)

Gmagick::setimagescene — Sets the image scene

Beschreibung

public Gmagick Gmagick::setimagescene ( int $scene )

Sets the image scene.

Parameter-Liste

scene

The image scene number.

Rückgabewerte

The Gmagick object on success.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::setimageresolution
Gmagick::setimagetype
Gmagick


Sets the image type

Gmagick::setimagescene
Gmagick::setimageunits
Gmagick
PHP Manual

Gmagick::setimagetype

(PECL gmagick >= Unknown)

Gmagick::setimagetype — Sets the image type

Beschreibung

public Gmagick Gmagick::setimagetype ( int $imgType )

Sets the image type.

Parameter-Liste

imgType

The image type: UndefinedType, BilevelType, GrayscaleType, GrayscaleMatteType, PaletteType, PaletteMatteType, TrueColorType, TrueColorMatteType, ColorSeparationType, ColorSeparationMatteType, or OptimizeType.

Rückgabewerte

The Gmagick object on success.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::setimagescene
Gmagick::setimageunits
Gmagick


Sets the image units of resolution.

Gmagick::setimagetype
Gmagick::setimagewhitepoint
Gmagick
PHP Manual

Gmagick::setimageunits

(PECL gmagick >= Unknown)

Gmagick::setimageunits — Sets the image units of resolution.

Beschreibung

public Gmagick Gmagick::setimageunits ( int $resolution )

Sets the image units of resolution.

Parameter-Liste

resolution

The image units of resolution : Undefinedresolution, PixelsPerInchResolution, or PixelsPerCentimeterResolution.

Rückgabewerte

The Gmagick object on success.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::setimagetype
Gmagick::setimagewhitepoint
Gmagick


Sets the image chromaticity white point.

Gmagick::setimageunits
Gmagick::setsamplingfactors
Gmagick
PHP Manual

Gmagick::setimagewhitepoint

(PECL gmagick >= Unknown)

Gmagick::setimagewhitepoint — Sets the image chromaticity white point.

Beschreibung

public Gmagick Gmagick::setimagewhitepoint ( float $x , float $y )

Sets the image chromaticity white point.

Parameter-Liste

x

The white x-point.

y

The white y-point.

Rückgabewerte

The Gmagick object on success.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::setimageunits
Gmagick::setsamplingfactors
Gmagick


Sets the image sampling factors.

Gmagick::setimagewhitepoint
Gmagick::setsize
Gmagick
PHP Manual

Gmagick::setsamplingfactors

(PECL gmagick >= Unknown)

Gmagick::setsamplingfactors — Sets the image sampling factors.

Beschreibung

public Gmagick Gmagick::setsamplingfactors ( array $factors )

Sets the image sampling factors.

Parameter-Liste

factors

An array of doubles representing the sampling factor for each color component (in RGB order).

Rückgabewerte

The Gmagick object on success.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::setimagewhitepoint
Gmagick::setsize
Gmagick


Sets the size of the Gmagick object

Gmagick::setsamplingfactors
Gmagick::shearimage
Gmagick
PHP Manual

Gmagick::setsize

(PECL gmagick >= Unknown)

Gmagick::setsize — Sets the size of the Gmagick object

Beschreibung

public Gmagick Gmagick::setsize ( int $columns , int $rows )

Sets the size of the Gmagick object. Set it before you read a raw image format such as RGB, GRAY, or CMYK.

Parameter-Liste

columns

The width in pixels.

rows

The height in pixels.

Rückgabewerte

The Gmagick object on success.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::setsamplingfactors
Gmagick::shearimage
Gmagick


Creating a parallelogram

Gmagick::setsize
Gmagick::solarizeimage
Gmagick
PHP Manual

Gmagick::shearimage

(PECL gmagick >= Unknown)

Gmagick::shearimage — Creating a parallelogram

Beschreibung

public Gmagick Gmagick::shearimage ( mixed $color , float $xShear , float $yShear )

Slides one edge of an image along the X or Y axis, creating a parallelogram. An X direction shear slides an edge along the X axis, while a Y direction shear slides an edge along the Y axis. The amount of the shear is controlled by a shear angle. For X direction shears, x_shear is measured relative to the Y axis, and similarly, for Y direction shears y_shear is measured relative to the X axis. Empty triangles left over from shearing the image are filled with the background color.

Parameter-Liste

color

The background pixel wand.

xShear

The number of degrees to shear the image.

yShear

The number of degrees to shear the image.

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::setsize
Gmagick::solarizeimage
Gmagick


Applies a solarizing effect to the image

Gmagick::shearimage
Gmagick::spreadimage
Gmagick
PHP Manual

Gmagick::solarizeimage

(PECL gmagick >= Unknown)

Gmagick::solarizeimage — Applies a solarizing effect to the image

Beschreibung

public Gmagick Gmagick::solarizeimage ( int $threshold )

Applies a special effect to the image, similar to the effect achieved in a photo darkroom by selectively exposing areas of photo sensitive paper to light. Threshold ranges from 0 to QuantumRange and is a measure of the extent of the solarization.

Parameter-Liste

threshold

Define the extent of the solarization.

Rückgabewerte

The Gmagick object on success.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::shearimage
Gmagick::spreadimage
Gmagick


Randomly displaces each pixel in a block

Gmagick::solarizeimage
Gmagick::stripimage
Gmagick
PHP Manual

Gmagick::spreadimage

(PECL gmagick >= Unknown)

Gmagick::spreadimage — Randomly displaces each pixel in a block

Beschreibung

public Gmagick Gmagick::spreadimage ( float $radius )

Special effects method that randomly displaces each pixel in a block defined by the radius parameter.

Parameter-Liste

radius

Choose a random pixel in a neighborhood of this extent.

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::solarizeimage
Gmagick::stripimage
Gmagick


Strips an image of all profiles and comments

Gmagick::spreadimage
Gmagick::swirlimage
Gmagick
PHP Manual

Gmagick::stripimage

(PECL gmagick >= Unknown)

Gmagick::stripimage — Strips an image of all profiles and comments

Beschreibung

public Gmagick Gmagick::stripimage ( void )

Strips an image of all profiles and comments.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::spreadimage
Gmagick::swirlimage
Gmagick


Swirls the pixels about the center of the image

Gmagick::stripimage
Gmagick::thumbnailimage
Gmagick
PHP Manual

Gmagick::swirlimage

(PECL gmagick >= Unknown)

Gmagick::swirlimage — Swirls the pixels about the center of the image

Beschreibung

public Gmagick Gmagick::swirlimage ( float $degrees )

Swirls the pixels about the center of the image, where degrees indicates the sweep of the arc through which each pixel is moved. You get a more dramatic effect as the degrees move from 1 to 360.

Parameter-Liste

degrees

Define the tightness of the swirling effect.

Rückgabewerte

The Gmagick object on success

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::stripimage
Gmagick::thumbnailimage
Gmagick


Changes the size of an image

Gmagick::swirlimage
Gmagick::trimimage
Gmagick
PHP Manual

Gmagick::thumbnailimage

(PECL gmagick >= Unknown)

Gmagick::thumbnailimage — Changes the size of an image

Beschreibung

public Gmagick Gmagick::thumbnailimage ( int $width , int $height [, bool $fit = false ] )

Changes the size of an image to the given dimensions and removes any associated profiles. The goal is to produce small low cost thumbnail images suited for display on the Web. If TRUE is given as a third parameter then columns and rows parameters are used as maximums for each side. Both sides will be scaled down until the match or are smaller than the parameter given for the side.

Parameter-Liste

width

Image width

height

Image height

Rückgabewerte

The Gmagick object on success.

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::swirlimage
Gmagick::trimimage
Gmagick


Remove edges from the image

Gmagick::thumbnailimage
Gmagick::write
Gmagick
PHP Manual

Gmagick::trimimage

(PECL gmagick >= Unknown)

Gmagick::trimimage — Remove edges from the image

Beschreibung

public Gmagick Gmagick::trimimage ( float $fuzz )

Remove edges that are the background color from the image.

Parameter-Liste

fuzz

By default target must match a particular pixel color exactly. However, in many cases two colors may differ by a small amount. The fuzz member of image defines how much tolerance is acceptable to consider two colors as the same. This parameter represents the variation on the quantum range.

Rückgabewerte

The Gmagick object

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::thumbnailimage
Gmagick::write
Gmagick


Alias von Gmagick::writeimage

Gmagick::trimimage
Gmagick::writeimage
Gmagick
PHP Manual

Gmagick::write

(PECL gmagick >= Unknown)

Gmagick::write — Alias von Gmagick::writeimage()

Beschreibung

This method is an alias of Gmagick::writeimage().

Gmagick::trimimage
Gmagick::writeimage
Gmagick


Writes an image to the specified filename

Gmagick::write
GmagickDraw
Gmagick
PHP Manual

Gmagick::writeimage

(PECL gmagick >= Unknown)

Gmagick::writeimage — Writes an image to the specified filename

Beschreibung

public Gmagick Gmagick::writeimage ( string $filename [, bool $all_frames = false ] )

Writes an image to the specified filename. If the filename parameter is NULL, the image is written to the filename set by Gmagick::ReadImage() or Gmagick::SetImageFilename().

Parameter-Liste

filename

The image filename.

Rückgabewerte

The Gmagick object

Fehler/Exceptions

Wirft bei einem Fehler eine GmagickException.

Gmagick::write
GmagickDraw
Gmagick


The GmagickDraw class

(PECL gmagick >= Unknown)

Einführung

Klassenbeschreibung

GmagickDraw {
/* Methoden */
public GmagickDraw annotate ( float $x , float $y , string $text )
public GmagickDraw arc ( float $sx , float $sy , float $ex , float $ey , float $sd , float $ed )
public GmagickDraw bezier ( array $coordinate_array )
public GmagickDraw ellipse ( float $ox , float $oy , float $rx , float $ry , float $start , float $end )
public GmagickPixel getfillcolor ( void )
public float getfillopacity ( void )
public mixed getfont ( void )
public float getfontsize ( void )
public int getfontstyle ( void )
public int getfontweight ( void )
public GmagickPixel getstrokecolor ( void )
public float getstrokeopacity ( void )
public float getstrokewidth ( void )
public int gettextdecoration ( void )
public mixed gettextencoding ( void )
public GmagickDraw line ( float $sx , float $sy , float $ex , float $ey )
public GmagickDraw point ( float $x , float $y )
public GmagickDraw polygon ( array $coordinates )
public GmagickDraw polyline ( array $coordinate_array )
public GmagickDraw rectangle ( float $x1 , float $y1 , float $x2 , float $y2 )
public GmagickDraw rotate ( float $degrees )
public GmagickDraw roundrectangle ( float $x1 , float $y1 , float $x2 , float $y2 , float $rx , float $ry )
public GmagickDraw scale ( float $x , float $y )
public GmagickDraw setfillcolor ( mixed $color )
public GmagickDraw setfillopacity ( float $fill_opacity )
public GmagickDraw setfont ( string $font )
public GmagickDraw setfontsize ( float $pointsize )
public GmagickDraw setfontstyle ( int $style )
public GmagickDraw setfontweight ( int $weight )
public GmagickDraw setstrokecolor ( mixed $color )
public GmagickDraw setstrokeopacity ( float $stroke_opacity )
public GmagickDraw setstrokewidth ( float $width )
public GmagickDraw settextdecoration ( int $decoration )
public GmagickDraw settextencoding ( string $encoding )
}

Inhaltsverzeichnis

  • GmagickDraw::annotate — Draws text on the image
  • GmagickDraw::arc — Draws an arc
  • GmagickDraw::bezier — Draws a bezier curve
  • GmagickDraw::ellipse — Draws an ellipse on the image
  • GmagickDraw::getfillcolor — Returns the fill color
  • GmagickDraw::getfillopacity — Returns the opacity used when drawing
  • GmagickDraw::getfont — Returns the font
  • GmagickDraw::getfontsize — Returns the font pointsize
  • GmagickDraw::getfontstyle — Returns the font style
  • GmagickDraw::getfontweight — Returns the font weight
  • GmagickDraw::getstrokecolor — Returns the color used for stroking object outlines
  • GmagickDraw::getstrokeopacity — Returns the opacity of stroked object outlines
  • GmagickDraw::getstrokewidth — Returns the width of the stroke used to draw object outlines
  • GmagickDraw::gettextdecoration — Returns the text decoration
  • GmagickDraw::gettextencoding — Returns the code set used for text annotations
  • GmagickDraw::line — The line purpose
  • GmagickDraw::point — Draws a point
  • GmagickDraw::polygon — Draws a polygon
  • GmagickDraw::polyline — Draws a polyline
  • GmagickDraw::rectangle — Draws a rectangle
  • GmagickDraw::rotate — Applies the specified rotation to the current coordinate space
  • GmagickDraw::roundrectangle — Draws a rounded rectangle
  • GmagickDraw::scale — Adjusts the scaling factor
  • GmagickDraw::setfillcolor — Sets the fill color to be used for drawing filled objects.
  • GmagickDraw::setfillopacity — The setfillopacity purpose
  • GmagickDraw::setfont — Sets the fully-specified font to use when annotating with text.
  • GmagickDraw::setfontsize — Sets the font pointsize to use when annotating with text.
  • GmagickDraw::setfontstyle — Sets the font style to use when annotating with text
  • GmagickDraw::setfontweight — Sets the font weight
  • GmagickDraw::setstrokecolor — Sets the color used for stroking object outlines.
  • GmagickDraw::setstrokeopacity — Specifies the opacity of stroked object outlines.
  • GmagickDraw::setstrokewidth — Sets the width of the stroke used to draw object outlines.
  • GmagickDraw::settextdecoration — Specifies a decoration
  • GmagickDraw::settextencoding — Specifies the text code set
Gmagick::writeimage
GmagickDraw::annotate
Gmagick


Draws text on the image

GmagickDraw
GmagickDraw::arc
GmagickDraw
PHP Manual

GmagickDraw::annotate

(PECL gmagick >= Unknown)

GmagickDraw::annotate — Draws text on the image

Beschreibung

public GmagickDraw GmagickDraw::annotate ( float $x , float $y , string $text )

Draws text on the image.

Parameter-Liste

x

x ordinate to left of text

y

y ordinate to text baseline

text

text to draw

Rückgabewerte

The GmagickDraw object on success.

GmagickDraw
GmagickDraw::arc
GmagickDraw


Draws an arc

GmagickDraw::annotate
GmagickDraw::bezier
GmagickDraw
PHP Manual

GmagickDraw::arc

(PECL gmagick >= Unknown)

GmagickDraw::arc — Draws an arc

Beschreibung

public GmagickDraw GmagickDraw::arc ( float $sx , float $sy , float $ex , float $ey , float $sd , float $ed )

Draws an arc falling within a specified bounding rectangle on the image.

Parameter-Liste

sx

starting x ordinate of bounding rectangle

sy

starting y ordinate of bounding rectangle

ex

ending x ordinate of bounding rectangle

ey

ending y ordinate of bounding rectangle

sd

starting degrees of rotation

ed

ending degrees of rotation

Rückgabewerte

The GmagickDraw object on success.

GmagickDraw::annotate
GmagickDraw::bezier
GmagickDraw


Draws a bezier curve

GmagickDraw::arc
GmagickDraw::ellipse
GmagickDraw
PHP Manual

GmagickDraw::bezier

(PECL gmagick >= Unknown)

GmagickDraw::bezier — Draws a bezier curve

Beschreibung

public GmagickDraw GmagickDraw::bezier ( array $coordinate_array )

Draws a bezier curve through a set of points on the image.

Parameter-Liste

coordinate_array

Coordinates array

Rückgabewerte

The GmagickDraw object on success

GmagickDraw::arc
GmagickDraw::ellipse
GmagickDraw


Draws an ellipse on the image

GmagickDraw::bezier
GmagickDraw::getfillcolor
GmagickDraw
PHP Manual

GmagickDraw::ellipse

(PECL gmagick >= Unknown)

GmagickDraw::ellipse — Draws an ellipse on the image

Beschreibung

public GmagickDraw GmagickDraw::ellipse ( float $ox , float $oy , float $rx , float $ry , float $start , float $end )

Draws an ellipse on the image.

Parameter-Liste

ox

origin x ordinate

oy

origin y ordinate

rx

radius in x

ry

radius in y

start

starting rotation in degrees

end

ending rotation in degrees

Rückgabewerte

The GmagickDraw object on success

GmagickDraw::bezier
GmagickDraw::getfillcolor
GmagickDraw


Returns the fill color

GmagickDraw::ellipse
GmagickDraw::getfillopacity
GmagickDraw
PHP Manual

GmagickDraw::getfillcolor

(PECL gmagick >= Unknown)

GmagickDraw::getfillcolor — Returns the fill color

Beschreibung

public GmagickPixel GmagickDraw::getfillcolor ( void )

Returns the fill color used for drawing filled objects.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The GmagickPixel fill color used for drawing filled objects.

GmagickDraw::ellipse
GmagickDraw::getfillopacity
GmagickDraw


Returns the opacity used when drawing

GmagickDraw::getfillcolor
GmagickDraw::getfont
GmagickDraw
PHP Manual

GmagickDraw::getfillopacity

(PECL gmagick >= Unknown)

GmagickDraw::getfillopacity — Returns the opacity used when drawing

Beschreibung

public float GmagickDraw::getfillopacity ( void )

Returns the opacity used when drawing

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the opacity used when drawing using the fill color or fill texture. Fully opaque is 1.0.

GmagickDraw::getfillcolor
GmagickDraw::getfont
GmagickDraw


Returns the font

GmagickDraw::getfillopacity
GmagickDraw::getfontsize
GmagickDraw
PHP Manual

GmagickDraw::getfont

(PECL gmagick >= Unknown)

GmagickDraw::getfont — Returns the font

Beschreibung

public mixed GmagickDraw::getfont ( void )

Returns a string specifying the font used when annotating with text.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a string on success and FALSE if no font is set.

GmagickDraw::getfillopacity
GmagickDraw::getfontsize
GmagickDraw


Returns the font pointsize

GmagickDraw::getfont
GmagickDraw::getfontstyle
GmagickDraw
PHP Manual

GmagickDraw::getfontsize

(PECL gmagick >= Unknown)

GmagickDraw::getfontsize — Returns the font pointsize

Beschreibung

public float GmagickDraw::getfontsize ( void )

Returns the font pointsize used when annotating with text.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the font size associated with the current GmagickDraw object.

GmagickDraw::getfont
GmagickDraw::getfontstyle
GmagickDraw


Returns the font style

GmagickDraw::getfontsize
GmagickDraw::getfontweight
GmagickDraw
PHP Manual

GmagickDraw::getfontstyle

(PECL gmagick >= Unknown)

GmagickDraw::getfontstyle — Returns the font style

Beschreibung

public int GmagickDraw::getfontstyle ( void )

Returns the font style used when annotating with text.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the font style constant (STYLE_) associated with the GmagickDraw object or 0 if no style is set.

GmagickDraw::getfontsize
GmagickDraw::getfontweight
GmagickDraw


Returns the font weight

GmagickDraw::getfontstyle
GmagickDraw::getstrokecolor
GmagickDraw
PHP Manual

GmagickDraw::getfontweight

(PECL gmagick >= Unknown)

GmagickDraw::getfontweight — Returns the font weight

Beschreibung

public int GmagickDraw::getfontweight ( void )

Returns the font weight used when annotating with text.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an int on success and 0 if no weight is set.

GmagickDraw::getfontstyle
GmagickDraw::getstrokecolor
GmagickDraw


Returns the color used for stroking object outlines

GmagickDraw::getfontweight
GmagickDraw::getstrokeopacity
GmagickDraw
PHP Manual

GmagickDraw::getstrokecolor

(PECL gmagick >= Unknown)

GmagickDraw::getstrokecolor — Returns the color used for stroking object outlines

Beschreibung

public GmagickPixel GmagickDraw::getstrokecolor ( void )

Returns the color used for stroking object outlines.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an GmagickPixel object which describes the color.

GmagickDraw::getfontweight
GmagickDraw::getstrokeopacity
GmagickDraw


Returns the opacity of stroked object outlines

GmagickDraw::getstrokecolor
GmagickDraw::getstrokewidth
GmagickDraw
PHP Manual

GmagickDraw::getstrokeopacity

(PECL gmagick >= Unknown)

GmagickDraw::getstrokeopacity — Returns the opacity of stroked object outlines

Beschreibung

public float GmagickDraw::getstrokeopacity ( void )

Returns the opacity of stroked object outlines.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a double describing the opacity.

GmagickDraw::getstrokecolor
GmagickDraw::getstrokewidth
GmagickDraw


Returns the width of the stroke used to draw object outlines

GmagickDraw::getstrokeopacity
GmagickDraw::gettextdecoration
GmagickDraw
PHP Manual

GmagickDraw::getstrokewidth

(PECL gmagick >= Unknown)

GmagickDraw::getstrokewidth — Returns the width of the stroke used to draw object outlines

Beschreibung

public float GmagickDraw::getstrokewidth ( void )

Returns the width of the stroke used to draw object outlines.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a double describing the stroke width.

GmagickDraw::getstrokeopacity
GmagickDraw::gettextdecoration
GmagickDraw


Returns the text decoration

GmagickDraw::getstrokewidth
GmagickDraw::gettextencoding
GmagickDraw
PHP Manual

GmagickDraw::gettextdecoration

(PECL gmagick >= Unknown)

GmagickDraw::gettextdecoration — Returns the text decoration

Beschreibung

public int GmagickDraw::gettextdecoration ( void )

Returns the decoration applied when annotating with text.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns one of the DECORATION_ constants and 0 if no decoration is set.

GmagickDraw::getstrokewidth
GmagickDraw::gettextencoding
GmagickDraw


Returns the code set used for text annotations

GmagickDraw::gettextdecoration
GmagickDraw::line
GmagickDraw
PHP Manual

GmagickDraw::gettextencoding

(PECL gmagick >= Unknown)

GmagickDraw::gettextencoding — Returns the code set used for text annotations

Beschreibung

public mixed GmagickDraw::gettextencoding ( void )

Returns a string which specifies the code set used for text annotations.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a string specifying the code set or FALSE if text encoding is not set.

GmagickDraw::gettextdecoration
GmagickDraw::line
GmagickDraw


The line purpose

GmagickDraw::gettextencoding
GmagickDraw::point
GmagickDraw
PHP Manual

GmagickDraw::line

(PECL gmagick >= Unknown)

GmagickDraw::line — The line purpose

Beschreibung

public GmagickDraw GmagickDraw::line ( float $sx , float $sy , float $ex , float $ey )

Draws a line on the image using the current stroke color, stroke opacity, and stroke width.

Parameter-Liste

sx

starting x ordinate

sy

starting y ordinate

ex

ending x ordinate

ey

ending y ordinate

Rückgabewerte

The GmagickDraw object on success

GmagickDraw::gettextencoding
GmagickDraw::point
GmagickDraw


Draws a point

GmagickDraw::line
GmagickDraw::polygon
GmagickDraw
PHP Manual

GmagickDraw::point

(PECL gmagick >= Unknown)

GmagickDraw::point — Draws a point

Beschreibung

public GmagickDraw GmagickDraw::point ( float $x , float $y )

Draws a point using the current stroke color and stroke thickness at the specified coordinates.

Parameter-Liste

x

target x coordinate

y

target y coordinate

Rückgabewerte

The GmagickDraw object on success

GmagickDraw::line
GmagickDraw::polygon
GmagickDraw


Draws a polygon

GmagickDraw::point
GmagickDraw::polyline
GmagickDraw
PHP Manual

GmagickDraw::polygon

(PECL gmagick >= Unknown)

GmagickDraw::polygon — Draws a polygon

Beschreibung

public GmagickDraw GmagickDraw::polygon ( array $coordinates )

Draws a polygon using the current stroke, stroke width, and fill color or texture, using the specified array of coordinates.

Parameter-Liste

coordinates

coordinate array

Rückgabewerte

The GmagickDraw object on success

GmagickDraw::point
GmagickDraw::polyline
GmagickDraw


Draws a polyline

GmagickDraw::polygon
GmagickDraw::rectangle
GmagickDraw
PHP Manual

GmagickDraw::polyline

(PECL gmagick >= Unknown)

GmagickDraw::polyline — Draws a polyline

Beschreibung

public GmagickDraw GmagickDraw::polyline ( array $coordinate_array )

Draws a polyline using the current stroke, stroke width, and fill color or texture, using the specified array of coordinates.

Parameter-Liste

coordinate_array

The array of coordinates

Rückgabewerte

The GmagickDraw object on success

GmagickDraw::polygon
GmagickDraw::rectangle
GmagickDraw


Draws a rectangle

GmagickDraw::polyline
GmagickDraw::rotate
GmagickDraw
PHP Manual

GmagickDraw::rectangle

(PECL gmagick >= Unknown)

GmagickDraw::rectangle — Draws a rectangle

Beschreibung

public GmagickDraw GmagickDraw::rectangle ( float $x1 , float $y1 , float $x2 , float $y2 )

Draws a rectangle given two coordinates and using the current stroke, stroke width, and fill settings.

Parameter-Liste

x1

x ordinate of first coordinate

y1

y ordinate of first coordinate

x2

x ordinate of second coordinate

y2

y ordinate of second coordinate

Rückgabewerte

The GmagickDraw object on success

GmagickDraw::polyline
GmagickDraw::rotate
GmagickDraw


Applies the specified rotation to the current coordinate space

GmagickDraw::rectangle
GmagickDraw::roundrectangle
GmagickDraw
PHP Manual

GmagickDraw::rotate

(PECL gmagick >= Unknown)

GmagickDraw::rotate — Applies the specified rotation to the current coordinate space

Beschreibung

public GmagickDraw GmagickDraw::rotate ( float $degrees )

Applies the specified rotation to the current coordinate space.

Parameter-Liste

degrees

degrees of rotation

Rückgabewerte

The GmagickDraw object on success

GmagickDraw::rectangle
GmagickDraw::roundrectangle
GmagickDraw


Draws a rounded rectangle

GmagickDraw::rotate
GmagickDraw::scale
GmagickDraw
PHP Manual

GmagickDraw::roundrectangle

(PECL gmagick >= Unknown)

GmagickDraw::roundrectangle — Draws a rounded rectangle

Beschreibung

public GmagickDraw GmagickDraw::roundrectangle ( float $x1 , float $y1 , float $x2 , float $y2 , float $rx , float $ry )

Draws a rounded rectangle given two coordinates, x and y corner radiuses and using the current stroke, stroke width, and fill settings.

Parameter-Liste

x1

x ordinate of first coordinate

y1

y ordinate of first coordinate

x2

x ordinate of second coordinate

y2

y ordinate of second coordinate

rx

radius of corner in horizontal direction

ry

radius of corner in vertical direction

Rückgabewerte

The GmagickDraw object on success

GmagickDraw::rotate
GmagickDraw::scale
GmagickDraw


Adjusts the scaling factor

GmagickDraw::roundrectangle
GmagickDraw::setfillcolor
GmagickDraw
PHP Manual

GmagickDraw::scale

(PECL gmagick >= Unknown)

GmagickDraw::scale — Adjusts the scaling factor

Beschreibung

public GmagickDraw GmagickDraw::scale ( float $x , float $y )

Adjusts the scaling factor to apply in the horizontal and vertical directions to the current coordinate space.

Parameter-Liste

x

horizontal scale factor

y

vertical scale factor

Rückgabewerte

The GmagickDraw object on success

GmagickDraw::roundrectangle
GmagickDraw::setfillcolor
GmagickDraw


Sets the fill color to be used for drawing filled objects.

GmagickDraw::scale
GmagickDraw::setfillopacity
GmagickDraw
PHP Manual

GmagickDraw::setfillcolor

(PECL gmagick >= Unknown)

GmagickDraw::setfillcolor — Sets the fill color to be used for drawing filled objects.

Beschreibung

public GmagickDraw GmagickDraw::setfillcolor ( mixed $color )

Sets the fill color to be used for drawing filled objects.

Parameter-Liste

color

GmagickPixel or string indicating color to use for filling.

Rückgabewerte

The GmagickDraw object on success.

GmagickDraw::scale
GmagickDraw::setfillopacity
GmagickDraw


The setfillopacity purpose

GmagickDraw::setfillcolor
GmagickDraw::setfont
GmagickDraw
PHP Manual

GmagickDraw::setfillopacity

(PECL gmagick >= Unknown)

GmagickDraw::setfillopacity — The setfillopacity purpose

Beschreibung

public GmagickDraw GmagickDraw::setfillopacity ( float $fill_opacity )

Sets the opacity to use when drawing using the fill color or fill texture. Setting it to 1.0 will make fill full opaque.

Parameter-Liste

fill_opacity

Fill opacity

Rückgabewerte

The GmagickDraw object on success

GmagickDraw::setfillcolor
GmagickDraw::setfont
GmagickDraw


Sets the fully-specified font to use when annotating with text.

GmagickDraw::setfillopacity
GmagickDraw::setfontsize
GmagickDraw
PHP Manual

GmagickDraw::setfont

(PECL gmagick >= Unknown)

GmagickDraw::setfont — Sets the fully-specified font to use when annotating with text.

Beschreibung

public GmagickDraw GmagickDraw::setfont ( string $font )

Sets the fully-specified font to use when annotating with text

Parameter-Liste

font

font name

Rückgabewerte

The GmagickDraw object on success

GmagickDraw::setfillopacity
GmagickDraw::setfontsize
GmagickDraw


Sets the font pointsize to use when annotating with text.

GmagickDraw::setfont
GmagickDraw::setfontstyle
GmagickDraw
PHP Manual

GmagickDraw::setfontsize

(PECL gmagick >= Unknown)

GmagickDraw::setfontsize — Sets the font pointsize to use when annotating with text.

Beschreibung

public GmagickDraw GmagickDraw::setfontsize ( float $pointsize )

Sets the font pointsize to use when annotating with text.

Parameter-Liste

pointsize

Text pointsize

Rückgabewerte

The GmagickDraw object on success

GmagickDraw::setfont
GmagickDraw::setfontstyle
GmagickDraw


Sets the font style to use when annotating with text

GmagickDraw::setfontsize
GmagickDraw::setfontweight
GmagickDraw
PHP Manual

GmagickDraw::setfontstyle

(PECL gmagick >= Unknown)

GmagickDraw::setfontstyle — Sets the font style to use when annotating with text

Beschreibung

public GmagickDraw GmagickDraw::setfontstyle ( int $style )

Sets the font style to use when annotating with text. The AnyStyle enumeration acts as a wild-card "don't care" option.

Parameter-Liste

style

Font style (NormalStyle, ItalicStyle, ObliqueStyle, AnyStyle)

Rückgabewerte

The GmagickDraw object on success

GmagickDraw::setfontsize
GmagickDraw::setfontweight
GmagickDraw


Sets the font weight

GmagickDraw::setfontstyle
GmagickDraw::setstrokecolor
GmagickDraw
PHP Manual

GmagickDraw::setfontweight

(PECL gmagick >= Unknown)

GmagickDraw::setfontweight — Sets the font weight

Beschreibung

public GmagickDraw GmagickDraw::setfontweight ( int $weight )

Sets the font weight to use when annotating with text.

Parameter-Liste

weight

Font weight (valid range 100-900)

Rückgabewerte

The GmagickDraw object on success

GmagickDraw::setfontstyle
GmagickDraw::setstrokecolor
GmagickDraw


Sets the color used for stroking object outlines.

GmagickDraw::setfontweight
GmagickDraw::setstrokeopacity
GmagickDraw
PHP Manual

GmagickDraw::setstrokecolor

(PECL gmagick >= Unknown)

GmagickDraw::setstrokecolor — Sets the color used for stroking object outlines.

Beschreibung

public GmagickDraw GmagickDraw::setstrokecolor ( mixed $color )

Sets the color used for stroking object outlines.

Parameter-Liste

color

GmagickPixel or string representing the color for the stroke.

Rückgabewerte

The GmagickDraw object on success.

GmagickDraw::setfontweight
GmagickDraw::setstrokeopacity
GmagickDraw


Specifies the opacity of stroked object outlines.

GmagickDraw::setstrokecolor
GmagickDraw::setstrokewidth
GmagickDraw
PHP Manual

GmagickDraw::setstrokeopacity

(PECL gmagick >= Unknown)

GmagickDraw::setstrokeopacity — Specifies the opacity of stroked object outlines.

Beschreibung

public GmagickDraw GmagickDraw::setstrokeopacity ( float $stroke_opacity )

Specifies the opacity of stroked object outlines.

Parameter-Liste

stroke_opacity

Stroke opacity. The value 1.0 is opaque.

Rückgabewerte

The GmagickDraw object on success

GmagickDraw::setstrokecolor
GmagickDraw::setstrokewidth
GmagickDraw


Sets the width of the stroke used to draw object outlines.

GmagickDraw::setstrokeopacity
GmagickDraw::settextdecoration
GmagickDraw
PHP Manual

GmagickDraw::setstrokewidth

(PECL gmagick >= Unknown)

GmagickDraw::setstrokewidth — Sets the width of the stroke used to draw object outlines.

Beschreibung

public GmagickDraw GmagickDraw::setstrokewidth ( float $width )

Sets the width of the stroke used to draw object outlines

Parameter-Liste

width

Stroke width

Rückgabewerte

The GmagickDraw object on success

GmagickDraw::setstrokeopacity
GmagickDraw::settextdecoration
GmagickDraw


Specifies a decoration

GmagickDraw::setstrokewidth
GmagickDraw::settextencoding
GmagickDraw
PHP Manual

GmagickDraw::settextdecoration

(PECL gmagick >= Unknown)

GmagickDraw::settextdecoration — Specifies a decoration

Beschreibung

public GmagickDraw GmagickDraw::settextdecoration ( int $decoration )

Specifies a decoration to be applied when annotating with text.

Parameter-Liste

int

Text decoration. One of NoDecoration, UnderlineDecoration, OverlineDecoration, or LineThroughDecoration

Rückgabewerte

The GmagickDraw object on success

GmagickDraw::setstrokewidth
GmagickDraw::settextencoding
GmagickDraw


Specifies the text code set

GmagickDraw::settextdecoration
GmagickPixel
GmagickDraw
PHP Manual

GmagickDraw::settextencoding

(PECL gmagick >= Unknown)

GmagickDraw::settextencoding — Specifies the text code set

Beschreibung

public GmagickDraw GmagickDraw::settextencoding ( string $encoding )

Specifies the code set to use for text annotations. The only character encoding which may be specified at this time is "UTF-8" for representing Unicode as a sequence of bytes. Specify an empty string to set text encoding to the system's default. Successful text annotation using Unicode may require fonts designed to support Unicode.

Parameter-Liste

encoding

Character string specifying text encoding

Rückgabewerte

The GmagickDraw object on success

GmagickDraw::settextdecoration
GmagickPixel
GmagickDraw


The GmagickPixel class

(PECL gmagick >= Unknown)

Einführung

Klassenbeschreibung

GmagickPixel {
/* Methoden */
public __construct ([ string $color ] )
public mixed getcolor ([ bool $as_array = false [, bool $normalize_array = false ]] )
public int getcolorcount ( void )
public float getcolorvalue ( int $color )
public GmagickPixel setcolor ( string $color )
public GmagickPixel setcolorvalue ( int $color , float $value )
}

Inhaltsverzeichnis

  • GmagickPixel::__construct — Erstellt ein neues GmagickPixel Objekt
  • GmagickPixel::getcolor — Gibt die Farbe zurück
  • GmagickPixel::getcolorcount — Returns the color count associated with this color
  • GmagickPixel::getcolorvalue — Gets the normalized value of the provided color channel
  • GmagickPixel::setcolor — Sets the color
  • GmagickPixel::setcolorvalue — Sets the normalized value of one of the channels
GmagickDraw::settextencoding
GmagickPixel::__construct
Gmagick


Erstellt ein neues GmagickPixel Objekt

GmagickPixel
GmagickPixel::getcolor
GmagickPixel
PHP Manual

GmagickPixel::__construct

(PECL gmagick >= Unknown)

GmagickPixel::__construct — Erstellt ein neues GmagickPixel Objekt

Beschreibung

public GmagickPixel::__construct ([ string $color ] )

Erstellt ein neues GmagickPixel Objekt. Wenn color angegeben ist, wird das Objekt mit dieser Farbe initialisiert.

Parameter-Liste

color

Die optionale Farbzeichenkette, die als Initialwert benutzt wird.

Rückgabewerte

Im Erfolgsfall das GmagickPixel Objekt.

GmagickPixel
GmagickPixel::getcolor
GmagickPixel


Gibt die Farbe zurück

GmagickPixel::__construct
GmagickPixel::getcolorcount
GmagickPixel
PHP Manual

GmagickPixel::getcolor

(PECL gmagick >= Unknown)

GmagickPixel::getcolor — Gibt die Farbe zurück

Beschreibung

public mixed GmagickPixel::getcolor ([ bool $as_array = false [, bool $normalize_array = false ]] )

Gibt die Farbe als String oder Array zurück. Wenn die Farbe einen Transparenz-Kanal hat, wird dieser als der vierte Wert im Array zurück gegeben.

Parameter-Liste

as_array

TRUE, damit ein Array anstelle eines Strings zurückgegeben wird.

normalize_array

TRUE normalisiert die Farbwerte.

Rückgabewerte

Ein String oder Array von Farbwerten, normalisiert, wenn normalize_array gleich TRUE ist. Wirft GmagickPixelException im Fehlerfall.

GmagickPixel::__construct
GmagickPixel::getcolorcount
GmagickPixel


Returns the color count associated with this color

GmagickPixel::getcolor
GmagickPixel::getcolorvalue
GmagickPixel
PHP Manual

GmagickPixel::getcolorcount

(PECL gmagick >= Unknown)

GmagickPixel::getcolorcount — Returns the color count associated with this color

Beschreibung

public int GmagickPixel::getcolorcount ( void )

Returns the color count associated with this color

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the color count as an integer on success, throws GmagickPixelException on failure.

GmagickPixel::getcolor
GmagickPixel::getcolorvalue
GmagickPixel


Gets the normalized value of the provided color channel

GmagickPixel::getcolorcount
GmagickPixel::setcolor
GmagickPixel
PHP Manual

GmagickPixel::getcolorvalue

(PECL gmagick >= Unknown)

GmagickPixel::getcolorvalue — Gets the normalized value of the provided color channel

Beschreibung

public float GmagickPixel::getcolorvalue ( int $color )

Retrieves the value of the color channel specified, as a floating-point number between 0 and 1.

Parameter-Liste

color

The channel to check, specified as one of the Gmagick channel constants.

Rückgabewerte

The value of the channel, as a normalized floating-point number, throwing GmagickPixelException on error.

GmagickPixel::getcolorcount
GmagickPixel::setcolor
GmagickPixel


Sets the color

GmagickPixel::getcolorvalue
GmagickPixel::setcolorvalue
GmagickPixel
PHP Manual

GmagickPixel::setcolor

(PECL gmagick >= Unknown)

GmagickPixel::setcolor — Sets the color

Beschreibung

public GmagickPixel GmagickPixel::setcolor ( string $color )

Sets the color described by the GmagickPixel object, with a string (e.g. "blue", "#0000ff", "rgb(0,0,255)", "cmyk(100,100,100,10)", etc.).

Parameter-Liste

color

The color definition to use in order to initialise the GmagickPixel object.

Rückgabewerte

The GmagickPixel object on success.

GmagickPixel::getcolorvalue
GmagickPixel::setcolorvalue
GmagickPixel


Sets the normalized value of one of the channels

GmagickPixel::setcolor
ImageMagick
GmagickPixel
PHP Manual

GmagickPixel::setcolorvalue

(PECL gmagick >= Unknown)

GmagickPixel::setcolorvalue — Sets the normalized value of one of the channels

Beschreibung

public GmagickPixel GmagickPixel::setcolorvalue ( int $color , float $value )

Sets the value of the specified channel of this object to the provided value, which should be between 0 and 1. This function can be used to provide an opacity channel to a GmagickPixel object.

Parameter-Liste

color

One of the Gmagick channel color constants.

value

The value to set this channel to, ranging from 0 to 1.

Rückgabewerte

The GmagickPixel object on success.

GmagickPixel::setcolor
ImageMagick
GmagickPixel


Image Processing (ImageMagick)

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • Basic usage
  • Imagick — The Imagick class
    • Imagick::adaptiveBlurImage — Adds adaptive blur filter to image
    • Imagick::adaptiveResizeImage — Adaptively resize image with data dependent triangulation
    • Imagick::adaptiveSharpenImage — Adaptively sharpen the image
    • Imagick::adaptiveThresholdImage — Selects a threshold for each pixel based on a range of intensity
    • Imagick::addImage — Adds new image to Imagick object image list
    • Imagick::addNoiseImage — Adds random noise to the image
    • Imagick::affineTransformImage — Transforms an image
    • Imagick::animateImages — Animates an image or images
    • Imagick::annotateImage — Annotates an image with text
    • Imagick::appendImages — Append a set of images
    • Imagick::autoLevelImage — Description
    • Imagick::averageImages — Average a set of images
    • Imagick::blackThresholdImage — Forces all pixels below the threshold into black
    • Imagick::blueShiftImage — Description
    • Imagick::blurImage — Adds blur filter to image
    • Imagick::borderImage — Surrounds the image with a border
    • Imagick::brightnessContrastImage — Description
    • Imagick::charcoalImage — Simulates a charcoal drawing
    • Imagick::chopImage — Removes a region of an image and trims
    • Imagick::clampImage — Description
    • Imagick::clear — Clears all resources associated to Imagick object
    • Imagick::clipImage — Clips along the first path from the 8BIM profile
    • Imagick::clipImagePath — Description
    • Imagick::clipPathImage — Clips along the named paths from the 8BIM profile
    • Imagick::clone — Makes an exact copy of the Imagick object
    • Imagick::clutImage — Replaces colors in the image
    • Imagick::coalesceImages — Composites a set of images
    • Imagick::colorFloodfillImage — Changes the color value of any pixel that matches target
    • Imagick::colorizeImage — Blends the fill color with the image
    • Imagick::colorMatrixImage — Description
    • Imagick::combineImages — Combines one or more images into a single image
    • Imagick::commentImage — Adds a comment to your image
    • Imagick::compareImageChannels — Returns the difference in one or more images
    • Imagick::compareImageLayers — Returns the maximum bounding region between images
    • Imagick::compareImages — Compares an image to a reconstructed image
    • Imagick::compositeImage — Composite one image onto another
    • Imagick::__construct — The Imagick constructor
    • Imagick::contrastImage — Change the contrast of the image
    • Imagick::contrastStretchImage — Enhances the contrast of a color image
    • Imagick::convolveImage — Applies a custom convolution kernel to the image
    • Imagick::count — Description
    • Imagick::cropImage — Extracts a region of the image
    • Imagick::cropThumbnailImage — Creates a crop thumbnail
    • Imagick::current — Returns a reference to the current Imagick object
    • Imagick::cycleColormapImage — Displaces an image's colormap
    • Imagick::decipherImage — Deciphers an image
    • Imagick::deconstructImages — Returns certain pixel differences between images
    • Imagick::deleteImageArtifact — Delete image artifact
    • Imagick::deleteImageProperty — Description
    • Imagick::deskewImage — Removes skew from the image
    • Imagick::despeckleImage — Reduces the speckle noise in an image
    • Imagick::destroy — Destroys the Imagick object
    • Imagick::displayImage — Displays an image
    • Imagick::displayImages — Displays an image or image sequence
    • Imagick::distortImage — Distorts an image using various distortion methods
    • Imagick::drawImage — Renders the ImagickDraw object on the current image
    • Imagick::edgeImage — Enhance edges within the image
    • Imagick::embossImage — Returns a grayscale image with a three-dimensional effect
    • Imagick::encipherImage — Enciphers an image
    • Imagick::enhanceImage — Improves the quality of a noisy image
    • Imagick::equalizeImage — Equalizes the image histogram
    • Imagick::evaluateImage — Applies an expression to an image
    • Imagick::exportImagePixels — Exports raw image pixels
    • Imagick::extentImage — Set image size
    • Imagick::filter — Description
    • Imagick::flattenImages — Merges a sequence of images
    • Imagick::flipImage — Creates a vertical mirror image
    • Imagick::floodFillPaintImage — Changes the color value of any pixel that matches target
    • Imagick::flopImage — Creates a horizontal mirror image
    • Imagick::forwardFourierTransformImage — Description
    • Imagick::frameImage — Adds a simulated three-dimensional border
    • Imagick::functionImage — Applies a function on the image
    • Imagick::fxImage — Evaluate expression for each pixel in the image
    • Imagick::gammaImage — Gamma-corrects an image
    • Imagick::gaussianBlurImage — Blurs an image
    • Imagick::getColorspace — Gets the colorspace
    • Imagick::getCompression — Gets the object compression type
    • Imagick::getCompressionQuality — Gets the object compression quality
    • Imagick::getCopyright — Returns the ImageMagick API copyright as a string
    • Imagick::getFilename — The filename associated with an image sequence
    • Imagick::getFont — Gets font
    • Imagick::getFormat — Returns the format of the Imagick object
    • Imagick::getGravity — Gets the gravity
    • Imagick::getHomeURL — Returns the ImageMagick home URL
    • Imagick::getImage — Returns a new Imagick object
    • Imagick::getImageAlphaChannel — Gets the image alpha channel
    • Imagick::getImageArtifact — Get image artifact
    • Imagick::getImageAttribute — Description
    • Imagick::getImageBackgroundColor — Returns the image background color
    • Imagick::getImageBlob — Returns the image sequence as a blob
    • Imagick::getImageBluePrimary — Returns the chromaticy blue primary point
    • Imagick::getImageBorderColor — Returns the image border color
    • Imagick::getImageChannelDepth — Gets the depth for a particular image channel
    • Imagick::getImageChannelDistortion — Compares image channels of an image to a reconstructed image
    • Imagick::getImageChannelDistortions — Gets channel distortions
    • Imagick::getImageChannelExtrema — Gets the extrema for one or more image channels
    • Imagick::getImageChannelKurtosis — The getImageChannelKurtosis purpose
    • Imagick::getImageChannelMean — Gets the mean and standard deviation
    • Imagick::getImageChannelRange — Gets channel range
    • Imagick::getImageChannelStatistics — Returns statistics for each channel in the image
    • Imagick::getImageClipMask — Gets image clip mask
    • Imagick::getImageColormapColor — Returns the color of the specified colormap index
    • Imagick::getImageColors — Gets the number of unique colors in the image
    • Imagick::getImageColorspace — Gets the image colorspace
    • Imagick::getImageCompose — Returns the composite operator associated with the image
    • Imagick::getImageCompression — Gets the current image's compression type
    • Imagick::getImageCompressionQuality — Gets the current image's compression quality
    • Imagick::getImageDelay — Gets the image delay
    • Imagick::getImageDepth — Gets the image depth
    • Imagick::getImageDispose — Gets the image disposal method
    • Imagick::getImageDistortion — Compares an image to a reconstructed image
    • Imagick::getImageExtrema — Gets the extrema for the image
    • Imagick::getImageFilename — Returns the filename of a particular image in a sequence
    • Imagick::getImageFormat — Returns the format of a particular image in a sequence
    • Imagick::getImageGamma — Gets the image gamma
    • Imagick::getImageGeometry — Gets the width and height as an associative array
    • Imagick::getImageGravity — Gets the image gravity
    • Imagick::getImageGreenPrimary — Returns the chromaticy green primary point
    • Imagick::getImageHeight — Returns the image height
    • Imagick::getImageHistogram — Gets the image histogram
    • Imagick::getImageIndex — Gets the index of the current active image
    • Imagick::getImageInterlaceScheme — Gets the image interlace scheme
    • Imagick::getImageInterpolateMethod — Returns the interpolation method
    • Imagick::getImageIterations — Gets the image iterations
    • Imagick::getImageLength — Returns the image length in bytes
    • Imagick::getImageMagickLicense — Returns a string containing the ImageMagick license
    • Imagick::getImageMatte — Return if the image has a matte channel
    • Imagick::getImageMatteColor — Returns the image matte color
    • Imagick::getImageMimeType — Description
    • Imagick::getImageOrientation — Gets the image orientation
    • Imagick::getImagePage — Returns the page geometry
    • Imagick::getImagePixelColor — Returns the color of the specified pixel
    • Imagick::getImageProfile — Returns the named image profile
    • Imagick::getImageProfiles — Returns the image profiles
    • Imagick::getImageProperties — Returns the image properties
    • Imagick::getImageProperty — Returns the named image property
    • Imagick::getImageRedPrimary — Returns the chromaticity red primary point
    • Imagick::getImageRegion — Extracts a region of the image
    • Imagick::getImageRenderingIntent — Gets the image rendering intent
    • Imagick::getImageResolution — Gets the image X and Y resolution
    • Imagick::getImagesBlob — Returns all image sequences as a blob
    • Imagick::getImageScene — Gets the image scene
    • Imagick::getImageSignature — Generates an SHA-256 message digest
    • Imagick::getImageSize — Returns the image length in bytes
    • Imagick::getImageTicksPerSecond — Gets the image ticks-per-second
    • Imagick::getImageTotalInkDensity — Gets the image total ink density
    • Imagick::getImageType — Gets the potential image type
    • Imagick::getImageUnits — Gets the image units of resolution
    • Imagick::getImageVirtualPixelMethod — Returns the virtual pixel method
    • Imagick::getImageWhitePoint — Returns the chromaticity white point
    • Imagick::getImageWidth — Returns the image width
    • Imagick::getInterlaceScheme — Gets the object interlace scheme
    • Imagick::getIteratorIndex — Gets the index of the current active image
    • Imagick::getNumberImages — Returns the number of images in the object
    • Imagick::getOption — Returns a value associated with the specified key
    • Imagick::getPackageName — Returns the ImageMagick package name
    • Imagick::getPage — Returns the page geometry
    • Imagick::getPixelIterator — Returns a MagickPixelIterator
    • Imagick::getPixelRegionIterator — Get an ImagickPixelIterator for an image section
    • Imagick::getPointSize — Gets point size
    • Imagick::getQuantum — Description
    • Imagick::getQuantumDepth — Gets the quantum depth
    • Imagick::getQuantumRange — Returns the Imagick quantum range
    • Imagick::getRegistry — Description
    • Imagick::getReleaseDate — Returns the ImageMagick release date
    • Imagick::getResource — Returns the specified resource's memory usage
    • Imagick::getResourceLimit — Returns the specified resource limit
    • Imagick::getSamplingFactors — Gets the horizontal and vertical sampling factor
    • Imagick::getSize — Returns the size associated with the Imagick object
    • Imagick::getSizeOffset — Returns the size offset
    • Imagick::getVersion — Returns the ImageMagick API version
    • Imagick::haldClutImage — Replaces colors in the image
    • Imagick::hasNextImage — Checks if the object has more images
    • Imagick::hasPreviousImage — Checks if the object has a previous image
    • Imagick::identifyFormat — Description
    • Imagick::identifyImage — Identifies an image and fetches attributes
    • Imagick::implodeImage — Creates a new image as a copy
    • Imagick::importImagePixels — Imports image pixels
    • Imagick::inverseFourierTransformImage — Description
    • Imagick::labelImage — Adds a label to an image
    • Imagick::levelImage — Adjusts the levels of an image
    • Imagick::linearStretchImage — Stretches with saturation the image intensity
    • Imagick::liquidRescaleImage — Animates an image or images
    • Imagick::listRegistry — Description
    • Imagick::magnifyImage — Scales an image proportionally 2x
    • Imagick::mapImage — Replaces the colors of an image with the closest color from a reference image.
    • Imagick::matteFloodfillImage — Changes the transparency value of a color
    • Imagick::medianFilterImage — Applies a digital filter
    • Imagick::mergeImageLayers — Merges image layers
    • Imagick::minifyImage — Scales an image proportionally to half its size
    • Imagick::modulateImage — Control the brightness, saturation, and hue
    • Imagick::montageImage — Creates a composite image
    • Imagick::morphImages — Method morphs a set of images
    • Imagick::morphology — Description
    • Imagick::mosaicImages — Forms a mosaic from images
    • Imagick::motionBlurImage — Simulates motion blur
    • Imagick::negateImage — Negates the colors in the reference image
    • Imagick::newImage — Creates a new image
    • Imagick::newPseudoImage — Creates a new image
    • Imagick::nextImage — Moves to the next image
    • Imagick::normalizeImage — Enhances the contrast of a color image
    • Imagick::oilPaintImage — Simulates an oil painting
    • Imagick::opaquePaintImage — Changes the color value of any pixel that matches target
    • Imagick::optimizeImageLayers — Removes repeated portions of images to optimize
    • Imagick::orderedPosterizeImage — Performs an ordered dither
    • Imagick::paintFloodfillImage — Changes the color value of any pixel that matches target
    • Imagick::paintOpaqueImage — Change any pixel that matches color
    • Imagick::paintTransparentImage — Changes any pixel that matches color with the color defined by fill
    • Imagick::pingImage — Abrufen von grundlegenden Merkmalen eines Bildes
    • Imagick::pingImageBlob — Quickly fetch attributes
    • Imagick::pingImageFile — Get basic image attributes in a lightweight manner
    • Imagick::polaroidImage — Simulates a Polaroid picture
    • Imagick::posterizeImage — Reduces the image to a limited number of color level
    • Imagick::previewImages — Quickly pin-point appropriate parameters for image processing
    • Imagick::previousImage — Move to the previous image in the object
    • Imagick::profileImage — Adds or removes a profile from an image
    • Imagick::quantizeImage — Analyzes the colors within a reference image
    • Imagick::quantizeImages — Analyzes the colors within a sequence of images
    • Imagick::queryFontMetrics — Returns an array representing the font metrics
    • Imagick::queryFonts — Returns the configured fonts
    • Imagick::queryFormats — Returns formats supported by Imagick
    • Imagick::radialBlurImage — Radial blurs an image
    • Imagick::raiseImage — Creates a simulated 3d button-like effect
    • Imagick::randomThresholdImage — Creates a high-contrast, two-color image
    • Imagick::readImage — Reads image from filename
    • Imagick::readImageBlob — Reads image from a binary string
    • Imagick::readImageFile — Reads image from open filehandle
    • Imagick::readimages — Description
    • Imagick::recolorImage — Recolors image
    • Imagick::reduceNoiseImage — Smooths the contours of an image
    • Imagick::remapImage — Remaps image colors
    • Imagick::removeImage — Removes an image from the image list
    • Imagick::removeImageProfile — Removes the named image profile and returns it
    • Imagick::render — Renders all preceding drawing commands
    • Imagick::resampleImage — Resample image to desired resolution
    • Imagick::resetImagePage — Reset image page
    • Imagick::resizeImage — Scales an image
    • Imagick::rollImage — Offsets an image
    • Imagick::rotateImage — Rotates an image
    • Imagick::rotationalBlurImage — Description
    • Imagick::roundCorners — Rounds image corners
    • Imagick::sampleImage — Scales an image with pixel sampling
    • Imagick::scaleImage — Scales the size of an image
    • Imagick::segmentImage — Segments an image
    • Imagick::selectiveBlurImage — Description
    • Imagick::separateImageChannel — Separates a channel from the image
    • Imagick::sepiaToneImage — Sepia tones an image
    • Imagick::setBackgroundColor — Sets the object's default background color
    • Imagick::setColorspace — Set colorspace
    • Imagick::setCompression — Sets the object's default compression type
    • Imagick::setCompressionQuality — Sets the object's default compression quality
    • Imagick::setFilename — Sets the filename before you read or write the image
    • Imagick::setFirstIterator — Sets the Imagick iterator to the first image
    • Imagick::setFont — Sets font
    • Imagick::setFormat — Sets the format of the Imagick object
    • Imagick::setGravity — Sets the gravity
    • Imagick::setImage — Replaces image in the object
    • Imagick::setImageAlphaChannel — Sets image alpha channel
    • Imagick::setImageArtifact — Set image artifact
    • Imagick::setImageAttribute — Description
    • Imagick::setImageBackgroundColor — Sets the image background color
    • Imagick::setImageBias — Sets the image bias for any method that convolves an image
    • Imagick::setImageBiasQuantum — Description
    • Imagick::setImageBluePrimary — Sets the image chromaticity blue primary point
    • Imagick::setImageBorderColor — Sets the image border color
    • Imagick::setImageChannelDepth — Sets the depth of a particular image channel
    • Imagick::setImageClipMask — Sets image clip mask
    • Imagick::setImageColormapColor — Sets the color of the specified colormap index
    • Imagick::setImageColorspace — Sets the image colorspace
    • Imagick::setImageCompose — Sets the image composite operator
    • Imagick::setImageCompression — Sets the image compression
    • Imagick::setImageCompressionQuality — Sets the image compression quality
    • Imagick::setImageDelay — Sets the image delay
    • Imagick::setImageDepth — Sets the image depth
    • Imagick::setImageDispose — Sets the image disposal method
    • Imagick::setImageExtent — Sets the image size
    • Imagick::setImageFilename — Sets the filename of a particular image
    • Imagick::setImageFormat — Sets the format of a particular image
    • Imagick::setImageGamma — Sets the image gamma
    • Imagick::setImageGravity — Sets the image gravity
    • Imagick::setImageGreenPrimary — Sets the image chromaticity green primary point
    • Imagick::setImageIndex — Set the iterator position
    • Imagick::setImageInterlaceScheme — Sets the image compression
    • Imagick::setImageInterpolateMethod — Sets the image interpolate pixel method
    • Imagick::setImageIterations — Sets the image iterations
    • Imagick::setImageMatte — Sets the image matte channel
    • Imagick::setImageMatteColor — Sets the image matte color
    • Imagick::setImageOpacity — Sets the image opacity level
    • Imagick::setImageOrientation — Sets the image orientation
    • Imagick::setImagePage — Sets the page geometry of the image
    • Imagick::setImageProfile — Adds a named profile to the Imagick object
    • Imagick::setImageProperty — Sets an image property
    • Imagick::setImageRedPrimary — Sets the image chromaticity red primary point
    • Imagick::setImageRenderingIntent — Sets the image rendering intent
    • Imagick::setImageResolution — Sets the image resolution
    • Imagick::setImageScene — Sets the image scene
    • Imagick::setImageTicksPerSecond — Sets the image ticks-per-second
    • Imagick::setImageType — Sets the image type
    • Imagick::setImageUnits — Sets the image units of resolution
    • Imagick::setImageVirtualPixelMethod — Sets the image virtual pixel method
    • Imagick::setImageWhitePoint — Sets the image chromaticity white point
    • Imagick::setInterlaceScheme — Sets the image compression
    • Imagick::setIteratorIndex — Set the iterator position
    • Imagick::setLastIterator — Sets the Imagick iterator to the last image
    • Imagick::setOption — Set an option
    • Imagick::setPage — Sets the page geometry of the Imagick object
    • Imagick::setPointSize — Sets point size
    • Imagick::setProgressMonitor — Description
    • Imagick::setRegistry — Description
    • Imagick::setResolution — Sets the image resolution
    • Imagick::setResourceLimit — Sets the limit for a particular resource in megabytes
    • Imagick::setSamplingFactors — Sets the image sampling factors
    • Imagick::setSize — Sets the size of the Imagick object
    • Imagick::setSizeOffset — Sets the size and offset of the Imagick object
    • Imagick::setType — Sets the image type attribute
    • Imagick::shadeImage — Creates a 3D effect
    • Imagick::shadowImage — Simulates an image shadow
    • Imagick::sharpenImage — Sharpens an image
    • Imagick::shaveImage — Shaves pixels from the image edges
    • Imagick::shearImage — Creating a parallelogram
    • Imagick::sigmoidalContrastImage — Adjusts the contrast of an image
    • Imagick::sketchImage — Simulates a pencil sketch
    • Imagick::smushImages — Description
    • Imagick::solarizeImage — Applies a solarizing effect to the image
    • Imagick::sparseColorImage — Interpolates colors
    • Imagick::spliceImage — Splices a solid color into the image
    • Imagick::spreadImage — Randomly displaces each pixel in a block
    • Imagick::statisticImage — Description
    • Imagick::steganoImage — Hides a digital watermark within the image
    • Imagick::stereoImage — Composites two images
    • Imagick::stripImage — Strips an image of all profiles and comments
    • Imagick::subImageMatch — Description
    • Imagick::swirlImage — Swirls the pixels about the center of the image
    • Imagick::textureImage — Repeatedly tiles the texture image
    • Imagick::thresholdImage — Changes the value of individual pixels based on a threshold
    • Imagick::thumbnailImage — Changes the size of an image
    • Imagick::tintImage — Applies a color vector to each pixel in the image
    • Imagick::__toString — Returns the image as a string.
    • Imagick::transformImage — Convenience method for setting crop size and the image geometry
    • Imagick::transformImageColorspace — Transforms an image to a new colorspace.
    • Imagick::transparentPaintImage — Paints pixels transparent
    • Imagick::transposeImage — Creates a vertical mirror image
    • Imagick::transverseImage — Creates a horizontal mirror image
    • Imagick::trimImage — Remove edges from the image
    • Imagick::uniqueImageColors — Discards all but one of any pixel color
    • Imagick::unsharpMaskImage — Sharpens an image
    • Imagick::valid — Checks if the current item is valid
    • Imagick::vignetteImage — Adds vignette filter to the image
    • Imagick::waveImage — Applies wave filter to the image
    • Imagick::whiteThresholdImage — Force all pixels above the threshold into white
    • Imagick::writeImage — Writes an image to the specified filename
    • Imagick::writeImageFile — Writes an image to a filehandle
    • Imagick::writeImages — Writes an image or image sequence
    • Imagick::writeImagesFile — Writes frames to a filehandle
  • ImagickDraw — The ImagickDraw class
    • ImagickDraw::affine — Adjusts the current affine transformation matrix
    • ImagickDraw::annotation — Draws text on the image
    • ImagickDraw::arc — Draws an arc
    • ImagickDraw::bezier — Draws a bezier curve
    • ImagickDraw::circle — Draws a circle
    • ImagickDraw::clear — Clears the ImagickDraw
    • ImagickDraw::clone — Makes an exact copy of the specified ImagickDraw object
    • ImagickDraw::color — Draws color on image
    • ImagickDraw::comment — Adds a comment
    • ImagickDraw::composite — Composites an image onto the current image
    • ImagickDraw::__construct — The ImagickDraw constructor
    • ImagickDraw::destroy — Frees all associated resources
    • ImagickDraw::ellipse — Draws an ellipse on the image
    • ImagickDraw::getClipPath — Obtains the current clipping path ID
    • ImagickDraw::getClipRule — Returns the current polygon fill rule
    • ImagickDraw::getClipUnits — Returns the interpretation of clip path units
    • ImagickDraw::getFillColor — Returns the fill color
    • ImagickDraw::getFillOpacity — Returns the opacity used when drawing
    • ImagickDraw::getFillRule — Returns the fill rule
    • ImagickDraw::getFont — Returns the font
    • ImagickDraw::getFontFamily — Returns the font family
    • ImagickDraw::getFontSize — Returns the font pointsize
    • ImagickDraw::getFontStretch — Description
    • ImagickDraw::getFontStyle — Returns the font style
    • ImagickDraw::getFontWeight — Returns the font weight
    • ImagickDraw::getGravity — Returns the text placement gravity
    • ImagickDraw::getStrokeAntialias — Returns the current stroke antialias setting
    • ImagickDraw::getStrokeColor — Returns the color used for stroking object outlines
    • ImagickDraw::getStrokeDashArray — Returns an array representing the pattern of dashes and gaps used to stroke paths
    • ImagickDraw::getStrokeDashOffset — Returns the offset into the dash pattern to start the dash
    • ImagickDraw::getStrokeLineCap — Returns the shape to be used at the end of open subpaths when they are stroked
    • ImagickDraw::getStrokeLineJoin — Returns the shape to be used at the corners of paths when they are stroked
    • ImagickDraw::getStrokeMiterLimit — Returns the stroke miter limit
    • ImagickDraw::getStrokeOpacity — Returns the opacity of stroked object outlines
    • ImagickDraw::getStrokeWidth — Returns the width of the stroke used to draw object outlines
    • ImagickDraw::getTextAlignment — Returns the text alignment
    • ImagickDraw::getTextAntialias — Returns the current text antialias setting
    • ImagickDraw::getTextDecoration — Returns the text decoration
    • ImagickDraw::getTextEncoding — Returns the code set used for text annotations
    • ImagickDraw::getTextInterlineSpacing — Description
    • ImagickDraw::getTextInterwordSpacing — Description
    • ImagickDraw::getTextKerning — Description
    • ImagickDraw::getTextUnderColor — Returns the text under color
    • ImagickDraw::getVectorGraphics — Returns a string containing vector graphics
    • ImagickDraw::line — Draws a line
    • ImagickDraw::matte — Paints on the image's opacity channel
    • ImagickDraw::pathClose — Adds a path element to the current path
    • ImagickDraw::pathCurveToAbsolute — Draws a cubic Bezier curve
    • ImagickDraw::pathCurveToQuadraticBezierAbsolute — Draws a quadratic Bezier curve
    • ImagickDraw::pathCurveToQuadraticBezierRelative — Draws a quadratic Bezier curve
    • ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute — Draws a quadratic Bezier curve
    • ImagickDraw::pathCurveToQuadraticBezierSmoothRelative — Draws a quadratic Bezier curve
    • ImagickDraw::pathCurveToRelative — Draws a cubic Bezier curve
    • ImagickDraw::pathCurveToSmoothAbsolute — Draws a cubic Bezier curve
    • ImagickDraw::pathCurveToSmoothRelative — Draws a cubic Bezier curve
    • ImagickDraw::pathEllipticArcAbsolute — Draws an elliptical arc
    • ImagickDraw::pathEllipticArcRelative — Draws an elliptical arc
    • ImagickDraw::pathFinish — Terminates the current path
    • ImagickDraw::pathLineToAbsolute — Draws a line path
    • ImagickDraw::pathLineToHorizontalAbsolute — Draws a horizontal line path
    • ImagickDraw::pathLineToHorizontalRelative — Draws a horizontal line
    • ImagickDraw::pathLineToRelative — Draws a line path
    • ImagickDraw::pathLineToVerticalAbsolute — Draws a vertical line
    • ImagickDraw::pathLineToVerticalRelative — Draws a vertical line path
    • ImagickDraw::pathMoveToAbsolute — Starts a new sub-path
    • ImagickDraw::pathMoveToRelative — Starts a new sub-path
    • ImagickDraw::pathStart — Declares the start of a path drawing list
    • ImagickDraw::point — Draws a point
    • ImagickDraw::polygon — Draws a polygon
    • ImagickDraw::polyline — Draws a polyline
    • ImagickDraw::pop — Destroys the current ImagickDraw in the stack, and returns to the previously pushed ImagickDraw
    • ImagickDraw::popClipPath — Terminates a clip path definition
    • ImagickDraw::popDefs — Terminates a definition list
    • ImagickDraw::popPattern — Terminates a pattern definition
    • ImagickDraw::push — Clones the current ImagickDraw and pushes it to the stack
    • ImagickDraw::pushClipPath — Starts a clip path definition
    • ImagickDraw::pushDefs — Indicates that following commands create named elements for early processing
    • ImagickDraw::pushPattern — Indicates that subsequent commands up to a ImagickDraw::opPattern() command comprise the definition of a named pattern
    • ImagickDraw::rectangle — Draws a rectangle
    • ImagickDraw::render — Renders all preceding drawing commands onto the image
    • ImagickDraw::resetVectorGraphics — Description
    • ImagickDraw::rotate — Applies the specified rotation to the current coordinate space
    • ImagickDraw::roundRectangle — Draws a rounded rectangle
    • ImagickDraw::scale — Adjusts the scaling factor
    • ImagickDraw::setClipPath — Associates a named clipping path with the image
    • ImagickDraw::setClipRule — Set the polygon fill rule to be used by the clipping path
    • ImagickDraw::setClipUnits — Sets the interpretation of clip path units
    • ImagickDraw::setFillAlpha — Sets the opacity to use when drawing using the fill color or fill texture
    • ImagickDraw::setFillColor — Sets the fill color to be used for drawing filled objects
    • ImagickDraw::setFillOpacity — Sets the opacity to use when drawing using the fill color or fill texture
    • ImagickDraw::setFillPatternURL — Sets the URL to use as a fill pattern for filling objects
    • ImagickDraw::setFillRule — Sets the fill rule to use while drawing polygons
    • ImagickDraw::setFont — Sets the fully-specified font to use when annotating with text
    • ImagickDraw::setFontFamily — Sets the font family to use when annotating with text
    • ImagickDraw::setFontSize — Sets the font pointsize to use when annotating with text
    • ImagickDraw::setFontStretch — Sets the font stretch to use when annotating with text
    • ImagickDraw::setFontStyle — Sets the font style to use when annotating with text
    • ImagickDraw::setFontWeight — Sets the font weight
    • ImagickDraw::setGravity — Sets the text placement gravity
    • ImagickDraw::setResolution — Description
    • ImagickDraw::setStrokeAlpha — Specifies the opacity of stroked object outlines
    • ImagickDraw::setStrokeAntialias — Controls whether stroked outlines are antialiased
    • ImagickDraw::setStrokeColor — Sets the color used for stroking object outlines
    • ImagickDraw::setStrokeDashArray — Specifies the pattern of dashes and gaps used to stroke paths
    • ImagickDraw::setStrokeDashOffset — Specifies the offset into the dash pattern to start the dash
    • ImagickDraw::setStrokeLineCap — Specifies the shape to be used at the end of open subpaths when they are stroked
    • ImagickDraw::setStrokeLineJoin — Specifies the shape to be used at the corners of paths when they are stroked
    • ImagickDraw::setStrokeMiterLimit — Specifies the miter limit
    • ImagickDraw::setStrokeOpacity — Specifies the opacity of stroked object outlines
    • ImagickDraw::setStrokePatternURL — Sets the pattern used for stroking object outlines
    • ImagickDraw::setStrokeWidth — Sets the width of the stroke used to draw object outlines
    • ImagickDraw::setTextAlignment — Specifies a text alignment
    • ImagickDraw::setTextAntialias — Controls whether text is antialiased
    • ImagickDraw::setTextDecoration — Specifies a decoration
    • ImagickDraw::setTextEncoding — Specifies the text code set
    • ImagickDraw::setTextInterlineSpacing — Description
    • ImagickDraw::setTextInterwordSpacing — Description
    • ImagickDraw::setTextKerning — Description
    • ImagickDraw::setTextUnderColor — Specifies the color of a background rectangle
    • ImagickDraw::setVectorGraphics — Sets the vector graphics
    • ImagickDraw::setViewbox — Sets the overall canvas size
    • ImagickDraw::skewX — Skews the current coordinate system in the horizontal direction
    • ImagickDraw::skewY — Skews the current coordinate system in the vertical direction
    • ImagickDraw::translate — Applies a translation to the current coordinate system
  • ImagickPixel — The ImagickPixel class
    • ImagickPixel::clear — Clears resources associated with this object
    • ImagickPixel::__construct — The ImagickPixel constructor
    • ImagickPixel::destroy — Deallocates resources associated with this object
    • ImagickPixel::getColor — Returns the color
    • ImagickPixel::getColorAsString — Returns the color as a string
    • ImagickPixel::getColorCount — Returns the color count associated with this color
    • ImagickPixel::getColorQuantum — Description
    • ImagickPixel::getColorValue — Gets the normalized value of the provided color channel
    • ImagickPixel::getColorValueQuantum — Description
    • ImagickPixel::getHSL — Returns the normalized HSL color of the ImagickPixel object
    • ImagickPixel::getIndex — Description
    • ImagickPixel::isPixelSimilar — Check the distance between this color and another
    • ImagickPixel::isPixelSimilarQuantum — Description
    • ImagickPixel::isSimilar — Check the distance between this color and another
    • ImagickPixel::setColor — Sets the color
    • ImagickPixel::setColorCount — Description
    • ImagickPixel::setColorValue — Sets the normalized value of one of the channels
    • ImagickPixel::setColorValueQuantum — Description
    • ImagickPixel::setHSL — Sets the normalized HSL color
    • ImagickPixel::setIndex — Description
  • ImagickPixelIterator — The ImagickPixelIterator class
    • ImagickPixelIterator::clear — Clear resources associated with a PixelIterator
    • ImagickPixelIterator::__construct — The ImagickPixelIterator constructor
    • ImagickPixelIterator::destroy — Deallocates resources associated with a PixelIterator
    • ImagickPixelIterator::getCurrentIteratorRow — Returns the current row of ImagickPixel objects
    • ImagickPixelIterator::getIteratorRow — Returns the current pixel iterator row
    • ImagickPixelIterator::getNextIteratorRow — Returns the next row of the pixel iterator
    • ImagickPixelIterator::getPreviousIteratorRow — Returns the previous row
    • ImagickPixelIterator::newPixelIterator — Returns a new pixel iterator
    • ImagickPixelIterator::newPixelRegionIterator — Returns a new pixel iterator
    • ImagickPixelIterator::resetIterator — Resets the pixel iterator
    • ImagickPixelIterator::setIteratorFirstRow — Sets the pixel iterator to the first pixel row
    • ImagickPixelIterator::setIteratorLastRow — Sets the pixel iterator to the last pixel row
    • ImagickPixelIterator::setIteratorRow — Set the pixel iterator row
    • ImagickPixelIterator::syncIterator — Syncs the pixel iterator
  • ImagickKernel — The ImagickKernel class
    • ImagickKernel::addKernel — Description
    • ImagickKernel::addUnityKernel — Description
    • ImagickKernel::fromBuiltIn — Description
    • ImagickKernel::fromMatrix — Description
    • ImagickKernel::getMatrix — Description
    • ImagickKernel::scale — Description
    • ImagickKernel::separate — Description
GmagickPixel::setcolorvalue
Einführung
Bildverarbeitung und -generierung


Einführung

Imagick is a native php extension to create and modify images using the ImageMagick API.

ImageMagick is a software suite to create, edit, and compose bitmap images.. It can read, convert and write images in a variety of formats (over 100) including DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG, and TIFF.

ImageMagick Studio LLC is a non-profit organization dedicated to making software imaging solutions freely available.

ImageMagick
Installation/Konfiguration
ImageMagick


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
ImageMagick


Anforderungen

Installation requirements on Windows

Version information does not differ from that above. There are binaries available from http://www.imagemagick.org/ so that you can load this extension on Windows without need for a compiler.

Installation requirements on other platforms

PHP >= 5.1.3 and ImageMagick >= 6.2.4 is required. The amount of formats supported is by Imagick is entirely dependent upon the amount of formats supported by your ImageMagick installation. For example, Imagemagick requires ghostscript to conduct PDF operations.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/imagick.

Hinweis: The official name of this extension is imagick.

Windows users can download prebuilt DLL from the » PECL website.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Imagick configuration options
Name | Standard | Veränderbar | Changelog
imagick.locale_fix | FALSE | PHP_INI_ALL | Available since Imagick 2.1.0
imagick.progress_monitor | FALSE | PHP_INI_SYSTEM | Available since Imagick 2.2.2
imagick.skip_version_check | FALSE | PHP_INI_SYSTEM | Available since Imagick 3.3.0
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

imagick.locale_fix boolean

Fixes a drawing bug with locales that use ',' as float separators.

imagick.progress_monitor boolean

Used to enable the image progress monitor.

imagick.skip_version_check boolean

When Imagick is loaded, it checks the version number of ImageMagick that it was compiled against, with the version number that is currently being used and will give a warning if they don't match. This warning can be suppressed by enabling this ini setting.

Using a version of Imagick that was compiled against a different version of ImageMagick than the one being used is not recommended. Although it may appear to work, it can lead to random crashes or other undefined behaviour.

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

COLOR_* constants

Colortype constants. These constants are mainly used with ImagickPixel.

imagick::COLOR_BLACK (integer)
Black color
imagick::COLOR_BLUE (integer)
Blue color
imagick::COLOR_CYAN (integer)
Cyan color
imagick::COLOR_GREEN (integer)
Green color
imagick::COLOR_RED (integer)
Red color
imagick::COLOR_YELLOW (integer)
Yellow color
imagick::COLOR_MAGENTA (integer)
Magenta color
imagick::COLOR_OPACITY (integer)
Color's opacity
imagick::COLOR_ALPHA (integer)
Color's alpha
imagick::COLOR_FUZZ (integer)
Color's fuzz
DISPOSE constants

Dispose type constants

imagick::DISPOSE_UNRECOGNIZED (integer)
Unrecognized dispose type
imagick::DISPOSE_UNDEFINED (integer)
Undefined dispose type
imagick::DISPOSE_NONE (integer)
No dispose type defined
imagick::DISPOSE_BACKGROUND (integer)
Dispose background
imagick::DISPOSE_PREVIOUS (integer)
Dispose previous
Composite Operator Constants
imagick::COMPOSITE_DEFAULT (integer)
The default composite operator
imagick::COMPOSITE_UNDEFINED (integer)
Undefined composite operator
imagick::COMPOSITE_NO (integer)
No composite operator defined
imagick::COMPOSITE_ADD (integer)
The result of image + image
imagick::COMPOSITE_ATOP (integer)
The result is the same shape as image, with composite image obscuring image where the image shapes overlap
imagick::COMPOSITE_BLEND (integer)
Blends the image
imagick::COMPOSITE_BUMPMAP (integer)
The same as COMPOSITE_MULTIPLY, except the source is converted to grayscale first.
imagick::COMPOSITE_CLEAR (integer)
Makes the target image transparent
imagick::COMPOSITE_COLORBURN (integer)
Darkens the destination image to reflect the source image
imagick::COMPOSITE_COLORDODGE (integer)
Brightens the destination image to reflect the source image
imagick::COMPOSITE_COLORIZE (integer)
Colorizes the target image using the composite image
imagick::COMPOSITE_COPYBLACK (integer)
Copies black from the source to target
imagick::COMPOSITE_COPYBLUE (integer)
Copies blue from the source to target
imagick::COMPOSITE_COPY (integer)
Copies the source image on the target image
imagick::COMPOSITE_COPYCYAN (integer)
Copies cyan from the source to target
imagick::COMPOSITE_COPYGREEN (integer)
Copies green from the source to target
imagick::COMPOSITE_COPYMAGENTA (integer)
Copies magenta from the source to target
imagick::COMPOSITE_COPYOPACITY (integer)
Copies opacity from the source to target
imagick::COMPOSITE_COPYRED (integer)
Copies red from the source to target
imagick::COMPOSITE_COPYYELLOW (integer)
Copies yellow from the source to target
imagick::COMPOSITE_DARKEN (integer)
Darkens the target image
imagick::COMPOSITE_DSTATOP (integer)
The part of the destination lying inside of the source is composited over the source and replaces the destination
imagick::COMPOSITE_DST (integer)
The target is left untouched
imagick::COMPOSITE_DSTIN (integer)
The parts inside the source replace the target
imagick::COMPOSITE_DSTOUT (integer)
The parts outside the source replace the target
imagick::COMPOSITE_DSTOVER (integer)
Target replaces the source
imagick::COMPOSITE_DIFFERENCE (integer)
Subtracts the darker of the two constituent colors from the lighter
imagick::COMPOSITE_DISPLACE (integer)
Shifts target image pixels as defined by the source
imagick::COMPOSITE_DISSOLVE (integer)
Dissolves the source in to the target
imagick::COMPOSITE_EXCLUSION (integer)
Produces an effect similar to that of imagick::COMPOSITE_DIFFERENCE, but appears as lower contrast
imagick::COMPOSITE_HARDLIGHT (integer)
Multiplies or screens the colors, dependent on the source color value
imagick::COMPOSITE_HUE (integer)
Modifies the hue of the target as defined by source
imagick::COMPOSITE_IN (integer)
Composites source into the target
imagick::COMPOSITE_LIGHTEN (integer)
Lightens the target as defined by source
imagick::COMPOSITE_LUMINIZE (integer)
Luminizes the target as defined by source
imagick::COMPOSITE_MINUS (integer)
Subtracts the source from the target
imagick::COMPOSITE_MODULATE (integer)
Modulates the target brightness, saturation and hue as defined by source
imagick::COMPOSITE_MULTIPLY (integer)
Multiplies the target to the source
imagick::COMPOSITE_OUT (integer)
Composites outer parts of the source on the target
imagick::COMPOSITE_OVER (integer)
Composites source over the target
imagick::COMPOSITE_OVERLAY (integer)
Overlays the source on the target
imagick::COMPOSITE_PLUS (integer)
Adds the source to the target
imagick::COMPOSITE_REPLACE (integer)
Replaces the target with the source
imagick::COMPOSITE_SATURATE (integer)
Saturates the target as defined by the source
imagick::COMPOSITE_SCREEN (integer)
The source and destination are complemented and then multiplied and then replace the destination
imagick::COMPOSITE_SOFTLIGHT (integer)
Darkens or lightens the colors, dependent on the source
imagick::COMPOSITE_SRCATOP (integer)
The part of the source lying inside of the destination is composited onto the destination
imagick::COMPOSITE_SRC (integer)
The source is copied to the destination
imagick::COMPOSITE_SRCIN (integer)
The part of the source lying inside of the destination replaces the destination
imagick::COMPOSITE_SRCOUT (integer)
The part of the source lying outside of the destination replaces the destination
imagick::COMPOSITE_SRCOVER (integer)
The source replaces the destination
imagick::COMPOSITE_SUBTRACT (integer)
Subtract the colors in the source image from the destination image
imagick::COMPOSITE_THRESHOLD (integer)
The source is composited on the target as defined by source threshold
imagick::COMPOSITE_XOR (integer)
The part of the source that lies outside of the destination is combined with the part of the destination that lies outside of the source
MONTAGEMODE constants

imagick::MONTAGEMODE_FRAME (integer)
imagick::MONTAGEMODE_UNFRAME (integer)
imagick::MONTAGEMODE_CONCATENATE (integer)
STYLE constants

imagick::STYLE_NORMAL (integer)
imagick::STYLE_ITALIC (integer)
imagick::STYLE_OBLIQUE (integer)
imagick::STYLE_ANY (integer)
FILTER constants

imagick::FILTER_UNDEFINED (integer)
imagick::FILTER_POINT (integer)
imagick::FILTER_BOX (integer)
imagick::FILTER_TRIANGLE (integer)
imagick::FILTER_HERMITE (integer)
imagick::FILTER_HANNING (integer)
imagick::FILTER_HAMMING (integer)
imagick::FILTER_BLACKMAN (integer)
imagick::FILTER_GAUSSIAN (integer)
imagick::FILTER_QUADRATIC (integer)
imagick::FILTER_CUBIC (integer)
imagick::FILTER_CATROM (integer)
imagick::FILTER_MITCHELL (integer)
imagick::FILTER_LANCZOS (integer)
imagick::FILTER_BESSEL (integer)
imagick::FILTER_SINC (integer)
IMGTYPE constants

imagick::IMGTYPE_UNDEFINED (integer)
imagick::IMGTYPE_BILEVEL (integer)
imagick::IMGTYPE_GRAYSCALE (integer)
imagick::IMGTYPE_GRAYSCALEMATTE (integer)
imagick::IMGTYPE_PALETTE (integer)
imagick::IMGTYPE_PALETTEMATTE (integer)
imagick::IMGTYPE_TRUECOLOR (integer)
imagick::IMGTYPE_TRUECOLORMATTE (integer)
imagick::IMGTYPE_COLORSEPARATION (integer)
imagick::IMGTYPE_COLORSEPARATIONMATTE (integer)
imagick::IMGTYPE_OPTIMIZE (integer)
RESOLUTION constants

imagick::RESOLUTION_UNDEFINED (integer)
imagick::RESOLUTION_PIXELSPERINCH (integer)
imagick::RESOLUTION_PIXELSPERCENTIMETER (integer)
COMPRESSION constants

imagick::COMPRESSION_UNDEFINED (integer)
imagick::COMPRESSION_NO (integer)
imagick::COMPRESSION_BZIP (integer)
imagick::COMPRESSION_FAX (integer)
imagick::COMPRESSION_GROUP4 (integer)
imagick::COMPRESSION_JPEG (integer)
imagick::COMPRESSION_JPEG2000 (integer)
imagick::COMPRESSION_LOSSLESSJPEG (integer)
imagick::COMPRESSION_LZW (integer)
imagick::COMPRESSION_RLE (integer)
imagick::COMPRESSION_ZIP (integer)
imagick::COMPRESSION_DXT1 (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.0 or higher.
imagick::COMPRESSION_DXT3 (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.0 or higher.
imagick::COMPRESSION_DXT5 (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.0 or higher.
PAINT constants

imagick::PAINT_POINT (integer)
imagick::PAINT_REPLACE (integer)
imagick::PAINT_FLOODFILL (integer)
imagick::PAINT_FILLTOBORDER (integer)
imagick::PAINT_RESET (integer)
GRAVITY constants

imagick::GRAVITY_NORTHWEST (integer)
imagick::GRAVITY_NORTH (integer)
imagick::GRAVITY_NORTHEAST (integer)
imagick::GRAVITY_WEST (integer)
imagick::GRAVITY_CENTER (integer)
imagick::GRAVITY_EAST (integer)
imagick::GRAVITY_SOUTHWEST (integer)
imagick::GRAVITY_SOUTH (integer)
imagick::GRAVITY_SOUTHEAST (integer)
STRETCH constants

imagick::STRETCH_NORMAL (integer)
imagick::STRETCH_ULTRACONDENSED (integer)
imagick::STRETCH_CONDENSED (integer)
imagick::STRETCH_SEMICONDENSED (integer)
imagick::STRETCH_SEMIEXPANDED (integer)
imagick::STRETCH_EXPANDED (integer)
imagick::STRETCH_EXTRAEXPANDED (integer)
imagick::STRETCH_ULTRAEXPANDED (integer)
imagick::STRETCH_ANY (integer)
ALIGN constants

imagick::ALIGN_UNDEFINED (integer)
imagick::ALIGN_LEFT (integer)
imagick::ALIGN_CENTER (integer)
imagick::ALIGN_RIGHT (integer)
DECORATION constants

imagick::DECORATION_NO (integer)
imagick::DECORATION_UNDERLINE (integer)
imagick::DECORATION_OVERLINE (integer)
imagick::DECORATION_LINETROUGH (integer)
NOISE constants

imagick::NOISE_UNIFORM (integer)
imagick::NOISE_GAUSSIAN (integer)
imagick::NOISE_MULTIPLICATIVEGAUSSIAN (integer)
imagick::NOISE_IMPULSE (integer)
imagick::NOISE_LAPLACIAN (integer)
imagick::NOISE_POISSON (integer)
imagick::NOISE_RANDOM (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.6 or higher.
CHANNEL constants

imagick::CHANNEL_UNDEFINED (integer)
imagick::CHANNEL_RED (integer)
imagick::CHANNEL_GRAY (integer)
imagick::CHANNEL_CYAN (integer)
imagick::CHANNEL_GREEN (integer)
imagick::CHANNEL_MAGENTA (integer)
imagick::CHANNEL_BLUE (integer)
imagick::CHANNEL_YELLOW (integer)
imagick::CHANNEL_ALPHA (integer)
imagick::CHANNEL_OPACITY (integer)
imagick::CHANNEL_MATTE (integer)
imagick::CHANNEL_BLACK (integer)
imagick::CHANNEL_INDEX (integer)
imagick::CHANNEL_ALL (integer)
imagick::CHANNEL_DEFAULT (integer)
METRIC constants

imagick::METRIC_UNDEFINED (integer)
imagick::METRIC_MEANABSOLUTEERROR (integer)
imagick::METRIC_MEANSQUAREERROR (integer)
imagick::METRIC_PEAKABSOLUTEERROR (integer)
imagick::METRIC_PEAKSIGNALTONOISERATIO (integer)
imagick::METRIC_ROOTMEANSQUAREDERROR (integer)
PIXEL constants

imagick::PIXEL_CHAR (integer)
imagick::PIXEL_DOUBLE (integer)
imagick::PIXEL_FLOAT (integer)
imagick::PIXEL_INTEGER (integer)
imagick::PIXEL_LONG (integer)
imagick::PIXEL_QUANTUM (integer)
imagick::PIXEL_SHORT (integer)
EVALUATE constants

imagick::EVALUATE_UNDEFINED (integer)
imagick::EVALUATE_ADD (integer)
imagick::EVALUATE_AND (integer)
imagick::EVALUATE_DIVIDE (integer)
imagick::EVALUATE_LEFTSHIFT (integer)
imagick::EVALUATE_MAX (integer)
imagick::EVALUATE_MIN (integer)
imagick::EVALUATE_MULTIPLY (integer)
imagick::EVALUATE_OR (integer)
imagick::EVALUATE_RIGHTSHIFT (integer)
imagick::EVALUATE_SET (integer)
imagick::EVALUATE_SUBTRACT (integer)
imagick::EVALUATE_XOR (integer)
imagick::EVALUATE_POW (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.4 or higher.
imagick::EVALUATE_LOG (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.4 or higher.
imagick::EVALUATE_THRESHOLD (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.4 or higher.
imagick::EVALUATE_THRESHOLDBLACK (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.4 or higher.
imagick::EVALUATE_THRESHOLDWHITE (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.4 or higher.
imagick::EVALUATE_GAUSSIANNOISE (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.4 or higher.
imagick::EVALUATE_IMPULSENOISE (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.4 or higher.
imagick::EVALUATE_LAPLACIANNOISE (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.4 or higher.
imagick::EVALUATE_MULTIPLICATIVENOISE (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.4 or higher.
imagick::EVALUATE_POISSONNOISE (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.4 or higher.
imagick::EVALUATE_UNIFORMNOISE (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.4 or higher.
imagick::EVALUATE_COSINE (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.4 or higher.
imagick::EVALUATE_SINE (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.4 or higher.
imagick::EVALUATE_ADDMODULUS (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.4 or higher.
COLORSPACE constants

imagick::COLORSPACE_UNDEFINED (integer)
imagick::COLORSPACE_RGB (integer)
imagick::COLORSPACE_GRAY (integer)
imagick::COLORSPACE_TRANSPARENT (integer)
imagick::COLORSPACE_OHTA (integer)
imagick::COLORSPACE_LAB (integer)
imagick::COLORSPACE_XYZ (integer)
imagick::COLORSPACE_YCBCR (integer)
imagick::COLORSPACE_YCC (integer)
imagick::COLORSPACE_YIQ (integer)
imagick::COLORSPACE_YPBPR (integer)
imagick::COLORSPACE_YUV (integer)
imagick::COLORSPACE_CMYK (integer)
imagick::COLORSPACE_SRGB (integer)
imagick::COLORSPACE_HSB (integer)
imagick::COLORSPACE_HSL (integer)
imagick::COLORSPACE_HWB (integer)
imagick::COLORSPACE_REC601LUMA (integer)
imagick::COLORSPACE_REC709LUMA (integer)
imagick::COLORSPACE_LOG (integer)
imagick::COLORSPACE_CMY (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.2 or higher.
VIRTUALPIXELMETHOD constants

imagick::VIRTUALPIXELMETHOD_UNDEFINED (integer)
imagick::VIRTUALPIXELMETHOD_BACKGROUND (integer)
imagick::VIRTUALPIXELMETHOD_CONSTANT (integer)
imagick::VIRTUALPIXELMETHOD_EDGE (integer)
imagick::VIRTUALPIXELMETHOD_MIRROR (integer)
imagick::VIRTUALPIXELMETHOD_TILE (integer)
imagick::VIRTUALPIXELMETHOD_TRANSPARENT (integer)
imagick::VIRTUALPIXELMETHOD_MASK (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.2 or higher.
imagick::VIRTUALPIXELMETHOD_BLACK (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.2 or higher.
imagick::VIRTUALPIXELMETHOD_GRAY (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.2 or higher.
imagick::VIRTUALPIXELMETHOD_WHITE (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.2 or higher.
imagick::VIRTUALPIXELMETHOD_HORIZONTALTILE (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.3 or higher.
imagick::VIRTUALPIXELMETHOD_VERTICALTILE (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.3 or higher.
PREVIEW constants

imagick::PREVIEW_UNDEFINED (integer)
imagick::PREVIEW_ROTATE (integer)
imagick::PREVIEW_SHEAR (integer)
imagick::PREVIEW_ROLL (integer)
imagick::PREVIEW_HUE (integer)
imagick::PREVIEW_SATURATION (integer)
imagick::PREVIEW_BRIGHTNESS (integer)
imagick::PREVIEW_GAMMA (integer)
imagick::PREVIEW_SPIFF (integer)
imagick::PREVIEW_DULL (integer)
imagick::PREVIEW_GRAYSCALE (integer)
imagick::PREVIEW_QUANTIZE (integer)
imagick::PREVIEW_DESPECKLE (integer)
imagick::PREVIEW_REDUCENOISE (integer)
imagick::PREVIEW_ADDNOISE (integer)
imagick::PREVIEW_SHARPEN (integer)
imagick::PREVIEW_BLUR (integer)
imagick::PREVIEW_THRESHOLD (integer)
imagick::PREVIEW_EDGEDETECT (integer)
imagick::PREVIEW_SPREAD (integer)
imagick::PREVIEW_SOLARIZE (integer)
imagick::PREVIEW_SHADE (integer)
imagick::PREVIEW_RAISE (integer)
imagick::PREVIEW_SEGMENT (integer)
imagick::PREVIEW_SWIRL (integer)
imagick::PREVIEW_IMPLODE (integer)
imagick::PREVIEW_WAVE (integer)
imagick::PREVIEW_OILPAINT (integer)
imagick::PREVIEW_CHARCOALDRAWING (integer)
imagick::PREVIEW_JPEG (integer)
RENDERINGINTENT constants

imagick::RENDERINGINTENT_UNDEFINED (integer)
imagick::RENDERINGINTENT_SATURATION (integer)
imagick::RENDERINGINTENT_PERCEPTUAL (integer)
imagick::RENDERINGINTENT_ABSOLUTE (integer)
imagick::RENDERINGINTENT_RELATIVE (integer)
INTERLACE constants

imagick::INTERLACE_UNDEFINED (integer)
imagick::INTERLACE_NO (integer)
imagick::INTERLACE_LINE (integer)
imagick::INTERLACE_PLANE (integer)
imagick::INTERLACE_PARTITION (integer)
imagick::INTERLACE_GIF (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.4 or higher.
imagick::INTERLACE_JPEG (integer)
imagick::INTERLACE_PNG (integer)
FILLRULE constants

imagick::FILLRULE_UNDEFINED (integer)
imagick::FILLRULE_EVENODD (integer)
imagick::FILLRULE_NONZERO (integer)
PATHUNITS constants

imagick::PATHUNITS_UNDEFINED (integer)
imagick::PATHUNITS_USERSPACE (integer)
imagick::PATHUNITS_USERSPACEONUSE (integer)
imagick::PATHUNITS_OBJECTBOUNDINGBOX (integer)
LINECAP constants

imagick::LINECAP_UNDEFINED (integer)
imagick::LINECAP_BUTT (integer)
imagick::LINECAP_ROUND (integer)
imagick::LINECAP_SQUARE (integer)
LINEJOIN constants

imagick::LINEJOIN_UNDEFINED (integer)
imagick::LINEJOIN_MITER (integer)
imagick::LINEJOIN_ROUND (integer)
imagick::LINEJOIN_BEVEL (integer)
RESOURCETYPE constants

imagick::RESOURCETYPE_UNDEFINED (integer)
imagick::RESOURCETYPE_AREA (integer)
Set the maximum width * height of an image that can reside in the pixel cache memory.
imagick::RESOURCETYPE_DISK (integer)
Set maximum amount of disk space in bytes permitted for use by the pixel cache.
imagick::RESOURCETYPE_FILE (integer)
Set maximum number of open pixel cache files.
imagick::RESOURCETYPE_MAP (integer)
Set maximum amount of memory map in bytes to allocate for the pixel cache.
imagick::RESOURCETYPE_MEMORY (integer)
Set maximum amount of memory in bytes to allocate for the pixel cache from the heap.
imagick::RESOURCETYPE_THREAD (integer)
Set maximum parallel threads. Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.7.8 or higher.
LAYERMETHOD constants

imagick::LAYERMETHOD_UNDEFINED (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.2.9 or higher.
imagick::LAYERMETHOD_COALESCE (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.2.9 or higher.
imagick::LAYERMETHOD_COMPAREANY (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.2.9 or higher.
imagick::LAYERMETHOD_COMPARECLEAR (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.2.9 or higher.
imagick::LAYERMETHOD_COMPAREOVERLAY (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.2.9 or higher.
imagick::LAYERMETHOD_DISPOSE (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.2.9 or higher.
imagick::LAYERMETHOD_OPTIMIZE (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.2.9 or higher.
imagick::LAYERMETHOD_OPTIMIZEPLUS (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.2.9 or higher.
imagick::LAYERMETHOD_OPTIMIZEIMAGE (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.0 or higher.
imagick::LAYERMETHOD_OPTIMIZETRANS (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.0 or higher.
imagick::LAYERMETHOD_REMOVEDUPS (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.0 or higher.
imagick::LAYERMETHOD_REMOVEZERO (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.0 or higher.
imagick::LAYERMETHOD_COMPOSITE (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.0 or higher.
imagick::LAYERMETHOD_MERGE (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.7 or higher.
imagick::LAYERMETHOD_FLATTEN (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.7 or higher.
imagick::LAYERMETHOD_MOSAIC (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.7 or higher.
ORIENTATION constants

imagick::ORIENTATION_UNDEFINED (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.0 or higher.
imagick::ORIENTATION_TOPLEFT (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.0 or higher.
imagick::ORIENTATION_TOPRIGHT (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.0 or higher.
imagick::ORIENTATION_BOTTOMRIGHT (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.0 or higher.
imagick::ORIENTATION_BOTTOMLEFT (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.0 or higher.
imagick::ORIENTATION_LEFTTOP (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.0 or higher.
imagick::ORIENTATION_RIGHTTOP (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.0 or higher.
imagick::ORIENTATION_RIGHTBOTTOM (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.0 or higher.
imagick::ORIENTATION_LEFTBOTTOM (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.0 or higher.
DISTORTION constants

imagick::DISTORTION_UNDEFINED (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.6 or higher.
imagick::DISTORTION_AFFINE (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.6 or higher.
imagick::DISTORTION_AFFINEPROJECTION (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.6 or higher.
imagick::DISTORTION_ARC (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.6 or higher.
imagick::DISTORTION_BILINEAR (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.6 or higher.
imagick::DISTORTION_PERSPECTIVE (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.6 or higher.
imagick::DISTORTION_PERSPECTIVEPROJECTION (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.6 or higher.
imagick::DISTORTION_SCALEROTATETRANSLATE (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.6 or higher.
imagick::DISTORTION_POLYNOMIAL (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.6 or higher.
imagick::DISTORTION_POLAR (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.6 or higher.
imagick::DISTORTION_DEPOLAR (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.6 or higher.
imagick::DISTORTION_BARREL (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.6 or higher.
imagick::DISTORTION_BARRELINVERSE (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.6 or higher.
imagick::DISTORTION_SHEPARDS (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.6 or higher.
imagick::DISTORTION_SENTINEL (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.6 or higher.
ALPHACHANNEL constants

imagick::ALPHACHANNEL_ACTIVATE (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.8 or higher.
imagick::ALPHACHANNEL_DEACTIVATE (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.8 or higher.
imagick::ALPHACHANNEL_RESET (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.8 or higher.
imagick::ALPHACHANNEL_SET (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.8 or higher.
imagick::ALPHACHANNEL_UNDEFINED (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.6 or higher.
imagick::ALPHACHANNEL_COPY (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.6 or higher.
imagick::ALPHACHANNEL_EXTRACT (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.6 or higher.
imagick::ALPHACHANNEL_OPAQUE (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.6 or higher.
imagick::ALPHACHANNEL_SHAPE (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.6 or higher.
imagick::ALPHACHANNEL_TRANSPARENT (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.6 or higher.
SPARSECOLORMETHOD constants

imagick::SPARSECOLORMETHOD_UNDEFINED (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.6 or higher.
imagick::SPARSECOLORMETHOD_BARYCENTRIC (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.6 or higher.
imagick::SPARSECOLORMETHOD_BILINEAR (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.6 or higher.
imagick::SPARSECOLORMETHOD_POLYNOMIAL (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.6 or higher.
imagick::SPARSECOLORMETHOD_SPEPARDS (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.6 or higher.
imagick::SPARSECOLORMETHOD_VORONOI (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.6 or higher.
FUNCTION constants

imagick::FUNCTION_UNDEFINED (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.9 or higher.
imagick::FUNCTION_POLYNOMIAL (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.9 or higher.
imagick::FUNCTION_SINUSOID (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.9 or higher.
INTERPOLATE constants

imagick::INTERPOLATE_UNDEFINED (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.2 or higher.
imagick::INTERPOLATE_AVERAGE (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.2 or higher.
imagick::INTERPOLATE_BICUBIC (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.2 or higher.
imagick::INTERPOLATE_BILINEAR (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.2 or higher.
imagick::INTERPOLATE_FILTER (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.2 or higher.
imagick::INTERPOLATE_INTEGER (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.2 or higher.
imagick::INTERPOLATE_MESH (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.2 or higher.
imagick::INTERPOLATE_NEARESTNEIGHBOR (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.2 or higher.
imagick::INTERPOLATE_SPLINE (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.3.4 or higher.
DITHERMETHOD constants

imagick::DITHERMETHOD_UNDEFINED (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.6 or higher.
imagick::DITHERMETHOD_NO (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.6 or higher.
imagick::DITHERMETHOD_RIEMERSMA (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.6 or higher.
imagick::DITHERMETHOD_FLOYDSTEINBERG (integer)
Diese Konstante ist verfügbar, wenn Imagick kompiliert wurde gegen die ImageMagick-Version 6.4.6 or higher.
Ressource-Typen
Beispiele
ImageMagick


Beispiele

Inhaltsverzeichnis

  • Basic usage
Vordefinierte Konstanten
Basic usage
ImageMagick


Basic usage

Imagick makes image manipulation in PHP extremely easy through an OO interface. Here is a quick example on how to make a thumbnail:

Beispiel #1 Creating a thumbnail in Imagick

<?php

header('Content-type: image/jpeg');

$image = new Imagick('image.jpg');

// If 0 is provided as a width or height parameter,
// aspect ratio is maintained
$image->thumbnailImage(100, 0);

echo $image;

?>

Using SPL and other OO features supported in Imagick, it can be simple to resize all files in a directory (useful for batch resizing large digital camera images to be web viewable). Here we use resize, as we might want to retain certain meta-data:

Beispiel #2 Make a thumbnail of all JPG files in a directory

<?php

$images = new Imagick(glob('images/*.JPG'));

foreach($images as $image) {

    // Providing 0 forces thumbnailImage to maintain aspect ratio
    $image->thumbnailImage(1024,0);

}

$images->writeImages();

?>

This is an example of creating a reflection of an image. The reflection is created by flipping the image and overlaying a gradient on it. Then both, the original image and the reflection is overlayed on a canvas.

Beispiel #3 Creating a reflection of an image

<?php
/* Read the image */
$im = new Imagick("test.png");

/* Thumbnail the image */
$im->thumbnailImage(200, null);

/* Create a border for the image */
$im->borderImage(new ImagickPixel("white"), 5, 5);

/* Clone the image and flip it */
$reflection = $im->clone();
$reflection->flipImage();

/* Create gradient. It will be overlayed on the reflection */
$gradient = new Imagick();

/* Gradient needs to be large enough for the image and the borders */
$gradient->newPseudoImage($reflection->getImageWidth() + 10, $reflection->getImageHeight() + 10, "gradient:transparent-black");

/* Composite the gradient on the reflection */
$reflection->compositeImage($gradient, imagick::COMPOSITE_OVER, 0, 0);

/* Add some opacity. Requires ImageMagick 6.2.9 or later */
$reflection->setImageOpacity( 0.3 );

/* Create an empty canvas */
$canvas = new Imagick();

/* Canvas needs to be large enough to hold the both images */
$width = $im->getImageWidth() + 40;
$height = ($im->getImageHeight() * 2) + 30;
$canvas->newImage($width, $height, new ImagickPixel("black"));
$canvas->setImageFormat("png");

/* Composite the original image and the reflection on the canvas */
$canvas->compositeImage($im, imagick::COMPOSITE_OVER, 20, 10);
$canvas->compositeImage($reflection, imagick::COMPOSITE_OVER, 20, $im->getImageHeight() + 10);

/* Output the image*/
header("Content-Type: image/png");
echo $canvas;
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Output of example : Creating a reflection of an image

This example illustrates how to use fill patterns during drawing.

Beispiel #4 Filling text with gradient

<?php

/* Create a new imagick object */
$im = new Imagick();

/* Create new image. This will be used as fill pattern */
$im->newPseudoImage(50, 50, "gradient:red-black");

/* Create imagickdraw object */
$draw = new ImagickDraw();

/* Start a new pattern called "gradient" */
$draw->pushPattern('gradient', 0, 0, 50, 50);

/* Composite the gradient on the pattern */
$draw->composite(Imagick::COMPOSITE_OVER, 0, 0, 50, 50, $im);

/* Close the pattern */
$draw->popPattern();

/* Use the pattern called "gradient" as the fill */
$draw->setFillPatternURL('#gradient');

/* Set font size to 52 */
$draw->setFontSize(52);

/* Annotate some text */
$draw->annotation(20, 50, "Hello World!");

/* Create a new canvas object and a white image */
$canvas = new Imagick();
$canvas->newImage(350, 70, "white");

/* Draw the ImagickDraw on to the canvas */
$canvas->drawImage($draw);

/* 1px black border around the image */
$canvas->borderImage('black', 1, 1);

/* Set the format to PNG */
$canvas->setImageFormat('png');

/* Output the image */
header("Content-Type: image/png");
echo $canvas;
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Output of example : Filling text with gradient

Working with animated GIF images

Beispiel #5 Read in GIF image and resize all frames

<?php

/* Create a new imagick object and read in GIF */
$im = new Imagick("example.gif");

/* Resize all frames */
foreach ($im as $frame) {
    /* 50x50 frames */
    $frame->thumbnailImage(50, 50);

    /* Set the virtual canvas to correct size */
    $frame->setImagePage(50, 50, 0, 0);
}

/* Notice writeImages instead of writeImage */
$im->writeImages("example_small.gif", true);
?>

Working with ellipse primitive and custom fonts

Beispiel #6 Create a PHP logo

<?php
/* Set width and height in proportion of genuine PHP logo */
$width = 400;
$height = 210;

/* Create an Imagick object with transparent canvas */
$img = new Imagick();
$img->newImage($width, $height, new ImagickPixel('transparent'));

/* New ImagickDraw instance for ellipse draw */
$draw = new ImagickDraw();
/* Set purple fill color for ellipse */
$draw->setFillColor('#777bb4');
/* Set ellipse dimensions */
$draw->ellipse($width / 2, $height / 2, $width / 2, $height / 2, 0, 360);
/* Draw ellipse onto the canvas */
$img->drawImage($draw);

/* Reset fill color from purple to black for text (note: we are reusing ImagickDraw object) */
$draw->setFillColor('black');
/* Set stroke border to white color */
$draw->setStrokeColor('white');
/* Set stroke border thickness */
$draw->setStrokeWidth(2);
/* Set font kerning (negative value means that letters are closer to each other) */
$draw->setTextKerning(-8);
/* Set font and font size used in PHP logo */
$draw->setFont('Handel Gothic.ttf');
$draw->setFontSize(150);
/* Center text horizontally and vertically */
$draw->setGravity(Imagick::GRAVITY_CENTER);

/* Add center "php" with Y offset of -10 to canvas (inside ellipse) */
$img->annotateImage($draw, 0, -10, 0, 'php');
$img->setImageFormat('png');

/* Set appropriate header for PNG and output the image */
header('Content-Type: image/png');
echo $img;
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Output of example : Creating PHP logo with Imagick

Beispiele
Imagick
Beispiele


The Imagick class

(PECL imagick 2.0.0)

Klassenbeschreibung

Imagick implements Iterator {
bool adaptiveBlurImage ( float $radius , float $sigma [, int $channel = Imagick::CHANNEL_DEFAULT ] )
bool adaptiveResizeImage ( int $columns , int $rows [, bool $bestfit = false ] )
bool adaptiveSharpenImage ( float $radius , float $sigma [, int $channel = Imagick::CHANNEL_DEFAULT ] )
bool adaptiveThresholdImage ( int $width , int $height , int $offset )
bool addImage ( Imagick $source )
bool addNoiseImage ( int $noise_type [, int $channel = Imagick::CHANNEL_DEFAULT ] )
bool affineTransformImage ( ImagickDraw $matrix )
bool animateImages ( string $x_server )
bool annotateImage ( ImagickDraw $draw_settings , float $x , float $y , float $angle , string $text )
Imagick appendImages ( bool $stack = false )
public void autoLevelImage ([ string $CHANNEL = Imagick::CHANNEL_DEFAULT ] )
Imagick averageImages ( void )
bool blackThresholdImage ( mixed $threshold )
public void blueShiftImage ([ float $factor = 1.5 ] )
bool blurImage ( float $radius , float $sigma [, int $channel ] )
bool borderImage ( mixed $bordercolor , int $width , int $height )
public void brightnessContrastImage ( string $brightness , string $contrast [, string $CHANNEL = Imagick::CHANNEL_DEFAULT ] )
bool charcoalImage ( float $radius , float $sigma )
bool chopImage ( int $width , int $height , int $x , int $y )
public void clampImage ([ string $CHANNEL = Imagick::CHANNEL_DEFAULT ] )
bool clear ( void )
bool clipImage ( void )
public void clipImagePath ( string $pathname , string $inside )
bool clipPathImage ( string $pathname , bool $inside )
Imagick clone ( void )
bool clutImage ( Imagick $lookup_table [, float $channel = Imagick::CHANNEL_DEFAULT ] )
Imagick coalesceImages ( void )
bool colorFloodfillImage ( mixed $fill , float $fuzz , mixed $bordercolor , int $x , int $y )
bool colorizeImage ( mixed $colorize , mixed $opacity )
public void colorMatrixImage ( string $color_matrix = Imagick::CHANNEL_DEFAULT )
Imagick combineImages ( int $channelType )
bool commentImage ( string $comment )
array compareImageChannels ( Imagick $image , int $channelType , int $metricType )
Imagick compareImageLayers ( int $method )
array compareImages ( Imagick $compare , int $metric )
bool compositeImage ( Imagick $composite_object , int $composite , int $x , int $y [, int $channel = Imagick::CHANNEL_ALL ] )
__construct ( mixed $files )
bool contrastImage ( bool $sharpen )
bool contrastStretchImage ( float $black_point , float $white_point [, int $channel = Imagick::CHANNEL_ALL ] )
bool convolveImage ( array $kernel [, int $channel = Imagick::CHANNEL_ALL ] )
public void count ([ string $mode ] )
bool cropImage ( int $width , int $height , int $x , int $y )
bool cropThumbnailImage ( int $width , int $height )
Imagick current ( void )
bool cycleColormapImage ( int $displace )
bool decipherImage ( string $passphrase )
Imagick deconstructImages ( void )
bool deleteImageArtifact ( string $artifact )
public void deleteImageProperty ( string $name )
public bool deskewImage ( float $threshold )
bool despeckleImage ( void )
bool destroy ( void )
bool displayImage ( string $servername )
bool displayImages ( string $servername )
bool distortImage ( int $method , array $arguments , bool $bestfit )
bool drawImage ( ImagickDraw $draw )
bool edgeImage ( float $radius )
bool embossImage ( float $radius , float $sigma )
bool encipherImage ( string $passphrase )
bool enhanceImage ( void )
bool equalizeImage ( void )
bool evaluateImage ( int $op , float $constant [, int $channel = Imagick::CHANNEL_ALL ] )
public array exportImagePixels ( int $x , int $y , int $width , int $height , string $map , int $STORAGE )
bool extentImage ( int $width , int $height , int $x , int $y )
public void filter ( ImagickKernel $ImagickKernel [, int $CHANNEL = Imagick::CHANNEL_DEFAULT ] )
Imagick flattenImages ( void )
bool flipImage ( void )
bool floodFillPaintImage ( mixed $fill , float $fuzz , mixed $target , int $x , int $y , bool $invert [, int $channel = Imagick::CHANNEL_DEFAULT ] )
bool flopImage ( void )
public void forwardFourierTransformimage ( bool $magnitude )
bool frameImage ( mixed $matte_color , int $width , int $height , int $inner_bevel , int $outer_bevel )
public bool functionImage ( int $function , array $arguments [, int $channel = Imagick::CHANNEL_DEFAULT ] )
Imagick fxImage ( string $expression [, int $channel = Imagick::CHANNEL_ALL ] )
bool gammaImage ( float $gamma [, int $channel = Imagick::CHANNEL_ALL ] )
bool gaussianBlurImage ( float $radius , float $sigma [, int $channel = Imagick::CHANNEL_ALL ] )
int getColorspace ( void )
int getCompression ( void )
int getCompressionQuality ( void )
string getCopyright ( void )
string getFilename ( void )
string getFont ( void )
string getFormat ( void )
int getGravity ( void )
string getHomeURL ( void )
Imagick getImage ( void )
int getImageAlphaChannel ( void )
string getImageArtifact ( string $artifact )
public string getImageAttribute ( string $key )
ImagickPixel getImageBackgroundColor ( void )
string getImageBlob ( void )
array getImageBluePrimary ( void )
ImagickPixel getImageBorderColor ( void )
int getImageChannelDepth ( int $channel )
float getImageChannelDistortion ( Imagick $reference , int $channel , int $metric )
float getImageChannelDistortions ( Imagick $reference , int $metric [, int $channel = Imagick::CHANNEL_DEFAULT ] )
array getImageChannelExtrema ( int $channel )
public array getImageChannelKurtosis ([ int $channel = Imagick::CHANNEL_DEFAULT ] )
array getImageChannelMean ( int $channel )
array getImageChannelRange ( int $channel )
array getImageChannelStatistics ( void )
Imagick getImageClipMask ( void )
ImagickPixel getImageColormapColor ( int $index )
int getImageColors ( void )
int getImageColorspace ( void )
int getImageCompose ( void )
int getImageCompression ( void )
int getImageCompressionQuality ( void )
int getImageDelay ( void )
int getImageDepth ( void )
int getImageDispose ( void )
float getImageDistortion ( MagickWand $reference , int $metric )
array getImageExtrema ( void )
string getImageFilename ( void )
string getImageFormat ( void )
float getImageGamma ( void )
array getImageGeometry ( void )
int getImageGravity ( void )
array getImageGreenPrimary ( void )
int getImageHeight ( void )
array getImageHistogram ( void )
int getImageIndex ( void )
int getImageInterlaceScheme ( void )
int getImageInterpolateMethod ( void )
int getImageIterations ( void )
int getImageLength ( void )
string getImageMagickLicense ( void )
bool getImageMatte ( void )
ImagickPixel getImageMatteColor ( void )
public string getImageMimeType ( void )
int getImageOrientation ( void )
array getImagePage ( void )
ImagickPixel getImagePixelColor ( int $x , int $y )
string getImageProfile ( string $name )
array getImageProfiles ([ string $pattern = "*" [, bool $include_values = true ]] )
array getImageProperties ([ string $pattern = "*" [, bool $include_values = true ]] )
string getImageProperty ( string $name )
array getImageRedPrimary ( void )
Imagick getImageRegion ( int $width , int $height , int $x , int $y )
int getImageRenderingIntent ( void )
array getImageResolution ( void )
string getImagesBlob ( void )
int getImageScene ( void )
string getImageSignature ( void )
int getImageSize ( void )
int getImageTicksPerSecond ( void )
float getImageTotalInkDensity ( void )
int getImageType ( void )
int getImageUnits ( void )
int getImageVirtualPixelMethod ( void )
array getImageWhitePoint ( void )
int getImageWidth ( void )
int getInterlaceScheme ( void )
int getIteratorIndex ( void )
int getNumberImages ( void )
string getOption ( string $key )
string getPackageName ( void )
array getPage ( void )
ImagickPixelIterator getPixelIterator ( void )
ImagickPixelIterator getPixelRegionIterator ( int $x , int $y , int $columns , int $rows )
float getPointSize ( void )
public static int getQuantum ( void )
array getQuantumDepth ( void )
array getQuantumRange ( void )
public static string getRegistry ( string $key )
string getReleaseDate ( void )
int getResource ( int $type )
int getResourceLimit ( int $type )
array getSamplingFactors ( void )
array getSize ( void )
int getSizeOffset ( void )
array getVersion ( void )
public bool haldClutImage ( Imagick $clut [, int $channel = Imagick::CHANNEL_DEFAULT ] )
bool hasNextImage ( void )
bool hasPreviousImage ( void )
public string|false identifyFormat ( string $embedText )
array identifyImage ([ bool $appendRawOutput = false ] )
bool implodeImage ( float $radius )
public bool importImagePixels ( int $x , int $y , int $width , int $height , string $map , int $storage , array $pixels )
public void inverseFourierTransformImage ( string $complement , string $magnitude )
bool labelImage ( string $label )
bool levelImage ( float $blackPoint , float $gamma , float $whitePoint [, int $channel = Imagick::CHANNEL_ALL ] )
bool linearStretchImage ( float $blackPoint , float $whitePoint )
bool liquidRescaleImage ( int $width , int $height , float $delta_x , float $rigidity )
public static array listRegistry ( void )
bool magnifyImage ( void )
bool mapImage ( Imagick $map , bool $dither )
bool matteFloodfillImage ( float $alpha , float $fuzz , mixed $bordercolor , int $x , int $y )
bool medianFilterImage ( float $radius )
Imagick mergeImageLayers ( int $layer_method )
bool minifyImage ( void )
bool modulateImage ( float $brightness , float $saturation , float $hue )
Imagick montageImage ( ImagickDraw $draw , string $tile_geometry , string $thumbnail_geometry , int $mode , string $frame )
Imagick morphImages ( int $number_frames )
public void morphology ( int $morphologyMethod , int $iterations , ImagickKernel $ImagickKernel [, string $CHANNEL ] )
Imagick mosaicImages ( void )
bool motionBlurImage ( float $radius , float $sigma , float $angle [, int $channel = Imagick::CHANNEL_DEFAULT ] )
bool negateImage ( bool $gray [, int $channel = Imagick::CHANNEL_ALL ] )
bool newImage ( int $cols , int $rows , mixed $background [, string $format ] )
bool newPseudoImage ( int $columns , int $rows , string $pseudoString )
bool nextImage ( void )
bool normalizeImage ([ int $channel = Imagick::CHANNEL_ALL ] )
bool oilPaintImage ( float $radius )
bool opaquePaintImage ( mixed $target , mixed $fill , float $fuzz , bool $invert [, int $channel = Imagick::CHANNEL_DEFAULT ] )
bool optimizeImageLayers ( void )
bool orderedPosterizeImage ( string $threshold_map [, int $channel = Imagick::CHANNEL_ALL ] )
bool paintFloodfillImage ( mixed $fill , float $fuzz , mixed $bordercolor , int $x , int $y [, int $channel = Imagick::CHANNEL_ALL ] )
bool paintOpaqueImage ( mixed $target , mixed $fill , float $fuzz [, int $channel = Imagick::CHANNEL_ALL ] )
bool paintTransparentImage ( mixed $target , float $alpha , float $fuzz )
bool pingImage ( string $filename )
bool pingImageBlob ( string $image )
bool pingImageFile ( resource $filehandle [, string $fileName ] )
bool polaroidImage ( ImagickDraw $properties , float $angle )
bool posterizeImage ( int $levels , bool $dither )
bool previewImages ( int $preview )
bool previousImage ( void )
bool profileImage ( string $name , string $profile )
bool quantizeImage ( int $numberColors , int $colorspace , int $treedepth , bool $dither , bool $measureError )
bool quantizeImages ( int $numberColors , int $colorspace , int $treedepth , bool $dither , bool $measureError )
array queryFontMetrics ( ImagickDraw $properties , string $text [, bool $multiline ] )
array queryFonts ([ string $pattern = "*" ] )
array queryFormats ([ string $pattern = "*" ] )
bool radialBlurImage ( float $angle [, int $channel = Imagick::CHANNEL_ALL ] )
bool raiseImage ( int $width , int $height , int $x , int $y , bool $raise )
bool randomThresholdImage ( float $low , float $high [, int $channel = Imagick::CHANNEL_ALL ] )
bool readImage ( string $filename )
bool readImageBlob ( string $image [, string $filename ] )
bool readImageFile ( resource $filehandle [, string $fileName = null ] )
public Imagick readImages ( string $filenames )
bool recolorImage ( array $matrix )
bool reduceNoiseImage ( float $radius )
public bool remapImage ( Imagick $replacement , int $DITHER )
bool removeImage ( void )
string removeImageProfile ( string $name )
bool render ( void )
bool resampleImage ( float $x_resolution , float $y_resolution , int $filter , float $blur )
bool resetImagePage ( string $page )
bool resizeImage ( int $columns , int $rows , int $filter , float $blur [, bool $bestfit = false ] )
bool rollImage ( int $x , int $y )
bool rotateImage ( mixed $background , float $degrees )
public void rotationalBlurImage ( string $angle [, string $CHANNEL = Imagick::CHANNEL_DEFAULT ] )
bool roundCorners ( float $x_rounding , float $y_rounding [, float $stroke_width = 10 [, float $displace = 5 [, float $size_correction = -6 ]]] )
bool sampleImage ( int $columns , int $rows )
bool scaleImage ( int $cols , int $rows [, bool $bestfit = false ] )
public bool segmentImage ( int $COLORSPACE , float $cluster_threshold , float $smooth_threshold [, bool $verbose = false ] )
public void selectiveBlurImage ( float $radius , float $sigma , float $threshold , int $CHANNEL )
bool separateImageChannel ( int $channel )
bool sepiaToneImage ( float $threshold )
bool setBackgroundColor ( mixed $background )
bool setColorspace ( int $COLORSPACE )
bool setCompression ( int $compression )
bool setCompressionQuality ( int $quality )
bool setFilename ( string $filename )
bool setFirstIterator ( void )
bool setFont ( string $font )
bool setFormat ( string $format )
bool setGravity ( int $gravity )
bool setImage ( Imagick $replace )
bool setImageAlphaChannel ( int $mode )
bool setImageArtifact ( string $artifact , string $value )
public void setImageAttribute ( string $key , string $value )
bool setImageBackgroundColor ( mixed $background )
bool setImageBias ( float $bias )
public void setImageBiasQuantum ( string $bias )
bool setImageBluePrimary ( float $x , float $y )
bool setImageBorderColor ( mixed $border )
bool setImageChannelDepth ( int $channel , int $depth )
bool setImageClipMask ( Imagick $clip_mask )
bool setImageColormapColor ( int $index , ImagickPixel $color )
bool setImageColorspace ( int $colorspace )
bool setImageCompose ( int $compose )
bool setImageCompression ( int $compression )
bool setImageCompressionQuality ( int $quality )
bool setImageDelay ( int $delay )
bool setImageDepth ( int $depth )
bool setImageDispose ( int $dispose )
bool setImageExtent ( int $columns , int $rows )
bool setImageFilename ( string $filename )
bool setImageFormat ( string $format )
bool setImageGamma ( float $gamma )
bool setImageGravity ( int $gravity )
bool setImageGreenPrimary ( float $x , float $y )
bool setImageIndex ( int $index )
bool setImageInterlaceScheme ( int $interlace_scheme )
bool setImageInterpolateMethod ( int $method )
bool setImageIterations ( int $iterations )
bool setImageMatte ( bool $matte )
bool setImageMatteColor ( mixed $matte )
bool setImageOpacity ( float $opacity )
bool setImageOrientation ( int $orientation )
bool setImagePage ( int $width , int $height , int $x , int $y )
bool setImageProfile ( string $name , string $profile )
bool setImageProperty ( string $name , string $value )
bool setImageRedPrimary ( float $x , float $y )
bool setImageRenderingIntent ( int $rendering_intent )
bool setImageResolution ( float $x_resolution , float $y_resolution )
bool setImageScene ( int $scene )
bool setImageTicksPerSecond ( int $ticks_per_second )
bool setImageType ( int $image_type )
bool setImageUnits ( int $units )
bool setImageVirtualPixelMethod ( int $method )
bool setImageWhitePoint ( float $x , float $y )
bool setInterlaceScheme ( int $interlace_scheme )
bool setIteratorIndex ( int $index )
bool setLastIterator ( void )
bool setOption ( string $key , string $value )
bool setPage ( int $width , int $height , int $x , int $y )
bool setPointSize ( float $point_size )
public void setProgressMonitor ( callable $callback )
public static void setRegistry ( string $key , string $value )
bool setResolution ( float $x_resolution , float $y_resolution )
bool setResourceLimit ( int $type , int $limit )
bool setSamplingFactors ( array $factors )
bool setSize ( int $columns , int $rows )
bool setSizeOffset ( int $columns , int $rows , int $offset )
bool setType ( int $image_type )
bool shadeImage ( bool $gray , float $azimuth , float $elevation )
bool shadowImage ( float $opacity , float $sigma , int $x , int $y )
bool sharpenImage ( float $radius , float $sigma [, int $channel = Imagick::CHANNEL_ALL ] )
bool shaveImage ( int $columns , int $rows )
bool shearImage ( mixed $background , float $x_shear , float $y_shear )
bool sigmoidalContrastImage ( bool $sharpen , float $alpha , float $beta [, int $channel = Imagick::CHANNEL_ALL ] )
bool sketchImage ( float $radius , float $sigma , float $angle )
public Imagick smushImages ( string $stack , string $offset )
bool solarizeImage ( int $threshold )
public bool sparseColorImage ( int $SPARSE_METHOD , array $arguments [, int $channel = Imagick::CHANNEL_DEFAULT ] )
bool spliceImage ( int $width , int $height , int $x , int $y )
bool spreadImage ( float $radius )
public void statisticImage ( int $type , int $width , int $height [, string $CHANNEL = Imagick::CHANNEL_DEFAULT ] )
Imagick steganoImage ( Imagick $watermark_wand , int $offset )
bool stereoImage ( Imagick $offset_wand )
bool stripImage ( void )
public Imagick subImageMatch ( Imagick $Imagick [, array &$offset [, float &$similarity ]] )
bool swirlImage ( float $degrees )
Imagick textureImage ( Imagick $texture_wand )
bool thresholdImage ( float $threshold [, int $channel = Imagick::CHANNEL_ALL ] )
bool thumbnailImage ( int $columns , int $rows [, bool $bestfit = false [, bool $fill = false ]] )
bool tintImage ( mixed $tint , mixed $opacity )
string __toString ( void )
Imagick transformImage ( string $crop , string $geometry )
bool transformImageColorspace ( int $colorspace )
bool transparentPaintImage ( mixed $target , float $alpha , float $fuzz , bool $invert )
bool transposeImage ( void )
bool transverseImage ( void )
bool trimImage ( float $fuzz )
bool uniqueImageColors ( void )
bool unsharpMaskImage ( float $radius , float $sigma , float $amount , float $threshold [, int $channel = Imagick::CHANNEL_ALL ] )
bool valid ( void )
bool vignetteImage ( float $blackPoint , float $whitePoint , int $x , int $y )
bool waveImage ( float $amplitude , float $length )
bool whiteThresholdImage ( mixed $threshold )
bool writeImage ([ string $filename = NULL ] )
bool writeImageFile ( resource $filehandle )
bool writeImages ( string $filename , bool $adjoin )
bool writeImagesFile ( resource $filehandle )
}

Image methods and global methods

The Imagick class has the ability to hold and operate on multiple images simultaneously. This is achieved through an internal stack. There is always an internal pointer that points at the current image. Some functions operate on all images in the Imagick class, but most operate only on the current image in the internal stack. As a convention, method names can contain the word Image to denote they affect only the current image in the stack.

Class Methods

Because there are so many methods, here is a handy list of methods, somewhat reduced to their general purpose:

Class methods by purpose
Image effects | Get methods | Set methods | Read/write images | Other
Imagick::adaptiveBlurImage() | Imagick::getCompression() | Imagick::setBackgroundColor() | Imagick::__construct() | Imagick::clear()
Imagick::adaptiveResizeImage() | Imagick::getFilename() | Imagick::setCompressionQuality() | Imagick::addImage() | Imagick::clone()
Imagick::adaptiveSharpenImage() | Imagick::getFormat() | Imagick::setCompression() | Imagick::appendImages() | Imagick::current()
Imagick::adaptiveThresholdImage() | Imagick::getImageBackgroundColor() | Imagick::setFilename() | Imagick::getFilename() | Imagick::destroy()
Imagick::addNoiseImage() | Imagick::getImageBlob() | Imagick::getImagesBlob() | Imagick::setFormat() | Imagick::getFormat()
Imagick::affinetransformimage() | Imagick::getImageBluePrimary() | Imagick::setImageBackgroundColor() | Imagick::getImageFilename() | Imagick::getHomeURL()
Imagick::annotateImage() | Imagick::getImageBorderColor() | Imagick::setFirstIterator() | Imagick::getImageFormat() | Imagick::commentImage()
Imagick::averageImages() | Imagick::getImageChannelDepth() | Imagick::setImageBias() | Imagick::getImage() | Imagick::getNumberImages()
Imagick::blackThresholdImage() | Imagick::getImageChannelDistortion() | Imagick::setImageBluePrimary() | Imagick::setImageFilename() | Imagick::getReleaseDate()
Imagick::blurImage() | Imagick::getImageChannelExtrema() | Imagick::setImageBorderColor() | Imagick::setImageFormat() | Imagick::getVersion()
Imagick::borderImage() | Imagick::getImageChannelMean() | Imagick::setImageChannelDepth() | Imagick::readImageFile() | Imagick::hasNextImage()
Imagick::charcoalImage() | Imagick::getImageChannelStatistics() | Imagick::setImageColormapColor() | Imagick::readImage() | Imagick::hasPreviousImage()
Imagick::chopImage() | Imagick::getImageColormapColor() | Imagick::setImageColorSpace() | Imagick::writeImages() | Imagick::labelImage()
Imagick::clipImage() | Imagick::getImageColorspace() | Imagick::setImageCompose() | Imagick::writeImage() | Imagick::newImage()
Imagick::clipPathImage() | Imagick::getImageColors() | Imagick::setImageCompression() |  | Imagick::newPseudoImage()
Imagick::coalesceImages() | Imagick::getImageCompose() | Imagick::setImageDelay() |  | Imagick::nextImage()
Imagick::colorFloodFillImage() | Imagick::getImageDelay() | Imagick::setImageDepth() |  | Imagick::pingImageBlob()
Imagick::colorizeImage() | Imagick::getImageDepth() | Imagick::setImageDispose() |  | Imagick::pingImageFile()
Imagick::combineImages() | Imagick::getImageDispose() | Imagick::setImageDispose() |  | Imagick::pingImage()
Imagick::compareImageChannels() | Imagick::getImageDistortion() | Imagick::setImageExtent() |  | Imagick::previousImage()
Imagick::compareImageLayers() | Imagick::getImageExtrema() | Imagick::setImageFilename() |  | Imagick::profileImage()
Imagick::compositeImage() | Imagick::getImageFilename() | Imagick::setImageFormat() |  | Imagick::queryFormats()
Imagick::contrastImage() | Imagick::getImageFormat() | Imagick::setImageGamma() |  | Imagick::removeImageProfile()
Imagick::contrastStretchImage() | Imagick::getImageGamma() | Imagick::setImageGreenPrimary() |  | Imagick::removeImage()
Imagick::convolveImage() | Imagick::getImageGeometry() | Imagick::setImageIndex() |  | Imagick::setFirstIterator()
Imagick::cropImage() | Imagick::getImageGreenPrimary() | Imagick::setImageInterpolateMethod() |  | Imagick::setImageIndex()
Imagick::cycleColormapImage() | Imagick::getImageHeight() | Imagick::setImageIterations() |  | Imagick::valid()
Imagick::deconstructImages() | Imagick::getImageHistogram() | Imagick::setImageMatteColor() |  | Imagick::getCopyright()
Imagick::drawImage() | Imagick::getImageIndex() | Imagick::setImageMatte() |  |
Imagick::edgeImage() | Imagick::getImageInterlaceScheme() | Imagick::setImagePage() |  |
Imagick::embossImage() | Imagick::getImageInterpolateMethod() | Imagick::setImageProfile() |  |
Imagick::enhanceImage() | Imagick::getImageIterations() | Imagick::setImageProperty() |  |
Imagick::equalizeImage() | Imagick::getImageMatteColor() | Imagick::setImageRedPrimary() |  |
Imagick::evaluateImage() | Imagick::getImageMatte() | Imagick::setImageRenderingIntent() |  |
Imagick::flattenImages() | Imagick::getImagePage() | Imagick::setImageResolution() |  |
Imagick::flipImage() | Imagick::getImagePixelColor() | Imagick::setImageScene() |  |
Imagick::flopImage() | Imagick::getImageProfile() | Imagick::setImageTicksPerSecond() |  |
 | Imagick::getImageProperty() | Imagick::setImageType() |  |
Imagick::fxImage() | Imagick::getImageRedPrimary() | Imagick::setImageUnits() |  |
Imagick::gammaImage() | Imagick::getImageRegion() | Imagick::setImageVirtualPixelMethod() |  |
Imagick::gaussianBlurImage() | Imagick::getImageRenderingIntent() | Imagick::setImageWhitepoint() |  |
Imagick::implodeImage() | Imagick::getImageResolution() | Imagick::setInterlaceScheme() |  |
Imagick::levelImage() | Imagick::getImageScene() | Imagick::setOption() |  |
Imagick::linearStretchImage() | Imagick::getImageSignature() | Imagick::setPage() |  |
Imagick::magnifyImage() | Imagick::getImageTicksPerSecond() | Imagick::setResolution() |  |
Imagick::matteFloodFillImage() | Imagick::getImageTotalInkDensity() | Imagick::setResourceLimit() |  |
Imagick::medianFilterImage() | Imagick::getImageType() | Imagick::setSamplingFactors() |  |
Imagick::minifyImage() | Imagick::getImageUnits() | Imagick::setSizeOffset() |  |
Imagick::modulateImage() | Imagick::getImageVirtualPixelMethod() | Imagick::setSize() |  |
Imagick::montageImage() | Imagick::getImageWhitepoint() | Imagick::setType() |  |
Imagick::morphImages() | Imagick::getImageWidth() |  |  |
Imagick::mosaicImages() | Imagick::getImage() |  |  |
Imagick::motionBlurImage() | Imagick::getInterlaceScheme() |  |  |
Imagick::negateImage() | Imagick::getNumberImages() |  |  |
Imagick::normalizeImage() | Imagick::getOption() |  |  |
Imagick::oilPaintImage() | Imagick::getPackageName() |  |  |
Imagick::optimizeImageLayers() | Imagick::getPage() |  |  |
Imagick::paintOpaqueImage() | Imagick::getPixelIterator() |  |  |
Imagick::paintTransparentImage() | Imagick::getPixelRegionIterator() |  |  |
Imagick::posterizeImage() | Imagick::getQuantumDepth() |  |  |
Imagick::radialBlurImage() | Imagick::getQuantumRange() |  |  |
Imagick::raiseImage() | Imagick::getResourceLimit() |  |  |
Imagick::randomThresholdImage() | Imagick::getResource() |  |  |
Imagick::reduceNoiseImage() | Imagick::getSamplingFactors() |  |  |
Imagick::render() | Imagick::getSizeOffset() |  |  |
Imagick::resampleImage() | Imagick::getSize() |  |  |
Imagick::resizeImage() | Imagick::identifyImage() |  |  |
Imagick::rollImage() | Imagick::getImageSize() |  |  |
Imagick::rotateImage() |  |  |  |
Imagick::sampleImage() |  |  |  |
Imagick::scaleImage() |  |  |  |
Imagick::separateImageChannel() |  |  |  |
Imagick::sepiaToneImage() |  |  |  |
Imagick::shadeImage() |  |  |  |
Imagick::shadowImage() |  |  |  |
Imagick::sharpenImage() |  |  |  |
Imagick::shaveImage() |  |  |  |
Imagick::shearImage() |  |  |  |
Imagick::sigmoidalContrastImage() |  |  |  |
Imagick::sketchImage() |  |  |  |
Imagick::solarizeImage() |  |  |  |
Imagick::spliceImage() |  |  |  |
Imagick::spreadImage() |  |  |  |
Imagick::steganoImage() |  |  |  |
Imagick::stereoImage() |  |  |  |
Imagick::stripImage() |  |  |  |
Imagick::swirlImage() |  |  |  |
Imagick::textureImage() |  |  |  |
Imagick::thresholdImage() |  |  |  |
Imagick::thumbnailImage() |  |  |  |
Imagick::tintImage() |  |  |  |
Imagick::transverseImage() |  |  |  |
Imagick::trimImage() |  |  |  |
Imagick::uniqueImageColors() |  |  |  |
Imagick::unsharpMaskImage() |  |  |  |
Imagick::vignetteImage() |  |  |  |
Imagick::waveImage() |  |  |  |
Imagick::whiteThresholdImage() |  |  |  |

Inhaltsverzeichnis

  • Imagick::adaptiveBlurImage — Adds adaptive blur filter to image
  • Imagick::adaptiveResizeImage — Adaptively resize image with data dependent triangulation
  • Imagick::adaptiveSharpenImage — Adaptively sharpen the image
  • Imagick::adaptiveThresholdImage — Selects a threshold for each pixel based on a range of intensity
  • Imagick::addImage — Adds new image to Imagick object image list
  • Imagick::addNoiseImage — Adds random noise to the image
  • Imagick::affineTransformImage — Transforms an image
  • Imagick::animateImages — Animates an image or images
  • Imagick::annotateImage — Annotates an image with text
  • Imagick::appendImages — Append a set of images
  • Imagick::autoLevelImage — Description
  • Imagick::averageImages — Average a set of images
  • Imagick::blackThresholdImage — Forces all pixels below the threshold into black
  • Imagick::blueShiftImage — Description
  • Imagick::blurImage — Adds blur filter to image
  • Imagick::borderImage — Surrounds the image with a border
  • Imagick::brightnessContrastImage — Description
  • Imagick::charcoalImage — Simulates a charcoal drawing
  • Imagick::chopImage — Removes a region of an image and trims
  • Imagick::clampImage — Description
  • Imagick::clear — Clears all resources associated to Imagick object
  • Imagick::clipImage — Clips along the first path from the 8BIM profile
  • Imagick::clipImagePath — Description
  • Imagick::clipPathImage — Clips along the named paths from the 8BIM profile
  • Imagick::clone — Makes an exact copy of the Imagick object
  • Imagick::clutImage — Replaces colors in the image
  • Imagick::coalesceImages — Composites a set of images
  • Imagick::colorFloodfillImage — Changes the color value of any pixel that matches target
  • Imagick::colorizeImage — Blends the fill color with the image
  • Imagick::colorMatrixImage — Description
  • Imagick::combineImages — Combines one or more images into a single image
  • Imagick::commentImage — Adds a comment to your image
  • Imagick::compareImageChannels — Returns the difference in one or more images
  • Imagick::compareImageLayers — Returns the maximum bounding region between images
  • Imagick::compareImages — Compares an image to a reconstructed image
  • Imagick::compositeImage — Composite one image onto another
  • Imagick::__construct — The Imagick constructor
  • Imagick::contrastImage — Change the contrast of the image
  • Imagick::contrastStretchImage — Enhances the contrast of a color image
  • Imagick::convolveImage — Applies a custom convolution kernel to the image
  • Imagick::count — Description
  • Imagick::cropImage — Extracts a region of the image
  • Imagick::cropThumbnailImage — Creates a crop thumbnail
  • Imagick::current — Returns a reference to the current Imagick object
  • Imagick::cycleColormapImage — Displaces an image's colormap
  • Imagick::decipherImage — Deciphers an image
  • Imagick::deconstructImages — Returns certain pixel differences between images
  • Imagick::deleteImageArtifact — Delete image artifact
  • Imagick::deleteImageProperty — Description
  • Imagick::deskewImage — Removes skew from the image
  • Imagick::despeckleImage — Reduces the speckle noise in an image
  • Imagick::destroy — Destroys the Imagick object
  • Imagick::displayImage — Displays an image
  • Imagick::displayImages — Displays an image or image sequence
  • Imagick::distortImage — Distorts an image using various distortion methods
  • Imagick::drawImage — Renders the ImagickDraw object on the current image
  • Imagick::edgeImage — Enhance edges within the image
  • Imagick::embossImage — Returns a grayscale image with a three-dimensional effect
  • Imagick::encipherImage — Enciphers an image
  • Imagick::enhanceImage — Improves the quality of a noisy image
  • Imagick::equalizeImage — Equalizes the image histogram
  • Imagick::evaluateImage — Applies an expression to an image
  • Imagick::exportImagePixels — Exports raw image pixels
  • Imagick::extentImage — Set image size
  • Imagick::filter — Description
  • Imagick::flattenImages — Merges a sequence of images
  • Imagick::flipImage — Creates a vertical mirror image
  • Imagick::floodFillPaintImage — Changes the color value of any pixel that matches target
  • Imagick::flopImage — Creates a horizontal mirror image
  • Imagick::forwardFourierTransformImage — Description
  • Imagick::frameImage — Adds a simulated three-dimensional border
  • Imagick::functionImage — Applies a function on the image
  • Imagick::fxImage — Evaluate expression for each pixel in the image
  • Imagick::gammaImage — Gamma-corrects an image
  • Imagick::gaussianBlurImage — Blurs an image
  • Imagick::getColorspace — Gets the colorspace
  • Imagick::getCompression — Gets the object compression type
  • Imagick::getCompressionQuality — Gets the object compression quality
  • Imagick::getCopyright — Returns the ImageMagick API copyright as a string
  • Imagick::getFilename — The filename associated with an image sequence
  • Imagick::getFont — Gets font
  • Imagick::getFormat — Returns the format of the Imagick object
  • Imagick::getGravity — Gets the gravity
  • Imagick::getHomeURL — Returns the ImageMagick home URL
  • Imagick::getImage — Returns a new Imagick object
  • Imagick::getImageAlphaChannel — Gets the image alpha channel
  • Imagick::getImageArtifact — Get image artifact
  • Imagick::getImageAttribute — Description
  • Imagick::getImageBackgroundColor — Returns the image background color
  • Imagick::getImageBlob — Returns the image sequence as a blob
  • Imagick::getImageBluePrimary — Returns the chromaticy blue primary point
  • Imagick::getImageBorderColor — Returns the image border color
  • Imagick::getImageChannelDepth — Gets the depth for a particular image channel
  • Imagick::getImageChannelDistortion — Compares image channels of an image to a reconstructed image
  • Imagick::getImageChannelDistortions — Gets channel distortions
  • Imagick::getImageChannelExtrema — Gets the extrema for one or more image channels
  • Imagick::getImageChannelKurtosis — The getImageChannelKurtosis purpose
  • Imagick::getImageChannelMean — Gets the mean and standard deviation
  • Imagick::getImageChannelRange — Gets channel range
  • Imagick::getImageChannelStatistics — Returns statistics for each channel in the image
  • Imagick::getImageClipMask — Gets image clip mask
  • Imagick::getImageColormapColor — Returns the color of the specified colormap index
  • Imagick::getImageColors — Gets the number of unique colors in the image
  • Imagick::getImageColorspace — Gets the image colorspace
  • Imagick::getImageCompose — Returns the composite operator associated with the image
  • Imagick::getImageCompression — Gets the current image's compression type
  • Imagick::getImageCompressionQuality — Gets the current image's compression quality
  • Imagick::getImageDelay — Gets the image delay
  • Imagick::getImageDepth — Gets the image depth
  • Imagick::getImageDispose — Gets the image disposal method
  • Imagick::getImageDistortion — Compares an image to a reconstructed image
  • Imagick::getImageExtrema — Gets the extrema for the image
  • Imagick::getImageFilename — Returns the filename of a particular image in a sequence
  • Imagick::getImageFormat — Returns the format of a particular image in a sequence
  • Imagick::getImageGamma — Gets the image gamma
  • Imagick::getImageGeometry — Gets the width and height as an associative array
  • Imagick::getImageGravity — Gets the image gravity
  • Imagick::getImageGreenPrimary — Returns the chromaticy green primary point
  • Imagick::getImageHeight — Returns the image height
  • Imagick::getImageHistogram — Gets the image histogram
  • Imagick::getImageIndex — Gets the index of the current active image
  • Imagick::getImageInterlaceScheme — Gets the image interlace scheme
  • Imagick::getImageInterpolateMethod — Returns the interpolation method
  • Imagick::getImageIterations — Gets the image iterations
  • Imagick::getImageLength — Returns the image length in bytes
  • Imagick::getImageMagickLicense — Returns a string containing the ImageMagick license
  • Imagick::getImageMatte — Return if the image has a matte channel
  • Imagick::getImageMatteColor — Returns the image matte color
  • Imagick::getImageMimeType — Description
  • Imagick::getImageOrientation — Gets the image orientation
  • Imagick::getImagePage — Returns the page geometry
  • Imagick::getImagePixelColor — Returns the color of the specified pixel
  • Imagick::getImageProfile — Returns the named image profile
  • Imagick::getImageProfiles — Returns the image profiles
  • Imagick::getImageProperties — Returns the image properties
  • Imagick::getImageProperty — Returns the named image property
  • Imagick::getImageRedPrimary — Returns the chromaticity red primary point
  • Imagick::getImageRegion — Extracts a region of the image
  • Imagick::getImageRenderingIntent — Gets the image rendering intent
  • Imagick::getImageResolution — Gets the image X and Y resolution
  • Imagick::getImagesBlob — Returns all image sequences as a blob
  • Imagick::getImageScene — Gets the image scene
  • Imagick::getImageSignature — Generates an SHA-256 message digest
  • Imagick::getImageSize — Returns the image length in bytes
  • Imagick::getImageTicksPerSecond — Gets the image ticks-per-second
  • Imagick::getImageTotalInkDensity — Gets the image total ink density
  • Imagick::getImageType — Gets the potential image type
  • Imagick::getImageUnits — Gets the image units of resolution
  • Imagick::getImageVirtualPixelMethod — Returns the virtual pixel method
  • Imagick::getImageWhitePoint — Returns the chromaticity white point
  • Imagick::getImageWidth — Returns the image width
  • Imagick::getInterlaceScheme — Gets the object interlace scheme
  • Imagick::getIteratorIndex — Gets the index of the current active image
  • Imagick::getNumberImages — Returns the number of images in the object
  • Imagick::getOption — Returns a value associated with the specified key
  • Imagick::getPackageName — Returns the ImageMagick package name
  • Imagick::getPage — Returns the page geometry
  • Imagick::getPixelIterator — Returns a MagickPixelIterator
  • Imagick::getPixelRegionIterator — Get an ImagickPixelIterator for an image section
  • Imagick::getPointSize — Gets point size
  • Imagick::getQuantum — Description
  • Imagick::getQuantumDepth — Gets the quantum depth
  • Imagick::getQuantumRange — Returns the Imagick quantum range
  • Imagick::getRegistry — Description
  • Imagick::getReleaseDate — Returns the ImageMagick release date
  • Imagick::getResource — Returns the specified resource's memory usage
  • Imagick::getResourceLimit — Returns the specified resource limit
  • Imagick::getSamplingFactors — Gets the horizontal and vertical sampling factor
  • Imagick::getSize — Returns the size associated with the Imagick object
  • Imagick::getSizeOffset — Returns the size offset
  • Imagick::getVersion — Returns the ImageMagick API version
  • Imagick::haldClutImage — Replaces colors in the image
  • Imagick::hasNextImage — Checks if the object has more images
  • Imagick::hasPreviousImage — Checks if the object has a previous image
  • Imagick::identifyFormat — Description
  • Imagick::identifyImage — Identifies an image and fetches attributes
  • Imagick::implodeImage — Creates a new image as a copy
  • Imagick::importImagePixels — Imports image pixels
  • Imagick::inverseFourierTransformImage — Description
  • Imagick::labelImage — Adds a label to an image
  • Imagick::levelImage — Adjusts the levels of an image
  • Imagick::linearStretchImage — Stretches with saturation the image intensity
  • Imagick::liquidRescaleImage — Animates an image or images
  • Imagick::listRegistry — Description
  • Imagick::magnifyImage — Scales an image proportionally 2x
  • Imagick::mapImage — Replaces the colors of an image with the closest color from a reference image.
  • Imagick::matteFloodfillImage — Changes the transparency value of a color
  • Imagick::medianFilterImage — Applies a digital filter
  • Imagick::mergeImageLayers — Merges image layers
  • Imagick::minifyImage — Scales an image proportionally to half its size
  • Imagick::modulateImage — Control the brightness, saturation, and hue
  • Imagick::montageImage — Creates a composite image
  • Imagick::morphImages — Method morphs a set of images
  • Imagick::morphology — Description
  • Imagick::mosaicImages — Forms a mosaic from images
  • Imagick::motionBlurImage — Simulates motion blur
  • Imagick::negateImage — Negates the colors in the reference image
  • Imagick::newImage — Creates a new image
  • Imagick::newPseudoImage — Creates a new image
  • Imagick::nextImage — Moves to the next image
  • Imagick::normalizeImage — Enhances the contrast of a color image
  • Imagick::oilPaintImage — Simulates an oil painting
  • Imagick::opaquePaintImage — Changes the color value of any pixel that matches target
  • Imagick::optimizeImageLayers — Removes repeated portions of images to optimize
  • Imagick::orderedPosterizeImage — Performs an ordered dither
  • Imagick::paintFloodfillImage — Changes the color value of any pixel that matches target
  • Imagick::paintOpaqueImage — Change any pixel that matches color
  • Imagick::paintTransparentImage — Changes any pixel that matches color with the color defined by fill
  • Imagick::pingImage — Abrufen von grundlegenden Merkmalen eines Bildes
  • Imagick::pingImageBlob — Quickly fetch attributes
  • Imagick::pingImageFile — Get basic image attributes in a lightweight manner
  • Imagick::polaroidImage — Simulates a Polaroid picture
  • Imagick::posterizeImage — Reduces the image to a limited number of color level
  • Imagick::previewImages — Quickly pin-point appropriate parameters for image processing
  • Imagick::previousImage — Move to the previous image in the object
  • Imagick::profileImage — Adds or removes a profile from an image
  • Imagick::quantizeImage — Analyzes the colors within a reference image
  • Imagick::quantizeImages — Analyzes the colors within a sequence of images
  • Imagick::queryFontMetrics — Returns an array representing the font metrics
  • Imagick::queryFonts — Returns the configured fonts
  • Imagick::queryFormats — Returns formats supported by Imagick
  • Imagick::radialBlurImage — Radial blurs an image
  • Imagick::raiseImage — Creates a simulated 3d button-like effect
  • Imagick::randomThresholdImage — Creates a high-contrast, two-color image
  • Imagick::readImage — Reads image from filename
  • Imagick::readImageBlob — Reads image from a binary string
  • Imagick::readImageFile — Reads image from open filehandle
  • Imagick::readimages — Description
  • Imagick::recolorImage — Recolors image
  • Imagick::reduceNoiseImage — Smooths the contours of an image
  • Imagick::remapImage — Remaps image colors
  • Imagick::removeImage — Removes an image from the image list
  • Imagick::removeImageProfile — Removes the named image profile and returns it
  • Imagick::render — Renders all preceding drawing commands
  • Imagick::resampleImage — Resample image to desired resolution
  • Imagick::resetImagePage — Reset image page
  • Imagick::resizeImage — Scales an image
  • Imagick::rollImage — Offsets an image
  • Imagick::rotateImage — Rotates an image
  • Imagick::rotationalBlurImage — Description
  • Imagick::roundCorners — Rounds image corners
  • Imagick::sampleImage — Scales an image with pixel sampling
  • Imagick::scaleImage — Scales the size of an image
  • Imagick::segmentImage — Segments an image
  • Imagick::selectiveBlurImage — Description
  • Imagick::separateImageChannel — Separates a channel from the image
  • Imagick::sepiaToneImage — Sepia tones an image
  • Imagick::setBackgroundColor — Sets the object's default background color
  • Imagick::setColorspace — Set colorspace
  • Imagick::setCompression — Sets the object's default compression type
  • Imagick::setCompressionQuality — Sets the object's default compression quality
  • Imagick::setFilename — Sets the filename before you read or write the image
  • Imagick::setFirstIterator — Sets the Imagick iterator to the first image
  • Imagick::setFont — Sets font
  • Imagick::setFormat — Sets the format of the Imagick object
  • Imagick::setGravity — Sets the gravity
  • Imagick::setImage — Replaces image in the object
  • Imagick::setImageAlphaChannel — Sets image alpha channel
  • Imagick::setImageArtifact — Set image artifact
  • Imagick::setImageAttribute — Description
  • Imagick::setImageBackgroundColor — Sets the image background color
  • Imagick::setImageBias — Sets the image bias for any method that convolves an image
  • Imagick::setImageBiasQuantum — Description
  • Imagick::setImageBluePrimary — Sets the image chromaticity blue primary point
  • Imagick::setImageBorderColor — Sets the image border color
  • Imagick::setImageChannelDepth — Sets the depth of a particular image channel
  • Imagick::setImageClipMask — Sets image clip mask
  • Imagick::setImageColormapColor — Sets the color of the specified colormap index
  • Imagick::setImageColorspace — Sets the image colorspace
  • Imagick::setImageCompose — Sets the image composite operator
  • Imagick::setImageCompression — Sets the image compression
  • Imagick::setImageCompressionQuality — Sets the image compression quality
  • Imagick::setImageDelay — Sets the image delay
  • Imagick::setImageDepth — Sets the image depth
  • Imagick::setImageDispose — Sets the image disposal method
  • Imagick::setImageExtent — Sets the image size
  • Imagick::setImageFilename — Sets the filename of a particular image
  • Imagick::setImageFormat — Sets the format of a particular image
  • Imagick::setImageGamma — Sets the image gamma
  • Imagick::setImageGravity — Sets the image gravity
  • Imagick::setImageGreenPrimary — Sets the image chromaticity green primary point
  • Imagick::setImageIndex — Set the iterator position
  • Imagick::setImageInterlaceScheme — Sets the image compression
  • Imagick::setImageInterpolateMethod — Sets the image interpolate pixel method
  • Imagick::setImageIterations — Sets the image iterations
  • Imagick::setImageMatte — Sets the image matte channel
  • Imagick::setImageMatteColor — Sets the image matte color
  • Imagick::setImageOpacity — Sets the image opacity level
  • Imagick::setImageOrientation — Sets the image orientation
  • Imagick::setImagePage — Sets the page geometry of the image
  • Imagick::setImageProfile — Adds a named profile to the Imagick object
  • Imagick::setImageProperty — Sets an image property
  • Imagick::setImageRedPrimary — Sets the image chromaticity red primary point
  • Imagick::setImageRenderingIntent — Sets the image rendering intent
  • Imagick::setImageResolution — Sets the image resolution
  • Imagick::setImageScene — Sets the image scene
  • Imagick::setImageTicksPerSecond — Sets the image ticks-per-second
  • Imagick::setImageType — Sets the image type
  • Imagick::setImageUnits — Sets the image units of resolution
  • Imagick::setImageVirtualPixelMethod — Sets the image virtual pixel method
  • Imagick::setImageWhitePoint — Sets the image chromaticity white point
  • Imagick::setInterlaceScheme — Sets the image compression
  • Imagick::setIteratorIndex — Set the iterator position
  • Imagick::setLastIterator — Sets the Imagick iterator to the last image
  • Imagick::setOption — Set an option
  • Imagick::setPage — Sets the page geometry of the Imagick object
  • Imagick::setPointSize — Sets point size
  • Imagick::setProgressMonitor — Description
  • Imagick::setRegistry — Description
  • Imagick::setResolution — Sets the image resolution
  • Imagick::setResourceLimit — Sets the limit for a particular resource in megabytes
  • Imagick::setSamplingFactors — Sets the image sampling factors
  • Imagick::setSize — Sets the size of the Imagick object
  • Imagick::setSizeOffset — Sets the size and offset of the Imagick object
  • Imagick::setType — Sets the image type attribute
  • Imagick::shadeImage — Creates a 3D effect
  • Imagick::shadowImage — Simulates an image shadow
  • Imagick::sharpenImage — Sharpens an image
  • Imagick::shaveImage — Shaves pixels from the image edges
  • Imagick::shearImage — Creating a parallelogram
  • Imagick::sigmoidalContrastImage — Adjusts the contrast of an image
  • Imagick::sketchImage — Simulates a pencil sketch
  • Imagick::smushImages — Description
  • Imagick::solarizeImage — Applies a solarizing effect to the image
  • Imagick::sparseColorImage — Interpolates colors
  • Imagick::spliceImage — Splices a solid color into the image
  • Imagick::spreadImage — Randomly displaces each pixel in a block
  • Imagick::statisticImage — Description
  • Imagick::steganoImage — Hides a digital watermark within the image
  • Imagick::stereoImage — Composites two images
  • Imagick::stripImage — Strips an image of all profiles and comments
  • Imagick::subImageMatch — Description
  • Imagick::swirlImage — Swirls the pixels about the center of the image
  • Imagick::textureImage — Repeatedly tiles the texture image
  • Imagick::thresholdImage — Changes the value of individual pixels based on a threshold
  • Imagick::thumbnailImage — Changes the size of an image
  • Imagick::tintImage — Applies a color vector to each pixel in the image
  • Imagick::__toString — Returns the image as a string.
  • Imagick::transformImage — Convenience method for setting crop size and the image geometry
  • Imagick::transformImageColorspace — Transforms an image to a new colorspace.
  • Imagick::transparentPaintImage — Paints pixels transparent
  • Imagick::transposeImage — Creates a vertical mirror image
  • Imagick::transverseImage — Creates a horizontal mirror image
  • Imagick::trimImage — Remove edges from the image
  • Imagick::uniqueImageColors — Discards all but one of any pixel color
  • Imagick::unsharpMaskImage — Sharpens an image
  • Imagick::valid — Checks if the current item is valid
  • Imagick::vignetteImage — Adds vignette filter to the image
  • Imagick::waveImage — Applies wave filter to the image
  • Imagick::whiteThresholdImage — Force all pixels above the threshold into white
  • Imagick::writeImage — Writes an image to the specified filename
  • Imagick::writeImageFile — Writes an image to a filehandle
  • Imagick::writeImages — Writes an image or image sequence
  • Imagick::writeImagesFile — Writes frames to a filehandle
Basic usage
Imagick::adaptiveBlurImage
ImageMagick


Adds adaptive blur filter to image

Imagick
Imagick::adaptiveResizeImage
Imagick
PHP Manual

Imagick::adaptiveBlurImage

(PECL imagick 2.0.0)

Imagick::adaptiveBlurImage — Adds adaptive blur filter to image

Beschreibung

bool Imagick::adaptiveBlurImage ( float $radius , float $sigma [, int $channel = Imagick::CHANNEL_DEFAULT ] )

Adds an adaptive blur filter to image. The intensity of an adaptive blur depends is dramatically decreased at edge of the image, whereas a standard blur is uniform across the image. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.2.9 oder höher kompiliert wurde.

Parameter-Liste

radius

The radius of the Gaussian, in pixels, not counting the center pixel. Provide a value of 0 and the radius will be chosen automagically.

sigma

The standard deviation of the Gaussian, in pixels.

channel

Übergeben Sie eine Channel-Konstante, die für Ihren Channel-Moduls gültig ist. Um mehr als einen Channel anzuwenden, können Sie die Channel-Konstanten mit bitweisen Operationen verknüpfen. Der Standardwert ist Imagick::CHANNEL_DEFAULT. Sehen Sie sich auch die Liste der Channel-Konstanten an

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Using Imagick::adaptiveBlurImage():

Adaptively blur an image, then display to the browser.

<?php

header('Content-type: image/jpeg');

$image = new Imagick('test.jpg');

$image->adaptiveBlurImage(5,3);
echo $image;

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Output of example : Using Imagick::adaptiveBlurImage()

Siehe auch

  • Imagick::blurImage() - Adds blur filter to image
  • Imagick::motionBlurImage() - Simulates motion blur
  • Imagick::radialBlurImage() - Radial blurs an image

Imagick
Imagick::adaptiveResizeImage
Imagick


Adaptively resize image with data dependent triangulation

Imagick::adaptiveBlurImage
Imagick::adaptiveSharpenImage
Imagick
PHP Manual

Imagick::adaptiveResizeImage

(PECL imagick 2.0.0)

Imagick::adaptiveResizeImage — Adaptively resize image with data dependent triangulation

Beschreibung

bool Imagick::adaptiveResizeImage ( int $columns , int $rows [, bool $bestfit = false ] )

Adaptively resize image with data-dependent triangulation. Avoids blurring across sharp color changes. Most useful when used to shrink images slightly to a slightly smaller "web size"; may not look good when a full-sized image is adaptively resized to a thumbnail. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.2.9 oder höher kompiliert wurde.

Hinweis: Das Verhalten des Parameters bestfit hat sich mit Imagick 3.0.0 geändert. Vor dieser Version wurde ein Bild der Größe 200x150 bei der angegebenen Größe von 400x400 nicht verändert. In Imagick 3.0.0 und späteren Versionen wird dieses Bild auf die Größe 400x300 hochgerechnet, da dies die passendste größe für die angegebene Bildgröße ist. Wenn der bestfit-Parameter angegeben wird, so muss sowohl eine Breite als auch eine Höhe angegeben werden.

Parameter-Liste

columns

The number of columns in the scaled image.

rows

The number of rows in the scaled image.

bestfit

Whether to fit the image inside a bounding box.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Changelog

Version | Beschreibung
2.1.0 | Added optional fit parameter.
2.1.0 | This method now supports proportional scaling. Pass zero as either parameter for proportional scaling.

Beispiele

Beispiel #1 Using Imagick::adaptiveResizeImage()

Resize an image to a standard size for the web. This method works best when resizing to a size only slightly smaller than the previous image size.

<?php
header('Content-type: image/jpeg');

$image = new Imagick('image.jpg');
$image->adaptiveResizeImage(1024,768);

echo $image;
?>

Siehe auch

  • Imagick::chopImage() - Removes a region of an image and trims
  • Imagick::cropImage() - Extracts a region of the image
  • Imagick::magnifyImage() - Scales an image proportionally 2x
  • Imagick::minifyImage() - Scales an image proportionally to half its size
  • Imagick::resizeImage() - Scales an image
  • Imagick::scaleImage() - Scales the size of an image
  • Imagick::shaveImage() - Shaves pixels from the image edges
  • Imagick::thumbnailImage() - Changes the size of an image
  • Imagick::trimImage() - Remove edges from the image

Imagick::adaptiveBlurImage
Imagick::adaptiveSharpenImage
Imagick


Adaptively sharpen the image

Imagick::adaptiveResizeImage
Imagick::adaptiveThresholdImage
Imagick
PHP Manual

Imagick::adaptiveSharpenImage

(PECL imagick 2.0.0)

Imagick::adaptiveSharpenImage — Adaptively sharpen the image

Beschreibung

bool Imagick::adaptiveSharpenImage ( float $radius , float $sigma [, int $channel = Imagick::CHANNEL_DEFAULT ] )

Adaptively sharpen the image by sharpening more intensely near image edges and less intensely far from edges. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.2.9 oder höher kompiliert wurde.

Parameter-Liste

radius

The radius of the Gaussian, in pixels, not counting the center pixel. Use 0 for auto-select.

sigma

The standard deviation of the Gaussian, in pixels.

channel

Übergeben Sie eine Channel-Konstante, die für Ihren Channel-Moduls gültig ist. Um mehr als einen Channel anzuwenden, können Sie die Channel-Konstanten mit bitweisen Operationen verknüpfen. Der Standardwert ist Imagick::CHANNEL_DEFAULT. Sehen Sie sich auch die Liste der Channel-Konstanten an

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 A Imagick::adaptiveSharpenImage() example

Adaptively sharpen the image with radius 2 and sigma 1.

<?php
try {
    $image = new Imagick('image.png');
    $image->adaptiveSharpenImage(2,1);
} catch(ImagickException $e) {
    echo 'Error: ' , $e->getMessage();
    die();
}
header('Content-type: image/png');
echo $image;
?>

Siehe auch

  • Imagick::sharpenImage() - Sharpens an image

Imagick::adaptiveResizeImage
Imagick::adaptiveThresholdImage
Imagick


Selects a threshold for each pixel based on a range of intensity

Imagick::adaptiveSharpenImage
Imagick::addImage
Imagick
PHP Manual

Imagick::adaptiveThresholdImage

(PECL imagick 2.0.0)

Imagick::adaptiveThresholdImage — Selects a threshold for each pixel based on a range of intensity

Beschreibung

bool Imagick::adaptiveThresholdImage ( int $width , int $height , int $offset )

Selects an individual threshold for each pixel based on the range of intensity values in its local neighborhood. This allows for thresholding of an image whose global intensity histogram doesn't contain distinctive peaks.

Parameter-Liste

width

Width of the local neighborhood.

height

Height of the local neighborhood.

offset

The mean offset

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Imagick::adaptiveThresholdImage()

<?php
function adaptiveThresholdImage($imagePath, $width, $height, $adaptiveOffset) {
    $imagick = new \Imagick(realpath($imagePath));
    $adaptiveOffsetQuantum = intval($adaptiveOffset * \Imagick::getQuantum());
    $imagick->adaptiveThresholdImage($width, $height, $adaptiveOffsetQuantum);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::adaptiveSharpenImage
Imagick::addImage
Imagick


Adds new image to Imagick object image list

Imagick::adaptiveThresholdImage
Imagick::addNoiseImage
Imagick
PHP Manual

Imagick::addImage

(PECL imagick 2.0.0)

Imagick::addImage — Adds new image to Imagick object image list

Beschreibung

bool Imagick::addImage ( Imagick $source )

Adds new image to Imagick object from the current position of the source object. After the operation iterator position is moved at the end of the list.

Parameter-Liste

source

The source Imagick object

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::adaptiveThresholdImage
Imagick::addNoiseImage
Imagick


Adds random noise to the image

Imagick::addImage
Imagick::affineTransformImage
Imagick
PHP Manual

Imagick::addNoiseImage

(PECL imagick 2.0.0)

Imagick::addNoiseImage — Adds random noise to the image

Beschreibung

bool Imagick::addNoiseImage ( int $noise_type [, int $channel = Imagick::CHANNEL_DEFAULT ] )

Adds random noise to the image.

Parameter-Liste

noise_type

The type of the noise. Refer to this list of noise constants.

channel

Übergeben Sie eine Channel-Konstante, die für Ihren Channel-Moduls gültig ist. Um mehr als einen Channel anzuwenden, können Sie die Channel-Konstanten mit bitweisen Operationen verknüpfen. Der Standardwert ist Imagick::CHANNEL_DEFAULT. Sehen Sie sich auch die Liste der Channel-Konstanten an

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Imagick::addNoiseImage()

<?php
function addNoiseImage($noiseType, $imagePath, $channel) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->addNoiseImage($noiseType, $channel);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::addImage
Imagick::affineTransformImage
Imagick


Transforms an image

Imagick::addNoiseImage
Imagick::animateImages
Imagick
PHP Manual

Imagick::affineTransformImage

(PECL imagick 2.0.0)

Imagick::affineTransformImage — Transforms an image

Beschreibung

bool Imagick::affineTransformImage ( ImagickDraw $matrix )

Transforms an image as dictated by the affine matrix.

Parameter-Liste

matrix

The affine matrix

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Imagick::affineTransformImage()

<?php
function affineTransformImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $draw = new \ImagickDraw();

    $angle = 40 ;

    $affineRotate = array(
        "sx" => cos($angle), "sy" => cos($angle),
        "rx" => sin($angle), "ry" => -sin($angle),
        "tx" => 0, "ty" => 0,
    );

    $draw->affine($affineRotate);

    $imagick->affineTransformImage($draw);

    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::addNoiseImage
Imagick::animateImages
Imagick


Animates an image or images

Imagick::affineTransformImage
Imagick::annotateImage
Imagick
PHP Manual

Imagick::animateImages

(No version information available, might only be in Git)

Imagick::animateImages — Animates an image or images

Beschreibung

bool Imagick::animateImages ( string $x_server )

This method animates the image onto a local or remote X server. This method is not available on Windows. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.3.6 oder höher kompiliert wurde.

Parameter-Liste

x_server

X server address

Rückgabewerte

Liefert TRUE bei Erfolg.

Siehe auch

  • Imagick::displayImage() - Displays an image

Imagick::affineTransformImage
Imagick::annotateImage
Imagick


Annotates an image with text

Imagick::animateImages
Imagick::appendImages
Imagick
PHP Manual

Imagick::annotateImage

(PECL imagick 2.0.0)

Imagick::annotateImage — Annotates an image with text

Beschreibung

bool Imagick::annotateImage ( ImagickDraw $draw_settings , float $x , float $y , float $angle , string $text )

Annotates an image with text.

Parameter-Liste

draw_settings

The ImagickDraw object that contains settings for drawing the text

x

Horizontal offset in pixels to the left of text

y

Vertical offset in pixels to the baseline of text

angle

The angle at which to write the text

text

The string to draw

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Using Imagick::annotateImage():

Annotate text on an empty image

<?php
/* Create some objects */
$image = new Imagick();
$draw = new ImagickDraw();
$pixel = new ImagickPixel( 'gray' );

/* New image */
$image->newImage(800, 75, $pixel);

/* Black text */
$draw->setFillColor('black');

/* Font properties */
$draw->setFont('Bookman-DemiItalic');
$draw->setFontSize( 30 );

/* Create text */
$image->annotateImage($draw, 10, 45, 0, 'The quick brown fox jumps over the lazy dog');

/* Give image a format */
$image->setImageFormat('png');

/* Output the image with headers */
header('Content-type: image/png');
echo $image;

?>

Siehe auch

  • ImagickDraw::annotation() - Draws text on the image
  • ImagickDraw::setFont() - Sets the fully-specified font to use when annotating with text

Imagick::animateImages
Imagick::appendImages
Imagick


Append a set of images

Imagick::annotateImage
Imagick::autoLevelImage
Imagick
PHP Manual

Imagick::appendImages

(PECL imagick 2.0.0)

Imagick::appendImages — Append a set of images

Beschreibung

Imagick Imagick::appendImages ( bool $stack = false )

Append a set of images into one larger image.

Parameter-Liste

stack

Whether to stack the images vertically. By default (or if FALSE is specified) images are stacked left-to-right. If stack is TRUE, images are stacked top-to-bottom.

Rückgabewerte

Returns Imagick instance on success.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::appendImages() example

<?php

/* Create new imagick object */
$im = new Imagick();

/* create red, green and blue images */
$im->newImage(100, 50, "red");
$im->newImage(100, 50, "green");
$im->newImage(100, 50, "blue");

/* Append the images into one */
$im->resetIterator();
$combined = $im->appendImages(true);

/* Output the image */
$combined->setImageFormat("png");
header("Content-Type: image/png");
echo $combined;
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Output of example : Imagick::appendImages()

Imagick::annotateImage
Imagick::autoLevelImage
Imagick


Description

Imagick::appendImages
Imagick::averageImages
Imagick
PHP Manual

Imagick::autoLevelImage

(No version information available, might only be in Git)

Imagick::autoLevelImage — Description

Beschreibung

public void Imagick::autoLevelImage ([ string $CHANNEL = Imagick::CHANNEL_DEFAULT ] )

Adjusts the levels of a particular image channel by scaling the minimum and maximum values to the full quantum range.

Parameter-Liste

CHANNEL

Which channel should the auto-levelling should be done on.

Rückgabewerte

Beispiele

Beispiel #1 Imagick::autoLevelImage()

<?php
function autoLevelImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->autoLevelImage();
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::appendImages
Imagick::averageImages
Imagick


Average a set of images

Imagick::autoLevelImage
Imagick::blackThresholdImage
Imagick
PHP Manual

Imagick::averageImages

(PECL imagick 2.0.0)

Imagick::averageImages — Average a set of images

Beschreibung

Imagick Imagick::averageImages ( void )

Average a set of images.

Rückgabewerte

Returns a new Imagick object on success.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::autoLevelImage
Imagick::blackThresholdImage
Imagick


Forces all pixels below the threshold into black

Imagick::averageImages
Imagick::blueShiftImage
Imagick
PHP Manual

Imagick::blackThresholdImage

(PECL imagick 2.0.0)

Imagick::blackThresholdImage — Forces all pixels below the threshold into black

Beschreibung

bool Imagick::blackThresholdImage ( mixed $threshold )

Is like Imagick::thresholdImage() but forces all pixels below the threshold into black while leaving all pixels above the threshold unchanged.

Parameter-Liste

threshold

The threshold below which everything turns black

Rückgabewerte

Liefert TRUE bei Erfolg.

Changelog

Version | Beschreibung
2.1.0 | Now allows a string representing the color as a parameter. Previous versions allow only an ImagickPixel object.

Beispiele

Beispiel #1 Imagick::blackThresholdImage()

<?php
function blackThresholdImage($imagePath, $thresholdColor) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->blackthresholdimage($thresholdColor);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::averageImages
Imagick::blueShiftImage
Imagick


Description

Imagick::blackThresholdImage
Imagick::blurImage
Imagick
PHP Manual

Imagick::blueShiftImage

(No version information available, might only be in Git)

Imagick::blueShiftImage — Description

Beschreibung

public void Imagick::blueShiftImage ([ float $factor = 1.5 ] )

Mutes the colors of the image to simulate a scene at nighttime in the moonlight.

Parameter-Liste

factor

Rückgabewerte

Beispiele

Beispiel #1 Imagick::blueShiftImage()

<?php
function blueShiftImage($imagePath, $blueShift) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->blueShiftImage($blueShift);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::blackThresholdImage
Imagick::blurImage
Imagick


Adds blur filter to image

Imagick::blueShiftImage
Imagick::borderImage
Imagick
PHP Manual

Imagick::blurImage

(PECL imagick 2.0.0)

Imagick::blurImage — Adds blur filter to image

Beschreibung

bool Imagick::blurImage ( float $radius , float $sigma [, int $channel ] )

Adds blur filter to image. Optional third parameter to blur a specific channel.

Parameter-Liste

radius

Blur radius

sigma

Standard deviation

channel

The Channeltype constant. When not supplied, all channels are blurred.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Using Imagick::blurImage():

Blur an image, then display to the browser.

<?php

header('Content-type: image/jpeg');

$image = new Imagick('test.jpg');

$image->blurImage(5,3);
echo $image;

?>

Siehe auch

  • Imagick::adaptiveBlurImage() - Adds adaptive blur filter to image
  • Imagick::motionBlurImage() - Simulates motion blur
  • Imagick::radialBlurImage() - Radial blurs an image

Imagick::blueShiftImage
Imagick::borderImage
Imagick


Surrounds the image with a border

Imagick::blurImage
Imagick::brightnessContrastImage
Imagick
PHP Manual

Imagick::borderImage

(PECL imagick 2.0.0)

Imagick::borderImage — Surrounds the image with a border

Beschreibung

bool Imagick::borderImage ( mixed $bordercolor , int $width , int $height )

Surrounds the image with a border of the color defined by the bordercolor ImagickPixel object.

Parameter-Liste

bordercolor

ImagickPixel object or a string containing the border color

width

Border width

height

Border height

Rückgabewerte

Liefert TRUE bei Erfolg.

Changelog

Version | Beschreibung
2.1.0 | Now allows a string representing the color as the first parameter. Previous versions allow only an ImagickPixel object.

Beispiele

Beispiel #1 Imagick::borderImage()

<?php
function borderImage($imagePath, $color, $width, $height) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->borderImage($color, $width, $height);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::blurImage
Imagick::brightnessContrastImage
Imagick


Description

Imagick::borderImage
Imagick::charcoalImage
Imagick
PHP Manual

Imagick::brightnessContrastImage

(No version information available, might only be in Git)

Imagick::brightnessContrastImage — Description

Beschreibung

public void Imagick::brightnessContrastImage ( string $brightness , string $contrast [, string $CHANNEL = Imagick::CHANNEL_DEFAULT ] )

Change the brightness and/or contrast of an image. It converts the brightness and contrast parameters into slope and intercept and calls a polynomical function to apply to the image.

Parameter-Liste

brightness

contrast

CHANNEL

Rückgabewerte

Beispiele

Beispiel #1 Imagick::brightnessContrastImage()

<?php
function brightnessContrastImage($imagePath, $brightness, $contrast, $channel) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->brightnessContrastImage($brightness, $contrast, $channel);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::borderImage
Imagick::charcoalImage
Imagick


Simulates a charcoal drawing

Imagick::brightnessContrastImage
Imagick::chopImage
Imagick
PHP Manual

Imagick::charcoalImage

(PECL imagick 2.0.0)

Imagick::charcoalImage — Simulates a charcoal drawing

Beschreibung

bool Imagick::charcoalImage ( float $radius , float $sigma )

Simulates a charcoal drawing.

Parameter-Liste

radius

The radius of the Gaussian, in pixels, not counting the center pixel

sigma

The standard deviation of the Gaussian, in pixels

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Imagick::charcoalImage()

<?php
function charcoalImage($imagePath, $radius, $sigma) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->charcoalImage($radius, $sigma);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::brightnessContrastImage
Imagick::chopImage
Imagick


Removes a region of an image and trims

Imagick::charcoalImage
Imagick::clampImage
Imagick
PHP Manual

Imagick::chopImage

(PECL imagick 2.0.0)

Imagick::chopImage — Removes a region of an image and trims

Beschreibung

bool Imagick::chopImage ( int $width , int $height , int $x , int $y )

Removes a region of an image and collapses the image to occupy the removed portion.

Parameter-Liste

width

Width of the chopped area

height

Height of the chopped area

x

X origo of the chopped area

y

Y origo of the chopped area

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Using Imagick::chopImage():

Example of using Imagick::chopImage

<?php
/* Create some objects */
$image = new Imagick();
$pixel = new ImagickPixel( 'gray' );

/* New image */
$image->newImage(400, 200, $pixel);

/* Chop image */
$image->chopImage(200, 200, 0, 0);

/* Give image a format */
$image->setImageFormat('png');

/* Output the image with headers */
header('Content-type: image/png');
echo $image;

?>

Siehe auch

  • Imagick::cropImage() - Extracts a region of the image

Imagick::charcoalImage
Imagick::clampImage
Imagick


Description

Imagick::chopImage
Imagick::clear
Imagick
PHP Manual

Imagick::clampImage

(No version information available, might only be in Git)

Imagick::clampImage — Description

Beschreibung

public void Imagick::clampImage ([ string $CHANNEL = Imagick::CHANNEL_DEFAULT ] )

Restricts the color range from 0 to the quantum depth.

Parameter-Liste

CHANNEL

Rückgabewerte

Imagick::chopImage
Imagick::clear
Imagick


Clears all resources associated to Imagick object

Imagick::clampImage
Imagick::clipImage
Imagick
PHP Manual

Imagick::clear

(PECL imagick 2.0.0)

Imagick::clear — Clears all resources associated to Imagick object

Beschreibung

bool Imagick::clear ( void )

Clears all resources associated to Imagick object

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::clampImage
Imagick::clipImage
Imagick


Clips along the first path from the 8BIM profile

Imagick::clear
Imagick::clipImagePath
Imagick
PHP Manual

Imagick::clipImage

(PECL imagick 2.0.0)

Imagick::clipImage — Clips along the first path from the 8BIM profile

Beschreibung

bool Imagick::clipImage ( void )

Clips along the first path from the 8BIM profile, if present.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::clear
Imagick::clipImagePath
Imagick


Description

Imagick::clipImage
Imagick::clipPathImage
Imagick
PHP Manual

Imagick::clipImagePath

(No version information available, might only be in Git)

Imagick::clipImagePath — Description

Beschreibung

public void Imagick::clipImagePath ( string $pathname , string $inside )

Clips along the named paths from the 8BIM profile, if present. Later operations take effect inside the path. Id may be a number if preceded with #, to work on a numbered path, e.g., "#1" to use the first path.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

pathname

inside

Rückgabewerte

Imagick::clipImage
Imagick::clipPathImage
Imagick


Clips along the named paths from the 8BIM profile

Imagick::clipImagePath
Imagick::clone
Imagick
PHP Manual

Imagick::clipPathImage

(PECL imagick 2.0.0)

Imagick::clipPathImage — Clips along the named paths from the 8BIM profile

Beschreibung

bool Imagick::clipPathImage ( string $pathname , bool $inside )

Clips along the named paths from the 8BIM profile, if present. Later operations take effect inside the path. It may be a number if preceded with #, to work on a numbered path, e.g., "#1" to use the first path.

Parameter-Liste

pathname

The name of the path

inside

If TRUE later operations take effect inside clipping path. Otherwise later operations take effect outside clipping path.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::clipImagePath
Imagick::clone
Imagick


Makes an exact copy of the Imagick object

Imagick::clipPathImage
Imagick::clutImage
Imagick
PHP Manual

Imagick::clone

(PECL imagick 2.0.0)

Imagick::clone — Makes an exact copy of the Imagick object

Beschreibung

Imagick Imagick::clone ( void )

Makes an exact copy of the Imagick object.

Warnung

This function has been DEPRECATED as of imagick 3.1.0 in favour of using the clone keyword.

Beispiele

Beispiel #1 Imagick object cloning in different versions of imagick

<?php
// Cloning an Imagick object in imagick 2.x and 3.0:
$newImage = $image->clone();

// Cloning an Imagick object from 3.1.0 on:
$newImage = clone $image;
?>

Rückgabewerte

A copy of the Imagick object is returned.

Changelog

Version | Beschreibung
3.1.0 | The method was deprecated in favour of the clone keyword.

Imagick::clipPathImage
Imagick::clutImage
Imagick


Replaces colors in the image

Imagick::clone
Imagick::coalesceImages
Imagick
PHP Manual

Imagick::clutImage

(PECL imagick 2.0.0)

Imagick::clutImage — Replaces colors in the image

Beschreibung

bool Imagick::clutImage ( Imagick $lookup_table [, float $channel = Imagick::CHANNEL_DEFAULT ] )

Replaces colors in the image from a color lookup table. Optional second parameter to replace colors in a specific channel. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.3.6 oder höher kompiliert wurde.

Parameter-Liste

lookup_table

Imagick object containing the color lookup table

channel

The Channeltype constant. When not supplied, default channels are replaced.

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Using Imagick::clutImage():

Replace colors in the image from a color lookup table.

<?php
$image = new Imagick('test.jpg');
$clut = new Imagick();
$clut->newImage(1, 1, new ImagickPixel('black'));
$image->clutImage($clut);
$image->writeImage('test_out.jpg');
?>

Siehe auch

  • Imagick::adaptiveBlurImage() - Adds adaptive blur filter to image
  • Imagick::motionBlurImage() - Simulates motion blur
  • Imagick::radialBlurImage() - Radial blurs an image

Imagick::clone
Imagick::coalesceImages
Imagick


Composites a set of images

Imagick::clutImage
Imagick::colorFloodfillImage
Imagick
PHP Manual

Imagick::coalesceImages

(PECL imagick 2.0.0)

Imagick::coalesceImages — Composites a set of images

Beschreibung

Imagick Imagick::coalesceImages ( void )

Composites a set of images while respecting any page offsets and disposal methods. GIF, MIFF, and MNG animation sequences typically start with an image background and each subsequent image varies in size and offset. Returns a new Imagick object where each image in the sequence is the same size as the first and composited with the next image in the sequence.

Rückgabewerte

Returns a new Imagick object on success.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::clutImage
Imagick::colorFloodfillImage
Imagick


Changes the color value of any pixel that matches target

Imagick::coalesceImages
Imagick::colorizeImage
Imagick
PHP Manual

Imagick::colorFloodfillImage

(PECL imagick 2.0.0)

Imagick::colorFloodfillImage — Changes the color value of any pixel that matches target

Beschreibung

bool Imagick::colorFloodfillImage ( mixed $fill , float $fuzz , mixed $bordercolor , int $x , int $y )

Changes the color value of any pixel that matches target and is an immediate neighbor.

Parameter-Liste

fill

ImagickPixel object containing the fill color

fuzz

The amount of fuzz. For example, set fuzz to 10 and the color red at intensities of 100 and 102 respectively are now interpreted as the same color for the purposes of the floodfill.

bordercolor

ImagickPixel object containing the border color

x

X start position of the floodfill

y

Y start position of the floodfill

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Changelog

Version | Beschreibung
2.1.0 | Now allows a string representing the color as first and third parameter. Previous versions allow only an ImagickPixel object.

Imagick::coalesceImages
Imagick::colorizeImage
Imagick


Blends the fill color with the image

Imagick::colorFloodfillImage
Imagick::colorMatrixImage
Imagick
PHP Manual

Imagick::colorizeImage

(PECL imagick 2.0.0)

Imagick::colorizeImage — Blends the fill color with the image

Beschreibung

bool Imagick::colorizeImage ( mixed $colorize , mixed $opacity )

Blends the fill color with each pixel in the image.

Parameter-Liste

colorize

ImagickPixel object or a string containing the colorize color

opacity

ImagickPixel object or an float containing the opacity value. 1.0 is fully opaque and 0.0 is fully transparent.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Changelog

Version | Beschreibung
2.1.0 | Now allows a string representing the color as the first parameter and a float representing the opacity value as the second parameter. Previous versions allow only an ImagickPixel objects.

Beispiele

Beispiel #1 Imagick::colorizeImage()

<?php
function colorizeImage($imagePath, $color, $opacity) {
    $imagick = new \Imagick(realpath($imagePath));
    $opacity = $opacity / 255.0;
    $opacityColor = new \ImagickPixel("rgba(0, 0, 0, $opacity)");
    $imagick->colorizeImage($color, $opacityColor);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::colorFloodfillImage
Imagick::colorMatrixImage
Imagick


Description

Imagick::colorizeImage
Imagick::combineImages
Imagick
PHP Manual

Imagick::colorMatrixImage

(No version information available, might only be in Git)

Imagick::colorMatrixImage — Description

Beschreibung

public void Imagick::colorMatrixImage ( string $color_matrix = Imagick::CHANNEL_DEFAULT )

Apply color transformation to an image. The method permits saturation changes, hue rotation, luminance to alpha, and various other effects. Although variable-sized transformation matrices can be used, typically one uses a 5x5 matrix for an RGBA image and a 6x6 for CMYKA (or RGBA with offsets). The matrix is similar to those used by Adobe Flash except offsets are in column 6 rather than 5 (in support of CMYKA images) and offsets are normalized (divide Flash offset by 255)

Parameter-Liste

color_matrix

Rückgabewerte

Beispiele

Beispiel #1 Imagick::colorMatrixImage()

<?php
function colorMatrixImage($imagePath, $colorMatrix) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->setImageOpacity(1);

    //A color matrix should look like:
    //    $colorMatrix = [
    //        1.5, 0.0, 0.0, 0.0, 0.0, -0.157,
    //        0.0, 1.0, 0.5, 0.0, 0.0, -0.157,
    //        0.0, 0.0, 1.5, 0.0, 0.0, -0.157,
    //        0.0, 0.0, 0.0, 1.0, 0.0,  0.0,
    //        0.0, 0.0, 0.0, 0.0, 1.0,  0.0,
    //        0.0, 0.0, 0.0, 0.0, 0.0,  1.0
    //    ];

    $background = new \Imagick();
    $background->newPseudoImage($imagick->getImageWidth(), $imagick->getImageHeight(),  "pattern:checkerboard");

    $background->setImageFormat('png');

    $imagick->setImageFormat('png');
    $imagick->colorMatrixImage($colorMatrix);

    $background->compositeImage($imagick, \Imagick::COMPOSITE_ATOP, 0, 0);

    header("Content-Type: image/png");
    echo $background->getImageBlob();
}

?>

Imagick::colorizeImage
Imagick::combineImages
Imagick


Combines one or more images into a single image

Imagick::colorMatrixImage
Imagick::commentImage
Imagick
PHP Manual

Imagick::combineImages

(PECL imagick 2.0.0)

Imagick::combineImages — Combines one or more images into a single image

Beschreibung

Imagick Imagick::combineImages ( int $channelType )

Combines one or more images into a single image. The grayscale value of the pixels of each image in the sequence is assigned in order to the specified channels of the combined image. The typical ordering would be image 1 => Red, 2 => Green, 3 => Blue, etc.

Parameter-Liste

channelType

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::colorMatrixImage
Imagick::commentImage
Imagick


Adds a comment to your image

Imagick::combineImages
Imagick::compareImageChannels
Imagick
PHP Manual

Imagick::commentImage

(PECL imagick 2.0.0)

Imagick::commentImage — Adds a comment to your image

Beschreibung

bool Imagick::commentImage ( string $comment )

Adds a comment to your image.

Parameter-Liste

comment

The comment to add

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Using Imagick::commentImage():

Commenting an image and retrieving the comment:

<?php

/* Create new Imagick object */
$im = new imagick();

/* Create an empty image */
$im->newImage(100, 100, new ImagickPixel("red"));

/* Add comment to the image */
$im->commentImage("Hello World!");

/* Display the comment */
echo $im->getImageProperty("comment");

?>

Imagick::combineImages
Imagick::compareImageChannels
Imagick


Returns the difference in one or more images

Imagick::commentImage
Imagick::compareImageLayers
Imagick
PHP Manual

Imagick::compareImageChannels

(PECL imagick 2.0.0)

Imagick::compareImageChannels — Returns the difference in one or more images

Beschreibung

array Imagick::compareImageChannels ( Imagick $image , int $channelType , int $metricType )

Compares one or more images and returns the difference image.

Parameter-Liste

image

Imagick object containing the image to compare.

channelType

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

metricType

One of the metric type constants.

Rückgabewerte

Array consisting of new_wand and distortion.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::commentImage
Imagick::compareImageLayers
Imagick


Returns the maximum bounding region between images

Imagick::compareImageChannels
Imagick::compareImages
Imagick
PHP Manual

Imagick::compareImageLayers

(PECL imagick 2.0.0)

Imagick::compareImageLayers — Returns the maximum bounding region between images

Beschreibung

Imagick Imagick::compareImageLayers ( int $method )

Compares each image with the next in a sequence and returns the maximum bounding region of any pixel differences it discovers. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.2.9 oder höher kompiliert wurde.

Parameter-Liste

method

One of the layer method constants.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Using Imagick::compareImageLayers()

Comparing image layers

<?php
/* create new imagick object */
$im = new Imagick("test.gif");

/* optimize the image layers */
$result = $im->compareImageLayers(imagick::LAYERMETHOD_COALESCE);

/* work on the $result */
?>

Siehe auch

  • Imagick::optimizeImageLayers() - Removes repeated portions of images to optimize
  • Imagick::writeImages() - Writes an image or image sequence
  • Imagick::writeImage() - Writes an image to the specified filename

Imagick::compareImageChannels
Imagick::compareImages
Imagick


Compares an image to a reconstructed image

Imagick::compareImageLayers
Imagick::compositeImage
Imagick
PHP Manual

Imagick::compareImages

(PECL imagick 2.0.0)

Imagick::compareImages — Compares an image to a reconstructed image

Beschreibung

array Imagick::compareImages ( Imagick $compare , int $metric )

Returns an array containing a reconstructed image and the difference between images.

Parameter-Liste

compare

An image to compare to.

metric

Provide a valid metric type constant. Refer to this list of metric constants.

Rückgabewerte

Returns an array containing a reconstructed image and the difference between images.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Using Imagick::compareImages():

Compare images and display the reconstructed image

<?php

$image1 = new imagick("image1.png");
$image2 = new imagick("image2.png");

$result = $image1->compareImages($image2, Imagick::METRIC_MEANSQUAREERROR);
$result[0]->setImageFormat("png");

header("Content-Type: image/png");
echo $result[0];

?>

Imagick::compareImageLayers
Imagick::compositeImage
Imagick


Composite one image onto another

Imagick::compareImages
Imagick::__construct
Imagick
PHP Manual

Imagick::compositeImage

(PECL imagick 2.0.0)

Imagick::compositeImage — Composite one image onto another

Beschreibung

bool Imagick::compositeImage ( Imagick $composite_object , int $composite , int $x , int $y [, int $channel = Imagick::CHANNEL_ALL ] )

Composite one image onto another at the specified offset. Any extra arguments needed for the compose algorithm should passed to setImageArtifact with 'compose:args' as the first parameter and the data as the second parameter.

Parameter-Liste

composite_object

Imagick object which holds the composite image

compose

Composite operator. See Composite Operator Constants

x

The column offset of the composited image

y

The row offset of the composited image

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Using Imagick::compositeImage():

Composite two images with the 'mathematics' compose method

<?php

// Equivalent to running the command
// convert src1.png src2.png -compose mathematics -define compose:args="1,0,-0.5,0.5" -composite output.png

$src1 = new \Imagick("./src1.png");
$src2 = new \Imagick("./src2.png");

$src1->setImageVirtualPixelMethod(Imagick::VIRTUALPIXELMETHOD_TRANSPARENT);
$src1->setImageArtifact('compose:args', "1,0,-0.5,0.5");
$src1->compositeImage($src2, Imagick::COMPOSITE_MATHEMATICS, 0, 0);
$src1->writeImage("./output.png");

?>

Siehe auch

  • Imagick::setImageArtifact() - Set image artifact

Imagick::compareImages
Imagick::__construct
Imagick


The Imagick constructor

Imagick::compositeImage
Imagick::contrastImage
Imagick
PHP Manual

Imagick::__construct

(PECL imagick 2.0.0)

Imagick::__construct — The Imagick constructor

Beschreibung

Imagick::__construct ( mixed $files )

Creates an Imagick instance for a specified image or set of images.

Parameter-Liste

files

The path to an image to load or an array of paths. Paths can include wildcards for file names, or can be URLs.

Rückgabewerte

Returns a new Imagick object on success.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::compositeImage
Imagick::contrastImage
Imagick


Change the contrast of the image

Imagick::__construct
Imagick::contrastStretchImage
Imagick
PHP Manual

Imagick::contrastImage

(PECL imagick 2.0.0)

Imagick::contrastImage — Change the contrast of the image

Beschreibung

bool Imagick::contrastImage ( bool $sharpen )

Enhances the intensity differences between the lighter and darker elements of the image. Set sharpen to a value other than 0 to increase the image contrast otherwise the contrast is reduced.

Parameter-Liste

sharpen

The sharpen value

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::contrastImage()

<?php
function contrastImage($imagePath, $contrastType) {
    $imagick = new \Imagick(realpath($imagePath));
    if ($contrastType != 2) {
        $imagick->contrastImage($contrastType);
    }

    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::__construct
Imagick::contrastStretchImage
Imagick


Enhances the contrast of a color image

Imagick::contrastImage
Imagick::convolveImage
Imagick
PHP Manual

Imagick::contrastStretchImage

(PECL imagick 2.0.0)

Imagick::contrastStretchImage — Enhances the contrast of a color image

Beschreibung

bool Imagick::contrastStretchImage ( float $black_point , float $white_point [, int $channel = Imagick::CHANNEL_ALL ] )

Enhances the contrast of a color image by adjusting the pixels color to span the entire range of colors available. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.2.9 oder höher kompiliert wurde.

Parameter-Liste

black_point

The black point.

white_point

The white point.

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Imagick::CHANNEL_ALL. Refer to this list of channel constants.

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::contrastImage
Imagick::convolveImage
Imagick


Applies a custom convolution kernel to the image

Imagick::contrastStretchImage
Imagick::count
Imagick
PHP Manual

Imagick::convolveImage

(PECL imagick 2.0.0)

Imagick::convolveImage — Applies a custom convolution kernel to the image

Beschreibung

bool Imagick::convolveImage ( array $kernel [, int $channel = Imagick::CHANNEL_ALL ] )

Applies a custom convolution kernel to the image.

Parameter-Liste

kernel

The convolution kernel

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::convolveImage()

<?php
function convolveImage($imagePath, $bias, $kernelMatrix) {
    $imagick = new \Imagick(realpath($imagePath));
    //$edgeFindingKernel = [-1, -1, -1, -1, 8, -1, -1, -1, -1,];
    $imagick->setImageBias($bias * \Imagick::getQuantum());
    $imagick->convolveImage($kernelMatrix);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::contrastStretchImage
Imagick::count
Imagick


Description

Imagick::convolveImage
Imagick::cropImage
Imagick
PHP Manual

Imagick::count

(No version information available, might only be in Git)

Imagick::count — Description

Beschreibung

public void Imagick::count ([ string $mode ] )

Returns the number of images.

Parameter-Liste

mode

An unused argument. Currently there is a non-particularly well defined feature in PHP where calling count() on a countable object might (or might not) require this method to accept a parameter. This parameter is here to be conformant with the interface of countable, even though the param is not used.

Rückgabewerte

Imagick::convolveImage
Imagick::cropImage
Imagick


Extracts a region of the image

Imagick::count
Imagick::cropThumbnailImage
Imagick
PHP Manual

Imagick::cropImage

(PECL imagick 2.0.0)

Imagick::cropImage — Extracts a region of the image

Beschreibung

bool Imagick::cropImage ( int $width , int $height , int $x , int $y )

Extracts a region of the image.

Parameter-Liste

width

The width of the crop

height

The height of the crop

x

The X coordinate of the cropped region's top left corner

y

The Y coordinate of the cropped region's top left corner

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::cropImage()

<?php
function cropImage($imagePath, $startX, $startY, $width, $height) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->cropImage($width, $height, $startX, $startY);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::count
Imagick::cropThumbnailImage
Imagick


Creates a crop thumbnail

Imagick::cropImage
Imagick::current
Imagick
PHP Manual

Imagick::cropThumbnailImage

(PECL imagick 2.0.0)

Imagick::cropThumbnailImage — Creates a crop thumbnail

Beschreibung

bool Imagick::cropThumbnailImage ( int $width , int $height )

Creates a fixed size thumbnail by first scaling the image up or down and cropping a specified area from the center.

Parameter-Liste

width

The width of the thumbnail

height

The Height of the thumbnail

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::cropImage
Imagick::current
Imagick


Returns a reference to the current Imagick object

Imagick::cropThumbnailImage
Imagick::cycleColormapImage
Imagick
PHP Manual

Imagick::current

(PECL imagick 2.0.0)

Imagick::current — Returns a reference to the current Imagick object

Beschreibung

Imagick Imagick::current ( void )

Returns reference to the current imagick object with image pointer at the correct sequence.

Rückgabewerte

Returns self on success.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::cropThumbnailImage
Imagick::cycleColormapImage
Imagick


Displaces an image's colormap

Imagick::current
Imagick::decipherImage
Imagick
PHP Manual

Imagick::cycleColormapImage

(PECL imagick 2.0.0)

Imagick::cycleColormapImage — Displaces an image's colormap

Beschreibung

bool Imagick::cycleColormapImage ( int $displace )

Displaces an image's colormap by a given number of positions. If you cycle the colormap a number of times you can produce a psychedelic effect.

Parameter-Liste

displace

The amount to displace the colormap.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::current
Imagick::decipherImage
Imagick


Deciphers an image

Imagick::cycleColormapImage
Imagick::deconstructImages
Imagick
PHP Manual

Imagick::decipherImage

(No version information available, might only be in Git)

Imagick::decipherImage — Deciphers an image

Beschreibung

bool Imagick::decipherImage ( string $passphrase )

Deciphers image that has been enciphered before. The image must be enciphered using Imagick::encipherImage(). Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.3.9 oder höher kompiliert wurde.

Parameter-Liste

passphrase

The passphrase

Rückgabewerte

Liefert TRUE bei Erfolg.

Siehe auch

  • Imagick::encipherImage() - Enciphers an image

Imagick::cycleColormapImage
Imagick::deconstructImages
Imagick


Returns certain pixel differences between images

Imagick::decipherImage
Imagick::deleteImageArtifact
Imagick
PHP Manual

Imagick::deconstructImages

(PECL imagick 2.0.0)

Imagick::deconstructImages — Returns certain pixel differences between images

Beschreibung

Imagick Imagick::deconstructImages ( void )

Compares each image with the next in a sequence and returns the maximum bounding region of any pixel differences it discovers.

Rückgabewerte

Returns a new Imagick object on success.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::decipherImage
Imagick::deleteImageArtifact
Imagick


Delete image artifact

Imagick::deconstructImages
Imagick::deleteImageProperty
Imagick
PHP Manual

Imagick::deleteImageArtifact

(No version information available, might only be in Git)

Imagick::deleteImageArtifact — Delete image artifact

Beschreibung

bool Imagick::deleteImageArtifact ( string $artifact )

Deletes an artifact associated with the image. The difference between image properties and image artifacts is that properties are public and artifacts are private. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.5.7 oder höher kompiliert wurde.

Parameter-Liste

artifact

The name of the artifact to delete

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Siehe auch

  • Imagick::setImageArtifact() - Set image artifact
  • Imagick::getImageArtifact() - Get image artifact

Imagick::deconstructImages
Imagick::deleteImageProperty
Imagick


Description

Imagick::deleteImageArtifact
Imagick::deskewImage
Imagick
PHP Manual

Imagick::deleteImageProperty

(No version information available, might only be in Git)

Imagick::deleteImageProperty — Description

Beschreibung

public void Imagick::deleteImageProperty ( string $name )

Deletes an image property.

Parameter-Liste

name

The name of the property to delete.

Rückgabewerte

Imagick::deleteImageArtifact
Imagick::deskewImage
Imagick


Removes skew from the image

Imagick::deleteImageProperty
Imagick::despeckleImage
Imagick
PHP Manual

Imagick::deskewImage

(No version information available, might only be in Git)

Imagick::deskewImage — Removes skew from the image

Beschreibung

public bool Imagick::deskewImage ( float $threshold )

This method can be used to remove skew from for example scanned images where the paper was not properly placed on the scanning surface. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.4.5 oder höher kompiliert wurde.

Parameter-Liste

threshold

Deskew threshold

Rückgabewerte

Beispiele

Beispiel #1 Imagick::deskewImage()

<?php
function deskewImage($threshold) {
    $imagick = new \Imagick(realpath("images/NYTimes-Page1-11-11-1918.jpg"));
    $deskewImagick = clone $imagick;

    //This is the only thing required for deskewing.
    $deskewImagick->deskewImage($threshold);

    //The rest of this example is to make the result obvious - because
    //otherwise the result is not obvious.
    $trim = 9;

    $deskewImagick->cropImage($deskewImagick->getImageWidth() - $trim, $deskewImagick->getImageHeight(), $trim, 0);
    $imagick->cropImage($imagick->getImageWidth() - $trim, $imagick->getImageHeight(), $trim, 0);
    $deskewImagick->resizeimage($deskewImagick->getImageWidth() / 2, $deskewImagick->getImageHeight() / 2, \Imagick::FILTER_LANCZOS, 1);
    $imagick->resizeimage($imagick->getImageWidth() / 2, $imagick->getImageHeight() / 2, \Imagick::FILTER_LANCZOS, 1);
    $newCanvas = new \Imagick();
    $newCanvas->newimage($imagick->getImageWidth() + $deskewImagick->getImageWidth() + 20, $imagick->getImageHeight(), 'red', 'jpg');
    $newCanvas->compositeimage($imagick, \Imagick::COMPOSITE_COPY, 5, 0);
    $newCanvas->compositeimage($deskewImagick, \Imagick::COMPOSITE_COPY, $imagick->getImageWidth() + 10, 0);

    header("Content-Type: image/jpg");
    echo $newCanvas->getImageBlob();
}

?>

Imagick::deleteImageProperty
Imagick::despeckleImage
Imagick


Reduces the speckle noise in an image

Imagick::deskewImage
Imagick::destroy
Imagick
PHP Manual

Imagick::despeckleImage

(PECL imagick 2.0.0)

Imagick::despeckleImage — Reduces the speckle noise in an image

Beschreibung

bool Imagick::despeckleImage ( void )

Reduces the speckle noise in an image while preserving the edges of the original image.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::despeckleImage()

<?php
function despeckleImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->despeckleImage();
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::deskewImage
Imagick::destroy
Imagick


Destroys the Imagick object

Imagick::despeckleImage
Imagick::displayImage
Imagick
PHP Manual

Imagick::destroy

(PECL imagick 2.0.0)

Imagick::destroy — Destroys the Imagick object

Beschreibung

bool Imagick::destroy ( void )

Destroys the Imagick object and frees all resources associated with it. This method is deprecated in favour of Imagick::clear.

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::despeckleImage
Imagick::displayImage
Imagick


Displays an image

Imagick::destroy
Imagick::displayImages
Imagick
PHP Manual

Imagick::displayImage

(PECL imagick 2.0.0)

Imagick::displayImage — Displays an image

Beschreibung

bool Imagick::displayImage ( string $servername )

This method displays an image on a X server.

Parameter-Liste

servername

The X server name

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::destroy
Imagick::displayImages
Imagick


Displays an image or image sequence

Imagick::displayImage
Imagick::distortImage
Imagick
PHP Manual

Imagick::displayImages

(PECL imagick 2.0.0)

Imagick::displayImages — Displays an image or image sequence

Beschreibung

bool Imagick::displayImages ( string $servername )

Displays an image or image sequence on a X server.

Parameter-Liste

servername

The X server name

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::displayImage
Imagick::distortImage
Imagick


Distorts an image using various distortion methods

Imagick::displayImages
Imagick::drawImage
Imagick
PHP Manual

Imagick::distortImage

(PECL imagick 2.0.1)

Imagick::distortImage — Distorts an image using various distortion methods

Beschreibung

bool Imagick::distortImage ( int $method , array $arguments , bool $bestfit )

Distorts an image using various distortion methods, by mapping color lookups of the source image to a new destination image usually of the same size as the source image, unless 'bestfit' is set to TRUE.

If 'bestfit' is enabled, and distortion allows it, the destination image is adjusted to ensure the whole source 'image' will just fit within the final destination image, which will be sized and offset accordingly. Also in many cases the virtual offset of the source image will be taken into account in the mapping.

Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.3.6 oder höher kompiliert wurde.

Parameter-Liste

method

The method of image distortion. See distortion constants

arguments

The arguments for this distortion method

bestfit

Attempt to resize destination to fit distorted source

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Using Imagick::distortImage():

Distort an image and display to the browser.

<?php
/* Create new object */
$im = new Imagick();

/* Create new checkerboard pattern */
$im->newPseudoImage(100, 100, "pattern:checkerboard");

/* Set the image format to png */
$im->setImageFormat('png');

/* Fill new visible areas with transparent */
$im->setImageVirtualPixelMethod(Imagick::VIRTUALPIXELMETHOD_TRANSPARENT);

/* Activate matte */
$im->setImageMatte(true);

/* Control points for the distortion */
$controlPoints = array( 10, 10,
                        10, 5,

                        10, $im->getImageHeight() - 20,
                        10, $im->getImageHeight() - 5,

                        $im->getImageWidth() - 10, 10,
                        $im->getImageWidth() - 10, 20,

                        $im->getImageWidth() - 10, $im->getImageHeight() - 10,
                        $im->getImageWidth() - 10, $im->getImageHeight() - 30);

/* Perform the distortion */
$im->distortImage(Imagick::DISTORTION_PERSPECTIVE, $controlPoints, true);

/* Ouput the image */
header("Content-Type: image/png");
echo $im;
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Output of example : Using Imagick::distortImage()

Siehe auch

  • Imagick::blurImage() - Adds blur filter to image
  • Imagick::motionBlurImage() - Simulates motion blur
  • Imagick::radialBlurImage() - Radial blurs an image

Imagick::displayImages
Imagick::drawImage
Imagick


Renders the ImagickDraw object on the current image

Imagick::distortImage
Imagick::edgeImage
Imagick
PHP Manual

Imagick::drawImage

(PECL imagick 2.0.0)

Imagick::drawImage — Renders the ImagickDraw object on the current image

Beschreibung

bool Imagick::drawImage ( ImagickDraw $draw )

Renders the ImagickDraw object on the current image.

Parameter-Liste

draw

The drawing operations to render on the image.

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::distortImage
Imagick::edgeImage
Imagick


Enhance edges within the image

Imagick::drawImage
Imagick::embossImage
Imagick
PHP Manual

Imagick::edgeImage

(PECL imagick 2.0.0)

Imagick::edgeImage — Enhance edges within the image

Beschreibung

bool Imagick::edgeImage ( float $radius )

Enhance edges within the image with a convolution filter of the given radius. Use radius 0 and it will be auto-selected.

Parameter-Liste

radius

The radius of the operation.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::edgeImage()

<?php
function edgeImage($imagePath, $radius) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->edgeImage($radius);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::drawImage
Imagick::embossImage
Imagick


Returns a grayscale image with a three-dimensional effect

Imagick::edgeImage
Imagick::encipherImage
Imagick
PHP Manual

Imagick::embossImage

(PECL imagick 2.0.0)

Imagick::embossImage — Returns a grayscale image with a three-dimensional effect

Beschreibung

bool Imagick::embossImage ( float $radius , float $sigma )

Returns a grayscale image with a three-dimensional effect. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and it will choose a suitable radius for you.

Parameter-Liste

radius

The radius of the effect

sigma

The sigma of the effect

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::embossImage()

<?php
function embossImage($imagePath, $radius, $sigma) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->embossImage($radius, $sigma);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::edgeImage
Imagick::encipherImage
Imagick


Enciphers an image

Imagick::embossImage
Imagick::enhanceImage
Imagick
PHP Manual

Imagick::encipherImage

(No version information available, might only be in Git)

Imagick::encipherImage — Enciphers an image

Beschreibung

bool Imagick::encipherImage ( string $passphrase )

Converts plain pixels to enciphered pixels. The image is not readable until it has been deciphered using Imagick::decipherImage() Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.3.9 oder höher kompiliert wurde.

Parameter-Liste

passphrase

The passphrase

Rückgabewerte

Liefert TRUE bei Erfolg.

Siehe auch

  • Imagick::decipherImage() - Deciphers an image

Imagick::embossImage
Imagick::enhanceImage
Imagick


Improves the quality of a noisy image

Imagick::encipherImage
Imagick::equalizeImage
Imagick
PHP Manual

Imagick::enhanceImage

(PECL imagick 2.0.0)

Imagick::enhanceImage — Improves the quality of a noisy image

Beschreibung

bool Imagick::enhanceImage ( void )

Applies a digital filter that improves the quality of a noisy image.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::enhanceImage()

<?php
function enhanceImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->enhanceImage();
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::encipherImage
Imagick::equalizeImage
Imagick


Equalizes the image histogram

Imagick::enhanceImage
Imagick::evaluateImage
Imagick
PHP Manual

Imagick::equalizeImage

(PECL imagick 2.0.0)

Imagick::equalizeImage — Equalizes the image histogram

Beschreibung

bool Imagick::equalizeImage ( void )

Equalizes the image histogram.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::equalizeImage()

<?php
function equalizeImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->equalizeImage();
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::enhanceImage
Imagick::evaluateImage
Imagick


Applies an expression to an image

Imagick::equalizeImage
Imagick::exportImagePixels
Imagick
PHP Manual

Imagick::evaluateImage

(PECL imagick 2.0.0)

Imagick::evaluateImage — Applies an expression to an image

Beschreibung

bool Imagick::evaluateImage ( int $op , float $constant [, int $channel = Imagick::CHANNEL_ALL ] )

Applys an arithmetic, relational, or logical expression to an image. Use these operators to lighten or darken an image, to increase or decrease contrast in an image, or to produce the "negative" of an image.

Parameter-Liste

op

The evaluation operator

constant

The value of the operator

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Beispiele

Beispiel #1 Using Imagick::evaluateImage()

Using evaluateImage to reduce opacity in an image.

<?php
// Create new object with the image
$im = new Imagick('example-alpha.png');

// Reduce the alpha by 50%
$im->evaluateImage(Imagick::EVALUATE_DIVIDE, 2, Imagick::CHANNEL_ALPHA);

// Output the image
header("Content-Type: image/png");
echo $im;
?>

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::equalizeImage
Imagick::exportImagePixels
Imagick


Exports raw image pixels

Imagick::evaluateImage
Imagick::extentImage
Imagick
PHP Manual

Imagick::exportImagePixels

(No version information available, might only be in Git)

Imagick::exportImagePixels — Exports raw image pixels

Beschreibung

public array Imagick::exportImagePixels ( int $x , int $y , int $width , int $height , string $map , int $STORAGE )

Exports image pixels into an array. The map defines the ordering of the exported pixels. The size of the returned array is width * height * strlen(map). Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.4.7 oder höher kompiliert wurde.

Parameter-Liste

x

X-coordinate of the exported area

y

Y-coordinate of the exported area

width

Width of the exported aread

height

Height of the exported area

map

Ordering of the exported pixels. For example "RGB". Valid characters for the map are R, G, B, A, O, C, Y, M, K, I and P.

STORAGE

Refer to this list of pixel type constants

Beispiele

Beispiel #1 Using Imagick::exportImagePixels()

Export image pixels into an array

<?php

/* Create new object */
$im = new Imagick();

/* Create new image */
$im->newPseudoImage(0, 0, "magick:rose");

/* Export the image pixels */
$pixels = $im->exportImagePixels(10, 10, 2, 2, "RGB", Imagick::PIXEL_CHAR);

/* Output */
var_dump($pixels);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(12) {
  [0]=>
  int(72)
  [1]=>
  int(64)
  [2]=>
  int(57)
  [3]=>
  int(69)
  [4]=>
  int(59)
  [5]=>
  int(43)
  [6]=>
  int(124)
  [7]=>
  int(120)
  [8]=>
  int(-96)
  [9]=>
  int(91)
  [10]=>
  int(84)
  [11]=>
  int(111)
}

Rückgabewerte

Returns an array containing the pixels values.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::evaluateImage
Imagick::extentImage
Imagick


Set image size

Imagick::exportImagePixels
Imagick::filter
Imagick
PHP Manual

Imagick::extentImage

(No version information available, might only be in Git)

Imagick::extentImage — Set image size

Beschreibung

bool Imagick::extentImage ( int $width , int $height , int $x , int $y )

Comfortability method for setting image size. The method sets the image size and allows setting x,y coordinates where the new area begins. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.3.1 oder höher kompiliert wurde.

Achtung

Prior to ImageMagick 6.5.7-8 (1623), $x was positive when shifting to the left and negative when shifting to the right, and $y was positive when shifting an image up and negative when shifting an image down. Somewhere betwen ImageMagick 6.3.7 (1591) and ImageMagick 6.5.7-8 (1623), the axes of $x and $y were flipped, so that $x was negative when shifting to the left and positive when shifting to the right, and $y was negative when shifting an image up and positive when shifting an image down. Somewhere between ImageMagick 6.5.7-8 (1623) and ImageMagick 6.6.9-7 (1641), the axes of $x and $y were flipped back to pre-ImageMagick 6.5.7-8 (1623) functionality.

Parameter-Liste

width

The new width

height

The new height

x

X position for the new size

y

Y position for the new size

Rückgabewerte

Liefert TRUE bei Erfolg.

Siehe auch

  • Imagick::resizeImage() - Scales an image
  • Imagick::thumbnailImage() - Changes the size of an image
  • Imagick::cropImage() - Extracts a region of the image

Imagick::exportImagePixels
Imagick::filter
Imagick


Description

Imagick::extentImage
Imagick::flattenImages
Imagick
PHP Manual

Imagick::filter

(No version information available, might only be in Git)

Imagick::filter — Description

Beschreibung

public void Imagick::filter ( ImagickKernel $ImagickKernel [, int $CHANNEL = Imagick::CHANNEL_DEFAULT ] )

Applies a custom convolution kernel to the image.

Parameter-Liste

ImagickKernel

An instance of ImagickKernel that represents either a single kernel or a linked series of kernels.

CHANNEL

Übergeben Sie eine Channel-Konstante, die für Ihren Channel-Moduls gültig ist. Um mehr als einen Channel anzuwenden, können Sie die Channel-Konstanten mit bitweisen Operationen verknüpfen. Der Standardwert ist Imagick::CHANNEL_DEFAULT. Sehen Sie sich auch die Liste der Channel-Konstanten an

Rückgabewerte

Beispiele

Beispiel #1 Imagick::filter()

<?php
function filter($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $matrix = [
        [-1, 0, -1],
        [0,  5,  0],
        [-1, 0, -1],
    ];

    $kernel = \ImagickKernel::fromMatrix($matrix);
    $strength = 0.5;
    $kernel->scale($strength, \Imagick::NORMALIZE_KERNEL_VALUE);
    $kernel->addUnityKernel(1 - $strength);

    $imagick->filter($kernel);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::extentImage
Imagick::flattenImages
Imagick


Merges a sequence of images

Imagick::filter
Imagick::flipImage
Imagick
PHP Manual

Imagick::flattenImages

(PECL imagick 2.0.0)

Imagick::flattenImages — Merges a sequence of images

Beschreibung

Imagick Imagick::flattenImages ( void )

Merges a sequence of images. This is useful for combining Photoshop layers into a single image.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::filter
Imagick::flipImage
Imagick


Creates a vertical mirror image

Imagick::flattenImages
Imagick::floodFillPaintImage
Imagick
PHP Manual

Imagick::flipImage

(PECL imagick 2.0.0)

Imagick::flipImage — Creates a vertical mirror image

Beschreibung

bool Imagick::flipImage ( void )

Creates a vertical mirror image by reflecting the pixels around the central x-axis.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::flipImage()

<?php
function flipImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->flipImage();
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::flattenImages
Imagick::floodFillPaintImage
Imagick


Changes the color value of any pixel that matches target

Imagick::flipImage
Imagick::flopImage
Imagick
PHP Manual

Imagick::floodFillPaintImage

(No version information available, might only be in Git)

Imagick::floodFillPaintImage — Changes the color value of any pixel that matches target

Beschreibung

bool Imagick::floodFillPaintImage ( mixed $fill , float $fuzz , mixed $target , int $x , int $y , bool $invert [, int $channel = Imagick::CHANNEL_DEFAULT ] )

Changes the color value of any pixel that matches target and is an immediate neighbor. This method is a replacement for deprecated Imagick::paintFloodFillImage(). Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.3.8 oder höher kompiliert wurde.

Parameter-Liste

fill

ImagickPixel object or a string containing the fill color

fuzz

Die Menge an Ungenauigkeit. Wird dieser Wert z.B. auf 10 gesetzt, so werden die Farbe Rot sowohl bei Intensitäten von 100 als auch 102 als identisch betrachtet.

target

ImagickPixel object or a string containing the target color to paint

x

X start position of the floodfill

y

Y start position of the floodfill

invert

If TRUE paints any pixel that does not match the target color.

channel

Übergeben Sie eine Channel-Konstante, die für Ihren Channel-Moduls gültig ist. Um mehr als einen Channel anzuwenden, können Sie die Channel-Konstanten mit bitweisen Operationen verknüpfen. Der Standardwert ist Imagick::CHANNEL_DEFAULT. Sehen Sie sich auch die Liste der Channel-Konstanten an

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Imagick::floodfillPaintImage() example

<?php

/* Create new imagick object */
$im = new Imagick();

/* create red, green and blue images */
$im->newImage(100, 50, "red");
$im->newImage(100, 50, "green");
$im->newImage(100, 50, "blue");

/* Append the images into one */
$im->resetIterator();
$combined = $im->appendImages(true);

/* Save the intermediate image for comparison */
$combined->writeImage("floodfillpaint_intermediate.png");

/* The target pixel to paint */
$x = 1;
$y = 1;

/* Get the color we are painting */
$target = $combined->getImagePixelColor($x, $y);

/* Paints pixel in position 1,1 black and all neighboring
   pixels that match the target color */
$combined->floodfillPaintImage("black", 1, $target, $x, $y, false);

/* Save the result */
$combined->writeImage("floodfillpaint_result.png");
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Output of example : Imagick::floodfillPaintImage()
Output of example : Imagick::floodfillPaintImage()

Imagick::flipImage
Imagick::flopImage
Imagick


Creates a horizontal mirror image

Imagick::floodFillPaintImage
Imagick::forwardFourierTransformImage
Imagick
PHP Manual

Imagick::flopImage

(PECL imagick 2.0.0)

Imagick::flopImage — Creates a horizontal mirror image

Beschreibung

bool Imagick::flopImage ( void )

Creates a horizontal mirror image by reflecting the pixels around the central y-axis.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::flopImage()

<?php
function flopImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->flopImage();
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::floodFillPaintImage
Imagick::forwardFourierTransformImage
Imagick


Description

Imagick::flopImage
Imagick::frameImage
Imagick
PHP Manual

Imagick::forwardFourierTransformImage

(No version information available, might only be in Git)

Imagick::forwardFourierTransformImage — Description

Beschreibung

public void Imagick::forwardFourierTransformimage ( bool $magnitude )

Implements the discrete Fourier transform (DFT) of the image either as a magnitude / phase or real / imaginary image pair.

Parameter-Liste

magnitude

If true, return as magnitude / phase pair otherwise a real / imaginary image pair.

Rückgabewerte

Beispiele

Beispiel #1 Imagick::forwardFourierTransformImage()

<?php
//Utility function for forwardTransformImage
function createMask() {
    $draw = new \ImagickDraw();

    $draw->setStrokeOpacity(0);
    $draw->setStrokeColor('rgb(255, 255, 255)');
    $draw->setFillColor('rgb(255, 255, 255)');

    //Draw a circle on the y-axis, with it's centre
    //at x, y that touches the origin
    $draw->circle(250, 250, 220, 250);

    $imagick = new \Imagick();
    $imagick->newImage(512, 512, "black");
    $imagick->drawImage($draw);
    $imagick->gaussianBlurImage(20, 20);
    $imagick->autoLevelImage();

    return $imagick;
}

function forwardFourierTransformImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->resizeimage(512, 512, \Imagick::FILTER_LANCZOS, 1);

    $mask = createMask();
    $imagick->forwardFourierTransformImage(true);

    @$imagick->setimageindex(0);
    $magnitude = $imagick->getimage();

    @$imagick->setimageindex(1);
    $imagickPhase = $imagick->getimage();

    if (true) {
        $imagickPhase->compositeImage($mask, \Imagick::COMPOSITE_MULTIPLY, 0, 0);
    }

    if (false) {
        $output = clone $imagickPhase;
        $output->setimageformat('png');
        header("Content-Type: image/png");
        echo $output->getImageBlob();
    }

    $magnitude->inverseFourierTransformImage($imagickPhase, true);

    $magnitude->setimageformat('png');
    header("Content-Type: image/png");
    echo $magnitude->getImageBlob();
}

?>

Imagick::flopImage
Imagick::frameImage
Imagick


Adds a simulated three-dimensional border

Imagick::forwardFourierTransformImage
Imagick::functionImage
Imagick
PHP Manual

Imagick::frameImage

(PECL imagick 2.0.0)

Imagick::frameImage — Adds a simulated three-dimensional border

Beschreibung

bool Imagick::frameImage ( mixed $matte_color , int $width , int $height , int $inner_bevel , int $outer_bevel )

Adds a simulated three-dimensional border around the image. The width and height specify the border width of the vertical and horizontal sides of the frame. The inner and outer bevels indicate the width of the inner and outer shadows of the frame.

Parameter-Liste

matte_color

ImagickPixel object or a string representing the matte color

width

The width of the border

height

The height of the border

inner_bevel

The inner bevel width

outer_bevel

The outer bevel width

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Changelog

Version | Beschreibung
2.1.0 | Now allows a string representing the color as the first parameter. Previous versions allow only an ImagickPixel object.

Beispiele

Beispiel #1 Imagick::frameImage()

<?php
function frameImage($imagePath, $color, $width, $height, $innerBevel, $outerBevel) {
    $imagick = new \Imagick(realpath($imagePath));

    $width = $width + $innerBevel + $outerBevel;
    $height = $height + $innerBevel + $outerBevel;

    $imagick->frameimage(
        $color,
        $width,
        $height,
        $innerBevel,
        $outerBevel
    );
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::forwardFourierTransformImage
Imagick::functionImage
Imagick


Applies a function on the image

Imagick::frameImage
Imagick::fxImage
Imagick
PHP Manual

Imagick::functionImage

(No version information available, might only be in Git)

Imagick::functionImage — Applies a function on the image

Beschreibung

public bool Imagick::functionImage ( int $function , array $arguments [, int $channel = Imagick::CHANNEL_DEFAULT ] )

Applies an arithmetic, relational, or logical expression to a pseudo image.

See also » ImageMagick v6 Examples - Image Transformations — Function, Multi-Argument Evaluate

Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.4.9 oder höher kompiliert wurde.

Parameter-Liste

function

Refer to this list of function constants

arguments

Array of arguments to pass to this function.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Create a sinusoidal gradient

<?php
$imagick = new Imagick();
$imagick->newPseudoImage(200, 200, 'gradient:black-white');
$arguments = array(3, -90);
$imagick->functionImage(Imagick::FUNCTION_SINUSOID, $arguments);

header("Content-Type: image/png");
$imagick->setImageFormat("png");
echo $imagick->getImageBlob();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Output of create a sinusoidal gradient

Beispiel #2 Create a gradient from the polynomial (4x^2 - 4x + 1)

<?php
$imagick = new Imagick();
$imagick->newPseudoImage(200, 200, 'gradient:black-white');
$arguments = array(4, -4, 1);
$imagick->functionImage(Imagick::FUNCTION_POLYNOMIAL, $arguments);

header("Content-Type: image/png");
$imagick->setimageformat("png");
echo $imagick->getImageBlob();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Output of create a polynomial gradient

Beispiel #3 Create a complex gradient from the polynomial (4x^2 - 4x^2 + 1) modulated by a sinusoidal gradient

<?php
$imagick1 = new Imagick();
$imagick1->newPseudoImage(200, 200, 'gradient:black-white');
$arguments = array(9, -90);
$imagick1->functionImage(Imagick::FUNCTION_SINUSOID, $arguments);

$imagick2 = new Imagick();
$imagick2->newPseudoImage(200, 200, 'gradient:black-white');
$arguments = array(0.5, 0);
$imagick2->functionImage(Imagick::FUNCTION_SINUSOID, $arguments);
$imagick1->compositeimage($imagick2, Imagick::COMPOSITE_MULTIPLY, 0, 0);

header("Content-Type: image/png");
$imagick1->setImageFormat("png");
echo $imagick1->getImageBlob();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Output of create complex gradient

Imagick::frameImage
Imagick::fxImage
Imagick


Evaluate expression for each pixel in the image

Imagick::functionImage
Imagick::gammaImage
Imagick
PHP Manual

Imagick::fxImage

(PECL imagick 2.0.0)

Imagick::fxImage — Evaluate expression for each pixel in the image

Beschreibung

Imagick Imagick::fxImage ( string $expression [, int $channel = Imagick::CHANNEL_ALL ] )

Evaluate expression for each pixel in the image. Consult » The Fx Special Effects Image Operator for more information.

Parameter-Liste

expression

The expression.

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::fxImage()

<?php
function fxImage() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(200, 200, "xc:white");

    $fx = 'xx=i-w/2; yy=j-h/2; rr=hypot(xx,yy); (.5-rr/140)*1.2+.5';
    $fxImage = $imagick->fxImage($fx);

    header("Content-Type: image/png");
    $fxImage->setimageformat('png');
    echo $fxImage->getImageBlob();
}

?>

Imagick::functionImage
Imagick::gammaImage
Imagick


Gamma-corrects an image

Imagick::fxImage
Imagick::gaussianBlurImage
Imagick
PHP Manual

Imagick::gammaImage

(PECL imagick 2.0.0)

Imagick::gammaImage — Gamma-corrects an image

Beschreibung

bool Imagick::gammaImage ( float $gamma [, int $channel = Imagick::CHANNEL_ALL ] )

Gamma-corrects an image. The same image viewed on different devices will have perceptual differences in the way the image's intensities are represented on the screen. Specify individual gamma levels for the red, green, and blue channels, or adjust all three with the gamma parameter. Values typically range from 0.8 to 2.3.

Parameter-Liste

gamma

The amount of gamma-correction.

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::gammaImage()

<?php
function gammaImage($imagePath, $gamma, $channel) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->gammaImage($gamma, $channel);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::fxImage
Imagick::gaussianBlurImage
Imagick


Blurs an image

Imagick::gammaImage
Imagick::getColorspace
Imagick
PHP Manual

Imagick::gaussianBlurImage

(PECL imagick 2.0.0)

Imagick::gaussianBlurImage — Blurs an image

Beschreibung

bool Imagick::gaussianBlurImage ( float $radius , float $sigma [, int $channel = Imagick::CHANNEL_ALL ] )

Blurs an image. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, the radius should be larger than sigma. Use a radius of 0 and selects a suitable radius for you.

Parameter-Liste

radius

The radius of the Gaussian, in pixels, not counting the center pixel.

sigma

The standard deviation of the Gaussian, in pixels.

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::gaussianBlurImage()

<?php
function gaussianBlurImage($imagePath, $radius, $sigma, $channel) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->gaussianBlurImage($radius, $sigma, $channel);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::gammaImage
Imagick::getColorspace
Imagick


Gets the colorspace

Imagick::gaussianBlurImage
Imagick::getCompression
Imagick
PHP Manual

Imagick::getColorspace

(PECL imagick 0.9.10-0.9.9)

Imagick::getColorspace — Gets the colorspace

Beschreibung

int Imagick::getColorspace ( void )

Gets the global colorspace value. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.5.7 oder höher kompiliert wurde.

Rückgabewerte

Returns an integer which can be compared against COLORSPACE constants.

Imagick::gaussianBlurImage
Imagick::getCompression
Imagick


Gets the object compression type

Imagick::getColorspace
Imagick::getCompressionQuality
Imagick
PHP Manual

Imagick::getCompression

(PECL imagick 2.0.0)

Imagick::getCompression — Gets the object compression type

Beschreibung

int Imagick::getCompression ( void )

Gets the object compression type.

Rückgabewerte

Returns the compression constant

Imagick::getColorspace
Imagick::getCompressionQuality
Imagick


Gets the object compression quality

Imagick::getCompression
Imagick::getCopyright
Imagick
PHP Manual

Imagick::getCompressionQuality

(PECL imagick 2.0.0)

Imagick::getCompressionQuality — Gets the object compression quality

Beschreibung

int Imagick::getCompressionQuality ( void )

Gets the object compression quality.

Rückgabewerte

Returns integer describing the compression quality

Imagick::getCompression
Imagick::getCopyright
Imagick


Returns the ImageMagick API copyright as a string

Imagick::getCompressionQuality
Imagick::getFilename
Imagick
PHP Manual

Imagick::getCopyright

(PECL imagick 2.0.0)

Imagick::getCopyright — Returns the ImageMagick API copyright as a string

Beschreibung

string Imagick::getCopyright ( void )

Returns the ImageMagick API copyright as a string.

Rückgabewerte

Returns a string containing the copyright notice of Imagemagick and Magickwand C API.

Imagick::getCompressionQuality
Imagick::getFilename
Imagick


The filename associated with an image sequence

Imagick::getCopyright
Imagick::getFont
Imagick
PHP Manual

Imagick::getFilename

(PECL imagick 2.0.0)

Imagick::getFilename — The filename associated with an image sequence

Beschreibung

string Imagick::getFilename ( void )

Returns the filename associated with an image sequence.

Rückgabewerte

Returns a string on success.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getCopyright
Imagick::getFont
Imagick


Gets font

Imagick::getFilename
Imagick::getFormat
Imagick
PHP Manual

Imagick::getFont

(PECL imagick 2.1.0)

Imagick::getFont — Gets font

Beschreibung

string Imagick::getFont ( void )

Returns the objects font property. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.3.7 oder höher kompiliert wurde.

Rückgabewerte

Returns the string containing the font name or FALSE if not font is set.

Siehe auch

  • Imagick::setFont() - Sets font
  • ImagickDraw::setFont() - Sets the fully-specified font to use when annotating with text
  • ImagickDraw::getFont() - Returns the font

Imagick::getFilename
Imagick::getFormat
Imagick


Returns the format of the Imagick object

Imagick::getFont
Imagick::getGravity
Imagick
PHP Manual

Imagick::getFormat

(PECL imagick 2.0.0)

Imagick::getFormat — Returns the format of the Imagick object

Beschreibung

string Imagick::getFormat ( void )

Returns the format of the Imagick object.

Rückgabewerte

Returns the format of the image.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getFont
Imagick::getGravity
Imagick


Gets the gravity

Imagick::getFormat
Imagick::getHomeURL
Imagick
PHP Manual

Imagick::getGravity

(No version information available, might only be in Git)

Imagick::getGravity — Gets the gravity

Beschreibung

int Imagick::getGravity ( void )

Gets the global gravity property for the Imagick object. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.4.0 oder höher kompiliert wurde.

Rückgabewerte

Returns the gravity property. Refer to the list of gravity constants.

Imagick::getFormat
Imagick::getHomeURL
Imagick


Returns the ImageMagick home URL

Imagick::getGravity
Imagick::getImage
Imagick
PHP Manual

Imagick::getHomeURL

(PECL imagick 2.0.0)

Imagick::getHomeURL — Returns the ImageMagick home URL

Beschreibung

string Imagick::getHomeURL ( void )

Returns the ImageMagick home URL.

Rückgabewerte

Returns a link to the imagemagick homepage.

Imagick::getGravity
Imagick::getImage
Imagick


Returns a new Imagick object

Imagick::getHomeURL
Imagick::getImageAlphaChannel
Imagick
PHP Manual

Imagick::getImage

(PECL imagick 2.0.0)

Imagick::getImage — Returns a new Imagick object

Beschreibung

Imagick Imagick::getImage ( void )

Returns a new Imagick object with the current image sequence.

Rückgabewerte

Returns a new Imagick object with the current image sequence.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getHomeURL
Imagick::getImageAlphaChannel
Imagick


Gets the image alpha channel

Imagick::getImage
Imagick::getImageArtifact
Imagick
PHP Manual

Imagick::getImageAlphaChannel

(No version information available, might only be in Git)

Imagick::getImageAlphaChannel — Gets the image alpha channel

Beschreibung

int Imagick::getImageAlphaChannel ( void )

Gets the image alpha channel value. The returned value is one of the alpha channel constants. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.4.0 oder höher kompiliert wurde.

Rückgabewerte

Returns a constant defining the current alpha channel value. Refer to this list of alpha channel constants.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImage
Imagick::getImageArtifact
Imagick


Get image artifact

Imagick::getImageAlphaChannel
Imagick::getImageAttribute
Imagick
PHP Manual

Imagick::getImageArtifact

(No version information available, might only be in Git)

Imagick::getImageArtifact — Get image artifact

Beschreibung

string Imagick::getImageArtifact ( string $artifact )

Gets an artifact associated with the image. The difference between image properties and image artifacts is that properties are public and artifacts are private. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.5.7 oder höher kompiliert wurde.

Parameter-Liste

artifact

The name of the artifact

Rückgabewerte

Returns the artifact value on success.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Siehe auch

  • Imagick::setImageArtifact() - Set image artifact
  • Imagick::deleteImageArtifact() - Delete image artifact

Imagick::getImageAlphaChannel
Imagick::getImageAttribute
Imagick


Description

Imagick::getImageArtifact
Imagick::getImageBackgroundColor
Imagick
PHP Manual

Imagick::getImageAttribute

(No version information available, might only be in Git)

Imagick::getImageAttribute — Description

Beschreibung

public string Imagick::getImageAttribute ( string $key )

Returns a named attribute.

Parameter-Liste

key

The key of the attribute to get.

Rückgabewerte

Imagick::getImageArtifact
Imagick::getImageBackgroundColor
Imagick


Returns the image background color

Imagick::getImageAttribute
Imagick::getImageBlob
Imagick
PHP Manual

Imagick::getImageBackgroundColor

(PECL imagick 2.0.0)

Imagick::getImageBackgroundColor — Returns the image background color

Beschreibung

ImagickPixel Imagick::getImageBackgroundColor ( void )

Returns the image background color.

Rückgabewerte

Returns an ImagickPixel set to the background color of the image.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageAttribute
Imagick::getImageBlob
Imagick


Returns the image sequence as a blob

Imagick::getImageBackgroundColor
Imagick::getImageBluePrimary
Imagick
PHP Manual

Imagick::getImageBlob

(PECL imagick 2.0.0)

Imagick::getImageBlob — Returns the image sequence as a blob

Beschreibung

string Imagick::getImageBlob ( void )

Implements direct to memory image formats. It returns the image sequence as a string. The format of the image determines the format of the returned blob (GIF, JPEG, PNG, etc.). To return a different image format, use Imagick::setImageFormat().

Rückgabewerte

Returns a string containing the image.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageBackgroundColor
Imagick::getImageBluePrimary
Imagick


Returns the chromaticy blue primary point

Imagick::getImageBlob
Imagick::getImageBorderColor
Imagick
PHP Manual

Imagick::getImageBluePrimary

(PECL imagick 2.0.0)

Imagick::getImageBluePrimary — Returns the chromaticy blue primary point

Beschreibung

array Imagick::getImageBluePrimary ( void )

Returns the chromaticity blue primary point for the image.

Parameter-Liste

x

The chromaticity blue primary x-point.

y

The chromaticity blue primary y-point.

Rückgabewerte

Array consisting of "x" and "y" coordinates of point.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageBlob
Imagick::getImageBorderColor
Imagick


Returns the image border color

Imagick::getImageBluePrimary
Imagick::getImageChannelDepth
Imagick
PHP Manual

Imagick::getImageBorderColor

(PECL imagick 2.0.0)

Imagick::getImageBorderColor — Returns the image border color

Beschreibung

ImagickPixel Imagick::getImageBorderColor ( void )

Returns the image border color.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageBluePrimary
Imagick::getImageChannelDepth
Imagick


Gets the depth for a particular image channel

Imagick::getImageBorderColor
Imagick::getImageChannelDistortion
Imagick
PHP Manual

Imagick::getImageChannelDepth

(PECL imagick 2.0.0)

Imagick::getImageChannelDepth — Gets the depth for a particular image channel

Beschreibung

int Imagick::getImageChannelDepth ( int $channel )

Gets the depth for a particular image channel.

Parameter-Liste

channel

Übergeben Sie eine Channel-Konstante, die für Ihren Channel-Moduls gültig ist. Um mehr als einen Channel anzuwenden, können Sie die Channel-Konstanten mit bitweisen Operationen verknüpfen. Der Standardwert ist Imagick::CHANNEL_DEFAULT. Sehen Sie sich auch die Liste der Channel-Konstanten an

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::getImageBorderColor
Imagick::getImageChannelDistortion
Imagick


Compares image channels of an image to a reconstructed image

Imagick::getImageChannelDepth
Imagick::getImageChannelDistortions
Imagick
PHP Manual

Imagick::getImageChannelDistortion

(PECL imagick 2.0.0)

Imagick::getImageChannelDistortion — Compares image channels of an image to a reconstructed image

Beschreibung

float Imagick::getImageChannelDistortion ( Imagick $reference , int $channel , int $metric )

Compares one or more image channels of an image to a reconstructed image and returns the specified distortion metric.

Parameter-Liste

reference

Imagick object to compare to.

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

metric

One of the metric type constants.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageChannelDepth
Imagick::getImageChannelDistortions
Imagick


Gets channel distortions

Imagick::getImageChannelDistortion
Imagick::getImageChannelExtrema
Imagick
PHP Manual

Imagick::getImageChannelDistortions

(No version information available, might only be in Git)

Imagick::getImageChannelDistortions — Gets channel distortions

Beschreibung

float Imagick::getImageChannelDistortions ( Imagick $reference , int $metric [, int $channel = Imagick::CHANNEL_DEFAULT ] )

Compares one or more image channels of an image to a reconstructed image and returns the specified distortion metrics Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.4.4 oder höher kompiliert wurde.

Parameter-Liste

reference

Imagick object containing the reference image

metric

Refer to this list of metric type constants.

channel

Übergeben Sie eine Channel-Konstante, die für Ihren Channel-Moduls gültig ist. Um mehr als einen Channel anzuwenden, können Sie die Channel-Konstanten mit bitweisen Operationen verknüpfen. Der Standardwert ist Imagick::CHANNEL_DEFAULT. Sehen Sie sich auch die Liste der Channel-Konstanten an

Rückgabewerte

Returns a double describing the channel distortion.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageChannelDistortion
Imagick::getImageChannelExtrema
Imagick


Gets the extrema for one or more image channels

Imagick::getImageChannelDistortions
Imagick::getImageChannelKurtosis
Imagick
PHP Manual

Imagick::getImageChannelExtrema

(PECL imagick 2.0.0)

Imagick::getImageChannelExtrema — Gets the extrema for one or more image channels

Beschreibung

array Imagick::getImageChannelExtrema ( int $channel )

Gets the extrema for one or more image channels. Return value is an associative array with the keys "minima" and "maxima".

Parameter-Liste

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageChannelDistortions
Imagick::getImageChannelKurtosis
Imagick


The getImageChannelKurtosis purpose

Imagick::getImageChannelExtrema
Imagick::getImageChannelMean
Imagick
PHP Manual

Imagick::getImageChannelKurtosis

(No version information available, might only be in Git)

Imagick::getImageChannelKurtosis — The getImageChannelKurtosis purpose

Beschreibung

public array Imagick::getImageChannelKurtosis ([ int $channel = Imagick::CHANNEL_DEFAULT ] )

Get the kurtosis and skewness of a specific channel. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.4.9 oder höher kompiliert wurde.

Parameter-Liste

channel

Übergeben Sie eine Channel-Konstante, die für Ihren Channel-Moduls gültig ist. Um mehr als einen Channel anzuwenden, können Sie die Channel-Konstanten mit bitweisen Operationen verknüpfen. Der Standardwert ist Imagick::CHANNEL_DEFAULT. Sehen Sie sich auch die Liste der Channel-Konstanten an

Rückgabewerte

Returns an array with kurtosis and skewness members.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageChannelExtrema
Imagick::getImageChannelMean
Imagick


Gets the mean and standard deviation

Imagick::getImageChannelKurtosis
Imagick::getImageChannelRange
Imagick
PHP Manual

Imagick::getImageChannelMean

(PECL imagick 2.0.0)

Imagick::getImageChannelMean — Gets the mean and standard deviation

Beschreibung

array Imagick::getImageChannelMean ( int $channel )

Gets the mean and standard deviation of one or more image channels. Return value is an associative array with the keys "mean" and "standardDeviation".

Parameter-Liste

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageChannelKurtosis
Imagick::getImageChannelRange
Imagick


Gets channel range

Imagick::getImageChannelMean
Imagick::getImageChannelStatistics
Imagick
PHP Manual

Imagick::getImageChannelRange

(PECL imagick 2.2.1)

Imagick::getImageChannelRange — Gets channel range

Beschreibung

array Imagick::getImageChannelRange ( int $channel )

Gets the range for one or more image channels. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.4.0 oder höher kompiliert wurde.

Parameter-Liste

channel

Übergeben Sie eine Channel-Konstante, die für Ihren Channel-Moduls gültig ist. Um mehr als einen Channel anzuwenden, können Sie die Channel-Konstanten mit bitweisen Operationen verknüpfen. Der Standardwert ist Imagick::CHANNEL_DEFAULT. Sehen Sie sich auch die Liste der Channel-Konstanten an

Rückgabewerte

Returns an array containing minima and maxima values of the channel(s).

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageChannelMean
Imagick::getImageChannelStatistics
Imagick


Returns statistics for each channel in the image

Imagick::getImageChannelRange
Imagick::getImageClipMask
Imagick
PHP Manual

Imagick::getImageChannelStatistics

(PECL imagick 2.0.0)

Imagick::getImageChannelStatistics — Returns statistics for each channel in the image

Beschreibung

array Imagick::getImageChannelStatistics ( void )

Returns statistics for each channel in the image. The statistics include the channel depth, its minima and maxima, the mean, and the standard deviation. You can access the red channel mean, for example, like this:

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::getImageChannelRange
Imagick::getImageClipMask
Imagick


Gets image clip mask

Imagick::getImageChannelStatistics
Imagick::getImageColormapColor
Imagick
PHP Manual

Imagick::getImageClipMask

(No version information available, might only be in Git)

Imagick::getImageClipMask — Gets image clip mask

Beschreibung

Imagick Imagick::getImageClipMask ( void )

Returns the image clip mask. The clip mask is an Imagick object containing the clip mask. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.3.6 oder höher kompiliert wurde.

Rückgabewerte

Returns an Imagick object containing the clip mask.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageChannelStatistics
Imagick::getImageColormapColor
Imagick


Returns the color of the specified colormap index

Imagick::getImageClipMask
Imagick::getImageColors
Imagick
PHP Manual

Imagick::getImageColormapColor

(PECL imagick 2.0.0)

Imagick::getImageColormapColor — Returns the color of the specified colormap index

Beschreibung

ImagickPixel Imagick::getImageColormapColor ( int $index )

Returns the color of the specified colormap index.

Parameter-Liste

index

The offset into the image colormap.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageClipMask
Imagick::getImageColors
Imagick


Gets the number of unique colors in the image

Imagick::getImageColormapColor
Imagick::getImageColorspace
Imagick
PHP Manual

Imagick::getImageColors

(PECL imagick 2.0.0)

Imagick::getImageColors — Gets the number of unique colors in the image

Beschreibung

int Imagick::getImageColors ( void )

Gets the number of unique colors in the image.

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::getImageColormapColor
Imagick::getImageColorspace
Imagick


Gets the image colorspace

Imagick::getImageColors
Imagick::getImageCompose
Imagick
PHP Manual

Imagick::getImageColorspace

(PECL imagick 2.0.0)

Imagick::getImageColorspace — Gets the image colorspace

Beschreibung

int Imagick::getImageColorspace ( void )

Gets the image colorspace.

Rückgabewerte

Returns an integer which can be compared against COLORSPACE constants.

Imagick::getImageColors
Imagick::getImageCompose
Imagick


Returns the composite operator associated with the image

Imagick::getImageColorspace
Imagick::getImageCompression
Imagick
PHP Manual

Imagick::getImageCompose

(PECL imagick 2.0.0)

Imagick::getImageCompose — Returns the composite operator associated with the image

Beschreibung

int Imagick::getImageCompose ( void )

Returns the composite operator associated with the image.

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::getImageColorspace
Imagick::getImageCompression
Imagick


Gets the current image's compression type

Imagick::getImageCompose
Imagick::getImageCompressionQuality
Imagick
PHP Manual

Imagick::getImageCompression

(PECL imagick 2.2.2)

Imagick::getImageCompression — Gets the current image's compression type

Beschreibung

int Imagick::getImageCompression ( void )

Gets the current image's compression type.

Rückgabewerte

Returns the compression constant

Imagick::getImageCompose
Imagick::getImageCompressionQuality
Imagick


Gets the current image's compression quality

Imagick::getImageCompression
Imagick::getImageDelay
Imagick
PHP Manual

Imagick::getImageCompressionQuality

(PECL imagick 2.2.2)

Imagick::getImageCompressionQuality — Gets the current image's compression quality

Beschreibung

int Imagick::getImageCompressionQuality ( void )

Gets the current image's compression quality

Rückgabewerte

Returns integer describing the images compression quality

Imagick::getImageCompression
Imagick::getImageDelay
Imagick


Gets the image delay

Imagick::getImageCompressionQuality
Imagick::getImageDepth
Imagick
PHP Manual

Imagick::getImageDelay

(PECL imagick 2.0.0)

Imagick::getImageDelay — Gets the image delay

Beschreibung

int Imagick::getImageDelay ( void )

Gets the image delay.

Rückgabewerte

Returns the image delay.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageCompressionQuality
Imagick::getImageDepth
Imagick


Gets the image depth

Imagick::getImageDelay
Imagick::getImageDispose
Imagick
PHP Manual

Imagick::getImageDepth

(PECL imagick 0.9.1-0.9.9)

Imagick::getImageDepth — Gets the image depth

Beschreibung

int Imagick::getImageDepth ( void )

Gets the image depth.

Rückgabewerte

The image depth.

Imagick::getImageDelay
Imagick::getImageDispose
Imagick


Gets the image disposal method

Imagick::getImageDepth
Imagick::getImageDistortion
Imagick
PHP Manual

Imagick::getImageDispose

(PECL imagick 2.0.0)

Imagick::getImageDispose — Gets the image disposal method

Beschreibung

int Imagick::getImageDispose ( void )

Gets the image disposal method.

Rückgabewerte

Returns the dispose method on success.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageDepth
Imagick::getImageDistortion
Imagick


Compares an image to a reconstructed image

Imagick::getImageDispose
Imagick::getImageExtrema
Imagick
PHP Manual

Imagick::getImageDistortion

(PECL imagick 2.0.0)

Imagick::getImageDistortion — Compares an image to a reconstructed image

Beschreibung

float Imagick::getImageDistortion ( MagickWand $reference , int $metric )

Compares an image to a reconstructed image and returns the specified distortion metric.

Parameter-Liste

reference

Imagick object to compare to.

metric

One of the metric type constants.

Rückgabewerte

Returns the distortion metric used on the image (or the best guess thereof).

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageDispose
Imagick::getImageExtrema
Imagick


Gets the extrema for the image

Imagick::getImageDistortion
Imagick::getImageFilename
Imagick
PHP Manual

Imagick::getImageExtrema

(PECL imagick 2.0.0)

Imagick::getImageExtrema — Gets the extrema for the image

Beschreibung

array Imagick::getImageExtrema ( void )

Gets the extrema for the image. Returns an associative array with the keys "min" and "max".

Rückgabewerte

Returns an associative array with the keys "min" and "max".

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageDistortion
Imagick::getImageFilename
Imagick


Returns the filename of a particular image in a sequence

Imagick::getImageExtrema
Imagick::getImageFormat
Imagick
PHP Manual

Imagick::getImageFilename

(PECL imagick 2.0.0)

Imagick::getImageFilename — Returns the filename of a particular image in a sequence

Beschreibung

string Imagick::getImageFilename ( void )

Returns the filename of a particular image in a sequence.

Rückgabewerte

Returns a string with the filename of the image.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageExtrema
Imagick::getImageFormat
Imagick


Returns the format of a particular image in a sequence

Imagick::getImageFilename
Imagick::getImageGamma
Imagick
PHP Manual

Imagick::getImageFormat

(PECL imagick 2.0.0)

Imagick::getImageFormat — Returns the format of a particular image in a sequence

Beschreibung

string Imagick::getImageFormat ( void )

Returns the format of a particular image in a sequence.

Rückgabewerte

Returns a string containing the image format on success.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageFilename
Imagick::getImageGamma
Imagick


Gets the image gamma

Imagick::getImageFormat
Imagick::getImageGeometry
Imagick
PHP Manual

Imagick::getImageGamma

(PECL imagick 2.0.0)

Imagick::getImageGamma — Gets the image gamma

Beschreibung

float Imagick::getImageGamma ( void )

Gets the image gamma.

Rückgabewerte

Returns the image gamma on success.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageFormat
Imagick::getImageGeometry
Imagick


Gets the width and height as an associative array

Imagick::getImageGamma
Imagick::getImageGravity
Imagick
PHP Manual

Imagick::getImageGeometry

(PECL imagick 2.0.0)

Imagick::getImageGeometry — Gets the width and height as an associative array

Beschreibung

array Imagick::getImageGeometry ( void )

Returns the width and height as an associative array.

Rückgabewerte

Returns an array with the width/height of the image.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::getImageGeometry()

<?php
function getImageGeometry($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::getImageGamma
Imagick::getImageGravity
Imagick


Gets the image gravity

Imagick::getImageGeometry
Imagick::getImageGreenPrimary
Imagick
PHP Manual

Imagick::getImageGravity

(No version information available, might only be in Git)

Imagick::getImageGravity — Gets the image gravity

Beschreibung

int Imagick::getImageGravity ( void )

Gets the current gravity value of the image. Unlike Imagick::getGravity(), this method returns the gravity defined for the current image sequence. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.4.4 oder höher kompiliert wurde.

Rückgabewerte

Returns the images gravity property. Refer to the list of gravity constants.

Imagick::getImageGeometry
Imagick::getImageGreenPrimary
Imagick


Returns the chromaticy green primary point

Imagick::getImageGravity
Imagick::getImageHeight
Imagick
PHP Manual

Imagick::getImageGreenPrimary

(PECL imagick 2.0.0)

Imagick::getImageGreenPrimary — Returns the chromaticy green primary point

Beschreibung

array Imagick::getImageGreenPrimary ( void )

Returns the chromaticity green primary point. Returns an array with the keys "x" and "y".

Rückgabewerte

Returns an array with the keys "x" and "y" on success, throws an ImagickException on failure.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageGravity
Imagick::getImageHeight
Imagick


Returns the image height

Imagick::getImageGreenPrimary
Imagick::getImageHistogram
Imagick
PHP Manual

Imagick::getImageHeight

(PECL imagick 2.0.0)

Imagick::getImageHeight — Returns the image height

Beschreibung

int Imagick::getImageHeight ( void )

Returns the image height.

Rückgabewerte

Returns the image height in pixels.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageGreenPrimary
Imagick::getImageHistogram
Imagick


Gets the image histogram

Imagick::getImageHeight
Imagick::getImageIndex
Imagick
PHP Manual

Imagick::getImageHistogram

(PECL imagick 2.0.0)

Imagick::getImageHistogram — Gets the image histogram

Beschreibung

array Imagick::getImageHistogram ( void )

Returns the image histogram as an array of ImagickPixel objects.

Rückgabewerte

Returns the image histogram as an array of ImagickPixel objects.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Generates Imagick::getImageHistogram()

<?php
function getColorStatistics($histogramElements, $colorChannel) {
    $colorStatistics = [];

    foreach ($histogramElements as $histogramElement) {
        $color = $histogramElement->getColorValue($colorChannel);
        $color = intval($color * 255);
        $count = $histogramElement->getColorCount();

        if (array_key_exists($color, $colorStatistics)) {
            $colorStatistics[$color] += $count;
        }
        else {
            $colorStatistics[$color] = $count;
        }
    }

    ksort($colorStatistics);

    return $colorStatistics;
}

function getImageHistogram($imagePath) {

    $backgroundColor = 'black';

    $draw = new \ImagickDraw();
    $draw->setStrokeWidth(0); //make the lines be as thin as possible

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    $histogramWidth = 256;
    $histogramHeight = 100; // the height for each RGB segment

    $imagick = new \Imagick(realpath($imagePath));
    //Resize the image to be small, otherwise PHP tends to run out of memory
    //This might lead to bad results for images that are pathologically 'pixelly'
    $imagick->adaptiveResizeImage(200, 200, true);
    $histogramElements = $imagick->getImageHistogram();

    $histogram = new \Imagick();
    $histogram->newpseudoimage($histogramWidth, $histogramHeight * 3, 'xc:black');
    $histogram->setImageFormat('png');

    $getMax = function ($carry, $item)  {
        if ($item > $carry) {
            return $item;
        }
        return $carry;
    };

    $colorValues = [
        'red' => getColorStatistics($histogramElements, \Imagick::COLOR_RED),
        'lime' => getColorStatistics($histogramElements, \Imagick::COLOR_GREEN),
        'blue' => getColorStatistics($histogramElements, \Imagick::COLOR_BLUE),
    ];

    $max = array_reduce($colorValues['red'] , $getMax, 0);
    $max = array_reduce($colorValues['lime'] , $getMax, $max);
    $max = array_reduce($colorValues['blue'] , $getMax, $max);

    $scale =  $histogramHeight / $max;

    $count = 0;
    foreach ($colorValues as $color => $values) {
        $draw->setstrokecolor($color);

        $offset = ($count + 1) * $histogramHeight;

        foreach ($values as $index => $value) {
            $draw->line($index, $offset, $index, $offset - ($value * $scale));
        }
        $count++;
    }

    $histogram->drawImage($draw);

    header( "Content-Type: image/png" );
    echo $histogram;
}

?>

Imagick::getImageHeight
Imagick::getImageIndex
Imagick


Gets the index of the current active image

Imagick::getImageHistogram
Imagick::getImageInterlaceScheme
Imagick
PHP Manual

Imagick::getImageIndex

(PECL imagick 2.0.0)

Imagick::getImageIndex — Gets the index of the current active image

Beschreibung

int Imagick::getImageIndex ( void )

Returns the index of the current active image within the Imagick object. This method has been deprecated. See Imagick::getIteratorIndex().

Rückgabewerte

Returns an integer containing the index of the image in the stack.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageHistogram
Imagick::getImageInterlaceScheme
Imagick


Gets the image interlace scheme

Imagick::getImageIndex
Imagick::getImageInterpolateMethod
Imagick
PHP Manual

Imagick::getImageInterlaceScheme

(PECL imagick 2.0.0)

Imagick::getImageInterlaceScheme — Gets the image interlace scheme

Beschreibung

int Imagick::getImageInterlaceScheme ( void )

Gets the image interlace scheme.

Rückgabewerte

Returns the interlace scheme as an integer on success. Wirf eine ImagickException bei einem Fehler.

Imagick::getImageIndex
Imagick::getImageInterpolateMethod
Imagick


Returns the interpolation method

Imagick::getImageInterlaceScheme
Imagick::getImageIterations
Imagick
PHP Manual

Imagick::getImageInterpolateMethod

(PECL imagick 2.0.0)

Imagick::getImageInterpolateMethod — Returns the interpolation method

Beschreibung

int Imagick::getImageInterpolateMethod ( void )

Returns the interpolation method for the specified image. The method is one of the Imagick::INTERPOLATE_* constants.

Rückgabewerte

Returns the interpolate method on success.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageInterlaceScheme
Imagick::getImageIterations
Imagick


Gets the image iterations

Imagick::getImageInterpolateMethod
Imagick::getImageLength
Imagick
PHP Manual

Imagick::getImageIterations

(PECL imagick 2.0.0)

Imagick::getImageIterations — Gets the image iterations

Beschreibung

int Imagick::getImageIterations ( void )

Gets the image iterations.

Rückgabewerte

Returns the image iterations as an integer.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageInterpolateMethod
Imagick::getImageLength
Imagick


Returns the image length in bytes

Imagick::getImageIterations
Imagick::getImageMagickLicense
Imagick
PHP Manual

Imagick::getImageLength

(PECL imagick 2.0.0)

Imagick::getImageLength — Returns the image length in bytes

Beschreibung

int Imagick::getImageLength ( void )

Returns the image length in bytes

Rückgabewerte

Returns an int containing the current image size.

Beispiele

Beispiel #1 Using Imagick::getImageLength():

Getting image length in bytes

<?php
$image = new Imagick('test.jpg');
echo $image->getImageLength() . ' bytes';
?>

Imagick::getImageIterations
Imagick::getImageMagickLicense
Imagick


Returns a string containing the ImageMagick license

Imagick::getImageLength
Imagick::getImageMatte
Imagick
PHP Manual

Imagick::getImageMagickLicense

(PECL imagick 2.0.0)

Imagick::getImageMagickLicense — Returns a string containing the ImageMagick license

Beschreibung

string Imagick::getImageMagickLicense ( void )

Returns a string containing the ImageMagick license

Rückgabewerte

Returns a string containing the ImageMagick license.

Imagick::getImageLength
Imagick::getImageMatte
Imagick


Return if the image has a matte channel

Imagick::getImageMagickLicense
Imagick::getImageMatteColor
Imagick
PHP Manual

Imagick::getImageMatte

(PECL imagick 2.0.0)

Imagick::getImageMatte — Return if the image has a matte channel

Beschreibung

bool Imagick::getImageMatte ( void )

Returns TRUE if the image has a matte channel otherwise false. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.2.9 oder höher kompiliert wurde.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Imagick::getImageMagickLicense
Imagick::getImageMatteColor
Imagick


Returns the image matte color

Imagick::getImageMatte
Imagick::getImageMimeType
Imagick
PHP Manual

Imagick::getImageMatteColor

(PECL imagick 2.0.0)

Imagick::getImageMatteColor — Returns the image matte color

Beschreibung

ImagickPixel Imagick::getImageMatteColor ( void )

Returns the image matte color.

Rückgabewerte

Returns ImagickPixel object on success.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageMatte
Imagick::getImageMimeType
Imagick


Description

Imagick::getImageMatteColor
Imagick::getImageOrientation
Imagick
PHP Manual

Imagick::getImageMimeType

(No version information available, might only be in Git)

Imagick::getImageMimeType — Description

Beschreibung

public string Imagick::getImageMimeType ( void )

Returns the image mime-type.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Imagick::getImageMatteColor
Imagick::getImageOrientation
Imagick


Gets the image orientation

Imagick::getImageMimeType
Imagick::getImagePage
Imagick
PHP Manual

Imagick::getImageOrientation

(PECL imagick 2.0.0)

Imagick::getImageOrientation — Gets the image orientation

Beschreibung

int Imagick::getImageOrientation ( void )

Gets the image orientation. The return value is one of the orientation constants.

Rückgabewerte

Returns an int on success.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageMimeType
Imagick::getImagePage
Imagick


Returns the page geometry

Imagick::getImageOrientation
Imagick::getImagePixelColor
Imagick
PHP Manual

Imagick::getImagePage

(PECL imagick 2.0.0)

Imagick::getImagePage — Returns the page geometry

Beschreibung

array Imagick::getImagePage ( void )

Returns the page geometry associated with the image in an array with the keys "width", "height", "x", and "y".

Rückgabewerte

Returns the page geometry associated with the image in an array with the keys "width", "height", "x", and "y".

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageOrientation
Imagick::getImagePixelColor
Imagick


Returns the color of the specified pixel

Imagick::getImagePage
Imagick::getImageProfile
Imagick
PHP Manual

Imagick::getImagePixelColor

(PECL imagick 2.0.0)

Imagick::getImagePixelColor — Returns the color of the specified pixel

Beschreibung

ImagickPixel Imagick::getImagePixelColor ( int $x , int $y )

Returns the color of the specified pixel.

Parameter-Liste

x

The x-coordinate of the pixel

y

The y-coordinate of the pixel

Rückgabewerte

Returns an ImagickPixel instance for the color at the coordinates given.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImagePage
Imagick::getImageProfile
Imagick


Returns the named image profile

Imagick::getImagePixelColor
Imagick::getImageProfiles
Imagick
PHP Manual

Imagick::getImageProfile

(PECL imagick 2.0.0)

Imagick::getImageProfile — Returns the named image profile

Beschreibung

string Imagick::getImageProfile ( string $name )

Returns the named image profile.

Parameter-Liste

name

The name of the profile to return.

Rückgabewerte

Returns a string containing the image profile.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImagePixelColor
Imagick::getImageProfiles
Imagick


Returns the image profiles

Imagick::getImageProfile
Imagick::getImageProperties
Imagick
PHP Manual

Imagick::getImageProfiles

(PECL imagick 2.0.0)

Imagick::getImageProfiles — Returns the image profiles

Beschreibung

array Imagick::getImageProfiles ([ string $pattern = "*" [, bool $include_values = true ]] )

Returns all associated profiles that match the pattern. If FALSE is passed as second parameter only the profile names are returned. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.3.6 oder höher kompiliert wurde.

Parameter-Liste

pattern

The pattern for profile names.

include_values

Whether to return only profile names. If FALSE then only profile names will be returned.

Rückgabewerte

Returns an array containing the image profiles or profile names.

Imagick::getImageProfile
Imagick::getImageProperties
Imagick


Returns the image properties

Imagick::getImageProfiles
Imagick::getImageProperty
Imagick
PHP Manual

Imagick::getImageProperties

(PECL imagick 2.0.0)

Imagick::getImageProperties — Returns the image properties

Beschreibung

array Imagick::getImageProperties ([ string $pattern = "*" [, bool $include_values = true ]] )

Returns all associated properties that match the pattern. If FALSE is passed as second parameter only the property names are returned. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.3.6 oder höher kompiliert wurde.

Parameter-Liste

pattern

The pattern for property names.

include_values

Whether to return only property names. If FALSE then only property names will be returned.

Rückgabewerte

Returns an array containing the image properties or property names.

Beispiele

Beispiel #1 Using Imagick::getImageProperties():

An example of extracting EXIF information.

<?php

/* Create the object */
$im = new imagick("/path/to/example.jpg");

/* Get the EXIF information */
$exifArray = $im->getImageProperties("exif:*");

/* Loop trough the EXIF properties */
foreach ($exifArray as $name => $property)
{
    echo "{$name} => {$property}<br />\n";
}

?>

Imagick::getImageProfiles
Imagick::getImageProperty
Imagick


Returns the named image property

Imagick::getImageProperties
Imagick::getImageRedPrimary
Imagick
PHP Manual

Imagick::getImageProperty

(PECL imagick 2.0.0)

Imagick::getImageProperty — Returns the named image property

Beschreibung

string Imagick::getImageProperty ( string $name )

Returns the named image property. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.3.2 oder höher kompiliert wurde.

Parameter-Liste

name

name of the property (for example Exif:DateTime)

Beispiele

Beispiel #1 Using Imagick::getImageProperty():

Setting and getting image property

<?php
$image = new Imagick();
$image->newImage(300, 200, "black");

$image->setImageProperty('Exif:Make', 'Imagick');
echo $image->getImageProperty('Exif:Make');
?>

Siehe auch

  • Imagick::setImageProperty() - Sets an image property

Rückgabewerte

Returns a string containing the image property, false if a property with the given name does not exist.

Imagick::getImageProperties
Imagick::getImageRedPrimary
Imagick


Returns the chromaticity red primary point

Imagick::getImageProperty
Imagick::getImageRegion
Imagick
PHP Manual

Imagick::getImageRedPrimary

(PECL imagick 2.0.0)

Imagick::getImageRedPrimary — Returns the chromaticity red primary point

Beschreibung

array Imagick::getImageRedPrimary ( void )

Returns the chromaticity red primary point as an array with the keys "x" and "y".

Rückgabewerte

Returns the chromaticity red primary point as an array with the keys "x" and "y". Wirf eine ImagickException bei einem Fehler.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageProperty
Imagick::getImageRegion
Imagick


Extracts a region of the image

Imagick::getImageRedPrimary
Imagick::getImageRenderingIntent
Imagick
PHP Manual

Imagick::getImageRegion

(PECL imagick 2.0.0)

Imagick::getImageRegion — Extracts a region of the image

Beschreibung

Imagick Imagick::getImageRegion ( int $width , int $height , int $x , int $y )

Extracts a region of the image and returns it as a new Imagick object.

Parameter-Liste

width

The width of the extracted region.

height

The height of the extracted region.

x

X-coordinate of the top-left corner of the extracted region.

y

Y-coordinate of the top-left corner of the extracted region.

Rückgabewerte

Extracts a region of the image and returns it as a new wand.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageRedPrimary
Imagick::getImageRenderingIntent
Imagick


Gets the image rendering intent

Imagick::getImageRegion
Imagick::getImageResolution
Imagick
PHP Manual

Imagick::getImageRenderingIntent

(PECL imagick 2.0.0)

Imagick::getImageRenderingIntent — Gets the image rendering intent

Beschreibung

int Imagick::getImageRenderingIntent ( void )

Gets the image rendering intent.

Rückgabewerte

Returns the image rendering intent.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageRegion
Imagick::getImageResolution
Imagick


Gets the image X and Y resolution

Imagick::getImageRenderingIntent
Imagick::getImagesBlob
Imagick
PHP Manual

Imagick::getImageResolution

(PECL imagick 2.0.0)

Imagick::getImageResolution — Gets the image X and Y resolution

Beschreibung

array Imagick::getImageResolution ( void )

Gets the image X and Y resolution.

Rückgabewerte

Returns the resolution as an array.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageRenderingIntent
Imagick::getImagesBlob
Imagick


Returns all image sequences as a blob

Imagick::getImageResolution
Imagick::getImageScene
Imagick
PHP Manual

Imagick::getImagesBlob

(PECL imagick 2.0.0)

Imagick::getImagesBlob — Returns all image sequences as a blob

Beschreibung

string Imagick::getImagesBlob ( void )

Implements direct to memory image formats. It returns all image sequences as a string. The format of the image determines the format of the returned blob (GIF, JPEG, PNG, etc.). To return a different image format, use Imagick::setImageFormat().

Rückgabewerte

Returns a string containing the images. On failure, throws ImagickException.

Imagick::getImageResolution
Imagick::getImageScene
Imagick


Gets the image scene

Imagick::getImagesBlob
Imagick::getImageSignature
Imagick
PHP Manual

Imagick::getImageScene

(PECL imagick 2.0.0)

Imagick::getImageScene — Gets the image scene

Beschreibung

int Imagick::getImageScene ( void )

Gets the image scene.

Rückgabewerte

Returns the image scene.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImagesBlob
Imagick::getImageSignature
Imagick


Generates an SHA-256 message digest

Imagick::getImageScene
Imagick::getImageSize
Imagick
PHP Manual

Imagick::getImageSignature

(PECL imagick 2.0.0)

Imagick::getImageSignature — Generates an SHA-256 message digest

Beschreibung

string Imagick::getImageSignature ( void )

Generates an SHA-256 message digest for the image pixel stream.

Rückgabewerte

Returns a string containing the SHA-256 hash of the file.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageScene
Imagick::getImageSize
Imagick


Returns the image length in bytes

Imagick::getImageSignature
Imagick::getImageTicksPerSecond
Imagick
PHP Manual

Imagick::getImageSize

(PECL imagick 2.0.0)

Imagick::getImageSize — Returns the image length in bytes

Beschreibung

int Imagick::getImageSize ( void )

Returns the image length in bytes. Deprecated in favour of Imagick::getImageLength()

Rückgabewerte

Returns an int containing the current image size.

Imagick::getImageSignature
Imagick::getImageTicksPerSecond
Imagick


Gets the image ticks-per-second

Imagick::getImageSize
Imagick::getImageTotalInkDensity
Imagick
PHP Manual

Imagick::getImageTicksPerSecond

(PECL imagick 2.0.0)

Imagick::getImageTicksPerSecond — Gets the image ticks-per-second

Beschreibung

int Imagick::getImageTicksPerSecond ( void )

Gets the image ticks-per-second.

Rückgabewerte

Returns the image ticks-per-second.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageSize
Imagick::getImageTotalInkDensity
Imagick


Gets the image total ink density

Imagick::getImageTicksPerSecond
Imagick::getImageType
Imagick
PHP Manual

Imagick::getImageTotalInkDensity

(PECL imagick 2.0.0)

Imagick::getImageTotalInkDensity — Gets the image total ink density

Beschreibung

float Imagick::getImageTotalInkDensity ( void )

Gets the image total ink density.

Rückgabewerte

Returns the image total ink density of the image. Wirf eine ImagickException bei einem Fehler.

Imagick::getImageTicksPerSecond
Imagick::getImageType
Imagick


Gets the potential image type

Imagick::getImageTotalInkDensity
Imagick::getImageUnits
Imagick
PHP Manual

Imagick::getImageType

(PECL imagick 0.9.10-0.9.9)

Imagick::getImageType — Gets the potential image type

Beschreibung

int Imagick::getImageType ( void )

Gets the potential image type.

Rückgabewerte

Returns the potential image type.

  • imagick::IMGTYPE_UNDEFINED
  • imagick::IMGTYPE_BILEVEL
  • imagick::IMGTYPE_GRAYSCALE
  • imagick::IMGTYPE_GRAYSCALEMATTE
  • imagick::IMGTYPE_PALETTE
  • imagick::IMGTYPE_PALETTEMATTE
  • imagick::IMGTYPE_TRUECOLOR
  • imagick::IMGTYPE_TRUECOLORMATTE
  • imagick::IMGTYPE_COLORSEPARATION
  • imagick::IMGTYPE_COLORSEPARATIONMATTE
  • imagick::IMGTYPE_OPTIMIZE

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageTotalInkDensity
Imagick::getImageUnits
Imagick


Gets the image units of resolution

Imagick::getImageType
Imagick::getImageVirtualPixelMethod
Imagick
PHP Manual

Imagick::getImageUnits

(PECL imagick 2.0.0)

Imagick::getImageUnits — Gets the image units of resolution

Beschreibung

int Imagick::getImageUnits ( void )

Gets the image units of resolution.

Rückgabewerte

Returns the image units of resolution.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageType
Imagick::getImageVirtualPixelMethod
Imagick


Returns the virtual pixel method

Imagick::getImageUnits
Imagick::getImageWhitePoint
Imagick
PHP Manual

Imagick::getImageVirtualPixelMethod

(PECL imagick 2.0.0)

Imagick::getImageVirtualPixelMethod — Returns the virtual pixel method

Beschreibung

int Imagick::getImageVirtualPixelMethod ( void )

Returns the virtual pixel method for the specified image.

Rückgabewerte

Returns the virtual pixel method on success.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageUnits
Imagick::getImageWhitePoint
Imagick


Returns the chromaticity white point

Imagick::getImageVirtualPixelMethod
Imagick::getImageWidth
Imagick
PHP Manual

Imagick::getImageWhitePoint

(PECL imagick 2.0.0)

Imagick::getImageWhitePoint — Returns the chromaticity white point

Beschreibung

array Imagick::getImageWhitePoint ( void )

Returns the chromaticity white point as an associative array with the keys "x" and "y".

Rückgabewerte

Returns the chromaticity white point as an associative array with the keys "x" and "y".

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageVirtualPixelMethod
Imagick::getImageWidth
Imagick


Returns the image width

Imagick::getImageWhitePoint
Imagick::getInterlaceScheme
Imagick
PHP Manual

Imagick::getImageWidth

(PECL imagick 2.0.0)

Imagick::getImageWidth — Returns the image width

Beschreibung

int Imagick::getImageWidth ( void )

Returns the image width.

Rückgabewerte

Returns the image width.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageWhitePoint
Imagick::getInterlaceScheme
Imagick


Gets the object interlace scheme

Imagick::getImageWidth
Imagick::getIteratorIndex
Imagick
PHP Manual

Imagick::getInterlaceScheme

(PECL imagick 2.0.0)

Imagick::getInterlaceScheme — Gets the object interlace scheme

Beschreibung

int Imagick::getInterlaceScheme ( void )

Gets the object interlace scheme.

Rückgabewerte

Gets the wand interlace scheme.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getImageWidth
Imagick::getIteratorIndex
Imagick


Gets the index of the current active image

Imagick::getInterlaceScheme
Imagick::getNumberImages
Imagick
PHP Manual

Imagick::getIteratorIndex

(PECL imagick 2.0.0)

Imagick::getIteratorIndex — Gets the index of the current active image

Beschreibung

int Imagick::getIteratorIndex ( void )

Returns the index of the current active image within the Imagick object. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.2.9 oder höher kompiliert wurde.

Rückgabewerte

Returns an integer containing the index of the image in the stack.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Using Imagick::getIteratorIndex():

Create images, set and get the iterator index

<?php
$im = new Imagick();
$im->newImage(100, 100, new ImagickPixel("red"));
$im->newImage(100, 100, new ImagickPixel("green"));
$im->newImage(100, 100, new ImagickPixel("blue"));

$im->setIteratorIndex(1);
echo $im->getIteratorIndex();
?>

Siehe auch

  • Imagick::setIteratorIndex() - Set the iterator position
  • Imagick::getImageIndex() - Gets the index of the current active image
  • Imagick::setImageIndex() - Set the iterator position

Imagick::getInterlaceScheme
Imagick::getNumberImages
Imagick


Returns the number of images in the object

Imagick::getIteratorIndex
Imagick::getOption
Imagick
PHP Manual

Imagick::getNumberImages

(PECL imagick 2.0.0)

Imagick::getNumberImages — Returns the number of images in the object

Beschreibung

int Imagick::getNumberImages ( void )

Returns the number of images associated with Imagick object.

Rückgabewerte

Returns the number of images associated with Imagick object.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getIteratorIndex
Imagick::getOption
Imagick


Returns a value associated with the specified key

Imagick::getNumberImages
Imagick::getPackageName
Imagick
PHP Manual

Imagick::getOption

(PECL imagick 2.0.0)

Imagick::getOption — Returns a value associated with the specified key

Beschreibung

string Imagick::getOption ( string $key )

Returns a value associated within the object for the specified key.

Parameter-Liste

key

The name of the option

Rückgabewerte

Returns a value associated with a wand and the specified key.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getNumberImages
Imagick::getPackageName
Imagick


Returns the ImageMagick package name

Imagick::getOption
Imagick::getPage
Imagick
PHP Manual

Imagick::getPackageName

(PECL imagick 2.0.0)

Imagick::getPackageName — Returns the ImageMagick package name

Beschreibung

string Imagick::getPackageName ( void )

Returns the ImageMagick package name.

Rückgabewerte

Returns the ImageMagick package name as a string.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getOption
Imagick::getPage
Imagick


Returns the page geometry

Imagick::getPackageName
Imagick::getPixelIterator
Imagick
PHP Manual

Imagick::getPage

(PECL imagick 2.0.0)

Imagick::getPage — Returns the page geometry

Beschreibung

array Imagick::getPage ( void )

Returns the page geometry associated with the Imagick object in an associative array with the keys "width", "height", "x", and "y".

Rückgabewerte

Returns the page geometry associated with the Imagick object in an associative array with the keys "width", "height", "x", and "y", throwing ImagickException on error.

Imagick::getPackageName
Imagick::getPixelIterator
Imagick


Returns a MagickPixelIterator

Imagick::getPage
Imagick::getPixelRegionIterator
Imagick
PHP Manual

Imagick::getPixelIterator

(PECL imagick 2.0.0)

Imagick::getPixelIterator — Returns a MagickPixelIterator

Beschreibung

ImagickPixelIterator Imagick::getPixelIterator ( void )

Returns a MagickPixelIterator.

Rückgabewerte

Returns an ImagickPixelIterator on success.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::getPixelIterator()

<?php
function getPixelIterator($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imageIterator = $imagick->getPixelIterator();

    foreach ($imageIterator as $row => $pixels) { /* Loop through pixel rows */
        foreach ($pixels as $column => $pixel) { /* Loop through the pixels in the row (columns) */
            /** @var $pixel \ImagickPixel */
            if ($column % 2) {
                $pixel->setColor("rgba(0, 0, 0, 0)"); /* Paint every second pixel black*/
            }
        }
        $imageIterator->syncIterator(); /* Sync the iterator, this is important to do on each iteration */
    }

    header("Content-Type: image/jpg");
    echo $imagick;
}

?>

Imagick::getPage
Imagick::getPixelRegionIterator
Imagick


Get an ImagickPixelIterator for an image section

Imagick::getPixelIterator
Imagick::getPointSize
Imagick
PHP Manual

Imagick::getPixelRegionIterator

(PECL imagick 2.0.0)

Imagick::getPixelRegionIterator — Get an ImagickPixelIterator for an image section

Beschreibung

ImagickPixelIterator Imagick::getPixelRegionIterator ( int $x , int $y , int $columns , int $rows )

Get an ImagickPixelIterator for an image section.

Parameter-Liste

x

The x-coordinate of the region.

y

The y-coordinate of the region.

columns

The width of the region.

rows

The height of the region.

Rückgabewerte

Returns an ImagickPixelIterator for an image section.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::getPixelRegionIterator() example

Iterate over the pixels in the top left of the image, changing them to be black.

<?php
$im = new Imagick(realpath("./testImage.png"));
$areaIterator = $im->getPixelRegionIterator(0, 0, 10, 10);

foreach ($areaIterator as $rowIterator) {
    foreach ($rowIterator as $pixel) {
        // Paint every pixel black
        $pixel->setColor("rgba(0, 0, 0, 0)");
    }
    $areaIterator->syncIterator();
}
$im->writeImage("./output.png");
?>

Imagick::getPixelIterator
Imagick::getPointSize
Imagick


Gets point size

Imagick::getPixelRegionIterator
Imagick::getQuantum
Imagick
PHP Manual

Imagick::getPointSize

(No version information available, might only be in Git)

Imagick::getPointSize — Gets point size

Beschreibung

float Imagick::getPointSize ( void )

Returns the objects point size property. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.3.7 oder höher kompiliert wurde.

Rückgabewerte

Returns a float containing the point size.

Siehe auch

  • Imagick::setPointSize() - Sets point size

Imagick::getPixelRegionIterator
Imagick::getQuantum
Imagick


Description

Imagick::getPointSize
Imagick::getQuantumDepth
Imagick
PHP Manual

Imagick::getQuantum

(No version information available, might only be in Git)

Imagick::getQuantum — Description

Beschreibung

public static int Imagick::getQuantum ( void )

Returns the ImageMagick quantum range as an integer.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Imagick::getPointSize
Imagick::getQuantumDepth
Imagick


Gets the quantum depth

Imagick::getQuantum
Imagick::getQuantumRange
Imagick
PHP Manual

Imagick::getQuantumDepth

(PECL imagick 2.0.0)

Imagick::getQuantumDepth — Gets the quantum depth

Beschreibung

array Imagick::getQuantumDepth ( void )

Returns the Imagick quantum depth as a string.

Rückgabewerte

Returns the Imagick quantum depth as a string.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getQuantum
Imagick::getQuantumRange
Imagick


Returns the Imagick quantum range

Imagick::getQuantumDepth
Imagick::getRegistry
Imagick
PHP Manual

Imagick::getQuantumRange

(PECL imagick 2.0.0)

Imagick::getQuantumRange — Returns the Imagick quantum range

Beschreibung

array Imagick::getQuantumRange ( void )

Returns the quantum range for the Imagick instance.

Rückgabewerte

Returns an associative array containing the quantum range as an integer ("quantumRangeLong") and as a string ("quantumRangeString").

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getQuantumDepth
Imagick::getRegistry
Imagick


Description

Imagick::getQuantumRange
Imagick::getReleaseDate
Imagick
PHP Manual

Imagick::getRegistry

(No version information available, might only be in Git)

Imagick::getRegistry — Description

Beschreibung

public static string Imagick::getRegistry ( string $key )

Get the StringRegistry entry for the named key or false if not set.

Parameter-Liste

key

The entry to get.

Rückgabewerte

Imagick::getQuantumRange
Imagick::getReleaseDate
Imagick


Returns the ImageMagick release date

Imagick::getRegistry
Imagick::getResource
Imagick
PHP Manual

Imagick::getReleaseDate

(PECL imagick 2.0.0)

Imagick::getReleaseDate — Returns the ImageMagick release date

Beschreibung

string Imagick::getReleaseDate ( void )

Returns the ImageMagick release date as a string.

Rückgabewerte

Returns the ImageMagick release date as a string.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getRegistry
Imagick::getResource
Imagick


Returns the specified resource's memory usage

Imagick::getReleaseDate
Imagick::getResourceLimit
Imagick
PHP Manual

Imagick::getResource

(PECL imagick 2.0.0)

Imagick::getResource — Returns the specified resource's memory usage

Beschreibung

int Imagick::getResource ( int $type )

Returns the specified resource's memory usage in megabytes.

Parameter-Liste

type

Refer to the list of resourcetype constants.

Rückgabewerte

Returns the specified resource's memory usage in megabytes.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getReleaseDate
Imagick::getResourceLimit
Imagick


Returns the specified resource limit

Imagick::getResource
Imagick::getSamplingFactors
Imagick
PHP Manual

Imagick::getResourceLimit

(PECL imagick 2.0.0)

Imagick::getResourceLimit — Returns the specified resource limit

Beschreibung

int Imagick::getResourceLimit ( int $type )

Returns the specified resource limit.

Parameter-Liste

type

Refer to the list of resourcetype constants.

Rückgabewerte

Returns the specified resource limit in megabytes.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getResource
Imagick::getSamplingFactors
Imagick


Gets the horizontal and vertical sampling factor

Imagick::getResourceLimit
Imagick::getSize
Imagick
PHP Manual

Imagick::getSamplingFactors

(PECL imagick 2.0.0)

Imagick::getSamplingFactors — Gets the horizontal and vertical sampling factor

Beschreibung

array Imagick::getSamplingFactors ( void )

Gets the horizontal and vertical sampling factor.

Rückgabewerte

Returns an associative array with the horizontal and vertical sampling factors of the image.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getResourceLimit
Imagick::getSize
Imagick


Returns the size associated with the Imagick object

Imagick::getSamplingFactors
Imagick::getSizeOffset
Imagick
PHP Manual

Imagick::getSize

(PECL imagick 2.0.0)

Imagick::getSize — Returns the size associated with the Imagick object

Beschreibung

array Imagick::getSize ( void )

Returns the size associated with the Imagick object as an array with the keys "columns" and "rows".

Rückgabewerte

Returns the size associated with the Imagick object as an array with the keys "columns" and "rows".

Imagick::getSamplingFactors
Imagick::getSizeOffset
Imagick


Returns the size offset

Imagick::getSize
Imagick::getVersion
Imagick
PHP Manual

Imagick::getSizeOffset

(PECL imagick 2.0.0)

Imagick::getSizeOffset — Returns the size offset

Beschreibung

int Imagick::getSizeOffset ( void )

Returns the size offset associated with the Imagick object. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.2.9 oder höher kompiliert wurde.

Rückgabewerte

Returns the size offset associated with the Imagick object.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getSize
Imagick::getVersion
Imagick


Returns the ImageMagick API version

Imagick::getSizeOffset
Imagick::haldClutImage
Imagick
PHP Manual

Imagick::getVersion

(PECL imagick 2.0.0)

Imagick::getVersion — Returns the ImageMagick API version

Beschreibung

array Imagick::getVersion ( void )

Returns the ImageMagick API version as a string and as a number.

Rückgabewerte

Returns the ImageMagick API version as a string and as a number.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::getSizeOffset
Imagick::haldClutImage
Imagick


Replaces colors in the image

Imagick::getVersion
Imagick::hasNextImage
Imagick
PHP Manual

Imagick::haldClutImage

(No version information available, might only be in Git)

Imagick::haldClutImage — Replaces colors in the image

Beschreibung

public bool Imagick::haldClutImage ( Imagick $clut [, int $channel = Imagick::CHANNEL_DEFAULT ] )

Replaces colors in the image using a Hald lookup table. Hald images can be created using HALD color coder.

Parameter-Liste

clut

Imagick object containing the Hald lookup image.

channel

Übergeben Sie eine Channel-Konstante, die für Ihren Channel-Moduls gültig ist. Um mehr als einen Channel anzuwenden, können Sie die Channel-Konstanten mit bitweisen Operationen verknüpfen. Der Standardwert ist Imagick::CHANNEL_DEFAULT. Sehen Sie sich auch die Liste der Channel-Konstanten an

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::haldClutImage()

<?php
function haldClutImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagickPalette = new \Imagick(realpath("images/hald/hald_8.png"));
    $imagickPalette->sepiatoneImage(55);
    $imagick->haldClutImage($imagickPalette);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::getVersion
Imagick::hasNextImage
Imagick


Checks if the object has more images

Imagick::haldClutImage
Imagick::hasPreviousImage
Imagick
PHP Manual

Imagick::hasNextImage

(PECL imagick 2.0.0)

Imagick::hasNextImage — Checks if the object has more images

Beschreibung

bool Imagick::hasNextImage ( void )

Returns TRUE if the object has more images when traversing the list in the forward direction.

Rückgabewerte

Returns TRUE if the object has more images when traversing the list in the forward direction, returns FALSE if there are none.

Imagick::haldClutImage
Imagick::hasPreviousImage
Imagick


Checks if the object has a previous image

Imagick::hasNextImage
Imagick::identifyFormat
Imagick
PHP Manual

Imagick::hasPreviousImage

(PECL imagick 2.0.0)

Imagick::hasPreviousImage — Checks if the object has a previous image

Beschreibung

bool Imagick::hasPreviousImage ( void )

Returns TRUE if the object has more images when traversing the list in the reverse direction

Rückgabewerte

Returns TRUE if the object has more images when traversing the list in the reverse direction, returns FALSE if there are none.

Imagick::hasNextImage
Imagick::identifyFormat
Imagick


Description

Imagick::hasPreviousImage
Imagick::identifyImage
Imagick
PHP Manual

Imagick::identifyFormat

(No version information available, might only be in Git)

Imagick::identifyFormat — Description

Beschreibung

public string|false Imagick::identifyFormat ( string $embedText )

Replaces any embedded formatting characters with the appropriate image property and returns the interpreted text. See http://www.imagemagick.org/script/escape.php for escape sequences.

Parameter-Liste

embedText

A string containing formatting sequences e.g. "Trim box: %@ number of unique colors: %k".

Rückgabewerte

Beispiele

Beispiel #1 Imagick::identifyFormat()

<?php
        $output = "Output of 'Trim box: %@ number of unique colors: %k' is: <br/>";
        $imagick = new \Imagick(realpath("./images/artifact/mask.png"));
        $output .= $imagick->identifyFormat("Trim box: %@ number of unique colors: %k");

?>

Imagick::hasPreviousImage
Imagick::identifyImage
Imagick


Identifies an image and fetches attributes

Imagick::identifyFormat
Imagick::implodeImage
Imagick
PHP Manual

Imagick::identifyImage

(PECL imagick 2.0.0)

Imagick::identifyImage — Identifies an image and fetches attributes

Beschreibung

array Imagick::identifyImage ([ bool $appendRawOutput = false ] )

Identifies an image and returns the attributes. Attributes include the image width, height, size, and others.

Parameter-Liste

appendRawOutput

Rückgabewerte

Identifies an image and returns the attributes. Attributes include the image width, height, size, and others.

Beispiel #1 Example Result Format

Array
(
    [imageName] => /some/path/image.jpg
    [format] => JPEG (Joint Photographic Experts Group JFIF format)
    [geometry] => Array
        (
            [width] => 90
            [height] => 90
        )

    [type] => TrueColor
    [colorSpace] => RGB
    [resolution] => Array
        (
            [x] => 300
            [y] => 300
        )

    [units] => PixelsPerInch
    [fileSize] => 1.88672kb
    [compression] => JPEG
    [signature] => 9a6dc8f604f97d0d691c0286176ddf992e188f0bebba98494b2146ee2d7118da
)

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::identifyFormat
Imagick::implodeImage
Imagick


Creates a new image as a copy

Imagick::identifyImage
Imagick::importImagePixels
Imagick
PHP Manual

Imagick::implodeImage

(PECL imagick 2.0.0)

Imagick::implodeImage — Creates a new image as a copy

Beschreibung

bool Imagick::implodeImage ( float $radius )

Creates a new image that is a copy of an existing one with the image pixels "imploded" by the specified percentage.

Parameter-Liste

radius

The radius of the implode

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::implodeImage()

<?php
function implodeImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->implodeImage(0.0001);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();

}

?>

Imagick::identifyImage
Imagick::importImagePixels
Imagick


Imports image pixels

Imagick::implodeImage
Imagick::inverseFourierTransformImage
Imagick
PHP Manual

Imagick::importImagePixels

(No version information available, might only be in Git)

Imagick::importImagePixels — Imports image pixels

Beschreibung

public bool Imagick::importImagePixels ( int $x , int $y , int $width , int $height , string $map , int $storage , array $pixels )

Imports pixels from an array into an image. The map is usually 'RGB'. This method imposes the following constraints for the parameters: amount of pixels in the array must match width x height x length of the map. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.4.5 oder höher kompiliert wurde.

Parameter-Liste

x

The image x position

y

The image y position

width

The image width

height

The image height

map

Map of pixel ordering as a string. This can be for example RGB. The value can be any combination or order of R = red, G = green, B = blue, A = alpha (0 is transparent), O = opacity (0 is opaque), C = cyan, Y = yellow, M = magenta, K = black, I = intensity (for grayscale), P = pad.

storage

The pixel storage method. Refer to this list of pixel constants.

pixels

The array of pixels

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::importImagePixels() example

<?php

/* Generate array of pixels. 2000 pixels per color stripe */
$count = 2000 * 3;

$pixels =
   array_merge(array_pad(array(), $count, 0),
               array_pad(array(), $count, 255),
               array_pad(array(), $count, 0),
               array_pad(array(), $count, 255),
               array_pad(array(), $count, 0));

/* Width and height. The area is amount of pixels divided
   by three. Three comes from 'RGB', three values per pixel */
$width = $height = pow((count($pixels) / 3), 0.5);

/* Create empty image */
$im = new Imagick();
$im->newImage($width, $height, 'gray');

/* Import the pixels into image.
   width * height * strlen("RGB") must match count($pixels) */
$im->importImagePixels(0, 0, $width, $height, "RGB", Imagick::PIXEL_CHAR, $pixels);

/* output as jpeg image */
$im->setImageFormat('jpg');
header("Content-Type: image/jpg");
echo $im;

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Output of example : Imagick::importImagePixels()

Imagick::implodeImage
Imagick::inverseFourierTransformImage
Imagick


Description

Imagick::importImagePixels
Imagick::labelImage
Imagick
PHP Manual

Imagick::inverseFourierTransformImage

(No version information available, might only be in Git)

Imagick::inverseFourierTransformImage — Description

Beschreibung

public void Imagick::inverseFourierTransformImage ( string $complement , string $magnitude )

Implements the inverse discrete Fourier transform (DFT) of the image either as a magnitude / phase or real / imaginary image pair.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

complement

The second image to combine with this one to form either the magnitude / phase or real / imaginary image pair.

magnitude

If true, combine as magnitude / phase pair otherwise a real / imaginary image pair.

Rückgabewerte

Imagick::importImagePixels
Imagick::labelImage
Imagick


Adds a label to an image

Imagick::inverseFourierTransformImage
Imagick::levelImage
Imagick
PHP Manual

Imagick::labelImage

(PECL imagick 2.0.0)

Imagick::labelImage — Adds a label to an image

Beschreibung

bool Imagick::labelImage ( string $label )

Adds a label to an image.

Parameter-Liste

label

The label to add

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::inverseFourierTransformImage
Imagick::levelImage
Imagick


Adjusts the levels of an image

Imagick::labelImage
Imagick::linearStretchImage
Imagick
PHP Manual

Imagick::levelImage

(PECL imagick 2.0.0)

Imagick::levelImage — Adjusts the levels of an image

Beschreibung

bool Imagick::levelImage ( float $blackPoint , float $gamma , float $whitePoint [, int $channel = Imagick::CHANNEL_ALL ] )

Adjusts the levels of an image by scaling the colors falling between specified white and black points to the full available quantum range. The parameters provided represent the black, mid, and white points. The black point specifies the darkest color in the image. Colors darker than the black point are set to zero. Mid point specifies a gamma correction to apply to the image. White point specifies the lightest color in the image. Colors brighter than the white point are set to the maximum quantum value.

Parameter-Liste

blackPoint

The image black point

gamma

The gamma value

whitePoint

The image white point

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::levelImage()

<?php
function levelImage($blackPoint, $gamma, $whitePoint) {
    $imagick = new \Imagick();
    $imagick->newPseudoimage(500, 500, 'gradient:black-white');

    $imagick->setFormat('png');
    $quantum = $imagick->getQuantum();
    $imagick->levelImage($blackPoint / 100 , $gamma, $quantum * $whitePoint / 100);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

Imagick::labelImage
Imagick::linearStretchImage
Imagick


Stretches with saturation the image intensity

Imagick::levelImage
Imagick::liquidRescaleImage
Imagick
PHP Manual

Imagick::linearStretchImage

(PECL imagick 2.0.0)

Imagick::linearStretchImage — Stretches with saturation the image intensity

Beschreibung

bool Imagick::linearStretchImage ( float $blackPoint , float $whitePoint )

Stretches with saturation the image intensity.

Parameter-Liste

blackPoint

The image black point

whitePoint

The image white point

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Imagick::linearStretchImage()

<?php
function linearStretchImage($imagePath, $blackThreshold, $whiteThreshold) {
    $imagick = new \Imagick(realpath($imagePath));
    $pixels = $imagick->getImageWidth() * $imagick->getImageHeight();
    $imagick->linearStretchImage($blackThreshold * $pixels, $whiteThreshold * $pixels);

    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::levelImage
Imagick::liquidRescaleImage
Imagick


Animates an image or images

Imagick::linearStretchImage
Imagick::listRegistry
Imagick
PHP Manual

Imagick::liquidRescaleImage

(No version information available, might only be in Git)

Imagick::liquidRescaleImage — Animates an image or images

Beschreibung

bool Imagick::liquidRescaleImage ( int $width , int $height , float $delta_x , float $rigidity )

This method scales the images using liquid rescaling method. This method is an implementation of a technique called seam carving. In order for this method to work as expected ImageMagick must be compiled with liblqr support. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.3.9 oder höher kompiliert wurde.

Parameter-Liste

width

The width of the target size

height

The height of the target size

delta_x

How much the seam can traverse on x-axis. Passing 0 causes the seams to be straight.

rigidity

Introduces a bias for non-straight seams. This parameter is typically 0.

Rückgabewerte

Liefert TRUE bei Erfolg.

Siehe auch

  • Imagick::resizeImage() - Scales an image

Imagick::linearStretchImage
Imagick::listRegistry
Imagick


Description

Imagick::liquidRescaleImage
Imagick::magnifyImage
Imagick
PHP Manual

Imagick::listRegistry

(No version information available, might only be in Git)

Imagick::listRegistry — Description

Beschreibung

public static array Imagick::listRegistry ( void )

List all the registry settings. Returns an array of all the key/value pairs in the registry

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An array containing the key/values from the registry.

Imagick::liquidRescaleImage
Imagick::magnifyImage
Imagick


Scales an image proportionally 2x

Imagick::listRegistry
Imagick::mapImage
Imagick
PHP Manual

Imagick::magnifyImage

(PECL imagick 2.0.0)

Imagick::magnifyImage — Scales an image proportionally 2x

Beschreibung

bool Imagick::magnifyImage ( void )

Is a convenience method that scales an image proportionally to twice its original size.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::magnifyImage()

<?php
function magnifyImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->magnifyImage();
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::listRegistry
Imagick::mapImage
Imagick


Replaces the colors of an image with the closest color from a reference image.

Imagick::magnifyImage
Imagick::matteFloodfillImage
Imagick
PHP Manual

Imagick::mapImage

(PECL imagick 2.0.0)

Imagick::mapImage — Replaces the colors of an image with the closest color from a reference image.

Beschreibung

bool Imagick::mapImage ( Imagick $map , bool $dither )

Parameter-Liste

map

dither

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::magnifyImage
Imagick::matteFloodfillImage
Imagick


Changes the transparency value of a color

Imagick::mapImage
Imagick::medianFilterImage
Imagick
PHP Manual

Imagick::matteFloodfillImage

(PECL imagick 2.0.0)

Imagick::matteFloodfillImage — Changes the transparency value of a color

Beschreibung

bool Imagick::matteFloodfillImage ( float $alpha , float $fuzz , mixed $bordercolor , int $x , int $y )

Changes the transparency value of any pixel that matches target and is an immediate neighbor. If the method FillToBorderMethod is specified, the transparency value is changed for any neighbor pixel that does not match the bordercolor member of image.

Parameter-Liste

alpha

The level of transparency: 1.0 is fully opaque and 0.0 is fully transparent.

fuzz

The fuzz member of image defines how much tolerance is acceptable to consider two colors as the same.

bordercolor

An ImagickPixel object or string representing the border color.

x

The starting x coordinate of the operation.

y

The starting y coordinate of the operation.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Changelog

Version | Beschreibung
2.1.0 | Now allows a string representing the color as the third parameter. Previous versions allow only an ImagickPixel object.

Imagick::mapImage
Imagick::medianFilterImage
Imagick


Applies a digital filter

Imagick::matteFloodfillImage
Imagick::mergeImageLayers
Imagick
PHP Manual

Imagick::medianFilterImage

(PECL imagick 2.0.0)

Imagick::medianFilterImage — Applies a digital filter

Beschreibung

bool Imagick::medianFilterImage ( float $radius )

Applies a digital filter that improves the quality of a noisy image. Each pixel is replaced by the median in a set of neighboring pixels as defined by radius.

Parameter-Liste

radius

The radius of the pixel neighborhood.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::medianFilterImage()

<?php
function medianFilterImage($radius, $imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    @$imagick->medianFilterImage($radius);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::matteFloodfillImage
Imagick::mergeImageLayers
Imagick


Merges image layers

Imagick::medianFilterImage
Imagick::minifyImage
Imagick
PHP Manual

Imagick::mergeImageLayers

(PECL imagick 2.1.0)

Imagick::mergeImageLayers — Merges image layers

Beschreibung

Imagick Imagick::mergeImageLayers ( int $layer_method )

Merges image layers into one. This method is useful when working with image formats that use multiple layers such as PSD. The merging is controlled using the layer_method which defines how the layers are merged. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.3.7 oder höher kompiliert wurde.

Parameter-Liste

layer_method

One of the Imagick::LAYERMETHOD_* constants

Rückgabewerte

Returns an Imagick object containing the merged image.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Siehe auch

  • Imagick::flattenImages() - Merges a sequence of images

Beispiele

Beispiel #1 Imagick::mergeImageLayers()

<?php
function mergeImageLayers($layerMethodType, $imagePath1, $imagePath2) {

    $imagick = new \Imagick(realpath($imagePath));

    $imagick2 = new \Imagick(realpath($imagePath2));
    $imagick->addImage($imagick2);
    $imagick->setImageFormat('png');

    $result = $imagick->mergeImageLayers($layerMethodType);
    header("Content-Type: image/png");
    echo $result->getImageBlob();
}

?>

Imagick::medianFilterImage
Imagick::minifyImage
Imagick


Scales an image proportionally to half its size

Imagick::mergeImageLayers
Imagick::modulateImage
Imagick
PHP Manual

Imagick::minifyImage

(PECL imagick 2.0.0)

Imagick::minifyImage — Scales an image proportionally to half its size

Beschreibung

bool Imagick::minifyImage ( void )

Is a convenience method that scales an image proportionally to one-half its original size

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::mergeImageLayers
Imagick::modulateImage
Imagick


Control the brightness, saturation, and hue

Imagick::minifyImage
Imagick::montageImage
Imagick
PHP Manual

Imagick::modulateImage

(PECL imagick 2.0.0)

Imagick::modulateImage — Control the brightness, saturation, and hue

Beschreibung

bool Imagick::modulateImage ( float $brightness , float $saturation , float $hue )

Lets you control the brightness, saturation, and hue of an image. Hue is the percentage of absolute rotation from the current position. For example 50 results in a counter-clockwise rotation of 90 degrees, 150 results in a clockwise rotation of 90 degrees, with 0 and 200 both resulting in a rotation of 180 degrees.

Parameter-Liste

brightness

saturation

hue

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Imagick::modulateImage()

<?php
function modulateImage($imagePath, $hue, $brightness, $saturation) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->modulateImage($brightness, $saturation, $hue);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::minifyImage
Imagick::montageImage
Imagick


Creates a composite image

Imagick::modulateImage
Imagick::morphImages
Imagick
PHP Manual

Imagick::montageImage

(PECL imagick 2.0.0)

Imagick::montageImage — Creates a composite image

Beschreibung

Imagick Imagick::montageImage ( ImagickDraw $draw , string $tile_geometry , string $thumbnail_geometry , int $mode , string $frame )

Creates a composite image by combining several separate images. The images are tiled on the composite image with the name of the image optionally appearing just below the individual tile.

Parameter-Liste

draw

The font name, size, and color are obtained from this object.

tile_geometry

The number of tiles per row and page (e.g. 6x4+0+0).

thumbnail_geometry

Preferred image size and border size of each thumbnail (e.g. 120x120+4+3>).

mode

Thumbnail framing mode, see Montage Mode constants.

frame

Surround the image with an ornamental border (e.g. 15x15+3+3). The frame color is that of the thumbnail's matte color.

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::modulateImage
Imagick::morphImages
Imagick


Method morphs a set of images

Imagick::montageImage
Imagick::morphology
Imagick
PHP Manual

Imagick::morphImages

(PECL imagick 2.0.0)

Imagick::morphImages — Method morphs a set of images

Beschreibung

Imagick Imagick::morphImages ( int $number_frames )

Method morphs a set of images. Both the image pixels and size are linearly interpolated to give the appearance of a meta-morphosis from one image to the next.

Parameter-Liste

number_frames

The number of in-between images to generate.

Rückgabewerte

This method returns a new Imagick object on success. Wirf eine ImagickException bei einem Fehler.

Imagick::montageImage
Imagick::morphology
Imagick


Description

Imagick::morphImages
Imagick::mosaicImages
Imagick
PHP Manual

Imagick::morphology

(No version information available, might only be in Git)

Imagick::morphology — Description

Beschreibung

public void Imagick::morphology ( int $morphologyMethod , int $iterations , ImagickKernel $ImagickKernel [, string $CHANNEL ] )

Applies a user supplied kernel to the image according to the given morphology method.

Parameter-Liste

morphologyMethod

Which morphology method to use one of the \Imagick::MORPHOLOGY_* constants.

iterations

The number of iteration to apply the morphology function. A value of -1 means loop until no change found. How this is applied may depend on the morphology method. Typically this is a value of 1.

ImagickKernel

CHANNEL

Rückgabewerte

Beispiele

Beispiel #1 Convolve Imagick::morphology()

<?php
        $imagick = $this->getCharacter();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_GAUSSIAN, "5,1");
        $imagick->morphology(\Imagick::MORPHOLOGY_CONVOLVE, 2, $kernel);
        header("Content-Type: image/png");
        echo $imagick->getImageBlob();

?>

Beispiel #2 Correlate Imagick::morphology()

<?php

        // Top-left pixel must be black
        // Bottom right pixel must be white
        // We don't care about the rest.

        $imagick = $this->getCharacterOutline();
        $kernel = \ImagickKernel::fromMatrix(self::$correlateMatrix, [2, 2]);
        $imagick->morphology(\Imagick::MORPHOLOGY_CORRELATE, 1, $kernel);
        header("Content-Type: image/png");
        echo $imagick->getImageBlob();

?>

Beispiel #3 Erode Imagick::morphology()

<?php
        $canvas = $this->getCharacterOutline();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_OCTAGON, "3");
        $canvas->morphology(\Imagick::MORPHOLOGY_ERODE, 2, $kernel);
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Beispiel #4 Erode Intensity Imagick::morphology()

<?php
        $canvas = $this->getCharacter();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_OCTAGON, "1");
        $canvas->morphology(\Imagick::MORPHOLOGY_ERODE_INTENSITY, 2, $kernel);
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Beispiel #5 Dilate Imagick::morphology()

<?php
        $canvas = $this->getCharacterOutline();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_OCTAGON, "3");
        $canvas->morphology(\Imagick::MORPHOLOGY_DILATE, 4, $kernel);
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Beispiel #6 Dilate intensity Imagick::morphology()

<?php
        $canvas = $this->getCharacter();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_OCTAGON, "1");
        $canvas->morphology(\Imagick::MORPHOLOGY_DILATE_INTENSITY, 4, $kernel);
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Beispiel #7 Distance with Chebyshev kernel Imagick::morphology()

<?php
        $canvas = $this->getCharacterOutline();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_CHEBYSHEV, "3");
        $canvas->morphology(\Imagick::MORPHOLOGY_DISTANCE, 3, $kernel);
        $canvas->autoLevelImage();
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Beispiel #8 Distance with Manhattan kernel Imagick::morphology()

<?php
        $canvas = $this->getCharacterOutline();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_MANHATTAN, "5");
        $canvas->morphology(\Imagick::MORPHOLOGY_DISTANCE, 3, $kernel);
        $canvas->autoLevelImage();
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Beispiel #9 Distance with ocatagonal kernel Imagick::morphology()

<?php
        $canvas = $this->getCharacterOutline();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_OCTAGONAL, "5");
        $canvas->morphology(\Imagick::MORPHOLOGY_DISTANCE, 3, $kernel);
        $canvas->autoLevelImage();
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Beispiel #10 Distance with Euclidean kernel Imagick::morphology()

<?php
        $canvas = $this->getCharacterOutline();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_EUCLIDEAN, "4");
        $canvas->morphology(\Imagick::MORPHOLOGY_DISTANCE, 3, $kernel);
        $canvas->autoLevelImage();
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Beispiel #11 Edge Imagick::morphology()

<?php
        $canvas = $this->getCharacterOutline();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_OCTAGON, "3");
        $canvas->morphology(\Imagick::MORPHOLOGY_EDGE, 1, $kernel);
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Beispiel #12 Open Imagick::morphology()

<?php
        // As a result you will see that 'Open' smoothed the outline, by rounding off any sharp points, and remove any parts that is smaller than the shape used. It will also disconnect or 'open' any thin bridges.
        $canvas = $this->getCharacterOutline();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_DISK, "6");
        $canvas->morphology(\Imagick::MORPHOLOGY_OPEN, 1, $kernel);
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Beispiel #13 Open intensity Imagick::morphology()

<?php
        // As a result you will see that 'Open' smoothed the outline, by rounding off any sharp points, and remove any parts that is smaller than the shape used. It will also disconnect or 'open' any thin bridges.

        $canvas = $this->getCharacter();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_DISK, "6");
        $canvas->morphology(\Imagick::MORPHOLOGY_OPEN_INTENSITY, 1, $kernel);
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Beispiel #14 Close Imagick::morphology()

<?php
        //The basic use of the 'Close' method is to reduce or remove any 'holes' or 'gaps' about the size of the kernel 'Structure Element'. That is 'close' parts of the background that are about that size.
        $canvas = $this->getCharacterOutline();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_DISK, "6");
        $canvas->morphology(\Imagick::MORPHOLOGY_CLOSE, 1, $kernel);
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Beispiel #15 Close Intensity Imagick::morphology()

<?php
        //The basic use of the 'Close' method is to reduce or remove any 'holes' or 'gaps' about the size of the kernel 'Structure Element'. That is 'close' parts of the background that are about that size.
        $canvas = $this->getCharacter();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_DISK, "6");
        $canvas->morphology(\Imagick::MORPHOLOGY_CLOSE_INTENSITY, 1, $kernel);
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Beispiel #16 Smooth Imagick::morphology()

<?php
        $canvas = $this->getCharacterOutline();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_OCTAGON, "3");
        $canvas->morphology(\Imagick::MORPHOLOGY_SMOOTH, 1, $kernel);
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Beispiel #17 Edge in Imagick::morphology()

<?php
        $canvas = $this->getCharacterOutline();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_OCTAGON, "3");
        $canvas->morphology(\Imagick::MORPHOLOGY_EDGE_IN, 1, $kernel);
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Beispiel #18 Edge out Imagick::morphology()

<?php
        $canvas = $this->getCharacterOutline();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_OCTAGON, "3");
        $canvas->morphology(\Imagick::MORPHOLOGY_EDGE_OUT, 1, $kernel);
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Beispiel #19 The 'TopHat' method, or more specifically 'White Top Hat', returns the pixels that were removed by a Opening of the shape, that is the pixels that were removed to round off the points, and the connecting bridged between shapes. Imagick::morphology()

<?php
        $canvas = $this->getCharacterOutline();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_DISK, "5");
        $canvas->morphology(\Imagick::MORPHOLOGY_TOP_HAT, 1, $kernel);
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Beispiel #20 The 'BottomHat' method, also known as 'Black TopHat' is the pixels that a Closing of the shape adds to the image. That is the the pixels that were used to fill in the 'holes', 'gaps', and 'bridges'. Imagick::morphology()

<?php

        $canvas = $this->getCharacterOutline();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_DISK, "5");
        $canvas->morphology(\Imagick::MORPHOLOGY_BOTTOM_HAT, 1, $kernel);
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Beispiel #21 Hit and Miss Imagick::morphology()

<?php
        $canvas = $this->getCharacterOutline();
        //This finds all the pixels with 3 pixels of the right edge
        $matrix = [[1, false, false, 0]];
        $kernel = \ImagickKernel::fromMatrix(
            $matrix,
            [0, 0]
        );
        $canvas->morphology(\Imagick::MORPHOLOGY_HIT_AND_MISS, 1, $kernel);
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Beispiel #22 Thinning Imagick::morphology()

<?php
        $canvas = $this->getCharacterOutline();
        $leftEdgeKernel = \ImagickKernel::fromMatrix([[0, 1]], [1, 0]);
        $rightEdgeKernel = \ImagickKernel::fromMatrix([[1, 0]], [0, 0]);
        $leftEdgeKernel->addKernel($rightEdgeKernel);

        $canvas->morphology(\Imagick::MORPHOLOGY_THINNING, 3, $leftEdgeKernel);
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Beispiel #23 Thicken Imagick::morphology()

<?php
        $canvas = $this->getCharacterOutline();
        $leftEdgeKernel = \ImagickKernel::fromMatrix([[0, 1]], [1, 0]);
        $rightEdgeKernel = \ImagickKernel::fromMatrix([[1, 0]], [0, 0]);
        $leftEdgeKernel->addKernel($rightEdgeKernel);

        $canvas->morphology(\Imagick::MORPHOLOGY_THICKEN, 3, $leftEdgeKernel);
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Beispiel #24 Thick to generate a convex hull Imagick::morphology()

<?php
        $canvas = $this->getCharacterOutline();
        $diamondKernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_DIAMOND, "1");
        $convexKernel =  \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_CONVEX_HULL, "");

        // The thicken morphology doesn't handle small gaps. We close them
        // with the close morphology.
        $canvas->morphology(\Imagick::MORPHOLOGY_CLOSE, 1, $diamondKernel);
        $canvas->morphology(\Imagick::MORPHOLOGY_THICKEN, -1, $convexKernel);
        $canvas->morphology(\Imagick::MORPHOLOGY_CLOSE, 1, $diamondKernel);

        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Beispiel #25 Iterative morphology Imagick::morphology()

<?php
        $canvas = $this->getCharacterOutline();
        $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_DISK, "2");
        $canvas->morphology(\Imagick::MORPHOLOGY_ITERATIVE, 3, $kernel);
        $canvas->autoLevelImage();
        header("Content-Type: image/png");
        echo $canvas->getImageBlob();

?>

Beispiel #26 Helper functon to get an image silhouette Imagick::morphology()

<?php
    private function getCharacterOutline() {

        $imagick = new \Imagick(realpath("./images/character.png"));
        $character = new \Imagick();
        $character->newPseudoImage(
            $imagick->getImageWidth(),
            $imagick->getImageHeight(),
            "canvas:white"
        );
        $canvas = new \Imagick();
        $canvas->newPseudoImage(
            $imagick->getImageWidth(),
            $imagick->getImageHeight(),
            "canvas:black"
        );

        $character->compositeimage(
            $imagick,
            \Imagick::COMPOSITE_COPYOPACITY,
            0, 0
        );
        $canvas->compositeimage(
            $character,
            \Imagick::COMPOSITE_ATOP,
            0, 0
        );
        $canvas->setFormat('png');

        return $canvas;
    }

?>

Imagick::morphImages
Imagick::mosaicImages
Imagick


Forms a mosaic from images

Imagick::morphology
Imagick::motionBlurImage
Imagick
PHP Manual

Imagick::mosaicImages

(PECL imagick 2.0.0)

Imagick::mosaicImages — Forms a mosaic from images

Beschreibung

Imagick Imagick::mosaicImages ( void )

Inlays an image sequence to form a single coherent picture. It returns a wand with each image in the sequence composited at the location defined by the page offset of the image.

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::morphology
Imagick::motionBlurImage
Imagick


Simulates motion blur

Imagick::mosaicImages
Imagick::negateImage
Imagick
PHP Manual

Imagick::motionBlurImage

(PECL imagick 2.0.0)

Imagick::motionBlurImage — Simulates motion blur

Beschreibung

bool Imagick::motionBlurImage ( float $radius , float $sigma , float $angle [, int $channel = Imagick::CHANNEL_DEFAULT ] )

Simulates motion blur. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and MotionBlurImage() selects a suitable radius for you. Angle gives the angle of the blurring motion.

Parameter-Liste

radius

The radius of the Gaussian, in pixels, not counting the center pixel.

sigma

The standard deviation of the Gaussian, in pixels.

angle

Apply the effect along this angle.

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants. The channel argument affects only if Imagick is compiled against ImageMagick version 6.4.4 or greater.

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Imagick::motionBlurImage()

<?php
function motionBlurImage($imagePath, $radius, $sigma, $angle, $channel) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->motionBlurImage($radius, $sigma, $angle, $channel);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::mosaicImages
Imagick::negateImage
Imagick


Negates the colors in the reference image

Imagick::motionBlurImage
Imagick::newImage
Imagick
PHP Manual

Imagick::negateImage

(PECL imagick 2.0.0)

Imagick::negateImage — Negates the colors in the reference image

Beschreibung

bool Imagick::negateImage ( bool $gray [, int $channel = Imagick::CHANNEL_ALL ] )

Negates the colors in the reference image. The Grayscale option means that only grayscale values within the image are negated.

Parameter-Liste

gray

Whether to only negate grayscale pixels within the image.

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::negateImage()

<?php
function negateImage($imagePath, $grayOnly, $channel) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->negateImage($grayOnly, $channel);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::motionBlurImage
Imagick::newImage
Imagick


Creates a new image

Imagick::negateImage
Imagick::newPseudoImage
Imagick
PHP Manual

Imagick::newImage

(PECL imagick 2.0.0)

Imagick::newImage — Creates a new image

Beschreibung

bool Imagick::newImage ( int $cols , int $rows , mixed $background [, string $format ] )

Creates a new image and associates ImagickPixel value as background color

Parameter-Liste

cols

Columns in the new image

rows

Rows in the new image

background

The background color used for this image

format

Image format. This parameter was added in Imagick version 2.0.1.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Changelog

Version | Beschreibung
2.1.0 | Now allows a string representing the color as the third parameter. Previous versions allow only an ImagickPixel object.

Beispiele

Beispiel #1 Using Imagick::newImage():

Create a new image and display it.

<?php

$image = new Imagick();
$image->newImage(100, 100, new ImagickPixel('red'));
$image->setImageFormat('png');

header('Content-type: image/png');
echo $image;

?>

Imagick::negateImage
Imagick::newPseudoImage
Imagick


Creates a new image

Imagick::newImage
Imagick::nextImage
Imagick
PHP Manual

Imagick::newPseudoImage

(PECL imagick 2.0.0)

Imagick::newPseudoImage — Creates a new image

Beschreibung

bool Imagick::newPseudoImage ( int $columns , int $rows , string $pseudoString )

Creates a new image using ImageMagick pseudo-formats.

Parameter-Liste

columns

columns in the new image

rows

rows in the new image

pseudoString

string containing pseudo image definition.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::newPseudoImage()

<?php
function newPseudoImage($canvasType) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(300, 300, $canvasType);
    $imagick->setImageFormat("png");
    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

//newPseudoImage('gradient:red-rgba(64, 255, 255, 0.5)');
//newPseudoImage("radial-gradient:red-blue");
newPseudoImage("plasma:fractal");

?>

Imagick::newImage
Imagick::nextImage
Imagick


Moves to the next image

Imagick::newPseudoImage
Imagick::normalizeImage
Imagick
PHP Manual

Imagick::nextImage

(PECL imagick 2.0.0)

Imagick::nextImage — Moves to the next image

Beschreibung

bool Imagick::nextImage ( void )

Associates the next image in the image list with an Imagick object.

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::newPseudoImage
Imagick::normalizeImage
Imagick


Enhances the contrast of a color image

Imagick::nextImage
Imagick::oilPaintImage
Imagick
PHP Manual

Imagick::normalizeImage

(PECL imagick 2.0.0)

Imagick::normalizeImage — Enhances the contrast of a color image

Beschreibung

bool Imagick::normalizeImage ([ int $channel = Imagick::CHANNEL_ALL ] )

Enhances the contrast of a color image by adjusting the pixels color to span the entire range of colors available.

Parameter-Liste

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Imagick::normalizeImage()

<?php
function normalizeImage($imagePath, $channel) {
    $imagick = new \Imagick(realpath($imagePath));
    $original = clone $imagick;
    $original->cropimage($original->getImageWidth() / 2, $original->getImageHeight(), 0, 0);
    $imagick->normalizeImage($channel);
    $imagick->compositeimage($original, \Imagick::COMPOSITE_ATOP, 0, 0);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::nextImage
Imagick::oilPaintImage
Imagick


Simulates an oil painting

Imagick::normalizeImage
Imagick::opaquePaintImage
Imagick
PHP Manual

Imagick::oilPaintImage

(PECL imagick 2.0.0)

Imagick::oilPaintImage — Simulates an oil painting

Beschreibung

bool Imagick::oilPaintImage ( float $radius )

Applies a special effect filter that simulates an oil painting. Each pixel is replaced by the most frequent color occurring in a circular region defined by radius.

Parameter-Liste

radius

The radius of the circular neighborhood.

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Imagick::oilPaintImage()

<?php
function oilPaintImage($imagePath, $radius) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->oilPaintImage($radius);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::normalizeImage
Imagick::opaquePaintImage
Imagick


Changes the color value of any pixel that matches target

Imagick::oilPaintImage
Imagick::optimizeImageLayers
Imagick
PHP Manual

Imagick::opaquePaintImage

(No version information available, might only be in Git)

Imagick::opaquePaintImage — Changes the color value of any pixel that matches target

Beschreibung

bool Imagick::opaquePaintImage ( mixed $target , mixed $fill , float $fuzz , bool $invert [, int $channel = Imagick::CHANNEL_DEFAULT ] )

Changes any pixel that matches color with the color defined by fill. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.3.8 oder höher kompiliert wurde.

Parameter-Liste

target

ImagickPixel object or a string containing the color to change

fill

The replacement color

fuzz

Die Menge an Ungenauigkeit. Wird dieser Wert z.B. auf 10 gesetzt, so werden die Farbe Rot sowohl bei Intensitäten von 100 als auch 102 als identisch betrachtet.

invert

If TRUE paints any pixel that does not match the target color.

channel

Übergeben Sie eine Channel-Konstante, die für Ihren Channel-Moduls gültig ist. Um mehr als einen Channel anzuwenden, können Sie die Channel-Konstanten mit bitweisen Operationen verknüpfen. Der Standardwert ist Imagick::CHANNEL_DEFAULT. Sehen Sie sich auch die Liste der Channel-Konstanten an

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::oilPaintImage
Imagick::optimizeImageLayers
Imagick


Removes repeated portions of images to optimize

Imagick::opaquePaintImage
Imagick::orderedPosterizeImage
Imagick
PHP Manual

Imagick::optimizeImageLayers

(PECL imagick 2.0.0)

Imagick::optimizeImageLayers — Removes repeated portions of images to optimize

Beschreibung

bool Imagick::optimizeImageLayers ( void )

Compares each image the GIF disposed forms of the previous image in the sequence. From this it attempts to select the smallest cropped image to replace each frame, while preserving the results of the animation. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.2.9 oder höher kompiliert wurde.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Using Imagick::optimizeImageLayers()

Reading, optimizing and writing a GIF image

<?php
/* create new imagick object */
$im = new Imagick("test.gif");

/* optimize the image layers */
$im->optimizeImageLayers();

/* write the image back */
$im->writeImages("test_optimized.gif", true);
?>

Siehe auch

  • Imagick::compareImageLayers() - Returns the maximum bounding region between images
  • Imagick::writeImages() - Writes an image or image sequence
  • Imagick::writeImage() - Writes an image to the specified filename

Imagick::opaquePaintImage
Imagick::orderedPosterizeImage
Imagick


Performs an ordered dither

Imagick::optimizeImageLayers
Imagick::paintFloodfillImage
Imagick
PHP Manual

Imagick::orderedPosterizeImage

(PECL imagick 2.2.2)

Imagick::orderedPosterizeImage — Performs an ordered dither

Beschreibung

bool Imagick::orderedPosterizeImage ( string $threshold_map [, int $channel = Imagick::CHANNEL_ALL ] )

Performs an ordered dither based on a number of pre-defined dithering threshold maps, but over multiple intensity levels, which can be different for different channels, according to the input arguments. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.3.1 oder höher kompiliert wurde.

Parameter-Liste

threshold_map

A string containing the name of the threshold dither map to use

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::orderedPosterizeImage()

<?php
function orderedPosterizeImage($imagePath, $orderedPosterizeType) {
    $imagick = new \Imagick(realpath($imagePath));

    $imagick->orderedPosterizeImage($orderedPosterizeType);
    $imagick->setImageFormat('png');

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

//orderedPosterizeImage($imagePath, 'o4x4,3,3');
//orderedPosterizeImage($imagePath, 'o8x8,6,6');
orderedPosterizeImage($imagePath, 'h8x8a');

?>

Imagick::optimizeImageLayers
Imagick::paintFloodfillImage
Imagick


Changes the color value of any pixel that matches target

Imagick::orderedPosterizeImage
Imagick::paintOpaqueImage
Imagick
PHP Manual

Imagick::paintFloodfillImage

(PECL imagick 2.1.0)

Imagick::paintFloodfillImage — Changes the color value of any pixel that matches target

Beschreibung

bool Imagick::paintFloodfillImage ( mixed $fill , float $fuzz , mixed $bordercolor , int $x , int $y [, int $channel = Imagick::CHANNEL_ALL ] )

Changes the color value of any pixel that matches target and is an immediate neighbor. As of ImageMagick 6.3.8 this method has been deprecated and Imagick::floodfillPaintImage() should be used instead.

Parameter-Liste

fill

ImagickPixel object or a string containing the fill color

fuzz

The amount of fuzz. For example, set fuzz to 10 and the color red at intensities of 100 and 102 respectively are now interpreted as the same color for the purposes of the floodfill.

bordercolor

ImagickPixel object or a string containing the border color

x

X start position of the floodfill

y

Y start position of the floodfill

channel

Übergeben Sie eine Channel-Konstante, die für Ihren Channel-Moduls gültig ist. Um mehr als einen Channel anzuwenden, können Sie die Channel-Konstanten mit bitweisen Operationen verknüpfen. Der Standardwert ist Imagick::CHANNEL_DEFAULT. Sehen Sie sich auch die Liste der Channel-Konstanten an

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::orderedPosterizeImage
Imagick::paintOpaqueImage
Imagick


Change any pixel that matches color

Imagick::paintFloodfillImage
Imagick::paintTransparentImage
Imagick
PHP Manual

Imagick::paintOpaqueImage

(PECL imagick 2.0.0)

Imagick::paintOpaqueImage — Change any pixel that matches color

Beschreibung

bool Imagick::paintOpaqueImage ( mixed $target , mixed $fill , float $fuzz [, int $channel = Imagick::CHANNEL_ALL ] )

Changes any pixel that matches color with the color defined by fill.

Parameter-Liste

target

Change this target color to the fill color within the image. An ImagickPixel object or a string representing the target color.

fill

An ImagickPixel object or a string representing the fill color.

fuzz

The fuzz member of image defines how much tolerance is acceptable to consider two colors as the same.

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Changelog

Version | Beschreibung
2.1.0 | Now allows a string representing the color as first and second parameter. Previous versions allow only an ImagickPixel object.

Imagick::paintFloodfillImage
Imagick::paintTransparentImage
Imagick


Changes any pixel that matches color with the color defined by fill

Imagick::paintOpaqueImage
Imagick::pingImage
Imagick
PHP Manual

Imagick::paintTransparentImage

(PECL imagick 2.0.0)

Imagick::paintTransparentImage — Changes any pixel that matches color with the color defined by fill

Beschreibung

bool Imagick::paintTransparentImage ( mixed $target , float $alpha , float $fuzz )

Changes any pixel that matches color with the color defined by fill.

Parameter-Liste

target

Change this target color to specified opacity value within the image.

alpha

The level of transparency: 1.0 is fully opaque and 0.0 is fully transparent.

fuzz

The fuzz member of image defines how much tolerance is acceptable to consider two colors as the same.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Changelog

Version | Beschreibung
2.1.0 | Now allows a string representing the color as the first parameter. Previous versions allow only an ImagickPixel object.

Imagick::paintOpaqueImage
Imagick::pingImage
Imagick


Abrufen von grundlegenden Merkmalen eines Bildes

Imagick::paintTransparentImage
Imagick::pingImageBlob
Imagick
PHP Manual

Imagick::pingImage

(PECL imagick 2.0.0)

Imagick::pingImage — Abrufen von grundlegenden Merkmalen eines Bildes

Beschreibung

bool Imagick::pingImage ( string $filename )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Diese Methode kann verwendet werden um Bildbreite, -höhe, -größe und -format abzufragen ohne das gesamte Bild in den Speicher zu laden.

Parameter-Liste

filename

Pfad der Datei, die abgefragt werden soll.

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::paintTransparentImage
Imagick::pingImageBlob
Imagick


Quickly fetch attributes

Imagick::pingImage
Imagick::pingImageFile
Imagick
PHP Manual

Imagick::pingImageBlob

(PECL imagick 2.0.0)

Imagick::pingImageBlob — Quickly fetch attributes

Beschreibung

bool Imagick::pingImageBlob ( string $image )

This method can be used to query image width, height, size, and format without reading the whole image to memory. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.2.9 oder höher kompiliert wurde.

Parameter-Liste

image

A string containing the image.

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Using Imagick::pingImageBlob()

Pinging an image from a string

<?php
/* read image contents */
$image = file_get_contents("test.jpg");

/* create new imagick object */
$im = new Imagick();

/* pass the string to the imagick object */
$im->pingImageBlob($image);

/* output image width and height */
echo $im->getImageWidth() . 'x' . $im->getImageHeight();
?>

Siehe auch

  • Imagick::pingImage() - Abrufen von grundlegenden Merkmalen eines Bildes
  • Imagick::pingImageFile() - Get basic image attributes in a lightweight manner
  • Imagick::readImage() - Reads image from filename
  • Imagick::readImageBlob() - Reads image from a binary string
  • Imagick::readImageFile() - Reads image from open filehandle

Imagick::pingImage
Imagick::pingImageFile
Imagick


Get basic image attributes in a lightweight manner

Imagick::pingImageBlob
Imagick::polaroidImage
Imagick
PHP Manual

Imagick::pingImageFile

(PECL imagick 2.0.0)

Imagick::pingImageFile — Get basic image attributes in a lightweight manner

Beschreibung

bool Imagick::pingImageFile ( resource $filehandle [, string $fileName ] )

This method can be used to query image width, height, size, and format without reading the whole image to memory. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.2.9 oder höher kompiliert wurde.

Parameter-Liste

filehandle

An open filehandle to the image.

fileName

Optional filename for this image.

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Using Imagick::pingImageFile()

Opening a remote location

<?php
/* fopen a remote location */
$fp = fopen("http://example.com/test.jpg");

/* create new imagick object */
$im = new Imagick();

/* pass the handle to imagick */
$im->pingImageFile($fp);
?>

Siehe auch

  • Imagick::pingImage() - Abrufen von grundlegenden Merkmalen eines Bildes
  • Imagick::pingImageBlob() - Quickly fetch attributes
  • Imagick::readImage() - Reads image from filename
  • Imagick::readImageBlob() - Reads image from a binary string
  • Imagick::readImageFile() - Reads image from open filehandle

Imagick::pingImageBlob
Imagick::polaroidImage
Imagick


Simulates a Polaroid picture

Imagick::pingImageFile
Imagick::posterizeImage
Imagick
PHP Manual

Imagick::polaroidImage

(PECL imagick 2.0.0)

Imagick::polaroidImage — Simulates a Polaroid picture

Beschreibung

bool Imagick::polaroidImage ( ImagickDraw $properties , float $angle )

Simulates a Polaroid picture. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.3.2 oder höher kompiliert wurde.

Parameter-Liste

properties

The polaroid properties

angle

The polaroid angle

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 A Imagick::polaroidImage() example

An example of using Imagick::polaroidImage()

<?php
/* Create the object */
$image = new Imagick('source.png');

/* Set the opacity */
$image->polaroidImage(new ImagickDraw(), 25);

/* output the image */
header('Content-type: image/png');
echo $image;

?>

Imagick::pingImageFile
Imagick::posterizeImage
Imagick


Reduces the image to a limited number of color level

Imagick::polaroidImage
Imagick::previewImages
Imagick
PHP Manual

Imagick::posterizeImage

(PECL imagick 2.0.0)

Imagick::posterizeImage — Reduces the image to a limited number of color level

Beschreibung

bool Imagick::posterizeImage ( int $levels , bool $dither )

Reduces the image to a limited number of color level.

Parameter-Liste

levels

dither

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Imagick::posterizeImage()

<?php
function posterizeImage($imagePath, $posterizeType, $numberLevels) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->posterizeImage($numberLevels, $posterizeType);
    $imagick->setImageFormat('png');
    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

posterizeImage($imagePath, \Imagick::DITHERMETHOD_RIEMERSMA, 8);

?>

Imagick::polaroidImage
Imagick::previewImages
Imagick


Quickly pin-point appropriate parameters for image processing

Imagick::posterizeImage
Imagick::previousImage
Imagick
PHP Manual

Imagick::previewImages

(PECL imagick 2.0.0)

Imagick::previewImages — Quickly pin-point appropriate parameters for image processing

Beschreibung

bool Imagick::previewImages ( int $preview )

Tiles 9 thumbnails of the specified image with an image processing operation applied at varying strengths. This is helpful to quickly pin-point an appropriate parameter for an image processing operation.

Parameter-Liste

preview

Preview type. See Preview type constants

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::posterizeImage
Imagick::previousImage
Imagick


Move to the previous image in the object

Imagick::previewImages
Imagick::profileImage
Imagick
PHP Manual

Imagick::previousImage

(PECL imagick 2.0.0)

Imagick::previousImage — Move to the previous image in the object

Beschreibung

bool Imagick::previousImage ( void )

Assocates the previous image in an image list with the Imagick object.

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::previewImages
Imagick::profileImage
Imagick


Adds or removes a profile from an image

Imagick::previousImage
Imagick::quantizeImage
Imagick
PHP Manual

Imagick::profileImage

(PECL imagick 2.0.0)

Imagick::profileImage — Adds or removes a profile from an image

Beschreibung

bool Imagick::profileImage ( string $name , string $profile )

Adds or removes a ICC, IPTC, or generic profile from an image. If the profile is NULL, it is removed from the image otherwise added. Use a name of '*' and a profile of NULL to remove all profiles from the image.

Parameter-Liste

name

profile

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::previousImage
Imagick::quantizeImage
Imagick


Analyzes the colors within a reference image

Imagick::profileImage
Imagick::quantizeImages
Imagick
PHP Manual

Imagick::quantizeImage

(PECL imagick 2.0.0)

Imagick::quantizeImage — Analyzes the colors within a reference image

Beschreibung

bool Imagick::quantizeImage ( int $numberColors , int $colorspace , int $treedepth , bool $dither , bool $measureError )

Parameter-Liste

numberColors

colorspace

treedepth

dither

measureError

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::quantizeImage()

<?php
function quantizeImage($imagePath, $numberColors, $colorSpace, $treeDepth, $dither) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->quantizeImage($numberColors, $colorSpace, $treeDepth, $dither, false);
    $imagick->setImageFormat('png');
    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

Imagick::profileImage
Imagick::quantizeImages
Imagick


Analyzes the colors within a sequence of images

Imagick::quantizeImage
Imagick::queryFontMetrics
Imagick
PHP Manual

Imagick::quantizeImages

(PECL imagick 2.0.0)

Imagick::quantizeImages — Analyzes the colors within a sequence of images

Beschreibung

bool Imagick::quantizeImages ( int $numberColors , int $colorspace , int $treedepth , bool $dither , bool $measureError )

Parameter-Liste

numberColors

colorspace

treedepth

dither

measureError

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::quantizeImage
Imagick::queryFontMetrics
Imagick


Returns an array representing the font metrics

Imagick::quantizeImages
Imagick::queryFonts
Imagick
PHP Manual

Imagick::queryFontMetrics

(PECL imagick 2.0.0)

Imagick::queryFontMetrics — Returns an array representing the font metrics

Beschreibung

array Imagick::queryFontMetrics ( ImagickDraw $properties , string $text [, bool $multiline ] )

Returns a multi-dimensional array representing the font metrics.

Parameter-Liste

properties

ImagickDraw object containing font properties

text

The text

multiline

Multiline parameter. If left empty it is autodetected

Rückgabewerte

Returns a multi-dimensional array representing the font metrics.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Using Imagick::queryFontMetrics():

Query the metrics for the text and dump the results on the screen.

<?php
/* Create a new Imagick object */
$im = new Imagick();

/* Create an ImagickDraw object */
$draw = new ImagickDraw();

/* Set the font */
$draw->setFont('/path/to/font.ttf');

/* Dump the font metrics, autodetect multiline */
var_dump($im->queryFontMetrics($draw, "Hello World!"));
?>

Imagick::quantizeImages
Imagick::queryFonts
Imagick


Returns the configured fonts

Imagick::queryFontMetrics
Imagick::queryFormats
Imagick
PHP Manual

Imagick::queryFonts

(PECL imagick 2.0.0)

Imagick::queryFonts — Returns the configured fonts

Beschreibung

array Imagick::queryFonts ([ string $pattern = "*" ] )

Returns the configured fonts.

Parameter-Liste

pattern

The query pattern

Rückgabewerte

Returns an array containing the configured fonts.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::queryFonts()

<?php
        $output = '';
        $output .= "Fonts that match 'Helvetica*' are:<br/>";

        $fontList = \Imagick::queryFonts("Helvetica*");

        foreach ($fontList as $fontName) {
            $output .= '<li>'. $fontName."</li>";
        }

        return $output;

?>

Imagick::queryFontMetrics
Imagick::queryFormats
Imagick


Returns formats supported by Imagick

Imagick::queryFonts
Imagick::radialBlurImage
Imagick
PHP Manual

Imagick::queryFormats

(PECL imagick 2.0.0)

Imagick::queryFormats — Returns formats supported by Imagick

Beschreibung

array Imagick::queryFormats ([ string $pattern = "*" ] )

Returns formats supported by Imagick.

Parameter-Liste

pattern

Rückgabewerte

Returns an array containing the formats supported by Imagick.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::queryFormats()

<?php
    function render() {
        $output = "";
        $input = \Imagick::queryformats();
        $columns = 6;

        $output .= "<table border='2'>";

        for ($i=0; $i < count($input); $i += $columns) {
            $output .= "<tr>";
            for ($c=0; $c<$columns; $c++) {
                $output .= "<td>";
                if (($i + $c) <  count($input)) {
                    $output .= $input[$i + $c];
                }
                $output .= "</td>";
            }
            $output .= "</tr>";
        }

        $output .= "</table>";

        return $output;
    }

?>

Imagick::queryFonts
Imagick::radialBlurImage
Imagick


Radial blurs an image

Imagick::queryFormats
Imagick::raiseImage
Imagick
PHP Manual

Imagick::radialBlurImage

(PECL imagick 2.0.0)

Imagick::radialBlurImage — Radial blurs an image

Beschreibung

bool Imagick::radialBlurImage ( float $angle [, int $channel = Imagick::CHANNEL_ALL ] )

Radial blurs an image.

Parameter-Liste

angle

channel

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Imagick::radialBlurImage()

<?php
function radialBlurImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    //Blur 3 times with different radii
    $imagick->radialBlurImage(3);
    $imagick->radialBlurImage(5);
    $imagick->radialBlurImage(7);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::queryFormats
Imagick::raiseImage
Imagick


Creates a simulated 3d button-like effect

Imagick::radialBlurImage
Imagick::randomThresholdImage
Imagick
PHP Manual

Imagick::raiseImage

(PECL imagick 2.0.0)

Imagick::raiseImage — Creates a simulated 3d button-like effect

Beschreibung

bool Imagick::raiseImage ( int $width , int $height , int $x , int $y , bool $raise )

Creates a simulated three-dimensional button-like effect by lightening and darkening the edges of the image. Members width and height of raise_info define the width of the vertical and horizontal edge of the effect.

Parameter-Liste

width

height

x

y

raise

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Imagick::raiseImage()

<?php
function raiseImage($imagePath, $width, $height, $x, $y, $raise) {
    $imagick = new \Imagick(realpath($imagePath));

    //x and y do nothing?
    $imagick->raiseImage($width, $height, $x, $y, $raise);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::radialBlurImage
Imagick::randomThresholdImage
Imagick


Creates a high-contrast, two-color image

Imagick::raiseImage
Imagick::readImage
Imagick
PHP Manual

Imagick::randomThresholdImage

(PECL imagick 2.0.0)

Imagick::randomThresholdImage — Creates a high-contrast, two-color image

Beschreibung

bool Imagick::randomThresholdImage ( float $low , float $high [, int $channel = Imagick::CHANNEL_ALL ] )

Changes the value of individual pixels based on the intensity of each pixel compared to threshold. The result is a high-contrast, two color image. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.2.9 oder höher kompiliert wurde.

Parameter-Liste

low

The low point

high

The high point

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Imagick::randomThresholdImage()

<?php
function randomThresholdimage($imagePath, $lowThreshold, $highThreshold, $channel) {
    $imagick = new \Imagick(realpath($imagePath));

    $imagick->randomThresholdimage(
        $lowThreshold * \Imagick::getQuantum(),
        $highThreshold * \Imagick::getQuantum(),
        $channel
    );
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::raiseImage
Imagick::readImage
Imagick


Reads image from filename

Imagick::randomThresholdImage
Imagick::readImageBlob
Imagick
PHP Manual

Imagick::readImage

(PECL imagick 0.9.0-0.9.9)

Imagick::readImage — Reads image from filename

Beschreibung

bool Imagick::readImage ( string $filename )

Reads image from filename

Parameter-Liste

filename

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::randomThresholdImage
Imagick::readImageBlob
Imagick


Reads image from a binary string

Imagick::readImage
Imagick::readImageFile
Imagick
PHP Manual

Imagick::readImageBlob

(PECL imagick 2.0.0)

Imagick::readImageBlob — Reads image from a binary string

Beschreibung

bool Imagick::readImageBlob ( string $image [, string $filename ] )

Reads image from a binary string

Parameter-Liste

image

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::readImageBlob()

<?php
function readImageBlob() {
    $base64 = "iVBORw0KGgoAAAANSUhEUgAAAM0AAAD
 NCAMAAAAsYgRbAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5c
 cllPAAAABJQTFRF3NSmzMewPxIG//ncJEJsldTou1jHgAAAARBJREFUeNrs2EEK
 gCAQBVDLuv+V20dENbMY831wKz4Y/VHb/5RGQ0NDQ0NDQ0NDQ0NDQ0NDQ
 0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0PzMWtyaGhoaGhoaGhoaGhoaGhoxtb0QGho
 aGhoaGhoaGhoaGhoaMbRLEvv50VTQ9OTQ5OpyZ01GpM2g0bfmDQaL7S+ofFC6x
 v3ZpxJiywakzbvd9r3RWPS9I2+MWk0+kbf0Hih9Y17U0nTHibrDDQ0NDQ0NDQ0
 NDQ0NDQ0NTXbRSL/AK72o6GhoaGhoRlL8951vwsNDQ0NDQ1NDc0WyHtDTEhD
 Q0NDQ0NTS5MdGhoaGhoaGhoaGhoaGhoaGhoaGhoaGposzSHAAErMwwQ2HwRQ
 AAAAAElFTkSuQmCC";

    $imageBlob = base64_decode($base64);

    $imagick = new Imagick();
    $imagick->readImageBlob($imageBlob);

    header("Content-Type: image/png");
    echo $imagick;
}

?>

Imagick::readImage
Imagick::readImageFile
Imagick


Reads image from open filehandle

Imagick::readImageBlob
Imagick::readimages
Imagick
PHP Manual

Imagick::readImageFile

(PECL imagick 2.0.0)

Imagick::readImageFile — Reads image from open filehandle

Beschreibung

bool Imagick::readImageFile ( resource $filehandle [, string $fileName = null ] )

Reads image from open filehandle

Parameter-Liste

filehandle

fileName

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::readImageBlob
Imagick::readimages
Imagick


Description

Imagick::readImageFile
Imagick::recolorImage
Imagick
PHP Manual

Imagick::readimages

(No version information available, might only be in Git)

Imagick::readimages — Description

Beschreibung

public Imagick Imagick::readImages ( string $filenames )

Reads image from an array of filenames. All the images are held in a single Imagick object.

Parameter-Liste

filenames

Rückgabewerte

The Imagick object that contains all the images.

Imagick::readImageFile
Imagick::recolorImage
Imagick


Recolors image

Imagick::readimages
Imagick::reduceNoiseImage
Imagick
PHP Manual

Imagick::recolorImage

(No version information available, might only be in Git)

Imagick::recolorImage — Recolors image

Beschreibung

bool Imagick::recolorImage ( array $matrix )

Translate, scale, shear, or rotate image colors. This method supports variable sized matrices but normally 5x5 matrix is used for RGBA and 6x6 is used for CMYK. The last row should contain the normalized values. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.3.6 oder höher kompiliert wurde.

Parameter-Liste

matrix

The matrix containing the color values

Rückgabewerte

Liefert TRUE bei Erfolg.

Siehe auch

  • Imagick::displayImage() - Displays an image

Beispiele

Beispiel #1 Imagick::recolorImage()

<?php
function recolorImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $remapColor = [ 1, 0, 0,
        0, 0, 1,
        0, 1, 0,];

//$remapColor = [
//    1.438, -0.122, -0.016,  0, 0, -0.03,
//    -0.062,  1.378, -0.016,  0, 0,  0.05,
//    -0.062, -0.122, 1.483,   0, 0, -0.02,
//];

    @$imagick->recolorImage($remapColor);

    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::readimages
Imagick::reduceNoiseImage
Imagick


Smooths the contours of an image

Imagick::recolorImage
Imagick::remapImage
Imagick
PHP Manual

Imagick::reduceNoiseImage

(PECL imagick 2.0.0)

Imagick::reduceNoiseImage — Smooths the contours of an image

Beschreibung

bool Imagick::reduceNoiseImage ( float $radius )

Smooths the contours of an image while still preserving edge information. The algorithm works by replacing each pixel with its neighbor closest in value. A neighbor is defined by radius. Use a radius of 0 and Imagick::reduceNoiseImage() selects a suitable radius for you.

Parameter-Liste

radius

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::reduceNoiseImage()

<?php
function reduceNoiseImage($imagePath, $reduceNoise) {
    $imagick = new \Imagick(realpath($imagePath));
    @$imagick->reduceNoiseImage($reduceNoise);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::recolorImage
Imagick::remapImage
Imagick


Remaps image colors

Imagick::reduceNoiseImage
Imagick::removeImage
Imagick
PHP Manual

Imagick::remapImage

(No version information available, might only be in Git)

Imagick::remapImage — Remaps image colors

Beschreibung

public bool Imagick::remapImage ( Imagick $replacement , int $DITHER )

Replaces colors an image with those defined by replacement. The colors are replaced with the closest possible color. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.4.5 oder höher kompiliert wurde.

Parameter-Liste

replacement

An Imagick object containing the replacement colors

DITHER

Refer to this list of dither method constants

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::reduceNoiseImage
Imagick::removeImage
Imagick


Removes an image from the image list

Imagick::remapImage
Imagick::removeImageProfile
Imagick
PHP Manual

Imagick::removeImage

(PECL imagick 2.0.0)

Imagick::removeImage — Removes an image from the image list

Beschreibung

bool Imagick::removeImage ( void )

Removes an image from the image list.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::remapImage
Imagick::removeImageProfile
Imagick


Removes the named image profile and returns it

Imagick::removeImage
Imagick::render
Imagick
PHP Manual

Imagick::removeImageProfile

(PECL imagick 2.0.0)

Imagick::removeImageProfile — Removes the named image profile and returns it

Beschreibung

string Imagick::removeImageProfile ( string $name )

Removes the named image profile and returns it.

Parameter-Liste

name

Rückgabewerte

Returns a string containing the profile of the image.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::removeImage
Imagick::render
Imagick


Renders all preceding drawing commands

Imagick::removeImageProfile
Imagick::resampleImage
Imagick
PHP Manual

Imagick::render

(PECL imagick 2.0.0)

Imagick::render — Renders all preceding drawing commands

Beschreibung

bool Imagick::render ( void )

Renders all preceding drawing commands.

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::removeImageProfile
Imagick::resampleImage
Imagick


Resample image to desired resolution

Imagick::render
Imagick::resetImagePage
Imagick
PHP Manual

Imagick::resampleImage

(PECL imagick 2.0.0)

Imagick::resampleImage — Resample image to desired resolution

Beschreibung

bool Imagick::resampleImage ( float $x_resolution , float $y_resolution , int $filter , float $blur )

Resample image to desired resolution.

Parameter-Liste

x_resolution

y_resolution

filter

blur

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Imagick::resampleImage()

<?php
function resampleImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));

    $imagick->resampleImage(200, 200, \Imagick::FILTER_LANCZOS, 1);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::render
Imagick::resetImagePage
Imagick


Reset image page

Imagick::resampleImage
Imagick::resizeImage
Imagick
PHP Manual

Imagick::resetImagePage

(No version information available, might only be in Git)

Imagick::resetImagePage — Reset image page

Beschreibung

bool Imagick::resetImagePage ( string $page )

The page definition as a string. The string is in format WxH+x+y. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.3.6 oder höher kompiliert wurde.

Parameter-Liste

page

The page definition. For example 7168x5147+0+0

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::resampleImage
Imagick::resizeImage
Imagick


Scales an image

Imagick::resetImagePage
Imagick::rollImage
Imagick
PHP Manual

Imagick::resizeImage

(PECL imagick 2.0.0)

Imagick::resizeImage — Scales an image

Beschreibung

bool Imagick::resizeImage ( int $columns , int $rows , int $filter , float $blur [, bool $bestfit = false ] )

Scales an image to the desired dimensions with a filter.

Hinweis: Das Verhalten des Parameters bestfit hat sich mit Imagick 3.0.0 geändert. Vor dieser Version wurde ein Bild der Größe 200x150 bei der angegebenen Größe von 400x400 nicht verändert. In Imagick 3.0.0 und späteren Versionen wird dieses Bild auf die Größe 400x300 hochgerechnet, da dies die passendste größe für die angegebene Bildgröße ist. Wenn der bestfit-Parameter angegeben wird, so muss sowohl eine Breite als auch eine Höhe angegeben werden.

Parameter-Liste

columns

Width of the image

rows

Height of the image

filter

Refer to the list of filter constants.

blur

The blur factor where > 1 is blurry, < 1 is sharp.

bestfit

Optional fit parameter.

Rückgabewerte

Liefert TRUE bei Erfolg.

Changelog

Version | Beschreibung
2.1.0 | Added optional fit parameter. This method now supports proportional scaling. Pass zero as either parameter for proportional scaling.

Beispiele

Beispiel #1 Imagick::resizeImage()

<?php
function resizeImage($imagePath, $width, $height, $filterType, $blur, $bestFit, $cropZoom) {
    //The blur factor where &gt; 1 is blurry, &lt; 1 is sharp.
    $imagick = new \Imagick(realpath($imagePath));

    $imagick->resizeImage($width, $height, $filterType, $blur, $bestFit);

    $cropWidth = $imagick->getImageWidth();
    $cropHeight = $imagick->getImageHeight();

    if ($cropZoom) {
        $newWidth = $cropWidth / 2;
        $newHeight = $cropHeight / 2;

        $imagick->cropimage(
            $newWidth,
            $newHeight,
            ($cropWidth - $newWidth) / 2,
            ($cropHeight - $newHeight) / 2
        );

        $imagick->scaleimage(
            $imagick->getImageWidth() * 4,
            $imagick->getImageHeight() * 4
        );
    }

    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::resetImagePage
Imagick::rollImage
Imagick


Offsets an image

Imagick::resizeImage
Imagick::rotateImage
Imagick
PHP Manual

Imagick::rollImage

(PECL imagick 2.0.0)

Imagick::rollImage — Offsets an image

Beschreibung

bool Imagick::rollImage ( int $x , int $y )

Offsets an image as defined by x and y.

Parameter-Liste

x

The X offset.

y

The Y offset.

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Imagick::rollImage()

<?php
function rollImage($imagePath, $rollX, $rollY) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->rollimage($rollX, $rollY);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::resizeImage
Imagick::rotateImage
Imagick


Rotates an image

Imagick::rollImage
Imagick::rotationalBlurImage
Imagick
PHP Manual

Imagick::rotateImage

(PECL imagick 2.0.0)

Imagick::rotateImage — Rotates an image

Beschreibung

bool Imagick::rotateImage ( mixed $background , float $degrees )

Rotates an image the specified number of degrees. Empty triangles left over from rotating the image are filled with the background color.

Parameter-Liste

background

The background color

degrees

Rotation angle, in degrees. The rotation angle is interpreted as the number of degrees to rotate the image clockwise.

Rückgabewerte

Liefert TRUE bei Erfolg.

Changelog

Version | Beschreibung
2.1.0 | Now allows a string representing the color as the first parameter. Previous versions allow only an ImagickPixel object.

Beispiele

Beispiel #1 Imagick::rotateImage()

<?php
function rotateImage($imagePath, $angle, $color) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->rotateimage($color, $angle);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::rollImage
Imagick::rotationalBlurImage
Imagick


Description

Imagick::rotateImage
Imagick::roundCorners
Imagick
PHP Manual

Imagick::rotationalBlurImage

(No version information available, might only be in Git)

Imagick::rotationalBlurImage — Description

Beschreibung

public void Imagick::rotationalBlurImage ( string $angle [, string $CHANNEL = Imagick::CHANNEL_DEFAULT ] )

Rotational blurs an image.

Parameter-Liste

angle

The angle to apply the blur over.

CHANNEL

Übergeben Sie eine Channel-Konstante, die für Ihren Channel-Moduls gültig ist. Um mehr als einen Channel anzuwenden, können Sie die Channel-Konstanten mit bitweisen Operationen verknüpfen. Der Standardwert ist Imagick::CHANNEL_DEFAULT. Sehen Sie sich auch die Liste der Channel-Konstanten an

Rückgabewerte

Beispiele

Beispiel #1 Imagick::rotationalBlurImage()

<?php
function rotationalBlurImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->rotationalBlurImage(3);
    $imagick->rotationalBlurImage(5);
    $imagick->rotationalBlurImage(7);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::rotateImage
Imagick::roundCorners
Imagick


Rounds image corners

Imagick::rotationalBlurImage
Imagick::sampleImage
Imagick
PHP Manual

Imagick::roundCorners

(PECL imagick 2.0.0)

Imagick::roundCorners — Rounds image corners

Beschreibung

bool Imagick::roundCorners ( float $x_rounding , float $y_rounding [, float $stroke_width = 10 [, float $displace = 5 [, float $size_correction = -6 ]]] )

Rounds image corners. The first two parameters control the amount of rounding and the three last parameters can be used to fine-tune the rounding process. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.2.9 oder höher kompiliert wurde.

Parameter-Liste

x_rounding

x rounding

y_rounding

y rounding

stroke_width

stroke width

displace

image displace

size_correction

size correction

Beispiele

Beispiel #1 Using Imagick::roundCorners():

Rounds the image corners

<?php

$image = new Imagick();
$image->newPseudoImage(100, 100, "magick:rose");
$image->setImageFormat("png");

$image->roundCorners(5,3);
$image->writeImage("rounded.png");
?>

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::rotationalBlurImage
Imagick::sampleImage
Imagick


Scales an image with pixel sampling

Imagick::roundCorners
Imagick::scaleImage
Imagick
PHP Manual

Imagick::sampleImage

(PECL imagick 2.0.0)

Imagick::sampleImage — Scales an image with pixel sampling

Beschreibung

bool Imagick::sampleImage ( int $columns , int $rows )

Scales an image to the desired dimensions with pixel sampling. Unlike other scaling methods, this method does not introduce any additional color into the scaled image.

Parameter-Liste

columns

rows

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::roundCorners
Imagick::scaleImage
Imagick


Scales the size of an image

Imagick::sampleImage
Imagick::segmentImage
Imagick
PHP Manual

Imagick::scaleImage

(PECL imagick 2.0.0)

Imagick::scaleImage — Scales the size of an image

Beschreibung

bool Imagick::scaleImage ( int $cols , int $rows [, bool $bestfit = false ] )

Scales the size of an image to the given dimensions. The other parameter will be calculated if 0 is passed as either param.

Hinweis: Das Verhalten des Parameters bestfit hat sich mit Imagick 3.0.0 geändert. Vor dieser Version wurde ein Bild der Größe 200x150 bei der angegebenen Größe von 400x400 nicht verändert. In Imagick 3.0.0 und späteren Versionen wird dieses Bild auf die Größe 400x300 hochgerechnet, da dies die passendste größe für die angegebene Bildgröße ist. Wenn der bestfit-Parameter angegeben wird, so muss sowohl eine Breite als auch eine Höhe angegeben werden.

Parameter-Liste

cols

rows

bestfit

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Changelog

Version | Beschreibung
2.1.0 | Added optional fit parameter. This method now supports proportional scaling. Pass zero as either parameter for proportional scaling.

Beispiele

Beispiel #1 Imagick::scaleImage()

<?php
function scaleImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->scaleImage(150, 150, true);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::sampleImage
Imagick::segmentImage
Imagick


Segments an image

Imagick::scaleImage
Imagick::selectiveBlurImage
Imagick
PHP Manual

Imagick::segmentImage

(No version information available, might only be in Git)

Imagick::segmentImage — Segments an image

Beschreibung

public bool Imagick::segmentImage ( int $COLORSPACE , float $cluster_threshold , float $smooth_threshold [, bool $verbose = false ] )

Analyses the image and identifies units that are similar. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.4.5 oder höher kompiliert wurde.

Parameter-Liste

COLORSPACE

One of the COLORSPACE constants.

cluster_threshold

A percentage describing minimum number of pixels contained in hexedra before it is considered valid.

smooth_threshold

Eliminates noise from the histogram.

verbose

Whether to output detailed information about recognised classes.

Rückgabewerte

Beispiele

Beispiel #1 Imagick::segmentImage()

<?php
function segmentImage($imagePath, $colorSpace, $clusterThreshold, $smoothThreshold) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->segmentImage($colorSpace, $clusterThreshold, $smoothThreshold);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

segmentImage($imagePath, \Imagick::COLORSPACE_RGB, 5, 5);

?>

Imagick::scaleImage
Imagick::selectiveBlurImage
Imagick


Description

Imagick::segmentImage
Imagick::separateImageChannel
Imagick
PHP Manual

Imagick::selectiveBlurImage

(No version information available, might only be in Git)

Imagick::selectiveBlurImage — Description

Beschreibung

public void Imagick::selectiveBlurImage ( float $radius , float $sigma , float $threshold , int $CHANNEL )

Selectively blur an image within a contrast threshold. It is similar to the unsharpen mask that sharpens everything with contrast above a certain threshold.

Parameter-Liste

radius

sigma

threshold

CHANNEL

Übergeben Sie eine Channel-Konstante, die für Ihren Channel-Moduls gültig ist. Um mehr als einen Channel anzuwenden, können Sie die Channel-Konstanten mit bitweisen Operationen verknüpfen. Der Standardwert ist Imagick::CHANNEL_DEFAULT. Sehen Sie sich auch die Liste der Channel-Konstanten an

Rückgabewerte

Beispiele

Beispiel #1 Imagick::selectiveBlurImage()

<?php
function selectiveBlurImage($imagePath, $radius, $sigma, $threshold, $channel) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->selectiveBlurImage($radius, $sigma, $threshold, $channel);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::segmentImage
Imagick::separateImageChannel
Imagick


Separates a channel from the image

Imagick::selectiveBlurImage
Imagick::sepiaToneImage
Imagick
PHP Manual

Imagick::separateImageChannel

(PECL imagick 2.0.0)

Imagick::separateImageChannel — Separates a channel from the image

Beschreibung

bool Imagick::separateImageChannel ( int $channel )

Separates a channel from the image and returns a grayscale image. A channel is a particular color component of each pixel in the image.

Parameter-Liste

channel

Which 'channel' to return. For colorspaces other than RGB, you can still use the CHANNEL_RED, CHANNEL_GREEN, CHANNEL_BLUE constants to indicate the 1st, 2nd and 3rd channels.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::separateImageChannel()

<?php
function separateImageChannel($imagePath, $channel) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->separateimagechannel($channel);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

separateImageChannel($imagePath, \Imagick::CHANNEL_GREEN);

?>

Imagick::selectiveBlurImage
Imagick::sepiaToneImage
Imagick


Sepia tones an image

Imagick::separateImageChannel
Imagick::setBackgroundColor
Imagick
PHP Manual

Imagick::sepiaToneImage

(PECL imagick 2.0.0)

Imagick::sepiaToneImage — Sepia tones an image

Beschreibung

bool Imagick::sepiaToneImage ( float $threshold )

Applies a special effect to the image, similar to the effect achieved in a photo darkroom by sepia toning. Threshold ranges from 0 to QuantumRange and is a measure of the extent of the sepia toning. A threshold of 80 is a good starting point for a reasonable tone.

Parameter-Liste

threshold

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::sepiaToneImage()

<?php
function sepiaToneImage($imagePath, $sepia) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->sepiaToneImage($sepia);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::separateImageChannel
Imagick::setBackgroundColor
Imagick


Sets the object's default background color

Imagick::sepiaToneImage
Imagick::setColorspace
Imagick
PHP Manual

Imagick::setBackgroundColor

(PECL imagick 2.0.0)

Imagick::setBackgroundColor — Sets the object's default background color

Beschreibung

bool Imagick::setBackgroundColor ( mixed $background )

Sets the object's default background color.

Parameter-Liste

background

Rückgabewerte

Liefert TRUE bei Erfolg.

Changelog

Version | Beschreibung
2.1.0 | Now allows a string representing the color as a parameter. Previous versions allow only an ImagickPixel object.

Imagick::sepiaToneImage
Imagick::setColorspace
Imagick


Set colorspace

Imagick::setBackgroundColor
Imagick::setCompression
Imagick
PHP Manual

Imagick::setColorspace

(No version information available, might only be in Git)

Imagick::setColorspace — Set colorspace

Beschreibung

bool Imagick::setColorspace ( int $COLORSPACE )

Sets the global colorspace value for the object. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.5.7 oder höher kompiliert wurde.

Parameter-Liste

COLORSPACE

One of the COLORSPACE constants

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::setBackgroundColor
Imagick::setCompression
Imagick


Sets the object's default compression type

Imagick::setColorspace
Imagick::setCompressionQuality
Imagick
PHP Manual

Imagick::setCompression

(PECL imagick 2.0.0)

Imagick::setCompression — Sets the object's default compression type

Beschreibung

bool Imagick::setCompression ( int $compression )

Sets the object's default compression type

Parameter-Liste

compression

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::setColorspace
Imagick::setCompressionQuality
Imagick


Sets the object's default compression quality

Imagick::setCompression
Imagick::setFilename
Imagick
PHP Manual

Imagick::setCompressionQuality

(PECL imagick 0.9.10-0.9.9)

Imagick::setCompressionQuality — Sets the object's default compression quality

Beschreibung

bool Imagick::setCompressionQuality ( int $quality )

Sets the object's default compression quality.

Achtung

This method only works for new images e.g. those created through Imagick::newPseudoImage. For existing images you should use Imagick::setImageCompressionQuality().

Parameter-Liste

quality

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Imagick::setCompressionQuality()

<?php
function setCompressionQuality($imagePath, $quality) {

    $backgroundImagick = new \Imagick(realpath($imagePath));
    $imagick = new \Imagick();
    $imagick->setCompressionQuality($quality);
    $imagick->newPseudoImage(
        $backgroundImagick->getImageWidth(),
        $backgroundImagick->getImageHeight(),
        'canvas:white'
    );

    $imagick->compositeImage(
        $backgroundImagick,
        \Imagick::COMPOSITE_ATOP,
        0,
        0
    );

    $imagick->setFormat("jpg");
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::setCompression
Imagick::setFilename
Imagick


Sets the filename before you read or write the image

Imagick::setCompressionQuality
Imagick::setFirstIterator
Imagick
PHP Manual

Imagick::setFilename

(PECL imagick 2.0.0)

Imagick::setFilename — Sets the filename before you read or write the image

Beschreibung

bool Imagick::setFilename ( string $filename )

Sets the filename before you read or write an image file.

Parameter-Liste

filename

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::setCompressionQuality
Imagick::setFirstIterator
Imagick


Sets the Imagick iterator to the first image

Imagick::setFilename
Imagick::setFont
Imagick
PHP Manual

Imagick::setFirstIterator

(PECL imagick 2.0.0)

Imagick::setFirstIterator — Sets the Imagick iterator to the first image

Beschreibung

bool Imagick::setFirstIterator ( void )

Sets the Imagick iterator to the first image.

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::setFilename
Imagick::setFont
Imagick


Sets font

Imagick::setFirstIterator
Imagick::setFormat
Imagick
PHP Manual

Imagick::setFont

(PECL imagick 2.1.0)

Imagick::setFont — Sets font

Beschreibung

bool Imagick::setFont ( string $font )

Sets object's font property. This method can be used for example to set font for caption: pseudo-format. The font needs to be configured in ImageMagick configuration or a file by the name of font must exist. This method should not be confused with ImagickDraw::setFont() which sets the font for a specific ImagickDraw object. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.3.7 oder höher kompiliert wurde.

Parameter-Liste

font

Font name or a filename

Rückgabewerte

Liefert TRUE bei Erfolg.

Siehe auch

  • Imagick::getFont() - Gets font
  • ImagickDraw::setFont() - Sets the fully-specified font to use when annotating with text
  • ImagickDraw::getFont() - Returns the font

Beispiele

Beispiel #1 A Imagick::setFont() example

Example of using Imagick::setFont

<?php
/* Create new imagick object */
$im = new Imagick();

/* Set the font for the object */
$im->setFont("example.ttf");

/* Create new caption */
$im->newPseudoImage(100, 100, "caption:Hello");

/* Do something with the image */
?>

Imagick::setFirstIterator
Imagick::setFormat
Imagick


Sets the format of the Imagick object

Imagick::setFont
Imagick::setGravity
Imagick
PHP Manual

Imagick::setFormat

(PECL imagick 2.0.0)

Imagick::setFormat — Sets the format of the Imagick object

Beschreibung

bool Imagick::setFormat ( string $format )

Sets the format of the Imagick object.

Parameter-Liste

format

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::setFont
Imagick::setGravity
Imagick


Sets the gravity

Imagick::setFormat
Imagick::setImage
Imagick
PHP Manual

Imagick::setGravity

(No version information available, might only be in Git)

Imagick::setGravity — Sets the gravity

Beschreibung

bool Imagick::setGravity ( int $gravity )

Sets the global gravity property for the Imagick object. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.4.0 oder höher kompiliert wurde.

Parameter-Liste

gravity

The gravity property. Refer to the list of gravity constants.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Imagick::setFormat
Imagick::setImage
Imagick


Replaces image in the object

Imagick::setGravity
Imagick::setImageAlphaChannel
Imagick
PHP Manual

Imagick::setImage

(PECL imagick 2.0.0)

Imagick::setImage — Replaces image in the object

Beschreibung

bool Imagick::setImage ( Imagick $replace )

Replaces the current image sequence with the image from replace object.

Parameter-Liste

replace

The replace Imagick object

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 A Imagick::setImage() example

An example of using Imagick::setImage()

<?php
/* Create the objects */
$image = new Imagick('source.jpg');
$replace = new Imagick('replace.jpg');

/* source.jpg is replaced with replace.jpg */
$image->setImage($replace);

/* output the image */
header('Content-type: image/jpeg');
echo $image;

?>

Imagick::setGravity
Imagick::setImageAlphaChannel
Imagick


Sets image alpha channel

Imagick::setImage
Imagick::setImageArtifact
Imagick
PHP Manual

Imagick::setImageAlphaChannel

(No version information available, might only be in Git)

Imagick::setImageAlphaChannel — Sets image alpha channel

Beschreibung

bool Imagick::setImageAlphaChannel ( int $mode )

Activate or deactivate image alpha channel. The mode is one of the Imagick::ALPHACHANNEL_* constants. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.3.8 oder höher kompiliert wurde.

Parameter-Liste

mode

One of the Imagick::ALPHACHANNEL_* constants

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Siehe auch

  • Imagick::setImageMatte() - Sets the image matte channel
  • Imagick Alpha Channel Constants

Imagick::setImage
Imagick::setImageArtifact
Imagick


Set image artifact

Imagick::setImageAlphaChannel
Imagick::setImageAttribute
Imagick
PHP Manual

Imagick::setImageArtifact

(No version information available, might only be in Git)

Imagick::setImageArtifact — Set image artifact

Beschreibung

bool Imagick::setImageArtifact ( string $artifact , string $value )

Associates an artifact with the image. The difference between image properties and image artifacts is that properties are public and artifacts are private. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.5.7 oder höher kompiliert wurde.

Parameter-Liste

artifact

The name of the artifact

value

The value of the artifact

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Siehe auch

  • Imagick::getImageArtifact() - Get image artifact
  • Imagick::deleteImageArtifact() - Delete image artifact

Beispiele

Beispiel #1 Imagick::setImageArtifact()

<?php
function setImageArtifact() {

    $src1 = new \Imagick(realpath("./images/artifact/source1.png"));
    $src2 = new \Imagick(realpath("./images/artifact/source2.png"));

    $src2->setImageVirtualPixelMethod(\Imagick::VIRTUALPIXELMETHOD_TRANSPARENT);
    $src2->setImageArtifact('compose:args', "1,0,-0.5,0.5");
    $src1->compositeImage($src2, Imagick::COMPOSITE_MATHEMATICS, 0, 0);

    $src1->setImageFormat('png');
    header("Content-Type: image/png");
    echo $src1->getImagesBlob();
}

?>

Imagick::setImageAlphaChannel
Imagick::setImageAttribute
Imagick


Description

Imagick::setImageArtifact
Imagick::setImageBackgroundColor
Imagick
PHP Manual

Imagick::setImageAttribute

(No version information available, might only be in Git)

Imagick::setImageAttribute — Description

Beschreibung

public void Imagick::setImageAttribute ( string $key , string $value )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

key

value

Rückgabewerte

Imagick::setImageArtifact
Imagick::setImageBackgroundColor
Imagick


Sets the image background color

Imagick::setImageAttribute
Imagick::setImageBias
Imagick
PHP Manual

Imagick::setImageBackgroundColor

(PECL imagick 2.0.0)

Imagick::setImageBackgroundColor — Sets the image background color

Beschreibung

bool Imagick::setImageBackgroundColor ( mixed $background )

Sets the image background color.

Parameter-Liste

background

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Changelog

Version | Beschreibung
2.1.0 | Now allows a string representing the color as the parameter. Previous versions allow only an ImagickPixel object.

Imagick::setImageAttribute
Imagick::setImageBias
Imagick


Sets the image bias for any method that convolves an image

Imagick::setImageBackgroundColor
Imagick::setImageBiasQuantum
Imagick
PHP Manual

Imagick::setImageBias

(PECL imagick 2.0.0)

Imagick::setImageBias — Sets the image bias for any method that convolves an image

Beschreibung

bool Imagick::setImageBias ( float $bias )

Sets the image bias for any method that convolves an image (e.g. Imagick::ConvolveImage()).

Parameter-Liste

bias

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::setImageBias()

<?php
//requires ImageMagick version 6.9.0-1 to have an effect on convolveImage
function setImageBias($bias) {
    $imagick = new \Imagick(realpath("images/stack.jpg"));

    $xKernel = array(
        -0.70, 0, 0.70,
        -0.70, 0, 0.70,
        -0.70, 0, 0.70
    );

    $imagick->setImageBias($bias * \Imagick::getQuantum());
    $imagick->convolveImage($xKernel, \Imagick::CHANNEL_ALL);

    $imagick->setImageFormat('png');

    header('Content-type: image/png');
    echo $imagick->getImageBlob();
}

?>

Imagick::setImageBackgroundColor
Imagick::setImageBiasQuantum
Imagick


Description

Imagick::setImageBias
Imagick::setImageBluePrimary
Imagick
PHP Manual

Imagick::setImageBiasQuantum

(No version information available, might only be in Git)

Imagick::setImageBiasQuantum — Description

Beschreibung

public void Imagick::setImageBiasQuantum ( string $bias )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

bias

Rückgabewerte

Imagick::setImageBias
Imagick::setImageBluePrimary
Imagick


Sets the image chromaticity blue primary point

Imagick::setImageBiasQuantum
Imagick::setImageBorderColor
Imagick
PHP Manual

Imagick::setImageBluePrimary

(PECL imagick 2.0.0)

Imagick::setImageBluePrimary — Sets the image chromaticity blue primary point

Beschreibung

bool Imagick::setImageBluePrimary ( float $x , float $y )

Sets the image chromaticity blue primary point.

Parameter-Liste

x

y

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::setImageBiasQuantum
Imagick::setImageBorderColor
Imagick


Sets the image border color

Imagick::setImageBluePrimary
Imagick::setImageChannelDepth
Imagick
PHP Manual

Imagick::setImageBorderColor

(PECL imagick 2.0.0)

Imagick::setImageBorderColor — Sets the image border color

Beschreibung

bool Imagick::setImageBorderColor ( mixed $border )

Sets the image border color.

Parameter-Liste

border

The border color

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Changelog

Version | Beschreibung
2.1.0 | Now allows a string representing the color as a parameter. Previous versions allow only an ImagickPixel object.

Imagick::setImageBluePrimary
Imagick::setImageChannelDepth
Imagick


Sets the depth of a particular image channel

Imagick::setImageBorderColor
Imagick::setImageClipMask
Imagick
PHP Manual

Imagick::setImageChannelDepth

(PECL imagick 2.0.0)

Imagick::setImageChannelDepth — Sets the depth of a particular image channel

Beschreibung

bool Imagick::setImageChannelDepth ( int $channel , int $depth )

Sets the depth of a particular image channel.

Parameter-Liste

channel

depth

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::setImageBorderColor
Imagick::setImageClipMask
Imagick


Sets image clip mask

Imagick::setImageChannelDepth
Imagick::setImageColormapColor
Imagick
PHP Manual

Imagick::setImageClipMask

(No version information available, might only be in Git)

Imagick::setImageClipMask — Sets image clip mask

Beschreibung

bool Imagick::setImageClipMask ( Imagick $clip_mask )

Sets image clip mask from another Imagick object. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.3.6 oder höher kompiliert wurde.

Parameter-Liste

clip_mask

The Imagick object containing the clip mask

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::setImageClipMask()

<?php
function setImageClipMask($imagePath) {
    $imagick = new \Imagick();
    $imagick->readImage(realpath($imagePath));

    $width = $imagick->getImageWidth();
    $height = $imagick->getImageHeight();

    $clipMask = new \Imagick();
    $clipMask->newPseudoImage(
        $width,
        $height,
        "canvas:transparent"
    );

    $draw = new \ImagickDraw();
    $draw->setFillColor('white');
    $draw->circle(
        $width / 2,
        $height / 2,
        ($width / 2) + ($width / 4),
        $height / 2
    );
    $clipMask->drawImage($draw);
    $imagick->setImageClipMask($clipMask);

    $imagick->negateImage(false);
    $imagick->setFormat("png");

    header("Content-Type: image/png");
    echo $imagick->getImagesBlob();

}

?>

Imagick::setImageChannelDepth
Imagick::setImageColormapColor
Imagick


Sets the color of the specified colormap index

Imagick::setImageClipMask
Imagick::setImageColorspace
Imagick
PHP Manual

Imagick::setImageColormapColor

(PECL imagick 2.0.0)

Imagick::setImageColormapColor — Sets the color of the specified colormap index

Beschreibung

bool Imagick::setImageColormapColor ( int $index , ImagickPixel $color )

Sets the color of the specified colormap index.

Parameter-Liste

index

color

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::setImageClipMask
Imagick::setImageColorspace
Imagick


Sets the image colorspace

Imagick::setImageColormapColor
Imagick::setImageCompose
Imagick
PHP Manual

Imagick::setImageColorspace

(PECL imagick 2.0.0)

Imagick::setImageColorspace — Sets the image colorspace

Beschreibung

bool Imagick::setImageColorspace ( int $colorspace )

Sets the image colorspace. This method should be used when creating new images. To change the colorspace of an existing image, you should use Imagick::transformImageColorspace().

Parameter-Liste

colorspace

One of the COLORSPACE constants

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::setImageColormapColor
Imagick::setImageCompose
Imagick


Sets the image composite operator

Imagick::setImageColorspace
Imagick::setImageCompression
Imagick
PHP Manual

Imagick::setImageCompose

(PECL imagick 2.0.0)

Imagick::setImageCompose — Sets the image composite operator

Beschreibung

bool Imagick::setImageCompose ( int $compose )

Sets the image composite operator, useful for specifying how to composite the image thumbnail when using the Imagick::montageImage() method.

Parameter-Liste

compose

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::setImageColorspace
Imagick::setImageCompression
Imagick


Sets the image compression

Imagick::setImageCompose
Imagick::setImageCompressionQuality
Imagick
PHP Manual

Imagick::setImageCompression

(PECL imagick 2.0.0)

Imagick::setImageCompression — Sets the image compression

Beschreibung

bool Imagick::setImageCompression ( int $compression )

Parameter-Liste

compression

One of the COMPRESSION constants

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::setImageCompose
Imagick::setImageCompressionQuality
Imagick


Sets the image compression quality

Imagick::setImageCompression
Imagick::setImageDelay
Imagick
PHP Manual

Imagick::setImageCompressionQuality

(No version information available, might only be in Git)

Imagick::setImageCompressionQuality — Sets the image compression quality

Beschreibung

bool Imagick::setImageCompressionQuality ( int $quality )

Sets the image compression quality.

Parameter-Liste

quality

The image compression quality as an integer

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::setImageCompressionQuality()

<?php
function setImageCompressionQuality($imagePath, $quality) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->setImageCompressionQuality($quality);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::setImageCompression
Imagick::setImageDelay
Imagick


Sets the image delay

Imagick::setImageCompressionQuality
Imagick::setImageDepth
Imagick
PHP Manual

Imagick::setImageDelay

(PECL imagick 2.0.0)

Imagick::setImageDelay — Sets the image delay

Beschreibung

bool Imagick::setImageDelay ( int $delay )

Sets the image delay. For an animated image this is the amount of time that this frame of the image should be displayed for, before displaying the next frame.

The delay can be set individually for each frame in an image.

Parameter-Liste

delay

The amount of time expressed in 'ticks' that the image should be displayed for. For animated GIFs there are 100 ticks per second, so a value of 20 would be 20/100 of a second aka 1/5th of a second.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Modify animated Gif with Imagick::setImageDelay()

<?php

// Modify an animated Gif so that it's frames are played at a variable speed,
// varying between being shown for 50ms down to 0ms, which will cause the frame
// to be skipped in most browsers.
$imagick = new Imagick(realpath("Test.gif"));
$imagick = $imagick->coalesceImages();

$frameCount = 0;

foreach ($imagick as $frame) {
    $imagick->setImageDelay((($frameCount % 11) * 5));
    $frameCount++;
}

$imagick = $imagick->deconstructImages();

$imagick->writeImages("/path/to/save/output.gif", true);

?>

Imagick::setImageCompressionQuality
Imagick::setImageDepth
Imagick


Sets the image depth

Imagick::setImageDelay
Imagick::setImageDispose
Imagick
PHP Manual

Imagick::setImageDepth

(PECL imagick 2.0.0)

Imagick::setImageDepth — Sets the image depth

Beschreibung

bool Imagick::setImageDepth ( int $depth )

Sets the image depth.

Parameter-Liste

depth

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::setImageDelay
Imagick::setImageDispose
Imagick


Sets the image disposal method

Imagick::setImageDepth
Imagick::setImageExtent
Imagick
PHP Manual

Imagick::setImageDispose

(PECL imagick 2.0.0)

Imagick::setImageDispose — Sets the image disposal method

Beschreibung

bool Imagick::setImageDispose ( int $dispose )

Sets the image disposal method.

Parameter-Liste

dispose

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::setImageDepth
Imagick::setImageExtent
Imagick


Sets the image size

Imagick::setImageDispose
Imagick::setImageFilename
Imagick
PHP Manual

Imagick::setImageExtent

(PECL imagick 2.0.0)

Imagick::setImageExtent — Sets the image size

Beschreibung

bool Imagick::setImageExtent ( int $columns , int $rows )

Sets the image size (i.e. columns & rows).

Parameter-Liste

columns

rows

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::setImageDispose
Imagick::setImageFilename
Imagick


Sets the filename of a particular image

Imagick::setImageExtent
Imagick::setImageFormat
Imagick
PHP Manual

Imagick::setImageFilename

(PECL imagick 2.0.0)

Imagick::setImageFilename — Sets the filename of a particular image

Beschreibung

bool Imagick::setImageFilename ( string $filename )

Sets the filename of a particular image in a sequence.

Parameter-Liste

filename

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::setImageExtent
Imagick::setImageFormat
Imagick


Sets the format of a particular image

Imagick::setImageFilename
Imagick::setImageGamma
Imagick
PHP Manual

Imagick::setImageFormat

(PECL imagick 2.0.0)

Imagick::setImageFormat — Sets the format of a particular image

Beschreibung

bool Imagick::setImageFormat ( string $format )

Sets the format of a particular image in a sequence.

Parameter-Liste

format

String presentation of the image format. Format support depends on the ImageMagick installation.

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::setImageFilename
Imagick::setImageGamma
Imagick


Sets the image gamma

Imagick::setImageFormat
Imagick::setImageGravity
Imagick
PHP Manual

Imagick::setImageGamma

(PECL imagick 2.0.0)

Imagick::setImageGamma — Sets the image gamma

Beschreibung

bool Imagick::setImageGamma ( float $gamma )

Sets the image gamma.

Parameter-Liste

gamma

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::setImageFormat
Imagick::setImageGravity
Imagick


Sets the image gravity

Imagick::setImageGamma
Imagick::setImageGreenPrimary
Imagick
PHP Manual

Imagick::setImageGravity

(No version information available, might only be in Git)

Imagick::setImageGravity — Sets the image gravity

Beschreibung

bool Imagick::setImageGravity ( int $gravity )

Sets the gravity property for the current image. This method can be used to set the gravity property for a single image sequence. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.4.4 oder höher kompiliert wurde.

Parameter-Liste

gravity

The gravity property. Refer to the list of gravity constants.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Imagick::setImageGamma
Imagick::setImageGreenPrimary
Imagick


Sets the image chromaticity green primary point

Imagick::setImageGravity
Imagick::setImageIndex
Imagick
PHP Manual

Imagick::setImageGreenPrimary

(PECL imagick 2.0.0)

Imagick::setImageGreenPrimary — Sets the image chromaticity green primary point

Beschreibung

bool Imagick::setImageGreenPrimary ( float $x , float $y )

Sets the image chromaticity green primary point.

Parameter-Liste

x

y

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::setImageGravity
Imagick::setImageIndex
Imagick


Set the iterator position

Imagick::setImageGreenPrimary
Imagick::setImageInterlaceScheme
Imagick
PHP Manual

Imagick::setImageIndex

(PECL imagick 2.0.0)

Imagick::setImageIndex — Set the iterator position

Beschreibung

bool Imagick::setImageIndex ( int $index )

Set the iterator to the position in the image list specified with the index parameter.

This method has been deprecated. See Imagick::setIteratorIndex().

Parameter-Liste

index

The position to set the iterator to

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::setImageGreenPrimary
Imagick::setImageInterlaceScheme
Imagick


Sets the image compression

Imagick::setImageIndex
Imagick::setImageInterpolateMethod
Imagick
PHP Manual

Imagick::setImageInterlaceScheme

(PECL imagick 2.0.0)

Imagick::setImageInterlaceScheme — Sets the image compression

Beschreibung

bool Imagick::setImageInterlaceScheme ( int $interlace_scheme )

Sets the image compression.

Parameter-Liste

interlace_scheme

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::setImageIndex
Imagick::setImageInterpolateMethod
Imagick


Sets the image interpolate pixel method

Imagick::setImageInterlaceScheme
Imagick::setImageIterations
Imagick
PHP Manual

Imagick::setImageInterpolateMethod

(PECL imagick 2.0.0)

Imagick::setImageInterpolateMethod — Sets the image interpolate pixel method

Beschreibung

bool Imagick::setImageInterpolateMethod ( int $method )

Sets the image interpolate pixel method.

Parameter-Liste

method

The method is one of the Imagick::INTERPOLATE_* constants

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::setImageInterlaceScheme
Imagick::setImageIterations
Imagick


Sets the image iterations

Imagick::setImageInterpolateMethod
Imagick::setImageMatte
Imagick
PHP Manual

Imagick::setImageIterations

(PECL imagick 2.0.0)

Imagick::setImageIterations — Sets the image iterations

Beschreibung

bool Imagick::setImageIterations ( int $iterations )

Sets the number of iterations an animated image is repeated.

Parameter-Liste

iterations

The number of iterations the image should loop over. Set to '0' to loop continuously.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Basic Imagick::setImageIterations() usage

<?php

$imagick = new Imagick(realpath("Test.gif"));

$imagick = $imagick->coalesceImages();
$imagick->setImageIterations(1);
$imagick = $imagick->deconstructImages();

$imagick->writeImages('/path/to/save/OnceOnly.gif', true);

?>

Imagick::setImageInterpolateMethod
Imagick::setImageMatte
Imagick


Sets the image matte channel

Imagick::setImageIterations
Imagick::setImageMatteColor
Imagick
PHP Manual

Imagick::setImageMatte

(PECL imagick 2.0.0)

Imagick::setImageMatte — Sets the image matte channel

Beschreibung

bool Imagick::setImageMatte ( bool $matte )

Sets the image matte channel. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.2.9 oder höher kompiliert wurde.

Parameter-Liste

matte

True activates the matte channel and false disables it.

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::setImageIterations
Imagick::setImageMatteColor
Imagick


Sets the image matte color

Imagick::setImageMatte
Imagick::setImageOpacity
Imagick
PHP Manual

Imagick::setImageMatteColor

(PECL imagick 2.0.0)

Imagick::setImageMatteColor — Sets the image matte color

Beschreibung

bool Imagick::setImageMatteColor ( mixed $matte )

Sets the image matte color.

Parameter-Liste

matte

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Changelog

Version | Beschreibung
2.1.0 | Now allows a string representing the color as the parameter. Previous versions allow only an ImagickPixel object.

Imagick::setImageMatte
Imagick::setImageOpacity
Imagick


Sets the image opacity level

Imagick::setImageMatteColor
Imagick::setImageOrientation
Imagick
PHP Manual

Imagick::setImageOpacity

(PECL imagick 2.0.0)

Imagick::setImageOpacity — Sets the image opacity level

Beschreibung

bool Imagick::setImageOpacity ( float $opacity )

Sets the image to the specified opacity level. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.3.1 oder höher kompiliert wurde. This method operates on all channels, which means that for example opacity value of 0.5 will set all transparent areas to partially opaque. To add transparency to areas that are not already transparent use Imagick::evaluateImage()

Parameter-Liste

opacity

The level of transparency: 1.0 is fully opaque and 0.0 is fully transparent.

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 A Imagick::setImageOpacity() example

An example of using Imagick::setImageOpacity()

<?php
/* Create the object */
$image = new Imagick('source.png');

/* Set the opacity */
$image->setImageOpacity(0.7);

/* output the image */
header('Content-type: image/png');
echo $image;

?>

Imagick::setImageMatteColor
Imagick::setImageOrientation
Imagick


Sets the image orientation

Imagick::setImageOpacity
Imagick::setImagePage
Imagick
PHP Manual

Imagick::setImageOrientation

(PECL imagick 2.0.0)

Imagick::setImageOrientation — Sets the image orientation

Beschreibung

bool Imagick::setImageOrientation ( int $orientation )

Sets the image orientation.

Parameter-Liste

orientation

One of the orientation constants

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Imagick::setImageOrientation()

<?php
//Doesn't appear to do anything
function setImageOrientation($imagePath, $orientationType) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->setImageOrientation($orientationType);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::setImageOpacity
Imagick::setImagePage
Imagick


Sets the page geometry of the image

Imagick::setImageOrientation
Imagick::setImageProfile
Imagick
PHP Manual

Imagick::setImagePage

(PECL imagick 2.0.0)

Imagick::setImagePage — Sets the page geometry of the image

Beschreibung

bool Imagick::setImagePage ( int $width , int $height , int $x , int $y )

Sets the page geometry of the image.

Parameter-Liste

width

height

x

y

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::setImageOrientation
Imagick::setImageProfile
Imagick


Adds a named profile to the Imagick object

Imagick::setImagePage
Imagick::setImageProperty
Imagick
PHP Manual

Imagick::setImageProfile

(PECL imagick 2.0.0)

Imagick::setImageProfile — Adds a named profile to the Imagick object

Beschreibung

bool Imagick::setImageProfile ( string $name , string $profile )

Adds a named profile to the Imagick object. If a profile with the same name already exists, it is replaced. This method differs from the Imagick::ProfileImage() method in that it does not apply any CMS color profiles.

Parameter-Liste

name

profile

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::setImagePage
Imagick::setImageProperty
Imagick


Sets an image property

Imagick::setImageProfile
Imagick::setImageRedPrimary
Imagick
PHP Manual

Imagick::setImageProperty

(PECL imagick 2.0.0)

Imagick::setImageProperty — Sets an image property

Beschreibung

bool Imagick::setImageProperty ( string $name , string $value )

Sets a named property to the image. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.3.2 oder höher kompiliert wurde.

Parameter-Liste

name

value

Beispiele

Beispiel #1 Using Imagick::setImageProperty():

Setting and getting image properties

<?php
$image = new Imagick();
$image->newImage(300, 200, "black");

$image->setImageProperty('Exif:Make', 'Imagick');
echo $image->getImageProperty('Exif:Make');
?>

Siehe auch

  • Imagick::getImageProperty() - Returns the named image property

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::setImageProfile
Imagick::setImageRedPrimary
Imagick


Sets the image chromaticity red primary point

Imagick::setImageProperty
Imagick::setImageRenderingIntent
Imagick
PHP Manual

Imagick::setImageRedPrimary

(PECL imagick 2.0.0)

Imagick::setImageRedPrimary — Sets the image chromaticity red primary point

Beschreibung

bool Imagick::setImageRedPrimary ( float $x , float $y )

Sets the image chromaticity red primary point.

Parameter-Liste

x

y

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::setImageProperty
Imagick::setImageRenderingIntent
Imagick


Sets the image rendering intent

Imagick::setImageRedPrimary
Imagick::setImageResolution
Imagick
PHP Manual

Imagick::setImageRenderingIntent

(PECL imagick 2.0.0)

Imagick::setImageRenderingIntent — Sets the image rendering intent

Beschreibung

bool Imagick::setImageRenderingIntent ( int $rendering_intent )

Sets the image rendering intent.

Parameter-Liste

rendering_intent

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::setImageRedPrimary
Imagick::setImageResolution
Imagick


Sets the image resolution

Imagick::setImageRenderingIntent
Imagick::setImageScene
Imagick
PHP Manual

Imagick::setImageResolution

(PECL imagick 2.0.0)

Imagick::setImageResolution — Sets the image resolution

Beschreibung

bool Imagick::setImageResolution ( float $x_resolution , float $y_resolution )

Sets the image resolution.

Parameter-Liste

x_resolution

y_resolution

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::setImageResolution()

<?php
function setImageResolution($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->setImageResolution(50, 50);

    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::setImageRenderingIntent
Imagick::setImageScene
Imagick


Sets the image scene

Imagick::setImageResolution
Imagick::setImageTicksPerSecond
Imagick
PHP Manual

Imagick::setImageScene

(PECL imagick 2.0.0)

Imagick::setImageScene — Sets the image scene

Beschreibung

bool Imagick::setImageScene ( int $scene )

Sets the image scene.

Parameter-Liste

scene

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::setImageResolution
Imagick::setImageTicksPerSecond
Imagick


Sets the image ticks-per-second

Imagick::setImageScene
Imagick::setImageType
Imagick
PHP Manual

Imagick::setImageTicksPerSecond

(PECL imagick 2.0.0)

Imagick::setImageTicksPerSecond — Sets the image ticks-per-second

Beschreibung

bool Imagick::setImageTicksPerSecond ( int $ticks_per_second )

Adjust the amount of time that a frame of an animated image is displayed for.

Hinweis:

For animated GIFs, this function does not change the number of 'image ticks' per second, which is always defined as 100. Instead it adjusts the amount of time that the frame is displayed for to simulate the change in 'ticks per second'.

For example, for an animated GIF where each frame is displayed for 20 ticks (1/5 of a second) when this method is called on each frame of that image with an argument of 50 the frames are adjusted to be displayed for 40 ticks (2/5 of a second) and the animation will play at half the original speed.

Parameter-Liste

ticks_per_second

The duration for which an image should be displayed expressed in ticks per second.

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Modify animated Gif with Imagick::setImageTicksPerSecond()

<?php

// Modify an animated gif so the first half of the gif is played at half the
// speed it currently is, and the second half to be played at double the speed
// it currently is

$imagick = new Imagick(realpath("Test.gif"));
$imagick = $imagick->coalesceImages();

$totalFrames = $imagick->getNumberImages();

$frameCount = 0;

foreach ($imagick as $frame) {
    $imagick->setImageTicksPerSecond(50);

    if ($frameCount < ($totalFrames / 2)) {
        // Modify the frame to be displayed for twice as long as it currently is
        $imagick->setImageTicksPerSecond(50);
    } else {
        // Modify the frame to be displayed for half as long as it currently is
        $imagick->setImageTicksPerSecond(200);
    }

    $frameCount++;
}

$imagick = $imagick->deconstructImages();

$imagick->writeImages("/path/to/save/output.gif", true);

?>

Imagick::setImageScene
Imagick::setImageType
Imagick


Sets the image type

Imagick::setImageTicksPerSecond
Imagick::setImageUnits
Imagick
PHP Manual

Imagick::setImageType

(PECL imagick 2.0.0)

Imagick::setImageType — Sets the image type

Beschreibung

bool Imagick::setImageType ( int $image_type )

Sets the image type.

Parameter-Liste

image_type

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::setImageTicksPerSecond
Imagick::setImageUnits
Imagick


Sets the image units of resolution

Imagick::setImageType
Imagick::setImageVirtualPixelMethod
Imagick
PHP Manual

Imagick::setImageUnits

(PECL imagick 2.0.0)

Imagick::setImageUnits — Sets the image units of resolution

Beschreibung

bool Imagick::setImageUnits ( int $units )

Sets the image units of resolution.

Parameter-Liste

units

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::setImageType
Imagick::setImageVirtualPixelMethod
Imagick


Sets the image virtual pixel method

Imagick::setImageUnits
Imagick::setImageWhitePoint
Imagick
PHP Manual

Imagick::setImageVirtualPixelMethod

(PECL imagick 2.0.0)

Imagick::setImageVirtualPixelMethod — Sets the image virtual pixel method

Beschreibung

bool Imagick::setImageVirtualPixelMethod ( int $method )

Sets the image virtual pixel method.

Parameter-Liste

method

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::setImageUnits
Imagick::setImageWhitePoint
Imagick


Sets the image chromaticity white point

Imagick::setImageVirtualPixelMethod
Imagick::setInterlaceScheme
Imagick
PHP Manual

Imagick::setImageWhitePoint

(PECL imagick 2.0.0)

Imagick::setImageWhitePoint — Sets the image chromaticity white point

Beschreibung

bool Imagick::setImageWhitePoint ( float $x , float $y )

Sets the image chromaticity white point.

Parameter-Liste

x

y

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::setImageVirtualPixelMethod
Imagick::setInterlaceScheme
Imagick


Sets the image compression

Imagick::setImageWhitePoint
Imagick::setIteratorIndex
Imagick
PHP Manual

Imagick::setInterlaceScheme

(PECL imagick 2.0.0)

Imagick::setInterlaceScheme — Sets the image compression

Beschreibung

bool Imagick::setInterlaceScheme ( int $interlace_scheme )

Sets the image compression.

Parameter-Liste

interlace_scheme

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::setImageWhitePoint
Imagick::setIteratorIndex
Imagick


Set the iterator position

Imagick::setInterlaceScheme
Imagick::setLastIterator
Imagick
PHP Manual

Imagick::setIteratorIndex

(PECL imagick 2.0.0)

Imagick::setIteratorIndex — Set the iterator position

Beschreibung

bool Imagick::setIteratorIndex ( int $index )

Set the iterator to the position in the image list specified with the index parameter. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.2.9 oder höher kompiliert wurde.

Parameter-Liste

index

The position to set the iterator to

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Using Imagick::setIteratorIndex():

Create images, set and get the iterator index

<?php
$im = new Imagick();
$im->newImage(100, 100, new ImagickPixel("red"));
$im->newImage(100, 100, new ImagickPixel("green"));
$im->newImage(100, 100, new ImagickPixel("blue"));

$im->setIteratorIndex(1);
echo $im->getIteratorIndex();
?>

Siehe auch

  • Imagick::getIteratorIndex() - Gets the index of the current active image
  • Imagick::getImageIndex() - Gets the index of the current active image
  • Imagick::setImageIndex() - Set the iterator position

Imagick::setInterlaceScheme
Imagick::setLastIterator
Imagick


Sets the Imagick iterator to the last image

Imagick::setIteratorIndex
Imagick::setOption
Imagick
PHP Manual

Imagick::setLastIterator

(PECL imagick 2.0.1)

Imagick::setLastIterator — Sets the Imagick iterator to the last image

Beschreibung

bool Imagick::setLastIterator ( void )

Sets the Imagick iterator to the last image.

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::setIteratorIndex
Imagick::setOption
Imagick


Set an option

Imagick::setLastIterator
Imagick::setPage
Imagick
PHP Manual

Imagick::setOption

(PECL imagick 2.0.0)

Imagick::setOption — Set an option

Beschreibung

bool Imagick::setOption ( string $key , string $value )

Associates one or more options with the wand.

Parameter-Liste

key

value

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Attempt to reach '$extent' sizeImagick::setOption()

<?php
    function renderJPG($extent) {
        $imagePath = $this->control->getImagePath();
        $imagick = new \Imagick(realpath($imagePath));
        $imagick->setImageFormat('jpg');
        $imagick->setOption('jpeg:extent', $extent);
        header("Content-Type: image/jpg");
        echo $imagick->getImageBlob();
    }

?>

Beispiel #2 Imagick::setOption()

<?php
    function renderPNG($imagePath, $format) {

        $imagick = new \Imagick(realpath($imagePath));
        $imagick->setImageFormat('png');
        $imagick->setOption('png:format', $format);
        header("Content-Type: image/png");
        echo $imagick->getImageBlob();
    }

    //Save as 64bit PNG.
    renderPNG($imagePath, 'png64');

?>

Beispiel #3 Imagick::setOption()

<?php
    function renderCustomBitDepthPNG() {
        $imagePath = $this->control->getImagePath();
        $imagick = new \Imagick(realpath($imagePath));
        $imagick->setImageFormat('png');

        $imagick->setOption('png:bit-depth', '16');
        $imagick->setOption('png:color-type', 6);
        header("Content-Type: image/png");
        $crash = true;
        if ($crash) {
            echo $imagick->getImageBlob();
        }
        else {
            $tempFilename = tempnam('./', 'imagick');
            $imagick->writeimage(realpath($tempFilename));
            echo file_get_contents($tempFilename);
        }
    }

?>

Imagick::setLastIterator
Imagick::setPage
Imagick


Sets the page geometry of the Imagick object

Imagick::setOption
Imagick::setPointSize
Imagick
PHP Manual

Imagick::setPage

(PECL imagick 2.0.0)

Imagick::setPage — Sets the page geometry of the Imagick object

Beschreibung

bool Imagick::setPage ( int $width , int $height , int $x , int $y )

Sets the page geometry of the Imagick object.

Parameter-Liste

width

height

x

y

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::setOption
Imagick::setPointSize
Imagick


Sets point size

Imagick::setPage
Imagick::setProgressMonitor
Imagick
PHP Manual

Imagick::setPointSize

(PECL imagick 2.1.0)

Imagick::setPointSize — Sets point size

Beschreibung

bool Imagick::setPointSize ( float $point_size )

Sets object's point size property. This method can be used for example to set font size for caption: pseudo-format. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.3.7 oder höher kompiliert wurde.

Parameter-Liste

point_size

Point size

Rückgabewerte

Liefert TRUE bei Erfolg.

Siehe auch

  • Imagick::getPointSize() - Gets point size

Beispiele

Beispiel #1 A Imagick::setPointSize() example

Example of using Imagick::setPointSize

<?php
/* Create new imagick object */
$im = new Imagick();

/* Set the font for the object */
$im->setFont("example.ttf");

/* Set the point size */
$im->setPointSize(12);

/* Create new caption */
$im->newPseudoImage(100, 100, "caption:Hello");

/* Do something with the image */
?>

Imagick::setPage
Imagick::setProgressMonitor
Imagick


Description

Imagick::setPointSize
Imagick::setRegistry
Imagick
PHP Manual

Imagick::setProgressMonitor

(No version information available, might only be in Git)

Imagick::setProgressMonitor — Description

Beschreibung

public void Imagick::setProgressMonitor ( callable $callback )

Set a callback that will be called during the processing of the Imagick image.

Parameter-Liste

callback

The progress function to call. It should return true if image processing should continue, or false if it should be cancelled. The offset parameter indicates the progress and the span parameter indicates the total amount of work needed to be done.

bool callback ( mixed $offset , mixed $span )
Achtung

The values passed to the callback function are not consistent. In particular the span parameter can increase during image processing. Because of this calculating the percentage complete of an image operation is not trivial.

Rückgabewerte

Beispiele

Beispiel #1 Imagick::setProgressMonitor()

<?php
        $abortReason = null;

        try {
            $imagick = new \Imagick(realpath($this->control->getImagePath()));
            $startTime = time();

            $callback = function ($offset, $span)  use ($startTime, &$abortReason) {
                if (((100 * $offset) / $span)  > 20) {
                    $abortReason = "Processing reached 20%";
                    return false;
                }

                $nowTime = time();

                if ($nowTime - $startTime > 5) {
                    $abortReason = "Image processing took more than 5 seconds";
                    return false;
                }
                if (($offset % 5) == 0) {
                    echo "Progress: $offset / $span <br/>";
                }
                return true;
            };

            $imagick->setProgressMonitor($callback);

            $imagick->waveImage(2, 15);

            echo "Data len is: ".strlen($imagick->getImageBlob());
        }
        catch(\ImagickException $e) {
            if ($abortReason != null) {
                echo "Image processing was aborted: ".$abortReason."<br/>";
            }
            else {
                echo "ImagickException caught: ".$e->getMessage()." Exception type is ".get_class($e);
            }
        }

?>

Imagick::setPointSize
Imagick::setRegistry
Imagick


Description

Imagick::setProgressMonitor
Imagick::setResolution
Imagick
PHP Manual

Imagick::setRegistry

(No version information available, might only be in Git)

Imagick::setRegistry — Description

Beschreibung

public static void Imagick::setRegistry ( string $key , string $value )

Sets the ImageMagick registry entry named key to value. This is most useful for setting "temporary-path" which controls where ImageMagick creates temporary images e.g. while processing PDFs.

Parameter-Liste

key

value

Rückgabewerte

Imagick::setProgressMonitor
Imagick::setResolution
Imagick


Sets the image resolution

Imagick::setRegistry
Imagick::setResourceLimit
Imagick
PHP Manual

Imagick::setResolution

(PECL imagick 2.0.0)

Imagick::setResolution — Sets the image resolution

Beschreibung

bool Imagick::setResolution ( float $x_resolution , float $y_resolution )

Sets the image resolution.

Parameter-Liste

x_resolution

The horizontal resolution.

y_resolution

The vertical resolution.

Rückgabewerte

Liefert TRUE bei Erfolg.

Anmerkungen

Imagick::setResolution() must be called before loading or creating an image.

Siehe auch

  • Imagick::setImageResolution() - Sets the image resolution
  • Imagick::getImageResolution() - Gets the image X and Y resolution
Imagick::setRegistry
Imagick::setResourceLimit
Imagick


Sets the limit for a particular resource in megabytes

Imagick::setResolution
Imagick::setSamplingFactors
Imagick
PHP Manual

Imagick::setResourceLimit

(PECL imagick 2.0.0)

Imagick::setResourceLimit — Sets the limit for a particular resource in megabytes

Beschreibung

bool Imagick::setResourceLimit ( int $type , int $limit )

This method is used to modify the resource limits of the underlying ImageMagick library.

Parameter-Liste

type

Refer to the list of resourcetype constants.

limit

The resource limit. The unit depends on the type of the resource being limited.

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::setResolution
Imagick::setSamplingFactors
Imagick


Sets the image sampling factors

Imagick::setResourceLimit
Imagick::setSize
Imagick
PHP Manual

Imagick::setSamplingFactors

(PECL imagick 2.0.0)

Imagick::setSamplingFactors — Sets the image sampling factors

Beschreibung

bool Imagick::setSamplingFactors ( array $factors )

Sets the image sampling factors.

Parameter-Liste

factors

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Imagick::setSamplingFactors()

<?php
function setSamplingFactors($imagePath) {

    $imagePath = "../imagick/images/FineDetail.png";
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->setImageFormat('jpg');
    $imagick->setSamplingFactors(array('2x2', '1x1', '1x1'));

    $compressed = $imagick->getImageBlob();

    $reopen = new \Imagick();
    $reopen->readImageBlob($compressed);

    $reopen->resizeImage(
        $reopen->getImageWidth() * 4,
        $reopen->getImageHeight() * 4,
        \Imagick::FILTER_POINT,
        1
    );

    header("Content-Type: image/jpg");
    echo $reopen->getImageBlob();
}

?>

Imagick::setResourceLimit
Imagick::setSize
Imagick


Sets the size of the Imagick object

Imagick::setSamplingFactors
Imagick::setSizeOffset
Imagick
PHP Manual

Imagick::setSize

(PECL imagick 2.0.0)

Imagick::setSize — Sets the size of the Imagick object

Beschreibung

bool Imagick::setSize ( int $columns , int $rows )

Sets the size of the Imagick object. Set it before you read a raw image format such as RGB, GRAY, or CMYK.

Parameter-Liste

columns

rows

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::setSamplingFactors
Imagick::setSizeOffset
Imagick


Sets the size and offset of the Imagick object

Imagick::setSize
Imagick::setType
Imagick
PHP Manual

Imagick::setSizeOffset

(PECL imagick 2.0.0)

Imagick::setSizeOffset — Sets the size and offset of the Imagick object

Beschreibung

bool Imagick::setSizeOffset ( int $columns , int $rows , int $offset )

Sets the size and offset of the Imagick object. Set it before you read a raw image format such as RGB, GRAY, or CMYK. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.2.9 oder höher kompiliert wurde.

Parameter-Liste

columns

The width in pixels.

rows

The height in pixels.

offset

The image offset.

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::setSize
Imagick::setType
Imagick


Sets the image type attribute

Imagick::setSizeOffset
Imagick::shadeImage
Imagick
PHP Manual

Imagick::setType

(PECL imagick 2.0.0)

Imagick::setType — Sets the image type attribute

Beschreibung

bool Imagick::setType ( int $image_type )

Sets the image type attribute.

Parameter-Liste

image_type

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::setSizeOffset
Imagick::shadeImage
Imagick


Creates a 3D effect

Imagick::setType
Imagick::shadowImage
Imagick
PHP Manual

Imagick::shadeImage

(PECL imagick 2.0.0)

Imagick::shadeImage — Creates a 3D effect

Beschreibung

bool Imagick::shadeImage ( bool $gray , float $azimuth , float $elevation )

Shines a distant light on an image to create a three-dimensional effect. You control the positioning of the light with azimuth and elevation; azimuth is measured in degrees off the x axis and elevation is measured in pixels above the Z axis. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.2.9 oder höher kompiliert wurde.

Parameter-Liste

gray

A value other than zero shades the intensity of each pixel.

azimuth

Defines the light source direction.

elevation

Defines the light source direction.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Throws ImagickException on failure.

Beispiele

Beispiel #1 Imagick::shadeImage()

<?php
function shadeImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->shadeImage(true, 45, 20);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::setType
Imagick::shadowImage
Imagick


Simulates an image shadow

Imagick::shadeImage
Imagick::sharpenImage
Imagick
PHP Manual

Imagick::shadowImage

(PECL imagick 2.0.0)

Imagick::shadowImage — Simulates an image shadow

Beschreibung

bool Imagick::shadowImage ( float $opacity , float $sigma , int $x , int $y )

Simulates an image shadow.

Parameter-Liste

opacity

sigma

x

y

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Imagick::shadowImage()

<?php
function shadowImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->shadowImage(0.4, 10, 50, 5);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::shadeImage
Imagick::sharpenImage
Imagick


Sharpens an image

Imagick::shadowImage
Imagick::shaveImage
Imagick
PHP Manual

Imagick::sharpenImage

(PECL imagick 2.0.0)

Imagick::sharpenImage — Sharpens an image

Beschreibung

bool Imagick::sharpenImage ( float $radius , float $sigma [, int $channel = Imagick::CHANNEL_ALL ] )

Sharpens an image. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, the radius should be larger than sigma. Use a radius of 0 and Imagick::sharpenImage() selects a suitable radius for you.

Parameter-Liste

radius

sigma

channel

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Imagick::sharpenImage()

<?php
function sharpenImage($imagePath, $radius, $sigma, $channel) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->sharpenimage($radius, $sigma, $channel);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::shadowImage
Imagick::shaveImage
Imagick


Shaves pixels from the image edges

Imagick::sharpenImage
Imagick::shearImage
Imagick
PHP Manual

Imagick::shaveImage

(PECL imagick 2.0.0)

Imagick::shaveImage — Shaves pixels from the image edges

Beschreibung

bool Imagick::shaveImage ( int $columns , int $rows )

Shaves pixels from the image edges. It allocates the memory necessary for the new Image structure and returns a pointer to the new image.

Parameter-Liste

columns

rows

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Imagick::shaveImage()

<?php
function shaveImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->shaveImage(100, 50);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::sharpenImage
Imagick::shearImage
Imagick


Creating a parallelogram

Imagick::shaveImage
Imagick::sigmoidalContrastImage
Imagick
PHP Manual

Imagick::shearImage

(PECL imagick 2.0.0)

Imagick::shearImage — Creating a parallelogram

Beschreibung

bool Imagick::shearImage ( mixed $background , float $x_shear , float $y_shear )

Slides one edge of an image along the X or Y axis, creating a parallelogram. An X direction shear slides an edge along the X axis, while a Y direction shear slides an edge along the Y axis. The amount of the shear is controlled by a shear angle. For X direction shears, x_shear is measured relative to the Y axis, and similarly, for Y direction shears y_shear is measured relative to the X axis. Empty triangles left over from shearing the image are filled with the background color.

Parameter-Liste

background

The background color

x_shear

The number of degrees to shear on the x axis

y_shear

The number of degrees to shear on the y axis

Rückgabewerte

Liefert TRUE bei Erfolg.

Changelog

Version | Beschreibung
2.1.0 | Now allows a string representing the color as the first parameter. Previous versions allow only an ImagickPixel object.

Beispiele

Beispiel #1 Imagick::shearImage()

<?php
function shearImage($imagePath, $color, $shearX, $shearY) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->shearimage($color, $shearX, $shearY);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::shaveImage
Imagick::sigmoidalContrastImage
Imagick


Adjusts the contrast of an image

Imagick::shearImage
Imagick::sketchImage
Imagick
PHP Manual

Imagick::sigmoidalContrastImage

(PECL imagick 2.0.0)

Imagick::sigmoidalContrastImage — Adjusts the contrast of an image

Beschreibung

bool Imagick::sigmoidalContrastImage ( bool $sharpen , float $alpha , float $beta [, int $channel = Imagick::CHANNEL_ALL ] )

Adjusts the contrast of an image with a non-linear sigmoidal contrast algorithm. Increase the contrast of the image using a sigmoidal transfer function without saturating highlights or shadows. Contrast indicates how much to increase the contrast (0 is none; 3 is typical; 20 is pushing it); mid-point indicates where midtones fall in the resultant image (0 is white; 50 is middle-gray; 100 is black). Set sharpen to TRUE to increase the image contrast otherwise the contrast is reduced.

See also » ImageMagick v6 Examples - Image Transformations — Sigmoidal Non-linearity Contrast

Parameter-Liste

sharpen

If true increase the contrast, if false decrease the contrast.

alpha

The amount of contrast to apply. 1 is very little, 5 is a significant amount, 20 is extreme.

beta

Where the midpoint of the gradient will be. This value should be in the range 0 to 1 - mutliplied by the quantum value for ImageMagick.

channel

Which color channels the contrast will be applied to.

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Create a gradient image using Imagick::sigmoidalContrastImage() suitable for blending two images together smoothly, with the blending defined by $contrast and $the midpoint

<?php

function generateBlendImage($width, $height, $contrast = 10, $midpoint = 0.5) {
    $imagick = new Imagick();
    $imagick->newPseudoImage($width, $height, 'gradient:black-white');
    $quanta = $imagick->getQuantumRange();
    $imagick->sigmoidalContrastImage(true, $contrast, $midpoint * $quanta["quantumRangeLong"]);

    return $imagick;
}

?>

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::shearImage
Imagick::sketchImage
Imagick


Simulates a pencil sketch

Imagick::sigmoidalContrastImage
Imagick::smushImages
Imagick
PHP Manual

Imagick::sketchImage

(PECL imagick 2.0.0)

Imagick::sketchImage — Simulates a pencil sketch

Beschreibung

bool Imagick::sketchImage ( float $radius , float $sigma , float $angle )

Simulates a pencil sketch. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and Imagick::sketchImage() selects a suitable radius for you. Angle gives the angle of the blurring motion. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.2.9 oder höher kompiliert wurde.

Parameter-Liste

radius

The radius of the Gaussian, in pixels, not counting the center pixel

sigma

The standard deviation of the Gaussian, in pixels.

angle

Apply the effect along this angle.

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Imagick::sketchImage()

<?php
function sketchImage($imagePath, $radius, $sigma, $angle) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->sketchimage($radius, $sigma, $angle);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::sigmoidalContrastImage
Imagick::smushImages
Imagick


Description

Imagick::sketchImage
Imagick::solarizeImage
Imagick
PHP Manual

Imagick::smushImages

(No version information available, might only be in Git)

Imagick::smushImages — Description

Beschreibung

public Imagick Imagick::smushImages ( string $stack , string $offset )

Takes all images from the current image pointer to the end of the image list and smushs them to each other top-to-bottom if the stack parameter is true, otherwise left-to-right.

Parameter-Liste

stack

offset

Rückgabewerte

The new smushed image.

Beispiele

Beispiel #1 Imagick::smushImages()

<?php
function smushImages($imagePath, $imagePath2) {

    $imagick = new \Imagick(realpath($imagePath));
    $imagick2 = new \Imagick(realpath($imagePath2));

    $imagick->addimage($imagick2);
    $smushed = $imagick->smushImages(false, 50);
    $smushed->setImageFormat('jpg');
    header("Content-Type: image/jpg");
    echo $smushed->getImageBlob();
}

?>

Imagick::sketchImage
Imagick::solarizeImage
Imagick


Applies a solarizing effect to the image

Imagick::smushImages
Imagick::sparseColorImage
Imagick
PHP Manual

Imagick::solarizeImage

(PECL imagick 2.0.0)

Imagick::solarizeImage — Applies a solarizing effect to the image

Beschreibung

bool Imagick::solarizeImage ( int $threshold )

Applies a special effect to the image, similar to the effect achieved in a photo darkroom by selectively exposing areas of photo sensitive paper to light. Threshold ranges from 0 to QuantumRange and is a measure of the extent of the solarization.

Parameter-Liste

threshold

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Imagick::solarizeImage()

<?php
function solarizeImage($imagePath, $solarizeThreshold) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->solarizeImage($solarizeThreshold * \Imagick::getQuantum());
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::smushImages
Imagick::sparseColorImage
Imagick


Interpolates colors

Imagick::solarizeImage
Imagick::spliceImage
Imagick
PHP Manual

Imagick::sparseColorImage

(No version information available, might only be in Git)

Imagick::sparseColorImage — Interpolates colors

Beschreibung

public bool Imagick::sparseColorImage ( int $SPARSE_METHOD , array $arguments [, int $channel = Imagick::CHANNEL_DEFAULT ] )

Given the arguments array containing numeric values this method interpolates the colors found at those coordinates across the whole image using sparse_method. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.4.5 oder höher kompiliert wurde.

Parameter-Liste

SPARSE_METHOD

Refer to this list of sparse method constants

arguments

An array containing the coordinates. The array is in format array(1,1, 2,45)

CHANNEL

Übergeben Sie eine Channel-Konstante, die für Ihren Channel-Moduls gültig ist. Um mehr als einen Channel anzuwenden, können Sie die Channel-Konstanten mit bitweisen Operationen verknüpfen. Der Standardwert ist Imagick::CHANNEL_DEFAULT. Sehen Sie sich auch die Liste der Channel-Konstanten an

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 SPARSECOLORMETHOD_BARYCENTRIC Imagick::sparseColorImage()

<?php
    function renderImageBarycentric2() {
        $points = [
            [0.30, 0.10, 'red'],
            [0.10, 0.80, 'blue'],
            [0.70, 0.60, 'lime'],
            [0.80, 0.20, 'yellow'],
        ];
        $imagick = createGradientImage(
            400, 400,
            $points,
            \Imagick::SPARSECOLORMETHOD_BARYCENTRIC
        );
        header("Content-Type: image/png");
        echo $imagick->getImageBlob();
    }

?>

Beispiel #2 SPARSECOLORMETHOD_BILINEAR Imagick::sparseColorImage()

<?php
    function renderImageBilinear() {
        $points = [[0.30, 0.10, 'red'], [0.10, 0.80, 'blue'], [0.70, 0.60, 'lime'], [0.80, 0.20, 'yellow'],];
        $imagick = createGradientImage(500, 500, $points, \Imagick::SPARSECOLORMETHOD_BILINEAR);
        header("Content-Type: image/png");
        echo $imagick->getImageBlob();
    }

?>

Beispiel #3 SPARSECOLORMETHOD_SPEPARDS Imagick::sparseColorImage()

<?php
    function renderImageShepards() {
        $points = [
            [0.30, 0.10, 'red'],
            [0.10, 0.80, 'blue'],
            [0.70, 0.60, 'lime'],
            [0.80, 0.20, 'yellow'],
        ];
        $imagick = createGradientImage(600, 600, $points, \Imagick::SPARSECOLORMETHOD_SPEPARDS);
        header("Content-Type: image/png");
        echo $imagick->getImageBlob();
    }

?>

Beispiel #4 SPARSECOLORMETHOD_VORONOI Imagick::sparseColorImage()

<?php
    function renderImageVoronoi() {
        $points = [
            [0.30, 0.10, 'red'],
            [0.10, 0.80, 'blue'],
            [0.70, 0.60, 'lime'],
            [0.80, 0.20, 'yellow'],
        ];
        $imagick = createGradientImage(500, 500, $points, \Imagick::SPARSECOLORMETHOD_VORONOI);
        header("Content-Type: image/png");
        echo $imagick->getImageBlob();
    }

?>

Beispiel #5 SPARSECOLORMETHOD_BARYCENTRIC Imagick::sparseColorImage()

<?php
    function renderImageBarycentric() {
        $points = [
            [0, 0, 'skyblue'],
            [-1, 1, 'skyblue'],
            [1, 1, 'black'],
        ];
        $imagick = createGradientImage(600, 200, $points, \Imagick::SPARSECOLORMETHOD_BARYCENTRIC);
        header("Content-Type: image/png");
        echo $imagick->getImageBlob();
    }

?>

Beispiel #6 createGradientImage is used by other examples. Imagick::sparseColorImage()

<?php
function createGradientImage($width, $height, $colorPoints, $sparseMethod, $absolute = false) {

    $imagick = new \Imagick();
    $imagick->newImage($width, $height, "white");
    $imagick->setImageFormat("png");

    $barycentricPoints = array();

    foreach ($colorPoints as $colorPoint) {

        if ($absolute == true) {
            $barycentricPoints[] = $colorPoint[0];
            $barycentricPoints[] = $colorPoint[1];
        }
        else {
            $barycentricPoints[] = $colorPoint[0] * $width;
            $barycentricPoints[] = $colorPoint[1] * $height;
        }

        if (is_string($colorPoint[2])) {
            $imagickPixel = new \ImagickPixel($colorPoint[2]);
        }
        else if ($colorPoint[2] instanceof \ImagickPixel) {
            $imagickPixel = $colorPoint[2];
        }
        else{
            $errorMessage = sprintf(
                "Value %s is neither a string nor an ImagickPixel class. Cannot use as a color.",
                $colorPoint[2]
            );

            throw new \InvalidArgumentException(
                $errorMessage
            );
        }

        $red = $imagickPixel->getColorValue(\Imagick::COLOR_RED);
        $green = $imagickPixel->getColorValue(\Imagick::COLOR_GREEN);
        $blue = $imagickPixel->getColorValue(\Imagick::COLOR_BLUE);
        $alpha = $imagickPixel->getColorValue(\Imagick::COLOR_ALPHA);

        $barycentricPoints[] = $red;
        $barycentricPoints[] = $green;
        $barycentricPoints[] = $blue;
        $barycentricPoints[] = $alpha;
    }

    $imagick->sparseColorImage($sparseMethod, $barycentricPoints);

    return $imagick;
}

?>

Imagick::solarizeImage
Imagick::spliceImage
Imagick


Splices a solid color into the image

Imagick::sparseColorImage
Imagick::spreadImage
Imagick
PHP Manual

Imagick::spliceImage

(PECL imagick 2.0.0)

Imagick::spliceImage — Splices a solid color into the image

Beschreibung

bool Imagick::spliceImage ( int $width , int $height , int $x , int $y )

Splices a solid color into the image.

Parameter-Liste

width

height

x

y

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Imagick::spliceImage()

<?php
function spliceImage($imagePath, $startX, $startY, $width, $height) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->spliceImage($width, $height, $startX, $startY);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::sparseColorImage
Imagick::spreadImage
Imagick


Randomly displaces each pixel in a block

Imagick::spliceImage
Imagick::statisticImage
Imagick
PHP Manual

Imagick::spreadImage

(PECL imagick 2.0.0)

Imagick::spreadImage — Randomly displaces each pixel in a block

Beschreibung

bool Imagick::spreadImage ( float $radius )

Special effects method that randomly displaces each pixel in a block defined by the radius parameter.

Parameter-Liste

radius

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::spreadImage()

<?php
function spreadImage($imagePath, $radius) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->spreadImage($radius);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::spliceImage
Imagick::statisticImage
Imagick


Description

Imagick::spreadImage
Imagick::steganoImage
Imagick
PHP Manual

Imagick::statisticImage

(No version information available, might only be in Git)

Imagick::statisticImage — Description

Beschreibung

public void Imagick::statisticImage ( int $type , int $width , int $height [, string $CHANNEL = Imagick::CHANNEL_DEFAULT ] )

Replace each pixel with corresponding statistic from the neighborhood of the specified width and height.

Parameter-Liste

type

width

height

CHANNEL

Rückgabewerte

Beispiele

Beispiel #1 Imagick::statisticImage()

<?php
function statisticImage($imagePath, $statisticType, $width, $height, $channel) {
    $imagick = new \Imagick(realpath($imagePath));

    $imagick->statisticImage(
        $statisticType,
        $width,
        $height,
        $channel
    );

    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

statisticImage($imagePath, \Imagick::STATISTIC_MEDIAN, 5, 5, \Imagick::CHANNEL_DEFAULT);

?>

Imagick::spreadImage
Imagick::steganoImage
Imagick


Hides a digital watermark within the image

Imagick::statisticImage
Imagick::stereoImage
Imagick
PHP Manual

Imagick::steganoImage

(PECL imagick 2.0.0)

Imagick::steganoImage — Hides a digital watermark within the image

Beschreibung

Imagick Imagick::steganoImage ( Imagick $watermark_wand , int $offset )

Hides a digital watermark within the image. Recover the hidden watermark later to prove that the authenticity of an image. Offset defines the start position within the image to hide the watermark.

Parameter-Liste

watermark_wand

offset

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::statisticImage
Imagick::stereoImage
Imagick


Composites two images

Imagick::steganoImage
Imagick::stripImage
Imagick
PHP Manual

Imagick::stereoImage

(PECL imagick 2.0.0)

Imagick::stereoImage — Composites two images

Beschreibung

bool Imagick::stereoImage ( Imagick $offset_wand )

Composites two images and produces a single image that is the composite of a left and right image of a stereo pair.

Parameter-Liste

offset_wand

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::steganoImage
Imagick::stripImage
Imagick


Strips an image of all profiles and comments

Imagick::stereoImage
Imagick::subImageMatch
Imagick
PHP Manual

Imagick::stripImage

(PECL imagick 2.0.0)

Imagick::stripImage — Strips an image of all profiles and comments

Beschreibung

bool Imagick::stripImage ( void )

Strips an image of all profiles and comments.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Imagick::stereoImage
Imagick::subImageMatch
Imagick


Description

Imagick::stripImage
Imagick::swirlImage
Imagick
PHP Manual

Imagick::subImageMatch

(No version information available, might only be in Git)

Imagick::subImageMatch — Description

Beschreibung

public Imagick Imagick::subImageMatch ( Imagick $Imagick [, array &$offset [, float &$similarity ]] )

Searches for a subimage in the current image and returns a similarity image such that an exact match location is completely white and if none of the pixels match, black, otherwise some gray level in-between. You can also pass in the optional parameters bestMatch and similarity. After calling the function similarity will be set to the 'score' of the similarity between the subimage and the matching position in the larger image, bestMatch will contain an associative array with elements x, y, width, height that describe the matching region.

Parameter-Liste

Imagick

offset

similarity

A new image that displays the amount of similarity at each pixel.

Rückgabewerte

Beispiele

Beispiel #1 Imagick::subImageMatch()

<?php
function subImageMatch($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick2 = clone $imagick;
    $imagick2->cropimage(40, 40, 250, 110);
    $imagick2->vignetteimage(0, 1, 3, 3);

    $similarity = null;
    $bestMatch = null;
    $comparison = $imagick->subImageMatch($imagick2, $bestMatch, $similarity);

    $comparison->setImageFormat('png');
    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

Imagick::stripImage
Imagick::swirlImage
Imagick


Swirls the pixels about the center of the image

Imagick::subImageMatch
Imagick::textureImage
Imagick
PHP Manual

Imagick::swirlImage

(PECL imagick 2.0.0)

Imagick::swirlImage — Swirls the pixels about the center of the image

Beschreibung

bool Imagick::swirlImage ( float $degrees )

Swirls the pixels about the center of the image, where degrees indicates the sweep of the arc through which each pixel is moved. You get a more dramatic effect as the degrees move from 1 to 360.

Parameter-Liste

degrees

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::swirlImage()

<?php
function swirlImage($imagePath, $swirl) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->swirlImage($swirl);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::subImageMatch
Imagick::textureImage
Imagick


Repeatedly tiles the texture image

Imagick::swirlImage
Imagick::thresholdImage
Imagick
PHP Manual

Imagick::textureImage

(PECL imagick 2.0.0)

Imagick::textureImage — Repeatedly tiles the texture image

Beschreibung

Imagick Imagick::textureImage ( Imagick $texture_wand )

Repeatedly tiles the texture image across and down the image canvas.

Parameter-Liste

texture_wand

Imagick object to use as texture image

Rückgabewerte

Returns a new Imagick object that has the repeated texture applied.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::textureImage()

<?php
function textureImage($imagePath) {
    $image = new \Imagick();
    $image->newImage(640, 480, new \ImagickPixel('pink'));
    $image->setImageFormat("jpg");
    $texture = new \Imagick(realpath($imagePath));
    $texture->scaleimage($image->getimagewidth() / 4, $image->getimageheight() / 4);
    $image = $image->textureImage($texture);
    header("Content-Type: image/jpg");
    echo $image;
}

?>

Imagick::swirlImage
Imagick::thresholdImage
Imagick


Changes the value of individual pixels based on a threshold

Imagick::textureImage
Imagick::thumbnailImage
Imagick
PHP Manual

Imagick::thresholdImage

(PECL imagick 2.0.0)

Imagick::thresholdImage — Changes the value of individual pixels based on a threshold

Beschreibung

bool Imagick::thresholdImage ( float $threshold [, int $channel = Imagick::CHANNEL_ALL ] )

Changes the value of individual pixels based on the intensity of each pixel compared to threshold. The result is a high-contrast, two color image.

Parameter-Liste

threshold

channel

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Imagick::thresholdImage()

<?php
function thresholdimage($imagePath, $threshold, $channel) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->thresholdimage($threshold * \Imagick::getQuantum(), $channel);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::textureImage
Imagick::thumbnailImage
Imagick


Changes the size of an image

Imagick::thresholdImage
Imagick::tintImage
Imagick
PHP Manual

Imagick::thumbnailImage

(PECL imagick 2.0.0)

Imagick::thumbnailImage — Changes the size of an image

Beschreibung

bool Imagick::thumbnailImage ( int $columns , int $rows [, bool $bestfit = false [, bool $fill = false ]] )

Changes the size of an image to the given dimensions and removes any associated profiles. The goal is to produce small, low cost thumbnail images suited for display on the Web. If TRUE is given as a third parameter then columns and rows parameters are used as maximums for each side. Both sides will be scaled down until they match or are smaller than the parameter given for the side.

Hinweis: Das Verhalten des Parameters bestfit hat sich mit Imagick 3.0.0 geändert. Vor dieser Version wurde ein Bild der Größe 200x150 bei der angegebenen Größe von 400x400 nicht verändert. In Imagick 3.0.0 und späteren Versionen wird dieses Bild auf die Größe 400x300 hochgerechnet, da dies die passendste größe für die angegebene Bildgröße ist. Wenn der bestfit-Parameter angegeben wird, so muss sowohl eine Breite als auch eine Höhe angegeben werden.

Parameter-Liste

columns

Image width

rows

Image height

bestfit

Whether to force maximum values

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::thumbnailImage()

<?php
function thumbnailImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->setbackgroundcolor('rgb(64, 64, 64)');
    $imagick->thumbnailImage(100, 100, true, true);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::thresholdImage
Imagick::tintImage
Imagick


Applies a color vector to each pixel in the image

Imagick::thumbnailImage
Imagick::__toString
Imagick
PHP Manual

Imagick::tintImage

(PECL imagick 2.0.0)

Imagick::tintImage — Applies a color vector to each pixel in the image

Beschreibung

bool Imagick::tintImage ( mixed $tint , mixed $opacity )

Applies a color vector to each pixel in the image. The length of the vector is 0 for black and white and at its maximum for the midtones. The vector weighing function is f(x)=(1-(4.0*((x-0.5)*(x-0.5)))).

Parameter-Liste

tint

opacity

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Changelog

Version | Beschreibung
2.1.0 | Now allows a string representing the color as the first parameter and a float representing the opacity value as the second parameter. Previous versions allow only an ImagickPixel objects.

Beispiele

Beispiel #1 Imagick::tintImage()

<?php
function tintImage($r, $g, $b, $a) {
    $a = $a / 100;

    $imagick = new \Imagick();
    $imagick->newPseudoImage(400, 400, 'gradient:black-white');

    $tint = new \ImagickPixel("rgb($r, $g, $b)");
    $opacity = new \ImagickPixel("rgb(128, 128, 128, $a)");
    $imagick->tintImage($tint, $opacity);
    $imagick->setImageFormat('png');
    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

Imagick::thumbnailImage
Imagick::__toString
Imagick


Returns the image as a string.

Imagick::tintImage
Imagick::transformImage
Imagick
PHP Manual

Imagick::__toString

(No version information available, might only be in Git)

Imagick::__toString — Returns the image as a string.

Beschreibung

string Imagick::__toString ( void )

Returns the current image as string. This will only return a single image; it should not be used for Imagick objects that contain multiple images e.g. an animated GIF or PDF with multiple pages.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the string content on success or an empty string on failure.

Siehe auch

  • Imagick::getImageBlob() - Returns the image sequence as a blob
  • Imagick::getImagesBlob() - Returns all image sequences as a blob
Imagick::tintImage
Imagick::transformImage
Imagick


Convenience method for setting crop size and the image geometry

Imagick::__toString
Imagick::transformImageColorspace
Imagick
PHP Manual

Imagick::transformImage

(PECL imagick 2.0.0)

Imagick::transformImage — Convenience method for setting crop size and the image geometry

Beschreibung

Imagick Imagick::transformImage ( string $crop , string $geometry )

A convenience method for setting crop size and the image geometry from strings. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.2.9 oder höher kompiliert wurde.

Parameter-Liste

crop

A crop geometry string. This geometry defines a subregion of the image to crop.

geometry

An image geometry string. This geometry defines the final size of the image.

Rückgabewerte

Returns an Imagick object containing the transformed image.

Beispiele

Beispiel #1 Using Imagick::transformImage():

The example creates a 100x100 black image.

<?php
$image = new Imagick();
$image->newImage(300, 200, "black");
$new_image = $image->transformImage("100x100", "100x100");
$new_image->writeImage('test_out.jpg');
?>

Siehe auch

  • Imagick::cropImage() - Extracts a region of the image
  • Imagick::resizeImage() - Scales an image
  • Imagick::thumbnailImage() - Changes the size of an image

Imagick::__toString
Imagick::transformImageColorspace
Imagick


Transforms an image to a new colorspace.

Imagick::transformImage
Imagick::transparentPaintImage
Imagick
PHP Manual

Imagick::transformImageColorspace

(No version information available, might only be in Git)

Imagick::transformImageColorspace — Transforms an image to a new colorspace.

Beschreibung

bool Imagick::transformImageColorspace ( int $colorspace )

Transforms an image to a new colorspace.

Parameter-Liste

colorspace

The colorspace the image should be transformed to, one of the COLORSPACE constants e.g. Imagick::COLORSPACE_CMYK.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Imagick::transformImageColorspace() example

Transforms an image to a new colorspace, and then extracts a single channel so that the individual channel values can be viewed.

<?php
function transformImageColorspace($imagePath, $colorSpace, $channel) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->transformimagecolorspace($colorSpace);
    //channel should be one of the channel constants e.g. \Imagick::CHANNEL_BLUE
    $imagick->separateImageChannel($channel);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}
?>

Siehe auch

  • Imagick::setColorSpace() - Set colorspace

Beispiele

Beispiel #2 Imagick::transformImageColorspace()

<?php
function transformImageColorspace($imagePath, $colorSpace, $channel) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->transformimagecolorspace($colorSpace);
    $imagick->separateImageChannel($channel);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::transformImage
Imagick::transparentPaintImage
Imagick


Paints pixels transparent

Imagick::transformImageColorspace
Imagick::transposeImage
Imagick
PHP Manual

Imagick::transparentPaintImage

(No version information available, might only be in Git)

Imagick::transparentPaintImage — Paints pixels transparent

Beschreibung

bool Imagick::transparentPaintImage ( mixed $target , float $alpha , float $fuzz , bool $invert )

Paints pixels matching the target color transparent. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.3.8 oder höher kompiliert wurde.

Parameter-Liste

target

The target color to paint

alpha

Die Stufe der Transparenz. 1.0 ist völlig undurchsichtig und 0.0 ist komplett transparent.

fuzz

Die Menge an Ungenauigkeit. Wird dieser Wert z.B. auf 10 gesetzt, so werden die Farbe Rot sowohl bei Intensitäten von 100 als auch 102 als identisch betrachtet.

invert

If TRUE paints any pixel that does not match the target color.

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Imagick::transparentPaintImage()

<?php
function transparentPaintImage($color, $alpha, $fuzz) {
    $imagick = new \Imagick(realpath("images/BlueScreen.jpg"));

    //Need to be in a format that supports transparency
    $imagick->setimageformat('png');

    $imagick->transparentPaintImage(
        $color, $alpha, $fuzz * \Imagick::getQuantum(), false
    );

    //Not required, but helps tidy up left over pixels
    $imagick->despeckleimage();

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

Imagick::transformImageColorspace
Imagick::transposeImage
Imagick


Creates a vertical mirror image

Imagick::transparentPaintImage
Imagick::transverseImage
Imagick
PHP Manual

Imagick::transposeImage

(PECL imagick 2.0.0)

Imagick::transposeImage — Creates a vertical mirror image

Beschreibung

bool Imagick::transposeImage ( void )

Creates a vertical mirror image by reflecting the pixels around the central x-axis while rotating them 90-degrees. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.2.9 oder höher kompiliert wurde.

Rückgabewerte

Liefert TRUE bei Erfolg.

Siehe auch

  • Imagick::transverseImage() - Creates a horizontal mirror image

Beispiele

Beispiel #1 Imagick::transposeImage()

<?php
function transposeImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->transposeImage();
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::transparentPaintImage
Imagick::transverseImage
Imagick


Creates a horizontal mirror image

Imagick::transposeImage
Imagick::trimImage
Imagick
PHP Manual

Imagick::transverseImage

(PECL imagick 2.0.0)

Imagick::transverseImage — Creates a horizontal mirror image

Beschreibung

bool Imagick::transverseImage ( void )

Creates a horizontal mirror image by reflecting the pixels around the central y-axis while rotating them 270-degrees. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.2.9 oder höher kompiliert wurde.

Rückgabewerte

Liefert TRUE bei Erfolg.

Siehe auch

  • Imagick::transposeImage() - Creates a vertical mirror image

Beispiele

Beispiel #1 Imagick::transverseImage()

<?php
function transverseImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->transverseImage();
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::transposeImage
Imagick::trimImage
Imagick


Remove edges from the image

Imagick::transverseImage
Imagick::uniqueImageColors
Imagick
PHP Manual

Imagick::trimImage

(PECL imagick 2.0.0)

Imagick::trimImage — Remove edges from the image

Beschreibung

bool Imagick::trimImage ( float $fuzz )

Remove edges that are the background color from the image. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.2.9 oder höher kompiliert wurde.

Parameter-Liste

fuzz

By default target must match a particular pixel color exactly. However, in many cases two colors may differ by a small amount. The fuzz member of image defines how much tolerance is acceptable to consider two colors as the same. This parameter represents the variation on the quantum range.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Using Imagick::trimImage():

Trim an image, then display to the browser.

<?php
/* Create the object and read the image in */
$im = new Imagick("image.jpg");

/* Trim the image. */
$im->trimImage(0);

/* Ouput the image */
header("Content-Type: image/" . $im->getImageFormat());
echo $im;
?>

Siehe auch

  • Imagick::getQuantumDepth() - Gets the quantum depth
  • Imagick::getQuantumRange() - Returns the Imagick quantum range

Imagick::transverseImage
Imagick::uniqueImageColors
Imagick


Discards all but one of any pixel color

Imagick::trimImage
Imagick::unsharpMaskImage
Imagick
PHP Manual

Imagick::uniqueImageColors

(PECL imagick 2.0.0)

Imagick::uniqueImageColors — Discards all but one of any pixel color

Beschreibung

bool Imagick::uniqueImageColors ( void )

Discards all but one of any pixel color. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.2.9 oder höher kompiliert wurde.

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Imagick::uniqueImageColors()

<?php
function uniqueImageColors($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    //Reduce the image to 256 colours nicely.
    $imagick->quantizeImage(256, \Imagick::COLORSPACE_YIQ, 0, false, false);
    $imagick->uniqueImageColors();
    $imagick->scaleimage($imagick->getImageWidth(), $imagick->getImageHeight() * 20);
    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

Imagick::trimImage
Imagick::unsharpMaskImage
Imagick


Sharpens an image

Imagick::uniqueImageColors
Imagick::valid
Imagick
PHP Manual

Imagick::unsharpMaskImage

(PECL imagick 2.0.0)

Imagick::unsharpMaskImage — Sharpens an image

Beschreibung

bool Imagick::unsharpMaskImage ( float $radius , float $sigma , float $amount , float $threshold [, int $channel = Imagick::CHANNEL_ALL ] )

Sharpens an image. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and Imagick::UnsharpMaskImage() selects a suitable radius for you.

Parameter-Liste

radius

sigma

amount

threshold

channel

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Beispiele

Beispiel #1 Imagick::unsharpMaskImage()

<?php
function unsharpMaskImage($imagePath, $radius, $sigma, $amount, $unsharpThreshold) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->unsharpMaskImage($radius, $sigma, $amount, $unsharpThreshold);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::uniqueImageColors
Imagick::valid
Imagick


Checks if the current item is valid

Imagick::unsharpMaskImage
Imagick::vignetteImage
Imagick
PHP Manual

Imagick::valid

(PECL imagick 2.0.0)

Imagick::valid — Checks if the current item is valid

Beschreibung

bool Imagick::valid ( void )

Checks if the current item is valid.

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::unsharpMaskImage
Imagick::vignetteImage
Imagick


Adds vignette filter to the image

Imagick::valid
Imagick::waveImage
Imagick
PHP Manual

Imagick::vignetteImage

(PECL imagick 2.0.0)

Imagick::vignetteImage — Adds vignette filter to the image

Beschreibung

bool Imagick::vignetteImage ( float $blackPoint , float $whitePoint , int $x , int $y )

Softens the edges of the image in vignette style. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.2.9 oder höher kompiliert wurde.

Parameter-Liste

blackPoint

The black point.

whitePoint

The white point

x

X offset of the ellipse

y

Y offset of the ellipse

Rückgabewerte

Liefert TRUE bei Erfolg.

Siehe auch

  • Imagick::waveImage() - Applies wave filter to the image
  • Imagick::swirlImage() - Swirls the pixels about the center of the image

Beispiele

Beispiel #1 Imagick::vignetteImage()

<?php
function vignetteImage($imagePath, $blackPoint, $whitePoint, $x, $y) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->vignetteImage($blackPoint, $whitePoint, $x, $y);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::valid
Imagick::waveImage
Imagick


Applies wave filter to the image

Imagick::vignetteImage
Imagick::whiteThresholdImage
Imagick
PHP Manual

Imagick::waveImage

(PECL imagick 2.0.0)

Imagick::waveImage — Applies wave filter to the image

Beschreibung

bool Imagick::waveImage ( float $amplitude , float $length )

Applies a wave filter to the image. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.2.9 oder höher kompiliert wurde.

Parameter-Liste

amplitude

The amplitude of the wave.

length

The length of the wave.

Rückgabewerte

Liefert TRUE bei Erfolg.

Fehler/Exceptions

Wirft ImagickException bei Fehlern.

Siehe auch

  • Imagick::solarizeImage() - Applies a solarizing effect to the image
  • Imagick::oilpaintImage() - Simulates an oil painting
  • Imagick::embossImage() - Returns a grayscale image with a three-dimensional effect
  • Imagick::addNoiseImage() - Adds random noise to the image
  • Imagick::swirlImage() - Swirls the pixels about the center of the image

Beispiele

Beispiel #1 WaveImage can be quite slow Imagick::waveImage()

<?php
function waveImage($imagePath, $amplitude, $length) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->waveImage($amplitude, $length);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::vignetteImage
Imagick::whiteThresholdImage
Imagick


Force all pixels above the threshold into white

Imagick::waveImage
Imagick::writeImage
Imagick
PHP Manual

Imagick::whiteThresholdImage

(PECL imagick 2.0.0)

Imagick::whiteThresholdImage — Force all pixels above the threshold into white

Beschreibung

bool Imagick::whiteThresholdImage ( mixed $threshold )

Is like Imagick::ThresholdImage() but force all pixels above the threshold into white while leaving all pixels below the threshold unchanged.

Parameter-Liste

threshold

Rückgabewerte

Liefert TRUE bei Erfolg.

Changelog

Version | Beschreibung
2.1.0 | Now allows a string representing the color as a parameter. Previous versions allow only an ImagickPixel object.

Beispiele

Beispiel #1 Imagick::whiteThresholdImage()

<?php
function whiteThresholdImage($imagePath, $color) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->whiteThresholdImage($color);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Imagick::waveImage
Imagick::writeImage
Imagick


Writes an image to the specified filename

Imagick::whiteThresholdImage
Imagick::writeImageFile
Imagick
PHP Manual

Imagick::writeImage

(PECL imagick 0.9.0-0.9.9)

Imagick::writeImage — Writes an image to the specified filename

Beschreibung

bool Imagick::writeImage ([ string $filename = NULL ] )

Writes an image to the specified filename. If the filename parameter is NULL, the image is written to the filename set by Imagick::readImage() or Imagick::setImageFilename().

Parameter-Liste

filename

Filename where to write the image. The extension of the filename defines the type of the file. Format can be forced regardless of file extension using format: prefix, for example "jpg:test.png".

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::whiteThresholdImage
Imagick::writeImageFile
Imagick


Writes an image to a filehandle

Imagick::writeImage
Imagick::writeImages
Imagick
PHP Manual

Imagick::writeImageFile

(No version information available, might only be in Git)

Imagick::writeImageFile — Writes an image to a filehandle

Beschreibung

bool Imagick::writeImageFile ( resource $filehandle )

Writes the image sequence to an open filehandle. The handle must be opened with for example fopen. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.3.6 oder höher kompiliert wurde.

Parameter-Liste

filehandle

Filehandle where to write the image

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::writeImage
Imagick::writeImages
Imagick


Writes an image or image sequence

Imagick::writeImageFile
Imagick::writeImagesFile
Imagick
PHP Manual

Imagick::writeImages

(PECL imagick 0.9.0-0.9.9)

Imagick::writeImages — Writes an image or image sequence

Beschreibung

bool Imagick::writeImages ( string $filename , bool $adjoin )

Writes an image or image sequence.

Parameter-Liste

filename

adjoin

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::writeImageFile
Imagick::writeImagesFile
Imagick


Writes frames to a filehandle

Imagick::writeImages
ImagickDraw
Imagick
PHP Manual

Imagick::writeImagesFile

(No version information available, might only be in Git)

Imagick::writeImagesFile — Writes frames to a filehandle

Beschreibung

bool Imagick::writeImagesFile ( resource $filehandle )

Writes all image frames into an open filehandle. This method can be used to write animated gifs or other multiframe images into open filehandle. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.3.6 oder höher kompiliert wurde.

Parameter-Liste

filehandle

Filehandle where to write the images

Rückgabewerte

Liefert TRUE bei Erfolg.

Imagick::writeImages
ImagickDraw
Imagick


The ImagickDraw class

(PECL imagick 2.0.0)

Klassenbeschreibung

ImagickDraw {
bool affine ( array $affine )
bool annotation ( float $x , float $y , string $text )
bool arc ( float $sx , float $sy , float $ex , float $ey , float $sd , float $ed )
bool bezier ( array $coordinates )
bool circle ( float $ox , float $oy , float $px , float $py )
bool clear ( void )
ImagickDraw clone ( void )
bool color ( float $x , float $y , int $paintMethod )
bool comment ( string $comment )
bool composite ( int $compose , float $x , float $y , float $width , float $height , Imagick $compositeWand )
__construct ( void )
bool destroy ( void )
bool ellipse ( float $ox , float $oy , float $rx , float $ry , float $start , float $end )
string getClipPath ( void )
int getClipRule ( void )
int getClipUnits ( void )
ImagickPixel getFillColor ( void )
float getFillOpacity ( void )
int getFillRule ( void )
string getFont ( void )
string getFontFamily ( void )
float getFontSize ( void )
public int getFontStretch ( void )
int getFontStyle ( void )
int getFontWeight ( void )
int getGravity ( void )
bool getStrokeAntialias ( void )
ImagickPixel getStrokeColor ( void )
array getStrokeDashArray ( void )
float getStrokeDashOffset ( void )
int getStrokeLineCap ( void )
int getStrokeLineJoin ( void )
int getStrokeMiterLimit ( void )
float getStrokeOpacity ( void )
float getStrokeWidth ( void )
int getTextAlignment ( void )
bool getTextAntialias ( void )
int getTextDecoration ( void )
string getTextEncoding ( void )
public float getTextInterlineSpacing ( void )
public float getTextInterwordSpacing ( void )
public float getTextKerning ( void )
ImagickPixel getTextUnderColor ( void )
string getVectorGraphics ( void )
bool line ( float $sx , float $sy , float $ex , float $ey )
bool matte ( float $x , float $y , int $paintMethod )
bool pathClose ( void )
bool pathCurveToAbsolute ( float $x1 , float $y1 , float $x2 , float $y2 , float $x , float $y )
bool pathCurveToQuadraticBezierAbsolute ( float $x1 , float $y1 , float $x , float $y )
bool pathCurveToQuadraticBezierRelative ( float $x1 , float $y1 , float $x , float $y )
bool pathCurveToQuadraticBezierSmoothAbsolute ( float $x , float $y )
bool pathCurveToQuadraticBezierSmoothRelative ( float $x , float $y )
bool pathCurveToRelative ( float $x1 , float $y1 , float $x2 , float $y2 , float $x , float $y )
bool pathCurveToSmoothAbsolute ( float $x2 , float $y2 , float $x , float $y )
bool pathCurveToSmoothRelative ( float $x2 , float $y2 , float $x , float $y )
bool pathEllipticArcAbsolute ( float $rx , float $ry , float $x_axis_rotation , bool $large_arc_flag , bool $sweep_flag , float $x , float $y )
bool pathEllipticArcRelative ( float $rx , float $ry , float $x_axis_rotation , bool $large_arc_flag , bool $sweep_flag , float $x , float $y )
bool pathFinish ( void )
bool pathLineToAbsolute ( float $x , float $y )
bool pathLineToHorizontalAbsolute ( float $x )
bool pathLineToHorizontalRelative ( float $x )
bool pathLineToRelative ( float $x , float $y )
bool pathLineToVerticalAbsolute ( float $y )
bool pathLineToVerticalRelative ( float $y )
bool pathMoveToAbsolute ( float $x , float $y )
bool pathMoveToRelative ( float $x , float $y )
bool pathStart ( void )
bool point ( float $x , float $y )
bool polygon ( array $coordinates )
bool polyline ( array $coordinates )
bool pop ( void )
bool popClipPath ( void )
bool popDefs ( void )
bool popPattern ( void )
bool push ( void )
bool pushClipPath ( string $clip_mask_id )
bool pushDefs ( void )
bool pushPattern ( string $pattern_id , float $x , float $y , float $width , float $height )
bool rectangle ( float $x1 , float $y1 , float $x2 , float $y2 )
bool render ( void )
public void resetVectorGraphics ( void )
bool rotate ( float $degrees )
bool roundRectangle ( float $x1 , float $y1 , float $x2 , float $y2 , float $rx , float $ry )
bool scale ( float $x , float $y )
bool setClipPath ( string $clip_mask )
bool setClipRule ( int $fill_rule )
bool setClipUnits ( int $clip_units )
bool setFillAlpha ( float $opacity )
bool setFillColor ( ImagickPixel $fill_pixel )
bool setFillOpacity ( float $fillOpacity )
bool setFillPatternURL ( string $fill_url )
bool setFillRule ( int $fill_rule )
bool setFont ( string $font_name )
bool setFontFamily ( string $font_family )
bool setFontSize ( float $pointsize )
bool setFontStretch ( int $fontStretch )
bool setFontStyle ( int $style )
bool setFontWeight ( int $font_weight )
bool setGravity ( int $gravity )
public void setResolution ( string $x_resolution , string $y_resolution )
bool setStrokeAlpha ( float $opacity )
bool setStrokeAntialias ( bool $stroke_antialias )
bool setStrokeColor ( ImagickPixel $stroke_pixel )
bool setStrokeDashArray ( array $dashArray )
bool setStrokeDashOffset ( float $dash_offset )
bool setStrokeLineCap ( int $linecap )
bool setStrokeLineJoin ( int $linejoin )
bool setStrokeMiterLimit ( int $miterlimit )
bool setStrokeOpacity ( float $stroke_opacity )
bool setStrokePatternURL ( string $stroke_url )
bool setStrokeWidth ( float $stroke_width )
bool setTextAlignment ( int $alignment )
bool setTextAntialias ( bool $antiAlias )
bool setTextDecoration ( int $decoration )
bool setTextEncoding ( string $encoding )
public void setTextInterlineSpacing ( float $spacing )
public void setTextInterwordSpacing ( float $spacing )
public void setTextKerning ( float $kerning )
bool setTextUnderColor ( ImagickPixel $under_color )
bool setVectorGraphics ( string $xml )
bool setViewbox ( int $x1 , int $y1 , int $x2 , int $y2 )
bool skewX ( float $degrees )
bool skewY ( float $degrees )
bool translate ( float $x , float $y )
}

Inhaltsverzeichnis

  • ImagickDraw::affine — Adjusts the current affine transformation matrix
  • ImagickDraw::annotation — Draws text on the image
  • ImagickDraw::arc — Draws an arc
  • ImagickDraw::bezier — Draws a bezier curve
  • ImagickDraw::circle — Draws a circle
  • ImagickDraw::clear — Clears the ImagickDraw
  • ImagickDraw::clone — Makes an exact copy of the specified ImagickDraw object
  • ImagickDraw::color — Draws color on image
  • ImagickDraw::comment — Adds a comment
  • ImagickDraw::composite — Composites an image onto the current image
  • ImagickDraw::__construct — The ImagickDraw constructor
  • ImagickDraw::destroy — Frees all associated resources
  • ImagickDraw::ellipse — Draws an ellipse on the image
  • ImagickDraw::getClipPath — Obtains the current clipping path ID
  • ImagickDraw::getClipRule — Returns the current polygon fill rule
  • ImagickDraw::getClipUnits — Returns the interpretation of clip path units
  • ImagickDraw::getFillColor — Returns the fill color
  • ImagickDraw::getFillOpacity — Returns the opacity used when drawing
  • ImagickDraw::getFillRule — Returns the fill rule
  • ImagickDraw::getFont — Returns the font
  • ImagickDraw::getFontFamily — Returns the font family
  • ImagickDraw::getFontSize — Returns the font pointsize
  • ImagickDraw::getFontStretch — Description
  • ImagickDraw::getFontStyle — Returns the font style
  • ImagickDraw::getFontWeight — Returns the font weight
  • ImagickDraw::getGravity — Returns the text placement gravity
  • ImagickDraw::getStrokeAntialias — Returns the current stroke antialias setting
  • ImagickDraw::getStrokeColor — Returns the color used for stroking object outlines
  • ImagickDraw::getStrokeDashArray — Returns an array representing the pattern of dashes and gaps used to stroke paths
  • ImagickDraw::getStrokeDashOffset — Returns the offset into the dash pattern to start the dash
  • ImagickDraw::getStrokeLineCap — Returns the shape to be used at the end of open subpaths when they are stroked
  • ImagickDraw::getStrokeLineJoin — Returns the shape to be used at the corners of paths when they are stroked
  • ImagickDraw::getStrokeMiterLimit — Returns the stroke miter limit
  • ImagickDraw::getStrokeOpacity — Returns the opacity of stroked object outlines
  • ImagickDraw::getStrokeWidth — Returns the width of the stroke used to draw object outlines
  • ImagickDraw::getTextAlignment — Returns the text alignment
  • ImagickDraw::getTextAntialias — Returns the current text antialias setting
  • ImagickDraw::getTextDecoration — Returns the text decoration
  • ImagickDraw::getTextEncoding — Returns the code set used for text annotations
  • ImagickDraw::getTextInterlineSpacing — Description
  • ImagickDraw::getTextInterwordSpacing — Description
  • ImagickDraw::getTextKerning — Description
  • ImagickDraw::getTextUnderColor — Returns the text under color
  • ImagickDraw::getVectorGraphics — Returns a string containing vector graphics
  • ImagickDraw::line — Draws a line
  • ImagickDraw::matte — Paints on the image's opacity channel
  • ImagickDraw::pathClose — Adds a path element to the current path
  • ImagickDraw::pathCurveToAbsolute — Draws a cubic Bezier curve
  • ImagickDraw::pathCurveToQuadraticBezierAbsolute — Draws a quadratic Bezier curve
  • ImagickDraw::pathCurveToQuadraticBezierRelative — Draws a quadratic Bezier curve
  • ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute — Draws a quadratic Bezier curve
  • ImagickDraw::pathCurveToQuadraticBezierSmoothRelative — Draws a quadratic Bezier curve
  • ImagickDraw::pathCurveToRelative — Draws a cubic Bezier curve
  • ImagickDraw::pathCurveToSmoothAbsolute — Draws a cubic Bezier curve
  • ImagickDraw::pathCurveToSmoothRelative — Draws a cubic Bezier curve
  • ImagickDraw::pathEllipticArcAbsolute — Draws an elliptical arc
  • ImagickDraw::pathEllipticArcRelative — Draws an elliptical arc
  • ImagickDraw::pathFinish — Terminates the current path
  • ImagickDraw::pathLineToAbsolute — Draws a line path
  • ImagickDraw::pathLineToHorizontalAbsolute — Draws a horizontal line path
  • ImagickDraw::pathLineToHorizontalRelative — Draws a horizontal line
  • ImagickDraw::pathLineToRelative — Draws a line path
  • ImagickDraw::pathLineToVerticalAbsolute — Draws a vertical line
  • ImagickDraw::pathLineToVerticalRelative — Draws a vertical line path
  • ImagickDraw::pathMoveToAbsolute — Starts a new sub-path
  • ImagickDraw::pathMoveToRelative — Starts a new sub-path
  • ImagickDraw::pathStart — Declares the start of a path drawing list
  • ImagickDraw::point — Draws a point
  • ImagickDraw::polygon — Draws a polygon
  • ImagickDraw::polyline — Draws a polyline
  • ImagickDraw::pop — Destroys the current ImagickDraw in the stack, and returns to the previously pushed ImagickDraw
  • ImagickDraw::popClipPath — Terminates a clip path definition
  • ImagickDraw::popDefs — Terminates a definition list
  • ImagickDraw::popPattern — Terminates a pattern definition
  • ImagickDraw::push — Clones the current ImagickDraw and pushes it to the stack
  • ImagickDraw::pushClipPath — Starts a clip path definition
  • ImagickDraw::pushDefs — Indicates that following commands create named elements for early processing
  • ImagickDraw::pushPattern — Indicates that subsequent commands up to a ImagickDraw::opPattern() command comprise the definition of a named pattern
  • ImagickDraw::rectangle — Draws a rectangle
  • ImagickDraw::render — Renders all preceding drawing commands onto the image
  • ImagickDraw::resetVectorGraphics — Description
  • ImagickDraw::rotate — Applies the specified rotation to the current coordinate space
  • ImagickDraw::roundRectangle — Draws a rounded rectangle
  • ImagickDraw::scale — Adjusts the scaling factor
  • ImagickDraw::setClipPath — Associates a named clipping path with the image
  • ImagickDraw::setClipRule — Set the polygon fill rule to be used by the clipping path
  • ImagickDraw::setClipUnits — Sets the interpretation of clip path units
  • ImagickDraw::setFillAlpha — Sets the opacity to use when drawing using the fill color or fill texture
  • ImagickDraw::setFillColor — Sets the fill color to be used for drawing filled objects
  • ImagickDraw::setFillOpacity — Sets the opacity to use when drawing using the fill color or fill texture
  • ImagickDraw::setFillPatternURL — Sets the URL to use as a fill pattern for filling objects
  • ImagickDraw::setFillRule — Sets the fill rule to use while drawing polygons
  • ImagickDraw::setFont — Sets the fully-specified font to use when annotating with text
  • ImagickDraw::setFontFamily — Sets the font family to use when annotating with text
  • ImagickDraw::setFontSize — Sets the font pointsize to use when annotating with text
  • ImagickDraw::setFontStretch — Sets the font stretch to use when annotating with text
  • ImagickDraw::setFontStyle — Sets the font style to use when annotating with text
  • ImagickDraw::setFontWeight — Sets the font weight
  • ImagickDraw::setGravity — Sets the text placement gravity
  • ImagickDraw::setResolution — Description
  • ImagickDraw::setStrokeAlpha — Specifies the opacity of stroked object outlines
  • ImagickDraw::setStrokeAntialias — Controls whether stroked outlines are antialiased
  • ImagickDraw::setStrokeColor — Sets the color used for stroking object outlines
  • ImagickDraw::setStrokeDashArray — Specifies the pattern of dashes and gaps used to stroke paths
  • ImagickDraw::setStrokeDashOffset — Specifies the offset into the dash pattern to start the dash
  • ImagickDraw::setStrokeLineCap — Specifies the shape to be used at the end of open subpaths when they are stroked
  • ImagickDraw::setStrokeLineJoin — Specifies the shape to be used at the corners of paths when they are stroked
  • ImagickDraw::setStrokeMiterLimit — Specifies the miter limit
  • ImagickDraw::setStrokeOpacity — Specifies the opacity of stroked object outlines
  • ImagickDraw::setStrokePatternURL — Sets the pattern used for stroking object outlines
  • ImagickDraw::setStrokeWidth — Sets the width of the stroke used to draw object outlines
  • ImagickDraw::setTextAlignment — Specifies a text alignment
  • ImagickDraw::setTextAntialias — Controls whether text is antialiased
  • ImagickDraw::setTextDecoration — Specifies a decoration
  • ImagickDraw::setTextEncoding — Specifies the text code set
  • ImagickDraw::setTextInterlineSpacing — Description
  • ImagickDraw::setTextInterwordSpacing — Description
  • ImagickDraw::setTextKerning — Description
  • ImagickDraw::setTextUnderColor — Specifies the color of a background rectangle
  • ImagickDraw::setVectorGraphics — Sets the vector graphics
  • ImagickDraw::setViewbox — Sets the overall canvas size
  • ImagickDraw::skewX — Skews the current coordinate system in the horizontal direction
  • ImagickDraw::skewY — Skews the current coordinate system in the vertical direction
  • ImagickDraw::translate — Applies a translation to the current coordinate system
Imagick::writeImagesFile
ImagickDraw::affine
ImageMagick


Adjusts the current affine transformation matrix

ImagickDraw
ImagickDraw::annotation
ImagickDraw
PHP Manual

ImagickDraw::affine

(PECL imagick 2.0.0)

ImagickDraw::affine — Adjusts the current affine transformation matrix

Beschreibung

bool ImagickDraw::affine ( array $affine )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Adjusts the current affine transformation matrix with the specified affine transformation matrix.

Parameter-Liste

affine

Affine matrix parameters

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::affine()

<?php
function affine($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeWidth(1);
    $draw->setStrokeOpacity(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(2);

    $PI = 3.141592653589794;
    $angle = 60 * $PI / 360;

    //Scale the drawing co-ordinates.
    $affineScale = array("sx" => 1.75, "sy" => 1.75, "rx" => 0, "ry" => 0, "tx" => 0, "ty" => 0);

    //Shear the drawing co-ordinates.
    $affineShear = array("sx" => 1, "sy" => 1, "rx" => sin($angle), "ry" => -sin($angle), "tx" => 0, "ty" => 0);

    //Rotate the drawing co-ordinates. The shear affine matrix
    //produces incorrectly scaled drawings.
    $affineRotate = array("sx" => cos($angle), "sy" => cos($angle), "rx" => sin($angle), "ry" => -sin($angle), "tx" => 0, "ty" => 0,);

    //Translate (offset) the drawing
    $affineTranslate = array("sx" => 1, "sy" => 1, "rx" => 0, "ry" => 0, "tx" => 30, "ty" => 30);

    //The identiy affine matrix
    $affineIdentity = array("sx" => 1, "sy" => 1, "rx" => 0, "ry" => 0, "tx" => 0, "ty" => 0);

    $examples = [$affineScale, $affineShear, $affineRotate, $affineTranslate, $affineIdentity,];

    $count = 0;

    foreach ($examples as $example) {
        $draw->push();
        $draw->translate(($count % 2) * 250, intval($count / 2) * 250);
        $draw->translate(100, 100);
        $draw->affine($example);
        $draw->rectangle(-50, -50, 50, 50);
        $draw->pop();
        $count++;
    }

    //Create an image object which the draw commands can be rendered into
    $image = new \Imagick();
    $image->newImage(500, 750, $backgroundColor);
    $image->setImageFormat("png");

    //Render the draw commands in the ImagickDraw object
    //into the image.
    $image->drawImage($draw);

    //Send the image to the browser
    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>

ImagickDraw
ImagickDraw::annotation
ImagickDraw


Draws text on the image

ImagickDraw::affine
ImagickDraw::arc
ImagickDraw
PHP Manual

ImagickDraw::annotation

(PECL imagick 2.0.0)

ImagickDraw::annotation — Draws text on the image

Beschreibung

bool ImagickDraw::annotation ( float $x , float $y , string $text )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Draws text on the image.

Parameter-Liste

x

The x coordinate where text is drawn

y

The y coordinate where text is drawn

text

The text to draw on the image

Rückgabewerte

Es wird kein Wert zurückgegeben.

ImagickDraw::affine
ImagickDraw::arc
ImagickDraw


Draws an arc

ImagickDraw::annotation
ImagickDraw::bezier
ImagickDraw
PHP Manual

ImagickDraw::arc

(PECL imagick 2.0.0)

ImagickDraw::arc — Draws an arc

Beschreibung

bool ImagickDraw::arc ( float $sx , float $sy , float $ex , float $ey , float $sd , float $ed )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Draws an arc falling within a specified bounding rectangle on the image.

Parameter-Liste

sx

Starting x ordinate of bounding rectangle

sy

starting y ordinate of bounding rectangle

ex

ending x ordinate of bounding rectangle

ey

ending y ordinate of bounding rectangle

sd

starting degrees of rotation

ed

ending degrees of rotation

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::arc()

<?php
function arc($strokeColor, $fillColor, $backgroundColor, $startX, $startY, $endX, $endY, $startAngle, $endAngle) {

    //Create a ImagickDraw object to draw into.
    $draw = new \ImagickDraw();
    $draw->setStrokeWidth(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(2);

    $draw->arc($startX, $startY, $endX, $endY, $startAngle, $endAngle);

    //Create an image object which the draw commands can be rendered into
    $image = new \Imagick();
    $image->newImage(IMAGE_WIDTH, IMAGE_HEIGHT, $backgroundColor);
    $image->setImageFormat("png");

    //Render the draw commands in the ImagickDraw object
    //into the image.
    $image->drawImage($draw);

    //Send the image to the browser
    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>

ImagickDraw::annotation
ImagickDraw::bezier
ImagickDraw


Draws a bezier curve

ImagickDraw::arc
ImagickDraw::circle
ImagickDraw
PHP Manual

ImagickDraw::bezier

(PECL imagick 2.0.0)

ImagickDraw::bezier — Draws a bezier curve

Beschreibung

bool ImagickDraw::bezier ( array $coordinates )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Draws a bezier curve through a set of points on the image.

Parameter-Liste

coordinates

Multidimensional array like array( array( 'x' => 1, 'y' => 2 ), array( 'x' => 3, 'y' => 4 ) )

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::bezier()

<?php
function bezier($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $strokeColor = new \ImagickPixel($strokeColor);
    $fillColor = new \ImagickPixel($fillColor);

    $draw->setStrokeOpacity(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(2);

    $smoothPointsSet = [
        [
            ['x' => 10.0 * 5, 'y' => 10.0 * 5],
            ['x' => 30.0 * 5, 'y' => 90.0 * 5],
            ['x' => 25.0 * 5, 'y' => 10.0 * 5],
            ['x' => 50.0 * 5, 'y' => 50.0 * 5],
        ],
        [
            ['x' => 50.0 * 5, 'y' => 50.0 * 5],
            ['x' => 75.0 * 5, 'y' => 90.0 * 5],
            ['x' => 70.0 * 5, 'y' => 10.0 * 5],
            ['x' => 90.0 * 5, 'y' => 40.0 * 5],
        ],
    ];

    foreach ($smoothPointsSet as $points) {
        $draw->bezier($points);
    }

    $disjointPoints = [
        [
            ['x' => 10 * 5, 'y' => 10 * 5],
            ['x' => 30 * 5, 'y' => 90 * 5],
            ['x' => 25 * 5, 'y' => 10 * 5],
            ['x' => 50 * 5, 'y' => 50 * 5],
        ],
        [
            ['x' => 50 * 5, 'y' => 50 * 5],
            ['x' => 80 * 5, 'y' => 50 * 5],
            ['x' => 70 * 5, 'y' => 10 * 5],
            ['x' => 90 * 5, 'y' => 40 * 5],
         ]
    ];
    $draw->translate(0, 200);

    foreach ($disjointPoints as $points) {
        $draw->bezier($points);
    }

    //Create an image object which the draw commands can be rendered into
    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    //Render the draw commands in the ImagickDraw object
    //into the image.
    $imagick->drawImage($draw);

    //Send the image to the browser
    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

ImagickDraw::arc
ImagickDraw::circle
ImagickDraw


Draws a circle

ImagickDraw::bezier
ImagickDraw::clear
ImagickDraw
PHP Manual

ImagickDraw::circle

(PECL imagick 2.0.0)

ImagickDraw::circle — Draws a circle

Beschreibung

bool ImagickDraw::circle ( float $ox , float $oy , float $px , float $py )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Draws a circle on the image.

Parameter-Liste

ox

origin x coordinate

oy

origin y coordinate

px

perimeter x coordinate

py

perimeter y coordinate

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::circle()

<?php
function circle($strokeColor, $fillColor, $backgroundColor, $originX, $originY, $endX, $endY) {

    //Create a ImagickDraw object to draw into.
    $draw = new \ImagickDraw();

    $strokeColor = new \ImagickPixel($strokeColor);
    $fillColor = new \ImagickPixel($fillColor);

    $draw->setStrokeOpacity(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);

    $draw->circle($originX, $originY, $endX, $endY);

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

ImagickDraw::bezier
ImagickDraw::clear
ImagickDraw


Clears the ImagickDraw

ImagickDraw::circle
ImagickDraw::clone
ImagickDraw
PHP Manual

ImagickDraw::clear

(PECL imagick 2.0.0)

ImagickDraw::clear — Clears the ImagickDraw

Beschreibung

bool ImagickDraw::clear ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Clears the ImagickDraw object of any accumulated commands, and resets the settings it contains to their defaults.

Rückgabewerte

Returns an ImagickDraw object.

ImagickDraw::circle
ImagickDraw::clone
ImagickDraw


Makes an exact copy of the specified ImagickDraw object

ImagickDraw::clear
ImagickDraw::color
ImagickDraw
PHP Manual

ImagickDraw::clone

(PECL imagick 2.0.0)

ImagickDraw::clone — Makes an exact copy of the specified ImagickDraw object

Beschreibung

ImagickDraw ImagickDraw::clone ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Makes an exact copy of the specified ImagickDraw object.

Rückgabewerte

What the function returns, first on success, then on failure. See also the &return.success; entity

ImagickDraw::clear
ImagickDraw::color
ImagickDraw


Draws color on image

ImagickDraw::clone
ImagickDraw::comment
ImagickDraw
PHP Manual

ImagickDraw::color

(PECL imagick 2.0.0)

ImagickDraw::color — Draws color on image

Beschreibung

bool ImagickDraw::color ( float $x , float $y , int $paintMethod )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Draws color on image using the current fill color, starting at specified position, and using specified paint method.

Parameter-Liste

x

x coordinate of the paint

y

y coordinate of the paint

paintMethod

one of the PAINT_ constants

Rückgabewerte

Es wird kein Wert zurückgegeben.

ImagickDraw::clone
ImagickDraw::comment
ImagickDraw


Adds a comment

ImagickDraw::color
ImagickDraw::composite
ImagickDraw
PHP Manual

ImagickDraw::comment

(PECL imagick 2.0.0)

ImagickDraw::comment — Adds a comment

Beschreibung

bool ImagickDraw::comment ( string $comment )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Adds a comment to a vector output stream.

Parameter-Liste

comment

The comment string to add to vector output stream

Rückgabewerte

Es wird kein Wert zurückgegeben.

ImagickDraw::color
ImagickDraw::composite
ImagickDraw


Composites an image onto the current image

ImagickDraw::comment
ImagickDraw::__construct
ImagickDraw
PHP Manual

ImagickDraw::composite

(PECL imagick 2.0.0)

ImagickDraw::composite — Composites an image onto the current image

Beschreibung

bool ImagickDraw::composite ( int $compose , float $x , float $y , float $width , float $height , Imagick $compositeWand )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Composites an image onto the current image, using the specified composition operator, specified position, and at the specified size.

Parameter-Liste

compose

composition operator. One of COMPOSITE_ constants

x

x coordinate of the top left corner

y

y coordinate of the top left corner

width

width of the composition image

height

height of the composition image

compositeWand

the Imagick object where composition image is taken from

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 ImagickDraw::composite()

<?php
function composite($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setFillOpacity(1);
    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);
    $draw->setStrokeOpacity(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setStrokeWidth(2);
    $draw->setFont("../fonts/CANDY.TTF");
    $draw->setFontSize(140);
    $draw->rectangle(0, 0, 1000, 300);
    $draw->setFillColor('white');
    $draw->setfillopacity(1);
    $draw->annotation(50, 180, "Lorem Ipsum!");

    //Create an image object which the draw commands can be rendered into
    $imagick = new \Imagick();
    $imagick->newImage(1000, 302, $backgroundColor);
    $imagick->setImageFormat("png");

    //Render the draw commands in the ImagickDraw object
    //into the image.
    $imagick->drawImage($draw);

    //Send the image to the browser
    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

ImagickDraw::comment
ImagickDraw::__construct
ImagickDraw


The ImagickDraw constructor

ImagickDraw::composite
ImagickDraw::destroy
ImagickDraw
PHP Manual

ImagickDraw::__construct

(PECL imagick 2.0.0)

ImagickDraw::__construct — The ImagickDraw constructor

Beschreibung

ImagickDraw::__construct ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

The ImagickDraw constructor

Rückgabewerte

Es wird kein Wert zurückgegeben.

ImagickDraw::composite
ImagickDraw::destroy
ImagickDraw


Frees all associated resources

ImagickDraw::__construct
ImagickDraw::ellipse
ImagickDraw
PHP Manual

ImagickDraw::destroy

(PECL imagick 2.0.0)

ImagickDraw::destroy — Frees all associated resources

Beschreibung

bool ImagickDraw::destroy ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Frees all resources associated with the ImagickDraw object.

Rückgabewerte

Es wird kein Wert zurückgegeben.

ImagickDraw::__construct
ImagickDraw::ellipse
ImagickDraw


Draws an ellipse on the image

ImagickDraw::destroy
ImagickDraw::getClipPath
ImagickDraw
PHP Manual

ImagickDraw::ellipse

(PECL imagick 2.0.0)

ImagickDraw::ellipse — Draws an ellipse on the image

Beschreibung

bool ImagickDraw::ellipse ( float $ox , float $oy , float $rx , float $ry , float $start , float $end )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Draws an ellipse on the image.

Parameter-Liste

ox

oy

rx

ry

start

end

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::ellipse()

<?php
function ellipse($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);

    $draw->ellipse(125, 70, 100, 50, 0, 360);
    $draw->ellipse(350, 70, 100, 50, 0, 315);

    $draw->push();
    $draw->translate(125, 250);
    $draw->rotate(30);
    $draw->ellipse(0, 0, 100, 50, 0, 360);
    $draw->pop();

    $draw->push();
    $draw->translate(350, 250);
    $draw->rotate(30);
    $draw->ellipse(0, 0, 100, 50, 0, 315);
    $draw->pop();

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

ImagickDraw::destroy
ImagickDraw::getClipPath
ImagickDraw


Obtains the current clipping path ID

ImagickDraw::ellipse
ImagickDraw::getClipRule
ImagickDraw
PHP Manual

ImagickDraw::getClipPath

(PECL imagick 2.0.0)

ImagickDraw::getClipPath — Obtains the current clipping path ID

Beschreibung

string ImagickDraw::getClipPath ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Obtains the current clipping path ID.

Rückgabewerte

Returns a string containing the clip path ID or false if no clip path exists.

ImagickDraw::ellipse
ImagickDraw::getClipRule
ImagickDraw


Returns the current polygon fill rule

ImagickDraw::getClipPath
ImagickDraw::getClipUnits
ImagickDraw
PHP Manual

ImagickDraw::getClipRule

(PECL imagick 2.0.0)

ImagickDraw::getClipRule — Returns the current polygon fill rule

Beschreibung

int ImagickDraw::getClipRule ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns the current polygon fill rule to be used by the clipping path.

Rückgabewerte

Returns one of the FILLRULE_ constants.

ImagickDraw::getClipPath
ImagickDraw::getClipUnits
ImagickDraw


Returns the interpretation of clip path units

ImagickDraw::getClipRule
ImagickDraw::getFillColor
ImagickDraw
PHP Manual

ImagickDraw::getClipUnits

(PECL imagick 2.0.0)

ImagickDraw::getClipUnits — Returns the interpretation of clip path units

Beschreibung

int ImagickDraw::getClipUnits ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns the interpretation of clip path units.

Rückgabewerte

Returns an int on success.

ImagickDraw::getClipRule
ImagickDraw::getFillColor
ImagickDraw


Returns the fill color

ImagickDraw::getClipUnits
ImagickDraw::getFillOpacity
ImagickDraw
PHP Manual

ImagickDraw::getFillColor

(PECL imagick 2.0.0)

ImagickDraw::getFillColor — Returns the fill color

Beschreibung

ImagickPixel ImagickDraw::getFillColor ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns the fill color used for drawing filled objects.

Rückgabewerte

Returns an ImagickPixel object.

ImagickDraw::getClipUnits
ImagickDraw::getFillOpacity
ImagickDraw


Returns the opacity used when drawing

ImagickDraw::getFillColor
ImagickDraw::getFillRule
ImagickDraw
PHP Manual

ImagickDraw::getFillOpacity

(PECL imagick 2.0.0)

ImagickDraw::getFillOpacity — Returns the opacity used when drawing

Beschreibung

float ImagickDraw::getFillOpacity ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns the opacity used when drawing using the fill color or fill texture. Fully opaque is 1.0.

Rückgabewerte

The opacity.

ImagickDraw::getFillColor
ImagickDraw::getFillRule
ImagickDraw


Returns the fill rule

ImagickDraw::getFillOpacity
ImagickDraw::getFont
ImagickDraw
PHP Manual

ImagickDraw::getFillRule

(PECL imagick 2.0.0)

ImagickDraw::getFillRule — Returns the fill rule

Beschreibung

int ImagickDraw::getFillRule ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns the fill rule used while drawing polygons.

Rückgabewerte

Returns a FILLRULE_ constant

ImagickDraw::getFillOpacity
ImagickDraw::getFont
ImagickDraw


Returns the font

ImagickDraw::getFillRule
ImagickDraw::getFontFamily
ImagickDraw
PHP Manual

ImagickDraw::getFont

(PECL imagick 2.0.0)

ImagickDraw::getFont — Returns the font

Beschreibung

string ImagickDraw::getFont ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns a string specifying the font used when annotating with text.

Rückgabewerte

Returns a string on success and false if no font is set.

ImagickDraw::getFillRule
ImagickDraw::getFontFamily
ImagickDraw


Returns the font family

ImagickDraw::getFont
ImagickDraw::getFontSize
ImagickDraw
PHP Manual

ImagickDraw::getFontFamily

(PECL imagick 2.0.0)

ImagickDraw::getFontFamily — Returns the font family

Beschreibung

string ImagickDraw::getFontFamily ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns the font family to use when annotating with text.

Rückgabewerte

Returns the font family currently selected or false if font family is not set.

ImagickDraw::getFont
ImagickDraw::getFontSize
ImagickDraw


Returns the font pointsize

ImagickDraw::getFontFamily
ImagickDraw::getFontStretch
ImagickDraw
PHP Manual

ImagickDraw::getFontSize

(PECL imagick 2.0.0)

ImagickDraw::getFontSize — Returns the font pointsize

Beschreibung

float ImagickDraw::getFontSize ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns the font pointsize used when annotating with text.

Rückgabewerte

Returns the font size associated with the current ImagickDraw object.

ImagickDraw::getFontFamily
ImagickDraw::getFontStretch
ImagickDraw


Description

ImagickDraw::getFontSize
ImagickDraw::getFontStyle
ImagickDraw
PHP Manual

ImagickDraw::getFontStretch

(No version information available, might only be in Git)

ImagickDraw::getFontStretch — Description

Beschreibung

public int ImagickDraw::getFontStretch ( void )

Gets the font stretch to use when annotating with text. Returns a StretchType.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

ImagickDraw::getFontSize
ImagickDraw::getFontStyle
ImagickDraw


Returns the font style

ImagickDraw::getFontStretch
ImagickDraw::getFontWeight
ImagickDraw
PHP Manual

ImagickDraw::getFontStyle

(PECL imagick 2.0.0)

ImagickDraw::getFontStyle — Returns the font style

Beschreibung

int ImagickDraw::getFontStyle ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns the font style used when annotating with text.

Rückgabewerte

Returns the font style constant (STYLE_) associated with the ImagickDraw object or 0 if no style is set.

ImagickDraw::getFontStretch
ImagickDraw::getFontWeight
ImagickDraw


Returns the font weight

ImagickDraw::getFontStyle
ImagickDraw::getGravity
ImagickDraw
PHP Manual

ImagickDraw::getFontWeight

(PECL imagick 2.0.0)

ImagickDraw::getFontWeight — Returns the font weight

Beschreibung

int ImagickDraw::getFontWeight ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns the font weight used when annotating with text.

Rückgabewerte

Returns an int on success and 0 if no weight is set.

ImagickDraw::getFontStyle
ImagickDraw::getGravity
ImagickDraw


Returns the text placement gravity

ImagickDraw::getFontWeight
ImagickDraw::getStrokeAntialias
ImagickDraw
PHP Manual

ImagickDraw::getGravity

(PECL imagick 2.0.0)

ImagickDraw::getGravity — Returns the text placement gravity

Beschreibung

int ImagickDraw::getGravity ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns the text placement gravity used when annotating with text.

Rückgabewerte

Returns a GRAVITY_ constant on success and 0 if no gravity is set.

ImagickDraw::getFontWeight
ImagickDraw::getStrokeAntialias
ImagickDraw


Returns the current stroke antialias setting

ImagickDraw::getGravity
ImagickDraw::getStrokeColor
ImagickDraw
PHP Manual

ImagickDraw::getStrokeAntialias

(PECL imagick 2.0.0)

ImagickDraw::getStrokeAntialias — Returns the current stroke antialias setting

Beschreibung

bool ImagickDraw::getStrokeAntialias ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns the current stroke antialias setting. Stroked outlines are antialiased by default. When antialiasing is disabled stroked pixels are thresholded to determine if the stroke color or underlying canvas color should be used.

Rückgabewerte

Returns TRUE if antialiasing is on and false if it is off.

ImagickDraw::getGravity
ImagickDraw::getStrokeColor
ImagickDraw


Returns the color used for stroking object outlines

ImagickDraw::getStrokeAntialias
ImagickDraw::getStrokeDashArray
ImagickDraw
PHP Manual

ImagickDraw::getStrokeColor

(PECL imagick 2.0.0)

ImagickDraw::getStrokeColor — Returns the color used for stroking object outlines

Beschreibung

ImagickPixel ImagickDraw::getStrokeColor ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns the color used for stroking object outlines.

Parameter-Liste

stroke_color

Rückgabewerte

Returns an ImagickPixel object which describes the color.

ImagickDraw::getStrokeAntialias
ImagickDraw::getStrokeDashArray
ImagickDraw


Returns an array representing the pattern of dashes and gaps used to stroke paths

ImagickDraw::getStrokeColor
ImagickDraw::getStrokeDashOffset
ImagickDraw
PHP Manual

ImagickDraw::getStrokeDashArray

(PECL imagick 2.0.0)

ImagickDraw::getStrokeDashArray — Returns an array representing the pattern of dashes and gaps used to stroke paths

Beschreibung

array ImagickDraw::getStrokeDashArray ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns an array representing the pattern of dashes and gaps used to stroke paths.

Rückgabewerte

Returns an array on success and empty array if not set.

ImagickDraw::getStrokeColor
ImagickDraw::getStrokeDashOffset
ImagickDraw


Returns the offset into the dash pattern to start the dash

ImagickDraw::getStrokeDashArray
ImagickDraw::getStrokeLineCap
ImagickDraw
PHP Manual

ImagickDraw::getStrokeDashOffset

(PECL imagick 2.0.0)

ImagickDraw::getStrokeDashOffset — Returns the offset into the dash pattern to start the dash

Beschreibung

float ImagickDraw::getStrokeDashOffset ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns the offset into the dash pattern to start the dash.

Rückgabewerte

Returns a float representing the offset and 0 if it's not set.

ImagickDraw::getStrokeDashArray
ImagickDraw::getStrokeLineCap
ImagickDraw


Returns the shape to be used at the end of open subpaths when they are stroked

ImagickDraw::getStrokeDashOffset
ImagickDraw::getStrokeLineJoin
ImagickDraw
PHP Manual

ImagickDraw::getStrokeLineCap

(PECL imagick 2.0.0)

ImagickDraw::getStrokeLineCap — Returns the shape to be used at the end of open subpaths when they are stroked

Beschreibung

int ImagickDraw::getStrokeLineCap ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns the shape to be used at the end of open subpaths when they are stroked.

Rückgabewerte

Returns one of the LINECAP_ constants or 0 if stroke linecap is not set.

ImagickDraw::getStrokeDashOffset
ImagickDraw::getStrokeLineJoin
ImagickDraw


Returns the shape to be used at the corners of paths when they are stroked

ImagickDraw::getStrokeLineCap
ImagickDraw::getStrokeMiterLimit
ImagickDraw
PHP Manual

ImagickDraw::getStrokeLineJoin

(PECL imagick 2.0.0)

ImagickDraw::getStrokeLineJoin — Returns the shape to be used at the corners of paths when they are stroked

Beschreibung

int ImagickDraw::getStrokeLineJoin ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns the shape to be used at the corners of paths (or other vector shapes) when they are stroked.

Rückgabewerte

Returns one of the LINEJOIN_ constants or 0 if stroke line join is not set.

ImagickDraw::getStrokeLineCap
ImagickDraw::getStrokeMiterLimit
ImagickDraw


Returns the stroke miter limit

ImagickDraw::getStrokeLineJoin
ImagickDraw::getStrokeOpacity
ImagickDraw
PHP Manual

ImagickDraw::getStrokeMiterLimit

(PECL imagick 2.0.0)

ImagickDraw::getStrokeMiterLimit — Returns the stroke miter limit

Beschreibung

int ImagickDraw::getStrokeMiterLimit ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns the miter limit. When two line segments meet at a sharp angle and miter joins have been specified for 'lineJoin', it is possible for the miter to extend far beyond the thickness of the line stroking the path. The 'miterLimit' imposes a limit on the ratio of the miter length to the 'lineWidth'.

Rückgabewerte

Returns an int describing the miter limit and 0 if no miter limit is set.

ImagickDraw::getStrokeLineJoin
ImagickDraw::getStrokeOpacity
ImagickDraw


Returns the opacity of stroked object outlines

ImagickDraw::getStrokeMiterLimit
ImagickDraw::getStrokeWidth
ImagickDraw
PHP Manual

ImagickDraw::getStrokeOpacity

(PECL imagick 2.0.0)

ImagickDraw::getStrokeOpacity — Returns the opacity of stroked object outlines

Beschreibung

float ImagickDraw::getStrokeOpacity ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns the opacity of stroked object outlines.

Rückgabewerte

Returns a double describing the opacity.

ImagickDraw::getStrokeMiterLimit
ImagickDraw::getStrokeWidth
ImagickDraw


Returns the width of the stroke used to draw object outlines

ImagickDraw::getStrokeOpacity
ImagickDraw::getTextAlignment
ImagickDraw
PHP Manual

ImagickDraw::getStrokeWidth

(PECL imagick 2.0.0)

ImagickDraw::getStrokeWidth — Returns the width of the stroke used to draw object outlines

Beschreibung

float ImagickDraw::getStrokeWidth ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns the width of the stroke used to draw object outlines.

Rückgabewerte

Returns a double describing the stroke width.

ImagickDraw::getStrokeOpacity
ImagickDraw::getTextAlignment
ImagickDraw


Returns the text alignment

ImagickDraw::getStrokeWidth
ImagickDraw::getTextAntialias
ImagickDraw
PHP Manual

ImagickDraw::getTextAlignment

(PECL imagick 2.0.0)

ImagickDraw::getTextAlignment — Returns the text alignment

Beschreibung

int ImagickDraw::getTextAlignment ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns the alignment applied when annotating with text.

Rückgabewerte

Returns one of the ALIGN_ constants and 0 if no align is set.

ImagickDraw::getStrokeWidth
ImagickDraw::getTextAntialias
ImagickDraw


Returns the current text antialias setting

ImagickDraw::getTextAlignment
ImagickDraw::getTextDecoration
ImagickDraw
PHP Manual

ImagickDraw::getTextAntialias

(PECL imagick 2.0.0)

ImagickDraw::getTextAntialias — Returns the current text antialias setting

Beschreibung

bool ImagickDraw::getTextAntialias ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns the current text antialias setting, which determines whether text is antialiased. Text is antialiased by default.

Rückgabewerte

Returns TRUE if text is antialiased and false if not.

ImagickDraw::getTextAlignment
ImagickDraw::getTextDecoration
ImagickDraw


Returns the text decoration

ImagickDraw::getTextAntialias
ImagickDraw::getTextEncoding
ImagickDraw
PHP Manual

ImagickDraw::getTextDecoration

(PECL imagick 2.0.0)

ImagickDraw::getTextDecoration — Returns the text decoration

Beschreibung

int ImagickDraw::getTextDecoration ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns the decoration applied when annotating with text.

Rückgabewerte

Returns one of the DECORATION_ constants and 0 if no decoration is set.

ImagickDraw::getTextAntialias
ImagickDraw::getTextEncoding
ImagickDraw


Returns the code set used for text annotations

ImagickDraw::getTextDecoration
ImagickDraw::getTextInterlineSpacing
ImagickDraw
PHP Manual

ImagickDraw::getTextEncoding

(PECL imagick 2.0.0)

ImagickDraw::getTextEncoding — Returns the code set used for text annotations

Beschreibung

string ImagickDraw::getTextEncoding ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns a string which specifies the code set used for text annotations.

Rückgabewerte

Returns a string specifying the code set or false if text encoding is not set.

ImagickDraw::getTextDecoration
ImagickDraw::getTextInterlineSpacing
ImagickDraw


Description

ImagickDraw::getTextEncoding
ImagickDraw::getTextInterwordSpacing
ImagickDraw
PHP Manual

ImagickDraw::getTextInterlineSpacing

(No version information available, might only be in Git)

ImagickDraw::getTextInterlineSpacing — Description

Beschreibung

public float ImagickDraw::getTextInterlineSpacing ( void )

Gets the text interword spacing.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

ImagickDraw::getTextEncoding
ImagickDraw::getTextInterwordSpacing
ImagickDraw


Description

ImagickDraw::getTextInterlineSpacing
ImagickDraw::getTextKerning
ImagickDraw
PHP Manual

ImagickDraw::getTextInterwordSpacing

(No version information available, might only be in Git)

ImagickDraw::getTextInterwordSpacing — Description

Beschreibung

public float ImagickDraw::getTextInterwordSpacing ( void )

Gets the text interword spacing.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

ImagickDraw::getTextInterlineSpacing
ImagickDraw::getTextKerning
ImagickDraw


Description

ImagickDraw::getTextInterwordSpacing
ImagickDraw::getTextUnderColor
ImagickDraw
PHP Manual

ImagickDraw::getTextKerning

(No version information available, might only be in Git)

ImagickDraw::getTextKerning — Description

Beschreibung

public float ImagickDraw::getTextKerning ( void )

Gets the text kerning.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

ImagickDraw::getTextInterwordSpacing
ImagickDraw::getTextUnderColor
ImagickDraw


Returns the text under color

ImagickDraw::getTextKerning
ImagickDraw::getVectorGraphics
ImagickDraw
PHP Manual

ImagickDraw::getTextUnderColor

(PECL imagick 2.0.0)

ImagickDraw::getTextUnderColor — Returns the text under color

Beschreibung

ImagickPixel ImagickDraw::getTextUnderColor ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns the color of a background rectangle to place under text annotations.

Rückgabewerte

Returns an ImagickPixel object describing the color.

ImagickDraw::getTextKerning
ImagickDraw::getVectorGraphics
ImagickDraw


Returns a string containing vector graphics

ImagickDraw::getTextUnderColor
ImagickDraw::line
ImagickDraw
PHP Manual

ImagickDraw::getVectorGraphics

(PECL imagick 2.0.0)

ImagickDraw::getVectorGraphics — Returns a string containing vector graphics

Beschreibung

string ImagickDraw::getVectorGraphics ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns a string which specifies the vector graphics generated by any graphics calls made since the ImagickDraw object was instantiated.

Rückgabewerte

Returns a string containing the vector graphics.

ImagickDraw::getTextUnderColor
ImagickDraw::line
ImagickDraw


Draws a line

ImagickDraw::getVectorGraphics
ImagickDraw::matte
ImagickDraw
PHP Manual

ImagickDraw::line

(PECL imagick 2.0.0)

ImagickDraw::line — Draws a line

Beschreibung

bool ImagickDraw::line ( float $sx , float $sy , float $ex , float $ey )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Draws a line on the image using the current stroke color, stroke opacity, and stroke width.

Parameter-Liste

sx

starting x coordinate

sy

starting y coordinate

ex

ending x coordinate

ey

ending y coordinate

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::line()

<?php
function line($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);

    $draw->line(125, 70, 100, 50);
    $draw->line(350, 170, 100, 150);

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

ImagickDraw::getVectorGraphics
ImagickDraw::matte
ImagickDraw


Paints on the image's opacity channel

ImagickDraw::line
ImagickDraw::pathClose
ImagickDraw
PHP Manual

ImagickDraw::matte

(PECL imagick 2.0.0)

ImagickDraw::matte — Paints on the image's opacity channel

Beschreibung

bool ImagickDraw::matte ( float $x , float $y , int $paintMethod )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Paints on the image's opacity channel in order to set effected pixels to transparent, to influence the opacity of pixels.

Parameter-Liste

x

x coordinate of the matte

y

y coordinate of the matte

paintMethod

PAINT_ constant

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::matte()

<?php
function matte($strokeColor, $fillColor, $backgroundColor, $paintType) {
    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);

    $draw->matte(120, 120, $paintType);
    $draw->rectangle(100, 100, 300, 200);

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

ImagickDraw::line
ImagickDraw::pathClose
ImagickDraw


Adds a path element to the current path

ImagickDraw::matte
ImagickDraw::pathCurveToAbsolute
ImagickDraw
PHP Manual

ImagickDraw::pathClose

(PECL imagick 2.0.0)

ImagickDraw::pathClose — Adds a path element to the current path

Beschreibung

bool ImagickDraw::pathClose ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Adds a path element to the current path which closes the current subpath by drawing a straight line from the current point to the current subpath's most recent starting point (usually, the most recent moveto point).

Rückgabewerte

Es wird kein Wert zurückgegeben.

ImagickDraw::matte
ImagickDraw::pathCurveToAbsolute
ImagickDraw


Draws a cubic Bezier curve

ImagickDraw::pathClose
ImagickDraw::pathCurveToQuadraticBezierAbsolute
ImagickDraw
PHP Manual

ImagickDraw::pathCurveToAbsolute

(PECL imagick 2.0.0)

ImagickDraw::pathCurveToAbsolute — Draws a cubic Bezier curve

Beschreibung

bool ImagickDraw::pathCurveToAbsolute ( float $x1 , float $y1 , float $x2 , float $y2 , float $x , float $y )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Draws a cubic Bezier curve from the current point to (x,y) using (x1,y1) as the control point at the beginning of the curve and (x2,y2) as the control point at the end of the curve using absolute coordinates. At the end of the command, the new current point becomes the final (x,y) coordinate pair used in the polybezier.

Parameter-Liste

x1

x coordinate of the first control point

y1

y coordinate of the first control point

x2

x coordinate of the second control point

y2

y coordinate of the first control point

x

x coordinate of the curve end

y

y coordinate of the curve end

Rückgabewerte

Es wird kein Wert zurückgegeben.

ImagickDraw::pathClose
ImagickDraw::pathCurveToQuadraticBezierAbsolute
ImagickDraw


Draws a quadratic Bezier curve

ImagickDraw::pathCurveToAbsolute
ImagickDraw::pathCurveToQuadraticBezierRelative
ImagickDraw
PHP Manual

ImagickDraw::pathCurveToQuadraticBezierAbsolute

(PECL imagick 2.0.0)

ImagickDraw::pathCurveToQuadraticBezierAbsolute — Draws a quadratic Bezier curve

Beschreibung

bool ImagickDraw::pathCurveToQuadraticBezierAbsolute ( float $x1 , float $y1 , float $x , float $y )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Draws a quadratic Bezier curve from the current point to (x,y) using (x1,y1) as the control point using absolute coordinates. At the end of the command, the new current point becomes the final (x,y) coordinate pair used in the polybezier.

Parameter-Liste

x1

x coordinate of the control point

y1

y coordinate of the control point

x

x coordinate of the end point

y

y coordinate of the end point

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::pathCurveToQuadraticBezierAbsolute()

<?php
function pathCurveToQuadraticBezierAbsolute($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeOpacity(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);

    $draw->pathStart();
    $draw->pathMoveToAbsolute(50,250);

    // This specifies a quadratic bezier curve with the current position as the start
    // point, the control point is the first two params, and the end point is the last two params.
    $draw->pathCurveToQuadraticBezierAbsolute(
        150,50,
        250,250
    );

    // This specifies a quadratic bezier curve with the current position as the start
    // point, the control point is mirrored from the previous curves control point
    // and the end point is defined by the x, y values.
    $draw->pathCurveToQuadraticBezierSmoothAbsolute(
        450,250
    );

    // This specifies a quadratic bezier curve with the current position as the start
    // point, the control point is mirrored from the previous curves control point
    // and the end point is defined relative from the current position by the x, y values.
    $draw->pathCurveToQuadraticBezierSmoothRelative(
        200,-100
    );

    $draw->pathFinish();

    $imagick = new \Imagick();
    $imagick->newImage(700, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();

}

?>

ImagickDraw::pathCurveToAbsolute
ImagickDraw::pathCurveToQuadraticBezierRelative
ImagickDraw


Draws a quadratic Bezier curve

ImagickDraw::pathCurveToQuadraticBezierAbsolute
ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute
ImagickDraw
PHP Manual

ImagickDraw::pathCurveToQuadraticBezierRelative

(PECL imagick 2.0.0)

ImagickDraw::pathCurveToQuadraticBezierRelative — Draws a quadratic Bezier curve

Beschreibung

bool ImagickDraw::pathCurveToQuadraticBezierRelative ( float $x1 , float $y1 , float $x , float $y )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Draws a quadratic Bezier curve from the current point to (x,y) using (x1,y1) as the control point using relative coordinates. At the end of the command, the new current point becomes the final (x,y) coordinate pair used in the polybezier.

Parameter-Liste

x1

starting x coordinate

y1

starting y coordinate

x

ending x coordinate

y

ending y coordinate

Rückgabewerte

Es wird kein Wert zurückgegeben.

ImagickDraw::pathCurveToQuadraticBezierAbsolute
ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute
ImagickDraw


Draws a quadratic Bezier curve

ImagickDraw::pathCurveToQuadraticBezierRelative
ImagickDraw::pathCurveToQuadraticBezierSmoothRelative
ImagickDraw
PHP Manual

ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute

(PECL imagick 2.0.0)

ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute — Draws a quadratic Bezier curve

Beschreibung

bool ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute ( float $x , float $y )

Draws a quadratic Bezier curve (using absolute coordinates) from the current point to (x,y). The control point is assumed to be the reflection of the control point on the previous command relative to the current point. (If there is no previous command or if the previous command was not a DrawPathCurveToQuadraticBezierAbsolute, DrawPathCurveToQuadraticBezierRelative, DrawPathCurveToQuadraticBezierSmoothAbsolut or DrawPathCurveToQuadraticBezierSmoothRelative, assume the control point is coincident with the current point.). At the end of the command, the new current point becomes the final (x,y) coordinate pair used in the polybezier.

This function cannot be used to continue a cubic Bezier curve smoothly. It can only continue from a quadratic curve smoothly.

Parameter-Liste

x

ending x coordinate

y

ending y coordinate

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute()

<?php
$draw = new \ImagickDraw();

$draw->setStrokeOpacity(1);
$draw->setStrokeColor("black");
$draw->setFillColor("blue");

$draw->setStrokeWidth(2);
$draw->setFontSize(72);

$draw->pathStart();
$draw->pathMoveToAbsolute(50,250);

// This specifies a quadratic bezier curve with the current position as the start
// point, the control point is the first two params, and the end point is the last two params.
$draw->pathCurveToQuadraticBezierAbsolute(
    150,50,
    250,250
);

// This specifies a quadratic bezier curve with the current position as the start
// point, the control point is mirrored from the previous curves control point
// and the end point is defined by the x, y values.
$draw->pathCurveToQuadraticBezierSmoothAbsolute(
    450,250
);

// This specifies a quadratic bezier curve with the current position as the start
// point, the control point is mirrored from the previous curves control point
// and the end point is defined relative from the current position by the x, y values.
$draw->pathCurveToQuadraticBezierSmoothRelative(
    200,-100
);

$draw->pathFinish();

$imagick = new \Imagick();
$imagick->newImage(700, 500, $backgroundColor);
$imagick->setImageFormat("png");

$imagick->drawImage($draw);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
?>

ImagickDraw::pathCurveToQuadraticBezierRelative
ImagickDraw::pathCurveToQuadraticBezierSmoothRelative
ImagickDraw


Draws a quadratic Bezier curve

ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute
ImagickDraw::pathCurveToRelative
ImagickDraw
PHP Manual

ImagickDraw::pathCurveToQuadraticBezierSmoothRelative

(PECL imagick 2.0.0)

ImagickDraw::pathCurveToQuadraticBezierSmoothRelative — Draws a quadratic Bezier curve

Beschreibung

bool ImagickDraw::pathCurveToQuadraticBezierSmoothRelative ( float $x , float $y )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Draws a quadratic Bezier curve (using relative coordinates) from the current point to (x, y). The control point is assumed to be the reflection of the control point on the previous command relative to the current point. (If there is no previous command or if the previous command was not a DrawPathCurveToQuadraticBezierAbsolute, DrawPathCurveToQuadraticBezierRelative, DrawPathCurveToQuadraticBezierSmoothAbsolut or DrawPathCurveToQuadraticBezierSmoothRelative, assume the control point is coincident with the current point). At the end of the command, the new current point becomes the final (x, y) coordinate pair used in the polybezier.

This function cannot be used to continue a cubic Bezier curve smoothly. It can only continue from a quadratic curve smoothly.

Parameter-Liste

x

ending x coordinate

y

ending y coordinate

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::pathCurveToQuadraticBezierSmoothRelative()

<?php
$draw = new \ImagickDraw();

$draw->setStrokeOpacity(1);
$draw->setStrokeColor("black");
$draw->setFillColor("blue");

$draw->setStrokeWidth(2);
$draw->setFontSize(72);

$draw->pathStart();
$draw->pathMoveToAbsolute(50,250);

// This specifies a quadratic bezier curve with the current position as the start
// point, the control point is the first two params, and the end point is the last two params.
$draw->pathCurveToQuadraticBezierAbsolute(
    150,50,
    250,250
);

// This specifies a quadratic bezier curve with the current position as the start
// point, the control point is mirrored from the previous curves control point
// and the end point is defined by the x, y values.
$draw->pathCurveToQuadraticBezierSmoothAbsolute(
    450,250
);

// This specifies a quadratic bezier curve with the current position as the start
// point, the control point is mirrored from the previous curves control point
// and the end point is defined relative from the current position by the x, y values.
$draw->pathCurveToQuadraticBezierSmoothRelative(
    200,-100
);

$draw->pathFinish();

$imagick = new \Imagick();
$imagick->newImage(700, 500, $backgroundColor);
$imagick->setImageFormat("png");

$imagick->drawImage($draw);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
?>

ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute
ImagickDraw::pathCurveToRelative
ImagickDraw


Draws a cubic Bezier curve

ImagickDraw::pathCurveToQuadraticBezierSmoothRelative
ImagickDraw::pathCurveToSmoothAbsolute
ImagickDraw
PHP Manual

ImagickDraw::pathCurveToRelative

(PECL imagick 2.0.0)

ImagickDraw::pathCurveToRelative — Draws a cubic Bezier curve

Beschreibung

bool ImagickDraw::pathCurveToRelative ( float $x1 , float $y1 , float $x2 , float $y2 , float $x , float $y )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Draws a cubic Bezier curve from the current point to (x,y) using (x1,y1) as the control point at the beginning of the curve and (x2,y2) as the control point at the end of the curve using relative coordinates. At the end of the command, the new current point becomes the final (x,y) coordinate pair used in the polybezier.

Parameter-Liste

x1

x coordinate of starting control point

y1

y coordinate of starting control point

x2

x coordinate of ending control point

y2

y coordinate of ending control point

x

ending x coordinate

y

ending y coordinate

Rückgabewerte

Es wird kein Wert zurückgegeben.

ImagickDraw::pathCurveToQuadraticBezierSmoothRelative
ImagickDraw::pathCurveToSmoothAbsolute
ImagickDraw


Draws a cubic Bezier curve

ImagickDraw::pathCurveToRelative
ImagickDraw::pathCurveToSmoothRelative
ImagickDraw
PHP Manual

ImagickDraw::pathCurveToSmoothAbsolute

(PECL imagick 2.0.0)

ImagickDraw::pathCurveToSmoothAbsolute — Draws a cubic Bezier curve

Beschreibung

bool ImagickDraw::pathCurveToSmoothAbsolute ( float $x2 , float $y2 , float $x , float $y )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Draws a cubic Bezier curve from the current point to (x,y) using absolute coordinates. The first control point is assumed to be the reflection of the second control point on the previous command relative to the current point. (If there is no previous command or if the previous command was not an DrawPathCurveToAbsolute, DrawPathCurveToRelative, DrawPathCurveToSmoothAbsolute or DrawPathCurveToSmoothRelative, assume the first control point is coincident with the current point.) (x2,y2) is the second control point (i.e., the control point at the end of the curve). At the end of the command, the new current point becomes the final (x,y) coordinate pair used in the polybezier.

Parameter-Liste

x2

x coordinate of the second control point

y2

y coordinate of the second control point

x

x coordinate of the ending point

y

y coordinate of the ending point

Rückgabewerte

Es wird kein Wert zurückgegeben.

ImagickDraw::pathCurveToRelative
ImagickDraw::pathCurveToSmoothRelative
ImagickDraw


Draws a cubic Bezier curve

ImagickDraw::pathCurveToSmoothAbsolute
ImagickDraw::pathEllipticArcAbsolute
ImagickDraw
PHP Manual

ImagickDraw::pathCurveToSmoothRelative

(PECL imagick 2.0.0)

ImagickDraw::pathCurveToSmoothRelative — Draws a cubic Bezier curve

Beschreibung

bool ImagickDraw::pathCurveToSmoothRelative ( float $x2 , float $y2 , float $x , float $y )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Draws a cubic Bezier curve from the current point to (x,y) using relative coordinates. The first control point is assumed to be the reflection of the second control point on the previous command relative to the current point. (If there is no previous command or if the previous command was not an DrawPathCurveToAbsolute, DrawPathCurveToRelative, DrawPathCurveToSmoothAbsolute or DrawPathCurveToSmoothRelative, assume the first control point is coincident with the current point.) (x2,y2) is the second control point (i.e., the control point at the end of the curve). At the end of the command, the new current point becomes the final (x,y) coordinate pair used in the polybezier.

Parameter-Liste

x2

x coordinate of the second control point

y2

y coordinate of the second control point

x

x coordinate of the ending point

y

y coordinate of the ending point

Rückgabewerte

Es wird kein Wert zurückgegeben.

ImagickDraw::pathCurveToSmoothAbsolute
ImagickDraw::pathEllipticArcAbsolute
ImagickDraw


Draws an elliptical arc

ImagickDraw::pathCurveToSmoothRelative
ImagickDraw::pathEllipticArcRelative
ImagickDraw
PHP Manual

ImagickDraw::pathEllipticArcAbsolute

(PECL imagick 2.0.0)

ImagickDraw::pathEllipticArcAbsolute — Draws an elliptical arc

Beschreibung

bool ImagickDraw::pathEllipticArcAbsolute ( float $rx , float $ry , float $x_axis_rotation , bool $large_arc_flag , bool $sweep_flag , float $x , float $y )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Draws an elliptical arc from the current point to (x, y) using absolute coordinates. The size and orientation of the ellipse are defined by two radii (rx, ry) and an xAxisRotation, which indicates how the ellipse as a whole is rotated relative to the current coordinate system. The center (cx, cy) of the ellipse is calculated automatically to satisfy the constraints imposed by the other parameters. largeArcFlag and sweepFlag contribute to the automatic calculations and help determine how the arc is drawn. If largeArcFlag is TRUE then draw the larger of the available arcs. If sweepFlag is true, then draw the arc matching a clock-wise rotation.

Parameter-Liste

rx

x radius

ry

y radius

x_axis_rotation

x axis rotation

large_arc_flag

large arc flag

sweep_flag

sweep flag

x

x coordinate

y

y coordinate

Rückgabewerte

Es wird kein Wert zurückgegeben.

ImagickDraw::pathCurveToSmoothRelative
ImagickDraw::pathEllipticArcRelative
ImagickDraw


Draws an elliptical arc

ImagickDraw::pathEllipticArcAbsolute
ImagickDraw::pathFinish
ImagickDraw
PHP Manual

ImagickDraw::pathEllipticArcRelative

(PECL imagick 2.0.0)

ImagickDraw::pathEllipticArcRelative — Draws an elliptical arc

Beschreibung

bool ImagickDraw::pathEllipticArcRelative ( float $rx , float $ry , float $x_axis_rotation , bool $large_arc_flag , bool $sweep_flag , float $x , float $y )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Draws an elliptical arc from the current point to (x, y) using relative coordinates. The size and orientation of the ellipse are defined by two radii (rx, ry) and an xAxisRotation, which indicates how the ellipse as a whole is rotated relative to the current coordinate system. The center (cx, cy) of the ellipse is calculated automatically to satisfy the constraints imposed by the other parameters. largeArcFlag and sweepFlag contribute to the automatic calculations and help determine how the arc is drawn. If largeArcFlag is TRUE then draw the larger of the available arcs. If sweepFlag is true, then draw the arc matching a clock-wise rotation.

Parameter-Liste

rx

x radius

ry

y radius

x_axis_rotation

x axis rotation

large_arc_flag

large arc flag

sweep_flag

sweep flag

x

x coordinate

y

y coordinate

Rückgabewerte

Es wird kein Wert zurückgegeben.

ImagickDraw::pathEllipticArcAbsolute
ImagickDraw::pathFinish
ImagickDraw


Terminates the current path

ImagickDraw::pathEllipticArcRelative
ImagickDraw::pathLineToAbsolute
ImagickDraw
PHP Manual

ImagickDraw::pathFinish

(PECL imagick 2.0.0)

ImagickDraw::pathFinish — Terminates the current path

Beschreibung

bool ImagickDraw::pathFinish ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Terminates the current path.

Rückgabewerte

Es wird kein Wert zurückgegeben.

ImagickDraw::pathEllipticArcRelative
ImagickDraw::pathLineToAbsolute
ImagickDraw


Draws a line path

ImagickDraw::pathFinish
ImagickDraw::pathLineToHorizontalAbsolute
ImagickDraw
PHP Manual

ImagickDraw::pathLineToAbsolute

(PECL imagick 2.0.0)

ImagickDraw::pathLineToAbsolute — Draws a line path

Beschreibung

bool ImagickDraw::pathLineToAbsolute ( float $x , float $y )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Draws a line path from the current point to the given coordinate using absolute coordinates. The coordinate then becomes the new current point.

Parameter-Liste

x

starting x coordinate

y

ending x coordinate

Rückgabewerte

Es wird kein Wert zurückgegeben.

ImagickDraw::pathFinish
ImagickDraw::pathLineToHorizontalAbsolute
ImagickDraw


Draws a horizontal line path

ImagickDraw::pathLineToAbsolute
ImagickDraw::pathLineToHorizontalRelative
ImagickDraw
PHP Manual

ImagickDraw::pathLineToHorizontalAbsolute

(PECL imagick 2.0.0)

ImagickDraw::pathLineToHorizontalAbsolute — Draws a horizontal line path

Beschreibung

bool ImagickDraw::pathLineToHorizontalAbsolute ( float $x )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Draws a horizontal line path from the current point to the target point using absolute coordinates. The target point then becomes the new current point.

Parameter-Liste

x

x coordinate

Rückgabewerte

Es wird kein Wert zurückgegeben.

ImagickDraw::pathLineToAbsolute
ImagickDraw::pathLineToHorizontalRelative
ImagickDraw


Draws a horizontal line

ImagickDraw::pathLineToHorizontalAbsolute
ImagickDraw::pathLineToRelative
ImagickDraw
PHP Manual

ImagickDraw::pathLineToHorizontalRelative

(PECL imagick 2.0.0)

ImagickDraw::pathLineToHorizontalRelative — Draws a horizontal line

Beschreibung

bool ImagickDraw::pathLineToHorizontalRelative ( float $x )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Draws a horizontal line path from the current point to the target point using relative coordinates. The target point then becomes the new current point.

Parameter-Liste

x

x coordinate

Rückgabewerte

Es wird kein Wert zurückgegeben.

ImagickDraw::pathLineToHorizontalAbsolute
ImagickDraw::pathLineToRelative
ImagickDraw


Draws a line path

ImagickDraw::pathLineToHorizontalRelative
ImagickDraw::pathLineToVerticalAbsolute
ImagickDraw
PHP Manual

ImagickDraw::pathLineToRelative

(PECL imagick 2.0.0)

ImagickDraw::pathLineToRelative — Draws a line path

Beschreibung

bool ImagickDraw::pathLineToRelative ( float $x , float $y )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Draws a line path from the current point to the given coordinate using relative coordinates. The coordinate then becomes the new current point.

Parameter-Liste

x

starting x coordinate

y

starting y coordinate

Rückgabewerte

Es wird kein Wert zurückgegeben.

ImagickDraw::pathLineToHorizontalRelative
ImagickDraw::pathLineToVerticalAbsolute
ImagickDraw


Draws a vertical line

ImagickDraw::pathLineToRelative
ImagickDraw::pathLineToVerticalRelative
ImagickDraw
PHP Manual

ImagickDraw::pathLineToVerticalAbsolute

(PECL imagick 2.0.0)

ImagickDraw::pathLineToVerticalAbsolute — Draws a vertical line

Beschreibung

bool ImagickDraw::pathLineToVerticalAbsolute ( float $y )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Draws a vertical line path from the current point to the target point using absolute coordinates. The target point then becomes the new current point.

Parameter-Liste

y

y coordinate

Rückgabewerte

Es wird kein Wert zurückgegeben.

ImagickDraw::pathLineToRelative
ImagickDraw::pathLineToVerticalRelative
ImagickDraw


Draws a vertical line path

ImagickDraw::pathLineToVerticalAbsolute
ImagickDraw::pathMoveToAbsolute
ImagickDraw
PHP Manual

ImagickDraw::pathLineToVerticalRelative

(PECL imagick 2.0.0)

ImagickDraw::pathLineToVerticalRelative — Draws a vertical line path

Beschreibung

bool ImagickDraw::pathLineToVerticalRelative ( float $y )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Draws a vertical line path from the current point to the target point using relative coordinates. The target point then becomes the new current point.

Parameter-Liste

y

y coordinate

Rückgabewerte

Es wird kein Wert zurückgegeben.

ImagickDraw::pathLineToVerticalAbsolute
ImagickDraw::pathMoveToAbsolute
ImagickDraw


Starts a new sub-path

ImagickDraw::pathLineToVerticalRelative
ImagickDraw::pathMoveToRelative
ImagickDraw
PHP Manual

ImagickDraw::pathMoveToAbsolute

(PECL imagick 2.0.0)

ImagickDraw::pathMoveToAbsolute — Starts a new sub-path

Beschreibung

bool ImagickDraw::pathMoveToAbsolute ( float $x , float $y )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Starts a new sub-path at the given coordinate using absolute coordinates. The current point then becomes the specified coordinate.

Parameter-Liste

x

x coordinate of the starting point

y

y coordinate of the starting point

Rückgabewerte

Es wird kein Wert zurückgegeben.

ImagickDraw::pathLineToVerticalRelative
ImagickDraw::pathMoveToRelative
ImagickDraw


Starts a new sub-path

ImagickDraw::pathMoveToAbsolute
ImagickDraw::pathStart
ImagickDraw
PHP Manual

ImagickDraw::pathMoveToRelative

(PECL imagick 2.0.0)

ImagickDraw::pathMoveToRelative — Starts a new sub-path

Beschreibung

bool ImagickDraw::pathMoveToRelative ( float $x , float $y )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Starts a new sub-path at the given coordinate using relative coordinates. The current point then becomes the specified coordinate.

Parameter-Liste

x

target x coordinate

y

target y coordinate

Rückgabewerte

Es wird kein Wert zurückgegeben.

ImagickDraw::pathMoveToAbsolute
ImagickDraw::pathStart
ImagickDraw


Declares the start of a path drawing list

ImagickDraw::pathMoveToRelative
ImagickDraw::point
ImagickDraw
PHP Manual

ImagickDraw::pathStart

(PECL imagick 2.0.0)

ImagickDraw::pathStart — Declares the start of a path drawing list

Beschreibung

bool ImagickDraw::pathStart ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Declares the start of a path drawing list which is terminated by a matching DrawPathFinish() command. All other DrawPath commands must be enclosed between a and a DrawPathFinish() command. This is because path drawing commands are subordinate commands and they do not function by themselves.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::pathStart()

<?php
function pathStart($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeOpacity(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);

    $draw->pathStart();
    $draw->pathMoveToAbsolute(50, 50);
    $draw->pathLineToAbsolute(100, 50);
    $draw->pathLineToRelative(0, 50);
    $draw->pathLineToHorizontalRelative(-50);
    $draw->pathFinish();

    $draw->pathStart();
    $draw->pathMoveToAbsolute(50, 50);
    $draw->pathMoveToRelative(300, 0);
    $draw->pathLineToRelative(50, 0);
    $draw->pathLineToVerticalRelative(50);
    $draw->pathLineToHorizontalAbsolute(350);
    $draw->pathclose();
    $draw->pathFinish();

    $draw->pathStart();
    $draw->pathMoveToAbsolute(50, 300);
    $draw->pathCurveToAbsolute(50, 300, 100, 200, 300, 300);
    $draw->pathLineToVerticalAbsolute(350);
    $draw->pathFinish();

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

ImagickDraw::pathMoveToRelative
ImagickDraw::point
ImagickDraw


Draws a point

ImagickDraw::pathStart
ImagickDraw::polygon
ImagickDraw
PHP Manual

ImagickDraw::point

(PECL imagick 2.0.0)

ImagickDraw::point — Draws a point

Beschreibung

bool ImagickDraw::point ( float $x , float $y )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Draws a point using the current stroke color and stroke thickness at the specified coordinates.

Parameter-Liste

x

point's x coordinate

y

point's y coordinate

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::point()

<?php
function point($fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setFillColor($fillColor);

    for ($x = 0; $x < 10000; $x++) {
        $draw->point(rand(0, 500), rand(0, 500));
    }

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

ImagickDraw::pathStart
ImagickDraw::polygon
ImagickDraw


Draws a polygon

ImagickDraw::point
ImagickDraw::polyline
ImagickDraw
PHP Manual

ImagickDraw::polygon

(PECL imagick 2.0.0)

ImagickDraw::polygon — Draws a polygon

Beschreibung

bool ImagickDraw::polygon ( array $coordinates )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Draws a polygon using the current stroke, stroke width, and fill color or texture, using the specified array of coordinates.

Parameter-Liste

coordinates

multidimensional array like array( array( 'x' => 3, 'y' => 4 ), array( 'x' => 2, 'y' => 6 ) );

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 ImagickDraw::polygon()

<?php
function polygon($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeOpacity(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setStrokeWidth(4);

    $draw->setFillColor($fillColor);

    $points = [
        ['x' => 40 * 5, 'y' => 10 * 5],
        ['x' => 20 * 5, 'y' => 20 * 5],
        ['x' => 70 * 5, 'y' => 50 * 5],
        ['x' => 60 * 5, 'y' => 15 * 5],
    ];

    $draw->polygon($points);

    $image = new \Imagick();
    $image->newImage(500, 300, $backgroundColor);
    $image->setImageFormat("png");
    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>

ImagickDraw::point
ImagickDraw::polyline
ImagickDraw


Draws a polyline

ImagickDraw::polygon
ImagickDraw::pop
ImagickDraw
PHP Manual

ImagickDraw::polyline

(PECL imagick 2.0.0)

ImagickDraw::polyline — Draws a polyline

Beschreibung

bool ImagickDraw::polyline ( array $coordinates )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Draws a polyline using the current stroke, stroke width, and fill color or texture, using the specified array of coordinates.

Parameter-Liste

coordinates

array of x and y coordinates: array( array( 'x' => 4, 'y' => 6 ), array( 'x' => 8, 'y' => 10 ) )

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 ImagickDraw::polyline()

<?php
function polyline($strokeColor, $fillColor, $backgroundColor) {
    $draw = new \ImagickDraw();

    $draw->setStrokeOpacity(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(5);

    $points = [
        ['x' => 40 * 5, 'y' => 10 * 5],
        ['x' => 20 * 5, 'y' => 20 * 5],
        ['x' => 70 * 5, 'y' => 50 * 5],
        ['x' => 60 * 5, 'y' => 15 * 5]
    ];

    $draw->polyline($points);

    $image = new \Imagick();
    $image->newImage(500, 300, $backgroundColor);
    $image->setImageFormat("png");
    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>

ImagickDraw::polygon
ImagickDraw::pop
ImagickDraw


Destroys the current ImagickDraw in the stack, and returns to the previously pushed ImagickDraw

ImagickDraw::polyline
ImagickDraw::popClipPath
ImagickDraw
PHP Manual

ImagickDraw::pop

(PECL imagick 2.0.0)

ImagickDraw::pop — Destroys the current ImagickDraw in the stack, and returns to the previously pushed ImagickDraw

Beschreibung

bool ImagickDraw::pop ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Destroys the current ImagickDraw in the stack, and returns to the previously pushed ImagickDraw. Multiple ImagickDraws may exist. It is an error to attempt to pop more ImagickDraws than have been pushed, and it is proper form to pop all ImagickDraws which have been pushed.

Rückgabewerte

Returns TRUE on success and false on failure.

ImagickDraw::polyline
ImagickDraw::popClipPath
ImagickDraw


Terminates a clip path definition

ImagickDraw::pop
ImagickDraw::popDefs
ImagickDraw
PHP Manual

ImagickDraw::popClipPath

(PECL imagick 2.0.0)

ImagickDraw::popClipPath — Terminates a clip path definition

Beschreibung

bool ImagickDraw::popClipPath ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Terminates a clip path definition.

Rückgabewerte

Es wird kein Wert zurückgegeben.

ImagickDraw::pop
ImagickDraw::popDefs
ImagickDraw


Terminates a definition list

ImagickDraw::popClipPath
ImagickDraw::popPattern
ImagickDraw
PHP Manual

ImagickDraw::popDefs

(PECL imagick 2.0.0)

ImagickDraw::popDefs — Terminates a definition list

Beschreibung

bool ImagickDraw::popDefs ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Terminates a definition list.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::popDefs()

<?php
function popDefs($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setstrokeOpacity(1);
    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);
    $draw->pushDefs();
    $draw->setStrokeColor('white');
    $draw->rectangle(50, 50, 200, 200);
    $draw->popDefs();

    $draw->rectangle(300, 50, 450, 200);

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

ImagickDraw::popClipPath
ImagickDraw::popPattern
ImagickDraw


Terminates a pattern definition

ImagickDraw::popDefs
ImagickDraw::push
ImagickDraw
PHP Manual

ImagickDraw::popPattern

(PECL imagick 2.0.0)

ImagickDraw::popPattern — Terminates a pattern definition

Beschreibung

bool ImagickDraw::popPattern ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Terminates a pattern definition.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

ImagickDraw::popDefs
ImagickDraw::push
ImagickDraw


Clones the current ImagickDraw and pushes it to the stack

ImagickDraw::popPattern
ImagickDraw::pushClipPath
ImagickDraw
PHP Manual

ImagickDraw::push

(PECL imagick 2.0.0)

ImagickDraw::push — Clones the current ImagickDraw and pushes it to the stack

Beschreibung

bool ImagickDraw::push ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Clones the current ImagickDraw to create a new ImagickDraw, which is then added to the ImagickDraw stack. The original drawing ImagickDraw(s) may be returned to by invoking pop(). The ImagickDraws are stored on a ImagickDraw stack. For every Pop there must have already been an equivalent Push.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::push()

<?php
function push($strokeColor, $fillColor, $backgroundColor, $fillModifiedColor) {

    $draw = new \ImagickDraw();
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillModifiedColor);
    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);
    $draw->push();
    $draw->translate(50, 50);
    $draw->rectangle(200, 200, 300, 300);
    $draw->pop();
    $draw->setFillColor($fillColor);
    $draw->rectangle(200, 200, 300, 300);

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

ImagickDraw::popPattern
ImagickDraw::pushClipPath
ImagickDraw


Starts a clip path definition

ImagickDraw::push
ImagickDraw::pushDefs
ImagickDraw
PHP Manual

ImagickDraw::pushClipPath

(PECL imagick 2.0.0)

ImagickDraw::pushClipPath — Starts a clip path definition

Beschreibung

bool ImagickDraw::pushClipPath ( string $clip_mask_id )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Starts a clip path definition which is comprised of any number of drawing commands and terminated by a ImagickDraw::popClipPath() command.

Parameter-Liste

clip_mask_id

Clip mask Id

Rückgabewerte

Es wird kein Wert zurückgegeben.

ImagickDraw::push
ImagickDraw::pushDefs
ImagickDraw


Indicates that following commands create named elements for early processing

ImagickDraw::pushClipPath
ImagickDraw::pushPattern
ImagickDraw
PHP Manual

ImagickDraw::pushDefs

(PECL imagick 2.0.0)

ImagickDraw::pushDefs — Indicates that following commands create named elements for early processing

Beschreibung

bool ImagickDraw::pushDefs ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Indicates that commands up to a terminating ImagickDraw::popDefs() command create named elements (e.g. clip-paths, textures, etc.) which may safely be processed earlier for the sake of efficiency.

Rückgabewerte

Es wird kein Wert zurückgegeben.

ImagickDraw::pushClipPath
ImagickDraw::pushPattern
ImagickDraw


Indicates that subsequent commands up to a ImagickDraw::opPattern() command comprise the definition of a named pattern

ImagickDraw::pushDefs
ImagickDraw::rectangle
ImagickDraw
PHP Manual

ImagickDraw::pushPattern

(PECL imagick 2.0.0)

ImagickDraw::pushPattern — Indicates that subsequent commands up to a ImagickDraw::opPattern() command comprise the definition of a named pattern

Beschreibung

bool ImagickDraw::pushPattern ( string $pattern_id , float $x , float $y , float $width , float $height )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Indicates that subsequent commands up to a DrawPopPattern() command comprise the definition of a named pattern. The pattern space is assigned top left corner coordinates, a width and height, and becomes its own drawing space. Anything which can be drawn may be used in a pattern definition. Named patterns may be used as stroke or brush definitions.

Parameter-Liste

pattern_id

the pattern Id

x

x coordinate of the top-left corner

y

y coordinate of the top-left corner

width

width of the pattern

height

height of the pattern

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::pushPattern()

<?php
function pushPattern($strokeColor, $fillColor, $backgroundColor) {
    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(1);
    $draw->setStrokeOpacity(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(1);

    $draw->pushPattern("MyFirstPattern", 0, 0, 50, 50);
    for ($x = 0; $x < 50; $x += 10) {
        for ($y = 0; $y < 50; $y += 5) {
            $positionX = $x + (($y / 5) % 5);
            $draw->rectangle($positionX, $y, $positionX + 5, $y + 5);
        }
    }
    $draw->popPattern();

    $draw->setFillOpacity(0);
    $draw->rectangle(100, 100, 400, 400);
    $draw->setFillOpacity(1);

    $draw->setFillOpacity(1);

    $draw->push();
    $draw->setFillPatternURL('#MyFirstPattern');
    $draw->setFillColor('yellow');
    $draw->rectangle(100, 100, 400, 400);
    $draw->pop();

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

ImagickDraw::pushDefs
ImagickDraw::rectangle
ImagickDraw


Draws a rectangle

ImagickDraw::pushPattern
ImagickDraw::render
ImagickDraw
PHP Manual

ImagickDraw::rectangle

(PECL imagick 2.0.0)

ImagickDraw::rectangle — Draws a rectangle

Beschreibung

bool ImagickDraw::rectangle ( float $x1 , float $y1 , float $x2 , float $y2 )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Draws a rectangle given two coordinates and using the current stroke, stroke width, and fill settings.

Parameter-Liste

x1

x coordinate of the top left corner

y1

y coordinate of the top left corner

x2

x coordinate of the bottom right corner

y2

y coordinate of the bottom right corner

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::rectangle()

<?php
function rectangle($strokeColor, $fillColor, $backgroundColor) {
    $draw = new \ImagickDraw();
    $strokeColor = new \ImagickPixel($strokeColor);
    $fillColor = new \ImagickPixel($fillColor);

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeOpacity(1);
    $draw->setStrokeWidth(2);

    $draw->rectangle(200, 200, 300, 300);
    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

ImagickDraw::pushPattern
ImagickDraw::render
ImagickDraw


Renders all preceding drawing commands onto the image

ImagickDraw::rectangle
ImagickDraw::resetVectorGraphics
ImagickDraw
PHP Manual

ImagickDraw::render

(PECL imagick 2.0.0)

ImagickDraw::render — Renders all preceding drawing commands onto the image

Beschreibung

bool ImagickDraw::render ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Renders all preceding drawing commands onto the image.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

ImagickDraw::rectangle
ImagickDraw::resetVectorGraphics
ImagickDraw


Description

ImagickDraw::render
ImagickDraw::rotate
ImagickDraw
PHP Manual

ImagickDraw::resetVectorGraphics

(No version information available, might only be in Git)

ImagickDraw::resetVectorGraphics — Description

Beschreibung

public void ImagickDraw::resetVectorGraphics ( void )

Resets the vector graphics.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

ImagickDraw::render
ImagickDraw::rotate
ImagickDraw


Applies the specified rotation to the current coordinate space

ImagickDraw::resetVectorGraphics
ImagickDraw::roundRectangle
ImagickDraw
PHP Manual

ImagickDraw::rotate

(PECL imagick 2.0.0)

ImagickDraw::rotate — Applies the specified rotation to the current coordinate space

Beschreibung

bool ImagickDraw::rotate ( float $degrees )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Applies the specified rotation to the current coordinate space.

Parameter-Liste

degrees

degrees to rotate

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::rotate()

<?php
function rotate($strokeColor, $fillColor, $backgroundColor, $fillModifiedColor) {
    $draw = new \ImagickDraw();
    $draw->setStrokeColor($strokeColor);
    $draw->setStrokeOpacity(1);
    $draw->setFillColor($fillColor);
    $draw->rectangle(200, 200, 300, 300);
    $draw->setFillColor($fillModifiedColor);
    $draw->rotate(15);
    $draw->rectangle(200, 200, 300, 300);

    $image = new \Imagick();
    $image->newImage(500, 500, $backgroundColor);
    $image->setImageFormat("png");
    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>

ImagickDraw::resetVectorGraphics
ImagickDraw::roundRectangle
ImagickDraw


Draws a rounded rectangle

ImagickDraw::rotate
ImagickDraw::scale
ImagickDraw
PHP Manual

ImagickDraw::roundRectangle

(PECL imagick 2.0.0)

ImagickDraw::roundRectangle — Draws a rounded rectangle

Beschreibung

bool ImagickDraw::roundRectangle ( float $x1 , float $y1 , float $x2 , float $y2 , float $rx , float $ry )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Draws a rounded rectangle given two coordinates, x & y corner radiuses and using the current stroke, stroke width, and fill settings.

Parameter-Liste

x1

x coordinate of the top left corner

y1

y coordinate of the top left corner

x2

x coordinate of the bottom right

y2

y coordinate of the bottom right

rx

x rounding

ry

y rounding

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::roundRectangle()

<?php
function roundRectangle($strokeColor, $fillColor, $backgroundColor, $startX, $startY, $endX, $endY, $roundX, $roundY) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeOpacity(1);
    $draw->setStrokeWidth(2);

    $draw->roundRectangle($startX, $startY, $endX, $endY, $roundX, $roundY);

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

ImagickDraw::rotate
ImagickDraw::scale
ImagickDraw


Adjusts the scaling factor

ImagickDraw::roundRectangle
ImagickDraw::setClipPath
ImagickDraw
PHP Manual

ImagickDraw::scale

(PECL imagick 2.0.0)

ImagickDraw::scale — Adjusts the scaling factor

Beschreibung

bool ImagickDraw::scale ( float $x , float $y )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Adjusts the scaling factor to apply in the horizontal and vertical directions to the current coordinate space.

Parameter-Liste

x

horizontal factor

y

vertical factor

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::scale()

<?php
function scale($strokeColor, $fillColor, $backgroundColor, $fillModifiedColor) {

    $draw = new \ImagickDraw();
    $draw->setStrokeColor($strokeColor);
    $draw->setStrokeWidth(4);
    $draw->setFillColor($fillColor);
    $draw->rectangle(200, 200, 300, 300);
    $draw->setFillColor($fillModifiedColor);
    $draw->scale(1.4, 1.4);
    $draw->rectangle(200, 200, 300, 300);

    $image = new \Imagick();
    $image->newImage(500, 500, $backgroundColor);
    $image->setImageFormat("png");
    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>

ImagickDraw::roundRectangle
ImagickDraw::setClipPath
ImagickDraw


Associates a named clipping path with the image

ImagickDraw::scale
ImagickDraw::setClipRule
ImagickDraw
PHP Manual

ImagickDraw::setClipPath

(PECL imagick 2.0.0)

ImagickDraw::setClipPath — Associates a named clipping path with the image

Beschreibung

bool ImagickDraw::setClipPath ( string $clip_mask )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Associates a named clipping path with the image. Only the areas drawn on by the clipping path will be modified as long as it remains in effect.

Parameter-Liste

clip_mask

the clipping path name

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::setClipPath()

<?php
function setClipPath($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeOpacity(1);
    $draw->setStrokeWidth(2);

    $clipPathName = 'testClipPath';

    $draw->pushClipPath($clipPathName);
    $draw->rectangle(0, 0, 250, 250);
    $draw->popClipPath();
    $draw->setClipPath($clipPathName);
    $draw->rectangle(100, 100, 400, 400);

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

ImagickDraw::scale
ImagickDraw::setClipRule
ImagickDraw


Set the polygon fill rule to be used by the clipping path

ImagickDraw::setClipPath
ImagickDraw::setClipUnits
ImagickDraw
PHP Manual

ImagickDraw::setClipRule

(PECL imagick 2.0.0)

ImagickDraw::setClipRule — Set the polygon fill rule to be used by the clipping path

Beschreibung

bool ImagickDraw::setClipRule ( int $fill_rule )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Set the polygon fill rule to be used by the clipping path.

Parameter-Liste

fill_rule

FILLRULE_ constant

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::setClipRule()

<?php
function setClipRule($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeOpacity(1);
    $draw->setStrokeWidth(2);
    //\Imagick::FILLRULE_EVENODD
    //\Imagick::FILLRULE_NONZERO

    $clipPathName = 'testClipPath';
    $draw->pushClipPath($clipPathName);
    $draw->setClipRule(\Imagick::FILLRULE_EVENODD);
    $draw->rectangle(0, 0, 300, 500);
    $draw->rectangle(200, 0, 500, 500);
    $draw->popClipPath();
    $draw->setClipPath($clipPathName);
    $draw->rectangle(200, 200, 300, 300);

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

ImagickDraw::setClipPath
ImagickDraw::setClipUnits
ImagickDraw


Sets the interpretation of clip path units

ImagickDraw::setClipRule
ImagickDraw::setFillAlpha
ImagickDraw
PHP Manual

ImagickDraw::setClipUnits

(PECL imagick 2.0.0)

ImagickDraw::setClipUnits — Sets the interpretation of clip path units

Beschreibung

bool ImagickDraw::setClipUnits ( int $clip_units )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Sets the interpretation of clip path units.

Parameter-Liste

clip_units

the number of clip units

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::setClipUnits()

<?php
function setClipUnits($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeOpacity(1);
    $draw->setStrokeWidth(2);
    $clipPathName = 'testClipPath';
    $draw->setClipUnits(\Imagick::RESOLUTION_PIXELSPERINCH);
    $draw->pushClipPath($clipPathName);
    $draw->rectangle(0, 0, 250, 250);
    $draw->popClipPath();
    $draw->setClipPath($clipPathName);

    //RESOLUTION_PIXELSPERINCH
    //RESOLUTION_PIXELSPERCENTIMETER

    $draw->rectangle(200, 200, 300, 300);
    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

ImagickDraw::setClipRule
ImagickDraw::setFillAlpha
ImagickDraw


Sets the opacity to use when drawing using the fill color or fill texture

ImagickDraw::setClipUnits
ImagickDraw::setFillColor
ImagickDraw
PHP Manual

ImagickDraw::setFillAlpha

(PECL imagick 2.0.0)

ImagickDraw::setFillAlpha — Sets the opacity to use when drawing using the fill color or fill texture

Beschreibung

bool ImagickDraw::setFillAlpha ( float $opacity )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Sets the opacity to use when drawing using the fill color or fill texture. Fully opaque is 1.0.

Parameter-Liste

opacity

fill alpha

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::setFillAlpha()

<?php
function setFillAlpha($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeOpacity(1);
    $draw->setStrokeWidth(2);
    $draw->rectangle(100, 200, 200, 300);
    @$draw->setFillAlpha(0.4);
    $draw->rectangle(300, 200, 400, 300);

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

ImagickDraw::setClipUnits
ImagickDraw::setFillColor
ImagickDraw


Sets the fill color to be used for drawing filled objects

ImagickDraw::setFillAlpha
ImagickDraw::setFillOpacity
ImagickDraw
PHP Manual

ImagickDraw::setFillColor

(PECL imagick 2.0.0)

ImagickDraw::setFillColor — Sets the fill color to be used for drawing filled objects

Beschreibung

bool ImagickDraw::setFillColor ( ImagickPixel $fill_pixel )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Sets the fill color to be used for drawing filled objects.

Parameter-Liste

fill_pixel

ImagickPixel to use to set the color

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::setFillColor()

<?php
function setFillColor($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeOpacity(1);
    $draw->setStrokeWidth(1.5);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->rectangle(50, 50, 150, 150);

    $draw->setFillColor("rgb(200, 32, 32)");
    $draw->rectangle(200, 50, 300, 150);

    $image = new \Imagick();
    $image->newImage(500, 500, $backgroundColor);
    $image->setImageFormat("png");

    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>

ImagickDraw::setFillAlpha
ImagickDraw::setFillOpacity
ImagickDraw


Sets the opacity to use when drawing using the fill color or fill texture

ImagickDraw::setFillColor
ImagickDraw::setFillPatternURL
ImagickDraw
PHP Manual

ImagickDraw::setFillOpacity

(PECL imagick 2.0.0)

ImagickDraw::setFillOpacity — Sets the opacity to use when drawing using the fill color or fill texture

Beschreibung

bool ImagickDraw::setFillOpacity ( float $fillOpacity )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Sets the opacity to use when drawing using the fill color or fill texture. Fully opaque is 1.0.

Parameter-Liste

fillOpacity

the fill opacity

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::setFillOpacity()

<?php
function setFillOpacity($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeOpacity(1);
    $draw->setStrokeWidth(2);

    $draw->rectangle(100, 200, 200, 300);

    $draw->setFillOpacity(0.4);
    $draw->rectangle(300, 200, 400, 300);

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

ImagickDraw::setFillColor
ImagickDraw::setFillPatternURL
ImagickDraw


Sets the URL to use as a fill pattern for filling objects

ImagickDraw::setFillOpacity
ImagickDraw::setFillRule
ImagickDraw
PHP Manual

ImagickDraw::setFillPatternURL

(PECL imagick 2.0.0)

ImagickDraw::setFillPatternURL — Sets the URL to use as a fill pattern for filling objects

Beschreibung

bool ImagickDraw::setFillPatternURL ( string $fill_url )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Sets the URL to use as a fill pattern for filling objects. Only local URLs ("#identifier") are supported at this time. These local URLs are normally created by defining a named fill pattern with DrawPushPattern/DrawPopPattern.

Parameter-Liste

fill_url

URL to use to obtain fill pattern.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

ImagickDraw::setFillOpacity
ImagickDraw::setFillRule
ImagickDraw


Sets the fill rule to use while drawing polygons

ImagickDraw::setFillPatternURL
ImagickDraw::setFont
ImagickDraw
PHP Manual

ImagickDraw::setFillRule

(PECL imagick 2.0.0)

ImagickDraw::setFillRule — Sets the fill rule to use while drawing polygons

Beschreibung

bool ImagickDraw::setFillRule ( int $fill_rule )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Sets the fill rule to use while drawing polygons.

Parameter-Liste

fill_rule

FILLRULE_ constant

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::setFillRule()

<?php
function setFillRule($fillColor, $strokeColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeWidth(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $fillRules = [\Imagick::FILLRULE_NONZERO, \Imagick::FILLRULE_EVENODD];

    $points = 11;
    $size = 150;

    $draw->translate(175, 160);

    for ($x = 0; $x < 2; $x++) {
        $draw->setFillRule($fillRules[$x]);
        $draw->pathStart();
        for ($n = 0; $n < $points * 2; $n++) {

            if ($n >= $points) {
                $angle = fmod($n * 360 * 4 / $points, 360) * pi() / 180;
            }
            else {
                $angle = fmod($n * 360 * 3 / $points, 360) * pi() / 180;
            }

            $positionX = $size * sin($angle);
            $positionY = $size * cos($angle);

            if ($n == 0) {
                $draw->pathMoveToAbsolute($positionX, $positionY);
            }
            else {
                $draw->pathLineToAbsolute($positionX, $positionY);
            }
        }

        $draw->pathClose();
        $draw->pathFinish();

        $draw->translate(325, 0);
    }

    $image = new \Imagick();
    $image->newImage(700, 320, $backgroundColor);
    $image->setImageFormat("png");
    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>

ImagickDraw::setFillPatternURL
ImagickDraw::setFont
ImagickDraw


Sets the fully-specified font to use when annotating with text

ImagickDraw::setFillRule
ImagickDraw::setFontFamily
ImagickDraw
PHP Manual

ImagickDraw::setFont

(PECL imagick 2.0.0)

ImagickDraw::setFont — Sets the fully-specified font to use when annotating with text

Beschreibung

bool ImagickDraw::setFont ( string $font_name )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Sets the fully-specified font to use when annotating with text.

Parameter-Liste

font_name

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 ImagickDraw::setFont()

<?php
function setFont($fillColor, $strokeColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(2);
    $draw->setFontSize(36);

    $draw->setFont("../fonts/Arial.ttf");
    $draw->annotation(50, 50, "Lorem Ipsum!");

    $draw->setFont("../fonts/Consolas.ttf");
    $draw->annotation(50, 100, "Lorem Ipsum!");

    $draw->setFont("../fonts/CANDY.TTF");
    $draw->annotation(50, 150, "Lorem Ipsum!");

    $draw->setFont("../fonts/Inconsolata-dz.otf");
    $draw->annotation(50, 200, "Lorem Ipsum!");

    $imagick = new \Imagick();
    $imagick->newImage(500, 300, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

ImagickDraw::setFillRule
ImagickDraw::setFontFamily
ImagickDraw


Sets the font family to use when annotating with text

ImagickDraw::setFont
ImagickDraw::setFontSize
ImagickDraw
PHP Manual

ImagickDraw::setFontFamily

(PECL imagick 2.0.0)

ImagickDraw::setFontFamily — Sets the font family to use when annotating with text

Beschreibung

bool ImagickDraw::setFontFamily ( string $font_family )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Sets the font family to use when annotating with text.

Parameter-Liste

font_family

the font family

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 ImagickDraw::setFontFamily()

<?php
function setFontFamily($fillColor, $strokeColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $strokeColor = new \ImagickPixel($strokeColor);
    $fillColor = new \ImagickPixel($fillColor);

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(2);

    $draw->setFontSize(48);

    $draw->setFontFamily("Times");
    $draw->annotation(50, 50, "Lorem Ipsum!");

    $draw->setFontFamily("AvantGarde");
    $draw->annotation(50, 100, "Lorem Ipsum!");

    $draw->setFontFamily("NewCenturySchlbk");
    $draw->annotation(50, 150, "Lorem Ipsum!");

    $draw->setFontFamily("Palatino");
    $draw->annotation(50, 200, "Lorem Ipsum!");

    $imagick = new \Imagick();
    $imagick->newImage(450, 250, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

ImagickDraw::setFont
ImagickDraw::setFontSize
ImagickDraw


Sets the font pointsize to use when annotating with text

ImagickDraw::setFontFamily
ImagickDraw::setFontStretch
ImagickDraw
PHP Manual

ImagickDraw::setFontSize

(PECL imagick 2.0.0)

ImagickDraw::setFontSize — Sets the font pointsize to use when annotating with text

Beschreibung

bool ImagickDraw::setFontSize ( float $pointsize )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Sets the font pointsize to use when annotating with text.

Parameter-Liste

pointsize

the point size

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::setFontSize()

<?php
function setFontSize($fillColor, $strokeColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeOpacity(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(2);
    $draw->setFont("../fonts/Arial.ttf");

    $sizes = [24, 36, 48, 60, 72];

    foreach ($sizes as $size) {
        $draw->setFontSize($size);
        $draw->annotation(50, ($size * $size / 16), "Lorem Ipsum!");
    }

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

ImagickDraw::setFontFamily
ImagickDraw::setFontStretch
ImagickDraw


Sets the font stretch to use when annotating with text

ImagickDraw::setFontSize
ImagickDraw::setFontStyle
ImagickDraw
PHP Manual

ImagickDraw::setFontStretch

(PECL imagick 2.0.0)

ImagickDraw::setFontStretch — Sets the font stretch to use when annotating with text

Beschreibung

bool ImagickDraw::setFontStretch ( int $fontStretch )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Sets the font stretch to use when annotating with text. The AnyStretch enumeration acts as a wild-card "don't care" option.

Parameter-Liste

fontStretch

STRETCH_ constant

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::setFontStretch()

<?php
function setFontStretch($fillColor, $strokeColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(2);
    $draw->setFontSize(36);

    $fontStretchTypes = [
        \Imagick::STRETCH_ULTRACONDENSED,
        \Imagick::STRETCH_CONDENSED,
        \Imagick::STRETCH_SEMICONDENSED,
        \Imagick::STRETCH_SEMIEXPANDED,
        \Imagick::STRETCH_EXPANDED,
        \Imagick::STRETCH_EXTRAEXPANDED,
        \Imagick::STRETCH_ULTRAEXPANDED,
        \Imagick::STRETCH_ANY
    ];

    $offset = 0;
    foreach ($fontStretchTypes as $fontStretch) {
        $draw->setFontStretch($fontStretch);
        $draw->annotation(50, 75 + $offset, "Lorem Ipsum!");
        $offset += 50;
    }

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

ImagickDraw::setFontSize
ImagickDraw::setFontStyle
ImagickDraw


Sets the font style to use when annotating with text

ImagickDraw::setFontStretch
ImagickDraw::setFontWeight
ImagickDraw
PHP Manual

ImagickDraw::setFontStyle

(PECL imagick 2.0.0)

ImagickDraw::setFontStyle — Sets the font style to use when annotating with text

Beschreibung

bool ImagickDraw::setFontStyle ( int $style )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Sets the font style to use when annotating with text. The AnyStyle enumeration acts as a wild-card "don't care" option.

Parameter-Liste

style

STYLETYPE_ constant

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::setFontStyle()

<?php
function setFontStyle($fillColor, $strokeColor, $backgroundColor) {
    $draw = new \ImagickDraw();
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(1);
    $draw->setFontSize(36);
    $draw->setFontStyle(\Imagick::STYLE_NORMAL);
    $draw->annotation(50, 50, "Lorem Ipsum!");

    $draw->setFontStyle(\Imagick::STYLE_ITALIC);
    $draw->annotation(50, 100, "Lorem Ipsum!");

    $draw->setFontStyle(\Imagick::STYLE_OBLIQUE);
    $draw->annotation(50, 150, "Lorem Ipsum!");

    $imagick = new \Imagick();
    $imagick->newImage(350, 300, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

ImagickDraw::setFontStretch
ImagickDraw::setFontWeight
ImagickDraw


Sets the font weight

ImagickDraw::setFontStyle
ImagickDraw::setGravity
ImagickDraw
PHP Manual

ImagickDraw::setFontWeight

(PECL imagick 2.0.0)

ImagickDraw::setFontWeight — Sets the font weight

Beschreibung

bool ImagickDraw::setFontWeight ( int $font_weight )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Sets the font weight to use when annotating with text.

Parameter-Liste

font_weight

Rückgabewerte

Beispiele

Beispiel #1 ImagickDraw::setFontWeight()

<?php
function setFontWeight($fillColor, $strokeColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(1);

    $draw->setFontSize(36);

    $draw->setFontWeight(100);
    $draw->annotation(50, 50, "Lorem Ipsum!");

    $draw->setFontWeight(200);
    $draw->annotation(50, 100, "Lorem Ipsum!");

    $draw->setFontWeight(400);
    $draw->annotation(50, 150, "Lorem Ipsum!");

    $draw->setFontWeight(800);
    $draw->annotation(50, 200, "Lorem Ipsum!");

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

ImagickDraw::setFontStyle
ImagickDraw::setGravity
ImagickDraw


Sets the text placement gravity

ImagickDraw::setFontWeight
ImagickDraw::setResolution
ImagickDraw
PHP Manual

ImagickDraw::setGravity

(PECL imagick 2.0.0)

ImagickDraw::setGravity — Sets the text placement gravity

Beschreibung

bool ImagickDraw::setGravity ( int $gravity )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Sets the text placement gravity to use when annotating with text.

Parameter-Liste

gravity

GRAVITY_ constant

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::setGravity()

<?php
function setGravity($fillColor, $strokeColor, $backgroundColor) {

    $draw = new \ImagickDraw();
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(1);
    $draw->setFontSize(24);

    $gravitySettings = array(
        \Imagick::GRAVITY_NORTHWEST => 'NorthWest',
        \Imagick::GRAVITY_NORTH => 'North',
        \Imagick::GRAVITY_NORTHEAST => 'NorthEast',
        \Imagick::GRAVITY_WEST => 'West',
        \Imagick::GRAVITY_CENTER => 'Centre',
        \Imagick::GRAVITY_SOUTHWEST => 'SouthWest',
        \Imagick::GRAVITY_SOUTH => 'South',
        \Imagick::GRAVITY_SOUTHEAST => 'SouthEast',
        \Imagick::GRAVITY_EAST => 'East'
    );

    $draw->setFont("../fonts/Arial.ttf");

    foreach ($gravitySettings as $type => $description) {
        $draw->setGravity($type);
        $draw->annotation(50, 50, '"' . $description . '"');
    }

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

ImagickDraw::setFontWeight
ImagickDraw::setResolution
ImagickDraw


Description

ImagickDraw::setGravity
ImagickDraw::setStrokeAlpha
ImagickDraw
PHP Manual

ImagickDraw::setResolution

(No version information available, might only be in Git)

ImagickDraw::setResolution — Description

Beschreibung

public void ImagickDraw::setResolution ( string $x_resolution , string $y_resolution )

Sets the resolution.

Parameter-Liste

x_resolution

y_resolution

Rückgabewerte

ImagickDraw::setGravity
ImagickDraw::setStrokeAlpha
ImagickDraw


Specifies the opacity of stroked object outlines

ImagickDraw::setResolution
ImagickDraw::setStrokeAntialias
ImagickDraw
PHP Manual

ImagickDraw::setStrokeAlpha

(PECL imagick 2.0.0)

ImagickDraw::setStrokeAlpha — Specifies the opacity of stroked object outlines

Beschreibung

bool ImagickDraw::setStrokeAlpha ( float $opacity )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Specifies the opacity of stroked object outlines.

Parameter-Liste

opacity

opacity

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::setStrokeAlpha()

<?php
function setStrokeAlpha($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(4);
    $draw->line(100, 100, 400, 145);
    $draw->rectangle(100, 200, 225, 350);
    $draw->setStrokeOpacity(0.1);
    $draw->line(100, 120, 400, 165);
    $draw->rectangle(275, 200, 400, 350);

    $image = new \Imagick();
    $image->newImage(500, 400, $backgroundColor);
    $image->setImageFormat("png");

    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>

ImagickDraw::setResolution
ImagickDraw::setStrokeAntialias
ImagickDraw


Controls whether stroked outlines are antialiased

ImagickDraw::setStrokeAlpha
ImagickDraw::setStrokeColor
ImagickDraw
PHP Manual

ImagickDraw::setStrokeAntialias

(PECL imagick 2.0.0)

ImagickDraw::setStrokeAntialias — Controls whether stroked outlines are antialiased

Beschreibung

bool ImagickDraw::setStrokeAntialias ( bool $stroke_antialias )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Controls whether stroked outlines are antialiased. Stroked outlines are antialiased by default. When antialiasing is disabled stroked pixels are thresholded to determine if the stroke color or underlying canvas color should be used.

Parameter-Liste

stroke_antialias

the antialias setting

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::setStrokeAntialias()

<?php
function setStrokeAntialias($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(1);
    $draw->setStrokeAntialias(false);
    $draw->line(100, 100, 400, 105);

    $draw->line(100, 140, 400, 185);

    $draw->setStrokeAntialias(true);
    $draw->line(100, 110, 400, 115);
    $draw->line(100, 150, 400, 195);

    $image = new \Imagick();
    $image->newImage(500, 250, $backgroundColor);
    $image->setImageFormat("png");

    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>

ImagickDraw::setStrokeAlpha
ImagickDraw::setStrokeColor
ImagickDraw


Sets the color used for stroking object outlines

ImagickDraw::setStrokeAntialias
ImagickDraw::setStrokeDashArray
ImagickDraw
PHP Manual

ImagickDraw::setStrokeColor

(PECL imagick 2.0.0)

ImagickDraw::setStrokeColor — Sets the color used for stroking object outlines

Beschreibung

bool ImagickDraw::setStrokeColor ( ImagickPixel $stroke_pixel )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Sets the color used for stroking object outlines.

Parameter-Liste

stroke_pixel

the stroke color

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::setStrokeColor()

<?php
function setStrokeColor($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(5);

    $draw->line(100, 100, 400, 145);
    $draw->rectangle(100, 200, 225, 350);

    $draw->setStrokeOpacity(0.1);
    $draw->line(100, 120, 400, 165);
    $draw->rectangle(275, 200, 400, 350);

    $image = new \Imagick();
    $image->newImage(500, 400, $backgroundColor);
    $image->setImageFormat("png");

    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>

ImagickDraw::setStrokeAntialias
ImagickDraw::setStrokeDashArray
ImagickDraw


Specifies the pattern of dashes and gaps used to stroke paths

ImagickDraw::setStrokeColor
ImagickDraw::setStrokeDashOffset
ImagickDraw
PHP Manual

ImagickDraw::setStrokeDashArray

(PECL imagick 2.0.0)

ImagickDraw::setStrokeDashArray — Specifies the pattern of dashes and gaps used to stroke paths

Beschreibung

bool ImagickDraw::setStrokeDashArray ( array $dashArray )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Specifies the pattern of dashes and gaps used to stroke paths. The strokeDashArray represents an array of numbers that specify the lengths of alternating dashes and gaps in pixels. If an odd number of values is provided, then the list of values is repeated to yield an even number of values. To remove an existing dash array, pass a zero number_elements argument and null dash_array. A typical strokeDashArray_ array might contain the members 5 3 2.

Parameter-Liste

dashArray

array of floats

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 ImagickDraw::setStrokeDashArray()

<?php
function setStrokeDashArray($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(4);

    $draw->setStrokeDashArray([10, 10]);
    $draw->rectangle(100, 50, 225, 175);

    $draw->setStrokeDashArray([20, 5, 20, 5, 5, 5,]);
    $draw->rectangle(275, 50, 400, 175);

    $draw->setStrokeDashArray([20, 5, 20, 5, 5]);
    $draw->rectangle(100, 200, 225, 350);

    $draw->setStrokeDashArray([1, 1, 1, 1, 2, 2, 3, 3, 5, 5, 8, 8, 13, 13, 21, 21, 34, 34, 55, 55, 89, 89, 144, 144, 233, 233, 377, 377, 610, 610, 987, 987, 1597, 1597, 2584, 2584, 4181, 4181,]);

    $draw->rectangle(275, 200, 400, 350);

    $image = new \Imagick();
    $image->newImage(500, 400, $backgroundColor);
    $image->setImageFormat("png");
    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>

ImagickDraw::setStrokeColor
ImagickDraw::setStrokeDashOffset
ImagickDraw


Specifies the offset into the dash pattern to start the dash

ImagickDraw::setStrokeDashArray
ImagickDraw::setStrokeLineCap
ImagickDraw
PHP Manual

ImagickDraw::setStrokeDashOffset

(PECL imagick 2.0.0)

ImagickDraw::setStrokeDashOffset — Specifies the offset into the dash pattern to start the dash

Beschreibung

bool ImagickDraw::setStrokeDashOffset ( float $dash_offset )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Specifies the offset into the dash pattern to start the dash.

Parameter-Liste

dash_offset

dash offset

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::setStrokeDashOffset()

<?php
function setStrokeDashOffset($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(4);
    $draw->setStrokeDashArray([20, 20]);
    $draw->setStrokeDashOffset(0);
    $draw->rectangle(100, 50, 225, 175);

    //Start the dash effect halfway through the solid portion
    $draw->setStrokeDashOffset(10);
    $draw->rectangle(275, 50, 400, 175);

    //Start the dash effect on the space portion
    $draw->setStrokeDashOffset(20);
    $draw->rectangle(100, 200, 225, 350);
    $draw->setStrokeDashOffset(5);
    $draw->rectangle(275, 200, 400, 350);

    $image = new \Imagick();
    $image->newImage(500, 400, $backgroundColor);
    $image->setImageFormat("png");
    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>

ImagickDraw::setStrokeDashArray
ImagickDraw::setStrokeLineCap
ImagickDraw


Specifies the shape to be used at the end of open subpaths when they are stroked

ImagickDraw::setStrokeDashOffset
ImagickDraw::setStrokeLineJoin
ImagickDraw
PHP Manual

ImagickDraw::setStrokeLineCap

(PECL imagick 2.0.0)

ImagickDraw::setStrokeLineCap — Specifies the shape to be used at the end of open subpaths when they are stroked

Beschreibung

bool ImagickDraw::setStrokeLineCap ( int $linecap )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Specifies the shape to be used at the end of open subpaths when they are stroked.

Parameter-Liste

linecap

LINECAP_ constant

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::setStrokeLineCap()

<?php
function setStrokeLineCap($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(25);

    $lineTypes = [\Imagick::LINECAP_BUTT, \Imagick::LINECAP_ROUND, \Imagick::LINECAP_SQUARE,];

    $offset = 0;

    foreach ($lineTypes as $lineType) {
        $draw->setStrokeLineCap($lineType);
        $draw->line(50 + $offset, 50, 50 + $offset, 250);
        $offset += 50;
    }

    $imagick = new \Imagick();
    $imagick->newImage(300, 300, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

ImagickDraw::setStrokeDashOffset
ImagickDraw::setStrokeLineJoin
ImagickDraw


Specifies the shape to be used at the corners of paths when they are stroked

ImagickDraw::setStrokeLineCap
ImagickDraw::setStrokeMiterLimit
ImagickDraw
PHP Manual

ImagickDraw::setStrokeLineJoin

(PECL imagick 2.0.0)

ImagickDraw::setStrokeLineJoin — Specifies the shape to be used at the corners of paths when they are stroked

Beschreibung

bool ImagickDraw::setStrokeLineJoin ( int $linejoin )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Specifies the shape to be used at the corners of paths (or other vector shapes) when they are stroked.

Parameter-Liste

linejoin

LINEJOIN_ constant

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::setStrokeLineJoin()

<?php
function setStrokeLineJoin($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();
    $draw->setStrokeWidth(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(20);

    $offset = 220;

    $lineJoinStyle = [
        \Imagick::LINEJOIN_MITER,
        \Imagick::LINEJOIN_ROUND,
        \Imagick::LINEJOIN_BEVEL,
        ];

    for ($x = 0; $x < count($lineJoinStyle); $x++) {
        $draw->setStrokeLineJoin($lineJoinStyle[$x]);
        $points = [
            ['x' => 40 * 5, 'y' => 10 * 5 + $x * $offset],
            ['x' => 20 * 5, 'y' => 20 * 5 + $x * $offset],
            ['x' => 70 * 5, 'y' => 50 * 5 + $x * $offset],
            ['x' => 40 * 5, 'y' => 10 * 5 + $x * $offset],
        ];

        $draw->polyline($points);
    }

    $image = new \Imagick();
    $image->newImage(500, 700, $backgroundColor);
    $image->setImageFormat("png");

    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>

ImagickDraw::setStrokeLineCap
ImagickDraw::setStrokeMiterLimit
ImagickDraw


Specifies the miter limit

ImagickDraw::setStrokeLineJoin
ImagickDraw::setStrokeOpacity
ImagickDraw
PHP Manual

ImagickDraw::setStrokeMiterLimit

(PECL imagick 2.0.0)

ImagickDraw::setStrokeMiterLimit — Specifies the miter limit

Beschreibung

bool ImagickDraw::setStrokeMiterLimit ( int $miterlimit )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Specifies the miter limit. When two line segments meet at a sharp angle and miter joins have been specified for 'lineJoin', it is possible for the miter to extend far beyond the thickness of the line stroking the path. The miterLimit' imposes a limit on the ratio of the miter length to the 'lineWidth'.

Parameter-Liste

miterlimit

the miter limit

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::setStrokeMiterLimit()

<?php
function setStrokeMiterLimit($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setStrokeOpacity(0.6);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(10);

    $yOffset = 100;

    $draw->setStrokeLineJoin(\Imagick::LINEJOIN_MITER);

    for ($y = 0; $y < 3; $y++) {

        $draw->setStrokeMiterLimit(40 * $y);

        $points = [
            ['x' => 22 * 3, 'y' => 15 * 4 + $y * $yOffset],
            ['x' => 20 * 3, 'y' => 20 * 4 + $y * $yOffset],
            ['x' => 70 * 5, 'y' => 45 * 4 + $y * $yOffset],
        ];

        $draw->polygon($points);
    }

    $image = new \Imagick();
    $image->newImage(500, 500, $backgroundColor);
    $image->setImageFormat("png");
    $image->drawImage($draw);

    $image->setImageType(\Imagick::IMGTYPE_PALETTE);
    $image->setImageCompressionQuality(100);
    $image->stripImage();

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>

ImagickDraw::setStrokeLineJoin
ImagickDraw::setStrokeOpacity
ImagickDraw


Specifies the opacity of stroked object outlines

ImagickDraw::setStrokeMiterLimit
ImagickDraw::setStrokePatternURL
ImagickDraw
PHP Manual

ImagickDraw::setStrokeOpacity

(PECL imagick 2.0.0)

ImagickDraw::setStrokeOpacity — Specifies the opacity of stroked object outlines

Beschreibung

bool ImagickDraw::setStrokeOpacity ( float $stroke_opacity )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Specifies the opacity of stroked object outlines.

Parameter-Liste

stroke_opacity

stroke opacity. 1.0 is fully opaque

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::setStrokeOpacity()

<?php
function setStrokeOpacity($strokeColor, $fillColor, $backgroundColor) {
    $draw = new \ImagickDraw();

    $draw->setStrokeWidth(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(10);
    $draw->setStrokeOpacity(1);
    $draw->line(100, 80, 400, 125);
    $draw->rectangle(25, 200, 150, 350);
    $draw->setStrokeOpacity(0.5);
    $draw->line(100, 100, 400, 145);
    $draw->rectangle(200, 200, 325, 350);
    $draw->setStrokeOpacity(0.2);
    $draw->line(100, 120, 400, 165);
    $draw->rectangle(375, 200, 500, 350);

    $image = new \Imagick();
    $image->newImage(550, 400, $backgroundColor);
    $image->setImageFormat("png");
    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>

ImagickDraw::setStrokeMiterLimit
ImagickDraw::setStrokePatternURL
ImagickDraw


Sets the pattern used for stroking object outlines

ImagickDraw::setStrokeOpacity
ImagickDraw::setStrokeWidth
ImagickDraw
PHP Manual

ImagickDraw::setStrokePatternURL

(PECL imagick 2.0.0)

ImagickDraw::setStrokePatternURL — Sets the pattern used for stroking object outlines

Beschreibung

bool ImagickDraw::setStrokePatternURL ( string $stroke_url )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Sets the pattern used for stroking object outlines.

Parameter-Liste

stroke_url

stroke URL

Rückgabewerte

imagick.imagickdraw.return.success;

ImagickDraw::setStrokeOpacity
ImagickDraw::setStrokeWidth
ImagickDraw


Sets the width of the stroke used to draw object outlines

ImagickDraw::setStrokePatternURL
ImagickDraw::setTextAlignment
ImagickDraw
PHP Manual

ImagickDraw::setStrokeWidth

(PECL imagick 2.0.0)

ImagickDraw::setStrokeWidth — Sets the width of the stroke used to draw object outlines

Beschreibung

bool ImagickDraw::setStrokeWidth ( float $stroke_width )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Sets the width of the stroke used to draw object outlines.

Parameter-Liste

stroke_width

stroke width

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::setStrokeWidth()

<?php
function setStrokeWidth($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeWidth(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->line(100, 100, 400, 145);
    $draw->rectangle(100, 200, 225, 350);
    $draw->setStrokeWidth(5);
    $draw->line(100, 120, 400, 165);
    $draw->rectangle(275, 200, 400, 350);

    $image = new \Imagick();
    $image->newImage(500, 400, $backgroundColor);
    $image->setImageFormat("png");
    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>

ImagickDraw::setStrokePatternURL
ImagickDraw::setTextAlignment
ImagickDraw


Specifies a text alignment

ImagickDraw::setStrokeWidth
ImagickDraw::setTextAntialias
ImagickDraw
PHP Manual

ImagickDraw::setTextAlignment

(PECL imagick 2.0.0)

ImagickDraw::setTextAlignment — Specifies a text alignment

Beschreibung

bool ImagickDraw::setTextAlignment ( int $alignment )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Specifies a text alignment to be applied when annotating with text.

Parameter-Liste

alignment

ALIGN_ constant

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::setTextAlignment()

<?php
function setTextAlignment($strokeColor, $fillColor, $backgroundColor) {
    $draw = new \ImagickDraw();
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(1);
    $draw->setFontSize(36);

    $draw->setTextAlignment(\Imagick::ALIGN_LEFT);
    $draw->annotation(250, 75, "Lorem Ipsum!");
    $draw->setTextAlignment(\Imagick::ALIGN_CENTER);
    $draw->annotation(250, 150, "Lorem Ipsum!");
    $draw->setTextAlignment(\Imagick::ALIGN_RIGHT);
    $draw->annotation(250, 225, "Lorem Ipsum!");
    $draw->line(250, 0, 250, 500);

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

ImagickDraw::setStrokeWidth
ImagickDraw::setTextAntialias
ImagickDraw


Controls whether text is antialiased

ImagickDraw::setTextAlignment
ImagickDraw::setTextDecoration
ImagickDraw
PHP Manual

ImagickDraw::setTextAntialias

(PECL imagick 2.0.0)

ImagickDraw::setTextAntialias — Controls whether text is antialiased

Beschreibung

bool ImagickDraw::setTextAntialias ( bool $antiAlias )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Controls whether text is antialiased. Text is antialiased by default.

Parameter-Liste

antiAlias

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::setTextAntialias()

<?php
function setTextAntialias($fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();
    $draw->setStrokeColor('none');
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(1);
    $draw->setFontSize(32);
    $draw->setTextAntialias(false);
    $draw->annotation(5, 30, "Lorem Ipsum!");
    $draw->setTextAntialias(true);
    $draw->annotation(5, 65, "Lorem Ipsum!");

    $imagick = new \Imagick();
    $imagick->newImage(220, 80, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    //Scale the image so that people can see the aliasing.
    $imagick->scaleImage(220 * 6, 80 * 6);
    $imagick->cropImage(640, 480, 0, 0);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

ImagickDraw::setTextAlignment
ImagickDraw::setTextDecoration
ImagickDraw


Specifies a decoration

ImagickDraw::setTextAntialias
ImagickDraw::setTextEncoding
ImagickDraw
PHP Manual

ImagickDraw::setTextDecoration

(PECL imagick 2.0.0)

ImagickDraw::setTextDecoration — Specifies a decoration

Beschreibung

bool ImagickDraw::setTextDecoration ( int $decoration )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Specifies a decoration to be applied when annotating with text.

Parameter-Liste

decoration

DECORATION_ constant

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::setTextDecoration()

<?php
function setTextDecoration($strokeColor, $fillColor, $backgroundColor, $textDecoration) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);
    $draw->setTextDecoration($textDecoration);
    $draw->annotation(50, 75, "Lorem Ipsum!");

    $imagick = new \Imagick();
    $imagick->newImage(500, 200, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

ImagickDraw::setTextAntialias
ImagickDraw::setTextEncoding
ImagickDraw


Specifies the text code set

ImagickDraw::setTextDecoration
ImagickDraw::setTextInterlineSpacing
ImagickDraw
PHP Manual

ImagickDraw::setTextEncoding

(PECL imagick 2.0.0)

ImagickDraw::setTextEncoding — Specifies the text code set

Beschreibung

bool ImagickDraw::setTextEncoding ( string $encoding )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Specifies the code set to use for text annotations. The only character encoding which may be specified at this time is "UTF-8" for representing Unicode as a sequence of bytes. Specify an empty string to set text encoding to the system's default. Successful text annotation using Unicode may require fonts designed to support Unicode.

Parameter-Liste

encoding

the encoding name

Rückgabewerte

Es wird kein Wert zurückgegeben.

ImagickDraw::setTextDecoration
ImagickDraw::setTextInterlineSpacing
ImagickDraw


Description

ImagickDraw::setTextEncoding
ImagickDraw::setTextInterwordSpacing
ImagickDraw
PHP Manual

ImagickDraw::setTextInterlineSpacing

(No version information available, might only be in Git)

ImagickDraw::setTextInterlineSpacing — Description

Beschreibung

public void ImagickDraw::setTextInterlineSpacing ( float $spacing )

Sets the text interline spacing.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

spacing

Rückgabewerte

ImagickDraw::setTextEncoding
ImagickDraw::setTextInterwordSpacing
ImagickDraw


Description

ImagickDraw::setTextInterlineSpacing
ImagickDraw::setTextKerning
ImagickDraw
PHP Manual

ImagickDraw::setTextInterwordSpacing

(No version information available, might only be in Git)

ImagickDraw::setTextInterwordSpacing — Description

Beschreibung

public void ImagickDraw::setTextInterwordSpacing ( float $spacing )

Sets the text interword spacing.

Parameter-Liste

spacing

Rückgabewerte

ImagickDraw::setTextInterlineSpacing
ImagickDraw::setTextKerning
ImagickDraw


Description

ImagickDraw::setTextInterwordSpacing
ImagickDraw::setTextUnderColor
ImagickDraw
PHP Manual

ImagickDraw::setTextKerning

(No version information available, might only be in Git)

ImagickDraw::setTextKerning — Description

Beschreibung

public void ImagickDraw::setTextKerning ( float $kerning )

Sets the text kerning

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

kerning

Rückgabewerte

ImagickDraw::setTextInterwordSpacing
ImagickDraw::setTextUnderColor
ImagickDraw


Specifies the color of a background rectangle

ImagickDraw::setTextKerning
ImagickDraw::setVectorGraphics
ImagickDraw
PHP Manual

ImagickDraw::setTextUnderColor

(PECL imagick 2.0.0)

ImagickDraw::setTextUnderColor — Specifies the color of a background rectangle

Beschreibung

bool ImagickDraw::setTextUnderColor ( ImagickPixel $under_color )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Specifies the color of a background rectangle to place under text annotations.

Parameter-Liste

under_color

the under color

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::setTextUnderColor()

<?php
function setTextUnderColor($strokeColor, $fillColor, $backgroundColor, $textUnderColor) {
    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);
    $draw->annotation(50, 75, "Lorem Ipsum!");
    $draw->setTextUnderColor($textUnderColor);
    $draw->annotation(50, 175, "Lorem Ipsum!");

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

ImagickDraw::setTextKerning
ImagickDraw::setVectorGraphics
ImagickDraw


Sets the vector graphics

ImagickDraw::setTextUnderColor
ImagickDraw::setViewbox
ImagickDraw
PHP Manual

ImagickDraw::setVectorGraphics

(PECL imagick 2.0.0)

ImagickDraw::setVectorGraphics — Sets the vector graphics

Beschreibung

bool ImagickDraw::setVectorGraphics ( string $xml )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Sets the vector graphics associated with the specified ImagickDraw object. Use this method with ImagickDraw::getVectorGraphics() as a method to persist the vector graphics state.

Parameter-Liste

xml

xml containing the vector graphics

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::setVectorGraphics()

<?php
function setVectorGraphics() {
    //Setup a draw object with some drawing in it.
    $draw = new \ImagickDraw();
    $draw->setFillColor("red");
    $draw->circle(20, 20, 50, 50);
    $draw->setFillColor("blue");
    $draw->circle(50, 70, 50, 50);
    $draw->rectangle(50, 120, 80, 150);

    //Get the drawing as a string
    $SVG = $draw->getVectorGraphics();

    //$svg is a string, and could be saved anywhere a string can be saved

    //Use the saved drawing to generate a new draw object
    $draw2 = new \ImagickDraw();
    //Apparently the SVG text is missing the root element.
    $draw2->setVectorGraphics("<root>".$SVG."</root>");

    $imagick = new \Imagick();
    $imagick->newImage(200, 200, 'white');
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw2);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

ImagickDraw::setTextUnderColor
ImagickDraw::setViewbox
ImagickDraw


Sets the overall canvas size

ImagickDraw::setVectorGraphics
ImagickDraw::skewX
ImagickDraw
PHP Manual

ImagickDraw::setViewbox

(PECL imagick 2.0.0)

ImagickDraw::setViewbox — Sets the overall canvas size

Beschreibung

bool ImagickDraw::setViewbox ( int $x1 , int $y1 , int $x2 , int $y2 )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Sets the overall canvas size to be recorded with the drawing vector data. Usually this will be specified using the same size as the canvas image. When the vector data is saved to SVG or MVG formats, the viewbox is use to specify the size of the canvas image that a viewer will render the vector data on.

Parameter-Liste

x1

left x coordinate

y1

left y coordinate

x2

right x coordinate

y2

right y coordinate

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::setViewBox()

<?php
function setViewBox($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);

    /*

    Sets the overall canvas size to be recorded with the drawing vector data. Usually this will be specified using the same size as the canvas image. When the vector data is saved to SVG or MVG formats, the viewbox is use to specify the size of the canvas image that a viewer will render the vector data on.

     */

    $draw->circle(250, 250, 250, 0);
    $draw->setviewbox(0, 0, 200, 200);
    $draw->circle(125, 250, 250, 250);
    $draw->translate(250, 125);
    $draw->circle(0, 0, 125, 0);

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

ImagickDraw::setVectorGraphics
ImagickDraw::skewX
ImagickDraw


Skews the current coordinate system in the horizontal direction

ImagickDraw::setViewbox
ImagickDraw::skewY
ImagickDraw
PHP Manual

ImagickDraw::skewX

(PECL imagick 2.0.0)

ImagickDraw::skewX — Skews the current coordinate system in the horizontal direction

Beschreibung

bool ImagickDraw::skewX ( float $degrees )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Skews the current coordinate system in the horizontal direction.

Parameter-Liste

degrees

degrees to skew

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::skewX()

<?php
function skewX($strokeColor, $fillColor, $backgroundColor, $fillModifiedColor,
               $startX, $startY, $endX, $endY, $skew) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setStrokeWidth(2);
    $draw->setFillColor($fillColor);
    $draw->rectangle($startX, $startY, $endX, $endY);
    $draw->setFillColor($fillModifiedColor);
    $draw->skewX($skew);
    $draw->rectangle($startX, $startY, $endX, $endY);

    $image = new \Imagick();
    $image->newImage(500, 500, $backgroundColor);
    $image->setImageFormat("png");

    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>

ImagickDraw::setViewbox
ImagickDraw::skewY
ImagickDraw


Skews the current coordinate system in the vertical direction

ImagickDraw::skewX
ImagickDraw::translate
ImagickDraw
PHP Manual

ImagickDraw::skewY

(PECL imagick 2.0.0)

ImagickDraw::skewY — Skews the current coordinate system in the vertical direction

Beschreibung

bool ImagickDraw::skewY ( float $degrees )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Skews the current coordinate system in the vertical direction.

Parameter-Liste

degrees

degrees to skew

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::skewY()

<?php
function skewY($strokeColor, $fillColor, $backgroundColor, $fillModifiedColor,
               $startX, $startY, $endX, $endY, $skew) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setStrokeWidth(2);
    $draw->setFillColor($fillColor);
    $draw->rectangle($startX, $startY, $endX, $endY);
    $draw->setFillColor($fillModifiedColor);
    $draw->skewY($skew);
    $draw->rectangle($startX, $startY, $endX, $endY);

    $image = new \Imagick();
    $image->newImage(500, 500, $backgroundColor);
    $image->setImageFormat("png");
    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>

ImagickDraw::skewX
ImagickDraw::translate
ImagickDraw


Applies a translation to the current coordinate system

ImagickDraw::skewY
ImagickPixel
ImagickDraw
PHP Manual

ImagickDraw::translate

(PECL imagick 2.0.0)

ImagickDraw::translate — Applies a translation to the current coordinate system

Beschreibung

bool ImagickDraw::translate ( float $x , float $y )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Applies a translation to the current coordinate system which moves the coordinate system origin to the specified coordinate.

Parameter-Liste

x

horizontal translation

y

vertical translation

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ImagickDraw::translate()

<?php
function translate($strokeColor, $fillColor, $backgroundColor, $fillModifiedColor,
                   $startX, $startY, $endX, $endY, $translateX, $translateY) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->rectangle($startX, $startY, $endX, $endY);

    $draw->setFillColor($fillModifiedColor);
    $draw->translate($translateX, $translateY);
    $draw->rectangle($startX, $startY, $endX, $endY);

    $image = new \Imagick();
    $image->newImage(500, 500, $backgroundColor);
    $image->setImageFormat("png");

    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>

ImagickDraw::skewY
ImagickPixel
ImagickDraw


The ImagickPixel class

(PECL imagick 2.0.0)

Klassenbeschreibung

ImagickPixel {
bool clear ( void )
__construct ([ string $color ] )
bool destroy ( void )
array getColor ([ bool $normalized = false ] )
string getColorAsString ( void )
int getColorCount ( void )
public mixed getColorQuantum ( void )
float getColorValue ( int $color )
public mixed getColorValueQuantum ( void )
array getHSL ( void )
public int getIndex ( void )
bool isPixelSimilar ( ImagickPixel $color , float $fuzz )
public bool isPixelSimilarQuantum ( string $color [, string $fuzz ] )
bool isSimilar ( ImagickPixel $color , float $fuzz )
bool setColor ( string $color )
public void setcolorcount ( string $colorCount )
bool setColorValue ( int $color , float $value )
public void setColorValueQuantum ( int $color , mixed $value )
bool setHSL ( float $hue , float $saturation , float $luminosity )
public void setIndex ( int $index )
}

Inhaltsverzeichnis

  • ImagickPixel::clear — Clears resources associated with this object
  • ImagickPixel::__construct — The ImagickPixel constructor
  • ImagickPixel::destroy — Deallocates resources associated with this object
  • ImagickPixel::getColor — Returns the color
  • ImagickPixel::getColorAsString — Returns the color as a string
  • ImagickPixel::getColorCount — Returns the color count associated with this color
  • ImagickPixel::getColorQuantum — Description
  • ImagickPixel::getColorValue — Gets the normalized value of the provided color channel
  • ImagickPixel::getColorValueQuantum — Description
  • ImagickPixel::getHSL — Returns the normalized HSL color of the ImagickPixel object
  • ImagickPixel::getIndex — Description
  • ImagickPixel::isPixelSimilar — Check the distance between this color and another
  • ImagickPixel::isPixelSimilarQuantum — Description
  • ImagickPixel::isSimilar — Check the distance between this color and another
  • ImagickPixel::setColor — Sets the color
  • ImagickPixel::setColorCount — Description
  • ImagickPixel::setColorValue — Sets the normalized value of one of the channels
  • ImagickPixel::setColorValueQuantum — Description
  • ImagickPixel::setHSL — Sets the normalized HSL color
  • ImagickPixel::setIndex — Description
ImagickDraw::translate
ImagickPixel::clear
ImageMagick


Clears resources associated with this object

ImagickPixel
ImagickPixel::__construct
ImagickPixel
PHP Manual

ImagickPixel::clear

(PECL imagick 2.0.0)

ImagickPixel::clear — Clears resources associated with this object

Beschreibung

bool ImagickPixel::clear ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Clears the ImagickPixel object, leaving it in a fresh state. This also unsets any color associated with the object.

Rückgabewerte

Liefert TRUE bei Erfolg.

ImagickPixel
ImagickPixel::__construct
ImagickPixel


The ImagickPixel constructor

ImagickPixel::clear
ImagickPixel::destroy
ImagickPixel
PHP Manual

ImagickPixel::__construct

(PECL imagick 2.0.0)

ImagickPixel::__construct — The ImagickPixel constructor

Beschreibung

ImagickPixel::__construct ([ string $color ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Constructs an ImagickPixel object. If a color is specified, the object is constructed and then initialised with that color before being returned.

Parameter-Liste

color

The optional color string to use as the initial value of this object.

Rückgabewerte

Returns an ImagickPixel object on success, throwing ImagickPixelException on failure.

Beispiele

Beispiel #1 ImagickPixel::construct()

<?php
function construct() {

    $columns = 4;

    $exampleColors = array(
        "rgba(100%, 0%, 0%, 0.5)",
        "hsb(33.3333%, 100%,  75%)", // medium green
        "hsl(120, 255,   191.25)", //medium green
        "graya(50%, 0.5)", //  semi-transparent mid gray
        "LightCoral", "none", //"cmyk(0.9, 0.48, 0.83, 0.50)",
        "#f00", //  #rgb
        "#ff0000", //  #rrggbb
        "#ff0000ff", //  #rrggbbaa
        "#ffff00000000", //  #rrrrggggbbbb
        "#ffff00000000ffff", //  #rrrrggggbbbbaaaa
        "rgb(255, 0, 0)", //  an integer in the range 0—255 for each component
        "rgb(100.0%, 0.0%, 0.0%)", //  a float in the range 0—100% for each component
        "rgb(255, 0, 0)", //  range 0 - 255
        "rgba(255, 0, 0, 1.0)", //  the same, with an explicit alpha value
        "rgb(100%, 0%, 0%)", //  range 0.0% - 100.0%
        "rgba(100%, 0%, 0%, 1.0)", //  the same, with an explicit alpha value
    );

    $draw = new \ImagickDraw();
    $count = 0;
    $black = new \ImagickPixel('rgb(0, 0, 0)');

    foreach ($exampleColors as $exampleColor) {
        $color = new \ImagickPixel($exampleColor);

        $draw->setstrokewidth(1.0);
        $draw->setStrokeColor($black);
        $draw->setFillColor($color);
        $offsetX = ($count % $columns) * 50 + 5;
        $offsetY = intval($count / $columns) * 50 + 5;
        $draw->rectangle(0 + $offsetX, 0 + $offsetY, 40 + $offsetX, 40 + $offsetY);
        $count++;
    }

    $image = new \Imagick();
    $image->newImage(350, 350, "blue");
    $image->setImageFormat("png");
    $image->drawImage($draw);
    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>

ImagickPixel::clear
ImagickPixel::destroy
ImagickPixel


Deallocates resources associated with this object

ImagickPixel::__construct
ImagickPixel::getColor
ImagickPixel
PHP Manual

ImagickPixel::destroy

(PECL imagick 2.0.0)

ImagickPixel::destroy — Deallocates resources associated with this object

Beschreibung

bool ImagickPixel::destroy ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Deallocates any resources used by the ImagickPixel object, and unsets any associated color. The object should not be used after the destroy function has been called.

Rückgabewerte

Liefert TRUE bei Erfolg.

ImagickPixel::__construct
ImagickPixel::getColor
ImagickPixel


Returns the color

ImagickPixel::destroy
ImagickPixel::getColorAsString
ImagickPixel
PHP Manual

ImagickPixel::getColor

(PECL imagick 2.0.0)

ImagickPixel::getColor — Returns the color

Beschreibung

array ImagickPixel::getColor ([ bool $normalized = false ] )

Returns the color described by the ImagickPixel object, as an array. If the color has an opacity channel set, this is provided as a fourth value in the list.

Parameter-Liste

normalized

Normalize the color values

Rückgabewerte

An array of channel values, each normalized if TRUE is given as param. Throws ImagickPixelException on error.

Beispiele

Beispiel #1 Basic Imagick::getColor() usage

<?php

//Create an ImagickPixel with the predefined color 'brown'
$color = new ImagickPixel('brown');

//Set the color to have an alpha of 25%
$color->setColorValue(Imagick::COLOR_ALPHA, 64 / 256.0);

$colorInfo = $color->getColor();

echo "Standard values".PHP_EOL;
print_r($colorInfo);

$colorInfo = $color->getColor(true);

echo "Normalized values:".PHP_EOL;
print_r($colorInfo);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Standard values
Array
(
    [r] => 165
    [g] => 42
    [b] => 42
    [a] => 0
)
Normalized values:
Array
(
    [r] => 0.64705882352941
    [g] => 0.16470588235294
    [b] => 0.16470588235294
    [a] => 0.25000381475547
)

ImagickPixel::destroy
ImagickPixel::getColorAsString
ImagickPixel


Returns the color as a string

ImagickPixel::getColor
ImagickPixel::getColorCount
ImagickPixel
PHP Manual

ImagickPixel::getColorAsString

(PECL imagick 2.1.0)

ImagickPixel::getColorAsString — Returns the color as a string

Beschreibung

string ImagickPixel::getColorAsString ( void )

Returns the color of the ImagickPixel object as a string.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the color of the ImagickPixel object as a string.

Beispiele

Beispiel #1 Basic Imagick::getColorAsString() usage

<?php

//Create an ImagickPixel with the predefined color 'brown'
$color = new ImagickPixel('brown');

$color->setColorValue(Imagick::COLOR_ALPHA, 64 / 256.0);

$colorInfo = $color->getColorAsString();

print_r($colorInfo);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

rgb(165,42,42)

Anmerkungen

Hinweis: Alpha not returned

This function does not return the alpha value of the color in the string.

ImagickPixel::getColor
ImagickPixel::getColorCount
ImagickPixel


Returns the color count associated with this color

ImagickPixel::getColorAsString
ImagickPixel::getColorQuantum
ImagickPixel
PHP Manual

ImagickPixel::getColorCount

(PECL imagick 2.0.0)

ImagickPixel::getColorCount — Returns the color count associated with this color

Beschreibung

int ImagickPixel::getColorCount ( void )

Returns the color count associated with this color.

The color count is the number of pixels in the image that have the same color as this ImagickPixel.

ImagickPixel::getColorCount appears to only work for ImagickPixel objects created through Imagick::getImageHistogram()

Rückgabewerte

Returns the color count as an integer on success, throws ImagickPixelException on failure.

Beispiele

Beispiel #1 ImagickPixel getColorCount()

<?php
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $histogramElements = $imagick->getImageHistogram();
    $lastColor = array_pop($histogramElements);
    echo "Last pixel color count is: ".$lastColor->getColorCount();
?>

The output for this will be similar to:

Last pixel color count is: 256244

ImagickPixel::getColorAsString
ImagickPixel::getColorQuantum
ImagickPixel


Description

ImagickPixel::getColorCount
ImagickPixel::getColorValue
ImagickPixel
PHP Manual

ImagickPixel::getColorQuantum

(No version information available, might only be in Git)

ImagickPixel::getColorQuantum — Description

Beschreibung

public mixed ImagickPixel::getColorQuantum ( void )

Returns the color of the pixel in an array as Quantum values. If ImageMagick was compiled as HDRI these will be floats, otherwise they will be integers.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The quantum value of the color element. Float if ImageMagick was compiled with HDRI, otherwise an int.

ImagickPixel::getColorCount
ImagickPixel::getColorValue
ImagickPixel


Gets the normalized value of the provided color channel

ImagickPixel::getColorQuantum
ImagickPixel::getColorValueQuantum
ImagickPixel
PHP Manual

ImagickPixel::getColorValue

(PECL imagick 2.0.0)

ImagickPixel::getColorValue — Gets the normalized value of the provided color channel

Beschreibung

float ImagickPixel::getColorValue ( int $color )

Retrieves the value of the color channel specified, as a floating-point number between 0 and 1.

Parameter-Liste

color

The color to get the value of, specified as one of the Imagick color constants. This can be one of the RGB colors, CMYK colors, alpha and opacity e.g (Imagick::COLOR_BLUE, Imagick::COLOR_MAGENTA).

Rückgabewerte

The value of the channel, as a normalized floating-point number, throwing ImagickPixelException on error.

Beispiele

Beispiel #1 Basic Imagick::getColorValue() usage

<?php

$color = new ImagickPixel('rgba(90%, 20%, 20%, 0.75)');

echo "Alpha value is ".$color->getColorValue(Imagick::COLOR_ALPHA).PHP_EOL;
echo "".PHP_EOL;
echo "Red value is ".$color->getColorValue(Imagick::COLOR_RED).PHP_EOL;
echo "Green value is ".$color->getColorValue(Imagick::COLOR_GREEN).PHP_EOL;
echo "Blue value is ".$color->getColorValue(Imagick::COLOR_BLUE).PHP_EOL;
echo "".PHP_EOL;
echo "Cyan value is ".$color->getColorValue(Imagick::COLOR_CYAN).PHP_EOL;
echo "Magenta value is ".$color->getColorValue(Imagick::COLOR_MAGENTA).PHP_EOL;
echo "Yellow value is ".$color->getColorValue(Imagick::COLOR_YELLOW).PHP_EOL;
echo "Black value is ".$color->getColorValue(Imagick::COLOR_BLACK).PHP_EOL;

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Alpha value is 0.74999618524453

Red value is 0.90000762951095
Green value is 0.2
Blue value is 0.2

Cyan value is 0.90000762951095
Magenta value is 0.2
Yellow value is 0.2
Black value is 0

ImagickPixel::getColorQuantum
ImagickPixel::getColorValueQuantum
ImagickPixel


Description

ImagickPixel::getColorValue
ImagickPixel::getHSL
ImagickPixel
PHP Manual

ImagickPixel::getColorValueQuantum

(No version information available, might only be in Git)

ImagickPixel::getColorValueQuantum — Description

Beschreibung

public mixed ImagickPixel::getColorValueQuantum ( void )

Gets the quantum value of a color in the ImagickPixel. Return value is a float if ImageMagick was compiled with HDRI, otherwise an integer.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The quantum value of the color element. Float if ImageMagick was compiled with HDRI, otherwise an int.

Beispiele

Beispiel #1 ImagickPixel::getColorValueQuantum()

<?php
        $color = new \ImagickPixel('rgb(128, 5, 255)');
        $colorRed = $color->getColorValueQuantum(\Imagick::COLOR_RED);
        $colorGreen = $color->getColorValueQuantum(\Imagick::COLOR_GREEN);
        $colorBlue = $color->getColorValueQuantum(\Imagick::COLOR_BLUE);
        $colorAlpha = $color->getColorValueQuantum(\Imagick::COLOR_ALPHA);

        printf(
            "Red: %s Green: %s  Blue %s Alpha: %s",
            $colorRed,
            $colorGreen,
            $colorBlue,
            $colorAlpha
        );

?>

ImagickPixel::getColorValue
ImagickPixel::getHSL
ImagickPixel


Returns the normalized HSL color of the ImagickPixel object

ImagickPixel::getColorValueQuantum
ImagickPixel::getIndex
ImagickPixel
PHP Manual

ImagickPixel::getHSL

(PECL imagick 2.0.0)

ImagickPixel::getHSL — Returns the normalized HSL color of the ImagickPixel object

Beschreibung

array ImagickPixel::getHSL ( void )

Returns the normalized HSL color described by the ImagickPixel object, with each of the three values as floating point numbers between 0.0 and 1.0.

Rückgabewerte

Returns the HSL value in an array with the keys "hue", "saturation", and "luminosity". Throws ImagickPixelException on failure.

Beispiele

Beispiel #1 Basic Imagick::getHSL() example

<?php

$color = new ImagickPixel('rgb(90%, 10%, 10%)');

$colorInfo = $color->getHSL();

print_r($colorInfo);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [hue] => 0
    [saturation] => 0.80001220740379
    [luminosity] => 0.50000762951095
)

Anmerkungen

Hinweis:

Available with ImageMagick library version 6.2.9 and higher.

ImagickPixel::getColorValueQuantum
ImagickPixel::getIndex
ImagickPixel


Description

ImagickPixel::getHSL
ImagickPixel::isPixelSimilar
ImagickPixel
PHP Manual

ImagickPixel::getIndex

(No version information available, might only be in Git)

ImagickPixel::getIndex — Description

Beschreibung

public int ImagickPixel::getIndex ( void )

Gets the colormap index of the pixel wand.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

ImagickPixel::getHSL
ImagickPixel::isPixelSimilar
ImagickPixel


Check the distance between this color and another

ImagickPixel::getIndex
ImagickPixel::isPixelSimilarQuantum
ImagickPixel
PHP Manual

ImagickPixel::isPixelSimilar

(No version information available, might only be in Git)

ImagickPixel::isPixelSimilar — Check the distance between this color and another

Beschreibung

bool ImagickPixel::isPixelSimilar ( ImagickPixel $color , float $fuzz )

Checks the distance between the color described by this ImagickPixel object and that of the provided object, by plotting their RGB values on the color cube. If the distance between the two points is less than the fuzz value given, the colors are similar. This method replaces ImagickPixel::isSimilar() and correctly normalises the fuzz value to ImageMagick QuantumRange.

Parameter-Liste

color

The ImagickPixel object to compare this object against.

fuzz

The maximum distance within which to consider these colors as similar. The theoretical maximum for this value is the square root of three (1.732).

Rückgabewerte

Liefert TRUE bei Erfolg.

ImagickPixel::getIndex
ImagickPixel::isPixelSimilarQuantum
ImagickPixel


Description

ImagickPixel::isPixelSimilar
ImagickPixel::isSimilar
ImagickPixel
PHP Manual

ImagickPixel::isPixelSimilarQuantum

(No version information available, might only be in Git)

ImagickPixel::isPixelSimilarQuantum — Description

Beschreibung

public bool ImagickPixel::isPixelSimilarQuantum ( string $color [, string $fuzz ] )

Returns true if the distance between two colors is less than the specified distance. The fuzz value should be in the range 0-QuantumRange. The maximum value represents the longest possible distance in the colorspace. e.g. from RGB(0, 0, 0) to RGB(255, 255, 255) for the RGB colorspace

Parameter-Liste

color

fuzz

Rückgabewerte

ImagickPixel::isPixelSimilar
ImagickPixel::isSimilar
ImagickPixel


Check the distance between this color and another

ImagickPixel::isPixelSimilarQuantum
ImagickPixel::setColor
ImagickPixel
PHP Manual

ImagickPixel::isSimilar

(PECL imagick 2.0.0)

ImagickPixel::isSimilar — Check the distance between this color and another

Beschreibung

bool ImagickPixel::isSimilar ( ImagickPixel $color , float $fuzz )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Checks the distance between the color described by this ImagickPixel object and that of the provided object, by plotting their RGB values on the color cube. If the distance between the two points is less than the fuzz value given, the colors are similar. Deprecated in favour of ImagickPixel::isPixelSimilar().

Parameter-Liste

color

The ImagickPixel object to compare this object against.

fuzz

The maximum distance within which to consider these colors as similar. The theoretical maximum for this value is the square root of three (1.732).

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 ImagickPixel::isSimilar()

<?php
        // The tests below are written with the maximum distance expressed as 255
        // so we need to scale them by the square root of 3 - the diagonal length
        // of a unit cube.
        $root3 = 1.732050807568877;

        $tests = array(
            ['rgb(245, 0, 0)',      'rgb(255, 0, 0)',   9 / $root3,         false,],
            ['rgb(245, 0, 0)',      'rgb(255, 0, 0)',  10 / $root3,         true,],
            ['rgb(0, 0, 0)',        'rgb(7, 7, 0)',     9 / $root3,         false,],
            ['rgb(0, 0, 0)',        'rgb(7, 7, 0)',    10 / $root3,         true,],
            ['rgba(0, 0, 0, 1)',    'rgba(7, 7, 0, 1)', 9 / $root3,         false,],
            ['rgba(0, 0, 0, 1)',    'rgba(7, 7, 0, 1)',    10 / $root3,     true,],
            ['rgb(128, 128, 128)',  'rgb(128, 128, 120)',   7 / $root3,     false,],
            ['rgb(128, 128, 128)',  'rgb(128, 128, 120)',   8 / $root3,     true,],
            ['rgb(0, 0, 0)',        'rgb(255, 255, 255)',   254.9,          false,],
            ['rgb(0, 0, 0)',        'rgb(255, 255, 255)',   255,            true,],
            ['rgb(255, 0, 0)',      'rgb(0, 255, 255)',     254.9,          false,],
            ['rgb(255, 0, 0)',      'rgb(0, 255, 255)',     255,            true,],
            ['black',               'rgba(0, 0, 0)',        0.0,            true],
            ['black',               'rgba(10, 0, 0, 1.0)',  10.0 / $root3,  true],);

        $output = "<table width='100%' class='infoTable'><thead>
                <tr>
                <th>
                Color 1
                </th>
                <th>
                Color 2
                </th>
                <th>
                    Test distance * 255
                </th>
                <th>
                    Is within distance
                </th>
                </tr>
        </thead>";

        $output .= "<tbody>";

        foreach ($tests as $testInfo) {
            $color1 = $testInfo[0];
            $color2 = $testInfo[1];
            $distance = $testInfo[2];
            $expectation = $testInfo[3];
            $testDistance = ($distance / 255.0);

            $color1Pixel = new \ImagickPixel($color1);
            $color2Pixel = new \ImagickPixel($color2);

            $isSimilar = $color1Pixel->isPixelSimilar($color2Pixel, $testDistance);

            if ($isSimilar !== $expectation) {
                echo "Test distance failed. Color [$color1] compared to color [$color2] is not within distance $testDistance FAILED.".NL;
            }

            $layout = "<tr>
                <td>%s</td>
                <td>%s</td>
                <td>%s</td>
                <td style='text-align: center;'>%s</td>
            </tr>";

            $output .= sprintf(
                $layout,
                $color1,
                $color2,
                $distance,
                $isSimilar ? 'yes' : 'no'
            );
        }

        $output .= "</tbody></table>";

        return $output;

?>

ImagickPixel::isPixelSimilarQuantum
ImagickPixel::setColor
ImagickPixel


Sets the color

ImagickPixel::isSimilar
ImagickPixel::setColorCount
ImagickPixel
PHP Manual

ImagickPixel::setColor

(PECL imagick 2.0.0)

ImagickPixel::setColor — Sets the color

Beschreibung

bool ImagickPixel::setColor ( string $color )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Sets the color described by the ImagickPixel object, with a string (e.g. "blue", "#0000ff", "rgb(0,0,255)", "cmyk(100,100,100,10)", etc.).

Parameter-Liste

color

The color definition to use in order to initialise the ImagickPixel object.

Rückgabewerte

Returns TRUE if the specified color was set, FALSE otherwise.

Beispiele

Beispiel #1 ImagickPixel::setColor()

<?php
function setColor() {
    $draw = new \ImagickDraw();

    $strokeColor = new \ImagickPixel('green');
    $fillColor = new \ImagickPixel();
    $fillColor->setColor('rgba(100%, 75%, 0%, 1.0)');

    $draw->setstrokewidth(3.0);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->rectangle(200, 200, 300, 300);

    $image = new \Imagick();
    $image->newImage(500, 500, "SteelBlue2");
    $image->setImageFormat("png");

    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>

ImagickPixel::isSimilar
ImagickPixel::setColorCount
ImagickPixel


Description

ImagickPixel::setColor
ImagickPixel::setColorValue
ImagickPixel
PHP Manual

ImagickPixel::setColorCount

(No version information available, might only be in Git)

ImagickPixel::setColorCount — Description

Beschreibung

public void ImagickPixel::setcolorcount ( string $colorCount )

Sets the color count associated with this color.

Parameter-Liste

colorCount

Rückgabewerte

ImagickPixel::setColor
ImagickPixel::setColorValue
ImagickPixel


Sets the normalized value of one of the channels

ImagickPixel::setColorCount
ImagickPixel::setColorValueQuantum
ImagickPixel
PHP Manual

ImagickPixel::setColorValue

(PECL imagick 2.0.0)

ImagickPixel::setColorValue — Sets the normalized value of one of the channels

Beschreibung

bool ImagickPixel::setColorValue ( int $color , float $value )

Sets the value of the specified channel of this object to the provided value, which should be between 0 and 1. This function can be used to provide an opacity channel to an ImagickPixel object.

Parameter-Liste

color

One of the Imagick color constants e.g. \Imagick::COLOR_GREEN or \Imagick::COLOR_ALPHA.

value

The value to set this channel to, ranging from 0 to 1.

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Basic Imagick::setColorValue() usage

<?php

$color  = new \ImagickPixel('firebrick');

$color->setColorValue(Imagick::COLOR_ALPHA, 0.5);

print_r($color->getcolor(true));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [r] => 0.69803921568627
    [g] => 0.13333333333333
    [b] => 0.13333333333333
    [a] => 0.50000762951095
)

ImagickPixel::setColorCount
ImagickPixel::setColorValueQuantum
ImagickPixel


Description

ImagickPixel::setColorValue
ImagickPixel::setHSL
ImagickPixel
PHP Manual

ImagickPixel::setColorValueQuantum

(No version information available, might only be in Git)

ImagickPixel::setColorValueQuantum — Description

Beschreibung

public void ImagickPixel::setColorValueQuantum ( int $color , mixed $value )

Sets the quantum value of a color element of the ImagickPixel.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

color

Which color element to set e.g. \Imagick::COLOR_GREEN.

value

The quantum value to set the color element to. This should be a float if ImageMagick was compiled with HDRI otherwise an int in the range 0 to Imagick::getQuantum().

Rückgabewerte

Beispiele

Beispiel #1 ImagickPixel::setColorValueQuantum()

<?php
function setColorValueQuantum() {
    $image = new \Imagick();

    $quantumRange = $image->getQuantumRange();

    $draw = new \ImagickDraw();
    $color = new \ImagickPixel('blue');
    $color->setcolorValueQuantum(\Imagick::COLOR_RED, 128 * $quantumRange['quantumRangeLong'] / 256);

    $draw->setstrokewidth(1.0);
    $draw->setStrokeColor($color);
    $draw->setFillColor($color);
    $draw->rectangle(200, 200, 300, 300);

    $image->newImage(500, 500, "SteelBlue2");
    $image->setImageFormat("png");

    $image->drawImage($draw);

    header("Content-Type: image/png");
    echo $image->getImageBlob();
}

?>

ImagickPixel::setColorValue
ImagickPixel::setHSL
ImagickPixel


Sets the normalized HSL color

ImagickPixel::setColorValueQuantum
ImagickPixel::setIndex
ImagickPixel
PHP Manual

ImagickPixel::setHSL

(PECL imagick 2.0.0)

ImagickPixel::setHSL — Sets the normalized HSL color

Beschreibung

bool ImagickPixel::setHSL ( float $hue , float $saturation , float $luminosity )

Sets the color described by the ImagickPixel object using normalized values for hue, saturation and luminosity.

Parameter-Liste

hue

The normalized value for hue, described as a fractional arc (between 0 and 1) of the hue circle, where the zero value is red.

saturation

The normalized value for saturation, with 1 as full saturation.

luminosity

The normalized value for luminosity, on a scale from black at 0 to white at 1, with the full HS value at 0.5 luminosity.

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 Use ImagickPixel::setHSL() to modify a color

<?php

//Create an almost pure red color
$color = new ImagickPixel('rgb(90%, 10%, 10%)');

//Get it's HSL values
$colorInfo = $color->getHSL();

//Rotate the hue by 180 degrees
$newHue = $colorInfo['hue'] + 0.5;
if ($newHue > 1) {
    $newHue = $newHue - 1;
}

//Set the ImagickPixel to the new color
$colorInfo = $color->setHSL($newHue, $colorInfo['saturation'], $colorInfo['luminosity']);

//Check that the new color is blue/green
$colorInfo = $color->getcolor();
print_r($colorInfo);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [r] => 26
    [g] => 230
    [b] => 230
    [a] => 255
)

Anmerkungen

Hinweis:

Available with ImageMagick library version 6.2.9 and higher.

ImagickPixel::setColorValueQuantum
ImagickPixel::setIndex
ImagickPixel


Description

ImagickPixel::setHSL
ImagickPixelIterator
ImagickPixel
PHP Manual

ImagickPixel::setIndex

(No version information available, might only be in Git)

ImagickPixel::setIndex — Description

Beschreibung

public void ImagickPixel::setIndex ( int $index )

Sets the colormap index of the pixel wand.

Parameter-Liste

index

Rückgabewerte

ImagickPixel::setHSL
ImagickPixelIterator
ImagickPixel


The ImagickPixelIterator class

(PECL imagick 2.0.0)

Klassenbeschreibung

ImagickPixelIterator {
bool clear ( void )
__construct ( Imagick $wand )
bool destroy ( void )
array getCurrentIteratorRow ( void )
int getIteratorRow ( void )
array getNextIteratorRow ( void )
array getPreviousIteratorRow ( void )
bool newPixelIterator ( Imagick $wand )
bool newPixelRegionIterator ( Imagick $wand , int $x , int $y , int $columns , int $rows )
bool resetIterator ( void )
bool setIteratorFirstRow ( void )
bool setIteratorLastRow ( void )
bool setIteratorRow ( int $row )
bool syncIterator ( void )
}

Inhaltsverzeichnis

  • ImagickPixelIterator::clear — Clear resources associated with a PixelIterator
  • ImagickPixelIterator::__construct — The ImagickPixelIterator constructor
  • ImagickPixelIterator::destroy — Deallocates resources associated with a PixelIterator
  • ImagickPixelIterator::getCurrentIteratorRow — Returns the current row of ImagickPixel objects
  • ImagickPixelIterator::getIteratorRow — Returns the current pixel iterator row
  • ImagickPixelIterator::getNextIteratorRow — Returns the next row of the pixel iterator
  • ImagickPixelIterator::getPreviousIteratorRow — Returns the previous row
  • ImagickPixelIterator::newPixelIterator — Returns a new pixel iterator
  • ImagickPixelIterator::newPixelRegionIterator — Returns a new pixel iterator
  • ImagickPixelIterator::resetIterator — Resets the pixel iterator
  • ImagickPixelIterator::setIteratorFirstRow — Sets the pixel iterator to the first pixel row
  • ImagickPixelIterator::setIteratorLastRow — Sets the pixel iterator to the last pixel row
  • ImagickPixelIterator::setIteratorRow — Set the pixel iterator row
  • ImagickPixelIterator::syncIterator — Syncs the pixel iterator
ImagickPixel::setIndex
ImagickPixelIterator::clear
ImageMagick


Clear resources associated with a PixelIterator

ImagickPixelIterator
ImagickPixelIterator::__construct
ImagickPixelIterator
PHP Manual

ImagickPixelIterator::clear

(PECL imagick 2.0.0)

ImagickPixelIterator::clear — Clear resources associated with a PixelIterator

Beschreibung

bool ImagickPixelIterator::clear ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Clear resources associated with a PixelIterator.

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 ImagickPixelIterator::clear()

<?php
function clear($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));

    $imageIterator = $imagick->getPixelRegionIterator(100, 100, 250, 200);

    /* Loop through pixel rows */
    foreach ($imageIterator as $pixels) {
        /** @var $pixel \ImagickPixel */
        /* Loop through the pixels in the row (columns) */
        foreach ($pixels as $column => $pixel) {
            if ($column % 2) {
                /* Paint every second pixel black*/
                $pixel->setColor("rgba(0, 0, 0, 0)");
            }
        }
        /* Sync the iterator, this is important to do on each iteration */
        $imageIterator->syncIterator();
    }

    $imageIterator->clear();

    header("Content-Type: image/jpg");
    echo $imagick;
}

?>

ImagickPixelIterator
ImagickPixelIterator::__construct
ImagickPixelIterator


The ImagickPixelIterator constructor

ImagickPixelIterator::clear
ImagickPixelIterator::destroy
ImagickPixelIterator
PHP Manual

ImagickPixelIterator::__construct

(PECL imagick 2.0.0)

ImagickPixelIterator::__construct — The ImagickPixelIterator constructor

Beschreibung

ImagickPixelIterator::__construct ( Imagick $wand )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

The ImagickPixelIterator constructor

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 ImagickPixelIterator::construct()

<?php
function construct($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imageIterator = new \ImagickPixelIterator($imagick);

    /* Loop through pixel rows */
    foreach ($imageIterator as $pixels) {
        /* Loop through the pixels in the row (columns) */
        foreach ($pixels as $column => $pixel) {
            /** @var $pixel \ImagickPixel */
            if ($column % 2) {
                /* Paint every second pixel black*/
                $pixel->setColor("rgba(0, 0, 0, 0)");
            }
        }
        /* Sync the iterator, this is important to do on each iteration */
        $imageIterator->syncIterator();
    }

    header("Content-Type: image/jpg");
    echo $imagick;
}

?>

ImagickPixelIterator::clear
ImagickPixelIterator::destroy
ImagickPixelIterator


Deallocates resources associated with a PixelIterator

ImagickPixelIterator::__construct
ImagickPixelIterator::getCurrentIteratorRow
ImagickPixelIterator
PHP Manual

ImagickPixelIterator::destroy

(PECL imagick 2.0.0)

ImagickPixelIterator::destroy — Deallocates resources associated with a PixelIterator

Beschreibung

bool ImagickPixelIterator::destroy ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Deallocates resources associated with a PixelIterator.

Rückgabewerte

Liefert TRUE bei Erfolg.

ImagickPixelIterator::__construct
ImagickPixelIterator::getCurrentIteratorRow
ImagickPixelIterator


Returns the current row of ImagickPixel objects

ImagickPixelIterator::destroy
ImagickPixelIterator::getIteratorRow
ImagickPixelIterator
PHP Manual

ImagickPixelIterator::getCurrentIteratorRow

(PECL imagick 2.0.0)

ImagickPixelIterator::getCurrentIteratorRow — Returns the current row of ImagickPixel objects

Beschreibung

array ImagickPixelIterator::getCurrentIteratorRow ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns the current row as an array of ImagickPixel objects from the pixel iterator.

Rückgabewerte

Returns a row as an array of ImagickPixel objects that can themselves be iterated.

ImagickPixelIterator::destroy
ImagickPixelIterator::getIteratorRow
ImagickPixelIterator


Returns the current pixel iterator row

ImagickPixelIterator::getCurrentIteratorRow
ImagickPixelIterator::getNextIteratorRow
ImagickPixelIterator
PHP Manual

ImagickPixelIterator::getIteratorRow

(PECL imagick 2.0.0)

ImagickPixelIterator::getIteratorRow — Returns the current pixel iterator row

Beschreibung

int ImagickPixelIterator::getIteratorRow ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns the current pixel iterator row.

Rückgabewerte

Returns the integer offset of the row, throwing ImagickPixelIteratorException on error.

ImagickPixelIterator::getCurrentIteratorRow
ImagickPixelIterator::getNextIteratorRow
ImagickPixelIterator


Returns the next row of the pixel iterator

ImagickPixelIterator::getIteratorRow
ImagickPixelIterator::getPreviousIteratorRow
ImagickPixelIterator
PHP Manual

ImagickPixelIterator::getNextIteratorRow

(PECL imagick 2.0.0)

ImagickPixelIterator::getNextIteratorRow — Returns the next row of the pixel iterator

Beschreibung

array ImagickPixelIterator::getNextIteratorRow ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns the next row as an array of pixel wands from the pixel iterator.

Rückgabewerte

Returns the next row as an array of ImagickPixel objects, throwing ImagickPixelIteratorException on error.

Beispiele

Beispiel #1 ImagickPixelIterator::getNextIteratorRow()

<?php
function getNextIteratorRow($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imageIterator = $imagick->getPixelIterator();

    $count = 0;
    while ($pixels = $imageIterator->getNextIteratorRow()) {
        if (($count % 3) == 0) {
            /* Loop through the pixels in the row (columns) */
            foreach ($pixels as $column => $pixel) {
                /** @var $pixel \ImagickPixel */
                if ($column % 2) {
                    /* Paint every second pixel black*/
                    $pixel->setColor("rgba(0, 0, 0, 0)");
                }
            }
            /* Sync the iterator, this is important to do on each iteration */
            $imageIterator->syncIterator();
        }

        $count += 1;
    }

    header("Content-Type: image/jpg");
    echo $imagick;
}

?>

ImagickPixelIterator::getIteratorRow
ImagickPixelIterator::getPreviousIteratorRow
ImagickPixelIterator


Returns the previous row

ImagickPixelIterator::getNextIteratorRow
ImagickPixelIterator::newPixelIterator
ImagickPixelIterator
PHP Manual

ImagickPixelIterator::getPreviousIteratorRow

(PECL imagick 2.0.0)

ImagickPixelIterator::getPreviousIteratorRow — Returns the previous row

Beschreibung

array ImagickPixelIterator::getPreviousIteratorRow ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns the previous row as an array of pixel wands from the pixel iterator.

Rückgabewerte

Returns the previous row as an array of ImagickPixelWand objects from the ImagickPixelIterator, throwing ImagickPixelIteratorException on error.

ImagickPixelIterator::getNextIteratorRow
ImagickPixelIterator::newPixelIterator
ImagickPixelIterator


Returns a new pixel iterator

ImagickPixelIterator::getPreviousIteratorRow
ImagickPixelIterator::newPixelRegionIterator
ImagickPixelIterator
PHP Manual

ImagickPixelIterator::newPixelIterator

(PECL imagick 2.0.0)

ImagickPixelIterator::newPixelIterator — Returns a new pixel iterator

Beschreibung

bool ImagickPixelIterator::newPixelIterator ( Imagick $wand )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns a new pixel iterator.

Rückgabewerte

Liefert TRUE bei Erfolg. Throwing ImagickPixelIteratorException.

ImagickPixelIterator::getPreviousIteratorRow
ImagickPixelIterator::newPixelRegionIterator
ImagickPixelIterator


Returns a new pixel iterator

ImagickPixelIterator::newPixelIterator
ImagickPixelIterator::resetIterator
ImagickPixelIterator
PHP Manual

ImagickPixelIterator::newPixelRegionIterator

(PECL imagick 2.0.0)

ImagickPixelIterator::newPixelRegionIterator — Returns a new pixel iterator

Beschreibung

bool ImagickPixelIterator::newPixelRegionIterator ( Imagick $wand , int $x , int $y , int $columns , int $rows )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns a new pixel iterator.

Parameter-Liste

wand

x

y

columns

rows

Rückgabewerte

Returns a new ImagickPixelIterator on success; on failure, throws ImagickPixelIteratorException.

ImagickPixelIterator::newPixelIterator
ImagickPixelIterator::resetIterator
ImagickPixelIterator


Resets the pixel iterator

ImagickPixelIterator::newPixelRegionIterator
ImagickPixelIterator::setIteratorFirstRow
ImagickPixelIterator
PHP Manual

ImagickPixelIterator::resetIterator

(PECL imagick 2.0.0)

ImagickPixelIterator::resetIterator — Resets the pixel iterator

Beschreibung

bool ImagickPixelIterator::resetIterator ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Resets the pixel iterator. Use it in conjunction with ImagickPixelIterator::getNextIteratorRow() to iterate over all the pixels in a pixel container.

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 ImagickPixelIterator::resetIterator()

<?php
function resetIterator($imagePath) {

    $imagick = new \Imagick(realpath($imagePath));

    $imageIterator = $imagick->getPixelIterator();

    /* Loop trough pixel rows */
    foreach ($imageIterator as $pixels) {
        /* Loop through the pixels in the row (columns) */
        foreach ($pixels as $column => $pixel) {
            /** @var $pixel \ImagickPixel */
            if ($column % 2) {

                /* Make every second pixel 25% red*/
                $pixel->setColorValue(\Imagick::COLOR_RED, 64);
            }
        }
        /* Sync the iterator, this is important to do on each iteration */
        $imageIterator->syncIterator();
    }

    $imageIterator->resetiterator();

    /* Loop trough pixel rows */
    foreach ($imageIterator as $pixels) {
        /* Loop through the pixels in the row (columns) */
        foreach ($pixels as $column => $pixel) {
            /** @var $pixel \ImagickPixel */
            if ($column % 3) {
                $pixel->setColorValue(\Imagick::COLOR_BLUE, 64); /* Make every second pixel a little blue*/
                //$pixel->setColor("rgba(0, 0, 128, 0)"); /* Paint every second pixel black*/
            }
        }
        $imageIterator->syncIterator(); /* Sync the iterator, this is important to do on each iteration */
    }

    $imageIterator->clear();

    header("Content-Type: image/jpg");
    echo $imagick;
}

?>

ImagickPixelIterator::newPixelRegionIterator
ImagickPixelIterator::setIteratorFirstRow
ImagickPixelIterator


Sets the pixel iterator to the first pixel row

ImagickPixelIterator::resetIterator
ImagickPixelIterator::setIteratorLastRow
ImagickPixelIterator
PHP Manual

ImagickPixelIterator::setIteratorFirstRow

(PECL imagick 2.0.0)

ImagickPixelIterator::setIteratorFirstRow — Sets the pixel iterator to the first pixel row

Beschreibung

bool ImagickPixelIterator::setIteratorFirstRow ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Sets the pixel iterator to the first pixel row.

Rückgabewerte

Liefert TRUE bei Erfolg.

ImagickPixelIterator::resetIterator
ImagickPixelIterator::setIteratorLastRow
ImagickPixelIterator


Sets the pixel iterator to the last pixel row

ImagickPixelIterator::setIteratorFirstRow
ImagickPixelIterator::setIteratorRow
ImagickPixelIterator
PHP Manual

ImagickPixelIterator::setIteratorLastRow

(PECL imagick 2.0.0)

ImagickPixelIterator::setIteratorLastRow — Sets the pixel iterator to the last pixel row

Beschreibung

bool ImagickPixelIterator::setIteratorLastRow ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Sets the pixel iterator to the last pixel row.

Rückgabewerte

Liefert TRUE bei Erfolg.

ImagickPixelIterator::setIteratorFirstRow
ImagickPixelIterator::setIteratorRow
ImagickPixelIterator


Set the pixel iterator row

ImagickPixelIterator::setIteratorLastRow
ImagickPixelIterator::syncIterator
ImagickPixelIterator
PHP Manual

ImagickPixelIterator::setIteratorRow

(PECL imagick 2.0.0)

ImagickPixelIterator::setIteratorRow — Set the pixel iterator row

Beschreibung

bool ImagickPixelIterator::setIteratorRow ( int $row )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Set the pixel iterator row.

Parameter-Liste

row

Rückgabewerte

Liefert TRUE bei Erfolg.

Beispiele

Beispiel #1 ImagickPixelIterator::setIteratorRow()

<?php
function setIteratorRow($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imageIterator = $imagick->getPixelRegionIterator(200, 100, 200, 200);

    for ($x = 0; $x < 20; $x++) {
        $imageIterator->setIteratorRow($x * 5);
        $pixels = $imageIterator->getCurrentIteratorRow();
        /* Loop through the pixels in the row (columns) */
        foreach ($pixels as $pixel) {
            /** @var $pixel \ImagickPixel */
            /* Paint every second pixel black*/
            $pixel->setColor("rgba(0, 0, 0, 0)");
        }

        /* Sync the iterator, this is important to do on each iteration */
        $imageIterator->syncIterator();
    }

    header("Content-Type: image/jpg");
    echo $imagick;
}

?>

ImagickPixelIterator::setIteratorLastRow
ImagickPixelIterator::syncIterator
ImagickPixelIterator


Syncs the pixel iterator

ImagickPixelIterator::setIteratorRow
ImagickKernel
ImagickPixelIterator
PHP Manual

ImagickPixelIterator::syncIterator

(PECL imagick 2.0.0)

ImagickPixelIterator::syncIterator — Syncs the pixel iterator

Beschreibung

bool ImagickPixelIterator::syncIterator ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Syncs the pixel iterator.

Rückgabewerte

Liefert TRUE bei Erfolg.

ImagickPixelIterator::setIteratorRow
ImagickKernel
ImagickPixelIterator


The ImagickKernel class

(PECL imagick >= 3.3.0)

Einführung

Klassenbeschreibung

ImagickKernel {
/* Methoden */
public void addKernel ( ImagickKernel $ImagickKernel )
public void addUnityKernel ( void )
public static ImagickKernel fromBuiltin ( string $kernelType , string $kernelString )
public static ImagickKernel fromMatrix ( array $matrix [, array $origin ] )
public array getMatrix ( void )
public void scale ( void )
public array separate ( void )
}

Inhaltsverzeichnis

  • ImagickKernel::addKernel — Description
  • ImagickKernel::addUnityKernel — Description
  • ImagickKernel::fromBuiltIn — Description
  • ImagickKernel::fromMatrix — Description
  • ImagickKernel::getMatrix — Description
  • ImagickKernel::scale — Description
  • ImagickKernel::separate — Description
ImagickPixelIterator::syncIterator
ImagickKernel::addKernel
ImageMagick


Description

ImagickKernel
ImagickKernel::addUnityKernel
ImagickKernel
PHP Manual

ImagickKernel::addKernel

(PECL imagick >= 3.3.0)

ImagickKernel::addKernel — Description

Beschreibung

public void ImagickKernel::addKernel ( ImagickKernel $ImagickKernel )

Attach another kernel to this kernel to allow them to both be applied in a single morphology or filter function. Returns the new combined kernel.

Parameter-Liste

ImagickKernel

Rückgabewerte

Beispiele

Beispiel #1 ImagickKernel::addKernel()

<?php
function addKernel($imagePath) {
    $matrix1 = [
        [-1, -1, -1],
        [ 0,  0,  0],
        [ 1,  1,  1],
    ];

    $matrix2 = [
        [-1,  0,  1],
        [-1,  0,  1],
        [-1,  0,  1],
    ];

    $kernel1 = ImagickKernel::fromMatrix($matrix1);
    $kernel2 = ImagickKernel::fromMatrix($matrix2);
    $kernel1->addKernel($kernel2);

    $imagick = new \Imagick(realpath($imagePath));
    $imagick->filter($kernel1);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();

}

?>

ImagickKernel
ImagickKernel::addUnityKernel
ImagickKernel


Description

ImagickKernel::addKernel
ImagickKernel::fromBuiltIn
ImagickKernel
PHP Manual

ImagickKernel::addUnityKernel

(PECL imagick >= 3.3.0)

ImagickKernel::addUnityKernel — Description

Beschreibung

public void ImagickKernel::addUnityKernel ( void )

Adds a given amount of the 'Unity' Convolution Kernel to the given pre-scaled and normalized Kernel. This in effect adds that amount of the original image into the resulting convolution kernel. The resulting effect is to convert the defined kernels into blended soft-blurs, unsharp kernels or into sharpening kernels.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Beispiele

Beispiel #1 ImagickKernel::addUnityKernel()

<?php

    function renderKernelTable($matrix) {
        $output = "<table class='infoTable'>";

        foreach ($matrix as $row) {
            $output .= "<tr>";
            foreach ($row as $cell) {
                $output .= "<td style='text-align:left'>";
                if ($cell === false) {
                    $output .= "false";
                }
                else {
                    $output .= round($cell, 3);
                }
                $output .= "</td>";
            }
            $output .= "</tr>";
        }

        $output .= "</table>";

        return $output;
    }

    $matrix = [
        [-1, 0, -1],
        [ 0, 4,  0],
        [-1, 0, -1],
    ];

    $kernel = \ImagickKernel::fromMatrix($matrix);
    $kernel->scale(1, \Imagick::NORMALIZE_KERNEL_VALUE);
    $output = "Before adding unity kernel: <br/>";
    $output .= renderKernelTable($kernel->getMatrix());
    $kernel->addUnityKernel(0.5);
    $output .= "After adding unity kernel: <br/>";
    $output .= renderKernelTable($kernel->getMatrix());

    $kernel->scale(1, \Imagick::NORMALIZE_KERNEL_VALUE);
    $output .= "After renormalizing kernel: <br/>";
    $output .= renderKernelTable($kernel->getMatrix());

    echo $output;

?>

Beispiel #2 ImagickKernel::addUnityKernel()

<?php
function addUnityKernel($imagePath) {

    $matrix = [
        [-1, 0, -1],
        [ 0, 4,  0],
        [-1, 0, -1],
    ];

    $kernel = ImagickKernel::fromMatrix($matrix);

    $kernel->scale(4, \Imagick::NORMALIZE_KERNEL_VALUE);
    $kernel->addUnityKernel(0.5);

    $imagick = new \Imagick(realpath($imagePath));
    $imagick->filter($kernel);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();

}

?>

ImagickKernel::addKernel
ImagickKernel::fromBuiltIn
ImagickKernel


Description

ImagickKernel::addUnityKernel
ImagickKernel::fromMatrix
ImagickKernel
PHP Manual

ImagickKernel::fromBuiltIn

(PECL imagick >= 3.3.0)

ImagickKernel::fromBuiltIn — Description

Beschreibung

public static ImagickKernel ImagickKernel::fromBuiltin ( string $kernelType , string $kernelString )

Create a kernel from a builtin in kernel. See http://www.imagemagick.org/Usage/morphology/#kernel for examples. Currently the 'rotation' symbols are not supported. Example: $diamondKernel = ImagickKernel::fromBuiltIn(\Imagick::KERNEL_DIAMOND, "2");

Parameter-Liste

kerneltype

The type of kernel to build e.g. \Imagick::KERNEL_DIAMOND

kernelString

A string that describes the parameters e.g. "4,2.5"

Rückgabewerte

Beispiele

Beispiel #1 ImagickKernel::fromBuiltin()

<?php

function renderKernel(ImagickKernel $imagickKernel) {
    $matrix = $imagickKernel->getMatrix();

    $imageMargin = 20;

    $tileSize = 20;
    $tileSpace = 4;
    $shadowSigma = 4;
    $shadowDropX = 20;
    $shadowDropY = 0;

    $radius = ($tileSize / 2) * 0.9;

    $rows = count($matrix);
    $columns = count($matrix[0]);

    $imagickDraw = new \ImagickDraw();

    $imagickDraw->setFillColor('#afafaf');
    $imagickDraw->setStrokeColor('none');

    $imagickDraw->translate($imageMargin, $imageMargin);
    $imagickDraw->push();

    ksort($matrix);

    foreach ($matrix as $row) {
        ksort($row);
        $imagickDraw->push();
        foreach ($row as $cell) {
            if ($cell !== false) {
                $color = intval(255 * $cell);
                $colorString = sprintf("rgb(%f, %f, %f)", $color, $color, $color);
                $imagickDraw->setFillColor($colorString);
                $imagickDraw->rectangle(0, 0, $tileSize, $tileSize);
            }
            $imagickDraw->translate(($tileSize + $tileSpace), 0);
        }
        $imagickDraw->pop();
        $imagickDraw->translate(0, ($tileSize + $tileSpace));
    }

    $imagickDraw->pop();

    $width = ($columns * $tileSize) + (($columns - 1) * $tileSpace);
    $height = ($rows * $tileSize) + (($rows - 1) * $tileSpace);

    $imagickDraw->push();
    $imagickDraw->translate($width/2 , $height/2);
    $imagickDraw->setFillColor('rgba(0, 0, 0, 0)');
    $imagickDraw->setStrokeColor('white');
    $imagickDraw->circle(0, 0, $radius - 1, 0);
    $imagickDraw->setStrokeColor('black');
    $imagickDraw->circle(0, 0, $radius, 0);
    $imagickDraw->pop();

    $canvasWidth = $width + (2 * $imageMargin);
    $canvasHeight = $height + (2 * $imageMargin);

    $kernel = new \Imagick();
    $kernel->newPseudoImage(
        $canvasWidth,
        $canvasHeight,
        'canvas:none'
    );

    $kernel->setImageFormat('png');
    $kernel->drawImage($imagickDraw);

    /* create drop shadow on it's own layer */
    $canvas = $kernel->clone();
    $canvas->setImageBackgroundColor(new \ImagickPixel('rgb(0, 0, 0)'));
    $canvas->shadowImage(100, $shadowSigma, $shadowDropX, $shadowDropY);

    $canvas->setImagePage($canvasWidth, $canvasHeight, -5, -5);
    $canvas->cropImage($canvasWidth, $canvasHeight, 0, 0);

    /* composite original text_layer onto shadow_layer */
    $canvas->compositeImage($kernel, \Imagick::COMPOSITE_OVER, 0, 0);
    $canvas->setImageFormat('png');

    return $canvas;
}

function createFromBuiltin($kernelType, $kernelFirstTerm, $kernelSecondTerm, $kernelThirdTerm) {
    $string = '';

    if ($kernelFirstTerm != false && strlen(trim($kernelFirstTerm)) != 0) {
        $string .= $kernelFirstTerm;

        if ($kernelSecondTerm != false && strlen(trim($kernelSecondTerm)) != 0) {
            $string .= ','.$kernelSecondTerm;
            if ($kernelThirdTerm != false && strlen(trim($kernelThirdTerm)) != 0) {
                $string .= ','.$kernelThirdTerm;
            }
        }
    }

    $kernel = ImagickKernel::fromBuiltIn(
        $kernelType,
        $string
    );

    return $kernel;
}

function fromBuiltin($kernelType, $kernelFirstTerm, $kernelSecondTerm, $kernelThirdTerm) {
    $diamondKernel = createFromBuiltin($kernelType, $kernelFirstTerm, $kernelSecondTerm, $kernelThirdTerm);
    $imagick = renderKernel($diamondKernel);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

fromBuiltin(\Imagick::KERNEL_DIAMOND, 2, false, false);

?>

ImagickKernel::addUnityKernel
ImagickKernel::fromMatrix
ImagickKernel


Description

ImagickKernel::fromBuiltIn
ImagickKernel::getMatrix
ImagickKernel
PHP Manual

ImagickKernel::fromMatrix

(PECL imagick >= 3.3.0)

ImagickKernel::fromMatrix — Description

Beschreibung

public static ImagickKernel ImagickKernel::fromMatrix ( array $matrix [, array $origin ] )

Create a kernel from an 2d matrix of values. Each value should either be a float (if the element should be used) or 'false' if the element should be skipped. For matrices that are odd sizes in both dimensions the the origin pixel will default to the centre of the kernel. For all other kernel sizes the origin pixel must be specified.

Parameter-Liste

array

A matrix (i.e. 2d array) of values that define the kernel. Each element should be either a float value, or FALSE if that element shouldn't be used by the kernel.

array

Which element of the kernel should be used as the origin pixel. e.g. For a 3x3 matrix specifying the origin as [2, 2] would specify that the bottom right element should be the origin pixel.

Rückgabewerte

The generated ImagickKernel.

Beispiele

Beispiel #1 ImagickKernel::fromMatrix()

<?php

function renderKernel(ImagickKernel $imagickKernel) {
    $matrix = $imagickKernel->getMatrix();

    $imageMargin = 20;

    $tileSize = 20;
    $tileSpace = 4;
    $shadowSigma = 4;
    $shadowDropX = 20;
    $shadowDropY = 0;

    $radius = ($tileSize / 2) * 0.9;

    $rows = count($matrix);
    $columns = count($matrix[0]);

    $imagickDraw = new \ImagickDraw();

    $imagickDraw->setFillColor('#afafaf');
    $imagickDraw->setStrokeColor('none');

    $imagickDraw->translate($imageMargin, $imageMargin);
    $imagickDraw->push();

    ksort($matrix);

    foreach ($matrix as $row) {
        ksort($row);
        $imagickDraw->push();
        foreach ($row as $cell) {
            if ($cell !== false) {
                $color = intval(255 * $cell);
                $colorString = sprintf("rgb(%f, %f, %f)", $color, $color, $color);
                $imagickDraw->setFillColor($colorString);
                $imagickDraw->rectangle(0, 0, $tileSize, $tileSize);
            }
            $imagickDraw->translate(($tileSize + $tileSpace), 0);
        }
        $imagickDraw->pop();
        $imagickDraw->translate(0, ($tileSize + $tileSpace));
    }

    $imagickDraw->pop();

    $width = ($columns * $tileSize) + (($columns - 1) * $tileSpace);
    $height = ($rows * $tileSize) + (($rows - 1) * $tileSpace);

    $imagickDraw->push();
    $imagickDraw->translate($width/2 , $height/2);
    $imagickDraw->setFillColor('rgba(0, 0, 0, 0)');
    $imagickDraw->setStrokeColor('white');
    $imagickDraw->circle(0, 0, $radius - 1, 0);
    $imagickDraw->setStrokeColor('black');
    $imagickDraw->circle(0, 0, $radius, 0);
    $imagickDraw->pop();

    $canvasWidth = $width + (2 * $imageMargin);
    $canvasHeight = $height + (2 * $imageMargin);

    $kernel = new \Imagick();
    $kernel->newPseudoImage(
        $canvasWidth,
        $canvasHeight,
        'canvas:none'
    );

    $kernel->setImageFormat('png');
    $kernel->drawImage($imagickDraw);

    /* create drop shadow on it's own layer */
    $canvas = $kernel->clone();
    $canvas->setImageBackgroundColor(new \ImagickPixel('rgb(0, 0, 0)'));
    $canvas->shadowImage(100, $shadowSigma, $shadowDropX, $shadowDropY);

    $canvas->setImagePage($canvasWidth, $canvasHeight, -5, -5);
    $canvas->cropImage($canvasWidth, $canvasHeight, 0, 0);

    /* composite original text_layer onto shadow_layer */
    $canvas->compositeImage($kernel, \Imagick::COMPOSITE_OVER, 0, 0);
    $canvas->setImageFormat('png');

    return $canvas;
}

function createFromMatrix() {
    $matrix = [
        [0.5, 0, 0.2],
        [0, 1, 0],
        [0.9, 0, false],
    ];

    $kernel = \ImagickKernel::fromMatrix($matrix);

    return $kernel;
}

function fromMatrix() {
    $kernel = createFromMatrix();
    $imagick = renderKernel($kernel);

    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}

?>

ImagickKernel::fromBuiltIn
ImagickKernel::getMatrix
ImagickKernel


Description

ImagickKernel::fromMatrix
ImagickKernel::scale
ImagickKernel
PHP Manual

ImagickKernel::getMatrix

(PECL imagick >= 3.3.0)

ImagickKernel::getMatrix — Description

Beschreibung

public array ImagickKernel::getMatrix ( void )

Get the 2d matrix of values used in this kernel. The elements are either float for elements that are used or 'false' if the element should be skipped.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A matrix (2d array) of the values that represent the kernel.

Beispiele

Beispiel #1 ImagickKernel::getMatrix()

<?php

function renderKernelTable($matrix) {
    $output = "<table class='infoTable'>";

    foreach ($matrix as $row) {
        $output .= "<tr>";
        foreach ($row as $cell) {
            $output .= "<td style='text-align:left'>";
            if ($cell === false) {
                $output .= "false";
            }
            else {
                $output .= round($cell, 3);
            }
            $output .= "</td>";
        }
        $output .= "</tr>";
    }

    $output .= "</table>";

    return $output;
}

    $output = "The built-in kernel name 'ring' with parameters of '2,3.5':<br/>";
    $kernel = \ImagickKernel::fromBuiltIn(
        \Imagick::KERNEL_RING,
        "2,3.5"
    );
    $matrix = $kernel->getMatrix();
    $output .= renderKernelTable($matrix);

    echo $output;

?>

ImagickKernel::fromMatrix
ImagickKernel::scale
ImagickKernel


Description

ImagickKernel::getMatrix
ImagickKernel::separate
ImagickKernel
PHP Manual

ImagickKernel::scale

(PECL imagick >= 3.3.0)

ImagickKernel::scale — Description

Beschreibung

public void ImagickKernel::scale ( void )

ScaleKernelInfo() scales the given kernel list by the given amount, with or without normalization of the sum of the kernel values (as per given flags). The exact behaviour of this function depends on the normalization type being used please see http://www.imagemagick.org/api/morphology.php#ScaleKernelInfo for details. Flag should be one of Imagick::NORMALIZE_KERNEL_VALUE, Imagick::NORMALIZE_KERNEL_CORRELATE, Imagick::NORMALIZE_KERNEL_PERCENT or not set.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Beispiele

Beispiel #1 ImagickKernel::scale()

<?php

    function renderKernelTable($matrix) {
        $output = "<table class='infoTable'>";

        foreach ($matrix as $row) {
            $output .= "<tr>";
            foreach ($row as $cell) {
                $output .= "<td style='text-align:left'>";
                if ($cell === false) {
                    $output .= "false";
                }
                else {
                    $output .= round($cell, 3);
                }
                $output .= "</td>";
            }
            $output .= "</tr>";
        }

        $output .= "</table>";

        return $output;
    }

    $output = "";

    $matrix = [
        [-1, 0, -1],
        [ 0, 4,  0],
        [-1, 0, -1],
    ];

    $kernel = \ImagickKernel::fromMatrix($matrix);
    $kernelClone = clone $kernel;

    $output .= "Start kernel<br/>";
    $output .= renderKernelTable($kernel->getMatrix());

    $output .= "Scaling with NORMALIZE_KERNEL_VALUE. The  <br/>";
    $kernel->scale(2, \Imagick::NORMALIZE_KERNEL_VALUE);
    $output .= renderKernelTable($kernel->getMatrix());

    $kernel = clone $kernelClone;
    $output .= "Scaling by percent<br/>";
    $kernel->scale(2, \Imagick::NORMALIZE_KERNEL_PERCENT);
    $output .= renderKernelTable($kernel->getMatrix());

    $matrix2 = [
        [-1, -1, 1],
        [ -1, false,  1],
        [1, 1, 1],
    ];

    $kernel = \ImagickKernel::fromMatrix($matrix2);
    $output .= "Scaling by correlate<br/>";
    $kernel->scale(1, \Imagick::NORMALIZE_KERNEL_CORRELATE);
    $output .= renderKernelTable($kernel->getMatrix());

    return $output;
?>

ImagickKernel::getMatrix
ImagickKernel::separate
ImagickKernel


Description

ImagickKernel::scale
E-Mail-relevante Erweiterungen
ImagickKernel
PHP Manual

ImagickKernel::separate

(PECL imagick >= 3.3.0)

ImagickKernel::separate — Description

Beschreibung

public array ImagickKernel::separate ( void )

Separates a linked set of kernels and returns an array of ImagickKernels.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Beispiele

Beispiel #1 ImagickKernel::separate()

<?php

    function renderKernelTable($matrix) {

        $output = "<table class='infoTable'>";
        foreach ($matrix as $row) {
            $output .= "<tr>";
            foreach ($row as $cell) {
                $output .= "<td style='text-align:left'>";
                if ($cell === false) {
                    $output .= "false";
                }
                else {
                    $output .= round($cell, 3);
                }
                $output .= "</td>";
            }
            $output .= "</tr>";
        }

        $output .= "</table>";

        return $output;
    }

    $matrix = [
        [-1, 0, -1],
        [ 0, 4,  0],
        [-1, 0, -1],
    ];

    $kernel = \ImagickKernel::fromMatrix($matrix);
    $kernel->scale(4, \Imagick::NORMALIZE_KERNEL_VALUE);
    $diamondKernel = \ImagickKernel::fromBuiltIn(
        \Imagick::KERNEL_DIAMOND,
        "2"
    );

    $kernel->addKernel($diamondKernel);

    $kernelList = $kernel->separate();

    $output = '';
    $count = 0;
    foreach ($kernelList as $kernel) {
        $output .= "<br/>Kernel $count<br/>";
        $output .= renderKernelTable($kernel->getMatrix());
        $count++;
    }

    return $output;

?>

ImagickKernel::scale
E-Mail-relevante Erweiterungen
ImagickKernel


E-Mail-relevante Erweiterungen

  • Cyrus — Cyrus IMAP administration
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Cyrus Funktionen
  • IMAP — IMAP, POP3 and NNTP
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • IMAP Funktionen
  • Mail
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Mail-Funktionen
  • Mailparse
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Mailparse Funktionen
  • vpopmail
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • vpopmail Funktionen
ImagickKernel::separate
Cyrus
Funktionsreferenz


Cyrus IMAP administration

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Cyrus Funktionen
    • cyrus_authenticate — Authenticate against a Cyrus IMAP server
    • cyrus_bind — Bind callbacks to a Cyrus IMAP connection
    • cyrus_close — Close connection to a Cyrus IMAP server
    • cyrus_connect — Connect to a Cyrus IMAP server
    • cyrus_query — Send a query to a Cyrus IMAP server
    • cyrus_unbind — Unbind ...
E-Mail-relevante Erweiterungen
Einführung
E-Mail-relevante Erweiterungen


Einführung

Hinweis: Diese Erweiterung steht auf Windows-Betriebssystemen nicht zur Verfügung.

Hinweis:

Diese Erweiterung wurde ins » PECL-Repositorium verschoben und ist nicht mehr Teil von PHP ab PHP 5.0.0.

Cyrus
Installation/Konfiguration
Cyrus


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Cyrus


Installation

To enable Cyrus IMAP support and to use these functions you have to compile PHP with the --with-cyrus option.

Warnung

Die IMAP , recode, YAZ und Cyrus können nicht zusammen verwendet werden. Diese Tatsache liegt darin begründet, dass alle diese Erweiterungen die gleichen internen Symbole benutzen. Hinweis: Yaz 2.0 und höher hat dieses Problem nicht.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Ressource-Typen

This extension defines a Cyrus IMAP connection identifier returned by cyrus_connect().

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

CYRUS_CONN_NONSYNCLITERAL (integer)
CYRUS_CONN_INITIALRESPONSE (integer)
CYRUS_CALLBACK_NUMBERED (integer)
CYRUS_CALLBACK_NOLITERAL (integer)
Ressource-Typen
Cyrus Funktionen
Cyrus


Cyrus Funktionen

Inhaltsverzeichnis

  • cyrus_authenticate — Authenticate against a Cyrus IMAP server
  • cyrus_bind — Bind callbacks to a Cyrus IMAP connection
  • cyrus_close — Close connection to a Cyrus IMAP server
  • cyrus_connect — Connect to a Cyrus IMAP server
  • cyrus_query — Send a query to a Cyrus IMAP server
  • cyrus_unbind — Unbind ...
Vordefinierte Konstanten
cyrus_authenticate
Cyrus


Authenticate against a Cyrus IMAP server

Cyrus Funktionen
cyrus_bind
Cyrus Funktionen
PHP Manual

cyrus_authenticate

(PHP 4 >= 4.1.0, PECL cyrus 1.0)

cyrus_authenticate — Authenticate against a Cyrus IMAP server

Beschreibung

void cyrus_authenticate ( resource $connection [, string $mechlist [, string $service [, string $user [, int $minssf [, int $maxssf [, string $authname [, string $password ]]]]]]] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Cyrus Funktionen
cyrus_bind
Cyrus Funktionen


Bind callbacks to a Cyrus IMAP connection

cyrus_authenticate
cyrus_close
Cyrus Funktionen
PHP Manual

cyrus_bind

(PHP 4 >= 4.1.0, PECL cyrus 1.0)

cyrus_bind — Bind callbacks to a Cyrus IMAP connection

Beschreibung

bool cyrus_bind ( resource $connection , array $callbacks )

Binds callbacks to a Cyrus IMAP connection.

Parameter-Liste

connection

The connection handle.

callbacks

An array of callbacks.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

cyrus_authenticate
cyrus_close
Cyrus Funktionen


Close connection to a Cyrus IMAP server

cyrus_bind
cyrus_connect
Cyrus Funktionen
PHP Manual

cyrus_close

(PHP 4 >= 4.1.0, PECL cyrus 1.0)

cyrus_close — Close connection to a Cyrus IMAP server

Beschreibung

bool cyrus_close ( resource $connection )

Closes the connection to a Cyrus IMAP server.

Parameter-Liste

connection

The connection handle.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

cyrus_bind
cyrus_connect
Cyrus Funktionen


Connect to a Cyrus IMAP server

cyrus_close
cyrus_query
Cyrus Funktionen
PHP Manual

cyrus_connect

(PHP 4 >= 4.1.0, PECL cyrus 1.0)

cyrus_connect — Connect to a Cyrus IMAP server

Beschreibung

resource cyrus_connect ([ string $host [, string $port [, int $flags ]]] )

Connects to a Cyrus IMAP server.

Parameter-Liste

host

The Cyrus IMAP host name.

port

The port number.

flags

Rückgabewerte

Returns a connection handler on successIm Fehlerfall wird FALSE zurückgegeben..

cyrus_close
cyrus_query
Cyrus Funktionen


Send a query to a Cyrus IMAP server

cyrus_connect
cyrus_unbind
Cyrus Funktionen
PHP Manual

cyrus_query

(PHP 4 >= 4.1.0, PECL cyrus 1.0)

cyrus_query — Send a query to a Cyrus IMAP server

Beschreibung

array cyrus_query ( resource $connection , string $query )

Sends a query to a Cyrus IMAP server.

Parameter-Liste

connection

The connection handle.

query

The query string.

Rückgabewerte

Returns an associative array with the following keys: text, msgno, and keyword.

cyrus_connect
cyrus_unbind
Cyrus Funktionen


Unbind ...

cyrus_query
IMAP
Cyrus Funktionen
PHP Manual

cyrus_unbind

(PHP 4 >= 4.1.0, PECL cyrus 1.0)

cyrus_unbind — Unbind ...

Beschreibung

bool cyrus_unbind ( resource $connection , string $trigger_name )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

connection

The connection handle.

trigger_name

The trigger name.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

cyrus_query
IMAP
Cyrus Funktionen


IMAP, POP3 and NNTP

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • IMAP Funktionen
    • imap_8bit — Konvertiert einen 8bit String in einen quoted-printable String
    • imap_alerts — Liefert alle aufgetretenen IMAP Alarmnachrichten
    • imap_append — String als Nachricht in einem Postfach ablegen
    • imap_base64 — Dekodiert Base-64 kodierten Text
    • imap_binary — Konvertiert einen 8 Bit String in einen Base64 codierten String
    • imap_body — Liefert den Körper einer Nachricht
    • imap_bodystruct — Liefert die Struktur eines bestimmten Nachrichtenteils
    • imap_check — Informationen zum aktuellen Postfach
    • imap_clearflag_full — Löscht Flags einer Nachricht
    • imap_close — Schließt einen IMAP Stream
    • imap_create — Alias von imap_createmailbox
    • imap_createmailbox — Anlegen eines neuen Postfachs
    • imap_delete — Nachrichten im aktuellen Postfach zur Löschung markieren
    • imap_deletemailbox — Löscht ein Postfach
    • imap_errors — Diese Funktion liefert alle bisher aufgetretenen Fehlermeldungen
    • imap_expunge — Löscht alle zum Löschen markierte Nachrichten
    • imap_fetch_overview — Liefert einen Auszug aus den Kopfdaten von Nachrichten
    • imap_fetchbody — Liefert einen bestimmten Abschnitt aus dem Körper einer Nachricht
    • imap_fetchheader — Liefert den Kopf einer Nachricht
    • imap_fetchmime — Fetch MIME headers for a particular section of the message
    • imap_fetchstructure — Ermittelt die Struktur einer Nachricht
    • imap_fetchtext — Alias von imap_body
    • imap_gc — Leert den IMAP Cache
    • imap_get_quota — Liefert Quota-Beschränkungen und Nutzungsstatistik der Postfächer
    • imap_get_quotaroot — Liefert die Quota-Beschränkungen für ein Benutzerpostfach
    • imap_getacl — Liste der Zugriffsrechte für ein Postfach bestimmen
    • imap_getmailboxes — Liefert detailierte Informationen zu allen verfügbaren Postfächern
    • imap_getsubscribed — Liste aller abonnierten Postfächer
    • imap_header — Alias von imap_headerinfo
    • imap_headerinfo — Liest die Kopfdaten einer Nachricht
    • imap_headers — Liefert eine Zusammenfassung aller Nachrichtenköpfe eines Postfachs
    • imap_last_error — Liefert die letzte IMAP-Fehlermeldung für dieses Script
    • imap_list — Liste der Postfächer lesen
    • imap_listmailbox — Alias von imap_list
    • imap_listscan — Listet Postfächer nach Suchkriterien
    • imap_listsubscribed — Alias von imap_lsub
    • imap_lsub — Liste aller abonierten Postfächer
    • imap_mail_compose — Erzeugt eine MIME-Nachricht aus Kopf- und Nachrichtenelementen
    • imap_mail_copy — Kopiert Nachrichten in ein Postfach
    • imap_mail_move — Verschiebt Nachrichten in ein anderes Postfach
    • imap_mail — Sendet eine Email Nachricht
    • imap_mailboxmsginfo — Informationen zum aktuellen Postfach
    • imap_mime_header_decode — Dekodiert MIME-codierte Headerzeilen
    • imap_msgno — Liefert die Nachrichtennummer für eine gegebene UID
    • imap_num_msg — Anzahl der Nachrichten im aktuellen Postfach
    • imap_num_recent — Nummer der kürzlich eingetroffenen Nachrichten
    • imap_open — Öffnet eine Verbindung zu einem Mailserver-Postfach
    • imap_ping — Prüft einen IMAP-Stream auf Funktionalität
    • imap_qprint — Konvertiert einen quoted-printable kodierten String in einen 8 Bit String
    • imap_rename — Alias von imap_renamemailbox
    • imap_renamemailbox — Ändert den Namen eines Postfachs
    • imap_reopen — Wechselt das aktuelle Postfach der Verbindung
    • imap_rfc822_parse_adrlist — Zerlegt einen Mailadressstring
    • imap_rfc822_parse_headers — Email-Kopfzeilen aus einem String auslesen
    • imap_rfc822_write_address — Bildet aus Realnamen, Postfach und Server eine korrekt formatierte Mail-Adresse
    • imap_savebody — Speichert einen bestimmten Body-Abschnitt einer Nachricht als Datei
    • imap_scan — Alias von imap_listscan
    • imap_scanmailbox — Alias von imap_listscan
    • imap_search — Liefert ein Array von Nachrichten die den gegebenen Suchkriterien entsprechen
    • imap_set_quota — Setzt die Mengenbeschränkung für ein Postfach
    • imap_setacl — Setzen der ACL für ein Postfach
    • imap_setflag_full — Setzt Nachrichtenflags
    • imap_sort — Sortiert Nachrichten eines Postfachs
    • imap_status — Liefert Statusinformationen zum angegebenen Postfach
    • imap_subscribe — Abbonieren eines Postfachs
    • imap_thread — Liefert einen Baum zusammenhängender Nachrichten
    • imap_timeout — Imap Timeout setzen oder lesen
    • imap_uid — Liefert die UID für die gegebene Nachrichtennummer
    • imap_undelete — Nimmt eine bereits gesetzte Löschmarkierung einer Nachricht zurück
    • imap_unsubscribe — Abonnement eines Postfachs beenden
    • imap_utf7_decode — Dekodiert einem String im modifizierten UTF-7-Format
    • imap_utf7_encode — Kodiert ISO-8859-1 Text im modifizieren UTF-7-Format
    • imap_utf8 — Konvertiert Text zu UTF8
cyrus_unbind
Einführung
E-Mail-relevante Erweiterungen


Einführung

Die Funktionen dieser Extension ermöglichen die Kommunikation mit IMAP, NNTP und POP3 Servern sowie den Zugriff auf lokale Mailbox-Dateien.

Einige Funktionen dieser Extension setzen allerdings das IMAP-Protokoll voraus.

IMAP
Installation/Konfiguration
IMAP


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
IMAP


Anforderungen

Diese Extension benötigt die c-client Bibliothek, die jeweils aktuelle Version des Quellcodes dieser Bibliothek findet sich unter » ftp://ftp.cac.washington.edu/imap/.

Wenn Sie die Bibliothek selbst kompilieren, ist es wichtig das Sie die Header-Dateien nicht direkt im Standard-Include-Verzeichnis ablegen, da dies zu Namenskonflikten führen kann. Stattdessen sollten Sie ein neues Unterverzeichnis, z.B. /usr/local/imap-2000b/, mit zwei weiteren Unterverzeichnissen lib und include anlegen. Kopieren Sie alle *.h aus dem c-client-Quellcodeverzeichnis in das neue include-Verzeichnis und alle *.c-Dateien in das neue lib-Verzeichnis. Die bei der Kompilierung des Bibliotheksquellcodes erzeugte Datei c-client.a kopieren Sie als libc-client.a ebenfalls in das neue lib-Verzeichnis.

Hinweis:

Nähere Informationen zur Aktivierung der SSL- und Kerberos-Unterstützung der Bibliothek finden Sie in der im Source-Paket enthaltenen Dokumentation.

Hinweis: Mandrake Linux liefert die IMAP Bibliothek libc-client.a) ohne Kerberos-Unterstützung aus. Eine seperate Version mit SSL-Unterstützung wird als client-PHP4.a mitgeliefert. Für Kerberos-Unterstützung müssen Sie die Bibliothek selbst kompilieren.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Um diese Funktionen zu nutzen müssen sie PHP mit --with-imap[=DIR] kompilieren, wobei DIR der Installationsprefix der c-client Bibliothek ist. Wenn Sie diese wie oben angegeben installiert haben können Sie --with-imap=/usr/local/imap-2000b als Konfigurationsoption angeben. Windows-Benutzer können die php_imap.dll DLL in php.ini einbinden.

IMAP wird beginnend mit Windows 2000 unterstützt, älteren Windows-Versionen fehlen die benötigten Verschlüsselungsfunktionen um SSL-verschlüsselte Verbindungen zum Mailserver zu ermöglichen.

Hinweis: Je nachdem wie c-client konfiguriert wurde, müssen Sie eventuell --with-imap-ssl=/path/to/openssl/ und/oder --with-kerberos=/path/to/kerberos zu den PHP-Konfigurationsoptionen hinzufügen.

Warnung

Die IMAP , recode, YAZ und Cyrus können nicht zusammen verwendet werden. Diese Tatsache liegt darin begründet, dass alle diese Erweiterungen die gleichen internen Symbole benutzen. Hinweis: Yaz 2.0 und höher hat dieses Problem nicht.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

NIL (integer)
OP_DEBUG (integer)
OP_READONLY (integer)
Postfach nur zum Lesen ffnen
OP_ANONYMOUS (integer)
Fr News keine .newsrc Datei lesen oder schreiben (nur NNTP)
OP_SHORTCACHE (integer)
OP_SILENT (integer)
OP_PROTOTYPE (integer)
OP_HALFOPEN (integer)
Verbindung aufbauen, aber noch kein Postfach öffnen (IMAP und NNTP)
OP_EXPUNGE (integer)
OP_SECURE (integer)
CL_EXPUNGE (integer)
Löschen aller dazu markierten Nachrichten beim Beenden der Verbindung mit imap_close()
FT_UID (integer)
Der Parameter ist eine UID
FT_PEEK (integer)
Das \Seen Flag nicht verändern
FT_NOT (integer)
FT_INTERNAL (integer)
Der Ergebnistext ist in internem Format, es wurde keine Umwandlung der Zeilenenden vorgenommen.
FT_PREFETCHTEXT (integer)
ST_UID (integer)
Die übergebene Sequenz enthält UIDs an Stelle von Nachrichtennummern
ST_SILENT (integer)
ST_SET (integer)
CP_UID (integer)
Die Sequenz enthält UIDs
CP_MOVE (integer)
Lösche Nachrichten aus dem aktuellen Postfach, nachdem sie mit imap_mail_copy() kopiert wurden.
SE_UID (integer)
Liefere UIDs an Stelle von Nachrichtennummern zurück
SE_FREE (integer)
SE_NOPREFETCH (integer)
Suchergebnisse nicht vorab übertragen
SO_FREE (integer)
SO_NOSERVER (integer)
SA_MESSAGES (integer)
SA_RECENT (integer)
SA_UNSEEN (integer)
SA_UIDNEXT (integer)
SA_UIDVALIDITY (integer)
SA_ALL (integer)
LATT_NOINFERIORS (integer)
Das Postfach enthält keine weiteren Unterpostfächer
LATT_NOSELECT (integer)
Dieses Postfach enthält nur Unterpostfächer, keine Nachrichten und kann daher nicht geöffnet werden
LATT_MARKED (integer)
Das Postfach ist markiert (nur UW-IMAPD)
LATT_UNMARKED (integer)
Das Postfach ist nicht markiert (nur UW-IMAPD)
SORTDATE (integer)
Sortieren nach Sendedatum in imap_sort()
SORTARRIVAL (integer)
Sortieren nach Empfangsdatum in imap_sort()
SORTFROM (integer)
Sortieren nach Absender in imap_sort()
SORTSUBJECT (integer)
Sortieren nach Betreff in imap_sort()
SORTTO (integer)
Sortieren nach Empfänger in imap_sort()
SORTCC (integer)
Sortieren nach Cc-Adresse in imap_sort()
SORTSIZE (integer)
Sortieren nach Größe in imap_sort()
TYPETEXT (integer)
TYPEMULTIPART (integer)
TYPEMESSAGE (integer)
TYPEAPPLICATION (integer)
TYPEAUDIO (integer)
TYPEIMAGE (integer)
TYPEVIDEO (integer)
TYPEOTHER (integer)
ENC7BIT (integer)
ENC8BIT (integer)
ENCBINARY (integer)
ENCBASE64 (integer)
ENCQUOTEDPRINTABLE (integer)
ENCOTHER (integer)
IMAP_OPENTIMEOUT (integer)
IMAP_READTIMEOUT (integer)
IMAP_WRITETIMEOUT (integer)
IMAP_CLOSETIMEOUT (integer)
LATT_REFERRAL (integer)
LATT_HASCHILDREN (integer)
LATT_HASNOCHILDREN (integer)
TYPEMODEL (integer)
Ressource-Typen
IMAP Funktionen
IMAP


IMAP Funktionen

Siehe auch

Dieses Dokument kann nicht alle von den enthaltenen Funktionen berührten Themenbereiche im Detail beschreiben. Weitergehende Informationen finden Sie in der Dokumentation zum c-client Sourcecode (docs/internal.txt) und in den folgenden RFC-Standarddokumenten:

  • » RFC2821: Simple Mail Transfer Protocol (SMTP).
  • » RFC2822: Standard for ARPA internet text messages.
  • » RFC2060: Internet Message Access Protocol (IMAP) Version 4rev1.
  • » RFC1939: Post Office Protocol Version 3 (POP3).
  • » RFC977: Network News Transfer Protocol (NNTP).
  • » RFC2076: Common Internet Message Headers.
  • » RFC2045 , » RFC2046 , » RFC2047 , » RFC2048 & » RFC2049: Multipurpose Internet Mail Extensions (MIME).
Einen detailierten Überblick der relevanten Themen bieten auch die Bücher » Programming Internet Email von David Wood und » Managing IMAP von Dianna Mullet & Kevin Mullet.

Inhaltsverzeichnis

  • imap_8bit — Konvertiert einen 8bit String in einen quoted-printable String
  • imap_alerts — Liefert alle aufgetretenen IMAP Alarmnachrichten
  • imap_append — String als Nachricht in einem Postfach ablegen
  • imap_base64 — Dekodiert Base-64 kodierten Text
  • imap_binary — Konvertiert einen 8 Bit String in einen Base64 codierten String
  • imap_body — Liefert den Körper einer Nachricht
  • imap_bodystruct — Liefert die Struktur eines bestimmten Nachrichtenteils
  • imap_check — Informationen zum aktuellen Postfach
  • imap_clearflag_full — Löscht Flags einer Nachricht
  • imap_close — Schließt einen IMAP Stream
  • imap_create — Alias von imap_createmailbox
  • imap_createmailbox — Anlegen eines neuen Postfachs
  • imap_delete — Nachrichten im aktuellen Postfach zur Löschung markieren
  • imap_deletemailbox — Löscht ein Postfach
  • imap_errors — Diese Funktion liefert alle bisher aufgetretenen Fehlermeldungen
  • imap_expunge — Löscht alle zum Löschen markierte Nachrichten
  • imap_fetch_overview — Liefert einen Auszug aus den Kopfdaten von Nachrichten
  • imap_fetchbody — Liefert einen bestimmten Abschnitt aus dem Körper einer Nachricht
  • imap_fetchheader — Liefert den Kopf einer Nachricht
  • imap_fetchmime — Fetch MIME headers for a particular section of the message
  • imap_fetchstructure — Ermittelt die Struktur einer Nachricht
  • imap_fetchtext — Alias von imap_body
  • imap_gc — Leert den IMAP Cache
  • imap_get_quota — Liefert Quota-Beschränkungen und Nutzungsstatistik der Postfächer
  • imap_get_quotaroot — Liefert die Quota-Beschränkungen für ein Benutzerpostfach
  • imap_getacl — Liste der Zugriffsrechte für ein Postfach bestimmen
  • imap_getmailboxes — Liefert detailierte Informationen zu allen verfügbaren Postfächern
  • imap_getsubscribed — Liste aller abonnierten Postfächer
  • imap_header — Alias von imap_headerinfo
  • imap_headerinfo — Liest die Kopfdaten einer Nachricht
  • imap_headers — Liefert eine Zusammenfassung aller Nachrichtenköpfe eines Postfachs
  • imap_last_error — Liefert die letzte IMAP-Fehlermeldung für dieses Script
  • imap_list — Liste der Postfächer lesen
  • imap_listmailbox — Alias von imap_list
  • imap_listscan — Listet Postfächer nach Suchkriterien
  • imap_listsubscribed — Alias von imap_lsub
  • imap_lsub — Liste aller abonierten Postfächer
  • imap_mail_compose — Erzeugt eine MIME-Nachricht aus Kopf- und Nachrichtenelementen
  • imap_mail_copy — Kopiert Nachrichten in ein Postfach
  • imap_mail_move — Verschiebt Nachrichten in ein anderes Postfach
  • imap_mail — Sendet eine Email Nachricht
  • imap_mailboxmsginfo — Informationen zum aktuellen Postfach
  • imap_mime_header_decode — Dekodiert MIME-codierte Headerzeilen
  • imap_msgno — Liefert die Nachrichtennummer für eine gegebene UID
  • imap_num_msg — Anzahl der Nachrichten im aktuellen Postfach
  • imap_num_recent — Nummer der kürzlich eingetroffenen Nachrichten
  • imap_open — Öffnet eine Verbindung zu einem Mailserver-Postfach
  • imap_ping — Prüft einen IMAP-Stream auf Funktionalität
  • imap_qprint — Konvertiert einen quoted-printable kodierten String in einen 8 Bit String
  • imap_rename — Alias von imap_renamemailbox
  • imap_renamemailbox — Ändert den Namen eines Postfachs
  • imap_reopen — Wechselt das aktuelle Postfach der Verbindung
  • imap_rfc822_parse_adrlist — Zerlegt einen Mailadressstring
  • imap_rfc822_parse_headers — Email-Kopfzeilen aus einem String auslesen
  • imap_rfc822_write_address — Bildet aus Realnamen, Postfach und Server eine korrekt formatierte Mail-Adresse
  • imap_savebody — Speichert einen bestimmten Body-Abschnitt einer Nachricht als Datei
  • imap_scan — Alias von imap_listscan
  • imap_scanmailbox — Alias von imap_listscan
  • imap_search — Liefert ein Array von Nachrichten die den gegebenen Suchkriterien entsprechen
  • imap_set_quota — Setzt die Mengenbeschränkung für ein Postfach
  • imap_setacl — Setzen der ACL für ein Postfach
  • imap_setflag_full — Setzt Nachrichtenflags
  • imap_sort — Sortiert Nachrichten eines Postfachs
  • imap_status — Liefert Statusinformationen zum angegebenen Postfach
  • imap_subscribe — Abbonieren eines Postfachs
  • imap_thread — Liefert einen Baum zusammenhängender Nachrichten
  • imap_timeout — Imap Timeout setzen oder lesen
  • imap_uid — Liefert die UID für die gegebene Nachrichtennummer
  • imap_undelete — Nimmt eine bereits gesetzte Löschmarkierung einer Nachricht zurück
  • imap_unsubscribe — Abonnement eines Postfachs beenden
  • imap_utf7_decode — Dekodiert einem String im modifizierten UTF-7-Format
  • imap_utf7_encode — Kodiert ISO-8859-1 Text im modifizieren UTF-7-Format
  • imap_utf8 — Konvertiert Text zu UTF8
Vordefinierte Konstanten
imap_8bit
IMAP


Konvertiert einen 8bit String in einen quoted-printable String

IMAP Funktionen
imap_alerts
IMAP Funktionen
PHP Manual

imap_8bit

(PHP 4, PHP 5, PHP 7)

imap_8bit — Konvertiert einen 8bit String in einen quoted-printable String

Beschreibung

string imap_8bit ( string $string )

Konvertiert einen 8bit String in einen quoted-printable String gemäß » RFC2045, Abschnitt 6.7.

Parameter-Liste

string

Der zu konvertierende 8bit String

Rückgabewerte

Der Eingabestring in quoted-ptrintable Kodierung

Siehe auch

  • imap_qprint() - Konvertiert einen quoted-printable kodierten String in einen 8 Bit String

IMAP Funktionen
imap_alerts
IMAP Funktionen


Liefert alle aufgetretenen IMAP Alarmnachrichten

imap_8bit
imap_append
IMAP Funktionen
PHP Manual

imap_alerts

(PHP 4, PHP 5, PHP 7)

imap_alerts — Liefert alle aufgetretenen IMAP Alarmnachrichten

Beschreibung

array imap_alerts ( void )

Liefert alle IMAP Alarmbenachrichtigungen seit dem letzen Aufruf von imap_alerts() oder seit Anfang des Scripts.

Durch den Aufruf von imap_alerts() wird der Alarmstack gelöscht. Die IMAP Spezifikation schreibt vor das alle Alarmmeldungen an den Benutzer weitergegebene werden müssen.

Rückgabewerte

Liefert ein Array mit allen Alarmmeldungstexten seit dem letzen Aufruf oder FALSE wenn keine Meldungen vorliegen.

Siehe auch

  • imap_errors() - Diese Funktion liefert alle bisher aufgetretenen Fehlermeldungen

imap_8bit
imap_append
IMAP Funktionen


String als Nachricht in einem Postfach ablegen

imap_alerts
imap_base64
IMAP Funktionen
PHP Manual

imap_append

(PHP 4, PHP 5, PHP 7)

imap_append — String als Nachricht in einem Postfach ablegen

Beschreibung

bool imap_append ( resource $imap_stream , string $mailbox , string $message [, string $options = NULL [, string $internal_date = NULL ]] )

Der in message übergebene String wird als Nachricht an das Postfach mailbox angefügt.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

mailbox

Der Name des Postfachs, siehe imap_open() für nähere Informationen.

message

Die anzufügende Nachricht als String

Bei Verbindungen mit dem Cyrus IMAP server ist es zwingend erforderlich "\r\n" als Zeilenende zu benutzen, mit einem einfachen "n" schlägt die Operation fehl.

options

Wenn angegeben werden die in options gesetzten Optionen der Nachricht bei der Anlage gesetzt.

internal_date

Wenn dieser Parameter angegeben wird, wird das INTERNALDATE für die hinzugefügte Nachricht gesetzt. Der Parameter sollte eine Datumszeichenkette sein, die konform zu den RFC2060 Spezifikationen für data_time Werte ist.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.3.2 | INTERNALDATE Unterstützung zu imag_append hinzugefügt.

Beispiele

Beispiel #1 imap_append() Beispiel

<?php
$stream = imap_open("{imap.example.org}INBOX.Drafts", "username", "password");

$check = imap_check($stream);
echo "Msg Count before append: ". $check->Nmsgs . "\n";

imap_append($stream, "{imap.example.org}INBOX.Drafts"
                   , "From: me@example.com\r\n"
                   . "To: you@example.com\r\n"
                   . "Subject: test\r\n"
                   . "\r\n"
                   . "this is a test message, please ignore\r\n"
                   );

$check = imap_check($stream);
echo "Msg Count after append : ". $check->Nmsgs . "\n";

imap_close($stream);
?>

imap_alerts
imap_base64
IMAP Funktionen


Dekodiert Base-64 kodierten Text

imap_append
imap_binary
IMAP Funktionen
PHP Manual

imap_base64

(PHP 4, PHP 5, PHP 7)

imap_base64 — Dekodiert Base-64 kodierten Text

Beschreibung

string imap_base64 ( string $text )

Dekodiert den gegebenen Base-64 kodierten text.

Parameter-Liste

text

Der zu dekodierende Text

Rückgabewerte

Liefert den dekodierten Text als String.

Siehe auch

  • imap_binary() - Konvertiert einen 8 Bit String in einen Base64 codierten String
  • base64_encode() - Kodiert Daten MIME base64
  • base64_decode() - DekodiertMIME base64-kodierte Daten
  • » RFC2045, Abschnitt 6.8

imap_append
imap_binary
IMAP Funktionen


Konvertiert einen 8 Bit String in einen Base64 codierten String

imap_base64
imap_body
IMAP Funktionen
PHP Manual

imap_binary

(PHP 4, PHP 5, PHP 7)

imap_binary — Konvertiert einen 8 Bit String in einen Base64 codierten String

Beschreibung

string imap_binary ( string $string )

Konvertiert einen 8 Bit String in einen Base64 codierten String gemäß » RFC2045, Abschnitt 6.8.

Parameter-Liste

string

Der zu konvertierende 8 Bit String.

Rückgabewerte

Liefert einen Base64 kodierten String.

Siehe auch

  • imap_base64() - Dekodiert Base-64 kodierten Text

imap_base64
imap_body
IMAP Funktionen


Liefert den Körper einer Nachricht

imap_binary
imap_bodystruct
IMAP Funktionen
PHP Manual

imap_body

(PHP 4, PHP 5, PHP 7)

imap_body — Liefert den Körper einer Nachricht

Beschreibung

string imap_body ( resource $imap_stream , int $msg_number [, int $options = 0 ] )

imap_body() liefert den Körper der mit msg_number angegebenen Nachricht aus dem aktuellen Postfach.

imap_body() liefert eine 1:1 Kopie des gesamten Nachrichtenkörpers. Um einzelne Teile einer mehrteiligen MIME-kodierten Nachricht auszulesen müssen Sie zunächst die Struktur der Nachricht mit imap_fetchstructure() analysieren um anschließend einzelne Komponenten mit imap_fetchbody() anzufordern.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

msg_number

Die Nachrichtennummer

options

Der optionale Parameter options kann eine Bitmaske mit folgenden Optionen enthalten:

  • FT_UID - msg_number ist eine UID
  • FT_PEEK - Das \Seen Flag wird nicht gesetzt
  • FT_INTERNAL - Rückgabe im internen Format ohne Umwandlung der Zeilenenden

Rückgabewerte

Liefert den Körper der gewünschten Nachricht als String.

imap_binary
imap_bodystruct
IMAP Funktionen


Liefert die Struktur eines bestimmten Nachrichtenteils

imap_body
imap_check
IMAP Funktionen
PHP Manual

imap_bodystruct

(PHP 4, PHP 5, PHP 7)

imap_bodystruct — Liefert die Struktur eines bestimmten Nachrichtenteils

Beschreibung

object imap_bodystruct ( resource $imap_stream , int $msg_number , string $section )

Liefert die Struktur des mit section angegebenen Teils der Nachricht msg_number.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

msg_number

Die Nachrichtennummer

section

Der gewünschte Nachrichtenteil

Rückgabewerte

Liefert ein Objekt mit den gewünschten Informationen, zum Aufbau des Objekts und seiner Eigenschaften siehe imap_fetchstructure().

Siehe auch

  • imap_fetchstructure() - Ermittelt die Struktur einer Nachricht

imap_body
imap_check
IMAP Funktionen


Informationen zum aktuellen Postfach

imap_bodystruct
imap_clearflag_full
IMAP Funktionen
PHP Manual

imap_check

(PHP 4, PHP 5, PHP 7)

imap_check — Informationen zum aktuellen Postfach

Beschreibung

object imap_check ( resource $imap_stream )

Liefert Informationen zum aktuellen Postfach

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

Rückgabewerte

Informationen werden als Objekt mit folgenden Eigenschaften zurückgegeben:

  • Date - Aktuelle Serverzeit, formatiert gemäß » RFC2822
  • Driver - Protokoll des Postfachs: POP3, IMAP, NNTP
  • Mailbox - Name des Postfachs
  • Nmsgs - Anzahl der Nachrichten im Postfach
  • Recent - Anzahl kürzlich eingetroffener Nachrichten im Postfach

Beim Auftreten von Fehlern wird FALSE zurückgegeben.

Beispiele

Beispiel #1 imap_check() Beispiel

<?php

$imap_obj = imap_check($imap_stream);
var_dump($imap_obj);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(stdClass)(5) {
  ["Date"]=>
  string(37) "Wed, 10 Dec 2003 17:56:54 +0100 (CET)"
  ["Driver"]=>
  string(4) "imap"
  ["Mailbox"]=>
  string(54)
  "{www.example.com:143/imap/user="foo@example.com"}INBOX"
  ["Nmsgs"]=>
  int(1)
  ["Recent"]=>
  int(0)
}

imap_bodystruct
imap_clearflag_full
IMAP Funktionen


Löscht Flags einer Nachricht

imap_check
imap_close
IMAP Funktionen
PHP Manual

imap_clearflag_full

(PHP 4, PHP 5, PHP 7)

imap_clearflag_full — Löscht Flags einer Nachricht

Beschreibung

bool imap_clearflag_full ( resource $imap_stream , string $sequence , string $flag [, int $options = 0 ] )

Diese Funktion bewirkt das Löschen der in flag angegebenen Flags für die mit sequence spezifizerten Nachrichten.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

sequence

Eine Sequenz von Nachrichtennummern, diese können als Aufzählung in der Form X,Y oder als Interval in der Form X:Y angegeben werden.

flag

Die folgenden Flags werden unterstüzt: "\\Seen", "\\Answered", "\\Flagged", "\\Deleted" und "\\Draft" (siehe auch » RFC2060)

options

options ist eine Bitmaske, zur Zeit ist nur ein Wert definiert:

  • ST_UID - sequence besteht aus UIDs an Stelle von Nachrichtennummern.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • imap_setflag_full() - Setzt Nachrichtenflags

imap_check
imap_close
IMAP Funktionen


Schließt einen IMAP Stream

imap_clearflag_full
imap_create
IMAP Funktionen
PHP Manual

imap_close

(PHP 4, PHP 5, PHP 7)

imap_close — Schließt einen IMAP Stream

Beschreibung

bool imap_close ( resource $imap_stream [, int $flag = 0 ] )

Schließt den angegebenen IMAP-Stream.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

flag

Wenn CL_EXPUNGE als flag übergeben wird so werden alle zum löschen vorgemerkte Nachrichten des aktuellen Postfachs vor Beenden der Verbindung endgültig gelöscht. Dies lässt sich auch durch die Funktion imap_expunge() erreichen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • imap_open() - Öffnet eine Verbindung zu einem Mailserver-Postfach

imap_clearflag_full
imap_create
IMAP Funktionen


Alias von imap_createmailbox

imap_close
imap_createmailbox
IMAP Funktionen
PHP Manual

imap_create

(PHP 4, PHP 5, PHP 7)

imap_create — Alias von imap_createmailbox()

Beschreibung

Diese Funktion ist ein Alias für: imap_createmailbox().

imap_close
imap_createmailbox
IMAP Funktionen


Anlegen eines neuen Postfachs

imap_create
imap_delete
IMAP Funktionen
PHP Manual

imap_createmailbox

(PHP 4, PHP 5, PHP 7)

imap_createmailbox — Anlegen eines neuen Postfachs

Beschreibung

bool imap_createmailbox ( resource $imap_stream , string $mailbox )

Legt ein neues Postfach mit dem Namen mailbox an.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

mailbox

Der Postfachname, siehe imap_open() für nähere Informationen. Namen die nicht-ASCII Zeichen enthalten sollten mit imap_utf7_encode() kodiert werden.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 imap_createmailbox() Beispiel

<?php
$mbox = imap_open("{imap.example.org}", "username", "password", OP_HALFOPEN)
     or die("can't connect: " . imap_last_error());

$name1 = "phpnewbox";
$name2 = imap_utf7_encode("phpnewböx"); // phpnewb&w7Y-x

$newname = $name1;

echo "Newname will be '$name1'<br />\n";

// we will now create a new mailbox "phptestbox" in your inbox folder,
// check its status after creation and finaly remove it to restore
// your inbox to its initial state

if (@imap_createmailbox($mbox, imap_utf7_encode("{imap.example.org}INBOX.$newname"))) {
    $status = @imap_status($mbox, "{imap.example.org}INBOX.$newname", SA_ALL);
    if ($status) {
        echo "your new mailbox '$name1' has the following status:<br />\n";
        echo "Messages:   " . $status->messages    . "<br />\n";
        echo "Recent:     " . $status->recent      . "<br />\n";
        echo "Unseen:     " . $status->unseen      . "<br />\n";
        echo "UIDnext:    " . $status->uidnext     . "<br />\n";
        echo "UIDvalidity:" . $status->uidvalidity . "<br />\n";

        if (imap_renamemailbox($mbox, "{imap.example.org}INBOX.$newname", "{imap.example.org}INBOX.$name2")) {
            echo "renamed new mailbox from '$name1' to '$name2'<br />\n";
            $newname = $name2;
        } else {
            echo "imap_renamemailbox on new mailbox failed: " . imap_last_error() . "<br />\n";
        }
    } else {
        echo "imap_status on new mailbox failed: " . imap_last_error() . "<br />\n";
    }

    if (@imap_deletemailbox($mbox, "{imap.example.org}INBOX.$newname")) {
        echo "new mailbox removed to restore initial state<br />\n";
    } else {
        echo "imap_deletemailbox on new mailbox failed: " . implode("<br />\n", imap_errors()) . "<br />\n";
    }

} else {
    echo "could not create new mailbox: " . implode("<br />\n", imap_errors()) . "<br />\n";
}

imap_close($mbox);
?>

Siehe auch

  • imap_renamemailbox() - Ändert den Namen eines Postfachs
  • imap_deletemailbox() - Löscht ein Postfach

imap_create
imap_delete
IMAP Funktionen


Nachrichten im aktuellen Postfach zur Löschung markieren

imap_createmailbox
imap_deletemailbox
IMAP Funktionen
PHP Manual

imap_delete

(PHP 4, PHP 5, PHP 7)

imap_delete — Nachrichten im aktuellen Postfach zur Löschung markieren

Beschreibung

bool imap_delete ( resource $imap_stream , int $msg_number [, int $options = 0 ] )

Die mit msg_number angegebene Nachricht oder Liste von Nachrichten wird zur Löschung vorgemerkt. Entsprechend markierte Nachrichten bleiben zunächst im Postfach erhalten, erst beim Aufruf von imap_expunge() oder beim Schließen der Verbingung mit imap_close() und der CL_EXPUNGE Option werden sie tatsächlich endgültig gelöscht.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

msg_number

Die Nachrichtennummer

options

Mit Hilfe der Option FT_UID kann festgelegt werden das msg_number an Stelle von Nachrichtennummern UIDs enthält.

Rückgabewerte

Returns TRUE.

Beispiele

Beispiel #1 imap_delete() Beispiel

<?php

$mbox = imap_open("{imap.example.org}INBOX", "username", "password")
    or die("Can't connect: " . imap_last_error());

$check = imap_mailboxmsginfo($mbox);
echo "Messages before delete: " . $check->Nmsgs . "<br />\n";

imap_delete($mbox, 1);

$check = imap_mailboxmsginfo($mbox);
echo "Messages after  delete: " . $check->Nmsgs . "<br />\n";

imap_expunge($mbox);

$check = imap_mailboxmsginfo($mbox);
echo "Messages after expunge: " . $check->Nmsgs . "<br />\n";

imap_close($mbox);
?>

Anmerkungen

Hinweis:

Für IMAP Postfächer kann das Löschen-Flag nicht serverseitig zwischen Verbindungen gespeichert werden; markierte Nachrichten sollten daher noch wärend der aktuellen Verbindung mit imap_expunge() entfernt werden, ansonsten bleiben sie möglicherweise ohne Löschmarkierung weiter erhalten.

Siehe auch

  • imap_undelete() - Nimmt eine bereits gesetzte Löschmarkierung einer Nachricht zurück
  • imap_expunge() - Löscht alle zum Löschen markierte Nachrichten
  • imap_close() - Schließt einen IMAP Stream

imap_createmailbox
imap_deletemailbox
IMAP Funktionen


Löscht ein Postfach

imap_delete
imap_errors
IMAP Funktionen
PHP Manual

imap_deletemailbox

(PHP 4, PHP 5, PHP 7)

imap_deletemailbox — Löscht ein Postfach

Beschreibung

bool imap_deletemailbox ( resource $imap_stream , string $mailbox )

Löscht das mit mailbox angegebene Postfach.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

mailbox

Der Postfachname, für weitere Informationen siehe imap_open().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • imap_createmailbox() - Anlegen eines neuen Postfachs
  • imap_renamemailbox() - Ändert den Namen eines Postfachs
  • imap_open() - Öffnet eine Verbindung zu einem Mailserver-Postfach für das Format des Postfachnamens.

imap_delete
imap_errors
IMAP Funktionen


Diese Funktion liefert alle bisher aufgetretenen Fehlermeldungen

imap_deletemailbox
imap_expunge
IMAP Funktionen
PHP Manual

imap_errors

(PHP 4, PHP 5, PHP 7)

imap_errors — Diese Funktion liefert alle bisher aufgetretenen Fehlermeldungen

Beschreibung

array imap_errors ( void )

Liefert alle IMAP Fehlermeldungen (falls vorhanden) die seit dem Scriptanfang oder dem letzten Löschen der Fehlerliste aufgetreten sind.

Ein Aufruf von imap_errors() löscht nach seiner Ausführung die Fehlerliste.

Rückgabewerte

Diese Funktion liefert ein Array aller IMAP Fehlermeldungen seit dem letzten Aufruf von imap_errors() oder seit dem Begin der Scriptausführung. Wenn keine Fehlermeldungen vorhanden sind wird FALSE zurückgegeben.

Siehe auch

  • imap_last_error() - Liefert die letzte IMAP-Fehlermeldung für dieses Script
  • imap_alerts() - Liefert alle aufgetretenen IMAP Alarmnachrichten

imap_deletemailbox
imap_expunge
IMAP Funktionen


Löscht alle zum Löschen markierte Nachrichten

imap_errors
imap_fetch_overview
IMAP Funktionen
PHP Manual

imap_expunge

(PHP 4, PHP 5, PHP 7)

imap_expunge — Löscht alle zum Löschen markierte Nachrichten

Beschreibung

bool imap_expunge ( resource $imap_stream )

Löscht alle Nachrichten im aktuellen Postfach die durch die Funktionen imap_delete(), imap_mail_move(), oder imap_setflag_full() zum Löschen vorgemerkt wurden.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

Rückgabewerte

Liefert TRUE.

imap_errors
imap_fetch_overview
IMAP Funktionen


Liefert einen Auszug aus den Kopfdaten von Nachrichten

imap_expunge
imap_fetchbody
IMAP Funktionen
PHP Manual

imap_fetch_overview

(PHP 4, PHP 5, PHP 7)

imap_fetch_overview — Liefert einen Auszug aus den Kopfdaten von Nachrichten

Beschreibung

array imap_fetch_overview ( resource $imap_stream , string $sequence [, int $options = 0 ] )

Die Funktion fragt die Kopfdaten der mit sequence() angegebenen Nachrichten ab und liefert einen Auszug daraus zurück.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

sequence

Beschreibung der gewünschten Nachrichten. Mehrere Nachrichten können durch Komma getrennt angegeben werden (X,Y), Nachrichtenbereiche durch einen Doppelpunkt zwischen erster und letzter Nachricht (X:Y).

options

Wenn dieser Parameter auf FT_UID gesetzt wird werden die einzelnen Einträge der Nachrichtenliste sequence als UIDs und nicht als Nachrichtennummern interpretiert.

Rückgabewerte

Gibt ein Array von Objekten, die jeweils einen Nachrichtenkopf beschreiben, zurück. Das Objekt hat eine Eigenschaft nur dann, wenn sie auch existiert. Die möglichen Eigenschaften sind:

  • subject - die Betreffzeile der Nachricht
  • from - der Absender
  • to - der Empfänger
  • date - Sendezeitpunkt der Nachricht
  • message_id - die Message-ID der Nachricht
  • references - die Nachricht bezieht sich auf eine andere Nachricht mit dieser Message-ID
  • in_reply_to - die Nachricht ist eine Antwort auf eine andere Nachricht mit dieser Message-ID
  • size - Größe der Nachricht in Bytes
  • uid - die UID der Nachricht innerhalb des Postfachs
  • msgno - die aktuelle Nachrichtennummer innerhalb des Postfachs
  • recent - diese Nachricht ist als kürzlich eingetroffen markiert
  • flagged - diese Nachricht ist als wichtig markiert
  • answered - diese Nachricht ist als beantwortet markiert
  • deleted - diese Nachricht ist zur Löschung vorgemerkt
  • seen - diese Nachricht ist als bereits gelesen markiert
  • draft - diese Nachricht ist als Entwurf markiert

Beispiele

Beispiel #1 imap_fetch_overview()-Beispiel

<?php
$mbox = imap_open("{imap.example.org:143}INBOX", "username", "password")
     or die("can't connect: " . imap_last_error());

$MC = imap_check($mbox);

// Hole eine Übersicht aller Nachrichten in der INBOX
$result = imap_fetch_overview($mbox,"1:{$MC->Nmsgs}",0);
foreach ($result as $overview) {
    echo "#{$overview->msgno} ({$overview->date}) - From: {$overview->from}
    {$overview->subject}\n";
}
imap_close($mbox);
?>

Siehe auch

  • imap_fetchheader() - Liefert den Kopf einer Nachricht

imap_expunge
imap_fetchbody
IMAP Funktionen


Liefert einen bestimmten Abschnitt aus dem Körper einer Nachricht

imap_fetch_overview
imap_fetchheader
IMAP Funktionen
PHP Manual

imap_fetchbody

(PHP 4, PHP 5, PHP 7)

imap_fetchbody — Liefert einen bestimmten Abschnitt aus dem Körper einer Nachricht

Beschreibung

string imap_fetchbody ( resource $imap_stream , int $msg_number , string $section [, int $options = 0 ] )

Liefert den mit section angebenen Teil der Nachricht msg_number im aktuellen Postfach. Der Nachrichtenteil wird dabei nicht dekodiert.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

msg_number

Die Nachrichtennummer

section

Die Nummer des gewünschten Nachrichtenteils. Diese wird gemäß der IMAP4-Spezifikation als String von mit Punkten getrennten Zahlen angegeben.

options

Eine Bitmaske, die sich aus folgenden Werten zusammensetzen kann:

  • FT_UID - die Nachrichtennummer ist eine UID
  • FT_PEEK - Das \Seen-Flag der Nachricht wird nicht verändert
  • FT_INTERNAL - String im internen Format ohne Zeilenendenumwandlung zurückgeben

Rückgabewerte

Liefert einen bestimmten Teil des Körpers der angegebenen Nachricht als Textstring.

Siehe auch

  • imap_savebody() - Speichert einen bestimmten Body-Abschnitt einer Nachricht als Datei
  • imap_fetchstructure() - Ermittelt die Struktur einer Nachricht

imap_fetch_overview
imap_fetchheader
IMAP Funktionen


Liefert den Kopf einer Nachricht

imap_fetchbody
imap_fetchmime
IMAP Funktionen
PHP Manual

imap_fetchheader

(PHP 4, PHP 5, PHP 7)

imap_fetchheader — Liefert den Kopf einer Nachricht

Beschreibung

string imap_fetchheader ( resource $imap_stream , int $msg_number [, int $options = 0 ] )

Diese Funktion liefert den kompletten ungefilterten Kopf der angegebenen Nachricht gemäß » RFC2822.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

msg_number

Die Nachrichtennummer

options

Folgende Flags können in options gesetzt werden:

  • FT_UID - msgno ist eine UID
  • FT_INTERNAL - Rückgaben im internen Format ohne jede Umwandlung von Zeilenenden
  • FT_PREFETCHTEXT Der Körper der Nachricht wird zusammen mit dem Kopf zum Client übertragen. Dies vermeidet einen weitern Zugriff auf den IMAP-Server wenn die gesamte Nachricht bearbeitet werden soll (z.B. zum Abspeichern in einer lokalen Datei)

Rückgabewerte

Gibt den Kopf der angegebenen Nachricht als Zeichenkette zurück.

Siehe auch

  • imap_fetch_overview() - Liefert einen Auszug aus den Kopfdaten von Nachrichten

imap_fetchbody
imap_fetchmime
IMAP Funktionen


Fetch MIME headers for a particular section of the message

imap_fetchheader
imap_fetchstructure
IMAP Funktionen
PHP Manual

imap_fetchmime

(PHP 5 >= 5.3.6, PHP 7)

imap_fetchmime — Fetch MIME headers for a particular section of the message

Beschreibung

string imap_fetchmime ( resource $imap_stream , int $msg_number , string $section [, int $options = 0 ] )

Fetch the MIME headers of a particular section of the body of the specified messages.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

msg_number

The message number

section

The part number. It is a string of integers delimited by period which index into a body part list as per the IMAP4 specification

options

A bitmask with one or more of the following:

  • FT_UID - The msg_number is a UID
  • FT_PEEK - Do not set the \Seen flag if not already set
  • FT_INTERNAL - The return string is in internal format, will not canonicalize to CRLF.

Rückgabewerte

Returns the MIME headers of a particular section of the body of the specified messages as a text string.

Siehe auch

  • imap_fetchbody() - Liefert einen bestimmten Abschnitt aus dem Körper einer Nachricht
  • imap_fetchstructure() - Ermittelt die Struktur einer Nachricht
  • imap_fetchheader() - Liefert den Kopf einer Nachricht

imap_fetchheader
imap_fetchstructure
IMAP Funktionen


Ermittelt die Struktur einer Nachricht

imap_fetchmime
imap_fetchtext
IMAP Funktionen
PHP Manual

imap_fetchstructure

(PHP 4, PHP 5, PHP 7)

imap_fetchstructure — Ermittelt die Struktur einer Nachricht

Beschreibung

object imap_fetchstructure ( resource $imap_stream , int $msg_number [, int $options = 0 ] )

Liefert alle Strukturinformationen für die gegebene Nachricht.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

msg_number

Die gewünschte Nachrichtennummer

options

Dieser optionale Parameter hat nur eine einzige Option, FT_UID, die angibt, dass msg_number als UID behandelt werden soll.

Rückgabewerte

Gibt ein Objekt mit dem Envelope, dem internen Datum, der Größe, den Flags und der Body-Struktur zusammen mit ähnlichen Objekten für jeden Mime-Anhang zurück. Die Struktur der zurückgegebenen Objekte ist wie folgt:

Zurückgegebene Objekte für imap_fetchstructure()
type | Primärer MIME-Typ des Nachrichtenteils
encoding | Body transfer encoding
ifsubtype | TRUE wenn ein Untertyp-Eintrag existiert
subtype | MIME Untertyp
ifdescription | TRUE wenn ein Beschreibungstext existiert
description | Beschreibungstext
ifid | TRUE wenn ein Identifikationstext existiert
id | Identifikationstext
lines | Anzahl der Zeilen
bytes | Größe in Bytes
ifdisposition | TRUE wenn ein "disposition" Eintrag zum Verwendungsart existiert
disposition | Verwendungsart
ifdparameters | TRUE wenn ein "dparameter" Array existiert
dparameters | Ein Array von Objekten mit je einer "attribute"- und einer "value"-Eigenschaft. Jedes dieser Objekte enthält je einen Eintrag aus der Content-disposition-Kopfzeile des Nachrichtenteils.
ifparameters | TRUE wenn ein "parameters"-Array existiert
parameters | Ein Array von Objekten mit je einer "attribute"- und einer "value"-Eigenschaft.
parts | Wenn der Nachrichtenteil selbst weitere untergeorgnete Nachrichtenteile enthält, so wird hier ein Array mit Objekten für diese Teile angelegt. Die Elemente dieses Arrays sind selbst jeweils wieder Objekte von der hier beschriebenen Struktur.

Gängige primäre Nachrichtentypen
0 | text
1 | multipart
2 | message
3 | application
4 | audio
5 | image
6 | video
7 | other

Gängige Übertragungskodierungen
0 | 7BIT
1 | 8BIT
2 | BINARY
3 | BASE64
4 | QUOTED-PRINTABLE
5 | OTHER

Siehe auch

  • imap_fetchbody() - Liefert einen bestimmten Abschnitt aus dem Körper einer Nachricht
  • imap_bodystruct() - Liefert die Struktur eines bestimmten Nachrichtenteils

imap_fetchmime
imap_fetchtext
IMAP Funktionen


Alias von imap_body

imap_fetchstructure
imap_gc
IMAP Funktionen
PHP Manual

imap_fetchtext

(PHP 4, PHP 5, PHP 7)

imap_fetchtext — Alias von imap_body()

Beschreibung

Diese Funktion ist ein Alias für: imap_body().

imap_fetchstructure
imap_gc
IMAP Funktionen


Leert den IMAP Cache

imap_fetchtext
imap_get_quota
IMAP Funktionen
PHP Manual

imap_gc

(PHP 5 >= 5.3.0, PHP 7)

imap_gc — Leert den IMAP Cache

Beschreibung

bool imap_gc ( resource $imap_stream , int $caches )

Säubert den Cache von Einträgen eines bestimmtes Typs.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

caches

Der zu löschende Cache. Es kann ein oder eine Kombination der folgenden Konstanten sein: IMAP_GC_ELT (Nachrichten Cacheelemente), IMAP_GC_ENV (Umschlag und Body), IMAP_GC_TEXTS (Texte).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 imap_gc() Beispiel

<?php

$mbox = imap_open("{imap.example.org:143}", "username", "password");

imap_gc($mbox, IMAP_GC_ELT);

?>

imap_fetchtext
imap_get_quota
IMAP Funktionen


Liefert Quota-Beschränkungen und Nutzungsstatistik der Postfächer

imap_gc
imap_get_quotaroot
IMAP Funktionen
PHP Manual

imap_get_quota

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

imap_get_quota — Liefert Quota-Beschränkungen und Nutzungsstatistik der Postfächer

Beschreibung

array imap_get_quota ( resource $imap_stream , string $quota_root )

imap_get_quota() ermittelt die aktuellen Quota- Beschränkunten und tatsächlich genutzten Resourcen für Postfächer.

Für die Ausführung dieser Funktion ist ein IMAP-Benutzer mit Administrationsrechten erforderlich, eine nichtadministrative Variante der Funktion ist imap_get_quotaroot().

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

quota_root

quota_root sollte normalerweise in der Form user.name angegeben werden. name ist dabei der Name des Postfachs, für das Informationen geliefert werden sollen.

Rückgabewerte

Liefert ein Array mit zwei Integer-Elementen limit und usage, die den insgesamt verfügbaren und den zur Zeit vom Postfach genutzten Speicherplatz angeben. Im Fehlerfall wird FALSE zurückgegeben.

Ab PHP 4.3 hält sich die Funktion genauer an die Vorgaben aus » RFC2087. Das Ergebnisarray unterstützt nun eine unbegrenzte Anzahl von Ressourcewerten (z.B. Anzahl der Nachrichten oder Unterordner). Für jede Ressource wird ein Arrayelement mit dem Namen der Ressource als Key angelegt, die einzelnen Arrayelemente sind wiederum Arrays mit limit- und useage-Angaben.

Aus Gründen der Rückwärtskompatibilität werden außerdem weiter die beiden ursprünglichen Arrayelemente limit und usage zurückgegeben, ihre weitere Nutzung wird allerdings nicht empfohlen.

Beispiele

Beispiel #1 imap_get_quota()-Beispiel

<?php
$mbox = imap_open("{imap.example.org}", "mailadmin", "password", OP_HALFOPEN)
      or die("can't connect: " . imap_last_error());

$quota_value = imap_get_quota($mbox, "user.kalowsky");
if (is_array($quota_value)) {
    echo "Usage level is: " . $quota_value['usage'];
    echo "Limit level is: " . $quota_value['limit'];
}

imap_close($mbox);
?>

Beispiel #2 Beispiel für imap_get_quota() ab 4.3 und aufwärts

<?php
$mbox = imap_open("{imap.example.org}", "mailadmin", "password", OP_HALFOPEN)
      or die("can't connect: " . imap_last_error());

$quota_values = imap_get_quota($mbox, "user.kalowsky");
if (is_array($quota_values)) {
   $storage = $quota_values['STORAGE'];
   echo "STORAGE usage level is: " .  $storage['usage'];
   echo "STORAGE limit level is: " .  $storage['limit'];

   $message = $quota_values['MESSAGE'];
   echo "MESSAGE usage level is: " .  $message['usage'];
   echo "MESSAGE limit is: " .  $message['limit'];

   /* ...  */
}

imap_close($mbox);
?>

Anmerkungen

Diese Funktion ist momentan nur für Benutzer der c-client2000-Bibliothek (oder neuer) verfügbar.

Der angegebene imap_stream muss als Mail-Administrator geöffnet werden; diese Funktion schlägt sonst fehl.

Siehe auch

  • imap_open() - Öffnet eine Verbindung zu einem Mailserver-Postfach
  • imap_set_quota() - Setzt die Mengenbeschränkung für ein Postfach
  • imap_get_quotaroot() - Liefert die Quota-Beschränkungen für ein Benutzerpostfach

imap_gc
imap_get_quotaroot
IMAP Funktionen


Liefert die Quota-Beschränkungen für ein Benutzerpostfach

imap_get_quota
imap_getacl
IMAP Funktionen
PHP Manual

imap_get_quotaroot

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

imap_get_quotaroot — Liefert die Quota-Beschränkungen für ein Benutzerpostfach

Beschreibung

array imap_get_quotaroot ( resource $imap_stream , string $quota_root )

Liefert die Quota-Beschränkungen für den aktuellen Benutzer. Die ermittelten Quota-Beschränkungen gelten über alle Postfächer des Benutzers, die Ausnutungswerte der im angegebenen Postfach genutzten Kapazität.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

quota_root

Name des zu untersuchenden Postfachs, z.B. INBOX.

Rückgabewerte

Liefert ein Array mit Ressourcenamen als Index und Arrays mit den Elementen limit und usage als Werten die das aktuelle Limit sowie die tatsächliche Nutzung der jeweiligen Ressource für das angegebene Postfach angeben.

Die Funktion gibt FALSE zurück, wenn Fehler auftreten und ein Array mit Verbindungsinformationen, falls die Antwort des Servers nicht verarbeitet werden konnte.

Beispiele

Beispiel #1 imap_get_quotaroot()-Beispiel

<?php
$mbox = imap_open("{imap.example.org}", "kalowsky", "password", OP_HALFOPEN)
      or die("can't connect: " . imap_last_error());

$quota = imap_get_quotaroot($mbox, "INBOX");
if (is_array($quota)) {
   $storage = $quota['STORAGE'];
   echo "STORAGE usage level is: " .  $storage['usage'];
   echo "STORAGE limit level is: " .  $storage['limit'];

   $message = $quota['MESSAGE'];
   echo "MESSAGE usage level is: " .  $message['usage'];
   echo "MESSAGE limit level is: " .  $message['limit'];

   /* ...  */

}

imap_close($mbox);
?>

Anmerkungen

Diese Funktion ist nur verfügbar ab der Bibliotheksversion c-client2000.

Das zu prüfende Postfach muss dem User gehören, für den imap_stream geöffnet wurde.

Siehe auch

  • imap_open() - Öffnet eine Verbindung zu einem Mailserver-Postfach
  • imap_set_quota() - Setzt die Mengenbeschränkung für ein Postfach
  • imap_get_quota() - Liefert Quota-Beschränkungen und Nutzungsstatistik der Postfächer

imap_get_quota
imap_getacl
IMAP Funktionen


Liste der Zugriffsrechte für ein Postfach bestimmen

imap_get_quotaroot
imap_getmailboxes
IMAP Funktionen
PHP Manual

imap_getacl

(PHP 5, PHP 7)

imap_getacl — Liste der Zugriffsrechte für ein Postfach bestimmen

Beschreibung

array imap_getacl ( resource $imap_stream , string $mailbox )

Liefert die Zugriffsrechte für ein gegebenes Postfach.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

mailbox

Der Name des Postfachs, siehe imap_open() für weitere Informationen.

Rückgabewerte

Liefert ein Array mit Postfachnamen als Schlüssel und Zugriffsrecht-Listen als Wert.

Beispiele

Beispiel #1 imap_getacl() Beispiel

<?php

 print_r(imap_getacl($conn_id, 'user.joecool'));

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [subfolder] => lrswipcda
    [anothersubfolder] => lrswipcda
)

Anmerkungen

Diese Funktion steht nur Nutzern der c-client2000 Bibliothek oder neuerer Versionen zur Verfügung.

Siehe auch

  • imap_setacl() - Setzen der ACL für ein Postfach

imap_get_quotaroot
imap_getmailboxes
IMAP Funktionen


Liefert detailierte Informationen zu allen verfügbaren Postfächern

imap_getacl
imap_getsubscribed
IMAP Funktionen
PHP Manual

imap_getmailboxes

(PHP 4, PHP 5, PHP 7)

imap_getmailboxes — Liefert detailierte Informationen zu allen verfügbaren Postfächern

Beschreibung

array imap_getmailboxes ( resource $imap_stream , string $ref , string $pattern )

Liefert Postfachinformationen

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

ref

Spezifikation des gewünschten Servers wie in imap_open() beschrieben.

pattern

Legt fest ab welchem Punkt der Postfachhierachie gesucht werden soll.

Zwei spezielle Zeichen können als Teil des Suchmusters pattern benutzt werden: '*' und '%'. Mit '*' werden alle Postfächer angefordert, so können Sie z.B. nur '*' als pattern übergeben und erhalten eine Übersicht aller auf dem Server verfügbarer Postfächer. '%' liefert alle Postfächer auf einer Hierachieebene aber nicht die tiefer liegenden Postfächer. Ein einfaches '%' als pattern liefert nur die Postfächer der obersten Ebene, '~/mail/%' z.B. liefert auf einem UW_IMAP Server alle Postfächer des ~/mail Verzeichnisses aber nicht deren Unterpostfächer.

Rückgabewerte

Liefert ein Array das Objekte mit Postfachbeschreibungen enthält. Jedes Objekt verfügt über die Attribute name für den Namen des Postfachs, delimiter für das gültige Hierachietrennzeichen innerhalb des Hierachieabschnitts in dem sich das Postfach befindet und Eigenschaften des Postfachs in attributes. Die Eigenschaften setzen sich als Bitmaske aus folgenden möglichen Werten zusammen:

  • LATT_NOINFERIORS - innerhalb dieses Postfachs existieren keine weiteren Unterpostfächer
  • LATT_NOSELECT - dieses Postfach enthält nur Unterpostfächer aber keine Nachrichten, es kann nicht geöffnet werden
  • LATT_MARKED - dieses Postfach ist markiert (nur bei UW-IMAPD)
  • LATT_UNMARKED - dieses Postfach ist nicht markiert (nur bei UW-IMAPD)

Beispiele

Beispiel #1 imap_getmailboxes() Beispiel

<?php
$mbox = imap_open("{imap.example.org}", "username", "password", OP_HALFOPEN)
      or die("can't connect: " . imap_last_error());

$list = imap_getmailboxes($mbox, "{imap.example.org}", "*");
if (is_array($list)) {
    foreach ($list as $key => $val) {
        echo "($key) ";
        echo imap_utf7_decode($val->name) . ",";
        echo "'" . $val->delimiter . "',";
        echo $val->attributes . "<br />\n";
    }
} else {
    echo "imap_getmailboxes failed: " . imap_last_error() . "\n";
}

imap_close($mbox);
?>

Siehe auch

  • imap_getsubscribed() - Liste aller abonnierten Postfächer

imap_getacl
imap_getsubscribed
IMAP Funktionen


Liste aller abonnierten Postfächer

imap_getmailboxes
imap_header
IMAP Funktionen
PHP Manual

imap_getsubscribed

(PHP 4, PHP 5, PHP 7)

imap_getsubscribed — Liste aller abonnierten Postfächer

Beschreibung

array imap_getsubscribed ( resource $imap_stream , string $ref , string $pattern )

Liefert Informationen zu den abonnierten Postfächern

Diese Funktion ist weitgehend identisch zu imap_getmailboxes(), beachtet aber nur Postfächer, die der Benutzer bereits abonniert hat.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

ref

Spezifiziert den gewünschten Server wie in imap_open() beschrieben.

pattern

Legt fest ab welchem Punkt der Postfachhierachie gesucht werden soll.

Zwei spezielle Zeichen können als Teil des Suchmusters pattern benutzt werden: '*' und '%'. Mit '*' werden alle Postfächer angefordert, so können Sie z.B. nur '*' als pattern übergeben und erhalten eine Übersicht aller auf dem Server verfügbarer Postfächer. '%' liefert alle Postfächer auf einer Hierachieebene aber nicht die tiefer liegenden Postfächer. Ein einfaches '%' als pattern liefert nur die Postfächer der obersten Ebene, '~/mail/%' z.B. liefert auf einem UW_IMAP Server alle Postfächer des ~/mail Verzeichnisses aber nicht deren Unterpostfächer.

Rückgabewerte

Liefert ein Array das Objekte mit Postfachbeschreibungen enthält. Jedes Objekt verfügt über die Attribute name für den Namen des Postfachs, delimiter für das gültige Hierachietrennzeichen innerhalb des Hierachieabschnitts in dem sich das Postfach befindet und Eigenschaften des Postfachs in attribute. Die Eigenschaften setzen sich als Bitmaske aus folgenden möglichen Werten zusammen:

  • LATT_NOINFERIORS - innerhalb dieses Postfachs existieren keine weiteren Unterpostfächer
  • LATT_NOSELECT - dieses Postfach enthält nur Unterpostfächer aber keine Nachrichten, es kann nicht geöffnet werden
  • LATT_MARKED - dieses Postfach ist markiert (nur bei UW-IMAPD)
  • LATT_UNMARKED - dieses Postfach ist nicht markiert (nur bei UW-IMAPD)

imap_getmailboxes
imap_header
IMAP Funktionen


Alias von imap_headerinfo

imap_getsubscribed
imap_headerinfo
IMAP Funktionen
PHP Manual

imap_header

(PHP 4, PHP 5, PHP 7)

imap_header — Alias von imap_headerinfo()

Beschreibung

Diese Funktion ist ein Alias für: imap_headerinfo().

imap_getsubscribed
imap_headerinfo
IMAP Funktionen


Liest die Kopfdaten einer Nachricht

imap_header
imap_headers
IMAP Funktionen
PHP Manual

imap_headerinfo

(PHP 4, PHP 5, PHP 7)

imap_headerinfo — Liest die Kopfdaten einer Nachricht

Beschreibung

object imap_headerinfo ( resource $imap_stream , int $msg_number [, int $fromlength = 0 [, int $subjectlength = 0 [, string $defaulthost = NULL ]]] )

Liest die Kopfdaten der Nachricht mit der Nummer msg_number und liefert daraus gewonnene Informationen zurück.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

msg_number

Die gewünschte Nachrichtennummer

fromlength

Maximale Anzahl Zeichen für die fetchfrom Eigenschaft (muß größer als Null sein)

subjectlength

Maximale Anzahl Zeichen für die subject Eigenschaft (muß größer als Null sein)

defaulthost

Rückgabewerte

Die Ergebnisse werden in einem Objekt mit folgenden Eigenschaften zurückgegeben:

  • toaddress - Inhalt des "To:" Felds (max. 1024 Zeichen)
  • to - ein Array mit aus den einzelnen Empfängern aus dem "To:" Feld. Jedes Array-Element hat die Eigenschaften personal, adl, mailbox und host
  • fromaddress - Inhalt des "From:" Felds (max. 1024 Zeichen)
  • from - ein Array mit aus den einzelnen Empfängern aus dem "From:" Feld. Jedes Array-Element hat die Eigenschaften personal, adl, mailbox und host
  • ccaddress - Inhalt des "Cc:" Felds (max. 1024 Zeichen)
  • cc - ein Array mit aus den einzelnen Empfängern aus dem "Cc:" Feld. Jedes Array-Element hat die Eigenschaften personal, adl, mailbox und host
  • bccaddress - Inhalt des "Bcc:" Felds (max. 1024 Zeichen)
  • bcc - ein Array mit aus den einzelnen Empfängern aus dem "Bcc:" Feld. Jedes Array-Element hat die Eigenschaften personal, adl, mailbox und host
  • reply_toaddress - Inhalt des "Reply-To:" Felds (max. 1024 Zeichen)
  • reply_to - ein Array mit aus den einzelnen Empfängern aus dem "Reply-To:" Feld. Jedes Array-Element hat die Eigenschaften personal, adl, mailbox und host
  • senderaddress - Inhalt des "Sender:" Felds (max. 1024 Zeichen)
  • sender - ein Array mit aus den einzelnen Empfängern aus dem "Sender:" Feld. Jedes Array-Element hat die Eigenschaften personal, adl, mailbox und host
  • return_pathaddress - Inhalt des "Return-Path:" Felds (max. 1024 Zeichen)
  • return_path - ein Array mit aus den einzelnen Empfängern aus dem "Return-Path:" Feld. Jedes Array-Element hat die Eigenschaften personal, adl, mailbox und host
  • remail -
  • date - Sendedatum der Nachricht laut Kopfdaten
  • Date - enthält die gleichen Daten wie 'date'
  • subject - die Betreffzeile der Nachricht
  • Subject - enthält die gleichen Daten wie 'subject'
  • in_reply_to -
  • message_id -
  • newsgroups -
  • followup_to -
  • references -
  • Recent - R wenn kürzlich eingetroffen und gelesen, N wenn kürzlich eingetroffen und ungelesen, ' ' wenn nicht kürzlich eingetroffen
  • Unseen - U wenn nicht kürzlich eingetroffen UND ungelesen, ' ' wenn gelesen ODER ungelesen und kürzlich eingetroffen.
  • Flagged - F wenn als wichtig markiert, sonst ' '
  • Answered - A wenn beantwortet, sonst' '
  • Deleted - D wenn zum Löschen vorgemerkt, sonst ' '
  • Draft - X wenn als Entwurf markiert, sonst ' '
  • Msgno - die Nachrichtennummer
  • MailDate -
  • Size - Größe der Nachricht in Bytes
  • udate - Sendedatum als Unix-Timestamp
  • fetchfrom - "From:" Zeile limitiert auf fromlength Zeichen characters
  • fetchsubject - "Subject:" Zeile limitiert auf subjectlength Zeichen

Siehe auch

  • imap_fetch_overview() - Liefert einen Auszug aus den Kopfdaten von Nachrichten

imap_header
imap_headers
IMAP Funktionen


Liefert eine Zusammenfassung aller Nachrichtenköpfe eines Postfachs

imap_headerinfo
imap_last_error
IMAP Funktionen
PHP Manual

imap_headers

(PHP 4, PHP 5, PHP 7)

imap_headers — Liefert eine Zusammenfassung aller Nachrichtenköpfe eines Postfachs

Beschreibung

array imap_headers ( resource $imap_stream )

Diese Funktion liefert ein String-Array, das je Nachricht einen String mit vorformatierten Informationen aus dem Nachrichtenheader enthält.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

Rückgabewerte

Liefert ein Array aus Strings mit formatierten Headerinformationen. Das Array enthält ein Element für jede Nachricht im Postfach.

imap_headerinfo
imap_last_error
IMAP Funktionen


Liefert die letzte IMAP-Fehlermeldung für dieses Script

imap_headers
imap_list
IMAP Funktionen
PHP Manual

imap_last_error

(PHP 4, PHP 5, PHP 7)

imap_last_error — Liefert die letzte IMAP-Fehlermeldung für dieses Script

Beschreibung

string imap_last_error ( void )

Liefert den vollständigen Text der letzten IMAP Fehlermeldung die für die aktuelle Seite erzeugt wurde. Der Fehlerstack bleibt erhalten, wiederholte imap_last_error() Aufrufe liefern daher die gleiche Fehlermeldung falls nicht inzwschen ein weiterer Fehler aufgetreten ist.

Rückgabewerte

Liefert den vollständigen Text der letzten IMAP Fehlermeldung, falls vorhanden, sonst FALSE.

Siehe auch

  • imap_errors() - Diese Funktion liefert alle bisher aufgetretenen Fehlermeldungen

imap_headers
imap_list
IMAP Funktionen


Liste der Postfächer lesen

imap_last_error
imap_listmailbox
IMAP Funktionen
PHP Manual

imap_list

(PHP 4, PHP 5, PHP 7)

imap_list — Liste der Postfächer lesen

Beschreibung

array imap_list ( resource $imap_stream , string $ref , string $pattern )

imap_list() liest die Liste aller Pöstfächer.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

ref

Angabe des Servers wie in imap_open() beschrieben.

pattern

Gibt an ab wo in der Postfach-Hierachie gesucht werden soll.

Die Zeichen '*' und '%' haben innerhalb des Suchmusters pattern besondere Bedeutung. '*' liefert die gesamte Postfach-Hierachie, '%' dagege nur die Postfächer auf der aktuellen Hierachiestufe. Ein '*' alleine liefert also eine Liste aller Postfächer, ein '%' dagegen nur die Postfächer der obersten Ebene. '~/mail/%' bei einem UW_IMAPD Server liefert alle Postfächer im ~/mail Verzeichnis aber nicht deren Unterordner. directory.

Rückgabewerte

Liefert ein Array mit den Namen der gefundenen Postfächer.

Beispiele

Beispiel #1 imap_list() Beispiel

<?php
$mbox = imap_open("{imap.example.org}", "username", "password", OP_HALFOPEN)
      or die("can't connect: " . imap_last_error());

$list = imap_list($mbox, "{imap.example.org}", "*");
if (is_array($list)) {
    foreach ($list as $val) {
        echo imap_utf7_decode($val) . "\n";
    }
} else {
    echo "imap_list failed: " . imap_last_error() . "\n";
}

imap_close($mbox);
?>

Siehe auch

  • imap_getmailboxes() - Liefert detailierte Informationen zu allen verfügbaren Postfächern
  • imap_lsub() - Liste aller abonierten Postfächer

imap_last_error
imap_listmailbox
IMAP Funktionen


Alias von imap_list

imap_list
imap_listscan
IMAP Funktionen
PHP Manual

imap_listmailbox

(PHP 4, PHP 5, PHP 7)

imap_listmailbox — Alias von imap_list()

Beschreibung

Diese Funktion ist ein Alias für: imap_list().

imap_list
imap_listscan
IMAP Funktionen


Listet Postfächer nach Suchkriterien

imap_listmailbox
imap_listsubscribed
IMAP Funktionen
PHP Manual

imap_listscan

(PHP 4, PHP 5, PHP 7)

imap_listscan — Listet Postfächer nach Suchkriterien

Beschreibung

array imap_listscan ( resource $imap_stream , string $ref , string $pattern , string $content )

Liefert ein Array mit den Namen der Postfächer in deren Inhalt der Suchtext content vorkommt.

Diese Funktion verhält sich ähnlich wie imap_listmailbox() sucht aber zusätzlich nach dem Suchtext content innerhalb der Daten des Postfachs.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

ref

Serverspezifikation wie in imap_open() beschrieben.

pattern

Startpunkt für die Suche innerhalb der Postfachhierachie.

Die Zeichen '*' und '%' haben innerhalb des Suchmusters pattern besondere Bedeutung. '*' liefert die gesamte Postfach-Hierachie, '%' dagege nur die Postfächer auf der aktuellen Hierachiestufe. Ein '*' alleine liefert also eine Liste aller Postfächer, ein '%' dagegen nur die Postfächer der obersten Ebene. '~/mail/%' bei einem UW_IMAPD Server liefert alle Postfächer im ~/mail Verzeichnis aber nicht deren Unterordner. directory.

content

Der zu suchende Text

Rückgabewerte

Returns an array containing the names of the mailboxes that have content in the text of the mailbox.

Siehe auch

  • imap_listmailbox() - Alias von imap_list
  • imap_search() - Liefert ein Array von Nachrichten die den gegebenen Suchkriterien entsprechen

imap_listmailbox
imap_listsubscribed
IMAP Funktionen


Alias von imap_lsub

imap_listscan
imap_lsub
IMAP Funktionen
PHP Manual

imap_listsubscribed

(PHP 4, PHP 5, PHP 7)

imap_listsubscribed — Alias von imap_lsub()

Beschreibung

Diese Funktion ist ein Alias für: imap_lsub().

imap_listscan
imap_lsub
IMAP Funktionen


Liste aller abonierten Postfächer

imap_listsubscribed
imap_mail_compose
IMAP Funktionen
PHP Manual

imap_lsub

(PHP 4, PHP 5, PHP 7)

imap_lsub — Liste aller abonierten Postfächer

Beschreibung

array imap_lsub ( resource $imap_stream , string $ref , string $pattern )

Liefert ein Array aller vom Benutzer abonnierten Postfächer

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

ref

Serverspezifikation, siehe imap_open() für Details.

pattern

Legt fest ab welchem Punkt der Postfachhierachie gesucht werden soll.

Zwei spezielle Zeichen können als Teil des Suchmusters pattern benutzt werden: '*' und '%'. Mit '*' werden alle Postfächer angefordert, so können Sie z.B. nur '*' als pattern übergeben und erhalten eine Übersicht aller auf dem Server verfügbarer Postfächer. '%' liefert alle Postfächer auf einer Hierachieebene aber nicht die tiefer liegenden Postfächer. Ein einfaches '%' als pattern liefert nur die Postfächer der obersten Ebene, '~/mail/%' z.B. liefert auf einem UW_IMAP Server alle Postfächer des ~/mail Verzeichnisses aber nicht deren Unterpostfächer.

Rückgabewerte

Liefert ein Array mit allen abonierten Postfächern

Siehe auch

  • imap_list() - Liste der Postfächer lesen
  • imap_getmailboxes() - Liefert detailierte Informationen zu allen verfügbaren Postfächern

imap_listsubscribed
imap_mail_compose
IMAP Funktionen


Erzeugt eine MIME-Nachricht aus Kopf- und Nachrichtenelementen

imap_lsub
imap_mail_copy
IMAP Funktionen
PHP Manual

imap_mail_compose

(PHP 4, PHP 5, PHP 7)

imap_mail_compose — Erzeugt eine MIME-Nachricht aus Kopf- und Nachrichtenelementen

Beschreibung

string imap_mail_compose ( array $envelope , array $body )

Erzeugt eine MIME-konforme Nachricht aus den in envelope gegebenen Kopfelementen und den Nachrichtenteilen aus body.

Parameter-Liste

envelope

Ein assoziatives Array von Kopfzeilenfeldern. Gültige Schlüssel sind: "remail", "return_path", "date", "from", "reply_to", "in_reply_to", "subject", "to", "cc", "bcc", "message_id" und "custom_headers" (das ein assoziatives Array von anderen Kopfzeilen enthält).

body

Die Teile des Mailkörpers als indiziertes Array.

Jeder Teil des Mailkörpers ist ein assoziatives Array mit folgenden möglichen Elementen: "type", "encoding", "charset", "type.parameters", "subtype", "id", "description", "disposition.type", "disposition", "contents.data", "lines", "bytes" und "md5".

Rückgabewerte

Liefert eine MIME-konforme Nachricht

Beispiele

Beispiel #1 imap_mail_compose() Beispiel

<?php

$envelope["from"]= "joe@example.com";
$envelope["to"]  = "foo@example.com";
$envelope["cc"]  = "bar@example.com";

$part1["type"] = TYPEMULTIPART;
$part1["subtype"] = "mixed";

$filename = "/tmp/imap.c.gz";
$fp = fopen($filename, "r");
$contents = fread($fp, filesize($filename));
fclose($fp);

$part2["type"] = TYPEAPPLICATION;
$part2["encoding"] = ENCBINARY;
$part2["subtype"] = "octet-stream";
$part2["description"] = basename($filename);
$part2["contents.data"] = $contents;

$part3["type"] = TYPETEXT;
$part3["subtype"] = "plain";
$part3["description"] = "description3";
$part3["contents.data"] = "contents.data3\n\n\n\t";

$body[1] = $part1;
$body[2] = $part2;
$body[3] = $part3;

echo nl2br(imap_mail_compose($envelope, $body));

?>

imap_lsub
imap_mail_copy
IMAP Funktionen


Kopiert Nachrichten in ein Postfach

imap_mail_compose
imap_mail_move
IMAP Funktionen
PHP Manual

imap_mail_copy

(PHP 4, PHP 5, PHP 7)

imap_mail_copy — Kopiert Nachrichten in ein Postfach

Beschreibung

bool imap_mail_copy ( resource $imap_stream , string $msglist , string $mailbox [, int $options = 0 ] )

imap_mail_copy() kopiert die mit msglist spezifizierten Nachrichten in das Postfach mailbox.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

msglist

Der zu verschiebende Nachrichtenbereich, für Formatbeschreibungen siehe » RFC2060.

mailbox

Das Zielpostfach, für weitere Informationen siehe imap_open().

options

options ist eine Bitmaske die sich aus einem oder mehreren der folgenden Flags zusammensetzen kann

  • CP_UID - die Nachrichtennummern sind UIDs
  • CP_MOVE - Nachrichten nach dem Kopieren aus dem aktuellen Postfach entfernen

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • imap_mail_move() - Verschiebt Nachrichten in ein anderes Postfach

imap_mail_compose
imap_mail_move
IMAP Funktionen


Verschiebt Nachrichten in ein anderes Postfach

imap_mail_copy
imap_mail
IMAP Funktionen
PHP Manual

imap_mail_move

(PHP 4, PHP 5, PHP 7)

imap_mail_move — Verschiebt Nachrichten in ein anderes Postfach

Beschreibung

bool imap_mail_move ( resource $imap_stream , string $msglist , string $mailbox [, int $options = 0 ] )

imap_mail_move() verschiebt die mit msglist angegebenen Nachrichten in das Postfach mailbox.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

msglist

Der zu verschiebende Nachrichtenbereich, für Formatbeschreibungen siehe » RFC2060.

mailbox

Das Zielpostfach, für weitere Informationen siehe imap_open().

options

options kann zur Zeit nur eine Option enthalten:

  • CP_UID - die Nachrichtennummern sind UIDs

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Hinweis:

imap_mail_move() setzt für die Original-Nachricht ein Lösch-Flag; um sie erfolgreich zu Löschen muss die imap_expunge() Funktion aufgerufen werden.

Siehe auch

  • imap_mail_copy() - Kopiert Nachrichten in ein Postfach

imap_mail_copy
imap_mail
IMAP Funktionen


Sendet eine Email Nachricht

imap_mail_move
imap_mailboxmsginfo
IMAP Funktionen
PHP Manual

imap_mail

(PHP 4, PHP 5, PHP 7)

imap_mail — Sendet eine Email Nachricht

Beschreibung

bool imap_mail ( string $to , string $subject , string $message [, string $additional_headers = NULL [, string $cc = NULL [, string $bcc = NULL [, string $rpath = NULL ]]]] )

Diese Funktion ermöglicht das Senden von Email inclusive der richtigen Behandlung von Cc und Bcc Kopffeldern.

Die Parameter to, cc und bcc sind Textstrings die als Adresslisten gemäß » RFC822 interpretiert werden.

Parameter-Liste

to

Der Empfänger der Nachricht

subject

Die Betreffzeile der Nachricht

message

Der Inhalt der Nachricht, siehe imap_mail_compose()

additional_headers

Ein Textstring mit zusätzlichen Kopfzeilen.

cc

bcc

Die mit bcc angegebenen weiteren Empfänger der Nachricht erhalten diese, werden aber nicht im Nachrichtenkopf aufgeführt.

rpath

Rückgabeadresse bei felgeschlagener Zustellung der Nachricht. Diese ist nützlich wenn PHP als Email Client für mehrere Benutzer genutzt wird.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • mail() - E-Mails senden
  • imap_mail_compose() - Erzeugt eine MIME-Nachricht aus Kopf- und Nachrichtenelementen

imap_mail_move
imap_mailboxmsginfo
IMAP Funktionen


Informationen zum aktuellen Postfach

imap_mail
imap_mime_header_decode
IMAP Funktionen
PHP Manual

imap_mailboxmsginfo

(PHP 4, PHP 5, PHP 7)

imap_mailboxmsginfo — Informationen zum aktuellen Postfach

Beschreibung

object imap_mailboxmsginfo ( resource $imap_stream )

Prüft den aktuelle Status des Postfachs auf dem Server. Die Funktion ist vergleichbar mit imap_status(), liefert aber zusätzlich auch die Gesamtgröße aller Nachrichten in Bytes. Das Aufsummieren der einzelnen Nachrichtengrößen benötigt dabei zusätzliche Zeit zur Ausführung. execute.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

Rückgabewerte

Die Ergebnisse werden in einem Objekt mit folgenden Properties zurückgegeben:

Postfach Eigenschaften
Date | Zeitpunkt der letzten Änderung (aktuelle Zeit)
Driver | Treiber
Mailbox | Name des Postfachs
Nmsgs | Anzahl der Nachrichten
Recent | Anzahl der kürzlich eingetroffenen Nachrichten
Unread | Anzal der ungelesenen Nachrichten
Deleted | Anzahl der gelöschten Nachrichten
Size | Gesamtgröße des Postfachs in Bytes

Sollten Fehler auftreten so wird FALSE zurückgegeben.

Beispiele

Beispiel #1 imap_mailboxmsginfo() Beispiel

<?php

$mbox = imap_open("{imap.example.org}INBOX", "username", "password")
      or die("can't connect: " . imap_last_error());

$check = imap_mailboxmsginfo($mbox);

if ($check) {
    echo "Date: "     . $check->Date    . "<br />\n" ;
    echo "Driver: "   . $check->Driver  . "<br />\n" ;
    echo "Mailbox: "  . $check->Mailbox . "<br />\n" ;
    echo "Messages: " . $check->Nmsgs   . "<br />\n" ;
    echo "Recent: "   . $check->Recent  . "<br />\n" ;
    echo "Unread: "   . $check->Unread  . "<br />\n" ;
    echo "Deleted: "  . $check->Deleted . "<br />\n" ;
    echo "Size: "     . $check->Size    . "<br />\n" ;
} else {
    echo "imap_mailboxmsginfo() failed: " . imap_last_error() . "<br />\n";
}

imap_close($mbox);

?>

imap_mail
imap_mime_header_decode
IMAP Funktionen


Dekodiert MIME-codierte Headerzeilen

imap_mailboxmsginfo
imap_msgno
IMAP Funktionen
PHP Manual

imap_mime_header_decode

(PHP 4, PHP 5, PHP 7)

imap_mime_header_decode — Dekodiert MIME-codierte Headerzeilen

Beschreibung

array imap_mime_header_decode ( string $text )

Dekodiert MIME-codierte Headerzeilen die nicht-ASCII Zeichen enthalten (siehe » RFC2047).

Parameter-Liste

text

Der MIME-codierte Text

Rückgabewerte

Die dekodierten Textteile werden als ein Array von Objekten zurückgegeben die jeweils ein text und ein charset Property enthalten.

Für nicht kodierte ASCII-Teile wird das charset Property auf den Wert 'default' gesetzt.

Beispiele

Beispiel #1 imap_mime_header_decode() Beispiel

<?php
$text = "=?ISO-8859-1?Q?Keld_J=F8rn_Simonsen?= <keld@example.com>";

$elements = imap_mime_header_decode($text);
for ($i=0; $i<count($elements); $i++) {
    echo "Charset: {$elements[$i]->charset}\n";
    echo "Text: {$elements[$i]->text}\n\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Charset: ISO-8859-1
Text: Keld Jørn Simonsen

Charset: default
Text:  <keld@example.com>

In diesem Beispiel erhalten wir zwei Textteile zurück, den ersten kodiert im westeuropäischen ISO-8859-1 Zeichensatz und den zweiten als einfacher ASCII-String.

Siehe auch

  • imap_utf8() - Konvertiert Text zu UTF8

imap_mailboxmsginfo
imap_msgno
IMAP Funktionen


Liefert die Nachrichtennummer für eine gegebene UID

imap_mime_header_decode
imap_num_msg
IMAP Funktionen
PHP Manual

imap_msgno

(PHP 4, PHP 5, PHP 7)

imap_msgno — Liefert die Nachrichtennummer für eine gegebene UID

Beschreibung

int imap_msgno ( resource $imap_stream , int $uid )

Liefert die Nachrichtennummer für uid.

Diese Funktion ist das Gegenstück zu imap_uid().

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

uid

Die UID der Nachricht.

Rückgabewerte

Die Nachrichtennummer der Nachricht mit der gegebenen uid.

Siehe auch

  • imap_uid() - Liefert die UID für die gegebene Nachrichtennummer

imap_mime_header_decode
imap_num_msg
IMAP Funktionen


Anzahl der Nachrichten im aktuellen Postfach

imap_msgno
imap_num_recent
IMAP Funktionen
PHP Manual

imap_num_msg

(PHP 4, PHP 5, PHP 7)

imap_num_msg — Anzahl der Nachrichten im aktuellen Postfach

Beschreibung

int imap_num_msg ( resource $imap_stream )

Liefert die Anzahl der Nachrichten im aktuellen Postfach.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

Rückgabewerte

Liefert die Anzahl der Nachrichten im aktuellen Postfach als Integer.

Siehe auch

  • imap_num_recent() - Nummer der kürzlich eingetroffenen Nachrichten
  • imap_status() - Liefert Statusinformationen zum angegebenen Postfach

imap_msgno
imap_num_recent
IMAP Funktionen


Nummer der kürzlich eingetroffenen Nachrichten

imap_num_msg
imap_open
IMAP Funktionen
PHP Manual

imap_num_recent

(PHP 4, PHP 5, PHP 7)

imap_num_recent — Nummer der kürzlich eingetroffenen Nachrichten

Beschreibung

int imap_num_recent ( resource $imap_stream )

Liefert die Anzahl der kürzlich eingetroffenen Nachrichten im aktuellen Postfach.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

Rückgabewerte

Liefert die Anzahl der kürzlich eingetroffenen Nachrichten im aktuellen Postfach als Integer.

Siehe auch

  • imap_num_msg() - Anzahl der Nachrichten im aktuellen Postfach
  • imap_status() - Liefert Statusinformationen zum angegebenen Postfach

imap_num_msg
imap_open
IMAP Funktionen


Öffnet eine Verbindung zu einem Mailserver-Postfach

imap_num_recent
imap_ping
IMAP Funktionen
PHP Manual

imap_open

(PHP 4, PHP 5, PHP 7)

imap_open — Öffnet eine Verbindung zu einem Mailserver-Postfach

Beschreibung

resource imap_open ( string $mailbox , string $username , string $password [, int $options = 0 [, int $n_retries = 0 [, array $params = NULL ]]] )

Öffnet eine Verbindung zum Postfach mailbox.

Diese Funktion kann neben IMAP auch POP3 und NNTP Verbindungen aufbauen, einige Funktionen und Eigenschaften sind aber nur in IMAP Verbindungen verfügbar.

Parameter-Liste

mailbox

Ein Postfachname besteht aus einer Angabe des Servers und aus dem Pfad zum Postfach auf diesem Server. Der reservierte Name INBOX steht für das persönliche Postfach des aktuellen Benutzers. Enthält der Name des Postfach internationale Zeichen außerhalb des druckbaren ASCII Bereichs so müssen diese mit imap_utf7_encode() kodiert werden.

Der Serverteil wird in '{' und '}' eingebettet, er besteht aus dem Namen oder der IP-Adresse des Servers, einer optionalen Portnummer (eingeleitet mit ':' und einer optionalen Protokollangabe (eingeleitet mit '/').

Die Angabe des Serverteils ist immer zwingend.

Alle Namen die mit { beginnen bezeichnen Serverdienste und werden in der Form "{" remote_system_name [":" port] [flags] "}mailbox_name" angegeben:

  • remote_system_name - DNS Servername oder IP-Adresse des Servers in eckigen Klammern
  • port - optionale Portnummer, Standard ist der jeweilige Standardport des gewählten Protokolls
  • flags - Optionsflags, s.u.
  • mailbox_name - Name des gewünschten Serverpostfachs, Standard ist "INBOX"

Optional flags for names
Flag | Description
/service=service | Postfach-Zugriffsprotokoll, Standard ist "imap"
/user=user | Benutzername auf dem Mailserver
/authuser=user | remote authentication user; if specified this is the user name whose password is used (e.g. administrator)
/anonymous | Zugriff als anonymer Benutzer
/debug | Protokollausgaben in das Fehlerlog des Webservers leiten
/secure | Übertragung von Klartext-Passwörtern wird verhindert
/imap, /imap2, /imap2bis, /imap4, /imap4rev1 | Kurzform für /service=imap
/pop3 | Kurzform für /service=pop3
/nntp | Kurzform für /service=nntp
/norsh | Für eine vorauthentifizierte IMAP Verbindung soll weder rsh noch ssh verwendet werden
/ssl | Secure Socket Layer (SSL) zur Verschlüsselung der Verbindung verwenden
/validate-cert | TLS/SSL Zertifikate verifizieren (Standardverhalten)
/novalidate-cert | TLS/SSL Zertifikate nicht verifizieren, wird für selbstsignierte Zertifikate benötigt
/tls | start-TLS Verschlüsselung erzwingen, Verbindungen von Servern die dies nicht unterstützen ablehnen.
/notls | start-TLS nicht verwenden, auch wenn es der Server unterstützt
/readonly | Nur lesender Zugriff auf den Server ohne serverseitige Änderung von Daten (nur für IMAP, NNTP ignoriert dies, POP3 und SMTP verweigern readonly Verbindungen)

username

Der Benutzername

password

Das Passwort zum Benutzernamen

options

Der Parameter options kann sich als Bitmaske aus folgenden Werten zusammensetzen:

  • OP_READONLY - Nur lesende Zugriffe
  • OP_ANONYMOUS - ein existierendes .newsrc weder lesen noch aktualisieren (nur NNTP)
  • OP_HALFOPEN - Verbindung zum Server öffnen aber noch kein Postfach auswählen (nur IMAP und NNTP)
  • CL_EXPUNGE - Zum löschen markierte Nachrichten beim Schließen des Postfachs automatisch entfernen (siehe auch imap_delete() und imap_expunge())
  • OP_DEBUG - Debug Protokoll
  • OP_SHORTCACHE - verkürztes Cacheing
  • OP_SILENT - Ereignisse nicht weitergeben (interne Einstellung)
  • OP_PROTOTYPE - Driver Prototyp zurückgeben
  • OP_SECURE - Keine unsichere Verbindung zum Server öffnen

n_retries

Maximale Anzahl Verbindungsversuche

Rückgabewerte

Liefert einen IMAP Stream oder FALSE bei Fehlern.

Changelog

Version | Beschreibung
5.2.0 | n_retries hinzugefügt

Beispiele

Beispiel #1 Verschiedene imap_open() Aufrufe

<?php
// Verbindung zu einem IMAP server auf Port 143 des lokalen Rechners
$mbox = imap_open("{localhost:143}INBOX", "user_id", "password");

// Verbindung zu einem POP3 server auf Port 110 des lokalen Rechners
$mbox = imap_open ("{localhost:110/pop3}INBOX", "user_id", "password");

// Für SSL verschlüsselte Verbindungen wird /ssl an die
// Protokollspezifikation angefügt
$mbox = imap_open ("{localhost:993/imap/ssl}INBOX", "user_id", "password");

// Zur SSL Verbindung mit Servern mit selbstsignierten Zertifikaten
// muss zusätzlich /novalidate-cert angefügt werden
$mbox = imap_open ("{localhost:995/pop3/ssl/novalidate-cert}", "user_id", "password");

// Verbindung zu einem NNTP server auf Port 119 des lokalen Rechners
$nntp = imap_open ("{localhost:119/nntp}comp.test", "", "");

// Für Verbindungen zu anderen Servern ersetzen Sie "localhost" mit
// dem Namen oder der IP-Adresse des Servers
?>

Beispiel #2 imap_open() Beispiel

<?php
$mbox = imap_open("{imap.example.org:143}", "username", "password");

echo "<h1>Postfächer</h1>\n";
$folders = imap_listmailbox($mbox, "{imap.example.org:143}", "*");

if ($folders == false) {
    echo "Abruf fehlgeschlagen<br />\n";
} else {
    foreach ($folders as $val) {
        echo $val . "<br />\n";
    }
}

echo "<h1>Nachrichten in INBOX</h1>\n";
$headers = imap_headers($mbox);

if ($headers == false) {
    echo "Abruf fehlgeschlagen<br />\n";
} else {
    foreach ($headers as $val) {
        echo $val . "<br />\n";
    }
}

imap_close($mbox);
?>

Siehe auch

  • imap_close() - Schließt einen IMAP Stream

imap_num_recent
imap_ping
IMAP Funktionen


Prüft einen IMAP-Stream auf Funktionalität

imap_open
imap_qprint
IMAP Funktionen
PHP Manual

imap_ping

(PHP 4, PHP 5, PHP 7)

imap_ping — Prüft einen IMAP-Stream auf Funktionalität

Beschreibung

bool imap_ping ( resource $imap_stream )

imap_ping() 'pingt' einen IMAP-Stream um zu sehen ob dieser noch aktiv und funktional ist. Sie kann neue Nachrichten entdecken, ein imap_ping() ist daher die bevorzugte Methode für periodische Prüfungen auf neue Nachrichten sowie als Keepalive Signal für Server die Verbindungen nach einer gewissen Zeit der Inaktivität beenden.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

Rückgabewerte

Liefert TRUE wenn der Stream noch funktioniert, sonst FALSE.

Beispiele

Beispiel #1 imap_ping() Example

<?php

$imap = imap_open("{imap.example.org}", "mailadmin", "password");

// nach einer gewissen Zeit
if (!imap_ping($imap)) {
    // Verbindung wieder aufbauen
}

?>

imap_open
imap_qprint
IMAP Funktionen


Konvertiert einen quoted-printable kodierten String in einen 8 Bit String

imap_ping
imap_rename
IMAP Funktionen
PHP Manual

imap_qprint

(PHP 4, PHP 5, PHP 7)

imap_qprint — Konvertiert einen quoted-printable kodierten String in einen 8 Bit String

Beschreibung

string imap_qprint ( string $string )

Konvertiert einen quoted-printable String in einen 8 Bit String gemäß » RFC2045, Abschnitt 6.7.

Parameter-Liste

string

Ein quoted-printable kodierter String

Rückgabewerte

Liefert einen 8 Bit String

Siehe auch

  • imap_8bit() - Konvertiert einen 8bit String in einen quoted-printable String

imap_ping
imap_rename
IMAP Funktionen


Alias von imap_renamemailbox

imap_qprint
imap_renamemailbox
IMAP Funktionen
PHP Manual

imap_rename

(PHP 4, PHP 5, PHP 7)

imap_rename — Alias von imap_renamemailbox()

Beschreibung

Diese Funktion ist ein Alias für: imap_renamemailbox().

imap_qprint
imap_renamemailbox
IMAP Funktionen


Ändert den Namen eines Postfachs

imap_rename
imap_reopen
IMAP Funktionen
PHP Manual

imap_renamemailbox

(PHP 4, PHP 5, PHP 7)

imap_renamemailbox — Ändert den Namen eines Postfachs

Beschreibung

bool imap_renamemailbox ( resource $imap_stream , string $old_mbox , string $new_mbox )

Die Funktion ändert den Namen des Postfachs old_mbox in new_mbox (siehe imap_open() für Angaben zum Format von Postfachnamen).

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

old_mbox

Der bisherige Name des Postfachs, siehe imap_open() für weitere Informationen.

new_mbox

Der neue Name des Postfachs, siehe imap_open() für weitere Informationen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • imap_createmailbox() - Anlegen eines neuen Postfachs
  • imap_deletemailbox() - Löscht ein Postfach

imap_rename
imap_reopen
IMAP Funktionen


Wechselt das aktuelle Postfach der Verbindung

imap_renamemailbox
imap_rfc822_parse_adrlist
IMAP Funktionen
PHP Manual

imap_reopen

(PHP 4, PHP 5, PHP 7)

imap_reopen — Wechselt das aktuelle Postfach der Verbindung

Beschreibung

bool imap_reopen ( resource $imap_stream , string $mailbox [, int $options = 0 [, int $n_retries = 0 ]] )

imap_reopen() wechselt das aktuelle Postfach eines IMAP oder NNTP Servers.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

mailbox

Der Postfachname, siehe imap_open() für weitere Informationen.

options

Der Parameter options kann als Bitmaske einen oder mehrere der folgenden Werte enthalten:

  • OP_READONLY - öffnet das Postfach nur für Lesezugriffe
  • OP_ANONYMOUS - die .newsrc Datei weder lesen noch aktualisieren (nur NNTP)
  • OP_HALFOPEN - Verbindung aufbauen ohne ein konkretes Postfach zu öffnen (nur IMAP und NNTP)
  • OP_EXPUNGE - Silently expunge recycle stream
  • CL_EXPUNGE - zum Löschen vorgemerkte Nachrichten werden beim Schließen der Verbindung endgültig gelöscht (siehe auch imap_delete() und imap_expunge())

n_retries

Number of maximum connect attempts

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.2.0 | n_retries hinzgefügt

Beispiele

Beispiel #1 imap_reopen() Beispiel

<?php
$mbox = imap_open("{imap.example.org:143}INBOX", "username", "password") or die(implode(", ", imap_errors()));
// ...
imap_reopen($mbox, "{imap.example.org:143}INBOX.Sent") or die(implode(", ", imap_errors()));
// ..
?>

imap_renamemailbox
imap_rfc822_parse_adrlist
IMAP Funktionen


Zerlegt einen Mailadressstring

imap_reopen
imap_rfc822_parse_headers
IMAP Funktionen
PHP Manual

imap_rfc822_parse_adrlist

(PHP 4, PHP 5, PHP 7)

imap_rfc822_parse_adrlist — Zerlegt einen Mailadressstring

Beschreibung

array imap_rfc822_parse_adrlist ( string $address , string $default_host )

Zerlegt den übergebenen Mailadressstring in einzelne Mailadressen gemäß » RFC2822.

Parameter-Liste

address

Ein String aus Mailadressen

default_host

Ein Defaulthostname

Rückgabewerte

Ein Array aus Objekten mit folgenden Properties wird zurückgegeben:

  • mailbox - der Postfach- bzw. Benutzername
  • host - der Hostname
  • personal - der tatsächliche Name des Benutzers
  • adl - at domain source route

Beispiele

Beispiel #1 imap_rfc822_parse_adrlist() Beispiel

<?php

$address_string = "Joe Doe <doe@example.com>, postmaster@example.com, root";
$address_array  = imap_rfc822_parse_adrlist($address_string, "example.com");
if (!is_array($address_array) || count($address_array) < 1) {
    die("something is wrong\n");
}

foreach ($address_array as $id => $val) {
    echo "# $id\n";
    echo "  mailbox : " . $val->mailbox . "\n";
    echo "  host    : " . $val->host . "\n";
    echo "  personal: " . $val->personal . "\n";
    echo "  adl     : " . $val->adl . "\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

# 0
  mailbox : doe
  host    : example.com
  personal: Joe Doe
  adl     :
# 1
  mailbox : postmaster
  host    : example.com
  personal:
  adl     :
# 2
  mailbox : root
  host    : example.com
  personal:
  adl     :

Siehe auch

  • imap_rfc822_parse_headers() - Email-Kopfzeilen aus einem String auslesen

imap_reopen
imap_rfc822_parse_headers
IMAP Funktionen


Email-Kopfzeilen aus einem String auslesen

imap_rfc822_parse_adrlist
imap_rfc822_write_address
IMAP Funktionen
PHP Manual

imap_rfc822_parse_headers

(PHP 4, PHP 5, PHP 7)

imap_rfc822_parse_headers — Email-Kopfzeilen aus einem String auslesen

Beschreibung

object imap_rfc822_parse_headers ( string $headers [, string $defaulthost = "UNKNOWN" ] )

Liefert ein Objekt mit diversen Kopfelementen, ähnlich imap_header().

Parameter-Liste

headers

Die auszulesenden Kopfdaten

defaulthost

Der Default-Hostname

Rückgabewerte

Liefert ein ähnliches Objekt wie imap_header() mit Ausnahme der Flags und anderen vom IMAP Server gelieferten Daten.

Siehe auch

  • imap_rfc822_parse_adrlist() - Zerlegt einen Mailadressstring

imap_rfc822_parse_adrlist
imap_rfc822_write_address
IMAP Funktionen


Bildet aus Realnamen, Postfach und Server eine korrekt formatierte Mail-Adresse

imap_rfc822_parse_headers
imap_savebody
IMAP Funktionen
PHP Manual

imap_rfc822_write_address

(PHP 4, PHP 5, PHP 7)

imap_rfc822_write_address — Bildet aus Realnamen, Postfach und Server eine korrekt formatierte Mail-Adresse

Beschreibung

string imap_rfc822_write_address ( string $mailbox , string $host , string $personal )

imap_rfc822_write_address() bildet eine gemäß » RFC2822 formatierte Mail-Adresse aus den übergebenen Informationen.

Parameter-Liste

mailbox

Der Name des Postfachs, siehe imap_open() für weitere Informationen.

host

Der Domain-Teil der Mailadresse.

personal

Der Realname des Besitzers des Postfachs.

Rückgabewerte

Gibt eine gemäß » RFC2822 formatierte Mailadresse als String zurück.

Beispiele

Beispiel #1 imap_rfc822_write_address() Beispiel

<?php
echo imap_rfc822_write_address("hartmut", "example.com", "Hartmut Holzgraefe");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Hartmut Holzgraefe <hartmut@example.com>

imap_rfc822_parse_headers
imap_savebody
IMAP Funktionen


Speichert einen bestimmten Body-Abschnitt einer Nachricht als Datei

imap_rfc822_write_address
imap_scan
IMAP Funktionen
PHP Manual

imap_savebody

(PHP 5 >= 5.1.3, PHP 7)

imap_savebody — Speichert einen bestimmten Body-Abschnitt einer Nachricht als Datei

Beschreibung

bool imap_savebody ( resource $imap_stream , mixed $file , int $msg_number [, string $part_number = "" [, int $options = 0 ]] )

Speichert einen Teil des Nachrichtenkörpers oder den gesamten Body der angegebenen Nachricht.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

file

Name der Zieldatei oder ein gültiger von fopen() zurückgegebener Dateideskriptor.

msg_number

Nachrichtennummer der gewünschten Nachricht

part_number

Nummer des gewünschten Nachrichtenteils gemäß der IMAP4 Spezifikation.

options

Eine Bitmaske aus einem oder mehrereren der folgenden Werte: A bitmask with one or more of the following:

  • FT_UID - Die msg_number ist eine UID
  • FT_PEEK - Das \Seen Flag wird nicht modifiziert
  • FT_INTERNAL - keine Zeilenendenmodifikation durchführen

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • imap_fetchbody() - Liefert einen bestimmten Abschnitt aus dem Körper einer Nachricht

imap_rfc822_write_address
imap_scan
IMAP Funktionen


Alias von imap_listscan

imap_savebody
imap_scanmailbox
IMAP Funktionen
PHP Manual

imap_scan

(PHP 4, PHP 5, PHP 7)

imap_scan — Alias von imap_listscan()

Beschreibung

Diese Funktion ist ein Alias für: imap_listscan().

imap_savebody
imap_scanmailbox
IMAP Funktionen


Alias von imap_listscan

imap_scan
imap_search
IMAP Funktionen
PHP Manual

imap_scanmailbox

(PHP 4, PHP 5, PHP 7)

imap_scanmailbox — Alias von imap_listscan()

Beschreibung

Diese Funktion ist ein Alias für: imap_listscan().

imap_scan
imap_search
IMAP Funktionen


Liefert ein Array von Nachrichten die den gegebenen Suchkriterien entsprechen

imap_scanmailbox
imap_set_quota
IMAP Funktionen
PHP Manual

imap_search

(PHP 4, PHP 5, PHP 7)

imap_search — Liefert ein Array von Nachrichten die den gegebenen Suchkriterien entsprechen

Beschreibung

array imap_search ( resource $imap_stream , string $criteria [, int $options = SE_FREE [, string $charset = NIL ]] )

imap_search() durchsucht die Nachrichten des aktuellen Postfachs.

Der Suchstring um zB nach allen unbeantworteten Nachrichten von Mutter zu suchen wäre "UNANSWERED FROM Mutter". Die Suche unterscheidet nicht nach Groß- und Kleinschreibung. Die folgende Liste von Suchkriterien wurde aus dem Sourcecode des UW c-client erstellt, sie ist daher nicht unbedingt vollständig oder in allen Einzelheiten korrekt (siehe auch » RFC2060, Abschnitt 6.4.4).

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

criteria

Ein aus mit Leerzeichen getrennten Schlüsselworten und Argumenten. Argumente die selbt Leerzeichen enthalten müssen in doppelte Anführungszeichen gefasst werden (z.B. FROM "Hans Müller"). Es existieren folgende Schlüsselworte:

  • ALL - return all messages matching the rest of the criteria
  • ANSWERED - die gesuchten Nachrichten wurden beantwortet
  • BCC "text" - die gesuchten Nachrichten enthalten "text" im Bcc: Feld
  • BEFORE "datum" - die gesuchten Nachrichten wurden vor "datum" gesendet
  • BODY "text" - der Nachrichtenkörper enthält "text"
  • CC "text" - die gesuchten Nachrichten enthalten "text" im Cc: Feld
  • DELETED - die gesuchten Nachrichten sind zur Löschung vorgemerkt
  • FLAGGED - match messages with the \\FLAGGED (sometimes referred to as Important or Urgent) flag set
  • FROM "text" - sucht Nachrichten mit "text" im Absender (From:)
  • KEYWORD "text" - sucht Nachrichten mit Schlüsselwort "text"
  • NEW - die gesuchten Nachrichten sind neu
  • OLD - die gesuchten Nachrichten sind nicht neu
  • ON "datum" - die Nachrichten wurden am angegebenen "datum" gesendet
  • RECENT - sucht Nachrichten deren \\RECENT Flag nocht gesetzt ist
  • SEEN - sucht bereits gelesene Nachrichten (das \\SEEN Flag ist gesetzt)
  • SINCE "datum" - sucht nach "datum" gesendete Nachrichten
  • SUBJECT "text" - sucht Nachrichten mit "text" in der Betreffzeile
  • TEXT "text" - sucht Nachrichten deren Text "text" enthält
  • TO "text" - sucht Nachrichten mit "text" im Empfänger (To:)
  • UNANSWERED - sucht noch nicht beantwortete Nachrichten
  • UNDELETED - sucht nicht zum Löschen vorgemerkte Nachrichten
  • UNFLAGGED - sucht Nachrichten die nicht als wichtig markiert sind
  • UNKEYWORD "text" - sucht Nachrichten in deren Schlüsselwörtern "text" nicht enthalten ist
  • UNSEEN - sucht ungelesene Nachrichten

options

Der Parameter options kann auf SE_UID gesetzt werden um UIDs statt Nachrichtennummern zurückzuerhalten.

charset

Rückgabewerte

Liefert ein Array mit Nachrichtennummern oder UIDs.

Wenn die Suchkriterien keinen Sinn ergaben oder keine Nachrichten gefunden wurden wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
4.3.3 | Der Parameter charset wurde hinzugefügt

Siehe auch

  • imap_listscan() - Listet Postfächer nach Suchkriterien

imap_scanmailbox
imap_set_quota
IMAP Funktionen


Setzt die Mengenbeschränkung für ein Postfach

imap_search
imap_setacl
IMAP Funktionen
PHP Manual

imap_set_quota

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

imap_set_quota — Setzt die Mengenbeschränkung für ein Postfach

Beschreibung

bool imap_set_quota ( resource $imap_stream , string $quota_root , int $quota_limit )

Sets an upper limit quota on a per mailbox basis.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

quota_root

Das Postfach für das eine Mengenbeschränkung festgelegt werden soll. Dieses sollte dem IMAP-Standard für Postfächer folgen: user.name.

quota_limit

Maximale Größe des Postfachs quota_root in KB.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 imap_set_quota() Beispiel

<?php
$mbox = imap_open("{imap.example.org:143}", "mailadmin", "password");

if (!imap_set_quota($mbox, "user.kalowsky", 3000)) {
    echo "Error in setting quota\n";
    return;
}

imap_close($mbox);
?>

Anmerkungen

Diese Funktion ist nur ab der Bibliotheksversion c-client2000 verfügbar

Die Serververbindung imap_stream muss von einem Benutzer mit Administratorrechten geöffnet worden sein, ansonsten schlägt die Funktion fehl.

Siehe auch

  • imap_open() - Öffnet eine Verbindung zu einem Mailserver-Postfach
  • imap_get_quota() - Liefert Quota-Beschränkungen und Nutzungsstatistik der Postfächer

imap_search
imap_setacl
IMAP Funktionen


Setzen der ACL für ein Postfach

imap_set_quota
imap_setflag_full
IMAP Funktionen
PHP Manual

imap_setacl

(PHP 4 >= 4.0.7, PHP 5, PHP 7)

imap_setacl — Setzen der ACL für ein Postfach

Beschreibung

bool imap_setacl ( resource $imap_stream , string $mailbox , string $id , string $rights )

Setzt die Zugriffsrechte für ein Postfach.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

mailbox

Der Name des Postfachs, siehe imap_open() für nähere Informationen.

id

Der Benutzer dessen Rechte geändert werden sollen.

rights

Die zu setzenden Rechte oder ein leerer String um alle Rechte zu entziehen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

This function is currently only available to users of the c-client2000 or greater library.

Siehe auch

  • imap_getacl() - Liste der Zugriffsrechte für ein Postfach bestimmen

imap_set_quota
imap_setflag_full
IMAP Funktionen


Setzt Nachrichtenflags

imap_setacl
imap_sort
IMAP Funktionen
PHP Manual

imap_setflag_full

(PHP 4, PHP 5, PHP 7)

imap_setflag_full — Setzt Nachrichtenflags

Beschreibung

bool imap_setflag_full ( resource $imap_stream , string $sequence , string $flag [, int $options = NIL ] )

Setzt die mit flag angegebenen Flags bei allen Nachrichten aus der Liste sequence. sequence.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

sequence

Eine Liste von Nachrichtennummern. Sie können Nachrichten mit Komma getrennt aufzählen X,Y oder alle Nachrichten in einem bestimmten Interval mit X:Y auswählen.

flag

Die möglichen Flags, die gesetzt werden können, sind \Seen, \Answered, \Flagged, \Deleted und \Draft, wie in » RFC2060 definiert.

options

Eine Bitmaske mit Optionen, zur Zeit wird nur eine Option unterstützt:

  • ST_UID - Die Nachrichtenliste sequence enthält UIDs anstelle von Nachrichtennummern

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 imap_setflag_full()-Beispiel

<?php
$mbox = imap_open("{imap.example.org:143}", "username", "password")
     or die("can't connect: " . imap_last_error());

$status = imap_setflag_full($mbox, "2,5", "\\Seen \\Flagged");

echo gettype($status) . "\n";
echo $status . "\n";

imap_close($mbox);
?>

Siehe auch

  • imap_clearflag_full() - Löscht Flags einer Nachricht

imap_setacl
imap_sort
IMAP Funktionen


Sortiert Nachrichten eines Postfachs

imap_setflag_full
imap_status
IMAP Funktionen
PHP Manual

imap_sort

(PHP 4, PHP 5, PHP 7)

imap_sort — Sortiert Nachrichten eines Postfachs

Beschreibung

array imap_sort ( resource $imap_stream , int $criteria , int $reverse [, int $options = 0 [, string $search_criteria = NULL [, string $charset = NIL ]]] )

Liefert eine gemäß den angegebenen Sortierkriterien sortierte Liste von Nachrichtennummern.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

criteria

Eines der folgenden Sortierkriterien:

  • SORTDATE - Sendedatum
  • SORTARRIVAL - Empfangsdatum
  • SORTFROM - Absender
  • SORTSUBJECT - Betreff
  • SORTTO - erster Empfänger
  • SORTCC - erster CC Empfänger
  • SORTSIZE - Größe der Nachricht in Bytes

reverse

Sortierung in umgekehrter Reihenfolge wenn TRUE

options

Der Parameter options enthält eine Bitmaske mit folgenden möglichen Werten: following:

  • SE_UID - es werden UIDs an Stelle von Nachrichtennummern zurückgegeben
  • SE_NOPREFETCH - Nachrichten werden nicht auf Vorrat abgerufen

search_criteria

charset

Rückgabewerte

Liefert ein Array mit nach den angegebenen Sortierkriterien sortierten Nachrichtennummern.

imap_setflag_full
imap_status
IMAP Funktionen


Liefert Statusinformationen zum angegebenen Postfach

imap_sort
imap_subscribe
IMAP Funktionen
PHP Manual

imap_status

(PHP 4, PHP 5, PHP 7)

imap_status — Liefert Statusinformationen zum angegebenen Postfach

Beschreibung

object imap_status ( resource $imap_stream , string $mailbox , int $options )

iefert ausgewählte Statusinformationen zum Postfach mailbox.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

mailbox

Der Postfachname, siehe imap_open() für weitere Informationen.

options

Bitmaske mit folgenden möglichen Werten:

  • SA_MESSAGES - setzt status->messages auf die Anzahl der Nachrichten im Postfach
  • SA_RECENT - setzt status->recent auf die Anzahl kürzlich eingetroffener Nachrichten im Postfach
  • SA_UNSEEN - setzt status->unseen auf die Anzahl ungelesener Nachrichten im Postfach
  • SA_UIDNEXT - setzt status->uidnext auf die nächste diesem Postfach zugeteilte UID
  • SA_UIDVALIDITY - setzt status->uidvalidity auf eine Konstante die sich ändert falls die UIDs im Postfach ihre Gültigkeit verloren haben könnten
  • SA_ALL - setzt alle Flags

Rückgabewerte

Die Funktion liefert ein Objekt mit Statusinformationen in den Properties messages, recent, unseen, uidnext und uidvalidity.

flags wird ebenfalls gesetzt und enthält eine Bitmaske mit der die tatsächlich gelieferten Informationen mit hilfe der oben beschriebenen Konstanten geprüft werden können.

Beispiele

Beispiel #1 imap_status() Beispiel

<?php
$mbox = imap_open("{imap.example.com}", "username", "password", OP_HALFOPEN)
      or die("can't connect: " . imap_last_error());

$status = imap_status($mbox, "{imap.example.org}INBOX", SA_ALL);
if ($status) {
  echo "Messages:   " . $status->messages    . "<br />\n";
  echo "Recent:     " . $status->recent      . "<br />\n";
  echo "Unseen:     " . $status->unseen      . "<br />\n";
  echo "UIDnext:    " . $status->uidnext     . "<br />\n";
  echo "UIDvalidity:" . $status->uidvalidity . "<br />\n";
} else {
  echo "imap_status failed: " . imap_last_error() . "\n";
}

imap_close($mbox);
?>

imap_sort
imap_subscribe
IMAP Funktionen


Abbonieren eines Postfachs

imap_status
imap_thread
IMAP Funktionen
PHP Manual

imap_subscribe

(PHP 4, PHP 5, PHP 7)

imap_subscribe — Abbonieren eines Postfachs

Beschreibung

bool imap_subscribe ( resource $imap_stream , string $mailbox )

Abbobiert ein neues Postfach.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

mailbox

Der Postfachname, siehe imap_open() für weitere Informationen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • imap_unsubscribe() - Abonnement eines Postfachs beenden

imap_status
imap_thread
IMAP Funktionen


Liefert einen Baum zusammenhängender Nachrichten

imap_subscribe
imap_timeout
IMAP Funktionen
PHP Manual

imap_thread

(PHP 4 >= 4.0.7, PHP 5, PHP 7)

imap_thread — Liefert einen Baum zusammenhängender Nachrichten

Beschreibung

array imap_thread ( resource $imap_stream [, int $options = SE_FREE ] )

Liefert einen Baum von zusammenhängenden Nachrichten.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

options

Rückgabewerte

imap_thread() liefert ein assoziatives Array von Nachrichten die über REFERENCES verknüpft sind oder FALSE bei Fehlern.

Jede Nachricht im aktuellen Postfach wird im zurückgegebenen Array durch drei Einträge repräsentiert:

  • $thread["XX.num"] - aktuelle Nachrichtennummer

  • $thread["XX.next"]

  • $thread["XX.branch"]

Beispiele

Beispiel #1 imap_thread() Example

<?php

// Ausgabe der verschiedenen Themenstränge einer Newsgroup in HTML

$nntp = imap_open('{news.example.com:119/nntp}some.newsgroup', '', '');
$threads = imap_thread($nntp);

foreach ($threads as $key => $val) {
  $tree = explode('.', $key);
  if ($tree[1] == 'num') {
    $header = imap_headerinfo($nntp, $val);
    echo "<ul>\n\t<li>" . $header->fromaddress . "\n";
  } elseif ($tree[1] == 'branch') {
    echo "\t</li>\n</ul>\n";
  }
}

imap_close($nntp);

?>

imap_subscribe
imap_timeout
IMAP Funktionen


Imap Timeout setzen oder lesen

imap_thread
imap_uid
IMAP Funktionen
PHP Manual

imap_timeout

(PHP 4 >= 4.3.3, PHP 5, PHP 7)

imap_timeout — Imap Timeout setzen oder lesen

Beschreibung

mixed imap_timeout ( int $timeout_type [, int $timeout = -1 ] )

Setzt oder liest Timeoutwerte für das IMAP Protokoll.

Parameter-Liste

timeout_type

Eine der folgenden Konstanten: IMAP_OPENTIMEOUT, IMAP_READTIMEOUT, IMAP_WRITETIMEOUT, oder IMAP_CLOSETIMEOUT.

timeout

Timeout in Sekunden.

Rückgabewerte

Wenn der timeout Parameter gesetzt ist liefert die Funktion TRUE bei Erfolg, sonst FALSE.

Wird kein timeout übergeben oder entspricht dessen Wert -1 so wird der aktuelle Timeoutwert für timeout_type als Integer zurückgegeben.

Beispiele

Beispiel #1 imap_timeout() Beispiel

<?php

echo "Das aktuelle Lese-Timeout ist " . imap_timeout(IMAP_READTIMEOUT) . "\n";

?>

imap_thread
imap_uid
IMAP Funktionen


Liefert die UID für die gegebene Nachrichtennummer

imap_timeout
imap_undelete
IMAP Funktionen
PHP Manual

imap_uid

(PHP 4, PHP 5, PHP 7)

imap_uid — Liefert die UID für die gegebene Nachrichtennummer

Beschreibung

int imap_uid ( resource $imap_stream , int $msg_number )

Diese Funktion liefert die UID für eine gegebene Nachrichtennummer. Eine UID ist ein eindeutiger Bezeichner für eine Nachricht der sich nicht mit der Zeit ändert während eine Nachrichtennummer sich bei jeder Veränderung des Postfachinhalts ändern kann.

Diese Funktion ist das Gegenstück zu imap_msgno().

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

msg_number

Die Nachrichtennummer.

Rückgabewerte

Die UID der gewünschten Nachricht.

Anmerkungen

Hinweis:

Diese Funktion wird bei POP3 Postfächern nicht unterstützt.

Siehe auch

  • imap_msgno() - Liefert die Nachrichtennummer für eine gegebene UID

imap_timeout
imap_undelete
IMAP Funktionen


Nimmt eine bereits gesetzte Löschmarkierung einer Nachricht zurück

imap_uid
imap_unsubscribe
IMAP Funktionen
PHP Manual

imap_undelete

(PHP 4, PHP 5, PHP 7)

imap_undelete — Nimmt eine bereits gesetzte Löschmarkierung einer Nachricht zurück

Beschreibung

bool imap_undelete ( resource $imap_stream , int $msg_number [, int $flags = 0 ] )

Entfernt das "gelöscht"-Flag der angegebenen Nachricht. Das Flag wird von den Funktionen imap_delete() oder imap_mail_move() gesetzt.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

msg_number

Die Nachrichtennummer

flags

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • imap_delete() - Nachrichten im aktuellen Postfach zur Löschung markieren
  • imap_mail_move() - Verschiebt Nachrichten in ein anderes Postfach

imap_uid
imap_unsubscribe
IMAP Funktionen


Abonnement eines Postfachs beenden

imap_undelete
imap_utf7_decode
IMAP Funktionen
PHP Manual

imap_unsubscribe

(PHP 4, PHP 5, PHP 7)

imap_unsubscribe — Abonnement eines Postfachs beenden

Beschreibung

bool imap_unsubscribe ( resource $imap_stream , string $mailbox )

Das Abonnement des Postfachs mailbox beenden.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

mailbox

Der Postfachname (mehr Informationen finden Sie unter imap_open()).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • imap_subscribe() - Abbonieren eines Postfachs

imap_undelete
imap_utf7_decode
IMAP Funktionen


Dekodiert einem String im modifizierten UTF-7-Format

imap_unsubscribe
imap_utf7_encode
IMAP Funktionen
PHP Manual

imap_utf7_decode

(PHP 4, PHP 5, PHP 7)

imap_utf7_decode — Dekodiert einem String im modifizierten UTF-7-Format

Beschreibung

string imap_utf7_decode ( string $text )

Dekodiert den String text aus dem modifizierten UTF-7-Format in ISO-8859-1-kodierten Text.

Diese Funktion wird benötigt, um Mailboxnamen zu dekodieren, die Zeichen außerhalb des druckbaren ASCII-Bereichs enthalten.

Parameter-Liste

text

Ein String im modifizerten UTF-7-Format gemäß » RFC 2060, Abschnitt 5.1.3 (die ursprüngliche UTF-7 Definition finted sich in » RFC1642).

Rückgabewerte

Liefert einen ISO-8859-1-kodierten String oder FALSE, wenn text ungültige modifizierte UTF-7-Sequenzen enthält oder Zeichen, die nicht Teil des ISO-8859-1-Zeichensatzes sind.

Siehe auch

  • imap_utf7_encode() - Kodiert ISO-8859-1 Text im modifizieren UTF-7-Format

imap_unsubscribe
imap_utf7_encode
IMAP Funktionen


Kodiert ISO-8859-1 Text im modifizieren UTF-7-Format

imap_utf7_decode
imap_utf8
IMAP Funktionen
PHP Manual

imap_utf7_encode

(PHP 4, PHP 5, PHP 7)

imap_utf7_encode — Kodiert ISO-8859-1 Text im modifizieren UTF-7-Format

Beschreibung

string imap_utf7_encode ( string $data )

Konvertiert den in data übergebenen Text in das modifizierte UTF-7-Format.

Diese Funktion wird benötigt, um Mailboxnamen zu kodieren, die außerhalb des druckbaren ASCII-Bereichs liegen.

Parameter-Liste

data

Ein ISO-8859-1-String.

Rückgabewerte

Liefert data kodiert im modifizierten UTF-7-Format wie in » RFC 2060, Abschnitt 5.1.3 definiert (die ursprüngliche UTF-7-Kodierung ist in » RFC1642 definiert).

Siehe auch

  • imap_utf7_decode() - Dekodiert einem String im modifizierten UTF-7-Format

imap_utf7_decode
imap_utf8
IMAP Funktionen


Konvertiert Text zu UTF8

imap_utf7_encode
Mail
IMAP Funktionen
PHP Manual

imap_utf8

(PHP 4, PHP 5, PHP 7)

imap_utf8 — Konvertiert Text zu UTF8

Beschreibung

string imap_utf8 ( string $mime_encoded_text )

Konvertiert den übergebenen String in das UTF8-Format.

Parameter-Liste

mime_encoded_text

Ein MIME-codierter String. MIME codierung und die UTF-8 Spezifikation finden sich unter » RFC2047 und » RFC2044.

Rückgabewerte

Liefert einen UTF-8 codierten String.

Siehe auch

  • imap_mime_header_decode() - Dekodiert MIME-codierte Headerzeilen

imap_utf7_encode
Mail
IMAP Funktionen


Mail

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Mail-Funktionen
    • ezmlm_hash — Berechnet den Hash-Wert, der von EZMLM benötigt wird
    • mail — E-Mails senden
imap_utf8
Einführung
E-Mail-relevante Erweiterungen


Einführung

Die mail()-Funktion ermöglicht das Senden von E-Mails.

Mail
Installation/Konfiguration
Mail


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Mail


Anforderungen

PHP muss während des Kompilierens Zugriff auf die Binärversion von sendmail auf Ihrem Rechner haben. Falls Sie ein anderes Mail-Programm, wie z.B. qmail oder postfix, benutzen, müssen Sie dafür sorgen, dass Sie den passenden, mitgelieferten sendmail-Wrapper verwenden. PHP sucht nach sendmail zunächst im System-PATH und anschließend hier: /usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib. Wir empfehlen, dass sendmail auf Ihrem Rechner im PATH verfügbar ist. Der Benutzer, der PHP kompiliert hat, muss die Berechtigung haben, auf die Binärversion von sendmail zuzugreifen.

Installation/Konfiguration
Installation
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Mail-Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
mail.add_x_header | "0" | PHP_INI_PERDIR | Verfügbar seit PHP 5.3.0.
mail.log | NULL | PHP_INI_PERDIR | Verfügbar seit PHP 5.3.0.
mail.force_extra_parameters | NULL | PHP_INI_PERDIR | Verfügbar seit PHP 5.0.0. (PHP_INI_SYSTEM|PHP_INI_PERDIR)
SMTP | "localhost" | PHP_INI_ALL |
smtp_port | "25" | PHP_INI_ALL | Verfügbar seit PHP 4.3.0.
sendmail_from | NULL | PHP_INI_ALL |
sendmail_path | "/usr/sbin/sendmail -t -i" | PHP_INI_SYSTEM |
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

mail.add_x_header bool

Fügt den X-PHP-Originating-Script-Header hinzu, der die UID des Skripts gefolgt vom Dateinamen enthält.

mail.log string

Der Pfad zur Log-Datei, in der mail()-Aufrufe geloggt werden. Die Log-Einträge enthalten den vollen Pfad des Skripts, die Zeilennummer, die To-Adresse und alle Header.

mail.force_extra_parameters string

Erzwingt das Hinzufügen der angegebenen Parameter als extra Parameter an das sendmail binary. Diese Parameter ersetzen immer den Wert für den fünften Parameter der Funktion mail(). Auch im Safe mode.

SMTP string

Wird nur unter Windows benutzt: Hostname oder IP-Adresse des SMTP-Servers, den PHP für Mails, die mit der mail()-Funktion verschickt werden, nutzen soll.

smtp_port int

Wird nur unter Windows benutzt: Nummer des Ports des Servers (angegeben in der SMTP-Option), um eine Verbindung herzustellen, wenn eine Mail mit der mail()-Funktion verschickt wird. Standardwert ist 25. Diese Option ist verfügbar ab PHP 4.3.0.

sendmail_from string

"From:"-Mail-Adresse, die beim Mail-Versand unter Windows benutzt werden soll. Diese Direktive setzt auch den "Return-Path:" Header.

sendmail_path string

Pfad, in dem sich das sendmail-Programm befindet, z.B. /usr/sbin/sendmail oder /usr/lib/sendmail. configure versucht, die richtige Position automatisch zu finden. Falls die automatische Erkennung aber fehlschlägt und der Standardwert auf Ihrem Rechner falsch ist, dann können Sie hier den richtigen Pfad setzen.

Falls Sie auf Ihrem Rechner sendmail nicht benutzen, müssen Sie den Pfad angeben, in dem sich der sendmail-Wrapper/-Ersatz befindet, sofern vorhanden. Zum Beispiel können » Qmail-Benutzer diese Option auf /var/qmail/bin/sendmail oder /var/qmail/bin/qmail-inject setzen.

qmail-inject benötigt keine Optionen, um Mails korrekt zu verarbeiten.

Diese Option funktioniert auch unter Windows. Wenn Sie gesetzt ist, werden smtp, smtp_port und sendmail_from ignoriert und das angegebene Kommando wird ausgeführt.

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
Mail-Funktionen
Mail


Mail-Funktionen

Inhaltsverzeichnis

  • ezmlm_hash — Berechnet den Hash-Wert, der von EZMLM benötigt wird
  • mail — E-Mails senden
Vordefinierte Konstanten
ezmlm_hash
Mail


Berechnet den Hash-Wert, der von EZMLM benötigt wird

Mail-Funktionen
mail
Mail-Funktionen
PHP Manual

ezmlm_hash

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

ezmlm_hash — Berechnet den Hash-Wert, der von EZMLM benötigt wird

Beschreibung

int ezmlm_hash ( string $addr )

ezmlm_hash() berechnet den Hash-Wert, der benötigt wird, wenn EZMLM-Mailinglisten in einer MySQL-Datenbank gespeichert werden.

Parameter-Liste

addr

Die E-Mail-Adresse, die gehasht werden soll.

Rückgabewerte

Der Hash-Wert von addr.

Beispiele

Beispiel #1 Hash-Wert berechnen und einen Benutzer hinzufügen

<?php

$user = "joecool@example.com";
$hash = ezmlm_hash($user);
$query = sprintf("INSERT INTO beispiel VALUES (%s, '%s')", $hash, $user);
$db->query($query);  // die PHPLIB-DB-Klasse wird benutzt

?>

Mail-Funktionen
mail
Mail-Funktionen


E-Mails senden

ezmlm_hash
Mailparse
Mail-Funktionen
PHP Manual

mail

(PHP 4, PHP 5, PHP 7)

mail — E-Mails senden

Beschreibung

bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )

Sendet eine E-Mail.

Parameter-Liste

to

Empfänger (einer oder mehrere) der E-Mail.

Die Formatierung dieses Strings muss nach » RFC 2822 erfolgen. Beispiele:

  • benutzer@example.com
  • benutzer@example.com, benutzer2@example.com
  • Name <benutzer@example.com>
  • Name <benutzer@example.com>, Name2 <benutzer2@example.com>

subject

Betreff der E-Mail.

Achtung

Die Formatierung dieses Strings muss nach » RFC 2047 erfolgen.

message

Die zu sendende Nachricht.

Jede Zeile muss durch ein LF-Zeichen (\n) getrennt werden. Außerdem sollten die Zeilen nicht mehr als 70 Zeichen enthalten.

Achtung

(Nur unter Windows:) Falls PHP direkt mit einem SMTP-Server kommuniziert und wenn ein Punkt (.) an einem Zeilenanfang steht, wird dieser Punkt entfernt. Um das zu verhindern, können Sie diese Punkte durch zwei Punkte ersetzen.

<?php
$text = str_replace("\n.", "\n..", $text);
?>

additional_headers (optional)

String, der am Ende des E-Mail-Headers eingefügt werden soll.

Dies kann benutzt werden, um zusätzliche Header-Angaben wie From, Cc oder Bcc anzugeben. Falls mehrere solcher zusätzlichen Header-Angaben angegeben werden soll, müssen diese durch ein CRLF-Zeichen (\r\n) getrennt werden.

Hinweis:

Um eine E-Mail zu senden, muss die E-Mail einen From-Header enthalten. Dies kann entweder durch Setzen eines additional_headers-Parameters oder durch Setzen eines Standardwertes in der php.ini geschehen.

Falls dies nicht geschieht, wird eine Fehlermeldung ähnlich wie Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing ausgegeben. Der From: Header setzt unter Windows auch den Return-Path: Header.

Hinweis:

Wenn E-Mails nicht ankommen, versuchen Sie bitte, nur das LF-Zeichen (\n) zu verwenden. Einige UNIX-MTAs (mail transfer agents) ersetzen leider LF durch CRLF (\r\n) automatisch (wodurch das CR-Zeichen verdoppelt wird, wenn CRLF verwendet wird). Dies sollte aber nur in Ausnahmefällen geschehen, da es gegen » RFC 2822 verstößt.

additional_parameters (optional)

Der additional_parameters-Parameter kann benutzt werden, um zusätzliche Parameter an das Programm zu senden, das für den E-Mail-Versand konfiguriert ist (wenn die sendmail_path-Einstellung verwendet wird). Zum Beispiel kann hiermit die "envelope sender address" (Absenderadresse) gesetzt werden, wenn sendmail mit der -f-Option benutzt wird.

Der Benutzer, unter dem der Webserver läuft, sollte als bekannter Benutzer in der sendmail-Konfiguration eingetragen werden, um zu verhindern, dass ein 'X-Warning'-Header zu den E-Mails hingefügt wird, wenn mit dieser Methode (-f) der Absender gesetzt wird. Sendmail-Benutzer finden diese Datei hier: /etc/mail/trusted-users.

Rückgabewerte

Gibt TRUE zurück, wenn die E-Mail erfolgreich für den Versand akzeptiert wurde, sonst FALSE.

Dass eine E-Mail für den Versand akzeptiert wurde, bedeutet nicht, dass sie auch wirklich den gewünschten Empfänger erreichen wird.

Changelog

Version | Beschreibung
4.3.0 (nur Windows) | Alle benutzerdefinierten Header wie (From, Cc, Bcc und Date) werden unterstützt und sind nicht abhängig von der Groß-/Kleinschreibung. (Da benutzerdefinierte Header nicht direkt vom MTA interpretiert werden, sondern von PHP geparst werden, unterstützte PHP < 4.3 nur den Cc-Header, das dort auch abhängig von der Groß-/Kleinschreibung war.
4.2.3 | Der additional_parameters-Parameter ist im safe_mode deaktiviert; mail() gibt eine Warnung aus und gibt FALSE zurück, wenn Sie den Parameter trotzdem verwenden.
4.0.5 | Der additional_parameters-Parameter wurde hinzugefügt.

Beispiele

Beispiel #1 Verschicken einer E-Mail.

mail() wird benutzt, um eine einfache E-Mail zu versenden:

<?php
// Die Nachricht
$nachricht = "Zeile 1\Zeile 2\Zeile 3";

// Falls eine Zeile der Nachricht mehr als 70 Zeichen enthälten könnte,
// sollte wordwrap() benutzt werden
$nachricht = wordwrap($nachricht, 70);

// Send
mail('benutzer@example.com', 'Mein Betreff', $nachricht);
?>

Beispiel #2 Verschicken einer E-Mail mit zusätzlichen Headern.

Hier werden einfache Header gesetzt, um dem MUA (mail user agent, z.B. ein E-Mail-Programm) die From- und die Reply-To-Adressen mitzuteilen:

<?php
$empfaenger = 'niemand@example.com';
$betreff = 'Der Betreff';
$nachricht = 'Hallo';
$header = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($empfaenger, $betreff, $nachricht, $header);
?>

Beispiel #3 Verschicken einer E-Mail mit einem zusätzlichen Kommandozeilen-Parameter.

Der additional_parameters-Parameter kann benutzt werden, um zusätzliche Parameter an das über sendmail_path konfigurierte Programm zu senden.

<?php
mail('niemand@example.com', 'Betreff', 'Nachricht', null,
   '-fwebmaster@example.com');
?>

Beispiel #4 Verschicken einer HTML-E-Mail.

Auch HTML-E-Mails können mit mail() versendet werden.

<?php
// mehrere Empfänger
$empfaenger  = 'max@example.com' . ', '; // beachten Sie das Komma
$empfaenger .= 'moritz@example.com';

// Betreff
$betreff = 'Geburtstags-Erinnerungen für August';

// Nachricht
$nachricht = '
<html>
<head>
  <title>Geburtstags-Erinnerungen für August</title>
</head>
<body>
  <p>Hier sind die Geburtstage im August:</p>
  <table>
    <tr>
      <th>Person</th><th>Tag</th><th>Monat</th><th>Jahr</th>
    </tr>
    <tr>
      <td>Julia</td><td>3.</td><td>August</td><td>1970</td>
    </tr>
    <tr>
      <td>Tom</td><td>17.</td><td>August</td><td>1973</td>
    </tr>
  </table>
</body>
</html>
';

// für HTML-E-Mails muss der 'Content-type'-Header gesetzt werden
$header  = 'MIME-Version: 1.0' . "\r\n";
$header .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

// zusätzliche Header
$header .= 'To: Simone <simone@example.com>, Andreas <andreas@example.com>' . "\r\n";
$header .= 'From: Geburtstags-Erinnerungen <geburtstag@example.com>' . "\r\n";
$header .= 'Cc: geburtstagsarchiv@example.com' . "\r\n";
$header .= 'Bcc: geburtstagscheck@example.com' . "\r\n";

// verschicke die E-Mail
mail($empfaenger, $betreff, $nachricht, $header);
?>

Hinweis:

Wenn Sie HTML- oder komplexe E-Mails versenden möchten, sollten Sie das PEAR-Paket » PEAR::Mail_Mime verwenden.

Anmerkungen

Hinweis:

Die Windows-Implementierung von mail() unterscheidet sich auf mehrere Arten von der Unix-Implementation. Zum einen benutzt sie kein lokales Programm, um die Mails zu erstellen, sondern sie arbeitet auf Sockets. D.h., dass ein MTA benötigt wird, der auf einem Netzwerk-Socket lauscht (entweder auf dem eigenen oder einem entfernten Rechner).

Zum anderen, werden die benutzerdefinierten Header wie From:, Cc:, Bcc: und Date: nicht direkt durch den MTA interpretiert, sondern zunächst von PHP geparst.

Daher sollte der to-Parameter keine Adresse der Form "Irgendwas <irgendwer@example.com>" enthalten, da dies von PHP möglicherweise nicht korrekt an den MTA übergeben werden kann.

Hinweis:

E-Mails mit Anhängen und speziellen Inhalten (wie HTML) können mit dieser Funktion versendet werden. Dazu wird MIME-Encoding verwendet. Weitere Informationen dazu finden Sie in einem Zend-Artikel und in den » PEAR-Mime-Klassen.

Hinweis:

Bitte beachten Sie, dass die mail()-Funktion nicht dazu geeignet ist, große Mengen von E-Mails in einer Schleife zu senden, da die Funktion für jede E-Mail ein SMTP-Socket öffnet und schließt, was nicht sehr effizient ist.

Um große Mengen von E-Mails zu senden, schauen Sie sich bitte die PEAR-Pakete » PEAR::Mail und » PEAR::Mail_Queue an.

Hinweis:

Die folgenden RFCs könnten nützlich für Sie sein: » RFC 1896, » RFC 2045, » RFC 2046, » RFC 2047, » RFC 2048, » RFC 2049 und » RFC 2822.

Siehe auch

  • imap_mail() - Sendet eine Email Nachricht
  • » PEAR::Mail
  • » PEAR::Mail_Mime

ezmlm_hash
Mailparse
Mail-Funktionen


Mailparse

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Mailparse Funktionen
    • mailparse_determine_best_xfer_encoding — Gets the best way of encoding
    • mailparse_msg_create — Create a mime mail resource
    • mailparse_msg_extract_part_file — Extracts/decodes a message section
    • mailparse_msg_extract_part — Extracts/decodes a message section
    • mailparse_msg_extract_whole_part_file — Extracts a message section including headers without decoding the transfer encoding
    • mailparse_msg_free — Frees a MIME resource
    • mailparse_msg_get_part_data — Returns an associative array of info about the message
    • mailparse_msg_get_part — Returns a handle on a given section in a mimemessage
    • mailparse_msg_get_structure — Returns an array of mime section names in the supplied message
    • mailparse_msg_parse_file — Parses a file
    • mailparse_msg_parse — Incrementally parse data into buffer
    • mailparse_rfc822_parse_addresses — Parse RFC 822 compliant addresses
    • mailparse_stream_encode — Streams data from source file pointer, apply encoding and write to destfp
    • mailparse_uudecode_all — Scans the data from fp and extract each embedded uuencoded file
mail
Einführung
E-Mail-relevante Erweiterungen


Einführung

Mailparse is an extension for parsing and working with email messages. It can deal with » RFC 822 and » RFC 2045 (MIME) compliant messages.

Mailparse is stream based, which means that it does not keep in-memory copies of the files it processes - so it is very resource efficient when dealing with large messages.

Hinweis:

Mailparse requires the mbstring extension, and mbstring must be loaded before mailparse.

Diese Erweiterung wurde ins » PECL-Repositorium verschoben und ist nicht mehr Teil von PHP ab PHP 4.2.0.

Mailparse
Installation/Konfiguration
Mailparse


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Mailparse


Installation

Diese » PECL-Extension ist nicht Teil von PHP. Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/mailparse.

In order to use these functions you must compile PHP with mailparse support by using the --enable-mailparse configure option.

Windows users will enable php_mailparse.dll inside of php.ini in order to use these functions. Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

It is necessary that the mbstring extension is loaded before mailparse.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

MAILPARSE_EXTRACT_OUTPUT (integer)
MAILPARSE_EXTRACT_STREAM (integer)
MAILPARSE_EXTRACT_RETURN (integer)
Ressource-Typen
Mailparse Funktionen
Mailparse


Mailparse Funktionen

Inhaltsverzeichnis

  • mailparse_determine_best_xfer_encoding — Gets the best way of encoding
  • mailparse_msg_create — Create a mime mail resource
  • mailparse_msg_extract_part_file — Extracts/decodes a message section
  • mailparse_msg_extract_part — Extracts/decodes a message section
  • mailparse_msg_extract_whole_part_file — Extracts a message section including headers without decoding the transfer encoding
  • mailparse_msg_free — Frees a MIME resource
  • mailparse_msg_get_part_data — Returns an associative array of info about the message
  • mailparse_msg_get_part — Returns a handle on a given section in a mimemessage
  • mailparse_msg_get_structure — Returns an array of mime section names in the supplied message
  • mailparse_msg_parse_file — Parses a file
  • mailparse_msg_parse — Incrementally parse data into buffer
  • mailparse_rfc822_parse_addresses — Parse RFC 822 compliant addresses
  • mailparse_stream_encode — Streams data from source file pointer, apply encoding and write to destfp
  • mailparse_uudecode_all — Scans the data from fp and extract each embedded uuencoded file
Vordefinierte Konstanten
mailparse_determine_best_xfer_encoding
Mailparse


Gets the best way of encoding

Mailparse Funktionen
mailparse_msg_create
Mailparse Funktionen
PHP Manual

mailparse_determine_best_xfer_encoding

(PECL mailparse >= 0.9.0)

mailparse_determine_best_xfer_encoding — Gets the best way of encoding

Beschreibung

string mailparse_determine_best_xfer_encoding ( resource $fp )

Figures out the best way of encoding the content read from the given file pointer.

Parameter-Liste

fp

A valid file pointer, which must be seek-able.

Rückgabewerte

Returns one of the character encodings supported by the mbstring module.

Beispiele

Beispiel #1 mailparse_determine_best_xfer_encoding() example

<?php

$fp = fopen('somemail.eml', 'r');
echo 'Best encoding: ' . mailparse_determine_best_xfer_encoding($fp);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Best encoding: 7bit

Mailparse Funktionen
mailparse_msg_create
Mailparse Funktionen


Create a mime mail resource

mailparse_determine_best_xfer_encoding
mailparse_msg_extract_part_file
Mailparse Funktionen
PHP Manual

mailparse_msg_create

(PECL mailparse >= 0.9.0)

mailparse_msg_create — Create a mime mail resource

Beschreibung

resource mailparse_msg_create ( void )

Create a MIME mail resource.

Rückgabewerte

Returns a handle that can be used to parse a message.

Siehe auch

  • mailparse_msg_free() - Frees a MIME resource
  • mailparse_msg_parse_file() - Parses a file

mailparse_determine_best_xfer_encoding
mailparse_msg_extract_part_file
Mailparse Funktionen


Extracts/decodes a message section

mailparse_msg_create
mailparse_msg_extract_part
Mailparse Funktionen
PHP Manual

mailparse_msg_extract_part_file

(PECL mailparse >= 0.9.0)

mailparse_msg_extract_part_file — Extracts/decodes a message section

Beschreibung

string mailparse_msg_extract_part_file ( resource $mimemail , mixed $filename [, callable $callbackfunc ] )

Extracts/decodes a message section from the supplied filename.

The contents of the section will be decoded according to their transfer encoding - base64, quoted-printable and uuencoded text are supported.

Parameter-Liste

mimemail

A valid MIME resource, created with mailparse_msg_create().

filename

Can be a file name or a valid stream resource.

callbackfunc

If set, this must be either a valid callback that will be passed the extracted section, or NULL to make this function return the extracted section.

If not specified, the contents will be sent to "stdout".

Rückgabewerte

If callbackfunc is not NULL returns TRUE on success.

If callbackfunc is set to NULL, returns the extracted section as a string.

Returns FALSE on error.

Siehe auch

  • mailparse_msg_extract_part() - Extracts/decodes a message section
  • mailparse_msg_extract_whole_part_file() - Extracts a message section including headers without decoding the transfer encoding

mailparse_msg_create
mailparse_msg_extract_part
Mailparse Funktionen


Extracts/decodes a message section

mailparse_msg_extract_part_file
mailparse_msg_extract_whole_part_file
Mailparse Funktionen
PHP Manual

mailparse_msg_extract_part

(PECL mailparse >= 0.9.0)

mailparse_msg_extract_part — Extracts/decodes a message section

Beschreibung

void mailparse_msg_extract_part ( resource $mimemail , string $msgbody [, callable $callbackfunc ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

mimemail

A valid MIME resource.

msgbody

callbackfunc

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • mailparse_msg_extract_part_file() - Extracts/decodes a message section
  • mailparse_msg_extract_whole_part_file() - Extracts a message section including headers without decoding the transfer encoding

mailparse_msg_extract_part_file
mailparse_msg_extract_whole_part_file
Mailparse Funktionen


Extracts a message section including headers without decoding the transfer encoding

mailparse_msg_extract_part
mailparse_msg_free
Mailparse Funktionen
PHP Manual

mailparse_msg_extract_whole_part_file

(PECL mailparse >= 0.9.0)

mailparse_msg_extract_whole_part_file — Extracts a message section including headers without decoding the transfer encoding

Beschreibung

string mailparse_msg_extract_whole_part_file ( resource $mimemail , string $filename [, callable $callbackfunc ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

mimemail

A valid MIME resource.

filename

callbackfunc

Rückgabewerte

Siehe auch

  • mailparse_msg_extract_part() - Extracts/decodes a message section
  • mailparse_msg_extract_part_file() - Extracts/decodes a message section

mailparse_msg_extract_part
mailparse_msg_free
Mailparse Funktionen


Frees a MIME resource

mailparse_msg_extract_whole_part_file
mailparse_msg_get_part_data
Mailparse Funktionen
PHP Manual

mailparse_msg_free

(PECL mailparse >= 0.9.0)

mailparse_msg_free — Frees a MIME resource

Beschreibung

bool mailparse_msg_free ( resource $mimemail )

Frees a MIME resource.

Parameter-Liste

mimemail

A valid MIME resource allocated by mailparse_msg_create() or mailparse_msg_parse_file().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • mailparse_msg_create() - Create a mime mail resource
  • mailparse_msg_parse_file() - Parses a file

mailparse_msg_extract_whole_part_file
mailparse_msg_get_part_data
Mailparse Funktionen


Returns an associative array of info about the message

mailparse_msg_free
mailparse_msg_get_part
Mailparse Funktionen
PHP Manual

mailparse_msg_get_part_data

(PECL mailparse >= 0.9.0)

mailparse_msg_get_part_data — Returns an associative array of info about the message

Beschreibung

array mailparse_msg_get_part_data ( resource $mimemail )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

mimemail

A valid MIME resource.

mailparse_msg_free
mailparse_msg_get_part
Mailparse Funktionen


Returns a handle on a given section in a mimemessage

mailparse_msg_get_part_data
mailparse_msg_get_structure
Mailparse Funktionen
PHP Manual

mailparse_msg_get_part

(PECL mailparse >= 0.9.0)

mailparse_msg_get_part — Returns a handle on a given section in a mimemessage

Beschreibung

resource mailparse_msg_get_part ( resource $mimemail , string $mimesection )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

mimemail

A valid MIME resource.

mimesection

mailparse_msg_get_part_data
mailparse_msg_get_structure
Mailparse Funktionen


Returns an array of mime section names in the supplied message

mailparse_msg_get_part
mailparse_msg_parse_file
Mailparse Funktionen
PHP Manual

mailparse_msg_get_structure

(PECL mailparse >= 0.9.0)

mailparse_msg_get_structure — Returns an array of mime section names in the supplied message

Beschreibung

array mailparse_msg_get_structure ( resource $mimemail )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

mimemail

A valid MIME resource.

mailparse_msg_get_part
mailparse_msg_parse_file
Mailparse Funktionen


Parses a file

mailparse_msg_get_structure
mailparse_msg_parse
Mailparse Funktionen
PHP Manual

mailparse_msg_parse_file

(PECL mailparse >= 0.9.0)

mailparse_msg_parse_file — Parses a file

Beschreibung

resource mailparse_msg_parse_file ( string $filename )

Parses a file. This is the optimal way of parsing a mail file that you have on disk.

Parameter-Liste

filename

Path to the file holding the message. The file is opened and streamed through the parser.

Rückgabewerte

Returns a MIME resource representing the structure, or FALSE on error.

Siehe auch

  • mailparse_msg_free() - Frees a MIME resource
  • mailparse_msg_create() - Create a mime mail resource

mailparse_msg_get_structure
mailparse_msg_parse
Mailparse Funktionen


Incrementally parse data into buffer

mailparse_msg_parse_file
mailparse_rfc822_parse_addresses
Mailparse Funktionen
PHP Manual

mailparse_msg_parse

(PECL mailparse >= 0.9.0)

mailparse_msg_parse — Incrementally parse data into buffer

Beschreibung

bool mailparse_msg_parse ( resource $mimemail , string $data )

Incrementally parse data into the supplied mime mail resource.

This function allow you to stream portions of a file at a time, rather than read and parse the whole thing.

Parameter-Liste

mimemail

A valid MIME resource.

data

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

mailparse_msg_parse_file
mailparse_rfc822_parse_addresses
Mailparse Funktionen


Parse RFC 822 compliant addresses

mailparse_msg_parse
mailparse_stream_encode
Mailparse Funktionen
PHP Manual

mailparse_rfc822_parse_addresses

(PECL mailparse >= 0.9.0)

mailparse_rfc822_parse_addresses — Parse RFC 822 compliant addresses

Beschreibung

array mailparse_rfc822_parse_addresses ( string $addresses )

Parses a » RFC 822 compliant recipient list, such as that found in the To: header.

Parameter-Liste

addresses

A string containing addresses, like in: Wez Furlong <wez@example.com>, doe@example.com

Hinweis:

This string must not include the header name.

Rückgabewerte

Returns an array of associative arrays with the following keys for each recipient:

display | The recipient name, for display purpose. If this part is not set for a recipient, this key will hold the same value as address.
address | The email address
is_group | TRUE if the recipient is a newsgroup, FALSE otherwise.

Beispiele

Beispiel #1 mailparse_rfc822_parse_addresses() example

<?php

$to = 'Wez Furlong <wez@example.com>, doe@example.com';
var_dump(mailparse_rfc822_parse_addresses($to));

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  [0]=>
  array(3) {
    ["display"]=>
    string(11) "Wez Furlong"
    ["address"]=>
    string(15) "wez@example.com"
    ["is_group"]=>
    bool(false)
  }
  [1]=>
  array(3) {
    ["display"]=>
    string(15) "doe@example.com"
    ["address"]=>
    string(15) "doe@example.com"
    ["is_group"]=>
    bool(false)
  }
}

mailparse_msg_parse
mailparse_stream_encode
Mailparse Funktionen


Streams data from source file pointer, apply encoding and write to destfp

mailparse_rfc822_parse_addresses
mailparse_uudecode_all
Mailparse Funktionen
PHP Manual

mailparse_stream_encode

(PECL mailparse >= 0.9.0)

mailparse_stream_encode — Streams data from source file pointer, apply encoding and write to destfp

Beschreibung

bool mailparse_stream_encode ( resource $sourcefp , resource $destfp , string $encoding )

Streams data from the source file pointer, apply encoding and write to the destination file pointer.

Parameter-Liste

sourcefp

A valid file handle. The file is streamed through the parser.

destfp

The destination file handle in which the encoded data will be written.

encoding

One of the character encodings supported by the mbstring module.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 mailparse_stream_encode() example

<?php

// email.eml contents: hello, this is some text=hello.
$fp = fopen('email.eml', 'r');

$dest = tmpfile();

mailparse_stream_encode($fp, $dest, "quoted-printable");

rewind($dest);

// Display new file contents
fpassthru($dest);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

hello, this is some text=3Dhello.

mailparse_rfc822_parse_addresses
mailparse_uudecode_all
Mailparse Funktionen


Scans the data from fp and extract each embedded uuencoded file

mailparse_stream_encode
vpopmail
Mailparse Funktionen
PHP Manual

mailparse_uudecode_all

(PECL mailparse >= 0.9.0)

mailparse_uudecode_all — Scans the data from fp and extract each embedded uuencoded file

Beschreibung

array mailparse_uudecode_all ( resource $fp )

Scans the data from the given file pointer and extract each embedded uuencoded file into a temporary file.

Parameter-Liste

fp

A valid file pointer.

Rückgabewerte

Returns an array of associative arrays listing filename information.

filename | Path to the temporary file name created
origfilename | The original filename, for uuencoded parts only
The first filename entry is the message body. The next entries are the decoded uuencoded files.

Beispiele

Beispiel #1 mailparse_uudecode_all() example

<?php

$text = <<<EOD
To: fred@example.com

hello, this is some text hello.
blah blah blah.

begin 644 test.txt
/=&AI<R!I<R!A('1E<W0*
`
end

EOD;

$fp = tmpfile();
fwrite($fp, $text);

$data = mailparse_uudecode_all($fp);

echo "BODY\n";
readfile($data[0]["filename"]);
echo "UUE ({$data[1]['origfilename']})\n";
readfile($data[1]["filename"]);

// Clean up
unlink($data[0]["filename"]);
unlink($data[1]["filename"]);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

BODY
To: fred@example.com

hello, this is some text hello.
blah blah blah.

UUE (test.txt)
this is a test

mailparse_stream_encode
vpopmail
Mailparse Funktionen


vpopmail

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • vpopmail Funktionen
    • vpopmail_add_alias_domain_ex — Add alias to an existing virtual domain
    • vpopmail_add_alias_domain — Add an alias for a virtual domain
    • vpopmail_add_domain_ex — Add a new virtual domain
    • vpopmail_add_domain — Add a new virtual domain
    • vpopmail_add_user — Add a new user to the specified virtual domain
    • vpopmail_alias_add — Insert a virtual alias
    • vpopmail_alias_del_domain — Deletes all virtual aliases of a domain
    • vpopmail_alias_del — Deletes all virtual aliases of a user
    • vpopmail_alias_get_all — Get all lines of an alias for a domain
    • vpopmail_alias_get — Get all lines of an alias for a domain
    • vpopmail_auth_user — Attempt to validate a username/domain/password
    • vpopmail_del_domain_ex — Delete a virtual domain
    • vpopmail_del_domain — Delete a virtual domain
    • vpopmail_del_user — Delete a user from a virtual domain
    • vpopmail_error — Get text message for last vpopmail error
    • vpopmail_passwd — Change a virtual user's password
    • vpopmail_set_user_quota — Sets a virtual user's quota
mailparse_uudecode_all
Einführung
E-Mail-relevante Erweiterungen


Einführung

Warnung

Diese Erweiterung ist EXPERIMENTELL. Das Verhalten dieser Erweiterung, einschließlich der Funktionsnamen, und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Erweiterung auf eigenes Risiko.

This extension has been moved from PHP as of PHP 4.3.0 and now vpopmail lives in » PECL.

vpopmail
Installation/Konfiguration
vpopmail


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
vpopmail


Installation

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/vpopmail.

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
vpopmail Funktionen
vpopmail


vpopmail Funktionen

Inhaltsverzeichnis

  • vpopmail_add_alias_domain_ex — Add alias to an existing virtual domain
  • vpopmail_add_alias_domain — Add an alias for a virtual domain
  • vpopmail_add_domain_ex — Add a new virtual domain
  • vpopmail_add_domain — Add a new virtual domain
  • vpopmail_add_user — Add a new user to the specified virtual domain
  • vpopmail_alias_add — Insert a virtual alias
  • vpopmail_alias_del_domain — Deletes all virtual aliases of a domain
  • vpopmail_alias_del — Deletes all virtual aliases of a user
  • vpopmail_alias_get_all — Get all lines of an alias for a domain
  • vpopmail_alias_get — Get all lines of an alias for a domain
  • vpopmail_auth_user — Attempt to validate a username/domain/password
  • vpopmail_del_domain_ex — Delete a virtual domain
  • vpopmail_del_domain — Delete a virtual domain
  • vpopmail_del_user — Delete a user from a virtual domain
  • vpopmail_error — Get text message for last vpopmail error
  • vpopmail_passwd — Change a virtual user's password
  • vpopmail_set_user_quota — Sets a virtual user's quota
Vordefinierte Konstanten
vpopmail_add_alias_domain_ex
vpopmail


Add alias to an existing virtual domain

vpopmail Funktionen
vpopmail_add_alias_domain
vpopmail Funktionen
PHP Manual

vpopmail_add_alias_domain_ex

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_add_alias_domain_ex — Add alias to an existing virtual domain

Beschreibung

bool vpopmail_add_alias_domain_ex ( string $olddomain , string $newdomain )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

vpopmail Funktionen
vpopmail_add_alias_domain
vpopmail Funktionen


Add an alias for a virtual domain

vpopmail_add_alias_domain_ex
vpopmail_add_domain_ex
vpopmail Funktionen
PHP Manual

vpopmail_add_alias_domain

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_add_alias_domain — Add an alias for a virtual domain

Beschreibung

bool vpopmail_add_alias_domain ( string $domain , string $aliasdomain )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

vpopmail_add_alias_domain_ex
vpopmail_add_domain_ex
vpopmail Funktionen


Add a new virtual domain

vpopmail_add_alias_domain
vpopmail_add_domain
vpopmail Funktionen
PHP Manual

vpopmail_add_domain_ex

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_add_domain_ex — Add a new virtual domain

Beschreibung

bool vpopmail_add_domain_ex ( string $domain , string $passwd [, string $quota [, string $bounce [, bool $apop ]]] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

vpopmail_add_alias_domain
vpopmail_add_domain
vpopmail Funktionen


Add a new virtual domain

vpopmail_add_domain_ex
vpopmail_add_user
vpopmail Funktionen
PHP Manual

vpopmail_add_domain

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_add_domain — Add a new virtual domain

Beschreibung

bool vpopmail_add_domain ( string $domain , string $dir , int $uid , int $gid )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

vpopmail_add_domain_ex
vpopmail_add_user
vpopmail Funktionen


Add a new user to the specified virtual domain

vpopmail_add_domain
vpopmail_alias_add
vpopmail Funktionen
PHP Manual

vpopmail_add_user

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_add_user — Add a new user to the specified virtual domain

Beschreibung

bool vpopmail_add_user ( string $user , string $domain , string $password [, string $gecos [, bool $apop ]] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

vpopmail_add_domain
vpopmail_alias_add
vpopmail Funktionen


Insert a virtual alias

vpopmail_add_user
vpopmail_alias_del_domain
vpopmail Funktionen
PHP Manual

vpopmail_alias_add

(PHP 4 >= 4.0.7, PECL vpopmail >= 0.2)

vpopmail_alias_add — Insert a virtual alias

Beschreibung

bool vpopmail_alias_add ( string $user , string $domain , string $alias )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

vpopmail_add_user
vpopmail_alias_del_domain
vpopmail Funktionen


Deletes all virtual aliases of a domain

vpopmail_alias_add
vpopmail_alias_del
vpopmail Funktionen
PHP Manual

vpopmail_alias_del_domain

(PHP 4 >= 4.0.7, PECL vpopmail >= 0.2)

vpopmail_alias_del_domain — Deletes all virtual aliases of a domain

Beschreibung

bool vpopmail_alias_del_domain ( string $domain )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

vpopmail_alias_add
vpopmail_alias_del
vpopmail Funktionen


Deletes all virtual aliases of a user

vpopmail_alias_del_domain
vpopmail_alias_get_all
vpopmail Funktionen
PHP Manual

vpopmail_alias_del

(PHP 4 >= 4.0.7, PECL vpopmail >= 0.2)

vpopmail_alias_del — Deletes all virtual aliases of a user

Beschreibung

bool vpopmail_alias_del ( string $user , string $domain )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

vpopmail_alias_del_domain
vpopmail_alias_get_all
vpopmail Funktionen


Get all lines of an alias for a domain

vpopmail_alias_del
vpopmail_alias_get
vpopmail Funktionen
PHP Manual

vpopmail_alias_get_all

(PHP 4 >= 4.0.7, PECL vpopmail >= 0.2)

vpopmail_alias_get_all — Get all lines of an alias for a domain

Beschreibung

array vpopmail_alias_get_all ( string $domain )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

vpopmail_alias_del
vpopmail_alias_get
vpopmail Funktionen


Get all lines of an alias for a domain

vpopmail_alias_get_all
vpopmail_auth_user
vpopmail Funktionen
PHP Manual

vpopmail_alias_get

(PHP 4 >= 4.0.7, PECL vpopmail >= 0.2)

vpopmail_alias_get — Get all lines of an alias for a domain

Beschreibung

array vpopmail_alias_get ( string $alias , string $domain )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

vpopmail_alias_get_all
vpopmail_auth_user
vpopmail Funktionen


Attempt to validate a username/domain/password

vpopmail_alias_get
vpopmail_del_domain_ex
vpopmail Funktionen
PHP Manual

vpopmail_auth_user

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_auth_user — Attempt to validate a username/domain/password

Beschreibung

bool vpopmail_auth_user ( string $user , string $domain , string $password [, string $apop ] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

vpopmail_alias_get
vpopmail_del_domain_ex
vpopmail Funktionen


Delete a virtual domain

vpopmail_auth_user
vpopmail_del_domain
vpopmail Funktionen
PHP Manual

vpopmail_del_domain_ex

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_del_domain_ex — Delete a virtual domain

Beschreibung

bool vpopmail_del_domain_ex ( string $domain )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

vpopmail_auth_user
vpopmail_del_domain
vpopmail Funktionen


Delete a virtual domain

vpopmail_del_domain_ex
vpopmail_del_user
vpopmail Funktionen
PHP Manual

vpopmail_del_domain

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_del_domain — Delete a virtual domain

Beschreibung

bool vpopmail_del_domain ( string $domain )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

vpopmail_del_domain_ex
vpopmail_del_user
vpopmail Funktionen


Delete a user from a virtual domain

vpopmail_del_domain
vpopmail_error
vpopmail Funktionen
PHP Manual

vpopmail_del_user

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_del_user — Delete a user from a virtual domain

Beschreibung

bool vpopmail_del_user ( string $user , string $domain )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

vpopmail_del_domain
vpopmail_error
vpopmail Funktionen


Get text message for last vpopmail error

vpopmail_del_user
vpopmail_passwd
vpopmail Funktionen
PHP Manual

vpopmail_error

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_error — Get text message for last vpopmail error

Beschreibung

string vpopmail_error ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

vpopmail_del_user
vpopmail_passwd
vpopmail Funktionen


Change a virtual user's password

vpopmail_error
vpopmail_set_user_quota
vpopmail Funktionen
PHP Manual

vpopmail_passwd

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_passwd — Change a virtual user's password

Beschreibung

bool vpopmail_passwd ( string $user , string $domain , string $password [, bool $apop ] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

vpopmail_error
vpopmail_set_user_quota
vpopmail Funktionen


Sets a virtual user's quota

vpopmail_passwd
Mathematische Erweiterungen
vpopmail Funktionen
PHP Manual

vpopmail_set_user_quota

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_set_user_quota — Sets a virtual user's quota

Beschreibung

bool vpopmail_set_user_quota ( string $user , string $domain , string $quota )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

vpopmail_passwd
Mathematische Erweiterungen
vpopmail Funktionen


Mathematische Erweiterungen

  • BC Math — BCMath Rechnen mit beliebiger Genauigkeit
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • BC Math Funktionen
  • GMP — GNU Multiple Precision
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • GMP Funktionen
    • GMP — The GMP class
  • Lapack
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Lapack — The Lapack class
    • LapackException — The LapackException class
  • Mathe — Mathematische Funktionen
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Mathematische Funktionen
  • Statistics
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Statistic Funktionen
  • Trader — Technical Analysis for Traders
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Trader Funktionen
vpopmail_set_user_quota
BC Math
Funktionsreferenz


BCMath Rechnen mit beliebiger Genauigkeit

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • BC Math Funktionen
    • bcadd — Addition zweier Zahlen beliebiger Genauigkeit
    • bccomp — Vergleich zweier Zahlen beliebiger Genauigkeit
    • bcdiv — Division zweier Zahlen beliebiger Genauigkeit
    • bcmod — Modulo zweier Zahlen mit beliebiger Genauigkeit
    • bcmul — Multiplikation zweier Zahlen beliebiger Genauigkeit
    • bcpow — Potenz einer Zahl beliebiger Genauigkeit
    • bcpowmod — Potenz einer Zahl beliebiger Genauigkeit, vermindert um ein angegebenen Modulo
    • bcscale — Setzt die Genauigkeit aller BCmath-Funktionen
    • bcsqrt — Ermittelt die Quadratwurzel einer Zahl beliebiger Genauigkeit
    • bcsub — Subtrahiert zwei Zahlen beliebiger Genauigkeit
Mathematische Erweiterungen
Einführung
Mathematische Erweiterungen


Einführung

Für beliebig genaue mathematische Operationen bietet PHP den Binary Calculator, der Zahlen von beliebiger Länge und Genauigkeit mit bis zu 2147483647-1 (oder 0x7FFFFFFF-1) Stellen, die als String vorliegen, unterstützt.

BC Math
Installation/Konfiguration
BC Math


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
BC Math


Anforderungen

Seit PHP 4.0.4 ist libbcmath in PHP enthalten. Sie brauchen keine externen Bibliotheken für diese Erweiterung.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese Funktionen sind nur verfügbar, wenn PHP mit --enable-bcmath konfiguriert wurde.

Die Windowsversion von PHP enthält diese Erweiterung. Um diese Funktionen zu verwenden, müssen Sie keine zusätzlichen Erweiterungen aktivieren.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

BC math Konfigurations-Optionen
Name | Standard | Veränderbar | Changelog
bcmath.scale | "0" | PHP_INI_ALL |
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

bcmath.scale integer

Anzahl der Dezimalstellen für alle bcmath Funktionen. Siehe auch bcscale().

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
BC Math Funktionen
BC Math


BC Math Funktionen

Inhaltsverzeichnis

  • bcadd — Addition zweier Zahlen beliebiger Genauigkeit
  • bccomp — Vergleich zweier Zahlen beliebiger Genauigkeit
  • bcdiv — Division zweier Zahlen beliebiger Genauigkeit
  • bcmod — Modulo zweier Zahlen mit beliebiger Genauigkeit
  • bcmul — Multiplikation zweier Zahlen beliebiger Genauigkeit
  • bcpow — Potenz einer Zahl beliebiger Genauigkeit
  • bcpowmod — Potenz einer Zahl beliebiger Genauigkeit, vermindert um ein angegebenen Modulo
  • bcscale — Setzt die Genauigkeit aller BCmath-Funktionen
  • bcsqrt — Ermittelt die Quadratwurzel einer Zahl beliebiger Genauigkeit
  • bcsub — Subtrahiert zwei Zahlen beliebiger Genauigkeit
Vordefinierte Konstanten
bcadd
BC Math


Addition zweier Zahlen beliebiger Genauigkeit

BC Math Funktionen
bccomp
BC Math Funktionen
PHP Manual

bcadd

(PHP 4, PHP 5, PHP 7)

bcadd — Addition zweier Zahlen beliebiger Genauigkeit

Beschreibung

string bcadd ( string $left_operand , string $right_operand [, int $scale = 0 ] )

Addiert den left_operand (linken Operanden) zum right_operand (rechten Operanden).

Parameter-Liste

left_operand

Der linke Operand in Stringform.

right_operand

Der rechte Operand in Stringform.

scale

Dieser optionale Parameter kann benutzt werden, um die Anzahl der Nachkommastellen im Ergebnis festzulegen. Sie können mit Hilfe der bcscale()-Funktion auch einen globalen Vorgabewert für alle Funktionen festlegen.

Rückgabewerte

Die Summe beider Operanden in Stringform.

Beispiele

Beispiel #1 bcadd()-Beispiel

<?php

$a = '1.234';
$b = '5';

echo bcadd($a, $b);     // 6
echo bcadd($a, $b, 4);  // 6.2340

?>

Siehe auch

  • bcsub() - Subtrahiert zwei Zahlen beliebiger Genauigkeit

BC Math Funktionen
bccomp
BC Math Funktionen


Vergleich zweier Zahlen beliebiger Genauigkeit

bcadd
bcdiv
BC Math Funktionen
PHP Manual

bccomp

(PHP 4, PHP 5, PHP 7)

bccomp — Vergleich zweier Zahlen beliebiger Genauigkeit

Beschreibung

int bccomp ( string $left_operand , string $right_operand [, int $scale = 0 ] )

Vergleicht den left_operand mit dem right_operand und gibt das Ergebnis als Integer-Wert zurück.

Parameter-Liste

left_operand

Der linke Operand in Stringform.

right_operand

Der rechte Operand in Stringform.

scale

Der optionale scale-Parameter wird verwendet, um die Anzahl der Dezimalstellen nach dem Komma anzugeben, die für den Vergleich herangezogen werden sollen.

Rückgabewerte

Gibt 0 zurück, wenn beide Operatoren gleich sind, 1, wenn left_operand größer ist als right_operand, und andernfalls -1.

Beispiele

Beispiel #1 bccomp()-Beispiel

<?php

echo bccomp('1', '2') . "\n";   // -1
echo bccomp('1.00001', '1', 3); // 0
echo bccomp('1.00001', '1', 5); // 1

?>
bcadd
bcdiv
BC Math Funktionen


Division zweier Zahlen beliebiger Genauigkeit

bccomp
bcmod
BC Math Funktionen
PHP Manual

bcdiv

(PHP 4, PHP 5, PHP 7)

bcdiv — Division zweier Zahlen beliebiger Genauigkeit

Beschreibung

string bcdiv ( string $left_operand , string $right_operand [, int $scale = 0 ] )

Dividiert left_operand durch right_operand.

Parameter-Liste

left_operand

Der linke Operand in Stringform.

right_operand

Der rechte Operand in Stringform.

scale

Dieser optionale Parameter kann benutzt werden, um die Anzahl der Nachkommastellen im Ergebnis festzulegen. Sie können mit Hilfe der bcscale()-Funktion auch einen globalen Vorgabewert für alle Funktionen festlegen.

Rückgabewerte

Gibt das Ergebnis der Division als String zurück. Wenn der Parameter right_operand 0 ist, wird NULL zurückgegeben.

Beispiele

Beispiel #1 bcdiv()-Beispiel

<?php

echo bcdiv('105', '6.55957', 3);  // 16.007

?>

Siehe auch

  • bcmul() - Multiplikation zweier Zahlen beliebiger Genauigkeit

bccomp
bcmod
BC Math Funktionen


Modulo zweier Zahlen mit beliebiger Genauigkeit

bcdiv
bcmul
BC Math Funktionen
PHP Manual

bcmod

(PHP 4, PHP 5, PHP 7)

bcmod — Modulo zweier Zahlen mit beliebiger Genauigkeit

Beschreibung

string bcmod ( string $left_operand , string $modulus )

Liefert den Modulo des left_operand unter Verwendung von modulus.

Parameter-Liste

left_operand

Der linke Operand in Stringform.

modulus

Der Modulo-Wert in Stringform.

Rückgabewerte

Gibt den Modulo als String zurück. Ist modulus 0, wird NULL zurückgegeben.

Beispiele

Beispiel #1 bcmod()-Beispiel

<?php
echo bcmod('4', '2'); // 0
echo bcmod('2', '4'); // 2
?>

Siehe auch

  • bcdiv() - Division zweier Zahlen beliebiger Genauigkeit

bcdiv
bcmul
BC Math Funktionen


Multiplikation zweier Zahlen beliebiger Genauigkeit

bcmod
bcpow
BC Math Funktionen
PHP Manual

bcmul

(PHP 4, PHP 5, PHP 7)

bcmul — Multiplikation zweier Zahlen beliebiger Genauigkeit

Beschreibung

string bcmul ( string $left_operand , string $right_operand [, int $scale = 0 ] )

Multipliziert left_operand mit right_operand.

Parameter-Liste

left_operand

Der linke Operand in Stringform.

right_operand

Der rechte Operand in Stringform.

scale

Dieser optionale Parameter kann benutzt werden, um die Anzahl der Nachkommastellen im Ergebnis festzulegen. Sie können mit Hilfe der bcscale()-Funktion auch einen globalen Vorgabewert für alle Funktionen festlegen.

Rückgabewerte

Gibt das Ergebnis als String zurück.

Beispiele

Beispiel #1 bcmul()-Beispiel

<?php
echo bcmul('1.34747474747', '35', 3); // 47.161
echo bcmul('2', '4'); // 8
?>

Siehe auch

  • bcdiv() - Division zweier Zahlen beliebiger Genauigkeit

bcmod
bcpow
BC Math Funktionen


Potenz einer Zahl beliebiger Genauigkeit

bcmul
bcpowmod
BC Math Funktionen
PHP Manual

bcpow

(PHP 4, PHP 5, PHP 7)

bcpow — Potenz einer Zahl beliebiger Genauigkeit

Beschreibung

string bcpow ( string $left_operand , string $right_operand [, int $scale = 0 ] )

Potenziert left_operand mit right_operand.

Parameter-Liste

left_operand

Der linke Operand in Stringform.

right_operand

Der rechte Operand in Stringform.

scale

Dieser optionale Parameter kann benutzt werden, um die Anzahl der Nachkommastellen im Ergebnis festzulegen. Sie können mit Hilfe der bcscale()-Funktion auch einen globalen Vorgabewert für alle Funktionen festlegen.

Rückgabewerte

Gibt das Ergebnis als String zurück.

Beispiele

Beispiel #1 bcpow()-Beispiel

<?php

echo bcpow('4.2', '3', 2); // 74.08

?>

Anmerkungen

Hinweis:

bcpow() kann ein Ergebnis mit weniger Dezimalstellen liefern als der scale Parameter angibt. Das geschieht nur, wenn das Ergebnis nicht die gesamte Genauigkeit benötigt, die durch den scale erlaubt ist. Zum Beispiel:

Beispiel #2 bcpow() Genauigkeitsbeispiel

<?php
echo bcpow('5', '2', 2);     // gibt "25" aus, nicht "25.00"
?>

Siehe auch

  • bcpowmod() - Potenz einer Zahl beliebiger Genauigkeit, vermindert um ein angegebenen Modulo
  • bcsqrt() - Ermittelt die Quadratwurzel einer Zahl beliebiger Genauigkeit

bcmul
bcpowmod
BC Math Funktionen


Potenz einer Zahl beliebiger Genauigkeit, vermindert um ein angegebenen Modulo

bcpow
bcscale
BC Math Funktionen
PHP Manual

bcpowmod

(PHP 5, PHP 7)

bcpowmod — Potenz einer Zahl beliebiger Genauigkeit, vermindert um ein angegebenen Modulo

Beschreibung

string bcpowmod ( string $left_operand , string $right_operand , string $modulus [, int $scale = 0 ] )

Benutzen Sie diese schnelle Exponentialmethode, um left_operand mit right_operand unter Berücksichtigung des Modulo modulus zu potenzieren.

Parameter-Liste

left_operand

Der linke Operand in Stringform.

right_operand

Der rechte Operand in Stringform.

modulus

Modulo in Stringform.

scale

Dieser optionale Parameter kann benutzt werden, um die Anzahl der Nachkommastellen im Ergebnis festzulegen. Sie können mit Hilfe der bcscale()-Funktion auch einen globalen Vorgabewert für alle Funktionen festlegen.

Rückgabewerte

Gibt das Ergebnis als String zurück. Ist modulus 0, wird NULL zurückgegeben.

Anmerkungen

Hinweis:

Da diese Methode mit der Modulo-Operation arbeitet, können nicht-positive Ganzzahlen zu unerwarteten Ergebnissen führen.

Beispiele

Die folgenden zwei Anweisungen sind funktional identisch. Die bcpowmod()-Version ist allerdings schneller und akzeptiert größere Parameter.

<?php
$a = bcpowmod($x, $y, $mod);

$b = bcmod(bcpow($x, $y), $mod);

// $a und $b entsprechen einander.

?>

Siehe auch

  • bcpow() - Potenz einer Zahl beliebiger Genauigkeit
  • bcmod() - Modulo zweier Zahlen mit beliebiger Genauigkeit

bcpow
bcscale
BC Math Funktionen


Setzt die Genauigkeit aller BCmath-Funktionen

bcpowmod
bcsqrt
BC Math Funktionen
PHP Manual

bcscale

(PHP 4, PHP 5, PHP 7)

bcscale — Setzt die Genauigkeit aller BCmath-Funktionen

Beschreibung

bool bcscale ( int $scale )

Diese Funktionen legt die Standard-Genauigkeit aller im Folgenden aufgerufenden BCmath-Funktionen fest, die nicht explizit die Genauigkeit angeben.

Parameter-Liste

scale

Die Genauigkeitsangabe.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 bcscale()-Beispiel

<?php

// Standard-Genauigkeit: 3
bcscale(3);
echo bcdiv('105', '6.55957'); // 16.007

// Die selbe Operation ohne Verwendung von bcscale()
echo bcdiv('105', '6.55957', 3); // 16.007

?>

bcpowmod
bcsqrt
BC Math Funktionen


Ermittelt die Quadratwurzel einer Zahl beliebiger Genauigkeit

bcscale
bcsub
BC Math Funktionen
PHP Manual

bcsqrt

(PHP 4, PHP 5, PHP 7)

bcsqrt — Ermittelt die Quadratwurzel einer Zahl beliebiger Genauigkeit

Beschreibung

string bcsqrt ( string $operand [, int $scale = 0 ] )

Liefert die Quadratwurzel von operand.

Parameter-Liste

operand

Der Operand in Stringform.

scale

Dieser optionale Parameter kann benutzt werden, um die Anzahl der Nachkommastellen im Ergebnis festzulegen. Sie können mit Hilfe der bcscale()-Funktion auch einen globalen Vorgabewert für alle Funktionen festlegen.

Rückgabewerte

Gibt die Quadratwurzel als String zurück. Wenn operand ein negativer Wert ist, wird NULL zurückgegeben.

Beispiele

Beispiel #1 bcsqrt()-Beispiel

<?php

echo bcsqrt('2', 3); // 1.414

?>

Siehe auch

  • bcpow() - Potenz einer Zahl beliebiger Genauigkeit

bcscale
bcsub
BC Math Funktionen


Subtrahiert zwei Zahlen beliebiger Genauigkeit

bcsqrt
GMP
BC Math Funktionen
PHP Manual

bcsub

(PHP 4, PHP 5, PHP 7)

bcsub — Subtrahiert zwei Zahlen beliebiger Genauigkeit

Beschreibung

string bcsub ( string $left_operand , string $right_operand [, int $scale = 0 ] )

Subtrahiert den right_operand vom left_operand.

Parameter-Liste

left_operand

Der linke Operand in Stringform.

right_operand

Der rechte Operand in Stringform.

scale

Dieser optionale Parameter kann benutzt werden, um die Anzahl der Nachkommastellen im Ergebnis festzulegen. Sie können mit Hilfe der bcscale()-Funktion auch einen globalen Vorgabewert für alle Funktionen festlegen.

Rückgabewerte

Das Ergebnis der Subtraktion in Stringform.

Beispiele

Beispiel #1 bcsub()-Beispiel

<?php

$a = '1.234';
$b = '5';

echo bcsub($a, $b);     // -3
echo bcsub($a, $b, 4);  // -3.7660

?>

Siehe auch

  • bcadd() - Addition zweier Zahlen beliebiger Genauigkeit

bcsqrt
GMP
BC Math Funktionen


GNU Multiple Precision

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
  • GMP Funktionen
    • gmp_abs — Absolute value
    • gmp_add — Add numbers
    • gmp_and — Bitwise AND
    • gmp_clrbit — Clear bit
    • gmp_cmp — Compare numbers
    • gmp_com — Calculates one's complement
    • gmp_div_q — Divide numbers
    • gmp_div_qr — Divide numbers and get quotient and remainder
    • gmp_div_r — Remainder of the division of numbers
    • gmp_div — Alias von gmp_div_q
    • gmp_divexact — Exact division of numbers
    • gmp_export — Export to a binary string
    • gmp_fact — Factorial
    • gmp_gcd — Calculate GCD
    • gmp_gcdext — Calculate GCD and multipliers
    • gmp_hamdist — Hamming distance
    • gmp_import — Import from a binary string
    • gmp_init — Create GMP number
    • gmp_intval — Convert GMP number to integer
    • gmp_invert — Inverse by modulo
    • gmp_jacobi — Jacobi symbol
    • gmp_legendre — Legendre symbol
    • gmp_mod — Modulo operation
    • gmp_mul — Multiply numbers
    • gmp_neg — Negate number
    • gmp_nextprime — Find next prime number
    • gmp_or — Bitwise OR
    • gmp_perfect_square — Perfect square check
    • gmp_popcount — Population count
    • gmp_pow — Raise number into power
    • gmp_powm — Raise number into power with modulo
    • gmp_prob_prime — Check if number is "probably prime"
    • gmp_random_bits — Random number
    • gmp_random_range — Random number
    • gmp_random_seed — Sets the RNG seed
    • gmp_random — Random number
    • gmp_root — Take the integer part of nth root
    • gmp_rootrem — Take the integer part and remainder of nth root
    • gmp_scan0 — Scan for 0
    • gmp_scan1 — Scan for 1
    • gmp_setbit — Set bit
    • gmp_sign — Sign of number
    • gmp_sqrt — Calculate square root
    • gmp_sqrtrem — Square root with remainder
    • gmp_strval — Convert GMP number to string
    • gmp_sub — Subtract numbers
    • gmp_testbit — Tests if a bit is set
    • gmp_xor — Bitwise XOR
  • GMP — The GMP class
bcsub
Einführung
Mathematische Erweiterungen


Einführung

Die Funktionen erlauben das Arbeiten mit beliebig großen Integern unter Verwendung der GNU MP-Bibliothek.

Hinweis:

Die meisten GMP-Funktionen akzeptieren GMP-Zahlen als Argumente. Diese werden in dieser Dokumentation als GMP Objekte dargestellt; allerdings ist zu beachten, dass vor PHP 5.6 GMP Zahlen als resource repräsentiert wurden. Die meisten der Funktionen akzeptieren außerdem numerische Angaben und Strings als Argumente, sofern es möglich ist, diese in in Zahlen umzuwandeln. Weiterhin wird geprüft, ob es eine performantere Funktion gibt, die mit den Argumenten (nur Integerwerte) arbeiten kann, und sofern vorhanden diese auch verwendet. Lesen Sie dazu auch die Dokumentation zu gmp_init().

Hinweis:

Von PHP 5.6 an können arithmetische, Bit- und Vergleichs-Operatoren mit den GMP Objekten, die von gmp_init() und anderen GMP Funktionen zurückgegeben werden, verwenden werden.

Warnung

Große Ganzzahlen müssen als Strings angegeben werden; andernfalls wird PHP eine Konvertierung zu Gleitkommazahlen erzwingen, was in einem Genauigkeitsverlust resultiert.

Hinweis: Die Extension ist für Windowsplattformen seit PHP 5.1.0 verfügbar.

GMP
Installation/Konfiguration
GMP


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
GMP


Anforderungen

Die GMP-Bibliothek kann von » http://gmplib.org/#DOWNLOAD heruntergeladen werden. Auf dieser Seite steht zudem das GMP-Manual bereit.

Zumindest GMP Version 2 wird benötigt, um diese Funktionen zu verwenden. Einige Funktionen können aktuellere Versionen der GMP-Bibliothek voraussetzen.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Damit diese Funktionen verfügbar sind, muss PHP mit GMP-Support durch Verwendung der --with-gmp -Option kompiliert werden.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Ressource-Typen

Vor PHP 5.6 operierten die meisten GMP Funktionen auf GMP Zahlen-Ressourcen oder gaben solche züruck.PHP 5.6 und neuer verwenden GMP Objekte statt der GMP Zahlen-Ressourcen.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

GMP_ROUND_ZERO (integer)
GMP_ROUND_PLUSINF (integer)
GMP_ROUND_MINUSINF (integer)
GMP_MSW_FIRST (integer)
GMP_LSW_FIRST (integer)
GMP_LITTLE_ENDIAN (integer)
GMP_BIG_ENDIAN (integer)
GMP_NATIVE_ENDIAN (integer)
GMP_VERSION (string)
Die Version der GMP-Bibliothek
Ressource-Typen
Beispiele
GMP


Beispiele

Beispiel #1 Fakultätsfunktion unter Verwendung von GMP

<?php
function fact($x)
{
    $return = 1;
    for ($i=2; $i < $x; $i++) {
        $return = gmp_mul($return, $i);
    }
    return $return;
}

echo gmp_strval(fact(1000)) . "\n";
?>

Dies berechnet die Fakultät von 1000 sehr schnell (eine wirklich große Zahl).

Vordefinierte Konstanten
GMP Funktionen
GMP


GMP Funktionen

Siehe auch

Weitere mathematische Funktionen finden Sie im Kapitel Mathematische Erweiterungen.

Inhaltsverzeichnis

  • gmp_abs — Absolute value
  • gmp_add — Add numbers
  • gmp_and — Bitwise AND
  • gmp_clrbit — Clear bit
  • gmp_cmp — Compare numbers
  • gmp_com — Calculates one's complement
  • gmp_div_q — Divide numbers
  • gmp_div_qr — Divide numbers and get quotient and remainder
  • gmp_div_r — Remainder of the division of numbers
  • gmp_div — Alias von gmp_div_q
  • gmp_divexact — Exact division of numbers
  • gmp_export — Export to a binary string
  • gmp_fact — Factorial
  • gmp_gcd — Calculate GCD
  • gmp_gcdext — Calculate GCD and multipliers
  • gmp_hamdist — Hamming distance
  • gmp_import — Import from a binary string
  • gmp_init — Create GMP number
  • gmp_intval — Convert GMP number to integer
  • gmp_invert — Inverse by modulo
  • gmp_jacobi — Jacobi symbol
  • gmp_legendre — Legendre symbol
  • gmp_mod — Modulo operation
  • gmp_mul — Multiply numbers
  • gmp_neg — Negate number
  • gmp_nextprime — Find next prime number
  • gmp_or — Bitwise OR
  • gmp_perfect_square — Perfect square check
  • gmp_popcount — Population count
  • gmp_pow — Raise number into power
  • gmp_powm — Raise number into power with modulo
  • gmp_prob_prime — Check if number is "probably prime"
  • gmp_random_bits — Random number
  • gmp_random_range — Random number
  • gmp_random_seed — Sets the RNG seed
  • gmp_random — Random number
  • gmp_root — Take the integer part of nth root
  • gmp_rootrem — Take the integer part and remainder of nth root
  • gmp_scan0 — Scan for 0
  • gmp_scan1 — Scan for 1
  • gmp_setbit — Set bit
  • gmp_sign — Sign of number
  • gmp_sqrt — Calculate square root
  • gmp_sqrtrem — Square root with remainder
  • gmp_strval — Convert GMP number to string
  • gmp_sub — Subtract numbers
  • gmp_testbit — Tests if a bit is set
  • gmp_xor — Bitwise XOR
Beispiele
gmp_abs
GMP


Absolute value

GMP Funktionen
gmp_add
GMP Funktionen
PHP Manual

gmp_abs

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_abs — Absolute value

Beschreibung

GMP gmp_abs ( GMP $a )

Get the absolute value of a number.

Parameter-Liste

a

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

Rückgabewerte

Returns the absolute value of a, as a GMP number.

Beispiele

Beispiel #1 gmp_abs() example

<?php
$abs1 = gmp_abs("274982683358");
$abs2 = gmp_abs("-274982683358");

echo gmp_strval($abs1) . "\n";
echo gmp_strval($abs2) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

274982683358
274982683358

GMP Funktionen
gmp_add
GMP Funktionen


Add numbers

gmp_abs
gmp_and
GMP Funktionen
PHP Manual

gmp_add

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_add — Add numbers

Beschreibung

GMP gmp_add ( GMP $a , GMP $b )

Add two numbers.

Parameter-Liste

a

The first summand (augent).

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

b

The second summand (addend).

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

Rückgabewerte

A GMP number representing the sum of the arguments.

Beispiele

Beispiel #1 gmp_add() example

<?php
$sum = gmp_add("123456789012345", "76543210987655");
echo gmp_strval($sum) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

200000000000000

gmp_abs
gmp_and
GMP Funktionen


Bitwise AND

gmp_add
gmp_clrbit
GMP Funktionen
PHP Manual

gmp_and

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_and — Bitwise AND

Beschreibung

GMP gmp_and ( GMP $a , GMP $b )

Calculates bitwise AND of two GMP numbers.

Parameter-Liste

a

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

b

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

Rückgabewerte

A GMP number representing the bitwise AND comparison.

Beispiele

Beispiel #1 gmp_and() example

<?php
$and1 = gmp_and("0xfffffffff4", "0x4");
$and2 = gmp_and("0xfffffffff4", "0x8");
echo gmp_strval($and1) . "\n";
echo gmp_strval($and2) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

4
0
gmp_add
gmp_clrbit
GMP Funktionen


Clear bit

gmp_and
gmp_cmp
GMP Funktionen
PHP Manual

gmp_clrbit

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_clrbit — Clear bit

Beschreibung

void gmp_clrbit ( GMP $a , int $index )

Clears (sets to 0) bit index in a. The index starts at 0.

Parameter-Liste

a

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

index

The index of the bit to clear. Index 0 represents the least significant bit.

Rückgabewerte

Eine resource für einen GMP-Wert in PHP 5.5 oder vorher, oder ein GMP-Objekt in PHP 5.6 und später.

Beispiele

Beispiel #1 gmp_clrbit() example

<?php
$a = gmp_init("0xff");
gmp_clrbit($a, 0); // index starts at 0, least significant bit
echo gmp_strval($a) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

254

Anmerkungen

Hinweis:

Unlike most of the other GMP functions, gmp_clrbit() must be called with a GMP resource that already exists (using gmp_init() for example). One will not be automatically created.

Siehe auch

  • gmp_setbit() - Set bit
  • gmp_testbit() - Tests if a bit is set

gmp_and
gmp_cmp
GMP Funktionen


Compare numbers

gmp_clrbit
gmp_com
GMP Funktionen
PHP Manual

gmp_cmp

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_cmp — Compare numbers

Beschreibung

int gmp_cmp ( GMP $a , GMP $b )

Compares two numbers.

Parameter-Liste

a

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

b

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

Rückgabewerte

Returns a positive value if a > b, zero if a = b and a negative value if a < b.

Beispiele

Beispiel #1 gmp_cmp() example

<?php
$cmp1 = gmp_cmp("1234", "1000"); // greater than
$cmp2 = gmp_cmp("1000", "1234"); // less than
$cmp3 = gmp_cmp("1234", "1234"); // equal to

echo "$cmp1 $cmp2 $cmp3\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1 -1 0
gmp_clrbit
gmp_com
GMP Funktionen


Calculates one's complement

gmp_cmp
gmp_div_q
GMP Funktionen
PHP Manual

gmp_com

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_com — Calculates one's complement

Beschreibung

GMP gmp_com ( GMP $a )

Returns the one's complement of a.

Parameter-Liste

a

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

Rückgabewerte

Returns the one's complement of a, as a GMP number.

Beispiele

Beispiel #1 gmp_com() example

<?php
$com = gmp_com("1234");
echo gmp_strval($com) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

-1235
gmp_cmp
gmp_div_q
GMP Funktionen


Divide numbers

gmp_com
gmp_div_qr
GMP Funktionen
PHP Manual

gmp_div_q

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_div_q — Divide numbers

Beschreibung

GMP gmp_div_q ( GMP $a , GMP $b [, int $round = GMP_ROUND_ZERO ] )

Divides a by b and returns the integer result.

Parameter-Liste

a

The number being divided.

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

b

The number that a is being divided by.

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

round

The result rounding is defined by the round, which can have the following values:

  • GMP_ROUND_ZERO: The result is truncated towards 0.
  • GMP_ROUND_PLUSINF: The result is rounded towards +infinity.
  • GMP_ROUND_MINUSINF: The result is rounded towards -infinity.

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

Rückgabewerte

Eine resource für einen GMP-Wert in PHP 5.5 oder vorher, oder ein GMP-Objekt in PHP 5.6 und später.

Beispiele

Beispiel #1 gmp_div_q() example

<?php
$div1 = gmp_div_q("100", "5");
echo gmp_strval($div1) . "\n";

$div2 = gmp_div_q("1", "3");
echo gmp_strval($div2) . "\n";

$div3 = gmp_div_q("1", "3", GMP_ROUND_PLUSINF);
echo gmp_strval($div3) . "\n";

$div4 = gmp_div_q("-1", "4", GMP_ROUND_PLUSINF);
echo gmp_strval($div4) . "\n";

$div5 = gmp_div_q("-1", "4", GMP_ROUND_MINUSINF);
echo gmp_strval($div5) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

20
0
1
0
-1

Anmerkungen

Hinweis:

This function can also be called as gmp_div().

Siehe auch

  • gmp_div_r() - Remainder of the division of numbers
  • gmp_div_qr() - Divide numbers and get quotient and remainder

gmp_com
gmp_div_qr
GMP Funktionen


Divide numbers and get quotient and remainder

gmp_div_q
gmp_div_r
GMP Funktionen
PHP Manual

gmp_div_qr

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_div_qr — Divide numbers and get quotient and remainder

Beschreibung

array gmp_div_qr ( GMP $n , GMP $d [, int $round = GMP_ROUND_ZERO ] )

The function divides n by d.

Parameter-Liste

n

The number being divided.

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

d

The number that n is being divided by.

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

round

See the gmp_div_q() function for description of the round argument.

Rückgabewerte

Returns an array, with the first element being [n/d] (the integer result of the division) and the second being (n - [n/d] * d) (the remainder of the division).

Beispiele

Beispiel #1 Division of GMP numbers

<?php
$a = gmp_init("0x41682179fbf5");
$res = gmp_div_qr($a, "0xDEFE75");
printf("Result is: q - %s, r - %s",
       gmp_strval($res[0]), gmp_strval($res[1]));
?>

Siehe auch

  • gmp_div_q() - Divide numbers
  • gmp_div_r() - Remainder of the division of numbers

gmp_div_q
gmp_div_r
GMP Funktionen


Remainder of the division of numbers

gmp_div_qr
gmp_div
GMP Funktionen
PHP Manual

gmp_div_r

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_div_r — Remainder of the division of numbers

Beschreibung

GMP gmp_div_r ( GMP $n , GMP $d [, int $round = GMP_ROUND_ZERO ] )

Calculates remainder of the integer division of n by d. The remainder has the sign of the n argument, if not zero.

Parameter-Liste

n

The number being divided.

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

d

The number that n is being divided by.

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

round

See the gmp_div_q() function for description of the round argument.

Rückgabewerte

The remainder, as a GMP number.

Beispiele

Beispiel #1 gmp_div_r() example

<?php
$div = gmp_div_r("105", "20");
echo gmp_strval($div) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

5

Siehe auch

  • gmp_div_q() - Divide numbers
  • gmp_div_qr() - Divide numbers and get quotient and remainder

gmp_div_qr
gmp_div
GMP Funktionen


Alias von gmp_div_q

gmp_div_r
gmp_divexact
GMP Funktionen
PHP Manual

gmp_div

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_div — Alias von gmp_div_q()

Beschreibung

Diese Funktion ist ein Alias für: gmp_div_q().

gmp_div_r
gmp_divexact
GMP Funktionen


Exact division of numbers

gmp_div
gmp_export
GMP Funktionen
PHP Manual

gmp_divexact

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_divexact — Exact division of numbers

Beschreibung

GMP gmp_divexact ( GMP $n , GMP $d )

Divides n by d, using fast "exact division" algorithm. This function produces correct results only when it is known in advance that d divides n.

Parameter-Liste

n

The number being divided.

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

d

The number that a is being divided by.

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

Rückgabewerte

Eine resource für einen GMP-Wert in PHP 5.5 oder vorher, oder ein GMP-Objekt in PHP 5.6 und später.

Beispiele

Beispiel #1 gmp_divexact() example

<?php
$div1 = gmp_divexact("10", "2");
echo gmp_strval($div1) . "\n";

$div2 = gmp_divexact("10", "3"); // bogus result
echo gmp_strval($div2) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

5
2863311534

gmp_div
gmp_export
GMP Funktionen


Export to a binary string

gmp_divexact
gmp_fact
GMP Funktionen
PHP Manual

gmp_export

(PHP 5 >= 5.6.1, PHP 7)

gmp_export — Export to a binary string

Beschreibung

string gmp_export ( GMP $gmpnumber , integer $word_size , integer $options )

Export a GMP number to a binary string

Parameter-Liste

gmpnumber

The GMP number being exported

word_size

Default value is 1. The number of bytes in each chunk of binary data. This is mainly used in conjunction with the options parameter.

options

Default value is GMP_MSW_FIRST | GMP_NATIVE_ENDIAN.

Rückgabewerte

Returns a stringIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 gmp_export() example

<?php
$number = gmp_init(16705);
echo gmp_export($number) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

AA

gmp_divexact
gmp_fact
GMP Funktionen


Factorial

gmp_export
gmp_gcd
GMP Funktionen
PHP Manual

gmp_fact

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_fact — Factorial

Beschreibung

GMP gmp_fact ( mixed $a )

Calculates factorial (a!) of a.

Parameter-Liste

a

The factorial number.

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

Rückgabewerte

Eine resource für einen GMP-Wert in PHP 5.5 oder vorher, oder ein GMP-Objekt in PHP 5.6 und später.

Beispiele

Beispiel #1 gmp_fact() example

<?php
$fact1 = gmp_fact(5); // 5 * 4 * 3 * 2 * 1
echo gmp_strval($fact1) . "\n";

$fact2 = gmp_fact(50); // 50 * 49 * 48, ... etc
echo gmp_strval($fact2) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

120
30414093201713378043612608166064768844377641568960512000000000000

gmp_export
gmp_gcd
GMP Funktionen


Calculate GCD

gmp_fact
gmp_gcdext
GMP Funktionen
PHP Manual

gmp_gcd

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_gcd — Calculate GCD

Beschreibung

GMP gmp_gcd ( GMP $a , GMP $b )

Calculate greatest common divisor of a and b. The result is always positive even if either of, or both, input operands are negative.

Parameter-Liste

a

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

b

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

Rückgabewerte

A positive GMP number that divides into both a and b.

Beispiele

Beispiel #1 gmp_gcd() example

<?php
$gcd = gmp_gcd("12", "21");
echo gmp_strval($gcd) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

3

gmp_fact
gmp_gcdext
GMP Funktionen


Calculate GCD and multipliers

gmp_gcd
gmp_hamdist
GMP Funktionen
PHP Manual

gmp_gcdext

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_gcdext — Calculate GCD and multipliers

Beschreibung

array gmp_gcdext ( GMP $a , GMP $b )

Calculates g, s, and t, such that a*s + b*t = g = gcd(a,b), where gcd is the greatest common divisor. Returns an array with respective elements g, s and t.

This function can be used to solve linear Diophantine equations in two variables. These are equations that allow only integer solutions and have the form: a*x + b*y = c. For more information, go to the » "Diophantine Equation" page at MathWorld

Parameter-Liste

a

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

b

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

Rückgabewerte

An array of GMP numbers.

Beispiele

Beispiel #1 Solving a linear Diophantine equation

<?php
// Solve the equation a*s + b*t = g
// where a = 12, b = 21, g = gcd(12, 21) = 3
$a = gmp_init(12);
$b = gmp_init(21);
$g = gmp_gcd($a, $b);
$r = gmp_gcdext($a, $b);

$check_gcd = (gmp_strval($g) == gmp_strval($r['g']));
$eq_res = gmp_add(gmp_mul($a, $r['s']), gmp_mul($b, $r['t']));
$check_res = (gmp_strval($g) == gmp_strval($eq_res));

if ($check_gcd && $check_res) {
    $fmt = "Solution: %d*%d + %d*%d = %d\n";
    printf($fmt, gmp_strval($a), gmp_strval($r['s']), gmp_strval($b),
    gmp_strval($r['t']), gmp_strval($r['g']));
} else {
    echo "Error while solving the equation\n";
}

// output: Solution: 12*2 + 21*-1 = 3
?>

gmp_gcd
gmp_hamdist
GMP Funktionen


Hamming distance

gmp_gcdext
gmp_import
GMP Funktionen
PHP Manual

gmp_hamdist

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_hamdist — Hamming distance

Beschreibung

int gmp_hamdist ( GMP $a , GMP $b )

Returns the hamming distance between a and b. Both operands should be non-negative.

Parameter-Liste

a

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

It should be positive.

b

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

It should be positive.

Rückgabewerte

Eine resource für einen GMP-Wert in PHP 5.5 oder vorher, oder ein GMP-Objekt in PHP 5.6 und später.

Beispiele

Beispiel #1 gmp_hamdist() example

<?php
$ham1 = gmp_init("1001010011", 2);
$ham2 = gmp_init("1011111100", 2);
echo gmp_hamdist($ham1, $ham2) . "\n";

/* hamdist is equivalent to: */
echo gmp_popcount(gmp_xor($ham1, $ham2)) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

6
6

Siehe auch

  • gmp_popcount() - Population count
  • gmp_xor() - Bitwise XOR

gmp_gcdext
gmp_import
GMP Funktionen


Import from a binary string

gmp_hamdist
gmp_init
GMP Funktionen
PHP Manual

gmp_import

(PHP 5 >= 5.6.1, PHP 7)

gmp_import — Import from a binary string

Beschreibung

GMP gmp_import ( string $data , integer $word_size , integer $options )

Import a GMP number from a binary string

Parameter-Liste

data

The binary string being imported

word_size

Default value is 1. The number of bytes in each chunk of binary data. This is mainly used in conjunction with the options parameter.

options

Default value is GMP_MSW_FIRST | GMP_NATIVE_ENDIAN.

Rückgabewerte

Returns a GMP numberIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 gmp_import() example

<?php
$number = gmp_import("\0");
echo gmp_strval($number) . "\n";

$number = gmp_import("\0\1\2");
echo gmp_strval($number) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

0
258

gmp_hamdist
gmp_init
GMP Funktionen


Create GMP number

gmp_import
gmp_intval
GMP Funktionen
PHP Manual

gmp_init

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_init — Create GMP number

Beschreibung

GMP gmp_init ( mixed $number [, int $base = 0 ] )

Creates a GMP number from an integer or string.

Parameter-Liste

number

An integer or a string. The string representation can be decimal, hexadecimal or octal.

base

The base.

The base may vary from 2 to 36. If base is 0 (default value), the actual base is determined from the leading characters: if the first two characters are 0x or 0X, hexadecimal is assumed, otherwise if the first character is "0", octal is assumed, otherwise decimal is assumed.

Rückgabewerte

Eine resource für einen GMP-Wert in PHP 5.5 oder vorher, oder ein GMP-Objekt in PHP 5.6 und später.

Changelog

Version | Beschreibung
5.3.2 | The base was extended from 2 to 36, to 2 to 62 and -2 to -36.

Anmerkungen

Hinweis:

To use the extended base introduced in PHP 5.3.2, then PHP must be compiled against GMP 4.2.0 or greater.

Beispiele

Beispiel #1 Creating GMP number

<?php
$a = gmp_init(123456);
$b = gmp_init("0xFFFFDEBACDFEDF7200");
?>

Anmerkungen

Hinweis:

It is not necessary to call this function in order to use integers or strings in place of GMP numbers in GMP functions (such as with gmp_add()). Function arguments are automatically converted to GMP numbers, if such conversion is possible and needed, using the same rules as gmp_init().

gmp_import
gmp_intval
GMP Funktionen


Convert GMP number to integer

gmp_init
gmp_invert
GMP Funktionen
PHP Manual

gmp_intval

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_intval — Convert GMP number to integer

Beschreibung

int gmp_intval ( GMP $gmpnumber )

This function converts GMP number into native PHP integers.

Parameter-Liste

gmpnumber

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

Rückgabewerte

The integer value of gmpnumber.

Beispiele

Beispiel #1 gmp_intval() example

<?php
// displays correct result
echo gmp_intval("2147483647") . "\n";

// displays wrong result, above PHP integer limit
echo gmp_intval("2147483648") . "\n";

// displays correct result
echo gmp_strval("2147483648") . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

2147483647
2147483647
2147483648

Anmerkungen

Warnung

This function returns a useful result only if the number actually fits the PHP integer (i.e., signed long type). To simply print the GMP number, use gmp_strval().

gmp_init
gmp_invert
GMP Funktionen


Inverse by modulo

gmp_intval
gmp_jacobi
GMP Funktionen
PHP Manual

gmp_invert

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_invert — Inverse by modulo

Beschreibung

GMP gmp_invert ( GMP $a , GMP $b )

Computes the inverse of a modulo b.

Parameter-Liste

a

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

b

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

Rückgabewerte

A GMP number on success or FALSE if an inverse does not exist.

Beispiele

Beispiel #1 gmp_invert() example

<?php
echo gmp_invert("5", "10"); // no inverse, outputs nothing, result is FALSE
$invert = gmp_invert("5", "11");
echo gmp_strval($invert) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

9

gmp_intval
gmp_jacobi
GMP Funktionen


Jacobi symbol

gmp_invert
gmp_legendre
GMP Funktionen
PHP Manual

gmp_jacobi

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_jacobi — Jacobi symbol

Beschreibung

int gmp_jacobi ( GMP $a , GMP $p )

Computes » Jacobi symbol of a and p. p should be odd and must be positive.

Parameter-Liste

a

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

p

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

Should be odd and must be positive.

Rückgabewerte

Eine resource für einen GMP-Wert in PHP 5.5 oder vorher, oder ein GMP-Objekt in PHP 5.6 und später.

Beispiele

Beispiel #1 gmp_jacobi() example

<?php
echo gmp_jacobi("1", "3") . "\n";
echo gmp_jacobi("2", "3") . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1
0

gmp_invert
gmp_legendre
GMP Funktionen


Legendre symbol

gmp_jacobi
gmp_mod
GMP Funktionen
PHP Manual

gmp_legendre

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_legendre — Legendre symbol

Beschreibung

int gmp_legendre ( GMP $a , GMP $p )

Compute the » Legendre symbol of a and p. p should be odd and must be positive.

Parameter-Liste

a

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

p

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

Should be odd and must be positive.

Rückgabewerte

Eine resource für einen GMP-Wert in PHP 5.5 oder vorher, oder ein GMP-Objekt in PHP 5.6 und später.

Beispiele

Beispiel #1 gmp_legendre() example

<?php
echo gmp_legendre("1", "3") . "\n";
echo gmp_legendre("2", "3") . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1
0

gmp_jacobi
gmp_mod
GMP Funktionen


Modulo operation

gmp_legendre
gmp_mul
GMP Funktionen
PHP Manual

gmp_mod

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_mod — Modulo operation

Beschreibung

GMP gmp_mod ( GMP $n , GMP $d )

Calculates n modulo d. The result is always non-negative, the sign of d is ignored.

Parameter-Liste

n

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

d

The modulo that is being evaluated.

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

Rückgabewerte

Eine resource für einen GMP-Wert in PHP 5.5 oder vorher, oder ein GMP-Objekt in PHP 5.6 und später.

Beispiele

Beispiel #1 gmp_mod() example

<?php
$mod = gmp_mod("8", "3");
echo gmp_strval($mod) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

2

gmp_legendre
gmp_mul
GMP Funktionen


Multiply numbers

gmp_mod
gmp_neg
GMP Funktionen
PHP Manual

gmp_mul

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_mul — Multiply numbers

Beschreibung

GMP gmp_mul ( GMP $a , GMP $b )

Multiplies a by b and returns the result.

Parameter-Liste

a

A number that will be multiplied by b.

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

b

A number that will be multiplied by a.

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

Rückgabewerte

Eine resource für einen GMP-Wert in PHP 5.5 oder vorher, oder ein GMP-Objekt in PHP 5.6 und später.

Beispiele

Beispiel #1 gmp_mul() example

<?php
$mul = gmp_mul("12345678", "2000");
echo gmp_strval($mul) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

24691356000

gmp_mod
gmp_neg
GMP Funktionen


Negate number

gmp_mul
gmp_nextprime
GMP Funktionen
PHP Manual

gmp_neg

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_neg — Negate number

Beschreibung

GMP gmp_neg ( GMP $a )

Returns the negative value of a number.

Parameter-Liste

a

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

Rückgabewerte

Returns -a, as a GMP number.

Beispiele

Beispiel #1 gmp_neg() example

<?php
$neg1 = gmp_neg("1");
echo gmp_strval($neg1) . "\n";
$neg2 = gmp_neg("-1");
echo gmp_strval($neg2) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

-1
1

gmp_mul
gmp_nextprime
GMP Funktionen


Find next prime number

gmp_neg
gmp_or
GMP Funktionen
PHP Manual

gmp_nextprime

(PHP 5 >= 5.2.0, PHP 7)

gmp_nextprime — Find next prime number

Beschreibung

GMP gmp_nextprime ( int $a )

Find next prime number

Parameter-Liste

a

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

Rückgabewerte

Return the next prime number greater than a, as a GMP number.

Beispiele

Beispiel #1 gmp_nextprime() example

<?php
$prime1 = gmp_nextprime(10); // next prime number greater than 10
$prime2 = gmp_nextprime(-1000); // next prime number greater than -1000

echo gmp_strval($prime1) . "\n";
echo gmp_strval($prime2) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

11
-997

Anmerkungen

Hinweis:

This function uses a probabilistic algorithm to identify primes and chances to get a composite number are extremely small.

gmp_neg
gmp_or
GMP Funktionen


Bitwise OR

gmp_nextprime
gmp_perfect_square
GMP Funktionen
PHP Manual

gmp_or

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_or — Bitwise OR

Beschreibung

GMP gmp_or ( GMP $a , GMP $b )

Calculates bitwise inclusive OR of two GMP numbers.

Parameter-Liste

a

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

b

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

Rückgabewerte

Eine resource für einen GMP-Wert in PHP 5.5 oder vorher, oder ein GMP-Objekt in PHP 5.6 und später.

Beispiele

Beispiel #1 gmp_or() example

<?php
$or1 = gmp_or("0xfffffff2", "4");
echo gmp_strval($or1, 16) . "\n";
$or2 = gmp_or("0xfffffff2", "2");
echo gmp_strval($or2, 16) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

fffffff6
fffffff2

gmp_nextprime
gmp_perfect_square
GMP Funktionen


Perfect square check

gmp_or
gmp_popcount
GMP Funktionen
PHP Manual

gmp_perfect_square

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_perfect_square — Perfect square check

Beschreibung

bool gmp_perfect_square ( GMP $a )

Check if a number is a perfect square.

Parameter-Liste

a

The number being checked as a perfect square.

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

Rückgabewerte

Returns TRUE if a is a perfect square, FALSE otherwise.

Beispiele

Beispiel #1 gmp_perfect_square() example

<?php
// 3 * 3, perfect square
var_dump(gmp_perfect_square("9"));

// not a perfect square
var_dump(gmp_perfect_square("7"));

// 1234567890 * 1234567890, perfect square
var_dump(gmp_perfect_square("1524157875019052100"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(false)
bool(true)

Siehe auch

  • gmp_sqrt() - Calculate square root
  • gmp_sqrtrem() - Square root with remainder

gmp_or
gmp_popcount
GMP Funktionen


Population count

gmp_perfect_square
gmp_pow
GMP Funktionen
PHP Manual

gmp_popcount

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_popcount — Population count

Beschreibung

int gmp_popcount ( GMP $a )

Get the population count.

Parameter-Liste

a

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

Rückgabewerte

The population count of a, as an integer.

Beispiele

Beispiel #1 gmp_popcount() example

<?php
$pop1 = gmp_init("10000101", 2); // 3 1's
echo gmp_popcount($pop1) . "\n";
$pop2 = gmp_init("11111110", 2); // 7 1's
echo gmp_popcount($pop2) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

3
7

gmp_perfect_square
gmp_pow
GMP Funktionen


Raise number into power

gmp_popcount
gmp_powm
GMP Funktionen
PHP Manual

gmp_pow

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_pow — Raise number into power

Beschreibung

GMP gmp_pow ( GMP $base , int $exp )

Raise base into power exp.

Parameter-Liste

base

The base number.

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

exp

The positive power to raise the base.

Rückgabewerte

The new (raised) number, as a GMP number. The case of 0^0 yields 1.

Beispiele

Beispiel #1 gmp_pow() example

<?php
$pow1 = gmp_pow("2", 31);
echo gmp_strval($pow1) . "\n";
$pow2 = gmp_pow("0", 0);
echo gmp_strval($pow2) . "\n";
$pow3 = gmp_pow("2", -1); // Negative exp, generates warning
echo gmp_strval($pow3) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

2147483648
1

gmp_popcount
gmp_powm
GMP Funktionen


Raise number into power with modulo

gmp_pow
gmp_prob_prime
GMP Funktionen
PHP Manual

gmp_powm

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_powm — Raise number into power with modulo

Beschreibung

GMP gmp_powm ( GMP $base , GMP $exp , GMP $mod )

Calculate (base raised into power exp) modulo mod. If exp is negative, result is undefined.

Parameter-Liste

base

The base number.

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

exp

The positive power to raise the base.

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

mod

The modulo.

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

Rückgabewerte

The new (raised) number, as a GMP number.

Beispiele

Beispiel #1 gmp_powm() example

<?php
$pow1 = gmp_powm("2", "31", "2147483649");
echo gmp_strval($pow1) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

2147483648

gmp_pow
gmp_prob_prime
GMP Funktionen


Check if number is "probably prime"

gmp_powm
gmp_random_bits
GMP Funktionen
PHP Manual

gmp_prob_prime

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_prob_prime — Check if number is "probably prime"

Beschreibung

int gmp_prob_prime ( GMP $a [, int $reps = 10 ] )

The function uses Miller-Rabin's probabilistic test to check if a number is a prime.

Parameter-Liste

a

The number being checked as a prime.

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

reps

Reasonable values of reps vary from 5 to 10 (default being 10); a higher value lowers the probability for a non-prime to pass as a "probable" prime.

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

Rückgabewerte

If this function returns 0, a is definitely not prime. If it returns 1, then a is "probably" prime. If it returns 2, then a is surely prime.

Beispiele

Beispiel #1 gmp_prob_prime() example

<?php
// definitely not a prime
echo gmp_prob_prime("6") . "\n";

// probably a prime
echo gmp_prob_prime("1111111111111111111") . "\n";

// definitely a prime
echo gmp_prob_prime("11") . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

0
1
2

gmp_powm
gmp_random_bits
GMP Funktionen


Random number

gmp_prob_prime
gmp_random_range
GMP Funktionen
PHP Manual

gmp_random_bits

(PHP 5 >= 5.6.3, PHP 7)

gmp_random_bits — Random number

Beschreibung

GMP gmp_random_bits ( integer $bits )

Generate a random number. The number will be between 0 and (2 ** bits) - 1.

bits must greater than 0, and the maximum value is restricted by available memory.

Parameter-Liste

bits

The number of bits.

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

Rückgabewerte

A random GMP number.

Beispiele

Beispiel #1 gmp_random_bits() example

<?php
$rand1 = gmp_random_bits(3); // random number from 0 to 7
$rand2 = gmp_random_bits(5); // random number from 0 to 31

echo gmp_strval($rand1) . "\n";
echo gmp_strval($rand2) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

3
15

gmp_prob_prime
gmp_random_range
GMP Funktionen


Random number

gmp_random_bits
gmp_random_seed
GMP Funktionen
PHP Manual

gmp_random_range

(PHP 5 >= 5.6.3, PHP 7)

gmp_random_range — Random number

Beschreibung

GMP gmp_random_range ( GMP $min , GMP $max )

Generate a random number. The number will be between min and max.

min and max can both be negative but min must always be less than max.

Parameter-Liste

min

A GMP number representing the lower bound for the random number

max

A GMP number representing the upper bound for the random number

Rückgabewerte

A random GMP number.

Beispiele

Beispiel #1 gmp_random_range() example

<?php
$rand1 = gmp_random_range(0, 100);    // random number between 0 and 100
$rand2 = gmp_random_range(-100, -10); // random number between -100 and -10

echo gmp_strval($rand1) . "\n";
echo gmp_strval($rand2) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

42
-67

gmp_random_bits
gmp_random_seed
GMP Funktionen


Sets the RNG seed

gmp_random_range
gmp_random
GMP Funktionen
PHP Manual

gmp_random_seed

(PHP 7)

gmp_random_seed — Sets the RNG seed

Beschreibung

mixed gmp_random_seed ( mixed $seed )

Parameter-Liste

seed

The seed to be set for the gmp_random(), gmp_random_bits(), and gmp_random_range() functions.

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

Rückgabewerte

Returns NULL on success.

Fehler/Exceptions

Issues an E_WARNING and returns FALSE if seed is not valid.

Beispiele

Beispiel #1 gmp_random_seed() example

<?php
// set the seed
gmp_random_seed(100);

var_dump(gmp_strval(gmp_random(1)));

// set the seed to something else
gmp_random_seed(gmp_init(-100));

var_dump(gmp_strval(gmp_random_bits(10)));

// set the seed to something invalid
var_dump(gmp_random_seed('not a number'));

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(20) "15370156633245019617"
string(3) "683"

Warning: gmp_random_seed(): Unable to convert variable to GMP - string is not an integer in %s on line %d
bool(false)

Siehe auch

  • gmp_init() - Create GMP number
  • gmp_random() - Random number
  • gmp_random_bits() - Random number
  • gmp_random_range() - Random number
gmp_random_range
gmp_random
GMP Funktionen


Random number

gmp_random_seed
gmp_root
GMP Funktionen
PHP Manual

gmp_random

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_random — Random number

Beschreibung

GMP gmp_random ([ int $limiter = 20 ] )

Generate a random number. The number will be between zero and the number of bits per limb multiplied by limiter. If limiter is negative, negative numbers are generated.

A limb is an internal GMP mechanism. The number of bits in a limb is not static, and can vary from system to system. Generally, the number of bits in a limb is either 16 or 32, but this is not guaranteed.

Parameter-Liste

limiter

The limiter.

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

Rückgabewerte

A random GMP number.

Beispiele

Beispiel #1 gmp_random() example

<?php
$rand1 = gmp_random(1); // random number from 0 to 1 * bits per limb
$rand2 = gmp_random(2); // random number from 0 to 2 * bits per limb

echo gmp_strval($rand1) . "\n";
echo gmp_strval($rand2) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1915834968
8642564075890328087

gmp_random_seed
gmp_root
GMP Funktionen


Take the integer part of nth root

gmp_random
gmp_rootrem
GMP Funktionen
PHP Manual

gmp_root

(PHP 5 >= 5.6.0, PHP 7)

gmp_root — Take the integer part of nth root

Beschreibung

GMP gmp_root ( GMP $a , int $nth )

Takes the nth root of a and returns the integer component of the result.

Parameter-Liste

a

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

nth

The positive root to take of a.

Rückgabewerte

The integer component of the resultant root, as a GMP number.

gmp_random
gmp_rootrem
GMP Funktionen


Take the integer part and remainder of nth root

gmp_root
gmp_scan0
GMP Funktionen
PHP Manual

gmp_rootrem

(PHP 5 >= 5.6.0, PHP 7)

gmp_rootrem — Take the integer part and remainder of nth root

Beschreibung

array gmp_rootrem ( GMP $a , int $nth )

Takes the nth root of a and returns the integer component and remainder of the result.

Parameter-Liste

a

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

nth

The positive root to take of a.

Rückgabewerte

A two element array, where the first element is the integer component of the root, and the second element is the remainder, both represented as GMP numbers.

gmp_root
gmp_scan0
GMP Funktionen


Scan for 0

gmp_rootrem
gmp_scan1
GMP Funktionen
PHP Manual

gmp_scan0

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_scan0 — Scan for 0

Beschreibung

int gmp_scan0 ( GMP $a , int $start )

Scans a, starting with bit start, towards more significant bits, until the first clear bit is found.

Parameter-Liste

a

The number to scan.

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

start

The starting bit.

Rückgabewerte

Returns the index of the found bit, as an integer. The index starts from 0.

Beispiele

Beispiel #1 gmp_scan0() example

<?php
// "0" bit is found at position 3. index starts at 0
$s1 = gmp_init("10111", 2);
echo gmp_scan0($s1, 0) . "\n";

// "0" bit is found at position 7. index starts at 5
$s2 = gmp_init("101110000", 2);
echo gmp_scan0($s2, 5) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

3
7

gmp_rootrem
gmp_scan1
GMP Funktionen


Scan for 1

gmp_scan0
gmp_setbit
GMP Funktionen
PHP Manual

gmp_scan1

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_scan1 — Scan for 1

Beschreibung

int gmp_scan1 ( GMP $a , int $start )

Scans a, starting with bit start, towards more significant bits, until the first set bit is found.

Parameter-Liste

a

The number to scan.

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

start

The starting bit.

Rückgabewerte

Returns the index of the found bit, as an integer. If no set bit is found, -1 is returned.

Beispiele

Beispiel #1 gmp_scan1() example

<?php
// "1" bit is found at position 3. index starts at 0
$s1 = gmp_init("01000", 2);
echo gmp_scan1($s1, 0) . "\n";

// "1" bit is found at position 9. index starts at 5
$s2 = gmp_init("01000001111", 2);
echo gmp_scan1($s2, 5) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

3
9

gmp_scan0
gmp_setbit
GMP Funktionen


Set bit

gmp_scan1
gmp_sign
GMP Funktionen
PHP Manual

gmp_setbit

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_setbit — Set bit

Beschreibung

void gmp_setbit ( GMP &$a , int $index [, bool $bit_on = true ] )

Sets bit index in a.

Parameter-Liste

a

The value to modify.

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

index

The index of the bit to set. Index 0 represents the least significant bit.

bit_on

True to set the bit (set it to 1/on); false to clear the bit (set it to 0/off).

Rückgabewerte

Eine resource für einen GMP-Wert in PHP 5.5 oder vorher, oder ein GMP-Objekt in PHP 5.6 und später.

Beispiele

Beispiel #1 gmp_setbit() example - 0 index

<?php
$a = gmp_init("2"); //
echo gmp_strval($a), ' -> 0b', gmp_strval($a, 2), "\n";
gmp_setbit($a, 0); // 0b10 now becomes 0b11
echo gmp_strval($a), ' -> 0b', gmp_strval($a, 2), "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

2 -> 0b10
3 -> 0b11

Beispiel #2 gmp_setbit() example - 1 index

<?php
$a = gmp_init("0xfd");
echo gmp_strval($a), ' -> 0b', gmp_strval($a, 2), "\n";
gmp_setbit($a, 1); // index starts at 0
echo gmp_strval($a), ' -> 0b', gmp_strval($a, 2), "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

253 -> 0b11111101
255 -> 0b11111111

Beispiel #3 gmp_setbit() example - clearing a bit

<?php
$a = gmp_init("0xff");
echo gmp_strval($a), ' -> 0b', gmp_strval($a, 2), "\n";
gmp_setbit($a, 0, false); // clear bit at index 0
echo gmp_strval($a), ' -> 0b', gmp_strval($a, 2), "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

255 -> 0b11111111
254 -> 0b11111110

Anmerkungen

Hinweis:

Unlike most of the other GMP functions, gmp_setbit() must be called with a GMP resource that already exists (using gmp_init() for example). One will not be automatically created.

Siehe auch

  • gmp_clrbit() - Clear bit
  • gmp_testbit() - Tests if a bit is set

gmp_scan1
gmp_sign
GMP Funktionen


Sign of number

gmp_setbit
gmp_sqrt
GMP Funktionen
PHP Manual

gmp_sign

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_sign — Sign of number

Beschreibung

int gmp_sign ( GMP $a )

Checks the sign of a number.

Parameter-Liste

a

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

Rückgabewerte

Returns 1 if a is positive, -1 if a is negative, and 0 if a is zero.

Beispiele

Beispiel #1 gmp_sign() example

<?php
// positive
echo gmp_sign("500") . "\n";

// negative
echo gmp_sign("-500") . "\n";

// zero
echo gmp_sign("0") . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1
-1
0

Siehe auch

  • gmp_abs() - Absolute value
  • abs() - Absolutwert bzw. Betrag

gmp_setbit
gmp_sqrt
GMP Funktionen


Calculate square root

gmp_sign
gmp_sqrtrem
GMP Funktionen
PHP Manual

gmp_sqrt

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_sqrt — Calculate square root

Beschreibung

GMP gmp_sqrt ( GMP $a )

Calculates square root of a.

Parameter-Liste

a

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

Rückgabewerte

The integer portion of the square root, as a GMP number.

Beispiele

Beispiel #1 gmp_sqrt() example

<?php
$sqrt1 = gmp_sqrt("9");
$sqrt2 = gmp_sqrt("7");
$sqrt3 = gmp_sqrt("1524157875019052100");

echo gmp_strval($sqrt1) . "\n";
echo gmp_strval($sqrt2) . "\n";
echo gmp_strval($sqrt3) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

3
2
1234567890

gmp_sign
gmp_sqrtrem
GMP Funktionen


Square root with remainder

gmp_sqrt
gmp_strval
GMP Funktionen
PHP Manual

gmp_sqrtrem

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_sqrtrem — Square root with remainder

Beschreibung

array gmp_sqrtrem ( GMP $a )

Calculate the square root of a number, with remainder.

Parameter-Liste

a

The number being square rooted.

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

Rückgabewerte

Returns array where first element is the integer square root of a and the second is the remainder (i.e., the difference between a and the first element squared).

Beispiele

Beispiel #1 gmp_sqrtrem() example

<?php
list($sqrt1, $sqrt1rem) = gmp_sqrtrem("9");
list($sqrt2, $sqrt2rem) = gmp_sqrtrem("7");
list($sqrt3, $sqrt3rem) = gmp_sqrtrem("1048576");

echo gmp_strval($sqrt1) . ", " . gmp_strval($sqrt1rem) . "\n";
echo gmp_strval($sqrt2) . ", " . gmp_strval($sqrt2rem) . "\n";
echo gmp_strval($sqrt3) . ", " . gmp_strval($sqrt3rem) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

3, 0
2, 3
1024, 0

gmp_sqrt
gmp_strval
GMP Funktionen


Convert GMP number to string

gmp_sqrtrem
gmp_sub
GMP Funktionen
PHP Manual

gmp_strval

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_strval — Convert GMP number to string

Beschreibung

string gmp_strval ( GMP $gmpnumber [, int $base = 10 ] )

Convert GMP number to string representation in base base. The default base is 10.

Parameter-Liste

gmpnumber

The GMP number that will be converted to a string.

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

base

The base of the returned number. The default base is 10. Allowed values for the base are from 2 to 62 and -2 to -36.

Rückgabewerte

The number, as a string.

Changelog

Version | Beschreibung
5.3.2 | The base was extended from 2 to 36, to 2 to 62 and -2 to -36.

Anmerkungen

Hinweis:

To use the extended base introduced in PHP 5.3.2, then PHP must be compiled against GMP 4.2.0 or greater.

Beispiele

Beispiel #1 Converting a GMP number to a string

<?php
$a = gmp_init("0x41682179fbf5");
printf("Decimal: %s, 36-based: %s", gmp_strval($a), gmp_strval($a,36));
?>

gmp_sqrtrem
gmp_sub
GMP Funktionen


Subtract numbers

gmp_strval
gmp_testbit
GMP Funktionen
PHP Manual

gmp_sub

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_sub — Subtract numbers

Beschreibung

GMP gmp_sub ( GMP $a , GMP $b )

Subtracts b from a and returns the result.

Parameter-Liste

a

The number being subtracted from.

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

b

The number subtracted from a.

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

Rückgabewerte

Eine resource für einen GMP-Wert in PHP 5.5 oder vorher, oder ein GMP-Objekt in PHP 5.6 und später.

Beispiele

Beispiel #1 gmp_sub() example

<?php
$sub = gmp_sub("281474976710656", "4294967296"); // 2^48 - 2^32
echo gmp_strval($sub) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

281470681743360

gmp_strval
gmp_testbit
GMP Funktionen


Tests if a bit is set

gmp_sub
gmp_xor
GMP Funktionen
PHP Manual

gmp_testbit

(PHP 5 >= 5.3.0, PHP 7)

gmp_testbit — Tests if a bit is set

Beschreibung

bool gmp_testbit ( GMP $a , int $index )

Tests if the specified bit is set.

Parameter-Liste

a

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

index

The bit to test

Rückgabewerte

Returns TRUE if the bit is set in resource $a, otherwise FALSE.

Fehler/Exceptions

An E_WARNING level error is issued when index is less than zero, and FALSE is returned.

Beispiele

Beispiel #1 gmp_testbit() example

<?php
$n = gmp_init("1000000");
var_dump(gmp_testbit($n, 1));
gmp_setbit($n, 1);
var_dump(gmp_testbit($n, 1));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(true)

Siehe auch

  • gmp_setbit() - Set bit
  • gmp_clrbit() - Clear bit

gmp_sub
gmp_xor
GMP Funktionen


Bitwise XOR

gmp_testbit
GMP
GMP Funktionen
PHP Manual

gmp_xor

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_xor — Bitwise XOR

Beschreibung

GMP gmp_xor ( GMP $a , GMP $b )

Calculates bitwise exclusive OR (XOR) of two GMP numbers.

Parameter-Liste

a

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

b

Dies kann entweder eine resource für einen GMP-Wert in PHP 5.5 oder voher sein, ein GMP-Objekt in PHP 5.6 und später oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln.

Rückgabewerte

Eine resource für einen GMP-Wert in PHP 5.5 oder vorher, oder ein GMP-Objekt in PHP 5.6 und später.

Beispiele

Beispiel #1 gmp_xor() example

<?php
$xor1 = gmp_init("1101101110011101", 2);
$xor2 = gmp_init("0110011001011001", 2);

$xor3 = gmp_xor($xor1, $xor2);

echo gmp_strval($xor3, 2) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1011110111000100

gmp_testbit
GMP
GMP Funktionen


The GMP class

(PHP 5 >= 5.6.0, PHP 7)

Einführung

A GMP number. These objects support overloaded arithmetic, bitwise and comparison operators.

Hinweis:

No object oriented interface is provided to manipulate GMP objects. Please use the procedural GMP API.

GMP implements Serializable {
}
gmp_xor
Lapack
GMP


Lapack

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Lapack — The Lapack class
    • Lapack::eigenValues — This function returns the eigenvalues for a given square matrix
    • Lapack::identity — Return an identity matrix
    • Lapack::leastSquaresByFactorisation — Calculate the linear least squares solution of a matrix using QR factorisation
    • Lapack::leastSquaresBySVD — Solve the linear least squares problem, using SVD
    • Lapack::pseudoInverse — Calculate the inverse of a matrix
    • Lapack::singularValues — Calculated the singular values of a matrix
    • Lapack::solveLinearEquation — Solve a system of linear equations
  • LapackException — The LapackException class
GMP
Einführung
Mathematische Erweiterungen


Einführung

LAPACK is written in Fortran 90 and provides routines for solving systems of simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue problems, and singular value problems. This extension wraps the LAPACKE C bindings to allow access to several processes exposed by the library. Most functions work with arrays of arrays, representing rectangular matrices in row major order - so a two by two matrix [1 2; 3 4] would be array(array(1, 2), array(3, 4))

Lapack
Installation/Konfiguration
Lapack


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Lapack


Anforderungen

Lapack requires the LAPACK and LAPACKE libraries.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Most distribution LAPACK packages do not include lapacke, so the easiest method is to build from source:

  svn co https://icl.cs.utk.edu/svn/lapack-dev/lapack/trunk lapack
  cd lapack
  mkdir build
  cd build
  cmake -D BUILD_SHARED_LIBS=ON -D LAPACKE=ON ../
  make
  sudo make install
Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
Lapack
Lapack


The Lapack class

(PECL lapack >= 0.1.0)

Einführung

LAPACK is written in Fortran 90 and provides routines for solving systems of simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue problems, and singular value problems. This extension wraps the LAPACKE C bindings to allow access to several processes exposed by the library. Most functions work with arrays of arrays, representing rectangular matrices in row major order - so a two by two matrix [1 2; 3 4] would be array(array(1, 2), array(3, 4)).

All of the functions are called statically, for example $eig = Lapack::eigenvalues($a);

Klassenbeschreibung

Lapack {
/* Methoden */
public static array eigenValues ( array $a [, array $left [, array $right ]] )
public static array identity ( int $n )
public static array leastSquaresByFactorisation ( array $a , array $b )
public static array leastSquaresBySVD ( array $a , array $b )
public static array pseudoInverse ( array $a )
public static array singularValues ( array $a )
public static array solveLinearEquation ( array $a , array $b )
}

Inhaltsverzeichnis

  • Lapack::eigenValues — This function returns the eigenvalues for a given square matrix
  • Lapack::identity — Return an identity matrix
  • Lapack::leastSquaresByFactorisation — Calculate the linear least squares solution of a matrix using QR factorisation
  • Lapack::leastSquaresBySVD — Solve the linear least squares problem, using SVD
  • Lapack::pseudoInverse — Calculate the inverse of a matrix
  • Lapack::singularValues — Calculated the singular values of a matrix
  • Lapack::solveLinearEquation — Solve a system of linear equations
Vordefinierte Konstanten
Lapack::eigenValues
Lapack


This function returns the eigenvalues for a given square matrix

Lapack
Lapack::identity
Lapack
PHP Manual

Lapack::eigenValues

(PECL lapack >= 0.1.0)

Lapack::eigenValues — This function returns the eigenvalues for a given square matrix

Beschreibung

public static array Lapack::eigenValues ( array $a [, array $left [, array $right ]] )

Calculate the eigenvalues for a square matrix, and optionally calculate the left and right eigenvectors.

Parameter-Liste

a

The matrix to calculate the eigenvalues for.

left

Optional parameter - if an array is passed here, it will be filled with the left eigenvectors

right

Optional parameter - if an array is passed here, it will be filled with the right eigenvectors

Rückgabewerte

Returns an array of arrays representing the eigenvalues for the array.

Beispiele

Beispiel #1 Using Lapack::eigenValues():

<?php

 $a = array(
     array(-1.01,   0.86,  -4.60,  3.31,  -4.81  ),
     array( 3.98,   0.53,  -7.04,  5.29,   3.55  ),
     array( 3.30,   8.26,  -3.89,  8.20,  -1.51  ),
     array( 4.43,   4.96,  -7.66, -7.33,   6.18  ),
     array( 7.31,  -6.43,  -6.16,  2.47,   5.58  ),
 );

 $result = Lapack::eigenValues($a);

 ?>

Lapack
Lapack::identity
Lapack


Return an identity matrix

Lapack::eigenValues
Lapack::leastSquaresByFactorisation
Lapack
PHP Manual

Lapack::identity

(PECL lapack >= 0.1.0)

Lapack::identity — Return an identity matrix

Beschreibung

public static array Lapack::identity ( int $n )

Return a size n identity matrix

Parameter-Liste

n

The height and width of the identity matrix.

Rückgabewerte

Will return a an array of n arrays, each containing n entries. The diagonals of the matrix will be 1s, the other positions 0.

Lapack::eigenValues
Lapack::leastSquaresByFactorisation
Lapack


Calculate the linear least squares solution of a matrix using QR factorisation

Lapack::identity
Lapack::leastSquaresBySVD
Lapack
PHP Manual

Lapack::leastSquaresByFactorisation

(PECL lapack >= 0.1.0)

Lapack::leastSquaresByFactorisation — Calculate the linear least squares solution of a matrix using QR factorisation

Beschreibung

public static array Lapack::leastSquaresByFactorisation ( array $a , array $b )

Solve the linear least squares problem, find min x in || B - Ax || Returns an array representing x. Expects arrays of arrays, and will return an array of arrays in the dimension B num cols x A num cols. Uses QR or LQ factorisation on matrix A.

Parameter-Liste

a

Matrix A

b

Matrix B

Rückgabewerte

Array of the solution matrix

Beispiele

Beispiel #1 Using Lapack::leastSquaresByFactorisation():

<?php

 $a = array(
     array( 1.44,  -7.84,  -4.39,   4.53),
     array(-9.96,  -0.28,  -3.24,   3.83),
     array(-7.55,   3.24,   6.27,  -6.64),
     array( 8.34,   8.09,   5.28,   2.06),
     array( 7.08,   2.52,   0.74,  -2.47),
     array(-5.45,  -5.70,  -1.19,   4.70),
 );

 $b = array(
     array( 8.58,   9.35),
     array( 8.26,  -4.43),
     array( 8.48,  -0.70),
     array(-5.28,  -0.26),
     array( 5.72,  -7.36),
     array( 8.93,  -2.52),
 );

 $result = Lapack::leastSquaresByFactorisation($a, $b);
 ?>

Lapack::identity
Lapack::leastSquaresBySVD
Lapack


Solve the linear least squares problem, using SVD

Lapack::leastSquaresByFactorisation
Lapack::pseudoInverse
Lapack
PHP Manual

Lapack::leastSquaresBySVD

(PECL lapack >= 0.1.0)

Lapack::leastSquaresBySVD — Solve the linear least squares problem, using SVD

Beschreibung

public static array Lapack::leastSquaresBySVD ( array $a , array $b )

Solve the linear least squares problem, find min x in || B - Ax || Returns an array representing x. Expects arrays of arrays, and will return an array of arrays in the dimension B num cols x A num cols. Uses SVD with a divide and conquer algorithm.

Parameter-Liste

a

Matrix A

b

Matrix B

Rückgabewerte

Returns the solution as an array of arrays.

Beispiele

Beispiel #1 Using Lapack::leastSquaresBySVD():

<?php

  $a = array(
      array( 1.44,  -7.84,  -4.39,   4.53),
      array(-9.96,  -0.28,  -3.24,   3.83),
      array(-7.55,   3.24,   6.27,  -6.64),
      array( 8.34,   8.09,   5.28,   2.06),
      array( 7.08,   2.52,   0.74,  -2.47),
      array(-5.45,  -5.70,  -1.19,   4.70),
  );

  $b = array(
      array( 8.58,   9.35),
      array( 8.26,  -4.43),
      array( 8.48,  -0.70),
      array(-5.28,  -0.26),
      array( 5.72,  -7.36),
      array( 8.93,  -2.52),
  );

  $result = Lapack::leastSquaresBySVD($a, $b);

  ?>

Lapack::leastSquaresByFactorisation
Lapack::pseudoInverse
Lapack


Calculate the inverse of a matrix

Lapack::leastSquaresBySVD
Lapack::singularValues
Lapack
PHP Manual

Lapack::pseudoInverse

(PECL lapack >= 0.1.0)

Lapack::pseudoInverse — Calculate the inverse of a matrix

Beschreibung

public static array Lapack::pseudoInverse ( array $a )

Find the pseudoinverse of a matrix A.

Parameter-Liste

a

Matrix to invert

Rückgabewerte

Inverted matrix (array of arrays).

Beispiele

Beispiel #1 Using Lapack::pseudoInverse():

<?php

   $a = array(
       array( 8, 1, 6 ),
       array( 3, 5, 7 ),
       array( 4, 9, 2 ),
   );

   $result = Lapack::pseudoInverse($a);

   ?>

Lapack::leastSquaresBySVD
Lapack::singularValues
Lapack


Calculated the singular values of a matrix

Lapack::pseudoInverse
Lapack::solveLinearEquation
Lapack
PHP Manual

Lapack::singularValues

(PECL lapack >= 0.1.0)

Lapack::singularValues — Calculated the singular values of a matrix

Beschreibung

public static array Lapack::singularValues ( array $a )

Calculate the singular values of the matrix A.

Parameter-Liste

a

The matrix to calculate the singular values for

Rückgabewerte

The singular values

Beispiele

Beispiel #1 Using Lapack::singularValues():

<?php

    $a = array(
        array( 7.52,  -1.10,  -7.95,  1.08  ),
        array(-0.76,   0.62,   9.34, -7.10  ),
        array( 5.13,   6.62,  -5.66,  0.87  ),
        array(-4.75,   8.52,   5.75,  5.30  ),
        array( 1.33,   4.91,  -5.49, -3.52  ),
        array(-2.40,  -6.77,   2.34,  3.95  ),
    );

    $result = Lapack::singularValues($a);

    ?>

Lapack::pseudoInverse
Lapack::solveLinearEquation
Lapack


Solve a system of linear equations

Lapack::singularValues
LapackException
Lapack
PHP Manual

Lapack::solveLinearEquation

(PECL lapack >= 0.1.0)

Lapack::solveLinearEquation — Solve a system of linear equations

Beschreibung

public static array Lapack::solveLinearEquation ( array $a , array $b )

This function computes the solution to the system of linear equations with a square matrix A and multiple right-hand sides B. Solves A * X = B for multiple B.

Parameter-Liste

a

Square matrix of linear equations

b

Right hand side to be solved for

Rückgabewerte

Matrix X

Beispiele

Beispiel #1 Using Lapack::singularValues():

<?php

    $a = array(
        array( 6.80,  -6.05,  -0.45,   8.32,  -9.67   ),
        array(-2.11,  -3.30,   2.58,   2.71,  -5.14   ),
        array( 5.66,   5.36,  -2.70,   4.35,  -7.26   ),
        array( 5.97,  -4.44,   0.27,  -7.17,   6.08   ),
        array( 8.23,   1.08,   9.04,   2.14,  -6.87   ),
    );

    $b = array(
       array(  4.02,  -1.56,   9.81   ),
       array(  6.19,   4.00,  -4.09   ),
       array( -8.22,  -8.67,  -4.57   ),
       array( -7.57,   1.75,  -8.61   ),
       array( -3.03,   2.86,   8.99   ),
    );

    $result = Lapack::solveLinearEquation($a, $b);

    ?>

Lapack::singularValues
LapackException
Lapack


The LapackException class

(PECL lapack >= 0.1.0)

Einführung

Exception thrown when an error is caught in the LAPACK functions

Klassenbeschreibung

lapackexception extends Exception {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
Lapack::solveLinearEquation
Mathe
Lapack


Mathematische Funktionen

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Mathematische Funktionen
    • abs — Absolutwert bzw. Betrag
    • acos — Arkuskosinus
    • acosh — Areakosinus Hyperbolikus
    • asin — Arkussinus
    • asinh — Areasinus Hyperbolikus
    • atan2 — Arkustangens-Variante mit zwei Parametern
    • atan — Arkustangens
    • atanh — Areatangens Hyperbolikus
    • base_convert — Konvertiert einen numerischen Wert zwischen verschiedenen Zahlensystemen
    • bindec — Umwandlung von binär zu dezimal
    • ceil — Aufrunden
    • cos — Kosinus
    • cosh — Kosinus Hyperbolikus
    • decbin — Dezimal zu Binär Konvertierung
    • dechex — Dezimal zu Hexadezimal Umwandlung
    • decoct — Dezimal zu Oktal Umwandlung
    • deg2rad — Rechnet einen Winkel von Grad in Bogenmaß um
    • exp — Exponentialfunktion
    • expm1 — Exponentialfunktion mit erhöhter Genauigkeit
    • floor — Abrunden
    • fmod — Rest einer Fließkommadivision
    • getrandmax — Liefert die maximale Zufallszahl
    • hexdec — Hexadezimal zu Dezimal Umwandlung
    • hypot — Länge der Hypotenuse eines rechtwinkligen Dreiecks
    • intdiv — Integer division
    • is_finite — Prüft auf einen gültigen endlichen Wert
    • is_infinite — Prüft ob ein Wert unendlich ist
    • is_nan — Prüft ob ein Wert keine Zahl ist
    • lcg_value — Kongruenzgenerator für Pseudozufallszahlen
    • log10 — Dekadischer Logarithmus
    • log1p — Berechent log(1 + number) mit erhöhter Genauigkeit
    • log — Logarithmus
    • max — Maximalwert bestimmen
    • min — Minimalwert bestimmen
    • mt_getrandmax — Zeigt den größtmöglichen Zufallswert an
    • mt_rand — Erzeugt "bessere" Zufallszahlen
    • mt_srand — Setzt den besseren Zufallszahlengenerator
    • octdec — Oktal zu Dezimal Umwandlung
    • pi — Liefert den Wert von Pi
    • pow — Potenzfunktion
    • rad2deg — Umrechnung von Bogenmaß in Grad
    • rand — Erzeugt eine zufällige Zahl
    • round — Rundet einen Fließkommawert
    • sin — Sinus
    • sinh — Sinus Hyperbolikus
    • sqrt — Quadratwurzel
    • srand — Anfangswert für Zufallsgenerator festlegen
    • tan — Tangens
    • tanh — Tangens Hyperbolikus
LapackException
Einführung
Mathematische Erweiterungen


Einführung

Die mathematischen Funktionen behandeln nur Werte im Bereich der Datentypen integer und float der jeweiligen Architektur (dies korrespondiert derzeit mit den C-Typen long respektive double). Wenn Sie größere Zahlen oder Werte mit höherer Genauigkeit benötigen, sollten Sie sich die mathematische Funktionen mit beliebiger Genauigkeit ansehen.

Lesen Sie ebenfalls die Manualseite über Arithmetische Operatoren.

Mathe
Installation/Konfiguration
Mathe


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Mathe


Vordefinierte Konstanten

Die aufgelisteten Konstanten stehen immer zur Verfügung, da sie zum Grundbestand von PHP gehören.

Mathematische Konstanten
Konstante | Wert | Beschreibung | Verfügbarkeit
M_PI | 3.14159265358979323846 | Pi |
M_E | 2.7182818284590452354 | e |
M_LOG2E | 1.4426950408889634074 | log_2 e |
M_LOG10E | 0.43429448190325182765 | log_10 e |
M_LN2 | 0.69314718055994530942 | log_e 2 |
M_LN10 | 2.30258509299404568402 | log_e 10 |
M_PI_2 | 1.57079632679489661923 | pi/2 |
M_PI_4 | 0.78539816339744830962 | pi/4 |
M_1_PI | 0.31830988618379067154 | 1/pi |
M_2_PI | 0.63661977236758134308 | 2/pi |
M_SQRTPI | 1.77245385090551602729 | sqrt(pi) | PHP 5.2.0
M_2_SQRTPI | 1.12837916709551257390 | 2/sqrt(pi) |
M_SQRT2 | 1.41421356237309504880 | sqrt(2) |
M_SQRT3 | 1.73205080756887729352 | sqrt(3) | PHP 5.2.0
M_SQRT1_2 | 0.70710678118654752440 | 1/sqrt(2) |
M_LNPI | 1.14472988584940017414 | log_e(pi) | PHP 5.2.0
M_EULER | 0.57721566490153286061 | Euler-Konstante | PHP 5.2.0
PHP_ROUND_HALF_UP | 1 | n,5 wird aufgerundet | PHP 5.3.0
PHP_ROUND_HALF_DOWN | 2 | n,5 wird abgerundet | PHP 5.3.0
PHP_ROUND_HALF_EVEN | 3 | n,5 wird zur nächsten geraden Zahl gerundet | PHP 5.3.0
PHP_ROUND_HALF_ODD | 4 | n,5 wird zur nächsten ungeraden Zahl gerundet | PHP 5.3.0
NAN | NAN (als Fließkommazahl) | Not A Number (Keine Zahl) |
INF | INF (als Fließkommazahl) | infinite (unendlich) |

Alle Konstanten, die oben ohne PHP-Version angegeben sind, stehen seit PHP 4.0.0 zur Verfügung.

Ressource-Typen
Mathematische Funktionen
Mathe


Mathematische Funktionen

Inhaltsverzeichnis

  • abs — Absolutwert bzw. Betrag
  • acos — Arkuskosinus
  • acosh — Areakosinus Hyperbolikus
  • asin — Arkussinus
  • asinh — Areasinus Hyperbolikus
  • atan2 — Arkustangens-Variante mit zwei Parametern
  • atan — Arkustangens
  • atanh — Areatangens Hyperbolikus
  • base_convert — Konvertiert einen numerischen Wert zwischen verschiedenen Zahlensystemen
  • bindec — Umwandlung von binär zu dezimal
  • ceil — Aufrunden
  • cos — Kosinus
  • cosh — Kosinus Hyperbolikus
  • decbin — Dezimal zu Binär Konvertierung
  • dechex — Dezimal zu Hexadezimal Umwandlung
  • decoct — Dezimal zu Oktal Umwandlung
  • deg2rad — Rechnet einen Winkel von Grad in Bogenmaß um
  • exp — Exponentialfunktion
  • expm1 — Exponentialfunktion mit erhöhter Genauigkeit
  • floor — Abrunden
  • fmod — Rest einer Fließkommadivision
  • getrandmax — Liefert die maximale Zufallszahl
  • hexdec — Hexadezimal zu Dezimal Umwandlung
  • hypot — Länge der Hypotenuse eines rechtwinkligen Dreiecks
  • intdiv — Integer division
  • is_finite — Prüft auf einen gültigen endlichen Wert
  • is_infinite — Prüft ob ein Wert unendlich ist
  • is_nan — Prüft ob ein Wert keine Zahl ist
  • lcg_value — Kongruenzgenerator für Pseudozufallszahlen
  • log10 — Dekadischer Logarithmus
  • log1p — Berechent log(1 + number) mit erhöhter Genauigkeit
  • log — Logarithmus
  • max — Maximalwert bestimmen
  • min — Minimalwert bestimmen
  • mt_getrandmax — Zeigt den größtmöglichen Zufallswert an
  • mt_rand — Erzeugt "bessere" Zufallszahlen
  • mt_srand — Setzt den besseren Zufallszahlengenerator
  • octdec — Oktal zu Dezimal Umwandlung
  • pi — Liefert den Wert von Pi
  • pow — Potenzfunktion
  • rad2deg — Umrechnung von Bogenmaß in Grad
  • rand — Erzeugt eine zufällige Zahl
  • round — Rundet einen Fließkommawert
  • sin — Sinus
  • sinh — Sinus Hyperbolikus
  • sqrt — Quadratwurzel
  • srand — Anfangswert für Zufallsgenerator festlegen
  • tan — Tangens
  • tanh — Tangens Hyperbolikus
Vordefinierte Konstanten
abs
Mathe


Absolutwert bzw. Betrag

Mathematische Funktionen
acos
Mathematische Funktionen
PHP Manual

abs

(PHP 4, PHP 5, PHP 7)

abs — Absolutwert bzw. Betrag

Beschreibung

number abs ( mixed $number )

Liefert den Betrag des Wertes number ohne Vorzeichen.

Parameter-Liste

number

Der zu bearbeitende Wert

Rückgabewerte

Der Betrag des Wertes number. Ist number vom Typ float, so ist auch das Ergebnis von diesem Typ, ansonsten wird das Ergebnis als integer zurückgegeben (da float einen größeren Wertebereich als integer hat).

Beispiele

Beispiel #1 abs()-Beispiel

<?php
$abs = abs(-4.2); // 4.2 (double/float)
$abs2 = abs(5);   // 5 (integer)
$abs3 = abs(-5);  // 5 (integer)
?>

Siehe auch

  • gmp_abs() - Absolute value
  • gmp_sign() - Sign of number

Mathematische Funktionen
acos
Mathematische Funktionen


Arkuskosinus

abs
acosh
Mathematische Funktionen
PHP Manual

acos

(PHP 4, PHP 5, PHP 7)

acos — Arkuskosinus

Beschreibung

float acos ( float $arg )

Berechnet den Arkuskosinus des Parameters arg.
acos() ist die Komplementärfunktion zu
cos(), d.h. innerhalb des Wertebereichs von
acos() gilt a==cos(acos(a)).

Parameter-Liste

arg

Der zu verarbeitende Wert

Rückgabewerte

Der Arkuskosinus von arg in Bogenmaß

Siehe auch

  • cos() - Kosinus
  • acosh() - Areakosinus Hyperbolikus
  • asin() - Arkussinus
  • atan() - Arkustangens

abs
acosh
Mathematische Funktionen


Areakosinus Hyperbolikus

acos
asin
Mathematische Funktionen
PHP Manual

acosh

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

acosh — Areakosinus Hyperbolikus

Beschreibung

float acosh ( float $arg )

Gibt den inversen Kosinus Hyperbolikus von arg zurück, d.h. den Wert dessen Kosinus Hyperbolikus arg ergibt.

Parameter-Liste

arg

Der zu verarbeitende Wert

Rückgabewerte

Der Areakosinus Hyperbolikus von arg

Changelog

Version | Beschreibung
5.3.0 | Die Funktion ist nun auf allen Plattformen verfügbar.

Siehe auch

  • cosh() - Kosinus Hyperbolikus
  • acos() - Arkuskosinus
  • asinh() - Areasinus Hyperbolikus
  • atanh() - Areatangens Hyperbolikus

acos
asin
Mathematische Funktionen


Arkussinus

acosh
asinh
Mathematische Funktionen
PHP Manual

asin

(PHP 4, PHP 5, PHP 7)

asin — Arkussinus

Beschreibung

float asin ( float $arg )

Berechnet den Arkussinus des Parameters arg.
asin() ist die Komplementärfunktion zu
sin(), d.h. innerhalb des Wertebereichs von
asin() gilt a==sin(asin(a)).

Parameter-Liste

arg

Der zu verarbeitende Wert

Rückgabewerte

Der Arkussinus von arg in Bogenmaß

Siehe auch

  • sin() - Sinus
  • asinh() - Areasinus Hyperbolikus
  • acos() - Arkuskosinus
  • atan() - Arkustangens

acosh
asinh
Mathematische Funktionen


Areasinus Hyperbolikus

asin
atan2
Mathematische Funktionen
PHP Manual

asinh

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

asinh — Areasinus Hyperbolikus

Beschreibung

float asinh ( float $arg )

Berechnet den Areasinus Hyperbolikus von arg. Der Areasinus Hyperbolikus ist die Umkehrfunktion des Sinus Hyperbolikus, d.h. asinh(sinh(arg)) = arg.

Parameter-Liste

arg

Der zu verarbeitende Wert

Rückgabewerte

Der Areasinus Hyperbolikus von arg

Changelog

Version | Beschreibung
5.3.0 | Die Funktion ist nun auf allen Plattformen verfügbar.

Siehe auch

  • sinh() - Sinus Hyperbolikus
  • asin() - Arkussinus
  • acosh() - Areakosinus Hyperbolikus
  • atanh() - Areatangens Hyperbolikus

asin
atan2
Mathematische Funktionen


Arkustangens-Variante mit zwei Parametern

asinh
atan
Mathematische Funktionen
PHP Manual

atan2

(PHP 4, PHP 5, PHP 7)

atan2 — Arkustangens-Variante mit zwei Parametern

Beschreibung

float atan2 ( float $y , float $x )

Diese Funktion berechnet den Arkustangens von y/x. Im Gegensatz zu atan() kann sie dabei die Vorzeichen beider Parameter beachten und so den Quadranten des Ergebnisses bestimmen.

Die Funktion gibt das Ergebnis im Bogenmaß zurück, d.h. zwischen -PI und PI (inklusive).

Parameter-Liste

y

Dividend

x

Divisor

Rückgabewerte

Der Arkustangens von y/x in Bogenmaß

Siehe auch

  • atan() - Arkustangens

asinh
atan
Mathematische Funktionen


Arkustangens

atan2
atanh
Mathematische Funktionen
PHP Manual

atan

(PHP 4, PHP 5, PHP 7)

atan — Arkustangens

Beschreibung

float atan ( float $arg )

Berechnet den Arkustangens von arg. atan() ist die Komplementärfunktion zu tan(), d.h. für alle Werte im Wertebereich von atan() gilt a==tan(atan(a)).

Parameter-Liste

arg

Der zu verarbeitende Wert

Rückgabewerte

Der Arkustangens von arg in Bogenmaß.

Siehe auch

  • tan() - Tangens
  • atanh() - Areatangens Hyperbolikus
  • asin() - Arkussinus
  • acos() - Arkuskosinus

atan2
atanh
Mathematische Funktionen


Areatangens Hyperbolikus

atan
base_convert
Mathematische Funktionen
PHP Manual

atanh

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

atanh — Areatangens Hyperbolikus

Beschreibung

float atanh ( float $arg )

Gibt den inversen Tangens Hyperbolikus von arg zurück, d.h. den Wert dessen Tangens Hyperbolikus arg ergibt.

Parameter-Liste

arg

Der zu verarbeitende Wert

Rückgabewerte

Der Areatangens Hyperbolikus von arg

Changelog

Version | Beschreibung
5.3.0 | Die Funktion ist nun auf allen Plattformen verfügbar.

Siehe auch

  • tanh() - Tangens Hyperbolikus
  • atan() - Arkustangens
  • asinh() - Areasinus Hyperbolikus
  • acosh() - Areakosinus Hyperbolikus

atan
base_convert
Mathematische Funktionen


Konvertiert einen numerischen Wert zwischen verschiedenen Zahlensystemen

atanh
bindec
Mathematische Funktionen
PHP Manual

base_convert

(PHP 4, PHP 5, PHP 7)

base_convert — Konvertiert einen numerischen Wert zwischen verschiedenen Zahlensystemen

Beschreibung

string base_convert ( string $number , int $frombase , int $tobase )

base_convert() wandelt einen im Zahlensystem zur Basis frombase codierten numerischen String number in die entsprechende Repräsentation zur Basis tobase um. Sowohl frombase als auch tobase dürfen Werte zwischen 2 und 36 (inklusive) einnehmen. In Zahlensystemen mit einer Basis größer als Zehn werden die Ziffern größer als neun durch die Buchstaben a bis z repräsentiert. A steht dabei für die 'Ziffer' 10, b für 11 und so weiter bis z für 35.

Warnung

base_convert() kann bei großen Werten auf Grund von Eigenschaften der zu Grunde liegenden internen "float"- und "double"-Datentypen die Genauigkeit verschlechtern. Sehen Sie hierzu bitte den Abschnitt Fließkommazahlen in diesem Handbuch für genauere Informationen zu diesem Thema.

Parameter-Liste

number

Die zu konvertierende numerische Zeichenkette

frombase

Die Basis zu der number kodiert ist

tobase

Die Basis zu der number konvertiert werden soll

Rückgabewerte

number konvertiert zur Basis tobase

Beispiele

Beispiel #1 base_convert() Beispiel

<?php
$hexadecimal = 'A37334';
echo base_convert($hexadecimal, 16, 2);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

101000110111001100110100

Siehe auch

  • intval() - Konvertiert einen Wert nach integer

atanh
bindec
Mathematische Funktionen


Umwandlung von binär zu dezimal

base_convert
ceil
Mathematische Funktionen
PHP Manual

bindec

(PHP 4, PHP 5, PHP 7)

bindec — Umwandlung von binär zu dezimal

Beschreibung

number bindec ( string $binary_string )

Gibt die dezimale Entsprechung der binären Zahl aus dem binary_string-Parameter zurück-

bindec() konvertiert eine binäre Zahl in einen integer oder, falls aus Größengründen benötigt, in einen float.

Parameter-Liste

binary_string

Der zu konvertierende Binärstring

Rückgabewerte

Der Dezimalwert von binary_string

Changelog

Version | Beschreibung
Seit 4.1.0 | Die Funktion kann nun Werte, die zu groß für ein integer der jeweiligen Plattform ist, stattdessen als float zurückgeben.

Beispiele

Beispiel #1 bindec()-Beispiel

<?php
echo bindec('110011') . "\n";
echo bindec('000110011') . "\n";

echo bindec('111');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

51
51
7

Siehe auch

  • decbin() - Dezimal zu Binär Konvertierung
  • octdec() - Oktal zu Dezimal Umwandlung
  • hexdec() - Hexadezimal zu Dezimal Umwandlung
  • base_convert() - Konvertiert einen numerischen Wert zwischen verschiedenen Zahlensystemen

base_convert
ceil
Mathematische Funktionen


Aufrunden

bindec
cos
Mathematische Funktionen
PHP Manual

ceil

(PHP 4, PHP 5, PHP 7)

ceil — Aufrunden

Beschreibung

float ceil ( float $value )

Liefert die nächste ganze Zahl, die größer oder gleich dem Parameter value ist.

Parameter-Liste

value

Der aufzurundende Wert

Rückgabewerte

Der aufgerundete Wert. Dieser wird weiterhin als float zurückgegeben, da der Wertebereich von float größer als der von integer ist.

Beispiele

Beispiel #1 ceil()-Beispiel

<?php
echo ceil(4.3);    // 5
echo ceil(9.999);  // 10
echo ceil(-3.14);  // -3
?>

Siehe auch

  • floor() - Abrunden
  • round() - Rundet einen Fließkommawert

bindec
cos
Mathematische Funktionen


Kosinus

ceil
cosh
Mathematische Funktionen
PHP Manual

cos

(PHP 4, PHP 5, PHP 7)

cos — Kosinus

Beschreibung

float cos ( float $arg )

cos() berechnet den Kosinus des Winkels arg.

Parameter-Liste

arg

Ein Winkel in Bogenmaß

Rückgabewerte

Der Kosinus des Winkels arg

Beispiele

Beispiel #1 cos() Beispiel

<?php

echo cos(M_PI); // -1

?>

Siehe auch

  • acos() - Arkuskosinus
  • sin() - Sinus
  • tan() - Tangens
  • deg2rad() - Rechnet einen Winkel von Grad in Bogenmaß um

ceil
cosh
Mathematische Funktionen


Kosinus Hyperbolikus

cos
decbin
Mathematische Funktionen
PHP Manual

cosh

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

cosh — Kosinus Hyperbolikus

Beschreibung

float cosh ( float $arg )

Berechnet den Kosinus Hyperbolikus des Parameters arg welcher definiert ist als (exp(arg) + exp(-arg))/2.

Parameter-Liste

arg

Der zu verarbeitende Wert

Rückgabewerte

Der Kosinus Hyperbolikus von arg

Siehe auch

  • cos() - Kosinus
  • acosh() - Areakosinus Hyperbolikus
  • sinh() - Sinus Hyperbolikus
  • cosh()

cos
decbin
Mathematische Funktionen


Dezimal zu Binär Konvertierung

cosh
dechex
Mathematische Funktionen
PHP Manual

decbin

(PHP 4, PHP 5, PHP 7)

decbin — Dezimal zu Binär Konvertierung

Beschreibung

string decbin ( int $number )

Liefert eine binäre Repräsentation des Parameters number als String. Der größte konvertierbare Wert ist dezimal 4294967295 bzw. eine Kette von 32 einsen im Binärergebnis.

Parameter-Liste

number

Der umzuwandelnde Dezimalwert

Rückgabewerte

Binärrepresentation von number als String.

Beispiele

Beispiel #1 decbin() Beispiel

<?php
echo decbin(12) . "\n";
echo decbin(26);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1100
11010

Siehe auch

  • bindec() - Umwandlung von binär zu dezimal
  • decoct() - Dezimal zu Oktal Umwandlung
  • dechex() - Dezimal zu Hexadezimal Umwandlung
  • base_convert() - Konvertiert einen numerischen Wert zwischen verschiedenen Zahlensystemen

cosh
dechex
Mathematische Funktionen


Dezimal zu Hexadezimal Umwandlung

decbin
decoct
Mathematische Funktionen
PHP Manual

dechex

(PHP 4, PHP 5, PHP 7)

dechex — Dezimal zu Hexadezimal Umwandlung

Beschreibung

string dechex ( int $number )

Konvertiert einen Wert number in eine hexadezimale Stringdarstellung.

Der größte konvertierbare Wert ist PHP_INT_MAX * 2 + 1 (oder -1): auf 32-bit Platformen ist dies 4294967295 in Dezimaldarstellung, was dechex() ffffffff zurück geben lässt.

Parameter-Liste

number

Der umzuwandelnde Wert

Da der Integer-Type von PHP vorzeichenbehaftet ist, aber dechex() nur vorzeichenlose Ganzzahlen kovertiert, werden negative Ganzzahlen behandelt als wären sie vorzeichenlos.

Rückgabewerte

Die hexadezimale Stringdarstellung von number.

Beispiele

Beispiel #1 dechex() Beispiel

<?php
echo dechex(10) . "\n";
echo dechex(47);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

a
2f

Beispiel #2 dechex()-Beispiel mit großen Ganzzahlen

<?php
// Die Ausgaben weiter unten setzen eine 32-bit Plattform voraus.
// Es ist zu beachten, dass die Ausgabe für alle Werte gleich ist.
echo dechex(-1)."\n";
echo dechex(PHP_INT_MAX * 2 + 1)."\n";
echo dechex(pow(2, 32) - 1)."\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

ffffffff
ffffffff
ffffffff

Siehe auch

  • hexdec() - Hexadezimal zu Dezimal Umwandlung
  • decbin() - Dezimal zu Binär Konvertierung
  • decoct() - Dezimal zu Oktal Umwandlung
  • base_convert() - Konvertiert einen numerischen Wert zwischen verschiedenen Zahlensystemen

decbin
decoct
Mathematische Funktionen


Dezimal zu Oktal Umwandlung

dechex
deg2rad
Mathematische Funktionen
PHP Manual

decoct

(PHP 4, PHP 5, PHP 7)

decoct — Dezimal zu Oktal Umwandlung

Beschreibung

string decoct ( int $number )

Konvertiert einen Wert number in eine oktale Stringdarstellung. Der größte konvertierbare Wert ist 4294967295 (dezimal) bzw. "37777777777" (oktal).

Parameter-Liste

number

Der zu konvertierende Wert

Rückgabewerte

Oktale Stringdarstellung von number

Beispiele

Beispiel #1 decoct() Beispiel

<?php
echo decoct(15) . "\n";
echo decoct(264);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

17
410

Siehe auch

  • octdec() - Oktal zu Dezimal Umwandlung
  • decbin() - Dezimal zu Binär Konvertierung
  • dechex() - Dezimal zu Hexadezimal Umwandlung
  • base_convert() - Konvertiert einen numerischen Wert zwischen verschiedenen Zahlensystemen

dechex
deg2rad
Mathematische Funktionen


Rechnet einen Winkel von Grad in Bogenmaß um

decoct
exp
Mathematische Funktionen
PHP Manual

deg2rad

(PHP 4, PHP 5, PHP 7)

deg2rad — Rechnet einen Winkel von Grad in Bogenmaß um

Beschreibung

float deg2rad ( float $number )

Die Funktion rechnet den Wert number in Grad um in den entsprechenden Wert in Bogenmaß.

Parameter-Liste

number

Ein Winkel in Grad

Rückgabewerte

Der equivalente Wert zu number in Bogenmaß

Beispiele

Beispiel #1 deg2rad() Beispiel

<?php

echo deg2rad(45); // 0.785398163397
var_dump(deg2rad(45) === M_PI_4); // bool(true)

?>

Siehe auch

  • rad2deg() - Umrechnung von Bogenmaß in Grad

decoct
exp
Mathematische Funktionen


Exponentialfunktion

deg2rad
expm1
Mathematische Funktionen
PHP Manual

exp

(PHP 4, PHP 5, PHP 7)

exp — Exponentialfunktion

Beschreibung

float exp ( float $arg )

Berechnet e hoch arg.

Hinweis:

'e' ist die Basis des natürlichen Logarithmus (ca. 2,718282).

Parameter-Liste

arg

Der zu verarbeitende Exponent

Rückgabewerte

'e' hoch arg

Beispiele

Beispiel #1 exp() Beispiel

<?php
echo exp(12) . "\n";
echo exp(5.7);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1.6275E+005
298.87

Siehe auch

  • log() - Logarithmus
  • pow() - Potenzfunktion

deg2rad
expm1
Mathematische Funktionen


Exponentialfunktion mit erhöhter Genauigkeit

exp
floor
Mathematische Funktionen
PHP Manual

expm1

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

expm1 — Exponentialfunktion mit erhöhter Genauigkeit

Beschreibung

float expm1 ( float $arg )

expm1() berechnet das Äquivalent zu 'exp(arg) -1' auf eine Weise die auch dann noch genaue Ergebnisse liefert wenn arg sehr klein ist. In solchen Fällen würde exp() auf Grund mangelnder Präzision gerundet eins zurückgeben und das Gesamptergebnis von 'exp(arg) -1' wäre einfach null.

Parameter-Liste

arg

Der zu verarbeitende Wert

Rückgabewerte

'e' hoch arg minus eins

Changelog

Version | Beschreibung
5.3.0 | Die Funktion ist nun auf allen Plattformen verfügbar.

Siehe auch

  • log1p() - Berechent log(1 + number) mit erhöhter Genauigkeit
  • exp() - Exponentialfunktion

exp
floor
Mathematische Funktionen


Abrunden

expm1
fmod
Mathematische Funktionen
PHP Manual

floor

(PHP 4, PHP 5, PHP 7)

floor — Abrunden

Beschreibung

float floor ( float $value )

Liefert die nächste ganze Zahl, die kleiner oder gleich dem Parameter value ist.

Parameter-Liste

value

Der abzurundende Wert

Rückgabewerte

Liefert den abgerundeten Wert zurück. Dieser ist nach wie vor vom Typ float und nicht vom Typ integer wegen des größeren Wertebereichs von float.

Beispiele

Beispiel #1 floor() Beispiel

<?php
echo floor(4.3);   // 4
echo floor(9.999); // 9
echo floor(-3.14); // -4
?>

Siehe auch

  • ceil() - Aufrunden
  • round() - Rundet einen Fließkommawert

expm1
fmod
Mathematische Funktionen


Rest einer Fließkommadivision

floor
getrandmax
Mathematische Funktionen
PHP Manual

fmod

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

fmod — Rest einer Fließkommadivision

Beschreibung

float fmod ( float $x , float $y )

Berechnet den Fließkommarest der Division des Dividenden x durch den Divisor y. Der Rest r ist definiert als 'x = i * y + r' für ein Ganzzahliges Divisionsergebnis i. Ist y ungleich null so hat r das gleiche Vorzeichen wie x und ist kleiner als y.

Parameter-Liste

x

Der Dividend

y

Der Divisor

Rückgabewerte

Der Fließkommarest der Division x/y

Beispiele

Beispiel #1 fmod() Beispiel

<?php
$x = 5.7;
$y = 1.3;
$r = fmod($x, $y);
// $r ist 0.5 weil 4 * 1.3 + 0.5 = 5.7
?>

floor
getrandmax
Mathematische Funktionen


Liefert die maximale Zufallszahl

fmod
hexdec
Mathematische Funktionen
PHP Manual

getrandmax

(PHP 4, PHP 5, PHP 7)

getrandmax — Liefert die maximale Zufallszahl

Beschreibung

int getrandmax ( void )

Liefert den größten Wert den die rand() zurückgeben kann.

Rückgabewerte

Der größtmögliche Rückgabewert der rand() Funktion.

Siehe auch

  • rand() - Erzeugt eine zufällige Zahl
  • srand() - Anfangswert für Zufallsgenerator festlegen
  • mt_getrandmax() - Zeigt den größtmöglichen Zufallswert an

fmod
hexdec
Mathematische Funktionen


Hexadezimal zu Dezimal Umwandlung

getrandmax
hypot
Mathematische Funktionen
PHP Manual

hexdec

(PHP 4, PHP 5, PHP 7)

hexdec — Hexadezimal zu Dezimal Umwandlung

Beschreibung

number hexdec ( string $hex_string )

Wandelt den hexadezimal kodierten Eingabestring hex_string in einen Dezimalwert um.

hexdec() ignoriert alle nicht hexadezimal kodierten Zeichen (0-9 a-f) in hex_string.

Parameter-Liste

hex_string

Der zu konvertierende Hexadezimalstring

Rückgabewerte

Dezimaldarstellung von hex_string

Beispiele

Beispiel #1 hexdec() Beispiel

<?php
var_dump(hexdec("See"));
var_dump(hexdec("ee"));
// both print "int(238)"

var_dump(hexdec("that")); // print "int(10)"
var_dump(hexdec("a0")); // print "int(160)"
?>

Anmerkungen

Hinweis:

Die Funktion kann nun auch Werte umwandeln, die zu groß für den integer Typ der jeweiligen Plattform sind, das Ergebnis wird dann als float zurückgegeben.

Siehe auch

  • dechex() - Dezimal zu Hexadezimal Umwandlung
  • bindec() - Umwandlung von binär zu dezimal
  • octdec() - Oktal zu Dezimal Umwandlung
  • base_convert() - Konvertiert einen numerischen Wert zwischen verschiedenen Zahlensystemen

getrandmax
hypot
Mathematische Funktionen


Länge der Hypotenuse eines rechtwinkligen Dreiecks

hexdec
intdiv
Mathematische Funktionen
PHP Manual

hypot

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

hypot — Länge der Hypotenuse eines rechtwinkligen Dreiecks

Beschreibung

float hypot ( float $x , float $y )

hypot() berechnet die Länge der Hypotenuse eines rechtwinkligen Dreiecks aus den Längen der beiden Katheten bzw. den Abstand eines Punktes (x,y) vom Ursprung. Dies entspricht sqrt(x*x + y*y).

Parameter-Liste

x

Länge der ersten Kathete

y

Länge der zweiten Kathete

Rückgabewerte

Berechnete Länge der Hypotenuse

hexdec
intdiv
Mathematische Funktionen


Integer division

hypot
is_finite
Mathematische Funktionen
PHP Manual

intdiv

(PHP 7)

intdiv — Integer division

Beschreibung

int intdiv ( int $dividend , int $divisor )

Returns the integer quotient of the division of dividend by divisor.

Parameter-Liste

dividend

Number to be divided.

divisor

Number which divides the dividend.

Rückgabewerte

The integer quotient of the division of dividend by divisor.

Fehler/Exceptions

If divisor is 0, a DivisionByZeroError exception is thrown. If the dividend is PHP_INT_MIN and the divisor is -1, then an ArithmeticError exception is thrown.

Beispiele

Beispiel #1 intdiv() example

<?php
var_dump(intdiv(3, 2));
var_dump(intdiv(-3, 2));
var_dump(intdiv(3, -2));
var_dump(intdiv(-3, -2));
var_dump(intdiv(PHP_INT_MAX, PHP_INT_MAX));
var_dump(intdiv(PHP_INT_MIN, PHP_INT_MIN));
var_dump(intdiv(PHP_INT_MIN, -1));
var_dump(intdiv(1, 0));
?>
int(1)
int(-1)
int(-1)
int(1)
int(1)
int(1)

Fatal error: Uncaught ArithmeticError: Division of PHP_INT_MIN by -1 is not an integer in %s on line 8
Fatal error: Uncaught DivisionByZeroError: Division by zero in %s on line 9

Siehe auch

  • / - Floating-point division
  • % - Integer modulus
  • fmod() - Floating-point modulo

hypot
is_finite
Mathematische Funktionen


Prüft auf einen gültigen endlichen Wert

intdiv
is_infinite
Mathematische Funktionen
PHP Manual

is_finite

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

is_finite — Prüft auf einen gültigen endlichen Wert

Beschreibung

bool is_finite ( float $val )

Prüft, ob der übergebene Parameter val ein gültiger endlicher Wert auf der gegebenen Plattform ist.

Parameter-Liste

val

Rückgabewerte

Liefert TRUE falls val ein gültiger endlicher Wert innerhalb des zulässigen Wertebereichs für einen PHP float auf der gegebenen Plattform.

Siehe auch

  • is_infinite() - Prüft ob ein Wert unendlich ist
  • is_nan() - Prüft ob ein Wert keine Zahl ist

intdiv
is_infinite
Mathematische Funktionen


Prüft ob ein Wert unendlich ist

is_finite
is_nan
Mathematische Funktionen
PHP Manual

is_infinite

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

is_infinite — Prüft ob ein Wert unendlich ist

Beschreibung

bool is_infinite ( float $val )

Die Funktion prüft ob ein Wert unendlich, oder besser nicht-endlich ist. Als nicht endlich gelten dabei Ergebnisse von Berechnungen wie log(0) ebenso wie Werte, die schlicht nur zu groß sind, um noch mit dem float Typ der jeweiligen Plattform erfasst zu werden. Es wird dabei nicht zwischen positiv unendlich und negativ unendlich unterschieden.

Parameter-Liste

val

Der zu prüfende Wert

Rückgabewerte

TRUE wenn val nicht endlich ist, sonst FALSE.

Siehe auch

  • is_finite() - Prüft auf einen gültigen endlichen Wert
  • is_nan() - Prüft ob ein Wert keine Zahl ist

is_finite
is_nan
Mathematische Funktionen


Prüft ob ein Wert keine Zahl ist

is_infinite
lcg_value
Mathematische Funktionen
PHP Manual

is_nan

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

is_nan — Prüft ob ein Wert keine Zahl ist

Beschreibung

bool is_nan ( float $val )

Prüft ob der Parameter val keine darstellbare Zahl ist, wie z.B. das Ergebnis von acos(1.01).

Parameter-Liste

val

Der zu prüfende Wert

Rückgabewerte

Liefert TRUE wenn val keine darstellbare Zahl ist, sonst FALSE.

Beispiele

Beispiel #1 is_nan()-Beispiel

<?php
// Undefinierte Berechnung liefert ein NaN-Ergebnis
$nan = acos(8);

var_dump($nan, is_nan($nan));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

float(NAN)
bool(true)

Siehe auch

  • is_finite() - Prüft auf einen gültigen endlichen Wert
  • is_infinite() - Prüft ob ein Wert unendlich ist

is_infinite
lcg_value
Mathematische Funktionen


Kongruenzgenerator für Pseudozufallszahlen

is_nan
log10
Mathematische Funktionen
PHP Manual

lcg_value

(PHP 4, PHP 5, PHP 7)

lcg_value — Kongruenzgenerator für Pseudozufallszahlen

Beschreibung

float lcg_value ( void )

lcg_value() liefert Zufallszahlen zwischen null und eins. Die Funktion kombiniert zwei gesmischte kongruente Kongruenzgeneratoren mit den Perioden 2^31 - 85 und 2^31 - 249, die Periode der von dieser Funktion generierten Pseudozufallsfolge entspricht dem Produkt dieser beiden Primzahlen.

Rückgabewerte

Eine Pseudozufallszahl zwischen null und eins (als float)

Siehe auch

  • rand() - Erzeugt eine zufällige Zahl
  • mt_rand() - Erzeugt "bessere" Zufallszahlen

is_nan
log10
Mathematische Funktionen


Dekadischer Logarithmus

lcg_value
log1p
Mathematische Funktionen
PHP Manual

log10

(PHP 4, PHP 5, PHP 7)

log10 — Dekadischer Logarithmus

Beschreibung

float log10 ( float $arg )

Berechnet den dekadischen Logarithmus von arg, d.h. den Logarithmus zur Basis 10.

Parameter-Liste

arg

Der zu verarbeitende Wert

Rückgabewerte

Der dekadische Logarithmus von arg

Siehe auch

  • log() - Logarithmus

lcg_value
log1p
Mathematische Funktionen


Berechent log(1 + number) mit erhöhter Genauigkeit

log10
log
Mathematische Funktionen
PHP Manual

log1p

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

log1p — Berechent log(1 + number) mit erhöhter Genauigkeit

Beschreibung

float log1p ( float $number )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

log1p() berechnet log(1 + number) auf eine Weise die auch dann noch genaue Ergebnisse liefert wenn der Wert von number nur sehr klein ist. log() liefert in solchen Fällen auf Grund von Rundungsfehlern oft nur den Wert von log(1) und vernachlässigt die Nachkommastellen.

Parameter-Liste

number

Der zu verarbeitende Wert

Rückgabewerte

log(1 + number)

Changelog

Version | Beschreibung
5.3.0 | Die Funktion ist nun auf allen Plattformen verfügbar.

Siehe auch

  • expm1() - Exponentialfunktion mit erhöhter Genauigkeit
  • log() - Logarithmus
  • log10() - Dekadischer Logarithmus

log10
log
Mathematische Funktionen


Logarithmus

log1p
max
Mathematische Funktionen
PHP Manual

log

(PHP 4, PHP 5, PHP 7)

log — Logarithmus

Beschreibung

float log ( float $arg [, float $base = M_E ] )

Berechnet den natürlichen Logarithmus von arg beziehnugsweise den Logarithmus von arg zur Basis base falls der optionale zweite Parameter base gegeben ist.

Parameter-Liste

arg

Der zu verarbeitende Wert

base

Optionale Basis für die Berechnung des Logarithmus, der Vorgabewert ist 'e' für den natürlichen Logarithmus.

Rückgabewerte

Der Logarithmus von arg zur Basis base bzw. der natürliche Logarithmus

Siehe auch

  • log10() - Dekadischer Logarithmus
  • exp() - Exponentialfunktion
  • pow() - Potenzfunktion

log1p
max
Mathematische Funktionen


Maximalwert bestimmen

log
min
Mathematische Funktionen
PHP Manual

max

(PHP 4, PHP 5, PHP 7)

max — Maximalwert bestimmen

Beschreibung

mixed max ( array $values )
mixed max ( mixed $value1 , mixed $value2 [, mixed $... ] )

Ist der erste und einzige Parameter ein Array, gibt max() den höchsten Wert dieses Arrays zurück. Sind mindestens zwei Parameter übergeben, gibt max() den größeren dieser Werte zurück.

Hinweis:

Werte unterschiedlicher Typen werden unter Verwendung der Standard-Vergleichsregeln verglichen. Zum Beispiel wird ein nicht-numerischer String mit einem Integer verglichen als ob er 0 wäre, aber mehrere String-Werte werden alphanumerisch verglichen. Der tatsächlich zurückgegebene Wert ist vom ursprünglichen Typ ohne angewandte Konvertierung.

Parameter-Liste

values

Ein die Werte enthaltendes Array.

value1

Ein vergleichbarer Wert.

value2

Ein vergleichbarer Wert.

...

Ein vergleichbarer Wert.

Rückgabewerte

max() liefert den gemäß den Standard-Vergleichen als "größten" angesehenen Parameter-Wert zurück. Evaluieren mehrere Werte unterschiedlichen Typs als gleich (z.B. 0 und 'abc'), wird der zuerst übergebene zurückgegeben.

Beispiele

Beispiel #1 Verwendungsbeispiel von max()

<?php
echo max(2, 3, 1, 6, 7);  // 7
echo max(array(2, 4, 5)); // 5

// Die Zeichenkette 'hallo' wird wie 0 behandelt, wenn sie mit einem Int verglichen wird
// Da die beiden Werte gleich sind, bestimmt die Reihenfolge der Übergabe das Ergebnis
echo max(0, 'hallo');     // 0
echo max('hallo', 0);     // hallo

// Hier vergleichen wir -1 < 0, so dass 'hallo' der größte Wert ist
echo max('hallo', -1);    // hallo

// Bei mehreren Arrays unterschiedlicher Länge, gibt max das längste zurück
$val = max(array(2, 2, 2), array(1, 1, 1, 1)); // array(1, 1, 1, 1)

// Mehrere Arrays gleicher Länge werden von links nach rechts verglichen,
// daher ist in unserem Beispiel 2 == 2, aber 5 > 4
$val = max(array(2, 4, 8), array(2, 5, 1)); // array(2, 5, 1)

// Sind ein Array und ein Nicht-Array-Parameter gegeben, wird das Array zurückgegeben,
// da Vergleiche Arrays als größer behandeln als alle anderen Werte
$val = max('string', array(2, 5, 7), 42);   // array(2, 5, 7)

// Ist ein Argument NULL oder ein Boole'scher Wert, wird es mit anderen Werten
// unter Verwendung der Regel FALSE < TRUE verglichen, ohne Rücksicht auf die anderen beteiligten Typen
// Im folgenden Beispiel wird -10 im Vergleich wie TRUE behandelt
$val = max(-10, FALSE); // -10

// Andererseits wird 0 wie FALSE behandelt, so dass es "kleiner" ist als TRUE
$val = max(0, TRUE); // TRUE
?>

Siehe auch

  • min() - Minimalwert bestimmen
  • count() - Zählt alle Elemente eines Arrays oder etwas in einem Objekt

log
min
Mathematische Funktionen


Minimalwert bestimmen

max
mt_getrandmax
Mathematische Funktionen
PHP Manual

min

(PHP 4, PHP 5, PHP 7)

min — Minimalwert bestimmen

Beschreibung

mixed min ( array $values )
mixed min ( mixed $value1 , mixed $value2 [, mixed $... ] )

Ist der erste und einzige Parameter ein Array, gibt min() den niedrigsten Wert dieses Arrays zurück. Sind mindestens zwei Parameter übergeben, gibt min() den kleinsten dieser Werte zurück.

Hinweis:

Werte unterschiedlicher Typen werden unter Verwendung der Standard-Vergleichsregeln verglichen. Zum Beispiel wird ein nicht-numerischer String mit einem Integer verglichen als ob er 0 wäre, aber mehrere String-Werte werden alphanumerisch verglichen. Der tatsächlich zurückgegebene Wert ist vom ursprünglichen Typ ohne angewandte Konvertierung.

Parameter-Liste

values

Ein die Werte enthaltendes Array.

value1

Ein vergleichbarer Wert.

value2

Ein vergleichbarer Wert.

...

Ein vergleichbarer Wert.

Rückgabewerte

min() liefert den gemäß den Standard-Vergleichen als "kleinsten" angesehenen Parameter-Wert zurück. Evaluieren mehrere Werte unterschiedlichen Typs als gleich (z.B. 0 und 'abc'), wird der zuerst übergebene zurückgegeben.

Beispiele

Beispiel #1 Verwendungsbeispiel von min()

<?php
echo min(2, 3, 1, 6, 7);  // 1
echo min(array(2, 4, 5)); // 2

// Die Zeichenkette 'hallo' wird wie 0 behandelt, wenn sie mit einem Int verglichen wird
// Da die beiden Werte gleich sind, bestimmt die Reihenfolge der Übergabe das Ergebnis
echo min(0, 'hello');     // 0
echo min('hello', 0);     // hello

// Hier vergleichen wir -1 < 0, so dass -1 der kleinste Wert ist
echo min('hello', -1);    // -1

// Bei mehreren Arrays unterschiedlicher Länge, gibt min das kürzeste zurück
$val = min(array(2, 2, 2), array(1, 1, 1, 1)); // array(2, 2, 2)

// Mehrere Arrays gleicher Länge werden von links nach rechts verglichen,
// daher ist in unserem Beispiel 2 == 2, aber 4 < 5
$val = min(array(2, 4, 8), array(2, 5, 1)); // array(2, 4, 8)

// Sind ein Array und ein Nicht-Array-Parameter gegeben, wird nie das Array zurückgegeben,
// da Vergleiche Arrays als größer behandeln als alle anderen Werte
$val = min('string', array(2, 5, 7), 42);   // string

// Ist ein Argument NULL oder ein Boole'scher Wert, wird es mit anderen Werten
// unter Verwendung der Regel FALSE < TRUE verglichen, ohne Rücksicht auf die anderen beteiligten Typen
// In den folgenden Beispielen wird -10 im Vergleich wie TRUE behandelt
$val = min(-10, FALSE, 10); // FALSE
$val = min(-10, NULL, 10);  // NULL

// Andererseits wird 0 wie FALSE behandelt, so dass es "kleiner" ist als TRUE
$val = min(0, TRUE); // 0
?>

Siehe auch

  • max() - Maximalwert bestimmen
  • count() - Zählt alle Elemente eines Arrays oder etwas in einem Objekt

max
mt_getrandmax
Mathematische Funktionen


Zeigt den größtmöglichen Zufallswert an

min
mt_rand
Mathematische Funktionen
PHP Manual

mt_getrandmax

(PHP 4, PHP 5, PHP 7)

mt_getrandmax — Zeigt den größtmöglichen Zufallswert an

Beschreibung

int mt_getrandmax ( void )

Gibt den größtmöglichen Wert eines Aufrufs von mt_rand() zurück.

Rückgabewerte

Gibt den größtmöglichen Zufallswert zurück, den ein Aufruf von mt_rand() ohne Argumente erzeugen kann, was auch der größtmögliche Wert ist, der für deren max Parameter verwendet werden kann ohne dass das Ergebnis hochskaliert wird (und daher weniger zufällig ist).

Beispiele

Beispiel #1 Berechnung einer zufälligen Gleitkommazahl

<?php
function randomFloat($min = 0, $max = 1) {
    return $min + mt_rand() / mt_getrandmax() * ($max - $min);
}

var_dump(randomFloat());
var_dump(randomFloat(2, 20));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

float(0.91601131712832)
float(16.511210331931)

Siehe auch

  • mt_rand() - Erzeugt "bessere" Zufallszahlen
  • mt_srand() - Setzt den besseren Zufallszahlengenerator
  • getrandmax() - Liefert die maximale Zufallszahl

min
mt_rand
Mathematische Funktionen


Erzeugt "bessere" Zufallszahlen

mt_getrandmax
mt_srand
Mathematische Funktionen
PHP Manual

mt_rand

(PHP 4, PHP 5, PHP 7)

mt_rand — Erzeugt "bessere" Zufallszahlen

Beschreibung

int mt_rand ( void )
int mt_rand ( int $min , int $max )

Viele Zufallszahlengeneratoren, die auf älteren libc-Versionen basieren, haben seltsame oder doch zumindest unerwartete Verhaltensweisen und sind zudem recht langsam. Standardmäßig verwendet PHP den libc-Zufallszahlengenerator mit der Funktion rand(). Die Funktion mt_rand() kann jedoch als vollwertiger Ersatz verwendet werden. Sie verwendet einen Zufallszahlengenerator mit den bekannten Charakteristika der » Mersenne Twister, die Zufallszahlen viermal schneller generiert als der durchschnittliche libc-rand()-Aufruf.

Wenn die Funktion ohne Angabe von min und/oder max aufgerufen, gibt mt_rand() eine Pseudozufallszahl zwischen 0 und mt_getrandmax() zurück. Benötigen Sie zum Beispiel eine Zufallszahl zwischen 5 und 15 (inklusive), verwenden Sie mt_rand(5, 15).

Parameter-Liste

min

Der optionale niedrigste Wert, der zurückgegeben werden kann (Standardwert: 0).

max

Der optionale höchste Wert, der zurückgegeben werden kann (Standardwert: mt_getrandmax()).

Rückgabewerte

Ein zufälliger Integerwert zwischen min (oder 0) und max (oder mt_getrandmax(), inklusive), oder FALSE, wenn max kleiner ist als min.

Changelog

Version | Beschreibung
5.3.4 | Erzeugt eine E_WARNING und gibt FALSE zurück, wenn max < min.

Beispiele

Beispiel #1 mt_rand()-Beispiel

<?php
echo mt_rand() . "\n";
echo mt_rand() . "\n";

echo mt_rand(5, 15);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

1604716014
1478613278
6

Anmerkungen

Achtung

Diese Funktion erzeugt keine kryptographisch sicheren Werte und sollte nicht für kryptographische Zwecke verwendet werden. Wenn kryptographisch sichere Werte benötigt werden, sollten stattdessen die Funktionen random_int(), random_bytes() oder openssl_random_pseudo_bytes() verwendet werden.

Achtung

Wenn max größer als 2^32 ist (auf einem 64-bit System), dann sind die Rückgabewerte von mt_rand() bevorzugt gerade Zahlen, d.h. die Rückgabewerte sind nicht mehr strikt gleichverteilt. Dies kommt daher, dass, wenn max größer ist als der Wert, der von mt_getrandmax() zurückgegeben wird, die Ausgabe des Zufallszahlengenerators hochskaliert werden muss.

Siehe auch

  • mt_srand() - Setzt den besseren Zufallszahlengenerator
  • mt_getrandmax() - Zeigt den größtmöglichen Zufallswert an
  • openssl_random_pseudo_bytes() - Generate a pseudo-random string of bytes
  • rand() - Erzeugt eine zufällige Zahl

mt_getrandmax
mt_srand
Mathematische Funktionen


Setzt den besseren Zufallszahlengenerator

mt_rand
octdec
Mathematische Funktionen
PHP Manual

mt_srand

(PHP 4, PHP 5, PHP 7)

mt_srand — Setzt den besseren Zufallszahlengenerator

Beschreibung

void mt_srand ([ int $seed ] )

Setzt den Zufallszahlengenerator mit seed oder mit einem Zufallswert, wenn seed nicht angegeben ist.

Hinweis: Es besteht keine Notwendigkeit, den Zufallsgenerator für Zahlen mit srand() oder mt_srand() zu füttern, das geschieht automatisch.

Parameter-Liste

seed

Ein optionaler seed-Wert.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Changelog

Version | Beschreibung
Seit 5.2.1 | Die Mersenne-Twister-Implementation in PHP verwendet jetzt einen neuen Seeding-Algorithmus von Richard Wagner. Identische Seeds erzeugen nicht länger dieselbe Sequenz von Werten, die in früheren Versionen erzeugt wurde. Es ist nicht abzusehen, dass eine solche Änderung noch einmal nötig wird, bedingungslos darauf vertrauen sollte man aber nicht.

Beispiele

Beispiel #1 mt_srand()-Beispiel

<?php
// seed mit Mikrosekunden
function make_seed()
{
  list($usec, $sec) = explode(' ', microtime());
  return (float) $sec + ((float) $usec * 100000);
}
mt_srand(make_seed());
$randval = mt_rand();
?>

Siehe auch

  • mt_rand() - Erzeugt "bessere" Zufallszahlen
  • mt_getrandmax() - Zeigt den größtmöglichen Zufallswert an
  • srand() - Anfangswert für Zufallsgenerator festlegen

mt_rand
octdec
Mathematische Funktionen


Oktal zu Dezimal Umwandlung

mt_srand
pi
Mathematische Funktionen
PHP Manual

octdec

(PHP 4, PHP 5, PHP 7)

octdec — Oktal zu Dezimal Umwandlung

Beschreibung

number octdec ( string $octal_string )

Wandelt den oktal kodierten Eingabestring octal_string in die entsprechende Dezimaldarstellung.

Parameter-Liste

octal_string

Der umzuwandelnde Oktalstring

Rückgabewerte

Dezimaldarstellung von octal_string

Beispiele

Beispiel #1 octdec() Beispiel

<?php
echo octdec('77') . "\n";
echo octdec(decoct(45));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

63
45

Anmerkungen

Hinweis:

Die Funktion kann nun auch Werte umwandeln, die zu groß für den integer Typ der jeweiligen Plattform sind, das Ergebnis wird dann als float zurückgegeben.

Siehe auch

  • decoct() - Dezimal zu Oktal Umwandlung
  • bindec() - Umwandlung von binär zu dezimal
  • hexdec() - Hexadezimal zu Dezimal Umwandlung
  • base_convert() - Konvertiert einen numerischen Wert zwischen verschiedenen Zahlensystemen

mt_srand
pi
Mathematische Funktionen


Liefert den Wert von Pi

octdec
pow
Mathematische Funktionen
PHP Manual

pi

(PHP 4, PHP 5, PHP 7)

pi — Liefert den Wert von Pi

Beschreibung

float pi ( void )

Die Funktion liefert einen Näherungswert von Pi. Die Anzahl der signifikanten Nachkommastellen wird durch die php.ini-Direktive precision festgelegt, der Vorgabewert beträgt 14 Stellen. Sie können auch die Konstante M_PI benutzen, die das gleiche Resultat liefert wie die pi().

Rückgabewerte

Der Wert von Pi als float.

Beispiele

Beispiel #1 pi()-Beispiel

<?php
echo pi(); // 3.1415926535898
echo M_PI; // 3.1415926535898
?>

octdec
pow
Mathematische Funktionen


Potenzfunktion

pi
rad2deg
Mathematische Funktionen
PHP Manual

pow

(PHP 4, PHP 5, PHP 7)

pow — Potenzfunktion

Beschreibung

number pow ( number $base , number $exp )

Berechnet die Potenz von exp zur Basis base oder kurz baseexp.

Hinweis:

Von PHP 5.6 an kann alternativ der **-Operator verwendet werden.

Parameter-Liste

base

Die zu potenzierende Basis

exp

Der Exponent

Rückgabewerte

base in der Potenz exp. Sind beide Argumente nicht-negative Ganzzahlen und das Ergebnis kann als Ganzzahl repräsentiert werden, wird das Ergebnis als integer, andernfalls als float zurückgegeben.

Beispiele

Beispiel #1 Einige pow()-Beispiele

<?php

var_dump(pow(2, 8)); // int(256)
echo pow(-1, 20); // 1
echo pow(0, 0); // 1

echo pow(-1, 5.5); // PHP >4.0.6  NAN
echo pow(-1, 5.5); // PHP <=4.0.6 1.#IND
?>

Anmerkungen

Hinweis:

Diese Funktion konvertiert alle Eingaben in numerische Werte, selbst nicht-skalare Werte. Dies kann zu seltsamen Ergebnissen führen.

Siehe auch

  • exp() - Exponentialfunktion
  • sqrt() - Quadratwurzel
  • bcpow() - Potenz einer Zahl beliebiger Genauigkeit
  • gmp_pow() - Raise number into power

pi
rad2deg
Mathematische Funktionen


Umrechnung von Bogenmaß in Grad

pow
rand
Mathematische Funktionen
PHP Manual

rad2deg

(PHP 4, PHP 5, PHP 7)

rad2deg — Umrechnung von Bogenmaß in Grad

Beschreibung

float rad2deg ( float $number )

Die Funktion rechenet einen Winkel number um von Bogenmaß in Grad.

Parameter-Liste

number

Ein Winkel in Bogenmaß

Rückgabewerte

Der zu number equivalente Wert in Grad

Beispiele

Beispiel #1 rad2deg() Beispiel

<?php

echo rad2deg(M_PI_4); // 45

?>

Siehe auch

  • deg2rad() - Rechnet einen Winkel von Grad in Bogenmaß um

pow
rand
Mathematische Funktionen


Erzeugt eine zufällige Zahl

rad2deg
round
Mathematische Funktionen
PHP Manual

rand

(PHP 4, PHP 5, PHP 7)

rand — Erzeugt eine zufällige Zahl

Beschreibung

int rand ( void )
int rand ( int $min , int $max )

Liefert eine Pseudozufallszahl zwischen min und max (inklusive), oder zwischen 0 und getrandmax(), falls keine Parameter angegeben wurden. Wenn Sie z.B. einen Zufallswert zwischen 5 und 15 benötigen so wäre der Aufruf dafür rand(5, 15).

Hinweis: Auf manchen Plattformen (z.B. Windows) ist getrandmax() nur 32767. Wenn sie einen größeren Wertebereich benötigen sollten, so können Sie entweder einen größeren max-Wert übergeben oder besser die mt_rand()-Funktion anstelle von rand() einsetzen.

Parameter-Liste

min

Der niedrigste zurückzugebende Wert (Vorgabe: 0)

max

Der höchste zurückzugebende Wert (Vorgabe: getrandmax())

Rückgabewerte

Ein Pseudozufallswert zwischen min (oder 0) und max (oder getrandmax(), inklusive).

Beispiele

Beispiel #1 rand() Beispiel

<?php
echo rand() . "\n";
echo rand() . "\n";

echo rand(5, 15);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

7771
22264
11

Anmerkungen

Achtung

Diese Funktion erzeugt keine kryptographisch sicheren Werte und sollte nicht für kryptographische Zwecke verwendet werden. Wenn kryptographisch sichere Werte benötigt werden, sollten stattdessen die Funktionen random_int(), random_bytes() oder openssl_random_pseudo_bytes() verwendet werden.

Siehe auch

  • srand() - Anfangswert für Zufallsgenerator festlegen
  • getrandmax() - Liefert die maximale Zufallszahl
  • mt_rand() - Erzeugt "bessere" Zufallszahlen
  • openssl_random_pseudo_bytes() - Generate a pseudo-random string of bytes

rad2deg
round
Mathematische Funktionen


Rundet einen Fließkommawert

rand
sin
Mathematische Funktionen
PHP Manual

round

(PHP 4, PHP 5, PHP 7)

round — Rundet einen Fließkommawert

Beschreibung

float round ( float $val [, int $precision = 0 [, int $mode = PHP_ROUND_HALF_UP ]] )

Rundet den Parameter val auf die mit precision angegebene Anzahl von Nachkommastellen. precision kann dabei auch null (Vorgabewert) oder negativ sein. So wird bei einer Stellenzahl von -1 wird z.B. auf volle Zehner gerundet.

Hinweis: PHP behandelt Strings wie "12,300.2" standardmäßig nicht korrekt. Siehe String-Konvertierung.

Parameter-Liste

val

Der zu rundende Wert.

precision

Auf wie viele Nachkommastellen gerundet werden soll.

mode

PHP_ROUND_HALF_UP, PHP_ROUND_HALF_DOWN, PHP_ROUND_HALF_EVEN oder PHP_ROUND_HALF_ODD.

Rückgabewerte

Der gerundete Wert.

Beispiele

Beispiel #1 round()-Beispiele

<?php
echo round(3.4);         // 3
echo round(3.5);         // 4
echo round(3.6);         // 4
echo round(3.6, 0);      // 4
echo round(1.95583, 2);  // 1.96
echo round(1241757, -3); // 1242000
echo round(5.045, 2);    // 5.05
echo round(5.055, 2);    // 5.06
?>

Beispiel #2 mode-Beispiele

<?php
echo round(9.5, 0, PHP_ROUND_HALF_UP);   // 10
echo round(9.5, 0, PHP_ROUND_HALF_DOWN); // 9
echo round(9.5, 0, PHP_ROUND_HALF_EVEN); // 10
echo round(9.5, 0, PHP_ROUND_HALF_ODD);  // 9

echo round(8.5, 0, PHP_ROUND_HALF_UP);   // 9
echo round(8.5, 0, PHP_ROUND_HALF_DOWN); // 8
echo round(8.5, 0, PHP_ROUND_HALF_EVEN); // 8
echo round(8.5, 0, PHP_ROUND_HALF_ODD);  // 9
?>

Changelog

Version | Beschreibung
5.3.0 | Der Parameter mode wurde hinzugefügt.
5.2.7 | Die interne Funktionsweise von round() wurde angepasst, um dem C99 Standard zu entsprechen.

Siehe auch

  • ceil() - Aufrunden
  • floor() - Abrunden
  • number_format() - Formatiert eine Zahl mit Tausender-Trennzeichen

rand
sin
Mathematische Funktionen


Sinus

round
sinh
Mathematische Funktionen
PHP Manual

sin

(PHP 4, PHP 5, PHP 7)

sin — Sinus

Beschreibung

float sin ( float $arg )

sin() berechnet den Sinus des Winkels arg.

Parameter-Liste

arg

Ein Winkel in Bogenmaß.

Rückgabewerte

Der Sinus von arg

Beispiele

Beispiel #1 sin() Beispiel

<?php

// Die Stellenzahl des Ergebnisses hängt von der 'Precision' Einstellung ab
echo sin(deg2rad(60));  //  0.866025403 ...
echo sin(60);           // -0.304810621 ...

?>

Siehe auch

  • asin() - Arkussinus
  • sinh() - Sinus Hyperbolikus
  • cos() - Kosinus
  • tan() - Tangens
  • deg2rad() - Rechnet einen Winkel von Grad in Bogenmaß um

round
sinh
Mathematische Funktionen


Sinus Hyperbolikus

sin
sqrt
Mathematische Funktionen
PHP Manual

sinh

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

sinh — Sinus Hyperbolikus

Beschreibung

float sinh ( float $arg )

Berechnet den Sinus Hyperbolikus des Parameters arg welcher als (exp(arg) - exp(-arg))/2 definiert ist.

Parameter-Liste

arg

Der zu verarbeitende Wert

Rückgabewerte

Der Sinus Hyperbolikus von arg

Siehe auch

  • sin() - Sinus
  • asinh() - Areasinus Hyperbolikus
  • cosh() - Kosinus Hyperbolikus
  • tanh() - Tangens Hyperbolikus

sin
sqrt
Mathematische Funktionen


Quadratwurzel

sinh
srand
Mathematische Funktionen
PHP Manual

sqrt

(PHP 4, PHP 5, PHP 7)

sqrt — Quadratwurzel

Beschreibung

float sqrt ( float $arg )

Berechnet die Quadratwurzel des Parameters arg.

Parameter-Liste

arg

Der zu verarbeitende Wert

Rückgabewerte

Die Quadratwurzel des Parameters arg oder der spezielle Wert NAN für negative Eingabewerte.

Beispiele

Beispiel #1 sqrt() Beispiel

<?php
// Die Anzahl der Nachkommastellen hängt von der 'precision' Einstellung ab
echo sqrt(9); // 3
echo sqrt(10); // 3.16227766 ...
?>

Siehe auch

  • pow() - Potenzfunktion

sinh
srand
Mathematische Funktionen


Anfangswert für Zufallsgenerator festlegen

sqrt
tan
Mathematische Funktionen
PHP Manual

srand

(PHP 4, PHP 5, PHP 7)

srand — Anfangswert für Zufallsgenerator festlegen

Beschreibung

void srand ([ int $seed ] )

Setzt den Anfangswert für den Zufallsgenerator auf seed oder auf einen zufälligen Wert falls kein Anfangswert gegeben wird.

Hinweis: Es besteht keine Notwendigkeit, den Zufallsgenerator für Zahlen mit srand() oder mt_srand() zu füttern, das geschieht automatisch.

Parameter-Liste

seed

Optionaler Startwert

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 srand() Beispiel

<?php
// Anfagswert über aktuelle Mikrosekunde setzen
function make_seed()
{
  list($usec, $sec) = explode(' ', microtime());
  return (float) $sec + ((float) $usec * 100000);
}
srand(make_seed());
$randval = rand();
?>

Siehe auch

  • rand() - Erzeugt eine zufällige Zahl
  • getrandmax() - Liefert die maximale Zufallszahl
  • mt_srand() - Setzt den besseren Zufallszahlengenerator

sqrt
tan
Mathematische Funktionen


Tangens

srand
tanh
Mathematische Funktionen
PHP Manual

tan

(PHP 4, PHP 5, PHP 7)

tan — Tangens

Beschreibung

float tan ( float $arg )

tan() berechnet den Tangens des Winkels arg.

Parameter-Liste

arg

Ein Winkel in Bogenmaß

Rückgabewerte

Der Tangens des Winkels arg

Beispiele

Beispiel #1 tan() Beispiel

<?php

echo tan(M_PI_4); // 1

?>

Siehe auch

  • atan() - Arkustangens
  • atan2() - Arkustangens-Variante mit zwei Parametern
  • sin() - Sinus
  • cos() - Kosinus
  • tanh() - Tangens Hyperbolikus
  • deg2rad() - Rechnet einen Winkel von Grad in Bogenmaß um

srand
tanh
Mathematische Funktionen


Tangens Hyperbolikus

tan
Statistics
Mathematische Funktionen
PHP Manual

tanh

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

tanh — Tangens Hyperbolikus

Beschreibung

float tanh ( float $arg )

Berechnet den Tangens Hyperbolikus des Parameters arg welcher als sinh(arg)/cosh(arg) definiert ist.

Parameter-Liste

arg

Der zu verarbeitende Wert

Rückgabewerte

Der Tangens Hyperbolikus von arg

Siehe auch

  • tan() - Tangens
  • atanh() - Areatangens Hyperbolikus
  • sinh() - Sinus Hyperbolikus
  • cosh() - Kosinus Hyperbolikus

tan
Statistics
Mathematische Funktionen


Statistics

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Statistic Funktionen
    • stats_absolute_deviation — Returns the absolute deviation of an array of values
    • stats_cdf_beta — CDF function for BETA Distribution. Calculates any one parameter of the beta distribution given values for the others.
    • stats_cdf_binomial — Calculates any one parameter of the binomial distribution given values for the others.
    • stats_cdf_cauchy — Not documented
    • stats_cdf_chisquare — Calculates any one parameter of the chi-square distribution given values for the others.
    • stats_cdf_exponential — Not documented
    • stats_cdf_f — Calculates any one parameter of the F distribution given values for the others.
    • stats_cdf_gamma — Calculates any one parameter of the gamma distribution given values for the others.
    • stats_cdf_laplace — Not documented
    • stats_cdf_logistic — Not documented
    • stats_cdf_negative_binomial — Calculates any one parameter of the negative binomial distribution given values for the others.
    • stats_cdf_noncentral_chisquare — Calculates any one parameter of the non-central chi-square distribution given values for the others.
    • stats_cdf_noncentral_f — Calculates any one parameter of the Non-central F distribution given values for the others.
    • stats_cdf_poisson — Calculates any one parameter of the Poisson distribution given values for the others.
    • stats_cdf_t — Calculates any one parameter of the T distribution given values for the others.
    • stats_cdf_uniform — Not documented
    • stats_cdf_weibull — Not documented
    • stats_covariance — Computes the covariance of two data sets
    • stats_den_uniform — Not documented
    • stats_dens_beta — Not documented
    • stats_dens_cauchy — Not documented
    • stats_dens_chisquare — Not documented
    • stats_dens_exponential — Not documented
    • stats_dens_f — Beschreibung
    • stats_dens_gamma — Not documented
    • stats_dens_laplace — Not documented
    • stats_dens_logistic — Not documented
    • stats_dens_negative_binomial — Not documented
    • stats_dens_normal — Not documented
    • stats_dens_pmf_binomial — Not documented
    • stats_dens_pmf_hypergeometric — Beschreibung
    • stats_dens_pmf_poisson — Not documented
    • stats_dens_t — Not documented
    • stats_dens_weibull — Not documented
    • stats_harmonic_mean — Returns the harmonic mean of an array of values
    • stats_kurtosis — Computes the kurtosis of the data in the array
    • stats_rand_gen_beta — Generates beta random deviate
    • stats_rand_gen_chisquare — Generates random deviate from the distribution of a chisquare with "df" degrees of freedom random variable.
    • stats_rand_gen_exponential — Generates a single random deviate from an exponential distribution with mean "av"
    • stats_rand_gen_f — Generates a random deviate
    • stats_rand_gen_funiform — Generates uniform float between low (exclusive) and high (exclusive)
    • stats_rand_gen_gamma — Generates random deviates from a gamma distribution
    • stats_rand_gen_ibinomial_negative — Generates a single random deviate from a negative binomial distribution. Arguments : n - the number of trials in the negative binomial distribution from which a random deviate is to be generated (n > 0), p - the probability of an event (0 < p < 1)).
    • stats_rand_gen_ibinomial — Generates a single random deviate from a binomial distribution whose number of trials is "n" (n >= 0) and whose probability of an event in each trial is "pp" ([0;1]). Method : algorithm BTPE
    • stats_rand_gen_int — Generates random integer between 1 and 2147483562
    • stats_rand_gen_ipoisson — Generates a single random deviate from a Poisson distribution with mean "mu" (mu >= 0.0).
    • stats_rand_gen_iuniform — Generates integer uniformly distributed between LOW (inclusive) and HIGH (inclusive)
    • stats_rand_gen_noncenral_chisquare — Generates random deviate from the distribution of a noncentral chisquare with "df" degrees of freedom and noncentrality parameter "xnonc". d must be >= 1.0, xnonc must >= 0.0
    • stats_rand_gen_noncentral_f — Generates a random deviate from the noncentral F (variance ratio) distribution with "dfn" degrees of freedom in the numerator, and "dfd" degrees of freedom in the denominator, and noncentrality parameter "xnonc". Method : directly generates ratio of noncentral numerator chisquare variate to central denominator chisquare variate.
    • stats_rand_gen_noncentral_t — Generates a single random deviate from a noncentral T distribution
    • stats_rand_gen_normal — Generates a single random deviate from a normal distribution with mean, av, and standard deviation, sd (sd >= 0). Method : Renames SNORM from TOMS as slightly modified by BWB to use RANF instead of SUNIF.
    • stats_rand_gen_t — Generates a single random deviate from a T distribution
    • stats_rand_get_seeds — Not documented
    • stats_rand_phrase_to_seeds — generate two seeds for the RGN random number generator
    • stats_rand_ranf — Returns a random floating point number from a uniform distribution over 0 - 1 (endpoints of this interval are not returned) using the current generator
    • stats_rand_setall — Not documented
    • stats_skew — Computes the skewness of the data in the array
    • stats_standard_deviation — Returns the standard deviation
    • stats_stat_binomial_coef — Not documented
    • stats_stat_correlation — Not documented
    • stats_stat_gennch — Not documented
    • stats_stat_independent_t — Not documented
    • stats_stat_innerproduct — Beschreibung
    • stats_stat_noncentral_t — Calculates any one parameter of the noncentral t distribution give values for the others.
    • stats_stat_paired_t — Not documented
    • stats_stat_percentile — Not documented
    • stats_stat_powersum — Not documented
    • stats_variance — Returns the population variance
tanh
Einführung
Mathematische Erweiterungen


Einführung

This is the statistics extension. It contains few dozens of functions useful for statistical computations. It is a wrapper around 2 scientific libraries, namely DCDFLIB (Library of C routines for Cumulative Distributions Functions, Inverses, and Other parameters) by B. Brown & J. Lavato and RANDLIB by Barry Brown, James Lavato & Kathy Russell. Includes CD and PD functions.

Statistics
Installation/Konfiguration
Statistics


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Statistics


Anforderungen

No external libraries are needed. The extension comes bundled with the libraries used.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/stats.

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
Statistic Funktionen
Statistics


Statistic Funktionen

Inhaltsverzeichnis

  • stats_absolute_deviation — Returns the absolute deviation of an array of values
  • stats_cdf_beta — CDF function for BETA Distribution. Calculates any one parameter of the beta distribution given values for the others.
  • stats_cdf_binomial — Calculates any one parameter of the binomial distribution given values for the others.
  • stats_cdf_cauchy — Not documented
  • stats_cdf_chisquare — Calculates any one parameter of the chi-square distribution given values for the others.
  • stats_cdf_exponential — Not documented
  • stats_cdf_f — Calculates any one parameter of the F distribution given values for the others.
  • stats_cdf_gamma — Calculates any one parameter of the gamma distribution given values for the others.
  • stats_cdf_laplace — Not documented
  • stats_cdf_logistic — Not documented
  • stats_cdf_negative_binomial — Calculates any one parameter of the negative binomial distribution given values for the others.
  • stats_cdf_noncentral_chisquare — Calculates any one parameter of the non-central chi-square distribution given values for the others.
  • stats_cdf_noncentral_f — Calculates any one parameter of the Non-central F distribution given values for the others.
  • stats_cdf_poisson — Calculates any one parameter of the Poisson distribution given values for the others.
  • stats_cdf_t — Calculates any one parameter of the T distribution given values for the others.
  • stats_cdf_uniform — Not documented
  • stats_cdf_weibull — Not documented
  • stats_covariance — Computes the covariance of two data sets
  • stats_den_uniform — Not documented
  • stats_dens_beta — Not documented
  • stats_dens_cauchy — Not documented
  • stats_dens_chisquare — Not documented
  • stats_dens_exponential — Not documented
  • stats_dens_f — Beschreibung
  • stats_dens_gamma — Not documented
  • stats_dens_laplace — Not documented
  • stats_dens_logistic — Not documented
  • stats_dens_negative_binomial — Not documented
  • stats_dens_normal — Not documented
  • stats_dens_pmf_binomial — Not documented
  • stats_dens_pmf_hypergeometric — Beschreibung
  • stats_dens_pmf_poisson — Not documented
  • stats_dens_t — Not documented
  • stats_dens_weibull — Not documented
  • stats_harmonic_mean — Returns the harmonic mean of an array of values
  • stats_kurtosis — Computes the kurtosis of the data in the array
  • stats_rand_gen_beta — Generates beta random deviate
  • stats_rand_gen_chisquare — Generates random deviate from the distribution of a chisquare with "df" degrees of freedom random variable.
  • stats_rand_gen_exponential — Generates a single random deviate from an exponential distribution with mean "av"
  • stats_rand_gen_f — Generates a random deviate
  • stats_rand_gen_funiform — Generates uniform float between low (exclusive) and high (exclusive)
  • stats_rand_gen_gamma — Generates random deviates from a gamma distribution
  • stats_rand_gen_ibinomial_negative — Generates a single random deviate from a negative binomial distribution. Arguments : n - the number of trials in the negative binomial distribution from which a random deviate is to be generated (n > 0), p - the probability of an event (0 < p < 1)).
  • stats_rand_gen_ibinomial — Generates a single random deviate from a binomial distribution whose number of trials is "n" (n >= 0) and whose probability of an event in each trial is "pp" ([0;1]). Method : algorithm BTPE
  • stats_rand_gen_int — Generates random integer between 1 and 2147483562
  • stats_rand_gen_ipoisson — Generates a single random deviate from a Poisson distribution with mean "mu" (mu >= 0.0).
  • stats_rand_gen_iuniform — Generates integer uniformly distributed between LOW (inclusive) and HIGH (inclusive)
  • stats_rand_gen_noncenral_chisquare — Generates random deviate from the distribution of a noncentral chisquare with "df" degrees of freedom and noncentrality parameter "xnonc". d must be >= 1.0, xnonc must >= 0.0
  • stats_rand_gen_noncentral_f — Generates a random deviate from the noncentral F (variance ratio) distribution with "dfn" degrees of freedom in the numerator, and "dfd" degrees of freedom in the denominator, and noncentrality parameter "xnonc". Method : directly generates ratio of noncentral numerator chisquare variate to central denominator chisquare variate.
  • stats_rand_gen_noncentral_t — Generates a single random deviate from a noncentral T distribution
  • stats_rand_gen_normal — Generates a single random deviate from a normal distribution with mean, av, and standard deviation, sd (sd >= 0). Method : Renames SNORM from TOMS as slightly modified by BWB to use RANF instead of SUNIF.
  • stats_rand_gen_t — Generates a single random deviate from a T distribution
  • stats_rand_get_seeds — Not documented
  • stats_rand_phrase_to_seeds — generate two seeds for the RGN random number generator
  • stats_rand_ranf — Returns a random floating point number from a uniform distribution over 0 - 1 (endpoints of this interval are not returned) using the current generator
  • stats_rand_setall — Not documented
  • stats_skew — Computes the skewness of the data in the array
  • stats_standard_deviation — Returns the standard deviation
  • stats_stat_binomial_coef — Not documented
  • stats_stat_correlation — Not documented
  • stats_stat_gennch — Not documented
  • stats_stat_independent_t — Not documented
  • stats_stat_innerproduct — Beschreibung
  • stats_stat_noncentral_t — Calculates any one parameter of the noncentral t distribution give values for the others.
  • stats_stat_paired_t — Not documented
  • stats_stat_percentile — Not documented
  • stats_stat_powersum — Not documented
  • stats_variance — Returns the population variance
Vordefinierte Konstanten
stats_absolute_deviation
Statistics


Returns the absolute deviation of an array of values

Statistic Funktionen
stats_cdf_beta
Statistic Funktionen
PHP Manual

stats_absolute_deviation

(PECL stats >= 1.0.0)

stats_absolute_deviation — Returns the absolute deviation of an array of values

Beschreibung

float stats_absolute_deviation ( array $a )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

a

Rückgabewerte

Statistic Funktionen
stats_cdf_beta
Statistic Funktionen


CDF function for BETA Distribution. Calculates any one parameter of the beta distribution given values for the others.

stats_absolute_deviation
stats_cdf_binomial
Statistic Funktionen
PHP Manual

stats_cdf_beta

(PECL stats >= 1.0.0)

stats_cdf_beta — CDF function for BETA Distribution. Calculates any one parameter of the beta distribution given values for the others.

Beschreibung

float stats_cdf_beta ( float $par1 , float $par2 , float $par3 , int $which )

Method Cumulative distribution function (P) is calculated directly by code associated with the following reference. DiDinato, A. R. and Morris, A. H. Algorithm 708: Significant Digit Computation of the Incomplete Beta Function Ratios. ACM Trans. Math. Softw. 18 (1993), 360-373. Computation of other parameters involve a search for a value that produces the desired value of P. The search relies on the monotonicity of P with the other parameter. Note The beta density is proportional to t^(A-1) * (1-t)^(B-1) Arguments P -- The integral from 0 to X of the chi-square distribution. Input range: [0, 1]. Q -- 1-P. Input range: [0, 1]. P + Q = 1.0. X -- Upper limit of integration of beta density. Input range: [0,1]. Search range: [0,1] Y -- 1-X. Input range: [0,1]. Search range: [0,1] X + Y = 1.0. A -- The first parameter of the beta density. Input range: (0, +infinity). Search range: [1D-100,1D100] B -- The second parameter of the beta density. Input range: (0, +infinity). Search range: [1D-100,1D100] STATUS -- 0 if calculation completed correctly -I if input parameter number I is out of range 1 if answer appears to be lower than lowest search bound 2 if answer appears to be higher than greatest search bound 3 if P + Q .ne. 1 4 if X + Y .ne. 1 BOUND -- Undefined if STATUS is 0 Bound exceeded by parameter number I if STATUS is negative. Lower search bound if STATUS is 1. Upper search bound if STATUS is 2.

Parameter-Liste

par1

par2

par3

which

Integer indicating which of the next four argument values is to be calculated from the others. Legal range: 1..4 which = 1 : Calculate P and Q from X,Y,A and B which = 2 : Calculate X and Y from P,Q,A and B which = 3 : Calculate A from P,Q,X,Y and B which = 4 : Calculate B from P,Q,X,Y and A

Rückgabewerte

STATUS -- 0 if calculation completed correctly -I if input parameter number I is out of range 1 if answer appears to be lower than lowest search bound 2 if answer appears to be higher than greatest search bound 3 if P + Q .ne. 1 4 if X + Y .ne. 1

stats_absolute_deviation
stats_cdf_binomial
Statistic Funktionen


Calculates any one parameter of the binomial distribution given values for the others.

stats_cdf_beta
stats_cdf_cauchy
Statistic Funktionen
PHP Manual

stats_cdf_binomial

(PECL stats >= 1.0.0)

stats_cdf_binomial — Calculates any one parameter of the binomial distribution given values for the others.

Beschreibung

float stats_cdf_binomial ( float $par1 , float $par2 , float $par3 , int $which )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

par1

par2

par3

which

Rückgabewerte

stats_cdf_beta
stats_cdf_cauchy
Statistic Funktionen


Not documented

stats_cdf_binomial
stats_cdf_chisquare
Statistic Funktionen
PHP Manual

stats_cdf_cauchy

(PECL stats >= 1.0.0)

stats_cdf_cauchy — Not documented

Beschreibung

float stats_cdf_cauchy ( float $par1 , float $par2 , float $par3 , int $which )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

par1

par2

par3

which

Rückgabewerte

stats_cdf_binomial
stats_cdf_chisquare
Statistic Funktionen


Calculates any one parameter of the chi-square distribution given values for the others.

stats_cdf_cauchy
stats_cdf_exponential
Statistic Funktionen
PHP Manual

stats_cdf_chisquare

(PECL stats >= 1.0.0)

stats_cdf_chisquare — Calculates any one parameter of the chi-square distribution given values for the others.

Beschreibung

float stats_cdf_chisquare ( float $par1 , float $par2 , int $which )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

par1

par2

which

Rückgabewerte

stats_cdf_cauchy
stats_cdf_exponential
Statistic Funktionen


Not documented

stats_cdf_chisquare
stats_cdf_f
Statistic Funktionen
PHP Manual

stats_cdf_exponential

(PECL stats >= 1.0.0)

stats_cdf_exponential — Not documented

Beschreibung

float stats_cdf_exponential ( float $par1 , float $par2 , int $which )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

par1

par2

which

Rückgabewerte

stats_cdf_chisquare
stats_cdf_f
Statistic Funktionen


Calculates any one parameter of the F distribution given values for the others.

stats_cdf_exponential
stats_cdf_gamma
Statistic Funktionen
PHP Manual

stats_cdf_f

(PECL stats >= 1.0.0)

stats_cdf_f — Calculates any one parameter of the F distribution given values for the others.

Beschreibung

float stats_cdf_f ( float $par1 , float $par2 , float $par3 , int $which )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

par1

par2

par3

which

Rückgabewerte

stats_cdf_exponential
stats_cdf_gamma
Statistic Funktionen


Calculates any one parameter of the gamma distribution given values for the others.

stats_cdf_f
stats_cdf_laplace
Statistic Funktionen
PHP Manual

stats_cdf_gamma

(PECL stats >= 1.0.0)

stats_cdf_gamma — Calculates any one parameter of the gamma distribution given values for the others.

Beschreibung

float stats_cdf_gamma ( float $par1 , float $par2 , float $par3 , int $which )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

par1

par2

par3

which

Rückgabewerte

stats_cdf_f
stats_cdf_laplace
Statistic Funktionen


Not documented

stats_cdf_gamma
stats_cdf_logistic
Statistic Funktionen
PHP Manual

stats_cdf_laplace

(PECL stats >= 1.0.0)

stats_cdf_laplace — Not documented

Beschreibung

float stats_cdf_laplace ( float $par1 , float $par2 , float $par3 , int $which )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

par1

par2

par3

which

Rückgabewerte

stats_cdf_gamma
stats_cdf_logistic
Statistic Funktionen


Not documented

stats_cdf_laplace
stats_cdf_negative_binomial
Statistic Funktionen
PHP Manual

stats_cdf_logistic

(PECL stats >= 1.0.0)

stats_cdf_logistic — Not documented

Beschreibung

float stats_cdf_logistic ( float $par1 , float $par2 , float $par3 , int $which )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

par1

par2

par3

which

Rückgabewerte

stats_cdf_laplace
stats_cdf_negative_binomial
Statistic Funktionen


Calculates any one parameter of the negative binomial distribution given values for the others.

stats_cdf_logistic
stats_cdf_noncentral_chisquare
Statistic Funktionen
PHP Manual

stats_cdf_negative_binomial

(PECL stats >= 1.0.0)

stats_cdf_negative_binomial — Calculates any one parameter of the negative binomial distribution given values for the others.

Beschreibung

float stats_cdf_negative_binomial ( float $par1 , float $par2 , float $par3 , int $which )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

par1

par2

par3

which

Rückgabewerte

stats_cdf_logistic
stats_cdf_noncentral_chisquare
Statistic Funktionen


Calculates any one parameter of the non-central chi-square distribution given values for the others.

stats_cdf_negative_binomial
stats_cdf_noncentral_f
Statistic Funktionen
PHP Manual

stats_cdf_noncentral_chisquare

(PECL stats >= 1.0.0)

stats_cdf_noncentral_chisquare — Calculates any one parameter of the non-central chi-square distribution given values for the others.

Beschreibung

float stats_cdf_noncentral_chisquare ( float $par1 , float $par2 , float $par3 , int $which )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

par1

par2

par3

which

Rückgabewerte

stats_cdf_negative_binomial
stats_cdf_noncentral_f
Statistic Funktionen


Calculates any one parameter of the Non-central F distribution given values for the others.

stats_cdf_noncentral_chisquare
stats_cdf_poisson
Statistic Funktionen
PHP Manual

stats_cdf_noncentral_f

(PECL stats >= 1.0.0)

stats_cdf_noncentral_f — Calculates any one parameter of the Non-central F distribution given values for the others.

Beschreibung

float stats_cdf_noncentral_f ( float $par1 , float $par2 , float $par3 , float $par4 , int $which )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

par1

par2

par3

par4

which

Rückgabewerte

stats_cdf_noncentral_chisquare
stats_cdf_poisson
Statistic Funktionen


Calculates any one parameter of the Poisson distribution given values for the others.

stats_cdf_noncentral_f
stats_cdf_t
Statistic Funktionen
PHP Manual

stats_cdf_poisson

(PECL stats >= 1.0.0)

stats_cdf_poisson — Calculates any one parameter of the Poisson distribution given values for the others.

Beschreibung

float stats_cdf_poisson ( float $par1 , float $par2 , int $which )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

par1

par2

which

Rückgabewerte

stats_cdf_noncentral_f
stats_cdf_t
Statistic Funktionen


Calculates any one parameter of the T distribution given values for the others.

stats_cdf_poisson
stats_cdf_uniform
Statistic Funktionen
PHP Manual

stats_cdf_t

(PECL stats >= 1.0.0)

stats_cdf_t — Calculates any one parameter of the T distribution given values for the others.

Beschreibung

float stats_cdf_t ( float $par1 , float $par2 , int $which )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

par1

par2

which

Rückgabewerte

stats_cdf_poisson
stats_cdf_uniform
Statistic Funktionen


Not documented

stats_cdf_t
stats_cdf_weibull
Statistic Funktionen
PHP Manual

stats_cdf_uniform

(PECL stats >= 1.0.0)

stats_cdf_uniform — Not documented

Beschreibung

float stats_cdf_uniform ( float $par1 , float $par2 , float $par3 , int $which )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

par1

par2

par3

which

Rückgabewerte

stats_cdf_t
stats_cdf_weibull
Statistic Funktionen


Not documented

stats_cdf_uniform
stats_covariance
Statistic Funktionen
PHP Manual

stats_cdf_weibull

(PECL stats >= 1.0.0)

stats_cdf_weibull — Not documented

Beschreibung

float stats_cdf_weibull ( float $par1 , float $par2 , float $par3 , int $which )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

par1

par2

par3

which

Rückgabewerte

stats_cdf_uniform
stats_covariance
Statistic Funktionen


Computes the covariance of two data sets

stats_cdf_weibull
stats_den_uniform
Statistic Funktionen
PHP Manual

stats_covariance

(PECL stats >= 1.0.0)

stats_covariance — Computes the covariance of two data sets

Beschreibung

float stats_covariance ( array $a , array $b )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

a

b

Rückgabewerte

stats_cdf_weibull
stats_den_uniform
Statistic Funktionen


Not documented

stats_covariance
stats_dens_beta
Statistic Funktionen
PHP Manual

stats_den_uniform

(PECL stats >= 1.0.0)

stats_den_uniform — Not documented

Beschreibung

float stats_den_uniform ( float $x , float $a , float $b )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

x

a

b

Rückgabewerte

stats_covariance
stats_dens_beta
Statistic Funktionen


Not documented

stats_den_uniform
stats_dens_cauchy
Statistic Funktionen
PHP Manual

stats_dens_beta

(PECL stats >= 1.0.0)

stats_dens_beta — Not documented

Beschreibung

float stats_dens_beta ( float $x , float $a , float $b )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

x

a

b

Rückgabewerte

stats_den_uniform
stats_dens_cauchy
Statistic Funktionen


Not documented

stats_dens_beta
stats_dens_chisquare
Statistic Funktionen
PHP Manual

stats_dens_cauchy

(PECL stats >= 1.0.0)

stats_dens_cauchy — Not documented

Beschreibung

float stats_dens_cauchy ( float $x , float $ave , float $stdev )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

x

ave

stdev

Rückgabewerte

stats_dens_beta
stats_dens_chisquare
Statistic Funktionen


Not documented

stats_dens_cauchy
stats_dens_exponential
Statistic Funktionen
PHP Manual

stats_dens_chisquare

(PECL stats >= 1.0.0)

stats_dens_chisquare — Not documented

Beschreibung

float stats_dens_chisquare ( float $x , float $dfr )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

x

dfr

Rückgabewerte

stats_dens_cauchy
stats_dens_exponential
Statistic Funktionen


Not documented

stats_dens_chisquare
stats_dens_f
Statistic Funktionen
PHP Manual

stats_dens_exponential

(PECL stats >= 1.0.0)

stats_dens_exponential — Not documented

Beschreibung

float stats_dens_exponential ( float $x , float $scale )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

x

scale

Rückgabewerte

stats_dens_chisquare
stats_dens_f
Statistic Funktionen


stats_dens_exponential
stats_dens_gamma
Statistic Funktionen
PHP Manual

stats_dens_f

(PECL stats >= 1.0.0)

stats_dens_f —

Beschreibung

float stats_dens_f ( float $x , float $dfr1 , float $dfr2 )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

x

dfr1

dfr2

Rückgabewerte

stats_dens_exponential
stats_dens_gamma
Statistic Funktionen


Not documented

stats_dens_f
stats_dens_laplace
Statistic Funktionen
PHP Manual

stats_dens_gamma

(PECL stats >= 1.0.0)

stats_dens_gamma — Not documented

Beschreibung

float stats_dens_gamma ( float $x , float $shape , float $scale )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

x

shape

scale

Rückgabewerte

stats_dens_f
stats_dens_laplace
Statistic Funktionen


Not documented

stats_dens_gamma
stats_dens_logistic
Statistic Funktionen
PHP Manual

stats_dens_laplace

(PECL stats >= 1.0.0)

stats_dens_laplace — Not documented

Beschreibung

float stats_dens_laplace ( float $x , float $ave , float $stdev )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

x

ave

stdev

Rückgabewerte

stats_dens_gamma
stats_dens_logistic
Statistic Funktionen


Not documented

stats_dens_laplace
stats_dens_negative_binomial
Statistic Funktionen
PHP Manual

stats_dens_logistic

(PECL stats >= 1.0.0)

stats_dens_logistic — Not documented

Beschreibung

float stats_dens_logistic ( float $x , float $ave , float $stdev )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

x

ave

stdev

Rückgabewerte

stats_dens_laplace
stats_dens_negative_binomial
Statistic Funktionen


Not documented

stats_dens_logistic
stats_dens_normal
Statistic Funktionen
PHP Manual

stats_dens_negative_binomial

(PECL stats >= 1.0.0)

stats_dens_negative_binomial — Not documented

Beschreibung

float stats_dens_negative_binomial ( float $x , float $n , float $pi )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

x

n

pi

Rückgabewerte

stats_dens_logistic
stats_dens_normal
Statistic Funktionen


Not documented

stats_dens_negative_binomial
stats_dens_pmf_binomial
Statistic Funktionen
PHP Manual

stats_dens_normal

(PECL stats >= 1.0.0)

stats_dens_normal — Not documented

Beschreibung

float stats_dens_normal ( float $x , float $ave , float $stdev )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

x

ave

stdev

Rückgabewerte

stats_dens_negative_binomial
stats_dens_pmf_binomial
Statistic Funktionen


Not documented

stats_dens_normal
stats_dens_pmf_hypergeometric
Statistic Funktionen
PHP Manual

stats_dens_pmf_binomial

(PECL stats >= 1.0.0)

stats_dens_pmf_binomial — Not documented

Beschreibung

float stats_dens_pmf_binomial ( float $x , float $n , float $pi )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

x

n

pi

Rückgabewerte

stats_dens_normal
stats_dens_pmf_hypergeometric
Statistic Funktionen


stats_dens_pmf_binomial
stats_dens_pmf_poisson
Statistic Funktionen
PHP Manual

stats_dens_pmf_hypergeometric

(PECL stats >= 1.0.0)

stats_dens_pmf_hypergeometric —

Beschreibung

float stats_dens_pmf_hypergeometric ( float $n1 , float $n2 , float $N1 , float $N2 )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

n1

n2

N1

N2

Rückgabewerte

stats_dens_pmf_binomial
stats_dens_pmf_poisson
Statistic Funktionen


Not documented

stats_dens_pmf_hypergeometric
stats_dens_t
Statistic Funktionen
PHP Manual

stats_dens_pmf_poisson

(PECL stats >= 1.0.0)

stats_dens_pmf_poisson — Not documented

Beschreibung

float stats_dens_pmf_poisson ( float $x , float $lb )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

x

lb

Rückgabewerte

stats_dens_pmf_hypergeometric
stats_dens_t
Statistic Funktionen


Not documented

stats_dens_pmf_poisson
stats_dens_weibull
Statistic Funktionen
PHP Manual

stats_dens_t

(PECL stats >= 1.0.0)

stats_dens_t — Not documented

Beschreibung

float stats_dens_t ( float $x , float $dfr )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

x

dfr

Rückgabewerte

stats_dens_pmf_poisson
stats_dens_weibull
Statistic Funktionen


Not documented

stats_dens_t
stats_harmonic_mean
Statistic Funktionen
PHP Manual

stats_dens_weibull

(PECL stats >= 1.0.0)

stats_dens_weibull — Not documented

Beschreibung

float stats_dens_weibull ( float $x , float $a , float $b )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

x

a

b

Rückgabewerte

stats_dens_t
stats_harmonic_mean
Statistic Funktionen


Returns the harmonic mean of an array of values

stats_dens_weibull
stats_kurtosis
Statistic Funktionen
PHP Manual

stats_harmonic_mean

(PECL stats >= 1.0.0)

stats_harmonic_mean — Returns the harmonic mean of an array of values

Beschreibung

number stats_harmonic_mean ( array $a )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

a

Rückgabewerte

stats_dens_weibull
stats_kurtosis
Statistic Funktionen


Computes the kurtosis of the data in the array

stats_harmonic_mean
stats_rand_gen_beta
Statistic Funktionen
PHP Manual

stats_kurtosis

(PECL stats >= 1.0.0)

stats_kurtosis — Computes the kurtosis of the data in the array

Beschreibung

float stats_kurtosis ( array $a )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

a

Rückgabewerte

stats_harmonic_mean
stats_rand_gen_beta
Statistic Funktionen


Generates beta random deviate

stats_kurtosis
stats_rand_gen_chisquare
Statistic Funktionen
PHP Manual

stats_rand_gen_beta

(PECL stats >= 1.0.0)

stats_rand_gen_beta — Generates beta random deviate

Beschreibung

float stats_rand_gen_beta ( float $a , float $b )

Returns a random deviate from the beta distribution with parameters A and B. The density of the beta is x^(a-1) * (1-x)^(b-1) / B(a,b) for 0 < x <. Method R. C. H. Cheng.

Parameter-Liste

a

b

Rückgabewerte

stats_kurtosis
stats_rand_gen_chisquare
Statistic Funktionen


Generates random deviate from the distribution of a chisquare with "df" degrees of freedom random variable.

stats_rand_gen_beta
stats_rand_gen_exponential
Statistic Funktionen
PHP Manual

stats_rand_gen_chisquare

(PECL stats >= 1.0.0)

stats_rand_gen_chisquare — Generates random deviate from the distribution of a chisquare with "df" degrees of freedom random variable.

Beschreibung

float stats_rand_gen_chisquare ( float $df )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

df

Rückgabewerte

stats_rand_gen_beta
stats_rand_gen_exponential
Statistic Funktionen


Generates a single random deviate from an exponential distribution with mean "av"

stats_rand_gen_chisquare
stats_rand_gen_f
Statistic Funktionen
PHP Manual

stats_rand_gen_exponential

(PECL stats >= 1.0.0)

stats_rand_gen_exponential — Generates a single random deviate from an exponential distribution with mean "av"

Beschreibung

float stats_rand_gen_exponential ( float $av )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

av

Rückgabewerte

stats_rand_gen_chisquare
stats_rand_gen_f
Statistic Funktionen


Generates a random deviate

stats_rand_gen_exponential
stats_rand_gen_funiform
Statistic Funktionen
PHP Manual

stats_rand_gen_f

(PECL stats >= 1.0.0)

stats_rand_gen_f — Generates a random deviate

Beschreibung

float stats_rand_gen_f ( float $dfn , float $dfd )

Generates a random deviate from the F (variance ratio) distribution with "dfn" degrees of freedom in the numerator and "dfd" degrees of freedom in the denominator. Method : directly generates ratio of chisquare variates.

Parameter-Liste

dfn

dfd

Rückgabewerte

stats_rand_gen_exponential
stats_rand_gen_funiform
Statistic Funktionen


Generates uniform float between low (exclusive) and high (exclusive)

stats_rand_gen_f
stats_rand_gen_gamma
Statistic Funktionen
PHP Manual

stats_rand_gen_funiform

(PECL stats >= 1.0.0)

stats_rand_gen_funiform — Generates uniform float between low (exclusive) and high (exclusive)

Beschreibung

float stats_rand_gen_funiform ( float $low , float $high )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

low

high

Rückgabewerte

stats_rand_gen_f
stats_rand_gen_gamma
Statistic Funktionen


Generates random deviates from a gamma distribution

stats_rand_gen_funiform
stats_rand_gen_ibinomial_negative
Statistic Funktionen
PHP Manual

stats_rand_gen_gamma

(PECL stats >= 1.0.0)

stats_rand_gen_gamma — Generates random deviates from a gamma distribution

Beschreibung

float stats_rand_gen_gamma ( float $a , float $r )

Generates random deviates from the gamma distribution whose density is (A**R)/Gamma(R) * X**(R-1) * Exp(-A*X).

Parameter-Liste

a

location parameter of Gamma distribution (a > 0).

r

shape parameter of Gamma distribution (r > 0).

Rückgabewerte

stats_rand_gen_funiform
stats_rand_gen_ibinomial_negative
Statistic Funktionen


Generates a single random deviate from a negative binomial distribution. Arguments : n - the number of trials in the negative binomial distribution from which a random deviate is to be generated (n > 0), p - the probability of an event (0 < p < 1)).

stats_rand_gen_gamma
stats_rand_gen_ibinomial
Statistic Funktionen
PHP Manual

stats_rand_gen_ibinomial_negative

(PECL stats >= 1.0.0)

stats_rand_gen_ibinomial_negative — Generates a single random deviate from a negative binomial distribution. Arguments : n - the number of trials in the negative binomial distribution from which a random deviate is to be generated (n > 0), p - the probability of an event (0 < p < 1)).

Beschreibung

int stats_rand_gen_ibinomial_negative ( int $n , float $p )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

n

p

Rückgabewerte

stats_rand_gen_gamma
stats_rand_gen_ibinomial
Statistic Funktionen


Generates a single random deviate from a binomial distribution whose number of trials is "n" (n >= 0) and whose probability of an event in each trial is "pp" ([0;1]). Method : algorithm BTPE

stats_rand_gen_ibinomial_negative
stats_rand_gen_int
Statistic Funktionen
PHP Manual

stats_rand_gen_ibinomial

(PECL stats >= 1.0.0)

stats_rand_gen_ibinomial — Generates a single random deviate from a binomial distribution whose number of trials is "n" (n >= 0) and whose probability of an event in each trial is "pp" ([0;1]). Method : algorithm BTPE

Beschreibung

int stats_rand_gen_ibinomial ( int $n , float $pp )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

n

pp

Rückgabewerte

stats_rand_gen_ibinomial_negative
stats_rand_gen_int
Statistic Funktionen


Generates random integer between 1 and 2147483562

stats_rand_gen_ibinomial
stats_rand_gen_ipoisson
Statistic Funktionen
PHP Manual

stats_rand_gen_int

(PECL stats >= 1.0.0)

stats_rand_gen_int — Generates random integer between 1 and 2147483562

Beschreibung

int stats_rand_gen_int ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Rückgabewerte

stats_rand_gen_ibinomial
stats_rand_gen_ipoisson
Statistic Funktionen


Generates a single random deviate from a Poisson distribution with mean "mu" (mu >= 0.0).

stats_rand_gen_int
stats_rand_gen_iuniform
Statistic Funktionen
PHP Manual

stats_rand_gen_ipoisson

(PECL stats >= 1.0.0)

stats_rand_gen_ipoisson — Generates a single random deviate from a Poisson distribution with mean "mu" (mu >= 0.0).

Beschreibung

int stats_rand_gen_ipoisson ( float $mu )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

mu

Rückgabewerte

stats_rand_gen_int
stats_rand_gen_iuniform
Statistic Funktionen


Generates integer uniformly distributed between LOW (inclusive) and HIGH (inclusive)

stats_rand_gen_ipoisson
stats_rand_gen_noncenral_chisquare
Statistic Funktionen
PHP Manual

stats_rand_gen_iuniform

(PECL stats >= 1.0.0)

stats_rand_gen_iuniform — Generates integer uniformly distributed between LOW (inclusive) and HIGH (inclusive)

Beschreibung

int stats_rand_gen_iuniform ( int $low , int $high )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

low

high

Rückgabewerte

stats_rand_gen_ipoisson
stats_rand_gen_noncenral_chisquare
Statistic Funktionen


Generates random deviate from the distribution of a noncentral chisquare with "df" degrees of freedom and noncentrality parameter "xnonc". d must be >= 1.0, xnonc must >= 0.0

stats_rand_gen_iuniform
stats_rand_gen_noncentral_f
Statistic Funktionen
PHP Manual

stats_rand_gen_noncenral_chisquare

(PECL stats >= 1.0.0)

stats_rand_gen_noncenral_chisquare — Generates random deviate from the distribution of a noncentral chisquare with "df" degrees of freedom and noncentrality parameter "xnonc". d must be >= 1.0, xnonc must >= 0.0

Beschreibung

float stats_rand_gen_noncenral_chisquare ( float $df , float $xnonc )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

df

xnonc

Rückgabewerte

stats_rand_gen_iuniform
stats_rand_gen_noncentral_f
Statistic Funktionen


Generates a random deviate from the noncentral F (variance ratio) distribution with "dfn" degrees of freedom in the numerator, and "dfd" degrees of freedom in the denominator, and noncentrality parameter "xnonc". Method : directly generates ratio of noncentral numerator chisquare variate to central 

stats_rand_gen_noncenral_chisquare
stats_rand_gen_noncentral_t
Statistic Funktionen
PHP Manual

stats_rand_gen_noncentral_f

(PECL stats >= 1.0.0)

stats_rand_gen_noncentral_f — Generates a random deviate from the noncentral F (variance ratio) distribution with "dfn" degrees of freedom in the numerator, and "dfd" degrees of freedom in the denominator, and noncentrality parameter "xnonc". Method : directly generates ratio of noncentral numerator chisquare variate to central denominator chisquare variate.

Beschreibung

float stats_rand_gen_noncentral_f ( float $dfn , float $dfd , float $xnonc )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

dfn

dfd

xnonc

Rückgabewerte

stats_rand_gen_noncenral_chisquare
stats_rand_gen_noncentral_t
Statistic Funktionen


Generates a single random deviate from a noncentral T distribution

stats_rand_gen_noncentral_f
stats_rand_gen_normal
Statistic Funktionen
PHP Manual

stats_rand_gen_noncentral_t

(PECL stats >= 1.0.0)

stats_rand_gen_noncentral_t — Generates a single random deviate from a noncentral T distribution

Beschreibung

float stats_rand_gen_noncentral_t ( float $df , float $xnonc )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

df

xnonc

Rückgabewerte

stats_rand_gen_noncentral_f
stats_rand_gen_normal
Statistic Funktionen


Generates a single random deviate from a normal distribution with mean, av, and standard deviation, sd (sd >= 0). Method : Renames SNORM from TOMS as slightly modified by BWB to use RANF instead of SUNIF.

stats_rand_gen_noncentral_t
stats_rand_gen_t
Statistic Funktionen
PHP Manual

stats_rand_gen_normal

(PECL stats >= 1.0.0)

stats_rand_gen_normal — Generates a single random deviate from a normal distribution with mean, av, and standard deviation, sd (sd >= 0). Method : Renames SNORM from TOMS as slightly modified by BWB to use RANF instead of SUNIF.

Beschreibung

float stats_rand_gen_normal ( float $av , float $sd )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

av

sd

Rückgabewerte

stats_rand_gen_noncentral_t
stats_rand_gen_t
Statistic Funktionen


Generates a single random deviate from a T distribution

stats_rand_gen_normal
stats_rand_get_seeds
Statistic Funktionen
PHP Manual

stats_rand_gen_t

(PECL stats >= 1.0.0)

stats_rand_gen_t — Generates a single random deviate from a T distribution

Beschreibung

float stats_rand_gen_t ( float $df )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

df

Rückgabewerte

stats_rand_gen_normal
stats_rand_get_seeds
Statistic Funktionen


Not documented

stats_rand_gen_t
stats_rand_phrase_to_seeds
Statistic Funktionen
PHP Manual

stats_rand_get_seeds

(PECL stats >= 1.0.0)

stats_rand_get_seeds — Not documented

Beschreibung

array stats_rand_get_seeds ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Rückgabewerte

stats_rand_gen_t
stats_rand_phrase_to_seeds
Statistic Funktionen


generate two seeds for the RGN random number generator

stats_rand_get_seeds
stats_rand_ranf
Statistic Funktionen
PHP Manual

stats_rand_phrase_to_seeds

(PECL stats >= 1.0.0)

stats_rand_phrase_to_seeds — generate two seeds for the RGN random number generator

Beschreibung

array stats_rand_phrase_to_seeds ( string $phrase )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

phrase

Rückgabewerte

stats_rand_get_seeds
stats_rand_ranf
Statistic Funktionen


Returns a random floating point number from a uniform distribution over 0 - 1 (endpoints of this interval are not returned) using the current generator

stats_rand_phrase_to_seeds
stats_rand_setall
Statistic Funktionen
PHP Manual

stats_rand_ranf

(PECL stats >= 1.0.0)

stats_rand_ranf — Returns a random floating point number from a uniform distribution over 0 - 1 (endpoints of this interval are not returned) using the current generator

Beschreibung

float stats_rand_ranf ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Rückgabewerte

stats_rand_phrase_to_seeds
stats_rand_setall
Statistic Funktionen


Not documented

stats_rand_ranf
stats_skew
Statistic Funktionen
PHP Manual

stats_rand_setall

(PECL stats >= 1.0.0)

stats_rand_setall — Not documented

Beschreibung

void stats_rand_setall ( int $iseed1 , int $iseed2 )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

iseed1

iseed2

Rückgabewerte

stats_rand_ranf
stats_skew
Statistic Funktionen


Computes the skewness of the data in the array

stats_rand_setall
stats_standard_deviation
Statistic Funktionen
PHP Manual

stats_skew

(PECL stats >= 1.0.0)

stats_skew — Computes the skewness of the data in the array

Beschreibung

float stats_skew ( array $a )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

a

Rückgabewerte

stats_rand_setall
stats_standard_deviation
Statistic Funktionen


Returns the standard deviation

stats_skew
stats_stat_binomial_coef
Statistic Funktionen
PHP Manual

stats_standard_deviation

(PECL stats >= 1.0.0)

stats_standard_deviation — Returns the standard deviation

Beschreibung

float stats_standard_deviation ( array $a [, bool $sample = false ] )

Parameter-Liste

a

The array of data to find the standard deviation for. Note that all values of the array will be cast to float.

sample

Indicates if a represents a sample of the population; defaults to FALSE.

Rückgabewerte

Returns the standard deviation on success; FALSE on failure.

Fehler/Exceptions

Raises an E_WARNING when there are fewer than 2 values in a.

stats_skew
stats_stat_binomial_coef
Statistic Funktionen


Not documented

stats_standard_deviation
stats_stat_correlation
Statistic Funktionen
PHP Manual

stats_stat_binomial_coef

(PECL stats >= 1.0.0)

stats_stat_binomial_coef — Not documented

Beschreibung

float stats_stat_binomial_coef ( int $x , int $n )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

x

n

Rückgabewerte

stats_standard_deviation
stats_stat_correlation
Statistic Funktionen


Not documented

stats_stat_binomial_coef
stats_stat_gennch
Statistic Funktionen
PHP Manual

stats_stat_correlation

(PECL stats >= 1.0.0)

stats_stat_correlation — Not documented

Beschreibung

float stats_stat_correlation ( array $arr1 , array $arr2 )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

arr1

arr2

Rückgabewerte

stats_stat_binomial_coef
stats_stat_gennch
Statistic Funktionen


Not documented

stats_stat_correlation
stats_stat_independent_t
Statistic Funktionen
PHP Manual

stats_stat_gennch

(PECL stats >= 1.0.0)

stats_stat_gennch — Not documented

Beschreibung

float stats_stat_gennch ( int $n )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

n

Rückgabewerte

stats_stat_correlation
stats_stat_independent_t
Statistic Funktionen


Not documented

stats_stat_gennch
stats_stat_innerproduct
Statistic Funktionen
PHP Manual

stats_stat_independent_t

(PECL stats >= 1.0.0)

stats_stat_independent_t — Not documented

Beschreibung

float stats_stat_independent_t ( array $arr1 , array $arr2 )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

arr1

arr2

Rückgabewerte

stats_stat_gennch
stats_stat_innerproduct
Statistic Funktionen


stats_stat_independent_t
stats_stat_noncentral_t
Statistic Funktionen
PHP Manual

stats_stat_innerproduct

(PECL stats >= 1.0.0)

stats_stat_innerproduct —

Beschreibung

float stats_stat_innerproduct ( array $arr1 , array $arr2 )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

arr1

arr2

Rückgabewerte

stats_stat_independent_t
stats_stat_noncentral_t
Statistic Funktionen


Calculates any one parameter of the noncentral t distribution give values for the others.

stats_stat_innerproduct
stats_stat_paired_t
Statistic Funktionen
PHP Manual

stats_stat_noncentral_t

(PECL stats >= 1.0.0)

stats_stat_noncentral_t — Calculates any one parameter of the noncentral t distribution give values for the others.

Beschreibung

float stats_stat_noncentral_t ( float $par1 , float $par2 , float $par3 , int $which )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

par1

par2

par3

which

Rückgabewerte

stats_stat_innerproduct
stats_stat_paired_t
Statistic Funktionen


Not documented

stats_stat_noncentral_t
stats_stat_percentile
Statistic Funktionen
PHP Manual

stats_stat_paired_t

(PECL stats >= 1.0.0)

stats_stat_paired_t — Not documented

Beschreibung

float stats_stat_paired_t ( array $arr1 , array $arr2 )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

arr1

arr2

Rückgabewerte

stats_stat_noncentral_t
stats_stat_percentile
Statistic Funktionen


Not documented

stats_stat_paired_t
stats_stat_powersum
Statistic Funktionen
PHP Manual

stats_stat_percentile

(PECL stats >= 1.0.0)

stats_stat_percentile — Not documented

Beschreibung

float stats_stat_percentile ( float $df , float $xnonc )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

df

xnonc

Rückgabewerte

stats_stat_paired_t
stats_stat_powersum
Statistic Funktionen


Not documented

stats_stat_percentile
stats_variance
Statistic Funktionen
PHP Manual

stats_stat_powersum

(PECL stats >= 1.0.0)

stats_stat_powersum — Not documented

Beschreibung

float stats_stat_powersum ( array $arr , float $power )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

arr

power

Rückgabewerte

stats_stat_percentile
stats_variance
Statistic Funktionen


Returns the population variance

stats_stat_powersum
Trader
Statistic Funktionen
PHP Manual

stats_variance

(PECL stats >= 1.0.0)

stats_variance — Returns the population variance

Beschreibung

float stats_variance ( array $a [, bool $sample = false ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

a

sample

Rückgabewerte

stats_stat_powersum
Trader
Statistic Funktionen


Technical Analysis for Traders

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
  • Vordefinierte Konstanten
  • Trader Funktionen
    • trader_acos — Vector Trigonometric ACos
    • trader_ad — Chaikin A/D Line
    • trader_add — Vector Arithmetic Add
    • trader_adosc — Chaikin A/D Oscillator
    • trader_adx — Average Directional Movement Index
    • trader_adxr — Average Directional Movement Index Rating
    • trader_apo — Absolute Price Oscillator
    • trader_aroon — Aroon
    • trader_aroonosc — Aroon Oscillator
    • trader_asin — Vector Trigonometric ASin
    • trader_atan — Vector Trigonometric ATan
    • trader_atr — Average True Range
    • trader_avgprice — Average Price
    • trader_bbands — Bollinger Bands
    • trader_beta — Beta
    • trader_bop — Balance Of Power
    • trader_cci — Commodity Channel Index
    • trader_cdl2crows — Two Crows
    • trader_cdl3blackcrows — Three Black Crows
    • trader_cdl3inside — Three Inside Up/Down
    • trader_cdl3linestrike — Three-Line Strike
    • trader_cdl3outside — Three Outside Up/Down
    • trader_cdl3starsinsouth — Three Stars In The South
    • trader_cdl3whitesoldiers — Three Advancing White Soldiers
    • trader_cdlabandonedbaby — Abandoned Baby
    • trader_cdladvanceblock — Advance Block
    • trader_cdlbelthold — Belt-hold
    • trader_cdlbreakaway — Breakaway
    • trader_cdlclosingmarubozu — Closing Marubozu
    • trader_cdlconcealbabyswall — Concealing Baby Swallow
    • trader_cdlcounterattack — Counterattack
    • trader_cdldarkcloudcover — Dark Cloud Cover
    • trader_cdldoji — Doji
    • trader_cdldojistar — Doji Star
    • trader_cdldragonflydoji — Dragonfly Doji
    • trader_cdlengulfing — Engulfing Pattern
    • trader_cdleveningdojistar — Evening Doji Star
    • trader_cdleveningstar — Evening Star
    • trader_cdlgapsidesidewhite — Up/Down-gap side-by-side white lines
    • trader_cdlgravestonedoji — Gravestone Doji
    • trader_cdlhammer — Hammer
    • trader_cdlhangingman — Hanging Man
    • trader_cdlharami — Harami Pattern
    • trader_cdlharamicross — Harami Cross Pattern
    • trader_cdlhighwave — High-Wave Candle
    • trader_cdlhikkake — Hikkake Pattern
    • trader_cdlhikkakemod — Modified Hikkake Pattern
    • trader_cdlhomingpigeon — Homing Pigeon
    • trader_cdlidentical3crows — Identical Three Crows
    • trader_cdlinneck — In-Neck Pattern
    • trader_cdlinvertedhammer — Inverted Hammer
    • trader_cdlkicking — Kicking
    • trader_cdlkickingbylength — Kicking - bull/bear determined by the longer marubozu
    • trader_cdlladderbottom — Ladder Bottom
    • trader_cdllongleggeddoji — Long Legged Doji
    • trader_cdllongline — Long Line Candle
    • trader_cdlmarubozu — Marubozu
    • trader_cdlmatchinglow — Matching Low
    • trader_cdlmathold — Mat Hold
    • trader_cdlmorningdojistar — Morning Doji Star
    • trader_cdlmorningstar — Morning Star
    • trader_cdlonneck — On-Neck Pattern
    • trader_cdlpiercing — Piercing Pattern
    • trader_cdlrickshawman — Rickshaw Man
    • trader_cdlrisefall3methods — Rising/Falling Three Methods
    • trader_cdlseparatinglines — Separating Lines
    • trader_cdlshootingstar — Shooting Star
    • trader_cdlshortline — Short Line Candle
    • trader_cdlspinningtop — Spinning Top
    • trader_cdlstalledpattern — Stalled Pattern
    • trader_cdlsticksandwich — Stick Sandwich
    • trader_cdltakuri — Takuri (Dragonfly Doji with very long lower shadow)
    • trader_cdltasukigap — Tasuki Gap
    • trader_cdlthrusting — Thrusting Pattern
    • trader_cdltristar — Tristar Pattern
    • trader_cdlunique3river — Unique 3 River
    • trader_cdlupsidegap2crows — Upside Gap Two Crows
    • trader_cdlxsidegap3methods — Upside/Downside Gap Three Methods
    • trader_ceil — Vector Ceil
    • trader_cmo — Chande Momentum Oscillator
    • trader_correl — Pearson's Correlation Coefficient (r)
    • trader_cos — Vector Trigonometric Cos
    • trader_cosh — Vector Trigonometric Cosh
    • trader_dema — Double Exponential Moving Average
    • trader_div — Vector Arithmetic Div
    • trader_dx — Directional Movement Index
    • trader_ema — Exponential Moving Average
    • trader_errno — Get error code
    • trader_exp — Vector Arithmetic Exp
    • trader_floor — Vector Floor
    • trader_get_compat — Get compatibility mode
    • trader_get_unstable_period — Get unstable period
    • trader_ht_dcperiod — Hilbert Transform - Dominant Cycle Period
    • trader_ht_dcphase — Hilbert Transform - Dominant Cycle Phase
    • trader_ht_phasor — Hilbert Transform - Phasor Components
    • trader_ht_sine — Hilbert Transform - SineWave
    • trader_ht_trendline — Hilbert Transform - Instantaneous Trendline
    • trader_ht_trendmode — Hilbert Transform - Trend vs Cycle Mode
    • trader_kama — Kaufman Adaptive Moving Average
    • trader_linearreg_angle — Linear Regression Angle
    • trader_linearreg_intercept — Linear Regression Intercept
    • trader_linearreg_slope — Linear Regression Slope
    • trader_linearreg — Linear Regression
    • trader_ln — Vector Log Natural
    • trader_log10 — Vector Log10
    • trader_ma — Moving average
    • trader_macd — Moving Average Convergence/Divergence
    • trader_macdext — MACD with controllable MA type
    • trader_macdfix — Moving Average Convergence/Divergence Fix 12/26
    • trader_mama — MESA Adaptive Moving Average
    • trader_mavp — Moving average with variable period
    • trader_max — Highest value over a specified period
    • trader_maxindex — Index of highest value over a specified period
    • trader_medprice — Median Price
    • trader_mfi — Money Flow Index
    • trader_midpoint — MidPoint over period
    • trader_midprice — Midpoint Price over period
    • trader_min — Lowest value over a specified period
    • trader_minindex — Index of lowest value over a specified period
    • trader_minmax — Lowest and highest values over a specified period
    • trader_minmaxindex — Indexes of lowest and highest values over a specified period
    • trader_minus_di — Minus Directional Indicator
    • trader_minus_dm — Minus Directional Movement
    • trader_mom — Momentum
    • trader_mult — Vector Arithmetic Mult
    • trader_natr — Normalized Average True Range
    • trader_obv — On Balance Volume
    • trader_plus_di — Plus Directional Indicator
    • trader_plus_dm — Plus Directional Movement
    • trader_ppo — Percentage Price Oscillator
    • trader_roc — Rate of change : ((price/prevPrice)-1)*100
    • trader_rocp — Rate of change Percentage: (price-prevPrice)/prevPrice
    • trader_rocr100 — Rate of change ratio 100 scale: (price/prevPrice)*100
    • trader_rocr — Rate of change ratio: (price/prevPrice)
    • trader_rsi — Relative Strength Index
    • trader_sar — Parabolic SAR
    • trader_sarext — Parabolic SAR - Extended
    • trader_set_compat — Set compatibility mode
    • trader_set_unstable_period — Set unstable period
    • trader_sin — Vector Trigonometric Sin
    • trader_sinh — Vector Trigonometric Sinh
    • trader_sma — Simple Moving Average
    • trader_sqrt — Vector Square Root
    • trader_stddev — Standard Deviation
    • trader_stoch — Stochastic
    • trader_stochf — Stochastic Fast
    • trader_stochrsi — Stochastic Relative Strength Index
    • trader_sub — Vector Arithmetic Subtraction
    • trader_sum — Summation
    • trader_t3 — Triple Exponential Moving Average (T3)
    • trader_tan — Vector Trigonometric Tan
    • trader_tanh — Vector Trigonometric Tanh
    • trader_tema — Triple Exponential Moving Average
    • trader_trange — True Range
    • trader_trima — Triangular Moving Average
    • trader_trix — 1-day Rate-Of-Change (ROC) of a Triple Smooth EMA
    • trader_tsf — Time Series Forecast
    • trader_typprice — Typical Price
    • trader_ultosc — Ultimate Oscillator
    • trader_var — Variance
    • trader_wclprice — Weighted Close Price
    • trader_willr — Williams' %R
    • trader_wma — Weighted Moving Average
stats_variance
Einführung
Mathematische Erweiterungen


Einführung

The trader extension is a free open source stock library based on TA-Lib. It's dedicated to trading software developers requiring to perform technical analysis of financial market data. Alongside many indicators like ADX, MACD, RSI, Stochastic, TRIX the candlestick pattern recognition and several vector arithmetic and algebraic functions are present.

Calculations can be done in two modes - TA-Lib and Metastock. Changing it using trader_set_compat() will affect the way some trader functions work.

Some trader functions provide different results depending of the "starting point" of the data being involved. This is often referred as a function having memories. An example of such function is the Exponential Moving Average. It is possible to control the unstable period (the amount of data to strip off) using trader_set_unstable_period() function.

Extended documentation about indicators, formulas and implementations in other programming languages can be found under » tadoc.org.

Trader
Installation/Konfiguration
Trader


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
Einführung
Anforderungen
Trader


Anforderungen

The trader extension is based on » TA-Lib. TA-Lib is fully integrated into the extension, therefore no external libraries are needed.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/trader.

A DLL for this PECL extension is available under » http://windows.php.net/downloads/pecl/releases/trader/.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Trader Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
trader.real_precision | 3 | PHP_INI_ALL | Since trader 0.2.1
trader.real_round_mode | HALF_DOWN | PHP_INI_ALL | Since trader 0.3.0

Hier eine kurze Erklärung der Konfigurationsoptionen:

trader.real_precision integer

All the values in the returned arrays will be rounded to this precision. However the calculations inside TA-Lib happen with unrounded values.

trader.real_round_mode string

Controls the trader real rounding policy. Valid values are HALF_UP, HALF_DOWN, HALF_EVEN and HALF_ODD. The behaviour is identical to the round() function used with the mode argument.

Installation
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

TRADER_MA_TYPE_SMA (integer)
TRADER_MA_TYPE_EMA (integer)
TRADER_MA_TYPE_WMA (integer)
TRADER_MA_TYPE_DEMA (integer)
TRADER_MA_TYPE_TEMA (integer)
TRADER_MA_TYPE_TRIMA (integer)
TRADER_MA_TYPE_KAMA (integer)
TRADER_MA_TYPE_MAMA (integer)
TRADER_MA_TYPE_T3 (integer)
TRADER_REAL_MIN (double)
TRADER_REAL_MAX (double)
TRADER_FUNC_UNST_ADX (integer)
TRADER_FUNC_UNST_ADXR (integer)
TRADER_FUNC_UNST_ATR (integer)
TRADER_FUNC_UNST_CMO (integer)
TRADER_FUNC_UNST_DX (integer)
TRADER_FUNC_UNST_EMA (integer)
TRADER_FUNC_UNST_HT_DCPERIOD (integer)
TRADER_FUNC_UNST_HT_DCPHASE (integer)
TRADER_FUNC_UNST_HT_PHASOR (integer)
TRADER_FUNC_UNST_HT_SINE (integer)
TRADER_FUNC_UNST_HT_TRENDLINE (integer)
TRADER_FUNC_UNST_HT_TRENDMODE (integer)
TRADER_FUNC_UNST_KAMA (integer)
TRADER_FUNC_UNST_MAMA (integer)
TRADER_FUNC_UNST_MFI (integer)
TRADER_FUNC_UNST_MINUS_DI (integer)
TRADER_FUNC_UNST_MINUS_DM (integer)
TRADER_FUNC_UNST_NATR (integer)
TRADER_FUNC_UNST_PLUS_DI (integer)
TRADER_FUNC_UNST_PLUS_DM (integer)
TRADER_FUNC_UNST_RSI (integer)
TRADER_FUNC_UNST_STOCHRSI (integer)
TRADER_FUNC_UNST_T3 (integer)
TRADER_FUNC_UNST_ALL (integer)
TRADER_FUNC_UNST_NONE (integer)
TRADER_COMPATIBILITY_DEFAULT (integer)
TRADER_COMPATIBILITY_METASTOCK (integer)
TRADER_ERR_SUCCESS (integer)
TRADER_ERR_LIB_NOT_INITIALIZE (integer)
TRADER_ERR_BAD_PARAM (integer)
TRADER_ERR_ALLOC_ERR (integer)
TRADER_ERR_GROUP_NOT_FOUND (integer)
TRADER_ERR_FUNC_NOT_FOUND (integer)
TRADER_ERR_INVALID_HANDLE (integer)
TRADER_ERR_INVALID_PARAM_HOLDER (integer)
TRADER_ERR_INVALID_PARAM_HOLDER_TYPE (integer)
TRADER_ERR_INVALID_PARAM_FUNCTION (integer)
TRADER_ERR_INPUT_NOT_ALL_INITIALIZE (integer)
TRADER_ERR_OUTPUT_NOT_ALL_INITIALIZE (integer)
TRADER_ERR_OUT_OF_RANGE_START_INDEX (integer)
TRADER_ERR_OUT_OF_RANGE_END_INDEX (integer)
TRADER_ERR_INVALID_LIST_TYPE (integer)
TRADER_ERR_BAD_OBJECT (integer)
TRADER_ERR_NOT_SUPPORTED (integer)
TRADER_ERR_INTERNAL_ERROR (integer)
TRADER_ERR_UNKNOWN_ERROR (integer)

Laufzeit-Konfiguration
Trader Funktionen
Trader


Trader Funktionen

Inhaltsverzeichnis

  • trader_acos — Vector Trigonometric ACos
  • trader_ad — Chaikin A/D Line
  • trader_add — Vector Arithmetic Add
  • trader_adosc — Chaikin A/D Oscillator
  • trader_adx — Average Directional Movement Index
  • trader_adxr — Average Directional Movement Index Rating
  • trader_apo — Absolute Price Oscillator
  • trader_aroon — Aroon
  • trader_aroonosc — Aroon Oscillator
  • trader_asin — Vector Trigonometric ASin
  • trader_atan — Vector Trigonometric ATan
  • trader_atr — Average True Range
  • trader_avgprice — Average Price
  • trader_bbands — Bollinger Bands
  • trader_beta — Beta
  • trader_bop — Balance Of Power
  • trader_cci — Commodity Channel Index
  • trader_cdl2crows — Two Crows
  • trader_cdl3blackcrows — Three Black Crows
  • trader_cdl3inside — Three Inside Up/Down
  • trader_cdl3linestrike — Three-Line Strike
  • trader_cdl3outside — Three Outside Up/Down
  • trader_cdl3starsinsouth — Three Stars In The South
  • trader_cdl3whitesoldiers — Three Advancing White Soldiers
  • trader_cdlabandonedbaby — Abandoned Baby
  • trader_cdladvanceblock — Advance Block
  • trader_cdlbelthold — Belt-hold
  • trader_cdlbreakaway — Breakaway
  • trader_cdlclosingmarubozu — Closing Marubozu
  • trader_cdlconcealbabyswall — Concealing Baby Swallow
  • trader_cdlcounterattack — Counterattack
  • trader_cdldarkcloudcover — Dark Cloud Cover
  • trader_cdldoji — Doji
  • trader_cdldojistar — Doji Star
  • trader_cdldragonflydoji — Dragonfly Doji
  • trader_cdlengulfing — Engulfing Pattern
  • trader_cdleveningdojistar — Evening Doji Star
  • trader_cdleveningstar — Evening Star
  • trader_cdlgapsidesidewhite — Up/Down-gap side-by-side white lines
  • trader_cdlgravestonedoji — Gravestone Doji
  • trader_cdlhammer — Hammer
  • trader_cdlhangingman — Hanging Man
  • trader_cdlharami — Harami Pattern
  • trader_cdlharamicross — Harami Cross Pattern
  • trader_cdlhighwave — High-Wave Candle
  • trader_cdlhikkake — Hikkake Pattern
  • trader_cdlhikkakemod — Modified Hikkake Pattern
  • trader_cdlhomingpigeon — Homing Pigeon
  • trader_cdlidentical3crows — Identical Three Crows
  • trader_cdlinneck — In-Neck Pattern
  • trader_cdlinvertedhammer — Inverted Hammer
  • trader_cdlkicking — Kicking
  • trader_cdlkickingbylength — Kicking - bull/bear determined by the longer marubozu
  • trader_cdlladderbottom — Ladder Bottom
  • trader_cdllongleggeddoji — Long Legged Doji
  • trader_cdllongline — Long Line Candle
  • trader_cdlmarubozu — Marubozu
  • trader_cdlmatchinglow — Matching Low
  • trader_cdlmathold — Mat Hold
  • trader_cdlmorningdojistar — Morning Doji Star
  • trader_cdlmorningstar — Morning Star
  • trader_cdlonneck — On-Neck Pattern
  • trader_cdlpiercing — Piercing Pattern
  • trader_cdlrickshawman — Rickshaw Man
  • trader_cdlrisefall3methods — Rising/Falling Three Methods
  • trader_cdlseparatinglines — Separating Lines
  • trader_cdlshootingstar — Shooting Star
  • trader_cdlshortline — Short Line Candle
  • trader_cdlspinningtop — Spinning Top
  • trader_cdlstalledpattern — Stalled Pattern
  • trader_cdlsticksandwich — Stick Sandwich
  • trader_cdltakuri — Takuri (Dragonfly Doji with very long lower shadow)
  • trader_cdltasukigap — Tasuki Gap
  • trader_cdlthrusting — Thrusting Pattern
  • trader_cdltristar — Tristar Pattern
  • trader_cdlunique3river — Unique 3 River
  • trader_cdlupsidegap2crows — Upside Gap Two Crows
  • trader_cdlxsidegap3methods — Upside/Downside Gap Three Methods
  • trader_ceil — Vector Ceil
  • trader_cmo — Chande Momentum Oscillator
  • trader_correl — Pearson's Correlation Coefficient (r)
  • trader_cos — Vector Trigonometric Cos
  • trader_cosh — Vector Trigonometric Cosh
  • trader_dema — Double Exponential Moving Average
  • trader_div — Vector Arithmetic Div
  • trader_dx — Directional Movement Index
  • trader_ema — Exponential Moving Average
  • trader_errno — Get error code
  • trader_exp — Vector Arithmetic Exp
  • trader_floor — Vector Floor
  • trader_get_compat — Get compatibility mode
  • trader_get_unstable_period — Get unstable period
  • trader_ht_dcperiod — Hilbert Transform - Dominant Cycle Period
  • trader_ht_dcphase — Hilbert Transform - Dominant Cycle Phase
  • trader_ht_phasor — Hilbert Transform - Phasor Components
  • trader_ht_sine — Hilbert Transform - SineWave
  • trader_ht_trendline — Hilbert Transform - Instantaneous Trendline
  • trader_ht_trendmode — Hilbert Transform - Trend vs Cycle Mode
  • trader_kama — Kaufman Adaptive Moving Average
  • trader_linearreg_angle — Linear Regression Angle
  • trader_linearreg_intercept — Linear Regression Intercept
  • trader_linearreg_slope — Linear Regression Slope
  • trader_linearreg — Linear Regression
  • trader_ln — Vector Log Natural
  • trader_log10 — Vector Log10
  • trader_ma — Moving average
  • trader_macd — Moving Average Convergence/Divergence
  • trader_macdext — MACD with controllable MA type
  • trader_macdfix — Moving Average Convergence/Divergence Fix 12/26
  • trader_mama — MESA Adaptive Moving Average
  • trader_mavp — Moving average with variable period
  • trader_max — Highest value over a specified period
  • trader_maxindex — Index of highest value over a specified period
  • trader_medprice — Median Price
  • trader_mfi — Money Flow Index
  • trader_midpoint — MidPoint over period
  • trader_midprice — Midpoint Price over period
  • trader_min — Lowest value over a specified period
  • trader_minindex — Index of lowest value over a specified period
  • trader_minmax — Lowest and highest values over a specified period
  • trader_minmaxindex — Indexes of lowest and highest values over a specified period
  • trader_minus_di — Minus Directional Indicator
  • trader_minus_dm — Minus Directional Movement
  • trader_mom — Momentum
  • trader_mult — Vector Arithmetic Mult
  • trader_natr — Normalized Average True Range
  • trader_obv — On Balance Volume
  • trader_plus_di — Plus Directional Indicator
  • trader_plus_dm — Plus Directional Movement
  • trader_ppo — Percentage Price Oscillator
  • trader_roc — Rate of change : ((price/prevPrice)-1)*100
  • trader_rocp — Rate of change Percentage: (price-prevPrice)/prevPrice
  • trader_rocr100 — Rate of change ratio 100 scale: (price/prevPrice)*100
  • trader_rocr — Rate of change ratio: (price/prevPrice)
  • trader_rsi — Relative Strength Index
  • trader_sar — Parabolic SAR
  • trader_sarext — Parabolic SAR - Extended
  • trader_set_compat — Set compatibility mode
  • trader_set_unstable_period — Set unstable period
  • trader_sin — Vector Trigonometric Sin
  • trader_sinh — Vector Trigonometric Sinh
  • trader_sma — Simple Moving Average
  • trader_sqrt — Vector Square Root
  • trader_stddev — Standard Deviation
  • trader_stoch — Stochastic
  • trader_stochf — Stochastic Fast
  • trader_stochrsi — Stochastic Relative Strength Index
  • trader_sub — Vector Arithmetic Subtraction
  • trader_sum — Summation
  • trader_t3 — Triple Exponential Moving Average (T3)
  • trader_tan — Vector Trigonometric Tan
  • trader_tanh — Vector Trigonometric Tanh
  • trader_tema — Triple Exponential Moving Average
  • trader_trange — True Range
  • trader_trima — Triangular Moving Average
  • trader_trix — 1-day Rate-Of-Change (ROC) of a Triple Smooth EMA
  • trader_tsf — Time Series Forecast
  • trader_typprice — Typical Price
  • trader_ultosc — Ultimate Oscillator
  • trader_var — Variance
  • trader_wclprice — Weighted Close Price
  • trader_willr — Williams' %R
  • trader_wma — Weighted Moving Average
Vordefinierte Konstanten
trader_acos
Trader


Vector Trigonometric ACos

Trader Funktionen
trader_ad
Trader Funktionen
PHP Manual

trader_acos

(PECL trader >= 0.2.0)

trader_acos — Vector Trigonometric ACos

Beschreibung

array trader_acos ( array $real )

Calculates the arc cosine for each value in real and returns the resulting array.

Parameter-Liste

real

Array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

Trader Funktionen
trader_ad
Trader Funktionen


Chaikin A/D Line

trader_acos
trader_add
Trader Funktionen
PHP Manual

trader_ad

(PECL trader >= 0.2.0)

trader_ad — Chaikin A/D Line

Beschreibung

array trader_ad ( array $high , array $low , array $close , array $volume )

Parameter-Liste

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

volume

Volume traded, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_acos
trader_add
Trader Funktionen


Vector Arithmetic Add

trader_ad
trader_adosc
Trader Funktionen
PHP Manual

trader_add

(PECL trader >= 0.2.0)

trader_add — Vector Arithmetic Add

Beschreibung

array trader_add ( array $real0 , array $real1 )

Calculates the vector addition of real0 to real1 and returns the resulting vector.

Parameter-Liste

real0

Array of real values.

real1

Array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_ad
trader_adosc
Trader Funktionen


Chaikin A/D Oscillator

trader_add
trader_adx
Trader Funktionen
PHP Manual

trader_adosc

(PECL trader >= 0.2.0)

trader_adosc — Chaikin A/D Oscillator

Beschreibung

array trader_adosc ( array $high , array $low , array $close , array $volume [, integer $fastPeriod [, integer $slowPeriod ]] )

Parameter-Liste

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

volume

Volume traded, array of real values.

fastPeriod

Number of period for the fast MA. Valid range from 2 to 100000.

slowPeriod

Number of period for the slow MA. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_add
trader_adx
Trader Funktionen


Average Directional Movement Index

trader_adosc
trader_adxr
Trader Funktionen
PHP Manual

trader_adx

(PECL trader >= 0.2.0)

trader_adx — Average Directional Movement Index

Beschreibung

array trader_adx ( array $high , array $low , array $close [, integer $timePeriod ] )

Parameter-Liste

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_adosc
trader_adxr
Trader Funktionen


Average Directional Movement Index Rating

trader_adx
trader_apo
Trader Funktionen
PHP Manual

trader_adxr

(PECL trader >= 0.2.0)

trader_adxr — Average Directional Movement Index Rating

Beschreibung

array trader_adxr ( array $high , array $low , array $close [, integer $timePeriod ] )

Parameter-Liste

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_adx
trader_apo
Trader Funktionen


Absolute Price Oscillator

trader_adxr
trader_aroon
Trader Funktionen
PHP Manual

trader_apo

(PECL trader >= 0.2.0)

trader_apo — Absolute Price Oscillator

Beschreibung

array trader_apo ( array $real [, integer $fastPeriod [, integer $slowPeriod [, integer $mAType ]]] )

Parameter-Liste

real

Array of real values.

fastPeriod

Number of period for the fast MA. Valid range from 2 to 100000.

slowPeriod

Number of period for the slow MA. Valid range from 2 to 100000.

mAType

Type of Moving Average. TRADER_MA_TYPE_* series of constants should be used.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_adxr
trader_aroon
Trader Funktionen


Aroon

trader_apo
trader_aroonosc
Trader Funktionen
PHP Manual

trader_aroon

(PECL trader >= 0.2.0)

trader_aroon — Aroon

Beschreibung

array trader_aroon ( array $high , array $low [, integer $timePeriod ] )

Parameter-Liste

high

High price, array of real values.

low

Low price, array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_apo
trader_aroonosc
Trader Funktionen


Aroon Oscillator

trader_aroon
trader_asin
Trader Funktionen
PHP Manual

trader_aroonosc

(PECL trader >= 0.2.0)

trader_aroonosc — Aroon Oscillator

Beschreibung

array trader_aroonosc ( array $high , array $low [, integer $timePeriod ] )

Parameter-Liste

high

High price, array of real values.

low

Low price, array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_aroon
trader_asin
Trader Funktionen


Vector Trigonometric ASin

trader_aroonosc
trader_atan
Trader Funktionen
PHP Manual

trader_asin

(PECL trader >= 0.2.0)

trader_asin — Vector Trigonometric ASin

Beschreibung

array trader_asin ( array $real )

Calculates the arc sine for each value in real and returns the resulting array.

Parameter-Liste

real

Array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_aroonosc
trader_atan
Trader Funktionen


Vector Trigonometric ATan

trader_asin
trader_atr
Trader Funktionen
PHP Manual

trader_atan

(PECL trader >= 0.2.0)

trader_atan — Vector Trigonometric ATan

Beschreibung

array trader_atan ( array $real )

Calculates the arc tangent for each value in real and returns the resulting array.

Parameter-Liste

real

Array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_asin
trader_atr
Trader Funktionen


Average True Range

trader_atan
trader_avgprice
Trader Funktionen
PHP Manual

trader_atr

(PECL trader >= 0.2.0)

trader_atr — Average True Range

Beschreibung

array trader_atr ( array $high , array $low , array $close [, integer $timePeriod ] )

Parameter-Liste

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_atan
trader_avgprice
Trader Funktionen


Average Price

trader_atr
trader_bbands
Trader Funktionen
PHP Manual

trader_avgprice

(PECL trader >= 0.2.0)

trader_avgprice — Average Price

Beschreibung

array trader_avgprice ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_atr
trader_bbands
Trader Funktionen


Bollinger Bands

trader_avgprice
trader_beta
Trader Funktionen
PHP Manual

trader_bbands

(PECL trader >= 0.2.0)

trader_bbands — Bollinger Bands

Beschreibung

array trader_bbands ( array $real [, integer $timePeriod [, float $nbDevUp [, float $nbDevDn [, integer $mAType ]]]] )

Parameter-Liste

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

nbDevUp

Deviation multiplier for upper band. Valid range from TRADER_REAL_MIN to TRADER_REAL_MAX.

nbDevDn

Deviation multiplier for lower band. Valid range from TRADER_REAL_MIN to TRADER_REAL_MAX.

mAType

Type of Moving Average. TRADER_MA_TYPE_* series of constants should be used.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_avgprice
trader_beta
Trader Funktionen


Beta

trader_bbands
trader_bop
Trader Funktionen
PHP Manual

trader_beta

(PECL trader >= 0.2.0)

trader_beta — Beta

Beschreibung

array trader_beta ( array $real0 , array $real1 [, integer $timePeriod ] )

Parameter-Liste

real0

Array of real values.

real1

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_bbands
trader_bop
Trader Funktionen


Balance Of Power

trader_beta
trader_cci
Trader Funktionen
PHP Manual

trader_bop

(PECL trader >= 0.2.0)

trader_bop — Balance Of Power

Beschreibung

array trader_bop ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_beta
trader_cci
Trader Funktionen


Commodity Channel Index

trader_bop
trader_cdl2crows
Trader Funktionen
PHP Manual

trader_cci

(PECL trader >= 0.2.0)

trader_cci — Commodity Channel Index

Beschreibung

array trader_cci ( array $high , array $low , array $close [, integer $timePeriod ] )

Parameter-Liste

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_bop
trader_cdl2crows
Trader Funktionen


Two Crows

trader_cci
trader_cdl3blackcrows
Trader Funktionen
PHP Manual

trader_cdl2crows

(PECL trader >= 0.2.0)

trader_cdl2crows — Two Crows

Beschreibung

array trader_cdl2crows ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cci
trader_cdl3blackcrows
Trader Funktionen


Three Black Crows

trader_cdl2crows
trader_cdl3inside
Trader Funktionen
PHP Manual

trader_cdl3blackcrows

(PECL trader >= 0.2.0)

trader_cdl3blackcrows — Three Black Crows

Beschreibung

array trader_cdl3blackcrows ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdl2crows
trader_cdl3inside
Trader Funktionen


Three Inside Up/Down

trader_cdl3blackcrows
trader_cdl3linestrike
Trader Funktionen
PHP Manual

trader_cdl3inside

(PECL trader >= 0.2.0)

trader_cdl3inside — Three Inside Up/Down

Beschreibung

array trader_cdl3inside ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdl3blackcrows
trader_cdl3linestrike
Trader Funktionen


Three-Line Strike

trader_cdl3inside
trader_cdl3outside
Trader Funktionen
PHP Manual

trader_cdl3linestrike

(PECL trader >= 0.2.0)

trader_cdl3linestrike — Three-Line Strike

Beschreibung

array trader_cdl3linestrike ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdl3inside
trader_cdl3outside
Trader Funktionen


Three Outside Up/Down

trader_cdl3linestrike
trader_cdl3starsinsouth
Trader Funktionen
PHP Manual

trader_cdl3outside

(PECL trader >= 0.2.0)

trader_cdl3outside — Three Outside Up/Down

Beschreibung

array trader_cdl3outside ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdl3linestrike
trader_cdl3starsinsouth
Trader Funktionen


Three Stars In The South

trader_cdl3outside
trader_cdl3whitesoldiers
Trader Funktionen
PHP Manual

trader_cdl3starsinsouth

(PECL trader >= 0.2.0)

trader_cdl3starsinsouth — Three Stars In The South

Beschreibung

array trader_cdl3starsinsouth ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdl3outside
trader_cdl3whitesoldiers
Trader Funktionen


Three Advancing White Soldiers

trader_cdl3starsinsouth
trader_cdlabandonedbaby
Trader Funktionen
PHP Manual

trader_cdl3whitesoldiers

(PECL trader >= 0.2.0)

trader_cdl3whitesoldiers — Three Advancing White Soldiers

Beschreibung

array trader_cdl3whitesoldiers ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdl3starsinsouth
trader_cdlabandonedbaby
Trader Funktionen


Abandoned Baby

trader_cdl3whitesoldiers
trader_cdladvanceblock
Trader Funktionen
PHP Manual

trader_cdlabandonedbaby

(PECL trader >= 0.2.0)

trader_cdlabandonedbaby — Abandoned Baby

Beschreibung

array trader_cdlabandonedbaby ( array $open , array $high , array $low , array $close [, float $penetration ] )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

penetration

Percentage of penetration of a candle within another candle.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdl3whitesoldiers
trader_cdladvanceblock
Trader Funktionen


Advance Block

trader_cdlabandonedbaby
trader_cdlbelthold
Trader Funktionen
PHP Manual

trader_cdladvanceblock

(PECL trader >= 0.2.0)

trader_cdladvanceblock — Advance Block

Beschreibung

array trader_cdladvanceblock ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlabandonedbaby
trader_cdlbelthold
Trader Funktionen


Belt-hold

trader_cdladvanceblock
trader_cdlbreakaway
Trader Funktionen
PHP Manual

trader_cdlbelthold

(PECL trader >= 0.2.0)

trader_cdlbelthold — Belt-hold

Beschreibung

array trader_cdlbelthold ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdladvanceblock
trader_cdlbreakaway
Trader Funktionen


Breakaway

trader_cdlbelthold
trader_cdlclosingmarubozu
Trader Funktionen
PHP Manual

trader_cdlbreakaway

(PECL trader >= 0.2.0)

trader_cdlbreakaway — Breakaway

Beschreibung

array trader_cdlbreakaway ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlbelthold
trader_cdlclosingmarubozu
Trader Funktionen


Closing Marubozu

trader_cdlbreakaway
trader_cdlconcealbabyswall
Trader Funktionen
PHP Manual

trader_cdlclosingmarubozu

(PECL trader >= 0.2.0)

trader_cdlclosingmarubozu — Closing Marubozu

Beschreibung

array trader_cdlclosingmarubozu ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlbreakaway
trader_cdlconcealbabyswall
Trader Funktionen


Concealing Baby Swallow

trader_cdlclosingmarubozu
trader_cdlcounterattack
Trader Funktionen
PHP Manual

trader_cdlconcealbabyswall

(PECL trader >= 0.2.0)

trader_cdlconcealbabyswall — Concealing Baby Swallow

Beschreibung

array trader_cdlconcealbabyswall ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlclosingmarubozu
trader_cdlcounterattack
Trader Funktionen


Counterattack

trader_cdlconcealbabyswall
trader_cdldarkcloudcover
Trader Funktionen
PHP Manual

trader_cdlcounterattack

(PECL trader >= 0.2.0)

trader_cdlcounterattack — Counterattack

Beschreibung

array trader_cdlcounterattack ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlconcealbabyswall
trader_cdldarkcloudcover
Trader Funktionen


Dark Cloud Cover

trader_cdlcounterattack
trader_cdldoji
Trader Funktionen
PHP Manual

trader_cdldarkcloudcover

(PECL trader >= 0.2.0)

trader_cdldarkcloudcover — Dark Cloud Cover

Beschreibung

array trader_cdldarkcloudcover ( array $open , array $high , array $low , array $close [, float $penetration ] )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

penetration

Percentage of penetration of a candle within another candle.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlcounterattack
trader_cdldoji
Trader Funktionen


Doji

trader_cdldarkcloudcover
trader_cdldojistar
Trader Funktionen
PHP Manual

trader_cdldoji

(PECL trader >= 0.2.0)

trader_cdldoji — Doji

Beschreibung

array trader_cdldoji ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdldarkcloudcover
trader_cdldojistar
Trader Funktionen


Doji Star

trader_cdldoji
trader_cdldragonflydoji
Trader Funktionen
PHP Manual

trader_cdldojistar

(PECL trader >= 0.2.0)

trader_cdldojistar — Doji Star

Beschreibung

array trader_cdldojistar ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdldoji
trader_cdldragonflydoji
Trader Funktionen


Dragonfly Doji

trader_cdldojistar
trader_cdlengulfing
Trader Funktionen
PHP Manual

trader_cdldragonflydoji

(PECL trader >= 0.2.0)

trader_cdldragonflydoji — Dragonfly Doji

Beschreibung

array trader_cdldragonflydoji ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdldojistar
trader_cdlengulfing
Trader Funktionen


Engulfing Pattern

trader_cdldragonflydoji
trader_cdleveningdojistar
Trader Funktionen
PHP Manual

trader_cdlengulfing

(PECL trader >= 0.2.0)

trader_cdlengulfing — Engulfing Pattern

Beschreibung

array trader_cdlengulfing ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdldragonflydoji
trader_cdleveningdojistar
Trader Funktionen


Evening Doji Star

trader_cdlengulfing
trader_cdleveningstar
Trader Funktionen
PHP Manual

trader_cdleveningdojistar

(PECL trader >= 0.2.0)

trader_cdleveningdojistar — Evening Doji Star

Beschreibung

array trader_cdleveningdojistar ( array $open , array $high , array $low , array $close [, float $penetration ] )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

penetration

Percentage of penetration of a candle within another candle.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlengulfing
trader_cdleveningstar
Trader Funktionen


Evening Star

trader_cdleveningdojistar
trader_cdlgapsidesidewhite
Trader Funktionen
PHP Manual

trader_cdleveningstar

(PECL trader >= 0.2.0)

trader_cdleveningstar — Evening Star

Beschreibung

array trader_cdleveningstar ( array $open , array $high , array $low , array $close [, float $penetration ] )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

penetration

Percentage of penetration of a candle within another candle.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdleveningdojistar
trader_cdlgapsidesidewhite
Trader Funktionen


Up/Down-gap side-by-side white lines

trader_cdleveningstar
trader_cdlgravestonedoji
Trader Funktionen
PHP Manual

trader_cdlgapsidesidewhite

(PECL trader >= 0.2.0)

trader_cdlgapsidesidewhite — Up/Down-gap side-by-side white lines

Beschreibung

array trader_cdlgapsidesidewhite ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdleveningstar
trader_cdlgravestonedoji
Trader Funktionen


Gravestone Doji

trader_cdlgapsidesidewhite
trader_cdlhammer
Trader Funktionen
PHP Manual

trader_cdlgravestonedoji

(PECL trader >= 0.2.0)

trader_cdlgravestonedoji — Gravestone Doji

Beschreibung

array trader_cdlgravestonedoji ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlgapsidesidewhite
trader_cdlhammer
Trader Funktionen


Hammer

trader_cdlgravestonedoji
trader_cdlhangingman
Trader Funktionen
PHP Manual

trader_cdlhammer

(PECL trader >= 0.2.0)

trader_cdlhammer — Hammer

Beschreibung

array trader_cdlhammer ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlgravestonedoji
trader_cdlhangingman
Trader Funktionen


Hanging Man

trader_cdlhammer
trader_cdlharami
Trader Funktionen
PHP Manual

trader_cdlhangingman

(PECL trader >= 0.2.0)

trader_cdlhangingman — Hanging Man

Beschreibung

array trader_cdlhangingman ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlhammer
trader_cdlharami
Trader Funktionen


Harami Pattern

trader_cdlhangingman
trader_cdlharamicross
Trader Funktionen
PHP Manual

trader_cdlharami

(PECL trader >= 0.2.0)

trader_cdlharami — Harami Pattern

Beschreibung

array trader_cdlharami ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlhangingman
trader_cdlharamicross
Trader Funktionen


Harami Cross Pattern

trader_cdlharami
trader_cdlhighwave
Trader Funktionen
PHP Manual

trader_cdlharamicross

(PECL trader >= 0.2.0)

trader_cdlharamicross — Harami Cross Pattern

Beschreibung

array trader_cdlharamicross ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlharami
trader_cdlhighwave
Trader Funktionen


High-Wave Candle

trader_cdlharamicross
trader_cdlhikkake
Trader Funktionen
PHP Manual

trader_cdlhighwave

(PECL trader >= 0.2.0)

trader_cdlhighwave — High-Wave Candle

Beschreibung

array trader_cdlhighwave ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlharamicross
trader_cdlhikkake
Trader Funktionen


Hikkake Pattern

trader_cdlhighwave
trader_cdlhikkakemod
Trader Funktionen
PHP Manual

trader_cdlhikkake

(PECL trader >= 0.2.0)

trader_cdlhikkake — Hikkake Pattern

Beschreibung

array trader_cdlhikkake ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlhighwave
trader_cdlhikkakemod
Trader Funktionen


Modified Hikkake Pattern

trader_cdlhikkake
trader_cdlhomingpigeon
Trader Funktionen
PHP Manual

trader_cdlhikkakemod

(PECL trader >= 0.2.0)

trader_cdlhikkakemod — Modified Hikkake Pattern

Beschreibung

array trader_cdlhikkakemod ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlhikkake
trader_cdlhomingpigeon
Trader Funktionen


Homing Pigeon

trader_cdlhikkakemod
trader_cdlidentical3crows
Trader Funktionen
PHP Manual

trader_cdlhomingpigeon

(PECL trader >= 0.2.0)

trader_cdlhomingpigeon — Homing Pigeon

Beschreibung

array trader_cdlhomingpigeon ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlhikkakemod
trader_cdlidentical3crows
Trader Funktionen


Identical Three Crows

trader_cdlhomingpigeon
trader_cdlinneck
Trader Funktionen
PHP Manual

trader_cdlidentical3crows

(PECL trader >= 0.2.0)

trader_cdlidentical3crows — Identical Three Crows

Beschreibung

array trader_cdlidentical3crows ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlhomingpigeon
trader_cdlinneck
Trader Funktionen


In-Neck Pattern

trader_cdlidentical3crows
trader_cdlinvertedhammer
Trader Funktionen
PHP Manual

trader_cdlinneck

(PECL trader >= 0.2.0)

trader_cdlinneck — In-Neck Pattern

Beschreibung

array trader_cdlinneck ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlidentical3crows
trader_cdlinvertedhammer
Trader Funktionen


Inverted Hammer

trader_cdlinneck
trader_cdlkicking
Trader Funktionen
PHP Manual

trader_cdlinvertedhammer

(PECL trader >= 0.2.0)

trader_cdlinvertedhammer — Inverted Hammer

Beschreibung

array trader_cdlinvertedhammer ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlinneck
trader_cdlkicking
Trader Funktionen


Kicking

trader_cdlinvertedhammer
trader_cdlkickingbylength
Trader Funktionen
PHP Manual

trader_cdlkicking

(PECL trader >= 0.2.0)

trader_cdlkicking — Kicking

Beschreibung

array trader_cdlkicking ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlinvertedhammer
trader_cdlkickingbylength
Trader Funktionen


Kicking - bull/bear determined by the longer marubozu

trader_cdlkicking
trader_cdlladderbottom
Trader Funktionen
PHP Manual

trader_cdlkickingbylength

(PECL trader >= 0.2.0)

trader_cdlkickingbylength — Kicking - bull/bear determined by the longer marubozu

Beschreibung

array trader_cdlkickingbylength ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlkicking
trader_cdlladderbottom
Trader Funktionen


Ladder Bottom

trader_cdlkickingbylength
trader_cdllongleggeddoji
Trader Funktionen
PHP Manual

trader_cdlladderbottom

(PECL trader >= 0.2.0)

trader_cdlladderbottom — Ladder Bottom

Beschreibung

array trader_cdlladderbottom ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlkickingbylength
trader_cdllongleggeddoji
Trader Funktionen


Long Legged Doji

trader_cdlladderbottom
trader_cdllongline
Trader Funktionen
PHP Manual

trader_cdllongleggeddoji

(PECL trader >= 0.2.0)

trader_cdllongleggeddoji — Long Legged Doji

Beschreibung

array trader_cdllongleggeddoji ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlladderbottom
trader_cdllongline
Trader Funktionen


Long Line Candle

trader_cdllongleggeddoji
trader_cdlmarubozu
Trader Funktionen
PHP Manual

trader_cdllongline

(PECL trader >= 0.2.0)

trader_cdllongline — Long Line Candle

Beschreibung

array trader_cdllongline ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdllongleggeddoji
trader_cdlmarubozu
Trader Funktionen


Marubozu

trader_cdllongline
trader_cdlmatchinglow
Trader Funktionen
PHP Manual

trader_cdlmarubozu

(PECL trader >= 0.2.0)

trader_cdlmarubozu — Marubozu

Beschreibung

array trader_cdlmarubozu ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdllongline
trader_cdlmatchinglow
Trader Funktionen


Matching Low

trader_cdlmarubozu
trader_cdlmathold
Trader Funktionen
PHP Manual

trader_cdlmatchinglow

(PECL trader >= 0.2.0)

trader_cdlmatchinglow — Matching Low

Beschreibung

array trader_cdlmatchinglow ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlmarubozu
trader_cdlmathold
Trader Funktionen


Mat Hold

trader_cdlmatchinglow
trader_cdlmorningdojistar
Trader Funktionen
PHP Manual

trader_cdlmathold

(PECL trader >= 0.2.0)

trader_cdlmathold — Mat Hold

Beschreibung

array trader_cdlmathold ( array $open , array $high , array $low , array $close [, float $penetration ] )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

penetration

Percentage of penetration of a candle within another candle.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlmatchinglow
trader_cdlmorningdojistar
Trader Funktionen


Morning Doji Star

trader_cdlmathold
trader_cdlmorningstar
Trader Funktionen
PHP Manual

trader_cdlmorningdojistar

(PECL trader >= 0.2.0)

trader_cdlmorningdojistar — Morning Doji Star

Beschreibung

array trader_cdlmorningdojistar ( array $open , array $high , array $low , array $close [, float $penetration ] )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

penetration

Percentage of penetration of a candle within another candle.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlmathold
trader_cdlmorningstar
Trader Funktionen


Morning Star

trader_cdlmorningdojistar
trader_cdlonneck
Trader Funktionen
PHP Manual

trader_cdlmorningstar

(PECL trader >= 0.2.0)

trader_cdlmorningstar — Morning Star

Beschreibung

array trader_cdlmorningstar ( array $open , array $high , array $low , array $close [, float $penetration ] )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

penetration

Percentage of penetration of a candle within another candle.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlmorningdojistar
trader_cdlonneck
Trader Funktionen


On-Neck Pattern

trader_cdlmorningstar
trader_cdlpiercing
Trader Funktionen
PHP Manual

trader_cdlonneck

(PECL trader >= 0.2.0)

trader_cdlonneck — On-Neck Pattern

Beschreibung

array trader_cdlonneck ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlmorningstar
trader_cdlpiercing
Trader Funktionen


Piercing Pattern

trader_cdlonneck
trader_cdlrickshawman
Trader Funktionen
PHP Manual

trader_cdlpiercing

(PECL trader >= 0.2.0)

trader_cdlpiercing — Piercing Pattern

Beschreibung

array trader_cdlpiercing ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlonneck
trader_cdlrickshawman
Trader Funktionen


Rickshaw Man

trader_cdlpiercing
trader_cdlrisefall3methods
Trader Funktionen
PHP Manual

trader_cdlrickshawman

(PECL trader >= 0.2.0)

trader_cdlrickshawman — Rickshaw Man

Beschreibung

array trader_cdlrickshawman ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlpiercing
trader_cdlrisefall3methods
Trader Funktionen


Rising/Falling Three Methods

trader_cdlrickshawman
trader_cdlseparatinglines
Trader Funktionen
PHP Manual

trader_cdlrisefall3methods

(PECL trader >= 0.2.0)

trader_cdlrisefall3methods — Rising/Falling Three Methods

Beschreibung

array trader_cdlrisefall3methods ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlrickshawman
trader_cdlseparatinglines
Trader Funktionen


Separating Lines

trader_cdlrisefall3methods
trader_cdlshootingstar
Trader Funktionen
PHP Manual

trader_cdlseparatinglines

(PECL trader >= 0.2.0)

trader_cdlseparatinglines — Separating Lines

Beschreibung

array trader_cdlseparatinglines ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlrisefall3methods
trader_cdlshootingstar
Trader Funktionen


Shooting Star

trader_cdlseparatinglines
trader_cdlshortline
Trader Funktionen
PHP Manual

trader_cdlshootingstar

(PECL trader >= 0.2.0)

trader_cdlshootingstar — Shooting Star

Beschreibung

array trader_cdlshootingstar ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlseparatinglines
trader_cdlshortline
Trader Funktionen


Short Line Candle

trader_cdlshootingstar
trader_cdlspinningtop
Trader Funktionen
PHP Manual

trader_cdlshortline

(PECL trader >= 0.2.0)

trader_cdlshortline — Short Line Candle

Beschreibung

array trader_cdlshortline ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlshootingstar
trader_cdlspinningtop
Trader Funktionen


Spinning Top

trader_cdlshortline
trader_cdlstalledpattern
Trader Funktionen
PHP Manual

trader_cdlspinningtop

(PECL trader >= 0.2.0)

trader_cdlspinningtop — Spinning Top

Beschreibung

array trader_cdlspinningtop ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlshortline
trader_cdlstalledpattern
Trader Funktionen


Stalled Pattern

trader_cdlspinningtop
trader_cdlsticksandwich
Trader Funktionen
PHP Manual

trader_cdlstalledpattern

(PECL trader >= 0.2.0)

trader_cdlstalledpattern — Stalled Pattern

Beschreibung

array trader_cdlstalledpattern ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlspinningtop
trader_cdlsticksandwich
Trader Funktionen


Stick Sandwich

trader_cdlstalledpattern
trader_cdltakuri
Trader Funktionen
PHP Manual

trader_cdlsticksandwich

(PECL trader >= 0.2.0)

trader_cdlsticksandwich — Stick Sandwich

Beschreibung

array trader_cdlsticksandwich ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlstalledpattern
trader_cdltakuri
Trader Funktionen


Takuri (Dragonfly Doji with very long lower shadow)

trader_cdlsticksandwich
trader_cdltasukigap
Trader Funktionen
PHP Manual

trader_cdltakuri

(PECL trader >= 0.2.0)

trader_cdltakuri — Takuri (Dragonfly Doji with very long lower shadow)

Beschreibung

array trader_cdltakuri ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlsticksandwich
trader_cdltasukigap
Trader Funktionen


Tasuki Gap

trader_cdltakuri
trader_cdlthrusting
Trader Funktionen
PHP Manual

trader_cdltasukigap

(PECL trader >= 0.2.0)

trader_cdltasukigap — Tasuki Gap

Beschreibung

array trader_cdltasukigap ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdltakuri
trader_cdlthrusting
Trader Funktionen


Thrusting Pattern

trader_cdltasukigap
trader_cdltristar
Trader Funktionen
PHP Manual

trader_cdlthrusting

(PECL trader >= 0.2.0)

trader_cdlthrusting — Thrusting Pattern

Beschreibung

array trader_cdlthrusting ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdltasukigap
trader_cdltristar
Trader Funktionen


Tristar Pattern

trader_cdlthrusting
trader_cdlunique3river
Trader Funktionen
PHP Manual

trader_cdltristar

(PECL trader >= 0.2.0)

trader_cdltristar — Tristar Pattern

Beschreibung

array trader_cdltristar ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlthrusting
trader_cdlunique3river
Trader Funktionen


Unique 3 River

trader_cdltristar
trader_cdlupsidegap2crows
Trader Funktionen
PHP Manual

trader_cdlunique3river

(PECL trader >= 0.2.0)

trader_cdlunique3river — Unique 3 River

Beschreibung

array trader_cdlunique3river ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdltristar
trader_cdlupsidegap2crows
Trader Funktionen


Upside Gap Two Crows

trader_cdlunique3river
trader_cdlxsidegap3methods
Trader Funktionen
PHP Manual

trader_cdlupsidegap2crows

(PECL trader >= 0.2.0)

trader_cdlupsidegap2crows — Upside Gap Two Crows

Beschreibung

array trader_cdlupsidegap2crows ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlunique3river
trader_cdlxsidegap3methods
Trader Funktionen


Upside/Downside Gap Three Methods

trader_cdlupsidegap2crows
trader_ceil
Trader Funktionen
PHP Manual

trader_cdlxsidegap3methods

(PECL trader >= 0.2.0)

trader_cdlxsidegap3methods — Upside/Downside Gap Three Methods

Beschreibung

array trader_cdlxsidegap3methods ( array $open , array $high , array $low , array $close )

Parameter-Liste

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlupsidegap2crows
trader_ceil
Trader Funktionen


Vector Ceil

trader_cdlxsidegap3methods
trader_cmo
Trader Funktionen
PHP Manual

trader_ceil

(PECL trader >= 0.2.0)

trader_ceil — Vector Ceil

Beschreibung

array trader_ceil ( array $real )

Calculates the next higest integer for each value in real and returns the resulting array.

Parameter-Liste

real

Array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cdlxsidegap3methods
trader_cmo
Trader Funktionen


Chande Momentum Oscillator

trader_ceil
trader_correl
Trader Funktionen
PHP Manual

trader_cmo

(PECL trader >= 0.2.0)

trader_cmo — Chande Momentum Oscillator

Beschreibung

array trader_cmo ( array $real [, integer $timePeriod ] )

Parameter-Liste

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_ceil
trader_correl
Trader Funktionen


Pearson's Correlation Coefficient (r)

trader_cmo
trader_cos
Trader Funktionen
PHP Manual

trader_correl

(PECL trader >= 0.2.0)

trader_correl — Pearson's Correlation Coefficient (r)

Beschreibung

array trader_correl ( array $real0 , array $real1 [, integer $timePeriod ] )

Parameter-Liste

real0

Array of real values.

real1

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cmo
trader_cos
Trader Funktionen


Vector Trigonometric Cos

trader_correl
trader_cosh
Trader Funktionen
PHP Manual

trader_cos

(PECL trader >= 0.2.0)

trader_cos — Vector Trigonometric Cos

Beschreibung

array trader_cos ( array $real )

Calculates the cosine for each value in real and returns the resulting array.

Parameter-Liste

real

Array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_correl
trader_cosh
Trader Funktionen


Vector Trigonometric Cosh

trader_cos
trader_dema
Trader Funktionen
PHP Manual

trader_cosh

(PECL trader >= 0.2.0)

trader_cosh — Vector Trigonometric Cosh

Beschreibung

array trader_cosh ( array $real )

Calculates the hyperbolic cosine for each value in real and returns the resulting array.

Parameter-Liste

real

Array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cos
trader_dema
Trader Funktionen


Double Exponential Moving Average

trader_cosh
trader_div
Trader Funktionen
PHP Manual

trader_dema

(PECL trader >= 0.2.0)

trader_dema — Double Exponential Moving Average

Beschreibung

array trader_dema ( array $real [, integer $timePeriod ] )

Parameter-Liste

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_cosh
trader_div
Trader Funktionen


Vector Arithmetic Div

trader_dema
trader_dx
Trader Funktionen
PHP Manual

trader_div

(PECL trader >= 0.2.0)

trader_div — Vector Arithmetic Div

Beschreibung

array trader_div ( array $real0 , array $real1 )

Divides each value from real0 by the corresponding value from real1 and returns the resulting array.

Parameter-Liste

real0

Array of real values.

real1

Array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_dema
trader_dx
Trader Funktionen


Directional Movement Index

trader_div
trader_ema
Trader Funktionen
PHP Manual

trader_dx

(PECL trader >= 0.2.0)

trader_dx — Directional Movement Index

Beschreibung

array trader_dx ( array $high , array $low , array $close [, integer $timePeriod ] )

Parameter-Liste

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_div
trader_ema
Trader Funktionen


Exponential Moving Average

trader_dx
trader_errno
Trader Funktionen
PHP Manual

trader_ema

(PECL trader >= 0.2.0)

trader_ema — Exponential Moving Average

Beschreibung

array trader_ema ( array $real [, integer $timePeriod ] )

Parameter-Liste

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_dx
trader_errno
Trader Funktionen


Get error code

trader_ema
trader_exp
Trader Funktionen
PHP Manual

trader_errno

(PECL trader >= 0.3.0)

trader_errno — Get error code

Beschreibung

integer trader_errno ( void )

Get error code of the last operation.

Rückgabewerte

Returns the error code identified by one of the TRADER_ERR_* constants.

trader_ema
trader_exp
Trader Funktionen


Vector Arithmetic Exp

trader_errno
trader_floor
Trader Funktionen
PHP Manual

trader_exp

(PECL trader >= 0.2.0)

trader_exp — Vector Arithmetic Exp

Beschreibung

array trader_exp ( array $real )

Calculates e raised to the power of each value in real. Returns an array with the calculated data.

Parameter-Liste

real

Array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_errno
trader_floor
Trader Funktionen


Vector Floor

trader_exp
trader_get_compat
Trader Funktionen
PHP Manual

trader_floor

(PECL trader >= 0.2.0)

trader_floor — Vector Floor

Beschreibung

array trader_floor ( array $real )

Calculates the next lowest integer for each value in real and returns the resulting array.

Parameter-Liste

real

Array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_exp
trader_get_compat
Trader Funktionen


Get compatibility mode

trader_floor
trader_get_unstable_period
Trader Funktionen
PHP Manual

trader_get_compat

(PECL trader >= 0.2.2)

trader_get_compat — Get compatibility mode

Beschreibung

integer trader_get_compat ( void )

Get compatibility mode which affects the way calculations are done by all the extension functions.

Rückgabewerte

Returns the compatibility mode id which can be identified by TRADER_COMPATIBILITY_* series of constants.

trader_floor
trader_get_unstable_period
Trader Funktionen


Get unstable period

trader_get_compat
trader_ht_dcperiod
Trader Funktionen
PHP Manual

trader_get_unstable_period

(PECL trader >= 0.2.2)

trader_get_unstable_period — Get unstable period

Beschreibung

integer trader_get_unstable_period ( integer $functionId )

Get unstable period factor for a particular function.

Parameter-Liste

functionId

Function ID the factor to be read for. TRADER_FUNC_UNST_* series of constants should be used.

Rückgabewerte

Returns the unstable period factor for the corresponding function.

trader_get_compat
trader_ht_dcperiod
Trader Funktionen


Hilbert Transform - Dominant Cycle Period

trader_get_unstable_period
trader_ht_dcphase
Trader Funktionen
PHP Manual

trader_ht_dcperiod

(PECL trader >= 0.2.0)

trader_ht_dcperiod — Hilbert Transform - Dominant Cycle Period

Beschreibung

array trader_ht_dcperiod ( array $real )

Parameter-Liste

real

Array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_get_unstable_period
trader_ht_dcphase
Trader Funktionen


Hilbert Transform - Dominant Cycle Phase

trader_ht_dcperiod
trader_ht_phasor
Trader Funktionen
PHP Manual

trader_ht_dcphase

(PECL trader >= 0.2.0)

trader_ht_dcphase — Hilbert Transform - Dominant Cycle Phase

Beschreibung

array trader_ht_dcphase ( array $real )

Parameter-Liste

real

Array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_ht_dcperiod
trader_ht_phasor
Trader Funktionen


Hilbert Transform - Phasor Components

trader_ht_dcphase
trader_ht_sine
Trader Funktionen
PHP Manual

trader_ht_phasor

(PECL trader >= 0.2.0)

trader_ht_phasor — Hilbert Transform - Phasor Components

Beschreibung

array trader_ht_phasor ( array $real )

Parameter-Liste

real

Array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_ht_dcphase
trader_ht_sine
Trader Funktionen


Hilbert Transform - SineWave

trader_ht_phasor
trader_ht_trendline
Trader Funktionen
PHP Manual

trader_ht_sine

(PECL trader >= 0.2.0)

trader_ht_sine — Hilbert Transform - SineWave

Beschreibung

array trader_ht_sine ( array $real )

Parameter-Liste

real

Array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_ht_phasor
trader_ht_trendline
Trader Funktionen


Hilbert Transform - Instantaneous Trendline

trader_ht_sine
trader_ht_trendmode
Trader Funktionen
PHP Manual

trader_ht_trendline

(PECL trader >= 0.2.0)

trader_ht_trendline — Hilbert Transform - Instantaneous Trendline

Beschreibung

array trader_ht_trendline ( array $real )

Parameter-Liste

real

Array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_ht_sine
trader_ht_trendmode
Trader Funktionen


Hilbert Transform - Trend vs Cycle Mode

trader_ht_trendline
trader_kama
Trader Funktionen
PHP Manual

trader_ht_trendmode

(PECL trader >= 0.2.0)

trader_ht_trendmode — Hilbert Transform - Trend vs Cycle Mode

Beschreibung

array trader_ht_trendmode ( array $real )

Parameter-Liste

real

Array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_ht_trendline
trader_kama
Trader Funktionen


Kaufman Adaptive Moving Average

trader_ht_trendmode
trader_linearreg_angle
Trader Funktionen
PHP Manual

trader_kama

(PECL trader >= 0.2.0)

trader_kama — Kaufman Adaptive Moving Average

Beschreibung

array trader_kama ( array $real [, integer $timePeriod ] )

Parameter-Liste

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_ht_trendmode
trader_linearreg_angle
Trader Funktionen


Linear Regression Angle

trader_kama
trader_linearreg_intercept
Trader Funktionen
PHP Manual

trader_linearreg_angle

(PECL trader >= 0.2.0)

trader_linearreg_angle — Linear Regression Angle

Beschreibung

array trader_linearreg_angle ( array $real [, integer $timePeriod ] )

Parameter-Liste

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_kama
trader_linearreg_intercept
Trader Funktionen


Linear Regression Intercept

trader_linearreg_angle
trader_linearreg_slope
Trader Funktionen
PHP Manual

trader_linearreg_intercept

(PECL trader >= 0.2.0)

trader_linearreg_intercept — Linear Regression Intercept

Beschreibung

array trader_linearreg_intercept ( array $real [, integer $timePeriod ] )

Parameter-Liste

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_linearreg_angle
trader_linearreg_slope
Trader Funktionen


Linear Regression Slope

trader_linearreg_intercept
trader_linearreg
Trader Funktionen
PHP Manual

trader_linearreg_slope

(PECL trader >= 0.2.0)

trader_linearreg_slope — Linear Regression Slope

Beschreibung

array trader_linearreg_slope ( array $real [, integer $timePeriod ] )

Parameter-Liste

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_linearreg_intercept
trader_linearreg
Trader Funktionen


Linear Regression

trader_linearreg_slope
trader_ln
Trader Funktionen
PHP Manual

trader_linearreg

(PECL trader >= 0.2.0)

trader_linearreg — Linear Regression

Beschreibung

array trader_linearreg ( array $real [, integer $timePeriod ] )

Parameter-Liste

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_linearreg_slope
trader_ln
Trader Funktionen


Vector Log Natural

trader_linearreg
trader_log10
Trader Funktionen
PHP Manual

trader_ln

(PECL trader >= 0.2.0)

trader_ln — Vector Log Natural

Beschreibung

array trader_ln ( array $real )

Calculates the natural logarithm for each value in real and returns the resulting array.

Parameter-Liste

real

Array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_linearreg
trader_log10
Trader Funktionen


Vector Log10

trader_ln
trader_ma
Trader Funktionen
PHP Manual

trader_log10

(PECL trader >= 0.2.0)

trader_log10 — Vector Log10

Beschreibung

array trader_log10 ( array $real )

Calculates the base-10 logarithm for each value in real and returns the resulting array.

Parameter-Liste

real

Array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_ln
trader_ma
Trader Funktionen


Moving average

trader_log10
trader_macd
Trader Funktionen
PHP Manual

trader_ma

(PECL trader >= 0.2.0)

trader_ma — Moving average

Beschreibung

array trader_ma ( array $real [, integer $timePeriod [, integer $mAType ]] )

Parameter-Liste

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

mAType

Type of Moving Average. TRADER_MA_TYPE_* series of constants should be used.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_log10
trader_macd
Trader Funktionen


Moving Average Convergence/Divergence

trader_ma
trader_macdext
Trader Funktionen
PHP Manual

trader_macd

(PECL trader >= 0.2.0)

trader_macd — Moving Average Convergence/Divergence

Beschreibung

array trader_macd ( array $real [, integer $fastPeriod [, integer $slowPeriod [, integer $signalPeriod ]]] )

Parameter-Liste

real

Array of real values.

fastPeriod

Number of period for the fast MA. Valid range from 2 to 100000.

slowPeriod

Number of period for the slow MA. Valid range from 2 to 100000.

signalPeriod

Smoothing for the signal line (nb of period). Valid range from 1 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_ma
trader_macdext
Trader Funktionen


MACD with controllable MA type

trader_macd
trader_macdfix
Trader Funktionen
PHP Manual

trader_macdext

(PECL trader >= 0.2.0)

trader_macdext — MACD with controllable MA type

Beschreibung

array trader_macdext ( array $real [, integer $fastPeriod [, integer $fastMAType [, integer $slowPeriod [, integer $slowMAType [, integer $signalPeriod [, integer $signalMAType ]]]]]] )

Parameter-Liste

real

Array of real values.

fastPeriod

Number of period for the fast MA. Valid range from 2 to 100000.

fastMAType

Type of Moving Average for fast MA. TRADER_MA_TYPE_* series of constants should be used.

slowPeriod

Number of period for the slow MA. Valid range from 2 to 100000.

slowMAType

Type of Moving Average for slow MA. TRADER_MA_TYPE_* series of constants should be used.

signalPeriod

Smoothing for the signal line (nb of period). Valid range from 1 to 100000.

signalMAType

Type of Moving Average for signal line. TRADER_MA_TYPE_* series of constants should be used.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_macd
trader_macdfix
Trader Funktionen


Moving Average Convergence/Divergence Fix 12/26

trader_macdext
trader_mama
Trader Funktionen
PHP Manual

trader_macdfix

(PECL trader >= 0.2.0)

trader_macdfix — Moving Average Convergence/Divergence Fix 12/26

Beschreibung

array trader_macdfix ( array $real [, integer $signalPeriod ] )

Parameter-Liste

real

Array of real values.

signalPeriod

Smoothing for the signal line (nb of period). Valid range from 1 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_macdext
trader_mama
Trader Funktionen


MESA Adaptive Moving Average

trader_macdfix
trader_mavp
Trader Funktionen
PHP Manual

trader_mama

(PECL trader >= 0.2.0)

trader_mama — MESA Adaptive Moving Average

Beschreibung

array trader_mama ( array $real [, float $fastLimit [, float $slowLimit ]] )

Parameter-Liste

real

Array of real values.

fastLimit

Upper limit use in the adaptive algorithm. Valid range from 0.01 to 0.99.

slowLimit

Lower limit use in the adaptive algorithm. Valid range from 0.01 to 0.99.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_macdfix
trader_mavp
Trader Funktionen


Moving average with variable period

trader_mama
trader_max
Trader Funktionen
PHP Manual

trader_mavp

(PECL trader >= 0.2.0)

trader_mavp — Moving average with variable period

Beschreibung

array trader_mavp ( array $real , array $periods [, integer $minPeriod [, integer $maxPeriod [, integer $mAType ]]] )

Parameter-Liste

real

Array of real values.

periods

Array of real values.

minPeriod

Value less than minimum will be changed to Minimum period. Valid range from 2 to 100000

maxPeriod

Value higher than minimum will be changed to Maximum period. Valid range from 2 to 100000

mAType

Type of Moving Average. TRADER_MA_TYPE_* series of constants should be used.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_mama
trader_max
Trader Funktionen


Highest value over a specified period

trader_mavp
trader_maxindex
Trader Funktionen
PHP Manual

trader_max

(PECL trader >= 0.2.0)

trader_max — Highest value over a specified period

Beschreibung

array trader_max ( array $real [, integer $timePeriod ] )

Parameter-Liste

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_mavp
trader_maxindex
Trader Funktionen


Index of highest value over a specified period

trader_max
trader_medprice
Trader Funktionen
PHP Manual

trader_maxindex

(PECL trader >= 0.2.0)

trader_maxindex — Index of highest value over a specified period

Beschreibung

array trader_maxindex ( array $real [, integer $timePeriod ] )

Parameter-Liste

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_max
trader_medprice
Trader Funktionen


Median Price

trader_maxindex
trader_mfi
Trader Funktionen
PHP Manual

trader_medprice

(PECL trader >= 0.2.0)

trader_medprice — Median Price

Beschreibung

array trader_medprice ( array $high , array $low )

Parameter-Liste

high

High price, array of real values.

low

Low price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_maxindex
trader_mfi
Trader Funktionen


Money Flow Index

trader_medprice
trader_midpoint
Trader Funktionen
PHP Manual

trader_mfi

(PECL trader >= 0.2.0)

trader_mfi — Money Flow Index

Beschreibung

array trader_mfi ( array $high , array $low , array $close , array $volume [, integer $timePeriod ] )

Parameter-Liste

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

volume

Volume traded, array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_medprice
trader_midpoint
Trader Funktionen


MidPoint over period

trader_mfi
trader_midprice
Trader Funktionen
PHP Manual

trader_midpoint

(PECL trader >= 0.2.0)

trader_midpoint — MidPoint over period

Beschreibung

array trader_midpoint ( array $real [, integer $timePeriod ] )

Parameter-Liste

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_mfi
trader_midprice
Trader Funktionen


Midpoint Price over period

trader_midpoint
trader_min
Trader Funktionen
PHP Manual

trader_midprice

(PECL trader >= 0.2.0)

trader_midprice — Midpoint Price over period

Beschreibung

array trader_midprice ( array $high , array $low [, integer $timePeriod ] )

Parameter-Liste

high

High price, array of real values.

low

Low price, array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_midpoint
trader_min
Trader Funktionen


Lowest value over a specified period

trader_midprice
trader_minindex
Trader Funktionen
PHP Manual

trader_min

(PECL trader >= 0.2.0)

trader_min — Lowest value over a specified period

Beschreibung

array trader_min ( array $real [, integer $timePeriod ] )

Parameter-Liste

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_midprice
trader_minindex
Trader Funktionen


Index of lowest value over a specified period

trader_min
trader_minmax
Trader Funktionen
PHP Manual

trader_minindex

(PECL trader >= 0.2.0)

trader_minindex — Index of lowest value over a specified period

Beschreibung

array trader_minindex ( array $real [, integer $timePeriod ] )

Parameter-Liste

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_min
trader_minmax
Trader Funktionen


Lowest and highest values over a specified period

trader_minindex
trader_minmaxindex
Trader Funktionen
PHP Manual

trader_minmax

(PECL trader >= 0.2.0)

trader_minmax — Lowest and highest values over a specified period

Beschreibung

array trader_minmax ( array $real [, integer $timePeriod ] )

Parameter-Liste

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_minindex
trader_minmaxindex
Trader Funktionen


Indexes of lowest and highest values over a specified period

trader_minmax
trader_minus_di
Trader Funktionen
PHP Manual

trader_minmaxindex

(PECL trader >= 0.2.0)

trader_minmaxindex — Indexes of lowest and highest values over a specified period

Beschreibung

array trader_minmaxindex ( array $real [, integer $timePeriod ] )

Parameter-Liste

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_minmax
trader_minus_di
Trader Funktionen


Minus Directional Indicator

trader_minmaxindex
trader_minus_dm
Trader Funktionen
PHP Manual

trader_minus_di

(PECL trader >= 0.2.0)

trader_minus_di — Minus Directional Indicator

Beschreibung

array trader_minus_di ( array $high , array $low , array $close [, integer $timePeriod ] )

Parameter-Liste

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_minmaxindex
trader_minus_dm
Trader Funktionen


Minus Directional Movement

trader_minus_di
trader_mom
Trader Funktionen
PHP Manual

trader_minus_dm

(PECL trader >= 0.2.0)

trader_minus_dm — Minus Directional Movement

Beschreibung

array trader_minus_dm ( array $high , array $low [, integer $timePeriod ] )

Parameter-Liste

high

High price, array of real values.

low

Low price, array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_minus_di
trader_mom
Trader Funktionen


Momentum

trader_minus_dm
trader_mult
Trader Funktionen
PHP Manual

trader_mom

(PECL trader >= 0.2.0)

trader_mom — Momentum

Beschreibung

array trader_mom ( array $real [, integer $timePeriod ] )

Parameter-Liste

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_minus_dm
trader_mult
Trader Funktionen


Vector Arithmetic Mult

trader_mom
trader_natr
Trader Funktionen
PHP Manual

trader_mult

(PECL trader >= 0.2.0)

trader_mult — Vector Arithmetic Mult

Beschreibung

array trader_mult ( array $real0 , array $real1 )

Calculates the vector dot product of real0 with real1 and returns the resulting vector.

Parameter-Liste

real0

Array of real values.

real1

Array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_mom
trader_natr
Trader Funktionen


Normalized Average True Range

trader_mult
trader_obv
Trader Funktionen
PHP Manual

trader_natr

(PECL trader >= 0.2.0)

trader_natr — Normalized Average True Range

Beschreibung

array trader_natr ( array $high , array $low , array $close [, integer $timePeriod ] )

Parameter-Liste

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_mult
trader_obv
Trader Funktionen


On Balance Volume

trader_natr
trader_plus_di
Trader Funktionen
PHP Manual

trader_obv

(PECL trader >= 0.2.0)

trader_obv — On Balance Volume

Beschreibung

array trader_obv ( array $real , array $volume )

Parameter-Liste

real

Array of real values.

volume

Volume traded, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_natr
trader_plus_di
Trader Funktionen


Plus Directional Indicator

trader_obv
trader_plus_dm
Trader Funktionen
PHP Manual

trader_plus_di

(PECL trader >= 0.2.0)

trader_plus_di — Plus Directional Indicator

Beschreibung

array trader_plus_di ( array $high , array $low , array $close [, integer $timePeriod ] )

Parameter-Liste

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_obv
trader_plus_dm
Trader Funktionen


Plus Directional Movement

trader_plus_di
trader_ppo
Trader Funktionen
PHP Manual

trader_plus_dm

(PECL trader >= 0.2.0)

trader_plus_dm — Plus Directional Movement

Beschreibung

array trader_plus_dm ( array $high , array $low [, integer $timePeriod ] )

Parameter-Liste

high

High price, array of real values.

low

Low price, array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_plus_di
trader_ppo
Trader Funktionen


Percentage Price Oscillator

trader_plus_dm
trader_roc
Trader Funktionen
PHP Manual

trader_ppo

(PECL trader >= 0.2.0)

trader_ppo — Percentage Price Oscillator

Beschreibung

array trader_ppo ( array $real [, integer $fastPeriod [, integer $slowPeriod [, integer $mAType ]]] )

Parameter-Liste

real

Array of real values.

fastPeriod

Number of period for the fast MA. Valid range from 2 to 100000.

slowPeriod

Number of period for the slow MA. Valid range from 2 to 100000.

mAType

Type of Moving Average. TRADER_MA_TYPE_* series of constants should be used.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_plus_dm
trader_roc
Trader Funktionen


Rate of change : ((price/prevPrice)-1)*100

trader_ppo
trader_rocp
Trader Funktionen
PHP Manual

trader_roc

(PECL trader >= 0.2.0)

trader_roc — Rate of change : ((price/prevPrice)-1)*100

Beschreibung

array trader_roc ( array $real [, integer $timePeriod ] )

Parameter-Liste

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_ppo
trader_rocp
Trader Funktionen


Rate of change Percentage: (price-prevPrice)/prevPrice

trader_roc
trader_rocr100
Trader Funktionen
PHP Manual

trader_rocp

(PECL trader >= 0.2.0)

trader_rocp — Rate of change Percentage: (price-prevPrice)/prevPrice

Beschreibung

array trader_rocp ( array $real [, integer $timePeriod ] )

Parameter-Liste

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_roc
trader_rocr100
Trader Funktionen


Rate of change ratio 100 scale: (price/prevPrice)*100

trader_rocp
trader_rocr
Trader Funktionen
PHP Manual

trader_rocr100

(PECL trader >= 0.2.0)

trader_rocr100 — Rate of change ratio 100 scale: (price/prevPrice)*100

Beschreibung

array trader_rocr100 ( array $real [, integer $timePeriod ] )

Parameter-Liste

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_rocp
trader_rocr
Trader Funktionen


Rate of change ratio: (price/prevPrice)

trader_rocr100
trader_rsi
Trader Funktionen
PHP Manual

trader_rocr

(PECL trader >= 0.2.0)

trader_rocr — Rate of change ratio: (price/prevPrice)

Beschreibung

array trader_rocr ( array $real [, integer $timePeriod ] )

Parameter-Liste

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_rocr100
trader_rsi
Trader Funktionen


Relative Strength Index

trader_rocr
trader_sar
Trader Funktionen
PHP Manual

trader_rsi

(PECL trader >= 0.2.0)

trader_rsi — Relative Strength Index

Beschreibung

array trader_rsi ( array $real [, integer $timePeriod ] )

Parameter-Liste

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_rocr
trader_sar
Trader Funktionen


Parabolic SAR

trader_rsi
trader_sarext
Trader Funktionen
PHP Manual

trader_sar

(PECL trader >= 0.2.0)

trader_sar — Parabolic SAR

Beschreibung

array trader_sar ( array $high , array $low [, float $acceleration [, float $maximum ]] )

Parameter-Liste

high

High price, array of real values.

low

Low price, array of real values.

acceleration

Acceleration Factor used up to the Maximum value. Valid range from 0 to TRADER_REAL_MAX.

maximum

Acceleration Factor Maximum value. Valid range from 0 to TRADER_REAL_MAX.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_rsi
trader_sarext
Trader Funktionen


Parabolic SAR - Extended

trader_sar
trader_set_compat
Trader Funktionen
PHP Manual

trader_sarext

(PECL trader >= 0.2.0)

trader_sarext — Parabolic SAR - Extended

Beschreibung

array trader_sarext ( array $high , array $low [, float $startValue [, float $offsetOnReverse [, float $accelerationInitLong [, float $accelerationLong [, float $accelerationMaxLong [, float $accelerationInitShort [, float $accelerationShort [, float $accelerationMaxShort ]]]]]]]] )

Parameter-Liste

high

High price, array of real values.

low

Low price, array of real values.

startValue

Start value and direction. 0 for Auto, >0 for Long, <0 for Short. Valid range from TRADER_REAL_MIN to TRADER_REAL_MAX.

offsetOnReverse

Percent offset added/removed to initial stop on short/long reversal. Valid range from 0 to TRADER_REAL_MAX.

accelerationInitLong

Acceleration Factor initial value for the Long direction. Valid range from 0 to TRADER_REAL_MAX.

accelerationLong

Acceleration Factor for the Long direction. Valid range from 0 to TRADER_REAL_MAX.

accelerationMaxLong

Acceleration Factor maximum value for the Long direction. Valid range from 0 to TRADER_REAL_MAX.

accelerationInitShort

Acceleration Factor initial value for the Short direction. Valid range from 0 to TRADER_REAL_MAX.

accelerationShort

Acceleration Factor for the Short direction. Valid range from 0 to TRADER_REAL_MAX.

accelerationMaxShort

Acceleration Factor maximum value for the Short direction. Valid range from 0 to TRADER_REAL_MAX.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_sar
trader_set_compat
Trader Funktionen


Set compatibility mode

trader_sarext
trader_set_unstable_period
Trader Funktionen
PHP Manual

trader_set_compat

(PECL trader >= 0.2.2)

trader_set_compat — Set compatibility mode

Beschreibung

void trader_set_compat ( integer $compatId )

Set compatibility mode which will affect the way calculations are done by all the extension functions.

Parameter-Liste

compatId

Compatibility Id. TRADER_COMPATIBILITY_* series of constants should be used.

Rückgabewerte

Es wird kein Wert zurückgegeben.

trader_sarext
trader_set_unstable_period
Trader Funktionen


Set unstable period

trader_set_compat
trader_sin
Trader Funktionen
PHP Manual

trader_set_unstable_period

(PECL trader >= 0.2.2)

trader_set_unstable_period — Set unstable period

Beschreibung

void trader_set_unstable_period ( integer $functionId , integer $timePeriod )

Influences unstable period factor for functions, which are sensible to it. More information about unstable periods can be found on the » TA-Lib API documentation page.

Parameter-Liste

functionId

Function ID the factor should be set for. TRADER_FUNC_UNST_* constant series can be used to affect the corresponding function.

timePeriod

Unstable period value.

Rückgabewerte

Es wird kein Wert zurückgegeben.

trader_set_compat
trader_sin
Trader Funktionen


Vector Trigonometric Sin

trader_set_unstable_period
trader_sinh
Trader Funktionen
PHP Manual

trader_sin

(PECL trader >= 0.2.0)

trader_sin — Vector Trigonometric Sin

Beschreibung

array trader_sin ( array $real )

Calculates the sine for each value in real and returns the resulting array.

Parameter-Liste

real

Array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_set_unstable_period
trader_sinh
Trader Funktionen


Vector Trigonometric Sinh

trader_sin
trader_sma
Trader Funktionen
PHP Manual

trader_sinh

(PECL trader >= 0.2.0)

trader_sinh — Vector Trigonometric Sinh

Beschreibung

array trader_sinh ( array $real )

Calculates the hyperbolic sine for each value in real and returns the resulting array.

Parameter-Liste

real

Array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_sin
trader_sma
Trader Funktionen


Simple Moving Average

trader_sinh
trader_sqrt
Trader Funktionen
PHP Manual

trader_sma

(PECL trader >= 0.2.0)

trader_sma — Simple Moving Average

Beschreibung

array trader_sma ( array $real [, integer $timePeriod ] )

Parameter-Liste

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_sinh
trader_sqrt
Trader Funktionen


Vector Square Root

trader_sma
trader_stddev
Trader Funktionen
PHP Manual

trader_sqrt

(PECL trader >= 0.2.0)

trader_sqrt — Vector Square Root

Beschreibung

array trader_sqrt ( array $real )

Calculates the square root of each value in real and returns the resulting array.

Parameter-Liste

real

Array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_sma
trader_stddev
Trader Funktionen


Standard Deviation

trader_sqrt
trader_stoch
Trader Funktionen
PHP Manual

trader_stddev

(PECL trader >= 0.2.0)

trader_stddev — Standard Deviation

Beschreibung

array trader_stddev ( array $real [, integer $timePeriod [, float $nbDev ]] )

Parameter-Liste

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

nbDev

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_sqrt
trader_stoch
Trader Funktionen


Stochastic

trader_stddev
trader_stochf
Trader Funktionen
PHP Manual

trader_stoch

(PECL trader >= 0.2.0)

trader_stoch — Stochastic

Beschreibung

array trader_stoch ( array $high , array $low , array $close [, integer $fastK_Period [, integer $slowK_Period [, integer $slowK_MAType [, integer $slowD_Period [, integer $slowD_MAType ]]]]] )

Parameter-Liste

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

fastK_Period

Time period for building the Fast-K line. Valid range from 1 to 100000.

slowK_Period

Smoothing for making the Slow-K line. Valid range from 1 to 100000, usually set to 3.

slowK_MAType

Type of Moving Average for Slow-K. TRADER_MA_TYPE_* series of constants should be used.

slowD_Period

Smoothing for making the Slow-D line. Valid range from 1 to 100000.

slowD_MAType

Type of Moving Average for Slow-D. TRADER_MA_TYPE_* series of constants should be used.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_stddev
trader_stochf
Trader Funktionen


Stochastic Fast

trader_stoch
trader_stochrsi
Trader Funktionen
PHP Manual

trader_stochf

(PECL trader >= 0.2.0)

trader_stochf — Stochastic Fast

Beschreibung

array trader_stochf ( array $high , array $low , array $close [, integer $fastK_Period [, integer $fastD_Period [, integer $fastD_MAType ]]] )

Parameter-Liste

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

fastK_Period

Time period for building the Fast-K line. Valid range from 1 to 100000.

fastD_Period

Smoothing for making the Fast-D line. Valid range from 1 to 100000, usually set to 3.

fastD_MAType

Type of Moving Average for Fast-D. TRADER_MA_TYPE_* series of constants should be used.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_stoch
trader_stochrsi
Trader Funktionen


Stochastic Relative Strength Index

trader_stochf
trader_sub
Trader Funktionen
PHP Manual

trader_stochrsi

(PECL trader >= 0.2.0)

trader_stochrsi — Stochastic Relative Strength Index

Beschreibung

array trader_stochrsi ( array $real [, integer $timePeriod [, integer $fastK_Period [, integer $fastD_Period [, integer $fastD_MAType ]]]] )

Parameter-Liste

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

fastK_Period

Time period for building the Fast-K line. Valid range from 1 to 100000.

fastD_Period

Smoothing for making the Fast-D line. Valid range from 1 to 100000, usually set to 3.

fastD_MAType

Type of Moving Average for Fast-D. TRADER_MA_TYPE_* series of constants should be used.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_stochf
trader_sub
Trader Funktionen


Vector Arithmetic Subtraction

trader_stochrsi
trader_sum
Trader Funktionen
PHP Manual

trader_sub

(PECL trader >= 0.2.0)

trader_sub — Vector Arithmetic Subtraction

Beschreibung

array trader_sub ( array $real0 , array $real1 )

Calculates the vector subtraction of real1 from real0 and returns the resulting vector.

Parameter-Liste

real0

Array of real values.

real1

Array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_stochrsi
trader_sum
Trader Funktionen


Summation

trader_sub
trader_t3
Trader Funktionen
PHP Manual

trader_sum

(PECL trader >= 0.2.0)

trader_sum — Summation

Beschreibung

array trader_sum ( array $real [, integer $timePeriod ] )

Parameter-Liste

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_sub
trader_t3
Trader Funktionen


Triple Exponential Moving Average (T3)

trader_sum
trader_tan
Trader Funktionen
PHP Manual

trader_t3

(PECL trader >= 0.2.0)

trader_t3 — Triple Exponential Moving Average (T3)

Beschreibung

array trader_t3 ( array $real [, integer $timePeriod [, float $vFactor ]] )

Parameter-Liste

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

vFactor

Volume Factor. Valid range from 1 to 0.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_sum
trader_tan
Trader Funktionen


Vector Trigonometric Tan

trader_t3
trader_tanh
Trader Funktionen
PHP Manual

trader_tan

(PECL trader >= 0.2.0)

trader_tan — Vector Trigonometric Tan

Beschreibung

array trader_tan ( array $real )

Calculates the tangent for each value in real and returns the resulting array.

Parameter-Liste

real

Array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_t3
trader_tanh
Trader Funktionen


Vector Trigonometric Tanh

trader_tan
trader_tema
Trader Funktionen
PHP Manual

trader_tanh

(PECL trader >= 0.2.0)

trader_tanh — Vector Trigonometric Tanh

Beschreibung

array trader_tanh ( array $real )

Calculates the hyperbolic tangent for each value in real and returns the resulting array.

Parameter-Liste

real

Array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_tan
trader_tema
Trader Funktionen


Triple Exponential Moving Average

trader_tanh
trader_trange
Trader Funktionen
PHP Manual

trader_tema

(PECL trader >= 0.2.0)

trader_tema — Triple Exponential Moving Average

Beschreibung

array trader_tema ( array $real [, integer $timePeriod ] )

Parameter-Liste

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_tanh
trader_trange
Trader Funktionen


True Range

trader_tema
trader_trima
Trader Funktionen
PHP Manual

trader_trange

(PECL trader >= 0.2.0)

trader_trange — True Range

Beschreibung

array trader_trange ( array $high , array $low , array $close )

Parameter-Liste

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_tema
trader_trima
Trader Funktionen


Triangular Moving Average

trader_trange
trader_trix
Trader Funktionen
PHP Manual

trader_trima

(PECL trader >= 0.2.0)

trader_trima — Triangular Moving Average

Beschreibung

array trader_trima ( array $real [, integer $timePeriod ] )

Parameter-Liste

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_trange
trader_trix
Trader Funktionen


1-day Rate-Of-Change (ROC) of a Triple Smooth EMA

trader_trima
trader_tsf
Trader Funktionen
PHP Manual

trader_trix

(PECL trader >= 0.2.0)

trader_trix — 1-day Rate-Of-Change (ROC) of a Triple Smooth EMA

Beschreibung

array trader_trix ( array $real [, integer $timePeriod ] )

Parameter-Liste

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_trima
trader_tsf
Trader Funktionen


Time Series Forecast

trader_trix
trader_typprice
Trader Funktionen
PHP Manual

trader_tsf

(PECL trader >= 0.2.0)

trader_tsf — Time Series Forecast

Beschreibung

array trader_tsf ( array $real [, integer $timePeriod ] )

Parameter-Liste

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_trix
trader_typprice
Trader Funktionen


Typical Price

trader_tsf
trader_ultosc
Trader Funktionen
PHP Manual

trader_typprice

(PECL trader >= 0.2.0)

trader_typprice — Typical Price

Beschreibung

array trader_typprice ( array $high , array $low , array $close )

Parameter-Liste

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_tsf
trader_ultosc
Trader Funktionen


Ultimate Oscillator

trader_typprice
trader_var
Trader Funktionen
PHP Manual

trader_ultosc

(PECL trader >= 0.2.0)

trader_ultosc — Ultimate Oscillator

Beschreibung

array trader_ultosc ( array $high , array $low , array $close [, integer $timePeriod1 [, integer $timePeriod2 [, integer $timePeriod3 ]]] )

Parameter-Liste

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

timePeriod1

Number of bars for 1st period. Valid range from 1 to 100000.

timePeriod2

Number of bars for 2nd period. Valid range from 1 to 100000.

timePeriod3

Number of bars for 3rd period. Valid range from 1 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_typprice
trader_var
Trader Funktionen


Variance

trader_ultosc
trader_wclprice
Trader Funktionen
PHP Manual

trader_var

(PECL trader >= 0.2.0)

trader_var — Variance

Beschreibung

array trader_var ( array $real [, integer $timePeriod [, float $nbDev ]] )

Parameter-Liste

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

nbDev

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_ultosc
trader_wclprice
Trader Funktionen


Weighted Close Price

trader_var
trader_willr
Trader Funktionen
PHP Manual

trader_wclprice

(PECL trader >= 0.2.0)

trader_wclprice — Weighted Close Price

Beschreibung

array trader_wclprice ( array $high , array $low , array $close )

Parameter-Liste

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_var
trader_willr
Trader Funktionen


Williams' %R

trader_wclprice
trader_wma
Trader Funktionen
PHP Manual

trader_willr

(PECL trader >= 0.2.0)

trader_willr — Williams' %R

Beschreibung

array trader_willr ( array $high , array $low , array $close [, integer $timePeriod ] )

Parameter-Liste

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_wclprice
trader_wma
Trader Funktionen


Weighted Moving Average

trader_willr
Non-Text MIME-Ausgaben
Trader Funktionen
PHP Manual

trader_wma

(PECL trader >= 0.2.0)

trader_wma — Weighted Moving Average

Beschreibung

array trader_wma ( array $real [, integer $timePeriod ] )

Parameter-Liste

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Rückgabewerte

Returns an array with calculated data or false on failure.

trader_willr
Non-Text MIME-Ausgaben
Trader Funktionen


Non-Text MIME-Ausgaben

  • FDF — Forms Data Format Funktionen
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • FDF — FDF Funktionen
  • GnuPG — GNU Privacy Guard
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • GnuPG Funktionen
  • haru — Haru PDF
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Builtin Fonts And Encodings
    • HaruException — The HaruException class
    • HaruDoc — The HaruDoc class
    • HaruPage — The HaruPage class
    • HaruFont — The HaruFont class
    • HaruImage — The HaruImage class
    • HaruEncoder — The HaruEncoder class
    • HaruOutline — The HaruOutline class
    • HaruAnnotation — The HaruAnnotation class
    • HaruDestination — The HaruDestination class
  • Ming — Ming (flash)
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Ming Funktionen
    • SWFAction — The SWFAction class
    • SWFBitmap — The SWFBitmap class
    • SWFButton — The SWFButton class
    • SWFDisplayItem — The SWFDisplayItem class
    • SWFFill — The SWFFill class
    • SWFFont — The SWFFont class
    • SWFFontChar — The SWFFontChar class
    • SWFGradient — The SWFGradient class
    • SWFMorph — The SWFMorph class
    • SWFMovie — The SWFMovie class
    • SWFPrebuiltClip — The SWFPrebuiltClip class
    • SWFShape — The SWFShape class
    • SWFSound — The SWFSound class
    • SWFSoundInstance — The SWFSoundInstance class
    • SWFSprite — The SWFSprite class
    • SWFText — The SWFText class
    • SWFTextField — The SWFTextField class
    • SWFVideoStream — The SWFVideoStream class
  • PDF
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • PDF Funktionen
  • PS — PostScript document creation
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • PS Funktionen
  • RPM Reader — RPM Header Reading
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • RPM Reader Funktionen
trader_wma
FDF
Funktionsreferenz


Forms Data Format Funktionen

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
  • FDF — FDF Funktionen
    • fdf_add_doc_javascript — Fügt JavaScript Code in ein FDF Dokument ein.
    • fdf_add_template — Fügt dem FDF Dokument ein Template hinzu
    • fdf_close — Schließt ein FDF Dokument
    • fdf_create — Erzeugt ein neues FDF Dokument
    • fdf_enum_values — Ruft für jeden Dokumentwert eine benutzerdefinierte Funktion auf
    • fdf_errno — Gibt den Fehlercode der letzten FDF Operation zurück
    • fdf_error — Gibt die Beschrebung eines Fehlercodes zurück
    • fdf_get_ap — Get the appearance of a field
    • fdf_get_attachment — Extracts uploaded file embedded in the FDF
    • fdf_get_encoding — Liefert den Wert des /Encoding Schlüssels
    • fdf_get_file — Gibt den Wert des /F Schlüssels zurück
    • fdf_get_flags — Ermittelt die Flags eines Feldes
    • fdf_get_opt — Liefert einen Wert aus dem Optionsarray eines Feldes
    • fdf_get_status — Gibt den Wert des /STATUS Schlüssels zurück
    • fdf_get_value — Gibt den Wert eines Feldes zurück
    • fdf_get_version — Liefert die Versionsnummer einer FDF Datei oder des APIs
    • fdf_header — Setzt FDF-spezifische Header
    • fdf_next_field_name — Gibt den Namen des nächsten Feldes zurück
    • fdf_open_string — Read a FDF document from a string
    • fdf_open — Öffnet ein FDF Dokument
    • fdf_remove_item — Sets target frame for form
    • fdf_save_string — Returns the FDF document as a string
    • fdf_save — Speichern eines FDF Dokuments
    • fdf_set_ap — Legt das Aussehen eines Feldes fest
    • fdf_set_encoding — Legt die FDF Zeichenkodierung fest
    • fdf_set_file — Definiert ein PDF-Dokument, das FDF-Daten anzeigen soll
    • fdf_set_flags — Setzt Flags eines Feldes
    • fdf_set_javascript_action — Weist einem Feld eine JavaScript Aktion zu
    • fdf_set_on_import_javascript — Adds javascript code to be executed when Acrobat opens the FDF
    • fdf_set_opt — Legt eine Option eines Feldes fest
    • fdf_set_status — Setzt den Wert des /STATUS Schlüssels
    • fdf_set_submit_form_action — Setzt eine Submit-Form-Aktion für ein Feld
    • fdf_set_target_frame — Set target frame for form display
    • fdf_set_value — Legt den Wert eines Feldes fest
    • fdf_set_version — Sets version number for a FDF file
Non-Text MIME-Ausgaben
Einführung
Non-Text MIME-Ausgaben


Einführung

Forms Data Format (FDF) ist ein Format zur Verarbeitung von Formularen innerhalb von PDF Dokumenten. Weiterführende Informationen zu FDF und dessen Verwendung sind unter » http://www.adobe.com/devnet/acrobat/fdftoolkit.html zu finden.

Der Ansatz den FDF verfolgt, ist vergleichbar mit dem üblicher HTML Formulare. Die wesentlichen Unterschiede liegen in der Übertragung der Daten nach Absenden des Formulars (dies ist das eigentliche Form Data Format), sowie in dem Format des Dokuments welches das Formular enthält(PDF). Die Verarbeitung der FDF Daten ist eine der Möglichkeiten, die die FDF Funktionen bereitstellen. Darüber hinaus kann man beispielsweise innerhalb eines vorhandenen PDF Formulars die Input Felder dynamisch mit Daten füllen, ohne das Formular selbst zu verändern. Hierzu erzeugt man das FDF Dokument (fdf_create()), setzt die Werte der jeweiligen Input Felder (fdf_set_value()) und verbindet es mit dem jeweiligen PDF Formular (fdf_set_file()). Nachdem man das FDF Dokument, mit dem passenden MimeType application/vnd.fdf versehen, ausgegeben hat, erkennt das Acrobat Reader PlugIn des Browsers den MimeType und füllt das Zielformular mit den Daten des FDF Dokuments.

Betrachtet man ein FDF Dokument mit einem Text Editor, findet sich dort ein Katalog-Objekt FDF. Dieses Objekt kann mehrere Einträge der Art Fields, F, Status etc.. enthalten. Die gebräuchlichsten Einträge sind Fields, welches zu einer Anzahl von Input Feldern verweist, sowie F das den Dateinamen des zugehörigen PDF Dokuments enthält. Diese Einträge finden sich in der FDF Dokumentation unter /F-Key oder /Status-Key. Modifikationen dieser Einträge werden mit Hilfe der Funktionen fdf_set_file() und fdf_set_status() vorgenommen. Felder werden u.a. mit fdf_set_value(), fdf_set_opt() modifiziert.

FDF
Installation/Konfiguration
FDF


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
FDF


Anforderungen

Benötigt wird das FDF-Toolkit-SDK, welches unter » http://www.adobe.com/devnet/acrobat/fdftoolkit.html heruntergeladen werden kann. Ab PHP-Version 4.3.0 ist mindestens die Version 5.0 des FDF-SDKs erforderlich. Die FDF-Toolkit Bibliothek steht ausschließlich vorkompiliert zur Verfügung. Von Adobe unterstütze Plattformen sind Win32, Linux, Solaris und AIX.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese Erweiterung wird als nicht mehr gepflegt betrachtet und es gibt dort keine Aktivität mehr. Der Quellcode für diese Erweiterung steht jedoch weiterhin innerhalb des PECL SVN hier zur Verfügung: » http://svn.php.net/viewvc/pecl/fdf.

This extension is no longer bundled with PHP as of PHP 5.3.0.

Hinweis: Wenn bei der Konfiguration von PHP mit Fdftk Unterstützung Probleme auftreten prüfen Sie bitte ob die Includedatei fdftk.h und die Bibliothek libfdftk.so sich tatsächlich im angegebenen Verzeichnis befinden. Das configure Skript unterstützt sowohl die Verzeichnisstruktur der FDF SDK Distribution als auch die übliche DIR/include / DIR/lib Struktur. Sie können daher entweder direkt auf das entpackte Distributionsverzeichnis verweisen als auch die Include- und Bibliotheksdateien in den entsprechenden Verzeichnisse Ihres Systems, z.B. /usr/local/include und /usr/local/lib, ablegen und dann mit --with-fdftk=/usr/local konfigurieren.

Hinweis: Hinweis für Win32 Benutzer

Diese Extension benötigt DLL-Dateien. die für Windows verfügbar seien müssen. Der FAQ-Eintrag " Wie füge ich unter Windows PATH mein PHP-Verzeichnis hinzu?" gibt hierzu weitere Informationen. Obwohl ein einfaches Kopieren der DLL-Dateien vom PHP-Verzeichnis in den Windows-Systemordner auch funktioniert (weil der Systemordner immer im PATH enthalten ist), ist dieses Vorgehen nicht empfehlenswert. Diese Extension benötigt die folgenden Dateien im PATH: fdftk.dll

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Ressource-Typen

Die meisten FDF-Funktionen benötigen an erster Stelle einen fdf Ressource-Parameter. Der Parameter fdf ist ein Zeiger auf eine geöffnete FDF-Datei. fdf Ressource-Parameter werden von den Funktionen fdf_create(), fdf_open() und fdf_open_string() zurückgegeben.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

FDFValue (integer)
FDFStatus (integer)
FDFFile (integer)
FDFID (integer)
FDFFf (integer)
FDFSetFf (integer)
FDFClearFf (integer)
FDFFlags (integer)
FDFSetF (integer)
FDFClrF (integer)
FDFAP (integer)
FDFAS (integer)
FDFAction (integer)
FDFAA (integer)
FDFAPRef (integer)
FDFIF (integer)
FDFEnter (integer)
FDFExit (integer)
FDFDown (integer)
FDFUp (integer)
FDFFormat (integer)
FDFValidate (integer)
FDFKeystroke (integer)
FDFCalculate (integer)
FDFNormalAP (integer)
FDFRolloverAP (integer)
FDFDownAP (integer)
Ressource-Typen
Beispiele
FDF


Beispiele

Das folgende Beispiel zeigt die Auswertung der Formular Daten.

Beispiel #1 Auswertung eines FDF_Dokuments

<?php
// Speichern der FDF Daten in eine temporäre Datei
$fdffp = fopen("test.fdf", "w");
fwrite($fdffp, $HTTP_FDF_DATA, strlen($HTTP_FDF_DATA));
fclose($fdffp);

// �?ffnen der temporären Datei und Auswertung der Daten
// Das PDF Formular enthält verschiedene Eingabefelder mit den zugehörigen Namen
// band, datum, kommentar, verleger, bearbeiter, sowie zwei Checkboxen
// zeige_verleger und zeige_bearbeiter.

$fdf = fdf_open("test.fdf");
$band = fdf_get_value($fdf, "band");
echo "Das Feld Band hat den Wert '<b>$band</b>'<br />";

$datum = fdf_get_value($fdf, "datum");
echo "Das Feld Datum hat den Wert '<b>$datum</b>'<br />";

$kommentar = fdf_get_value($fdf, "kommentar");
echo "Das Feld Kommentar hat den Wert '<b>$kommentar</b>'<br />";

if (fdf_get_value($fdf, "zeige_verleger") == "On") {
    $verleger = fdf_get_value($fdf, "verleger");
    echo "Das Feld Verleger hat den Wert '<b>$verleger</b>'<br />";
} else {
  echo "Verleger soll nicht angezeigt werden.<br />";
}

if (fdf_get_value($fdf, "zeige_bearbeiter") == "On") {
  $bearbeiter = fdf_get_value($fdf, "bearbeiter");
  echo "Das Feld Bearbeiter hat den Wert '&<b>$bearbeiter</b>'<br />";
} else {
  echo "Bearbeiter soll nicht angezeigt werden.<br />";
}
fdf_close($fdf);
?>

Vordefinierte Konstanten
FDF
FDF


FDF Funktionen

Inhaltsverzeichnis

  • fdf_add_doc_javascript — Fügt JavaScript Code in ein FDF Dokument ein.
  • fdf_add_template — Fügt dem FDF Dokument ein Template hinzu
  • fdf_close — Schließt ein FDF Dokument
  • fdf_create — Erzeugt ein neues FDF Dokument
  • fdf_enum_values — Ruft für jeden Dokumentwert eine benutzerdefinierte Funktion auf
  • fdf_errno — Gibt den Fehlercode der letzten FDF Operation zurück
  • fdf_error — Gibt die Beschrebung eines Fehlercodes zurück
  • fdf_get_ap — Get the appearance of a field
  • fdf_get_attachment — Extracts uploaded file embedded in the FDF
  • fdf_get_encoding — Liefert den Wert des /Encoding Schlüssels
  • fdf_get_file — Gibt den Wert des /F Schlüssels zurück
  • fdf_get_flags — Ermittelt die Flags eines Feldes
  • fdf_get_opt — Liefert einen Wert aus dem Optionsarray eines Feldes
  • fdf_get_status — Gibt den Wert des /STATUS Schlüssels zurück
  • fdf_get_value — Gibt den Wert eines Feldes zurück
  • fdf_get_version — Liefert die Versionsnummer einer FDF Datei oder des APIs
  • fdf_header — Setzt FDF-spezifische Header
  • fdf_next_field_name — Gibt den Namen des nächsten Feldes zurück
  • fdf_open_string — Read a FDF document from a string
  • fdf_open — Öffnet ein FDF Dokument
  • fdf_remove_item — Sets target frame for form
  • fdf_save_string — Returns the FDF document as a string
  • fdf_save — Speichern eines FDF Dokuments
  • fdf_set_ap — Legt das Aussehen eines Feldes fest
  • fdf_set_encoding — Legt die FDF Zeichenkodierung fest
  • fdf_set_file — Definiert ein PDF-Dokument, das FDF-Daten anzeigen soll
  • fdf_set_flags — Setzt Flags eines Feldes
  • fdf_set_javascript_action — Weist einem Feld eine JavaScript Aktion zu
  • fdf_set_on_import_javascript — Adds javascript code to be executed when Acrobat opens the FDF
  • fdf_set_opt — Legt eine Option eines Feldes fest
  • fdf_set_status — Setzt den Wert des /STATUS Schlüssels
  • fdf_set_submit_form_action — Setzt eine Submit-Form-Aktion für ein Feld
  • fdf_set_target_frame — Set target frame for form display
  • fdf_set_value — Legt den Wert eines Feldes fest
  • fdf_set_version — Sets version number for a FDF file
Beispiele
fdf_add_doc_javascript
FDF


Fügt JavaScript Code in ein FDF Dokument ein.

FDF
fdf_add_template
FDF
PHP Manual

fdf_add_doc_javascript

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

fdf_add_doc_javascript — Fügt JavaScript Code in ein FDF Dokument ein.

Beschreibung

bool fdf_add_doc_javascript ( resource $fdf_document , string $script_name , string $script_code )

Fügt ein Script zum FDF Dokument, welches Acrobat zu den doc-level Scripts eines Dokuments hinzufügt, sobald das FDF importiert wurde.

Parameter-Liste

fdf_document

Das FDF-Dokument-Handle, das von fdf_create(), fdf_open() oder fdf_open_string() zurückgegeben wurde.

script_name

Der Scriptname.

script_code

Der Scriptcode. Es wird unbedingt empfohlen \r für Zeilenumbrüche innerhalb des Scriptcodes zu verwenden.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 JavaScript-Code zu einem FDF hinzufügen

<?php
$fdf = fdf_create();
fdf_add_doc_javascript($fdf, "PlusOne", "function PlusOne(x)\r{\r  return x+1;\r}\r");
fdf_save($fdf);
?>

erzeugt ein FDF wie folgt:

%FDF-1.2
%âãÏÓ
1 0 obj
<<
/FDF << /JavaScript << /Doc [ (PlusOne)(function PlusOne\(x\)\r{\r  return x+1;\r}\r)] >> >>
>>
endobj
trailer
<<
/Root 1 0 R

>>
%%EOF

FDF
fdf_add_template
FDF


Fügt dem FDF Dokument ein Template hinzu

fdf_add_doc_javascript
fdf_close
FDF
PHP Manual

fdf_add_template

(PHP 4, PHP 5, PHP 7)

fdf_add_template — Fügt dem FDF Dokument ein Template hinzu

Beschreibung

bool fdf_add_template ( resource $fdf_document , int $newpage , string $filename , string $template , int $rename )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

fdf_add_doc_javascript
fdf_close
FDF


Schließt ein FDF Dokument

fdf_add_template
fdf_create
FDF
PHP Manual

fdf_close

(PHP 4, PHP 5, PHP 7)

fdf_close — Schließt ein FDF Dokument

Beschreibung

void fdf_close ( resource $fdf_document )

Schließt das FDF Dokument.

Parameter-Liste

fdf_document

Das FDF-Dokument-Handle, das von fdf_create(), fdf_open() oder fdf_open_string() zurückgegeben wurde.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • fdf_open() - Öffnet ein FDF Dokument

fdf_add_template
fdf_create
FDF


Erzeugt ein neues FDF Dokument

fdf_close
fdf_enum_values
FDF
PHP Manual

fdf_create

(PHP 4, PHP 5, PHP 7)

fdf_create — Erzeugt ein neues FDF Dokument

Beschreibung

resource fdf_create ( void )

Erzeugt ein neues FDF Dokument.

Diese Funktion wird benötigt, wenn man Eingabefelder in einem PDF Dokument mit Daten belegen möchte.

Rückgabewerte

Gibt ein FDF-Dokument-Handle zurück, oder FALSE im Fehlerfall.

Beispiele

Beispiel #1 Füllen von Formularwerten in einem PDF Dokument

<?php
$outfdf = fdf_create();
fdf_set_value($outfdf, "band", $band, 0);

fdf_set_file($outfdf, "http:/testfdf/resultlabel.pdf");
fdf_save($outfdf, "outtest.fdf");
fdf_close($outfdf);
Header("Content-type: application/vnd.fdf");
$fp = fopen("outtest.fdf", "r");
fpassthru($fp);
unlink("outtest.fdf");
?>

Siehe auch

  • fdf_close() - Schließt ein FDF Dokument
  • fdf_save() - Speichern eines FDF Dokuments
  • fdf_open() - Öffnet ein FDF Dokument

fdf_close
fdf_enum_values
FDF


Ruft für jeden Dokumentwert eine benutzerdefinierte Funktion auf

fdf_create
fdf_errno
FDF
PHP Manual

fdf_enum_values

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

fdf_enum_values — Ruft für jeden Dokumentwert eine benutzerdefinierte Funktion auf

Beschreibung

bool fdf_enum_values ( resource $fdf_document , callable $function [, mixed $userdata ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

fdf_create
fdf_errno
FDF


Gibt den Fehlercode der letzten FDF Operation zurück

fdf_enum_values
fdf_error
FDF
PHP Manual

fdf_errno

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

fdf_errno — Gibt den Fehlercode der letzten FDF Operation zurück

Beschreibung

int fdf_errno ( void )

Liefert den Fehlercode der vom letzten FDF Funktionsaufruf gesetzt wurde.

Eine textuelle Beschreibung des Fehlers kann mit der Funktion fdf_error() ermittelt werden.

Rückgabewerte

Gibt den Fehlercode als Integer zurück oder 0 wenn kein Fehler aufgetreten ist.

Siehe auch

  • fdf_error() - Gibt die Beschrebung eines Fehlercodes zurück

fdf_enum_values
fdf_error
FDF


Gibt die Beschrebung eines Fehlercodes zurück

fdf_errno
fdf_get_ap
FDF
PHP Manual

fdf_error

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

fdf_error — Gibt die Beschrebung eines Fehlercodes zurück

Beschreibung

string fdf_error ([ int $error_code = -1 ] )

Gibt eine textuelle Beschreibung des in error_code übergebenen FDF Fehlercodes zurück.

Parameter-Liste

error_code

Ein von der Funktion fdf_errno() zurückgegebener Fehlercode. Wenn kein Fehlercode übergeben wurde wird der von der letzten Operation gesetzte interne Code genutzt.

Rückgabewerte

Gibt die Fehlerbeschreibung als String zurück. Ist kein Fehler aufgetreten wird der String no error zurückgegeben.

Siehe auch

  • fdf_errno() - Gibt den Fehlercode der letzten FDF Operation zurück

fdf_errno
fdf_get_ap
FDF


Get the appearance of a field

fdf_error
fdf_get_attachment
FDF
PHP Manual

fdf_get_ap

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

fdf_get_ap — Get the appearance of a field

Beschreibung

bool fdf_get_ap ( resource $fdf_document , string $field , int $face , string $filename )

Gets the appearance of a field (i.e. the value of the /AP key) and stores it in a file.

Parameter-Liste

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

field

face

The possible values are FDFNormalAP, FDFRolloverAP and FDFDownAP.

filename

The appearance will be stored in this parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

fdf_error
fdf_get_attachment
FDF


Extracts uploaded file embedded in the FDF

fdf_get_ap
fdf_get_encoding
FDF
PHP Manual

fdf_get_attachment

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

fdf_get_attachment — Extracts uploaded file embedded in the FDF

Beschreibung

array fdf_get_attachment ( resource $fdf_document , string $fieldname , string $savepath )

Extracts a file uploaded by means of the "file selection" field fieldname and stores it under savepath.

Parameter-Liste

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

savepath

May be the name of a plain file or an existing directory in which the file is to be created under its original name. Any existing file under the same name will be overwritten.

Hinweis:

There seems to be no other way to find out the original filename but to store the file using a directory as savepath and check for the basename it was stored under.

Rückgabewerte

The returned array contains the following fields:

  • path - path were the file got stored
  • size - size of the stored file in bytes
  • type - mimetype if given in the FDF

Beispiele

Beispiel #1 Storing an uploaded file

<?php
  $fdf = fdf_open_string($HTTP_FDF_DATA);
  $data = fdf_get_attachment($fdf, "filename", "/tmpdir");
  echo "The uploaded file is stored in $data[path]";
?>

fdf_get_ap
fdf_get_encoding
FDF


Liefert den Wert des /Encoding Schlüssels

fdf_get_attachment
fdf_get_file
FDF
PHP Manual

fdf_get_encoding

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

fdf_get_encoding — Liefert den Wert des /Encoding Schlüssels

Beschreibung

string fdf_get_encoding ( resource $fdf_document )

Liefert den Wert des /Encoding Schlüssels.

Parameter-Liste

fdf_document

Eine FDF Dokumentresource wie von fdf_create(), fdf_open() oder fdf_open_string() zurückgegeben.

Rückgabewerte

Gibt das Encoding als String zurück. Wenn das Standardencoding PDFDocEncoding/Unicode benutzt wird wird nur ein Leerstring zurückgegeben.

Siehe auch

  • fdf_set_encoding() - Legt die FDF Zeichenkodierung fest

fdf_get_attachment
fdf_get_file
FDF


Gibt den Wert des /F Schlüssels zurück

fdf_get_encoding
fdf_get_flags
FDF
PHP Manual

fdf_get_file

(PHP 4, PHP 5, PHP 7)

fdf_get_file — Gibt den Wert des /F Schlüssels zurück

Beschreibung

string fdf_get_file ( resource $fdf_document )

Gibt den Wert des /F Schlüssels zurück.

Parameter-Liste

fdf_document

Das FDF-Dokument-Handle, das von fdf_create(), fdf_open() oder fdf_open_string() zurückgegeben wurde.

Rückgabewerte

Gibt den Wert des Schlüssels als Zeichenkette zurück.

Siehe auch

  • fdf_set_file() - Definiert ein PDF-Dokument, das FDF-Daten anzeigen soll

fdf_get_encoding
fdf_get_flags
FDF


Ermittelt die Flags eines Feldes

fdf_get_file
fdf_get_opt
FDF
PHP Manual

fdf_get_flags

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

fdf_get_flags — Ermittelt die Flags eines Feldes

Beschreibung

int fdf_get_flags ( resource $fdf_document , string $fieldname , int $whichflags )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

fdf_get_file
fdf_get_opt
FDF


Liefert einen Wert aus dem Optionsarray eines Feldes

fdf_get_flags
fdf_get_status
FDF
PHP Manual

fdf_get_opt

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

fdf_get_opt — Liefert einen Wert aus dem Optionsarray eines Feldes

Beschreibung

mixed fdf_get_opt ( resource $fdf_document , string $fieldname [, int $element = -1 ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

fdf_get_flags
fdf_get_status
FDF


Gibt den Wert des /STATUS Schlüssels zurück

fdf_get_opt
fdf_get_value
FDF
PHP Manual

fdf_get_status

(PHP 4, PHP 5, PHP 7)

fdf_get_status — Gibt den Wert des /STATUS Schlüssels zurück

Beschreibung

string fdf_get_status ( resource $fdf_document )

Gibt den Wert des /STATUS Schlüssels zurück.

Parameter-Liste

fdf_document

Das FDF-Dokument-Handle, das von fdf_create(), fdf_open() oder fdf_open_string() zurückgegeben wurde.

Rückgabewerte

Gibt den Wert des Schlüssels als Zeichenkette zurück.

Siehe auch

  • fdf_set_status() - Setzt den Wert des /STATUS Schlüssels

fdf_get_opt
fdf_get_value
FDF


Gibt den Wert eines Feldes zurück

fdf_get_status
fdf_get_version
FDF
PHP Manual

fdf_get_value

(PHP 4, PHP 5, PHP 7)

fdf_get_value — Gibt den Wert eines Feldes zurück

Beschreibung

mixed fdf_get_value ( resource $fdf_document , string $fieldname [, int $which = -1 ] )

Gibt den Wert des abgefragten Felds zurück.

Parameter-Liste

fdf_document

Das FDF-Dokument-Handle, das von fdf_create(), fdf_open() oder fdf_open_string() zurückgegeben wurde.

fieldname

Name des FDF-Felds als Zeichenkette.

which

Elemente eines Arrays können abgefragt werden, indem dieser optionale Parameter übergeben wird. Die Elemente des abzufragenden Arrays starten bei Null. Bei Nicht-Array-Feldern wird dieser Parameter ignoriert.

Rückgabewerte

Returns the field value.

Changelog

Version | Beschreibung
4.3.0 | Unterstützung für Array und den which Parameter wurden hinzugefügt.

Siehe auch

  • fdf_set_value() - Legt den Wert eines Feldes fest

fdf_get_status
fdf_get_version
FDF


Liefert die Versionsnummer einer FDF Datei oder des APIs

fdf_get_value
fdf_header
FDF
PHP Manual

fdf_get_version

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

fdf_get_version — Liefert die Versionsnummer einer FDF Datei oder des APIs

Beschreibung

string fdf_get_version ([ resource $fdf_document ] )

Gibt die FDF Version des angegebenen Dokuments zurück. Wird kein Dokument übergeben so wird die API Vresion des Tookits zurückgegeben.

Parameter-Liste

fdf_document

Eine FDF Dokumentresource wie von fdf_create(), fdf_open() oder fdf_open_string() zurückgegeben.

Rückgabewerte

Gibt die Versionsnumer als String zurück. Für das aktuelle FDF Toolkit 5.0 ist die Versionsnummer 5.0, die Versionsnummer eines Dokuments ist entweder 1.2, 1.3 oder 1.4.

Siehe auch

  • fdf_set_version() - Sets version number for a FDF file

fdf_get_value
fdf_header
FDF


Setzt FDF-spezifische Header

fdf_get_version
fdf_next_field_name
FDF
PHP Manual

fdf_header

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

fdf_header — Setzt FDF-spezifische Header

Beschreibung

void fdf_header ( void )

Dies ist eine Hilfsfunktion die die nötigen HTTP Header für FDF Dokumente setzt. Sie setzt den Content-type: auf application/vnd.fdf.

Rückgabewerte

Es wird kein Wert zurückgegeben.

fdf_get_version
fdf_next_field_name
FDF


Gibt den Namen des nächsten Feldes zurück

fdf_header
fdf_open_string
FDF
PHP Manual

fdf_next_field_name

(PHP 4, PHP 5, PHP 7)

fdf_next_field_name — Gibt den Namen des nächsten Feldes zurück

Beschreibung

string fdf_next_field_name ( resource $fdf_document [, string $fieldname ] )

Gibt den Namen des Feldes nach dem angegebenen Feld zurück. Dieser Name kann mit mehreren Funktionen verwendet werden.

Parameter-Liste

fdf_document

Das FDF-Dokument-Handle, das von fdf_create(), fdf_open() oder fdf_open_string() zurückgegeben wurde.

fieldname

Name des FDF-Felds als Zeichenkette. Wenn nicht angegeben, wird das erste Feld angenommen.

Rückgabewerte

Gibt den Feldnamen als Zeichenkette zurück.

Beispiele

Beispiel #1 Alle Feldnamen in einem FDF ermitteln

<?php
$fdf = fdf_open($HTTP_FDF_DATA);
for ($field = fdf_next_field_name($fdf);
    $field != "";
    $field = fdf_next_field_name($fdf, $field)) {
    echo "field: $field\n";
}
?>

Siehe auch

  • fdf_get_value() - Gibt den Wert eines Feldes zurück

fdf_header
fdf_open_string
FDF


Read a FDF document from a string

fdf_next_field_name
fdf_open
FDF
PHP Manual

fdf_open_string

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

fdf_open_string — Read a FDF document from a string

Beschreibung

resource fdf_open_string ( string $fdf_data )

Reads form data from a string.

You can use fdf_open_string() together with $HTTP_FDF_DATA to process FDF form input from a remote client.

Parameter-Liste

fdf_data

The data as returned from a PDF form or created using fdf_create() and fdf_save_string().

Rückgabewerte

Returns a FDF document handle, or FALSE on error.

Beispiele

Beispiel #1 Accessing the form data

<?php
$fdf = fdf_open_string($HTTP_FDF_DATA);
/* ... */
fdf_close($fdf);
?>

Siehe auch

  • fdf_open() - Öffnet ein FDF Dokument
  • fdf_close() - Schließt ein FDF Dokument
  • fdf_create() - Erzeugt ein neues FDF Dokument
  • fdf_save_string() - Returns the FDF document as a string

fdf_next_field_name
fdf_open
FDF


Öffnet ein FDF Dokument

fdf_open_string
fdf_remove_item
FDF
PHP Manual

fdf_open

(PHP 4, PHP 5, PHP 7)

fdf_open — Öffnet ein FDF Dokument

Beschreibung

resource fdf_open ( string $filename )

Öffnet eine Datei mit Formulardaten.

Sie können ebenfalls fdf_open_string() verwenden, um die Ergebnisse einer PDF-Formular POST-Anfrage zu verarbeiten.

Parameter-Liste

filename

Pfad zur FDF-Datei. Diese Datei muss entweder die von einem PDF Formular zurückgegebenen Formulardaten oder Formulardaten, die mit fdf_create() und fdf_save() erzeugt wurden, enthalten.

Rückgabewerte

Gibt ein FDF-Dokument-Handle zurück, oder FALSE im Fehlerfall.

Beispiele

Beispiel #1 Zugang zu den Formulardaten

<?php
// Speichern der FDF Daten in eine temporäre Datei
$fdffp = fopen("test.fdf", "w");
fwrite($fdffp, $HTTP_FDF_DATA, strlen($HTTP_FDF_DATA));
fclose($fdffp);

// Öffnen der temporären Datei und Auswertung der Daten
$fdf = fdf_open("test.fdf");
...
fdf_close($fdf);
?>

Siehe auch

  • fdf_open_string() - Read a FDF document from a string
  • fdf_close() - Schließt ein FDF Dokument
  • fdf_create() - Erzeugt ein neues FDF Dokument
  • fdf_save() - Speichern eines FDF Dokuments

fdf_open_string
fdf_remove_item
FDF


Sets target frame for form

fdf_open
fdf_save_string
FDF
PHP Manual

fdf_remove_item

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

fdf_remove_item — Sets target frame for form

Beschreibung

bool fdf_remove_item ( resource $fdf_document , string $fieldname , int $item )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

fdf_open
fdf_save_string
FDF


Returns the FDF document as a string

fdf_remove_item
fdf_save
FDF
PHP Manual

fdf_save_string

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

fdf_save_string — Returns the FDF document as a string

Beschreibung

string fdf_save_string ( resource $fdf_document )

Returns the FDF document as a string.

Parameter-Liste

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

Rückgabewerte

Returns the document as a string, or FALSE on error.

Beispiele

Beispiel #1 Retrieving FDF as a string

<?php
$fdf = fdf_create();
fdf_set_value($fdf, "foo", "bar");
$str = fdf_save_string($fdf);
fdf_close($fdf);
echo $str;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

%FDF-1.2
%âãÏÓ
1 0 obj
<<
/FDF << /Fields 2 0 R >>
>>
endobj
2 0 obj
[
<< /T (foo)/V (bar)>>
]
endobj
trailer
<<
/Root 1 0 R

>>
%%EOF

Siehe auch

  • fdf_open_string() - Read a FDF document from a string
  • fdf_close() - Schließt ein FDF Dokument
  • fdf_create() - Erzeugt ein neues FDF Dokument
  • fdf_save() - Speichern eines FDF Dokuments

fdf_remove_item
fdf_save
FDF


Speichern eines FDF Dokuments

fdf_save_string
fdf_set_ap
FDF
PHP Manual

fdf_save

(PHP 4, PHP 5, PHP 7)

fdf_save — Speichern eines FDF Dokuments

Beschreibung

bool fdf_save ( resource $fdf_document [, string $filename ] )

Speichert ein FDF Dokument.

Parameter-Liste

fdf_document

Das FDF-Dokument-Handle, das von fdf_create(), fdf_open() oder fdf_open_string() zurückgegeben wurde.

filename

Wenn angegeben, wird das resultierende FDF in diesen Parameter geschrieben. Andernfals wird das FDF an der Standardausgabe von PHP ausgegeben.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • fdf_close() - Schließt ein FDF Dokument
  • fdf_create() - Erzeugt ein neues FDF Dokument
  • fdf_save_string() - Returns the FDF document as a string

fdf_save_string
fdf_set_ap
FDF


Legt das Aussehen eines Feldes fest

fdf_save
fdf_set_encoding
FDF
PHP Manual

fdf_set_ap

(PHP 4, PHP 5, PHP 7)

fdf_set_ap — Legt das Aussehen eines Feldes fest

Beschreibung

bool fdf_set_ap ( resource $fdf_document , string $field_name , int $face , string $filename , int $page_number )

Legt das Aussehen eines Feldes (d.h. den Wert des /AP Schlüssels) fest.

Parameter-Liste

fdf_document

Das FDF-Dokument-Handle, das von fdf_create(), fdf_open() oder fdf_open_string() zurückgegeben wurde.

field_name

face

Die möglichen Werte sind FDFNormalAP, FDFRolloverAP und FDFDownAP.

filename

page_number

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

fdf_save
fdf_set_encoding
FDF


Legt die FDF Zeichenkodierung fest

fdf_set_ap
fdf_set_file
FDF
PHP Manual

fdf_set_encoding

(PHP 4 >= 4.0.7, PHP 5, PHP 7)

fdf_set_encoding — Legt die FDF Zeichenkodierung fest

Beschreibung

bool fdf_set_encoding ( resource $fdf_document , string $encoding )

Legt die Zeichenkodierung des FDF Dokuments fest.

Parameter-Liste

fdf_document

Das FDF-Dokument-Handle, das von fdf_create(), fdf_open() oder fdf_open_string() zurückgegeben wurde.

encoding

Der Name der Zeichenkodierung. Folgende Werte werden unterstützt: "Shift-JIS", "UHC", "GBK" und "BigFive".

Ein leerer String setzt die Kodierung auf den voreingestellten Wert PDFDocEncoding/Unicode.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

fdf_set_ap
fdf_set_file
FDF


Definiert ein PDF-Dokument, das FDF-Daten anzeigen soll

fdf_set_encoding
fdf_set_flags
FDF
PHP Manual

fdf_set_file

(PHP 4, PHP 5, PHP 7)

fdf_set_file — Definiert ein PDF-Dokument, das FDF-Daten anzeigen soll

Beschreibung

bool fdf_set_file ( resource $fdf_document , string $url [, string $target_frame ] )

Wählt ein anderes PDF-Dokument aus, in dem FDF-Formulardaten angezeigt werden sollen, als das Formular dem sie entstammen.

Parameter-Liste

fdf_document

Das FDF-Dokument-Handle, das von fdf_create(), fdf_open() oder fdf_open_string() zurückgegeben wurde.

url

Sollte als absolute URL angegeben werden.

target_frame

Der Rahmen in dem das Dokument angezeigt werden soll, kann mit diesem Parameter oder fdf_set_target_frame() festgelegt werden.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 FDF-Daten an ein zweites Formular übergeben

<?php
  /* Inhaltstyp für Adobe FDF festlegen */
  fdf_header();

  /* neues FDF beginnen */
  $fdf = fdf_create();

  /* Feld "foo" auf Wert "bar" setzen */
  fdf_set_value($fdf, "foo", "bar");

  /* den Client anweisen, FDF-Daten unter Verwendung von "fdf_form.pdf" anzuzeigen */
  fdf_set_file($fdf, "http://www.example.com/fdf_form.pdf");

  /* FDF ausgeben */
  fdf_save($fdf);

  /* aufräumen */
  fdf_close($fdf);
?>

Siehe auch

  • fdf_get_file() - Gibt den Wert des /F Schlüssels zurück
  • fdf_set_target_frame() - Set target frame for form display

fdf_set_encoding
fdf_set_flags
FDF


Setzt Flags eines Feldes

fdf_set_file
fdf_set_javascript_action
FDF
PHP Manual

fdf_set_flags

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

fdf_set_flags — Setzt Flags eines Feldes

Beschreibung

bool fdf_set_flags ( resource $fdf_document , string $fieldname , int $whichFlags , int $newFlags )

Setzt bestimmte Flags des angegebenen Feldes.

Parameter-Liste

fdf_document

Das FDF-Dokument-Handle, das von fdf_create(), fdf_open() oder fdf_open_string() zurückgegeben wurde.

fieldname

Name des FDF-Felds als Zeichenkette.

whichFlags

newFlags

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • fdf_set_opt() - Legt eine Option eines Feldes fest

fdf_set_file
fdf_set_javascript_action
FDF


Weist einem Feld eine JavaScript Aktion zu

fdf_set_flags
fdf_set_on_import_javascript
FDF
PHP Manual

fdf_set_javascript_action

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

fdf_set_javascript_action — Weist einem Feld eine JavaScript Aktion zu

Beschreibung

bool fdf_set_javascript_action ( resource $fdf_document , string $fieldname , int $trigger , string $script )

Weist dem angegebenen Feld eine JavaScript Aktion zu.

Parameter-Liste

fdf_document

Das FDF-Dokument-Handle, das von fdf_create(), fdf_open() oder fdf_open_string() zurückgegeben wurde.

fieldname

Name des FDF-Felds als Zeichenkette.

trigger

script

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • fdf_set_submit_form_action() - Setzt eine Submit-Form-Aktion für ein Feld

fdf_set_flags
fdf_set_on_import_javascript
FDF


Adds javascript code to be executed when Acrobat opens the FDF

fdf_set_javascript_action
fdf_set_opt
FDF
PHP Manual

fdf_set_on_import_javascript

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

fdf_set_on_import_javascript — Adds javascript code to be executed when Acrobat opens the FDF

Beschreibung

bool fdf_set_on_import_javascript ( resource $fdf_document , string $script , bool $before_data_import )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Siehe auch

  • fdf_add_doc_javascript() - Fügt JavaScript Code in ein FDF Dokument ein.
  • fdf_set_javascript_action() - Weist einem Feld eine JavaScript Aktion zu

fdf_set_javascript_action
fdf_set_opt
FDF


Legt eine Option eines Feldes fest

fdf_set_on_import_javascript
fdf_set_status
FDF
PHP Manual

fdf_set_opt

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

fdf_set_opt — Legt eine Option eines Feldes fest

Beschreibung

bool fdf_set_opt ( resource $fdf_document , string $fieldname , int $element , string $str1 , string $str2 )

Legt Optionen des angegebenen Felds fest.

Parameter-Liste

fdf_document

Das FDF-Dokument-Handle, das von fdf_create(), fdf_open() oder fdf_open_string() zurückgegeben wurde.

fieldname

Name des FDF-Felds als Zeichenkette.

element

str1

str2

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • fdf_set_flags() - Setzt Flags eines Feldes

fdf_set_on_import_javascript
fdf_set_status
FDF


Setzt den Wert des /STATUS Schlüssels

fdf_set_opt
fdf_set_submit_form_action
FDF
PHP Manual

fdf_set_status

(PHP 4, PHP 5, PHP 7)

fdf_set_status — Setzt den Wert des /STATUS Schlüssels

Beschreibung

bool fdf_set_status ( resource $fdf_document , string $status )

Setzt den Wert des /STATUS Schlüssels. Dieser wird bei der Anzeige in einem Warnungsfeld angezeigt.

Parameter-Liste

fdf_document

Das FDF-Dokument-Handle, das von fdf_create(), fdf_open() oder fdf_open_string() zurückgegeben wurde.

status

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • fdf_get_status() - Gibt den Wert des /STATUS Schlüssels zurück

fdf_set_opt
fdf_set_submit_form_action
FDF


Setzt eine Submit-Form-Aktion für ein Feld

fdf_set_status
fdf_set_target_frame
FDF
PHP Manual

fdf_set_submit_form_action

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

fdf_set_submit_form_action — Setzt eine Submit-Form-Aktion für ein Feld

Beschreibung

bool fdf_set_submit_form_action ( resource $fdf_document , string $fieldname , int $trigger , string $script , int $flags )

Setzt eine Submit-Form-Aktion für das angegebene Feld.

Parameter-Liste

fdf_document

Das FDF-Dokument-Handle, das von fdf_create(), fdf_open() oder fdf_open_string() zurückgegeben wurde.

fieldname

Name des FDF-Felds als Zeichenkette.

trigger

script

flags

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • fdf_set_javascript_action() - Weist einem Feld eine JavaScript Aktion zu

fdf_set_status
fdf_set_target_frame
FDF


Set target frame for form display

fdf_set_submit_form_action
fdf_set_value
FDF
PHP Manual

fdf_set_target_frame

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

fdf_set_target_frame — Set target frame for form display

Beschreibung

bool fdf_set_target_frame ( resource $fdf_document , string $frame_name )

Sets the target frame to display a result PDF defined with fdf_save_file() in.

Parameter-Liste

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

frame_name

The frame name, as a string.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • fdf_save_file()

fdf_set_submit_form_action
fdf_set_value
FDF


Legt den Wert eines Feldes fest

fdf_set_target_frame
fdf_set_version
FDF
PHP Manual

fdf_set_value

(PHP 4, PHP 5, PHP 7)

fdf_set_value — Legt den Wert eines Feldes fest

Beschreibung

bool fdf_set_value ( resource $fdf_document , string $fieldname , mixed $value [, int $isName ] )

Legt den value des angegebenen Feldes fest.

Parameter-Liste

fdf_document

Das FDF-Dokument-Handle, das von fdf_create(), fdf_open() oder fdf_open_string() zurückgegeben wurde.

fieldname

Name des FDF-Felds als Zeichenkette.

value

Dieser Parameter wird als String, oder falls der übergebene Wert ein Array ist, als Array gespeichert.

isName

Hinweis:

In älteren Versionen des FDF-Toolkits legte der letzte Parameter fest, ob der Wert in einen PDF-Namen (= 1) konvertiert oder als PDf-String (= 0) behandelt werden sollte.

Dieser Parameter wird in Version 5.0 des Toolkits nicht mehr benutzt. Aus Kompatibilitätsgründen wird der Parameter ab PHP-Version 4.3 als optional unterstützt aber ignoriert.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
4.3.0 | Unterstützung für Arrays im Parameter value wurde hinzugefügt.

Siehe auch

  • fdf_get_value() - Gibt den Wert eines Feldes zurück
  • fdf_remove_item() - Sets target frame for form

fdf_set_target_frame
fdf_set_version
FDF


Sets version number for a FDF file

fdf_set_value
GnuPG
FDF
PHP Manual

fdf_set_version

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

fdf_set_version — Sets version number for a FDF file

Beschreibung

bool fdf_set_version ( resource $fdf_document , string $version )

Sets the FDF version for the given document.

Some features supported by this extension are only available in newer FDF versions.

Parameter-Liste

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

version

The version number. For the current FDF toolkit 5.0, this may be either 1.2, 1.3 or 1.4.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • fdf_get_version() - Liefert die Versionsnummer einer FDF Datei oder des APIs

fdf_set_value
GnuPG
FDF


GNU Privacy Guard

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • Clearsign text
  • GnuPG Funktionen
    • gnupg_adddecryptkey — Fügt einen Schlüssel für Entschlüsselung hinzu
    • gnupg_addencryptkey — Fügt einen Schlüssel zur Verschlüsselung hinzu
    • gnupg_addsignkey — Fügt einen Schlüssel für Signierung hinzu
    • gnupg_cleardecryptkeys — Entfernt alle Schlüssel, die vorher für Entschlüsselung hinterlegt wurden
    • gnupg_clearencryptkeys — Entfernt alle Schlüssel, die vorher zur Verschlüsselung hinterlegt wurden
    • gnupg_clearsignkeys — Entfernt alle Schlüssel die vorher zur Signierung hinterlegt wurden
    • gnupg_decrypt — Entschlüsselt einen gegebenen Text
    • gnupg_decryptverify — Entschlüsselt und vertifiziert einen gegebenen Text
    • gnupg_encrypt — Verschlüsselt einen gegebenen Text
    • gnupg_encryptsign — Verschlüsselt und signiert einen gegebenen Text
    • gnupg_export — Exportiert einen Schlüssel
    • gnupg_geterror — Gibt den Fehlertext zurück, wenn eine Funktion scheitert
    • gnupg_getprotocol — Gibt das aktuell für alle Operationen aktive Protokoll zurück
    • gnupg_import — Importiert einen Schlüssel
    • gnupg_init — Initialisiert eine Verbindung
    • gnupg_keyinfo — Gibt ein Array mit Informationen über alle Schlüssel zurück, die dem gegebenen Muster entsprechen
    • gnupg_setarmor — Gepanzerte Ausgabe umschalten
    • gnupg_seterrormode — Setzt den Modus für error_reporting
    • gnupg_setsignmode — Setzt den Signierungs-Modus
    • gnupg_sign — Signiert einen übergebenen Text
    • gnupg_verify — Verifiziert einen signierten Text
fdf_set_version
Einführung
Non-Text MIME-Ausgaben


Einführung

Dieses Modul ermöglicht es, mit » gnupg zu interagieren.

GnuPG
Installation/Konfiguration
GnuPG


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
GnuPG


Anforderungen

Diese Erweitung benötigt die » gpgme Bibliothek

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/gnupg.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

GNUPG_SIG_MODE_NORMAL (integer)
GNUPG_SIG_MODE_DETACH (integer)
GNUPG_SIG_MODE_CLEAR (integer)
GNUPG_VALIDITY_UNKNOWN (integer)
GNUPG_VALIDITY_UNDEFINED (integer)
GNUPG_VALIDITY_NEVER (integer)
GNUPG_VALIDITY_MARGINAL (integer)
GNUPG_VALIDITY_FULL (integer)
GNUPG_VALIDITY_ULTIMATE (integer)
GNUPG_PROTOCOL_OpenPGP (integer)
GNUPG_PROTOCOL_CMS (integer)
GNUPG_SIGSUM_VALID (integer)
GNUPG_SIGSUM_GREEN (integer)
GNUPG_SIGSUM_RED (integer)
GNUPG_SIGSUM_KEY_REVOKED (integer)
GNUPG_SIGSUM_KEY_EXPIRED (integer)
GNUPG_SIGSUM_KEY_MISSING (integer)
GNUPG_SIGSUM_SIG_EXPIRED (integer)
GNUPG_SIGSUM_CRL_MISSING (integer)
GNUPG_SIGSUM_CRL_TOO_OLD (integer)
GNUPG_SIGSUM_BAD_POLICY (integer)
GNUPG_SIGSUM_SYS_ERROR (integer)
GNUPG_ERROR_WARNING (integer)
GNUPG_ERROR_EXCEPTION (integer)
GNUPG_ERROR_SILENT (integer)
Ressource-Typen
Beispiele
GnuPG


Beispiele

Inhaltsverzeichnis

  • Clearsign text
Vordefinierte Konstanten
Clearsign text
GnuPG


Clearsign text

This example will clearsign a given text.

Beispiel #1 gnupg clearsign example (procedural)

<?php
// init gnupg
$res = gnupg_init();
// not really needed. Clearsign is default
gnupg_setsignmode($res,GNUPG_SIG_MODE_CLEAR);
// add key with passphrase 'test' for signing
gnupg_addsignkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
// sign
$signed = gnupg_sign($res,"just a test");
echo $signed;
?>

Beispiel #2 gnupg clearsign example (OO)

<?php
// new class
$gnupg = new gnupg();
// not really needed. Clearsign is default
$gnupg->setsignmode(gnupg::SIG_MODE_CLEAR);
// add key with passphrase 'test' for signing
$gnupg->addsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
// sign
$signed = $gnupg->sign("just a test");
echo $signed;
?>

Beispiel #3 keylistiterator

This extension also comes with an Iterator for your keyring.

<?php
// create a new iterator for listing all public keys that matches 'example'
$iterator = new gnupg_keylistiterator("example");
foreach($iterator as $fingerprint => $userid){
    echo $fingerprint." -> ".$userid."\n";
}
?>
Beispiele
GnuPG Funktionen
Beispiele


GnuPG Funktionen

Anmerkungen

Diese Erweiterung verwendet den Schlüsselbund des aktuellen Benutzers. Dieser Schlüsselbund ist normalerweise unter ~./.gnupg/ zu finden. Um einen benutzerdefinierten Pfad festzulegen, speichere den Pfad zum Schlüsselbund in der Umgebungsvariable GNUPGHOME. Siehe hierzu putenv für detailiertere Informationen hierzu.

Einige Funktionen erfordern die Spezifikationen des Schlüssels. Diese Spezifikation kann irgendetwas sein, was den Schlüssel einzigartig macht. (z.B. Userid, Schlüssel-ID, Fingerabdruck..). In dieser Dokumentation wird in allen Beispielen der Fingerabdruck verwendet..

Hinweis:

Als Alternative zu den explizit dokumentierten Funktionen, die Ressourcen (resource) verwenden, ist ebenfalls ein object-orientierter Stil unter Verwendung von gnupg-Objekten möglich.

Inhaltsverzeichnis

  • gnupg_adddecryptkey — Fügt einen Schlüssel für Entschlüsselung hinzu
  • gnupg_addencryptkey — Fügt einen Schlüssel zur Verschlüsselung hinzu
  • gnupg_addsignkey — Fügt einen Schlüssel für Signierung hinzu
  • gnupg_cleardecryptkeys — Entfernt alle Schlüssel, die vorher für Entschlüsselung hinterlegt wurden
  • gnupg_clearencryptkeys — Entfernt alle Schlüssel, die vorher zur Verschlüsselung hinterlegt wurden
  • gnupg_clearsignkeys — Entfernt alle Schlüssel die vorher zur Signierung hinterlegt wurden
  • gnupg_decrypt — Entschlüsselt einen gegebenen Text
  • gnupg_decryptverify — Entschlüsselt und vertifiziert einen gegebenen Text
  • gnupg_encrypt — Verschlüsselt einen gegebenen Text
  • gnupg_encryptsign — Verschlüsselt und signiert einen gegebenen Text
  • gnupg_export — Exportiert einen Schlüssel
  • gnupg_geterror — Gibt den Fehlertext zurück, wenn eine Funktion scheitert
  • gnupg_getprotocol — Gibt das aktuell für alle Operationen aktive Protokoll zurück
  • gnupg_import — Importiert einen Schlüssel
  • gnupg_init — Initialisiert eine Verbindung
  • gnupg_keyinfo — Gibt ein Array mit Informationen über alle Schlüssel zurück, die dem gegebenen Muster entsprechen
  • gnupg_setarmor — Gepanzerte Ausgabe umschalten
  • gnupg_seterrormode — Setzt den Modus für error_reporting
  • gnupg_setsignmode — Setzt den Signierungs-Modus
  • gnupg_sign — Signiert einen übergebenen Text
  • gnupg_verify — Verifiziert einen signierten Text
Clearsign text
gnupg_adddecryptkey
GnuPG


Fügt einen Schlüssel für Entschlüsselung hinzu

GnuPG Funktionen
gnupg_addencryptkey
GnuPG Funktionen
PHP Manual

gnupg_adddecryptkey

(PECL gnupg >= 0.5)

gnupg_adddecryptkey — Fügt einen Schlüssel für Entschlüsselung hinzu

Beschreibung

bool gnupg_adddecryptkey ( resource $identifier , string $fingerprint , string $passphrase )

Parameter-Liste

identifier

Eine von gnupg_init() oder der Klasse gnupg zurückgegebene GnuPG-Ressource.

fingerprint

Der 'Fingerprint'-Schlüssel.

passphrase

Das Passwort.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Verwendungsbeispiel gnupg_adddecryptkey()

<?php
$res = gnupg_init();
gnupg_adddecryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
?>

Beispiel #2 OO gnupg_adddecryptkey() Beispiel

<?php
$gpg = new gnupg();
$gpg -> adddecryptkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
?>

GnuPG Funktionen
gnupg_addencryptkey
GnuPG Funktionen


Fügt einen Schlüssel zur Verschlüsselung hinzu

gnupg_adddecryptkey
gnupg_addsignkey
GnuPG Funktionen
PHP Manual

gnupg_addencryptkey

(PECL gnupg >= 0.5)

gnupg_addencryptkey — Fügt einen Schlüssel zur Verschlüsselung hinzu

Beschreibung

bool gnupg_addencryptkey ( resource $identifier , string $fingerprint )

Parameter-Liste

identifier

Eine von gnupg_init() oder der Klasse gnupg zurückgegebene GnuPG-Ressource.

fingerprint

Der 'Fingerprint'-Schlüssel.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Prozedurales gnupg_addencryptkey() Beispiel

<?php
$res = gnupg_init();
gnupg_addencryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC");
?>

Beispiel #2 OO (objektorientiertes) gnupg_addencryptkey()-Beispiel

<?php
$gpg = new gnupg();
$gpg -> addencryptkey("8660281B6051D071D94B5B230549F9DC851566DC");
?>

gnupg_adddecryptkey
gnupg_addsignkey
GnuPG Funktionen


Fügt einen Schlüssel für Signierung hinzu

gnupg_addencryptkey
gnupg_cleardecryptkeys
GnuPG Funktionen
PHP Manual

gnupg_addsignkey

(PECL gnupg >= 0.5)

gnupg_addsignkey — Fügt einen Schlüssel für Signierung hinzu

Beschreibung

bool gnupg_addsignkey ( resource $identifier , string $fingerprint [, string $passphrase ] )

Parameter-Liste

identifier

Eine von gnupg_init() oder der Klasse gnupg zurückgegebene GnuPG-Ressource.

fingerprint

Der 'Fingerprint'-Schlüssel.

passphrase

Das Passwort.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Prozedurales gnupg_addsignkey() Beispiel

<?php
$res = gnupg_init();
gnupg_addsignkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
?>

Beispiel #2 OO (objektorientiertes) gnupg_addsignkey()-Beispiel

<?php
$gpg = new gnupg();
$gpg -> addsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
?>

gnupg_addencryptkey
gnupg_cleardecryptkeys
GnuPG Funktionen


Entfernt alle Schlüssel, die vorher für Entschlüsselung hinterlegt wurden

gnupg_addsignkey
gnupg_clearencryptkeys
GnuPG Funktionen
PHP Manual

gnupg_cleardecryptkeys

(PECL gnupg >= 0.5)

gnupg_cleardecryptkeys — Entfernt alle Schlüssel, die vorher für Entschlüsselung hinterlegt wurden

Beschreibung

bool gnupg_cleardecryptkeys ( resource $identifier )

Parameter-Liste

identifier

Eine von gnupg_init() oder der Klasse gnupg zurückgegebene GnuPG-Ressource.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Prozedurales gnupg_cleardecryptkeys() Beispiel

<?php
$res = gnupg_init();
gnupg_cleardecryptkeys($res);
?>

Beispiel #2 OO (objektorientiertes) gnupg_cleardecryptkeys() Beispiel

<?php
$gpg = new gnupg();
$gpg -> cleardecryptkeys();
?>

gnupg_addsignkey
gnupg_clearencryptkeys
GnuPG Funktionen


Entfernt alle Schlüssel, die vorher zur Verschlüsselung hinterlegt wurden

gnupg_cleardecryptkeys
gnupg_clearsignkeys
GnuPG Funktionen
PHP Manual

gnupg_clearencryptkeys

(PECL gnupg >= 0.5)

gnupg_clearencryptkeys — Entfernt alle Schlüssel, die vorher zur Verschlüsselung hinterlegt wurden

Beschreibung

bool gnupg_clearencryptkeys ( resource $identifier )

Parameter-Liste

identifier

Eine von gnupg_init() oder der Klasse gnupg zurückgegebene GnuPG-Ressource.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Prozedurales gnupg_clearencryptkeys() Beispiel

<?php
$res = gnupg_init();
gnupg_clearencryptkeys($res);
?>

Beispiel #2 OO (objektorientiertes) gnupg_clearencryptkeys() Beispiel

<?php
$gpg = new gnupg();
$gpg -> clearencryptkeys();
?>

gnupg_cleardecryptkeys
gnupg_clearsignkeys
GnuPG Funktionen


Entfernt alle Schlüssel die vorher zur Signierung hinterlegt wurden

gnupg_clearencryptkeys
gnupg_decrypt
GnuPG Funktionen
PHP Manual

gnupg_clearsignkeys

(PECL gnupg >= 0.5)

gnupg_clearsignkeys — Entfernt alle Schlüssel die vorher zur Signierung hinterlegt wurden

Beschreibung

bool gnupg_clearsignkeys ( resource $identifier )

Parameter-Liste

identifier

Eine von gnupg_init() oder der Klasse gnupg zurückgegebene GnuPG-Ressource.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Prozedurales gnupg_clearsignkeys() Beispiel

<?php
$res = gnupg_init();
gnupg_clearsignkeys($res);
?>

Beispiel #2 OO (objektorientiertes) gnupg_clearsignkeys() Beispiel

<?php
$gpg = new gnupg();
$gpg -> clearsignkeys();
?>

gnupg_clearencryptkeys
gnupg_decrypt
GnuPG Funktionen


Entschlüsselt einen gegebenen Text

gnupg_clearsignkeys
gnupg_decryptverify
GnuPG Funktionen
PHP Manual

gnupg_decrypt

(PECL gnupg >= 0.1)

gnupg_decrypt — Entschlüsselt einen gegebenen Text

Beschreibung

string gnupg_decrypt ( resource $identifier , string $text )

Entschlüsselt einen gegebenen Text mit den Schlüsseln, die mit gnupg_adddecryptkey hinterlegt wurden.

Parameter-Liste

identifier

Eine von gnupg_init() oder der Klasse gnupg zurückgegebene GnuPG-Ressource.

text

Der zu entschlüsselnde Text.

Rückgabewerte

Bei Erfolg gibt diese Funktion den entschlüsselten Text zurück. Bei einem Fehler gibt diese Funktion FALSE zurück.

Beispiele

Beispiel #1 Prozedurales gnupg_decrypt() Beispiel

<?php
$res = gnupg_init();
gnupg_adddecryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
$plain = gnupg_decrypt($res,$encrypted_text);
echo $plain;
?>

Beispiel #2 OO (objektorientiertes)gnupg_encrypt() Beispiel

<?php
$gpg = new gnupg();
$gpg -> adddecryptkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
$plain = $gpg -> decrypt($encrypted_text);
echo $plain;
?>

gnupg_clearsignkeys
gnupg_decryptverify
GnuPG Funktionen


Entschlüsselt und vertifiziert einen gegebenen Text

gnupg_decrypt
gnupg_encrypt
GnuPG Funktionen
PHP Manual

gnupg_decryptverify

(PECL gnupg >= 0.2)

gnupg_decryptverify — Entschlüsselt und vertifiziert einen gegebenen Text

Beschreibung

array gnupg_decryptverify ( resource $identifier , string $text , string &$plaintext )

Entschlüsselt und verifiziert einen gegebenen Text und gibt Informationen über die Signatur zurück.

Parameter-Liste

identifier

Eine von gnupg_init() oder der Klasse gnupg zurückgegebene GnuPG-Ressource.

text

Der zu entschlüsselnde Text.

plaintext

Der Parameter plaintext wird mit dem entschlüsselten Text gefüllt.

Rückgabewerte

Bei Erfolgg gibt die Funktion Informationen über die Signatur und füllt den Parameter plaintext mit dem entschlüsselten Text. Bei einem Fehler gibt diese Funktion FALSE zurück.

Beispiele

Beispiel #1 Prozedurales gnupg_decryptverify() Beispiel

<?php
$plaintext = "";
$res = gnupg_init();
gnupg_adddecryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
$info = gnupg_decryptverify($res,$text,$plaintext);
print_r($info);
?>

Beispiel #2 OO (objektorientiertes) gnupg_decryptverify() Beispiel

<?php
$plaintext = "";
$gpg = new gnupg();
$gpg -> adddecryptkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
$info = $gpg -> decryptverify($text,$plaintext);
print_r($info);
?>

gnupg_decrypt
gnupg_encrypt
GnuPG Funktionen


Verschlüsselt einen gegebenen Text

gnupg_decryptverify
gnupg_encryptsign
GnuPG Funktionen
PHP Manual

gnupg_encrypt

(PECL gnupg >= 0.1)

gnupg_encrypt — Verschlüsselt einen gegebenen Text

Beschreibung

string gnupg_encrypt ( resource $identifier , string $plaintext )

Verschlüsselt den gegebenen plaintext mit den Schlüsseln, die vorher mit gnupg_addencryptkey gesetzt wurden und gibt den verschlüsselten Text zurück.

Parameter-Liste

identifier

Eine von gnupg_init() oder der Klasse gnupg zurückgegebene GnuPG-Ressource.

plaintext

Der zu verschlüsselnde Text.

Rückgabewerte

Bei Erfolg gibt diese Funktion den verschlüsselten Text zurück. Bei einem Fehler gibt diese Funktion FALSE zurück.

Beispiele

Beispiel #1 Prozedurales gnupg_encrypt() Beispiel

<?php
$res = gnupg_init();
gnupg_addencryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC");
$enc = gnupg_encrypt($res, "just a test");
echo $enc;
?>

Beispiel #2 OO (objektorientiertes) gnupg_encrypt() Beispiele

<?php
$gpg = new gnupg();
$gpg -> addencryptkey("8660281B6051D071D94B5B230549F9DC851566DC");
$enc = $gpg -> encrypt("just a test");
echo $enc;
?>

gnupg_decryptverify
gnupg_encryptsign
GnuPG Funktionen


Verschlüsselt und signiert einen gegebenen Text

gnupg_encrypt
gnupg_export
GnuPG Funktionen
PHP Manual

gnupg_encryptsign

(PECL gnupg >= 0.2)

gnupg_encryptsign — Verschlüsselt und signiert einen gegebenen Text

Beschreibung

string gnupg_encryptsign ( resource $identifier , string $plaintext )

Verschlüsselt und signiert den gegebenen plaintext mit den Schlüsseln, die vorher mit gnupg_addsignkey und gnupg_addencryptkey hinterlegten Schlüsseln und gibt den verschlüsselten und signierten Text zurück.

Parameter-Liste

identifier

Eine von gnupg_init() oder der Klasse gnupg zurückgegebene GnuPG-Ressource.

plaintext

Der zu verschlüsselnde Text.

Rückgabewerte

Bei Erfolg gibt diese Funktionn den verschlüsselten und signierten Text zurück, bei einem Fehler gibt diese Funktion FALSE zurück.

Beispiele

Beispiel #1 Prozedurales gnupg_encryptsign() Beispiel

<?php
$res = gnupg_init();
gnupg_addencryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC");
gnupg_addsignkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
$enc = gnupg_encryptsign($res, "just a test");
echo $enc;
?>

Beispiel #2 OO (objektorientiertes) gnupg_encryptsign() Beispiel

<?php
$gpg = new gnupg();
$gpg -> addencryptkey("8660281B6051D071D94B5B230549F9DC851566DC");
$gpg -> addsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
$enc = $gpg -> encryptsign("just a test");
echo $enc;
?>

gnupg_encrypt
gnupg_export
GnuPG Funktionen


Exportiert einen Schlüssel

gnupg_encryptsign
gnupg_geterror
GnuPG Funktionen
PHP Manual

gnupg_export

(PECL gnupg >= 0.1)

gnupg_export — Exportiert einen Schlüssel

Beschreibung

string gnupg_export ( resource $identifier , string $fingerprint )

Exportiert den Schlüssel fingerprint.

Parameter-Liste

identifier

Eine von gnupg_init() oder der Klasse gnupg zurückgegebene GnuPG-Ressource.

fingerprint

Der 'Fingerprint'-Schlüssel.

Rückgabewerte

Bei Erfolg gibt diese Funktion die Schlüssel-Daten zurück. Bei einem Fehler gibt diese Funktion FALSE zurück.

Beispiele

Beispiel #1 Prozedurales gnupg_export() Beispiel

<?php
$res = gnupg_init();
$export = gnupg_export($res,"8660281B6051D071D94B5B230549F9DC851566DC");
echo $export;
?>

Beispiel #2 OO (objektorientiertes) gnupg_export() Beispiel

<?php
$gpg = new gnupg();
$export = $gpg -> export("8660281B6051D071D94B5B230549F9DC851566DC");
?>

gnupg_encryptsign
gnupg_geterror
GnuPG Funktionen


Gibt den Fehlertext zurück, wenn eine Funktion scheitert

gnupg_export
gnupg_getprotocol
GnuPG Funktionen
PHP Manual

gnupg_geterror

(PECL gnupg >= 0.1)

gnupg_geterror — Gibt den Fehlertext zurück, wenn eine Funktion scheitert

Beschreibung

string gnupg_geterror ( resource $identifier )

Parameter-Liste

identifier

Eine von gnupg_init() oder der Klasse gnupg zurückgegebene GnuPG-Ressource.

Rückgabewerte

Gibt den Fehlertext zurück, wenn ein Fehler aufgetreten ist, sonst FALSE.

Beispiele

Beispiel #1 Prozedurales gnupg_geterror() Beispiel

<?php
$res = gnupg_init();
echo gnupg_geterror($res);
?>

Beispiel #2 OO (objektorientiertes) gnupg_geterror() Beispiel

<?php
$gpg = new gnupg();
echo $gpg -> geterror();
?>

gnupg_export
gnupg_getprotocol
GnuPG Funktionen


Gibt das aktuell für alle Operationen aktive Protokoll zurück

gnupg_geterror
gnupg_import
GnuPG Funktionen
PHP Manual

gnupg_getprotocol

(PECL gnupg >= 0.1)

gnupg_getprotocol — Gibt das aktuell für alle Operationen aktive Protokoll zurück

Beschreibung

int gnupg_getprotocol ( resource $identifier )

Parameter-Liste

identifier

Eine von gnupg_init() oder der Klasse gnupg zurückgegebene GnuPG-Ressource.

Rückgabewerte

Gibt das aktuell aktive Protokoll zurück, welches eine der GNUPG_PROTOCOL_OpenPGP- oder GNUPG_PROTOCOL_CMS-Konstanten sein kann.

Beispiele

Beispiel #1 Prozedurales gnupg_getprotocol() Beispiel

<?php
$res = gnupg_init();
echo gnupg_getprotocol($res);
?>

Beispiel #2 OO (objektorientiertes) gnupg_getprotocol() Beispiel

<?php
$gpg = new gnupg();
echo $gpg -> getprotocol();
?>

gnupg_geterror
gnupg_import
GnuPG Funktionen


Importiert einen Schlüssel

gnupg_getprotocol
gnupg_init
GnuPG Funktionen
PHP Manual

gnupg_import

(PECL gnupg >= 0.3)

gnupg_import — Importiert einen Schlüssel

Beschreibung

array gnupg_import ( resource $identifier , string $keydata )

Importiert den Schlüssel keydata und gibt ein Array mit Informationen über den Importprozess zurück.

Parameter-Liste

identifier

Eine von gnupg_init() oder der Klasse gnupg zurückgegebene GnuPG-Ressource.

keydata

Die Daten des zu importierenden Schlüssels.

Rückgabewerte

Bei Erfolg gibt diese Funktion ein info-array über den Importprozess zurück. Bei einem Fehler gibt diese Funktion FALSE zurück.

Beispiele

Beispiel #1 Prozedurales gnupg_import() Beispiel

<?php
$res = gnupg_init();
$info = gnupg_import($res,$keydata);
print_r($info);
?>

Beispiel #2 OO (objektorientiertes) gnupg_import() Beispiel

<?php
$gpg = new gnupg();
$info = $gpg -> import($keydata);
print_r($info);
?>

gnupg_getprotocol
gnupg_init
GnuPG Funktionen


Initialisiert eine Verbindung

gnupg_import
gnupg_keyinfo
GnuPG Funktionen
PHP Manual

gnupg_init

(PECL gnupg >= 0.4)

gnupg_init — Initialisiert eine Verbindung

Beschreibung

resource gnupg_init ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Eine GnuPG-resource-Verbindung, die von anderen GnuPG-Funktionen benutz wird.

Beispiele

Beispiel #1 Prozedurales gnupg_init() Beispiel

<?php
$res = gnupg_init();
?>

Beispiel #2 OO (objektorientiertes) gnupg_init() Beispiel

<?php
$gpg = new gnupg();
?>

gnupg_import
gnupg_keyinfo
GnuPG Funktionen


Gibt ein Array mit Informationen über alle Schlüssel zurück, die dem gegebenen Muster entsprechen

gnupg_init
gnupg_setarmor
GnuPG Funktionen
PHP Manual

gnupg_keyinfo

(PECL gnupg >= 0.1)

gnupg_keyinfo — Gibt ein Array mit Informationen über alle Schlüssel zurück, die dem gegebenen Muster entsprechen

Beschreibung

array gnupg_keyinfo ( resource $identifier , string $pattern )

Parameter-Liste

identifier

Eine von gnupg_init() oder der Klasse gnupg zurückgegebene GnuPG-Ressource.

pattern

Das Muster, das mit den Schlüsseln verglichen werden soll.

Rückgabewerte

Gibt ein Array mit Informationen über alle Schlüssel, die dem übergebenen Muster entsprechen oder FALSE, wenn ein Fehler auftritt.

Beispiele

Beispiel #1 Prozedurales gnupg_keyinfo() Beispiel

<?php
$res = gnupg_init();
$info = gnupg_keyinfo($res, 'test');
print_r($info);
?>

Beispiel #2 OO (objektorientiertes) gnupg_keyinfo() Beispiel

<?php
$gpg = new gnupg();
$info = $gpg -> keyinfo("test");
print_r($info);
?>

gnupg_init
gnupg_setarmor
GnuPG Funktionen


Gepanzerte Ausgabe umschalten

gnupg_keyinfo
gnupg_seterrormode
GnuPG Funktionen
PHP Manual

gnupg_setarmor

(PECL gnupg >= 0.1)

gnupg_setarmor — Gepanzerte Ausgabe umschalten

Beschreibung

bool gnupg_setarmor ( resource $identifier , int $armor )

Umschalten der gepanzerten Ausgabe.

Parameter-Liste

identifier

Eine von gnupg_init() oder der Klasse gnupg zurückgegebene GnuPG-Ressource.

armor

Übergibt einen nicht-null Integer-Wert zu dieser Funktion um die gepanzerte Ausgabe zu aktivieren (standard). Übergib 0 um die gepanzerte Ausgabe zu deaktivieren.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Prozedurales gnupg_setarmor() Beispiel

<?php
$res = gnupg_init();
gnupg_setarmor($res,1); // gepanzerte Ausgabe aktivieren;
gnupg_setarmor($res,0); // gepanzerte Ausgabe deaktivieren;
?>

Beispiel #2 OO (objektorientiertes) gnupg_setarmor() Beispiel

<?php
$gpg = new gnupg();
$gpg -> setarmor(1); // gepanzerte Ausgabe aktivieren;
$gpg -> setarmor(0); // gepanzerte Ausgabe deaktivieren;
?>

gnupg_keyinfo
gnupg_seterrormode
GnuPG Funktionen


Setzt den Modus für error_reporting

gnupg_setarmor
gnupg_setsignmode
GnuPG Funktionen
PHP Manual

gnupg_seterrormode

(PECL gnupg >= 0.6)

gnupg_seterrormode — Setzt den Modus für error_reporting

Beschreibung

void gnupg_seterrormode ( resource $identifier , int $errormode )

Setzt den Modus für error_reporting.

Parameter-Liste

identifier

Eine von gnupg_init() oder der Klasse gnupg zurückgegebene GnuPG-Ressource.

errormode

Der Fehler-Modus.

errormode übernimmt eine Konstante, die angibt, welche Art von error_reporting verwendet werden sollte. Die möglichen Werte sind GNUPG_ERROR_WARNING, GNUPG_ERROR_EXCEPTION und GNUPG_ERROR_SILENT. Standardmäßig wird GNUPG_ERROR_SILENT verwendet.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Procedurales gnupg_seterrormode() Beispiel

<?php
$res = gnupg_init();
gnupg_seterrormode($res,GNUPG_ERROR_WARNING); // erzeugt eine PHP-Warnung im Fall eines Fehlers
?>

Beispiel #2 OO (objektorientiertes) gnupg_seterrormode() Beispiel

<?php
$gpg = new gnupg();
$gpg -> seterrormode(gnupg::ERROR_EXCEPTION); // erzeugt eine Ausnahme im Fall eines Fehlers
?>

gnupg_setarmor
gnupg_setsignmode
GnuPG Funktionen


Setzt den Signierungs-Modus

gnupg_seterrormode
gnupg_sign
GnuPG Funktionen
PHP Manual

gnupg_setsignmode

(PECL gnupg >= 0.1)

gnupg_setsignmode — Setzt den Signierungs-Modus

Beschreibung

bool gnupg_setsignmode ( resource $identifier , int $signmode )

Setzt den Signierungs-Modus.

Parameter-Liste

identifier

Eine von gnupg_init() oder der Klasse gnupg zurückgegebene GnuPG-Ressource.

sigmode

Der Modus der Signierung.

signmode übernimmt eine Konstante, die angibt, welche Art von Signatur erzeugt werden soll. Die möglichen Werte sind GNUPG_SIG_MODE_NORMAL, GNUPG_SIG_MODE_DETACH und GNUPG_SIG_MODE_CLEAR. Standardmäßig wird GNUPG_SIG_MODE_CLEAR verwendet.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Prozedurales gnupg_setsignmode() Beispiel

<?php
$res = gnupg_init();
gnupg_setsignmode($res,GNUPG_SIG_MODE_DETACH); // erzeugt eine abgetrennte Signatur
?>

Beispiel #2 OO gnupg_setsignmode() Beispiel

<?php
$gpg = new gnupg();
$gpg -> setsignmode(gnupg::SIG_MODE_DETACH); // erzeugt eine abgetrennte Signatur
?>

gnupg_seterrormode
gnupg_sign
GnuPG Funktionen


Signiert einen übergebenen Text

gnupg_setsignmode
gnupg_verify
GnuPG Funktionen
PHP Manual

gnupg_sign

(PECL gnupg >= 0.1)

gnupg_sign — Signiert einen übergebenen Text

Beschreibung

string gnupg_sign ( resource $identifier , string $plaintext )

Signiert den übergebenen plaintext mit den Schlüsseln, die vorher mit gnupg_addsignkey hinterlegt wurden und gibt den signierten Text oder die Signatur zurück, abhängig davon, was mit gnupg_setsignmode festgelegt wurde.

Parameter-Liste

identifier

Eine von gnupg_init() oder der Klasse gnupg zurückgegebene GnuPG-Ressource.

plaintext

Der zu signierende Klartext.

Rückgabewerte

Bei Erfolg gibt diese Funktion den signierten Text oder die Signatur zurück, bei einem Fehler FALSE.

Beispiele

Beispiel #1 Prozedurales gnupg_sign() Beispiel

<?php
$res = gnupg_init();
gnupg_addsignkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
$signed = gnupg_sign($res, "just a test");
echo $signed;
?>

Beispiel #2 OO gnupg_sign() Beispiel

<?php
$gpg = new gnupg();
$gpg->addsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
$signed = $gpg->sign("just a test");
echo $signed;
?>

gnupg_setsignmode
gnupg_verify
GnuPG Funktionen


Verifiziert einen signierten Text

gnupg_sign
haru
GnuPG Funktionen
PHP Manual

gnupg_verify

(PECL gnupg >= 0.1)

gnupg_verify — Verifiziert einen signierten Text

Beschreibung

array gnupg_verify ( resource $identifier , string $signed_text , string $signature [, string &$plaintext ] )

Verifiziert den gegebenen signed_text und gibt Informationen über die Signatur zurück.

Parameter-Liste

identifier

Eine von gnupg_init() oder der Klasse gnupg zurückgegebene GnuPG-Ressource.

signed_text

Der signierte Text.

signature

Die Signatur. Um einen klar signierten Text zu verifizieren, setzen Sie für signatur FALSE.

plaintext

Der klare Text. Wenn dieser optionale Parameter übergeben ist, ist er mit dem Klartext gefüllt.

Rückgabewerte

Bei Erfolg gibt diese Funktion Informationen über die Signatur, bei einem Fehler FALSE zurück.

Beispiele

Beispiel #1 Prozedurales gnupg_verify() Beispiel

<?php
$plaintext = "";
$res = gnupg_init();
// clearsigned
$info = gnupg_verify($res,$signed_text,false,$plaintext);
print_r($info);
// detached signature
$info = gnupg_verify($res,$signed_text,$signature);
print_r($info);
?>

Beispiel #2 OO gnupg_verify() Beispiel

<?php
$plaintext = "";
$gpg = new gnupg();
// clearsigned
$info = $gpg -> verify($signed_text,false,$plaintext);
print_r($info);
// detached signature
$info = $gpg -> verify($signed_text,$signature);
print_r($info);
?>

gnupg_sign
haru
GnuPG Funktionen


Haru PDF

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • Basic PECL/haru example
  • Builtin Fonts And Encodings
    • Builtin Fonts
    • Builtin Encodings
  • HaruException — The HaruException class
  • HaruDoc — The HaruDoc class
    • HaruDoc::addPage — Add new page to the document
    • HaruDoc::addPageLabel — Set the numbering style for the specified range of pages
    • HaruDoc::__construct — Construct new HaruDoc instance
    • HaruDoc::createOutline — Create a HaruOutline instance
    • HaruDoc::getCurrentEncoder — Get HaruEncoder currently used in the document
    • HaruDoc::getCurrentPage — Return current page of the document
    • HaruDoc::getEncoder — Get HaruEncoder instance for the specified encoding
    • HaruDoc::getFont — Get HaruFont instance
    • HaruDoc::getInfoAttr — Get current value of the specified document attribute
    • HaruDoc::getPageLayout — Get current page layout
    • HaruDoc::getPageMode — Get current page mode
    • HaruDoc::getStreamSize — Get the size of the temporary stream
    • HaruDoc::insertPage — Insert new page just before the specified page
    • HaruDoc::loadJPEG — Load a JPEG image
    • HaruDoc::loadPNG — Load PNG image and return HaruImage instance
    • HaruDoc::loadRaw — Load a RAW image
    • HaruDoc::loadTTC — Load the font with the specified index from TTC file
    • HaruDoc::loadTTF — Load TTF font file
    • HaruDoc::loadType1 — Load Type1 font
    • HaruDoc::output — Write the document data to the output buffer
    • HaruDoc::readFromStream — Read data from the temporary stream
    • HaruDoc::resetError — Reset error state of the document handle
    • HaruDoc::resetStream — Rewind the temporary stream
    • HaruDoc::save — Save the document into the specified file
    • HaruDoc::saveToStream — Save the document into a temporary stream
    • HaruDoc::setCompressionMode — Set compression mode for the document
    • HaruDoc::setCurrentEncoder — Set the current encoder for the document
    • HaruDoc::setEncryptionMode — Set encryption mode for the document
    • HaruDoc::setInfoAttr — Set the info attribute of the document
    • HaruDoc::setInfoDateAttr — Set the datetime info attributes of the document
    • HaruDoc::setOpenAction — Define which page is shown when the document is opened
    • HaruDoc::setPageLayout — Set how pages should be displayed
    • HaruDoc::setPageMode — Set how the document should be displayed
    • HaruDoc::setPagesConfiguration — Set the number of pages per set of pages
    • HaruDoc::setPassword — Set owner and user passwords for the document
    • HaruDoc::setPermission — Set permissions for the document
    • HaruDoc::useCNSEncodings — Enable Chinese simplified encodings
    • HaruDoc::useCNSFonts — Enable builtin Chinese simplified fonts
    • HaruDoc::useCNTEncodings — Enable Chinese traditional encodings
    • HaruDoc::useCNTFonts — Enable builtin Chinese traditional fonts
    • HaruDoc::useJPEncodings — Enable Japanese encodings
    • HaruDoc::useJPFonts — Enable builtin Japanese fonts
    • HaruDoc::useKREncodings — Enable Korean encodings
    • HaruDoc::useKRFonts — Enable builtin Korean fonts
  • HaruPage — The HaruPage class
    • HaruPage::arc — Append an arc to the current path
    • HaruPage::beginText — Begin a text object and set the current text position to (0,0)
    • HaruPage::circle — Append a circle to the current path
    • HaruPage::closePath — Append a straight line from the current point to the start point of the path
    • HaruPage::concat — Concatenate current transformation matrix of the page and the specified matrix
    • HaruPage::createDestination — Create new HaruDestination instance
    • HaruPage::createLinkAnnotation — Create new HaruAnnotation instance
    • HaruPage::createTextAnnotation — Create new HaruAnnotation instance
    • HaruPage::createURLAnnotation — Create and return new HaruAnnotation instance
    • HaruPage::curveTo2 — Append a Bezier curve to the current path
    • HaruPage::curveTo3 — Append a Bezier curve to the current path
    • HaruPage::curveTo — Append a Bezier curve to the current path
    • HaruPage::drawImage — Show image at the page
    • HaruPage::ellipse — Append an ellipse to the current path
    • HaruPage::endPath — End current path object without filling and painting operations
    • HaruPage::endText — End current text object
    • HaruPage::eofill — Fill current path using even-odd rule
    • HaruPage::eoFillStroke — Fill current path using even-odd rule, then paint the path
    • HaruPage::fill — Fill current path using nonzero winding number rule
    • HaruPage::fillStroke — Fill current path using nonzero winding number rule, then paint the path
    • HaruPage::getCharSpace — Get the current value of character spacing
    • HaruPage::getCMYKFill — Get the current filling color
    • HaruPage::getCMYKStroke — Get the current stroking color
    • HaruPage::getCurrentFont — Get the currently used font
    • HaruPage::getCurrentFontSize — Get the current font size
    • HaruPage::getCurrentPos — Get the current position for path painting
    • HaruPage::getCurrentTextPos — Get the current position for text printing
    • HaruPage::getDash — Get the current dash pattern
    • HaruPage::getFillingColorSpace — Get the current filling color space
    • HaruPage::getFlatness — Get the flatness of the page
    • HaruPage::getGMode — Get the current graphics mode
    • HaruPage::getGrayFill — Get the current filling color
    • HaruPage::getGrayStroke — Get the current stroking color
    • HaruPage::getHeight — Get the height of the page
    • HaruPage::getHorizontalScaling — Get the current value of horizontal scaling
    • HaruPage::getLineCap — Get the current line cap style
    • HaruPage::getLineJoin — Get the current line join style
    • HaruPage::getLineWidth — Get the current line width
    • HaruPage::getMiterLimit — Get the value of miter limit
    • HaruPage::getRGBFill — Get the current filling color
    • HaruPage::getRGBStroke — Get the current stroking color
    • HaruPage::getStrokingColorSpace — Get the current stroking color space
    • HaruPage::getTextLeading — Get the current value of line spacing
    • HaruPage::getTextMatrix — Get the current text transformation matrix of the page
    • HaruPage::getTextRenderingMode — Get the current text rendering mode
    • HaruPage::getTextRise — Get the current value of text rising
    • HaruPage::getTextWidth — Get the width of the text using current fontsize, character spacing and word spacing
    • HaruPage::getTransMatrix — Get the current transformation matrix of the page
    • HaruPage::getWidth — Get the width of the page
    • HaruPage::getWordSpace — Get the current value of word spacing
    • HaruPage::lineTo — Draw a line from the current point to the specified point
    • HaruPage::measureText — Calculate the byte length of characters which can be included on one line of the specified width
    • HaruPage::moveTextPos — Move text position to the specified offset
    • HaruPage::moveTo — Set starting point for new drawing path
    • HaruPage::moveToNextLine — Move text position to the start of the next line
    • HaruPage::rectangle — Append a rectangle to the current path
    • HaruPage::setCharSpace — Set character spacing for the page
    • HaruPage::setCMYKFill — Set filling color for the page
    • HaruPage::setCMYKStroke — Set stroking color for the page
    • HaruPage::setDash — Set the dash pattern for the page
    • HaruPage::setFlatness — Set flatness for the page
    • HaruPage::setFontAndSize — Set font and fontsize for the page
    • HaruPage::setGrayFill — Set filling color for the page
    • HaruPage::setGrayStroke — Sets stroking color for the page
    • HaruPage::setHeight — Set height of the page
    • HaruPage::setHorizontalScaling — Set horizontal scaling for the page
    • HaruPage::setLineCap — Set the shape to be used at the ends of lines
    • HaruPage::setLineJoin — Set line join style for the page
    • HaruPage::setLineWidth — Set line width for the page
    • HaruPage::setMiterLimit — Set the current value of the miter limit of the page
    • HaruPage::setRGBFill — Set filling color for the page
    • HaruPage::setRGBStroke — Set stroking color for the page
    • HaruPage::setRotate — Set rotation angle of the page
    • HaruPage::setSize — Set size and direction of the page
    • HaruPage::setSlideShow — Set transition style for the page
    • HaruPage::setTextLeading — Set text leading (line spacing) for the page
    • HaruPage::setTextMatrix — Set the current text transformation matrix of the page
    • HaruPage::setTextRenderingMode — Set text rendering mode for the page
    • HaruPage::setTextRise — Set the current value of text rising
    • HaruPage::setWidth — Set width of the page
    • HaruPage::setWordSpace — Set word spacing for the page
    • HaruPage::showText — Print text at the current position of the page
    • HaruPage::showTextNextLine — Move the current position to the start of the next line and print the text
    • HaruPage::stroke — Paint current path
    • HaruPage::textOut — Print the text on the specified position
    • HaruPage::textRect — Print the text inside the specified region
  • HaruFont — The HaruFont class
    • HaruFont::getAscent — Get the vertical ascent of the font
    • HaruFont::getCapHeight — Get the distance from the baseline of uppercase letters
    • HaruFont::getDescent — Get the vertical descent of the font
    • HaruFont::getEncodingName — Get the name of the encoding
    • HaruFont::getFontName — Get the name of the font
    • HaruFont::getTextWidth — Get the total width of the text, number of characters, number of words and number of spaces
    • HaruFont::getUnicodeWidth — Get the width of the character in the font
    • HaruFont::getXHeight — Get the distance from the baseline of lowercase letters
    • HaruFont::measureText — Calculate the number of characters which can be included within the specified width
  • HaruImage — The HaruImage class
    • HaruImage::getBitsPerComponent — Get the number of bits used to describe each color component of the image
    • HaruImage::getColorSpace — Get the name of the color space
    • HaruImage::getHeight — Get the height of the image
    • HaruImage::getSize — Get size of the image
    • HaruImage::getWidth — Get the width of the image
    • HaruImage::setColorMask — Set the color mask of the image
    • HaruImage::setMaskImage — Set the image mask
  • HaruEncoder — The HaruEncoder class
    • HaruEncoder::getByteType — Get the type of the byte in the text
    • HaruEncoder::getType — Get the type of the encoder
    • HaruEncoder::getUnicode — Convert the specified character to unicode
    • HaruEncoder::getWritingMode — Get the writing mode of the encoder
  • HaruOutline — The HaruOutline class
    • HaruOutline::setDestination — Set the destination for the outline
    • HaruOutline::setOpened — Set the initial state of the outline
  • HaruAnnotation — The HaruAnnotation class
    • HaruAnnotation::setBorderStyle — Set the border style of the annotation
    • HaruAnnotation::setHighlightMode — Set the highlighting mode of the annotation
    • HaruAnnotation::setIcon — Set the icon style of the annotation
    • HaruAnnotation::setOpened — Set the initial state of the annotation
  • HaruDestination — The HaruDestination class
    • HaruDestination::setFit — Set the appearance of the page to fit the window
    • HaruDestination::setFitB — Set the appearance of the page to fit the bounding box of the page within the window
    • HaruDestination::setFitBH — Set the appearance of the page to fit the width of the bounding box
    • HaruDestination::setFitBV — Set the appearance of the page to fit the height of the boudning box
    • HaruDestination::setFitH — Set the appearance of the page to fit the window width
    • HaruDestination::setFitR — Set the appearance of the page to fit the specified rectangle
    • HaruDestination::setFitV — Set the appearance of the page to fit the window height
    • HaruDestination::setXYZ — Set the appearance of the page
gnupg_verify
Einführung
Non-Text MIME-Ausgaben


Einführung

Die PECL/haru-Erweiterung stellt Bindungen zur libHaru Bibliothek bereit. libHaru ist eine kostenlose, Cross-Plattform und Open-Source-Bibliothek zum Generieren von PDF-Dateien.

Die Haru-Bibliothek (libHaru) kann gefunden werden unter: » http://libharu.org.

Warnung

Diese Erweiterung ist EXPERIMENTELL. Das Verhalten dieser Erweiterung, einschließlich der Funktionsnamen, und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Erweiterung auf eigenes Risiko.

haru
Installation/Konfiguration
haru


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
haru


Anforderungen

You need to install libharu first to be able to use PECL/haru. PECL/haru is tested with libharu 2.0.8, older versions might or might not work for you. PECL/haru also requires PHP 5.1.3 or newer.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/haru.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
Beispiele
haru


Beispiele

Inhaltsverzeichnis

  • Basic PECL/haru example
Vordefinierte Konstanten
Basic PECL/haru example
haru


Basic PECL/haru example

Beispiel #1 Fancy "Hello world"

<?php

$doc = new HaruDoc;

$doc->setPageMode(HaruDoc::PAGE_MODE_USE_THUMBS); /* show thumbnails */

$page = $doc->addPage(); /* add page to the document */
$page->setSize(HaruPage::SIZE_A4, HaruPage::LANDSCAPE); /* set the page to use A4 landscape format */

$courier = $doc->getFont("Courier-Bold"); /* we'll use the bundled font a few lines below */

$page->setRGBStroke(0, 0, 0); /* set colors */
$page->setRGBFill(0.7, 0.8, 0.9);
$page->rectangle(150, 150, 550, 250); /* draw a rectangle */

$page->fillStroke(); /* fill and stroke it */

$page->setDash(array(3, 3), 0); /* set dash style for lines at this page */
$page->setFontAndSize($courier, 60); /* set font and size */

$page->setRGBStroke(0.5, 0.5, 0.1); /* set line color */
$page->setRGBFill(1, 1, 1); /* set filling color */

$page->setTextRenderingMode(HaruPage::FILL_THEN_STROKE); /* fill and stroke text */

/* print the text */
$page->beginText();
$page->textOut(210, 270, "Hello World!");
$page->endText();

$doc->save("/tmp/test.pdf"); /* save the document into a file */

?>

Open the result document in your favourite PDF viewer and you should see a light-blue rectangle and white "Hello World!" on it.

Beispiele
Builtin Fonts And Encodings
Beispiele


Builtin Fonts And Encodings

Inhaltsverzeichnis

  • Builtin Fonts
  • Builtin Encodings
Basic PECL/haru example
Builtin Fonts
haru


Builtin Fonts

These Base14 fonts are built-in into PDF and all viewers can display them. Using these fonts may decrease the size of the result file and make the processing faster, avoiding loading external fonts. However the fonts support only latin1 character set and you have to load external fonts if you need to use an other character set.

The Base14 fonts:

  • Courier

  • Courier-Bold

  • Courier-Oblique

  • Courier-BoldOblique

  • Helvetica

  • Helvetica-Bold

  • Helvetica-Oblique

  • Helvetica-BoldOblique

  • Times-Roman

  • Times-Bold

  • Times-Italic

  • Times-BoldItalic

  • Symbol

  • ZapfDingbats

Builtin Fonts And Encodings
Builtin Encodings
Builtin Fonts And Encodings


Builtin Encodings

Single-byte character set encodings
Name | Description
StandardEncoding | The default encoding of PDF.
MacRomanEncoding | The standard encoding of Mac OS.
WinAnsiEncoding | The standard encoding of Windows.
FontSpecific | The font built-in encoding.
ISO8859-2 | Latin2 (East European)
ISO8859-3 | Latin3 (South European)
ISO8859-4 | Latin4 (North European)
ISO8859-5 | Cyrillic
ISO8859-6 | Arabic
ISO8859-7 | Greek
ISO8859-8 | Hebrew
ISO8859-9 | Latin5 (Turkish)
ISO8859-10 | Latin6 (Nordic)
ISO8859-11 | Thai
ISO8859-13 | Latin7 (Baltic Rim)
ISO8859-14 | Latin8 (Celtic)
ISO8859-15 | Latin9
ISO8859-16 | Latin10
CP1250 | MS Windows Codepage 1250.
CP1251 | MS Windows Codepage 1251.
CP1252 | MS Windows Codepage 1252.
CP1253 | MS Windows Codepage 1253.
CP1254 | MS Windows Codepage 1254.
CP1255 | MS Windows Codepage 1255.
CP1256 | MS Windows Codepage 1256.
CP1257 | MS Windows Codepage 1257.
CP1258 | MS Windows Codepage 1258.
KOI8-R | Cyrillic character set.
Multi-byte character set encodings
Name | Description
GB-EUC-H | EUC-CN encoding.
GB-EUC-V | Vertical writing version of GB-EUC-H.
GBK-EUC-H | Microsoft Code Page 936 (lfCharSet 0x86) GBK encoding.
GBK-EUC-V | Vertical writing version of GBK-EUC-H.
ETen-B5-H | Microsoft Code Page 950 (lfCharSet 0x88) Big Five character set with ETen extensions.
ETen-B5-V | Vertical writing version of ETen-B5-H.
90ms-RKSJ-H | Microsoft Code Page 932, JIS X 0208 character.
90ms-RKSJ-V | Vertical writing version of 90ms-RKSJ-V.
90msp-RKSJ-H | Microsoft Code Page 932, JIS X 0208 character (proportional).
EUC-H | JIS X 0208 character set, EUC-JP encoding.
EUC-V | Vertical writing version of EUC-H.
KSC-EUC-H | KS X 1001:1992 character set, EUC-KR encoding.
KSC-EUC-V | Vertical writing version of KSC-EUC-V.
KSCms-UHC-H | Microsoft Code Page 949 (lfCharSet 0x81), KS X 1001:1992 character set plus 8822 additional hangul, Unified Hangul Code (UHC) encoding (proportional).
KSCms-UHC-HW-H | Microsoft Code Page 949 (lfCharSet 0x81), KS X 1001:1992 character set plus 8822 additional hangul, Unified Hangul Code (UHC) encoding (fixed width).
KSCms-UHC-HW-V | Vertical writing version of KSCms-UHC-HW-H.
Builtin Fonts
HaruException
Builtin Fonts And Encodings


The HaruException class

(PECL haru >= 0.0.1)

Einführung

Haru PDF Exception Class.

Klassenbeschreibung

HaruException extends Exception {
/* Inherits */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
Builtin Encodings
HaruDoc
haru


The HaruDoc class

(PECL haru >= 0.0.1)

Einführung

Haru PDF Document Class.

Klassenbeschreibung

HaruDoc {
/* Methoden */
object addPage ( void )
bool addPageLabel ( int $first_page , int $style , int $first_num [, string $prefix = "" ] )
__construct ( void )
object createOutline ( string $title [, object $parent_outline [, object $encoder ]] )
object getCurrentEncoder ( void )
object getCurrentPage ( void )
object getEncoder ( string $encoding )
object getFont ( string $fontname [, string $encoding ] )
string getInfoAttr ( int $type )
int getPageLayout ( void )
int getPageMode ( void )
int getStreamSize ( void )
object insertPage ( object $page )
object loadJPEG ( string $filename )
object loadPNG ( string $filename [, bool $deferred = false ] )
object loadRaw ( string $filename , int $width , int $height , int $color_space )
string loadTTC ( string $fontfile , int $index [, bool $embed = false ] )
string loadTTF ( string $fontfile [, bool $embed = false ] )
string loadType1 ( string $afmfile [, string $pfmfile ] )
bool output ( void )
string readFromStream ( int $bytes )
bool resetError ( void )
bool resetStream ( void )
bool save ( string $file )
bool saveToStream ( void )
bool setCompressionMode ( int $mode )
bool setCurrentEncoder ( string $encoding )
bool setEncryptionMode ( int $mode [, int $key_len = 5 ] )
bool setInfoAttr ( int $type , string $info )
bool setInfoDateAttr ( int $type , int $year , int $month , int $day , int $hour , int $min , int $sec , string $ind , int $off_hour , int $off_min )
bool setOpenAction ( object $destination )
bool setPageLayout ( int $layout )
bool setPageMode ( int $mode )
bool setPagesConfiguration ( int $page_per_pages )
bool setPassword ( string $owner_password , string $user_password )
bool setPermission ( int $permission )
bool useCNSEncodings ( void )
bool useCNSFonts ( void )
bool useCNTEncodings ( void )
bool useCNTFonts ( void )
bool useJPEncodings ( void )
bool useJPFonts ( void )
bool useKREncodings ( void )
bool useKRFonts ( void )
}

Vordefinierte Konstanten

Type | Name | Description
int | HaruDoc::CS_DEVICE_GRAY |
int | HaruDoc::CS_DEVICE_RGB |
int | HaruDoc::CS_DEVICE_CMYK |
int | HaruDoc::CS_CAL_GRAY |
int | HaruDoc::CS_CAL_RGB |
int | HaruDoc::CS_LAB |
int | HaruDoc::CS_ICC_BASED |
int | HaruDoc::CS_SEPARATION |
int | HaruDoc::CS_DEVICE_N |
int | HaruDoc::CS_INDEXED |
int | HaruDoc::CS_PATTERN |
int | HaruDoc::ENABLE_READ |
int | HaruDoc::ENABLE_PRINT |
int | HaruDoc::ENABLE_EDIT_ALL |
int | HaruDoc::ENABLE_COPY |
int | HaruDoc::ENABLE_EDIT |
int | HaruDoc::ENCRYPT_R2 |
int | HaruDoc::ENCRYPT_R3 |
int | HaruDoc::INFO_AUTHOR |
int | HaruDoc::INFO_CREATOR |
int | HaruDoc::INFO_TITLE |
int | HaruDoc::INFO_SUBJECT |
int | HaruDoc::INFO_KEYWORDS |
int | HaruDoc::INFO_CREATION_DATE |
int | HaruDoc::INFO_MOD_DATE |
int | HaruDoc::COMP_NONE |
int | HaruDoc::COMP_TEXT |
int | HaruDoc::COMP_IMAGE |
int | HaruDoc::COMP_METADATA |
int | HaruDoc::COMP_ALL |
int | HaruDoc::PAGE_LAYOUT_SINGLE |
int | HaruDoc::PAGE_LAYOUT_ONE_COLUMN |
int | HaruDoc::PAGE_LAYOUT_TWO_COLUMN_LEFT |
int | HaruDoc::PAGE_LAYOUT_TWO_COLUMN_RIGHT |
int | HaruDoc::PAGE_MODE_USE_NONE |
int | HaruDoc::PAGE_MODE_USE_OUTLINE |
int | HaruDoc::PAGE_MODE_USE_THUMBS |
int | HaruDoc::PAGE_MODE_FULL_SCREEN |

Inhaltsverzeichnis

  • HaruDoc::addPage — Add new page to the document
  • HaruDoc::addPageLabel — Set the numbering style for the specified range of pages
  • HaruDoc::__construct — Construct new HaruDoc instance
  • HaruDoc::createOutline — Create a HaruOutline instance
  • HaruDoc::getCurrentEncoder — Get HaruEncoder currently used in the document
  • HaruDoc::getCurrentPage — Return current page of the document
  • HaruDoc::getEncoder — Get HaruEncoder instance for the specified encoding
  • HaruDoc::getFont — Get HaruFont instance
  • HaruDoc::getInfoAttr — Get current value of the specified document attribute
  • HaruDoc::getPageLayout — Get current page layout
  • HaruDoc::getPageMode — Get current page mode
  • HaruDoc::getStreamSize — Get the size of the temporary stream
  • HaruDoc::insertPage — Insert new page just before the specified page
  • HaruDoc::loadJPEG — Load a JPEG image
  • HaruDoc::loadPNG — Load PNG image and return HaruImage instance
  • HaruDoc::loadRaw — Load a RAW image
  • HaruDoc::loadTTC — Load the font with the specified index from TTC file
  • HaruDoc::loadTTF — Load TTF font file
  • HaruDoc::loadType1 — Load Type1 font
  • HaruDoc::output — Write the document data to the output buffer
  • HaruDoc::readFromStream — Read data from the temporary stream
  • HaruDoc::resetError — Reset error state of the document handle
  • HaruDoc::resetStream — Rewind the temporary stream
  • HaruDoc::save — Save the document into the specified file
  • HaruDoc::saveToStream — Save the document into a temporary stream
  • HaruDoc::setCompressionMode — Set compression mode for the document
  • HaruDoc::setCurrentEncoder — Set the current encoder for the document
  • HaruDoc::setEncryptionMode — Set encryption mode for the document
  • HaruDoc::setInfoAttr — Set the info attribute of the document
  • HaruDoc::setInfoDateAttr — Set the datetime info attributes of the document
  • HaruDoc::setOpenAction — Define which page is shown when the document is opened
  • HaruDoc::setPageLayout — Set how pages should be displayed
  • HaruDoc::setPageMode — Set how the document should be displayed
  • HaruDoc::setPagesConfiguration — Set the number of pages per set of pages
  • HaruDoc::setPassword — Set owner and user passwords for the document
  • HaruDoc::setPermission — Set permissions for the document
  • HaruDoc::useCNSEncodings — Enable Chinese simplified encodings
  • HaruDoc::useCNSFonts — Enable builtin Chinese simplified fonts
  • HaruDoc::useCNTEncodings — Enable Chinese traditional encodings
  • HaruDoc::useCNTFonts — Enable builtin Chinese traditional fonts
  • HaruDoc::useJPEncodings — Enable Japanese encodings
  • HaruDoc::useJPFonts — Enable builtin Japanese fonts
  • HaruDoc::useKREncodings — Enable Korean encodings
  • HaruDoc::useKRFonts — Enable builtin Korean fonts
HaruException
HaruDoc::addPage
haru


Add new page to the document

HaruDoc
HaruDoc::addPageLabel
HaruDoc
PHP Manual

HaruDoc::addPage

(PECL haru >= 0.0.1)

HaruDoc::addPage — Add new page to the document

Beschreibung

object HaruDoc::addPage ( void )

Adds a new page to the document.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a new HaruPage instance.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruDoc::insertPage() - Insert new page just before the specified page

HaruDoc
HaruDoc::addPageLabel
HaruDoc


Set the numbering style for the specified range of pages

HaruDoc::addPage
HaruDoc::__construct
HaruDoc
PHP Manual

HaruDoc::addPageLabel

(PECL haru >= 0.0.1)

HaruDoc::addPageLabel — Set the numbering style for the specified range of pages

Beschreibung

bool HaruDoc::addPageLabel ( int $first_page , int $style , int $first_num [, string $prefix = "" ] )

Set the numbering style for the specified range of pages.

Parameter-Liste

first_page

The first page included into the labeling range.

style

The numbering style. The following values are allowed:

  • HaruPage::NUM_STYLE_DECIMAL - page label is displayed using decimal numerals.
  • HaruPage::NUM_STYLE_UPPER_ROMAN - page label is displayed using uppercase Roman numerals.
  • HaruPage::NUM_STYLE_LOWER_ROMAN - page label is displayed using lowercase Roman numerals.
  • HaruPage::NUM_STYLE_UPPER_LETTER - page label is displayed using uppercase letters (from A to Z).
  • HaruPage::NUM_STYLE_LOWER_LETTERS - page label is displayed using lowercase letters (from a to z).

first_num

The first page number in this range.

prefix

The prefix for the page label.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruDoc::addPage
HaruDoc::__construct
HaruDoc


Construct new HaruDoc instance

HaruDoc::addPageLabel
HaruDoc::createOutline
HaruDoc
PHP Manual

HaruDoc::__construct

(PECL haru >= 0.0.1)

HaruDoc::__construct — Construct new HaruDoc instance

Beschreibung

HaruDoc::__construct ( void )

Constructs new HaruDoc instance.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruDoc::addPageLabel
HaruDoc::createOutline
HaruDoc


Create a HaruOutline instance

HaruDoc::__construct
HaruDoc::getCurrentEncoder
HaruDoc
PHP Manual

HaruDoc::createOutline

(PECL haru >= 0.0.1)

HaruDoc::createOutline — Create a HaruOutline instance

Beschreibung

object HaruDoc::createOutline ( string $title [, object $parent_outline [, object $encoder ]] )

Create a HaruOutline instance.

Parameter-Liste

title

The caption of new outline object.

parent_outline

A valid HaruOutline instance or NULL.

encoder

A valid HaruEncoder instance or NULL.

Rückgabewerte

Returns a new HaruOutline instance.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruDoc::__construct
HaruDoc::getCurrentEncoder
HaruDoc


Get HaruEncoder currently used in the document

HaruDoc::createOutline
HaruDoc::getCurrentPage
HaruDoc
PHP Manual

HaruDoc::getCurrentEncoder

(PECL haru >= 0.0.1)

HaruDoc::getCurrentEncoder — Get HaruEncoder currently used in the document

Beschreibung

object HaruDoc::getCurrentEncoder ( void )

Get the HaruEncoder currently used in the document.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns HaruEncoder currently used in the document or FALSE if encoder is not set.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruDoc::setCurrentEncoder() - Set the current encoder for the document

HaruDoc::createOutline
HaruDoc::getCurrentPage
HaruDoc


Return current page of the document

HaruDoc::getCurrentEncoder
HaruDoc::getEncoder
HaruDoc
PHP Manual

HaruDoc::getCurrentPage

(PECL haru >= 0.0.1)

HaruDoc::getCurrentPage — Return current page of the document

Beschreibung

object HaruDoc::getCurrentPage ( void )

Get current page of the document.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns HaruPage instance on success or FALSE if there is no current page at the moment.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruDoc::getCurrentEncoder
HaruDoc::getEncoder
HaruDoc


Get HaruEncoder instance for the specified encoding

HaruDoc::getCurrentPage
HaruDoc::getFont
HaruDoc
PHP Manual

HaruDoc::getEncoder

(PECL haru >= 0.0.1)

HaruDoc::getEncoder — Get HaruEncoder instance for the specified encoding

Beschreibung

object HaruDoc::getEncoder ( string $encoding )

Get the HaruEncoder instance for the specified encoding.

Parameter-Liste

encoding

The encoding name. See Builtin Encodings for the list of allowed values.

Rückgabewerte

Returns a HaruEncoder instance for the specified encoding.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruDoc::setCurrentEncoder() - Set the current encoder for the document
  • HaruDoc::getCurrentEncoder() - Get HaruEncoder currently used in the document

HaruDoc::getCurrentPage
HaruDoc::getFont
HaruDoc


Get HaruFont instance

HaruDoc::getEncoder
HaruDoc::getInfoAttr
HaruDoc
PHP Manual

HaruDoc::getFont

(PECL haru >= 0.0.1)

HaruDoc::getFont — Get HaruFont instance

Beschreibung

object HaruDoc::getFont ( string $fontname [, string $encoding ] )

Get a HaruFont instance.

Parameter-Liste

fontname

The name of the font. See Builtin Fonts for the list of builtin fonts. You can also use the name of a font loaded via HaruDoc::loadTTF(), HaruDoc::loadTTC() and HaruDoc::loadType1().

encoding

The encoding to use. See Builtin Encodings for the list of supported encodings.

Rückgabewerte

Returns a HaruFont instance with the specified fontname and encoding.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::setFontAndSize() - Set font and fontsize for the page
  • HaruPage::setCurrentFont()

HaruDoc::getEncoder
HaruDoc::getInfoAttr
HaruDoc


Get current value of the specified document attribute

HaruDoc::getFont
HaruDoc::getPageLayout
HaruDoc
PHP Manual

HaruDoc::getInfoAttr

(PECL haru >= 0.0.1)

HaruDoc::getInfoAttr — Get current value of the specified document attribute

Beschreibung

string HaruDoc::getInfoAttr ( int $type )

Get the current value of the specified document attribute.

Parameter-Liste

type

The type of the attribute. The following values are available:

  • HaruDoc::INFO_AUTHOR
  • HaruDoc::INFO_CREATOR
  • HaruDoc::INFO_TITLE
  • HaruDoc::INFO_SUBJECT
  • HaruDoc::INFO_KEYWORDS
  • HaruDoc::INFO_CREATION_DATE
  • HaruDoc::INFO_MOD_DATE

Rückgabewerte

Returns the string value of the specified document attribute.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruDoc::setInfoAttr() - Set the info attribute of the document
  • HaruDoc::setInfoDateAttr() - Set the datetime info attributes of the document

HaruDoc::getFont
HaruDoc::getPageLayout
HaruDoc


Get current page layout

HaruDoc::getInfoAttr
HaruDoc::getPageMode
HaruDoc
PHP Manual

HaruDoc::getPageLayout

(PECL haru >= 0.0.1)

HaruDoc::getPageLayout — Get current page layout

Beschreibung

int HaruDoc::getPageLayout ( void )

Get the current page layout. See HaruDoc::setPageLayout() for the list of possible values.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the page layout currently set in the document or FALSE if page layout was not set. See HaruDoc::setPageLayout() for the list of possible values.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruDoc::setPageLayout() - Set how pages should be displayed

HaruDoc::getInfoAttr
HaruDoc::getPageMode
HaruDoc


Get current page mode

HaruDoc::getPageLayout
HaruDoc::getStreamSize
HaruDoc
PHP Manual

HaruDoc::getPageMode

(PECL haru >= 0.0.1)

HaruDoc::getPageMode — Get current page mode

Beschreibung

int HaruDoc::getPageMode ( void )

Get the current page mode. See HaruDoc::setPageMode() for the list of possible values.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the page mode currently set in the document. See HaruDoc::setPageMode() for the list of possible values.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruDoc::setPageMode() - Set how the document should be displayed

HaruDoc::getPageLayout
HaruDoc::getStreamSize
HaruDoc


Get the size of the temporary stream

HaruDoc::getPageMode
HaruDoc::insertPage
HaruDoc
PHP Manual

HaruDoc::getStreamSize

(PECL haru >= 0.0.1)

HaruDoc::getStreamSize — Get the size of the temporary stream

Beschreibung

int HaruDoc::getStreamSize ( void )

Get the size of the temporary stream.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the size of the data in the temporary stream of the document. The size is zero if the document was not saved to the temporary stream.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruDoc::saveToStream() - Save the document into a temporary stream
  • HaruDoc::resetStream() - Rewind the temporary stream
  • HaruDoc::readFromStream() - Read data from the temporary stream

HaruDoc::getPageMode
HaruDoc::insertPage
HaruDoc


Insert new page just before the specified page

HaruDoc::getStreamSize
HaruDoc::loadJPEG
HaruDoc
PHP Manual

HaruDoc::insertPage

(PECL haru >= 0.0.1)

HaruDoc::insertPage — Insert new page just before the specified page

Beschreibung

object HaruDoc::insertPage ( object $page )

Creates a new page and inserts just before the specified page.

Parameter-Liste

page

A valid HaruPage instance.

Rückgabewerte

Returns a new HaruPage instance.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruDoc::addPage() - Add new page to the document

HaruDoc::getStreamSize
HaruDoc::loadJPEG
HaruDoc


Load a JPEG image

HaruDoc::insertPage
HaruDoc::loadPNG
HaruDoc
PHP Manual

HaruDoc::loadJPEG

(PECL haru >= 0.0.1)

HaruDoc::loadJPEG — Load a JPEG image

Beschreibung

object HaruDoc::loadJPEG ( string $filename )

Loads the specified JPEG image.

Parameter-Liste

filename

A valid JPEG image file.

Rückgabewerte

Returns a new HaruImage instance.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruDoc::loadPNG() - Load PNG image and return HaruImage instance
  • HaruDoc::loadRAW() - Load a RAW image

HaruDoc::insertPage
HaruDoc::loadPNG
HaruDoc


Load PNG image and return HaruImage instance

HaruDoc::loadJPEG
HaruDoc::loadRaw
HaruDoc
PHP Manual

HaruDoc::loadPNG

(PECL haru >= 0.0.1)

HaruDoc::loadPNG — Load PNG image and return HaruImage instance

Beschreibung

object HaruDoc::loadPNG ( string $filename [, bool $deferred = false ] )

Loads a PNG image.

Libharu might be built without libpng support, in this case each call to this function would result in exception.

Parameter-Liste

filename

The name of a PNG image file.

deferred

Do not load data immediately. You can set deferred parameter to TRUE for deferred data loading, in this case only size and color are loaded immediately.

Rückgabewerte

Returns a HaruImage instance.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruDoc::loadJPEG() - Load a JPEG image
  • HaruDoc::loadRAW() - Load a RAW image

HaruDoc::loadJPEG
HaruDoc::loadRaw
HaruDoc


Load a RAW image

HaruDoc::loadPNG
HaruDoc::loadTTC
HaruDoc
PHP Manual

HaruDoc::loadRaw

(PECL haru >= 0.0.1)

HaruDoc::loadRaw — Load a RAW image

Beschreibung

object HaruDoc::loadRaw ( string $filename , int $width , int $height , int $color_space )

Loads a RAW image.

Parameter-Liste

filename

The name of a RAW image file.

width

The width of the image.

height

The height of the image.

color_space

The color space of the image. Can be one of the following values:

  • HaruDoc::CS_DEVICE_GRAY
  • HaruDoc::CS_DEVICE_RGB
  • HaruDoc::CS_DEVICE_CMYK

Rückgabewerte

Returns a HaruImage instance.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruDoc::loadJPEG() - Load a JPEG image
  • HaruDoc::loadPNG() - Load PNG image and return HaruImage instance

HaruDoc::loadPNG
HaruDoc::loadTTC
HaruDoc


Load the font with the specified index from TTC file

HaruDoc::loadRaw
HaruDoc::loadTTF
HaruDoc
PHP Manual

HaruDoc::loadTTC

(PECL haru >= 0.0.1)

HaruDoc::loadTTC — Load the font with the specified index from TTC file

Beschreibung

string HaruDoc::loadTTC ( string $fontfile , int $index [, bool $embed = false ] )

Loads the TrueType font with the specified index from a TrueType collection file.

Parameter-Liste

fontfile

The TrueType collection file.

index

The index of the font in the collection file.

embed

When set to TRUE, the glyph data of the font is embedded into the PDF file, otherwise only the matrix data is included.

Rückgabewerte

Returns the name of the loaded font on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruDoc::loadTTF() - Load TTF font file
  • HaruDoc::loadType1() - Load Type1 font

HaruDoc::loadRaw
HaruDoc::loadTTF
HaruDoc


Load TTF font file

HaruDoc::loadTTC
HaruDoc::loadType1
HaruDoc
PHP Manual

HaruDoc::loadTTF

(PECL haru >= 0.0.1)

HaruDoc::loadTTF — Load TTF font file

Beschreibung

string HaruDoc::loadTTF ( string $fontfile [, bool $embed = false ] )

Loads the given TTF file and (optionally) embed its data into the document.

Parameter-Liste

fontfile

The TTF file to load.

embed

When set to TRUE, the glyph data of the font is embedded into the PDF file, otherwise only the matrix data is included.

Rückgabewerte

Returns the name of the loaded font on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruDoc::loadTTC() - Load the font with the specified index from TTC file
  • HaruDoc::loadType1() - Load Type1 font

HaruDoc::loadTTC
HaruDoc::loadType1
HaruDoc


Load Type1 font

HaruDoc::loadTTF
HaruDoc::output
HaruDoc
PHP Manual

HaruDoc::loadType1

(PECL haru >= 0.0.1)

HaruDoc::loadType1 — Load Type1 font

Beschreibung

string HaruDoc::loadType1 ( string $afmfile [, string $pfmfile ] )

Loads Type1 font from the given file and registers it in the PDF document.

Parameter-Liste

afmfile

Path to an AFM file.

pfmfile

Path to a PFA/PFB file, optional. If it's not set only the glyph data of the font is embedded into the PDF document.

Rückgabewerte

Returns the name of the loaded font on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruDoc::loadTTC() - Load the font with the specified index from TTC file
  • HaruDoc::loadTTF() - Load TTF font file

HaruDoc::loadTTF
HaruDoc::output
HaruDoc


Write the document data to the output buffer

HaruDoc::loadType1
HaruDoc::readFromStream
HaruDoc
PHP Manual

HaruDoc::output

(PECL haru >= 0.0.1)

HaruDoc::output — Write the document data to the output buffer

Beschreibung

bool HaruDoc::output ( void )

Writes the document data into standard output.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruDoc::save() - Save the document into the specified file

HaruDoc::loadType1
HaruDoc::readFromStream
HaruDoc


Read data from the temporary stream

HaruDoc::output
HaruDoc::resetError
HaruDoc
PHP Manual

HaruDoc::readFromStream

(PECL haru >= 0.0.1)

HaruDoc::readFromStream — Read data from the temporary stream

Beschreibung

string HaruDoc::readFromStream ( int $bytes )

Read data from the temporary stream.

Parameter-Liste

bytes

The bytes parameter specifies how many bytes to read, though the stream may contain less bytes than requested.

Rückgabewerte

Returns data from the temporary stream.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruDoc::saveToStream() - Save the document into a temporary stream
  • HaruDoc::resetStream() - Rewind the temporary stream
  • HaruDoc::getStreamSize() - Get the size of the temporary stream

HaruDoc::output
HaruDoc::resetError
HaruDoc


Reset error state of the document handle

HaruDoc::readFromStream
HaruDoc::resetStream
HaruDoc
PHP Manual

HaruDoc::resetError

(PECL haru >= 0.0.1)

HaruDoc::resetError — Reset error state of the document handle

Beschreibung

bool HaruDoc::resetError ( void )

Once an error code is set, most of the operations, including I/O processing functions cannot be performed. In case if you want to continue after the cause of the error has been fixed, you have to invoke this function in order to reset the document error state.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Always succeeds and returns TRUE.

HaruDoc::readFromStream
HaruDoc::resetStream
HaruDoc


Rewind the temporary stream

HaruDoc::resetError
HaruDoc::save
HaruDoc
PHP Manual

HaruDoc::resetStream

(PECL haru >= 0.0.1)

HaruDoc::resetStream — Rewind the temporary stream

Beschreibung

bool HaruDoc::resetStream ( void )

Rewinds the temporary stream of the document.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruDoc::saveToStream() - Save the document into a temporary stream
  • HaruDoc::getStreamSize() - Get the size of the temporary stream
  • HaruDoc::readFromStream() - Read data from the temporary stream

HaruDoc::resetError
HaruDoc::save
HaruDoc


Save the document into the specified file

HaruDoc::resetStream
HaruDoc::saveToStream
HaruDoc
PHP Manual

HaruDoc::save

(PECL haru >= 0.0.1)

HaruDoc::save — Save the document into the specified file

Beschreibung

bool HaruDoc::save ( string $file )

Saves the document into the specified file.

Parameter-Liste

file

The file to save the document to.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruDoc::output() - Write the document data to the output buffer

HaruDoc::resetStream
HaruDoc::saveToStream
HaruDoc


Save the document into a temporary stream

HaruDoc::save
HaruDoc::setCompressionMode
HaruDoc
PHP Manual

HaruDoc::saveToStream

(PECL haru >= 0.0.1)

HaruDoc::saveToStream — Save the document into a temporary stream

Beschreibung

bool HaruDoc::saveToStream ( void )

Saves the document data into a temporary stream.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruDoc::resetStream() - Rewind the temporary stream
  • HaruDoc::getStreamSize() - Get the size of the temporary stream
  • HaruDoc::readFromStream() - Read data from the temporary stream

HaruDoc::save
HaruDoc::setCompressionMode
HaruDoc


Set compression mode for the document

HaruDoc::saveToStream
HaruDoc::setCurrentEncoder
HaruDoc
PHP Manual

HaruDoc::setCompressionMode

(PECL haru >= 0.0.1)

HaruDoc::setCompressionMode — Set compression mode for the document

Beschreibung

bool HaruDoc::setCompressionMode ( int $mode )

Defines compression mode for the document. In case when libharu was compiled without Zlib support this function will always throw HaruException.

Parameter-Liste

mode

The compression mode to use. The value is a combination of the following flags:

  • HaruDoc::COMP_NONE - all contents is not compressed.
  • HaruDoc::COMP_TEXT - compress the text data.
  • HaruDoc::COMP_IMAGE - compress the image data.
  • HaruDoc::COMP_METADATA - compress other data (fonts, cmaps).
  • HaruDoc::COMP_ALL - compress all data.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruDoc::saveToStream
HaruDoc::setCurrentEncoder
HaruDoc


Set the current encoder for the document

HaruDoc::setCompressionMode
HaruDoc::setEncryptionMode
HaruDoc
PHP Manual

HaruDoc::setCurrentEncoder

(PECL haru >= 0.0.1)

HaruDoc::setCurrentEncoder — Set the current encoder for the document

Beschreibung

bool HaruDoc::setCurrentEncoder ( string $encoding )

Defines the encoder currently used in the document.

Parameter-Liste

encoding

The name of the encoding to use. See Builtin Encodings for the list of allowed values.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruDoc::setCompressionMode
HaruDoc::setEncryptionMode
HaruDoc


Set encryption mode for the document

HaruDoc::setCurrentEncoder
HaruDoc::setInfoAttr
HaruDoc
PHP Manual

HaruDoc::setEncryptionMode

(PECL haru >= 0.0.1)

HaruDoc::setEncryptionMode — Set encryption mode for the document

Beschreibung

bool HaruDoc::setEncryptionMode ( int $mode [, int $key_len = 5 ] )

Defines encryption mode for the document. The encryption mode cannot be set before setting the password.

Parameter-Liste

mode

The encryption mode to use. Can be one of the following:

  • HaruDoc::ENCRYPT_R2 - use "revision2" algorithm.
  • HaruDoc::ENCRYPT_R3 - use "revision3" algorithm. Using this value bumps the version of PDF to 1.4.

key_len

The encryption key length in bytes. This parameter is optional and used only when mode is HaruDoc::ENCRYPT_R3. The default value is 5 (40bit).

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruDoc::setPassword() - Set owner and user passwords for the document
  • HaruDoc::setPermission() - Set permissions for the document

HaruDoc::setCurrentEncoder
HaruDoc::setInfoAttr
HaruDoc


Set the info attribute of the document

HaruDoc::setEncryptionMode
HaruDoc::setInfoDateAttr
HaruDoc
PHP Manual

HaruDoc::setInfoAttr

(PECL haru >= 0.0.1)

HaruDoc::setInfoAttr — Set the info attribute of the document

Beschreibung

bool HaruDoc::setInfoAttr ( int $type , string $info )

Defines an info attribute. Uses the current encoding of the document.

Parameter-Liste

type

The type of the attribute. Can be one of the following:

  • HaruDoc::INFO_AUTHOR
  • HaruDoc::INFO_CREATOR
  • HaruDoc::INFO_TITLE
  • HaruDoc::INFO_SUBJECT
  • HaruDoc::INFO_KEYWORDS

info

The value of the attribute.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruDoc::setInfoDateAttr() - Set the datetime info attributes of the document

HaruDoc::setEncryptionMode
HaruDoc::setInfoDateAttr
HaruDoc


Set the datetime info attributes of the document

HaruDoc::setInfoAttr
HaruDoc::setOpenAction
HaruDoc
PHP Manual

HaruDoc::setInfoDateAttr

(PECL haru >= 0.0.1)

HaruDoc::setInfoDateAttr — Set the datetime info attributes of the document

Beschreibung

bool HaruDoc::setInfoDateAttr ( int $type , int $year , int $month , int $day , int $hour , int $min , int $sec , string $ind , int $off_hour , int $off_min )

Sets the datetime info attributes of the document.

Parameter-Liste

type

The type of the attribute. Can be one of the following:

  • HaruDoc::INFO_CREATION_DATE
  • HaruDoc::INFO_MOD_DATE

year

month

Between 1 and 12.

day

Between 1 and 31, 30, 29 or 28 (different for each month).

hour

Between 0 and 23.

min

Between 0 and 59.

sec

Between 0 and 59.

ind

The timezone relation to UTC, can be "", " ", "+", "-" and "Z".

off_hour

If ind is not " " or "", values between 0 and 23 are valid. Otherwise, this parameter is ignored.

off_min

If ind is not " " or "", values between 0 and 59 are valid. Otherwise, this parameter is ignored.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruDoc::setInfoAttr() - Set the info attribute of the document

HaruDoc::setInfoAttr
HaruDoc::setOpenAction
HaruDoc


Define which page is shown when the document is opened

HaruDoc::setInfoDateAttr
HaruDoc::setPageLayout
HaruDoc
PHP Manual

HaruDoc::setOpenAction

(PECL haru >= 0.0.1)

HaruDoc::setOpenAction — Define which page is shown when the document is opened

Beschreibung

bool HaruDoc::setOpenAction ( object $destination )

Defines which page should be shown when the document is opened.

Parameter-Liste

destination

A valid HaruDestination instance.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruDoc::setInfoDateAttr
HaruDoc::setPageLayout
HaruDoc


Set how pages should be displayed

HaruDoc::setOpenAction
HaruDoc::setPageMode
HaruDoc
PHP Manual

HaruDoc::setPageLayout

(PECL haru >= 0.0.1)

HaruDoc::setPageLayout — Set how pages should be displayed

Beschreibung

bool HaruDoc::setPageLayout ( int $layout )

Defines how pages should be displayed.

Parameter-Liste

layout

The following values are accepted:

  • HaruDoc::PAGE_LAYOUT_SINGLE - only one page is displayed.
  • HaruDoc::PAGE_LAYOUT_ONE_COLUMN - display the pages in one column.
  • HaruDoc::PAGE_LAYOUT_TWO_COLUMN_LEFT - display pages in two columns, first page left.
  • HaruDoc::PAGE_LAYOUT_TWO_COLUMN_RIGHT - display pages in two columns, first page right.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruDoc::getPageLayout() - Get current page layout

HaruDoc::setOpenAction
HaruDoc::setPageMode
HaruDoc


Set how the document should be displayed

HaruDoc::setPageLayout
HaruDoc::setPagesConfiguration
HaruDoc
PHP Manual

HaruDoc::setPageMode

(PECL haru >= 0.0.1)

HaruDoc::setPageMode — Set how the document should be displayed

Beschreibung

bool HaruDoc::setPageMode ( int $mode )

Defines how the document should be displayed.

Parameter-Liste

mode

The following values are accepted:

  • HaruDoc::PAGE_MODE_USE_NONE - display the document with neither outline nor thumbnail.
  • HaruDoc::PAGE_MODE_USE_OUTLINE - display the document with outline pane.
  • HaruDoc::PAGE_MODE_USE_THUMBS - display the document with thumbnail pane.
  • HaruDoc::PAGE_MODE_FULL_SCREEN - display the document with full screen mode.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruDoc::getPageMode() - Get current page mode

HaruDoc::setPageLayout
HaruDoc::setPagesConfiguration
HaruDoc


Set the number of pages per set of pages

HaruDoc::setPageMode
HaruDoc::setPassword
HaruDoc
PHP Manual

HaruDoc::setPagesConfiguration

(PECL haru >= 0.0.1)

HaruDoc::setPagesConfiguration — Set the number of pages per set of pages

Beschreibung

bool HaruDoc::setPagesConfiguration ( int $page_per_pages )

By default the document has one pages object as a root for all pages. All page objects are create as branches of this object. One pages object can contain only 8191, therefore the maximum number of pages per document is 8191. But you can change that fact by setting page_per_pages parameter, so that the root pages object contains 8191 more pages (not page) objects, which in turn contain 8191 pages each. So the maximum number of pages in the document becomes 8191*page_per_pages.

Parameter-Liste

page_per_pages

The numbers of pages that a pages object can contain.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruDoc::setPageMode
HaruDoc::setPassword
HaruDoc


Set owner and user passwords for the document

HaruDoc::setPagesConfiguration
HaruDoc::setPermission
HaruDoc
PHP Manual

HaruDoc::setPassword

(PECL haru >= 0.0.1)

HaruDoc::setPassword — Set owner and user passwords for the document

Beschreibung

bool HaruDoc::setPassword ( string $owner_password , string $user_password )

Defines owner and user passwords for the document. Setting the passwords makes the document contents encrypted.

Parameter-Liste

owner_password

The password of the owner, which can change permissions of the document. Empty password is not accepted. Owner's password cannot be the same as the user's password.

user_password

The password of the user. Can be empty.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruDoc::setEncryptionMode() - Set encryption mode for the document
  • HaruDoc::setPermission() - Set permissions for the document

HaruDoc::setPagesConfiguration
HaruDoc::setPermission
HaruDoc


Set permissions for the document

HaruDoc::setPassword
HaruDoc::useCNSEncodings
HaruDoc
PHP Manual

HaruDoc::setPermission

(PECL haru >= 0.0.1)

HaruDoc::setPermission — Set permissions for the document

Beschreibung

bool HaruDoc::setPermission ( int $permission )

Defines permissions for the document.

Parameter-Liste

permission

The values is a combination of these flags:

  • HaruDoc::ENABLE_READ - user can read the document.
  • HaruDoc::ENABLE_PRINT - user can print the document.
  • HaruDoc::ENABLE_EDIT_ALL - user can edit the contents of the document other than annotations and form fields.
  • HaruDoc::ENABLE_COPY - user can copy the text and the graphics of the document.
  • HaruDoc::ENABLE_EDIT - user can add or modify the annotations and form fields of the document.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruDoc::setPassword() - Set owner and user passwords for the document
  • HaruDoc::setEncryptionMode() - Set encryption mode for the document

HaruDoc::setPassword
HaruDoc::useCNSEncodings
HaruDoc


Enable Chinese simplified encodings

HaruDoc::setPermission
HaruDoc::useCNSFonts
HaruDoc
PHP Manual

HaruDoc::useCNSEncodings

(PECL haru >= 0.0.1)

HaruDoc::useCNSEncodings — Enable Chinese simplified encodings

Beschreibung

bool HaruDoc::useCNSEncodings ( void )

Enables Chinese simplified encodings.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruDoc::useCNSFonts() - Enable builtin Chinese simplified fonts

HaruDoc::setPermission
HaruDoc::useCNSFonts
HaruDoc


Enable builtin Chinese simplified fonts

HaruDoc::useCNSEncodings
HaruDoc::useCNTEncodings
HaruDoc
PHP Manual

HaruDoc::useCNSFonts

(PECL haru >= 0.0.1)

HaruDoc::useCNSFonts — Enable builtin Chinese simplified fonts

Beschreibung

bool HaruDoc::useCNSFonts ( void )

Enables builtin Chinese simplified fonts.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruDoc::useCNSEncodings() - Enable Chinese simplified encodings

HaruDoc::useCNSEncodings
HaruDoc::useCNTEncodings
HaruDoc


Enable Chinese traditional encodings

HaruDoc::useCNSFonts
HaruDoc::useCNTFonts
HaruDoc
PHP Manual

HaruDoc::useCNTEncodings

(PECL haru >= 0.0.1)

HaruDoc::useCNTEncodings — Enable Chinese traditional encodings

Beschreibung

bool HaruDoc::useCNTEncodings ( void )

Enables Chinese traditional encodings.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruDoc::useCNTFonts() - Enable builtin Chinese traditional fonts

HaruDoc::useCNSFonts
HaruDoc::useCNTFonts
HaruDoc


Enable builtin Chinese traditional fonts

HaruDoc::useCNTEncodings
HaruDoc::useJPEncodings
HaruDoc
PHP Manual

HaruDoc::useCNTFonts

(PECL haru >= 0.0.1)

HaruDoc::useCNTFonts — Enable builtin Chinese traditional fonts

Beschreibung

bool HaruDoc::useCNTFonts ( void )

Enables builtin Chinese traditional fonts.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruDoc::useCNTEncodings() - Enable Chinese traditional encodings

HaruDoc::useCNTEncodings
HaruDoc::useJPEncodings
HaruDoc


Enable Japanese encodings

HaruDoc::useCNTFonts
HaruDoc::useJPFonts
HaruDoc
PHP Manual

HaruDoc::useJPEncodings

(PECL haru >= 0.0.1)

HaruDoc::useJPEncodings — Enable Japanese encodings

Beschreibung

bool HaruDoc::useJPEncodings ( void )

Enables Japanese encodings.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruDoc::useJPFonts() - Enable builtin Japanese fonts

HaruDoc::useCNTFonts
HaruDoc::useJPFonts
HaruDoc


Enable builtin Japanese fonts

HaruDoc::useJPEncodings
HaruDoc::useKREncodings
HaruDoc
PHP Manual

HaruDoc::useJPFonts

(PECL haru >= 0.0.1)

HaruDoc::useJPFonts — Enable builtin Japanese fonts

Beschreibung

bool HaruDoc::useJPFonts ( void )

Enables builtin Japanese fonts.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruDoc::useJPEncodings() - Enable Japanese encodings

HaruDoc::useJPEncodings
HaruDoc::useKREncodings
HaruDoc


Enable Korean encodings

HaruDoc::useJPFonts
HaruDoc::useKRFonts
HaruDoc
PHP Manual

HaruDoc::useKREncodings

(PECL haru >= 0.0.1)

HaruDoc::useKREncodings — Enable Korean encodings

Beschreibung

bool HaruDoc::useKREncodings ( void )

Enables Korean encodings.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruDoc::useKRFonts() - Enable builtin Korean fonts

HaruDoc::useJPFonts
HaruDoc::useKRFonts
HaruDoc


Enable builtin Korean fonts

HaruDoc::useKREncodings
HaruPage
HaruDoc
PHP Manual

HaruDoc::useKRFonts

(PECL haru >= 0.0.1)

HaruDoc::useKRFonts — Enable builtin Korean fonts

Beschreibung

bool HaruDoc::useKRFonts ( void )

Enables builtin Korean fonts.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruDoc::useKREncodings() - Enable Korean encodings

HaruDoc::useKREncodings
HaruPage
HaruDoc


The HaruPage class

(PECL haru >= 0.0.1)

Einführung

Haru PDF Page Class.

Klassenbeschreibung

HaruPage {
/* Methoden */
bool arc ( float $x , float $y , float $ray , float $ang1 , float $ang2 )
bool beginText ( void )
bool circle ( float $x , float $y , float $ray )
bool closePath ( void )
bool concat ( float $a , float $b , float $c , float $d , float $x , float $y )
object createDestination ( void )
object createLinkAnnotation ( array $rectangle , object $destination )
object createTextAnnotation ( array $rectangle , string $text [, object $encoder ] )
object createURLAnnotation ( array $rectangle , string $url )
bool curveTo2 ( float $x2 , float $y2 , float $x3 , float $y3 )
bool curveTo3 ( float $x1 , float $y1 , float $x3 , float $y3 )
bool curveTo ( float $x1 , float $y1 , float $x2 , float $y2 , float $x3 , float $y3 )
bool drawImage ( object $image , float $x , float $y , float $width , float $height )
bool ellipse ( float $x , float $y , float $xray , float $yray )
bool endPath ( void )
bool endText ( void )
bool eofill ( void )
bool eoFillStroke ([ bool $close_path = false ] )
bool fill ( void )
bool fillStroke ([ bool $close_path = false ] )
float getCharSpace ( void )
array getCMYKFill ( void )
array getCMYKStroke ( void )
object getCurrentFont ( void )
float getCurrentFontSize ( void )
array getCurrentPos ( void )
array getCurrentTextPos ( void )
array getDash ( void )
int getFillingColorSpace ( void )
float getFlatness ( void )
int getGMode ( void )
float getGrayFill ( void )
float getGrayStroke ( void )
float getHeight ( void )
float getHorizontalScaling ( void )
int getLineCap ( void )
int getLineJoin ( void )
float getLineWidth ( void )
float getMiterLimit ( void )
array getRGBFill ( void )
array getRGBStroke ( void )
int getStrokingColorSpace ( void )
float getTextLeading ( void )
array getTextMatrix ( void )
int getTextRenderingMode ( void )
float getTextRise ( void )
float getTextWidth ( string $text )
array getTransMatrix ( void )
float getWidth ( void )
float getWordSpace ( void )
bool lineTo ( float $x , float $y )
int measureText ( string $text , float $width [, bool $wordwrap = false ] )
bool moveTextPos ( float $x , float $y [, bool $set_leading = false ] )
bool moveTo ( float $x , float $y )
bool moveToNextLine ( void )
bool rectangle ( float $x , float $y , float $width , float $height )
bool setCharSpace ( float $char_space )
bool setCMYKFill ( float $c , float $m , float $y , float $k )
bool setCMYKStroke ( float $c , float $m , float $y , float $k )
bool setDash ( array $pattern , int $phase )
bool setFlatness ( float $flatness )
bool setFontAndSize ( object $font , float $size )
bool setGrayFill ( float $value )
bool setGrayStroke ( float $value )
bool setHeight ( float $height )
bool setHorizontalScaling ( float $scaling )
bool setLineCap ( int $cap )
bool setLineJoin ( int $join )
bool setLineWidth ( float $width )
bool setMiterLimit ( float $limit )
bool setRGBFill ( float $r , float $g , float $b )
bool setRGBStroke ( float $r , float $g , float $b )
bool setRotate ( int $angle )
bool setSize ( int $size , int $direction )
bool setSlideShow ( int $type , float $disp_time , float $trans_time )
bool setTextLeading ( float $text_leading )
bool setTextMatrix ( float $a , float $b , float $c , float $d , float $x , float $y )
bool setTextRenderingMode ( int $mode )
bool setTextRise ( float $rise )
bool setWidth ( float $width )
bool setWordSpace ( float $word_space )
bool showText ( string $text )
bool showTextNextLine ( string $text [, float $word_space = 0 [, float $char_space = 0 ]] )
bool stroke ([ bool $close_path = false ] )
bool textOut ( float $x , float $y , string $text )
bool textRect ( float $left , float $top , float $right , float $bottom , string $text [, int $align = HaruPage::TALIGN_LEFT ] )
}

Vordefinierte Konstanten

Type | Name | Description
int | HaruPage::GMODE_PAGE_DESCRIPTION |
int | HaruPage::GMODE_TEXT_OBJECT |
int | HaruPage::GMODE_PATH_OBJECT |
int | HaruPage::GMODE_CLIPPING_PATH |
int | HaruPage::GMODE_SHADING |
int | HaruPage::GMODE_INLINE_IMAGE |
int | HaruPage::GMODE_EXTERNAL_OBJECT |
int | HaruPage::BUTT_END |
int | HaruPage::ROUND_END |
int | HaruPage::PROJECTING_SCUARE_END |
int | HaruPage::MITER_JOIN |
int | HaruPage::ROUND_JOIN |
int | HaruPage::BEVEL_JOIN |
int | HaruPage::FILL |
int | HaruPage::STROKE |
int | HaruPage::FILL_THEN_STROKE |
int | HaruPage::INVISIBLE |
int | HaruPage::FILL_CLIPPING |
int | HaruPage::STROKE_CLIPPING |
int | HaruPage::FILL_STROKE_CLIPPING |
int | HaruPage::CLIPPING |
int | HaruPage::TALIGN_LEFT |
int | HaruPage::TALIGN_RIGHT |
int | HaruPage::TALIGN_CENTER |
int | HaruPage::TALIGN_JUSTIFY |
int | HaruPage::SIZE_LETTER |
int | HaruPage::SIZE_LEGAL |
int | HaruPage::SIZE_A3 |
int | HaruPage::SIZE_A4 |
int | HaruPage::SIZE_A5 |
int | HaruPage::SIZE_B4 |
int | HaruPage::SIZE_B5 |
int | HaruPage::SIZE_EXECUTIVE |
int | HaruPage::SIZE_US4x6 |
int | HaruPage::SIZE_US4x8 |
int | HaruPage::SIZE_US5x7 |
int | HaruPage::SIZE_COMM10 |
int | HaruPage::PORTRAIT |
int | HaruPage::LANDSCAPE |
int | HaruPage::TS_WIPE_LIGHT |
int | HaruPage::TS_WIPE_UP |
int | HaruPage::TS_WIPE_LEFT |
int | HaruPage::TS_WIPE_DOWN |
int | HaruPage::TS_BARN_DOORS_HORIZONTAL_OUT |
int | HaruPage::TS_BARN_DOORS_HORIZONTAL_IN |
int | HaruPage::TS_BARN_DOORS_VERTICAL_OUT |
int | HaruPage::TS_BARN_DOORS_VERTICAL_IN |
int | HaruPage::TS_BOX_OUT |
int | HaruPage::TS_BOX_IN |
int | HaruPage::TS_BLINDS_HORIZONTAL |
int | HaruPage::TS_BLINDS_VERTICAL |
int | HaruPage::TS_DISSOLVE |
int | HaruPage::TS_GLITTER_RIGHT |
int | HaruPage::TS_GLITTER_DOWN |
int | HaruPage::TS_GLITTER_TOP_LEFT_TO_BOTTOM_RIGHT |
int | HaruPage::TS_REPLACE |
int | HaruPage::NUM_STYLE_DECIMAL |
int | HaruPage::NUM_STYLE_UPPER_ROMAN |
int | HaruPage::NUM_STYLE_LOWER_ROMAN |
int | HaruPage::NUM_STYLE_UPPER_LETTERS |
int | HaruPage::NUM_STYLE_LOWER_LETTERS |

Inhaltsverzeichnis

  • HaruPage::arc — Append an arc to the current path
  • HaruPage::beginText — Begin a text object and set the current text position to (0,0)
  • HaruPage::circle — Append a circle to the current path
  • HaruPage::closePath — Append a straight line from the current point to the start point of the path
  • HaruPage::concat — Concatenate current transformation matrix of the page and the specified matrix
  • HaruPage::createDestination — Create new HaruDestination instance
  • HaruPage::createLinkAnnotation — Create new HaruAnnotation instance
  • HaruPage::createTextAnnotation — Create new HaruAnnotation instance
  • HaruPage::createURLAnnotation — Create and return new HaruAnnotation instance
  • HaruPage::curveTo2 — Append a Bezier curve to the current path
  • HaruPage::curveTo3 — Append a Bezier curve to the current path
  • HaruPage::curveTo — Append a Bezier curve to the current path
  • HaruPage::drawImage — Show image at the page
  • HaruPage::ellipse — Append an ellipse to the current path
  • HaruPage::endPath — End current path object without filling and painting operations
  • HaruPage::endText — End current text object
  • HaruPage::eofill — Fill current path using even-odd rule
  • HaruPage::eoFillStroke — Fill current path using even-odd rule, then paint the path
  • HaruPage::fill — Fill current path using nonzero winding number rule
  • HaruPage::fillStroke — Fill current path using nonzero winding number rule, then paint the path
  • HaruPage::getCharSpace — Get the current value of character spacing
  • HaruPage::getCMYKFill — Get the current filling color
  • HaruPage::getCMYKStroke — Get the current stroking color
  • HaruPage::getCurrentFont — Get the currently used font
  • HaruPage::getCurrentFontSize — Get the current font size
  • HaruPage::getCurrentPos — Get the current position for path painting
  • HaruPage::getCurrentTextPos — Get the current position for text printing
  • HaruPage::getDash — Get the current dash pattern
  • HaruPage::getFillingColorSpace — Get the current filling color space
  • HaruPage::getFlatness — Get the flatness of the page
  • HaruPage::getGMode — Get the current graphics mode
  • HaruPage::getGrayFill — Get the current filling color
  • HaruPage::getGrayStroke — Get the current stroking color
  • HaruPage::getHeight — Get the height of the page
  • HaruPage::getHorizontalScaling — Get the current value of horizontal scaling
  • HaruPage::getLineCap — Get the current line cap style
  • HaruPage::getLineJoin — Get the current line join style
  • HaruPage::getLineWidth — Get the current line width
  • HaruPage::getMiterLimit — Get the value of miter limit
  • HaruPage::getRGBFill — Get the current filling color
  • HaruPage::getRGBStroke — Get the current stroking color
  • HaruPage::getStrokingColorSpace — Get the current stroking color space
  • HaruPage::getTextLeading — Get the current value of line spacing
  • HaruPage::getTextMatrix — Get the current text transformation matrix of the page
  • HaruPage::getTextRenderingMode — Get the current text rendering mode
  • HaruPage::getTextRise — Get the current value of text rising
  • HaruPage::getTextWidth — Get the width of the text using current fontsize, character spacing and word spacing
  • HaruPage::getTransMatrix — Get the current transformation matrix of the page
  • HaruPage::getWidth — Get the width of the page
  • HaruPage::getWordSpace — Get the current value of word spacing
  • HaruPage::lineTo — Draw a line from the current point to the specified point
  • HaruPage::measureText — Calculate the byte length of characters which can be included on one line of the specified width
  • HaruPage::moveTextPos — Move text position to the specified offset
  • HaruPage::moveTo — Set starting point for new drawing path
  • HaruPage::moveToNextLine — Move text position to the start of the next line
  • HaruPage::rectangle — Append a rectangle to the current path
  • HaruPage::setCharSpace — Set character spacing for the page
  • HaruPage::setCMYKFill — Set filling color for the page
  • HaruPage::setCMYKStroke — Set stroking color for the page
  • HaruPage::setDash — Set the dash pattern for the page
  • HaruPage::setFlatness — Set flatness for the page
  • HaruPage::setFontAndSize — Set font and fontsize for the page
  • HaruPage::setGrayFill — Set filling color for the page
  • HaruPage::setGrayStroke — Sets stroking color for the page
  • HaruPage::setHeight — Set height of the page
  • HaruPage::setHorizontalScaling — Set horizontal scaling for the page
  • HaruPage::setLineCap — Set the shape to be used at the ends of lines
  • HaruPage::setLineJoin — Set line join style for the page
  • HaruPage::setLineWidth — Set line width for the page
  • HaruPage::setMiterLimit — Set the current value of the miter limit of the page
  • HaruPage::setRGBFill — Set filling color for the page
  • HaruPage::setRGBStroke — Set stroking color for the page
  • HaruPage::setRotate — Set rotation angle of the page
  • HaruPage::setSize — Set size and direction of the page
  • HaruPage::setSlideShow — Set transition style for the page
  • HaruPage::setTextLeading — Set text leading (line spacing) for the page
  • HaruPage::setTextMatrix — Set the current text transformation matrix of the page
  • HaruPage::setTextRenderingMode — Set text rendering mode for the page
  • HaruPage::setTextRise — Set the current value of text rising
  • HaruPage::setWidth — Set width of the page
  • HaruPage::setWordSpace — Set word spacing for the page
  • HaruPage::showText — Print text at the current position of the page
  • HaruPage::showTextNextLine — Move the current position to the start of the next line and print the text
  • HaruPage::stroke — Paint current path
  • HaruPage::textOut — Print the text on the specified position
  • HaruPage::textRect — Print the text inside the specified region
HaruDoc::useKRFonts
HaruPage::arc
haru


Append an arc to the current path

HaruPage
HaruPage::beginText
HaruPage
PHP Manual

HaruPage::arc

(PECL haru >= 0.0.1)

HaruPage::arc — Append an arc to the current path

Beschreibung

bool HaruPage::arc ( float $x , float $y , float $ray , float $ang1 , float $ang2 )

Appends an arc to the current path.

Parameter-Liste

x

Horizontal coordinate of the center.

y

Vertical coordinate of the center.

ray

The ray of the arc.

ang1

The angle of the beginning.

ang2

The angle of the end. Must be greater than ang1.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruPage
HaruPage::beginText
HaruPage


Begin a text object and set the current text position to (0,0)

HaruPage::arc
HaruPage::circle
HaruPage
PHP Manual

HaruPage::beginText

(PECL haru >= 0.0.1)

HaruPage::beginText — Begin a text object and set the current text position to (0,0)

Beschreibung

bool HaruPage::beginText ( void )

Begins new text object and sets the current text position to (0,0).

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruPage::arc
HaruPage::circle
HaruPage


Append a circle to the current path

HaruPage::beginText
HaruPage::closePath
HaruPage
PHP Manual

HaruPage::circle

(PECL haru >= 0.0.1)

HaruPage::circle — Append a circle to the current path

Beschreibung

bool HaruPage::circle ( float $x , float $y , float $ray )

Appends a circle to the current path.

Parameter-Liste

x

Horizontal coordinate of the center point.

y

Vertical coordinate of the center point.

ray

The ray of the circle.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruPage::beginText
HaruPage::closePath
HaruPage


Append a straight line from the current point to the start point of the path

HaruPage::circle
HaruPage::concat
HaruPage
PHP Manual

HaruPage::closePath

(PECL haru >= 0.0.1)

HaruPage::closePath — Append a straight line from the current point to the start point of the path

Beschreibung

bool HaruPage::closePath ( void )

Appends a straight line from the current point to the start point of the path.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruPage::circle
HaruPage::concat
HaruPage


Concatenate current transformation matrix of the page and the specified matrix

HaruPage::closePath
HaruPage::createDestination
HaruPage
PHP Manual

HaruPage::concat

(PECL haru >= 0.0.1)

HaruPage::concat — Concatenate current transformation matrix of the page and the specified matrix

Beschreibung

bool HaruPage::concat ( float $a , float $b , float $c , float $d , float $x , float $y )

Concatenates current transformation matrix of the page and the specified matrix.

Parameter-Liste

a

b

c

d

x

y

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruPage::closePath
HaruPage::createDestination
HaruPage


Create new HaruDestination instance

HaruPage::concat
HaruPage::createLinkAnnotation
HaruPage
PHP Manual

HaruPage::createDestination

(PECL haru >= 0.0.1)

HaruPage::createDestination — Create new HaruDestination instance

Beschreibung

object HaruPage::createDestination ( void )

Create a new HaruDestination instance.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a new HaruDestination instance.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruPage::concat
HaruPage::createLinkAnnotation
HaruPage


Create new HaruAnnotation instance

HaruPage::createDestination
HaruPage::createTextAnnotation
HaruPage
PHP Manual

HaruPage::createLinkAnnotation

(PECL haru >= 0.0.1)

HaruPage::createLinkAnnotation — Create new HaruAnnotation instance

Beschreibung

object HaruPage::createLinkAnnotation ( array $rectangle , object $destination )

Creates a new HaruAnnotation instance.

Parameter-Liste

rectangle

An array with 4 coordinates of the clickable area.

destination

Valid HaruDestination instance.

Rückgabewerte

Returns a new HaruAnnotation instance.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruPage::createDestination
HaruPage::createTextAnnotation
HaruPage


Create new HaruAnnotation instance

HaruPage::createLinkAnnotation
HaruPage::createURLAnnotation
HaruPage
PHP Manual

HaruPage::createTextAnnotation

(PECL haru >= 0.0.1)

HaruPage::createTextAnnotation — Create new HaruAnnotation instance

Beschreibung

object HaruPage::createTextAnnotation ( array $rectangle , string $text [, object $encoder ] )

Creates a new HaruAnnotation instance.

Parameter-Liste

rectangle

An array with 4 coordinates of the annotation area.

text

The text to be displayed.

encoder

Optional HaruEncoder instance.

Rückgabewerte

Returns a new HaruAnnotation instance.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruPage::createLinkAnnotation
HaruPage::createURLAnnotation
HaruPage


Create and return new HaruAnnotation instance

HaruPage::createTextAnnotation
HaruPage::curveTo2
HaruPage
PHP Manual

HaruPage::createURLAnnotation

(PECL haru >= 0.0.1)

HaruPage::createURLAnnotation — Create and return new HaruAnnotation instance

Beschreibung

object HaruPage::createURLAnnotation ( array $rectangle , string $url )

Creates a new HaruAnnotation instance.

Parameter-Liste

rectangle

An array with 4 coordinates of the clickable area.

url

The URL to open.

Rückgabewerte

Returns a new HaruAnnotation instance.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruPage::createTextAnnotation
HaruPage::curveTo2
HaruPage


Append a Bezier curve to the current path

HaruPage::createURLAnnotation
HaruPage::curveTo3
HaruPage
PHP Manual

HaruPage::curveTo2

(PECL haru >= 0.0.1)

HaruPage::curveTo2 — Append a Bezier curve to the current path

Beschreibung

bool HaruPage::curveTo2 ( float $x2 , float $y2 , float $x3 , float $y3 )

Appends a Bezier curve to the current path. The current point and the point (x2, y2) are used as the control points for the Bezier curve and current point is moved to the point (x3, y3).

Parameter-Liste

x2

A Bezier curve control point.

y2

A Bezier curve control point.

x3

The current point moves here.

x3

The current point moves here.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruPage::createURLAnnotation
HaruPage::curveTo3
HaruPage


Append a Bezier curve to the current path

HaruPage::curveTo2
HaruPage::curveTo
HaruPage
PHP Manual

HaruPage::curveTo3

(PECL haru >= 0.0.1)

HaruPage::curveTo3 — Append a Bezier curve to the current path

Beschreibung

bool HaruPage::curveTo3 ( float $x1 , float $y1 , float $x3 , float $y3 )

Appends a Bezier curve to the current path. The point (x1, y1) and the point (x3, y3) are used as the control points for a Bezier curve and current point is moved to the point (x3, y3).

Parameter-Liste

x1

A Bezier curve control point.

y1

A Bezier curve control point.

x3

The current point moves here.

x3

The current point moves here.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruPage::curveTo2
HaruPage::curveTo
HaruPage


Append a Bezier curve to the current path

HaruPage::curveTo3
HaruPage::drawImage
HaruPage
PHP Manual

HaruPage::curveTo

(PECL haru >= 0.0.1)

HaruPage::curveTo — Append a Bezier curve to the current path

Beschreibung

bool HaruPage::curveTo ( float $x1 , float $y1 , float $x2 , float $y2 , float $x3 , float $y3 )

Append a Bezier curve to the current path. The point (x1, y1) and the point (x2, y2) are used as the control points for a Bezier curve and current point is moved to the point (x3, y3).

Parameter-Liste

x1

A Bezier curve control point.

y1

A Bezier curve control point.

x2

A Bezier curve control point.

y2

A Bezier curve control point.

x3

The current point moves here.

x3

The current point moves here.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruPage::curveTo3
HaruPage::drawImage
HaruPage


Show image at the page

HaruPage::curveTo
HaruPage::ellipse
HaruPage
PHP Manual

HaruPage::drawImage

(PECL haru >= 0.0.1)

HaruPage::drawImage — Show image at the page

Beschreibung

bool HaruPage::drawImage ( object $image , float $x , float $y , float $width , float $height )

Show image at the page.

Parameter-Liste

image

Valid HaruImage instance.

x

The left border of the area where the image is displayed.

y

The lower border of the area where the image is displayed.

width

The width of the image area.

height

The height of the image area.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruPage::curveTo
HaruPage::ellipse
HaruPage


Append an ellipse to the current path

HaruPage::drawImage
HaruPage::endPath
HaruPage
PHP Manual

HaruPage::ellipse

(PECL haru >= 0.0.1)

HaruPage::ellipse — Append an ellipse to the current path

Beschreibung

bool HaruPage::ellipse ( float $x , float $y , float $xray , float $yray )

Appends an ellipse to the current path.

Parameter-Liste

x

Horizontal coordinate of the center.

y

Vertical coordinate of the center.

xray

The ray of the ellipse in the x direction.

yray

The ray of the ellipse in the y direction.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruPage::drawImage
HaruPage::endPath
HaruPage


End current path object without filling and painting operations

HaruPage::ellipse
HaruPage::endText
HaruPage
PHP Manual

HaruPage::endPath

(PECL haru >= 0.0.1)

HaruPage::endPath — End current path object without filling and painting operations

Beschreibung

bool HaruPage::endPath ( void )

Ends current path object without performing filling and painting operations.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruPage::ellipse
HaruPage::endText
HaruPage


End current text object

HaruPage::endPath
HaruPage::eofill
HaruPage
PHP Manual

HaruPage::endText

(PECL haru >= 0.0.1)

HaruPage::endText — End current text object

Beschreibung

bool HaruPage::endText ( void )

Finalizes current text object.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruPage::endPath
HaruPage::eofill
HaruPage


Fill current path using even-odd rule

HaruPage::endText
HaruPage::eoFillStroke
HaruPage
PHP Manual

HaruPage::eofill

(PECL haru >= 0.0.1)

HaruPage::eofill — Fill current path using even-odd rule

Beschreibung

bool HaruPage::eofill ( void )

Fills current path using even-odd rule.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruPage::endText
HaruPage::eoFillStroke
HaruPage


Fill current path using even-odd rule, then paint the path

HaruPage::eofill
HaruPage::fill
HaruPage
PHP Manual

HaruPage::eoFillStroke

(PECL haru >= 0.0.1)

HaruPage::eoFillStroke — Fill current path using even-odd rule, then paint the path

Beschreibung

bool HaruPage::eoFillStroke ([ bool $close_path = false ] )

Fills current path using even-odd rule, then paints the path.

Parameter-Liste

close_path

Optional parameter. When set to TRUE, the function closes the current path. Default to FALSE.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruPage::eofill
HaruPage::fill
HaruPage


Fill current path using nonzero winding number rule

HaruPage::eoFillStroke
HaruPage::fillStroke
HaruPage
PHP Manual

HaruPage::fill

(PECL haru >= 0.0.1)

HaruPage::fill — Fill current path using nonzero winding number rule

Beschreibung

bool HaruPage::fill ( void )

Fills current path using nonzero winding number rule.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruPage::eoFillStroke
HaruPage::fillStroke
HaruPage


Fill current path using nonzero winding number rule, then paint the path

HaruPage::fill
HaruPage::getCharSpace
HaruPage
PHP Manual

HaruPage::fillStroke

(PECL haru >= 0.0.1)

HaruPage::fillStroke — Fill current path using nonzero winding number rule, then paint the path

Beschreibung

bool HaruPage::fillStroke ([ bool $close_path = false ] )

Fills current path using nonzero winding number rule, then paints the path.

Parameter-Liste

close_path

Optional parameter. When set to TRUE, the function closes the current path. Default to FALSE.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruPage::fill
HaruPage::getCharSpace
HaruPage


Get the current value of character spacing

HaruPage::fillStroke
HaruPage::getCMYKFill
HaruPage
PHP Manual

HaruPage::getCharSpace

(PECL haru >= 0.0.1)

HaruPage::getCharSpace — Get the current value of character spacing

Beschreibung

float HaruPage::getCharSpace ( void )

Get the current value of character spacing.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current value of character spacing.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruPage::fillStroke
HaruPage::getCMYKFill
HaruPage


Get the current filling color

HaruPage::getCharSpace
HaruPage::getCMYKStroke
HaruPage
PHP Manual

HaruPage::getCMYKFill

(PECL haru >= 0.0.1)

HaruPage::getCMYKFill — Get the current filling color

Beschreibung

array HaruPage::getCMYKFill ( void )

Returns the current filling color.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current filling color as an array with 4 elements ("c", "m", "y" and "k").

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruPage::getCharSpace
HaruPage::getCMYKStroke
HaruPage


Get the current stroking color

HaruPage::getCMYKFill
HaruPage::getCurrentFont
HaruPage
PHP Manual

HaruPage::getCMYKStroke

(PECL haru >= 0.0.1)

HaruPage::getCMYKStroke — Get the current stroking color

Beschreibung

array HaruPage::getCMYKStroke ( void )

Get the current stroking color.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current stroking color as an array with 4 elements ("c", "m", "y" and "k").

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruPage::getCMYKFill
HaruPage::getCurrentFont
HaruPage


Get the currently used font

HaruPage::getCMYKStroke
HaruPage::getCurrentFontSize
HaruPage
PHP Manual

HaruPage::getCurrentFont

(PECL haru >= 0.0.1)

HaruPage::getCurrentFont — Get the currently used font

Beschreibung

object HaruPage::getCurrentFont ( void )

Get the currently used font.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the currently used font as an instance of HaruFont.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruPage::getCMYKStroke
HaruPage::getCurrentFontSize
HaruPage


Get the current font size

HaruPage::getCurrentFont
HaruPage::getCurrentPos
HaruPage
PHP Manual

HaruPage::getCurrentFontSize

(PECL haru >= 0.0.1)

HaruPage::getCurrentFontSize — Get the current font size

Beschreibung

float HaruPage::getCurrentFontSize ( void )

Get the current font size.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current font size.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruPage::getCurrentFont
HaruPage::getCurrentPos
HaruPage


Get the current position for path painting

HaruPage::getCurrentFontSize
HaruPage::getCurrentTextPos
HaruPage
PHP Manual

HaruPage::getCurrentPos

(PECL haru >= 0.0.1)

HaruPage::getCurrentPos — Get the current position for path painting

Beschreibung

array HaruPage::getCurrentPos ( void )

Get the current position for path painting.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current position for path painting as an array of with two elements - "x" and "y".

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruPage::getCurrentFontSize
HaruPage::getCurrentTextPos
HaruPage


Get the current position for text printing

HaruPage::getCurrentPos
HaruPage::getDash
HaruPage
PHP Manual

HaruPage::getCurrentTextPos

(PECL haru >= 0.0.1)

HaruPage::getCurrentTextPos — Get the current position for text printing

Beschreibung

array HaruPage::getCurrentTextPos ( void )

Get the current position for text printing.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current position for text printing as an array with 2 elements - "x" and "y".

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruPage::getCurrentPos
HaruPage::getDash
HaruPage


Get the current dash pattern

HaruPage::getCurrentTextPos
HaruPage::getFillingColorSpace
HaruPage
PHP Manual

HaruPage::getDash

(PECL haru >= 0.0.1)

HaruPage::getDash — Get the current dash pattern

Beschreibung

array HaruPage::getDash ( void )

Get the current dash pattern. See HaruPage::setDash() for more information on dash patterns.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current dash pattern as an array of two elements - "pattern" and "phase" or FALSE if dash pattern was not set.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::setDash() - Set the dash pattern for the page

HaruPage::getCurrentTextPos
HaruPage::getFillingColorSpace
HaruPage


Get the current filling color space

HaruPage::getDash
HaruPage::getFlatness
HaruPage
PHP Manual

HaruPage::getFillingColorSpace

(PECL haru >= 0.0.1)

HaruPage::getFillingColorSpace — Get the current filling color space

Beschreibung

int HaruPage::getFillingColorSpace ( void )

Get the current filling color space.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current filling color space. The result value is one of the following:

  • HaruDoc::CS_DEVICE_GRAY
  • HaruDoc::CS_DEVICE_RGB
  • HaruDoc::CS_DEVICE_CMYK
  • HaruDoc::CS_CAL_GRAY
  • HaruDoc::CS_CAL_RGB
  • HaruDoc::CS_LAB
  • HaruDoc::CS_ICC_BASED
  • HaruDoc::CS_SEPARATION
  • HaruDoc::CS_DEVICE_N
  • HaruDoc::CS_INDEXED
  • HaruDoc::CS_PATTERN

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruPage::getDash
HaruPage::getFlatness
HaruPage


Get the flatness of the page

HaruPage::getFillingColorSpace
HaruPage::getGMode
HaruPage
PHP Manual

HaruPage::getFlatness

(PECL haru >= 0.0.1)

HaruPage::getFlatness — Get the flatness of the page

Beschreibung

float HaruPage::getFlatness ( void )

Get the flatness of the page.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the flatness of the page.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::setFlatness() - Set flatness for the page

HaruPage::getFillingColorSpace
HaruPage::getGMode
HaruPage


Get the current graphics mode

HaruPage::getFlatness
HaruPage::getGrayFill
HaruPage
PHP Manual

HaruPage::getGMode

(PECL haru >= 0.0.1)

HaruPage::getGMode — Get the current graphics mode

Beschreibung

int HaruPage::getGMode ( void )

Get the current graphics mode.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current graphics mode. The result value is one of the following:

  • HaruPage::GMODE_PAGE_DESCRIPTION
  • HaruPage::GMODE_TEXT_OBJECT
  • HaruPage::GMODE_PATH_OBJECT
  • HaruPage::GMODE_CLIPPING_PATH
  • HaruPage::GMODE_SHADING
  • HaruPage::GMODE_INLINE_IMAGE
  • HaruPage::GMODE_EXTERNAL_OBJECT

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruPage::getFlatness
HaruPage::getGrayFill
HaruPage


Get the current filling color

HaruPage::getGMode
HaruPage::getGrayStroke
HaruPage
PHP Manual

HaruPage::getGrayFill

(PECL haru >= 0.0.1)

HaruPage::getGrayFill — Get the current filling color

Beschreibung

float HaruPage::getGrayFill ( void )

Get the current filling color.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current filling color.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::setGrayFill() - Set filling color for the page

HaruPage::getGMode
HaruPage::getGrayStroke
HaruPage


Get the current stroking color

HaruPage::getGrayFill
HaruPage::getHeight
HaruPage
PHP Manual

HaruPage::getGrayStroke

(PECL haru >= 0.0.1)

HaruPage::getGrayStroke — Get the current stroking color

Beschreibung

float HaruPage::getGrayStroke ( void )

Get the current stroking color.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current stroking color.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::setGrayStroke() - Sets stroking color for the page

HaruPage::getGrayFill
HaruPage::getHeight
HaruPage


Get the height of the page

HaruPage::getGrayStroke
HaruPage::getHorizontalScaling
HaruPage
PHP Manual

HaruPage::getHeight

(PECL haru >= 0.0.1)

HaruPage::getHeight — Get the height of the page

Beschreibung

float HaruPage::getHeight ( void )

Get the height of the page.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the height of the page.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::setHeight() - Set height of the page

HaruPage::getGrayStroke
HaruPage::getHorizontalScaling
HaruPage


Get the current value of horizontal scaling

HaruPage::getHeight
HaruPage::getLineCap
HaruPage
PHP Manual

HaruPage::getHorizontalScaling

(PECL haru >= 0.0.1)

HaruPage::getHorizontalScaling — Get the current value of horizontal scaling

Beschreibung

float HaruPage::getHorizontalScaling ( void )

Get the current value of the horizontal scaling.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current value of horizontal scaling.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::setHorizontalScaling() - Set horizontal scaling for the page

HaruPage::getHeight
HaruPage::getLineCap
HaruPage


Get the current line cap style

HaruPage::getHorizontalScaling
HaruPage::getLineJoin
HaruPage
PHP Manual

HaruPage::getLineCap

(PECL haru >= 0.0.1)

HaruPage::getLineCap — Get the current line cap style

Beschreibung

int HaruPage::getLineCap ( void )

Get the current line cap style.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current line cap style. The result value is one of the following:

  • HaruPage::BUTT_END - the line is squared off at the endpoint of the path.
  • HaruPage::ROUND_END - the end of the line becomes a semicircle with center in the end point of the path.
  • HaruPage::PROJECTING_SCUARE_END - the line continues to the point that exceeds half of the stroke width the end point.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::setLineCap() - Set the shape to be used at the ends of lines

HaruPage::getHorizontalScaling
HaruPage::getLineJoin
HaruPage


Get the current line join style

HaruPage::getLineCap
HaruPage::getLineWidth
HaruPage
PHP Manual

HaruPage::getLineJoin

(PECL haru >= 0.0.1)

HaruPage::getLineJoin — Get the current line join style

Beschreibung

int HaruPage::getLineJoin ( void )

Get the current line join style.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current line join style. The result value is one of the following:

  • HaruPage::MITER_JOIN
  • HaruPage::ROUND_JOIN
  • HaruPage::BEVEL_JOIN

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::setLineJoin() - Set line join style for the page

HaruPage::getLineCap
HaruPage::getLineWidth
HaruPage


Get the current line width

HaruPage::getLineJoin
HaruPage::getMiterLimit
HaruPage
PHP Manual

HaruPage::getLineWidth

(PECL haru >= 0.0.1)

HaruPage::getLineWidth — Get the current line width

Beschreibung

float HaruPage::getLineWidth ( void )

Get the current line width.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current line width.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::setLineWidth() - Set line width for the page

HaruPage::getLineJoin
HaruPage::getMiterLimit
HaruPage


Get the value of miter limit

HaruPage::getLineWidth
HaruPage::getRGBFill
HaruPage
PHP Manual

HaruPage::getMiterLimit

(PECL haru >= 0.0.1)

HaruPage::getMiterLimit — Get the value of miter limit

Beschreibung

float HaruPage::getMiterLimit ( void )

Get the value of the miter limit.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the value of the miter limit.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::setMiterLimit() - Set the current value of the miter limit of the page

HaruPage::getLineWidth
HaruPage::getRGBFill
HaruPage


Get the current filling color

HaruPage::getMiterLimit
HaruPage::getRGBStroke
HaruPage
PHP Manual

HaruPage::getRGBFill

(PECL haru >= 0.0.1)

HaruPage::getRGBFill — Get the current filling color

Beschreibung

array HaruPage::getRGBFill ( void )

Get the current filling color.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current filling color as an array with 3 elements: "r", "g" and "b".

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::setRGBFill() - Set filling color for the page

HaruPage::getMiterLimit
HaruPage::getRGBStroke
HaruPage


Get the current stroking color

HaruPage::getRGBFill
HaruPage::getStrokingColorSpace
HaruPage
PHP Manual

HaruPage::getRGBStroke

(PECL haru >= 0.0.1)

HaruPage::getRGBStroke — Get the current stroking color

Beschreibung

array HaruPage::getRGBStroke ( void )

Get the current stroking color.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current stroking color.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::setRGBStroke() - Set stroking color for the page

HaruPage::getRGBFill
HaruPage::getStrokingColorSpace
HaruPage


Get the current stroking color space

HaruPage::getRGBStroke
HaruPage::getTextLeading
HaruPage
PHP Manual

HaruPage::getStrokingColorSpace

(PECL haru >= 0.0.1)

HaruPage::getStrokingColorSpace — Get the current stroking color space

Beschreibung

int HaruPage::getStrokingColorSpace ( void )

Get the current stroking color space.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current stroking color space. The list of return values is the same as for HaruPage::getFillingColorSpace()

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::getFillingColorSpace() - Get the current filling color space

HaruPage::getRGBStroke
HaruPage::getTextLeading
HaruPage


Get the current value of line spacing

HaruPage::getStrokingColorSpace
HaruPage::getTextMatrix
HaruPage
PHP Manual

HaruPage::getTextLeading

(PECL haru >= 0.0.1)

HaruPage::getTextLeading — Get the current value of line spacing

Beschreibung

float HaruPage::getTextLeading ( void )

Get the current value of line spacing.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current value of line spacing.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::setTextLeading() - Set text leading (line spacing) for the page

HaruPage::getStrokingColorSpace
HaruPage::getTextMatrix
HaruPage


Get the current text transformation matrix of the page

HaruPage::getTextLeading
HaruPage::getTextRenderingMode
HaruPage
PHP Manual

HaruPage::getTextMatrix

(PECL haru >= 0.0.1)

HaruPage::getTextMatrix — Get the current text transformation matrix of the page

Beschreibung

array HaruPage::getTextMatrix ( void )

Get the current text transformation matrix of the page.

Rückgabewerte

Returns the current text transformation matrix of the page as an array of 6 elements: "a", "b", "c", "d", "x" and "y".

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::setTextMatrix() - Set the current text transformation matrix of the page

HaruPage::getTextLeading
HaruPage::getTextRenderingMode
HaruPage


Get the current text rendering mode

HaruPage::getTextMatrix
HaruPage::getTextRise
HaruPage
PHP Manual

HaruPage::getTextRenderingMode

(PECL haru >= 0.0.1)

HaruPage::getTextRenderingMode — Get the current text rendering mode

Beschreibung

int HaruPage::getTextRenderingMode ( void )

Get the current text rendering mode.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current text rendering mode. The result value is one of the following:

  • HaruPage::FILL
  • HaruPage::STROKE
  • HaruPage::FILL_THEN_STROKE
  • HaruPage::INVISIBLE
  • HaruPage::FILL_CLIPPING
  • HaruPage::STROKE_CLIPPING
  • HaruPage::FILL_STROKE_CLIPPING
  • HaruPage::CLIPPING

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::setTextRenderingMode() - Set text rendering mode for the page

HaruPage::getTextMatrix
HaruPage::getTextRise
HaruPage


Get the current value of text rising

HaruPage::getTextRenderingMode
HaruPage::getTextWidth
HaruPage
PHP Manual

HaruPage::getTextRise

(PECL haru >= 0.0.1)

HaruPage::getTextRise — Get the current value of text rising

Beschreibung

float HaruPage::getTextRise ( void )

Get the current value of text rising.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current value of text rising.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::setTextRise() - Set the current value of text rising

HaruPage::getTextRenderingMode
HaruPage::getTextWidth
HaruPage


Get the width of the text using current fontsize, character spacing and word spacing

HaruPage::getTextRise
HaruPage::getTransMatrix
HaruPage
PHP Manual

HaruPage::getTextWidth

(PECL haru >= 0.0.1)

HaruPage::getTextWidth — Get the width of the text using current fontsize, character spacing and word spacing

Beschreibung

float HaruPage::getTextWidth ( string $text )

Get the width of the text using current fontsize, character spacing and word spacing

Parameter-Liste

text

The text to measure.

Rückgabewerte

Returns the width of the text using current fontsize, character spacing and word spacing.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::measureText() - Calculate the byte length of characters which can be included on one line of the specified width

HaruPage::getTextRise
HaruPage::getTransMatrix
HaruPage


Get the current transformation matrix of the page

HaruPage::getTextWidth
HaruPage::getWidth
HaruPage
PHP Manual

HaruPage::getTransMatrix

(PECL haru >= 0.0.1)

HaruPage::getTransMatrix — Get the current transformation matrix of the page

Beschreibung

array HaruPage::getTransMatrix ( void )

Get the current transformation matrix of the page.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current transformation matrix of the page as an array of 6 elements: "a", "b", "c", "d", "x" and "y".

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::concat() - Concatenate current transformation matrix of the page and the specified matrix

HaruPage::getTextWidth
HaruPage::getWidth
HaruPage


Get the width of the page

HaruPage::getTransMatrix
HaruPage::getWordSpace
HaruPage
PHP Manual

HaruPage::getWidth

(PECL haru >= 0.0.1)

HaruPage::getWidth — Get the width of the page

Beschreibung

float HaruPage::getWidth ( void )

Get the width of the page.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the width of the page.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::setWidth() - Set width of the page

HaruPage::getTransMatrix
HaruPage::getWordSpace
HaruPage


Get the current value of word spacing

HaruPage::getWidth
HaruPage::lineTo
HaruPage
PHP Manual

HaruPage::getWordSpace

(PECL haru >= 0.0.1)

HaruPage::getWordSpace — Get the current value of word spacing

Beschreibung

float HaruPage::getWordSpace ( void )

Get the current value of word spacing.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current value of word spacing.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::setWordSpace() - Set word spacing for the page

HaruPage::getWidth
HaruPage::lineTo
HaruPage


Draw a line from the current point to the specified point

HaruPage::getWordSpace
HaruPage::measureText
HaruPage
PHP Manual

HaruPage::lineTo

(PECL haru >= 0.0.1)

HaruPage::lineTo — Draw a line from the current point to the specified point

Beschreibung

bool HaruPage::lineTo ( float $x , float $y )

Draws a line from the current point to the specified point.

Parameter-Liste

x

y

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::curveTo() - Append a Bezier curve to the current path
  • HaruPage::curveTo2() - Append a Bezier curve to the current path
  • HaruPage::curveTo3() - Append a Bezier curve to the current path

HaruPage::getWordSpace
HaruPage::measureText
HaruPage


Calculate the byte length of characters which can be included on one line of the specified width

HaruPage::lineTo
HaruPage::moveTextPos
HaruPage
PHP Manual

HaruPage::measureText

(PECL haru >= 0.0.1)

HaruPage::measureText — Calculate the byte length of characters which can be included on one line of the specified width

Beschreibung

int HaruPage::measureText ( string $text , float $width [, bool $wordwrap = false ] )

Get the byte length of characters which can be included on one line of the specified width.

Parameter-Liste

text

The text to measure.

width

The width of the line.

wordwrap

When this parameter is set to TRUE the function "emulates" word wrapping by stopping after the last full word (delimited by whitespace) that can fit on the line.

Rückgabewerte

Returns the byte length of characters which can be included within the specified width. For single-byte encodings, this is equal to the number of characters. For multi-byte encodings, this is not necessarily the case.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruFont::measureText() - Calculate the number of characters which can be included within the specified width

HaruPage::lineTo
HaruPage::moveTextPos
HaruPage


Move text position to the specified offset

HaruPage::measureText
HaruPage::moveTo
HaruPage
PHP Manual

HaruPage::moveTextPos

(PECL haru >= 0.0.1)

HaruPage::moveTextPos — Move text position to the specified offset

Beschreibung

bool HaruPage::moveTextPos ( float $x , float $y [, bool $set_leading = false ] )

Moves text position to the specified offset. If the start position of the current line is (x1, y1), the start of the next line is (x1 + x, y1 + y).

Parameter-Liste

x

The specified text position offset.

y

The specified text position offset.

set_leading

If set to TRUE, the function sets the text leading to -y.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::moveToNextLine() - Move text position to the start of the next line

HaruPage::measureText
HaruPage::moveTo
HaruPage


Set starting point for new drawing path

HaruPage::moveTextPos
HaruPage::moveToNextLine
HaruPage
PHP Manual

HaruPage::moveTo

(PECL haru >= 0.0.1)

HaruPage::moveTo — Set starting point for new drawing path

Beschreibung

bool HaruPage::moveTo ( float $x , float $y )

Defines starting point for new drawing path.

Parameter-Liste

x

A new starting point coordinate.

y

A new starting point coordinate.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruPage::moveTextPos
HaruPage::moveToNextLine
HaruPage


Move text position to the start of the next line

HaruPage::moveTo
HaruPage::rectangle
HaruPage
PHP Manual

HaruPage::moveToNextLine

(PECL haru >= 0.0.1)

HaruPage::moveToNextLine — Move text position to the start of the next line

Beschreibung

bool HaruPage::moveToNextLine ( void )

Moves text position to the start of the next line.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::moveTextPos() - Move text position to the specified offset

HaruPage::moveTo
HaruPage::rectangle
HaruPage


Append a rectangle to the current path

HaruPage::moveToNextLine
HaruPage::setCharSpace
HaruPage
PHP Manual

HaruPage::rectangle

(PECL haru >= 0.0.1)

HaruPage::rectangle — Append a rectangle to the current path

Beschreibung

bool HaruPage::rectangle ( float $x , float $y , float $width , float $height )

Appends a rectangle to the current drawing path.

Parameter-Liste

x

The left border of the rectangle.

y

The lower border of the rectangle.

width

The width of the rectangle.

height

The height of the rectangle.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruPage::moveToNextLine
HaruPage::setCharSpace
HaruPage


Set character spacing for the page

HaruPage::rectangle
HaruPage::setCMYKFill
HaruPage
PHP Manual

HaruPage::setCharSpace

(PECL haru >= 0.0.1)

HaruPage::setCharSpace — Set character spacing for the page

Beschreibung

bool HaruPage::setCharSpace ( float $char_space )

Defines character spacing for the page.

Parameter-Liste

char_space

The new character spacing for the page.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::getCharSpace() - Get the current value of character spacing

HaruPage::rectangle
HaruPage::setCMYKFill
HaruPage


Set filling color for the page

HaruPage::setCharSpace
HaruPage::setCMYKStroke
HaruPage
PHP Manual

HaruPage::setCMYKFill

(PECL haru >= 0.0.1)

HaruPage::setCMYKFill — Set filling color for the page

Beschreibung

bool HaruPage::setCMYKFill ( float $c , float $m , float $y , float $k )

Defines filling color for the page.

Parameter-Liste

c

m

y

k

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::getCMYKFill() - Get the current filling color

HaruPage::setCharSpace
HaruPage::setCMYKStroke
HaruPage


Set stroking color for the page

HaruPage::setCMYKFill
HaruPage::setDash
HaruPage
PHP Manual

HaruPage::setCMYKStroke

(PECL haru >= 0.0.1)

HaruPage::setCMYKStroke — Set stroking color for the page

Beschreibung

bool HaruPage::setCMYKStroke ( float $c , float $m , float $y , float $k )

Defines stroking color for the page.

Parameter-Liste

c

m

y

k

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::getCMYKStroke() - Get the current stroking color

HaruPage::setCMYKFill
HaruPage::setDash
HaruPage


Set the dash pattern for the page

HaruPage::setCMYKStroke
HaruPage::setFlatness
HaruPage
PHP Manual

HaruPage::setDash

(PECL haru >= 0.0.1)

HaruPage::setDash — Set the dash pattern for the page

Beschreibung

bool HaruPage::setDash ( array $pattern , int $phase )

Defines the dash pattern for the page.

Parameter-Liste

pattern

An array (8 elements max) which contains a pattern of dashes and gaps used for lines on the page.

phase

The phase on which the pattern begins.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::getDash() - Get the current dash pattern

HaruPage::setCMYKStroke
HaruPage::setFlatness
HaruPage


Set flatness for the page

HaruPage::setDash
HaruPage::setFontAndSize
HaruPage
PHP Manual

HaruPage::setFlatness

(PECL haru >= 0.0.1)

HaruPage::setFlatness — Set flatness for the page

Beschreibung

bool HaruPage::setFlatness ( float $flatness )

Defines flatness for the page.

Parameter-Liste

flatness

The defined flatness for the page.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::getFlatness() - Get the flatness of the page

HaruPage::setDash
HaruPage::setFontAndSize
HaruPage


Set font and fontsize for the page

HaruPage::setFlatness
HaruPage::setGrayFill
HaruPage
PHP Manual

HaruPage::setFontAndSize

(PECL haru >= 0.0.1)

HaruPage::setFontAndSize — Set font and fontsize for the page

Beschreibung

bool HaruPage::setFontAndSize ( object $font , float $size )

Defines current font and its size for the page.

Parameter-Liste

font

A valid HaruFont instance.

size

The size of the font.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruDoc::getFont() - Get HaruFont instance

HaruPage::setFlatness
HaruPage::setGrayFill
HaruPage


Set filling color for the page

HaruPage::setFontAndSize
HaruPage::setGrayStroke
HaruPage
PHP Manual

HaruPage::setGrayFill

(PECL haru >= 0.0.1)

HaruPage::setGrayFill — Set filling color for the page

Beschreibung

bool HaruPage::setGrayFill ( float $value )

Defines filling color for the page.

Parameter-Liste

value

The value of gray level between 0 and 1.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::getGrayFill() - Get the current filling color

HaruPage::setFontAndSize
HaruPage::setGrayStroke
HaruPage


Sets stroking color for the page

HaruPage::setGrayFill
HaruPage::setHeight
HaruPage
PHP Manual

HaruPage::setGrayStroke

(PECL haru >= 0.0.1)

HaruPage::setGrayStroke — Sets stroking color for the page

Beschreibung

bool HaruPage::setGrayStroke ( float $value )

Defines stroking color for the page.

Parameter-Liste

value

The value of gray level between 0 and 1.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::getGrayStroke() - Get the current stroking color

HaruPage::setGrayFill
HaruPage::setHeight
HaruPage


Set height of the page

HaruPage::setGrayStroke
HaruPage::setHorizontalScaling
HaruPage
PHP Manual

HaruPage::setHeight

(PECL haru >= 0.0.1)

HaruPage::setHeight — Set height of the page

Beschreibung

bool HaruPage::setHeight ( float $height )

Defines height of the page.

Parameter-Liste

height

The defined height for the page.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::getHeight() - Get the height of the page

HaruPage::setGrayStroke
HaruPage::setHorizontalScaling
HaruPage


Set horizontal scaling for the page

HaruPage::setHeight
HaruPage::setLineCap
HaruPage
PHP Manual

HaruPage::setHorizontalScaling

(PECL haru >= 0.0.1)

HaruPage::setHorizontalScaling — Set horizontal scaling for the page

Beschreibung

bool HaruPage::setHorizontalScaling ( float $scaling )

Set the horizontal scaling for the page.

Parameter-Liste

scaling

The horizontal scaling for text showing on the page. The initial value is 100.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::getHorizontalScaling() - Get the current value of horizontal scaling

HaruPage::setHeight
HaruPage::setLineCap
HaruPage


Set the shape to be used at the ends of lines

HaruPage::setHorizontalScaling
HaruPage::setLineJoin
HaruPage
PHP Manual

HaruPage::setLineCap

(PECL haru >= 0.0.1)

HaruPage::setLineCap — Set the shape to be used at the ends of lines

Beschreibung

bool HaruPage::setLineCap ( int $cap )

Defines the shape to be used at the ends of lines.

Parameter-Liste

cap

Must be one of the following values:

  • HaruPage::BUTT_END - the line is squared off at the endpoint of the path.
  • HaruPage::ROUND_END - the end of the line becomes a semicircle with center in the end point of the path.
  • HaruPage::PROJECTING_SCUARE_END - the line continues to the point that exceeds half of the stroke width the end point.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::getLineCap() - Get the current line cap style

HaruPage::setHorizontalScaling
HaruPage::setLineJoin
HaruPage


Set line join style for the page

HaruPage::setLineCap
HaruPage::setLineWidth
HaruPage
PHP Manual

HaruPage::setLineJoin

(PECL haru >= 0.0.1)

HaruPage::setLineJoin — Set line join style for the page

Beschreibung

bool HaruPage::setLineJoin ( int $join )

Defines line join style for the page.

Parameter-Liste

join

Must be one of the following values:

  • HaruPage::MITER_JOIN
  • HaruPage::ROUND_JOIN
  • HaruPage::BEVEL_JOIN

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::getLineJoin() - Get the current line join style

HaruPage::setLineCap
HaruPage::setLineWidth
HaruPage


Set line width for the page

HaruPage::setLineJoin
HaruPage::setMiterLimit
HaruPage
PHP Manual

HaruPage::setLineWidth

(PECL haru >= 0.0.1)

HaruPage::setLineWidth — Set line width for the page

Beschreibung

bool HaruPage::setLineWidth ( float $width )

Defines line width for the page.

Parameter-Liste

width

The defined line width for the page.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::getLineWidth() - Get the current line width

HaruPage::setLineJoin
HaruPage::setMiterLimit
HaruPage


Set the current value of the miter limit of the page

HaruPage::setLineWidth
HaruPage::setRGBFill
HaruPage
PHP Manual

HaruPage::setMiterLimit

(PECL haru >= 0.0.1)

HaruPage::setMiterLimit — Set the current value of the miter limit of the page

Beschreibung

bool HaruPage::setMiterLimit ( float $limit )

Set the current value of the miter limit of the page.

Parameter-Liste

limit

Defines the current value of the miter limit of the page.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::getMiterLimit() - Get the value of miter limit

HaruPage::setLineWidth
HaruPage::setRGBFill
HaruPage


Set filling color for the page

HaruPage::setMiterLimit
HaruPage::setRGBStroke
HaruPage
PHP Manual

HaruPage::setRGBFill

(PECL haru >= 0.0.1)

HaruPage::setRGBFill — Set filling color for the page

Beschreibung

bool HaruPage::setRGBFill ( float $r , float $g , float $b )

Defines filling color for the page. All values must be between 0 and 1.

Parameter-Liste

r

g

b

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::getRGBFill() - Get the current filling color

HaruPage::setMiterLimit
HaruPage::setRGBStroke
HaruPage


Set stroking color for the page

HaruPage::setRGBFill
HaruPage::setRotate
HaruPage
PHP Manual

HaruPage::setRGBStroke

(PECL haru >= 0.0.1)

HaruPage::setRGBStroke — Set stroking color for the page

Beschreibung

bool HaruPage::setRGBStroke ( float $r , float $g , float $b )

Defines stroking color for the page. All values must be between 0 and 1.

Parameter-Liste

r

g

b

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::getRGBStroke() - Get the current stroking color

HaruPage::setRGBFill
HaruPage::setRotate
HaruPage


Set rotation angle of the page

HaruPage::setRGBStroke
HaruPage::setSize
HaruPage
PHP Manual

HaruPage::setRotate

(PECL haru >= 0.0.1)

HaruPage::setRotate — Set rotation angle of the page

Beschreibung

bool HaruPage::setRotate ( int $angle )

Defines rotation angle of the page.

Parameter-Liste

angle

Must be a multiple of 90 degrees.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruPage::setRGBStroke
HaruPage::setSize
HaruPage


Set size and direction of the page

HaruPage::setRotate
HaruPage::setSlideShow
HaruPage
PHP Manual

HaruPage::setSize

(PECL haru >= 0.0.1)

HaruPage::setSize — Set size and direction of the page

Beschreibung

bool HaruPage::setSize ( int $size , int $direction )

Changes size and direction of the page to a predefined format.

Parameter-Liste

size

Must be one of the following values:

  • HaruPage::SIZE_LETTER
  • HaruPage::SIZE_LEGAL
  • HaruPage::SIZE_A3
  • HaruPage::SIZE_A4
  • HaruPage::SIZE_A5
  • HaruPage::SIZE_B4
  • HaruPage::SIZE_B5
  • HaruPage::SIZE_EXECUTIVE
  • HaruPage::SIZE_US4x6
  • HaruPage::SIZE_US4x8
  • HaruPage::SIZE_US5x7
  • HaruPage::SIZE_COMM10

direction

Must be one of the following values:

  • HaruPage::PORTRAIT
  • HaruPage::LANDSCAPE

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::setWidth() - Set width of the page
  • HaruPage::setHeight() - Set height of the page

HaruPage::setRotate
HaruPage::setSlideShow
HaruPage


Set transition style for the page

HaruPage::setSize
HaruPage::setTextLeading
HaruPage
PHP Manual

HaruPage::setSlideShow

(PECL haru >= 0.0.1)

HaruPage::setSlideShow — Set transition style for the page

Beschreibung

bool HaruPage::setSlideShow ( int $type , float $disp_time , float $trans_time )

Defines transition style for the page.

Parameter-Liste

type

Must be one of the following values:

  • HaruPage::TS_WIPE_RIGHT
  • HaruPage::TS_WIPE_LEFT
  • HaruPage::TS_WIPE_UP
  • HaruPage::TS_WIPE_DOWN
  • HaruPage::TS_BARN_DOORS_HORIZONTAL_OUT
  • HaruPage::TS_BARN_DOORS_HORIZONTAL_IN
  • HaruPage::TS_BARN_DOORS_VERTICAL_OUT
  • HaruPage::TS_BARN_DOORS_VERTICAL_IN
  • HaruPage::TS_BOX_OUT
  • HaruPage::TS_BOX_IN
  • HaruPage::TS_BLINDS_HORIZONTAL
  • HaruPage::TS_BLINDS_VERTICAL
  • HaruPage::TS_DISSOLVE
  • HaruPage::TS_GLITTER_RIGHT
  • HaruPage::TS_GLITTER_DOWN
  • HaruPage::TS_GLITTER_TOP_LEFT_TO_BOTTOM_RIGHT
  • HaruPage::TS_REPLACE

disp_time

The display duration of the page in seconds.

trans_time

The duration of the transition effect in seconds.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruPage::setSize
HaruPage::setTextLeading
HaruPage


Set text leading (line spacing) for the page

HaruPage::setSlideShow
HaruPage::setTextMatrix
HaruPage
PHP Manual

HaruPage::setTextLeading

(PECL haru >= 0.0.1)

HaruPage::setTextLeading — Set text leading (line spacing) for the page

Beschreibung

bool HaruPage::setTextLeading ( float $text_leading )

Set the text leading (line spacing) for the page.

Parameter-Liste

text_leading

Defines line spacing for the page.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::getTextLeading() - Get the current value of line spacing

HaruPage::setSlideShow
HaruPage::setTextMatrix
HaruPage


Set the current text transformation matrix of the page

HaruPage::setTextLeading
HaruPage::setTextRenderingMode
HaruPage
PHP Manual

HaruPage::setTextMatrix

(PECL haru >= 0.0.1)

HaruPage::setTextMatrix — Set the current text transformation matrix of the page

Beschreibung

bool HaruPage::setTextMatrix ( float $a , float $b , float $c , float $d , float $x , float $y )

Defines the text transformation matrix of the page.

Parameter-Liste

a

Width multiplier.

b

Vertical skew in radians.

c

Horizontal skew in radians.

d

Height multiplier.

x

Horizontal position for text.

y

Vertical position for text.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::getTextMatrix() - Get the current text transformation matrix of the page

HaruPage::setTextLeading
HaruPage::setTextRenderingMode
HaruPage


Set text rendering mode for the page

HaruPage::setTextMatrix
HaruPage::setTextRise
HaruPage
PHP Manual

HaruPage::setTextRenderingMode

(PECL haru >= 0.0.1)

HaruPage::setTextRenderingMode — Set text rendering mode for the page

Beschreibung

bool HaruPage::setTextRenderingMode ( int $mode )

Defines text rendering mode for the page.

Parameter-Liste

mode

Must be one of the following values:

  • HaruPage::FILL
  • HaruPage::STROKE
  • HaruPage::FILL_THEN_STROKE
  • HaruPage::INVISIBLE
  • HaruPage::FILL_CLIPPING
  • HaruPage::STROKE_CLIPPING
  • HaruPage::FILL_STROKE_CLIPPING
  • HaruPage::CLIPPING

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::getTextRenderingMode() - Get the current text rendering mode

HaruPage::setTextMatrix
HaruPage::setTextRise
HaruPage


Set the current value of text rising

HaruPage::setTextRenderingMode
HaruPage::setWidth
HaruPage
PHP Manual

HaruPage::setTextRise

(PECL haru >= 0.0.1)

HaruPage::setTextRise — Set the current value of text rising

Beschreibung

bool HaruPage::setTextRise ( float $rise )

Set the current value of text rising.

Parameter-Liste

rise

Defines the current value of text rising.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::getTextRise() - Get the current value of text rising

HaruPage::setTextRenderingMode
HaruPage::setWidth
HaruPage


Set width of the page

HaruPage::setTextRise
HaruPage::setWordSpace
HaruPage
PHP Manual

HaruPage::setWidth

(PECL haru >= 0.0.1)

HaruPage::setWidth — Set width of the page

Beschreibung

bool HaruPage::setWidth ( float $width )

Set the width of the page.

Parameter-Liste

width

Defines width of the page.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::getWidth() - Get the width of the page

HaruPage::setTextRise
HaruPage::setWordSpace
HaruPage


Set word spacing for the page

HaruPage::setWidth
HaruPage::showText
HaruPage
PHP Manual

HaruPage::setWordSpace

(PECL haru >= 0.0.1)

HaruPage::setWordSpace — Set word spacing for the page

Beschreibung

bool HaruPage::setWordSpace ( float $word_space )

Set the word spacing for the page.

Parameter-Liste

word_space

Defines word spacing for the page.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::getWordSpace() - Get the current value of word spacing

HaruPage::setWidth
HaruPage::showText
HaruPage


Print text at the current position of the page

HaruPage::setWordSpace
HaruPage::showTextNextLine
HaruPage
PHP Manual

HaruPage::showText

(PECL haru >= 0.0.1)

HaruPage::showText — Print text at the current position of the page

Beschreibung

bool HaruPage::showText ( string $text )

Prints out the text at the current position of the page.

Parameter-Liste

text

The text to show.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::showTextNextLine() - Move the current position to the start of the next line and print the text
  • HaruPage::textOut() - Print the text on the specified position

HaruPage::setWordSpace
HaruPage::showTextNextLine
HaruPage


Move the current position to the start of the next line and print the text

HaruPage::showText
HaruPage::stroke
HaruPage
PHP Manual

HaruPage::showTextNextLine

(PECL haru >= 0.0.1)

HaruPage::showTextNextLine — Move the current position to the start of the next line and print the text

Beschreibung

bool HaruPage::showTextNextLine ( string $text [, float $word_space = 0 [, float $char_space = 0 ]] )

Moves the current position to the start of the next line and print out the text.

Parameter-Liste

text

The text to show.

word_space

The word spacing.

char_space

The character spacing.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::showText() - Print text at the current position of the page
  • HaruPage::textOut() - Print the text on the specified position

HaruPage::showText
HaruPage::stroke
HaruPage


Paint current path

HaruPage::showTextNextLine
HaruPage::textOut
HaruPage
PHP Manual

HaruPage::stroke

(PECL haru >= 0.0.1)

HaruPage::stroke — Paint current path

Beschreibung

bool HaruPage::stroke ([ bool $close_path = false ] )

Paints the current path.

Parameter-Liste

close_path

Closes the current path if set to TRUE.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruPage::showTextNextLine
HaruPage::textOut
HaruPage


Print the text on the specified position

HaruPage::stroke
HaruPage::textRect
HaruPage
PHP Manual

HaruPage::textOut

(PECL haru >= 0.0.1)

HaruPage::textOut — Print the text on the specified position

Beschreibung

bool HaruPage::textOut ( float $x , float $y , string $text )

Prints the text on the specified position.

Parameter-Liste

x

y

text

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::showTextNextLine() - Move the current position to the start of the next line and print the text
  • HaruPage::showText() - Print text at the current position of the page

HaruPage::stroke
HaruPage::textRect
HaruPage


Print the text inside the specified region

HaruPage::textOut
HaruFont
HaruPage
PHP Manual

HaruPage::textRect

(PECL haru >= 0.0.1)

HaruPage::textRect — Print the text inside the specified region

Beschreibung

bool HaruPage::textRect ( float $left , float $top , float $right , float $bottom , string $text [, int $align = HaruPage::TALIGN_LEFT ] )

Prints the text inside the specified region.

Parameter-Liste

left

Left border of the text area.

top

Top border of the text area.

right

Right border of the text area.

bottom

Lower border of the text area.

text

The text to print.

align

Text alignment. Must be one of the following values:

  • HaruPage::TALIGN_LEFT
  • HaruPage::TALIGN_RIGHT
  • HaruPage::TALIGN_CENTER
  • HaruPage::TALIGN_JUSTIFY

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

Siehe auch

  • HaruPage::showTextNextLine() - Move the current position to the start of the next line and print the text
  • HaruPage::showText() - Print text at the current position of the page
  • HaruPage::textOut() - Print the text on the specified position

HaruPage::textOut
HaruFont
HaruPage


The HaruFont class

(PECL haru >= 0.0.1)

Einführung

Haru PDF Font Class.

Klassenbeschreibung

HaruFont {
/* Methoden */
int getAscent ( void )
int getCapHeight ( void )
int getDescent ( void )
string getEncodingName ( void )
string getFontName ( void )
array getTextWidth ( string $text )
int getUnicodeWidth ( int $character )
int getXHeight ( void )
int measureText ( string $text , float $width , float $font_size , float $char_space , float $word_space [, bool $word_wrap = false ] )
}

Inhaltsverzeichnis

  • HaruFont::getAscent — Get the vertical ascent of the font
  • HaruFont::getCapHeight — Get the distance from the baseline of uppercase letters
  • HaruFont::getDescent — Get the vertical descent of the font
  • HaruFont::getEncodingName — Get the name of the encoding
  • HaruFont::getFontName — Get the name of the font
  • HaruFont::getTextWidth — Get the total width of the text, number of characters, number of words and number of spaces
  • HaruFont::getUnicodeWidth — Get the width of the character in the font
  • HaruFont::getXHeight — Get the distance from the baseline of lowercase letters
  • HaruFont::measureText — Calculate the number of characters which can be included within the specified width
HaruPage::textRect
HaruFont::getAscent
haru


Get the vertical ascent of the font

HaruFont
HaruFont::getCapHeight
HaruFont
PHP Manual

HaruFont::getAscent

(PECL haru >= 0.0.1)

HaruFont::getAscent — Get the vertical ascent of the font

Beschreibung

int HaruFont::getAscent ( void )

Get the vertical ascent of the font.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the vertical ascent of the font.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruFont
HaruFont::getCapHeight
HaruFont


Get the distance from the baseline of uppercase letters

HaruFont::getAscent
HaruFont::getDescent
HaruFont
PHP Manual

HaruFont::getCapHeight

(PECL haru >= 0.0.1)

HaruFont::getCapHeight — Get the distance from the baseline of uppercase letters

Beschreibung

int HaruFont::getCapHeight ( void )

Get the distance from the baseline of uppercase letters.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the distance from the baseline of uppercase letters.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruFont::getAscent
HaruFont::getDescent
HaruFont


Get the vertical descent of the font

HaruFont::getCapHeight
HaruFont::getEncodingName
HaruFont
PHP Manual

HaruFont::getDescent

(PECL haru >= 0.0.1)

HaruFont::getDescent — Get the vertical descent of the font

Beschreibung

int HaruFont::getDescent ( void )

Get the vertical descent of the font.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Return the vertical descent of the font.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruFont::getCapHeight
HaruFont::getEncodingName
HaruFont


Get the name of the encoding

HaruFont::getDescent
HaruFont::getFontName
HaruFont
PHP Manual

HaruFont::getEncodingName

(PECL haru >= 0.0.1)

HaruFont::getEncodingName — Get the name of the encoding

Beschreibung

string HaruFont::getEncodingName ( void )

Get the name of the font encoding.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the name of the font encoding.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruFont::getDescent
HaruFont::getFontName
HaruFont


Get the name of the font

HaruFont::getEncodingName
HaruFont::getTextWidth
HaruFont
PHP Manual

HaruFont::getFontName

(PECL haru >= 0.0.1)

HaruFont::getFontName — Get the name of the font

Beschreibung

string HaruFont::getFontName ( void )

Get the name of the font.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the name of the font.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruFont::getEncodingName
HaruFont::getTextWidth
HaruFont


Get the total width of the text, number of characters, number of words and number of spaces

HaruFont::getFontName
HaruFont::getUnicodeWidth
HaruFont
PHP Manual

HaruFont::getTextWidth

(PECL haru >= 0.0.1)

HaruFont::getTextWidth — Get the total width of the text, number of characters, number of words and number of spaces

Beschreibung

array HaruFont::getTextWidth ( string $text )

Get the total width of the text, number of characters, number of words and number of spaces.

Parameter-Liste

text

The text to measure.

Rückgabewerte

Returns the total width of the text, number of characters, number of words and number of spaces in the given text.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruFont::getFontName
HaruFont::getUnicodeWidth
HaruFont


Get the width of the character in the font

HaruFont::getTextWidth
HaruFont::getXHeight
HaruFont
PHP Manual

HaruFont::getUnicodeWidth

(PECL haru >= 0.0.1)

HaruFont::getUnicodeWidth — Get the width of the character in the font

Beschreibung

int HaruFont::getUnicodeWidth ( int $character )

Get the width of the character in the font.

Parameter-Liste

character

The code of the character.

Rückgabewerte

Returns the width of the character in the font.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruFont::getTextWidth
HaruFont::getXHeight
HaruFont


Get the distance from the baseline of lowercase letters

HaruFont::getUnicodeWidth
HaruFont::measureText
HaruFont
PHP Manual

HaruFont::getXHeight

(PECL haru >= 0.0.1)

HaruFont::getXHeight — Get the distance from the baseline of lowercase letters

Beschreibung

int HaruFont::getXHeight ( void )

Gets the distance from the baseline of lowercase letters.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the distance from the baseline of lowercase letters.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruFont::getUnicodeWidth
HaruFont::measureText
HaruFont


Calculate the number of characters which can be included within the specified width

HaruFont::getXHeight
HaruImage
HaruFont
PHP Manual

HaruFont::measureText

(PECL haru >= 0.0.1)

HaruFont::measureText — Calculate the number of characters which can be included within the specified width

Beschreibung

int HaruFont::measureText ( string $text , float $width , float $font_size , float $char_space , float $word_space [, bool $word_wrap = false ] )

Calculate the number of characters which can be included within the specified width.

Parameter-Liste

text

The text to fit the width.

width

The width of the area to put the text to.

font_size

The size of the font.

char_space

The character spacing.

word_space

The word spacing.

word_wrap

When this parameter is set to TRUE the function "emulates" word wrapping and doesn't include the part of the current word if reached the end of the area.

Rückgabewerte

Returns the number of characters which can be included within the specified width.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruFont::getXHeight
HaruImage
HaruFont


The HaruImage class

(PECL haru >= 0.0.1)

Einführung

Haru PDF Image Class.

Klassenbeschreibung

HaruImage {
/* Methoden */
int getBitsPerComponent ( void )
string getColorSpace ( void )
int getHeight ( void )
array getSize ( void )
int getWidth ( void )
bool setColorMask ( int $rmin , int $rmax , int $gmin , int $gmax , int $bmin , int $bmax )
bool setMaskImage ( object $mask_image )
}

Inhaltsverzeichnis

  • HaruImage::getBitsPerComponent — Get the number of bits used to describe each color component of the image
  • HaruImage::getColorSpace — Get the name of the color space
  • HaruImage::getHeight — Get the height of the image
  • HaruImage::getSize — Get size of the image
  • HaruImage::getWidth — Get the width of the image
  • HaruImage::setColorMask — Set the color mask of the image
  • HaruImage::setMaskImage — Set the image mask
HaruFont::measureText
HaruImage::getBitsPerComponent
haru


Get the number of bits used to describe each color component of the image

HaruImage
HaruImage::getColorSpace
HaruImage
PHP Manual

HaruImage::getBitsPerComponent

(PECL haru >= 0.0.1)

HaruImage::getBitsPerComponent — Get the number of bits used to describe each color component of the image

Beschreibung

int HaruImage::getBitsPerComponent ( void )

Gets the number of bits used to describe each color component of the image.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the number of bits used to describe each color component of the image.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruImage
HaruImage::getColorSpace
HaruImage


Get the name of the color space

HaruImage::getBitsPerComponent
HaruImage::getHeight
HaruImage
PHP Manual

HaruImage::getColorSpace

(PECL haru >= 0.0.1)

HaruImage::getColorSpace — Get the name of the color space

Beschreibung

string HaruImage::getColorSpace ( void )

Get the name of the color space.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the name of the color space of the image. The name is one of the following values:

  • "DeviceGray"
  • "DeviceRGB"
  • "DeviceCMYK"
  • "Indexed"

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruImage::getBitsPerComponent
HaruImage::getHeight
HaruImage


Get the height of the image

HaruImage::getColorSpace
HaruImage::getSize
HaruImage
PHP Manual

HaruImage::getHeight

(PECL haru >= 0.0.1)

HaruImage::getHeight — Get the height of the image

Beschreibung

int HaruImage::getHeight ( void )

Get the height of the image.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the height of the image.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruImage::getColorSpace
HaruImage::getSize
HaruImage


Get size of the image

HaruImage::getHeight
HaruImage::getWidth
HaruImage
PHP Manual

HaruImage::getSize

(PECL haru >= 0.0.1)

HaruImage::getSize — Get size of the image

Beschreibung

array HaruImage::getSize ( void )

Get the size of the image.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array with two elements: width and height, which contain appropriate dimensions of the image.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruImage::getHeight
HaruImage::getWidth
HaruImage


Get the width of the image

HaruImage::getSize
HaruImage::setColorMask
HaruImage
PHP Manual

HaruImage::getWidth

(PECL haru >= 0.0.1)

HaruImage::getWidth — Get the width of the image

Beschreibung

int HaruImage::getWidth ( void )

Get the width of the image.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the width of the image.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruImage::getSize
HaruImage::setColorMask
HaruImage


Set the color mask of the image

HaruImage::getWidth
HaruImage::setMaskImage
HaruImage
PHP Manual

HaruImage::setColorMask

(PECL haru >= 0.0.1)

HaruImage::setColorMask — Set the color mask of the image

Beschreibung

bool HaruImage::setColorMask ( int $rmin , int $rmax , int $gmin , int $gmax , int $bmin , int $bmax )

Defines the transparent color of the image using the RGB range values. The color within the range is displayed as a transparent color. The color space of the image must be RGB.

Parameter-Liste

rmin

The lower limit of red. Must be between 0 and 255.

rmax

The upper limit of red. Must be between 0 and 255.

gmin

The lower limit of green. Must be between 0 and 255.

gmax

The upper limit of green. Must be between 0 and 255.

bmin

The lower limit of blue. Must be between 0 and 255.

bmax

The upper limit of blue. Must be between 0 and 255.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruImage::getWidth
HaruImage::setMaskImage
HaruImage


Set the image mask

HaruImage::setColorMask
HaruEncoder
HaruImage
PHP Manual

HaruImage::setMaskImage

(PECL haru >= 0.0.1)

HaruImage::setMaskImage — Set the image mask

Beschreibung

bool HaruImage::setMaskImage ( object $mask_image )

Sets the image used as image-mask. It must be 1bit gray-scale color image.

Parameter-Liste

mask_image

A valid HaruImage instance.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruImage::setColorMask
HaruEncoder
HaruImage


The HaruEncoder class

(PECL haru >= 0.0.1)

Einführung

Haru PDF Encoder Class.

Klassenbeschreibung

HaruEncoder {
/* Methoden */
int getByteType ( string $text , int $index )
int getType ( void )
int getUnicode ( int $character )
int getWritingMode ( void )
}

Vordefinierte Konstanten

Type | Name | Description
int | HaruEncoder::TYPE_SINGLE_BYTE |
int | HaruEncoder::TYPE_DOUBLE_BYTE |
int | HaruEncoder::TYPE_UNINITIALIZED |
int | HaruEncoder::UNKNOWN |
int | HaruEncoder::WMODE_HORIZONTAL |
int | HaruEncoder::WMODE_VERTICAL |
int | HaruEncoder::BYTE_TYPE_SINGLE |
int | HaruEncoder::BYTE_TYPE_LEAD |
int | HaruEncoder::BYTE_TYPE_TRAIL |
int | HaruEncoder::BYTE_TYPE_UNKNOWN |

Inhaltsverzeichnis

  • HaruEncoder::getByteType — Get the type of the byte in the text
  • HaruEncoder::getType — Get the type of the encoder
  • HaruEncoder::getUnicode — Convert the specified character to unicode
  • HaruEncoder::getWritingMode — Get the writing mode of the encoder
HaruImage::setMaskImage
HaruEncoder::getByteType
haru


Get the type of the byte in the text

HaruEncoder
HaruEncoder::getType
HaruEncoder
PHP Manual

HaruEncoder::getByteType

(PECL haru >= 0.0.1)

HaruEncoder::getByteType — Get the type of the byte in the text

Beschreibung

int HaruEncoder::getByteType ( string $text , int $index )

Get the type of the byte in the text.

Parameter-Liste

text

The text.

index

The position in the text.

Rückgabewerte

Returns the type of the byte in the text on the specified position. The result is one of the following values:

  • HaruEncoder::BYTE_TYPE_SINGLE - single byte character.
  • HaruEncoder::BYTE_TYPE_LEAD - lead byte of a double-byte character.
  • HaruEncoder::BYTE_TYPE_TRAIL - trailing byte of a double-byte character.
  • HaruEncoder::BYTE_TYPE_UNKNOWN - invalid encoder or cannot detect the byte type.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruEncoder
HaruEncoder::getType
HaruEncoder


Get the type of the encoder

HaruEncoder::getByteType
HaruEncoder::getUnicode
HaruEncoder
PHP Manual

HaruEncoder::getType

(PECL haru >= 0.0.1)

HaruEncoder::getType — Get the type of the encoder

Beschreibung

int HaruEncoder::getType ( void )

Get the type of the encoder.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the type of the encoder. The result is one of the following values:

  • HaruEncoder::TYPE_SINGLE_BYTE - the encoder is for single byte characters.
  • HaruEncoder::TYPE_DOUBLE_BYTE - the encoder is for multibyte characters.
  • HaruEncoder::TYPE_UNINITIALIZED - the encoder is not initialized.
  • HaruEncoder::UNKNOWN - the encoder is invalid.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruEncoder::getByteType
HaruEncoder::getUnicode
HaruEncoder


Convert the specified character to unicode

HaruEncoder::getType
HaruEncoder::getWritingMode
HaruEncoder
PHP Manual

HaruEncoder::getUnicode

(PECL haru >= 0.0.1)

HaruEncoder::getUnicode — Convert the specified character to unicode

Beschreibung

int HaruEncoder::getUnicode ( int $character )

Converts the specified character to unicode.

Parameter-Liste

character

The character code to convert.

Rückgabewerte

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruEncoder::getType
HaruEncoder::getWritingMode
HaruEncoder


Get the writing mode of the encoder

HaruEncoder::getUnicode
HaruOutline
HaruEncoder
PHP Manual

HaruEncoder::getWritingMode

(PECL haru >= 0.0.1)

HaruEncoder::getWritingMode — Get the writing mode of the encoder

Beschreibung

int HaruEncoder::getWritingMode ( void )

Get the writing mode of the encoder.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the writing mode of the encoder. The result value is on of the following:

  • HaruEncoder::WMODE_HORIZONTAL - horizontal writing mode.
  • HaruEncoder::WMODE_VERTICAL - vertical writing mode.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruEncoder::getUnicode
HaruOutline
HaruEncoder


The HaruOutline class

(PECL haru >= 0.0.1)

Einführung

Haru PDF Outline Class.

Klassenbeschreibung

HaruOutline {
/* Methoden */
bool setDestination ( object $destination )
bool setOpened ( bool $opened )
}

Inhaltsverzeichnis

  • HaruOutline::setDestination — Set the destination for the outline
  • HaruOutline::setOpened — Set the initial state of the outline
HaruEncoder::getWritingMode
HaruOutline::setDestination
haru


Set the destination for the outline

HaruOutline
HaruOutline::setOpened
HaruOutline
PHP Manual

HaruOutline::setDestination

(PECL haru >= 0.0.1)

HaruOutline::setDestination — Set the destination for the outline

Beschreibung

bool HaruOutline::setDestination ( object $destination )

Sets a destination object which becomes a target to jump to when the outline is clicked.

Parameter-Liste

destination

A valid HaruDestination instance.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruOutline
HaruOutline::setOpened
HaruOutline


Set the initial state of the outline

HaruOutline::setDestination
HaruAnnotation
HaruOutline
PHP Manual

HaruOutline::setOpened

(PECL haru >= 0.0.1)

HaruOutline::setOpened — Set the initial state of the outline

Beschreibung

bool HaruOutline::setOpened ( bool $opened )

Defines whether this node is opened or not when the outline is displayed for the first time.

Parameter-Liste

opened

TRUE means open, FALSE - closed.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruOutline::setDestination
HaruAnnotation
HaruOutline


The HaruAnnotation class

(PECL haru >= 0.0.1)

Einführung

Haru PDF Annotation Class.

Klassenbeschreibung

HaruAnnotation {
/* Methoden */
bool setBorderStyle ( float $width , int $dash_on , int $dash_off )
bool setHighlightMode ( int $mode )
bool setIcon ( int $icon )
bool setOpened ( bool $opened )
}

Vordefinierte Konstanten

Type | Name | Description
int | HaruAnnotation::NO_HIGHLIGHT |
int | HaruAnnotation::INVERT_BOX |
int | HaruAnnotation::INVERT_BORDER |
int | HaruAnnotation::DOWN_APPEARANCE |
int | HaruAnnotation::ICON_COMMENT |
int | HaruAnnotation::ICON_KEY |
int | HaruAnnotation::ICON_NOTE |
int | HaruAnnotation::ICON_HELP |
int | HaruAnnotation::ICON_NEW_PARAGRAPH |
int | HaruAnnotation::ICON_PARAGRAPH |
int | HaruAnnotation::ICON_INSERT |

Inhaltsverzeichnis

  • HaruAnnotation::setBorderStyle — Set the border style of the annotation
  • HaruAnnotation::setHighlightMode — Set the highlighting mode of the annotation
  • HaruAnnotation::setIcon — Set the icon style of the annotation
  • HaruAnnotation::setOpened — Set the initial state of the annotation
HaruOutline::setOpened
HaruAnnotation::setBorderStyle
haru


Set the border style of the annotation

HaruAnnotation
HaruAnnotation::setHighlightMode
HaruAnnotation
PHP Manual

HaruAnnotation::setBorderStyle

(PECL haru >= 0.0.1)

HaruAnnotation::setBorderStyle — Set the border style of the annotation

Beschreibung

bool HaruAnnotation::setBorderStyle ( float $width , int $dash_on , int $dash_off )

Defines the style of the border of the annotation. This function may be used with link annotations only.

Parameter-Liste

width

The width of the border line.

dash_on

The dash style.

dash_off

The dash style.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruAnnotation
HaruAnnotation::setHighlightMode
HaruAnnotation


Set the highlighting mode of the annotation

HaruAnnotation::setBorderStyle
HaruAnnotation::setIcon
HaruAnnotation
PHP Manual

HaruAnnotation::setHighlightMode

(PECL haru >= 0.0.1)

HaruAnnotation::setHighlightMode — Set the highlighting mode of the annotation

Beschreibung

bool HaruAnnotation::setHighlightMode ( int $mode )

Defines the appearance of the annotation when clicked. This function may be used with link annotations only.

Parameter-Liste

mode

The highlighting mode of the annotation. Can take only these values:

  • HaruAnnotation::NO_HIGHLIGHT - no highlighting.
  • HaruAnnotation::INVERT_BOX - invert the contents of the annotation.
  • HaruAnnotation::INVERT_BORDER - invert the border of the annotation.
  • HaruAnnotation::DOWN_APPEARANCE - dent the annotation.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruAnnotation::setBorderStyle
HaruAnnotation::setIcon
HaruAnnotation


Set the icon style of the annotation

HaruAnnotation::setHighlightMode
HaruAnnotation::setOpened
HaruAnnotation
PHP Manual

HaruAnnotation::setIcon

(PECL haru >= 0.0.1)

HaruAnnotation::setIcon — Set the icon style of the annotation

Beschreibung

bool HaruAnnotation::setIcon ( int $icon )

Defines the style of the annotation icon. This function may be used with text annotations only.

Parameter-Liste

icon

The style of the icon. Can take only these values:

  • HaruAnnotation::ICON_COMMENT
  • HaruAnnotation::ICON_KEY
  • HaruAnnotation::ICON_NOTE
  • HaruAnnotation::ICON_HELP
  • HaruAnnotation::ICON_NEW_PARAGRAPH
  • HaruAnnotation::ICON_PARAGRAPH
  • HaruAnnotation::ICON_INSERT

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruAnnotation::setHighlightMode
HaruAnnotation::setOpened
HaruAnnotation


Set the initial state of the annotation

HaruAnnotation::setIcon
HaruDestination
HaruAnnotation
PHP Manual

HaruAnnotation::setOpened

(PECL haru >= 0.0.1)

HaruAnnotation::setOpened — Set the initial state of the annotation

Beschreibung

bool HaruAnnotation::setOpened ( bool $opened )

Defines whether the annotation is initially displayed open. This function may be used with text annotations only.

Parameter-Liste

opened

TRUE means the annotation is initially displayed open, FALSE - means it's closed.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruAnnotation::setIcon
HaruDestination
HaruAnnotation


The HaruDestination class

(PECL haru >= 0.0.1)

Einführung

Haru PDF Destination Class.

Klassenbeschreibung

HaruDestination {
/* Methoden */
bool setFit ( void )
bool setFitB ( void )
bool setFitBH ( float $top )
bool setFitBV ( float $left )
bool setFitH ( float $top )
bool setFitR ( float $left , float $bottom , float $right , float $top )
bool setFitV ( float $left )
bool setXYZ ( float $left , float $top , float $zoom )
}

Inhaltsverzeichnis

  • HaruDestination::setFit — Set the appearance of the page to fit the window
  • HaruDestination::setFitB — Set the appearance of the page to fit the bounding box of the page within the window
  • HaruDestination::setFitBH — Set the appearance of the page to fit the width of the bounding box
  • HaruDestination::setFitBV — Set the appearance of the page to fit the height of the boudning box
  • HaruDestination::setFitH — Set the appearance of the page to fit the window width
  • HaruDestination::setFitR — Set the appearance of the page to fit the specified rectangle
  • HaruDestination::setFitV — Set the appearance of the page to fit the window height
  • HaruDestination::setXYZ — Set the appearance of the page
HaruAnnotation::setOpened
HaruDestination::setFit
haru


Set the appearance of the page to fit the window

HaruDestination
HaruDestination::setFitB
HaruDestination
PHP Manual

HaruDestination::setFit

(PECL haru >= 0.0.1)

HaruDestination::setFit — Set the appearance of the page to fit the window

Beschreibung

bool HaruDestination::setFit ( void )

Defines the appearance of the page to fit the window.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruDestination
HaruDestination::setFitB
HaruDestination


Set the appearance of the page to fit the bounding box of the page within the window

HaruDestination::setFit
HaruDestination::setFitBH
HaruDestination
PHP Manual

HaruDestination::setFitB

(PECL haru >= 0.0.1)

HaruDestination::setFitB — Set the appearance of the page to fit the bounding box of the page within the window

Beschreibung

bool HaruDestination::setFitB ( void )

Defines the appearance of the page to fit the bounding box of the page within the window.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruDestination::setFit
HaruDestination::setFitBH
HaruDestination


Set the appearance of the page to fit the width of the bounding box

HaruDestination::setFitB
HaruDestination::setFitBV
HaruDestination
PHP Manual

HaruDestination::setFitBH

(PECL haru >= 0.0.1)

HaruDestination::setFitBH — Set the appearance of the page to fit the width of the bounding box

Beschreibung

bool HaruDestination::setFitBH ( float $top )

Defines the appearance of the page to magnifying to fit the width of the bounding box and setting the top position of the page to the value of top.

Parameter-Liste

top

The top coordinates of the page.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruDestination::setFitB
HaruDestination::setFitBV
HaruDestination


Set the appearance of the page to fit the height of the boudning box

HaruDestination::setFitBH
HaruDestination::setFitH
HaruDestination
PHP Manual

HaruDestination::setFitBV

(PECL haru >= 0.0.1)

HaruDestination::setFitBV — Set the appearance of the page to fit the height of the boudning box

Beschreibung

bool HaruDestination::setFitBV ( float $left )

Defines the appearance of the page to magnifying to fit the height of the bounding box and setting the left position of the page to the value of left.

Parameter-Liste

left

The left coordinates of the page.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruDestination::setFitBH
HaruDestination::setFitH
HaruDestination


Set the appearance of the page to fit the window width

HaruDestination::setFitBV
HaruDestination::setFitR
HaruDestination
PHP Manual

HaruDestination::setFitH

(PECL haru >= 0.0.1)

HaruDestination::setFitH — Set the appearance of the page to fit the window width

Beschreibung

bool HaruDestination::setFitH ( float $top )

Defines the appearance of the page to fit the window width and sets the top position of the page to the value of top.

Parameter-Liste

top

The top position of the page.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruDestination::setFitBV
HaruDestination::setFitR
HaruDestination


Set the appearance of the page to fit the specified rectangle

HaruDestination::setFitH
HaruDestination::setFitV
HaruDestination
PHP Manual

HaruDestination::setFitR

(PECL haru >= 0.0.1)

HaruDestination::setFitR — Set the appearance of the page to fit the specified rectangle

Beschreibung

bool HaruDestination::setFitR ( float $left , float $bottom , float $right , float $top )

Defines the appearance of the page to fit the rectangle by the parameters.

Parameter-Liste

left

The left coordinates of the page.

bottom

The bottom coordinates of the page.

right

The right coordinates of the page.

top

The top coordinates of the page.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruDestination::setFitH
HaruDestination::setFitV
HaruDestination


Set the appearance of the page to fit the window height

HaruDestination::setFitR
HaruDestination::setXYZ
HaruDestination
PHP Manual

HaruDestination::setFitV

(PECL haru >= 0.0.1)

HaruDestination::setFitV — Set the appearance of the page to fit the window height

Beschreibung

bool HaruDestination::setFitV ( float $left )

Defines the appearance of the page to fit the window height.

Parameter-Liste

left

The left position of the page.

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruDestination::setFitR
HaruDestination::setXYZ
HaruDestination


Set the appearance of the page

HaruDestination::setFitV
Ming
HaruDestination
PHP Manual

HaruDestination::setXYZ

(PECL haru >= 0.0.1)

HaruDestination::setXYZ — Set the appearance of the page

Beschreibung

bool HaruDestination::setXYZ ( float $left , float $top , float $zoom )

Defines the appearance of the page using three parameters: left, top and zoom.

Parameter-Liste

left

The left position of the page.

top

The top position of the page.

zoom

The magnification factor. The value must be between 0.08 (8%) and 32 (3200%).

Rückgabewerte

Returns TRUE on success.

Fehler/Exceptions

Wirft eine HaruException bei Fehlern.

HaruDestination::setFitV
Ming
HaruDestination


Ming (flash)

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • SWFAction Examples
    • SWFSPrite basic examples
  • Ming Funktionen
    • ming_keypress — Returns the action flag for keyPress(char)
    • ming_setcubicthreshold — Set cubic threshold
    • ming_setscale — Set the global scaling factor.
    • ming_setswfcompression — Sets the SWF output compression
    • ming_useconstants — Use constant pool
    • ming_useswfversion — Sets the SWF version
  • SWFAction — The SWFAction class
    • SWFAction::__construct — Creates a new SWFAction
  • SWFBitmap — The SWFBitmap class
    • SWFBitmap::__construct — Loads Bitmap object
    • SWFBitmap::getHeight — Returns the bitmap's height
    • SWFBitmap::getWidth — Returns the bitmap's width
  • SWFButton — The SWFButton class
    • SWFButton::addAction — Adds an action
    • SWFButton::addASound — Associates a sound with a button transition
    • SWFButton::addShape — Adds a shape to a button
    • SWFButton::__construct — Creates a new Button
    • SWFButton::setAction — Sets the action
    • SWFButton::setDown — Alias for addShape(shape, SWFBUTTON_DOWN)
    • SWFButton::setHit — Alias for addShape(shape, SWFBUTTON_HIT)
    • SWFButton::setMenu — enable track as menu button behaviour
    • SWFButton::setOver — Alias for addShape(shape, SWFBUTTON_OVER)
    • SWFButton::setUp — Alias for addShape(shape, SWFBUTTON_UP)
  • SWFDisplayItem — The SWFDisplayItem class
    • SWFDisplayItem::addAction — Adds this SWFAction to the given SWFSprite instance
    • SWFDisplayItem::addColor — Adds the given color to this item's color transform
    • SWFDisplayItem::endMask — Another way of defining a MASK layer
    • SWFDisplayItem::getRot — Beschreibung
    • SWFDisplayItem::getX — Beschreibung
    • SWFDisplayItem::getXScale — Beschreibung
    • SWFDisplayItem::getXSkew — Beschreibung
    • SWFDisplayItem::getY — Beschreibung
    • SWFDisplayItem::getYScale — Beschreibung
    • SWFDisplayItem::getYSkew — Beschreibung
    • SWFDisplayItem::move — Moves object in relative coordinates
    • SWFDisplayItem::moveTo — Moves object in global coordinates
    • SWFDisplayItem::multColor — Multiplies the item's color transform
    • SWFDisplayItem::remove — Removes the object from the movie
    • SWFDisplayItem::rotate — Rotates in relative coordinates
    • SWFDisplayItem::rotateTo — Rotates the object in global coordinates
    • SWFDisplayItem::scale — Scales the object in relative coordinates
    • SWFDisplayItem::scaleTo — Scales the object in global coordinates
    • SWFDisplayItem::setDepth — Sets z-order
    • SWFDisplayItem::setMaskLevel — Defines a MASK layer at level
    • SWFDisplayItem::setMatrix — Sets the item's transform matrix
    • SWFDisplayItem::setName — Sets the object's name
    • SWFDisplayItem::setRatio — Sets the object's ratio
    • SWFDisplayItem::skewX — Sets the X-skew
    • SWFDisplayItem::skewXTo — Sets the X-skew
    • SWFDisplayItem::skewY — Sets the Y-skew
    • SWFDisplayItem::skewYTo — Sets the Y-skew
  • SWFFill — The SWFFill class
    • SWFFill::moveTo — Moves fill origin
    • SWFFill::rotateTo — Sets fill's rotation
    • SWFFill::scaleTo — Sets fill's scale
    • SWFFill::skewXTo — Sets fill x-skew
    • SWFFill::skewYTo — Sets fill y-skew
  • SWFFont — The SWFFont class
    • SWFFont::__construct — Loads a font definition
    • SWFFont::getAscent — Returns the ascent of the font, or 0 if not available
    • SWFFont::getDescent — Returns the descent of the font, or 0 if not available
    • SWFFont::getLeading — Returns the leading of the font, or 0 if not available
    • SWFFont::getShape — Returns the glyph shape of a char as a text string
    • SWFFont::getUTF8Width — Calculates the width of the given string in this font at full height
    • SWFFont::getWidth — Returns the string's width
  • SWFFontChar — The SWFFontChar class
    • SWFFontChar::addChars — Adds characters to a font for exporting font
    • SWFFontChar::addUTF8Chars — Adds characters to a font for exporting font
  • SWFGradient — The SWFGradient class
    • SWFGradient::addEntry — Adds an entry to the gradient list
    • SWFGradient::__construct — Creates a gradient object
  • SWFMorph — The SWFMorph class
    • SWFMorph::__construct — Creates a new SWFMorph object
    • SWFMorph::getShape1 — Gets a handle to the starting shape
    • SWFMorph::getShape2 — Gets a handle to the ending shape
  • SWFMovie — The SWFMovie class
    • SWFMovie::add — Adds any type of data to a movie
    • SWFMovie::addExport — Beschreibung
    • SWFMovie::addFont — Beschreibung
    • SWFMovie::__construct — Creates a new movie object, representing an SWF version 4 movie
    • SWFMovie::importChar — Beschreibung
    • SWFMovie::importFont — Beschreibung
    • SWFMovie::labelFrame — Labels a frame
    • SWFMovie::nextFrame — Moves to the next frame of the animation
    • SWFMovie::output — Dumps your lovingly prepared movie out
    • SWFMovie::remove — Removes the object instance from the display list
    • SWFMovie::save — Saves the SWF movie in a file
    • SWFMovie::saveToFile — Beschreibung
    • SWFMovie::setbackground — Sets the background color
    • SWFMovie::setDimension — Sets the movie's width and height
    • SWFMovie::setFrames — Sets the total number of frames in the animation
    • SWFMovie::setRate — Sets the animation's frame rate
    • SWFMovie::startSound — Beschreibung
    • SWFMovie::stopSound — Beschreibung
    • SWFMovie::streamMP3 — Streams a MP3 file
    • SWFMovie::writeExports — Beschreibung
  • SWFPrebuiltClip — The SWFPrebuiltClip class
    • SWFPrebuiltClip::__construct — Returns a SWFPrebuiltClip object
  • SWFShape — The SWFShape class
    • SWFShape::addFill — Adds a solid fill to the shape
    • SWFShape::__construct — Creates a new shape object
    • SWFShape::drawArc — Draws an arc of radius r centered at the current location, from angle startAngle to angle endAngle measured clockwise from 12 o'clock
    • SWFShape::drawCircle — Draws a circle of radius r centered at the current location, in a counter-clockwise fashion
    • SWFShape::drawCubic — Draws a cubic bezier curve using the current position and the three given points as control points
    • SWFShape::drawCubicTo — Draws a cubic bezier curve using the current position and the three given points as control points
    • SWFShape::drawCurve — Draws a curve (relative)
    • SWFShape::drawCurveTo — Draws a curve
    • SWFShape::drawGlyph — Draws the first character in the given string into the shape using the glyph definition from the given font
    • SWFShape::drawLine — Draws a line (relative)
    • SWFShape::drawLineTo — Draws a line
    • SWFShape::movePen — Moves the shape's pen (relative)
    • SWFShape::movePenTo — Moves the shape's pen
    • SWFShape::setLeftFill — Sets left rasterizing color
    • SWFShape::setLine — Sets the shape's line style
    • SWFShape::setRightFill — Sets right rasterizing color
  • SWFSound — The SWFSound class
    • SWFSound::__construct — Returns a new SWFSound object from given file
  • SWFSoundInstance — The SWFSoundInstance class
    • SWFSoundInstance::loopCount — Beschreibung
    • SWFSoundInstance::loopInPoint — Beschreibung
    • SWFSoundInstance::loopOutPoint — Beschreibung
    • SWFSoundInstance::noMultiple — Beschreibung
  • SWFSprite — The SWFSprite class
    • SWFSprite::add — Adds an object to a sprite
    • SWFSprite::__construct — Creates a movie clip (a sprite)
    • SWFSprite::labelFrame — Labels frame
    • SWFSprite::nextFrame — Moves to the next frame of the animation
    • SWFSprite::remove — Removes an object to a sprite
    • SWFSprite::setFrames — Sets the total number of frames in the animation
    • SWFSprite::startSound — Beschreibung
    • SWFSprite::stopSound — Beschreibung
  • SWFText — The SWFText class
    • SWFText::addString — Draws a string
    • SWFText::addUTF8String — Writes the given text into this SWFText object at the current pen position, using the current font, height, spacing, and color
    • SWFText::__construct — Creates a new SWFText object
    • SWFText::getAscent — Returns the ascent of the current font at its current size, or 0 if not available
    • SWFText::getDescent — Returns the descent of the current font at its current size, or 0 if not available
    • SWFText::getLeading — Returns the leading of the current font at its current size, or 0 if not available
    • SWFText::getUTF8Width — calculates the width of the given string in this text objects current font and size
    • SWFText::getWidth — Computes string's width
    • SWFText::moveTo — Moves the pen
    • SWFText::setColor — Sets the current text color
    • SWFText::setFont — Sets the current font
    • SWFText::setHeight — Sets the current font height
    • SWFText::setSpacing — Sets the current font spacing
  • SWFTextField — The SWFTextField class
    • SWFTextField::addChars — adds characters to a font that will be available within a textfield
    • SWFTextField::addString — Concatenates the given string to the text field
    • SWFTextField::align — Sets the text field alignment
    • SWFTextField::__construct — Creates a text field object
    • SWFTextField::setBounds — Sets the text field width and height
    • SWFTextField::setColor — Sets the color of the text field
    • SWFTextField::setFont — Sets the text field font
    • SWFTextField::setHeight — Sets the font height of this text field font
    • SWFTextField::setIndentation — Sets the indentation of the first line
    • SWFTextField::setLeftMargin — Sets the left margin width of the text field
    • SWFTextField::setLineSpacing — Sets the line spacing of the text field
    • SWFTextField::setMargins — Sets the margins width of the text field
    • SWFTextField::setName — Sets the variable name
    • SWFTextField::setPadding — Sets the padding of this textfield
    • SWFTextField::setRightMargin — Sets the right margin width of the text field
  • SWFVideoStream — The SWFVideoStream class
    • SWFVideoStream::__construct — Returns a SWFVideoStream object
    • SWFVideoStream::getNumFrames — Returns the number of frames in the video
    • SWFVideoStream::setDimension — Sets video dimension
HaruDestination::setXYZ
Einführung
Non-Text MIME-Ausgaben


Einführung

First of all: Ming is not an acronym. Ming is an open-source (LGPL) library which allows you to create SWF ("Flash") format movies. Ming supports almost all of Flash 4's features, including: shapes, gradients, bitmaps (pngs and jpegs), morphs ("shape tweens"), text, buttons, actions, sprites ("movie clips"), streaming mp3, and color transforms --the only thing that's missing is sound events.

Note that all values specifying length, distance, size, etc. are in "twips", twenty units per pixel. That's pretty much arbitrary, though, since the player scales the movie to whatever pixel size is specified in the embed/object tag, or the entire frame if not embedded.

Ming offers a number of advantages over the existing PHP/libswf module. You can use Ming anywhere you can compile the code, whereas libswf is closed-source and only available for a few platforms, Windows not one of them. Ming provides some insulation from the mundane details of the SWF file format, wrapping the movie elements in PHP objects. Also, Ming is still being maintained; if there's a feature that you want to see, just let us know at » http://www.libming.org/.

Warnung

Diese Erweiterung ist EXPERIMENTELL. Das Verhalten dieser Erweiterung, einschließlich der Funktionsnamen, und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Erweiterung auf eigenes Risiko.

Hinweis:

Diese Erweiterung wurde ins » PECL-Repositorium verschoben und ist nicht mehr Teil von PHP ab PHP 5.3.0.

Ming
Installation/Konfiguration
Ming


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Ming


Anforderungen

To use Ming with PHP, you first need to build and install the Ming library. Source code and installation instructions are available at the Ming home page: » http://www.libming.org/ along with examples, a small tutorial, and the latest news.

Download the ming archive. Unpack the archive. Go in the Ming directory. make. make install.

This will build libming.so and install it into /usr/lib/, and copy ming.h into /usr/include/. Edit the PREFIX= line in the Makefile to change the installation directory.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/ming.

Diese Erweiterung wurde ins » PECL-Repositorium verschoben und ist nicht mehr Teil von PHP ab PHP 5.3.0

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

MING_NEW (integer)
MING_ZLIB (integer)
SWFBUTTON_HIT (integer)
SWFBUTTON_DOWN (integer)
SWFBUTTON_OVER (integer)
SWFBUTTON_UP (integer)
SWFBUTTON_MOUSEUPOUTSIDE (integer)
SWFBUTTON_DRAGOVER (integer)
SWFBUTTON_DRAGOUT (integer)
SWFBUTTON_MOUSEUP (integer)
SWFBUTTON_MOUSEDOWN (integer)
SWFBUTTON_MOUSEOUT (integer)
SWFBUTTON_MOUSEOVER (integer)
SWFFILL_RADIAL_GRADIENT (integer)
SWFFILL_LINEAR_GRADIENT (integer)
SWFFILL_TILED_BITMAP (integer)
SWFFILL_CLIPPED_BITMAP (integer)
SWFTEXTFIELD_HASLENGTH (integer)
SWFTEXTFIELD_NOEDIT (integer)
SWFTEXTFIELD_PASSWORD (integer)
SWFTEXTFIELD_MULTILINE (integer)
SWFTEXTFIELD_WORDWRAP (integer)
SWFTEXTFIELD_DRAWBOX (integer)
SWFTEXTFIELD_NOSELECT (integer)
SWFTEXTFIELD_HTML (integer)
SWFTEXTFIELD_ALIGN_LEFT (integer)
SWFTEXTFIELD_ALIGN_RIGHT (integer)
SWFTEXTFIELD_ALIGN_CENTER (integer)
SWFTEXTFIELD_ALIGN_JUSTIFY (integer)
SWFACTION_ONLOAD (integer)
SWFACTION_ENTERFRAME (integer)
SWFACTION_UNLOAD (integer)
SWFACTION_MOUSEMOVE (integer)
SWFACTION_MOUSEDOWN (integer)
SWFACTION_MOUSEUP (integer)
SWFACTION_KEYDOWN (integer)
SWFACTION_KEYUP (integer)
SWFACTION_DATA (integer)
Ressource-Typen
Beispiele
Ming


Beispiele

Inhaltsverzeichnis

  • SWFAction Examples
  • SWFSPrite basic examples
Vordefinierte Konstanten
SWFAction Examples
Ming


SWFAction Examples

This simple example will move the red square across the window.

Beispiel #1 swfaction() example

<?php
  $s = new SWFShape();
  $f = $s->addFill(0xff, 0, 0);
  $s->setRightFill($f);

  $s->movePenTo(-500, -500);
  $s->drawLineTo(500, -500);
  $s->drawLineTo(500, 500);
  $s->drawLineTo(-500, 500);
  $s->drawLineTo(-500, -500);

  $p = new SWFSprite();
  $i = $p->add($s);
  $i->setDepth(1);
  $p->nextFrame();

  for ($n=0; $n<5; ++$n) {
    $i->rotate(-15);
    $p->nextFrame();
  }

  $m = new SWFMovie();
  $m->setBackground(0xff, 0xff, 0xff);
  $m->setDimension(6000, 4000);

  $i = $m->add($p);
  $i->setDepth(1);
  $i->moveTo(-500,2000);
  $i->setName("box");

  $m->add(new SWFAction("/box.x += 3;"));
  $m->nextFrame();
  $m->add(new SWFAction("gotoFrame(0); play();"));
  $m->nextFrame();

  header('Content-type: application/x-shockwave-flash');
  $m->output();
?>

This simple example tracks down your mouse on the screen.

Beispiel #2 swfaction() example

<?php

  $m = new SWFMovie();
  $m->setRate(36.0);
  $m->setDimension(1200, 800);
  $m->setBackground(0, 0, 0);

  /* mouse tracking sprite - empty, but follows mouse so we can
     get its x and y coordinates */

  $i = $m->add(new SWFSprite());
  $i->setName('mouse');

  $m->add(new SWFAction("
    startDrag('/mouse', 1); /* '1' means lock sprite to the mouse */
  "));

  /* might as well turn off antialiasing, since these are just squares. */

  $m->add(new SWFAction("
    this.quality = 0;
  "));

  /* morphing box */
  $r = new SWFMorph();
  $s = $r->getShape1();

  /* Note this is backwards from normal shapes.  No idea why. */
  $s->setLeftFill($s->addFill(0xff, 0xff, 0xff));
  $s->movePenTo(-40, -40);
  $s->drawLine(80, 0);
  $s->drawLine(0, 80);
  $s->drawLine(-80, 0);
  $s->drawLine(0, -80);

  $s = $r->getShape2();

  $s->setLeftFill($s->addFill(0x00, 0x00, 0x00));
  $s->movePenTo(-1, -1);
  $s->drawLine(2, 0);
  $s->drawLine(0, 2);
  $s->drawLine(-2, 0);
  $s->drawLine(0, -2);

  /* sprite container for morphing box -
     this is just a timeline w/ the box morphing */

  $box = new SWFSprite();
  $box->add(new SWFAction("
    stop();
  "));
  $i = $box->add($r);

  for ($n=0; $n<=20; ++$n) {
    $i->setRatio($n/20);
    $box->nextFrame();
  }

  /* this container sprite allows us to use the same action code many times */

  $cell = new SWFSprite();
  $i = $cell->add($box);
  $i->setName('box');

  $cell->add(new SWFAction("

    setTarget('box');

    /* ...x means the x coordinate of the parent, i.e. (..).x */
    dx = (/mouse.x + random(6)-3 - ...x)/5;
    dy = (/mouse.y + random(6)-3 - ...y)/5;
    gotoFrame(int(dx*dx + dy*dy));

  "));

  $cell->nextFrame();
  $cell->add(new SWFAction("

    gotoFrame(0);
    play();

  "));

  $cell->nextFrame();

  /* finally, add a bunch of the cells to the movie */

  for ($x=0; $x<12; ++$x) {
    for ($y=0; $y<8; ++$y) {
      $i = $m->add($cell);
      $i->moveTo(100*$x+50, 100*$y+50);
    }
  }

  $m->nextFrame();

  $m->add(new SWFAction("

    gotoFrame(1);
    play();

  "));

  header('Content-type: application/x-shockwave-flash');
  $m->output();
?>

Same as above, but with nice colored balls...

Beispiel #3 swfaction() example

<?php

  $m = new SWFMovie();
  $m->setDimension(11000, 8000);
  $m->setBackground(0x00, 0x00, 0x00);

  $m->add(new SWFAction("

this.quality = 0;
/frames.visible = 0;
startDrag('/mouse', 1);

  "));

  // mouse tracking sprite
  $t = new SWFSprite();
  $i = $m->add($t);
  $i->setName('mouse');

  $g = new SWFGradient();
  $g->addEntry(0, 0xff, 0xff, 0xff, 0xff);
  $g->addEntry(0.1, 0xff, 0xff, 0xff, 0xff);
  $g->addEntry(0.5, 0xff, 0xff, 0xff, 0x5f);
  $g->addEntry(1.0, 0xff, 0xff, 0xff, 0);

  // gradient shape thing
  $s = new SWFShape();
  $f = $s->addFill($g, SWFFILL_RADIAL_GRADIENT);
  $f->scaleTo(0.03);
  $s->setRightFill($f);
  $s->movePenTo(-600, -600);
  $s->drawLine(1200, 0);
  $s->drawLine(0, 1200);
  $s->drawLine(-1200, 0);
  $s->drawLine(0, -1200);

  // need to make this a sprite so we can multColor it
  $p = new SWFSprite();
  $p->add($s);
  $p->nextFrame();

  // put the shape in here, each frame a different color
  $q = new SWFSprite();
  $q->add(new SWFAction("gotoFrame(random(7)+1); stop();"));
  $i = $q->add($p);

  $i->multColor(1.0, 1.0, 1.0);
  $q->nextFrame();
  $i->multColor(1.0, 0.5, 0.5);
  $q->nextFrame();
  $i->multColor(1.0, 0.75, 0.5);
  $q->nextFrame();
  $i->multColor(1.0, 1.0, 0.5);
  $q->nextFrame();
  $i->multColor(0.5, 1.0, 0.5);
  $q->nextFrame();
  $i->multColor(0.5, 0.5, 1.0);
  $q->nextFrame();
  $i->multColor(1.0, 0.5, 1.0);
  $q->nextFrame();

  // finally, this one contains the action code
  $p = new SWFSprite();
  $i = $p->add($q);
  $i->setName('frames');
  $p->add(new SWFAction("

dx = (/:mousex-/:lastx)/3 + random(10)-5;
dy = (/:mousey-/:lasty)/3;
x = /:mousex;
y = /:mousey;
alpha = 100;

  "));
  $p->nextFrame();

  $p->add(new SWFAction("

this.x = x;
this.y = y;
this.alpha = alpha;
x += dx;
y += dy;
dy += 3;
alpha -= 8;

  "));
  $p->nextFrame();

  $p->add(new SWFAction("prevFrame(); play();"));
  $p->nextFrame();

  $i = $m->add($p);
  $i->setName('frames');
  $m->nextFrame();

  $m->add(new SWFAction("

lastx = mousex;
lasty = mousey;
mousex = /mouse.x;
mousey = /mouse.y;

++num;

if (num == 11)
  num = 1;

removeClip('char' & num);
duplicateClip(/frames, 'char' & num, num);

  "));

  $m->nextFrame();
  $m->add(new SWFAction("prevFrame(); play();"));

  header('Content-type: application/x-shockwave-flash');
  $m->output();
?>

Beispiele
SWFSPrite basic examples
Beispiele


SWFSPrite basic examples

This simple example will spin gracefully a big red square.

Beispiel #1 swfsprite() example

<?php
$s = new SWFShape();
$s->setRightFill($s->addFill(0xff, 0, 0));
$s->movePenTo(-500, -500);
$s->drawLineTo(500, -500);
$s->drawLineTo(500, 500);
$s->drawLineTo(-500, 500);
$s->drawLineTo(-500, -500);

$p = new SWFSprite();
$i = $p->add($s);
$p->nextFrame();
$i->rotate(15);
$p->nextFrame();
$i->rotate(15);
$p->nextFrame();
$i->rotate(15);
$p->nextFrame();
$i->rotate(15);
$p->nextFrame();
$i->rotate(15);
$p->nextFrame();

$m = new SWFMovie();
$i = $m->add($p);
$i->moveTo(1500, 1000);
$i->setName("blah");

$m->setBackground(0xff, 0xff, 0xff);
$m->setDimension(3000, 2000);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

SWFAction Examples
Ming Funktionen
Beispiele


Ming Funktionen

Inhaltsverzeichnis

  • ming_keypress — Returns the action flag for keyPress(char)
  • ming_setcubicthreshold — Set cubic threshold
  • ming_setscale — Set the global scaling factor.
  • ming_setswfcompression — Sets the SWF output compression
  • ming_useconstants — Use constant pool
  • ming_useswfversion — Sets the SWF version
SWFSPrite basic examples
ming_keypress
Ming


Returns the action flag for keyPress(char)

Ming Funktionen
ming_setcubicthreshold
Ming Funktionen
PHP Manual

ming_keypress

(PHP 5 <= 5.3.0, PECL ming SVN)

ming_keypress — Returns the action flag for keyPress(char)

Beschreibung

int ming_keypress ( string $char )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Ming Funktionen
ming_setcubicthreshold
Ming Funktionen


Set cubic threshold

ming_keypress
ming_setscale
Ming Funktionen
PHP Manual

ming_setcubicthreshold

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PECL ming SVN)

ming_setcubicthreshold — Set cubic threshold

Beschreibung

void ming_setcubicthreshold ( int $threshold )

Sets the threshold error for drawing cubic beziers.

Parameter-Liste

threshold

The Threshold. Lower is more accurate, hence larger file size.

Rückgabewerte

Es wird kein Wert zurückgegeben.

ming_keypress
ming_setscale
Ming Funktionen


Set the global scaling factor.

ming_setcubicthreshold
ming_setswfcompression
Ming Funktionen
PHP Manual

ming_setscale

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PECL ming SVN)

ming_setscale — Set the global scaling factor.

Beschreibung

void ming_setscale ( float $scale )

Sets the scale of the output SWF. Inside the SWF file, coordinates are measured in TWIPS, rather than PIXELS. There are 20 TWIPS in 1 pixel.

Parameter-Liste

scale

The scale to be set.

Rückgabewerte

Es wird kein Wert zurückgegeben.

ming_setcubicthreshold
ming_setswfcompression
Ming Funktionen


Sets the SWF output compression

ming_setscale
ming_useconstants
Ming Funktionen
PHP Manual

ming_setswfcompression

(PHP 5.2.1-5.3.0, PHP 7, PECL ming SVN)

ming_setswfcompression — Sets the SWF output compression

Beschreibung

void ming_setswfcompression ( int $level )

Sets the SWF output compression level.

Parameter-Liste

level

The new compression level. Should be a value between 1 and 9 inclusive.

Rückgabewerte

Es wird kein Wert zurückgegeben.

ming_setscale
ming_useconstants
Ming Funktionen


Use constant pool

ming_setswfcompression
ming_useswfversion
Ming Funktionen
PHP Manual

ming_useconstants

(PHP 5 <= 5.3.0, PECL ming SVN)

ming_useconstants — Use constant pool

Beschreibung

void ming_useconstants ( int $use )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Rückgabewerte

Es wird kein Wert zurückgegeben.

ming_setswfcompression
ming_useswfversion
Ming Funktionen


Sets the SWF version

ming_useconstants
SWFAction
Ming Funktionen
PHP Manual

ming_useswfversion

(PHP 4 >= 4.2.0, PHP 5 <= 5.3.0, PECL ming SVN)

ming_useswfversion — Sets the SWF version

Beschreibung

void ming_useswfversion ( int $version )

Sets the SWF version to be used in the movie. This affect the bahaviour of Action Script.

Parameter-Liste

version

SWF version to use.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ming_useswfversion() example

<?php

$movie = new SWFMovie();
ming_useswfversion(4); // Flash 4

?>

ming_useconstants
SWFAction
Ming Funktionen


The SWFAction class

(PHP 5 <= 5.3.0, PECL ming SVN)

Einführung

SWFAction.

Klassenbeschreibung

SWFAction {
/* Methoden */
__construct ( string $script )
}

Beschreibung

The script syntax is based on the C language, but with a lot taken out- the SWF bytecode machine is just too simpleminded to do a lot of things we might like. For instance, we can't implement function calls without a tremendous amount of hackery because the jump bytecode has a hardcoded offset value. No pushing your calling address to the stack and returning- every function would have to know exactly where to return to.

So what's left? The compiler recognises the following tokens:

  • break
  • for
  • continue
  • if
  • else
  • do
  • while

There is no typed data; all values in the SWF action machine are stored as strings. The following functions can be used in expressions:

time()
Returns the number of milliseconds (?) elapsed since the movie started.
random(seed)
Returns a pseudo-random number in the range 0-seed.
length(expr)
Returns the length of the given expression.
int(number)
Returns the given number rounded down to the nearest integer.
concat(expr, expr)
Returns the concatenation of the given expressions.
ord(expr)
Returns the ASCII code for the given character
chr(num)
Returns the character for the given ASCII code
substr(string, location, length)
Returns the substring of length length at location location of the given string string.

Additionally, the following commands may be used:

duplicateClip(clip, name, depth)
Duplicate the named movie clip (aka sprite). The new movie clip has name name and is at depth depth.
removeClip(expr)
Removes the named movie clip.
trace(expr)
Write the given expression to the trace log. Doubtful that the browser plugin does anything with this.
startDrag(target, lock, [left, top, right, bottom])
Start dragging the movie clip target. The lock argument indicates whether to lock the mouse (?)- use 0 (FALSE) or 1 (TRUE). Optional parameters define a bounding area for the dragging.
stopDrag()
Stop dragging my heart around. And this movie clip, too.
callFrame(expr)
Call the named frame as a function.
getURL(url, target, [method])
Load the given URL into the named target. The target argument corresponds to HTML document targets (such as "_top" or "_blank"). The optional method argument can be POST or GET if you want to submit variables back to the server.
loadMovie(url, target)
Load the given URL into the named target. The target argument can be a frame name (I think), or one of the magical values "_level0" (replaces current movie) or "_level1" (loads new movie on top of current movie).
nextFrame()
Go to the next frame.
prevFrame()
Go to the last (or, rather, previous) frame.
play()
Start playing the movie.
stop()
Stop playing the movie.
toggleQuality()
Toggle between high and low quality.
stopSounds()
Stop playing all sounds.
gotoFrame(num)
Go to frame number num. Frame numbers start at 0.
gotoFrame(name)
Go to the frame named name. Which does a lot of good, since I haven't added frame labels yet.
setTarget(expr)
Sets the context for action. Or so they say- I really have no idea what this does.
And there's one weird extra thing. The expression frameLoaded(num) can be used in if statements and while loops to check if the given frame number has been loaded yet. Well, it's supposed to, anyway, but I've never tested it and I seriously doubt it actually works. You can just use /:framesLoaded instead.

Movie clips (all together now- aka sprites) have properties. You can read all of them (or can you?), you can set some of them, and here they are:

  • x
  • y
  • xScale
  • yScale
  • currentFrame - (read-only)
  • totalFrames - (read-only)
  • alpha - transparency level
  • visible - 1=on, 0=off (?)
  • width - (read-only)
  • height - (read-only)
  • rotation
  • target - (read-only) (???)
  • framesLoaded - (read-only)
  • name
  • dropTarget - (read-only) (???)
  • url - (read-only) (???)
  • highQuality - 1=high, 0=low (?)
  • focusRect - (???)
  • soundBufTime - (???)
So, setting a sprite's x position is as simple as /box.x = 100;. Why the slash in front of the box, though? That's how flash keeps track of the sprites in the movie, just like a Unix filesystem- here it shows that box is at the top level. If the sprite named box had another sprite named biff inside of it, you'd set its x position with /box/biff.x = 100;. At least, I think so; correct me if I'm wrong here.

Inhaltsverzeichnis

  • SWFAction::__construct — Creates a new SWFAction
ming_useswfversion
SWFAction::__construct
Ming


Creates a new SWFAction

SWFAction
SWFBitmap
SWFAction
PHP Manual

SWFAction::__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFAction::__construct — Creates a new SWFAction

Beschreibung

SWFAction::__construct ( string $script )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Creates a new SWFAction and compiles the given script in it.

Parameter-Liste

script

An ActionScript snippet to associate with the SWFAction. See SWFAction for more details.

SWFAction
SWFBitmap
SWFAction


The SWFBitmap class

(PHP 5 <= 5.3.0, PECL ming SVN)

Einführung

SWFBitmap.

Klassenbeschreibung

SWFBitmap {
/* Methoden */
__construct ( mixed $file [, mixed $alphafile ] )
float getHeight ( void )
float getWidth ( void )
}

Inhaltsverzeichnis

  • SWFBitmap::__construct — Loads Bitmap object
  • SWFBitmap::getHeight — Returns the bitmap's height
  • SWFBitmap::getWidth — Returns the bitmap's width
SWFAction::__construct
SWFBitmap::__construct
Ming


Loads Bitmap object

SWFBitmap
SWFBitmap::getHeight
SWFBitmap
PHP Manual

SWFBitmap::__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFBitmap::__construct — Loads Bitmap object

Beschreibung

SWFBitmap::__construct ( mixed $file [, mixed $alphafile ] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Creates the new SWFBitmap object from the given file.

Parameter-Liste

For both parameters you can provide a file pointer returned by fopen() or the image data, as a binary string.

file

Hinweis:

We can only deal with baseline (frame 0) jpegs, no baseline optimized or progressive scan jpegs!

You can't import png images directly, though- have to use the png2dbl utility to make a dbl ("define bits lossless") file from the png. The reason for this is that I don't want a dependency on the png library in ming- autoconf should solve this, but that's not set up yet.

alphafile

An MSK file to be used as an alpha mask for a JPEG image.

Beispiele

Beispiel #1 Importing a DBL file

<?php
$s = new SWFShape();
$f = $s->addFill(new SWFBitmap(file_get_contents("image.dbl")));
$s->setRightFill($f);

$s->drawLine(32, 0);
$s->drawLine(0, 32);
$s->drawLine(-32, 0);
$s->drawLine(0, -32);

$m = new SWFMovie();
$m->setDimension(32, 32);
$m->add($s);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

Beispiel #2 Using an alpha mask

<?php

$s = new SWFShape();

// .msk file generated with "gif2mask" utility
$f = $s->addFill(new SWFBitmap(file_get_contents("alphafill.jpg"), file_get_contents("alphafill.msk")));
$s->setRightFill($f);

$s->drawLine(640, 0);
$s->drawLine(0, 480);
$s->drawLine(-640, 0);
$s->drawLine(0, -480);

$c = new SWFShape();
$c->setRightFill($c->addFill(0x99, 0x99, 0x99));
$c->drawLine(40, 0);
$c->drawLine(0, 40);
$c->drawLine(-40, 0);
$c->drawLine(0, -40);

$m = new SWFMovie();
$m->setDimension(640, 480);
$m->setBackground(0xcc, 0xcc, 0xcc);

// draw checkerboard background
for ($y=0; $y<480; $y+=40) {
  for ($x=0; $x<640; $x+=80) {
    $i = $m->add($c);
    $i->moveTo($x, $y);
  }

  $y+=40;

  for ($x=40; $x<640; $x+=80) {
    $i = $m->add($c);
    $i->moveTo($x, $y);
  }
}

$m->add($s);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

SWFBitmap
SWFBitmap::getHeight
SWFBitmap


Returns the bitmap's height

SWFBitmap::__construct
SWFBitmap::getWidth
SWFBitmap
PHP Manual

SWFBitmap::getHeight

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFBitmap::getHeight — Returns the bitmap's height

Beschreibung

float SWFBitmap::getHeight ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Returns the bitmap's height.

Rückgabewerte

Returns the bitmap height in pixels.

Siehe auch

  • SWFBitmap::getWidth() - Returns the bitmap's width

SWFBitmap::__construct
SWFBitmap::getWidth
SWFBitmap


Returns the bitmap's width

SWFBitmap::getHeight
SWFButton
SWFBitmap
PHP Manual

SWFBitmap::getWidth

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFBitmap::getWidth — Returns the bitmap's width

Beschreibung

float SWFBitmap::getWidth ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Returns the bitmap's width.

Rückgabewerte

Returns the bitmap width in pixels.

Siehe auch

  • SWFBitmap::getHeight() - Returns the bitmap's height

SWFBitmap::getHeight
SWFButton
SWFBitmap


The SWFButton class

(PHP 5 <= 5.3.0, PECL ming SVN)

Einführung

SWFButton.

Klassenbeschreibung

SWFButton {
/* Methoden */
void addAction ( SWFAction $action , int $flags )
SWFSoundInstance addASound ( SWFSound $sound , int $flags )
void addShape ( SWFShape $shape , int $flags )
__construct ( void )
void setAction ( SWFAction $action )
void setDown ( SWFShape $shape )
void setHit ( SWFShape $shape )
void setMenu ( int $flag )
void setOver ( SWFShape $shape )
void setUp ( SWFShape $shape )
}

Inhaltsverzeichnis

  • SWFButton::addAction — Adds an action
  • SWFButton::addASound — Associates a sound with a button transition
  • SWFButton::addShape — Adds a shape to a button
  • SWFButton::__construct — Creates a new Button
  • SWFButton::setAction — Sets the action
  • SWFButton::setDown — Alias for addShape(shape, SWFBUTTON_DOWN)
  • SWFButton::setHit — Alias for addShape(shape, SWFBUTTON_HIT)
  • SWFButton::setMenu — enable track as menu button behaviour
  • SWFButton::setOver — Alias for addShape(shape, SWFBUTTON_OVER)
  • SWFButton::setUp — Alias for addShape(shape, SWFBUTTON_UP)
SWFBitmap::getWidth
SWFButton::addAction
Ming


Adds an action

SWFButton
SWFButton::addASound
SWFButton
PHP Manual

SWFButton::addAction

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFButton::addAction — Adds an action

Beschreibung

void SWFButton::addAction ( SWFAction $action , int $flags )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Adds the given action to the button for the given conditions.

Parameter-Liste

action

An SWFAction, returned by SWFAction::__construct().

flags

The following flags are valid: SWFBUTTON_MOUSEOVER, SWFBUTTON_MOUSEOUT, SWFBUTTON_MOUSEUP, SWFBUTTON_MOUSEUPOUTSIDE, SWFBUTTON_MOUSEDOWN, SWFBUTTON_DRAGOUT and SWFBUTTON_DRAGOVER.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SWFButton::addShape() - Adds a shape to a button
  • SWFAction

SWFButton
SWFButton::addASound
SWFButton


Associates a sound with a button transition

SWFButton::addAction
SWFButton::addShape
SWFButton
PHP Manual

SWFButton::addASound

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFButton::addASound — Associates a sound with a button transition

Beschreibung

SWFSoundInstance SWFButton::addASound ( SWFSound $sound , int $flags )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

SWFButton::addAction
SWFButton::addShape
SWFButton


Adds a shape to a button

SWFButton::addASound
SWFButton::__construct
SWFButton
PHP Manual

SWFButton::addShape

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFButton::addShape — Adds a shape to a button

Beschreibung

void SWFButton::addShape ( SWFShape $shape , int $flags )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Adds the given shape to the button.

Parameter-Liste

shape

An SWFShape instance

flags

The following flags are valid: SWFBUTTON_UP, SWFBUTTON_OVER, SWFBUTTON_DOWN and SWFBUTTON_HIT.

SWFBUTTON_HIT isn't ever displayed, it defines the hit region for the button. That is, everywhere the hit shape would be drawn is considered a "touchable" part of the button.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFButton::addASound
SWFButton::__construct
SWFButton


Creates a new Button

SWFButton::addShape
SWFButton::setAction
SWFButton
PHP Manual

SWFButton::__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFButton::__construct — Creates a new Button

Beschreibung

SWFButton::__construct ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Creates a new Button.

Beispiele

This simple example will show your usual interactions with buttons : rollover, rollon, mouseup, mousedown, noaction.

Beispiel #1 Usual interactions with buttons

<?php

$f = new SWFFont("_serif");

$p = new SWFSprite();

function label($string)
{
  global $f;

  $t = new SWFTextField();
  $t->setFont($f);
  $t->addString($string);
  $t->setHeight(200);
  $t->setBounds(3200, 200);
  return $t;
}

function addLabel($string)
{
  global $p;

  $i = $p->add(label($string));
  $p->nextFrame();
  $p->remove($i);
}

$p->add(new SWFAction("stop();"));
addLabel("NO ACTION");
addLabel("SWFBUTTON_MOUSEUP");
addLabel("SWFBUTTON_MOUSEDOWN");
addLabel("SWFBUTTON_MOUSEOVER");
addLabel("SWFBUTTON_MOUSEOUT");
addLabel("SWFBUTTON_MOUSEUPOUTSIDE");
addLabel("SWFBUTTON_DRAGOVER");
addLabel("SWFBUTTON_DRAGOUT");

function rect($r, $g, $b)
{
  $s = new SWFShape();
  $s->setRightFill($s->addFill($r, $g, $b));
  $s->drawLine(600, 0);
  $s->drawLine(0, 600);
  $s->drawLine(-600, 0);
  $s->drawLine(0, -600);

  return $s;
}

$b = new SWFButton();
$b->addShape(rect(0xff, 0, 0), SWFBUTTON_UP | SWFBUTTON_HIT);
$b->addShape(rect(0, 0xff, 0), SWFBUTTON_OVER);
$b->addShape(rect(0, 0, 0xff), SWFBUTTON_DOWN);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(1);"),
          SWFBUTTON_MOUSEUP);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(2);"),
      SWFBUTTON_MOUSEDOWN);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(3);"),
      SWFBUTTON_MOUSEOVER);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(4);"),
      SWFBUTTON_MOUSEOUT);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(5);"),
      SWFBUTTON_MOUSEUPOUTSIDE);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(6);"),
      SWFBUTTON_DRAGOVER);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(7);"),
      SWFBUTTON_DRAGOUT);

$m = new SWFMovie();
$m->setDimension(4000, 3000);

$i = $m->add($p);
$i->setName("label");
$i->moveTo(400, 1900);

$i = $m->add($b);
$i->moveTo(400, 900);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

This simple example will enables you to drag draw a big red button on the windows. No drag-and-drop, just moving around.

Beispiel #2 Drag example

<?php

$s = new SWFShape();
$s->setRightFill($s->addFill(0xff, 0, 0));
$s->drawLine(1000,0);
$s->drawLine(0,1000);
$s->drawLine(-1000,0);
$s->drawLine(0,-1000);

$b = new SWFButton();
$b->addShape($s, SWFBUTTON_HIT | SWFBUTTON_UP | SWFBUTTON_DOWN | SWFBUTTON_OVER);

$b->addAction(new SWFAction("startDrag('/test', 0);"), // '0' means don't lock to mouse
      SWFBUTTON_MOUSEDOWN);

$b->addAction(new SWFAction("stopDrag();"),
      SWFBUTTON_MOUSEUP | SWFBUTTON_MOUSEUPOUTSIDE);

$p = new SWFSprite();
$p->add($b);
$p->nextFrame();

$m = new SWFMovie();
$i = $m->add($p);
$i->setName('test');
$i->moveTo(1000,1000);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

SWFButton::addShape
SWFButton::setAction
SWFButton


Sets the action

SWFButton::__construct
SWFButton::setDown
SWFButton
PHP Manual

SWFButton::setAction

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFButton::setAction — Sets the action

Beschreibung

void SWFButton::setAction ( SWFAction $action )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Sets the action to be performed when the button is clicked.

This is a shortcut for SWFButton::addAction() called with the SWFBUTTON_MOUSEUP flag.

Parameter-Liste

action

An SWFAction, returned by SWFAction::__construct().

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SWFButton::addAction() - Adds an action
  • SWFAction

SWFButton::__construct
SWFButton::setDown
SWFButton


Alias for addShape(shape, SWFBUTTON_DOWN)

SWFButton::setAction
SWFButton::setHit
SWFButton
PHP Manual

SWFButton::setDown

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFButton::setDown — Alias for addShape(shape, SWFBUTTON_DOWN)

Beschreibung

void SWFButton::setDown ( SWFShape $shape )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swfbutton::setdown() alias for addShape(shape, SWFBUTTON_DOWN).

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SWFButton::addShape() - Adds a shape to a button
  • SWFAction

SWFButton::setAction
SWFButton::setHit
SWFButton


Alias for addShape(shape, SWFBUTTON_HIT)

SWFButton::setDown
SWFButton::setMenu
SWFButton
PHP Manual

SWFButton::setHit

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFButton::setHit — Alias for addShape(shape, SWFBUTTON_HIT)

Beschreibung

void SWFButton::setHit ( SWFShape $shape )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swfbutton::sethit() alias for addShape(shape, SWFBUTTON_HIT).

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SWFButton::addShape() - Adds a shape to a button
  • SWFAction

SWFButton::setDown
SWFButton::setMenu
SWFButton


enable track as menu button behaviour

SWFButton::setHit
SWFButton::setOver
SWFButton
PHP Manual

SWFButton::setMenu

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFButton::setMenu — enable track as menu button behaviour

Beschreibung

void SWFButton::setMenu ( int $flag )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

flag

This parameter can be used for a slight different behavior of buttons. You can set it to 0 (off) or 1 (on).

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFButton::setHit
SWFButton::setOver
SWFButton


Alias for addShape(shape, SWFBUTTON_OVER)

SWFButton::setMenu
SWFButton::setUp
SWFButton
PHP Manual

SWFButton::setOver

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFButton::setOver — Alias for addShape(shape, SWFBUTTON_OVER)

Beschreibung

void SWFButton::setOver ( SWFShape $shape )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swfbutton::setover() alias for addShape(shape, SWFBUTTON_OVER).

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SWFButton::addShape() - Adds a shape to a button
  • SWFAction

SWFButton::setMenu
SWFButton::setUp
SWFButton


Alias for addShape(shape, SWFBUTTON_UP)

SWFButton::setOver
SWFDisplayItem
SWFButton
PHP Manual

SWFButton::setUp

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFButton::setUp — Alias for addShape(shape, SWFBUTTON_UP)

Beschreibung

void SWFButton::setUp ( SWFShape $shape )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swfbutton::setup() alias for addShape(shape, SWFBUTTON_UP).

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SWFButton::addShape() - Adds a shape to a button
  • SWFAction

SWFButton::setOver
SWFDisplayItem
SWFButton


The SWFDisplayItem class

(PHP 5 <= 5.3.0, PECL ming SVN)

Einführung

SWFDisplayItem.

Klassenbeschreibung

SWFDisplayItem {
/* Methoden */
void addAction ( SWFAction $action , int $flags )
void addColor ( int $red , int $green , int $blue [, int $a ] )
void endMask ( void )
float getRot ( void )
float getX ( void )
float getXScale ( void )
float getXSkew ( void )
float getY ( void )
float getYScale ( void )
float getYSkew ( void )
void move ( float $dx , float $dy )
void moveTo ( float $x , float $y )
void multColor ( float $red , float $green , float $blue [, float $a ] )
void remove ( void )
void rotate ( float $angle )
void rotateTo ( float $angle )
void scale ( float $dx , float $dy )
void scaleTo ( float $x [, float $y ] )
void setDepth ( int $depth )
void setMaskLevel ( int $level )
void setMatrix ( float $a , float $b , float $c , float $d , float $x , float $y )
void setName ( string $name )
void setRatio ( float $ratio )
void skewX ( float $ddegrees )
void skewXTo ( float $degrees )
void skewY ( float $ddegrees )
void skewYTo ( float $degrees )
}

Inhaltsverzeichnis

  • SWFDisplayItem::addAction — Adds this SWFAction to the given SWFSprite instance
  • SWFDisplayItem::addColor — Adds the given color to this item's color transform
  • SWFDisplayItem::endMask — Another way of defining a MASK layer
  • SWFDisplayItem::getRot — Beschreibung
  • SWFDisplayItem::getX — Beschreibung
  • SWFDisplayItem::getXScale — Beschreibung
  • SWFDisplayItem::getXSkew — Beschreibung
  • SWFDisplayItem::getY — Beschreibung
  • SWFDisplayItem::getYScale — Beschreibung
  • SWFDisplayItem::getYSkew — Beschreibung
  • SWFDisplayItem::move — Moves object in relative coordinates
  • SWFDisplayItem::moveTo — Moves object in global coordinates
  • SWFDisplayItem::multColor — Multiplies the item's color transform
  • SWFDisplayItem::remove — Removes the object from the movie
  • SWFDisplayItem::rotate — Rotates in relative coordinates
  • SWFDisplayItem::rotateTo — Rotates the object in global coordinates
  • SWFDisplayItem::scale — Scales the object in relative coordinates
  • SWFDisplayItem::scaleTo — Scales the object in global coordinates
  • SWFDisplayItem::setDepth — Sets z-order
  • SWFDisplayItem::setMaskLevel — Defines a MASK layer at level
  • SWFDisplayItem::setMatrix — Sets the item's transform matrix
  • SWFDisplayItem::setName — Sets the object's name
  • SWFDisplayItem::setRatio — Sets the object's ratio
  • SWFDisplayItem::skewX — Sets the X-skew
  • SWFDisplayItem::skewXTo — Sets the X-skew
  • SWFDisplayItem::skewY — Sets the Y-skew
  • SWFDisplayItem::skewYTo — Sets the Y-skew
SWFButton::setUp
SWFDisplayItem::addAction
Ming


Adds this SWFAction to the given SWFSprite instance

SWFDisplayItem
SWFDisplayItem::addColor
SWFDisplayItem
PHP Manual

SWFDisplayItem::addAction

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::addAction — Adds this SWFAction to the given SWFSprite instance

Beschreibung

void SWFDisplayItem::addAction ( SWFAction $action , int $flags )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

action

An SWFAction, returned by SWFAction::__construct().

flags

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SWFAction

SWFDisplayItem
SWFDisplayItem::addColor
SWFDisplayItem


Adds the given color to this item's color transform

SWFDisplayItem::addAction
SWFDisplayItem::endMask
SWFDisplayItem
PHP Manual

SWFDisplayItem::addColor

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::addColor — Adds the given color to this item's color transform

Beschreibung

void SWFDisplayItem::addColor ( int $red , int $green , int $blue [, int $a ] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swfdisplayitem::addcolor() adds the color to this item's color transform. The color is given in its RGB form.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie::add().

Rückgabewerte

Es wird kein Wert zurückgegeben.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFDisplayItem::addAction
SWFDisplayItem::endMask
SWFDisplayItem


Another way of defining a MASK layer

SWFDisplayItem::addColor
SWFDisplayItem::getRot
SWFDisplayItem
PHP Manual

SWFDisplayItem::endMask

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::endMask — Another way of defining a MASK layer

Beschreibung

void SWFDisplayItem::endMask ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFDisplayItem::addColor
SWFDisplayItem::getRot
SWFDisplayItem


SWFDisplayItem::endMask
SWFDisplayItem::getX
SWFDisplayItem
PHP Manual

SWFDisplayItem::getRot

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::getRot —

Beschreibung

float SWFDisplayItem::getRot ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

SWFDisplayItem::endMask
SWFDisplayItem::getX
SWFDisplayItem


SWFDisplayItem::getRot
SWFDisplayItem::getXScale
SWFDisplayItem
PHP Manual

SWFDisplayItem::getX

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::getX —

Beschreibung

float SWFDisplayItem::getX ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Siehe auch

  • SWFDisplayItem::getY() - Beschreibung

SWFDisplayItem::getRot
SWFDisplayItem::getXScale
SWFDisplayItem


SWFDisplayItem::getX
SWFDisplayItem::getXSkew
SWFDisplayItem
PHP Manual

SWFDisplayItem::getXScale

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::getXScale —

Beschreibung

float SWFDisplayItem::getXScale ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Siehe auch

  • SWFDisplayItem::getYScale() - Beschreibung

SWFDisplayItem::getX
SWFDisplayItem::getXSkew
SWFDisplayItem


SWFDisplayItem::getXScale
SWFDisplayItem::getY
SWFDisplayItem
PHP Manual

SWFDisplayItem::getXSkew

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::getXSkew —

Beschreibung

float SWFDisplayItem::getXSkew ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Siehe auch

  • SWFDisplayItem::getYSkew() - Beschreibung

SWFDisplayItem::getXScale
SWFDisplayItem::getY
SWFDisplayItem


SWFDisplayItem::getXSkew
SWFDisplayItem::getYScale
SWFDisplayItem
PHP Manual

SWFDisplayItem::getY

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::getY —

Beschreibung

float SWFDisplayItem::getY ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Siehe auch

  • SWFDisplayItem::getX() - Beschreibung

SWFDisplayItem::getXSkew
SWFDisplayItem::getYScale
SWFDisplayItem


SWFDisplayItem::getY
SWFDisplayItem::getYSkew
SWFDisplayItem
PHP Manual

SWFDisplayItem::getYScale

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::getYScale —

Beschreibung

float SWFDisplayItem::getYScale ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Siehe auch

  • SWFDisplayItem::getXScale() - Beschreibung

SWFDisplayItem::getY
SWFDisplayItem::getYSkew
SWFDisplayItem


SWFDisplayItem::getYScale
SWFDisplayItem::move
SWFDisplayItem
PHP Manual

SWFDisplayItem::getYSkew

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::getYSkew —

Beschreibung

float SWFDisplayItem::getYSkew ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Siehe auch

  • SWFDisplayItem::getXSkew() - Beschreibung

SWFDisplayItem::getYScale
SWFDisplayItem::move
SWFDisplayItem


Moves object in relative coordinates

SWFDisplayItem::getYSkew
SWFDisplayItem::moveTo
SWFDisplayItem
PHP Manual

SWFDisplayItem::move

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::move — Moves object in relative coordinates

Beschreibung

void SWFDisplayItem::move ( float $dx , float $dy )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swfdisplayitem::move() moves the current object by (dx,dy) from its current position.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie::add().

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SWFDisplayItem::moveTo() - Moves object in global coordinates

SWFDisplayItem::getYSkew
SWFDisplayItem::moveTo
SWFDisplayItem


Moves object in global coordinates

SWFDisplayItem::move
SWFDisplayItem::multColor
SWFDisplayItem
PHP Manual

SWFDisplayItem::moveTo

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::moveTo — Moves object in global coordinates

Beschreibung

void SWFDisplayItem::moveTo ( float $x , float $y )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swfdisplayitem::moveto() moves the current object to (x,y) in global coordinates.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie::add().

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SWFDisplayItem::move() - Moves object in relative coordinates

SWFDisplayItem::move
SWFDisplayItem::multColor
SWFDisplayItem


Multiplies the item's color transform

SWFDisplayItem::moveTo
SWFDisplayItem::remove
SWFDisplayItem
PHP Manual

SWFDisplayItem::multColor

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::multColor — Multiplies the item's color transform

Beschreibung

void SWFDisplayItem::multColor ( float $red , float $green , float $blue [, float $a ] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swfdisplayitem::multcolor() multiplies the item's color transform by the given values.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie::add().

Parameter-Liste

These parameters are floats between 0.0 and 1.0:

red

Value of red component

green

Value of green component

blue

Value of blue component

a

Value of alpha component

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

This simple example will modify your picture's atmosphere to Halloween (use a landscape or bright picture).

Beispiel #1 swfdisplayitem::multcolor() example

<?php

$b = new SWFBitmap(file_get_contents("backyard.jpg"));
// note use your own picture :-)
$s = new SWFShape();
$s->setRightFill($s->addFill($b));
$s->drawLine($b->getWidth(), 0);
$s->drawLine(0, $b->getHeight());
$s->drawLine(-$b->getWidth(), 0);
$s->drawLine(0, -$b->getHeight());

$m = new SWFMovie();
$m->setDimension($b->getWidth(), $b->getHeight());

$i = $m->add($s);

for ($n=0; $n<=20; ++$n) {
  $i->multColor(1.0-$n/10, 1.0, 1.0);
  $i->addColor(0xff*$n/20, 0, 0);
  $m->nextFrame();
}

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

SWFDisplayItem::moveTo
SWFDisplayItem::remove
SWFDisplayItem


Removes the object from the movie

SWFDisplayItem::multColor
SWFDisplayItem::rotate
SWFDisplayItem
PHP Manual

SWFDisplayItem::remove

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::remove — Removes the object from the movie

Beschreibung

void SWFDisplayItem::remove ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swfdisplayitem::remove() removes this object from the movie's display list.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie::add().

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SWFMovie::add() - Adds any type of data to a movie

SWFDisplayItem::multColor
SWFDisplayItem::rotate
SWFDisplayItem


Rotates in relative coordinates

SWFDisplayItem::remove
SWFDisplayItem::rotateTo
SWFDisplayItem
PHP Manual

SWFDisplayItem::rotate

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::rotate — Rotates in relative coordinates

Beschreibung

void SWFDisplayItem::rotate ( float $angle )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swfdisplayitem::rotate() rotates the current object by angle degrees from its current rotation.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie::add().

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SWFDisplayItem::rotateTo() - Rotates the object in global coordinates

SWFDisplayItem::remove
SWFDisplayItem::rotateTo
SWFDisplayItem


Rotates the object in global coordinates

SWFDisplayItem::rotate
SWFDisplayItem::scale
SWFDisplayItem
PHP Manual

SWFDisplayItem::rotateTo

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::rotateTo — Rotates the object in global coordinates

Beschreibung

void SWFDisplayItem::rotateTo ( float $angle )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swfdisplayitem::rotateto() set the current object rotation to angle degrees in global coordinates.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie::add().

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

This example bring three rotating string from the background to the foreground. Pretty nice.

Beispiel #1 swfdisplayitem::rotateto() example

<?php
$thetext =  "ming!";

$f = new SWFFont("Bauhaus 93.fdb");

$m = new SWFMovie();
$m->setRate(24.0);
$m->setDimension(2400, 1600);
$m->setBackground(0xff, 0xff, 0xff);

// functions with huge numbers of arbitrary
// arguments are always a good idea!  Really!

function text($r, $g, $b, $a, $rot, $x, $y, $scale, $string)
{
  global $f, $m;

  $t = new SWFText();
  $t->setFont($f);
  $t->setColor($r, $g, $b, $a);
  $t->setHeight(960);
  $t->moveTo(-($f->getWidth($string))/2, $f->getAscent()/2);
  $t->addString($string);

  // we can add properties just like a normal PHP var,
  // as long as the names aren't already used.
  // e.g., we can't set $i->scale, because that's a function

  $i = $m->add($t);
  $i->x = $x;
  $i->y = $y;
  $i->rot = $rot;
  $i->s = $scale;
  $i->rotateTo($rot);
  $i->scale($scale, $scale);

  // but the changes are local to the function, so we have to
  // return the changed object.  kinda weird..

  return $i;
}

function step($i)
{
  $oldrot = $i->rot;
  $i->rot = 19*$i->rot/20;
  $i->x = (19*$i->x + 1200)/20;
  $i->y = (19*$i->y + 800)/20;
  $i->s = (19*$i->s + 1.0)/20;

  $i->rotateTo($i->rot);
  $i->scaleTo($i->s, $i->s);
  $i->moveTo($i->x, $i->y);

  return $i;
}

// see?  it sure paid off in legibility:

$i1 = text(0xff, 0x33, 0x33, 0xff, 900, 1200, 800, 0.03, $thetext);
$i2 = text(0x00, 0x33, 0xff, 0x7f, -560, 1200, 800, 0.04, $thetext);
$i3 = text(0xff, 0xff, 0xff, 0x9f, 180, 1200, 800, 0.001, $thetext);

for ($i=1; $i<=100; ++$i) {
  $i1 = step($i1);
  $i2 = step($i2);
  $i3 = step($i3);

  $m->nextFrame();
}

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

Siehe auch

  • SWFDisplayItem::rotate() - Rotates in relative coordinates

SWFDisplayItem::rotate
SWFDisplayItem::scale
SWFDisplayItem


Scales the object in relative coordinates

SWFDisplayItem::rotateTo
SWFDisplayItem::scaleTo
SWFDisplayItem
PHP Manual

SWFDisplayItem::scale

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::scale — Scales the object in relative coordinates

Beschreibung

void SWFDisplayItem::scale ( float $dx , float $dy )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swfdisplayitem::scale() scales the current object by (dx,dy) from its current size.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie::add().

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SWFDisplayItem::scaleTo() - Scales the object in global coordinates

SWFDisplayItem::rotateTo
SWFDisplayItem::scaleTo
SWFDisplayItem


Scales the object in global coordinates

SWFDisplayItem::scale
SWFDisplayItem::setDepth
SWFDisplayItem
PHP Manual

SWFDisplayItem::scaleTo

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::scaleTo — Scales the object in global coordinates

Beschreibung

void SWFDisplayItem::scaleTo ( float $x [, float $y ] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swfdisplayitem::scaleto() scales the current object to (x,y) in global coordinates.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie::add().

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SWFDisplayItem::scale() - Scales the object in relative coordinates

SWFDisplayItem::scale
SWFDisplayItem::setDepth
SWFDisplayItem


Sets z-order

SWFDisplayItem::scaleTo
SWFDisplayItem::setMaskLevel
SWFDisplayItem
PHP Manual

SWFDisplayItem::setDepth

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::setDepth — Sets z-order

Beschreibung

void SWFDisplayItem::setDepth ( int $depth )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swfdisplayitem::setdepth() sets the object's z-order to depth. Depth defaults to the order in which instances are created (by adding a shape/text to a movie)- newer ones are on top of older ones. If two objects are given the same depth, only the later-defined one can be moved.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie::add().

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFDisplayItem::scaleTo
SWFDisplayItem::setMaskLevel
SWFDisplayItem


Defines a MASK layer at level

SWFDisplayItem::setDepth
SWFDisplayItem::setMatrix
SWFDisplayItem
PHP Manual

SWFDisplayItem::setMaskLevel

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::setMaskLevel — Defines a MASK layer at level

Beschreibung

void SWFDisplayItem::setMaskLevel ( int $level )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFDisplayItem::setDepth
SWFDisplayItem::setMatrix
SWFDisplayItem


Sets the item's transform matrix

SWFDisplayItem::setMaskLevel
SWFDisplayItem::setName
SWFDisplayItem
PHP Manual

SWFDisplayItem::setMatrix

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::setMatrix — Sets the item's transform matrix

Beschreibung

void SWFDisplayItem::setMatrix ( float $a , float $b , float $c , float $d , float $x , float $y )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFDisplayItem::setMaskLevel
SWFDisplayItem::setName
SWFDisplayItem


Sets the object's name

SWFDisplayItem::setMatrix
SWFDisplayItem::setRatio
SWFDisplayItem
PHP Manual

SWFDisplayItem::setName

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::setName — Sets the object's name

Beschreibung

void SWFDisplayItem::setName ( string $name )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swfdisplayitem::setname() sets the object's name to name, for targetting with action script. Only useful on sprites.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie::add().

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFDisplayItem::setMatrix
SWFDisplayItem::setRatio
SWFDisplayItem


Sets the object's ratio

SWFDisplayItem::setName
SWFDisplayItem::skewX
SWFDisplayItem
PHP Manual

SWFDisplayItem::setRatio

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::setRatio — Sets the object's ratio

Beschreibung

void SWFDisplayItem::setRatio ( float $ratio )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swfdisplayitem::setratio() sets the object's ratio to ratio. Obviously only useful for morphs.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie::add().

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

This simple example will morph nicely three concentric circles.

Beispiel #1 swfdisplayitem::setname() example

<?php

$p = new SWFMorph();

$g = new SWFGradient();
$g->addEntry(0.0, 0, 0, 0);
$g->addEntry(0.16, 0xff, 0xff, 0xff);
$g->addEntry(0.32, 0, 0, 0);
$g->addEntry(0.48, 0xff, 0xff, 0xff);
$g->addEntry(0.64, 0, 0, 0);
$g->addEntry(0.80, 0xff, 0xff, 0xff);
$g->addEntry(1.00, 0, 0, 0);

$s = $p->getShape1();
$f = $s->addFill($g, SWFFILL_RADIAL_GRADIENT);
$f->scaleTo(0.05);
$s->setLeftFill($f);
$s->movePenTo(-160, -120);
$s->drawLine(320, 0);
$s->drawLine(0, 240);
$s->drawLine(-320, 0);
$s->drawLine(0, -240);

$g = new SWFGradient();
$g->addEntry(0.0, 0, 0, 0);
$g->addEntry(0.16, 0xff, 0, 0);
$g->addEntry(0.32, 0, 0, 0);
$g->addEntry(0.48, 0, 0xff, 0);
$g->addEntry(0.64, 0, 0, 0);
$g->addEntry(0.80, 0, 0, 0xff);
$g->addEntry(1.00, 0, 0, 0);

$s = $p->getShape2();
$f = $s->addFill($g, SWFFILL_RADIAL_GRADIENT);
$f->scaleTo(0.05);
$f->skewXTo(1.0);
$s->setLeftFill($f);
$s->movePenTo(-160, -120);
$s->drawLine(320, 0);
$s->drawLine(0, 240);
$s->drawLine(-320, 0);
$s->drawLine(0, -240);

$m = new SWFMovie();
$m->setDimension(320, 240);
$i = $m->add($p);
$i->moveTo(160, 120);

for ($n=0; $n<=1.001; $n+=0.01) {
    $i->setRatio($n);
    $m->nextFrame();
}

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

SWFDisplayItem::setName
SWFDisplayItem::skewX
SWFDisplayItem


Sets the X-skew

SWFDisplayItem::setRatio
SWFDisplayItem::skewXTo
SWFDisplayItem
PHP Manual

SWFDisplayItem::skewX

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::skewX — Sets the X-skew

Beschreibung

void SWFDisplayItem::skewX ( float $ddegrees )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swfdisplayitem::skewx() adds ddegrees to current x-skew.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie::add().

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SWFDisplayItem::skewXTo() - Sets the X-skew
  • SWFDisplayItem::skewY() - Sets the Y-skew
  • SWFDisplayItem::skewYTo() - Sets the Y-skew

SWFDisplayItem::setRatio
SWFDisplayItem::skewXTo
SWFDisplayItem


Sets the X-skew

SWFDisplayItem::skewX
SWFDisplayItem::skewY
SWFDisplayItem
PHP Manual

SWFDisplayItem::skewXTo

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::skewXTo — Sets the X-skew

Beschreibung

void SWFDisplayItem::skewXTo ( float $degrees )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swfdisplayitem::skewxto() sets the x-skew to degrees. For degrees is 1.0, it means a 45-degree forward slant. More is more forward, less is more backward.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie::add().

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SWFDisplayItem::skewX() - Sets the X-skew
  • SWFDisplayItem::skewY() - Sets the Y-skew
  • SWFDisplayItem::skewYTo() - Sets the Y-skew

SWFDisplayItem::skewX
SWFDisplayItem::skewY
SWFDisplayItem


Sets the Y-skew

SWFDisplayItem::skewXTo
SWFDisplayItem::skewYTo
SWFDisplayItem
PHP Manual

SWFDisplayItem::skewY

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::skewY — Sets the Y-skew

Beschreibung

void SWFDisplayItem::skewY ( float $ddegrees )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swfdisplayitem::skewy() adds ddegrees to current y-skew.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie::add().

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SWFDisplayItem::skewYTo() - Sets the Y-skew
  • SWFDisplayItem::skewX() - Sets the X-skew
  • SWFDisplayItem::skewXTo() - Sets the X-skew

SWFDisplayItem::skewXTo
SWFDisplayItem::skewYTo
SWFDisplayItem


Sets the Y-skew

SWFDisplayItem::skewY
SWFFill
SWFDisplayItem
PHP Manual

SWFDisplayItem::skewYTo

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem::skewYTo — Sets the Y-skew

Beschreibung

void SWFDisplayItem::skewYTo ( float $degrees )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swfdisplayitem::skewyto() sets the y-skew to degrees. For degrees is 1.0, it means a 45-degree forward slant. More is more upward, less is more downward.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie::add().

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SWFDisplayItem::skewY() - Sets the Y-skew
  • SWFDisplayItem::skewX() - Sets the X-skew
  • SWFDisplayItem::skewXTo() - Sets the X-skew

SWFDisplayItem::skewY
SWFFill
SWFDisplayItem


The SWFFill class

(PHP 5 <= 5.3.0, PECL ming SVN)

Einführung

The SWFFill object allows you to transform (scale, skew, rotate) bitmap and gradient fills.

swffill objects are created by the SWFShape::addFill() method.

Klassenbeschreibung

SWFFill {
/* Methoden */
void moveTo ( float $x , float $y )
void rotateTo ( float $angle )
void scaleTo ( float $x [, float $y ] )
void skewXTo ( float $x )
void skewYTo ( float $y )
}

Inhaltsverzeichnis

  • SWFFill::moveTo — Moves fill origin
  • SWFFill::rotateTo — Sets fill's rotation
  • SWFFill::scaleTo — Sets fill's scale
  • SWFFill::skewXTo — Sets fill x-skew
  • SWFFill::skewYTo — Sets fill y-skew
SWFDisplayItem::skewYTo
SWFFill::moveTo
Ming


Moves fill origin

SWFFill
SWFFill::rotateTo
SWFFill
PHP Manual

SWFFill::moveTo

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFFill::moveTo — Moves fill origin

Beschreibung

void SWFFill::moveTo ( float $x , float $y )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Moves the fill origin to the given global coordinates.

Parameter-Liste

x

X-coordinate

y

Y-coordinate

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFFill
SWFFill::rotateTo
SWFFill


Sets fill's rotation

SWFFill::moveTo
SWFFill::scaleTo
SWFFill
PHP Manual

SWFFill::rotateTo

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFFill::rotateTo — Sets fill's rotation

Beschreibung

void SWFFill::rotateTo ( float $angle )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Sets the fill rotation to the given angle.

Parameter-Liste

angle

The rotation angle, in degrees.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFFill::moveTo
SWFFill::scaleTo
SWFFill


Sets fill's scale

SWFFill::rotateTo
SWFFill::skewXTo
SWFFill
PHP Manual

SWFFill::scaleTo

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFFill::scaleTo — Sets fill's scale

Beschreibung

void SWFFill::scaleTo ( float $x [, float $y ] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Sets the fill scale to the given coordinates.

Parameter-Liste

x

X-coordinate

y

Y-coordinate

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFFill::rotateTo
SWFFill::skewXTo
SWFFill


Sets fill x-skew

SWFFill::scaleTo
SWFFill::skewYTo
SWFFill
PHP Manual

SWFFill::skewXTo

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFFill::skewXTo — Sets fill x-skew

Beschreibung

void SWFFill::skewXTo ( float $x )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Sets the fill x-skew to x.

Parameter-Liste

x

When x is 1.0, it is a 45-degree forward slant. More is more forward, less is more backward.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SWFFill::skewYTo() - Sets fill y-skew

SWFFill::scaleTo
SWFFill::skewYTo
SWFFill


Sets fill y-skew

SWFFill::skewXTo
SWFFont
SWFFill
PHP Manual

SWFFill::skewYTo

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFFill::skewYTo — Sets fill y-skew

Beschreibung

void SWFFill::skewYTo ( float $y )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Sets the fill y-skew to y.

Parameter-Liste

y

When y is 1.0, it is a 45-degree upward slant. More is more upward, less is more downward.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SWFFill::skewXTo() - Sets fill x-skew

SWFFill::skewXTo
SWFFont
SWFFill


The SWFFont class

(PHP 5 <= 5.3.0, PECL ming SVN)

Einführung

The SWFFont object represent a reference to the font definition, for us with SWFText::setFont() and SWFTextField::setFont().

Klassenbeschreibung

SWFFont {
/* Methoden */
__construct ( string $filename )
float getAscent ( void )
float getDescent ( void )
float getLeading ( void )
string getShape ( int $code )
float getUTF8Width ( string $string )
float getWidth ( string $string )
}

Inhaltsverzeichnis

  • SWFFont::__construct — Loads a font definition
  • SWFFont::getAscent — Returns the ascent of the font, or 0 if not available
  • SWFFont::getDescent — Returns the descent of the font, or 0 if not available
  • SWFFont::getLeading — Returns the leading of the font, or 0 if not available
  • SWFFont::getShape — Returns the glyph shape of a char as a text string
  • SWFFont::getUTF8Width — Calculates the width of the given string in this font at full height
  • SWFFont::getWidth — Returns the string's width
SWFFill::skewYTo
SWFFont::__construct
Ming


Loads a font definition

SWFFont
SWFFont::getAscent
SWFFont
PHP Manual

SWFFont::__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFFont::__construct — Loads a font definition

Beschreibung

SWFFont::__construct ( string $filename )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

If filename is the name of an FDB file (i.e., it ends in ".fdb"), load the font definition found in said file. Otherwise, create a browser-defined font reference.

FDB ("font definition block") is a very simple wrapper for the SWF DefineFont2 block which contains a full description of a font. One may create FDB files from SWT Generator template files with the included makefdb utility- look in the util directory off the main ming distribution directory.

Browser-defined fonts don't contain any information about the font other than its name. It is assumed that the font definition will be provided by the movie player. The fonts _serif, _sans, and _typewriter should always be available. For example:

<?php
$f = newSWFFont("_sans");
?>
will give you the standard sans-serif font, probably the same as what you'd get with <font name="sans-serif"> in HTML.

SWFFont
SWFFont::getAscent
SWFFont


Returns the ascent of the font, or 0 if not available

SWFFont::__construct
SWFFont::getDescent
SWFFont
PHP Manual

SWFFont::getAscent

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFFont::getAscent — Returns the ascent of the font, or 0 if not available

Beschreibung

float SWFFont::getAscent ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Siehe auch

  • SWFFont::getDescent() - Returns the descent of the font, or 0 if not available

SWFFont::__construct
SWFFont::getDescent
SWFFont


Returns the descent of the font, or 0 if not available

SWFFont::getAscent
SWFFont::getLeading
SWFFont
PHP Manual

SWFFont::getDescent

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFFont::getDescent — Returns the descent of the font, or 0 if not available

Beschreibung

float SWFFont::getDescent ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Siehe auch

  • SWFFont::getAscent() - Returns the ascent of the font, or 0 if not available

SWFFont::getAscent
SWFFont::getLeading
SWFFont


Returns the leading of the font, or 0 if not available

SWFFont::getDescent
SWFFont::getShape
SWFFont
PHP Manual

SWFFont::getLeading

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFFont::getLeading — Returns the leading of the font, or 0 if not available

Beschreibung

float SWFFont::getLeading ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

SWFFont::getDescent
SWFFont::getShape
SWFFont


Returns the glyph shape of a char as a text string

SWFFont::getLeading
SWFFont::getUTF8Width
SWFFont
PHP Manual

SWFFont::getShape

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFFont::getShape — Returns the glyph shape of a char as a text string

Beschreibung

string SWFFont::getShape ( int $code )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

SWFFont::getLeading
SWFFont::getUTF8Width
SWFFont


Calculates the width of the given string in this font at full height

SWFFont::getShape
SWFFont::getWidth
SWFFont
PHP Manual

SWFFont::getUTF8Width

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFFont::getUTF8Width — Calculates the width of the given string in this font at full height

Beschreibung

float SWFFont::getUTF8Width ( string $string )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Siehe auch

  • SWFFont::getWidth() - Returns the string's width

SWFFont::getShape
SWFFont::getWidth
SWFFont


Returns the string's width

SWFFont::getUTF8Width
SWFFontChar
SWFFont
PHP Manual

SWFFont::getWidth

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFFont::getWidth — Returns the string's width

Beschreibung

float SWFFont::getWidth ( string $string )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swffont::getwidth() returns the string string's width, using font's default scaling. You'll probably want to use the swftext() version of this method which uses the text object's scale.

Siehe auch

  • SWFFont::getUTF8Width() - Calculates the width of the given string in this font at full height

SWFFont::getUTF8Width
SWFFontChar
SWFFont


The SWFFontChar class

(PHP 5 <= 5.3.0, PECL ming SVN)

Einführung

SWFFontChar.

Klassenbeschreibung

SWFFontChar {
/* Methoden */
void addChars ( string $char )
void addUTF8Chars ( string $char )
}

Inhaltsverzeichnis

  • SWFFontChar::addChars — Adds characters to a font for exporting font
  • SWFFontChar::addUTF8Chars — Adds characters to a font for exporting font
SWFFont::getWidth
SWFFontChar::addChars
Ming


Adds characters to a font for exporting font

SWFFontChar
SWFFontChar::addUTF8Chars
SWFFontChar
PHP Manual

SWFFontChar::addChars

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFFontChar::addChars — Adds characters to a font for exporting font

Beschreibung

void SWFFontChar::addChars ( string $char )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SWFFontChar::addUTF8Chars() - Adds characters to a font for exporting font

SWFFontChar
SWFFontChar::addUTF8Chars
SWFFontChar


Adds characters to a font for exporting font

SWFFontChar::addChars
SWFGradient
SWFFontChar
PHP Manual

SWFFontChar::addUTF8Chars

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFFontChar::addUTF8Chars — Adds characters to a font for exporting font

Beschreibung

void SWFFontChar::addUTF8Chars ( string $char )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SWFFontChar::addChars() - Adds characters to a font for exporting font

SWFFontChar::addChars
SWFGradient
SWFFontChar


The SWFGradient class

(PHP 5 <= 5.3.0, PECL ming SVN)

Einführung

SWFGradient.

Klassenbeschreibung

SWFGradient {
/* Methoden */
void addEntry ( float $ratio , int $red , int $green , int $blue [, int $alpha = 255 ] )
__construct ( void )
}

Inhaltsverzeichnis

  • SWFGradient::addEntry — Adds an entry to the gradient list
  • SWFGradient::__construct — Creates a gradient object
SWFFontChar::addUTF8Chars
SWFGradient::addEntry
Ming


Adds an entry to the gradient list

SWFGradient
SWFGradient::__construct
SWFGradient
PHP Manual

SWFGradient::addEntry

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFGradient::addEntry — Adds an entry to the gradient list

Beschreibung

void SWFGradient::addEntry ( float $ratio , int $red , int $green , int $blue [, int $alpha = 255 ] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swfgradient::addentry() adds an entry to the gradient list. ratio is a number between 0 and 1 indicating where in the gradient this color appears. Thou shalt add entries in order of increasing ratio.

red, green, blue is a color (RGB mode).

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFGradient
SWFGradient::__construct
SWFGradient


Creates a gradient object

SWFGradient::addEntry
SWFMorph
SWFGradient
PHP Manual

SWFGradient::__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFGradient::__construct — Creates a gradient object

Beschreibung

SWFGradient::__construct ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swfgradient() creates a new SWFGradient object.

After you've added the entries to your gradient, you can use the gradient in a shape fill with the swfshape::addfill() method.

SWFGradient has the following methods : swfgradient::addentry().

This simple example will draw a big black-to-white gradient as background, and a reddish disc in its center.

Beispiel #1 swfgradient() example

<?php

  $m = new SWFMovie();
  $m->setDimension(320, 240);

  $s = new SWFShape();

  // first gradient- black to white
  $g = new SWFGradient();
  $g->addEntry(0.0, 0, 0, 0);
  $g->addEntry(1.0, 0xff, 0xff, 0xff);

  $f = $s->addFill($g, SWFFILL_LINEAR_GRADIENT);
  $f->scaleTo(0.01);
  $f->moveTo(160, 120);
  $s->setRightFill($f);
  $s->drawLine(320, 0);
  $s->drawLine(0, 240);
  $s->drawLine(-320, 0);
  $s->drawLine(0, -240);

  $m->add($s);

  $s = new SWFShape();

  // second gradient- radial gradient from red to transparent
  $g = new SWFGradient();
  $g->addEntry(0.0, 0xff, 0, 0, 0xff);
  $g->addEntry(1.0, 0xff, 0, 0, 0);

  $f = $s->addFill($g, SWFFILL_RADIAL_GRADIENT);
  $f->scaleTo(0.005);
  $f->moveTo(160, 120);
  $s->setRightFill($f);
  $s->drawLine(320, 0);
  $s->drawLine(0, 240);
  $s->drawLine(-320, 0);
  $s->drawLine(0, -240);

  $m->add($s);

  header('Content-type: application/x-shockwave-flash');
  $m->output();
?>

SWFGradient::addEntry
SWFMorph
SWFGradient


The SWFMorph class

(PHP 5 <= 5.3.0, PECL ming SVN)

Einführung

The methods here are sort of weird. It would make more sense to just have newSWFMorph(shape1, shape2);, but as things are now, shape2 needs to know that it's the second part of a morph. (This, because it starts writing its output as soon as it gets drawing commands- if it kept its own description of its shapes and wrote on completion this and some other things would be much easier.)

Klassenbeschreibung

SWFMorph {
/* Methoden */
__construct ( void )
SWFShape getShape1 ( void )
SWFShape getShape2 ( void )
}

Inhaltsverzeichnis

  • SWFMorph::__construct — Creates a new SWFMorph object
  • SWFMorph::getShape1 — Gets a handle to the starting shape
  • SWFMorph::getShape2 — Gets a handle to the ending shape
SWFGradient::__construct
SWFMorph::__construct
Ming


Creates a new SWFMorph object

SWFMorph
SWFMorph::getShape1
SWFMorph
PHP Manual

SWFMorph::__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMorph::__construct — Creates a new SWFMorph object

Beschreibung

SWFMorph::__construct ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Creates a new SWFMorph object.

Also called a "shape tween". This thing lets you make those tacky twisting things that make your computer choke. Oh, joy!

Beispiele

This simple example will morph a big red square into a smaller blue black-bordered square.

Beispiel #1 swfmorph() example

<?php
  $p = new SWFMorph();

  $s = $p->getShape1();
  $s->setLine(0, 0, 0, 0);

  /* Note that this is backwards from normal shapes (left instead of right).
     I have no idea why, but this seems to work.. */

  $s->setLeftFill($s->addFill(0xff, 0, 0));
  $s->movePenTo(-1000,-1000);
  $s->drawLine(2000,0);
  $s->drawLine(0,2000);
  $s->drawLine(-2000,0);
  $s->drawLine(0,-2000);

  $s = $p->getShape2();
  $s->setLine(60,0,0,0);
  $s->setLeftFill($s->addFill(0, 0, 0xff));
  $s->movePenTo(0,-1000);
  $s->drawLine(1000,1000);
  $s->drawLine(-1000,1000);
  $s->drawLine(-1000,-1000);
  $s->drawLine(1000,-1000);

  $m = new SWFMovie();
  $m->setDimension(3000,2000);
  $m->setBackground(0xff, 0xff, 0xff);

  $i = $m->add($p);
  $i->moveTo(1500,1000);

  for ($r=0.0; $r<=1.0; $r+=0.1) {
    $i->setRatio($r);
    $m->nextFrame();
  }

  header('Content-type: application/x-shockwave-flash');
  $m->output();
?>

SWFMorph
SWFMorph::getShape1
SWFMorph


Gets a handle to the starting shape

SWFMorph::__construct
SWFMorph::getShape2
SWFMorph
PHP Manual

SWFMorph::getShape1

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMorph::getShape1 — Gets a handle to the starting shape

Beschreibung

SWFShape SWFMorph::getShape1 ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Gets the morph's starting shape.

Rückgabewerte

Returns a SWFShape object.

Siehe auch

  • SWFMorph::getShape2() - Gets a handle to the ending shape

SWFMorph::__construct
SWFMorph::getShape2
SWFMorph


Gets a handle to the ending shape

SWFMorph::getShape1
SWFMovie
SWFMorph
PHP Manual

SWFMorph::getShape2

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMorph::getShape2 — Gets a handle to the ending shape

Beschreibung

SWFShape SWFMorph::getShape2 ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Gets the morph's ending shape.

Rückgabewerte

Returns a SWFShape object.

Siehe auch

  • SWFMorph::getShape1() - Gets a handle to the starting shape

SWFMorph::getShape1
SWFMovie
SWFMorph


The SWFMovie class

(PHP 5 <= 5.3.0, PECL ming SVN)

Einführung

SWFMovie is a movie object representing an SWF movie.

Klassenbeschreibung

SWFMovie {
/* Methoden */
mixed add ( object $instance )
void addExport ( SWFCharacter $char , string $name )
mixed addFont ( SWFFont $font )
__construct ([ int $version ] )
SWFSprite importChar ( string $libswf , string $name )
SWFFontChar importFont ( string $libswf , string $name )
void labelFrame ( string $label )
void nextFrame ( void )
int output ([ int $compression ] )
void remove ( object $instance )
int save ( string $filename [, int $compression = -1 ] )
int saveToFile ( resource $x [, int $compression = -1 ] )
void setbackground ( int $red , int $green , int $blue )
void setDimension ( float $width , float $height )
void setFrames ( int $number )
void setRate ( float $rate )
SWFSoundInstance startSound ( SWFSound $sound )
void stopSound ( SWFSound $sound )
int streamMP3 ( mixed $mp3file [, float $skip = 0 ] )
void writeExports ( void )
}

Inhaltsverzeichnis

  • SWFMovie::add — Adds any type of data to a movie
  • SWFMovie::addExport — Beschreibung
  • SWFMovie::addFont — Beschreibung
  • SWFMovie::__construct — Creates a new movie object, representing an SWF version 4 movie
  • SWFMovie::importChar — Beschreibung
  • SWFMovie::importFont — Beschreibung
  • SWFMovie::labelFrame — Labels a frame
  • SWFMovie::nextFrame — Moves to the next frame of the animation
  • SWFMovie::output — Dumps your lovingly prepared movie out
  • SWFMovie::remove — Removes the object instance from the display list
  • SWFMovie::save — Saves the SWF movie in a file
  • SWFMovie::saveToFile — Beschreibung
  • SWFMovie::setbackground — Sets the background color
  • SWFMovie::setDimension — Sets the movie's width and height
  • SWFMovie::setFrames — Sets the total number of frames in the animation
  • SWFMovie::setRate — Sets the animation's frame rate
  • SWFMovie::startSound — Beschreibung
  • SWFMovie::stopSound — Beschreibung
  • SWFMovie::streamMP3 — Streams a MP3 file
  • SWFMovie::writeExports — Beschreibung
SWFMorph::getShape2
SWFMovie::add
Ming


Adds any type of data to a movie

SWFMovie
SWFMovie::addExport
SWFMovie
PHP Manual

SWFMovie::add

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie::add — Adds any type of data to a movie

Beschreibung

mixed SWFMovie::add ( object $instance )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Adds an SWF object instance to the current movie.

Parameter-Liste

instance

Any type of object instance, like SWFShape, SWFText, SWFFont.

Rückgabewerte

For displayable types (shape, text, button, sprite), this returns an SWFDisplayItem, a handle to the object in a display list. Thus, you can add the same shape to a movie multiple times and get separate handles back for each separate instance.

Siehe auch

  • SWFMovie::remove() - Removes the object instance from the display list

SWFMovie
SWFMovie::addExport
SWFMovie


SWFMovie::add
SWFMovie::addFont
SWFMovie
PHP Manual

SWFMovie::addExport

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie::addExport —

Beschreibung

void SWFMovie::addExport ( SWFCharacter $char , string $name )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFMovie::add
SWFMovie::addFont
SWFMovie


SWFMovie::addExport
SWFMovie::__construct
SWFMovie
PHP Manual

SWFMovie::addFont

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie::addFont —

Beschreibung

mixed SWFMovie::addFont ( SWFFont $font )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFMovie::addExport
SWFMovie::__construct
SWFMovie


Creates a new movie object, representing an SWF version 4 movie

SWFMovie::addFont
SWFMovie::importChar
SWFMovie
PHP Manual

SWFMovie::__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie::__construct — Creates a new movie object, representing an SWF version 4 movie

Beschreibung

SWFMovie::__construct ([ int $version ] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Creates a new movie object, representing an SWF movie.

Parameter-Liste

version

The desired SWF version. Default is 4.

SWFMovie::addFont
SWFMovie::importChar
SWFMovie


SWFMovie::__construct
SWFMovie::importFont
SWFMovie
PHP Manual

SWFMovie::importChar

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie::importChar —

Beschreibung

SWFSprite SWFMovie::importChar ( string $libswf , string $name )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Siehe auch

  • SWFMovie::importFont() - Beschreibung

SWFMovie::__construct
SWFMovie::importFont
SWFMovie


SWFMovie::importChar
SWFMovie::labelFrame
SWFMovie
PHP Manual

SWFMovie::importFont

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie::importFont —

Beschreibung

SWFFontChar SWFMovie::importFont ( string $libswf , string $name )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Siehe auch

  • SWFMovie::importChar() - Beschreibung

SWFMovie::importChar
SWFMovie::labelFrame
SWFMovie


Labels a frame

SWFMovie::importFont
SWFMovie::nextFrame
SWFMovie
PHP Manual

SWFMovie::labelFrame

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie::labelFrame — Labels a frame

Beschreibung

void SWFMovie::labelFrame ( string $label )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFMovie::importFont
SWFMovie::nextFrame
SWFMovie


Moves to the next frame of the animation

SWFMovie::labelFrame
SWFMovie::output
SWFMovie
PHP Manual

SWFMovie::nextFrame

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie::nextFrame — Moves to the next frame of the animation

Beschreibung

void SWFMovie::nextFrame ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Moves to the next frame of the animation.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFMovie::labelFrame
SWFMovie::output
SWFMovie


Dumps your lovingly prepared movie out

SWFMovie::nextFrame
SWFMovie::remove
SWFMovie
PHP Manual

SWFMovie::output

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie::output — Dumps your lovingly prepared movie out

Beschreibung

int SWFMovie::output ([ int $compression ] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Dumps the SWFMovie.

Don't forget to send the Content-Type HTTP header file before using this function, in order to display the movie in a browser.

Parameter-Liste

compression

The compression level can be a value between 0 and 9, defining the SWF compression similar to gzip compression.

This parameter is only available as of Flash MX (6).

Rückgabewerte

Return the number of bytes written or FALSE on error.

Beispiele

Beispiel #1 Displaying your $movie in a browser

<?php
header('Content-type: application/x-shockwave-flash');
$movie->output();
?>

Siehe auch

  • SWFMovie::save() - Saves the SWF movie in a file
  • SWFMovie::saveToFile() - Beschreibung

SWFMovie::nextFrame
SWFMovie::remove
SWFMovie


Removes the object instance from the display list

SWFMovie::output
SWFMovie::save
SWFMovie
PHP Manual

SWFMovie::remove

(PHP 5.2.1-5.3.0, PHP 7, PECL ming SVN)

SWFMovie::remove — Removes the object instance from the display list

Beschreibung

void SWFMovie::remove ( object $instance )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Removes the given object instance from the display list.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SWFMovie::add() - Adds any type of data to a movie

SWFMovie::output
SWFMovie::save
SWFMovie


Saves the SWF movie in a file

SWFMovie::remove
SWFMovie::saveToFile
SWFMovie
PHP Manual

SWFMovie::save

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie::save — Saves the SWF movie in a file

Beschreibung

int SWFMovie::save ( string $filename [, int $compression = -1 ] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Saves the SWF movie to the specified filename.

Parameter-Liste

filename

The path to the saved SWF document.

compression

The compression level can be a value between 0 and 9, defining the SWF compression similar to gzip compression.

This parameter is only available as of Flash MX (6).

Rückgabewerte

Return the number of bytes written or FALSE on error.

Siehe auch

  • SWFMovie::output() - Dumps your lovingly prepared movie out
  • SWFMovie::saveToFile() - Beschreibung

SWFMovie::remove
SWFMovie::saveToFile
SWFMovie


SWFMovie::save
SWFMovie::setbackground
SWFMovie
PHP Manual

SWFMovie::saveToFile

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie::saveToFile —

Beschreibung

int SWFMovie::saveToFile ( resource $x [, int $compression = -1 ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

X

compression

The compression level can be a value between 0 and 9, defining the SWF compression similar to gzip compression.

This parameter is only available as of Flash MX (6).

Rückgabewerte

Return the number of bytes written or FALSE on error.

Siehe auch

  • SWFMovie::output() - Dumps your lovingly prepared movie out
  • SWFMovie::save() - Saves the SWF movie in a file

SWFMovie::save
SWFMovie::setbackground
SWFMovie


Sets the background color

SWFMovie::saveToFile
SWFMovie::setDimension
SWFMovie
PHP Manual

SWFMovie::setbackground

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie::setbackground — Sets the background color

Beschreibung

void SWFMovie::setbackground ( int $red , int $green , int $blue )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Sets the background color.

Why is there no rgba version? Think about it, you might want to let the HTML background show through. There's a way to do that, but it only works on IE4. Search the » http://www.macromedia.com/ site for details.

Parameter-Liste

These parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF:

red

Value of red component

green

Value of green component

blue

Value of blue component

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFMovie::saveToFile
SWFMovie::setDimension
SWFMovie


Sets the movie's width and height

SWFMovie::setbackground
SWFMovie::setFrames
SWFMovie
PHP Manual

SWFMovie::setDimension

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie::setDimension — Sets the movie's width and height

Beschreibung

void SWFMovie::setDimension ( float $width , float $height )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Sets the movie's dimension to the specified width and height.

Parameter-Liste

width

The movie width.

height

The movie height.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFMovie::setbackground
SWFMovie::setFrames
SWFMovie


Sets the total number of frames in the animation

SWFMovie::setDimension
SWFMovie::setRate
SWFMovie
PHP Manual

SWFMovie::setFrames

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie::setFrames — Sets the total number of frames in the animation

Beschreibung

void SWFMovie::setFrames ( int $number )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Sets the total number of frames in the animation to the given number.

Parameter-Liste

number

The number of frames.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFMovie::setDimension
SWFMovie::setRate
SWFMovie


Sets the animation's frame rate

SWFMovie::setFrames
SWFMovie::startSound
SWFMovie
PHP Manual

SWFMovie::setRate

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie::setRate — Sets the animation's frame rate

Beschreibung

void SWFMovie::setRate ( float $rate )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Sets the frame rate to the specified rate.

Animation will slow down if the player can't render frames fast enough- unless there's a streaming sound, in which case display frames are sacrificed to keep sound from skipping.

Parameter-Liste

rate

The frame rate, in frame per seconds.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFMovie::setFrames
SWFMovie::startSound
SWFMovie


SWFMovie::setRate
SWFMovie::stopSound
SWFMovie
PHP Manual

SWFMovie::startSound

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie::startSound —

Beschreibung

SWFSoundInstance SWFMovie::startSound ( SWFSound $sound )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Siehe auch

  • SWFMovie::stopSound() - Beschreibung

SWFMovie::setRate
SWFMovie::stopSound
SWFMovie


SWFMovie::startSound
SWFMovie::streamMP3
SWFMovie
PHP Manual

SWFMovie::stopSound

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie::stopSound —

Beschreibung

void SWFMovie::stopSound ( SWFSound $sound )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SWFMovie::startSound() - Beschreibung

SWFMovie::startSound
SWFMovie::streamMP3
SWFMovie


Streams a MP3 file

SWFMovie::stopSound
SWFMovie::writeExports
SWFMovie
PHP Manual

SWFMovie::streamMP3

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie::streamMP3 — Streams a MP3 file

Beschreibung

int SWFMovie::streamMP3 ( mixed $mp3file [, float $skip = 0 ] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Streams the given MP3 file mp3file.

This method is not very robust in dealing with oddities (can skip over an initial ID3 tag, but that's about it).

Note that the movie isn't smart enough to put enough frames in to contain the entire mp3 stream- you'll have to add (length of song * frames per second) frames to get the entire stream in.

Parameter-Liste

mp3file

Can be a file pointer returned by fopen() or the MP3 data, as a binary string.

skip

Number of seconds to skip.

Rückgabewerte

Return number of frames.

Changelog

Version | Beschreibung
5.2.0 | skip added

Beispiele

Beispiel #1 Streaming example

<?php
$m = new SWFMovie();
$m->setRate(12.0);
$m->streamMp3(file_get_contents("distortobass.mp3"));
// use your own MP3

// The file is 11.85 seconds at 12.0 fps = 142 frames
$m->setFrames(142);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

SWFMovie::stopSound
SWFMovie::writeExports
SWFMovie


SWFMovie::streamMP3
SWFPrebuiltClip
SWFMovie
PHP Manual

SWFMovie::writeExports

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie::writeExports —

Beschreibung

void SWFMovie::writeExports ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFMovie::streamMP3
SWFPrebuiltClip
SWFMovie


The SWFPrebuiltClip class

(PHP 5.0.5-5.3.0, PHP 7, PECL ming SVN)

Einführung

SWFPrebuiltClip.

Klassenbeschreibung

SWFPrebuiltClip {
/* Methoden */
__construct ( mixed $file )
}

Inhaltsverzeichnis

  • SWFPrebuiltClip::__construct — Returns a SWFPrebuiltClip object
SWFMovie::writeExports
SWFPrebuiltClip::__construct
Ming


Returns a SWFPrebuiltClip object

SWFPrebuiltClip
SWFShape
SWFPrebuiltClip
PHP Manual

SWFPrebuiltClip::__construct

(PHP 5.0.5-5.3.0, PHP 7, PECL ming SVN)

SWFPrebuiltClip::__construct — Returns a SWFPrebuiltClip object

Beschreibung

SWFPrebuiltClip::__construct ( mixed $file )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

SWFPrebuiltClip
SWFShape
SWFPrebuiltClip


The SWFShape class

(PHP 5 <= 5.3.0, PECL ming SVN)

Einführung

SWFShape.

Klassenbeschreibung

SWFShape {
/* Methoden */
SWFFill addFill ( int $red , int $green , int $blue [, int $alpha = 255 ] )
__construct ( void )
void drawArc ( float $r , float $startAngle , float $endAngle )
void drawCircle ( float $r )
int drawCubic ( float $bx , float $by , float $cx , float $cy , float $dx , float $dy )
int drawCubicTo ( float $bx , float $by , float $cx , float $cy , float $dx , float $dy )
int drawCurve ( float $controldx , float $controldy , float $anchordx , float $anchordy [, float $targetdx ], float $targetdy )
int drawCurveTo ( float $controlx , float $controly , float $anchorx , float $anchory [, float $targetx ], float $targety )
void drawGlyph ( SWFFont $font , string $character [, int $size ] )
void drawLine ( float $dx , float $dy )
void drawLineTo ( float $x , float $y )
void movePen ( float $dx , float $dy )
void movePenTo ( float $x , float $y )
void setLeftFill ( SWFGradient $fill )
void setLine ( SWFShape $shape )
void setRightFill ( SWFGradient $fill )
}

Inhaltsverzeichnis

  • SWFShape::addFill — Adds a solid fill to the shape
  • SWFShape::__construct — Creates a new shape object
  • SWFShape::drawArc — Draws an arc of radius r centered at the current location, from angle startAngle to angle endAngle measured clockwise from 12 o'clock
  • SWFShape::drawCircle — Draws a circle of radius r centered at the current location, in a counter-clockwise fashion
  • SWFShape::drawCubic — Draws a cubic bezier curve using the current position and the three given points as control points
  • SWFShape::drawCubicTo — Draws a cubic bezier curve using the current position and the three given points as control points
  • SWFShape::drawCurve — Draws a curve (relative)
  • SWFShape::drawCurveTo — Draws a curve
  • SWFShape::drawGlyph — Draws the first character in the given string into the shape using the glyph definition from the given font
  • SWFShape::drawLine — Draws a line (relative)
  • SWFShape::drawLineTo — Draws a line
  • SWFShape::movePen — Moves the shape's pen (relative)
  • SWFShape::movePenTo — Moves the shape's pen
  • SWFShape::setLeftFill — Sets left rasterizing color
  • SWFShape::setLine — Sets the shape's line style
  • SWFShape::setRightFill — Sets right rasterizing color
SWFPrebuiltClip::__construct
SWFShape::addFill
Ming


Adds a solid fill to the shape

SWFShape
SWFShape::__construct
SWFShape
PHP Manual

SWFShape::addFill

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFShape::addFill — Adds a solid fill to the shape

Beschreibung

SWFFill SWFShape::addFill ( int $red , int $green , int $blue [, int $alpha = 255 ] )
SWFFill addFill ( SWFBitmap $bitmap [, int $flags ] )
SWFFill addFill ( SWFGradient $gradient [, int $flags ] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

SWFShape::addFill() adds a solid fill to the shape's list of fill styles. SWFShape::addFill() accepts three different types of arguments.

red, green, blue is a color (RGB mode).

The bitmap argument is an SWFBitmap() object. The flags argument can be one of the following values: SWFFILL_CLIPPED_BITMAP, SWFFILL_TILED_BITMAP, SWFFILL_LINEAR_GRADIENT or SWFFILL_RADIAL_GRADIENT. Default is SWFFILL_TILED_BITMAP for SWFBitmap and SWFFILL_LINEAR_GRADIENT for SWFGradient.

The gradient argument is an SWFGradient() object. The flags argument can be one of the following values : SWFFILL_RADIAL_GRADIENT or SWFFILL_LINEAR_GRADIENT. Default is SWFFILL_LINEAR_GRADIENT. I'm sure about this one. Really.

SWFShape::addFill() returns an SWFFill()
object for use with the SWFShape::setLeftFill()
and SWFShape::setRightFill() functions
described below.

Beispiele

This simple example will draw a frame on a bitmap. Ah, here's another buglet in the flash player- it doesn't seem to care about the second shape's bitmap's transformation in a morph. According to spec, the bitmap should stretch along with the shape in this example..

Beispiel #1 SWFShape::addFill() example

<?php

$p = new SWFMorph();

$b = new SWFBitmap(file_get_contents("alphafill.jpg"));
// use your own bitmap
$width = $b->getWidth();
$height = $b->getHeight();

$s = $p->getShape1();
$f = $s->addFill($b, SWFFILL_TILED_BITMAP);
$f->moveTo(-$width/2, -$height/4);
$f->scaleTo(1.0, 0.5);
$s->setLeftFill($f);
$s->movePenTo(-$width/2, -$height/4);
$s->drawLine($width, 0);
$s->drawLine(0, $height/2);
$s->drawLine(-$width, 0);
$s->drawLine(0, -$height/2);

$s = $p->getShape2();
$f = $s->addFill($b, SWFFILL_TILED_BITMAP);

// these two have no effect!
$f->moveTo(-$width/4, -$height/2);
$f->scaleTo(0.5, 1.0);

$s->setLeftFill($f);
$s->movePenTo(-$width/4, -$height/2);
$s->drawLine($width/2, 0);
$s->drawLine(0, $height);
$s->drawLine(-$width/2, 0);
$s->drawLine(0, -$height);

$m = new SWFMovie();
$m->setDimension($width, $height);
$i = $m->add($p);
$i->moveTo($width/2, $height/2);

for ($n=0; $n<1.001; $n+=0.03) {
    $i->setRatio($n);
    $m->nextFrame();
}

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

Siehe auch

  • SWFShape::setLeftFill() - Sets left rasterizing color
  • SWFShape::setRightFill() - Sets right rasterizing color

SWFShape
SWFShape::__construct
SWFShape


Creates a new shape object

SWFShape::addFill
SWFShape::drawArc
SWFShape
PHP Manual

SWFShape::__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFShape::__construct — Creates a new shape object

Beschreibung

SWFShape::__construct ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Created a new SWFShape object.

Beispiele

This simple example will draw a big red elliptic quadrant.

Beispiel #1 swfshape() example

<?php
$s = new SWFShape();
$s->setLine(40, 0x7f, 0, 0);
$s->setRightFill($s->addFill(0xff, 0, 0));
$s->movePenTo(200, 200);
$s->drawLineTo(6200, 200);
$s->drawLineTo(6200, 4600);
$s->drawCurveTo(200, 4600, 200, 200);

$m = new SWFMovie();
$m->setDimension(6400, 4800);
$m->setRate(12.0);
$m->add($s);
$m->nextFrame();

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

SWFShape::addFill
SWFShape::drawArc
SWFShape


Draws an arc of radius r centered at the current location, from angle startAngle to angle endAngle measured clockwise from 12 o'clock

SWFShape::__construct
SWFShape::drawCircle
SWFShape
PHP Manual

SWFShape::drawArc

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFShape::drawArc — Draws an arc of radius r centered at the current location, from angle startAngle to angle endAngle measured clockwise from 12 o'clock

Beschreibung

void SWFShape::drawArc ( float $r , float $startAngle , float $endAngle )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SWFShape::drawCircle() - Draws a circle of radius r centered at the current location, in a counter-clockwise fashion

SWFShape::__construct
SWFShape::drawCircle
SWFShape


Draws a circle of radius r centered at the current location, in a counter-clockwise fashion

SWFShape::drawArc
SWFShape::drawCubic
SWFShape
PHP Manual

SWFShape::drawCircle

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFShape::drawCircle — Draws a circle of radius r centered at the current location, in a counter-clockwise fashion

Beschreibung

void SWFShape::drawCircle ( float $r )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFShape::drawArc
SWFShape::drawCubic
SWFShape


Draws a cubic bezier curve using the current position and the three given points as control points

SWFShape::drawCircle
SWFShape::drawCubicTo
SWFShape
PHP Manual

SWFShape::drawCubic

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFShape::drawCubic — Draws a cubic bezier curve using the current position and the three given points as control points

Beschreibung

int SWFShape::drawCubic ( float $bx , float $by , float $cx , float $cy , float $dx , float $dy )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Siehe auch

  • SWFShape::drawCubicTo() - Draws a cubic bezier curve using the current position and the three given points as control points

SWFShape::drawCircle
SWFShape::drawCubicTo
SWFShape


Draws a cubic bezier curve using the current position and the three given points as control points

SWFShape::drawCubic
SWFShape::drawCurve
SWFShape
PHP Manual

SWFShape::drawCubicTo

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFShape::drawCubicTo — Draws a cubic bezier curve using the current position and the three given points as control points

Beschreibung

int SWFShape::drawCubicTo ( float $bx , float $by , float $cx , float $cy , float $dx , float $dy )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Siehe auch

  • SWFShape::drawCubic() - Draws a cubic bezier curve using the current position and the three given points as control points

SWFShape::drawCubic
SWFShape::drawCurve
SWFShape


Draws a curve (relative)

SWFShape::drawCubicTo
SWFShape::drawCurveTo
SWFShape
PHP Manual

SWFShape::drawCurve

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFShape::drawCurve — Draws a curve (relative)

Beschreibung

int SWFShape::drawCurve ( float $controldx , float $controldy , float $anchordx , float $anchordy [, float $targetdx ], float $targetdy )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swfshape::drawcurve() draws a quadratic curve (using the current line style,set by swfshape::setline()) from the current pen position to the relative position (anchorx,anchory) using relative control point (controlx,controly). That is, head towards the control point, then smoothly turn to the anchor point.

With 6 parameters, it draws a cubic bezier to point (x+targetdx, x+targetdy) with control points (x+controldx, y+controldy) and (x+anchordx, y+anchordy).

Siehe auch

  • SWFShape::drawCurve()

SWFShape::drawCubicTo
SWFShape::drawCurveTo
SWFShape


Draws a curve

SWFShape::drawCurve
SWFShape::drawGlyph
SWFShape
PHP Manual

SWFShape::drawCurveTo

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFShape::drawCurveTo — Draws a curve

Beschreibung

int SWFShape::drawCurveTo ( float $controlx , float $controly , float $anchorx , float $anchory [, float $targetx ], float $targety )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swfshape::drawcurveto() draws a quadratic curve (using the current line style, set by swfshape::setline()) from the current pen position to (anchorx,anchory) using (controlx,controly) as a control point. That is, head towards the control point, then smoothly turn to the anchor point.

With 6 parameters, it draws a cubic bezier to point (targetx, targety) with control points (controlx, controly) and (anchorx, anchory).

Siehe auch

  • SWFShape::drawCurveTo()

SWFShape::drawCurve
SWFShape::drawGlyph
SWFShape


Draws the first character in the given string into the shape using the glyph definition from the given font

SWFShape::drawCurveTo
SWFShape::drawLine
SWFShape
PHP Manual

SWFShape::drawGlyph

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFShape::drawGlyph — Draws the first character in the given string into the shape using the glyph definition from the given font

Beschreibung

void SWFShape::drawGlyph ( SWFFont $font , string $character [, int $size ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFShape::drawCurveTo
SWFShape::drawLine
SWFShape


Draws a line (relative)

SWFShape::drawGlyph
SWFShape::drawLineTo
SWFShape
PHP Manual

SWFShape::drawLine

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFShape::drawLine — Draws a line (relative)

Beschreibung

void SWFShape::drawLine ( float $dx , float $dy )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swfshape::drawline() draws a line (using the current line style set by swfshape::setline()) from the current pen position to displacement (dx,dy).

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SWFShape::drawLineTo() - Draws a line

SWFShape::drawGlyph
SWFShape::drawLineTo
SWFShape


Draws a line

SWFShape::drawLine
SWFShape::movePen
SWFShape
PHP Manual

SWFShape::drawLineTo

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFShape::drawLineTo — Draws a line

Beschreibung

void SWFShape::drawLineTo ( float $x , float $y )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swfshape::setrightfill() draws a line (using the current line style, set by swfshape::setline()) from the current pen position to point (x,y) in the shape's coordinate space.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SWFShape::drawLine() - Draws a line (relative)

SWFShape::drawLine
SWFShape::movePen
SWFShape


Moves the shape's pen (relative)

SWFShape::drawLineTo
SWFShape::movePenTo
SWFShape
PHP Manual

SWFShape::movePen

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFShape::movePen — Moves the shape's pen (relative)

Beschreibung

void SWFShape::movePen ( float $dx , float $dy )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swfshape::setrightfill() move the shape's pen from coordinates (current x,current y) to (current x + dx, current y + dy) in the shape's coordinate space.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SWFShape::movePenTo() - Moves the shape's pen

SWFShape::drawLineTo
SWFShape::movePenTo
SWFShape


Moves the shape's pen

SWFShape::movePen
SWFShape::setLeftFill
SWFShape
PHP Manual

SWFShape::movePenTo

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFShape::movePenTo — Moves the shape's pen

Beschreibung

void SWFShape::movePenTo ( float $x , float $y )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swfshape::setrightfill() move the shape's pen to (x,y) in the shape's coordinate space.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SWFShape::movePen() - Moves the shape's pen (relative)

SWFShape::movePen
SWFShape::setLeftFill
SWFShape


Sets left rasterizing color

SWFShape::movePenTo
SWFShape::setLine
SWFShape
PHP Manual

SWFShape::setLeftFill

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFShape::setLeftFill — Sets left rasterizing color

Beschreibung

void SWFShape::setLeftFill ( SWFGradient $fill )
void setLeftFill ( int $red , int $green , int $blue [, int $a ] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

What this nonsense is about is, every edge segment borders at most two fills. When rasterizing the object, it's pretty handy to know what those fills are ahead of time, so the swf format requires these to be specified.

swfshape::setleftfill() sets the fill on the left side of the edge- that is, on the interior if you're defining the outline of the shape in a counter-clockwise fashion. The fill object is an SWFFill object returned from one of the addFill functions above.

This seems to be reversed when you're defining a shape in a morph, though. If your browser crashes, just try setting the fill on the other side.

Shortcut for $swfshape->setleftfill($s->addfill($r, $g, $b [, $a]));.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SWFShape::setRightFill() - Sets right rasterizing color

SWFShape::movePenTo
SWFShape::setLine
SWFShape


Sets the shape's line style

SWFShape::setLeftFill
SWFShape::setRightFill
SWFShape
PHP Manual

SWFShape::setLine

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFShape::setLine — Sets the shape's line style

Beschreibung

void SWFShape::setLine ( SWFShape $shape )
void setLine ( int $width , int $red , int $green , int $blue [, int $a ] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swfshape::setline() sets the shape's line style. width is the line's width. If width is 0, the line's style is removed (then, all other arguments are ignored). If width > 0, then line's color is set to red, green, blue. Last parameter a is optional.

You must declare all line styles before you use them (see example).

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

This simple example will draw a big "!#%*@", in funny colors and gracious style.

Beispiel #1 swfshape::setline() example

<?php
$s = new SWFShape();
$f1 = $s->addFill(0xff, 0, 0);
$f2 = $s->addFill(0xff, 0x7f, 0);
$f3 = $s->addFill(0xff, 0xff, 0);
$f4 = $s->addFill(0, 0xff, 0);
$f5 = $s->addFill(0, 0, 0xff);

// bug: have to declare all line styles before you use them
$s->setLine(40, 0x7f, 0, 0);
$s->setLine(40, 0x7f, 0x3f, 0);
$s->setLine(40, 0x7f, 0x7f, 0);
$s->setLine(40, 0, 0x7f, 0);
$s->setLine(40, 0, 0, 0x7f);

$f = new SWFFont('Techno.fdb');

$s->setRightFill($f1);
$s->setLine(40, 0x7f, 0, 0);
$s->drawGlyph($f, '!');
$s->movePen($f->getWidth('!'), 0);

$s->setRightFill($f2);
$s->setLine(40, 0x7f, 0x3f, 0);
$s->drawGlyph($f, '#');
$s->movePen($f->getWidth('#'), 0);

$s->setRightFill($f3);
$s->setLine(40, 0x7f, 0x7f, 0);
$s->drawGlyph($f, '%');
$s->movePen($f->getWidth('%'), 0);

$s->setRightFill($f4);
$s->setLine(40, 0, 0x7f, 0);
$s->drawGlyph($f, '*');
$s->movePen($f->getWidth('*'), 0);

$s->setRightFill($f5);
$s->setLine(40, 0, 0, 0x7f);
$s->drawGlyph($f, '@');

$m = new SWFMovie();
$m->setDimension(3000,2000);
$m->setRate(12.0);
$i = $m->add($s);
$i->moveTo(1500-$f->getWidth("!#%*@")/2, 1000+$f->getAscent()/2);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFShape::setLeftFill
SWFShape::setRightFill
SWFShape


Sets right rasterizing color

SWFShape::setLine
SWFSound
SWFShape
PHP Manual

SWFShape::setRightFill

(No version information available, might only be in Git)

SWFShape::setRightFill — Sets right rasterizing color

Beschreibung

void SWFShape::setRightFill ( SWFGradient $fill )
void setRightFill ( int $red , int $green , int $blue [, int $a ] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Shortcut for $swfshape->setrightfill($s->addfill($r, $g, $b [, $a]));.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SWFShape::setLeftFill() - Sets left rasterizing color

SWFShape::setLine
SWFSound
SWFShape


The SWFSound class

(PHP 5 <= 5.3.0, PECL ming SVN)

Einführung

SWFSound.

Klassenbeschreibung

SWFSound {
/* Methoden */
__construct ( string $filename [, int $flags = 0 ] )
}

Inhaltsverzeichnis

  • SWFSound::__construct — Returns a new SWFSound object from given file
SWFShape::setRightFill
SWFSound::__construct
Ming


Returns a new SWFSound object from given file

SWFSound
SWFSoundInstance
SWFSound
PHP Manual

SWFSound::__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFSound::__construct — Returns a new SWFSound object from given file

Beschreibung

SWFSound::__construct ( string $filename [, int $flags = 0 ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

SWFSound
SWFSoundInstance
SWFSound


The SWFSoundInstance class

(PHP 5 <= 5.3.0, PECL ming SVN)

Einführung

SWFSoundInstance objects are returned by the SWFSprite::startSound() and SWFMovie::startSound() methods.

Klassenbeschreibung

SWFSoundInstance {
/* Methoden */
void loopCount ( int $point )
void loopInPoint ( int $point )
void loopOutPoint ( int $point )
void noMultiple ( void )
}

Inhaltsverzeichnis

  • SWFSoundInstance::loopCount — Beschreibung
  • SWFSoundInstance::loopInPoint — Beschreibung
  • SWFSoundInstance::loopOutPoint — Beschreibung
  • SWFSoundInstance::noMultiple — Beschreibung
SWFSound::__construct
SWFSoundInstance::loopCount
Ming


SWFSoundInstance
SWFSoundInstance::loopInPoint
SWFSoundInstance
PHP Manual

SWFSoundInstance::loopCount

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFSoundInstance::loopCount —

Beschreibung

void SWFSoundInstance::loopCount ( int $point )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

point

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SWFSoundInstance::loopOutPoint() - Beschreibung

SWFSoundInstance
SWFSoundInstance::loopInPoint
SWFSoundInstance


SWFSoundInstance::loopCount
SWFSoundInstance::loopOutPoint
SWFSoundInstance
PHP Manual

SWFSoundInstance::loopInPoint

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFSoundInstance::loopInPoint —

Beschreibung

void SWFSoundInstance::loopInPoint ( int $point )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

point

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SWFSoundInstance::loopOutPoint() - Beschreibung

SWFSoundInstance::loopCount
SWFSoundInstance::loopOutPoint
SWFSoundInstance


SWFSoundInstance::loopInPoint
SWFSoundInstance::noMultiple
SWFSoundInstance
PHP Manual

SWFSoundInstance::loopOutPoint

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFSoundInstance::loopOutPoint —

Beschreibung

void SWFSoundInstance::loopOutPoint ( int $point )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

point

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SWFSoundInstance::loopInPoint() - Beschreibung

SWFSoundInstance::loopInPoint
SWFSoundInstance::noMultiple
SWFSoundInstance


SWFSoundInstance::loopOutPoint
SWFSprite
SWFSoundInstance
PHP Manual

SWFSoundInstance::noMultiple

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFSoundInstance::noMultiple —

Beschreibung

void SWFSoundInstance::noMultiple ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFSoundInstance::loopOutPoint
SWFSprite
SWFSoundInstance


The SWFSprite class

(PHP 5 <= 5.3.0, PECL ming SVN)

Einführung

An SWFSprite is also known as a "movie clip", this allows one to create objects which are animated in their own timelines. Hence, the sprite has most of the same methods as the movie.

Klassenbeschreibung

SWFSprite {
/* Methoden */
void add ( object $object )
__construct ( void )
void labelFrame ( string $label )
void nextFrame ( void )
void remove ( object $object )
void setFrames ( int $number )
SWFSoundInstance startSound ( SWFSound $sount )
void stopSound ( SWFSound $sount )
}

Inhaltsverzeichnis

  • SWFSprite::add — Adds an object to a sprite
  • SWFSprite::__construct — Creates a movie clip (a sprite)
  • SWFSprite::labelFrame — Labels frame
  • SWFSprite::nextFrame — Moves to the next frame of the animation
  • SWFSprite::remove — Removes an object to a sprite
  • SWFSprite::setFrames — Sets the total number of frames in the animation
  • SWFSprite::startSound — Beschreibung
  • SWFSprite::stopSound — Beschreibung
SWFSoundInstance::noMultiple
SWFSprite::add
Ming


Adds an object to a sprite

SWFSprite
SWFSprite::__construct
SWFSprite
PHP Manual

SWFSprite::add

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFSprite::add — Adds an object to a sprite

Beschreibung

void SWFSprite::add ( object $object )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swfsprite::add() adds a swfshape(), a
swfbutton(), a swftext(),
a swfaction() or a swfsprite() object.

For displayable types (swfshape(),
swfbutton(), swftext(),
swfaction() or swfsprite()),
this returns a handle  to the object in a display list.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFSprite
SWFSprite::__construct
SWFSprite


Creates a movie clip (a sprite)

SWFSprite::add
SWFSprite::labelFrame
SWFSprite
PHP Manual

SWFSprite::__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFSprite::__construct — Creates a movie clip (a sprite)

Beschreibung

SWFSprite::__construct ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Creates a new SWFSprite object.

SWFSprite::add
SWFSprite::labelFrame
SWFSprite


Labels frame

SWFSprite::__construct
SWFSprite::nextFrame
SWFSprite
PHP Manual

SWFSprite::labelFrame

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFSprite::labelFrame — Labels frame

Beschreibung

void SWFSprite::labelFrame ( string $label )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFSprite::__construct
SWFSprite::nextFrame
SWFSprite


Moves to the next frame of the animation

SWFSprite::labelFrame
SWFSprite::remove
SWFSprite
PHP Manual

SWFSprite::nextFrame

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFSprite::nextFrame — Moves to the next frame of the animation

Beschreibung

void SWFSprite::nextFrame ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swfsprite::setframes() moves to the next frame of the animation.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFSprite::labelFrame
SWFSprite::remove
SWFSprite


Removes an object to a sprite

SWFSprite::nextFrame
SWFSprite::setFrames
SWFSprite
PHP Manual

SWFSprite::remove

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFSprite::remove — Removes an object to a sprite

Beschreibung

void SWFSprite::remove ( object $object )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swfsprite::remove() remove a swfshape(), a
swfbutton(), a swftext(),
a swfaction() or a swfsprite() object
from the sprite.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFSprite::nextFrame
SWFSprite::setFrames
SWFSprite


Sets the total number of frames in the animation

SWFSprite::remove
SWFSprite::startSound
SWFSprite
PHP Manual

SWFSprite::setFrames

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFSprite::setFrames — Sets the total number of frames in the animation

Beschreibung

void SWFSprite::setFrames ( int $number )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swfsprite::setframes() sets the total number of frames in the animation to numberofframes.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFSprite::remove
SWFSprite::startSound
SWFSprite


SWFSprite::setFrames
SWFSprite::stopSound
SWFSprite
PHP Manual

SWFSprite::startSound

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFSprite::startSound —

Beschreibung

SWFSoundInstance SWFSprite::startSound ( SWFSound $sount )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Siehe auch

  • SWFSprite::stopSound() - Beschreibung

SWFSprite::setFrames
SWFSprite::stopSound
SWFSprite


SWFSprite::startSound
SWFText
SWFSprite
PHP Manual

SWFSprite::stopSound

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFSprite::stopSound —

Beschreibung

void SWFSprite::stopSound ( SWFSound $sount )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SWFSprite::startSound() - Beschreibung

SWFSprite::startSound
SWFText
SWFSprite


The SWFText class

(PHP 5 <= 5.3.0, PECL ming SVN)

Einführung

SWFText.

Klassenbeschreibung

SWFText {
/* Methoden */
void addString ( string $string )
void addUTF8String ( string $text )
__construct ( void )
float getAscent ( void )
float getDescent ( void )
float getLeading ( void )
float getUTF8Width ( string $string )
float getWidth ( string $string )
void moveTo ( float $x , float $y )
void setColor ( int $red , int $green , int $blue [, int $a = 255 ] )
void setFont ( SWFFont $font )
void setHeight ( float $height )
void setSpacing ( float $spacing )
}

Inhaltsverzeichnis

  • SWFText::addString — Draws a string
  • SWFText::addUTF8String — Writes the given text into this SWFText object at the current pen position, using the current font, height, spacing, and color
  • SWFText::__construct — Creates a new SWFText object
  • SWFText::getAscent — Returns the ascent of the current font at its current size, or 0 if not available
  • SWFText::getDescent — Returns the descent of the current font at its current size, or 0 if not available
  • SWFText::getLeading — Returns the leading of the current font at its current size, or 0 if not available
  • SWFText::getUTF8Width — calculates the width of the given string in this text objects current font and size
  • SWFText::getWidth — Computes string's width
  • SWFText::moveTo — Moves the pen
  • SWFText::setColor — Sets the current text color
  • SWFText::setFont — Sets the current font
  • SWFText::setHeight — Sets the current font height
  • SWFText::setSpacing — Sets the current font spacing
SWFSprite::stopSound
SWFText::addString
Ming


Draws a string

SWFText
SWFText::addUTF8String
SWFText
PHP Manual

SWFText::addString

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFText::addString — Draws a string

Beschreibung

void SWFText::addString ( string $string )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swftext::addstring() draws the string string at the current pen (cursor) location. Pen is at the baseline of the text; i.e., ascending text is in the -y direction.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SWFText::addUTF8String() - Writes the given text into this SWFText object at the current pen position, using the current font, height, spacing, and color

SWFText
SWFText::addUTF8String
SWFText


Writes the given text into this SWFText object at the current pen position, using the current font, height, spacing, and color

SWFText::addString
SWFText::__construct
SWFText
PHP Manual

SWFText::addUTF8String

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFText::addUTF8String — Writes the given text into this SWFText object at the current pen position, using the current font, height, spacing, and color

Beschreibung

void SWFText::addUTF8String ( string $text )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SWFText::addString() - Draws a string

SWFText::addString
SWFText::__construct
SWFText


Creates a new SWFText object

SWFText::addUTF8String
SWFText::getAscent
SWFText
PHP Manual

SWFText::__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFText::__construct — Creates a new SWFText object

Beschreibung

SWFText::__construct ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Creates a new SWFText object, fresh for manipulating.

Beispiele

This simple example will draw a big yellow "PHP generates Flash with Ming" text, on white background.

Beispiel #1 swftext() example

<?php
$f = new SWFFont("Techno.fdb");
$t = new SWFText();
$t->setFont($f);
$t->moveTo(200, 2400);
$t->setColor(0xff, 0xff, 0);
$t->setHeight(1200);
$t->addString("PHP generates Flash with Ming!!");

$m = new SWFMovie();
$m->setDimension(5400, 3600);

$m->add($t);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

SWFText::addUTF8String
SWFText::getAscent
SWFText


Returns the ascent of the current font at its current size, or 0 if not available

SWFText::__construct
SWFText::getDescent
SWFText
PHP Manual

SWFText::getAscent

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFText::getAscent — Returns the ascent of the current font at its current size, or 0 if not available

Beschreibung

float SWFText::getAscent ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Siehe auch

  • SWFText::getDescent() - Returns the descent of the current font at its current size, or 0 if not available

SWFText::__construct
SWFText::getDescent
SWFText


Returns the descent of the current font at its current size, or 0 if not available

SWFText::getAscent
SWFText::getLeading
SWFText
PHP Manual

SWFText::getDescent

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFText::getDescent — Returns the descent of the current font at its current size, or 0 if not available

Beschreibung

float SWFText::getDescent ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Siehe auch

  • SWFText::getAscent() - Returns the ascent of the current font at its current size, or 0 if not available

SWFText::getAscent
SWFText::getLeading
SWFText


Returns the leading of the current font at its current size, or 0 if not available

SWFText::getDescent
SWFText::getUTF8Width
SWFText
PHP Manual

SWFText::getLeading

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFText::getLeading — Returns the leading of the current font at its current size, or 0 if not available

Beschreibung

float SWFText::getLeading ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

SWFText::getDescent
SWFText::getUTF8Width
SWFText


calculates the width of the given string in this text objects current font and size

SWFText::getLeading
SWFText::getWidth
SWFText
PHP Manual

SWFText::getUTF8Width

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFText::getUTF8Width — calculates the width of the given string in this text objects current font and size

Beschreibung

float SWFText::getUTF8Width ( string $string )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Siehe auch

  • SWFText::getWidth() - Computes string's width

SWFText::getLeading
SWFText::getWidth
SWFText


Computes string's width

SWFText::getUTF8Width
SWFText::moveTo
SWFText
PHP Manual

SWFText::getWidth

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFText::getWidth — Computes string's width

Beschreibung

float SWFText::getWidth ( string $string )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Returns the rendered width of the string at the text object's current font, scale, and spacing settings.

Siehe auch

  • SWFText::getUTF8Width() - calculates the width of the given string in this text objects current font and size

SWFText::getUTF8Width
SWFText::moveTo
SWFText


Moves the pen

SWFText::getWidth
SWFText::setColor
SWFText
PHP Manual

SWFText::moveTo

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFText::moveTo — Moves the pen

Beschreibung

void SWFText::moveTo ( float $x , float $y )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swftext::moveto() moves the pen (or cursor, if that makes more sense) to (x,y) in text object's coordinate space. If either is zero, though, value in that dimension stays the same. Annoying, should be fixed.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFText::getWidth
SWFText::setColor
SWFText


Sets the current text color

SWFText::moveTo
SWFText::setFont
SWFText
PHP Manual

SWFText::setColor

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFText::setColor — Sets the current text color

Beschreibung

void SWFText::setColor ( int $red , int $green , int $blue [, int $a = 255 ] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Changes the current text color.

Parameter-Liste

These parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF:

red

Value of red component

green

Value of green component

blue

Value of blue component

a

Value of alpha component

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFText::moveTo
SWFText::setFont
SWFText


Sets the current font

SWFText::setColor
SWFText::setHeight
SWFText
PHP Manual

SWFText::setFont

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFText::setFont — Sets the current font

Beschreibung

void SWFText::setFont ( SWFFont $font )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swftext::setfont() sets the current font to font.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFText::setColor
SWFText::setHeight
SWFText


Sets the current font height

SWFText::setFont
SWFText::setSpacing
SWFText
PHP Manual

SWFText::setHeight

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFText::setHeight — Sets the current font height

Beschreibung

void SWFText::setHeight ( float $height )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swftext::setheight() sets the current font height to height. Default is 240.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFText::setFont
SWFText::setSpacing
SWFText


Sets the current font spacing

SWFText::setHeight
SWFTextField
SWFText
PHP Manual

SWFText::setSpacing

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFText::setSpacing — Sets the current font spacing

Beschreibung

void SWFText::setSpacing ( float $spacing )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swftext::setspacing() sets the current font spacing to spacing. Default is 1.0. 0 is all of the letters written at the same point. This doesn't really work that well because it inflates the advance across the letter, doesn't add the same amount of spacing between the letters. I should try and explain that better, prolly. Or just fix the damn thing to do constant spacing. This was really just a way to figure out how letter advances work, anyway.. So nyah.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFText::setHeight
SWFTextField
SWFText


The SWFTextField class

(PHP 5 <= 5.3.0, PECL ming SVN)

Einführung

SWFTextField.

Klassenbeschreibung

SWFTextField {
/* Methoden */
void addChars ( string $chars )
void addString ( string $string )
void align ( int $alignement )
__construct ([ int $flags ] )
void setBounds ( float $width , float $height )
void setColor ( int $red , int $green , int $blue [, int $a = 255 ] )
void setFont ( SWFFont $font )
void setHeight ( float $height )
void setIndentation ( float $width )
void setLeftMargin ( float $width )
void setLineSpacing ( float $height )
void setMargins ( float $left , float $right )
void setName ( string $name )
void setPadding ( float $padding )
void setRightMargin ( float $width )
}

Inhaltsverzeichnis

  • SWFTextField::addChars — adds characters to a font that will be available within a textfield
  • SWFTextField::addString — Concatenates the given string to the text field
  • SWFTextField::align — Sets the text field alignment
  • SWFTextField::__construct — Creates a text field object
  • SWFTextField::setBounds — Sets the text field width and height
  • SWFTextField::setColor — Sets the color of the text field
  • SWFTextField::setFont — Sets the text field font
  • SWFTextField::setHeight — Sets the font height of this text field font
  • SWFTextField::setIndentation — Sets the indentation of the first line
  • SWFTextField::setLeftMargin — Sets the left margin width of the text field
  • SWFTextField::setLineSpacing — Sets the line spacing of the text field
  • SWFTextField::setMargins — Sets the margins width of the text field
  • SWFTextField::setName — Sets the variable name
  • SWFTextField::setPadding — Sets the padding of this textfield
  • SWFTextField::setRightMargin — Sets the right margin width of the text field
SWFText::setSpacing
SWFTextField::addChars
Ming


adds characters to a font that will be available within a textfield

SWFTextField
SWFTextField::addString
SWFTextField
PHP Manual

SWFTextField::addChars

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFTextField::addChars — adds characters to a font that will be available within a textfield

Beschreibung

void SWFTextField::addChars ( string $chars )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SWFTextField::addString() - Concatenates the given string to the text field

SWFTextField
SWFTextField::addString
SWFTextField


Concatenates the given string to the text field

SWFTextField::addChars
SWFTextField::align
SWFTextField
PHP Manual

SWFTextField::addString

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFTextField::addString — Concatenates the given string to the text field

Beschreibung

void SWFTextField::addString ( string $string )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swftextfield::setname() concatenates the string string to the text field.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFTextField::addChars
SWFTextField::align
SWFTextField


Sets the text field alignment

SWFTextField::addString
SWFTextField::__construct
SWFTextField
PHP Manual

SWFTextField::align

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFTextField::align — Sets the text field alignment

Beschreibung

void SWFTextField::align ( int $alignement )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swftextfield::align() sets the text field alignment to alignement. Valid values for alignement are : SWFTEXTFIELD_ALIGN_LEFT, SWFTEXTFIELD_ALIGN_RIGHT, SWFTEXTFIELD_ALIGN_CENTER and SWFTEXTFIELD_ALIGN_JUSTIFY.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFTextField::addString
SWFTextField::__construct
SWFTextField


Creates a text field object

SWFTextField::align
SWFTextField::setBounds
SWFTextField
PHP Manual

SWFTextField::__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFTextField::__construct — Creates a text field object

Beschreibung

SWFTextField::__construct ([ int $flags ] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swftextfield() creates a new text field object. Text Fields are less flexible than swftext() objects- they can't be rotated, scaled non-proportionally, or skewed, but they can be used as form entries, and they can use browser-defined fonts.

The optional flags change the text field's behavior. It has the following possibles values :

  • SWFTEXTFIELD_DRAWBOX draws the outline of the textfield
  • SWFTEXTFIELD_HASLENGTH
  • SWFTEXTFIELD_HTML allows text markup using HTML-tags
  • SWFTEXTFIELD_MULTILINE allows multiple lines
  • SWFTEXTFIELD_NOEDIT indicates that the field shouldn't be user-editable
  • SWFTEXTFIELD_NOSELECT makes the field non-selectable
  • SWFTEXTFIELD_PASSWORD obscures the data entry
  • SWFTEXTFIELD_WORDWRAP allows text to wrap
Flags are combined with the bitwise OR operation. For example,
<?php
$t = newSWFTextField(SWFTEXTFIELD_PASSWORD | SWFTEXTFIELD_NOEDIT);
?>
creates a totally useless non-editable password field.

SWFTextField has the following methods : swftextfield::setfont(),
swftextfield::setbounds(), swftextfield::align(),
swftextfield::setheight(), swftextfield::setleftmargin(),
swftextfield::setrightmargin(), swftextfield::setmargins(),
swftextfield::setindentation(), swftextfield::setlinespacing(),
swftextfield::setcolor(), swftextfield::setname() and
swftextfield::addstring().

SWFTextField::align
SWFTextField::setBounds
SWFTextField


Sets the text field width and height

SWFTextField::__construct
SWFTextField::setColor
SWFTextField
PHP Manual

SWFTextField::setBounds

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFTextField::setBounds — Sets the text field width and height

Beschreibung

void SWFTextField::setBounds ( float $width , float $height )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swftextfield::setbounds() sets the text field width to width and height to height. If you don't set the bounds yourself, Ming makes a poor guess at what the bounds are.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFTextField::__construct
SWFTextField::setColor
SWFTextField


Sets the color of the text field

SWFTextField::setBounds
SWFTextField::setFont
SWFTextField
PHP Manual

SWFTextField::setColor

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFTextField::setColor — Sets the color of the text field

Beschreibung

void SWFTextField::setColor ( int $red , int $green , int $blue [, int $a = 255 ] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swftextfield::setcolor() sets the color of the text field. Default is fully opaque black. Color is represented using RGB system.

Parameter-Liste

These parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF:

red

Value of red component

green

Value of green component

blue

Value of blue component

a

Value of alpha component

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFTextField::setBounds
SWFTextField::setFont
SWFTextField


Sets the text field font

SWFTextField::setColor
SWFTextField::setHeight
SWFTextField
PHP Manual

SWFTextField::setFont

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFTextField::setFont — Sets the text field font

Beschreibung

void SWFTextField::setFont ( SWFFont $font )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swftextfield::setfont() sets the text field font to the [browser-defined?] font font.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFTextField::setColor
SWFTextField::setHeight
SWFTextField


Sets the font height of this text field font

SWFTextField::setFont
SWFTextField::setIndentation
SWFTextField
PHP Manual

SWFTextField::setHeight

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFTextField::setHeight — Sets the font height of this text field font

Beschreibung

void SWFTextField::setHeight ( float $height )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swftextfield::setheight() sets the font height of this text field font to the given height height. Default is 240.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFTextField::setFont
SWFTextField::setIndentation
SWFTextField


Sets the indentation of the first line

SWFTextField::setHeight
SWFTextField::setLeftMargin
SWFTextField
PHP Manual

SWFTextField::setIndentation

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFTextField::setIndentation — Sets the indentation of the first line

Beschreibung

void SWFTextField::setIndentation ( float $width )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swftextfield::setindentation() sets the indentation of the first line in the text field, to width.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFTextField::setHeight
SWFTextField::setLeftMargin
SWFTextField


Sets the left margin width of the text field

SWFTextField::setIndentation
SWFTextField::setLineSpacing
SWFTextField
PHP Manual

SWFTextField::setLeftMargin

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFTextField::setLeftMargin — Sets the left margin width of the text field

Beschreibung

void SWFTextField::setLeftMargin ( float $width )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swftextfield::setleftmargin() sets the left margin width of the text field to width. Default is 0.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFTextField::setIndentation
SWFTextField::setLineSpacing
SWFTextField


Sets the line spacing of the text field

SWFTextField::setLeftMargin
SWFTextField::setMargins
SWFTextField
PHP Manual

SWFTextField::setLineSpacing

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFTextField::setLineSpacing — Sets the line spacing of the text field

Beschreibung

void SWFTextField::setLineSpacing ( float $height )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swftextfield::setlinespacing() sets the line spacing of the text field to the height of height. Default is 40.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFTextField::setLeftMargin
SWFTextField::setMargins
SWFTextField


Sets the margins width of the text field

SWFTextField::setLineSpacing
SWFTextField::setName
SWFTextField
PHP Manual

SWFTextField::setMargins

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFTextField::setMargins — Sets the margins width of the text field

Beschreibung

void SWFTextField::setMargins ( float $left , float $right )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swftextfield::setmargins() set both margins at once, for the man on the go.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFTextField::setLineSpacing
SWFTextField::setName
SWFTextField


Sets the variable name

SWFTextField::setMargins
SWFTextField::setPadding
SWFTextField
PHP Manual

SWFTextField::setName

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFTextField::setName — Sets the variable name

Beschreibung

void SWFTextField::setName ( string $name )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swftextfield::setname() sets the variable name of this text field to name, for form posting and action scripting purposes.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFTextField::setMargins
SWFTextField::setPadding
SWFTextField


Sets the padding of this textfield

SWFTextField::setName
SWFTextField::setRightMargin
SWFTextField
PHP Manual

SWFTextField::setPadding

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFTextField::setPadding — Sets the padding of this textfield

Beschreibung

void SWFTextField::setPadding ( float $padding )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFTextField::setName
SWFTextField::setRightMargin
SWFTextField


Sets the right margin width of the text field

SWFTextField::setPadding
SWFVideoStream
SWFTextField
PHP Manual

SWFTextField::setRightMargin

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFTextField::setRightMargin — Sets the right margin width of the text field

Beschreibung

void SWFTextField::setRightMargin ( float $width )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

swftextfield::setrightmargin() sets the right margin width of the text field to width. Default is 0.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFTextField::setPadding
SWFVideoStream
SWFTextField


The SWFVideoStream class

(PHP 5.0.5-5.3.0, PHP 7, PECL ming SVN)

Einführung

SWFVideoStream.

Klassenbeschreibung

SWFVideoStream {
/* Methoden */
__construct ([ string $file ] )
int getNumFrames ( void )
void setDimension ( int $x , int $y )
}

Inhaltsverzeichnis

  • SWFVideoStream::__construct — Returns a SWFVideoStream object
  • SWFVideoStream::getNumFrames — Returns the number of frames in the video
  • SWFVideoStream::setDimension — Sets video dimension
SWFTextField::setRightMargin
SWFVideoStream::__construct
Ming


Returns a SWFVideoStream object

SWFVideoStream
SWFVideoStream::getNumFrames
SWFVideoStream
PHP Manual

SWFVideoStream::__construct

(PHP 5.0.5-5.3.0, PHP 7, PECL ming SVN)

SWFVideoStream::__construct — Returns a SWFVideoStream object

Beschreibung

SWFVideoStream::__construct ([ string $file ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

SWFVideoStream
SWFVideoStream::getNumFrames
SWFVideoStream


Returns the number of frames in the video

SWFVideoStream::__construct
SWFVideoStream::setDimension
SWFVideoStream
PHP Manual

SWFVideoStream::getNumFrames

(PHP 5.0.5-5.3.0, PHP 7, PECL ming SVN)

SWFVideoStream::getNumFrames — Returns the number of frames in the video

Beschreibung

int SWFVideoStream::getNumFrames ( void )

This function returns the number of video-frames of a SWFVideoStream.

Rückgabewerte

Returns the number of frames, as an integer

SWFVideoStream::__construct
SWFVideoStream::setDimension
SWFVideoStream


Sets video dimension

SWFVideoStream::getNumFrames
PDF
SWFVideoStream
PHP Manual

SWFVideoStream::setDimension

(PHP 5.0.5-5.3.0, PHP 7, PECL ming SVN)

SWFVideoStream::setDimension — Sets video dimension

Beschreibung

void SWFVideoStream::setDimension ( int $x , int $y )

Sets the width and height for streamed videos.

Parameter-Liste

x

Width in pixels.

y

Height in pixels.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SWFVideoStream::getNumFrames
PDF
SWFVideoStream


PDF

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • Einfache Anwendungsbeispiele
  • PDF Funktionen
    • PDF_activate_item — Aktiviert ein Strukturelement oder einen anderen Dokumentbestandteil
    • PDF_add_annotation — Fügt Notiz hinzu [veraltet, nicht empfohlen]
    • PDF_add_bookmark — Fügt Lesezeichen für die aktuelle Seite ein [veraltet, nicht empfohlen]
    • PDF_add_launchlink — Fügt eine Webverknüpfung auf der aktuellen Seite ein [veraltet, nicht empfohlen]
    • PDF_add_locallink — Fügt Verknüpfung auf aktueller Seite ein [veraltet, nicht empfohlen]
    • PDF_add_nameddest — Erzeugt benanntes Sprungziel
    • PDF_add_note — Fügt Notiz auf aktueller Seite ein [veraltet, nicht empfohlen]
    • PDF_add_outline — Fügt Lesezeichen für aktuelle Seite ein [veraltet, nicht empfohlen]
    • PDF_add_pdflink — Fügt eine Dateiverknüpfung auf der aktuellen Seite ein [veraltet, nicht empfohlen]
    • PDF_add_table_cell — Fügt eine Zelle zu einer neuen oder vorhandenen Tabelle hinzu
    • PDF_add_textflow — Erzeugt ein Textflussobjekt oder fügt Text zu einem Textflussobjekt hinzu
    • PDF_add_thumbnail — Fügt ein verkleinertes Bild auf der aktuellen Seite ein
    • PDF_add_weblink — Fügt Web-Verknüpfung auf der aktuellen Seite ein [veraltet, nicht empfohlen]
    • PDF_arc — Zeichnet Kreissegment gegen Uhrzeigersinn
    • PDF_arcn — Zeichnet ein Kreissegment im Uhrzeigersinn
    • PDF_attach_file — Fügt einen Dateianhang auf der aktuellen Seite ein [veraltet, nicht empfohlen]
    • PDF_begin_document — Erstellt eine neue PDF-Datei
    • PDF_begin_font — Beginnt eine Typ-3-Schriftdefinition
    • PDF_begin_glyph — Beginnt eine Glyphendefinition für eine Typ-3-Schriftart
    • PDF_begin_item — Öffnet ein Strukturelement oder anderen Dokumentbestandteil
    • PDF_begin_layer — Beginnt eine Ebene
    • PDF_begin_page_ext — Beginnt neue Seite
    • PDF_begin_page — Beginnt eine neue Seite [veraltet, nicht empfohlen]
    • PDF_begin_pattern — Beginnt eine Füllmusterdefinition
    • PDF_begin_template_ext — Beginnt eine Templatedefinition
    • PDF_begin_template — Beginnt Templatedefinition [veraltet, nicht empfohlen]
    • PDF_circle — Zeichnet einen Kreis
    • PDF_clip — Setzt den aktuellen Pfad als Clipping-Pfad
    • PDF_close_image — Schließt das Bild
    • PDF_close_pdi_page — Schließt das Seitenhandle
    • PDF_close_pdi — Schließt das PDF-Importdokument [veraltet, nicht empfohlen]
    • PDF_close — Schließt die PDF-Ressource [veraltet, nicht empfohlen]
    • PDF_closepath_fill_stroke — Schließt, füllt und umrandet den aktuellen Pfad
    • PDF_closepath_stroke — Schließt und umrandet den Pfad
    • PDF_closepath — Schließt den aktuellen Pfad
    • PDF_concat — Verknüpft eine Matrix mit der CTM
    • PDF_continue_text — Gibt Text in der nächsten Zeile aus
    • PDF_create_3dview — Erzeugt einen 3D-View
    • PDF_create_action — Erzeugt Aktionen für Objekte und Events
    • PDF_create_annotation — Erzeugt eine rechteckige Anmerkung
    • PDF_create_bookmark — Erstellt ein Lesezeichen
    • PDF_create_field — Erstellt Formularfeld
    • PDF_create_fieldgroup — Erstellt Formularfeldgruppe
    • PDF_create_gstate — Erzeugt Grafikzustandsobjekt
    • PDF_create_pvf — Erzeugt virtuelle PDFlib-Datei
    • PDF_create_textflow — Erzeugt Textflussobjekt
    • PDF_curveto — Zeichnet Bézier-Kurve
    • PDF_define_layer — Erzeugt Ebenendefinition
    • PDF_delete_pvf — Löscht virtuelle PDFlib-Datei
    • PDF_delete_table — Löscht Tabellenobjekt
    • PDF_delete_textflow — Löscht Textflussobjekt
    • PDF_delete — Löscht PDFlib-Objekt
    • PDF_encoding_set_char — Fügt Glyphennamen und/oder Unicode-Wert hinzu
    • PDF_end_document — Schließt PDF-Datei
    • PDF_end_font — Beendet Type-3-Schriftdefinition
    • PDF_end_glyph — Beendet Type-3-Glyphendefinition
    • PDF_end_item — Schließt Strukturelement oder anderen Dokumentbestandteil
    • PDF_end_layer — Deaktiviert alle aktiven Ebenen
    • PDF_end_page_ext — Beendet Seite
    • PDF_end_page — Beendet Seite
    • PDF_end_pattern — Beendet Füllmuster
    • PDF_end_template — Beendet Template
    • PDF_endpath — Beendet aktuellen Pfad
    • PDF_fill_imageblock — Füllt Image-Block mit variablen Daten
    • PDF_fill_pdfblock — Füllt PDF-Block mit variablen Daten
    • PDF_fill_stroke — Füllt und zeichnet Pfad
    • PDF_fill_textblock — Füllt Text-Block mit variablen Daten
    • PDF_fill — Füllt aktuellen Pfad
    • PDF_findfont — Bereitet Schrift für spätere Verwendung vor [veraltet]
    • PDF_fit_image — Platziert Bild oder Template
    • PDF_fit_pdi_page — Platziert importierte PDF-Seite
    • PDF_fit_table — Platziert Tabelle auf der Seite
    • PDF_fit_textflow — Passt Textfluss in rechteckigen Bereich ein
    • PDF_fit_textline — Platziert einzelne Textzeile
    • PDF_get_apiname — Ermittelt Namen von gescheiterter API-Funktion
    • PDF_get_buffer — Holt PDF-Ausgabepuffer
    • PDF_get_errmsg — Ermittelt Fehlertext
    • PDF_get_errnum — Ermittelt Fehlernummer
    • PDF_get_font — Ermittelt Schrift [veraltet]
    • PDF_get_fontname — Ermittelt Schriftnamen [veraltet]
    • PDF_get_fontsize — Schriftbehandlung [veraltet]
    • PDF_get_image_height — Ermittelt Bildhöhe [veraltet]
    • PDF_get_image_width — Ermittelt Bildbreite [veraltet]
    • PDF_get_majorversion — Ermittelt Hauptversionsnummer [veraltet]
    • PDF_get_minorversion — Ermittelt Unterversionsnummer [veraltet]
    • PDF_get_parameter — Ermittelt String-Parameter
    • PDF_get_pdi_parameter — Ermittelt PDI String-Parameter [veraltet]
    • PDF_get_pdi_value — Ermittelt numerischen PDI-Parameter [veraltet]
    • PDF_get_value — Ermittelt numerischen Parameter
    • pdf_info_font — Fragt Einzelheiten zu geladenem Font ab
    • PDF_info_matchbox — Fragt Matchbox-Informationen ab
    • PDF_info_table — Fragt Tabellen-Informationen ab
    • PDF_info_textflow — Ermittelt Zustand eines Textflusses
    • PDF_info_textline — Formatiert Textzeile und ermittelt Metrikdaten
    • PDF_initgraphics — Setzt Grafikzustand zurück
    • PDF_lineto — Zeichnet Linie
    • PDF_load_3ddata — Öffnet 3D-Modell
    • PDF_load_font — Sucht und bereitet Schrift vor
    • PDF_load_iccprofile — Sucht und bereitet ICC-Profil vor
    • PDF_load_image — Öffnet Bilddatei
    • PDF_makespotcolor — Erstellt Schmuckfarbe
    • PDF_moveto — Setzt aktuelle Position
    • PDF_new — Erzeugt PDFlib-Objekt
    • PDF_open_ccitt — Öffnet CCITT-Rohbild [veraltet]
    • PDF_open_file — Erzeugt PDF-Datei [veraltet]
    • PDF_open_gif — Öffnet GIF-Bild [veraltet]
    • PDF_open_image_file — Liest Bild aus Datei [veraltet]
    • PDF_open_image — Verwendet Bilddaten [veraltet]
    • PDF_open_jpeg — Öffnet JPEG-Bild [veraltet]
    • PDF_open_memory_image — Öffnet mit PHP-Bildfunktionen erzeugtes Bild [nicht unterstützt]
    • PDF_open_pdi_document — Bereited ein PDI Dokument vor
    • PDF_open_pdi_page — Bereitet Seite vor
    • PDF_open_pdi — Öffnet PDF-Datei [veraltet]
    • PDF_open_tiff — Öffnet TIFF-Bild [veraltet]
    • PDF_pcos_get_number — Ermittelt Wert eines pCOS-Pfades vom Typ Zahl oder Boolean
    • PDF_pcos_get_stream — Ermittelt Inhalt eines pCOS-Pfades vom Typ stream, fstream oder string
    • PDF_pcos_get_string — Ermittelt Wert eines pCOS-Pfades vom Typ Name, String oder Boolean
    • PDF_place_image — Platziert Bild auf der Seite [veraltet]
    • PDF_place_pdi_page — Platziert PDF-Seite [veraltet]
    • PDF_process_pdi — Verarbeitet importiertes PDF-Dokument
    • PDF_rect — Zeichnet Rechteck
    • PDF_restore — Stellt Grafikzustand wieder her
    • PDF_resume_page — Setzt Seite fort
    • PDF_rotate — Dreht Koordinatensystem
    • PDF_save — Speichert Grafikzustand
    • PDF_scale — Skaliert Koordinatensystem
    • PDF_set_border_color — Legt Randfarbe von Anmerkungen fest [veraltet]
    • PDF_set_border_dash — Legt Strichmuster für Rand von Anmerkungen fest [veraltet]
    • PDF_set_border_style — Legt Randstil von Anmerkungen fest [veraltet]
    • PDF_set_char_spacing — Legt den Zeichenabstand fest [veraltet]
    • PDF_set_duration — Legt Anzeigedauer von Seiten fest [veraltet]
    • PDF_set_gstate — Aktiviert Grafikzustandsobjekt
    • PDF_set_horiz_scaling — Legt horizontale Textskalierung fest [veraltet]
    • PDF_set_info_author — Füllt Dokumentinfofeld für Verfasser [veraltet]
    • PDF_set_info_creator — Füllt Dokumentinfofeld für Anwendung [veraltet]
    • PDF_set_info_keywords — Füllt Dokumentinfofeld für Stichwörter [veraltet]
    • PDF_set_info_subject — Füllt Dokumentinfofeld für Thema [veraltet]
    • PDF_set_info_title — Füllt Dokumentinfofeld für Titel [veraltet]
    • PDF_set_info — Füllt Dokumentinfofeld
    • PDF_set_layer_dependency — Definiert Beziehungen zwischen Ebenen
    • PDF_set_leading — Bestimmt Textzeilenabstand [veraltet]
    • PDF_set_parameter — Legt String-Parameter fest
    • PDF_set_text_matrix — Legt Textmatrix fest [veraltet]
    • PDF_set_text_pos — Legt aktuelle Textposition fest
    • PDF_set_text_rendering — Bestimmt Darstellungsmodus für Text [veraltet]
    • PDF_set_text_rise — Bestimmt vertikalen Textversatz [veraltet]
    • PDF_set_value — Legt numerischen Parameter fest
    • PDF_set_word_spacing — Legt Wortabstand fest [veraltet]
    • PDF_setcolor — Legt Füll- und Zeichenfarbe fest
    • PDF_setdash — Legt einfaches Strichmuster fest
    • PDF_setdashpattern — Legt Strichmuster fest
    • PDF_setflat — Legt Flatness-Parameter fest
    • PDF_setfont — Legt aktuelle Schrift fest
    • PDF_setgray_fill — Legt Füllfarbe als Grauwert fest [veraltet]
    • PDF_setgray_stroke — Left Zeichenfarbe als Grauwert fest [veraltet]
    • PDF_setgray — Legt Farbe als Grauwert fest [veraltet]
    • PDF_setlinecap — Legt linecap-Parameter fest
    • PDF_setlinejoin — Legt linejoin-Parameter fest
    • PDF_setlinewidth — Legt aktuelle Strichstärke fest
    • PDF_setmatrix — Legt aktuelle Transformationsmatrix fest
    • PDF_setmiterlimit — Legt Gehrungsgrenzwert fest
    • PDF_setpolydash — Legt komplexes Strichmuster fest [veraltet]
    • PDF_setrgbcolor_fill — Legt Füllfarbe in RGB fest [veraltet]
    • PDF_setrgbcolor_stroke — Legt Zeichenfarbe in RGB fest [veraltet]
    • PDF_setrgbcolor — Legt Füll- und Zeichenfarbe in RGB fest [veraltet]
    • PDF_shading_pattern — Definiert Farbverlaufsmuster
    • PDF_shading — Definiert Farbverlauf
    • PDF_shfill — Füllt Bereich mit Farbverlauf
    • PDF_show_boxed — Gibt Text in eine Box aus [veraltet, nicht empfohlen]
    • PDF_show_xy — Gibt Text an der angegebenen Position aus
    • PDF_show — Gibt Text an der aktueller Position aus
    • PDF_skew — Verzerrt Koordinatensystem
    • PDF_stringwidth — Gibt Textbreite zurück
    • PDF_stroke — Zeichnet Pfad
    • PDF_suspend_page — Unterbricht Seite
    • PDF_translate — Verschiebt den Ursprung des Koordinatensystems
    • PDF_utf16_to_utf8 — Konvertiert String von UTF-16 nach UTF-8
    • PDF_utf32_to_utf16 — Konvertiert String von UTF-32 nach UTF-16
    • PDF_utf8_to_utf16 — Konvertiert String von UTF-8 nach UTF-16
SWFVideoStream::setDimension
Einführung
Non-Text MIME-Ausgaben


Einführung

Die PDF Funktionen in PHP können PDF Dateien unter Verwendung der PDFlib Bibliothek von PDFlib GmbH (» www.pdflib.com) erzeugen. Eine eingeschränkte Version namens PDFlib Lite 7 ist kostenlos verfügbar, wird aber seit 2010 nicht weiter gepflegt. Die PDFlib Integration in PHP wird noch immer von PDFlib GmbH aktiv gepflegt. Sie ist hauptsächlich auf die kommerziellen PDFlib Versionen gerichtet, aber kann auch für die alte PDFlib Lite genutzt werden.

Zum schnellen Einstieg sollten Sie sich unbedingt die Code-Beispiele, die in jedem PDFlib-Paket enthalten sind, und die umfangreichen Handbücher im PDF-Format, die ebenfalls enthalten sind, ansehen. Zumindest sollten Sie einen Blick auf das hello.php Beispiel werfen, um die grundlegende Einrichtung für die PDFlib Verwendung zu erlernen.

Hinweis:

Wenn Sie an weiterer frei verfügbarer Software zur PDF-Erzeugung interessiert sind, die keine externe PDF-Bibliothek verwendet, können Sie sich in dieser FAQ informieren.

PDF
Installation/Konfiguration
PDF


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
PDF


Anforderungen

PDFlib Lite ist als Open Source verfügbar. Die Lizenz von PDFlib Lite erlaubt den kostenlosen Einsatz aber nur unter bestimmten Bedingungen. PDFlib Lite unterstützt eine Teilmenge von PDFlib angebotenen Funktionen; Einzelheiten hierzu finden Sie auf der PDFlib-Website. Die PDFlib-Vollversion kann von » http://www.pdflib.com/products/pdflib-family/ heruntergeladen werden. Zum kommerziellen Einsatz müssen Sie jedoch eine Lizenz erwerben.

Anmerkungen zu älteren PDFlib-Versionen

PDFlib vor Version 3 wird von PHP 4 nach 9. März 2000 nicht mehr unterstützt.

PDFlib ab Version 4 wird ab PHP 4.3.0 unterstützt.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese » PECL-Extension ist nicht Teil von PHP. Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/pdflib.

Um diese Funktionen in PHP < 4.3.9 zu nutzen, müssen Sie PHP mit --with-pdflib[=DIR] kompilieren. DIR ist das PDFlib-Installationsverzeichnis, standardmäßig /usr/local.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Ressource-Typen

PDF_new() creates a new PDFlib object required by most PDF functions.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
Beispiele
PDF


Beispiele

Inhaltsverzeichnis

  • Einfache Anwendungsbeispiele
Vordefinierte Konstanten
Einfache Anwendungsbeispiele
PDF


Einfache Anwendungsbeispiele

Die meisten Funktionen sind einfach zu verwenden. Die schwierigste Aufgabe ist vielleicht, Ihr erstes PDF-Dokument zu erstellen. Das folgende Beispiel sollte Ihnen den Einstieg erleichtern. Es ist für PHP 4 entwickelt und erstellt die Datei hallo.pdf mit einer Seite. Das Beispiel definiert den Inhalt einiger Dokumentinformationsfelder, lädt die Schriftart Helvetica-Bold und gibt den Text "Hallo Welt! (sagt PHP)" aus.

Beispiel #1 "Hallo Welt"-Beispiel der PDFlib-Distribution für PHP 4

<?php
$p = PDF_new();

/* öffnet eine neue PDF-Datei; fügen Sie einen Dateinamen ein,
   um das PDF auf der Platte zu speichern */
if (PDF_begin_document($p, "", "") == 0) {
    die("Error: " . PDF_get_errmsg($p));
}

PDF_set_info($p, "Creator", "hallo.php");
PDF_set_info($p, "Author", "Rainer Schaaf");
PDF_set_info($p, "Title", "Hallo Welt (PHP)!");

PDF_begin_page_ext($p, 595, 842, "");

$font = PDF_load_font($p, "Helvetica-Bold", "winansi", "");

PDF_setfont($p, $font, 24.0);
PDF_set_text_pos($p, 50, 700);
PDF_show($p, "Hallo Welt!");
PDF_continue_text($p, "(sagt PHP)");
PDF_end_page_ext($p, "");

PDF_end_document($p, "");

$buf = PDF_get_buffer($p);
$len = strlen($buf);

header("Content-type: application/pdf");
header("Content-Length: $len");
header("Content-Disposition: inline; filename=hallo.pdf");
print $buf;

PDF_delete($p);
?>

Das folgende Code-Beispiel ist in der PDFlib-Distribution für PHP 5 enthalten. Es verwendet die in PHP 5 erstmalig verfügbare Funktionalität zur Ausnahmebehandlung und Objektkapselung. Das Beispiel erstellt eine einseitige Datei namens hallo.pdf. Es definiert den Inhalt einiger Dokumentinformationsfelder, lädt die Schrift Helvetica-Bold und gibt den Text "Hallo Welt! (sagt PHP)" aus.

Beispiel #2 "Hallo Welt"-Beispiel der PDFlib-Distribution für PHP 5

<?php

try {
    $p = new PDFlib();

    /* öffnet eine neue PDF-Datei; fügen Sie einen Dateinamen ein,
       um das PDF auf der Platte zu speichern */
    if ($p->begin_document("", "") == 0) {
        die("Error: " . $p->get_errmsg());
    }

    $p->set_info("Creator", "hallo.php");
    $p->set_info("Author", "Rainer Schaaf");
    $p->set_info("Title", "Hallo Welt (PHP)!");

    $p->begin_page_ext(595, 842, "");

    $font = $p->load_font("Helvetica-Bold", "winansi", "");

    $p->setfont($font, 24.0);
    $p->set_text_pos(50, 700);
    $p->show("Hallo Welt!");
    $p->continue_text("(sagt PHP)");
    $p->end_page_ext("");

    $p->end_document("");

    $buf = $p->get_buffer();
    $len = strlen($buf);

    header("Content-type: application/pdf");
    header("Content-Length: $len");
    header("Content-Disposition: inline; filename=hallo.pdf");
    print $buf;
}
catch (PDFlibException $e) {
    die("Eine PDFlib-Exception ist aufgetreten im hallo-Schnipsel:\n" .
    "[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " .
    $e->get_errmsg() . "\n");
}
catch (Exception $e) {
    die($e);
}
$p = 0;
?>

Beispiele
PDF Funktionen
Beispiele


PDF Funktionen

Anmerkungen zu veralteten PDF-Funktionen

Seit PHP 4.0.5 wird die PHP-Erweiterung für PDFlib von der PDFlib GmbH offiziell unterstützt. Das bedeutet, dass alle im PDFlib-Referenzhandbuch beschriebenen Funktionen von PHP 4 mit den beschriebenen Parametern und der beschriebenen Funktionalität unterstützt werden. Seit PDFlib Version 5.0.4 müssen alle Parameter auch übergeben werden. Zur Kompatibilität unterstützt PDFlib weiterhin die meisten der inzwischen veralteten Funktionen, diese sollten jedoch durch entsprechende neue Funktionen ersetzt werden. PDFlib GmbH bietet keinerlei Unterstützung bei Problemen mit veralteten Funktionen. Die vorliegende Beschreibung kennzeichnet veraltete Funktionen und gibt die stattdessen zu verwendenden Funktionen an.

Inhaltsverzeichnis

  • PDF_activate_item — Aktiviert ein Strukturelement oder einen anderen Dokumentbestandteil
  • PDF_add_annotation — Fügt Notiz hinzu [veraltet, nicht empfohlen]
  • PDF_add_bookmark — Fügt Lesezeichen für die aktuelle Seite ein [veraltet, nicht empfohlen]
  • PDF_add_launchlink — Fügt eine Webverknüpfung auf der aktuellen Seite ein [veraltet, nicht empfohlen]
  • PDF_add_locallink — Fügt Verknüpfung auf aktueller Seite ein [veraltet, nicht empfohlen]
  • PDF_add_nameddest — Erzeugt benanntes Sprungziel
  • PDF_add_note — Fügt Notiz auf aktueller Seite ein [veraltet, nicht empfohlen]
  • PDF_add_outline — Fügt Lesezeichen für aktuelle Seite ein [veraltet, nicht empfohlen]
  • PDF_add_pdflink — Fügt eine Dateiverknüpfung auf der aktuellen Seite ein [veraltet, nicht empfohlen]
  • PDF_add_table_cell — Fügt eine Zelle zu einer neuen oder vorhandenen Tabelle hinzu
  • PDF_add_textflow — Erzeugt ein Textflussobjekt oder fügt Text zu einem Textflussobjekt hinzu
  • PDF_add_thumbnail — Fügt ein verkleinertes Bild auf der aktuellen Seite ein
  • PDF_add_weblink — Fügt Web-Verknüpfung auf der aktuellen Seite ein [veraltet, nicht empfohlen]
  • PDF_arc — Zeichnet Kreissegment gegen Uhrzeigersinn
  • PDF_arcn — Zeichnet ein Kreissegment im Uhrzeigersinn
  • PDF_attach_file — Fügt einen Dateianhang auf der aktuellen Seite ein [veraltet, nicht empfohlen]
  • PDF_begin_document — Erstellt eine neue PDF-Datei
  • PDF_begin_font — Beginnt eine Typ-3-Schriftdefinition
  • PDF_begin_glyph — Beginnt eine Glyphendefinition für eine Typ-3-Schriftart
  • PDF_begin_item — Öffnet ein Strukturelement oder anderen Dokumentbestandteil
  • PDF_begin_layer — Beginnt eine Ebene
  • PDF_begin_page_ext — Beginnt neue Seite
  • PDF_begin_page — Beginnt eine neue Seite [veraltet, nicht empfohlen]
  • PDF_begin_pattern — Beginnt eine Füllmusterdefinition
  • PDF_begin_template_ext — Beginnt eine Templatedefinition
  • PDF_begin_template — Beginnt Templatedefinition [veraltet, nicht empfohlen]
  • PDF_circle — Zeichnet einen Kreis
  • PDF_clip — Setzt den aktuellen Pfad als Clipping-Pfad
  • PDF_close_image — Schließt das Bild
  • PDF_close_pdi_page — Schließt das Seitenhandle
  • PDF_close_pdi — Schließt das PDF-Importdokument [veraltet, nicht empfohlen]
  • PDF_close — Schließt die PDF-Ressource [veraltet, nicht empfohlen]
  • PDF_closepath_fill_stroke — Schließt, füllt und umrandet den aktuellen Pfad
  • PDF_closepath_stroke — Schließt und umrandet den Pfad
  • PDF_closepath — Schließt den aktuellen Pfad
  • PDF_concat — Verknüpft eine Matrix mit der CTM
  • PDF_continue_text — Gibt Text in der nächsten Zeile aus
  • PDF_create_3dview — Erzeugt einen 3D-View
  • PDF_create_action — Erzeugt Aktionen für Objekte und Events
  • PDF_create_annotation — Erzeugt eine rechteckige Anmerkung
  • PDF_create_bookmark — Erstellt ein Lesezeichen
  • PDF_create_field — Erstellt Formularfeld
  • PDF_create_fieldgroup — Erstellt Formularfeldgruppe
  • PDF_create_gstate — Erzeugt Grafikzustandsobjekt
  • PDF_create_pvf — Erzeugt virtuelle PDFlib-Datei
  • PDF_create_textflow — Erzeugt Textflussobjekt
  • PDF_curveto — Zeichnet Bézier-Kurve
  • PDF_define_layer — Erzeugt Ebenendefinition
  • PDF_delete_pvf — Löscht virtuelle PDFlib-Datei
  • PDF_delete_table — Löscht Tabellenobjekt
  • PDF_delete_textflow — Löscht Textflussobjekt
  • PDF_delete — Löscht PDFlib-Objekt
  • PDF_encoding_set_char — Fügt Glyphennamen und/oder Unicode-Wert hinzu
  • PDF_end_document — Schließt PDF-Datei
  • PDF_end_font — Beendet Type-3-Schriftdefinition
  • PDF_end_glyph — Beendet Type-3-Glyphendefinition
  • PDF_end_item — Schließt Strukturelement oder anderen Dokumentbestandteil
  • PDF_end_layer — Deaktiviert alle aktiven Ebenen
  • PDF_end_page_ext — Beendet Seite
  • PDF_end_page — Beendet Seite
  • PDF_end_pattern — Beendet Füllmuster
  • PDF_end_template — Beendet Template
  • PDF_endpath — Beendet aktuellen Pfad
  • PDF_fill_imageblock — Füllt Image-Block mit variablen Daten
  • PDF_fill_pdfblock — Füllt PDF-Block mit variablen Daten
  • PDF_fill_stroke — Füllt und zeichnet Pfad
  • PDF_fill_textblock — Füllt Text-Block mit variablen Daten
  • PDF_fill — Füllt aktuellen Pfad
  • PDF_findfont — Bereitet Schrift für spätere Verwendung vor [veraltet]
  • PDF_fit_image — Platziert Bild oder Template
  • PDF_fit_pdi_page — Platziert importierte PDF-Seite
  • PDF_fit_table — Platziert Tabelle auf der Seite
  • PDF_fit_textflow — Passt Textfluss in rechteckigen Bereich ein
  • PDF_fit_textline — Platziert einzelne Textzeile
  • PDF_get_apiname — Ermittelt Namen von gescheiterter API-Funktion
  • PDF_get_buffer — Holt PDF-Ausgabepuffer
  • PDF_get_errmsg — Ermittelt Fehlertext
  • PDF_get_errnum — Ermittelt Fehlernummer
  • PDF_get_font — Ermittelt Schrift [veraltet]
  • PDF_get_fontname — Ermittelt Schriftnamen [veraltet]
  • PDF_get_fontsize — Schriftbehandlung [veraltet]
  • PDF_get_image_height — Ermittelt Bildhöhe [veraltet]
  • PDF_get_image_width — Ermittelt Bildbreite [veraltet]
  • PDF_get_majorversion — Ermittelt Hauptversionsnummer [veraltet]
  • PDF_get_minorversion — Ermittelt Unterversionsnummer [veraltet]
  • PDF_get_parameter — Ermittelt String-Parameter
  • PDF_get_pdi_parameter — Ermittelt PDI String-Parameter [veraltet]
  • PDF_get_pdi_value — Ermittelt numerischen PDI-Parameter [veraltet]
  • PDF_get_value — Ermittelt numerischen Parameter
  • pdf_info_font — Fragt Einzelheiten zu geladenem Font ab
  • PDF_info_matchbox — Fragt Matchbox-Informationen ab
  • PDF_info_table — Fragt Tabellen-Informationen ab
  • PDF_info_textflow — Ermittelt Zustand eines Textflusses
  • PDF_info_textline — Formatiert Textzeile und ermittelt Metrikdaten
  • PDF_initgraphics — Setzt Grafikzustand zurück
  • PDF_lineto — Zeichnet Linie
  • PDF_load_3ddata — Öffnet 3D-Modell
  • PDF_load_font — Sucht und bereitet Schrift vor
  • PDF_load_iccprofile — Sucht und bereitet ICC-Profil vor
  • PDF_load_image — Öffnet Bilddatei
  • PDF_makespotcolor — Erstellt Schmuckfarbe
  • PDF_moveto — Setzt aktuelle Position
  • PDF_new — Erzeugt PDFlib-Objekt
  • PDF_open_ccitt — Öffnet CCITT-Rohbild [veraltet]
  • PDF_open_file — Erzeugt PDF-Datei [veraltet]
  • PDF_open_gif — Öffnet GIF-Bild [veraltet]
  • PDF_open_image_file — Liest Bild aus Datei [veraltet]
  • PDF_open_image — Verwendet Bilddaten [veraltet]
  • PDF_open_jpeg — Öffnet JPEG-Bild [veraltet]
  • PDF_open_memory_image — Öffnet mit PHP-Bildfunktionen erzeugtes Bild [nicht unterstützt]
  • PDF_open_pdi_document — Bereited ein PDI Dokument vor
  • PDF_open_pdi_page — Bereitet Seite vor
  • PDF_open_pdi — Öffnet PDF-Datei [veraltet]
  • PDF_open_tiff — Öffnet TIFF-Bild [veraltet]
  • PDF_pcos_get_number — Ermittelt Wert eines pCOS-Pfades vom Typ Zahl oder Boolean
  • PDF_pcos_get_stream — Ermittelt Inhalt eines pCOS-Pfades vom Typ stream, fstream oder string
  • PDF_pcos_get_string — Ermittelt Wert eines pCOS-Pfades vom Typ Name, String oder Boolean
  • PDF_place_image — Platziert Bild auf der Seite [veraltet]
  • PDF_place_pdi_page — Platziert PDF-Seite [veraltet]
  • PDF_process_pdi — Verarbeitet importiertes PDF-Dokument
  • PDF_rect — Zeichnet Rechteck
  • PDF_restore — Stellt Grafikzustand wieder her
  • PDF_resume_page — Setzt Seite fort
  • PDF_rotate — Dreht Koordinatensystem
  • PDF_save — Speichert Grafikzustand
  • PDF_scale — Skaliert Koordinatensystem
  • PDF_set_border_color — Legt Randfarbe von Anmerkungen fest [veraltet]
  • PDF_set_border_dash — Legt Strichmuster für Rand von Anmerkungen fest [veraltet]
  • PDF_set_border_style — Legt Randstil von Anmerkungen fest [veraltet]
  • PDF_set_char_spacing — Legt den Zeichenabstand fest [veraltet]
  • PDF_set_duration — Legt Anzeigedauer von Seiten fest [veraltet]
  • PDF_set_gstate — Aktiviert Grafikzustandsobjekt
  • PDF_set_horiz_scaling — Legt horizontale Textskalierung fest [veraltet]
  • PDF_set_info_author — Füllt Dokumentinfofeld für Verfasser [veraltet]
  • PDF_set_info_creator — Füllt Dokumentinfofeld für Anwendung [veraltet]
  • PDF_set_info_keywords — Füllt Dokumentinfofeld für Stichwörter [veraltet]
  • PDF_set_info_subject — Füllt Dokumentinfofeld für Thema [veraltet]
  • PDF_set_info_title — Füllt Dokumentinfofeld für Titel [veraltet]
  • PDF_set_info — Füllt Dokumentinfofeld
  • PDF_set_layer_dependency — Definiert Beziehungen zwischen Ebenen
  • PDF_set_leading — Bestimmt Textzeilenabstand [veraltet]
  • PDF_set_parameter — Legt String-Parameter fest
  • PDF_set_text_matrix — Legt Textmatrix fest [veraltet]
  • PDF_set_text_pos — Legt aktuelle Textposition fest
  • PDF_set_text_rendering — Bestimmt Darstellungsmodus für Text [veraltet]
  • PDF_set_text_rise — Bestimmt vertikalen Textversatz [veraltet]
  • PDF_set_value — Legt numerischen Parameter fest
  • PDF_set_word_spacing — Legt Wortabstand fest [veraltet]
  • PDF_setcolor — Legt Füll- und Zeichenfarbe fest
  • PDF_setdash — Legt einfaches Strichmuster fest
  • PDF_setdashpattern — Legt Strichmuster fest
  • PDF_setflat — Legt Flatness-Parameter fest
  • PDF_setfont — Legt aktuelle Schrift fest
  • PDF_setgray_fill — Legt Füllfarbe als Grauwert fest [veraltet]
  • PDF_setgray_stroke — Left Zeichenfarbe als Grauwert fest [veraltet]
  • PDF_setgray — Legt Farbe als Grauwert fest [veraltet]
  • PDF_setlinecap — Legt linecap-Parameter fest
  • PDF_setlinejoin — Legt linejoin-Parameter fest
  • PDF_setlinewidth — Legt aktuelle Strichstärke fest
  • PDF_setmatrix — Legt aktuelle Transformationsmatrix fest
  • PDF_setmiterlimit — Legt Gehrungsgrenzwert fest
  • PDF_setpolydash — Legt komplexes Strichmuster fest [veraltet]
  • PDF_setrgbcolor_fill — Legt Füllfarbe in RGB fest [veraltet]
  • PDF_setrgbcolor_stroke — Legt Zeichenfarbe in RGB fest [veraltet]
  • PDF_setrgbcolor — Legt Füll- und Zeichenfarbe in RGB fest [veraltet]
  • PDF_shading_pattern — Definiert Farbverlaufsmuster
  • PDF_shading — Definiert Farbverlauf
  • PDF_shfill — Füllt Bereich mit Farbverlauf
  • PDF_show_boxed — Gibt Text in eine Box aus [veraltet, nicht empfohlen]
  • PDF_show_xy — Gibt Text an der angegebenen Position aus
  • PDF_show — Gibt Text an der aktueller Position aus
  • PDF_skew — Verzerrt Koordinatensystem
  • PDF_stringwidth — Gibt Textbreite zurück
  • PDF_stroke — Zeichnet Pfad
  • PDF_suspend_page — Unterbricht Seite
  • PDF_translate — Verschiebt den Ursprung des Koordinatensystems
  • PDF_utf16_to_utf8 — Konvertiert String von UTF-16 nach UTF-8
  • PDF_utf32_to_utf16 — Konvertiert String von UTF-32 nach UTF-16
  • PDF_utf8_to_utf16 — Konvertiert String von UTF-8 nach UTF-16
Einfache Anwendungsbeispiele
PDF_activate_item
PDF


Aktiviert ein Strukturelement oder einen anderen Dokumentbestandteil

PDF Funktionen
PDF_add_annotation
PDF Funktionen
PHP Manual

PDF_activate_item

(PECL pdflib >= 2.0.0)

PDF_activate_item — Aktiviert ein Strukturelement oder einen anderen Dokumentbestandteil

Beschreibung

bool PDF_activate_item ( resource $pdfdoc , int $id )

Aktiviert ein zuvor generiertes Strukturelement oder einen anderen Dokumentbestandteil. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF Funktionen
PDF_add_annotation
PDF Funktionen


Fügt Notiz hinzu [veraltet, nicht empfohlen]

PDF_activate_item
PDF_add_bookmark
PDF Funktionen
PHP Manual

PDF_add_annotation

(PHP 4, PECL pdflib >= 1.0.0)

PDF_add_annotation — Fügt Notiz hinzu [veraltet, nicht empfohlen]

Beschreibung

Diese Funktion ist veraltet, verwenden Sie stattdessen PDF_create_annotation() mit type=Text.

PDF_activate_item
PDF_add_bookmark
PDF Funktionen


Fügt Lesezeichen für die aktuelle Seite ein [veraltet, nicht empfohlen]

PDF_add_annotation
PDF_add_launchlink
PDF Funktionen
PHP Manual

PDF_add_bookmark

(PHP 4 >= 4.0.1, PECL pdflib >= 1.0.0)

PDF_add_bookmark — Fügt Lesezeichen für die aktuelle Seite ein [veraltet, nicht empfohlen]

Beschreibung

Diese Funktion ist seit PDFlib Version 6 veraltet, verwenden Sie stattdessen PDF_create_bookmark().

PDF_add_annotation
PDF_add_launchlink
PDF Funktionen


Fügt eine Webverknüpfung auf der aktuellen Seite ein [veraltet, nicht empfohlen]

PDF_add_bookmark
PDF_add_locallink
PDF Funktionen
PHP Manual

PDF_add_launchlink

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_add_launchlink — Fügt eine Webverknüpfung auf der aktuellen Seite ein [veraltet, nicht empfohlen]

Beschreibung

bool PDF_add_launchlink ( resource $pdfdoc , float $llx , float $lly , float $urx , float $ury , string $filename )

Fügt eine Verknüpfung auf eine Web-Ressource hinzu.

Diese Funktion ist seit PDFlib Version 6 veraltet, verwenden Sie stattdessen
die Funktion PDF_create_action() mit dem Parameter
type=Launch oder die Funktion
PDF_create_annotation() mit dem Parameter
type=Link.

PDF_add_bookmark
PDF_add_locallink
PDF Funktionen


Fügt Verknüpfung auf aktueller Seite ein [veraltet, nicht empfohlen]

PDF_add_launchlink
PDF_add_nameddest
PDF Funktionen
PHP Manual

PDF_add_locallink

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_add_locallink — Fügt Verknüpfung auf aktueller Seite ein [veraltet, nicht empfohlen]

Beschreibung

bool PDF_add_locallink ( resource $pdfdoc , float $lowerleftx , float $lowerlefty , float $upperrightx , float $upperrighty , int $page , string $dest )

Fügt eine Verknüpfung hinzu, die auf eine andere Stelle des aktuellen PDF-Dokuments verweist. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Diese Funktion ist seit PDFlib Version 6 veraltet, verwenden Sie
stattdessen die Funktion PDF_create_action() mit dem
Parameter type=GoTo oder die Funktion
PDF_create_annotation() mit dem Parameter
type=Link.

PDF_add_launchlink
PDF_add_nameddest
PDF Funktionen


Erzeugt benanntes Sprungziel

PDF_add_locallink
PDF_add_note
PDF Funktionen
PHP Manual

PDF_add_nameddest

(PECL pdflib >= 2.0.0)

PDF_add_nameddest — Erzeugt benanntes Sprungziel

Beschreibung

bool PDF_add_nameddest ( resource $pdfdoc , string $name , string $optlist )

Erzeugt ein benanntes Sprungziel auf eine beliebige Seite des aktuellen Dokuments. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_add_locallink
PDF_add_note
PDF Funktionen


Fügt Notiz auf aktueller Seite ein [veraltet, nicht empfohlen]

PDF_add_nameddest
PDF_add_outline
PDF Funktionen
PHP Manual

PDF_add_note

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_add_note — Fügt Notiz auf aktueller Seite ein [veraltet, nicht empfohlen]

Beschreibung

bool PDF_add_note ( resource $pdfdoc , float $llx , float $lly , float $urx , float $ury , string $contents , string $title , string $icon , int $open )

Fügt auf der aktuellen Seite eine Notiz ein. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Diese Funktion ist seit PDFlib Version 6 veraltet, verwenden Sie stattdessen PDF_create_annotation() mit type=Text.

PDF_add_nameddest
PDF_add_outline
PDF Funktionen


Fügt Lesezeichen für aktuelle Seite ein [veraltet, nicht empfohlen]

PDF_add_note
PDF_add_pdflink
PDF Funktionen
PHP Manual

PDF_add_outline

(PHP 4, PECL pdflib >= 1.0.0)

PDF_add_outline — Fügt Lesezeichen für aktuelle Seite ein [veraltet, nicht empfohlen]

Beschreibung

Diese Funktion ist veraltet, verwenden Sie stattdessen PDF_create_bookmark().

PDF_add_note
PDF_add_pdflink
PDF Funktionen


Fügt eine Dateiverknüpfung auf der aktuellen Seite ein [veraltet, nicht empfohlen]

PDF_add_outline
PDF_add_table_cell
PDF Funktionen
PHP Manual

PDF_add_pdflink

(PHP 4, PECL pdflib >= 1.0.0)

PDF_add_pdflink — Fügt eine Dateiverknüpfung auf der aktuellen Seite ein [veraltet, nicht empfohlen]

Beschreibung

bool PDF_add_pdflink ( resource $pdfdoc , float $bottom_left_x , float $bottom_left_y , float $up_right_x , float $up_right_y , string $filename , int $page , string $dest )

Fügt eine Dateiverknüpfung auf eine PDF-Datei ein. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Diese Funktion ist seit PDFlib Version 6 veraltet, verwenden Sie
stattdessen PDF_create_action() mit
type=GoToR oder
PDF_create_annotation() mit
type=Link.

PDF_add_outline
PDF_add_table_cell
PDF Funktionen


Fügt eine Zelle zu einer neuen oder vorhandenen Tabelle hinzu

PDF_add_pdflink
PDF_add_textflow
PDF Funktionen
PHP Manual

PDF_add_table_cell

(PECL pdflib >= 2.1.0)

PDF_add_table_cell — Fügt eine Zelle zu einer neuen oder vorhandenen Tabelle hinzu

Beschreibung

int PDF_add_table_cell ( resource $pdfdoc , int $table , int $column , int $row , string $text , string $optlist )

Fügt eine Zelle zu einer neuen oder bereits vorhandenen Tabelle hinzu.

PDF_add_pdflink
PDF_add_textflow
PDF Funktionen


Erzeugt ein Textflussobjekt oder fügt Text zu einem Textflussobjekt hinzu

PDF_add_table_cell
PDF_add_thumbnail
PDF Funktionen
PHP Manual

PDF_add_textflow

(PECL pdflib >= 2.1.0)

PDF_add_textflow — Erzeugt ein Textflussobjekt oder fügt Text zu einem Textflussobjekt hinzu

Beschreibung

int PDF_add_textflow ( resource $pdfdoc , int $textflow , string $text , string $optlist )

Erzeugt ein Textflussobjekt oder fügt Text und spezielle Optionen zu einem vorhandenen Textfluss hinzu.

PDF_add_table_cell
PDF_add_thumbnail
PDF Funktionen


Fügt ein verkleinertes Bild auf der aktuellen Seite ein

PDF_add_textflow
PDF_add_weblink
PDF Funktionen
PHP Manual

PDF_add_thumbnail

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_add_thumbnail — Fügt ein verkleinertes Bild auf der aktuellen Seite ein

Beschreibung

bool PDF_add_thumbnail ( resource $pdfdoc , int $image )

Fügt ein existierendes Bild in verkleinerter Form auf der aktuellen Seite ein. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_add_textflow
PDF_add_weblink
PDF Funktionen


Fügt Web-Verknüpfung auf der aktuellen Seite ein [veraltet, nicht empfohlen]

PDF_add_thumbnail
PDF_arc
PDF Funktionen
PHP Manual

PDF_add_weblink

(PHP 4, PECL pdflib >= 1.0.0)

PDF_add_weblink — Fügt Web-Verknüpfung auf der aktuellen Seite ein [veraltet, nicht empfohlen]

Beschreibung

bool PDF_add_weblink ( resource $pdfdoc , float $lowerleftx , float $lowerlefty , float $upperrightx , float $upperrighty , string $url )

Fügt eine Web-Verknüpfung auf url ein. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Diese Funktion ist seit PDFlib Version 6 veraltet, verwenden Sie
stattdessen die Funktion PDF_create_action() mit dem
Parameter type=URI oder die Funktion
PDF_create_annotation() mit dem Parameter
type=Link.

PDF_add_thumbnail
PDF_arc
PDF Funktionen


Zeichnet Kreissegment gegen Uhrzeigersinn

PDF_add_weblink
PDF_arcn
PDF Funktionen
PHP Manual

PDF_arc

(PHP 4, PECL pdflib >= 1.0.0)

PDF_arc — Zeichnet Kreissegment gegen Uhrzeigersinn

Beschreibung

bool PDF_arc ( resource $p , float $x , float $y , float $r , float $alpha , float $beta )

Fügt einen gegen den Uhrzeigersinn gezeichneten Kreisbogen hinzu.

PDF_add_weblink
PDF_arcn
PDF Funktionen


Zeichnet ein Kreissegment im Uhrzeigersinn

PDF_arc
PDF_attach_file
PDF Funktionen
PHP Manual

PDF_arcn

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_arcn — Zeichnet ein Kreissegment im Uhrzeigersinn

Beschreibung

bool PDF_arcn ( resource $p , float $x , float $y , float $r , float $alpha , float $beta )

Bis auf die Zeichenrichtung verhält sich die Funktion exakt wie PDF_arc().

PDF_arc
PDF_attach_file
PDF Funktionen


Fügt einen Dateianhang auf der aktuellen Seite ein [veraltet, nicht empfohlen]

PDF_arcn
PDF_begin_document
PDF Funktionen
PHP Manual

PDF_attach_file

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_attach_file — Fügt einen Dateianhang auf der aktuellen Seite ein [veraltet, nicht empfohlen]

Beschreibung

bool PDF_attach_file ( resource $pdfdoc , float $llx , float $lly , float $urx , float $ury , string $filename , string $description , string $author , string $mimetype , string $icon )

Fügt einen Link auf einen Dateianhang ein. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Diese Funktion ist seit PDFlib Version 6 veraltet, verwenden Sie stattdessen die Funktion PDF_create_annotation() mit dem Parameter type=FileAttachment.

PDF_arcn
PDF_begin_document
PDF Funktionen


Erstellt eine neue PDF-Datei

PDF_attach_file
PDF_begin_font
PDF Funktionen
PHP Manual

PDF_begin_document

(PECL pdflib >= 2.0.0)

PDF_begin_document — Erstellt eine neue PDF-Datei

Beschreibung

int PDF_begin_document ( resource $pdfdoc , string $filename , string $optlist )

Erstellt abhängig von verschiedenen Optionen eine neue PDF-Datei.

PDF_attach_file
PDF_begin_font
PDF Funktionen


Beginnt eine Typ-3-Schriftdefinition

PDF_begin_document
PDF_begin_glyph
PDF Funktionen
PHP Manual

PDF_begin_font

(PECL pdflib >= 2.0.0)

PDF_begin_font — Beginnt eine Typ-3-Schriftdefinition

Beschreibung

bool PDF_begin_font ( resource $pdfdoc , string $filename , float $a , float $b , float $c , float $d , float $e , float $f , string $optlist )

Beginnt eine Typ-3-Schriftdefinition.

PDF_begin_document
PDF_begin_glyph
PDF Funktionen


Beginnt eine Glyphendefinition für eine Typ-3-Schriftart

PDF_begin_font
PDF_begin_item
PDF Funktionen
PHP Manual

PDF_begin_glyph

(PECL pdflib >= 2.0.0)

PDF_begin_glyph — Beginnt eine Glyphendefinition für eine Typ-3-Schriftart

Beschreibung

bool PDF_begin_glyph ( resource $pdfdoc , string $glyphname , float $wx , float $llx , float $lly , float $urx , float $ury )

Beginnt eine Glyphendefinition für eine Typ-3-Schriftart.

PDF_begin_font
PDF_begin_item
PDF Funktionen


Öffnet ein Strukturelement oder anderen Dokumentbestandteil

PDF_begin_glyph
PDF_begin_layer
PDF Funktionen
PHP Manual

PDF_begin_item

(PECL pdflib >= 2.0.0)

PDF_begin_item — Öffnet ein Strukturelement oder anderen Dokumentbestandteil

Beschreibung

int PDF_begin_item ( resource $pdfdoc , string $tag , string $optlist )

Öffnet ein Strukturelement oder einen anderen Dokumentbestandteil mit den als Optionen übergebenen Attributen.

PDF_begin_glyph
PDF_begin_layer
PDF Funktionen


Beginnt eine Ebene

PDF_begin_item
PDF_begin_page_ext
PDF Funktionen
PHP Manual

PDF_begin_layer

(PECL pdflib >= 2.0.0)

PDF_begin_layer — Beginnt eine Ebene

Beschreibung

bool PDF_begin_layer ( resource $pdfdoc , int $layer )

Beginnt eine Ebene für die nachfolgende Ausgabe auf der Seite. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Diese Funktion benötigt PDF 1.5.

PDF_begin_item
PDF_begin_page_ext
PDF Funktionen


Beginnt neue Seite

PDF_begin_layer
PDF_begin_page
PDF Funktionen
PHP Manual

PDF_begin_page_ext

(PECL pdflib >= 2.0.0)

PDF_begin_page_ext — Beginnt neue Seite

Beschreibung

bool PDF_begin_page_ext ( resource $pdfdoc , float $width , float $height , string $optlist )

Fügt dem Dokument eine neue Seite hinzu und bestimmt mehrere Optionen. Die Parameter width und height bestimmen die Größe der neuen Seite in Punkt. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Übliche Seitengrößen in Punkt
Name | Größe
A0 | 2380 x 3368
A1 | 1684 x 2380
A2 | 1190 x 1684
A3 | 842 x 1190
A4 | 595 x 842
A5 | 421 x 595
A6 | 297 x 421
B5 | 501 x 709
Letter (8.5" x 11") | 612 x 792
Legal (8.5" x 14") | 612 x 1008
Ledger (17" x 11") | 1224 x 792
11" x 17" | 792 x 1224

PDF_begin_layer
PDF_begin_page
PDF Funktionen


Beginnt eine neue Seite [veraltet, nicht empfohlen]

PDF_begin_page_ext
PDF_begin_pattern
PDF Funktionen
PHP Manual

PDF_begin_page

(PHP 4, PECL pdflib >= 1.0.0)

PDF_begin_page — Beginnt eine neue Seite [veraltet, nicht empfohlen]

Beschreibung

bool PDF_begin_page ( resource $pdfdoc , float $width , float $height )

Fügt eine neue Seite in das Dokument ein. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Diese Funktion ist seit PDFlib Version 6 veraltet, verwenden Sie stattdessen die Funktion PDF_begin_page_ext().

PDF_begin_page_ext
PDF_begin_pattern
PDF Funktionen


Beginnt eine Füllmusterdefinition

PDF_begin_page
PDF_begin_template_ext
PDF Funktionen
PHP Manual

PDF_begin_pattern

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_begin_pattern — Beginnt eine Füllmusterdefinition

Beschreibung

int PDF_begin_pattern ( resource $pdfdoc , float $width , float $height , float $xstep , float $ystep , int $painttype )

Beginnt eine neue Füllmusterdefinition.

PDF_begin_page
PDF_begin_template_ext
PDF Funktionen


Beginnt eine Templatedefinition

PDF_begin_pattern
PDF_begin_template
PDF Funktionen
PHP Manual

PDF_begin_template_ext

(PECL pdflib >= 2.1.0)

PDF_begin_template_ext — Beginnt eine Templatedefinition

Beschreibung

int PDF_begin_template_ext ( resource $pdfdoc , float $width , float $height , string $optlist )

Beginnt eine neue Templatedefinition.

PDF_begin_pattern
PDF_begin_template
PDF Funktionen


Beginnt Templatedefinition [veraltet, nicht empfohlen]

PDF_begin_template_ext
PDF_circle
PDF Funktionen
PHP Manual

PDF_begin_template

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_begin_template — Beginnt Templatedefinition [veraltet, nicht empfohlen]

Beschreibung

int PDF_begin_template ( resource $pdfdoc , float $width , float $height )

Beginnt eine neue Templatedefinition.

Diese Funktion ist seit PDFlib Version 7 veraltet, verwenden Sie stattdessen die Funktion PDF_begin_template_ext().

PDF_begin_template_ext
PDF_circle
PDF Funktionen


Zeichnet einen Kreis

PDF_begin_template
PDF_clip
PDF Funktionen
PHP Manual

PDF_circle

(PHP 4, PECL pdflib >= 1.0.0)

PDF_circle — Zeichnet einen Kreis

Beschreibung

bool PDF_circle ( resource $pdfdoc , float $x , float $y , float $r )

Fügt einen Kreis hinzu. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_begin_template
PDF_clip
PDF Funktionen


Setzt den aktuellen Pfad als Clipping-Pfad

PDF_circle
PDF_close_image
PDF Funktionen
PHP Manual

PDF_clip

(PHP 4, PECL pdflib >= 1.0.0)

PDF_clip — Setzt den aktuellen Pfad als Clipping-Pfad

Beschreibung

bool PDF_clip ( resource $p )

Verwendet den aktuellen Pfad als Clipping-Pfad und schließt ihn. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_circle
PDF_close_image
PDF Funktionen


Schließt das Bild

PDF_clip
PDF_close_pdi_page
PDF Funktionen
PHP Manual

PDF_close_image

(PHP 4, PECL pdflib >= 1.0.0)

PDF_close_image — Schließt das Bild

Beschreibung

bool PDF_close_image ( resource $p , int $image )

Schließt ein image, das mittels PDF_open_image() aufgerufen wurde.

PDF_clip
PDF_close_pdi_page
PDF Funktionen


Schließt das Seitenhandle

PDF_close_image
PDF_close_pdi
PDF Funktionen
PHP Manual

PDF_close_pdi_page

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_close_pdi_page — Schließt das Seitenhandle

Beschreibung

bool PDF_close_pdi_page ( resource $p , int $page )

Schließt das Seiten-Handle und gibt alle seitenbezogenen Ressourcen frei. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_close_image
PDF_close_pdi
PDF Funktionen


Schließt das PDF-Importdokument [veraltet, nicht empfohlen]

PDF_close_pdi_page
PDF_close
PDF Funktionen
PHP Manual

PDF_close_pdi

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_close_pdi — Schließt das PDF-Importdokument [veraltet, nicht empfohlen]

Beschreibung

bool PDF_close_pdi ( resource $p , int $doc )

Schließt alle geöffneten Seitenhandles sowie das PDF-Importdokument. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Diese Funktion ist seit PDFlib Version 7 veraltet, verwenden Sie stattdessen die Funktion PDF_close_pdi_document().

PDF_close_pdi_page
PDF_close
PDF Funktionen


Schließt die PDF-Ressource [veraltet, nicht empfohlen]

PDF_close_pdi
PDF_closepath_fill_stroke
PDF Funktionen
PHP Manual

PDF_close

(PHP 4, PECL pdflib >= 1.0.0)

PDF_close — Schließt die PDF-Ressource [veraltet, nicht empfohlen]

Beschreibung

bool PDF_close ( resource $p )

Schließt die generierte PDF-Datei und gibt alle dokumentbezogenen Ressourcen frei. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Diese Funktion ist seit PDFlib Version 6 veraltet, verwenden Sie stattdessen die Funktion PDF_end_document().

PDF_close_pdi
PDF_closepath_fill_stroke
PDF Funktionen


Schließt, füllt und umrandet den aktuellen Pfad

PDF_close
PDF_closepath_stroke
PDF Funktionen
PHP Manual

PDF_closepath_fill_stroke

(PHP 4, PECL pdflib >= 1.0.0)

PDF_closepath_fill_stroke — Schließt, füllt und umrandet den aktuellen Pfad

Beschreibung

bool PDF_closepath_fill_stroke ( resource $p )

Schließt den Pfad, füllt und umrandet ihn. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_close
PDF_closepath_stroke
PDF Funktionen


Schließt und umrandet den Pfad

PDF_closepath_fill_stroke
PDF_closepath
PDF Funktionen
PHP Manual

PDF_closepath_stroke

(PHP 4, PECL pdflib >= 1.0.0)

PDF_closepath_stroke — Schließt und umrandet den Pfad

Beschreibung

bool PDF_closepath_stroke ( resource $p )

Schließt den Pfad und umrandet ihn. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_closepath_fill_stroke
PDF_closepath
PDF Funktionen


Schließt den aktuellen Pfad

PDF_closepath_stroke
PDF_concat
PDF Funktionen
PHP Manual

PDF_closepath

(PHP 4, PECL pdflib >= 1.0.0)

PDF_closepath — Schließt den aktuellen Pfad

Beschreibung

bool PDF_closepath ( resource $p )

Schließt den aktuellen Pfad. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_closepath_stroke
PDF_concat
PDF Funktionen


Verknüpft eine Matrix mit der CTM

PDF_closepath
PDF_continue_text
PDF Funktionen
PHP Manual

PDF_concat

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_concat — Verknüpft eine Matrix mit der CTM

Beschreibung

bool PDF_concat ( resource $p , float $a , float $b , float $c , float $d , float $e , float $f )

Verknüpft eine Matrix mit der aktuellen Transformationsmatrix (CTM). Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_closepath
PDF_continue_text
PDF Funktionen


Gibt Text in der nächsten Zeile aus

PDF_concat
PDF_create_3dview
PDF Funktionen
PHP Manual

PDF_continue_text

(PHP 4, PECL pdflib >= 1.0.0)

PDF_continue_text — Gibt Text in der nächsten Zeile aus

Beschreibung

bool PDF_continue_text ( resource $p , string $text )

Schreibt text in die nächste Zeile. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_concat
PDF_create_3dview
PDF Funktionen


Erzeugt einen 3D-View

PDF_continue_text
PDF_create_action
PDF Funktionen
PHP Manual

PDF_create_3dview

(PECL pdflib >= 2.1.0)

PDF_create_3dview — Erzeugt einen 3D-View

Beschreibung

int PDF_create_3dview ( resource $pdfdoc , string $username , string $optlist )

Erzeugt einen 3D-View.

Diese Funktion erfordert PDF 1.6.

PDF_continue_text
PDF_create_action
PDF Funktionen


Erzeugt Aktionen für Objekte und Events

PDF_create_3dview
PDF_create_annotation
PDF Funktionen
PHP Manual

PDF_create_action

(PECL pdflib >= 2.0.0)

PDF_create_action — Erzeugt Aktionen für Objekte und Events

Beschreibung

int PDF_create_action ( resource $pdfdoc , string $type , string $optlist )

Erzeugt eine Aktion, die auf verschiedene Objekte und Events angewendet werden kann.

PDF_create_3dview
PDF_create_annotation
PDF Funktionen


Erzeugt eine rechteckige Anmerkung

PDF_create_action
PDF_create_bookmark
PDF Funktionen
PHP Manual

PDF_create_annotation

(PECL pdflib >= 2.0.0)

PDF_create_annotation — Erzeugt eine rechteckige Anmerkung

Beschreibung

bool PDF_create_annotation ( resource $pdfdoc , float $llx , float $lly , float $urx , float $ury , string $type , string $optlist )

Erzeugt auf der aktuellen Seite eine rechteckige Anmerkung.

PDF_create_action
PDF_create_bookmark
PDF Funktionen


Erstellt ein Lesezeichen

PDF_create_annotation
PDF_create_field
PDF Funktionen
PHP Manual

PDF_create_bookmark

(PECL pdflib >= 2.0.0)

PDF_create_bookmark — Erstellt ein Lesezeichen

Beschreibung

int PDF_create_bookmark ( resource $pdfdoc , string $text , string $optlist )

Erzeugt ein Lesezeichen mit verschiedenen Optionen.

PDF_create_annotation
PDF_create_field
PDF Funktionen


Erstellt Formularfeld

PDF_create_bookmark
PDF_create_fieldgroup
PDF Funktionen
PHP Manual

PDF_create_field

(PECL pdflib >= 2.0.0)

PDF_create_field — Erstellt Formularfeld

Beschreibung

bool PDF_create_field ( resource $pdfdoc , float $llx , float $lly , float $urx , float $ury , string $name , string $type , string $optlist )

Erstellt unter Anwendung verschiedener Optionen ein Formularfeld auf der aktuellen Seite.

PDF_create_bookmark
PDF_create_fieldgroup
PDF Funktionen


Erstellt Formularfeldgruppe

PDF_create_field
PDF_create_gstate
PDF Funktionen
PHP Manual

PDF_create_fieldgroup

(PECL pdflib >= 2.0.0)

PDF_create_fieldgroup — Erstellt Formularfeldgruppe

Beschreibung

bool PDF_create_fieldgroup ( resource $pdfdoc , string $name , string $optlist )

Erstellt eine Formularfeldgruppe unter Anwendung verschiedener Optionen.

PDF_create_field
PDF_create_gstate
PDF Funktionen


Erzeugt Grafikzustandsobjekt

PDF_create_fieldgroup
PDF_create_pvf
PDF Funktionen
PHP Manual

PDF_create_gstate

(PECL pdflib >= 2.0.0)

PDF_create_gstate — Erzeugt Grafikzustandsobjekt

Beschreibung

int PDF_create_gstate ( resource $pdfdoc , string $optlist )

Erzeugt ein Grafikzustandsobjekt unter Anwendung verschiedener Optionen.

PDF_create_fieldgroup
PDF_create_pvf
PDF Funktionen


Erzeugt virtuelle PDFlib-Datei

PDF_create_gstate
PDF_create_textflow
PDF Funktionen
PHP Manual

PDF_create_pvf

(PECL pdflib >= 2.0.0)

PDF_create_pvf — Erzeugt virtuelle PDFlib-Datei

Beschreibung

bool PDF_create_pvf ( resource $pdfdoc , string $filename , string $data , string $optlist )

Erzeugt eine benannte schreibgeschützte Datei aus Daten im Speicher.

PDF_create_gstate
PDF_create_textflow
PDF Funktionen


Erzeugt Textflussobjekt

PDF_create_pvf
PDF_curveto
PDF Funktionen
PHP Manual

PDF_create_textflow

(PECL pdflib >= 2.0.0)

PDF_create_textflow — Erzeugt Textflussobjekt

Beschreibung

int PDF_create_textflow ( resource $pdfdoc , string $text , string $optlist )

Bereitet den Text zur späteren Formatierung vor und erzeugt ein Textflussobjekt.

PDF_create_pvf
PDF_curveto
PDF Funktionen


Zeichnet Bézier-Kurve

PDF_create_textflow
PDF_define_layer
PDF Funktionen
PHP Manual

PDF_curveto

(PHP 4, PECL pdflib >= 1.0.0)

PDF_curveto — Zeichnet Bézier-Kurve

Beschreibung

bool PDF_curveto ( resource $p , float $x1 , float $y1 , float $x2 , float $y2 , float $x3 , float $y3 )

Zeichnet eine Bézier-Kurve ausgehend von der aktuellen Position, wobei drei Kontrollpunkte benutzt werden. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_create_textflow
PDF_define_layer
PDF Funktionen


Erzeugt Ebenendefinition

PDF_curveto
PDF_delete_pvf
PDF Funktionen
PHP Manual

PDF_define_layer

(PECL pdflib >= 2.0.0)

PDF_define_layer — Erzeugt Ebenendefinition

Beschreibung

int PDF_define_layer ( resource $pdfdoc , string $name , string $optlist )

Erzeugt eine neue Ebenendefinition.

Diese Funktion benötigt PDF 1.5.

PDF_curveto
PDF_delete_pvf
PDF Funktionen


Löscht virtuelle PDFlib-Datei

PDF_define_layer
PDF_delete_table
PDF Funktionen
PHP Manual

PDF_delete_pvf

(PECL pdflib >= 2.0.0)

PDF_delete_pvf — Löscht virtuelle PDFlib-Datei

Beschreibung

int PDF_delete_pvf ( resource $pdfdoc , string $filename )

Löscht eine benannte virtuelle Datei und gibt die zugehörigen Datenstrukturen (nicht jedoch den eigentlichen Inhalt) frei.

PDF_define_layer
PDF_delete_table
PDF Funktionen


Löscht Tabellenobjekt

PDF_delete_pvf
PDF_delete_textflow
PDF Funktionen
PHP Manual

PDF_delete_table

(PECL pdflib >= 2.1.0)

PDF_delete_table — Löscht Tabellenobjekt

Beschreibung

int PDF_delete_table ( resource $pdfdoc , int $table , string $optlist )

Löscht eine Tabelle und alle zugehörenden Datenstrukturen.

PDF_delete_pvf
PDF_delete_textflow
PDF Funktionen


Löscht Textflussobjekt

PDF_delete_table
PDF_delete
PDF Funktionen
PHP Manual

PDF_delete_textflow

(PECL pdflib >= 2.0.0)

PDF_delete_textflow — Löscht Textflussobjekt

Beschreibung

bool PDF_delete_textflow ( resource $pdfdoc , int $textflow )

Löscht einen Textfluss und die damit verbundenen Datenstrukturen.

PDF_delete_table
PDF_delete
PDF Funktionen


Löscht PDFlib-Objekt

PDF_delete_textflow
PDF_encoding_set_char
PDF Funktionen
PHP Manual

PDF_delete

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_delete — Löscht PDFlib-Objekt

Beschreibung

bool PDF_delete ( resource $pdfdoc )

Löscht ein PDF-Objekt und gibt alle internen Ressourcen frei. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_delete_textflow
PDF_encoding_set_char
PDF Funktionen


Fügt Glyphennamen und/oder Unicode-Wert hinzu

PDF_delete
PDF_end_document
PDF Funktionen
PHP Manual

PDF_encoding_set_char

(PECL pdflib >= 2.0.0)

PDF_encoding_set_char — Fügt Glyphennamen und/oder Unicode-Wert hinzu

Beschreibung

bool PDF_encoding_set_char ( resource $pdfdoc , string $encoding , int $slot , string $glyphname , int $uv )

Fügt einen Glyphennamen und/oder Unicode-Wert zu einer benutzerdefinierten Zeichenkodierung hinzu.

PDF_delete
PDF_end_document
PDF Funktionen


Schließt PDF-Datei

PDF_encoding_set_char
PDF_end_font
PDF Funktionen
PHP Manual

PDF_end_document

(PECL pdflib >= 2.0.0)

PDF_end_document — Schließt PDF-Datei

Beschreibung

bool PDF_end_document ( resource $pdfdoc , string $optlist )

Schließt die generierte PDF-Datei unter Anwendung verschiedener Optionen.

PDF_encoding_set_char
PDF_end_font
PDF Funktionen


Beendet Type-3-Schriftdefinition

PDF_end_document
PDF_end_glyph
PDF Funktionen
PHP Manual

PDF_end_font

(PECL pdflib >= 2.0.0)

PDF_end_font — Beendet Type-3-Schriftdefinition

Beschreibung

bool PDF_end_font ( resource $pdfdoc )

Beendet eine Type-3-Schriftdefinition.

PDF_end_document
PDF_end_glyph
PDF Funktionen


Beendet Type-3-Glyphendefinition

PDF_end_font
PDF_end_item
PDF Funktionen
PHP Manual

PDF_end_glyph

(PECL pdflib >= 2.0.0)

PDF_end_glyph — Beendet Type-3-Glyphendefinition

Beschreibung

bool PDF_end_glyph ( resource $pdfdoc )

Beendet eine Type-3-Glyphendefinition.

PDF_end_font
PDF_end_item
PDF Funktionen


Schließt Strukturelement oder anderen Dokumentbestandteil

PDF_end_glyph
PDF_end_layer
PDF Funktionen
PHP Manual

PDF_end_item

(PECL pdflib >= 2.0.0)

PDF_end_item — Schließt Strukturelement oder anderen Dokumentbestandteil

Beschreibung

bool PDF_end_item ( resource $pdfdoc , int $id )

Schließt ein Strukturelement oder einen anderen Dokumentbestandteil.

PDF_end_glyph
PDF_end_layer
PDF Funktionen


Deaktiviert alle aktiven Ebenen

PDF_end_item
PDF_end_page_ext
PDF Funktionen
PHP Manual

PDF_end_layer

(PECL pdflib >= 2.0.0)

PDF_end_layer — Deaktiviert alle aktiven Ebenen

Beschreibung

bool PDF_end_layer ( resource $pdfdoc )

Deaktiviert alle aktiven Ebenen. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Diese Funktion benötigt PDF 1.5.

PDF_end_item
PDF_end_page_ext
PDF Funktionen


Beendet Seite

PDF_end_layer
PDF_end_page
PDF Funktionen
PHP Manual

PDF_end_page_ext

(PECL pdflib >= 2.0.0)

PDF_end_page_ext — Beendet Seite

Beschreibung

bool PDF_end_page_ext ( resource $pdfdoc , string $optlist )

Beendet eine Seite unter Anwendung verschiedener Optionen. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_end_layer
PDF_end_page
PDF Funktionen


Beendet Seite

PDF_end_page_ext
PDF_end_pattern
PDF Funktionen
PHP Manual

PDF_end_page

(PHP 4, PECL pdflib >= 1.0.0)

PDF_end_page — Beendet Seite

Beschreibung

bool PDF_end_page ( resource $p )

Beendet die Seite. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_end_page_ext
PDF_end_pattern
PDF Funktionen


Beendet Füllmuster

PDF_end_page
PDF_end_template
PDF Funktionen
PHP Manual

PDF_end_pattern

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_end_pattern — Beendet Füllmuster

Beschreibung

bool PDF_end_pattern ( resource $p )

Beendet die Füllmusterdefinition. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_end_page
PDF_end_template
PDF Funktionen


Beendet Template

PDF_end_pattern
PDF_endpath
PDF Funktionen
PHP Manual

PDF_end_template

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_end_template — Beendet Template

Beschreibung

bool PDF_end_template ( resource $p )

Beendet eine Template-Definition. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_end_pattern
PDF_endpath
PDF Funktionen


Beendet aktuellen Pfad

PDF_end_template
PDF_fill_imageblock
PDF Funktionen
PHP Manual

PDF_endpath

(PHP 4, PECL pdflib >= 1.0.0)

PDF_endpath — Beendet aktuellen Pfad

Beschreibung

bool PDF_endpath ( resource $p )

Beendet den aktuellen Pfad, ohne ihn zu zeichnen oder zu füllen.

PDF_end_template
PDF_fill_imageblock
PDF Funktionen


Füllt Image-Block mit variablen Daten

PDF_endpath
PDF_fill_pdfblock
PDF Funktionen
PHP Manual

PDF_fill_imageblock

(PECL pdflib >= 2.0.0)

PDF_fill_imageblock — Füllt Image-Block mit variablen Daten

Beschreibung

int PDF_fill_imageblock ( resource $pdfdoc , int $page , string $blockname , int $image , string $optlist )

Füllt einen Image-Block mit variablen Daten unter Berücksichtigung seiner Eigenschaften.

Diese Funktion ist nur im PDFlib Personalization Server (PPS) verfügbar.

PDF_endpath
PDF_fill_pdfblock
PDF Funktionen


Füllt PDF-Block mit variablen Daten

PDF_fill_imageblock
PDF_fill_stroke
PDF Funktionen
PHP Manual

PDF_fill_pdfblock

(PECL pdflib >= 2.0.0)

PDF_fill_pdfblock — Füllt PDF-Block mit variablen Daten

Beschreibung

int PDF_fill_pdfblock ( resource $pdfdoc , int $page , string $blockname , int $contents , string $optlist )

Füllt einen PDF-Block mit variablen Daten unter Berücksichtigung seiner Eigenschaften.

Diese Funktion ist nur im PDFlib Personalization Server (PPS) verfügbar.

PDF_fill_imageblock
PDF_fill_stroke
PDF Funktionen


Füllt und zeichnet Pfad

PDF_fill_pdfblock
PDF_fill_textblock
PDF Funktionen
PHP Manual

PDF_fill_stroke

(PHP 4, PECL pdflib >= 1.0.0)

PDF_fill_stroke — Füllt und zeichnet Pfad

Beschreibung

bool PDF_fill_stroke ( resource $p )

Füllt und zeichnet den Pfad mit der aktuellen Füll- und Zeichenfarbe. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_fill_pdfblock
PDF_fill_textblock
PDF Funktionen


Füllt Text-Block mit variablen Daten

PDF_fill_stroke
PDF_fill
PDF Funktionen
PHP Manual

PDF_fill_textblock

(PECL pdflib >= 2.0.0)

PDF_fill_textblock — Füllt Text-Block mit variablen Daten

Beschreibung

int PDF_fill_textblock ( resource $pdfdoc , int $page , string $blockname , string $text , string $optlist )

Füllt einen Text-Block mit variablen Daten unter Berücksichtigung seiner Eigenschaften.

Diese Funktion ist nur im PDFlib Personalization Server (PPS) verfügbar.

PDF_fill_stroke
PDF_fill
PDF Funktionen


Füllt aktuellen Pfad

PDF_fill_textblock
PDF_findfont
PDF Funktionen
PHP Manual

PDF_fill

(PHP 4, PECL pdflib >= 1.0.0)

PDF_fill — Füllt aktuellen Pfad

Beschreibung

bool PDF_fill ( resource $p )

Füllt das Innere des aktuellen Pfads mit der aktuellen Füllfarbe. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_fill_textblock
PDF_findfont
PDF Funktionen


Bereitet Schrift für spätere Verwendung vor [veraltet]

PDF_fill
PDF_fit_image
PDF Funktionen
PHP Manual

PDF_findfont

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_findfont — Bereitet Schrift für spätere Verwendung vor [veraltet]

Beschreibung

int PDF_findfont ( resource $p , string $fontname , string $encoding , int $embed )

Sucht eine Schrift und bereitet sie zur späteren Verwendung mit PDF_setfont() vor. Die Fontmetriken werden geladen und, falls embed ungleich 0 ist, wird die Fontdatei geprüft, aber noch nicht eingesetzt. encoding kann builtin, macroman, winansi, host, der Name einer benutzerdefinierten Zeichenkodierung oder der Name einer CMap sein. Der Parameter embed ist vor PHP 4.3.5 und vor PDFlib Version 5 optional.

Diese Funktion ist seit PDFlib Version 5 veraltet; verwenden Sie stattdessen PDF_load_font().

PDF_fill
PDF_fit_image
PDF Funktionen


Platziert Bild oder Template

PDF_findfont
PDF_fit_pdi_page
PDF Funktionen
PHP Manual

PDF_fit_image

(PECL pdflib >= 2.0.0)

PDF_fit_image — Platziert Bild oder Template

Beschreibung

bool PDF_fit_image ( resource $pdfdoc , int $image , float $x , float $y , string $optlist )

Platziert ein Bild oder Template unter Berücksichtigung verschiedener Optionen auf der Seite. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_findfont
PDF_fit_pdi_page
PDF Funktionen


Platziert importierte PDF-Seite

PDF_fit_image
PDF_fit_table
PDF Funktionen
PHP Manual

PDF_fit_pdi_page

(PECL pdflib >= 2.0.0)

PDF_fit_pdi_page — Platziert importierte PDF-Seite

Beschreibung

bool PDF_fit_pdi_page ( resource $pdfdoc , int $page , float $x , float $y , string $optlist )

Platziert eine importierte PDF-Seite unter Berücksichtigung verschiedener Optionen auf der Seite. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_fit_image
PDF_fit_table
PDF Funktionen


Platziert Tabelle auf der Seite

PDF_fit_pdi_page
PDF_fit_textflow
PDF Funktionen
PHP Manual

PDF_fit_table

(PECL pdflib >= 2.1.0)

PDF_fit_table — Platziert Tabelle auf der Seite

Beschreibung

string PDF_fit_table ( resource $pdfdoc , int $table , float $llx , float $lly , float $urx , float $ury , string $optlist )

Platziert eine Tabelle vollständig oder teilweise auf der Seite.

PDF_fit_pdi_page
PDF_fit_textflow
PDF Funktionen


Passt Textfluss in rechteckigen Bereich ein

PDF_fit_table
PDF_fit_textline
PDF Funktionen
PHP Manual

PDF_fit_textflow

(PECL pdflib >= 2.0.0)

PDF_fit_textflow — Passt Textfluss in rechteckigen Bereich ein

Beschreibung

string PDF_fit_textflow ( resource $pdfdoc , int $textflow , float $llx , float $lly , float $urx , float $ury , string $optlist )

Formatiert den nächsten Abschnitt eines Textflusses in einen rechteckigen Bereich.

PDF_fit_table
PDF_fit_textline
PDF Funktionen


Platziert einzelne Textzeile

PDF_fit_textflow
PDF_get_apiname
PDF Funktionen
PHP Manual

PDF_fit_textline

(PECL pdflib >= 2.0.0)

PDF_fit_textline — Platziert einzelne Textzeile

Beschreibung

bool PDF_fit_textline ( resource $pdfdoc , int $text , float $x , float $y , string $optlist )

Platziert eine einzelne Textzeile unter Berücksichtigung verschiedener Optionen auf der Seite. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_fit_textflow
PDF_get_apiname
PDF Funktionen


Ermittelt Namen von gescheiterter API-Funktion

PDF_fit_textline
PDF_get_buffer
PDF Funktionen
PHP Manual

PDF_get_apiname

(PECL pdflib >= 2.0.0)

PDF_get_apiname — Ermittelt Namen von gescheiterter API-Funktion

Beschreibung

string PDF_get_apiname ( resource $pdfdoc )

Ermittelt den Namen der API-Funktion, die die letzte Exception auslöste oder scheiterte.

PDF_fit_textline
PDF_get_buffer
PDF Funktionen


Holt PDF-Ausgabepuffer

PDF_get_apiname
PDF_get_errmsg
PDF Funktionen
PHP Manual

PDF_get_buffer

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_get_buffer — Holt PDF-Ausgabepuffer

Beschreibung

string PDF_get_buffer ( resource $p )

Holt den Inhalt des PDF-Ausgabepuffers.

PDF_get_apiname
PDF_get_errmsg
PDF Funktionen


Ermittelt Fehlertext

PDF_get_buffer
PDF_get_errnum
PDF Funktionen
PHP Manual

PDF_get_errmsg

(PECL pdflib >= 2.0.0)

PDF_get_errmsg — Ermittelt Fehlertext

Beschreibung

string PDF_get_errmsg ( resource $pdfdoc )

Ermittelt den Text der zuletzt ausgelösten Exception oder die Ursache eines gescheiterten Funktionsaufrufs.

PDF_get_buffer
PDF_get_errnum
PDF Funktionen


Ermittelt Fehlernummer

PDF_get_errmsg
PDF_get_font
PDF Funktionen
PHP Manual

PDF_get_errnum

(PECL pdflib >= 2.0.0)

PDF_get_errnum — Ermittelt Fehlernummer

Beschreibung

int PDF_get_errnum ( resource $pdfdoc )

Ermittelt die Nummer der zuletzt ausgelösten Exception oder die Ursache für einen gescheiterten Funktionsaufruf.

PDF_get_errmsg
PDF_get_font
PDF Funktionen


Ermittelt Schrift [veraltet]

PDF_get_errnum
PDF_get_fontname
PDF Funktionen
PHP Manual

PDF_get_font

(PHP 4, PECL pdflib >= 1.0.0)

PDF_get_font — Ermittelt Schrift [veraltet]

Beschreibung

Diese Funktion ist seit PDFlib Version 3 veraltet; verwenden Sie stattdessen PDF_get_value() mit dem Parameter font.

PDF_get_errnum
PDF_get_fontname
PDF Funktionen


Ermittelt Schriftnamen [veraltet]

PDF_get_font
PDF_get_fontsize
PDF Funktionen
PHP Manual

PDF_get_fontname

(PHP 4, PECL pdflib >= 1.0.0)

PDF_get_fontname — Ermittelt Schriftnamen [veraltet]

Beschreibung

Diese Funktion ist seit PDFlib Version 3 veraltet; verwenden Sie stattdessen PDF_get_parameter() mit dem Parameter fontname.

PDF_get_font
PDF_get_fontsize
PDF Funktionen


Schriftbehandlung [veraltet]

PDF_get_fontname
PDF_get_image_height
PDF Funktionen
PHP Manual

PDF_get_fontsize

(PHP 4, PECL pdflib >= 1.0.0)

PDF_get_fontsize — Schriftbehandlung [veraltet]

Beschreibung

Diese Funktion ist seit PDFlib Version 3 veraltet; verwenden Sie stattdessen PDF_get_value() mit dem Parameter fontsize.

PDF_get_fontname
PDF_get_image_height
PDF Funktionen


Ermittelt Bildhöhe [veraltet]

PDF_get_fontsize
PDF_get_image_width
PDF Funktionen
PHP Manual

PDF_get_image_height

(PHP 4, PECL pdflib >= 1.0.0)

PDF_get_image_height — Ermittelt Bildhöhe [veraltet]

Beschreibung

Diese Funktion ist seit PDFlib Version 3 veraltet; verwenden Sie stattdessen PDF_get_value() mit dem Parameter imageheight.

PDF_get_fontsize
PDF_get_image_width
PDF Funktionen


Ermittelt Bildbreite [veraltet]

PDF_get_image_height
PDF_get_majorversion
PDF Funktionen
PHP Manual

PDF_get_image_width

(PHP 4, PECL pdflib >= 1.0.0)

PDF_get_image_width — Ermittelt Bildbreite [veraltet]

Beschreibung

Diese Funktion ist seit PDFlib Version 3 veraltet, verwenden Sie stattdessen PDF_get_value() mit dem Parameter imagewidth.

PDF_get_image_height
PDF_get_majorversion
PDF Funktionen


Ermittelt Hauptversionsnummer [veraltet]

PDF_get_image_width
PDF_get_minorversion
PDF Funktionen
PHP Manual

PDF_get_majorversion

(PHP 4 >= 4.2.0, PECL pdflib >= 1.0.0)

PDF_get_majorversion — Ermittelt Hauptversionsnummer [veraltet]

Beschreibung

int PDF_get_majorversion ( void )

Diese Funktion ist seit PDFlib Version 5 veraltet; verwenden Sie stattdessen PDF_get_value() mit dem Parameter major.

PDF_get_image_width
PDF_get_minorversion
PDF Funktionen


Ermittelt Unterversionsnummer [veraltet]

PDF_get_majorversion
PDF_get_parameter
PDF Funktionen
PHP Manual

PDF_get_minorversion

(PHP 4 >= 4.2.0, PECL pdflib >= 1.0.0)

PDF_get_minorversion — Ermittelt Unterversionsnummer [veraltet]

Beschreibung

int PDF_get_minorversion ( void )

Gibt die Unterversionsnummer der PDFlib-Version zurück.

Diese Funktion ist seit PDFlib Version 5 veraltet; verwenden Sie stattdessen PDF_get_value() mit dem Parameter minor.

PDF_get_majorversion
PDF_get_parameter
PDF Funktionen


Ermittelt String-Parameter

PDF_get_minorversion
PDF_get_pdi_parameter
PDF Funktionen
PHP Manual

PDF_get_parameter

(PHP 4 >= 4.0.1, PECL pdflib >= 1.0.0)

PDF_get_parameter — Ermittelt String-Parameter

Beschreibung

string PDF_get_parameter ( resource $p , string $key , float $modifier )

Ermittelt den Inhalt eines PDFlib-Parameters vom Typ String.

PDF_get_minorversion
PDF_get_pdi_parameter
PDF Funktionen


Ermittelt PDI String-Parameter [veraltet]

PDF_get_parameter
PDF_get_pdi_value
PDF Funktionen
PHP Manual

PDF_get_pdi_parameter

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_get_pdi_parameter — Ermittelt PDI String-Parameter [veraltet]

Beschreibung

string PDF_get_pdi_parameter ( resource $p , string $key , int $doc , int $page , int $reserved )

Ermittelt den Inhalt eines PDI-Dokumentparameters vom Typ String.

Diese Funktion ist seit PDFlib Version 7 veraltet; verwenden Sie stattdessen PDF_pcos_get_string().

PDF_get_parameter
PDF_get_pdi_value
PDF Funktionen


Ermittelt numerischen PDI-Parameter [veraltet]

PDF_get_pdi_parameter
PDF_get_value
PDF Funktionen
PHP Manual

PDF_get_pdi_value

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_get_pdi_value — Ermittelt numerischen PDI-Parameter [veraltet]

Beschreibung

float PDF_get_pdi_value ( resource $p , string $key , int $doc , int $page , int $reserved )

Ermittelt den Wert eines numerischen PDI-Dokumentparameters.

Diese Funktion ist seit PDFlib Version 7 veraltet; verwenden Sie stattdessen PDF_pcos_get_number().

PDF_get_pdi_parameter
PDF_get_value
PDF Funktionen


Ermittelt numerischen Parameter

PDF_get_pdi_value
pdf_info_font
PDF Funktionen
PHP Manual

PDF_get_value

(PHP 4 >= 4.0.1, PECL pdflib >= 1.0.0)

PDF_get_value — Ermittelt numerischen Parameter

Beschreibung

float PDF_get_value ( resource $p , string $key , float $modifier )

Ermittelt den Wert eines numerischen PDFlib-Parameters.

PDF_get_pdi_value
pdf_info_font
PDF Funktionen


Fragt Einzelheiten zu geladenem Font ab

PDF_get_value
PDF_info_matchbox
PDF Funktionen
PHP Manual

pdf_info_font

(PECL pdflib >= 2.1.0)

pdf_info_font — Fragt Einzelheiten zu geladenem Font ab

Beschreibung

float pdf_info_font ( resource $pdfdoc , int $font , string $keyword , string $optlist )

Fragt Einzelheiten zu einem geladenen Font ab.

PDF_get_value
PDF_info_matchbox
PDF Funktionen


Fragt Matchbox-Informationen ab

pdf_info_font
PDF_info_table
PDF Funktionen
PHP Manual

PDF_info_matchbox

(PECL pdflib >= 2.1.0)

PDF_info_matchbox — Fragt Matchbox-Informationen ab

Beschreibung

float PDF_info_matchbox ( resource $pdfdoc , string $boxname , int $num , string $keyword )

Fragt Informationen über eine Matchbox auf der aktuellen Seite ab.

pdf_info_font
PDF_info_table
PDF Funktionen


Fragt Tabellen-Informationen ab

PDF_info_matchbox
PDF_info_textflow
PDF Funktionen
PHP Manual

PDF_info_table

(PECL pdflib >= 2.1.0)

PDF_info_table — Fragt Tabellen-Informationen ab

Beschreibung

float PDF_info_table ( resource $pdfdoc , int $table , string $keyword )

Fragt Tabellen-Informationen zum zuletzt platzierten Tabellenexemplar ab.

PDF_info_matchbox
PDF_info_textflow
PDF Funktionen


Ermittelt Zustand eines Textflusses

PDF_info_table
PDF_info_textline
PDF Funktionen
PHP Manual

PDF_info_textflow

(PECL pdflib >= 2.0.0)

PDF_info_textflow — Ermittelt Zustand eines Textflusses

Beschreibung

float PDF_info_textflow ( resource $pdfdoc , int $textflow , string $keyword )

Ermittelt den aktuellen Zustand eines Textflusses.

PDF_info_table
PDF_info_textline
PDF Funktionen


Formatiert Textzeile und ermittelt Metrikdaten

PDF_info_textflow
PDF_initgraphics
PDF Funktionen
PHP Manual

PDF_info_textline

(PECL pdflib >= 2.1.0)

PDF_info_textline — Formatiert Textzeile und ermittelt Metrikdaten

Beschreibung

float PDF_info_textline ( resource $pdfdoc , string $text , string $keyword , string $optlist )

Formatiert eine Textzeile und ermittelt die daraus resultierenden Metrikdaten.

PDF_info_textflow
PDF_initgraphics
PDF Funktionen


Setzt Grafikzustand zurück

PDF_info_textline
PDF_lineto
PDF Funktionen
PHP Manual

PDF_initgraphics

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_initgraphics — Setzt Grafikzustand zurück

Beschreibung

bool PDF_initgraphics ( resource $p )

Setzt alle Parameter, die sich auf Farbe und Grafikzustand beziehen, auf ihre Standardwerte zurück. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_info_textline
PDF_lineto
PDF Funktionen


Zeichnet Linie

PDF_initgraphics
PDF_load_3ddata
PDF Funktionen
PHP Manual

PDF_lineto

(PHP 4, PECL pdflib >= 1.0.0)

PDF_lineto — Zeichnet Linie

Beschreibung

bool PDF_lineto ( resource $p , float $x , float $y )

Zeichnet eine Linie zwischen dem aktuellen und einem anderen Punkt. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_initgraphics
PDF_load_3ddata
PDF Funktionen


Öffnet 3D-Modell

PDF_lineto
PDF_load_font
PDF Funktionen
PHP Manual

PDF_load_3ddata

(PECL pdflib >= 2.1.0)

PDF_load_3ddata — Öffnet 3D-Modell

Beschreibung

int PDF_load_3ddata ( resource $pdfdoc , string $filename , string $optlist )

Öffnet ein auf der Festplatte liegendes oder virtuelles 3D-Modell.

Diese Funktion erfordert PDF 1.6.

PDF_lineto
PDF_load_font
PDF Funktionen


Sucht und bereitet Schrift vor

PDF_load_3ddata
PDF_load_iccprofile
PDF Funktionen
PHP Manual

PDF_load_font

(PECL pdflib >= 2.0.0)

PDF_load_font — Sucht und bereitet Schrift vor

Beschreibung

int PDF_load_font ( resource $pdfdoc , string $fontname , string $encoding , string $optlist )

Sucht nach einer Schrift und bereitet sie zur späteren Verwendung vor.

PDF_load_3ddata
PDF_load_iccprofile
PDF Funktionen


Sucht und bereitet ICC-Profil vor

PDF_load_font
PDF_load_image
PDF Funktionen
PHP Manual

PDF_load_iccprofile

(PECL pdflib >= 2.0.0)

PDF_load_iccprofile — Sucht und bereitet ICC-Profil vor

Beschreibung

int PDF_load_iccprofile ( resource $pdfdoc , string $profilename , string $optlist )

Sucht nach einem ICC-Profil und bereitet es zur späteren Verwendung vor.

PDF_load_font
PDF_load_image
PDF Funktionen


Öffnet Bilddatei

PDF_load_iccprofile
PDF_makespotcolor
PDF Funktionen
PHP Manual

PDF_load_image

(PECL pdflib >= 2.0.0)

PDF_load_image — Öffnet Bilddatei

Beschreibung

int PDF_load_image ( resource $pdfdoc , string $imagetype , string $filename , string $optlist )

Öffnet eine auf der Festplatte liegende oder virtuelle Bilddatei unter Anwendung verschiedener Optionen.

PDF_load_iccprofile
PDF_makespotcolor
PDF Funktionen


Erstellt Schmuckfarbe

PDF_load_image
PDF_moveto
PDF Funktionen
PHP Manual

PDF_makespotcolor

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_makespotcolor — Erstellt Schmuckfarbe

Beschreibung

int PDF_makespotcolor ( resource $p , string $spotname )

Ermittelt den Namen einer integrierten Schmuckfarbe oder erzeugt aus der aktuellen Füllfarbe eine benannte Schmuckfarbe. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_load_image
PDF_moveto
PDF Funktionen


Setzt aktuelle Position

PDF_makespotcolor
PDF_new
PDF Funktionen
PHP Manual

PDF_moveto

(PHP 4, PECL pdflib >= 1.0.0)

PDF_moveto — Setzt aktuelle Position

Beschreibung

bool PDF_moveto ( resource $p , float $x , float $y )

Setzt die aktuelle Position für Grafikausgabe. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_makespotcolor
PDF_new
PDF Funktionen


Erzeugt PDFlib-Objekt

PDF_moveto
PDF_open_ccitt
PDF Funktionen
PHP Manual

PDF_new

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_new — Erzeugt PDFlib-Objekt

Beschreibung

resource PDF_new ( void )

Erzeugt ein neues PDFlib-Objekt mit Standardeinstellungen.

PDF_moveto
PDF_open_ccitt
PDF Funktionen


Öffnet CCITT-Rohbild [veraltet]

PDF_new
PDF_open_file
PDF Funktionen
PHP Manual

PDF_open_ccitt

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_open_ccitt — Öffnet CCITT-Rohbild [veraltet]

Beschreibung

int PDF_open_ccitt ( resource $pdfdoc , string $filename , int $width , int $height , int $BitReverse , int $k , int $Blackls1 )

Öffnet ein CCITT-Rohbild.

Diese Funktion ist seit PDFlib Version 5 veraltet; verwenden Sie stattdessenPDF_load_image().

PDF_new
PDF_open_file
PDF Funktionen


Erzeugt PDF-Datei [veraltet]

PDF_open_ccitt
PDF_open_gif
PDF Funktionen
PHP Manual

PDF_open_file

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_open_file — Erzeugt PDF-Datei [veraltet]

Beschreibung

bool PDF_open_file ( resource $p , string $filename )

Erzeugt anhand des übergebenen Dateinamens eine neue PDF-Datei. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Diese Funktion ist seit PDFlib Version 6 veraltet; verwenden Sie stattdessen PDF_begin_document().

PDF_open_ccitt
PDF_open_gif
PDF Funktionen


Öffnet GIF-Bild [veraltet]

PDF_open_file
PDF_open_image_file
PDF Funktionen
PHP Manual

PDF_open_gif

(PHP 4, PECL pdflib >= 1.0.0)

PDF_open_gif — Öffnet GIF-Bild [veraltet]

Beschreibung

Diese Funktion ist seit PDFlib Version 3 veraltet; verwenden Sie stattdessen PDF_load_image().

PDF_open_file
PDF_open_image_file
PDF Funktionen


Liest Bild aus Datei [veraltet]

PDF_open_gif
PDF_open_image
PDF Funktionen
PHP Manual

PDF_open_image_file

(PHP 4, PECL pdflib >= 1.0.0)

PDF_open_image_file — Liest Bild aus Datei [veraltet]

Beschreibung

int PDF_open_image_file ( resource $p , string $imagetype , string $filename , string $stringparam , int $intparam )

Öffnet eine Bilddatei.

Diese Funktion ist seit PDFlib Version 5 veraltet; verwenden Sie stattdessen PDF_load_image() mit den Optionen colorize, ignoremask, invert, mask, masked und page.

PDF_open_gif
PDF_open_image
PDF Funktionen


Verwendet Bilddaten [veraltet]

PDF_open_image_file
PDF_open_jpeg
PDF Funktionen
PHP Manual

PDF_open_image

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_open_image — Verwendet Bilddaten [veraltet]

Beschreibung

int PDF_open_image ( resource $p , string $imagetype , string $source , string $data , int $length , int $width , int $height , int $components , int $bpc , string $params )

Verwendet Bilddaten aus verschiedenen Datenquellen.

Diese Funktion ist seit PDFlib Version 5 veraltet; verwenden Sie stattdessen virtuelle Dateien und PDF_load_image().

PDF_open_image_file
PDF_open_jpeg
PDF Funktionen


Öffnet JPEG-Bild [veraltet]

PDF_open_image
PDF_open_memory_image
PDF Funktionen
PHP Manual

PDF_open_jpeg

(PHP 4, PECL pdflib >= 1.0.0)

PDF_open_jpeg — Öffnet JPEG-Bild [veraltet]

Beschreibung

Diese Funktion ist seit PDFlib Version 3 veraltet; verwenden Sie stattdessen PDF_load_image().

PDF_open_image
PDF_open_memory_image
PDF Funktionen


Öffnet mit PHP-Bildfunktionen erzeugtes Bild [nicht unterstützt]

PDF_open_jpeg
PDF_open_pdi_document
PDF Funktionen
PHP Manual

PDF_open_memory_image

(PHP 4, PECL pdflib >= 1.0.0)

PDF_open_memory_image — Öffnet mit PHP-Bildfunktionen erzeugtes Bild [nicht unterstützt]

Beschreibung

int PDF_open_memory_image ( resource $p , resource $image )

Diese Funktion wird von der PDFlib GmbH nicht unterstützt.

PDF_open_jpeg
PDF_open_pdi_document
PDF Funktionen


Bereited ein PDI Dokument vor

PDF_open_memory_image
PDF_open_pdi_page
PDF Funktionen
PHP Manual

PDF_open_pdi_document

(PECL pdflib >= 2.1.0)

PDF_open_pdi_document — Bereited ein PDI Dokument vor

Beschreibung

int PDF_open_pdi_document ( resource $p , string $filename , string $optlist )

Öffnet ein physisches oder virtuelles PDF Dokument und bereited es für die weitere Verwendung vor.

PDF_open_memory_image
PDF_open_pdi_page
PDF Funktionen


Bereitet Seite vor

PDF_open_pdi_document
PDF_open_pdi
PDF Funktionen
PHP Manual

PDF_open_pdi_page

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_open_pdi_page — Bereitet Seite vor

Beschreibung

int PDF_open_pdi_page ( resource $p , int $doc , int $pagenumber , string $optlist )

Bereitet eine Seite zur späteren Verwendung mit PDF_fit_pdi_page() vor.

PDF_open_pdi_document
PDF_open_pdi
PDF Funktionen


Öffnet PDF-Datei [veraltet]

PDF_open_pdi_page
PDF_open_tiff
PDF Funktionen
PHP Manual

PDF_open_pdi

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_open_pdi — Öffnet PDF-Datei [veraltet]

Beschreibung

int PDF_open_pdi ( resource $pdfdoc , string $filename , string $optlist , int $len )

Öffnet ein auf der Festplatte liegendes oder virtuelles PDF-Dokument und bereitet es zur späteren Verwendung vor.

Diese Funktion ist seit PDFlib Version 7 veraltet; verwenden Sie stattdessen PDF_open_pdi_document().

PDF_open_pdi_page
PDF_open_tiff
PDF Funktionen


Öffnet TIFF-Bild [veraltet]

PDF_open_pdi
PDF_pcos_get_number
PDF Funktionen
PHP Manual

PDF_open_tiff

(PHP 4, PECL pdflib >= 1.0.0)

PDF_open_tiff — Öffnet TIFF-Bild [veraltet]

Beschreibung

Diese Funktion ist seit PDFlib Version 3 veraltet; verwenden Sie stattdessen PDF_load_image().

PDF_open_pdi
PDF_pcos_get_number
PDF Funktionen


Ermittelt Wert eines pCOS-Pfades vom Typ Zahl oder Boolean

PDF_open_tiff
PDF_pcos_get_stream
PDF Funktionen
PHP Manual

PDF_pcos_get_number

(PECL pdflib >= 2.1.0)

PDF_pcos_get_number — Ermittelt Wert eines pCOS-Pfades vom Typ Zahl oder Boolean

Beschreibung

double PDF_pcos_get_number ( resource $pdfdoc , long $doc , string $path )

Ermittelt den Wert eines pCOS-Pfades vom Typ Zahl oder Boolean.

PDF_open_tiff
PDF_pcos_get_stream
PDF Funktionen


Ermittelt Inhalt eines pCOS-Pfades vom Typ stream, fstream oder string

PDF_pcos_get_number
PDF_pcos_get_string
PDF Funktionen
PHP Manual

PDF_pcos_get_stream

(PECL pdflib >= 2.1.0)

PDF_pcos_get_stream — Ermittelt Inhalt eines pCOS-Pfades vom Typ stream, fstream oder string

Beschreibung

string PDF_pcos_get_stream ( resource $pdfdoc , long $doc , string $optlist , string $path )

Ermittelt den Inhalt eines pCOS-Pfades vom Typ stream, fstream oder string.

PDF_pcos_get_number
PDF_pcos_get_string
PDF Funktionen


Ermittelt Wert eines pCOS-Pfades vom Typ Name, String oder Boolean

PDF_pcos_get_stream
PDF_place_image
PDF Funktionen
PHP Manual

PDF_pcos_get_string

(PECL pdflib >= 2.1.0)

PDF_pcos_get_string — Ermittelt Wert eines pCOS-Pfades vom Typ Name, String oder Boolean

Beschreibung

string PDF_pcos_get_string ( resource $p , int $doc , string $path )

Ermittelt den Wert eines pCOS-Pfades vom Typ Name, String oder Boolean.

PDF_pcos_get_stream
PDF_place_image
PDF Funktionen


Platziert Bild auf der Seite [veraltet]

PDF_pcos_get_string
PDF_place_pdi_page
PDF Funktionen
PHP Manual

PDF_place_image

(PHP 4, PECL pdflib >= 1.0.0)

PDF_place_image — Platziert Bild auf der Seite [veraltet]

Beschreibung

bool PDF_place_image ( resource $pdfdoc , int $image , float $x , float $y , float $scale )

Platziert ein Bild und skaliert es. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Diese Funktion ist seit PDFlib Version 5 veraltet; verwenden Sie stattdessen PDF_fit_image().

PDF_pcos_get_string
PDF_place_pdi_page
PDF Funktionen


Platziert PDF-Seite [veraltet]

PDF_place_image
PDF_process_pdi
PDF Funktionen
PHP Manual

PDF_place_pdi_page

(PHP 4 >= 4.0.6, PECL pdflib >= 1.0.0)

PDF_place_pdi_page — Platziert PDF-Seite [veraltet]

Beschreibung

bool PDF_place_pdi_page ( resource $pdfdoc , int $page , float $x , float $y , float $sx , float $sy )

Platziert eine PDF-Seite und skaliert sie. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Diese Funktion ist seit PDFlib Version 5 veraltet; verwenden Sie stattdessen PDF_fit_pdi_page().

PDF_place_image
PDF_process_pdi
PDF Funktionen


Verarbeitet importiertes PDF-Dokument

PDF_place_pdi_page
PDF_rect
PDF Funktionen
PHP Manual

PDF_process_pdi

(PECL pdflib >= 2.0.0)

PDF_process_pdi — Verarbeitet importiertes PDF-Dokument

Beschreibung

int PDF_process_pdi ( resource $pdfdoc , int $doc , int $page , string $optlist )

Verarbeitet bestimmte Elemente eines importierten PDF-Dokuments.

PDF_place_pdi_page
PDF_rect
PDF Funktionen


Zeichnet Rechteck

PDF_process_pdi
PDF_restore
PDF Funktionen
PHP Manual

PDF_rect

(PHP 4, PECL pdflib >= 1.0.0)

PDF_rect — Zeichnet Rechteck

Beschreibung

bool PDF_rect ( resource $p , float $x , float $y , float $width , float $height )

Zeichnet ein Rechteck. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_process_pdi
PDF_restore
PDF Funktionen


Stellt Grafikzustand wieder her

PDF_rect
PDF_resume_page
PDF Funktionen
PHP Manual

PDF_restore

(PHP 4, PECL pdflib >= 1.0.0)

PDF_restore — Stellt Grafikzustand wieder her

Beschreibung

bool PDF_restore ( resource $p )

Stellt den zuletzt gespeicherten Grafikzustand wieder her. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_rect
PDF_resume_page
PDF Funktionen


Setzt Seite fort

PDF_restore
PDF_rotate
PDF Funktionen
PHP Manual

PDF_resume_page

(PECL pdflib >= 2.0.0)

PDF_resume_page — Setzt Seite fort

Beschreibung

bool PDF_resume_page ( resource $pdfdoc , string $optlist )

Setzt eine Seite fort, um weiteren Inhalt hinzuzufügen.

PDF_restore
PDF_rotate
PDF Funktionen


Dreht Koordinatensystem

PDF_resume_page
PDF_save
PDF Funktionen
PHP Manual

PDF_rotate

(PHP 4, PECL pdflib >= 1.0.0)

PDF_rotate — Dreht Koordinatensystem

Beschreibung

bool PDF_rotate ( resource $p , float $phi )

Dreht das Koordinatensystem. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_resume_page
PDF_save
PDF Funktionen


Speichert Grafikzustand

PDF_rotate
PDF_scale
PDF Funktionen
PHP Manual

PDF_save

(PHP 4, PECL pdflib >= 1.0.0)

PDF_save — Speichert Grafikzustand

Beschreibung

bool PDF_save ( resource $p )

Speichert den aktuellen Grafikzustand. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_rotate
PDF_scale
PDF Funktionen


Skaliert Koordinatensystem

PDF_save
PDF_set_border_color
PDF Funktionen
PHP Manual

PDF_scale

(PHP 4, PECL pdflib >= 1.0.0)

PDF_scale — Skaliert Koordinatensystem

Beschreibung

bool PDF_scale ( resource $p , float $sx , float $sy )

Skaliert das Koordinatensystem. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_save
PDF_set_border_color
PDF Funktionen


Legt Randfarbe von Anmerkungen fest [veraltet]

PDF_scale
PDF_set_border_dash
PDF Funktionen
PHP Manual

PDF_set_border_color

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_border_color — Legt Randfarbe von Anmerkungen fest [veraltet]

Beschreibung

bool PDF_set_border_color ( resource $p , float $red , float $green , float $blue )

Legt die Randfarbe für beliebige Anmerkungstypen fest. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Diese Funktion ist seit PDFlib Version 6 veraltet; verwenden Sie stattdessen die Option annotcolor in PDF_create_annotation().

PDF_scale
PDF_set_border_dash
PDF Funktionen


Legt Strichmuster für Rand von Anmerkungen fest [veraltet]

PDF_set_border_color
PDF_set_border_style
PDF Funktionen
PHP Manual

PDF_set_border_dash

(PHP 4 >= 4.0.1, PECL pdflib >= 1.0.0)

PDF_set_border_dash — Legt Strichmuster für Rand von Anmerkungen fest [veraltet]

Beschreibung

bool PDF_set_border_dash ( resource $pdfdoc , float $black , float $white )

Legt Strichmuster des Randes für beliebige Anmerkungstypen fest. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Diese Funktion ist seit PDFlib Version 6 veraltet; verwenden Sie stattdessen die Option dasharray in PDF_create_annotation().

PDF_set_border_color
PDF_set_border_style
PDF Funktionen


Legt Randstil von Anmerkungen fest [veraltet]

PDF_set_border_dash
PDF_set_char_spacing
PDF Funktionen
PHP Manual

PDF_set_border_style

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_border_style — Legt Randstil von Anmerkungen fest [veraltet]

Beschreibung

bool PDF_set_border_style ( resource $pdfdoc , string $style , float $width )

Legt den Randstil für beliebige Anmerkungstypen fest. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Diese Funktion ist seit PDFlib Version 6 veraltet; verwenden Sie stattdessen die Optionen borderstyle und linewidth in PDF_create_annotation().

PDF_set_border_dash
PDF_set_char_spacing
PDF Funktionen


Legt den Zeichenabstand fest [veraltet]

PDF_set_border_style
PDF_set_duration
PDF Funktionen
PHP Manual

PDF_set_char_spacing

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_char_spacing — Legt den Zeichenabstand fest [veraltet]

Beschreibung

Diese Funktion ist seit PDFlib Version 3 veraltet; verwenden Sie stattdessen PDF_set_value() mit dem Parameter charspacing.

PDF_set_border_style
PDF_set_duration
PDF Funktionen


Legt Anzeigedauer von Seiten fest [veraltet]

PDF_set_char_spacing
PDF_set_gstate
PDF Funktionen
PHP Manual

PDF_set_duration

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_duration — Legt Anzeigedauer von Seiten fest [veraltet]

Beschreibung

Diese Funktion ist seit PDFlib Version 3 veraltet; verwenden Sie stattdessen die duration Option in PDF_begin_page_ext() bzw. PDF_end_page_ext().

PDF_set_char_spacing
PDF_set_gstate
PDF Funktionen


Aktiviert Grafikzustandsobjekt

PDF_set_duration
PDF_set_horiz_scaling
PDF Funktionen
PHP Manual

PDF_set_gstate

(PECL pdflib >= 2.0.0)

PDF_set_gstate — Aktiviert Grafikzustandsobjekt

Beschreibung

bool PDF_set_gstate ( resource $pdfdoc , int $gstate )

Aktiviert ein Grafikzustandsobjekt.

PDF_set_duration
PDF_set_horiz_scaling
PDF Funktionen


Legt horizontale Textskalierung fest [veraltet]

PDF_set_gstate
PDF_set_info_author
PDF Funktionen
PHP Manual

PDF_set_horiz_scaling

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_horiz_scaling — Legt horizontale Textskalierung fest [veraltet]

Beschreibung

Diese Funktion ist seit PDFlib Version 3 veraltet; verwenden Sie stattdessen PDF_set_value() mit dem Parameter horizscaling.

PDF_set_gstate
PDF_set_info_author
PDF Funktionen


Füllt Dokumentinfofeld für Verfasser [veraltet]

PDF_set_horiz_scaling
PDF_set_info_creator
PDF Funktionen
PHP Manual

PDF_set_info_author

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_info_author — Füllt Dokumentinfofeld für Verfasser [veraltet]

Beschreibung

Diese Funktion ist seit PDFlib Version 3 veraltet; verwenden Sie stattdessen PDF_set_info().

PDF_set_horiz_scaling
PDF_set_info_creator
PDF Funktionen


Füllt Dokumentinfofeld für Anwendung [veraltet]

PDF_set_info_author
PDF_set_info_keywords
PDF Funktionen
PHP Manual

PDF_set_info_creator

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_info_creator — Füllt Dokumentinfofeld für Anwendung [veraltet]

Beschreibung

Diese Funktion ist seit PDFlib Version 3 veraltet; verwenden Sie stattdessen PDF_set_info().

PDF_set_info_author
PDF_set_info_keywords
PDF Funktionen


Füllt Dokumentinfofeld für Stichwörter [veraltet]

PDF_set_info_creator
PDF_set_info_subject
PDF Funktionen
PHP Manual

PDF_set_info_keywords

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_info_keywords — Füllt Dokumentinfofeld für Stichwörter [veraltet]

Beschreibung

Diese Funktion ist seit PDFlib Version 3 veraltet; verwenden Sie stattdessen PDF_set_info().

PDF_set_info_creator
PDF_set_info_subject
PDF Funktionen


Füllt Dokumentinfofeld für Thema [veraltet]

PDF_set_info_keywords
PDF_set_info_title
PDF Funktionen
PHP Manual

PDF_set_info_subject

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_info_subject — Füllt Dokumentinfofeld für Thema [veraltet]

Beschreibung

Diese Funktion ist seit PDFlib Version 3 veraltet; verwenden Sie stattdessen PDF_set_info().

PDF_set_info_keywords
PDF_set_info_title
PDF Funktionen


Füllt Dokumentinfofeld für Titel [veraltet]

PDF_set_info_subject
PDF_set_info
PDF Funktionen
PHP Manual

PDF_set_info_title

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_info_title — Füllt Dokumentinfofeld für Titel [veraltet]

Beschreibung

Diese Funktion ist seit PDFlib Version 3 veraltet; verwenden Sie stattdessen PDF_set_info().

PDF_set_info_subject
PDF_set_info
PDF Funktionen


Füllt Dokumentinfofeld

PDF_set_info_title
PDF_set_layer_dependency
PDF Funktionen
PHP Manual

PDF_set_info

(PHP 4 >= 4.0.1, PECL pdflib >= 1.0.0)

PDF_set_info — Füllt Dokumentinfofeld

Beschreibung

bool PDF_set_info ( resource $p , string $key , string $value )

Trägt value in das Dokumentinfofeld key ein. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_set_info_title
PDF_set_layer_dependency
PDF Funktionen


Definiert Beziehungen zwischen Ebenen

PDF_set_info
PDF_set_leading
PDF Funktionen
PHP Manual

PDF_set_layer_dependency

(PECL pdflib >= 2.0.0)

PDF_set_layer_dependency — Definiert Beziehungen zwischen Ebenen

Beschreibung

bool PDF_set_layer_dependency ( resource $pdfdoc , string $type , string $optlist )

Definiert hierarchische und Gruppenbeziehungen zwischen Ebenen. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Diese Funktion benötigt PDF 1.5.

PDF_set_info
PDF_set_leading
PDF Funktionen


Bestimmt Textzeilenabstand [veraltet]

PDF_set_layer_dependency
PDF_set_parameter
PDF Funktionen
PHP Manual

PDF_set_leading

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_leading — Bestimmt Textzeilenabstand [veraltet]

Beschreibung

Diese Funktion ist seit PDFlib Version 3 veraltet; verwenden Sie stattdessen PDF_set_value() mit dem Parameter leading.

PDF_set_layer_dependency
PDF_set_parameter
PDF Funktionen


Legt String-Parameter fest

PDF_set_leading
PDF_set_text_matrix
PDF Funktionen
PHP Manual

PDF_set_parameter

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_parameter — Legt String-Parameter fest

Beschreibung

bool PDF_set_parameter ( resource $p , string $key , string $value )

Legt einen String-Parameter fest. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_set_leading
PDF_set_text_matrix
PDF Funktionen


Legt Textmatrix fest [veraltet]

PDF_set_parameter
PDF_set_text_pos
PDF Funktionen
PHP Manual

PDF_set_text_matrix

(PHP 4 <= 4.0.4)

PDF_set_text_matrix — Legt Textmatrix fest [veraltet]

Beschreibung

Diese Funktion ist seit PDFlib Version 3 veraltet; verwenden Sie
stattdessen PDF_scale(),
PDF_translate(), PDF_rotate() oder
PDF_skew().

PDF_set_parameter
PDF_set_text_pos
PDF Funktionen


Legt aktuelle Textposition fest

PDF_set_text_matrix
PDF_set_text_rendering
PDF Funktionen
PHP Manual

PDF_set_text_pos

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_text_pos — Legt aktuelle Textposition fest

Beschreibung

bool PDF_set_text_pos ( resource $p , float $x , float $y )

Legt die aktuelle Position für die Textausgabe auf der Seite fest. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_set_text_matrix
PDF_set_text_rendering
PDF Funktionen


Bestimmt Darstellungsmodus für Text [veraltet]

PDF_set_text_pos
PDF_set_text_rise
PDF Funktionen
PHP Manual

PDF_set_text_rendering

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_text_rendering — Bestimmt Darstellungsmodus für Text [veraltet]

Beschreibung

Diese Funktion ist seit PDFlib Version 3 veraltet; verwenden Sie stattdessen PDF_set_value() mit dem Parameter textrendering.

PDF_set_text_pos
PDF_set_text_rise
PDF Funktionen


Bestimmt vertikalen Textversatz [veraltet]

PDF_set_text_rendering
PDF_set_value
PDF Funktionen
PHP Manual

PDF_set_text_rise

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_text_rise — Bestimmt vertikalen Textversatz [veraltet]

Beschreibung

Diese Funktion ist seit PDFlib Version 3 veraltet; verwenden Sie stattdessen PDF_set_value() mit dem textrise Parameter.

PDF_set_text_rendering
PDF_set_value
PDF Funktionen


Legt numerischen Parameter fest

PDF_set_text_rise
PDF_set_word_spacing
PDF Funktionen
PHP Manual

PDF_set_value

(PHP 4 >= 4.0.1, PECL pdflib >= 1.0.0)

PDF_set_value — Legt numerischen Parameter fest

Beschreibung

bool PDF_set_value ( resource $p , string $key , float $value )

Setzt den Wert eines PDFlib-Parameters mit numerischem Typ. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_set_text_rise
PDF_set_word_spacing
PDF Funktionen


Legt Wortabstand fest [veraltet]

PDF_set_value
PDF_setcolor
PDF Funktionen
PHP Manual

PDF_set_word_spacing

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_word_spacing — Legt Wortabstand fest [veraltet]

Beschreibung

Diese Funktion ist seit PDFlib Version 3 veraltet; verwenden Sie stattdessen PDF_set_value() mit dem Parameter wordspacing.

PDF_set_value
PDF_setcolor
PDF Funktionen


Legt Füll- und Zeichenfarbe fest

PDF_set_word_spacing
PDF_setdash
PDF Funktionen
PHP Manual

PDF_setcolor

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_setcolor — Legt Füll- und Zeichenfarbe fest

Beschreibung

bool PDF_setcolor ( resource $p , string $fstype , string $colorspace , float $c1 , float $c2 , float $c3 , float $c4 )

Legt den aktuellen Farbraum und die aktuelle Farbe fest. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_set_word_spacing
PDF_setdash
PDF Funktionen


Legt einfaches Strichmuster fest

PDF_setcolor
PDF_setdashpattern
PDF Funktionen
PHP Manual

PDF_setdash

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setdash — Legt einfaches Strichmuster fest

Beschreibung

bool PDF_setdash ( resource $pdfdoc , float $b , float $w )

Legt das aktuelle Strichmuster auf b schwarze und w weiße Einheiten fest. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_setcolor
PDF_setdashpattern
PDF Funktionen


Legt Strichmuster fest

PDF_setdash
PDF_setflat
PDF Funktionen
PHP Manual

PDF_setdashpattern

(PECL pdflib >= 2.0.0)

PDF_setdashpattern — Legt Strichmuster fest

Beschreibung

bool PDF_setdashpattern ( resource $pdfdoc , string $optlist )

Legt ein Strichmuster fest, das durch eine Optionsliste definiert ist. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_setdash
PDF_setflat
PDF Funktionen


Legt Flatness-Parameter fest

PDF_setdashpattern
PDF_setfont
PDF Funktionen
PHP Manual

PDF_setflat

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setflat — Legt Flatness-Parameter fest

Beschreibung

bool PDF_setflat ( resource $pdfdoc , float $flatness )

Legt den Flatness-Parameter fest. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_setdashpattern
PDF_setfont
PDF Funktionen


Legt aktuelle Schrift fest

PDF_setflat
PDF_setgray_fill
PDF Funktionen
PHP Manual

PDF_setfont

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_setfont — Legt aktuelle Schrift fest

Beschreibung

bool PDF_setfont ( resource $pdfdoc , int $font , float $fontsize )

Legt die aktuelle Schrift in der angegebenen Größe fontsize fest, unter Verwendung eines font-Handle, das von PDF_load_font() zurückgegeben wurde. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_setflat
PDF_setgray_fill
PDF Funktionen


Legt Füllfarbe als Grauwert fest [veraltet]

PDF_setfont
PDF_setgray_stroke
PDF Funktionen
PHP Manual

PDF_setgray_fill

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setgray_fill — Legt Füllfarbe als Grauwert fest [veraltet]

Beschreibung

bool PDF_setgray_fill ( resource $p , float $g )

Legt die aktuelle Füllfarbe als Grauwert zwischen 0 und 1 inklusive fest. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Diese Funktion ist seit PDFlib Version 4 veraltet; verwenden Sie stattdessen PDF_setcolor() instead.

PDF_setfont
PDF_setgray_stroke
PDF Funktionen


Left Zeichenfarbe als Grauwert fest [veraltet]

PDF_setgray_fill
PDF_setgray
PDF Funktionen
PHP Manual

PDF_setgray_stroke

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setgray_stroke — Left Zeichenfarbe als Grauwert fest [veraltet]

Beschreibung

bool PDF_setgray_stroke ( resource $p , float $g )

Legt die aktuelle Zeichenfarbe als Grauwert zwischen 0 und 1 inklusive fest. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Diese Funktion ist seit PDFlib Version 4 veraltet; verwenden Sie stattdessen PDF_setcolor().

PDF_setgray_fill
PDF_setgray
PDF Funktionen


Legt Farbe als Grauwert fest [veraltet]

PDF_setgray_stroke
PDF_setlinecap
PDF Funktionen
PHP Manual

PDF_setgray

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setgray — Legt Farbe als Grauwert fest [veraltet]

Beschreibung

bool PDF_setgray ( resource $p , float $g )

Legt die aktuelle Füll- und Zeichenfarbe als Grauwert zwischen 0 und 1 inklusive fest. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Diese Funktion ist seit PDFlib Version 4 veraltet; verwenden Sie stattdessen PDF_setcolor().

PDF_setgray_stroke
PDF_setlinecap
PDF Funktionen


Legt linecap-Parameter fest

PDF_setgray
PDF_setlinejoin
PDF Funktionen
PHP Manual

PDF_setlinecap

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setlinecap — Legt linecap-Parameter fest

Beschreibung

bool PDF_setlinecap ( resource $p , int $linecap )

Legt den linecap-Parameter fest, der die Form der Linienenden bestimmt.

PDF_setgray
PDF_setlinejoin
PDF Funktionen


Legt linejoin-Parameter fest

PDF_setlinecap
PDF_setlinewidth
PDF Funktionen
PHP Manual

PDF_setlinejoin

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setlinejoin — Legt linejoin-Parameter fest

Beschreibung

bool PDF_setlinejoin ( resource $p , int $value )

Legt den linejoin fest, der die Verbindungsart von Linien bestimmt. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_setlinecap
PDF_setlinewidth
PDF Funktionen


Legt aktuelle Strichstärke fest

PDF_setlinejoin
PDF_setmatrix
PDF Funktionen
PHP Manual

PDF_setlinewidth

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setlinewidth — Legt aktuelle Strichstärke fest

Beschreibung

bool PDF_setlinewidth ( resource $p , float $width )

Legt die aktuelle Strichstärke fest. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_setlinejoin
PDF_setmatrix
PDF Funktionen


Legt aktuelle Transformationsmatrix fest

PDF_setlinewidth
PDF_setmiterlimit
PDF Funktionen
PHP Manual

PDF_setmatrix

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_setmatrix — Legt aktuelle Transformationsmatrix fest

Beschreibung

bool PDF_setmatrix ( resource $p , float $a , float $b , float $c , float $d , float $e , float $f )

Legt die aktuelle Transformationsmatrix explizit fest. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_setlinewidth
PDF_setmiterlimit
PDF Funktionen


Legt Gehrungsgrenzwert fest

PDF_setmatrix
PDF_setpolydash
PDF Funktionen
PHP Manual

PDF_setmiterlimit

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setmiterlimit — Legt Gehrungsgrenzwert fest

Beschreibung

bool PDF_setmiterlimit ( resource $pdfdoc , float $miter )

Legt den Gehrungsgrenzwert fest. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_setmatrix
PDF_setpolydash
PDF Funktionen


Legt komplexes Strichmuster fest [veraltet]

PDF_setmiterlimit
PDF_setrgbcolor_fill
PDF Funktionen
PHP Manual

PDF_setpolydash

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_setpolydash — Legt komplexes Strichmuster fest [veraltet]

Beschreibung

Diese Funktion ist seit PDFlib Version 5 veraltet; verwenden Sie stattdessen PDF_setdashpattern().

PDF_setmiterlimit
PDF_setrgbcolor_fill
PDF Funktionen


Legt Füllfarbe in RGB fest [veraltet]

PDF_setpolydash
PDF_setrgbcolor_stroke
PDF Funktionen
PHP Manual

PDF_setrgbcolor_fill

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setrgbcolor_fill — Legt Füllfarbe in RGB fest [veraltet]

Beschreibung

bool PDF_setrgbcolor_fill ( resource $p , float $red , float $green , float $blue )

Legt die aktuelle Füllfarbe auf die übergebenen RGB-Werte fest. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Diese Funktion ist seit PDFlib Version 4 veraltet; verwenden Sie stattdessen PDF_setcolor().

PDF_setpolydash
PDF_setrgbcolor_stroke
PDF Funktionen


Legt Zeichenfarbe in RGB fest [veraltet]

PDF_setrgbcolor_fill
PDF_setrgbcolor
PDF Funktionen
PHP Manual

PDF_setrgbcolor_stroke

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setrgbcolor_stroke — Legt Zeichenfarbe in RGB fest [veraltet]

Beschreibung

bool PDF_setrgbcolor_stroke ( resource $p , float $red , float $green , float $blue )

Legt die aktuelle Zeichenfarbe auf die übergebenen RGB-Werte fest. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Diese Funktion ist seit PDFlib Version 4 veraltet; verwenden Sie stattdessen PDF_setcolor().

PDF_setrgbcolor_fill
PDF_setrgbcolor
PDF Funktionen


Legt Füll- und Zeichenfarbe in RGB fest [veraltet]

PDF_setrgbcolor_stroke
PDF_shading_pattern
PDF Funktionen
PHP Manual

PDF_setrgbcolor

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setrgbcolor — Legt Füll- und Zeichenfarbe in RGB fest [veraltet]

Beschreibung

bool PDF_setrgbcolor ( resource $p , float $red , float $green , float $blue )

Legt die aktuelle Füll- und Zeichenfarbe auf die übergebenen RGB-Werte fest. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Diese Funktion ist seit PDFlib Version 4 veraltet; verwenden Sie stattdessen PDF_setcolor().

PDF_setrgbcolor_stroke
PDF_shading_pattern
PDF Funktionen


Definiert Farbverlaufsmuster

PDF_setrgbcolor
PDF_shading
PDF Funktionen
PHP Manual

PDF_shading_pattern

(PECL pdflib >= 2.0.0)

PDF_shading_pattern — Definiert Farbverlaufsmuster

Beschreibung

int PDF_shading_pattern ( resource $pdfdoc , int $shading , string $optlist )

Definiert ein Farbverlaufsmuster anhand eines Farbverlaufsobjekts.

Diese Funktion benötigt PDF 1.4 oder höher.

PDF_setrgbcolor
PDF_shading
PDF Funktionen


Definiert Farbverlauf

PDF_shading_pattern
PDF_shfill
PDF Funktionen
PHP Manual

PDF_shading

(PECL pdflib >= 2.0.0)

PDF_shading — Definiert Farbverlauf

Beschreibung

int PDF_shading ( resource $pdfdoc , string $shtype , float $x0 , float $y0 , float $x1 , float $y1 , float $c1 , float $c2 , float $c3 , float $c4 , string $optlist )

Definiert einen Farbverlauf zwischen der aktuellen Füllfarbe und der übergebenen Farbe.

Diese Funktion benötigt PDF 1.4 oder höher.

PDF_shading_pattern
PDF_shfill
PDF Funktionen


Füllt Bereich mit Farbverlauf

PDF_shading
PDF_show_boxed
PDF Funktionen
PHP Manual

PDF_shfill

(PECL pdflib >= 2.0.0)

PDF_shfill — Füllt Bereich mit Farbverlauf

Beschreibung

bool PDF_shfill ( resource $pdfdoc , int $shading )

Füllt einen Bereich mit einem Farbverlauf, der auf einem Farbverlaufsobjekt basiert.

Diese Funktion benötigt PDF 1.4 oder höher.

PDF_shading
PDF_show_boxed
PDF Funktionen


Gibt Text in eine Box aus [veraltet, nicht empfohlen]

PDF_shfill
PDF_show_xy
PDF Funktionen
PHP Manual

PDF_show_boxed

(PHP 4, PECL pdflib >= 1.0.0)

PDF_show_boxed — Gibt Text in eine Box aus [veraltet, nicht empfohlen]

Beschreibung

int PDF_show_boxed ( resource $p , string $text , float $left , float $top , float $width , float $height , string $mode , string $feature )

Diese Funktion ist seit PDFlib Version 6 veraltet, verwenden Sie stattdessen PDF_fit_textline() für einzelne Zeilen oder PDF_fit_textflow() für die Formatierung mehrerer Zeilen.

PDF_shfill
PDF_show_xy
PDF Funktionen


Gibt Text an der angegebenen Position aus

PDF_show_boxed
PDF_show
PDF Funktionen
PHP Manual

PDF_show_xy

(PHP 4, PECL pdflib >= 1.0.0)

PDF_show_xy — Gibt Text an der angegebenen Position aus

Beschreibung

bool PDF_show_xy ( resource $p , string $text , float $x , float $y )

Gibt text in der aktuellen Schriftart aus. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_show_boxed
PDF_show
PDF Funktionen


Gibt Text an der aktueller Position aus

PDF_show_xy
PDF_skew
PDF Funktionen
PHP Manual

PDF_show

(PHP 4, PECL pdflib >= 1.0.0)

PDF_show — Gibt Text an der aktueller Position aus

Beschreibung

bool PDF_show ( resource $pdfdoc , string $text )

Gibt text in der aktuellen Schriftart und -größe an der aktuellen Position aus. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_show_xy
PDF_skew
PDF Funktionen


Verzerrt Koordinatensystem

PDF_show
PDF_stringwidth
PDF Funktionen
PHP Manual

PDF_skew

(PHP 4, PECL pdflib >= 1.0.0)

PDF_skew — Verzerrt Koordinatensystem

Beschreibung

bool PDF_skew ( resource $p , float $alpha , float $beta )

Verzerrt das Koordinatensystem in x und y Richtung um alpha bzw. beta Grad. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_show
PDF_stringwidth
PDF Funktionen


Gibt Textbreite zurück

PDF_skew
PDF_stroke
PDF Funktionen
PHP Manual

PDF_stringwidth

(PHP 4, PECL pdflib >= 1.0.0)

PDF_stringwidth — Gibt Textbreite zurück

Beschreibung

float PDF_stringwidth ( resource $p , string $text , int $font , float $fontsize )

Gibt die Breite von text in einem beliebigen Font zurück.

PDF_skew
PDF_stroke
PDF Funktionen


Zeichnet Pfad

PDF_stringwidth
PDF_suspend_page
PDF Funktionen
PHP Manual

PDF_stroke

(PHP 4, PECL pdflib >= 1.0.0)

PDF_stroke — Zeichnet Pfad

Beschreibung

bool PDF_stroke ( resource $p )

Zeichnet den Pfad mit der aktuellen Linienfarbe und Strichstärke und leert ihn. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

PDF_stringwidth
PDF_suspend_page
PDF Funktionen


Unterbricht Seite

PDF_stroke
PDF_translate
PDF Funktionen
PHP Manual

PDF_suspend_page

(PECL pdflib >= 2.0.0)

PDF_suspend_page — Unterbricht Seite

Beschreibung

bool PDF_suspend_page ( resource $pdfdoc , string $optlist )

Unterbricht die aktuelle Seite, so dass sie später durch PDF_resume_page() wieder aufgenommen werden kann.

PDF_stroke
PDF_translate
PDF Funktionen


Verschiebt den Ursprung des Koordinatensystems

PDF_suspend_page
PDF_utf16_to_utf8
PDF Funktionen
PHP Manual

PDF_translate

(PHP 4, PECL pdflib >= 1.0.0)

PDF_translate — Verschiebt den Ursprung des Koordinatensystems

Beschreibung

bool PDF_translate ( resource $p , float $tx , float $ty )

Verschiebt den Ursprung des Koordinatensystems.

PDF_suspend_page
PDF_utf16_to_utf8
PDF Funktionen


Konvertiert String von UTF-16 nach UTF-8

PDF_translate
PDF_utf32_to_utf16
PDF Funktionen
PHP Manual

PDF_utf16_to_utf8

(PECL pdflib >= 2.0.3)

PDF_utf16_to_utf8 — Konvertiert String von UTF-16 nach UTF-8

Beschreibung

string PDF_utf16_to_utf8 ( resource $pdfdoc , string $utf16string )

Konvertiert einen String vom Format UTF-16 nach UTF-8.

PDF_translate
PDF_utf32_to_utf16
PDF Funktionen


Konvertiert String von UTF-32 nach UTF-16

PDF_utf16_to_utf8
PDF_utf8_to_utf16
PDF Funktionen
PHP Manual

PDF_utf32_to_utf16

(PECL pdflib >= Unknown future)

PDF_utf32_to_utf16 — Konvertiert String von UTF-32 nach UTF-16

Beschreibung

string PDF_utf32_to_utf16 ( resource $pdfdoc , string $utf32string , string $ordering )

Konvertiert einen String vom Format UTF-32 nach UTF-16.

PDF_utf16_to_utf8
PDF_utf8_to_utf16
PDF Funktionen


Konvertiert String von UTF-8 nach UTF-16

PDF_utf32_to_utf16
PS
PDF Funktionen
PHP Manual

PDF_utf8_to_utf16

(PECL pdflib >= 2.0.3)

PDF_utf8_to_utf16 — Konvertiert String von UTF-8 nach UTF-16

Beschreibung

string PDF_utf8_to_utf16 ( resource $pdfdoc , string $utf8string , string $ordering )

Konvertiert einen String vom Format UTF-8 nach UTF-16.

PDF_utf32_to_utf16
PS
PDF Funktionen


PostScript document creation

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • PS Funktionen
    • ps_add_bookmark — Add bookmark to current page
    • ps_add_launchlink — Adds link which launches file
    • ps_add_locallink — Adds link to a page in the same document
    • ps_add_note — Adds note to current page
    • ps_add_pdflink — Adds link to a page in a second pdf document
    • ps_add_weblink — Adds link to a web location
    • ps_arc — Draws an arc counterclockwise
    • ps_arcn — Draws an arc clockwise
    • ps_begin_page — Start a new page
    • ps_begin_pattern — Start a new pattern
    • ps_begin_template — Start a new template
    • ps_circle — Draws a circle
    • ps_clip — Clips drawing to current path
    • ps_close_image — Closes image and frees memory
    • ps_close — Closes a PostScript document
    • ps_closepath_stroke — Closes and strokes path
    • ps_closepath — Closes path
    • ps_continue_text — Continue text in next line
    • ps_curveto — Draws a curve
    • ps_delete — Deletes all resources of a PostScript document
    • ps_end_page — End a page
    • ps_end_pattern — End a pattern
    • ps_end_template — End a template
    • ps_fill_stroke — Fills and strokes the current path
    • ps_fill — Fills the current path
    • ps_findfont — Loads a font
    • ps_get_buffer — Fetches the full buffer containig the generated PS data
    • ps_get_parameter — Gets certain parameters
    • ps_get_value — Gets certain values
    • ps_hyphenate — Hyphenates a word
    • ps_include_file — Reads an external file with raw PostScript code
    • ps_lineto — Draws a line
    • ps_makespotcolor — Create spot color
    • ps_moveto — Sets current point
    • ps_new — Creates a new PostScript document object
    • ps_open_file — Opens a file for output
    • ps_open_image_file — Opens image from file
    • ps_open_image — Reads an image for later placement
    • ps_open_memory_image — Takes an GD image and returns an image for placement in a PS document
    • ps_place_image — Places image on the page
    • ps_rect — Draws a rectangle
    • ps_restore — Restore previously save context
    • ps_rotate — Sets rotation factor
    • ps_save — Save current context
    • ps_scale — Sets scaling factor
    • ps_set_border_color — Sets color of border for annotations
    • ps_set_border_dash — Sets length of dashes for border of annotations
    • ps_set_border_style — Sets border style of annotations
    • ps_set_info — Sets information fields of document
    • ps_set_parameter — Sets certain parameters
    • ps_set_text_pos — Sets position for text output
    • ps_set_value — Sets certain values
    • ps_setcolor — Sets current color
    • ps_setdash — Sets appearance of a dashed line
    • ps_setflat — Sets flatness
    • ps_setfont — Sets font to use for following output
    • ps_setgray — Sets gray value
    • ps_setlinecap — Sets appearance of line ends
    • ps_setlinejoin — Sets how contected lines are joined
    • ps_setlinewidth — Sets width of a line
    • ps_setmiterlimit — Sets the miter limit
    • ps_setoverprintmode — Sets overprint mode
    • ps_setpolydash — Sets appearance of a dashed line
    • ps_shading_pattern — Creates a pattern based on a shading
    • ps_shading — Creates a shading for later use
    • ps_shfill — Fills an area with a shading
    • ps_show_boxed — Output text in a box
    • ps_show_xy2 — Output text at position
    • ps_show_xy — Output text at given position
    • ps_show2 — Output a text at current position
    • ps_show — Output text
    • ps_string_geometry — Gets geometry of a string
    • ps_stringwidth — Gets width of a string
    • ps_stroke — Draws the current path
    • ps_symbol_name — Gets name of a glyph
    • ps_symbol_width — Gets width of a glyph
    • ps_symbol — Output a glyph
    • ps_translate — Sets translation
PDF_utf8_to_utf16
Einführung
Non-Text MIME-Ausgaben


Einführung

This module allows to create PostScript documents. It has many similarities with the pdf extension. Actually the API is almost identical and one can in many cases just replace the prefix of each function from pdf_ to ps_. This also works for functions which has no meaning in the PostScript document (like adding hyperlinks) but will have an effect if the document is converted to PDF.

Documents created by this extension are sometimes even superior to documents created with the pdf extension, because pslib's text rendering functions can handle kerning, hyphenation and ligatures which results in much better output of boxed text.

PS
Installation/Konfiguration
PS


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
PS


Anforderungen

You need at least pslib >= 0.1.12. The ps library (pslib) is available at » http://pslib.sourceforge.net/.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/ps.

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Ressource-Typen

This extension defines a PostScript document resource returned by ps_new().

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

The following two tables lists all constants defined by the ps extension.

Contants for line caps
Name | Meaning
ps_LINECAP_BUTT |
ps_LINECAP_ROUND |
ps_LINECAP_SQUARED |
Contants for line joins
Name | Meaning
ps_LINEJOIN_MITER |
ps_LINEJOIN_ROUND |
ps_LINEJOIN_BEVEL |

Ressource-Typen
PS Funktionen
PS


PS Funktionen

Contact Information

If you have comments, bugfixes, enhancements for either this extension or pslib then please drop me a mail » steinm@php.net. Any help is very welcome.

Inhaltsverzeichnis

  • ps_add_bookmark — Add bookmark to current page
  • ps_add_launchlink — Adds link which launches file
  • ps_add_locallink — Adds link to a page in the same document
  • ps_add_note — Adds note to current page
  • ps_add_pdflink — Adds link to a page in a second pdf document
  • ps_add_weblink — Adds link to a web location
  • ps_arc — Draws an arc counterclockwise
  • ps_arcn — Draws an arc clockwise
  • ps_begin_page — Start a new page
  • ps_begin_pattern — Start a new pattern
  • ps_begin_template — Start a new template
  • ps_circle — Draws a circle
  • ps_clip — Clips drawing to current path
  • ps_close_image — Closes image and frees memory
  • ps_close — Closes a PostScript document
  • ps_closepath_stroke — Closes and strokes path
  • ps_closepath — Closes path
  • ps_continue_text — Continue text in next line
  • ps_curveto — Draws a curve
  • ps_delete — Deletes all resources of a PostScript document
  • ps_end_page — End a page
  • ps_end_pattern — End a pattern
  • ps_end_template — End a template
  • ps_fill_stroke — Fills and strokes the current path
  • ps_fill — Fills the current path
  • ps_findfont — Loads a font
  • ps_get_buffer — Fetches the full buffer containig the generated PS data
  • ps_get_parameter — Gets certain parameters
  • ps_get_value — Gets certain values
  • ps_hyphenate — Hyphenates a word
  • ps_include_file — Reads an external file with raw PostScript code
  • ps_lineto — Draws a line
  • ps_makespotcolor — Create spot color
  • ps_moveto — Sets current point
  • ps_new — Creates a new PostScript document object
  • ps_open_file — Opens a file for output
  • ps_open_image_file — Opens image from file
  • ps_open_image — Reads an image for later placement
  • ps_open_memory_image — Takes an GD image and returns an image for placement in a PS document
  • ps_place_image — Places image on the page
  • ps_rect — Draws a rectangle
  • ps_restore — Restore previously save context
  • ps_rotate — Sets rotation factor
  • ps_save — Save current context
  • ps_scale — Sets scaling factor
  • ps_set_border_color — Sets color of border for annotations
  • ps_set_border_dash — Sets length of dashes for border of annotations
  • ps_set_border_style — Sets border style of annotations
  • ps_set_info — Sets information fields of document
  • ps_set_parameter — Sets certain parameters
  • ps_set_text_pos — Sets position for text output
  • ps_set_value — Sets certain values
  • ps_setcolor — Sets current color
  • ps_setdash — Sets appearance of a dashed line
  • ps_setflat — Sets flatness
  • ps_setfont — Sets font to use for following output
  • ps_setgray — Sets gray value
  • ps_setlinecap — Sets appearance of line ends
  • ps_setlinejoin — Sets how contected lines are joined
  • ps_setlinewidth — Sets width of a line
  • ps_setmiterlimit — Sets the miter limit
  • ps_setoverprintmode — Sets overprint mode
  • ps_setpolydash — Sets appearance of a dashed line
  • ps_shading_pattern — Creates a pattern based on a shading
  • ps_shading — Creates a shading for later use
  • ps_shfill — Fills an area with a shading
  • ps_show_boxed — Output text in a box
  • ps_show_xy2 — Output text at position
  • ps_show_xy — Output text at given position
  • ps_show2 — Output a text at current position
  • ps_show — Output text
  • ps_string_geometry — Gets geometry of a string
  • ps_stringwidth — Gets width of a string
  • ps_stroke — Draws the current path
  • ps_symbol_name — Gets name of a glyph
  • ps_symbol_width — Gets width of a glyph
  • ps_symbol — Output a glyph
  • ps_translate — Sets translation
Vordefinierte Konstanten
ps_add_bookmark
PS


Add bookmark to current page

PS Funktionen
ps_add_launchlink
PS Funktionen
PHP Manual

ps_add_bookmark

(PECL ps >= 1.1.0)

ps_add_bookmark — Add bookmark to current page

Beschreibung

int ps_add_bookmark ( resource $psdoc , string $text [, int $parent = 0 [, int $open = 0 ]] )

Adds a bookmark for the current page. Bookmarks usually appear in PDF-Viewers left of the page in a hierarchical tree. Clicking on a bookmark will jump to the given page.

Diese Notiz wird nicht sichtbar sein, wenn das Dokument gedruckt oder betrachtet wird. Sie wird aber sichtbar sein, wenn das Dokument entweder mit Acrobat Distiller™ oder Ghostview zu PDF konvertiert wird.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text used for displaying the bookmark.

parent

A bookmark previously created by this function which is used as the parent of the new bookmark.

open

If open is unequal to zero the bookmark will be shown open by the pdf viewer.

Rückgabewerte

The returned value is a reference for the bookmark. It is only used if the bookmark shall be used as a parent. The value is greater zero if the function succeeds. In case of an error zero will be returned.

Siehe auch

  • ps_add_launchlink() - Adds link which launches file
  • ps_add_pdflink() - Adds link to a page in a second pdf document
  • ps_add_weblink() - Adds link to a web location

PS Funktionen
ps_add_launchlink
PS Funktionen


Adds link which launches file

ps_add_bookmark
ps_add_locallink
PS Funktionen
PHP Manual

ps_add_launchlink

(PECL ps >= 1.1.0)

ps_add_launchlink — Adds link which launches file

Beschreibung

bool ps_add_launchlink ( resource $psdoc , float $llx , float $lly , float $urx , float $ury , string $filename )

Places a hyperlink at the given position pointing to a file program which is being started when clicked on. The hyperlink's source position is a rectangle with its lower left corner at (llx, lly) and its upper right corner at (urx, ury). The rectangle has by default a thin blue border.

Diese Notiz wird nicht sichtbar sein, wenn das Dokument gedruckt oder betrachtet wird. Sie wird aber sichtbar sein, wenn das Dokument entweder mit Acrobat Distiller™ oder Ghostview zu PDF konvertiert wird.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

llx

The x-coordinate of the lower left corner.

lly

The y-coordinate of the lower left corner.

urx

The x-coordinate of the upper right corner.

ury

The y-coordinate of the upper right corner.

filename

The path of the program to be started, when the link is clicked on.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_add_locallink() - Adds link to a page in the same document
  • ps_add_pdflink() - Adds link to a page in a second pdf document
  • ps_add_weblink() - Adds link to a web location

ps_add_bookmark
ps_add_locallink
PS Funktionen


Adds link to a page in the same document

ps_add_launchlink
ps_add_note
PS Funktionen
PHP Manual

ps_add_locallink

(PECL ps >= 1.1.0)

ps_add_locallink — Adds link to a page in the same document

Beschreibung

bool ps_add_locallink ( resource $psdoc , float $llx , float $lly , float $urx , float $ury , int $page , string $dest )

Places a hyperlink at the given position pointing to a page in the same document. Clicking on the link will jump to the given page. The first page in a document has number 1.

The hyperlink's source position is a rectangle with its lower left corner at (llx, lly) and its upper right corner at (urx, ury). The rectangle has by default a thin blue border.

Diese Notiz wird nicht sichtbar sein, wenn das Dokument gedruckt oder betrachtet wird. Sie wird aber sichtbar sein, wenn das Dokument entweder mit Acrobat Distiller™ oder Ghostview zu PDF konvertiert wird.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

llx

The x-coordinate of the lower left corner.

lly

The y-coordinate of the lower left corner.

urx

The x-coordinate of the upper right corner.

ury

The y-coordinate of the upper right corner.

page

The number of the page displayed when clicking on the link.

dest

The parameter dest determines how the document is being viewed. It can be fitpage, fitwidth, fitheight, or fitbbox.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_add_launchlink() - Adds link which launches file
  • ps_add_pdflink() - Adds link to a page in a second pdf document
  • ps_add_weblink() - Adds link to a web location

ps_add_launchlink
ps_add_note
PS Funktionen


Adds note to current page

ps_add_locallink
ps_add_pdflink
PS Funktionen
PHP Manual

ps_add_note

(PECL ps >= 1.1.0)

ps_add_note — Adds note to current page

Beschreibung

bool ps_add_note ( resource $psdoc , float $llx , float $lly , float $urx , float $ury , string $contents , string $title , string $icon , int $open )

Adds a note at a certain position on the page. Notes are like little rectangular sheets with text on it, which can be placed anywhere on a page. They are shown either folded or unfolded. If folded, the specified icon is used as a placeholder.

Diese Notiz wird nicht sichtbar sein, wenn das Dokument gedruckt oder betrachtet wird. Sie wird aber sichtbar sein, wenn das Dokument entweder mit Acrobat Distiller™ oder Ghostview zu PDF konvertiert wird.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

llx

The x-coordinate of the lower left corner.

lly

The y-coordinate of the lower left corner.

urx

The x-coordinate of the upper right corner.

ury

The y-coordinate of the upper right corner.

contents

The text of the note.

title

The title of the note as displayed in the header of the note.

icon

The icon shown if the note is folded. This parameter can be set to comment, insert, note, paragraph, newparagraph, key, or help.

open

If open is unequal to zero the note will be shown unfolded after opening the document with a pdf viewer.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_add_pdflink() - Adds link to a page in a second pdf document
  • ps_add_launchlink() - Adds link which launches file
  • ps_add_locallink() - Adds link to a page in the same document
  • ps_add_weblink() - Adds link to a web location

ps_add_locallink
ps_add_pdflink
PS Funktionen


Adds link to a page in a second pdf document

ps_add_note
ps_add_weblink
PS Funktionen
PHP Manual

ps_add_pdflink

(PECL ps >= 1.1.0)

ps_add_pdflink — Adds link to a page in a second pdf document

Beschreibung

bool ps_add_pdflink ( resource $psdoc , float $llx , float $lly , float $urx , float $ury , string $filename , int $page , string $dest )

Places a hyperlink at the given position pointing to a second pdf document. Clicking on the link will branch to the document at the given page. The first page in a document has number 1.

The hyperlink's source position is a rectangle with its lower left corner at (llx, lly) and its upper right corner at (urx, ury). The rectangle has by default a thin blue border.

Diese Notiz wird nicht sichtbar sein, wenn das Dokument gedruckt oder betrachtet wird. Sie wird aber sichtbar sein, wenn das Dokument entweder mit Acrobat Distiller™ oder Ghostview zu PDF konvertiert wird.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

llx

The x-coordinate of the lower left corner.

lly

The y-coordinate of the lower left corner.

urx

The x-coordinate of the upper right corner.

ury

The y-coordinate of the upper right corner.

filename

The name of the pdf document to be opened when clicking on this link.

page

The page number of the destination pdf document

dest

The parameter dest determines how the document is being viewed. It can be fitpage, fitwidth, fitheight, or fitbbox.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_add_launchlink() - Adds link which launches file
  • ps_add_locallink() - Adds link to a page in the same document
  • ps_add_weblink() - Adds link to a web location

ps_add_note
ps_add_weblink
PS Funktionen


Adds link to a web location

ps_add_pdflink
ps_arc
PS Funktionen
PHP Manual

ps_add_weblink

(PECL ps >= 1.1.0)

ps_add_weblink — Adds link to a web location

Beschreibung

bool ps_add_weblink ( resource $psdoc , float $llx , float $lly , float $urx , float $ury , string $url )

Places a hyperlink at the given position pointing to a web page. The hyperlink's source position is a rectangle with its lower left corner at (llx, lly) and its upper right corner at (urx, ury). The rectangle has by default a thin blue border.

Diese Notiz wird nicht sichtbar sein, wenn das Dokument gedruckt oder betrachtet wird. Sie wird aber sichtbar sein, wenn das Dokument entweder mit Acrobat Distiller™ oder Ghostview zu PDF konvertiert wird.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

llx

The x-coordinate of the lower left corner.

lly

The y-coordinate of the lower left corner.

urx

The x-coordinate of the upper right corner.

ury

The y-coordinate of the upper right corner.

url

The url of the hyperlink to be opened when clicking on this link, e.g. http://www.php.net.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_add_launchlink() - Adds link which launches file
  • ps_add_locallink() - Adds link to a page in the same document
  • ps_add_pdflink() - Adds link to a page in a second pdf document

ps_add_pdflink
ps_arc
PS Funktionen


Draws an arc counterclockwise

ps_add_weblink
ps_arcn
PS Funktionen
PHP Manual

ps_arc

(PECL ps >= 1.1.0)

ps_arc — Draws an arc counterclockwise

Beschreibung

bool ps_arc ( resource $psdoc , float $x , float $y , float $radius , float $alpha , float $beta )

Draws a portion of a circle with at middle point at (x, y). The arc starts at an angle of alpha and ends at an angle of beta. It is drawn counterclockwise (use ps_arcn() to draw clockwise). The subpath added to the current path starts on the arc at angle alpha and ends on the arc at angle beta.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

The x-coordinate of the circle's middle point.

y

The y-coordinate of the circle's middle point.

radius

The radius of the circle

alpha

The start angle given in degrees.

beta

The end angle given in degrees.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_arcn() - Draws an arc clockwise

ps_add_weblink
ps_arcn
PS Funktionen


Draws an arc clockwise

ps_arc
ps_begin_page
PS Funktionen
PHP Manual

ps_arcn

(PECL ps >= 1.1.0)

ps_arcn — Draws an arc clockwise

Beschreibung

bool ps_arcn ( resource $psdoc , float $x , float $y , float $radius , float $alpha , float $beta )

Draws a portion of a circle with at middle point at (x, y). The arc starts at an angle of alpha and ends at an angle of beta. It is drawn clockwise (use ps_arc() to draw counterclockwise). The subpath added to the current path starts on the arc at angle beta and ends on the arc at angle alpha.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

The x-coordinate of the circle's middle point.

y

The y-coordinate of the circle's middle point.

radius

The radius of the circle

alpha

The starting angle given in degrees.

beta

The end angle given in degrees.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_arc() - Draws an arc counterclockwise

ps_arc
ps_begin_page
PS Funktionen


Start a new page

ps_arcn
ps_begin_pattern
PS Funktionen
PHP Manual

ps_begin_page

(PECL ps >= 1.1.0)

ps_begin_page — Start a new page

Beschreibung

bool ps_begin_page ( resource $psdoc , float $width , float $height )

Starts a new page. Although the parameters width and height imply a different page size for each page, this is not possible in PostScript. The first call of ps_begin_page() will set the page size for the whole document. Consecutive calls will have no effect, except for creating a new page. The situation is different if you intent to convert the PostScript document into PDF. This function places pdfmarks into the document which can set the size for each page indiviually. The resulting PDF document will have different page sizes.

Though PostScript does not know different page sizes, pslib places a bounding box for each page into the document. This size is evaluated by some PostScript viewers and will have precedence over the BoundingBox in the Header of the document. This can lead to unexpected results when you set a BoundingBox whose lower left corner is not (0, 0), because the bounding box of the page will always have a lower left corner (0, 0) and overwrites the global setting.

Each page is encapsulated into save/restore. This means, that most of the settings made on one page will not be retained on the next page.

If there is up to the first call of ps_begin_page() no call of ps_findfont(), then the header of the PostScript document will be output and the bounding box will be set to the size of the first page. The lower left corner of the bounding box is set to (0, 0). If ps_findfont() was called before, then the header has been output already, and the document will not have a valid bounding box. In order to prevent this, one should call ps_set_info() to set the info field BoundingBox and possibly Orientation before any ps_findfont() or ps_begin_page() calls.

Hinweis:

Up to version 0.2.6 of pslib, this function will always overwrite the BoundingBox and Orientation, if it has been set before with ps_set_info() and ps_findfont() has not been called before.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

width

The width of the page in pixel, e.g. 596 for A4 format.

height

The height of the page in pixel, e.g. 842 for A4 format.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_end_page() - End a page
  • ps_findfont() - Loads a font
  • ps_set_info() - Sets information fields of document

ps_arcn
ps_begin_pattern
PS Funktionen


Start a new pattern

ps_begin_page
ps_begin_template
PS Funktionen
PHP Manual

ps_begin_pattern

(PECL ps >= 1.2.0)

ps_begin_pattern — Start a new pattern

Beschreibung

int ps_begin_pattern ( resource $psdoc , float $width , float $height , float $xstep , float $ystep , int $painttype )

Starts a new pattern. A pattern is like a page containing e.g. a drawing which can be used for filling areas. It is used like a color by calling ps_setcolor() and setting the color space to pattern.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

width

The width of the pattern in pixel.

height

The height of the pattern in pixel.

x-step

The distance in pixel of placements of the pattern in horizontal direction.

y-step

The distance in pixel of placements of the pattern in vertical direction.

painttype

Must be 1 or 2.

Rückgabewerte

The identifier of the pattern Im Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 Creating and using a pattern

<?php
$ps = ps_new();

if (!ps_open_file($ps, "pattern.ps")) {
  print "Cannot open PostScript file\n";
  exit;
}

ps_set_parameter($ps, "warning", "true");
ps_set_info($ps, "Creator", "pattern.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Pattern example");

$pspattern = ps_begin_pattern($ps, 10.0, 10.0, 10.0, 10.0, 1);
ps_setlinewidth($ps, 0.2);
ps_setcolor($ps, "stroke", "rgb", 0.0, 0.0, 1.0, 0.0);
ps_moveto($ps, 0, 0);
ps_lineto($ps, 7, 7);
ps_stroke($ps);
ps_moveto($ps, 0, 7);
ps_lineto($ps, 7, 0);
ps_stroke($ps);
ps_end_pattern($ps);

ps_begin_page($ps, 596, 842);
ps_setcolor($ps, "both", "pattern", $pspattern, 0.0, 0.0, 0.0);
ps_rect($ps, 50, 400, 200, 200);
ps_fill($ps);
ps_end_page($ps);

ps_close($ps);
ps_delete($ps);
?>

Siehe auch

  • ps_end_pattern() - End a pattern
  • ps_setcolor() - Sets current color
  • ps_shading_pattern() - Creates a pattern based on a shading

ps_begin_page
ps_begin_template
PS Funktionen


Start a new template

ps_begin_pattern
ps_circle
PS Funktionen
PHP Manual

ps_begin_template

(PECL ps >= 1.2.0)

ps_begin_template — Start a new template

Beschreibung

int ps_begin_template ( resource $psdoc , float $width , float $height )

Starts a new template. A template is called a form in the postscript language. It is created similar to a pattern but used like an image. Templates are often used for drawings which are placed several times through out the document, e.g. like a company logo. All drawing functions may be used within a template. The template will not be drawn until it is placed by ps_place_image().

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

width

The width of the template in pixel.

height

The height of the template in pixel.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Creating and using a template

<?php
$ps = ps_new();

if (!ps_open_file($ps, "template.ps")) {
  print "Cannot open PostScript file\n";
  exit;
}

ps_set_parameter($ps, "warning", "true");
ps_set_info($ps, "Creator", "template.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Template example");

$pstemplate = ps_begin_template($ps, 30.0, 30.0);
ps_moveto($ps, 0, 0);
ps_lineto($ps, 30, 30);
ps_moveto($ps, 0, 30);
ps_lineto($ps, 30, 0);
ps_stroke($ps);
ps_end_template($ps);

ps_begin_page($ps, 596, 842);
ps_place_image($ps, $pstemplate, 20.0, 20.0, 1.0);
ps_place_image($ps, $pstemplate, 50.0, 30.0, 0.5);
ps_place_image($ps, $pstemplate, 70.0, 70.0, 0.6);
ps_place_image($ps, $pstemplate, 30.0, 50.0, 1.3);
ps_end_page($ps);

ps_close($ps);
ps_delete($ps);
?>

Siehe auch

  • ps_end_template() - End a template

ps_begin_pattern
ps_circle
PS Funktionen


Draws a circle

ps_begin_template
ps_clip
PS Funktionen
PHP Manual

ps_circle

(PECL ps >= 1.1.0)

ps_circle — Draws a circle

Beschreibung

bool ps_circle ( resource $psdoc , float $x , float $y , float $radius )

Draws a circle with its middle point at (x, y). The circle starts and ends at position (x+radius, y). If this function is called outside a path it will start a new path. If it is called within a path it will add the circle as a subpath. If the last drawing operation does not end in point (x+radius, y) then there will be a gap in the path.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

The x-coordinate of the circle's middle point.

y

The y-coordinate of the circle's middle point.

radius

The radius of the circle

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_arc() - Draws an arc counterclockwise
  • ps_arcn() - Draws an arc clockwise

ps_begin_template
ps_clip
PS Funktionen


Clips drawing to current path

ps_circle
ps_close_image
PS Funktionen
PHP Manual

ps_clip

(PECL ps >= 1.1.0)

ps_clip — Clips drawing to current path

Beschreibung

bool ps_clip ( resource $psdoc )

Takes the current path and uses it to define the border of a clipping area. Everything drawn outside of that area will not be visible.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_closepath() - Closes path

ps_circle
ps_close_image
PS Funktionen


Closes image and frees memory

ps_clip
ps_close
PS Funktionen
PHP Manual

ps_close_image

(PECL ps >= 1.1.0)

ps_close_image — Closes image and frees memory

Beschreibung

void ps_close_image ( resource $psdoc , int $imageid )

Closes an image and frees its resources. Once an image is closed it cannot be used anymore.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

imageid

Resource identifier of the image as returned by ps_open_image() or ps_open_image_file().

Rückgabewerte

Returns NULL on successIm Fehlerfall wird FALSE zurückgegeben..

Siehe auch

  • ps_open_image() - Reads an image for later placement
  • ps_open_image_file() - Opens image from file

ps_clip
ps_close
PS Funktionen


Closes a PostScript document

ps_close_image
ps_closepath_stroke
PS Funktionen
PHP Manual

ps_close

(PECL ps >= 1.1.0)

ps_close — Closes a PostScript document

Beschreibung

bool ps_close ( resource $psdoc )

Closes the PostScript document.

This function writes the trailer of the PostScript document. It also writes the bookmark tree. ps_close() does not free any resources, which is done by ps_delete().

This function is also called by ps_delete() if it has not been called before.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_open_file() - Opens a file for output
  • ps_delete() - Deletes all resources of a PostScript document

ps_close_image
ps_closepath_stroke
PS Funktionen


Closes and strokes path

ps_close
ps_closepath
PS Funktionen
PHP Manual

ps_closepath_stroke

(PECL ps >= 1.1.0)

ps_closepath_stroke — Closes and strokes path

Beschreibung

bool ps_closepath_stroke ( resource $psdoc )

Connects the last point with first point of a path and draws the resulting closed line.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_closepath() - Closes path

ps_close
ps_closepath
PS Funktionen


Closes path

ps_closepath_stroke
ps_continue_text
PS Funktionen
PHP Manual

ps_closepath

(PECL ps >= 1.1.0)

ps_closepath — Closes path

Beschreibung

bool ps_closepath ( resource $psdoc )

Connects the last point with the first point of a path. The resulting path can be used for stroking, filling, clipping, etc..

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_clip() - Clips drawing to current path
  • ps_closepath_stroke() - Closes and strokes path

ps_closepath_stroke
ps_continue_text
PS Funktionen


Continue text in next line

ps_closepath
ps_curveto
PS Funktionen
PHP Manual

ps_continue_text

(PECL ps >= 1.1.0)

ps_continue_text — Continue text in next line

Beschreibung

bool ps_continue_text ( resource $psdoc , string $text )

Output a text one line below the last line. The line spacing is taken from the value "leading" which must be set with ps_set_value(). The actual position of the text is determined by the values "textx" and "texty" which can be requested with ps_get_value()

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text to output.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_show() - Output text
  • ps_show_xy() - Output text at given position
  • ps_show_boxed() - Output text in a box

ps_closepath
ps_curveto
PS Funktionen


Draws a curve

ps_continue_text
ps_delete
PS Funktionen
PHP Manual

ps_curveto

(PECL ps >= 1.1.0)

ps_curveto — Draws a curve

Beschreibung

bool ps_curveto ( resource $psdoc , float $x1 , float $y1 , float $x2 , float $y2 , float $x3 , float $y3 )

Add a section of a cubic Bézier curve described by the three given control points to the current path.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

x1

x-coordinate of first control point.

y1

y-coordinate of first control point.

x2

x-coordinate of second control point.

y2

y-coordinate of second control point.

x3

x-coordinate of third control point.

y3

y-coordinate of third control point.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_lineto() - Draws a line

ps_continue_text
ps_delete
PS Funktionen


Deletes all resources of a PostScript document

ps_curveto
ps_end_page
PS Funktionen
PHP Manual

ps_delete

(PECL ps >= 1.1.0)

ps_delete — Deletes all resources of a PostScript document

Beschreibung

bool ps_delete ( resource $psdoc )

Mainly frees memory used by the document. Also closes a file, if it was not closed before with ps_close(). You should in any case close the file with ps_close() before, because ps_close() not just closes the file but also outputs a trailor containing PostScript comments like the number of pages in the document and adding the bookmark hierarchy.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_close() - Closes a PostScript document

ps_curveto
ps_end_page
PS Funktionen


End a page

ps_delete
ps_end_pattern
PS Funktionen
PHP Manual

ps_end_page

(PECL ps >= 1.1.0)

ps_end_page — End a page

Beschreibung

bool ps_end_page ( resource $psdoc )

Ends a page which was started with ps_begin_page(). Ending a page will leave the current drawing context, which e.g. requires to reload fonts if they were loading within the page, and to set many other drawing parameters like the line width, or color..

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_begin_page() - Start a new page

ps_delete
ps_end_pattern
PS Funktionen


End a pattern

ps_end_page
ps_end_template
PS Funktionen
PHP Manual

ps_end_pattern

(PECL ps >= 1.2.0)

ps_end_pattern — End a pattern

Beschreibung

bool ps_end_pattern ( resource $psdoc )

Ends a pattern which was started with ps_begin_pattern(). Once a pattern has been ended, it can be used like a color to fill areas.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_begin_pattern() - Start a new pattern

ps_end_page
ps_end_template
PS Funktionen


End a template

ps_end_pattern
ps_fill_stroke
PS Funktionen
PHP Manual

ps_end_template

(PECL ps >= 1.2.0)

ps_end_template — End a template

Beschreibung

bool ps_end_template ( resource $psdoc )

Ends a template which was started with ps_begin_template(). Once a template has been ended, it can be used like an image.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_begin_template() - Start a new template

ps_end_pattern
ps_fill_stroke
PS Funktionen


Fills and strokes the current path

ps_end_template
ps_fill
PS Funktionen
PHP Manual

ps_fill_stroke

(PECL ps >= 1.1.0)

ps_fill_stroke — Fills and strokes the current path

Beschreibung

bool ps_fill_stroke ( resource $psdoc )

Fills and draws the path constructed with previously called drawing functions like ps_lineto().

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_fill() - Fills the current path
  • ps_stroke() - Draws the current path

ps_end_template
ps_fill
PS Funktionen


Fills the current path

ps_fill_stroke
ps_findfont
PS Funktionen
PHP Manual

ps_fill

(PECL ps >= 1.1.0)

ps_fill — Fills the current path

Beschreibung

bool ps_fill ( resource $psdoc )

Fills the path constructed with previously called drawing functions like ps_lineto().

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_fill_stroke() - Fills and strokes the current path
  • ps_stroke() - Draws the current path

ps_fill_stroke
ps_findfont
PS Funktionen


Loads a font

ps_fill
ps_get_buffer
PS Funktionen
PHP Manual

ps_findfont

(PECL ps >= 1.1.0)

ps_findfont — Loads a font

Beschreibung

int ps_findfont ( resource $psdoc , string $fontname , string $encoding [, bool $embed = false ] )

Loads a font for later use. Before text is output with a loaded font it must be set with ps_setfont(). This function needs the adobe font metric file in order to calculate the space used up by the characters. A font which is loaded within a page will only be available on that page. Fonts which are to be used in the complete document have to be loaded before the first call of ps_begin_page(). Calling ps_findfont() between pages will make that font available for all following pages.

The name of the afm file must be fontname.afm. If the font shall be embedded the file fontname.pfb containing the font outline must be present as well.

Calling ps_findfont() before the first page requires to output the postscript header which includes the BoundingBox for the whole document. Usually the BoundingBox is set with the first call of ps_begin_page() which now comes after ps_findfont(). Consequently the BoundingBox has not been set and a warning will be issued when ps_findfont() is called. In order to prevent this situation, one should call ps_set_parameter() to set the BoundingBox before ps_findfont() is called.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

fontname

The name of the font.

encoding

ps_findfont() will try to load the file passed in the parameter encoding. Encoding files are of the same syntax as those used by dvips(1). They contain a font encoding vector (which is currently not used but must be present) and a list of extra ligatures to extend the list of ligatures derived from the afm file.

encoding can be NULL or the empty string if the default encoding (TeXBase1) shall be used.

If the encoding is set to builtin then there will be no reencoding and the font specific encoding will be used. This is very useful with symbol fonts.

embed

If set to a value >0 the font will be embedded into the document. This requires the font outline (.pfb file) to be present.

Rückgabewerte

Returns the identifier of the font or zero in case of an error. The identifier is a positive number.

Siehe auch

  • ps_begin_page() - Start a new page
  • ps_setfont() - Sets font to use for following output

ps_fill
ps_get_buffer
PS Funktionen


Fetches the full buffer containig the generated PS data

ps_findfont
ps_get_parameter
PS Funktionen
PHP Manual

ps_get_buffer

(PECL ps >= 1.1.0)

ps_get_buffer — Fetches the full buffer containig the generated PS data

Beschreibung

string ps_get_buffer ( resource $psdoc )

This function is not implemented yet. It will always return an empty string. The idea for a later implementation is to write the contents of the postscript file into an internal buffer if in memory creation is requested, and retrieve the buffer content with this function. Currently, documents created in memory are send to the browser without buffering.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

Siehe auch

  • ps_open_file() - Opens a file for output

ps_findfont
ps_get_parameter
PS Funktionen


Gets certain parameters

ps_get_buffer
ps_get_value
PS Funktionen
PHP Manual

ps_get_parameter

(PECL ps >= 1.1.0)

ps_get_parameter — Gets certain parameters

Beschreibung

string ps_get_parameter ( resource $psdoc , string $name [, float $modifier ] )

Gets several parameters which were directly set by ps_set_parameter() or indirectly by one of the other functions. Parameters are by definition string values. This function cannot be used to retrieve resources which were also set by ps_set_parameter().

The parameter name can have the following values.

fontname

The name of the currently active font or the font whose identifier is passed in parameter modifier.

fontencoding

The encoding of the currently active font.

dottedversion

The version of the underlying pslib library in the format <major>.<minor>.<subminor>

scope

The current drawing scope. Can be object, document, null, page, pattern, path, template, prolog, font, glyph.

ligaturedisolvechar

The character which dissolves a ligature. If your are using a font which contains the ligature `ff' and `|' is the char to dissolve the ligature, then `f|f' will result in two `f' instead of the ligature `ff'.

imageencoding

The encoding used for encoding images. Can be either hex or 85. hex encoding uses two bytes in the postscript file each byte in the image. 85 stand for Ascii85 encoding.

linenumbermode

Set to paragraph if lines are numbered within a paragraph or box if they are numbered within the surrounding box.

linebreak

Only used if text is output with ps_show_boxed(). If set to TRUE a carriage return will add a line break.

parbreak

Only used if text is output with ps_show_boxed(). If set to TRUE a carriage return will start a new paragraph.

hyphenation

Only used if text is output with ps_show_boxed(). If set to TRUE the paragraph will be hyphenated if a hypen dictionary is set and exists.

hyphendict

Filename of the dictionary used for hyphenation pattern.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

name

Name of the parameter.

modifier

An identifier needed if a parameter of a resource is requested, e.g. the size of an image. In such a case the resource id is passed.

Rückgabewerte

Returns the value of the parameter Im Fehlerfall wird FALSE zurückgegeben..

Siehe auch

  • ps_set_parameter() - Sets certain parameters

ps_get_buffer
ps_get_value
PS Funktionen


Gets certain values

ps_get_parameter
ps_hyphenate
PS Funktionen
PHP Manual

ps_get_value

(PECL ps >= 1.1.0)

ps_get_value — Gets certain values

Beschreibung

float ps_get_value ( resource $psdoc , string $name [, float $modifier ] )

Gets several values which were set by ps_set_value(). Values are by definition float values.

The parameter name can have the following values.

fontsize

The size of the currently active font or the font whose identifier is passed in parameter modifier.

font

The currently active font itself.

imagewidth

The width of the image whose id is passed in the parameter modifier.

imageheight

The height of the image whose id is passed in the parameter modifier.

capheight

The height of a capital M in the currently active font or the font whose identifier is passed in parameter modifier.

ascender

The ascender of the currently active font or the font whose identifier is passed in parameter modifier.

descender

The descender of the currently active font or the font whose identifier is passed in parameter modifier.

italicangle

The italicangle of the currently active font or the font whose identifier is passed in parameter modifier.

underlineposition

The underlineposition of the currently active font or the font whose identifier is passed in parameter modifier.

underlinethickness

The underlinethickness of the currently active font or the font whose identifier is passed in parameter modifier.

textx

The current x-position for text output.

texty

The current y-position for text output.

textrendering

The current mode for text rendering.

textrise

The space by which text is risen above the base line.

leading

The distance between text lines in points.

wordspacing

The space between words as a multiple of the width of a space char.

charspacing

The space between chars. If charspacing is != 0.0 ligatures will always be dissolved.

hyphenminchars

Minimum number of chars hyphenated at the end of a word.

parindent

Indention of the first n line in a paragraph.

numindentlines

Number of line in a paragraph to indent if parindent != 0.0.

parskip

Distance between paragraphs.

linenumberspace

Overall space in front of each line for the line number.

linenumbersep

Space between the line and the line number.

major

The major version number of pslib.

minor

The minor version number of pslib.

subminor, revision

The subminor version number of pslib.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

name

Name of the value.

modifier

The parameter modifier specifies the resource for which the value is to be retrieved. This can be the id of a font or an image.

Rückgabewerte

Returns the value of the parameter or FALSE.

Siehe auch

  • ps_set_value() - Sets certain values

ps_get_parameter
ps_hyphenate
PS Funktionen


Hyphenates a word

ps_get_value
ps_include_file
PS Funktionen
PHP Manual

ps_hyphenate

(PECL ps >= 1.1.1)

ps_hyphenate — Hyphenates a word

Beschreibung

array ps_hyphenate ( resource $psdoc , string $text )

Hyphenates the passed word. ps_hyphenate() evaluates the value hyphenminchars (set by ps_set_value()) and the parameter hyphendict (set by ps_set_parameter()). hyphendict must be set before calling this function.

This function requires the locale category LC_CTYPE to be set properly. This is done when the extension is initialized by using the environment variables. On Unix systems read the man page of locale for more information.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

text should not contain any non alpha characters. Possible positions for breaks are returned in an array of interger numbers. Each number is the position of the char in text after which a hyphenation can take place.

Rückgabewerte

An array of integers indicating the position of possible breaks in the text Im Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 Hyphennate a text

<?php
$word = "Koordinatensystem";
$psdoc = ps_new();
ps_set_parameter($psdoc, "hyphendict", "hyph_de.dic");
$hyphens = ps_hyphenate($psdoc, $word);
for($i=0; $i<strlen($word); $i++) {
  echo $word[$i];
  if(in_array($i, $hyphens))
    echo "-";
}
ps_delete($psdoc);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Ko-ordi-na-ten-sys-tem

Siehe auch

  • ps_show_boxed() - Output text in a box
  • locale(1)

ps_get_value
ps_include_file
PS Funktionen


Reads an external file with raw PostScript code

ps_hyphenate
ps_lineto
PS Funktionen
PHP Manual

ps_include_file

(PECL ps >= 1.3.4)

ps_include_file — Reads an external file with raw PostScript code

Beschreibung

bool ps_include_file ( resource $psdoc , string $file )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

file

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

ps_hyphenate
ps_lineto
PS Funktionen


Draws a line

ps_include_file
ps_makespotcolor
PS Funktionen
PHP Manual

ps_lineto

(PECL ps >= 1.1.0)

ps_lineto — Draws a line

Beschreibung

bool ps_lineto ( resource $psdoc , float $x , float $y )

Adds a straight line from the current point to the given coordinates to the current path. Use ps_moveto() to set the starting point of the line.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

x-coordinate of the end point of the line.

y

y-coordinate of the end point of the line.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Drawing a rectangle

<?php
$ps = ps_new();
if (!ps_open_file($ps, "rectangle.ps")) {
  print "Cannot open PostScript file\n";
  exit;
}

ps_set_info($ps, "Creator", "rectangle.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Lineto example");

ps_begin_page($ps, 596, 842);
ps_moveto($ps, 100, 100);
ps_lineto($ps, 100, 200);
ps_lineto($ps, 200, 200);
ps_lineto($ps, 200, 100);
ps_lineto($ps, 100, 100);
ps_stroke($ps);
ps_end_page($ps);

ps_delete($ps);
?>

Siehe auch

  • ps_moveto() - Sets current point

ps_include_file
ps_makespotcolor
PS Funktionen


Create spot color

ps_lineto
ps_moveto
PS Funktionen
PHP Manual

ps_makespotcolor

(PECL ps >= 1.1.0)

ps_makespotcolor — Create spot color

Beschreibung

int ps_makespotcolor ( resource $psdoc , string $name [, int $reserved = 0 ] )

Creates a spot color from the current fill color. The fill color must be defined in rgb, cmyk or gray colorspace. The spot color name can be an arbitrary name. A spot color can be set as any color with ps_setcolor(). When the document is not printed but displayed by an postscript viewer the given color in the specified color space is use.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

name

Name of the spot color, e.g. Pantone 5565.

Rückgabewerte

The id of the new spot color or 0 in case of an error.

Beispiele

Beispiel #1 Creating and using a spot color

<?php
$ps = ps_new();
if (!ps_open_file($ps, "spotcolor.ps")) {
  print "Cannot open PostScript file\n";
  exit;
}

ps_set_info($ps, "Creator", "spotcolor.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Spot color example");

ps_begin_page($ps, 596, 842);
ps_setcolor($ps, "fill", "cmyk", 0.37, 0.0, 0.34, 0.34);
$spotcolor = ps_makespotcolor($ps, "PANTONE 5565 C", 0);
ps_setcolor($ps, "fill", "spot", $spotcolor, 0.5, 0.0, 0.0);
ps_moveto($ps, 100, 100);
ps_lineto($ps, 100, 200);
ps_lineto($ps, 200, 200);
ps_lineto($ps, 200, 100);
ps_lineto($ps, 100, 100);
ps_fill($ps);
ps_end_page($ps);

ps_delete($ps);
?>

This example creates the spot color "PANTONE 5565 C" which is a darker green (olive) and fills a rectangle with 50% intensity.

Siehe auch

  • ps_setcolor() - Sets current color

ps_lineto
ps_moveto
PS Funktionen


Sets current point

ps_makespotcolor
ps_new
PS Funktionen
PHP Manual

ps_moveto

(PECL ps >= 1.1.0)

ps_moveto — Sets current point

Beschreibung

bool ps_moveto ( resource $psdoc , float $x , float $y )

Sets the current point to new coordinates. If this is the first call of ps_moveto() after a previous path has been ended then it will start a new path. If this function is called in the middle of a path it will just set the current point and start a subpath.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

x-coordinate of the point to move to.

y

y-coordinate of the point to move to.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_lineto() - Draws a line

ps_makespotcolor
ps_new
PS Funktionen


Creates a new PostScript document object

ps_moveto
ps_open_file
PS Funktionen
PHP Manual

ps_new

(PECL ps >= 1.1.0)

ps_new — Creates a new PostScript document object

Beschreibung

resource ps_new ( void )

Creates a new document instance. It does not create the file on disk or in memory, it just sets up everything. ps_new() is usually followed by a call of ps_open_file() to actually create the postscript document.

Rückgabewerte

Resource of PostScript documentIm Fehlerfall wird FALSE zurückgegeben.. The return value is passed to all other functions as the first argument.

Siehe auch

  • ps_delete() - Deletes all resources of a PostScript document

ps_moveto
ps_open_file
PS Funktionen


Opens a file for output

ps_new
ps_open_image_file
PS Funktionen
PHP Manual

ps_open_file

(PECL ps >= 1.1.0)

ps_open_file — Opens a file for output

Beschreibung

bool ps_open_file ( resource $psdoc [, string $filename ] )

Creates a new file on disk and writes the PostScript document into it. The file will be closed when ps_close() is called.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

filename

The name of the postscript file. If filename is not passed the document will be created in memory and all output will go straight to the browser.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_close() - Closes a PostScript document

ps_new
ps_open_image_file
PS Funktionen


Opens image from file

ps_open_file
ps_open_image
PS Funktionen
PHP Manual

ps_open_image_file

(PECL ps >= 1.1.0)

ps_open_image_file — Opens image from file

Beschreibung

int ps_open_image_file ( resource $psdoc , string $type , string $filename [, string $stringparam [, int $intparam = 0 ]] )

Loads an image for later use.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

type

The type of the image. Possible values are png, jpeg, or eps.

filename

The name of the file containing the image data.

stringparam

Not used.

intparam

Not used.

Rückgabewerte

Returns identifier of image or zero in case of an error. The identifier is a positive number greater than 0.

Siehe auch

  • ps_open_image() - Reads an image for later placement
  • ps_place_image() - Places image on the page
  • ps_close_image() - Closes image and frees memory

ps_open_file
ps_open_image
PS Funktionen


Reads an image for later placement

ps_open_image_file
ps_open_memory_image
PS Funktionen
PHP Manual

ps_open_image

(PECL ps >= 1.1.0)

ps_open_image — Reads an image for later placement

Beschreibung

int ps_open_image ( resource $psdoc , string $type , string $source , string $data , int $lenght , int $width , int $height , int $components , int $bpc , string $params )

Reads an image which is already available in memory. The parameter source is currently not evaluated and assumed to be memory. The image data is a sequence of pixels starting in th upper left corner and ending in the lower right corner. Each pixel consists of components color components, and each component has bpc bits.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

type

The type of the image. Possible values are png, jpeg, or eps.

source

Not used.

data

The image data.

length

The length of the image data.

width

The width of the image.

height

The height of the image.

components

The number of components for each pixel. This can be 1 (gray scale images), 3 (rgb images), or 4 (cmyk, rgba images).

bpc

Number of bits per component (quite often 8).

params

Rückgabewerte

Returns identifier of image or zero in case of an error. The identifier is a positive number greater than 0.

Siehe auch

  • ps_open_image_file() - Opens image from file
  • ps_place_image() - Places image on the page
  • ps_close_image() - Closes image and frees memory

ps_open_image_file
ps_open_memory_image
PS Funktionen


Takes an GD image and returns an image for placement in a PS document

ps_open_image
ps_place_image
PS Funktionen
PHP Manual

ps_open_memory_image

(PECL ps >= 1.1.0)

ps_open_memory_image — Takes an GD image and returns an image for placement in a PS document

Beschreibung

int ps_open_memory_image ( resource $psdoc , int $gd )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

gd

ps_open_image
ps_place_image
PS Funktionen


Places image on the page

ps_open_memory_image
ps_rect
PS Funktionen
PHP Manual

ps_place_image

(PECL ps >= 1.1.0)

ps_place_image — Places image on the page

Beschreibung

bool ps_place_image ( resource $psdoc , int $imageid , float $x , float $y , float $scale )

Places a formerly loaded image on the page. The image can be scaled. If the image shall be rotated as well, you will have to rotate the coordinate system before with ps_rotate().

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

imageid

The resource identifier of the image as returned by ps_open_image() or ps_open_image_file().

x

x-coordinate of the lower left corner of the image.

y

y-coordinate of the lower left corner of the image.

scale

The scaling factor for the image. A scale of 1.0 will result in a resolution of 72 dpi, because each pixel is equivalent to 1 point.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_open_image() - Reads an image for later placement
  • ps_open_image_file() - Opens image from file

ps_open_memory_image
ps_rect
PS Funktionen


Draws a rectangle

ps_place_image
ps_restore
PS Funktionen
PHP Manual

ps_rect

(PECL ps >= 1.1.0)

ps_rect — Draws a rectangle

Beschreibung

bool ps_rect ( resource $psdoc , float $x , float $y , float $width , float $height )

Draws a rectangle with its lower left corner at (x, y). The rectangle starts and ends in its lower left corner. If this function is called outside a path it will start a new path. If it is called within a path it will add the rectangle as a subpath. If the last drawing operation does not end in the lower left corner then there will be a gap in the path.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

x-coordinate of the lower left corner of the rectangle.

y

y-coordinate of the lower left corner of the rectangle.

width

The width of the image.

height

The height of the image.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_arc() - Draws an arc counterclockwise
  • ps_cirle()
  • ps_lineto() - Draws a line

ps_place_image
ps_restore
PS Funktionen


Restore previously save context

ps_rect
ps_rotate
PS Funktionen
PHP Manual

ps_restore

(PECL ps >= 1.1.0)

ps_restore — Restore previously save context

Beschreibung

bool ps_restore ( resource $psdoc )

Restores a previously saved graphics context. Any call of ps_save() must be accompanied by a call to ps_restore(). All coordinate transformations, line style settings, color settings, etc. are being restored to the state before the call of ps_save().

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_save() - Save current context

ps_rect
ps_rotate
PS Funktionen


Sets rotation factor

ps_restore
ps_save
PS Funktionen
PHP Manual

ps_rotate

(PECL ps >= 1.1.0)

ps_rotate — Sets rotation factor

Beschreibung

bool ps_rotate ( resource $psdoc , float $rot )

Sets the rotation of the coordinate system.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

rot

Angle of rotation in degree.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Rotation of the coordinate system

<?php
function rectangle($ps) {
    ps_moveto($ps, 0, 0);
    ps_lineto($ps, 0, 50);
    ps_lineto($ps, 50, 50);
    ps_lineto($ps, 50, 0);
    ps_lineto($ps, 0, 0);
    ps_stroke($ps);
}

$ps = ps_new();
if (!ps_open_file($ps, "rotation.ps")) {
  print "Cannot open PostScript file\n";
  exit;
}

ps_set_info($ps, "Creator", "rotation.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Rotation example");
ps_set_info($ps, "BoundingBox", "0 0 596 842");

$psfont = ps_findfont($ps, "Helvetica", "", 0);

ps_begin_page($ps, 596, 842);
ps_set_text_pos($ps, 100, 100);
ps_save($ps);
ps_translate($ps, 100, 100);
ps_rotate($ps, 45);
rectangle($ps);
ps_restore($ps);
ps_setfont($ps, $psfont, 8.0);
ps_show($ps, "Text without rotation");
ps_end_page($ps);

ps_delete($ps);
?>

The above example illustrates a very common way of rotating a graphic (in this case just a rectangle) by simply rotating the coordinate system. Since the graphic's coordinate system assumes (0,0) to be the origin, the page coordinate system is also translated to place the graphics not on the edge of the page. Pay attention to the order of ps_translate() and ps_rotate(). In the above case the rectancle is rotated around the point (100, 100) in the untranslated coordinate system. Switching the two statements has a completely different result.

In order to output the following text at the original position, all modifications of the coordinate system are encapsulated in ps_save() and ps_restore().

Siehe auch

  • ps_scale() - Sets scaling factor
  • ps_translate() - Sets translation

ps_restore
ps_save
PS Funktionen


Save current context

ps_rotate
ps_scale
PS Funktionen
PHP Manual

ps_save

(PECL ps >= 1.1.0)

ps_save — Save current context

Beschreibung

bool ps_save ( resource $psdoc )

Saves the current graphics context, containing colors, translation and rotation settings and some more. A saved context can be restored with ps_restore().

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_restore() - Restore previously save context

ps_rotate
ps_scale
PS Funktionen


Sets scaling factor

ps_save
ps_set_border_color
PS Funktionen
PHP Manual

ps_scale

(PECL ps >= 1.1.0)

ps_scale — Sets scaling factor

Beschreibung

bool ps_scale ( resource $psdoc , float $x , float $y )

Sets horizontal and vertical scaling of the coordinate system.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

Scaling factor in horizontal direction.

y

Scaling factor in vertical direction.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_rotate() - Sets rotation factor
  • ps_translate() - Sets translation

ps_save
ps_set_border_color
PS Funktionen


Sets color of border for annotations

ps_scale
ps_set_border_dash
PS Funktionen
PHP Manual

ps_set_border_color

(PECL ps >= 1.1.0)

ps_set_border_color — Sets color of border for annotations

Beschreibung

bool ps_set_border_color ( resource $psdoc , float $red , float $green , float $blue )

Links added with one of the functions ps_add_weblink(), ps_add_pdflink(), etc. will be displayed with a surounded rectangle when the postscript document is converted to pdf and viewed in a pdf viewer. This rectangle is not visible in the postscript document. This function sets the color of the rectangle's border line.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

red

The red component of the border color.

green

The green component of the border color.

blue

The blue component of the border color.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_set_border_dash() - Sets length of dashes for border of annotations
  • ps_set_border_style() - Sets border style of annotations

ps_scale
ps_set_border_dash
PS Funktionen


Sets length of dashes for border of annotations

ps_set_border_color
ps_set_border_style
PS Funktionen
PHP Manual

ps_set_border_dash

(PECL ps >= 1.1.0)

ps_set_border_dash — Sets length of dashes for border of annotations

Beschreibung

bool ps_set_border_dash ( resource $psdoc , float $black , float $white )

Links added with one of the functions ps_add_weblink(), ps_add_pdflink(), etc. will be displayed with a surounded rectangle when the postscript document is converted to pdf and viewed in a pdf viewer. This rectangle is not visible in the postscript document. This function sets the length of the black and white portion of a dashed border line.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

black

The length of the dash.

white

The length of the gap between dashes.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_set_border_color() - Sets color of border for annotations
  • ps_set_border_style() - Sets border style of annotations

ps_set_border_color
ps_set_border_style
PS Funktionen


Sets border style of annotations

ps_set_border_dash
ps_set_info
PS Funktionen
PHP Manual

ps_set_border_style

(PECL ps >= 1.1.0)

ps_set_border_style — Sets border style of annotations

Beschreibung

bool ps_set_border_style ( resource $psdoc , string $style , float $width )

Links added with one of the functions ps_add_weblink(), ps_add_pdflink(), etc. will be displayed with a surounded rectangle when the postscript document is converted to pdf and viewed in a pdf viewer. This rectangle is not visible in the postscript document. This function sets the appearance and width of the border line.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

style

style can be solid or dashed.

width

The line width of the border.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_set_border_color() - Sets color of border for annotations
  • ps_set_border_dash() - Sets length of dashes for border of annotations

ps_set_border_dash
ps_set_info
PS Funktionen


Sets information fields of document

ps_set_border_style
ps_set_parameter
PS Funktionen
PHP Manual

ps_set_info

(PECL ps >= 1.1.0)

ps_set_info — Sets information fields of document

Beschreibung

bool ps_set_info ( resource $p , string $key , string $val )

Sets certain information fields of the document. This fields will be shown as a comment in the header of the PostScript file. If the document is converted to pdf this fields will also be used for the document information.

The BoundingBox is usually set to the value given to the first page. This only works if ps_findfont() has not been called before. In such cases the BoundingBox would be left unset unless you set it explicitly with this function.

This function will have no effect anymore when the header of the postscript file has been already written. It must be called before the first page or the first call of ps_findfont().

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

key

The name of the information field to set. The values which can be set are Keywords, Subject, Title, Creator, Author, BoundingBox, and Orientation. Be aware that some of them has a meaning to PostScript viewers.

value

The value of the information field. The field Orientation can be set to either Portrait or Landscape. The BoundingBox is a string consisting of four numbers. The first two numbers are the coordinates of the lower left corner of the page. The last two numbers are the coordinates of the upper right corner.

Hinweis:

Up to version 0.2.6 of pslib, the BoundingBox and Orientation will be overwritten by ps_begin_page(), unless ps_findfont() has been called before.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_findfont() - Loads a font
  • ps_begin_page() - Start a new page

ps_set_border_style
ps_set_parameter
PS Funktionen


Sets certain parameters

ps_set_info
ps_set_text_pos
PS Funktionen
PHP Manual

ps_set_parameter

(PECL ps >= 1.1.0)

ps_set_parameter — Sets certain parameters

Beschreibung

bool ps_set_parameter ( resource $psdoc , string $name , string $value )

Sets several parameters which are used by many functions. Parameters are by definition string values.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

name

For a list of possible names see ps_get_parameter().

value

The value of the parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_get_parameters()
  • ps_set_value() - Sets certain values

ps_set_info
ps_set_text_pos
PS Funktionen


Sets position for text output

ps_set_parameter
ps_set_value
PS Funktionen
PHP Manual

ps_set_text_pos

(PECL ps >= 1.1.0)

ps_set_text_pos — Sets position for text output

Beschreibung

bool ps_set_text_pos ( resource $psdoc , float $x , float $y )

Set the position for the next text output. You may alternatively set the x and y value separately by calling ps_set_value() and choosing textx respectively texty as the value name.

If you want to output text at a certain position it is more convenient to use ps_show_xy() instead of setting the text position and calling ps_show().

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

x-coordinate of the new text position.

y

y-coordinate of the new text position.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Placing text at a given position

<?php
$ps = ps_new();
if (!ps_open_file($ps, "text.ps")) {
  print "Cannot open PostScript file\n";
  exit;
}

ps_set_info($ps, "Creator", "rectangle.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Text placement example");

ps_begin_page($ps, 596, 842);
$psfont = ps_findfont($ps, "Helvetica", "", 0);
ps_setfont($ps, $psfont, 8.0);
ps_show_xy($ps, "Some text at (100, 100)", 100, 100);

ps_set_value($ps, "textx", 100);
ps_set_value($ps, "texty", 120);
ps_show($ps, "Some text at (100, 120)");
ps_end_page($ps);

ps_delete($ps);
?>

Siehe auch

  • ps_set_value() - Sets certain values
  • ps_show() - Output text

ps_set_parameter
ps_set_value
PS Funktionen


Sets certain values

ps_set_text_pos
ps_setcolor
PS Funktionen
PHP Manual

ps_set_value

(PECL ps >= 1.1.0)

ps_set_value — Sets certain values

Beschreibung

bool ps_set_value ( resource $psdoc , string $name , float $value )

Sets several values which are used by many functions. Parameters are by definition float values.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

name

The name can be one of the following:

textrendering

The way how text is shown.

textx

The x coordinate for text output.

texty

The y coordinate for text output.

wordspacing

The distance between words relative to the width of a space.

leading

The distance between lines in pixels.

value

The value of the parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_get_value() - Gets certain values
  • ps_set_parameter() - Sets certain parameters

ps_set_text_pos
ps_setcolor
PS Funktionen


Sets current color

ps_set_value
ps_setdash
PS Funktionen
PHP Manual

ps_setcolor

(PECL ps >= 1.1.0)

ps_setcolor — Sets current color

Beschreibung

bool ps_setcolor ( resource $psdoc , string $type , string $colorspace , float $c1 , float $c2 , float $c3 , float $c4 )

Sets the color for drawing, filling, or both.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

type

The parameter type can be both, fill, or fillstroke.

colorspace

The colorspace should be one of gray, rgb, cmyk, spot, pattern. Depending on the colorspace either only the first, the first three or all parameters will be used.

c1

Depending on the colorspace this is either the red component (rgb), the cyan component (cmyk), the gray value (gray), the identifier of the spot color or the identifier of the pattern.

c2

Depending on the colorspace this is either the green component (rgb), the magenta component (cmyk).

c3

Depending on the colorspace this is either the blue component (rgb), the yellow component (cmyk).

c4

This must only be set in cmyk colorspace and specifies the black component.

Bugs

The second parameter is currently not always evaluated. The color is sometimes set for filling and drawing just as if fillstroke were passed.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

ps_set_value
ps_setdash
PS Funktionen


Sets appearance of a dashed line

ps_setcolor
ps_setflat
PS Funktionen
PHP Manual

ps_setdash

(PECL ps >= 1.1.0)

ps_setdash — Sets appearance of a dashed line

Beschreibung

bool ps_setdash ( resource $psdoc , float $on , float $off )

Sets the length of the black and white portions of a dashed line.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

on

The length of the dash.

off

The length of the gap between dashes.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_setpolydash() - Sets appearance of a dashed line

ps_setcolor
ps_setflat
PS Funktionen


Sets flatness

ps_setdash
ps_setfont
PS Funktionen
PHP Manual

ps_setflat

(PECL ps >= 1.1.0)

ps_setflat — Sets flatness

Beschreibung

bool ps_setflat ( resource $psdoc , float $value )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

value

The value must be between 0.2 and 1.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

ps_setdash
ps_setfont
PS Funktionen


Sets font to use for following output

ps_setflat
ps_setgray
PS Funktionen
PHP Manual

ps_setfont

(PECL ps >= 1.1.0)

ps_setfont — Sets font to use for following output

Beschreibung

bool ps_setfont ( resource $psdoc , int $fontid , float $size )

Sets a font, which has to be loaded before with ps_findfont(). Outputting text without setting a font results in an error.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

fontid

The font identifier as returned by ps_findfont().

size

The size of the font.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_findfont() - Loads a font
  • ps_set_text_pos() - Sets position for text output for an example.

ps_setflat
ps_setgray
PS Funktionen


Sets gray value

ps_setfont
ps_setlinecap
PS Funktionen
PHP Manual

ps_setgray

(PECL ps >= 1.1.0)

ps_setgray — Sets gray value

Beschreibung

bool ps_setgray ( resource $psdoc , float $gray )

Sets the gray value for all following drawing operations.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

gray

The value must be between 0 (white) and 1 (black).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_setcolor() - Sets current color

ps_setfont
ps_setlinecap
PS Funktionen


Sets appearance of line ends

ps_setgray
ps_setlinejoin
PS Funktionen
PHP Manual

ps_setlinecap

(PECL ps >= 1.1.0)

ps_setlinecap — Sets appearance of line ends

Beschreibung

bool ps_setlinecap ( resource $psdoc , int $type )

Sets how line ends look like.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

type

The type of line ends. Possible values are PS_LINECAP_BUTT, PS_LINECAP_ROUND, or PS_LINECAP_SQUARED.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_setlinejoin() - Sets how contected lines are joined
  • ps_setlinewidth() - Sets width of a line
  • ps_setmiterlimit() - Sets the miter limit

ps_setgray
ps_setlinejoin
PS Funktionen


Sets how contected lines are joined

ps_setlinecap
ps_setlinewidth
PS Funktionen
PHP Manual

ps_setlinejoin

(PECL ps >= 1.1.0)

ps_setlinejoin — Sets how contected lines are joined

Beschreibung

bool ps_setlinejoin ( resource $psdoc , int $type )

Sets how lines are joined.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

type

The way lines are joined. Possible values are PS_LINEJOIN_MITER, PS_LINEJOIN_ROUND, or PS_LINEJOIN_BEVEL.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_setlinecap() - Sets appearance of line ends
  • ps_setlinewidth() - Sets width of a line
  • ps_setmiterlimit() - Sets the miter limit

ps_setlinecap
ps_setlinewidth
PS Funktionen


Sets width of a line

ps_setlinejoin
ps_setmiterlimit
PS Funktionen
PHP Manual

ps_setlinewidth

(PECL ps >= 1.1.0)

ps_setlinewidth — Sets width of a line

Beschreibung

bool ps_setlinewidth ( resource $psdoc , float $width )

Sets the line width for all following drawing operations.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

width

The width of lines in points.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_setlinecap() - Sets appearance of line ends
  • ps_setlinejoin() - Sets how contected lines are joined
  • ps_setmiterlimit() - Sets the miter limit

ps_setlinejoin
ps_setmiterlimit
PS Funktionen


Sets the miter limit

ps_setlinewidth
ps_setoverprintmode
PS Funktionen
PHP Manual

ps_setmiterlimit

(PECL ps >= 1.1.0)

ps_setmiterlimit — Sets the miter limit

Beschreibung

bool ps_setmiterlimit ( resource $psdoc , float $value )

If two lines join in a small angle and the line join is set to PS_LINEJOIN_MITER, then the resulting spike will be very long. The miter limit is the maximum ratio of the miter length (the length of the spike) and the line width.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

value

The maximum ratio between the miter length and the line width. Larger values (> 10) will result in very long spikes when two lines meet in a small angle. Keep the default unless you know what you are doing.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_setlinecap() - Sets appearance of line ends
  • ps_setlinejoin() - Sets how contected lines are joined
  • ps_setlinewidth() - Sets width of a line

ps_setlinewidth
ps_setoverprintmode
PS Funktionen


Sets overprint mode

ps_setmiterlimit
ps_setpolydash
PS Funktionen
PHP Manual

ps_setoverprintmode

(PECL ps >= 1.3.0)

ps_setoverprintmode — Sets overprint mode

Beschreibung

bool ps_setoverprintmode ( resource $psdoc , int $mode )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

mode

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

ps_setmiterlimit
ps_setpolydash
PS Funktionen


Sets appearance of a dashed line

ps_setoverprintmode
ps_shading_pattern
PS Funktionen
PHP Manual

ps_setpolydash

(PECL ps >= 1.1.0)

ps_setpolydash — Sets appearance of a dashed line

Beschreibung

bool ps_setpolydash ( resource $psdoc , float $arr )

Sets the length of the black and white portions of a dashed line. ps_setpolydash() is used to set more complicated dash patterns.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

arr

arr is a list of length elements alternately for the black and white portion.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Drawing a dashed line

<?php
$ps = ps_new();
if (!ps_open_file($ps, "polydash.ps")) {
   print "Cannot open PostScript file\n";
     exit;
}

ps_set_info($ps, "Creator", "polydash.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Poly dash example");

ps_begin_page($ps, 596, 842);
ps_setpolydash($ps, array(10, 5, 2, 5));
ps_moveto($ps, 100, 100);
ps_lineto($ps, 200, 200);
ps_stroke($ps);
ps_end_page($ps);

ps_delete($ps);
?>

This example draws a line with a 10 and 2 points long line, and gaps of 5 points inbetween.

Siehe auch

  • ps_setdash() - Sets appearance of a dashed line

ps_setoverprintmode
ps_shading_pattern
PS Funktionen


Creates a pattern based on a shading

ps_setpolydash
ps_shading
PS Funktionen
PHP Manual

ps_shading_pattern

(PECL ps >= 1.3.0)

ps_shading_pattern — Creates a pattern based on a shading

Beschreibung

int ps_shading_pattern ( resource $psdoc , int $shadingid , string $optlist )

Creates a pattern based on a shading, which has to be created before with ps_shading(). Shading patterns can be used like regular patterns.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

shadingid

The identifier of a shading previously created with ps_shading().

optlist

This argument is not currently used.

Rückgabewerte

The identifier of the pattern Im Fehlerfall wird FALSE zurückgegeben..

Siehe auch

  • ps_shading() - Creates a shading for later use
  • ps_shfill() - Fills an area with a shading

ps_setpolydash
ps_shading
PS Funktionen


Creates a shading for later use

ps_shading_pattern
ps_shfill
PS Funktionen
PHP Manual

ps_shading

(PECL ps >= 1.3.0)

ps_shading — Creates a shading for later use

Beschreibung

int ps_shading ( resource $psdoc , string $type , float $x0 , float $y0 , float $x1 , float $y1 , float $c1 , float $c2 , float $c3 , float $c4 , string $optlist )

Creates a shading, which can be used by ps_shfill() or ps_shading_pattern().

The color of the shading can be in any color space except for pattern.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

type

The type of shading can be either radial or axial. Each shading starts with the current fill color and ends with the given color values passed in the parameters c1 to c4 (see ps_setcolor() for their meaning).

x0, x1, y0, y1

The coordinates x0, y0, x1, y1 are the start and end point of the shading. If the type of shading is radial the two points are the middle points of a starting and ending circle.

c1, c2, c3, c4

See ps_setcolor() for their meaning.

optlist

If the shading is of type radial the optlist must also contain the parameters r0 and r1 with the radius of the start and end circle.

Rückgabewerte

Returns the identifier of the pattern Im Fehlerfall wird FALSE zurückgegeben..

Siehe auch

  • ps_shading_pattern() - Creates a pattern based on a shading
  • ps_shfill() - Fills an area with a shading

ps_shading_pattern
ps_shfill
PS Funktionen


Fills an area with a shading

ps_shading
ps_show_boxed
PS Funktionen
PHP Manual

ps_shfill

(PECL ps >= 1.3.0)

ps_shfill — Fills an area with a shading

Beschreibung

bool ps_shfill ( resource $psdoc , int $shadingid )

Fills an area with a shading, which has to be created before with ps_shading(). This is an alternative way to creating a pattern from a shading ps_shading_pattern() and using the pattern as the filling color.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

shadingid

The identifier of a shading previously created with ps_shading().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_shading() - Creates a shading for later use
  • ps_shading_pattern() - Creates a pattern based on a shading

ps_shading
ps_show_boxed
PS Funktionen


Output text in a box

ps_shfill
ps_show_xy2
PS Funktionen
PHP Manual

ps_show_boxed

(PECL ps >= 1.1.0)

ps_show_boxed — Output text in a box

Beschreibung

int ps_show_boxed ( resource $psdoc , string $text , float $left , float $bottom , float $width , float $height , string $hmode [, string $feature ] )

Outputs a text in a given box. The lower left corner of the box is at (left, bottom). Line breaks will be inserted where needed. Multiple spaces are treated as one. Tabulators are treated as spaces.

The text will be hyphenated if the parameter hyphenation is set to TRUE and the parameter hyphendict contains a valid filename for a hyphenation file. The line spacing is taken from the value leading. Paragraphs can be separated by an empty line just like in TeX. If the value parindent is set to value > 0.0 then the first n lines will be indented. The number n of lines is set by the parameter numindentlines. In order to prevent indenting of the first m paragraphs set the value parindentskip to a positive number.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text to be output into the given box.

left

x-coordinate of the lower left corner of the box.

bottom

y-coordinate of the lower left corner of the box.

width

Width of the box.

height

Height of the box.

hmode

The parameter hmode can be "justify", "fulljustify", "right", "left", or "center". The difference of "justify" and "fulljustify" just affects the last line of the box. In fulljustify mode the last line will be left and right justified unless this is also the last line of paragraph. In justify mode it will always be left justified.

feature

Used parameters

The output of ps_show_boxed() can be configured with several parameters and values which must be set with either ps_set_parameter() or ps_set_value(). Beside the parameters and values which affect text output, the following parameters and values are evaluated.

leading (value)

Distance between baselines of two consecutive lines.

linebreak (parameter)

Set to "true" if you want a carriage return to start a new line instead of treating it as a space. Defaults to "false".

parbreak (parameter)

Set to "true" if you want a carriage return on a single line to start a new paragraph instead of treating it as a space. Defaults to "true".

hyphenation (parameter)

Set to "true" in order to turn hyphenation on. This requires a dictionary to be set with the parameter "hyphendict". Defaults to "false".

hyphendict (parameter)

Filename of the dictionary used for hyphenation pattern (see below).

hyphenminchar (value)

The number of chars which must at least be left over before or after the hyphen. This implies that only words of at least two times this value will be hyphenated. The default value is three. Setting a value of zero will result in the default value.

parindent (value)

Set the amount of space in pixel for indenting the first m lines of a paragraph. m can be set with the value "numindentlines".

parskip (value)

Set the amount of extra space in pixel between paragraphs. Defaults to 0 which will result in a normal line distance.

numindentlines (value)

Number of lines from the start of the paragraph which will be indented. Defaults to 1.

parindentskip (value)

Number of paragraphs in the box whose first lines will not be indented. This defaults to 0. This is useful for paragraphs right after a section heading or text being continued in a second box. In both case one would set this to 1.

linenumbermode (parameter)

Set how lines are to be numbered. Possible values are "box" for numbering lines in the whole box or "paragraph" to number lines within each paragraph.

linenumberspace (value)

The space for the column left of the numbered line containing the line number. The line number will be right justified into this column. Defaults to 20.

linenumbersep (value)

The space between the column with line numbers and the line itself. Defaults to 5.

Hyphenation

Text is hyphenated if the parameter hyphenation is set to true and a valid hyphenation dictionary is set. pslib does not ship its own hyphenation dictionary but uses one from openoffice, scribus or koffice. You can find their dictionaries for different languages in one of the following directories if the software is installed:

  • /usr/share/apps/koffice/hyphdicts/
  • /usr/lib/scribus/dicts/
  • /usr/lib/openoffice/share/dict/ooo/
Currently scribus appears to have the most complete hyphenation dictionaries.

Rückgabewerte

Number of characters that could not be written.

Siehe auch

  • ps_continue_text() - Continue text in next line

ps_shfill
ps_show_xy2
PS Funktionen


Output text at position

ps_show_boxed
ps_show_xy
PS Funktionen
PHP Manual

ps_show_xy2

(PECL ps >= 1.1.0)

ps_show_xy2 — Output text at position

Beschreibung

bool ps_show_xy2 ( resource $psdoc , string $text , int $len , float $xcoor , float $ycoor )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

ps_show_boxed
ps_show_xy
PS Funktionen


Output text at given position

ps_show_xy2
ps_show2
PS Funktionen
PHP Manual

ps_show_xy

(PECL ps >= 1.1.0)

ps_show_xy — Output text at given position

Beschreibung

bool ps_show_xy ( resource $psdoc , string $text , float $x , float $y )

Output a text at the given text position.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text to be output.

x

x-coordinate of the lower left corner of the box surrounding the text.

y

y-coordinate of the lower left corner of the box surrounding the text.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_continue_text() - Continue text in next line
  • ps_show() - Output text

ps_show_xy2
ps_show2
PS Funktionen


Output a text at current position

ps_show_xy
ps_show
PS Funktionen
PHP Manual

ps_show2

(PECL ps >= 1.1.0)

ps_show2 — Output a text at current position

Beschreibung

bool ps_show2 ( resource $psdoc , string $text , int $len )

Output text at the current position. Do not print more than len characters.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text to be output.

len

The maximum number of characters to print.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

ps_show_xy
ps_show
PS Funktionen


Output text

ps_show2
ps_string_geometry
PS Funktionen
PHP Manual

ps_show

(PECL ps >= 1.1.0)

ps_show — Output text

Beschreibung

bool ps_show ( resource $psdoc , string $text )

Output a text at the current text position. The text position can be set by storing the x and y coordinates into the values textx and texty with the function ps_set_value(). The function will issue an error if a font was not set before with ps_setfont().

ps_show() evaluates the following parameters and values as set by ps_set_parameter() and ps_set_value().

charspacing (value)

Distance between two consecutive glyphs. If this value is unequal to zero then all ligatures will be resolved. Values less than zero are allowed.

kerning (parameter)

Setting this parameter to "false" will turn off kerning. Kerning is turned on by default.

ligatures (parameter)

Setting this parameter to "false" will turn off the use of ligatures. Ligatures are turned on by default.

underline (parameter)

Setting this parameter to "true" will turn on underlining. Underlining is turned off by default.

overline (parameter)

Setting this parameter to "true" will turn on overlining. Overlining is turned off by default.

strikeout (parameter)

Setting this parameter to "true" will turn on striking out. Striking out is turned off by default.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text to be output.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_continue_text() - Continue text in next line
  • ps_show_xy() - Output text at given position
  • ps_setfont() - Sets font to use for following output

ps_show2
ps_string_geometry
PS Funktionen


Gets geometry of a string

ps_show
ps_stringwidth
PS Funktionen
PHP Manual

ps_string_geometry

(PECL ps >= 1.2.0)

ps_string_geometry — Gets geometry of a string

Beschreibung

array ps_string_geometry ( resource $psdoc , string $text [, int $fontid = 0 [, float $size = 0.0 ]] )

This function is similar to ps_stringwidth() but returns an array of dimensions containing the width, ascender, and descender of the text.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text for which the geometry is to be calculated.

fontid

The identifier of the font to be used. If not font is specified the current font will be used.

size

The size of the font. If no size is specified the current size is used.

Rückgabewerte

An array of the dimensions of a string. The element 'width' contains the width of the string as returned by ps_stringwidth(). The element 'descender' contains the maximum descender and 'ascender' the maximum ascender of the string.

Siehe auch

  • ps_continue_text() - Continue text in next line
  • ps_stringwidth() - Gets width of a string

ps_show
ps_stringwidth
PS Funktionen


Gets width of a string

ps_string_geometry
ps_stroke
PS Funktionen
PHP Manual

ps_stringwidth

(PECL ps >= 1.1.0)

ps_stringwidth — Gets width of a string

Beschreibung

float ps_stringwidth ( resource $psdoc , string $text [, int $fontid = 0 [, float $size = 0.0 ]] )

Calculates the width of a string in points if it was output in the given font and font size. This function needs an Adobe font metrics file to calculate the precise width. If kerning is turned on, it will be taken into account.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text for which the width is to be calculated.

fontid

The identifier of the font to be used. If not font is specified the current font will be used.

size

The size of the font. If no size is specified the current size is used.

Rückgabewerte

Width of a string in points.

Siehe auch

  • ps_string_geometry() - Gets geometry of a string

ps_string_geometry
ps_stroke
PS Funktionen


Draws the current path

ps_stringwidth
ps_symbol_name
PS Funktionen
PHP Manual

ps_stroke

(PECL ps >= 1.1.0)

ps_stroke — Draws the current path

Beschreibung

bool ps_stroke ( resource $psdoc )

Draws the path constructed with previously called drawing functions like ps_lineto().

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_closepath_stroke() - Closes and strokes path
  • ps_fill() - Fills the current path
  • ps_fill_stroke() - Fills and strokes the current path

ps_stringwidth
ps_symbol_name
PS Funktionen


Gets name of a glyph

ps_stroke
ps_symbol_width
PS Funktionen
PHP Manual

ps_symbol_name

(PECL ps >= 1.2.0)

ps_symbol_name — Gets name of a glyph

Beschreibung

string ps_symbol_name ( resource $psdoc , int $ord [, int $fontid = 0 ] )

This function needs an Adobe font metrics file to know which glyphs are available.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

ord

The parameter ord is the position of the glyph in the font encoding vector.

fontid

The identifier of the font to be used. If not font is specified the current font will be used.

Rückgabewerte

The name of a glyph in the given font.

Siehe auch

  • ps_symbol() - Output a glyph
  • ps_symbol_width() - Gets width of a glyph

ps_stroke
ps_symbol_width
PS Funktionen


Gets width of a glyph

ps_symbol_name
ps_symbol
PS Funktionen
PHP Manual

ps_symbol_width

(PECL ps >= 1.2.0)

ps_symbol_width — Gets width of a glyph

Beschreibung

float ps_symbol_width ( resource $psdoc , int $ord [, int $fontid = 0 [, float $size = 0.0 ]] )

Calculates the width of a glyph in points if it was output in the given font and font size. This function needs an Adobe font metrics file to calculate the precise width.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

ord

The position of the glyph in the font encoding vector.

fontid

The identifier of the font to be used. If not font is specified the current font will be used.

size

The size of the font. If no size is specified the current size is used.

Rückgabewerte

The width of a glyph in points.

Siehe auch

  • ps_symbol() - Output a glyph
  • ps_symbol_name() - Gets name of a glyph

ps_symbol_name
ps_symbol
PS Funktionen


Output a glyph

ps_symbol_width
ps_translate
PS Funktionen
PHP Manual

ps_symbol

(PECL ps >= 1.2.0)

ps_symbol — Output a glyph

Beschreibung

bool ps_symbol ( resource $psdoc , int $ord )

Output the glyph at position ord in the font encoding vector of the current font. The font encoding for a font can be set when loading the font with ps_findfont().

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

ord

The position of the glyph in the font encoding vector.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ps_symbol_name() - Gets name of a glyph
  • ps_symbol_width() - Gets width of a glyph

ps_symbol_width
ps_translate
PS Funktionen


Sets translation

ps_symbol
RPM Reader
PS Funktionen
PHP Manual

ps_translate

(PECL ps >= 1.1.0)

ps_translate — Sets translation

Beschreibung

bool ps_translate ( resource $psdoc , float $x , float $y )

Sets a new initial point of the coordinate system.

Parameter-Liste

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

x-coordinate of the origin of the translated coordinate system.

y

y-coordinate of the origin of the translated coordinate system.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Translation of the coordinate system

<?php
function rectangle($ps) {
    ps_moveto($ps, 0, 0);
    ps_lineto($ps, 0, 50);
    ps_lineto($ps, 50, 50);
    ps_lineto($ps, 50, 0);
    ps_lineto($ps, 0, 0);
    ps_stroke($ps);
}

$ps = ps_new();
if (!ps_open_file($ps, "translate.ps")) {
  print "Cannot open PostScript file\n";
  exit;
}

ps_set_info($ps, "Creator", "translate.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Translated example");
ps_set_info($ps, "BoundingBox", "0 0 596 842");

$psfont = ps_findfont($ps, "Helvetica", "", 0);

ps_begin_page($ps, 596, 842);
ps_set_text_pos($ps, 100, 100);
ps_translate($ps, 500, 750);
rectangle($ps);
ps_translate($ps, -500, -750);
ps_setfont($ps, $psfont, 8.0);
ps_show($ps, "Text at initial position");
ps_end_page($ps);

ps_begin_page($ps, 596, 842);
ps_set_text_pos($ps, 100, 100);
ps_save($ps);
ps_translate($ps, 500, 750);
rectangle($ps);
ps_restore($ps);
ps_setfont($ps, $psfont, 8.0);
ps_show($ps, "Text at initial position");
ps_end_page($ps);

ps_delete($ps);
?>

The above example demonstrates two possible ways to place a graphic (in this case just a rectangle) at any position on the page, while the graphic itself uses its own coordinate system. The trick is to change the origin of the current coordinate system before drawing the rectangle. The translation has to be undone after the graphic has been drawn.

On the second page a slightly different and more elegant approach is applied. Instead of undoing the translation with a second call of ps_translate() the graphics context is saved before modifying the coordinate system and restored after drawing the rectangle.

Siehe auch

  • ps_scale() - Sets scaling factor
  • ps_rotate() - Sets rotation factor

ps_symbol
RPM Reader
PS Funktionen


RPM Header Reading

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • Basic usage
  • RPM Reader Funktionen
    • rpm_close — Closes an RPM file
    • rpm_get_tag — Retrieves a header tag from an RPM file
    • rpm_is_valid — Tests a filename for validity as an RPM file
    • rpm_open — Opens an RPM file
    • rpm_version — Returns a string representing the current version of the rpmreader extension
ps_translate
Einführung
Non-Text MIME-Ausgaben


Einführung

This module allows you to read the meta information stored in the headers of a » RedHat Package Manager (» RPM) file.

RPM Reader
Installation/Konfiguration
RPM Reader


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
RPM Reader


Anforderungen

The RPMReader extension requires PHP 5.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/rpmreader.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Ressource-Typen

There is one resource type used by the RPMReader module. The resource is a file pointer which identifies the RPM file with which to work.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

The following list of constants are used to obtain information using the rpm_get_tag() function. These constants represent the tag number to be retrieved from the RPM file's header section. Descriptions are given below as to what data the tag number constants reference.

RPMREADER_MINIMUM (integer)
The minimum valid value of any RPM tag number.
RPMREADER_NAME (integer)
The name of the RPM package.
RPMREADER_VERSION (integer)
The version of the RPM package.
RPMREADER_RELEASE (integer)
The release of the RPM package.
RPMREADER_EPOCH (integer)
RPMREADER_SERIAL (integer)
RPMREADER_SUMMARY (integer)
The summary text of the RPM package.
RPMREADER_DESCRIPTION (integer)
The full description text of the RPM package.
RPMREADER_BUILDTIME (integer)
The date and time when the RPM package was built.
RPMREADER_BUILDHOST (integer)
The name of the host on which the RPM package was built.
RPMREADER_INSTALLTIME (integer)
RPMREADER_SIZE (integer)
The size of the RPM package.
RPMREADER_DISTRIBUTION (integer)
RPMREADER_VENDOR (integer)
RPMREADER_GIF (integer)
RPMREADER_XPM (integer)
RPMREADER_LICENSE (integer)
RPMREADER_COPYRIGHT (integer)
RPMREADER_PACKAGER (integer)
RPMREADER_GROUP (integer)
RPMREADER_SOURCE (integer)
RPMREADER_PATCH (integer)
RPMREADER_URL (integer)
RPMREADER_OS (integer)
RPMREADER_ARCH (integer)
RPMREADER_PREIN (integer)
RPMREADER_POSTIN (integer)
RPMREADER_PREUN (integer)
RPMREADER_POSTUN (integer)
RPMREADER_OLDFILENAMES (integer)
The list of files in an RPM package (deprecated format). The correct way is now to use a combination of 3 tags (RPMREADER_BASENAMES, RPMREADER_DIRINDEXES, RPMREADER_DIRNAMES) in what RPM now calls "CompressedFileNames". This tag is still used in older RPM files that did not use the "CompressedFileNames" method and is maintained for backward compatibility.
RPMREADER_FILESIZES (integer)
RPMREADER_FILESTATES (integer)
RPMREADER_FILEMODES (integer)
RPMREADER_FILERDEVS (integer)
RPMREADER_FILEMTIMES (integer)
RPMREADER_FILEMD5S (integer)
RPMREADER_FILELINKTOS (integer)
RPMREADER_FILEFLAGS (integer)
RPMREADER_FILEUSERNAME (integer)
RPMREADER_FILEGROUPNAME (integer)
RPMREADER_ICON (integer)
RPMREADER_SOURCERPM (integer)
RPMREADER_FILEVERIFYFLAGS (integer)
RPMREADER_ARCHIVESIZE (integer)
RPMREADER_PROVIDENAME (integer)
RPMREADER_PROVIDES (integer)
RPMREADER_REQUIREFLAGS (integer)
RPMREADER_REQUIRENAME (integer)
RPMREADER_REQUIREVERSION (integer)
RPMREADER_CONFLICTFLAGS (integer)
RPMREADER_CONFLICTNAME (integer)
RPMREADER_CONFLICTVERSION (integer)
RPMREADER_EXCLUDEARCH (integer)
RPMREADER_EXCLUDEOS (integer)
RPMREADER_EXCLUSIVEARCH (integer)
RPMREADER_EXCLUSIVEOS (integer)
RPMREADER_RPMVERSION (integer)
RPMREADER_TRIGGERSCRIPTS (integer)
RPMREADER_TRIGGERNAME (integer)
RPMREADER_TRIGGERVERSION (integer)
RPMREADER_TRIGGERFLAGS (integer)
RPMREADER_TRIGGERINDEX (integer)
RPMREADER_VERIFYSCRIPT (integer)
RPMREADER_CHANGELOGTIME (integer)
The list of dates from changelog entries.
RPMREADER_CHANGELOGNAME (integer)
The list of changelog entry names.
RPMREADER_CHANGELOGTEXT (integer)
The list of the text from changelog entries.
RPMREADER_PREINPROG (integer)
RPMREADER_POSTINPROG (integer)
RPMREADER_PREUNPROG (integer)
RPMREADER_POSTUNPROG (integer)
RPMREADER_BUILDARCHS (integer)
RPMREADER_OBSOLETENAME (integer)
RPMREADER_OBSOLETES (integer)
RPMREADER_VERIFYSCRIPTPROG (integer)
RPMREADER_TRIGGERSCRIPTPROG (integer)
RPMREADER_COOKIE (integer)
RPMREADER_FILEDEVICES (integer)
RPMREADER_FILEINODES (integer)
RPMREADER_FILELANGS (integer)
RPMREADER_PREFIXES (integer)
RPMREADER_INSTPREFIXES (integer)
RPMREADER_PROVIDEFLAGS (integer)
RPMREADER_PROVIDEVERSION (integer)
RPMREADER_OBSOLETEFLAGS (integer)
RPMREADER_OBSOLETEVERSION (integer)
RPMREADER_DIRINDEXES (integer)
The list of indices that relate directory names to files in the RPM package. This tag is used in conjunction with RPMREADER_BASENAMES and RPMREADER_DIRNAMES to reconstruct filenames in the RPM package stored with the new "CompressedFileNames" method in RPM.
RPMREADER_BASENAMES (integer)
The list of the names of files in the RPM package without path information. This tag is used in conjunction with RPMREADER_DIRINDEXES and RPMREADER_DIRNAMES to reconstruct filenames in the RPM package stored with the new "CompressedFileNames" method in RPM.
RPMREADER_DIRNAMES (integer)
The list of directory names used by files in the RPM package. This tag is used in conjunction with RPMREADER_BASENAMES and RPMREADER_DIRINDEXES to reconstruct filenames in the RPM package stored with the new "CompressedFileNames" method in RPM.
RPMREADER_OPTFLAGS (integer)
RPMREADER_DISTURL (integer)
RPMREADER_PAYLOADFORMAT (integer)
RPMREADER_PAYLOADCOMPRESSOR (integer)
RPMREADER_PAYLOADFLAGS (integer)
RPMREADER_INSTALLCOLOR (integer)
RPMREADER_INSTALLTID (integer)
RPMREADER_REMOVETID (integer)
RPMREADER_RHNPLATFORM (integer)
RPMREADER_PLATFORM (integer)
RPMREADER_PATCHESNAME (integer)
RPMREADER_PATCHESFLAGS (integer)
RPMREADER_PATCHESVERSION (integer)
RPMREADER_CACHECTIME (integer)
RPMREADER_CACHEPKGPATH (integer)
RPMREADER_CACHEPKGSIZE (integer)
RPMREADER_CACHEPKGMTIME (integer)
RPMREADER_FILECOLORS (integer)
RPMREADER_FILECLASS (integer)
RPMREADER_CLASSDICT (integer)
RPMREADER_FILEDEPENDSX (integer)
RPMREADER_FILEDEPENDSN (integer)
RPMREADER_DEPENDSDICT (integer)
RPMREADER_SOURCEPKGID (integer)
RPMREADER_FILECONTEXTS (integer)
RPMREADER_FSCONTEXTS (integer)
RPMREADER_RECONTEXTS (integer)
RPMREADER_POLICIES (integer)
RPMREADER_MAXIMUM (integer)
The maximum valid value of any RPM tag number.

Ressource-Typen
Beispiele
RPM Reader


Beispiele

Inhaltsverzeichnis

  • Basic usage
Vordefinierte Konstanten
Basic usage
RPM Reader


Basic usage

This example will open an RPM file and read the name, version, and release from the RPM file, echo the results, and close the RPM file.

Beispiel #1 Basic RPMReader Example

<?php

$filename = "/path/to/file.rpm";

// open file
$rpmr = rpm_open($filename);

// get "Name" tag
$name = rpm_get_tag($rpmr, RPMREADER_NAME);

// get "Version" tag
$ver = rpm_get_tag($rpmr, RPMREADER_VERSION);

// get "Release" tag
$rel = rpm_get_tag($rpmr, RPMREADER_RELEASE);

echo "$name-$ver-$rel<br>\n";

// close file
rpm_close($rpmr);

?>
Beispiele
RPM Reader Funktionen
Beispiele


RPM Reader Funktionen

Inhaltsverzeichnis

  • rpm_close — Closes an RPM file
  • rpm_get_tag — Retrieves a header tag from an RPM file
  • rpm_is_valid — Tests a filename for validity as an RPM file
  • rpm_open — Opens an RPM file
  • rpm_version — Returns a string representing the current version of the rpmreader extension
Basic usage
rpm_close
RPM Reader


Closes an RPM file

RPM Reader Funktionen
rpm_get_tag
RPM Reader Funktionen
PHP Manual

rpm_close

(PECL rpmreader >= 0.1.0)

rpm_close — Closes an RPM file

Beschreibung

bool rpm_close ( resource $rpmr )

rpm_close() will close an RPM file pointer.

Parameter-Liste

rpmr

A file pointer resource successfully opened by rpm_open().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 rpm_close() example

<?php

$file = "/path/to/file.rpm";
$rpmr = rpm_open($file);

rpm_close($rpmr);

?>

Siehe auch

  • rpm_open() - Opens an RPM file

RPM Reader Funktionen
rpm_get_tag
RPM Reader Funktionen


Retrieves a header tag from an RPM file

rpm_close
rpm_is_valid
RPM Reader Funktionen
PHP Manual

rpm_get_tag

(PECL rpmreader >= 0.1.0)

rpm_get_tag — Retrieves a header tag from an RPM file

Beschreibung

mixed rpm_get_tag ( resource $rpmr , int $tagnum )

rpm_get_tag() will retrieve a given tag from the RPM file's header and return it.

Parameter-Liste

rpmr

A file pointer resource successfully opened by rpm_open().

tagnum

The tag number to retrieve from the RPM header. This value can be specified using the list of constants defined by this module.

Rückgabewerte

The return value can be of various types depending on the tagnum supplied to the function.

Beispiele

Beispiel #1 rpm_get_tag() example

<?php

$file = "/path/to/file.rpm";
$rpmr = rpm_open($file);

$name = rpm_get_tag($rpmr, RPMREADER_NAME);
echo "$name<br>\n";

rpm_close($rpmr);

?>

Siehe auch

  • rpm_open() - Opens an RPM file
  • rpm_close() - Closes an RPM file

rpm_close
rpm_is_valid
RPM Reader Funktionen


Tests a filename for validity as an RPM file

rpm_get_tag
rpm_open
RPM Reader Funktionen
PHP Manual

rpm_is_valid

(PECL rpmreader >= 0.1.0)

rpm_is_valid — Tests a filename for validity as an RPM file

Beschreibung

bool rpm_is_valid ( string $filename )

rpm_is_valid() will test an RPM file for validity as an RPM file. This is not the same as rpm_open() as it only checks the file for validity but does not return a file pointer to be used by further functions.

Parameter-Liste

filename

The filename of the RPM file you wish to check for validity.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 rpm_is_valid() example

<?php

$file = "/path/to/file.rpm";

if (rpm_is_valid($file)) {
    echo "File is recognized as an RPM file.<br>\n";
}
else {
    echo "File is not recognized as an RPM file.<br>\n";
}

?>

rpm_get_tag
rpm_open
RPM Reader Funktionen


Opens an RPM file

rpm_is_valid
rpm_version
RPM Reader Funktionen
PHP Manual

rpm_open

(PECL rpmreader >= 0.1.0)

rpm_open — Opens an RPM file

Beschreibung

resource rpm_open ( string $filename )

rpm_open() will open an RPM file and will determine if the file is a valid RPM file.

Parameter-Liste

filename

The filename of the RPM file you wish to open.

Rückgabewerte

If the open succeeds, then rpm_open() will return a file pointer resource to the newly opened file. On error, the function will return FALSE.

Beispiele

Beispiel #1 rpm_open() example

<?php

$file = "/path/to/file.rpm";
$rpmr = rpm_open($file);

rpm_close($rpmr);

?>

Siehe auch

  • rpm_close() - Closes an RPM file

rpm_is_valid
rpm_version
RPM Reader Funktionen


Returns a string representing the current version of the rpmreader extension

rpm_open
Erweiterungen zur Prozesskontrolle
RPM Reader Funktionen
PHP Manual

rpm_version

(PECL rpmreader >= 0.3.0)

rpm_version — Returns a string representing the current version of the rpmreader extension

Beschreibung

string rpm_version ( void )

rpm_version() will return the current version of the rpmreader extension.

Rückgabewerte

rpm_version() will return a string representing the rpmreader version currently loaded in PHP.

Beispiele

Beispiel #1 rpm_version() example

<?php

$rpmr_ver = rpm_version();

echo "$rpmr_ver<br />\n";

?>

rpm_open
Erweiterungen zur Prozesskontrolle
RPM Reader Funktionen


Erweiterungen zur Prozesskontrolle

  • Eio
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Eio Funktionen
  • Ev
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Watchers
    • Watcher callbacks
    • Periodic watcher operation modes
    • Ev — The Ev class
    • EvCheck — The EvCheck class
    • EvChild — The EvChild class
    • EvEmbed — The EvEmbed class
    • EvFork — The EvFork class
    • EvIdle — The EvIdle class
    • EvIo — The EvIo class
    • EvLoop — The EvLoop class
    • EvPeriodic — The EvPeriodic class
    • EvPrepare — The EvPrepare class
    • EvSignal — The EvSignal class
    • EvStat — The EvStat class
    • EvTimer — The EvTimer class
    • EvWatcher — The EvWatcher class
  • Expect
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Expect Funktionen
  • Libevent
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Libevent Funktionen
  • PCNTL — Prozesskontrolle
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • PCNTL Funktionen
  • POSIX
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • POSIX Funktionen
  • Programmausführung — Ausführung von Systemprogrammen
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Funktionen zur Programmausführung
  • pthreads
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Threaded — The Threaded class
    • Thread — The Thread class
    • Worker — The Worker class
    • Collectable — The Collectable interface
    • Modifiers — Method Modifiers
    • Pool — The Pool class
    • Mutex — The Mutex class
    • Cond — The Cond class
  • Semaphore — Semaphore, Shared Memory and IPC
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Semaphore Funktionen
  • Shared Memory
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Shared Memory Funktionen
  • Sync
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • SyncMutex — The SyncMutex class
    • SyncSemaphore — The SyncSemaphore class
    • SyncEvent — The SyncEvent class
    • SyncReaderWriter — The SyncReaderWriter class
    • SyncSharedMemory — The SyncSharedMemory class
rpm_version
Eio
Funktionsreferenz


Eio

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
  • Eio Funktionen
    • eio_busy — Artificially increase load. Could be useful in tests, benchmarking.
    • eio_cancel — Cancels a request
    • eio_chmod — Change file/direcrory permissions.
    • eio_chown — Change file/direcrory permissions.
    • eio_close — Close file
    • eio_custom — Execute custom request like any other eio_* call.
    • eio_dup2 — Duplicate a file descriptor
    • eio_event_loop — Polls libeio until all requests proceeded
    • eio_fallocate — Allows the caller to directly manipulate the allocated disk space for a file
    • eio_fchmod — Change file permissions.
    • eio_fchown — Change file ownership
    • eio_fdatasync — Synchronize a file's in-core state with storage device.
    • eio_fstat — Get file status
    • eio_fstatvfs — Get file system statistics
    • eio_fsync — Synchronize a file's in-core state with storage device
    • eio_ftruncate — Truncate a file
    • eio_futime — Change file last access and modification times
    • eio_get_event_stream — Get stream representing a variable used in internal communications with libeio.
    • eio_get_last_error — Returns string describing the last error associated with a request resource
    • eio_grp_add — Adds a request to the request group.
    • eio_grp_cancel — Cancels a request group
    • eio_grp_limit — Set group limit
    • eio_grp — Creates a request group.
    • eio_init — (Re-)initialize Eio
    • eio_link — Create a hardlink for file
    • eio_lstat — Get file status
    • eio_mkdir — Create directory
    • eio_mknod — Create a special or ordinary file.
    • eio_nop — Does nothing, except go through the whole request cycle.
    • eio_npending — Returns number of finished, but unhandled requests
    • eio_nready — Returns number of not-yet handled requests
    • eio_nreqs — Returns number of requests to be processed
    • eio_nthreads — Returns number of threads currently in use
    • eio_open — Opens a file
    • eio_poll — Can be to be called whenever there are pending requests that need finishing.
    • eio_read — Read from a file descriptor at given offset.
    • eio_readahead — Perform file readahead into page cache
    • eio_readdir — Reads through a whole directory
    • eio_readlink — Read value of a symbolic link.
    • eio_realpath — Get the canonicalized absolute pathname.
    • eio_rename — Change the name or location of a file.
    • eio_rmdir — Remove a directory
    • eio_seek — Repositions the offset of the open file associated with the fd argument to the argument offset according to the directive whence
    • eio_sendfile — Transfer data between file descriptors
    • eio_set_max_idle — Set maximum number of idle threads.
    • eio_set_max_parallel — Set maximum parallel threads
    • eio_set_max_poll_reqs — Set maximum number of requests processed in a poll.
    • eio_set_max_poll_time — Set maximum poll time
    • eio_set_min_parallel — Set minimum parallel thread number
    • eio_stat — Get file status
    • eio_statvfs — Get file system statistics
    • eio_symlink — Create a symbolic link
    • eio_sync_file_range — Sync a file segment with disk
    • eio_sync — Commit buffer cache to disk
    • eio_syncfs — Calls Linux' syncfs syscall, if available
    • eio_truncate — Truncate a file
    • eio_unlink — Delete a name and possibly the file it refers to
    • eio_utime — Change file last access and modification times.
    • eio_write — Write to file
Erweiterungen zur Prozesskontrolle
Einführung
Erweiterungen zur Prozesskontrolle


Einführung

This extension provides asyncronous POSIX I/O by means of » libeio C library written by Marc Lehmann.

Hinweis: Diese Erweiterung steht auf Windows-Betriebssystemen nicht zur Verfügung.

Warnung

It is important to aware that each request is executed in a thread, and the order of execution of continuously queued requests basically is unpredictable. For instance, the following piece of code is incorrect.

Beispiel #1 Incorrect requests

<?php
// Request to create symlink of $filename to $link
eio_symlink($filename, $link);

// Request to move $filename to $new_filename
eio_rename($filename, $new_filename);

// Process requests
eio_event_loop();
?>
In the example above eio_rename() request may finish before eio_symlink(). To fix it you might call eio_rename() in the callback of eio_symlink():

Beispiel #2 Calling request from a request callback

<?php
function my_symlink_done($filename, $result) {
 // Request to move $filename to $new_filename
 eio_rename($filename, "/path/to/new-name");

 // Process requests
 eio_event_loop();
}

// Request to create symlink of $filename to $link
eio_symlink($filename, $link, EIO_PRI_DEFAULT, "my_symlink_done", $filename);

// Process requests
eio_event_loop();
?>
Alternatively, you might want to create a request group:

Beispiel #3 Calling request from a request callback

<?php
/* Is called when the group requests are done */
function my_grp_done($data, $result) {
 // ...
}

function my_symlink_done($filename, $result) {
 // Create eio_rename request and add it to the group
 $req = eio_rename($filename, "/path/to/new-name");
 eio_grp_add($grp, $req);
 // You might want to add more requests...
}

// Create a request group
$grp = eio_grp("my_grp_done", "my_grp_data");

// Create eio_symlink request and add it to the group
// Pass $filename to the callback
$req = eio_symlink($filename, $link,
  EIO_PRI_DEFAULT, "my_symlink_done", $filename);
eio_grp_add($grp, $req);

// Process requests
eio_event_loop();
?>
Group is a special kind of request that could accumulate a set of regular eio requests. This could be used to create a complex request that opens, reads and closes a file.

Since version 0.3.0 alpha, a variable used in communications with libeio internally, could be retrieved with eio_get_event_stream(). The variable could be used to bind to an event loop supported by some other extension. You might organize a simple event loop where eio and libevent work together:

Beispiel #4 Using eio with libevent

<?php
function my_eio_poll($fd, $events, $arg) {
    /* Some libevent regulation might go here .. */
    if (eio_nreqs()) {
        eio_poll();
    }
    /* .. and here */
}

function my_res_cb($d, $r) {
    var_dump($r); var_dump($d);
}

$base = event_base_new();
$event = event_new();

// This stream is used to bind with libevent
$fd = eio_get_event_stream();

eio_nop(EIO_PRI_DEFAULT, "my_res_cb", "nop data");
eio_mkdir("/tmp/abc-eio-temp", 0750, EIO_PRI_DEFAULT, "my_res_cb", "mkdir data");
/* some other eio_* calls here ... */

// set event flags
event_set($event, $fd, EV_READ /*| EV_PERSIST*/, "my_eio_poll", array($event, $base));

// set event base
event_base_set($event, $base);

// enable event
event_add($event);

// start event loop
event_base_loop($base);

/* The same will be available via buffered libevent interface */
?>

Eio
Installation/Konfiguration
Eio


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Eio


Anforderungen

This extension has » libeio library embedded. So you do NOT need to install libeio separately.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/eio.

For information about manual installation, please read the file INSTALL included in the package.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Ressource-Typen

There are two resource types in this extension: request and request group.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

Request priority constants:

EIO_PRI_MIN (integer)
Request minimal prioriry
EIO_PRI_DEFAULT (integer)
Request default prioriry
EIO_PRI_MAX (integer)
Request maximal prioriry

eio_seek() whence argument:

EIO_SEEK_SET (integer)
The offset is set to specified number of bytes(offset).
EIO_SEEK_CUR (integer)
The offset is set to its current location plus offset bytes.
EIO_SEEK_END (integer)
The offset is set to the size of the file plus offset bytes.

Flags used with eio_readdir():

EIO_READDIR_DENTS (integer)
eio_readdir() flag. If specified, the result argument of the callback becomes an array with the following keys: 'names' - array of directory names 'dents' - array of struct eio_dirent-like arrays having the following keys each: 'name' - the directory name; 'type' - one of EIO_DT_* constants; 'inode' - the inode number, if available, otherwise unspecified;
EIO_READDIR_DIRS_FIRST (integer)
When this flag is specified, the names will be returned in an order where likely directories come first, in optimal stat order.
EIO_READDIR_STAT_ORDER (integer)
When this flag is specified, then the names will be returned in an order suitable for stat'ing each one. When planning to stat() all files in the given directory, the returned order will likely be fastest.
EIO_READDIR_FOUND_UNKNOWN (integer)
EIO_DT_UNKNOWN (integer)
Unknown node type(very common). Further stat() needed.
EIO_DT_FIFO (integer)
FIFO node type
EIO_DT_CHR (integer)
Node type
EIO_DT_MPC (integer)
Multiplexed char device (v7+coherent) node type
EIO_DT_DIR (integer)
Directory node type
EIO_DT_NAM (integer)
Xenix special named file node type
EIO_DT_BLK (integer)
Node type
EIO_DT_MPB (integer)
Multiplexed block device (v7+coherent)
EIO_DT_REG (integer)
Node type
EIO_DT_NWK (integer)
EIO_DT_CMP (integer)
HP-UX network special node type
EIO_DT_LNK (integer)
Link node type
EIO_DT_SOCK (integer)
Socket node type
EIO_DT_DOOR (integer)
Solaris door node type
EIO_DT_WHT (integer)
Node type
EIO_DT_MAX (integer)
Highest node type value

Access modes for eio_open() flags argument:

EIO_O_RDONLY (integer)
EIO_O_WRONLY (integer)
EIO_O_RDWR (integer)
EIO_O_NONBLOCK (integer)
EIO_O_APPEND (integer)
EIO_O_CREAT (integer)
EIO_O_TRUNC (integer)
EIO_O_EXCL (integer)
EIO_O_FSYNC (integer)

mode argument flags for eio_open():

EIO_S_IRUSR (integer)
EIO_S_IWUSR (integer)
EIO_S_IXUSR (integer)
EIO_S_IRGRP (integer)
EIO_S_IWGRP (integer)
EIO_S_IXGRP (integer)
EIO_S_IROTH (integer)
EIO_S_IWOTH (integer)
EIO_S_IXOTH (integer)
EIO_S_IFREG (integer)
EIO_S_IFCHR (integer)
EIO_S_IFBLK (integer)
EIO_S_IFIFO (integer)
EIO_S_IFSOCK (integer)

eio_sync_file_range() flags:

EIO_SYNC_FILE_RANGE_WAIT_BEFORE (integer)
EIO_SYNC_FILE_RANGE_WRITE (integer)
EIO_SYNC_FILE_RANGE_WAIT_AFTER (integer)

eio_fallocate() flags:

EIO_FALLOC_FL_KEEP_SIZE (integer)

Hinweis:

EIO_S_I* constants have the same meaning as their S_I* POSIX counterparts.

Hinweis:

EIO_SYNC_FILE_* constants have the same meaning as their SYNC_FILE_** counterparts.

Hinweis:

EIO_O_* constants have the same meaning as their O_* POSIX counterparts.

Ressource-Typen
Beispiele
Eio


Beispiele

Beispiel #1 Cancelling a request

<?php
 /* Is called when eio_nop() finished */
 function my_nop_cb($data, $result) {
  echo "my_nop ", $data, "\n";
 }

// This eio_nop() call will be cancelled
$req = eio_nop(EIO_PRI_DEFAULT, "my_nop_cb", "1");
var_dump($req);
eio_cancel($req);

// This time eio_nop() will be processed
eio_nop(EIO_PRI_DEFAULT, "my_nop_cb", "2");

// Process requests
eio_event_loop();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

resource(4) of type (EIO Request Descriptor)
my_nop 2

Beispiel #2 Calling eio_chmod()

<?php
$temp_filename = dirname(__FILE__) ."/eio-temp-file.tmp";
touch($temp_filename);

/* Is called when eio_chmod() finished */
function my_chmod_callback($data, $result) {
    global $temp_filename;

    if ($result == 0 && !is_readable($temp_filename) && is_writable($temp_filename)) {
        echo "eio_chmod_ok";
    }

    @unlink($temp_filename);
}

eio_chmod($temp_filename, 0200, EIO_PRI_DEFAULT, "my_chmod_callback");
eio_event_loop();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

eio_chmod_ok

Beispiel #3 Making a custom request

<?php
/* Callback for the custom callback */
function my_custom_callback($data, $result) {
    var_dump($data);
    var_dump(count($result));
    var_dump($result['data_modified']);
    var_dump($result['result']);
}

/* The custom request */
function my_custom($data) {
    var_dump($data);

    $result  = array(
        'result'        => 1001,
        'data_modified' => "my custom data",
    );

    return $result;
}

$data = "my_custom_data";
$req = eio_custom("my_custom", EIO_PRI_DEFAULT, "my_custom_callback", $data);
var_dump($req);
eio_event_loop();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

resource(4) of type (EIO Request Descriptor)
string(14) "my_custom_data"
string(14) "my_custom_data"
int(2)
string(14) "my custom data"
int(1001)

Beispiel #4 Grouping requests

<?php
/*
 * Create a group request to open, read and close a file
 */

$temp_filename = dirname(__FILE__) ."/eio-file.tmp";
$fp = fopen($temp_filename, "w");
fwrite($fp, "some data");
fclose($fp);

/* Is called when the group requests are done */
function my_grp_done($data, $result) {
 global $temp_filename;
 var_dump($result == 0);
 @unlink($temp_filename);
}

/* Is called when eio_open() done */
function my_grp_file_opened_callback($data, $result) {
 global $my_file_fd, $grp;

 $my_file_fd = $result;

 var_dump($result > 0);

 // Create eio_read() request and add it to the group
 $req = eio_read($my_file_fd, 4, 0, EIO_PRI_DEFAULT, "my_grp_file_read_callback");
 eio_grp_add($grp, $req);
}

/* Is called when eio_read() done */
function my_grp_file_read_callback($data, $result) {
 global $my_file_fd, $grp;

 var_dump($result);

 // Create eio_close() request and add it to the group
 $req = eio_close($my_file_fd);
 eio_grp_add($grp, $req);
}

$grp = eio_grp("my_grp_done", "my_grp_data");

// Create eio_open() request and add it to the group
$req = eio_open($temp_filename, EIO_O_RDWR | EIO_O_APPEND , NULL,
  EIO_PRI_DEFAULT, "my_grp_file_opened_callback", NULL);
eio_grp_add($grp, $req);
var_dump($grp);

eio_event_loop();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

resource(6) of type (EIO Group Descriptor)
bool(true)
string(4) "some"
bool(true)

Beispiel #5 Using eio with libevent extension

<?php
function my_eio_poll($fd, $events, $arg) {
    /* Some libevent regulation might go here .. */
    if (eio_nreqs()) {
        eio_poll();
    }
    /* .. and here */
}

function my_nop_cb($d, $r) {
    var_dump($r); var_dump($d);
}

$base = event_base_new();
$event = event_new();

$fd = eio_get_event_stream();
var_dump($fd);

eio_nop(EIO_PRI_DEFAULT, "my_nop_cb", "nop data");
eio_mkdir("/tmp/abc-eio-temp", 0750, EIO_PRI_DEFAULT, "my_nop_cb", "nop data");
/* some other eio_* calls here ... */

// set event flags
event_set($event, $fd, EV_READ /*| EV_PERSIST*/, "my_eio_poll", array($event, $base));

// set event base
event_base_set($event, $base);

// enable event
event_add($event);

// start event loop
event_base_loop($base);

/* The same will be available via buffered libevent interface */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(3)
int(0)
string(8) "nop data"
int(0)
string(10) "mkdir data"

Beispiel #6 Using eio with event extension

<?php
$base = new EventBase();

// Retrieve eio polling stream.
// Note, this variable should be alive as long as the event loop is running.
$eio_stream = eio_get_event_stream();

// Bind eio polling stream to the event loop.
$poll_event = new Event($base, $eio_stream, Event::READ, function () {
  if (eio_nreqs()) {
    eio_poll();
  }
});
$poll_event->add();

// Add eio jobs
eio_nop(EIO_PRI_DEFAULT, function () {
  echo "eio_nop\n";
});

// Add events
$timer = Event::timer($base, function () {
  echo "2 seconds elapsed\n";
});
$timer->add(2);

// Dispatch events.
$base->dispatch();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

eio_nop
2 seconds elapsed

Vordefinierte Konstanten
Eio Funktionen
Eio


Eio Funktionen

Inhaltsverzeichnis

  • eio_busy — Artificially increase load. Could be useful in tests, benchmarking.
  • eio_cancel — Cancels a request
  • eio_chmod — Change file/direcrory permissions.
  • eio_chown — Change file/direcrory permissions.
  • eio_close — Close file
  • eio_custom — Execute custom request like any other eio_* call.
  • eio_dup2 — Duplicate a file descriptor
  • eio_event_loop — Polls libeio until all requests proceeded
  • eio_fallocate — Allows the caller to directly manipulate the allocated disk space for a file
  • eio_fchmod — Change file permissions.
  • eio_fchown — Change file ownership
  • eio_fdatasync — Synchronize a file's in-core state with storage device.
  • eio_fstat — Get file status
  • eio_fstatvfs — Get file system statistics
  • eio_fsync — Synchronize a file's in-core state with storage device
  • eio_ftruncate — Truncate a file
  • eio_futime — Change file last access and modification times
  • eio_get_event_stream — Get stream representing a variable used in internal communications with libeio.
  • eio_get_last_error — Returns string describing the last error associated with a request resource
  • eio_grp_add — Adds a request to the request group.
  • eio_grp_cancel — Cancels a request group
  • eio_grp_limit — Set group limit
  • eio_grp — Creates a request group.
  • eio_init — (Re-)initialize Eio
  • eio_link — Create a hardlink for file
  • eio_lstat — Get file status
  • eio_mkdir — Create directory
  • eio_mknod — Create a special or ordinary file.
  • eio_nop — Does nothing, except go through the whole request cycle.
  • eio_npending — Returns number of finished, but unhandled requests
  • eio_nready — Returns number of not-yet handled requests
  • eio_nreqs — Returns number of requests to be processed
  • eio_nthreads — Returns number of threads currently in use
  • eio_open — Opens a file
  • eio_poll — Can be to be called whenever there are pending requests that need finishing.
  • eio_read — Read from a file descriptor at given offset.
  • eio_readahead — Perform file readahead into page cache
  • eio_readdir — Reads through a whole directory
  • eio_readlink — Read value of a symbolic link.
  • eio_realpath — Get the canonicalized absolute pathname.
  • eio_rename — Change the name or location of a file.
  • eio_rmdir — Remove a directory
  • eio_seek — Repositions the offset of the open file associated with the fd argument to the argument offset according to the directive whence
  • eio_sendfile — Transfer data between file descriptors
  • eio_set_max_idle — Set maximum number of idle threads.
  • eio_set_max_parallel — Set maximum parallel threads
  • eio_set_max_poll_reqs — Set maximum number of requests processed in a poll.
  • eio_set_max_poll_time — Set maximum poll time
  • eio_set_min_parallel — Set minimum parallel thread number
  • eio_stat — Get file status
  • eio_statvfs — Get file system statistics
  • eio_symlink — Create a symbolic link
  • eio_sync_file_range — Sync a file segment with disk
  • eio_sync — Commit buffer cache to disk
  • eio_syncfs — Calls Linux' syncfs syscall, if available
  • eio_truncate — Truncate a file
  • eio_unlink — Delete a name and possibly the file it refers to
  • eio_utime — Change file last access and modification times.
  • eio_write — Write to file
Beispiele
eio_busy
Eio


Artificially increase load. Could be useful in tests, benchmarking.

Eio Funktionen
eio_cancel
Eio Funktionen
PHP Manual

eio_busy

(PECL eio >= 0.0.1dev)

eio_busy — Artificially increase load. Could be useful in tests, benchmarking.

Beschreibung

resource eio_busy ( int $delay [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_busy() artificially increases load taking delay seconds to execute. May be used for debugging, or benchmarking.

Parameter-Liste

delay

Delay in seconds

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

This callback is called when all the group requests are done.

data

Arbitrary variable passed to callback.

Rückgabewerte

eio_busy() returns request resource on success or FALSE on error.

Siehe auch

  • eio_nop
Eio Funktionen
eio_cancel
Eio Funktionen


Cancels a request

eio_busy
eio_chmod
Eio Funktionen
PHP Manual

eio_cancel

(PECL eio >= 0.0.1dev)

eio_cancel — Cancels a request

Beschreibung

void eio_cancel ( resource $req )

eio_cancel() cancels a request specified by req

Parameter-Liste

req

The request resource

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 eio_cancel() example

<?php
 /* Is called when eio_nop() finished */
 function my_nop_cb($data, $result) {
  echo "my_nop ", $data, "\n";
 }

// This eio_nop() call will be cancelled
$req = eio_nop(EIO_PRI_DEFAULT, "my_nop_cb", "1");
var_dump($req);
eio_cancel($req);

// This time eio_nop() will be processed
eio_nop(EIO_PRI_DEFAULT, "my_nop_cb", "2");

// Process requests
eio_event_loop();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

resource(4) of type (EIO Request Descriptor)
my_nop 2

Siehe auch

  • eio_grp_cancel
eio_busy
eio_chmod
Eio Funktionen


Change file/direcrory permissions.

eio_cancel
eio_chown
Eio Funktionen
PHP Manual

eio_chmod

(PECL eio >= 0.0.1dev)

eio_chmod — Change file/direcrory permissions.

Beschreibung

resource eio_chmod ( string $path , int $mode [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_chmod() changes file, or direcrory permissions. The new permissions are specified by mode.

Parameter-Liste

path

Path to the target file or directory

Warnung

Avoid relative paths

mode

The new permissions. E.g. 0644.

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

eio_chmod() returns request resource on success or FALSE on error.

Siehe auch

  • eio_chown
eio_cancel
eio_chown
Eio Funktionen


Change file/direcrory permissions.

eio_chmod
eio_close
Eio Funktionen
PHP Manual

eio_chown

(PECL eio >= 0.0.1dev)

eio_chown — Change file/direcrory permissions.

Beschreibung

resource eio_chown ( string $path , int $uid [, int $gid = -1 [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]]] )

Changes file, or directory permissions.

Parameter-Liste

path

Path to file or directory.

Warnung

Avoid relative paths

uid

User ID. Is ignored when equal to -1.

gid

Group ID. Is ignored when equal to -1.

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

eio_chown() returns request resource on success or FALSE on error.

Siehe auch

  • eio_chmod
eio_chmod
eio_close
Eio Funktionen


Close file

eio_chown
eio_custom
Eio Funktionen
PHP Manual

eio_close

(PECL eio >= 0.0.1dev)

eio_close — Close file

Beschreibung

resource eio_close ( mixed $fd [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_close() closes file specified by fd.

Parameter-Liste

fd

Stream, Socket resource, or numeric file descriptor

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

eio_close() returns request resource on success or FALSE on error.

Siehe auch

  • eio_open
eio_chown
eio_custom
Eio Funktionen


Execute custom request like any other eio_* call.

eio_close
eio_dup2
Eio Funktionen
PHP Manual

eio_custom

(PECL eio >= 0.0.1dev)

eio_custom — Execute custom request like any other eio_* call.

Beschreibung

resource eio_custom ( callable $execute , int $pri , callable $callback [, mixed $data = NULL ] )

eio_custom() executes custom function specified by execute processing it just like any other eio_* call.

Parameter-Liste

execute

Specifies the request function that should match the following prototype:

      mixed execute(mixed data);
callback is event completion callback that should match the following prototype:
      void callback(mixed data, mixed result);
data is the data passed to execute via data argument without modifications result value returned by execute

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

eio_custom() returns request resource on success or FALSE on error.

Beispiele

Beispiel #1 eio_custom() example

<?php
/* Callback for the custom callback */
function my_custom_callback($data, $result) {
    var_dump($data);
    var_dump(count($result));
    var_dump($result['data_modified']);
    var_dump($result['result']);
}

/* The custom request */
function my_custom($data) {
    var_dump($data);

    $result  = array(
        'result'        => 1001,
        'data_modified' => "my custom data",
    );

    return $result;
}

$data = "my_custom_data";
$req = eio_custom("my_custom", EIO_PRI_DEFAULT, "my_custom_callback", $data);
var_dump($req);
eio_event_loop();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

resource(4) of type (EIO Request Descriptor)
string(14) "my_custom_data"
string(14) "my_custom_data"
int(2)
string(14) "my custom data"
int(1001)
eio_close
eio_dup2
Eio Funktionen


Duplicate a file descriptor

eio_custom
eio_event_loop
Eio Funktionen
PHP Manual

eio_dup2

(PECL eio >= 0.0.1dev)

eio_dup2 — Duplicate a file descriptor

Beschreibung

resource eio_dup2 ( mixed $fd , mixed $fd2 [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_dup2() duplicates file descriptor.

Parameter-Liste

fd

Source stream, Socket resource, or numeric file descriptor

fd2

Target stream, Socket resource, or numeric file descriptor

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

eio_dup2() returns request resource on success or FALSE on error.

eio_custom
eio_event_loop
Eio Funktionen


Polls libeio until all requests proceeded

eio_dup2
eio_fallocate
Eio Funktionen
PHP Manual

eio_event_loop

(PECL eio >= 0.0.1dev)

eio_event_loop — Polls libeio until all requests proceeded

Beschreibung

bool eio_event_loop ( void )

eio_event_loop() polls libeio until all requests proceeded.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

eio_event_loop() returns TRUE on success or FALSE on error.

Beispiele

Beispiel #1 eio_event_loop() example

<?php
$temp_filename = "eio-temp-file.tmp";
touch($temp_filename);

/* Is called when eio_chmod() finished */
function my_chmod_callback($data, $result) {
    global $temp_filename;

    if ($result == 0 && !is_readable($temp_filename) && is_writable($temp_filename)) {
        echo "eio_chmod_ok";
    }

    @unlink($temp_filename);
}

eio_chmod($temp_filename, 0200, EIO_PRI_DEFAULT, "my_chmod_callback");
eio_event_loop();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

eio_chmod_ok

Siehe auch

  • eio_poll
eio_dup2
eio_fallocate
Eio Funktionen


Allows the caller to directly manipulate the allocated disk space for a file

eio_event_loop
eio_fchmod
Eio Funktionen
PHP Manual

eio_fallocate

(PECL eio >= 0.0.1dev)

eio_fallocate — Allows the caller to directly manipulate the allocated disk space for a file

Beschreibung

resource eio_fallocate ( mixed $fd , int $mode , int $offset , int $length [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_fallocate() allows the caller to directly manipulate the allocated disk space for the file specified by fd file descriptor for the byte range starting at offset and continuing for length bytes.

Hinweis: File should be opened for writing

EIO_O_CREAT should be logically OR'd with EIO_O_WRONLY, or EIO_O_RDWR

Parameter-Liste

fd

Stream, Socket resource, or numeric file descriptor, e.g. returned by eio_open().

mode

Currently only one flag is supported for mode: EIO_FALLOC_FL_KEEP_SIZE (the same as POSIX constant FALLOC_FL_KEEP_SIZE).

offset

Specifies start of the byte range.

length

Specifies length the byte range.

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

eio_fallocate() returns request resource on success or FALSE on error.

eio_event_loop
eio_fchmod
Eio Funktionen


Change file permissions.

eio_fallocate
eio_fchown
Eio Funktionen
PHP Manual

eio_fchmod

(PECL eio >= 0.0.1dev)

eio_fchmod — Change file permissions.

Beschreibung

resource eio_fchmod ( mixed $fd , int $mode [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_fchmod() changes permissions for the file specified by fd file descriptor.

Parameter-Liste

fd

Stream, Socket resource, or numeric file descriptor, e.g. returned by eio_open().

mode

The new permissions. E.g. 0644.

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

eio_fchmod() returns request resource on success or FALSE on error.

Siehe auch

  • eio_fchown
eio_fallocate
eio_fchown
Eio Funktionen


Change file ownership

eio_fchmod
eio_fdatasync
Eio Funktionen
PHP Manual

eio_fchown

(PECL eio >= 0.0.1dev)

eio_fchown — Change file ownership

Beschreibung

resource eio_fchown ( mixed $fd , int $uid [, int $gid = -1 [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]]] )

eio_fchown() changes ownership of the file specified by fd file descriptor.

Parameter-Liste

fd

Stream, Socket resource, or numeric file descriptor.

uid

User ID. Is ignored when equal to -1.

gid

Group ID. Is ignored when equal to -1.

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Siehe auch

  • eio_fchmod
eio_fchmod
eio_fdatasync
Eio Funktionen


Synchronize a file's in-core state with storage device.

eio_fchown
eio_fstat
Eio Funktionen
PHP Manual

eio_fdatasync

(PECL eio >= 0.0.1dev)

eio_fdatasync — Synchronize a file's in-core state with storage device.

Beschreibung

resource eio_fdatasync ( mixed $fd [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_fdatasync() synchronizes a file's in-core state with storage device.

Parameter-Liste

fd

Stream, Socket resource, or numeric file descriptor, e.g. returned by eio_open().

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

eio_fdatasync() returns request resource on success or FALSE on error.

eio_fchown
eio_fstat
Eio Funktionen


Get file status

eio_fdatasync
eio_fstatvfs
Eio Funktionen
PHP Manual

eio_fstat

(PECL eio >= 0.0.1dev)

eio_fstat — Get file status

Beschreibung

resource eio_fstat ( mixed $fd , int $pri , callable $callback [, mixed $data ] )

eio_fstat() returns file status information in result argument of callback

Parameter-Liste

fd

Stream, Socket resource, or numeric file descriptor.

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

eio_busy() returns request resource on success or FALSE on error.

Beispiele

Beispiel #1 eio_lstat() example

<?php
// Create temporary file
$tmp_filename = dirname(__FILE__) ."/eio-file.tmp";
touch($tmp_filename);

/* Is called when eio_fstat() done */
function my_res_cb($data, $result) {
 // Should output array with stat info
 var_dump($result);

 if ($data['fd']) {
  // Close temporary file
  eio_close($data['fd']);
  eio_event_loop();
 }
 // Remove temporary file
 @unlink($data['file']);
}

/* Is called when eio_open() done */
function my_open_cb($data, $result) {
 // Prepare data for callback
 $d = array(
  'fd'  => $result,
  'file'=> $data
 );
 // Request stat info
 eio_fstat($result, EIO_PRI_DEFAULT, "my_res_cb", $d);
 // Process request(s)
 eio_event_loop();
}

// Open temporary file
eio_open($tmp_filename, EIO_O_RDONLY, NULL, EIO_PRI_DEFAULT,
  "my_open_cb", $tmp_filename);
eio_event_loop();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(12) {
 ["st_dev"]=>
  int(2050)
  ["st_ino"]=>
  int(2489159)
  ["st_mode"]=>
  int(33188)
  ["st_nlink"]=>
  int(1)
  ["st_uid"]=>
  int(1000)
  ["st_gid"]=>
  int(100)
  ["st_rdev"]=>
  int(0)
  ["st_blksize"]=>
  int(4096)
  ["st_blocks"]=>
  int(0)
  ["st_atime"]=>
  int(1318239506)
  ["st_mtime"]=>
  int(1318239506)
  ["st_ctime"]=>
  int(1318239506)
}

Siehe auch

  • eio_lstat
  • eio_stat
eio_fdatasync
eio_fstatvfs
Eio Funktionen


Get file system statistics

eio_fstat
eio_fsync
Eio Funktionen
PHP Manual

eio_fstatvfs

(PECL eio >= 0.0.1dev)

eio_fstatvfs — Get file system statistics

Beschreibung

resource eio_fstatvfs ( mixed $fd , int $pri , callable $callback [, mixed $data ] )

eio_fstatvfs() returns file system statistics in result of callback.

Parameter-Liste

fd

A file descriptor of a file within the mounted file system.

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

eio_fstatvfs() returns request resource on success or FALSE on error.

Siehe auch

  • eio_statvfs
eio_fstat
eio_fsync
Eio Funktionen


Synchronize a file's in-core state with storage device

eio_fstatvfs
eio_ftruncate
Eio Funktionen
PHP Manual

eio_fsync

(PECL eio >= 0.0.1dev)

eio_fsync — Synchronize a file's in-core state with storage device

Beschreibung

resource eio_fsync ( mixed $fd [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

Synchronize a file's in-core state with storage device

Parameter-Liste

fd

Stream, Socket resource, or numeric file descriptor.

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

eio_fsync() returns request resource on success or FALSE on error.

Siehe auch

  • eio_sync
eio_fstatvfs
eio_ftruncate
Eio Funktionen


Truncate a file

eio_fsync
eio_futime
Eio Funktionen
PHP Manual

eio_ftruncate

(PECL eio >= 0.0.1dev)

eio_ftruncate — Truncate a file

Beschreibung

resource eio_ftruncate ( mixed $fd [, int $offset = 0 [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]]] )

eio_ftruncate() causes a regular file referenced by fd file descriptor to be truncated to precisely length bytes.

Parameter-Liste

fd

Stream, Socket resource, or numeric file descriptor.

offset

Offset from beginning of the file

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

eio_ftruncate() returns request resource on success or FALSE on error.

Siehe auch

  • eio_truncate
eio_fsync
eio_futime
Eio Funktionen


Change file last access and modification times

eio_ftruncate
eio_get_event_stream
Eio Funktionen
PHP Manual

eio_futime

(PECL eio >= 0.0.1dev)

eio_futime — Change file last access and modification times

Beschreibung

resource eio_futime ( mixed $fd , float $atime , float $mtime [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_futime() changes file last access and modification times.

Parameter-Liste

fd

Stream, Socket resource, or numeric file descriptor, e.g. returned by eio_open()

atime

Access time

mtime

Modification time

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

eio_futime() returns request resource on success or FALSE on error.

Siehe auch

  • eio_utime
eio_ftruncate
eio_get_event_stream
Eio Funktionen


Get stream representing a variable used in internal communications with libeio.

eio_futime
eio_get_last_error
Eio Funktionen
PHP Manual

eio_get_event_stream

(PECL eio >= 0.3.1b)

eio_get_event_stream — Get stream representing a variable used in internal communications with libeio.

Beschreibung

mixed eio_get_event_stream ( void )

eio_get_event_stream() acquires stream representing a variable used in internal communications with libeio. Could be used to bind with some event loop provided by other PECL extension, for example libevent.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

eio_get_event_stream() returns stream on success; otherwise, NULL

Beispiele

Beispiel #1 Using eio with libevent

<?php
function my_eio_poll($fd, $events, $arg) {
    /* Some libevent regulation might go here .. */
    if (eio_nreqs()) {
        eio_poll();
    }
    /* .. and here */
}

function my_res_cb($d, $r) {
    var_dump($r); var_dump($d);
}

$base = event_base_new();
$event = event_new();

$fd = eio_get_event_stream();
var_dump($fd);

eio_nop(EIO_PRI_DEFAULT, "my_res_cb", "nop data");
eio_mkdir("/tmp/abc-eio-temp", 0750, EIO_PRI_DEFAULT, "my_res_cb", "mkdir data");
/* some other eio_* calls here ... */

// set event flags
event_set($event, $fd, EV_READ /*| EV_PERSIST*/, "my_eio_poll", array($event, $base));

// set event base
event_base_set($event, $base);

// enable event
event_add($event);

// start event loop
event_base_loop($base);

/* The same will be available via buffered libevent interface */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(3)
int(0)
string(8) "nop data"
int(0)
string(10) "mkdir data"
eio_futime
eio_get_last_error
Eio Funktionen


Returns string describing the last error associated with a request resource

eio_get_event_stream
eio_grp_add
Eio Funktionen
PHP Manual

eio_get_last_error

(PECL eio >= 1.0.0)

eio_get_last_error — Returns string describing the last error associated with a request resource

Beschreibung

string eio_get_last_error ( resource $req )

eio_get_last_error() returns string describing the last error associated with req.

Parameter-Liste

req

The request resource

Rückgabewerte

eio_get_last_error() returns string describing the last error associated with the request resource specified by req.

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

eio_get_event_stream
eio_grp_add
Eio Funktionen


Adds a request to the request group.

eio_get_last_error
eio_grp_cancel
Eio Funktionen
PHP Manual

eio_grp_add

(PECL eio >= 0.0.1dev)

eio_grp_add — Adds a request to the request group.

Beschreibung

void eio_grp_add ( resource $grp , resource $req )

eio_grp_add() adds a request to the request group.

Parameter-Liste

grp

The request group resource returned by eio_grp()

req

The request resource

Rückgabewerte

eio_grp_add() doesn't return a value.

Beispiele

Beispiel #1 Grouping requests

<?php
/*
 * Create a group request to open, read and close a file
 */

// Create temporary file and write some bytes to it
$temp_filename = dirname(__FILE__) ."/eio-file.tmp";
$fp = fopen($temp_filename, "w");
fwrite($fp, "some data");
fclose($fp);

/* Is called when the group requests are done */
function my_grp_done($data, $result) {
 var_dump($result == 0);
 @unlink($data);
}

/* Is called when eio_open() done */
function my_grp_file_opened_callback($data, $result) {
 global $grp;

 // $result should contain the file descriptor
 var_dump($result > 0);

 // Create eio_read() request and add it to the group
 // Pass file descriptor to the callback
 $req = eio_read($result, 4, 0,
   EIO_PRI_DEFAULT, "my_grp_file_read_callback", $result);
 eio_grp_add($grp, $req);
}

/* Is called when eio_read() done */
function my_grp_file_read_callback($data, $result) {
 global $grp;

 // Read bytes
 var_dump($result);

 // Create eio_close() request and add it to the group
 // $data should contain the file descriptor
 $req = eio_close($data);
 eio_grp_add($grp, $req);
}

// Create request group
$grp = eio_grp("my_grp_done", $temp_filename);
var_dump($grp);

// Create eio_open() request and add it to the group
$req = eio_open($temp_filename, EIO_O_RDWR | EIO_O_APPEND , NULL,
  EIO_PRI_DEFAULT, "my_grp_file_opened_callback", NULL);
eio_grp_add($grp, $req);

// Process requests
eio_event_loop();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

resource(6) of type (EIO Group Descriptor)
bool(true)
string(4) "some"
bool(true)

Siehe auch

  • eio_grp
  • eio_grp_cancel
  • eio_grp_limit
eio_get_last_error
eio_grp_cancel
Eio Funktionen


Cancels a request group

eio_grp_add
eio_grp_limit
Eio Funktionen
PHP Manual

eio_grp_cancel

(PECL eio >= 0.0.1dev)

eio_grp_cancel — Cancels a request group

Beschreibung

void eio_grp_cancel ( resource $grp )

eio_grp_cancel() cancels a group request specified by grp request group resource.

Parameter-Liste

grp

The request group resource returned by eio_grp().

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • eio_grp
  • eio_grp_add
eio_grp_add
eio_grp_limit
Eio Funktionen


Set group limit

eio_grp_cancel
eio_grp
Eio Funktionen
PHP Manual

eio_grp_limit

(PECL eio >= 0.0.1dev)

eio_grp_limit — Set group limit

Beschreibung

void eio_grp_limit ( resource $grp , int $limit )

Limit number of requests in the request group.

Parameter-Liste

grp

The request group resource.

limit

Number of requests in the group.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • eio_grp_add
eio_grp_cancel
eio_grp
Eio Funktionen


Creates a request group.

eio_grp_limit
eio_init
Eio Funktionen
PHP Manual

eio_grp

(PECL eio >= 0.0.1dev)

eio_grp — Creates a request group.

Beschreibung

resource eio_grp ( callable $callback [, string $data = NULL ] )

eio_grp() creates a request group.

Parameter-Liste

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

eio_grp() returns request group resource on success or FALSE on error.

Beispiele

Beispiel #1 eio_grp() example

<?php
$temp_filename = dirname(__FILE__) ."/eio-file.tmp";
$fp = fopen($temp_filename, "w");
fwrite($fp, "some data");
fclose($fp);
$my_file_fd = NULL;

/* Is called when the group requests are done */
function my_grp_done($data, $result) {
 // Remove the file, if it still exists
 @unlink($data);
}

/* Is called when the temporary file is opened */
function my_grp_file_opened_callback($data, $result) {
 global $my_file_fd, $grp;

 $my_file_fd = $result;

 $req = eio_read($my_file_fd, 4, 0,
   EIO_PRI_DEFAULT, "my_grp_file_read_callback");
 eio_grp_add($grp, $req);
}

/* Is called when the file is read */
function my_grp_file_read_callback($data, $result) {
 global $my_file_fd, $grp;

 var_dump($result);

 // Create request to close the file
 $req = eio_close($my_file_fd);

 // Add request to the group
 eio_grp_add($grp, $req);
}

// Create request group
$grp = eio_grp("my_grp_done", $temp_filename);

// Create request
$req = eio_open($temp_filename, EIO_O_RDWR | EIO_O_APPEND , NULL,
  EIO_PRI_DEFAULT, "my_grp_file_opened_callback", NULL);

// Add request to the group
eio_grp_add($grp, $req);

// Process requests
eio_event_loop();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(4) "some"

Siehe auch

  • eio_grp_cancel
  • eio_grp_add
eio_grp_limit
eio_init
Eio Funktionen


(Re-)initialize Eio

eio_grp
eio_link
Eio Funktionen
PHP Manual

eio_init

(PECL eio = 1.0.0)

eio_init — (Re-)initialize Eio

Beschreibung

void eio_init ( void )

eio_init() (re-)initializes Eio. It allocates memory for internal structures of libeio and Eio itself. You may call eio_init() before using Eio functions. Otherwise it will be called internally first time you invoke an Eio function in a process.

Warnung

Dieses veraltete Feature wird in der Zukunft sicherlich entfernt. Since Eio 1.1.0 eio_init() is deprecated. In Eio 1.0.0 because of » libeio's restrictions you must call eio_init() in child process, if you fork one by any means. You have to avoid using Eio in parent process, if you use it in childs.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

eio_grp
eio_link
Eio Funktionen


Create a hardlink for file

eio_init
eio_lstat
Eio Funktionen
PHP Manual

eio_link

(PECL eio >= 0.0.1dev)

eio_link — Create a hardlink for file

Beschreibung

resource eio_link ( string $path , string $new_path [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_link() creates a hardlink new_path for a file specified by path.

Parameter-Liste

path

Source file path.

new_path

Target file path.

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

Beispiele

Beispiel #1 eio_link() example

<?php
$filename = dirname(__FILE__)."/symlink.dat";
touch($filename);
$link = dirname(__FILE__)."/symlink.link";
$hardlink = dirname(__FILE__)."/hardlink.link";

function my_hardlink_cb($data, $result) {
    global $link, $filename;
    var_dump(file_exists($data) && !is_link($data));
    @unlink($data);

    eio_symlink($filename, $link, EIO_PRI_DEFAULT, "my_symlink_cb", $link);
}

function my_symlink_cb($data, $result) {
    global $link, $filename;
    var_dump(file_exists($data) && is_link($data));

    if (!eio_readlink($data, EIO_PRI_DEFAULT, "my_readlink_cb", NULL)) {
        @unlink($link);
        @unlink($filename);
    }
}

function my_readlink_cb($data, $result) {
    global $filename, $link;
    var_dump($result);

    @unlink($link);
    @unlink($filename);
}

eio_link($filename, $hardlink, EIO_PRI_DEFAULT, "my_hardlink_cb", $hardlink);
eio_event_loop();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(true)
bool(true)
string(%d) "%ssymlink.dat"

Siehe auch

  • eio_symlink
eio_init
eio_lstat
Eio Funktionen


Get file status

eio_link
eio_mkdir
Eio Funktionen
PHP Manual

eio_lstat

(PECL eio >= 0.0.1dev)

eio_lstat — Get file status

Beschreibung

resource eio_lstat ( string $path , int $pri , callable $callback [, mixed $data = NULL ] )

eio_lstat() returns file status information in result argument of callback

Parameter-Liste

path

The file path

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

eio_lstat() returns request resource on success or FALSE on error.

Beispiele

Beispiel #1 eio_lstat() example

<?php
$tmp_filename = dirname(__FILE__). "/eio-file.tmp";
touch($tmp_filename);

function my_res_cb($data, $result) {
    var_dump($data);
    var_dump($result);
}

function my_open_cb($data, $result) {
    eio_close($result);
    eio_event_loop();

    @unlink($data);
}

eio_lstat($tmp_filename, EIO_PRI_DEFAULT, "my_res_cb", "eio_lstat");
eio_open($tmp_filename, EIO_O_RDONLY, NULL,
 EIO_PRI_DEFAULT, "my_open_cb", $tmp_filename);
eio_event_loop();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(9) "eio_lstat"
array(12) {
 ["st_dev"]=>
  int(2050)
  ["st_ino"]=>
  int(2099197)
  ["st_mode"]=>
  int(33188)
  ["st_nlink"]=>
  int(1)
  ["st_uid"]=>
  int(1000)
  ["st_gid"]=>
  int(100)
  ["st_rdev"]=>
  int(0)
  ["st_blksize"]=>
  int(4096)
  ["st_blocks"]=>
  int(0)
  ["st_atime"]=>
  int(1318235777)
  ["st_mtime"]=>
  int(1318235777)
  ["st_ctime"]=>
  int(1318235777)
}

Siehe auch

  • eio_stat
  • eio_fstat
eio_link
eio_mkdir
Eio Funktionen


Create directory

eio_lstat
eio_mknod
Eio Funktionen
PHP Manual

eio_mkdir

(PECL eio >= 0.0.1dev)

eio_mkdir — Create directory

Beschreibung

resource eio_mkdir ( string $path , int $mode [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_mkdir() creates directory with specified access mode.

Parameter-Liste

path

Path for the new directory.

mode

Access mode, e.g. 0755

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

eio_mkdir() returns request resource on success or FALSE on error.

Beispiele

Beispiel #1 eio_mkdir() example

<?php
$temp_dirname = "eio-temp-dir";

/* Is called when eio_mkdir() finishes */
function my_mkdir_callback($data, $result) {
 if ($result == 0 && is_dir($temp_dirname)
   && !is_readable($temp_dirname)
   && is_writable($temp_dirname)) {
  echo "eio_mkdir_ok";
 }

 // Remove directory
    if (file_exists($data))
        rmdir($temp_dirname);
}

// Create directory with access mode 0300
eio_mkdir($temp_dirname, 0300, EIO_PRI_DEFAULT, "my_mkdir_callback", $temp_dirname);
eio_event_loop();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

eio_mkdir_ok

Siehe auch

  • eio_rmdir
eio_lstat
eio_mknod
Eio Funktionen


Create a special or ordinary file.

eio_mkdir
eio_nop
Eio Funktionen
PHP Manual

eio_mknod

(PECL eio >= 0.0.1dev)

eio_mknod — Create a special or ordinary file.

Beschreibung

resource eio_mknod ( string $path , int $mode , int $dev [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_mknod() creates ordinary or special(often) file.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

path

Path for the new node(file).

mode

Specifies both the permissions to use and the type of node to be created. It should be a combination (using bitwise OR) of one of the file types listed below and the permissions for the new node(e.g. 0640). Possible file types are: EIO_S_IFREG(regular file), EIO_S_IFCHR(character file), EIO_S_IFBLK(block special file), EIO_S_IFIFO(FIFO - named pipe) and EIO_S_IFSOCK(UNIX domain socket). To specify permissions EIO_S_I* constants could be used.

dev

If the file type is EIO_S_IFCHR or EIO_S_IFBLK then dev specifies the major and minor numbers of the newly created device special file. Otherwise dev ignored. See mknod(2) man page for details.

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

eio_mknod() returns request resource on success or FALSE on error.

Beispiele

Beispiel #1 eio_mknod() example

<?php
// FIFO name
$temp_filename = "/tmp/eio-temp-fifo";

/* Is called when eio_mknod() finishes */
function my_mknod_callback($data, $result) {
    $s = stat($data);
    var_dump($s);

    if ($result == 0) {
        echo "eio_mknod_ok";
    }

    @unlink($data);
}

eio_mknod($temp_filename, EIO_S_IFIFO, 0,
    EIO_PRI_DEFAULT, "my_mknod_callback", $temp_filename);
eio_event_loop();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(26) {
  [0]=>
  int(17)
  [1]=>
  int(2337608)
  [2]=>
  int(4096)
  [3]=>
  int(1)
  [4]=>
  int(1000)
  [5]=>
  int(100)
  [6]=>
  int(0)
  [7]=>
  int(0)
  [8]=>
  int(1318241261)
  [9]=>
  int(1318241261)
  [10]=>
  int(1318241261)
  [11]=>
  int(4096)
  [12]=>
  int(0)
  ["dev"]=>
  int(17)
  ["ino"]=>
  int(2337608)
  ["mode"]=>
  int(4096)
  ["nlink"]=>
  int(1)
  ["uid"]=>
  int(1000)
  ["gid"]=>
  int(100)
  ["rdev"]=>
  int(0)
  ["size"]=>
  int(0)
  ["atime"]=>
  int(1318241261)
  ["mtime"]=>
  int(1318241261)
  ["ctime"]=>
  int(1318241261)
  ["blksize"]=>
  int(4096)
  ["blocks"]=>
  int(0)
}
eio_mknod_ok

Siehe auch

  • eio_open
eio_mkdir
eio_nop
Eio Funktionen


Does nothing, except go through the whole request cycle.

eio_mknod
eio_npending
Eio Funktionen
PHP Manual

eio_nop

(PECL eio >= 0.0.1dev)

eio_nop — Does nothing, except go through the whole request cycle.

Beschreibung

resource eio_nop ([ int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_nop() does nothing, except go through the whole request cycle. Could be useful in debugging.

Parameter-Liste

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

eio_nop() returns request resource on success or FALSE on error.

Siehe auch

  • eio_busy
eio_mknod
eio_npending
Eio Funktionen


Returns number of finished, but unhandled requests

eio_nop
eio_nready
Eio Funktionen
PHP Manual

eio_npending

(PECL eio >= 0.0.1dev)

eio_npending — Returns number of finished, but unhandled requests

Beschreibung

int eio_npending ( void )

eio_npending() returns number of finished, but unhandled requests

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

eio_npending() returns number of finished, but unhandled requests.

Siehe auch

  • eio_nreqs
  • eio_nready
  • eio_nthreads
eio_nop
eio_nready
Eio Funktionen


Returns number of not-yet handled requests

eio_npending
eio_nreqs
Eio Funktionen
PHP Manual

eio_nready

(PECL eio >= 0.0.1dev)

eio_nready — Returns number of not-yet handled requests

Beschreibung

int eio_nready ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

eio_nready() returns number of not-yet handled requests

Siehe auch

  • eio_nreqs
  • eio_nready
  • eio_nthreads
eio_npending
eio_nreqs
Eio Funktionen


Returns number of requests to be processed

eio_nready
eio_nthreads
Eio Funktionen
PHP Manual

eio_nreqs

(PECL eio >= 0.0.1dev)

eio_nreqs — Returns number of requests to be processed

Beschreibung

int eio_nreqs ( void )

eio_nreqs() could be called in a custom loop calling eio_poll().

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

eio_nreqs() returns number of requests to be processed.

Beispiele

Beispiel #1 eio_nreqs() example

<?php
function res_cb($data, $result) {
    var_dump($data);
    var_dump($result);
}

eio_nop(EIO_PRI_DEFAULT, "res_cb", "1");
eio_nop(EIO_PRI_DEFAULT, "res_cb", "2");
eio_nop(EIO_PRI_DEFAULT, "res_cb", "3");

while (eio_nreqs()) {
    eio_poll();
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(1) "1"
int(0)
string(1) "3"
int(0)
string(1) "2"
int(0)

Siehe auch

  • eio_poll
  • eio_nready
eio_nready
eio_nthreads
Eio Funktionen


Returns number of threads currently in use

eio_nreqs
eio_open
Eio Funktionen
PHP Manual

eio_nthreads

(PECL eio >= 0.0.1dev)

eio_nthreads — Returns number of threads currently in use

Beschreibung

int eio_nthreads ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

eio_nthreads() returns number of threads currently in use.

Siehe auch

  • eio_npending
  • eio_nready
  • eio_nreqs
eio_nreqs
eio_open
Eio Funktionen


Opens a file

eio_nthreads
eio_poll
Eio Funktionen
PHP Manual

eio_open

(PECL eio >= 0.0.1dev)

eio_open — Opens a file

Beschreibung

resource eio_open ( string $path , int $flags , int $mode , int $pri , callable $callback [, mixed $data = NULL ] )

eio_open() opens file specified by path in access mode mode with

Parameter-Liste

path

Path of the file to be opened.

Warnung

In some SAPIs(e.g. PHP-FPM) it could fail, if you don't specify full path.

flags

One of EIO_O_* constants, or their combinations. EIO_O_* constants have the same meaning, as their corresponding O_* counterparts defined in fnctl.h C header file. Default is EIO_O_RDWR.

mode

One of EIO_S_I* constants, or their combination (via bitwise OR operator). The constants have the same meaning as their S_I* counterparts defined in » sys/stat.h C header file. Required, if a file is created. Otherwise ignored.

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

eio_open() returns file descriptor in result argument of callback on success; otherwise, result is equal to -1.

Beispiele

Beispiel #1 eio_open() example

<?php
$temp_filename = "eio-temp-file.tmp";

/* Is called when eio_close() finishes */
function my_close_cb($data, $result) {
 // Zero indicates success
    var_dump($result == 0);
 @unlink($data);
}

/* Is called when eio_open() finishes */
function my_file_opened_callback($data, $result) {
 // $result should contain the file descriptor
    var_dump($result > 0);

    if ($result > 0) {
  // Close the file
        eio_close($result, EIO_PRI_DEFAULT, "my_close_cb", $data);
        eio_event_loop();
    }
}

// Create new file for reading and writing
// Deny group and others to do anything with that file
eio_open($temp_filename, EIO_O_CREAT | EIO_O_RDWR, EIO_S_IRUSR | EIO_S_IWUSR,
  EIO_PRI_DEFAULT, "my_file_opened_callback", $temp_filename);
eio_event_loop();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(true)
bool(true)

Siehe auch

  • eio_mknod
eio_nthreads
eio_poll
Eio Funktionen


Can be to be called whenever there are pending requests that need finishing.

eio_open
eio_read
Eio Funktionen
PHP Manual

eio_poll

(PECL eio >= 0.0.1dev)

eio_poll — Can be to be called whenever there are pending requests that need finishing.

Beschreibung

int eio_poll ( void )

eio_poll() can be used to implement special event loop. For this eio_nreqs() could be used to test if there are unprocessed requests.

Hinweis:

Applicable only when implementing userspace event loop.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

If any request invocation returns a non-zero value, returns that value. Otherwise, it returns 0.

Beispiele

Beispiel #1 eio_poll() example

<?php
function res_cb($data, $result) {
    var_dump($data);
    var_dump($result);
}

eio_nop(EIO_PRI_DEFAULT, "res_cb", "1");
eio_nop(EIO_PRI_DEFAULT, "res_cb", "2");
eio_nop(EIO_PRI_DEFAULT, "res_cb", "3");

while (eio_nreqs()) {
    // Some specific IPC or so
    eio_poll();
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(1) "1"
int(0)
string(1) "3"
int(0)
string(1) "2"
int(0)

Siehe auch

  • eio_nreqs
eio_open
eio_read
Eio Funktionen


Read from a file descriptor at given offset.

eio_poll
eio_readahead
Eio Funktionen
PHP Manual

eio_read

(PECL eio >= 0.0.1dev)

eio_read — Read from a file descriptor at given offset.

Beschreibung

resource eio_read ( mixed $fd , int $length , int $offset , int $pri , callable $callback [, mixed $data = NULL ] )

eio_read() reads up to length bytes from fd file descriptor at offset. The read bytes are stored in result argument of callback.

Parameter-Liste

fd

Stream, Socket resource, or numeric file descriptor

length

Maximum number of bytes to read.

offset

Offset within the file.

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

eio_read() stores read bytes in result argument of callback function.

Beispiele

Beispiel #1 eio_read() example

<?php
// Open a temporary file and write some bytes there
$temp_filename = "eio-temp-file.tmp";
$fp = fopen($temp_filename, "w");
fwrite($fp, "1234567890");
fclose($fp);

/* Is called when eio_read() is done */
function my_read_cb($data, $result) {
    global $temp_filename;

 // Output read bytes
    var_dump($result);

 // Close file
    eio_close($data);
    eio_event_loop();

 // Remove temporary file
    @unlink($temp_filename);
}

/* Is called when eio_open() is done */
function my_file_opened_callback($data, $result) {
 // $result should contain the file descriptor
    if ($result > 0) {
  // Read 5 bytes starting from third
        eio_read($result, 5, 2, EIO_PRI_DEFAULT, "my_read_cb", $result);
        eio_event_loop();
    } else {
  // eio_open() failed
        unlink($data);
    }
}

// Open the file for reading and writing
eio_open($temp_filename, EIO_O_RDWR, NULL,
    EIO_PRI_DEFAULT, "my_file_opened_callback", $temp_filename);
eio_event_loop();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(5) "34567"

Siehe auch

  • eio_open
  • eio_write
  • eio_close
  • eio_event_loop
eio_poll
eio_readahead
Eio Funktionen


Perform file readahead into page cache

eio_read
eio_readdir
Eio Funktionen
PHP Manual

eio_readahead

(PECL eio >= 0.0.1dev)

eio_readahead — Perform file readahead into page cache

Beschreibung

resource eio_readahead ( mixed $fd , int $offset , int $length [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_readahead() populates the page cache with data from a file so that subsequent reads from that file will not block on disk I/O. See READAHEAD(2) man page for details.

Parameter-Liste

fd

Stream, Socket resource, or numeric file descriptor

offset

Starting point from which data is to be read.

length

Number of bytes to be read.

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

eio_readahead() returns request resource on success or FALSE on error.

eio_read
eio_readdir
Eio Funktionen


Reads through a whole directory

eio_readahead
eio_readlink
Eio Funktionen
PHP Manual

eio_readdir

(PECL eio >= 0.0.1dev)

eio_readdir — Reads through a whole directory

Beschreibung

resource eio_readdir ( string $path , int $flags , int $pri , callable $callback [, string $data = NULL ] )

Reads through a whole directory(via the opendir, readdir and closedir system calls) and returns either the names or an array in result argument of callback function, depending on the flags argument.

Parameter-Liste

path

Directory path.

flags

Combination of EIO_READDIR_* constants.

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

eio_readdir() returns request resource on success, or FALSE on error. Sets result argument of callback function according to flags:

EIO_READDIR_DENTS (integer)
eio_readdir() flag. If specified, the result argument of the callback becomes an array with the following keys: 'names' - array of directory names 'dents' - array of struct eio_dirent-like arrays having the following keys each: 'name' - the directory name; 'type' - one of EIO_DT_* constants; 'inode' - the inode number, if available, otherwise unspecified;
EIO_READDIR_DIRS_FIRST (integer)
When this flag is specified, the names will be returned in an order where likely directories come first, in optimal stat order.
EIO_READDIR_STAT_ORDER (integer)
When this flag is specified, then the names will be returned in an order suitable for stat'ing each one. When planning to stat() all files in the given directory, the returned order will likely be fastest.
EIO_READDIR_FOUND_UNKNOWN (integer)

Node types:

EIO_DT_UNKNOWN (integer)
Unknown node type(very common). Further stat() needed.
EIO_DT_FIFO (integer)
FIFO node type
EIO_DT_CHR (integer)
Node type
EIO_DT_MPC (integer)
Multiplexed char device (v7+coherent) node type
EIO_DT_DIR (integer)
Directory node type
EIO_DT_NAM (integer)
Xenix special named file node type
EIO_DT_BLK (integer)
Node type
EIO_DT_MPB (integer)
Multiplexed block device (v7+coherent)
EIO_DT_REG (integer)
Node type
EIO_DT_NWK (integer)
EIO_DT_CMP (integer)
HP-UX network special node type
EIO_DT_LNK (integer)
Link node type
EIO_DT_SOCK (integer)
Socket node type
EIO_DT_DOOR (integer)
Solaris door node type
EIO_DT_WHT (integer)
Node type
EIO_DT_MAX (integer)
Highest node type value

Beispiele

Beispiel #1 eio_readdir() example

<?php
/* Is called when eio_readdir() finishes */
function my_readdir_callback($data, $result) {
    echo __FUNCTION__, " called\n";
    echo "data: "; var_dump($data);
    echo "result: "; var_dump($result);
    echo "\n";
}

eio_readdir("/var/spool/news", EIO_READDIR_STAT_ORDER | EIO_READDIR_DIRS_FIRST,
  EIO_PRI_DEFAULT, "my_readdir_callback");
eio_event_loop();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

my_readdir_callback called
data: NULL
result: array(2) {
 ["names"]=>
  array(7) {
   [0]=>
    string(7) "archive"
    [1]=>
    string(8) "articles"
    [2]=>
    string(8) "incoming"
    [3]=>
    string(7) "innfeed"
    [4]=>
    string(8) "outgoing"
    [5]=>
    string(8) "overview"
    [6]=>
    string(3) "tmp"
  }
 ["dents"]=>
  array(7) {
   [0]=>
    array(3)
    {
     ["name"]=>
      string(7)
      "archive"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393265)
    }
   [1]=>
    array(3)
    {
     ["name"]=>
      string(8)
      "articles"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393266)
    }
   [2]=>
    array(3)
    {
     ["name"]=>
      string(8)
      "incoming"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393267)
    }
   [3]=>
    array(3)
    {
     ["name"]=>
      string(7)
      "innfeed"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393269)
    }
   [4]=>
    array(3)
    {
     ["name"]=>
      string(8)
      "outgoing"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393270)
    }
   [5]=>
    array(3)
    {
     ["name"]=>
      string(8)
      "overview"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393271)
    }
   [6]=>
    array(3)
    {
     ["name"]=>
      string(3)
      "tmp"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393272)
    }
  }
}
eio_readahead
eio_readlink
Eio Funktionen


Read value of a symbolic link.

eio_readdir
eio_realpath
Eio Funktionen
PHP Manual

eio_readlink

(PECL eio >= 0.0.1dev)

eio_readlink — Read value of a symbolic link.

Beschreibung

resource eio_readlink ( string $path , int $pri , callable $callback [, string $data = NULL ] )

Parameter-Liste

path

Source symbolic link path

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

eio_readlink() returns request resource on success or FALSE on error.

Beispiele

Beispiel #1 eio_readlink() example

<?php
$filename = dirname(__FILE__)."/symlink.dat";
touch($filename);
$link = dirname(__FILE__)."/symlink.link";
$hardlink = dirname(__FILE__)."/hardlink.link";

function my_hardlink_cb($data, $result) {
    global $link, $filename;
    var_dump(file_exists($data) && !is_link($data));
    @unlink($data);

    eio_symlink($filename, $link, EIO_PRI_DEFAULT, "my_symlink_cb", $link);
}

function my_symlink_cb($data, $result) {
    global $link, $filename;
    var_dump(file_exists($data) && is_link($data));

    if (!eio_readlink($data, EIO_PRI_DEFAULT, "my_readlink_cb", NULL)) {
        @unlink($link);
        @unlink($filename);
    }
}

function my_readlink_cb($data, $result) {
    global $filename, $link;
    var_dump($result);

    @unlink($link);
    @unlink($filename);
}

eio_link($filename, $hardlink, EIO_PRI_DEFAULT, "my_hardlink_cb", $hardlink);
eio_event_loop();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(true)
bool(true)
string(16) "/tmp/symlink.dat"

Siehe auch

  • eio_symlink
eio_readdir
eio_realpath
Eio Funktionen


Get the canonicalized absolute pathname.

eio_readlink
eio_rename
Eio Funktionen
PHP Manual

eio_realpath

(PECL eio >= 0.0.1dev)

eio_realpath — Get the canonicalized absolute pathname.

Beschreibung

resource eio_realpath ( string $path , int $pri , callable $callback [, string $data = NULL ] )

eio_realpath() returns the canonicalized absolute pathname in result argument of callback function.

Parameter-Liste

path

Short pathname

pri

callback

data

Rückgabewerte

Beispiele

Beispiel #1 eio_realpath() example

<?php
var_dump(getcwd());

function my_realpath_allback($data, $result) {
    var_dump($result);
}

eio_realpath("../", EIO_PRI_DEFAULT, "my_realpath_allback");
eio_event_loop();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(12) "/home/ruslan"
string(5) "/home"
eio_readlink
eio_rename
Eio Funktionen


Change the name or location of a file.

eio_realpath
eio_rmdir
Eio Funktionen
PHP Manual

eio_rename

(PECL eio >= 0.0.1dev)

eio_rename — Change the name or location of a file.

Beschreibung

resource eio_rename ( string $path , string $new_path [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_rename() renames or moves a file to new location.

Parameter-Liste

path

Source path

new_path

Target path

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

eio_rename() returns request resource on success or FALSE on error.

Beispiele

Beispiel #1 eio_rename() example

<?php
$filename = dirname(__FILE__)."/eio-temp-file.dat";
touch($filename);
$new_filename = dirname(__FILE__)."/eio-temp-file-new.dat";

function my_rename_cb($data, $result) {
    global $filename, $new_filename;

    if ($result == 0 && !file_exists($filename) && file_exists($new_filename)) {
        @unlink($new_filename);
        echo "eio_rename_ok";
    } else {
        @unlink($filename);
    }
}

eio_rename($filename, $new_filename, EIO_PRI_DEFAULT, "my_rename_cb", $filename);
eio_event_loop();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

eio_rename_ok
eio_realpath
eio_rmdir
Eio Funktionen


Remove a directory

eio_rename
eio_seek
Eio Funktionen
PHP Manual

eio_rmdir

(PECL eio >= 0.0.1dev)

eio_rmdir — Remove a directory

Beschreibung

resource eio_rmdir ( string $path [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_rmdir() removes a directory.

Parameter-Liste

path

Directory path

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

eio_rmdir() returns request resource on success or FALSE on error.

Beispiele

Beispiel #1 eio_rmdir() example

<?php
$temp_dirname = "eio-temp-dir";
mkdir($temp_dirname);

function my_rmdir_callback($data, $result) {
    if ($result == 0 && !file_exists($data)) {
        echo "eio_rmdir_ok";
    } else if (file_exists($data)) {
        rmdir($data);
    }
}

eio_rmdir($temp_dirname, EIO_PRI_DEFAULT, "my_rmdir_callback", $temp_dirname);
eio_event_loop();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

eio_rmdir_ok

Siehe auch

  • eio_mkdir
eio_rename
eio_seek
Eio Funktionen


Repositions the offset of the open file associated with the fd argument to the argument offset according to the directive whence

eio_rmdir
eio_sendfile
Eio Funktionen
PHP Manual

eio_seek

(PECL eio >= 0.5.0b)

eio_seek — Repositions the offset of the open file associated with the fd argument to the argument offset according to the directive whence

Beschreibung

resource eio_seek ( mixed $fd , int $offset , int $whence [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_seek() repositions the offset of the open file associated with stream, Socket resource, or file descriptor specified by fd to the argument offset according to the directive whence as follows:

  • EIO_SEEK_SET - Set position equal to offset bytes.
  • EIO_SEEK_CUR - Set position to current location plus offset.
  • EIO_SEEK_END - Set position to end-of-file plus offset.

Parameter-Liste

fd

Stream, Socket resource, or numeric file descriptor

offset

Starting point from which data is to be read.

length

Number of bytes to be read.

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

eio_seek() returns request resource on success or FALSE on error.

eio_rmdir
eio_sendfile
Eio Funktionen


Transfer data between file descriptors

eio_seek
eio_set_max_idle
Eio Funktionen
PHP Manual

eio_sendfile

(PECL eio >= 0.0.1dev)

eio_sendfile — Transfer data between file descriptors

Beschreibung

resource eio_sendfile ( mixed $out_fd , mixed $in_fd , int $offset , int $length [, int $pri [, callable $callback [, string $data ]]] )

eio_sendfile() copies data between one file descriptor and another. See SENDFILE(2) man page for details.

Parameter-Liste

out_fd

Output stream, Socket resource, or file descriptor. Should be opened for writing.

in_fd

Input stream, Socket resource, or file descriptor. Should be opened for reading.

offset

Offset within the source file.

length

Number of bytes to copy.

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

eio_sendfile() returns request resource on success or FALSE on error.

eio_seek
eio_set_max_idle
Eio Funktionen


Set maximum number of idle threads.

eio_sendfile
eio_set_max_parallel
Eio Funktionen
PHP Manual

eio_set_max_idle

(PECL eio >= 0.0.1dev)

eio_set_max_idle — Set maximum number of idle threads.

Beschreibung

void eio_set_max_idle ( int $nthreads )

Parameter-Liste

nthreads

Number of idle threads.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • eio_set_min_parallel
  • eio_set_max_parallel
eio_sendfile
eio_set_max_parallel
Eio Funktionen


Set maximum parallel threads

eio_set_max_idle
eio_set_max_poll_reqs
Eio Funktionen
PHP Manual

eio_set_max_parallel

(PECL eio >= 0.0.1dev)

eio_set_max_parallel — Set maximum parallel threads

Beschreibung

void eio_set_max_parallel ( int $nthreads )

Parameter-Liste

nthreads

Number of parallel threads

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • eio_set_min_parallel
eio_set_max_idle
eio_set_max_poll_reqs
Eio Funktionen


Set maximum number of requests processed in a poll.

eio_set_max_parallel
eio_set_max_poll_time
Eio Funktionen
PHP Manual

eio_set_max_poll_reqs

(PECL eio >= 0.0.1dev)

eio_set_max_poll_reqs — Set maximum number of requests processed in a poll.

Beschreibung

void eio_set_max_poll_reqs ( int $nreqs )

Parameter-Liste

nreqs

Number of requests

Rückgabewerte

Es wird kein Wert zurückgegeben.

eio_set_max_parallel
eio_set_max_poll_time
Eio Funktionen


Set maximum poll time

eio_set_max_poll_reqs
eio_set_min_parallel
Eio Funktionen
PHP Manual

eio_set_max_poll_time

(PECL eio >= 0.0.1dev)

eio_set_max_poll_time — Set maximum poll time

Beschreibung

void eio_set_max_poll_time ( float $nseconds )

Polling stops, if poll took longer than nseconds seconds.

Parameter-Liste

nseconds

Number of seconds

Rückgabewerte

Es wird kein Wert zurückgegeben.

eio_set_max_poll_reqs
eio_set_min_parallel
Eio Funktionen


Set minimum parallel thread number

eio_set_max_poll_time
eio_stat
Eio Funktionen
PHP Manual

eio_set_min_parallel

(PECL eio >= 0.0.1dev)

eio_set_min_parallel — Set minimum parallel thread number

Beschreibung

void eio_set_min_parallel ( string $nthreads )

Parameter-Liste

nthreads

Number of parallel threads.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • eio_set_max_parallel
eio_set_max_poll_time
eio_stat
Eio Funktionen


Get file status

eio_set_min_parallel
eio_statvfs
Eio Funktionen
PHP Manual

eio_stat

(PECL eio >= 0.0.1dev)

eio_stat — Get file status

Beschreibung

resource eio_stat ( string $path , int $pri , callable $callback [, mixed $data = NULL ] )

eio_stat() returns file status information in result argument of callback

Parameter-Liste

path

The file path

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

eio_stat() returns request resource on success or FALSE on error. On success assigns result argument of callback to an array.

Beispiele

Beispiel #1 eio_stat() example

<?php
$tmp_filename = "eio-file.tmp";
touch($tmp_filename);

function my_res_cb($data, $result) {
    var_dump($data);
    var_dump($result);
}

function my_open_cb($data, $result) {
    eio_close($result);
    eio_event_loop();

    @unlink($data);
}

eio_stat($tmp_filename, EIO_PRI_DEFAULT, "my_res_cb", "eio_stat");
eio_open($tmp_filename, EIO_O_RDONLY, NULL,
 EIO_PRI_DEFAULT, "my_open_cb", $tmp_filename);
eio_event_loop();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(8) "eio_stat"
array(12) {
  ["st_dev"]=>
  int(2050)
  ["st_ino"]=>
  int(2489173)
  ["st_mode"]=>
  int(33188)
  ["st_nlink"]=>
  int(1)
  ["st_uid"]=>
  int(1000)
  ["st_gid"]=>
  int(100)
  ["st_rdev"]=>
  int(0)
  ["st_blksize"]=>
  int(4096)
  ["st_blocks"]=>
  int(0)
  ["st_atime"]=>
  int(1318250380)
  ["st_mtime"]=>
  int(1318250380)
  ["st_ctime"]=>
  int(1318250380)
}

Siehe auch

  • eio_lstat
  • eio_fstat
eio_set_min_parallel
eio_statvfs
Eio Funktionen


Get file system statistics

eio_stat
eio_symlink
Eio Funktionen
PHP Manual

eio_statvfs

(PECL eio >= 0.0.1dev)

eio_statvfs — Get file system statistics

Beschreibung

resource eio_statvfs ( string $path , int $pri , callable $callback [, mixed $data ] )

eio_statvfs() returns file system statistics information in result argument of callback

Parameter-Liste

path

Pathname of any file within the mounted file system

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

eio_statvfs() returns request resource on success or FALSE on error. On success assigns result argument of callback to an array.

Beispiele

Beispiel #1 eio_statvfs() example

<?php
$tmp_filename = '/tmp/eio-file.tmp';
touch($tmp_filename);

function my_statvfs_callback($data, $result) {
    var_dump($data);
    var_dump($result);

 @unlink($data);
}

eio_statvfs($tmp_filename, EIO_PRI_DEFAULT, "my_statvfs_callback", $tmp_filename);
eio_event_loop();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(17) "/tmp/eio-file.tmp"
array(11) {
  ["f_bsize"]=>
  int(4096)
  ["f_frsize"]=>
  int(4096)
  ["f_blocks"]=>
  int(262144)
  ["f_bfree"]=>
  int(262111)
  ["f_bavail"]=>
  int(262111)
  ["f_files"]=>
  int(1540815)
  ["f_ffree"]=>
  int(1540743)
  ["f_favail"]=>
  int(1540743)
  ["f_fsid"]=>
  int(0)
  ["f_flag"]=>
  int(4102)
  ["f_namemax"]=>
  int(255)
}
eio_stat
eio_symlink
Eio Funktionen


Create a symbolic link

eio_statvfs
eio_sync_file_range
Eio Funktionen
PHP Manual

eio_symlink

(PECL eio >= 0.0.1dev)

eio_symlink — Create a symbolic link

Beschreibung

resource eio_symlink ( string $path , string $new_path [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_symlink() creates a symbolic link new_path to path.

Parameter-Liste

path

Source path

new_path

Target path

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

eio_symlink() returns request resource on success or FALSE on error.

Beispiele

Beispiel #1 eio_symlink() example

<?php
$filename = dirname(__FILE__)."/symlink.dat";
touch($filename);
$link = dirname(__FILE__)."/symlink.link";

function my_symlink_cb($data, $result) {
    global $link, $filename;
    var_dump(file_exists($data) && is_link($data));

    if (!eio_readlink($data, EIO_PRI_DEFAULT, "my_readlink_cb", NULL)) {
        @unlink($link);
        @unlink($filename);
    }
}

function my_readlink_cb($data, $result) {
    global $filename, $link;
    var_dump($result);

    @unlink($link);
    @unlink($filename);
}

eio_symlink($filename, $link, EIO_PRI_DEFAULT, "my_symlink_cb", $link);
eio_event_loop();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(true)
string(16) "/tmp/symlink.dat"

Siehe auch

  • eio_link
eio_statvfs
eio_sync_file_range
Eio Funktionen


Sync a file segment with disk

eio_symlink
eio_sync
Eio Funktionen
PHP Manual

eio_sync_file_range

(PECL eio >= 0.0.1dev)

eio_sync_file_range — Sync a file segment with disk

Beschreibung

resource eio_sync_file_range ( mixed $fd , int $offset , int $nbytes , int $flags [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_sync_file_range() permits fine control when synchronizing the open file referred to by the file descriptor fd with disk.

Parameter-Liste

fd

File descriptor

offset

The starting byte of the file range to be synchronized

nbytes

Specifies the length of the range to be synchronized, in bytes. If nbytes is zero, then all bytes from offset through to the end of file are synchronized.

flags

A bit-mask. Can include any of the following values: EIO_SYNC_FILE_RANGE_WAIT_BEFORE, EIO_SYNC_FILE_RANGE_WRITE, EIO_SYNC_FILE_RANGE_WAIT_AFTER. These flags have the same meaning as their SYNC_FILE_RANGE_* counterparts(see SYNC_FILE_RANGE(2) man page).

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

eio_sync_file_range() returns request resource on success or FALSE on error.

eio_symlink
eio_sync
Eio Funktionen


Commit buffer cache to disk

eio_sync_file_range
eio_syncfs
Eio Funktionen
PHP Manual

eio_sync

(PECL eio >= 0.0.1dev)

eio_sync — Commit buffer cache to disk

Beschreibung

resource eio_sync ([ int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

eio_sync() returns request resource on success or FALSE on error.

eio_sync_file_range
eio_syncfs
Eio Funktionen


Calls Linux' syncfs syscall, if available

eio_sync
eio_truncate
Eio Funktionen
PHP Manual

eio_syncfs

(PECL eio >= 0.0.1dev)

eio_syncfs — Calls Linux' syncfs syscall, if available

Beschreibung

resource eio_syncfs ( mixed $fd [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

Parameter-Liste

fd

File descriptor

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

eio_syncfs() returns request resource on success or FALSE on error.

eio_sync
eio_truncate
Eio Funktionen


Truncate a file

eio_syncfs
eio_unlink
Eio Funktionen
PHP Manual

eio_truncate

(PECL eio >= 0.0.1dev)

eio_truncate — Truncate a file

Beschreibung

resource eio_truncate ( string $path [, int $offset = 0 [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]]] )

eio_truncate() causes the regular file named by path to be truncated to a size of precisely length bytes

Parameter-Liste

path

File path

offset

Offset from beginning of the file.

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

eio_busy() returns request resource on success or FALSE on error.

Siehe auch

  • eio_ftruncate
eio_syncfs
eio_unlink
Eio Funktionen


Delete a name and possibly the file it refers to

eio_truncate
eio_utime
Eio Funktionen
PHP Manual

eio_unlink

(PECL eio >= 0.0.1dev)

eio_unlink — Delete a name and possibly the file it refers to

Beschreibung

resource eio_unlink ( string $path [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

eio_unlink() deletes a name from the file system.

Parameter-Liste

path

Path to file

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

eio_unlink() returns request resource on success or FALSE on error.

eio_truncate
eio_utime
Eio Funktionen


Change file last access and modification times.

eio_unlink
eio_write
Eio Funktionen
PHP Manual

eio_utime

(PECL eio >= 0.0.1dev)

eio_utime — Change file last access and modification times.

Beschreibung

resource eio_utime ( string $path , float $atime , float $mtime [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]] )

Parameter-Liste

path

Path to the file.

atime

Access time

mtime

Modification time

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

eio_utime() returns request resource on success or FALSE on error.

Siehe auch

  • eio_futime
eio_unlink
eio_write
Eio Funktionen


Write to file

eio_utime
Ev
Eio Funktionen
PHP Manual

eio_write

(PECL eio >= 0.0.1dev)

eio_write — Write to file

Beschreibung

resource eio_write ( mixed $fd , string $str [, int $length = 0 [, int $offset = 0 [, int $pri = EIO_PRI_DEFAULT [, callable $callback = NULL [, mixed $data = NULL ]]]]] )

eio_write() writes up to length bytes from str at offset offset from the beginning of the file.

Parameter-Liste

fd

Stream, Socket resource, or numeric file descriptor, e.g. returned by eio_open()

str

Source string

length

Maximum number of bytes to write.

offset

Offset from the beginning of file.

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL. If NULL passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Rückgabewerte

eio_write() returns request resource on success or FALSE on error.

Siehe auch

  • eio_open
eio_utime
Ev
Eio Funktionen


Ev

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
  • Watchers
  • Watcher callbacks
  • Periodic watcher operation modes
  • Ev — The Ev class
    • Ev::backend — Returns an integer describing the backend used by libev.
    • Ev::depth — Returns recursion depth
    • Ev::embeddableBackends — Returns the set of backends that are embeddable in other event loops.
    • Ev::feedSignal — Feed a signal event info Ev
    • Ev::feedSignalEvent — Feed signal event into the default loop
    • Ev::iteration — Return the number of times the default event loop has polled for new events.
    • Ev::now — Returns the time when the last iteration of the default event loop has started.
    • Ev::nowUpdate — Establishes the current time by querying the kernel, updating the time returned by Ev::now in the progress.
    • Ev::recommendedBackends — Returns a bit mask of recommended backends for current platform.
    • Ev::resume — Resume previously suspended default event loop
    • Ev::run — Begin checking for events and calling callbacks for the default loop
    • Ev::sleep — Block the process for the given number of seconds.
    • Ev::stop — Stops the default event loop
    • Ev::supportedBackends — Returns the set of backends supported by current libev configuration.
    • Ev::suspend — Suspend the default event loop
    • Ev::time — Returns the current time in fractional seconds since the epoch.
    • Ev::verify — Performs internal consistency checks(for debugging)
  • EvCheck — The EvCheck class
    • EvCheck::__construct — Constructs the EvCheck watcher object
    • EvCheck::createStopped — Create instance of a stopped EvCheck watcher
  • EvChild — The EvChild class
    • EvChild::__construct — Constructs the EvChild watcher object
    • EvChild::createStopped — Create instance of a stopped EvCheck watcher
    • EvChild::set — Configures the watcher
  • EvEmbed — The EvEmbed class
    • EvEmbed::__construct — Constructs the EvEmbed object
    • EvEmbed::createStopped — Create stopped EvEmbed watcher object
    • EvEmbed::set — Configures the watcher
    • EvEmbed::sweep — Make a single, non-blocking sweep over the embedded loop.
  • EvFork — The EvFork class
    • EvFork::__construct — Constructs the EvFork watcher object
    • EvFork::createStopped — Creates a stopped instance of EvFork watcher class
  • EvIdle — The EvIdle class
    • EvIdle::__construct — Constructs the EvIdle watcher object
    • EvIdle::createStopped — Creates instance of a stopped EvIdle watcher object
  • EvIo — The EvIo class
    • EvIo::__construct — Constructs EvIo watcher object
    • EvIo::createStopped — Create stopped EvIo watcher object
    • EvIo::set — Configures the watcher
  • EvLoop — The EvLoop class
    • EvLoop::backend — Returns an integer describing the backend used by libev.
    • EvLoop::check — Creates EvCheck object associated with the current event loop instance
    • EvLoop::child — Creates EvChild object associated with the current event loop
    • EvLoop::__construct — Constructs the event loop object
    • EvLoop::defaultLoop — Returns or creates the default event loop.
    • EvLoop::embed — Creates an instance of EvEmbed watcher associated with the current EvLoop object.
    • EvLoop::fork — Creates EvFork watcher object associated with the current event loop instance
    • EvLoop::idle — Creates EvIdle watcher object associated with the current event loop instance
    • EvLoop::invokePending — Invoke all pending watchers while resetting their pending state
    • EvLoop::io — Create EvIo watcher object associated with the current event loop instance
    • EvLoop::loopFork — Must be called after a fork
    • EvLoop::now — Returns the current "event loop time"
    • EvLoop::nowUpdate — Establishes the current time by querying the kernel, updating the time returned by EvLoop::now in the progress.
    • EvLoop::periodic — Creates EvPeriodic watcher object associated with the current event loop instance
    • EvLoop::prepare — Creates EvPrepare watcher object associated with the current event loop instance
    • EvLoop::resume — Resume previously suspended default event loop
    • EvLoop::run — Begin checking for events and calling callbacks for the loop
    • EvLoop::signal — Creates EvSignal watcher object associated with the current event loop instance
    • EvLoop::stat — Creates EvStat watcher object associated with the current event loop instance
    • EvLoop::stop — Stops the event loop
    • EvLoop::suspend — Suspend the loop
    • EvLoop::timer — Creates EvTimer watcher object associated with the current event loop instance
    • EvLoop::verify — Performs internal consistency checks(for debugging)
  • EvPeriodic — The EvPeriodic class
    • EvPeriodic::again — Simply stops and restarts the periodic watcher again.
    • EvPeriodic::at — Returns the absolute time that this watcher is supposed to trigger next
    • EvPeriodic::__construct — Constructs EvPeriodic watcher object
    • EvPeriodic::createStopped — Create a stopped EvPeriodic watcher
    • EvPeriodic::set — Configures the watcher
  • EvPrepare — The EvPrepare class
    • EvPrepare::__construct — Constructs EvPrepare watcher object
    • EvPrepare::createStopped — Creates a stopped instance of EvPrepare watcher
  • EvSignal — The EvSignal class
    • EvSignal::__construct — Constructs EvPeriodic watcher object
    • EvSignal::createStopped — Create stopped EvSignal watcher object
    • EvSignal::set — Configures the watcher
  • EvStat — The EvStat class
    • EvStat::attr — Returns the values most recently detected by Ev
    • EvStat::__construct — Constructs EvStat watcher object
    • EvStat::createStopped — Create a stopped EvStat watcher object
    • EvStat::prev — Returns the previous set of values returned by EvStat::attr
    • EvStat::set — Configures the watcher
    • EvStat::stat — Initiates the stat call
  • EvTimer — The EvTimer class
    • EvTimer::again — Restarts the timer watcher
    • EvTimer::__construct — Constructs an EvTimer watcher object
    • EvTimer::createStopped — Creates EvTimer stopped watcher object
    • EvTimer::set — Configures the watcher
  • EvWatcher — The EvWatcher class
    • EvWatcher::clear — Clear watcher pending status
    • EvWatcher::__construct — Abstract constructor of a watcher object
    • EvWatcher::feed — Feeds the given revents set into the event loop
    • EvWatcher::getLoop — Returns the loop responsible for the watcher
    • EvWatcher::invoke — Invokes the watcher callback with the given received events bit mask
    • EvWatcher::keepalive — Configures whether to keep the loop from returning
    • EvWatcher::setCallback — Sets new callback for the watcher
    • EvWatcher::start — Starts the watcher
    • EvWatcher::stop — Stops the watcher
eio_write
Einführung
Erweiterungen zur Prozesskontrolle


Einführung

This extension provides inteface to » libev library - a high performance full-featured event loop written in C.

Hinweis: Diese Erweiterung steht auf Windows-Betriebssystemen nicht zur Verfügung.

Libev is an event loop: one registers interest in certain events (such as a file descriptor being readable or a timeout occurring), and it will manage these event sources and provide the program with events.

To do this, it must take more or less complete control over the process (or thread) by executing the event loop handler, and will then communicate events via a callback mechanism.

You register interest in certain events by registering so-called event watchers, and then hand it over to libev by starting the watcher.

For details refer to the » documentation of libev

Ev
Installation/Konfiguration
Ev


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Ev


Anforderungen

libev library is embedded into this extension. You don't need to install it separately.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/ev .

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Most constants are moved to Ev singleton class.

Ressource-Typen
Beispiele
Ev


Beispiele

Beispiel #1 Simple timers

<?php
// Create and start timer firing after 2 seconds
$w1 = new EvTimer(2, 0, function () {
    echo "2 seconds elapsed\n";
});

// Create and launch timer firing after 2 seconds repeating each second
// until we manually stop it
$w2 = new EvTimer(2, 1, function ($w) {
    echo "is called every second, is launched after 2 seconds\n";
    echo "iteration = ", Ev::iteration(), PHP_EOL;

    // Stop the watcher after 5 iterations
    Ev::iteration() == 5 and $w->stop();
    // Stop the watcher if further calls cause more than 10 iterations
    Ev::iteration() >= 10 and $w->stop();
});

// Create stopped timer. It will be inactive until we start it ourselves
$w_stopped = EvTimer::createStopped(10, 5, function($w) {
    echo "Callback of a timer created as stopped\n";

    // Stop the watcher after 2 iterations
    Ev::iteration() >= 2 and $w->stop();
});

// Loop until Ev::stop() is called or all of watchers stop
Ev::run();

// Start and look if it works
$w_stopped->start();
echo "Run single iteration\n";
Ev::run(Ev::RUN_ONCE);

echo "Restart the second watcher and try to handle the same events, but don't block\n";
$w2->again();
Ev::run(Ev::RUN_NOWAIT);

$w = new EvTimer(10, 0, function() {});
echo "Running a blocking loop\n";
Ev::run();
echo "END\n";
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

2 seconds elapsed
is called every second, is launched after 2 seconds
iteration = 1
is called every second, is launched after 2 seconds
iteration = 2
is called every second, is launched after 2 seconds
iteration = 3
is called every second, is launched after 2 seconds
iteration = 4
is called every second, is launched after 2 seconds
iteration = 5
Run single iteration
Callback of a timer created as stopped
Restart the second watcher and try to handle the same events, but don't block
Running a blocking loop
is called every second, is launched after 2 seconds
iteration = 8
is called every second, is launched after 2 seconds
iteration = 9
is called every second, is launched after 2 seconds
iteration = 10
END

Beispiel #2 Periodic timer. Tick each 10.5 seconds

<?php
$w = new EvPeriodic(0., 10.5, NULL, function ($w, $revents) {
    echo time(), PHP_EOL;
});

Ev::run();
?>

Beispiel #3 Periodic timer. Use reschedule callback

<?php
// Tick each 10.5 seconds

function reschedule_cb ($watcher, $now) {
    return $now + (10.5. - fmod($now, 10.5));
}

$w = new EvPeriodic(0., 0., "reschedule_cb", function ($w, $revents) {
    echo time(), PHP_EOL;
});

Ev::run();
?>

Beispiel #4 Periodic timer. Tick every 10.5 seconds starting at now

<?php
// Tick every 10.5 seconds starting at now
$w = new EvPeriodic(fmod(Ev::now(), 10.5), 10.5, NULL, function ($w, $revents) {
    echo time(), PHP_EOL;
});

Ev::run();
?>

Beispiel #5 Wait until STDIN is readable

<?php
// Wait until STDIN is readable
$w = new EvIo(STDIN, Ev::READ, function ($watcher, $revents) {
    echo "STDIN is readable\n";
});

Ev::run(Ev::RUN_ONCE);
?>

Beispiel #6 Use some async I/O to access a socket

<?php
/* Use some async I/O to access a socket */

// `sockets' extension still logs warnings
// for EINPROGRESS, EAGAIN/EWOULDBLOCK etc.
error_reporting(E_ERROR);

$e_nonblocking = array (/*EAGAIN or EWOULDBLOCK*/11, /*EINPROGRESS*/115);

// Get the port for the WWW service
$service_port = getservbyname('www', 'tcp');

// Get the IP address for the target host
$address = gethostbyname('google.co.uk');

// Create a TCP/IP socket
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === FALSE) {
    echo "socket_create() failed: reason: "
        .socket_strerror(socket_last_error()) . "\n";
}

// Set O_NONBLOCK flag
socket_set_nonblock($socket);

// Abort on timeout
$timeout_watcher = new EvTimer(10.0, 0., function () use ($socket) {
    socket_close($socket);
    Ev::stop(Ev::BREAK_ALL);
});

// Make HEAD request when the socket is writable
$write_watcher = new EvIo($socket, Ev::WRITE, function ($w)
    use ($socket, $timeout_watcher, $e_nonblocking)
{
    // Stop timeout watcher
    $timeout_watcher->stop();
    // Stop write watcher
    $w->stop();

    $in = "HEAD / HTTP/1.1\r\n";
    $in .= "Host: google.co.uk\r\n";
    $in .= "Connection: Close\r\n\r\n";

    if (!socket_write($socket, $in, strlen($in))) {
        trigger_error("Failed writing $in to socket", E_USER_ERROR);
    }

    $read_watcher = new EvIo($socket, Ev::READ, function ($w, $re)
        use ($socket, $e_nonblocking)
    {
        // Socket is readable. recv() 20 bytes using non-blocking mode
        $ret = socket_recv($socket, $out, 20, MSG_DONTWAIT);

        if ($ret) {
            echo $out;
        } elseif ($ret === 0) {
            // All read
            $w->stop();
            socket_close($socket);
            return;
        }

        // Caught EINPROGRESS, EAGAIN, or EWOULDBLOCK
        if (in_array(socket_last_error(), $e_nonblocking)) {
            return;
        }

        $w->stop();
        socket_close($socket);
    });

    Ev::run();
});

$result = socket_connect($socket, $address, $service_port);

Ev::run();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

HTTP/1.1 301 Moved Permanently
Location: http://www.google.co.uk/
Content-Type: text/html; CHARSET=Windows-1252
Date: Sun, 23 Dec 2012 16:08:27 GMT
Expires: Tue, 22 Jan 2013 16:08:27 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 221
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Connection: close

Beispiel #7 Embedding one loop into another

<?php
/*
* Try to get an embeddable event loop and embed it into the default event loop.
* If it is impossible, use the default
* loop. The default loop is stored in $loop_hi, while the embeddable loop is
* stored in $loop_lo(which is $loop_hi in the case no embeddable loop can be
* used).
*
* Sample translated to PHP
* http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Examples_CONTENT-9
*/
$loop_hi = EvLoop::defaultLoop();
$loop_lo = NULL;
$embed   = NULL;

/*
* See if there is a chance of getting one that works
* (flags' value of 0 means autodetection)
*/
$loop_lo = Ev::embeddableBackends() & Ev::recommendedBackends()
    ? new EvLoop(Ev::embeddableBackends() & Ev::recommendedBackends())
    : 0;

if ($loop_lo) {
    $embed = new EvEmbed($loop_lo, function () {});
} else {
    $loop_lo = $loop_hi;
}
?>

Beispiel #8 Embedding loop created with kqueue backend into the default loop

<?php
/*
* Check if kqueue is available but not recommended and create a kqueue backend
* for use with sockets (which usually work with any kqueue implementation).
* Store the kqueue/socket-only event loop in loop_socket. (One might optionally
* use EVFLAG_NOENV, too)
*
* Example borrowed from
* http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Examples_CONTENT-9
*/
$loop        = EvLoop::defaultLoop();
$socket_loop = NULL;
$embed       = NULL;

if (Ev::supportedBackends() & ~Ev::recommendedBackends() & Ev::BACKEND_KQUEUE) {
    if (($socket_loop = new EvLoop(Ev::BACKEND_KQUEUE))) {
        $embed = new EvEmbed($loop);
    }
}

if (!$socket_loop) {
    $socket_loop = $loop;
}

// Now use $socket_loop for all sockets, and $loop for anything else
?>

Beispiel #9 Handle SIGTERM signal

<?php
$w = new EvSignal(SIGTERM, function ($watcher) {
    echo "SIGTERM received\n";
    $watcher->stop();
});

Ev::run();
?>

Beispiel #10 Monitor changes of /var/log/messages

<?php
// Use 10 second update interval.
$w = new EvStat("/var/log/messages", 8, function ($w) {
    echo "/var/log/messages changed\n";

    $attr = $w->attr();

    if ($attr['nlink']) {
        printf("Current size: %ld\n", $attr['size']);
        printf("Current atime: %ld\n", $attr['atime']);
        printf("Current mtime: %ld\n", $attr['mtime']);
    } else {
        fprintf(STDERR, "`messages` file is not there!");
        $w->stop();
    }
});

Ev::run();
?>

Beispiel #11 Monotor changes of /var/log/messages. Avoid missing updates by means of one second delay

<?php
$timer = EvTimer::createStopped(0., 1.02, function ($w) {
    $w->stop();

    $stat = $w->data;

    // 1 second after the most recent change of the file
    printf("Current size: %ld\n", $stat->attr()['size']);
});

$stat = new EvStat("/var/log/messages", 0., function () use ($timer) {
    // Reset timer watcher
    $timer->again();
});

$timer->data = $stat;

Ev::run();
?>

Beispiel #12 Process status changes

<?php
$pid = pcntl_fork();

if ($pid == -1) {
    fprintf(STDERR, "pcntl_fork failed\n");
} elseif ($pid) {
    $w = new EvChild($pid, FALSE, function ($w, $revents) {
        $w->stop();

        printf("Process %d exited with status %d\n", $w->rpid, $w->rstatus);
    });

    Ev::run();

    // Protect against Zombies
    pcntl_wait($status);
} else {
    //Forked child
    exit(2);
}
?>
Vordefinierte Konstanten
Watchers
Ev


Watchers

A watcher is an object that gets created to record interest in some event. For instance, the following code waits for STDIN to become readable:

<?php
// Wait until STDIN is readable
$w = new EvIo(STDIN, Ev::READ, function ($watcher, $revents) {
 echo "STDIN is readable\n";
});
Ev::run(Ev::RUN_ONCE);
?>

All the watcher constructors automatically start the watchers. createStopped methods create stopped watchers(e.g. EvIo::createStopped() )

Note that a watcher will automatically be stopped when the watcher object is destroyed. Therefore, the watcher objects returned by the constructors or factory methods should be kept.

Note also that all methods changing some watcher property( set , priority etc.) automatically stop and start it again if it is active, which means pending events get lost.

See also: Watcher callbacks .

Beispiele
Watcher callbacks
Ev


Watcher callbacks

All watchers can be active(waiting for events) or inactive(paused). Only active watchers will have their callbacks invoked. All callbacks will be called with at least two arguments: watcher - the watcher, and revents a bitmask of received events.

Watcher callbacks are passed to the watcher contructors(the classes derived from EvWatcher - EvCheck::__construct() , EvChild::__construct() etc.). A watcher callback should match the following prototype:

void callback ([ object $watcher = NULL [, int $revents = NULL ]] )

watcher

The watcher instance(of a class extending EvWatcher ).

revents

Watcher received events .

Each watcher type has its associated bit in revents , so one can use the same callback for multiple watchers. The event mask is named after the type, i.e. EvChild (or EvLoop::child() ) sets EV::CHILD , EvPrepare (or EvLoop::prepare() ) sets Ev::PREPARE , EvPeriodic (or EvLoop::periodic() ) sets Ev::PERIODIC and so on, with the exception of I/O events (which can set both Ev::READ and Ev::WRITE bits).

Watchers
Periodic watcher operation modes
Ev


Periodic watcher operation modes

EvPeriodic watcher works in different modes depending on the offset , interval and reschedule_cb parameters.

  1. Absolute timer . In this mode interval = 0 , reschedule_cb = NULL. This time simply fires at the wallclock time offset and doesn't repeat. It will not adjust when a time jump occurs, that is, if it is to be run at January 1st 2014 then it will run when the system time reaches or surpasses this time.

  2. Repeating interval timer . In this mode interval > 0 , reschedule_cb = NULL; the watcher will always be scheduled to timeout at the next offset + N * interval time(for some integer N ) and then repeat, regardless of any time jumps.

    This can be used to create timers that do not drift with respect to system time:

    <?php
    $hourly     = EvPeriodic(0, 3600, NULL, function () {
      echo     "once per hour\n";
    };
    ?>
    That doesn't mean there will always be 3600 seconds in between triggers, but only that the callback will be called when the system time shows a full hour( UTC ).

    EvPeriodic will try to run the callback in this mode at the next possible time where time = offset ( mod interval ), regardless of any time jumps.

  3. Manual reschedule mode . In this mode reschedule_cb is a callable .

    interval and offset are both being ignored. Instead, each time the periodic watcher gets scheduled, the reschedule callback ( reschedule_cb ) will be called with the watcher as first, and the current time as second argument.

    This callback must not stop or destroy this or any other periodic watchers, ever, and must not call any event loop functions or methods. To stop it return 1e30 and stop it afterwards. An EvPrepare watcher may be used for this task.

    It must return the next time to trigger, based on the passed time value (that is, the lowest time value larger than or equal to the second argument). It will usually be called just before the callback will be triggered, but might be called at other times, too.

    Beispiel #1 Using reschedule callback

    <?php
    // Tick each 10.5 seconds

    function reschedule_cb ($watcher, $now) {
       return     $now + (10.5. - fmod($now, 10.5));
    }

    $w = new EvPeriodic(0., 0., "reschedule_cb", function ($w, $revents) {
       echo     time(), PHP_EOL;
    });

    Ev::run();
    ?>
Watcher callbacks
Ev
Ev


The Ev class

(PECL ev >= 0.2.0)

Einführung

Ev is a static class providing access to the default loop and to some common operations.

Klassenbeschreibung

final Ev {
/* Constants */
const integer FLAG_AUTO = 0 ;
const integer FLAG_NOENV = 16777216 ;
const integer FLAG_FORKCHECK = 33554432 ;
const integer FLAG_NOINOTIFY = 1048576 ;
const integer FLAG_SIGNALFD = 2097152 ;
const integer FLAG_NOSIGMASK = 4194304 ;
const integer RUN_NOWAIT = 1 ;
const integer RUN_ONCE = 2 ;
const integer BREAK_CANCEL = 0 ;
const integer BREAK_ONE = 1 ;
const integer BREAK_ALL = 2 ;
const integer MINPRI = -2 ;
const integer MAXPRI = 2 ;
const integer READ = 1 ;
const integer WRITE = 2 ;
const integer TIMER = 256 ;
const integer PERIODIC = 512 ;
const integer SIGNAL = 1024 ;
const integer CHILD = 2048 ;
const integer STAT = 4096 ;
const integer IDLE = 8192 ;
const integer PREPARE = 16384 ;
const integer CHECK = 32768 ;
const integer EMBED = 65536 ;
const integer CUSTOM = 16777216 ;
const integer ERROR = 2147483648 ;
const integer BACKEND_SELECT = 1 ;
const integer BACKEND_POLL = 2 ;
const integer BACKEND_EPOLL = 4 ;
const integer BACKEND_KQUEUE = 8 ;
const integer BACKEND_DEVPOLL = 16 ;
const integer BACKEND_PORT = 32 ;
const integer BACKEND_ALL = 63 ;
const integer BACKEND_MASK = 65535 ;
/* Methoden */
final public static int backend ( void )
final public static int depth ( void )
final public static void embeddableBackends ( void )
final public static void feedSignal ( int $signum )
final public static void feedSignalEvent ( int $signum )
final public static int iteration ( void )
final public static double now ( void )
final public static void nowUpdate ( void )
final public static void recommendedBackends ( void )
final public static void resume ( void )
final public static void run ([ int $flags ] )
final public static void sleep ( double $seconds )
final public static void stop ([ int $how ] )
final public static void supportedBackends ( void )
final public static void suspend ( void )
final public static double time ( void )
final public static void verify ( void )
}

Vordefinierte Konstanten

Flags passed to create a loop:

Ev::FLAG_AUTO

The default flags value

Ev::FLAG_NOENV

If this flag used(or the program runs setuid or setgid), libev won't look at the environment variable LIBEV_FLAGS . Otherwise(by default), LIBEV_FLAGS will override the flags completely if it is found. Useful for performance tests and searching for bugs.

Ev::FLAG_FORKCHECK

Makes libev check for a fork in each iteration, instead of calling EvLoop::fork() manually. This works by calling getpid() on every iteration of the loop, and thus this might slow down the event loop with lots of loop iterations, but usually is not noticeable. This flag setting cannot be overridden or specified in the LIBEV_FLAGS environment variable.

Ev::FLAG_NOINOTIFY

When this flag is specified, libev won't attempt to use the inotify API for its » ev_stat watchers. The flag can be useful to conserve inotify file descriptors, as otherwise each loop using ev_stat watchers consumes one inotify handle.

Ev::FLAG_SIGNALFD

When this flag is specified, libev will attempt to use the signalfd API for its » ev_signal (and » ev_child ) watchers. This API delivers signals synchronously, which makes it both faster and might make it possible to get the queued signal data. It can also simplify signal handling with threads, as long as signals are properly blocked in threads. Signalfd will not be used by default.

Ev::FLAG_NOSIGMASK

When this flag is specified, libev will avoid to modify the signal mask. Specifically, this means having to make sure signals are unblocked before receiving them.

This behaviour is useful for custom signal handling, or handling signals only in specific threads.

Flags passed to Ev::run() , or EvLoop::run()

Ev::RUN_NOWAIT

Means that event loop will look for new events, will handle those events and any already outstanding ones, but will not wait and block the process in case there are no events and will return after one iteration of the loop. This is sometimes useful to poll and handle new events while doing lengthy calculations, to keep the program responsive.

Ev::RUN_ONCE

Means that event loop will look for new events (waiting if necessary) and will handle those and any already outstanding ones. It will block the process until at least one new event arrives (which could be an event internal to libev itself, so there is no guarantee that a user-registered callback will be called), and will return after one iteration of the loop.

Flags passed to Ev::stop() , or EvLoop::stop()

Ev::BREAK_CANCEL

Cancel the break operation.

Ev::BREAK_ONE

Makes the innermost Ev::run() (or EvLoop::run() ) call return.

Ev::BREAK_ALL

Makes all nested Ev::run() (or EvLoop::run() ) calls return.

Watcher priorities:

Ev::MINPRI

Minimum allowed watcher priority.

Ev::MAXPRI

Maximum allowed watcher priority.

Bit masks of (received) events:

Ev::READ

The file descriptor in the EvIo watcher has become readable.

Ev::WRITE

The file descriptor in the EvIo watcher has become writable.

Ev::TIMER

EvTimer watcher has been timed out.

Ev::PERIODIC

EvPeriodic watcher has been timed out.

Ev::SIGNAL

A signal specified in EvSignal::__construct() has been received.

Ev::CHILD

The pid specified in EvChild::__construct() has received a status change.

Ev::STAT

The path specified in EvStat watcher changed its attributes.

Ev::IDLE

EvIdle watcher works when there is nothing to do with other watchers.

Ev::PREPARE

All EvPrepare watchers are invoked just before Ev::run() starts. Thus, EvPrepare watchers are the last watchers invoked before the event loop sleeps or polls for new events.

Ev::CHECK

All EvCheck watchers are queued just after Ev::run() has gathered the new events, but before it queues any callbacks for any received events. Thus, EvCheck watchers will be invoked before any other watchers of the same or lower priority within an event loop iteration.

Ev::EMBED

The embedded event loop specified in the EvEmbed watcher needs attention.

Ev::CUSTOM

Not ever sent(or otherwise used) by libev itself, but can be freely used by libev users to signal watchers (e.g. via EvWatcher::feed() ).

Ev::ERROR

An unspecified error has occurred, the watcher has been stopped. This might happen because the watcher could not be properly started because libev ran out of memory, a file descriptor was found to be closed or any other problem. Libev considers these application bugs. See also » ANATOMY OF A WATCHER

Backend flags:

Ev::BACKEND_SELECT

select(2) backend

Ev::BACKEND_POLL

poll(2) backend

Ev::BACKEND_EPOLL

Linux-specific epoll(7) backend for both pre- and post-2.6.9 kernels

Ev::BACKEND_KQUEUE

kqueue backend used on most BSD systems. EvEmbed watcher could be used to embed one loop(with kqueue backend) into another. For instance, one can try to create an event loop with kqueue backend and use it for sockets only.

Ev::BACKEND_DEVPOLL

Solaris 8 backend. This is not implemented yet.

Ev::BACKEND_PORT

Solaris 10 event port mechanism with a good scaling.

Ev::BACKEND_ALL

Try all backends(even currupted ones). It's not recommended to use it explicitly. Bitwise operators should be applied here(e.g. Ev::BACKEND_ALL & ~ Ev::BACKEND_KQUEUE ) Use Ev::recommendedBackends() , or don't specify any backends at all.

Ev::BACKEND_MASK

Not a backend, but a mask to select all backend bits from flags value to mask out any backends(e.g. when modifying the LIBEV_FLAGS environment variable).

Hinweis:

For the default loop during module initialization phase Ev registers » ev_loop_fork call by means of pthread_atfork (if available).

Hinweis:

There are methods providing access to the default event loop in Ev class(e.g. Ev::iteration() , Ev::depth() etc.) For custom loops (created with EvLoop::__construct() ) these values may be accessed via corresponding properties and methods of the EvLoop class.

The instance of the default event loop itself can be fetched by means of EvLoop::defaultLoop() method.

Inhaltsverzeichnis

  • Ev::backend — Returns an integer describing the backend used by libev.
  • Ev::depth — Returns recursion depth
  • Ev::embeddableBackends — Returns the set of backends that are embeddable in other event loops.
  • Ev::feedSignal — Feed a signal event info Ev
  • Ev::feedSignalEvent — Feed signal event into the default loop
  • Ev::iteration — Return the number of times the default event loop has polled for new events.
  • Ev::now — Returns the time when the last iteration of the default event loop has started.
  • Ev::nowUpdate — Establishes the current time by querying the kernel, updating the time returned by Ev::now in the progress.
  • Ev::recommendedBackends — Returns a bit mask of recommended backends for current platform.
  • Ev::resume — Resume previously suspended default event loop
  • Ev::run — Begin checking for events and calling callbacks for the default loop
  • Ev::sleep — Block the process for the given number of seconds.
  • Ev::stop — Stops the default event loop
  • Ev::supportedBackends — Returns the set of backends supported by current libev configuration.
  • Ev::suspend — Suspend the default event loop
  • Ev::time — Returns the current time in fractional seconds since the epoch.
  • Ev::verify — Performs internal consistency checks(for debugging)
Periodic watcher operation modes
Ev::backend
Ev


Returns an integer describing the backend used by libev.

Ev
Ev::depth
Ev
PHP Manual

Ev::backend

(PECL ev >= 0.2.0)

Ev::backend — Returns an integer describing the backend used by libev.

Beschreibung

final public static int Ev::backend ( void )

Returns an integer describing the backend used by libev . See Backend flags

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an integer(bit mask) describing the backend used by libev .

Siehe auch

  • EvEmbed
  • Ev::embeddableBackends() - Returns the set of backends that are embeddable in other event loops.
  • Ev::recommendedBackends() - Returns a bit mask of recommended backends for current platform.
  • Ev::supportedBackends() - Returns the set of backends supported by current libev configuration.
  • Backend flags
Ev
Ev::depth
Ev


Returns recursion depth

Ev::backend
Ev::embeddableBackends
Ev
PHP Manual

Ev::depth

(PECL ev >= 0.2.0)

Ev::depth — Returns recursion depth

Beschreibung

final public static int Ev::depth ( void )

The number of times Ev::run() was entered minus the number of times Ev::run() was exited normally, in other words, the recursion depth. Outside Ev::run() , this number is 0 . In a callback, this number is 1 , unless Ev::run() was invoked recursively (or from another thread), in which case it is higher.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

ev_depth() returns recursion depth of the default loop.

Siehe auch

  • Ev::iteration() - Return the number of times the default event loop has polled for new events.
Ev::backend
Ev::embeddableBackends
Ev


Returns the set of backends that are embeddable in other event loops.

Ev::depth
Ev::feedSignal
Ev
PHP Manual

Ev::embeddableBackends

(PECL ev >= 0.2.0)

Ev::embeddableBackends — Returns the set of backends that are embeddable in other event loops.

Beschreibung

final public static void Ev::embeddableBackends ( void )

Returns the set of backends that are embeddable in other event loops.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a bit mask which can containing backend flags combined using bitwise OR operator.

Beispiele

Beispiel #1 Embedding loop created with kqueue backend into the default loop

<?php
/*
* Check if kqueue is available but not recommended and create a kqueue backend
* for use with sockets (which usually work with any kqueue implementation).
* Store the kqueue/socket-only event loop in loop_socket. (One might optionally
* use EVFLAG_NOENV, too)
*
* Example borrowed from
* http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Examples_CONTENT-9
*/
$loop        = EvLoop::defaultLoop();
$socket_loop = NULL;
$embed       = NULL;

if (Ev::supportedBackends() & ~Ev::recommendedBackends() & Ev::BACKEND_KQUEUE) {
 if (($socket_loop = new EvLoop(Ev::BACKEND_KQUEUE))) {
  $embed = new EvEmbed($loop);
 }
}

if (!$socket_loop) {
 $socket_loop = $loop;
}

// Now use $socket_loop for all sockets, and $loop for anything else
?>

Siehe auch

  • EvEmbed
  • Ev::recommendedBackends() - Returns a bit mask of recommended backends for current platform.
  • Ev::supportedBackends() - Returns the set of backends supported by current libev configuration.
  • Backend flags
  • Examples
Ev::depth
Ev::feedSignal
Ev


Feed a signal event info Ev

Ev::embeddableBackends
Ev::feedSignalEvent
Ev
PHP Manual

Ev::feedSignal

(PECL ev >= 0.2.0)

Ev::feedSignal — Feed a signal event info Ev

Beschreibung

final public static void Ev::feedSignal ( int $signum )

Simulates a signal receive. It is safe to call this function at any time, from any context, including signal handlers or random threads. Its main use is to customise signal handling in the process.

Unlike Ev::feedSignalEvent() , this works regardless of which loop has registered the signal.

Parameter-Liste

signum

Signal number. See signal(7) man page for detals. You can use constants exported by pcntl extension.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • Ev::feedSignalEvent() - Feed signal event into the default loop
Ev::embeddableBackends
Ev::feedSignalEvent
Ev


Feed signal event into the default loop

Ev::feedSignal
Ev::iteration
Ev
PHP Manual

Ev::feedSignalEvent

(No version information available, might only be in Git)

Ev::feedSignalEvent — Feed signal event into the default loop

Beschreibung

final public static void Ev::feedSignalEvent ( int $signum )

Feed signal event into the default loop. Ev will react to this call as if the signal specified by signal had occurred.

Parameter-Liste

signum

Signal number. See signal(7) man page for detals. See also constants exported by pcntl extension.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • Ev::feedSignal() - Feed a signal event info Ev
Ev::feedSignal
Ev::iteration
Ev


Return the number of times the default event loop has polled for new events.

Ev::feedSignalEvent
Ev::now
Ev
PHP Manual

Ev::iteration

(PECL ev >= 0.2.0)

Ev::iteration — Return the number of times the default event loop has polled for new events.

Beschreibung

final public static int Ev::iteration ( void )

Return the number of times the event loop has polled for new events. Sometimes useful as a generation counter.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns number of polls of the default event loop.

Siehe auch

  • Ev::depth() - Returns recursion depth
Ev::feedSignalEvent
Ev::now
Ev


Returns the time when the last iteration of the default event loop has started.

Ev::iteration
Ev::nowUpdate
Ev
PHP Manual

Ev::now

(PECL ev >= 0.2.0)

Ev::now — Returns the time when the last iteration of the default event loop has started.

Beschreibung

final public static double Ev::now ( void )

Returns the time when the last iteration of the default event loop has started. This is the time that timers( EvTimer and EvPeriodic ) are based on, and referring to it is usually faster then calling Ev::time() .

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns number of seconds(fractional) representing the time when the last iteration of the default event loop has started.

Siehe auch

  • Ev::nowUpdate() - Establishes the current time by querying the kernel, updating the time returned by Ev::now in the progress.
Ev::iteration
Ev::nowUpdate
Ev


Establishes the current time by querying the kernel, updating the time returned by Ev::now in the progress.

Ev::now
Ev::recommendedBackends
Ev
PHP Manual

Ev::nowUpdate

(PECL ev >= 0.2.0)

Ev::nowUpdate — Establishes the current time by querying the kernel, updating the time returned by Ev::now in the progress.

Beschreibung

final public static void Ev::nowUpdate ( void )

Establishes the current time by querying the kernel, updating the time returned by Ev::now() in the progress. This is a costly operation and is usually done automatically within Ev::run() .

This method is rarely useful, but when some event callback runs for a very long time without entering the event loop, updating libev 's consideration of the current time is a good idea.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • Ev::now() - Returns the time when the last iteration of the default event loop has started.
Ev::now
Ev::recommendedBackends
Ev


Returns a bit mask of recommended backends for current platform.

Ev::nowUpdate
Ev::resume
Ev
PHP Manual

Ev::recommendedBackends

(PECL ev >= 0.2.0)

Ev::recommendedBackends — Returns a bit mask of recommended backends for current platform.

Beschreibung

final public static void Ev::recommendedBackends ( void )

Returns the set of all backends compiled into this binary of libev and also recommended for this platform, meaning it will work for most file descriptor types. This set is often smaller than the one returned by ev_supported_backends() , as for example kqueue is broken on most BSD systems and will not be auto-detected unless it is requested explicitly. This is the set of backends that libev will probe no backends specified explicitly.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a bit mask which can containing backend flags combined using bitwise OR operator.

Beispiele

Beispiel #1 Embedding one loop into another

<?php
/*
* Try to get an embeddable event loop and embed it into the default event loop.
* If it is impossible, use the default
* loop. The default loop is stored in $loop_hi, while the embeddable loop is
* stored in $loop_lo(which is $loop_hi in the case no embeddable loop can be
* used).
*
* Sample translated to PHP
* http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Examples_CONTENT-9
*/
$loop_hi = EvLoop::defaultLoop();
$loop_lo = NULL;
$embed   = NULL;

/*
* See if there is a chance of getting one that works
* (flags' value of 0 means autodetection)
*/
$loop_lo = Ev::embeddableBackends() & Ev::recommendedBackends()
 ? new EvLoop(Ev::embeddableBackends() & Ev::recommendedBackends())
 : 0;

if ($loop_lo) {
 $embed = new EvEmbed($loop_lo, function () {});
} else {
 $loop_lo = $loop_hi;
}
?>

Siehe auch

  • EvEmbed
  • Ev::embeddableBackends() - Returns the set of backends that are embeddable in other event loops.
  • Ev::supportedBackends() - Returns the set of backends supported by current libev configuration.
  • Backend flags
  • Examples
Ev::nowUpdate
Ev::resume
Ev


Resume previously suspended default event loop

Ev::recommendedBackends
Ev::run
Ev
PHP Manual

Ev::resume

(PECL ev >= 0.2.0)

Ev::resume — Resume previously suspended default event loop

Beschreibung

final public static void Ev::resume ( void )

Ev::suspend() and Ev::resume() methods suspend and resume a loop correspondingly.

All timer watchers will be delayed by the time spend between suspend and resume , and all periodic watchers will be rescheduled(that is, they will lose any events that would have occurred while suspended).

After calling Ev::suspend() it is not allowed to call any function on the given loop other than Ev::resume() . Also it is not allowed to call Ev::resume() without a previous call to Ev::suspend() .

Calling suspend / resume has the side effect of updating the event loop time(see Ev::nowUpdate() ).

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • Ev::suspend() - Suspend the default event loop
Ev::recommendedBackends
Ev::run
Ev


Begin checking for events and calling callbacks for the default loop

Ev::resume
Ev::sleep
Ev
PHP Manual

Ev::run

(PECL ev >= 0.2.0)

Ev::run — Begin checking for events and calling callbacks for the default loop

Beschreibung

final public static void Ev::run ([ int $flags ] )

Begin checking for events and calling callbacks for the default loop . Returns when a callback calls Ev::stop() method, or the flags are nonzero(in which case the return value is true) or when there are no active watchers which reference the loop( EvWatcher::keepalive() is TRUE), in which case the return value will be FALSE. The return value can generally be interpreted as if TRUE, there is more work left to do .

Parameter-Liste

flags

Optional parameter flags can be one of the following:

List for possible values of flags
flags | Description
0 | The default behavior described above
Ev::RUN_ONCE | Block at most one(wait, but don't loop)
Ev::RUN_NOWAIT | Don't block at all(fetch/handle events, but don't wait)

See the run flag constants .

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • Ev::stop() - Stops the default event loop
  • EvLoop::run() - Begin checking for events and calling callbacks for the loop
Ev::resume
Ev::sleep
Ev


Block the process for the given number of seconds.

Ev::run
Ev::stop
Ev
PHP Manual

Ev::sleep

(PECL ev >= 0.2.0)

Ev::sleep — Block the process for the given number of seconds.

Beschreibung

final public static void Ev::sleep ( double $seconds )

Block the process for the given number of seconds.

Parameter-Liste

seconds

Fractional number of seconds

Rückgabewerte

Es wird kein Wert zurückgegeben.

Ev::run
Ev::stop
Ev


Stops the default event loop

Ev::sleep
Ev::supportedBackends
Ev
PHP Manual

Ev::stop

(PECL ev >= 0.2.0)

Ev::stop — Stops the default event loop

Beschreibung

final public static void Ev::stop ([ int $how ] )

Stops the default event loop

Parameter-Liste

how

One of Ev::BREAK_* constants .

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • Ev::run() - Begin checking for events and calling callbacks for the default loop
Ev::sleep
Ev::supportedBackends
Ev


Returns the set of backends supported by current libev configuration.

Ev::stop
Ev::suspend
Ev
PHP Manual

Ev::supportedBackends

(PECL ev >= 0.2.0)

Ev::supportedBackends — Returns the set of backends supported by current libev configuration.

Beschreibung

final public static void Ev::supportedBackends ( void )

Returns the set of backends supported by current libev configuration.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a bit mask which can containing backend flags combined using bitwise OR operator.

Beispiele

Beispiel #1 Embedding loop created with kqueue backend into the default loop

<?php
/*
* Check if kqueue is available but not recommended and create a kqueue backend
* for use with sockets (which usually work with any kqueue implementation).
* Store the kqueue/socket-only event loop in loop_socket. (One might optionally
* use EVFLAG_NOENV, too)
*
* Example borrowed from
* http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Examples_CONTENT-9
*/
$loop        = EvLoop::defaultLoop();
$socket_loop = NULL;
$embed       = NULL;

if (Ev::supportedBackends() & ~Ev::recommendedBackends() & Ev::BACKEND_KQUEUE) {
 if (($socket_loop = new EvLoop(Ev::BACKEND_KQUEUE))) {
  $embed = new EvEmbed($loop);
 }
}

if (!$socket_loop) {
 $socket_loop = $loop;
}

// Now use $socket_loop for all sockets, and $loop for anything else
?>

Siehe auch

  • EvEmbed
  • Ev::recommendedBackends() - Returns a bit mask of recommended backends for current platform.
  • Ev::embeddableBackends() - Returns the set of backends that are embeddable in other event loops.
  • Backend flags
  • Examples
Ev::stop
Ev::suspend
Ev


Suspend the default event loop

Ev::supportedBackends
Ev::time
Ev
PHP Manual

Ev::suspend

(PECL ev >= 0.2.0)

Ev::suspend — Suspend the default event loop

Beschreibung

final public static void Ev::suspend ( void )

Ev::suspend() and Ev::resume() methods suspend and resume the default loop correspondingly.

All timer watchers will be delayed by the time spend between suspend and resume , and all periodic watchers will be rescheduled(that is, they will lose any events that would have occurred while suspended).

After calling Ev::suspend() it is not allowed to call any function on the given loop other than Ev::resume() . Also it is not allowed to call Ev::resume() without a previous call to Ev::suspend() .

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • Ev::resume() - Resume previously suspended default event loop
Ev::supportedBackends
Ev::time
Ev


Returns the current time in fractional seconds since the epoch.

Ev::suspend
Ev::verify
Ev
PHP Manual

Ev::time

(PECL ev >= 0.2.0)

Ev::time — Returns the current time in fractional seconds since the epoch.

Beschreibung

final public static double Ev::time ( void )

Returns the current time in fractional seconds since the epoch. Consider using Ev::now()

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current time in fractional seconds since the epoch.

Siehe auch

  • Ev::now() - Returns the time when the last iteration of the default event loop has started.
Ev::suspend
Ev::verify
Ev


Performs internal consistency checks(for debugging)

Ev::time
EvCheck
Ev
PHP Manual

Ev::verify

(PECL ev >= 0.2.0)

Ev::verify — Performs internal consistency checks(for debugging)

Beschreibung

final public static void Ev::verify ( void )

Performs internal consistency checks(for debugging libev ) and abort the program if any data structures were found to be corrupted.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Ev::time
EvCheck
Ev


The EvCheck class

(PECL ev >= 0.2.0)

Einführung

EvPrepare and EvCheck watchers are usually used in pairs. EvPrepare watchers get invoked before the process blocks, EvCheck afterwards.

It is not allowed to call EvLoop::run() or similar methods or functions that enter the current event loop from either EvPrepare or EvCheck watchers. Other loops than the current one are fine, however. The rationale behind this is that one don't need to check for recursion in those watchers, i.e. the sequence will always be: EvPrepare -> blocking -> EvCheck , so having a watcher of each kind they will always be called in pairs bracketing the blocking call.

The main purpose is to integrate other event mechanisms into libev and their use is somewhat advanced. They could be used, for example, to track variable changes, implement custom watchers, integrate net-snmp or a coroutine library and lots more. They are also occasionally useful to cache some data and want to flush it before blocking.

It is recommended to give EvCheck watchers highest( Ev::MAXPRI ) priority, to ensure that they are being run before any other watchers after the poll (this doesn’t matter for EvPrepare watchers).

Also, EvCheck watchers should not activate/feed events. While libev fully supports this, they might get executed before other EvCheck watchers did their job.

Klassenbeschreibung

EvCheck extends EvWatcher {
/* Geerbte Eigenschaften */
public $is_active ;
public $data ;
public $is_pending ;
public $priority ;
/* Methoden */
public __construct ( callable $callback [, mixed $data [, int $priority ]] )
final public static object createStopped ( string $callback [, string $data [, string $priority ]] )
/* Geerbte Methoden */
public int EvWatcher::clear ( void )
abstract public EvWatcher::__construct ( void )
public void EvWatcher::feed ( int $revents )
public EvLoop EvWatcher::getLoop ( void )
public void EvWatcher::invoke ( int $revents )
public bool EvWatcher::keepalive ([ bool $value ] )
public void EvWatcher::setCallback ( callable $callback )
public void EvWatcher::start ( void )
public void EvWatcher::stop ( void )
}

Inhaltsverzeichnis

  • EvCheck::__construct — Constructs the EvCheck watcher object
  • EvCheck::createStopped — Create instance of a stopped EvCheck watcher
Ev::verify
EvCheck::__construct
Ev


Constructs the EvCheck watcher object

EvCheck
EvCheck::createStopped
EvCheck
PHP Manual

EvCheck::__construct

(PECL ev >= 0.2.0)

EvCheck::__construct — Constructs the EvCheck watcher object

Beschreibung

public EvCheck::__construct ( callable $callback [, mixed $data [, int $priority ]] )

Constructs the EvCheck watcher object.

Parameter-Liste

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Rückgabewerte

Returns EvCheck object on success.

Siehe auch

  • EvPrepare
  • EvLoop::check() - Creates EvCheck object associated with the current event loop instance
EvCheck
EvCheck::createStopped
EvCheck


Create instance of a stopped EvCheck watcher

EvCheck::__construct
EvChild
EvCheck
PHP Manual

EvCheck::createStopped

(PECL ev >= 0.2.0)

EvCheck::createStopped — Create instance of a stopped EvCheck watcher

Beschreibung

final public static object EvCheck::createStopped ( string $callback [, string $data [, string $priority ]] )

Create instance of a stopped EvCheck watcher

Parameter-Liste

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Rückgabewerte

Returns EvCheck object on success.

Siehe auch

  • EvPrepare
EvCheck::__construct
EvChild
EvCheck


The EvChild class

(PECL ev >= 0.2.0)

Einführung

EvChild watchers trigger when the process receives a SIGCHLD in response to some child status changes (most typically when a child dies or exits). It is permissible to install an EvChild watcher after the child has been forked(which implies it might have already exited), as long as the event loop isn't entered(or is continued from a watcher), i.e. forking and then immediately registering a watcher for the child is fine, but forking and registering a watcher a few event loop iterations later or in the next callback invocation is not.

It is allowed to register EvChild watchers in the default loop only.

Klassenbeschreibung

EvChild extends EvWatcher {
/* Eigenschaften */
public $pid ;
public $rpid ;
public $rstatus ;
/* Geerbte Eigenschaften */
public $is_active ;
public $data ;
public $is_pending ;
public $priority ;
/* Methoden */
public __construct ( int $pid , bool $trace , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
final public static object createStopped ( int $pid , bool $trace , callable $callback [, mixed $data [, int $priority ]] )
public void set ( int $pid , bool $trace )
/* Geerbte Methoden */
public int EvWatcher::clear ( void )
abstract public EvWatcher::__construct ( void )
public void EvWatcher::feed ( int $revents )
public EvLoop EvWatcher::getLoop ( void )
public void EvWatcher::invoke ( int $revents )
public bool EvWatcher::keepalive ([ bool $value ] )
public void EvWatcher::setCallback ( callable $callback )
public void EvWatcher::start ( void )
public void EvWatcher::stop ( void )
}

Eigenschaften

pid

Readonly . The process ID this watcher watches out for, or 0 , meaning any process ID.

rpid

Readonly .The process ID that detected a status change.

rstatus

Readonly . The process exit status caused by rpid .

Inhaltsverzeichnis

  • EvChild::__construct — Constructs the EvChild watcher object
  • EvChild::createStopped — Create instance of a stopped EvCheck watcher
  • EvChild::set — Configures the watcher
EvCheck::createStopped
EvChild::__construct
Ev


Constructs the EvChild watcher object

EvChild
EvChild::createStopped
EvChild
PHP Manual

EvChild::__construct

(PECL ev >= 0.2.0)

EvChild::__construct — Constructs the EvChild watcher object

Beschreibung

public EvChild::__construct ( int $pid , bool $trace , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Constructs the EvChild watcher object.

Call the callback when a status change for process ID pid (or any PID if pid is 0 ) has been received(a status change happens when the process terminates or is killed, or, when trace is TRUE, additionally when it is stopped or continued). In other words, when the process receives a SIGCHLD , Ev will fetch the outstanding exit/wait status for all changed/zombie children and call the callback.

It is valid to install a child watcher after an EvChild has exited but before the event loop has started its next iteration. For example, first one calls fork , then the new child process might exit, and only then an EvChild watcher is installed in the parent for the new PID .

You can access both exit/tracing status and pid by using the rstatus and rpid properties of the watcher object.

The number of PID watchers per PID is unlimited. All of them will be called.

The EvChild::createStopped() method doesn't start(activate) the newly created watcher.

Parameter-Liste

pid

Wait for status changes of process PID(or any process if PID is specified as 0 ).

trace

If FALSE, only activate the watcher when the process terminates. Otherwise(TRUE) additionally activate the watcher when the process is stopped or continued.

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Rückgabewerte

Returns EvChild object on success.

Siehe auch

  • EvLoop::child() - Creates EvChild object associated with the current event loop
EvChild
EvChild::createStopped
EvChild


Create instance of a stopped EvCheck watcher

EvChild::__construct
EvChild::set
EvChild
PHP Manual

EvChild::createStopped

(PECL ev >= 0.2.0)

EvChild::createStopped — Create instance of a stopped EvCheck watcher

Beschreibung

final public static object EvChild::createStopped ( int $pid , bool $trace , callable $callback [, mixed $data [, int $priority ]] )

The same as EvChild::__construct() , but doesn't start the watcher automatically.

Parameter-Liste

pid

The same as for EvChild::__construct()

trace

The same as for EvChild::__construct()

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Rückgabewerte

Siehe auch

  • EvChild::__construct() - Constructs the EvChild watcher object
  • EvLoop::child() - Creates EvChild object associated with the current event loop
EvChild::__construct
EvChild::set
EvChild


Configures the watcher

EvChild::createStopped
EvEmbed
EvChild
PHP Manual

EvChild::set

(PECL ev >= 0.2.0)

EvChild::set — Configures the watcher

Beschreibung

public void EvChild::set ( int $pid , bool $trace )

Parameter-Liste

pid

The same as for EvChild::__construct()

trace

The same as for EvChild::__construct()

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • EvChild::__construct() - Constructs the EvChild watcher object
EvChild::createStopped
EvEmbed
EvChild


The EvEmbed class

(PECL ev >= 0.2.0)

Einführung

Used to embed one event loop into another.

Klassenbeschreibung

EvEmbed extends EvWatcher {
/* Eigenschaften */
public $embed ;
/* Methoden */
public __construct ( object $other [, callable $callback [, mixed $data [, int $priority ]]] )
final public static void createStopped ( object $other [, callable $callback [, mixed $data [, int $priority ]]] )
public void set ( object $other )
public void sweep ( void )
/* Geerbte Methoden */
public int EvWatcher::clear ( void )
abstract public EvWatcher::__construct ( void )
public void EvWatcher::feed ( int $revents )
public EvLoop EvWatcher::getLoop ( void )
public void EvWatcher::invoke ( int $revents )
public bool EvWatcher::keepalive ([ bool $value ] )
public void EvWatcher::setCallback ( callable $callback )
public void EvWatcher::start ( void )
public void EvWatcher::stop ( void )
}

Eigenschaften

is_active

data

is_pending

priority

embed

Inhaltsverzeichnis

  • EvEmbed::__construct — Constructs the EvEmbed object
  • EvEmbed::createStopped — Create stopped EvEmbed watcher object
  • EvEmbed::set — Configures the watcher
  • EvEmbed::sweep — Make a single, non-blocking sweep over the embedded loop.
EvChild::set
EvEmbed::__construct
Ev


Constructs the EvEmbed object

EvEmbed
EvEmbed::createStopped
EvEmbed
PHP Manual

EvEmbed::__construct

(PECL ev >= 0.2.0)

EvEmbed::__construct — Constructs the EvEmbed object

Beschreibung

public EvEmbed::__construct ( object $other [, callable $callback [, mixed $data [, int $priority ]]] )

This is a rather advanced watcher type that lets to embed one event loop into another(currently only IO events are supported in the embedded loop, other types of watchers might be handled in a delayed or incorrect fashion and must not be used).

See » the libev documentation for details.

This watcher is most useful on BSD systems without working kqueue to still be able to handle a large number of sockets. See example below.

Parameter-Liste

other

Instance of EvLoop . The loop to embed, this loop must be embeddable(see Ev::embeddableBackends() ).

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Rückgabewerte

Returns EvEmbed object on success.

Beispiele

Beispiel #1 Embedding loop created with kqueue backend into the default loop

<?php
/*
 * Check if kqueue is available but not recommended and create a kqueue backend
 * for use with sockets (which usually work with any kqueue implementation).
 * Store the kqueue/socket-only event loop in loop_socket. (One might optionally
 * use EVFLAG_NOENV, too)
 *
 * Example borrowed from
 * http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Examples_CONTENT-9
 */
$loop        = EvLoop::defaultLoop();
$socket_loop = NULL;
$embed       = NULL;

if (Ev::supportedBackends() & ~Ev::recommendedBackends() & Ev::BACKEND_KQUEUE) {
    if (($socket_loop = new EvLoop(Ev::BACKEND_KQUEUE))) {
        $embed = new EvEmbed($loop);
    }
}

if (!$socket_loop) {
    $socket_loop = $loop;
}

// Now use $socket_loop for all sockets, and $loop for anything else
?>

Siehe auch

  • Ev::embeddableBackends() - Returns the set of backends that are embeddable in other event loops.
EvEmbed
EvEmbed::createStopped
EvEmbed


Create stopped EvEmbed watcher object

EvEmbed::__construct
EvEmbed::set
EvEmbed
PHP Manual

EvEmbed::createStopped

(PECL ev >= 0.2.0)

EvEmbed::createStopped — Create stopped EvEmbed watcher object

Beschreibung

final public static void EvEmbed::createStopped ( object $other [, callable $callback [, mixed $data [, int $priority ]]] )

The same as EvEmbed::__construct() , but doesn't start the watcher automatically.

Parameter-Liste

other

The same as for EvEmbed::__construct()

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Rückgabewerte

Returns stopped EvEmbed object on success.

Siehe auch

  • EvEmbed::__construct() - Constructs the EvEmbed object
  • Ev::embeddableBackends() - Returns the set of backends that are embeddable in other event loops.
EvEmbed::__construct
EvEmbed::set
EvEmbed


Configures the watcher

EvEmbed::createStopped
EvEmbed::sweep
EvEmbed
PHP Manual

EvEmbed::set

(PECL ev >= 0.2.0)

EvEmbed::set — Configures the watcher

Beschreibung

public void EvEmbed::set ( object $other )

Configures the watcher to use other event loop object.

Parameter-Liste

other

The same as for EvEmbed::__construct()

Rückgabewerte

Es wird kein Wert zurückgegeben.

EvEmbed::createStopped
EvEmbed::sweep
EvEmbed


Make a single, non-blocking sweep over the embedded loop.

EvEmbed::set
EvFork
EvEmbed
PHP Manual

EvEmbed::sweep

(PECL ev >= 0.2.0)

EvEmbed::sweep — Make a single, non-blocking sweep over the embedded loop.

Beschreibung

public void EvEmbed::sweep ( void )

Make a single, non-blocking sweep over the embedded loop. Works similarly to the following, but in the most appropriate way for embedded loops:

<?php
$other->start(Ev::RUN_NOWAIT);
?>

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • EvWatcher::start() - Starts the watcher
EvEmbed::set
EvFork
EvEmbed


The EvFork class

(PECL ev >= 0.2.0)

Einführung

Fork watchers are called when a fork() was detected (usually because whoever signalled libev about it by calling EvLoop::fork() ). The invocation is done before the event loop blocks next and before EvCheck watchers are being called, and only in the child after the fork. Note, that if whoever calling EvLoop::fork() calls it in the wrong process, the fork handlers will be invoked, too.

Klassenbeschreibung

EvFork extends EvWatcher {
/* Geerbte Eigenschaften */
public $is_active ;
public $data ;
public $is_pending ;
public $priority ;
/* Methoden */
public __construct ( callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
final public static object createStopped ( string $callback [, string $data [, string $priority ]] )
/* Geerbte Methoden */
public int EvWatcher::clear ( void )
abstract public EvWatcher::__construct ( void )
public void EvWatcher::feed ( int $revents )
public EvLoop EvWatcher::getLoop ( void )
public void EvWatcher::invoke ( int $revents )
public bool EvWatcher::keepalive ([ bool $value ] )
public void EvWatcher::setCallback ( callable $callback )
public void EvWatcher::start ( void )
public void EvWatcher::stop ( void )
}

Inhaltsverzeichnis

  • EvFork::__construct — Constructs the EvFork watcher object
  • EvFork::createStopped — Creates a stopped instance of EvFork watcher class
EvEmbed::sweep
EvFork::__construct
Ev


Constructs the EvFork watcher object

EvFork
EvFork::createStopped
EvFork
PHP Manual

EvFork::__construct

(PECL ev >= 0.2.0)

EvFork::__construct — Constructs the EvFork watcher object

Beschreibung

public EvFork::__construct ( callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Constructs the EvFork watcher object and starts the watcher automatically.

Parameter-Liste

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Rückgabewerte

Returns EvFork object on success.

Siehe auch

  • EvLoop::fork() - Creates EvFork watcher object associated with the current event loop instance
  • EvCheck
EvFork
EvFork::createStopped
EvFork


Creates a stopped instance of EvFork watcher class

EvFork::__construct
EvIdle
EvFork
PHP Manual

EvFork::createStopped

(PECL ev >= 0.2.0)

EvFork::createStopped — Creates a stopped instance of EvFork watcher class

Beschreibung

final public static object EvFork::createStopped ( string $callback [, string $data [, string $priority ]] )

The same as EvFork::__construct() , but doesn't start the watcher automatically.

Parameter-Liste

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Rückgabewerte

Returns EvFork(stopped) object on success.

Siehe auch

  • EvFork::__construct() - Constructs the EvFork watcher object
EvFork::__construct
EvIdle
EvFork


The EvIdle class

(PECL ev >= 0.2.0)

Einführung

EvIdle watchers trigger events when no other events of the same or higher priority are pending ( EvPrepare , EvCheck and other EvIdle watchers do not count as receiving events ).

Thus, as long as the process is busy handling sockets or timeouts(or even signals) of the same or higher priority it will not be triggered. But when the process is in idle(or only lower-priority watchers are pending), the EvIdle watchers are being called once per event loop iteration - until stopped, that is, or the process receives more events and becomes busy again with higher priority stuff.

Apart from keeping the process non-blocking(which is a useful on its own sometimes), EvIdle watchers are a good place to do "pseudo-background processing" , or delay processing stuff to after the event loop has handled all outstanding events.

The most noticeable effect is that as long as any idle watchers are active, the process will not block when waiting for new events.

Klassenbeschreibung

EvIdle extends EvWatcher {
/* Geerbte Eigenschaften */
public $is_active ;
public $data ;
public $is_pending ;
public $priority ;
/* Methoden */
public __construct ( callable $callback [, mixed $data [, int $priority ]] )
final public static object createStopped ( string $callback [, mixed $data [, int $priority ]] )
/* Geerbte Methoden */
public int EvWatcher::clear ( void )
abstract public EvWatcher::__construct ( void )
public void EvWatcher::feed ( int $revents )
public EvLoop EvWatcher::getLoop ( void )
public void EvWatcher::invoke ( int $revents )
public bool EvWatcher::keepalive ([ bool $value ] )
public void EvWatcher::setCallback ( callable $callback )
public void EvWatcher::start ( void )
public void EvWatcher::stop ( void )
}

Inhaltsverzeichnis

  • EvIdle::__construct — Constructs the EvIdle watcher object
  • EvIdle::createStopped — Creates instance of a stopped EvIdle watcher object
EvFork::createStopped
EvIdle::__construct
Ev


Constructs the EvIdle watcher object

EvIdle
EvIdle::createStopped
EvIdle
PHP Manual

EvIdle::__construct

(PECL ev >= 0.2.0)

EvIdle::__construct — Constructs the EvIdle watcher object

Beschreibung

public EvIdle::__construct ( callable $callback [, mixed $data [, int $priority ]] )

Constructs the EvIdle watcher object and starts the watcher automatically.

Parameter-Liste

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Rückgabewerte

Returns EvIdle object on success.

Siehe auch

  • EvIdle::createStopped() - Creates instance of a stopped EvIdle watcher object
  • EvLoop::idle() - Creates EvIdle watcher object associated with the current event loop instance
EvIdle
EvIdle::createStopped
EvIdle


Creates instance of a stopped EvIdle watcher object

EvIdle::__construct
EvIo
EvIdle
PHP Manual

EvIdle::createStopped

(PECL ev >= 0.2.0)

EvIdle::createStopped — Creates instance of a stopped EvIdle watcher object

Beschreibung

final public static object EvIdle::createStopped ( string $callback [, mixed $data [, int $priority ]] )

The same as EvIdle::__construct() , but doesn't start the watcher automatically.

Parameter-Liste

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Rückgabewerte

Returns EvIdle object on success.

Siehe auch

  • EvIdle::__construct() - Constructs the EvIdle watcher object
  • EvLoop::idle() - Creates EvIdle watcher object associated with the current event loop instance
EvIdle::__construct
EvIo
EvIdle


The EvIo class

(PECL ev >= 0.2.0)

Einführung

EvIo watchers check whether a file descriptor(or socket, or a stream castable to numeric file descriptor) is readable or writable in each iteration of the event loop, or, more precisely, when reading would not block the process and writing would at least be able to write some data. This behaviour is called level-triggering because events are kept receiving as long as the condition persists. To stop receiving events just stop the watcher.

The number of read and/or write event watchers per fd is unlimited. Setting all file descriptors to non-blocking mode is also usually a good idea(but not required).

Another thing to watch out for is that it is quite easy to receive false readiness notifications, i.e. the callback might be called with Ev::READ but a subsequent read() will actually block because there is no data. It is very easy to get into this situation. Thus it is best to always use non-blocking I/O: An extra read() returning EAGAIN (or similar) is far preferable to a program hanging until some data arrives.

If for some reason it is impossible to run the fd in non-blocking mode, then separately re-test whether a file descriptor is really ready. Some people additionally use SIGALRM and an interval timer, just to be sure thry won't block infinitely.

Always consider using non-blocking mode.

Klassenbeschreibung

EvIo extends EvWatcher {
/* Eigenschaften */
public $fd ;
public $events ;
/* Geerbte Eigenschaften */
public $is_active ;
public $data ;
public $is_pending ;
public $priority ;
/* Methoden */
public __construct ( mixed $fd , int $events , callable $callback [, mixed $data [, int $priority ]] )
final public static EvIo createStopped ( mixed $fd , int $events , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
public void set ( mixed $fd , int $events )
/* Geerbte Methoden */
public int EvWatcher::clear ( void )
abstract public EvWatcher::__construct ( void )
public void EvWatcher::feed ( int $revents )
public EvLoop EvWatcher::getLoop ( void )
public void EvWatcher::invoke ( int $revents )
public bool EvWatcher::keepalive ([ bool $value ] )
public void EvWatcher::setCallback ( callable $callback )
public void EvWatcher::start ( void )
public void EvWatcher::stop ( void )
}

Eigenschaften

fd

events

Inhaltsverzeichnis

  • EvIo::__construct — Constructs EvIo watcher object
  • EvIo::createStopped — Create stopped EvIo watcher object
  • EvIo::set — Configures the watcher
EvIdle::createStopped
EvIo::__construct
Ev


Constructs EvIo watcher object

EvIo
EvIo::createStopped
EvIo
PHP Manual

EvIo::__construct

(PECL ev >= 0.2.0)

EvIo::__construct — Constructs EvIo watcher object

Beschreibung

public EvIo::__construct ( mixed $fd , int $events , callable $callback [, mixed $data [, int $priority ]] )

Constructs EvIo watcher object and starts the watcher automatically.

Parameter-Liste

fd

Can be a stream opened with fopen() or similar functions, numeric file descriptor, or socket.

events

Ev::READ and/or Ev::WRITE . See the bit masks .

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Rückgabewerte

Returns EvIo object on success.

Siehe auch

  • EvIo::createStopped() - Create stopped EvIo watcher object
  • EvLoop::io() - Create EvIo watcher object associated with the current event loop instance
EvIo
EvIo::createStopped
EvIo


Create stopped EvIo watcher object

EvIo::__construct
EvIo::set
EvIo
PHP Manual

EvIo::createStopped

(PECL ev >= 0.2.0)

EvIo::createStopped — Create stopped EvIo watcher object

Beschreibung

final public static EvIo EvIo::createStopped ( mixed $fd , int $events , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

The same as EvIo::__construct() , but doesn't start the watcher automatically.

Parameter-Liste

fd

The same as for EvIo::__construct()

events

The same as for EvIo::__construct()

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Rückgabewerte

Returns EvIo object on success.

Siehe auch

  • EvIo::__construct() - Constructs EvIo watcher object
  • EvLoop::io() - Create EvIo watcher object associated with the current event loop instance
EvIo::__construct
EvIo::set
EvIo


Configures the watcher

EvIo::createStopped
EvLoop
EvIo
PHP Manual

EvIo::set

(PECL ev >= 0.2.0)

EvIo::set — Configures the watcher

Beschreibung

public void EvIo::set ( mixed $fd , int $events )

Configures the EvIo watcher

Parameter-Liste

fd

The same as for EvIo::__construct()

events

The same as for EvIo::__construct()

Rückgabewerte

Es wird kein Wert zurückgegeben.

EvIo::createStopped
EvLoop
EvIo


The EvLoop class

(PECL ev >= 0.2.0)

Einführung

Represents an event loop that is always distinct from the default loop . Unlike the default loop , it cannot handle EvChild watchers.

Having threads we have to create a loop per thread, and use the default loop in the parent thread.

The default event loop is initialized automatically by Ev . It is accessible via methods of the Ev class, or via EvLoop::defaultLoop() method.

Klassenbeschreibung

final EvLoop {
/* Eigenschaften */
public $data ;
public $backend ;
public $is_default_loop ;
public $iteration ;
public $pending ;
public $io_interval ;
public $timeout_interval ;
public $depth ;
/* Methoden */
public int backend ( void )
final public EvCheck check ( string $callback [, string $data [, string $priority ]] )
final public EvChild child ( string $pid , string $trace , string $callback [, string $data [, string $priority ]] )
public __construct ([ int $flags [, mixed $data = NULL [, double $io_interval = 0.0 [, double $timeout_interval = 0.0 ]]]] )
public static EvLoop defaultLoop ([ int $flags = Ev::FLAG_AUTO [, mixed $data = NULL [, double $io_interval = 0. [, double $timeout_interval = 0. ]]]] )
final public EvEmbed embed ( string $other [, string $callback [, string $data [, string $priority ]]] )
final public EvFork fork ( callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
final public EvIdle idle ( callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
public void invokePending ( void )
final public EvIo io ( mixed $fd , int $events , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
public void loopFork ( void )
public double now ( void )
public void nowUpdate ( void )
final public EvPeriodic periodic ( double $offset , double $interval , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
final public EvPrepare prepare ( callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
public void resume ( void )
public void run ([ int $flags = 0 ] )
final public EvSignal signal ( int $signum , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
final public EvStat stat ( string $path , double $interval , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
public void stop ([ int $how ] )
public void suspend ( void )
final public EvTimer timer ( double $after , double $repeat , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
public void verify ( void )
}

Eigenschaften

data

Custom data attached to loop

backend

Readonly . The backend flags indicating the event backend in use.

is_default_loop

Readonly . TRUE if it is the default event loop.

iteration

The current iteration count of the loop. See Ev::iteration()

pending

The number of pending watchers. 0 indicates that there are no watchers pending.

io_interval

Higher io_interval allows libev to spend more time collecting EvIo events, so more events can be handled per iteration, at the cost of increasing latency. Timeouts (both EvPeriodic and EvTimer ) will not be affected. Setting this to a non-zero value will introduce an additional sleep() call into most loop iterations. The sleep time ensures that libev will not poll for EvIo events more often than once per this interval, on average. Many programs can usually benefit by setting the io_interval to a value near 0.1 , which is often enough for interactive servers(not for games). It usually doesn't make much sense to set it to a lower value than 0.01 , as this approaches the timing granularity of most systems.

See also » FUNCTIONS CONTROLLING EVENT LOOPS .

timeout_interval

Higher timeout_interval allows libev to spend more time collecting timeouts, at the expense of increased latency/jitter/inexactness(the watcher callback will be called later). EvIo watchers will not be affected. Setting this to a non-null value will not introduce any overhead in libev . See also » FUNCTIONS CONTROLLING EVENT LOOPS .

depth

The recursion depth. See Ev::depth() .

Inhaltsverzeichnis

  • EvLoop::backend — Returns an integer describing the backend used by libev.
  • EvLoop::check — Creates EvCheck object associated with the current event loop instance
  • EvLoop::child — Creates EvChild object associated with the current event loop
  • EvLoop::__construct — Constructs the event loop object
  • EvLoop::defaultLoop — Returns or creates the default event loop.
  • EvLoop::embed — Creates an instance of EvEmbed watcher associated with the current EvLoop object.
  • EvLoop::fork — Creates EvFork watcher object associated with the current event loop instance
  • EvLoop::idle — Creates EvIdle watcher object associated with the current event loop instance
  • EvLoop::invokePending — Invoke all pending watchers while resetting their pending state
  • EvLoop::io — Create EvIo watcher object associated with the current event loop instance
  • EvLoop::loopFork — Must be called after a fork
  • EvLoop::now — Returns the current "event loop time"
  • EvLoop::nowUpdate — Establishes the current time by querying the kernel, updating the time returned by EvLoop::now in the progress.
  • EvLoop::periodic — Creates EvPeriodic watcher object associated with the current event loop instance
  • EvLoop::prepare — Creates EvPrepare watcher object associated with the current event loop instance
  • EvLoop::resume — Resume previously suspended default event loop
  • EvLoop::run — Begin checking for events and calling callbacks for the loop
  • EvLoop::signal — Creates EvSignal watcher object associated with the current event loop instance
  • EvLoop::stat — Creates EvStat watcher object associated with the current event loop instance
  • EvLoop::stop — Stops the event loop
  • EvLoop::suspend — Suspend the loop
  • EvLoop::timer — Creates EvTimer watcher object associated with the current event loop instance
  • EvLoop::verify — Performs internal consistency checks(for debugging)
EvIo::set
EvLoop::backend
Ev


Returns an integer describing the backend used by libev.

EvLoop
EvLoop::check
EvLoop
PHP Manual

EvLoop::backend

(PECL ev >= 0.2.0)

EvLoop::backend — Returns an integer describing the backend used by libev.

Beschreibung

public int EvLoop::backend ( void )

The same as Ev::backend() , but for the loop instance.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an integer describing the backend used by libev. See Ev::backend() .

Siehe auch

  • Ev::backend() - Returns an integer describing the backend used by libev.
EvLoop
EvLoop::check
EvLoop


Creates EvCheck object associated with the current event loop instance

EvLoop::backend
EvLoop::child
EvLoop
PHP Manual

EvLoop::check

(PECL ev >= 0.2.0)

EvLoop::check — Creates EvCheck object associated with the current event loop instance

Beschreibung

final public EvCheck EvLoop::check ( string $callback [, string $data [, string $priority ]] )

Creates EvCheck object associated with the current event loop instance.

Parameter-Liste

All parameters have the same meaning as for EvCheck::__construct()

Rückgabewerte

Returns EvCheck object on success.

Siehe auch

  • EvCheck::__construct() - Constructs the EvCheck watcher object
EvLoop::backend
EvLoop::child
EvLoop


Creates EvChild object associated with the current event loop

EvLoop::check
EvLoop::__construct
EvLoop
PHP Manual

EvLoop::child

(PECL ev >= 0.2.0)

EvLoop::child — Creates EvChild object associated with the current event loop

Beschreibung

final public EvChild EvLoop::child ( string $pid , string $trace , string $callback [, string $data [, string $priority ]] )

Creates EvChild object associated with the current event loop.

Parameter-Liste

All parameters have the same meaning as for EvChild::__construct()

Rückgabewerte

Returns EvChild object on success.

Siehe auch

  • EvChild::__construct() - Constructs the EvChild watcher object
EvLoop::check
EvLoop::__construct
EvLoop


Constructs the event loop object

EvLoop::child
EvLoop::defaultLoop
EvLoop
PHP Manual

EvLoop::__construct

(PECL ev >= 0.2.0)

EvLoop::__construct — Constructs the event loop object

Beschreibung

public EvLoop::__construct ([ int $flags [, mixed $data = NULL [, double $io_interval = 0.0 [, double $timeout_interval = 0.0 ]]]] )

Constructs the event loop object.

Parameter-Liste

flags

One of the event loop flags

data

Custom data associated with the loop.

io_interval

See io_interval

timeout_interval

See timeout_interval

Rückgabewerte

Returns new EvLoop object.

Siehe auch

  • EvLoop::defaultLoop() - Returns or creates the default event loop.
EvLoop::child
EvLoop::defaultLoop
EvLoop


Returns or creates the default event loop.

EvLoop::__construct
EvLoop::embed
EvLoop
PHP Manual

EvLoop::defaultLoop

(PECL ev >= 0.2.0)

EvLoop::defaultLoop — Returns or creates the default event loop.

Beschreibung

public static EvLoop EvLoop::defaultLoop ([ int $flags = Ev::FLAG_AUTO [, mixed $data = NULL [, double $io_interval = 0. [, double $timeout_interval = 0. ]]]] )

If the default event loop is not created, EvLoop::defaultLoop() creates it with the specified parameters. Otherwise, it just returns the object representing previously created instance ignoring all the parameters.

Parameter-Liste

flags

One of the event loop flags

data

Custom data to associate with the loop.

io_collect_interval

See io_interval

timeout_collect_interval

See timeout_interval

Rückgabewerte

Returns EvLoop object on success.

Siehe auch

  • EvLoop::__construct() - Constructs the event loop object
EvLoop::__construct
EvLoop::embed
EvLoop


Creates an instance of EvEmbed watcher associated with the current EvLoop object.

EvLoop::defaultLoop
EvLoop::fork
EvLoop
PHP Manual

EvLoop::embed

(PECL ev >= 0.2.0)

EvLoop::embed — Creates an instance of EvEmbed watcher associated with the current EvLoop object.

Beschreibung

final public EvEmbed EvLoop::embed ( string $other [, string $callback [, string $data [, string $priority ]]] )

Creates an instance of EvEmbed watcher associated with the current EvLoop object.

Parameter-Liste

All parameters have the same meaning as for EvEmbed::__construct() .

Rückgabewerte

Returns EvEmbed object on success.

Siehe auch

  • EvEmbed::__construct() - Constructs the EvEmbed object
EvLoop::defaultLoop
EvLoop::fork
EvLoop


Creates EvFork watcher object associated with the current event loop instance

EvLoop::embed
EvLoop::idle
EvLoop
PHP Manual

EvLoop::fork

(PECL ev >= 0.2.0)

EvLoop::fork — Creates EvFork watcher object associated with the current event loop instance

Beschreibung

final public EvFork EvLoop::fork ( callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Creates EvFork watcher object associated with the current event loop instance

Parameter-Liste

All parameters have the same meaning as for EvFork::__construct()

Rückgabewerte

Returns EvFork object on success.

Siehe auch

  • EvFork::__construct() - Constructs the EvFork watcher object
EvLoop::embed
EvLoop::idle
EvLoop


Creates EvIdle watcher object associated with the current event loop instance

EvLoop::fork
EvLoop::invokePending
EvLoop
PHP Manual

EvLoop::idle

(PECL ev >= 0.2.0)

EvLoop::idle — Creates EvIdle watcher object associated with the current event loop instance

Beschreibung

final public EvIdle EvLoop::idle ( callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Creates EvIdle watcher object associated with the current event loop instance

Parameter-Liste

All the parameters have the same meaning as for EvIdle::__construct()

Rückgabewerte

Returns EvIdle object on success.

Siehe auch

  • EvIdle::__construct() - Constructs the EvIdle watcher object
EvLoop::fork
EvLoop::invokePending
EvLoop


Invoke all pending watchers while resetting their pending state

EvLoop::idle
EvLoop::io
EvLoop
PHP Manual

EvLoop::invokePending

(PECL ev >= 0.2.0)

EvLoop::invokePending — Invoke all pending watchers while resetting their pending state

Beschreibung

public void EvLoop::invokePending ( void )

Invoke all pending watchers while resetting their pending state.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

EvLoop::idle
EvLoop::io
EvLoop


Create EvIo watcher object associated with the current event loop instance

EvLoop::invokePending
EvLoop::loopFork
EvLoop
PHP Manual

EvLoop::io

(PECL ev >= 0.2.0)

EvLoop::io — Create EvIo watcher object associated with the current event loop instance

Beschreibung

final public EvIo EvLoop::io ( mixed $fd , int $events , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Create EvIo watcher object associated with the current event loop instance.

Parameter-Liste

All parameters have the same meaning as for EvIo::__construct()

Rückgabewerte

Returns EvIo object on success.

Siehe auch

  • EvIo::__construct() - Constructs EvIo watcher object
EvLoop::invokePending
EvLoop::loopFork
EvLoop


Must be called after a fork

EvLoop::io
EvLoop::now
EvLoop
PHP Manual

EvLoop::loopFork

(PECL ev >= 0.2.0)

EvLoop::loopFork — Must be called after a fork

Beschreibung

public void EvLoop::loopFork ( void )

Must be called after a fork in the child, before entering or continuing the event loop. An alternative is to use Ev::FLAG_FORKCHECK which calls this function automatically, at some performance loss (refer to the » libev documentation ).

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

EvLoop::io
EvLoop::now
EvLoop


Returns the current "event loop time"

EvLoop::loopFork
EvLoop::nowUpdate
EvLoop
PHP Manual

EvLoop::now

(PECL ev >= 0.2.0)

EvLoop::now — Returns the current "event loop time"

Beschreibung

public double EvLoop::now ( void )

Returns the current "event loop time", which is the time the event loop received events and started processing them. This timestamp does not change as long as callbacks are being processed, and this is also the base time used for relative timers. You can treat it as the timestamp of the event occurring(or more correctly, libev finding out about it).

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns time of the event loop in (fractional) seconds.

Siehe auch

  • Ev::now() - Returns the time when the last iteration of the default event loop has started.
EvLoop::loopFork
EvLoop::nowUpdate
EvLoop


Establishes the current time by querying the kernel, updating the time returned by EvLoop::now in the progress.

EvLoop::now
EvLoop::periodic
EvLoop
PHP Manual

EvLoop::nowUpdate

(PECL ev >= 0.2.0)

EvLoop::nowUpdate — Establishes the current time by querying the kernel, updating the time returned by EvLoop::now in the progress.

Beschreibung

public void EvLoop::nowUpdate ( void )

Establishes the current time by querying the kernel, updating the time returned by EvLoop::now() in the progress. This is a costly operation and is usually done automatically within EvLoop::run() .

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • EvLoop::now() - Returns the current "event loop time"
  • Ev::nowUpdate() - Establishes the current time by querying the kernel, updating the time returned by Ev::now in the progress.
EvLoop::now
EvLoop::periodic
EvLoop


Creates EvPeriodic watcher object associated with the current event loop instance

EvLoop::nowUpdate
EvLoop::prepare
EvLoop
PHP Manual

EvLoop::periodic

(PECL ev >= 0.2.0)

EvLoop::periodic — Creates EvPeriodic watcher object associated with the current event loop instance

Beschreibung

final public EvPeriodic EvLoop::periodic ( double $offset , double $interval , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Creates EvPeriodic watcher object associated with the current event loop instance

Parameter-Liste

All parameters have the same maening as for EvPeriodic::__construct()

Rückgabewerte

Returns EvPeriodic object on success.

Siehe auch

  • EvPeriodic::__construct() - Constructs EvPeriodic watcher object
EvLoop::nowUpdate
EvLoop::prepare
EvLoop


Creates EvPrepare watcher object associated with the current event loop instance

EvLoop::periodic
EvLoop::resume
EvLoop
PHP Manual

EvLoop::prepare

(PECL ev >= 0.2.0)

EvLoop::prepare — Creates EvPrepare watcher object associated with the current event loop instance

Beschreibung

final public EvPrepare EvLoop::prepare ( callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Creates EvPrepare watcher object associated with the current event loop instance

Parameter-Liste

All parameters have the same maening as for EvPrepare()

Rückgabewerte

Returns EvPrepare object on success

Siehe auch

  • EvPrepare::__construct() - Constructs EvPrepare watcher object
EvLoop::periodic
EvLoop::resume
EvLoop


Resume previously suspended default event loop

EvLoop::prepare
EvLoop::run
EvLoop
PHP Manual

EvLoop::resume

(PECL ev >= 0.2.0)

EvLoop::resume — Resume previously suspended default event loop

Beschreibung

public void EvLoop::resume ( void )

EvLoop::suspend() and EvLoop::resume() methods suspend and resume a loop correspondingly.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • EvLoop::suspend() - Suspend the loop
  • Ev::resume() - Resume previously suspended default event loop
EvLoop::prepare
EvLoop::run
EvLoop


Begin checking for events and calling callbacks for the loop

EvLoop::resume
EvLoop::signal
EvLoop
PHP Manual

EvLoop::run

(PECL ev >= 0.2.0)

EvLoop::run — Begin checking for events and calling callbacks for the loop

Beschreibung

public void EvLoop::run ([ int $flags = 0 ] )

Begin checking for events and calling callbacks for the current event loop. Returns when a callback calls Ev::stop() method, or the flags are nonzero(in which case the return value is true) or when there are no active watchers which reference the loop( EvWatcher::keepalive() is TRUE), in which case the return value will be FALSE. The return value can generally be interpreted as if TRUE, there is more work left to do .

Parameter-Liste

flags

Optional parameter flags can be one of the following:

List for possible values of flags
flags | Description
0 | The default behavior described above
Ev::RUN_ONCE | Block at most one(wait, but don't loop)
Ev::RUN_NOWAIT | Don't block at all(fetch/handle events, but don't wait)

See the run flag constants .

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • EvLoop::stop() - Stops the event loop
  • Ev::run() - Begin checking for events and calling callbacks for the default loop
EvLoop::resume
EvLoop::signal
EvLoop


Creates EvSignal watcher object associated with the current event loop instance

EvLoop::run
EvLoop::stat
EvLoop
PHP Manual

EvLoop::signal

(PECL ev >= 0.2.0)

EvLoop::signal — Creates EvSignal watcher object associated with the current event loop instance

Beschreibung

final public EvSignal EvLoop::signal ( int $signum , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Creates EvSignal watcher object associated with the current event loop instance

Parameter-Liste

All parameters have the same meaning as for EvSignal::__construct()

Rückgabewerte

Returns EvSignal object on success

Siehe auch

  • EvSignal::__construct() - Constructs EvPeriodic watcher object
EvLoop::run
EvLoop::stat
EvLoop


Creates EvStat watcher object associated with the current event loop instance

EvLoop::signal
EvLoop::stop
EvLoop
PHP Manual

EvLoop::stat

(PECL ev >= 0.2.0)

EvLoop::stat — Creates EvStat watcher object associated with the current event loop instance

Beschreibung

final public EvStat EvLoop::stat ( string $path , double $interval , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Creates EvStat watcher object associated with the current event loop instance

Parameter-Liste

All parameters have the same meaning as for EvSignal::__construct()

Rückgabewerte

Returns EvStat object on success

Siehe auch

  • EvSignal::__construct() - Constructs EvPeriodic watcher object
EvLoop::signal
EvLoop::stop
EvLoop


Stops the event loop

EvLoop::stat
EvLoop::suspend
EvLoop
PHP Manual

EvLoop::stop

(PECL ev >= 0.2.0)

EvLoop::stop — Stops the event loop

Beschreibung

public void EvLoop::stop ([ int $how ] )

Stops the event loop

Parameter-Liste

how

One of Ev::BREAK_* constants .

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • EvLoop::run() - Begin checking for events and calling callbacks for the loop
  • Ev::stop() - Stops the default event loop
EvLoop::stat
EvLoop::suspend
EvLoop


Suspend the loop

EvLoop::stop
EvLoop::timer
EvLoop
PHP Manual

EvLoop::suspend

(PECL ev >= 0.2.0)

EvLoop::suspend — Suspend the loop

Beschreibung

public void EvLoop::suspend ( void )

EvLoop::suspend() and EvLoop::resume() methods suspend and resume a loop correspondingly.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • EvLoop::resume() - Resume previously suspended default event loop
  • Ev::suspend() - Suspend the default event loop
EvLoop::stop
EvLoop::timer
EvLoop


Creates EvTimer watcher object associated with the current event loop instance

EvLoop::suspend
EvLoop::verify
EvLoop
PHP Manual

EvLoop::timer

(PECL ev >= 0.2.0)

EvLoop::timer — Creates EvTimer watcher object associated with the current event loop instance

Beschreibung

final public EvTimer EvLoop::timer ( double $after , double $repeat , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Creates EvTimer watcher object associated with the current event loop instance

Parameter-Liste

All parameters have the same meaning as for EvTimer::__construct()

Rückgabewerte

Returns EvTimer object on success

Siehe auch

  • EvTimer::__construct() - Constructs an EvTimer watcher object
EvLoop::suspend
EvLoop::verify
EvLoop


Performs internal consistency checks(for debugging)

EvLoop::timer
EvPeriodic
EvLoop
PHP Manual

EvLoop::verify

(PECL ev >= 0.2.0)

EvLoop::verify — Performs internal consistency checks(for debugging)

Beschreibung

public void EvLoop::verify ( void )

Performs internal consistency checks(for debugging libev ) and abort the program if any data structures were found to be corrupted.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • Ev::verify() - Performs internal consistency checks(for debugging)
EvLoop::timer
EvPeriodic
EvLoop


The EvPeriodic class

(PECL ev >= 0.2.0)

Einführung

Periodic watchers are also timers of a kind, but they are very versatile.

Unlike EvTimer , EvPeriodic watchers are not based on real time(or relative time, the physical time that passes) but on wall clock time(absolute time, calendar or clock). The difference is that wall clock time can run faster or slower than real time, and time jumps are not uncommon(e.g. when adjusting it).

EvPeriodic watcher can be configured to trigger after some specific point in time. For example, if an EvPeriodic watcher is configured to trigger "in 10 seconds" (e.g. EvLoop::now() + 10.0 , i.e. an absolute time, not a delay), and the system clock is reset to January of the previous year , then it will take a year or more to trigger the event (unlike an EvTimer , which would still trigger roughly 10 seconds after starting it as it uses a relative timeout).

As with timers, the callback is guaranteed to be invoked only when the point in time where it is supposed to trigger has passed. If multiple timers become ready during the same loop iteration then the ones with earlier time-out values are invoked before ones with later time-out values (but this is no longer true when a callback calls EvLoop::run() recursively).

Klassenbeschreibung

EvPeriodic extends EvWatcher {
/* Eigenschaften */
public $offset ;
public $interval ;
/* Geerbte Eigenschaften */
public $is_active ;
public $data ;
public $is_pending ;
public $priority ;
/* Methoden */
public void again ( void )
public double at ( void )
public __construct ( double $offset , string $interval , callable $reschedule_cb , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
final public static EvPeriodic createStopped ( double $offset , double $interval , callable $reschedule_cb , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
public void set ( double $offset , double $interval )
/* Geerbte Methoden */
public int EvWatcher::clear ( void )
abstract public EvWatcher::__construct ( void )
public void EvWatcher::feed ( int $revents )
public EvLoop EvWatcher::getLoop ( void )
public void EvWatcher::invoke ( int $revents )
public bool EvWatcher::keepalive ([ bool $value ] )
public void EvWatcher::setCallback ( callable $callback )
public void EvWatcher::start ( void )
public void EvWatcher::stop ( void )
}

Eigenschaften

offset

When repeating, this contains the offset value, otherwise this is the absolute point in time(the offset value passed to EvPeriodic::set() , although libev might modify this value for better numerical stability).

interval

The current interval value. Can be modified any time, but changes only take effect when the periodic timer fires or EvPeriodic::again() is being called.

Inhaltsverzeichnis

  • EvPeriodic::again — Simply stops and restarts the periodic watcher again.
  • EvPeriodic::at — Returns the absolute time that this watcher is supposed to trigger next
  • EvPeriodic::__construct — Constructs EvPeriodic watcher object
  • EvPeriodic::createStopped — Create a stopped EvPeriodic watcher
  • EvPeriodic::set — Configures the watcher
EvLoop::verify
EvPeriodic::again
Ev


Simply stops and restarts the periodic watcher again.

EvPeriodic
EvPeriodic::at
EvPeriodic
PHP Manual

EvPeriodic::again

(PECL ev >= 0.2.0)

EvPeriodic::again — Simply stops and restarts the periodic watcher again.

Beschreibung

public void EvPeriodic::again ( void )

Simply stops and restarts the periodic watcher again. This is only useful when attributes are changed.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • EvTimer::again() - Restarts the timer watcher
EvPeriodic
EvPeriodic::at
EvPeriodic


Returns the absolute time that this watcher is supposed to trigger next

EvPeriodic::again
EvPeriodic::__construct
EvPeriodic
PHP Manual

EvPeriodic::at

(PECL ev >= 0.2.0)

EvPeriodic::at — Returns the absolute time that this watcher is supposed to trigger next

Beschreibung

public double EvPeriodic::at ( void )

When the watcher is active, returns the absolute time that this watcher is supposed to trigger next. This is not the same as the offset argument to EvPeriodic::set() or EvPeriodic::__construct() , but indeed works even in interval mode.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the absolute time this watcher is supposed to trigger next in seconds.

EvPeriodic::again
EvPeriodic::__construct
EvPeriodic


Constructs EvPeriodic watcher object

EvPeriodic::at
EvPeriodic::createStopped
EvPeriodic
PHP Manual

EvPeriodic::__construct

(PECL ev >= 0.2.0)

EvPeriodic::__construct — Constructs EvPeriodic watcher object

Beschreibung

public EvPeriodic::__construct ( double $offset , string $interval , callable $reschedule_cb , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Constructs EvPeriodic watcher object and starts it automatically. EvPeriodic::createStopped() method creates stopped periodic watcher.

Parameter-Liste

offset

See Periodic watcher operation modes

interval

See Periodic watcher operation modes

reschedule_cb

Reschedule callback. You can pass NULL. See Periodic watcher operation modes

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Rückgabewerte

Returns EvPeriodic object on success.

Beispiele

Beispiel #1 Periodic timer. Use reschedule callback

<?php
// Tick each 10.5 seconds

function reschedule_cb ($watcher, $now) {
 return $now + (10.5. - fmod($now, 10.5));
}

$w = new EvPeriodic(0., 0., "reschedule_cb", function ($w, $revents) {
 echo time(), PHP_EOL;
});
Ev::run();
?>

Beispiel #2 Periodic timer. Tick every 10.5 seconds starting at now

<?php
// Tick every 10.5 seconds starting at now
$w = new EvPeriodic(fmod(Ev::now(), 10.5), 10.5, NULL, function ($w, $revents) {
 echo time(), PHP_EOL;
});
Ev::run();
?>

Beispiel #3 Hourly watcher

<?php
$hourly = EvPeriodic(0, 3600, NULL, function () {
 echo "once per hour\n";
});
?>

Siehe auch

  • Periodic watcher operation modes
  • EvTimer
  • EvPeriodic::createStopped() - Create a stopped EvPeriodic watcher
EvPeriodic::at
EvPeriodic::createStopped
EvPeriodic


Create a stopped EvPeriodic watcher

EvPeriodic::__construct
EvPeriodic::set
EvPeriodic
PHP Manual

EvPeriodic::createStopped

(PECL ev >= 0.2.0)

EvPeriodic::createStopped — Create a stopped EvPeriodic watcher

Beschreibung

final public static EvPeriodic EvPeriodic::createStopped ( double $offset , double $interval , callable $reschedule_cb , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Create EvPeriodic object. Unlike EvPeriodic::__construct() this method doesn't start the watcher automatically.

Parameter-Liste

offset

See Periodic watcher operation modes

interval

See Periodic watcher operation modes

reschedule_cb

Reschedule callback. You can pass NULL. See Periodic watcher operation modes

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Rückgabewerte

Returns EvPeriodic watcher object on success.

Siehe auch

  • EvPeriodic::__construct() - Constructs EvPeriodic watcher object
  • EvTimer::createStopped() - Creates EvTimer stopped watcher object
EvPeriodic::__construct
EvPeriodic::set
EvPeriodic


Configures the watcher

EvPeriodic::createStopped
EvPrepare
EvPeriodic
PHP Manual

EvPeriodic::set

(PECL ev >= 0.2.0)

EvPeriodic::set — Configures the watcher

Beschreibung

public void EvPeriodic::set ( double $offset , double $interval )

(Re-)Configures EvPeriodic watcher

Parameter-Liste

offset

The same meaning as for EvPeriodic::__construct() . See Periodic watcher operation modes

interval

The same meaning as for EvPeriodic::__construct() . See Periodic watcher operation modes

Rückgabewerte

Es wird kein Wert zurückgegeben.

EvPeriodic::createStopped
EvPrepare
EvPeriodic


The EvPrepare class

(PECL ev >= 0.2.0)

Einführung

EvPrepare and EvCheck watchers are usually used in pairs. EvPrepare watchers get invoked before the process blocks, EvCheck afterwards.

It is not allowed to call EvLoop::run() or similar methods or functions that enter the current event loop from either EvPrepare or EvCheck watchers. Other loops than the current one are fine, however. The rationale behind this is that one don't need to check for recursion in those watchers, i.e. the sequence will always be: EvPrepare -> blocking -> EvCheck , so having a watcher of each kind they will always be called in pairs bracketing the blocking call.

The main purpose is to integrate other event mechanisms into libev and their use is somewhat advanced. They could be used, for example, to track variable changes, implement custom watchers, integrate net-snmp or a coroutine library and lots more. They are also occasionally useful to cache some data and want to flush it before blocking.

It is recommended to give EvCheck watchers highest( Ev::MAXPRI ) priority, to ensure that they are being run before any other watchers after the poll (this doesn’t matter for EvPrepare watchers).

Also, EvCheck watchers should not activate/feed events. While libev fully supports this, they might get executed before other EvCheck watchers did their job.

Klassenbeschreibung

EvPrepare extends EvWatcher {
/* Geerbte Eigenschaften */
public $is_active ;
public $data ;
public $is_pending ;
public $priority ;
/* Methoden */
public __construct ( string $callback [, string $data [, string $priority ]] )
final public static EvPrepare createStopped ( callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
/* Geerbte Methoden */
public int EvWatcher::clear ( void )
abstract public EvWatcher::__construct ( void )
public void EvWatcher::feed ( int $revents )
public EvLoop EvWatcher::getLoop ( void )
public void EvWatcher::invoke ( int $revents )
public bool EvWatcher::keepalive ([ bool $value ] )
public void EvWatcher::setCallback ( callable $callback )
public void EvWatcher::start ( void )
public void EvWatcher::stop ( void )
}

Inhaltsverzeichnis

  • EvPrepare::__construct — Constructs EvPrepare watcher object
  • EvPrepare::createStopped — Creates a stopped instance of EvPrepare watcher
EvPeriodic::set
EvPrepare::__construct
Ev


Constructs EvPrepare watcher object

EvPrepare
EvPrepare::createStopped
EvPrepare
PHP Manual

EvPrepare::__construct

(PECL ev >= 0.2.0)

EvPrepare::__construct — Constructs EvPrepare watcher object

Beschreibung

public EvPrepare::__construct ( string $callback [, string $data [, string $priority ]] )

Constructs EvPrepare watcher object. And starts the watcher automatically. If need a stopped watcher consider using EvPrepare::createStopped()

Parameter-Liste

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Rückgabewerte

Returns EvPrepare object on success.

Siehe auch

  • EvCheck
EvPrepare
EvPrepare::createStopped
EvPrepare


Creates a stopped instance of EvPrepare watcher

EvPrepare::__construct
EvSignal
EvPrepare
PHP Manual

EvPrepare::createStopped

(PECL ev >= 0.2.0)

EvPrepare::createStopped — Creates a stopped instance of EvPrepare watcher

Beschreibung

final public static EvPrepare EvPrepare::createStopped ( callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Creates a stopped instance of EvPrepare watcher. Unlike EvPrepare::__construct() , this method doesn' start the watcher automatically.

Parameter-Liste

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Rückgabewerte

Return EvPrepare object on success.

Siehe auch

  • EvPrepare::__construct() - Constructs EvPrepare watcher object
  • EvWatcher::start() - Starts the watcher
EvPrepare::__construct
EvSignal
EvPrepare


The EvSignal class

(PECL ev >= 0.2.0)

Einführung

EvSignal watchers will trigger an event when the process receives a specific signal one or more times. Even though signals are very asynchronous, libev will try its best to deliver signals synchronously, i.e. as part of the normal event processing, like any other event.

There is no limit for the number of watchers for the same signal, but only within the same loop, i.e. one can watch for SIGINT in the default loop and for SIGIO in another loop, but it is not allowed to watch for SIGINT in both the default loop and another loop at the same time. At the moment, SIGCHLD is permanently tied to the default loop.

If possible and supported, libev will install its handlers with SA_RESTART (or equivalent) behaviour enabled, so system calls should not be unduly interrupted. In case of a problem with system calls getting interrupted by signals, all the signals can be blocked in an EvCheck watcher and unblocked in a EvPrepare watcher.

Klassenbeschreibung

EvSignal extends EvWatcher {
/* Eigenschaften */
public $signum ;
/* Geerbte Eigenschaften */
public $is_active ;
public $data ;
public $is_pending ;
public $priority ;
/* Methoden */
public __construct ( int $signum , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
final public static EvSignal createStopped ( int $signum , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
public void set ( int $signum )
/* Geerbte Methoden */
public int EvWatcher::clear ( void )
abstract public EvWatcher::__construct ( void )
public void EvWatcher::feed ( int $revents )
public EvLoop EvWatcher::getLoop ( void )
public void EvWatcher::invoke ( int $revents )
public bool EvWatcher::keepalive ([ bool $value ] )
public void EvWatcher::setCallback ( callable $callback )
public void EvWatcher::start ( void )
public void EvWatcher::stop ( void )
}

Eigenschaften

signum

Signal number. See the constants exported by pcntl extension. See also signal(7) man page.

Inhaltsverzeichnis

  • EvSignal::__construct — Constructs EvPeriodic watcher object
  • EvSignal::createStopped — Create stopped EvSignal watcher object
  • EvSignal::set — Configures the watcher
EvPrepare::createStopped
EvSignal::__construct
Ev


Constructs EvPeriodic watcher object

EvSignal
EvSignal::createStopped
EvSignal
PHP Manual

EvSignal::__construct

(PECL ev >= 0.2.0)

EvSignal::__construct — Constructs EvPeriodic watcher object

Beschreibung

public EvSignal::__construct ( int $signum , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Constructs EvPeriodic watcher object and starts it automatically. For a stopped periodic watcher consider using EvSignal::createStopped() method.

Parameter-Liste

signum

Signal number. See constants exported by pcntl extension. See also signal(7) man page.

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Rückgabewerte

Returns EvSignal object on success.

Beispiele

Beispiel #1 Handle SIGTERM signal

<?php
$w = new EvSignal(SIGTERM, function ($watcher) {
    echo "SIGTERM received\n";
    $watcher->stop();
});

Ev::run();
?>

Siehe auch

  • EvSignal::createStopped() - Create stopped EvSignal watcher object
EvSignal
EvSignal::createStopped
EvSignal


Create stopped EvSignal watcher object

EvSignal::__construct
EvSignal::set
EvSignal
PHP Manual

EvSignal::createStopped

(PECL ev >= 0.2.0)

EvSignal::createStopped — Create stopped EvSignal watcher object

Beschreibung

final public static EvSignal EvSignal::createStopped ( int $signum , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Create stopped EvSignal watcher object. Unlike EvSignal::__construct() , this method does't start the watcher automatically.

Parameter-Liste

signum

Signal number. See constants exported by pcntl extension. See also signal(7) man page.

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Rückgabewerte

Returns EvSignal object on success.

Siehe auch

  • EvWatcher::start() - Starts the watcher
  • EvSignal::__construct() - Constructs EvPeriodic watcher object
EvSignal::__construct
EvSignal::set
EvSignal


Configures the watcher

EvSignal::createStopped
EvStat
EvSignal
PHP Manual

EvSignal::set

(PECL ev >= 0.2.0)

EvSignal::set — Configures the watcher

Beschreibung

public void EvSignal::set ( int $signum )

Configures the watcher.

Parameter-Liste

signum

Signal number. The same as for EvSignal::__construct()

Rückgabewerte

Es wird kein Wert zurückgegeben.

EvSignal::createStopped
EvStat
EvSignal


The EvStat class

(PECL ev >= 0.2.0)

Einführung

EvStat monitors a file system path for attribute changes. It calls stat() on that path in regular intervals(or when the OS signals it changed) and sees if it changed compared to the last time, invoking the callback if it did.

The path does not need to exist: changing from "path exists" to "path does not exist" is a status change like any other. The condition "path does not exist" is signified by the 'nlink' item being 0(returned by EvStat::attr() method).

The path must not end in a slash or contain special components such as '.' or .. . The path should be absolute: if it is relative and the working directory changes, then the behaviour is undefined.

Since there is no portable change notification interface available, the portable implementation simply calls stat() regularly on the path to see if it changed somehow. For this case a recommended polling interval can be specified. If one specifies a polling interval of 0.0 (highly recommended) then a suitable, unspecified default value will be used(which could be expected to be around 5 seconds, although this might change dynamically). libev will also impose a minimum interval which is currently around 0.1 , but that’s usually overkill.

This watcher type is not meant for massive numbers of EvStat watchers, as even with OS-supported change notifications, this can be resource-intensive.

Klassenbeschreibung

EvStat extends EvWatcher {
/* Eigenschaften */
public $path ;
public $interval ;
/* Geerbte Eigenschaften */
public $is_active ;
public $data ;
public $is_pending ;
public $priority ;
/* Methoden */
public array attr ( void )
public __construct ( string $path , double $interval , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
final public static void createStopped ( string $path , double $interval , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
public void prev ( void )
public void set ( string $path , double $interval )
public bool stat ( void )
/* Geerbte Methoden */
public int EvWatcher::clear ( void )
abstract public EvWatcher::__construct ( void )
public void EvWatcher::feed ( int $revents )
public EvLoop EvWatcher::getLoop ( void )
public void EvWatcher::invoke ( int $revents )
public bool EvWatcher::keepalive ([ bool $value ] )
public void EvWatcher::setCallback ( callable $callback )
public void EvWatcher::start ( void )
public void EvWatcher::stop ( void )
}

Eigenschaften

interval

Readonly . Hint on how quickly a change is expected to be detected and should normally be specified as 0.0 to let libev choose a suitable value.

path

Readonly . The path to wait for status changes on.

Inhaltsverzeichnis

  • EvStat::attr — Returns the values most recently detected by Ev
  • EvStat::__construct — Constructs EvStat watcher object
  • EvStat::createStopped — Create a stopped EvStat watcher object
  • EvStat::prev — Returns the previous set of values returned by EvStat::attr
  • EvStat::set — Configures the watcher
  • EvStat::stat — Initiates the stat call
EvSignal::set
EvStat::attr
Ev


Returns the values most recently detected by Ev

EvStat
EvStat::__construct
EvStat
PHP Manual

EvStat::attr

(PECL ev >= 0.2.0)

EvStat::attr — Returns the values most recently detected by Ev

Beschreibung

public array EvStat::attr ( void )

Returns array of the values most recently detected by Ev

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns array with the values most recently detect by Ev(without actual stat 'ing):

List for item keys of the array returned by EvStat::attr()
Key | Description
'dev' | ID of device containing file
'ino' | inode number
'mode' | protection
'nlink' | number of hard links
'uid' | user ID of owner
'size' | total size, in bytes
'gid' | group ID of owner
'rdev' | device ID (if special file)
'blksize' | blocksize for file system I/O
'blocks' | number of 512B blocks allocated
'atime' | time of last access
'ctime' | time of last status change
'mtime' | time of last modification

See stat(2) man page for details.

Beispiele

Beispiel #1 Monitor changes of /var/log/messages

<?php
// Use 10 second update interval.
$w = new EvStat("/var/log/messages", 8, function ($w) {
    echo "/var/log/messages changed\n";

    $attr = $w->attr();

    if ($attr['nlink']) {
        printf("Current size: %ld\n", $attr['size']);
        printf("Current atime: %ld\n", $attr['atime']);
        printf("Current mtime: %ld\n", $attr['mtime']);
    } else {
        fprintf(STDERR, "`messages` file is not there!");
        $w->stop();
    }
});

Ev::run();
?>

Siehe auch

  • EvStat::prev() - Returns the previous set of values returned by EvStat::attr
  • EvStat::stat() - Initiates the stat call
EvStat
EvStat::__construct
EvStat


Constructs EvStat watcher object

EvStat::attr
EvStat::createStopped
EvStat
PHP Manual

EvStat::__construct

(PECL ev >= 0.2.0)

EvStat::__construct — Constructs EvStat watcher object

Beschreibung

public EvStat::__construct ( string $path , double $interval , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Constructs EvStat watcher object and starts the watcher automatically.

Parameter-Liste

path

The path to wait for status changes on.

interval

Hint on how quickly a change is expected to be detected and should normally be specified as 0.0 to let libev choose a suitable value.

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Rückgabewerte

Returns EvStat watcher object on succes.

Beispiele

Beispiel #1 Monitor changes of /var/log/messages

<?php
// Use 10 second update interval.
$w = new EvStat("/var/log/messages", 8, function ($w) {
 echo "/var/log/messages changed\n";

 $attr = $w->attr();

 if ($attr['nlink']) {
  printf("Current size: %ld\n", $attr['size']);
  printf("Current atime: %ld\n", $attr['atime']);
  printf("Current mtime: %ld\n", $attr['mtime']);
 } else {
  fprintf(STDERR, "`messages` file is not there!");
  $w->stop();
 }
});

Ev::run();
?>
EvStat::attr
EvStat::createStopped
EvStat


Create a stopped EvStat watcher object

EvStat::__construct
EvStat::prev
EvStat
PHP Manual

EvStat::createStopped

(PECL ev >= 0.2.0)

EvStat::createStopped — Create a stopped EvStat watcher object

Beschreibung

final public static void EvStat::createStopped ( string $path , double $interval , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Creates EvStat watcher object, but doesn't start it automatically(unlike EvStat::__construct() ).

Parameter-Liste

path

The path to wait for status changes on.

interval

Hint on how quickly a change is expected to be detected and should normally be specified as 0.0 to let libev choose a suitable value.

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Rückgabewerte

Returns a stopped EvStat watcher object on success.

Siehe auch

  • EvStat::__construct() - Constructs EvStat watcher object
  • EvWatcher::start() - Starts the watcher
EvStat::__construct
EvStat::prev
EvStat


Returns the previous set of values returned by EvStat::attr

EvStat::createStopped
EvStat::set
EvStat
PHP Manual

EvStat::prev

(PECL ev >= 0.2.0)

EvStat::prev — Returns the previous set of values returned by EvStat::attr

Beschreibung

public void EvStat::prev ( void )

Just like EvStat::attr() , but returns the previous set of values.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array with the same structure as the array returned by EvStat::attr() . The array contains previously detected values.

Siehe auch

  • EvStat::attr() - Returns the values most recently detected by Ev
  • EvStat::stat() - Initiates the stat call
EvStat::createStopped
EvStat::set
EvStat


Configures the watcher

EvStat::prev
EvStat::stat
EvStat
PHP Manual

EvStat::set

(PECL ev >= 0.2.0)

EvStat::set — Configures the watcher

Beschreibung

public void EvStat::set ( string $path , double $interval )

Configures the watcher.

Parameter-Liste

path

The path to wait for status changes on.

interval

Hint on how quickly a change is expected to be detected and should normally be specified as 0.0 to let libev choose a suitable value.

Rückgabewerte

Es wird kein Wert zurückgegeben.

EvStat::prev
EvStat::stat
EvStat


Initiates the stat call

EvStat::set
EvTimer
EvStat
PHP Manual

EvStat::stat

(PECL ev >= 0.2.0)

EvStat::stat — Initiates the stat call

Beschreibung

public bool EvStat::stat ( void )

Initiates the stat call(updates internal cache). It stats(using lstat ) the path specified in the watcher and sets to the values found.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if path exists. Otherwise FALSE.

Siehe auch

  • EvStat::attr() - Returns the values most recently detected by Ev
  • EvStat::prev() - Returns the previous set of values returned by EvStat::attr
EvStat::set
EvTimer
EvStat


The EvTimer class

(PECL ev >= 0.2.0)

Einführung

EvTimer watchers are simple relative timers that generate an event after a given time, and optionally repeating in regular intervals after that.

The timers are based on real time, that is, if one registers an event that times out after an hour and resets the system clock to January last year , it will still time out after(roughly) one hour. "Roughly" because detecting time jumps is hard, and some inaccuracies are unavoidable.

The callback is guaranteed to be invoked only after its timeout has passed (not at, so on systems with very low-resolution clocks this might introduce a small delay). If multiple timers become ready during the same loop iteration then the ones with earlier time-out values are invoked before ones of the same priority with later time-out values (but this is no longer true when a callback calls EvLoop::run() recursively).

The timer itself will do a best-effort at avoiding drift, that is, if a timer is configured to trigger every 10 seconds, then it will normally trigger at exactly 10 second intervals. If, however, the script cannot keep up with the timer because it takes longer than those 10 seconds to do) the timer will not fire more than once per event loop iteration.

Klassenbeschreibung

EvTimer extends EvWatcher {
/* Eigenschaften */
public $repeat ;
public $remaining ;
/* Geerbte Eigenschaften */
public $is_active ;
public $data ;
public $is_pending ;
public $priority ;
/* Methoden */
public void again ( void )
public __construct ( double $after , double $repeat , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
final public static EvTimer createStopped ( double $after , double $repeat , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
public void set ( double $after , double $repeat )
/* Geerbte Methoden */
public int EvWatcher::clear ( void )
abstract public EvWatcher::__construct ( void )
public void EvWatcher::feed ( int $revents )
public EvLoop EvWatcher::getLoop ( void )
public void EvWatcher::invoke ( int $revents )
public bool EvWatcher::keepalive ([ bool $value ] )
public void EvWatcher::setCallback ( callable $callback )
public void EvWatcher::start ( void )
public void EvWatcher::stop ( void )
}

Eigenschaften

repeat

If repeat is 0.0 , then it will automatically be stopped once the timeout is reached. If it is positive, then the timer will automatically be configured to trigger again every repeat seconds later, until stopped manually.

remaining

Returns the remaining time until a timer fires. If the timer is active, then this time is relative to the current event loop time, otherwise it's the timeout value currently configured.

That is, after instanciating an EvTimer with an after value of 5.0 and repeat value of 7.0 , remaining returns 5.0 . When the timer is started and one second passes, remaining will return 4.0 . When the timer expires and is restarted, it will return roughly 7.0 (likely slightly less as callback invocation takes some time too), and so on.

Inhaltsverzeichnis

  • EvTimer::again — Restarts the timer watcher
  • EvTimer::__construct — Constructs an EvTimer watcher object
  • EvTimer::createStopped — Creates EvTimer stopped watcher object
  • EvTimer::set — Configures the watcher
EvStat::stat
EvTimer::again
Ev


Restarts the timer watcher

EvTimer
EvTimer::__construct
EvTimer
PHP Manual

EvTimer::again

(PECL ev >= 0.2.0)

EvTimer::again — Restarts the timer watcher

Beschreibung

public void EvTimer::again ( void )

This will act as if the timer timed out and restart it again if it is repeating. The exact semantics are:

  1. if the timer is pending, its pending status is cleared.

  2. if the timer is started but non-repeating, stop it (as if it timed out).

  3. if the timer is repeating, either start it if necessary (with the repeat value), or reset the running timer to the repeat value.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • EvWatcher::stop() - Stops the watcher
EvTimer
EvTimer::__construct
EvTimer


Constructs an EvTimer watcher object

EvTimer::again
EvTimer::createStopped
EvTimer
PHP Manual

EvTimer::__construct

(PECL ev >= 0.2.0)

EvTimer::__construct — Constructs an EvTimer watcher object

Beschreibung

public EvTimer::__construct ( double $after , double $repeat , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Constructs an EvTimer watcher object.

Parameter-Liste

after

Configures the timer to trigger after after seconds.

repeat

If repeat is 0.0 , then it will automatically be stopped once the timeout is reached. If it is positive, then the timer will automatically be configured to trigger again every repeat seconds later, until stopped manually.

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Rückgabewerte

Returns EvTimer object on success.

Beispiele

Beispiel #1 Simple timers

<?php
// Create and start timer firing after 2 seconds
$w1 = new EvTimer(2, 0, function () {
    echo "2 seconds elapsed\n";
});

// Create and launch timer firing after 2 seconds repeating each second
// until we manually stop it
$w2 = new EvTimer(2, 1, function ($w) {
    echo "is called every second, is launched after 2 seconds\n";
    echo "iteration = ", Ev::iteration(), PHP_EOL;

    // Stop the watcher after 5 iterations
    Ev::iteration() == 5 and $w->stop();
    // Stop the watcher if further calls cause more than 10 iterations
    Ev::iteration() >= 10 and $w->stop();
});

// Create stopped timer. It will be inactive until we start it ourselves
$w_stopped = EvTimer::createStopped(10, 5, function($w) {
    echo "Callback of a timer created as stopped\n";

    // Stop the watcher after 2 iterations
    Ev::iteration() >= 2 and $w->stop();
});

// Loop until Ev::stop() is called or all of watchers stop
Ev::run();

// Start and look if it works
$w_stopped->start();
echo "Run single iteration\n";
Ev::run(Ev::RUN_ONCE);

echo "Restart the second watcher and try to handle the same events, but don't block\n";
$w2->again();
Ev::run(Ev::RUN_NOWAIT);

$w = new EvTimer(10, 0, function() {});
echo "Running a blocking loop\n";
Ev::run();
echo "END\n";
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

2 seconds elapsed
is called every second, is launched after 2 seconds
iteration = 1
is called every second, is launched after 2 seconds
iteration = 2
is called every second, is launched after 2 seconds
iteration = 3
is called every second, is launched after 2 seconds
iteration = 4
is called every second, is launched after 2 seconds
iteration = 5
Run single iteration
Callback of a timer created as stopped
Restart the second watcher and try to handle the same events, but don't block
Running a blocking loop
is called every second, is launched after 2 seconds
iteration = 8
is called every second, is launched after 2 seconds
iteration = 9
is called every second, is launched after 2 seconds
iteration = 10
END

Siehe auch

  • EvTimer::createStopped() - Creates EvTimer stopped watcher object
  • EvPeriodic
  • » ev_timer - relative and optionally repeating timeouts
  • » Be smart about timeouts
EvTimer::again
EvTimer::createStopped
EvTimer


Creates EvTimer stopped watcher object

EvTimer::__construct
EvTimer::set
EvTimer
PHP Manual

EvTimer::createStopped

(PECL ev >= 0.2.0)

EvTimer::createStopped — Creates EvTimer stopped watcher object

Beschreibung

final public static EvTimer EvTimer::createStopped ( double $after , double $repeat , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )

Creates EvTimer stopped watcher object. Unlike EvTimer::__construct() , this method doesn't start the watcher automatically.

Parameter-Liste

after

Configures the timer to trigger after after seconds.

repeat

If repeat is 0.0 , then it will automatically be stopped once the timeout is reached. If it is positive, then the timer will automatically be configured to trigger again every repeat seconds later, until stopped manually.

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Rückgabewerte

Returns EvTimer watcher object on success.

Beispiele

Beispiel #1 Monotor changes of /var/log/messages. Avoid missing updates by means of one second delay

<?php
$timer = EvTimer::createStopped(0., 1.02, function ($w) {
    $w->stop();

    $stat = $w->data;

    // 1 second after the most recent change of the file
    printf("Current size: %ld\n", $stat->attr()['size']);
});

$stat = new EvStat("/var/log/messages", 0., function () use ($timer) {
    // Reset timer watcher
    $timer->again();
});

$timer->data = $stat;

Ev::run();
?>

Siehe auch

  • EvTimer::__construct() - Constructs an EvTimer watcher object
  • EvPeriodic
EvTimer::__construct
EvTimer::set
EvTimer


Configures the watcher

EvTimer::createStopped
EvWatcher
EvTimer
PHP Manual

EvTimer::set

(PECL ev >= 0.2.0)

EvTimer::set — Configures the watcher

Beschreibung

public void EvTimer::set ( double $after , double $repeat )

Configures the watcher

Parameter-Liste

after

Configures the timer to trigger after after seconds.

repeat

If repeat is 0.0 , then it will automatically be stopped once the timeout is reached. If it is positive, then the timer will automatically be configured to trigger again every repeat seconds later, until stopped manually.

Rückgabewerte

Es wird kein Wert zurückgegeben.

EvTimer::createStopped
EvWatcher
EvTimer


The EvWatcher class

(PECL ev >= 0.2.0)

Einführung

EvWatcher is a base class for all watchers( EvCheck , EvChild etc.). Since EvWatcher 's constructor is abstract , one can't(and don't need to) create EvWatcher objects directly.

Klassenbeschreibung

abstract EvWatcher {
/* Eigenschaften */
public $is_active ;
public $data ;
public $is_pending ;
public $priority ;
/* Methoden */
public int clear ( void )
abstract public __construct ( void )
public void feed ( int $revents )
public EvLoop getLoop ( void )
public void invoke ( int $revents )
public bool keepalive ([ bool $value ] )
public void setCallback ( callable $callback )
public void start ( void )
public void stop ( void )
}

Eigenschaften

is_active

Readonly . TRUE if the watcher is active. FALSE otherwise.

data

User custom data associated with the watcher

is_pending

Readonly .TRUE if the watcher is pending, i.e. it has outstanding events, but its callback has not yet been invoked. FALSE otherwise. As long, as a watcher is pending(but not active), one must not change its priority.

priority

Integer between Ev::MINPRI and Ev::MAXPRI . Pending watchers with higher priority will be invoked before watchers with lower priority, but priority will not keep watchers from being executed(except for EvIdle watchers). EvIdle watchers provide functionality to suppress invocation when higher priority events are pending.

Inhaltsverzeichnis

  • EvWatcher::clear — Clear watcher pending status
  • EvWatcher::__construct — Abstract constructor of a watcher object
  • EvWatcher::feed — Feeds the given revents set into the event loop
  • EvWatcher::getLoop — Returns the loop responsible for the watcher
  • EvWatcher::invoke — Invokes the watcher callback with the given received events bit mask
  • EvWatcher::keepalive — Configures whether to keep the loop from returning
  • EvWatcher::setCallback — Sets new callback for the watcher
  • EvWatcher::start — Starts the watcher
  • EvWatcher::stop — Stops the watcher
EvTimer::set
EvWatcher::clear
Ev


Clear watcher pending status

EvWatcher
EvWatcher::__construct
EvWatcher
PHP Manual

EvWatcher::clear

(PECL ev >= 0.2.0)

EvWatcher::clear — Clear watcher pending status

Beschreibung

public int EvWatcher::clear ( void )

If the watcher is pending, this method clears its pending status and returns its revents bitset(as if its callback was invoked). If the watcher isn't pending it does nothing and returns 0 .

Sometimes it can be useful to "poll" a watcher instead of waiting for its callback to be invoked, which can be accomplished with this function.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

In case if the watcher is pending, returns revents bitset as if the watcher callback had been invoked. Otherwise returns 0 .

EvWatcher
EvWatcher::__construct
EvWatcher


Abstract constructor of a watcher object

EvWatcher::clear
EvWatcher::feed
EvWatcher
PHP Manual

EvWatcher::__construct

(PECL ev >= 0.2.0)

EvWatcher::__construct — Abstract constructor of a watcher object

Beschreibung

abstract public EvWatcher::__construct ( void )

EvWatcher::__construct() is an abstract constructor of a watcher object implemented in the derived classes.

EvWatcher::clear
EvWatcher::feed
EvWatcher


Feeds the given revents set into the event loop

EvWatcher::__construct
EvWatcher::getLoop
EvWatcher
PHP Manual

EvWatcher::feed

(PECL ev >= 0.2.0)

EvWatcher::feed — Feeds the given revents set into the event loop

Beschreibung

public void EvWatcher::feed ( int $revents )

Feeds the given revents set into the event loop, as if the specified event had happened for the watcher.

Parameter-Liste

revents

Bit mask of watcher received events .

Rückgabewerte

Es wird kein Wert zurückgegeben.

EvWatcher::__construct
EvWatcher::getLoop
EvWatcher


Returns the loop responsible for the watcher

EvWatcher::feed
EvWatcher::invoke
EvWatcher
PHP Manual

EvWatcher::getLoop

(PECL ev >= 0.2.0)

EvWatcher::getLoop — Returns the loop responsible for the watcher

Beschreibung

public EvLoop EvWatcher::getLoop ( void )

Returns the loop responsible for the watcher

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns EvLoop event loop object responsible for the watcher.

EvWatcher::feed
EvWatcher::invoke
EvWatcher


Invokes the watcher callback with the given received events bit mask

EvWatcher::getLoop
EvWatcher::keepalive
EvWatcher
PHP Manual

EvWatcher::invoke

(PECL ev >= 0.2.0)

EvWatcher::invoke — Invokes the watcher callback with the given received events bit mask

Beschreibung

public void EvWatcher::invoke ( int $revents )

Invokes the watcher callback with the given received events bit mask.

Parameter-Liste

revents

Bit mask of watcher received events .

Rückgabewerte

Es wird kein Wert zurückgegeben.

EvWatcher::getLoop
EvWatcher::keepalive
EvWatcher


Configures whether to keep the loop from returning

EvWatcher::invoke
EvWatcher::setCallback
EvWatcher
PHP Manual

EvWatcher::keepalive

(PECL ev >= 0.2.0)

EvWatcher::keepalive — Configures whether to keep the loop from returning

Beschreibung

public bool EvWatcher::keepalive ([ bool $value ] )

Configures whether to keep the loop from returning. With keepalive value set to FALSE the watcher won't keep Ev::run() / EvLoop::run() from returning even though the watcher is active.

Watchers have keepalive value TRUE by default.

Clearing keepalive status is useful when returning from Ev::run() / EvLoop::run() just because of the watcher is undesirable. It could be a long running UDP socket watcher or so.

Parameter-Liste

value

With keepalive value set to FALSE the watcher won't keep Ev::run() / EvLoop::run() from returning even though the watcher is active.

Rückgabewerte

Returns the previous state.

Beispiele

Beispiel #1 Register an I/O watcher for some UDP socket but do not keep the event loop from running just because of that watcher.

<?php
$udp_socket = ...
$udp_watcher = new EvIo($udp_socket, Ev::READ, function () { /* ... */ });
$udp_watcher->keepalive(FALSE);
?>
EvWatcher::invoke
EvWatcher::setCallback
EvWatcher


Sets new callback for the watcher

EvWatcher::keepalive
EvWatcher::start
EvWatcher
PHP Manual

EvWatcher::setCallback

(PECL ev >= 0.2.0)

EvWatcher::setCallback — Sets new callback for the watcher

Beschreibung

public void EvWatcher::setCallback ( callable $callback )

Sets new callback for the watcher

Parameter-Liste

callback

See Watcher callbacks .

Rückgabewerte

Es wird kein Wert zurückgegeben.

EvWatcher::keepalive
EvWatcher::start
EvWatcher


Starts the watcher

EvWatcher::setCallback
EvWatcher::stop
EvWatcher
PHP Manual

EvWatcher::start

(PECL ev >= 0.2.0)

EvWatcher::start — Starts the watcher

Beschreibung

public void EvWatcher::start ( void )

Marks the watcher as active. Note that only active watchers will receive events.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • EvWatcher::stop() - Stops the watcher
EvWatcher::setCallback
EvWatcher::stop
EvWatcher


Stops the watcher

EvWatcher::start
Expect
EvWatcher
PHP Manual

EvWatcher::stop

(PECL ev >= 0.2.0)

EvWatcher::stop — Stops the watcher

Beschreibung

public void EvWatcher::stop ( void )

Marks the watcher as inactive. Note that only active watchers will receive events.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • EvWatcher::start() - Starts the watcher
EvWatcher::start
Expect
EvWatcher


Expect

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • Expect Usage Examples
  • Expect Funktionen
    • expect_expectl — Waits until the output from a process matches one of the patterns, a specified time period has passed, or an EOF is seen
    • expect_popen — Execute command via Bourne shell, and open the PTY stream to the process
EvWatcher::stop
Einführung
Erweiterungen zur Prozesskontrolle


Einführung

This extension allows to interact with processes through PTY. You may consider using the expect:// wrapper with the filesystem functions which provide a simpler and more intuitive interface.

Expect
Installation/Konfiguration
Expect


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Expect


Anforderungen

Dieses Modul verwendet die Funktionen der » expect Bibliothek. Sie brauchen libexpect Version >= 5.43.0.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese » PECL-Extension ist nicht Teil von PHP. Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/expect.

In order to use these functions you must compile PHP with expect support by using the --with-expect[=DIR] configure option.

Windows users will enable php_expect.dll inside of php.ini in order to use these functions. Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

In order to configure expect extension, there are configuration options in the configuration file php.ini.

Expect Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
expect.timeout | "10" | PHP_INI_ALL |
expect.loguser | "1" | PHP_INI_ALL |
expect.logfile | "" | PHP_INI_ALL |
expect.match_max | "" | PHP_INI_ALL |
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

expect.timeout integer

The timeout period for waiting for the data, when using the expect_expectl() function.

A value of "-1" disables a timeout from occurring.

Hinweis:

A value of "0" causes the expect_expectl() function to return immediately.

expect.loguser boolean

Whether expect should send any output from the spawned process to stdout. Since interactive programs typically echo their input, this usually suffices to show both sides of the conversation.

expect.logfile string

Name of the file, where the output from the spawned process will be written. If this file doesn't exist, it will be created.

Hinweis:

If this configuration is not empty, the output is written regardless of the value of expect.loguser.

expect.match_max integer

Changes default size (2000 bytes) of the buffer used to match asterisks in patterns.

Installation
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

expect_popen() Gibt einen offenen PTY Stream unter Verwendung von expect_expectl().

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

EXP_GLOB (integer)
Indicates that the pattern is a glob-style string pattern.
EXP_EXACT (integer)
Indicates that the pattern is an exact string.
EXP_REGEXP (integer)
Indicates that the pattern is a regexp-style string pattern.
EXP_EOF (integer)
Value, returned by expect_expectl(), when EOF is reached.
EXP_TIMEOUT (integer)
Value, returned by expect_expectl() upon timeout of seconds, specified in value of expect.timeout
EXP_FULLBUFFER (integer)
Value, returned by expect_expectl() if no pattern have been matched.
Ressource-Typen
Beispiele
Expect


Beispiele

Inhaltsverzeichnis

  • Expect Usage Examples
Vordefinierte Konstanten
Expect Usage Examples
Expect


Expect Usage Examples

Beispiel #1 Expect Usage Example

This example connects to the remote host via SSH, and prints the remote uptime.

<?php
ini_set("expect.loguser", "Off");

$stream = fopen("expect://ssh root@remotehost uptime", "r");

$cases = array (
    array (0 => "password:", 1 => PASSWORD)
);

switch (expect_expectl ($stream, $cases)) {
    case PASSWORD:
        fwrite ($stream, "password\n");
        break;

    default:
        die ("Error was occurred while connecting to the remote host!\n");
}

while ($line = fgets($stream)) {
      print $line;
}
fclose ($stream);
?>

The following example connects to the remote host, determines whether installed OS is for 32 or 64 bit, then runs update for specific package.

Beispiel #2 Another Expect Usage Example

<?php
ini_set("expect.timeout", -1);
ini_set("expect.loguser", "Off");

$stream = expect_popen("ssh root@remotehost");

while (true) {
    switch (expect_expectl ($stream, array (
            array ("password:", PASSWORD), // SSH is asking for password
            array ("yes/no)?", YESNO), // SSH is asking whether to store the host entry
            array ("~$ ", SHELL, EXP_EXACT), // We've got the shell!
    ))) {
        case PASSWORD:
            fwrite ($stream, "secret\n");
            break;

        case YESNO:
            fwrite ($stream, "yes\n");
            break;

        case SHELL:
            fwrite ($stream, "uname -a\n");
            while (true) {
                    switch (expect_expectl ($stream, array (
                            array ("~$ ", SHELL, EXP_EXACT), // We've got the shell!
                            array ("^Linux.*$", UNAME, EXP_REGEXP), // uname -a output
                    ), $match)) {
                        case UNAME:
                            $uname .= $match[0];
                            break;

                        case SHELL:
                            // Run update:
                            if (strstr ($uname, "x86_64")) {
                                    fwrite ($stream, "rpm -Uhv http://mirrorsite/somepath/some_64bit.rpm\n");
                            } else {
                                    fwrite ($stream, "rpm -Uhv http://mirrorsite/somepath/some_32bit.rpm\n");
                            }
                            fwrite ($stream, "exit\n");
                            break 2;

                        case EXP_TIMEOUT:
                        case EXP_EOF:
                            break 2;

                        default:
                            die ("Error has occurred!\n");
                    }
            }
            break 2;

        case EXP_TIMEOUT:
        case EXP_EOF:
            break 2;

        default:
            die ("Error has occurred!\n");
    }
}

fclose ($stream);
?>
Beispiele
Expect Funktionen
Beispiele


Expect Funktionen

Inhaltsverzeichnis

  • expect_expectl — Waits until the output from a process matches one of the patterns, a specified time period has passed, or an EOF is seen
  • expect_popen — Execute command via Bourne shell, and open the PTY stream to the process
Expect Usage Examples
expect_expectl
Expect


Waits until the output from a process matches one of the patterns, a specified time period has passed, or an EOF is seen

Expect Funktionen
expect_popen
Expect Funktionen
PHP Manual

expect_expectl

(PECL expect >= 0.1.0)

expect_expectl — Waits until the output from a process matches one of the patterns, a specified time period has passed, or an EOF is seen

Beschreibung

int expect_expectl ( resource $expect , array $cases [, array &$match ] )

Waits until the output from a process matches one of the patterns, a specified time period has passed, or an EOF is seen.

If match is provided, then it is filled with the result of search. The matched string can be found in match[0]. The match substrings (according to the parentheses) in the original pattern can be found in match[1], match[2], and so on, up to match[9] (the limitation of libexpect).

Parameter-Liste

expect

An Expect stream, previously opened with expect_popen().

cases

An array of expect cases. Each expect case is an indexed array, as described in the following table:

Expect Case Array
Index Key | Value Type | Description | Is Mandatory | Default Value
0 | string | pattern, that will be matched against the output from the stream | yes
1 | mixed | value, that will be returned by this function, if the pattern matches | yes
2 | integer | pattern type, one of: EXP_GLOB, EXP_EXACT or EXP_REGEXP | no | EXP_GLOB

Rückgabewerte

Returns value associated with the pattern that was matched.

On failure this function returns: EXP_EOF, EXP_TIMEOUT or EXP_FULLBUFFER

Changelog

Version | Beschreibung
0.2.1 | Prior to version 0.2.1, in match parameter a match string was returned, not an array of match substrings.

Beispiele

Beispiel #1 expect_expectl() example

<?php
// Copies file from remote host:
ini_set("expect.timeout", 30);

$stream = fopen("expect://scp user@remotehost:/var/log/messages /home/user/messages.txt", "r");

$cases = array(
    // array(pattern, value to return if pattern matched)
    array("password:", "asked for password"),
    array("yes/no)?",  "asked for yes/no")
);

while (true) {
    switch (expect_expectl($stream, $cases)) {
        case "asked for password":
            fwrite($stream, "my password\n");
            break;
        case "asked for yes/no":
            fwrite($stream, "yes\n");
            break;
        case EXP_TIMEOUT:
        case EXP_EOF:
            break 2; // break both the switch statement and the while loop
        default:
            die "Error has occurred!";
    }
}

fclose($stream);
?>

Siehe auch

  • expect_popen() - Execute command via Bourne shell, and open the PTY stream to the process

Expect Funktionen
expect_popen
Expect Funktionen


Execute command via Bourne shell, and open the PTY stream to the process

expect_expectl
Libevent
Expect Funktionen
PHP Manual

expect_popen

(PECL expect >= 0.1.0)

expect_popen — Execute command via Bourne shell, and open the PTY stream to the process

Beschreibung

resource expect_popen ( string $command )

Execute command via Bourne shell, and open the PTY stream to the process.

Parameter-Liste

command

Command to execute.

Rückgabewerte

Returns an open PTY stream to the processes stdio, stdout, and stderr.

On failure this function returns FALSE.

Beispiele

Beispiel #1 expect_popen() example

<?php
// Login to the PHP.net CVS repository:
$stream = expect_popen ("cvs -d :pserver:anonymous@cvs.php.net:/repository login");
sleep (3);
fwrite ($stream, "phpfi\n");
fclose ($stream);
?>

Siehe auch

  • popen() - Öffnet einen Prozesszeiger

expect_expectl
Libevent
Expect Funktionen


Libevent

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
  • Libevent Funktionen
    • event_add — Add an event to the set of monitored events
    • event_base_free — Destroy event base
    • event_base_loop — Handle events
    • event_base_loopbreak — Abort event loop
    • event_base_loopexit — Exit loop after a time
    • event_base_new — Create and initialize new event base
    • event_base_priority_init — Set the number of event priority levels
    • event_base_reinit — Reinitialize the event base after a fork
    • event_base_set — Associate event base with an event
    • event_buffer_base_set — Associate buffered event with an event base
    • event_buffer_disable — Disable a buffered event
    • event_buffer_enable — Enable a buffered event
    • event_buffer_fd_set — Change a buffered event file descriptor
    • event_buffer_free — Destroy buffered event
    • event_buffer_new — Create new buffered event
    • event_buffer_priority_set — Assign a priority to a buffered event
    • event_buffer_read — Read data from a buffered event
    • event_buffer_set_callback — Set or reset callbacks for a buffered event
    • event_buffer_timeout_set — Set read and write timeouts for a buffered event
    • event_buffer_watermark_set — Set the watermarks for read and write events
    • event_buffer_write — Write data to a buffered event
    • event_del — Remove an event from the set of monitored events
    • event_free — Free event resource
    • event_new — Create new event
    • event_priority_set — Assign a priority to an event.
    • event_set — Prepare an event
    • event_timer_add — Alias von event_add
    • event_timer_del — Alias von event_del
    • event_timer_new — Alias von event_new
    • event_timer_set — Prepare a timer event
expect_popen
Einführung
Erweiterungen zur Prozesskontrolle


Einführung

Libevent is a library that provides a mechanism to execute a callback function when a specific event occurs on a file descriptor or after a timeout has been reached.

More information about Libevent can be found at » http://libevent.org/.

Libevent
Installation/Konfiguration
Libevent


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Libevent


Anforderungen

This extension requires » libevent library. Minimal required version is 1.4.0.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/libevent.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Ressource-Typen

There are several resource types used in the extension. These resources are event, event base and buffered event.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

EV_TIMEOUT (integer)
EV_READ (integer)
EV_WRITE (integer)
EV_SIGNAL (integer)
EV_PERSIST (integer)
EVLOOP_NONBLOCK (integer)
EVLOOP_ONCE (integer)
Ressource-Typen
Beispiele
Libevent


Beispiele

Beispiel #1 polling STDIN using basic API

<?php

function print_line($fd, $events, $arg)
{
    static $max_requests = 0;

    $max_requests++;

    if ($max_requests == 10) {
        // exit loop after 10 writes
        event_base_loopexit($arg[1]);
    }

    // print the line
    echo  fgets($fd);
}

// create base and event
$base = event_base_new();
$event = event_new();

$fd = STDIN;

// set event flags
event_set($event, $fd, EV_READ | EV_PERSIST, "print_line", array($event, $base));
// set event base
event_base_set($event, $base);

// enable event
event_add($event);
// start event loop
event_base_loop($base);

?>

Beispiel #2 polling STDIN using buffered event API

<?php

function print_line($buf, $arg)
{
    static $max_requests;

    $max_requests++;

    if ($max_requests == 10) {
        event_base_loopexit($arg);
    }

    // print the line
    echo event_buffer_read($buf, 4096);
}

function error_func($buf, $what, $arg)
{
    // handle errors
}

$base = event_base_new();
$eb = event_buffer_new(STDIN, "print_line", NULL, "error_func", $base);

event_buffer_base_set($eb, $base);
event_buffer_enable($eb, EV_READ);

event_base_loop($base);

?>

Vordefinierte Konstanten
Libevent Funktionen
Libevent


Libevent Funktionen

Inhaltsverzeichnis

  • event_add — Add an event to the set of monitored events
  • event_base_free — Destroy event base
  • event_base_loop — Handle events
  • event_base_loopbreak — Abort event loop
  • event_base_loopexit — Exit loop after a time
  • event_base_new — Create and initialize new event base
  • event_base_priority_init — Set the number of event priority levels
  • event_base_reinit — Reinitialize the event base after a fork
  • event_base_set — Associate event base with an event
  • event_buffer_base_set — Associate buffered event with an event base
  • event_buffer_disable — Disable a buffered event
  • event_buffer_enable — Enable a buffered event
  • event_buffer_fd_set — Change a buffered event file descriptor
  • event_buffer_free — Destroy buffered event
  • event_buffer_new — Create new buffered event
  • event_buffer_priority_set — Assign a priority to a buffered event
  • event_buffer_read — Read data from a buffered event
  • event_buffer_set_callback — Set or reset callbacks for a buffered event
  • event_buffer_timeout_set — Set read and write timeouts for a buffered event
  • event_buffer_watermark_set — Set the watermarks for read and write events
  • event_buffer_write — Write data to a buffered event
  • event_del — Remove an event from the set of monitored events
  • event_free — Free event resource
  • event_new — Create new event
  • event_priority_set — Assign a priority to an event.
  • event_set — Prepare an event
  • event_timer_add — Alias von event_add
  • event_timer_del — Alias von event_del
  • event_timer_new — Alias von event_new
  • event_timer_set — Prepare a timer event
Beispiele
event_add
Libevent


Add an event to the set of monitored events

Libevent Funktionen
event_base_free
Libevent Funktionen
PHP Manual

event_add

(PECL libevent >= 0.0.1)

event_add — Add an event to the set of monitored events

Beschreibung

bool event_add ( resource $event [, int $timeout = -1 ] )

event_add() schedules the execution of the event when the event specified in event_set() occurs or in at least the time specified by the timeout argument. If timeout was not specified, not timeout is set. The event must be already initalized by event_set() and event_base_set() functions. If the event already has a timeout set, it is replaced by the new one.

Parameter-Liste

event

Valid event resource.

timeout

Optional timeout (in microseconds).

Rückgabewerte

event_add() returns TRUE on success or FALSE on error.

Libevent Funktionen
event_base_free
Libevent Funktionen


Destroy event base

event_add
event_base_loop
Libevent Funktionen
PHP Manual

event_base_free

(PECL libevent >= 0.0.1)

event_base_free — Destroy event base

Beschreibung

void event_base_free ( resource $event_base )

Destroys the specified event_base and frees all the resources associated. Note that it's not possible to destroy an event base with events attached to it.

Parameter-Liste

event_base

Valid event base resource.

event_add
event_base_loop
Libevent Funktionen


Handle events

event_base_free
event_base_loopbreak
Libevent Funktionen
PHP Manual

event_base_loop

(PECL libevent >= 0.0.1)

event_base_loop — Handle events

Beschreibung

int event_base_loop ( resource $event_base [, int $flags = 0 ] )

Starts event loop for the specified event base.

Parameter-Liste

event_base

Valid event base resource.

flags

Optional parameter, which can take any combination of EVLOOP_ONCE and EVLOOP_NONBLOCK.

Rückgabewerte

event_base_loop() returns 0 on success, -1 on error and 1 if no events were registered.

event_base_free
event_base_loopbreak
Libevent Funktionen


Abort event loop

event_base_loop
event_base_loopexit
Libevent Funktionen
PHP Manual

event_base_loopbreak

(PECL libevent >= 0.0.1)

event_base_loopbreak — Abort event loop

Beschreibung

bool event_base_loopbreak ( resource $event_base )

Abort the active event loop immediately. The behaviour is similar to break statement.

Parameter-Liste

event_base

Valid event base resource.

Rückgabewerte

event_base_loopbreak() returns TRUE on success or FALSE on error.

event_base_loop
event_base_loopexit
Libevent Funktionen


Exit loop after a time

event_base_loopbreak
event_base_new
Libevent Funktionen
PHP Manual

event_base_loopexit

(PECL libevent >= 0.0.1)

event_base_loopexit — Exit loop after a time

Beschreibung

bool event_base_loopexit ( resource $event_base [, int $timeout = -1 ] )

The next event loop iteration after the given timer expires will complete normally, then exit without blocking for events again.

Parameter-Liste

event_base

Valid event base resource.

timeout

Optional timeout parameter (in microseconds).

Rückgabewerte

event_base_loopexit() returns TRUE on success or FALSE on error.

event_base_loopbreak
event_base_new
Libevent Funktionen


Create and initialize new event base

event_base_loopexit
event_base_priority_init
Libevent Funktionen
PHP Manual

event_base_new

(PECL libevent >= 0.0.1)

event_base_new — Create and initialize new event base

Beschreibung

resource event_base_new ( void )

Returns new event base, which can be used later in event_base_set(), event_base_loop() and other functions.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

event_base_new() returns valid event base resource on success or FALSE on error.

event_base_loopexit
event_base_priority_init
Libevent Funktionen


Set the number of event priority levels

event_base_new
event_base_reinit
Libevent Funktionen
PHP Manual

event_base_priority_init

(PECL libevent >= 0.0.2)

event_base_priority_init — Set the number of event priority levels

Beschreibung

bool event_base_priority_init ( resource $event_base , int $npriorities )

Sets the number of different event priority levels.

By default all events are scheduled with the same priority (npriorities/2). Using event_base_priority_init() you can change the number of event priority levels and then set a desired priority for each event.

Parameter-Liste

event_base

Valid event base resource.

npriorities

The number of event priority levels.

Rückgabewerte

event_base_priority_init() returns TRUE on success or FALSE on error.

event_base_new
event_base_reinit
Libevent Funktionen


Reinitialize the event base after a fork

event_base_priority_init
event_base_set
Libevent Funktionen
PHP Manual

event_base_reinit

(PECL libevent >= 0.1.0)

event_base_reinit — Reinitialize the event base after a fork

Beschreibung

bool event_base_reinit ( resource $event_base )

Some event mechanisms do not survive across fork. The event_base needs to be reinitialized with this function.

Parameter-Liste

event_base

Valid event base resource that needs to be re-initialized.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

event_base_priority_init
event_base_set
Libevent Funktionen


Associate event base with an event

event_base_reinit
event_buffer_base_set
Libevent Funktionen
PHP Manual

event_base_set

(PECL libevent >= 0.0.1)

event_base_set — Associate event base with an event

Beschreibung

bool event_base_set ( resource $event , resource $event_base )

Associates the event_base with the event.

Parameter-Liste

event

Valid event resource.

event_base

Valid event base resource.

Rückgabewerte

event_base_set() returns TRUE on success or FALSE on error.

event_base_reinit
event_buffer_base_set
Libevent Funktionen


Associate buffered event with an event base

event_base_set
event_buffer_disable
Libevent Funktionen
PHP Manual

event_buffer_base_set

(PECL libevent >= 0.0.1)

event_buffer_base_set — Associate buffered event with an event base

Beschreibung

bool event_buffer_base_set ( resource $bevent , resource $event_base )

Assign the specified bevent to the event_base.

Parameter-Liste

bevent

Valid buffered event resource.

event_base

Valid event base resource.

Rückgabewerte

event_buffer_base_set() returns TRUE on success or FALSE on error.

event_base_set
event_buffer_disable
Libevent Funktionen


Disable a buffered event

event_buffer_base_set
event_buffer_enable
Libevent Funktionen
PHP Manual

event_buffer_disable

(PECL libevent >= 0.0.1)

event_buffer_disable — Disable a buffered event

Beschreibung

bool event_buffer_disable ( resource $bevent , int $events )

Disables the specified buffered event.

Parameter-Liste

bevent

Valid buffered event resource.

events

Any combination of EV_READ and EV_WRITE.

Rückgabewerte

event_buffer_disable() returns TRUE on success or FALSE on error.

event_buffer_base_set
event_buffer_enable
Libevent Funktionen


Enable a buffered event

event_buffer_disable
event_buffer_fd_set
Libevent Funktionen
PHP Manual

event_buffer_enable

(PECL libevent >= 0.0.1)

event_buffer_enable — Enable a buffered event

Beschreibung

bool event_buffer_enable ( resource $bevent , int $events )

Enables the specified buffered event.

Parameter-Liste

bevent

Valid buffered event resource.

events

Any combination of EV_READ and EV_WRITE.

Rückgabewerte

event_buffer_enable() returns TRUE on success or FALSE on error.

event_buffer_disable
event_buffer_fd_set
Libevent Funktionen


Change a buffered event file descriptor

event_buffer_enable
event_buffer_free
Libevent Funktionen
PHP Manual

event_buffer_fd_set

(PECL libevent >= 0.0.1)

event_buffer_fd_set — Change a buffered event file descriptor

Beschreibung

void event_buffer_fd_set ( resource $bevent , resource $fd )

Changes the file descriptor on which the buffered event operates.

Parameter-Liste

bevent

Valid buffered event resource.

fd

Valid PHP stream, must be castable to file descriptor.

event_buffer_enable
event_buffer_free
Libevent Funktionen


Destroy buffered event

event_buffer_fd_set
event_buffer_new
Libevent Funktionen
PHP Manual

event_buffer_free

(PECL libevent >= 0.0.1)

event_buffer_free — Destroy buffered event

Beschreibung

void event_buffer_free ( resource $bevent )

Destroys the specified buffered event and frees all the resources associated.

Parameter-Liste

bevent

Valid buffered event resource.

event_buffer_fd_set
event_buffer_new
Libevent Funktionen


Create new buffered event

event_buffer_free
event_buffer_priority_set
Libevent Funktionen
PHP Manual

event_buffer_new

(PECL libevent >= 0.0.1)

event_buffer_new — Create new buffered event

Beschreibung

resource event_buffer_new ( resource $stream , mixed $readcb , mixed $writecb , mixed $errorcb [, mixed $arg ] )

Libevent provides an abstraction layer on top of the regular event API. Using buffered event you don't need to deal with the I/O manually, instead it provides input and output buffers that get filled and drained automatically.

Parameter-Liste

stream

Valid PHP stream resource. Must be castable to file descriptor.

readcb

Callback to invoke where there is data to read, or NULL if no callback is desired.

writecb

Callback to invoke where the descriptor is ready for writing, or NULL if no callback is desired.

errorcb

Callback to invoke where there is an error on the descriptor, cannot be NULL.

arg

An argument that will be passed to each of the callbacks (optional).

Rückgabewerte

event_buffer_new() returns new buffered event resource on success or FALSE on error.

event_buffer_free
event_buffer_priority_set
Libevent Funktionen


Assign a priority to a buffered event

event_buffer_new
event_buffer_read
Libevent Funktionen
PHP Manual

event_buffer_priority_set

(PECL libevent >= 0.0.1)

event_buffer_priority_set — Assign a priority to a buffered event

Beschreibung

bool event_buffer_priority_set ( resource $bevent , int $priority )

Assign a priority to the bevent.

Parameter-Liste

bevent

Valid buffered event resource.

priority

Priority level. Cannot be less than zero and cannot exceed maximum priority level of the event base (see event_base_priority_init()).

Rückgabewerte

event_buffer_priority_set() returns TRUE on success or FALSE on error.

event_buffer_new
event_buffer_read
Libevent Funktionen


Read data from a buffered event

event_buffer_priority_set
event_buffer_set_callback
Libevent Funktionen
PHP Manual

event_buffer_read

(PECL libevent >= 0.0.1)

event_buffer_read — Read data from a buffered event

Beschreibung

string event_buffer_read ( resource $bevent , int $data_size )

Reads data from the input buffer of the buffered event.

Parameter-Liste

bevent

Valid buffered event resource.

data_size

Data size in bytes.

event_buffer_priority_set
event_buffer_set_callback
Libevent Funktionen


Set or reset callbacks for a buffered event

event_buffer_read
event_buffer_timeout_set
Libevent Funktionen
PHP Manual

event_buffer_set_callback

(PECL libevent >= 0.0.4)

event_buffer_set_callback — Set or reset callbacks for a buffered event

Beschreibung

bool event_buffer_set_callback ( resource $event , mixed $readcb , mixed $writecb , mixed $errorcb [, mixed $arg ] )

Sets or changes existing callbacks for the buffered event.

Parameter-Liste

event

Valid buffered event resource.

readcb

Callback to invoke where there is data to read, or NULL if no callback is desired.

writecb

Callback to invoke where the descriptor is ready for writing, or NULL if no callback is desired.

errorcb

Callback to invoke where there is an error on the descriptor, cannot be NULL.

arg

An argument that will be passed to each of the callbacks (optional).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

event_buffer_read
event_buffer_timeout_set
Libevent Funktionen


Set read and write timeouts for a buffered event

event_buffer_set_callback
event_buffer_watermark_set
Libevent Funktionen
PHP Manual

event_buffer_timeout_set

(PECL libevent >= 0.0.1)

event_buffer_timeout_set — Set read and write timeouts for a buffered event

Beschreibung

void event_buffer_timeout_set ( resource $bevent , int $read_timeout , int $write_timeout )

Sets the read and write timeouts for the specified buffered event.

Parameter-Liste

bevent

Valid buffered event resource.

read_timeout

Read timeout (in seconds).

write_timeout

Write timeout (in seconds).

event_buffer_set_callback
event_buffer_watermark_set
Libevent Funktionen


Set the watermarks for read and write events

event_buffer_timeout_set
event_buffer_write
Libevent Funktionen
PHP Manual

event_buffer_watermark_set

(PECL libevent >= 0.0.1)

event_buffer_watermark_set — Set the watermarks for read and write events

Beschreibung

void event_buffer_watermark_set ( resource $bevent , int $events , int $lowmark , int $highmark )

Sets the watermarks for read and write events. Libevent does not invoke read callback unless there is at least lowmark bytes in the input buffer; if the read buffer is beyond the highmark, reading is stopped. On output, the write callback is invoked whenever the buffered data falls below the lowmark.

Parameter-Liste

bevent

Valid buffered event resource.

events

Any combination of EV_READ and EV_WRITE.

lowmark

Low watermark.

highmark

High watermark.

event_buffer_timeout_set
event_buffer_write
Libevent Funktionen


Write data to a buffered event

event_buffer_watermark_set
event_del
Libevent Funktionen
PHP Manual

event_buffer_write

(PECL libevent >= 0.0.1)

event_buffer_write — Write data to a buffered event

Beschreibung

bool event_buffer_write ( resource $bevent , string $data [, int $data_size = -1 ] )

Writes data to the specified buffered event. The data is appended to the output buffer and written to the descriptor when it becomes available for writing.

Parameter-Liste

bevent

Valid buffered event resource.

data

The data to be written.

data_size

Optional size parameter. event_buffer_write() writes all the data by default.

Rückgabewerte

event_buffer_write() returns TRUE on success or FALSE on error.

event_buffer_watermark_set
event_del
Libevent Funktionen


Remove an event from the set of monitored events

event_buffer_write
event_free
Libevent Funktionen
PHP Manual

event_del

(PECL libevent >= 0.0.1)

event_del — Remove an event from the set of monitored events

Beschreibung

bool event_del ( resource $event )

Cancels the event.

Parameter-Liste

event

Valid event resource.

Rückgabewerte

event_del() returns TRUE on success or FALSE on error.

event_buffer_write
event_free
Libevent Funktionen


Free event resource

event_del
event_new
Libevent Funktionen
PHP Manual

event_free

(PECL libevent >= 0.0.1)

event_free — Free event resource

Beschreibung

void event_free ( resource $event )

Frees previously created event resource.

Parameter-Liste

event

Valid event resource.

event_del
event_new
Libevent Funktionen


Create new event

event_free
event_priority_set
Libevent Funktionen
PHP Manual

event_new

(PECL libevent >= 0.0.1)

event_new — Create new event

Beschreibung

resource event_new ( void )

Creates and returns a new event resource.

Rückgabewerte

event_new() returns a new event resource on success or FALSE on error.

event_free
event_priority_set
Libevent Funktionen


Assign a priority to an event.

event_new
event_set
Libevent Funktionen
PHP Manual

event_priority_set

(PECL libevent >= 0.0.5)

event_priority_set — Assign a priority to an event.

Beschreibung

bool event_priority_set ( resource $event , int $priority )

Assign a priority to the event.

Parameter-Liste

event

Valid event resource.

priority

Priority level. Cannot be less than zero and cannot exceed maximum priority level of the event base (see event_base_priority_init()).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

event_new
event_set
Libevent Funktionen


Prepare an event

event_priority_set
event_timer_add
Libevent Funktionen
PHP Manual

event_set

(PECL libevent >= 0.0.1)

event_set — Prepare an event

Beschreibung

bool event_set ( resource $event , mixed $fd , int $events , mixed $callback [, mixed $arg ] )

Prepares the event to be used in event_add(). The event is prepared to call the function specified by the callback on the events specified in parameter events, which is a set of the following flags: EV_TIMEOUT, EV_SIGNAL, EV_READ, EV_WRITE and EV_PERSIST.

If EV_SIGNAL bit is set in parameter events, the fd is interpreted as signal number.

After initializing the event, use event_base_set() to associate the event with its event base.

In case of matching event, these three arguments are passed to the callback function:

fd

Signal number or resource indicating the stream.

events

A flag indicating the event. Consists of the following flags: EV_TIMEOUT, EV_SIGNAL, EV_READ, EV_WRITE and EV_PERSIST.

arg

Optional parameter, previously passed to event_set() as arg.

Parameter-Liste

event

Valid event resource.

fd

Valid PHP stream resource. The stream must be castable to file descriptor, so you most likely won't be able to use any of filtered streams.

events

A set of flags indicating the desired event, can be EV_READ and/or EV_WRITE. The additional flag EV_PERSIST makes the event to persist until event_del() is called, otherwise the callback is invoked only once.

callback

Callback function to be called when the matching event occurs.

arg

Optional callback parameter.

Rückgabewerte

event_set() returns TRUE on success or FALSE on error.

Changelog

Version | Beschreibung
0.0.4 | EV_SIGNAL support was added.
event_priority_set
event_timer_add
Libevent Funktionen


Alias von event_add

event_set
event_timer_del
Libevent Funktionen
PHP Manual

event_timer_add

(PECL libevent >= 0.0.2)

event_timer_add — Alias von event_add()

Beschreibung

Diese Funktion ist ein Alias für: event_add().

event_set
event_timer_del
Libevent Funktionen


Alias von event_del

event_timer_add
event_timer_new
Libevent Funktionen
PHP Manual

event_timer_del

(PECL libevent >= 0.0.2)

event_timer_del — Alias von event_del()

Beschreibung

Diese Funktion ist ein Alias für: event_del().

event_timer_add
event_timer_new
Libevent Funktionen


Alias von event_new

event_timer_del
event_timer_set
Libevent Funktionen
PHP Manual

event_timer_new

(PECL libevent >= 0.0.2)

event_timer_new — Alias von event_new()

Beschreibung

Diese Funktion ist ein Alias für: event_new().

event_timer_del
event_timer_set
Libevent Funktionen


Prepare a timer event

event_timer_new
PCNTL
Libevent Funktionen
PHP Manual

event_timer_set

(PECL libevent >= 0.0.2)

event_timer_set — Prepare a timer event

Beschreibung

bool event_timer_set ( resource $event , callable $callback [, mixed $arg ] )

Prepares the timer event to be used in event_add(). The event is prepared to call the function specified by the callback when the event timeout elapses.

After initializing the event, use event_base_set() to associate the event with its event base.

In case of matching event, these three arguments are passed to the callback function:

fd

Signal number or resource indicating the stream.

events

A flag indicating the event. This will always be EV_TIMEOUT for timer events.

arg

Optional parameter, previously passed to event_timer_set() as arg.

Parameter-Liste

event

Valid event resource.

callback

Callback function to be called when the matching event occurs.

arg

Optional callback parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

event_timer_new
PCNTL
Libevent Funktionen


Prozesskontrolle

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • Grundlegende Verwendung
  • PCNTL Funktionen
    • pcntl_alarm — Setzt einen Zeitschalter für die Auslieferung eines Signals
    • pcntl_errno — Alias von pcntl_get_last_error
    • pcntl_exec — Führt ein angegebenes Programm im aktuellen Prozessraum aus
    • pcntl_fork — Verzweigt den laufenden Prozess
    • pcntl_get_last_error — Retrieve the error number set by the last pcntl function which failed
    • pcntl_getpriority — Liest die Priorität irgendeines Prozesses
    • pcntl_setpriority — Ändert die Priorität irgendeines Prozesses
    • pcntl_signal_dispatch — Calls signal handlers for pending signals
    • pcntl_signal_get_handler — Get the current handler for specified signal
    • pcntl_signal — Richtet eine Signalverarbeitung ein
    • pcntl_sigprocmask — Sets and retrieves blocked signals
    • pcntl_sigtimedwait — Waits for signals, with a timeout
    • pcntl_sigwaitinfo — Waits for signals
    • pcntl_strerror — Retrieve the system error message associated with the given errno
    • pcntl_wait — Wartet auf ein oder gibt den Status eines abgezweigten Kindes zurück
    • pcntl_waitpid — Wartet auf ein oder gibt den Status eines abgezweigten Kindes zurück
    • pcntl_wexitstatus — Gibt den Statuscode eines beendeten Kindes zurück
    • pcntl_wifexited — Gibt TRUE zurück, wenn der Statuscode ein erfolgreiches Beenden darstellt
    • pcntl_wifsignaled — Gibt TRUE zurück, wenn der Statuscode eine Terminierung wegen eines Signals angibt
    • pcntl_wifstopped — Gibt TRUE zurück, wenn der Kindprozess gerade gestoppt ist
    • pcntl_wstopsig — Gibt das Signal zurück, welches das Anhalten des Kindes verursachte
    • pcntl_wtermsig — Gibt das Signal zurück, welches das Beenden des Kindes verursachte
event_timer_set
Einführung
Erweiterungen zur Prozesskontrolle


Einführung

Die Prozesskontrollunterstützung in PHP implementiert die Unixausführung von Prozesserzeugung, Programmausführung, Signalverarbeitung und Prozesstermination. Prozesskontrolle sollte nicht innerhalb einer Webserverumgebung aktiviert werden und unerwartete Ergebnisse können auftreten, wenn eine Prozesskontrollfunktion innerhalb einer Webserverumgebung verwendet wird.

Die Absicht dieser Dokumentation ist es, die allgemeine Verwendung jeder der Prozesskontrollfunktionen zu erklären. Für detaillierte Informationen über Unix Prozesskontrolle empfehlen wir Ihnen, die Dokumentation Ihres Systems einschließlich fork(2), waitpid(2) und signal(2) oder eine umfassende Referenz wie zum Beispiel Advanced Programming in the UNIX Environment von W. Richard Stevens (Addison-Wesley) hinzuzuziehen.

PCNTL verwendet mitlerweile Ticks als Signalverarbeitungs-Callbackmechanismus, welcher wesentlich schneller als der zuvor verwendete Mechanismus ist. Dieser Wechsel folgt der selben Semantik wie die Verwendung von "Benutzer Ticks". Man verwendet die declare() Anweisung, um die Stellen in seinem Programm anzugeben, in denen Callbacks stattfinden dürfen. Dies erlaubt Ihnen den Overhead durch die Behandlung von asynchronen Ereignissen zu minimieren. In der Vergangenheit zog das Kompilieren von PHP mit eingeschaltetem Pcntl immer diesen Overhead hinzu, egal ob ein Skript tatsächlich Pcntl verwendete oder nicht.

Es gibt eine Anpassung, die an allen Pcntl Skripten vor PHP Version 4.3.0 vorgenommen werden muss, damit diese weiterhin funktionieren. Entweder muss declare() für einen Abschnitt verwendet werden, in dem man Callbacks erlauben will, oder diese für das gesamte Skript aktivieren, indem man die neue, globale Syntax von declare() verwendet.

Hinweis: Diese Erweiterung steht auf Windows-Betriebssystemen nicht zur Verfügung.

PCNTL
Installation/Konfiguration
PCNTL


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
PCNTL


Installation

Prozesskontrollunterstützung in PHP ist nicht standardmäßig aktiviert. Sie müssen die CGI- oder CLI-Version von PHP mit der --enable-pcntl -Konfigurationsoption kompilieren, um Prozesskontrollunterstützung einzuschalten.

Hinweis:

Momentan wird dieses Modul nicht auf Plattformen funktionieren, die nicht auf Unix basieren (Windows).

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Die in der folgenden Liste aufgeführten Signale werden von den Prozesskontrollfunktionen unterstützt. Bitte schauen Sie in die signal(7)-man-Seite Ihres Systems zu Details zum vorgegebenen Verhalten dieser Signale.

WNOHANG (integer)
WUNTRACED (integer)
SIG_IGN (integer)
SIG_DFL (integer)
SIG_ERR (integer)
SIGHUP (integer)
SIGINT (integer)
SIGQUIT (integer)
SIGILL (integer)
SIGTRAP (integer)
SIGABRT (integer)
SIGIOT (integer)
SIGBUS (integer)
SIGFPE (integer)
SIGKILL (integer)
SIGUSR1 (integer)
SIGSEGV (integer)
SIGUSR2 (integer)
SIGPIPE (integer)
SIGALRM (integer)
SIGTERM (integer)
SIGSTKFLT (integer)
SIGCLD (integer)
SIGCHLD (integer)
SIGCONT (integer)
SIGSTOP (integer)
SIGTSTP (integer)
SIGTTIN (integer)
SIGTTOU (integer)
SIGURG (integer)
SIGXCPU (integer)
SIGXFSZ (integer)
SIGVTALRM (integer)
SIGPROF (integer)
SIGWINCH (integer)
SIGPOLL (integer)
SIGIO (integer)
SIGPWR (integer)
SIGSYS (integer)
SIGBABY (integer)
SIG_BLOCK (integer)
Verfügbar seit PHP 5.3.0.
SIG_UNBLOCK (integer)
Verfügbar seit PHP 5.3.0.
SIG_SETMASK (integer)
Verfügbar seit PHP 5.3.0.
SI_USER (integer)
Verfügbar seit PHP 5.3.0.
SI_NOINFO (integer)
Verfügbar seit PHP 5.3.0.
SI_KERNEL (integer)
Verfügbar seit PHP 5.3.0.
SI_QUEUE (integer)
Verfügbar seit PHP 5.3.0.
SI_TIMER (integer)
Verfügbar seit PHP 5.3.0.
SI_MSGGQ (integer)
Verfügbar seit PHP 5.3.0.
SI_ASYNCIO (integer)
Verfügbar seit PHP 5.3.0.
SI_SIGIO (integer)
Verfügbar seit PHP 5.3.0.
SI_TKILL (integer)
Verfügbar seit PHP 5.3.0.
CLD_EXITED (integer)
Verfügbar seit PHP 5.3.0.
CLD_KILLED (integer)
Verfügbar seit PHP 5.3.0.
CLD_DUMPED (integer)
Verfügbar seit PHP 5.3.0.
CLD_TRAPPED (integer)
Verfügbar seit PHP 5.3.0.
CLD_STOPPED (integer)
Verfügbar seit PHP 5.3.0.
CLD_CONTINUED (integer)
Verfügbar seit PHP 5.3.0.
TRAP_BRKPT (integer)
Verfügbar seit PHP 5.3.0.
TRAP_TRACE (integer)
Verfügbar seit PHP 5.3.0.
POLL_IN (integer)
Verfügbar seit PHP 5.3.0.
POLL_OUT (integer)
Verfügbar seit PHP 5.3.0.
POLL_MSG (integer)
Verfügbar seit PHP 5.3.0.
POLL_ERR (integer)
Verfügbar seit PHP 5.3.0.
POLL_PRI (integer)
Verfügbar seit PHP 5.3.0.
POLL_HUP (integer)
Verfügbar seit PHP 5.3.0.
ILL_ILLOPC (integer)
Verfügbar seit PHP 5.3.0.
ILL_ILLOPN (integer)
Verfügbar seit PHP 5.3.0.
ILL_ILLADR (integer)
Verfügbar seit PHP 5.3.0.
ILL_ILLTRP (integer)
Verfügbar seit PHP 5.3.0.
ILL_PRVOPC (integer)
Verfügbar seit PHP 5.3.0.
ILL_PRVREG (integer)
Verfügbar seit PHP 5.3.0.
ILL_COPROC (integer)
Verfügbar seit PHP 5.3.0.
ILL_BADSTK (integer)
Verfügbar seit PHP 5.3.0.
FPE_INTDIV (integer)
Verfügbar seit PHP 5.3.0.
FPE_INTOVF (integer)
Verfügbar seit PHP 5.3.0.
FPE_FLTDIV (integer)
Verfügbar seit PHP 5.3.0.
FPE_FLTOVF (integer)
Verfügbar seit PHP 5.3.0.
FPE_FLTUND (integer)
Verfügbar seit PHP 5.3.0.
FPE_FLTRES (integer)
Verfügbar seit PHP 5.3.0.
FPE_FLTINV (integer)
Verfügbar seit PHP 5.3.0.
FPE_FLTSUB (integer)
Verfügbar seit PHP 5.3.0.
SEGV_MAPERR (integer)
Verfügbar seit PHP 5.3.0.
SEGV_ACCERR (integer)
Verfügbar seit PHP 5.3.0.
BUS_ADRALN (integer)
Verfügbar seit PHP 5.3.0.
BUS_ADRERR (integer)
Verfügbar seit PHP 5.3.0.
BUS_OBJERR (integer)
Verfügbar seit PHP 5.3.0.
Ressource-Typen
Beispiele
PCNTL


Beispiele

Inhaltsverzeichnis

  • Grundlegende Verwendung
Vordefinierte Konstanten
Grundlegende Verwendung
PCNTL


Grundlegende Verwendung

Dieses Beispiel zweigt einen Daemon Prozess mit Signalverarbeitung ab.

Beispiel #1 Prozesskontrollbeispiel

<?php
declare(ticks=1);

$pid = pcntl_fork();
if ($pid == -1) {
     die("Konnte nicht abzweigen");
} else if ($pid) {
     exit(); // Wir sind der Vater
} else {
     // Wir sind das Kind
}

// Vom kontrollierenden Terminal ablösen
if (posix_setsid() == -1) {
    die("Konnte nicht vom Terminal abkoppeln");
}

// Signalverarbeitung einrichten
pcntl_signal(SIGTERM, "sig_handler");
pcntl_signal(SIGHUP, "sig_handler");

// Endlosschleife, die Aufgaben erfüllt
while (1) {

    // Hier etwas interessantes tun

}

function sig_handler($signo)
{

     switch ($signo) {
         case SIGTERM:
             // Aufgaben zum Abschalten bearbeiten
             exit;
             break;
         case SIGHUP:
             // Aufgaben zum Neustarten bearbeiten
             break;
         default:
             // Alle anderen Signale bearbeiten
     }

}

?>
Beispiele
PCNTL Funktionen
Beispiele


PCNTL Funktionen

Siehe auch

Ein Blick in den Abschnitt über POSIX Funktionen kann hilfreich sein.

Inhaltsverzeichnis

  • pcntl_alarm — Setzt einen Zeitschalter für die Auslieferung eines Signals
  • pcntl_errno — Alias von pcntl_get_last_error
  • pcntl_exec — Führt ein angegebenes Programm im aktuellen Prozessraum aus
  • pcntl_fork — Verzweigt den laufenden Prozess
  • pcntl_get_last_error — Retrieve the error number set by the last pcntl function which failed
  • pcntl_getpriority — Liest die Priorität irgendeines Prozesses
  • pcntl_setpriority — Ändert die Priorität irgendeines Prozesses
  • pcntl_signal_dispatch — Calls signal handlers for pending signals
  • pcntl_signal_get_handler — Get the current handler for specified signal
  • pcntl_signal — Richtet eine Signalverarbeitung ein
  • pcntl_sigprocmask — Sets and retrieves blocked signals
  • pcntl_sigtimedwait — Waits for signals, with a timeout
  • pcntl_sigwaitinfo — Waits for signals
  • pcntl_strerror — Retrieve the system error message associated with the given errno
  • pcntl_wait — Wartet auf ein oder gibt den Status eines abgezweigten Kindes zurück
  • pcntl_waitpid — Wartet auf ein oder gibt den Status eines abgezweigten Kindes zurück
  • pcntl_wexitstatus — Gibt den Statuscode eines beendeten Kindes zurück
  • pcntl_wifexited — Gibt TRUE zurück, wenn der Statuscode ein erfolgreiches Beenden darstellt
  • pcntl_wifsignaled — Gibt TRUE zurück, wenn der Statuscode eine Terminierung wegen eines Signals angibt
  • pcntl_wifstopped — Gibt TRUE zurück, wenn der Kindprozess gerade gestoppt ist
  • pcntl_wstopsig — Gibt das Signal zurück, welches das Anhalten des Kindes verursachte
  • pcntl_wtermsig — Gibt das Signal zurück, welches das Beenden des Kindes verursachte
Grundlegende Verwendung
pcntl_alarm
PCNTL


Setzt einen Zeitschalter für die Auslieferung eines Signals

PCNTL Funktionen
pcntl_errno
PCNTL Funktionen
PHP Manual

pcntl_alarm

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

pcntl_alarm — Setzt einen Zeitschalter für die Auslieferung eines Signals

Beschreibung

int pcntl_alarm ( int $seconds )

Die Funktion pcntl_alarm() erzeugt eine Zeitschaltuhr, die ein SIGALRM Signal an den Prozess senden wird, nachdem seconds Sekunden vergangen sind. Wenn seconds Null ist wird kein neuer Timer erzeugt. Jeder Aufruf von pcntl_alarm() wird jeden zuvor erzeugten Zeitschalter abbrechen.

pcntl_alarm() wird die Zeitangabe in Sekunden zurückgeben, die ein zuvor angesetzter Zeitschalter übrig hatte, bevor er ausgeliefert werden sollte, oder 0, wenn es keinen vorher angesetzten Zeitschalter gab.

PCNTL Funktionen
pcntl_errno
PCNTL Funktionen


Alias von pcntl_get_last_error

pcntl_alarm
pcntl_exec
PCNTL Funktionen
PHP Manual

pcntl_errno

(PHP 5 >= 5.3.4, PHP 7)

pcntl_errno — Alias von pcntl_get_last_error()

Beschreibung

Diese Funktion ist ein Alias für: pcntl_get_last_error()

pcntl_alarm
pcntl_exec
PCNTL Funktionen


Führt ein angegebenes Programm im aktuellen Prozessraum aus

pcntl_errno
pcntl_fork
PCNTL Funktionen
PHP Manual

pcntl_exec

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pcntl_exec — Führt ein angegebenes Programm im aktuellen Prozessraum aus

Beschreibung

void pcntl_exec ( string $path [, array $args [, array $envs ]] )

pcntl_exec() führt das Programm path mit den Parametern args aus. path muss der Pfad zur binären ausführbaren Datei oder einem Skript mit einem gültigen auf eine ausführbare Datei zeigenden Pfad in der Shebang (zum Beispiel #!/usr/local/bin/perl) als erste Zeile sein. Suchen Sie in der execve(2) man Seite Ihres Systems nach weiteren Informationen.

args ist ein Array von Parameterstrings, die dem Programm übergeben werden.

envs ist ein Array von Strings, die dem Programm als Umgebungsvariablen übergeben werden. Das Array ist im Format Name => Wert, wobei der Schlüssel der Name der Umgebungsvariable und der Wert der Inhalt dieser Variable ist.

pcntl_exec() gibt bei Fehlern FALSE zurück und kehrt bei Erfolg nicht mehr zurück.

pcntl_errno
pcntl_fork
PCNTL Funktionen


Verzweigt den laufenden Prozess

pcntl_exec
pcntl_get_last_error
PCNTL Funktionen
PHP Manual

pcntl_fork

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

pcntl_fork — Verzweigt den laufenden Prozess

Beschreibung

int pcntl_fork ( void )

Die Funktion pcntl_fork() erzeugt einen Kindprozess der sich von seinem Elternprozess nur durch seine PID und PPID unterscheidet. Bitte schauen Sie für spezifische Details, wie Fork auf Ihrem System arbeitet in die fork(2) man Seite Ihres Systems.

Bei Erfolg wird die PID des Kindprozesses an den Ausführungsstrang des Elternprozess und eine 0 an den Ausführungsstrang des Kindes zurückgegeben. Bei einem Fehlschlag wird -1 in den Kontext des Elternprozess zurückgegeben, kein Kindprozess erzeugt und ein PHP Fehler ausgelöst.

Beispiel #1 pcntl_fork() Beispiel

<?php

$pid = pcntl_fork();
if ($pid == -1) {
     die('Konnte nicht verzweigen');
} else if ($pid) {
     // Wir sind der Elternprozess
     pcntl_wait($status); //Schützt uns vor Zombie Kindern
} else {
     // Wir sind das Kind
}

?>

Siehe auch pcntl_waitpid() und pcntl_signal().

pcntl_exec
pcntl_get_last_error
PCNTL Funktionen


Retrieve the error number set by the last pcntl function which failed

pcntl_fork
pcntl_getpriority
PCNTL Funktionen
PHP Manual

pcntl_get_last_error

(PHP 5 >= 5.3.4, PHP 7)

pcntl_get_last_error — Retrieve the error number set by the last pcntl function which failed

Beschreibung

int pcntl_get_last_error ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns error code.

Siehe auch

  • pcntl_strerror() - Retrieve the system error message associated with the given errno
pcntl_fork
pcntl_getpriority
PCNTL Funktionen


Liest die Priorität irgendeines Prozesses

pcntl_get_last_error
pcntl_setpriority
PCNTL Funktionen
PHP Manual

pcntl_getpriority

(PHP 5, PHP 7)

pcntl_getpriority — Liest die Priorität irgendeines Prozesses

Beschreibung

int pcntl_getpriority ([ int $pid [, int $process_identifier ]] )

pcntl_getpriority() liest die Priorität von pid. Wenn pid nicht angegeben ist, wird die Pid des aktuellen Prozesses verwendet. Weil die Prioritätsstufen sich zwischen Systemtypen und Kernelversionen unterscheiden können schauen Sie bitte in die getpriority(2) mas Seite Ihres Systems nach spezifischen Details.

pcntl_getpriority() gibt die Priorität des Prozesses oder FALSE im Fehlerfall zurück. Ein kleinerer numerischer Wert ruft günstigeres Scheduling hervor.

process_identifier ist einer der Werte PRIO_PGRP, PRIO_USER, oder PRIO_PROCESS.

Warnung

Diese Funktion kann sowohl das boolsche FALSE zurückliefern, als auch einen nicht-boolschen Wert, welcher zu FALSE ausgewertet wird. Weitere Informationen entnehmen Sie bitte dem Abschnitt über die boolschen Typen. Benutzen Sie deshalb den === Operator, um den Rückgabewert dieser Funktion zu überprüfen.

pcntl_get_last_error
pcntl_setpriority
PCNTL Funktionen


Ändert die Priorität irgendeines Prozesses

pcntl_getpriority
pcntl_signal_dispatch
PCNTL Funktionen
PHP Manual

pcntl_setpriority

(PHP 5, PHP 7)

pcntl_setpriority — Ändert die Priorität irgendeines Prozesses

Beschreibung

bool pcntl_setpriority ( int $priority [, int $pid [, int $process_identifier ]] )

pcntl_setpriority() setzt die Priorität von pid auf priority. Wenn pid nicht angegeben ist, wird die Pid des aktuellen Prozesses benutzt.

priority ist gewöhnlich ein Wert im Bereich zwischen -20 und 20. Die vorgegebene Priorität ist 0 während ein kleinerer numerischer Wert günstigeres Scheduling hervorruft. Weil die Prioritätsstufen sich zwischen Systemtypen und Kernelversionen unterscheiden können schauen Sie bitte in die setpriority(2) man Seite Ihres Systems nach spezifischen Details.

process_identifier ist einer der Werte PRIO_PGRP, PRIO_USER, oder PRIO_PROCESS.

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

pcntl_getpriority
pcntl_signal_dispatch
PCNTL Funktionen


Calls signal handlers for pending signals

pcntl_setpriority
pcntl_signal_get_handler
PCNTL Funktionen
PHP Manual

pcntl_signal_dispatch

(PHP 5 >= 5.3.0, PHP 7)

pcntl_signal_dispatch — Calls signal handlers for pending signals

Beschreibung

bool pcntl_signal_dispatch ( void )

The pcntl_signal_dispatch() function calls the signal handlers installed by pcntl_signal() for each pending signal.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pcntl_signal_dispatch() example

<?php
echo "Installing signal handler...\n";
pcntl_signal(SIGHUP,  function($signo) {
     echo "signal handler called\n";
});

echo "Generating signal SIGHUP to self...\n";
posix_kill(posix_getpid(), SIGHUP);

echo "Dispatching...\n";
pcntl_signal_dispatch();

echo "Done\n";

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Installing signal handler...
Generating signal SIGHUP to self...
Dispatching...
signal handler called
Done

Siehe auch

  • pcntl_signal() - Richtet eine Signalverarbeitung ein
  • pcntl_sigprocmask() - Sets and retrieves blocked signals
  • pcntl_sigwaitinfo() - Waits for signals
  • pcntl_sigtimedwait() - Waits for signals, with a timeout

pcntl_setpriority
pcntl_signal_get_handler
PCNTL Funktionen


Get the current handler for specified signal

pcntl_signal_dispatch
pcntl_signal
PCNTL Funktionen
PHP Manual

pcntl_signal_get_handler

(PHP 7.1)

pcntl_signal_get_handler — Get the current handler for specified signal

Beschreibung

int|string pcntl_signal_get_handler ( int $signo )

The pcntl_signal_get_handler() function will get the current handler for the specified signo.

Parameter-Liste

signo

The signal number.

Rückgabewerte

This function may return an integer value that refers to SIG_DFL or SIG_IGN. If you set a custom handler a string value containing the function name is returned.

Changelog

Version | Beschreibung
Enter the version of change here | Describe the change

Beispiele

Beispiel #1 pcntl_signal_get_handler() example

<?php
var_dump(pcntl_signal_get_handler(SIGUSR1)); // Outputs: int(0)

function pcntl_test($signo) {}
pcntl_signal(SIGUSR1, 'pcntl_test');
var_dump(pcntl_signal_get_handler(SIGUSR1)); // Outputs: string(10) "pcntl_test"

pcntl_signal(SIGUSR1, SIG_DFL);
var_dump(pcntl_signal_get_handler(SIGUSR1)); // Outputs: int(0)

pcntl_signal(SIGUSR1, SIG_IGN);
var_dump(pcntl_signal_get_handler(SIGUSR1)); // Outputs: int(1)
?>

Siehe auch

  • pcntl_signal() - Richtet eine Signalverarbeitung ein
pcntl_signal_dispatch
pcntl_signal
PCNTL Funktionen


Richtet eine Signalverarbeitung ein

pcntl_signal_get_handler
pcntl_sigprocmask
PCNTL Funktionen
PHP Manual

pcntl_signal

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

pcntl_signal — Richtet eine Signalverarbeitung ein

Beschreibung

bool pcntl_signal ( int $signo , callback $handle [, bool $restart_syscalls ] )

Die Funktion pcntl_signal() richtet eine neue Signalverarbeitung für das in signo angegebene Signal ein. Die Signalverarbeitung wird auf handler gesetzt, was entweder der Name einer benutzerdefinierten Funktion oder eine der beiden globalen Konstanten SIG_IGN oder SIG_DFL sein kann. Der optionale Parameter restart_syscalls gibt an, ob der Neustart von Systemaufrufen verwendet werden soll, wenn das Signal eintrifft und ist vorgegeben als TRUE.

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Hinweis:

Der optionale Parameter restart_syscalls wurde mit PHP 4.3.0. verfügbar.

Hinweis:

Die Fähigkeit, eine Objektmethode als Callback zu verwenden, wurde in PHP 4.3.0. verfügbar. Beachten Sie, dass die Verwendung einer Objektmethode als Signalverarbeitung den Referenzzähler des Objektes erhöht, weshalb das Objekt bestehen bleibt bis entweder der Handler geändert wird oder das Skript endet.

Beispiel #1 pcntl_signal() Beispiel

<?php
// Verwendung von Ticks wird seit PHP 4.3.0. benötigt
declare(ticks = 1);

// Signalverarbeitungsfunktion
function sig_handler($signo)
{

     switch ($signo) {
         case SIGTERM:
             // Aufgaben zum Beenden bearbeiten
             exit;
             break;
         case SIGHUP:
             // Aufgaben zum Neustart bearbeiten
             break;
         case SIGUSR1:
             echo "Caught SIGUSR1...\n";
             break;
         default:
             // Alle anderen Signale bearbeiten
     }

}

echo "Richte neue Signalverarbeitung ein...\n";

// Signalverarbeitung einrichten
pcntl_signal(SIGTERM, "sig_handler");
pcntl_signal(SIGHUP,  "sig_handler");
pcntl_signal(SIGUSR1, "sig_handler");

// oder ein Objekt verwenden, ab PHP 4.3.0 möglich
// pcntl_signal(SIGUSR1, array($obj, "tu_etwas");

echo "Erzeuge signal SIGTERM an mich selbst...\n";

// sende SIGUSR1 an die aktuelle Prozess ID
posix_kill(posix_getpid(), SIGUSR1);

echo "Fertig\n"

?>

Hinweis:

Seit PHP 4.3.0. benutzt PCNTL Ticks als Signalverarbeitungsmechanismus, welcher wesentlich schneller als der zuvor verwendete Mechanismus ist. Dieser Wechsel folgt der selben Semantik wie die Verwendung von "Benutzer Ticks". Man verwendet die declare() Anweisung, um die Stellen in seinem Programm anzugeben, in denen Callbacks stattfinden dürfen, damit die Signalverarbeitung korrekt funktioniert (wie im obigen Beispiel).

Siehe auch pcntl_fork() und pcntl_waitpid().

pcntl_signal_get_handler
pcntl_sigprocmask
PCNTL Funktionen


Sets and retrieves blocked signals

pcntl_signal
pcntl_sigtimedwait
PCNTL Funktionen
PHP Manual

pcntl_sigprocmask

(PHP 5 >= 5.3.0, PHP 7)

pcntl_sigprocmask — Sets and retrieves blocked signals

Beschreibung

bool pcntl_sigprocmask ( int $how , array $set [, array &$oldset ] )

The pcntl_sigprocmask() function adds, removes or sets blocked signals, depending on the how parameter.

Parameter-Liste

how

Sets the behavior of pcntl_sigprocmask(). Possible values:

  • SIG_BLOCK: Add the signals to the currently blocked signals.
  • SIG_UNBLOCK: Remove the signals from the currently blocked signals.
  • SIG_SETMASK: Replace the currently blocked signals by the given list of signals.

set

List of signals.

oldset

The oldset parameter is set to an array containing the list of the previously blocked signals.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pcntl_sigprocmask() example

<?php
pcntl_sigprocmask(SIG_BLOCK, array(SIGHUP));
$oldset = array();
pcntl_sigprocmask(SIG_UNBLOCK, array(SIGHUP), $oldset);
?>

Siehe auch

  • pcntl_sigwaitinfo() - Waits for signals
  • pcntl_sigtimedwait() - Waits for signals, with a timeout

pcntl_signal
pcntl_sigtimedwait
PCNTL Funktionen


Waits for signals, with a timeout

pcntl_sigprocmask
pcntl_sigwaitinfo
PCNTL Funktionen
PHP Manual

pcntl_sigtimedwait

(PHP 5 >= 5.3.0, PHP 7)

pcntl_sigtimedwait — Waits for signals, with a timeout

Beschreibung

int pcntl_sigtimedwait ( array $set [, array &$siginfo [, int $seconds = 0 [, int $nanoseconds = 0 ]]] )

The pcntl_sigtimedwait() function operates in exactly the same way as pcntl_sigwaitinfo() except that it takes two additional parameters, seconds and nanoseconds, which enable an upper bound to be placed on the time for which the script is suspended.

Parameter-Liste

set

Array of signals to wait for.

siginfo

The siginfo is set to an array containing informations about the signal. See pcntl_sigwaitinfo().

seconds

Timeout in seconds.

nanoseconds

Timeout in nanoseconds.

Rückgabewerte

On success, pcntl_sigtimedwait() returns a signal number.

Siehe auch

  • pcntl_sigprocmask() - Sets and retrieves blocked signals
  • pcntl_sigwaitinfo() - Waits for signals

pcntl_sigprocmask
pcntl_sigwaitinfo
PCNTL Funktionen


Waits for signals

pcntl_sigtimedwait
pcntl_strerror
PCNTL Funktionen
PHP Manual

pcntl_sigwaitinfo

(PHP 5 >= 5.3.0, PHP 7)

pcntl_sigwaitinfo — Waits for signals

Beschreibung

int pcntl_sigwaitinfo ( array $set [, array &$siginfo ] )

The pcntl_sigwaitinfo() function suspends execution of the calling script until one of the signals given in set are delivered. If one of the signal is already pending (e.g. blocked by pcntl_sigprocmask()), pcntl_sigwaitinfo() will return immediately.

Parameter-Liste

set

Array of signals to wait for.

siginfo

The siginfo parameter is set to an array containing informations about the signal.

The following elements are set for all signals:

  • signo: Signal number
  • errno: An error number
  • code: Signal code

The following elements may be set for the SIGCHLD signal:

  • status: Exit value or signal
  • utime: User time consumed
  • stime: System time consumed
  • pid: Sending process ID
  • uid: Real user ID of sending process

The following elements may be set for the SIGILL, SIGFPE, SIGSEGV and SIGBUS signals:

  • addr: Memory location which caused fault

The following element may be set for the SIGPOLL signal:

  • band: Band event
  • fd: File descriptor number

Rückgabewerte

On success, pcntl_sigwaitinfo() returns a signal number.

Beispiele

Beispiel #1 pcntl_sigwaitinfo() example

<?php
echo "Blocking SIGHUP signal\n";
pcntl_sigprocmask(SIG_BLOCK, array(SIGHUP));

echo "Sending SIGHUP to self\n";
posix_kill(posix_getpid(), SIGHUP);

echo "Waiting for signals\n";
$info = array();
pcntl_sigwaitinfo(array(SIGHUP), $info);
?>

Siehe auch

  • pcntl_sigprocmask() - Sets and retrieves blocked signals
  • pcntl_sigtimedwait() - Waits for signals, with a timeout

pcntl_sigtimedwait
pcntl_strerror
PCNTL Funktionen


Retrieve the system error message associated with the given errno

pcntl_sigwaitinfo
pcntl_wait
PCNTL Funktionen
PHP Manual

pcntl_strerror

(PHP 5 >= 5.3.4, PHP 7)

pcntl_strerror — Retrieve the system error message associated with the given errno

Beschreibung

string pcntl_strerror ( int $errno )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

errno

Rückgabewerte

Returns error description on successIm Fehlerfall wird FALSE zurückgegeben..

Siehe auch

  • pcntl_get_last_error() - Retrieve the error number set by the last pcntl function which failed
pcntl_sigwaitinfo
pcntl_wait
PCNTL Funktionen


Wartet auf ein oder gibt den Status eines abgezweigten Kindes zurück

pcntl_strerror
pcntl_waitpid
PCNTL Funktionen
PHP Manual

pcntl_wait

(PHP 5, PHP 7)

pcntl_wait — Wartet auf ein oder gibt den Status eines abgezweigten Kindes zurück

Beschreibung

int pcntl_wait ( int &$status [, int $options ] )

Die Funktion unterbricht die Ausführung des aktuellen Prozesses bis ein Kind sich beendet hat oder bis ein Signal ausgeliefert wurde dessen Aktion den aktuellen Prozess beendet oder eine Signalverabeitungsfunktion aufruft. Wenn ein Kind sich zum Zeitpunkt des Funktionsaufrufes bereits beendet hat (ein sog. "Zombie" Prozess) kehrt die Funktion umgehend zurück. Alle durch das Kind verwendeten Ressourcen werden freigegeben. Bitte schlagen Sie in der waitpid(2) man Seite Ihres Systems für spezifische Dateils nach, wie waitpid auf Ihrem System arbeitet.

pcntl_wait() gibt die Prozess ID des beendeten Kindes zurück, -1 im Fehlerfall oder Null wenn WNOHANG als Option angegeben war (auf wait3 Systemen) und kein kind verfügbar war.

Wenn wait3 auf Ihrem System verfügbar ist (meist BSD-artige Systeme) können Sie den optionalen options Parameter angeben. Wenn dieser Parameter nicht angegeben wurde, wird wait als Systemaufruf verwendet. Wenn wait3 nicht verfügbar ist, wird die Angabe eines Wertes für options keinerlei Auswirkungen haben. Der Wert von options ist der Wert von Null oder mehr der folgenden durch OR verknüpften beiden Konstanten:

mögliche Werte für options, falls wait3 verfügbar ist
WNOHANG | kehre umgehend zurück, wenn kein Kind beendet wurde.
WUNTRACED | kehre für Kinder zurück die gestoppt sind und für solche, deren Status nicht gemeldet ist.

pcntl_wait() speichert Statusinformationen im Parameter
status, welcher durch die folgenden Funktionen
ausgewertet werden kann:
pcntl_wifexited(),
pcntl_wifstopped(),
pcntl_wifsignaled(),
pcntl_wexitstatus(),
pcntl_wtermsig() und
pcntl_wstopsig().

Hinweis:

Diese Funktion ist gleichwertig zum Aufruf der Funktion pcntl_waitpid() mit -1 als pid und keinerlei options.

Siehe auch pcntl_fork(),
pcntl_signal(),
pcntl_wifexited(),
pcntl_wifstopped(),
pcntl_wifsignaled(),
pcntl_wexitstatus(),
pcntl_wtermsig(),
pcntl_wstopsig() und
pcntl_waitpid().

pcntl_strerror
pcntl_waitpid
PCNTL Funktionen


Wartet auf ein oder gibt den Status eines abgezweigten Kindes zurück

pcntl_wait
pcntl_wexitstatus
PCNTL Funktionen
PHP Manual

pcntl_waitpid

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

pcntl_waitpid — Wartet auf ein oder gibt den Status eines abgezweigten Kindes zurück

Beschreibung

int pcntl_waitpid ( int $pid , int &$status [, int $options ] )

Die Funktion pcntl_waitpid() unterbricht die Ausführung des aktuellen Prozesses bis ein durch den Parameter pid angegebenes Kind sich beendet hat oder bis ein Signal ausgeliefert wurde dessen Aktion den aktuellen Prozess beendet oder eine Signalverabeitungsfunktion aufruft. Wenn ein Kind, welches durch pid angefordert wird, sich zum Zeitpunkt des Funktionsaufrufes bereits beendet hat (ein sog. "Zombie" Prozess) kehrt die Funktion umgehend zurück. Alle durch das Kind verwendeten Ressourcen werden freigegeben. Bitte schlagen Sie in der waitpid(2) man Seite Ihres Systems für spezifische Dateils nach, wie waitpid auf Ihrem System arbeitet.

pcntl_waitpid() gibt entweder die Prozess ID des Kindes zurück, das beendet wurde, -1 im Fehlerfalle oder Null, wenn WNOHANG verwendet wurde und kein Kind verfügbar war.

Der Wert von pid kann einer der Folgenden sein:

mögliche Werte für pid
< -1 | wartet auf einen Kindprozess dessen Prozessgruppen ID gleich dem absoluten Wert von pid ist.
-1 | wartet auf einen Kindprozess; dies ist das selbe Verhalten, welches die wait Funktion anbietet.
0 | wartet auf einen Kindprozess dessen Prozessgruppen ID gleich dem Wert des aufrufenden Prozesses ist.
> 0 | wartet auf das Kind, dessen Prozess ID gleich dem Wert von pid ist.

Hinweis:

Angeben von -1 für den Parameter pid ist äquivalent zur Funktionalität der Funktion pcntl_wait() (ohne options).

pcntl_waitpid() speichert Statusinformationen im Parameter
status, welcher durch die folgenden Funktionen
ausgewertet werden kann:
pcntl_wifexited(),
pcntl_wifstopped(),
pcntl_wifsignaled(),
pcntl_wexitstatus(),
pcntl_wtermsig() und
pcntl_wstopsig().

Der Wert von options ist der Wert von Null oder mehr der mittels OR verknüpften folgenden beiden globalen Konstanten:

mögliche Werte für options
WNOHANG | kehre umgehend zurück, wenn kein Kind beendet wurde.
WUNTRACED | kehre für Kinder zurück die gestoppt sind und für solche, deren Status nicht gemeldet ist.

Siehe auch pcntl_fork(),
pcntl_signal(),
pcntl_wifexited(),
pcntl_wifstopped(),
pcntl_wifsignaled(),
pcntl_wexitstatus(),
pcntl_wtermsig() und
pcntl_wstopsig().

pcntl_wait
pcntl_wexitstatus
PCNTL Funktionen


Gibt den Statuscode eines beendeten Kindes zurück

pcntl_waitpid
pcntl_wifexited
PCNTL Funktionen
PHP Manual

pcntl_wexitstatus

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

pcntl_wexitstatus — Gibt den Statuscode eines beendeten Kindes zurück

Beschreibung

int pcntl_wexitstatus ( int $status )

Gibt den Statuscode eines beendeten Kindes zurück. Diese Funktion ist nur nützlich, wenn pcntl_wifexited() TRUE zurückgab.

Der status-Parameter entspricht dem Statusparameter, der für einen erfolgreichen Aufruf von pcntl_waitpid() verwendet wird.

Siehe auch pcntl_waitpid() und pcntl_wifexited().

pcntl_waitpid
pcntl_wifexited
PCNTL Funktionen


Gibt TRUE zurück, wenn der Statuscode ein erfolgreiches Beenden darstellt

pcntl_wexitstatus
pcntl_wifsignaled
PCNTL Funktionen
PHP Manual

pcntl_wifexited

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

pcntl_wifexited — Gibt TRUE zurück, wenn der Statuscode ein erfolgreiches Beenden darstellt

Beschreibung

bool pcntl_wifexited ( int $status )

Gibt TRUE zurück, wenn der Statuscode eines Kindes ein erfolgreiches Beenden darstellt.

Der status-Parameter entspricht dem Statusparameter, der für einen erfolgreichen Aufruf von pcntl_waitpid() verwendet wird.

Siehe auch pcntl_waitpid() und pcntl_wexitstatus().

pcntl_wexitstatus
pcntl_wifsignaled
PCNTL Funktionen


Gibt TRUE zurück, wenn der Statuscode eine Terminierung wegen eines Signals angibt

pcntl_wifexited
pcntl_wifstopped
PCNTL Funktionen
PHP Manual

pcntl_wifsignaled

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

pcntl_wifsignaled — Gibt TRUE zurück, wenn der Statuscode eine Terminierung wegen eines Signals angibt

Beschreibung

bool pcntl_wifsignaled ( int $status )

Gibt TRUE zurück, wenn der Kindprozess sich wegen eines Signals beendete, das nicht abgefangen wurde.

Der status-Parameter entspricht dem Statusparameter, der für einen erfolgreichen Aufruf von pcntl_waitpid() verwendet wird.

Siehe auch pcntl_waitpid() und pcntl_signal().

pcntl_wifexited
pcntl_wifstopped
PCNTL Funktionen


Gibt TRUE zurück, wenn der Kindprozess gerade gestoppt ist

pcntl_wifsignaled
pcntl_wstopsig
PCNTL Funktionen
PHP Manual

pcntl_wifstopped

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

pcntl_wifstopped — Gibt TRUE zurück, wenn der Kindprozess gerade gestoppt ist

Beschreibung

bool pcntl_wifstopped ( int $status )

Gibt TRUE zurück, wenn der Kindprozess der die Rückkehr verursachte momentan gestoppt ist; dies ist nur möglich, wenn der Aufruf von pcntl_waitpid() mit der Option WUNTRACED geschah.

Der status-Parameter entspricht dem Statusparameter, der für einen erfolgreichen Aufruf von pcntl_waitpid() verwendet wird.

Siehe auch pcntl_waitpid().

pcntl_wifsignaled
pcntl_wstopsig
PCNTL Funktionen


Gibt das Signal zurück, welches das Anhalten des Kindes verursachte

pcntl_wifstopped
pcntl_wtermsig
PCNTL Funktionen
PHP Manual

pcntl_wstopsig

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

pcntl_wstopsig — Gibt das Signal zurück, welches das Anhalten des Kindes verursachte

Beschreibung

int pcntl_wstopsig ( int $status )

Gibt die Zahl des Signals zurück, das verursachte, dass das Kind anhielt. Diese Funktion ist nur nützlich, falls pcntl_wifstopped() TRUE zurück gab.

Parameter-Liste

status

Der status-Parameter entspricht dem Statusparameter, der für einen erfolgreichen Aufruf von pcntl_waitpid() verwendet wird.

Rückgabewerte

Gibt die Signalnummer als Integer zurück.

Siehe auch

  • pcntl_waitpid() - Wartet auf ein oder gibt den Status eines abgezweigten Kindes zurück
  • pcntl_wifstopped() - Gibt TRUE zurück, wenn der Kindprozess gerade gestoppt ist

pcntl_wifstopped
pcntl_wtermsig
PCNTL Funktionen


Gibt das Signal zurück, welches das Beenden des Kindes verursachte

pcntl_wstopsig
POSIX
PCNTL Funktionen
PHP Manual

pcntl_wtermsig

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

pcntl_wtermsig — Gibt das Signal zurück, welches das Beenden des Kindes verursachte

Beschreibung

int pcntl_wtermsig ( int $status )

Gibt die Zahl des Signals zurück, das verursachte, dass das Kind beendet wurde. Diese Funktion ist nur nützlich, falls pcntl_wifsignaled() TRUE zurückgab.

Parameter-Liste

status

Der status-Parameter entspricht dem Statusparameter, der für einen erfolgreichen Aufruf von pcntl_waitpid() verwendet wird.

Rückgabewerte

Gibt die Signalnummer als Integer zurück.

Siehe auch

  • pcntl_waitpid() - Wartet auf ein oder gibt den Status eines abgezweigten Kindes zurück
  • pcntl_signal() - Richtet eine Signalverarbeitung ein
  • pcntl_wifsignaled() - Gibt TRUE zurück, wenn der Statuscode eine Terminierung wegen eines Signals angibt

pcntl_wstopsig
POSIX
PCNTL Funktionen


POSIX

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
    • posix_access-Konstanten
    • posix_mknod-Konstanten
    • posix_setrlimit-Konstanten
  • POSIX Funktionen
    • posix_access — Ermittelt die Zugriffsberechtigungen einer Datei
    • posix_ctermid — Liefert den Pfad des kontrollierenden Terminals
    • posix_errno — Alias von posix_get_last_error
    • posix_get_last_error — Liefert die von der letzten fehlgeschlagenen Posix-Funktion gesetzte Fehlernummer
    • posix_getcwd — Pfadname des aktuellen Verzeichnisses
    • posix_getegid — Liefert die effektive Gruppen-ID des aktuellen Prozesses
    • posix_geteuid — Liefert die effektive Benutzer-ID des aktuellen Prozesses
    • posix_getgid — Liefert die reale Gruppen-ID des aktuellen Prozesses
    • posix_getgrgid — Liefert zu einer Gruppen-ID Informationen über diese Gruppe
    • posix_getgrnam — Liefert zu einem Gruppennamen Informationen über diese Gruppe
    • posix_getgroups — Liefert die Gruppenliste des aktuellen Prozesses
    • posix_getlogin — Liefert den Loginnamen
    • posix_getpgid — Liefert die Prozessgruppenkennung (Process Group ID) für die Job-Kontrolle
    • posix_getpgrp — Liefert die Prozessgruppenkennung des aktuellen Prozesses
    • posix_getpid — Liefert die aktuelle Prozesskennung
    • posix_getppid — Liefert die Prozesskennung des Elternprozesses
    • posix_getpwnam — Liefert zu einem Benutzernamen Informationen über diesen Benutzer
    • posix_getpwuid — Liefert zu einer Benutzer-ID Informationen über diesen Benutzer
    • posix_getrlimit — Liefert Informationen über Systemressourcen-Limits
    • posix_getsid — Liefert die aktuelle Session-ID (sid) des Prozesses
    • posix_getuid — Liefert die reale Benutzer-ID des aktuellen Prozesses
    • posix_initgroups — Ermittelt die Gruppenzugriffsliste
    • posix_isatty — Ermittelt, ob ein Dateideskriptor ein interaktives Terminal ist
    • posix_kill — Sendet einem Prozess ein Signal
    • posix_mkfifo — Erzeugt eine "FIFO special"-Datei (named pipe)
    • posix_mknod — Erzeugt eine spezielle oder eine gewöhnliche Datei (POSIX.1)
    • posix_setegid — Setzt die effektive Gruppen-ID des aktuellen Prozesses
    • posix_seteuid — Setzt die effektive Benutzer-ID des aktuellen Prozesses
    • posix_setgid — Setzt die Gruppen-ID des aktuellen Prozesses
    • posix_setpgid — Setzt die Prozessgruppenkennung (Process Group ID) für die Job-Kontrolle
    • posix_setrlimit — Set system resource limits
    • posix_setsid — Macht den aktuellen Prozess zum Prozessgruppen-Führer
    • posix_setuid — Setzt die Benutzer-ID des aktuellen Prozesses
    • posix_strerror — Liefert die System-Fehlermeldung, die zur angegebenen Fehlernummer gehört
    • posix_times — Liefert Rechenzeiten
    • posix_ttyname — Ermittelt den Namen des Terminal-Devices
    • posix_uname — Liefert Auskunft über das System
pcntl_wtermsig
Einführung
Erweiterungen zur Prozesskontrolle


Einführung

Dieses Modul enthält eine Schnittstelle zu den im IEEE 1003.1 (POSIX.1) Standards Dokument definierten Funktionen, die auf einem anderen Weg nicht erreichbar sind.

Warnung

Sensible Daten können mit den POSIX-Funktionen, z.B. posix_getpwnam() und Freunde, abgefragt werden. Die POSIX-Funktionen führen keinerlei Zugriffsüberprüfungen durch, wenn safe mode aktiviert ist. Es wird daher dringend empfohlen, die POSIX-Erweiterung komplett zu deaktivieren (verwenden Sie dazu bei der Konfiguration --disable-posix), wenn Sie in einer solchen Umgebung arbeiten.

Hinweis: Diese Erweiterung steht auf Windows-Betriebssystemen nicht zur Verfügung.

POSIX
Installation/Konfiguration
POSIX


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
POSIX


Installation

Die POSIX-Funktionen stehen standardmäßig zur Verfügung. Sie können sie mit der Option --disable-posix deaktivieren.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Inhaltsverzeichnis

  • posix_access-Konstanten
  • posix_mknod-Konstanten
  • posix_setrlimit-Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

Ressource-Typen
posix_access-Konstanten
POSIX


posix_access-Konstanten

Vordefinierte Konstanten
posix_mknod-Konstanten
Vordefinierte Konstanten
PHP Manual

posix_access()-Konstanten

Hinweis:

Diese Konstanten stehen seit PHP 5.1.0 zur Verfügung. Bitte beachten Sie, dass manche davon auf Ihrem System nicht zur Verfügung stehen könnten.

POSIX_F_OK (integer)
Prüft, ob die Datei existiert.
POSIX_R_OK (integer)
Prüft, ob die Datei existiert und ob sie gelesen werden darf.
POSIX_W_OK (integer)
Prüft, ob die Datei existiert und ob sie geschrieben werden darf.
POSIX_X_OK (integer)
Prüft, ob die Datei existiert und ob sie ausgeführt werden darf.
Vordefinierte Konstanten
posix_mknod-Konstanten
Vordefinierte Konstanten


posix_mknod-Konstanten

posix_access-Konstanten
posix_setrlimit-Konstanten
Vordefinierte Konstanten
PHP Manual

posix_mknod()-Konstanten

Hinweis:

Diese Konstanten stehen seit PHP 5.1.0 zur Verfügung. Bitte beachten Sie, dass manche davon auf Ihrem System nicht zur Verfügung stehen könnten.

POSIX_S_IFBLK (integer)
Blockorientierte Spezialdatei
POSIX_S_IFCHR (integer)
Zeichenorientierte Spezialdatei
POSIX_S_IFIFO (integer)
FIFO (benannte Pipe) Spezialdatei
POSIX_S_IFREG (integer)
Normale Datei
POSIX_S_IFSOCK (integer)
Socket
posix_access-Konstanten
posix_setrlimit-Konstanten
Vordefinierte Konstanten


posix_setrlimit-Konstanten

posix_mknod-Konstanten
POSIX Funktionen
Vordefinierte Konstanten
PHP Manual

posix_setrlimit()-Konstanten

Hinweis:

Diese Konstanten stehen seit PHP 7.0.0 zur Verfügung. Bitte beachten Sie, dass manche davon auf Ihrem System nicht zur Verfügung stehen könnten.

Hinweis:

You may wish to read the below notes in conjunction with the manpage for setrlimit() on your specific operating system, as there is variance in how these limits are interpreted, even across operating systems that claim to implement POSIX in full.

POSIX_RLIMIT_AS (integer)
The maximum size of the process's address space in bytes. See also PHP's memory_limit configuration directive.
POSIX_RLIMIT_CORE (integer)
The maximum size of a core file. If the limit is set to 0, no core file will be generated.
POSIX_RLIMIT_CPU (integer)
The maximum amount of CPU time that the process can use, in seconds. When the soft limit is hit, a SIGXCPU signal will be sent, which can be caught with pcntl_signal(). Depending on the operating system, additional SIGXCPU signals may be sent each second until the hard limit is hit, at which point an uncatchable SIGKILL signal is sent. See also set_time_limit().
POSIX_RLIMIT_DATA (integer)
The maximum size of the process's data segment, in bytes. It is extremely unlikely that this will have any effect on the execution of PHP unless an extension is in use that calls brk() or sbrk().
POSIX_RLIMIT_FSIZE (integer)
The maximum size of files that the process can create, in bytes.
POSIX_RLIMIT_LOCKS (integer)
The maximum number of locks that the process can create. This is only supported on extremely old Linux kernels.
POSIX_RLIMIT_MEMLOCK (integer)
The maximum number of bytes that can be locked into memory.
POSIX_RLIMIT_MSGQUEUE (integer)
The maximum number of bytes that can be allocated for POSIX message queues. PHP does not ship with support for POSIX message queues, so this limit will not have any effect unless you are using an extension that implements that support.
POSIX_RLIMIT_NICE (integer)
The maximum value to which the process can be reniced to. The value that will be used will be 20 - limit, as resource limit values cannot be negative.
POSIX_RLIMIT_NOFILE (integer)
A value one greater than the maximum file descriptor number that can be opened by this process.
POSIX_RLIMIT_NPROC (integer)
The maximum number of processes (and/or threads, on some operating systems) that can be created for the real user ID of the process.
POSIX_RLIMIT_RSS (integer)
The maximum size of the process's resident set, in pages.
POSIX_RLIMIT_RTPRIO (integer)
The maximum real time priority that can be set via the sched_setscheduler() and sched_setparam() system calls.
POSIX_RLIMIT_RTTIME (integer)
The maximum amount of CPU time, in microseconds, that the process can consume without making a blocking system call if it is using real time scheduling.
POSIX_RLIMIT_SIGPENDING (integer)
The maximum number of signals that can be queued for the real user ID of the process.
POSIX_RLIMIT_STACK (integer)
The maximum size of the process stack, in bytes.
POSIX_RLIMIT_INFINITY (integer)
Used to indicate an infinite value for a resource limit.
posix_mknod-Konstanten
POSIX Funktionen
Vordefinierte Konstanten


POSIX Funktionen

Siehe auch

Der Abschnitt über Prozesskontroll-Funktionen könnte für Sie von Interesse sein.

Inhaltsverzeichnis

  • posix_access — Ermittelt die Zugriffsberechtigungen einer Datei
  • posix_ctermid — Liefert den Pfad des kontrollierenden Terminals
  • posix_errno — Alias von posix_get_last_error
  • posix_get_last_error — Liefert die von der letzten fehlgeschlagenen Posix-Funktion gesetzte Fehlernummer
  • posix_getcwd — Pfadname des aktuellen Verzeichnisses
  • posix_getegid — Liefert die effektive Gruppen-ID des aktuellen Prozesses
  • posix_geteuid — Liefert die effektive Benutzer-ID des aktuellen Prozesses
  • posix_getgid — Liefert die reale Gruppen-ID des aktuellen Prozesses
  • posix_getgrgid — Liefert zu einer Gruppen-ID Informationen über diese Gruppe
  • posix_getgrnam — Liefert zu einem Gruppennamen Informationen über diese Gruppe
  • posix_getgroups — Liefert die Gruppenliste des aktuellen Prozesses
  • posix_getlogin — Liefert den Loginnamen
  • posix_getpgid — Liefert die Prozessgruppenkennung (Process Group ID) für die Job-Kontrolle
  • posix_getpgrp — Liefert die Prozessgruppenkennung des aktuellen Prozesses
  • posix_getpid — Liefert die aktuelle Prozesskennung
  • posix_getppid — Liefert die Prozesskennung des Elternprozesses
  • posix_getpwnam — Liefert zu einem Benutzernamen Informationen über diesen Benutzer
  • posix_getpwuid — Liefert zu einer Benutzer-ID Informationen über diesen Benutzer
  • posix_getrlimit — Liefert Informationen über Systemressourcen-Limits
  • posix_getsid — Liefert die aktuelle Session-ID (sid) des Prozesses
  • posix_getuid — Liefert die reale Benutzer-ID des aktuellen Prozesses
  • posix_initgroups — Ermittelt die Gruppenzugriffsliste
  • posix_isatty — Ermittelt, ob ein Dateideskriptor ein interaktives Terminal ist
  • posix_kill — Sendet einem Prozess ein Signal
  • posix_mkfifo — Erzeugt eine "FIFO special"-Datei (named pipe)
  • posix_mknod — Erzeugt eine spezielle oder eine gewöhnliche Datei (POSIX.1)
  • posix_setegid — Setzt die effektive Gruppen-ID des aktuellen Prozesses
  • posix_seteuid — Setzt die effektive Benutzer-ID des aktuellen Prozesses
  • posix_setgid — Setzt die Gruppen-ID des aktuellen Prozesses
  • posix_setpgid — Setzt die Prozessgruppenkennung (Process Group ID) für die Job-Kontrolle
  • posix_setrlimit — Set system resource limits
  • posix_setsid — Macht den aktuellen Prozess zum Prozessgruppen-Führer
  • posix_setuid — Setzt die Benutzer-ID des aktuellen Prozesses
  • posix_strerror — Liefert die System-Fehlermeldung, die zur angegebenen Fehlernummer gehört
  • posix_times — Liefert Rechenzeiten
  • posix_ttyname — Ermittelt den Namen des Terminal-Devices
  • posix_uname — Liefert Auskunft über das System
posix_setrlimit-Konstanten
posix_access
POSIX


Ermittelt die Zugriffsberechtigungen einer Datei

POSIX Funktionen
posix_ctermid
POSIX Funktionen
PHP Manual

posix_access

(PHP 5 >= 5.1.0, PHP 7)

posix_access — Ermittelt die Zugriffsberechtigungen einer Datei

Beschreibung

bool posix_access ( string $file [, int $mode = POSIX_F_OK ] )

posix_access() überprüft, welche Zugriffsberechtigungen der Benutzer für eine Datei hat.

Parameter-Liste

file

Der Name der zu überprüfenden Datei.

mode

Eine Maske, die aus einer oder mehr der Konstanten POSIX_F_OK, POSIX_R_OK, POSIX_W_OK und POSIX_X_OK besteht.

POSIX_R_OK, POSIX_W_OK und POSIX_X_OK fordern eine Überprüfung an, ob die Datei existiert und ob dafür Lese-, Schreib-, bzw. Ausführungsrechte vorliegen. POSIX_F_OK fordert nur eine Überprüfung der Existenz der Datei an.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 posix_access()-Beispiel

Dieses Beispiel überprüft, ob $datei gelesen und geschrieben werden darf, und gibt andernfalls eine Fehlermeldung aus.

<?php

$datei = 'irgendeine_datei';

if (posix_access($file, POSIX_R_OK | POSIX_W_OK)) {
    echo 'Die Datei darf gelesen und geschrieben werden!';

} else {
    $fehler = posix_get_last_error();

    echo "Fehler $fehler: " . posix_strerror($fehler);
}

?>

Anmerkungen

Hinweis: Wenn Safe Mode aktiviert ist, überprüft PHP, ob die Dateien/Verzeichnisse, die mit dem Skript bearbeitet werden sollen, die gleiche UID (Eigentümer) haben wie das Skript selbst.

Siehe auch

  • posix_get_last_error() - Liefert die von der letzten fehlgeschlagenen Posix-Funktion gesetzte Fehlernummer
  • posix_strerror() - Liefert die System-Fehlermeldung, die zur angegebenen Fehlernummer gehört

POSIX Funktionen
posix_ctermid
POSIX Funktionen


Liefert den Pfad des kontrollierenden Terminals

posix_access
posix_errno
POSIX Funktionen
PHP Manual

posix_ctermid

(PHP 4, PHP 5, PHP 7)

posix_ctermid — Liefert den Pfad des kontrollierenden Terminals

Beschreibung

string posix_ctermid ( void )

Gibt den Pfadnamen des aktuell kontrollierenden Terminals des Prozesses als Zeichenkette zurück. Falls ein Fehler auftritt, wird errno (Fehlernummer) gesetzt, das mittels posix_get_last_error() abgerufen werden kann.

Rückgabewerte

Gibt bei erfolgreicher Beendigung den Pfadnamen des aktuell kontrollierenden Terminals als Zeichenkette zurück. Andernfalls wird FALSE zurückgegeben und errno gesetzt, das mittels posix_get_last_error() überprüft werden kann.

Beispiele

Beispiel #1 posix_ctermid()-Beispiel

Dieses Beispiel gibt den Pfad zum aktuellen TTY aus.

<?php
echo "Ich laufe auf ".posix_ctermid();
?>

Siehe auch

  • posix_ttyname() - Ermittelt den Namen des Terminal-Devices
  • posix_get_last_error() - Liefert die von der letzten fehlgeschlagenen Posix-Funktion gesetzte Fehlernummer

posix_access
posix_errno
POSIX Funktionen


Alias von posix_get_last_error

posix_ctermid
posix_get_last_error
POSIX Funktionen
PHP Manual

posix_errno

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

posix_errno — Alias von posix_get_last_error()

Beschreibung

Diese Funktion ist ein Alias für: posix_get_last_error().

posix_ctermid
posix_get_last_error
POSIX Funktionen


Liefert die von der letzten fehlgeschlagenen Posix-Funktion gesetzte Fehlernummer

posix_errno
posix_getcwd
POSIX Funktionen
PHP Manual

posix_get_last_error

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

posix_get_last_error — Liefert die von der letzten fehlgeschlagenen Posix-Funktion gesetzte Fehlernummer

Beschreibung

int posix_get_last_error ( void )

Gibt die Fehlernummer zurück, die von der letzten fehlgeschlagenen Posix-Funktion gesetzt wurde. Die zu errno gehörende Fehlermeldung des Systems kann mit posix_strerror() abgerufen werden.

Rückgabewerte

Gibt die errno (Fehlernummer) zurück, die von der letzten fehlgeschlagenen Posix-Funktion gesetzt wurde. Falls keine Fehler aufgetreten sind, wird 0 zurückgegeben.

Beispiele

Beispiel #1 posix_get_last_error()-Beispiel

In diesem Beispiel wird versucht, eine falsche Prozess-ID zu killen, was den letzten Fehler setzt. Anschließend lassen wir uns die Nummer des letzten Fehlers anzeigen.

<?php
posix_kill(999459,SIGKILL);
echo 'Der zurückgegebene Fehler war '.posix_get_last_error(); // Der zurückgegebene Fehler war ...
?>

Siehe auch

  • posix_strerror() - Liefert die System-Fehlermeldung, die zur angegebenen Fehlernummer gehört

posix_errno
posix_getcwd
POSIX Funktionen


Pfadname des aktuellen Verzeichnisses

posix_get_last_error
posix_getegid
POSIX Funktionen
PHP Manual

posix_getcwd

(PHP 4, PHP 5, PHP 7)

posix_getcwd — Pfadname des aktuellen Verzeichnisses

Beschreibung

string posix_getcwd ( void )

Gibt den absoluten Pfadnamen des aktuellen Arbeitsverzeichnisses des Skripts zurück. Falls ein Fehler auftritt, wird errno (Fehlernummer) gesetzt, das mittels posix_get_last_error() abgerufen werden kann.

Rückgabewerte

Gibt bei Erfolg den absoluten Pfadnamen als Zeichenkette zurück. Falls ein Fehler auftritt, wird FALSE zurückgegeben und errno gesetzt, das mittels posix_get_last_error() überprüft werden kann.

Beispiele

Beispiel #1 posix_getcwd()-Beispiel

Dieses Beispiel gibt den absoluten Pfad des aktuellen Arbeitsverzeichnisses des Skripts aus.

<?php
echo 'Das aktuelle Arbeitsverzeichnis ist '.posix_getcwd();
?>

Anmerkungen

Hinweis:

Diese Funktion schlägt fehl, wenn

  • es keine Lese- oder Suchberechtigung gibt
  • der Pfadname nicht mehr existiert

posix_get_last_error
posix_getegid
POSIX Funktionen


Liefert die effektive Gruppen-ID des aktuellen Prozesses

posix_getcwd
posix_geteuid
POSIX Funktionen
PHP Manual

posix_getegid

(PHP 4, PHP 5, PHP 7)

posix_getegid — Liefert die effektive Gruppen-ID des aktuellen Prozesses

Beschreibung

int posix_getegid ( void )

Gibt die effektive numerische Gruppen-ID des aktuellen Prozesses zurück.

Rückgabewerte

Gibt die effektive Gruppen-ID als Ganzzahl zurück.

Beispiele

Beispiel #1 posix_getegid()-Beispiel

Dieses Beispiel gibt die effektive Gruppen-ID aus, nachdem sie mittels posix_setegid() geändert wurde.

<?php
echo 'Meine reale Gruppen-ID ist '.posix_getgid(); //20
posix_setegid(40);
echo 'Meine reale Gruppen-ID ist '.posix_getgid(); //20
echo 'Meine effektive Gruppen-ID ist '.posix_getegid(); //40
?>

Anmerkungen

posix_getegid() unterscheidet sich von
posix_getgid() insofern, dass die effektive Gruppen-ID
durch einen aufrufenden Prozess, der posix_setegid()
verwendet, geändert werden kann.

Siehe auch

  • posix_getgrgid() - Liefert zu einer Gruppen-ID Informationen über diese Gruppe
  • posix_getgid() - Liefert die reale Gruppen-ID des aktuellen Prozesses
  • posix_setgid() - Setzt die Gruppen-ID des aktuellen Prozesses

posix_getcwd
posix_geteuid
POSIX Funktionen


Liefert die effektive Benutzer-ID des aktuellen Prozesses

posix_getegid
posix_getgid
POSIX Funktionen
PHP Manual

posix_geteuid

(PHP 4, PHP 5, PHP 7)

posix_geteuid — Liefert die effektive Benutzer-ID des aktuellen Prozesses

Beschreibung

int posix_geteuid ( void )

Gibt die effektive numerische Benutzer-ID des aktuellen Prozesses zurück. Für Informationen darüber, wie die Benutzer-ID in einen gebräuchlichen Benutzernamen umgewandelt werden kann, siehe auch posix_getpwuid().

Rückgabewerte

Gibt die Benutzer-ID als Ganzzahl zurück.

Beispiele

Beispiel #1 posix_geteuid()-Beispiel

Dieses Beispiel gibt die aktuelle Benutzer-ID aus, setzt danach die effektive Benutzer-ID mittels posix_seteuid() auf eine andere ID und zeigt dann anhand von realer und effektiver ID den Unterschied.

<?php
echo posix_getuid()."\n"; //10001
echo posix_geteuid()."\n"; //10001
posix_seteuid(10000);
echo posix_getuid()."\n"; //10001
echo posix_geteuid()."\n"; //10000
?>

Siehe auch

  • posix_getpwuid() - Liefert zu einer Benutzer-ID Informationen über diesen Benutzer
  • posix_getuid() - Liefert die reale Benutzer-ID des aktuellen Prozesses
  • posix_setuid() - Setzt die Benutzer-ID des aktuellen Prozesses
  • POSIX GETEUID(2)-Manpage

posix_getegid
posix_getgid
POSIX Funktionen


Liefert die reale Gruppen-ID des aktuellen Prozesses

posix_geteuid
posix_getgrgid
POSIX Funktionen
PHP Manual

posix_getgid

(PHP 4, PHP 5, PHP 7)

posix_getgid — Liefert die reale Gruppen-ID des aktuellen Prozesses

Beschreibung

int posix_getgid ( void )

Gibt die reale numerische Gruppen-ID des aktuellen Prozesses zurück.

Rückgabewerte

Gibt die reale Gruppen-ID als Ganzzahl zurück.

Beispiele

Beispiel #1 posix_getgid()-Beispiel

Dieses Beispiel gibt auch nach Änderung der effektiven Gruppen-ID die reale Gruppen-ID aus.

<?php
echo 'Meine reale Gruppen-ID ist '.posix_getgid(); //20
posix_setegid(40);
echo 'Meine reale Gruppen-ID ist '.posix_getgid(); //20
echo 'Meine effektive Gruppen-ID ist '.posix_getegid(); //40
?>

Siehe auch

  • posix_getgrgid() - Liefert zu einer Gruppen-ID Informationen über diese Gruppe
  • posix_getegid() - Liefert die effektive Gruppen-ID des aktuellen Prozesses
  • posix_setgid() - Setzt die Gruppen-ID des aktuellen Prozesses
  • POSIX GETGID(2)-Manpage

posix_geteuid
posix_getgrgid
POSIX Funktionen


Liefert zu einer Gruppen-ID Informationen über diese Gruppe

posix_getgid
posix_getgrnam
POSIX Funktionen
PHP Manual

posix_getgrgid

(PHP 4, PHP 5, PHP 7)

posix_getgrgid — Liefert zu einer Gruppen-ID Informationen über diese Gruppe

Beschreibung

array posix_getgrgid ( int $gid )

Gibt Informationen über die Gruppe mit der angegebenen ID zurück.

Parameter-Liste

gid

Die Gruppen-ID

Rückgabewerte

Die Elemente des zurückgegebenen Arrays sind:

Das Array mit Gruppeninformationen
Element | Beschreibung
name | Das name-Element enthält den Namen der Gruppe. Es handelt sich dabei nicht um den wirklichen, kompletten Namen, sondern um einen kurzen "Bezeichner" der Gruppe mit normalerweise weniger als 16 Zeichen.
passwd | Das passwd-Element enthält das Passwort der Gruppe in verschlüsselter Form. Häufig, zum Beispiel wenn auf einem System "shadow"-Passwörter verwendet werden, wird stattdessen ein Sternchen zurückgegeben.
gid | Die Gruppen-ID - sollte dieselbe sein wie der Parameter gid, der beim Aufruf der Funktion verwendet wurde und ist von daher redundant.
members | Besteht aus einem Array von Zeichenketten aller Gruppenmitglieder.

Beispiele

Beispiel #1 Beispiel zur Verwendung von posix_getgrgid()

<?php

$gruppenid   = posix_getegid();
$gruppeninfo = posix_getgrgid($gruppenid);

print_r($gruppeninfo);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [name]    => toons
    [passwd]  => x
    [members] => Array
        (
            [0] => tom
            [1] => jerry
        )
    [gid]     => 42
)

Siehe auch

  • posix_getegid() - Liefert die effektive Gruppen-ID des aktuellen Prozesses
  • posix_getgrnam() - Liefert zu einem Gruppennamen Informationen über diese Gruppe
  • filegroup() - Liefert die Gruppenzugehörigkeit einer Datei
  • stat() - Sammelt Informationen über eine Datei
  • safe_mode_gid
  • POSIX GETGRNAM(3)-Manpage

posix_getgid
posix_getgrnam
POSIX Funktionen


Liefert zu einem Gruppennamen Informationen über diese Gruppe

posix_getgrgid
posix_getgroups
POSIX Funktionen
PHP Manual

posix_getgrnam

(PHP 4, PHP 5, PHP 7)

posix_getgrnam — Liefert zu einem Gruppennamen Informationen über diese Gruppe

Beschreibung

array posix_getgrnam ( string $name )

Gibt Informationen über die durch Gruppenname angegebene Gruppe zurück.

Parameter-Liste

name

Der Name der Gruppe

Rückgabewerte

Die Elemente des zurückgegebenen Arrays sind:

Das Array mit Gruppeninformationen
Element | Beschreibung
name | Das name-Element enthält den Namen der Gruppe. Es handelt sich dabei nicht um den wirklichen, kompletten Namen, sondern um einen kurzen "Bezeichner" der Gruppe mit normalerweise weniger als 16 Zeichen. Er sollte derselbe sein wie der Parameter name, der beim Aufruf der Funktion verwendet wurde und ist von daher redundant.
passwd | Das passwd-Element enthält das Passwort der Gruppe in verschlüsselter Form. Häufig, zum Beispiel wenn auf einem System "shadow"-Passwörter verwendet werden, wird stattdessen ein Sternchen zurückgegeben.
gid | Die Gruppen-ID in numerischem Format
members | Besteht aus einem Array von Strings aller Gruppenmitglieder.

Beispiele

Beispiel #1 Beispiel für die Verwendung von posix_getgrnam()

<?php

$gruppeninfo = posix_getgrnam("toons");

print_r($gruppeninfo);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [name]    => toons
    [passwd]  => x
    [members] => Array
        (
            [0] => tom
            [1] => jerry
        )
    [gid]     => 42
)

Siehe auch

  • posix_getegid() - Liefert die effektive Gruppen-ID des aktuellen Prozesses
  • posix_getgrgid() - Liefert zu einer Gruppen-ID Informationen über diese Gruppe
  • filegroup() - Liefert die Gruppenzugehörigkeit einer Datei
  • stat() - Sammelt Informationen über eine Datei
  • safe_mode_gid
  • POSIX GETGRNAM(3)-Manpage

posix_getgrgid
posix_getgroups
POSIX Funktionen


Liefert die Gruppenliste des aktuellen Prozesses

posix_getgrnam
posix_getlogin
POSIX Funktionen
PHP Manual

posix_getgroups

(PHP 4, PHP 5, PHP 7)

posix_getgroups — Liefert die Gruppenliste des aktuellen Prozesses

Beschreibung

array posix_getgroups ( void )

Gibt die Gruppenliste des aktuellen Prozesses zurück.

Rückgabewerte

Gibt ein Array von Ganzzahlen zurück, das die numerischen Gruppen-IDs der Gruppenliste des aktuellen Prozesses enthält.

Beispiele

Beispiel #1 posix_getgroups()-Beispiel

<?php

$gruppen = posix_getgroups();

print_r($gruppen);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [0] => 4
    [1] => 20
    [2] => 24
    [3] => 25
    [4] => 29
    [5] => 30
    [6] => 33
    [7] => 44
    [8] => 46
    [9] => 104
    [10] => 109
    [11] => 110
    [12] => 1000
)

Siehe auch

  • posix_getgrgid() - Liefert zu einer Gruppen-ID Informationen über diese Gruppe

posix_getgrnam
posix_getlogin
POSIX Funktionen


Liefert den Loginnamen

posix_getgroups
posix_getpgid
POSIX Funktionen
PHP Manual

posix_getlogin

(PHP 4, PHP 5, PHP 7)

posix_getlogin — Liefert den Loginnamen

Beschreibung

string posix_getlogin ( void )

Gibt den Loginnamen der Benutzerin zurück, der der aktuelle Prozess gehört.

Rückgabewerte

Gibt den Loginnamen der Benutzerin als Zeichenkette zurück.

Beispiele

Beispiel #1 posix_getlogin()-Beispiel

<?php
echo posix_getlogin(); //apache
?>

Siehe auch

  • posix_getpwnam() - Liefert zu einem Benutzernamen Informationen über diesen Benutzer
  • POSIX GETLOGIN(3)-Manpage

posix_getgroups
posix_getpgid
POSIX Funktionen


Liefert die Prozessgruppenkennung (Process Group ID) für die Job-Kontrolle

posix_getlogin
posix_getpgrp
POSIX Funktionen
PHP Manual

posix_getpgid

(PHP 4, PHP 5, PHP 7)

posix_getpgid — Liefert die Prozessgruppenkennung (Process Group ID) für die Job-Kontrolle

Beschreibung

int posix_getpgid ( int $pid )

Gibt die Prozessgruppenkennung des Prozzesses pid zurück.

Parameter-Liste

pid

Die Prozess-ID

Rückgabewerte

Gibt die Kennung als Ganzzahl zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 posix_getpgid()-Beispiel

<?php
$pid = posix_getppid();
echo posix_getpgid($pid); //35
?>

Anmerkungen

Hinweis:

Dies ist keine POSIX-Funktion, aber sie ist auf BSD- und System V-Systemen gängig. Falls Ihr System diese Funktion nicht unterstützt, wird sie während der Übersetzung nicht eingebunden. Ob es die Funktion gibt, kann mittels function_exists() überprüft werden.

Siehe auch

  • posix_getppid() - Liefert die Prozesskennung des Elternprozesses
  • SETPGID(2)-Manpage

posix_getlogin
posix_getpgrp
POSIX Funktionen


Liefert die Prozessgruppenkennung des aktuellen Prozesses

posix_getpgid
posix_getpid
POSIX Funktionen
PHP Manual

posix_getpgrp

(PHP 4, PHP 5, PHP 7)

posix_getpgrp — Liefert die Prozessgruppenkennung des aktuellen Prozesses

Beschreibung

int posix_getpgrp ( void )

Gibt die Prozessgruppenkennung des aktuellen Prozesses zurück.

Rückgabewerte

Gibt die Kennung als Ganzzahl zurück.

Siehe auch

  • Die POSIX.1- und die getpgrp(2)-Manpage auf dem POSIX-System um mehr Informationen über Prozessgruppen zu erhalten.

posix_getpgid
posix_getpid
POSIX Funktionen


Liefert die aktuelle Prozesskennung

posix_getpgrp
posix_getppid
POSIX Funktionen
PHP Manual

posix_getpid

(PHP 4, PHP 5, PHP 7)

posix_getpid — Liefert die aktuelle Prozesskennung

Beschreibung

int posix_getpid ( void )

Gibt die Prozesskennung des aktuellen Prozesses zurück.

Rückgabewerte

Gibt die Kennung als Ganzzahl zurück.

Beispiele

Beispiel #1 posix_getpid()-Beispiel

<?php
echo posix_getpid(); //8805
?>

Siehe auch

  • posix_kill() - Sendet einem Prozess ein Signal
  • POSIX GETPID(2)-Manpage

posix_getpgrp
posix_getppid
POSIX Funktionen


Liefert die Prozesskennung des Elternprozesses

posix_getpid
posix_getpwnam
POSIX Funktionen
PHP Manual

posix_getppid

(PHP 4, PHP 5, PHP 7)

posix_getppid — Liefert die Prozesskennung des Elternprozesses

Beschreibung

int posix_getppid ( void )

Diese Funktion gibt die Prozesskennung des Elternprozesses des aktuellen Prozesses zurück.

Rückgabewerte

Gibt die Kennung als Ganzzahl zurück.

Beispiele

Beispiel #1 posix_getppid()-Beispiel

<?php
echo posix_getppid(); //8259
?>

posix_getpid
posix_getpwnam
POSIX Funktionen


Liefert zu einem Benutzernamen Informationen über diesen Benutzer

posix_getppid
posix_getpwuid
POSIX Funktionen
PHP Manual

posix_getpwnam

(PHP 4, PHP 5, PHP 7)

posix_getpwnam — Liefert zu einem Benutzernamen Informationen über diesen Benutzer

Beschreibung

array posix_getpwnam ( string $username )

Gibt ein Array mit Informationen über den angegebenen Benutzer zurück.

Parameter-Liste

username

Ein alphanumerischer Benutzername

Rückgabewerte

Bei Erfolg wird ein Array mit den folgenden Elementen zurückgegeben, andernfalls FALSE:

Das Benutzerinformation-Array
Element | Beschreibung
name | Das name-Element enthält den Benutzernamen. Es handelt sich dabei nicht um den wirklichen, kompletten Namen, sondern um einen kurzen "Bezeichner" des Benutzers mit normalerweise weniger als 16 Zeichen. Der Benutzername sollte derselbe wie der bei Aufruf der Funktion verwendete Parameter username sein und ist von daher redundant.
passwd | Das passwd-Element enthält das verschlüsselte Passwort des Benutzers. Häufig, zum Beispiel wenn auf einem System "shadow"-Passwörter verwendet werden, wird stattdessen ein Sternchen zurückgegeben.
uid | Die Benutzer-ID in numerischem Format.
gid | Die Gruppen-ID des Benutzers. Benutzen Sie die Funktion posix_getgrgid(), um den Gruppennamen und eine Liste der Gruppenmitglieder aufzulösen.
gecos | GECOS ist ein veralteter Begriff, der sich auf das finger-Informationsfeld auf einem Honeywell Stapelverarbeitungssystem bezieht. Das Feld gibt es aber immer noch und sein Inhalt wurde durch POSIX formalisiert. Es enthält eine durch Komma getrennte Liste, bestehend aus dem kompletten Namen der Benutzerin, der Telefonnummer des Büros, der Zimmernummer des Büros und der privaten Telefonnummer. Auf den meisten Systemen ist nur der komplette Name des Benutzers verfügbar.
dir | Dieses Element enthält den absoluten Pfad des Homeverzeichnisses des Benutzers.
shell | Das shell-Element enthält den absoluten Pfad zur standardmäßigen Shell des Benutzers.

Beispiele

Beispiel #1 posix_getpwnam()-Beispiel

<?php

$benutzerinfo = posix_getpwnam("tom");

print_r($benutzerinfo);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [name]    => tom
    [passwd]  => x
    [uid]     => 10000
    [gid]     => 42
    [gecos]   => "tom,,,"
    [dir]     => "/home/tom"
    [shell]   => "/bin/bash"
)

Siehe auch

  • posix_getpwuid() - Liefert zu einer Benutzer-ID Informationen über diesen Benutzer
  • POSIX GETPWNAM(3)-Manpage

posix_getppid
posix_getpwuid
POSIX Funktionen


Liefert zu einer Benutzer-ID Informationen über diesen Benutzer

posix_getpwnam
posix_getrlimit
POSIX Funktionen
PHP Manual

posix_getpwuid

(PHP 4, PHP 5, PHP 7)

posix_getpwuid — Liefert zu einer Benutzer-ID Informationen über diesen Benutzer

Beschreibung

array posix_getpwuid ( int $uid )

Gibt ein Array mit Informationen über den Benutzer zurück, auf die die angegebene ID verweist.

Parameter-Liste

uid

Die Benutzerkennung

Rückgabewerte

Gibt ein assoziatives Array mit den folgenden Elementen zurück:

Das Benutzerinformation-Array
Element | Beschreibung
name | Das name-Element enthält den Benutzernamen. Es handelt sich dabei nicht um den wirklichen, kompletten Namen, sondern um einen kurzen "Bezeichner" des Benutzers mit normalerweise weniger als 16 Zeichen.
passwd | Das passwd-Element enthält das verschlüsselte Passwort des Benutzers. Häufig, zum Beispiel wenn auf einem System "shadow"-Passwörter verwendet werden, wird stattdessen ein Sternchen zurückgegeben.
uid | Die Benutzer-ID sollte die selbe wie der Parameter uid sein und ist von daher redundant.
gid | Die Gruppen-ID des Benutzers. Benutzen Sie die Funktion posix_getgrgid(), um den Gruppennamen und eine Liste der Gruppenmitglieder aufzulösen.
gecos | GECOS ist ein veralteter Begriff, der sich auf das finger-Informationsfeld auf einem Honeywell Stapelverarbeitungssystem bezieht. Das Feld gibt es aber immer noch und sein Inhalt wurde durch POSIX formalisiert. Es enthält eine durch Komma getrennte Liste, bestehend aus dem kompletten Namen des Benutzers, der Telefonnummer des Büros, der Zimmernummer des Büros und der privaten Telefonnummer. Auf den meisten Systemen ist nur der komplette Name des Benutzers verfügbar.
dir | Dieses Element enthält den absoluten Pfad des Homeverzeichnisses des Benutzers.
shell | Das shell-Element enthält den absoluten Pfad zur standardmäßigen Shell des Benutzers.

Beispiele

Beispiel #1 posix_getpwuid()-Beispiel

<?php

$benutzerinfo = posix_getpwuid(10000);

print_r($benutzerinfo);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [name]    => tom
    [passwd]  => x
    [uid]     => 10000
    [gid]     => 42
    [gecos]   => "tom,,,"
    [dir]     => "/home/tom"
    [shell]   => "/bin/bash"
)

Siehe auch

  • posix_getpwnam() - Liefert zu einem Benutzernamen Informationen über diesen Benutzer
  • POSIX GETPWNAM(3)-Manpage

posix_getpwnam
posix_getrlimit
POSIX Funktionen


Liefert Informationen über Systemressourcen-Limits

posix_getpwuid
posix_getsid
POSIX Funktionen
PHP Manual

posix_getrlimit

(PHP 4, PHP 5, PHP 7)

posix_getrlimit — Liefert Informationen über Systemressourcen-Limits

Beschreibung

array posix_getrlimit ( void )

posix_getrlimit() gibt ein Array mit Informationen über die aktuellen weichen und harten Limits der Ressourcen zurück.

Zu jeder Ressource gehören ein weiches und ein hartes Limit. Das weiche Limit ist der Wert, den der Kernel für die entsprechende Ressource geltend macht. Das harte Limit fungiert als Obergrenze für das weiche Limit. Ein unprivilegierter Prozess kann nur sein weiches Limit auf einen Wert im Bereich von 0 bis zum harten Limit setzen und sein hartes Limit unumkehrbar absenken.

Rückgabewerte

Gibt ein assioziatives Array mit Elementen für jedes definierte Limit zurück. Jede Ressource hat ein weiches und ein hartes Limit.

Liste möglicher Limits, die zurückgegeben werden
Name des Limits | Beschreibung des Limits
core | Die maximale Größe der Core-Datei. 0 bedeutet, dass keine Core-Datei angelegt wird. Wenn Core-Dateien diese Größe überschreiten, werden sie auf diese Größe abgeschnitten.
totalmem | Die maximale Größe des Speichers für den Prozess in Bytes.
virtualmem | Die maximale Größe des virtuellen Speichers für den Prozess in Bytes.
data | Die maximale Größe des Datensegments für den Prozess in Bytes.
stack | Die maximale Stackgröße des Prozesses in Bytes.
rss | Die maximale Anzahl virtueller Speicherseiten, die im RAM resident sind.
maxproc | Die maximale Anzahl von Prozessen, die für die reale Benutzer-ID des aufrufenden Prozesses erzeugt werden können.
memlock | Die maximale Anzahl Bytes, die im RAM blockiert werden können.
cpu | Die Zeit, die ein Prozess die CPU benutzen darf.
filesize | Die maximale Größe des Datensegments für den Prozess in Bytes.
openfiles | Einer mehr als die maximale Anzahl offener Dateideskriptoren.

Beispiele

Beispiel #1 posix_getrlimit()-Beispiel

<?php

$limits = posix_getrlimit();

print_r($limits);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [soft core] => 0
    [hard core] => unlimited
    [soft data] => unlimited
    [hard data] => unlimited
    [soft stack] => 8388608
    [hard stack] => unlimited
    [soft totalmem] => unlimited
    [hard totalmem] => unlimited
    [soft rss] => unlimited
    [hard rss] => unlimited
    [soft maxproc] => unlimited
    [hard maxproc] => unlimited
    [soft memlock] => unlimited
    [hard memlock] => unlimited
    [soft cpu] => unlimited
    [hard cpu] => unlimited
    [soft filesize] => unlimited
    [hard filesize] => unlimited
    [soft openfiles] => 1024
    [hard openfiles] => 1024
)

Siehe auch

  • GETRLIMIT(2)-Manpage
  • posix_setrlimit() - Set system resource limits

posix_getpwuid
posix_getsid
POSIX Funktionen


Liefert die aktuelle Session-ID (sid) des Prozesses

posix_getrlimit
posix_getuid
POSIX Funktionen
PHP Manual

posix_getsid

(PHP 4, PHP 5, PHP 7)

posix_getsid — Liefert die aktuelle Session-ID (sid) des Prozesses

Beschreibung

int posix_getsid ( int $pid )

Gibt die Session-ID des Prozesses pid zurück. Die Session-ID eines Prozesses ist die Prozessgruppen-ID des Sessionführers.

Parameter-Liste

pid

Die Prozesskennung. Falls sie auf 0 gesetzt ist, wird der aktuelle Prozess angenommen. Falls eine ungültige pid angegeben wurde, wird FALSE zurückgegeben und ein Fehler gesetzt, der mittels posix_get_last_error() überprüft werden kann.

Rückgabewerte

Gibt die Kennung als Ganzzahl zurück.

Beispiele

Beispiel #1 posix_getsid()-Beispiel

<?php
$pid = posix_getpid();
echo posix_getsid($pid); //8805
?>

Siehe auch

  • posix_getpgid() - Liefert die Prozessgruppenkennung (Process Group ID) für die Job-Kontrolle
  • posix_setsid() - Macht den aktuellen Prozess zum Prozessgruppen-Führer
  • POSIX GETSID(2)-Manpage

posix_getrlimit
posix_getuid
POSIX Funktionen


Liefert die reale Benutzer-ID des aktuellen Prozesses

posix_getsid
posix_initgroups
POSIX Funktionen
PHP Manual

posix_getuid

(PHP 4, PHP 5, PHP 7)

posix_getuid — Liefert die reale Benutzer-ID des aktuellen Prozesses

Beschreibung

int posix_getuid ( void )

Gibt die reale numerische Benutzer-ID des aktuellen Prozesses zurück.

Rückgabewerte

Gibt die Kennung als Ganzzahl zurück.

Beispiele

Beispiel #1 posix_getuid()-Beispiel

<?php
echo posix_getuid(); //10000
?>

Siehe auch

  • posix_getpwuid() - Liefert zu einer Benutzer-ID Informationen über diesen Benutzer
  • POSIX GETUID(2)-Manpage

posix_getsid
posix_initgroups
POSIX Funktionen


Ermittelt die Gruppenzugriffsliste

posix_getuid
posix_isatty
POSIX Funktionen
PHP Manual

posix_initgroups

(PHP 5 >= 5.2.0, PHP 7)

posix_initgroups — Ermittelt die Gruppenzugriffsliste

Beschreibung

bool posix_initgroups ( string $name , int $base_group_id )

Ermittelt die Gruppenzugriffsliste für den in name angegebenen Benutzer.

Parameter-Liste

name

Der Benutzer, für den die Liste ermittelt werden soll.

base_group_id

Üblicherweise die Gruppennummer aus der Passwort-Datei.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • Die Unix-Manpage für initgroups(3)

posix_getuid
posix_isatty
POSIX Funktionen


Ermittelt, ob ein Dateideskriptor ein interaktives Terminal ist

posix_initgroups
posix_kill
POSIX Funktionen
PHP Manual

posix_isatty

(PHP 4, PHP 5, PHP 7)

posix_isatty — Ermittelt, ob ein Dateideskriptor ein interaktives Terminal ist

Beschreibung

bool posix_isatty ( mixed $fd )

Ermittelt, ob der Dateideskriptor fd auf ein gültiges terminalartiges Gerät verweist.

Parameter-Liste

fd

Der Datei-Deskriptor, welcher entweder eine Datei-Resource oder ein Integer sein sollte. Ist dies ein Integer so wird davon ausgegangen, dass es sich um einen Dateideskriptor handelt, welcher direkt an die zugrunde liegenden Systemaufrufe übergeben werden kann.

In fast allen Anwendungsfällen sollte eine Date-Resource angegeben werden.

Rückgabewerte

Gibt TRUE zurück, falls fd ein offener Deskriptor ist, der mit einem Terminal verbunden ist, und andernfalls FALSE.

Siehe auch

  • posix_ttyname() - Ermittelt den Namen des Terminal-Devices

posix_initgroups
posix_kill
POSIX Funktionen


Sendet einem Prozess ein Signal

posix_isatty
posix_mkfifo
POSIX Funktionen
PHP Manual

posix_kill

(PHP 4, PHP 5, PHP 7)

posix_kill — Sendet einem Prozess ein Signal

Beschreibung

bool posix_kill ( int $pid , int $sig )

Sendet das Signal sig zum Prozess mit der Prozesskennung pid.

Parameter-Liste

pid

Die Prozesskennung

sig

Eine der PCNTL-Signalkonstanten.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • Die kill(2)-Manpage des POSIX-Systems, die zusätzliche Informationen über negative Prozess-IDs, die speziellen pid 0 und -1 und die Signalnummer 0 enthält.

posix_isatty
posix_mkfifo
POSIX Funktionen


Erzeugt eine "FIFO special"-Datei (named pipe)

posix_kill
posix_mknod
POSIX Funktionen
PHP Manual

posix_mkfifo

(PHP 4, PHP 5, PHP 7)

posix_mkfifo — Erzeugt eine "FIFO special"-Datei (named pipe)

Beschreibung

bool posix_mkfifo ( string $pathname , int $mode )

posix_mkfifo() erzeugt eine spezielle FIFO-Datei, die im Dateisystem existiert und als bidirektionaler Kommunikationsendpunkt für Prozesse agiert.

Parameter-Liste

pathname

Der Pfad zur FIFO-Datei.

mode

Der zweite Parameter mode muss in oktaler Schreibweise angegeben werden (z.B. 0644). Die Zugriffsberechtigungen des neu erzeugten FIFO hängen auch von der Einstellung der aktuellen umask() ab. Die Zugriffsberechtigungen der erzeugten Datei sind (mode & ~umask).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Hinweis: Wenn Safe Mode aktiviert ist, überprüft PHP, ob die Dateien/Verzeichnisse, die mit dem Skript bearbeitet werden sollen, die gleiche UID (Eigentümer) haben wie das Skript selbst.

posix_kill
posix_mknod
POSIX Funktionen


Erzeugt eine spezielle oder eine gewöhnliche Datei (POSIX.1)

posix_mkfifo
posix_setegid
POSIX Funktionen
PHP Manual

posix_mknod

(PHP 5 >= 5.1.0, PHP 7)

posix_mknod — Erzeugt eine spezielle oder eine gewöhnliche Datei (POSIX.1)

Beschreibung

bool posix_mknod ( string $pathname , int $mode [, int $major = 0 [, int $minor = 0 ]] )

Erzeugt eine spezielle oder eine gewöhnliche Datei.

Parameter-Liste

pathname

Die zu erzeugende Datei

mode

Dieser Parameter wird zusammengesetzt aus einer bitweisen ODER-Verknüpfung zwischen dem Dateityp (eine der folgenden Konstanten: POSIX_S_IFREG, POSIX_S_IFCHR, POSIX_S_IFBLK, POSIX_S_IFIFO oder POSIX_S_IFSOCK) und den Zugriffsberechtigungen.

major

Die Major-Device-Nummer (Hauptgerätenummer); wird bei der Verwendung von S_IFCHR oder S_IFBLK benötigt.

minor

Die Minor-Device-Nummer (Untergerätenummer).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 posix_mknod()-Beispiel

<?php

$datei = '/tmp/tmpfile';  // Dateiname
$typ = POSIX_S_IFBLK;     // Dateityp
$berechtigungen = 0777;   // oktal
$major = 1;
$minor = 8;               // /dev/random

if (!posix_mknod($datei, $typ | $berechtigungen, $major, $minor)) {
    die('Fehler ' . posix_get_last_error() . ': ' . posix_strerror(posix_get_last_error()));
}

?>

Siehe auch

  • posix_mkfifo() - Erzeugt eine "FIFO special"-Datei (named pipe)

posix_mkfifo
posix_setegid
POSIX Funktionen


Setzt die effektive Gruppen-ID des aktuellen Prozesses

posix_mknod
posix_seteuid
POSIX Funktionen
PHP Manual

posix_setegid

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

posix_setegid — Setzt die effektive Gruppen-ID des aktuellen Prozesses

Beschreibung

bool posix_setegid ( int $gid )

Setzt die effektive Gruppen-ID des aktuellen Prozesses. Es handelt sich um eine privilegierte Funktion, die entsprechende Berechtigungen (normalerweise root) auf dem System benötigt, damit sie ausgeführt werden kann.

Parameter-Liste

gid

Die Gruppen-ID

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 posix_setegid()-Beispiel

Dieses Beispiel gibt die effektive Gruppen-ID aus, nachdem sie geändert wurde.

<?php
echo 'Meine reale Gruppen-ID ist '.posix_getgid(); //20
posix_setegid(40);
echo 'Meine reale Gruppen-ID ist '.posix_getgid(); //20
echo 'Meine effektive Gruppen-ID ist '.posix_getegid(); //40
?>

Siehe auch

  • posix_getgrgid() - Liefert zu einer Gruppen-ID Informationen über diese Gruppe
  • posix_getgid() - Liefert die reale Gruppen-ID des aktuellen Prozesses
  • posix_setgid() - Setzt die Gruppen-ID des aktuellen Prozesses

posix_mknod
posix_seteuid
POSIX Funktionen


Setzt die effektive Benutzer-ID des aktuellen Prozesses

posix_setegid
posix_setgid
POSIX Funktionen
PHP Manual

posix_seteuid

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

posix_seteuid — Setzt die effektive Benutzer-ID des aktuellen Prozesses

Beschreibung

bool posix_seteuid ( int $uid )

Setzt die effektive Benutzer-ID uid des aktuellen Prozesses. Es handelt sich um eine privilegierte Funktion, die entsprechende Berechtigungen (normalerweise root) auf dem System benötigt, damit sie ausgeführt werden kann.

Parameter-Liste

uid

Die Benutzer-ID

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • posix_setgid() - Setzt die Gruppen-ID des aktuellen Prozesses

posix_setegid
posix_setgid
POSIX Funktionen


Setzt die Gruppen-ID des aktuellen Prozesses

posix_seteuid
posix_setpgid
POSIX Funktionen
PHP Manual

posix_setgid

(PHP 4, PHP 5, PHP 7)

posix_setgid — Setzt die Gruppen-ID des aktuellen Prozesses

Beschreibung

bool posix_setgid ( int $gid )

Setzt die reale Gruppen-ID gid des aktuellen Prozesses. Es handelt sich um eine privilegierte Funktion, die entsprechende Berechtigungen (normalerweise root) auf dem System benötigt, damit sie ausgeführt werden kann. Die sachgemäße Reihenfolge der Funktionsaufrufe ist zuerst posix_setgid() und zuletzt posix_setuid().

Hinweis:

Falls die Funktion von einem Superuser aufgerufen wurde, setzt sie auch die effektive Gruppen-ID.

Parameter-Liste

gid

Die Gruppen-ID

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 posix_setgid()-Beispiel

Dieses Beispiel gibt die effektive Gruppen-ID aus, nachdem sie geändert wurde.

<?php
echo 'Meine reale Gruppen-ID ist '.posix_getgid(); //20
posix_setgid(40);
echo 'Meine reale Gruppen-ID ist '.posix_getgid(); //20
echo 'Meine effektive Gruppen-ID ist '.posix_getegid(); //40
?>

Siehe auch

  • posix_getgrgid() - Liefert zu einer Gruppen-ID Informationen über diese Gruppe
  • posix_getgid() - Liefert die reale Gruppen-ID des aktuellen Prozesses

posix_seteuid
posix_setpgid
POSIX Funktionen


Setzt die Prozessgruppenkennung (Process Group ID) für die Job-Kontrolle

posix_setgid
posix_setrlimit
POSIX Funktionen
PHP Manual

posix_setpgid

(PHP 4, PHP 5, PHP 7)

posix_setpgid — Setzt die Prozessgruppenkennung (Process Group ID) für die Job-Kontrolle

Beschreibung

bool posix_setpgid ( int $pid , int $pgid )

Fügt den Prozess pid der Prozessgruppe pgid hinzu.

Parameter-Liste

pid

Die Prozess-ID

pgid

Die Prozessgruppen-ID

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • Die POSIX.1- und die setpgid(2)-Manpage auf dem POSIX-System um mehr Informationen über Prozessgruppen und Job-Kontrolle zu erhalten.

posix_setgid
posix_setrlimit
POSIX Funktionen


Set system resource limits

posix_setpgid
posix_setsid
POSIX Funktionen
PHP Manual

posix_setrlimit

(PHP 7)

posix_setrlimit — Set system resource limits

Beschreibung

bool posix_setrlimit ( int $resource , int $softlimit , int $hardlimit )

posix_setrlimit() sets the soft and hard limits for a given system resource.

Zu jeder Ressource gehören ein weiches und ein hartes Limit. Das weiche Limit ist der Wert, den der Kernel für die entsprechende Ressource geltend macht. Das harte Limit fungiert als Obergrenze für das weiche Limit. Ein unprivilegierter Prozess kann nur sein weiches Limit auf einen Wert im Bereich von 0 bis zum harten Limit setzen und sein hartes Limit unumkehrbar absenken.

Parameter-Liste

resource

The resource limit constant corresponding to the limit that is being set.

softlimit

The soft limit, in whatever unit the resource limit requires, or POSIX_RLIMIT_INFINITY.

hardlimit

The hard limit, in whatever unit the resource limit requires, or POSIX_RLIMIT_INFINITY.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • man page SETRLIMIT(2)
  • posix_getrlimit() - Liefert Informationen über Systemressourcen-Limits

posix_setpgid
posix_setsid
POSIX Funktionen


Macht den aktuellen Prozess zum Prozessgruppen-Führer

posix_setrlimit
posix_setuid
POSIX Funktionen
PHP Manual

posix_setsid

(PHP 4, PHP 5, PHP 7)

posix_setsid — Macht den aktuellen Prozess zum Prozessgruppen-Führer

Beschreibung

int posix_setsid ( void )

Macht den aktuellen Prozess zum Prozessgruppen-Führer.

Rückgabewerte

Gibt die Session-ID zurück oder -1 falls ein Fehler auftrat.

Siehe auch

  • Die POSIX.1- und die setsid(2)-Manpage auf dem POSIX-System um mehr Informationen über Prozessgruppen und Job-Kontrolle zu erhalten.

posix_setrlimit
posix_setuid
POSIX Funktionen


Setzt die Benutzer-ID des aktuellen Prozesses

posix_setsid
posix_strerror
POSIX Funktionen
PHP Manual

posix_setuid

(PHP 4, PHP 5, PHP 7)

posix_setuid — Setzt die Benutzer-ID des aktuellen Prozesses

Beschreibung

bool posix_setuid ( int $uid )

Setzt die reale Benutzer-ID uid des aktuellen Prozesses. Es handelt sich um eine privilegierte Funktion, die entsprechende Berechtigungen (normalerweise root) auf dem System benötigt, damit sie ausgeführt werden kann.

Parameter-Liste

uid

Die Benutzer-ID

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 posix_setuid()-Beispiel

Dieses Beispiel gibt die aktuelle Benutzer-ID aus und setzt sie dann auf einen anderen Wert.

<?php
echo posix_getuid()."\n"; //10001
echo posix_geteuid()."\n"; //10001
posix_setuid(10000);
echo posix_getuid()."\n"; //10000
echo posix_geteuid()."\n"; //10000
?>

Siehe auch

  • posix_setgid() - Setzt die Gruppen-ID des aktuellen Prozesses
  • posix_seteuid() - Setzt die effektive Benutzer-ID des aktuellen Prozesses
  • posix_getuid() - Liefert die reale Benutzer-ID des aktuellen Prozesses
  • posix_geteuid() - Liefert die effektive Benutzer-ID des aktuellen Prozesses

posix_setsid
posix_strerror
POSIX Funktionen


Liefert die System-Fehlermeldung, die zur angegebenen Fehlernummer gehört

posix_setuid
posix_times
POSIX Funktionen
PHP Manual

posix_strerror

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

posix_strerror — Liefert die System-Fehlermeldung, die zur angegebenen Fehlernummer gehört

Beschreibung

string posix_strerror ( int $errno )

Gibt die POSIX System-Fehlermeldung zurück, die zur angegebenen Fehlernummer errno gehört. Der Parameter errno kann mit posix_get_last_error() ermittelt werden.

Parameter-Liste

errno

Die POSIX-Fehlernummer, die von posix_get_last_error() zurückgegeben wurde. Falls sie auf 0 gesetzt wird, wird die Zeichenkette "Success" zurückgegeben.

Rückgabewerte

Gibt die Fehlermeldung als Zeichenkette zurück.

Beispiele

Beispiel #1 posix_strerror()-Beispiel

In diesem Beispiel wird versucht einen Prozess zu killen, den es nicht gibt. Anschließend wird die dazugehörende Fehlermeldung ausgegeben.

<?php
posix_kill(50,SIGKILL);
echo posix_strerror(posix_get_last_error())."\n";
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

No such process

Siehe auch

  • posix_get_last_error() - Liefert die von der letzten fehlgeschlagenen Posix-Funktion gesetzte Fehlernummer

posix_setuid
posix_times
POSIX Funktionen


Liefert Rechenzeiten

posix_strerror
posix_ttyname
POSIX Funktionen
PHP Manual

posix_times

(PHP 4, PHP 5, PHP 7)

posix_times — Liefert Rechenzeiten

Beschreibung

array posix_times ( void )

Gibt Informationen über die aktuelle Auslastung der CPU zurück.

Rückgabewerte

Gibt eine Reihe von Zahlenwerten mit Informationen über die Auslastung der CPU durch den aktuellen Prozess zurück. Die Indizes dieser Zahlenwerte sind:

  • ticks - die Anzahl von Clock-Ticks, die seit dem Reboot verstrichen sind.
  • utime - Benutzerzeit, die vom aktuellen Prozess verbraucht wurde.
  • stime - Systemzeit, die vom aktuellen Prozess verbraucht wurde.
  • cutime - Benutzerzeit, die vom aktuellen Prozess und dessen Kindprozessen verbraucht wurde.
  • cstime - Systemzeit, die vom aktuellen Prozess und dessen Kindprozessen verbraucht wurde.

Anmerkungen

Warnung

Diese Funktion arbeitet nicht verlässlich, weil sie bei großen Zeiträumen negative Werte zurückgeben könnte.

Beispiele

Beispiel #1 posix_times()-Beispiel

<?php

$zeiten = posix_times();

print_r($zeiten);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [ticks] => 25814410
    [utime] => 1
    [stime] => 1
    [cutime] => 0
    [cstime] => 0
)

posix_strerror
posix_ttyname
POSIX Funktionen


Ermittelt den Namen des Terminal-Devices

posix_times
posix_uname
POSIX Funktionen
PHP Manual

posix_ttyname

(PHP 4, PHP 5, PHP 7)

posix_ttyname — Ermittelt den Namen des Terminal-Devices

Beschreibung

string posix_ttyname ( mixed $fd )

Gibt den absoluten Pfad zum aktuellen Terminal-Device, das mit dem Dateideskriptor fd geöffnet ist, als String zurück.

Parameter-Liste

fd

Der Datei-Deskriptor, welcher entweder eine Datei-Resource oder ein Integer sein sollte. Ist dies ein Integer so wird davon ausgegangen, dass es sich um einen Dateideskriptor handelt, welcher direkt an die zugrunde liegenden Systemaufrufe übergeben werden kann.

In fast allen Anwendungsfällen sollte eine Date-Resource angegeben werden.

Rückgabewerte

Gibt bei Erfolg den absoluten Pfad des Dateideskriptors fd als String zurück. Falls ein Fehler auftrat, wird FALSE zurückgegeben.

posix_times
posix_uname
POSIX Funktionen


Liefert Auskunft über das System

posix_ttyname
Programmausführung
POSIX Funktionen
PHP Manual

posix_uname

(PHP 4, PHP 5, PHP 7)

posix_uname — Liefert Auskunft über das System

Beschreibung

array posix_uname ( void )

Gibt Informationen über das System zurück.

Posix erfordert, dass bezüglich des Formats der Werte nichts vorausgesetzt werden darf, z.B. die Annahme, dass die Versionsnummer aus drei Ziffern besteht oder bezüglich irgendetwas anderem, das von dieser Funktion zurückgegeben wird.

Rückgabewerte

Gibt eine Reihe von Daten mit Informationen über das System zurück. Die Indizes dieser Daten sind:

  • sysname - Name des Betriebssystems (z.B. Linux)
  • nodename - Name des Systems (z.B. valiant)
  • release - Release des Betriebssystems (z.B. 2.2.10)
  • version - Version des Betriebssystems (z.B. #4 Tue Jul 20 17:01:36 MEST 1999)
  • machine - Systemarchitektur (z.B. i586)
  • domainname - DNS Domainname (z.B. example.com)

domainname ist eine GNU-Erweiterung und nicht Teil von POSIX.1. Deshalb steht dieses Feld nur auf GNU-Systemen oder bei Verwendung der GNU libc zur Verfügung.

Beispiele

Beispiel #1 posix_uname()-Beispiel

<?php
$uname=posix_uname();
print_r($uname);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [sysname] => Linux
    [nodename] => funbox
    [release] => 2.6.20-15-server
    [version] => #2 SMP Sun Apr 15 07:41:34 UTC 2007
    [machine] => i686
)

posix_ttyname
Programmausführung
POSIX Funktionen


Ausführung von Systemprogrammen

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Funktionen zur Programmausführung
    • escapeshellarg — Maskiert eine Zeichenkette (String), um sie als Shell-Argument benutzen zu können
    • escapeshellcmd — Maskiert Shell-Metazeichen
    • exec — Führt ein externes Programm aus
    • passthru — Führt ein externes Programm aus und zeigt dessen Ausgabe an
    • proc_close — Schließt einen Prozess, der mit proc_open gestartet wurde und gibt den Exitcode dieses Prozesses zurück
    • proc_get_status — Liefert Informationen über einen mit proc_open gestarteten Prozess
    • proc_nice — Ändert die Priorität des aktuellen Prozesses
    • proc_open — Führt ein Kommando aus und öffnet Dateizeiger für die Ein- und Ausgabe
    • proc_terminate — Beendet einen von proc_open gestarteten Prozess
    • shell_exec — Führt ein Kommando auf der Shell aus und gibt den kompletten Output als String zurück
    • system — Führt ein externes Programm aus und zeigt dessen Ausgabe an
posix_uname
Einführung
Erweiterungen zur Prozesskontrolle


Einführung

Diese Funktionen ermöglichen die Ausführung von Befehlen auf dem System selbst und stellen Mittel zur Verfügung um solche Befehle abzusichern.

Hinweis:

Unter Windows werden alle Ausführungsfunktionen via cmd.exe aufgerufen. Daher muss der Benutzer, der diese Funktionen aufrufen will, die notwendigen Privilegien besitzen, um dieses Kommando auszuführen. Die einzige Ausnahme ist proc_open() mit der bypass_shell-Option.

Programmausführung
Installation/Konfiguration
Programmausführung


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Programmausführung


Ressource-Typen

Diese Extension definierte eine process Resource die von proc_open() zurückgegeben wird.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
Funktionen zur Programmausführung
Programmausführung


Funktionen zur Programmausführung

Anmerkungen

Warnung

Offene Dateien mit einem Lock (speziell offene Sessions) sollten geschlossen werden, bevor ein Programm im Hintergrund ausgeführt wird.

Siehe auch

Diese Funktionen stehen in enger Beziehung zum Backtick-Operator. Wenn Sie den Safemode benutzen, beachten Sie auch die Einschränkungen durch die safe_mode_exec_dir-Direktive.

Inhaltsverzeichnis

  • escapeshellarg — Maskiert eine Zeichenkette (String), um sie als Shell-Argument benutzen zu können
  • escapeshellcmd — Maskiert Shell-Metazeichen
  • exec — Führt ein externes Programm aus
  • passthru — Führt ein externes Programm aus und zeigt dessen Ausgabe an
  • proc_close — Schließt einen Prozess, der mit proc_open gestartet wurde und gibt den Exitcode dieses Prozesses zurück
  • proc_get_status — Liefert Informationen über einen mit proc_open gestarteten Prozess
  • proc_nice — Ändert die Priorität des aktuellen Prozesses
  • proc_open — Führt ein Kommando aus und öffnet Dateizeiger für die Ein- und Ausgabe
  • proc_terminate — Beendet einen von proc_open gestarteten Prozess
  • shell_exec — Führt ein Kommando auf der Shell aus und gibt den kompletten Output als String zurück
  • system — Führt ein externes Programm aus und zeigt dessen Ausgabe an
Vordefinierte Konstanten
escapeshellarg
Programmausführung


Maskiert eine Zeichenkette (String), um sie als Shell-Argument benutzen zu können

Funktionen zur Programmausführung
escapeshellcmd
Funktionen zur Programmausführung
PHP Manual

escapeshellarg

(PHP 4 >= 4.0.3, PHP 5, PHP 7)

escapeshellarg — Maskiert eine Zeichenkette (String), um sie als Shell-Argument benutzen zu können

Beschreibung

string escapeshellarg ( string $arg )

escapeshellarg() fügt einfache Anführungszeichen um eine Zeichenkette herum ein und maskiert alle existierenden einfachen Anführungszeichen innerhalb der Zeichenkette und ermöglicht es so die Zeichenkette direkt als Argument einer Shell-Funktion zu verwenden so das es als ein einziges Argument interpretiert wird. Die Funktion sollte benutzt werden um aus Benutzereingaben stammende Argumente an Shell-Funktionen weiterzugeben. Zu den Shell-Funktionen zählen unter anderem exec(), system() und der Backtick Operator.

Parameter-Liste

arg

Die zu maskierende Zeichenkette

Rückgabewerte

Die maskierte Zeichenkette

Beispiele

Beispiel #1 escapeshellarg() Beispiel

<?php
system('ls '.escapeshellarg($dir));
?>

Siehe auch

  • escapeshellcmd() - Maskiert Shell-Metazeichen
  • exec() - Führt ein externes Programm aus
  • popen() - Öffnet einen Prozesszeiger
  • system() - Führt ein externes Programm aus und zeigt dessen Ausgabe an
  • backtick operator

Funktionen zur Programmausführung
escapeshellcmd
Funktionen zur Programmausführung


Maskiert Shell-Metazeichen

escapeshellarg
exec
Funktionen zur Programmausführung
PHP Manual

escapeshellcmd

(PHP 4, PHP 5, PHP 7)

escapeshellcmd — Maskiert Shell-Metazeichen

Beschreibung

string escapeshellcmd ( string $command )

escapeshellcmd() maskiert alle möglichen Zeichen in einer Zeichenkette, die dazu benutzt werden könnten, um einen Shellbefehl zur Durchführung von willkürlichen Befehlen zu veranlassen. Diese Funktion sollte verwendet werden um sicherzustellen, dass alle Daten aus einer Benutzereingabe maskiert werden bevor diese Daten zu einer der Funktionen exec(), system() oder dem Backtick Operator übergeben werden

Folgende Zeichen wird ein Backslash vorangestellt: &#;`|*?~<>^()[]{}$\, \x0A und \xFF. ' und " werden nur maskiert, wenn sie nicht gepaart auftreten. In Windows werden alle diese Zeichen sowie % und ! durch ein Leerzeichen ersetzt.

Parameter-Liste

command

Das zu maskierende Kommando.

Rückgabewerte

Die maskierte Zeichenkette.

Beispiele

Beispiel #1 escapeshellcmd() Beispiel

<?php
// Wir erlauben hier absichtlich eine beliebige Anzahl von Argumenten
$command = './configure '.$_POST['configure_options'];

$escaped_command = escapeshellcmd($command);

system($escaped_command);
?>

Warnung

escapeshellcmd() sollte auf die gesamte Kommando-Zeichenkette angewendet werden, und erlaubt dem Angreifer dennoch eine beliebige Anzahl von Argumenten zu übergeben. Um einzelne Argumente zu maskieren, sollte statt dessen escapeshellarg() verwendet werden.

Changelog

Version | Beschreibung
5.6.0 | Der Standardwert für den Parameter encoding wurde so angepasst, dass dieser Wert aus der Konfigurationseinstellung default_charset bezogen wird.
5.4.43, 5.5.27, 5.6.11 | Ausrufezeichen werden durch Leerzeichen ersetzt.

Siehe auch

  • escapeshellarg() - Maskiert eine Zeichenkette (String), um sie als Shell-Argument benutzen zu können
  • exec() - Führt ein externes Programm aus
  • popen() - Öffnet einen Prozesszeiger
  • system() - Führt ein externes Programm aus und zeigt dessen Ausgabe an
  • Backtick Operator

escapeshellarg
exec
Funktionen zur Programmausführung


Führt ein externes Programm aus

escapeshellcmd
passthru
Funktionen zur Programmausführung
PHP Manual

exec

(PHP 4, PHP 5, PHP 7)

exec — Führt ein externes Programm aus

Beschreibung

string exec ( string $command [, array &$output [, int &$return_var ]] )

exec() führt einen angegebenen Befehl (command) aus.

Parameter-Liste

command

Der auszuführende Befehl

output

Ist der Parameter output angegeben, wird dieses mit jeder Zeile des Befehlsausgabe gefüllt. Am Ende einer jeweiligen Zeile stehende Whitespaces wie beispielsweise ein \n wird nicht in dieses Array übernommen. Beachten Sie, dass wenn das Array bereits Elemente enthält, die Funktion exec() die Ausgabe an das Array anhängt. Wenn Sie dieses nicht wünschen, rufen Sie die Funktion unset () für das Array auf, bevor Sie es als Parameter der Funktion exec() übergeben.

return_var

Ist der Parameter return_var zusammen mit dem Parameter output angegeben, so wird der Rückgabestatus des ausgeführten Befehls in diese Variable geschrieben.

Rückgabewerte

Die letzte Zeile der Ausgabe des Befehls. Wenn ein Befehl ausgeführt werden muss und alle Daten des Befehls direkt ohne Umweg über ein Array ausgegeben werden soll, kann die Funktion passthru() verwendet werden.

Um die Ausgabe des ausgeführten befehls zu erhalten muss sichergestellt werden, dass der Parameter output gesetzt und verwendet wird.

Beispiele

Beispiel #1 Ein exec()-Beispiel

<?php
// Gibt den Benutzernamen aus, unter dem der PHP/HTTPD-Prozess läuft
// (auf einem System in dem das Programm "whoami" im Ausführungspfad liegt)
echo exec('whoami');
?>

Anmerkungen

Warnung

Falls Sie es erlauben, dass Daten von Usereingaben an diese Funktion weitergereicht werden, sollten Sie escapeshellarg() oder escapeshellcmd() verwenden. Bei Verwendung dieser Funktionen stellen Sie sicher, dass kein Benutzer Ihr System überlisten kann, beliebige Kommandos auszuführen

Hinweis:

Falls Sie diese Funktion benutzen, um ein Programm zu starten und im Hintergrund weiterlaufen lassen möchten, müssen Sie sicherstellen, dass die Ausgabe des Programms in eine Datei oder einen anderen Ausgabestream umgeleitet wird. Anderenfalls wird PHP solange hängen, bis das Programm zu Ende ausgeführt wurde.

Hinweis: Mit aktiviertem Safe Mode können Sie nur Programme ausführen, die im Verzeichnis liegen, das mit safe_mode_exec_dir angegeben wurde. Aus praktischen Gründen ist es gegenwärtig nicht erlaubt, dass der Pfad zu einem Programm .. enthält.

Warnung

Mit aktiviertem Safe Mode wird der Kommandostring mit escapeshellcmd() kodiert. Deshalb wird echo y | echo x zu echo y \| echo x.

Siehe auch

  • system() - Führt ein externes Programm aus und zeigt dessen Ausgabe an
  • passthru() - Führt ein externes Programm aus und zeigt dessen Ausgabe an
  • escapeshellcmd() - Maskiert Shell-Metazeichen
  • pcntl_exec() - Führt ein angegebenes Programm im aktuellen Prozessraum aus
  • backtick operator

escapeshellcmd
passthru
Funktionen zur Programmausführung


Führt ein externes Programm aus und zeigt dessen Ausgabe an

exec
proc_close
Funktionen zur Programmausführung
PHP Manual

passthru

(PHP 4, PHP 5, PHP 7)

passthru — Führt ein externes Programm aus und zeigt dessen Ausgabe an

Beschreibung

void passthru ( string $command [, int &$return_var ] )

Die Funktion passthru() ähnelt der Funktion exec(), da sie ebenfalls ein command ausführt. Diese Funktion sollte anstelle von exec() bzw. system() verwendet werden, wenn die Ausgabe des Unixkommandos binäre Daten erzeugt, die direkt an den Browser zurückgegeben werden sollen. Ein praktisches Beispiel hierfür ist die Ausführung des pbmplus-Utilities, welches einen Bildstream direkt ausgibt. Wenn Sie den Content-Type auf image/gif setzen und dann das pbmplus-Programm aufrufen, um ein GIF zu erzeugen, können Sie auf diesem Weg mittels PHP direkt ein Bild erzeugen und ausgeben.

Parameter-Liste

command

Das auszuführende Programm.

return_var

Ist der Parameter return_var angegeben, wird der Rückgabestatus des UNIX-Befehls hier abgelegt.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Anmerkungen

Warnung

Falls Sie es erlauben, dass Daten von Usereingaben an diese Funktion weitergereicht werden, sollten Sie escapeshellarg() oder escapeshellcmd() verwenden. Bei Verwendung dieser Funktionen stellen Sie sicher, dass kein Benutzer Ihr System überlisten kann, beliebige Kommandos auszuführen

Hinweis:

Falls Sie diese Funktion benutzen, um ein Programm zu starten und im Hintergrund weiterlaufen lassen möchten, müssen Sie sicherstellen, dass die Ausgabe des Programms in eine Datei oder einen anderen Ausgabestream umgeleitet wird. Anderenfalls wird PHP solange hängen, bis das Programm zu Ende ausgeführt wurde.

Hinweis: Mit aktiviertem Safe Mode können Sie nur Programme ausführen, die im Verzeichnis liegen, das mit safe_mode_exec_dir angegeben wurde. Aus praktischen Gründen ist es gegenwärtig nicht erlaubt, dass der Pfad zu einem Programm .. enthält.

Warnung

Mit aktiviertem Safe Mode wird der Kommandostring mit escapeshellcmd() kodiert. Deshalb wird echo y | echo x zu echo y \| echo x.

Siehe auch

  • exec() - Führt ein externes Programm aus
  • system() - Führt ein externes Programm aus und zeigt dessen Ausgabe an
  • popen() - Öffnet einen Prozesszeiger
  • escapeshellcmd() - Maskiert Shell-Metazeichen
  • Backtick-Operator

exec
proc_close
Funktionen zur Programmausführung


Schließt einen Prozess, der mit proc_open gestartet wurde und gibt den Exitcode dieses Prozesses zurück

passthru
proc_get_status
Funktionen zur Programmausführung
PHP Manual

proc_close

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

proc_close — Schließt einen Prozess, der mit proc_open() gestartet wurde und gibt den Exitcode dieses Prozesses zurück

Beschreibung

int proc_close ( resource $process )

proc_close() entspricht pclose(), außer dass Die Funktion nur mit Prozessen arbeitet, die von proc_open() gestartet wurden. proc_close() wartet auf den zu beendenden Prozess und gibt seinen Exitcode zurück. Wenn Sie offene Pipes zu diesem Prozess haben, sollten Sie zuvor fclose() ausführen, um Deadlocks vorzubeugen - der Child-Prozess kann sich nicht beenden, solange noch Pipes geöffnet sind.

Parameter-Liste

process

Die zu schließende proc_open()-Ressource.

Rückgabewerte

Gibt den Termination-Status des gelaufenen Prozesses zurück. Falls ein Fehler auftritt wird -1 zurückgegeben.

Hinweis:

If PHP has been compiled with --enable-sigchild, the return value of this function is undefined.

passthru
proc_get_status
Funktionen zur Programmausführung


Liefert Informationen über einen mit proc_open gestarteten Prozess

proc_close
proc_nice
Funktionen zur Programmausführung
PHP Manual

proc_get_status

(PHP 5, PHP 7)

proc_get_status — Liefert Informationen über einen mit proc_open() gestarteten Prozess

Beschreibung

array proc_get_status ( resource $process )

proc_get_status() liefert Daten über einen Prozess, der unter Verwendung von proc_open() gestartet wurde.

Parameter-Liste

process

Die zu untersuchende proc_open()-Ressource.

Rückgabewerte

Im Erfolgsfall wird ein Array der gesammelten Informationen zurückgeliefert, im Fehlerfall FALSE. Das zurückgegebene Array enthält die folgenden Elemente:

Element | Typ | Beschreibung
command | string | Der Kommandostring, der an proc_open() übergeben wurde.
pid | int | ProzessID
running | bool | Ist TRUE, wenn der Prozess noch läuft, und FALSE wenn er beendet wurde.
signaled | bool | Ist TRUE, wenn der Child-Prozess durch ein nicht erkanntes Signal beendet wurde. Unter Windows hat das Element immer den Wert FALSE.
stopped | bool | Ist TRUE, wenn der Child-Prozess durch ein Signal gestoppt wurde. Unter Windows hat das Element immer den Wert FALSE.
exitcode | int | Der Exitcode, der vom Prozess zurückgegeben wurde (dieser ist nur aussagekräftig, wenn running FALSE ist). Nur der erste Aufruf der Funktion gibt den richtigen Wert zurück, alle weiteren Aufrufe resultieren im Wert -1.
termsig | int | Die Signalnummer die den Child-Prozess veranlasst hat, seine Ausführung abzubrechen (nur aussagekräftig, wenn signaled TRUE ist).
stopsig | int | Die Signalnummer, die den Child-Prozess veranlasst hat, seine Ausführung zu stoppen (nur aussagekräftig, wenn stopped TRUE ist).

Siehe auch

  • proc_open() - Führt ein Kommando aus und öffnet Dateizeiger für die Ein- und Ausgabe

proc_close
proc_nice
Funktionen zur Programmausführung


Ändert die Priorität des aktuellen Prozesses

proc_get_status
proc_open
Funktionen zur Programmausführung
PHP Manual

proc_nice

(PHP 5, PHP 7)

proc_nice — Ändert die Priorität des aktuellen Prozesses

Beschreibung

bool proc_nice ( int $increment )

proc_nice() ändert die Priorität des aktuellen Prozesses um den in increment angegebenen Betrag. Ein positives increment vermindert die Priorität des aktuellen Prozesses, während ein negatives increment die Priorität erhöht.

proc_nice() ist in keinster Weise verwandt mit proc_open() und der dazugehörigen Funktionen.

Parameter-Liste

increment

Der neue Prioritätswert; dieser Wert ist plattformabhängig.

Unter Unix bedeutet ein niedriger Wert, wie beispielsweise -20, eine hohe Priorität, wohingegen ein positiver Wert eine niedrigere Priorität hat.

Unter Windows hat der increment-Parameter die folgende Bedeutung:

Prioritätsklasse | Mögliche Werte
Hoch | increment < -9
Höher als normal | increment < -4
Normal | increment < 5 & increment > -5
Niedriger als normal | increment > 5
Niedrig | increment > 9

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. Wenn ein Fehler auftritt, zum Beispiel weil der User keine Berechtigung hat, die Priorität eines Prozesses zu ändern, wird ein Fehler der Stufe E_WARNING erzeugt.

Beispiele

Beispiel #1 Verwendung von proc_open() um die Prozesspriorität auf hoch zu setzen

<?php
// höchste Priorität
proc_nice(-20)
?>

Changelog

Version | Beschreibung
7.2.0 | Diese Funktion steht nun unter Windows zur Verfügung.

Anmerkungen

Hinweis: Verfügbarkeit

proc_nice() existiert nur, wenn Ihr System mit 'nice' umgehen kann. 'nice' ist verfügbar unter: SVr4, SVID EXT, AT&T, X/OPEN, BSD 4.3.

Hinweis: Nur für Windows

proc_nice() ändert die aktuelle Prozesspriorität, selbst wenn PHP mit Threadsicherheit kompiliert wurde.

proc_get_status
proc_open
Funktionen zur Programmausführung


Führt ein Kommando aus und öffnet Dateizeiger für die Ein- und Ausgabe

proc_nice
proc_terminate
Funktionen zur Programmausführung
PHP Manual

proc_open

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

proc_open — Führt ein Kommando aus und öffnet Dateizeiger für die Ein- und Ausgabe

Beschreibung

resource proc_open ( string $cmd , array $descriptorspec , array &$pipes [, string $cwd [, array $env [, array $other_options ]]] )

proc_open() ist äquivalent zu popen(), ermöglicht aber einen höheren Grad von Kontrolle über die Programmausführung.

Parameter-Liste

cmd

Das auszuführende Kommando.

descriptorspec

Ein indexiertes Array, in dem die Schlüssel die Descriptornummer und die Werte die Art und Weise repräsentieren, in der PHP die Descriptoren an die Child-Prozesse übergibt. 0 steht dabei für STDIN, 1 für STDOUT und 2 für STDERR.

Jedes Element kann sein:

  • Ein Array, das die Pipe beschreibt, die an den Prozess übergeben wird. Das erste Element ist der Descriptortyp, das zweite Element ist eine Option für den angegebenen Typ. Gültige Typen sind pipe (das zweite Element ist entweder r, um das Ende des Leseprozesses der Pipe an den Prozess zu übergeben, oder w, um das Ende des Schreibprozesses zu übergeben) und file (das zweite Element ist ein Dateiname).
  • Eine Streamressource, die einen echten Filedescriptor repräsentiert (z.B. geöffnete Dateien, Sockets, STDIN).

Die Filedescriptor-Nummern sind nicht limitiert auf 0, 1 und 2, Sie können jede gültige Filedescriptor-Nummer angeben, die an den Kindprozess übergeben wird. Dies erlaubt es Ihrem Skript, mit anderen Skripten zu interagieren, die als "Co-Prozesse" laufen. Dies ist insbesondere dann nützlich, wenn Passwörter an Programme wie PGP, GPG und openssl auf sichere Art übergeben werden sollen. Es ist ebenfalls nützlich, um Lesestatus-Informationen zu erhalten, die von diesen Programmen für zusätzliche Filedescriptoren ermittelt werden.

pipes

Enthält ein numerisches Array von Dateizeigern, die der PHP-Seite jeder erstellten Pipe entsprechen.

cwd

Das initiale Arbeitsverzeichnis des Kommandos. Dies muss ein absoluter Pfadname sein. Wenn Sie den Standardwert verwenden möchten (dies wäre das Arbeitsverzeichnis des aktuellen PHP-Prozesses), muss der Wert NULL sein.

env

Ein Array mit den Umgebungsvariablen für das auszuführende Kommando, oder NULL, wenn Sie das gleiche Environment wie der aktuelle PHP-Prozess nutzen wollen.

other_options

Erlaubt Ihnen, zusätzliche Optionen anzugeben. Derzeit unterstützte Optionen sind:

  • suppress_errors (nur unter Windows): Unterdrückt Fehlermeldungen, die durch diese Funktion hervorgerufen werden, sofern der Wert auf TRUE gesetzt wurde.
  • bypass_shell (nur unter Windows): umgeht die cmd.exe-Shell, wenn der Wert auf TRUE gesetzt wurde.

Rückgabewerte

Gibt eine Ressource zurück, die den Prozess repräsentiert, der unter Verwendung von proc_close() freigegeben werden soll, wenn Sie ihn beenden. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.2.1 | Die Option bypass_shell wurde dem Parameter other_options hinzugefügt.

Beispiele

Beispiel #1 Ein proc_open()-Beispiel

<?php
$descriptorspec = array(
   0 => array("pipe", "r"),  // STDIN ist eine Pipe, von der das Child liest
   1 => array("pipe", "w"),  // STDOUT ist eine Pipe, in die das Child schreibt
   2 => array("file", "/tmp/error-output.txt", "a") // STDERR ist eine Datei,
                                                    // in die geschrieben wird
);

$cwd = '/tmp';
$env = array('some_option' => 'aeiou');

$process = proc_open('php', $descriptorspec, $pipes, $cwd, $env);

if (is_resource($process)) {
    // $pipes sieht nun so aus:
    // 0 => Schreibhandle, das auf das Child STDIN verbunden ist
    // 1 => Lesehandle, das auf das Child STDOUT verbunden ist
    // Jedwede Fehlerausgaben werden an /tmp/error-output.txt angefügt

    fwrite($pipes[0], '<?php print_r($_ENV); ?>');
    fclose($pipes[0]);

    echo stream_get_contents($pipes[1]);
    fclose($pipes[1]);

    // Es ist wichtig, dass Sie alle Pipes schließen bevor Sie
    // proc_close aufrufen, um Deadlocks zu vermeiden
    $return_value = proc_close($process);

    echo "Rückgabewert des Kommandos: $return_value\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [some_option] => aeiou
    [PWD] => /tmp
    [SHLVL] => 1
    [_] => /usr/local/bin/php
)
Rückgabewert des Kommandos: 0

Anmerkungen

Hinweis:

Windows-Kompatibilität: Descriptoren höher 2 (STDERR) sind Childprozessen als vererbbare Handles verfügbar, aber da die Windows-Architektur die Nummern der Filedescriptoren nicht mit Low-Level-Handles verbindet, hat der Kindprozess (bis jetzt) keine Möglichkeit, diese Handles anzusprechen. STDIN, STDOUT und STDERR funktionieren wie erwartet.

Hinweis:

Wenn Sie nur eine unidirektionale (Einweg-)Prozesspipe benötigen, nutzen Sie besser popen(), da diese Funktion leichter zu verwenden ist.

Siehe auch

  • popen() - Öffnet einen Prozesszeiger
  • exec() - Führt ein externes Programm aus
  • system() - Führt ein externes Programm aus und zeigt dessen Ausgabe an
  • passthru() - Führt ein externes Programm aus und zeigt dessen Ausgabe an
  • stream_select() - Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec
  • Der Backtick-Operator

proc_nice
proc_terminate
Funktionen zur Programmausführung


Beendet einen von proc_open gestarteten Prozess

proc_open
shell_exec
Funktionen zur Programmausführung
PHP Manual

proc_terminate

(PHP 5, PHP 7)

proc_terminate — Beendet einen von proc_open gestarteten Prozess

Beschreibung

bool proc_terminate ( resource $process [, int $signal = 15 ] )

Signalisiert dem process (der mittels proc_open() gestartet wurde), dass er sich beenden soll. proc_terminate() kommt sofort zurück und wartet nicht auf den zu terminierenden Prozess.

proc_terminate() erlaubt es Ihnen, einen Prozess zu beenden und mit anderen Tasks fortzufahren. Sie können den Prozess unter Verwendung der Funktion proc_get_status() pollen (wenn Sie sehen wollen, ob er bereits beendet wurde).

Parameter-Liste

process

Die proc_open()-Ressource, die geschlossen werden soll.

signal

Dieser optionale Parameter ist nur sinnvoll auf POSIX-basierten Betriebssystemen; Sie können ein Signal angeben, das unter Verwendung des kill(2)-Systemaufrufs an den Prozess gesendet wird. Der Standardwert ist SIGTERM.

Rückgabewerte

Gibt den Terminationstatus des laufenden Prozesses zurück.

Changelog

Version | Beschreibung
5.2.2 | Ältere Versionen wurden verwendet, um das übergebene Prozesshandle resource zu zerstören.

Siehe auch

  • proc_open() - Führt ein Kommando aus und öffnet Dateizeiger für die Ein- und Ausgabe
  • proc_close() - Schließt einen Prozess, der mit proc_open gestartet wurde und gibt den Exitcode dieses Prozesses zurück
  • proc_get_status() - Liefert Informationen über einen mit proc_open gestarteten Prozess

proc_open
shell_exec
Funktionen zur Programmausführung


Führt ein Kommando auf der Shell aus und gibt den kompletten Output als String zurück

proc_terminate
system
Funktionen zur Programmausführung
PHP Manual

shell_exec

(PHP 4, PHP 5, PHP 7)

shell_exec — Führt ein Kommando auf der Shell aus und gibt den kompletten Output als String zurück

Beschreibung

string shell_exec ( string $cmd )

Diese Funktion ist identisch zum Backtick-Operator.

Parameter-Liste

cmd

Das auszuführende Kommando.

Rückgabewerte

Die Ausgabe des ausgeführten Kommandos oder NULL, wenn ein Fehler auftrat oder das Kommando keine Ausgabe erzeugt.

Hinweis:

Diese Funktion kann NULL zurückgeben, sowohl wenn ein Fehler auftritt als auch wenn das Programm keine Ausgabe erzeugt. Es ist nicht möglich mit dieser Funktion das Scheitern der Ausführung festzustellen. exec() sollte verwendet werden, wenn Zugriff auf den Exitcode des Programms erforderlich ist.

Beispiele

Beispiel #1 Ein shell_exec()-Beispiel

<?php
$output = shell_exec('ls -lart');
echo "<pre>$output</pre>";
?>

Anmerkungen

Hinweis:

Diese Funktion steht im Safe Mode nicht zur Verfügung.

Siehe auch

  • exec() - Führt ein externes Programm aus
  • escapeshellcmd() - Maskiert Shell-Metazeichen

proc_terminate
system
Funktionen zur Programmausführung


Führt ein externes Programm aus und zeigt dessen Ausgabe an

shell_exec
pthreads
Funktionen zur Programmausführung
PHP Manual

system

(PHP 4, PHP 5, PHP 7)

system — Führt ein externes Programm aus und zeigt dessen Ausgabe an

Beschreibung

string system ( string $command [, int &$return_var ] )

Die Funktion system() ähnelt der C Version der Funktion sehr, indem es einen übergebenen Befehl ausführt und dessen Ausgabe anzeigt.

Wird ein system()-Funktionsaufruf durchgeführt, versucht die Funktion automatisch, nach jeder Ausgabezeile den Ausgabepuffer zu flushen, sofern PHP als Servermodul läuft.

Wenn Sie einen Befehl ausführen wollen und die erzeugten Daten ohne Behinderung direkt zurückgeben wollen, verwenden Sie stattdessen die Funktion passthru().

Parameter-Liste

command

Das auszuführende Kommando.

return_var

Ist das return_var-Argument angegeben, wird der Rückgabewert des ausgeführten Befehls in diese Variable geschrieben.

Rückgabewerte

Gibt bei Erfolg die letzte Zeile der Ausgabe des Befehls zurück, im Fehlerfall hingegen FALSE.

Beispiele

Beispiel #1 system() example

<?php
echo '<pre>';

// Gibt das gesamte Ergebnis des Shellkommandos "ls" aus und hält als
// Rückgabewert die letzte Zeile dieser Ausgabe in $last_line. Der
// Rückgabewert des Shellkommandos wird in $retval gespeichert.
$last_line = system('ls', $retval);

// Ausgeben zusätzlicher Informationen
echo '
</pre>
<hr />Letzte Zeile der Ausgabe: ' . $last_line . '
<hr />Rückgabewert: ' . $retval;
?>

Anmerkungen

Warnung

Falls Sie es erlauben, dass Daten von Usereingaben an diese Funktion weitergereicht werden, sollten Sie escapeshellarg() oder escapeshellcmd() verwenden. Bei Verwendung dieser Funktionen stellen Sie sicher, dass kein Benutzer Ihr System überlisten kann, beliebige Kommandos auszuführen

Hinweis:

Falls Sie diese Funktion benutzen, um ein Programm zu starten und im Hintergrund weiterlaufen lassen möchten, müssen Sie sicherstellen, dass die Ausgabe des Programms in eine Datei oder einen anderen Ausgabestream umgeleitet wird. Anderenfalls wird PHP solange hängen, bis das Programm zu Ende ausgeführt wurde.

Hinweis: Mit aktiviertem Safe Mode können Sie nur Programme ausführen, die im Verzeichnis liegen, das mit safe_mode_exec_dir angegeben wurde. Aus praktischen Gründen ist es gegenwärtig nicht erlaubt, dass der Pfad zu einem Programm .. enthält.

Warnung

Mit aktiviertem Safe Mode wird der Kommandostring mit escapeshellcmd() kodiert. Deshalb wird echo y | echo x zu echo y \| echo x.

Siehe auch

  • exec() - Führt ein externes Programm aus
  • passthru() - Führt ein externes Programm aus und zeigt dessen Ausgabe an
  • popen() - Öffnet einen Prozesszeiger
  • escapeshellcmd() - Maskiert Shell-Metazeichen
  • pcntl_exec() - Führt ein angegebenes Programm im aktuellen Prozessraum aus
  • Backtick-Operator

shell_exec
pthreads
Funktionen zur Programmausführung


pthreads

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
  • Vordefinierte Konstanten
  • Threaded — The Threaded class
    • Threaded::chunk — Manipulation
    • Threaded::count — Manipulation
    • Threaded::extend — Runtime Manipulation
    • Threaded::from — Creation
    • Threaded::getTerminationInfo — Error Detection
    • Threaded::isRunning — State Detection
    • Threaded::isTerminated — State Detection
    • Threaded::isWaiting — State Detection
    • Threaded::lock — Synchronization
    • Threaded::merge — Manipulation
    • Threaded::notify — Synchronization
    • Threaded::pop — Manipulation
    • Threaded::run — Execution
    • Threaded::shift — Manipulation
    • Threaded::synchronized — Synchronization
    • Threaded::unlock — Synchronization
    • Threaded::wait — Synchronization
  • Thread — The Thread class
    • Thread::detach — Execution
    • Thread::getCreatorId — Identification
    • Thread::getCurrentThread — Identification
    • Thread::getCurrentThreadId — Identification
    • Thread::getThreadId — Identification
    • Thread::globally — Execution
    • Thread::isJoined — State Detection
    • Thread::isStarted — State Detection
    • Thread::join — Synchronization
    • Thread::kill — Execution
    • Thread::start — Execution
  • Worker — The Worker class
    • Worker::collect — Collect references to completed tasks
    • Worker::getStacked — Gets the remaining stack size
    • Worker::isShutdown — State Detection
    • Worker::isWorking — State Detection
    • Worker::shutdown — Shutdown the worker
    • Worker::stack — Stacking work
    • Worker::unstack — Unstacking work
  • Collectable — The Collectable interface
    • Collectable::isGarbage — Determine whether an object has been marked as garbage
    • Collectable::setGarbage — Mark an object as garbage
  • Modifiers — Method Modifiers
  • Pool — The Pool class
    • Pool::collect — Collect references to completed tasks
    • Pool::__construct — Creates a new Pool of Workers
    • Pool::resize — Resize the Pool
    • Pool::shutdown — Shutdown all workers
    • Pool::submit — Submits an object for execution
    • Pool::submitTo — Submits a task to a specific worker for execution
  • Mutex — The Mutex class
    • Mutex::create — Create a Mutex
    • Mutex::destroy — Destroy Mutex
    • Mutex::lock — Acquire Mutex
    • Mutex::trylock — Attempt to Acquire Mutex
    • Mutex::unlock — Release Mutex
  • Cond — The Cond class
    • Cond::broadcast — Broadcast a Condition
    • Cond::create — Create a Condition
    • Cond::destroy — Destroy a Condition
    • Cond::signal — Signal a Condition
    • Cond::wait — Wait for Condition
system
Einführung
Erweiterungen zur Prozesskontrolle


Einführung

pthreads is an object-orientated API that provides all of the tools needed for multi-threading in PHP. PHP applications can create, read, write, execute and synchronize with Threads, Workers and Threaded objects.

Warnung

The pthreads extension cannot be used in a web server environment. Threading in PHP should therefore remain to CLI-based applications only.

The Threaded class forms the basis of the functionality that allows pthreads to operate. It exposes synchronization methods and some useful interfaces for the programmer.

The Thread class enables for threads to be created by simply extending it and implementing a run method. Any members can be written to and read by any context with a reference to the thread. Any context can also execute any public and protected methods. The body of the run method will be executed in a separate thread when the Thread::start() method of the implementation is called from the context that created it. Only the context that creates a thread can start and join it.

The Worker class has a persistent state, and will be available from the call to Thread::start() (an inherited method) until the object goes out of scope, or is explicitly shutdown (via Worker::shutdown()). Any context with a reference to the worker object can stack tasks onto the Worker (via Worker::stack()), where these tasks will be executed by the worker in a separate thread. The run method of a worker object will be executed before any objects on the worker's stack, enabling for resources to be initialized that the objects to be executed may need.

The Pool class is used to create a group of workers to distribute Threaded objects amongst them. It is the easiest and most efficient way of using multiple threads in PHP applications.

Achtung

The Pool class does not extend the Threaded class, and so pool-based objects are considered a normal PHP objects. As such, its instances of it should not be shared amongst different contexts.

The Volatile class is new to pthreads v3. It is used to denote mutable Threaded properties of Threaded classes (since these are now immutable by default).

Synchronization is an important ability when threading. All of the objects that pthreads creates have built in synchronization in the (which will be familiar to java programmers) form of Threaded::wait() and Threaded::notify(). Calling Threaded::wait() on an object will cause the context to wait for another context to call Threaded::notify() on the same object. This mechanism allows for powerful synchronization between Threaded objects in PHP.

Achtung

Any objects that are intended for use in the multi-threaded parts of your application should extend Threaded.

Method Modifiers: The protected methods of Threaded Objects are protected by pthreads, such that only one context may call that method at a time. The private methods of Threaded Objects can only be called from within the Threaded Object during execution.

Data Storage: As a rule of thumb, any data type that can be serialized can be used as a member of a Threaded object, it can be read and written from any context with a reference to the Threaded Object. Not every type of data is stored serially, basic types are stored in their true form. Complex types, Arrays, and Objects that are not Threaded are stored serially; they can be read and written to the Threaded Object from any context with a reference. With the exception of Threaded Objects any reference used to set a member of a Threaded Object is separated from the reference in the Threaded Object; the same data can be read directly from the Threaded Object at any time by any context with a reference to the Threaded Object.

Static Members: When a new context is created ( Thread or Worker ), they are generally copied, but resources and objects with internal state are nullified (for safety reasons). This allows them to function as a kind of thread local storage. For example, upon starting the context, a class whose static members include connection information for a database server, and the connection itself, will only have the simple connection information copied, not the connection. Allowing the new context to initiate a connection in the same way as the context that created it, storing the connection in the same place without affecting the original context.

Achtung

When print_r, var_dump and other object debug functions are executed, they do not include recursion protection.

Hinweis:

Resources: The extensions and functionality that define resources in PHP are completely unprepared for this kind of environment; pthreads makes provisions for Resources to be shared among contexts, however, for most types of resource it should be considered unsafe. Extreme caution and care should be used when sharing resources among contexts.

Achtung

In the environment which pthreads executes, some restrictions and limitations are necessary in order to provide a stable environment.

pthreads
Installation/Konfiguration
pthreads


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
Einführung
Anforderungen
pthreads


Anforderungen

pthreads requires a build of PHP with ZTS (Zend Thread Safety) enabled ( --enable-maintainer-zts or --enable-zts on Windows )

Achtung

Zend Thread Safety cannot be enabled post build; it is a build time configuration option.

pthreads should build anywhere there is a working Posix Threads header (pthread.h) and ZTS build of PHP, including Windows (using the pthread-w32 project from redhat).

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

pthreads releases are hosted by PECL and the source code by » github, the easiest route to installation is the normal PECL route: » http://pecl.php.net/package/pthreads.

Windows users can download prebuilt release binaries from the » PECL website.

Achtung

Windows users need to take the additional step of adding pthreadVC2.dll (distributed with Windows releases) to their PATH.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

PTHREADS_INHERIT_ALL (integer)
The default options for all Threads, causes pthreads to copy the environment when new Threads are started
PTHREADS_INHERIT_NONE (integer)
Do not inherit anything when new Threads are started
PTHREADS_INHERIT_INI (integer)
Inherit INI entries when new Threads are started
PTHREADS_INHERIT_CONSTANTS (integer)
Inherit user declared constants when new Threads are started
PTHREADS_INHERIT_CLASSES (integer)
Inherit user declared classes when new Threads are started
PTHREADS_INHERIT_FUNCTIONS (integer)
Inherit user declared functions when new Threads are started
PTHREADS_INHERIT_INCLUDES (integer)
Inherit included file information when new Threads are started
PTHREADS_INHERIT_COMMENTS (integer)
Inherit all comments when new Threads are started
PTHREADS_ALLOW_HEADERS (integer)
Allow new Threads to send headers to standard output (normally prohibited)

Laufzeit-Konfiguration
Threaded
pthreads


The Threaded class

(PECL pthreads >= 2.0.0)

Einführung

Threaded objects form the basis of pthreads ability to execute user code in parallel; they expose synchronization methods and various useful interfaces.

Threaded objects, most importantly, provide implicit safety for the programmer; all operations on the object scope are safe.

Klassenbeschreibung

Threaded implements Traversable , Countable , ArrayAccess {
/* Methoden */
public array chunk ( integer $size , boolean $preserve )
public integer count ( void )
public bool extend ( string $class )
public Threaded from ( Closure $run [, Closure $construct [, array $args ]] )
public array getTerminationInfo ( void )
public boolean isRunning ( void )
public boolean isTerminated ( void )
public boolean isWaiting ( void )
public boolean lock ( void )
public boolean merge ( mixed $from [, bool $overwrite ] )
public boolean notify ( void )
public boolean pop ( void )
public void run ( void )
public mixed shift ( void )
public mixed synchronized ( Closure $block [, mixed $... ] )
public boolean unlock ( void )
public boolean wait ([ integer $timeout ] )
}

Inhaltsverzeichnis

  • Threaded::chunk — Manipulation
  • Threaded::count — Manipulation
  • Threaded::extend — Runtime Manipulation
  • Threaded::from — Creation
  • Threaded::getTerminationInfo — Error Detection
  • Threaded::isRunning — State Detection
  • Threaded::isTerminated — State Detection
  • Threaded::isWaiting — State Detection
  • Threaded::lock — Synchronization
  • Threaded::merge — Manipulation
  • Threaded::notify — Synchronization
  • Threaded::pop — Manipulation
  • Threaded::run — Execution
  • Threaded::shift — Manipulation
  • Threaded::synchronized — Synchronization
  • Threaded::unlock — Synchronization
  • Threaded::wait — Synchronization
Vordefinierte Konstanten
Threaded::chunk
pthreads


Manipulation

Threaded
Threaded::count
Threaded
PHP Manual

Threaded::chunk

(PECL pthreads >= 2.0.0)

Threaded::chunk — Manipulation

Beschreibung

public array Threaded::chunk ( integer $size , boolean $preserve )

Fetches a chunk of the objects property table of the given size, optionally preserving keys

Parameter-Liste

size

The number of items to fetch

preserve

Preserve the keys of members, by default false

Rückgabewerte

An array of items from the objects property table

Beispiele

Beispiel #1 Fetch a chunk of the property table

<?php
$safe = new Threaded();

while (count($safe) < 10) {
    $safe[] = count($safe);
}

var_dump($safe->chunk(5));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(5) {
  [0]=>
  int(0)
  [1]=>
  int(1)
  [2]=>
  int(2)
  [3]=>
  int(3)
  [4]=>
  int(4)
}

Threaded
Threaded::count
Threaded


Manipulation

Threaded::chunk
Threaded::extend
Threaded
PHP Manual

Threaded::count

(PECL pthreads >= 2.0.0)

Threaded::count — Manipulation

Beschreibung

public integer Threaded::count ( void )

Returns the number of properties for this object

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Beispiele

Beispiel #1 Counting the properties of an object

<?php
$safe = new Threaded();

while (count($safe) < 10) {
    $safe[] = count($safe);
}

var_dump(count($safe));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(10)

Threaded::chunk
Threaded::extend
Threaded


Runtime Manipulation

Threaded::count
Threaded::from
Threaded
PHP Manual

Threaded::extend

(PECL pthreads >= 2.0.8)

Threaded::extend — Runtime Manipulation

Beschreibung

public bool Threaded::extend ( string $class )

Makes thread safe standard class at runtime

Parameter-Liste

class

The class to extend

Rückgabewerte

A boolean indication of success

Beispiele

Beispiel #1 Runtime inheritance

<?php
class My {}

Threaded::extend(My::class);

$my = new My();

var_dump($my instanceof Threaded);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)

Threaded::count
Threaded::from
Threaded


Creation

Threaded::extend
Threaded::getTerminationInfo
Threaded
PHP Manual

Threaded::from

(PECL pthreads >= 2.0.9)

Threaded::from — Creation

Warnung

This method has been removed in pthreads v3.

Beschreibung

public Threaded Threaded::from ( Closure $run [, Closure $construct [, array $args ]] )

Creates an anonymous Threaded object from closures

Parameter-Liste

run

The closure to use for ::run

construct

The constructor to use for anonymous object

args

The arguments to pass to constructor

Rückgabewerte

A new anonymous Threaded object

Beispiele

Beispiel #1 Thread safe objects from closures

<?php
$pool = new Pool(4);
$pool->submit(Collectable::from(function(){
    echo "Hello World";
    $this->setGarbage();
}));
/* ... */
$pool->shutdown();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Hello World

Threaded::extend
Threaded::getTerminationInfo
Threaded


Error Detection

Threaded::from
Threaded::isRunning
Threaded
PHP Manual

Threaded::getTerminationInfo

(PECL pthreads < 3.0.0)

Threaded::getTerminationInfo — Error Detection

Warnung

This method has been removed in pthreads v3.

Beschreibung

public array Threaded::getTerminationInfo ( void )

Retrieves terminal error information from the referenced object

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

array containing the termination conditions of the referenced object

Beispiele

Beispiel #1 Detecting fatal errors in Threads

<?php
class My extends Thread {
    public function run() {
        @not_found();
    }
}

$my = new My();
$my->start();
$my->join();

var_dump($my->isTerminated(), $my->getTerminationInfo());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
array(4) {
  ["scope"]=>
  string(2) "My"
  ["function"]=>
  string(3) "run"
  ["file"]=>
  string(29) "/usr/src/pthreads/sandbox.php"
  ["line"]=>
  int(4)
}

Threaded::from
Threaded::isRunning
Threaded


State Detection

Threaded::getTerminationInfo
Threaded::isTerminated
Threaded
PHP Manual

Threaded::isRunning

(PECL pthreads >= 2.0.0)

Threaded::isRunning — State Detection

Beschreibung

public boolean Threaded::isRunning ( void )

Tell if the referenced object is executing

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A boolean indication of state

Hinweis:

A object is considered running while executing the run method

Beispiele

Beispiel #1 Detect the state of the referenced object

<?php
class My extends Thread {
    public function run() {
        $this->synchronized(function($thread){
            if (!$thread->done)
                $thread->wait();
        }, $this);
    }
}
$my = new My();
$my->start();
var_dump($my->isRunning());
$my->synchronized(function($thread){
    $thread->done = true;
    $thread->notify();
}, $my);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)

Threaded::getTerminationInfo
Threaded::isTerminated
Threaded


State Detection

Threaded::isRunning
Threaded::isWaiting
Threaded
PHP Manual

Threaded::isTerminated

(PECL pthreads >= 2.0.0)

Threaded::isTerminated — State Detection

Beschreibung

public boolean Threaded::isTerminated ( void )

Tell if the referenced object was terminated during execution; suffered fatal errors, or threw uncaught exceptions

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A boolean indication of state

Beispiele

Beispiel #1 Detect the state of the referenced object

<?php
class My extends Thread {
    public function run() {
        i_do_not_exist();
    }
}
$my = new My();
$my->start();
$my->join();
var_dump($my->isTerminated());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)

Threaded::isRunning
Threaded::isWaiting
Threaded


State Detection

Threaded::isTerminated
Threaded::lock
Threaded
PHP Manual

Threaded::isWaiting

(PECL pthreads < 3.0.0)

Threaded::isWaiting — State Detection

Warnung

This method has been removed in pthreads v3.

Beschreibung

public boolean Threaded::isWaiting ( void )

Tell if the referenced object is waiting for notification

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A boolean indication of state

Beispiele

Beispiel #1 Detect the state of the referenced object

<?php
class My extends Thread {
    public function run() {
        $this->synchronized(function($thread){
            if (!$this->done)
                $thread->wait();
        }, $this);
    }

    protected $done;
}
$my = new My();
$my->start();
$my->synchronized(function($thread){
    var_dump(
        $thread->isWaiting());
    $thread->done = true;
    $thread->notify();
}, $my);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)

Threaded::isTerminated
Threaded::lock
Threaded


Synchronization

Threaded::isWaiting
Threaded::merge
Threaded
PHP Manual

Threaded::lock

(PECL pthreads < 3.0.0)

Threaded::lock — Synchronization

Warnung

This method has been removed in pthreads v3.

Beschreibung

public boolean Threaded::lock ( void )

Lock the referenced objects property table

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A boolean indication of success

Beispiele

Beispiel #1 Locking Object Properties

<?php
class My extends Thread {
    public function run() {
        var_dump($this->lock());
        /** nobody can read or write **/
        var_dump($this->unlock());
        /** reading / writing resumed for all other contexts */
    }
}
$my = new My();
$my->start();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(true)

Threaded::isWaiting
Threaded::merge
Threaded


Manipulation

Threaded::lock
Threaded::notify
Threaded
PHP Manual

Threaded::merge

(PECL pthreads >= 2.0.0)

Threaded::merge — Manipulation

Beschreibung

public boolean Threaded::merge ( mixed $from [, bool $overwrite ] )

Merges data into the current object

Parameter-Liste

from

The data to merge

overwrite

Overwrite existing keys, by default true

Rückgabewerte

A boolean indication of success

Beispiele

Beispiel #1 Merging into the property table of a threaded object

<?php
$array = [];

while (count($array) < 10)
    $array[] = count($array);

$stdClass = new stdClass();
$stdClass->foo = "foo";
$stdClass->bar = "bar";
$stdClass->baz = "baz";

$safe = new Threaded();
$safe->merge($array);

$safe->foo = "bar";
$safe->merge($stdClass, false);

var_dump($safe);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(Threaded)#2 (13) {
  ["0"]=>
  int(0)
  ["1"]=>
  int(1)
  ["2"]=>
  int(2)
  ["3"]=>
  int(3)
  ["4"]=>
  int(4)
  ["5"]=>
  int(5)
  ["6"]=>
  int(6)
  ["7"]=>
  int(7)
  ["8"]=>
  int(8)
  ["9"]=>
  int(9)
  ["foo"]=>
  string(3) "bar"
  ["bar"]=>
  string(3) "bar"
  ["baz"]=>
  string(3) "baz"
}

Threaded::lock
Threaded::notify
Threaded


Synchronization

Threaded::merge
Threaded::pop
Threaded
PHP Manual

Threaded::notify

(PECL pthreads >= 2.0.0)

Threaded::notify — Synchronization

Beschreibung

public boolean Threaded::notify ( void )

Send notification to the referenced object

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A boolean indication of success

Beispiele

Beispiel #1 Notifications and Waiting

<?php
class My extends Thread {
    public function run() {
        /** cause this thread to wait **/
        $this->synchronized(function($thread){
            if (!$thread->done)
                $thread->wait();
        }, $this);
    }
}
$my = new My();
$my->start();
/** send notification to the waiting thread **/
$my->synchronized(function($thread){
    $thread->done = true;
    $thread->notify();
}, $my);
var_dump($my->join());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)

Threaded::merge
Threaded::pop
Threaded


Manipulation

Threaded::notify
Threaded::run
Threaded
PHP Manual

Threaded::pop

(PECL pthreads >= 2.0.0)

Threaded::pop — Manipulation

Beschreibung

public boolean Threaded::pop ( void )

Pops an item from the objects property table

Rückgabewerte

The last item from the objects property table

Beispiele

Beispiel #1 Popping the last item from the property table of a threaded object

<?php
$safe = new Threaded();

while (count($safe) < 10)
    $safe[] = count($safe);

var_dump($safe->pop());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(9)

Threaded::notify
Threaded::run
Threaded


Execution

Threaded::pop
Threaded::shift
Threaded
PHP Manual

Threaded::run

(PECL pthreads >= 2.0.0)

Threaded::run — Execution

Beschreibung

public void Threaded::run ( void )

The programmer should always implement the run method for objects that are intended for execution.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The methods return value, if used, will be ignored

Threaded::pop
Threaded::shift
Threaded


Manipulation

Threaded::run
Threaded::synchronized
Threaded
PHP Manual

Threaded::shift

(PECL pthreads >= 2.0.0)

Threaded::shift — Manipulation

Beschreibung

public mixed Threaded::shift ( void )

Shifts an item from the objects property table

Rückgabewerte

The first item from the objects property table

Beispiele

Beispiel #1 Shifting the first item from the property table of a threaded object

<?php
$safe = new Threaded();

while (count($safe) < 10)
    $safe[] = count($safe);

var_dump($safe->shift());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(0)

Threaded::run
Threaded::synchronized
Threaded


Synchronization

Threaded::shift
Threaded::unlock
Threaded
PHP Manual

Threaded::synchronized

(PECL pthreads >= 2.0.0)

Threaded::synchronized — Synchronization

Beschreibung

public mixed Threaded::synchronized ( Closure $block [, mixed $... ] )

Executes the block while retaining the referenced objects synchronization lock for the calling context

Parameter-Liste

block

The block of code to execute

...

Variable length list of arguments to use as function arguments to the block

Rückgabewerte

The return value from the block

Beispiele

Beispiel #1 Synchronizing

<?php
class My extends Thread {
    public function run() {
        $this->synchronized(function($thread){
            if (!$thread->done)
                $thread->wait();
        }, $this);
    }
}
$my = new My();
$my->start();
$my->synchronized(function($thread){
    $thread->done = true;
    $thread->notify();
}, $my);
var_dump($my->join());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)

Threaded::shift
Threaded::unlock
Threaded


Synchronization

Threaded::synchronized
Threaded::wait
Threaded
PHP Manual

Threaded::unlock

(PECL pthreads < 3.0.0)

Threaded::unlock — Synchronization

Warnung

This method has been removed in pthreads v3.

Beschreibung

public boolean Threaded::unlock ( void )

Unlock the referenced objects storage for the calling context

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A boolean indication of success

Beispiele

Beispiel #1 Locking the property table of a threaded object

<?php
class My extends Thread {
    public function run() {
        var_dump($this->lock());
        /** nobody can read or write **/
        var_dump($this->unlock());
        /** reading / writing resumed for all other contexts */
    }
}
$my = new My();
$my->start();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(true)

Threaded::synchronized
Threaded::wait
Threaded


Synchronization

Threaded::unlock
Thread
Threaded
PHP Manual

Threaded::wait

(PECL pthreads >= 2.0.0)

Threaded::wait — Synchronization

Beschreibung

public boolean Threaded::wait ([ integer $timeout ] )

Will cause the calling context to wait for notification from the referenced object

Parameter-Liste

timeout

An optional timeout in microseconds

Rückgabewerte

A boolean indication of success

Beispiele

Beispiel #1 Notifications and Waiting

<?php
class My extends Thread {
    public function run() {
        /** cause this thread to wait **/
        $this->synchronized(function($thread){
            if (!$thread->done)
                $thread->wait();
        }, $this);
    }
}
$my = new My();
$my->start();
/** send notification to the waiting thread **/
$my->synchronized(function($thread){
    $thread->done = true;
    $thread->notify();
}, $my);
var_dump($my->join());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)

Threaded::unlock
Thread
Threaded


The Thread class

(PECL pthreads >= 2.0.0)

Einführung

When the start method of a Thread is invoked, the run method code will be executed in separate Thread, in parallel.

After the run method is executed the Thread will exit immediately, it will be joined with the creating Thread at the appropriate time.

Warnung

Relying on the engine to determine when a Thread should join may cause undesirable behaviour; the programmer should be explicit, where possible.

Klassenbeschreibung

Thread extends Threaded implements Countable , Traversable , ArrayAccess {
/* Methoden */
public void detach ( void )
public integer getCreatorId ( void )
public static Thread getCurrentThread ( void )
public static integer getCurrentThreadId ( void )
public integer getThreadId ( void )
public static mixed globally ( void )
public boolean isJoined ( void )
public boolean isStarted ( void )
public boolean join ( void )
public void kill ( void )
public boolean start ([ integer $options ] )
/* Geerbte Methoden */
public array Threaded::chunk ( integer $size , boolean $preserve )
public integer Threaded::count ( void )
public bool Threaded::extend ( string $class )
public Threaded Threaded::from ( Closure $run [, Closure $construct [, array $args ]] )
public array Threaded::getTerminationInfo ( void )
public boolean Threaded::isRunning ( void )
public boolean Threaded::isTerminated ( void )
public boolean Threaded::isWaiting ( void )
public boolean Threaded::lock ( void )
public boolean Threaded::merge ( mixed $from [, bool $overwrite ] )
public boolean Threaded::notify ( void )
public boolean Threaded::pop ( void )
public void Threaded::run ( void )
public mixed Threaded::shift ( void )
public mixed Threaded::synchronized ( Closure $block [, mixed $... ] )
public boolean Threaded::unlock ( void )
public boolean Threaded::wait ([ integer $timeout ] )
}

Inhaltsverzeichnis

  • Thread::detach — Execution
  • Thread::getCreatorId — Identification
  • Thread::getCurrentThread — Identification
  • Thread::getCurrentThreadId — Identification
  • Thread::getThreadId — Identification
  • Thread::globally — Execution
  • Thread::isJoined — State Detection
  • Thread::isStarted — State Detection
  • Thread::join — Synchronization
  • Thread::kill — Execution
  • Thread::start — Execution
Threaded::wait
Thread::detach
pthreads


Execution

Thread
Thread::getCreatorId
Thread
PHP Manual

Thread::detach

(PECL pthreads < 3.0.0)

Thread::detach — Execution

Warnung

This method has been removed in pthreads v3.

Beschreibung

public void Thread::detach ( void )

Detaches the referenced Thread from the calling context, dangerous!

Warnung

This method can cause undefined, unsafe behaviour. It should not usually be used, it is present for completeness and advanced use cases.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Thread
Thread::getCreatorId
Thread


Identification

Thread::detach
Thread::getCurrentThread
Thread
PHP Manual

Thread::getCreatorId

(PECL pthreads >= 2.0.0)

Thread::getCreatorId — Identification

Beschreibung

public integer Thread::getCreatorId ( void )

Will return the identity of the Thread that created the referenced Thread

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A numeric identity

Beispiele

Beispiel #1 Return the identity of the Thread or Process that created the referenced Thread

<?php
class My extends Thread {
    public function run() {
        printf("%s created by Thread #%lu\n", __CLASS__, $this->getCreatorId());
    }
}
$my = new My();
$my->start();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

My created by Thread #123456778899

Thread::detach
Thread::getCurrentThread
Thread


Identification

Thread::getCreatorId
Thread::getCurrentThreadId
Thread
PHP Manual

Thread::getCurrentThread

(PECL pthreads >= 2.0.0)

Thread::getCurrentThread — Identification

Beschreibung

public static Thread Thread::getCurrentThread ( void )

Return a reference to the currently executing Thread

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An object representing the currently executing Thread

Beispiele

Beispiel #1 Return the currently executing Thread

<?php
class My extends Thread {
    public function run() {
        var_dump(Thread::getCurrentThread());
    }
}
$my = new My();
$my->start();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(My)#2 (0) {
}

Thread::getCreatorId
Thread::getCurrentThreadId
Thread


Identification

Thread::getCurrentThread
Thread::getThreadId
Thread
PHP Manual

Thread::getCurrentThreadId

(PECL pthreads >= 2.0.0)

Thread::getCurrentThreadId — Identification

Beschreibung

public static integer Thread::getCurrentThreadId ( void )

Will return the identity of the currently executing Thread

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A numeric identity

Beispiele

Beispiel #1 Return the identity of the currently executing Thread

<?php
class My extends Thread {
    public function run() {
        printf("%s is Thread #%lu\n", __CLASS__, Thread::getCurrentThreadId());
    }
}
$my = new My();
$my->start();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

My is Thread #123456778899

Thread::getCurrentThread
Thread::getThreadId
Thread


Identification

Thread::getCurrentThreadId
Thread::globally
Thread
PHP Manual

Thread::getThreadId

(PECL pthreads >= 2.0.0)

Thread::getThreadId — Identification

Beschreibung

public integer Thread::getThreadId ( void )

Will return the identity of the referenced Thread

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A numeric identity

Beispiele

Beispiel #1 Return the identity of the referenced Thread

<?php
class My extends Thread {
    public function run() {
        printf("%s is Thread #%lu\n", __CLASS__, $this->getThreadId());
    }
}
$my = new My();
$my->start();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

My is Thread #123456778899

Thread::getCurrentThreadId
Thread::globally
Thread


Execution

Thread::getThreadId
Thread::isJoined
Thread
PHP Manual

Thread::globally

(PECL pthreads < 3.0.0)

Thread::globally — Execution

Warnung

This method has been removed in pthreads v3.

Beschreibung

public static mixed Thread::globally ( void )

Will execute a Callable in the global scope

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The return value of the Callable

Beispiele

Beispiel #1 Execute in the global scope

<?php
class My extends Thread {
    public function run() {
        global $std;

        Thread::globally(function(){
            $std = new stdClass;
        });

        var_dump($std);
    }
}
$my = new My();
$my->start();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(stdClass)#3 (0) {
}

Thread::getThreadId
Thread::isJoined
Thread


State Detection

Thread::globally
Thread::isStarted
Thread
PHP Manual

Thread::isJoined

(PECL pthreads >= 2.0.0)

Thread::isJoined — State Detection

Beschreibung

public boolean Thread::isJoined ( void )

Tell if the referenced Thread has been joined

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A boolean indication of state

Beispiele

Beispiel #1 Detect the state of the referenced Thread

<?php
class My extends Thread {
    public function run() {
        $this->synchronized(function($thread){
            if (!$thread->done)
                $thread->wait();
        }, $this);
    }
}
$my = new My();
$my->start();
var_dump($my->isJoined());
$my->synchronized(function($thread){
    $thread->done = true;
    $thread->notify();
}, $my);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)

Thread::globally
Thread::isStarted
Thread


State Detection

Thread::isJoined
Thread::join
Thread
PHP Manual

Thread::isStarted

(PECL pthreads >= 2.0.0)

Thread::isStarted — State Detection

Beschreibung

public boolean Thread::isStarted ( void )

Tell if the referenced Thread was started

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

boolean indication of state

Beispiele

Beispiel #1 Tell if the referenced Thread was started

<?php
$worker = new Worker();
$worker->start();
var_dump($worker->isStarted());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)

Thread::isJoined
Thread::join
Thread


Synchronization

Thread::isStarted
Thread::kill
Thread
PHP Manual

Thread::join

(PECL pthreads >= 2.0.0)

Thread::join — Synchronization

Beschreibung

public boolean Thread::join ( void )

Causes the calling context to wait for the referenced Thread to finish executing

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A boolean indication of success

Beispiele

Beispiel #1 Join with the referenced Thread

<?php
class My extends Thread {
    public function run() {
        /* ... */
    }
}
$my = new My();
$my->start();
/* ... */
var_dump($my->join());
/* ... */
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)

Thread::isStarted
Thread::kill
Thread


Execution

Thread::join
Thread::start
Thread
PHP Manual

Thread::kill

(PECL pthreads < 3.0.0)

Thread::kill — Execution

Warnung

This method has been removed in pthreads v3.

Beschreibung

public void Thread::kill ( void )

Forces the referenced Thread to terminate

Warnung

The programmer should not ordinarily kill Threads by force

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A boolean indication of success

Beispiele

Beispiel #1 Kill the referenced Thread

<?php
class T extends Thread {
    public function run() {
        $stdin = fopen("php://stdin", "r");
        while(($line = fgets($stdin))) {
            echo $line;
        }
    }
}

$t = new T();
$t->start();

var_dump($t->kill());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)

Thread::join
Thread::start
Thread


Execution

Thread::kill
Worker
Thread
PHP Manual

Thread::start

(PECL pthreads >= 2.0.0)

Thread::start — Execution

Beschreibung

public boolean Thread::start ([ integer $options ] )

Will start a new Thread to execute the implemented run method

Parameter-Liste

options

An optional mask of inheritance constants, by default PTHREADS_INHERIT_ALL

Rückgabewerte

A boolean indication of success

Beispiele

Beispiel #1 Starting Threads

<?php
class My extends Thread {
    public function run() {
        /** ... **/
    }
}
$my = new My();
var_dump($my->start());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)

Thread::kill
Worker
Thread


The Worker class

(PECL pthreads >= 2.0.0)

Einführung

Worker Threads have a persistent context, as such should be used over Threads in most cases.

When a Worker is started, the run method will be executed, but the Thread will not leave until one of the following conditions are met:

  • the Worker goes out of scope (no more references remain)

  • the programmer calls shutdown

  • the script dies

This means the programmer can reuse the context throughout execution; placing objects on the stack of the Worker will cause the Worker to execute the stacked objects run method.

Warnung

The programmer must retain references to stacked objects until they are executed or unstacked; the Pool class provides a higher level abstraction of the Worker functionality and manages references for the programmer.

Klassenbeschreibung

Worker extends Thread implements Traversable , Countable , ArrayAccess {
/* Methoden */
public int collect ([ Callable $collector ] )
public int getStacked ( void )
public bool isShutdown ( void )
public boolean isWorking ( void )
public bool shutdown ( void )
public int stack ( Threaded &$work )
public int unstack ( void )
/* Geerbte Methoden */
public void Thread::detach ( void )
public integer Thread::getCreatorId ( void )
public static Thread Thread::getCurrentThread ( void )
public static integer Thread::getCurrentThreadId ( void )
public integer Thread::getThreadId ( void )
public static mixed Thread::globally ( void )
public boolean Thread::isJoined ( void )
public boolean Thread::isStarted ( void )
public boolean Thread::join ( void )
public void Thread::kill ( void )
public boolean Thread::start ([ integer $options ] )
}

Inhaltsverzeichnis

  • Worker::collect — Collect references to completed tasks
  • Worker::getStacked — Gets the remaining stack size
  • Worker::isShutdown — State Detection
  • Worker::isWorking — State Detection
  • Worker::shutdown — Shutdown the worker
  • Worker::stack — Stacking work
  • Worker::unstack — Unstacking work
Thread::start
Worker::collect
pthreads


Collect references to completed tasks

Worker
Worker::getStacked
Worker
PHP Manual

Worker::collect

(PECL pthreads >= 3.0.0)

Worker::collect — Collect references to completed tasks

Beschreibung

public int Worker::collect ([ Callable $collector ] )

Allows the worker to collect references determined to be garbage by the optionally given collector.

Parameter-Liste

collector

A Callable collector that returns a boolean on whether the task can be collected or not. Only in rare cases should a custom collector need to be used.

Rückgabewerte

The number of remaining tasks on the worker's stack to be collected.

Beispiele

Beispiel #1 A basic example of Worker::collect()

<?php
$worker = new Worker();

echo "There are currently {$worker->collect()} tasks on the stack to be collected\n";

for ($i = 0; $i < 15; ++$i) {
    $worker->stack(new class extends Threaded {});
}

echo "There are {$worker->collect()} tasks remaining on the stack to be collected\n";

$worker->start();

while ($worker->collect()); // blocks until all tasks have finished executing

echo "There are now {$worker->collect()} tasks on the stack to be collected\n";

$worker->shutdown();

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

There are currently 0 tasks on the stack to be collected
There are 15 tasks remaining on the stack to be collected
There are now 0 tasks on the stack to be collected

Worker
Worker::getStacked
Worker


Gets the remaining stack size

Worker::collect
Worker::isShutdown
Worker
PHP Manual

Worker::getStacked

(PECL pthreads >= 2.0.0)

Worker::getStacked — Gets the remaining stack size

Beschreibung

public int Worker::getStacked ( void )

Returns the number of tasks left on the stack

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the number of tasks currently waiting to be executed by the worker

Beispiele

Beispiel #1 A basic example of Worker::getStacked

<?php
$worker = new Worker();

for ($i = 0; $i < 5; ++$i) {
    $worker->stack(new class extends Threaded {});
}

echo "There are {$worker->getStacked()} stacked tasks\n";

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

There are 5 stacked tasks

Worker::collect
Worker::isShutdown
Worker


State Detection

Worker::getStacked
Worker::isWorking
Worker
PHP Manual

Worker::isShutdown

(PECL pthreads >= 2.0.0)

Worker::isShutdown — State Detection

Beschreibung

public bool Worker::isShutdown ( void )

Whether the worker has been shutdown or not.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns whether the worker has been shutdown or not.

Beispiele

Beispiel #1 Detect the state of a worker

<?php
$worker = new Worker();
$worker->start();

var_dump($worker->isShutdown());

$worker->shutdown();

var_dump($worker->isShutdown());

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(true)

Worker::getStacked
Worker::isWorking
Worker


State Detection

Worker::isShutdown
Worker::shutdown
Worker
PHP Manual

Worker::isWorking

(PECL pthreads >= 2.0.0)

Worker::isWorking — State Detection

Warnung

This method has been removed in pthreads v3. The Worker::getStacked() method should be used to see if the worker still has tasks to execute.

Beschreibung

public boolean Worker::isWorking ( void )

Tell if a Worker is executing Stackables

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A boolean indication of state

Beispiele

Beispiel #1 Detect the state of a Worker

<?php
$my = new Worker();
$my->start();
/* ... */
if ($my->isWorking()) {
    /* ... the Worker is busy executing another object */
}
?>

Worker::isShutdown
Worker::shutdown
Worker


Shutdown the worker

Worker::isWorking
Worker::stack
Worker
PHP Manual

Worker::shutdown

(PECL pthreads >= 2.0.0)

Worker::shutdown — Shutdown the worker

Beschreibung

public bool Worker::shutdown ( void )

Shuts down the worker after executing all of the stacked tasks.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Whether the worker was successfully shutdown or not.

Beispiele

Beispiel #1 Shutdown the referenced worker

<?php
$my = new Worker();
$my->start();
/* stack/execute tasks */
var_dump($my->shutdown());

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)

Worker::isWorking
Worker::stack
Worker


Stacking work

Worker::shutdown
Worker::unstack
Worker
PHP Manual

Worker::stack

(PECL pthreads >= 2.0.0)

Worker::stack — Stacking work

Beschreibung

public int Worker::stack ( Threaded &$work )

Appends the new work to the stack of the referenced worker.

Parameter-Liste

work

A Threaded object to be executed by the worker.

Rückgabewerte

The new size of the stack.

Beispiele

Beispiel #1 Stacking a task for execution onto a worker

<?php
$worker = new Worker();
$work = new class extends Threaded {};

var_dump($worker->stack($work));

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(1)

Worker::shutdown
Worker::unstack
Worker


Unstacking work

Worker::stack
Collectable
Worker
PHP Manual

Worker::unstack

(PECL pthreads >= 2.0.0)

Worker::unstack — Unstacking work

Beschreibung

public int Worker::unstack ( void )

Removes the first task (the oldest one) in the stack.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The new size of the stack.

Changelog

Version | Beschreibung
v3 | The parameter to specify the task to unstack has been removed. Now, only the first task in the stack is removed.

Beispiele

Beispiel #1 Removing objects from the stack of Workers

<?php
$my = new Worker();
$work = new class extends Threaded {};

var_dump($my->stack($work));
var_dump($my->unstack());

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(1)
int(0)

Worker::stack
Collectable
Worker


The Collectable interface

(PECL pthreads >= 2.0.8)

Einführung

Achtung

Collectable was previously a class (in pthreads v2 and below). Now, it is an interface in pthreads v3 that is implemented by the Threaded class.

Represents a garbage-collectable object.

Interface-Übersicht

Collectable extends Threaded {
/* Methoden */
public bool isGarbage ( void )
public void setGarbage ( void )
}

Inhaltsverzeichnis

  • Collectable::isGarbage — Determine whether an object has been marked as garbage
  • Collectable::setGarbage — Mark an object as garbage
Worker::unstack
Collectable::isGarbage
pthreads


Determine whether an object has been marked as garbage

Collectable
Collectable::setGarbage
Collectable
PHP Manual

Collectable::isGarbage

(PECL pthreads >= 2.0.8)

Collectable::isGarbage — Determine whether an object has been marked as garbage

Beschreibung

public bool Collectable::isGarbage ( void )

Can be called in Pool::collect() to determine if this object is garbage.

Siehe auch

  • Pool::collect() - Collect references to completed tasks

Collectable
Collectable::setGarbage
Collectable


Mark an object as garbage

Collectable::isGarbage
Modifiers
Collectable
PHP Manual

Collectable::setGarbage

(PECL pthreads < 3.0.0)

Collectable::setGarbage — Mark an object as garbage

Beschreibung

public void Collectable::setGarbage ( void )

Should be called once per object when the object is finished being executed or referenced.

Siehe auch

  • Collectable::isGarbage() - Determine whether an object has been marked as garbage

Collectable::isGarbage
Modifiers
Collectable


Method Modifiers

pthreads overrides the functionality of the protected and private method modifiers in order to provide functionality more suited to multi-threaded objects. pthreads applies this functionality to all Threaded objects from creation.

Beispiel #1 protected method example: protected methods can only be executed by one Thread at a time.

<?php
class ExampleThread extends Thread {
    public function run() {
        /* thread code */
        if ($this->synchronized()) {

        }
    }

    protected function exclusive() {
        /* synchronized method */
    }
}

$thread = new ExampleThread();
if ($thread->start()) {
    $thread->exclusive();
}
?>

Beispiel #2 private method example: private methods may only be executed by the Threaded object during execution

<?php
class ExampleThread extends Thread {
    public function run() {
        /* thread code */
        if ($this->insideonly()) {

        }
    }

    private function insideonly() {
        /* private method */
    }
}

$thread = new ExampleThread();
if ($thread->start()) {
    $thread->insideonly();
}
?>
Collectable::setGarbage
Pool
pthreads


The Pool class

(PECL pthreads >= 2.0.0)

Einführung

A Pool is a container for, and controller of, an adjustable number of Workers.

Pooling provides a higher level abstraction of the Worker functionality, including the management of references in the way required by pthreads.

Klassenbeschreibung

Pool {
/* Eigenschaften */
protected $size ;
protected $class ;
protected $workers ;
protected $work ;
protected $ctor ;
protected $last ;
/* Methoden */
public int collect ([ Callable $collector ] )
public Pool __construct ( integer $size [, string $class [, array $ctor ]] )
public void resize ( integer $size )
public void shutdown ( void )
public int submit ( Threaded $task )
public int submitTo ( int $worker , Threaded $task )
}

Eigenschaften

size

maximum number of Workers this Pool can use

class

the class of the Worker

ctor

the arguments for constructor of new Workers

workers

references to Workers

work

references to Threaded objects submitted to the Pool

last

offset in workers of the last Worker used

Inhaltsverzeichnis

  • Pool::collect — Collect references to completed tasks
  • Pool::__construct — Creates a new Pool of Workers
  • Pool::resize — Resize the Pool
  • Pool::shutdown — Shutdown all workers
  • Pool::submit — Submits an object for execution
  • Pool::submitTo — Submits a task to a specific worker for execution
Modifiers
Pool::collect
pthreads


Collect references to completed tasks

Pool
Pool::__construct
Pool
PHP Manual

Pool::collect

(PECL pthreads >= 2.0.0)

Pool::collect — Collect references to completed tasks

Beschreibung

public int Pool::collect ([ Callable $collector ] )

Allows the pool to collect references determined to be garbage by the optionally given collector.

Parameter-Liste

collector

A Callable collector that returns a boolean on whether the task can be collected or not. Only in rare cases should a custom collector need to be used.

Rückgabewerte

The number of remaining tasks in the pool to be collected.

Changelog

Version | Beschreibung
v3 | An integer is now returned, and the collector parameter is now optional.

Beispiele

Beispiel #1 A basic example of Pool::collect()

<?php
$pool = new Pool(4);

for ($i = 0; $i < 15; ++$i) {
    $pool->submit(new class extends Threaded {});
}

while ($pool->collect()); // blocks until all tasks have finished executing

$pool->shutdown();

Pool
Pool::__construct
Pool


Creates a new Pool of Workers

Pool::collect
Pool::resize
Pool
PHP Manual

Pool::__construct

(PECL pthreads >= 2.0.0)

Pool::__construct — Creates a new Pool of Workers

Beschreibung

public Pool Pool::__construct ( integer $size [, string $class [, array $ctor ]] )

Construct a new pool of workers. Pools lazily create their threads, which means new threads will only be spawned when they are required to execute tasks.

Parameter-Liste

size

The maximum number of workers for this pool to create

class

The class for new Workers. If no class is given, then it defaults to the Worker class.

ctor

An array of arguments to be passed to new workers' constructors

Rückgabewerte

The new pool

Beispiele

Beispiel #1 Creating Pools

<?php
class MyWorker extends Worker {

    public function __construct(Something $something) {
        $this->something = $something;
    }

    public function run() {
        /** ... **/
    }
}

$pool = new Pool(8, \MyWorker::class, [new Something()]);

var_dump($pool);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(Pool)#1 (6) {
  ["size":protected]=>
  int(8)
  ["class":protected]=>
  string(8) "MyWorker"
  ["workers":protected]=>
  NULL
  ["work":protected]=>
  NULL
  ["ctor":protected]=>
  array(1) {
    [0]=>
    object(Something)#2 (0) {
    }
  }
  ["last":protected]=>
  int(0)
}

Pool::collect
Pool::resize
Pool


Resize the Pool

Pool::__construct
Pool::shutdown
Pool
PHP Manual

Pool::resize

(PECL pthreads >= 2.0.0)

Pool::resize — Resize the Pool

Beschreibung

public void Pool::resize ( integer $size )

Resize the Pool

Parameter-Liste

size

The maximum number of Workers this Pool can create

Rückgabewerte

void

Pool::__construct
Pool::shutdown
Pool


Shutdown all workers

Pool::resize
Pool::submit
Pool
PHP Manual

Pool::shutdown

(PECL pthreads >= 2.0.0)

Pool::shutdown — Shutdown all workers

Beschreibung

public void Pool::shutdown ( void )

Shuts down all of the workers in the pool. This will block until all submitted tasks have been executed.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

No value is returned.

Beispiele

Beispiel #1 Shutting down a pool

<?php
class Task extends Threaded
{
    public function run()
    {
        usleep(500000);
    }
}

$pool = new Pool(4);

for ($i = 0; $i < 10; ++$i) {
    $pool->submit(new Task());
}

$pool->shutdown(); // blocks until all submitted tasks have finished executing

Pool::resize
Pool::submit
Pool


Submits an object for execution

Pool::shutdown
Pool::submitTo
Pool
PHP Manual

Pool::submit

(PECL pthreads >= 2.0.0)

Pool::submit — Submits an object for execution

Beschreibung

public int Pool::submit ( Threaded $task )

Submit the task to the next Worker in the Pool

Parameter-Liste

size

The task for execution

Rückgabewerte

the identifier of the Worker executing the object

Beispiele

Beispiel #1 Submitting Tasks

<?php
class MyWork extends Threaded {

    public function run() {
        /* ... */
    }
}

class MyWorker extends Worker {

    public function __construct(Something $something) {
        $this->something = $something;
    }

    public function run() {
        /** ... **/
    }
}

$pool = new Pool(8, \MyWorker::class, [new Something()]);
$pool->submit(new MyWork());
var_dump($pool);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(Pool)#1 (6) {
  ["size":protected]=>
  int(8)
  ["class":protected]=>
  string(8) "MyWorker"
  ["workers":protected]=>
  array(1) {
    [0]=>
    object(MyWorker)#4 (1) {
      ["something"]=>
      object(Something)#5 (0) {
      }
    }
  }
  ["work":protected]=>
  array(1) {
    [0]=>
    object(MyWork)#3 (1) {
      ["worker"]=>
      object(MyWorker)#5 (1) {
        ["something"]=>
        object(Something)#6 (0) {
        }
      }
    }
  }
  ["ctor":protected]=>
  array(1) {
    [0]=>
    object(Something)#2 (0) {
    }
  }
  ["last":protected]=>
  int(1)
}

Pool::shutdown
Pool::submitTo
Pool


Submits a task to a specific worker for execution

Pool::submit
Mutex
Pool
PHP Manual

Pool::submitTo

(PECL pthreads >= 2.0.0)

Pool::submitTo — Submits a task to a specific worker for execution

Beschreibung

public int Pool::submitTo ( int $worker , Threaded $task )

Submit a task to the specified worker in the pool. The workers are indexed from 0, and will only exist if the pool has needed to create them (since threads are lazily spawned).

Parameter-Liste

worker

The worker to stack the task onto, indexed from 0.

task

The task for execution.

Rückgabewerte

The identifier of the worker that accepted the task.

Beispiele

Beispiel #1 Submitting tasks to a specific worker

<?php
class Task extends Threaded {
    public function run() {
        var_dump(Thread::getCurrentThreadID());
    }
}

$pool = new Pool(2);

$pool->submit(new Task());

for ($i = 0; $i < 5; ++$i) {
    $pool->submitTo(0, new Task()); // stack all tasks onto the first worker
}

$pool->submitTo(1, new Task()); // cannot stack the task onto the second worker due to it not existing yet

$pool->shutdown();

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(4475011072)
int(4475011072)
int(4475011072)
int(4475011072)
int(4475011072)
int(4475011072)

Fatal error: Uncaught Exception: The selected worker (1) does not exist in %s:%d

Pool::submit
Mutex
Pool


The Mutex class

(PECL pthreads < 3.0.0)

Einführung

Warnung

The Mutex class has been removed in pthreads v3.

The static methods contained in the Mutex class provide direct access to Posix Mutex functionality.

Klassenbeschreibung

Mutex {
/* Methoden */
final public static long create ([ boolean $lock ] )
final public static boolean destroy ( long $mutex )
final public static boolean lock ( long $mutex )
final public static boolean trylock ( long $mutex )
final public static boolean unlock ( long $mutex [, boolean $destroy ] )
}

Inhaltsverzeichnis

  • Mutex::create — Create a Mutex
  • Mutex::destroy — Destroy Mutex
  • Mutex::lock — Acquire Mutex
  • Mutex::trylock — Attempt to Acquire Mutex
  • Mutex::unlock — Release Mutex
Pool::submitTo
Mutex::create
pthreads


Create a Mutex

Mutex
Mutex::destroy
Mutex
PHP Manual

Mutex::create

(PECL pthreads < 3.0.0)

Mutex::create — Create a Mutex

Warnung

The Mutex class has been removed in pthreads v3.

Beschreibung

final public static long Mutex::create ([ boolean $lock ] )

Create, and optionally lock a new Mutex for the caller

Parameter-Liste

lock

Setting lock to true will lock the Mutex for the caller before returning the handle

Rückgabewerte

A newly created and optionally locked Mutex handle

Beispiele

Beispiel #1 Mutex Creation and Destruction

<?php
/** You cannot use the "new" keyword, a Mutex is not a PHP object **/
$mutex = Mutex::create();
/** You have the physical address of the Mutex **/
var_dump($mutex);
/** Always destroy mutex you have created **/
Mutex::destroy($mutex);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(40096976)

Mutex
Mutex::destroy
Mutex


Destroy Mutex

Mutex::create
Mutex::lock
Mutex
PHP Manual

Mutex::destroy

(PECL pthreads < 3.0.0)

Mutex::destroy — Destroy Mutex

Warnung

The Mutex class has been removed in pthreads v3.

Beschreibung

final public static boolean Mutex::destroy ( long $mutex )

Destroying Mutex handles must be carried out explicitly by the programmer when they are finished with the Mutex handle.

Parameter-Liste

mutex

A handle returned by a previous call to Mutex::create(). The handle should not be locked by any Thread when Mutex::destroy() is called.

Rückgabewerte

A boolean indication of success

Beispiele

Beispiel #1 Mutex Creation and Destruction

<?php
/** You cannot use the "new" keyword, a Mutex is not a PHP object **/
$mutex = Mutex::create();
/** You have the physical address of the Mutex **/
var_dump($mutex);
/** Always destroy mutex you have created **/
Mutex::destroy($mutex);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(40096976)

Mutex::create
Mutex::lock
Mutex


Acquire Mutex

Mutex::destroy
Mutex::trylock
Mutex
PHP Manual

Mutex::lock

(PECL pthreads < 3.0.0)

Mutex::lock — Acquire Mutex

Warnung

The Mutex class has been removed in pthreads v3.

Beschreibung

final public static boolean Mutex::lock ( long $mutex )

Attempt to lock the Mutex for the caller.

An attempt to lock a Mutex owned (locked) by another Thread will result in blocking.

Parameter-Liste

mutex

A handle returned by a previous call to Mutex::create().

Rückgabewerte

A boolean indication of success.

Beispiele

Beispiel #1 Mutex Locking and Unlocking

<?php
/** You cannot use the "new" keyword, a Mutex is not a PHP object **/
$mutex = Mutex::create();
/** You can now lock the mutex in any context **/
var_dump(Mutex::lock($mutex));
/** It is invalid to attempt to destroy a locked Mutex **/
var_dump(Mutex::unlock($mutex));
/** Always destroy mutex you have created **/
Mutex::destroy($mutex);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(true)

Mutex::destroy
Mutex::trylock
Mutex


Attempt to Acquire Mutex

Mutex::lock
Mutex::unlock
Mutex
PHP Manual

Mutex::trylock

(PECL pthreads < 3.0.0)

Mutex::trylock — Attempt to Acquire Mutex

Warnung

The Mutex class has been removed in pthreads v3.

Beschreibung

final public static boolean Mutex::trylock ( long $mutex )

Attempt to lock the Mutex for the caller without blocking if the Mutex is owned (locked) by another Thread.

Parameter-Liste

mutex

A handle returned by a previous call to Mutex::create().

Rückgabewerte

A boolean indication of success.

Beispiele

Beispiel #1 Mutex Locking and Unlocking

<?php
/** You cannot use the "new" keyword, a Mutex is not a PHP object **/
$mutex = Mutex::create();
/** You can now try to lock the mutex in any context **/
var_dump(Mutex::trylock($mutex));
/** It is invalid to attempt to destroy a locked Mutex **/
var_dump(Mutex::unlock($mutex));
/** Always destroy mutex you have created **/
Mutex::destroy($mutex);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(true)

Mutex::lock
Mutex::unlock
Mutex


Release Mutex

Mutex::trylock
Cond
Mutex
PHP Manual

Mutex::unlock

(PECL pthreads < 3.0.0)

Mutex::unlock — Release Mutex

Warnung

The Mutex class has been removed in pthreads v3.

Beschreibung

final public static boolean Mutex::unlock ( long $mutex [, boolean $destroy ] )

Attempts to unlock the Mutex for the caller, optionally destroying the Mutex handle. The calling thread should own the Mutex at the time of the call.

Parameter-Liste

mutex

A handle returned by a previous call to Mutex::create().

destroy

When true pthreads will destroy the Mutex after a successful unlock.

Rückgabewerte

A boolean indication of success.

Beispiele

Beispiel #1 Mutex Locking and Unlocking

<?php
/** You cannot use the "new" keyword, a Mutex is not a PHP object **/
$mutex = Mutex::create();
/** You can now lock the mutex in any context **/
var_dump(Mutex::lock($mutex));
/** It is invalid to attempt to destroy a locked Mutex **/
var_dump(Mutex::unlock($mutex));
/** Always destroy mutex you have created **/
Mutex::destroy($mutex);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(true)

Mutex::trylock
Cond
Mutex


The Cond class

(PECL pthreads < 3.0.0)

Einführung

Warnung

The Cond class has been removed in pthreads v3.

The static methods contained in the Cond class provide direct access to Posix Condition Variables.

Klassenbeschreibung

Cond {
/* Methoden */
final public static boolean broadcast ( long $condition )
final public static long create ( void )
final public static boolean destroy ( long $condition )
final public static boolean signal ( long $condition )
final public static boolean wait ( long $condition , long $mutex [, long $timeout ] )
}

Inhaltsverzeichnis

  • Cond::broadcast — Broadcast a Condition
  • Cond::create — Create a Condition
  • Cond::destroy — Destroy a Condition
  • Cond::signal — Signal a Condition
  • Cond::wait — Wait for Condition
Mutex::unlock
Cond::broadcast
pthreads


Broadcast a Condition

Cond
Cond::create
Cond
PHP Manual

Cond::broadcast

(PECL pthreads < 3.0.0)

Cond::broadcast — Broadcast a Condition

Warnung

The Cond class has been removed in pthreads v3.

Beschreibung

final public static boolean Cond::broadcast ( long $condition )

Broadcast to all Threads blocking on a call to Cond::wait().

Parameter-Liste

condition

A handle to a Condition Variable returned by a previous call to Cond::create()

Rückgabewerte

A boolean indication of success.

Beispiele

Beispiel #1 Condition Broadcasting

<?php
/** You cannot use the "new" keyword, a Cond is not a PHP object **/
$cond = Cond::create();
/** The caller must lock the associated Mutex before a call to broadcast **/
var_dump(Cond::broadcast($cond));
/** Always destroy Cond you have created **/
Cond::destroy($cond);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)

Cond
Cond::create
Cond


Create a Condition

Cond::broadcast
Cond::destroy
Cond
PHP Manual

Cond::create

(PECL pthreads < 3.0.0)

Cond::create — Create a Condition

Warnung

The Cond class has been removed in pthreads v3.

Beschreibung

final public static long Cond::create ( void )

Creates a new Condition Variable for the caller.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A handle to a Condition Variable

Beispiele

Beispiel #1 Condition Creation and Destruction

<?php
/** You cannot use the "new" keyword, a Cond is not a PHP object **/
$cond = Cond::create();
/** You can now use the Cond in any context **/
var_dump($cond);
/** Always destroy Cond you have created **/
Cond::destroy($cond);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(4540682)

Cond::broadcast
Cond::destroy
Cond


Destroy a Condition

Cond::create
Cond::signal
Cond
PHP Manual

Cond::destroy

(PECL pthreads < 3.0.0)

Cond::destroy — Destroy a Condition

Warnung

The Cond class has been removed in pthreads v3.

Beschreibung

final public static boolean Cond::destroy ( long $condition )

Destroying Condition Variable handles must be carried out explicitly by the programmer when they are finished with the Condition Variable. No Threads should be blocking on a call to Cond::wait() when the call to Cond::destroy() takes place.

Parameter-Liste

condition

A handle to a Condition Variable returned by a previous call to Cond::create()

Rückgabewerte

A boolean indication of success.

Beispiele

Beispiel #1 Condition Creation and Destruction

<?php
/** You cannot use the "new" keyword, a Cond is not a PHP object **/
$cond = Cond::create();
/** You can now use the Cond in any context **/
var_dump($cond);
/** Always destroy Cond you have created **/
Cond::destroy($cond);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(4540682)

Cond::create
Cond::signal
Cond


Signal a Condition

Cond::destroy
Cond::wait
Cond
PHP Manual

Cond::signal

(PECL pthreads < 3.0.0)

Cond::signal — Signal a Condition

Warnung

The Cond class has been removed in pthreads v3.

Beschreibung

final public static boolean Cond::signal ( long $condition )

Parameter-Liste

condition

A handle returned by a previous call to Cond::create()

Rückgabewerte

A boolean indication of success.

Beispiele

Beispiel #1 Condition Signalling

<?php
/** You cannot use the "new" keyword, a Cond is not a PHP object **/
$cond = Cond::create();
/** The caller must lock the associated Mutex before a call to broadcast **/
var_dump(Cond::signal($cond));
/** Always destroy Cond you have created **/
Cond::destroy($cond);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)

Cond::destroy
Cond::wait
Cond


Wait for Condition

Cond::signal
Semaphore
Cond
PHP Manual

Cond::wait

(PECL pthreads < 3.0.0)

Cond::wait — Wait for Condition

Warnung

The Cond class has been removed in pthreads v3.

Beschreibung

final public static boolean Cond::wait ( long $condition , long $mutex [, long $timeout ] )

Wait for a signal on a Condition Variable, optionally specifying a timeout to limit waiting time.

Parameter-Liste

condition

A handle returned by a previous call to Cond::create().

mutex

A handle returned by a previous call to Mutex::create() and owned (locked) by the caller.

timeout

An optional timeout, in microseconds ( millionths of a second ).

Rückgabewerte

A boolean indication of success.

Beispiele

Beispiel #1 Waiting for Conditions

<?php
/** PLEASE NOTE THIS EXAMPLE WILL CAUSE THE PROCESS TO HANG **/
$mutex = Mutex::create(true);
/** You cannot use the "new" keyword, a Cond is not a PHP object **/
$cond = Cond::create();
/** The caller must lock the associated Mutex before a call to broadcast **/
var_dump(Cond::wait($cond, $mutex));
/** Always destroy Cond you have created **/
Cond::destroy($cond);
Mutex::unlock($mutex);
Mutex::destroy($mutex);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(49685473)

Cond::signal
Semaphore
Cond


Semaphore, Shared Memory and IPC

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Semaphore Funktionen
    • ftok — Erzeugt aus einem Dateipfad und einem Projektbezeichner einen System V IPC Schlüssel
    • msg_get_queue — Message Queue anlegen oder an existierende Queue anbinden
    • msg_queue_exists — Check whether a message queue exists
    • msg_receive — Receive a message from a message queue
    • msg_remove_queue — Entfernt eine Message Queue
    • msg_send — Send a message to a message queue
    • msg_set_queue — Setzt Metadaten in derMessage Queue Datenstruktur
    • msg_stat_queue — Liefert Informationen zu einer Message Queue
    • sem_acquire — Zugriff auf Semaphor anfordern
    • sem_get — Zugriff auf ein Semaphor anfordern
    • sem_release — Semaphor freigeben
    • sem_remove — Semaphor entfernen
    • shm_attach — Shared Memory Segment anlegen oder anbinden
    • shm_detach — Anbindung an ein Shared Memory-Segment beenden
    • shm_get_var — Liest eine Variable aus dem Shared Memory
    • shm_has_var — Check whether a specific entry exists
    • shm_put_var — Aktualisiert eine Variable im Shared Memory
    • shm_remove_var — Entfernt eine Variable aus dem Shared Memory
    • shm_remove — Entfernt ein Shared Memory-Segment unter UNIX
Cond::wait
Einführung
Erweiterungen zur Prozesskontrolle


Einführung

Diese Extension bietet Funktionen zur Nutzung der Unix System V IPC Funktionen. Sie unterstützt Semaphore, Shared Memory und den Nachrichtenaustausch zwischen Prozessen (Inter Process Communication - IPC).

Semaphore können genutzt werden um den exklusiven Zugriff auf eine gemeinsame Resource zu koordinieren oder um die Anzahl der gleichzeitigen Zugriffe auf eine gemeinsame Resource zu limitieren.

Die Extension bietet auch Funktionen zur Nutzung von Shared Memory. Im Shared Memory lassen sich prozessübergreifend globale Variablen anlegen. Verschiedene PHP Prozesse sowie in anderen Sprachen (z.B. Perl, C, ...) geschriebene Anwendungen können auf diese Daten zugreifen und so einen globalen Datenaustausch bereitstellen. Beachten Sie das Shared Memory alleine keinen Schutz gegen konkurierende Zugriffe bietet, dieser kann allerdings mit Hilfe von Semaphoren sichergestellt werden.

Durch Unix vorgegebene Shared Memory Maximalwerte
SHMMAX | maximale Größe eines Shared Memory Segments, üblich sind 131072 Bytes
SHMMIN | minimale Größe eines Shared Memory Segments, üblich ist 1 Byte
SHMMNI | maximale Anzahl von Shared Memory Segmente auf dem System, üblich sind 100
SHMSEG | maximale Anzahl von Shared Memory Segmenten je Prozess, üblich sind 6

Die Funktionen zum Nachrichtenaustausch können genutzt werden um Nachrichten an andere Prozesse zu verschicken oder zu empfangen. Sie bieten einen einfachen und effektiven Weg zum Datenaustausch zwischen Prozessen ohne auf Alternativen wie Unix Domain Sockets zurückgreifen zu müssen.

Hinweis: Diese Erweiterung steht auf Windows-Betriebssystemen nicht zur Verfügung.

Semaphore
Installation/Konfiguration
Semaphore


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Semaphore


Installation

Die in diesem Abschnitt dokumentierten Funktionen sind in den Standardeinstellungen nicht aktiviert. Unterstützung für System V Semaphore kann durch kompilieren mit der Option --enable-sysvsem aktiviert werden. Unterstützung für System V Shared Memory kann durch kompilieren mit der Option --enable-sysvshm aktiviert werden. Unterstützung für System V Nachrichten kann durch kompilieren mit der Option --enable-sysvmsg aktiviert werden.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Semaphore Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
sysvshm.init_mem | 10000 | PHP_INI_SYSTEM |
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

sysvshm.init_mem int

Standardgröße eines Shared Memory Segments.

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

System V Nachrichten Konstanten
Konstante | Typ | unterstützt
MSG_IPC_NOWAIT | integer |
MSG_EAGAIN | integer | Ab 5.2.0
MSG_ENOMSG | integer | Ab 5.2.0
MSG_NOERROR | integer |
MSG_EXCEPT | integer |

Ressource-Typen
Semaphore Funktionen
Semaphore


Semaphore Funktionen

Inhaltsverzeichnis

  • ftok — Erzeugt aus einem Dateipfad und einem Projektbezeichner einen System V IPC Schlüssel
  • msg_get_queue — Message Queue anlegen oder an existierende Queue anbinden
  • msg_queue_exists — Check whether a message queue exists
  • msg_receive — Receive a message from a message queue
  • msg_remove_queue — Entfernt eine Message Queue
  • msg_send — Send a message to a message queue
  • msg_set_queue — Setzt Metadaten in derMessage Queue Datenstruktur
  • msg_stat_queue — Liefert Informationen zu einer Message Queue
  • sem_acquire — Zugriff auf Semaphor anfordern
  • sem_get — Zugriff auf ein Semaphor anfordern
  • sem_release — Semaphor freigeben
  • sem_remove — Semaphor entfernen
  • shm_attach — Shared Memory Segment anlegen oder anbinden
  • shm_detach — Anbindung an ein Shared Memory-Segment beenden
  • shm_get_var — Liest eine Variable aus dem Shared Memory
  • shm_has_var — Check whether a specific entry exists
  • shm_put_var — Aktualisiert eine Variable im Shared Memory
  • shm_remove_var — Entfernt eine Variable aus dem Shared Memory
  • shm_remove — Entfernt ein Shared Memory-Segment unter UNIX
Vordefinierte Konstanten
ftok
Semaphore


Erzeugt aus einem Dateipfad und einem Projektbezeichner einen System V IPC Schlüssel

Semaphore Funktionen
msg_get_queue
Semaphore Funktionen
PHP Manual

ftok

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

ftok — Erzeugt aus einem Dateipfad und einem Projektbezeichner einen System V IPC Schlüssel

Beschreibung

int ftok ( string $pathname , string $proj )

Diese Funktion erzeugt aus dem pathname einer existierenden Datei und einem Projektbezeichner proj einen Integer Schlüsselwert der von Funktionen wie shmop_open() und anderen als System V IPC Schlüssel genutzt werden kann.

Parameter-Liste

pathname

Pfad zu einer existierenden Datei.

proj

Einbuchstabige Projekt-ID

Rückgabewerte

Bei Erfolg wird der erzeugte Schlüssel zurückgegeben, im Fehlerfall ist der Rückgabewert stattdessen -1.

Siehe auch

  • shmop_open() - Erstellt oder öffnet einen gemeinsamen Speicherblock
  • sem_get() - Zugriff auf ein Semaphor anfordern

Semaphore Funktionen
msg_get_queue
Semaphore Funktionen


Message Queue anlegen oder an existierende Queue anbinden

ftok
msg_queue_exists
Semaphore Funktionen
PHP Manual

msg_get_queue

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

msg_get_queue — Message Queue anlegen oder an existierende Queue anbinden

Beschreibung

resource msg_get_queue ( int $key [, int $perms = 0666 ] )

msg_get_queue() gibt eine ID zurück die für den Zugriff auf die mit dem gegbenen key bezeichnete System V Message Queue genutzt werden kann. Existiert die Message Queue noch nicht so wird sie mit den im optionalen Parameter perms angegebenen Rechten angelegt. Ein weiterer Aufruf von msg_get_queue() mit dem gleichen key liefert eine andere ID, beide IDs greifen aber intern auf die gleiche Message Queue zu.

Parameter-Liste

key

Numerische ID der Message Queue.

perms

Zugriffsrechte der Queue. Vorgabewert ist 0666. Existiert die Message Queue bereits so wird dieser Parameter ignoriert.

Rückgabewerte

Liefert ein Resourcehandle für den Zugriff auf eine System V Message Queue.

Siehe auch

  • msg_remove_queue() - Entfernt eine Message Queue
  • msg_receive() - Receive a message from a message queue
  • msg_send() - Send a message to a message queue
  • msg_stat_queue() - Liefert Informationen zu einer Message Queue
  • msg_set_queue() - Setzt Metadaten in derMessage Queue Datenstruktur

ftok
msg_queue_exists
Semaphore Funktionen


Check whether a message queue exists

msg_get_queue
msg_receive
Semaphore Funktionen
PHP Manual

msg_queue_exists

(PHP 5 >= 5.3.0, PHP 7)

msg_queue_exists — Check whether a message queue exists

Beschreibung

bool msg_queue_exists ( int $key )

Checks whether the message queue key exists.

Parameter-Liste

key

Queue key.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • msg_remove_queue() - Entfernt eine Message Queue
  • msg_receive() - Receive a message from a message queue
  • msg_stat_queue() - Liefert Informationen zu einer Message Queue

msg_get_queue
msg_receive
Semaphore Funktionen


Receive a message from a message queue

msg_queue_exists
msg_remove_queue
Semaphore Funktionen
PHP Manual

msg_receive

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

msg_receive — Receive a message from a message queue

Beschreibung

bool msg_receive ( resource $queue , int $desiredmsgtype , int &$msgtype , int $maxsize , mixed &$message [, bool $unserialize = true [, int $flags = 0 [, int &$errorcode ]]] )

msg_receive() will receive the first message from the specified queue of the type specified by desiredmsgtype.

Parameter-Liste

queue

desiredmsgtype

If desiredmsgtype is 0, the message from the front of the queue is returned. If desiredmsgtype is greater than 0, then the first message of that type is returned. If desiredmsgtype is less than 0, the first message on the queue with the lowest type less than or equal to the absolute value of desiredmsgtype will be read. If no messages match the criteria, your script will wait until a suitable message arrives on the queue. You can prevent the script from blocking by specifying MSG_IPC_NOWAIT in the flags parameter.

msgtype

The type of the message that was received will be stored in this parameter.

maxsize

The maximum size of message to be accepted is specified by the maxsize; if the message in the queue is larger than this size the function will fail (unless you set flags as described below).

message

The received message will be stored in message, unless there were errors receiving the message.

unserialize

If set to TRUE, the message is treated as though it was serialized using the same mechanism as the session module. The message will be unserialized and then returned to your script. This allows you to easily receive arrays or complex object structures from other PHP scripts, or if you are using the WDDX serializer, from any WDDX compatible source.

If unserialize is FALSE, the message will be returned as a binary-safe string.

flags

The optional flags allows you to pass flags to the low-level msgrcv system call. It defaults to 0, but you may specify one or more of the following values (by adding or ORing them together).

Flag values for msg_receive
MSG_IPC_NOWAIT | If there are no messages of the desiredmsgtype, return immediately and do not wait. The function will fail and return an integer value corresponding to MSG_ENOMSG.
MSG_EXCEPT | Using this flag in combination with a desiredmsgtype greater than 0 will cause the function to receive the first message that is not equal to desiredmsgtype.
MSG_NOERROR | If the message is longer than maxsize, setting this flag will truncate the message to maxsize and will not signal an error.

errorcode

If the function fails, the optional errorcode will be set to the value of the system errno variable.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Upon successful completion the message queue data structure is updated as follows: msg_lrpid is set to the process-ID of the calling process, msg_qnum is decremented by 1 and msg_rtime is set to the current time.

Siehe auch

  • msg_remove_queue() - Entfernt eine Message Queue
  • msg_send() - Send a message to a message queue
  • msg_stat_queue() - Liefert Informationen zu einer Message Queue
  • msg_set_queue() - Setzt Metadaten in derMessage Queue Datenstruktur

msg_queue_exists
msg_remove_queue
Semaphore Funktionen


Entfernt eine Message Queue

msg_receive
msg_send
Semaphore Funktionen
PHP Manual

msg_remove_queue

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

msg_remove_queue — Entfernt eine Message Queue

Beschreibung

bool msg_remove_queue ( resource $queue )

msg_remove_queue() entfernt die mit queue angegebene Message Queue. Benutzen Sie diese Funktion nur wenn Sie nicht weiter mit dieser Message Queue arbeiten wollen und die davon belegten Systemresource freigeben müssen.

Parameter-Liste

queue

Message Queue Resourcehandle

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • msg_get_queue() - Message Queue anlegen oder an existierende Queue anbinden
  • msg_receive() - Receive a message from a message queue
  • msg_stat_queue() - Liefert Informationen zu einer Message Queue
  • msg_set_queue() - Setzt Metadaten in derMessage Queue Datenstruktur

msg_receive
msg_send
Semaphore Funktionen


Send a message to a message queue

msg_remove_queue
msg_set_queue
Semaphore Funktionen
PHP Manual

msg_send

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

msg_send — Send a message to a message queue

Beschreibung

bool msg_send ( resource $queue , int $msgtype , mixed $message [, bool $serialize = true [, bool $blocking = true [, int &$errorcode ]]] )

msg_send() sends a message of type msgtype (which MUST be greater than 0) to the message queue specified by queue.

Parameter-Liste

queue

msgtype

message

serialize

The optional serialize controls how the message is sent. serialize defaults to TRUE which means that the message is serialized using the same mechanism as the session module before being sent to the queue. This allows complex arrays and objects to be sent to other PHP scripts, or if you are using the WDDX serializer, to any WDDX compatible client.

blocking

If the message is too large to fit in the queue, your script will wait until another process reads messages from the queue and frees enough space for your message to be sent. This is called blocking; you can prevent blocking by setting the optional blocking parameter to FALSE, in which case msg_send() will immediately return FALSE if the message is too big for the queue, and set the optional errorcode to MSG_EAGAIN, indicating that you should try to send your message again a little later on.

errorcode

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Upon successful completion the message queue data structure is updated as follows: msg_lspid is set to the process-ID of the calling process, msg_qnum is incremented by 1 and msg_stime is set to the current time.

Siehe auch

  • msg_remove_queue() - Entfernt eine Message Queue
  • msg_receive() - Receive a message from a message queue
  • msg_stat_queue() - Liefert Informationen zu einer Message Queue
  • msg_set_queue() - Setzt Metadaten in derMessage Queue Datenstruktur

msg_remove_queue
msg_set_queue
Semaphore Funktionen


Setzt Metadaten in derMessage Queue Datenstruktur

msg_send
msg_stat_queue
Semaphore Funktionen
PHP Manual

msg_set_queue

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

msg_set_queue — Setzt Metadaten in derMessage Queue Datenstruktur

Beschreibung

bool msg_set_queue ( resource $queue , array $data )

msg_set_queue() erlaubt es die Werte der Felder msg_perm.uid, msg_perm.gid, msg_perm.mode und msg_qbytes in der Message Queue Datenstruktur zu ändern.

Änderungen an diesen Werten erfordern das PHP als derselbe User ausgeführt wird, Zugriffsrechte auf die Message Queue hat (wie in den existierenden msg_perm.xxx Feldern festgelegt) oder mit root Privilegien ausgeführt wird. Zur erhöhung des msg_qbytes Wertes über das systemweite Limit hinaus sind ebenfalls root Privilegien erforderlich.

Parameter-Liste

queue

Message Queue Resourcehandle

data

Die gewünschten neuen Werte werden als Schlüssel/Wert Paare im data Array übergeben.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • msg_remove_queue() - Entfernt eine Message Queue
  • msg_receive() - Receive a message from a message queue
  • msg_stat_queue() - Liefert Informationen zu einer Message Queue
  • msg_get_queue() - Message Queue anlegen oder an existierende Queue anbinden

msg_send
msg_stat_queue
Semaphore Funktionen


Liefert Informationen zu einer Message Queue

msg_set_queue
sem_acquire
Semaphore Funktionen
PHP Manual

msg_stat_queue

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

msg_stat_queue — Liefert Informationen zu einer Message Queue

Beschreibung

array msg_stat_queue ( resource $queue )

msg_stat_queue() liefert die Metadaten zu der mit queue angegebenen Message Queue. Diese Informationen können zB. genutzt werden um herauszufinden welcher Prozess eine gerade empfangene Nachricht gesendet hat.

Parameter-Liste

queue

Message Queue Resourcehandle

Rückgabewerte

Der Rückgabewert ist ein Array dessen Schlüssel und Werte die folgende Bedeutung haben:

Array-Struktur für msg_stat_queue
msg_perm.uid | Die User-ID des Besitzers der Queue.
msg_perm.gid | Die Gruppen-ID des Besitzers der Queue.
msg_perm.mode | Der Dateizugriffsmodus der Queue.
msg_stime | Der Zeitpunkt zu dem die letzte Nachricht an die Queue gesendet wurde.
msg_rtime | Der Zeitpunkt zu dem die letzte Nachricht von der Queue empfangen wurde.
msg_ctime | Der Zeitpunkt zu dem sich der Status der Queue zuletzt geändert hat.
msg_qnum | Die Anzahl der Nachrichten die sich zur Zeit noch in der Queue befinden.
msg_qbytes | Die maximale Anzahl von Bytes in einer Message Queue. Unter Linux kann dieser Wert über /proc/sys/kernel/msgmnb gelesen und verändert werden.
msg_lspid | Die Prozess-ID des Ansenders der letzten Nachricht.
msg_lrpid | Die Prozess-ID des Empfängers der letzten Nachricht.

Siehe auch

  • msg_remove_queue() - Entfernt eine Message Queue
  • msg_receive() - Receive a message from a message queue
  • msg_get_queue() - Message Queue anlegen oder an existierende Queue anbinden
  • msg_set_queue() - Setzt Metadaten in derMessage Queue Datenstruktur

msg_set_queue
sem_acquire
Semaphore Funktionen


Zugriff auf Semaphor anfordern

msg_stat_queue
sem_get
Semaphore Funktionen
PHP Manual

sem_acquire

(PHP 4, PHP 5, PHP 7)

sem_acquire — Zugriff auf Semaphor anfordern

Beschreibung

bool sem_acquire ( resource $sem_identifier [, bool $nowait = false ] )

Standardmäßig blockiert sem_acquire() (falls nötig) bis ein Zugriff auf den Semaphor möglich ist. Ein Prozess der Zugriff auf einen Semaphor anfordert auf den er bereits Zugriff hat wird für immer blockieren wenn dieser erneute Zugriff die maximalen Zugriffe auf diesen Semaphor überschreiten würde. sem_identifier ist eine von sem_get() gelieferte Semaphor-Resource.

Nach Abarbeitung eines requests werden alle noch vom Prozess gehaltenen Semaphore automatisch freigegeben und entsprechende Warnungen erzeugt.

Parameter-Liste

sem_identifier

sem_identifier ist ein von sem_get() geliefertes Resourcehandle

nowait

Gibt an, ob der Prozess nicht auf den Zugriff auf den Semaphor warten soll. Bei true wird der Aufruf unmittelbar false zurückgeben, wenn der Semaphor nicht sofort reserviert werden kann.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.6.1 | Der $nowait Parameter wurde hinzugefügt.

Siehe auch

  • sem_get() - Zugriff auf ein Semaphor anfordern
  • sem_release() - Semaphor freigeben

msg_stat_queue
sem_get
Semaphore Funktionen


Zugriff auf ein Semaphor anfordern

sem_acquire
sem_release
Semaphore Funktionen
PHP Manual

sem_get

(PHP 4, PHP 5, PHP 7)

sem_get — Zugriff auf ein Semaphor anfordern

Beschreibung

resource sem_get ( int $key [, int $max_acquire = 1 [, int $perm = 0666 [, int $auto_release = 1 ]]] )

sem_get() liefert eine ID die für den Zugriff auf das System V Semaphor mit dem gegebenen key benutzt werden kann.

Weitere Aufrufe von sem_get() für den gleichen Key liefern unterschiedliche Semaphor IDs, diese greifen aber auf den gleichen darunterliegenden Semaphor zu.

Parameter-Liste

key

max_acquire

Die Anzahl der Prozesse die gleichzeitig Zugriff auf den Semaphor erhalten können wird durch den Parameter max_acquire festgelegt

perm

Die Zugriffsrechte für den Semaphore. Der Wert wird nur gesetzt wenn der aktuelle Prozess der einzige ist der in diesem Augenblick mit dem Semaphor verknüpft ist.

auto_release

Legt fest ob der Semaphor am Skriptende automatisch freigegeben werden soll.

Rückgabewerte

Gibt einen positiven Semaphor Identifier zrück oder FALSE bei Fehlern.

Anmerkungen

Warnung

Wird sem_get() verwendet, um auf einen Semaphor zuzugreifen, der außerhalb von PHP erzeugt wurde, ist zu beachten, dass der Semaphor als ein Satz von 3 Semaphoren erzeugt wurde (zum Beispiel durch Angabe von 3 für den nsems Parameter beim Aufruf der C Funktion semget()); andernfalls wird PHP nicht in der Lage sein, auf den Semaphor zuzugreifen.

Siehe auch

  • sem_acquire() - Zugriff auf Semaphor anfordern
  • sem_release() - Semaphor freigeben
  • ftok() - Erzeugt aus einem Dateipfad und einem Projektbezeichner einen System V IPC Schlüssel

sem_acquire
sem_release
Semaphore Funktionen


Semaphor freigeben

sem_get
sem_remove
Semaphore Funktionen
PHP Manual

sem_release

(PHP 4, PHP 5, PHP 7)

sem_release — Semaphor freigeben

Beschreibung

bool sem_release ( resource $sem_identifier )

sem_release() gibt den angegebenen Semaphor frei, wenn er gegenwärtig vom aufrufenden Prozess gehalten wird; anderenfalls wird eine Warnung ausgegeben.

Nach der Freigabe eines Semaphors kann er mit sem_acquire() jederzeit wieder angefordert werden

Parameter-Liste

sem_identifier

Ein Semaphor-Ressourcehandle wie von sem_get() geliefert.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • sem_get() - Zugriff auf ein Semaphor anfordern
  • sem_acquire() - Zugriff auf Semaphor anfordern

sem_get
sem_remove
Semaphore Funktionen


Semaphor entfernen

sem_release
shm_attach
Semaphore Funktionen
PHP Manual

sem_remove

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

sem_remove — Semaphor entfernen

Beschreibung

bool sem_remove ( resource $sem_identifier )

sem_remove() entfernt einen mit sem_get() angelegten Semaphor.

Auf den Sempahor kann anschließend nicht mehr zugegriffen werden.

Parameter-Liste

sem_identifier

Ein Semaphor Resourcehandle wie von sem_get() zurückgegeben.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • sem_get() - Zugriff auf ein Semaphor anfordern
  • sem_release() - Semaphor freigeben
  • sem_acquire() - Zugriff auf Semaphor anfordern

sem_release
shm_attach
Semaphore Funktionen


Shared Memory Segment anlegen oder anbinden

sem_remove
shm_detach
Semaphore Funktionen
PHP Manual

shm_attach

(PHP 4, PHP 5, PHP 7)

shm_attach — Shared Memory Segment anlegen oder anbinden

Beschreibung

resource shm_attach ( int $key [, int $memsize [, int $perm = 0666 ]] )

shm_attach() liefert eine ID über die auf ein System V Shared Memory Segment mit dem gegebenen key zugegriffen werden kann. Der erste Zugriff auf ein noch nicht existierendes Segment legt dieses mit der Größe memsize und Zugriffsberechtigungen gemäß der in perm gesetzten Bits an.

Ein zweimaliger Aufruf der Funktion shm_attach() mit dem gleichen key liefert eine andere ID, über beide IDs wird aber trotzdem auf das gleiche Shared Memory Segment zugegriffen. memsize und perm werden in diesem Fall ignoriert.

Parameter-Liste

key

Eine numerische Shared Memory Segment Id.

memsize

Die Größe des Shared Memory Segments in Bytes. Wird dieser Parameter nicht übergeben so wird der Wert aus sysvshm.init_mem in php.ini angenommen. Ist auch dieser nicht gesetzt ist der Vorgabewert 10000 Bytes. bytes.

perm

Optionale Zugriffsrechte als Bitmaske, Default ist 0666.

Rückgabewerte

Liefert ein Shared Memory Resource Handle.

Changelog

Version | Beschreibung
5.3.0 | Diese Funktion gibt nun eine Ressource anstatt eines Integer zurück.

Anmerkungen

Hinweis:

Diese Funktion vor PHP 5.3.0 einen Integer-Wert zurück. Dieses Verhalten kann durch einen Cast auf Integer simuliert werden falls dies aus Portabilitätsgründen nötig sein sollte.

<?php
// Temporäre Datei erstellen und Dateipfad speichern
$tmp = tempnam('/tmp', 'PHP');

// Dateitoken-Schlüssel ermitteln
$key = ftok($tmp, 'a');

// SHM-Resource anbinden, beachten Sie den weiter unten folgenden Cast
$id = shm_attach($key);

if ($id === false) {
    die('SHM-Segment kann nicht erzeugt werden');
}

// Cast auf Integer, da vor PHP 5.3.0 die Resource-ID als
// Integer zurückgegeben wurde. Der Cast simuliert dieses
// Verhalten
$id = (integer) $id;
?>

Siehe auch

  • shm_detach() - Anbindung an ein Shared Memory-Segment beenden
  • ftok() - Erzeugt aus einem Dateipfad und einem Projektbezeichner einen System V IPC Schlüssel

sem_remove
shm_detach
Semaphore Funktionen


Anbindung an ein Shared Memory-Segment beenden

shm_attach
shm_get_var
Semaphore Funktionen
PHP Manual

shm_detach

(PHP 4, PHP 5, PHP 7)

shm_detach — Anbindung an ein Shared Memory-Segment beenden

Beschreibung

bool shm_detach ( resource $shm_identifier )

shm_detach() beendet die Anbindung an das in shm_identifier spezifizierte Shared Memory-Segment, das durch shm_attach() erstellt wurde. Beachten Sie, dass das Shared Memory-Segment weiterhin innerhalb des UNIX-Systems besteht und die enthaltenen Daten weiter vorhanden sind.

Parameter-Liste

shm_identifier

Ein Shared Memory-Ressourcehandle, wie es von shm_attach() zurückgegeben wird.

Rückgabewerte

shm_detach() gibt immer TRUE zurück.

Siehe auch

  • shm_attach() - Shared Memory Segment anlegen oder anbinden
  • shm_remove() - Entfernt ein Shared Memory-Segment unter UNIX
  • shm_remove_var() - Entfernt eine Variable aus dem Shared Memory

shm_attach
shm_get_var
Semaphore Funktionen


Liest eine Variable aus dem Shared Memory

shm_detach
shm_has_var
Semaphore Funktionen
PHP Manual

shm_get_var

(PHP 4, PHP 5, PHP 7)

shm_get_var — Liest eine Variable aus dem Shared Memory

Beschreibung

mixed shm_get_var ( resource $shm_identifier , int $variable_key )

shm_get_var() liest die Variable mit dem Key variable_key aus dem mit shm_identifier angegebenen Shared Memory Segment. Die Variable bleibt weiter im Shared Memory erhalten.

Parameter-Liste

shm_identifier

Ein Shared Memory Resource Handle wie von shm_attach() geliefert.

variable_key

Der Variablenschlüssel.

Rückgabewerte

Gibt die Variable mit dem gegebenen Schlüssel zurück.

shm_detach
shm_has_var
Semaphore Funktionen


Check whether a specific entry exists

shm_get_var
shm_put_var
Semaphore Funktionen
PHP Manual

shm_has_var

(PHP 5 >= 5.3.0, PHP 7)

shm_has_var — Check whether a specific entry exists

Beschreibung

bool shm_has_var ( resource $shm_identifier , int $variable_key )

Checks whether a specific key exists inside a shared memory segment.

Parameter-Liste

shm_identifier

Shared memory segment, obtained from shm_attach().

variable_key

The variable key.

Rückgabewerte

Returns TRUE if the entry exists, otherwise FALSE

Siehe auch

  • shm_get_var() - Liest eine Variable aus dem Shared Memory
  • shm_put_var() - Aktualisiert eine Variable im Shared Memory

shm_get_var
shm_put_var
Semaphore Funktionen


Aktualisiert eine Variable im Shared Memory

shm_has_var
shm_remove_var
Semaphore Funktionen
PHP Manual

shm_put_var

(PHP 4, PHP 5, PHP 7)

shm_put_var — Aktualisiert eine Variable im Shared Memory

Beschreibung

bool shm_put_var ( resource $shm_identifier , int $variable_key , mixed $variable )

shm_put_var() aktualisiert die Variable variable mit dem angegebenen variable_key oder fügt sie ein, sofern sie noch nicht vorhanden ist.

Warnungen (auf E_WARNING-Stufe) werden erzeugt, wenn shm_identifier kein gültiger SysV-Shared Memory-Index oder wenn nicht genügend Speicher im angegebenen Segment verfügbar ist.

Parameter-Liste

shm_identifier

Ein Shared Memory-Ressourcehandle, wie es von shm_attach() zurückgegeben wird.

variable_key

Der Variablenschlüssel.

variable

Die Variable. Alle Variablentypen werden unterstützt.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

shm_has_var
shm_remove_var
Semaphore Funktionen


Entfernt eine Variable aus dem Shared Memory

shm_put_var
shm_remove
Semaphore Funktionen
PHP Manual

shm_remove_var

(PHP 4, PHP 5, PHP 7)

shm_remove_var — Entfernt eine Variable aus dem Shared Memory

Beschreibung

bool shm_remove_var ( resource $shm_identifier , int $variable_key )

Entfernt die Variable mit dem angegebenen variable_key und gibt den davon belegten Speicher wieder frei.

Parameter-Liste

shm_identifier

Ein Shared Memory Resourcehandle wie von shm_attach() geliefert.

variable_key

Der Schlüssel der zu löschenden Variable.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • shm_remove() - Entfernt ein Shared Memory-Segment unter UNIX

shm_put_var
shm_remove
Semaphore Funktionen


Entfernt ein Shared Memory-Segment unter UNIX

shm_remove_var
Shared Memory
Semaphore Funktionen
PHP Manual

shm_remove

(PHP 4, PHP 5, PHP 7)

shm_remove — Entfernt ein Shared Memory-Segment unter UNIX

Beschreibung

bool shm_remove ( resource $shm_identifier )

shm_remove() entfernt das durch shm_identifier angegebene Shared Memory-Segment. Die in diesem Segment abgelegten Daten gehen dabei verloren.

Parameter-Liste

shm_identifier

Ein Shared Memory-Ressourcehandle, wie es von shm_attach() zurückgegeben wird.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • shm_remove_var() - Entfernt eine Variable aus dem Shared Memory

shm_remove_var
Shared Memory
Semaphore Funktionen


Shared Memory

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • Grundlegende Nutzung
  • Shared Memory Funktionen
    • shmop_close — Schließt einen gemeinsamen Speicherblock
    • shmop_delete — Einen gemeinsamen Speicherblock löschen
    • shmop_open — Erstellt oder öffnet einen gemeinsamen Speicherblock
    • shmop_read — Liest Daten aus einem gemeinsam genutzten Speicherbereich
    • shmop_size — Gibt die Größe des gemeinsamen Speicherblocks zurück
    • shmop_write — Schreibt Daten in einen gemeinsamen Speicherblock
shm_remove
Einführung
Erweiterungen zur Prozesskontrolle


Einführung

Shmop ist eine Sammlung einfach anzuwendender PHP-Funktionen, mit denen man mit PHP UNIX shared-memory-Segmente beschreiben, auslesen und löschen kann.

Hinweis: Ältere Windows-Versionen vor Windows 2000 unterstützen keinen gemeinsamen Speicher.

Hinweis: Die Funktionen, die in diesem Kapitel erklärt werden, beginnen in PHP 4.0.3 alle mit shm, anstelle von shmop.

Shared Memory
Installation/Konfiguration
Shared Memory


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Shared Memory


Installation

Um die shmop-Erweiterung zu benutzen, müssen Sie PHP mit der Option --enable-shmop kompilieren.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
Beispiele
Shared Memory


Beispiele

Inhaltsverzeichnis

  • Grundlegende Nutzung
Vordefinierte Konstanten
Grundlegende Nutzung
Shared Memory


Grundlegende Nutzung

Beispiel #1 Shared Memory Operationen - Übersicht

<?php

// Erstelle einen 100 Byte großen gemeinsam genutzten Speicherblock
// mit der System_ID if 0xff3
$shm_id = shmop_open(0xff3, "c", 0644, 100);
if (!$shm_id) {
    echo "Konnte kein gemeinsames Speichersegment erstellen\n";
}

// Hole die Größe des gemeinsamen Speicherblocks
$shm_size = shmop_size($shm_id);
echo "SHM Block mit: ".$shm_size. " Bytes wurde erstellt.\n";

// Teststring in den gemeinsamen Speicher schreiben
$shm_bytes_written = shmop_write($shm_id, "mein gemeinsamer Speicherblock", 0);
if ($shm_bytes_written != strlen("mein gemeinsamer Speicherblock")) {
    echo "Konnte nicht den gesamten String schreiben\n";
}

// Den Teststring wieder auslesen
$my_string = shmop_read($shm_id, 0, $shm_size);
if (!$my_string) {
    echo "Konnte nicht aus dem gemeinsamen Speicher lesen\n";
}
echo "Die Daten im gemeinsamen Speicher waren: ".$my_string."\n";

// Den Speicherblock löschen und das Speichersegment schließ?en
if(!shmop_delete($shm_id)) {
    echo "Konnte den gemeinsamen Speicherblock nicht zum Löschen markieren.";
}
shmop_close($shm_id);

?>

Beispiele
Shared Memory Funktionen
Beispiele


Shared Memory Funktionen

Inhaltsverzeichnis

  • shmop_close — Schließt einen gemeinsamen Speicherblock
  • shmop_delete — Einen gemeinsamen Speicherblock löschen
  • shmop_open — Erstellt oder öffnet einen gemeinsamen Speicherblock
  • shmop_read — Liest Daten aus einem gemeinsam genutzten Speicherbereich
  • shmop_size — Gibt die Größe des gemeinsamen Speicherblocks zurück
  • shmop_write — Schreibt Daten in einen gemeinsamen Speicherblock
Grundlegende Nutzung
shmop_close
Shared Memory


Schließt einen gemeinsamen Speicherblock

Shared Memory Funktionen
shmop_delete
Shared Memory Funktionen
PHP Manual

shmop_close

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

shmop_close — Schließt einen gemeinsamen Speicherblock

Beschreibung

void shmop_close ( int $shmid )

shmop_close() wird benutzt, um einen gemeinsamen Speicherblock zu schließen.

Parameter-Liste

shmid

Der Bezeichner für den gemeinsamen Speicherblock, der von shmop_open() erzeugt wurde.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Einen gemeinsamen Speicherblock schließen

<?php
shmop_close($shm_id);
?>

In diesem Beispiel wird der gemeinsame Speicherblock $shm_id wieder geschlossen.

Siehe auch

  • shmop_open() - Erstellt oder öffnet einen gemeinsamen Speicherblock

Shared Memory Funktionen
shmop_delete
Shared Memory Funktionen


Einen gemeinsamen Speicherblock löschen

shmop_close
shmop_open
Shared Memory Funktionen
PHP Manual

shmop_delete

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

shmop_delete — Einen gemeinsamen Speicherblock löschen

Beschreibung

bool shmop_delete ( int $shmid )

shmop_delete() wird benutzt, um einen gemeinsamen Speicherbereich zu löschen.

Parameter-Liste

shmid

Der Bezeichner für den gemeinsamen Speicherblock, der von shmop_open() erzeugt wurde.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Einen gemeinsamen Speicherblock löschen

<?php
shmop_delete($shm_id);
?>

In diesem Beispiel wird der gemeinsame Speicherblock mit der Kennung $shm_id gelöscht.

shmop_close
shmop_open
Shared Memory Funktionen


Erstellt oder öffnet einen gemeinsamen Speicherblock

shmop_delete
shmop_read
Shared Memory Funktionen
PHP Manual

shmop_open

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

shmop_open — Erstellt oder öffnet einen gemeinsamen Speicherblock

Beschreibung

int shmop_open ( int $key , string $flags , int $mode , int $size )

shmop_open() Kann einen gemeinsamen Speicherbereich erstellen oder öffnen.

Parameter-Liste

key

Die System-ID des gemeinsam genutzten Speicherblocks, dieser Parameter kann als Dezimal- oder Hexadezimalzahl übergeben werden.

flags

Folgende Flags können benutzt werden:

  • "a" zum Zugriff (access) auf einen gemeinsamen Speicherblock (setzt SHM_RDONLY für shmat). Benutzen Sie dieses Flag, wenn Sie einen bestehenden gemeinsamen Speicherblock nur zum Lesen öffnen wollen.
  • "c" zum Erzeugen (create) eines gemeinsamen Speicherblocks (setzt IPC_CREATE). Benutzen Sie dieses Flag, wenn Sie einen neuen gemeinsamen Speicherblock erzeugen wollen oder, falls bereits ein Segment mit derselben ID existiert, zum Öffnen dieses Segments für Lese- und Schreibzugriffe.
  • "w" für Lese- und Schreibzugriffe. Benutzen Sie dieses Flag wenn Sie in einen gemeinsamen Speicherbereich schreiben oder daraus lesen müssen. Das wird meistens der Fall sein.
  • "n" zum Erzeugen eines neuen gemeinsamen Speichersegments (setzt IPC_CREATE|IPC_EXCL). Benutzen Sie dieses Flag, wenn Sie ein neues gemeinsames Speichersegment erzeugen wollen. Falls schon ein Segment mit diesem Flag existiert, schlägt die Funktion fehl. Dies ist aus Sicherheitsgründen nützlich, denn damit können Sie vermeiden, dass konkurrierende Prozesse ausgenutzt werden.

mode

Die Zugriffsberechtigungen für die gemeinsamen Speichersegmente sind dieselben wie für Dateien. Diese Berechtigungen müssen als Oktalwerte übergeben werden, zum Beispiel 0644.

size

Die Größe des erzeugten gemeinsam genutzten Speicherbereichs in Byte.

Hinweis:

Beachten Sie: der dritte und vierte Parameter sollten mit 0 angegeben sein, falls Sie einen bereits existierenden Speicherbereich öffnen.

Rückgabewerte

Bei Erfolg liefert die Funktion shmop_open() eine ID zurück, die Sie zum Zugriff auf den erstellten gemeinsamen Speicher benutzen können. Bei einem Fehler wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Einen neuen gemeinsamen Speicherblock erstellen

<?php
$shm_key = ftok(__FILE__, 't');
$shm_id = shmop_open($shm_key, "c", 0644, 100);
?>

In diesem Beispiel wurde ein gemeinsamer Speicherblock geöffnet. Die System-ID wurde von der Funktion ftok() zurückgegeben.

Siehe auch

  • shmop_close() - Schließt einen gemeinsamen Speicherblock
  • shmop_delete() - Einen gemeinsamen Speicherblock löschen

shmop_delete
shmop_read
Shared Memory Funktionen


Liest Daten aus einem gemeinsam genutzten Speicherbereich

shmop_open
shmop_size
Shared Memory Funktionen
PHP Manual

shmop_read

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

shmop_read — Liest Daten aus einem gemeinsam genutzten Speicherbereich

Beschreibung

string shmop_read ( int $shmid , int $start , int $count )

shmop_read() liest einen String aus einem gemeinsam genutzten Speicherblock.

Parameter-Liste

shmid

Der Bezeichner für den gemeinsamen Speicherblock, der von shmop_open() erzeugt wurde.

start

Offset, bei dem der Lesevorgang beginnen soll

count

Die Anzahl der zu lesenden Bytes

Rückgabewerte

Gibt die gelesenen Daten zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Aus dem gemeinsamen Speicher lesen

<?php
$shm_data = shmop_read($shm_id, 0, 50);
?>

In diesem Beispiel werden 50 Bytes aus dem gemeinsamen Speicherblock in die Variable $shm_data eingelesen.

Siehe auch

  • shmop_write() - Schreibt Daten in einen gemeinsamen Speicherblock

shmop_open
shmop_size
Shared Memory Funktionen


Gibt die Größe des gemeinsamen Speicherblocks zurück

shmop_read
shmop_write
Shared Memory Funktionen
PHP Manual

shmop_size

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

shmop_size — Gibt die Größe des gemeinsamen Speicherblocks zurück

Beschreibung

int shmop_size ( int $shmid )

shmop_size() wird benutzt, um die Größe eines gemeinsamen Speicherblocks in Byte zu ermitteln.

Parameter-Liste

shmid

Der Bezeichner des gemeinsamen Speicherblocks, der von shmop_open() erzeugt wurde.

Rückgabewerte

Zurückgegeben wird ein Integerwert der angibt, wie viele Bytes von dem gemeinsamen Speicher belegt werden.

Beispiele

Beispiel #1 Die Größe des gemeinsamen Speicherbereichs ermitteln

<?php
$shm_size = shmop_size($shm_id);
?>

In dem Beispiel erhält die Variable $shm_size die Größe des durch $shm_id bezeichneten gemeinsamen Speicherblocks in Byte.

shmop_read
shmop_write
Shared Memory Funktionen


Schreibt Daten in einen gemeinsamen Speicherblock

shmop_size
Sync
Shared Memory Funktionen
PHP Manual

shmop_write

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

shmop_write — Schreibt Daten in einen gemeinsamen Speicherblock

Beschreibung

int shmop_write ( int $shmid , string $data , int $offset )

shmop_write() schreibt Daten in einen gemeinsamen Speicherbereich.

Parameter-Liste

shmid

Der Bezeichner für den gemeinsamen Speicherblock, der von shmop_open() erzeugt wurde.

data

Ein String, der in den gemeinsamen Speicher geschrieben werden soll.

offset

Gibt an, von welcher Position ab Daten in den gemeinsamen Speicherbereich geschrieben werden sollen.

Rückgabewerte

Die Länge der geschriebenen Daten data, oder FALSE falls ein Fehler auftrat.

Beispiele

Beispiel #1 In den gemeinsamen Speicher schreiben

<?php
$shm_bytes_written = shmop_write($shm_id, $my_string, 0);
?>

In diesem Beispiel werden die Daten der Variablen $my_string in den gemeinsamen Speicherblock geschrieben. Die Variable $shm_bytes_written enthält die Anzahl der geschriebenen Bytes.

Siehe auch

  • shmop_read() - Liest Daten aus einem gemeinsam genutzten Speicherbereich

shmop_size
Sync
Shared Memory Funktionen


Sync

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • SyncMutex — The SyncMutex class
    • SyncMutex::__construct — Constructs a new SyncMutex object
    • SyncMutex::lock — Waits for an exclusive lock
    • SyncMutex::unlock — Unlocks the mutex
  • SyncSemaphore — The SyncSemaphore class
    • SyncSemaphore::__construct — Constructs a new SyncSemaphore object
    • SyncSemaphore::lock — Decreases the count of the semaphore or waits
    • SyncSemaphore::unlock — Increases the count of the semaphore
  • SyncEvent — The SyncEvent class
    • SyncEvent::__construct — Constructs a new SyncEvent object
    • SyncEvent::fire — Fires/sets the event
    • SyncEvent::reset — Resets a manual event
    • SyncEvent::wait — Waits for the event to be fired/set
  • SyncReaderWriter — The SyncReaderWriter class
    • SyncReaderWriter::__construct — Constructs a new SyncReaderWriter object
    • SyncReaderWriter::readlock — Waits for a read lock
    • SyncReaderWriter::readunlock — Releases a read lock
    • SyncReaderWriter::writelock — Waits for an exclusive write lock
    • SyncReaderWriter::writeunlock — Releases a write lock
  • SyncSharedMemory — The SyncSharedMemory class
    • SyncSharedMemory::__construct — Constructs a new SyncSharedMemory object
    • SyncSharedMemory::first — Check to see if the object is the first instance system-wide of named shared memory
    • SyncSharedMemory::read — Copy data from named shared memory
    • SyncSharedMemory::size — Returns the size of the named shared memory
    • SyncSharedMemory::write — Copy data to named shared memory
shmop_write
Einführung
Erweiterungen zur Prozesskontrolle


Einführung

The 'sync' extension introduces cross-platform synchonization objects into PHP. Named and unnamed Mutex, Semaphore, Event, Reader-Writer, and named Shared Memory objects provide OS-level synchronization on both POSIX (e.g. Linux) and Windows platforms.

Automatic cleanup of acquired synchronization objects takes place during extension teardown. This means that if PHP prematurely terminates a script (e.g. script execution time is exceeded), objects will not be left in an unknown state. The only exception to this is if PHP itself crashes (e.g. an internal buffer overflow).

Unnamed synchronization objects don't have a lot of use outside of a multithreaded scenario. Unnamed objects are more useful in conjunction with the pthreads PECL extension.

Hinweis:

Named objects require additional care to be used on all systems. If an object is instantiated with a specific set of parameters, it must always be instantiated with those parameters or the object will probably end up in an inconsistent state until the next reboot or a system administrator cleans up the mess.

Sync
Installation/Konfiguration
Sync


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Sync


Anforderungen

A system with support for POSIX shared memory (shm_open()) or running Windows.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/sync.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
SyncMutex
Sync


The SyncMutex class

(PECL sync >= 1.0.0)

Einführung

A cross-platform, native implementation of named and unnamed countable mutex objects.

A mutex is a mutual exclusion object that restricts access to a shared resource (e.g. a file) to a single instance. Countable mutexes acquire the mutex a single time and internally track the number of times the mutex is locked. The mutex is unlocked as soon as it goes out of scope or is unlocked the same number of times that it was locked.

Klassenbeschreibung

SyncMutex {
/* Methoden */
public __construct ([ string $name ] )
public bool lock ([ integer $wait = -1 ] )
public bool unlock ([ bool $all = false ] )
}

Inhaltsverzeichnis

  • SyncMutex::__construct — Constructs a new SyncMutex object
  • SyncMutex::lock — Waits for an exclusive lock
  • SyncMutex::unlock — Unlocks the mutex
Vordefinierte Konstanten
SyncMutex::__construct
Sync


Constructs a new SyncMutex object

SyncMutex
SyncMutex::lock
SyncMutex
PHP Manual

SyncMutex::__construct

(PECL sync >= 1.0.0)

SyncMutex::__construct — Constructs a new SyncMutex object

Beschreibung

public SyncMutex::__construct ([ string $name ] )

Constructs a named or unnamed countable mutex.

Parameter-Liste

name

The name of the mutex if this is a named mutex object.

Hinweis:

If the name already exists, it must be able to be opened by the current user that the process is running as or an exception will be thrown with a meaningless error message.

Rückgabewerte

The new SyncMutex object. An exception is thrown if the mutex cannot be created or opened.

Beispiele

Beispiel #1 SyncMutex::__construct() named mutex with lock timeout example

<?php
$mutex = new SyncMutex("UniqueName");

if (!$mutex->lock(3000))
{
    echo "Unable to lock mutex.";

    exit();
}

/* ... */

$mutex->unlock();
?>

Beispiel #2 SyncMutex::__construct() unnamed mutex example

<?php
$mutex = new SyncMutex();

$mutex->lock();

/* ... */

$mutex->unlock();
?>

Siehe auch

  • SyncMutex::lock() - Waits for an exclusive lock
  • SyncMutex::unlock() - Unlocks the mutex
SyncMutex
SyncMutex::lock
SyncMutex


Waits for an exclusive lock

SyncMutex::__construct
SyncMutex::unlock
SyncMutex
PHP Manual

SyncMutex::lock

(PECL sync >= 1.0.0)

SyncMutex::lock — Waits for an exclusive lock

Beschreibung

public bool SyncMutex::lock ([ integer $wait = -1 ] )

Obtains an exclusive lock on a SyncMutex object. If the lock is already acquired, then this increments an internal counter.

Parameter-Liste

wait

The number of milliseconds to wait for the exclusive lock. A value of -1 is infinite.

Rückgabewerte

A boolean of TRUE if the lock was obtained, FALSE otherwise.

Beispiele

Beispiel #1 SyncMutex::lock() example

<?php
$mutex = new SyncMutex("UniqueName");

if (!$mutex->lock(3000))
{
    echo "Unable to lock mutex.";

    exit();
}

/* ... */

$mutex->unlock();
?>

Siehe auch

  • SyncMutex::unlock() - Unlocks the mutex
SyncMutex::__construct
SyncMutex::unlock
SyncMutex


Unlocks the mutex

SyncMutex::lock
SyncSemaphore
SyncMutex
PHP Manual

SyncMutex::unlock

(PECL sync >= 1.0.0)

SyncMutex::unlock — Unlocks the mutex

Beschreibung

public bool SyncMutex::unlock ([ bool $all = false ] )

Decreases the internal counter of a SyncMutex object. When the internal counter reaches zero, the actual lock on the object is released.

Parameter-Liste

all

Specifies whether or not to set the internal counter to zero and therefore release the lock.

Rückgabewerte

A boolean of TRUE if the unlock operation was successful, FALSE otherwise.

Beispiele

Beispiel #1 SyncMutex::unlock() example

<?php
$mutex = new SyncMutex("UniqueName");

$mutex->lock();

/* ... */

$mutex->unlock();
?>

Siehe auch

  • SyncMutex::lock() - Waits for an exclusive lock
SyncMutex::lock
SyncSemaphore
SyncMutex


The SyncSemaphore class

(PECL sync >= 1.0.0)

Einführung

A cross-platform, native implementation of named and unnamed sempahore objects.

A semaphore restricts access to a limited resource to a limited number of instances. Semaphores differ from mutexes in that they can allow more than one instance to access a resource at one time while a mutex only allows one instance at a time.

Klassenbeschreibung

SyncSemaphore {
/* Methoden */
public __construct ([ string $name [, integer $initialval = 1 [, bool $autounlock = true ]]] )
public bool lock ([ integer $wait = -1 ] )
public bool unlock ([ integer &$prevcount ] )
}

Inhaltsverzeichnis

  • SyncSemaphore::__construct — Constructs a new SyncSemaphore object
  • SyncSemaphore::lock — Decreases the count of the semaphore or waits
  • SyncSemaphore::unlock — Increases the count of the semaphore
SyncMutex::unlock
SyncSemaphore::__construct
Sync


Constructs a new SyncSemaphore object

SyncSemaphore
SyncSemaphore::lock
SyncSemaphore
PHP Manual

SyncSemaphore::__construct

(PECL sync >= 1.0.0)

SyncSemaphore::__construct — Constructs a new SyncSemaphore object

Beschreibung

public SyncSemaphore::__construct ([ string $name [, integer $initialval = 1 [, bool $autounlock = true ]]] )

Constructs a named or unnamed semaphore.

Parameter-Liste

name

The name of the semaphore if this is a named semaphore object.

Hinweis:

If the name already exists, it must be able to be opened by the current user that the process is running as or an exception will be thrown with a meaningless error message.

initialval

The initial value of the semaphore. This is the number of locks that may be obtained.

autounlock

Specifies whether or not to automatically unlock the semaphore at the conclusion of the PHP script.

Warnung

If an object is: A named semaphore with an autounlock of FALSE, the object is locked, and the PHP script concludes before the object is unlocked, then the underlying semaphore will end up in an inconsistent state.

Rückgabewerte

The new SyncSemaphore object. An exception is thrown if the semaphore cannot be created or opened.

Beispiele

Beispiel #1 SyncSemaphore::__construct() example

<?php
$semaphore = new SyncSemaphore("LimitedResource_2clients", 2);

if (!$semaphore->lock(3000))
{
    echo "Unable to lock semaphore.";

    exit();
}

/* ... */

$semaphore->unlock();
?>

Siehe auch

  • SyncSemaphore::lock() - Decreases the count of the semaphore or waits
  • SyncSemaphore::unlock() - Increases the count of the semaphore
SyncSemaphore
SyncSemaphore::lock
SyncSemaphore


Decreases the count of the semaphore or waits

SyncSemaphore::__construct
SyncSemaphore::unlock
SyncSemaphore
PHP Manual

SyncSemaphore::lock

(PECL sync >= 1.0.0)

SyncSemaphore::lock — Decreases the count of the semaphore or waits

Beschreibung

public bool SyncSemaphore::lock ([ integer $wait = -1 ] )

Decreases the count of a SyncSemaphore object or waits until the semaphore becomes non-zero.

Parameter-Liste

wait

The number of milliseconds to wait for the semaphore. A value of -1 is infinite.

Rückgabewerte

A boolean of TRUE if the lock operation was successful, FALSE otherwise.

Beispiele

Beispiel #1 SyncSemaphore::lock() example

<?php
$semaphore = new SyncSemaphore("LimitedResource_2clients", 2);

if (!$semaphore->lock(3000))
{
    echo "Unable to lock semaphore.";

    exit();
}

/* ... */

$semaphore->unlock();
?>

Siehe auch

  • SyncSemaphore::unlock() - Increases the count of the semaphore
SyncSemaphore::__construct
SyncSemaphore::unlock
SyncSemaphore


Increases the count of the semaphore

SyncSemaphore::lock
SyncEvent
SyncSemaphore
PHP Manual

SyncSemaphore::unlock

(PECL sync >= 1.0.0)

SyncSemaphore::unlock — Increases the count of the semaphore

Beschreibung

public bool SyncSemaphore::unlock ([ integer &$prevcount ] )

Increases the count of a SyncSemaphore object.

Parameter-Liste

prevcount

Returns the previous count of the semaphore.

Rückgabewerte

A boolean of TRUE if the unlock operation was successful, FALSE otherwise.

Beispiele

Beispiel #1 SyncSemaphore::unlock() example

<?php
$semaphore = new SyncSemaphore("LimitedResource_2clients", 2);

if (!$semaphore->lock(3000))
{
    echo "Unable to lock semaphore.";

    exit();
}

/* ... */

$semaphore->unlock();
?>

Siehe auch

  • SyncSemaphore::lock() - Decreases the count of the semaphore or waits
SyncSemaphore::lock
SyncEvent
SyncSemaphore


The SyncEvent class

(PECL sync >= 1.0.0)

Einführung

A cross-platform, native implementation of named and unnamed event objects. Both automatic and manual event objects are supported.

An event object waits, without polling, for the object to be fired/set. One instance waits on the event object while another instance fires/sets the event. Event objects are useful wherever a long-running process would otherwise poll a resource (e.g. checking to see if uploaded data needs to be processed).

Klassenbeschreibung

SyncEvent {
/* Methoden */
public __construct ([ string $name [, bool $manual = false [, bool $prefire = false ]]] )
public bool fire ( void )
public bool reset ( void )
public bool wait ([ integer $wait = -1 ] )
}

Inhaltsverzeichnis

  • SyncEvent::__construct — Constructs a new SyncEvent object
  • SyncEvent::fire — Fires/sets the event
  • SyncEvent::reset — Resets a manual event
  • SyncEvent::wait — Waits for the event to be fired/set
SyncSemaphore::unlock
SyncEvent::__construct
Sync


Constructs a new SyncEvent object

SyncEvent
SyncEvent::fire
SyncEvent
PHP Manual

SyncEvent::__construct

(PECL sync >= 1.0.0)

SyncEvent::__construct — Constructs a new SyncEvent object

Beschreibung

public SyncEvent::__construct ([ string $name [, bool $manual = false [, bool $prefire = false ]]] )

Constructs a named or unnamed event object.

Parameter-Liste

name

The name of the event if this is a named event object.

Hinweis:

If the name already exists, it must be able to be opened by the current user that the process is running as or an exception will be thrown with a meaningless error message.

manual

Specifies whether or not the event object must be reset manually.

Hinweis:

Manual reset event objects allow all waiting processes through until the object is reset.

prefire

Specifies whether or not to prefire (signal) the event object.

Hinweis:

Only has impact if the calling process/thread is the first to create the object.

Rückgabewerte

The new SyncEvent object. An exception is thrown if the event object cannot be created or opened.

Beispiele

Beispiel #1 SyncEvent::__construct() example

<?php
// In a web application:
$event = new SyncEvent("GetAppReport");
$event->fire();

// In a cron job:
$event = new SyncEvent("GetAppReport");
$event->wait();
?>

Changelog

Version | Beschreibung
1.1.0 | Added prefire.

Siehe auch

  • SyncEvent::fire() - Fires/sets the event
  • SyncEvent::reset() - Resets a manual event
  • SyncEvent::wait() - Waits for the event to be fired/set
SyncEvent
SyncEvent::fire
SyncEvent


Fires/sets the event

SyncEvent::__construct
SyncEvent::reset
SyncEvent
PHP Manual

SyncEvent::fire

(PECL sync >= 1.0.0)

SyncEvent::fire — Fires/sets the event

Beschreibung

public bool SyncEvent::fire ( void )

Fires/sets a SyncEvent object. Lets multiple threads through that are waiting if the event object was created with a manual value of TRUE.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A boolean of TRUE if the event was fired, FALSE otherwise.

Beispiele

Beispiel #1 SyncEvent::fire() example

<?php
// In a web application:
$event = new SyncEvent("GetAppReport");
$event->fire();

// In a cron job:
$event = new SyncEvent("GetAppReport");
$event->wait();
?>

Siehe auch

  • SyncEvent::reset() - Resets a manual event
  • SyncEvent::wait() - Waits for the event to be fired/set
SyncEvent::__construct
SyncEvent::reset
SyncEvent


Resets a manual event

SyncEvent::fire
SyncEvent::wait
SyncEvent
PHP Manual

SyncEvent::reset

(PECL sync >= 1.0.0)

SyncEvent::reset — Resets a manual event

Beschreibung

public bool SyncEvent::reset ( void )

Resets a SyncEvent object that has been fired/set. Only valid for manual event objects.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A boolean value of TRUE if the object was successfully reset, FALSE otherwise.

Beispiele

Beispiel #1 SyncEvent::reset() example

<?php
// In a web application:
$event = new SyncEvent("DemoApplication", true);
$event->wait();

// In a cron job:
$event = new SyncEvent("DemoApplication", true);
$event->reset();
/* ... Do some maintenance task(s) ... */
$event->fire();
?>

Siehe auch

  • SyncEvent::fire() - Fires/sets the event
  • SyncEvent::reset()
  • SyncEvent::wait() - Waits for the event to be fired/set
SyncEvent::fire
SyncEvent::wait
SyncEvent


Waits for the event to be fired/set

SyncEvent::reset
SyncReaderWriter
SyncEvent
PHP Manual

SyncEvent::wait

(PECL sync >= 1.0.0)

SyncEvent::wait — Waits for the event to be fired/set

Beschreibung

public bool SyncEvent::wait ([ integer $wait = -1 ] )

Waits for the SyncEvent object to be fired.

Parameter-Liste

wait

The number of milliseconds to wait for the event to be fired. A value of -1 is infinite.

Rückgabewerte

A boolean of TRUE if the event was fired, FALSE otherwise.

Beispiele

Beispiel #1 SyncEvent::wait() example

<?php
// In a web application:
$event = new SyncEvent("GetAppReport");
$event->fire();

// In a cron job:
$event = new SyncEvent("GetAppReport");
$event->wait();
?>

Siehe auch

  • SyncEvent::fire() - Fires/sets the event
SyncEvent::reset
SyncReaderWriter
SyncEvent


The SyncReaderWriter class

(PECL sync >= 1.0.0)

Einführung

A cross-platform, native implementation of named and unnamed reader-writer objects.

A reader-writer object allows many readers or one writer to access a resource. This is an efficient solution for managing resources where access will primarily be read-only but exclusive write access is occasionally necessary.

Klassenbeschreibung

SyncReaderWriter {
/* Methoden */
public __construct ([ string $name [, bool $autounlock = true ]] )
public bool readlock ([ integer $wait = -1 ] )
public bool readunlock ( void )
public bool writelock ([ integer $wait = -1 ] )
public bool writeunlock ( void )
}

Inhaltsverzeichnis

  • SyncReaderWriter::__construct — Constructs a new SyncReaderWriter object
  • SyncReaderWriter::readlock — Waits for a read lock
  • SyncReaderWriter::readunlock — Releases a read lock
  • SyncReaderWriter::writelock — Waits for an exclusive write lock
  • SyncReaderWriter::writeunlock — Releases a write lock
SyncEvent::wait
SyncReaderWriter::__construct
Sync


Constructs a new SyncReaderWriter object

SyncReaderWriter
SyncReaderWriter::readlock
SyncReaderWriter
PHP Manual

SyncReaderWriter::__construct

(PECL sync >= 1.0.0)

SyncReaderWriter::__construct — Constructs a new SyncReaderWriter object

Beschreibung

public SyncReaderWriter::__construct ([ string $name [, bool $autounlock = true ]] )

Constructs a named or unnamed reader-writer object.

Parameter-Liste

name

The name of the reader-writer if this is a named reader-writer object.

Hinweis:

If the name already exists, it must be able to be opened by the current user that the process is running as or an exception will be thrown with a meaningless error message.

autounlock

Specifies whether or not to automatically unlock the reader-writer at the conclusion of the PHP script.

Warnung

If an object is: A named reader-writer with an autounlock of FALSE, the object is locked for either reading or writing, and the PHP script concludes before the object is unlocked, then the underlying objects will end up in an inconsistent state.

Rückgabewerte

The new SyncReaderWriter object. An exception is thrown if the reader-writer cannot be created or opened.

Beispiele

Beispiel #1 SyncReaderWriter::__construct() example

<?php
$readwrite = new SyncReaderWriter("FileCacheLock");
$readwrite->readlock();
/* ... */
$readwrite->readunlock();

$readwrite->writelock();
/* ... */
$readwrite->writeunlock();
?>

Siehe auch

  • SyncReaderWriter::readlock() - Waits for a read lock
  • SyncReaderWriter::readunlock() - Releases a read lock
  • SyncReaderWriter::writelock() - Waits for an exclusive write lock
  • SyncReaderWriter::writeunlock() - Releases a write lock
SyncReaderWriter
SyncReaderWriter::readlock
SyncReaderWriter


Waits for a read lock

SyncReaderWriter::__construct
SyncReaderWriter::readunlock
SyncReaderWriter
PHP Manual

SyncReaderWriter::readlock

(PECL sync >= 1.0.0)

SyncReaderWriter::readlock — Waits for a read lock

Beschreibung

public bool SyncReaderWriter::readlock ([ integer $wait = -1 ] )

Obtains a read lock on a SyncReaderWriter object.

Parameter-Liste

wait

The number of milliseconds to wait for a lock. A value of -1 is infinite.

Rückgabewerte

A boolean of TRUE if the lock was obtained, FALSE otherwise.

Beispiele

Beispiel #1 SyncReaderWriter::readlock() example

<?php
$readwrite = new SyncReaderWriter("FileCacheLock");
$readwrite->readlock();
/* ... */
$readwrite->readunlock();
?>

Siehe auch

  • SyncReaderWriter::readunlock() - Releases a read lock
SyncReaderWriter::__construct
SyncReaderWriter::readunlock
SyncReaderWriter


Releases a read lock

SyncReaderWriter::readlock
SyncReaderWriter::writelock
SyncReaderWriter
PHP Manual

SyncReaderWriter::readunlock

(PECL sync >= 1.0.0)

SyncReaderWriter::readunlock — Releases a read lock

Beschreibung

public bool SyncReaderWriter::readunlock ( void )

Releases a read lock on a SyncReaderWriter object.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A boolean of TRUE if the unlock operation was successful, FALSE otherwise.

Beispiele

Beispiel #1 SyncReaderWriter::readunlock() example

<?php
$readwrite = new SyncReaderWriter("FileCacheLock");
$readwrite->readlock();
/* ... */
$readwrite->readunlock();
?>

Siehe auch

  • SyncReaderWriter::readlock() - Waits for a read lock
SyncReaderWriter::readlock
SyncReaderWriter::writelock
SyncReaderWriter


Waits for an exclusive write lock

SyncReaderWriter::readunlock
SyncReaderWriter::writeunlock
SyncReaderWriter
PHP Manual

SyncReaderWriter::writelock

(PECL sync >= 1.0.0)

SyncReaderWriter::writelock — Waits for an exclusive write lock

Beschreibung

public bool SyncReaderWriter::writelock ([ integer $wait = -1 ] )

Obtains an exclusive write lock on a SyncReaderWriter object.

Parameter-Liste

wait

The number of milliseconds to wait for a lock. A value of -1 is infinite.

Rückgabewerte

A boolean of TRUE if the lock was obtained, FALSE otherwise.

Beispiele

Beispiel #1 SyncReaderWriter::writelock() example

<?php
$readwrite = new SyncReaderWriter("FileCacheLock");
$readwrite->writelock();
/* ... */
$readwrite->writeunlock();
?>

Siehe auch

  • SyncReaderWriter::writeunlock() - Releases a write lock
SyncReaderWriter::readunlock
SyncReaderWriter::writeunlock
SyncReaderWriter


Releases a write lock

SyncReaderWriter::writelock
SyncSharedMemory
SyncReaderWriter
PHP Manual

SyncReaderWriter::writeunlock

(PECL sync >= 1.0.0)

SyncReaderWriter::writeunlock — Releases a write lock

Beschreibung

public bool SyncReaderWriter::writeunlock ( void )

Releases a write lock on a SyncReaderWriter object.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A boolean of TRUE if the unlock operation was successful, FALSE otherwise.

Beispiele

Beispiel #1 SyncReaderWriter::writeunlock() example

<?php
$readwrite = new SyncReaderWriter("FileCacheLock");
$readwrite->writelock();
/* ... */
$readwrite->writeunlock();
?>

Siehe auch

  • SyncReaderWriter::writelock() - Waits for an exclusive write lock
SyncReaderWriter::writelock
SyncSharedMemory
SyncReaderWriter


The SyncSharedMemory class

(PECL sync >= 1.1.0)

Einführung

A cross-platform, native, consistent implementation of named shared memory objects.

Shared memory lets two separate processes communicate without the need for complex pipes or sockets. There are several integer-based shared memory implementations for PHP. Named shared memory is an alternative.

Synchronization objects (e.g. SyncMutex) are still required to protect most uses of shared memory.

Klassenbeschreibung

SyncSharedMemory {
/* Methoden */
public __construct ( string $name , integer $size )
public bool first ( void )
public read ([ integer $start = 0 [, integer $length ]] )
public bool size ( void )
public write ([ string $string [, integer $start = 0 ]] )
}

Inhaltsverzeichnis

  • SyncSharedMemory::__construct — Constructs a new SyncSharedMemory object
  • SyncSharedMemory::first — Check to see if the object is the first instance system-wide of named shared memory
  • SyncSharedMemory::read — Copy data from named shared memory
  • SyncSharedMemory::size — Returns the size of the named shared memory
  • SyncSharedMemory::write — Copy data to named shared memory
SyncReaderWriter::writeunlock
SyncSharedMemory::__construct
Sync


Constructs a new SyncSharedMemory object

SyncSharedMemory
SyncSharedMemory::first
SyncSharedMemory
PHP Manual

SyncSharedMemory::__construct

(PECL sync >= 1.1.0)

SyncSharedMemory::__construct — Constructs a new SyncSharedMemory object

Beschreibung

public SyncSharedMemory::__construct ( string $name , integer $size )

Constructs a named shared memory object.

Parameter-Liste

name

The name of the shared memory object.

Hinweis:

If the name already exists, it must be able to be opened by the current user that the process is running as or an exception will be thrown with a meaningless error message.

size

The size, in bytes, of shared memory to reserve.

Hinweis:

The amount of memory cannot be resized later. Request sufficient storage up front.

Rückgabewerte

The new SyncSharedMemory object. An exception is thrown if the shared memory object cannot be created or opened.

Beispiele

Beispiel #1 SyncSharedMemory::__construct() example

<?php
// You will probably need to protect shared memory with other synchronization objects.
// Shared memory goes away when the last reference to it disappears.
$mem = new SyncSharedMemory("AppReportName", 1024);
if ($mem->first())
{
    // Do first time initialization work here.
}

$result = $mem->write(json_encode(array("name" => "my_report.txt")));
?>

Siehe auch

  • SyncSharedMemory::first() - Check to see if the object is the first instance system-wide of named shared memory
  • SyncSharedMemory::size() - Returns the size of the named shared memory
  • SyncSharedMemory::write() - Copy data to named shared memory
  • SyncSharedMemory::read() - Copy data from named shared memory
SyncSharedMemory
SyncSharedMemory::first
SyncSharedMemory


Check to see if the object is the first instance system-wide of named shared memory

SyncSharedMemory::__construct
SyncSharedMemory::read
SyncSharedMemory
PHP Manual

SyncSharedMemory::first

(PECL sync >= 1.1.0)

SyncSharedMemory::first — Check to see if the object is the first instance system-wide of named shared memory

Beschreibung

public bool SyncSharedMemory::first ( void )

Retrieves the system-wide first instance status of a SyncSharedMemory object.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A boolean of TRUE if the object is the first instance system-wide, FALSE otherwise.

Beispiele

Beispiel #1 SyncSharedMemory::first() example

<?php
$mem = new SyncSharedMemory("AppReportName", 1024);
if ($mem->first())
{
    // Do first time initialization work here.
}

var_dump($mem->first());

$mem2 = new SyncSharedMemory("AppReportName", 1024);

var_dump($mem2->first());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(true)
bool(false)

Siehe auch

  • SyncSharedMemory::write() - Copy data to named shared memory
  • SyncSharedMemory::read() - Copy data from named shared memory
SyncSharedMemory::__construct
SyncSharedMemory::read
SyncSharedMemory


Copy data from named shared memory

SyncSharedMemory::first
SyncSharedMemory::size
SyncSharedMemory
PHP Manual

SyncSharedMemory::read

(PECL sync >= 1.1.0)

SyncSharedMemory::read — Copy data from named shared memory

Beschreibung

public SyncSharedMemory::read ([ integer $start = 0 [, integer $length ]] )

Copies data from named shared memory.

Parameter-Liste

start

The start/offset, in bytes, to begin reading.

Hinweis:

If the value is negative, the starting position will begin at the specified number of bytes from the end of the shared memory segment.

length

The number of bytes to read.

Hinweis:

If unspecified, reading will stop at the end of the shared memory segment.

If the value is negative, reading will stop the specified number of bytes from the end of the shared memory segment.

Rückgabewerte

A string containing the data read from shared memory.

Beispiele

Beispiel #1 SyncSharedMemory::__construct() example

<?php
// You will probably need to protect shared memory with other synchronization objects.
// Shared memory goes away when the last reference to it disappears.
$mem = new SyncSharedMemory("AppReportName", 1024);
if ($mem->first())
{
    // Do first time initialization work here.
}

$result = $mem->write("report.txt");

$result = $mem->read(3, -4);
var_dump($result);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(3) "ort"

Siehe auch

  • SyncSharedMemory::__construct() - Constructs a new SyncSharedMemory object
  • SyncSharedMemory::first() - Check to see if the object is the first instance system-wide of named shared memory
  • SyncSharedMemory::write() - Copy data to named shared memory
  • SyncSharedMemory::read()
SyncSharedMemory::first
SyncSharedMemory::size
SyncSharedMemory


Returns the size of the named shared memory

SyncSharedMemory::read
SyncSharedMemory::write
SyncSharedMemory
PHP Manual

SyncSharedMemory::size

(PECL sync >= 1.1.0)

SyncSharedMemory::size — Returns the size of the named shared memory

Beschreibung

public bool SyncSharedMemory::size ( void )

Retrieves the shared memory size of a SyncSharedMemory object.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An integer containing the size of the shared memory. This will be the same size that was passed to the constructor.

Beispiele

Beispiel #1 SyncSharedMemory::size() example

<?php
$mem = new SyncSharedMemory("AppReportName", 1024);
var_dump($mem->size());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(1024)

Siehe auch

  • SyncSharedMemory::__construct() - Constructs a new SyncSharedMemory object
  • SyncSharedMemory::write() - Copy data to named shared memory
  • SyncSharedMemory::read() - Copy data from named shared memory
SyncSharedMemory::read
SyncSharedMemory::write
SyncSharedMemory


Copy data to named shared memory

SyncSharedMemory::size
Sonstige Grunderweiterungen
SyncSharedMemory
PHP Manual

SyncSharedMemory::write

(PECL sync >= 1.1.0)

SyncSharedMemory::write — Copy data to named shared memory

Beschreibung

public SyncSharedMemory::write ([ string $string [, integer $start = 0 ]] )

Copies data to named shared memory.

Parameter-Liste

string

The data to write to shared memoy.

Hinweis:

If the size of the data exceeds the size of the shared memory, the number of bytes written returned will be less than the length of the input.

start

The start/offset, in bytes, to begin writing.

Hinweis:

If the value is negative, the starting position will begin at the specified number of bytes from the end of the shared memory segment.

Rückgabewerte

An integer containing the number of bytes written to shared memory.

Beispiele

Beispiel #1 SyncSharedMemory::write() example

<?php
// You will probably need to protect shared memory with other synchronization objects.
// Shared memory goes away when the last reference to it disappears.
$mem = new SyncSharedMemory("AppReportName", 1024);
if ($mem->first())
{
    // Do first time initialization work here.
}

$result = $mem->write("report.txt");
var_dump($result);

$result = $mem->write("report.txt", -3);
var_dump($result);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(10)
int(3)

Siehe auch

  • SyncSharedMemory::__construct() - Constructs a new SyncSharedMemory object
  • SyncSharedMemory::first() - Check to see if the object is the first instance system-wide of named shared memory
  • SyncSharedMemory::write()
  • SyncSharedMemory::read() - Copy data from named shared memory
SyncSharedMemory::size
Sonstige Grunderweiterungen
SyncSharedMemory


Sonstige Grunderweiterungen

  • GeoIP — Geo IP Location
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • GeoIP Funktionen
  • FANN — FANN (Fast Artificial Neural Network)
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Fann Funktionen
    • FANNConnection — The FANNConnection class
  • JSON — JavaScript-Objekt-Notation
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • JsonSerializable — Die JsonSerializable Schnittstelle
    • JSON-Funktionen
  • Judy — Judy Arrays
    • Einführung
    • Installation/Konfiguration
    • Judy — The Judy class
    • Judy Funktionen
  • Lua
    • Einführung
    • Installation/Konfiguration
    • Lua — The Lua class
    • LuaClosure — The LuaClosure class
  • Misc. — Miscellaneous Functions
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Sonstige Funktionen
    • Changelog
  • Parsekit
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Parsekit Funktionen
  • SPL — Standard PHP Library (SPL)
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Datenstrukturen
    • Iteratoren
    • Interfaces
    • Exceptions
    • SPL Funktionen
    • Dateibehandlung
    • Verschiedene Klassen und Interfaces
  • SPL Types — SPL Type Handling
    • Einführung
    • Installation/Konfiguration
    • SplType — The SplType class
    • SplInt — The SplInt class
    • SplFloat — The SplFloat class
    • SplEnum — Die Klasse SplEnum
    • SplBool — The SplBool class
    • SplString — The SplString class
  • Streams
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Stream Filters
    • Stream Contexts
    • Stream Errors
    • Beispiele
    • php_user_filter — The php_user_filter class
    • streamWrapper — The streamWrapper class
    • Stream Funktionen
  • Tidy
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • tidy — The tidy class
    • tidyNode — The tidyNode class
    • Tidy Funktionen
  • Tokenizer
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Tokenizer Funktionen
  • URLs
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • URL Funktionen
  • V8js — V8 Javascript-Engine Integration
    • Einführung
    • Installation/Konfiguration
    • Beispiele
    • V8Js — Die Klasse V8Js
    • V8JsException — Die Klasse V8JsException
  • Yaml — YAML Data Serialization
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Callbacks
    • Yaml Funktionen
  • Yaf — Yet Another Framework
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Application Configuration
    • Yaf_Application — The Yaf_Application class
    • Yaf_Bootstrap_Abstract — The Yaf_Bootstrap_Abstract class
    • Yaf_Dispatcher — The Yaf_Dispatcher class
    • Yaf_Config_Abstract — The Yaf_Config_Abstract class
    • Yaf_Config_Ini — The Yaf_Config_Ini class
    • Yaf_Config_Simple — The Yaf_Config_Simple class
    • Yaf_Controller_Abstract — The Yaf_Controller_Abstract class
    • Yaf_Action_Abstract — The Yaf_Action_Abstract class
    • Yaf_View_Interface — The Yaf_View_Interface class
    • Yaf_View_Simple — The Yaf_View_Simple class
    • Yaf_Loader — The Yaf_Loader class
    • Yaf_Plugin_Abstract — The Yaf_Plugin_Abstract class
    • Yaf_Registry — The Yaf_Registry class
    • Yaf_Request_Abstract — The Yaf_Request_Abstract class
    • Yaf_Request_Http — The Yaf_Request_Http class
    • Yaf_Request_Simple — The Yaf_Request_Simple class
    • Yaf_Response_Abstract — The Yaf_Response_Abstract class
    • Yaf_Route_Interface — The Yaf_Route_Interface class
    • Yaf_Route_Map — The Yaf_Route_Map class
    • Yaf_Route_Regex — The Yaf_Route_Regex class
    • Yaf_Route_Rewrite — The Yaf_Route_Rewrite class
    • Yaf_Router — The Yaf_Router class
    • Yaf_Route_Simple — The Yaf_Route_Simple class
    • Yaf_Route_Static — The Yaf_Route_Static class
    • Yaf_Route_Supervar — The Yaf_Route_Supervar class
    • Yaf_Session — The Yaf_Session class
    • Yaf_Exception — The Yaf_Exception class
    • Yaf_Exception_TypeError — The Yaf_Exception_TypeError class
    • Yaf_Exception_StartupError — The Yaf_Exception_StartupError class
    • Yaf_Exception_DispatchFailed — The Yaf_Exception_DispatchFailed class
    • Yaf_Exception_RouterFailed — The Yaf_Exception_RouterFailed class
    • Yaf_Exception_LoadFailed — The Yaf_Exception_LoadFailed class
    • Yaf_Exception_LoadFailed_Module — The Yaf_Exception_LoadFailed_Module class
    • Yaf_Exception_LoadFailed_Controller — The Yaf_Exception_LoadFailed_Controller class
    • Yaf_Exception_LoadFailed_Action — The Yaf_Exception_LoadFailed_Action class
    • Yaf_Exception_LoadFailed_View — The Yaf_Exception_LoadFailed_View class
  • Taint
    • Einführung
    • Installation/Konfiguration
    • More Details
    • Taint Funktionen
SyncSharedMemory::write
GeoIP
Funktionsreferenz


Geo IP Location

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • GeoIP Funktionen
    • geoip_asnum_by_name — Get the Autonomous System Numbers (ASN)
    • geoip_continent_code_by_name — Get the two letter continent code
    • geoip_country_code_by_name — Get the two letter country code
    • geoip_country_code3_by_name — Get the three letter country code
    • geoip_country_name_by_name — Get the full country name
    • geoip_database_info — Get GeoIP Database information
    • geoip_db_avail — Determine if GeoIP Database is available
    • geoip_db_filename — Returns the filename of the corresponding GeoIP Database
    • geoip_db_get_all_info — Returns detailed information about all GeoIP database types
    • geoip_domain_by_name — Get the second level domain name
    • geoip_id_by_name — Get the Internet connection type
    • geoip_isp_by_name — Get the Internet Service Provider (ISP) name
    • geoip_netspeedcell_by_name — Get the Internet connection speed
    • geoip_org_by_name — Get the organization name
    • geoip_record_by_name — Returns the detailed City information found in the GeoIP Database
    • geoip_region_by_name — Get the country code and region
    • geoip_region_name_by_code — Returns the region name for some country and region code combo
    • geoip_setup_custom_directory — Set a custom directory for the GeoIP database.
    • geoip_time_zone_by_country_and_region — Returns the time zone for some country and region code combo
Sonstige Grunderweiterungen
Einführung
Sonstige Grunderweiterungen


Einführung

The GeoIP extension allows you to find the location of an IP address. City, State, Country, Longitude, Latitude, and other information as all, such as ISP and connection type can be obtained with the help of GeoIP.

GeoIP
Installation/Konfiguration
GeoIP


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
GeoIP


Anforderungen

This extension requires the GeoIP C library version 1.4.0 or higher to be installed. You can grab the latest version from » http://www.maxmind.com/app/c and compile it yourself.

By default, you will only have access to the Free GeoIP Country or GeoLite City databases. While this module can work with other types of database, you must buy a commercial license from » Maxmind.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/geoip.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

GeoIP Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
geoip.custom_directory | "" | PHP_INI_ALL |

Hier eine kurze Erklärung der Konfigurationsoptionen:

geoip.custom_directory string

Empty by default, but can be set to force a different database path than the one compiled in the library.

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

GEOIP_COUNTRY_EDITION (integer)
GEOIP_REGION_EDITION_REV0 (integer)
GEOIP_CITY_EDITION_REV0 (integer)
GEOIP_ORG_EDITION (integer)
GEOIP_ISP_EDITION (integer)
GEOIP_CITY_EDITION_REV1 (integer)
GEOIP_REGION_EDITION_REV1 (integer)
GEOIP_PROXY_EDITION (integer)
GEOIP_ASNUM_EDITION (integer)
GEOIP_NETSPEED_EDITION (integer)
GEOIP_DOMAIN_EDITION (integer)

The following constants are for net speed:

GEOIP_UNKNOWN_SPEED (integer)
GEOIP_DIALUP_SPEED (integer)
GEOIP_CABLEDSL_SPEED (integer)
GEOIP_CORPORATE_SPEED (integer)
Ressource-Typen
GeoIP Funktionen
GeoIP


GeoIP Funktionen

Inhaltsverzeichnis

  • geoip_asnum_by_name — Get the Autonomous System Numbers (ASN)
  • geoip_continent_code_by_name — Get the two letter continent code
  • geoip_country_code_by_name — Get the two letter country code
  • geoip_country_code3_by_name — Get the three letter country code
  • geoip_country_name_by_name — Get the full country name
  • geoip_database_info — Get GeoIP Database information
  • geoip_db_avail — Determine if GeoIP Database is available
  • geoip_db_filename — Returns the filename of the corresponding GeoIP Database
  • geoip_db_get_all_info — Returns detailed information about all GeoIP database types
  • geoip_domain_by_name — Get the second level domain name
  • geoip_id_by_name — Get the Internet connection type
  • geoip_isp_by_name — Get the Internet Service Provider (ISP) name
  • geoip_netspeedcell_by_name — Get the Internet connection speed
  • geoip_org_by_name — Get the organization name
  • geoip_record_by_name — Returns the detailed City information found in the GeoIP Database
  • geoip_region_by_name — Get the country code and region
  • geoip_region_name_by_code — Returns the region name for some country and region code combo
  • geoip_setup_custom_directory — Set a custom directory for the GeoIP database.
  • geoip_time_zone_by_country_and_region — Returns the time zone for some country and region code combo
Vordefinierte Konstanten
geoip_asnum_by_name
GeoIP


Get the Autonomous System Numbers (ASN)

GeoIP Funktionen
geoip_continent_code_by_name
GeoIP Funktionen
PHP Manual

geoip_asnum_by_name

(PECL geoip >= 1.1.0)

geoip_asnum_by_name — Get the Autonomous System Numbers (ASN)

Beschreibung

string geoip_asnum_by_name ( string $hostname )

The geoip_asnum_by_name() function will return the Autonomous System Numbers (ASN) associated with an IP address.

Parameter-Liste

hostname

The hostname or IP address.

Rückgabewerte

Returns the ASN on success, or FALSE if the address cannot be found in the database.

Beispiele

Beispiel #1 A geoip_asnum_by_name() example

This will output the ASN of the host www.example.com.

<?php
$asn = geoip_asnum_by_name('www.example.com');

if ($asn) {
    echo 'The ASN is: ' $asn;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

The ASN is: AS15133 EdgeCast Networks, Inc

GeoIP Funktionen
geoip_continent_code_by_name
GeoIP Funktionen


Get the two letter continent code

geoip_asnum_by_name
geoip_country_code_by_name
GeoIP Funktionen
PHP Manual

geoip_continent_code_by_name

(PECL geoip >= 1.0.3)

geoip_continent_code_by_name — Get the two letter continent code

Beschreibung

string geoip_continent_code_by_name ( string $hostname )

The geoip_continent_code_by_name() function will return the two letter continent code corresponding to a hostname or an IP address.

Parameter-Liste

hostname

The hostname or IP address whose location is to be looked-up.

Rückgabewerte

Returns the two letter continent code on success, or FALSE if the address cannot be found in the database.

Continent codes
Code | Continent name
AF | Africa
AN | Antarctica
AS | Asia
EU | Europe
NA | North america
OC | Oceania
SA | South america

Beispiele

Beispiel #1 A geoip_continent_code_by_name() example

This will print where the host example.com is located.

<?php
$continent = geoip_continent_code_by_name('www.example.com');
if ($continent) {
    echo 'This host is located in: ' . $continent;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

 This host is located in: NA

Siehe auch

  • geoip_country_code_by_name() - Get the two letter country code

geoip_asnum_by_name
geoip_country_code_by_name
GeoIP Funktionen


Get the two letter country code

geoip_continent_code_by_name
geoip_country_code3_by_name
GeoIP Funktionen
PHP Manual

geoip_country_code_by_name

(PECL geoip >= 0.2.0)

geoip_country_code_by_name — Get the two letter country code

Beschreibung

string geoip_country_code_by_name ( string $hostname )

The geoip_country_code_by_name() function will return the two letter country code corresponding to a hostname or an IP address.

Parameter-Liste

hostname

The hostname or IP address whose location is to be looked-up.

Rückgabewerte

Returns the two letter ISO country code on success, or FALSE if the address cannot be found in the database.

Beispiele

Beispiel #1 A geoip_country_code_by_name() example

This will print where the host example.com is located.

<?php
$country = geoip_country_code_by_name('www.example.com');
if ($country) {
    echo 'This host is located in: ' . $country;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

This host is located in: US

Anmerkungen

Achtung

Please see » http://www.maxmind.com/en/iso3166 for a complete list of possible return values, including special codes.

Siehe auch

  • geoip_country_code3_by_name() - Get the three letter country code
  • geoip_country_name_by_name() - Get the full country name

geoip_continent_code_by_name
geoip_country_code3_by_name
GeoIP Funktionen


Get the three letter country code

geoip_country_code_by_name
geoip_country_name_by_name
GeoIP Funktionen
PHP Manual

geoip_country_code3_by_name

(PECL geoip >= 0.2.0)

geoip_country_code3_by_name — Get the three letter country code

Beschreibung

string geoip_country_code3_by_name ( string $hostname )

The geoip_country_code3_by_name() function will return the three letter country code corresponding to a hostname or an IP address.

Parameter-Liste

hostname

The hostname or IP address whose location is to be looked-up.

Rückgabewerte

Returns the three letter country code on success, or FALSE if the address cannot be found in the database.

Beispiele

Beispiel #1 A geoip_country_code3_by_name() example

This will print where the host example.com is located.

<?php
$country = geoip_country_code3_by_name('www.example.com');
if ($country) {
    echo 'This host is located in: ' . $country;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

This host is located in: USA

Siehe auch

  • geoip_country_code_by_name() - Get the two letter country code
  • geoip_country_name_by_name() - Get the full country name

geoip_country_code_by_name
geoip_country_name_by_name
GeoIP Funktionen


Get the full country name

geoip_country_code3_by_name
geoip_database_info
GeoIP Funktionen
PHP Manual

geoip_country_name_by_name

(PECL geoip >= 0.2.0)

geoip_country_name_by_name — Get the full country name

Beschreibung

string geoip_country_name_by_name ( string $hostname )

The geoip_country_name_by_name() function will return the full country name corresponding to a hostname or an IP address.

Parameter-Liste

hostname

The hostname or IP address whose location is to be looked-up.

Rückgabewerte

Returns the country name on success, or FALSE if the address cannot be found in the database.

Beispiele

Beispiel #1 A geoip_country_name_by_name() example

This will print where the host example.com is located.

<?php
$country = geoip_country_name_by_name('www.example.com');
if ($country) {
    echo 'This host is located in: ' . $country;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

 This host is located in: United States

Siehe auch

  • geoip_country_code_by_name() - Get the two letter country code
  • geoip_country_code3_by_name() - Get the three letter country code

geoip_country_code3_by_name
geoip_database_info
GeoIP Funktionen


Get GeoIP Database information

geoip_country_name_by_name
geoip_db_avail
GeoIP Funktionen
PHP Manual

geoip_database_info

(PECL geoip >= 0.2.0)

geoip_database_info — Get GeoIP Database information

Beschreibung

string geoip_database_info ([ int $database = GEOIP_COUNTRY_EDITION ] )

The geoip_database_info() function returns the corresponding GeoIP Database version as it is defined inside the binary file.

If this function is called without arguments, it returns the version of the GeoIP Free Country Edition.

Parameter-Liste

database

The database type as an integer. You can use the various constants defined with this extension (ie: GEOIP_*_EDITION).

Rückgabewerte

Returns the corresponding database version, or NULL on error.

Beispiele

Beispiel #1 A geoip_database_info() example

This will output information regarding the database.

<?php
print geoip_database_info(GEOIP_COUNTRY_EDITION);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

GEO-106FREE 20060801 Build 1 Copyright (c) 2006 MaxMind LLC All Rights Reserved

geoip_country_name_by_name
geoip_db_avail
GeoIP Funktionen


Determine if GeoIP Database is available

geoip_database_info
geoip_db_filename
GeoIP Funktionen
PHP Manual

geoip_db_avail

(PECL geoip >= 1.0.1)

geoip_db_avail — Determine if GeoIP Database is available

Beschreibung

bool geoip_db_avail ( int $database )

The geoip_db_avail() function returns if the corresponding GeoIP Database is available and can be opened on disk.

It does not indicate if the file is a proper database, only if it is readable.

Parameter-Liste

database

The database type as an integer. You can use the various constants defined with this extension (ie: GEOIP_*_EDITION).

Rückgabewerte

Returns TRUE is database exists, FALSE if not found, or NULL on error.

Beispiele

Beispiel #1 A geoip_db_avail() example

This will output the current database version string.

<?php

if (geoip_db_avail(GEOIP_COUNTRY_EDITION))
    print geoip_database_info(GEOIP_COUNTRY_EDITION);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

GEO-106FREE 20080801 Build 1 Copyright (c) 2006 MaxMind LLC All Rights Reserved

geoip_database_info
geoip_db_filename
GeoIP Funktionen


Returns the filename of the corresponding GeoIP Database

geoip_db_avail
geoip_db_get_all_info
GeoIP Funktionen
PHP Manual

geoip_db_filename

(PECL geoip >= 1.0.1)

geoip_db_filename — Returns the filename of the corresponding GeoIP Database

Beschreibung

string geoip_db_filename ( int $database )

The geoip_db_filename() function returns the filename of the corresponding GeoIP Database.

It does not indicate if the file exists or not on disk, only where the library is looking for the database.

Parameter-Liste

database

The database type as an integer. You can use the various constants defined with this extension (ie: GEOIP_*_EDITION).

Rückgabewerte

Returns the filename of the corresponding database, or NULL on error.

Beispiele

Beispiel #1 A geoip_db_filename() example

This will output the filename of the corresponding database.

<?php

print geoip_db_filename(GEOIP_COUNTRY_EDITION);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

/usr/share/GeoIP/GeoIP.dat

geoip_db_avail
geoip_db_get_all_info
GeoIP Funktionen


Returns detailed information about all GeoIP database types

geoip_db_filename
geoip_domain_by_name
GeoIP Funktionen
PHP Manual

geoip_db_get_all_info

(PECL geoip >= 1.0.1)

geoip_db_get_all_info — Returns detailed information about all GeoIP database types

Beschreibung

array geoip_db_get_all_info ( void )

The geoip_db_get_all_info() function will return detailed information as a multi-dimensional array about all the GeoIP database types.

This function is available even if no databases are installed. It will simply list them as non-available.

The names of the different keys of the returning associative array are as follows:

  • "available" -- Boolean, indicate if DB is available (see geoip_db_avail())
  • "description" -- The database description
  • "filename" -- The database filename on disk (see geoip_db_filename())

Rückgabewerte

Returns the associative array.

Beispiele

Beispiel #1 A geoip_db_get_all_info() example

This will print the array containing all the information.

<?php
$infos = geoip_db_get_all_info();
if (is_array($infos)) {
    var_dump($infos);
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(11) {
  [1]=>
  array(3) {
    ["available"]=>
    bool(true)
    ["description"]=>
    string(21) "GeoIP Country Edition"
    ["filename"]=>
    string(32) "/usr/share/GeoIP/GeoIP.dat"
  }

[ ... ]

  [11]=>
  array(3) {
    ["available"]=>
    bool(false)
    ["description"]=>
    string(25) "GeoIP Domain Name Edition"
    ["filename"]=>
    string(38) "/usr/share/GeoIP/GeoIPDomain.dat"
  }
}

Beispiel #2 A geoip_db_get_all_info() example

You can use the various constants as keys to get only parts of the information.

<?php
$infos = geoip_db_get_all_info();
if ($infos[GEOIP_COUNTRY_EDITION]['available']) {
    echo $infos[GEOIP_COUNTRY_EDITION]['description'];
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

GeoIP Country Edition

geoip_db_filename
geoip_domain_by_name
GeoIP Funktionen


Get the second level domain name

geoip_db_get_all_info
geoip_id_by_name
GeoIP Funktionen
PHP Manual

geoip_domain_by_name

(PECL geoip >= 1.1.0)

geoip_domain_by_name — Get the second level domain name

Beschreibung

string geoip_domain_by_name ( string $hostname )

The geoip_domain_by_name() function will return the second level domain names associated with a hostname or an IP address.

This function is currently only available to users who have bought a commercial GeoIP Domain Edition. A warning will be issued if the proper database cannot be located.

Parameter-Liste

hostname

The hostname or IP address.

Rückgabewerte

Returns the domain name on success, or FALSE if the address cannot be found in the database.

Beispiele

Beispiel #1 A geoip_domain_by_name() example

This will output the domain associated with IP 61.106.139.1.

<?php
$domain = geoip_domain_by_name('61.106.139.1');

if ($domain) {
    echo 'The domain is: '. $domain;
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

The domain is: von.co.kr

geoip_db_get_all_info
geoip_id_by_name
GeoIP Funktionen


Get the Internet connection type

geoip_domain_by_name
geoip_isp_by_name
GeoIP Funktionen
PHP Manual

geoip_id_by_name

(PECL geoip >= 0.2.0)

geoip_id_by_name — Get the Internet connection type

Beschreibung

int geoip_id_by_name ( string $hostname )

The geoip_id_by_name() function will return the Internet connection type corresponding to a hostname or an IP address.

The return value is numeric and can be compared to the following constants:

  • GEOIP_UNKNOWN_SPEED
  • GEOIP_DIALUP_SPEED
  • GEOIP_CABLEDSL_SPEED
  • GEOIP_CORPORATE_SPEED

Parameter-Liste

hostname

The hostname or IP address whose connection type is to be looked-up.

Rückgabewerte

Returns the connection type.

Beispiele

Beispiel #1 A geoip_id_by_name() example

This will output the connection type of the host example.com.

<?php
$netspeed = geoip_id_by_name('www.example.com');

echo 'The connection type is ';

switch ($netspeed) {
    case GEOIP_DIALUP_SPEED:
        echo 'dial-up';
        break;
    case GEOIP_CABLEDSL_SPEED:
        echo 'cable or DSL';
        break;
    case GEOIP_CORPORATE_SPEED:
        echo 'corporate';
        break;
    case GEOIP_UNKNOWN_SPEED:
    default:
        echo 'unknown';
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

The connection type is corporate

geoip_domain_by_name
geoip_isp_by_name
GeoIP Funktionen


Get the Internet Service Provider (ISP) name

geoip_id_by_name
geoip_netspeedcell_by_name
GeoIP Funktionen
PHP Manual

geoip_isp_by_name

(PECL geoip >= 1.0.2)

geoip_isp_by_name — Get the Internet Service Provider (ISP) name

Beschreibung

string geoip_isp_by_name ( string $hostname )

The geoip_isp_by_name() function will return the name of the Internet Service Provider (ISP) that an IP is assigned to.

This function is currently only available to users who have bought a commercial GeoIP ISP Edition. A warning will be issued if the proper database cannot be located.

Parameter-Liste

hostname

The hostname or IP address.

Rückgabewerte

Returns the ISP name on success, or FALSE if the address cannot be found in the database.

Beispiele

Beispiel #1 A geoip_isp_by_name() example

This will print the ISP name of host example.com.

<?php
$isp = geoip_isp_by_name('www.example.com');
if ($isp) {
    echo 'This host IP is from ISP: ' . $isp;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

This host IP is from ISP: ICANN c/o Internet Assigned Numbers Authority

geoip_id_by_name
geoip_netspeedcell_by_name
GeoIP Funktionen


Get the Internet connection speed

geoip_isp_by_name
geoip_org_by_name
GeoIP Funktionen
PHP Manual

geoip_netspeedcell_by_name

(PECL geoip >= 1.1.0)

geoip_netspeedcell_by_name — Get the Internet connection speed

Beschreibung

string geoip_netspeedcell_by_name ( string $hostname )

The geoip_netspeedcell_by_name() function will return the Internet connection type and speed corresponding to a hostname or an IP address.

This function is only available if using GeoIP Library version 1.4.8 or newer.

This function is currently only available to users who have bought a commercial GeoIP NetSpeedCell Edition. A warning will be issued if the proper database cannot be located.

The return value is a string, common values are:

  • Cable/DSL
  • Dialup
  • Cellular
  • Corporate

Parameter-Liste

hostname

The hostname or IP address.

Rückgabewerte

Returns the connection speed on success, or FALSE if the address cannot be found in the database.

Beispiele

Beispiel #1 A geoip_netspeedcell_by_name() example

This will output the connection speed of the host example.com.

<?php
$netspeed = geoip_netspeedcell_by_name('www.example.com');

if ($netspeed) {
    echo 'The connection type is: '. $netspeed;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

The connection type is: Corporate

geoip_isp_by_name
geoip_org_by_name
GeoIP Funktionen


Get the organization name

geoip_netspeedcell_by_name
geoip_record_by_name
GeoIP Funktionen
PHP Manual

geoip_org_by_name

(PECL geoip >= 0.2.0)

geoip_org_by_name — Get the organization name

Beschreibung

string geoip_org_by_name ( string $hostname )

The geoip_org_by_name() function will return the name of the organization that an IP is assigned to.

This function is currently only available to users who have bought a commercial GeoIP Organization, ISP or AS Edition. A warning will be issued if the proper database cannot be located.

Parameter-Liste

hostname

The hostname or IP address.

Rückgabewerte

Returns the organization name on success, or FALSE if the address cannot be found in the database.

Beispiele

Beispiel #1 A geoip_org_by_name() example

This will print to whom the host example.com IP is allocated.

<?php
$org = geoip_org_by_name('www.example.com');
if ($org) {
    echo 'This host IP is allocated to: ' . $org;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

This host IP is allocated to: ICANN c/o Internet Assigned Numbers Authority

geoip_netspeedcell_by_name
geoip_record_by_name
GeoIP Funktionen


Returns the detailed City information found in the GeoIP Database

geoip_org_by_name
geoip_region_by_name
GeoIP Funktionen
PHP Manual

geoip_record_by_name

(PECL geoip >= 0.2.0)

geoip_record_by_name — Returns the detailed City information found in the GeoIP Database

Beschreibung

array geoip_record_by_name ( string $hostname )

The geoip_record_by_name() function will return the record information corresponding to a hostname or an IP address.

This function is available for both GeoLite City Edition and commercial GeoIP City Edition. A warning will be issued if the proper database cannot be located.

The names of the different keys of the returning associative array are as follows:

  • "continent_code" -- Two letter continent code (as of version 1.0.4 with libgeoip 1.4.3 or newer)
  • "country_code" -- Two letter country code (see geoip_country_code_by_name())
  • "country_code3" -- Three letter country code (see geoip_country_code3_by_name())
  • "country_name" -- The country name (see geoip_country_name_by_name())
  • "region" -- The region code (ex: CA for California)
  • "city" -- The city.
  • "postal_code" -- The Postal Code, FSA or Zip Code.
  • "latitude" -- The Latitude as signed double.
  • "longitude" -- The Longitude as signed double.
  • "dma_code" -- Designated Market Area code (USA and Canada only)
  • "area_code" -- The PSTN area code (ex: 212)

Parameter-Liste

hostname

The hostname or IP address whose record is to be looked-up.

Rückgabewerte

Returns the associative array on success, or FALSE if the address cannot be found in the database.

Changelog

Version | Beschreibung
1.0.4 | Adding the continent_code with GeoIP Library 1.4.3 or newer only
1.0.3 | Adding country_code3 and country_name

Beispiele

Beispiel #1 A geoip_record_by_name() example

This will print the array containing the record of host example.com.

<?php
$record = geoip_record_by_name('www.example.com');
if ($record) {
    print_r($record);
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [continent_code] => NA
    [country_code] => US
    [country_code3] => USA
    [country_name] => United States
    [region] => CA
    [city] => Marina Del Rey
    [postal_code] =>
    [latitude] => 33.9776992798
    [longitude] => -118.435096741
    [dma_code] => 803
    [area_code] => 310
)

geoip_org_by_name
geoip_region_by_name
GeoIP Funktionen


Get the country code and region

geoip_record_by_name
geoip_region_name_by_code
GeoIP Funktionen
PHP Manual

geoip_region_by_name

(PECL geoip >= 0.2.0)

geoip_region_by_name — Get the country code and region

Beschreibung

array geoip_region_by_name ( string $hostname )

The geoip_region_by_name() function will return the country and region corresponding to a hostname or an IP address.

This function is currently only available to users who have bought a commercial GeoIP Region Edition. A warning will be issued if the proper database cannot be located.

The names of the different keys of the returning associative array are as follows:

  • "country_code" -- Two letter country code (see geoip_country_code_by_name())
  • "region" -- The region code (ex: CA for California)

Parameter-Liste

hostname

The hostname or IP address whose region is to be looked-up.

Rückgabewerte

Returns the associative array on success, or FALSE if the address cannot be found in the database.

Beispiele

Beispiel #1 A geoip_region_by_name() example

This will print the array containing the country code and region of the host example.com.

<?php
$region = geoip_region_by_name('www.example.com');
if ($region) {
    print_r($region);
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [country_code] => US
    [region] => CA
)

geoip_record_by_name
geoip_region_name_by_code
GeoIP Funktionen


Returns the region name for some country and region code combo

geoip_region_by_name
geoip_setup_custom_directory
GeoIP Funktionen
PHP Manual

geoip_region_name_by_code

(PECL geoip >= 1.0.4)

geoip_region_name_by_code — Returns the region name for some country and region code combo

Beschreibung

string geoip_region_name_by_code ( string $country_code , string $region_code )

The geoip_region_name_by_code() function will return the region name corresponding to a country and region code combo.

In the United States, the region code corresponds to the two-letter abbreviation of each state. In Canada, the region code corresponds to the two-letter province or territory code as attributed by Canada Post.

For the rest of the world, GeoIP uses FIPS 10-4 codes to represent regions. You can check » http://www.maxmind.com/app/fips10_4 for a detailed list of FIPS 10-4 codes.

This function is always available if using GeoIP Library version 1.4.1 or newer. The data is taken directly from the GeoIP Library and not from any database.

Parameter-Liste

country_code

The two-letter country code (see geoip_country_code_by_name())

region_code

The two-letter (or digit) region code (see geoip_region_by_name())

Rückgabewerte

Returns the region name on success, or FALSE if the country and region code combo cannot be found.

Beispiele

Beispiel #1 A geoip_region_name_by_code() example using region code for US/Canada

This will print the region name for country CA (Canada), region QC (Quebec).

<?php
$region = geoip_region_name_by_code('CA', 'QC');
if ($region) {
    echo 'Region name for CA/QC is: ' . $region;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Region name for CA/QC is: Quebec

Beispiel #2 A geoip_region_name_by_code() example using FIPS codes

This will print the region name for country JP (Japan), region 01.

<?php
$region = geoip_region_name_by_code('JP', '01');
if ($region) {
    echo 'Region name for JP/01 is: ' . $region;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Region name for JP/01 is: Aichi

geoip_region_by_name
geoip_setup_custom_directory
GeoIP Funktionen


Set a custom directory for the GeoIP database.

geoip_region_name_by_code
geoip_time_zone_by_country_and_region
GeoIP Funktionen
PHP Manual

geoip_setup_custom_directory

(PECL geoip >= 1.1.0)

geoip_setup_custom_directory — Set a custom directory for the GeoIP database.

Beschreibung

void geoip_setup_custom_directory ( string $path )

The geoip_setup_custom_directory() function will change the default directory of the GeoIP database. This is equivalent to changing geoip.custom_directory.

Parameter-Liste

path

The full path of where the GeoIP database is on disk.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 A geoip_setup_custom_directory() example

This will change the GeoIP default database path.

<?php

geoip_setup_custom_directory('/some/other/path');

print geoip_db_filename(GEOIP_COUNTRY_EDITION);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

/some/other/path/GeoIP.dat

geoip_region_name_by_code
geoip_time_zone_by_country_and_region
GeoIP Funktionen


Returns the time zone for some country and region code combo

geoip_setup_custom_directory
FANN
GeoIP Funktionen
PHP Manual

geoip_time_zone_by_country_and_region

(PECL geoip >= 1.0.4)

geoip_time_zone_by_country_and_region — Returns the time zone for some country and region code combo

Beschreibung

string geoip_time_zone_by_country_and_region ( string $country_code [, string $region_code ] )

The geoip_time_zone_by_country_and_region() function will return the time zone corresponding to a country and region code combo.

In the United States, the region code corresponds to the two-letter abbreviation of each state. In Canada, the region code corresponds to the two-letter province or territory code as attributed by Canada Post.

For the rest of the world, GeoIP uses FIPS 10-4 codes to represent regions. You can check » http://www.maxmind.com/app/fips10_4 for a detailed list of FIPS 10-4 codes.

This function is always available if using GeoIP Library version 1.4.1 or newer. The data is taken directly from the GeoIP Library and not from any database.

Parameter-Liste

country_code

The two-letter country code (see geoip_country_code_by_name())

region_code

The two-letter (or digit) region code (see geoip_region_by_name())

Rückgabewerte

Returns the time zone on success, or FALSE if the country and region code combo cannot be found.

Beispiele

Beispiel #1 A geoip_time_zone_by_country_and_region() example using region code for US/Canada

This will print the time zone for country CA (Canada), region QC (Quebec).

<?php
$timezone = geoip_time_zone_by_country_and_region('CA', 'QC');
if ($timezone) {
    echo 'Time zone for CA/QC is: ' . $timezone;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Time zone for CA/QC is: America/Montreal

Beispiel #2 A geoip_time_zone_by_country_and_region() example using FIPS codes

This will print the time zone for country JP (Japan), region 01 (Aichi).

<?php
$timezone = geoip_time_zone_by_country_and_region('JP', '01');
if ($timezone) {
    echo 'Time zone for JP/01 is: ' . $timezone;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Time zone for JP/01 is: Asia/Tokyo

geoip_setup_custom_directory
FANN
GeoIP Funktionen


FANN (Fast Artificial Neural Network)

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • XOR training
  • Fann Funktionen
    • fann_cascadetrain_on_data — Trains on an entire dataset, for a period of time using the Cascade2 training algorithm
    • fann_cascadetrain_on_file — Trains on an entire dataset read from file, for a period of time using the Cascade2 training algorithm.
    • fann_clear_scaling_params — Clears scaling parameters
    • fann_copy — Creates a copy of a fann structure
    • fann_create_from_file — Constructs a backpropagation neural network from a configuration file
    • fann_create_shortcut_array — Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections
    • fann_create_shortcut — Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections
    • fann_create_sparse_array — Creates a standard backpropagation neural network, which is not fully connected using an array of layer sizes
    • fann_create_sparse — Creates a standard backpropagation neural network, which is not fully connected
    • fann_create_standard_array — Creates a standard fully connected backpropagation neural network using an array of layer sizes
    • fann_create_standard — Creates a standard fully connected backpropagation neural network
    • fann_create_train_from_callback — Creates the training data struct from a user supplied function
    • fann_create_train — Creates an empty training data struct
    • fann_descale_input — Scale data in input vector after get it from ann based on previously calculated parameters
    • fann_descale_output — Scale data in output vector after get it from ann based on previously calculated parameters
    • fann_descale_train — Descale input and output data based on previously calculated parameters
    • fann_destroy_train — Destructs the training data
    • fann_destroy — Destroys the entire network and properly freeing all the associated memory
    • fann_duplicate_train_data — Returns an exact copy of a fann train data
    • fann_get_activation_function — Returns the activation function
    • fann_get_activation_steepness — Returns the activation steepness for supplied neuron and layer number
    • fann_get_bias_array — Get the number of bias in each layer in the network
    • fann_get_bit_fail_limit — Returns the bit fail limit used during training
    • fann_get_bit_fail — The number of fail bits
    • fann_get_cascade_activation_functions_count — Returns the number of cascade activation functions
    • fann_get_cascade_activation_functions — Returns the cascade activation functions
    • fann_get_cascade_activation_steepnesses_count — The number of activation steepnesses
    • fann_get_cascade_activation_steepnesses — Returns the cascade activation steepnesses
    • fann_get_cascade_candidate_change_fraction — Returns the cascade candidate change fraction
    • fann_get_cascade_candidate_limit — Return the candidate limit
    • fann_get_cascade_candidate_stagnation_epochs — Returns the number of cascade candidate stagnation epochs
    • fann_get_cascade_max_cand_epochs — Returns the maximum candidate epochs
    • fann_get_cascade_max_out_epochs — Returns the maximum out epochs
    • fann_get_cascade_min_cand_epochs — Returns the minimum candidate epochs
    • fann_get_cascade_min_out_epochs — Returns the minimum out epochs
    • fann_get_cascade_num_candidate_groups — Returns the number of candidate groups
    • fann_get_cascade_num_candidates — Returns the number of candidates used during training
    • fann_get_cascade_output_change_fraction — Returns the cascade output change fraction
    • fann_get_cascade_output_stagnation_epochs — Returns the number of cascade output stagnation epochs
    • fann_get_cascade_weight_multiplier — Returns the weight multiplier
    • fann_get_connection_array — Get connections in the network
    • fann_get_connection_rate — Get the connection rate used when the network was created
    • fann_get_errno — Returns the last error number
    • fann_get_errstr — Returns the last errstr
    • fann_get_layer_array — Get the number of neurons in each layer in the network
    • fann_get_learning_momentum — Returns the learning momentum
    • fann_get_learning_rate — Returns the learning rate
    • fann_get_MSE — Reads the mean square error from the network
    • fann_get_network_type — Get the type of neural network it was created as
    • fann_get_num_input — Get the number of input neurons
    • fann_get_num_layers — Get the number of layers in the neural network
    • fann_get_num_output — Get the number of output neurons
    • fann_get_quickprop_decay — Returns the decay which is a factor that weights should decrease in each iteration during quickprop training
    • fann_get_quickprop_mu — Returns the mu factor
    • fann_get_rprop_decrease_factor — Returns the increase factor used during RPROP training
    • fann_get_rprop_delta_max — Returns the maximum step-size
    • fann_get_rprop_delta_min — Returns the minimum step-size
    • fann_get_rprop_delta_zero — Returns the initial step-size
    • fann_get_rprop_increase_factor — Returns the increase factor used during RPROP training
    • fann_get_sarprop_step_error_shift — Returns the sarprop step error shift
    • fann_get_sarprop_step_error_threshold_factor — Returns the sarprop step error threshold factor
    • fann_get_sarprop_temperature — Returns the sarprop temperature
    • fann_get_sarprop_weight_decay_shift — Returns the sarprop weight decay shift
    • fann_get_total_connections — Get the total number of connections in the entire network
    • fann_get_total_neurons — Get the total number of neurons in the entire network
    • fann_get_train_error_function — Returns the error function used during training
    • fann_get_train_stop_function — Returns the stop function used during training
    • fann_get_training_algorithm — Returns the training algorithm
    • fann_init_weights — Initialize the weights using Widrow + Nguyen’s algorithm
    • fann_length_train_data — Returns the number of training patterns in the train data
    • fann_merge_train_data — Merges the train data
    • fann_num_input_train_data — Returns the number of inputs in each of the training patterns in the train data
    • fann_num_output_train_data — Returns the number of outputs in each of the training patterns in the train data
    • fann_print_error — Prints the error string
    • fann_randomize_weights — Give each connection a random weight between min_weight and max_weight
    • fann_read_train_from_file — Reads a file that stores training data
    • fann_reset_errno — Resets the last error number
    • fann_reset_errstr — Resets the last error string
    • fann_reset_MSE — Resets the mean square error from the network
    • fann_run — Will run input through the neural network
    • fann_save_train — Save the training structure to a file
    • fann_save — Saves the entire network to a configuration file
    • fann_scale_input_train_data — Scales the inputs in the training data to the specified range
    • fann_scale_input — Scale data in input vector before feed it to ann based on previously calculated parameters
    • fann_scale_output_train_data — Scales the outputs in the training data to the specified range
    • fann_scale_output — Scale data in output vector before feed it to ann based on previously calculated parameters
    • fann_scale_train_data — Scales the inputs and outputs in the training data to the specified range
    • fann_scale_train — Scale input and output data based on previously calculated parameters
    • fann_set_activation_function_hidden — Sets the activation function for all of the hidden layers
    • fann_set_activation_function_layer — Sets the activation function for all the neurons in the supplied layer.
    • fann_set_activation_function_output — Sets the activation function for the output layer
    • fann_set_activation_function — Sets the activation function for supplied neuron and layer
    • fann_set_activation_steepness_hidden — Sets the steepness of the activation steepness for all neurons in the all hidden layers
    • fann_set_activation_steepness_layer — Sets the activation steepness for all of the neurons in the supplied layer number
    • fann_set_activation_steepness_output — Sets the steepness of the activation steepness in the output layer
    • fann_set_activation_steepness — Sets the activation steepness for supplied neuron and layer number
    • fann_set_bit_fail_limit — Set the bit fail limit used during training
    • fann_set_callback — Sets the callback function for use during training
    • fann_set_cascade_activation_functions — Sets the array of cascade candidate activation functions
    • fann_set_cascade_activation_steepnesses — Sets the array of cascade candidate activation steepnesses
    • fann_set_cascade_candidate_change_fraction — Sets the cascade candidate change fraction
    • fann_set_cascade_candidate_limit — Sets the candidate limit
    • fann_set_cascade_candidate_stagnation_epochs — Sets the number of cascade candidate stagnation epochs
    • fann_set_cascade_max_cand_epochs — Sets the max candidate epochs
    • fann_set_cascade_max_out_epochs — Sets the maximum out epochs
    • fann_set_cascade_min_cand_epochs — Sets the min candidate epochs
    • fann_set_cascade_min_out_epochs — Sets the minimum out epochs
    • fann_set_cascade_num_candidate_groups — Sets the number of candidate groups
    • fann_set_cascade_output_change_fraction — Sets the cascade output change fraction
    • fann_set_cascade_output_stagnation_epochs — Sets the number of cascade output stagnation epochs
    • fann_set_cascade_weight_multiplier — Sets the weight multiplier
    • fann_set_error_log — Sets where the errors are logged to
    • fann_set_input_scaling_params — Calculate input scaling parameters for future use based on training data
    • fann_set_learning_momentum — Sets the learning momentum
    • fann_set_learning_rate — Sets the learning rate
    • fann_set_output_scaling_params — Calculate output scaling parameters for future use based on training data
    • fann_set_quickprop_decay — Sets the quickprop decay factor
    • fann_set_quickprop_mu — Sets the quickprop mu factor
    • fann_set_rprop_decrease_factor — Sets the decrease factor used during RPROP training
    • fann_set_rprop_delta_max — Sets the maximum step-size
    • fann_set_rprop_delta_min — Sets the minimum step-size
    • fann_set_rprop_delta_zero — Sets the initial step-size
    • fann_set_rprop_increase_factor — Sets the increase factor used during RPROP training
    • fann_set_sarprop_step_error_shift — Sets the sarprop step error shift
    • fann_set_sarprop_step_error_threshold_factor — Sets the sarprop step error threshold factor
    • fann_set_sarprop_temperature — Sets the sarprop temperature
    • fann_set_sarprop_weight_decay_shift — Sets the sarprop weight decay shift
    • fann_set_scaling_params — Calculate input and output scaling parameters for future use based on training data
    • fann_set_train_error_function — Sets the error function used during training
    • fann_set_train_stop_function — Sets the stop function used during training
    • fann_set_training_algorithm — Sets the training algorithm
    • fann_set_weight_array — Set connections in the network
    • fann_set_weight — Set a connection in the network
    • fann_shuffle_train_data — Shuffles training data, randomizing the order
    • fann_subset_train_data — Returns an copy of a subset of the train data
    • fann_test_data — Test a set of training data and calculates the MSE for the training data
    • fann_test — Test with a set of inputs, and a set of desired outputs
    • fann_train_epoch — Train one epoch with a set of training data
    • fann_train_on_data — Trains on an entire dataset for a period of time
    • fann_train_on_file — Trains on an entire dataset, which is read from file, for a period of time
    • fann_train — Train one iteration with a set of inputs, and a set of desired outputs
  • FANNConnection — The FANNConnection class
    • FANNConnection::__construct — The connection constructor
    • FANNConnection::getFromNeuron — Returns the postions of starting neuron.
    • FANNConnection::getToNeuron — Returns the postions of terminating neuron
    • FANNConnection::getWeight — Returns the connection weight
    • FANNConnection::setWeight — Sets the connections weight
geoip_time_zone_by_country_and_region
Einführung
Sonstige Grunderweiterungen


Einführung

PHP binding for FANN (Fast Artificial Neural Network) Library which implements multilayer artificial neural networks with support for both fully connected and sparsely connected networks. It includes a framework for easy handling of training data sets. It is easy to use, versatile, well documented, and fast.

FANN
Installation/Konfiguration
FANN


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
FANN


Anforderungen

PHP >= 5.2.0 and libfann >= 2.1.0

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

The FANN PHP extension should work on all Linux systems.

  • FANN Library Installation
  • PECL Installation
  • Manual Installation

FANN Library Installation

Before you start installation make sure that libfann is installed on your system. It's part of the main repository in the most Linux distributions (search for fann). You need a development version.

If it is not installed, you need to install it first. Either download it from the » official site or get it from your distro repository. For example on Fedora:

$ sudo yum install fann-devel
or Ubuntu:

$ sudo apt-get install libfann-dev

If the library is re-installed manually, then all old library file should be removed before re-installing otherwise the old library version could be linked.

PECL Installation

This extension is available on PECL. The installation is very simple. Just run:

$ sudo pecl install fann

Manual Installation

For developers and people interested in the latest changes, you can compile the driver from the latest source code on » Github. Go to Github and click the "Download ZIP" button. Then run:

$ unzip php-fann-master.zip
$ cd php-fann-master
$ phpize
$ ./configure
$ make all
$ sudo make install

Make the following changes to php.ini:

  • Make sure the extension_dir variable is pointing to the directory containing fann.so. The build will display where it is installing the PHP driver with output that looks something like:

Installing '/usr/lib/php/extensions/no-debug-non-zts-20060613/fann.so'
    Make sure that it is the same as the PHP extension directory by runnning:

$ php -i | grep extension_dir
  extension_dir => /usr/lib/php/extensions/no-debug-non-zts-20060613 =>
                   /usr/lib/php/extensions/no-debug-non-zts-20060613
    If it's not, change the extension_dir in php.ini or move fann.so.

  • To load the extension on PHP startup, add a line:

extension=fann.so

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

Training algorithms
FANN_TRAIN_INCREMENTAL (integer)
Standard backpropagation algorithm, where the weights are updated after each training pattern. This means that the weights are updated many times during a single epoch. For this reason some problems, will train very fast with this algorithm, while other more advanced problems will not train very well.
FANN_TRAIN_BATCH (integer)
Standard backpropagation algorithm, where the weights are updated after calculating the mean square error for the whole training set. This means that the weights are only updated once during a epoch. For this reason some problems, will train slower with this algorithm. But since the mean square error is calculated more correctly than in incremental training, some problems will reach a better solutions with this algorithm.
FANN_TRAIN_RPROP (integer)
A more advanced batch training algorithm which achieves good results for many problems. The RPROP training algorithm is adaptive, and does therefore not use the learning_rate. Some other parameters can however be set to change the way the RPROP algorithm works, but it is only recommended for users with insight in how the RPROP training algorithm works. The RPROP training algorithm is described by [Riedmiller and Braun, 1993], but the actual learning algorithm used here is the iRPROP- training algorithm which is described by [Igel and Husken, 2000] which is an variety of the standard RPROP training algorithm.
FANN_TRAIN_QUICKPROP (integer)
A more advanced batch training algorithm which achieves good results for many problems. The quickprop training algorithm uses the learning_rate parameter along with other more advanced parameters, but it is only recommended to change these advanced parameters, for users with insight in how the quickprop training algorithm works. The quickprop training algorithm is described by [Fahlman, 1988].
FANN_TRAIN_SARPROP (integer)
Even more advance training algorithm. Only for version 2.2
Activation functions
FANN_LINEAR (integer)
Linear activation function.
FANN_THRESHOLD (integer)
Threshold activation function.
FANN_THRESHOLD_SYMMETRIC (integer)
Threshold activation function.
FANN_SIGMOID (integer)
Sigmoid activation function.
FANN_SIGMOID_STEPWISE (integer)
Stepwise linear approximation to sigmoid.
FANN_SIGMOID_SYMMETRIC (integer)
Symmetric sigmoid activation function, aka. tanh.
FANN_SIGMOID_SYMMETRIC_STEPWISE (integer)
Stepwise linear approximation to symmetric sigmoid
FANN_GAUSSIAN (integer)
Gaussian activation function.
FANN_GAUSSIAN_SYMMETRIC (integer)
Symmetric gaussian activation function.
FANN_GAUSSIAN_STEPWISE (integer)
Stepwise gaussian activation function.
FANN_ELLIOT (integer)
Fast (sigmoid like) activation function defined by David Elliott.
FANN_ELLIOT_SYMMETRIC (integer)
Fast (symmetric sigmoid like) activation function defined by David Elliott.
FANN_LINEAR_PIECE (integer)
Bounded linear activation function.
FANN_LINEAR_PIECE_SYMMETRIC (integer)
Bounded linear activation function.
FANN_SIN_SYMMETRIC (integer)
Periodical sinus activation function.
FANN_COS_SYMMETRIC (integer)
Periodical cosinus activation function.
FANN_SIN (integer)
Periodical sinus activation function.
FANN_COS (integer)
Periodical cosinus activation function.
Error function used during training
FANN_ERRORFUNC_LINEAR (integer)
Standard linear error function.
FANN_ERRORFUNC_TANH (integer)
Tanh error function, usually better but can require a lower learning rate. This error function agressively targets outputs that differ much from the desired, while not targetting outputs that only differ a little that much. This activation function is not recommended for cascade training and incremental training.
Stop criteria used during training
FANN_STOPFUNC_MSE (integer)
Stop criteria is Mean Square Error (MSE) value.
FANN_STOPFUNC_BIT (integer)
Stop criteria is number of bits that fail. The number of bits means the number of output neurons which differs more than the bit fail limit (see fann_get_bit_fail_limit, fann_set_bit_fail_limit). The bits are counted in all of the training data, so this number can be higher than the number of training data.
Definition of network types used by fann_get_network_type()
FANN_NETTYPE_LAYER (integer)
Each layer only has connections to the next layer.
FANN_NETTYPE_SHORTCUT (integer)
Each layer has connections to all following layers
Errors
FANN_E_NO_ERROR (integer)
No error.
FANN_E_CANT_OPEN_CONFIG_R (integer)
Unable to open configuration file for reading.
FANN_E_CANT_OPEN_CONFIG_W (integer)
Unable to open configuration file for writing.
FANN_E_WRONG_CONFIG_VERSION (integer)
Wrong version of configuration file.
FANN_E_CANT_READ_CONFIG (integer)
Error reading info from configuration file.
FANN_E_CANT_READ_NEURON (integer)
Error reading neuron info from configuration file.
FANN_E_CANT_READ_CONNECTIONS (integer)
Error reading connections from configuration file.
FANN_E_WRONG_NUM_CONNECTIONS (integer)
Number of connections not equal to the number expected.
FANN_E_CANT_OPEN_TD_W (integer)
Unable to open train data file for writing.
FANN_E_CANT_OPEN_TD_R (integer)
Unable to open train data file for reading.
FANN_E_CANT_READ_TD (integer)
Error reading training data from file.
FANN_E_CANT_ALLOCATE_MEM (integer)
Unable to allocate memory.
FANN_E_CANT_TRAIN_ACTIVATION (integer)
Unable to train with the selected activation function.
FANN_E_CANT_USE_ACTIVATION (integer)
Unable to use the selected activation function.
FANN_E_TRAIN_DATA_MISMATCH (integer)
Irreconcilable differences between two struct fann_train_data structures.
FANN_E_CANT_USE_TRAIN_ALG (integer)
Unable to use the selected training algorithm.
FANN_E_TRAIN_DATA_SUBSET (integer)
Trying to take subset which is not within the training set.
FANN_E_INDEX_OUT_OF_BOUND (integer)
Index is out of bound.
FANN_E_SCALE_NOT_PRESENT (integer)
Scaling parameters not present.
FANN_E_INPUT_NO_MATCH (integer)
The number of input neurons in the ann data do not match
FANN_E_OUTPUT_NO_MATCH (integer)
The number of output neurons in the ann and data do not match.

Ressource-Typen
Beispiele
FANN


Beispiele

Inhaltsverzeichnis

  • XOR training
Vordefinierte Konstanten
XOR training
FANN


XOR training

This example shows how to train data for XOR function

Beispiel #1 xor.data file

4 2 1
-1 -1
-1
-1 1
1
1 -1
1
1 1
-1

Beispiel #2 Simple train

<?php
$num_input = 2;
$num_output = 1;
$num_layers = 3;
$num_neurons_hidden = 3;
$desired_error = 0.001;
$max_epochs = 500000;
$epochs_between_reports = 1000;

$ann = fann_create_standard($num_layers, $num_input, $num_neurons_hidden, $num_output);

if ($ann) {
    fann_set_activation_function_hidden($ann, FANN_SIGMOID_SYMMETRIC);
    fann_set_activation_function_output($ann, FANN_SIGMOID_SYMMETRIC);

    $filename = dirname(__FILE__) . "/xor.data";
    if (fann_train_on_file($ann, $filename, $max_epochs, $epochs_between_reports, $desired_error))
        fann_save($ann, dirname(__FILE__) . "/xor_float.net");

    fann_destroy($ann);
}
?>

This example shows how to read and run data for XOR function

Beispiel #3 Simple test

<?php
$train_file = (dirname(__FILE__) . "/xor_float.net");
if (!is_file($train_file))
    die("The file xor_float.net has not been created! Please run simple_train.php to generate it");

$ann = fann_create_from_file($train_file);
if (!$ann)
    die("ANN could not be created");

$input = array(-1, 1);
$calc_out = fann_run($ann, $input);
printf("xor test (%f,%f) -> %f\n", $input[0], $input[1], $calc_out[0]);
fann_destroy($ann);
?>

Beispiele
Fann Funktionen
Beispiele


Fann Funktionen

Inhaltsverzeichnis

  • fann_cascadetrain_on_data — Trains on an entire dataset, for a period of time using the Cascade2 training algorithm
  • fann_cascadetrain_on_file — Trains on an entire dataset read from file, for a period of time using the Cascade2 training algorithm.
  • fann_clear_scaling_params — Clears scaling parameters
  • fann_copy — Creates a copy of a fann structure
  • fann_create_from_file — Constructs a backpropagation neural network from a configuration file
  • fann_create_shortcut_array — Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections
  • fann_create_shortcut — Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections
  • fann_create_sparse_array — Creates a standard backpropagation neural network, which is not fully connected using an array of layer sizes
  • fann_create_sparse — Creates a standard backpropagation neural network, which is not fully connected
  • fann_create_standard_array — Creates a standard fully connected backpropagation neural network using an array of layer sizes
  • fann_create_standard — Creates a standard fully connected backpropagation neural network
  • fann_create_train_from_callback — Creates the training data struct from a user supplied function
  • fann_create_train — Creates an empty training data struct
  • fann_descale_input — Scale data in input vector after get it from ann based on previously calculated parameters
  • fann_descale_output — Scale data in output vector after get it from ann based on previously calculated parameters
  • fann_descale_train — Descale input and output data based on previously calculated parameters
  • fann_destroy_train — Destructs the training data
  • fann_destroy — Destroys the entire network and properly freeing all the associated memory
  • fann_duplicate_train_data — Returns an exact copy of a fann train data
  • fann_get_activation_function — Returns the activation function
  • fann_get_activation_steepness — Returns the activation steepness for supplied neuron and layer number
  • fann_get_bias_array — Get the number of bias in each layer in the network
  • fann_get_bit_fail_limit — Returns the bit fail limit used during training
  • fann_get_bit_fail — The number of fail bits
  • fann_get_cascade_activation_functions_count — Returns the number of cascade activation functions
  • fann_get_cascade_activation_functions — Returns the cascade activation functions
  • fann_get_cascade_activation_steepnesses_count — The number of activation steepnesses
  • fann_get_cascade_activation_steepnesses — Returns the cascade activation steepnesses
  • fann_get_cascade_candidate_change_fraction — Returns the cascade candidate change fraction
  • fann_get_cascade_candidate_limit — Return the candidate limit
  • fann_get_cascade_candidate_stagnation_epochs — Returns the number of cascade candidate stagnation epochs
  • fann_get_cascade_max_cand_epochs — Returns the maximum candidate epochs
  • fann_get_cascade_max_out_epochs — Returns the maximum out epochs
  • fann_get_cascade_min_cand_epochs — Returns the minimum candidate epochs
  • fann_get_cascade_min_out_epochs — Returns the minimum out epochs
  • fann_get_cascade_num_candidate_groups — Returns the number of candidate groups
  • fann_get_cascade_num_candidates — Returns the number of candidates used during training
  • fann_get_cascade_output_change_fraction — Returns the cascade output change fraction
  • fann_get_cascade_output_stagnation_epochs — Returns the number of cascade output stagnation epochs
  • fann_get_cascade_weight_multiplier — Returns the weight multiplier
  • fann_get_connection_array — Get connections in the network
  • fann_get_connection_rate — Get the connection rate used when the network was created
  • fann_get_errno — Returns the last error number
  • fann_get_errstr — Returns the last errstr
  • fann_get_layer_array — Get the number of neurons in each layer in the network
  • fann_get_learning_momentum — Returns the learning momentum
  • fann_get_learning_rate — Returns the learning rate
  • fann_get_MSE — Reads the mean square error from the network
  • fann_get_network_type — Get the type of neural network it was created as
  • fann_get_num_input — Get the number of input neurons
  • fann_get_num_layers — Get the number of layers in the neural network
  • fann_get_num_output — Get the number of output neurons
  • fann_get_quickprop_decay — Returns the decay which is a factor that weights should decrease in each iteration during quickprop training
  • fann_get_quickprop_mu — Returns the mu factor
  • fann_get_rprop_decrease_factor — Returns the increase factor used during RPROP training
  • fann_get_rprop_delta_max — Returns the maximum step-size
  • fann_get_rprop_delta_min — Returns the minimum step-size
  • fann_get_rprop_delta_zero — Returns the initial step-size
  • fann_get_rprop_increase_factor — Returns the increase factor used during RPROP training
  • fann_get_sarprop_step_error_shift — Returns the sarprop step error shift
  • fann_get_sarprop_step_error_threshold_factor — Returns the sarprop step error threshold factor
  • fann_get_sarprop_temperature — Returns the sarprop temperature
  • fann_get_sarprop_weight_decay_shift — Returns the sarprop weight decay shift
  • fann_get_total_connections — Get the total number of connections in the entire network
  • fann_get_total_neurons — Get the total number of neurons in the entire network
  • fann_get_train_error_function — Returns the error function used during training
  • fann_get_train_stop_function — Returns the stop function used during training
  • fann_get_training_algorithm — Returns the training algorithm
  • fann_init_weights — Initialize the weights using Widrow + Nguyen’s algorithm
  • fann_length_train_data — Returns the number of training patterns in the train data
  • fann_merge_train_data — Merges the train data
  • fann_num_input_train_data — Returns the number of inputs in each of the training patterns in the train data
  • fann_num_output_train_data — Returns the number of outputs in each of the training patterns in the train data
  • fann_print_error — Prints the error string
  • fann_randomize_weights — Give each connection a random weight between min_weight and max_weight
  • fann_read_train_from_file — Reads a file that stores training data
  • fann_reset_errno — Resets the last error number
  • fann_reset_errstr — Resets the last error string
  • fann_reset_MSE — Resets the mean square error from the network
  • fann_run — Will run input through the neural network
  • fann_save_train — Save the training structure to a file
  • fann_save — Saves the entire network to a configuration file
  • fann_scale_input_train_data — Scales the inputs in the training data to the specified range
  • fann_scale_input — Scale data in input vector before feed it to ann based on previously calculated parameters
  • fann_scale_output_train_data — Scales the outputs in the training data to the specified range
  • fann_scale_output — Scale data in output vector before feed it to ann based on previously calculated parameters
  • fann_scale_train_data — Scales the inputs and outputs in the training data to the specified range
  • fann_scale_train — Scale input and output data based on previously calculated parameters
  • fann_set_activation_function_hidden — Sets the activation function for all of the hidden layers
  • fann_set_activation_function_layer — Sets the activation function for all the neurons in the supplied layer.
  • fann_set_activation_function_output — Sets the activation function for the output layer
  • fann_set_activation_function — Sets the activation function for supplied neuron and layer
  • fann_set_activation_steepness_hidden — Sets the steepness of the activation steepness for all neurons in the all hidden layers
  • fann_set_activation_steepness_layer — Sets the activation steepness for all of the neurons in the supplied layer number
  • fann_set_activation_steepness_output — Sets the steepness of the activation steepness in the output layer
  • fann_set_activation_steepness — Sets the activation steepness for supplied neuron and layer number
  • fann_set_bit_fail_limit — Set the bit fail limit used during training
  • fann_set_callback — Sets the callback function for use during training
  • fann_set_cascade_activation_functions — Sets the array of cascade candidate activation functions
  • fann_set_cascade_activation_steepnesses — Sets the array of cascade candidate activation steepnesses
  • fann_set_cascade_candidate_change_fraction — Sets the cascade candidate change fraction
  • fann_set_cascade_candidate_limit — Sets the candidate limit
  • fann_set_cascade_candidate_stagnation_epochs — Sets the number of cascade candidate stagnation epochs
  • fann_set_cascade_max_cand_epochs — Sets the max candidate epochs
  • fann_set_cascade_max_out_epochs — Sets the maximum out epochs
  • fann_set_cascade_min_cand_epochs — Sets the min candidate epochs
  • fann_set_cascade_min_out_epochs — Sets the minimum out epochs
  • fann_set_cascade_num_candidate_groups — Sets the number of candidate groups
  • fann_set_cascade_output_change_fraction — Sets the cascade output change fraction
  • fann_set_cascade_output_stagnation_epochs — Sets the number of cascade output stagnation epochs
  • fann_set_cascade_weight_multiplier — Sets the weight multiplier
  • fann_set_error_log — Sets where the errors are logged to
  • fann_set_input_scaling_params — Calculate input scaling parameters for future use based on training data
  • fann_set_learning_momentum — Sets the learning momentum
  • fann_set_learning_rate — Sets the learning rate
  • fann_set_output_scaling_params — Calculate output scaling parameters for future use based on training data
  • fann_set_quickprop_decay — Sets the quickprop decay factor
  • fann_set_quickprop_mu — Sets the quickprop mu factor
  • fann_set_rprop_decrease_factor — Sets the decrease factor used during RPROP training
  • fann_set_rprop_delta_max — Sets the maximum step-size
  • fann_set_rprop_delta_min — Sets the minimum step-size
  • fann_set_rprop_delta_zero — Sets the initial step-size
  • fann_set_rprop_increase_factor — Sets the increase factor used during RPROP training
  • fann_set_sarprop_step_error_shift — Sets the sarprop step error shift
  • fann_set_sarprop_step_error_threshold_factor — Sets the sarprop step error threshold factor
  • fann_set_sarprop_temperature — Sets the sarprop temperature
  • fann_set_sarprop_weight_decay_shift — Sets the sarprop weight decay shift
  • fann_set_scaling_params — Calculate input and output scaling parameters for future use based on training data
  • fann_set_train_error_function — Sets the error function used during training
  • fann_set_train_stop_function — Sets the stop function used during training
  • fann_set_training_algorithm — Sets the training algorithm
  • fann_set_weight_array — Set connections in the network
  • fann_set_weight — Set a connection in the network
  • fann_shuffle_train_data — Shuffles training data, randomizing the order
  • fann_subset_train_data — Returns an copy of a subset of the train data
  • fann_test_data — Test a set of training data and calculates the MSE for the training data
  • fann_test — Test with a set of inputs, and a set of desired outputs
  • fann_train_epoch — Train one epoch with a set of training data
  • fann_train_on_data — Trains on an entire dataset for a period of time
  • fann_train_on_file — Trains on an entire dataset, which is read from file, for a period of time
  • fann_train — Train one iteration with a set of inputs, and a set of desired outputs
XOR training
fann_cascadetrain_on_data
FANN


Trains on an entire dataset, for a period of time using the Cascade2 training algorithm

Fann Funktionen
fann_cascadetrain_on_file
Fann Funktionen
PHP Manual

fann_cascadetrain_on_data

(PECL fann >= 1.0.0)

fann_cascadetrain_on_data — Trains on an entire dataset, for a period of time using the Cascade2 training algorithm

Beschreibung

bool fann_cascadetrain_on_data ( resource $ann , resource $data , int $max_neurons , int $neurons_between_reports , float $desired_error )

The cascade output change fraction is a number between 0 and 1 determining how large a fraction the fann_get_MSE() value should change within fann_get_cascade_output_stagnation_epochs() during training of the output connections, in order for the training not to stagnate. If the training stagnates, the training of the output connections will be ended and new candidates will be prepared.

This training uses the parameters set using the fann_set_cascade_..., but it also uses another training algorithm as it’s internal training algorithm. This algorithm can be set to either FANN_TRAIN_RPROP or FANN_TRAIN_QUICKPROP by fann_set_training_algorithm(), and the parameters set for these training algorithms will also affect the cascade training.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

data

Resource für Trainingsdaten eines neuralen Netzwerks.

max_neurons

The maximum number of neurons to be added to neural network.

neurons_between_reports

The number of neurons between printing a status report. A value of zero means no reports should be printed.

desired_error

The desired fann_get_MSE() or fann_get_bit_fail(), depending on which stop function is chosen by fann_set_train_stop_function()

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_cascadetrain_on_file() - Trains on an entire dataset read from file, for a period of time using the Cascade2 training algorithm.

Fann Funktionen
fann_cascadetrain_on_file
Fann Funktionen


Trains on an entire dataset read from file, for a period of time using the Cascade2 training algorithm.

fann_cascadetrain_on_data
fann_clear_scaling_params
Fann Funktionen
PHP Manual

fann_cascadetrain_on_file

(PECL fann >= 1.0.0)

fann_cascadetrain_on_file — Trains on an entire dataset read from file, for a period of time using the Cascade2 training algorithm.

Beschreibung

bool fann_cascadetrain_on_file ( resource $ann , string $filename , int $max_neurons , int $neurons_between_reports , float $desired_error )

Does the same as fann_cascadetrain_on_data(), but reads the training data directly from a file.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

filename

The maximum number of neurons to be added to neural network

max_neurons

The number of neurons between printing a status report to stdout. A value of zero means no reports should be printed.

neurons_between_reports

The number of neurons between printing a status report. A value of zero means no reports should be printed.

desired_error

The desired fann_get_MSE() or fann_get_bit_fail(), depending on which stop function is chosen by fann_set_train_stop_function().

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_cascadetrain_on_data() - Trains on an entire dataset, for a period of time using the Cascade2 training algorithm

fann_cascadetrain_on_data
fann_clear_scaling_params
Fann Funktionen


Clears scaling parameters

fann_cascadetrain_on_file
fann_copy
Fann Funktionen
PHP Manual

fann_clear_scaling_params

(PECL fann >= 1.0.0)

fann_clear_scaling_params — Clears scaling parameters

Beschreibung

bool fann_clear_scaling_params ( resource $ann )

Clears scaling parameters.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

fann_cascadetrain_on_file
fann_copy
Fann Funktionen


Creates a copy of a fann structure

fann_clear_scaling_params
fann_create_from_file
Fann Funktionen
PHP Manual

fann_copy

(PECL fann >= 1.0.0)

fann_copy — Creates a copy of a fann structure

Beschreibung

resource fann_copy ( resource $ann )

Creates a copy of a fann structure.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

Returns a copy of neural network resource on success, or FALSE on error

Siehe auch

  • fann_test() - Test with a set of inputs, and a set of desired outputs

fann_clear_scaling_params
fann_create_from_file
Fann Funktionen


Constructs a backpropagation neural network from a configuration file

fann_copy
fann_create_shortcut_array
Fann Funktionen
PHP Manual

fann_create_from_file

(PECL fann >= 1.0.0)

fann_create_from_file — Constructs a backpropagation neural network from a configuration file

Beschreibung

resource fann_create_from_file ( string $configuration_file )

Constructs a backpropagation neural network from a configuration file, which have been saved by fann_save().

Parameter-Liste

configuration_file

The configuration file path.

Rückgabewerte

Gibt bei Erfolg eines Resource eines neuralen Netzwerks zurück, ansonsten FALSE im Fehlerfall.

Siehe auch

  • fann_save() - Saves the entire network to a configuration file

fann_copy
fann_create_shortcut_array
Fann Funktionen


Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections

fann_create_from_file
fann_create_shortcut
Fann Funktionen
PHP Manual

fann_create_shortcut_array

(PECL fann >= 1.0.0)

fann_create_shortcut_array — Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections

Beschreibung

resource fann_create_shortcut_array ( int $num_layers , array $layers )

Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections using an array of layers sizes.

Parameter-Liste

num_layers

The total number of layers including the input and the output layer.

layers

An array of layers sizes.

Rückgabewerte

Returns a neural network resource on success, or FALSE on error.

Siehe auch

  • fann_create_shortcut() - Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections
  • fann_create_sparse() - Creates a standard backpropagation neural network, which is not fully connected
  • fann_create_standard() - Creates a standard fully connected backpropagation neural network

fann_create_from_file
fann_create_shortcut
Fann Funktionen


Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections

fann_create_shortcut_array
fann_create_sparse_array
Fann Funktionen
PHP Manual

fann_create_shortcut

(PECL fann >= 1.0.0)

fann_create_shortcut — Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections

Beschreibung

reference fann_create_shortcut ( int $num_layers , int $num_neurons1 , int $num_neurons2 [, int $... ] )

Creates a standard backpropagation neural network, which is not fully connected and which also has shortcut connections.

Shortcut connections are connections that skip layers. A fully connected network with shortcut connections, is a network where all neurons are connected to all neurons in later layers. Including direct connections from the input layer to the output layer.

Parameter-Liste

num_layers

The total number of layers including the input and the output layer.

num_neurons1

Number of neurons in the first layer.

num_neurons2

Number of neurons in the second layer.

...

Number of neurons in other layers.

Rückgabewerte

Returns a neural network resource on success, or FALSE on error.

Siehe auch

  • fann_create_shortcut_array() - Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections
  • fann_create_sparse() - Creates a standard backpropagation neural network, which is not fully connected
  • fann_create_standard() - Creates a standard fully connected backpropagation neural network

fann_create_shortcut_array
fann_create_sparse_array
Fann Funktionen


Creates a standard backpropagation neural network, which is not fully connected using an array of layer sizes

fann_create_shortcut
fann_create_sparse
Fann Funktionen
PHP Manual

fann_create_sparse_array

(PECL fann >= 1.0.0)

fann_create_sparse_array — Creates a standard backpropagation neural network, which is not fully connected using an array of layer sizes

Beschreibung

ReturnType fann_create_sparse_array ( float $connection_rate , int $num_layers , array $layers )

Creates a standard backpropagation neural network, which is not fully connected using an array of layer sizes.

Parameter-Liste

connection_rate

The connection rate controls how many connections there will be in the network. If the connection rate is set to 1, the network will be fully connected, but if it is set to 0.5 only half of the connections will be set. A connection rate of 1 will yield the same result as fann_create_standard().

num_layers

The total number of layers including the input and the output layer.

layers

An array of layer sizes.

Rückgabewerte

Returns a neural network resource on success, or FALSE on error.

Siehe auch

  • fann_create_sparse() - Creates a standard backpropagation neural network, which is not fully connected
  • fann_create_standard() - Creates a standard fully connected backpropagation neural network
  • fann_create_shortcut() - Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections

fann_create_shortcut
fann_create_sparse
Fann Funktionen


Creates a standard backpropagation neural network, which is not fully connected

fann_create_sparse_array
fann_create_standard_array
Fann Funktionen
PHP Manual

fann_create_sparse

(PECL fann >= 1.0.0)

fann_create_sparse — Creates a standard backpropagation neural network, which is not fully connected

Beschreibung

ReturnType fann_create_sparse ( float $connection_rate , int $num_layers , int $num_neurons1 , int $num_neurons2 [, int $... ] )

Creates a standard backpropagation neural network, which is not fully connected.

Parameter-Liste

connection_rate

The connection rate controls how many connections there will be in the network. If the connection rate is set to 1, the network will be fully connected, but if it is set to 0.5 only half of the connections will be set. A connection rate of 1 will yield the same result as fann_create_standard().

num_layers

The total number of layers including the input and the output layer.

num_neurons1

Number of neurons in the first layer.

num_neurons2

Number of neurons in the second layer.

...

Number of neurons in other layers.

Rückgabewerte

Returns a neural network resource on success, or FALSE on error.

Siehe auch

  • fann_create_sparse_array() - Creates a standard backpropagation neural network, which is not fully connected using an array of layer sizes
  • fann_create_standard() - Creates a standard fully connected backpropagation neural network
  • fann_create_shortcut() - Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections

fann_create_sparse_array
fann_create_standard_array
Fann Funktionen


Creates a standard fully connected backpropagation neural network using an array of layer sizes

fann_create_sparse
fann_create_standard
Fann Funktionen
PHP Manual

fann_create_standard_array

(PECL fann >= 1.0.0)

fann_create_standard_array — Creates a standard fully connected backpropagation neural network using an array of layer sizes

Beschreibung

resource fann_create_standard_array ( int $num_layers , array $layers )

Creates a standard fully connected backpropagation neural network.

There will be a bias neuron in each layer (except the output layer), and this bias neuron will be connected to all neurons in the next layer. When running the network, the bias nodes always emits 1.

To destroy a neural network use the fann_destroy() function.

Parameter-Liste

num_layers

The total number of layers including the input and the output layer.

layers

An array of layer sizes.

Rückgabewerte

Returns a neural network resource on success, or FALSE on error.

Siehe auch

  • fann_create_standard() - Creates a standard fully connected backpropagation neural network
  • fann_create_sparse() - Creates a standard backpropagation neural network, which is not fully connected
  • fann_create_shortcut() - Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections

fann_create_sparse
fann_create_standard
Fann Funktionen


Creates a standard fully connected backpropagation neural network

fann_create_standard_array
fann_create_train_from_callback
Fann Funktionen
PHP Manual

fann_create_standard

(PECL fann >= 1.0.0)

fann_create_standard — Creates a standard fully connected backpropagation neural network

Beschreibung

resource fann_create_standard ( int $num_layers , int $num_neurons1 , int $num_neurons2 [, int $... ] )

Creates a standard fully connected backpropagation neural network.

There will be a bias neuron in each layer (except the output layer), and this bias neuron will be connected to all neurons in the next layer. When running the network, the bias nodes always emits 1.

To destroy a neural network use the fann_destroy() function.

Parameter-Liste

num_layers

The total number of layers including the input and the output layer.

num_neurons1

Number of neurons in the first layer.

num_neurons2

Number of neurons in the second layer.

...

Number of neurons in other layers.

Rückgabewerte

Returns a neural network resource on success, or FALSE on error.

Siehe auch

  • fann_create_standard_array() - Creates a standard fully connected backpropagation neural network using an array of layer sizes
  • fann_create_sparse() - Creates a standard backpropagation neural network, which is not fully connected
  • fann_create_shortcut() - Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections

fann_create_standard_array
fann_create_train_from_callback
Fann Funktionen


Creates the training data struct from a user supplied function

fann_create_standard
fann_create_train
Fann Funktionen
PHP Manual

fann_create_train_from_callback

(PECL fann >= 1.0.0)

fann_create_train_from_callback — Creates the training data struct from a user supplied function

Beschreibung

resource fann_create_train_from_callback ( int $num_data , int $num_input , int $num_output , callable $user_function )

Creates the training data struct from a user supplied function. As the training data are numerable (data 1, data 2...), the user must write a function that receives the number of the training data set (input, output) and returns the set.

Parameter-Liste

num_data

The number of training data

num_input

The number of inputs per training data

num_output

The number of ouputs per training data

user_function

The user supplied function with following parameters:

  • num - The number of the training data set
  • num_input - The number of inputs per training data
  • num_output - The number of ouputs per training data

The function should return an associative array with keys input and output and two array values of input and output.

Rückgabewerte

Gibt bei Erfolg eine Resource mit Trainingsdaten zurück, ansonsten FALSE im Fehlerfall.

Beispiele

Beispiel #1 fann_create_train_from_callback() example

<?php
function create_train_callback($num_data, $num_input, $num_output) {
    return array(
        "input" => array_fill(0, $num_input, 1),
        "output" => array_fill(0, $num_output, 1),
    );
}

$num_data = 3;
$num_input = 2;
$num_output = 1;
$train_data = fann_create_train_from_callback($num_data, $num_input, $num_output, "create_train_callback");
if ($train_data) {
    // Do something with $train_data
}
?>

Siehe auch

  • fann_read_train_from_file() - Reads a file that stores training data
  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_destroy_train() - Destructs the training data
  • fann_save_train() - Save the training structure to a file

fann_create_standard
fann_create_train
Fann Funktionen


Creates an empty training data struct

fann_create_train_from_callback
fann_descale_input
Fann Funktionen
PHP Manual

fann_create_train

(PECL fann >= 1.0.0)

fann_create_train — Creates an empty training data struct

Beschreibung

resource fann_create_train ( int $num_data , int $num_input , int $num_output )

Creates an empty training data struct.

Parameter-Liste

num_data

The number of training data

num_input

The number of inputs per training data

num_output

The number of ouputs per training data

Rückgabewerte

Gibt bei Erfolg eine Resource mit Trainingsdaten zurück, ansonsten FALSE im Fehlerfall.

Siehe auch

  • fann_read_train_from_file() - Reads a file that stores training data
  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_destroy_train() - Destructs the training data
  • fann_save_train() - Save the training structure to a file

fann_create_train_from_callback
fann_descale_input
Fann Funktionen


Scale data in input vector after get it from ann based on previously calculated parameters

fann_create_train
fann_descale_output
Fann Funktionen
PHP Manual

fann_descale_input

(PECL fann >= 1.0.0)

fann_descale_input — Scale data in input vector after get it from ann based on previously calculated parameters

Beschreibung

bool fann_descale_input ( resource $ann , array $input_vector )

Scale data in input vector after get it from ann based on previously calculated parameters.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

input_vector

Input vector that will be descaled

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_scale_input() - Scale data in input vector before feed it to ann based on previously calculated parameters
  • fann_descale_output() - Scale data in output vector after get it from ann based on previously calculated parameters

fann_create_train
fann_descale_output
Fann Funktionen


Scale data in output vector after get it from ann based on previously calculated parameters

fann_descale_input
fann_descale_train
Fann Funktionen
PHP Manual

fann_descale_output

(PECL fann >= 1.0.0)

fann_descale_output — Scale data in output vector after get it from ann based on previously calculated parameters

Beschreibung

bool fann_descale_output ( resource $ann , array $output_vector )

Scale data in output vector after get it from ann based on previously calculated parameters.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

output_vector

Output vector that will be descaled

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_scale_output() - Scale data in output vector before feed it to ann based on previously calculated parameters
  • fann_descale_input() - Scale data in input vector after get it from ann based on previously calculated parameters

fann_descale_input
fann_descale_train
Fann Funktionen


Descale input and output data based on previously calculated parameters

fann_descale_output
fann_destroy_train
Fann Funktionen
PHP Manual

fann_descale_train

(PECL fann >= 1.0.0)

fann_descale_train — Descale input and output data based on previously calculated parameters

Beschreibung

bool fann_descale_train ( resource $ann , resource $train_data )

Descale input and output data based on previously calculated parameters.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

train_data

Resource für Trainingsdaten eines neuralen Netzwerks.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_scale_train() - Scale input and output data based on previously calculated parameters
  • fann_set_scaling_params() - Calculate input and output scaling parameters for future use based on training data

fann_descale_output
fann_destroy_train
Fann Funktionen


Destructs the training data

fann_descale_train
fann_destroy
Fann Funktionen
PHP Manual

fann_destroy_train

(PECL fann >= 1.0.0)

fann_destroy_train — Destructs the training data

Beschreibung

bool fann_destroy_train ( resource $train_data )

Destructs the training data

Parameter-Liste

train_data

Resource für Trainingsdaten eines neuralen Netzwerks.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

fann_descale_train
fann_destroy
Fann Funktionen


Destroys the entire network and properly freeing all the associated memory

fann_destroy_train
fann_duplicate_train_data
Fann Funktionen
PHP Manual

fann_destroy

(PECL fann >= 1.0.0)

fann_destroy — Destroys the entire network and properly freeing all the associated memory

Beschreibung

bool fann_destroy ( resource $ann )

Destroys the entire network and properly freeing all the associated memory.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

fann_destroy_train
fann_duplicate_train_data
Fann Funktionen


Returns an exact copy of a fann train data

fann_destroy
fann_get_activation_function
Fann Funktionen
PHP Manual

fann_duplicate_train_data

(PECL fann >= 1.0.0)

fann_duplicate_train_data — Returns an exact copy of a fann train data

Beschreibung

resource fann_duplicate_train_data ( resource $data )

Returns an exact copy of a fann train data resource.

Parameter-Liste

data

Resource für Trainingsdaten eines neuralen Netzwerks.

Rückgabewerte

Gibt bei Erfolg eine Resource mit Trainingsdaten zurück, ansonsten FALSE im Fehlerfall.

fann_destroy
fann_get_activation_function
Fann Funktionen


Returns the activation function

fann_duplicate_train_data
fann_get_activation_steepness
Fann Funktionen
PHP Manual

fann_get_activation_function

(PECL fann >= 1.0.0)

fann_get_activation_function — Returns the activation function

Beschreibung

int fann_get_activation_function ( resource $ann , int $layer , int $neuron )

Get the activation function for neuron number neuron in layer number layer, counting the input layer as layer 0.

It is not possible to get activation functions for the neurons in the input layer.

The return value is one of the activation functions constants.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

layer

Layer number.

neuron

Neuron number.

Rückgabewerte

Learning functions constant or -1 if the neuron is not defined in the neural network, or FALSE on error.

Siehe auch

  • fann_set_activation_function_layer() - Sets the activation function for all the neurons in the supplied layer.
  • fann_set_activation_function_hidden() - Sets the activation function for all of the hidden layers
  • fann_set_activation_function_output() - Sets the activation function for the output layer
  • fann_set_activation_steepness() - Sets the activation steepness for supplied neuron and layer number
  • fann_set_activation_function() - Sets the activation function for supplied neuron and layer

fann_duplicate_train_data
fann_get_activation_steepness
Fann Funktionen


Returns the activation steepness for supplied neuron and layer number

fann_get_activation_function
fann_get_bias_array
Fann Funktionen
PHP Manual

fann_get_activation_steepness

(PECL fann >= 1.0.0)

fann_get_activation_steepness — Returns the activation steepness for supplied neuron and layer number

Beschreibung

float fann_get_activation_steepness ( resource $ann , int $layer , int $neuron )

Get the activation steepness for neuron number neuron in layer number layer, counting the input layer as layer 0.

It is not possible to get activation steepness for the neurons in the input layer.

The steepness of an activation function says something about how fast the activation function goes from the minimum to the maximum. A high value for the activation function will also give a more agressive training.

When training neural networks where the output values should be at the extremes (usually 0 and 1, depending on the activation function), a steep activation function can be used (e.g. 1.0).

The default activation steepness is 0.5.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

layer

Layer number

neuron

Neuron number

Rückgabewerte

The activation steepness for the neuron or -1 if the neuron is not defined in the neural network, or FALSE on error.

Siehe auch

  • fann_set_activation_function() - Sets the activation function for supplied neuron and layer
  • fann_set_activation_steepness_layer() - Sets the activation steepness for all of the neurons in the supplied layer number
  • fann_set_activation_steepness_hidden() - Sets the steepness of the activation steepness for all neurons in the all hidden layers
  • fann_set_activation_steepness_output() - Sets the steepness of the activation steepness in the output layer
  • fann_set_activation_steepness() - Sets the activation steepness for supplied neuron and layer number

fann_get_activation_function
fann_get_bias_array
Fann Funktionen


Get the number of bias in each layer in the network

fann_get_activation_steepness
fann_get_bit_fail_limit
Fann Funktionen
PHP Manual

fann_get_bias_array

(PECL fann >= 1.0.0)

fann_get_bias_array — Get the number of bias in each layer in the network

Beschreibung

array fann_get_bias_array ( resource $ann )

Get the number of bias in each layer in the network.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

An array of numbers of bias in each layer

fann_get_activation_steepness
fann_get_bit_fail_limit
Fann Funktionen


Returns the bit fail limit used during training

fann_get_bias_array
fann_get_bit_fail
Fann Funktionen
PHP Manual

fann_get_bit_fail_limit

(PECL fann >= 1.0.0)

fann_get_bit_fail_limit — Returns the bit fail limit used during training

Beschreibung

float fann_get_bit_fail_limit ( resource $ann )

Returns the bit fail limit used during training.

The bit fail limit is used during training where the stop function is set to FANN_STOPFUNC_BIT.

The limit is the maximum accepted difference between the desired output and the actual output during training. Each output that diverges more than this limit is counted as an error bit. This difference is divided by two when dealing with symmetric activation functions, so that symmetric and not symmetric activation functions can use the same limit.

The default bit fail limit is 0.35.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

The bit fail limit, or FALSE on error.

Siehe auch

  • fann_set_bit_fail_limit() - Set the bit fail limit used during training

fann_get_bias_array
fann_get_bit_fail
Fann Funktionen


The number of fail bits

fann_get_bit_fail_limit
fann_get_cascade_activation_functions_count
Fann Funktionen
PHP Manual

fann_get_bit_fail

(PECL fann >= 1.0.0)

fann_get_bit_fail — The number of fail bits

Beschreibung

int fann_get_bit_fail ( resource $ann )

The number of fail bits; means the number of output neurons which differ more than the bit fail limit (see fann_get_bit_fail_limit(), fann_set_bit_fail_limit()). The bits are counted in all of the training data, so this number can be higher than the number of training data.

This value is reset by fann_reset_MSE() and updated by all the same functions which also updates the MSE value (e.g. fann_test_data(), fann_train_epoch())

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

The number of bits fail, or FALSE on error.

Siehe auch

  • fann_get_MSE() - Reads the mean square error from the network
  • fann_reset_MSE() - Resets the mean square error from the network
  • fann_test_data() - Test a set of training data and calculates the MSE for the training data
  • fann_train_epoch() - Train one epoch with a set of training data
  • fann_get_bit_fail_limit() - Returns the bit fail limit used during training
  • fann_set_bit_fail_limit() - Set the bit fail limit used during training

fann_get_bit_fail_limit
fann_get_cascade_activation_functions_count
Fann Funktionen


Returns the number of cascade activation functions

fann_get_bit_fail
fann_get_cascade_activation_functions
Fann Funktionen
PHP Manual

fann_get_cascade_activation_functions_count

(PECL fann >= 1.0.0)

fann_get_cascade_activation_functions_count — Returns the number of cascade activation functions

Beschreibung

int fann_get_cascade_activation_functions_count ( resource $ann )

The number of activation functions in the fann_get_cascade_activation_functions() array.

The default number of activation functions is 6.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

The number of cascade activation functions, or FALSE on error.

Siehe auch

  • fann_get_cascade_activation_functions() - Returns the cascade activation functions
  • fann_set_cascade_activation_functions() - Sets the array of cascade candidate activation functions

fann_get_bit_fail
fann_get_cascade_activation_functions
Fann Funktionen


Returns the cascade activation functions

fann_get_cascade_activation_functions_count
fann_get_cascade_activation_steepnesses_count
Fann Funktionen
PHP Manual

fann_get_cascade_activation_functions

(PECL fann >= 1.0.0)

fann_get_cascade_activation_functions — Returns the cascade activation functions

Beschreibung

array fann_get_cascade_activation_functions ( resource $ann )

The cascade activation functions array is an array of the different activation functions used by the candidates

See fann_get_cascade_num_candidates() for a description of which candidate neurons will be generated by this array.

The default activation functions are FANN_SIGMOID, FANN_SIGMOID_SYMMETRIC, FANN_GAUSSIAN, FANN_GAUSSIAN_SYMMETRIC, FANN_ELLIOT, FANN_ELLIOT_SYMMETRIC.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

The cascade activation functions, or FALSE on error.

Siehe auch

  • fann_get_cascade_activation_functions_count() - Returns the number of cascade activation functions
  • fann_set_cascade_activation_functions() - Sets the array of cascade candidate activation functions

fann_get_cascade_activation_functions_count
fann_get_cascade_activation_steepnesses_count
Fann Funktionen


The number of activation steepnesses

fann_get_cascade_activation_functions
fann_get_cascade_activation_steepnesses
Fann Funktionen
PHP Manual

fann_get_cascade_activation_steepnesses_count

(PECL fann >= 1.0.0)

fann_get_cascade_activation_steepnesses_count — The number of activation steepnesses

Beschreibung

int fann_get_cascade_activation_steepnesses_count ( resource $ann )

The number of activation steepnesses in the fann_get_cascade_activation_functions() array.

The default number of activation steepnesses is 4.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

The number of activation steepnesses, or FALSE on error.

Siehe auch

  • fann_get_cascade_activation_steepnesses() - Returns the cascade activation steepnesses
  • fann_set_cascade_activation_functions() - Sets the array of cascade candidate activation functions

fann_get_cascade_activation_functions
fann_get_cascade_activation_steepnesses
Fann Funktionen


Returns the cascade activation steepnesses

fann_get_cascade_activation_steepnesses_count
fann_get_cascade_candidate_change_fraction
Fann Funktionen
PHP Manual

fann_get_cascade_activation_steepnesses

(PECL fann >= 1.0.0)

fann_get_cascade_activation_steepnesses — Returns the cascade activation steepnesses

Beschreibung

array fann_get_cascade_activation_steepnesses ( resource $ann )

The cascade activation steepnesses array is an array of the different activation functions used by the candidates.

See fann_get_cascade_num_candidates() for a description of which candidate neurons will be generated by this array.

The default activation steepnesses are {0.25, 0.50, 0.75, 1.00}.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

The cascade activation steepnesses, or FALSE on error.

Siehe auch

  • fann_get_cascade_activation_steepnesses_count() - The number of activation steepnesses
  • fann_set_cascade_activation_steepnesses() - Sets the array of cascade candidate activation steepnesses

fann_get_cascade_activation_steepnesses_count
fann_get_cascade_candidate_change_fraction
Fann Funktionen


Returns the cascade candidate change fraction

fann_get_cascade_activation_steepnesses
fann_get_cascade_candidate_limit
Fann Funktionen
PHP Manual

fann_get_cascade_candidate_change_fraction

(PECL fann >= 1.0.0)

fann_get_cascade_candidate_change_fraction — Returns the cascade candidate change fraction

Beschreibung

float fann_get_cascade_candidate_change_fraction ( resource $ann )

The cascade candidate change fraction is a number between 0 and 1 determining how large a fraction the fann_get_MSE() value should change within fann_get_cascade_candidate_stagnation_epochs() during training of the candidate neurons, in order for the training not to stagnate. If the training stagnates, the training of the candidate neurons will be ended and the best candidate will be selected.

It means that if the MSE does not change by a fraction of fann_get_cascade_candidate_change_fraction() during a period of fann_get_cascade_candidate_stagnation_epochs(), the training of the candidate neurons is stopped because the training has stagnated.

If the cascade candidate change fraction is low, the candidate neurons will be trained more and if the fraction is high they will be trained less.

The default cascade candidate change fraction is 0.01, which is equalent to a 1% change in MSE.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

The cascade candidate change fraction, or FALSE on error.

Siehe auch

  • fann_set_cascade_candidate_change_fraction() - Sets the cascade candidate change fraction
  • fann_get_MSE() - Reads the mean square error from the network
  • fann_get_cascade_candidate_stagnation_epochs() - Returns the number of cascade candidate stagnation epochs

fann_get_cascade_activation_steepnesses
fann_get_cascade_candidate_limit
Fann Funktionen


Return the candidate limit

fann_get_cascade_candidate_change_fraction
fann_get_cascade_candidate_stagnation_epochs
Fann Funktionen
PHP Manual

fann_get_cascade_candidate_limit

(PECL fann >= 1.0.0)

fann_get_cascade_candidate_limit — Return the candidate limit

Beschreibung

float fann_get_cascade_candidate_limit ( resource $ann )

The candidate limit is a limit for how much the candidate neuron may be trained. The limit is a limit on the proportion between the MSE and candidate score.

Set this to a lower value to avoid overfitting and to a higher if overfitting is not a problem.

The default candidate limit is 1000.0.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

The candidate limit, or FALSE on error.

Siehe auch

  • fann_set_cascade_candidate_limit() - Sets the candidate limit

fann_get_cascade_candidate_change_fraction
fann_get_cascade_candidate_stagnation_epochs
Fann Funktionen


Returns the number of cascade candidate stagnation epochs

fann_get_cascade_candidate_limit
fann_get_cascade_max_cand_epochs
Fann Funktionen
PHP Manual

fann_get_cascade_candidate_stagnation_epochs

(PECL fann >= 1.0.0)

fann_get_cascade_candidate_stagnation_epochs — Returns the number of cascade candidate stagnation epochs

Beschreibung

float fann_get_cascade_candidate_stagnation_epochs ( resource $ann )

The number of cascade candidate stagnation epochs determines the number of epochs training is allowed to continue without changing the MSE by a fraction of fann_get_cascade_candidate_change_fraction().

See more info about this parameter in fann_get_cascade_candidate_change_fraction().

The default number of cascade candidate stagnation epochs is 12.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

The number of cascade candidate stagnation epochs, or FALSE on error.

Siehe auch

  • fann_set_cascade_candidate_stagnation_epochs() - Sets the number of cascade candidate stagnation epochs
  • fann_get_cascade_candidate_change_fraction() - Returns the cascade candidate change fraction

fann_get_cascade_candidate_limit
fann_get_cascade_max_cand_epochs
Fann Funktionen


Returns the maximum candidate epochs

fann_get_cascade_candidate_stagnation_epochs
fann_get_cascade_max_out_epochs
Fann Funktionen
PHP Manual

fann_get_cascade_max_cand_epochs

(PECL fann >= 1.0.0)

fann_get_cascade_max_cand_epochs — Returns the maximum candidate epochs

Beschreibung

int fann_get_cascade_max_cand_epochs ( resource $ann )

The maximum candidate epochs determines the maximum number of epochs the input connections to the candidates may be trained before adding a new candidate neuron.

The default max candidate epochs is 150.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

The maximum candidate epochs, or FALSE on error.

Siehe auch

  • fann_set_cascade_max_cand_epochs() - Sets the max candidate epochs

fann_get_cascade_candidate_stagnation_epochs
fann_get_cascade_max_out_epochs
Fann Funktionen


Returns the maximum out epochs

fann_get_cascade_max_cand_epochs
fann_get_cascade_min_cand_epochs
Fann Funktionen
PHP Manual

fann_get_cascade_max_out_epochs

(PECL fann >= 1.0.0)

fann_get_cascade_max_out_epochs — Returns the maximum out epochs

Beschreibung

int fann_get_cascade_max_out_epochs ( resource $ann )

The maximum out epochs determines the maximum number of epochs the output connections may be trained after adding a new candidate neuron.

The default max out epochs is 150.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

The maximum out epochs, or FALSE on error.

Siehe auch

  • fann_set_cascade_max_out_epochs() - Sets the maximum out epochs

fann_get_cascade_max_cand_epochs
fann_get_cascade_min_cand_epochs
Fann Funktionen


Returns the minimum candidate epochs

fann_get_cascade_max_out_epochs
fann_get_cascade_min_out_epochs
Fann Funktionen
PHP Manual

fann_get_cascade_min_cand_epochs

(PECL fann >= 1.0.0)

fann_get_cascade_min_cand_epochs — Returns the minimum candidate epochs

Beschreibung

int fann_get_cascade_min_cand_epochs ( resource $ann )

The minimum candidate epochs determines the minimum number of epochs the input connections to the candidates may be trained before adding a new candidate neuron.

The default min candidate epochs is 50.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

The minimum candidate epochs, or FALSE on error.

Siehe auch

  • fann_set_cascade_min_cand_epochs() - Sets the min candidate epochs

fann_get_cascade_max_out_epochs
fann_get_cascade_min_out_epochs
Fann Funktionen


Returns the minimum out epochs

fann_get_cascade_min_cand_epochs
fann_get_cascade_num_candidate_groups
Fann Funktionen
PHP Manual

fann_get_cascade_min_out_epochs

(PECL fann >= 1.0.0)

fann_get_cascade_min_out_epochs — Returns the minimum out epochs

Beschreibung

int fann_get_cascade_min_out_epochs ( resource $ann )

The minimum out epochs determines the minimum number of epochs the output connections must be trained after adding a new candidate neuron.

The default min out epochs is 50.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

The minimum out epochs, or FALSE on error.

Siehe auch

  • fann_set_cascade_min_out_epochs() - Sets the minimum out epochs

fann_get_cascade_min_cand_epochs
fann_get_cascade_num_candidate_groups
Fann Funktionen


Returns the number of candidate groups

fann_get_cascade_min_out_epochs
fann_get_cascade_num_candidates
Fann Funktionen
PHP Manual

fann_get_cascade_num_candidate_groups

(PECL fann >= 1.0.0)

fann_get_cascade_num_candidate_groups — Returns the number of candidate groups

Beschreibung

int fann_get_cascade_num_candidate_groups ( resource $ann )

The number of candidate groups is the number of groups of identical candidates which will be used during training.

This number can be used to have more candidates without having to define new parameters for the candidates.

See fann_get_cascade_num_candidates() for a description of which candidate neurons will be generated by this parameter.

The default number of candidate groups is 2.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

The number of candidate groups, or FALSE on error.

Siehe auch

  • fann_set_cascade_num_candidate_groups() - Sets the number of candidate groups

fann_get_cascade_min_out_epochs
fann_get_cascade_num_candidates
Fann Funktionen


Returns the number of candidates used during training

fann_get_cascade_num_candidate_groups
fann_get_cascade_output_change_fraction
Fann Funktionen
PHP Manual

fann_get_cascade_num_candidates

(PECL fann >= 1.0.0)

fann_get_cascade_num_candidates — Returns the number of candidates used during training

Beschreibung

int fann_get_cascade_num_candidates ( resource $ann )

The number of candidates used during training (calculated by multiplying
fann_get_cascade_activation_functions_count(),
fann_get_cascade_activation_steepnesses_count() and
fann_get_cascade_num_candidate_groups()).

The actual candidates is defined by the fann_get_cascade_activation_functions() and fann_get_cascade_activation_steepnesses() arrays. These arrays define the activation functions and activation steepnesses used for the candidate neurons. If there are 2 activation functions in the activation function array and 3 steepnesses in the steepness array, then there will be 2x3=6 different candidates which will be trained. These 6 different candidates can be copied into several candidate groups, where the only difference between these groups is the initial weights. If the number of groups is set to 2, then the number of candidate neurons will be 2x3x2=12. The number of candidate groups is defined by fann_set_cascade_num_candidate_groups().

The default number of candidates is 6x4x2 = 48

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

The number of candidates used during training, or FALSE on error.

Siehe auch

  • fann_get_cascade_activation_functions() - Returns the cascade activation functions
  • fann_get_cascade_activation_functions_count() - Returns the number of cascade activation functions
  • fann_get_cascade_activation_steepnesses() - Returns the cascade activation steepnesses
  • fann_get_cascade_activation_steepnesses_count() - The number of activation steepnesses
  • fann_get_cascade_num_candidate_groups() - Returns the number of candidate groups

fann_get_cascade_num_candidate_groups
fann_get_cascade_output_change_fraction
Fann Funktionen


Returns the cascade output change fraction

fann_get_cascade_num_candidates
fann_get_cascade_output_stagnation_epochs
Fann Funktionen
PHP Manual

fann_get_cascade_output_change_fraction

(PECL fann >= 1.0.0)

fann_get_cascade_output_change_fraction — Returns the cascade output change fraction

Beschreibung

float fann_get_cascade_output_change_fraction ( resource $ann )

The cascade output change fraction is a number between 0 and 1 determining how large a fraction of the fann_get_MSE() value should change within fann_get_cascade_output_stagnation_epochs() during training of the output connections, in order for the training not to stagnate. If the training stagnates, the training of the output connections will be ended and new candidates will be prepared.

It means that if the MSE does not change by a fraction of fann_get_cascade_output_change_fraction() during a period of fann_get_cascade_output_stagnation_epochs(), the training of the output connections is stopped because the training has stagnated.

If the cascade output change fraction is low, the output connections will be trained more and if the fraction is high, they will be trained less.

The default cascade output change fraction is 0.01, which is equalent to a 1% change in MSE.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

The cascade output change fraction, or FALSE on error.

Siehe auch

  • fann_set_cascade_output_change_fraction() - Sets the cascade output change fraction
  • fann_get_MSE() - Reads the mean square error from the network
  • fann_get_cascade_output_stagnation_epochs() - Returns the number of cascade output stagnation epochs

fann_get_cascade_num_candidates
fann_get_cascade_output_stagnation_epochs
Fann Funktionen


Returns the number of cascade output stagnation epochs

fann_get_cascade_output_change_fraction
fann_get_cascade_weight_multiplier
Fann Funktionen
PHP Manual

fann_get_cascade_output_stagnation_epochs

(PECL fann >= 1.0.0)

fann_get_cascade_output_stagnation_epochs — Returns the number of cascade output stagnation epochs

Beschreibung

int fann_get_cascade_output_stagnation_epochs ( resource $ann )

The number of cascade output stagnation epochs determines the number of epochs training is allowed to continue without changing the MSE by a fraction of fann_get_cascade_output_change_fraction().

See more info about this parameter in fann_get_cascade_output_change_fraction().

The default number of cascade output stagnation epochs is 12.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

The number of cascade output stagnation epochs, or FALSE on error.

Siehe auch

  • fann_set_cascade_output_stagnation_epochs() - Sets the number of cascade output stagnation epochs
  • fann_get_cascade_output_change_fraction() - Returns the cascade output change fraction

fann_get_cascade_output_change_fraction
fann_get_cascade_weight_multiplier
Fann Funktionen


Returns the weight multiplier

fann_get_cascade_output_stagnation_epochs
fann_get_connection_array
Fann Funktionen
PHP Manual

fann_get_cascade_weight_multiplier

(PECL fann >= 1.0.0)

fann_get_cascade_weight_multiplier — Returns the weight multiplier

Beschreibung

float fann_get_cascade_weight_multiplier ( resource $ann )

The weight multiplier is a parameter which is used to multiply the weights from the candidate neuron before adding the neuron to the neural network. This parameter is usually between 0 and 1, and is used to make the training a bit less aggressive.

The default weight multiplier is 0.4.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

The weight multiplier, or FALSE on error.

Siehe auch

  • fann_set_cascade_weight_multiplier() - Sets the weight multiplier

fann_get_cascade_output_stagnation_epochs
fann_get_connection_array
Fann Funktionen


Get connections in the network

fann_get_cascade_weight_multiplier
fann_get_connection_rate
Fann Funktionen
PHP Manual

fann_get_connection_array

(PECL fann >= 1.0.0)

fann_get_connection_array — Get connections in the network

Beschreibung

array fann_get_connection_array ( resource $ann )

Get connections in the network.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

An array of connections in the network

fann_get_cascade_weight_multiplier
fann_get_connection_rate
Fann Funktionen


Get the connection rate used when the network was created

fann_get_connection_array
fann_get_errno
Fann Funktionen
PHP Manual

fann_get_connection_rate

(PECL fann >= 1.0.0)

fann_get_connection_rate — Get the connection rate used when the network was created

Beschreibung

float fann_get_connection_rate ( resource $ann )

Get the connection rate used when the network was created.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

The connection rate used when the network was created, or FALSE on error.

fann_get_connection_array
fann_get_errno
Fann Funktionen


Returns the last error number

fann_get_connection_rate
fann_get_errstr
Fann Funktionen
PHP Manual

fann_get_errno

(PECL fann >= 1.0.0)

fann_get_errno — Returns the last error number

Beschreibung

int fann_get_errno ( resource $errdat )

Returns the last error number.

Parameter-Liste

errdat

Entweder eine Resource eines neuralen Netzwerks oder Resource mit Trainingsdaten.

Rückgabewerte

The error number, or FALSE on error.

Siehe auch

  • fann_reset_errno() - Resets the last error number
  • fann_get_errstr() - Returns the last errstr

fann_get_connection_rate
fann_get_errstr
Fann Funktionen


Returns the last errstr

fann_get_errno
fann_get_layer_array
Fann Funktionen
PHP Manual

fann_get_errstr

(PECL fann >= 1.0.0)

fann_get_errstr — Returns the last errstr

Beschreibung

string fann_get_errstr ( resource $errdat )

Returns the last errstr.

Parameter-Liste

errdat

Entweder eine Resource eines neuralen Netzwerks oder Resource mit Trainingsdaten.

Rückgabewerte

The last error string, or FALSE on error.

Siehe auch

  • fann_reset_errstr() - Resets the last error string
  • fann_get_errno() - Returns the last error number

fann_get_errno
fann_get_layer_array
Fann Funktionen


Get the number of neurons in each layer in the network

fann_get_errstr
fann_get_learning_momentum
Fann Funktionen
PHP Manual

fann_get_layer_array

(PECL fann >= 1.0.0)

fann_get_layer_array — Get the number of neurons in each layer in the network

Beschreibung

array fann_get_layer_array ( resource $ann )

Get the number of neurons in each layer in the neural network.

Bias is not included so the layers match the fann_create functions.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

An array of numbers of neurons in each leayer

fann_get_errstr
fann_get_learning_momentum
Fann Funktionen


Returns the learning momentum

fann_get_layer_array
fann_get_learning_rate
Fann Funktionen
PHP Manual

fann_get_learning_momentum

(PECL fann >= 1.0.0)

fann_get_learning_momentum — Returns the learning momentum

Beschreibung

float fann_get_learning_momentum ( resource $ann )

The learning momentum can be used to speed up FANN_TRAIN_INCREMENTAL training. A too high momentum will however not benefit training. Setting momentum to 0 will be the same as not using the momentum parameter. The recommended value of this parameter is between 0.0 and 1.0.

The default momentum is 0.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

The learning momentum, or FALSE on error.

Siehe auch

  • fann_set_learning_momentum() - Sets the learning momentum
  • fann_set_training_algorithm() - Sets the training algorithm

fann_get_layer_array
fann_get_learning_rate
Fann Funktionen


Returns the learning rate

fann_get_learning_momentum
fann_get_MSE
Fann Funktionen
PHP Manual

fann_get_learning_rate

(PECL fann >= 1.0.0)

fann_get_learning_rate — Returns the learning rate

Beschreibung

float fann_get_learning_rate ( resource $ann )

The learning rate is used to determine how aggressive training should be for some of the training algorithms (FANN_TRAIN_INCREMENTAL, FANN_TRAIN_BATCH, FANN_TRAIN_QUICKPROP). Do however note that it is not used in FANN_TRAIN_RPROP.

The default learning rate is 0.7.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

The learning rate, or FALSE on error.

Siehe auch

  • fann_set_learning_rate() - Sets the learning rate
  • fann_set_training_algorithm() - Sets the training algorithm

fann_get_learning_momentum
fann_get_MSE
Fann Funktionen


Reads the mean square error from the network

fann_get_learning_rate
fann_get_network_type
Fann Funktionen
PHP Manual

fann_get_MSE

(PECL fann >= 1.0.0)

fann_get_MSE — Reads the mean square error from the network

Beschreibung

float fann_get_MSE ( resource $ann )

Reads the mean square error from the network.

Reads the mean square error from the network. This value is calculated during training or testing and can therefore sometimes be a bit off if the weights have been changed since the last calculation of the value.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

The mean square error, or FALSE on error.

Siehe auch

  • fann_test_data() - Test a set of training data and calculates the MSE for the training data

fann_get_learning_rate
fann_get_network_type
Fann Funktionen


Get the type of neural network it was created as

fann_get_MSE
fann_get_num_input
Fann Funktionen
PHP Manual

fann_get_network_type

(PECL fann >= 1.0.0)

fann_get_network_type — Get the type of neural network it was created as

Beschreibung

int fann_get_network_type ( resource $ann )

Get the type of neural network it was created as.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

Network type constant, or FALSE on error.

fann_get_MSE
fann_get_num_input
Fann Funktionen


Get the number of input neurons

fann_get_network_type
fann_get_num_layers
Fann Funktionen
PHP Manual

fann_get_num_input

(PECL fann >= 1.0.0)

fann_get_num_input — Get the number of input neurons

Beschreibung

int fann_get_num_input ( resource $ann )

Get the number of input neurons.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

Number of input neurons, or FALSE on error

fann_get_network_type
fann_get_num_layers
Fann Funktionen


Get the number of layers in the neural network

fann_get_num_input
fann_get_num_output
Fann Funktionen
PHP Manual

fann_get_num_layers

(PECL fann >= 1.0.0)

fann_get_num_layers — Get the number of layers in the neural network

Beschreibung

int fann_get_num_layers ( resource $ann )

Get the number of layers in the neural network.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

The number of leayers in the neural network, or FALSE on error.

fann_get_num_input
fann_get_num_output
Fann Funktionen


Get the number of output neurons

fann_get_num_layers
fann_get_quickprop_decay
Fann Funktionen
PHP Manual

fann_get_num_output

(PECL fann >= 1.0.0)

fann_get_num_output — Get the number of output neurons

Beschreibung

int fann_get_num_output ( resource $ann )

Get the number of output neurons.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

Number of output neurons, or FALSE on error

fann_get_num_layers
fann_get_quickprop_decay
Fann Funktionen


Returns the decay which is a factor that weights should decrease in each iteration during quickprop training

fann_get_num_output
fann_get_quickprop_mu
Fann Funktionen
PHP Manual

fann_get_quickprop_decay

(PECL fann >= 1.0.0)

fann_get_quickprop_decay — Returns the decay which is a factor that weights should decrease in each iteration during quickprop training

Beschreibung

float fann_get_quickprop_decay ( resource $ann )

The decay is a small negative valued number which is a factor that the weights should decrease in each iteration during quickprop training. This is used to make sure that the weights do not become too high during training.

The default decay is -0.0001.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

The decay, or FALSE on error.

Siehe auch

  • fann_set_quickprop_decay() - Sets the quickprop decay factor

fann_get_num_output
fann_get_quickprop_mu
Fann Funktionen


Returns the mu factor

fann_get_quickprop_decay
fann_get_rprop_decrease_factor
Fann Funktionen
PHP Manual

fann_get_quickprop_mu

(PECL fann >= 1.0.0)

fann_get_quickprop_mu — Returns the mu factor

Beschreibung

float fann_get_quickprop_mu ( resource $ann )

The mu factor is used to increase and decrease the step-size during quickprop training. The mu factor should always be above 1, since it would otherwise decrease the step-size when it was suppose to increase it.

The default mu factor is 1.75.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

The mu factor, or FALSE on error.

Siehe auch

  • fann_set_quickprop_mu() - Sets the quickprop mu factor

fann_get_quickprop_decay
fann_get_rprop_decrease_factor
Fann Funktionen


Returns the increase factor used during RPROP training

fann_get_quickprop_mu
fann_get_rprop_delta_max
Fann Funktionen
PHP Manual

fann_get_rprop_decrease_factor

(PECL fann >= 1.0.0)

fann_get_rprop_decrease_factor — Returns the increase factor used during RPROP training

Beschreibung

float fann_get_rprop_decrease_factor ( resource $ann )

The decrease factor is a value smaller than 1, which is used to decrease the step-size during RPROP training.

The default decrease factor is 0.5.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

The decrease factor, or FALSE on error.

Siehe auch

  • fann_set_rprop_decrease_factor() - Sets the decrease factor used during RPROP training

fann_get_quickprop_mu
fann_get_rprop_delta_max
Fann Funktionen


Returns the maximum step-size

fann_get_rprop_decrease_factor
fann_get_rprop_delta_min
Fann Funktionen
PHP Manual

fann_get_rprop_delta_max

(PECL fann >= 1.0.0)

fann_get_rprop_delta_max — Returns the maximum step-size

Beschreibung

float fann_get_rprop_delta_max ( resource $ann )

The maximum step-size is a positive number determining how large the maximum step-size may be.

The default delta max is 50.0.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

The maximum step-size, or FALSE on error.

Siehe auch

  • fann_set_rprop_delta_max() - Sets the maximum step-size
  • fann_get_rprop_delta_min() - Returns the minimum step-size

fann_get_rprop_decrease_factor
fann_get_rprop_delta_min
Fann Funktionen


Returns the minimum step-size

fann_get_rprop_delta_max
fann_get_rprop_delta_zero
Fann Funktionen
PHP Manual

fann_get_rprop_delta_min

(PECL fann >= 1.0.0)

fann_get_rprop_delta_min — Returns the minimum step-size

Beschreibung

float fann_get_rprop_delta_min ( resource $ann )

The minimum step-size is a small positive number determining how small the minimum step-size may be.

The default value delta min is 0.0.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

The minimum step-size, or FALSE on error.

Siehe auch

  • fann_set_rprop_delta_min() - Sets the minimum step-size

fann_get_rprop_delta_max
fann_get_rprop_delta_zero
Fann Funktionen


Returns the initial step-size

fann_get_rprop_delta_min
fann_get_rprop_increase_factor
Fann Funktionen
PHP Manual

fann_get_rprop_delta_zero

(PECL fann >= 1.0.0)

fann_get_rprop_delta_zero — Returns the initial step-size

Beschreibung

ReturnType fann_get_rprop_delta_zero ( resource $ann )

The initial step-size is a positive number determining the initial step size.

The default delta zero is 0.1.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

The initial step-size, or FALSE on error.

Siehe auch

  • fann_set_rprop_delta_zero() - Sets the initial step-size
  • fann_get_rprop_delta_min() - Returns the minimum step-size
  • fann_get_rprop_delta_max() - Returns the maximum step-size

fann_get_rprop_delta_min
fann_get_rprop_increase_factor
Fann Funktionen


Returns the increase factor used during RPROP training

fann_get_rprop_delta_zero
fann_get_sarprop_step_error_shift
Fann Funktionen
PHP Manual

fann_get_rprop_increase_factor

(PECL fann >= 1.0.0)

fann_get_rprop_increase_factor — Returns the increase factor used during RPROP training

Beschreibung

float fann_get_rprop_increase_factor ( resource $ann )

The increase factor is a value larger than 1, which is used to increase the step-size during RPROP training.

The default increase factor is 1.2.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

The increase factor, or FALSE on error.

Siehe auch

  • fann_set_rprop_increase_factor() - Sets the increase factor used during RPROP training

fann_get_rprop_delta_zero
fann_get_sarprop_step_error_shift
Fann Funktionen


Returns the sarprop step error shift

fann_get_rprop_increase_factor
fann_get_sarprop_step_error_threshold_factor
Fann Funktionen
PHP Manual

fann_get_sarprop_step_error_shift

(PECL fann >= 1.0.0)

fann_get_sarprop_step_error_shift — Returns the sarprop step error shift

Beschreibung

float fann_get_sarprop_step_error_shift ( resource $ann )

Returns the sarprop step error shift.

The default step error shift is 1.385.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

The sarprop step error shift , or FALSE on error.

Siehe auch

  • fann_set_sarprop_step_error_shift() - Sets the sarprop step error shift

fann_get_rprop_increase_factor
fann_get_sarprop_step_error_threshold_factor
Fann Funktionen


Returns the sarprop step error threshold factor

fann_get_sarprop_step_error_shift
fann_get_sarprop_temperature
Fann Funktionen
PHP Manual

fann_get_sarprop_step_error_threshold_factor

(PECL fann >= 1.0.0)

fann_get_sarprop_step_error_threshold_factor — Returns the sarprop step error threshold factor

Beschreibung

float fann_get_sarprop_step_error_threshold_factor ( resource $ann )

The sarprop step error threshold factor.

The default factor is 0.1.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

The sarprop step error threshold factor, or FALSE on error.

Siehe auch

  • fann_set_sarprop_step_error_threshold_factor() - Sets the sarprop step error threshold factor

fann_get_sarprop_step_error_shift
fann_get_sarprop_temperature
Fann Funktionen


Returns the sarprop temperature

fann_get_sarprop_step_error_threshold_factor
fann_get_sarprop_weight_decay_shift
Fann Funktionen
PHP Manual

fann_get_sarprop_temperature

(PECL fann >= 1.0.0)

fann_get_sarprop_temperature — Returns the sarprop temperature

Beschreibung

float fann_get_sarprop_temperature ( resource $ann )

Returns the sarprop temperature.

The default temperature is 0.015.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

The sarprop temperature, or FALSE on error.

Siehe auch

  • fann_set_sarprop_temperature() - Sets the sarprop temperature

fann_get_sarprop_step_error_threshold_factor
fann_get_sarprop_weight_decay_shift
Fann Funktionen


Returns the sarprop weight decay shift

fann_get_sarprop_temperature
fann_get_total_connections
Fann Funktionen
PHP Manual

fann_get_sarprop_weight_decay_shift

(PECL fann >= 1.0.0)

fann_get_sarprop_weight_decay_shift — Returns the sarprop weight decay shift

Beschreibung

float fann_get_sarprop_weight_decay_shift ( resource $ann )

The sarprop weight decay shift.

The default delta max is -6.644.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

The sarprop weight decay shift, or FALSE on error.

Siehe auch

  • fann_set_sarprop_weight_decay_shift() - Sets the sarprop weight decay shift

fann_get_sarprop_temperature
fann_get_total_connections
Fann Funktionen


Get the total number of connections in the entire network

fann_get_sarprop_weight_decay_shift
fann_get_total_neurons
Fann Funktionen
PHP Manual

fann_get_total_connections

(PECL fann >= 1.0.0)

fann_get_total_connections — Get the total number of connections in the entire network

Beschreibung

int fann_get_total_connections ( resource $ann )

Get the total number of connections in the entire network.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

Total number of connections in the entire network, or FALSE on error

fann_get_sarprop_weight_decay_shift
fann_get_total_neurons
Fann Funktionen


Get the total number of neurons in the entire network

fann_get_total_connections
fann_get_train_error_function
Fann Funktionen
PHP Manual

fann_get_total_neurons

(PECL fann >= 1.0.0)

fann_get_total_neurons — Get the total number of neurons in the entire network

Beschreibung

int fann_get_total_neurons ( resource $ann )

Get the total number of neurons in the entire network. This number does also include the bias neurons, so a 2-4-2 network has 2+4+2 +2(bias) = 10 neurons.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

Total number of neurons in the entire network, or FALSE on error.

fann_get_total_connections
fann_get_train_error_function
Fann Funktionen


Returns the error function used during training

fann_get_total_neurons
fann_get_train_stop_function
Fann Funktionen
PHP Manual

fann_get_train_error_function

(PECL fann >= 1.0.0)

fann_get_train_error_function — Returns the error function used during training

Beschreibung

int fann_get_train_error_function ( resource $ann )

Returns the error function used during training.

The error functions are described further in error functions constants.

The default error function is FANN_ERRORFUNC_TANH.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

The error function constant, or FALSE on error.

Siehe auch

  • fann_set_train_error_function() - Sets the error function used during training

fann_get_total_neurons
fann_get_train_stop_function
Fann Funktionen


Returns the stop function used during training

fann_get_train_error_function
fann_get_training_algorithm
Fann Funktionen
PHP Manual

fann_get_train_stop_function

(PECL fann >= 1.0.0)

fann_get_train_stop_function — Returns the stop function used during training

Beschreibung

int fann_get_train_stop_function ( resource $ann )

Returns the stop function used during training.

The stop functions are described further in stop functions constants.

The default stop function is FANN_STOPFUNC_MSE.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

The stop function constant, or FALSE on error.

Siehe auch

  • fann_set_train_stop_function() - Sets the stop function used during training

fann_get_train_error_function
fann_get_training_algorithm
Fann Funktionen


Returns the training algorithm

fann_get_train_stop_function
fann_init_weights
Fann Funktionen
PHP Manual

fann_get_training_algorithm

(PECL fann >= 1.0.0)

fann_get_training_algorithm — Returns the training algorithm

Beschreibung

int fann_get_training_algorithm ( resource $ann )

Returns the training algorithm. This training algorithm is used by fann_train_on_data() and associated functions.

Note that this algorithm is also used during fann_cascadetrain_on_data(), although only FANN_TRAIN_RPROP and FANN_TRAIN_QUICKPROP is allowed during cascade training.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

Training algorithm constant, or FALSE on error.

Siehe auch

  • fann_set_training_algorithm() - Sets the training algorithm

fann_get_train_stop_function
fann_init_weights
Fann Funktionen


Initialize the weights using Widrow + Nguyen’s algorithm

fann_get_training_algorithm
fann_length_train_data
Fann Funktionen
PHP Manual

fann_init_weights

(PECL fann >= 1.0.0)

fann_init_weights — Initialize the weights using Widrow + Nguyen’s algorithm

Beschreibung

bool fann_init_weights ( resource $ann , resource $train_data )

Initialize the weights using Widrow + Nguyen’s algorithm.

This function behaves similarly to fann_randomize_weights(). It will use the algorithm developed by Derrick Nguyen and Bernard Widrow to set the weights in such a way as to speed up training. This technique is not always successful, and in some cases can be less efficient than a purely random initialization.

The algorithm requires access to the range of the input data (for example largest and smallest input), and therefore accepts a second argument, data, which is the training data that will be used to train the network.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

train_data

Resource für Trainingsdaten eines neuralen Netzwerks.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_randomize_weights() - Give each connection a random weight between min_weight and max_weight
  • fann_read_train_from_file() - Reads a file that stores training data

fann_get_training_algorithm
fann_length_train_data
Fann Funktionen


Returns the number of training patterns in the train data

fann_init_weights
fann_merge_train_data
Fann Funktionen
PHP Manual

fann_length_train_data

(PECL fann >= 1.0.0)

fann_length_train_data — Returns the number of training patterns in the train data

Beschreibung

int fann_length_train_data ( resource $data )

Returns the number of training patterns in the train data resource.

Parameter-Liste

data

Resource für Trainingsdaten eines neuralen Netzwerks.

Rückgabewerte

Number of elements in the train data resource, or FALSE on error.

fann_init_weights
fann_merge_train_data
Fann Funktionen


Merges the train data

fann_length_train_data
fann_num_input_train_data
Fann Funktionen
PHP Manual

fann_merge_train_data

(PECL fann >= 1.0.0)

fann_merge_train_data — Merges the train data

Beschreibung

resource fann_merge_train_data ( resource $data1 , resource $data2 )

Merges the data from data1 and data2 into a new train data resource.

Parameter-Liste

data1

Resource für Trainingsdaten eines neuralen Netzwerks.

data2

Resource für Trainingsdaten eines neuralen Netzwerks.

Rückgabewerte

New merged train data resource, or FALSE on error.

fann_length_train_data
fann_num_input_train_data
Fann Funktionen


Returns the number of inputs in each of the training patterns in the train data

fann_merge_train_data
fann_num_output_train_data
Fann Funktionen
PHP Manual

fann_num_input_train_data

(PECL fann >= 1.0.0)

fann_num_input_train_data — Returns the number of inputs in each of the training patterns in the train data

Beschreibung

int fann_num_input_train_data ( resource $data )

Returns the number of inputs in each of the training patterns in the train data resource.

Parameter-Liste

data

Resource für Trainingsdaten eines neuralen Netzwerks.

Rückgabewerte

The number of inputs, or FALSE on error.

Siehe auch

  • fann_length_train_data() - Returns the number of training patterns in the train data
  • fann_num_output_train_data() - Returns the number of outputs in each of the training patterns in the train data

fann_merge_train_data
fann_num_output_train_data
Fann Funktionen


Returns the number of outputs in each of the training patterns in the train data

fann_num_input_train_data
fann_print_error
Fann Funktionen
PHP Manual

fann_num_output_train_data

(PECL fann >= 1.0.0)

fann_num_output_train_data — Returns the number of outputs in each of the training patterns in the train data

Beschreibung

int fann_num_output_train_data ( resource $data )

Returns the number of outputs in each of the training patterns in the train data resource.

Parameter-Liste

data

Resource für Trainingsdaten eines neuralen Netzwerks.

Rückgabewerte

The number of outputs, or FALSE on error.

Siehe auch

  • fann_length_train_data() - Returns the number of training patterns in the train data
  • fann_num_input_train_data() - Returns the number of inputs in each of the training patterns in the train data

fann_num_input_train_data
fann_print_error
Fann Funktionen


Prints the error string

fann_num_output_train_data
fann_randomize_weights
Fann Funktionen
PHP Manual

fann_print_error

(PECL fann >= 1.0.0)

fann_print_error — Prints the error string

Beschreibung

void fann_print_error ( string $errdat )

Prints the error string.

Parameter-Liste

errdat

Entweder eine Resource eines neuralen Netzwerks oder Resource mit Trainingsdaten.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • fann_get_errstr() - Returns the last errstr

fann_num_output_train_data
fann_randomize_weights
Fann Funktionen


Give each connection a random weight between min_weight and max_weight

fann_print_error
fann_read_train_from_file
Fann Funktionen
PHP Manual

fann_randomize_weights

(PECL fann >= 1.0.0)

fann_randomize_weights — Give each connection a random weight between min_weight and max_weight

Beschreibung

bool fann_randomize_weights ( resource $ann , float $min_weight , float $max_weight )

Give each connection a random weight between min_weight and max_weight

From the beginning the weights are random between -0.1 and 0.1.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

min_weight

Minimum weight value

max_weight

Maximum weight value

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_init_weights() - Initialize the weights using Widrow + Nguyen’s algorithm

fann_print_error
fann_read_train_from_file
Fann Funktionen


Reads a file that stores training data

fann_randomize_weights
fann_reset_errno
Fann Funktionen
PHP Manual

fann_read_train_from_file

(PECL fann >= 1.0.0)

fann_read_train_from_file — Reads a file that stores training data

Beschreibung

resource fann_read_train_from_file ( string $filename )

Reads a file that stores training data.

Parameter-Liste

filename

The input file in the following format:

num_train_data num_input num_output
inputdata seperated by space
outputdata seperated by space

.
.
.

inputdata seperated by space
outputdata seperated by space

Rückgabewerte

Gibt bei Erfolg eine Resource mit Trainingsdaten zurück, ansonsten FALSE im Fehlerfall.

Beispiele

Beispiel #1 fann_read_train_from_file() example

<?php
$train_data = fann_read_train_from_file("xor.data");
if ($train_data) {
    // Do something with $train_data for XOR function
}
?>

Contents of xor.data

4 2 1
-1 -1
-1
-1 1
1
1 -1
1
1 1
-1

Siehe auch

  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_destroy_train() - Destructs the training data
  • fann_save_train() - Save the training structure to a file

fann_randomize_weights
fann_reset_errno
Fann Funktionen


Resets the last error number

fann_read_train_from_file
fann_reset_errstr
Fann Funktionen
PHP Manual

fann_reset_errno

(PECL fann >= 1.0.0)

fann_reset_errno — Resets the last error number

Beschreibung

void fann_reset_errno ( resource $errdat )

Resets the last error number.

Parameter-Liste

errdat

Entweder eine Resource eines neuralen Netzwerks oder Resource mit Trainingsdaten.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • fann_get_errno() - Returns the last error number
  • fann_reset_errstr() - Resets the last error string

fann_read_train_from_file
fann_reset_errstr
Fann Funktionen


Resets the last error string

fann_reset_errno
fann_reset_MSE
Fann Funktionen
PHP Manual

fann_reset_errstr

(PECL fann >= 1.0.0)

fann_reset_errstr — Resets the last error string

Beschreibung

void fann_reset_errstr ( resource $errdat )

Resets the last error string.

Parameter-Liste

errdat

Entweder eine Resource eines neuralen Netzwerks oder Resource mit Trainingsdaten.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • fann_get_errstr() - Returns the last errstr
  • fann_reset_errno() - Resets the last error number

fann_reset_errno
fann_reset_MSE
Fann Funktionen


Resets the mean square error from the network

fann_reset_errstr
fann_run
Fann Funktionen
PHP Manual

fann_reset_MSE

(PECL fann >= 1.0.0)

fann_reset_MSE — Resets the mean square error from the network

Beschreibung

bool fann_reset_MSE ( string $ann )

Resets the mean square error from the network.

This function also resets the number of bits that fail.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_get_MSE() - Reads the mean square error from the network
  • fann_get_bit_fail() - The number of fail bits
  • fann_get_bit_fail_limit() - Returns the bit fail limit used during training

fann_reset_errstr
fann_run
Fann Funktionen


Will run input through the neural network

fann_reset_MSE
fann_save_train
Fann Funktionen
PHP Manual

fann_run

(PECL fann >= 1.0.0)

fann_run — Will run input through the neural network

Beschreibung

array fann_run ( resource $ann , array $input )

Will run input through the neural network, returning an array of outputs, the number of which being equal to the number of neurons in the output layer.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

input

Array of input values

Rückgabewerte

Array of output values, or FALSE on error

fann_reset_MSE
fann_save_train
Fann Funktionen


Save the training structure to a file

fann_run
fann_save
Fann Funktionen
PHP Manual

fann_save_train

(PECL fann >= 1.0.0)

fann_save_train — Save the training structure to a file

Beschreibung

bool fann_save_train ( resource $data , string $file_name )

Save the training data to a file, with the format as specified in fann_read_train_from_file().

Parameter-Liste

data

Resource für Trainingsdaten eines neuralen Netzwerks.

file_name

The file name of the file where training data is saved to.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_read_train_from_file() - Reads a file that stores training data

fann_run
fann_save
Fann Funktionen


Saves the entire network to a configuration file

fann_save_train
fann_scale_input_train_data
Fann Funktionen
PHP Manual

fann_save

(PECL fann >= 1.0.0)

fann_save — Saves the entire network to a configuration file

Beschreibung

bool fann_save ( resource $ann , string $configuration_file )

Saves the entire network to a configuration file.

The configuration file contains all information about the neural network and enables fann_create_from_file() to create an exact copy of the neural network and all of the parameters associated with the neural network.

These three parameters (fann_set_callback(), fann_set_error_log(), fann_set_user_data()) are NOT saved to the file because they cannot safely be ported to a different location. Also temporary parameters generated during training like fann_get_MSE() is not saved.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

configuration_file

The configuration file path.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_create_from_file() - Constructs a backpropagation neural network from a configuration file

fann_save_train
fann_scale_input_train_data
Fann Funktionen


Scales the inputs in the training data to the specified range

fann_save
fann_scale_input
Fann Funktionen
PHP Manual

fann_scale_input_train_data

(PECL fann >= 1.0.0)

fann_scale_input_train_data — Scales the inputs in the training data to the specified range

Beschreibung

bool fann_scale_input_train_data ( resource $train_data , float $new_min , float $new_max )

Scales the inputs in the training data to the specified range.

Parameter-Liste

train_data

Resource für Trainingsdaten eines neuralen Netzwerks.

new_min

New minimum after scaling inputs in training data.

new_max

New maximum after scaling inputs in training data.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_scale_output_train_data() - Scales the outputs in the training data to the specified range
  • fann_scale_train_data() - Scales the inputs and outputs in the training data to the specified range

fann_save
fann_scale_input
Fann Funktionen


Scale data in input vector before feed it to ann based on previously calculated parameters

fann_scale_input_train_data
fann_scale_output_train_data
Fann Funktionen
PHP Manual

fann_scale_input

(PECL fann >= 1.0.0)

fann_scale_input — Scale data in input vector before feed it to ann based on previously calculated parameters

Beschreibung

bool fann_scale_input ( resource $ann , array $input_vector )

Scale data in input vector before feed it to ann based on previously calculated parameters.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

input_vector

Input vector that will be scaled

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_descale_input() - Scale data in input vector after get it from ann based on previously calculated parameters
  • fann_scale_output() - Scale data in output vector before feed it to ann based on previously calculated parameters

fann_scale_input_train_data
fann_scale_output_train_data
Fann Funktionen


Scales the outputs in the training data to the specified range

fann_scale_input
fann_scale_output
Fann Funktionen
PHP Manual

fann_scale_output_train_data

(PECL fann >= 1.0.0)

fann_scale_output_train_data — Scales the outputs in the training data to the specified range

Beschreibung

bool fann_scale_output_train_data ( resource $train_data , float $new_min , float $new_max )

Scales the outputs in the training data to the specified range.

Parameter-Liste

train_data

Resource für Trainingsdaten eines neuralen Netzwerks.

new_min

New minimum after scaling outputs in training data.

new_max

New maximum after scaling outputs in training data.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_scale_input_train_data() - Scales the inputs in the training data to the specified range
  • fann_scale_train_data() - Scales the inputs and outputs in the training data to the specified range

fann_scale_input
fann_scale_output
Fann Funktionen


Scale data in output vector before feed it to ann based on previously calculated parameters

fann_scale_output_train_data
fann_scale_train_data
Fann Funktionen
PHP Manual

fann_scale_output

(PECL fann >= 1.0.0)

fann_scale_output — Scale data in output vector before feed it to ann based on previously calculated parameters

Beschreibung

bool fann_scale_output ( resource $ann , array $output_vector )

Scale data in output vector before feed it to ann based on previously calculated parameters.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

output_vector

Output vector that will be scaled

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_descale_output() - Scale data in output vector after get it from ann based on previously calculated parameters
  • fann_scale_input() - Scale data in input vector before feed it to ann based on previously calculated parameters

fann_scale_output_train_data
fann_scale_train_data
Fann Funktionen


Scales the inputs and outputs in the training data to the specified range

fann_scale_output
fann_scale_train
Fann Funktionen
PHP Manual

fann_scale_train_data

(PECL fann >= 1.0.0)

fann_scale_train_data — Scales the inputs and outputs in the training data to the specified range

Beschreibung

bool fann_scale_train_data ( resource $train_data , float $new_min , float $new_max )

Scales the inputs and outputs in the training data to the specified range.

Parameter-Liste

train_data

Resource für Trainingsdaten eines neuralen Netzwerks.

new_min

New minimum after scaling inputs and outputs in training data.

new_max

New maximum after scaling inputs and outputs in training data.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_scale_output_train_data() - Scales the outputs in the training data to the specified range
  • fann_scale_input_train_data() - Scales the inputs in the training data to the specified range

fann_scale_output
fann_scale_train
Fann Funktionen


Scale input and output data based on previously calculated parameters

fann_scale_train_data
fann_set_activation_function_hidden
Fann Funktionen
PHP Manual

fann_scale_train

(PECL fann >= 1.0.0)

fann_scale_train — Scale input and output data based on previously calculated parameters

Beschreibung

bool fann_scale_train ( resource $ann , resource $train_data )

Scale input and output data based on previously calculated parameters.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

train_data

Resource für Trainingsdaten eines neuralen Netzwerks.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_descale_train() - Descale input and output data based on previously calculated parameters
  • fann_set_scaling_params() - Calculate input and output scaling parameters for future use based on training data

fann_scale_train_data
fann_set_activation_function_hidden
Fann Funktionen


Sets the activation function for all of the hidden layers

fann_scale_train
fann_set_activation_function_layer
Fann Funktionen
PHP Manual

fann_set_activation_function_hidden

(PECL fann >= 1.0.0)

fann_set_activation_function_hidden — Sets the activation function for all of the hidden layers

Beschreibung

bool fann_set_activation_function_hidden ( resource $ann , int $activation_function )

Sets the activation function for all of the hidden layers.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

activation_function

The activation functions constant.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_set_activation_function() - Sets the activation function for supplied neuron and layer
  • fann_set_activation_function_layer() - Sets the activation function for all the neurons in the supplied layer.
  • fann_set_activation_function_output() - Sets the activation function for the output layer
  • fann_set_activation_steepness() - Sets the activation steepness for supplied neuron and layer number

fann_scale_train
fann_set_activation_function_layer
Fann Funktionen


Sets the activation function for all the neurons in the supplied layer.

fann_set_activation_function_hidden
fann_set_activation_function_output
Fann Funktionen
PHP Manual

fann_set_activation_function_layer

(PECL fann >= 1.0.0)

fann_set_activation_function_layer — Sets the activation function for all the neurons in the supplied layer.

Beschreibung

bool fann_set_activation_function_layer ( resource $ann , int $activation_function , int $layer )

Set the activation function for all the neurons in the layer number layer, counting the input layer as layer 0.

It is not possible to set activation functions for the neurons in the input layer.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

activation_function

The activation functions constant.

layer

Layer number.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_set_activation_function() - Sets the activation function for supplied neuron and layer
  • fann_set_activation_function_hidden() - Sets the activation function for all of the hidden layers
  • fann_set_activation_function_output() - Sets the activation function for the output layer
  • fann_set_activation_steepness() - Sets the activation steepness for supplied neuron and layer number

fann_set_activation_function_hidden
fann_set_activation_function_output
Fann Funktionen


Sets the activation function for the output layer

fann_set_activation_function_layer
fann_set_activation_function
Fann Funktionen
PHP Manual

fann_set_activation_function_output

(PECL fann >= 1.0.0)

fann_set_activation_function_output — Sets the activation function for the output layer

Beschreibung

bool fann_set_activation_function_output ( resource $ann , int $activation_function )

Sets the activation function for the output layer.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

activation_function

The activation functions constant.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_set_activation_function() - Sets the activation function for supplied neuron and layer
  • fann_set_activation_function_layer() - Sets the activation function for all the neurons in the supplied layer.
  • fann_set_activation_function_hidden() - Sets the activation function for all of the hidden layers
  • fann_set_activation_steepness() - Sets the activation steepness for supplied neuron and layer number

fann_set_activation_function_layer
fann_set_activation_function
Fann Funktionen


Sets the activation function for supplied neuron and layer

fann_set_activation_function_output
fann_set_activation_steepness_hidden
Fann Funktionen
PHP Manual

fann_set_activation_function

(PECL fann >= 1.0.0)

fann_set_activation_function — Sets the activation function for supplied neuron and layer

Beschreibung

bool fann_set_activation_function ( resource $ann , int $activation_function , int $layer , int $neuron )

Set the activation function for neuron number neuron in layer number layer, counting the input layer as layer 0.

It is not possible to set activation functions for the neurons in the input layer.

When choosing an activation function it is important to note that the activation functions have different range. FANN_SIGMOID is e.g. in the 0 - 1 range while FANN_SIGMOID_SYMMETRIC is in the -1 - 1 range and FANN_LINEAR is unbound.

The supplied activation_function value must be one of the activation functions constants.

The return value is one of the activation functions constants.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

activation_function

The activation functions constant.

layer

Layer number.

neuron

Neuron number.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_set_activation_function_layer() - Sets the activation function for all the neurons in the supplied layer.
  • fann_set_activation_function_hidden() - Sets the activation function for all of the hidden layers
  • fann_set_activation_function_output() - Sets the activation function for the output layer
  • fann_set_activation_steepness() - Sets the activation steepness for supplied neuron and layer number
  • fann_get_activation_function() - Returns the activation function

fann_set_activation_function_output
fann_set_activation_steepness_hidden
Fann Funktionen


Sets the steepness of the activation steepness for all neurons in the all hidden layers

fann_set_activation_function
fann_set_activation_steepness_layer
Fann Funktionen
PHP Manual

fann_set_activation_steepness_hidden

(PECL fann >= 1.0.0)

fann_set_activation_steepness_hidden — Sets the steepness of the activation steepness for all neurons in the all hidden layers

Beschreibung

bool fann_set_activation_steepness_hidden ( resource $ann , float $activation_steepness )

Sets the steepness of the activation steepness for all neurons in the all hidden layers.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

activation_steepness

The activation steepness.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_set_activation_steepness() - Sets the activation steepness for supplied neuron and layer number
  • fann_set_activation_steepness_layer() - Sets the activation steepness for all of the neurons in the supplied layer number
  • fann_set_activation_steepness_output() - Sets the steepness of the activation steepness in the output layer
  • fann_get_activation_steepness() - Returns the activation steepness for supplied neuron and layer number
  • fann_set_activation_function() - Sets the activation function for supplied neuron and layer

fann_set_activation_function
fann_set_activation_steepness_layer
Fann Funktionen


Sets the activation steepness for all of the neurons in the supplied layer number

fann_set_activation_steepness_hidden
fann_set_activation_steepness_output
Fann Funktionen
PHP Manual

fann_set_activation_steepness_layer

(PECL fann >= 1.0.0)

fann_set_activation_steepness_layer — Sets the activation steepness for all of the neurons in the supplied layer number

Beschreibung

bool fann_set_activation_steepness_layer ( resource $ann , float $activation_steepness , int $layer )

Set the activation steepness for all of the neurons in layer number layer, counting the input layer as layer 0.

It is not possible to set activation steepness for the neurons in the input layer.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

activation_steepness

The activation steepness.

layer

Layer number.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_set_activation_steepness() - Sets the activation steepness for supplied neuron and layer number
  • fann_set_activation_steepness_hidden() - Sets the steepness of the activation steepness for all neurons in the all hidden layers
  • fann_set_activation_steepness_output() - Sets the steepness of the activation steepness in the output layer
  • fann_get_activation_steepness() - Returns the activation steepness for supplied neuron and layer number
  • fann_set_activation_function() - Sets the activation function for supplied neuron and layer

fann_set_activation_steepness_hidden
fann_set_activation_steepness_output
Fann Funktionen


Sets the steepness of the activation steepness in the output layer

fann_set_activation_steepness_layer
fann_set_activation_steepness
Fann Funktionen
PHP Manual

fann_set_activation_steepness_output

(PECL fann >= 1.0.0)

fann_set_activation_steepness_output — Sets the steepness of the activation steepness in the output layer

Beschreibung

bool fann_set_activation_steepness_output ( resource $ann , float $activation_steepness )

Sets the steepness of the activation steepness in the output layer.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

activation_steepness

The activation steepness.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_set_activation_steepness() - Sets the activation steepness for supplied neuron and layer number
  • fann_set_activation_steepness_layer() - Sets the activation steepness for all of the neurons in the supplied layer number
  • fann_set_activation_steepness_hidden() - Sets the steepness of the activation steepness for all neurons in the all hidden layers
  • fann_get_activation_steepness() - Returns the activation steepness for supplied neuron and layer number
  • fann_set_activation_function() - Sets the activation function for supplied neuron and layer

fann_set_activation_steepness_layer
fann_set_activation_steepness
Fann Funktionen


Sets the activation steepness for supplied neuron and layer number

fann_set_activation_steepness_output
fann_set_bit_fail_limit
Fann Funktionen
PHP Manual

fann_set_activation_steepness

(PECL fann >= 1.0.0)

fann_set_activation_steepness — Sets the activation steepness for supplied neuron and layer number

Beschreibung

bool fann_set_activation_steepness ( resource $ann , float $activation_steepness , int $layer , int $neuron )

Set the activation steepness for neuron number neuron in layer number layer, counting the input layer as layer 0.

It is not possible to set activation steepness for the neurons in the input layer.

The steepness of an activation function says something about how fast the activation function goes from the minimum to the maximum. A high value for the activation function will also give a more agressive training.

When training neural networks where the output values should be at the extremes (usually 0 and 1, depending on the activation function), a steep activation function can be used (e.g. 1.0).

The default activation steepness is 0.5.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

activation_steepness

The activation steepness.

layer

Layer number.

neuron

Neuron number.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_set_activation_steepness_layer() - Sets the activation steepness for all of the neurons in the supplied layer number
  • fann_set_activation_steepness_hidden() - Sets the steepness of the activation steepness for all neurons in the all hidden layers
  • fann_set_activation_steepness_output() - Sets the steepness of the activation steepness in the output layer
  • fann_get_activation_steepness() - Returns the activation steepness for supplied neuron and layer number
  • fann_set_activation_function() - Sets the activation function for supplied neuron and layer

fann_set_activation_steepness_output
fann_set_bit_fail_limit
Fann Funktionen


Set the bit fail limit used during training

fann_set_activation_steepness
fann_set_callback
Fann Funktionen
PHP Manual

fann_set_bit_fail_limit

(PECL fann >= 1.0.0)

fann_set_bit_fail_limit — Set the bit fail limit used during training

Beschreibung

bool fann_set_bit_fail_limit ( resource $ann , float $bit_fail_limit )

Set the bit fail limit used during training.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

bit_fail_limit

The bit fail limit.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_get_bit_fail_limit() - Returns the bit fail limit used during training

fann_set_activation_steepness
fann_set_callback
Fann Funktionen


Sets the callback function for use during training

fann_set_bit_fail_limit
fann_set_cascade_activation_functions
Fann Funktionen
PHP Manual

fann_set_callback

(PECL fann >= 1.0.0)

fann_set_callback — Sets the callback function for use during training

Beschreibung

bool fann_set_callback ( resource $ann , collable $callback )

Sets the callback function for use during training. It means that it is called from fann_train_on_data() or fann_train_on_file().

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

callback

The supplied callback function takes following parameters:

  • ann - The neural network resource
  • train - The train data resource or NULL if called from fann_train_on_file()
  • max_epochs - The maximum number of epochs the training should continue
  • epochs_between_reports - The number of epochs between calling this function
  • desired_error - The desired fann_get_MSE() or fann_get_bit_fail(), depending on the stop function chosen by fann_set_train_stop_function()
  • epochs - The current epoch

The callback should return TRUE. If it returns FALSE, the training will terminate.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_train_on_file() - Trains on an entire dataset, which is read from file, for a period of time

fann_set_bit_fail_limit
fann_set_cascade_activation_functions
Fann Funktionen


Sets the array of cascade candidate activation functions

fann_set_callback
fann_set_cascade_activation_steepnesses
Fann Funktionen
PHP Manual

fann_set_cascade_activation_functions

(PECL fann >= 1.0.0)

fann_set_cascade_activation_functions — Sets the array of cascade candidate activation functions

Beschreibung

bool fann_set_cascade_activation_functions ( resource $ann , array $cascade_activation_functions )

Sets the array of cascade candidate activation functions.

See fann_get_cascade_num_candidates() for a description of which candidate neurons will be generated by this array.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

cascade_activation_functions

The array of cascade candidate activation functions.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_get_cascade_activation_functions_count() - Returns the number of cascade activation functions
  • fann_set_cascade_activation_functions()

fann_set_callback
fann_set_cascade_activation_steepnesses
Fann Funktionen


Sets the array of cascade candidate activation steepnesses

fann_set_cascade_activation_functions
fann_set_cascade_candidate_change_fraction
Fann Funktionen
PHP Manual

fann_set_cascade_activation_steepnesses

(PECL fann >= 1.0.0)

fann_set_cascade_activation_steepnesses — Sets the array of cascade candidate activation steepnesses

Beschreibung

bool fann_set_cascade_activation_steepnesses ( resource $ann , array $cascade_activation_steepnesses_count )

Sets the array of cascade candidate activation steepnesses.

See fann_get_cascade_num_candidates() for a description of which candidate neurons will be generated by this array.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

cascade_activation_steepnesses_count

The array of cascade candidate activation steepnesses.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_get_cascade_activation_steepnesses() - Returns the cascade activation steepnesses
  • fann_get_cascade_activation_steepnesses_count() - The number of activation steepnesses

fann_set_cascade_activation_functions
fann_set_cascade_candidate_change_fraction
Fann Funktionen


Sets the cascade candidate change fraction

fann_set_cascade_activation_steepnesses
fann_set_cascade_candidate_limit
Fann Funktionen
PHP Manual

fann_set_cascade_candidate_change_fraction

(PECL fann >= 1.0.0)

fann_set_cascade_candidate_change_fraction — Sets the cascade candidate change fraction

Beschreibung

bool fann_set_cascade_candidate_change_fraction ( resource $ann , float $cascade_candidate_change_fraction )

Sets the cascade candidate change fraction.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

cascade_candidate_change_fraction

The cascade candidate change fraction.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_get_cascade_candidate_change_fraction() - Returns the cascade candidate change fraction

fann_set_cascade_activation_steepnesses
fann_set_cascade_candidate_limit
Fann Funktionen


Sets the candidate limit

fann_set_cascade_candidate_change_fraction
fann_set_cascade_candidate_stagnation_epochs
Fann Funktionen
PHP Manual

fann_set_cascade_candidate_limit

(PECL fann >= 1.0.0)

fann_set_cascade_candidate_limit — Sets the candidate limit

Beschreibung

bool fann_set_cascade_candidate_limit ( resource $ann , float $cascade_candidate_limit )

Sets the candidate limit.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

cascade_candidate_limit

The candidate limit.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_get_cascade_candidate_limit() - Return the candidate limit

fann_set_cascade_candidate_change_fraction
fann_set_cascade_candidate_stagnation_epochs
Fann Funktionen


Sets the number of cascade candidate stagnation epochs

fann_set_cascade_candidate_limit
fann_set_cascade_max_cand_epochs
Fann Funktionen
PHP Manual

fann_set_cascade_candidate_stagnation_epochs

(PECL fann >= 1.0.0)

fann_set_cascade_candidate_stagnation_epochs — Sets the number of cascade candidate stagnation epochs

Beschreibung

bool fann_set_cascade_candidate_stagnation_epochs ( resource $ann , int $cascade_candidate_stagnation_epochs )

Sets the number of cascade candidate stagnation epochs.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

cascade_candidate_stagnation_epochs

The number of cascade candidate stagnation epochs.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_get_cascade_candidate_stagnation_epochs() - Returns the number of cascade candidate stagnation epochs

fann_set_cascade_candidate_limit
fann_set_cascade_max_cand_epochs
Fann Funktionen


Sets the max candidate epochs

fann_set_cascade_candidate_stagnation_epochs
fann_set_cascade_max_out_epochs
Fann Funktionen
PHP Manual

fann_set_cascade_max_cand_epochs

(PECL fann >= 1.0.0)

fann_set_cascade_max_cand_epochs — Sets the max candidate epochs

Beschreibung

bool fann_set_cascade_max_cand_epochs ( resource $ann , int $cascade_max_cand_epochs )

Sets the max candidate epochs.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

cascade_max_cand_epochs

The max candidate epochs.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_get_cascade_max_cand_epochs() - Returns the maximum candidate epochs

fann_set_cascade_candidate_stagnation_epochs
fann_set_cascade_max_out_epochs
Fann Funktionen


Sets the maximum out epochs

fann_set_cascade_max_cand_epochs
fann_set_cascade_min_cand_epochs
Fann Funktionen
PHP Manual

fann_set_cascade_max_out_epochs

(PECL fann >= 1.0.0)

fann_set_cascade_max_out_epochs — Sets the maximum out epochs

Beschreibung

bool fann_set_cascade_max_out_epochs ( resource $ann , int $cascade_max_out_epochs )

Sets the maximum out epochs.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

cascade_max_out_epochs

The maximum out epochs.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_get_cascade_max_out_epochs() - Returns the maximum out epochs

fann_set_cascade_max_cand_epochs
fann_set_cascade_min_cand_epochs
Fann Funktionen


Sets the min candidate epochs

fann_set_cascade_max_out_epochs
fann_set_cascade_min_out_epochs
Fann Funktionen
PHP Manual

fann_set_cascade_min_cand_epochs

(PECL fann >= 1.0.0)

fann_set_cascade_min_cand_epochs — Sets the min candidate epochs

Beschreibung

bool fann_set_cascade_min_cand_epochs ( resource $ann , int $cascade_min_cand_epochs )

Sets the min candidate epochs.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

cascade_min_cand_epochs

The minimum candidate epochs.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_get_cascade_min_cand_epochs() - Returns the minimum candidate epochs

fann_set_cascade_max_out_epochs
fann_set_cascade_min_out_epochs
Fann Funktionen


Sets the minimum out epochs

fann_set_cascade_min_cand_epochs
fann_set_cascade_num_candidate_groups
Fann Funktionen
PHP Manual

fann_set_cascade_min_out_epochs

(PECL fann >= 1.0.0)

fann_set_cascade_min_out_epochs — Sets the minimum out epochs

Beschreibung

bool fann_set_cascade_min_out_epochs ( resource $ann , int $cascade_min_out_epochs )

Sets the minimum out epochs.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

cascade_min_out_epochs

The minimum out epochs.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_get_cascade_min_out_epochs() - Returns the minimum out epochs

fann_set_cascade_min_cand_epochs
fann_set_cascade_num_candidate_groups
Fann Funktionen


Sets the number of candidate groups

fann_set_cascade_min_out_epochs
fann_set_cascade_output_change_fraction
Fann Funktionen
PHP Manual

fann_set_cascade_num_candidate_groups

(PECL fann >= 1.0.0)

fann_set_cascade_num_candidate_groups — Sets the number of candidate groups

Beschreibung

bool fann_set_cascade_num_candidate_groups ( resource $ann , int $cascade_num_candidate_groups )

Sets the number of candidate groups.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

cascade_num_candidate_groups

The number of candidate groups.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_get_cascade_num_candidate_groups() - Returns the number of candidate groups

fann_set_cascade_min_out_epochs
fann_set_cascade_output_change_fraction
Fann Funktionen


Sets the cascade output change fraction

fann_set_cascade_num_candidate_groups
fann_set_cascade_output_stagnation_epochs
Fann Funktionen
PHP Manual

fann_set_cascade_output_change_fraction

(PECL fann >= 1.0.0)

fann_set_cascade_output_change_fraction — Sets the cascade output change fraction

Beschreibung

bool fann_set_cascade_output_change_fraction ( resource $ann , float $cascade_output_change_fraction )

Sets the cascade output change fraction.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

cascade_output_change_fraction

The cascade output change fraction.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_get_cascade_output_change_fraction() - Returns the cascade output change fraction

fann_set_cascade_num_candidate_groups
fann_set_cascade_output_stagnation_epochs
Fann Funktionen


Sets the number of cascade output stagnation epochs

fann_set_cascade_output_change_fraction
fann_set_cascade_weight_multiplier
Fann Funktionen
PHP Manual

fann_set_cascade_output_stagnation_epochs

(PECL fann >= 1.0.0)

fann_set_cascade_output_stagnation_epochs — Sets the number of cascade output stagnation epochs

Beschreibung

bool fann_set_cascade_output_stagnation_epochs ( resource $ann , int $cascade_output_stagnation_epochs )

Sets the number of cascade output stagnation epochs.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

cascade_output_stagnation_epochs

The number of cascade output stagnation epochs.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_get_cascade_output_stagnation_epochs() - Returns the number of cascade output stagnation epochs

fann_set_cascade_output_change_fraction
fann_set_cascade_weight_multiplier
Fann Funktionen


Sets the weight multiplier

fann_set_cascade_output_stagnation_epochs
fann_set_error_log
Fann Funktionen
PHP Manual

fann_set_cascade_weight_multiplier

(PECL fann >= 1.0.0)

fann_set_cascade_weight_multiplier — Sets the weight multiplier

Beschreibung

bool fann_set_cascade_weight_multiplier ( resource $ann , float $cascade_weight_multiplier )

Sets the weight multiplier.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

cascade_weight_multiplier

The weight multiplier.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_get_cascade_weight_multiplier() - Returns the weight multiplier

fann_set_cascade_output_stagnation_epochs
fann_set_error_log
Fann Funktionen


Sets where the errors are logged to

fann_set_cascade_weight_multiplier
fann_set_input_scaling_params
Fann Funktionen
PHP Manual

fann_set_error_log

(PECL fann >= 1.0.0)

fann_set_error_log — Sets where the errors are logged to

Beschreibung

void fann_set_error_log ( resource $errdat , string $log_file )

Sets where the errors are logged to.

Parameter-Liste

errdat

Entweder eine Resource eines neuralen Netzwerks oder Resource mit Trainingsdaten.

log_file

The log file path.

Rückgabewerte

Es wird kein Wert zurückgegeben.

fann_set_cascade_weight_multiplier
fann_set_input_scaling_params
Fann Funktionen


Calculate input scaling parameters for future use based on training data

fann_set_error_log
fann_set_learning_momentum
Fann Funktionen
PHP Manual

fann_set_input_scaling_params

(PECL fann >= 1.0.0)

fann_set_input_scaling_params — Calculate input scaling parameters for future use based on training data

Beschreibung

bool fann_set_input_scaling_params ( resource $ann , resource $train_data , float $new_input_min , float $new_input_max )

Calculate input scaling parameters for future use based on training data.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

train_data

Resource für Trainingsdaten eines neuralen Netzwerks.

new_input_min

The desired lower bound in input data after scaling (not strictly followed)

new_input_max

The desired upper bound in input data after scaling (not strictly followed)

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_set_output_scaling_params() - Calculate output scaling parameters for future use based on training data

fann_set_error_log
fann_set_learning_momentum
Fann Funktionen


Sets the learning momentum

fann_set_input_scaling_params
fann_set_learning_rate
Fann Funktionen
PHP Manual

fann_set_learning_momentum

(PECL fann >= 1.0.0)

fann_set_learning_momentum — Sets the learning momentum

Beschreibung

bool fann_set_learning_momentum ( resource $ann , float $learning_momentum )

Sets the learning momentum.

More info available in fann_get_learning_momentum().

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

learning_momentum

The learning momentum.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_get_learning_momentum() - Returns the learning momentum
  • fann_set_training_algorithm() - Sets the training algorithm

fann_set_input_scaling_params
fann_set_learning_rate
Fann Funktionen


Sets the learning rate

fann_set_learning_momentum
fann_set_output_scaling_params
Fann Funktionen
PHP Manual

fann_set_learning_rate

(PECL fann >= 1.0.0)

fann_set_learning_rate — Sets the learning rate

Beschreibung

bool fann_set_learning_rate ( resource $ann , float $learning_rate )

Sets the learning rate.

More info available in fann_get_learning_rate().

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

learning_rate

The learning rate.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_get_learning_rate() - Returns the learning rate
  • fann_set_training_algorithm() - Sets the training algorithm

fann_set_learning_momentum
fann_set_output_scaling_params
Fann Funktionen


Calculate output scaling parameters for future use based on training data

fann_set_learning_rate
fann_set_quickprop_decay
Fann Funktionen
PHP Manual

fann_set_output_scaling_params

(PECL fann >= 1.0.0)

fann_set_output_scaling_params — Calculate output scaling parameters for future use based on training data

Beschreibung

bool fann_set_output_scaling_params ( resource $ann , resource $train_data , float $new_output_min , float $new_output_max )

Calculate output scaling parameters for future use based on training data.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

train_data

Resource für Trainingsdaten eines neuralen Netzwerks.

new_output_min

The desired lower bound in output data after scaling (not strictly followed)

new_output_max

The desired upper bound in output data after scaling (not strictly followed)

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_set_input_scaling_params() - Calculate input scaling parameters for future use based on training data

fann_set_learning_rate
fann_set_quickprop_decay
Fann Funktionen


Sets the quickprop decay factor

fann_set_output_scaling_params
fann_set_quickprop_mu
Fann Funktionen
PHP Manual

fann_set_quickprop_decay

(PECL fann >= 1.0.0)

fann_set_quickprop_decay — Sets the quickprop decay factor

Beschreibung

bool fann_set_quickprop_decay ( resource $ann , float $quickprop_decay )

Sets the quickprop decay factor.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

quickprop_decay

The quickprop decay factor.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_get_quickprop_decay() - Returns the decay which is a factor that weights should decrease in each iteration during quickprop training

fann_set_output_scaling_params
fann_set_quickprop_mu
Fann Funktionen


Sets the quickprop mu factor

fann_set_quickprop_decay
fann_set_rprop_decrease_factor
Fann Funktionen
PHP Manual

fann_set_quickprop_mu

(PECL fann >= 1.0.0)

fann_set_quickprop_mu — Sets the quickprop mu factor

Beschreibung

bool fann_set_quickprop_mu ( resource $ann , float $quickprop_mu )

Sets the quickprop mu factor.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

quickprop_mu

The mu factor.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_get_quickprop_mu() - Returns the mu factor

fann_set_quickprop_decay
fann_set_rprop_decrease_factor
Fann Funktionen


Sets the decrease factor used during RPROP training

fann_set_quickprop_mu
fann_set_rprop_delta_max
Fann Funktionen
PHP Manual

fann_set_rprop_decrease_factor

(PECL fann >= 1.0.0)

fann_set_rprop_decrease_factor — Sets the decrease factor used during RPROP training

Beschreibung

bool fann_set_rprop_decrease_factor ( resource $ann , float $rprop_decrease_factor )

Sets the decrease factor used during RPROP training.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

rprop_decrease_factor

The decrease factor.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_get_rprop_decrease_factor() - Returns the increase factor used during RPROP training

fann_set_quickprop_mu
fann_set_rprop_delta_max
Fann Funktionen


Sets the maximum step-size

fann_set_rprop_decrease_factor
fann_set_rprop_delta_min
Fann Funktionen
PHP Manual

fann_set_rprop_delta_max

(PECL fann >= 1.0.0)

fann_set_rprop_delta_max — Sets the maximum step-size

Beschreibung

bool fann_set_rprop_delta_max ( resource $ann , float $rprop_delta_max )

The maximum step-size is a positive number determining how large the maximum step-size may be.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

rprop_delta_max

The maximum step-size.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_get_rprop_delta_max() - Returns the maximum step-size
  • fann_get_rprop_delta_min() - Returns the minimum step-size

fann_set_rprop_decrease_factor
fann_set_rprop_delta_min
Fann Funktionen


Sets the minimum step-size

fann_set_rprop_delta_max
fann_set_rprop_delta_zero
Fann Funktionen
PHP Manual

fann_set_rprop_delta_min

(PECL fann >= 1.0.0)

fann_set_rprop_delta_min — Sets the minimum step-size

Beschreibung

bool fann_set_rprop_delta_min ( resource $ann , float $rprop_delta_min )

The minimum step-size is a small positive number determining how small the minimum step-size may be.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

rprop_delta_min

The minimum step-size.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_get_rprop_delta_min() - Returns the minimum step-size

fann_set_rprop_delta_max
fann_set_rprop_delta_zero
Fann Funktionen


Sets the initial step-size

fann_set_rprop_delta_min
fann_set_rprop_increase_factor
Fann Funktionen
PHP Manual

fann_set_rprop_delta_zero

(PECL fann >= 1.0.0)

fann_set_rprop_delta_zero — Sets the initial step-size

Beschreibung

bool fann_set_rprop_delta_zero ( resource $ann , float $rprop_delta_zero )

The initial step-size is a positive number determining the initial step size.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

rprop_delta_zero

The initial step-size.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_get_rprop_delta_zero() - Returns the initial step-size
  • fann_get_rprop_delta_min() - Returns the minimum step-size
  • fann_get_rprop_delta_max() - Returns the maximum step-size

fann_set_rprop_delta_min
fann_set_rprop_increase_factor
Fann Funktionen


Sets the increase factor used during RPROP training

fann_set_rprop_delta_zero
fann_set_sarprop_step_error_shift
Fann Funktionen
PHP Manual

fann_set_rprop_increase_factor

(PECL fann >= 1.0.0)

fann_set_rprop_increase_factor — Sets the increase factor used during RPROP training

Beschreibung

bool fann_set_rprop_increase_factor ( resource $ann , float $rprop_increase_factor )

Sets the increase factor used during RPROP training.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

rprop_increase_factor

The increase factor.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_get_rprop_increase_factor() - Returns the increase factor used during RPROP training

fann_set_rprop_delta_zero
fann_set_sarprop_step_error_shift
Fann Funktionen


Sets the sarprop step error shift

fann_set_rprop_increase_factor
fann_set_sarprop_step_error_threshold_factor
Fann Funktionen
PHP Manual

fann_set_sarprop_step_error_shift

(PECL fann >= 1.0.0)

fann_set_sarprop_step_error_shift — Sets the sarprop step error shift

Beschreibung

bool fann_set_sarprop_step_error_shift ( resource $ann , float $sarprop_step_error_shift )

Sets the sarprop step error shift.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

sarprop_step_error_shift

The sarprop step error shift.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_get_sarprop_step_error_shift() - Returns the sarprop step error shift

fann_set_rprop_increase_factor
fann_set_sarprop_step_error_threshold_factor
Fann Funktionen


Sets the sarprop step error threshold factor

fann_set_sarprop_step_error_shift
fann_set_sarprop_temperature
Fann Funktionen
PHP Manual

fann_set_sarprop_step_error_threshold_factor

(PECL fann >= 1.0.0)

fann_set_sarprop_step_error_threshold_factor — Sets the sarprop step error threshold factor

Beschreibung

bool fann_set_sarprop_step_error_threshold_factor ( resource $ann , float $sarprop_step_error_threshold_factor )

Sets the sarprop step error threshold factor.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

sarprop_step_error_threshold_factor

The sarprop step error threshold factor.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_get_sarprop_step_error_threshold_factor() - Returns the sarprop step error threshold factor

fann_set_sarprop_step_error_shift
fann_set_sarprop_temperature
Fann Funktionen


Sets the sarprop temperature

fann_set_sarprop_step_error_threshold_factor
fann_set_sarprop_weight_decay_shift
Fann Funktionen
PHP Manual

fann_set_sarprop_temperature

(PECL fann >= 1.0.0)

fann_set_sarprop_temperature — Sets the sarprop temperature

Beschreibung

bool fann_set_sarprop_temperature ( resource $ann , float $sarprop_temperature )

Sets the sarprop temperature.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

sarprop_temperature

The sarprop temperature.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_get_sarprop_temperature() - Returns the sarprop temperature

fann_set_sarprop_step_error_threshold_factor
fann_set_sarprop_weight_decay_shift
Fann Funktionen


Sets the sarprop weight decay shift

fann_set_sarprop_temperature
fann_set_scaling_params
Fann Funktionen
PHP Manual

fann_set_sarprop_weight_decay_shift

(PECL fann >= 1.0.0)

fann_set_sarprop_weight_decay_shift — Sets the sarprop weight decay shift

Beschreibung

bool fann_set_sarprop_weight_decay_shift ( resource $ann , float $sarprop_weight_decay_shift )

Sets the sarprop weight decay shift.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

sarprop_weight_decay_shift

The sarprop weight decay shift.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_get_sarprop_weight_decay_shift() - Returns the sarprop weight decay shift

fann_set_sarprop_temperature
fann_set_scaling_params
Fann Funktionen


Calculate input and output scaling parameters for future use based on training data

fann_set_sarprop_weight_decay_shift
fann_set_train_error_function
Fann Funktionen
PHP Manual

fann_set_scaling_params

(PECL fann >= 1.0.0)

fann_set_scaling_params — Calculate input and output scaling parameters for future use based on training data

Beschreibung

bool fann_set_scaling_params ( resource $ann , resource $train_data , float $new_input_min , float $new_input_max , float $new_output_min , float $new_output_max )

Calculate input and output scaling parameters for future use based on training data.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

train_data

Resource für Trainingsdaten eines neuralen Netzwerks.

new_input_min

The desired lower bound in input data after scaling (not strictly followed)

new_input_max

The desired upper bound in input data after scaling (not strictly followed)

new_output_min

The desired lower bound in output data after scaling (not strictly followed)

new_output_max

The desired upper bound in output data after scaling (not strictly followed)

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_set_input_scaling_params() - Calculate input scaling parameters for future use based on training data
  • fann_set_output_scaling_params() - Calculate output scaling parameters for future use based on training data

fann_set_sarprop_weight_decay_shift
fann_set_train_error_function
Fann Funktionen


Sets the error function used during training

fann_set_scaling_params
fann_set_train_stop_function
Fann Funktionen
PHP Manual

fann_set_train_error_function

(PECL fann >= 1.0.0)

fann_set_train_error_function — Sets the error function used during training

Beschreibung

bool fann_set_train_error_function ( resource $ann , int $error_function )

Sets the error function used during training.

The error functions are described further in error functions constants.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

error_function

The error function constant

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_get_train_error_function() - Returns the error function used during training

fann_set_scaling_params
fann_set_train_stop_function
Fann Funktionen


Sets the stop function used during training

fann_set_train_error_function
fann_set_training_algorithm
Fann Funktionen
PHP Manual

fann_set_train_stop_function

(PECL fann >= 1.0.0)

fann_set_train_stop_function — Sets the stop function used during training

Beschreibung

bool fann_set_train_stop_function ( resource $ann , int $stop_function )

Sets the stop function used during training.

The stop functions are described further in stop functions constants.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

stop_function

The stop function constant.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_get_train_stop_function() - Returns the stop function used during training

fann_set_train_error_function
fann_set_training_algorithm
Fann Funktionen


Sets the training algorithm

fann_set_train_stop_function
fann_set_weight_array
Fann Funktionen
PHP Manual

fann_set_training_algorithm

(PECL fann >= 1.0.0)

fann_set_training_algorithm — Sets the training algorithm

Beschreibung

bool fann_set_training_algorithm ( resource $ann , int $training_algorithm )

Sets the training algorithm.

More info available in fann_get_training_algorithm().

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

training_algorithm

Training algorithm constant

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_get_training_algorithm() - Returns the training algorithm

fann_set_train_stop_function
fann_set_weight_array
Fann Funktionen


Set connections in the network

fann_set_training_algorithm
fann_set_weight
Fann Funktionen
PHP Manual

fann_set_weight_array

(PECL fann >= 1.0.0)

fann_set_weight_array — Set connections in the network

Beschreibung

bool fann_set_weight_array ( resource $ann , array $connections )

Set connections in the network.

Only the weights can be changed, connections and weights are ignored if they do not already exist in the network.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

connections

An array of FANNConnection objects

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

fann_set_training_algorithm
fann_set_weight
Fann Funktionen


Set a connection in the network

fann_set_weight_array
fann_shuffle_train_data
Fann Funktionen
PHP Manual

fann_set_weight

(PECL fann >= 1.0.0)

fann_set_weight — Set a connection in the network

Beschreibung

bool fann_set_weight ( resource $ann , int $from_neuron , int $to_neuron , float $weight )

Set a connections in the network.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

from_neuron

The neuron where the connection starts

to_neuron

The neuron where the connection ends

weight

Connection weight

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

fann_set_weight_array
fann_shuffle_train_data
Fann Funktionen


Shuffles training data, randomizing the order

fann_set_weight
fann_subset_train_data
Fann Funktionen
PHP Manual

fann_shuffle_train_data

(PECL fann >= 1.0.0)

fann_shuffle_train_data — Shuffles training data, randomizing the order

Beschreibung

bool fann_shuffle_train_data ( resource $train_data )

Shuffles training data, randomizing the order. This is recommended for incremental training, while it have no influence during batch training.

Parameter-Liste

train_data

Resource für Trainingsdaten eines neuralen Netzwerks.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

fann_set_weight
fann_subset_train_data
Fann Funktionen


Returns an copy of a subset of the train data

fann_shuffle_train_data
fann_test_data
Fann Funktionen
PHP Manual

fann_subset_train_data

(PECL fann >= 1.0.0)

fann_subset_train_data — Returns an copy of a subset of the train data

Beschreibung

resource fann_subset_train_data ( resource $data , int $pos , int $length )

Returns an copy of a subset of the train data resource, starting at position pos and length elements forward.

The fann_subset_train_data(train_data, 0, fann_length_train_data(train_data)) do the same as fann_duplicate_train_data()

Parameter-Liste

data

Resource für Trainingsdaten eines neuralen Netzwerks.

pos

Starting position.

length

The number of copied elements.

Rückgabewerte

Gibt bei Erfolg eine Resource mit Trainingsdaten zurück, ansonsten FALSE im Fehlerfall.

Siehe auch

  • fann_duplicate_train_data() - Returns an exact copy of a fann train data

fann_shuffle_train_data
fann_test_data
Fann Funktionen


Test a set of training data and calculates the MSE for the training data

fann_subset_train_data
fann_test
Fann Funktionen
PHP Manual

fann_test_data

(PECL fann >= 1.0.0)

fann_test_data — Test a set of training data and calculates the MSE for the training data

Beschreibung

float fann_test_data ( resource $ann , resource $data )

Test a set of training data and calculates the MSE for the training data.

This function updates the MSE and the bit fail values.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

data

Resource für Trainingsdaten eines neuralen Netzwerks.

Rückgabewerte

The updated MSE, or FALSE on error.

Siehe auch

  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_train_epoch() - Train one epoch with a set of training data
  • fann_get_bit_fail() - The number of fail bits
  • fann_get_MSE() - Reads the mean square error from the network
  • fann_set_training_algorithm() - Sets the training algorithm

fann_subset_train_data
fann_test
Fann Funktionen


Test with a set of inputs, and a set of desired outputs

fann_test_data
fann_train_epoch
Fann Funktionen
PHP Manual

fann_test

(PECL fann >= 1.0.0)

fann_test — Test with a set of inputs, and a set of desired outputs

Beschreibung

bool fann_test ( resource $ann , array $input , array $desired_output )

Test with a set of inputs, and a set of desired outputs. This operation updates the mean square error, but does not change the network in any way.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

input

An array of inputs. This array must be exactly fann_get_num_input() long.

desired_output

An array of desired outputs. This array must be exactly fann_get_num_output() long.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_test_data() - Test a set of training data and calculates the MSE for the training data
  • fann_train() - Train one iteration with a set of inputs, and a set of desired outputs
  • fann_get_num_input() - Get the number of input neurons
  • fann_get_num_output() - Get the number of output neurons

fann_test_data
fann_train_epoch
Fann Funktionen


Train one epoch with a set of training data

fann_test
fann_train_on_data
Fann Funktionen
PHP Manual

fann_train_epoch

(PECL fann >= 1.0.0)

fann_train_epoch — Train one epoch with a set of training data

Beschreibung

float fann_train_epoch ( resource $ann , resource $data )

Train one epoch with the training data stored in data. One epoch is where all of the training data is considered exactly once.

This function returns the MSE error as it is calculated either before or during the actual training. This is not the actual MSE after the training epoch, but since calculating this will require to go through the entire training set once more. It is more than adequate to use this value during training.

The training algorithm used by this function is chosen by fann_set_training_algorithm() function.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

data

Resource für Trainingsdaten eines neuralen Netzwerks.

Rückgabewerte

The MSE, or FALSE on error.

Siehe auch

  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_test_data() - Test a set of training data and calculates the MSE for the training data
  • fann_get_MSE() - Reads the mean square error from the network
  • fann_set_training_algorithm() - Sets the training algorithm

fann_test
fann_train_on_data
Fann Funktionen


Trains on an entire dataset for a period of time

fann_train_epoch
fann_train_on_file
Fann Funktionen
PHP Manual

fann_train_on_data

(PECL fann >= 1.0.0)

fann_train_on_data — Trains on an entire dataset for a period of time

Beschreibung

bool fann_train_on_data ( resource $ann , resource $data , int $max_epochs , int $epochs_between_reports , float $desired_error )

Trains on an entire dataset for a period of time.

This training uses the training algorithm chosen by fann_set_training_algorithm() and the parameters set for these training algorithms.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

data

Resource für Trainingsdaten eines neuralen Netzwerks.

max_epochs

The maximum number of epochs the training should continue

epochs_between_reports

The number of epochs between calling a callback function. A value of zero means that user function is not called.

desired_error

The desired fann_get_MSE() or fann_get_bit_fail(), depending on the stop function chosen by fann_set_train_stop_function()

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_train_on_file() - Trains on an entire dataset, which is read from file, for a period of time
  • fann_train_epoch() - Train one epoch with a set of training data
  • fann_get_bit_fail() - The number of fail bits
  • fann_get_MSE() - Reads the mean square error from the network
  • fann_set_train_stop_function() - Sets the stop function used during training
  • fann_set_training_algorithm() - Sets the training algorithm
  • fann_set_callback() - Sets the callback function for use during training

fann_train_epoch
fann_train_on_file
Fann Funktionen


Trains on an entire dataset, which is read from file, for a period of time

fann_train_on_data
fann_train
Fann Funktionen
PHP Manual

fann_train_on_file

(PECL fann >= 1.0.0)

fann_train_on_file — Trains on an entire dataset, which is read from file, for a period of time

Beschreibung

bool fann_train_on_file ( resource $ann , string $filename , int $max_epochs , int $epochs_between_reports , float $desired_error )

Trains on an entire dataset, which is read from file, for a period of time.

This training uses the training algorithm chosen by fann_set_training_algorithm() and the parameters set for these training algorithms.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

filename

The file containing train data

max_epochs

The maximum number of epochs the training should continue

epochs_between_reports

The number of epochs between calling a user function. A value of zero means that user function is not called.

desired_error

The desired fann_get_MSE() or fann_get_bit_fail(), depending on the stop function chosen by fann_set_train_stop_function()

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_train_epoch() - Train one epoch with a set of training data
  • fann_get_bit_fail() - The number of fail bits
  • fann_get_MSE() - Reads the mean square error from the network
  • fann_set_train_stop_function() - Sets the stop function used during training
  • fann_set_training_algorithm() - Sets the training algorithm
  • fann_set_callback() - Sets the callback function for use during training

fann_train_on_data
fann_train
Fann Funktionen


Train one iteration with a set of inputs, and a set of desired outputs

fann_train_on_file
FANNConnection
Fann Funktionen
PHP Manual

fann_train

(PECL fann >= 1.0.0)

fann_train — Train one iteration with a set of inputs, and a set of desired outputs

Beschreibung

bool fann_train ( resource $ann , array $input , array $desired_output )

Train one iteration with a set of inputs, and a set of desired outputs. This training is always incremental training, since only one pattern is presented.

Parameter-Liste

ann

Resource eines neuralen Netzwerks.

input

An array of inputs. This array must be exactly fann_get_num_input() long.

desired_output

An array of desired outputs. This array must be exactly fann_get_num_output() long.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_train_epoch() - Train one epoch with a set of training data
  • fann_get_num_input() - Get the number of input neurons
  • fann_get_num_output() - Get the number of output neurons

fann_train_on_file
FANNConnection
Fann Funktionen


The FANNConnection class

(No version information available, might only be in Git)

Einführung

FANNConnection is used for the neural network connection. The objects of this class are used in fann_get_connection_array() and fann_set_weight_array().

Klassenbeschreibung

FANNConnection {
/* Eigenschaften */
public $from_neuron ;
public $to_neuron ;
public $weight ;
/* Methoden */
public __construct ( int $from_neuron , int $to_neuron , float $weight )
public int getFromNeuron ( void )
public int getToNeuron ( void )
public void getWeight ( void )
public bool setWeight ( float $weight )
}

Eigenschaften

from_neuron

The neuron where the connection starts.

to_neuron

The neuron where the connection ends.

weight

The weight of the connection.

Inhaltsverzeichnis

  • FANNConnection::__construct — The connection constructor
  • FANNConnection::getFromNeuron — Returns the postions of starting neuron.
  • FANNConnection::getToNeuron — Returns the postions of terminating neuron
  • FANNConnection::getWeight — Returns the connection weight
  • FANNConnection::setWeight — Sets the connections weight
fann_train
FANNConnection::__construct
FANN


The connection constructor

FANNConnection
FANNConnection::getFromNeuron
FANNConnection
PHP Manual

FANNConnection::__construct

(PECL fann >= 1.0.0)

FANNConnection::__construct — The connection constructor

Beschreibung

public FANNConnection::__construct ( int $from_neuron , int $to_neuron , float $weight )

Create new connection and initialize its params. After creating the connection, only weight can be changed.

Parameter-Liste

from_neuron

The postion number of starting neuron.

to_neuron

The postion number of terminating neuron.

weight

The connection weight value.

FANNConnection
FANNConnection::getFromNeuron
FANNConnection


Returns the postions of starting neuron.

FANNConnection::__construct
FANNConnection::getToNeuron
FANNConnection
PHP Manual

FANNConnection::getFromNeuron

(PECL fann >= 1.0.0)

FANNConnection::getFromNeuron — Returns the postions of starting neuron.

Beschreibung

public int FANNConnection::getFromNeuron ( void )

Returns the postions of starting neuron.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The postions of starting neuron.

FANNConnection::__construct
FANNConnection::getToNeuron
FANNConnection


Returns the postions of terminating neuron

FANNConnection::getFromNeuron
FANNConnection::getWeight
FANNConnection
PHP Manual

FANNConnection::getToNeuron

(PECL fann >= 1.0.0)

FANNConnection::getToNeuron — Returns the postions of terminating neuron

Beschreibung

public int FANNConnection::getToNeuron ( void )

Returns the postions of terminating neuron.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The postions of terminating neuron.

FANNConnection::getFromNeuron
FANNConnection::getWeight
FANNConnection


Returns the connection weight

FANNConnection::getToNeuron
FANNConnection::setWeight
FANNConnection
PHP Manual

FANNConnection::getWeight

(PECL fann >= 1.0.0)

FANNConnection::getWeight — Returns the connection weight

Beschreibung

public void FANNConnection::getWeight ( void )

Returns the connection weight.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The connection weight.

FANNConnection::getToNeuron
FANNConnection::setWeight
FANNConnection


Sets the connections weight

FANNConnection::getWeight
JSON
FANNConnection
PHP Manual

FANNConnection::setWeight

(PECL fann >= 1.0.0)

FANNConnection::setWeight — Sets the connections weight

Beschreibung

public bool FANNConnection::setWeight ( float $weight )

Sets the connection weight.

This method is different than fann_set_weight(). It does not update the weight value in the network. The network value is updated only after calling fann_set_weight_array().

Parameter-Liste

weight

The connection weight.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

FANNConnection::getWeight
JSON
FANNConnection


JavaScript-Objekt-Notation

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • JsonSerializable — Die JsonSerializable Schnittstelle
    • JsonSerializable::jsonSerialize — Angegebene Daten, die in JSON serialisiert werden sollen
  • JSON-Funktionen
    • json_decode — Dekodiert eine JSON-Zeichenkette
    • json_encode — Gibt die JSON-Repräsentation eines Wertes zurück
    • json_last_error_msg — Gibt die Fehlermeldung des letzten Aufrufs von json_encode oder json_decode() zurück
    • json_last_error — Gibt den letzten aufgetretenen Fehler zurück
FANNConnection::setWeight
Einführung
Sonstige Grunderweiterungen


Einführung

Diese Erweiterung implementiert das » JavaScript-Objekt-Notation (JSON)-Datenaustauschformat. Die Dekodierung wird von einem Parser übernommen, der auf dem JSON_checker von Douglas Crockford basiert.

Hinweis:

PHP implementiert eine Obermenge von der ursprünglich in » RFC 4627 spezifizierten Version von JSON. Es kodiert und dekodiert auch skalare Typen und NULL. RFC 4627 unterstützt diese Werte nur wenn sie innerhalb eines Arrays oder Objektes enthalten sind.

Obwohl diese Obermenge konsistent zur erweiterten Definition von "JSON-Text" gemäß dem neueren » RFC 7159 (welcher RFC 4627 ersetzen soll) und ECMA-404 ist, kann dies zu Kompatibilitätsproblemen mit älteren JSON-Parsern führen, wenn diese sich strikt an RFC 4627 halten wenn skalare Werte kodiert werden.

JSON
Installation/Konfiguration
JSON


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
JSON


Installation

Seit PHP 5.2.0 ist die JSON-Erweiterung standardmäßig mit PHP gebündelt und kompiliert.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/json

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

Die folgenden Konstanten geben den Typ des Fehlers an, der von json_last_error() zurückgegeben wurde.

JSON_ERROR_NONE (integer)
Kein Fehler aufgetreten. Verfügbar seit PHP 5.3.0.
JSON_ERROR_DEPTH (integer)
Die maximale Stacktiefe wurde überschritten. Verfügbar seit PHP 5.3.0.
JSON_ERROR_STATE_MISMATCH (integer)
Tritt ein bei Unterlauf oder State-Mismatch. Verfügbar seit PHP 5.3.0.
JSON_ERROR_CTRL_CHAR (integer)
Steuerzeichenfehler, möglicherweise unkorrekt kodiert. Verfügbar seit PHP 5.3.0.
JSON_ERROR_SYNTAX (integer)
Syntaxfehler. Verfügbar seit PHP 5.3.0.
JSON_ERROR_UTF8 (integer)
Ungültige UTF-8 Zeichen, eventuall falsch kodiert. Verfügbar seit PHP 5.3.3.
JSON_ERROR_RECURSION (integer)

Das an json_encode() übergebene Objekt oder Array enthält rekursive Referenzen und kann nicht kodiert werden. Wenn die JSON_PARTIAL_OUTPUT_ON_ERROR Option übergeben wurde, wird NULL an Stelle der rekursiven Referenz kodiert.

Diese Konstante ist verfügbar seit PHP 5.5.0.

JSON_ERROR_INF_OR_NAN (integer)

Der an json_encode() übergebene Wert enthält entweder NAN oder INF. Wenn die JSON_PARTIAL_OUTPUT_ON_ERROR Option übergeben wurde, wird 0 an Stelle dieser speziellen Zahlen kodiert.

Diese Konstante ist verfügbar seit PHP 5.5.0.

JSON_ERROR_UNSUPPORTED_TYPE (integer)

Der an json_encode() übergebene Wert enthält einen nicht unterstützten Typ, beispielweise resource. Wenn die JSON_PARTIAL_OUTPUT_ON_ERROR Option übergeben wurde, wird NULL an Stelle des nicht unterstützten Wertes kodiert.

Diese Konstante ist verfügbar seit PHP 5.5.0.

Die folgenden Konstanten können kombiniert (verodert) werden, um Optionen für json_encode() zu bilden.

JSON_HEX_TAG (integer)
Alle < und > werden zu \u003C und \u003E konvertiert. Verfügbar seit PHP 5.3.0.
JSON_HEX_AMP (integer)
Alle &s werden zu \u0026 konvertiert. Verfügbar seit PHP 5.3.0.
JSON_HEX_APOS (integer)
Alle ' werden zu \u0027 konvertiert. Verfügbar seit PHP 5.3.0.
JSON_HEX_QUOT (integer)
Alle " werden zu \u0022 konvertiert. Verfügbar seit PHP 5.3.0.
JSON_FORCE_OBJECT (integer)
Gibt ein Objekt statt einem Array aus, wenn ein nichtassoziatives Array verwendet wird. Besonders nützlich, wenn der Empfänger der Ausgabe ein Objekt erwartet und das Array leer ist. Verfügbar seit PHP 5.3.0.
JSON_NUMERIC_CHECK (integer)
Kodiert numerische Zeichenketten als Zahlen. Verfügbar seit PHP 5.3.3.
JSON_BIGINT_AS_STRING (integer)
Kodiert große Zahlen als ihre originale Zeichenkette. Verfügbar seit PHP 5.4.0.
JSON_PRETTY_PRINT (integer)
Nutzt Whitespace um die zurückgegebenen Daten zu formatieren. Verfügbar seit PHP 5.4.0.
JSON_UNESCAPED_SLASHES (integer)
Escape / nicht. Verfügbar seit PHP 5.4.0.
JSON_UNESCAPED_UNICODE (integer)
Kodiere Unicode Zeichen, welche aus mehreren Bytes bestehen, direkt (standardmäßig werden \uXXXX Escapes genutzt). Verfügbar seit PHP 5.4.0.
JSON_PARTIAL_OUTPUT_ON_ERROR (integer)
Ersetze einige unkodierbare Werte anstatt fehlzuschlagen. Verfügbar seit PHP 5.5.0.
JSON_PRESERVE_ZERO_FRACTION (integer)
Stellt sicher, dass float Werte immer als Fließkomma-Werte kodiert werden. Verfügbar seit PHP 5.6.6.
Ressource-Typen
JsonSerializable
JSON


Die JsonSerializable Schnittstelle

(PHP 5 >= 5.4.0, PHP 7)

Einführung

Objekte, die JsonSerializable implementieren, können ihre JSON-Darstellung verändern, wenn sie mit json_encode() codiert wurden.

Interface-Übersicht

JsonSerializable {
/* Methoden */
abstract public mixed jsonSerialize ( void )
}

Inhaltsverzeichnis

  • JsonSerializable::jsonSerialize — Angegebene Daten, die in JSON serialisiert werden sollen
Vordefinierte Konstanten
JsonSerializable::jsonSerialize
JSON


Angegebene Daten, die in JSON serialisiert werden sollen

JsonSerializable
JSON-Funktionen
JsonSerializable
PHP Manual

JsonSerializable::jsonSerialize

(PHP 5 >= 5.4.0, PHP 7)

JsonSerializable::jsonSerialize — Angegebene Daten, die in JSON serialisiert werden sollen

Beschreibung

abstract public mixed JsonSerializable::jsonSerialize ( void )

Serialisiert das Objekt zu einem Wert, der nativ von json_encode() serialisiert werden kann.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt Daten zurück, die von json_encode() serialisiert werden können, welche ein Wert eines beliebigen Typs, der nicht resource ist.

Beispiele

Beispiel #1 JsonSerializable::jsonSerialize() Beispiel, das ein array zurückgibt.

<?php
class ArrayValue implements JsonSerializable {
    public function __construct(array $array) {
        $this->array = $array;
    }

    public function jsonSerialize() {
        return $this->array;
    }
}

$array = [1, 2, 3];
echo json_encode(new ArrayValue($array), JSON_PRETTY_PRINT);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

[
    1,
    2,
    3
]

Beispiel #2 JsonSerializable::jsonSerialize() Beispiel, das ein assoziatives array zurückgibt.

<?php
class ArrayValue implements JsonSerializable {
    public function __construct(array $array) {
        $this->array = $array;
    }

    public function jsonSerialize() {
        return $this->array;
    }
}

$array = ['foo' => 'bar', 'quux' => 'baz'];
echo json_encode(new ArrayValue($array), JSON_PRETTY_PRINT);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

{
    "foo": "bar",
    "quux": "baz"
}

Beispiel #3 JsonSerializable::jsonSerialize() Beispiel, das einen integer zurückgibt.

<?php
class IntegerValue implements JsonSerializable {
    public function __construct($number) {
        $this->number = (integer) $number;
    }

    public function jsonSerialize() {
        return $this->number;
    }
}

echo json_encode(new IntegerValue(1), JSON_PRETTY_PRINT);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1

Beispiel #4 JsonSerializable::jsonSerialize() Beispiel, das einen string zurückgibt

<?php
class StringValue implements JsonSerializable {
    public function __construct($string) {
        $this->string = (string) $string;
    }

    public function jsonSerialize() {
        return $this->string;
    }
}

echo json_encode(new StringValue('Hello!'), JSON_PRETTY_PRINT);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

"Hello!"

JsonSerializable
JSON-Funktionen
JsonSerializable


JSON-Funktionen

Inhaltsverzeichnis

  • json_decode — Dekodiert eine JSON-Zeichenkette
  • json_encode — Gibt die JSON-Repräsentation eines Wertes zurück
  • json_last_error_msg — Gibt die Fehlermeldung des letzten Aufrufs von json_encode oder json_decode() zurück
  • json_last_error — Gibt den letzten aufgetretenen Fehler zurück
JsonSerializable::jsonSerialize
json_decode
JSON


Dekodiert eine JSON-Zeichenkette

JSON-Funktionen
json_encode
JSON-Funktionen
PHP Manual

json_decode

(PHP 5 >= 5.2.0, PECL json >= 1.2.0, PHP 7)

json_decode — Dekodiert eine JSON-Zeichenkette

Beschreibung

mixed json_decode ( string $json [, bool $assoc = false [, int $depth = 512 [, int $options = 0 ]]] )

Konvertiert eine JSON-kodierte Zeichenkette in eine PHP-Variable.

Parameter-Liste

json

Der zu dekodierende json-String (in UTF-8-Kodierung).

Diese Funktion arbeitet nur mit in UTF-8 kodierten Strings.

Hinweis:

PHP implementiert eine Obermenge von der ursprünglich in » RFC 4627 spezifizierten Version von JSON. Es kodiert und dekodiert auch skalare Typen und NULL. RFC 4627 unterstützt diese Werte nur wenn sie innerhalb eines Arrays oder Objektes enthalten sind.

Obwohl diese Obermenge konsistent zur erweiterten Definition von "JSON-Text" gemäß dem neueren » RFC 7159 (welcher RFC 4627 ersetzen soll) und ECMA-404 ist, kann dies zu Kompatibilitätsproblemen mit älteren JSON-Parsern führen, wenn diese sich strikt an RFC 4627 halten wenn skalare Werte kodiert werden.

assoc

Wenn TRUE, werden zurückgegebene Objekte in assoziative Arrays konvertiert.

depth

Benutzerspezifische Verschachtelungstiefe.

options

Bitmaske mit JSOn-Dekodieroptionen. Derzeit ist nur JSON_BIGINT_AS_STRING unterstützt (standardmäßig werden große Ganzzahlen in Fließkommazahlen umgewandelt).

Rückgabewerte

Gibt den Wert von json im passenden PHP-Typ zurück. Die Werte true, false und null werden entsprechend als TRUE, FALSE und NULL zurückgegeben. NULL wird zurückgegeben, wenn der Parameter json nicht dekodiert werden kann oder wenn die dekodierten Daten tiefer verschachtelt sind, als es der Parameter für Verschachtelungstiefe erlaubt.

Beispiele

Beispiel #1 json_decode()-Beispiele

<?php
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';

var_dump(json_decode($json));
var_dump(json_decode($json, true));

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(stdClass)#1 (5) {
    ["a"] => int(1)
    ["b"] => int(2)
    ["c"] => int(3)
    ["d"] => int(4)
    ["e"] => int(5)
}

array(5) {
    ["a"] => int(1)
    ["b"] => int(2)
    ["c"] => int(3)
    ["d"] => int(4)
    ["e"] => int(5)
}

Beispiel #2 Zugriff auf ungültige Objekteigenschaften

Auf Elemente von Objekten die Zeichen enthalten, welche gemäß den Namenskonventionen von PHP nicht gültig sind (z.B. der Bindestrich), kann durch ein Umschließen des Namens mit geschweiften Klammern und einfachen Anführungszeichen zugegriffen werden.

<?php

$json = '{"foo-bar": 12345}';

$obj = json_decode($json);
print $obj->{'foo-bar'}; // 12345

?>

Beispiel #3 Häufige Fehler bei der Verwendung von json_decode()

<?php

// die folgenden Zeichenketten sind gültiges JavaScript aber kein gültiges JSON

// der Name und der Wert müssen in doppelten Anführungszeichen eingeschlossen werden
// einfache Anführungszeichen sind ungültig
$bad_json = "{ 'bar': 'baz' }";
json_decode($bad_json); // null

// der Name muss in doppelten Anführungszeichen eingeschlossen werden
$bad_json = '{ bar: "baz" }';
json_decode($bad_json); // null

// nachfolgende Kommata sind nicht erlaubt
$bad_json = '{ bar: "baz", }';
json_decode($bad_json); // null

?>

Beispiel #4 Fehler bei der Verwendung von depth

<?php
// Daten kodieren
$json = json_encode(
    array(
        1 => array(
            'englisch' => array(
                'One',
                'January'
            ),
            'französisch' => array(
                'Une',
                'Janvier'
            )
        )
    )
);

// Errordefinitionen
$constants = get_defined_constants(true);
$json_errors = array();
foreach ($constants["json"] as $name => $value) {
    if (!strncmp($name, "JSON_ERROR_", 11)) {
        $json_errors[$value] = $name;
    }
}

// Zeige die Fehler für unterschiedliche Verschachtelungstiefen
foreach (range(4, 3, -1) as $depth) {
    var_dump(json_decode($json, true, $depth));
    echo 'Letzter Fehler: ', $json_errors[json_last_error()], PHP_EOL, PHP_EOL;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(1) {
  [1]=>
  array(2) {
    ["English"]=>
    array(2) {
      [0]=>
      string(3) "One"
      [1]=>
      string(7) "January"
    }
    ["French"]=>
    array(2) {
      [0]=>
      string(3) "Une"
      [1]=>
      string(7) "Janvier"
    }
  }
}
Letzter Fehler : JSON_ERROR_NONE

NULL
Letzter Fehler : JSON_ERROR_DEPTH

Beispiel #5 json_decode() von großen Ganzzahlen

<?php
$json = '{"number": 12345678901234567890}';

var_dump(json_decode($json));
var_dump(json_decode($json, false, 512, JSON_BIGINT_AS_STRING));

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(stdClass)#1 (1) {
  ["number"]=>
  float(1.2345678901235E+19)
}
object(stdClass)#1 (1) {
  ["number"]=>
  string(20) "12345678901234567890"
}

Anmerkungen

Hinweis:

Die JSON-Spezifikation ist nicht JavaScript, aber ein Subset davon.

Hinweis:

Tritt ein Dekodierungsfehler auf, kann json_last_error() verwendet werden, um die exakte Natur des Fehlers zu ermitteln.

Changelog

Version | Beschreibung
5.6.0 | Ungültige nicht kleingeschriebene Varianten von true, false und null literals sind nicht weiter gültige Eingaben und werden eine Warnung hervorrufen.
5.4.0 | Der Parameter options wurde hinzugefügt.
5.3.0 | Der optionale Parameter depth wurde hinzugefügt. Die Standardrekursionstiefe wurde von 128 auf 512 heraufgesetzt.
5.2.3 | Die Verschachtelungsgrenze wurde von 20 auf 128 angehoben.
5.2.1 | Unterstützung für JSON-Dekodierung der Basistypen wurde hinzugefügt.

Siehe auch

  • json_encode() - Gibt die JSON-Repräsentation eines Wertes zurück
  • json_last_error() - Gibt den letzten aufgetretenen Fehler zurück

JSON-Funktionen
json_encode
JSON-Funktionen


Gibt die JSON-Repräsentation eines Wertes zurück

json_decode
json_last_error_msg
JSON-Funktionen
PHP Manual

json_encode

(PHP 5 >= 5.2.0, PECL json >= 1.2.0, PHP 7)

json_encode — Gibt die JSON-Repräsentation eines Wertes zurück

Beschreibung

string json_encode ( mixed $value [, int $options = 0 [, int $depth = 512 ]] )

Gibt eine Zeichenkette zurück, die die JSON-Darstellung von value beinhaltet.

Parameter-Liste

value

Der zu kodierende value. Kann von jedem Typ außer Ressource sein.

Alle Strings müssen in UTF-8 kodiert sein-

Hinweis:

PHP implementiert eine Obermenge von der ursprünglich in » RFC 4627 spezifizierten Version von JSON. Es kodiert und dekodiert auch skalare Typen und NULL. RFC 4627 unterstützt diese Werte nur wenn sie innerhalb eines Arrays oder Objektes enthalten sind.

Obwohl diese Obermenge konsistent zur erweiterten Definition von "JSON-Text" gemäß dem neueren » RFC 7159 (welcher RFC 4627 ersetzen soll) und ECMA-404 ist, kann dies zu Kompatibilitätsproblemen mit älteren JSON-Parsern führen, wenn diese sich strikt an RFC 4627 halten wenn skalare Werte kodiert werden.

options

Bitmaske bestehend aus JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT, JSON_PRESERVE_ZERO_FRACTION, JSON_UNESCAPED_UNICODE. Das Verhalten dieser Konstanten ist auf der Seite über die JSON Konstanten beschrieben.

depth

Setzt die maximale Tiefe. Muss größer sein als Null.

Rückgabewerte

Gibt einen JSON-kodierten String zurück oder Im Fehlerfall wird FALSE zurückgegeben..

Changelog

Version | Beschreibung
5.6.6 | Die JSON_PRESERVE_ZERO_FRACTION option wurde hinzugefügt.
5.5.0 | Der Parameter depth wurde hinzugefügt.
5.4.0 | JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, und JSON_UNESCAPED_UNICODE für options wurden hinzugefügt.
5.3.3 | JSON_NUMERIC_CHECK für options wurde hinzugefügt.
5.3.0 | Der Parameter options wurde hinzugefügt.

Beispiele

Beispiel #1 A json_encode() example

<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);

echo json_encode($arr);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

{"a":1,"b":2,"c":3,"d":4,"e":5}

Beispiel #2 Ein json_encode()-Beispiel, das den Einsatz einiger Optionen zeigt

<?php
$a = array('<foo>',"'bar'",'"baz"','&blong&', "\xc3\xa9");

echo "Normal: ",  json_encode($a), "\n";
echo "Tags: ",    json_encode($a, JSON_HEX_TAG), "\n";
echo "Apos: ",    json_encode($a, JSON_HEX_APOS), "\n";
echo "Quot: ",    json_encode($a, JSON_HEX_QUOT), "\n";
echo "Amp: ",     json_encode($a, JSON_HEX_AMP), "\n";
echo "Unicode: ", json_encode($a, JSON_UNESCAPED_UNICODE), "\n";
echo "All: ",     json_encode($a, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP | JSON_UNESCAPED_UNICODE), "\n\n";

$b = array();

echo "Ausgabe eines leeren Arrays als Array: ", json_encode($b), "\n";
echo "Ausgabe eines leeren Arrays als Objekt: ", json_encode($b, JSON_FORCE_OBJECT), "\n\n";

$c = array(array(1,2,3));

echo "Ausgabe eines nichtassoziativen Arrays als Array: ", json_encode($c), "\n";
echo "Ausgabe eines nichtassoziativen Arrays als Objekt: ", json_encode($c, JSON_FORCE_OBJECT), "\n\n";

$d = array('foo' => 'bar', 'baz' => 'long');

echo "Assoziative Arrays werden immer als Objekt ausgegeben: ", json_encode($d), "\n";
echo "Assoziative Arrays werden immer als Objekt ausgegeben: ", json_encode($d, JSON_FORCE_OBJECT), "\n\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Normal: ["<foo>","'bar'","\"baz\"","&blong&","\u00e9"]
Tags: ["\u003Cfoo\u003E","'bar'","\"baz\"","&blong&","\u00e9"]
Apos: ["<foo>","\u0027bar\u0027","\"baz\"","&blong&","\u00e9"]
Quot: ["<foo>","'bar'","\u0022baz\u0022","&blong&","\u00e9"]
Amp: ["<foo>","'bar'","\"baz\"","\u0026blong\u0026","\u00e9"]
Unicode: ["<foo>","'bar'","\"baz\"","&blong&","é"]
All: ["\u003Cfoo\u003E","\u0027bar\u0027","\u0022baz\u0022","\u0026blong\u0026","é"]

Ausgabe eines leeren Arrays als Array: []
Ausgabe eines leeren Arrays als Objekt: {}

Ausgabe eines nichtassoziativen Arrays als Array: [[1,2,3]]
Ausgabe eines nichtassoziativen Arrays als Objekt: {"0":{"0":1,"1":2,"2":3}}

Assoziative Arrays werden immer als Objekt ausgegeben: {"foo":"bar","baz":"long"}
Assoziative Arrays werden immer als Objekt ausgegeben: {"foo":"bar","baz":"long"}

Beispiel #3 JSON_NUMERIC_CHECK-Option-Beispiel

<?php
echo "Zeichenketten, die Zahlen repräsentieren, die automatisch in Zahlen gewandelt wurden".PHP_EOL;
$numbers = array('+123123', '-123123', '1.2e3', '0.00001');
var_dump(
 $numbers,
 json_encode($numbers, JSON_NUMERIC_CHECK)
);
echo "Zeichenketten, die unsachgemäß formartierte Zahlen enthalten".PHP_EOL;
$strings = array('+a33123456789', 'a123');
var_dump(
 $strings,
 json_encode($strings, JSON_NUMERIC_CHECK)
);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Zeichenketten, die Zahlen repräsentieren, die automatisch in Zahlen gewandelt wurden
array(4) {
  [0]=>
  string(7) "+123123"
  [1]=>
  string(7) "-123123"
  [2]=>
  string(5) "1.2e3"
  [3]=>
  string(7) "0.00001"
}
string(28) "[123123,-123123,1200,1.0e-5]"
Zeichenketten, die unsachgemäß formartierte Zahlen enthalten
array(2) {
  [0]=>
  string(13) "+a33123456789"
  [1]=>
  string(4) "a123"
}
string(24) "["+a33123456789","a123"]"

Beispiel #4 Beispiel für sequentielle und nicht sequentielle Arrays

<?php
echo "Sequentielles Array".PHP_EOL;
$sequential = array("foo", "bar", "baz", "blong");
var_dump(
 $sequential,
 json_encode($sequential)
);

echo PHP_EOL."Nicht sequentielles Array".PHP_EOL;
$nonsequential = array(1=>"foo", 2=>"bar", 3=>"baz", 4=>"blong");
var_dump(
 $nonsequential,
 json_encode($nonsequential)
);

echo PHP_EOL."Sequentielles Array mit einem entfernten Schlüssel".PHP_EOL;
unset($sequential[1]);
var_dump(
 $sequential,
 json_encode($sequential)
);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Sequentielles Array
array(4) {
  [0]=>
  string(3) "foo"
  [1]=>
  string(3) "bar"
  [2]=>
  string(3) "baz"
  [3]=>
  string(5) "blong"
}
string(27) "["foo","bar","baz","blong"]"

Nicht sequentielles Array
array(4) {
  [1]=>
  string(3) "foo"
  [2]=>
  string(3) "bar"
  [3]=>
  string(3) "baz"
  [4]=>
  string(5) "blong"
}
string(43) "{"1":"foo","2":"bar","3":"baz","4":"blong"}"

Sequentielles Array mit einem entfernten Schlüssel
array(3) {
  [0]=>
  string(3) "foo"
  [2]=>
  string(3) "baz"
  [3]=>
  string(5) "blong"
}
string(33) "{"0":"foo","2":"baz","3":"blong"}"

Beispiel #5 JSON_PRESERVE_ZERO_FRACTION-Option-Beispiel

<?php
var_dump(json_encode(12.0, JSON_PRESERVE_ZERO_FRACTION));
var_dump(json_encode(12.0));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(4) "12.0"
string(2) "12"

Anmerkungen

Hinweis:

Falls ein Fehler beim kodieren auftritt, kann json_last_error() verwendet werden, um die genaue Ursache des Fehlers festzustellen.

Hinweis:

Wenn ein Array kodiert wird werden alle Schlüssel als Strings kodiert und für alle Schlüssel-Wert-Paare explizit angegeben, wenn die Schlüssel keine kontinuierliche aufsteigende Sequenz sind die bei 0 beginnt.

Hinweis:

Wie der Referenz JSON-Encoder gibt auch json_encode() einen einfachen Wert (also weder ein Objekt noch ein Array) aus, wenn ein String, Integer, Float oder Boolean als Eingabe für value übergeben wird. Während die meisten Decoder diese Werte als gültiges JSON akzeptieren könnte es einige geben die dies ablehnen, da die Spezifikationen in diesem Punkt mehrdeutig sind.

Um zusammenzufassen: Prüfen Sie immer, ob ihr JSON-Decoder die Ausgabe, die Sie mittels json_encode() erzeugen, verarbeiten kann.

Siehe auch

  • JsonSerializable
  • json_decode() - Dekodiert eine JSON-Zeichenkette
  • json_last_error() - Gibt den letzten aufgetretenen Fehler zurück
  • serialize() - Erzeugt eine speicherbare Repräsentation eines Wertes.

json_decode
json_last_error_msg
JSON-Funktionen


Gibt die Fehlermeldung des letzten Aufrufs von json_encode oder json_decode() zurück

json_encode
json_last_error
JSON-Funktionen
PHP Manual

json_last_error_msg

(PHP 5 >= 5.5.0, PHP 7)

json_last_error_msg — Gibt die Fehlermeldung des letzten Aufrufs von json_encode oder json_decode() zurück

Beschreibung

string json_last_error_msg ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg die Fehlermeldung zurück, "No Error", wenn kein Fehler aufgetreten ist. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • json_last_error() - Gibt den letzten aufgetretenen Fehler zurück

json_encode
json_last_error
JSON-Funktionen


Gibt den letzten aufgetretenen Fehler zurück

json_last_error_msg
Judy
JSON-Funktionen
PHP Manual

json_last_error

(PHP 5 >= 5.3.0, PHP 7)

json_last_error — Gibt den letzten aufgetretenen Fehler zurück

Beschreibung

int json_last_error ( void )

Gibt (sofern vorhanden) den letzten Fehler zurück, der beim letzten Kodieren/Dekodieren von JSON aufgetreten ist.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt einen Integer zurück, der Wert kann eine der folgenden Konstanten sein:

JSON-Fehlercodes
Konstante | Bedeutung | Verfügbarkeit
JSON_ERROR_NONE | Kein Fehler aufgetreten. |
JSON_ERROR_DEPTH | Die maximale Stacktiefe wurde überschritten. |
JSON_ERROR_STATE_MISMATCH | Ungültiges oder missgestaltetes JSON |
JSON_ERROR_CTRL_CHAR | Steuerzeichenfehler, möglicherweise unkorrekt kodiert. |
JSON_ERROR_SYNTAX | Syntaxfehler. |
JSON_ERROR_UTF8 | Missgestaltete UTF-8 Zeichen, möglicherweise fehlerhaft kodiert | PHP 5.3.3
JSON_ERROR_RECURSION | Eine oder mehrere rekursive Referenzen im zu kodierenden Wert | PHP 5.5.0
JSON_ERROR_INF_OR_NAN | Eine oder mehrere NAN oder INF Werte im zu kodierenden Wert | PHP 5.5.0
JSON_ERROR_UNSUPPORTED_TYPE | Ein Wert eines Typs, der nicht kodiert werden kann, wurde übergeben | PHP 5.5.0

Beispiele

Beispiel #1 json_last_error()-Beispiel

<?php
// Ein gültiger JSON-String
$json[] = '{"Organisation": "PHP-Dokumentationsteam"}';

// Ein ungültiger JSON-String, der einen Syntaxfehler hervorruft,
// in diesem Fall werden ' anstelle von " als Anführungszeichen verwendet
$json[] = "{'Organisation': 'PHP-Dokumentationsteam'}";

foreach($json as $string) {
    echo 'Dekodiere: ' . $string;
    json_decode($string);

    switch(json_last_error()) {
        case JSON_ERROR_NONE:
            echo ' - Keine Fehler';
        break;
        case JSON_ERROR_DEPTH:
            echo ' - Maximale Stacktiefe überschritten';
        break;
        case JSON_ERROR_STATE_MISMATCH:
            echo ' - Unterlauf oder Nichtübereinstimmung der Modi';
        break;
        case JSON_ERROR_CTRL_CHAR:
            echo ' - Unerwartetes Steuerzeichen gefunden';
        break;
        case JSON_ERROR_SYNTAX:
            echo ' - Syntaxfehler, ungültiges JSON';
        break;
        case JSON_ERROR_UTF8:
            echo ' - Missgestaltete UTF-8 Zeichen, möglicherweise fehlerhaft kodiert';
        break;
        default:
            echo ' - Unbekannter Fehler';
        break;
    }

    echo PHP_EOL;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Decoding: {"Organisation": "PHP-Dokumentationsteam"} - Keine Fehler
Decoding: {'Organisation': 'PHP-Dokumentationsteam'} - Syntaxfehler, ungültiges JSON

Beispiel #2 json_last_error() mit json_encode()

<?php
// Eine ungültige UTF8 Sequenz
$text = "\xB1\x31";

$json  = json_encode($text);
$error = json_last_error();

var_dump($json, $error === JSON_ERROR_UTF8);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(4) "null"
bool(true)

Siehe auch

  • json_last_error_msg() - Gibt die Fehlermeldung des letzten Aufrufs von json_encode oder json_decode() zurück
  • json_decode() - Dekodiert eine JSON-Zeichenkette
  • json_encode() - Gibt die JSON-Repräsentation eines Wertes zurück

json_last_error_msg
Judy
JSON-Funktionen


Judy Arrays

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Judy — The Judy class
    • Judy::byCount — Locate the Nth index present in the Judy array
    • Judy::__construct — Construct a new Judy object
    • Judy::count — Count the number of elements in the Judy array
    • Judy::__destruct — Destruct a Judy object
    • Judy::first — Search for the first index in the Judy array
    • Judy::firstEmpty — Search for the first absent index in the Judy array
    • Judy::free — Free the entire Judy array
    • Judy::getType — Return the type of the current Judy array
    • Judy::last — Search for the last index in the Judy array
    • Judy::lastEmpty — Search for the last absent index in the Judy array
    • Judy::memoryUsage — Return the memory used by the Judy array
    • Judy::next — Search for the next index in the Judy array
    • Judy::nextEmpty — Search for the next absent index in the Judy array
    • Judy::offsetExists — Whether a offset exists
    • Judy::offsetGet — Offset to retrieve
    • Judy::offsetSet — Offset to set
    • Judy::offsetUnset — Offset to unset
    • Judy::prev — Search for the previous index in the Judy array
    • Judy::prevEmpty — Search for the previous absent index in the Judy array
    • Judy::size — Return the size of the current Judy array
  • Judy Funktionen
    • judy_type — Return the type of a Judy array
    • judy_version — Return or print the current PHP Judy version
json_last_error
Einführung
Sonstige Grunderweiterungen


Einführung

PHP Judy is a PECL extension for the » Judy C library implementing dynamic sparse arrays.

A Judy array is a complex but very fast associative array data structure for storing and looking up values using integer or string keys. Unlike normal arrays, Judy arrays may be sparse; that is, they may have large ranges of unassigned indices.

A Judy array consumes memory only when populated yet can grow to take advantage of all available memory. Judy's key benefits are: scalability, performance, memory efficiency, and ease of use. Judy arrays are designed to grow without tuning into the peta-element range, scaling near O(log-base-256) -- 1 more RAM access at 256 X population.

Judy
Installation/Konfiguration
Judy


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Judy


Anforderungen

This extension require the » Judy C library.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/judy

Installation on Linux Systems

From sources

Download and install » libJudy, then :

     phpize
     ./configure --with-judy[=DIR]
     make
     make test
     make install

Ubuntu/Debian

libJudy can be installed with apt-get :

    apt-get install libjudydebian1 libjudy-dev
Then by installing the Judy extension from PECL or from the sources.

Installation on Windows Systems

Download » libJudy, then extract the sources and open the Visual Studio command prompt and navigate to the source directory. Then execute :

build
This creates "Judy.lib", copy this into the php-sdk library folder and name it "libJudy.lib" Then copy the include file "judy.h" into the php-sdk includes folder.

Next, the PHP Judy extension can be installed from PECL or from the sources by extracting the pecl/judy into your build folder where the build scripts will be able to pick it up, e.g.:

    C:\php\pecl\judy\
If your source of PHP is located in:
    C:\php\src\
The rest of the steps is pretty straight forward, like any other external extension:
    buildconf
    configure --with-judy=shared
    nmake

Installation on Mac OS X

Download and install » libJudy. Then install the Judy extension from PECL or from the sources.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Ressource-Typen

Diese Erweiterung definiert keine Ressource-Typen.

Laufzeit-Konfiguration
Judy
Installation/Konfiguration


The Judy class

(PECL judy >= 0.1.1)

Einführung

The Judy class implements the ArrayAccess interface and the Iterator interface. This class, once instantiated, can be accessed like a PHP array.

A PHP Judy object (or Judy Array) can be one of the following type :

  • Judy::BITSET
  • Judy::INT_TO_INT
  • Judy::INT_TO_MIXED
  • Judy::STRING_TO_INT
  • Judy::STRING_TO_MIXED

Beispiel #1 Judy array example

<?php
    $judy = new Judy(Judy::INT_TO_MIXED);
    $judy[1] = "one";
    $judy[2] = array('a', 'b', 'c');
    $judy[3] = new Judy(Judy::BITSET);
?>

Klassenbeschreibung

Judy implements ArrayAccess , Iterator {
/* Constants */
const integer BITSET = 1 ;
const integer INT_TO_INT = 2 ;
const integer INT_TO_MIXED = 3 ;
const integer STRING_TO_INT = 4 ;
const integer STRING_TO_MIXED = 5 ;
/* Methoden */
public int byCount ( int $nth_index )
public __construct ( int $judy_type )
public int count ([ int $index_start = 0 [, int $index_end = -1 ]] )
public void __destruct ( void )
public mixed first ([ mixed $index ] )
public int firstEmpty ([ mixed $index = 0 ] )
public int free ( void )
public int getType ( void )
public void last ([ string $index ] )
public int lastEmpty ([ int $index = -1 ] )
public int memoryUsage ( void )
public mixed next ( mixed $index )
public int nextEmpty ( int $index )
public bool offsetExists ( mixed $offset )
public mixed offsetGet ( mixed $offset )
public bool offsetSet ( mixed $offset , mixed $value )
public bool offsetUnset ( mixed $offset )
public mixed prev ( mixed $index )
public int prevEmpty ( mixed $index )
public void size ( void )
}

Vordefinierte Konstanten

Judy::BITSET

Define the Judy Array as a Bitset with keys as Integer and Values as a Boolean

Judy::INT_TO_INT

Define the Judy Array with key/values as Integer, and Integer only.

Judy::INT_TO_MIXED

Define the Judy Array with keys as Integer and Values of any type.

Judy::STRING_TO_INT

Define the Judy Array with keys as a String and Values as Integer, and Integer only.

Judy::STRING_TO_MIXED

Define the Judy Array with keys as a String and Values of any type.

Inhaltsverzeichnis

  • Judy::byCount — Locate the Nth index present in the Judy array
  • Judy::__construct — Construct a new Judy object
  • Judy::count — Count the number of elements in the Judy array
  • Judy::__destruct — Destruct a Judy object
  • Judy::first — Search for the first index in the Judy array
  • Judy::firstEmpty — Search for the first absent index in the Judy array
  • Judy::free — Free the entire Judy array
  • Judy::getType — Return the type of the current Judy array
  • Judy::last — Search for the last index in the Judy array
  • Judy::lastEmpty — Search for the last absent index in the Judy array
  • Judy::memoryUsage — Return the memory used by the Judy array
  • Judy::next — Search for the next index in the Judy array
  • Judy::nextEmpty — Search for the next absent index in the Judy array
  • Judy::offsetExists — Whether a offset exists
  • Judy::offsetGet — Offset to retrieve
  • Judy::offsetSet — Offset to set
  • Judy::offsetUnset — Offset to unset
  • Judy::prev — Search for the previous index in the Judy array
  • Judy::prevEmpty — Search for the previous absent index in the Judy array
  • Judy::size — Return the size of the current Judy array
Ressource-Typen
Judy::byCount
Judy


Locate the Nth index present in the Judy array

Judy
Judy::__construct
Judy
PHP Manual

Judy::byCount

(PECL judy >= 0.1.1)

Judy::byCount — Locate the Nth index present in the Judy array

Beschreibung

public int Judy::byCount ( int $nth_index )

Locate the Nth index present in the Judy array.

Parameter-Liste

nth_index

Nth index to return. If nth_index equal 1, then it will return the first index in the array.

Rückgabewerte

Return the index at the given Nth position.

Judy
Judy::__construct
Judy


Construct a new Judy object

Judy::byCount
Judy::count
Judy
PHP Manual

Judy::__construct

(PECL judy >= 0.1.1)

Judy::__construct — Construct a new Judy object

Beschreibung

public Judy::__construct ( int $judy_type )

Construct a new Judy object. A Judy object can be accessed like a PHP Array.

Parameter-Liste

judy_type

The Judy type to be used.

Rückgabewerte

Return the new Judy instance.

Judy::byCount
Judy::count
Judy


Count the number of elements in the Judy array

Judy::__construct
Judy::__destruct
Judy
PHP Manual

Judy::count

(PECL judy >= 0.1.1)

Judy::count — Count the number of elements in the Judy array

Beschreibung

public int Judy::count ([ int $index_start = 0 [, int $index_end = -1 ]] )

Count the number of elements in the Judy array.

Parameter-Liste

index_start

Start counting from the given index. Default is first index.

index_end

Stop counting when reaching this index. Default is last index.

Rückgabewerte

Return the number of elements.

Judy::__construct
Judy::__destruct
Judy


Destruct a Judy object

Judy::count
Judy::first
Judy
PHP Manual

Judy::__destruct

(PECL judy >= 0.1.1)

Judy::__destruct — Destruct a Judy object

Beschreibung

public void Judy::__destruct ( void )

Destruct a Judy object.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Judy::count
Judy::first
Judy


Search for the first index in the Judy array

Judy::__destruct
Judy::firstEmpty
Judy
PHP Manual

Judy::first

(PECL judy >= 0.1.1)

Judy::first — Search for the first index in the Judy array

Beschreibung

public mixed Judy::first ([ mixed $index ] )

Search (inclusive) for the first index present that is equal to or greater than the passed Index.

Parameter-Liste

index

The index can be an integer or a string corresponding to the index where to start the search.

Rückgabewerte

Return the corresponding index in the array.

Judy::__destruct
Judy::firstEmpty
Judy


Search for the first absent index in the Judy array

Judy::first
Judy::free
Judy
PHP Manual

Judy::firstEmpty

(PECL judy >= 0.1.1)

Judy::firstEmpty — Search for the first absent index in the Judy array

Beschreibung

public int Judy::firstEmpty ([ mixed $index = 0 ] )

Search (inclusive) for the first absent index that is equal to or greater than the passed Index.

Parameter-Liste

index

The index can be an integer or a string corresponding to the index where to start the search.

Rückgabewerte

Return the corresponding index in the array.

Judy::first
Judy::free
Judy


Free the entire Judy array

Judy::firstEmpty
Judy::getType
Judy
PHP Manual

Judy::free

(PECL judy >= 0.1.1)

Judy::free — Free the entire Judy array

Beschreibung

public int Judy::free ( void )

Free the entire Judy array.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Judy::firstEmpty
Judy::getType
Judy


Return the type of the current Judy array

Judy::free
Judy::last
Judy
PHP Manual

Judy::getType

(PECL judy >= 0.1.1)

Judy::getType — Return the type of the current Judy array

Beschreibung

public int Judy::getType ( void )

Return an integer corresponding to the Judy type of the current object.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Return an integer corresponding to a Judy type.

Judy::free
Judy::last
Judy


Search for the last index in the Judy array

Judy::getType
Judy::lastEmpty
Judy
PHP Manual

Judy::last

(PECL judy >= 0.1.1)

Judy::last — Search for the last index in the Judy array

Beschreibung

public void Judy::last ([ string $index ] )

Search (inclusive) for the last index present that is equal to or less than the passed Index.

Parameter-Liste

index

The index can be an integer or a string corresponding to the index where to start the search.

Rückgabewerte

Return the corresponding index in the array.

Judy::getType
Judy::lastEmpty
Judy


Search for the last absent index in the Judy array

Judy::last
Judy::memoryUsage
Judy
PHP Manual

Judy::lastEmpty

(PECL judy >= 0.1.1)

Judy::lastEmpty — Search for the last absent index in the Judy array

Beschreibung

public int Judy::lastEmpty ([ int $index = -1 ] )

Search (inclusive) for the last absent index that is equal to or less than the passed Index.

Parameter-Liste

index

The index can be an integer or a string corresponding to the index where to start the search.

Rückgabewerte

Return the corresponding index in the array.

Judy::last
Judy::memoryUsage
Judy


Return the memory used by the Judy array

Judy::lastEmpty
Judy::next
Judy
PHP Manual

Judy::memoryUsage

(PECL judy >= 0.1.1)

Judy::memoryUsage — Return the memory used by the Judy array

Beschreibung

public int Judy::memoryUsage ( void )

Return the memory used by the Judy array.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Return the memory used in bytes.

Judy::lastEmpty
Judy::next
Judy


Search for the next index in the Judy array

Judy::memoryUsage
Judy::nextEmpty
Judy
PHP Manual

Judy::next

(PECL judy >= 0.1.1)

Judy::next — Search for the next index in the Judy array

Beschreibung

public mixed Judy::next ( mixed $index )

Search (exclusive) for the next index present that is greater than the passed Index.

Parameter-Liste

index

The index can be an integer or a string corresponding to the index where to start the search.

Rückgabewerte

Return the corresponding index in the array.

Judy::memoryUsage
Judy::nextEmpty
Judy


Search for the next absent index in the Judy array

Judy::next
Judy::offsetExists
Judy
PHP Manual

Judy::nextEmpty

(PECL judy >= 0.1.1)

Judy::nextEmpty — Search for the next absent index in the Judy array

Beschreibung

public int Judy::nextEmpty ( int $index )

Search (exclusive) for the next absent index that is greater than the passed Index.

Parameter-Liste

index

The index can be an integer or a string corresponding to the index where to start the search.

Rückgabewerte

Return the corresponding index in the array.

Judy::next
Judy::offsetExists
Judy


Whether a offset exists

Judy::nextEmpty
Judy::offsetGet
Judy
PHP Manual

Judy::offsetExists

(PECL judy >= 0.1.1)

Judy::offsetExists — Whether a offset exists

Beschreibung

public bool Judy::offsetExists ( mixed $offset )

Whether or not an offset exists.

Parameter-Liste

offset

An offset to check for.

Rückgabewerte

Returns TRUE on success or FALSE on failure.

Judy::nextEmpty
Judy::offsetGet
Judy


Offset to retrieve

Judy::offsetExists
Judy::offsetSet
Judy
PHP Manual

Judy::offsetGet

(PECL judy >= 0.1.1)

Judy::offsetGet — Offset to retrieve

Beschreibung

public mixed Judy::offsetGet ( mixed $offset )

Returns the value at specified offset.

Parameter-Liste

offset

The offset to retrieve.

Rückgabewerte

Can return all value types.

Judy::offsetExists
Judy::offsetSet
Judy


Offset to set

Judy::offsetGet
Judy::offsetUnset
Judy
PHP Manual

Judy::offsetSet

(PECL judy >= 0.1.1)

Judy::offsetSet — Offset to set

Beschreibung

public bool Judy::offsetSet ( mixed $offset , mixed $value )

Assigns a value to the specified offset.

Parameter-Liste

offset

The offset to assign the value to.

value

The value to set.

Rückgabewerte

No value is returned.

Judy::offsetGet
Judy::offsetUnset
Judy


Offset to unset

Judy::offsetSet
Judy::prev
Judy
PHP Manual

Judy::offsetUnset

(PECL judy >= 0.1.1)

Judy::offsetUnset — Offset to unset

Beschreibung

public bool Judy::offsetUnset ( mixed $offset )

Unsets an offset.

Parameter-Liste

offset

The offset to unset.

Rückgabewerte

No value is returned.

Judy::offsetSet
Judy::prev
Judy


Search for the previous index in the Judy array

Judy::offsetUnset
Judy::prevEmpty
Judy
PHP Manual

Judy::prev

(PECL judy >= 0.1.1)

Judy::prev — Search for the previous index in the Judy array

Beschreibung

public mixed Judy::prev ( mixed $index )

Search (exclusive) for the previous index present that is less than the passed Index.

Parameter-Liste

index

The index can be an integer or a string corresponding to the index where to start the search.

Rückgabewerte

Return the corresponding index in the array.

Judy::offsetUnset
Judy::prevEmpty
Judy


Search for the previous absent index in the Judy array

Judy::prev
Judy::size
Judy
PHP Manual

Judy::prevEmpty

(PECL judy >= 0.1.1)

Judy::prevEmpty — Search for the previous absent index in the Judy array

Beschreibung

public int Judy::prevEmpty ( mixed $index )

Search (exclusive) for the previous index absent that is less than the passed Index.

Parameter-Liste

index

The index can be an integer or a string corresponding to the index where to start the search.

Rückgabewerte

Return the corresponding index in the array.

Judy::prev
Judy::size
Judy


Return the size of the current Judy array

Judy::prevEmpty
Judy Funktionen
Judy
PHP Manual

Judy::size

(PECL judy >= 0.1.1)

Judy::size — Return the size of the current Judy array

Beschreibung

public void Judy::size ( void )

This method is an alias of Judy::count.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Return an integer.

Judy::prevEmpty
Judy Funktionen
Judy


Judy Funktionen

Inhaltsverzeichnis

  • judy_type — Return the type of a Judy array
  • judy_version — Return or print the current PHP Judy version
Judy::size
judy_type
Judy


Return the type of a Judy array

Judy Funktionen
judy_version
Judy Funktionen
PHP Manual

judy_type

(PECL judy >= 0.1.1)

judy_type — Return the type of a Judy array

Beschreibung

int judy_type ( Judy $array )

judy_type() return an integer corresponding to the Judy type of the specified Judy array.

Parameter-Liste

array

The Judy Array to test.

Rückgabewerte

Return an integer corresponding to a Judy type.

Judy Funktionen
judy_version
Judy Funktionen


Return or print the current PHP Judy version

judy_type
Lua
Judy Funktionen
PHP Manual

judy_version

(PECL judy >= 0.1.1)

judy_version — Return or print the current PHP Judy version

Beschreibung

string judy_version ( void )

Return a string of the PHP Judy version. If the return value is not used, the string will be printed.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Return a string of the PHP Judy version.

judy_type
Lua
Judy Funktionen


Lua

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Lua — The Lua class
    • Lua::assign — Assign a PHP variable to Lua
    • Lua::call — Call Lua functions
    • Lua::__construct — Lua constructor
    • Lua::eval — Evaluate a string as Lua code
    • Lua::getVersion — The getversion purpose
    • Lua::include — Parse a Lua script file
    • Lua::registerCallback — Register a PHP function to Lua
  • LuaClosure — The LuaClosure class
    • LuaClosure::__invoke — invoke luaclosure
judy_version
Einführung
Sonstige Grunderweiterungen


Einführung

"Lua is a powerful, fast, light-weight, embeddable scripting language." This extension embeds the lua interpreter and offers an OO-API to lua variables and functions.

Lua
Installation/Konfiguration
Lua


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Lua


Anforderungen

To use this extension, you will need Lua installed, available on the » Lua homepage

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/lua.

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Ressource-Typen

Diese Erweiterung definiert keine Ressource-Typen.

Laufzeit-Konfiguration
Lua
Installation/Konfiguration


The Lua class

(PECL lua >=0.9.0)

Einführung

Klassenbeschreibung

Lua {
/* Constants */
const string LUA_VERSION = Lua 5.1.4 ;
/* Methoden */
public mixed assign ( string $name , string $value )
public mixed call ( callable $lua_func [, array $args [, int $use_self = 0 ]] )
public mixed __call ( callable $lua_func [, array $args [, int $use_self = 0 ]] )
public __construct ( string $lua_script_file = NULL )
public mixed eval ( string $statements )
public string getVersion ( void )
public mixed include ( string $file )
public mixed registerCallback ( string $name , callable $function )
}

Vordefinierte Konstanten

Lua::LUA_VERSION

Inhaltsverzeichnis

  • Lua::assign — Assign a PHP variable to Lua
  • Lua::call — Call Lua functions
  • Lua::__construct — Lua constructor
  • Lua::eval — Evaluate a string as Lua code
  • Lua::getVersion — The getversion purpose
  • Lua::include — Parse a Lua script file
  • Lua::registerCallback — Register a PHP function to Lua
Ressource-Typen
Lua::assign
Lua


Assign a PHP variable to Lua

Lua
Lua::call
Lua
PHP Manual

Lua::assign

(PECL lua >=0.9.0)

Lua::assign — Assign a PHP variable to Lua

Beschreibung

public mixed Lua::assign ( string $name , string $value )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

name

value

Rückgabewerte

Returns $this or NULL on failure.

Beispiele

Beispiel #1 Lua::assign()example

<?php
$lua = new Lua();
$lua->assign("php_var", array(1=>1, 2, 3)); //lua table index begin with 1
$lua->eval(<<<CODE
    print(php_var);
CODE
);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
 (
     [1] => 1
     [2] => 2
     [3] => 3
 )
Lua
Lua::call
Lua


Call Lua functions

Lua::assign
Lua::__construct
Lua
PHP Manual

Lua::call

Lua::__call

(PECL lua >=0.9.0)

Lua::call -- Lua::__call — Call Lua functions

Beschreibung

public mixed Lua::call ( callable $lua_func [, array $args [, int $use_self = 0 ]] )
public mixed Lua::__call ( callable $lua_func [, array $args [, int $use_self = 0 ]] )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

lua_func

Function name in lua

args

Arguments passed to the Lua function

use_self

Whether to use self

Rückgabewerte

Returns result of the called function, NULL for wrong arguments or FALSE on other failure.

Beispiele

Beispiel #1 Lua::call()example

<?php
$lua = new Lua();
$lua->eval(<<<CODE
    function dummy(foo, bar)
        print(foo, ",", bar)
    end
CODE
);
$lua->call("dummy", array("Lua", "geiliable\n"));
$lua->dummy("Lua", "geiliable"); // __call()
var_dump($lua->call(array("table", "concat"), array(array(1=>1, 2=>2, 3=>3), "-")));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Lua,geiliable
Lua,geiliable
string(5) "1-2-3"

Siehe auch

  • __call()
Lua::assign
Lua::__construct
Lua


Lua constructor

Lua::call
Lua::eval
Lua
PHP Manual

Lua::__construct

(PECL lua >=0.9.0)

Lua::__construct — Lua constructor

Beschreibung

public Lua::__construct ( string $lua_script_file = NULL )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

lua_script_file

Rückgabewerte

Lua::call
Lua::eval
Lua


Evaluate a string as Lua code

Lua::__construct
Lua::getVersion
Lua
PHP Manual

Lua::eval

(PECL lua >=0.9.0)

Lua::eval — Evaluate a string as Lua code

Beschreibung

public mixed Lua::eval ( string $statements )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

statements

Rückgabewerte

Returns result of evaled code, NULL for wrong arguments or FALSE on other failure.

Beispiele

Beispiel #1 Lua::eval()example

<?php
$lua = new Lua();
$lua->eval(<<<CODE
    print(2);
CODE
);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

2
Lua::__construct
Lua::getVersion
Lua


The getversion purpose

Lua::eval
Lua::include
Lua
PHP Manual

Lua::getVersion

(PECL lua >=0.9.0)

Lua::getVersion — The getversion purpose

Beschreibung

public string Lua::getVersion ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns Lua::LUA_VERSION.

Lua::eval
Lua::include
Lua


Parse a Lua script file

Lua::getVersion
Lua::registerCallback
Lua
PHP Manual

Lua::include

(PECL lua >=0.9.0)

Lua::include — Parse a Lua script file

Beschreibung

public mixed Lua::include ( string $file )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

file

Rückgabewerte

Returns result of included code, NULL for wrong arguments or FALSE on other failure.

Lua::getVersion
Lua::registerCallback
Lua


Register a PHP function to Lua

Lua::include
LuaClosure
Lua
PHP Manual

Lua::registerCallback

(No version information available, might only be in Git)

Lua::registerCallback — Register a PHP function to Lua

Beschreibung

public mixed Lua::registerCallback ( string $name , callable $function )

Register a PHP function to Lua as a function named "$name"

Parameter-Liste

name

function

A valid PHP function callback

Rückgabewerte

Returns $this, NULL for wrong arguments or FALSE on other failure.

Beispiele

Beispiel #1 Lua::registerCallback()example

<?php
$lua = new Lua();
$lua->registerCallback("echo", "var_dump");
$lua->eval(<<<CODE
    echo({1, 2, 3});
CODE
);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(3) {
  [1]=>
  float(1)
  [2]=>
  float(2)
  [3]=>
  float(3)
}
Lua::include
LuaClosure
Lua


The LuaClosure class

(PECL lua >=0.9.0)

Einführung

LuaClosure is a wrapper class for LUA_TFUNCTION which could be return from calling to Lua function.

Klassenbeschreibung

LuaClosure {
/* Methoden */
public void __invoke ( mixed $arg [, mixed $... ] )
}

Inhaltsverzeichnis

  • LuaClosure::__invoke — invoke luaclosure
Lua::registerCallback
LuaClosure::__invoke
Lua


invoke luaclosure

LuaClosure
Misc.
LuaClosure
PHP Manual

LuaClosure::__invoke

(PECL lua >=0.9.0)

LuaClosure::__invoke — invoke luaclosure

Beschreibung

public void LuaClosure::__invoke ( mixed $arg [, mixed $... ] )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

arg

...

Rückgabewerte

Beispiele

Beispiel #1 LuaClosure::__invoke()example

<?php
$lua = new Lua();
$closure = $lua->eval(<<<CODE
    return (function ()
        print("hello world")
    end)
CODE
);

$lua->call($closure);
/* after PHP 5.3 */
$closure();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

hello worldhello world
LuaClosure
Misc.
LuaClosure


Miscellaneous Functions

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Sonstige Funktionen
    • connection_aborted — Überprüft, ob die Verbindung zum Client beendet wurde
    • connection_status — Liefert den Verbindungsstatus als Bitfeld
    • constant — Liefert den Wert einer Konstante
    • define — Definiert eine benannte Konstante
    • defined — Prüft, ob eine benannte Konstante existiert
    • die — Entspricht exit
    • eval — Wertet eine Zeichenkette als PHP-Code aus
    • exit — Gibt eine Meldung aus und beendet das aktuelle Skript
    • get_browser — Ermittelt die Fähigkeiten des Browsers eines Benutzers
    • __halt_compiler — Beendet die Kompilerausführung
    • highlight_file — Syntax-Hervorhebung für eine Datei
    • highlight_string — Hervorhebung der Syntax eines Strings
    • ignore_user_abort — Stellt ein, ob der Verbindungsabbruch eines Clients die Skript-Ausführung abbrechen soll
    • pack — Packt Daten in eine Binär-Zeichenkette
    • php_check_syntax — Überprüft die PHP Syntax der angegebenen Datei (und führt sie aus)
    • php_strip_whitespace — Return source with stripped comments and whitespace
    • show_source — Alias von highlight_file
    • sleep — Programmverzögerung
    • sys_getloadavg — Ermittelt durchschnittliche Systemlast
    • time_nanosleep — Verzögert die Ausführung um die gegebene Anzahl Sekunden und Nanosekunden
    • time_sleep_until — Lässt das Skript bis zur angegebenen Zeit schlafen
    • uniqid — Erzeugt eine eindeutige ID
    • unpack — Entpackt die Daten eines Binär-Strings
    • usleep — Programm-Verzögerung in Mikrosekunden
  • Changelog
LuaClosure::__invoke
Einführung
Sonstige Grunderweiterungen


Einführung

Diese Funktionen stehen hier, weil sie in keine andere Kategorie passen.

Misc.
Installation/Konfiguration
Misc.


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Misc.


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Konfigurations-Optionen für Sonstiges
Name | Standard | Veränderbar | Changelog
ignore_user_abort | "0" | PHP_INI_ALL |
highlight.string | "#DD0000" | PHP_INI_ALL |
highlight.comment | "#FF8000" | PHP_INI_ALL |
highlight.keyword | "#007700" | PHP_INI_ALL |
highlight.bg | "#FFFFFF" | PHP_INI_ALL | Entfernt in PHP 5.4.0.
highlight.default | "#0000BB" | PHP_INI_ALL |
highlight.html | "#000000" | PHP_INI_ALL |
browscap | NULL | PHP_INI_SYSTEM |
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

ignore_user_abort boolean

Standardmäßig FALSE. Wird die Einstellung auf TRUE geändert, werden Skripte nicht beendet, nachdem der Client die Verbindung abgebrochen hat.

Siehe auch ignore_user_abort().

highlight.bg string
highlight.comment string
highlight.default string
highlight.html string
highlight.keyword string
highlight.string string

Farbangaben für Syntax-Highlighting. Alle Angaben, die bei <font color="??????"> gültig sind, funktionieren.

browscap string

Name (z.B.: browscap.ini) und Speicherort der Datei mit den Angaben zu den Fähigkeiten der verschiedenen Browser. Siehe auch get_browser().

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

CONNECTION_ABORTED (integer)
CONNECTION_NORMAL (integer)
CONNECTION_TIMEOUT (integer)
__COMPILER_HALT_OFFSET__ (integer)
Hinzugefügt in PHP 5.1.
Ressource-Typen
Sonstige Funktionen
Misc.


Sonstige Funktionen

Inhaltsverzeichnis

  • connection_aborted — Überprüft, ob die Verbindung zum Client beendet wurde
  • connection_status — Liefert den Verbindungsstatus als Bitfeld
  • constant — Liefert den Wert einer Konstante
  • define — Definiert eine benannte Konstante
  • defined — Prüft, ob eine benannte Konstante existiert
  • die — Entspricht exit
  • eval — Wertet eine Zeichenkette als PHP-Code aus
  • exit — Gibt eine Meldung aus und beendet das aktuelle Skript
  • get_browser — Ermittelt die Fähigkeiten des Browsers eines Benutzers
  • __halt_compiler — Beendet die Kompilerausführung
  • highlight_file — Syntax-Hervorhebung für eine Datei
  • highlight_string — Hervorhebung der Syntax eines Strings
  • ignore_user_abort — Stellt ein, ob der Verbindungsabbruch eines Clients die Skript-Ausführung abbrechen soll
  • pack — Packt Daten in eine Binär-Zeichenkette
  • php_check_syntax — Überprüft die PHP Syntax der angegebenen Datei (und führt sie aus)
  • php_strip_whitespace — Return source with stripped comments and whitespace
  • show_source — Alias von highlight_file
  • sleep — Programmverzögerung
  • sys_getloadavg — Ermittelt durchschnittliche Systemlast
  • time_nanosleep — Verzögert die Ausführung um die gegebene Anzahl Sekunden und Nanosekunden
  • time_sleep_until — Lässt das Skript bis zur angegebenen Zeit schlafen
  • uniqid — Erzeugt eine eindeutige ID
  • unpack — Entpackt die Daten eines Binär-Strings
  • usleep — Programm-Verzögerung in Mikrosekunden
Vordefinierte Konstanten
connection_aborted
Misc.


Überprüft, ob die Verbindung zum Client beendet wurde

Sonstige Funktionen
connection_status
Sonstige Funktionen
PHP Manual

connection_aborted

(PHP 4, PHP 5, PHP 7)

connection_aborted — Überprüft, ob die Verbindung zum Client beendet wurde

Beschreibung

int connection_aborted ( void )

Überprüft, ob die Verbindung zum Client beendet wurde.

Rückgabewerte

Gibt 1 zurück, falls die Verbindung zum Client beendet wurde, und andernfalls 0.

Siehe auch

  • connection_status() - Liefert den Verbindungsstatus als Bitfeld
  • ignore_user_abort() - Stellt ein, ob der Verbindungsabbruch eines Clients die Skript-Ausführung abbrechen soll
  • Die Verbindungssteuerung mit einer kompletten Beschreibung der Verbindungssteuerung in PHP.

Sonstige Funktionen
connection_status
Sonstige Funktionen


Liefert den Verbindungsstatus als Bitfeld

connection_aborted
constant
Sonstige Funktionen
PHP Manual

connection_status

(PHP 4, PHP 5, PHP 7)

connection_status — Liefert den Verbindungsstatus als Bitfeld

Beschreibung

int connection_status ( void )

Gibt den Verbindungsstatus als Bitfeld zurück.

Rückgabewerte

Der Verbindungsstatus als Bitfeld, der zusammen mit den CONNECTION_XXX-Konstanten verwendet werden kann, um den Verbindungsstatus zu ermitteln.

Siehe auch

  • connection_aborted() - Überprüft, ob die Verbindung zum Client beendet wurde
  • ignore_user_abort() - Stellt ein, ob der Verbindungsabbruch eines Clients die Skript-Ausführung abbrechen soll
  • Die Verbindungssteuerung mit einer kompletten Beschreibung der Verbindungssteuerung in PHP.

connection_aborted
constant
Sonstige Funktionen


Liefert den Wert einer Konstante

connection_status
define
Sonstige Funktionen
PHP Manual

constant

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

constant — Liefert den Wert einer Konstante

Beschreibung

mixed constant ( string $name )

Gibt den Wert der durch name angegebenen Konstante zurück.

constant() ist nützlich, um den Wert einer Konstante abzufragen, deren Namen Sie nicht kennen, d.h. wenn sie in einer Variablen gespeichert ist oder von einer Funktion zurückgegeben wird.

Diese Funktion funktioniert auch mit Klassenkonstanten.

Parameter-Liste

name

Der Name der Konstante

Rückgabewerte

Gibt den Wert der Konstante zurück, oder NULL, falls die Konstante nicht definiert ist.

Fehler/Exceptions

Wenn die Konstante nicht definiert ist, wird ein E_WARNING Fehler geworfen.

Beispiele

Beispiel #1 constant()-Beispiel

<?php

define("MAXGROESSE", 100);

echo MAXGROESSE;
echo constant("MAXGROESSE"); // dasselbe wie in der vorigen Zeile

interface bar {
    const test = 'foobar!';
}

class foo {
    const test = 'foobar!';
}

$const = 'test';

var_dump(constant('bar::'. $const)); // string(7) "foobar!"
var_dump(constant('foo::'. $const)); // string(7) "foobar!"

?>

Siehe auch

  • define() - Definiert eine benannte Konstante
  • defined() - Prüft, ob eine benannte Konstante existiert
  • Das Kapitel über Konstanten

connection_status
define
Sonstige Funktionen


Definiert eine benannte Konstante

constant
defined
Sonstige Funktionen
PHP Manual

define

(PHP 4, PHP 5, PHP 7)

define — Definiert eine benannte Konstante

Beschreibung

bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )

Definiert während der Laufzeit eine benannte Konstante.

Parameter-Liste

name

Der Name der Konstante

value

Der Wert der Konstante. Es sind nur Skalar- und NULL-Werte erlaubt. Ab PHP 7 ist es ebenfalls möglich array Werte zu verwenden. Skalarwerte sind integer, float, string oder boolean Werte. Es ist möglich, Konstanten vom Typ Ressource zu definieren, allerdings wird dies nicht empfohlen, da es unvorhersagbares Verhalten des Programms zur Folge haben kann.

case_insensitive

Falls auf TRUE gesetzt, wird bei der Konstante nicht zwischen Groß- und Kleinschreibung unterschieden. In der Voreinstellung wird zwischen Groß- und Kleinschreibung unterschieden, d.h KONSTANTE und Konstante repräsentieren unterschiedliche Werte.

Hinweis:

Groß-/Kleinschreibungsunabhängige Konstanten werden kleingeschrieben gespeichert.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
7.0.0 | array Werte sind erlaubt.

Beispiele

Beispiel #1 Konstanten definieren

<?php
define("KONSTANTE", "Hallo Welt.");
echo KONSTANTE; // gibt "Hallo Welt." aus
echo Konstante; // gibt "Konstante" aus und erzeugt eine Warnung

define("BEGRUESSUNG", "Hallo Du.", true);
echo BEGRUESSUNG; // gibt "Hallo Du." aus
echo Begruessung; // gibt "Hallo Du." aus

// Funktioniert ab PHP 7
define('ANIMALS', array(
    'Hund',
    'Katze',
    'Maus'
));
echo ANIMALS[1]; // gibt "Katze" aus

?>

Siehe auch

  • defined() - Prüft, ob eine benannte Konstante existiert
  • constant() - Liefert den Wert einer Konstante
  • Das Kapitel über Konstanten

constant
defined
Sonstige Funktionen


Prüft, ob eine benannte Konstante existiert

define
die
Sonstige Funktionen
PHP Manual

defined

(PHP 4, PHP 5, PHP 7)

defined — Prüft, ob eine benannte Konstante existiert

Beschreibung

bool defined ( string $name )

Überprüft, ob die angegebene Konstante existiert und definiert ist.

Hinweis:

defined() gilt nur für Konstanten. Verwenden Sie isset(), falls Sie wissen wollen, ob eine Variable existiert. Um zu überprüfen, ob eine Funktion existert, verwenden Sie function_exists().

Parameter-Liste

name

Der Name der Konstante

Rückgabewerte

Wenn die durch name angegebene Konstante definiert ist, wird TRUE zurückgegeben, ansonsten FALSE.

Beispiele

Beispiel #1 Konstanten überprüfen

<?php
/* Beachten Sie die Verwendung von Anführungsstrichen. Das ist wichtig!
 * In diesem Beispiel wird überprüft, ob die Zeichenkette 'TEST' der Name
 * einer Konstante namens TEST ist */
if (defined('TEST')) {
    echo TEST;
}
?>

Siehe auch

  • define() - Definiert eine benannte Konstante
  • constant() - Liefert den Wert einer Konstante
  • get_defined_constants() - Returns an associative array with the names of all the constants and their values
  • function_exists() - Falls die angegebene Funktion definiert ist, wird TRUE zurück gegeben
  • Das Kapitel über Konstanten

define
die
Sonstige Funktionen


Entspricht exit

defined
eval
Sonstige Funktionen
PHP Manual

die

(PHP 4, PHP 5, PHP 7)

die — Entspricht exit()

Beschreibung

Dieses Sprachkonstrukt entspricht exit.

defined
eval
Sonstige Funktionen


Wertet eine Zeichenkette als PHP-Code aus

die
exit
Sonstige Funktionen
PHP Manual

eval

(PHP 4, PHP 5, PHP 7)

eval — Wertet eine Zeichenkette als PHP-Code aus

Beschreibung

mixed eval ( string $code )

Wertet die in code enthaltene Zeichenkette als PHP aus.

Achtung

Das eval()-Sprachkonstrukt ist sehr gefährlich, weil es die Ausführung von beliebigem PHP-Code erlaubt. Seine Verwendung wird daher nicht empfohlen. Wenn sorgfältig überprüft wurde, dass es keine andere Möglichkeit gibt als dieses Konstrukt zu verwenden, ist besonders darauf zu achten keine von Nutzern bereit gestellten Daten zu übergeben ohne diese zuvor ordnungsgemäß zu validieren.

Parameter-Liste

code

Gültiger PHP-Code, der ausgewertet werden soll.

Der Code darf nicht in öffnende und schließende PHP-Tags eingeschlossen sein, d.h. 'echo "Hi!";' muss anstelle von '<? echo "Hi!"; >' übergeben werden. Es ist dennoch möglich den PHP-Modus durch die entsprechenden PHP-Tags zu verlassen und wieder zu betreten, z.B. 'echo "Im PHP-Modus!"; ?>Im HTML-Modus!<? echo "Wieder im PHP-Modus!";'.

Abgesehen davon muss der übergebene Code gültiges PHP sein. Das beinhaltet, dass alle Anweisungen ordnungsgemäß mit einem Strichpunkt terminiert sein müssen. 'echo "Hi!"', zum Beispiel, verursacht einen Parse-Fehler, wohingegen 'echo "Hi!";' funktioniert.

Eine return-Anweisung beendet die Auswertung des Codes sofort.

Der Code wird im Geltungsbereich des eval() aufrufenden Codes ausgeführt. Daher bleiben sämtliche Variablen, die im eval() Aufruf definiert oder geändert werden, nach dessen Ende sichtbar.

Rückgabewerte

eval() gibt NULL zurück, außer wenn im ausgewerteten Code return aufgerufen wird, dann aber wird der an return übergebene Wert zurückgegeben. Falls im ausgewerteten Code ein Parse Error auftritt, gibt eval() FALSE zurück und der weitere Code wird normal ausgeführt. Es ist in eval() nicht möglich, einen Parse Error mittels set_error_handler() abzufangen.

Beispiele

Beispiel #1 eval() Beispiel (einfache Texteinfügung)

<?php
$string = 'Bierglas';
$name = 'Binding-Lager';
$str = 'Das ist mein $string, voll mit $name.';
echo $str . "\n";
eval ("\$str = \"$str\";");
echo $str . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Das ist mein $string, voll mit $name.
Das ist mein Bierglas, voll mit Binding-Lager.

Anmerkungen

Hinweis: Da dies ein Sprachkonstrukt und keine Funktion ist, können Sie dieses nicht mit Variablenfunktionen verwenden.

Tipp

Bei allem, dessen Ergebnisausgabe direkt im Browser angezeigt wird, können Sie die Funktionen zur Ausgabesteuerung verwenden. Damit lässt sich die Ausgabe dieser Funktion erfassen, und - zum Beispiel - in einem string speichern.

Hinweis:

Im Fall eines schweren Fehlers im augewerteten Code wird das komplette Skript beendet.

Siehe auch

  • call_user_func() - Aufruf der Callback-Funktion die als erster Parameter übergeben wurde

die
exit
Sonstige Funktionen


Gibt eine Meldung aus und beendet das aktuelle Skript

eval
get_browser
Sonstige Funktionen
PHP Manual

exit

(PHP 4, PHP 5, PHP 7)

exit — Gibt eine Meldung aus und beendet das aktuelle Skript

Beschreibung

void exit ([ string $status ] )
void exit ( int $status )

Beendet die Ausführung des Skripts. Shutdown Funktionen und Objekt Destruktoren werden immer ausgeführt, auch wenn exit() aufgerufen wurde.

exit ist ein Sprachkonstrukt und kann ohne Klammern aufgerufen werden, wenn kein status übergeben wird.

Parameter-Liste

status

Falls status eine Zeichenkette ist, gibt diese Funktion beim Beenden den status aus.

Falls status eine Ganzzahl ist, wird dieser Wert als Exit-Status verwendet anstatt ausgegeben zu werden. Ein Exit-Status sollte im Bereich von 0 bis 254 liegen, weil der Exit-Status 255 von PHP reserviert ist und deshalb nicht benutzt werden sollte. Der Status 0 wird verwendet, um ein Programm erfolgreich zu beenden.

Hinweis: Falls status eine Ganzzahl ist, wird er von PHP >= 4.2.0 NICHT ausgegeben.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 exit-Beispiel

<?php

$dateiname = '/pfad/zur/datei';
$datei = fopen($dateiname, 'r')
    or exit("kann Datei $dateiname nicht öffnen");

?>

Beispiel #2 exit-Status-Beispiel

<?php

// das Programm normal beenden
exit;
exit();
exit(0);

// das Programm mit einem Fehlercode beenden
exit(1);
exit(0376); // oktal

?>

Beispiel #3 Shutdown Funktionen und Destruktoren werden trotzdem aufgerufen

<?php
class Foo
{
    public function __destruct()
    {
        echo 'Destruktor: ' . __METHOD__ . '()' . PHP_EOL;
    }
}

function shutdown()
{
    echo 'Shutdown Funktion: ' . __FUNCTION__ . '()' . PHP_EOL;
}

$foo = new Foo();
register_shutdown_function('shutdown');

exit();
echo 'Das hier wird nicht mehr ausgegeben werden.';
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

 Shutdown Funktion: shutdown()
 Destruktor: Foo::__destruct()

Anmerkungen

Hinweis: Da dies ein Sprachkonstrukt und keine Funktion ist, können Sie dieses nicht mit Variablenfunktionen verwenden.

Hinweis:

Dieses Sprachkonstrukt entspricht die().

Siehe auch

  • register_shutdown_function() - Registriert eine Funktion zur Ausführung beim Skript-Abschluss

eval
get_browser
Sonstige Funktionen


Ermittelt die Fähigkeiten des Browsers eines Benutzers

exit
__halt_compiler
Sonstige Funktionen
PHP Manual

get_browser

(PHP 4, PHP 5, PHP 7)

get_browser — Ermittelt die Fähigkeiten des Browsers eines Benutzers

Beschreibung

mixed get_browser ([ string $user_agent [, bool $return_array = false ]] )

Diese Funktion versucht die Fähigkeiten des Browsers des Benutzers zu ermitteln, indem sie die Informationen über den Browser aus der Datei browscap.ini ausliest.

Parameter-Liste

user_agent

Der User-Agent, der analysiert werden soll. Per Voreinstellung wird der Wert des HTTP User-Agent-Headers verwendet, jedoch können Sie das ändern, d.h. Informationen über einen anderen Browser nachschlagen, indem Sie diesen Parameter übegeben.

Dieser Parameter kann mit einem NULL-Wert umgangen werden.

return_array

Falls dieser Parameter auf TRUE gesetzt wird, gibt die Funktion statt eines Objekts ein Array zurück.

Rückgabewerte

Die Informationen werden in einem Objekt oder Array zurückgegeben, das verschiedene Datenelemente enthält. Dazu gehören z.B. die Haupt- und Unterversions-Nummer und Kennung des Browsers sowie TRUE/FALSE-Werte für dessen Fähigkeiten, wie z.B. Frames, JavaScript, Cookies usw.

Der Wert von cookies sagt nur etwas darüber aus, ob der Browser an sich in der Lage ist Cookies anzunehmen, und nicht darüber, ob der Benutzer die Annahme von Cookies aktiviert hat. Die einzige Möglichkeit zu testen, ob Cookies akzeptiert werden, besteht darin, mittels setcookie() ein Cookie zu setzen, die Seite neu zu laden und dessen Wert zu überprüfen.

Beispiele

Beispiel #1 Auflistung aller Informationen über den Browser des Benutzers

<?php
echo $_SERVER['HTTP_USER_AGENT'] . "\n\n";

$browser = get_browser(null, true);
print_r($browser);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040803 Firefox/0.9.3

Array
(
    [browser_name_regex] => ^mozilla/5\.0 (windows; .; windows nt 5\.1; .*rv:.*) gecko/.* firefox/0\.9.*$
    [browser_name_pattern] => Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:*) Gecko/* Firefox/0.9*
    [parent] => Firefox 0.9
    [platform] => WinXP
    [browser] => Firefox
    [version] => 0.9
    [majorver] => 0
    [minorver] => 9
    [cssversion] => 2
    [frames] => 1
    [iframes] => 1
    [tables] => 1
    [cookies] => 1
    [backgroundsounds] =>
    [vbscript] =>
    [javascript] => 1
    [javaapplets] => 1
    [activexcontrols] =>
    [cdf] =>
    [aol] =>
    [beta] => 1
    [win16] =>
    [crawler] =>
    [stripper] =>
    [wap] =>
    [netclr] =>
)

Anmerkungen

Hinweis:

Damit es richtig funktioniert, muss die browscap-Einstellung Ihrer php.ini auf die richtige browscap.ini-Datei Ihres Systems zeigen.

browscap.ini ist nicht Bestandteil von PHP, aber eine aktuelle » php_browscap.ini bekommen Sie hier.

Da die browscap.ini Informationen zu vielen Browsern enthält, obliegt es dem Skript-Schreiber, diese Datei auf dem Laufenden zu halten. Das Format dieser Datei sollte selbsterklärend sein.

exit
__halt_compiler
Sonstige Funktionen


Beendet die Kompilerausführung

get_browser
highlight_file
Sonstige Funktionen
PHP Manual

__halt_compiler

(PHP 5 >= 5.1.0, PHP 7)

__halt_compiler — Beendet die Kompilerausführung

Beschreibung

void __halt_compiler ( void )

Beendet die Kompilerausführung. Dies kann sinnvoll sein, wenn Daten in PHP-Skripte eingebettet sind, wie z.B. in Installationsdateien.

Die Byteposition, an der die Daten beginnen, kann über die Konstante __COMPILER_HALT_OFFSET__ ermittelt werden, die nur definiert ist, wenn die Funktion __halt_compiler() in der Datei benutzt wird.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ein __halt_compiler()-Beispiel

<?php

// Datei öffnen
$fp = fopen(__FILE__, 'r');

// Auf den Anfang der Daten positionieren
fseek($fp, __COMPILER_HALT_OFFSET__);

// und diese ausgeben
var_dump(stream_get_contents($fp));

// hier Kompilation beendenn
__halt_compiler(); ab hier die eigentlichen Daten (z.B. tar, gz, PHP, etc.)

Anmerkungen

Hinweis:

__halt_compiler() kann nur auf der höchsten Ausführungsebene und nicht innerhalb anderer Funktionen oder Methoden benutzt werden.

get_browser
highlight_file
Sonstige Funktionen


Syntax-Hervorhebung für eine Datei

__halt_compiler
highlight_string
Sonstige Funktionen
PHP Manual

highlight_file

(PHP 4, PHP 5, PHP 7)

highlight_file — Syntax-Hervorhebung für eine Datei

Beschreibung

mixed highlight_file ( string $filename [, bool $return = false ] )

Erzeugt die hervorgehobene Syntax des Codes der Datei filename als Ausgabe oder als Rückgabewert. Dabei werden die Farben des in PHP eingebauten Syntax-Highlighters benutzt.

Viele Server sind so konfiguriert, dass sie den Code von Dateien mit der phps-Erweiterung automatisch hervorheben. Wenn zum Beispiel beispiel.phps aufgerufen wird, wird die hervorgehobene Syntax des Quellcodes der Datei angezeigt. Mit der folgenden Zeile in der httpd.conf wird dies aktiviert:

AddType application/x-httpd-php-source .phps

Parameter-Liste

Dateiname

Der Pfad zur PHP-Datei, deren Code hervorgehoben werden soll.

return

Wenn dieser Parameter auf TRUE gesetzt wird, gibt die Funktion den hervorgehobenen Code zurück.

Rückgabewerte

Falls return auf TRUE gesetzt ist, wird der hervorgehobene Code nicht direkt ausgegeben, sondern als Zeichenkette zurückgegeben. Andernfalls wird bei Erfolg TRUE zurückgegeben und FALSE, falls ein Fehler auftritt.

Changelog

Version | Beschreibung
4.2.1 | Diese Funktion wird nun ebenfalls von safe_mode und open_basedir beeinflusst.

Anmerkungen

Achtung

Wenn highlight_file() verwendet wird, sollte darauf geachtet werden, dass nicht versehentlich vertrauliche Informationen wie zum Beispiel Passwörter oder andere Informationen, die ein potentielles Sicherheitsrisiko schaffen könnten, verraten werden.

Hinweis:

Wenn der return Parameter verwendet wird, benutzt diese Funktion intern Ausgabepufferung und kann daher nicht in einer ob_start()-Callbackfunktion eingesetzt werden.

Siehe auch

  • highlight_string() - Hervorhebung der Syntax eines Strings
  • INI-Direktiven für Highlighting

__halt_compiler
highlight_string
Sonstige Funktionen


Hervorhebung der Syntax eines Strings

highlight_file
ignore_user_abort
Sonstige Funktionen
PHP Manual

highlight_string

(PHP 4, PHP 5, PHP 7)

highlight_string — Hervorhebung der Syntax eines Strings

Beschreibung

mixed highlight_string ( string $str [, bool $return = false ] )

Gibt HTML-Markup für die gehighlightete Syntaxversion des übergebenen PHP-Codes aus oder zurück. Dabei werden die Farben des in PHP eingebauten Syntax-Highlighter benutzt.

Parameter-Liste

str

Der zu highlightende PHP-Code. Dieser sollte den öffnenden Tag enthalten.

return

Wenn Sie diesen Parameter auf TRUE setzen, gibt die Funktion den gehighlighteten Code zurück.

Rückgabewerte

Wenn return auf TRUE gesetzt ist, wird der gehighlightete Code als String zurückgegeben, statt ihn direkt auszugeben. In allen anderen Fällen wird im Erfolgsfall TRUE und im Fehlerfall FALSE zurückgegeben.

Beispiele

Beispiel #1 highlight_string()-Beispiel

<?php
highlight_string('<?php phpinfo(); ?>');
?>

Das obige Beispiel gibt aus (in PHP 4):

<code><font color="#000000">
<font color="#0000BB">&lt;?php phpinfo</font><font color="#007700">(); </font><font color="#0000BB">?&gt;</font>
</font>
</code>

Das obige Beispiel gibt aus (in PHP 5):

<code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php phpinfo</span><span style="color: #007700">(); </span><span style="color: #0000BB">?&gt;</span>
</span>
</code>

Anmerkungen

Hinweis:

Wenn der return Parameter verwendet wird, benutzt diese Funktion intern Ausgabepufferung und kann daher nicht in einer ob_start()-Callbackfunktion eingesetzt werden.

Änderungen bezüglich des generierten HTML-Markup vorbehalten.

Siehe auch

  • highlight_file() - Syntax-Hervorhebung für eine Datei
  • INI-Direktiven für Highlighting

highlight_file
ignore_user_abort
Sonstige Funktionen


Stellt ein, ob der Verbindungsabbruch eines Clients die Skript-Ausführung abbrechen soll

highlight_string
pack
Sonstige Funktionen
PHP Manual

ignore_user_abort

(PHP 4, PHP 5, PHP 7)

ignore_user_abort — Stellt ein, ob der Verbindungsabbruch eines Clients die Skript-Ausführung abbrechen soll

Beschreibung

int ignore_user_abort ([ string $value ] )

Setzt den Wert dafür, ob der Abbruch einer Client-Verbindung die weitere Abarbeitung eines Skripts beenden soll.

Wird PHP als Kommondozeilen-Skript ausgeführt, und das TTY des Skripts wird entfernt ohne dass das Skript terminiert wurde, dann stirbt das Skript beim nächsten Versuch etwas zu schreiben, außer wenn value auf TRUE gesetzt ist.

Parameter-Liste

value

Sofern dieser Parameter angegeben wird, überschreibt diese Funktion die aktuelle Einstellung von ignore_user_abort mit dem übergebenen value. Ist der Parameter nicht angegeben, gibt die Funktion nur die aktuelle Einstellung zurück, ohne sie zu verändern.

Rückgabewerte

Gibt das vorhergehende Setting als Ganzzahl (integer) zurück.

Beispiele

Beispiel #1 Ein ignore_user_abort()-Beispiel

<?php
// Ignoriere Abbruch durch den Benutzer und erlaube dem Skript weiterzulaufen
ignore_user_abort(true);
set_time_limit(0);

echo 'Teste Connectionhandling in PHP';

// Lasse eine sinnfreie Schleife laufen, die uns irgendwann
// hoffentlich von der Seite wegklicken oder den "Stop"-Button
// betätigen lässt
while(1)
{
    // Schlug die Verbindung fehl?
    if(connection_status() != CONNECTION_NORMAL)
    {
        break;
    }

    // 10 Sekunden warten
    sleep(10);
}

// Wird dieser Punkt erreicht, wurde das 'break'
// von einem Punkt innerhalb der while-Schleife getriggert

// Somit können wir hier ein Log schreiben oder andere Aufgaben
// ausführen, die nicht davon abhängig sind, ob der Browser des
// Benutzers noch eine stehende Verbindung zum Server hat
?>

Anmerkungen

PHP wird nicht herausfinden, ob ein User die Verbindung abgebrochen hat, bevor es nicht versucht, Informationen an den Client zu senden. Die einfache Verwendung eines echo-Statements ist keine Garantie dafür, dass eine Information übertragen wurde, lesen Sie daher auch die Dokumentation zu flush().

Siehe auch

  • connection_aborted() - Überprüft, ob die Verbindung zum Client beendet wurde
  • connection_status() - Liefert den Verbindungsstatus als Bitfeld
  • Die Verbindungssteuerung mit einer kompletten Beschreibung der Verbindungssteuerung in PHP.

highlight_string
pack
Sonstige Funktionen


Packt Daten in eine Binär-Zeichenkette

ignore_user_abort
php_check_syntax
Sonstige Funktionen
PHP Manual

pack

(PHP 4, PHP 5, PHP 7)

pack — Packt Daten in eine Binär-Zeichenkette

Beschreibung

string pack ( string $format [, mixed $args [, mixed $... ]] )

Packt die angegebenen Argumente unter Beachtung von format in eine Binär-Zeichenkette.

Die Idee für diese Funktion entstammt Perl. Alle Formatierungs-Anweisungen funktionieren genau wie dort, allerdings fehlen in PHP einige Format-Codes von Perl (z.B. "u").

Beachten sie, dass der Unterschied zwischen vorzeichenlosen und vorzeichenbehafteten Werten nur Einfluss auf die Funktion unpack() hat, wogegen die Funktion pack() bei vorzeichenlosen und vorzeichenbehafteten Format-Codes dasselbe Ergebnis liefert.

Parameter-Liste

format

Die Zeichenkette format besteht aus Format-Codes, gefolgt von einem optionalen Wiederholungs-Argument. Dieses Argument kann ein ganzzahliger Wert sein oder ein * für Wiederholung bis ans Ende der Daten. Bei den Format-Codes a, A, h und H gibt das Wiederholungs-Argument an, wie viele gleiche Zeichen folgen. Im Zusammenhang mit "@" gibt das Wiederholungs-Argument die absolute Position an, ab der das nächste Zeichen steht. Bei allen anderen steht der Wiederholungs-Zähler für die Anzahl der benutzten Daten-Argumente, die in die sich ergebende Binär-Zeichenkette gepackt werden sollen.

Zurzeit sind folgende Formate implementiert:

pack()-Formatzeichen
Code | Beschreibung
a | mit NUL gefüllte Zeichenkette
A | mit Leerzeichen gefüllte Zeichenkette
h | Hex-Zeichenkette, unterer Halbwert zuerst
H | Hex-Zeichenkette, oberer Halbwert zuerst
c | vorzeichenbehaftetes Zeichen
C | vorzeichenloses Zeichen
s | vorzeichenbehafteter Short-Typ (immer 16 Bit, Byte-Folge maschinenabhängig)
S | vorzeichenloser Short-Typ (immer 16 Bit, Byte-Folge maschinenabhängig)
n | vorzeichenloser Short-Typ (immer 16 Bit, Byte-Folge Big Endian)
v | vorzeichenloser Short-Typ (immer 16 Bit, Byte-Folge Little Endian)
i | vorzeichenbehaftete Ganzzahl (Größe und Byte-Folge maschinenabhängig)
I | vorzeichenlose Ganzzahl (Größe und Byte-Folge maschinenabhängig)
l | vorzeichenbehafteter Long-Typ (immer 32 Bit, Byte-Folge maschinenabhängig)
L | vorzeichenloser Long-Typ (immer 32 Bit, Byte-Folge maschinenabhängig)
N | vorzeichenloser Long-Typ (immer 32 Bit, Byte-Folge Big Endian)
V | vorzeichenloser Long-Typ (immer 32 Bit, Byte-Folge Little Endian)
q | vorzeichenbehafteter Long-Long-Typ (immer 64 bit, maschinenabhängig)
Q | vorzeichenloser Long-Long-Typ (immer 64 bit, maschinenabhängig)
J | vorzeichenloser Long-Long-Typ (immer 64 bit, Byte-Folge Big Endian)
P | vorzeichenloser Long-Long-Typ (immer 64 bit, Byte-Folge Little Endian)
f | Gleitkommazahl (maschinenabhängige Größe und Wiedergabe)
d | Double-Typ (maschinenabhängige Größe und Wiedergabe)
x | NUL Byte
X | geht in der Zeichenkette ein Byte rückwärts
Z | NUL-aufgefüllte Zeichenkette (neu in PHP 5.5)
@ NUL-Auffüllung bis zur absoluten Position

args

Rückgabewerte

Gibt die Daten als Binär-Zeichenkette zurück.

Changelog

Version | Beschreibung
5.6.3 | Die "q", "Q", "J" und "P" Codes wurden hinzugefügt, um die Arbeit mit 64-bit Zahlen zu ermöglichen.
5.5.0 | Der "Z" Code mit equivalenter Funktionsweise wie "a" wurde zwecks Perl-Kompatibilität hinzugefügt.

Beispiele

Beispiel #1 pack()-Beispiel

<?php
$binaerdaten = pack("nvc*", 0x1234, 0x5678, 65, 66);
?>

Die sich daraus ergebende Binär-Zeichenkette ist sechs Bytes lang und enthält die Byte-Folge 0x12, 0x34, 0x78, 0x56, 0x41, 0x42.

Anmerkungen

Achtung

Es ist zu beachten, dass PHP integer Werte intern als vorzeichenbehaftete Werte einer maschinenabhängigen Größe speichert (C-Typ long). Integer-Literale und Operationen die Zahlen außerhalb der Grenzen des integer-Typs ergeben, werden als float gespeichert. Wenn diese Floats als Integer gepackt werden, werden sie zuerst in den Integer-Typ gewandelt. Dies kann u.U. ein nicht erwünschtes Byte-Muster ergeben.

Der wichtigste Fall ist das Packen vorzeichenloser Zahlen, die als integer-Typ darstellbar wären, wenn dieser vorzeichenlos wäre. Auf Systemen wo der integer-Typ 32 bit groß ist, resultiert die Umwandlung üblicherweise im selben Byte-Muster wie wenn der integer vorzeichenlos wäre (allerdings ist das auf implementierungsspezifische Konvertierungen von vorzeichenlosen in vorzeichenbehaftete Zahlen gemäß dem C-Standard angewiesen). Auf Systemen wo der integer-Typ 64 bit groß ist, hat float vermutlich keine Mantisse, die groß genug ist, um den Wert ohne Genauigkeitsverlust zu speichern. Haben diese Systeme ebenfalls einen nativen 64-bit C int-Typ (die meisten UNIX-artigen Systeme haben das nicht), dann ist die einzige Möglichkeit das I-Packformat auf den oberen Bereich zu nutzen, negative integer Werte mit der gleichen Byte-Darstellung wie die gewünschten vorzeichenlosen Werte zu erzeugen.

Siehe auch

  • unpack() - Entpackt die Daten eines Binär-Strings

ignore_user_abort
php_check_syntax
Sonstige Funktionen


Überprüft die PHP Syntax der angegebenen Datei (und führt sie aus)

pack
php_strip_whitespace
Sonstige Funktionen
PHP Manual

php_check_syntax

(PHP 5 <= 5.0.4)

php_check_syntax — Überprüft die PHP Syntax der angegebenen Datei (und führt sie aus)

Beschreibung

bool php_check_syntax ( string $filename [, string &$error_message ] )

Überprüft die Syntax (lint) der angegebenen Datei, filename

Das bewirkt dasselbe wie php -l aus der Kommandozeile mit dem Unterschied, dass diese Funktion die Datei filename ausführt aber den überprüften Dateinamen filename nicht ausgibt.

Zum Beispiel: Wenn eine Funktion in filename definiert ist, wird diese Funktion in der Datei, die php_check_syntax() ausgeführt hat, verfügbar sein, aber die Ausgabe der Datei filename würde nicht ausgegeben werden.

Hinweis:

Aus technischen Gründen, gilt diese Funktion als veraltet und wurde aus PHP entfernt. Benützen Sie php -l einedatei.php aus der Kommandozeile, anstelle dieser Funktion.

Parameter-Liste

filename

Der Name der Datei, die überprüft werden soll.

error_message

Wenn der error_message Parameter genutzt wird, enthält dieser die Fehlernachrichten, die durch den Syntax Check erzeugt wurden. error_message wird von der reference übergeben.

Rückgabewerte

Gibt TRUE zurück, wenn die Datei die Überprüfung bestanden hat, und FALSE wenn Fehler aufgetreten sind, oder wenn filename nicht geöffnet werden konnte.

Changelog

Version | Beschreibung
5.0.5 | Diese Funktion wurde aus PHP entfernt.
5.0.3 | Aufrufen der exit() Funktion nachdem php_check_syntax() in einem Speicherzugriffsfehler endete.
5.0.1 | error_message wird von "by reference" übergeben.

Beispiele

php -l somefile.php

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

PHP Parse error: unexpected T_STRING in /tmp/somefile.php on line 81

Siehe auch

  • include - include
  • is_readable() - Prüft, ob eine Datei existiert und lesbar ist

pack
php_strip_whitespace
Sonstige Funktionen


Return source with stripped comments and whitespace

php_check_syntax
show_source
Sonstige Funktionen
PHP Manual

php_strip_whitespace

(PHP 5, PHP 7)

php_strip_whitespace — Return source with stripped comments and whitespace

Beschreibung

string php_strip_whitespace ( string $filename )

Returns the PHP source code in filename with PHP comments and whitespace removed. This may be useful for determining the amount of actual code in your scripts compared with the amount of comments. This is similar to using php -w from the commandline.

Parameter-Liste

filename

Path to the PHP file.

Rückgabewerte

The stripped source code will be returned on success, or an empty string on failure.

Hinweis:

This function works as described as of PHP 5.0.1. Before this it would only return an empty string. For more information on this bug and its prior behavior, see bug report » #29606.

Beispiele

Beispiel #1 php_strip_whitespace() example

<?php
// PHP comment here

/*
 * Another PHP comment
 */

echo        php_strip_whitespace(__FILE__);
// Newlines are considered whitespace, and are removed too:
do_nothing();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<?php
 echo php_strip_whitespace(__FILE__); do_nothing(); ?>

Notice the PHP comments are gone, as are the whitespace and newline after the first echo statement.

php_check_syntax
show_source
Sonstige Funktionen


Alias von highlight_file

php_strip_whitespace
sleep
Sonstige Funktionen
PHP Manual

show_source

(PHP 4, PHP 5, PHP 7)

show_source — Alias von highlight_file()

Beschreibung

Diese Funktion ist ein Alias für: highlight_file().

php_strip_whitespace
sleep
Sonstige Funktionen


Programmverzögerung

show_source
sys_getloadavg
Sonstige Funktionen
PHP Manual

sleep

(PHP 4, PHP 5, PHP 7)

sleep — Programmverzögerung

Beschreibung

int sleep ( int $seconds )

Unterbricht die weitere Skript-Ausführung für die angegebene Anzahl von Sekunden.

Parameter-Liste

seconds

Die Unterbrechung in Sekunden

Rückgabewerte

Gibt bei Erfolg null oder im Fehlerfall FALSE zurück.

Wenn der Aufruf durch ein Signal unterbrochen wurde, gibt sleep() eine positive Zahl zurück. Auf Windows ist dieser Wert immer 192 (der Wert der WAIT_IO_COMPLETION Konstanten der Windows API). Auf anderen Plattformen ist der Rückgabewert die Anzahl der Sekunden die das Programm eigentlich noch "schlafen" sollte.

Fehler/Exceptions

Falls die angegebene Anzahl von Sekunden negativ ist, erzeugt diese Funktion einen Fehler des Typs E_WARNING.

Changelog

Version | Beschreibung
5.3.4 | Vor PHP 5.3.4, hat sleep() auf Windows immer NULL zurückgegeben, unabhängig davon ob der Aufruf unterbrochen wurde oder nicht.

Beispiele

Beispiel #1 sleep()-Beispiel

<?php
// die aktuelle Zeit
echo date('h:i:s') . "\n";

// 10 Sekunden schlafen
sleep(10);

// aufwachen!
echo date('h:i:s') . "\n";
?>

Dieses Beispiel erzeugt nach zehn Sekunden die Ausgabe

05:31:23
05:31:33

Siehe auch

  • usleep() - Programm-Verzögerung in Mikrosekunden
  • time_nanosleep() - Verzögert die Ausführung um die gegebene Anzahl Sekunden und Nanosekunden
  • time_sleep_until() - Lässt das Skript bis zur angegebenen Zeit schlafen
  • set_time_limit() - Beschränkt die maximale Ausführungszeit

show_source
sys_getloadavg
Sonstige Funktionen


Ermittelt durchschnittliche Systemlast

sleep
time_nanosleep
Sonstige Funktionen
PHP Manual

sys_getloadavg

(PHP 5 >= 5.1.3, PHP 7)

sys_getloadavg — Ermittelt durchschnittliche Systemlast

Beschreibung

array sys_getloadavg ( void )

Gibt drei Messwerte zurück die die durchschnittliche Systemlast (die Anzahl der Prozesse in der Ausführungswarteschlange) über die jeweils letzten 1, 5 und 15 Minuten representieren.

Rückgabewerte

Gibt ein array mit den drei Messwerten der letzten 1, 5 und 15 Minuten zurück.

Beispiele

Beispiel #1 sys_getloadavg() Beispiel

<?php
$load = sys_getloadavg();
if ($load[0] > 80) {
    header('HTTP/1.1 503 Too busy, try again later');
    die('Serverlast zu hoch, versuchen Sie es später noch einmal.');
}
?>

Anmerkungen

Hinweis: Diese Funktion ist auf Windows-Plattformen nicht implementiert.

sleep
time_nanosleep
Sonstige Funktionen


Verzögert die Ausführung um die gegebene Anzahl Sekunden und Nanosekunden

sys_getloadavg
time_sleep_until
Sonstige Funktionen
PHP Manual

time_nanosleep

(PHP 5, PHP 7)

time_nanosleep — Verzögert die Ausführung um die gegebene Anzahl Sekunden und Nanosekunden

Beschreibung

mixed time_nanosleep ( int $seconds , int $nanoseconds )

Verzögert die Ausführung für die gegebene Anzahl Sekunden (seconds) und Nanosekunden (nanoseconds).

Parameter-Liste

seconds

Muss eine nicht negative Ganzzahl sein.

nanoseconds

Muss eine nicht negative Ganzzahl kleiner eine Milliarde sein.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Wenn die Verzögerung durch ein Signal unterbrochen wurde wird ein assoziatives Array mit den folgenden Werten zurückgegeben:

  • seconds - die verbleibenden Sekunden
  • nanoseconds - die verbleibenden Nanosekunden

Changelog

Version | Beschreibung
5.3.0 | Diese Funktion ist nun auch unter Windows verfügbar.

Beispiele

Beispiel #1 time_nanosleep() Beispiel

<?php
// Vorsicht! Verhält sich nicht wie erwartet wenn ein Array
// zurückgegeben wird
if (time_nanosleep(0, 500000000)) {
    echo "Verzögerung um eine halbe Sekunden.\n";
}

// Dies ist besser:
if (time_nanosleep(0, 500000000) === true) {
    echo "Verzögerung um eine halbe Sekunden.\n";
}

// Optimal ist:
$nano = time_nanosleep(2, 100000);

if ($nano === true) {
    echo "Verzögert um 2 Sekunden und  100 Millisekunden.\n";
} elseif ($nano === false) {
    echo "Keine Verzögerung.\n";
} elseif (is_array($nano)) {
    $seconds = $nano['seconds'];
    $nanoseconds = $nano['nanoseconds'];
    echo "Von einem Signal unterbrochen.\n";
    echo "Verbleibende Verzögerung: $seconds Sekunden, $nanoseconds Nanosekunden.";
}
?>

Siehe auch

  • sleep() - Programmverzögerung
  • usleep() - Programm-Verzögerung in Mikrosekunden
  • time_sleep_until() - Lässt das Skript bis zur angegebenen Zeit schlafen
  • set_time_limit() - Beschränkt die maximale Ausführungszeit

sys_getloadavg
time_sleep_until
Sonstige Funktionen


Lässt das Skript bis zur angegebenen Zeit schlafen

time_nanosleep
uniqid
Sonstige Funktionen
PHP Manual

time_sleep_until

(PHP 5 >= 5.1.0, PHP 7)

time_sleep_until — Lässt das Skript bis zur angegebenen Zeit schlafen

Beschreibung

bool time_sleep_until ( float $timestamp )

Lässt das Skript bis zum angegebenen timestamp schlafen.

Parameter-Liste

timestamp

Der Unix-Timestamp, zu dem die Ausführung des Skripts wieder aufgenommen werden soll.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.3.0 | Diese Funktion ist nun auch unter Windows verfügbar.

Fehler/Exceptions

Die Funktion generiert eine E_WARNING-Meldung, wenn der angegebene timestamp in der Vergangenheit liegt.

Beispiele

Beispiel #1 Ein time_sleep_until()-Beispiel

<?php

// Gibt false zurück und generiert eine Warnung
var_dump(time_sleep_until(time()-1));

// funktioniert evtl. nur auf schnellen Rechnern, schläft für bis zu 0.2 Sekunden
var_dump(time_sleep_until(microtime(true)+0.2));

?>

Anmerkungen

Hinweis: Alle eingetroffenen Signale werden erst ausgeliefert, wenn die Ausführung fortgesetzt wird.

Siehe auch

  • sleep() - Programmverzögerung
  • usleep() - Programm-Verzögerung in Mikrosekunden
  • time_nanosleep() - Verzögert die Ausführung um die gegebene Anzahl Sekunden und Nanosekunden
  • set_time_limit() - Beschränkt die maximale Ausführungszeit

time_nanosleep
uniqid
Sonstige Funktionen


Erzeugt eine eindeutige ID

time_sleep_until
unpack
Sonstige Funktionen
PHP Manual

uniqid

(PHP 4, PHP 5, PHP 7)

uniqid — Erzeugt eine eindeutige ID

Beschreibung

string uniqid ([ string $prefix = "" [, bool $more_entropy = false ]] )

Gibt eine eindeutige ID mit Präfix zurück, die auf der aktuellen Zeit in Mikrosekunden basiert.

Warnung

Diese Funktion erzeugt keine zufälligen oder unvoraussagbaren Zeichenketten. Diese Funktion darf nicht für Sicherheitszwecke verwendet werden. Kryptographisch sichere Zufalls-Funktionen/Generatoren und kryptographisch sichere Hash-Funktionen sollten verwendet werden, um unvoraussagbare sichere IDs zu erzeugen.

Parameter-Liste

prefix

Kann z.B. dann hilfreich sein, wenn Sie auf mehreren Hosts gleichzeitig IDs erzeugen, was im ungünstigsten Fall zur selben Mikrosekunde geschehen kann.

Bei leerem prefix ist die zurückgegebene Zeichenkette 13 Zeichen lang. Falls more_entropy TRUE ist, sind es 23 Zeichen.

more_entropy

Falls dieser Parameter auf TRUE gesetzt ist, wird uniqid() am Ende des Rückgabewertes zusätzliche mit dem Kongruenzgenerator für Pseudozufallszahlen (Combined Linear Congruential Generator) erzeugte Entropie anfügen, wodurch die Wahrscheinlichkeit erhöht wird, dass das Ergebnis eindeutig ist.

Rückgabewerte

Gibt eine eindeutige ID als Zeichenkette zurück.

Beispiele

Beispiel #1 uniqid()-Beispiel

<?php
/* Eine eindeutige ID, beispielsweise: 4b3403665fea6 */
$uniqid = uniqid();

/* Zusätzlich kann ein Präfix genutzt werden. Dabei sind die
 * folgenden beiden Anweisungen identisch:
 */
$uniqid = uniqid($prefix);
$uniqid = $prefix . uniqid();

/* Weiterhin kann der more_entropy Parameter aktiviert werden (auf einigen Systemen
 * wie Cygwin ist dies sogar zwangsweise erforderlich). Dadurch generiert uniqid()
 * einen Wert ähnlich dem folgenden: 4b340550242239.64159797
 */
$uniqid = uniqid('', true);

Anmerkungen

Achtung

Diese Funktion erzeugt keine kryptographisch sicheren Tokens; tatsächlich ist der Rückgabewert ohne die Übergabe eines zusätzlichen Parameters nur wenig von microtime() verschieden. Zum Erzeugen von kryptographisch sicheren Tokens sollte openssl_random_pseudo_bytes() verwendet werden.

Hinweis:

Unter Cygwin muss der Parameter more_entropy auf TRUE gesetzt sein, damit die Funktion arbeitet.

time_sleep_until
unpack
Sonstige Funktionen


Entpackt die Daten eines Binär-Strings

uniqid
usleep
Sonstige Funktionen
PHP Manual

unpack

(PHP 4, PHP 5, PHP 7)

unpack — Entpackt die Daten eines Binär-Strings

Beschreibung

array unpack ( string $format , string $data )

Überträgt die Daten eines Binär-Strings in ein Array unter Berücksichtigung des format-Parameters.

Die entpackten Daten werden in einem assoziativen Array abgebildet. Hierzu müssen die verschiedenen Format-Codes benannt und mit "/" getrennt werden. Wenn ein sich wiederholendes Argument existiert, werden die Array-Schlüssel durchnummeriert, indem ihnen eine Zahl angehängt wird.

Parameter-Liste

format

Die Format-Codes werden unter pack() näher erläutert.

data

Die gepackten Daten.

Rückgabewerte

Gibt ein assoziatives Array zurück, dass die entpackten Elemente als Binärzeichenkette enthält.

Changelog

Version Beschreibung
5.5.0

Änderungen wurden durchgeführt, um diese Funktion in Übereinstimmung mit Perl zu bringen:

Der "a" Code erhält nun abschließende NULL Bytes.

Der "A" Code entfernt nun alle abschließenden ASCII Whitespaces (Leerzeichen, Tabs, Zeilenvorschübe, Wagenrückläufe und NULL Bytes).

Der "Z" Code wurde für mit NULL aufgefüllte Zeichenketten hinzugefügt, und entfernt abschließende NULL Bytes.

Beispiele

Beispiel #1 unpack() Beispiel

<?php
$binarydata = "\x04\x00\xa0\x00";
$array = unpack("cchars/nint", $binarydata);
?>

Das Ergebnis Array enthält die Einträge "chars" mit dem wert 4 und "int" mit 160.

Beispiel #2 unpack() Beispiel mit Wiederholer

<?php
$binarydata = "\x04\x00\xa0\x00";
$array = unpack("c2chars/nint", $binarydata);
?>

Das Ergebnis Array wird die Einträge "chars1", "chars2" and "int" enthalten.

Anmerkungen

Achtung

Beachten Sie, dass PHP Integer-Werte intern mit Vorzeichen speichert. Wenn Sie einen großen vorzeichenlosen Longwert entpacken und er von der selben Größe ist, die PHP für dessen Speicherung verwendet, wird das Ergebnis ein negativer Wert sein (auch wenn Sie dieses als vorzeichenlos zu entpacken angegeben haben).

Achtung

Beachten Sie, dass für nicht benannte Elemente ein leerer String verwendet wird. Werden mehrere Elemente nicht bennant, werden die entsprechenden Elemente überschrieben, da die verwendeten Schlüssel identisch sind:

Beispiel #3 unpack() Beispiel mit unbenannten Schlüsseln

<?php
$binarydata = "\x32\x42\x00\xa0";
$array = unpack("c2/n", $binarydata);
var_dump($array);
?>

Das Ergebnis Array wird die Elemente "1" mit dem Wert 160 und "2" mit 66 enthalten. Der erste Wert vom Symbol c wurde mit dem Wert vom Symbol n überschrieben.

Siehe auch

  • pack() - Packt Daten in eine Binär-Zeichenkette

uniqid
usleep
Sonstige Funktionen


Programm-Verzögerung in Mikrosekunden

unpack
Changelog
Sonstige Funktionen
PHP Manual

usleep

(PHP 4, PHP 5, PHP 7)

usleep — Programm-Verzögerung in Mikrosekunden

Beschreibung

void usleep ( int $micro_seconds )

Verzögert die weitere Ausführung des Programms um die angegebene Anzahl von Mikrosekunden.

Parameter-Liste

micro_seconds

Die Anhaltezeit in Mikrosekunden. Eine Mikrosekunde ist eine millionstel Sekunde.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 usleep()-Beispiel

<?php

// Aktuelle Zeit
echo date('h:i:s') . "\n";

// Warte 2 Sekunden
usleep(2000000);

// Zurück!
echo date('h:i:s') . "\n";

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

11:13:28
11:13:30

Siehe auch

  • sleep() - Programmverzögerung
  • time_nanosleep() - Verzögert die Ausführung um die gegebene Anzahl Sekunden und Nanosekunden
  • time_sleep_until() - Lässt das Skript bis zur angegebenen Zeit schlafen
  • set_time_limit() - Beschränkt die maximale Ausführungszeit

unpack
Changelog
Sonstige Funktionen


Changelog

Folgende Änderungen wurden an den Klassen/Funktionen/Methoden dieser Extension vorgenommen.

Version | Function | Description
7.0.0 | define | array Werte sind erlaubt.
5.6.3 | pack | Die "q", "Q", "J" und "P" Codes wurden hinzugefügt, um die Arbeit mit 64-bit Zahlen zu ermöglichen.
5.5.0 | pack | Der "Z" Code mit equivalenter Funktionsweise wie "a" wurde zwecks Perl-Kompatibilität hinzugefügt.
 | unpack | Änderungen wurden durchgeführt, um diese Funktion in Übereinstimmung mit Perl zu bringen: Der "a" Code erhält nun abschließende NULL Bytes. Der "A" Code entfernt nun alle abschließenden ASCII Whitespaces (Leerzeichen, Tabs, Zeilenvorschübe, Wagenrückläufe und NULL Bytes). Der "Z" Code wurde für mit NULL aufgefüllte Zeichenketten hinzugefügt, und entfernt abschließende NULL Bytes.
5.3.4 | sleep | Vor PHP 5.3.4, hat sleep auf Windows immer NULL zurückgegeben, unabhängig davon ob der Aufruf unterbrochen wurde oder nicht.
5.3.0 | time_nanosleep | Diese Funktion ist nun auch unter Windows verfügbar.
 | time_sleep_until | Diese Funktion ist nun auch unter Windows verfügbar.
5.0.5 | php_check_syntax | Diese Funktion wurde aus PHP entfernt.
5.0.3 | php_check_syntax | Aufrufen der exit Funktion nachdem php_check_syntax in einem Speicherzugriffsfehler endete.
5.0.1 | php_check_syntax | error_message wird von "by reference" übergeben.
4.2.1 | highlight_file | Diese Funktion wird nun ebenfalls von safe_mode und open_basedir beeinflusst.
usleep
Parsekit
Misc.


Parsekit

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Parsekit Funktionen
    • parsekit_compile_file — Compile a PHP file and return the resulting op array
    • parsekit_compile_string — Compile a string of PHP code and return the resulting op array
    • parsekit_func_arginfo — Return information regarding function argument(s)
Changelog
Einführung
Sonstige Grunderweiterungen


Einführung

These functions allow runtime analysis of opcodes compiled from PHP scripts.

Parsekit
Installation/Konfiguration
Parsekit


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Parsekit


Installation

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/parsekit.

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

PARSEKIT_QUIET (int)
Return full detail, but without unnecessary NULL entries.
PARSEKIT_SIMPLE (int)
Return shorthand opcode notation.
PARSEKIT_EXTENDED_VALUE (int)
Opnode Flag
PARSEKIT_RESULT_CONST (int)
Opnode Flag
PARSEKIT_RESULT_EA_TYPE (int)
Opnode Flag
PARSEKIT_RESULT_JMP_ADDR (int)
Opnode Flag
PARSEKIT_RESULT_OPARRAY (int)
Opnode Flag
PARSEKIT_RESULT_OPLINE (int)
Opnode Flag
PARSEKIT_RESULT_VAR (int)
Opnode Flag
PARSEKIT_USAGE_UNKNOWN (int)
Opnode Flag
PARSEKIT_ZEND_INTERNAL_CLASS (int)
Class Type
PARSEKIT_ZEND_USER_CLASS (int)
Class Type
PARSEKIT_ZEND_EVAL_CODE (int)
Function Type
PARSEKIT_ZEND_INTERNAL_FUNCTION (int)
Function Type
PARSEKIT_ZEND_OVERLOADED_FUNCTION (int)
Function Type
PARSEKIT_ZEND_OVERLOADED_FUNCTION_TEMPORARY (int) PHP >= 5.0.0
Function Type
PARSEKIT_ZEND_USER_FUNCTION (int)
Function Type
PARSEKIT_IS_CONST (int)
Node Type
PARSEKIT_IS_TMP_VAR (int)
Node Type
PARSEKIT_IS_UNUSED (int)
Node Type
PARSEKIT_IS_VAR (int)
Node Type
PARSEKIT_ZEND_ADD (int)
Opcode
PARSEKIT_ZEND_ADD_ARRAY_ELEMENT (int)
Opcode
PARSEKIT_ZEND_ADD_CHAR (int)
Opcode
PARSEKIT_ZEND_ADD_INTERFACE (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_ADD_STRING (int)
Opcode
PARSEKIT_ZEND_ADD_VAR (int)
Opcode
PARSEKIT_ZEND_ASSIGN (int)
Opcode
PARSEKIT_ZEND_ASSIGN_ADD (int)
Opcode
PARSEKIT_ZEND_ASSIGN_BW_AND (int)
Opcode
PARSEKIT_ZEND_ASSIGN_BW_OR (int)
Opcode
PARSEKIT_ZEND_ASSIGN_BW_XOR (int)
Opcode
PARSEKIT_ZEND_ASSIGN_CONCAT (int)
Opcode
PARSEKIT_ZEND_ASSIGN_DIM (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_ASSIGN_DIV (int)
Opcode
PARSEKIT_ZEND_ASSIGN_MOD (int)
Opcode
PARSEKIT_ZEND_ASSIGN_MUL (int)
Opcode
PARSEKIT_ZEND_ASSIGN_OBJ (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_ASSIGN_REF (int)
Opcode
PARSEKIT_ZEND_ASSIGN_SL (int)
Opcode
PARSEKIT_ZEND_ASSIGN_SR (int)
Opcode
PARSEKIT_ZEND_ASSIGN_SUB (int)
Opcode
PARSEKIT_ZEND_BEGIN_SILENCE (int)
Opcode
PARSEKIT_ZEND_BOOL (int)
Opcode
PARSEKIT_ZEND_BOOL_NOT (int)
Opcode
PARSEKIT_ZEND_BOOL_XOR (int)
Opcode
PARSEKIT_ZEND_BRK (int)
Opcode
PARSEKIT_ZEND_BW_AND (int)
Opcode
PARSEKIT_ZEND_BW_NOT (int)
Opcode
PARSEKIT_ZEND_BW_OR (int)
Opcode
PARSEKIT_ZEND_BW_XOR (int)
Opcode
PARSEKIT_ZEND_CASE (int)
Opcode
PARSEKIT_ZEND_CAST (int)
Opcode
PARSEKIT_ZEND_CATCH (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_CLONE (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_CONCAT (int)
Opcode
PARSEKIT_ZEND_CONT (int)
Opcode
PARSEKIT_ZEND_DECLARE_CLASS (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_DECLARE_FUNCTION (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_DECLARE_INHERITED_CLASS (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_DIV (int)
Opcode
PARSEKIT_ZEND_DO_FCALL (int)
Opcode
PARSEKIT_ZEND_DO_FCALL_BY_NAME (int)
Opcode
PARSEKIT_ZEND_ECHO (int)
Opcode
PARSEKIT_ZEND_END_SILENCE (int)
Opcode
PARSEKIT_ZEND_EXIT (int)
Opcode
PARSEKIT_ZEND_EXT_FCALL_BEGIN (int)
Opcode
PARSEKIT_ZEND_EXT_FCALL_END (int)
Opcode
PARSEKIT_ZEND_EXT_NOP (int)
Opcode
PARSEKIT_ZEND_EXT_STMT (int)
Opcode
PARSEKIT_ZEND_FETCH_CLASS (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_FETCH_CONSTANT (int)
Opcode
PARSEKIT_ZEND_FETCH_DIM_FUNC_ARG (int)
Opcode
PARSEKIT_ZEND_FETCH_DIM_IS (int)
Opcode
PARSEKIT_ZEND_FETCH_DIM_R (int)
Opcode
PARSEKIT_ZEND_FETCH_DIM_RW (int)
Opcode
PARSEKIT_ZEND_FETCH_DIM_TMP_VAR (int)
Opcode
PARSEKIT_ZEND_FETCH_DIM_UNSET (int)
Opcode
PARSEKIT_ZEND_FETCH_DIM_W (int)
Opcode
PARSEKIT_ZEND_FETCH_FUNC_ARG (int)
Opcode
PARSEKIT_ZEND_FETCH_IS (int)
Opcode
PARSEKIT_ZEND_FETCH_OBJ_FUNC_ARG (int)
Opcode
PARSEKIT_ZEND_FETCH_OBJ_IS (int)
Opcode
PARSEKIT_ZEND_FETCH_OBJ_R (int)
Opcode
PARSEKIT_ZEND_FETCH_OBJ_RW (int)
Opcode
PARSEKIT_ZEND_FETCH_OBJ_UNSET (int)
Opcode
PARSEKIT_ZEND_FETCH_OBJ_W (int)
Opcode
PARSEKIT_ZEND_FETCH_R (int)
Opcode
PARSEKIT_ZEND_FETCH_RW (int)
Opcode
PARSEKIT_ZEND_FETCH_UNSET (int)
Opcode
PARSEKIT_ZEND_FETCH_W (int)
Opcode
PARSEKIT_ZEND_FE_FETCH (int)
Opcode
PARSEKIT_ZEND_FE_RESET (int)
Opcode
PARSEKIT_ZEND_FREE (int)
Opcode
PARSEKIT_ZEND_HANDLE_EXCEPTION (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_IMPORT_CLASS (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_IMPORT_CONST (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_IMPORT_FUNCTION (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_INCLUDE_OR_EVAL (int)
Opcode
PARSEKIT_ZEND_INIT_ARRAY (int)
Opcode
PARSEKIT_ZEND_INIT_CTOR_CALL (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_INIT_FCALL_BY_NAME (int)
Opcode
PARSEKIT_ZEND_INIT_METHOD_CALL (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_INIT_STATIC_METHOD_CALL (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_INIT_STRING (int)
Opcode
PARSEKIT_ZEND_INSTANCEOF (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_ISSET_ISEMPTY (int) PHP < 5.0.0
Opcode
PARSEKIT_ZEND_ISSET_ISEMPTY_DIM_OBJ (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_ISSET_ISEMPTY_PROP_OBJ (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_ISSET_ISEMPTY_VAR (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_IS_EQUAL (int)
Opcode
PARSEKIT_ZEND_IS_IDENTICAL (int)
Opcode
PARSEKIT_ZEND_IS_NOT_EQUAL (int)
Opcode
PARSEKIT_ZEND_IS_NOT_IDENTICAL (int)
Opcode
PARSEKIT_ZEND_IS_SMALLER (int)
Opcode
PARSEKIT_ZEND_IS_SMALLER_OR_EQUAL (int)
Opcode
PARSEKIT_ZEND_JMP (int)
Opcode
PARSEKIT_ZEND_JMPNZ (int)
Opcode
PARSEKIT_ZEND_JMPNZ_EX (int)
Opcode
PARSEKIT_ZEND_JMPZ (int)
Opcode
PARSEKIT_ZEND_JMPZNZ (int)
Opcode
PARSEKIT_ZEND_JMPZ_EX (int)
Opcode
PARSEKIT_ZEND_JMP_NO_CTOR (int)
Opcode
PARSEKIT_ZEND_MOD (int)
Opcode
PARSEKIT_ZEND_MUL (int)
Opcode
PARSEKIT_ZEND_NEW (int)
Opcode
PARSEKIT_ZEND_NOP (int)
Opcode
PARSEKIT_ZEND_OP_DATA (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_POST_DEC (int)
Opcode
PARSEKIT_ZEND_POST_DEC_OBJ (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_POST_INC (int)
Opcode
PARSEKIT_ZEND_POST_INC_OBJ (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_PRE_DEC (int)
Opcode
PARSEKIT_ZEND_PRE_DEC_OBJ (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_PRE_INC (int)
Opcode
PARSEKIT_ZEND_PRE_INC_OBJ (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_PRINT (int)
Opcode
PARSEKIT_ZEND_QM_ASSIGN (int)
Opcode
PARSEKIT_ZEND_RAISE_ABSTRACT_ERROR (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_RECV (int)
Opcode
PARSEKIT_ZEND_RECV_INIT (int)
Opcode
PARSEKIT_ZEND_RETURN (int)
Opcode
PARSEKIT_ZEND_SEND_REF (int)
Opcode
PARSEKIT_ZEND_SEND_VAL (int)
Opcode
PARSEKIT_ZEND_SEND_VAR (int)
Opcode
PARSEKIT_ZEND_SEND_VAR_NO_REF (int)
Opcode
PARSEKIT_ZEND_SL (int)
Opcode
PARSEKIT_ZEND_SR (int)
Opcode
PARSEKIT_ZEND_SUB (int)
Opcode
PARSEKIT_ZEND_SWITCH_FREE (int)
Opcode
PARSEKIT_ZEND_THROW (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_TICKS (int)
Opcode
PARSEKIT_ZEND_UNSET_DIM_OBJ (int)
Opcode
PARSEKIT_ZEND_UNSET_VAR (int)
Opcode
PARSEKIT_ZEND_VERIFY_ABSTRACT_CLASS (int) PHP >= 5.0.0
Opcode

Ressource-Typen
Parsekit Funktionen
Parsekit


Parsekit Funktionen

Inhaltsverzeichnis

  • parsekit_compile_file — Compile a PHP file and return the resulting op array
  • parsekit_compile_string — Compile a string of PHP code and return the resulting op array
  • parsekit_func_arginfo — Return information regarding function argument(s)
Vordefinierte Konstanten
parsekit_compile_file
Parsekit


Compile a PHP file and return the resulting op array

Parsekit Funktionen
parsekit_compile_string
Parsekit Funktionen
PHP Manual

parsekit_compile_file

(PECL parsekit >= 0.2.0)

parsekit_compile_file — Compile a PHP file and return the resulting op array

Beschreibung

array parsekit_compile_file ( string $filename [, array &$errors [, int $options = PARSEKIT_QUIET ]] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Parameter-Liste

filename

A string containing the name of the file to compile. Similar to the argument to include.

errors

A 2D hash of errors (including fatal errors) encountered during compilation. Returned by reference.

options

One of either PARSEKIT_QUIET or PARSEKIT_SIMPLE. To produce varying degrees of verbosity in the returned output.

Rückgabewerte

Returns a complex multi-layer array structure as detailed below.

Beispiele

Beispiel #1 parsekit_compile_file() example

<?php
var_dump(parsekit_compile_file('hello_world.php', $errors, PARSEKIT_SIMPLE));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(5) {
  [0]=>
  string(37) "ZEND_ECHO UNUSED 'Hello World' UNUSED"
  [1]=>
  string(30) "ZEND_RETURN UNUSED NULL UNUSED"
  [2]=>
  string(42) "ZEND_HANDLE_EXCEPTION UNUSED UNUSED UNUSED"
  ["function_table"]=>
  NULL
  ["class_table"]=>
  NULL
}

Siehe auch

  • parsekit_compile_string() - Compile a string of PHP code and return the resulting op array

Parsekit Funktionen
parsekit_compile_string
Parsekit Funktionen


Compile a string of PHP code and return the resulting op array

parsekit_compile_file
parsekit_func_arginfo
Parsekit Funktionen
PHP Manual

parsekit_compile_string

(PECL parsekit >= 0.2.0)

parsekit_compile_string — Compile a string of PHP code and return the resulting op array

Beschreibung

array parsekit_compile_string ( string $phpcode [, array &$errors [, int $options = PARSEKIT_QUIET ]] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Parameter-Liste

phpcode

A string containing phpcode. Similar to the argument to eval().

errors

A 2D hash of errors (including fatal errors) encountered during compilation. Returned by reference.

options

One of either PARSEKIT_QUIET or PARSEKIT_SIMPLE. To produce varying degrees of verbosity in the returned output.

Rückgabewerte

Returns a complex multi-layer array structure as detailed below.

Beispiele

Beispiel #1 parsekit_compile_string() example

<?php
  $ops = parsekit_compile_string('
echo "Foo\n";
', $errors, PARSEKIT_QUIET);

  var_dump($ops);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(20) {
  ["type"]=>
  int(4)
  ["type_name"]=>
  string(14) "ZEND_EVAL_CODE"
  ["fn_flags"]=>
  int(0)
  ["num_args"]=>
  int(0)
  ["required_num_args"]=>
  int(0)
  ["pass_rest_by_reference"]=>
  bool(false)
  ["uses_this"]=>
  bool(false)
  ["line_start"]=>
  int(0)
  ["line_end"]=>
  int(0)
  ["return_reference"]=>
  bool(false)
  ["refcount"]=>
  int(1)
  ["last"]=>
  int(3)
  ["size"]=>
  int(3)
  ["T"]=>
  int(0)
  ["last_brk_cont"]=>
  int(0)
  ["current_brk_cont"]=>
  int(-1)
  ["backpatch_count"]=>
  int(0)
  ["done_pass_two"]=>
  bool(true)
  ["filename"]=>
  string(17) "Parsekit Compiler"
  ["opcodes"]=>
  array(3) {
    [8594800]=>
    array(5) {
      ["opcode"]=>
      int(40)
      ["opcode_name"]=>
      string(9) "ZEND_ECHO"
      ["flags"]=>
      int(768)
      ["op1"]=>
      array(3) {
        ["type"]=>
        int(1)
        ["type_name"]=>
        string(8) "IS_CONST"
        ["constant"]=>
        &string(4) "Foo
"
      }
      ["lineno"]=>
      int(2)
    }
    ["859484C"]=>
    array(6) {
      ["opcode"]=>
      int(62)
      ["opcode_name"]=>
      string(11) "ZEND_RETURN"
      ["flags"]=>
      int(16777984)
      ["op1"]=>
      array(3) {
        ["type"]=>
        int(1)
        ["type_name"]=>
        string(8) "IS_CONST"
        ["constant"]=>
        &NULL
      }
      ["extended_value"]=>
      int(0)
      ["lineno"]=>
      int(3)
    }
    [8594898]=>
    array(4) {
      ["opcode"]=>
      int(149)
      ["opcode_name"]=>
      string(21) "ZEND_HANDLE_EXCEPTION"
      ["flags"]=>
      int(0)
      ["lineno"]=>
      int(3)
    }
  }
}

Siehe auch

  • parsekit_compile_file() - Compile a PHP file and return the resulting op array

parsekit_compile_file
parsekit_func_arginfo
Parsekit Funktionen


Return information regarding function argument(s)

parsekit_compile_string
SPL
Parsekit Funktionen
PHP Manual

parsekit_func_arginfo

(PECL parsekit >= 0.3.0)

parsekit_func_arginfo — Return information regarding function argument(s)

Beschreibung

array parsekit_func_arginfo ( mixed $function )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Parameter-Liste

function

A string describing a function, or an array describing a class/method.

Rückgabewerte

Returns an array containing argument information.

Beispiele

Beispiel #1 parsekit_func_arginfo() example

<?php
function foo($bar, stdClass $baz, &$bomb, $bling = false) {
}

var_dump(parsekit_func_arginfo('foo'));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(4) {
  [0]=>
  array(3) {
    ["name"]=>
    string(3) "bar"
    ["allow_null"]=>
    bool(true)
    ["pass_by_reference"]=>
    bool(false)
  }
  [1]=>
  array(4) {
    ["name"]=>
    string(3) "baz"
    ["class_name"]=>
    string(8) "stdClass"
    ["allow_null"]=>
    bool(false)
    ["pass_by_reference"]=>
    bool(false)
  }
  [2]=>
  array(3) {
    ["name"]=>
    string(4) "bomb"
    ["allow_null"]=>
    bool(true)
    ["pass_by_reference"]=>
    bool(true)
  }
  [3]=>
  array(3) {
    ["name"]=>
    string(5) "bling"
    ["allow_null"]=>
    bool(true)
    ["pass_by_reference"]=>
    bool(false)
  }
}

parsekit_compile_string
SPL
Parsekit Funktionen


Standard PHP Library (SPL)

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Datenstrukturen
    • SplDoublyLinkedList — The SplDoublyLinkedList class
    • SplStack — The SplStack class
    • SplQueue — The SplQueue class
    • SplHeap — The SplHeap class
    • SplMaxHeap — The SplMaxHeap class
    • SplMinHeap — The SplMinHeap class
    • SplPriorityQueue — The SplPriorityQueue class
    • SplFixedArray — The SplFixedArray class
    • SplObjectStorage — The SplObjectStorage class
  • Iteratoren
    • AppendIterator — The AppendIterator class
    • ArrayIterator — The ArrayIterator class
    • CachingIterator — The CachingIterator class
    • CallbackFilterIterator — The CallbackFilterIterator class
    • DirectoryIterator — The DirectoryIterator class
    • EmptyIterator — The EmptyIterator class
    • FilesystemIterator — The FilesystemIterator class
    • FilterIterator — The FilterIterator class
    • GlobIterator — The GlobIterator class
    • InfiniteIterator — The InfiniteIterator class
    • IteratorIterator — The IteratorIterator class
    • LimitIterator — The LimitIterator class
    • MultipleIterator — The MultipleIterator class
    • NoRewindIterator — The NoRewindIterator class
    • ParentIterator — The ParentIterator class
    • RecursiveArrayIterator — The RecursiveArrayIterator class
    • RecursiveCachingIterator — The RecursiveCachingIterator class
    • RecursiveCallbackFilterIterator — The RecursiveCallbackFilterIterator class
    • RecursiveDirectoryIterator — The RecursiveDirectoryIterator class
    • RecursiveFilterIterator — The RecursiveFilterIterator class
    • RecursiveIteratorIterator — The RecursiveIteratorIterator class
    • RecursiveRegexIterator — The RecursiveRegexIterator class
    • RecursiveTreeIterator — The RecursiveTreeIterator class
    • RegexIterator — The RegexIterator class
  • Interfaces
    • Countable — The Countable interface
    • OuterIterator — The OuterIterator interface
    • RecursiveIterator — The RecursiveIterator interface
    • SeekableIterator — The SeekableIterator interface
  • Exceptions
    • BadFunctionCallException — The BadFunctionCallException class
    • BadMethodCallException — The BadMethodCallException class
    • DomainException — The DomainException class
    • InvalidArgumentException — The InvalidArgumentException class
    • LengthException — The LengthException class
    • LogicException — The LogicException class
    • OutOfBoundsException — The OutOfBoundsException class
    • OutOfRangeException — The OutOfRangeException class
    • OverflowException — The OverflowException class
    • RangeException — The RangeException class
    • RuntimeException — The RuntimeException class
    • UnderflowException — The UnderflowException class
    • UnexpectedValueException — The UnexpectedValueException class
  • SPL Funktionen
    • class_implements — Return the interfaces which are implemented by the given class or interface
    • class_parents — Return the parent classes of the given class
    • class_uses — Return the traits used by the given class
    • iterator_apply — Call a function for every element in an iterator
    • iterator_count — Count the elements in an iterator
    • iterator_to_array — Copy the iterator into an array
    • spl_autoload_call — Try all registered __autoload() function to load the requested class
    • spl_autoload_extensions — Registriert und gibt die voreingestellten Dateiendungen für spl_autoload zurück
    • spl_autoload_functions — Liefert alle registrierten __autoload() Funktionen
    • spl_autoload_register — Register given function as __autoload() implementation
    • spl_autoload_unregister — Unregister given function as __autoload() implementation
    • spl_autoload — Default implementation for __autoload()
    • spl_classes — Return available SPL classes
    • spl_object_hash — Return hash id for given object
  • Dateibehandlung
    • SplFileInfo — The SplFileInfo class
    • SplFileObject — The SplFileObject class
    • SplTempFileObject — The SplTempFileObject class
  • Verschiedene Klassen und Interfaces
    • ArrayObject — The ArrayObject class
    • SplObserver — The SplObserver interface
    • SplSubject — The SplSubject interface
parsekit_func_arginfo
Einführung
Sonstige Grunderweiterungen


Einführung

Die Standard PHP Library (SPL) ist eine Sammlung von Interfacen und Klassen für die Lösung von Standardproblemen.

Es sind keine externen Bibliotheken notwendig, um diese Erweiterung zu installieren. Sie ist standardmäßig ab PHP 5.0.0 verfügbar und in PHP einkompiliert.

SPL bietet eine Reihe von Standard-Datenstrukturen, eine Reihe von Iteratoren, um Objekte zu durchlaufen, eine Reihe von Schnittstellen, eine Reihe von Standard-Ausnahmen, eine Reihe von Klassen, um mit Dateien zu arbeiten und es enthält eine Reihe von Funktionen wie spl_autoload_register()

SPL
Installation/Konfiguration
SPL


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
SPL


Installation

This extension is available and compiled by default in PHP 5.0.0.

Hinweis:

As of PHP 5.3.0 this extension can no longer be disabled and is therefore always available.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

Warnung

SPL uses class constants since PHP 5.1. Prior releases use global constants in the form RIT_LEAVES_ONLY.

Ressource-Typen
Datenstrukturen
SPL


Datenstrukturen

Inhaltsverzeichnis

  • SplDoublyLinkedList
  • SplStack
  • SplQueue
  • SplHeap
  • SplMaxHeap
  • SplMinHeap
  • SplPriorityQueue
  • SplFixedArray
  • SplObjectStorage

SPL provides a set of standard datastructures. They are grouped here by their underlying implementation which usually defines their general field of application.

Doubly Linked Lists

A Doubly Linked List (DLL) is a list of nodes linked in both directions to each other. Iterator's operations, access to both ends, addition or removal of nodes have a cost of O(1) when the underlying structure is a DLL. It hence provides a decent implementation for stacks and queues.

  • SplDoublyLinkedList
    • SplStack
    • SplQueue

Heaps

Heaps are tree-like structures that follow the heap-property: each node is greater than or equal to its children, when compared using the implemented compare method which is global to the heap.

  • SplHeap
    • SplMaxHeap
    • SplMinHeap
  • SplPriorityQueue

Arrays

Arrays are structures that store the data in a continuous way, accessible via indexes. Don't confuse them with PHP arrays: PHP arrays are in fact implemented as ordered hashtables.

  • SplFixedArray

Map

A map is a datastructure holding key-value pairs. PHP arrays can be seen as maps from integers/strings to values. SPL provides a map from objects to data. This map can also be used as an object set.

  • SplObjectStorage
Vordefinierte Konstanten
SplDoublyLinkedList
SPL


The SplDoublyLinkedList class

(PHP 5 >= 5.3.0, PHP 7)

Einführung

The SplDoublyLinkedList class provides the main functionalities of a doubly linked list.

Klassenbeschreibung

SplDoublyLinkedList implements Iterator , ArrayAccess , Countable {
/* Methoden */
public __construct ( void )
public void add ( mixed $index , mixed $newval )
public mixed bottom ( void )
public int count ( void )
public mixed current ( void )
public int getIteratorMode ( void )
public bool isEmpty ( void )
public mixed key ( void )
public void next ( void )
public bool offsetExists ( mixed $index )
public mixed offsetGet ( mixed $index )
public void offsetSet ( mixed $index , mixed $newval )
public void offsetUnset ( mixed $index )
public mixed pop ( void )
public void prev ( void )
public void push ( mixed $value )
public void rewind ( void )
public string serialize ( void )
public void setIteratorMode ( int $mode )
public mixed shift ( void )
public mixed top ( void )
public void unserialize ( string $serialized )
public void unshift ( mixed $value )
public bool valid ( void )
}

Inhaltsverzeichnis

  • SplDoublyLinkedList::add — Add/insert a new value at the specified index
  • SplDoublyLinkedList::bottom — Peeks at the node from the beginning of the doubly linked list
  • SplDoublyLinkedList::__construct — Constructs a new doubly linked list
  • SplDoublyLinkedList::count — Counts the number of elements in the doubly linked list.
  • SplDoublyLinkedList::current — Return current array entry
  • SplDoublyLinkedList::getIteratorMode — Returns the mode of iteration
  • SplDoublyLinkedList::isEmpty — Checks whether the doubly linked list is empty.
  • SplDoublyLinkedList::key — Return current node index
  • SplDoublyLinkedList::next — Move to next entry
  • SplDoublyLinkedList::offsetExists — Returns whether the requested $index exists
  • SplDoublyLinkedList::offsetGet — Returns the value at the specified $index
  • SplDoublyLinkedList::offsetSet — Sets the value at the specified $index to $newval
  • SplDoublyLinkedList::offsetUnset — Unsets the value at the specified $index
  • SplDoublyLinkedList::pop — Pops a node from the end of the doubly linked list
  • SplDoublyLinkedList::prev — Move to previous entry
  • SplDoublyLinkedList::push — Pushes an element at the end of the doubly linked list
  • SplDoublyLinkedList::rewind — Rewind iterator back to the start
  • SplDoublyLinkedList::serialize — Serializes the storage
  • SplDoublyLinkedList::setIteratorMode — Sets the mode of iteration
  • SplDoublyLinkedList::shift — Shifts a node from the beginning of the doubly linked list
  • SplDoublyLinkedList::top — Peeks at the node from the end of the doubly linked list
  • SplDoublyLinkedList::unserialize — Unserializes the storage
  • SplDoublyLinkedList::unshift — Prepends the doubly linked list with an element
  • SplDoublyLinkedList::valid — Check whether the doubly linked list contains more nodes
Datenstrukturen
SplDoublyLinkedList::add
Datenstrukturen


Add/insert a new value at the specified index

SplDoublyLinkedList
SplDoublyLinkedList::bottom
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::add

(PHP 5 >= 5.5.0, PHP 7)

SplDoublyLinkedList::add — Add/insert a new value at the specified index

Beschreibung

public void SplDoublyLinkedList::add ( mixed $index , mixed $newval )

Insert the value newval at the specified index, shuffling the previous value at that index (and all subsequent values) up through the list.

Parameter-Liste

index

The index where the new value is to be inserted.

newval

The new value for the index.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

Throws OutOfRangeException when index is out of bounds or when index cannot be parsed as an integer.

SplDoublyLinkedList
SplDoublyLinkedList::bottom
SplDoublyLinkedList


Peeks at the node from the beginning of the doubly linked list

SplDoublyLinkedList::add
SplDoublyLinkedList::__construct
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::bottom

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::bottom — Peeks at the node from the beginning of the doubly linked list

Beschreibung

public mixed SplDoublyLinkedList::bottom ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The value of the first node.

Fehler/Exceptions

Throws RuntimeException when the data-structure is empty.

SplDoublyLinkedList::add
SplDoublyLinkedList::__construct
SplDoublyLinkedList


Constructs a new doubly linked list

SplDoublyLinkedList::bottom
SplDoublyLinkedList::count
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::__construct

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::__construct — Constructs a new doubly linked list

Beschreibung

public SplDoublyLinkedList::__construct ( void )

This constructs a new empty doubly linked list.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 SplDoublyLinkedList::__construct() example

<?php
$dll = new SplDoublyLinkedList();

$dll->push(2);
$dll->push(3);
$dll->unshift(5);

var_dump($dll);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(SplDoublyLinkedList)#1 (2) {
  ["flags":"SplDoublyLinkedList":private]=>
  int(0)
  ["dllist":"SplDoublyLinkedList":private]=>
  array(3) {
    [0]=>
    int(5)
    [1]=>
    int(2)
    [2]=>
    int(3)
  }
}

SplDoublyLinkedList::bottom
SplDoublyLinkedList::count
SplDoublyLinkedList


Counts the number of elements in the doubly linked list.

SplDoublyLinkedList::__construct
SplDoublyLinkedList::current
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::count

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::count — Counts the number of elements in the doubly linked list.

Beschreibung

public int SplDoublyLinkedList::count ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the number of elements in the doubly linked list.

SplDoublyLinkedList::__construct
SplDoublyLinkedList::current
SplDoublyLinkedList


Return current array entry

SplDoublyLinkedList::count
SplDoublyLinkedList::getIteratorMode
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::current

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::current — Return current array entry

Beschreibung

public mixed SplDoublyLinkedList::current ( void )

Get the current doubly linked list node.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current node value.

SplDoublyLinkedList::count
SplDoublyLinkedList::getIteratorMode
SplDoublyLinkedList


Returns the mode of iteration

SplDoublyLinkedList::current
SplDoublyLinkedList::isEmpty
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::getIteratorMode

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::getIteratorMode — Returns the mode of iteration

Beschreibung

public int SplDoublyLinkedList::getIteratorMode ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the different modes and flags that affect the iteration.

SplDoublyLinkedList::current
SplDoublyLinkedList::isEmpty
SplDoublyLinkedList


Checks whether the doubly linked list is empty.

SplDoublyLinkedList::getIteratorMode
SplDoublyLinkedList::key
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::isEmpty

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::isEmpty — Checks whether the doubly linked list is empty.

Beschreibung

public bool SplDoublyLinkedList::isEmpty ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns whether the doubly linked list is empty.

SplDoublyLinkedList::getIteratorMode
SplDoublyLinkedList::key
SplDoublyLinkedList


Return current node index

SplDoublyLinkedList::isEmpty
SplDoublyLinkedList::next
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::key

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::key — Return current node index

Beschreibung

public mixed SplDoublyLinkedList::key ( void )

This function returns the current node index

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current node index.

SplDoublyLinkedList::isEmpty
SplDoublyLinkedList::next
SplDoublyLinkedList


Move to next entry

SplDoublyLinkedList::key
SplDoublyLinkedList::offsetExists
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::next

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::next — Move to next entry

Beschreibung

public void SplDoublyLinkedList::next ( void )

Move the iterator to the next node.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SplDoublyLinkedList::key
SplDoublyLinkedList::offsetExists
SplDoublyLinkedList


Returns whether the requested $index exists

SplDoublyLinkedList::next
SplDoublyLinkedList::offsetGet
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::offsetExists

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::offsetExists — Returns whether the requested $index exists

Beschreibung

public bool SplDoublyLinkedList::offsetExists ( mixed $index )

Parameter-Liste

index

The index being checked.

Rückgabewerte

TRUE if the requested index exists, otherwise FALSE

SplDoublyLinkedList::next
SplDoublyLinkedList::offsetGet
SplDoublyLinkedList


Returns the value at the specified $index

SplDoublyLinkedList::offsetExists
SplDoublyLinkedList::offsetSet
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::offsetGet

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::offsetGet — Returns the value at the specified $index

Beschreibung

public mixed SplDoublyLinkedList::offsetGet ( mixed $index )

Parameter-Liste

index

The index with the value.

Rückgabewerte

The value at the specified index.

Fehler/Exceptions

Throws OutOfRangeException when index is out of bounds or when index cannot be parsed as an integer.

SplDoublyLinkedList::offsetExists
SplDoublyLinkedList::offsetSet
SplDoublyLinkedList


Sets the value at the specified $index to $newval

SplDoublyLinkedList::offsetGet
SplDoublyLinkedList::offsetUnset
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::offsetSet

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::offsetSet — Sets the value at the specified $index to $newval

Beschreibung

public void SplDoublyLinkedList::offsetSet ( mixed $index , mixed $newval )

Sets the value at the specified index to newval.

Parameter-Liste

index

The index being set.

newval

The new value for the index.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

Throws OutOfRangeException when index is out of bounds or when index cannot be parsed as an integer.

SplDoublyLinkedList::offsetGet
SplDoublyLinkedList::offsetUnset
SplDoublyLinkedList


Unsets the value at the specified $index

SplDoublyLinkedList::offsetSet
SplDoublyLinkedList::pop
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::offsetUnset

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::offsetUnset — Unsets the value at the specified $index

Beschreibung

public void SplDoublyLinkedList::offsetUnset ( mixed $index )

Unsets the value at the specified index.

Parameter-Liste

index

The index being unset.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

Throws OutOfRangeException when index is out of bounds or when index cannot be parsed as an integer.

SplDoublyLinkedList::offsetSet
SplDoublyLinkedList::pop
SplDoublyLinkedList


Pops a node from the end of the doubly linked list

SplDoublyLinkedList::offsetUnset
SplDoublyLinkedList::prev
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::pop

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::pop — Pops a node from the end of the doubly linked list

Beschreibung

public mixed SplDoublyLinkedList::pop ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The value of the popped node.

Fehler/Exceptions

Throws RuntimeException when the data-structure is empty.

SplDoublyLinkedList::offsetUnset
SplDoublyLinkedList::prev
SplDoublyLinkedList


Move to previous entry

SplDoublyLinkedList::pop
SplDoublyLinkedList::push
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::prev

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::prev — Move to previous entry

Beschreibung

public void SplDoublyLinkedList::prev ( void )

Move the iterator to the previous node.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SplDoublyLinkedList::pop
SplDoublyLinkedList::push
SplDoublyLinkedList


Pushes an element at the end of the doubly linked list

SplDoublyLinkedList::prev
SplDoublyLinkedList::rewind
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::push

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::push — Pushes an element at the end of the doubly linked list

Beschreibung

public void SplDoublyLinkedList::push ( mixed $value )

Pushes value at the end of the doubly linked list.

Parameter-Liste

value

The value to push.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SplDoublyLinkedList::prev
SplDoublyLinkedList::rewind
SplDoublyLinkedList


Rewind iterator back to the start

SplDoublyLinkedList::push
SplDoublyLinkedList::serialize
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::rewind

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::rewind — Rewind iterator back to the start

Beschreibung

public void SplDoublyLinkedList::rewind ( void )

This rewinds the iterator to the beginning.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SplDoublyLinkedList::push
SplDoublyLinkedList::serialize
SplDoublyLinkedList


Serializes the storage

SplDoublyLinkedList::rewind
SplDoublyLinkedList::setIteratorMode
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::serialize

(PHP 5 >= 5.4.0, PHP 7)

SplDoublyLinkedList::serialize — Serializes the storage

Beschreibung

public string SplDoublyLinkedList::serialize ( void )

Serializes the storage.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The serialized string.

Siehe auch

  • SplDoublyLinkedList::unserialize() - Unserializes the storage

SplDoublyLinkedList::rewind
SplDoublyLinkedList::setIteratorMode
SplDoublyLinkedList


Sets the mode of iteration

SplDoublyLinkedList::serialize
SplDoublyLinkedList::shift
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::setIteratorMode

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::setIteratorMode — Sets the mode of iteration

Beschreibung

public void SplDoublyLinkedList::setIteratorMode ( int $mode )

Parameter-Liste

mode

There are two orthogonal sets of modes that can be set:

  • The direction of the iteration (either one or the other):
    • SplDoublyLinkedList::IT_MODE_LIFO (Stack style)
    • SplDoublyLinkedList::IT_MODE_FIFO (Queue style)
  • The behavior of the iterator (either one or the other):
    • SplDoublyLinkedList::IT_MODE_DELETE (Elements are deleted by the iterator)
    • SplDoublyLinkedList::IT_MODE_KEEP (Elements are traversed by the iterator)

The default mode is: SplDoublyLinkedList::IT_MODE_FIFO | SplDoublyLinkedList::IT_MODE_KEEP

Rückgabewerte

Es wird kein Wert zurückgegeben.

SplDoublyLinkedList::serialize
SplDoublyLinkedList::shift
SplDoublyLinkedList


Shifts a node from the beginning of the doubly linked list

SplDoublyLinkedList::setIteratorMode
SplDoublyLinkedList::top
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::shift

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::shift — Shifts a node from the beginning of the doubly linked list

Beschreibung

public mixed SplDoublyLinkedList::shift ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The value of the shifted node.

Fehler/Exceptions

Throws RuntimeException when the data-structure is empty.

SplDoublyLinkedList::setIteratorMode
SplDoublyLinkedList::top
SplDoublyLinkedList


Peeks at the node from the end of the doubly linked list

SplDoublyLinkedList::shift
SplDoublyLinkedList::unserialize
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::top

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::top — Peeks at the node from the end of the doubly linked list

Beschreibung

public mixed SplDoublyLinkedList::top ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The value of the last node.

Fehler/Exceptions

Throws RuntimeException when the data-structure is empty.

SplDoublyLinkedList::shift
SplDoublyLinkedList::unserialize
SplDoublyLinkedList


Unserializes the storage

SplDoublyLinkedList::top
SplDoublyLinkedList::unshift
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::unserialize

(PHP 5 >= 5.4.0, PHP 7)

SplDoublyLinkedList::unserialize — Unserializes the storage

Beschreibung

public void SplDoublyLinkedList::unserialize ( string $serialized )

Unserializes the storage, from SplDoublyLinkedList::serialize().

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

serialized

The serialized string.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SplDoublyLinkedList::serialize() - Serializes the storage

SplDoublyLinkedList::top
SplDoublyLinkedList::unshift
SplDoublyLinkedList


Prepends the doubly linked list with an element

SplDoublyLinkedList::unserialize
SplDoublyLinkedList::valid
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::unshift

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::unshift — Prepends the doubly linked list with an element

Beschreibung

public void SplDoublyLinkedList::unshift ( mixed $value )

Prepends value at the beginning of the doubly linked list.

Parameter-Liste

value

The value to unshift.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SplDoublyLinkedList::unserialize
SplDoublyLinkedList::valid
SplDoublyLinkedList


Check whether the doubly linked list contains more nodes

SplDoublyLinkedList::unshift
SplStack
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::valid

(PHP 5 >= 5.3.0, PHP 7)

SplDoublyLinkedList::valid — Check whether the doubly linked list contains more nodes

Beschreibung

public bool SplDoublyLinkedList::valid ( void )

Checks if the doubly linked list contains any more nodes.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the doubly linked list contains any more nodes, FALSE otherwise.

SplDoublyLinkedList::unshift
SplStack
SplDoublyLinkedList


The SplStack class

(PHP 5 >= 5.3.0, PHP 7)

Einführung

The SplStack class provides the main functionalities of a stack implemented using a doubly linked list.

Klassenbeschreibung

SplStack extends SplDoublyLinkedList implements Iterator , ArrayAccess , Countable {
/* Methoden */
__construct ( void )
void setIteratorMode ( int $mode )
/* Geerbte Methoden */
public void SplDoublyLinkedList::add ( mixed $index , mixed $newval )
public mixed SplDoublyLinkedList::bottom ( void )
public int SplDoublyLinkedList::count ( void )
public mixed SplDoublyLinkedList::current ( void )
public int SplDoublyLinkedList::getIteratorMode ( void )
public bool SplDoublyLinkedList::isEmpty ( void )
public mixed SplDoublyLinkedList::key ( void )
public void SplDoublyLinkedList::next ( void )
public bool SplDoublyLinkedList::offsetExists ( mixed $index )
public mixed SplDoublyLinkedList::offsetGet ( mixed $index )
public void SplDoublyLinkedList::offsetSet ( mixed $index , mixed $newval )
public void SplDoublyLinkedList::offsetUnset ( mixed $index )
public mixed SplDoublyLinkedList::pop ( void )
public void SplDoublyLinkedList::prev ( void )
public void SplDoublyLinkedList::push ( mixed $value )
public void SplDoublyLinkedList::rewind ( void )
public string SplDoublyLinkedList::serialize ( void )
public void SplDoublyLinkedList::setIteratorMode ( int $mode )
public mixed SplDoublyLinkedList::shift ( void )
public mixed SplDoublyLinkedList::top ( void )
public void SplDoublyLinkedList::unserialize ( string $serialized )
public void SplDoublyLinkedList::unshift ( mixed $value )
public bool SplDoublyLinkedList::valid ( void )
}

Inhaltsverzeichnis

  • SplStack::__construct — Constructs a new stack implemented using a doubly linked list
  • SplStack::setIteratorMode — Sets the mode of iteration
SplDoublyLinkedList::valid
SplStack::__construct
Datenstrukturen


Constructs a new stack implemented using a doubly linked list

SplStack
SplStack::setIteratorMode
SplStack
PHP Manual

SplStack::__construct

(PHP 5 >= 5.3.0, PHP 7)

SplStack::__construct — Constructs a new stack implemented using a doubly linked list

Beschreibung

SplStack::__construct ( void )

This constructs a new empty stack.

Hinweis:

This method automatically sets the iterator mode to SplDoublyLinkedList::IT_MODE_LIFO.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 SplStack::__construct() example

<?php
$q = new SplStack();

$q[] = 1;
$q[] = 2;
$q[] = 3;

foreach ($q as $elem)  {
 echo $elem."\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

3
2
1

SplStack
SplStack::setIteratorMode
SplStack


Sets the mode of iteration

SplStack::__construct
SplQueue
SplStack
PHP Manual

SplStack::setIteratorMode

(PHP 5 >= 5.3.0, PHP 7)

SplStack::setIteratorMode — Sets the mode of iteration

Beschreibung

void SplStack::setIteratorMode ( int $mode )

Parameter-Liste

mode

There is only one iteration parameter you can modify.

  • The behavior of the iterator (either one or the other):
    • SplDoublyLinkedList::IT_MODE_DELETE (Elements are deleted by the iterator)
    • SplDoublyLinkedList::IT_MODE_KEEP (Elements are traversed by the iterator)

The default mode is 0x2 : SplDoublyLinkedList::IT_MODE_LIFO | SplDoublyLinkedList::IT_MODE_KEEP

Warnung

The direction of iteration can no longer be changed for SplStacks. Trying to do so will result in a RuntimeException being thrown.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SplStack::__construct
SplQueue
SplStack


The SplQueue class

(PHP 5 >= 5.3.0, PHP 7)

Einführung

The SplQueue class provides the main functionalities of a queue implemented using a doubly linked list.

Klassenbeschreibung

SplQueue extends SplDoublyLinkedList implements Iterator , ArrayAccess , Countable {
/* Methoden */
__construct ( void )
mixed dequeue ( void )
void enqueue ( mixed $value )
void setIteratorMode ( int $mode )
/* Geerbte Methoden */
public void SplDoublyLinkedList::add ( mixed $index , mixed $newval )
public mixed SplDoublyLinkedList::bottom ( void )
public int SplDoublyLinkedList::count ( void )
public mixed SplDoublyLinkedList::current ( void )
public int SplDoublyLinkedList::getIteratorMode ( void )
public bool SplDoublyLinkedList::isEmpty ( void )
public mixed SplDoublyLinkedList::key ( void )
public void SplDoublyLinkedList::next ( void )
public bool SplDoublyLinkedList::offsetExists ( mixed $index )
public mixed SplDoublyLinkedList::offsetGet ( mixed $index )
public void SplDoublyLinkedList::offsetSet ( mixed $index , mixed $newval )
public void SplDoublyLinkedList::offsetUnset ( mixed $index )
public mixed SplDoublyLinkedList::pop ( void )
public void SplDoublyLinkedList::prev ( void )
public void SplDoublyLinkedList::push ( mixed $value )
public void SplDoublyLinkedList::rewind ( void )
public string SplDoublyLinkedList::serialize ( void )
public void SplDoublyLinkedList::setIteratorMode ( int $mode )
public mixed SplDoublyLinkedList::shift ( void )
public mixed SplDoublyLinkedList::top ( void )
public void SplDoublyLinkedList::unserialize ( string $serialized )
public void SplDoublyLinkedList::unshift ( mixed $value )
public bool SplDoublyLinkedList::valid ( void )
}

Inhaltsverzeichnis

  • SplQueue::__construct — Constructs a new queue implemented using a doubly linked list
  • SplQueue::dequeue — Dequeues a node from the queue
  • SplQueue::enqueue — Adds an element to the queue.
  • SplQueue::setIteratorMode — Sets the mode of iteration
SplStack::setIteratorMode
SplQueue::__construct
Datenstrukturen


Constructs a new queue implemented using a doubly linked list

SplQueue
SplQueue::dequeue
SplQueue
PHP Manual

SplQueue::__construct

(PHP 5 >= 5.3.0, PHP 7)

SplQueue::__construct — Constructs a new queue implemented using a doubly linked list

Beschreibung

SplQueue::__construct ( void )

This constructs a new empty queue.

Hinweis:

This method automatically sets the iterator mode to SplDoublyLinkedList::IT_MODE_FIFO.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 SplQueue::__construct() example

<?php
$q = new SplQueue();

$q[] = 1;
$q[] = 2;
$q[] = 3;

foreach ($q as $elem)  {
 echo $elem."\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1
2
3

Beispiel #2 Efficiently handling tasks with SplQueue

<?php
$q = new SplQueue();
$q->setIteratorMode(SplQueue::IT_MODE_DELETE);

// ... enqueue some tasks on the queue ...

// process them
foreach ($q as $task) {
    // ... process $task ...

    // add new tasks on the queue
    $q[] = $newTask;
    // ...
}
?>

SplQueue
SplQueue::dequeue
SplQueue


Dequeues a node from the queue

SplQueue::__construct
SplQueue::enqueue
SplQueue
PHP Manual

SplQueue::dequeue

(PHP 5 >= 5.3.0, PHP 7)

SplQueue::dequeue — Dequeues a node from the queue

Beschreibung

mixed SplQueue::dequeue ( void )

Dequeues value from the top of the queue.

Hinweis:

SplQueue::dequeue() is an alias of SplDoublyLinkedList::shift().

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The value of the dequeued node.

SplQueue::__construct
SplQueue::enqueue
SplQueue


Adds an element to the queue.

SplQueue::dequeue
SplQueue::setIteratorMode
SplQueue
PHP Manual

SplQueue::enqueue

(PHP 5 >= 5.3.0, PHP 7)

SplQueue::enqueue — Adds an element to the queue.

Beschreibung

void SplQueue::enqueue ( mixed $value )

Enqueues value at the end of the queue.

Hinweis:

SplQueue::enqueue() is an alias of SplDoublyLinkedList::push().

Parameter-Liste

value

The value to enqueue.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SplQueue::dequeue
SplQueue::setIteratorMode
SplQueue


Sets the mode of iteration

SplQueue::enqueue
SplHeap
SplQueue
PHP Manual

SplQueue::setIteratorMode

(PHP 5 >= 5.3.0, PHP 7)

SplQueue::setIteratorMode — Sets the mode of iteration

Beschreibung

void SplQueue::setIteratorMode ( int $mode )

Parameter-Liste

mode

There is only one iteration parameter you can modify.

  • The behavior of the iterator (either one or the other):
    • SplDoublyLinkedList::IT_MODE_DELETE (Elements are deleted by the iterator)
    • SplDoublyLinkedList::IT_MODE_KEEP (Elements are traversed by the iterator)

The default mode is: SplDoublyLinkedList::IT_MODE_FIFO | SplDoublyLinkedList::IT_MODE_KEEP

Warnung

The direction of iteration can not be changed for SplQueues, it is always SplDoublyLinkedList::IT_MODE_FIFO.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

Throws a RuntimeException on trying to change the direction of iteration by using SplDoublyLinkedList::IT_MODE_LIFO.

SplQueue::enqueue
SplHeap
SplQueue


The SplHeap class

(PHP 5 >= 5.3.0, PHP 7)

Einführung

The SplHeap class provides the main functionalities of a Heap.

Klassenbeschreibung

abstract SplHeap implements Iterator , Countable {
/* Methoden */
public __construct ( void )
abstract protected int compare ( mixed $value1 , mixed $value2 )
public int count ( void )
public mixed current ( void )
public mixed extract ( void )
public void insert ( mixed $value )
public bool isEmpty ( void )
public mixed key ( void )
public void next ( void )
public void recoverFromCorruption ( void )
public void rewind ( void )
public mixed top ( void )
public bool valid ( void )
}

Inhaltsverzeichnis

  • SplHeap::compare — Compare elements in order to place them correctly in the heap while sifting up.
  • SplHeap::__construct — Constructs a new empty heap
  • SplHeap::count — Counts the number of elements in the heap.
  • SplHeap::current — Return current node pointed by the iterator
  • SplHeap::extract — Extracts a node from top of the heap and sift up.
  • SplHeap::insert — Inserts an element in the heap by sifting it up.
  • SplHeap::isEmpty — Checks whether the heap is empty.
  • SplHeap::key — Return current node index
  • SplHeap::next — Move to the next node
  • SplHeap::recoverFromCorruption — Recover from the corrupted state and allow further actions on the heap.
  • SplHeap::rewind — Rewind iterator back to the start (no-op)
  • SplHeap::top — Peeks at the node from the top of the heap
  • SplHeap::valid — Check whether the heap contains more nodes
SplQueue::setIteratorMode
SplHeap::compare
Datenstrukturen


Compare elements in order to place them correctly in the heap while sifting up.

SplHeap
SplHeap::__construct
SplHeap
PHP Manual

SplHeap::compare

(PHP 5 >= 5.3.0, PHP 7)

SplHeap::compare — Compare elements in order to place them correctly in the heap while sifting up.

Beschreibung

abstract protected int SplHeap::compare ( mixed $value1 , mixed $value2 )

Compare value1 with value2.

Warnung

Throwing exceptions in SplHeap::compare() can corrupt the Heap and place it in a blocked state. You can unblock it by calling SplHeap::recoverFromCorruption(). However, some elements might not be placed correctly and it may hence break the heap-property.

Parameter-Liste

value1

The value of the first node being compared.

value2

The value of the second node being compared.

Rückgabewerte

Result of the comparison, positive integer if value1 is greater than value2, 0 if they are equal, negative integer otherwise.

Hinweis:

Having multiple elements with the same value in a Heap is not recommended. They will end up in an arbitrary relative position.

SplHeap
SplHeap::__construct
SplHeap


Constructs a new empty heap

SplHeap::compare
SplHeap::count
SplHeap
PHP Manual

SplHeap::__construct

(PHP 5 >= 5.3.0, PHP 7)

SplHeap::__construct — Constructs a new empty heap

Beschreibung

public SplHeap::__construct ( void )

This constructs a new empty heap.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SplHeap::compare
SplHeap::count
SplHeap


Counts the number of elements in the heap.

SplHeap::__construct
SplHeap::current
SplHeap
PHP Manual

SplHeap::count

(PHP 5 >= 5.3.0, PHP 7)

SplHeap::count — Counts the number of elements in the heap.

Beschreibung

public int SplHeap::count ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the number of elements in the heap.

SplHeap::__construct
SplHeap::current
SplHeap


Return current node pointed by the iterator

SplHeap::count
SplHeap::extract
SplHeap
PHP Manual

SplHeap::current

(PHP 5 >= 5.3.0, PHP 7)

SplHeap::current — Return current node pointed by the iterator

Beschreibung

public mixed SplHeap::current ( void )

Get the current datastructure node.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current node value.

SplHeap::count
SplHeap::extract
SplHeap


Extracts a node from top of the heap and sift up.

SplHeap::current
SplHeap::insert
SplHeap
PHP Manual

SplHeap::extract

(PHP 5 >= 5.3.0, PHP 7)

SplHeap::extract — Extracts a node from top of the heap and sift up.

Beschreibung

public mixed SplHeap::extract ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The value of the extracted node.

Fehler/Exceptions

Throws RuntimeException when the data-structure is empty.

SplHeap::current
SplHeap::insert
SplHeap


Inserts an element in the heap by sifting it up.

SplHeap::extract
SplHeap::isEmpty
SplHeap
PHP Manual

SplHeap::insert

(PHP 5 >= 5.3.0, PHP 7)

SplHeap::insert — Inserts an element in the heap by sifting it up.

Beschreibung

public void SplHeap::insert ( mixed $value )

Insert value in the heap.

Parameter-Liste

value

The value to insert.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SplHeap::extract
SplHeap::isEmpty
SplHeap


Checks whether the heap is empty.

SplHeap::insert
SplHeap::key
SplHeap
PHP Manual

SplHeap::isEmpty

(PHP 5 >= 5.3.0, PHP 7)

SplHeap::isEmpty — Checks whether the heap is empty.

Beschreibung

public bool SplHeap::isEmpty ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns whether the heap is empty.

SplHeap::insert
SplHeap::key
SplHeap


Return current node index

SplHeap::isEmpty
SplHeap::next
SplHeap
PHP Manual

SplHeap::key

(PHP 5 >= 5.3.0, PHP 7)

SplHeap::key — Return current node index

Beschreibung

public mixed SplHeap::key ( void )

This function returns the current node index

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current node index.

SplHeap::isEmpty
SplHeap::next
SplHeap


Move to the next node

SplHeap::key
SplHeap::recoverFromCorruption
SplHeap
PHP Manual

SplHeap::next

(PHP 5 >= 5.3.0, PHP 7)

SplHeap::next — Move to the next node

Beschreibung

public void SplHeap::next ( void )

Move to the next node. This will delete the top node of the heap.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SplHeap::key
SplHeap::recoverFromCorruption
SplHeap


Recover from the corrupted state and allow further actions on the heap.

SplHeap::next
SplHeap::rewind
SplHeap
PHP Manual

SplHeap::recoverFromCorruption

(PHP 5 >= 5.3.0, PHP 7)

SplHeap::recoverFromCorruption — Recover from the corrupted state and allow further actions on the heap.

Beschreibung

public void SplHeap::recoverFromCorruption ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SplHeap::next
SplHeap::rewind
SplHeap


Rewind iterator back to the start (no-op)

SplHeap::recoverFromCorruption
SplHeap::top
SplHeap
PHP Manual

SplHeap::rewind

(PHP 5 >= 5.3.0, PHP 7)

SplHeap::rewind — Rewind iterator back to the start (no-op)

Beschreibung

public void SplHeap::rewind ( void )

This rewinds the iterator to the beginning. This is a no-op for heaps as the iterator is virtual and in fact never moves from the top of the heap.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SplHeap::recoverFromCorruption
SplHeap::top
SplHeap


Peeks at the node from the top of the heap

SplHeap::rewind
SplHeap::valid
SplHeap
PHP Manual

SplHeap::top

(PHP 5 >= 5.3.0, PHP 7)

SplHeap::top — Peeks at the node from the top of the heap

Beschreibung

public mixed SplHeap::top ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The value of the node on the top.

Fehler/Exceptions

Throws RuntimeException when the data-structure is empty.

SplHeap::rewind
SplHeap::valid
SplHeap


Check whether the heap contains more nodes

SplHeap::top
SplMaxHeap
SplHeap
PHP Manual

SplHeap::valid

(PHP 5 >= 5.3.0, PHP 7)

SplHeap::valid — Check whether the heap contains more nodes

Beschreibung

public bool SplHeap::valid ( void )

Checks if the heap contains any more nodes.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the heap contains any more nodes, FALSE otherwise.

SplHeap::top
SplMaxHeap
SplHeap


The SplMaxHeap class

(PHP 5 >= 5.3.0, PHP 7)

Einführung

The SplMaxHeap class provides the main functionalities of a heap, keeping the maximum on the top.

Klassenbeschreibung

SplMaxHeap extends SplHeap implements Iterator , Countable {
/* Methoden */
protected int compare ( mixed $value1 , mixed $value2 )
/* Geerbte Methoden */
abstract protected int SplHeap::compare ( mixed $value1 , mixed $value2 )
public int SplHeap::count ( void )
public mixed SplHeap::current ( void )
public mixed SplHeap::extract ( void )
public void SplHeap::insert ( mixed $value )
public bool SplHeap::isEmpty ( void )
public mixed SplHeap::key ( void )
public void SplHeap::next ( void )
public void SplHeap::recoverFromCorruption ( void )
public void SplHeap::rewind ( void )
public mixed SplHeap::top ( void )
public bool SplHeap::valid ( void )
}

Inhaltsverzeichnis

  • SplMaxHeap::compare — Compare elements in order to place them correctly in the heap while sifting up.
SplHeap::valid
SplMaxHeap::compare
Datenstrukturen


Compare elements in order to place them correctly in the heap while sifting up.

SplMaxHeap
SplMinHeap
SplMaxHeap
PHP Manual

SplMaxHeap::compare

(PHP 5 >= 5.3.0, PHP 7)

SplMaxHeap::compare — Compare elements in order to place them correctly in the heap while sifting up.

Beschreibung

protected int SplMaxHeap::compare ( mixed $value1 , mixed $value2 )

Compare value1 with value2.

Parameter-Liste

value1

The value of the first node being compared.

value2

The value of the second node being compared.

Rückgabewerte

Result of the comparison, positive integer if value1 is greater than value2, 0 if they are equal, negative integer otherwise.

Hinweis:

Having multiple elements with the same value in a Heap is not recommended. They will end up in an arbitrary relative position.

SplMaxHeap
SplMinHeap
SplMaxHeap


The SplMinHeap class

(PHP 5 >= 5.3.0, PHP 7)

Einführung

The SplMinHeap class provides the main functionalities of a heap, keeping the minimum on the top.

Klassenbeschreibung

SplMinHeap extends SplHeap implements Iterator , Countable {
/* Methoden */
protected int compare ( mixed $value1 , mixed $value2 )
/* Geerbte Methoden */
abstract protected int SplHeap::compare ( mixed $value1 , mixed $value2 )
public int SplHeap::count ( void )
public mixed SplHeap::current ( void )
public mixed SplHeap::extract ( void )
public void SplHeap::insert ( mixed $value )
public bool SplHeap::isEmpty ( void )
public mixed SplHeap::key ( void )
public void SplHeap::next ( void )
public void SplHeap::recoverFromCorruption ( void )
public void SplHeap::rewind ( void )
public mixed SplHeap::top ( void )
public bool SplHeap::valid ( void )
}

Inhaltsverzeichnis

  • SplMinHeap::compare — Compare elements in order to place them correctly in the heap while sifting up.
SplMaxHeap::compare
SplMinHeap::compare
Datenstrukturen


Compare elements in order to place them correctly in the heap while sifting up.

SplMinHeap
SplPriorityQueue
SplMinHeap
PHP Manual

SplMinHeap::compare

(PHP 5 >= 5.3.0, PHP 7)

SplMinHeap::compare — Compare elements in order to place them correctly in the heap while sifting up.

Beschreibung

protected int SplMinHeap::compare ( mixed $value1 , mixed $value2 )

Compare value1 with value2.

Parameter-Liste

value1

The value of the first node being compared.

value2

The value of the second node being compared.

Rückgabewerte

Result of the comparison, positive integer if value1 is lower than value2, 0 if they are equal, negative integer otherwise.

Hinweis:

Having multiple elements with the same value in a Heap is not recommended. They will end up in an arbitrary relative position.

SplMinHeap
SplPriorityQueue
SplMinHeap


The SplPriorityQueue class

(PHP 5 >= 5.3.0, PHP 7)

Einführung

The SplPriorityQueue class provides the main functionalities of a prioritized queue, implemented using a max heap.

Klassenbeschreibung

SplPriorityQueue implements Iterator , Countable {
/* Methoden */
public __construct ( void )
public int compare ( mixed $priority1 , mixed $priority2 )
public int count ( void )
public mixed current ( void )
public mixed extract ( void )
public void insert ( mixed $value , mixed $priority )
public bool isEmpty ( void )
public mixed key ( void )
public void next ( void )
public void recoverFromCorruption ( void )
public void rewind ( void )
public void setExtractFlags ( int $flags )
public mixed top ( void )
public bool valid ( void )
}

Inhaltsverzeichnis

  • SplPriorityQueue::compare — Compare priorities in order to place elements correctly in the heap while sifting up.
  • SplPriorityQueue::__construct — Constructs a new empty queue
  • SplPriorityQueue::count — Counts the number of elements in the queue.
  • SplPriorityQueue::current — Return current node pointed by the iterator
  • SplPriorityQueue::extract — Extracts a node from top of the heap and shift up.
  • SplPriorityQueue::insert — Inserts an element in the queue by sifting it up.
  • SplPriorityQueue::isEmpty — Checks whether the queue is empty.
  • SplPriorityQueue::key — Return current node index
  • SplPriorityQueue::next — Move to the next node
  • SplPriorityQueue::recoverFromCorruption — Recover from the corrupted state and allow further actions on the queue.
  • SplPriorityQueue::rewind — Rewind iterator back to the start (no-op)
  • SplPriorityQueue::setExtractFlags — Sets the mode of extraction
  • SplPriorityQueue::top — Peeks at the node from the top of the queue
  • SplPriorityQueue::valid — Check whether the queue contains more nodes
SplMinHeap::compare
SplPriorityQueue::compare
Datenstrukturen


Compare priorities in order to place elements correctly in the heap while sifting up.

SplPriorityQueue
SplPriorityQueue::__construct
SplPriorityQueue
PHP Manual

SplPriorityQueue::compare

(PHP 5 >= 5.3.0, PHP 7)

SplPriorityQueue::compare — Compare priorities in order to place elements correctly in the heap while sifting up.

Beschreibung

public int SplPriorityQueue::compare ( mixed $priority1 , mixed $priority2 )

Compare priority1 with priority2.

Parameter-Liste

priority1

The priority of the first node being compared.

priority2

The priority of the second node being compared.

Rückgabewerte

Result of the comparison, positive integer if priority1 is greater than priority2, 0 if they are equal, negative integer otherwise.

Hinweis:

Multiple elements with the same priority will get dequeued in no particular order.

SplPriorityQueue
SplPriorityQueue::__construct
SplPriorityQueue


Constructs a new empty queue

SplPriorityQueue::compare
SplPriorityQueue::count
SplPriorityQueue
PHP Manual

SplPriorityQueue::__construct

(PHP 5 >= 5.3.0, PHP 7)

SplPriorityQueue::__construct — Constructs a new empty queue

Beschreibung

public SplPriorityQueue::__construct ( void )

This constructs a new empty queue.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SplPriorityQueue::compare
SplPriorityQueue::count
SplPriorityQueue


Counts the number of elements in the queue.

SplPriorityQueue::__construct
SplPriorityQueue::current
SplPriorityQueue
PHP Manual

SplPriorityQueue::count

(PHP 5 >= 5.3.0, PHP 7)

SplPriorityQueue::count — Counts the number of elements in the queue.

Beschreibung

public int SplPriorityQueue::count ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the number of elements in the queue.

SplPriorityQueue::__construct
SplPriorityQueue::current
SplPriorityQueue


Return current node pointed by the iterator

SplPriorityQueue::count
SplPriorityQueue::extract
SplPriorityQueue
PHP Manual

SplPriorityQueue::current

(PHP 5 >= 5.3.0, PHP 7)

SplPriorityQueue::current — Return current node pointed by the iterator

Beschreibung

public mixed SplPriorityQueue::current ( void )

Get the current datastructure node.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The value or priority (or both) of the current node, depending on the extract flag.

SplPriorityQueue::count
SplPriorityQueue::extract
SplPriorityQueue


Extracts a node from top of the heap and shift up.

SplPriorityQueue::current
SplPriorityQueue::insert
SplPriorityQueue
PHP Manual

SplPriorityQueue::extract

(PHP 5 >= 5.3.0, PHP 7)

SplPriorityQueue::extract — Extracts a node from top of the heap and shift up.

Beschreibung

public mixed SplPriorityQueue::extract ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The value or priority (or both) of the extracted node, depending on the extract flag.

SplPriorityQueue::current
SplPriorityQueue::insert
SplPriorityQueue


Inserts an element in the queue by sifting it up.

SplPriorityQueue::extract
SplPriorityQueue::isEmpty
SplPriorityQueue
PHP Manual

SplPriorityQueue::insert

(PHP 5 >= 5.3.0, PHP 7)

SplPriorityQueue::insert — Inserts an element in the queue by sifting it up.

Beschreibung

public void SplPriorityQueue::insert ( mixed $value , mixed $priority )

Insert value with the priority priority in the queue.

Parameter-Liste

value

The value to insert.

priority

The associated priority.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SplPriorityQueue::extract
SplPriorityQueue::isEmpty
SplPriorityQueue


Checks whether the queue is empty.

SplPriorityQueue::insert
SplPriorityQueue::key
SplPriorityQueue
PHP Manual

SplPriorityQueue::isEmpty

(PHP 5 >= 5.3.0, PHP 7)

SplPriorityQueue::isEmpty — Checks whether the queue is empty.

Beschreibung

public bool SplPriorityQueue::isEmpty ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns whether the queue is empty.

SplPriorityQueue::insert
SplPriorityQueue::key
SplPriorityQueue


Return current node index

SplPriorityQueue::isEmpty
SplPriorityQueue::next
SplPriorityQueue
PHP Manual

SplPriorityQueue::key

(PHP 5 >= 5.3.0, PHP 7)

SplPriorityQueue::key — Return current node index

Beschreibung

public mixed SplPriorityQueue::key ( void )

This function returns the current node index

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current node index.

SplPriorityQueue::isEmpty
SplPriorityQueue::next
SplPriorityQueue


Move to the next node

SplPriorityQueue::key
SplPriorityQueue::recoverFromCorruption
SplPriorityQueue
PHP Manual

SplPriorityQueue::next

(PHP 5 >= 5.3.0, PHP 7)

SplPriorityQueue::next — Move to the next node

Beschreibung

public void SplPriorityQueue::next ( void )

Extracts the top node from the queue.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SplPriorityQueue::key
SplPriorityQueue::recoverFromCorruption
SplPriorityQueue


Recover from the corrupted state and allow further actions on the queue.

SplPriorityQueue::next
SplPriorityQueue::rewind
SplPriorityQueue
PHP Manual

SplPriorityQueue::recoverFromCorruption

(PHP 5 >= 5.3.0, PHP 7)

SplPriorityQueue::recoverFromCorruption — Recover from the corrupted state and allow further actions on the queue.

Beschreibung

public void SplPriorityQueue::recoverFromCorruption ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SplPriorityQueue::next
SplPriorityQueue::rewind
SplPriorityQueue


Rewind iterator back to the start (no-op)

SplPriorityQueue::recoverFromCorruption
SplPriorityQueue::setExtractFlags
SplPriorityQueue
PHP Manual

SplPriorityQueue::rewind

(PHP 5 >= 5.3.0, PHP 7)

SplPriorityQueue::rewind — Rewind iterator back to the start (no-op)

Beschreibung

public void SplPriorityQueue::rewind ( void )

This rewinds the iterator to the beginning. This is a no-op for heaps as the iterator is virtual and in fact never moves from the top of the heap.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SplPriorityQueue::recoverFromCorruption
SplPriorityQueue::setExtractFlags
SplPriorityQueue


Sets the mode of extraction

SplPriorityQueue::rewind
SplPriorityQueue::top
SplPriorityQueue
PHP Manual

SplPriorityQueue::setExtractFlags

(PHP 5 >= 5.3.0, PHP 7)

SplPriorityQueue::setExtractFlags — Sets the mode of extraction

Beschreibung

public void SplPriorityQueue::setExtractFlags ( int $flags )

Parameter-Liste

flags

Defines what is extracted by SplPriorityQueue::current(),
SplPriorityQueue::top() and
SplPriorityQueue::extract().

  • SplPriorityQueue::EXTR_DATA (0x00000001): Extract the data
  • SplPriorityQueue::EXTR_PRIORITY (0x00000002): Extract the priority
  • SplPriorityQueue::EXTR_BOTH (0x00000003): Extract an array containing both

The default mode is SplPriorityQueue::EXTR_DATA.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SplPriorityQueue::rewind
SplPriorityQueue::top
SplPriorityQueue


Peeks at the node from the top of the queue

SplPriorityQueue::setExtractFlags
SplPriorityQueue::valid
SplPriorityQueue
PHP Manual

SplPriorityQueue::top

(PHP 5 >= 5.3.0, PHP 7)

SplPriorityQueue::top — Peeks at the node from the top of the queue

Beschreibung

public mixed SplPriorityQueue::top ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The value or priority (or both) of the top node, depending on the extract flag.

SplPriorityQueue::setExtractFlags
SplPriorityQueue::valid
SplPriorityQueue


Check whether the queue contains more nodes

SplPriorityQueue::top
SplFixedArray
SplPriorityQueue
PHP Manual

SplPriorityQueue::valid

(PHP 5 >= 5.3.0, PHP 7)

SplPriorityQueue::valid — Check whether the queue contains more nodes

Beschreibung

public bool SplPriorityQueue::valid ( void )

Checks if the queue contains any more nodes.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the queue contains any more nodes, FALSE otherwise.

SplPriorityQueue::top
SplFixedArray
SplPriorityQueue


The SplFixedArray class

(PHP 5 >= 5.3.0, PHP 7)

Einführung

The SplFixedArray class provides the main functionalities of array. The main differences between a SplFixedArray and a normal PHP array is that the SplFixedArray is of fixed length and allows only integers within the range as indexes. The advantage is that it allows a faster array implementation.

Klassenbeschreibung

SplFixedArray implements Iterator , ArrayAccess , Countable {
/* Methoden */
public __construct ([ int $size = 0 ] )
public int count ( void )
public mixed current ( void )
public static SplFixedArray fromArray ( array $array [, bool $save_indexes = true ] )
public int getSize ( void )
public int key ( void )
public void next ( void )
public bool offsetExists ( int $index )
public mixed offsetGet ( int $index )
public void offsetSet ( int $index , mixed $newval )
public void offsetUnset ( int $index )
public void rewind ( void )
public int setSize ( int $size )
public array toArray ( void )
public bool valid ( void )
public void __wakeup ( void )
}

Beispiele

Beispiel #1 SplFixedArray usage example

<?php
// Initialize the array with a fixed length
$array = new SplFixedArray(5);

$array[1] = 2;
$array[4] = "foo";

var_dump($array[0]); // NULL
var_dump($array[1]); // int(2)

var_dump($array["4"]); // string(3) "foo"

// Increase the size of the array to 10
$array->setSize(10);

$array[9] = "asdf";

// Shrink the array to a size of 2
$array->setSize(2);

// The following lines throw a RuntimeException: Index invalid or out of range
try {
    var_dump($array["non-numeric"]);
} catch(RuntimeException $re) {
    echo "RuntimeException: ".$re->getMessage()."\n";
}

try {
    var_dump($array[-1]);
} catch(RuntimeException $re) {
    echo "RuntimeException: ".$re->getMessage()."\n";
}

try {
    var_dump($array[5]);
} catch(RuntimeException $re) {
    echo "RuntimeException: ".$re->getMessage()."\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

NULL
int(2)
string(3) "foo"
RuntimeException: Index invalid or out of range
RuntimeException: Index invalid or out of range
RuntimeException: Index invalid or out of range

Inhaltsverzeichnis

  • SplFixedArray::__construct — Constructs a new fixed array
  • SplFixedArray::count — Returns the size of the array
  • SplFixedArray::current — Return current array entry
  • SplFixedArray::fromArray — Import a PHP array in a SplFixedArray instance
  • SplFixedArray::getSize — Gets the size of the array
  • SplFixedArray::key — Return current array index
  • SplFixedArray::next — Move to next entry
  • SplFixedArray::offsetExists — Returns whether the requested index exists
  • SplFixedArray::offsetGet — Returns the value at the specified index
  • SplFixedArray::offsetSet — Sets a new value at a specified index
  • SplFixedArray::offsetUnset — Unsets the value at the specified $index
  • SplFixedArray::rewind — Rewind iterator back to the start
  • SplFixedArray::setSize — Change the size of an array
  • SplFixedArray::toArray — Returns a PHP array from the fixed array
  • SplFixedArray::valid — Check whether the array contains more elements
  • SplFixedArray::__wakeup — Reinitialises the array after being unserialised
SplPriorityQueue::valid
SplFixedArray::__construct
Datenstrukturen


Constructs a new fixed array

SplFixedArray
SplFixedArray::count
SplFixedArray
PHP Manual

SplFixedArray::__construct

(PHP 5 >= 5.3.0, PHP 7)

SplFixedArray::__construct — Constructs a new fixed array

Beschreibung

public SplFixedArray::__construct ([ int $size = 0 ] )

Initializes a fixed array with a number of NULL values equal to size.

Parameter-Liste

size

The size of the fixed array. This expects a number between 0 and PHP_INT_MAX.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

Throws InvalidArgumentException when size is a negative number.

Raises E_WARNING when size cannot be parsed as a number.

Beispiele

Beispiel #1 SplFixedArray::__construct() example

<?php
$array = new SplFixedArray(5);

$array[1] = 2;
$array[4] = "foo";

foreach($array as $v) {
  var_dump($v);
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

NULL
int(2)
NULL
NULL
string(3) "foo"

SplFixedArray
SplFixedArray::count
SplFixedArray


Returns the size of the array

SplFixedArray::__construct
SplFixedArray::current
SplFixedArray
PHP Manual

SplFixedArray::count

(PHP 5 >= 5.3.0, PHP 7)

SplFixedArray::count — Returns the size of the array

Beschreibung

public int SplFixedArray::count ( void )

Returns the size of the array.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the size of the array.

Beispiele

Beispiel #1 SplFixedArray::count() example

<?php
$array = new SplFixedArray(5);
echo $array->count() . "\n";
echo count($array) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

5
5

Anmerkungen

Hinweis:

This method is functionally equivalent to SplFixedArray::getSize().

Hinweis:

The count of elements is always equal to the set size because all values are initially initialized with NULL.

Siehe auch

  • SplFixedArray::getSize() - Gets the size of the array
SplFixedArray::__construct
SplFixedArray::current
SplFixedArray


Return current array entry

SplFixedArray::count
SplFixedArray::fromArray
SplFixedArray
PHP Manual

SplFixedArray::current

(PHP 5 >= 5.3.0, PHP 7)

SplFixedArray::current — Return current array entry

Beschreibung

public mixed SplFixedArray::current ( void )

Get the current array element.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current element value.

Fehler/Exceptions

Throws RuntimeException when the internal array pointer points to an invalid index or is out of bounds.

SplFixedArray::count
SplFixedArray::fromArray
SplFixedArray


Import a PHP array in a SplFixedArray instance

SplFixedArray::current
SplFixedArray::getSize
SplFixedArray
PHP Manual

SplFixedArray::fromArray

(PHP 5 >= 5.3.0, PHP 7)

SplFixedArray::fromArray — Import a PHP array in a SplFixedArray instance

Beschreibung

public static SplFixedArray SplFixedArray::fromArray ( array $array [, bool $save_indexes = true ] )

Import the PHP array array in a new SplFixedArray instance

Parameter-Liste

array

The array to import.

save_indexes

Try to save the numeric indexes used in the original array.

Rückgabewerte

Returns an instance of SplFixedArray containing the array content.

Beispiele

Beispiel #1 SplFixedArray::fromArray() example

<?php
$fa = SplFixedArray::fromArray(array(1 => 1, 0 => 2, 3 => 3));

var_dump($fa);

$fa = SplFixedArray::fromArray(array(1 => 1, 0 => 2, 3 => 3), false);

var_dump($fa);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(SplFixedArray)#1 (4) {
  [0]=>
  int(2)
  [1]=>
  int(1)
  [2]=>
  NULL
  [3]=>
  int(3)
}
object(SplFixedArray)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}

SplFixedArray::current
SplFixedArray::getSize
SplFixedArray


Gets the size of the array

SplFixedArray::fromArray
SplFixedArray::key
SplFixedArray
PHP Manual

SplFixedArray::getSize

(PHP 5 >= 5.3.0, PHP 7)

SplFixedArray::getSize — Gets the size of the array

Beschreibung

public int SplFixedArray::getSize ( void )

Gets the size of the array.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the size of the array, as an integer.

Beispiele

Beispiel #1 SplFixedArray::getSize() example

<?php
$array = new SplFixedArray(5);
echo $array->getSize()."\n";
$array->setSize(10);
echo $array->getSize()."\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

5
10

Anmerkungen

Hinweis:

This method is functionally equivalent to SplFixedArray::count()

Siehe auch

  • SplFixedArray::count() - Returns the size of the array
SplFixedArray::fromArray
SplFixedArray::key
SplFixedArray


Return current array index

SplFixedArray::getSize
SplFixedArray::next
SplFixedArray
PHP Manual

SplFixedArray::key

(PHP 5 >= 5.3.0, PHP 7)

SplFixedArray::key — Return current array index

Beschreibung

public int SplFixedArray::key ( void )

Returns the current array index.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current array index.

SplFixedArray::getSize
SplFixedArray::next
SplFixedArray


Move to next entry

SplFixedArray::key
SplFixedArray::offsetExists
SplFixedArray
PHP Manual

SplFixedArray::next

(PHP 5 >= 5.3.0, PHP 7)

SplFixedArray::next — Move to next entry

Beschreibung

public void SplFixedArray::next ( void )

Move the iterator to the next array entry.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SplFixedArray::key
SplFixedArray::offsetExists
SplFixedArray


Returns whether the requested index exists

SplFixedArray::next
SplFixedArray::offsetGet
SplFixedArray
PHP Manual

SplFixedArray::offsetExists

(PHP 5 >= 5.3.0, PHP 7)

SplFixedArray::offsetExists — Returns whether the requested index exists

Beschreibung

public bool SplFixedArray::offsetExists ( int $index )

Checks whether the requested index index exists.

Parameter-Liste

index

The index being checked.

Rückgabewerte

TRUE if the requested index exists, otherwise FALSE

SplFixedArray::next
SplFixedArray::offsetGet
SplFixedArray


Returns the value at the specified index

SplFixedArray::offsetExists
SplFixedArray::offsetSet
SplFixedArray
PHP Manual

SplFixedArray::offsetGet

(PHP 5 >= 5.3.0, PHP 7)

SplFixedArray::offsetGet — Returns the value at the specified index

Beschreibung

public mixed SplFixedArray::offsetGet ( int $index )

Returns the value at the index index.

Parameter-Liste

index

The index with the value.

Rückgabewerte

The value at the specified index.

Fehler/Exceptions

Throws RuntimeException when index is outside the defined size of the array or when index cannot be parsed as an integer.

SplFixedArray::offsetExists
SplFixedArray::offsetSet
SplFixedArray


Sets a new value at a specified index

SplFixedArray::offsetGet
SplFixedArray::offsetUnset
SplFixedArray
PHP Manual

SplFixedArray::offsetSet

(PHP 5 >= 5.3.0, PHP 7)

SplFixedArray::offsetSet — Sets a new value at a specified index

Beschreibung

public void SplFixedArray::offsetSet ( int $index , mixed $newval )

Sets the value at the specified index to newval.

Parameter-Liste

index

The index being set.

newval

The new value for the index.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

Throws RuntimeException when index is outside the defined size of the array or when index cannot be parsed as an integer.

SplFixedArray::offsetGet
SplFixedArray::offsetUnset
SplFixedArray


Unsets the value at the specified $index

SplFixedArray::offsetSet
SplFixedArray::rewind
SplFixedArray
PHP Manual

SplFixedArray::offsetUnset

(PHP 5 >= 5.3.0, PHP 7)

SplFixedArray::offsetUnset — Unsets the value at the specified $index

Beschreibung

public void SplFixedArray::offsetUnset ( int $index )

Unsets the value at the specified index.

Parameter-Liste

index

The index being unset.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

Throws RuntimeException when index is outside the defined size of the array or when index cannot be parsed as an integer.

SplFixedArray::offsetSet
SplFixedArray::rewind
SplFixedArray


Rewind iterator back to the start

SplFixedArray::offsetUnset
SplFixedArray::setSize
SplFixedArray
PHP Manual

SplFixedArray::rewind

(PHP 5 >= 5.3.0, PHP 7)

SplFixedArray::rewind — Rewind iterator back to the start

Beschreibung

public void SplFixedArray::rewind ( void )

Rewinds the iterator to the beginning.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SplFixedArray::offsetUnset
SplFixedArray::setSize
SplFixedArray


Change the size of an array

SplFixedArray::rewind
SplFixedArray::toArray
SplFixedArray
PHP Manual

SplFixedArray::setSize

(PHP 5 >= 5.3.0, PHP 7)

SplFixedArray::setSize — Change the size of an array

Beschreibung

public int SplFixedArray::setSize ( int $size )

Change the size of an array to the new size of size. If size is less than the current array size, any values after the new size will be discarded. If size is greater than the current array size, the array will be padded with NULL values.

Parameter-Liste

size

The new array size. This should be a value between 0 and PHP_INT_MAX.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

Throws InvalidArgumentException when size is less than zero.

Raises E_WARNING when size cannot be used as a number.

Beispiele

Beispiel #1 SplFixedArray::setSize() example

<?php
   $array = new SplFixedArray(5);
   echo $array->getSize()."\n";
   $array->setSize(10);
   echo $array->getSize()."\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

5
10

SplFixedArray::rewind
SplFixedArray::toArray
SplFixedArray


Returns a PHP array from the fixed array

SplFixedArray::setSize
SplFixedArray::valid
SplFixedArray
PHP Manual

SplFixedArray::toArray

(PHP 5 >= 5.3.0, PHP 7)

SplFixedArray::toArray — Returns a PHP array from the fixed array

Beschreibung

public array SplFixedArray::toArray ( void )

Returns a PHP array from the fixed array.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a PHP array, similar to the fixed array.

Beispiele

Beispiel #1 SplFixedArray::toArray() example

<?php
$fa = new SplFixedArray(3);
$fa[0] = 0;
$fa[2] = 2;
var_dump($fa->toArray());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(3) {
  [0]=>
  int(0)
  [1]=>
  NULL
  [2]=>
  int(2)
}

SplFixedArray::setSize
SplFixedArray::valid
SplFixedArray


Check whether the array contains more elements

SplFixedArray::toArray
SplFixedArray::__wakeup
SplFixedArray
PHP Manual

SplFixedArray::valid

(PHP 5 >= 5.3.0, PHP 7)

SplFixedArray::valid — Check whether the array contains more elements

Beschreibung

public bool SplFixedArray::valid ( void )

Checks if the array contains any more elements.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the array contains any more elements, FALSE otherwise.

SplFixedArray::toArray
SplFixedArray::__wakeup
SplFixedArray


Reinitialises the array after being unserialised

SplFixedArray::valid
SplObjectStorage
SplFixedArray
PHP Manual

SplFixedArray::__wakeup

(PHP 5 >= 5.5.0, PHP 7)

SplFixedArray::__wakeup — Reinitialises the array after being unserialised

Beschreibung

public void SplFixedArray::__wakeup ( void )

Reinitialises the array after being unserialised.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SplFixedArray::valid
SplObjectStorage
SplFixedArray


The SplObjectStorage class

(PHP 5 >= 5.3.0, PHP 7)

Einführung

The SplObjectStorage class provides a map from objects to data or, by ignoring data, an object set. This dual purpose can be useful in many cases involving the need to uniquely identify objects.

Klassenbeschreibung

SplObjectStorage implements Countable , Iterator , Serializable , ArrayAccess {
/* Methoden */
public void addAll ( SplObjectStorage $storage )
public void attach ( object $object [, mixed $data = NULL ] )
public bool contains ( object $object )
public int count ( void )
public object current ( void )
public void detach ( object $object )
public string getHash ( object $object )
public mixed getInfo ( void )
public int key ( void )
public void next ( void )
public bool offsetExists ( object $object )
public mixed offsetGet ( object $object )
public void offsetSet ( object $object [, mixed $data = NULL ] )
public void offsetUnset ( object $object )
public void removeAll ( SplObjectStorage $storage )
public void removeAllExcept ( SplObjectStorage $storage )
public void rewind ( void )
public string serialize ( void )
public void setInfo ( mixed $data )
public void unserialize ( string $serialized )
public bool valid ( void )
}

Beispiele

Beispiel #1 SplObjectStorage as a set

<?php
// As an object set
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;
$o3 = new StdClass;

$s->attach($o1);
$s->attach($o2);

var_dump($s->contains($o1));
var_dump($s->contains($o2));
var_dump($s->contains($o3));

$s->detach($o2);

var_dump($s->contains($o1));
var_dump($s->contains($o2));
var_dump($s->contains($o3));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(true)
bool(false)
bool(true)
bool(false)
bool(false)

Beispiel #2 SplObjectStorage as a map

<?php
// As a map from objects to data
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;
$o3 = new StdClass;

$s[$o1] = "data for object 1";
$s[$o2] = array(1,2,3);

if (isset($s[$o2])) {
    var_dump($s[$o2]);
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}

Inhaltsverzeichnis

  • SplObjectStorage::addAll — Adds all objects from another storage
  • SplObjectStorage::attach — Adds an object in the storage
  • SplObjectStorage::contains — Checks if the storage contains a specific object
  • SplObjectStorage::count — Returns the number of objects in the storage
  • SplObjectStorage::current — Returns the current storage entry
  • SplObjectStorage::detach — Removes an object from the storage
  • SplObjectStorage::getHash — Calculate a unique identifier for the contained objects
  • SplObjectStorage::getInfo — Returns the data associated with the current iterator entry
  • SplObjectStorage::key — Returns the index at which the iterator currently is
  • SplObjectStorage::next — Move to the next entry
  • SplObjectStorage::offsetExists — Checks whether an object exists in the storage
  • SplObjectStorage::offsetGet — Returns the data associated with an object
  • SplObjectStorage::offsetSet — Associates data to an object in the storage
  • SplObjectStorage::offsetUnset — Removes an object from the storage
  • SplObjectStorage::removeAll — Removes objects contained in another storage from the current storage
  • SplObjectStorage::removeAllExcept — Removes all objects except for those contained in another storage from the current storage
  • SplObjectStorage::rewind — Rewind the iterator to the first storage element
  • SplObjectStorage::serialize — Serializes the storage
  • SplObjectStorage::setInfo — Sets the data associated with the current iterator entry
  • SplObjectStorage::unserialize — Unserializes a storage from its string representation
  • SplObjectStorage::valid — Returns if the current iterator entry is valid
SplFixedArray::__wakeup
SplObjectStorage::addAll
Datenstrukturen


Adds all objects from another storage

SplObjectStorage
SplObjectStorage::attach
SplObjectStorage
PHP Manual

SplObjectStorage::addAll

(PHP 5 >= 5.3.0, PHP 7)

SplObjectStorage::addAll — Adds all objects from another storage

Beschreibung

public void SplObjectStorage::addAll ( SplObjectStorage $storage )

Adds all objects-data pairs from a different storage in the current storage.

Parameter-Liste

storage

The storage you want to import.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 SplObjectStorage::addAll() example

<?php
$o = new StdClass;
$a = new SplObjectStorage();
$a[$o] = "hello";

$b = new SplObjectStorage();
$b->addAll($a);
echo $b[$o]."\n";
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

hello

Siehe auch

  • SplObjectStorage::removeAll() - Removes objects contained in another storage from the current storage

SplObjectStorage
SplObjectStorage::attach
SplObjectStorage


Adds an object in the storage

SplObjectStorage::addAll
SplObjectStorage::contains
SplObjectStorage
PHP Manual

SplObjectStorage::attach

(PHP 5 >= 5.1.0, PHP 7)

SplObjectStorage::attach — Adds an object in the storage

Beschreibung

public void SplObjectStorage::attach ( object $object [, mixed $data = NULL ] )

Adds an object inside the storage, and optionally associate it to some data.

Parameter-Liste

object

The object to add.

data

The data to associate with the object.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 SplObjectStorage::attach() example

<?php
$o1 = new StdClass;
$o2 = new StdClass;
$s = new SplObjectStorage();
$s->attach($o1); // similar to $s[$o1] = NULL;
$s->attach($o2, "hello"); // similar to $s[$o2] = "hello";

var_dump($s[$o1]);
var_dump($s[$o2]);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

NULL
string(5) "hello"

Changelog

Version | Beschreibung
5.3.0 | Added the data parameter.

Siehe auch

  • SplObjectStorage::detach() - Removes an object from the storage
  • SplObjectStorage::offsetSet() - Associates data to an object in the storage

SplObjectStorage::addAll
SplObjectStorage::contains
SplObjectStorage


Checks if the storage contains a specific object

SplObjectStorage::attach
SplObjectStorage::count
SplObjectStorage
PHP Manual

SplObjectStorage::contains

(PHP 5 >= 5.1.0, PHP 7)

SplObjectStorage::contains — Checks if the storage contains a specific object

Beschreibung

public bool SplObjectStorage::contains ( object $object )

Checks if the storage contains the object provided.

Parameter-Liste

object

The object to look for.

Rückgabewerte

Returns TRUE if the object is in the storage, FALSE otherwise.

Beispiele

Beispiel #1 SplObjectStorage::contains() example

<?php
$o1 = new StdClass;
$o2 = new StdClass;

$s = new SplObjectStorage();

$s[$o1] = "hello";
var_dump($s->contains($o1));
var_dump($s->contains($o2));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(true)
bool(false)

Siehe auch

  • SplObjectStorage::offsetExists() - Checks whether an object exists in the storage

SplObjectStorage::attach
SplObjectStorage::count
SplObjectStorage


Returns the number of objects in the storage

SplObjectStorage::contains
SplObjectStorage::current
SplObjectStorage
PHP Manual

SplObjectStorage::count

(PHP 5 >= 5.1.0, PHP 7)

SplObjectStorage::count — Returns the number of objects in the storage

Beschreibung

public int SplObjectStorage::count ( void )

Counts the number of objects in the storage.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The number of objects in the storage.

Beispiele

Beispiel #1 SplObjectStorage::count() example

<?php
$s = new SplObjectStorage();
$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1);
$s->attach($o2);
$s->attach($o1);
var_dump($s->count());
var_dump(count($s));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(2)
int(2)

Siehe auch

  • SplObjectStorage::attach() - Adds an object in the storage
  • SplObjectStorage::detach() - Removes an object from the storage

SplObjectStorage::contains
SplObjectStorage::current
SplObjectStorage


Returns the current storage entry

SplObjectStorage::count
SplObjectStorage::detach
SplObjectStorage
PHP Manual

SplObjectStorage::current

(PHP 5 >= 5.1.0, PHP 7)

SplObjectStorage::current — Returns the current storage entry

Beschreibung

public object SplObjectStorage::current ( void )

Returns the current storage entry.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The object at the current iterator position.

Beispiele

Beispiel #1 SplObjectStorage::current() example

<?php
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
    $index  = $s->key();
    $object = $s->current(); // similar to current($s)
    $data   = $s->getInfo();

    var_dump($object);
    var_dump($data);
    $s->next();
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(stdClass)#2 (0) {
}
string(2) "d1"
object(stdClass)#3 (0) {
}
string(2) "d2"

Siehe auch

  • SplObjectStorage::rewind() - Rewind the iterator to the first storage element
  • SplObjectStorage::key() - Returns the index at which the iterator currently is
  • SplObjectStorage::next() - Move to the next entry
  • SplObjectStorage::valid() - Returns if the current iterator entry is valid
  • SplObjectStorage::getInfo() - Returns the data associated with the current iterator entry

SplObjectStorage::count
SplObjectStorage::detach
SplObjectStorage


Removes an object from the storage

SplObjectStorage::current
SplObjectStorage::getHash
SplObjectStorage
PHP Manual

SplObjectStorage::detach

(PHP 5 >= 5.1.0, PHP 7)

SplObjectStorage::detach — Removes an object from the storage

Beschreibung

public void SplObjectStorage::detach ( object $object )

Removes the object from the storage.

Parameter-Liste

object

The object to remove.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 SplObjectStorage::detach() example

<?php
$o = new StdClass;
$s = new SplObjectStorage();
$s->attach($o);
var_dump(count($s));
$s->detach($o);
var_dump(count($s));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(1)
int(0)

Siehe auch

  • SplObjectStorage::attach() - Adds an object in the storage
  • SplObjectStorage::removeAll() - Removes objects contained in another storage from the current storage

SplObjectStorage::current
SplObjectStorage::getHash
SplObjectStorage


Calculate a unique identifier for the contained objects

SplObjectStorage::detach
SplObjectStorage::getInfo
SplObjectStorage
PHP Manual

SplObjectStorage::getHash

(PHP 5 >= 5.4.0, PHP 7)

SplObjectStorage::getHash — Calculate a unique identifier for the contained objects

Beschreibung

public string SplObjectStorage::getHash ( object $object )

This method calculates an identifier for the objects added to an SplObjectStorage object.

The implementation in SplObjectStorage returns the same value as spl_object_hash().

The storage object will never contain more than one object with the same identifier. As such, it can be used to implement a set (a collection of unique values) where the quality of an object being unique is determined by the value returned by this function being unique.

Parameter-Liste

object

The object whose identifier is to be calculated.

Rückgabewerte

A string with the calculated identifier.

Fehler/Exceptions

A RuntimeException is thrown when the returned value is not a string.

Beispiele

Beispiel #1 SplObjectStorage::getHash() example

<?php
class OneSpecimenPerClassStorage extends SplObjectStorage {
    public function getHash($o) {
        return get_class($o);
    }
}
class A {}

$s = new OneSpecimenPerClassStorage;
$o1 = new stdClass;
$o2 = new stdClass;
$o3 = new A;

$s[$o1] = 1;
//$o2 is considered equal to $o1 so the value is replaced
$s[$o2] = 2;
$s[$o3] = 3;

//these are considered equal to the objects before
//so they can be used to access the values stored under them
$p1 = new stdClass;
$p2 = new A;
echo $s[$p1], "\n";
echo $s[$p2], "\n";
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

2
3

Siehe auch

  • spl_object_hash() - Return hash id for given object

SplObjectStorage::detach
SplObjectStorage::getInfo
SplObjectStorage


Returns the data associated with the current iterator entry

SplObjectStorage::getHash
SplObjectStorage::key
SplObjectStorage
PHP Manual

SplObjectStorage::getInfo

(PHP 5 >= 5.3.0, PHP 7)

SplObjectStorage::getInfo — Returns the data associated with the current iterator entry

Beschreibung

public mixed SplObjectStorage::getInfo ( void )

Returns the data, or info, associated with the object pointed by the current iterator position.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The data associated with the current iterator position.

Beispiele

Beispiel #1 SplObjectStorage::getInfo() example

<?php
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
    $index  = $s->key();
    $object = $s->current(); // similar to current($s)
    $data   = $s->getInfo();

    var_dump($object);
    var_dump($data);
    $s->next();
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(stdClass)#2 (0) {
}
string(2) "d1"
object(stdClass)#3 (0) {
}
string(2) "d2"

Siehe auch

  • SplObjectStorage::current() - Returns the current storage entry
  • SplObjectStorage::rewind() - Rewind the iterator to the first storage element
  • SplObjectStorage::key() - Returns the index at which the iterator currently is
  • SplObjectStorage::next() - Move to the next entry
  • SplObjectStorage::valid() - Returns if the current iterator entry is valid
  • SplObjectStorage::setInfo() - Sets the data associated with the current iterator entry

SplObjectStorage::getHash
SplObjectStorage::key
SplObjectStorage


Returns the index at which the iterator currently is

SplObjectStorage::getInfo
SplObjectStorage::next
SplObjectStorage
PHP Manual

SplObjectStorage::key

(PHP 5 >= 5.1.0, PHP 7)

SplObjectStorage::key — Returns the index at which the iterator currently is

Beschreibung

public int SplObjectStorage::key ( void )

Returns the index at which the iterator currently is.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The index corresponding to the position of the iterator.

Beispiele

Beispiel #1 SplObjectStorage::key() example

<?php
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
    $index  = $s->key();
    $object = $s->current(); // similar to current($s)

    var_dump($index);
    var_dump($object);
    $s->next();
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(0)
object(stdClass)#2 (0) {
}
int(1)
object(stdClass)#3 (0) {
}

Siehe auch

  • SplObjectStorage::rewind() - Rewind the iterator to the first storage element
  • SplObjectStorage::current() - Returns the current storage entry
  • SplObjectStorage::next() - Move to the next entry
  • SplObjectStorage::valid() - Returns if the current iterator entry is valid

SplObjectStorage::getInfo
SplObjectStorage::next
SplObjectStorage


Move to the next entry

SplObjectStorage::key
SplObjectStorage::offsetExists
SplObjectStorage
PHP Manual

SplObjectStorage::next

(PHP 5 >= 5.1.0, PHP 7)

SplObjectStorage::next — Move to the next entry

Beschreibung

public void SplObjectStorage::next ( void )

Moves the iterator to the next object in the storage.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 SplObjectStorage::next() example

<?php
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
    $index  = $s->key();
    $object = $s->current(); // similar to current($s)

    var_dump($index);
    var_dump($object);
    $s->next();
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(0)
object(stdClass)#2 (0) {
}
int(1)
object(stdClass)#3 (0) {
}

Siehe auch

  • SPLObjectStorage::rewind() - Rewind the iterator to the first storage element

SplObjectStorage::key
SplObjectStorage::offsetExists
SplObjectStorage


Checks whether an object exists in the storage

SplObjectStorage::next
SplObjectStorage::offsetGet
SplObjectStorage
PHP Manual

SplObjectStorage::offsetExists

(PHP 5 >= 5.3.0, PHP 7)

SplObjectStorage::offsetExists — Checks whether an object exists in the storage

Beschreibung

public bool SplObjectStorage::offsetExists ( object $object )

Checks whether an object exists in the storage.

Hinweis:

SplObjectStorage::offsetExists() is an alias of SplObjectStorage::contains().

Parameter-Liste

object

The object to look for.

Rückgabewerte

Returns TRUE if the object exists in the storage, and FALSE otherwise.

Beispiele

Beispiel #1 SplObjectStorage::offsetExists() example

<?php
$s = new SplObjectStorage;
$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1);

var_dump($s->offsetExists($o1)); // Similar to isset($s[$o1])
var_dump($s->offsetExists($o2)); // Similar to isset($s[$o2])
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(true)
bool(false)

Siehe auch

  • SplObjectStorage::offsetSet() - Associates data to an object in the storage
  • SplObjectStorage::offsetGet() - Returns the data associated with an object
  • SplObjectStorage::offsetUnset() - Removes an object from the storage

SplObjectStorage::next
SplObjectStorage::offsetGet
SplObjectStorage


Returns the data associated with an object

SplObjectStorage::offsetExists
SplObjectStorage::offsetSet
SplObjectStorage
PHP Manual

SplObjectStorage::offsetGet

(PHP 5 >= 5.3.0, PHP 7)

SplObjectStorage::offsetGet — Returns the data associated with an object

Beschreibung

public mixed SplObjectStorage::offsetGet ( object $object )

Returns the data associated with an object in the storage.

Parameter-Liste

object

The object to look for.

Rückgabewerte

The data previously associated with the object in the storage.

Fehler/Exceptions

Throws UnexpectedValueException when object could not be found.

Beispiele

Beispiel #1 SplObjectStorage::offsetGet() example

<?php
$s = new SplObjectStorage;

$o1 = new StdClass;
$o2 = new StdClass;

$s[$o1] = "hello";
$s->attach($o2);

var_dump($s->offsetGet($o1)); // Similar to $s[$o1]
var_dump($s->offsetGet($o2)); // Similar to $s[$o2]
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(5) "hello"
NULL

Siehe auch

  • SplObjectStorage::offsetSet() - Associates data to an object in the storage
  • SplObjectStorage::offsetExists() - Checks whether an object exists in the storage
  • SplObjectStorage::offsetUnset() - Removes an object from the storage

SplObjectStorage::offsetExists
SplObjectStorage::offsetSet
SplObjectStorage


Associates data to an object in the storage

SplObjectStorage::offsetGet
SplObjectStorage::offsetUnset
SplObjectStorage
PHP Manual

SplObjectStorage::offsetSet

(PHP 5 >= 5.3.0, PHP 7)

SplObjectStorage::offsetSet — Associates data to an object in the storage

Beschreibung

public void SplObjectStorage::offsetSet ( object $object [, mixed $data = NULL ] )

Associate data to an object in the storage.

Hinweis:

SplObjectStorage::offsetSet() is an alias of SplObjectStorage::attach().

Parameter-Liste

object

The object to associate data with.

data

The data to associate with the object.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 SplObjectStorage::offsetSet() example

<?php
$s = new SplObjectStorage;

$o1 = new StdClass;

$s->offsetSet($o1, "hello"); // Similar to $s[$o1] = "hello";

var_dump($s[$o1]);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(5) "hello"

Siehe auch

  • SplObjectStorage::attach() - Adds an object in the storage
  • SplObjectStorage::offsetGet() - Returns the data associated with an object
  • SplObjectStorage::offsetExists() - Checks whether an object exists in the storage
  • SplObjectStorage::offsetUnset() - Removes an object from the storage

SplObjectStorage::offsetGet
SplObjectStorage::offsetUnset
SplObjectStorage


Removes an object from the storage

SplObjectStorage::offsetSet
SplObjectStorage::removeAll
SplObjectStorage
PHP Manual

SplObjectStorage::offsetUnset

(PHP 5 >= 5.3.0, PHP 7)

SplObjectStorage::offsetUnset — Removes an object from the storage

Beschreibung

public void SplObjectStorage::offsetUnset ( object $object )

Removes an object from the storage.

Hinweis:

SplObjectStorage::offsetUnset() is an alias of SplObjectStorage::detach().

Parameter-Liste

object

The object to remove.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 SplObjectStorage::offsetUnset() example

<?php
$o = new StdClass;
$s = new SplObjectStorage();
$s->attach($o);
var_dump(count($s));
$s->offsetUnset($o); // Similar to unset($s[$o])
var_dump(count($s));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(1)
int(0)

Siehe auch

  • SplObjectStorage::offsetGet() - Returns the data associated with an object
  • SplObjectStorage::offsetSet() - Associates data to an object in the storage
  • SplObjectStorage::offsetExists() - Checks whether an object exists in the storage

SplObjectStorage::offsetSet
SplObjectStorage::removeAll
SplObjectStorage


Removes objects contained in another storage from the current storage

SplObjectStorage::offsetUnset
SplObjectStorage::removeAllExcept
SplObjectStorage
PHP Manual

SplObjectStorage::removeAll

(PHP 5 >= 5.3.0, PHP 7)

SplObjectStorage::removeAll — Removes objects contained in another storage from the current storage

Beschreibung

public void SplObjectStorage::removeAll ( SplObjectStorage $storage )

Removes objects contained in another storage from the current storage.

Parameter-Liste

storage

The storage containing the elements to remove.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 SplObjectStorage::removeAll() example

<?php
$o1 = new StdClass;
$o2 = new StdClass;
$a = new SplObjectStorage();
$a[$o1] = "foo";

$b = new SplObjectStorage();
$b[$o1] = "bar";
$b[$o2] = "gee";

var_dump(count($b));
$b->removeAll($a);
var_dump(count($b));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(2)
int(1)

Siehe auch

  • SplObjectStorage::addAll() - Adds all objects from another storage

SplObjectStorage::offsetUnset
SplObjectStorage::removeAllExcept
SplObjectStorage


Removes all objects except for those contained in another storage from the current storage

SplObjectStorage::removeAll
SplObjectStorage::rewind
SplObjectStorage
PHP Manual

SplObjectStorage::removeAllExcept

(PHP 5 >= 5.3.6, PHP 7)

SplObjectStorage::removeAllExcept — Removes all objects except for those contained in another storage from the current storage

Beschreibung

public void SplObjectStorage::removeAllExcept ( SplObjectStorage $storage )

Removes all objects except for those contained in another storage from the current storage.

Parameter-Liste

storage

The storage containing the elements to retain in the current storage.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 SplObjectStorage::removeAllExcept() example

<?php
$a = (object) 'a';
$b = (object) 'b';
$c = (object) 'c';

$foo = new SplObjectStorage;
$foo->attach($a);
$foo->attach($b);

$bar = new SplObjectStorage;
$bar->attach($b);
$bar->attach($c);

$foo->removeAllExcept($bar);
var_dump($foo->contains($a));
var_dump($foo->contains($b));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(false)
bool(true)

SplObjectStorage::removeAll
SplObjectStorage::rewind
SplObjectStorage


Rewind the iterator to the first storage element

SplObjectStorage::removeAllExcept
SplObjectStorage::serialize
SplObjectStorage
PHP Manual

SplObjectStorage::rewind

(PHP 5 >= 5.1.0, PHP 7)

SplObjectStorage::rewind — Rewind the iterator to the first storage element

Beschreibung

public void SplObjectStorage::rewind ( void )

Rewind the iterator to the first storage element.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 SplObjectStorage::rewind() example

<?php
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
    $index  = $s->key();
    $object = $s->current(); // similar to current($s)
    $data   = $s->getInfo();

    var_dump($object);
    var_dump($data);
    $s->next();
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(1)
int(0)

Siehe auch

  • SplObjectStorage::next() - Move to the next entry

SplObjectStorage::removeAllExcept
SplObjectStorage::serialize
SplObjectStorage


Serializes the storage

SplObjectStorage::rewind
SplObjectStorage::setInfo
SplObjectStorage
PHP Manual

SplObjectStorage::serialize

(PHP 5 >= 5.2.2, PHP 7)

SplObjectStorage::serialize — Serializes the storage

Beschreibung

public string SplObjectStorage::serialize ( void )

Returns a string representation of the storage.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A string representing the storage.

Beispiele

Beispiel #1 SplObjectStorage::serialize() example

<?php
$s = new SplObjectStorage;
$o = new StdClass;
$s[$o] = "data";

echo $s->serialize()."\n";
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

x:i:1;O:8:"stdClass":0:{},s:4:"data";;m:a:0:{}

Siehe auch

  • SplObjectStorage::unserialize() - Unserializes a storage from its string representation

SplObjectStorage::rewind
SplObjectStorage::setInfo
SplObjectStorage


Sets the data associated with the current iterator entry

SplObjectStorage::serialize
SplObjectStorage::unserialize
SplObjectStorage
PHP Manual

SplObjectStorage::setInfo

(PHP 5 >= 5.3.0, PHP 7)

SplObjectStorage::setInfo — Sets the data associated with the current iterator entry

Beschreibung

public void SplObjectStorage::setInfo ( mixed $data )

Associates data, or info, with the object currently pointed to by the iterator.

Parameter-Liste

data

The data to associate with the current iterator entry.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 SplObjectStorage::setInfo() example

<?php
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
    $s->setInfo("new");
    $s->next();
}
var_dump($s[$o1]);
var_dump($s[$o2]);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(3) "new"
string(3) "new"

Siehe auch

  • SplObjectStorage::current() - Returns the current storage entry
  • SplObjectStorage::rewind() - Rewind the iterator to the first storage element
  • SplObjectStorage::key() - Returns the index at which the iterator currently is
  • SplObjectStorage::next() - Move to the next entry
  • SplObjectStorage::valid() - Returns if the current iterator entry is valid
  • SplObjectStorage::getInfo() - Returns the data associated with the current iterator entry

SplObjectStorage::serialize
SplObjectStorage::unserialize
SplObjectStorage


Unserializes a storage from its string representation

SplObjectStorage::setInfo
SplObjectStorage::valid
SplObjectStorage
PHP Manual

SplObjectStorage::unserialize

(PHP 5 >= 5.2.2, PHP 7)

SplObjectStorage::unserialize — Unserializes a storage from its string representation

Beschreibung

public void SplObjectStorage::unserialize ( string $serialized )

Unserializes storage entries and attach them to the current storage.

Parameter-Liste

serialized

The serialized representation of a storage.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 SplObjectStorage::unserialize() example

<?php
$s1 = new SplObjectStorage;
$s2 = new SplObjectStorage;
$o = new StdClass;
$s1[$o] = "data";

$s2->unserialize($s1->serialize());

var_dump(count($s2));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(1)

Siehe auch

  • SplObjectStorage::serialize() - Serializes the storage

SplObjectStorage::setInfo
SplObjectStorage::valid
SplObjectStorage


Returns if the current iterator entry is valid

SplObjectStorage::unserialize
Iteratoren
SplObjectStorage
PHP Manual

SplObjectStorage::valid

(PHP 5 >= 5.1.0, PHP 7)

SplObjectStorage::valid — Returns if the current iterator entry is valid

Beschreibung

public bool SplObjectStorage::valid ( void )

Returns if the current iterator entry is valid.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the iterator entry is valid, FALSE otherwise.

Beispiele

Beispiel #1 SplObjectStorage::valid() example

<?php
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
    echo $s->key()."\n";
    $s->next();
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

0
1

Siehe auch

  • SplObjectStorage::current() - Returns the current storage entry
  • SplObjectStorage::getInfo() - Returns the data associated with the current iterator entry

SplObjectStorage::unserialize
Iteratoren
SplObjectStorage


Iteratoren

Inhaltsverzeichnis

  • AppendIterator
  • ArrayIterator
  • CachingIterator
  • CallbackFilterIterator
  • DirectoryIterator
  • EmptyIterator
  • FilesystemIterator
  • FilterIterator
  • GlobIterator
  • InfiniteIterator
  • IteratorIterator
  • LimitIterator
  • MultipleIterator
  • NoRewindIterator
  • ParentIterator
  • RecursiveArrayIterator
  • RecursiveCachingIterator
  • RecursiveCallbackFilterIterator
  • RecursiveDirectoryIterator
  • RecursiveFilterIterator
  • RecursiveIteratorIterator
  • RecursiveRegexIterator
  • RecursiveTreeIterator
  • RegexIterator

SPL bietet einige Iteratoren zum durchlaufen von Objekten an.

SPL Iterators Class Tree

  • ArrayIterator
    • RecursiveArrayIterator
  • EmptyIterator
  • IteratorIterator
    • AppendIterator
    • CachingIterator
      • RecursiveCachingIterator
    • FilterIterator
      • CallbackFilterIterator
        • RecursiveCallbackFilterIterator
      • RecursiveFilterIterator
        • ParentIterator
      • RegexIterator
        • RecursiveRegexIterator
    • InfiniteIterator
    • LimitIterator
    • NoRewindIterator
  • MultipleIterator
  • RecursiveIteratorIterator
    • RecursiveTreeIterator
  • DirectoryIterator (extends SplFileInfo)
    • FilesystemIterator
      • GlobIterator
      • RecursiveDirectoryIterator
SplObjectStorage::valid
AppendIterator
SPL


The AppendIterator class

(PHP 5 >= 5.1.0, PHP 7)

Einführung

An Iterator that iterates over several iterators one after the other.

Klassenbeschreibung

AppendIterator extends IteratorIterator implements OuterIterator {
/* Methoden */
public __construct ( void )
public void append ( Iterator $iterator )
public mixed current ( void )
public ArrayIterator getArrayIterator ( void )
public Iterator getInnerIterator ( void )
public int getIteratorIndex ( void )
public scalar key ( void )
public void next ( void )
public void rewind ( void )
public bool valid ( void )
/* Geerbte Methoden */
public IteratorIterator::__construct ( Traversable $iterator )
public mixed IteratorIterator::current ( void )
public Traversable IteratorIterator::getInnerIterator ( void )
public scalar IteratorIterator::key ( void )
public void IteratorIterator::next ( void )
public void IteratorIterator::rewind ( void )
public bool IteratorIterator::valid ( void )
}

Inhaltsverzeichnis

  • AppendIterator::append — Appends an iterator
  • AppendIterator::__construct — Constructs an AppendIterator
  • AppendIterator::current — Gets the current value
  • AppendIterator::getArrayIterator — Gets the ArrayIterator
  • AppendIterator::getInnerIterator — Gets the inner iterator
  • AppendIterator::getIteratorIndex — Gets an index of iterators
  • AppendIterator::key — Gets the current key
  • AppendIterator::next — Moves to the next element
  • AppendIterator::rewind — Rewinds the Iterator
  • AppendIterator::valid — Checks validity of the current element
Iteratoren
AppendIterator::append
Iteratoren


Appends an iterator

AppendIterator
AppendIterator::__construct
AppendIterator
PHP Manual

AppendIterator::append

(PHP 5 >= 5.1.0, PHP 7)

AppendIterator::append — Appends an iterator

Beschreibung

public void AppendIterator::append ( Iterator $iterator )

Appends an iterator.

Parameter-Liste

iterator

The iterator to append.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 AppendIterator::append() example

<?php
$array_a = new ArrayIterator(array('a', 'b', 'c'));
$array_b = new ArrayIterator(array('d', 'e', 'f'));

$iterator = new AppendIterator;
$iterator->append($array_a);
$iterator->append($array_b);

foreach ($iterator as $current) {
    echo $current;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

abcdef

Siehe auch

  • AppendIterator::__construct() - Constructs an AppendIterator

AppendIterator
AppendIterator::__construct
AppendIterator


Constructs an AppendIterator

AppendIterator::append
AppendIterator::current
AppendIterator
PHP Manual

AppendIterator::__construct

(PHP 5 >= 5.1.0, PHP 7)

AppendIterator::__construct — Constructs an AppendIterator

Beschreibung

public AppendIterator::__construct ( void )

Constructs an AppendIterator.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Iterating AppendIterator with foreach

<?php
$pizzas   = new ArrayIterator(array('Margarita', 'Siciliana', 'Hawaii'));
$toppings = new ArrayIterator(array('Cheese', 'Anchovies', 'Olives', 'Pineapple', 'Ham'));

$appendIterator = new AppendIterator;
$appendIterator->append($pizzas);
$appendIterator->append($toppings);

foreach ($appendIterator as $key => $item) {
    echo $key . ' => ' . $item . PHP_EOL;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

0 => Margarita
1 => Siciliana
2 => Hawaii
0 => Cheese
1 => Anchovies
2 => Olives
3 => Pineapple
4 => Ham

Beispiel #2 Iterating AppendIterator with the AppendIterator API

<?php
$pizzas   = new ArrayIterator(array('Margarita', 'Siciliana', 'Hawaii'));
$toppings = new ArrayIterator(array('Cheese', 'Anchovies', 'Olives', 'Pineapple', 'Ham'));

$appendIterator = new AppendIterator;
$appendIterator->append($pizzas);
$appendIterator->append($toppings);

while ($appendIterator->valid()) {
    printf(
        '%s => %s => %s%s',
        $appendIterator->getIteratorIndex(),
        $appendIterator->key(),
        $appendIterator->current(),
        PHP_EOL
    );
    $appendIterator->next();
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

0 => 0 => Margarita
0 => 1 => Siciliana
0 => 2 => Hawaii
1 => 0 => Cheese
1 => 1 => Anchovies
1 => 2 => Olives
1 => 3 => Pineapple
1 => 4 => Ham

Anmerkungen

Achtung

When using iterator_to_array() to copy the values of the AppendIterator into an array, you have to set the optional use_key argument to FALSE. When use_key is not FALSE any keys reoccuring in inner iterators will get overwritten in the returned array. There is no way to preserve the original keys.

Siehe auch

  • AppendIterator::append() - Appends an iterator

AppendIterator::append
AppendIterator::current
AppendIterator


Gets the current value

AppendIterator::__construct
AppendIterator::getArrayIterator
AppendIterator
PHP Manual

AppendIterator::current

(PHP 5 >= 5.1.0, PHP 7)

AppendIterator::current — Gets the current value

Beschreibung

public mixed AppendIterator::current ( void )

Gets the current value.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current value if it is valid or NULL otherwise.

Siehe auch

  • Iterator::current() - Gibt das aktuelle Element zurück
  • AppendIterator::key() - Gets the current key
  • AppendIterator::valid() - Checks validity of the current element
  • AppendIterator::next() - Moves to the next element
  • AppendIterator::rewind() - Rewinds the Iterator

AppendIterator::__construct
AppendIterator::getArrayIterator
AppendIterator


Gets the ArrayIterator

AppendIterator::current
AppendIterator::getInnerIterator
AppendIterator
PHP Manual

AppendIterator::getArrayIterator

(PHP 5 >= 5.1.0, PHP 7)

AppendIterator::getArrayIterator — Gets the ArrayIterator

Beschreibung

public ArrayIterator AppendIterator::getArrayIterator ( void )

This method gets the ArrayIterator that is used to store the iterators added with AppendIterator::append().

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an ArrayIterator containing the appended iterators.

Siehe auch

  • AppendIterator::getInnerIterator() - Gets the inner iterator

AppendIterator::current
AppendIterator::getInnerIterator
AppendIterator


Gets the inner iterator

AppendIterator::getArrayIterator
AppendIterator::getIteratorIndex
AppendIterator
PHP Manual

AppendIterator::getInnerIterator

(PHP 5 >= 5.1.0, PHP 7)

AppendIterator::getInnerIterator — Gets the inner iterator

Beschreibung

public Iterator AppendIterator::getInnerIterator ( void )

This method returns the current inner iterator.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current inner iterator, or NULL if there is not one.

Beispiele

Beispiel #1 AppendIterator::getInnerIterator() example

<?php
$array_a = new ArrayIterator(array('a' => 'aardwolf', 'b' => 'bear', 'c' => 'capybara'));
$array_b = new RegexIterator($array_a, '/^[ac]/');

$iterator = new AppendIterator;
$iterator->append($array_a);
$iterator->append($array_b);

foreach ($iterator as $current) {
    $inner = $iterator->getInnerIterator();
    if ($inner instanceOf RegexIterator) {
        echo 'Filtered: ';
    } else {
        echo 'Original: ';
    }
    echo $current . PHP_EOL;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Original: aardwolf
Original: bear
Original: capybara
Filtered: aardwolf
Filtered: capybara

Siehe auch

  • AppendIterator::getIteratorIndex() - Gets an index of iterators

AppendIterator::getArrayIterator
AppendIterator::getIteratorIndex
AppendIterator


Gets an index of iterators

AppendIterator::getInnerIterator
AppendIterator::key
AppendIterator
PHP Manual

AppendIterator::getIteratorIndex

(PHP 5 >= 5.1.0, PHP 7)

AppendIterator::getIteratorIndex — Gets an index of iterators

Beschreibung

public int AppendIterator::getIteratorIndex ( void )

Gets the index of the current inner iterator.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an integer, which is the zero-based index of the current inner iterator.

Beispiele

Beispiel #1 AppendIterator.getIteratorIndex() basic example

<?php
$array_a = new ArrayIterator(array('a' => 'aardwolf', 'b' => 'bear', 'c' => 'capybara'));
$array_b = new ArrayIterator(array('apple', 'orange', 'lemon'));

$iterator = new AppendIterator;
$iterator->append($array_a);
$iterator->append($array_b);

foreach ($iterator as $key => $current) {
    echo $iterator->getIteratorIndex() . '  ' . $key . ' ' . $current . PHP_EOL;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

0  a aardwolf
0  b bear
0  c capybara
1  0 apple
1  1 orange
1  2 lemon

Siehe auch

  • AppendIterator::getInnerIterator() - Gets the inner iterator
  • AppendIterator::getArrayIterator() - Gets the ArrayIterator

AppendIterator::getInnerIterator
AppendIterator::key
AppendIterator


Gets the current key

AppendIterator::getIteratorIndex
AppendIterator::next
AppendIterator
PHP Manual

AppendIterator::key

(PHP 5 >= 5.1.0, PHP 7)

AppendIterator::key — Gets the current key

Beschreibung

public scalar AppendIterator::key ( void )

Get the current key.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current key if it is valid or NULL otherwise.

Beispiele

Beispiel #1 AppendIterator::key() basic example

<?php
$array_a = new ArrayIterator(array('a' => 'aardwolf', 'b' => 'bear', 'c' => 'capybara'));
$array_b = new ArrayIterator(array('apple', 'orange', 'lemon'));

$iterator = new AppendIterator;
$iterator->append($array_a);
$iterator->append($array_b);

// Manual iteration
$iterator->rewind();
while ($iterator->valid()) {
    echo $iterator->key() . ' ' . $iterator->current() . PHP_EOL;
    $iterator->next();
}

echo PHP_EOL;

// With foreach
foreach ($iterator as $key => $current) {
    echo $key . ' ' . $current . PHP_EOL;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

a aardwolf
b bear
c capybara
0 apple
1 orange
2 lemon

a aardwolf
b bear
c capybara
0 apple
1 orange
2 lemon

Siehe auch

  • Iterator::key() - Gibt den Schlüssel des aktuellen Elements zurück
  • AppendIterator::current() - Gets the current value
  • AppendIterator::valid() - Checks validity of the current element
  • AppendIterator::next() - Moves to the next element
  • AppendIterator::rewind() - Rewinds the Iterator

AppendIterator::getIteratorIndex
AppendIterator::next
AppendIterator


Moves to the next element

AppendIterator::key
AppendIterator::rewind
AppendIterator
PHP Manual

AppendIterator::next

(PHP 5 >= 5.1.0, PHP 7)

AppendIterator::next — Moves to the next element

Beschreibung

public void AppendIterator::next ( void )

Moves to the next element. If this means to another Iterator then it rewinds that Iterator.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • Iterator::next() - Rückt den Zeiger auf das nächste Element vor
  • AppendIterator::current() - Gets the current value
  • AppendIterator::key() - Gets the current key
  • AppendIterator::valid() - Checks validity of the current element
  • AppendIterator::rewind() - Rewinds the Iterator

AppendIterator::key
AppendIterator::rewind
AppendIterator


Rewinds the Iterator

AppendIterator::next
AppendIterator::valid
AppendIterator
PHP Manual

AppendIterator::rewind

(PHP 5 >= 5.1.0, PHP 7)

AppendIterator::rewind — Rewinds the Iterator

Beschreibung

public void AppendIterator::rewind ( void )

Rewind to the first element of the first inner Iterator.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • Iterator::rewind() - Setzt den Iterator auf das erste Element zurück
  • AppendIterator::current() - Gets the current value
  • AppendIterator::key() - Gets the current key
  • AppendIterator::next() - Moves to the next element
  • AppendIterator::valid() - Checks validity of the current element

AppendIterator::next
AppendIterator::valid
AppendIterator


Checks validity of the current element

AppendIterator::rewind
ArrayIterator
AppendIterator
PHP Manual

AppendIterator::valid

(PHP 5 >= 5.1.0, PHP 7)

AppendIterator::valid — Checks validity of the current element

Beschreibung

public bool AppendIterator::valid ( void )

Checks validity of the current element.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the current iteration is valid, FALSE otherwise.

Siehe auch

  • AppendIterator::current() - Gets the current value
  • AppendIterator::key() - Gets the current key
  • AppendIterator::next() - Moves to the next element
  • AppendIterator::rewind() - Rewinds the Iterator

AppendIterator::rewind
ArrayIterator
AppendIterator


The ArrayIterator class

(PHP 5, PHP 7)

Einführung

This iterator allows to unset and modify values and keys while iterating over Arrays and Objects.

When you want to iterate over the same array multiple times you need to instantiate ArrayObject and let it create ArrayIterator instances that refer to it either by using foreach or by calling its getIterator() method manually.

Klassenbeschreibung

ArrayIterator implements ArrayAccess , SeekableIterator , Countable , Serializable {
/* Methoden */
public void append ( mixed $value )
public void asort ( void )
public __construct ([ mixed $array = array() [, int $flags = 0 ]] )
public int count ( void )
public mixed current ( void )
public array getArrayCopy ( void )
public void getFlags ( void )
public mixed key ( void )
public void ksort ( void )
public void natcasesort ( void )
public void natsort ( void )
public void next ( void )
public void offsetExists ( string $index )
public mixed offsetGet ( string $index )
public void offsetSet ( string $index , string $newval )
public void offsetUnset ( string $index )
public void rewind ( void )
public void seek ( int $position )
public string serialize ( void )
public void setFlags ( string $flags )
public void uasort ( string $cmp_function )
public void uksort ( string $cmp_function )
public string unserialize ( string $serialized )
public bool valid ( void )
}

Inhaltsverzeichnis

  • ArrayIterator::append — Append an element
  • ArrayIterator::asort — Sort array by values
  • ArrayIterator::__construct — Construct an ArrayIterator
  • ArrayIterator::count — Count elements
  • ArrayIterator::current — Return current array entry
  • ArrayIterator::getArrayCopy — Get array copy
  • ArrayIterator::getFlags — Get flags
  • ArrayIterator::key — Return current array key
  • ArrayIterator::ksort — Sort array by keys
  • ArrayIterator::natcasesort — Sort an array naturally, case insensitive
  • ArrayIterator::natsort — Sort an array naturally
  • ArrayIterator::next — Move to next entry
  • ArrayIterator::offsetExists — Check if offset exists
  • ArrayIterator::offsetGet — Get value for an offset
  • ArrayIterator::offsetSet — Set value for an offset
  • ArrayIterator::offsetUnset — Unset value for an offset
  • ArrayIterator::rewind — Rewind array back to the start
  • ArrayIterator::seek — Seek to position
  • ArrayIterator::serialize — Serialize
  • ArrayIterator::setFlags — Set behaviour flags
  • ArrayIterator::uasort — User defined sort
  • ArrayIterator::uksort — User defined sort
  • ArrayIterator::unserialize — Unserialize
  • ArrayIterator::valid — Check whether array contains more entries
AppendIterator::valid
ArrayIterator::append
Iteratoren


Append an element

ArrayIterator
ArrayIterator::asort
ArrayIterator
PHP Manual

ArrayIterator::append

(PHP 5 >= 5.0.0, PHP 7)

ArrayIterator::append — Append an element

Beschreibung

public void ArrayIterator::append ( mixed $value )

Appends value as the last element.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

value

The value to append.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Anmerkungen

Hinweis:

This method cannot be called when the ArrayIterator refers to an object.

Siehe auch

  • ArrayIterator::next() - Move to next entry

ArrayIterator
ArrayIterator::asort
ArrayIterator


Sort array by values

ArrayIterator::append
ArrayIterator::__construct
ArrayIterator
PHP Manual

ArrayIterator::asort

(PHP 5 >= 5.2.0, PHP 7)

ArrayIterator::asort — Sort array by values

Beschreibung

public void ArrayIterator::asort ( void )

Sorts an array by values.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • ArrayIterator::ksort() - Sort array by keys
  • ArrayIterator::natcasesort() - Sort an array naturally, case insensitive
  • ArrayIterator::natsort() - Sort an array naturally

ArrayIterator::append
ArrayIterator::__construct
ArrayIterator


Construct an ArrayIterator

ArrayIterator::asort
ArrayIterator::count
ArrayIterator
PHP Manual

ArrayIterator::__construct

(PHP 5 >= 5.0.0, PHP 7)

ArrayIterator::__construct — Construct an ArrayIterator

Beschreibung

public ArrayIterator::__construct ([ mixed $array = array() [, int $flags = 0 ]] )

Constructs an ArrayIterator object.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

array

The array or object to be iterated on.

flags

Flags to control the behaviour of the ArrayIterator object. See ArrayIterator::setFlags().

Rückgabewerte

An ArrayIterator object.

Fehler/Exceptions

ArrayIterator::__construct() throws an InvalidArgumentException if anything besides an array or an object is given.

Siehe auch

  • ArrayIterator::getArrayCopy() - Get array copy

ArrayIterator::asort
ArrayIterator::count
ArrayIterator


Count elements

ArrayIterator::__construct
ArrayIterator::current
ArrayIterator
PHP Manual

ArrayIterator::count

(PHP 5 >= 5.0.0, PHP 7)

ArrayIterator::count — Count elements

Beschreibung

public int ArrayIterator::count ( void )

Gets the number of elements in the array, or the number of public properties in the object.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The number of elements or public properties in the associated array or object, respectively.

Siehe auch

  • ArrayIterator::getFlags() - Get flags

ArrayIterator::__construct
ArrayIterator::current
ArrayIterator


Return current array entry

ArrayIterator::count
ArrayIterator::getArrayCopy
ArrayIterator
PHP Manual

ArrayIterator::current

(PHP 5 >= 5.0.0, PHP 7)

ArrayIterator::current — Return current array entry

Beschreibung

public mixed ArrayIterator::current ( void )

Get the current array entry.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current array entry.

Beispiele

Beispiel #1 ArrayIterator::current() example

<?php
$array = array('1' => 'one',
               '2' => 'two',
               '3' => 'three');

$arrayobject = new ArrayObject($array);

for($iterator = $arrayobject->getIterator();
    $iterator->valid();
    $iterator->next()) {

    echo $iterator->key() . ' => ' . $iterator->current() . "\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1 => one
2 => two
3 => three

ArrayIterator::count
ArrayIterator::getArrayCopy
ArrayIterator


Get array copy

ArrayIterator::current
ArrayIterator::getFlags
ArrayIterator
PHP Manual

ArrayIterator::getArrayCopy

(PHP 5 >= 5.0.0, PHP 7)

ArrayIterator::getArrayCopy — Get array copy

Beschreibung

public array ArrayIterator::getArrayCopy ( void )

Get a copy of an array.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A copy of the array, or array of public properties if ArrayIterator refers to an object.

Siehe auch

  • ArrayIterator::valid() - Check whether array contains more entries

ArrayIterator::current
ArrayIterator::getFlags
ArrayIterator


Get flags

ArrayIterator::getArrayCopy
ArrayIterator::key
ArrayIterator
PHP Manual

ArrayIterator::getFlags

(PHP 5 >= 5.1.0, PHP 7)

ArrayIterator::getFlags — Get flags

Beschreibung

public void ArrayIterator::getFlags ( void )

Get the current flags.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current flags.

Siehe auch

  • ArrayIterator::valid() - Check whether array contains more entries

ArrayIterator::getArrayCopy
ArrayIterator::key
ArrayIterator


Return current array key

ArrayIterator::getFlags
ArrayIterator::ksort
ArrayIterator
PHP Manual

ArrayIterator::key

(PHP 5 >= 5.0.0, PHP 7)

ArrayIterator::key — Return current array key

Beschreibung

public mixed ArrayIterator::key ( void )

This function returns the current array key

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current array key.

Beispiele

Beispiel #1 ArrayIterator::key() example

<?php
$array = array('key' => 'value');

$arrayobject = new ArrayObject($array);
$iterator = $arrayobject->getIterator();

echo $iterator->key(); //key
?>

ArrayIterator::getFlags
ArrayIterator::ksort
ArrayIterator


Sort array by keys

ArrayIterator::key
ArrayIterator::natcasesort
ArrayIterator
PHP Manual

ArrayIterator::ksort

(PHP 5 >= 5.2.0, PHP 7)

ArrayIterator::ksort — Sort array by keys

Beschreibung

public void ArrayIterator::ksort ( void )

Sorts an array by the keys.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • ArrayIterator::asort() - Sort array by values
  • ArrayIterator::natcasesort() - Sort an array naturally, case insensitive
  • ArrayIterator::natsort() - Sort an array naturally

ArrayIterator::key
ArrayIterator::natcasesort
ArrayIterator


Sort an array naturally, case insensitive

ArrayIterator::ksort
ArrayIterator::natsort
ArrayIterator
PHP Manual

ArrayIterator::natcasesort

(PHP 5 >= 5.2.0, PHP 7)

ArrayIterator::natcasesort — Sort an array naturally, case insensitive

Beschreibung

public void ArrayIterator::natcasesort ( void )

Sort the entries by values using a case insensitive "natural order" algorithm.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • ArrayIterator::asort() - Sort array by values
  • ArrayIterator::ksort() - Sort array by keys
  • ArrayIterator::natsort() - Sort an array naturally
  • natcasesort() - Sortiert ein Array in "natürlicher Reihenfolge", Groß/Kleinschreibung wird ignoriert

ArrayIterator::ksort
ArrayIterator::natsort
ArrayIterator


Sort an array naturally

ArrayIterator::natcasesort
ArrayIterator::next
ArrayIterator
PHP Manual

ArrayIterator::natsort

(PHP 5 >= 5.2.0, PHP 7)

ArrayIterator::natsort — Sort an array naturally

Beschreibung

public void ArrayIterator::natsort ( void )

Sort the entries by values using "natural order" algorithm.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • ArrayIterator::asort() - Sort array by values
  • ArrayIterator::ksort() - Sort array by keys
  • ArrayIterator::natcasesort() - Sort an array naturally, case insensitive
  • natsort() - Sortiert ein Array in "natürlicher Reihenfolge"

ArrayIterator::natcasesort
ArrayIterator::next
ArrayIterator


Move to next entry

ArrayIterator::natsort
ArrayIterator::offsetExists
ArrayIterator
PHP Manual

ArrayIterator::next

(PHP 5 >= 5.0.0, PHP 7)

ArrayIterator::next — Move to next entry

Beschreibung

public void ArrayIterator::next ( void )

The iterator to the next entry.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ArrayIterator::next() example

<?php
$arrayobject = new ArrayObject();

$arrayobject[] = 'zero';
$arrayobject[] = 'one';

$iterator = $arrayobject->getIterator();

while($iterator->valid()) {
    echo $iterator->key() . ' => ' . $iterator->current() . "\n";

    $iterator->next();
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

0 => zero
1 => one

ArrayIterator::natsort
ArrayIterator::offsetExists
ArrayIterator


Check if offset exists

ArrayIterator::next
ArrayIterator::offsetGet
ArrayIterator
PHP Manual

ArrayIterator::offsetExists

(PHP 5 >= 5.0.0, PHP 7)

ArrayIterator::offsetExists — Check if offset exists

Beschreibung

public void ArrayIterator::offsetExists ( string $index )

Checks if the offset exists.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

index

The offset being checked.

Rückgabewerte

TRUE if the offset exists, otherwise FALSE

Siehe auch

  • ArrayIterator::valid() - Check whether array contains more entries

ArrayIterator::next
ArrayIterator::offsetGet
ArrayIterator


Get value for an offset

ArrayIterator::offsetExists
ArrayIterator::offsetSet
ArrayIterator
PHP Manual

ArrayIterator::offsetGet

(PHP 5 >= 5.0.0, PHP 7)

ArrayIterator::offsetGet — Get value for an offset

Beschreibung

public mixed ArrayIterator::offsetGet ( string $index )

Gets the value from the provided offset.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

index

The offset to get the value from.

Rückgabewerte

The value at offset index.

Siehe auch

  • ArrayIterator::offsetSet() - Set value for an offset
  • ArrayIterator::offsetUnset() - Unset value for an offset

ArrayIterator::offsetExists
ArrayIterator::offsetSet
ArrayIterator


Set value for an offset

ArrayIterator::offsetGet
ArrayIterator::offsetUnset
ArrayIterator
PHP Manual

ArrayIterator::offsetSet

(PHP 5 >= 5.0.0, PHP 7)

ArrayIterator::offsetSet — Set value for an offset

Beschreibung

public void ArrayIterator::offsetSet ( string $index , string $newval )

Sets a value for a given offset.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

index

The index to set for.

newval

The new value to store at the index.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • ArrayIterator::offsetGet() - Get value for an offset
  • ArrayIterator::offsetUnset() - Unset value for an offset

ArrayIterator::offsetGet
ArrayIterator::offsetUnset
ArrayIterator


Unset value for an offset

ArrayIterator::offsetSet
ArrayIterator::rewind
ArrayIterator
PHP Manual

ArrayIterator::offsetUnset

(PHP 5 >= 5.0.0, PHP 7)

ArrayIterator::offsetUnset — Unset value for an offset

Beschreibung

public void ArrayIterator::offsetUnset ( string $index )

Unsets a value for an offset.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

index

The offset to unset.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • ArrayIterator::offsetGet() - Get value for an offset
  • ArrayIterator::offsetSet() - Set value for an offset

ArrayIterator::offsetSet
ArrayIterator::rewind
ArrayIterator


Rewind array back to the start

ArrayIterator::offsetUnset
ArrayIterator::seek
ArrayIterator
PHP Manual

ArrayIterator::rewind

(PHP 5 >= 5.0.0, PHP 7)

ArrayIterator::rewind — Rewind array back to the start

Beschreibung

public void ArrayIterator::rewind ( void )

This rewinds the iterator to the beginning.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ArrayIterator::rewind() example

<?php
$arrayobject = new ArrayObject();

$arrayobject[] = 'zero';
$arrayobject[] = 'one';
$arrayobject[] = 'two';

$iterator = $arrayobject->getIterator();

$iterator->next();
echo $iterator->key(); //1

$iterator->rewind(); //rewinding to the begining
echo $iterator->key(); //0
?>

ArrayIterator::offsetUnset
ArrayIterator::seek
ArrayIterator


Seek to position

ArrayIterator::rewind
ArrayIterator::serialize
ArrayIterator
PHP Manual

ArrayIterator::seek

(PHP 5 >= 5.0.0, PHP 7)

ArrayIterator::seek — Seek to position

Beschreibung

public void ArrayIterator::seek ( int $position )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

position

The position to seek to.

Rückgabewerte

Es wird kein Wert zurückgegeben.

ArrayIterator::rewind
ArrayIterator::serialize
ArrayIterator


Serialize

ArrayIterator::seek
ArrayIterator::setFlags
ArrayIterator
PHP Manual

ArrayIterator::serialize

(PHP 5 >= 5.3.0, PHP 7)

ArrayIterator::serialize — Serialize

Beschreibung

public string ArrayIterator::serialize ( void )

Serialize.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The serialized ArrayIterator.

Siehe auch

  • ArrayIterator::unserialize() - Unserialize

ArrayIterator::seek
ArrayIterator::setFlags
ArrayIterator


Set behaviour flags

ArrayIterator::serialize
ArrayIterator::uasort
ArrayIterator
PHP Manual

ArrayIterator::setFlags

(PHP 5 >= 5.1.0, PHP 7)

ArrayIterator::setFlags — Set behaviour flags

Beschreibung

public void ArrayIterator::setFlags ( string $flags )

Sets behaviour flags.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

flags

A bitmask as follows:

  • 0 = Properties of the object have their normal functionality when accessed as list (var_dump, foreach, etc.).
  • 1 = Array indices can be accessed as properties in read/write.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • ArrayIterator::getFlags() - Get flags

ArrayIterator::serialize
ArrayIterator::uasort
ArrayIterator


User defined sort

ArrayIterator::setFlags
ArrayIterator::uksort
ArrayIterator
PHP Manual

ArrayIterator::uasort

(PHP 5 >= 5.2.0, PHP 7)

ArrayIterator::uasort — User defined sort

Beschreibung

public void ArrayIterator::uasort ( string $cmp_function )

Sort the entries by values using user defined function.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

cmp_function

The compare function used for the sort.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • ArrayIterator::uksort() - User defined sort
  • usort() - Sortiert ein Array nach Werten mittels einer benutzerdefinierten Vergleichsfunktion

ArrayIterator::setFlags
ArrayIterator::uksort
ArrayIterator


User defined sort

ArrayIterator::uasort
ArrayIterator::unserialize
ArrayIterator
PHP Manual

ArrayIterator::uksort

(PHP 5 >= 5.2.0, PHP 7)

ArrayIterator::uksort — User defined sort

Beschreibung

public void ArrayIterator::uksort ( string $cmp_function )

Sort the entries by key using user defined function.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

cmp_function

The compare function used for the sort.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • ArrayIterator::uasort() - User defined sort
  • uksort() - Sortiert ein Array nach Schlüsseln mittels einer benutzerdefinierten Vergleichsfunktion

ArrayIterator::uasort
ArrayIterator::unserialize
ArrayIterator


Unserialize

ArrayIterator::uksort
ArrayIterator::valid
ArrayIterator
PHP Manual

ArrayIterator::unserialize

(PHP 5 >= 5.3.0, PHP 7)

ArrayIterator::unserialize — Unserialize

Beschreibung

public string ArrayIterator::unserialize ( string $serialized )

Unserialize.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

serialized

The serialized ArrayIterator object to be unserialized.

Rückgabewerte

The ArrayIterator.

Siehe auch

  • ArrayIterator::serialize() - Serialize

ArrayIterator::uksort
ArrayIterator::valid
ArrayIterator


Check whether array contains more entries

ArrayIterator::unserialize
CachingIterator
ArrayIterator
PHP Manual

ArrayIterator::valid

(PHP 5 >= 5.0.0, PHP 7)

ArrayIterator::valid — Check whether array contains more entries

Beschreibung

public bool ArrayIterator::valid ( void )

Checks if the array contains any more entries.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the iterator is valid, otherwise FALSE

Beispiele

Beispiel #1 ArrayIterator::valid() example

<?php
$array = array('1' => 'one');

$arrayobject = new ArrayObject($array);
$iterator = $arrayobject->getIterator();

var_dump($iterator->valid()); //bool(true)

$iterator->next(); // advance to the next item

//bool(false) because there is only one array element
var_dump($iterator->valid());
?>

ArrayIterator::unserialize
CachingIterator
ArrayIterator


The CachingIterator class

(PHP 5, PHP 7)

Einführung

This object supports cached iteration over another iterator.

Klassenbeschreibung

CachingIterator extends IteratorIterator implements OuterIterator , ArrayAccess , Countable {
/* Konstanten */
const integer CALL_TOSTRING = 1 ;
const integer CATCH_GET_CHILD = 16 ;
const integer TOSTRING_USE_KEY = 2 ;
const integer TOSTRING_USE_CURRENT = 4 ;
const integer TOSTRING_USE_INNER = 8 ;
const integer FULL_CACHE = 256 ;
/* Methoden */
public __construct ( Iterator $iterator [, int $flags = self::CALL_TOSTRING ] )
public int count ( void )
public void current ( void )
public array getCache ( void )
public int getFlags ( void )
public Iterator getInnerIterator ( void )
public void hasNext ( void )
public scalar key ( void )
public void next ( void )
public void offsetExists ( string $index )
public void offsetGet ( string $index )
public void offsetSet ( string $index , string $newval )
public void offsetUnset ( string $index )
public void rewind ( void )
public void setFlags ( int $flags )
public void __toString ( void )
public void valid ( void )
}

Vordefinierte Konstanten

CachingIterator::CALL_TOSTRING

Convert every element to string.

CachingIterator::CATCH_GET_CHILD

Don't throw exception in accessing children.

CachingIterator::TOSTRING_USE_KEY

Use key for conversion to string.

CachingIterator::TOSTRING_USE_CURRENT

Use current for conversion to string.

CachingIterator::TOSTRING_USE_INNER

Use inner for conversion to string.

CachingIterator::FULL_CACHE

Cache all read data.

Inhaltsverzeichnis

  • CachingIterator::__construct — Construct a new CachingIterator object for the iterator.
  • CachingIterator::count — The number of elements in the iterator
  • CachingIterator::current — Return the current element
  • CachingIterator::getCache — Retrieve the contents of the cache
  • CachingIterator::getFlags — Get flags used
  • CachingIterator::getInnerIterator — Returns the inner iterator
  • CachingIterator::hasNext — Check whether the inner iterator has a valid next element
  • CachingIterator::key — Return the key for the current element
  • CachingIterator::next — Move the iterator forward
  • CachingIterator::offsetExists — The offsetExists purpose
  • CachingIterator::offsetGet — The offsetGet purpose
  • CachingIterator::offsetSet — The offsetSet purpose
  • CachingIterator::offsetUnset — The offsetUnset purpose
  • CachingIterator::rewind — Rewind the iterator
  • CachingIterator::setFlags — The setFlags purpose
  • CachingIterator::__toString — Return the string representation of the current element
  • CachingIterator::valid — Check whether the current element is valid
ArrayIterator::valid
CachingIterator::__construct
Iteratoren


Construct a new CachingIterator object for the iterator.

CachingIterator
CachingIterator::count
CachingIterator
PHP Manual

CachingIterator::__construct

(PHP 5, PHP 7)

CachingIterator::__construct — Construct a new CachingIterator object for the iterator.

Beschreibung

public CachingIterator::__construct ( Iterator $iterator [, int $flags = self::CALL_TOSTRING ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

iterator

Iterator to cache

flags

Bitmask of flags.

CachingIterator
CachingIterator::count
CachingIterator


The number of elements in the iterator

CachingIterator::__construct
CachingIterator::current
CachingIterator
PHP Manual

CachingIterator::count

(PHP 5 >= 5.2.2, PHP 7)

CachingIterator::count — The number of elements in the iterator

Beschreibung

public int CachingIterator::count ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

May return the number of elements in the iterator.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The count of the elements iterated over.

CachingIterator::__construct
CachingIterator::current
CachingIterator


Return the current element

CachingIterator::count
CachingIterator::getCache
CachingIterator
PHP Manual

CachingIterator::current

(PHP 5, PHP 7)

CachingIterator::current — Return the current element

Beschreibung

public void CachingIterator::current ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

May return the current element in the iteration.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Mixed

Siehe auch

  • Iterator::current() - Gibt das aktuelle Element zurück

CachingIterator::count
CachingIterator::getCache
CachingIterator


Retrieve the contents of the cache

CachingIterator::current
CachingIterator::getFlags
CachingIterator
PHP Manual

CachingIterator::getCache

(PHP 5 >= 5.2.0, PHP 7)

CachingIterator::getCache — Retrieve the contents of the cache

Beschreibung

public array CachingIterator::getCache ( void )

Retrieve the contents of the cache.

Hinweis:

The CachingIterator::FULL_CACHE flag must be being used.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An array containing the cache items.

Fehler/Exceptions

Throws a BadMethodCallException when the CachingIterator::FULL_CACHE flag is not being used.

Beispiele

Beispiel #1 CachingIterator::getCache() example

<?php
$iterator = new ArrayIterator(array(1, 2, 3));
$cache    = new CachingIterator($iterator, CachingIterator::FULL_CACHE);

$cache->next();
$cache->next();
var_dump($cache->getCache());

$cache->next();
var_dump($cache->getCache());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  [0]=>
  int(1)
  [1]=>
  int(2)
}
array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}

CachingIterator::current
CachingIterator::getFlags
CachingIterator


Get flags used

CachingIterator::getCache
CachingIterator::getInnerIterator
CachingIterator
PHP Manual

CachingIterator::getFlags

(PHP 5 >= 5.2.0, PHP 7)

CachingIterator::getFlags — Get flags used

Beschreibung

public int CachingIterator::getFlags ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Get the bitmask of the flags used for this CachingIterator instance.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Description...

CachingIterator::getCache
CachingIterator::getInnerIterator
CachingIterator


Returns the inner iterator

CachingIterator::getFlags
CachingIterator::hasNext
CachingIterator
PHP Manual

CachingIterator::getInnerIterator

(PHP 5, PHP 7)

CachingIterator::getInnerIterator — Returns the inner iterator

Beschreibung

public Iterator CachingIterator::getInnerIterator ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns the iterator sent to the constructor.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an object implementing the Iterator interface.

CachingIterator::getFlags
CachingIterator::hasNext
CachingIterator


Check whether the inner iterator has a valid next element

CachingIterator::getInnerIterator
CachingIterator::key
CachingIterator
PHP Manual

CachingIterator::hasNext

(PHP 5, PHP 7)

CachingIterator::hasNext — Check whether the inner iterator has a valid next element

Beschreibung

public void CachingIterator::hasNext ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

CachingIterator::getInnerIterator
CachingIterator::key
CachingIterator


Return the key for the current element

CachingIterator::hasNext
CachingIterator::next
CachingIterator
PHP Manual

CachingIterator::key

(PHP 5, PHP 7)

CachingIterator::key — Return the key for the current element

Beschreibung

public scalar CachingIterator::key ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

This method may return a key for the current element.

Parameter-Liste

Diese Funktion hat keine Parameter.

CachingIterator::hasNext
CachingIterator::next
CachingIterator


Move the iterator forward

CachingIterator::key
CachingIterator::offsetExists
CachingIterator
PHP Manual

CachingIterator::next

(PHP 5, PHP 7)

CachingIterator::next — Move the iterator forward

Beschreibung

public void CachingIterator::next ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Move the iterator forward.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

CachingIterator::key
CachingIterator::offsetExists
CachingIterator


The offsetExists purpose

CachingIterator::next
CachingIterator::offsetGet
CachingIterator
PHP Manual

CachingIterator::offsetExists

(PHP 5 >= 5.2.0, PHP 7)

CachingIterator::offsetExists — The offsetExists purpose

Beschreibung

public void CachingIterator::offsetExists ( string $index )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

index

The index being checked.

Rückgabewerte

Returns TRUE if an entry referenced by the offset exists, FALSE otherwise.

CachingIterator::next
CachingIterator::offsetGet
CachingIterator


The offsetGet purpose

CachingIterator::offsetExists
CachingIterator::offsetSet
CachingIterator
PHP Manual

CachingIterator::offsetGet

(PHP 5 >= 5.2.0, PHP 7)

CachingIterator::offsetGet — The offsetGet purpose

Beschreibung

public void CachingIterator::offsetGet ( string $index )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

index

Description...

Rückgabewerte

Description...

CachingIterator::offsetExists
CachingIterator::offsetSet
CachingIterator


The offsetSet purpose

CachingIterator::offsetGet
CachingIterator::offsetUnset
CachingIterator
PHP Manual

CachingIterator::offsetSet

(PHP 5 >= 5.2.0, PHP 7)

CachingIterator::offsetSet — The offsetSet purpose

Beschreibung

public void CachingIterator::offsetSet ( string $index , string $newval )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

index

The index of the element to be set.

newval

The new value for the index.

Rückgabewerte

Es wird kein Wert zurückgegeben.

CachingIterator::offsetGet
CachingIterator::offsetUnset
CachingIterator


The offsetUnset purpose

CachingIterator::offsetSet
CachingIterator::rewind
CachingIterator
PHP Manual

CachingIterator::offsetUnset

(PHP 5 >= 5.2.0, PHP 7)

CachingIterator::offsetUnset — The offsetUnset purpose

Beschreibung

public void CachingIterator::offsetUnset ( string $index )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

index

The index of the element to be unset.

Rückgabewerte

Es wird kein Wert zurückgegeben.

CachingIterator::offsetSet
CachingIterator::rewind
CachingIterator


Rewind the iterator

CachingIterator::offsetUnset
CachingIterator::setFlags
CachingIterator
PHP Manual

CachingIterator::rewind

(PHP 5, PHP 7)

CachingIterator::rewind — Rewind the iterator

Beschreibung

public void CachingIterator::rewind ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Rewind the iterator.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

CachingIterator::offsetUnset
CachingIterator::setFlags
CachingIterator


The setFlags purpose

CachingIterator::rewind
CachingIterator::__toString
CachingIterator
PHP Manual

CachingIterator::setFlags

(PHP 5 >= 5.2.0, PHP 7)

CachingIterator::setFlags — The setFlags purpose

Beschreibung

public void CachingIterator::setFlags ( int $flags )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Set the flags for the CachingIterator object.

Parameter-Liste

flags

Bitmask of the flags to set.

Rückgabewerte

Es wird kein Wert zurückgegeben.

CachingIterator::rewind
CachingIterator::__toString
CachingIterator


Return the string representation of the current element

CachingIterator::setFlags
CachingIterator::valid
CachingIterator
PHP Manual

CachingIterator::__toString

(PHP 5, PHP 7)

CachingIterator::__toString — Return the string representation of the current element

Beschreibung

public void CachingIterator::__toString ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Get the string representation of the current element.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The string representation of the current element.

CachingIterator::setFlags
CachingIterator::valid
CachingIterator


Check whether the current element is valid

CachingIterator::__toString
CallbackFilterIterator
CachingIterator
PHP Manual

CachingIterator::valid

(PHP 5, PHP 7)

CachingIterator::valid — Check whether the current element is valid

Beschreibung

public void CachingIterator::valid ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Check whether the current element is valid.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

CachingIterator::__toString
CallbackFilterIterator
CachingIterator


The CallbackFilterIterator class

(PHP 5 >= 5.4.0, PHP 7)

Einführung

Klassenbeschreibung

CallbackFilterIterator extends FilterIterator implements OuterIterator {
/* Methoden */
public __construct ( Iterator $iterator , callable $callback )
public string accept ( void )
/* Geerbte Methoden */
public abstract bool FilterIterator::accept ( void )
public FilterIterator::__construct ( Iterator $iterator )
public mixed FilterIterator::current ( void )
public Iterator FilterIterator::getInnerIterator ( void )
public mixed FilterIterator::key ( void )
public void FilterIterator::next ( void )
public void FilterIterator::rewind ( void )
public bool FilterIterator::valid ( void )
}

Beispiele

The callback should accept up to three arguments: the current item, the current key and the iterator, respectively.

Beispiel #1 Available callback arguments

<?php

/**
 * Callback for CallbackFilterIterator
 *
 * @param $current   Current item's value
 * @param $key       Current item's key
 * @param $iterator  Iterator being filtered
 * @return boolean   TRUE to accept the current item, FALSE otherwise
 */
function my_callback($current, $key, $iterator) {
    // Your filtering code here
}

?>

Any callable may be used; such as a string containing a function name, an array for a method, or an anonymous function.

Beispiel #2 Callback basic examples

<?php

$dir = new FilesystemIterator(__DIR__);

// Filter large files ( > 100MB)
function is_large_file($current) {
    return $current->isFile() && $current->getSize() > 104857600;
}
$large_files = new CallbackFilterIterator($dir, 'is_large_file');

// Filter directories
$files = new CallbackFilterIterator($dir, function ($current, $key, $iterator) {
    return $current->isDir() && ! $iterator->isDot();
});

?>

Inhaltsverzeichnis

  • CallbackFilterIterator::accept — Calls the callback with the current value, the current key and the inner iterator as arguments
  • CallbackFilterIterator::__construct — Create a filtered iterator from another iterator
CachingIterator::valid
CallbackFilterIterator::accept
Iteratoren


Calls the callback with the current value, the current key and the inner iterator as arguments

CallbackFilterIterator
CallbackFilterIterator::__construct
CallbackFilterIterator
PHP Manual

CallbackFilterIterator::accept

(PHP 5 >= 5.4.0, PHP 7)

CallbackFilterIterator::accept — Calls the callback with the current value, the current key and the inner iterator as arguments

Beschreibung

public string CallbackFilterIterator::accept ( void )

This method calls the callback with the current value, current key and the inner iterator.

The callback is expected to return TRUE if the current item is to be accepted, or FALSE otherwise.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE to accept the current item, or FALSE otherwise.

Siehe auch

  • CallbackFilterIterator Examples
  • CallbackFilterIterator::__construct() - Create a filtered iterator from another iterator

CallbackFilterIterator
CallbackFilterIterator::__construct
CallbackFilterIterator


Create a filtered iterator from another iterator

CallbackFilterIterator::accept
DirectoryIterator
CallbackFilterIterator
PHP Manual

CallbackFilterIterator::__construct

(PHP 5 >= 5.4.0, PHP 7)

CallbackFilterIterator::__construct — Create a filtered iterator from another iterator

Beschreibung

public CallbackFilterIterator::__construct ( Iterator $iterator , callable $callback )

Creates a filtered iterator using the callback to determine which items are accepted or rejected.

Parameter-Liste

iterator

The iterator to be filtered.

callback

The callback, which should return TRUE to accept the current item or FALSE otherwise. See Examples.

May be any valid callable value.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • CallbackFilterIterator Examples
  • CallbackFilterIterator::accept() - Calls the callback with the current value, the current key and the inner iterator as arguments

CallbackFilterIterator::accept
DirectoryIterator
CallbackFilterIterator


The DirectoryIterator class

(PHP 5, PHP 7)

Einführung

The DirectoryIterator class provides a simple interface for viewing the contents of filesystem directories.

Klassenbeschreibung

DirectoryIterator extends SplFileInfo implements SeekableIterator {
/* Methoden */
public __construct ( string $path )
public DirectoryIterator current ( void )
public int getATime ( void )
public string getBasename ([ string $suffix ] )
public int getCTime ( void )
public string getExtension ( void )
public string getFilename ( void )
public int getGroup ( void )
public int getInode ( void )
public int getMTime ( void )
public int getOwner ( void )
public string getPath ( void )
public string getPathname ( void )
public int getPerms ( void )
public int getSize ( void )
public string getType ( void )
public bool isDir ( void )
public bool isDot ( void )
public bool isExecutable ( void )
public bool isFile ( void )
public bool isLink ( void )
public bool isReadable ( void )
public bool isWritable ( void )
public string key ( void )
public void next ( void )
public void rewind ( void )
public void seek ( int $position )
public string __toString ( void )
public bool valid ( void )
}

Changelog

Version | Beschreibung
5.1.2 | DirectoryIterator extends SplFileInfo.

Inhaltsverzeichnis

  • DirectoryIterator::__construct — Constructs a new directory iterator from a path
  • DirectoryIterator::current — Return the current DirectoryIterator item.
  • DirectoryIterator::getATime — Get last access time of the current DirectoryIterator item
  • DirectoryIterator::getBasename — Get base name of current DirectoryIterator item.
  • DirectoryIterator::getCTime — Get inode change time of the current DirectoryIterator item
  • DirectoryIterator::getExtension — Gets the file extension
  • DirectoryIterator::getFilename — Return file name of current DirectoryIterator item.
  • DirectoryIterator::getGroup — Get group for the current DirectoryIterator item
  • DirectoryIterator::getInode — Get inode for the current DirectoryIterator item
  • DirectoryIterator::getMTime — Get last modification time of current DirectoryIterator item
  • DirectoryIterator::getOwner — Get owner of current DirectoryIterator item
  • DirectoryIterator::getPath — Get path of current Iterator item without filename
  • DirectoryIterator::getPathname — Return path and file name of current DirectoryIterator item
  • DirectoryIterator::getPerms — Get the permissions of current DirectoryIterator item
  • DirectoryIterator::getSize — Get size of current DirectoryIterator item
  • DirectoryIterator::getType — Determine the type of the current DirectoryIterator item
  • DirectoryIterator::isDir — Determine if current DirectoryIterator item is a directory
  • DirectoryIterator::isDot — Determine if current DirectoryIterator item is '.' or '..'
  • DirectoryIterator::isExecutable — Determine if current DirectoryIterator item is executable
  • DirectoryIterator::isFile — Determine if current DirectoryIterator item is a regular file
  • DirectoryIterator::isLink — Determine if current DirectoryIterator item is a symbolic link
  • DirectoryIterator::isReadable — Determine if current DirectoryIterator item can be read
  • DirectoryIterator::isWritable — Determine if current DirectoryIterator item can be written to
  • DirectoryIterator::key — Return the key for the current DirectoryIterator item
  • DirectoryIterator::next — Move forward to next DirectoryIterator item
  • DirectoryIterator::rewind — Rewind the DirectoryIterator back to the start
  • DirectoryIterator::seek — Seek to a DirectoryIterator item
  • DirectoryIterator::__toString — Get file name as a string
  • DirectoryIterator::valid — Check whether current DirectoryIterator position is a valid file
CallbackFilterIterator::__construct
DirectoryIterator::__construct
Iteratoren


Constructs a new directory iterator from a path

DirectoryIterator
DirectoryIterator::current
DirectoryIterator
PHP Manual

DirectoryIterator::__construct

(PHP 5, PHP 7)

DirectoryIterator::__construct — Constructs a new directory iterator from a path

Beschreibung

public DirectoryIterator::__construct ( string $path )

Constructs a new directory iterator from a path.

Parameter-Liste

path

The path of the directory to traverse.

Fehler/Exceptions

Throws an UnexpectedValueException if the path cannot be opened.

Throws a RuntimeException if the path is an empty string.

Changelog

Version | Beschreibung
5.3.0 | Throws UnexpectedValueException if the path cannot be opened.
5.1.3 | Throws RuntimeException if the path is an empty string.
5.1.0 | Throws RuntimeException on error. Previously, threw Exception.

Beispiele

Beispiel #1 A DirectoryIterator::__construct() example

This example will list the contents of the directory containing the script.

<?php
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileinfo) {
    if (!$fileinfo->isDot()) {
        var_dump($fileinfo->getFilename());
    }
}
?>

Siehe auch

  • SplFileInfo
  • Iterator

DirectoryIterator
DirectoryIterator::current
DirectoryIterator


Return the current DirectoryIterator item.

DirectoryIterator::__construct
DirectoryIterator::getATime
DirectoryIterator
PHP Manual

DirectoryIterator::current

(PHP 5, PHP 7)

DirectoryIterator::current — Return the current DirectoryIterator item.

Beschreibung

public DirectoryIterator DirectoryIterator::current ( void )

Get the current DirectoryIterator item.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current DirectoryIterator item.

Beispiele

Beispiel #1 A DirectoryIterator::current() example

This example will list the contents of the directory containing the script.

<?php
$iterator = new DirectoryIterator(__DIR__);
while($iterator->valid()) {
    $file = $iterator->current();
    echo $iterator->key() . " => " . $file->getFilename() . "\n";
    $iterator->next();
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

0 => .
1 => ..
2 => apple.jpg
3 => banana.jpg
4 => index.php
5 => pear.jpg

Siehe auch

  • DirectoryIterator::key() - Return the key for the current DirectoryIterator item
  • DirectoryIterator::next() - Move forward to next DirectoryIterator item
  • DirectoryIterator::rewind() - Rewind the DirectoryIterator back to the start
  • DirectoryIterator::valid() - Check whether current DirectoryIterator position is a valid file
  • Iterator::current() - Gibt das aktuelle Element zurück

DirectoryIterator::__construct
DirectoryIterator::getATime
DirectoryIterator


Get last access time of the current DirectoryIterator item

DirectoryIterator::current
DirectoryIterator::getBasename
DirectoryIterator
PHP Manual

DirectoryIterator::getATime

(PHP 5, PHP 7)

DirectoryIterator::getATime — Get last access time of the current DirectoryIterator item

Beschreibung

public int DirectoryIterator::getATime ( void )

Get the last access time of the current DirectoryIterator item.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the time the file was last accessed, as a Unix timestamp.

Beispiele

Beispiel #1 A DirectoryIterator::getATime() example

Displays a list of the files in the directory of the script and their last access times.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isFile()) {
        echo $fileinfo->getFilename() . " " . $fileinfo->getATime() . "\n";
    }
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

apple.jpg 1240047118
banana.jpg 1240065176
index.php 1240047208
pear.jpg 12240047979

Siehe auch

  • DirectoryIterator::getCTime() - Get inode change time of the current DirectoryIterator item
  • DirectoryIterator::getMTime() - Get last modification time of current DirectoryIterator item
  • fileatime() - Liefert Datum und Uhrzeit des letzten Zugriffs auf eine Datei

DirectoryIterator::current
DirectoryIterator::getBasename
DirectoryIterator


Get base name of current DirectoryIterator item.

DirectoryIterator::getATime
DirectoryIterator::getCTime
DirectoryIterator
PHP Manual

DirectoryIterator::getBasename

(PHP 5 >= 5.2.2, PHP 7)

DirectoryIterator::getBasename — Get base name of current DirectoryIterator item.

Beschreibung

public string DirectoryIterator::getBasename ([ string $suffix ] )

Get the base name of the current DirectoryIterator item.

Parameter-Liste

suffix

If the base name ends in suffix, this will be cut.

Rückgabewerte

The base name of the current DirectoryIterator item.

Beispiele

Beispiel #1 A DirectoryIterator::getBasename() example

This example will list the full base name and the base name with suffix .jpg removed for the files in the directory containing the script.

<?php
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileinfo) {
    if ($fileinfo->isFile()) {
        echo $fileinfo->getBasename() . "\n";
        echo $fileinfo->getBasename('.jpg') . "\n";
    }
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

apple.jpg
apple
banana.jpg
banana
index.php
index.php
pear.jpg
pear

Siehe auch

  • DirectoryIterator::getFilename() - Return file name of current DirectoryIterator item.
  • DirectoryIterator::getPath() - Get path of current Iterator item without filename
  • DirectoryIterator::getPathname() - Return path and file name of current DirectoryIterator item
  • basename() - Gibt letzten Namensteil einer Pfadangabe zurück
  • pathinfo() - Liefert Informationen über einen Dateipfad

DirectoryIterator::getATime
DirectoryIterator::getCTime
DirectoryIterator


Get inode change time of the current DirectoryIterator item

DirectoryIterator::getBasename
DirectoryIterator::getExtension
DirectoryIterator
PHP Manual

DirectoryIterator::getCTime

(PHP 5, PHP 7)

DirectoryIterator::getCTime — Get inode change time of the current DirectoryIterator item

Beschreibung

public int DirectoryIterator::getCTime ( void )

Get the inode change time for the current DirectoryIterator item.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the last change time of the file, as a Unix timestamp.

Beispiele

Beispiel #1 DirectoryIterator::getCTime() example

This example displays the file name and last change time of the files in the directory containing the script.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isFile()) {
        echo $fileinfo->getFilename() . " changed at " . $fileinfo->getCTime() . "\n";
    }
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

apple.jpg changed at 1240398312
banana.jpg changed at 1238605440
index.php changed at 1240398935
pear.jpg changed at 1237423740

Siehe auch

  • DirectoryIterator::getATime() - Get last access time of the current DirectoryIterator item
  • DirectoryIterator::getMTime() - Get last modification time of current DirectoryIterator item
  • filectime() - Liefert Datum und Uhrzeit der letzten Änderung des Datei Inode

DirectoryIterator::getBasename
DirectoryIterator::getExtension
DirectoryIterator


Gets the file extension

DirectoryIterator::getCTime
DirectoryIterator::getFilename
DirectoryIterator
PHP Manual

DirectoryIterator::getExtension

(PHP 5 >= 5.3.6, PHP 7)

DirectoryIterator::getExtension — Gets the file extension

Beschreibung

public string DirectoryIterator::getExtension ( void )

Retrieves the file extension.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a string containing the file extension, or an empty string if the file has no extension.

Beispiele

Beispiel #1 DirectoryIterator::getExtension() example

<?php

$directory = new DirectoryIterator(__DIR__);
foreach ($directory as $fileinfo) {
    if ($fileinfo->isFile()) {
        echo $fileinfo->getExtension() . "\n";
    }
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

php
txt
jpg
gz

Anmerkungen

Hinweis:

This method is only available as of PHP 5.3.6. Another way of getting the extension is to use the pathinfo() function.

<?php
$extension = pathinfo($fileinfo->getFilename(), PATHINFO_EXTENSION);
?>

Siehe auch

  • DirectoryIterator::getFilename() - Return file name of current DirectoryIterator item.
  • DirectoryIterator::getBasename() - Get base name of current DirectoryIterator item.
  • pathinfo() - Liefert Informationen über einen Dateipfad
DirectoryIterator::getCTime
DirectoryIterator::getFilename
DirectoryIterator


Return file name of current DirectoryIterator item.

DirectoryIterator::getExtension
DirectoryIterator::getGroup
DirectoryIterator
PHP Manual

DirectoryIterator::getFilename

(PHP 5, PHP 7)

DirectoryIterator::getFilename — Return file name of current DirectoryIterator item.

Beschreibung

public string DirectoryIterator::getFilename ( void )

Get the file name of the current DirectoryIterator item.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the file name of the current DirectoryIterator item.

Beispiele

Beispiel #1 A DirectoryIterator::getFilename() example

This example will list the contents of the directory containing the script.

<?php
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileinfo) {
    echo $fileinfo->getFilename() . "\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

.
..
apple.jpg
banana.jpg
index.php
pear.jpg

Siehe auch

  • DirectoryIterator::getBasename() - Get base name of current DirectoryIterator item.
  • DirectoryIterator::getPath() - Get path of current Iterator item without filename
  • DirectoryIterator::getPathname() - Return path and file name of current DirectoryIterator item
  • pathinfo() - Liefert Informationen über einen Dateipfad

DirectoryIterator::getExtension
DirectoryIterator::getGroup
DirectoryIterator


Get group for the current DirectoryIterator item

DirectoryIterator::getFilename
DirectoryIterator::getInode
DirectoryIterator
PHP Manual

DirectoryIterator::getGroup

(PHP 5, PHP 7)

DirectoryIterator::getGroup — Get group for the current DirectoryIterator item

Beschreibung

public int DirectoryIterator::getGroup ( void )

Get the group id of the file.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the group id of the current DirectoryIterator item in numerical format.

Beispiele

Beispiel #1 DirectoryIterator::getGroup() example

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
$groupid  = $iterator->getGroup();
echo 'Directory belongs to group id ' . $groupid . "\n";
print_r(posix_getgrgid($groupid));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Directory belongs to group id 42
Array
(
    [name]    => toons
    [passwd]  => x
    [members] => Array
        (
            [0] => tom
            [1] => jerry
        )
    [gid]     => 42
)

Siehe auch

  • DirectoryIterator::getiNode() - Get inode for the current DirectoryIterator item
  • DirectoryIterator::getOwner() - Get owner of current DirectoryIterator item
  • DirectoryIterator::getPerms() - Get the permissions of current DirectoryIterator item
  • filegroup() - Liefert die Gruppenzugehörigkeit einer Datei
  • posix_getgrgid() - Liefert zu einer Gruppen-ID Informationen über diese Gruppe

DirectoryIterator::getFilename
DirectoryIterator::getInode
DirectoryIterator


Get inode for the current DirectoryIterator item

DirectoryIterator::getGroup
DirectoryIterator::getMTime
DirectoryIterator
PHP Manual

DirectoryIterator::getInode

(PHP 5, PHP 7)

DirectoryIterator::getInode — Get inode for the current DirectoryIterator item

Beschreibung

public int DirectoryIterator::getInode ( void )

Get the inode number for the current DirectoryIterator item.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the inode number for the file.

Beispiele

Beispiel #1 DirectoryIterator::getInode() example

This example displays the inode number for the directory containing the script.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
echo $iterator->getInode();
?>

Siehe auch

  • DirectoryIterator::getGroup() - Get group for the current DirectoryIterator item
  • DirectoryIterator::getOwner() - Get owner of current DirectoryIterator item
  • DirectoryIterator::getPerms() - Get the permissions of current DirectoryIterator item
  • fileinode() - Liefert die Inode-Nummer einer Datei

DirectoryIterator::getGroup
DirectoryIterator::getMTime
DirectoryIterator


Get last modification time of current DirectoryIterator item

DirectoryIterator::getInode
DirectoryIterator::getOwner
DirectoryIterator
PHP Manual

DirectoryIterator::getMTime

(PHP 5, PHP 7)

DirectoryIterator::getMTime — Get last modification time of current DirectoryIterator item

Beschreibung

public int DirectoryIterator::getMTime ( void )

Get the last modification time of the current DirectoryIterator item, as a Unix timestamp.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The last modification time of the file, as a Unix timestamp.

Beispiele

Beispiel #1 A DirectoryIterator::getMTime() example

Displays a list of the files in the directory of the script and their last modified times.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isFile()) {
        echo $fileinfo->getFilename() . " " . $fileinfo->getMTime() . "\n";
    }
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

apple.jpg 1240047118
banana.jpg 1240065176
index.php 1240047208
pear.jpg 12240047979

Siehe auch

  • DirectoryIterator::getATime() - Get last access time of the current DirectoryIterator item
  • DirectoryIterator::getCTime() - Get inode change time of the current DirectoryIterator item
  • filemtime() - Liefert Datum und Uhrzeit der letzten Dateiänderung

DirectoryIterator::getInode
DirectoryIterator::getOwner
DirectoryIterator


Get owner of current DirectoryIterator item

DirectoryIterator::getMTime
DirectoryIterator::getPath
DirectoryIterator
PHP Manual

DirectoryIterator::getOwner

(PHP 5, PHP 7)

DirectoryIterator::getOwner — Get owner of current DirectoryIterator item

Beschreibung

public int DirectoryIterator::getOwner ( void )

Get the owner of the current DirectoryIterator item, in numerical format.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The file owner of the file, in numerical format.

Beispiele

Beispiel #1 DirectoryIterator::getOwner() example

This example displays the owner of the directory which contains the script.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
print_r(posix_getpwuid($iterator->getOwner()));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [name] => tom
    [passwd] => x
    [uid] => 501
    [gid] => 42
    [gecos] => Tom Cat
    [dir] => /home/tom
    [shell] => /bin/bash
)

Siehe auch

  • DirectoryIterator::getGroup() - Get group for the current DirectoryIterator item
  • DirectoryIterator::getiNode() - Get inode for the current DirectoryIterator item
  • DirectoryIterator::getPerms() - Get the permissions of current DirectoryIterator item
  • posix_getpwuid() - Liefert zu einer Benutzer-ID Informationen über diesen Benutzer

DirectoryIterator::getMTime
DirectoryIterator::getPath
DirectoryIterator


Get path of current Iterator item without filename

DirectoryIterator::getOwner
DirectoryIterator::getPathname
DirectoryIterator
PHP Manual

DirectoryIterator::getPath

(PHP 5, PHP 7)

DirectoryIterator::getPath — Get path of current Iterator item without filename

Beschreibung

public string DirectoryIterator::getPath ( void )

Get the path to the current DirectoryIterator item.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the path to the file, omitting the file name and any trailing slash.

Beispiele

Beispiel #1 DirectoryIterator::getPath() example

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
echo $iterator->getPath();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

/home/examples/public_html

Siehe auch

  • DirectoryIterator::getBasename() - Get base name of current DirectoryIterator item.
  • DirectoryIterator::getFilename() - Return file name of current DirectoryIterator item.
  • DirectoryIterator::getPathname() - Return path and file name of current DirectoryIterator item
  • pathinfo() - Liefert Informationen über einen Dateipfad

DirectoryIterator::getOwner
DirectoryIterator::getPathname
DirectoryIterator


Return path and file name of current DirectoryIterator item

DirectoryIterator::getPath
DirectoryIterator::getPerms
DirectoryIterator
PHP Manual

DirectoryIterator::getPathname

(PHP 5, PHP 7)

DirectoryIterator::getPathname — Return path and file name of current DirectoryIterator item

Beschreibung

public string DirectoryIterator::getPathname ( void )

Get the path and file name of the current file.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the path and file name of current file. Directories do not have a trailing slash.

Beispiele

Beispiel #1 DirectoryIterator::getPathname() example

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    echo $fileinfo->getPathname() . "\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

/home/examples/.
/home/examples/..
/home/examples/apple.jpg
/home/examples/banana.jpg
/home/examples/getpathname.php
/home/examples/pear.jpg

Siehe auch

  • DirectoryIterator::getBasename() - Get base name of current DirectoryIterator item.
  • DirectoryIterator::getFilename() - Return file name of current DirectoryIterator item.
  • DirectoryIterator::getPath() - Get path of current Iterator item without filename
  • pathinfo() - Liefert Informationen über einen Dateipfad

DirectoryIterator::getPath
DirectoryIterator::getPerms
DirectoryIterator


Get the permissions of current DirectoryIterator item

DirectoryIterator::getPathname
DirectoryIterator::getSize
DirectoryIterator
PHP Manual

DirectoryIterator::getPerms

(PHP 5, PHP 7)

DirectoryIterator::getPerms — Get the permissions of current DirectoryIterator item

Beschreibung

public int DirectoryIterator::getPerms ( void )

Get the permissions of the current DirectoryIterator item.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the permissions of the file, as a decimal integer.

Beispiele

Beispiel #1 DirectoryIterator::getPerms() example

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if (!$fileinfo->isDot()) {
        $octal_perms = substr(sprintf('%o', $fileinfo->getPerms()), -4);
        echo $fileinfo->getFilename() . " " . $octal_perms . "\n";
    }
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

apple.jpg 0644
banana.jpg 0644
index.php 0744
pear.jpg 0644

Siehe auch

  • DirectoryIterator::isExecutable() - Determine if current DirectoryIterator item is executable
  • DirectoryIterator::isReadable() - Determine if current DirectoryIterator item can be read
  • DirectoryIterator::isWritable() - Determine if current DirectoryIterator item can be written to

DirectoryIterator::getPathname
DirectoryIterator::getSize
DirectoryIterator


Get size of current DirectoryIterator item

DirectoryIterator::getPerms
DirectoryIterator::getType
DirectoryIterator
PHP Manual

DirectoryIterator::getSize

(PHP 5, PHP 7)

DirectoryIterator::getSize — Get size of current DirectoryIterator item

Beschreibung

public int DirectoryIterator::getSize ( void )

Get the file size for the current DirectoryIterator item.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the size of the file, in bytes.

Beispiele

Beispiel #1 DirectoryIterator::getSize() example

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isFile()) {
        echo $fileinfo->getFilename() . " " . $fileinfo->getSize() . "\n";
    }
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

apple.jpg 15385
banana.jpg 15190
example.php 170
pear.jpg 34406

Siehe auch

  • filesize() - Liefert die Größe einer Datei

DirectoryIterator::getPerms
DirectoryIterator::getType
DirectoryIterator


Determine the type of the current DirectoryIterator item

DirectoryIterator::getSize
DirectoryIterator::isDir
DirectoryIterator
PHP Manual

DirectoryIterator::getType

(PHP 5, PHP 7)

DirectoryIterator::getType — Determine the type of the current DirectoryIterator item

Beschreibung

public string DirectoryIterator::getType ( void )

Determines which file type the current DirectoryIterator item belongs to. One of file, link, or dir.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a string representing the type of the file. May be one of file, link, or dir.

Beispiele

Beispiel #1 DirectoryIterator::getType() example

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    echo $fileinfo->getFilename() . " " . $fileinfo->getType() . "\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

. dir
.. dir
apple.jpg file
banana.jpg file
example.php file
pear.jpg file

Siehe auch

  • DirectoryIterator::isDir() - Determine if current DirectoryIterator item is a directory
  • DirectoryIterator::isDot() - Determine if current DirectoryIterator item is '.' or '..'
  • DirectoryIterator::isFile() - Determine if current DirectoryIterator item is a regular file
  • DirectoryIterator::isLink() - Determine if current DirectoryIterator item is a symbolic link

DirectoryIterator::getSize
DirectoryIterator::isDir
DirectoryIterator


Determine if current DirectoryIterator item is a directory

DirectoryIterator::getType
DirectoryIterator::isDot
DirectoryIterator
PHP Manual

DirectoryIterator::isDir

(PHP 5, PHP 7)

DirectoryIterator::isDir — Determine if current DirectoryIterator item is a directory

Beschreibung

public bool DirectoryIterator::isDir ( void )

Determines if the current DirectoryIterator item is a directory.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if it is a directory, otherwise FALSE

Beispiele

Beispiel #1 DirectoryIterator::isDir() example

This example lists the directories within the directory of the current script.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isDir()) {
        echo $fileinfo->getFilename() . "\n";
    }
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

.
..
apples
bananas
pears

Siehe auch

  • DirectoryIterator::getType() - Determine the type of the current DirectoryIterator item
  • DirectoryIterator::isDot() - Determine if current DirectoryIterator item is '.' or '..'
  • DirectoryIterator::isFile() - Determine if current DirectoryIterator item is a regular file
  • DirectoryIterator::isLink() - Determine if current DirectoryIterator item is a symbolic link

DirectoryIterator::getType
DirectoryIterator::isDot
DirectoryIterator


Determine if current DirectoryIterator item is '.' or '..'

DirectoryIterator::isDir
DirectoryIterator::isExecutable
DirectoryIterator
PHP Manual

DirectoryIterator::isDot

(PHP 5, PHP 7)

DirectoryIterator::isDot — Determine if current DirectoryIterator item is '.' or '..'

Beschreibung

public bool DirectoryIterator::isDot ( void )

Determines if the current DirectoryIterator item is a directory and either . or ...

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if the entry is . or .., otherwise FALSE

Beispiele

Beispiel #1 A DirectoryIterator::isDot() example

This example will list all files, omitting the . and .. entries.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if (!$fileinfo->isDot()) {
        echo $fileinfo->getFilename() . "\n";
    }
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

apple.jpg
banana.jpg
example.php
pears.jpg

Siehe auch

  • DirectoryIterator::getType() - Determine the type of the current DirectoryIterator item
  • DirectoryIterator::isDir() - Determine if current DirectoryIterator item is a directory
  • DirectoryIterator::isFile() - Determine if current DirectoryIterator item is a regular file
  • DirectoryIterator::isLink() - Determine if current DirectoryIterator item is a symbolic link

DirectoryIterator::isDir
DirectoryIterator::isExecutable
DirectoryIterator


Determine if current DirectoryIterator item is executable

DirectoryIterator::isDot
DirectoryIterator::isFile
DirectoryIterator
PHP Manual

DirectoryIterator::isExecutable

(PHP 5, PHP 7)

DirectoryIterator::isExecutable — Determine if current DirectoryIterator item is executable

Beschreibung

public bool DirectoryIterator::isExecutable ( void )

Determines if the current DirectoryIterator item is executable.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the entry is executable, otherwise FALSE

Beispiele

Beispiel #1 DirectoryIterator::isExecutable() example

This example lists files in the directory containing the script which are executable.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isExecutable()) {
        echo $fileinfo->getFilename() . "\n";
    }
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

example.php
myscript.sh

Siehe auch

  • DirectoryIterator::isReadable() - Determine if current DirectoryIterator item can be read
  • DirectoryIterator::isWritable() - Determine if current DirectoryIterator item can be written to
  • DirectoryIterator::getPerms() - Get the permissions of current DirectoryIterator item

DirectoryIterator::isDot
DirectoryIterator::isFile
DirectoryIterator


Determine if current DirectoryIterator item is a regular file

DirectoryIterator::isExecutable
DirectoryIterator::isLink
DirectoryIterator
PHP Manual

DirectoryIterator::isFile

(PHP 5, PHP 7)

DirectoryIterator::isFile — Determine if current DirectoryIterator item is a regular file

Beschreibung

public bool DirectoryIterator::isFile ( void )

Determines if the current DirectoryIterator item is a regular file.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the file exists and is a regular file (not a link or dir), otherwise FALSE

Beispiele

Beispiel #1 DirectoryIterator::isFile() example

This example will list all regular files in the directory containing the script.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isFile()) {
        echo $fileinfo->getFilename() . "\n";
    }
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

apple.jpg
banana.jpg
example.php
pears.jpg

Siehe auch

  • DirectoryIterator::getType() - Determine the type of the current DirectoryIterator item
  • DirectoryIterator::isDir() - Determine if current DirectoryIterator item is a directory
  • DirectoryIterator::isDot() - Determine if current DirectoryIterator item is '.' or '..'
  • DirectoryIterator::isLink() - Determine if current DirectoryIterator item is a symbolic link

DirectoryIterator::isExecutable
DirectoryIterator::isLink
DirectoryIterator


Determine if current DirectoryIterator item is a symbolic link

DirectoryIterator::isFile
DirectoryIterator::isReadable
DirectoryIterator
PHP Manual

DirectoryIterator::isLink

(PHP 5, PHP 7)

DirectoryIterator::isLink — Determine if current DirectoryIterator item is a symbolic link

Beschreibung

public bool DirectoryIterator::isLink ( void )

Determines if the current DirectoryIterator item is a symbolic link.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the item is a symbolic link, otherwise FALSE

Beispiele

Beispiel #1 A DirectoryIterator::isLink() example

This example contains a recursive function for removing a directory tree.

<?php
/**
 * This function will recursively delete all files in the given path, without
 * following symlinks.
 *
 * @param string $path Path to the directory to remove.
 */
function removeDir($path) {
    $dir = new DirectoryIterator($path);
    foreach ($dir as $fileinfo) {
        if ($fileinfo->isFile() || $fileinfo->isLink()) {
            unlink($fileinfo->getPathName());
        } elseif (!$fileinfo->isDot() && $fileinfo->isDir()) {
            removeDir($fileinfo->getPathName());
        }
    }
    rmdir($path);
}

removeDir('foo');
?>

Siehe auch

  • DirectoryIterator::getType() - Determine the type of the current DirectoryIterator item
  • DirectoryIterator::isDir() - Determine if current DirectoryIterator item is a directory
  • DirectoryIterator::isDot() - Determine if current DirectoryIterator item is '.' or '..'
  • DirectoryIterator::isFile() - Determine if current DirectoryIterator item is a regular file

DirectoryIterator::isFile
DirectoryIterator::isReadable
DirectoryIterator


Determine if current DirectoryIterator item can be read

DirectoryIterator::isLink
DirectoryIterator::isWritable
DirectoryIterator
PHP Manual

DirectoryIterator::isReadable

(PHP 5, PHP 7)

DirectoryIterator::isReadable — Determine if current DirectoryIterator item can be read

Beschreibung

public bool DirectoryIterator::isReadable ( void )

Determines if the current DirectoryIterator item is readable.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the file is readable, otherwise FALSE

Beispiele

Beispiel #1 DirectoryIterator::isReadable() example

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isReadable()) {
        echo $fileinfo->getFilename() . "\n";
    }
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

apple.jpg
banana.jpg
example.php
pears.jpg

Siehe auch

  • DirectoryIterator::isExecutable() - Determine if current DirectoryIterator item is executable
  • DirectoryIterator::isWritable() - Determine if current DirectoryIterator item can be written to
  • DirectoryIterator::getPerms() - Get the permissions of current DirectoryIterator item

DirectoryIterator::isLink
DirectoryIterator::isWritable
DirectoryIterator


Determine if current DirectoryIterator item can be written to

DirectoryIterator::isReadable
DirectoryIterator::key
DirectoryIterator
PHP Manual

DirectoryIterator::isWritable

(PHP 5, PHP 7)

DirectoryIterator::isWritable — Determine if current DirectoryIterator item can be written to

Beschreibung

public bool DirectoryIterator::isWritable ( void )

Determines if the current DirectoryIterator item is writable.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the file/directory is writable, otherwise FALSE

Beispiele

Beispiel #1 DirectoryIterator::isWritable() example

This example lists the files and directories which can be opened for writing in the directory containing the script.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isWritable()) {
        echo $fileinfo->getFilename() . "\n";
    }
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

apples.txt
bananas.html
pears

Siehe auch

  • DirectoryIterator::getPerms() - Get the permissions of current DirectoryIterator item
  • DirectoryIterator::isExecutable() - Determine if current DirectoryIterator item is executable
  • DirectoryIterator::isReadable() - Determine if current DirectoryIterator item can be read

DirectoryIterator::isReadable
DirectoryIterator::key
DirectoryIterator


Return the key for the current DirectoryIterator item

DirectoryIterator::isWritable
DirectoryIterator::next
DirectoryIterator
PHP Manual

DirectoryIterator::key

(PHP 5, PHP 7)

DirectoryIterator::key — Return the key for the current DirectoryIterator item

Beschreibung

public string DirectoryIterator::key ( void )

Get the key for the current DirectoryIterator item.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The key for the current DirectoryIterator item.

Beispiele

Beispiel #1 A DirectoryIterator::key() example

<?php
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileinfo) {
    if (!$fileinfo->isDot()) {
        echo $fileinfo->key() . " => " . $fileinfo->getFilename() . "\n";
    }
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

0 => apple.jpg
1 => banana.jpg
2 => index.php
3 => pear.jpg

Siehe auch

  • DirectoryIterator::current() - Return the current DirectoryIterator item.
  • DirectoryIterator::next() - Move forward to next DirectoryIterator item
  • DirectoryIterator::rewind() - Rewind the DirectoryIterator back to the start
  • DirectoryIterator::valid() - Check whether current DirectoryIterator position is a valid file
  • Iterator::key() - Gibt den Schlüssel des aktuellen Elements zurück

DirectoryIterator::isWritable
DirectoryIterator::next
DirectoryIterator


Move forward to next DirectoryIterator item

DirectoryIterator::key
DirectoryIterator::rewind
DirectoryIterator
PHP Manual

DirectoryIterator::next

(PHP 5, PHP 7)

DirectoryIterator::next — Move forward to next DirectoryIterator item

Beschreibung

public void DirectoryIterator::next ( void )

Move forward to the next DirectoryIterator item.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 DirectoryIterator::next() example

List the contents of a directory using a while loop.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
while($iterator->valid()) {
    echo $iterator->getFilename() . "\n";
    $iterator->next();
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

.
..
apple.jpg
banana.jpg
index.php
pear.jpg

Siehe auch

  • DirectoryIterator::current() - Return the current DirectoryIterator item.
  • DirectoryIterator::key() - Return the key for the current DirectoryIterator item
  • DirectoryIterator::rewind() - Rewind the DirectoryIterator back to the start
  • DirectoryIterator::valid() - Check whether current DirectoryIterator position is a valid file
  • Iterator::next() - Rückt den Zeiger auf das nächste Element vor

DirectoryIterator::key
DirectoryIterator::rewind
DirectoryIterator


Rewind the DirectoryIterator back to the start

DirectoryIterator::next
DirectoryIterator::seek
DirectoryIterator
PHP Manual

DirectoryIterator::rewind

(PHP 5, PHP 7)

DirectoryIterator::rewind — Rewind the DirectoryIterator back to the start

Beschreibung

public void DirectoryIterator::rewind ( void )

Rewind the DirectoryIterator back to the start.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 DirectoryIterator::rewind() example

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));

$iterator->next();
echo $iterator->key(); //1

$iterator->rewind(); //rewinding to the beginning
echo $iterator->key(); //0
?>

Siehe auch

  • DirectoryIterator::current() - Return the current DirectoryIterator item.
  • DirectoryIterator::key() - Return the key for the current DirectoryIterator item
  • DirectoryIterator::next() - Move forward to next DirectoryIterator item
  • DirectoryIterator::valid() - Check whether current DirectoryIterator position is a valid file
  • Iterator::rewind() - Setzt den Iterator auf das erste Element zurück

DirectoryIterator::next
DirectoryIterator::seek
DirectoryIterator


Seek to a DirectoryIterator item

DirectoryIterator::rewind
DirectoryIterator::__toString
DirectoryIterator
PHP Manual

DirectoryIterator::seek

(PHP 5 >= 5.3.0, PHP 7)

DirectoryIterator::seek — Seek to a DirectoryIterator item

Beschreibung

public void DirectoryIterator::seek ( int $position )

Seek to a given position in the DirectoryIterator.

Parameter-Liste

position

The zero-based numeric position to seek to.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 DirectoryIterator::seek() example

Seek to the fourth item in the directory containing the script. The first two are usually . and ..

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
$iterator->seek(3);
if ($iterator->valid()) {
    echo $iterator->getFilename();
} else {
    echo 'No file at position 3';
}
?>

Siehe auch

  • DirectoryIterator::rewind() - Rewind the DirectoryIterator back to the start
  • DirectoryIterator::next() - Move forward to next DirectoryIterator item
  • SeekableIterator::seek() - Seeks to a position

DirectoryIterator::rewind
DirectoryIterator::__toString
DirectoryIterator


Get file name as a string

DirectoryIterator::seek
DirectoryIterator::valid
DirectoryIterator
PHP Manual

DirectoryIterator::__toString

(PHP 5, PHP 7)

DirectoryIterator::__toString — Get file name as a string

Beschreibung

public string DirectoryIterator::__toString ( void )

Get the file name of the current DirectoryIterator item.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the file name of the current DirectoryIterator item.

Beispiele

Beispiel #1 A DirectoryIterator::__toString() example

This example will list the contents of the directory containing the script.

<?php
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileinfo) {
    echo $fileinfo;
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

.
..
apple.jpg
banana.jpg
index.php
pear.jpg

Siehe auch

  • DirectoryIterator::getFilename() - Return file name of current DirectoryIterator item.
  • The __toString() magic method

DirectoryIterator::seek
DirectoryIterator::valid
DirectoryIterator


Check whether current DirectoryIterator position is a valid file

DirectoryIterator::__toString
EmptyIterator
DirectoryIterator
PHP Manual

DirectoryIterator::valid

(PHP 5, PHP 7)

DirectoryIterator::valid — Check whether current DirectoryIterator position is a valid file

Beschreibung

public bool DirectoryIterator::valid ( void )

Check whether current DirectoryIterator position is a valid file.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the position is valid, otherwise FALSE

Beispiele

Beispiel #1 A DirectoryIterator::valid() example

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));

// Loop to end of iterator
while($iterator->valid()) {
    $iterator->next();
}

$iterator->valid(); // FALSE
$iterator->rewind();
$iterator->valid(); // TRUE

?>

Siehe auch

  • DirectoryIterator::current() - Return the current DirectoryIterator item.
  • DirectoryIterator::key() - Return the key for the current DirectoryIterator item
  • DirectoryIterator::next() - Move forward to next DirectoryIterator item
  • DirectoryIterator::rewind() - Rewind the DirectoryIterator back to the start
  • Iterator::valid() - Prüft, ob die aktuelle Position zulässig ist

DirectoryIterator::__toString
EmptyIterator
DirectoryIterator


The EmptyIterator class

(PHP 5 >= 5.1.0, PHP 7)

Einführung

The EmptyIterator class for an empty iterator.

Klassenbeschreibung

EmptyIterator implements Iterator {
/* Methoden */
public mixed current ( void )
public scalar key ( void )
public void next ( void )
public void rewind ( void )
public bool valid ( void )
}

Inhaltsverzeichnis

  • EmptyIterator::current — The current() method
  • EmptyIterator::key — The key() method
  • EmptyIterator::next — The next() method
  • EmptyIterator::rewind — The rewind() method
  • EmptyIterator::valid — The valid() method
DirectoryIterator::valid
EmptyIterator::current
Iteratoren


The current() method

EmptyIterator
EmptyIterator::key
EmptyIterator
PHP Manual

EmptyIterator::current

(PHP 5 >= 5.1.0, PHP 7)

EmptyIterator::current — The current() method

Beschreibung

public mixed EmptyIterator::current ( void )

This function must not be called. It throws an exception upon access.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Fehler/Exceptions

Throws an Exception if called.

Rückgabewerte

Es wird kein Wert zurückgegeben.

EmptyIterator
EmptyIterator::key
EmptyIterator


The key() method

EmptyIterator::current
EmptyIterator::next
EmptyIterator
PHP Manual

EmptyIterator::key

(PHP 5 >= 5.1.0, PHP 7)

EmptyIterator::key — The key() method

Beschreibung

public scalar EmptyIterator::key ( void )

This function must not be called. It throws an exception upon access.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Fehler/Exceptions

Throws an Exception if called.

Rückgabewerte

Es wird kein Wert zurückgegeben.

EmptyIterator::current
EmptyIterator::next
EmptyIterator


The next() method

EmptyIterator::key
EmptyIterator::rewind
EmptyIterator
PHP Manual

EmptyIterator::next

(PHP 5 >= 5.1.0, PHP 7)

EmptyIterator::next — The next() method

Beschreibung

public void EmptyIterator::next ( void )

No operation, nothing to do.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

EmptyIterator::key
EmptyIterator::rewind
EmptyIterator


The rewind() method

EmptyIterator::next
EmptyIterator::valid
EmptyIterator
PHP Manual

EmptyIterator::rewind

(PHP 5 >= 5.1.0, PHP 7)

EmptyIterator::rewind — The rewind() method

Beschreibung

public void EmptyIterator::rewind ( void )

No operation, nothing to do.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

EmptyIterator::next
EmptyIterator::valid
EmptyIterator


The valid() method

EmptyIterator::rewind
FilesystemIterator
EmptyIterator
PHP Manual

EmptyIterator::valid

(PHP 5 >= 5.1.0, PHP 7)

EmptyIterator::valid — The valid() method

Beschreibung

public bool EmptyIterator::valid ( void )

The EmptyIterator valid() method.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

FALSE

EmptyIterator::rewind
FilesystemIterator
EmptyIterator


The FilesystemIterator class

(PHP 5 >= 5.3.0, PHP 7)

Einführung

The Filesystem iterator

Klassenbeschreibung

FilesystemIterator extends DirectoryIterator implements SeekableIterator {
/* Konstanten */
const integer CURRENT_AS_PATHNAME = 32 ;
const integer CURRENT_AS_FILEINFO = 0 ;
const integer CURRENT_AS_SELF = 16 ;
const integer CURRENT_MODE_MASK = 240 ;
const integer KEY_AS_PATHNAME = 0 ;
const integer KEY_AS_FILENAME = 256 ;
const integer FOLLOW_SYMLINKS = 512 ;
const integer KEY_MODE_MASK = 3840 ;
const integer NEW_CURRENT_AND_KEY = 256 ;
const integer SKIP_DOTS = 4096 ;
const integer UNIX_PATHS = 8192 ;
/* Methoden */
public __construct ( string $path [, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::SKIP_DOTS ] )
public mixed current ( void )
public int getFlags ( void )
public string key ( void )
public void next ( void )
public void rewind ( void )
public void setFlags ([ int $flags ] )
/* Geerbte Methoden */
public DirectoryIterator DirectoryIterator::current ( void )
public int DirectoryIterator::getATime ( void )
public string DirectoryIterator::getBasename ([ string $suffix ] )
public int DirectoryIterator::getCTime ( void )
public string DirectoryIterator::getExtension ( void )
public string DirectoryIterator::getFilename ( void )
public int DirectoryIterator::getGroup ( void )
public int DirectoryIterator::getInode ( void )
public int DirectoryIterator::getMTime ( void )
public int DirectoryIterator::getOwner ( void )
public string DirectoryIterator::getPath ( void )
public string DirectoryIterator::getPathname ( void )
public int DirectoryIterator::getPerms ( void )
public int DirectoryIterator::getSize ( void )
public string DirectoryIterator::getType ( void )
public bool DirectoryIterator::isDir ( void )
public bool DirectoryIterator::isDot ( void )
public bool DirectoryIterator::isExecutable ( void )
public bool DirectoryIterator::isFile ( void )
public bool DirectoryIterator::isLink ( void )
public bool DirectoryIterator::isReadable ( void )
public bool DirectoryIterator::isWritable ( void )
public string DirectoryIterator::key ( void )
public void DirectoryIterator::next ( void )
public void DirectoryIterator::rewind ( void )
public void DirectoryIterator::seek ( int $position )
public string DirectoryIterator::__toString ( void )
public bool DirectoryIterator::valid ( void )
}

Vordefinierte Konstanten

FilesystemIterator::CURRENT_AS_PATHNAME

Makes FilesystemIterator::current() return the pathname.

FilesystemIterator::CURRENT_AS_FILEINFO

Makes FilesystemIterator::current() return an SplFileInfo instance.

FilesystemIterator::CURRENT_AS_SELF

Makes FilesystemIterator::current() return $this (the FilesystemIterator).

FilesystemIterator::CURRENT_MODE_MASK

Masks FilesystemIterator::current()

FilesystemIterator::KEY_AS_PATHNAME

Makes FilesystemIterator::key() return the pathname.

FilesystemIterator::KEY_AS_FILENAME

Makes FilesystemIterator::key() return the filename.

FilesystemIterator::FOLLOW_SYMLINKS

Makes RecursiveDirectoryIterator::hasChildren() follow symlinks.

FilesystemIterator::KEY_MODE_MASK

Masks FilesystemIterator::key()

FilesystemIterator::NEW_CURRENT_AND_KEY

Same as FilesystemIterator::KEY_AS_FILENAME | FilesystemIterator::CURRENT_AS_FILEINFO.

FilesystemIterator::SKIP_DOTS

Skips dot files (. and ..).

FilesystemIterator::UNIX_PATHS

Makes paths use Unix-style forward slash irrespective of system default. Note that the path that is passed to the constructor is not modified.

Changelog

Version | Beschreibung
5.3.1 | Added FilesystemIterator::FOLLOW_SYMLINKS

Inhaltsverzeichnis

  • FilesystemIterator::__construct — Constructs a new filesystem iterator
  • FilesystemIterator::current — The current file
  • FilesystemIterator::getFlags — Get the handling flags
  • FilesystemIterator::key — Retrieve the key for the current file
  • FilesystemIterator::next — Move to the next file
  • FilesystemIterator::rewind — Rewinds back to the beginning
  • FilesystemIterator::setFlags — Sets handling flags
EmptyIterator::valid
FilesystemIterator::__construct
Iteratoren


Constructs a new filesystem iterator

FilesystemIterator
FilesystemIterator::current
FilesystemIterator
PHP Manual

FilesystemIterator::__construct

(PHP 5 >= 5.3.0, PHP 7)

FilesystemIterator::__construct — Constructs a new filesystem iterator

Beschreibung

public FilesystemIterator::__construct ( string $path [, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::SKIP_DOTS ] )

Constructs a new filesystem iterator from the path.

Parameter-Liste

path

The path of the filesystem item to be iterated over.

flags

Flags may be provided which will affect the behavior of some methods. A list of the flags can found under FilesystemIterator predefined constants. They can also be set later with FilesystemIterator::setFlags()

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

Throws an UnexpectedValueException if the path cannot be found.

Beispiele

Beispiel #1 FilesystemIterator::__construct() example

<?php
$it = new FilesystemIterator(dirname(__FILE__));
foreach ($it as $fileinfo) {
    echo $fileinfo->getFilename() . "\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

apples.jpg
banana.jpg
example.php

Siehe auch

  • FilesystemIterator::setFlags() - Sets handling flags
  • DirectoryIterator::__construct() - Constructs a new directory iterator from a path

FilesystemIterator
FilesystemIterator::current
FilesystemIterator


The current file

FilesystemIterator::__construct
FilesystemIterator::getFlags
FilesystemIterator
PHP Manual

FilesystemIterator::current

(PHP 5 >= 5.3.0, PHP 7)

FilesystemIterator::current — The current file

Beschreibung

public mixed FilesystemIterator::current ( void )

Get file information of the current element.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The filename, file information, or $this depending on the set flags. See the FilesystemIterator constants.

Beispiele

Beispiel #1 FilesystemIterator::current() example

This example will list the contents of the directory containing the script.

<?php
$iterator = new FilesystemIterator(__DIR__, FilesystemIterator::CURRENT_AS_PATHNAME);
foreach ($iterator as $fileinfo) {
    echo $iterator->current() . "\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

/www/examples/apple.jpg
/www/examples/banana.jpg
/www/examples/example.php

Siehe auch

  • FilesystemIterator constants
  • DirectoryIterator::current() - Return the current DirectoryIterator item.
  • DirectoryIterator::getFileName() - Return file name of current DirectoryIterator item.

FilesystemIterator::__construct
FilesystemIterator::getFlags
FilesystemIterator


Get the handling flags

FilesystemIterator::current
FilesystemIterator::key
FilesystemIterator
PHP Manual

FilesystemIterator::getFlags

(PHP 5 >= 5.3.0, PHP 7)

FilesystemIterator::getFlags — Get the handling flags

Beschreibung

public int FilesystemIterator::getFlags ( void )

Gets the handling flags, as set in FilesystemIterator::__construct() or FilesystemIterator::setFlags().

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The integer value of the set flags.

Siehe auch

  • FilesystemIterator::__construct() - Constructs a new filesystem iterator
  • FilesystemIterator::setFlags() - Sets handling flags

FilesystemIterator::current
FilesystemIterator::key
FilesystemIterator


Retrieve the key for the current file

FilesystemIterator::getFlags
FilesystemIterator::next
FilesystemIterator
PHP Manual

FilesystemIterator::key

(PHP 5 >= 5.3.0, PHP 7)

FilesystemIterator::key — Retrieve the key for the current file

Beschreibung

public string FilesystemIterator::key ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the pathname or filename depending on the set flags. See the FilesystemIterator constants.

Beispiele

Beispiel #1 FilesystemIterator::key() example

This example will list the contents of the directory containing the script.

<?php
$iterator = new FilesystemIterator(dirname(__FILE__), FilesystemIterator::KEY_AS_FILENAME);
foreach ($iterator as $fileinfo) {
    echo $iterator->key() . "\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

apple.jpg
banana.jpg
example.php

Siehe auch

  • FilesystemIterator constants
  • DirectoryIterator::key() - Return the key for the current DirectoryIterator item
  • DirectoryIterator::getFilename() - Return file name of current DirectoryIterator item.
  • DirectoryIterator::getPathname() - Return path and file name of current DirectoryIterator item

FilesystemIterator::getFlags
FilesystemIterator::next
FilesystemIterator


Move to the next file

FilesystemIterator::key
FilesystemIterator::rewind
FilesystemIterator
PHP Manual

FilesystemIterator::next

(PHP 5 >= 5.3.0, PHP 7)

FilesystemIterator::next — Move to the next file

Beschreibung

public void FilesystemIterator::next ( void )

Move to the next file.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 FilesystemIterator::next() example

List the contents of a directory using a while loop.

<?php
$iterator = new FilesystemIterator(dirname(__FILE__));
while($iterator->valid()) {
    echo $iterator->getFilename() . "\n";
    $iterator->next();
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

apple.jpg
banana.jpg
example.php

Siehe auch

  • DirectoryIterator::next() - Move forward to next DirectoryIterator item

FilesystemIterator::key
FilesystemIterator::rewind
FilesystemIterator


Rewinds back to the beginning

FilesystemIterator::next
FilesystemIterator::setFlags
FilesystemIterator
PHP Manual

FilesystemIterator::rewind

(PHP 5 >= 5.3.0, PHP 7)

FilesystemIterator::rewind — Rewinds back to the beginning

Beschreibung

public void FilesystemIterator::rewind ( void )

Rewinds the directory back to the start.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 FilesystemIterator::rewind() example

<?php
$iterator = new FilesystemIterator(dirname(__FILE__), FilesystemIterator::KEY_AS_FILENAME);

echo $iterator->key() . "\n";

$iterator->next();
echo $iterator->key() . "\n";

$iterator->rewind();
echo $iterator->key() . "\n";
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

apple.jpg
banana.jpg
apple.jpg

Siehe auch

  • DirectoryIterator::rewind() - Rewind the DirectoryIterator back to the start

FilesystemIterator::next
FilesystemIterator::setFlags
FilesystemIterator


Sets handling flags

FilesystemIterator::rewind
FilterIterator
FilesystemIterator
PHP Manual

FilesystemIterator::setFlags

(PHP 5 >= 5.3.0, PHP 7)

FilesystemIterator::setFlags — Sets handling flags

Beschreibung

public void FilesystemIterator::setFlags ([ int $flags ] )

Sets handling flags.

Parameter-Liste

flags

The handling flags to set. See the FilesystemIterator constants.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 FilesystemIterator::key() example

This example demonstrates the difference between the FilesystemIterator::KEY_AS_PATHNAME and FilesystemIterator::KEY_AS_FILENAME flags.

<?php
$iterator = new FilesystemIterator(dirname(__FILE__), FilesystemIterator::KEY_AS_PATHNAME);
echo "Key as Pathname:\n";
foreach ($iterator as $key => $fileinfo) {
    echo $key . "\n";
}

$iterator->setFlags(FilesystemIterator::KEY_AS_FILENAME);
echo "\nKey as Filename:\n";
foreach ($iterator as $key => $fileinfo) {
    echo $key . "\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Key as Pathname:
/www/examples/apple.jpg
/www/examples/banana.jpg
/www/examples/example.php

Key as Filename:
apple.jpg
banana.jpg
example.php

Siehe auch

  • FilesystemIterator::__construct() - Constructs a new filesystem iterator
  • FilesystemIterator::getFlags() - Get the handling flags

FilesystemIterator::rewind
FilterIterator
FilesystemIterator


The FilterIterator class

(PHP 5 >= 5.1.0, PHP 7)

Einführung

This abstract iterator filters out unwanted values. This class should be extended to implement custom iterator filters. The FilterIterator::accept() must be implemented in the subclass.

Klassenbeschreibung

abstract FilterIterator extends IteratorIterator implements OuterIterator {
/* Methoden */
public abstract bool accept ( void )
public __construct ( Iterator $iterator )
public mixed current ( void )
public Iterator getInnerIterator ( void )
public mixed key ( void )
public void next ( void )
public void rewind ( void )
public bool valid ( void )
}

Inhaltsverzeichnis

  • FilterIterator::accept — Check whether the current element of the iterator is acceptable
  • FilterIterator::__construct — Construct a filterIterator
  • FilterIterator::current — Get the current element value
  • FilterIterator::getInnerIterator — Get the inner iterator
  • FilterIterator::key — Get the current key
  • FilterIterator::next — Move the iterator forward
  • FilterIterator::rewind — Rewind the iterator
  • FilterIterator::valid — Check whether the current element is valid
FilesystemIterator::setFlags
FilterIterator::accept
Iteratoren


Check whether the current element of the iterator is acceptable

FilterIterator
FilterIterator::__construct
FilterIterator
PHP Manual

FilterIterator::accept

(PHP 5 >= 5.1.0, PHP 7)

FilterIterator::accept — Check whether the current element of the iterator is acceptable

Beschreibung

public abstract bool FilterIterator::accept ( void )

Returns whether the current element of the iterator is acceptable through this filter.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if the current element is acceptable, otherwise FALSE.

Beispiele

Beispiel #1 FilterIterator::accept() example

<?php
// This iterator filters all values with less than 10 characters
class LengthFilterIterator extends FilterIterator {

    public function accept() {
        // Only accept strings with a length of 10 and greater
        return strlen(parent::current()) >= 10;
    }

}

$arrayIterator = new ArrayIterator(array('test1', 'more than 10 characters'));
$lengthFilter = new LengthFilterIterator($arrayIterator);

foreach ($lengthFilter as $value) {
    echo $value . "\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

more than 10 characters

FilterIterator
FilterIterator::__construct
FilterIterator


Construct a filterIterator

FilterIterator::accept
FilterIterator::current
FilterIterator
PHP Manual

FilterIterator::__construct

(PHP 5 >= 5.1.0, PHP 7)

FilterIterator::__construct — Construct a filterIterator

Beschreibung

public FilterIterator::__construct ( Iterator $iterator )

Constructs a new FilterIterator, which consists of a passed in iterator with filters applied to it.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

iterator

The iterator that is being filtered.

Rückgabewerte

The FilterIterator.

Siehe auch

  • LimitIterator::__construct() - Construct a LimitIterator

FilterIterator::accept
FilterIterator::current
FilterIterator


Get the current element value

FilterIterator::__construct
FilterIterator::getInnerIterator
FilterIterator
PHP Manual

FilterIterator::current

(PHP 5 >= 5.1.0, PHP 7)

FilterIterator::current — Get the current element value

Beschreibung

public mixed FilterIterator::current ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Get the current element value.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current element value.

Siehe auch

  • FilterIterator::key() - Get the current key
  • FilterIterator::next() - Move the iterator forward

FilterIterator::__construct
FilterIterator::getInnerIterator
FilterIterator


Get the inner iterator

FilterIterator::current
FilterIterator::key
FilterIterator
PHP Manual

FilterIterator::getInnerIterator

(PHP 5 >= 5.1.0, PHP 7)

FilterIterator::getInnerIterator — Get the inner iterator

Beschreibung

public Iterator FilterIterator::getInnerIterator ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Get the inner iterator.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The inner iterator.

FilterIterator::current
FilterIterator::key
FilterIterator


Get the current key

FilterIterator::getInnerIterator
FilterIterator::next
FilterIterator
PHP Manual

FilterIterator::key

(PHP 5 >= 5.1.0, PHP 7)

FilterIterator::key — Get the current key

Beschreibung

public mixed FilterIterator::key ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Get the current key.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current key.

Siehe auch

  • FilterIterator::next() - Move the iterator forward
  • FilterIterator::current() - Get the current element value

FilterIterator::getInnerIterator
FilterIterator::next
FilterIterator


Move the iterator forward

FilterIterator::key
FilterIterator::rewind
FilterIterator
PHP Manual

FilterIterator::next

(PHP 5 >= 5.1.0, PHP 7)

FilterIterator::next — Move the iterator forward

Beschreibung

public void FilterIterator::next ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Move the iterator forward.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • FilterIterator::current() - Get the current element value
  • FilterIterator::next()

FilterIterator::key
FilterIterator::rewind
FilterIterator


Rewind the iterator

FilterIterator::next
FilterIterator::valid
FilterIterator
PHP Manual

FilterIterator::rewind

(PHP 5 >= 5.1.0, PHP 7)

FilterIterator::rewind — Rewind the iterator

Beschreibung

public void FilterIterator::rewind ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Rewind the iterator.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • FilterIterator::current() - Get the current element value
  • FilterIterator::key() - Get the current key
  • FilterIterator::next() - Move the iterator forward

FilterIterator::next
FilterIterator::valid
FilterIterator


Check whether the current element is valid

FilterIterator::rewind
GlobIterator
FilterIterator
PHP Manual

FilterIterator::valid

(PHP 5 >= 5.1.0, PHP 7)

FilterIterator::valid — Check whether the current element is valid

Beschreibung

public bool FilterIterator::valid ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Checks whether the current element is valid.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if the current element is valid, otherwise FALSE

FilterIterator::rewind
GlobIterator
FilterIterator


The GlobIterator class

(PHP 5 >= 5.3.0, PHP 7)

Einführung

Iterates through a file system in a similar fashion to glob().

Klassenbeschreibung

GlobIterator extends FilesystemIterator implements SeekableIterator , Countable {
/* Methoden */
public __construct ( string $path [, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO ] )
public int count ( void )
/* Geerbte Methoden */
public FilesystemIterator::__construct ( string $path [, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::SKIP_DOTS ] )
public mixed FilesystemIterator::current ( void )
public int FilesystemIterator::getFlags ( void )
public string FilesystemIterator::key ( void )
public void FilesystemIterator::next ( void )
public void FilesystemIterator::rewind ( void )
public void FilesystemIterator::setFlags ([ int $flags ] )
}

Inhaltsverzeichnis

  • GlobIterator::__construct — Construct a directory using glob
  • GlobIterator::count — Get the number of directories and files
FilterIterator::valid
GlobIterator::__construct
Iteratoren


Construct a directory using glob

GlobIterator
GlobIterator::count
GlobIterator
PHP Manual

GlobIterator::__construct

(PHP 5 >= 5.3.0, PHP 7)

GlobIterator::__construct — Construct a directory using glob

Beschreibung

public GlobIterator::__construct ( string $path [, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO ] )

Constructs a new directory iterator from a glob expression.

Parameter-Liste

path

The path of the directory.

flags

Option flags, the flags may be a bitmask of the FilesystemIterator constants.

Beispiele

Beispiel #1 GlobIterator example

<?php
$iterator = new GlobIterator('*.dll', FilesystemIterator::KEY_AS_FILENAME);

if (!$iterator->count()) {
    echo 'No matches';
} else {
    $n = 0;

    printf("Matched %d item(s)\r\n", $iterator->count());

    foreach ($iterator as $item) {
        printf("[%d] %s\r\n", ++$n, $iterator->key());
    }
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Matched 2 item(s)
[1] php5ts.dll
[2] php_gd2.dll

Siehe auch

  • DirectoryIterator::__construct() - Constructs a new directory iterator from a path
  • GlobIterator::count() - Get the number of directories and files
  • glob() - Findet Dateinamen, die mit einem Muster übereinstimmen

GlobIterator
GlobIterator::count
GlobIterator


Get the number of directories and files

GlobIterator::__construct
InfiniteIterator
GlobIterator
PHP Manual

GlobIterator::count

(PHP 5 >= 5.3.0, PHP 7)

GlobIterator::count — Get the number of directories and files

Beschreibung

public int GlobIterator::count ( void )

Gets the number of directories and files found by the glob expression.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The number of returned directories and files, as an integer.

Beispiele

Beispiel #1 GlobIterator::count() example

<?php
$iterator = new GlobIterator('*.xml');

printf("Matched %d item(s)\r\n", $iterator->count());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Matched 8 item(s)

Siehe auch

  • GlobIterator::__construct() - Construct a directory using glob
  • count() - Zählt alle Elemente eines Arrays oder etwas in einem Objekt
  • glob() - Findet Dateinamen, die mit einem Muster übereinstimmen

GlobIterator::__construct
InfiniteIterator
GlobIterator


The InfiniteIterator class

(PHP 5 >= 5.1.0, PHP 7)

Einführung

The InfiniteIterator allows one to infinitely iterate over an iterator without having to manually rewind the iterator upon reaching its end.

Klassenbeschreibung

InfiniteIterator extends IteratorIterator implements OuterIterator {
/* Methoden */
public __construct ( Iterator $iterator )
public void next ( void )
/* Geerbte Methoden */
public IteratorIterator::__construct ( Traversable $iterator )
public mixed IteratorIterator::current ( void )
public Traversable IteratorIterator::getInnerIterator ( void )
public scalar IteratorIterator::key ( void )
public void IteratorIterator::next ( void )
public void IteratorIterator::rewind ( void )
public bool IteratorIterator::valid ( void )
}

Inhaltsverzeichnis

  • InfiniteIterator::__construct — Constructs an InfiniteIterator
  • InfiniteIterator::next — Moves the inner Iterator forward or rewinds it
GlobIterator::count
InfiniteIterator::__construct
Iteratoren


Constructs an InfiniteIterator

InfiniteIterator
InfiniteIterator::next
InfiniteIterator
PHP Manual

InfiniteIterator::__construct

(PHP 5 >= 5.1.0, PHP 7)

InfiniteIterator::__construct — Constructs an InfiniteIterator

Beschreibung

public InfiniteIterator::__construct ( Iterator $iterator )

Constructs an InfiniteIterator from an Iterator.

Parameter-Liste

iterator

The iterator to infinitely iterate over.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

Throws an E_RECOVERABLE_ERROR if the iterator parameter is not an Iterator.

Beispiele

Beispiel #1 InfiniteIterator::__construct() example

<?php
$arrayit  = new ArrayIterator(array('cat','dog'));
$infinite = new InfiniteIterator($arrayit);
$limit    = new LimitIterator($infinite, 0, 7);
foreach($limit as $value)
{
    echo "$value\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

cat
dog
cat
dog
cat
dog
cat

Siehe auch

  • InfiniteIterator::next() - Moves the inner Iterator forward or rewinds it

InfiniteIterator
InfiniteIterator::next
InfiniteIterator


Moves the inner Iterator forward or rewinds it

InfiniteIterator::__construct
IteratorIterator
InfiniteIterator
PHP Manual

InfiniteIterator::next

(PHP 5 >= 5.1.0, PHP 7)

InfiniteIterator::next — Moves the inner Iterator forward or rewinds it

Beschreibung

public void InfiniteIterator::next ( void )

Moves the inner Iterator forward to its next element if there is one, otherwise rewinds the inner Iterator back to the beginning.

Hinweis:

Even an InfiniteIterator stops if its inner Iterator is empty.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • InfiniteIterator::__construct() - Constructs an InfiniteIterator

InfiniteIterator::__construct
IteratorIterator
InfiniteIterator


The IteratorIterator class

(PHP 5 >= 5.1.0, PHP 7)

Einführung

This iterator wrapper allows the conversion of anything that is Traversable into an Iterator. It is important to understand that most classes that do not implement Iterators have reasons as most likely they do not allow the full Iterator feature set. If so, techniques should be provided to prevent misuse, otherwise expect exceptions or fatal errors.

Klassenbeschreibung

IteratorIterator implements OuterIterator {
/* Methoden */
public __construct ( Traversable $iterator )
public mixed current ( void )
public Traversable getInnerIterator ( void )
public scalar key ( void )
public void next ( void )
public void rewind ( void )
public bool valid ( void )
}

Anmerkungen

Hinweis:

This class permits access to methods of the inner iterator via the __call magic method.

Inhaltsverzeichnis

  • IteratorIterator::__construct — Create an iterator from anything that is traversable
  • IteratorIterator::current — Get the current value
  • IteratorIterator::getInnerIterator — Get the inner iterator
  • IteratorIterator::key — Get the key of the current element
  • IteratorIterator::next — Forward to the next element
  • IteratorIterator::rewind — Rewind to the first element
  • IteratorIterator::valid — Checks if the iterator is valid
InfiniteIterator::next
IteratorIterator::__construct
Iteratoren


Create an iterator from anything that is traversable

IteratorIterator
IteratorIterator::current
IteratorIterator
PHP Manual

IteratorIterator::__construct

(PHP 5 >= 5.1.0, PHP 7)

IteratorIterator::__construct — Create an iterator from anything that is traversable

Beschreibung

public IteratorIterator::__construct ( Traversable $iterator )

Creates an iterator from anything that is traversable.

Parameter-Liste

iterator

The traversable iterator.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • Traversable

IteratorIterator
IteratorIterator::current
IteratorIterator


Get the current value

IteratorIterator::__construct
IteratorIterator::getInnerIterator
IteratorIterator
PHP Manual

IteratorIterator::current

(PHP 5 >= 5.1.0, PHP 7)

IteratorIterator::current — Get the current value

Beschreibung

public mixed IteratorIterator::current ( void )

Get the value of the current element.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The value of the current element.

Siehe auch

  • IteratorIterator::key() - Get the key of the current element

IteratorIterator::__construct
IteratorIterator::getInnerIterator
IteratorIterator


Get the inner iterator

IteratorIterator::current
IteratorIterator::key
IteratorIterator
PHP Manual

IteratorIterator::getInnerIterator

(PHP 5 >= 5.1.0, PHP 7)

IteratorIterator::getInnerIterator — Get the inner iterator

Beschreibung

public Traversable IteratorIterator::getInnerIterator ( void )

Get the inner iterator.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The inner iterator as passed to IteratorIterator::__construct().

Siehe auch

  • Iterator
  • OuterIterator

IteratorIterator::current
IteratorIterator::key
IteratorIterator


Get the key of the current element

IteratorIterator::getInnerIterator
IteratorIterator::next
IteratorIterator
PHP Manual

IteratorIterator::key

(PHP 5 >= 5.1.0, PHP 7)

IteratorIterator::key — Get the key of the current element

Beschreibung

public scalar IteratorIterator::key ( void )

Get the key of the current element.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The key of the current element.

Siehe auch

  • IteratorIterator::current() - Get the current value

IteratorIterator::getInnerIterator
IteratorIterator::next
IteratorIterator


Forward to the next element

IteratorIterator::key
IteratorIterator::rewind
IteratorIterator
PHP Manual

IteratorIterator::next

(PHP 5 >= 5.1.0, PHP 7)

IteratorIterator::next — Forward to the next element

Beschreibung

public void IteratorIterator::next ( void )

Forward to the next element.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • IteratorIterator::rewind() - Rewind to the first element
  • IteratorIterator::valid() - Checks if the iterator is valid

IteratorIterator::key
IteratorIterator::rewind
IteratorIterator


Rewind to the first element

IteratorIterator::next
IteratorIterator::valid
IteratorIterator
PHP Manual

IteratorIterator::rewind

(PHP 5 >= 5.1.0, PHP 7)

IteratorIterator::rewind — Rewind to the first element

Beschreibung

public void IteratorIterator::rewind ( void )

Rewinds to the first element.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • IteratorIterator::next() - Forward to the next element
  • IteratorIterator::valid() - Checks if the iterator is valid

IteratorIterator::next
IteratorIterator::valid
IteratorIterator


Checks if the iterator is valid

IteratorIterator::rewind
LimitIterator
IteratorIterator
PHP Manual

IteratorIterator::valid

(PHP 5 >= 5.1.0, PHP 7)

IteratorIterator::valid — Checks if the iterator is valid

Beschreibung

public bool IteratorIterator::valid ( void )

Checks if the iterator is valid.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the iterator is valid, otherwise FALSE

Siehe auch

  • iterator_count() - Count the elements in an iterator
  • IteratorIterator::current() - Get the current value

IteratorIterator::rewind
LimitIterator
IteratorIterator


The LimitIterator class

(PHP 5 >= 5.1.0, PHP 7)

Einführung

The LimitIterator class allows iteration over a limited subset of items in an Iterator.

Klassenbeschreibung

LimitIterator extends IteratorIterator implements OuterIterator {
/* Methoden */
public __construct ( Iterator $iterator [, int $offset = 0 [, int $count = -1 ]] )
public mixed current ( void )
public Iterator getInnerIterator ( void )
public int getPosition ( void )
public mixed key ( void )
public void next ( void )
public void rewind ( void )
public int seek ( int $position )
public bool valid ( void )
}

Beispiele

Beispiel #1 LimitIterator usage example

<?php

// Create an iterator to be limited
$fruits = new ArrayIterator(array(
    'apple',
    'banana',
    'cherry',
    'damson',
    'elderberry'
));

// Loop over first three fruits only
foreach (new LimitIterator($fruits, 0, 3) as $fruit) {
    var_dump($fruit);
}

echo "\n";

// Loop from third fruit until the end
// Note: offset starts from zero for apple
foreach (new LimitIterator($fruits, 2) as $fruit) {
    var_dump($fruit);
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(5) "apple"
string(6) "banana"
string(6) "cherry"

string(6) "cherry"
string(6) "damson"
string(10) "elderberry"

Inhaltsverzeichnis

  • LimitIterator::__construct — Construct a LimitIterator
  • LimitIterator::current — Get current element
  • LimitIterator::getInnerIterator — Get inner iterator
  • LimitIterator::getPosition — Return the current position
  • LimitIterator::key — Get current key
  • LimitIterator::next — Move the iterator forward
  • LimitIterator::rewind — Rewind the iterator to the specified starting offset
  • LimitIterator::seek — Seek to the given position
  • LimitIterator::valid — Check whether the current element is valid
IteratorIterator::valid
LimitIterator::__construct
Iteratoren


Construct a LimitIterator

LimitIterator
LimitIterator::current
LimitIterator
PHP Manual

LimitIterator::__construct

(PHP 5 >= 5.1.0, PHP 7)

LimitIterator::__construct — Construct a LimitIterator

Beschreibung

public LimitIterator::__construct ( Iterator $iterator [, int $offset = 0 [, int $count = -1 ]] )

Constructs a new LimitIterator from an iterator with a given starting offset and maximum count.

Parameter-Liste

iterator

The Iterator to limit.

offset

Optional offset of the limit.

count

Optional count of the limit.

Rückgabewerte

The new LimitIterator.

Fehler/Exceptions

Throws an OutOfRangeException if the offset is less than 0 or the count is less than -1.

Beispiele

Beispiel #1 LimitIterator::__construct() example

<?php
$ait = new ArrayIterator(array('a', 'b', 'c', 'd', 'e'));
$lit = new LimitIterator($ait, 1, 3);
foreach ($lit as $value) {
    echo $value . "\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

b
c
d

Siehe auch

  • LimitIterator examples

LimitIterator
LimitIterator::current
LimitIterator


Get current element

LimitIterator::__construct
LimitIterator::getInnerIterator
LimitIterator
PHP Manual

LimitIterator::current

(PHP 5 >= 5.1.0, PHP 7)

LimitIterator::current — Get current element

Beschreibung

public mixed LimitIterator::current ( void )

Gets the current element of the inner Iterator.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current element or NULL if there is none.

Siehe auch

  • LimitIterator::key() - Get current key
  • LimitIterator::next() - Move the iterator forward
  • LimitIterator::rewind() - Rewind the iterator to the specified starting offset
  • LimitIterator::seek() - Seek to the given position
  • LimitIterator::valid() - Check whether the current element is valid

LimitIterator::__construct
LimitIterator::getInnerIterator
LimitIterator


Get inner iterator

LimitIterator::current
LimitIterator::getPosition
LimitIterator
PHP Manual

LimitIterator::getInnerIterator

(PHP 5 >= 5.1.0, PHP 7)

LimitIterator::getInnerIterator — Get inner iterator

Beschreibung

public Iterator LimitIterator::getInnerIterator ( void )

Gets the inner Iterator.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The inner iterator passed to LimitIterator::__construct().

Siehe auch

  • LimitIterator::__construct() - Construct a LimitIterator
  • IteratorIterator::getInnerIterator() - Get the inner iterator

LimitIterator::current
LimitIterator::getPosition
LimitIterator


Return the current position

LimitIterator::getInnerIterator
LimitIterator::key
LimitIterator
PHP Manual

LimitIterator::getPosition

(PHP 5 >= 5.1.0, PHP 7)

LimitIterator::getPosition — Return the current position

Beschreibung

public int LimitIterator::getPosition ( void )

Gets the current zero-based position of the inner Iterator.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current position.

Beispiele

Beispiel #1 LimitIterator::getPosition() example

<?php
$fruits = array(
    'a' => 'apple',
    'b' => 'banana',
    'c' => 'cherry',
    'd' => 'damson',
    'e' => 'elderberry'
);
$array_it = new ArrayIterator($fruits);
$limit_it = new LimitIterator($array_it, 2, 3);
foreach ($limit_it as $item) {
    echo $limit_it->getPosition() . ' ' . $item . "\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

2 cherry
3 damson
4 elderberry

Siehe auch

  • FilterIterator::key() - Get the current key

LimitIterator::getInnerIterator
LimitIterator::key
LimitIterator


Get current key

LimitIterator::getPosition
LimitIterator::next
LimitIterator
PHP Manual

LimitIterator::key

(PHP 5 >= 5.1.0, PHP 7)

LimitIterator::key — Get current key

Beschreibung

public mixed LimitIterator::key ( void )

Gets the key for the current item in the inner Iterator.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the key for the current item.

Siehe auch

  • LimitIterator::getPosition() - Return the current position
  • LimitIterator::current() - Get current element
  • LimitIterator::next() - Move the iterator forward
  • LimitIterator::rewind() - Rewind the iterator to the specified starting offset
  • LimitIterator::seek() - Seek to the given position
  • LimitIterator::valid() - Check whether the current element is valid

LimitIterator::getPosition
LimitIterator::next
LimitIterator


Move the iterator forward

LimitIterator::key
LimitIterator::rewind
LimitIterator
PHP Manual

LimitIterator::next

(PHP 5 >= 5.1.0, PHP 7)

LimitIterator::next — Move the iterator forward

Beschreibung

public void LimitIterator::next ( void )

Moves the iterator forward.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • LimitIterator::current() - Get current element
  • LimitIterator::key() - Get current key
  • LimitIterator::rewind() - Rewind the iterator to the specified starting offset
  • LimitIterator::seek() - Seek to the given position
  • LimitIterator::valid() - Check whether the current element is valid

LimitIterator::key
LimitIterator::rewind
LimitIterator


Rewind the iterator to the specified starting offset

LimitIterator::next
LimitIterator::seek
LimitIterator
PHP Manual

LimitIterator::rewind

(PHP 5 >= 5.1.0, PHP 7)

LimitIterator::rewind — Rewind the iterator to the specified starting offset

Beschreibung

public void LimitIterator::rewind ( void )

Rewinds the iterator to the starting offset specified in LimitIterator::__construct().

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • LimitIterator::current() - Get current element
  • LimitIterator::key() - Get current key
  • LimitIterator::next() - Move the iterator forward
  • LimitIterator::seek() - Seek to the given position
  • LimitIterator::valid() - Check whether the current element is valid

LimitIterator::next
LimitIterator::seek
LimitIterator


Seek to the given position

LimitIterator::rewind
LimitIterator::valid
LimitIterator
PHP Manual

LimitIterator::seek

(PHP 5 >= 5.1.0, PHP 7)

LimitIterator::seek — Seek to the given position

Beschreibung

public int LimitIterator::seek ( int $position )

Moves the iterator to the offset specified by position.

Parameter-Liste

position

The position to seek to.

Rückgabewerte

Returns the offset position after seeking.

Fehler/Exceptions

Throws an OutOfBoundsException if the position is outside of the limits specified in LimitIterator::__construct().

Siehe auch

  • LimitIterator::current() - Get current element
  • LimitIterator::key() - Get current key
  • LimitIterator::rewind() - Rewind the iterator to the specified starting offset
  • LimitIterator::next() - Move the iterator forward
  • LimitIterator::valid() - Check whether the current element is valid

LimitIterator::rewind
LimitIterator::valid
LimitIterator


Check whether the current element is valid

LimitIterator::seek
MultipleIterator
LimitIterator
PHP Manual

LimitIterator::valid

(PHP 5 >= 5.1.0, PHP 7)

LimitIterator::valid — Check whether the current element is valid

Beschreibung

public bool LimitIterator::valid ( void )

Checks whether the current element is valid.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • LimitIterator::current() - Get current element
  • LimitIterator::key() - Get current key
  • LimitIterator::rewind() - Rewind the iterator to the specified starting offset
  • LimitIterator::next() - Move the iterator forward
  • LimitIterator::seek() - Seek to the given position

LimitIterator::seek
MultipleIterator
LimitIterator


The MultipleIterator class

(PHP 5 >= 5.3.0, PHP 7)

Einführung

An Iterator that sequentially iterates over all attached iterators

Klassenbeschreibung

MultipleIterator implements Iterator {
/* Konstanten */
const integer MIT_NEED_ANY = 0 ;
const integer MIT_NEED_ALL = 1 ;
const integer MIT_KEYS_NUMERIC = 0 ;
const integer MIT_KEYS_ASSOC = 2 ;
/* Methoden */
public __construct ([ int $flags = MultipleIterator::MIT_NEED_ALL|MultipleIterator::MIT_KEYS_NUMERIC ] )
public void attachIterator ( Iterator $iterator [, string $infos ] )
public bool containsIterator ( Iterator $iterator )
public int countIterators ( void )
public array current ( void )
public void detachIterator ( Iterator $iterator )
public int getFlags ( void )
public array key ( void )
public void next ( void )
public void rewind ( void )
public void setFlags ( int $flags )
public bool valid ( void )
}

Vordefinierte Konstanten

MultipleIterator::MIT_NEED_ANY

Do not require all sub iterators to be valid in iteration.

MultipleIterator::MIT_NEED_ALL

Require all sub iterators to be valid in iteration.

MultipleIterator::MIT_KEYS_NUMERIC

Keys are created from the sub iterators position.

MultipleIterator::MIT_KEYS_ASSOC

Keys are created from sub iterators associated information.

Inhaltsverzeichnis

  • MultipleIterator::attachIterator — Attaches iterator information
  • MultipleIterator::__construct — Constructs a new MultipleIterator
  • MultipleIterator::containsIterator — Checks if an iterator is attached
  • MultipleIterator::countIterators — Gets the number of attached iterator instances
  • MultipleIterator::current — Gets the registered iterator instances
  • MultipleIterator::detachIterator — Detaches an iterator
  • MultipleIterator::getFlags — Gets the flag information
  • MultipleIterator::key — Gets the registered iterator instances
  • MultipleIterator::next — Moves all attached iterator instances forward
  • MultipleIterator::rewind — Rewinds all attached iterator instances
  • MultipleIterator::setFlags — Sets flags
  • MultipleIterator::valid — Checks the validity of sub iterators
LimitIterator::valid
MultipleIterator::attachIterator
Iteratoren


Attaches iterator information

MultipleIterator
MultipleIterator::__construct
MultipleIterator
PHP Manual

MultipleIterator::attachIterator

(PHP 5 >= 5.3.0, PHP 7)

MultipleIterator::attachIterator — Attaches iterator information

Beschreibung

public void MultipleIterator::attachIterator ( Iterator $iterator [, string $infos ] )

Attaches iterator information.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

iterator

The new iterator to attach.

infos

The associative information for the Iterator, which must be an integer, a string, or NULL.

Rückgabewerte

Description...

Fehler/Exceptions

An IllegalValueException if the iterator parameter is invalid, or if infos is already associated information.

Siehe auch

  • MultipleIterator::__construct() - Constructs a new MultipleIterator

MultipleIterator
MultipleIterator::__construct
MultipleIterator


Constructs a new MultipleIterator

MultipleIterator::attachIterator
MultipleIterator::containsIterator
MultipleIterator
PHP Manual

MultipleIterator::__construct

(PHP 5 >= 5.3.0, PHP 7)

MultipleIterator::__construct — Constructs a new MultipleIterator

Beschreibung

public MultipleIterator::__construct ([ int $flags = MultipleIterator::MIT_NEED_ALL|MultipleIterator::MIT_KEYS_NUMERIC ] )

Construct a new MultipleIterator.

Parameter-Liste

flags

The flags to set, according to the Flag Constants.

  • MultipleIterator::MIT_NEED_ALL or MultipleIterator::MIT_NEED_ANY
  • MultipleIterator::MIT_KEYS_NUMERIC or MultipleIterator::MIT_KEYS_ASSOC

Defaults to MultipleIterator::MIT_NEED_ALL|MultipleIterator::MIT_KEYS_NUMERIC.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Iterating a MultipleIterator

<?php
$people = new ArrayIterator(array('John', 'Jane', 'Jack', 'Judy'));
$roles  = new ArrayIterator(array('Developer', 'Scrum Master', 'Project Owner'));

$team = new MultipleIterator($flags);
$team->attachIterator($people, 'person');
$team->attachIterator($roles, 'role');

foreach ($team as $member) {
    print_r($member);
}
?>

Output with $flags = MIT_NEED_ALL|MIT_KEYS_NUMERIC

Array
(
    [0] => John
    [1] => Developer
)
Array
(
    [0] => Jane
    [1] => Scrum Master
)
Array
(
    [0] => Jack
    [1] => Project Owner
)

Output with $flags = MIT_NEED_ANY|MIT_KEYS_NUMERIC

Array
(
    [0] => John
    [1] => Developer
)
Array
(
    [0] => Jane
    [1] => Scrum Master
)
Array
(
    [0] => Jack
    [1] => Project Owner
)
Array
(
    [0] => Judy
    [1] =>
)

Output with $flags = MIT_NEED_ALL|MIT_KEYS_ASSOC

Array
(
    [person] => John
    [role] => Developer
)
Array
(
    [person] => Jane
    [role] => Scrum Master
)
Array
(
    [person] => Jack
    [role] => Project Owner
)

Output with $flags = MIT_NEED_ANY|MIT_KEYS_ASSOC

Array
(
    [person] => John
    [role] => Developer
)
Array
(
    [person] => Jane
    [role] => Scrum Master
)
Array
(
    [person] => Jack
    [role] => Project Owner
)
Array
(
    [person] => Judy
    [role] =>
)

Siehe auch

  • Flag Constants
  • MultipleIterator::valid() - Checks the validity of sub iterators

MultipleIterator::attachIterator
MultipleIterator::containsIterator
MultipleIterator


Checks if an iterator is attached

MultipleIterator::__construct
MultipleIterator::countIterators
MultipleIterator
PHP Manual

MultipleIterator::containsIterator

(PHP 5 >= 5.3.0, PHP 7)

MultipleIterator::containsIterator — Checks if an iterator is attached

Beschreibung

public bool MultipleIterator::containsIterator ( Iterator $iterator )

Checks if an iterator is attached or not.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

iterator

The iterator to check.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • MultipleIterator::valid() - Checks the validity of sub iterators

MultipleIterator::__construct
MultipleIterator::countIterators
MultipleIterator


Gets the number of attached iterator instances

MultipleIterator::containsIterator
MultipleIterator::current
MultipleIterator
PHP Manual

MultipleIterator::countIterators

(PHP 5 >= 5.3.0, PHP 7)

MultipleIterator::countIterators — Gets the number of attached iterator instances

Beschreibung

public int MultipleIterator::countIterators ( void )

Gets the number of attached iterator instances.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The number of attached iterator instances (as an integer).

Siehe auch

  • MultipleIterator::containsIterator() - Checks if an iterator is attached

MultipleIterator::containsIterator
MultipleIterator::current
MultipleIterator


Gets the registered iterator instances

MultipleIterator::countIterators
MultipleIterator::detachIterator
MultipleIterator
PHP Manual

MultipleIterator::current

(PHP 5 >= 5.3.0, PHP 7)

MultipleIterator::current — Gets the registered iterator instances

Beschreibung

public array MultipleIterator::current ( void )

Get the registered iterator instances current() result.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An array containing the current values of each attached iterator, or FALSE if no iterators are attached.

Fehler/Exceptions

A RuntimeException if mode MIT_NEED_ALL is set and at least one attached iterator is not valid. Or an IllegalValueException if a key is NULL and MIT_KEYS_ASSOC is set.

Siehe auch

  • MultipleIterator::valid() - Checks the validity of sub iterators

MultipleIterator::countIterators
MultipleIterator::detachIterator
MultipleIterator


Detaches an iterator

MultipleIterator::current
MultipleIterator::getFlags
MultipleIterator
PHP Manual

MultipleIterator::detachIterator

(PHP 5 >= 5.3.0, PHP 7)

MultipleIterator::detachIterator — Detaches an iterator

Beschreibung

public void MultipleIterator::detachIterator ( Iterator $iterator )

Detaches an iterator.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

iterator

The iterator to detach.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • MultipleIterator::attachIterator() - Attaches iterator information

MultipleIterator::current
MultipleIterator::getFlags
MultipleIterator


Gets the flag information

MultipleIterator::detachIterator
MultipleIterator::key
MultipleIterator
PHP Manual

MultipleIterator::getFlags

(PHP 5 >= 5.3.0, PHP 7)

MultipleIterator::getFlags — Gets the flag information

Beschreibung

public int MultipleIterator::getFlags ( void )

Gets information about the flags.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Information about the flags, as an integer.

Siehe auch

  • Flag Constants
  • MultipleIterator::__construct() - Constructs a new MultipleIterator
  • MultipleIterator::setFlags() - Sets flags

MultipleIterator::detachIterator
MultipleIterator::key
MultipleIterator


Gets the registered iterator instances

MultipleIterator::getFlags
MultipleIterator::next
MultipleIterator
PHP Manual

MultipleIterator::key

(PHP 5 >= 5.3.0, PHP 7)

MultipleIterator::key — Gets the registered iterator instances

Beschreibung

public array MultipleIterator::key ( void )

Get the registered iterator instances key() result.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An array of all registered iterator instances, or FALSE if no sub iterator is attached.

Fehler/Exceptions

A LogicException if mode MIT_NEED_ALL is set, and at least one attached iterator is not valid.

Calling this method from foreach triggers warning "Illegal type returned".

Siehe auch

  • MultipleIterator::current() - Gets the registered iterator instances

MultipleIterator::getFlags
MultipleIterator::next
MultipleIterator


Moves all attached iterator instances forward

MultipleIterator::key
MultipleIterator::rewind
MultipleIterator
PHP Manual

MultipleIterator::next

(PHP 5 >= 5.3.0, PHP 7)

MultipleIterator::next — Moves all attached iterator instances forward

Beschreibung

public void MultipleIterator::next ( void )

Moves all attached iterator instances forward.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • MultipleIterator::rewind() - Rewinds all attached iterator instances

MultipleIterator::key
MultipleIterator::rewind
MultipleIterator


Rewinds all attached iterator instances

MultipleIterator::next
MultipleIterator::setFlags
MultipleIterator
PHP Manual

MultipleIterator::rewind

(PHP 5 >= 5.3.0, PHP 7)

MultipleIterator::rewind — Rewinds all attached iterator instances

Beschreibung

public void MultipleIterator::rewind ( void )

Rewinds all attached iterator instances.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • MultipleIterator::next() - Moves all attached iterator instances forward

MultipleIterator::next
MultipleIterator::setFlags
MultipleIterator


Sets flags

MultipleIterator::rewind
MultipleIterator::valid
MultipleIterator
PHP Manual

MultipleIterator::setFlags

(PHP 5 >= 5.3.0, PHP 7)

MultipleIterator::setFlags — Sets flags

Beschreibung

public void MultipleIterator::setFlags ( int $flags )

Sets flags.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

flags

The flags to set, according to the Flag Constants

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • Flag Constants
  • MultipleIterator::__construct() - Constructs a new MultipleIterator
  • MultipleIterator::getFlags() - Gets the flag information

MultipleIterator::rewind
MultipleIterator::valid
MultipleIterator


Checks the validity of sub iterators

MultipleIterator::setFlags
NoRewindIterator
MultipleIterator
PHP Manual

MultipleIterator::valid

(PHP 5 >= 5.3.0, PHP 7)

MultipleIterator::valid — Checks the validity of sub iterators

Beschreibung

public bool MultipleIterator::valid ( void )

Checks the validity of sub iterators.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if one or all sub iterators are valid depending on flags, otherwise FALSE

Siehe auch

  • MultipleIterator::__construct() - Constructs a new MultipleIterator

MultipleIterator::setFlags
NoRewindIterator
MultipleIterator


The NoRewindIterator class

(PHP 5 >= 5.1.0, PHP 7)

Einführung

This iterator cannot be rewound.

Klassenbeschreibung

NoRewindIterator extends IteratorIterator {
/* Methoden */
public __construct ( Iterator $iterator )
public mixed current ( void )
public iterator getInnerIterator ( void )
public mixed key ( void )
public void next ( void )
public void rewind ( void )
public bool valid ( void )
/* Geerbte Methoden */
public IteratorIterator::__construct ( Traversable $iterator )
public mixed IteratorIterator::current ( void )
public Traversable IteratorIterator::getInnerIterator ( void )
public scalar IteratorIterator::key ( void )
public void IteratorIterator::next ( void )
public void IteratorIterator::rewind ( void )
public bool IteratorIterator::valid ( void )
}

Inhaltsverzeichnis

  • NoRewindIterator::__construct — Construct a NoRewindIterator
  • NoRewindIterator::current — Get the current value
  • NoRewindIterator::getInnerIterator — Get the inner iterator
  • NoRewindIterator::key — Get the current key
  • NoRewindIterator::next — Forward to the next element
  • NoRewindIterator::rewind — Prevents the rewind operation on the inner iterator.
  • NoRewindIterator::valid — Validates the iterator
MultipleIterator::valid
NoRewindIterator::__construct
Iteratoren


Construct a NoRewindIterator

NoRewindIterator
NoRewindIterator::current
NoRewindIterator
PHP Manual

NoRewindIterator::__construct

(PHP 5 >= 5.1.0, PHP 7)

NoRewindIterator::__construct — Construct a NoRewindIterator

Beschreibung

public NoRewindIterator::__construct ( Iterator $iterator )

Constructs a NoRewindIterator.

Parameter-Liste

iterator

The iterator being used.

Rückgabewerte

A NoRewindIterator() based on the passed in iterator.

Beispiele

Beispiel #1 NoRewindIterator::__construct() example

The second loop does not output because the iterator is only used once, as it does not rewind.

<?php
$fruit = array('apple', 'banana', 'cranberry');

$arr = new ArrayObject($fruit);
$it  = new NoRewindIterator($arr->getIterator());

echo "Fruit A:\n";
foreach( $it as $item ) {
    echo $item . "\n";
}

echo "Fruit B:\n";
foreach( $it as $item ) {
    echo $item . "\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Fruit A:
apple
banana
cranberry
Fruit B:

Siehe auch

  • NoRewindIterator::valid() - Validates the iterator

NoRewindIterator
NoRewindIterator::current
NoRewindIterator


Get the current value

NoRewindIterator::__construct
NoRewindIterator::getInnerIterator
NoRewindIterator
PHP Manual

NoRewindIterator::current

(PHP 5 >= 5.1.0, PHP 7)

NoRewindIterator::current — Get the current value

Beschreibung

public mixed NoRewindIterator::current ( void )

Gets the current value.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current value.

Siehe auch

  • NoRewindIterator::key() - Get the current key

NoRewindIterator::__construct
NoRewindIterator::getInnerIterator
NoRewindIterator


Get the inner iterator

NoRewindIterator::current
NoRewindIterator::key
NoRewindIterator
PHP Manual

NoRewindIterator::getInnerIterator

(PHP 5 >= 5.1.0, PHP 7)

NoRewindIterator::getInnerIterator — Get the inner iterator

Beschreibung

public iterator NoRewindIterator::getInnerIterator ( void )

Gets the inner iterator, that was passed in to NoRewindIterator.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The inner iterator, as passed to NoRewindIterator::__construct().

Siehe auch

  • NoRewindIterator::valid() - Validates the iterator

NoRewindIterator::current
NoRewindIterator::key
NoRewindIterator


Get the current key

NoRewindIterator::getInnerIterator
NoRewindIterator::next
NoRewindIterator
PHP Manual

NoRewindIterator::key

(PHP 5 >= 5.1.0, PHP 7)

NoRewindIterator::key — Get the current key

Beschreibung

public mixed NoRewindIterator::key ( void )

Gets the current key.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current key.

Siehe auch

  • NoRewindIterator::next() - Forward to the next element

NoRewindIterator::getInnerIterator
NoRewindIterator::next
NoRewindIterator


Forward to the next element

NoRewindIterator::key
NoRewindIterator::rewind
NoRewindIterator
PHP Manual

NoRewindIterator::next

(PHP 5 >= 5.1.0, PHP 7)

NoRewindIterator::next — Forward to the next element

Beschreibung

public void NoRewindIterator::next ( void )

Forwards to the next element.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • NoRewindIterator::rewind() - Prevents the rewind operation on the inner iterator.

NoRewindIterator::key
NoRewindIterator::rewind
NoRewindIterator


Prevents the rewind operation on the inner iterator.

NoRewindIterator::next
NoRewindIterator::valid
NoRewindIterator
PHP Manual

NoRewindIterator::rewind

(PHP 5 >= 5.1.0, PHP 7)

NoRewindIterator::rewind — Prevents the rewind operation on the inner iterator.

Beschreibung

public void NoRewindIterator::rewind ( void )

Prevents the rewind operation on the inner iterator.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 NoRewindIterator::rewind() example

This example demonstrates that calling rewind on a NoRewindIterator object has no effect.

<?php
$fruits = array("lemon", "orange", "apple", "pear");

$noRewindIterator = new NoRewindIterator(new ArrayIterator($fruits));

echo $noRewindIterator->current() . "\n";
$noRewindIterator->next();
// now rewind the iterator (nothing should happen)
$noRewindIterator->rewind();
echo $noRewindIterator->current() . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

lemon
orange

NoRewindIterator::next
NoRewindIterator::valid
NoRewindIterator


Validates the iterator

NoRewindIterator::rewind
ParentIterator
NoRewindIterator
PHP Manual

NoRewindIterator::valid

(PHP 5 >= 5.1.0, PHP 7)

NoRewindIterator::valid — Validates the iterator

Beschreibung

public bool NoRewindIterator::valid ( void )

Checks whether the iterator is valid.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • NoRewindIterator::getInnerIterator() - Get the inner iterator

NoRewindIterator::rewind
ParentIterator
NoRewindIterator


The ParentIterator class

(PHP 5 >= 5.1.0, PHP 7)

Einführung

This extended FilterIterator allows a recursive iteration using RecursiveIteratorIterator that only shows those elements which have children.

Klassenbeschreibung

ParentIterator extends RecursiveFilterIterator implements RecursiveIterator , OuterIterator {
/* Methoden */
public bool accept ( void )
public __construct ( RecursiveIterator $iterator )
public ParentIterator getChildren ( void )
public bool hasChildren ( void )
public void next ( void )
public void rewind ( void )
}

Inhaltsverzeichnis

  • ParentIterator::accept — Determines acceptability
  • ParentIterator::__construct — Constructs a ParentIterator
  • ParentIterator::getChildren — Return the inner iterator's children contained in a ParentIterator
  • ParentIterator::hasChildren — Check whether the inner iterator's current element has children
  • ParentIterator::next — Move the iterator forward
  • ParentIterator::rewind — Rewind the iterator
NoRewindIterator::valid
ParentIterator::accept
Iteratoren


Determines acceptability

ParentIterator
ParentIterator::__construct
ParentIterator
PHP Manual

ParentIterator::accept

(PHP 5 >= 5.1.0, PHP 7)

ParentIterator::accept — Determines acceptability

Beschreibung

public bool ParentIterator::accept ( void )

Determines if the current element has children.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if the current element is acceptable, otherwise FALSE.

Siehe auch

  • ParentIterator::hasChildren() - Check whether the inner iterator's current element has children
  • FilterIterator::accept() - Check whether the current element of the iterator is acceptable

ParentIterator
ParentIterator::__construct
ParentIterator


Constructs a ParentIterator

ParentIterator::accept
ParentIterator::getChildren
ParentIterator
PHP Manual

ParentIterator::__construct

(PHP 5 >= 5.1.0, PHP 7)

ParentIterator::__construct — Constructs a ParentIterator

Beschreibung

public ParentIterator::__construct ( RecursiveIterator $iterator )

Constructs a ParentIterator on an iterator.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

iterator

The iterator being constructed upon.

Rückgabewerte

The ParentIterator.

ParentIterator::accept
ParentIterator::getChildren
ParentIterator


Return the inner iterator's children contained in a ParentIterator

ParentIterator::__construct
ParentIterator::hasChildren
ParentIterator
PHP Manual

ParentIterator::getChildren

(PHP 5 >= 5.1.0, PHP 7)

ParentIterator::getChildren — Return the inner iterator's children contained in a ParentIterator

Beschreibung

public ParentIterator ParentIterator::getChildren ( void )

Get the inner iterator's children contained in a ParentIterator.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An object.

ParentIterator::__construct
ParentIterator::hasChildren
ParentIterator


Check whether the inner iterator's current element has children

ParentIterator::getChildren
ParentIterator::next
ParentIterator
PHP Manual

ParentIterator::hasChildren

(PHP 5 >= 5.1.0, PHP 7)

ParentIterator::hasChildren — Check whether the inner iterator's current element has children

Beschreibung

public bool ParentIterator::hasChildren ( void )

Check whether the inner iterator's current element has children.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

ParentIterator::getChildren
ParentIterator::next
ParentIterator


Move the iterator forward

ParentIterator::hasChildren
ParentIterator::rewind
ParentIterator
PHP Manual

ParentIterator::next

(PHP 5 >= 5.1.0, PHP 7)

ParentIterator::next — Move the iterator forward

Beschreibung

public void ParentIterator::next ( void )

Moves the iterator forward.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

ParentIterator::hasChildren
ParentIterator::rewind
ParentIterator


Rewind the iterator

ParentIterator::next
RecursiveArrayIterator
ParentIterator
PHP Manual

ParentIterator::rewind

(PHP 5 >= 5.1.0, PHP 7)

ParentIterator::rewind — Rewind the iterator

Beschreibung

public void ParentIterator::rewind ( void )

Rewinds the iterator.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

ParentIterator::next
RecursiveArrayIterator
ParentIterator


The RecursiveArrayIterator class

(PHP 5 >= 5.1.0, PHP 7)

Einführung

This iterator allows to unset and modify values and keys while iterating over Arrays and Objects in the same way as the ArrayIterator. Additionally it is possible to iterate over the current iterator entry.

Klassenbeschreibung

RecursiveArrayIterator extends ArrayIterator implements RecursiveIterator {
/* Konstanten */
const integer CHILD_ARRAYS_ONLY = 4 ;
/* Methoden */
public RecursiveArrayIterator getChildren ( void )
public bool hasChildren ( void )
/* Inherits */
public void ArrayIterator::append ( mixed $value )
public void ArrayIterator::asort ( void )
public ArrayIterator::__construct ([ mixed $array = array() [, int $flags = 0 ]] )
public int ArrayIterator::count ( void )
public mixed ArrayIterator::current ( void )
public array ArrayIterator::getArrayCopy ( void )
public void ArrayIterator::getFlags ( void )
public mixed ArrayIterator::key ( void )
public void ArrayIterator::ksort ( void )
public void ArrayIterator::natcasesort ( void )
public void ArrayIterator::natsort ( void )
public void ArrayIterator::next ( void )
public void ArrayIterator::offsetExists ( string $index )
public mixed ArrayIterator::offsetGet ( string $index )
public void ArrayIterator::offsetSet ( string $index , string $newval )
public void ArrayIterator::offsetUnset ( string $index )
public void ArrayIterator::rewind ( void )
public void ArrayIterator::seek ( int $position )
public string ArrayIterator::serialize ( void )
public void ArrayIterator::setFlags ( string $flags )
public void ArrayIterator::uasort ( string $cmp_function )
public void ArrayIterator::uksort ( string $cmp_function )
public string ArrayIterator::unserialize ( string $serialized )
public bool ArrayIterator::valid ( void )
}

Vordefinierte Konstanten

RecursiveArrayIterator Flags

RecursiveArrayIterator::CHILD_ARRAYS_ONLY

Treat only arrays (not objects) as having children for recursive iteration.

Changelog

Version | Beschreibung
5.3.0 | CHILD_ARRAYS_ONLY flag was added.

Inhaltsverzeichnis

  • RecursiveArrayIterator::getChildren — Returns an iterator for the current entry if it is an array or an object.
  • RecursiveArrayIterator::hasChildren — Returns whether current entry is an array or an object.
ParentIterator::rewind
RecursiveArrayIterator::getChildren
Iteratoren


Returns an iterator for the current entry if it is an array or an object.

RecursiveArrayIterator
RecursiveArrayIterator::hasChildren
RecursiveArrayIterator
PHP Manual

RecursiveArrayIterator::getChildren

(PHP 5 >= 5.1.0, PHP 7)

RecursiveArrayIterator::getChildren — Returns an iterator for the current entry if it is an array or an object.

Beschreibung

public RecursiveArrayIterator RecursiveArrayIterator::getChildren ( void )

Returns an iterator for the current iterator entry.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An iterator for the current entry, if it is an array or object.

Fehler/Exceptions

An InvalidArgumentException will be thrown if the current entry does not contain an array or an object.

Beispiele

Beispiel #1 RecursiveArrayIterator::getChildren() example

<?php
$fruits = array("a" => "lemon", "b" => "orange", array("a" => "apple", "p" => "pear"));

$iterator = new RecursiveArrayIterator($fruits);

while ($iterator->valid()) {

    if ($iterator->hasChildren()) {
        // print all children
        foreach ($iterator->getChildren() as $key => $value) {
            echo $key . ' : ' . $value . "\n";
        }
    } else {
        echo "No children.\n";
    }

    $iterator->next();
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

No children.
No children.
a : apple
p : pear

Siehe auch

  • RecursiveArrayIterator::hasChildren() - Returns whether current entry is an array or an object.

RecursiveArrayIterator
RecursiveArrayIterator::hasChildren
RecursiveArrayIterator


Returns whether current entry is an array or an object.

RecursiveArrayIterator::getChildren
RecursiveCachingIterator
RecursiveArrayIterator
PHP Manual

RecursiveArrayIterator::hasChildren

(PHP 5 >= 5.1.0, PHP 7)

RecursiveArrayIterator::hasChildren — Returns whether current entry is an array or an object.

Beschreibung

public bool RecursiveArrayIterator::hasChildren ( void )

Returns whether current entry is an array or an object for which an iterator can be obtained via RecursiveArrayIterator::getChildren().

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the current entry is an array or an object, otherwise FALSE is returned.

Beispiele

Beispiel #1 RecursiveArrayIterator::hasChildren() example

<?php
$fruits = array("a" => "lemon", "b" => "orange", array("a" => "apple", "p" => "pear"));

$iterator = new RecursiveArrayIterator($fruits);

while ($iterator->valid()) {

    // Check if there are children
    if ($iterator->hasChildren()) {
        // print all children
        foreach ($iterator->getChildren() as $key => $value) {
            echo $key . ' : ' . $value . "\n";
        }
    } else {
        echo "No children.\n";
    }

    $iterator->next();
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

No children.
No children.
a : apple
p : pear

Siehe auch

  • RecursiveArrayIterator::getChildren() - Returns an iterator for the current entry if it is an array or an object.

RecursiveArrayIterator::getChildren
RecursiveCachingIterator
RecursiveArrayIterator


The RecursiveCachingIterator class

(PHP 5 >= 5.1.0, PHP 7)

Einführung

...

Klassenbeschreibung

RecursiveCachingIterator extends CachingIterator implements Countable , ArrayAccess , OuterIterator , RecursiveIterator {
/* Methoden */
public __construct ( Iterator $iterator [, string $flags = self::CALL_TOSTRING ] )
public RecursiveCachingIterator getChildren ( void )
public bool hasChildren ( void )
/* Inherits */
public CachingIterator::__construct ( Iterator $iterator [, int $flags = self::CALL_TOSTRING ] )
public int CachingIterator::count ( void )
public void CachingIterator::current ( void )
public array CachingIterator::getCache ( void )
public int CachingIterator::getFlags ( void )
public Iterator CachingIterator::getInnerIterator ( void )
public void CachingIterator::hasNext ( void )
public scalar CachingIterator::key ( void )
public void CachingIterator::next ( void )
public void CachingIterator::offsetExists ( string $index )
public void CachingIterator::offsetGet ( string $index )
public void CachingIterator::offsetSet ( string $index , string $newval )
public void CachingIterator::offsetUnset ( string $index )
public void CachingIterator::rewind ( void )
public void CachingIterator::setFlags ( int $flags )
public void CachingIterator::__toString ( void )
public void CachingIterator::valid ( void )
}

Inhaltsverzeichnis

  • RecursiveCachingIterator::__construct — Construct
  • RecursiveCachingIterator::getChildren — Return the inner iterator's children as a RecursiveCachingIterator
  • RecursiveCachingIterator::hasChildren — Check whether the current element of the inner iterator has children
RecursiveArrayIterator::hasChildren
RecursiveCachingIterator::__construct
Iteratoren


Construct

RecursiveCachingIterator
RecursiveCachingIterator::getChildren
RecursiveCachingIterator
PHP Manual

RecursiveCachingIterator::__construct

(PHP 5 >= 5.1.0, PHP 7)

RecursiveCachingIterator::__construct — Construct

Beschreibung

public RecursiveCachingIterator::__construct ( Iterator $iterator [, string $flags = self::CALL_TOSTRING ] )

Constructs a new RecursiveCachingIterator, which consists of a passed in iterator.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

iterator

The iterator being used.

flags

The flags. Use CALL_TOSTRING to call RecursiveCachingIterator::__toString() for every element (the default), and/or CATCH_GET_CHILD to catch exceptions when trying to get children.

Rückgabewerte

The RecursiveCachingIterator.

Siehe auch

  • CachingIterator::__construct() - Construct a new CachingIterator object for the iterator.

RecursiveCachingIterator
RecursiveCachingIterator::getChildren
RecursiveCachingIterator


Return the inner iterator's children as a RecursiveCachingIterator

RecursiveCachingIterator::__construct
RecursiveCachingIterator::hasChildren
RecursiveCachingIterator
PHP Manual

RecursiveCachingIterator::getChildren

(PHP 5 >= 5.1.0, PHP 7)

RecursiveCachingIterator::getChildren — Return the inner iterator's children as a RecursiveCachingIterator

Beschreibung

public RecursiveCachingIterator RecursiveCachingIterator::getChildren ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The inner iterator's children, as a RecursiveCachingIterator.

RecursiveCachingIterator::__construct
RecursiveCachingIterator::hasChildren
RecursiveCachingIterator


Check whether the current element of the inner iterator has children

RecursiveCachingIterator::getChildren
RecursiveCallbackFilterIterator
RecursiveCachingIterator
PHP Manual

RecursiveCachingIterator::hasChildren

(PHP 5 >= 5.1.0, PHP 7)

RecursiveCachingIterator::hasChildren — Check whether the current element of the inner iterator has children

Beschreibung

public bool RecursiveCachingIterator::hasChildren ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if the inner iterator has children, otherwise FALSE

RecursiveCachingIterator::getChildren
RecursiveCallbackFilterIterator
RecursiveCachingIterator


The RecursiveCallbackFilterIterator class

(PHP 5 >= 5.4.0, PHP 7)

Einführung

Klassenbeschreibung

RecursiveCallbackFilterIterator extends CallbackFilterIterator implements OuterIterator , RecursiveIterator {
/* Methoden */
public __construct ( RecursiveIterator $iterator , string $callback )
public RecursiveCallbackFilterIterator getChildren ( void )
public bool hasChildren ( void )
/* Geerbte Methoden */
public string CallbackFilterIterator::accept ( void )
}

Beispiele

The callback should accept up to three arguments: the current item, the current key and the iterator, respectively.

Beispiel #1 Available callback arguments

<?php

/**
 * Callback for RecursiveCallbackFilterIterator
 *
 * @param $current   Current item's value
 * @param $key       Current item's key
 * @param $iterator  Iterator being filtered
 * @return boolean   TRUE to accept the current item, FALSE otherwise
 */
function my_callback($current, $key, $iterator) {
    // Your filtering code here
}

?>

Filtering a recursive iterator generally involves two conditions. The first is that, to allow recursion, the callback function should return TRUE if the current iterator item has children. The second is the normal filter condition, such as a file size or extension check as in the example below.

Beispiel #2 Recursive callback basic example

<?php

$dir = new RecursiveDirectoryIterator(__DIR__);

// Filter large files ( > 100MB)
$files = new RecursiveCallbackFilterIterator($dir, function ($current, $key, $iterator) {
    // Allow recursion
    if ($iterator->hasChildren()) {
        return TRUE;
    }
    // Check for large file
    if ($current->isFile() && $current->getSize() > 104857600) {
        return TRUE;
    }
    return FALSE;
});

foreach (new RecursiveIteratorIterator($files) as $file) {
    echo $file->getPathname() . PHP_EOL;
}

?>

Inhaltsverzeichnis

  • RecursiveCallbackFilterIterator::__construct — Create a RecursiveCallbackFilterIterator from a RecursiveIterator
  • RecursiveCallbackFilterIterator::getChildren — Return the inner iterator's children contained in a RecursiveCallbackFilterIterator
  • RecursiveCallbackFilterIterator::hasChildren — Check whether the inner iterator's current element has children
RecursiveCachingIterator::hasChildren
RecursiveCallbackFilterIterator::__construct
Iteratoren


Create a RecursiveCallbackFilterIterator from a RecursiveIterator

RecursiveCallbackFilterIterator
RecursiveCallbackFilterIterator::getChildren
RecursiveCallbackFilterIterator
PHP Manual

RecursiveCallbackFilterIterator::__construct

(PHP 5 >= 5.4.0, PHP 7)

RecursiveCallbackFilterIterator::__construct — Create a RecursiveCallbackFilterIterator from a RecursiveIterator

Beschreibung

public RecursiveCallbackFilterIterator::__construct ( RecursiveIterator $iterator , string $callback )

Creates a filtered iterator from a RecursiveIterator using the callback to determine which items are accepted or rejected.

Parameter-Liste

iterator

The recursive iterator to be filtered.

callback

The callback, which should return TRUE to accept the current item or FALSE otherwise. See Examples.

May be any valid callable value.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • RecursiveCallbackFilterIterator Examples
  • RecursiveCallbackFilterIterator::getChildren() - Return the inner iterator's children contained in a RecursiveCallbackFilterIterator
  • RecursiveCallbackFilteriterator::hasChildren() - Check whether the inner iterator's current element has children

RecursiveCallbackFilterIterator
RecursiveCallbackFilterIterator::getChildren
RecursiveCallbackFilterIterator


Return the inner iterator's children contained in a RecursiveCallbackFilterIterator

RecursiveCallbackFilterIterator::__construct
RecursiveCallbackFilterIterator::hasChildren
RecursiveCallbackFilterIterator
PHP Manual

RecursiveCallbackFilterIterator::getChildren

(PHP 5 >= 5.4.0, PHP 7)

RecursiveCallbackFilterIterator::getChildren — Return the inner iterator's children contained in a RecursiveCallbackFilterIterator

Beschreibung

public RecursiveCallbackFilterIterator RecursiveCallbackFilterIterator::getChildren ( void )

Fetches the filtered children of the inner iterator.

RecursiveCallbackFilterIterator::hasChildren() should be used to determine if there are children to be fetched.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a RecursiveCallbackFilterIterator containing the children.

Siehe auch

  • RecursiveCallbackFilterIterator Examples
  • RecursiveCallbackFilterIterator::__construct() - Create a RecursiveCallbackFilterIterator from a RecursiveIterator
  • RecursiveCallbackFilteriterator::hasChildren() - Check whether the inner iterator's current element has children

RecursiveCallbackFilterIterator::__construct
RecursiveCallbackFilterIterator::hasChildren
RecursiveCallbackFilterIterator


Check whether the inner iterator's current element has children

RecursiveCallbackFilterIterator::getChildren
RecursiveDirectoryIterator
RecursiveCallbackFilterIterator
PHP Manual

RecursiveCallbackFilterIterator::hasChildren

(PHP 5 >= 5.4.0, PHP 7)

RecursiveCallbackFilterIterator::hasChildren — Check whether the inner iterator's current element has children

Beschreibung

public bool RecursiveCallbackFilterIterator::hasChildren ( void )

Returns TRUE if the current element has children, FALSE otherwise.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the current element has children, FALSE otherwise.

Beispiele

Beispiel #1 RecursiveCallbackFilterIterator::hasChildren() basic usage

<?php

$dir = new RecursiveDirectoryIterator(__DIR__);

// Recursively iterate over XML files
$files = new RecursiveCallbackFilterIterator($dir, function ($current, $key, $iterator) {
    // Allow recursion into directories
    if ($iterator->hasChildren()) {
        return TRUE;
    }
    // Check for XML file
    if (!strcasecmp($current->getExtension(), 'xml')) {
        return TRUE;
    }
    return FALSE;
});

?>

Siehe auch

  • RecursiveCallbackFilterIterator Examples
  • RecursiveCallbackFilterIterator::__construct() - Create a RecursiveCallbackFilterIterator from a RecursiveIterator
  • RecursiveCallbackFilteriterator::getChildren() - Return the inner iterator's children contained in a RecursiveCallbackFilterIterator

RecursiveCallbackFilterIterator::getChildren
RecursiveDirectoryIterator
RecursiveCallbackFilterIterator


The RecursiveDirectoryIterator class

(PHP 5, PHP 7)

Einführung

The RecursiveDirectoryIterator provides an interface for iterating recursively over filesystem directories.

Klassenbeschreibung

RecursiveDirectoryIterator extends FilesystemIterator implements SeekableIterator , RecursiveIterator {
/* Methoden */
public __construct ( string $path [, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO ] )
public mixed getChildren ( void )
public string getSubPath ( void )
public string getSubPathname ( void )
public bool hasChildren ([ bool $allow_links = false ] )
public string key ( void )
public void next ( void )
public void rewind ( void )
/* Inherits */
public FilesystemIterator::__construct ( string $path [, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::SKIP_DOTS ] )
public mixed FilesystemIterator::current ( void )
public int FilesystemIterator::getFlags ( void )
public string FilesystemIterator::key ( void )
public void FilesystemIterator::next ( void )
public void FilesystemIterator::rewind ( void )
public void FilesystemIterator::setFlags ([ int $flags ] )
}

Changelog

Version | Beschreibung
5.3.0 | The FilesystemIterator was introduced as the parent class. Previously, the parent was the DirectoryIterator.
5.3.0 | Implements SeekableIterator.
5.2.11, 5.3.1 | Added RecursiveDirectoryIterator::FOLLOW_SYMLINKS

Inhaltsverzeichnis

  • RecursiveDirectoryIterator::__construct — Constructs a RecursiveDirectoryIterator
  • RecursiveDirectoryIterator::getChildren — Returns an iterator for the current entry if it is a directory
  • RecursiveDirectoryIterator::getSubPath — Get sub path
  • RecursiveDirectoryIterator::getSubPathname — Get sub path and name
  • RecursiveDirectoryIterator::hasChildren — Returns whether current entry is a directory and not '.' or '..'
  • RecursiveDirectoryIterator::key — Return path and filename of current dir entry
  • RecursiveDirectoryIterator::next — Zum nächsten Eintrag bewegen
  • RecursiveDirectoryIterator::rewind — Rewind dir back to the start
RecursiveCallbackFilterIterator::hasChildren
RecursiveDirectoryIterator::__construct
Iteratoren


Constructs a RecursiveDirectoryIterator

RecursiveDirectoryIterator
RecursiveDirectoryIterator::getChildren
RecursiveDirectoryIterator
PHP Manual

RecursiveDirectoryIterator::__construct

(PHP 5 >= 5.1.2, PHP 7)

RecursiveDirectoryIterator::__construct — Constructs a RecursiveDirectoryIterator

Beschreibung

public RecursiveDirectoryIterator::__construct ( string $path [, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO ] )

Constructs a RecursiveDirectoryIterator() for the provided path.

Parameter-Liste

path

The path of the directory to be iterated over.

flags

Flags may be provided which will affect the behavior of some methods. A list of the flags can found under FilesystemIterator predefined constants. They can also be set later with FilesystemIterator::setFlags().

Rückgabewerte

Returns the newly created RecursiveDirectoryIterator.

Fehler/Exceptions

Throws an UnexpectedValueException if the path cannot be found or is not a directory.

Beispiele

Beispiel #1 RecursiveDirectoryIterator example

<?php

$directory = '/tmp';

$it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory));

$it->rewind();
while($it->valid()) {

    if (!$it->isDot()) {
        echo 'SubPathName: ' . $it->getSubPathName() . "\n";
        echo 'SubPath:     ' . $it->getSubPath() . "\n";
        echo 'Key:         ' . $it->key() . "\n\n";
    }

    $it->next();
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

SubPathName: fruit/apple.xml
SubPath:     fruit
Key:         /tmp/fruit/apple.xml

SubPathName: stuff.xml
SubPath:
Key:         /tmp/stuff.xml

SubPathName: veggies/carrot.xml
SubPath:     veggies
Key:         /tmp/veggies/carrot.xml

Siehe auch

  • FilesystemIterator::__construct() - Constructs a new filesystem iterator
  • RecursiveIteratorIterator::__construct() - Construct a RecursiveIteratorIterator
  • FilesystemIterator predefined constants

RecursiveDirectoryIterator
RecursiveDirectoryIterator::getChildren
RecursiveDirectoryIterator


Returns an iterator for the current entry if it is a directory

RecursiveDirectoryIterator::__construct
RecursiveDirectoryIterator::getSubPath
RecursiveDirectoryIterator
PHP Manual

RecursiveDirectoryIterator::getChildren

(PHP 5 >= 5.1.0, PHP 7)

RecursiveDirectoryIterator::getChildren — Returns an iterator for the current entry if it is a directory

Beschreibung

public mixed RecursiveDirectoryIterator::getChildren ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The filename, file information, or $this depending on the set flags. See the FilesystemIterator constants.

RecursiveDirectoryIterator::__construct
RecursiveDirectoryIterator::getSubPath
RecursiveDirectoryIterator


Get sub path

RecursiveDirectoryIterator::getChildren
RecursiveDirectoryIterator::getSubPathname
RecursiveDirectoryIterator
PHP Manual

RecursiveDirectoryIterator::getSubPath

(PHP 5 >= 5.1.0, PHP 7)

RecursiveDirectoryIterator::getSubPath — Get sub path

Beschreibung

public string RecursiveDirectoryIterator::getSubPath ( void )

Gets the sub path.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The sub path (sub directory).

Siehe auch

  • RecursiveDirectoryIterator::getSubPathName() - Get sub path and name
  • RecursiveDirectoryIterator::key() - Return path and filename of current dir entry

RecursiveDirectoryIterator::getChildren
RecursiveDirectoryIterator::getSubPathname
RecursiveDirectoryIterator


Get sub path and name

RecursiveDirectoryIterator::getSubPath
RecursiveDirectoryIterator::hasChildren
RecursiveDirectoryIterator
PHP Manual

RecursiveDirectoryIterator::getSubPathname

(PHP 5 >= 5.1.0, PHP 7)

RecursiveDirectoryIterator::getSubPathname — Get sub path and name

Beschreibung

public string RecursiveDirectoryIterator::getSubPathname ( void )

Gets the sub path and filename.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The sub path (sub directory) and filename.

Siehe auch

  • RecursiveDirectoryIterator::getSubPath() - Get sub path
  • RecursiveDirectoryIterator::key() - Return path and filename of current dir entry

RecursiveDirectoryIterator::getSubPath
RecursiveDirectoryIterator::hasChildren
RecursiveDirectoryIterator


Returns whether current entry is a directory and not '.' or '..'

RecursiveDirectoryIterator::getSubPathname
RecursiveDirectoryIterator::key
RecursiveDirectoryIterator
PHP Manual

RecursiveDirectoryIterator::hasChildren

(PHP 5, PHP 7)

RecursiveDirectoryIterator::hasChildren — Returns whether current entry is a directory and not '.' or '..'

Beschreibung

public bool RecursiveDirectoryIterator::hasChildren ([ bool $allow_links = false ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

allow_links

Rückgabewerte

Returns whether the current entry is a directory, but not '.' or '..'

RecursiveDirectoryIterator::getSubPathname
RecursiveDirectoryIterator::key
RecursiveDirectoryIterator


Return path and filename of current dir entry

RecursiveDirectoryIterator::hasChildren
RecursiveDirectoryIterator::next
RecursiveDirectoryIterator
PHP Manual

RecursiveDirectoryIterator::key

(PHP 5, PHP 7)

RecursiveDirectoryIterator::key — Return path and filename of current dir entry

Beschreibung

public string RecursiveDirectoryIterator::key ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The path and filename of the current dir entry.

RecursiveDirectoryIterator::hasChildren
RecursiveDirectoryIterator::next
RecursiveDirectoryIterator


Zum nächsten Eintrag bewegen

RecursiveDirectoryIterator::key
RecursiveDirectoryIterator::rewind
RecursiveDirectoryIterator
PHP Manual

RecursiveDirectoryIterator::next

(PHP 5, PHP 7)

RecursiveDirectoryIterator::next — Zum nächsten Eintrag bewegen

Beschreibung

public void RecursiveDirectoryIterator::next ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

RecursiveDirectoryIterator::key
RecursiveDirectoryIterator::rewind
RecursiveDirectoryIterator


Rewind dir back to the start

RecursiveDirectoryIterator::next
RecursiveFilterIterator
RecursiveDirectoryIterator
PHP Manual

RecursiveDirectoryIterator::rewind

(PHP 5, PHP 7)

RecursiveDirectoryIterator::rewind — Rewind dir back to the start

Beschreibung

public void RecursiveDirectoryIterator::rewind ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

RecursiveDirectoryIterator::next
RecursiveFilterIterator
RecursiveDirectoryIterator


The RecursiveFilterIterator class

(PHP 5 >= 5.1.0, PHP 7)

Einführung

This abstract iterator filters out unwanted values for a RecursiveIterator. This class should be extended to implement custom filters. The RecursiveFilterIterator::accept() must be implemented in the subclass.

Klassenbeschreibung

abstract RecursiveFilterIterator extends FilterIterator implements OuterIterator , RecursiveIterator {
/* Methoden */
public __construct ( RecursiveIterator $iterator )
public RecursiveFilterIterator getChildren ( void )
public bool hasChildren ( void )
/* Geerbte Methoden */
public abstract bool FilterIterator::accept ( void )
public FilterIterator::__construct ( Iterator $iterator )
public mixed FilterIterator::current ( void )
public Iterator FilterIterator::getInnerIterator ( void )
public mixed FilterIterator::key ( void )
public void FilterIterator::next ( void )
public void FilterIterator::rewind ( void )
public bool FilterIterator::valid ( void )
}

Inhaltsverzeichnis

  • RecursiveFilterIterator::__construct — Create a RecursiveFilterIterator from a RecursiveIterator
  • RecursiveFilterIterator::getChildren — Return the inner iterator's children contained in a RecursiveFilterIterator
  • RecursiveFilterIterator::hasChildren — Check whether the inner iterator's current element has children
RecursiveDirectoryIterator::rewind
RecursiveFilterIterator::__construct
Iteratoren


Create a RecursiveFilterIterator from a RecursiveIterator

RecursiveFilterIterator
RecursiveFilterIterator::getChildren
RecursiveFilterIterator
PHP Manual

RecursiveFilterIterator::__construct

(PHP 5 >= 5.1.0, PHP 7)

RecursiveFilterIterator::__construct — Create a RecursiveFilterIterator from a RecursiveIterator

Beschreibung

public RecursiveFilterIterator::__construct ( RecursiveIterator $iterator )

Create a RecursiveFilterIterator from a RecursiveIterator.

Parameter-Liste

iterator

The RecursiveIterator to be filtered.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Basic RecursiveFilterIterator() example

<?php
class TestsOnlyFilter extends RecursiveFilterIterator {
    public function accept() {
        // Accept the current item if we can recurse into it
        // or it is a value starting with "test"
        return $this->hasChildren() || (strpos($this->current(), "test") !== FALSE);
    }
}

$array    = array("test1", array("taste2", "test3", "test4"), "test5");
$iterator = new RecursiveArrayIterator($array);
$filter   = new TestsOnlyFilter($iterator);

foreach(new RecursiveIteratorIterator($filter) as $key => $value)
{
    echo $value . "\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

test1
test3
test4
test5

Beispiel #2 RecursiveFilterIterator() example

<?php
class StartsWithFilter extends RecursiveFilterIterator {

    protected $word;

    public function __construct(RecursiveIterator $rit, $word) {
        $this->word = $word;
        parent::__construct($rit);
    }

    public function accept() {
        return $this->hasChildren() OR strpos($this->current(), $this->word) === 0;
    }

    public function getChildren() {
        return new self($this->getInnerIterator()->getChildren(), $this->word);
    }
}

$array    = array("test1", array("taste2", "test3", "test4"), "test5");
$iterator = new RecursiveArrayIterator($array);
$filter   = new StartsWithFilter($iterator, "test");

foreach(new RecursiveIteratorIterator($filter) as $key => $value)
{
    echo $value . "\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

test1
test3
test4
test5

Siehe auch

  • RecursiveFilterIterator::getChildren() - Return the inner iterator's children contained in a RecursiveFilterIterator
  • RecursiveFilterIterator::hasChildren() - Check whether the inner iterator's current element has children
  • FilterIterator::accept() - Check whether the current element of the iterator is acceptable

RecursiveFilterIterator
RecursiveFilterIterator::getChildren
RecursiveFilterIterator


Return the inner iterator's children contained in a RecursiveFilterIterator

RecursiveFilterIterator::__construct
RecursiveFilterIterator::hasChildren
RecursiveFilterIterator
PHP Manual

RecursiveFilterIterator::getChildren

(PHP 5 >= 5.1.0, PHP 7)

RecursiveFilterIterator::getChildren — Return the inner iterator's children contained in a RecursiveFilterIterator

Beschreibung

public RecursiveFilterIterator RecursiveFilterIterator::getChildren ( void )

Return the inner iterator's children contained in a RecursiveFilterIterator.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a RecursiveFilterIterator containing the inner iterator's children.

Siehe auch

  • RecursiveFilterIterator::hasChildren() - Check whether the inner iterator's current element has children
  • RecursiveIterator::getChildren() - Returns an iterator for the current entry.

RecursiveFilterIterator::__construct
RecursiveFilterIterator::hasChildren
RecursiveFilterIterator


Check whether the inner iterator's current element has children

RecursiveFilterIterator::getChildren
RecursiveIteratorIterator
RecursiveFilterIterator
PHP Manual

RecursiveFilterIterator::hasChildren

(PHP 5 >= 5.1.0, PHP 7)

RecursiveFilterIterator::hasChildren — Check whether the inner iterator's current element has children

Beschreibung

public bool RecursiveFilterIterator::hasChildren ( void )

Check whether the inner iterator's current element has children.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if the inner iterator has children, otherwise FALSE

Siehe auch

  • RecursiveFilterIterator::getChildren() - Return the inner iterator's children contained in a RecursiveFilterIterator
  • RecursiveIterator::hasChildren() - Returns if an iterator can be created fot the current entry.

RecursiveFilterIterator::getChildren
RecursiveIteratorIterator
RecursiveFilterIterator


The RecursiveIteratorIterator class

(PHP 5, PHP 7)

Einführung

Can be used to iterate through recursive iterators.

Klassenbeschreibung

RecursiveIteratorIterator implements OuterIterator {
/* Constants */
const integer LEAVES_ONLY = 0 ;
const integer SELF_FIRST = 1 ;
const integer CHILD_FIRST = 2 ;
const integer CATCH_GET_CHILD = 16 ;
/* Methoden */
public void beginChildren ( void )
public void beginIteration ( void )
public RecursiveIterator callGetChildren ( void )
public bool callHasChildren ( void )
public __construct ( Traversable $iterator [, int $mode = RecursiveIteratorIterator::LEAVES_ONLY [, int $flags = 0 ]] )
public mixed current ( void )
public void endChildren ( void )
public void endIteration ( void )
public int getDepth ( void )
public iterator getInnerIterator ( void )
public mixed getMaxDepth ( void )
public RecursiveIterator getSubIterator ([ int $level ] )
public mixed key ( void )
public void next ( void )
public void nextElement ( void )
public void rewind ( void )
public void setMaxDepth ([ string $max_depth = -1 ] )
public bool valid ( void )
/* Geerbte Methoden */
public Iterator OuterIterator::getInnerIterator ( void )
}

Vordefinierte Konstanten

RecursiveIteratorIterator::LEAVES_ONLY

RecursiveIteratorIterator::SELF_FIRST

RecursiveIteratorIterator::CHILD_FIRST

RecursiveIteratorIterator::CATCH_GET_CHILD

Inhaltsverzeichnis

  • RecursiveIteratorIterator::beginChildren — Begin children
  • RecursiveIteratorIterator::beginIteration — Begin Iteration
  • RecursiveIteratorIterator::callGetChildren — Get children
  • RecursiveIteratorIterator::callHasChildren — Has children
  • RecursiveIteratorIterator::__construct — Construct a RecursiveIteratorIterator
  • RecursiveIteratorIterator::current — Access the current element value
  • RecursiveIteratorIterator::endChildren — End children
  • RecursiveIteratorIterator::endIteration — End Iteration
  • RecursiveIteratorIterator::getDepth — Get the current depth of the recursive iteration
  • RecursiveIteratorIterator::getInnerIterator — Get inner iterator
  • RecursiveIteratorIterator::getMaxDepth — Get max depth
  • RecursiveIteratorIterator::getSubIterator — The current active sub iterator
  • RecursiveIteratorIterator::key — Access the current key
  • RecursiveIteratorIterator::next — Move forward to the next element
  • RecursiveIteratorIterator::nextElement — Next element
  • RecursiveIteratorIterator::rewind — Rewind the iterator to the first element of the top level inner iterator
  • RecursiveIteratorIterator::setMaxDepth — Set max depth
  • RecursiveIteratorIterator::valid — Check whether the current position is valid
RecursiveFilterIterator::hasChildren
RecursiveIteratorIterator::beginChildren
Iteratoren


Begin children

RecursiveIteratorIterator
RecursiveIteratorIterator::beginIteration
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::beginChildren

(PHP 5 >= 5.1.0, PHP 7)

RecursiveIteratorIterator::beginChildren — Begin children

Beschreibung

public void RecursiveIteratorIterator::beginChildren ( void )

Is called after calling RecursiveIteratorIterator::getChildren(), and its associated RecursiveIteratorIterator::rewind().

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

RecursiveIteratorIterator
RecursiveIteratorIterator::beginIteration
RecursiveIteratorIterator


Begin Iteration

RecursiveIteratorIterator::beginChildren
RecursiveIteratorIterator::callGetChildren
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::beginIteration

(PHP 5 >= 5.1.0, PHP 7)

RecursiveIteratorIterator::beginIteration — Begin Iteration

Beschreibung

public void RecursiveIteratorIterator::beginIteration ( void )

Called when iteration begins (after the first RecursiveIteratorIterator::rewind() call.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

RecursiveIteratorIterator::beginChildren
RecursiveIteratorIterator::callGetChildren
RecursiveIteratorIterator


Get children

RecursiveIteratorIterator::beginIteration
RecursiveIteratorIterator::callHasChildren
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::callGetChildren

(PHP 5 >= 5.1.0, PHP 7)

RecursiveIteratorIterator::callGetChildren — Get children

Beschreibung

public RecursiveIterator RecursiveIteratorIterator::callGetChildren ( void )

Get children of the current element.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A RecursiveIterator().

RecursiveIteratorIterator::beginIteration
RecursiveIteratorIterator::callHasChildren
RecursiveIteratorIterator


Has children

RecursiveIteratorIterator::callGetChildren
RecursiveIteratorIterator::__construct
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::callHasChildren

(PHP 5 >= 5.1.0, PHP 7)

RecursiveIteratorIterator::callHasChildren — Has children

Beschreibung

public bool RecursiveIteratorIterator::callHasChildren ( void )

Called for each element to test whether it has children.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if the element has children, otherwise FALSE

RecursiveIteratorIterator::callGetChildren
RecursiveIteratorIterator::__construct
RecursiveIteratorIterator


Construct a RecursiveIteratorIterator

RecursiveIteratorIterator::callHasChildren
RecursiveIteratorIterator::current
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::__construct

(PHP 5 >= 5.1.3, PHP 7)

RecursiveIteratorIterator::__construct — Construct a RecursiveIteratorIterator

Beschreibung

public RecursiveIteratorIterator::__construct ( Traversable $iterator [, int $mode = RecursiveIteratorIterator::LEAVES_ONLY [, int $flags = 0 ]] )

Creates a RecursiveIteratorIterator from a RecursiveIterator.

Parameter-Liste

iterator

The iterator being constructed from. Either a RecursiveIterator or IteratorAggregate.

mode

Optional mode. Possible values are

  • RecursiveIteratorIterator::LEAVES_ONLY - The default. Lists only leaves in iteration.
  • RecursiveIteratorIterator::SELF_FIRST - Lists leaves and parents in iteration with parents coming first.
  • RecursiveIteratorIterator::CHILD_FIRST - Lists leaves and parents in iteration with leaves coming first.

flags

Optional flag. Possible values are RecursiveIteratorIterator::CATCH_GET_CHILD which will then ignore exceptions thrown in calls to RecursiveIteratorIterator::getChildren().

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Iterating a RecursiveIteratorIterator

<?php
$array = array(
    array(
        array(
            array(
                'leaf-0-0-0-0',
                'leaf-0-0-0-1'
            ),
            'leaf-0-0-0'
        ),
        array(
            array(
                'leaf-0-1-0-0',
                'leaf-0-1-0-1'
            ),
            'leaf-0-1-0'
        ),
        'leaf-0-0'
    )
);

$iterator = new RecursiveIteratorIterator(
    new RecursiveArrayIterator($array),
    $mode
);
foreach ($iterator as $key => $leaf) {
    echo "$key => $leaf", PHP_EOL;
}
?>

Output with $mode = RecursiveIteratorIterator::LEAVES_ONLY

0 => leaf-0-0-0-0
1 => leaf-0-0-0-1
0 => leaf-0-0-0
0 => leaf-0-1-0-0
1 => leaf-0-1-0-1
0 => leaf-0-1-0
0 => leaf-0-0

Output with $mode = RecursiveIteratorIterator::SELF_FIRST

0 => Array
0 => Array
0 => Array
0 => leaf-0-0-0-0
1 => leaf-0-0-0-1
1 => leaf-0-0-0
1 => Array
0 => Array
0 => leaf-0-1-0-0
1 => leaf-0-1-0-1
1 => leaf-0-1-0
2 => leaf-0-0

Output with $mode = RecursiveIteratorIterator::CHILD_FIRST

0 => leaf-0-0-0-0
1 => leaf-0-0-0-1
0 => Array
1 => leaf-0-0-0
0 => Array
0 => leaf-0-1-0-0
1 => leaf-0-1-0-1
0 => Array
1 => leaf-0-1-0
1 => Array
2 => leaf-0-0
0 => Array

RecursiveIteratorIterator::callHasChildren
RecursiveIteratorIterator::current
RecursiveIteratorIterator


Access the current element value

RecursiveIteratorIterator::__construct
RecursiveIteratorIterator::endChildren
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::current

(PHP 5, PHP 7)

RecursiveIteratorIterator::current — Access the current element value

Beschreibung

public mixed RecursiveIteratorIterator::current ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current elements value.

RecursiveIteratorIterator::__construct
RecursiveIteratorIterator::endChildren
RecursiveIteratorIterator


End children

RecursiveIteratorIterator::current
RecursiveIteratorIterator::endIteration
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::endChildren

(PHP 5 >= 5.1.0, PHP 7)

RecursiveIteratorIterator::endChildren — End children

Beschreibung

public void RecursiveIteratorIterator::endChildren ( void )

Called when end recursing one level.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

RecursiveIteratorIterator::current
RecursiveIteratorIterator::endIteration
RecursiveIteratorIterator


End Iteration

RecursiveIteratorIterator::endChildren
RecursiveIteratorIterator::getDepth
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::endIteration

(PHP 5 >= 5.1.0, PHP 7)

RecursiveIteratorIterator::endIteration — End Iteration

Beschreibung

public void RecursiveIteratorIterator::endIteration ( void )

Called when the iteration ends (when RecursiveIteratorIterator::valid() first returns FALSE.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

RecursiveIteratorIterator::endChildren
RecursiveIteratorIterator::getDepth
RecursiveIteratorIterator


Get the current depth of the recursive iteration

RecursiveIteratorIterator::endIteration
RecursiveIteratorIterator::getInnerIterator
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::getDepth

(PHP 5, PHP 7)

RecursiveIteratorIterator::getDepth — Get the current depth of the recursive iteration

Beschreibung

public int RecursiveIteratorIterator::getDepth ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current depth of the recursive iteration.

RecursiveIteratorIterator::endIteration
RecursiveIteratorIterator::getInnerIterator
RecursiveIteratorIterator


Get inner iterator

RecursiveIteratorIterator::getDepth
RecursiveIteratorIterator::getMaxDepth
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::getInnerIterator

(PHP 5 >= 5.1.0, PHP 7)

RecursiveIteratorIterator::getInnerIterator — Get inner iterator

Beschreibung

public iterator RecursiveIteratorIterator::getInnerIterator ( void )

Gets the current active sub iterator.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current active sub iterator.

RecursiveIteratorIterator::getDepth
RecursiveIteratorIterator::getMaxDepth
RecursiveIteratorIterator


Get max depth

RecursiveIteratorIterator::getInnerIterator
RecursiveIteratorIterator::getSubIterator
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::getMaxDepth

(PHP 5 >= 5.1.0, PHP 7)

RecursiveIteratorIterator::getMaxDepth — Get max depth

Beschreibung

public mixed RecursiveIteratorIterator::getMaxDepth ( void )

Gets the maximum allowable depth.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The maximum accepted depth, or FALSE if any depth is allowed.

Siehe auch

  • RecursiveIteratorIterator::setMaxDepth() - Set max depth

RecursiveIteratorIterator::getInnerIterator
RecursiveIteratorIterator::getSubIterator
RecursiveIteratorIterator


The current active sub iterator

RecursiveIteratorIterator::getMaxDepth
RecursiveIteratorIterator::key
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::getSubIterator

(PHP 5, PHP 7)

RecursiveIteratorIterator::getSubIterator — The current active sub iterator

Beschreibung

public RecursiveIterator RecursiveIteratorIterator::getSubIterator ([ int $level ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

level

Rückgabewerte

The current active sub iterator.

RecursiveIteratorIterator::getMaxDepth
RecursiveIteratorIterator::key
RecursiveIteratorIterator


Access the current key

RecursiveIteratorIterator::getSubIterator
RecursiveIteratorIterator::next
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::key

(PHP 5, PHP 7)

RecursiveIteratorIterator::key — Access the current key

Beschreibung

public mixed RecursiveIteratorIterator::key ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current key.

RecursiveIteratorIterator::getSubIterator
RecursiveIteratorIterator::next
RecursiveIteratorIterator


Move forward to the next element

RecursiveIteratorIterator::key
RecursiveIteratorIterator::nextElement
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::next

(PHP 5, PHP 7)

RecursiveIteratorIterator::next — Move forward to the next element

Beschreibung

public void RecursiveIteratorIterator::next ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

RecursiveIteratorIterator::key
RecursiveIteratorIterator::nextElement
RecursiveIteratorIterator


Next element

RecursiveIteratorIterator::next
RecursiveIteratorIterator::rewind
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::nextElement

(PHP 5 >= 5.1.0, PHP 7)

RecursiveIteratorIterator::nextElement — Next element

Beschreibung

public void RecursiveIteratorIterator::nextElement ( void )

Called when the next element is available.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

RecursiveIteratorIterator::next
RecursiveIteratorIterator::rewind
RecursiveIteratorIterator


Rewind the iterator to the first element of the top level inner iterator

RecursiveIteratorIterator::nextElement
RecursiveIteratorIterator::setMaxDepth
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::rewind

(PHP 5, PHP 7)

RecursiveIteratorIterator::rewind — Rewind the iterator to the first element of the top level inner iterator

Beschreibung

public void RecursiveIteratorIterator::rewind ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

RecursiveIteratorIterator::nextElement
RecursiveIteratorIterator::setMaxDepth
RecursiveIteratorIterator


Set max depth

RecursiveIteratorIterator::rewind
RecursiveIteratorIterator::valid
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::setMaxDepth

(PHP 5 >= 5.1.0, PHP 7)

RecursiveIteratorIterator::setMaxDepth — Set max depth

Beschreibung

public void RecursiveIteratorIterator::setMaxDepth ([ string $max_depth = -1 ] )

Set the maximum allowed depth.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

max_depth

The maximum allowed depth. -1 is used for any depth.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

Emits an Exception if max_depth is less than -1.

RecursiveIteratorIterator::rewind
RecursiveIteratorIterator::valid
RecursiveIteratorIterator


Check whether the current position is valid

RecursiveIteratorIterator::setMaxDepth
RecursiveRegexIterator
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::valid

(PHP 5, PHP 7)

RecursiveIteratorIterator::valid — Check whether the current position is valid

Beschreibung

public bool RecursiveIteratorIterator::valid ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if the current position is valid, otherwise FALSE

RecursiveIteratorIterator::setMaxDepth
RecursiveRegexIterator
RecursiveIteratorIterator


The RecursiveRegexIterator class

(PHP 5 >= 5.2.0, PHP 7)

Einführung

This recursive iterator can filter another recursive iterator via a regular expression.

Klassenbeschreibung

RecursiveRegexIterator extends RegexIterator implements RecursiveIterator {
/* Methoden */
public __construct ( RecursiveIterator $iterator , string $regex [, int $mode = self::MATCH [, int $flags = 0 [, int $preg_flags = 0 ]]] )
public RecursiveRegexIterator getChildren ( void )
public bool hasChildren ( void )
/* Geerbte Methoden */
public RecursiveIterator RecursiveIterator::getChildren ( void )
public bool RecursiveIterator::hasChildren ( void )
public bool RegexIterator::accept ( void )
public int RegexIterator::getFlags ( void )
public int RegexIterator::getMode ( void )
public int RegexIterator::getPregFlags ( void )
public string RegexIterator::getRegex ( void )
public void RegexIterator::setFlags ( int $flags )
public void RegexIterator::setMode ( int $mode )
public void RegexIterator::setPregFlags ( int $preg_flags )
}

Inhaltsverzeichnis

  • RecursiveRegexIterator::__construct — Creates a new RecursiveRegexIterator.
  • RecursiveRegexIterator::getChildren — Returns an iterator for the current entry.
  • RecursiveRegexIterator::hasChildren — Returns whether an iterator can be obtained for the current entry.
RecursiveIteratorIterator::valid
RecursiveRegexIterator::__construct
Iteratoren


Creates a new RecursiveRegexIterator.

RecursiveRegexIterator
RecursiveRegexIterator::getChildren
RecursiveRegexIterator
PHP Manual

RecursiveRegexIterator::__construct

(PHP 5 >= 5.2.0, PHP 7)

RecursiveRegexIterator::__construct — Creates a new RecursiveRegexIterator.

Beschreibung

public RecursiveRegexIterator::__construct ( RecursiveIterator $iterator , string $regex [, int $mode = self::MATCH [, int $flags = 0 [, int $preg_flags = 0 ]]] )

Creates a new regular expression iterator.

Parameter-Liste

iterator

The recursive iterator to apply this regex filter to.

regex

The regular expression to match.

mode

Operation mode, see RegexIterator::setMode() for a list of modes.

flags

Special flags, see RegexIterator::setFlags() for a list of available flags.

preg_flags

The regular expression flags. These flags depend on the operation mode parameter:

RegexIterator preg_flags
operation mode | available flags
RecursiveRegexIterator::ALL_MATCHES | See preg_match_all().
RecursiveRegexIterator::GET_MATCH | See preg_match().
RecursiveRegexIterator::MATCH | See preg_match().
RecursiveRegexIterator::REPLACE | none.
RecursiveRegexIterator::SPLIT | See preg_split().

Beispiele

Beispiel #1 RecursiveRegexIterator::__construct() example

Creates a new RegexIterator that filters all strings that start with 'test'.

<?php
$rArrayIterator = new RecursiveArrayIterator(array('test1', array('tet3', 'test4', 'test5')));
$rRegexIterator = new RecursiveRegexIterator($rArrayIterator, '/^test/',
    RecursiveRegexIterator::ALL_MATCHES);

foreach ($rRegexIterator as $key1 => $value1) {

    if ($rRegexIterator->hasChildren()) {

        // print all children
        echo "Children: ";
        foreach ($rRegexIterator->getChildren() as $key => $value) {
            echo $value . " ";
        }
        echo "\n";
    } else {
        echo "No children\n";
    }

}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

No children
Children: test4 test5

Siehe auch

  • preg_match() - Führt eine Suche mit einem regulären Ausdruck durch
  • preg_match_all() - Führt eine umfassende Suche nach Übereinstimmungen mit regulärem Ausdruck durch
  • preg_replace() - Sucht und ersetzt mit regulären Ausdrücken
  • preg_split() - Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks

RecursiveRegexIterator
RecursiveRegexIterator::getChildren
RecursiveRegexIterator


Returns an iterator for the current entry.

RecursiveRegexIterator::__construct
RecursiveRegexIterator::hasChildren
RecursiveRegexIterator
PHP Manual

RecursiveRegexIterator::getChildren

(PHP 5 >= 5.2.0, PHP 7)

RecursiveRegexIterator::getChildren — Returns an iterator for the current entry.

Beschreibung

public RecursiveRegexIterator RecursiveRegexIterator::getChildren ( void )

Returns an iterator for the current iterator entry.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An iterator for the current entry, if it can be iterated over by the inner iterator.

Fehler/Exceptions

An InvalidArgumentException will be thrown if the current entry does not contain a value that can be iterated over by the inner iterator.

Beispiele

Beispiel #1 RecursiveRegexIterator::getChildren() example

<?php
$rArrayIterator = new RecursiveArrayIterator(array('test1', array('tet3', 'test4', 'test5')));
$rRegexIterator = new RecursiveRegexIterator($rArrayIterator, '/^test/',
    RecursiveRegexIterator::ALL_MATCHES);

foreach ($rRegexIterator as $key1 => $value1) {

    if ($rRegexIterator->hasChildren()) {

        // print all children
        echo "Children: ";
        foreach ($rRegexIterator->getChildren() as $key => $value) {
            echo $value . " ";
        }
        echo "\n";
    } else {
        echo "No children\n";
    }

}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

No children
Children: test4 test5

Siehe auch

  • RecursiveRegexIterator::hasChildren() - Returns whether an iterator can be obtained for the current entry.

RecursiveRegexIterator::__construct
RecursiveRegexIterator::hasChildren
RecursiveRegexIterator


Returns whether an iterator can be obtained for the current entry.

RecursiveRegexIterator::getChildren
RecursiveTreeIterator
RecursiveRegexIterator
PHP Manual

RecursiveRegexIterator::hasChildren

(PHP 5 >= 5.2.0, PHP 7)

RecursiveRegexIterator::hasChildren — Returns whether an iterator can be obtained for the current entry.

Beschreibung

public bool RecursiveRegexIterator::hasChildren ( void )

Returns whether an iterator can be obtained for the current entry. This iterator can be obtained via RecursiveRegexIterator::getChildren().

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if an iterator can be obtained for the current entry, otherwise returns FALSE.

Beispiele

Beispiel #1 RecursiveRegexIterator::hasChildren() example

<?php
$rArrayIterator = new RecursiveArrayIterator(array('test1', array('tet3', 'test4', 'test5')));
$rRegexIterator = new RecursiveRegexIterator($rArrayIterator, '/^test/',
    RecursiveRegexIterator::ALL_MATCHES);

foreach ($rRegexIterator as $value) {
    var_dump($rRegexIterator->hasChildren());
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(true)

Siehe auch

  • RecursiveRegexIterator::getChildren() - Returns an iterator for the current entry.

RecursiveRegexIterator::getChildren
RecursiveTreeIterator
RecursiveRegexIterator


The RecursiveTreeIterator class

(PHP 5 >= 5.3.0, PHP 7)

Einführung

Allows iterating over a RecursiveIterator to generate an ASCII graphic tree.

Klassenbeschreibung

RecursiveTreeIterator extends RecursiveIteratorIterator implements OuterIterator {
/* Konstanten */
const integer BYPASS_CURRENT = 4 ;
const integer BYPASS_KEY = 8 ;
const integer PREFIX_LEFT = 0 ;
const integer PREFIX_MID_HAS_NEXT = 1 ;
const integer PREFIX_MID_LAST = 2 ;
const integer PREFIX_END_HAS_NEXT = 3 ;
const integer PREFIX_END_LAST = 4 ;
const integer PREFIX_RIGHT = 5 ;
/* Methoden */
public void beginChildren ( void )
public RecursiveIterator beginIteration ( void )
public RecursiveIterator callGetChildren ( void )
public bool callHasChildren ( void )
public __construct ( RecursiveIterator|IteratorAggregate $it [, int $flags = RecursiveTreeIterator::BYPASS_KEY [, int $cit_flags = CachingIterator::CATCH_GET_CHILD [, int $mode = RecursiveIteratorIterator::SELF_FIRST ]]] )
public string current ( void )
public void endChildren ( void )
public void endIteration ( void )
public string getEntry ( void )
public void getPostfix ( void )
public string getPrefix ( void )
public string key ( void )
public void next ( void )
public void nextElement ( void )
public void rewind ( void )
public void setPrefixPart ( int $part , string $value )
public bool valid ( void )
/* Geerbte Methoden */
public void RecursiveIteratorIterator::beginChildren ( void )
public void RecursiveIteratorIterator::beginIteration ( void )
public RecursiveIterator RecursiveIteratorIterator::callGetChildren ( void )
public bool RecursiveIteratorIterator::callHasChildren ( void )
public RecursiveIteratorIterator::__construct ( Traversable $iterator [, int $mode = RecursiveIteratorIterator::LEAVES_ONLY [, int $flags = 0 ]] )
public mixed RecursiveIteratorIterator::current ( void )
public void RecursiveIteratorIterator::endChildren ( void )
public void RecursiveIteratorIterator::endIteration ( void )
public int RecursiveIteratorIterator::getDepth ( void )
public iterator RecursiveIteratorIterator::getInnerIterator ( void )
public mixed RecursiveIteratorIterator::getMaxDepth ( void )
public RecursiveIterator RecursiveIteratorIterator::getSubIterator ([ int $level ] )
public mixed RecursiveIteratorIterator::key ( void )
public void RecursiveIteratorIterator::next ( void )
public void RecursiveIteratorIterator::nextElement ( void )
public void RecursiveIteratorIterator::rewind ( void )
public void RecursiveIteratorIterator::setMaxDepth ([ string $max_depth = -1 ] )
public bool RecursiveIteratorIterator::valid ( void )
}

Vordefinierte Konstanten

RecursiveTreeIterator::BYPASS_CURRENT

RecursiveTreeIterator::BYPASS_KEY

RecursiveTreeIterator::PREFIX_LEFT

RecursiveTreeIterator::PREFIX_MID_HAS_NEXT

RecursiveTreeIterator::PREFIX_MID_LAST

RecursiveTreeIterator::PREFIX_END_HAS_NEXT

RecursiveTreeIterator::PREFIX_END_LAST

RecursiveTreeIterator::PREFIX_RIGHT

Inhaltsverzeichnis

  • RecursiveTreeIterator::beginChildren — Begin children
  • RecursiveTreeIterator::beginIteration — Begin iteration
  • RecursiveTreeIterator::callGetChildren — Get children
  • RecursiveTreeIterator::callHasChildren — Has children
  • RecursiveTreeIterator::__construct — Construct a RecursiveTreeIterator
  • RecursiveTreeIterator::current — Get current element
  • RecursiveTreeIterator::endChildren — End children
  • RecursiveTreeIterator::endIteration — End iteration
  • RecursiveTreeIterator::getEntry — Get current entry
  • RecursiveTreeIterator::getPostfix — Get the postfix
  • RecursiveTreeIterator::getPrefix — Get the prefix
  • RecursiveTreeIterator::key — Get the key of the current element
  • RecursiveTreeIterator::next — Move to next element
  • RecursiveTreeIterator::nextElement — Next element
  • RecursiveTreeIterator::rewind — Rewind iterator
  • RecursiveTreeIterator::setPrefixPart — Set a part of the prefix
  • RecursiveTreeIterator::valid — Check validity
RecursiveRegexIterator::hasChildren
RecursiveTreeIterator::beginChildren
Iteratoren


Begin children

RecursiveTreeIterator
RecursiveTreeIterator::beginIteration
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::beginChildren

(PHP 5 >= 5.3.0, PHP 7)

RecursiveTreeIterator::beginChildren — Begin children

Beschreibung

public void RecursiveTreeIterator::beginChildren ( void )

Called when recursing one level down.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

RecursiveTreeIterator
RecursiveTreeIterator::beginIteration
RecursiveTreeIterator


Begin iteration

RecursiveTreeIterator::beginChildren
RecursiveTreeIterator::callGetChildren
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::beginIteration

(PHP 5 >= 5.3.0, PHP 7)

RecursiveTreeIterator::beginIteration — Begin iteration

Beschreibung

public RecursiveIterator RecursiveTreeIterator::beginIteration ( void )

Called when iteration begins (after the first RecursiveTreeIterator::rewind() call).

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A RecursiveIterator.

RecursiveTreeIterator::beginChildren
RecursiveTreeIterator::callGetChildren
RecursiveTreeIterator


Get children

RecursiveTreeIterator::beginIteration
RecursiveTreeIterator::callHasChildren
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::callGetChildren

(PHP 5 >= 5.3.0, PHP 7)

RecursiveTreeIterator::callGetChildren — Get children

Beschreibung

public RecursiveIterator RecursiveTreeIterator::callGetChildren ( void )

Gets children of the current element.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A RecursiveIterator.

RecursiveTreeIterator::beginIteration
RecursiveTreeIterator::callHasChildren
RecursiveTreeIterator


Has children

RecursiveTreeIterator::callGetChildren
RecursiveTreeIterator::__construct
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::callHasChildren

(PHP 5 >= 5.3.0, PHP 7)

RecursiveTreeIterator::callHasChildren — Has children

Beschreibung

public bool RecursiveTreeIterator::callHasChildren ( void )

Called for each element to test whether it has children.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if there are children, otherwise FALSE

RecursiveTreeIterator::callGetChildren
RecursiveTreeIterator::__construct
RecursiveTreeIterator


Construct a RecursiveTreeIterator

RecursiveTreeIterator::callHasChildren
RecursiveTreeIterator::current
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::__construct

(PHP 5 >= 5.3.0, PHP 7)

RecursiveTreeIterator::__construct — Construct a RecursiveTreeIterator

Beschreibung

 public RecursiveTreeIterator::__construct
  ( RecursiveIterator|IteratorAggregate $it
 [, int $flags = RecursiveTreeIterator::BYPASS_KEY
 [, int $cit_flags = CachingIterator::CATCH_GET_CHILD
 [, int $mode = RecursiveIteratorIterator::SELF_FIRST
]]] )

Constructs a new RecursiveTreeIterator from the supplied recursive iterator.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

it

The RecursiveIterator or IteratorAggregate to iterate over.

flags

Flags may be provided which will affect the behavior of some methods. A list of the flags can found under RecursiveTreeIterator predefined constants.

caching_it_flags

Flags to affect the behavior of the RecursiveCachingIterator used internally.

mode

Flags to affect the behavior of the RecursiveIteratorIterator used internally.

Rückgabewerte

Es wird kein Wert zurückgegeben.

RecursiveTreeIterator::callHasChildren
RecursiveTreeIterator::current
RecursiveTreeIterator


Get current element

RecursiveTreeIterator::__construct
RecursiveTreeIterator::endChildren
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::current

(PHP 5 >= 5.3.0, PHP 7)

RecursiveTreeIterator::current — Get current element

Beschreibung

public string RecursiveTreeIterator::current ( void )

Gets the current element prefixed and postfixed.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current element prefixed and postfixed.

RecursiveTreeIterator::__construct
RecursiveTreeIterator::endChildren
RecursiveTreeIterator


End children

RecursiveTreeIterator::current
RecursiveTreeIterator::endIteration
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::endChildren

(PHP 5 >= 5.3.0, PHP 7)

RecursiveTreeIterator::endChildren — End children

Beschreibung

public void RecursiveTreeIterator::endChildren ( void )

Called when end recursing one level.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

RecursiveTreeIterator::current
RecursiveTreeIterator::endIteration
RecursiveTreeIterator


End iteration

RecursiveTreeIterator::endChildren
RecursiveTreeIterator::getEntry
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::endIteration

(PHP 5 >= 5.3.0, PHP 7)

RecursiveTreeIterator::endIteration — End iteration

Beschreibung

public void RecursiveTreeIterator::endIteration ( void )

Called when the iteration ends (when RecursiveTreeIterator::valid() first returns FALSE)

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

RecursiveTreeIterator::endChildren
RecursiveTreeIterator::getEntry
RecursiveTreeIterator


Get current entry

RecursiveTreeIterator::endIteration
RecursiveTreeIterator::getPostfix
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::getEntry

(PHP 5 >= 5.3.0, PHP 7)

RecursiveTreeIterator::getEntry — Get current entry

Beschreibung

public string RecursiveTreeIterator::getEntry ( void )

Gets the part of the tree built for the current element.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the part of the tree built for the current element.

RecursiveTreeIterator::endIteration
RecursiveTreeIterator::getPostfix
RecursiveTreeIterator


Get the postfix

RecursiveTreeIterator::getEntry
RecursiveTreeIterator::getPrefix
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::getPostfix

(PHP 5 >= 5.3.0, PHP 7)

RecursiveTreeIterator::getPostfix — Get the postfix

Beschreibung

public void RecursiveTreeIterator::getPostfix ( void )

Gets the string to place after the current element.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the string to place after the current element.

RecursiveTreeIterator::getEntry
RecursiveTreeIterator::getPrefix
RecursiveTreeIterator


Get the prefix

RecursiveTreeIterator::getPostfix
RecursiveTreeIterator::key
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::getPrefix

(PHP 5 >= 5.3.0, PHP 7)

RecursiveTreeIterator::getPrefix — Get the prefix

Beschreibung

public string RecursiveTreeIterator::getPrefix ( void )

Gets the string to place in front of current element

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the string to place in front of current element

RecursiveTreeIterator::getPostfix
RecursiveTreeIterator::key
RecursiveTreeIterator


Get the key of the current element

RecursiveTreeIterator::getPrefix
RecursiveTreeIterator::next
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::key

(PHP 5 >= 5.3.0, PHP 7)

RecursiveTreeIterator::key — Get the key of the current element

Beschreibung

public string RecursiveTreeIterator::key ( void )

Gets the current key prefixed and postfixed.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current key prefixed and postfixed.

RecursiveTreeIterator::getPrefix
RecursiveTreeIterator::next
RecursiveTreeIterator


Move to next element

RecursiveTreeIterator::key
RecursiveTreeIterator::nextElement
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::next

(PHP 5 >= 5.3.0, PHP 7)

RecursiveTreeIterator::next — Move to next element

Beschreibung

public void RecursiveTreeIterator::next ( void )

Moves forward to the next element.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

RecursiveTreeIterator::key
RecursiveTreeIterator::nextElement
RecursiveTreeIterator


Next element

RecursiveTreeIterator::next
RecursiveTreeIterator::rewind
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::nextElement

(PHP 5 >= 5.3.0, PHP 7)

RecursiveTreeIterator::nextElement — Next element

Beschreibung

public void RecursiveTreeIterator::nextElement ( void )

Called when the next element is available.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

RecursiveTreeIterator::next
RecursiveTreeIterator::rewind
RecursiveTreeIterator


Rewind iterator

RecursiveTreeIterator::nextElement
RecursiveTreeIterator::setPrefixPart
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::rewind

(PHP 5 >= 5.3.0, PHP 7)

RecursiveTreeIterator::rewind — Rewind iterator

Beschreibung

public void RecursiveTreeIterator::rewind ( void )

Rewinds the iterator to the first element of the top level inner iterator.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

RecursiveTreeIterator::nextElement
RecursiveTreeIterator::setPrefixPart
RecursiveTreeIterator


Set a part of the prefix

RecursiveTreeIterator::rewind
RecursiveTreeIterator::valid
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::setPrefixPart

(PHP 5 >= 5.3.0, PHP 7)

RecursiveTreeIterator::setPrefixPart — Set a part of the prefix

Beschreibung

public void RecursiveTreeIterator::setPrefixPart ( int $part , string $value )

Sets a part of the prefix used in the graphic tree.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

part

One of the RecursiveTreeIterator::PREFIX_* constants.

value

The value to assign to the part of the prefix specified in part.

Rückgabewerte

Es wird kein Wert zurückgegeben.

RecursiveTreeIterator::rewind
RecursiveTreeIterator::valid
RecursiveTreeIterator


Check validity

RecursiveTreeIterator::setPrefixPart
RegexIterator
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::valid

(PHP 5 >= 5.3.0, PHP 7)

RecursiveTreeIterator::valid — Check validity

Beschreibung

public bool RecursiveTreeIterator::valid ( void )

Check whether the current position is valid.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if the current position is valid, otherwise FALSE

RecursiveTreeIterator::setPrefixPart
RegexIterator
RecursiveTreeIterator


The RegexIterator class

(PHP 5 >= 5.2.0, PHP 7)

Einführung

This iterator can be used to filter another iterator based on a regular expression.

Klassenbeschreibung

RegexIterator extends FilterIterator {
/* Konstanten */
const integer MATCH = 0 ;
const integer GET_MATCH = 1 ;
const integer ALL_MATCHES = 2 ;
const integer SPLIT = 3 ;
const integer REPLACE = 4 ;
const integer USE_KEY = 1 ;
/* Methoden */
public __construct ( Iterator $iterator , string $regex [, int $mode = self::MATCH [, int $flags = 0 [, int $preg_flags = 0 ]]] )
public bool accept ( void )
public int getFlags ( void )
public int getMode ( void )
public int getPregFlags ( void )
public string getRegex ( void )
public void setFlags ( int $flags )
public void setMode ( int $mode )
public void setPregFlags ( int $preg_flags )
/* Geerbte Methoden */
public abstract bool FilterIterator::accept ( void )
public FilterIterator::__construct ( Iterator $iterator )
public mixed FilterIterator::current ( void )
public Iterator FilterIterator::getInnerIterator ( void )
public mixed FilterIterator::key ( void )
public void FilterIterator::next ( void )
public void FilterIterator::rewind ( void )
public bool FilterIterator::valid ( void )
}

Vordefinierte Konstanten

RegexIterator operation modes

RegexIterator::ALL_MATCHES

Return all matches for the current entry (see preg_match_all()).

RegexIterator::GET_MATCH

Return the first match for the current entry (see preg_match()).

RegexIterator::MATCH

Only execute match (filter) for the current entry (see preg_match()).

RegexIterator::REPLACE

Replace the current entry (see preg_replace(); Not fully implemented yet)

RegexIterator::SPLIT

Returns the split values for the current entry (see preg_split()).

RegexIterator Flags

RegexIterator::USE_KEY

Special flag: Match the entry key instead of the entry value.

Inhaltsverzeichnis

  • RegexIterator::accept — Get accept status
  • RegexIterator::__construct — Create a new RegexIterator
  • RegexIterator::getFlags — Get flags
  • RegexIterator::getMode — Returns operation mode.
  • RegexIterator::getPregFlags — Returns the regular expression flags.
  • RegexIterator::getRegex — Returns current regular expression
  • RegexIterator::setFlags — Sets the flags.
  • RegexIterator::setMode — Sets the operation mode.
  • RegexIterator::setPregFlags — Sets the regular expression flags.
RecursiveTreeIterator::valid
RegexIterator::accept
Iteratoren


Get accept status

RegexIterator
RegexIterator::__construct
RegexIterator
PHP Manual

RegexIterator::accept

(PHP 5 >= 5.2.0, PHP 7)

RegexIterator::accept — Get accept status

Beschreibung

public bool RegexIterator::accept ( void )

Matches (string) RegexIterator::current()
(or RegexIterator::key() if the
RegexIterator::USE_KEY flag is set)
against the regular expression.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if a match, FALSE otherwise.

Beispiele

Beispiel #1 RegexIterator::accept() example

This example shows that only items matching the regular expression are accepted.

<?php
$names = new ArrayIterator(array('Ann', 'Bob', 'Charlie', 'David'));
$filter = new RegexIterator($names, '/^[B-D]/');
foreach ($filter as $name) {
    echo $name . PHP_EOL;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Bob
Charlie
David

Siehe auch

  • RegexIterator constants
  • RegexIterator::setFlags() - Sets the flags.

RegexIterator
RegexIterator::__construct
RegexIterator


Create a new RegexIterator

RegexIterator::accept
RegexIterator::getFlags
RegexIterator
PHP Manual

RegexIterator::__construct

(PHP 5 >= 5.2.0, PHP 7)

RegexIterator::__construct — Create a new RegexIterator

Beschreibung

public RegexIterator::__construct ( Iterator $iterator , string $regex [, int $mode = self::MATCH [, int $flags = 0 [, int $preg_flags = 0 ]]] )

Create a new RegexIterator which filters an Iterator using a regular expression.

Parameter-Liste

iterator

The iterator to apply this regex filter to.

regex

The regular expression to match.

mode

Operation mode, see RegexIterator::setMode() for a list of modes.

flags

Special flags, see RegexIterator::setFlags() for a list of available flags.

preg_flags

The regular expression flags. These flags depend on the operation mode parameter:

RegexIterator preg_flags
operation mode | available flags
RegexIterator::ALL_MATCHES | See preg_match_all().
RegexIterator::GET_MATCH | See preg_match().
RegexIterator::MATCH | See preg_match().
RegexIterator::REPLACE | none.
RegexIterator::SPLIT | See preg_split().

Fehler/Exceptions

Throws an InvalidArgumentException if the regex argument is invalid.

Beispiele

Beispiel #1 RegexIterator::__construct() example

Creates a new RegexIterator that filters all strings that start with 'test'.

<?php
$arrayIterator = new ArrayIterator(array('test 1', 'another test', 'test 123'));
$regexIterator = new RegexIterator($arrayIterator, '/^test/');

foreach ($regexIterator as $value) {
    echo $value . "\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

test 1
test 123

Siehe auch

  • preg_match() - Führt eine Suche mit einem regulären Ausdruck durch
  • preg_match_all() - Führt eine umfassende Suche nach Übereinstimmungen mit regulärem Ausdruck durch
  • preg_replace() - Sucht und ersetzt mit regulären Ausdrücken
  • preg_split() - Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks

RegexIterator::accept
RegexIterator::getFlags
RegexIterator


Get flags

RegexIterator::__construct
RegexIterator::getMode
RegexIterator
PHP Manual

RegexIterator::getFlags

(PHP 5 >= 5.2.0, PHP 7)

RegexIterator::getFlags — Get flags

Beschreibung

public int RegexIterator::getFlags ( void )

Returns the flags, see RegexIterator::setFlags() for a list of available flags.

Rückgabewerte

Returns the set flags.

Beispiele

Beispiel #1 RegexIterator::getFlags() example

<?php

$test = array ('str1' => 'test 1', 'teststr2' => 'another test', 'str3' => 'test 123');

$arrayIterator = new ArrayIterator($test);
$regexIterator = new RegexIterator($arrayIterator, '/^test/');
$regexIterator->setFlags(RegexIterator::USE_KEY);

if ($regexIterator->getFlags() & RegexIterator::USE_KEY) {
    echo 'Filtering based on the array keys.';
} else {
    echo 'Filtering based on the array values.';
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Filtering based on the array keys.

Siehe auch

  • RegexIterator::setFlags() - Sets the flags.

RegexIterator::__construct
RegexIterator::getMode
RegexIterator


Returns operation mode.

RegexIterator::getFlags
RegexIterator::getPregFlags
RegexIterator
PHP Manual

RegexIterator::getMode

(PHP 5 >= 5.2.0, PHP 7)

RegexIterator::getMode — Returns operation mode.

Beschreibung

public int RegexIterator::getMode ( void )

Returns the operation mode, see RegexIterator::setMode() for the list of operation modes.

Rückgabewerte

Returns the operation mode.

Beispiele

Beispiel #1 RegexIterator::getMode() example

<?php

$test = array ('str1' => 'test 1', 'teststr2' => 'another test', 'str3' => 'test 123');

$arrayIterator = new ArrayIterator($test);
$regexIterator = new RegexIterator($arrayIterator, '/^[a-z]+/', RegexIterator::GET_MATCH);

$mode = $regexIterator->getMode();
if ($mode & RegexIterator::GET_MATCH) {
    echo 'Getting the match for each item.';
} elseif ($mode & RegexIterator::ALL_MATCHES) {
    echo 'Getting all matches for each item.';
} elseif ($mode & RegexIterator::MATCH) {
    echo 'Getting each item if it matches.';
} elseif ($mode & RegexIterator::SPLIT) {
    echo 'Getting split pieces of each.';
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Getting the match for each item.

Siehe auch

  • RegexIterator::setMode() - Sets the operation mode.

RegexIterator::getFlags
RegexIterator::getPregFlags
RegexIterator


Returns the regular expression flags.

RegexIterator::getMode
RegexIterator::getRegex
RegexIterator
PHP Manual

RegexIterator::getPregFlags

(PHP 5 >= 5.2.0, PHP 7)

RegexIterator::getPregFlags — Returns the regular expression flags.

Beschreibung

public int RegexIterator::getPregFlags ( void )

Returns the regular expression flags, see RegexIterator::__construct() for the list of flags.

Rückgabewerte

Returns a bitmask of the regular expression flags.

Beispiele

Beispiel #1 RegexIterator::getPregFlags() example

<?php

$test = array ('str1' => 'test 1', 'teststr2' => 'another test', 'str3' => 'test 123');

$arrayIterator = new ArrayIterator($test);
$regexIterator = new RegexIterator($arrayIterator, '/\s/', RegexIterator::SPLIT);
$regexIterator->setPregFlags(PREG_SPLIT_NO_EMPTY | PREG_SPLIT_OFFSET_CAPTURE);

if ($regexIterator->getPregFlags() & PREG_SPLIT_NO_EMPTY) {
    echo 'Ignoring empty pieces';
} else {
    echo 'Not ignoring empty pieces';
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Ignoring empty pieces

Siehe auch

  • RegexIterator::setPregFlags() - Sets the regular expression flags.

RegexIterator::getMode
RegexIterator::getRegex
RegexIterator


Returns current regular expression

RegexIterator::getPregFlags
RegexIterator::setFlags
RegexIterator
PHP Manual

RegexIterator::getRegex

(PHP 5 >= 5.4.0, PHP 7)

RegexIterator::getRegex — Returns current regular expression

Beschreibung

public string RegexIterator::getRegex ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

RegexIterator::getPregFlags
RegexIterator::setFlags
RegexIterator


Sets the flags.

RegexIterator::getRegex
RegexIterator::setMode
RegexIterator
PHP Manual

RegexIterator::setFlags

(PHP 5 >= 5.2.0, PHP 7)

RegexIterator::setFlags — Sets the flags.

Beschreibung

public void RegexIterator::setFlags ( int $flags )

Sets the flags.

Parameter-Liste

flags

The flags to set, a bitmask of class constants.

The available flags are listed below. The actual meanings of these flags are described in the predefined constants.

RegexIterator flags
value | constant
1 | RegexIterator::USE_KEY

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 RegexIterator::setFlags() example

Creates a new RegexIterator that filters all entries whose key starts with 'test'.

<?php
$test = array ('str1' => 'test 1', 'teststr2' => 'another test', 'str3' => 'test 123');

$arrayIterator = new ArrayIterator($test);
$regexIterator = new RegexIterator($arrayIterator, '/^test/');
$regexIterator->setFlags(RegexIterator::USE_KEY);

foreach ($regexIterator as $key => $value) {
    echo $key . ' => ' . $value . "\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

teststr2 => another test

Siehe auch

  • RegexIterator::getFlags() - Get flags

RegexIterator::getRegex
RegexIterator::setMode
RegexIterator


Sets the operation mode.

RegexIterator::setFlags
RegexIterator::setPregFlags
RegexIterator
PHP Manual

RegexIterator::setMode

(PHP 5 >= 5.2.0, PHP 7)

RegexIterator::setMode — Sets the operation mode.

Beschreibung

public void RegexIterator::setMode ( int $mode )

Sets the operation mode.

Parameter-Liste

mode

The operation mode.

The available modes are listed below. The actual meanings of these modes are described in the predefined constants.

RegexIterator modes
value | constant
0 | RegexIterator::MATCH
1 | RegexIterator::GET_MATCH
2 | RegexIterator::ALL_MATCHES
3 | RegexIterator::SPLIT
4 | RegexIterator::REPLACE

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 RegexIterator::setMode() example

<?php
$test = array ('str1' => 'test 1', 'test str2' => 'another test', 'str3' => 'test 123');

$arrayIterator = new ArrayIterator($test);
// Filter everything that starts with 'test ' followed by one or more numbers.
$regexIterator = new RegexIterator($arrayIterator, '/^test (\d+)/');
// Operation mode: Replace actual value with the matches
$regexIterator->setMode(RegexIterator::GET_MATCH);

foreach ($regexIterator as $key => $value) {
    // print out the matched number(s)
    echo $key . ' => ' . $value[1] . PHP_EOL;
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

str1 => 1
str3 => 123

Siehe auch

  • RegexIterator::getMode() - Returns operation mode.

RegexIterator::setFlags
RegexIterator::setPregFlags
RegexIterator


Sets the regular expression flags.

RegexIterator::setMode
Interfaces
RegexIterator
PHP Manual

RegexIterator::setPregFlags

(PHP 5 >= 5.2.0, PHP 7)

RegexIterator::setPregFlags — Sets the regular expression flags.

Beschreibung

public void RegexIterator::setPregFlags ( int $preg_flags )

Sets the regular expression flags.

Parameter-Liste

preg_flags

The regular expression flags. See RegexIterator::__construct() for an overview of available flags.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 RegexIterator::setPregFlags() example

Creates a new RegexIterator that filters all entries with where the array key starts with 'test'.

<?php
$test = array ('test 1', 'another test', 'test 123');

$arrayIterator = new ArrayIterator($test);
$regexIterator = new RegexIterator($arrayIterator, '/^test/', RegexIterator::GET_MATCH);

$regexIterator->setPregFlags(PREG_OFFSET_CAPTURE);

foreach ($regexIterator as $key => $value) {
    var_dump($value);
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(1) {
  [0]=>
  array(2) {
    [0]=>
    string(4) "test"
    [1]=>
    int(0)
  }
}
array(1) {
  [0]=>
  array(2) {
    [0]=>
    string(4) "test"
    [1]=>
    int(0)
  }
}

Siehe auch

  • RegexIterator::getPregFlags() - Returns the regular expression flags.

RegexIterator::setMode
Interfaces
RegexIterator


Interfaces

Inhaltsverzeichnis

  • Countable
  • OuterIterator
  • RecursiveIterator
  • SeekableIterator

SPL bietet einige Interfaces an.

Siehe auch Vordefinierte Interfaces und Klassen

Liste von Interfaces

  • Countable
  • OuterIterator
  • RecursiveIterator
  • SeekableIterator
  • SplObserver
  • SplSubject
RegexIterator::setPregFlags
Countable
SPL


The Countable interface

(PHP 5 >= 5.1.0, PHP 7)

Einführung

Classes implementing Countable can be used with the count() function.

Interface-Übersicht

Countable {
/* Methoden */
abstract public int count ( void )
}

Inhaltsverzeichnis

  • Countable::count — Anzahl der Elemente eines Objekts
Interfaces
Countable::count
Interfaces


Anzahl der Elemente eines Objekts

Countable
OuterIterator
Countable
PHP Manual

Countable::count

(PHP 5 >= 5.1.0, PHP 7)

Countable::count — Anzahl der Elemente eines Objekts

Beschreibung

abstract public int Countable::count ( void )

Die Methode wird ausgeführt, wenn die Funktion count() aufgerufen wird und die Klasse Countable implementiert ist.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Die benutzerdefinierte Anzahl als integer.

Hinweis:

Der Rückgabewert wird umgewandelt in einen integer-Wert.

Beispiele

Beispiel #1 Countable::count() Beispiel

<?php
class myCounter implements Countable {
    private $count = 0;
    public function count() {
        return ++$this->$count;
    }
}

$counter = new myCounter;

for($i=0; $i<10; ++$i) {
    echo "I have been count()ed " . count($counter) . " times\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

I have been count()ed 1 times
I have been count()ed 2 times
I have been count()ed 3 times
I have been count()ed 4 times
I have been count()ed 5 times
I have been count()ed 6 times
I have been count()ed 7 times
I have been count()ed 8 times
I have been count()ed 9 times
I have been count()ed 10 times

Countable
OuterIterator
Countable


The OuterIterator interface

(PHP 5 >= 5.1.0, PHP 7)

Einführung

Classes implementing OuterIterator can be used to iterate over iterators.

Interface-Übersicht

OuterIterator extends Iterator {
/* Methoden */
public Iterator getInnerIterator ( void )
/* Geerbte Methoden */
abstract public mixed Iterator::current ( void )
abstract public scalar Iterator::key ( void )
abstract public void Iterator::next ( void )
abstract public void Iterator::rewind ( void )
abstract public boolean Iterator::valid ( void )
}

Inhaltsverzeichnis

  • OuterIterator::getInnerIterator — Returns the inner iterator for the current entry.
Countable::count
OuterIterator::getInnerIterator
Interfaces


Returns the inner iterator for the current entry.

OuterIterator
RecursiveIterator
OuterIterator
PHP Manual

OuterIterator::getInnerIterator

(PHP 5 >= 5.1.0, PHP 7)

OuterIterator::getInnerIterator — Returns the inner iterator for the current entry.

Beschreibung

public Iterator OuterIterator::getInnerIterator ( void )

Returns the inner iterator for the current iterator entry.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The inner iterator for the current entry.

OuterIterator
RecursiveIterator
OuterIterator


The RecursiveIterator interface

(PHP 5 >= 5.1.0, PHP 7)

Einführung

Classes implementing RecursiveIterator can be used to iterate over iterators recursively.

Interface-Übersicht

RecursiveIterator extends Iterator {
/* Methoden */
public RecursiveIterator getChildren ( void )
public bool hasChildren ( void )
/* Geerbte Methoden */
abstract public mixed Iterator::current ( void )
abstract public scalar Iterator::key ( void )
abstract public void Iterator::next ( void )
abstract public void Iterator::rewind ( void )
abstract public boolean Iterator::valid ( void )
}

Inhaltsverzeichnis

  • RecursiveIterator::getChildren — Returns an iterator for the current entry.
  • RecursiveIterator::hasChildren — Returns if an iterator can be created fot the current entry.
OuterIterator::getInnerIterator
RecursiveIterator::getChildren
Interfaces


Returns an iterator for the current entry.

RecursiveIterator
RecursiveIterator::hasChildren
RecursiveIterator
PHP Manual

RecursiveIterator::getChildren

(PHP 5 >= 5.1.0, PHP 7)

RecursiveIterator::getChildren — Returns an iterator for the current entry.

Beschreibung

public RecursiveIterator RecursiveIterator::getChildren ( void )

Returns an iterator for the current iterator entry.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An iterator for the current entry.

Siehe auch

  • RecursiveIterator::hasChildren() - Returns if an iterator can be created fot the current entry.

RecursiveIterator
RecursiveIterator::hasChildren
RecursiveIterator


Returns if an iterator can be created fot the current entry.

RecursiveIterator::getChildren
SeekableIterator
RecursiveIterator
PHP Manual

RecursiveIterator::hasChildren

(PHP 5 >= 5.1.0, PHP 7)

RecursiveIterator::hasChildren — Returns if an iterator can be created fot the current entry.

Beschreibung

public bool RecursiveIterator::hasChildren ( void )

Returns if an iterator can be created for the current entry. RecursiveIterator::getChildren().

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the current entry can be iterated over, otherwise returns FALSE.

Siehe auch

  • RecursiveIterator::getChildren() - Returns an iterator for the current entry.

RecursiveIterator::getChildren
SeekableIterator
RecursiveIterator


The SeekableIterator interface

(PHP 5 >= 5.1.0, PHP 7)

Einführung

The Seekable iterator.

Interface-Übersicht

SeekableIterator extends Iterator {
/* Methoden */
abstract public void seek ( int $position )
/* Geerbte Methoden */
abstract public mixed Iterator::current ( void )
abstract public scalar Iterator::key ( void )
abstract public void Iterator::next ( void )
abstract public void Iterator::rewind ( void )
abstract public boolean Iterator::valid ( void )
}

Beispiel #1 Basic usage

This example demonstrates creating a custom SeekableIterator, seeking to a position and handling an invalid position.

<?php
class MySeekableIterator implements SeekableIterator {

    private $position;

    private $array = array(
        "first element",
        "second element",
        "third element",
        "fourth element"
    );

    /* Method required for SeekableIterator interface */

    public function seek($position) {
      if (!isset($this->array[$position])) {
          throw new OutOfBoundsException("invalid seek position ($position)");
      }

      $this->position = $position;
    }

    /* Methods required for Iterator interface */

    public function rewind() {
        $this->position = 0;
    }

    public function current() {
        return $this->array[$this->position];
    }

    public function key() {
        return $this->position;
    }

    public function next() {
        ++$this->position;
    }

    public function valid() {
        return isset($this->array[$this->position]);
    }
}

try {

    $it = new MySeekableIterator;
    echo $it->current(), "\n";

    $it->seek(2);
    echo $it->current(), "\n";

    $it->seek(1);
    echo $it->current(), "\n";

    $it->seek(10);

} catch (OutOfBoundsException $e) {
    echo $e->getMessage();
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

first element
third element
second element
invalid seek position (10)

Inhaltsverzeichnis

  • SeekableIterator::seek — Seeks to a position
RecursiveIterator::hasChildren
SeekableIterator::seek
Interfaces


Seeks to a position

SeekableIterator
Exceptions
SeekableIterator
PHP Manual

SeekableIterator::seek

(PHP 5 >= 5.1.0, PHP 7)

SeekableIterator::seek — Seeks to a position

Beschreibung

abstract public void SeekableIterator::seek ( int $position )

Seeks to a given position in the iterator.

Parameter-Liste

position

The position to seek to.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

Implementations should throw an OutOfBoundsException if the position is not seekable.

Beispiele

Beispiel #1 SeekableIterator::seek() example

Seek to the item at position 3 in the iterator (ArrayIterator implements SeekableIterator).

<?php
$array = array("apple", "banana", "cherry", "damson", "elderberry");
$iterator = new ArrayIterator($array);
$iterator->seek(3);
echo $iterator->current();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

damson

Siehe auch

  • SeekableIterator
  • Iterator

SeekableIterator
Exceptions
SeekableIterator


Exceptions

Inhaltsverzeichnis

  • BadFunctionCallException
  • BadMethodCallException
  • DomainException
  • InvalidArgumentException
  • LengthException
  • LogicException
  • OutOfBoundsException
  • OutOfRangeException
  • OverflowException
  • RangeException
  • RuntimeException
  • UnderflowException
  • UnexpectedValueException

SPL bietet einige Standard-Exceptions an.

Siehe auch Vordefinierte Exceptions

SPL Exceptions Class Tree

  • LogicException (extends Exception)
    • BadFunctionCallException
      • BadMethodCallException
    • DomainException
    • InvalidArgumentException
    • LengthException
    • OutOfRangeException
  • RuntimeException (extends Exception)
    • OutOfBoundsException
    • OverflowException
    • RangeException
    • UnderflowException
    • UnexpectedValueException
SeekableIterator::seek
BadFunctionCallException
SPL


The BadFunctionCallException class

(PHP 5 >= 5.1.0, PHP 7)

Einführung

Exception thrown if a callback refers to an undefined function or if some arguments are missing.

Klassenbeschreibung

BadFunctionCallException extends LogicException {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
Exceptions
BadMethodCallException
Exceptions


The BadMethodCallException class

(PHP 5 >= 5.1.0, PHP 7)

Einführung

Exception thrown if a callback refers to an undefined method or if some arguments are missing.

Klassenbeschreibung

BadMethodCallException extends BadFunctionCallException {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
BadFunctionCallException
DomainException
Exceptions


The DomainException class

(PHP 5 >= 5.1.0, PHP 7)

Einführung

Exception thrown if a value does not adhere to a defined valid data domain.

Klassenbeschreibung

DomainException extends LogicException {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
BadMethodCallException
InvalidArgumentException
Exceptions


The InvalidArgumentException class

(PHP 5 >= 5.1.0, PHP 7)

Einführung

Exception thrown if an argument is not of the expected type.

Klassenbeschreibung

InvalidArgumentException extends LogicException {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
DomainException
LengthException
Exceptions


The LengthException class

(PHP 5 >= 5.1.0, PHP 7)

Einführung

Exception thrown if a length is invalid.

Klassenbeschreibung

LengthException extends LogicException {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
InvalidArgumentException
LogicException
Exceptions


The LogicException class

(PHP 5 >= 5.1.0, PHP 7)

Einführung

Exception that represents error in the program logic. This kind of exception should lead directly to a fix in your code.

Klassenbeschreibung

LogicException extends Exception {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
LengthException
OutOfBoundsException
Exceptions


The OutOfBoundsException class

(PHP 5 >= 5.1.0, PHP 7)

Einführung

Exception thrown if a value is not a valid key. This represents errors that cannot be detected at compile time.

Klassenbeschreibung

OutOfBoundsException extends RuntimeException {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
LogicException
OutOfRangeException
Exceptions


The OutOfRangeException class

(PHP 5 >= 5.1.0, PHP 7)

Einführung

Exception thrown when an illegal index was requested. This represents errors that should be detected at compile time.

Klassenbeschreibung

OutOfRangeException extends LogicException {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
OutOfBoundsException
OverflowException
Exceptions


The OverflowException class

(PHP 5 >= 5.1.0, PHP 7)

Einführung

Exception thrown when adding an element to a full container.

Klassenbeschreibung

OverflowException extends RuntimeException {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
OutOfRangeException
RangeException
Exceptions


The RangeException class

(PHP 5 >= 5.1.0, PHP 7)

Einführung

Exception thrown to indicate range errors during program execution. Normally this means there was an arithmetic error other than under/overflow. This is the runtime version of DomainException.

Klassenbeschreibung

RangeException extends RuntimeException {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
OverflowException
RuntimeException
Exceptions


The RuntimeException class

(PHP 5 >= 5.1.0, PHP 7)

Einführung

Exception thrown if an error which can only be found on runtime occurs.

Klassenbeschreibung

RuntimeException extends Exception {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
RangeException
UnderflowException
Exceptions


The UnderflowException class

(PHP 5 >= 5.1.0, PHP 7)

Einführung

Exception thrown when performing an invalid operation on an empty container, such as removing an element.

Klassenbeschreibung

UnderflowException extends RuntimeException {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
RuntimeException
UnexpectedValueException
Exceptions


The UnexpectedValueException class

(PHP 5 >= 5.1.0, PHP 7)

Einführung

Exception thrown if a value does not match with a set of values. Typically this happens when a function calls another function and expects the return value to be of a certain type or value not including arithmetic or buffer related errors.

Klassenbeschreibung

UnexpectedValueException extends RuntimeException {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
UnderflowException
SPL Funktionen
Exceptions


SPL Funktionen

Inhaltsverzeichnis

  • class_implements — Return the interfaces which are implemented by the given class or interface
  • class_parents — Return the parent classes of the given class
  • class_uses — Return the traits used by the given class
  • iterator_apply — Call a function for every element in an iterator
  • iterator_count — Count the elements in an iterator
  • iterator_to_array — Copy the iterator into an array
  • spl_autoload_call — Try all registered __autoload() function to load the requested class
  • spl_autoload_extensions — Registriert und gibt die voreingestellten Dateiendungen für spl_autoload zurück
  • spl_autoload_functions — Liefert alle registrierten __autoload() Funktionen
  • spl_autoload_register — Register given function as __autoload() implementation
  • spl_autoload_unregister — Unregister given function as __autoload() implementation
  • spl_autoload — Default implementation for __autoload()
  • spl_classes — Return available SPL classes
  • spl_object_hash — Return hash id for given object
UnexpectedValueException
class_implements
SPL


Return the interfaces which are implemented by the given class or interface

SPL Funktionen
class_parents
SPL Funktionen
PHP Manual

class_implements

(PHP 5 >= 5.1.0, PHP 7)

class_implements — Return the interfaces which are implemented by the given class or interface

Beschreibung

array class_implements ( mixed $class [, bool $autoload = true ] )

This function returns an array with the names of the interfaces that the given class and its parents implement.

Parameter-Liste

class

An object (class instance) or a string (class or interface name).

autoload

Whether to allow this function to load the class automatically through the __autoload() magic method.

Rückgabewerte

An array on success, or FALSE on error.

Changelog

Version | Beschreibung
5.1.0 | Added the option to pass the class parameter as a string. Added the autoload parameter.

Beispiele

Beispiel #1 class_implements() example

<?php

interface foo { }
class bar implements foo {}

print_r(class_implements(new bar));

// since PHP 5.1.0 you may also specify the parameter as a string
print_r(class_implements('bar'));

function __autoload($class_name) {
   require_once $class_name . '.php';
}

// use __autoload to load the 'not_loaded' class
print_r(class_implements('not_loaded', true));

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [foo] => foo
)

Array
(
    [interface_of_not_loaded] => interface_of_not_loaded
)

Siehe auch

  • class_parents() - Return the parent classes of the given class
  • get_declared_interfaces() - Gibt ein Array mit allen definierten Interfaces zurück

SPL Funktionen
class_parents
SPL Funktionen


Return the parent classes of the given class

class_implements
class_uses
SPL Funktionen
PHP Manual

class_parents

(PHP 5 >= 5.1.0, PHP 7)

class_parents — Return the parent classes of the given class

Beschreibung

array class_parents ( mixed $class [, bool $autoload = true ] )

This function returns an array with the name of the parent classes of the given class.

Parameter-Liste

class

An object (class instance) or a string (class name).

autoload

Whether to allow this function to load the class automatically through the __autoload() magic method.

Rückgabewerte

An array on success, or FALSE on error.

Changelog

Version | Beschreibung
5.1.0 | Added the option to pass the class parameter as a string. Added the autoload parameter.

Beispiele

Beispiel #1 class_parents() example

<?php

class foo { }
class bar extends foo {}

print_r(class_parents(new bar));

// since PHP 5.1.0 you may also specify the parameter as a string
print_r(class_parents('bar'));

function __autoload($class_name) {
   require_once $class_name . '.php';
}

// use __autoload to load the 'not_loaded' class
print_r(class_parents('not_loaded', true));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [foo] => foo
)

Array
(
    [parent_of_not_loaded] => parent_of_not_loaded
)

Siehe auch

  • class_implements() - Return the interfaces which are implemented by the given class or interface

class_implements
class_uses
SPL Funktionen


Return the traits used by the given class

class_parents
iterator_apply
SPL Funktionen
PHP Manual

class_uses

(PHP 5 >= 5.4.0, PHP 7)

class_uses — Return the traits used by the given class

Beschreibung

array class_uses ( mixed $class [, bool $autoload = true ] )

This function returns an array with the names of the traits that the given class uses. This does however not include any traits used by a parent class.

Parameter-Liste

class

An object (class instance) or a string (class name).

autoload

Whether to allow this function to load the class automatically through the __autoload() magic method.

Rückgabewerte

An array on success, or FALSE on error.

Beispiele

Beispiel #1 class_uses() example

<?php

trait foo { }
class bar {
  use foo;
}

print_r(class_uses(new bar));

print_r(class_uses('bar'));

function __autoload($class_name) {
   require_once $class_name . '.php';
}

// use __autoload to load the 'not_loaded' class
print_r(class_uses('not_loaded', true));

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [foo] => foo
)

Array
(
    [foo] => foo
)

Array
(
    [trait_of_not_loaded] => trait_of_not_loaded
)

Siehe auch

  • class_parents() - Return the parent classes of the given class
  • get_declared_traits() - Returns an array of all declared traits

class_parents
iterator_apply
SPL Funktionen


Call a function for every element in an iterator

class_uses
iterator_count
SPL Funktionen
PHP Manual

iterator_apply

(PHP 5 >= 5.1.0, PHP 7)

iterator_apply — Call a function for every element in an iterator

Beschreibung

int iterator_apply ( Traversable $iterator , callable $function [, array $args ] )

Calls a function for every element in an iterator.

Parameter-Liste

iterator

The class to iterate over.

function

The callback function to call on every element.

Hinweis: The function must return TRUE in order to continue iterating over the iterator.

args

Arguments to pass to the callback function.

Rückgabewerte

Returns the iteration count.

Beispiele

Beispiel #1 iterator_apply() example

<?php
function print_caps(Iterator $iterator) {
    echo strtoupper($iterator->current()) . "\n";
    return TRUE;
}

$it = new ArrayIterator(array("Apples", "Bananas", "Cherries"));
iterator_apply($it, "print_caps", array($it));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

APPLES
BANANAS
CHERRIES

Siehe auch

  • array_walk() - Wendet eine vom Benutzer gelieferte Funktion auf jedes Element eines Arrays an

class_uses
iterator_count
SPL Funktionen


Count the elements in an iterator

iterator_apply
iterator_to_array
SPL Funktionen
PHP Manual

iterator_count

(PHP 5 >= 5.1.0, PHP 7)

iterator_count — Count the elements in an iterator

Beschreibung

int iterator_count ( Traversable $iterator )

Count the elements in an iterator. iterator_count() is not guaranteed to retain the current position of the iterator.

Parameter-Liste

iterator

The iterator being counted.

Rückgabewerte

The number of elements in iterator.

Beispiele

Beispiel #1 iterator_count() example

<?php
$iterator = new ArrayIterator(array('recipe'=>'pancakes', 'egg', 'milk', 'flour'));
var_dump(iterator_count($iterator));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(4)

Beispiel #2 iterator_count() modifies position

<?php
$iterator = new ArrayIterator(['one', 'two', 'three']);
var_dump($iterator->current());
var_dump(iterator_count($iterator));
var_dump($iterator->current());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(3) "one"
int(3)
NULL

Beispiel #3 iterator_count() in foreach loops

<?php
$iterator = new ArrayIterator(['one', 'two', 'three']);
foreach ($iterator as $key => $value) {
    echo "$key: $value (", iterator_count($iterator), ")\n";
}?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

0: one (3)

iterator_apply
iterator_to_array
SPL Funktionen


Copy the iterator into an array

iterator_count
spl_autoload_call
SPL Funktionen
PHP Manual

iterator_to_array

(PHP 5 >= 5.1.0, PHP 7)

iterator_to_array — Copy the iterator into an array

Beschreibung

array iterator_to_array ( Traversable $iterator [, bool $use_keys = true ] )

Copy the elements of an iterator into an array.

Parameter-Liste

iterator

The iterator being copied.

use_keys

Whether to use the iterator element keys as index.

In PHP 5.5 and later, if a key is an array or object, a warning will be generated. NULL keys will be converted to an empty string, double keys will be truncated to their integer counterpart, resource keys will generate a warning and be converted to their resource ID, and boolean keys will be converted to integers.

Hinweis:

If this parameter is not set or set to TRUE, duplicate keys will be overwritten. The last value with a given key will be in the returned array. Set this paramater to FALSE to get all the values in any case.

Rückgabewerte

An array containing the elements of the iterator.

Changelog

Version | Beschreibung
5.5.0 | iterator_to_array() gained support for key types other than integer and string when the use_keys parameter is enabled.
5.2.1 | The use_keys parameter was added.

Beispiele

Beispiel #1 iterator_to_array() example

<?php
$iterator = new ArrayIterator(array('recipe'=>'pancakes', 'egg', 'milk', 'flour'));
var_dump(iterator_to_array($iterator, true));
var_dump(iterator_to_array($iterator, false));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(4) {
  ["recipe"]=>
  string(8) "pancakes"
  [0]=>
  string(3) "egg"
  [1]=>
  string(4) "milk"
  [2]=>
  string(5) "flour"
}
array(4) {
  [0]=>
  string(8) "pancakes"
  [1]=>
  string(3) "egg"
  [2]=>
  string(4) "milk"
  [3]=>
  string(5) "flour"
}

iterator_count
spl_autoload_call
SPL Funktionen


Try all registered __autoload() function to load the requested class

iterator_to_array
spl_autoload_extensions
SPL Funktionen
PHP Manual

spl_autoload_call

(PHP 5 >= 5.1.2, PHP 7)

spl_autoload_call — Try all registered __autoload() function to load the requested class

Beschreibung

void spl_autoload_call ( string $class_name )

This function can be used to manually search for a class or interface using the registered __autoload functions.

Parameter-Liste

class_name

The class name being searched.

Rückgabewerte

Es wird kein Wert zurückgegeben.

iterator_to_array
spl_autoload_extensions
SPL Funktionen


Registriert und gibt die voreingestellten Dateiendungen für spl_autoload zurück

spl_autoload_call
spl_autoload_functions
SPL Funktionen
PHP Manual

spl_autoload_extensions

(PHP 5 >= 5.1.2, PHP 7)

spl_autoload_extensions — Registriert und gibt die voreingestellten Dateiendungen für spl_autoload zurück

Beschreibung

string spl_autoload_extensions ([ string $file_extensions ] )

Diese Funktion kann die Dateiendungen, die in der __autoload() Fallback-Funktion spl_autoload() verwendet werden, prüfen und ändern.

Parameter-Liste

file_extensions

Wenn die Funktion ohne Parameter aufgerufen wird, werden alle aktuellen Endungen Komma separiert zurück gegeben. Um die Liste mit den Dateiendungen zu modifizieren, einfach die Funktion noch einmal aufrufen mit einer neuen Liste von Dateiendungen, die Komma separiert in einer einzigen Zeichenkette übergeben wird.

Rückgabewerte

Eine durch Kommata getrennte Liste mit den Voreingestellten Dateiendungen für spl_autoload().

spl_autoload_call
spl_autoload_functions
SPL Funktionen


Liefert alle registrierten __autoload() Funktionen

spl_autoload_extensions
spl_autoload_register
SPL Funktionen
PHP Manual

spl_autoload_functions

(PHP 5 >= 5.1.2, PHP 7)

spl_autoload_functions — Liefert alle registrierten __autoload() Funktionen

Beschreibung

array spl_autoload_functions ( void )

Gibt alle registrierten __autoload() Funktionen zurück.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Ein Array aller registrierten __autoload Funktionen. Ist die Autoload-Schlange nicht aktiviert, wird FALSE zurück gegeben. Ist keine Funktion registriert, wird ein leeres Array zurück gegeben.

spl_autoload_extensions
spl_autoload_register
SPL Funktionen


Register given function as __autoload() implementation

spl_autoload_functions
spl_autoload_unregister
SPL Funktionen
PHP Manual

spl_autoload_register

(PHP 5 >= 5.1.2, PHP 7)

spl_autoload_register — Register given function as __autoload() implementation

Beschreibung

bool spl_autoload_register ([ callable $autoload_function [, bool $throw = true [, bool $prepend = false ]]] )

Register a function with the spl provided __autoload queue. If the queue is not yet activated it will be activated.

If your code has an existing __autoload() function then this function must be explicitly registered on the __autoload queue. This is because spl_autoload_register() will effectively replace the engine cache for the __autoload() function by either spl_autoload() or spl_autoload_call().

If there must be multiple autoload functions, spl_autoload_register() allows for this. It effectively creates a queue of autoload functions, and runs through each of them in the order they are defined. By contrast, __autoload() may only be defined once.

Parameter-Liste

autoload_function

The autoload function being registered. If no parameter is provided, then the default implementation of spl_autoload() will be registered.

throw

This parameter specifies whether spl_autoload_register() should throw exceptions when the autoload_function cannot be registered.

prepend

If true, spl_autoload_register() will prepend the autoloader on the autoload queue instead of appending it.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.3.0 | Namespaces support was introduced.
5.3.0 | The prepend parameter was added.

Beispiele

Beispiel #1 spl_autoload_register() as a replacement for an __autoload() function

<?php

// function __autoload($class) {
//     include 'classes/' . $class . '.class.php';
// }

function my_autoloader($class) {
    include 'classes/' . $class . '.class.php';
}

spl_autoload_register('my_autoloader');

// Or, using an anonymous function as of PHP 5.3.0
spl_autoload_register(function ($class) {
    include 'classes/' . $class . '.class.php';
});

?>

Beispiel #2 spl_autoload_register() example where the class is not loaded

<?php

namespace Foobar;

class Foo {
    static public function test($name) {
        print '[['. $name .']]';
    }
}

spl_autoload_register(__NAMESPACE__ .'\Foo::test'); // As of PHP 5.3.0

new InexistentClass;

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

[[Foobar\InexistentClass]]
Fatal error: Class 'Foobar\InexistentClass' not found in ...

Siehe auch

  • __autoload() - Attempt to load undefined class

spl_autoload_functions
spl_autoload_unregister
SPL Funktionen


Unregister given function as __autoload() implementation

spl_autoload_register
spl_autoload
SPL Funktionen
PHP Manual

spl_autoload_unregister

(PHP 5 >= 5.1.2, PHP 7)

spl_autoload_unregister — Unregister given function as __autoload() implementation

Beschreibung

bool spl_autoload_unregister ( mixed $autoload_function )

Removes a function from the autoload queue. If the queue is activated and empty after removing the given function then it will be deactivated.

When this function results in the queue being deactivated, any __autoload function that previously existed will not be reactivated.

Parameter-Liste

autoload_function

The autoload function being unregistered.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

spl_autoload_register
spl_autoload
SPL Funktionen


Default implementation for __autoload()

spl_autoload_unregister
spl_classes
SPL Funktionen
PHP Manual

spl_autoload

(PHP 5 >= 5.1.2, PHP 7)

spl_autoload — Default implementation for __autoload()

Beschreibung

void spl_autoload ( string $class_name [, string $file_extensions = spl_autoload_extensions() ] )

This function is intended to be used as a default implementation for __autoload(). If nothing else is specified and spl_autoload_register() is called without any parameters then this function will be used for any later call to __autoload().

Parameter-Liste

class_name

The lowercased name of the class (and namespace) being instantiated.

file_extensions

By default it checks all include paths to contain filenames built up by the lowercase class name appended by the filename extensions .inc and .php.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

Throws LogicException when the class is not found and there are no other autoloaders registered.

spl_autoload_unregister
spl_classes
SPL Funktionen


Return available SPL classes

spl_autoload
spl_object_hash
SPL Funktionen
PHP Manual

spl_classes

(PHP 5, PHP 7)

spl_classes — Return available SPL classes

Beschreibung

array spl_classes ( void )

This function returns an array with the current available SPL classes.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array containing the currently available SPL classes.

Beispiele

Beispiel #1 spl_classes() example

<?php

print_r(spl_classes());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [ArrayObject] => ArrayObject
    [ArrayIterator] => ArrayIterator
    [CachingIterator] => CachingIterator
    [RecursiveCachingIterator] => RecursiveCachingIterator
    [DirectoryIterator] => DirectoryIterator
    [FilterIterator] => FilterIterator
    [LimitIterator] => LimitIterator
    [ParentIterator] => ParentIterator
    [RecursiveDirectoryIterator] => RecursiveDirectoryIterator
    [RecursiveIterator] => RecursiveIterator
    [RecursiveIteratorIterator] => RecursiveIteratorIterator
    [SeekableIterator] => SeekableIterator
    [SimpleXMLIterator] => SimpleXMLIterator
)

spl_autoload
spl_object_hash
SPL Funktionen


Return hash id for given object

spl_classes
Dateibehandlung
SPL Funktionen
PHP Manual

spl_object_hash

(PHP 5 >= 5.2.0, PHP 7)

spl_object_hash — Return hash id for given object

Beschreibung

string spl_object_hash ( object $obj )

This function returns a unique identifier for the object. This id can be used as a hash key for storing objects, or for identifying an object, as long as the object is not destroyed. Once the object is destroyed, its hash may be reused for other objects.

Parameter-Liste

object

Any object.

Rückgabewerte

A string that is unique for each currently existing object and is always the same for each object.

Beispiele

Beispiel #1 A spl_object_hash() example

<?php
$id = spl_object_hash($object);
$storage[$id] = $object;
?>

Anmerkungen

Hinweis:

When an object is destroyed, its hash may be reused for other objects.

spl_classes
Dateibehandlung
SPL Funktionen


Dateibehandlung

Inhaltsverzeichnis

  • SplFileInfo
  • SplFileObject
  • SplTempFileObject

SPL bietet einige Klassen für die Verarbeitung von Dateien.

spl_object_hash
SplFileInfo
SPL


The SplFileInfo class

(PHP 5 >= 5.1.2, PHP 7)

Einführung

The SplFileInfo class offers a high-level object oriented interface to information for an individual file.

Klassenbeschreibung

SplFileInfo {
/* Methoden */
public __construct ( string $file_name )
public int getATime ( void )
public string getBasename ([ string $suffix ] )
public int getCTime ( void )
public string getExtension ( void )
public SplFileInfo getFileInfo ([ string $class_name ] )
public string getFilename ( void )
public int getGroup ( void )
public int getInode ( void )
public string getLinkTarget ( void )
public int getMTime ( void )
public int getOwner ( void )
public string getPath ( void )
public SplFileInfo getPathInfo ([ string $class_name ] )
public string getPathname ( void )
public int getPerms ( void )
public string getRealPath ( void )
public int getSize ( void )
public string getType ( void )
public bool isDir ( void )
public bool isExecutable ( void )
public bool isFile ( void )
public bool isLink ( void )
public bool isReadable ( void )
public bool isWritable ( void )
public SplFileObject openFile ([ string $open_mode = "r" [, bool $use_include_path = false [, resource $context = NULL ]]] )
public void setFileClass ([ string $class_name = "SplFileObject" ] )
public void setInfoClass ([ string $class_name = "SplFileInfo" ] )
public void __toString ( void )
}

Inhaltsverzeichnis

  • SplFileInfo::__construct — Construct a new SplFileInfo object
  • SplFileInfo::getATime — Gets last access time of the file
  • SplFileInfo::getBasename — Gets the base name of the file
  • SplFileInfo::getCTime — Gets the inode change time
  • SplFileInfo::getExtension — Gets the file extension
  • SplFileInfo::getFileInfo — Gets an SplFileInfo object for the file
  • SplFileInfo::getFilename — Gets the filename
  • SplFileInfo::getGroup — Gets the file group
  • SplFileInfo::getInode — Gets the inode for the file
  • SplFileInfo::getLinkTarget — Gets the target of a link
  • SplFileInfo::getMTime — Gets the last modified time
  • SplFileInfo::getOwner — Gets the owner of the file
  • SplFileInfo::getPath — Gets the path without filename
  • SplFileInfo::getPathInfo — Gets an SplFileInfo object for the path
  • SplFileInfo::getPathname — Gets the path to the file
  • SplFileInfo::getPerms — Gets file permissions
  • SplFileInfo::getRealPath — Gets absolute path to file
  • SplFileInfo::getSize — Gets file size
  • SplFileInfo::getType — Gets file type
  • SplFileInfo::isDir — Tells if the file is a directory
  • SplFileInfo::isExecutable — Tells if the file is executable
  • SplFileInfo::isFile — Tells if the object references a regular file
  • SplFileInfo::isLink — Tells if the file is a link
  • SplFileInfo::isReadable — Tells if file is readable
  • SplFileInfo::isWritable — Tells if the entry is writable
  • SplFileInfo::openFile — Gets an SplFileObject object for the file
  • SplFileInfo::setFileClass — Sets the class used with SplFileInfo::openFile
  • SplFileInfo::setInfoClass — Sets the class used with SplFileInfo::getFileInfo and SplFileInfo::getPathInfo
  • SplFileInfo::__toString — Returns the path to the file as a string
Dateibehandlung
SplFileInfo::__construct
Dateibehandlung


Construct a new SplFileInfo object

SplFileInfo
SplFileInfo::getATime
SplFileInfo
PHP Manual

SplFileInfo::__construct

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::__construct — Construct a new SplFileInfo object

Beschreibung

public SplFileInfo::__construct ( string $file_name )

Creates a new SplFileInfo object for the file_name specified. The file does not need to exist, or be readable.

Parameter-Liste

file_name

Path to the file.

Beispiele

Beispiel #1 SplFileInfo::__construct() example

<?php
$info = new SplFileInfo('example.php');
if ($info->isFile()) {
    echo $info->getRealPath();
}
?>

SplFileInfo
SplFileInfo::getATime
SplFileInfo


Gets last access time of the file

SplFileInfo::__construct
SplFileInfo::getBasename
SplFileInfo
PHP Manual

SplFileInfo::getATime

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::getATime — Gets last access time of the file

Beschreibung

public int SplFileInfo::getATime ( void )

Gets the last access time for the file.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the time the file was last accessed.

Fehler/Exceptions

Throws RunTimeException on error.

Siehe auch

  • fileatime() - Liefert Datum und Uhrzeit des letzten Zugriffs auf eine Datei

SplFileInfo::__construct
SplFileInfo::getBasename
SplFileInfo


Gets the base name of the file

SplFileInfo::getATime
SplFileInfo::getCTime
SplFileInfo
PHP Manual

SplFileInfo::getBasename

(PHP 5 >= 5.2.2, PHP 7)

SplFileInfo::getBasename — Gets the base name of the file

Beschreibung

public string SplFileInfo::getBasename ([ string $suffix ] )

This method returns the base name of the file, directory, or link without path info.

Parameter-Liste

suffix

Optional suffix to omit from the base name returned.

Rückgabewerte

Returns the base name without path information.

Beispiele

Beispiel #1 SplFileInfo::getBasename() example

<?php
$info = new SplFileInfo('file.txt');
var_dump($info->getBasename());

$info = new SplFileInfo('/path/to/file.txt');
var_dump($info->getBasename());

$info = new SplFileInfo('/path/to/file.txt');
var_dump($info->getBasename('.txt'));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(8) "file.txt"
string(8) "file.txt"
string(4) "file"

Siehe auch

  • SplFileInfo::getFilename() - Gets the filename

SplFileInfo::getATime
SplFileInfo::getCTime
SplFileInfo


Gets the inode change time

SplFileInfo::getBasename
SplFileInfo::getExtension
SplFileInfo
PHP Manual

SplFileInfo::getCTime

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::getCTime — Gets the inode change time

Beschreibung

public int SplFileInfo::getCTime ( void )

Returns the inode change time for the file. The time returned is a Unix timestamp.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The last change time, in a Unix timestamp.

Fehler/Exceptions

Throws RunTimeException on error.

Beispiele

Beispiel #1 SplFileInfo::getCTime() example

<?php
$info = new SplFileInfo(__FILE__);
echo 'Last changed at ' . date('g:i a', $info->getCTime());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Last changed at 1:49 pm

Siehe auch

  • filectime() - Liefert Datum und Uhrzeit der letzten Änderung des Datei Inode

SplFileInfo::getBasename
SplFileInfo::getExtension
SplFileInfo


Gets the file extension

SplFileInfo::getCTime
SplFileInfo::getFileInfo
SplFileInfo
PHP Manual

SplFileInfo::getExtension

(PHP 5 >= 5.3.6, PHP 7)

SplFileInfo::getExtension — Gets the file extension

Beschreibung

public string SplFileInfo::getExtension ( void )

Retrieves the file extension.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a string containing the file extension, or an empty string if the file has no extension.

Beispiele

Beispiel #1 SplFileInfo::getExtension() example

<?php

$info = new SplFileInfo('foo.txt');
var_dump($info->getExtension());

$info = new SplFileInfo('photo.jpg');
var_dump($info->getExtension());

$info = new SplFileInfo('something.tar.gz');
var_dump($info->getExtension());

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(3) "txt"
string(3) "jpg"
string(2) "gz"

Anmerkungen

Hinweis:

This method is only available as of PHP 5.3.6. Another way of getting the extension is to use the pathinfo() function.

<?php
$extension = pathinfo($info->getFilename(), PATHINFO_EXTENSION);
?>

Siehe auch

  • SplFileInfo::getFilename() - Gets the filename
  • SplFileInfo::getBasename() - Gets the base name of the file
  • pathinfo() - Liefert Informationen über einen Dateipfad
SplFileInfo::getCTime
SplFileInfo::getFileInfo
SplFileInfo


Gets an SplFileInfo object for the file

SplFileInfo::getExtension
SplFileInfo::getFilename
SplFileInfo
PHP Manual

SplFileInfo::getFileInfo

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::getFileInfo — Gets an SplFileInfo object for the file

Beschreibung

public SplFileInfo SplFileInfo::getFileInfo ([ string $class_name ] )

This method gets an SplFileInfo object for the referenced file.

Parameter-Liste

class_name

Name of an SplFileInfo derived class to use.

Rückgabewerte

An SplFileInfo object created for the file.

Siehe auch

  • SplFileInfo::setInfoClass() - Sets the class used with SplFileInfo::getFileInfo and SplFileInfo::getPathInfo

SplFileInfo::getExtension
SplFileInfo::getFilename
SplFileInfo


Gets the filename

SplFileInfo::getFileInfo
SplFileInfo::getGroup
SplFileInfo
PHP Manual

SplFileInfo::getFilename

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::getFilename — Gets the filename

Beschreibung

public string SplFileInfo::getFilename ( void )

Gets the filename without any path information.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The filename.

Beispiele

Beispiel #1 SplFileInfo::getFilename() example

<?php
$info = new SplFileInfo('foo.txt');
var_dump($info->getFilename());

$info = new SplFileInfo('/path/to/foo.txt');
var_dump($info->getFilename());

$info = new SplFileInfo('http://www.php.net/');
var_dump($info->getFilename());

$info = new SplFileInfo('http://www.php.net/svn.php');
var_dump($info->getFilename());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(7) "foo.txt"
string(7) "foo.txt"
string(0) ""
string(7) "svn.php"

Siehe auch

  • SplFileInfo::getBasename() - Gets the base name of the file

SplFileInfo::getFileInfo
SplFileInfo::getGroup
SplFileInfo


Gets the file group

SplFileInfo::getFilename
SplFileInfo::getInode
SplFileInfo
PHP Manual

SplFileInfo::getGroup

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::getGroup — Gets the file group

Beschreibung

public int SplFileInfo::getGroup ( void )

Gets the file group. The group ID is returned in numerical format.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The group id in numerical format.

Fehler/Exceptions

Throws RuntimeException on error.

Beispiele

Beispiel #1 SplFileInfo::getGroup() example

<?php
$info = new SplFileInfo(__FILE__);
print_r(posix_getgrgid($info->getGroup()));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Siehe auch

  • posix_getgrgid() - Liefert zu einer Gruppen-ID Informationen über diese Gruppe

SplFileInfo::getFilename
SplFileInfo::getInode
SplFileInfo


Gets the inode for the file

SplFileInfo::getGroup
SplFileInfo::getLinkTarget
SplFileInfo
PHP Manual

SplFileInfo::getInode

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::getInode — Gets the inode for the file

Beschreibung

public int SplFileInfo::getInode ( void )

Gets the inode number for the filesystem object.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the inode number for the filesystem object.

Fehler/Exceptions

Throws RuntimeException on error.

Siehe auch

  • fileinode() - Liefert die Inode-Nummer einer Datei

SplFileInfo::getGroup
SplFileInfo::getLinkTarget
SplFileInfo


Gets the target of a link

SplFileInfo::getInode
SplFileInfo::getMTime
SplFileInfo
PHP Manual

SplFileInfo::getLinkTarget

(PHP 5 >= 5.2.2, PHP 7)

SplFileInfo::getLinkTarget — Gets the target of a link

Beschreibung

public string SplFileInfo::getLinkTarget ( void )

Gets the target of a filesystem link.

Hinweis:

The target may not be the real path on the filesystem. Use SplFileInfo::getRealPath() to determine the true path on the filesystem.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the target of the filesystem link.

Fehler/Exceptions

Throws RuntimeException on error.

Beispiele

Beispiel #1 SplFileInfo::getLinkTarget() example

<?php
$info = new SplFileInfo('/Users/bbieber/workspace');
if ($info->isLink()) {
    var_dump($info->getLinkTarget());
    var_dump($info->getRealPath());
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(19) "Documents/workspace"
string(34) "/Users/bbieber/Documents/workspace"

Siehe auch

  • SplFileInfo::isLink() - Tells if the file is a link
  • SplFileInfo::getRealPath() - Gets absolute path to file

SplFileInfo::getInode
SplFileInfo::getMTime
SplFileInfo


Gets the last modified time

SplFileInfo::getLinkTarget
SplFileInfo::getOwner
SplFileInfo
PHP Manual

SplFileInfo::getMTime

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::getMTime — Gets the last modified time

Beschreibung

public int SplFileInfo::getMTime ( void )

Returns the time when the contents of the file were changed. The time returned is a Unix timestamp.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the last modified time for the file, in a Unix timestamp.

Siehe auch

  • filemtime() - Liefert Datum und Uhrzeit der letzten Dateiänderung

SplFileInfo::getLinkTarget
SplFileInfo::getOwner
SplFileInfo


Gets the owner of the file

SplFileInfo::getMTime
SplFileInfo::getPath
SplFileInfo
PHP Manual

SplFileInfo::getOwner

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::getOwner — Gets the owner of the file

Beschreibung

public int SplFileInfo::getOwner ( void )

Gets the file owner. The owner ID is returned in numerical format.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The owner id in numerical format.

Fehler/Exceptions

Throws RuntimeException on error.

Beispiele

Beispiel #1 SplFileInfo::getOwner() example

<?php
$info = new SplFileInfo('file.txt');
print_r(posix_getpwuid($info->getOwner()));
?>

Siehe auch

  • posix_getpwuid() - Liefert zu einer Benutzer-ID Informationen über diesen Benutzer
  • SplFileInfo::getGroup() - Gets the file group

SplFileInfo::getMTime
SplFileInfo::getPath
SplFileInfo


Gets the path without filename

SplFileInfo::getOwner
SplFileInfo::getPathInfo
SplFileInfo
PHP Manual

SplFileInfo::getPath

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::getPath — Gets the path without filename

Beschreibung

public string SplFileInfo::getPath ( void )

Returns the path to the file, omitting the filename and any trailing slash.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the path to the file.

Beispiele

Beispiel #1 SplFileInfo::getPath() example

<?php
$info = new SplFileInfo('/usr/bin/php');
var_dump($info->getPath());

$info = new SplFileInfo('/usr/');
var_dump($info->getPath());?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(8) "/usr/bin"
string(4) "/usr"

Siehe auch

  • SplFileInfo::getRealPath() - Gets absolute path to file
  • SplFileInfo::getFilename() - Gets the filename
  • SplFileInfo::getPathInfo() - Gets an SplFileInfo object for the path

SplFileInfo::getOwner
SplFileInfo::getPathInfo
SplFileInfo


Gets an SplFileInfo object for the path

SplFileInfo::getPath
SplFileInfo::getPathname
SplFileInfo
PHP Manual

SplFileInfo::getPathInfo

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::getPathInfo — Gets an SplFileInfo object for the path

Beschreibung

public SplFileInfo SplFileInfo::getPathInfo ([ string $class_name ] )

Gets an SplFileInfo object for the parent of the current file.

Parameter-Liste

class_name

Name of an SplFileInfo derived class to use.

Rückgabewerte

Returns an SplFileInfo object for the parent path of the file.

Beispiele

Beispiel #1 SplFileInfo::getPathInfo() example

<?php
$info = new SplFileInfo('/usr/bin/php');
$parent_info = $info->getPathInfo();
var_dump($parent_info->getRealPath());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(8) "/usr/bin"

Siehe auch

  • SplFileInfo::setInfoClass() - Sets the class used with SplFileInfo::getFileInfo and SplFileInfo::getPathInfo

SplFileInfo::getPath
SplFileInfo::getPathname
SplFileInfo


Gets the path to the file

SplFileInfo::getPathInfo
SplFileInfo::getPerms
SplFileInfo
PHP Manual

SplFileInfo::getPathname

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::getPathname — Gets the path to the file

Beschreibung

public string SplFileInfo::getPathname ( void )

Returns the path to the file.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The path to the file.

Beispiele

Beispiel #1 SplFileInfo::getPathname() example

<?php
$info = new SplFileInfo('/usr/bin/php');
var_dump($info->getPathname());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(12) "/usr/bin/php"

Siehe auch

  • SplFileInfo::getRealPath() - Gets absolute path to file

SplFileInfo::getPathInfo
SplFileInfo::getPerms
SplFileInfo


Gets file permissions

SplFileInfo::getPathname
SplFileInfo::getRealPath
SplFileInfo
PHP Manual

SplFileInfo::getPerms

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::getPerms — Gets file permissions

Beschreibung

public int SplFileInfo::getPerms ( void )

Gets the file permissions for the file.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the file permissions.

Beispiele

Beispiel #1 SplFileInfo::getPerms() example

<?php
$info = new SplFileInfo('/tmp');
echo substr(sprintf('%o', $info->getPerms()), -4);

$info = new SplFileInfo(__FILE__);
echo substr(sprintf('%o', $info->getPerms()), -4);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

1777
0644

SplFileInfo::getPathname
SplFileInfo::getRealPath
SplFileInfo


Gets absolute path to file

SplFileInfo::getPerms
SplFileInfo::getSize
SplFileInfo
PHP Manual

SplFileInfo::getRealPath

(PHP 5 >= 5.2.2, PHP 7)

SplFileInfo::getRealPath — Gets absolute path to file

Beschreibung

public string SplFileInfo::getRealPath ( void )

This method expands all symbolic links, resolves relative references and returns the real path to the file.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the path to the file, or FALSE if the file does not exist.

Beispiele

Beispiel #1 SplFileInfo::getRealPath() example

<?php
$info = new SplFileInfo('/..//./../../'.__FILE__);
var_dump($info->getRealPath());

$info = new SplFileInfo('/tmp');
var_dump($info->getRealPath());

$info = new SplFileInfo('/I/Do/Not/Exist');
var_dump($info->getRealPath());

$info = new SplFileInfo("");
var_dump($info->getRealPath());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(28) "/private/tmp/phptempfile.php"
string(12) "/private/tmp"
bool(false)
string(12) "/private/tmp"

Siehe auch

  • SplFileInfo::isLink() - Tells if the file is a link
  • realpath() - Löst einen Pfad in einen absoluten und eindeutigen auf

SplFileInfo::getPerms
SplFileInfo::getSize
SplFileInfo


Gets file size

SplFileInfo::getRealPath
SplFileInfo::getType
SplFileInfo
PHP Manual

SplFileInfo::getSize

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::getSize — Gets file size

Beschreibung

public int SplFileInfo::getSize ( void )

Returns the filesize in bytes for the file referenced.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The filesize in bytes.

Fehler/Exceptions

A RuntimeException will be thrown if the file does not exist or an error occurs.

Siehe auch

  • filesize() - Liefert die Größe einer Datei

SplFileInfo::getRealPath
SplFileInfo::getType
SplFileInfo


Gets file type

SplFileInfo::getSize
SplFileInfo::isDir
SplFileInfo
PHP Manual

SplFileInfo::getType

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::getType — Gets file type

Beschreibung

public string SplFileInfo::getType ( void )

Returns the type of the file referenced.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A string representing the type of the entry. May be one of file, link, or dir

Fehler/Exceptions

Throws a RuntimeException on error.

Beispiele

Beispiel #1 SplFileInfo::getType() example

<?php

$info = new SplFileInfo(__FILE__);
echo $info->getType().PHP_EOL;

$info = new SplFileInfo(dirname(__FILE__));
echo $info->getType();

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

file
dir

SplFileInfo::getSize
SplFileInfo::isDir
SplFileInfo


Tells if the file is a directory

SplFileInfo::getType
SplFileInfo::isExecutable
SplFileInfo
PHP Manual

SplFileInfo::isDir

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::isDir — Tells if the file is a directory

Beschreibung

public bool SplFileInfo::isDir ( void )

This method can be used to determine if the file is a directory.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if a directory, FALSE otherwise.

Beispiele

Beispiel #1 SplFileInfo::isDir() example

<?php
$d = new SplFileInfo(dirname(__FILE__));
var_dump($d->isDir());

$d = new SplFileInfo(__FILE__);
var_dump($d->isDir());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(true)
bool(false)

SplFileInfo::getType
SplFileInfo::isExecutable
SplFileInfo


Tells if the file is executable

SplFileInfo::isDir
SplFileInfo::isFile
SplFileInfo
PHP Manual

SplFileInfo::isExecutable

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::isExecutable — Tells if the file is executable

Beschreibung

public bool SplFileInfo::isExecutable ( void )

Checks if the file is executable.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if executable, FALSE otherwise.

Beispiele

Beispiel #1 SplFileInfo::isExecutable() example

<?php
$info = new SplFileInfo('/usr/bin/php');
var_dump($info->isExecutable());

$info = new SplFileInfo('/usr/bin');
var_dump($info->isExecutable());

$info = new SplFileInfo('foo');
var_dump($info->isExecutable());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(true)
bool(true)
bool(false)

SplFileInfo::isDir
SplFileInfo::isFile
SplFileInfo


Tells if the object references a regular file

SplFileInfo::isExecutable
SplFileInfo::isLink
SplFileInfo
PHP Manual

SplFileInfo::isFile

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::isFile — Tells if the object references a regular file

Beschreibung

public bool SplFileInfo::isFile ( void )

Checks if the file referenced by this SplFileInfo object exists and is a regular file.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the file exists and is a regular file (not a link), FALSE otherwise.

Beispiele

Beispiel #1 SplFileInfo::isFile() example

<?php
$info = new SplFileInfo(__FILE__);
var_dump($info->isFile());

$info = new SplFileInfo(dirname(__FILE__));
var_dump($info->isFile());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(true)
bool(false)

SplFileInfo::isExecutable
SplFileInfo::isLink
SplFileInfo


Tells if the file is a link

SplFileInfo::isFile
SplFileInfo::isReadable
SplFileInfo
PHP Manual

SplFileInfo::isLink

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::isLink — Tells if the file is a link

Beschreibung

public bool SplFileInfo::isLink ( void )

Use this method to check if the file referenced by the SplFileInfo object is a link.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the file is a link, FALSE otherwise.

Beispiele

Beispiel #1 SplFileInfo::isLink() example

<?php
$info = new SplFileInfo('/path/to/symlink');
if ($info->isLink()) {
    echo 'The real path is '.$info->getRealPath();
}
?>

Siehe auch

  • SplFileInfo::getRealPath() - Gets absolute path to file

SplFileInfo::isFile
SplFileInfo::isReadable
SplFileInfo


Tells if file is readable

SplFileInfo::isLink
SplFileInfo::isWritable
SplFileInfo
PHP Manual

SplFileInfo::isReadable

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::isReadable — Tells if file is readable

Beschreibung

public bool SplFileInfo::isReadable ( void )

Check if the file is readable.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if readable, FALSE otherwise.

Beispiele

Beispiel #1 SplFileInfo::isReadable() example

<?php
$info = new SplFileInfo(__FILE__);
var_dump($info->isReadable());

$info = new SplFileInfo('foo');
var_dump($info->isReadable());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(true)
bool(false)

SplFileInfo::isLink
SplFileInfo::isWritable
SplFileInfo


Tells if the entry is writable

SplFileInfo::isReadable
SplFileInfo::openFile
SplFileInfo
PHP Manual

SplFileInfo::isWritable

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::isWritable — Tells if the entry is writable

Beschreibung

public bool SplFileInfo::isWritable ( void )

Checks if the current entry is writable.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if writable, FALSE otherwise;

SplFileInfo::isReadable
SplFileInfo::openFile
SplFileInfo


Gets an SplFileObject object for the file

SplFileInfo::isWritable
SplFileInfo::setFileClass
SplFileInfo
PHP Manual

SplFileInfo::openFile

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::openFile — Gets an SplFileObject object for the file

Beschreibung

public SplFileObject SplFileInfo::openFile ([ string $open_mode = "r" [, bool $use_include_path = false [, resource $context = NULL ]]] )

Creates an SplFileObject object of the file. This is useful because SplFileObject contains additional methods for manipulating the file whereas SplFileInfo is only useful for gaining information, like whether the file is writable.

Parameter-Liste

open_mode

The mode for opening the file. See the fopen() documentation for descriptions of possible modes. The default is read only.

use_include_path

Wenn dieser Parameter auf TRUE gesetzt ist wird auch im include_path nach dem Dateinamen gesucht.

context

Eine Beschreibung von contexts finden Sie im Abschnitt Kontextoptionen und -parameter dieses Handbuchs.

Rückgabewerte

The opened file as an SplFileObject object.

Fehler/Exceptions

A RuntimeException if the file cannot be opened (e.g. insufficient access rights).

Beispiele

Beispiel #1 SplFileInfo::openFile() example

<?php
$fileinfo = new SplFileInfo('/tmp/foo.txt');

if ($fileinfo->isWritable()) {

    $fileobj = $fileinfo->openFile('a');

    $fileobj->fwrite("appended this sample text");
}
?>

Siehe auch

  • SplFileObject
  • stream_context_create() - Creates a stream context
  • fopen() - Öffnet eine Datei oder URL

SplFileInfo::isWritable
SplFileInfo::setFileClass
SplFileInfo


Sets the class used with SplFileInfo::openFile

SplFileInfo::openFile
SplFileInfo::setInfoClass
SplFileInfo
PHP Manual

SplFileInfo::setFileClass

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::setFileClass — Sets the class used with SplFileInfo::openFile()

Beschreibung

public void SplFileInfo::setFileClass ([ string $class_name = "SplFileObject" ] )

Use this method to set a custom class which will be used when SplFileInfo::openFile() is called. The class name passed to this method must be SplFileObject or a class derived from SplFileObject.

Parameter-Liste

class_name

The class name to use when SplFileInfo::openFile() is called.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 SplFileInfo::setFileClass() example

<?php
// Create a class extending SplFileObject
class MyFoo extends SplFileObject {}

$info = new SplFileInfo(__FILE__);
// Set the class to use
$info->setFileClass('MyFoo');
var_dump($info->openFile());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(MyFoo)#2 (0) { }

Siehe auch

  • SplFileInfo::openFile() - Gets an SplFileObject object for the file

SplFileInfo::openFile
SplFileInfo::setInfoClass
SplFileInfo


Sets the class used with SplFileInfo::getFileInfo and SplFileInfo::getPathInfo

SplFileInfo::setFileClass
SplFileInfo::__toString
SplFileInfo
PHP Manual

SplFileInfo::setInfoClass

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::setInfoClass — Sets the class used with SplFileInfo::getFileInfo() and SplFileInfo::getPathInfo()

Beschreibung

public void SplFileInfo::setInfoClass ([ string $class_name = "SplFileInfo" ] )

Use this method to set a custom class which will be used when SplFileInfo::getFileInfo() and SplFileInfo::getPathInfo() are called. The class name passed to this method must be SplFileInfo or a class derived from SplFileInfo.

Parameter-Liste

class_name

The class name to use when SplFileInfo::getFileInfo() and SplFileInfo::getPathInfo() are called.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 SplFileInfo::setFileClass() example

<?php
// Define a class which extends SplFileInfo
class MyFoo extends SplFileInfo {}

$info = new SplFileInfo('foo');
// Set the class name to use
$info->setInfoClass('MyFoo');
var_dump($info->getFileInfo());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(MyFoo)#2 (0) { }

Siehe auch

  • SplFileInfo::getFileInfo() - Gets an SplFileInfo object for the file

SplFileInfo::setFileClass
SplFileInfo::__toString
SplFileInfo


Returns the path to the file as a string

SplFileInfo::setInfoClass
SplFileObject
SplFileInfo
PHP Manual

SplFileInfo::__toString

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::__toString — Returns the path to the file as a string

Beschreibung

public void SplFileInfo::__toString ( void )

This method will return the file name of the referenced file.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the path to the file.

Beispiele

Beispiel #1 SplFileInfo::__toString() example

<?php
$info = new SplFileInfo('foo');
var_dump($info->__toString());
echo $info.PHP_EOL;

$info = new SplFileInfo('/usr/bin/php');
var_dump($info->__toString());
echo $info.PHP_EOL;
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(3) "foo"
foo
string(12) "/usr/bin/php"
/usr/bin/php

SplFileInfo::setInfoClass
SplFileObject
SplFileInfo


The SplFileObject class

(PHP 5 >= 5.1.0, PHP 7)

Einführung

The SplFileObject class offers an object oriented interface for a file.

Klassenbeschreibung

SplFileObject extends SplFileInfo implements RecursiveIterator , SeekableIterator {
/* Konstanten */
const integer DROP_NEW_LINE = 1 ;
const integer READ_AHEAD = 2 ;
const integer SKIP_EMPTY = 4 ;
const integer READ_CSV = 8 ;
/* Methoden */
public string|array current ( void )
public bool eof ( void )
public bool fflush ( void )
public string fgetc ( void )
 public array fgetcsv
  ([ string $delimiter = ","
 [, string $enclosure = "\""
 [, string $escape = "\\"
]]] )
public string fgets ( void )
public string fgetss ([ string $allowable_tags ] )
public bool flock ( int $operation [, int &$wouldblock ] )
public int fpassthru ( void )
public int fputcsv ( array $fields [, string $delimiter = "," [, string $enclosure = '"' [, string $escape = "\" ]]] )
public string fread ( int $length )
public mixed fscanf ( string $format [, mixed &$... ] )
public int fseek ( int $offset [, int $whence = SEEK_SET ] )
public array fstat ( void )
public int ftell ( void )
public bool ftruncate ( int $size )
public int fwrite ( string $str [, int $length ] )
public void getChildren ( void )
public array getCsvControl ( void )
public int getFlags ( void )
public int getMaxLineLen ( void )
public bool hasChildren ( void )
public int key ( void )
public void next ( void )
public void rewind ( void )
public void seek ( int $line_pos )
 public void setCsvControl
  ([ string $delimiter = ","
 [, string $enclosure = "\""
 [, string $escape = "\\"
]]] )
public void setFlags ( int $flags )
public void setMaxLineLen ( int $max_len )
public void __toString ( void )
public bool valid ( void )
/* Geerbte Methoden */
public SplFileInfo::__construct ( string $file_name )
public int SplFileInfo::getATime ( void )
public string SplFileInfo::getBasename ([ string $suffix ] )
public int SplFileInfo::getCTime ( void )
public string SplFileInfo::getExtension ( void )
public SplFileInfo SplFileInfo::getFileInfo ([ string $class_name ] )
public string SplFileInfo::getFilename ( void )
public int SplFileInfo::getGroup ( void )
public int SplFileInfo::getInode ( void )
public string SplFileInfo::getLinkTarget ( void )
public int SplFileInfo::getMTime ( void )
public int SplFileInfo::getOwner ( void )
public string SplFileInfo::getPath ( void )
public SplFileInfo SplFileInfo::getPathInfo ([ string $class_name ] )
public string SplFileInfo::getPathname ( void )
public int SplFileInfo::getPerms ( void )
public string SplFileInfo::getRealPath ( void )
public int SplFileInfo::getSize ( void )
public string SplFileInfo::getType ( void )
public bool SplFileInfo::isDir ( void )
public bool SplFileInfo::isExecutable ( void )
public bool SplFileInfo::isFile ( void )
public bool SplFileInfo::isLink ( void )
public bool SplFileInfo::isReadable ( void )
public bool SplFileInfo::isWritable ( void )
public SplFileObject SplFileInfo::openFile ([ string $open_mode = "r" [, bool $use_include_path = false [, resource $context = NULL ]]] )
public void SplFileInfo::setFileClass ([ string $class_name = "SplFileObject" ] )
public void SplFileInfo::setInfoClass ([ string $class_name = "SplFileInfo" ] )
public void SplFileInfo::__toString ( void )
}

Vordefinierte Konstanten

SplFileObject::DROP_NEW_LINE

Drop newlines at the end of a line.

SplFileObject::READ_AHEAD

Read on rewind/next.

SplFileObject::SKIP_EMPTY

Skips empty lines in the file. This requires the READ_AHEAD flag be enabled, to work as expected.

SplFileObject::READ_CSV

Read lines as CSV rows.

Changelog

Version | Beschreibung
5.3.9 | SplFileObject::SKIP_EMPTY value changed to 4. Previously, value was 6.

Inhaltsverzeichnis

  • SplFileObject::__construct — Construct a new file object.
  • SplFileObject::current — Retrieve current line of file
  • SplFileObject::eof — Reached end of file
  • SplFileObject::fflush — Flushes the output to the file
  • SplFileObject::fgetc — Gets character from file
  • SplFileObject::fgetcsv — Gets line from file and parse as CSV fields
  • SplFileObject::fgets — Gets line from file
  • SplFileObject::fgetss — Gets line from file and strip HTML tags
  • SplFileObject::flock — Portable file locking
  • SplFileObject::fpassthru — Output all remaining data on a file pointer
  • SplFileObject::fputcsv — Write a field array as a CSV line
  • SplFileObject::fread — Read from file
  • SplFileObject::fscanf — Parses input from file according to a format
  • SplFileObject::fseek — Seek to a position
  • SplFileObject::fstat — Gets information about the file
  • SplFileObject::ftell — Return current file position
  • SplFileObject::ftruncate — Truncates the file to a given length
  • SplFileObject::fwrite — Write to file
  • SplFileObject::getChildren — No purpose
  • SplFileObject::getCsvControl — Get the delimiter, enclosure and escape character for CSV
  • SplFileObject::getCurrentLine — Alias of SplFileObject::fgets
  • SplFileObject::getFlags — Gets flags for the SplFileObject
  • SplFileObject::getMaxLineLen — Get maximum line length
  • SplFileObject::hasChildren — SplFileObject does not have children
  • SplFileObject::key — Get line number
  • SplFileObject::next — Read next line
  • SplFileObject::rewind — Rewind the file to the first line
  • SplFileObject::seek — Seek to specified line
  • SplFileObject::setCsvControl — Set the delimiter, enclosure and escape character for CSV
  • SplFileObject::setFlags — Sets flags for the SplFileObject
  • SplFileObject::setMaxLineLen — Set maximum line length
  • SplFileObject::__toString — Alias of SplFileObject::current
  • SplFileObject::valid — Not at EOF
SplFileInfo::__toString
SplFileObject::__construct
Dateibehandlung


Construct a new file object.

SplFileObject
SplFileObject::current
SplFileObject
PHP Manual

SplFileObject::__construct

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::__construct — Construct a new file object.

Beschreibung

public SplFileObject::__construct ( string $filename [, string $open_mode = "r" [, bool $use_include_path = false [, resource $context ]]] )

Construct a new file object.

Parameter-Liste

filename

The file to read.

Tipp

Mit dieser Funktion können Sie eine URL als Dateinamen verwenden, falls Sie fopen wrappers ermöglicht haben. Mehr Details dazu, wie Sie den Dateinamen angeben müssen finden Sie bei fopen(). Eine Liste der unterstützten URL Protokolle, die Fähigkeiten der verschiedenen Wrapper, Hinweise zu deren Verwendung und Informationen zu den eventuell vorhandenen vordefinierten Variablen finden Sie unter Unterstützte Protokolle und Wrapper.

open_mode

The mode in which to open the file. See fopen() for a list of allowed modes.

use_include_path

Whether to search in the include_path for filename.

context

A valid context resource created with stream_context_create().

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

Throws a RuntimeException if the filename cannot be opened.

Beispiele

Beispiel #1 SplFileObject::__construct() example

This example opens the current file and iterates over its contents line by line.

<?php
$file = new SplFileObject(__FILE__);
foreach ($file as $line_num => $line) {
    echo "Line $line_num is $line";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Line 0 is <?php
Line 1 is $file = new SplFileObject(__FILE__);
Line 2 is foreach ($file as $line_num => $line) {
Line 3 is     echo "Line $line_num is $line";
Line 4 is }
Line 5 is ?>

Siehe auch

  • SplFileInfo::openFile() - Gets an SplFileObject object for the file
  • fopen() - Öffnet eine Datei oder URL

SplFileObject
SplFileObject::current
SplFileObject


Retrieve current line of file

SplFileObject::__construct
SplFileObject::eof
SplFileObject
PHP Manual

SplFileObject::current

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::current — Retrieve current line of file

Beschreibung

public string|array SplFileObject::current ( void )

Retrieves the current line of the file.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Retrieves the current line of the file. If the SplFileObject::READ_CSV flag is set, this method returns an array containing the current line parsed as CSV data.

Beispiele

Beispiel #1 SplFileObject::current() example

<?php
$file = new SplFileObject(__FILE__);
foreach ($file as $k => $line) {
   echo ($file->key() + 1) . ': ' . $file->current();
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

1: <?php
2: $file = new SplFileObject(__FILE__);
3: foreach ($file as $line) {
4:     echo ($file->key() + 1) . ': ' . $file->current();
5: }
6: ?>

Siehe auch

  • SplFileObject::key() - Get line number
  • SplFileObject::seek() - Seek to specified line
  • SplFileObject::next() - Read next line
  • SplFileObject::rewind() - Rewind the file to the first line
  • SplFileObject::valid() - Not at EOF

SplFileObject::__construct
SplFileObject::eof
SplFileObject


Reached end of file

SplFileObject::current
SplFileObject::fflush
SplFileObject
PHP Manual

SplFileObject::eof

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::eof — Reached end of file

Beschreibung

public bool SplFileObject::eof ( void )

Determine whether the end of file has been reached

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if file is at EOF, FALSE otherwise.

Beispiele

Beispiel #1 SplFileObject::eof() example

<?php
$file = new SplFileObject("fruits.txt");
while ( ! $file->eof()) {
    echo $file->fgets();
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

apple
banana
cherry
date
elderberry

Siehe auch

  • SplFileObject::valid() - Not at EOF
  • feof() - Prüft, ob ein Dateizeiger am Ende der Datei steht

SplFileObject::current
SplFileObject::fflush
SplFileObject


Flushes the output to the file

SplFileObject::eof
SplFileObject::fgetc
SplFileObject
PHP Manual

SplFileObject::fflush

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::fflush — Flushes the output to the file

Beschreibung

public bool SplFileObject::fflush ( void )

Forces a write of all buffered output to the file.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 SplFileObject::fflush() example

<?php
$file = new SplFileObject('misc.txt', 'r+');
$file->rewind();
$file->fwrite("Foo");
$file->fflush();
$file->ftruncate($file->ftell());
?>

Siehe auch

  • SplFileObject::fwrite() - Write to file

SplFileObject::eof
SplFileObject::fgetc
SplFileObject


Gets character from file

SplFileObject::fflush
SplFileObject::fgetcsv
SplFileObject
PHP Manual

SplFileObject::fgetc

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::fgetc — Gets character from file

Beschreibung

public string SplFileObject::fgetc ( void )

Gets a character from the file.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a string containing a single character read from the file or FALSE on EOF.

Warnung

Diese Funktion kann sowohl das boolsche FALSE zurückliefern, als auch einen nicht-boolschen Wert, welcher zu FALSE ausgewertet wird. Weitere Informationen entnehmen Sie bitte dem Abschnitt über die boolschen Typen. Benutzen Sie deshalb den === Operator, um den Rückgabewert dieser Funktion zu überprüfen.

Beispiele

Beispiel #1 SplFileObject::fgetc() example

<?php
$file = new SplFileObject('file.txt');
while (false !== ($char = $file->fgetc())) {
    echo "$char\n";
}
?>

Siehe auch

  • SplFileObject::fgets() - Gets line from file

SplFileObject::fflush
SplFileObject::fgetcsv
SplFileObject


Gets line from file and parse as CSV fields

SplFileObject::fgetc
SplFileObject::fgets
SplFileObject
PHP Manual

SplFileObject::fgetcsv

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::fgetcsv — Gets line from file and parse as CSV fields

Beschreibung

 public array SplFileObject::fgetcsv
  ([ string $delimiter = ","
 [, string $enclosure = "\""
 [, string $escape = "\\"
]]] )

Gets a line from the file which is in CSV format and returns an array containing the fields read.

Parameter-Liste

delimiter

The field delimiter (one character only). Defaults as a comma or the value set using SplFileObject::setCsvControl().

enclosure

The field enclosure character (one character only). Defaults as a double quotation mark or the value set using SplFileObject::setCsvControl().

escape

The escape character (one character only). Defaults as a backslash (\) or the value set using SplFileObject::setCsvControl().

Rückgabewerte

Returns an indexed array containing the fields read, or FALSE on error.

Hinweis:

A blank line in a CSV file will be returned as an array comprising a single NULL field unless using SplFileObject::SKIP_EMPTY | SplFileObject::DROP_NEW_LINE, in which case empty lines are skipped.

Beispiele

Beispiel #1 SplFileObject::fgetcsv() example

<?php
$file = new SplFileObject("data.csv");
while (!$file->eof()) {
    var_dump($file->fgetcsv());
}
?>

Beispiel #2 SplFileObject::READ_CSV example

<?php
$file = new SplFileObject("animals.csv");
$file->setFlags(SplFileObject::READ_CSV);
foreach ($file as $row) {
    list($animal, $class, $legs) = $row;
    printf("A %s is a %s with %d legs\n", $animal, $class, $legs);
}
?>

Contents of animals.csv

crocodile,reptile,4
dolphin,mammal,0
duck,bird,2
koala,mammal,4
salmon,fish,0

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

A crocodile is a reptile with 4 legs
A dolphin is a mammal with 0 legs
A duck is a bird with 2 legs
A koala is a mammal with 4 legs
A salmon is a fish with 0 legs

Siehe auch

  • SplFileObject::setCsvControl() - Set the delimiter, enclosure and escape character for CSV
  • SplFileObject::setFlags() - Sets flags for the SplFileObject
  • SplFileObject::READ_CSV
  • SplFileObject::current() - Retrieve current line of file

SplFileObject::fgetc
SplFileObject::fgets
SplFileObject


Gets line from file

SplFileObject::fgetcsv
SplFileObject::fgetss
SplFileObject
PHP Manual

SplFileObject::fgets

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::fgets — Gets line from file

Beschreibung

public string SplFileObject::fgets ( void )

Gets a line from the file.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a string containing the next line from the file, or FALSE on error.

Fehler/Exceptions

Throws a RuntimeException if the file cannot be read.

Beispiele

Beispiel #1 SplFileObject::fgets() example

This example simply outputs the contents of file.txt line-by-line.

<?php
$file = new SplFileObject("file.txt");
while (!$file->eof()) {
    echo $file->fgets();
}
?>

Siehe auch

  • fgets() - Liest eine Zeile von der Position des Dateizeigers
  • SplFileObject::fgetss() - Gets line from file and strip HTML tags
  • SplFileObject::fgetc() - Gets character from file
  • SplFileObject::current() - Retrieve current line of file

SplFileObject::fgetcsv
SplFileObject::fgetss
SplFileObject


Gets line from file and strip HTML tags

SplFileObject::fgets
SplFileObject::flock
SplFileObject
PHP Manual

SplFileObject::fgetss

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::fgetss — Gets line from file and strip HTML tags

Beschreibung

public string SplFileObject::fgetss ([ string $allowable_tags ] )

Identical to SplFileObject::fgets(), except that SplFileObject::fgetss() attempts to strip any HTML and PHP tags from the text it reads.

Parameter-Liste

allowable_tags

Optional parameter to specify tags which should not be stripped.

Rückgabewerte

Returns a string containing the next line of the file with HTML and PHP code stripped, or FALSE on error.

Beispiele

Beispiel #1 SplFileObject::fgetss() example

<?php
$str = <<<EOD
<html><body>
 <p>Welcome! Today is the <?php echo(date('jS')); ?> of <?= date('F'); ?>.</p>
</body></html>
Text outside of the HTML block.
EOD;
file_put_contents("sample.php", $str);

$file = new SplFileObject("sample.php");
while (!$file->eof()) {
    echo $file->fgetss();
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

 Welcome! Today is the  of .

Text outside of the HTML block.

Siehe auch

  • fgetss() - Liest eine Zeile von der Position des Dateizeigers und entfernt HTML Tags.
  • SplFileObject::fgets() - Gets line from file
  • SplFileObject::fgetc() - Gets character from file
  • SplFileObject::current() - Retrieve current line of file

SplFileObject::fgets
SplFileObject::flock
SplFileObject


Portable file locking

SplFileObject::fgetss
SplFileObject::fpassthru
SplFileObject
PHP Manual

SplFileObject::flock

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::flock — Portable file locking

Beschreibung

public bool SplFileObject::flock ( int $operation [, int &$wouldblock ] )

Locks or unlocks the file in the same portable way as flock().

Parameter-Liste

operation

operation is one of the following:

  • LOCK_SH to acquire a shared lock (reader).
  • LOCK_EX to acquire an exclusive lock (writer).
  • LOCK_UN to release a lock (shared or exclusive).
  • LOCK_NB to not block while locking (not supported on Windows).

wouldblock

Set to TRUE if the lock would block (EWOULDBLOCK errno condition).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 SplFileObject::flock() example

<?php
$file = new SplFileObject("/tmp/lock.txt", "w");
if ($file->flock(LOCK_EX)) { // do an exclusive lock
    $file->ftruncate(0);     // truncate file
    $file->fwrite("Write something here\n");
    $file->flock(LOCK_UN);   // release the lock
} else {
    echo "Couldn't get the lock!";
}
?>

Siehe auch

  • flock() - Portables Datei-Sperr-Verfahren (advisory locking)

SplFileObject::fgetss
SplFileObject::fpassthru
SplFileObject


Output all remaining data on a file pointer

SplFileObject::flock
SplFileObject::fputcsv
SplFileObject
PHP Manual

SplFileObject::fpassthru

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::fpassthru — Output all remaining data on a file pointer

Beschreibung

public int SplFileObject::fpassthru ( void )

Reads to EOF on the given file pointer from the current position and writes the results to the output buffer.

You may need to call SplFileObject::rewind() to reset the file pointer to the beginning of the file if you have already written data to the file.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the number of characters read from handle and passed through to the output.

Beispiele

Beispiel #1 SplFileObject::fpassthru() example

<?php

// Open the file in binary mode
$file = new SplFileObject("./img/ok.png", "rb");

// Send the right headers
header("Content-Type: image/png");
header("Content-Length: " . $file->getSize());

// Dump the picture and end script
$file->fpassthru();
exit;

?>

Siehe auch

  • fpassthru() - Gibt alle verbleibenden Daten eines Dateizeigers direkt aus.

SplFileObject::flock
SplFileObject::fputcsv
SplFileObject


Write a field array as a CSV line

SplFileObject::fpassthru
SplFileObject::fread
SplFileObject
PHP Manual

SplFileObject::fputcsv

(PHP 5 >= 5.4.0, PHP 7)

SplFileObject::fputcsv — Write a field array as a CSV line

Beschreibung

 public int SplFileObject::fputcsv
  ( array $fields
 [, string $delimiter = ","
 [, string $enclosure = '"'
 [, string $escape = "\"
]]] )

Writes the fields array to the file as a CSV line.

Parameter-Liste

fields

An array of values.

delimiter

The optional delimiter parameter sets the field delimiter (one character only).

enclosure

The optional enclosure parameter sets the field enclosure (one character only).

escape

The optional escape parameter sets the escape character (one character only).

Rückgabewerte

Returns the length of the written stringIm Fehlerfall wird FALSE zurückgegeben..

Returns FALSE, and does not write the CSV line to the file, if the delimiter or enclosure parameter is not a single character.

Fehler/Exceptions

An E_WARNING level error is issued if the delimiter or enclosure parameter is not a single character.

Changelog

Version | Beschreibung
5.5.21, 5.6.5 | Added the escape parameter.

Beispiele

Beispiel #1 SplFileObject::fputcsv() example

<?php

$list = array (
    array('aaa', 'bbb', 'ccc', 'dddd'),
    array('123', '456', '789'),
    array('"aaa"', '"bbb"')
);

$file = new SplFileObject('file.csv', 'w');

foreach ($list as $fields) {
    $file->fputcsv($fields);
}

?>

The above example will write the following to file.csv:

aaa,bbb,ccc,dddd
123,456,789
"""aaa""","""bbb"""

Siehe auch

  • fputcsv() - Format line as CSV and write to file pointer
  • SplFileObject::fgetcsv() - Gets line from file and parse as CSV fields

SplFileObject::fpassthru
SplFileObject::fread
SplFileObject


Read from file

SplFileObject::fputcsv
SplFileObject::fscanf
SplFileObject
PHP Manual

SplFileObject::fread

(PHP 5 >= 5.5.11, PHP 7)

SplFileObject::fread — Read from file

Beschreibung

public string SplFileObject::fread ( int $length )

Reads the given number of bytes from the file.

Parameter-Liste

length

The number of bytes to read.

Rückgabewerte

Returns the string read from the file Im Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 SplFileObject::fread() example

<?php
// Get contents of a file into a string
$filename = "/usr/local/something.txt";
$file = new SplFileObject($filename, "r");
$contents = $file->fread($file->getSize());
?>

Anmerkungen

Hinweis:

Note that SplFileObject::fread() reads from the current position of the file pointer. Use SplFileObject::ftell() to find the current position of the pointer and SplFileObject::rewind() (or SplFileObject::fseek()) to rewind the pointer position.

Siehe auch

  • fread() - Liest Binärdaten aus einer Datei

SplFileObject::fputcsv
SplFileObject::fscanf
SplFileObject


Parses input from file according to a format

SplFileObject::fread
SplFileObject::fseek
SplFileObject
PHP Manual

SplFileObject::fscanf

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::fscanf — Parses input from file according to a format

Beschreibung

public mixed SplFileObject::fscanf ( string $format [, mixed &$... ] )

Reads a line from the file and interprets it according to the specified format, which is described in the documentation for sprintf().

Any whitespace in the format string matches any whitespace in the line from the file. This means that even a tab \t in the format string can match a single space character in the input stream.

Parameter-Liste

format

The specified format as described in the sprintf() documentation.

...

The optional assigned values.

Rückgabewerte

If only one parameter is passed to this method, the values parsed will be returned as an array. Otherwise, if optional parameters are passed, the function will return the number of assigned values. The optional parameters must be passed by reference.

Beispiele

Beispiel #1 SplFileObject::fscanf() example

<?php
$file = new SplFileObject("misc.txt");
while ($userinfo = $file->fscanf("%s %s %s")) {
    list ($name, $profession, $countrycode) = $userinfo;
    // Do something with $name $profession $countrycode
}
?>

Contents of users.txt

javier   argonaut    pe
hiroshi  sculptor    jp
robert   slacker     us
luigi    florist     it

Siehe auch

  • fscanf() - Interpretiert den Input einer Datei entsprechend einem angegebenen Format

SplFileObject::fread
SplFileObject::fseek
SplFileObject


Seek to a position

SplFileObject::fscanf
SplFileObject::fstat
SplFileObject
PHP Manual

SplFileObject::fseek

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::fseek — Seek to a position

Beschreibung

public int SplFileObject::fseek ( int $offset [, int $whence = SEEK_SET ] )

Seek to a position in the file measured in bytes from the beginning of the file, obtained by adding offset to the position specified by whence.

Parameter-Liste

offset

The offset. A negative value can be used to move backwards through the file which is useful when SEEK_END is used as the whence value.

whence

whence values are:

  • SEEK_SET - Set position equal to offset bytes.
  • SEEK_CUR - Set position to current location plus offset.
  • SEEK_END - Set position to end-of-file plus offset.

If whence is not specified, it is assumed to be SEEK_SET.

Rückgabewerte

Returns 0 if the seek was successful, -1 otherwise. Note that seeking past EOF is not considered an error.

Beispiele

Beispiel #1 SplFileObject::fseek() example

<?php
$file = new SplFileObject("somefile.txt");

// Read first line
$data = $file->fgets();

// Move back to the beginning of the file
// Same as $file->rewind();
$file->fseek(0);
?>

Siehe auch

  • fseek() - Positioniert den Dateizeiger

SplFileObject::fscanf
SplFileObject::fstat
SplFileObject


Gets information about the file

SplFileObject::fseek
SplFileObject::ftell
SplFileObject
PHP Manual

SplFileObject::fstat

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::fstat — Gets information about the file

Beschreibung

public array SplFileObject::fstat ( void )

Gathers the statistics of the file. Behaves identically to fstat().

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array with the statistics of the file; the format of the array is described in detail on the stat() manual page.

Beispiele

Beispiel #1 SplFileObject::fstat() example

<?php
$file = new SplFileObject("/etc/passwd");
$stat = $file->fstat();

// Print only the associative part
print_r(array_slice($stat, 13));

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [dev] => 771
    [ino] => 488704
    [mode] => 33188
    [nlink] => 1
    [uid] => 0
    [gid] => 0
    [rdev] => 0
    [size] => 1114
    [atime] => 1061067181
    [mtime] => 1056136526
    [ctime] => 1056136526
    [blksize] => 4096
    [blocks] => 8
)

Siehe auch

  • fstat() - Sammelt Informationen über eine Datei mittels eines offenen Dateizeigers
  • stat() - Sammelt Informationen über eine Datei

SplFileObject::fseek
SplFileObject::ftell
SplFileObject


Return current file position

SplFileObject::fstat
SplFileObject::ftruncate
SplFileObject
PHP Manual

SplFileObject::ftell

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::ftell — Return current file position

Beschreibung

public int SplFileObject::ftell ( void )

Returns the position of the file pointer which represents the current offset in the file stream.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the position of the file pointer as an integer, or FALSE on error.

Beispiele

Beispiel #1 SplFileObject::ftell() example

<?php
$file = new SplFileObject("/etc/passwd");

// Read first line
$data = $file->fgets();

// Where are we?
echo $file->ftell();
?>

Siehe auch

  • ftell() - Ermittelt die aktuelle Position des Dateizeigers

SplFileObject::fstat
SplFileObject::ftruncate
SplFileObject


Truncates the file to a given length

SplFileObject::ftell
SplFileObject::fwrite
SplFileObject
PHP Manual

SplFileObject::ftruncate

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::ftruncate — Truncates the file to a given length

Beschreibung

public bool SplFileObject::ftruncate ( int $size )

Truncates the file to size bytes.

Parameter-Liste

size

The size to truncate to.

Hinweis:

If size is larger than the file it is extended with null bytes.

If size is smaller than the file, the extra data will be lost.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 SplFileObject::ftruncate() example

<?php
// Create file containing "Hello World!"
$file = new SplFileObject("/tmp/ftruncate", "w+");
$file->fwrite("Hello World!");

// Truncate to 5 bytes
$file->ftruncate(5);

// Rewind and read data
$file->rewind();
echo $file->fgets();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Hello

Siehe auch

  • ftruncate() - Kürzt eine Datei auf die angegebene Länge

SplFileObject::ftell
SplFileObject::fwrite
SplFileObject


Write to file

SplFileObject::ftruncate
SplFileObject::getChildren
SplFileObject
PHP Manual

SplFileObject::fwrite

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::fwrite — Write to file

Beschreibung

public int SplFileObject::fwrite ( string $str [, int $length ] )

Writes the contents of string to the file

Parameter-Liste

str

The string to be written to the file.

length

If the length argument is given, writing will stop after length bytes have been written or the end of string is reached, whichever comes first.

Rückgabewerte

Returns the number of bytes written, or NULL on error.

Beispiele

Beispiel #1 SplFileObject::fwrite() example

<?php
$file = new SplFileObject("fwrite.txt", "w");
$written = $file->fwrite("12345");
echo "Wrote $written bytes to file";
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Wrote 5 bytes to file

Siehe auch

  • fwrite() - Binär-sicheres Dateischreiben

SplFileObject::ftruncate
SplFileObject::getChildren
SplFileObject


No purpose

SplFileObject::fwrite
SplFileObject::getCsvControl
SplFileObject
PHP Manual

SplFileObject::getChildren

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::getChildren — No purpose

Beschreibung

public void SplFileObject::getChildren ( void )

An SplFileObject does not have children so this method returns NULL.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • RecursiveIterator::getChildren() - Returns an iterator for the current entry.

SplFileObject::fwrite
SplFileObject::getCsvControl
SplFileObject


Get the delimiter, enclosure and escape character for CSV

SplFileObject::getChildren
SplFileObject::getCurrentLine
SplFileObject
PHP Manual

SplFileObject::getCsvControl

(PHP 5 >= 5.2.0, PHP 7)

SplFileObject::getCsvControl — Get the delimiter, enclosure and escape character for CSV

Beschreibung

public array SplFileObject::getCsvControl ( void )

Gets the delimiter, enclosure and escape character used for parsing CSV fields.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an indexed array containing the delimiter, enclosure and escape character.

Changelog

Version | Beschreibung
5.6.25, 7.0.10 | Added the escape character to the returned array.

Beispiele

Beispiel #1 SplFileObject::getCsvControl() example

<?php
$file = new SplFileObject("data.txt");
print_r($file->getCsvControl());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [0] => ,
    [1] => "
    [2] => \
)

Siehe auch

  • SplFileObject::setCsvControl() - Set the delimiter, enclosure and escape character for CSV
  • SplFileObject::fgetcsv() - Gets line from file and parse as CSV fields

SplFileObject::getChildren
SplFileObject::getCurrentLine
SplFileObject


Alias of SplFileObject::fgets

SplFileObject::getCsvControl
SplFileObject::getFlags
SplFileObject
PHP Manual

SplFileObject::getCurrentLine

(PHP 5 >= 5.1.2, PHP 7)

SplFileObject::getCurrentLine — Alias of SplFileObject::fgets()

Beschreibung

This method is an alias of SplFileObject::fgets().

SplFileObject::getCsvControl
SplFileObject::getFlags
SplFileObject


Gets flags for the SplFileObject

SplFileObject::getCurrentLine
SplFileObject::getMaxLineLen
SplFileObject
PHP Manual

SplFileObject::getFlags

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::getFlags — Gets flags for the SplFileObject

Beschreibung

public int SplFileObject::getFlags ( void )

Gets the flags set for an instance of SplFileObject as an integer.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an integer representing the flags.

Beispiele

Beispiel #1 SplFileObject::getFlags() example

<?php
$file = new SplFileObject(__FILE__, "r");

if ($file->getFlags() & SplFileObject::SKIP_EMPTY) {
    echo "Skipping empty lines\n";
} else {
    echo "Not skipping empty lines\n";
}

$file->setFlags(SplFileObject::SKIP_EMPTY);

if ($file->getFlags() & SplFileObject::SKIP_EMPTY) {
    echo "Skipping empty lines\n";
} else {
    echo "Not skipping empty lines\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Not skipping empty lines
Skipping empty lines

Siehe auch

  • SplFileObject::setFlags() - Sets flags for the SplFileObject

SplFileObject::getCurrentLine
SplFileObject::getMaxLineLen
SplFileObject


Get maximum line length

SplFileObject::getFlags
SplFileObject::hasChildren
SplFileObject
PHP Manual

SplFileObject::getMaxLineLen

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::getMaxLineLen — Get maximum line length

Beschreibung

public int SplFileObject::getMaxLineLen ( void )

Gets the maximum line length as set by SplFileObject::setMaxLineLen().

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the maximum line length if one has been set with SplFileObject::setMaxLineLen(), default is 0.

Beispiele

Beispiel #1 SplFileObject::getMaxLineLen() example

<?php
$file = new SplFileObject("file.txt");
var_dump($file->getMaxLineLen());

$file->setMaxLineLen(20);
var_dump($file->getMaxLineLen());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(0)
int(20)

Siehe auch

  • Classname::Method()

SplFileObject::getFlags
SplFileObject::hasChildren
SplFileObject


SplFileObject does not have children

SplFileObject::getMaxLineLen
SplFileObject::key
SplFileObject
PHP Manual

SplFileObject::hasChildren

(PHP 5 >= 5.1.2, PHP 7)

SplFileObject::hasChildren — SplFileObject does not have children

Beschreibung

public bool SplFileObject::hasChildren ( void )

An SplFileObject does not have children so this method always return FALSE.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns FALSE

Siehe auch

  • RecursiveIterator::hasChildren() - Returns if an iterator can be created fot the current entry.

SplFileObject::getMaxLineLen
SplFileObject::key
SplFileObject


Get line number

SplFileObject::hasChildren
SplFileObject::next
SplFileObject
PHP Manual

SplFileObject::key

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::key — Get line number

Beschreibung

public int SplFileObject::key ( void )

Gets the current line number.

Hinweis:

This number may not reflect the actual line number in the file if SplFileObject::setMaxLineLen() is used to read fixed lengths of the file.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current line number.

Beispiele

Beispiel #1 SplFileObject::key() example

<?php
$file = new SplFileObject("lipsum.txt");
foreach ($file as $line) {
    echo $file->key() . ". " . $line;
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

0. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
1. Duis nec sapien felis, ac sodales nisl.
2. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Beispiel #2 SplFileObject::key() example with SplFileObject::setMaxLineLen()

<?php
$file = new SplFileObject("lipsum.txt");
$file->setMaxLineLen(20);
foreach ($file as $line) {
    echo $file->key() . ". " . $line . "\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

0. Lorem ipsum dolor s
1. it amet, consectetu
2. r adipiscing elit.
3.

4. Duis nec sapien fel
5. is, ac sodales nisl
6. .

7. Lorem ipsum dolor s
8. it amet, consectetu
9. r adipiscing elit.

Siehe auch

  • SplFileObject::current() - Retrieve current line of file
  • SplFileObject::seek() - Seek to specified line
  • SplFileObject::next() - Read next line
  • SplFileObject::rewind() - Rewind the file to the first line
  • SplFileObject::valid() - Not at EOF

SplFileObject::hasChildren
SplFileObject::next
SplFileObject


Read next line

SplFileObject::key
SplFileObject::rewind
SplFileObject
PHP Manual

SplFileObject::next

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::next — Read next line

Beschreibung

public void SplFileObject::next ( void )

Moves ahead to the next line in the file.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 SplFileObject::next() example

<?php
// Read through file line by line
$file = new SplFileObject("misc.txt");
while (!$file->eof()) {
    echo $file->current();
    $file->next();
}
?>

Siehe auch

  • SplFileObject::current() - Retrieve current line of file
  • SplFileObject::key() - Get line number
  • SplFileObject::seek() - Seek to specified line
  • SplFileObject::rewind() - Rewind the file to the first line
  • SplFileObject::valid() - Not at EOF

SplFileObject::key
SplFileObject::rewind
SplFileObject


Rewind the file to the first line

SplFileObject::next
SplFileObject::seek
SplFileObject
PHP Manual

SplFileObject::rewind

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::rewind — Rewind the file to the first line

Beschreibung

public void SplFileObject::rewind ( void )

Rewinds the file back to the first line.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

Throws a RuntimeException if cannot be rewound.

Beispiele

Beispiel #1 SplFileObject::rewind() example

<?php
$file = new SplFileObject("misc.txt");

// Loop over whole file
foreach ($file as $line) { }

// Rewind to first line
$file->rewind();

// Output first line
echo $file->current();
?>

Siehe auch

  • SplFileObject::current() - Retrieve current line of file
  • SplFileObject::key() - Get line number
  • SplFileObject::seek() - Seek to specified line
  • SplFileObject::next() - Read next line
  • SplFileObject::valid() - Not at EOF

SplFileObject::next
SplFileObject::seek
SplFileObject


Seek to specified line

SplFileObject::rewind
SplFileObject::setCsvControl
SplFileObject
PHP Manual

SplFileObject::seek

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::seek — Seek to specified line

Beschreibung

public void SplFileObject::seek ( int $line_pos )

Seek to specified line in the file.

Parameter-Liste

line_pos

The zero-based line number to seek to.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

Throws a LogicException if the line_pos is negative.

Beispiele

Beispiel #1 SplFileObject::seek() example

This example outputs the third line of the script which is found at position 2.

<?php
$file = new SplFileObject(__FILE__);
$file->seek(2);
echo $file->current();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

$file->seek(2);

Siehe auch

  • SplFileObject::current() - Retrieve current line of file
  • SplFileObject::key() - Get line number
  • SplFileObject::next() - Read next line
  • SplFileObject::rewind() - Rewind the file to the first line
  • SplFileObject::valid() - Not at EOF

SplFileObject::rewind
SplFileObject::setCsvControl
SplFileObject


Set the delimiter, enclosure and escape character for CSV

SplFileObject::seek
SplFileObject::setFlags
SplFileObject
PHP Manual

SplFileObject::setCsvControl

(PHP 5 >= 5.2.0, PHP 7)

SplFileObject::setCsvControl — Set the delimiter, enclosure and escape character for CSV

Beschreibung

 public void SplFileObject::setCsvControl
  ([ string $delimiter = ","
 [, string $enclosure = "\""
 [, string $escape = "\\"
]]] )

Sets the delimiter, enclosure and escape character for parsing CSV fields.

Parameter-Liste

delimiter

The field delimiter (one character only).

enclosure

The field enclosure character (one character only).

escape

The field escape character (one character only).

Rückgabewerte

Es wird kein Wert zurückgegeben.

Changelog

Version | Beschreibung
5.3.0 | Added the escape parameter.

Beispiele

Beispiel #1 SplFileObject::setCsvControl() example

<?php
$file = new SplFileObject("data.csv");
$file->setFlags(SplFileObject::READ_CSV);
$file->setCsvControl('|');
foreach ($file as $row) {
    list ($fruit, $quantity) = $row;
    // Do something with values
}
?>

Contents of data.csv

<?php
apples|20
bananas|14
cherries|87
?>

Siehe auch

  • SplFileObject::getCsvControl() - Get the delimiter, enclosure and escape character for CSV
  • SplFileObject::fgetcsv() - Gets line from file and parse as CSV fields

SplFileObject::seek
SplFileObject::setFlags
SplFileObject


Sets flags for the SplFileObject

SplFileObject::setCsvControl
SplFileObject::setMaxLineLen
SplFileObject
PHP Manual

SplFileObject::setFlags

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::setFlags — Sets flags for the SplFileObject

Beschreibung

public void SplFileObject::setFlags ( int $flags )

Sets the flags to be used by the SplFileObject.

Parameter-Liste

flags

Bit mask of the flags to set. See SplFileObject constants for the available flags.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 SplFileObject::setFlags() example

<?php
$file = new SplFileObject("data.csv");
$file->setFlags(SplFileObject::READ_CSV);
foreach ($file as $fields) {
    var_dump($fields);
}
?>

Siehe auch

  • SplFileObject::getFlags() - Gets flags for the SplFileObject

SplFileObject::setCsvControl
SplFileObject::setMaxLineLen
SplFileObject


Set maximum line length

SplFileObject::setFlags
SplFileObject::__toString
SplFileObject
PHP Manual

SplFileObject::setMaxLineLen

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::setMaxLineLen — Set maximum line length

Beschreibung

public void SplFileObject::setMaxLineLen ( int $max_len )

Sets the maximum length of a line to be read.

Parameter-Liste

max_len

The maximum length of a line.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

Throws DomainException when max_len is less than zero.

Beispiele

Beispiel #1 SplFileObject::setMaxLineLen() example

<?php
$file = new SplFileObject("lipsum.txt");
$file->setMaxLineLen(20);
foreach ($file as $line) {
    echo $line . "\n";
}
?>

Contents of lipsum.txt

Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Duis nec sapien felis, ac sodales nisl.
Nulla vitae magna vitae purus aliquet consequat.

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Lorem ipsum dolor s
it amet, consectetu
r adipiscing elit.

Duis nec sapien fel
is, ac sodales nisl
.

Nulla vitae magna v
itae purus aliquet
consequat.

Siehe auch

  • Classname::Method()

SplFileObject::setFlags
SplFileObject::__toString
SplFileObject


Alias of SplFileObject::current

SplFileObject::setMaxLineLen
SplFileObject::valid
SplFileObject
PHP Manual

SplFileObject::__toString

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::__toString — Alias of SplFileObject::current()

Beschreibung

public void SplFileObject::__toString ( void )

This method is an alias of SplFileObject::current().

SplFileObject::setMaxLineLen
SplFileObject::valid
SplFileObject


Not at EOF

SplFileObject::__toString
SplTempFileObject
SplFileObject
PHP Manual

SplFileObject::valid

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::valid — Not at EOF

Beschreibung

public bool SplFileObject::valid ( void )

Check whether EOF has been reached.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if not reached EOF, FALSE otherwise.

Beispiele

Beispiel #1 SplFileObject::valid() example

<?php
// Loop over a file, line by line
$file = new SplFileObject("file.txt");
while ($file->valid()) {
    echo $file->fgets();
}
?>

Siehe auch

  • SplFileObject::current() - Retrieve current line of file
  • SplFileObject::key() - Get line number
  • SplFileObject::seek() - Seek to specified line
  • SplFileObject::next() - Read next line
  • SplFileObject::rewind() - Rewind the file to the first line

SplFileObject::__toString
SplTempFileObject
SplFileObject


The SplTempFileObject class

(PHP 5 >= 5.1.2, PHP 7)

Einführung

The SplTempFileObject class offers an object oriented interface for a temporary file.

Klassenbeschreibung

SplTempFileObject extends SplFileObject implements SeekableIterator , RecursiveIterator {
/* Methoden */
public __construct ([ int $max_memory ] )
/* Geerbte Methoden */
public string|array SplFileObject::current ( void )
public bool SplFileObject::eof ( void )
public bool SplFileObject::fflush ( void )
public string SplFileObject::fgetc ( void )
 public array SplFileObject::fgetcsv
  ([ string $delimiter = ","
 [, string $enclosure = "\""
 [, string $escape = "\\"
]]] )
public string SplFileObject::fgets ( void )
public string SplFileObject::fgetss ([ string $allowable_tags ] )
public bool SplFileObject::flock ( int $operation [, int &$wouldblock ] )
public int SplFileObject::fpassthru ( void )
 public int SplFileObject::fputcsv
  ( array $fields
 [, string $delimiter = ","
 [, string $enclosure = '"'
 [, string $escape = "\"
]]] )
public string SplFileObject::fread ( int $length )
public mixed SplFileObject::fscanf ( string $format [, mixed &$... ] )
public int SplFileObject::fseek ( int $offset [, int $whence = SEEK_SET ] )
public array SplFileObject::fstat ( void )
public int SplFileObject::ftell ( void )
public bool SplFileObject::ftruncate ( int $size )
public int SplFileObject::fwrite ( string $str [, int $length ] )
public void SplFileObject::getChildren ( void )
public array SplFileObject::getCsvControl ( void )
public int SplFileObject::getFlags ( void )
public int SplFileObject::getMaxLineLen ( void )
public bool SplFileObject::hasChildren ( void )
public int SplFileObject::key ( void )
public void SplFileObject::next ( void )
public void SplFileObject::rewind ( void )
public void SplFileObject::seek ( int $line_pos )
 public void SplFileObject::setCsvControl
  ([ string $delimiter = ","
 [, string $enclosure = "\""
 [, string $escape = "\\"
]]] )
public void SplFileObject::setFlags ( int $flags )
public void SplFileObject::setMaxLineLen ( int $max_len )
public void SplFileObject::__toString ( void )
public bool SplFileObject::valid ( void )
}

Inhaltsverzeichnis

  • SplTempFileObject::__construct — Construct a new temporary file object
SplFileObject::valid
SplTempFileObject::__construct
Dateibehandlung


Construct a new temporary file object

SplTempFileObject
Verschiedene Klassen und Interfaces
SplTempFileObject
PHP Manual

SplTempFileObject::__construct

(PHP 5 >= 5.1.2, PHP 7)

SplTempFileObject::__construct — Construct a new temporary file object

Beschreibung

public SplTempFileObject::__construct ([ int $max_memory ] )

Construct a new temporary file object.

Parameter-Liste

max_memory

The maximum amount of memory (in bytes, default is 2 MB) for the temporary file to use. If the temporary file exceeds this size, it will be moved to a file in the system's temp directory.

If max_memory is negative, only memory will be used. If max_memory is zero, no memory will be used.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

Throws a RuntimeException if an error occurs.

Beispiele

Beispiel #1 SplTempFileObject() example

This example writes a temporary file in memory which can be written to and read from.

<?php
$temp = new SplTempFileObject();
$temp->fwrite("This is the first line\n");
$temp->fwrite("And this is the second.\n");
echo "Written " . $temp->ftell() . " bytes to temporary file.\n\n";

// Rewind and read what was written
$temp->rewind();
foreach ($temp as $line) {
    echo $line;
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Written 47 bytes to temporary file.

This is the first line
And this is the second.

Siehe auch

  • SplFileObject
  • PHP input/output streams (for php://temp and php://memory)

SplTempFileObject
Verschiedene Klassen und Interfaces
SplTempFileObject


Verschiedene Klassen und Interfaces

Inhaltsverzeichnis

  • ArrayObject
  • SplObserver
  • SplSubject

Klassen und Interfaces, die nicht zu den anderen Kategorien in SPL passen.

SplTempFileObject::__construct
ArrayObject
SPL


The ArrayObject class

(PHP 5, PHP 7)

Einführung

This class allows objects to work as arrays.

Klassenbeschreibung

ArrayObject implements IteratorAggregate , ArrayAccess , Serializable , Countable {
/* Konstanten */
const integer STD_PROP_LIST = 1 ;
const integer ARRAY_AS_PROPS = 2 ;
/* Methoden */
public __construct ([ mixed $input = [] [, int $flags = 0 [, string $iterator_class = "ArrayIterator" ]]] )
public void append ( mixed $value )
public void asort ( void )
public int count ( void )
public array exchangeArray ( mixed $input )
public array getArrayCopy ( void )
public int getFlags ( void )
public ArrayIterator getIterator ( void )
public string getIteratorClass ( void )
public void ksort ( void )
public void natcasesort ( void )
public void natsort ( void )
public bool offsetExists ( mixed $index )
public mixed offsetGet ( mixed $index )
public void offsetSet ( mixed $index , mixed $newval )
public void offsetUnset ( mixed $index )
public string serialize ( void )
public void setFlags ( int $flags )
public void setIteratorClass ( string $iterator_class )
public void uasort ( callable $cmp_function )
public void uksort ( callable $cmp_function )
public void unserialize ( string $serialized )
}

Vordefinierte Konstanten

ArrayObject Flags

ArrayObject::STD_PROP_LIST

Properties of the object have their normal functionality when accessed as list (var_dump, foreach, etc.).

ArrayObject::ARRAY_AS_PROPS

Entries can be accessed as properties (read and write).

Changelog

Version | Beschreibung
5.3.0 | Implements Serializable.

Inhaltsverzeichnis

  • ArrayObject::append — Appends the value
  • ArrayObject::asort — Sort the entries by value
  • ArrayObject::__construct — Construct a new array object
  • ArrayObject::count — Get the number of public properties in the ArrayObject
  • ArrayObject::exchangeArray — Exchange the array for another one.
  • ArrayObject::getArrayCopy — Creates a copy of the ArrayObject.
  • ArrayObject::getFlags — Gets the behavior flags.
  • ArrayObject::getIterator — Create a new iterator from an ArrayObject instance
  • ArrayObject::getIteratorClass — Gets the iterator classname for the ArrayObject.
  • ArrayObject::ksort — Sort the entries by key
  • ArrayObject::natcasesort — Sort an array using a case insensitive "natural order" algorithm
  • ArrayObject::natsort — Sort entries using a "natural order" algorithm
  • ArrayObject::offsetExists — Returns whether the requested index exists
  • ArrayObject::offsetGet — Returns the value at the specified index
  • ArrayObject::offsetSet — Sets the value at the specified index to newval
  • ArrayObject::offsetUnset — Unsets the value at the specified index
  • ArrayObject::serialize — Serialize an ArrayObject
  • ArrayObject::setFlags — Sets the behavior flags.
  • ArrayObject::setIteratorClass — Sets the iterator classname for the ArrayObject.
  • ArrayObject::uasort — Sort the entries with a user-defined comparison function and maintain key association
  • ArrayObject::uksort — Sort the entries by keys using a user-defined comparison function
  • ArrayObject::unserialize — Unserialize an ArrayObject
Verschiedene Klassen und Interfaces
ArrayObject::append
Verschiedene Klassen und Interfaces


Appends the value

ArrayObject
ArrayObject::asort
ArrayObject
PHP Manual

ArrayObject::append

(PHP 5 >= 5.0.0, PHP 7)

ArrayObject::append — Appends the value

Beschreibung

public void ArrayObject::append ( mixed $value )

Appends a new value as the last element.

Hinweis:

This method cannot be called when the ArrayObject was constructed from an object. Use ArrayObject::offsetSet() instead.

Parameter-Liste

value

The value being appended.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ArrayObject::append() example

<?php
$arrayobj = new ArrayObject(array('first','second','third'));
$arrayobj->append('fourth');
$arrayobj->append(array('five', 'six'));
var_dump($arrayobj);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(ArrayObject)#1 (5) {
  [0]=>
  string(5) "first"
  [1]=>
  string(6) "second"
  [2]=>
  string(5) "third"
  [3]=>
  string(6) "fourth"
  [4]=>
  array(2) {
    [0]=>
    string(4) "five"
    [1]=>
    string(3) "six"
  }
}

Siehe auch

  • ArrayObject::offsetSet() - Sets the value at the specified index to newval

ArrayObject
ArrayObject::asort
ArrayObject


Sort the entries by value

ArrayObject::append
ArrayObject::__construct
ArrayObject
PHP Manual

ArrayObject::asort

(PHP 5 >= 5.2.0, PHP 7)

ArrayObject::asort — Sort the entries by value

Beschreibung

public void ArrayObject::asort ( void )

Sorts the entries such that the keys maintain their correlation with the entries they are associated with. This is used mainly when sorting associative arrays where the actual element order is significant.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ArrayObject::asort() example

<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
$fruitArrayObject = new ArrayObject($fruits);
$fruitArrayObject->asort();

foreach ($fruitArrayObject as $key => $val) {
    echo "$key = $val\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

c = apple
b = banana
d = lemon
a = orange

The fruits have been sorted in alphabetical order, and the key associated with each entry has been maintained.

Siehe auch

  • ArrayObject::ksort() - Sort the entries by key
  • ArrayObject::natsort() - Sort entries using a "natural order" algorithm
  • ArrayObject::natcasesort() - Sort an array using a case insensitive "natural order" algorithm
  • ArrayObject::uasort() - Sort the entries with a user-defined comparison function and maintain key association
  • ArrayObject::uksort() - Sort the entries by keys using a user-defined comparison function

ArrayObject::append
ArrayObject::__construct
ArrayObject


Construct a new array object

ArrayObject::asort
ArrayObject::count
ArrayObject
PHP Manual

ArrayObject::__construct

(PHP 5 >= 5.0.0, PHP 7)

ArrayObject::__construct — Construct a new array object

Beschreibung

public ArrayObject::__construct ([ mixed $input = [] [, int $flags = 0 [, string $iterator_class = "ArrayIterator" ]]] )

This constructs a new array object.

Parameter-Liste

input

The input parameter accepts an array or an Object.

flags

Flags to control the behaviour of the ArrayObject object. See ArrayObject::setFlags().

iterator_class

Specify the class that will be used for iteration of the ArrayObject object.

Rückgabewerte

Returns an ArrayObject object on success.

Fehler/Exceptions

Throws InvalidArgumentException when:

  • input is not an array or object
  • flags is not an integer
  • iterator_class is not an object that implements Iterator

Beispiele

Beispiel #1 ArrayObject::__construct() example

<?php
$array = array('1' => 'one',
               '2' => 'two',
               '3' => 'three');

$arrayobject = new ArrayObject($array);

var_dump($arrayobject);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(ArrayObject)#1 (3) {
  [1]=>
  string(3) "one"
  [2]=>
  string(3) "two"
  [3]=>
  string(5) "three"
}

Siehe auch

  • ArrayObject::setflags() - Sets the behavior flags.

ArrayObject::asort
ArrayObject::count
ArrayObject


Get the number of public properties in the ArrayObject

ArrayObject::__construct
ArrayObject::exchangeArray
ArrayObject
PHP Manual

ArrayObject::count

(PHP 5 >= 5.0.0, PHP 7)

ArrayObject::count — Get the number of public properties in the ArrayObject

Beschreibung

public int ArrayObject::count ( void )

Get the number of public properties in the ArrayObject.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The number of public properties in the ArrayObject.

Hinweis:

When the ArrayObject is constructed from an array all properties are public.

Beispiele

Beispiel #1 ArrayObject::count() example

<?php
class Example {
    public $public = 'prop:public';
    private $prv   = 'prop:private';
    protected $prt = 'prop:protected';
}

$arrayobj = new ArrayObject(new Example());
var_dump($arrayobj->count());

$arrayobj = new ArrayObject(array('first','second','third'));
var_dump($arrayobj->count());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(1)
int(3)

ArrayObject::__construct
ArrayObject::exchangeArray
ArrayObject


Exchange the array for another one.

ArrayObject::count
ArrayObject::getArrayCopy
ArrayObject
PHP Manual

ArrayObject::exchangeArray

(PHP 5 >= 5.1.0, PHP 7)

ArrayObject::exchangeArray — Exchange the array for another one.

Beschreibung

public array ArrayObject::exchangeArray ( mixed $input )

Exchange the current array with another array or object.

Parameter-Liste

input

The new array or object to exchange with the current array.

Rückgabewerte

Returns the old array.

Beispiele

Beispiel #1 ArrayObject::exchangeArray() example

<?php
// Array of available fruits
$fruits = array("lemons" => 1, "oranges" => 4, "bananas" => 5, "apples" => 10);
// Array of locations in Europe
$locations = array('Amsterdam', 'Paris', 'London');

$fruitsArrayObject = new ArrayObject($fruits);

// Now exchange fruits for locations
$old = $fruitsArrayObject->exchangeArray($locations);
print_r($old);
print_r($fruitsArrayObject);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [lemons] => 1
    [oranges] => 4
    [bananas] => 5
    [apples] => 10
)
ArrayObject Object
(
    [0] => Amsterdam
    [1] => Paris
    [2] => London
)

ArrayObject::count
ArrayObject::getArrayCopy
ArrayObject


Creates a copy of the ArrayObject.

ArrayObject::exchangeArray
ArrayObject::getFlags
ArrayObject
PHP Manual

ArrayObject::getArrayCopy

(PHP 5 >= 5.0.0, PHP 7)

ArrayObject::getArrayCopy — Creates a copy of the ArrayObject.

Beschreibung

public array ArrayObject::getArrayCopy ( void )

Exports the ArrayObject to an array.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a copy of the array. When the ArrayObject refers to an object an array of the public properties of that object will be returned.

Beispiele

Beispiel #1 ArrayObject::getArrayCopy() example

<?php
// Array of available fruits
$fruits = array("lemons" => 1, "oranges" => 4, "bananas" => 5, "apples" => 10);

$fruitsArrayObject = new ArrayObject($fruits);
$fruitsArrayObject['pears'] = 4;

// create a copy of the array
$copy = $fruitsArrayObject->getArrayCopy();
print_r($copy);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [lemons] => 1
    [oranges] => 4
    [bananas] => 5
    [apples] => 10
    [pears] => 4
)

ArrayObject::exchangeArray
ArrayObject::getFlags
ArrayObject


Gets the behavior flags.

ArrayObject::getArrayCopy
ArrayObject::getIterator
ArrayObject
PHP Manual

ArrayObject::getFlags

(PHP 5 >= 5.1.0, PHP 7)

ArrayObject::getFlags — Gets the behavior flags.

Beschreibung

public int ArrayObject::getFlags ( void )

Gets the behavior flags of the ArrayObject. See the ArrayObject::setFlags method for a list of the available flags.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the behavior flags of the ArrayObject.

Beispiele

Beispiel #1 ArrayObject::getFlags() example

<?php
// Array of available fruits
$fruits = array("lemons" => 1, "oranges" => 4, "bananas" => 5, "apples" => 10);

$fruitsArrayObject = new ArrayObject($fruits);

// Get the current flags
$flags = $fruitsArrayObject->getFlags();
var_dump($flags);

// Set new flags
$fruitsArrayObject->setFlags(ArrayObject::ARRAY_AS_PROPS);

// Get the new flags
$flags = $fruitsArrayObject->getFlags();
var_dump($flags);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(0)
int(2)

Siehe auch

  • The ArrayObject::setFlags method

ArrayObject::getArrayCopy
ArrayObject::getIterator
ArrayObject


Create a new iterator from an ArrayObject instance

ArrayObject::getFlags
ArrayObject::getIteratorClass
ArrayObject
PHP Manual

ArrayObject::getIterator

(PHP 5 >= 5.0.0, PHP 7)

ArrayObject::getIterator — Create a new iterator from an ArrayObject instance

Beschreibung

public ArrayIterator ArrayObject::getIterator ( void )

Create a new iterator from an ArrayObject instance.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An iterator from an ArrayObject.

Beispiele

Beispiel #1 ArrayObject::getIterator() example

<?php
$array = array('1' => 'one',
               '2' => 'two',
               '3' => 'three');

$arrayobject = new ArrayObject($array);

$iterator = $arrayobject->getIterator();

while($iterator->valid()) {
    echo $iterator->key() . ' => ' . $iterator->current() . "\n";

    $iterator->next();
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1 => one
2 => two
3 => three

ArrayObject::getFlags
ArrayObject::getIteratorClass
ArrayObject


Gets the iterator classname for the ArrayObject.

ArrayObject::getIterator
ArrayObject::ksort
ArrayObject
PHP Manual

ArrayObject::getIteratorClass

(PHP 5 >= 5.1.0, PHP 7)

ArrayObject::getIteratorClass — Gets the iterator classname for the ArrayObject.

Beschreibung

public string ArrayObject::getIteratorClass ( void )

Gets the class name of the array iterator that is used by ArrayObject::getIterator().

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the iterator class name that is used to iterate over this object.

Beispiele

Beispiel #1 ArrayObject::getIteratorClass() example

<?php
// Custom ArrayIterator (inherits from ArrayIterator)
class MyArrayIterator extends ArrayIterator {
    // custom implementation
}

// Array of available fruits
$fruits = array("lemons" => 1, "oranges" => 4, "bananas" => 5, "apples" => 10);

$fruitsArrayObject = new ArrayObject($fruits);

// Get the current class name
$className = $fruitsArrayObject->getIteratorClass();
var_dump($className);

// Set new classname
$fruitsArrayObject->setIteratorClass('MyArrayIterator');

// Get the new iterator classname
$className = $fruitsArrayObject->getIteratorClass();
var_dump($className);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(13) "ArrayIterator"
string(15) "MyArrayIterator"

Siehe auch

  • The ArrayObject::setIteratorClass method

ArrayObject::getIterator
ArrayObject::ksort
ArrayObject


Sort the entries by key

ArrayObject::getIteratorClass
ArrayObject::natcasesort
ArrayObject
PHP Manual

ArrayObject::ksort

(PHP 5 >= 5.2.0, PHP 7)

ArrayObject::ksort — Sort the entries by key

Beschreibung

public void ArrayObject::ksort ( void )

Sorts the entries by key, maintaining key to entry correlations. This is useful mainly for associative arrays.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ArrayObject::ksort() example

<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
$fruitArrayObject = new ArrayObject($fruits);
$fruitArrayObject->ksort();

foreach ($fruitArrayObject as $key => $val) {
    echo "$key = $val\n";
}
 ?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

a = orange
b = banana
c = apple
d = lemon

Siehe auch

  • ArrayObject::asort() - Sort the entries by value
  • ArrayObject::natsort() - Sort entries using a "natural order" algorithm
  • ArrayObject::natcasesort() - Sort an array using a case insensitive "natural order" algorithm
  • ArrayObject::uasort() - Sort the entries with a user-defined comparison function and maintain key association
  • ArrayObject::uksort() - Sort the entries by keys using a user-defined comparison function

ArrayObject::getIteratorClass
ArrayObject::natcasesort
ArrayObject


Sort an array using a case insensitive "natural order" algorithm

ArrayObject::ksort
ArrayObject::natsort
ArrayObject
PHP Manual

ArrayObject::natcasesort

(PHP 5 >= 5.2.0, PHP 7)

ArrayObject::natcasesort — Sort an array using a case insensitive "natural order" algorithm

Beschreibung

public void ArrayObject::natcasesort ( void )

This method is a case insensitive version of ArrayObject::natsort.

This method implements a sort algorithm that orders alphanumeric strings in the way a human being would while maintaining key/value associations. This is described as a "natural ordering".

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ArrayObject::natcasesort() example

<?php
$array = array('IMG0.png', 'img12.png', 'img10.png', 'img2.png', 'img1.png', 'IMG3.png');

$arr1 = new ArrayObject($array);
$arr2 = clone $arr1;

$arr1->asort();
echo "Standard sorting\n";
print_r($arr1);

$arr2->natcasesort();
echo "\nNatural order sorting (case-insensitive)\n";
print_r($arr2);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Standard sorting
ArrayObject Object
(
    [0] => IMG0.png
    [5] => IMG3.png
    [4] => img1.png
    [2] => img10.png
    [1] => img12.png
    [3] => img2.png
)

Natural order sorting (case-insensitive)
ArrayObject Object
(
    [0] => IMG0.png
    [4] => img1.png
    [3] => img2.png
    [5] => IMG3.png
    [2] => img10.png
    [1] => img12.png
)

For more information see: Martin Pool's » Natural Order String Comparison page.

Siehe auch

  • ArrayObject::asort() - Sort the entries by value
  • ArrayObject::ksort() - Sort the entries by key
  • ArrayObject::natsort() - Sort entries using a "natural order" algorithm
  • ArrayObject::uasort() - Sort the entries with a user-defined comparison function and maintain key association
  • ArrayObject::uksort() - Sort the entries by keys using a user-defined comparison function

ArrayObject::ksort
ArrayObject::natsort
ArrayObject


Sort entries using a "natural order" algorithm

ArrayObject::natcasesort
ArrayObject::offsetExists
ArrayObject
PHP Manual

ArrayObject::natsort

(PHP 5 >= 5.2.0, PHP 7)

ArrayObject::natsort — Sort entries using a "natural order" algorithm

Beschreibung

public void ArrayObject::natsort ( void )

This method implements a sort algorithm that orders alphanumeric strings in the way a human being would while maintaining key/value associations. This is described as a "natural ordering". An example of the difference between this algorithm and the regular computer string sorting algorithms (used in ArrayObject::asort) method can be seen in the example below.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ArrayObject::natsort() example

<?php
$array = array("img12.png", "img10.png", "img2.png", "img1.png");

$arr1 = new ArrayObject($array);
$arr2 = clone $arr1;

$arr1->asort();
echo "Standard sorting\n";
print_r($arr1);

$arr2->natsort();
echo "\nNatural order sorting\n";
print_r($arr2);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Standard sorting
ArrayObject Object
(
    [3] => img1.png
    [1] => img10.png
    [0] => img12.png
    [2] => img2.png
)

Natural order sorting
ArrayObject Object
(
    [3] => img1.png
    [2] => img2.png
    [1] => img10.png
    [0] => img12.png
)

For more information see: Martin Pool's » Natural Order String Comparison page.

Siehe auch

  • ArrayObject::asort() - Sort the entries by value
  • ArrayObject::ksort() - Sort the entries by key
  • ArrayObject::natcasesort() - Sort an array using a case insensitive "natural order" algorithm
  • ArrayObject::uasort() - Sort the entries with a user-defined comparison function and maintain key association
  • ArrayObject::uksort() - Sort the entries by keys using a user-defined comparison function

ArrayObject::natcasesort
ArrayObject::offsetExists
ArrayObject


Returns whether the requested index exists

ArrayObject::natsort
ArrayObject::offsetGet
ArrayObject
PHP Manual

ArrayObject::offsetExists

(PHP 5 >= 5.0.0, PHP 7)

ArrayObject::offsetExists — Returns whether the requested index exists

Beschreibung

public bool ArrayObject::offsetExists ( mixed $index )

Parameter-Liste

index

The index being checked.

Rückgabewerte

TRUE if the requested index exists, otherwise FALSE

Beispiele

Beispiel #1 ArrayObject::offsetExists() example

<?php
$arrayobj = new ArrayObject(array('zero', 'one', 'example'=>'e.g.'));
var_dump($arrayobj->offsetExists(1));
var_dump($arrayobj->offsetExists('example'));
var_dump($arrayobj->offsetExists('notfound'));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(true)
bool(false)

ArrayObject::natsort
ArrayObject::offsetGet
ArrayObject


Returns the value at the specified index

ArrayObject::offsetExists
ArrayObject::offsetSet
ArrayObject
PHP Manual

ArrayObject::offsetGet

(PHP 5 >= 5.0.0, PHP 7)

ArrayObject::offsetGet — Returns the value at the specified index

Beschreibung

public mixed ArrayObject::offsetGet ( mixed $index )

Parameter-Liste

index

The index with the value.

Rückgabewerte

The value at the specified index or NULL.

Fehler/Exceptions

Produces an E_NOTICE error message when the specified index does not exist.

Beispiele

Beispiel #1 ArrayObject::offsetGet() example

<?php
$arrayobj = new ArrayObject(array('zero', 7, 'example'=>'e.g.'));
var_dump($arrayobj->offsetGet(1));
var_dump($arrayobj->offsetGet('example'));
var_dump($arrayobj->offsetExists('notfound'));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(7)
string(4) "e.g."
bool(false)

ArrayObject::offsetExists
ArrayObject::offsetSet
ArrayObject


Sets the value at the specified index to newval

ArrayObject::offsetGet
ArrayObject::offsetUnset
ArrayObject
PHP Manual

ArrayObject::offsetSet

(PHP 5 >= 5.0.0, PHP 7)

ArrayObject::offsetSet — Sets the value at the specified index to newval

Beschreibung

public void ArrayObject::offsetSet ( mixed $index , mixed $newval )

Sets the value at the specified index to newval.

Parameter-Liste

index

The index being set.

newval

The new value for the index.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ArrayObject::offsetSet() example

<?php
class Example {
    public $property = 'prop:public';
}
$arrayobj = new ArrayObject(new Example());
$arrayobj->offsetSet(4, 'four');
$arrayobj->offsetSet('group', array('g1', 'g2'));
var_dump($arrayobj);

$arrayobj = new ArrayObject(array('zero','one'));
$arrayobj->offsetSet(null, 'last');
var_dump($arrayobj);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(ArrayObject)#1 (3) {
  ["property"]=>
  string(11) "prop:public"
  [4]=>
  string(4) "four"
  ["group"]=>
  array(2) {
    [0]=>
    string(2) "g1"
    [1]=>
    string(2) "g2"
  }
}
object(ArrayObject)#3 (3) {
  [0]=>
  string(4) "zero"
  [1]=>
  string(3) "one"
  [2]=>
  string(4) "last"
}

Siehe auch

  • ArrayObject::append() - Appends the value

ArrayObject::offsetGet
ArrayObject::offsetUnset
ArrayObject


Unsets the value at the specified index

ArrayObject::offsetSet
ArrayObject::serialize
ArrayObject
PHP Manual

ArrayObject::offsetUnset

(PHP 5 >= 5.0.0, PHP 7)

ArrayObject::offsetUnset — Unsets the value at the specified index

Beschreibung

public void ArrayObject::offsetUnset ( mixed $index )

Unsets the value at the specified index.

Parameter-Liste

index

The index being unset.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ArrayObject::offsetUnset() example

<?php
$arrayobj = new ArrayObject(array(0=>'zero',2=>'two'));
$arrayobj->offsetUnset(2);
var_dump($arrayobj);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(ArrayObject)#1 (1) {
  [0]=>
  string(4) "zero"
}

ArrayObject::offsetSet
ArrayObject::serialize
ArrayObject


Serialize an ArrayObject

ArrayObject::offsetUnset
ArrayObject::setFlags
ArrayObject
PHP Manual

ArrayObject::serialize

(PHP 5 >= 5.3.0, PHP 7)

ArrayObject::serialize — Serialize an ArrayObject

Beschreibung

public string ArrayObject::serialize ( void )

Serializes an ArrayObject.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The serialized representation of the ArrayObject.

Beispiele

Beispiel #1 ArrayObject::serialize() example

<?php
$o = new ArrayObject();

$s1 = serialize($o);
$s2 = $o->serialize();

var_dump($s1);
var_dump($s2);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(45) "C:11:"ArrayObject":21:{x:i:0;a:0:{};m:a:0:{}}"
string(21) "x:i:0;a:0:{};m:a:0:{}"

Siehe auch

  • ArrayObject::unserialize() - Unserialize an ArrayObject
  • serialize() - Erzeugt eine speicherbare Repräsentation eines Wertes.
  • Serializing Objects

ArrayObject::offsetUnset
ArrayObject::setFlags
ArrayObject


Sets the behavior flags.

ArrayObject::serialize
ArrayObject::setIteratorClass
ArrayObject
PHP Manual

ArrayObject::setFlags

(PHP 5 >= 5.1.0, PHP 7)

ArrayObject::setFlags — Sets the behavior flags.

Beschreibung

public void ArrayObject::setFlags ( int $flags )

Set the flags that change the behavior of the ArrayObject.

Parameter-Liste

flags

The new ArrayObject behavior. It takes on either a bitmask, or named constants. Using named constants is strongly encouraged to ensure compatibility for future versions.

The available behavior flags are listed below. The actual meanings of these flags are described in the predefined constants.

ArrayObject behavior flags
value | constant
1 | ArrayObject::STD_PROP_LIST
2 | ArrayObject::ARRAY_AS_PROPS

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ArrayObject::setFlags() example

<?php
// Array of available fruits
$fruits = array("lemons" => 1, "oranges" => 4, "bananas" => 5, "apples" => 10);

$fruitsArrayObject = new ArrayObject($fruits);

// Try to use array key as property
var_dump($fruitsArrayObject->lemons);
// Set the flag so that the array keys can be used as properties of the ArrayObject
$fruitsArrayObject->setFlags(ArrayObject::ARRAY_AS_PROPS);
// Try it again
var_dump($fruitsArrayObject->lemons);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

NULL
int(1)

ArrayObject::serialize
ArrayObject::setIteratorClass
ArrayObject


Sets the iterator classname for the ArrayObject.

ArrayObject::setFlags
ArrayObject::uasort
ArrayObject
PHP Manual

ArrayObject::setIteratorClass

(PHP 5 >= 5.1.0, PHP 7)

ArrayObject::setIteratorClass — Sets the iterator classname for the ArrayObject.

Beschreibung

public void ArrayObject::setIteratorClass ( string $iterator_class )

Sets the classname of the array iterator that is used by ArrayObject::getIterator().

Parameter-Liste

iterator_class

The classname of the array iterator to use when iterating over this object.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ArrayObject::setIteratorClass() example

<?php
// Custom ArrayIterator (inherits from ArrayIterator)
class MyArrayIterator extends ArrayIterator {
    // custom implementation
}

// Array of available fruits
$fruits = array("lemons" => 1, "oranges" => 4, "bananas" => 5, "apples" => 10);

$fruitsArrayObject = new ArrayObject($fruits);

// Set the iterator classname to the newly
$fruitsArrayObject->setIteratorClass('MyArrayIterator');
print_r($fruitsArrayObject->getIterator());

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

MyArrayIterator Object
(
    [lemons] => 1
    [oranges] => 4
    [bananas] => 5
    [apples] => 10
)

ArrayObject::setFlags
ArrayObject::uasort
ArrayObject


Sort the entries with a user-defined comparison function and maintain key association

ArrayObject::setIteratorClass
ArrayObject::uksort
ArrayObject
PHP Manual

ArrayObject::uasort

(PHP 5 >= 5.2.0, PHP 7)

ArrayObject::uasort — Sort the entries with a user-defined comparison function and maintain key association

Beschreibung

public void ArrayObject::uasort ( callable $cmp_function )

This function sorts the entries such that keys maintain their correlation with the entry that they are associated with, using a user-defined comparison function.

This is used mainly when sorting associative arrays where the actual element order is significant.

Parameter-Liste

cmp_function

Function cmp_function should accept two parameters which will be filled by pairs of entries. The comparison function must return an integer less than, equal to, or greater than zero if the first argument is considered to be respectively less than, equal to, or greater than the second.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ArrayObject::uasort() example

<?php
// Comparison function
function cmp($a, $b) {
    if ($a == $b) {
        return 0;
    }
    return ($a < $b) ? -1 : 1;
}

// Array to be sorted
$array = array('a' => 4, 'b' => 8, 'c' => -1, 'd' => -9, 'e' => 2, 'f' => 5, 'g' => 3, 'h' => -4);
$arrayObject = new ArrayObject($array);
print_r($arrayObject);

// Sort and print the resulting array
$arrayObject->uasort('cmp');
print_r($arrayObject);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [a] => 4
    [b] => 8
    [c] => -1
    [d] => -9
    [e] => 2
    [f] => 5
    [g] => 3
    [h] => -4
)
Array
(
    [d] => -9
    [h] => -4
    [c] => -1
    [e] => 2
    [g] => 3
    [a] => 4
    [f] => 5
    [b] => 8
)

Siehe auch

  • ArrayObject::asort() - Sort the entries by value
  • ArrayObject::ksort() - Sort the entries by key
  • ArrayObject::natsort() - Sort entries using a "natural order" algorithm
  • ArrayObject::natcasesort() - Sort an array using a case insensitive "natural order" algorithm
  • ArrayObject::uksort() - Sort the entries by keys using a user-defined comparison function

ArrayObject::setIteratorClass
ArrayObject::uksort
ArrayObject


Sort the entries by keys using a user-defined comparison function

ArrayObject::uasort
ArrayObject::unserialize
ArrayObject
PHP Manual

ArrayObject::uksort

(PHP 5 >= 5.2.0, PHP 7)

ArrayObject::uksort — Sort the entries by keys using a user-defined comparison function

Beschreibung

public void ArrayObject::uksort ( callable $cmp_function )

This function sorts the keys of the entries using a user-supplied comparison function. The key to entry correlations will be maintained.

Parameter-Liste

cmp_function

The callback comparison function.

Function cmp_function should accept two parameters which will be filled by pairs of entry keys. The comparison function must return an integer less than, equal to, or greater than zero if the first argument is considered to be respectively less than, equal to, or greater than the second.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ArrayObject::uksort() example

<?php
function cmp($a, $b) {
    $a = preg_replace('@^(a|an|the) @', '', $a);
    $b = preg_replace('@^(a|an|the) @', '', $b);
    return strcasecmp($a, $b);
}

$array = array("John" => 1, "the Earth" => 2, "an apple" => 3, "a banana" => 4);
$arrayObject = new ArrayObject($array);
$arrayObject->uksort('cmp');

foreach ($arrayObject as $key => $value) {
    echo "$key: $value\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

an apple: 3
a banana: 4
the Earth: 2
John: 1

Siehe auch

  • ArrayObject::asort() - Sort the entries by value
  • ArrayObject::ksort() - Sort the entries by key
  • ArrayObject::natsort() - Sort entries using a "natural order" algorithm
  • ArrayObject::natcasesort() - Sort an array using a case insensitive "natural order" algorithm
  • ArrayObject::uasort() - Sort the entries with a user-defined comparison function and maintain key association

ArrayObject::uasort
ArrayObject::unserialize
ArrayObject


Unserialize an ArrayObject

ArrayObject::uksort
SplObserver
ArrayObject
PHP Manual

ArrayObject::unserialize

(PHP 5 >= 5.3.0, PHP 7)

ArrayObject::unserialize — Unserialize an ArrayObject

Beschreibung

public void ArrayObject::unserialize ( string $serialized )

Unserializes a serialized ArrayObject.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

serialized

The serialized ArrayObject.

Rückgabewerte

The unserialized ArrayObject.

Siehe auch

  • ArrayIterator::serialize() - Serialize
  • unserialize() - Erzeugt aus einem gespeicherten Datenformat einen Wert in PHP
  • Serializing Objects

ArrayObject::uksort
SplObserver
ArrayObject


The SplObserver interface

(PHP 5 >= 5.1.0, PHP 7)

Einführung

The SplObserver interface is used alongside SplSubject to implement the Observer Design Pattern.

Interface-Übersicht

SplObserver {
/* Methoden */
abstract public void update ( SplSubject $subject )
}

Inhaltsverzeichnis

  • SplObserver::update — Receive update from subject
ArrayObject::unserialize
SplObserver::update
Verschiedene Klassen und Interfaces


Receive update from subject

SplObserver
SplSubject
SplObserver
PHP Manual

SplObserver::update

(PHP 5 >= 5.1.0, PHP 7)

SplObserver::update — Receive update from subject

Beschreibung

abstract public void SplObserver::update ( SplSubject $subject )

This method is called when any SplSubject to which the observer is attached calls SplSubject::notify().

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

subject

The SplSubject notifying the observer of an update.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SplObserver
SplSubject
SplObserver


The SplSubject interface

(PHP 5 >= 5.1.0, PHP 7)

Einführung

The SplSubject interface is used alongside SplObserver to implement the Observer Design Pattern.

Interface-Übersicht

SplSubject {
/* Methoden */
abstract public void attach ( SplObserver $observer )
abstract public void detach ( SplObserver $observer )
abstract public void notify ( void )
}

Inhaltsverzeichnis

  • SplSubject::attach — Attach an SplObserver
  • SplSubject::detach — Detach an observer
  • SplSubject::notify — Notify an observer
SplObserver::update
SplSubject::attach
Verschiedene Klassen und Interfaces


Attach an SplObserver

SplSubject
SplSubject::detach
SplSubject
PHP Manual

SplSubject::attach

(PHP 5 >= 5.1.0, PHP 7)

SplSubject::attach — Attach an SplObserver

Beschreibung

abstract public void SplSubject::attach ( SplObserver $observer )

Attaches an SplObserver so that it can be notified of updates.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

observer

The SplObserver to attach.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SplSubject
SplSubject::detach
SplSubject


Detach an observer

SplSubject::attach
SplSubject::notify
SplSubject
PHP Manual

SplSubject::detach

(PHP 5 >= 5.1.0, PHP 7)

SplSubject::detach — Detach an observer

Beschreibung

abstract public void SplSubject::detach ( SplObserver $observer )

Detaches an observer from the subject to no longer notify it of updates.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

observer

The SplObserver to detach.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SplSubject::attach
SplSubject::notify
SplSubject


Notify an observer

SplSubject::detach
SPL Types
SplSubject
PHP Manual

SplSubject::notify

(PHP 5 >= 5.1.0, PHP 7)

SplSubject::notify — Notify an observer

Beschreibung

abstract public void SplSubject::notify ( void )

Notifies all attached observers.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SplSubject::detach
SPL Types
SplSubject


SPL Type Handling

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • SplType — The SplType class
    • SplType::__construct — Creates a new value of some type
  • SplInt — The SplInt class
  • SplFloat — The SplFloat class
  • SplEnum — Die Klasse SplEnum
    • SplEnum::getConstList — Returns all consts (possible values) as an array.
  • SplBool — The SplBool class
  • SplString — The SplString class
SplSubject::notify
Einführung
Sonstige Grunderweiterungen


Einführung

This extension aims at helping people making PHP a stronger typed language and can be a good alternative to scalar type hinting. It provides different typehandling classes as such as integer, float, bool, enum and string

Warnung

Diese Erweiterung ist EXPERIMENTELL. Das Verhalten dieser Erweiterung, einschließlich der Funktionsnamen, und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Erweiterung auf eigenes Risiko.

SPL Types
Installation/Konfiguration
SPL Types


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
SPL Types


Installation

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/SPL_Types.

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Ressource-Typen

Diese Erweiterung definiert keine Ressource-Typen.

Laufzeit-Konfiguration
SplType
Installation/Konfiguration


The SplType class

(PECL spl_types >= 0.1.0)

Einführung

Parent class for all SPL types.

Klassenbeschreibung

abstract SplType {
/* Constants */
const NULL __default = null ;
/* Methoden */
__construct ([ mixed $initial_value [, bool $strict ]] )
}

Vordefinierte Konstanten

SplType::__default

Inhaltsverzeichnis

  • SplType::__construct — Creates a new value of some type
Ressource-Typen
SplType::__construct
SPL Types


Creates a new value of some type

SplType
SplInt
SplType
PHP Manual

SplType::__construct

(PECL spl_types >= 0.1.0)

SplType::__construct — Creates a new value of some type

Beschreibung

SplType::__construct ([ mixed $initial_value [, bool $strict ]] )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

initial_value

Type and default value depends on the extension class.

strict

Whether to set the object's sctrictness.

Fehler/Exceptions

Throws an UnexpectedValueException if incompatible type is given.

SplType
SplInt
SplType


The SplInt class

(PECL spl_types >= 0.1.0)

Einführung

The SplInt class is used to enforce strong typing of the integer type.

Klassenbeschreibung

SplInt extends SplType {
/* Constants */
const integer __default = 0 ;
/* Geerbte Methoden */
SplType::__construct ([ mixed $initial_value [, bool $strict ]] )
}

Vordefinierte Konstanten

SplInt::__default

Beispiele

Beispiel #1 SplInt usage example

<?php
$int = new SplInt(94);

try {
    $int = 'Try to cast a string value for fun';
} catch (UnexpectedValueException $uve) {
    echo $uve->getMessage() . PHP_EOL;
}

echo $int . PHP_EOL;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Value not an integer
94

SplType::__construct
SplFloat
SPL Types


The SplFloat class

(PECL spl_types >= 0.1.0)

Einführung

The SplFloat class is used to enforce strong typing of the float type.

Klassenbeschreibung

SplFloat extends SplType {
/* Constants */
const float __default = 0 ;
/* Geerbte Methoden */
SplType::__construct ([ mixed $initial_value [, bool $strict ]] )
}

Vordefinierte Konstanten

SplFloat::__default

Beispiele

Beispiel #1 SplFloat usage example

<?php
$float = new SplFloat(3.154);
$newFloat = new SplFloat(3);

try {
    $float = 'Try to cast a string value for fun';
} catch (UnexpectedValueException $uve) {
    echo $uve->getMessage() . PHP_EOL;
}

echo $float . PHP_EOL;
echo $newFloat . PHP_EOL;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Value not a float
3.154
3

SplInt
SplEnum
SPL Types


Die Klasse SplEnum

(PECL spl_types >= 0.1.0)

Einführung

SplEnum bietet die Möglichkeit Aufzählungen (Enums) und Enum-Objekte nativ in PHP zu erstellen.

Klassenbeschreibung

SplEnum extends SplType {
/* Constants */
const NULL __default = null ;
/* Methoden */
public array getConstList ([ bool $include_default = false ] )
/* Geerbte Methoden */
SplType::__construct ([ mixed $initial_value [, bool $strict ]] )
}

Vordefinierte Konstanten

SplEnum::__default

Beispiele

Beispiel #1 SplEnum Verwendungsbeispiel

<?php
class Month extends SplEnum {
    const __default = self::January;

    const January = 1;
    const February = 2;
    const March = 3;
    const April = 4;
    const May = 5;
    const June = 6;
    const July = 7;
    const August = 8;
    const September = 9;
    const October = 10;
    const November = 11;
    const December = 12;
}

echo new Month(Month::June) . PHP_EOL;

try {
    new Month(13);
} catch (UnexpectedValueException $uve) {
    echo $uve->getMessage() . PHP_EOL;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

6
Value not a const in enum Month

Inhaltsverzeichnis

  • SplEnum::getConstList — Returns all consts (possible values) as an array.
SplFloat
SplEnum::getConstList
SPL Types


Returns all consts (possible values) as an array.

SplEnum
SplBool
SplEnum
PHP Manual

SplEnum::getConstList

(PECL spl_types >= 0.1.0)

SplEnum::getConstList — Returns all consts (possible values) as an array.

Beschreibung

public array SplEnum::getConstList ([ bool $include_default = false ] )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

include_default

Whether to include __default property.

Rückgabewerte

Beispiele

Beispiel #1 SplEnum::getConstList() example

<?php
$bool = new SplBool;
var_dump($bool->getConstList(true));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(3) {
  ["__default"]=>
  bool(false)
  ["false"]=>
  bool(false)
  ["true"]=>
  bool(true)
}

SplEnum
SplBool
SplEnum


The SplBool class

(PECL spl_types >= 0.1.0)

Einführung

The SplBool class is used to enforce strong typing of the bool type.

Klassenbeschreibung

SplBool extends SplEnum {
/* Constants */
const boolean __default = false ;
const boolean false = false ;
const boolean true = true ;
/* Geerbte Methoden */
public array SplEnum::getConstList ([ bool $include_default = false ] )
}

Vordefinierte Konstanten

SplBool::__default

SplBool::false

SplBool::true

Beispiele

Beispiel #1 SplBool usage example

<?php
$true = new SplBool(true);
if ($true) {
    echo "TRUE\n";
}

$false = new SplBool;
if ($false) {
    echo "FALSE\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

TRUE

SplEnum::getConstList
SplString
SPL Types


The SplString class

(PECL spl_types >= 0.1.0)

Einführung

The SplString class is used to enforce strong typing of the string type.

Klassenbeschreibung

SplString extends SplType {
/* Constants */
const string __default = '' ;
/* Geerbte Methoden */
SplType::__construct ([ mixed $initial_value [, bool $strict ]] )
}

Vordefinierte Konstanten

SplString::__default

Beispiele

Beispiel #1 SplString usage example

<?php
$string = new SplString("Testing");

try {
    $string = array();
} catch (UnexpectedValueException $uve) {
    echo $uve->getMessage() . PHP_EOL;
}

var_dump($string);
echo $string; // Outputs "Testing"
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Value not a string
object(SplString)#1 (1) {
  ["__default"]=>
  string(7) "Testing"
}
Testing

SplBool
Streams
SPL Types


Streams

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Stream Classes
  • Vordefinierte Konstanten
  • Stream Filters
  • Stream Contexts
  • Stream Errors
  • Beispiele
    • Example class registered as stream wrapper
  • php_user_filter — The php_user_filter class
    • php_user_filter::filter — Called when applying the filter
    • php_user_filter::onClose — Called when closing the filter
    • php_user_filter::onCreate — Called when creating the filter
  • streamWrapper — The streamWrapper class
    • streamWrapper::__construct — Constructs a new stream wrapper
    • streamWrapper::__destruct — Destructs an existing stream wrapper
    • streamWrapper::dir_closedir — Close directory handle
    • streamWrapper::dir_opendir — Open directory handle
    • streamWrapper::dir_readdir — Read entry from directory handle
    • streamWrapper::dir_rewinddir — Rewind directory handle
    • streamWrapper::mkdir — Create a directory
    • streamWrapper::rename — Renames a file or directory
    • streamWrapper::rmdir — Removes a directory
    • streamWrapper::stream_cast — Retrieve the underlaying resource
    • streamWrapper::stream_close — Close a resource
    • streamWrapper::stream_eof — Tests for end-of-file on a file pointer
    • streamWrapper::stream_flush — Flushes the output
    • streamWrapper::stream_lock — Advisory file locking
    • streamWrapper::stream_metadata — Change stream metadata
    • streamWrapper::stream_open — Opens file or URL
    • streamWrapper::stream_read — Read from stream
    • streamWrapper::stream_seek — Seeks to specific location in a stream
    • streamWrapper::stream_set_option — Change stream options
    • streamWrapper::stream_stat — Retrieve information about a file resource
    • streamWrapper::stream_tell — Retrieve the current position of a stream
    • streamWrapper::stream_truncate — Truncate stream
    • streamWrapper::stream_write — Write to stream
    • streamWrapper::unlink — Delete a file
    • streamWrapper::url_stat — Retrieve information about a file
  • Stream Funktionen
    • set_socket_blocking — Alias von stream_set_blocking
    • stream_bucket_append — Append bucket to brigade
    • stream_bucket_make_writeable — Return a bucket object from the brigade for operating on
    • stream_bucket_new — Create a new bucket for use on the current stream
    • stream_bucket_prepend — Prepend bucket to brigade
    • stream_context_create — Creates a stream context
    • stream_context_get_default — Retrieve the default stream context
    • stream_context_get_options — Retrieve options for a stream/wrapper/context
    • stream_context_get_params — Retrieves parameters from a context
    • stream_context_set_default — Set the default stream context
    • stream_context_set_option — Sets an option for a stream/wrapper/context
    • stream_context_set_params — Set parameters for a stream/wrapper/context
    • stream_copy_to_stream — Copies data from one stream to another
    • stream_encoding — Set character set for stream encoding
    • stream_filter_append — Attach a filter to a stream
    • stream_filter_prepend — Attach a filter to a stream
    • stream_filter_register — Register a user defined stream filter
    • stream_filter_remove — Remove a filter from a stream
    • stream_get_contents — Reads remainder of a stream into a string
    • stream_get_filters — Retrieve list of registered filters
    • stream_get_line — Gets line from stream resource up to a given delimiter
    • stream_get_meta_data — Retrieves header/meta data from streams/file pointers
    • stream_get_transports — Retrieve list of registered socket transports
    • stream_get_wrappers — Retrieve list of registered streams
    • stream_is_local — Checks if a stream is a local stream
    • stream_notification_callback — A callback function for the notification context parameter
    • stream_register_wrapper — Alias von stream_wrapper_register
    • stream_resolve_include_path — Resolve filename against the include path
    • stream_select — Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec
    • stream_set_blocking — Set blocking/non-blocking mode on a stream
    • stream_set_chunk_size — Set the stream chunk size
    • stream_set_read_buffer — Set read file buffering on the given stream
    • stream_set_timeout — Set timeout period on a stream
    • stream_set_write_buffer — Sets write file buffering on the given stream
    • stream_socket_accept — Accept a connection on a socket created by stream_socket_server
    • stream_socket_client — Open Internet or Unix domain socket connection
    • stream_socket_enable_crypto — Turns encryption on/off on an already connected socket
    • stream_socket_get_name — Retrieve the name of the local or remote sockets
    • stream_socket_pair — Creates a pair of connected, indistinguishable socket streams
    • stream_socket_recvfrom — Receives data from a socket, connected or not
    • stream_socket_sendto — Sends a message to a socket, whether it is connected or not
    • stream_socket_server — Create an Internet or Unix domain server socket
    • stream_socket_shutdown — Shutdown a full-duplex connection
    • stream_supports_lock — Tells whether the stream supports locking.
    • stream_wrapper_register — Register a URL wrapper implemented as a PHP class
    • stream_wrapper_restore — Restores a previously unregistered built-in wrapper
    • stream_wrapper_unregister — Unregister a URL wrapper
SplString
Einführung
Sonstige Grunderweiterungen


Einführung

Streams are the way of generalizing file, network, data compression, and other operations which share a common set of functions and uses. In its simplest definition, a stream is a resource object which exhibits streamable behavior. That is, it can be read from or written to in a linear fashion, and may be able to fseek() to an arbitrary locations within the stream.

A wrapper is additional code which tells the stream how to handle specific protocols/encodings. For example, the http wrapper knows how to translate a URL into an HTTP/1.0 request for a file on a remote server. There are many wrappers built into PHP by default (See Unterstützte Protokolle und Wrapper), and additional, custom wrappers may be added either within a PHP script using stream_wrapper_register(), or directly from an extension using the API Reference in Working with streams. Because any variety of wrapper may be added to PHP, there is no set limit on what can be done with them. To access the list of currently registered wrappers, use stream_get_wrappers().

A stream is referenced as: scheme://target

  • scheme(string) - The name of the wrapper to be used. Examples include: file, http, https, ftp, ftps, compress.zlib, compress.bz2, and php. See Unterstützte Protokolle und Wrapper for a list of PHP built-in wrappers. If no wrapper is specified, the function default is used (typically file://).
  • target - Depends on the wrapper used. For filesystem related streams this is typically a path and filename of the desired file. For network related streams this is typically a hostname, often with a path appended. Again, see Unterstützte Protokolle und Wrapper for a description of targets for built-in streams.

Hinweis:

Information on using streams within the PHP source code can be found in the Streams API for PHP Extension Authors reference.

Streams
Installation/Konfiguration
Streams


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Stream Classes
Einführung
Anforderungen
Streams


Installation

Streams are an integral part of PHP as of version 4.3.0. No steps are required to enable them.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Diese Erweiterung definiert keine Konfigurationseinstellungen in der php.ini.

Installation
Stream Classes
Installation/Konfiguration


Stream Classes

User designed wrappers can be registered via stream_wrapper_register(), using the class definition shown on that manual page.

Class php_user_filter is predefined and is an abstract baseclass for use with user defined filters. See the manual page for stream_filter_register() for details on implementing user defined filters.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

Constant | Description
STREAM_FILTER_READ * | Used with stream_filter_append() and stream_filter_prepend() to indicate that the specified filter should only be applied when reading
STREAM_FILTER_WRITE * | Used with stream_filter_append() and stream_filter_prepend() to indicate that the specified filter should only be applied when writing
STREAM_FILTER_ALL * | This constant is equivalent to STREAM_FILTER_READ | STREAM_FILTER_WRITE
PSFS_PASS_ON * | Return Code indicating that the userspace filter returned buckets in $out.
PSFS_FEED_ME * | Return Code indicating that the userspace filter did not return buckets in $out (i.e. No data available).
PSFS_ERR_FATAL * | Return Code indicating that the userspace filter encountered an unrecoverable error (i.e. Invalid data received).
PSFS_FLAG_NORMAL | Regular read/write.
PSFS_FLAG_FLUSH_INC | An incremental flush.
PSFS_FLAG_FLUSH_CLOSE | Final flush prior to closing.
STREAM_USE_PATH | Flag indicating if the stream used the include path.
STREAM_REPORT_ERRORS | Flag indicating if the wrapper is responsible for raising errors using trigger_error() during opening of the stream. If this flag is not set, you should not raise any errors.
STREAM_CLIENT_ASYNC_CONNECT * | Open client socket asynchronously. This option must be used together with the STREAM_CLIENT_CONNECT flag. Used with stream_socket_client().
STREAM_CLIENT_CONNECT * | Open client socket connection. Client sockets should always include this flag. Used with stream_socket_client().
STREAM_CLIENT_PERSISTENT * | Client socket opened with stream_socket_client() should remain persistent between page loads.
STREAM_SERVER_BIND * | Tells a stream created with stream_socket_server() to bind to the specified target. Server sockets should always include this flag.
STREAM_SERVER_LISTEN * | Tells a stream created with stream_socket_server() and bound using the STREAM_SERVER_BIND flag to start listening on the socket. Connection-orientated transports (such as TCP) must use this flag, otherwise the server socket will not be enabled. Using this flag for connect-less transports (such as UDP) is an error.
STREAM_NOTIFY_RESOLVE * | A remote address required for this stream has been resolved, or the resolution failed. See severity for an indication of which happened.
STREAM_NOTIFY_CONNECT | A connection with an external resource has been established.
STREAM_NOTIFY_AUTH_REQUIRED | Additional authorization is required to access the specified resource. Typical issued with severity level of STREAM_NOTIFY_SEVERITY_ERR.
STREAM_NOTIFY_MIME_TYPE_IS | The mime-type of resource has been identified, refer to message for a description of the discovered type.
STREAM_NOTIFY_FILE_SIZE_IS | The size of the resource has been discovered.
STREAM_NOTIFY_REDIRECTED | The external resource has redirected the stream to an alternate location. Refer to message.
STREAM_NOTIFY_PROGRESS | Indicates current progress of the stream transfer in bytes_transferred and possibly bytes_max as well.
STREAM_NOTIFY_COMPLETED * | There is no more data available on the stream.
STREAM_NOTIFY_FAILURE | A generic error occurred on the stream, consult message and message_code for details.
STREAM_NOTIFY_AUTH_RESULT | Authorization has been completed (with or without success).
STREAM_NOTIFY_SEVERITY_INFO | Normal, non-error related, notification.
STREAM_NOTIFY_SEVERITY_WARN | Non critical error condition. Processing may continue.
STREAM_NOTIFY_SEVERITY_ERR | A critical error occurred. Processing cannot continue.
STREAM_IPPROTO_ICMP + | Provides a ICMP socket.
STREAM_IPPROTO_IP + | Provides a IP socket.
STREAM_IPPROTO_RAW + | Provides a RAW socket.
STREAM_IPPROTO_TCP + | Provides a TCP socket.
STREAM_IPPROTO_UDP + | Provides a UDP socket.
STREAM_PF_INET + | Internet Protocol Version 4 (IPv4).
STREAM_PF_INET6 + | Internet Protocol Version 6 (IPv6).
STREAM_PF_UNIX + | Unix system internal protocols.
STREAM_SOCK_DGRAM + | Provides datagrams, which are connectionless messages (UDP, for example).
STREAM_SOCK_RAW + | Provides a raw socket, which provides access to internal network protocols and interfaces. Usually this type of socket is just available to the root user.
STREAM_SOCK_RDM + | Provides a RDM (Reliably-delivered messages) socket.
STREAM_SOCK_SEQPACKET + | Provides a sequenced packet stream socket.
STREAM_SOCK_STREAM + | Provides sequenced, two-way byte streams with a transmission mechanism for out-of-band data (TCP, for example).
STREAM_SHUT_RD | Used with stream_socket_shutdown() to disable further receptions. Added in PHP 5.2.1.
STREAM_SHUT_WR | Used with stream_socket_shutdown() to disable further transmissions. Added in PHP 5.2.1.
STREAM_SHUT_RDWR | Used with stream_socket_shutdown() to disable further receptions and transmissions. Added in PHP 5.2.1.
STREAM_CAST_FOR_SELECT | Stream casting, for when stream_select() is calling stream_cast().
STREAM_CAST_AS_STREAM | Stream casting, when stream_cast() is called otherwise (see above).
STREAM_META_TOUCH | Used with stream_metadata(), to specify touch() call.
STREAM_META_OWNER | Used with stream_metadata(), to specify chown() call.
STREAM_META_OWNER_NAME | Used with stream_metadata(), to specify chown() call.
STREAM_META_GROUP | Used with stream_metadata(), to specify chgrp() call.
STREAM_META_GROUP_NAME | Used with stream_metadata(), to specify chgrp() call.
STREAM_META_ACCESS | Used with stream_metadata(), to specify chmod() call.

Hinweis: The constants marked with * are just available since PHP 5.0.0.

Hinweis: The constants marked with + are available since PHP 5.1.0 and are meant to be used with stream_socket_pair(). Please note that some of these constants might not be available in your system.

Hinweis: The STREAM_META_* constants are available since PHP 5.4.0 and are meant to be used with stream_metadata().

Stream Classes
Stream Filters
Streams


Stream Filters

A filter is a final piece of code which may perform operations on data as it is being read from or written to a stream. Any number of filters may be stacked onto a stream. Custom filters can be defined in a PHP script using stream_filter_register() or in an extension using the API Reference in Working with streams. To access the list of currently registered filters, use stream_get_filters().

Vordefinierte Konstanten
Stream Contexts
Streams


Stream Contexts

A context is a set of parameters and wrapper specific options which modify or enhance the behavior of a stream. Contexts are created using stream_context_create() and can be passed to most filesystem related stream creation functions (i.e. fopen(), file(), file_get_contents(), etc...).

Options can be specified when calling stream_context_create(), or later using stream_context_set_option(). A list of wrapper specific options can be found in the Kontextoptionen und -parameter chapter.

Parameters can be specified for contexts using the stream_context_set_params() function.

Stream Filters
Stream Errors
Streams


Stream Errors

As with any file or socket related function, an operation on a stream may fail for a variety of normal reasons (i.e.: Unable to connect to remote host, file not found, etc...). A stream related call may also fail because the desired stream is not registered on the running system. See the array returned by stream_get_wrappers() for a list of streams supported by your installation of PHP. As with most PHP internal functions if a failure occurs an E_WARNING message will be generated describing the nature of the error.

Stream Contexts
Beispiele
Streams


Beispiele

Inhaltsverzeichnis

  • Example class registered as stream wrapper

Beispiel #1 Using file_get_contents() to retrieve data from multiple sources

<?php
/* Read local file from /home/bar */
$localfile = file_get_contents("/home/bar/foo.txt");

/* Identical to above, explicitly naming FILE scheme */
$localfile = file_get_contents("file:///home/bar/foo.txt");

/* Read remote file from www.example.com using HTTP */
$httpfile  = file_get_contents("http://www.example.com/foo.txt");

/* Read remote file from www.example.com using HTTPS */
$httpsfile = file_get_contents("https://www.example.com/foo.txt");

/* Read remote file from ftp.example.com using FTP */
$ftpfile   = file_get_contents("ftp://user:pass@ftp.example.com/foo.txt");

/* Read remote file from ftp.example.com using FTPS */
$ftpsfile  = file_get_contents("ftps://user:pass@ftp.example.com/foo.txt");
?>

Beispiel #2 Making a POST request to an https server

<?php
/* Send POST request to https://secure.example.com/form_action.php
* Include form elements named "foo" and "bar" with dummy values
*/

$sock = fsockopen("ssl://secure.example.com", 443, $errno, $errstr, 30);
if (!$sock) die("$errstr ($errno)\n");

$data = "foo=" . urlencode("Value for Foo") . "&bar=" . urlencode("Value for Bar");

fwrite($sock, "POST /form_action.php HTTP/1.0\r\n");
fwrite($sock, "Host: secure.example.com\r\n");
fwrite($sock, "Content-type: application/x-www-form-urlencoded\r\n");
fwrite($sock, "Content-length: " . strlen($data) . "\r\n");
fwrite($sock, "Accept: */*\r\n");
fwrite($sock, "\r\n");
fwrite($sock, $data);

$headers = "";
while ($str = trim(fgets($sock, 4096)))
$headers .= "$str\n";

echo "\n";

$body = "";
while (!feof($sock))
$body .= fgets($sock, 4096);

fclose($sock);
?>

Beispiel #3 Writing data to a compressed file

<?php
/* Create a compressed file containing an arbitrarty string
* File can be read back using compress.zlib stream or just
* decompressed from the command line using 'gzip -d foo-bar.txt.gz'
*/
$fp = fopen("compress.zlib://foo-bar.txt.gz", "wb");
if (!$fp) die("Unable to create file.");

fwrite($fp, "This is a test.\n");

fclose($fp);
?>

Stream Errors
Example class registered as stream wrapper
Streams


Example class registered as stream wrapper

The example below implements a var:// protocol handler that allows read/write access to a named global variable using standard filesystem stream functions such as fread(). The var:// protocol implemented below, given the URL "var://foo" will read/write data to/from $GLOBALS["foo"].

Beispiel #1 A Stream for reading/writing global variables

<?php

class VariableStream {
    var $position;
    var $varname;

    function stream_open($path, $mode, $options, &$opened_path)
    {
        $url = parse_url($path);
        $this->varname = $url["host"];
        $this->position = 0;

        return true;
    }

    function stream_read($count)
    {
        $ret = substr($GLOBALS[$this->varname], $this->position, $count);
        $this->position += strlen($ret);
        return $ret;
    }

    function stream_write($data)
    {
        $left = substr($GLOBALS[$this->varname], 0, $this->position);
        $right = substr($GLOBALS[$this->varname], $this->position + strlen($data));
        $GLOBALS[$this->varname] = $left . $data . $right;
        $this->position += strlen($data);
        return strlen($data);
    }

    function stream_tell()
    {
        return $this->position;
    }

    function stream_eof()
    {
        return $this->position >= strlen($GLOBALS[$this->varname]);
    }

    function stream_seek($offset, $whence)
    {
        switch ($whence) {
            case SEEK_SET:
                if ($offset < strlen($GLOBALS[$this->varname]) && $offset >= 0) {
                     $this->position = $offset;
                     return true;
                } else {
                     return false;
                }
                break;

            case SEEK_CUR:
                if ($offset >= 0) {
                     $this->position += $offset;
                     return true;
                } else {
                     return false;
                }
                break;

            case SEEK_END:
                if (strlen($GLOBALS[$this->varname]) + $offset >= 0) {
                     $this->position = strlen($GLOBALS[$this->varname]) + $offset;
                     return true;
                } else {
                     return false;
                }
                break;

            default:
                return false;
        }
    }

    function stream_metadata($path, $option, $var)
    {
        if($option == STREAM_META_TOUCH) {
            $url = parse_url($path);
            $varname = $url["host"];
            if(!isset($GLOBALS[$varname])) {
                $GLOBALS[$varname] = '';
            }
            return true;
        }
        return false;
    }
}

stream_wrapper_register("var", "VariableStream")
    or die("Failed to register protocol");

$myvar = "";

$fp = fopen("var://myvar", "r+");

fwrite($fp, "line1\n");
fwrite($fp, "line2\n");
fwrite($fp, "line3\n");

rewind($fp);
while (!feof($fp)) {
    echo fgets($fp);
}
fclose($fp);
var_dump($myvar);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

line1
line2
line3
string(18) "line1
line2
line3
"

Beispiele
php_user_filter
Beispiele


The php_user_filter class

(PHP 5, PHP 7)

Einführung

Children of this class are passed to stream_filter_register().

Klassenbeschreibung

php_user_filter {
/* Eigenschaften */
public $filtername ;
public $params ;
/* Methoden */
public int filter ( resource $in , resource $out , int &$consumed , bool $closing )
public void onClose ( void )
public bool onCreate ( void )
}

Eigenschaften

filtername

Name of the filter registered by stream_filter_append().

params

Inhaltsverzeichnis

  • php_user_filter::filter — Called when applying the filter
  • php_user_filter::onClose — Called when closing the filter
  • php_user_filter::onCreate — Called when creating the filter
Example class registered as stream wrapper
php_user_filter::filter
Streams


Called when applying the filter

php_user_filter
php_user_filter::onClose
php_user_filter
PHP Manual

php_user_filter::filter

(PHP 5, PHP 7)

php_user_filter::filter — Called when applying the filter

Beschreibung

public int php_user_filter::filter ( resource $in , resource $out , int &$consumed , bool $closing )

This method is called whenever data is read from or written to the attached stream (such as with fread() or fwrite()).

Parameter-Liste

in

in is a resource pointing to a bucket brigade which contains one or more bucket objects containing data to be filtered.

out

out is a resource pointing to a second bucket brigade into which your modified buckets should be placed.

consumed

consumed, which must always be declared by reference, should be incremented by the length of the data which your filter reads in and alters. In most cases this means you will increment consumed by $bucket->datalen for each $bucket.

closing

If the stream is in the process of closing (and therefore this is the last pass through the filterchain), the closing parameter will be set to TRUE.

Rückgabewerte

The filter() method must return one of three values upon completion.

Return Value | Meaning
PSFS_PASS_ON | Filter processed successfully with data available in the out bucket brigade.
PSFS_FEED_ME | Filter processed successfully, however no data was available to return. More data is required from the stream or prior filter.
PSFS_ERR_FATAL (default) | The filter experienced an unrecoverable error and cannot continue.

php_user_filter
php_user_filter::onClose
php_user_filter


Called when closing the filter

php_user_filter::filter
php_user_filter::onCreate
php_user_filter
PHP Manual

php_user_filter::onClose

(PHP 5, PHP 7)

php_user_filter::onClose — Called when closing the filter

Beschreibung

public void php_user_filter::onClose ( void )

This method is called upon filter shutdown (typically, this is also during stream shutdown), and is executed after the flush method is called. If any resources were allocated or initialized during onCreate() this would be the time to destroy or dispose of them.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Return value is ignored.

php_user_filter::filter
php_user_filter::onCreate
php_user_filter


Called when creating the filter

php_user_filter::onClose
streamWrapper
php_user_filter
PHP Manual

php_user_filter::onCreate

(PHP 5, PHP 7)

php_user_filter::onCreate — Called when creating the filter

Beschreibung

public bool php_user_filter::onCreate ( void )

This method is called during instantiation of the filter class object. If your filter allocates or initializes any other resources (such as a buffer), this is the place to do it.

When your filter is first instantiated, and yourfilter->onCreate() is called, a number of properties will be available as shown in the table below.

Property | Contents
FilterClass->filtername | A string containing the name the filter was instantiated with. Filters may be registered under multiple names or under wildcards. Use this property to determine which name was used.
FilterClass->params | The contents of the params parameter passed to stream_filter_append() or stream_filter_prepend().
FilterClass->stream | The stream resource being filtered. Maybe available only during filter() calls when the closing parameter is set to FALSE.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Your implementation of this method should return FALSE on failure, or TRUE on success.

php_user_filter::onClose
streamWrapper
php_user_filter


The streamWrapper class

(PHP 4 >= 4.3.2, PHP 5, PHP 7)

Einführung

Allows you to implement your own protocol handlers and streams for use with all the other filesystem functions (such as fopen(), fread() etc.).

Hinweis:

This is NOT a real class, only a prototype of how a class defining its own protocol should be.

Hinweis:

Implementing the methods in other ways then described here can lead to undefined behaviour.

An instance of this class is initialized as soon as a stream function tries to access the protocol it is associated with.

Klassenbeschreibung

streamWrapper {
/* Eigenschaften */
public resource $context ;
/* Methoden */
__construct ( void )
__destruct ( void )
public bool dir_closedir ( void )
public bool dir_opendir ( string $path , int $options )
public string dir_readdir ( void )
public bool dir_rewinddir ( void )
public bool mkdir ( string $path , int $mode , int $options )
public bool rename ( string $path_from , string $path_to )
public bool rmdir ( string $path , int $options )
public resource stream_cast ( int $cast_as )
public void stream_close ( void )
public bool stream_eof ( void )
public bool stream_flush ( void )
public bool stream_lock ( int $operation )
public bool stream_metadata ( string $path , int $option , mixed $value )
public bool stream_open ( string $path , string $mode , int $options , string &$opened_path )
public string stream_read ( int $count )
public bool stream_seek ( int $offset , int $whence = SEEK_SET )
public bool stream_set_option ( int $option , int $arg1 , int $arg2 )
public array stream_stat ( void )
public int stream_tell ( void )
public bool stream_truncate ( int $new_size )
public int stream_write ( string $data )
public bool unlink ( string $path )
public array url_stat ( string $path , int $flags )
}

Eigenschaften

resource context

The current context, or NULL if no context was passed to the caller function.

Use the stream_context_get_options() to parse the context.

Hinweis:

This property must be public so PHP can populate it with the actual context resource.

Changelog

Version | Beschreibung
5.0.0 | Added the context property.

Siehe auch

  • Example class registered as stream wrapper
  • stream_wrapper_register()
  • stream_wrapper_unregister()
  • stream_wrapper_restore()

Inhaltsverzeichnis

  • streamWrapper::__construct — Constructs a new stream wrapper
  • streamWrapper::__destruct — Destructs an existing stream wrapper
  • streamWrapper::dir_closedir — Close directory handle
  • streamWrapper::dir_opendir — Open directory handle
  • streamWrapper::dir_readdir — Read entry from directory handle
  • streamWrapper::dir_rewinddir — Rewind directory handle
  • streamWrapper::mkdir — Create a directory
  • streamWrapper::rename — Renames a file or directory
  • streamWrapper::rmdir — Removes a directory
  • streamWrapper::stream_cast — Retrieve the underlaying resource
  • streamWrapper::stream_close — Close a resource
  • streamWrapper::stream_eof — Tests for end-of-file on a file pointer
  • streamWrapper::stream_flush — Flushes the output
  • streamWrapper::stream_lock — Advisory file locking
  • streamWrapper::stream_metadata — Change stream metadata
  • streamWrapper::stream_open — Opens file or URL
  • streamWrapper::stream_read — Read from stream
  • streamWrapper::stream_seek — Seeks to specific location in a stream
  • streamWrapper::stream_set_option — Change stream options
  • streamWrapper::stream_stat — Retrieve information about a file resource
  • streamWrapper::stream_tell — Retrieve the current position of a stream
  • streamWrapper::stream_truncate — Truncate stream
  • streamWrapper::stream_write — Write to stream
  • streamWrapper::unlink — Delete a file
  • streamWrapper::url_stat — Retrieve information about a file
php_user_filter::onCreate
streamWrapper::__construct
Streams


Constructs a new stream wrapper

streamWrapper
streamWrapper::__destruct
streamWrapper
PHP Manual

streamWrapper::__construct

(PHP 4 >= 4.3.2, PHP 5, PHP 7)

streamWrapper::__construct — Constructs a new stream wrapper

Beschreibung

streamWrapper::__construct ( void )

Called when opening the stream wrapper, right before streamWrapper::stream_open().

Parameter-Liste

Diese Funktion hat keine Parameter.

streamWrapper
streamWrapper::__destruct
streamWrapper


Destructs an existing stream wrapper

streamWrapper::__construct
streamWrapper::dir_closedir
streamWrapper
PHP Manual

streamWrapper::__destruct

(PHP 4 >= 4.3.2, PHP 5, PHP 7)

streamWrapper::__destruct — Destructs an existing stream wrapper

Beschreibung

streamWrapper::__destruct ( void )

Called when closing the stream wrapper, right before streamWrapper::stream_flush().

Parameter-Liste

Diese Funktion hat keine Parameter.

streamWrapper::__construct
streamWrapper::dir_closedir
streamWrapper


Close directory handle

streamWrapper::__destruct
streamWrapper::dir_opendir
streamWrapper
PHP Manual

streamWrapper::dir_closedir

(PHP 4 >= 4.3.2, PHP 5, PHP 7)

streamWrapper::dir_closedir — Close directory handle

Beschreibung

public bool streamWrapper::dir_closedir ( void )

This method is called in response to closedir().

Any resources which were locked, or allocated, during opening and use of the directory stream should be released.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • closedir() - Schließen eines Verzeichnis-Handles
  • streamWrapper::dir_opendir() - Open directory handle

streamWrapper::__destruct
streamWrapper::dir_opendir
streamWrapper


Open directory handle

streamWrapper::dir_closedir
streamWrapper::dir_readdir
streamWrapper
PHP Manual

streamWrapper::dir_opendir

(PHP 4 >= 4.3.2, PHP 5, PHP 7)

streamWrapper::dir_opendir — Open directory handle

Beschreibung

public bool streamWrapper::dir_opendir ( string $path , int $options )

This method is called in response to opendir().

Parameter-Liste

path

Specifies the URL that was passed to opendir().

Hinweis:

The URL can be broken apart with parse_url().

options

Whether or not to enforce safe_mode (0x04).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • opendir() - Öffnen eines Verzeichnis-Handles
  • streamWrapper::dir_closedir() - Close directory handle
  • parse_url() - Analysiert eine URL und gibt ihre Bestandteile zurück

streamWrapper::dir_closedir
streamWrapper::dir_readdir
streamWrapper


Read entry from directory handle

streamWrapper::dir_opendir
streamWrapper::dir_rewinddir
streamWrapper
PHP Manual

streamWrapper::dir_readdir

(PHP 4 >= 4.3.2, PHP 5, PHP 7)

streamWrapper::dir_readdir — Read entry from directory handle

Beschreibung

public string streamWrapper::dir_readdir ( void )

This method is called in response to readdir().

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Should return string representing the next filename, or FALSE if there is no next file.

Hinweis:

The return value will be casted to string.

Fehler/Exceptions

Wirft E_WARNING, wenn der Aufruf dieser Methode fehlschlug (z.B. weil sie nicht implementiert ist).

Beispiele

Beispiel #1 Listing files from tar archives

<?php
class streamWrapper {
    protected $fp;

    public function dir_opendir($path, $options) {
        $url = parse_url($path);

        $path = $url["host"] . $url["path"];

        if (!is_readable($path)) {
            trigger_error("$path isn't readable for me", E_USER_NOTICE);
            return false;
        }
        if (!is_file($path)) {
            trigger_error("$path isn't a file", E_USER_NOTICE);
            return false;
        }

        $this->fp = fopen($path, "rb");
        return true;
    }

    public function dir_readdir() {
        // Extract the header for this entry
        $header      = fread($this->fp, 512);
        $data = unpack("a100filename/a8mode/a8uid/a8gid/a12size/a12mtime/a8checksum/a1filetype/a100link/a100linkedfile", $header);

        // Trim the filename and filesize
        $filename    = trim($data["filename"]);

        // No filename? We are the end of the archive
        if (!$filename) {
            return false;
        }

        $octal_bytes = trim($data["size"]);
        // Filesize is defined in octects
        $bytes       = octdec($octal_bytes);

        // tar rounds up filesizes up to multiple of 512 bytes (zero filled)
        $rest        = $bytes % 512;
        if ($rest > 0) {
            $bytes      += 512 - $rest;
        }

        // Seek over the file
        fseek($this->fp, $bytes, SEEK_CUR);

        return $filename;
    }

    public function dir_closedir() {
        return fclose($this->fp);
    }

    public function dir_rewinddir() {
        return fseek($this->fp, 0, SEEK_SET);
    }
}

stream_wrapper_register("tar", "streamWrapper");
$handle = opendir("tar://example.tar");
while (false !== ($file = readdir($handle))) {
    var_dump($file);
}

echo "Rewinding..\n";
rewind($handle);
var_dump(readdir($handle));

closedir($handle);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(13) "construct.xml"
string(16) "dir-closedir.xml"
string(15) "dir-opendir.xml"
string(15) "dir-readdir.xml"
string(17) "dir-rewinddir.xml"
string(9) "mkdir.xml"
string(10) "rename.xml"
string(9) "rmdir.xml"
string(15) "stream-cast.xml"
string(16) "stream-close.xml"
string(14) "stream-eof.xml"
string(16) "stream-flush.xml"
string(15) "stream-lock.xml"
string(15) "stream-open.xml"
string(15) "stream-read.xml"
string(15) "stream-seek.xml"
string(21) "stream-set-option.xml"
string(15) "stream-stat.xml"
string(15) "stream-tell.xml"
string(16) "stream-write.xml"
string(10) "unlink.xml"
string(12) "url-stat.xml"
Rewinding..
string(13) "construct.xml"

Siehe auch

  • readdir() - Liest einen Eintrag aus einem Verzeichnis-Handle

streamWrapper::dir_opendir
streamWrapper::dir_rewinddir
streamWrapper


Rewind directory handle

streamWrapper::dir_readdir
streamWrapper::mkdir
streamWrapper
PHP Manual

streamWrapper::dir_rewinddir

(PHP 4 >= 4.3.2, PHP 5, PHP 7)

streamWrapper::dir_rewinddir — Rewind directory handle

Beschreibung

public bool streamWrapper::dir_rewinddir ( void )

This method is called in response to rewinddir().

Should reset the output generated by streamWrapper::dir_readdir(). i.e.: The next call to streamWrapper::dir_readdir() should return the first entry in the location returned by streamWrapper::dir_opendir().

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • rewinddir() - Zurücksetzen des Verzeichnis-Handles
  • streamWrapper::dir_readdir() - Read entry from directory handle

streamWrapper::dir_readdir
streamWrapper::mkdir
streamWrapper


Create a directory

streamWrapper::dir_rewinddir
streamWrapper::rename
streamWrapper
PHP Manual

streamWrapper::mkdir

(PHP 5, PHP 7)

streamWrapper::mkdir — Create a directory

Beschreibung

public bool streamWrapper::mkdir ( string $path , int $mode , int $options )

This method is called in response to mkdir().

Hinweis:

In order for the appropriate error message to be returned this method should not be defined if the wrapper does not support creating directories.

Parameter-Liste

path

Directory which should be created.

mode

The value passed to mkdir().

options

A bitwise mask of values, such as STREAM_MKDIR_RECURSIVE.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Wirft E_WARNING, wenn der Aufruf dieser Methode fehlschlug (z.B. weil sie nicht implementiert ist).

Anmerkungen

Hinweis:

Die streamWrapper::$context-Eigenschaft wird, wenn verfügbar, aktualisiert, wenn der aufrufenden Funktion ein gültiger Kontext übergeben wurde.

Siehe auch

  • mkdir() - Erstellt ein Verzeichnis
  • streamwrapper::rmdir() - Removes a directory

streamWrapper::dir_rewinddir
streamWrapper::rename
streamWrapper


Renames a file or directory

streamWrapper::mkdir
streamWrapper::rmdir
streamWrapper
PHP Manual

streamWrapper::rename

(PHP 5, PHP 7)

streamWrapper::rename — Renames a file or directory

Beschreibung

public bool streamWrapper::rename ( string $path_from , string $path_to )

This method is called in response to rename().

Should attempt to rename path_from to path_to

Hinweis:

In order for the appropriate error message to be returned this method should not be defined if the wrapper does not support renaming files.

Parameter-Liste

path_from

The URL to the current file.

path_to

The URL which the path_from should be renamed to.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Wirft E_WARNING, wenn der Aufruf dieser Methode fehlschlug (z.B. weil sie nicht implementiert ist).

Anmerkungen

Hinweis:

Die streamWrapper::$context-Eigenschaft wird, wenn verfügbar, aktualisiert, wenn der aufrufenden Funktion ein gültiger Kontext übergeben wurde.

Siehe auch

  • rename() - Benennt eine Datei oder ein Verzeichnis um

streamWrapper::mkdir
streamWrapper::rmdir
streamWrapper


Removes a directory

streamWrapper::rename
streamWrapper::stream_cast
streamWrapper
PHP Manual

streamWrapper::rmdir

(PHP 5, PHP 7)

streamWrapper::rmdir — Removes a directory

Beschreibung

public bool streamWrapper::rmdir ( string $path , int $options )

This method is called in response to rmdir().

Hinweis:

In order for the appropriate error message to be returned this method should not be defined if the wrapper does not support removing directories.

Parameter-Liste

path

The directory URL which should be removed.

options

A bitwise mask of values, such as STREAM_MKDIR_RECURSIVE.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Wirft E_WARNING, wenn der Aufruf dieser Methode fehlschlug (z.B. weil sie nicht implementiert ist).

Anmerkungen

Hinweis:

Die streamWrapper::$context-Eigenschaft wird, wenn verfügbar, aktualisiert, wenn der aufrufenden Funktion ein gültiger Kontext übergeben wurde.

Siehe auch

  • rmdir() - Löscht ein Verzeichnis
  • streamwrapper::mkdir() - Create a directory
  • streamwrapper::unlink() - Delete a file

streamWrapper::rename
streamWrapper::stream_cast
streamWrapper


Retrieve the underlaying resource

streamWrapper::rmdir
streamWrapper::stream_close
streamWrapper
PHP Manual

streamWrapper::stream_cast

(PHP 5 >= 5.3.0, PHP 7)

streamWrapper::stream_cast — Retrieve the underlaying resource

Beschreibung

public resource streamWrapper::stream_cast ( int $cast_as )

This method is called in response to stream_select().

Parameter-Liste

cast_as

Can be STREAM_CAST_FOR_SELECT when stream_select() is calling stream_cast() or STREAM_CAST_AS_STREAM when stream_cast() is called for other uses.

Rückgabewerte

Should return the underlying stream resource used by the wrapper, or FALSE.

Siehe auch

  • stream_select() - Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec

streamWrapper::rmdir
streamWrapper::stream_close
streamWrapper


Close a resource

streamWrapper::stream_cast
streamWrapper::stream_eof
streamWrapper
PHP Manual

streamWrapper::stream_close

(PHP 4 >= 4.3.2, PHP 5, PHP 7)

streamWrapper::stream_close — Close a resource

Beschreibung

public void streamWrapper::stream_close ( void )

This method is called in response to fclose().

All resources that were locked, or allocated, by the wrapper should be released.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • fclose() - Schließt einen offenen Dateizeiger
  • streamWrapper::dir_closedir() - Close directory handle

streamWrapper::stream_cast
streamWrapper::stream_eof
streamWrapper


Tests for end-of-file on a file pointer

streamWrapper::stream_close
streamWrapper::stream_flush
streamWrapper
PHP Manual

streamWrapper::stream_eof

(PHP 4 >= 4.3.2, PHP 5, PHP 7)

streamWrapper::stream_eof — Tests for end-of-file on a file pointer

Beschreibung

public bool streamWrapper::stream_eof ( void )

This method is called in response to feof().

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Should return TRUE if the read/write position is at the end of the stream and if no more data is available to be read, or FALSE otherwise.

Anmerkungen

Warnung

When reading the whole file (for example, with file_get_contents()), PHP will call streamWrapper::stream_read() followed by streamWrapper::stream_eof() in a loop but as long as streamWrapper::stream_read() returns a non-empty string, the return value of streamWrapper::stream_eof() is ignored.

Siehe auch

  • feof() - Prüft, ob ein Dateizeiger am Ende der Datei steht

streamWrapper::stream_close
streamWrapper::stream_flush
streamWrapper


Flushes the output

streamWrapper::stream_eof
streamWrapper::stream_lock
streamWrapper
PHP Manual

streamWrapper::stream_flush

(PHP 4 >= 4.3.2, PHP 5, PHP 7)

streamWrapper::stream_flush — Flushes the output

Beschreibung

public bool streamWrapper::stream_flush ( void )

This method is called in response to fflush() and when the stream is being closed while any unflushed data has been written to it before.

If you have cached data in your stream but not yet stored it into the underlying storage, you should do so now.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Should return TRUE if the cached data was successfully stored (or if there was no data to store), or FALSE if the data could not be stored.

Anmerkungen

Hinweis:

If not implemented, FALSE is assumed as the return value.

Siehe auch

  • fflush() - Schreibt den Ausgabepuffer in eine Datei

streamWrapper::stream_eof
streamWrapper::stream_lock
streamWrapper


Advisory file locking

streamWrapper::stream_flush
streamWrapper::stream_metadata
streamWrapper
PHP Manual

streamWrapper::stream_lock

(PHP 5, PHP 7)

streamWrapper::stream_lock — Advisory file locking

Beschreibung

public bool streamWrapper::stream_lock ( int $operation )

This method is called in response to flock(), when file_put_contents() (when flags contains LOCK_EX), stream_set_blocking() and when closing the stream (LOCK_UN).

Parameter-Liste

operation

operation is one of the following:

  • LOCK_SH to acquire a shared lock (reader).
  • LOCK_EX to acquire an exclusive lock (writer).
  • LOCK_UN to release a lock (shared or exclusive).
  • LOCK_NB if you don't want flock() to block while locking. (not supported on Windows)

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Emits E_WARNING if call to this method fails (i.e. not implemented).

Siehe auch

  • stream_set_blocking() - Set blocking/non-blocking mode on a stream
  • flock() - Portables Datei-Sperr-Verfahren (advisory locking)

streamWrapper::stream_flush
streamWrapper::stream_metadata
streamWrapper


Change stream metadata

streamWrapper::stream_lock
streamWrapper::stream_open
streamWrapper
PHP Manual

streamWrapper::stream_metadata

(PHP 5 >= 5.4.0, PHP 7)

streamWrapper::stream_metadata — Change stream metadata

Beschreibung

public bool streamWrapper::stream_metadata ( string $path , int $option , mixed $value )

This method is called to set metadata on the stream. It is called when one of the following functions is called on a stream URL:

  • touch()
  • chmod()
  • chown()
  • chgrp()
Please note that some of these operations may not be available on your system.

Parameter-Liste

path

The file path or URL to set metadata. Note that in the case of a URL, it must be a :// delimited URL. Other URL forms are not supported.

option

One of:

  • STREAM_META_TOUCH (The method was called in response to touch())
  • STREAM_META_OWNER_NAME (The method was called in response to chown() with string parameter)
  • STREAM_META_OWNER (The method was called in response to chown())
  • STREAM_META_GROUP_NAME (The method was called in response to chgrp())
  • STREAM_META_GROUP (The method was called in response to chgrp())
  • STREAM_META_ACCESS (The method was called in response to chmod())

value

If option is

  • STREAM_META_TOUCH: Array consisting of two arguments of the touch() function.
  • STREAM_META_OWNER_NAME or STREAM_META_GROUP_NAME: The name of the owner user/group as string.
  • STREAM_META_OWNER or STREAM_META_GROUP: The value owner user/group argument as integer.
  • STREAM_META_ACCESS: The argument of the chmod() as integer.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. If option is not implemented, FALSE should be returned.

Siehe auch

  • touch() - Setzt die Zugriffs- und Modifikationszeit einer Datei
  • chmod() - Ändert die Zugriffsrechte einer Datei
  • chown() - Ändert den Eigentümer einer Datei
  • chgrp() - Wechselt die Gruppenzugehörigkeit einer Datei

streamWrapper::stream_lock
streamWrapper::stream_open
streamWrapper


Opens file or URL

streamWrapper::stream_metadata
streamWrapper::stream_read
streamWrapper
PHP Manual

streamWrapper::stream_open

(PHP 4 >= 4.3.2, PHP 5, PHP 7)

streamWrapper::stream_open — Opens file or URL

Beschreibung

public bool streamWrapper::stream_open ( string $path , string $mode , int $options , string &$opened_path )

This method is called immediately after the wrapper is initialized (f.e. by fopen() and file_get_contents()).

Parameter-Liste

path

Specifies the URL that was passed to the original function.

Hinweis:

The URL can be broken apart with parse_url(). Note that only URLs delimited by :// are supported. : and :/ while technically valid URLs, are not.

mode

The mode used to open the file, as detailed for fopen().

Hinweis:

Remember to check if the mode is valid for the path requested.

options

Holds additional flags set by the streams API. It can hold one or more of the following values OR'd together.

Flag | Description
STREAM_USE_PATH | If path is relative, search for the resource using the include_path.
STREAM_REPORT_ERRORS | If this flag is set, you are responsible for raising errors using trigger_error() during opening of the stream. If this flag is not set, you should not raise any errors.

opened_path

If the path is opened successfully, and STREAM_USE_PATH is set in options, opened_path should be set to the full path of the file/resource that was actually opened.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Wirft E_WARNING, wenn der Aufruf dieser Methode fehlschlug (z.B. weil sie nicht implementiert ist).

Anmerkungen

Hinweis:

Die streamWrapper::$context-Eigenschaft wird, wenn verfügbar, aktualisiert, wenn der aufrufenden Funktion ein gültiger Kontext übergeben wurde.

Siehe auch

  • fopen() - Öffnet eine Datei oder URL
  • parse_url() - Analysiert eine URL und gibt ihre Bestandteile zurück

streamWrapper::stream_metadata
streamWrapper::stream_read
streamWrapper


Read from stream

streamWrapper::stream_open
streamWrapper::stream_seek
streamWrapper
PHP Manual

streamWrapper::stream_read

(PHP 4 >= 4.3.2, PHP 5, PHP 7)

streamWrapper::stream_read — Read from stream

Beschreibung

public string streamWrapper::stream_read ( int $count )

This method is called in response to fread() and fgets().

Hinweis:

Remember to update the read/write position of the stream (by the number of bytes that were successfully read).

Parameter-Liste

count

How many bytes of data from the current position should be returned.

Rückgabewerte

If there are less than count bytes available, return as many as are available. If no more data is available, return either FALSE or an empty string.

Fehler/Exceptions

Wirft E_WARNING, wenn der Aufruf dieser Methode fehlschlug (z.B. weil sie nicht implementiert ist).

Hinweis:

If the return value is longer then count an E_WARNING error will be emitted, and excess data will be lost.

Anmerkungen

Hinweis:

streamWrapper::stream_eof() is called directly after calling streamWrapper::stream_read() to check if EOF has been reached. If not implemented, EOF is assumed.

Warnung

When reading the whole file (for example, with file_get_contents()), PHP will call streamWrapper::stream_read() followed by streamWrapper::stream_eof() in a loop but as long as streamWrapper::stream_read() returns a non-empty string, the return value of streamWrapper::stream_eof() is ignored.

Siehe auch

  • fread() - Liest Binärdaten aus einer Datei
  • fgets() - Liest eine Zeile von der Position des Dateizeigers

streamWrapper::stream_open
streamWrapper::stream_seek
streamWrapper


Seeks to specific location in a stream

streamWrapper::stream_read
streamWrapper::stream_set_option
streamWrapper
PHP Manual

streamWrapper::stream_seek

(PHP 4 >= 4.3.2, PHP 5, PHP 7)

streamWrapper::stream_seek — Seeks to specific location in a stream

Beschreibung

public bool streamWrapper::stream_seek ( int $offset , int $whence = SEEK_SET )

This method is called in response to fseek().

The read/write position of the stream should be updated according to the offset and whence.

Parameter-Liste

offset

The stream offset to seek to.

whence

Possible values:

  • SEEK_SET - Set position equal to offset bytes.
  • SEEK_CUR - Set position to current location plus offset.
  • SEEK_END - Set position to end-of-file plus offset.

Rückgabewerte

Return TRUE if the position was updated, FALSE otherwise.

Anmerkungen

Hinweis:

If not implemented, FALSE is assumed as the return value.

Hinweis:

Upon success,
streamWrapper::stream_tell() is called directly after
calling streamWrapper::stream_seek(). If
streamWrapper::stream_tell() fails, the return
value to the caller function will be set to FALSE

Hinweis:

Not all seeks operations on the stream will result in this function being called. PHP streams have read buffering enabled by default (see also stream_set_read_buffer()) and seeking may be done by merely moving the buffer pointer.

Siehe auch

  • fseek() - Positioniert den Dateizeiger

streamWrapper::stream_read
streamWrapper::stream_set_option
streamWrapper


Change stream options

streamWrapper::stream_seek
streamWrapper::stream_stat
streamWrapper
PHP Manual

streamWrapper::stream_set_option

(PHP 5 >= 5.3.0, PHP 7)

streamWrapper::stream_set_option — Change stream options

Beschreibung

public bool streamWrapper::stream_set_option ( int $option , int $arg1 , int $arg2 )

This method is called to set options on the stream.

Parameter-Liste

option

One of:

  • STREAM_OPTION_BLOCKING (The method was called in response to stream_set_blocking())
  • STREAM_OPTION_READ_TIMEOUT (The method was called in response to stream_set_timeout())
  • STREAM_OPTION_WRITE_BUFFER (The method was called in response to stream_set_write_buffer())

arg1

If option is

  • STREAM_OPTION_BLOCKING: requested blocking mode (1 meaning block 0 not blocking).
  • STREAM_OPTION_READ_TIMEOUT: the timeout in seconds.
  • STREAM_OPTION_WRITE_BUFFER: buffer mode (STREAM_BUFFER_NONE or STREAM_BUFFER_FULL).

arg2

If option is

  • STREAM_OPTION_BLOCKING: This option is not set.
  • STREAM_OPTION_READ_TIMEOUT: the timeout in microseconds.
  • STREAM_OPTION_WRITE_BUFFER: the requested buffer size.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. If option is not implemented, FALSE should be returned.

Siehe auch

  • stream_set_blocking() - Set blocking/non-blocking mode on a stream
  • stream_set_timeout() - Set timeout period on a stream
  • stream_set_write_buffer() - Sets write file buffering on the given stream

streamWrapper::stream_seek
streamWrapper::stream_stat
streamWrapper


Retrieve information about a file resource

streamWrapper::stream_set_option
streamWrapper::stream_tell
streamWrapper
PHP Manual

streamWrapper::stream_stat

(PHP 4 >= 4.3.2, PHP 5, PHP 7)

streamWrapper::stream_stat — Retrieve information about a file resource

Beschreibung

public array streamWrapper::stream_stat ( void )

This method is called in response to fstat().

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

See stat().

Fehler/Exceptions

Wirft E_WARNING, wenn der Aufruf dieser Methode fehlschlug (z.B. weil sie nicht implementiert ist).

Siehe auch

  • stat() - Sammelt Informationen über eine Datei
  • streamwrapper::url_stat() - Retrieve information about a file

streamWrapper::stream_set_option
streamWrapper::stream_tell
streamWrapper


Retrieve the current position of a stream

streamWrapper::stream_stat
streamWrapper::stream_truncate
streamWrapper
PHP Manual

streamWrapper::stream_tell

(PHP 4 >= 4.3.2, PHP 5, PHP 7)

streamWrapper::stream_tell — Retrieve the current position of a stream

Beschreibung

public int streamWrapper::stream_tell ( void )

This method is called in response to fseek() to determine the current position.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Should return the current position of the stream.

Siehe auch

  • streamWrapper::stream_tell()

streamWrapper::stream_stat
streamWrapper::stream_truncate
streamWrapper


Truncate stream

streamWrapper::stream_tell
streamWrapper::stream_write
streamWrapper
PHP Manual

streamWrapper::stream_truncate

(PHP 5 >= 5.4.0, PHP 7)

streamWrapper::stream_truncate — Truncate stream

Beschreibung

public bool streamWrapper::stream_truncate ( int $new_size )

Will respond to truncation, e.g., through ftruncate().

Parameter-Liste

new_size

The new size.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ftruncate() - Kürzt eine Datei auf die angegebene Länge

streamWrapper::stream_tell
streamWrapper::stream_write
streamWrapper


Write to stream

streamWrapper::stream_truncate
streamWrapper::unlink
streamWrapper
PHP Manual

streamWrapper::stream_write

(PHP 4 >= 4.3.2, PHP 5, PHP 7)

streamWrapper::stream_write — Write to stream

Beschreibung

public int streamWrapper::stream_write ( string $data )

This method is called in response to fwrite().

Hinweis:

Remember to update the current position of the stream by number of bytes that were successfully written.

Parameter-Liste

data

Should be stored into the underlying stream.

Hinweis:

If there is not enough room in the underlying stream, store as much as possible.

Rückgabewerte

Should return the number of bytes that were successfully stored, or 0 if none could be stored.

Fehler/Exceptions

Wirft E_WARNING, wenn der Aufruf dieser Methode fehlschlug (z.B. weil sie nicht implementiert ist).

Hinweis:

If the return value is greater the length of data, E_WARNING will be emitted and the return value will truncated to its length.

Siehe auch

  • fwrite() - Binär-sicheres Dateischreiben

streamWrapper::stream_truncate
streamWrapper::unlink
streamWrapper


Delete a file

streamWrapper::stream_write
streamWrapper::url_stat
streamWrapper
PHP Manual

streamWrapper::unlink

(PHP 5, PHP 7)

streamWrapper::unlink — Delete a file

Beschreibung

public bool streamWrapper::unlink ( string $path )

This method is called in response to unlink().

Hinweis:

In order for the appropriate error message to be returned this method should not be defined if the wrapper does not support removing files.

Parameter-Liste

path

The file URL which should be deleted.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Wirft E_WARNING, wenn der Aufruf dieser Methode fehlschlug (z.B. weil sie nicht implementiert ist).

Anmerkungen

Hinweis:

Die streamWrapper::$context-Eigenschaft wird, wenn verfügbar, aktualisiert, wenn der aufrufenden Funktion ein gültiger Kontext übergeben wurde.

Siehe auch

  • unlink() - Löscht eine Datei
  • streamWrapper::rmdir() - Removes a directory

streamWrapper::stream_write
streamWrapper::url_stat
streamWrapper


Retrieve information about a file

streamWrapper::unlink
Stream Funktionen
streamWrapper
PHP Manual

streamWrapper::url_stat

(PHP 4 >= 4.3.2, PHP 5, PHP 7)

streamWrapper::url_stat — Retrieve information about a file

Beschreibung

public array streamWrapper::url_stat ( string $path , int $flags )

This method is called in response to all stat() related functions, such as:

  • chmod() (only when safe_mode is enabled)
  • copy()
  • fileperms()
  • fileinode()
  • filesize()
  • fileowner()
  • filegroup()
  • fileatime()
  • filemtime()
  • filectime()
  • filetype()
  • is_writable()
  • is_readable()
  • is_executable()
  • is_file()
  • is_dir()
  • is_link()
  • file_exists()
  • lstat()
  • stat()
  • SplFileInfo::getPerms()
  • SplFileInfo::getInode()
  • SplFileInfo::getSize()
  • SplFileInfo::getOwner()
  • SplFileInfo::getGroup()
  • SplFileInfo::getATime()
  • SplFileInfo::getMTime()
  • SplFileInfo::getCTime()
  • SplFileInfo::getType()
  • SplFileInfo::isWritable()
  • SplFileInfo::isReadable()
  • SplFileInfo::isExecutable()
  • SplFileInfo::isFile()
  • SplFileInfo::isDir()
  • SplFileInfo::isLink()
  • RecursiveDirectoryIterator::hasChildren()

Parameter-Liste

path

The file path or URL to stat. Note that in the case of a URL, it must be a :// delimited URL. Other URL forms are not supported.

flags

Holds additional flags set by the streams API. It can hold one or more of the following values OR'd together.

Flag | Description
STREAM_URL_STAT_LINK | For resources with the ability to link to other resource (such as an HTTP Location: forward, or a filesystem symlink). This flag specified that only information about the link itself should be returned, not the resource pointed to by the link. This flag is set in response to calls to lstat(), is_link(), or filetype().
STREAM_URL_STAT_QUIET | If this flag is set, your wrapper should not raise any errors. If this flag is not set, you are responsible for reporting errors using the trigger_error() function during stating of the path.

Rückgabewerte

Should return as many elements as stat() does. Unknown or unavailable values should be set to a rational value (usually 0).

Fehler/Exceptions

Wirft E_WARNING, wenn der Aufruf dieser Methode fehlschlug (z.B. weil sie nicht implementiert ist).

Anmerkungen

Hinweis:

Die streamWrapper::$context-Eigenschaft wird, wenn verfügbar, aktualisiert, wenn der aufrufenden Funktion ein gültiger Kontext übergeben wurde.

Siehe auch

  • stat() - Sammelt Informationen über eine Datei
  • streamwrapper::stream_stat() - Retrieve information about a file resource

streamWrapper::unlink
Stream Funktionen
streamWrapper


Stream Funktionen

Inhaltsverzeichnis

  • set_socket_blocking — Alias von stream_set_blocking
  • stream_bucket_append — Append bucket to brigade
  • stream_bucket_make_writeable — Return a bucket object from the brigade for operating on
  • stream_bucket_new — Create a new bucket for use on the current stream
  • stream_bucket_prepend — Prepend bucket to brigade
  • stream_context_create — Creates a stream context
  • stream_context_get_default — Retrieve the default stream context
  • stream_context_get_options — Retrieve options for a stream/wrapper/context
  • stream_context_get_params — Retrieves parameters from a context
  • stream_context_set_default — Set the default stream context
  • stream_context_set_option — Sets an option for a stream/wrapper/context
  • stream_context_set_params — Set parameters for a stream/wrapper/context
  • stream_copy_to_stream — Copies data from one stream to another
  • stream_encoding — Set character set for stream encoding
  • stream_filter_append — Attach a filter to a stream
  • stream_filter_prepend — Attach a filter to a stream
  • stream_filter_register — Register a user defined stream filter
  • stream_filter_remove — Remove a filter from a stream
  • stream_get_contents — Reads remainder of a stream into a string
  • stream_get_filters — Retrieve list of registered filters
  • stream_get_line — Gets line from stream resource up to a given delimiter
  • stream_get_meta_data — Retrieves header/meta data from streams/file pointers
  • stream_get_transports — Retrieve list of registered socket transports
  • stream_get_wrappers — Retrieve list of registered streams
  • stream_is_local — Checks if a stream is a local stream
  • stream_notification_callback — A callback function for the notification context parameter
  • stream_register_wrapper — Alias von stream_wrapper_register
  • stream_resolve_include_path — Resolve filename against the include path
  • stream_select — Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec
  • stream_set_blocking — Set blocking/non-blocking mode on a stream
  • stream_set_chunk_size — Set the stream chunk size
  • stream_set_read_buffer — Set read file buffering on the given stream
  • stream_set_timeout — Set timeout period on a stream
  • stream_set_write_buffer — Sets write file buffering on the given stream
  • stream_socket_accept — Accept a connection on a socket created by stream_socket_server
  • stream_socket_client — Open Internet or Unix domain socket connection
  • stream_socket_enable_crypto — Turns encryption on/off on an already connected socket
  • stream_socket_get_name — Retrieve the name of the local or remote sockets
  • stream_socket_pair — Creates a pair of connected, indistinguishable socket streams
  • stream_socket_recvfrom — Receives data from a socket, connected or not
  • stream_socket_sendto — Sends a message to a socket, whether it is connected or not
  • stream_socket_server — Create an Internet or Unix domain server socket
  • stream_socket_shutdown — Shutdown a full-duplex connection
  • stream_supports_lock — Tells whether the stream supports locking.
  • stream_wrapper_register — Register a URL wrapper implemented as a PHP class
  • stream_wrapper_restore — Restores a previously unregistered built-in wrapper
  • stream_wrapper_unregister — Unregister a URL wrapper
streamWrapper::url_stat
set_socket_blocking
Streams


Alias von stream_set_blocking

Stream Funktionen
stream_bucket_append
Stream Funktionen
PHP Manual

set_socket_blocking

(PHP 4, PHP 5)

set_socket_blocking — Alias von stream_set_blocking()

Warnung

Dieser Alias ist seit PHP 5.3.0 DEPRECATED (veraltet) und seit PHP 7.0.0 ENTFERNT.

Beschreibung

Diese Funktion ist ein Alias für: stream_set_blocking()

Stream Funktionen
stream_bucket_append
Stream Funktionen


Append bucket to brigade

set_socket_blocking
stream_bucket_make_writeable
Stream Funktionen
PHP Manual

stream_bucket_append

(PHP 5, PHP 7)

stream_bucket_append — Append bucket to brigade

Beschreibung

void stream_bucket_append ( resource $brigade , object $bucket )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

set_socket_blocking
stream_bucket_make_writeable
Stream Funktionen


Return a bucket object from the brigade for operating on

stream_bucket_append
stream_bucket_new
Stream Funktionen
PHP Manual

stream_bucket_make_writeable

(PHP 5, PHP 7)

stream_bucket_make_writeable — Return a bucket object from the brigade for operating on

Beschreibung

object stream_bucket_make_writeable ( resource $brigade )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

stream_bucket_append
stream_bucket_new
Stream Funktionen


Create a new bucket for use on the current stream

stream_bucket_make_writeable
stream_bucket_prepend
Stream Funktionen
PHP Manual

stream_bucket_new

(PHP 5, PHP 7)

stream_bucket_new — Create a new bucket for use on the current stream

Beschreibung

object stream_bucket_new ( resource $stream , string $buffer )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

stream_bucket_make_writeable
stream_bucket_prepend
Stream Funktionen


Prepend bucket to brigade

stream_bucket_new
stream_context_create
Stream Funktionen
PHP Manual

stream_bucket_prepend

(PHP 5, PHP 7)

stream_bucket_prepend — Prepend bucket to brigade

Beschreibung

void stream_bucket_prepend ( resource $brigade , object $bucket )

This function can be called to prepend a bucket to a bucket brigade. It is typically called from php_user_filter::filter().

Parameter-Liste

brigade

brigade is a resource pointing to a bucket brigade which contains one or more bucket objects.

bucket

A bucket object.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 stream_bucket_prepend() examples

<?php

class foo extends php_user_filter {
  protected $calls = 0;
  public function filter($in, $out, &$consumed, $closing) {
    while ($bucket = stream_bucket_make_writeable($in)) {
      $consumed += $bucket->datalen;
      if ($this->calls++ == 2) {
        // This bucket will appear again before any other bucket.
        stream_bucket_prepend($in, $bucket);
      }
    }
    return PSFS_FEED_ME;
  }
}
stream_filter_register('test', 'foo');
print  file_get_contents('php://filter/read=test/resource=foo');
?>

stream_bucket_new
stream_context_create
Stream Funktionen


Creates a stream context

stream_bucket_prepend
stream_context_get_default
Stream Funktionen
PHP Manual

stream_context_create

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

stream_context_create — Creates a stream context

Beschreibung

resource stream_context_create ([ array $options [, array $params ]] )

Creates and returns a stream context with any options supplied in options preset.

Parameter-Liste

options

Must be an associative array of associative arrays in the format $arr['wrapper']['option'] = $value. Refer to context options for a list of available wrappers and options.

Default to an empty array.

params

Must be an associative array in the format $arr['parameter'] = $value. Refer to context parameters for a listing of standard stream parameters.

Rückgabewerte

A stream context resource.

Changelog

Version | Beschreibung
5.3.0 | Added the optional params argument.

Beispiele

Beispiel #1 Using stream_context_create()

<?php
$opts = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: en\r\n" .
              "Cookie: foo=bar\r\n"
  )
);

$context = stream_context_create($opts);

/* Sends an http request to www.example.com
   with additional headers shown above */
$fp = fopen('http://www.example.com', 'r', false, $context);
fpassthru($fp);
fclose($fp);
?>

Siehe auch

  • stream_context_set_option() - Sets an option for a stream/wrapper/context
  • Listing of supported wrappers (Unterstützte Protokolle und Wrapper)
  • Context options (Kontextoptionen und -parameter)
stream_bucket_prepend
stream_context_get_default
Stream Funktionen


Retrieve the default stream context

stream_context_create
stream_context_get_options
Stream Funktionen
PHP Manual

stream_context_get_default

(PHP 5 >= 5.1.0, PHP 7)

stream_context_get_default — Retrieve the default stream context

Beschreibung

resource stream_context_get_default ([ array $options ] )

Returns the default stream context which is used whenever file operations (fopen(), file_get_contents(), etc...) are called without a context parameter. Options for the default context can optionally be specified with this function using the same syntax as stream_context_create().

Parameter-Liste

options
options must be an associative array of associative arrays in the format $arr['wrapper']['option'] = $value.

Hinweis:

As of PHP 5.3.0, the stream_context_set_default() function can be used to set the default context.

Rückgabewerte

A stream context resource.

Beispiele

Beispiel #1 Using stream_context_get_default()

<?php
$default_opts = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: en\r\n" .
              "Cookie: foo=bar",
    'proxy'=>"tcp://10.54.1.39:8000"
  )
);

$alternate_opts = array(
  'http'=>array(
    'method'=>"POST",
    'header'=>"Content-type: application/x-www-form-urlencoded\r\n" .
              "Content-length: " . strlen("baz=bomb"),
    'content'=>"baz=bomb"
  )
);

$default = stream_context_get_default($default_opts);
$alternate = stream_context_create($alternate_opts);

/* Sends a regular GET request to proxy server at 10.54.1.39
 * For www.example.com using context options specified in $default_opts
 */
readfile('http://www.example.com');

/* Sends a POST request directly to www.example.com
 * Using context options specified in $alternate_opts
 */
readfile('http://www.example.com', false, $alternate);

?>

Siehe auch

  • stream_context_create() - Creates a stream context
  • Listing of supported wrappers with context options (Unterstützte Protokolle und Wrapper).

stream_context_create
stream_context_get_options
Stream Funktionen


Retrieve options for a stream/wrapper/context

stream_context_get_default
stream_context_get_params
Stream Funktionen
PHP Manual

stream_context_get_options

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

stream_context_get_options — Retrieve options for a stream/wrapper/context

Beschreibung

array stream_context_get_options ( resource $stream_or_context )

Returns an array of options on the specified stream or context.

Parameter-Liste

stream_or_context

The stream or context to get options from

Rückgabewerte

Returns an associative array with the options.

Beispiele

Beispiel #1 stream_context_get_options() example

<?php
$params = array("method" => "POST");

stream_context_set_default(array("http" => $params));

var_dump(stream_context_get_options(stream_context_get_default()));

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(1) {
  ["http"]=>
  array(1) {
    ["method"]=>
    string(4) "POST"
  }
}

stream_context_get_default
stream_context_get_params
Stream Funktionen


Retrieves parameters from a context

stream_context_get_options
stream_context_set_default
Stream Funktionen
PHP Manual

stream_context_get_params

(PHP 5 >= 5.3.0, PHP 7)

stream_context_get_params — Retrieves parameters from a context

Beschreibung

array stream_context_get_params ( resource $stream_or_context )

Retrieves parameter and options information from the stream or context.

Parameter-Liste

stream_or_context

A stream resource or a context resource

Rückgabewerte

Returns an associate array containing all context options and parameters.

Beispiele

Beispiel #1 stream_context_get_params() example

Basic usage example

<?php
$ctx = stream_context_create();
$params = array("notification" => "stream_notification_callback");
stream_context_set_params($ctx, $params);

var_dump(stream_context_get_params($ctx));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(2) {
  ["notification"]=>
  string(28) "stream_notification_callback"
  ["options"]=>
  array(0) {
  }
}

Siehe auch

  • stream_context_set_option() - Sets an option for a stream/wrapper/context
  • stream_context_get_params()
  • stream_context_set_params() - Set parameters for a stream/wrapper/context

stream_context_get_options
stream_context_set_default
Stream Funktionen


Set the default stream context

stream_context_get_params
stream_context_set_option
Stream Funktionen
PHP Manual

stream_context_set_default

(PHP 5 >= 5.3.0, PHP 7)

stream_context_set_default — Set the default stream context

Beschreibung

resource stream_context_set_default ( array $options )

Set the default stream context which will be used whenever file operations (fopen(), file_get_contents(), etc...) are called without a context parameter. Uses the same syntax as stream_context_create().

Parameter-Liste

options

The options to set for the default context.

Hinweis:

options must be an associative array of associative arrays in the format $arr['wrapper']['option'] = $value.

Rückgabewerte

Returns the default stream context.

Beispiele

Beispiel #1 stream_context_set_default() example

<?php
$default_opts = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: en\r\n" .
              "Cookie: foo=bar",
    'proxy'=>"tcp://10.54.1.39:8000"
  )
);

$default = stream_context_set_default($default_opts);

/* Sends a regular GET request to proxy server at 10.54.1.39
 * For www.example.com using context options specified in $default_opts
 */
readfile('http://www.example.com');
?>

Siehe auch

  • stream_context_create() - Creates a stream context
  • stream_context_get_default() - Retrieve the default stream context
  • Listing of supported wrappers with context options (Unterstützte Protokolle und Wrapper).

stream_context_get_params
stream_context_set_option
Stream Funktionen


Sets an option for a stream/wrapper/context

stream_context_set_default
stream_context_set_params
Stream Funktionen
PHP Manual

stream_context_set_option

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

stream_context_set_option — Sets an option for a stream/wrapper/context

Beschreibung

bool stream_context_set_option ( resource $stream_or_context , string $wrapper , string $option , mixed $value )
bool stream_context_set_option ( resource $stream_or_context , array $options )

Sets an option on the specified context. value is set to option for wrapper

Parameter-Liste

stream_or_context

The stream or context resource to apply the options to.

options

The options to set for stream_or_context.

Hinweis:

options must be an associative array of associative arrays in the format $arr['wrapper']['option'] = $value.

Refer to context options and parameters for a listing of stream options.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

stream_context_set_default
stream_context_set_params
Stream Funktionen


Set parameters for a stream/wrapper/context

stream_context_set_option
stream_copy_to_stream
Stream Funktionen
PHP Manual

stream_context_set_params

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

stream_context_set_params — Set parameters for a stream/wrapper/context

Beschreibung

bool stream_context_set_params ( resource $stream_or_context , array $params )

Sets parameters on the specified context.

Parameter-Liste

stream_or_context

The stream or context to apply the parameters too.

params

An array of parameters to set.

Hinweis:

params should be an associative array of the structure: $params['paramname'] = "paramvalue";.

Supported parameters

Parameters | Purpose
notification | Name of user-defined callback function to be called whenever a stream triggers a notification.
options | Array of options as in context options and parameters.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • stream_notification_callback() - A callback function for the notification context parameter
stream_context_set_option
stream_copy_to_stream
Stream Funktionen


Copies data from one stream to another

stream_context_set_params
stream_encoding
Stream Funktionen
PHP Manual

stream_copy_to_stream

(PHP 5, PHP 7)

stream_copy_to_stream — Copies data from one stream to another

Beschreibung

int stream_copy_to_stream ( resource $source , resource $dest [, int $maxlength = -1 [, int $offset = 0 ]] )

Makes a copy of up to maxlength bytes of data from the current position (or from the offset position, if specified) in source to dest. If maxlength is not specified, all remaining content in source will be copied.

Parameter-Liste

source

The source stream

dest

The destination stream

maxlength

Maximum bytes to copy

offset

The offset where to start to copy data

Rückgabewerte

Returns the total count of bytes copied, Im Fehlerfall wird FALSE zurückgegeben..

Changelog

Version | Beschreibung
5.1.0 | Added the offset parameter

Beispiele

Beispiel #1 A stream_copy_to_stream() example

<?php
$src = fopen('http://www.example.com', 'r');
$dest1 = fopen('first1k.txt', 'w');
$dest2 = fopen('remainder.txt', 'w');

echo stream_copy_to_stream($src, $dest1, 1024) . " bytes copied to first1k.txt\n";
echo stream_copy_to_stream($src, $dest2) . " bytes copied to remainder.txt\n";

?>

Siehe auch

  • copy() - Kopiert eine Datei

stream_context_set_params
stream_encoding
Stream Funktionen


Set character set for stream encoding

stream_copy_to_stream
stream_filter_append
Stream Funktionen
PHP Manual

stream_encoding

(No version information available, might only be in Git)

stream_encoding — Set character set for stream encoding

Beschreibung

bool stream_encoding ( resource $stream [, string $encoding ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

stream_copy_to_stream
stream_filter_append
Stream Funktionen


Attach a filter to a stream

stream_encoding
stream_filter_prepend
Stream Funktionen
PHP Manual

stream_filter_append

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

stream_filter_append — Attach a filter to a stream

Beschreibung

resource stream_filter_append ( resource $stream , string $filtername [, int $read_write [, mixed $params ]] )

Adds filtername to the list of filters attached to stream.

Parameter-Liste

stream

The target stream.

filtername

The filter name.

read_write

By default, stream_filter_append() will attach the filter to the read filter chain if the file was opened for reading (i.e. File Mode: r, and/or +). The filter will also be attached to the write filter chain if the file was opened for writing (i.e. File Mode: w, a, and/or +). STREAM_FILTER_READ, STREAM_FILTER_WRITE, and/or STREAM_FILTER_ALL can also be passed to the read_write parameter to override this behavior.

params

This filter will be added with the specified params to the end of the list and will therefore be called last during stream operations. To add a filter to the beginning of the list, use stream_filter_prepend().

Rückgabewerte

Returns a resource on success or FALSE on failure. The resource can be used to refer to this filter instance during a call to stream_filter_remove().

FALSE is returned if stream is not a resource or if filtername cannot be located.

Changelog

Version | Beschreibung
5.1.0 | Prior to PHP 5.1.0, this function returns TRUE on success Im Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 Controlling where filters are applied

<?php
/* Open a test file for reading and writing */
$fp = fopen('test.txt', 'w+');

/* Apply the ROT13 filter to the
 * write filter chain, but not the
 * read filter chain */
stream_filter_append($fp, "string.rot13", STREAM_FILTER_WRITE);

/* Write a simple string to the file
 * it will be ROT13 transformed on the
 * way out */
fwrite($fp, "This is a test\n");

/* Back up to the beginning of the file */
rewind($fp);

/* Read the contents of the file back out.
 * Had the filter been applied to the
 * read filter chain as well, we would see
 * the text ROT13ed back to its original state */
fpassthru($fp);

fclose($fp);

/* Expected Output
   ---------------

Guvf vf n grfg

 */
?>

Anmerkungen

Hinweis: When using custom (user) filters
stream_filter_register() must be called first in order to register the desired user filter to filtername.

Hinweis: Stream data is read from resources (both local and remote) in chunks, with any unconsumed data kept in internal buffers. When a new filter is appended to a stream, data in the internal buffers is processed through the new filter at that time. This differs from the behavior of stream_filter_prepend().

Hinweis: When a filter is added for read and write, two instances of the filter are created. stream_filter_append() must be called twice with STREAM_FILTER_READ and STREAM_FILTER_WRITE to get both filter resources.

Siehe auch

  • stream_filter_register() - Register a user defined stream filter
  • stream_filter_prepend() - Attach a filter to a stream
  • stream_get_filters() - Retrieve list of registered filters
stream_encoding
stream_filter_prepend
Stream Funktionen


Attach a filter to a stream

stream_filter_append
stream_filter_register
Stream Funktionen
PHP Manual

stream_filter_prepend

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

stream_filter_prepend — Attach a filter to a stream

Beschreibung

resource stream_filter_prepend ( resource $stream , string $filtername [, int $read_write [, mixed $params ]] )

Adds filtername to the list of filters attached to stream.

Parameter-Liste

stream

The target stream.

filtername

The filter name.

read_write

By default, stream_filter_prepend() will attach the filter to the read filter chain if the file was opened for reading (i.e. File Mode: r, and/or +). The filter will also be attached to the write filter chain if the file was opened for writing (i.e. File Mode: w, a, and/or +). STREAM_FILTER_READ, STREAM_FILTER_WRITE, and/or STREAM_FILTER_ALL can also be passed to the read_write parameter to override this behavior. See stream_filter_append() for an example of using this parameter.

params

This filter will be added with the specified params to the beginning of the list and will therefore be called first during stream operations. To add a filter to the end of the list, use stream_filter_append().

Rückgabewerte

Returns a resource on success or FALSE on failure. The resource can be used to refer to this filter instance during a call to stream_filter_remove().

FALSE is returned if stream is not a resource or if filtername cannot be located.

Changelog

Version | Beschreibung
5.1.0 | Prior to PHP 5.1.0, this function returns TRUE on success Im Fehlerfall wird FALSE zurückgegeben..

Anmerkungen

Hinweis: When using custom (user) filters
stream_filter_register() must be called first in order to register the desired user filter to filtername.

Hinweis: Stream data is read from resources (both local and remote) in chunks, with any unconsumed data kept in internal buffers. When a new filter is prepended to a stream, data in the internal buffers, which has already been processed through other filters will not be reprocessed through the new filter at that time. This differs from the behavior of stream_filter_append().

Hinweis: When a filter is added for read and write, two instances of the filter are created. stream_filter_prepend() must be called twice with STREAM_FILTER_READ and STREAM_FILTER_WRITE to get both filter resources.

Siehe auch

  • stream_filter_register() - Register a user defined stream filter
  • stream_filter_append() - Attach a filter to a stream
stream_filter_append
stream_filter_register
Stream Funktionen


Register a user defined stream filter

stream_filter_prepend
stream_filter_remove
Stream Funktionen
PHP Manual

stream_filter_register

(PHP 5, PHP 7)

stream_filter_register — Register a user defined stream filter

Beschreibung

bool stream_filter_register ( string $filtername , string $classname )

stream_filter_register() allows you to implement your own filter on any registered stream used with all the other filesystem functions (such as fopen(), fread() etc.).

Parameter-Liste

filtername

The filter name to be registered.

classname

To implement a filter, you need to define a class as an extension of php_user_filter with a number of member functions. When performing read/write operations on the stream to which your filter is attached, PHP will pass the data through your filter (and any other filters attached to that stream) so that the data may be modified as desired. You must implement the methods exactly as described in php_user_filter - doing otherwise will lead to undefined behaviour.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

stream_filter_register() will return FALSE if the filtername is already defined.

Beispiele

Beispiel #1 Filter for capitalizing characters on foo-bar.txt stream

The example below implements a filter named strtoupper on the foo-bar.txt stream which will capitalize all letter characters written to/read from that stream.

<?php

/* Define our filter class */
class strtoupper_filter extends php_user_filter {
  function filter($in, $out, &$consumed, $closing)
  {
    while ($bucket = stream_bucket_make_writeable($in)) {
      $bucket->data = strtoupper($bucket->data);
      $consumed += $bucket->datalen;
      stream_bucket_append($out, $bucket);
    }
    return PSFS_PASS_ON;
  }
}

/* Register our filter with PHP */
stream_filter_register("strtoupper", "strtoupper_filter")
    or die("Failed to register filter");

$fp = fopen("foo-bar.txt", "w");

/* Attach the registered filter to the stream just opened */
stream_filter_append($fp, "strtoupper");

fwrite($fp, "Line1\n");
fwrite($fp, "Word - 2\n");
fwrite($fp, "Easy As 123\n");

fclose($fp);

/* Read the contents back out
 */
readfile("foo-bar.txt");

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

LINE1
WORD - 2
EASY AS 123

Beispiel #2 Registering a generic filter class to match multiple filter names.

<?php

/* Define our filter class */
class string_filter extends php_user_filter {
  var $mode;

  function filter($in, $out, &$consumed, $closing)
  {
    while ($bucket = stream_bucket_make_writeable($in)) {
      if ($this->mode == 1) {
        $bucket->data = strtoupper($bucket->data);
      } elseif ($this->mode == 0) {
        $bucket->data = strtolower($bucket->data);
      }

      $consumed += $bucket->datalen;
      stream_bucket_append($out, $bucket);
    }
    return PSFS_PASS_ON;
  }

  function onCreate()
  {
    if ($this->filtername == 'str.toupper') {
      $this->mode = 1;
    } elseif ($this->filtername == 'str.tolower') {
      $this->mode = 0;
    } else {
      /* Some other str.* filter was asked for,
         report failure so that PHP will keep looking */
      return false;
    }

    return true;
  }
}

/* Register our filter with PHP */
stream_filter_register("str.*", "string_filter")
    or die("Failed to register filter");

$fp = fopen("foo-bar.txt", "w");

/* Attach the registered filter to the stream just opened
   We could alternately bind to str.tolower here */
stream_filter_append($fp, "str.toupper");

fwrite($fp, "Line1\n");
fwrite($fp, "Word - 2\n");
fwrite($fp, "Easy As 123\n");

fclose($fp);

/* Read the contents back out
 */
readfile("foo-bar.txt");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

LINE1
WORD - 2
EASY AS 123

Siehe auch

  • stream_wrapper_register() - Register a URL wrapper implemented as a PHP class
  • stream_filter_append() - Attach a filter to a stream
  • stream_filter_prepend() - Attach a filter to a stream

stream_filter_prepend
stream_filter_remove
Stream Funktionen


Remove a filter from a stream

stream_filter_register
stream_get_contents
Stream Funktionen
PHP Manual

stream_filter_remove

(PHP 5 >= 5.1.0, PHP 7)

stream_filter_remove — Remove a filter from a stream

Beschreibung

bool stream_filter_remove ( resource $stream_filter )

Removes a stream filter previously added to a stream with stream_filter_prepend() or stream_filter_append(). Any data remaining in the filter's internal buffer will be flushed through to the next filter before removing it.

Parameter-Liste

stream_filter

The stream filter to be removed.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Dynamicly refiltering a stream

<?php
/* Open a test file for reading and writing */
$fp = fopen("test.txt", "rw");

$rot13_filter = stream_filter_append($fp, "string.rot13", STREAM_FILTER_WRITE);
fwrite($fp, "This is ");
stream_filter_remove($rot13_filter);
fwrite($fp, "a test\n");

rewind($fp);
fpassthru($fp);
fclose($fp);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Guvf vf a test

Siehe auch

  • stream_filter_register() - Register a user defined stream filter
  • stream_filter_append() - Attach a filter to a stream
  • stream_filter_prepend() - Attach a filter to a stream

stream_filter_register
stream_get_contents
Stream Funktionen


Reads remainder of a stream into a string

stream_filter_remove
stream_get_filters
Stream Funktionen
PHP Manual

stream_get_contents

(PHP 5, PHP 7)

stream_get_contents — Reads remainder of a stream into a string

Beschreibung

string stream_get_contents ( resource $handle [, int $maxlength = -1 [, int $offset = -1 ]] )

Identical to file_get_contents(), except that stream_get_contents() operates on an already open stream resource and returns the remaining contents in a string, up to maxlength bytes and starting at the specified offset.

Parameter-Liste

handle (resource)

A stream resource (e.g. returned from fopen())

maxlength (integer)

The maximum bytes to read. Defaults to -1 (read all the remaining buffer).

offset (integer)

Seek to the specified offset before reading. If this number is negative, no seeking will occur and reading will start from the current position.

Rückgabewerte

Returns a stringIm Fehlerfall wird FALSE zurückgegeben..

Changelog

Version | Beschreibung
5.1.0 | The offset was added.

Beispiele

Beispiel #1 stream_get_contents() example

<?php

if ($stream = fopen('http://www.example.com', 'r')) {
    // print all the page starting at the offset 10
    echo stream_get_contents($stream, -1, 10);

    fclose($stream);
}

if ($stream = fopen('http://www.example.net', 'r')) {
    // print the first 5 bytes
    echo stream_get_contents($stream, 5);

    fclose($stream);
}

?>

Anmerkungen

Hinweis: Diese Funktion ist binary safe.

Siehe auch

  • fgets() - Liest eine Zeile von der Position des Dateizeigers
  • fread() - Liest Binärdaten aus einer Datei
  • fpassthru() - Gibt alle verbleibenden Daten eines Dateizeigers direkt aus.

stream_filter_remove
stream_get_filters
Stream Funktionen


Retrieve list of registered filters

stream_get_contents
stream_get_line
Stream Funktionen
PHP Manual

stream_get_filters

(PHP 5, PHP 7)

stream_get_filters — Retrieve list of registered filters

Beschreibung

array stream_get_filters ( void )

Retrieve the list of registered filters on the running system.

Rückgabewerte

Returns an indexed array containing the name of all stream filters available.

Beispiele

Beispiel #1 Using stream_get_filters()

<?php
$streamlist = stream_get_filters();
print_r($streamlist);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array (
  [0] => string.rot13
  [1] => string.toupper
  [2] => string.tolower
  [3] => string.base64
  [4] => string.quoted-printable
)

Siehe auch

  • stream_filter_register() - Register a user defined stream filter
  • stream_get_wrappers() - Retrieve list of registered streams
stream_get_contents
stream_get_line
Stream Funktionen


Gets line from stream resource up to a given delimiter

stream_get_filters
stream_get_meta_data
Stream Funktionen
PHP Manual

stream_get_line

(PHP 5, PHP 7)

stream_get_line — Gets line from stream resource up to a given delimiter

Beschreibung

string stream_get_line ( resource $handle , int $length [, string $ending ] )

Gets a line from the given handle.

Reading ends when length bytes have been read, when the string specified by ending is found (which is not included in the return value), or on EOF (whichever comes first).

This function is nearly identical to fgets() except in that it allows end of line delimiters other than the standard \n, \r, and \r\n, and does not return the delimiter itself.

Parameter-Liste

handle

A valid file handle.

length

The number of bytes to read from the handle.

ending

An optional string delimiter.

Rückgabewerte

Returns a string of up to length bytes read from the file pointed to by handle.

If an error occurs, returns FALSE.

Siehe auch

  • fread() - Liest Binärdaten aus einer Datei
  • fgets() - Liest eine Zeile von der Position des Dateizeigers
  • fgetc() - Liest das Zeichen, auf welches der Dateizeiger zeigt
stream_get_filters
stream_get_meta_data
Stream Funktionen


Retrieves header/meta data from streams/file pointers

stream_get_line
stream_get_transports
Stream Funktionen
PHP Manual

stream_get_meta_data

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

stream_get_meta_data — Retrieves header/meta data from streams/file pointers

Beschreibung

array stream_get_meta_data ( resource $stream )

Returns information about an existing stream.

Parameter-Liste

stream

The stream can be any stream created by fopen(), fsockopen() and pfsockopen().

Rückgabewerte

The result array contains the following items:

  • timed_out (bool) - TRUE if the stream timed out while waiting for data on the last call to fread() or fgets().

  • blocked (bool) - TRUE if the stream is in blocking IO mode. See stream_set_blocking().

  • eof (bool) - TRUE if the stream has reached end-of-file. Note that for socket streams this member can be TRUE even when unread_bytes is non-zero. To determine if there is more data to be read, use feof() instead of reading this item.

  • unread_bytes (int) - the number of bytes currently contained in the PHP's own internal buffer.

    Hinweis: You shouldn't use this value in a script.

  • stream_type (string) - a label describing the underlying implementation of the stream.

  • wrapper_type (string) - a label describing the protocol wrapper implementation layered over the stream. See Unterstützte Protokolle und Wrapper for more information about wrappers.

  • wrapper_data (mixed) - wrapper specific data attached to this stream. See Unterstützte Protokolle und Wrapper for more information about wrappers and their wrapper data.

  • mode (string) - the type of access required for this stream (see Table 1 of the fopen() reference)

  • seekable (bool) - whether the current stream can be seeked.

  • uri (string) - the URI/filename associated with this stream.

Beispiele

Beispiel #1 stream_get_meta_data() example

<?php
$url = 'http://www.example.com/';

if (!$fp = fopen($url, 'r')) {
    trigger_error("Unable to open URL ($url)", E_USER_ERROR);
}

$meta = stream_get_meta_data($fp);

print_r($meta);

fclose($fp);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [wrapper_data] => Array
        (
            [0] => HTTP/1.1 200 OK
            [1] => Server: Apache/2.2.3 (Red Hat)
            [2] => Last-Modified: Tue, 15 Nov 2005 13:24:10 GMT
            [3] => ETag: "b300b4-1b6-4059a80bfd280"
            [4] => Accept-Ranges: bytes
            [5] => Content-Type: text/html; CHARSET=Windows-1252
            [6] => Set-Cookie: FOO=BAR; expires=Fri, 21-Dec-2012 12:00:00 GMT; path=/; domain=.example.com
            [6] => Connection: close
            [7] => Date: Fri, 16 Oct 2009 12:00:00 GMT
            [8] => Age: 1164
            [9] => Content-Length: 438
        )

    [wrapper_type] => http
    [stream_type] => tcp_socket/ssl
    [mode] => r
    [unread_bytes] => 438
    [seekable] =>
    [uri] => http://www.example.com/
    [timed_out] =>
    [blocked] => 1
    [eof] =>
)

Anmerkungen

Hinweis:

This function does NOT work on sockets created by the Socket extension.

Siehe auch

  • get_headers() - Ruft alle Header ab, die der Server als Antwort auf einen HTTP-Request versendet
  • $http_response_header

stream_get_line
stream_get_transports
Stream Funktionen


Retrieve list of registered socket transports

stream_get_meta_data
stream_get_wrappers
Stream Funktionen
PHP Manual

stream_get_transports

(PHP 5, PHP 7)

stream_get_transports — Retrieve list of registered socket transports

Beschreibung

array stream_get_transports ( void )

Returns an indexed array containing the name of all socket transports available on the running system.

Rückgabewerte

Returns an indexed array of socket transports names.

Beispiele

Beispiel #1 Using stream_get_transports()

<?php
$xportlist = stream_get_transports();
print_r($xportlist);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array (
  [0] => tcp
  [1] => udp
  [2] => unix
  [3] => udg
)

Siehe auch

  • stream_get_filters() - Retrieve list of registered filters
  • stream_get_wrappers() - Retrieve list of registered streams
stream_get_meta_data
stream_get_wrappers
Stream Funktionen


Retrieve list of registered streams

stream_get_transports
stream_is_local
Stream Funktionen
PHP Manual

stream_get_wrappers

(PHP 5, PHP 7)

stream_get_wrappers — Retrieve list of registered streams

Beschreibung

array stream_get_wrappers ( void )

Retrieve list of registered streams available on the running system.

Rückgabewerte

Returns an indexed array containing the name of all stream wrappers available on the running system.

Beispiele

Beispiel #1 stream_get_wrappers() example

<?php
print_r(stream_get_wrappers());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [0] => php
    [1] => file
    [2] => http
    [3] => ftp
    [4] => compress.bzip2
    [5] => compress.zlib
)

Beispiel #2 Checking for the existence of a stream wrapper

<?php
// check for the existence of the bzip2 stream wrapper
if (in_array('compress.bzip2', stream_get_wrappers())) {
    echo 'compress.bzip2:// support enabled.';
} else {
    echo 'compress.bzip2:// support not enabled.';
}
?>

Siehe auch

  • stream_wrapper_register() - Register a URL wrapper implemented as a PHP class
stream_get_transports
stream_is_local
Stream Funktionen


Checks if a stream is a local stream

stream_get_wrappers
stream_notification_callback
Stream Funktionen
PHP Manual

stream_is_local

(PHP 5 >= 5.2.4, PHP 7)

stream_is_local — Checks if a stream is a local stream

Beschreibung

bool stream_is_local ( mixed $stream_or_url )

Checks if a stream, or a URL, is a local one or not.

Parameter-Liste

stream_or_url

The stream resource or URL to check.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 stream_is_local() example

Basic usage example.

<?php
var_dump(stream_is_local("http://example.com"));
var_dump(stream_is_local("/etc"));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(false)
bool(true)

stream_get_wrappers
stream_notification_callback
Stream Funktionen


A callback function for the notification context parameter

stream_is_local
stream_register_wrapper
Stream Funktionen
PHP Manual

stream_notification_callback

(PHP 5 >= 5.2.0, PHP 7)

stream_notification_callback — A callback function for the notification context parameter

Beschreibung

void stream_notification_callback ( int $notification_code , int $severity , string $message , int $message_code , int $bytes_transferred , int $bytes_max )

A callable function, used by the notification context parameter, called during an event.

Hinweis:

This is not a real function, only a prototype of how the function should be.

Parameter-Liste

notification_code

One of the STREAM_NOTIFY_* notification constants.

severity

One of the STREAM_NOTIFY_SEVERITY_* notification constants.

message

Passed if a descriptive message is available for the event.

message_code

Passed if a descriptive message code is available for the event.

The meaning of this value is dependent on the specific wrapper in use.

bytes_transferred

If applicable, the bytes_transferred will be populated.

bytes_max

If applicable, the bytes_max will be populated.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 stream_notification_callback() example

<?php
function stream_notification_callback($notification_code, $severity, $message, $message_code, $bytes_transferred, $bytes_max) {

    switch($notification_code) {
        case STREAM_NOTIFY_RESOLVE:
        case STREAM_NOTIFY_AUTH_REQUIRED:
        case STREAM_NOTIFY_COMPLETED:
        case STREAM_NOTIFY_FAILURE:
        case STREAM_NOTIFY_AUTH_RESULT:
            var_dump($notification_code, $severity, $message, $message_code, $bytes_transferred, $bytes_max);
            /* Ignore */
            break;

        case STREAM_NOTIFY_REDIRECTED:
            echo "Being redirected to: ", $message;
            break;

        case STREAM_NOTIFY_CONNECT:
            echo "Connected...";
            break;

        case STREAM_NOTIFY_FILE_SIZE_IS:
            echo "Got the filesize: ", $bytes_max;
            break;

        case STREAM_NOTIFY_MIME_TYPE_IS:
            echo "Found the mime-type: ", $message;
            break;

        case STREAM_NOTIFY_PROGRESS:
            echo "Made some progress, downloaded ", $bytes_transferred, " so far";
            break;
    }
    echo "\n";
}

$ctx = stream_context_create();
stream_context_set_params($ctx, array("notification" => "stream_notification_callback"));

file_get_contents("http://php.net/contact", false, $ctx);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Connected...
Found the mime-type: text/html; CHARSET=Windows-1252
Being redirected to: http://no.php.net/contact
Connected...
Got the filesize: 0
Found the mime-type: text/html; CHARSET=Windows-1252
Being redirected to: http://no.php.net/contact.php
Connected...
Got the filesize: 4589
Found the mime-type: text/html;CHARSET=Windows-1252
Made some progress, downloaded 0 so far
Made some progress, downloaded 0 so far
Made some progress, downloaded 0 so far
Made some progress, downloaded 1440 so far
Made some progress, downloaded 2880 so far
Made some progress, downloaded 4320 so far
Made some progress, downloaded 5760 so far
Made some progress, downloaded 6381 so far
Made some progress, downloaded 7002 so far

Beispiel #2 Simple progressbar for commandline download client

<?php
function usage($argv) {
    echo "Usage:\n";
    printf("\tphp %s <http://example.com/file> <localfile>\n", $argv[0]);
    exit(1);
}

function stream_notification_callback($notification_code, $severity, $message, $message_code, $bytes_transferred, $bytes_max) {
    static $filesize = null;

    switch($notification_code) {
    case STREAM_NOTIFY_RESOLVE:
    case STREAM_NOTIFY_AUTH_REQUIRED:
    case STREAM_NOTIFY_COMPLETED:
    case STREAM_NOTIFY_FAILURE:
    case STREAM_NOTIFY_AUTH_RESULT:
        /* Ignore */
        break;

    case STREAM_NOTIFY_REDIRECTED:
        echo "Being redirected to: ", $message, "\n";
        break;

    case STREAM_NOTIFY_CONNECT:
        echo "Connected...\n";
        break;

    case STREAM_NOTIFY_FILE_SIZE_IS:
        $filesize = $bytes_max;
        echo "Filesize: ", $filesize, "\n";
        break;

    case STREAM_NOTIFY_MIME_TYPE_IS:
        echo "Mime-type: ", $message, "\n";
        break;

    case STREAM_NOTIFY_PROGRESS:
        if ($bytes_transferred > 0) {
            if (!isset($filesize)) {
                printf("\rUnknown filesize.. %2d kb done..", $bytes_transferred/1024);
            } else {
                $length = (int)(($bytes_transferred/$filesize)*100);
                printf("\r[%-100s] %d%% (%2d/%2d kb)", str_repeat("=", $length). ">", $length, ($bytes_transferred/1024), $filesize/1024);
            }
        }
        break;
    }
}

isset($argv[1], $argv[2]) or usage($argv);

$ctx = stream_context_create();
stream_context_set_params($ctx, array("notification" => "stream_notification_callback"));

$fp = fopen($argv[1], "r", false, $ctx);
if (is_resource($fp) && file_put_contents($argv[2], $fp)) {
    echo "\nDone!\n";
    exit(0);
}

$err = error_get_last();
echo "\nErrrrrorr..\n", $err["message"], "\n";
exit(1);
?>

Executing the example above with: php -n fetch.php http://no2.php.net/get/php-5-LATEST.tar.bz2/from/this/mirror php-latest.tar.bz2 will output something similar too:

Connected...
Mime-type: text/html; CHARSET=Windows-1252
Being redirected to: http://no2.php.net/distributions/php-5.2.5.tar.bz2
Connected...
Filesize: 7773024
Mime-type: application/octet-stream
[========================================>                                                           ] 40% (3076/7590 kb)

Siehe auch

  • Kontextparameter

stream_is_local
stream_register_wrapper
Stream Funktionen


Alias von stream_wrapper_register

stream_notification_callback
stream_resolve_include_path
Stream Funktionen
PHP Manual

stream_register_wrapper

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

stream_register_wrapper — Alias von stream_wrapper_register()

Beschreibung

Diese Funktion ist ein Alias für: stream_wrapper_register().

stream_notification_callback
stream_resolve_include_path
Stream Funktionen


Resolve filename against the include path

stream_register_wrapper
stream_select
Stream Funktionen
PHP Manual

stream_resolve_include_path

(PHP 5 >= 5.3.2, PHP 7)

stream_resolve_include_path — Resolve filename against the include path

Beschreibung

string stream_resolve_include_path ( string $filename )

Resolve filename against the include path according to the same rules as fopen()/include.

Parameter-Liste

filename

The filename to resolve.

Rückgabewerte

Returns a string containing the resolved absolute filename, Im Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 stream_resolve_include_path() example

Basic usage example.

<?php
var_dump(stream_resolve_include_path("test.php"));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(22) "/var/www/html/test.php"

stream_register_wrapper
stream_select
Stream Funktionen


Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec

stream_resolve_include_path
stream_set_blocking
Stream Funktionen
PHP Manual

stream_select

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

stream_select — Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec

Beschreibung

int stream_select ( array &$read , array &$write , array &$except , int $tv_sec [, int $tv_usec = 0 ] )

The stream_select() function accepts arrays of streams and waits for them to change status. Its operation is equivalent to that of the socket_select() function except in that it acts on streams.

Parameter-Liste

read

The streams listed in the read array will be watched to see if characters become available for reading (more precisely, to see if a read will not block - in particular, a stream resource is also ready on end-of-file, in which case an fread() will return a zero length string).

write

The streams listed in the write array will be watched to see if a write will not block.

except

The streams listed in the except array will be watched for high priority exceptional ("out-of-band") data arriving.

Hinweis:

When stream_select() returns, the arrays read, write and except are modified to indicate which stream resource(s) actually changed status.

You do not need to pass every array to stream_select(). You can leave it out and use an empty array or NULL instead. Also do not forget that those arrays are passed by reference and will be modified after stream_select() returns.
tv_sec

The tv_sec and tv_usec together form the timeout parameter, tv_sec specifies the number of seconds while tv_usec the number of microseconds. The timeout is an upper bound on the amount of time that stream_select() will wait before it returns. If tv_sec and tv_usec are both set to 0, stream_select() will not wait for data - instead it will return immediately, indicating the current status of the streams.

If tv_sec is NULL stream_select() can block indefinitely, returning only when an event on one of the watched streams occurs (or if a signal interrupts the system call).

Warnung

Using a timeout value of 0 allows you to instantaneously poll the status of the streams, however, it is NOT a good idea to use a 0 timeout value in a loop as it will cause your script to consume too much CPU time.

It is much better to specify a timeout value of a few seconds, although if you need to be checking and running other code concurrently, using a timeout value of at least 200000 microseconds will help reduce the CPU usage of your script.

Remember that the timeout value is the maximum time that will elapse; stream_select() will return as soon as the requested streams are ready for use.

tv_usec

See tv_sec description.

Rückgabewerte

On success stream_select() returns the number of stream resources contained in the modified arrays, which may be zero if the timeout expires before anything interesting happens. On error FALSE is returned and a warning raised (this can happen if the system call is interrupted by an incoming signal).

Beispiele

Beispiel #1 stream_select() Example

This example checks to see if data has arrived for reading on either $stream1 or $stream2. Since the timeout value is 0 it will return immediately:

<?php
/* Prepare the read array */
$read   = array($stream1, $stream2);
$write  = NULL;
$except = NULL;
if (false === ($num_changed_streams = stream_select($read, $write, $except, 0))) {
    /* Error handling */
} elseif ($num_changed_streams > 0) {
    /* At least on one of the streams something interesting happened */
}
?>

Anmerkungen

Hinweis:

Due to a limitation in the current Zend Engine it is not possible to pass a constant modifier like NULL directly as a parameter to a function which expects this parameter to be passed by reference. Instead use a temporary variable or an expression with the leftmost member being a temporary variable:

<?php
$e = NULL;
stream_select($r, $w, $e, 0);
?>

Hinweis:

Be sure to use the === operator when checking for an error. Since the stream_select() may return 0 the comparison with == would evaluate to TRUE:

<?php
$e = NULL;
if (false === stream_select($r, $w, $e, 0)) {
    echo "stream_select() failed\n";
}
?>

Hinweis:

If you read/write to a stream returned in the arrays be aware that they do not necessarily read/write the full amount of data you have requested. Be prepared to even only be able to read/write a single byte.

Hinweis:

Some streams (like zlib) cannot be selected by this function.

Hinweis:

Windows compatibility: stream_select() used on a pipe returned from proc_open() may cause data loss under Windows 98.

Use of stream_select() on file descriptors returned by proc_open() will fail and return FALSE under Windows.

Siehe auch

  • stream_set_blocking() - Set blocking/non-blocking mode on a stream
stream_resolve_include_path
stream_set_blocking
Stream Funktionen


Set blocking/non-blocking mode on a stream

stream_select
stream_set_chunk_size
Stream Funktionen
PHP Manual

stream_set_blocking

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

stream_set_blocking — Set blocking/non-blocking mode on a stream

Beschreibung

bool stream_set_blocking ( resource $stream , bool $mode )

Sets blocking or non-blocking mode on a stream.

This function works for any stream that supports non-blocking mode (currently, regular files and socket streams).

Parameter-Liste

stream

The stream.

mode

If mode is FALSE, the given stream will be switched to non-blocking mode, and if TRUE, it will be switched to blocking mode. This affects calls like fgets() and fread() that read from the stream. In non-blocking mode an fgets() call will always return right away while in blocking mode it will wait for data to become available on the stream.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Hinweis:

This function was previously called as set_socket_blocking() and later socket_set_blocking() but this usage is deprecated.

Siehe auch

  • stream_select() - Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec
stream_select
stream_set_chunk_size
Stream Funktionen


Set the stream chunk size

stream_set_blocking
stream_set_read_buffer
Stream Funktionen
PHP Manual

stream_set_chunk_size

(PHP 5 >= 5.4.0, PHP 7)

stream_set_chunk_size — Set the stream chunk size

Beschreibung

int stream_set_chunk_size ( resource $fp , int $chunk_size )

Set the stream chunk size.

Parameter-Liste

fp

The target stream.

chunk_size

The desired new chunk size.

Rückgabewerte

Returns the previous chunk size on success.

Will return FALSE if chunk_size is less than 1 or greater than PHP_INT_MAX.

Fehler/Exceptions

Will emit an E_WARNING level error if chunk_size is less than 1 or greater than PHP_INT_MAX.

stream_set_blocking
stream_set_read_buffer
Stream Funktionen


Set read file buffering on the given stream

stream_set_chunk_size
stream_set_timeout
Stream Funktionen
PHP Manual

stream_set_read_buffer

(PHP 5 >= 5.3.3, PHP 7)

stream_set_read_buffer — Set read file buffering on the given stream

Beschreibung

int stream_set_read_buffer ( resource $stream , int $buffer )

Sets the read buffer. It's the equivalent of stream_set_write_buffer(), but for read operations.

Parameter-Liste

stream

The file pointer.

buffer

The number of bytes to buffer. If buffer is 0 then read operations are unbuffered. This ensures that all reads with fread() are completed before other processes are allowed to read from that input stream.

Rückgabewerte

Returns 0 on success, or another value if the request cannot be honored.

Siehe auch

  • stream_set_write_buffer() - Sets write file buffering on the given stream
stream_set_chunk_size
stream_set_timeout
Stream Funktionen


Set timeout period on a stream

stream_set_read_buffer
stream_set_write_buffer
Stream Funktionen
PHP Manual

stream_set_timeout

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

stream_set_timeout — Set timeout period on a stream

Beschreibung

bool stream_set_timeout ( resource $stream , int $seconds [, int $microseconds = 0 ] )

Sets the timeout value on stream, expressed in the sum of seconds and microseconds.

When the stream times out, the 'timed_out' key of the array returned by stream_get_meta_data() is set to TRUE, although no error/warning is generated.

Parameter-Liste

stream

The target stream.

seconds

The seconds part of the timeout to be set.

microseconds

The microseconds part of the timeout to be set.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
4.3.0 | As of PHP 4.3, this function can (potentially) work on any kind of stream. In PHP 4.3, socket based streams are still the only kind supported in the PHP core, although streams from other extensions may support this function.

Beispiele

Beispiel #1 stream_set_timeout() example

<?php
$fp = fsockopen("www.example.com", 80);
if (!$fp) {
    echo "Unable to open\n";
} else {

    fwrite($fp, "GET / HTTP/1.0\r\n\r\n");
    stream_set_timeout($fp, 2);
    $res = fread($fp, 2000);

    $info = stream_get_meta_data($fp);
    fclose($fp);

    if ($info['timed_out']) {
        echo 'Connection timed out!';
    } else {
        echo $res;
    }

}
?>

Anmerkungen

Hinweis:

This function doesn't work with advanced operations like stream_socket_recvfrom(), use stream_select() with timeout parameter instead.

This function was previously called as set_socket_timeout() and later socket_set_timeout() but this usage is deprecated.

Siehe auch

  • fsockopen() - Stellt eine Internet- oder Unix-Domain-Socket-Verbindung her
  • fopen() - Öffnet eine Datei oder URL
stream_set_read_buffer
stream_set_write_buffer
Stream Funktionen


Sets write file buffering on the given stream

stream_set_timeout
stream_socket_accept
Stream Funktionen
PHP Manual

stream_set_write_buffer

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

stream_set_write_buffer — Sets write file buffering on the given stream

Beschreibung

int stream_set_write_buffer ( resource $stream , int $buffer )

Sets the buffering for write operations on the given stream to buffer bytes.

Parameter-Liste

stream

The file pointer.

buffer

The number of bytes to buffer. If buffer is 0 then write operations are unbuffered. This ensures that all writes with fwrite() are completed before other processes are allowed to write to that output stream.

Rückgabewerte

Returns 0 on success, or another value if the request cannot be honored.

Beispiele

Beispiel #1 stream_set_write_buffer() example

The following example demonstrates how to use stream_set_write_buffer() to create an unbuffered stream.

<?php
$fp = fopen($file, "w");
if ($fp) {
  if (stream_set_write_buffer($fp, 0) !== 0) {
      // changing the buffering failed
  }
  fwrite($fp, $output);
  fclose($fp);
}
?>

Siehe auch

  • fopen() - Öffnet eine Datei oder URL
  • fwrite() - Binär-sicheres Dateischreiben
stream_set_timeout
stream_socket_accept
Stream Funktionen


Accept a connection on a socket created by stream_socket_server

stream_set_write_buffer
stream_socket_client
Stream Funktionen
PHP Manual

stream_socket_accept

(PHP 5, PHP 7)

stream_socket_accept — Accept a connection on a socket created by stream_socket_server()

Beschreibung

resource stream_socket_accept ( resource $server_socket [, float $timeout = ini_get("default_socket_timeout") [, string &$peername ]] )

Accept a connection on a socket previously created by stream_socket_server().

Parameter-Liste

server_socket

The server socket to accept a connection from.

timeout

Override the default socket accept timeout. Time should be given in seconds.

peername

Will be set to the name (address) of the client which connected, if included and available from the selected transport.

Hinweis:

Can also be determined later using stream_socket_get_name().

Rückgabewerte

Returns a stream to the accepted socket connectionIm Fehlerfall wird FALSE zurückgegeben..

Anmerkungen

Warnung

This function should not be used with UDP server sockets. Instead, use stream_socket_recvfrom() and stream_socket_sendto().

Siehe auch

  • stream_socket_server() - Create an Internet or Unix domain server socket
  • stream_socket_get_name() - Retrieve the name of the local or remote sockets
  • stream_set_blocking() - Set blocking/non-blocking mode on a stream
  • stream_set_timeout() - Set timeout period on a stream
  • fgets() - Liest eine Zeile von der Position des Dateizeigers
  • fgetss() - Liest eine Zeile von der Position des Dateizeigers und entfernt HTML Tags.
  • fwrite() - Binär-sicheres Dateischreiben
  • fclose() - Schließt einen offenen Dateizeiger
  • feof() - Prüft, ob ein Dateizeiger am Ende der Datei steht
  • cURL Funktionen

stream_set_write_buffer
stream_socket_client
Stream Funktionen


Open Internet or Unix domain socket connection

stream_socket_accept
stream_socket_enable_crypto
Stream Funktionen
PHP Manual

stream_socket_client

(PHP 5, PHP 7)

stream_socket_client — Open Internet or Unix domain socket connection

Beschreibung

resource stream_socket_client ( string $remote_socket [, int &$errno [, string &$errstr [, float $timeout = ini_get("default_socket_timeout") [, int $flags = STREAM_CLIENT_CONNECT [, resource $context ]]]]] )

Initiates a stream or datagram connection to the destination specified by remote_socket. The type of socket created is determined by the transport specified using standard URL formatting: transport://target. For Internet Domain sockets (AF_INET) such as TCP and UDP, the target portion of the remote_socket parameter should consist of a hostname or IP address followed by a colon and a port number. For Unix domain sockets, the target portion should point to the socket file on the filesystem.

Hinweis:

The stream will by default be opened in blocking mode. You can switch it to non-blocking mode by using stream_set_blocking().

Parameter-Liste

remote_socket

Address to the socket to connect to.

errno

Will be set to the system level error number if connection fails.

errstr

Will be set to the system level error message if the connection fails.

timeout

Number of seconds until the connect() system call should timeout.

Hinweis: This parameter only applies when not making asynchronous connection attempts.

Hinweis:

To set a timeout for reading/writing data over the socket, use the stream_set_timeout(), as the timeout only applies while making connecting the socket.

flags

Bitmask field which may be set to any combination of connection flags. Currently the select of connection flags is limited to STREAM_CLIENT_CONNECT (default), STREAM_CLIENT_ASYNC_CONNECT and STREAM_CLIENT_PERSISTENT.

context

A valid context resource created with stream_context_create().

Rückgabewerte

On success a stream resource is returned which may
be used together with the other file functions (such as
fgets(), fgetss(),
fwrite(), fclose(), and
feof()), FALSE on failure.

Fehler/Exceptions

On failure the errno and errstr arguments will be populated with the actual system level error that occurred in the system-level connect() call. If the value returned in errno is 0 and the function returned FALSE, it is an indication that the error occurred before the connect() call. This is most likely due to a problem initializing the socket. Note that the errno and errstr arguments will always be passed by reference.

Beispiele

Beispiel #1 stream_socket_client() example

<?php
$fp = stream_socket_client("tcp://www.example.com:80", $errno, $errstr, 30);
if (!$fp) {
    echo "$errstr ($errno)<br />\n";
} else {
    fwrite($fp, "GET / HTTP/1.0\r\nHost: www.example.com\r\nAccept: */*\r\n\r\n");
    while (!feof($fp)) {
        echo fgets($fp, 1024);
    }
    fclose($fp);
}
?>

Beispiel #2 Using UDP connection

Retrieving the day and time from the UDP service "daytime" (port 13) on localhost.

<?php
$fp = stream_socket_client("udp://127.0.0.1:13", $errno, $errstr);
if (!$fp) {
    echo "ERROR: $errno - $errstr<br />\n";
} else {
    fwrite($fp, "\n");
    echo fread($fp, 26);
    fclose($fp);
}
?>

Anmerkungen

Warnung

UDP sockets will sometimes appear to have opened without an error, even if the remote host is unreachable. The error will only become apparent when you read or write data to/from the socket. The reason for this is because UDP is a "connectionless" protocol, which means that the operating system does not try to establish a link for the socket until it actually needs to send or receive data.

Hinweis: Wenn Sie eine numerische IPv6-Adresse angeben, z.B. fe80::1, müssen Sie die IP in eckige Klammern schreiben, z.B. tcp://[fe80::1]:80.

Hinweis:

Depending on the environment, the Unix domain or the optional connect timeout may not be available. A list of available transports can be retrieved using stream_get_transports(). See Liste der unterstützten Socket-Transporter for a list of built in transports.

Siehe auch

  • stream_socket_server() - Create an Internet or Unix domain server socket
  • stream_set_blocking() - Set blocking/non-blocking mode on a stream
  • stream_set_timeout() - Set timeout period on a stream
  • stream_select() - Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec
  • fgets() - Liest eine Zeile von der Position des Dateizeigers
  • fgetss() - Liest eine Zeile von der Position des Dateizeigers und entfernt HTML Tags.
  • fwrite() - Binär-sicheres Dateischreiben
  • fclose() - Schließt einen offenen Dateizeiger
  • feof() - Prüft, ob ein Dateizeiger am Ende der Datei steht
  • cURL Funktionen

stream_socket_accept
stream_socket_enable_crypto
Stream Funktionen


Turns encryption on/off on an already connected socket

stream_socket_client
stream_socket_get_name
Stream Funktionen
PHP Manual

stream_socket_enable_crypto

(PHP 5 >= 5.1.0, PHP 7)

stream_socket_enable_crypto — Turns encryption on/off on an already connected socket

Beschreibung

mixed stream_socket_enable_crypto ( resource $stream , bool $enable [, int $crypto_type [, resource $session_stream ]] )

Enable or disable encryption on the stream.

Once the crypto settings are established, cryptography can be turned on and off dynamically by passing TRUE or FALSE in the enable parameter.

Parameter-Liste

stream

The stream resource.

enable

Enable/disable cryptography on the stream.

crypto_type

Setup encryption on the stream. Valid methods are

  • STREAM_CRYPTO_METHOD_SSLv2_CLIENT
  • STREAM_CRYPTO_METHOD_SSLv3_CLIENT
  • STREAM_CRYPTO_METHOD_SSLv23_CLIENT
  • STREAM_CRYPTO_METHOD_ANY_CLIENT
  • STREAM_CRYPTO_METHOD_TLS_CLIENT
  • STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT
  • STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT
  • STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT
  • STREAM_CRYPTO_METHOD_SSLv2_SERVER
  • STREAM_CRYPTO_METHOD_SSLv3_SERVER
  • STREAM_CRYPTO_METHOD_SSLv23_SERVER
  • STREAM_CRYPTO_METHOD_ANY_SERVER
  • STREAM_CRYPTO_METHOD_TLS_SERVER
  • STREAM_CRYPTO_METHOD_TLSv1_0_SERVER
  • STREAM_CRYPTO_METHOD_TLSv1_1_SERVER
  • STREAM_CRYPTO_METHOD_TLSv1_2_SERVER

If omitted, the crypto_type context option on the stream's SSL context will be used instead.

session_stream

Seed the stream with settings from session_stream.

Rückgabewerte

Returns TRUE on success, FALSE if negotiation has failed or 0 if there isn't enough data and you should try again (only for non-blocking sockets).

Changelog

Version | Beschreibung
5.6.0 | Introduce STREAM_CRYPTO_METHOD_ANY_CLIENT, STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT, STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT, STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT, STREAM_CRYPTO_METHOD_ANY_SERVER, STREAM_CRYPTO_METHOD_TLSv1_0_SERVER, STREAM_CRYPTO_METHOD_TLSv1_1_SERVER, STREAM_CRYPTO_METHOD_TLSv1_2_SERVER.
5.6.0 | The crypto_type is now optional.

Beispiele

Beispiel #1 stream_socket_enable_crypto() example

<?php
$fp = stream_socket_client("tcp://myproto.example.com:31337", $errno, $errstr, 30);
if (!$fp) {
    die("Unable to connect: $errstr ($errno)");
}

/* Turn on encryption for login phase */
stream_socket_enable_crypto($fp, true, STREAM_CRYPTO_METHOD_SSLv23_CLIENT);
fwrite($fp, "USER god\r\n");
fwrite($fp, "PASS secret\r\n");

/* Turn off encryption for the rest */
stream_socket_enable_crypto($fp, false);

while ($motd = fgets($fp)) {
    echo $motd;
}

fclose($fp);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Siehe auch

  • OpenSSL Funktionen
    •

  • Liste der unterstützten Socket-Transporter
    •

stream_socket_client

stream_socket_get_name

Stream Funktionen


Retrieve the name of the local or remote sockets

stream_socket_enable_crypto
stream_socket_pair
Stream Funktionen
PHP Manual

stream_socket_get_name

(PHP 5, PHP 7)

stream_socket_get_name — Retrieve the name of the local or remote sockets

Beschreibung

string stream_socket_get_name ( resource $handle , bool $want_peer )

Returns the local or remote name of a given socket connection.

Parameter-Liste

handle

The socket to get the name of.

want_peer

If set to TRUE the remote socket name will be returned, if set to FALSE the local socket name will be returned.

Rückgabewerte

The name of the socket.

Siehe auch

  • stream_socket_accept() - Accept a connection on a socket created by stream_socket_server

stream_socket_enable_crypto
stream_socket_pair
Stream Funktionen


Creates a pair of connected, indistinguishable socket streams

stream_socket_get_name
stream_socket_recvfrom
Stream Funktionen
PHP Manual

stream_socket_pair

(PHP 5 >= 5.1.0, PHP 7)

stream_socket_pair — Creates a pair of connected, indistinguishable socket streams

Beschreibung

array stream_socket_pair ( int $domain , int $type , int $protocol )

stream_socket_pair() creates a pair of connected, indistinguishable socket streams. This function is commonly used in IPC (Inter-Process Communication).

Parameter-Liste

domain

The protocol family to be used: STREAM_PF_INET, STREAM_PF_INET6 or STREAM_PF_UNIX

type

The type of communication to be used: STREAM_SOCK_DGRAM, STREAM_SOCK_RAW, STREAM_SOCK_RDM, STREAM_SOCK_SEQPACKET or STREAM_SOCK_STREAM

protocol

The protocol to be used: STREAM_IPPROTO_ICMP, STREAM_IPPROTO_IP, STREAM_IPPROTO_RAW, STREAM_IPPROTO_TCP or STREAM_IPPROTO_UDP

Hinweis: Please consult the Streams constant list for further details on each constant.

Rückgabewerte

Returns an array with the two socket resources on success, or FALSE on failure.

Changelog

Version | Beschreibung
5.3.0 | This function is now available on Windows platforms.

Beispiele

Beispiel #1 A stream_socket_pair() example

This example shows the basic usage of stream_socket_pair() in Inter-Process Comunication.

<?php

$sockets = stream_socket_pair(STREAM_PF_UNIX, STREAM_SOCK_STREAM, STREAM_IPPROTO_IP);
$pid     = pcntl_fork();

if ($pid == -1) {
     die('could not fork');

} else if ($pid) {
     /* parent */
    fclose($sockets[0]);

    fwrite($sockets[1], "child PID: $pid\n");
    echo fgets($sockets[1]);

    fclose($sockets[1]);

} else {
    /* child */
    fclose($sockets[1]);

    fwrite($sockets[0], "message from child\n");
    echo fgets($sockets[0]);

    fclose($sockets[0]);
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

child PID: 1378
message from child

stream_socket_get_name
stream_socket_recvfrom
Stream Funktionen


Receives data from a socket, connected or not

stream_socket_pair
stream_socket_sendto
Stream Funktionen
PHP Manual

stream_socket_recvfrom

(PHP 5, PHP 7)

stream_socket_recvfrom — Receives data from a socket, connected or not

Beschreibung

string stream_socket_recvfrom ( resource $socket , int $length [, int $flags = 0 [, string &$address ]] )

stream_socket_recvfrom() accepts data from a remote socket up to length bytes.

Parameter-Liste

socket

The remote socket.

length

The number of bytes to receive from the socket.

flags

The value of flags can be any combination of the following:

Possible values for flags
STREAM_OOB | Process OOB (out-of-band) data.
STREAM_PEEK | Retrieve data from the socket, but do not consume the buffer. Subsequent calls to fread() or stream_socket_recvfrom() will see the same data.

address

If address is provided it will be populated with the address of the remote socket.

Rückgabewerte

Returns the read data, as a string

Beispiele

Beispiel #1 stream_socket_recvfrom() example

<?php
/* Open a server socket to port 1234 on localhost */
$server = stream_socket_server('tcp://127.0.0.1:1234');

/* Accept a connection */
$socket = stream_socket_accept($server);

/* Grab a packet (1500 is a typical MTU size) of OOB data */
echo "Received Out-Of-Band: '" . stream_socket_recvfrom($socket, 1500, STREAM_OOB) . "'\n";

/* Take a peek at the normal in-band data, but don't comsume it. */
echo "Data: '" . stream_socket_recvfrom($socket, 1500, STREAM_PEEK) . "'\n";

/* Get the exact same packet again, but remove it from the buffer this time. */
echo "Data: '" . stream_socket_recvfrom($socket, 1500) . "'\n";

/* Close it up */
fclose($socket);
fclose($server);
?>

Anmerkungen

Hinweis:

If a message received is longer than the length parameter, excess bytes may be discarded depending on the type of socket the message is received from (such as UDP).

Hinweis:

Calls to stream_socket_recvfrom() on socket-based streams, after calls to buffer-based stream functions (like fread() or stream_get_line()) read data directly from the socket and bypass the stream buffer.

Siehe auch

  • stream_socket_sendto() - Sends a message to a socket, whether it is connected or not
  • stream_socket_client() - Open Internet or Unix domain socket connection
  • stream_socket_server() - Create an Internet or Unix domain server socket
stream_socket_pair
stream_socket_sendto
Stream Funktionen


Sends a message to a socket, whether it is connected or not

stream_socket_recvfrom
stream_socket_server
Stream Funktionen
PHP Manual

stream_socket_sendto

(PHP 5, PHP 7)

stream_socket_sendto — Sends a message to a socket, whether it is connected or not

Beschreibung

int stream_socket_sendto ( resource $socket , string $data [, int $flags = 0 [, string $address ]] )

Sends the specified data through the socket.

Parameter-Liste

socket

The socket to send data to.

data

The data to be sent.

flags

The value of flags can be any combination of the following:

possible values for flags
STREAM_OOB Process OOB (out-of-band) data.

address

The address specified when the socket stream was created will be used unless an alternate address is specified in address.

If specified, it must be in dotted quad (or [ipv6]) format.

Rückgabewerte

Returns a result code, as an integer.

Beispiele

Beispiel #1 stream_socket_sendto() Example

<?php
/* Open a socket to port 1234 on localhost */
$socket = stream_socket_client('tcp://127.0.0.1:1234');

/* Send ordinary data via ordinary channels. */
fwrite($socket, "Normal data transmit.");

/* Send more data out of band. */
stream_socket_sendto($socket, "Out of Band data.", STREAM_OOB);

/* Close it up */
fclose($socket);
?>

Siehe auch

  • stream_socket_recvfrom() - Receives data from a socket, connected or not
  • stream_socket_client() - Open Internet or Unix domain socket connection
  • stream_socket_server() - Create an Internet or Unix domain server socket
stream_socket_recvfrom
stream_socket_server
Stream Funktionen


Create an Internet or Unix domain server socket

stream_socket_sendto
stream_socket_shutdown
Stream Funktionen
PHP Manual

stream_socket_server

(PHP 5, PHP 7)

stream_socket_server — Create an Internet or Unix domain server socket

Beschreibung

resource stream_socket_server ( string $local_socket [, int &$errno [, string &$errstr [, int $flags = STREAM_SERVER_BIND | STREAM_SERVER_LISTEN [, resource $context ]]]] )

Creates a stream or datagram socket on the specified local_socket.

This function only creates a socket, to begin accepting connections use stream_socket_accept().

Parameter-Liste

local_socket

The type of socket created is determined by the transport specified using standard URL formatting: transport://target.

For Internet Domain sockets (AF_INET) such as TCP and UDP, the target portion of the remote_socket parameter should consist of a hostname or IP address followed by a colon and a port number. For Unix domain sockets, the target portion should point to the socket file on the filesystem.

Depending on the environment, Unix domain sockets may not be available. A list of available transports can be retrieved using stream_get_transports(). See Liste der unterstützten Socket-Transporter for a list of bulitin transports.

errno

If the optional errno and errstr arguments are present they will be set to indicate the actual system level error that occurred in the system-level socket(), bind(), and listen() calls. If the value returned in errno is 0 and the function returned FALSE, it is an indication that the error occurred before the bind() call. This is most likely due to a problem initializing the socket. Note that the errno and errstr arguments will always be passed by reference.

errstr

See errno description.

flags

A bitmask field which may be set to any combination of socket creation flags.

Hinweis:

For UDP sockets, you must use STREAM_SERVER_BIND as the flags parameter.

context

Rückgabewerte

Returns the created stream, or FALSE on error.

Beispiele

Beispiel #1 Using TCP server sockets

<?php
$socket = stream_socket_server("tcp://0.0.0.0:8000", $errno, $errstr);
if (!$socket) {
  echo "$errstr ($errno)<br />\n";
} else {
  while ($conn = stream_socket_accept($socket)) {
    fwrite($conn, 'The local time is ' . date('n/j/Y g:i a') . "\n");
    fclose($conn);
  }
  fclose($socket);
}
?>

The example below shows how to act as a time server which can respond to time queries as shown in an example on stream_socket_client().

Hinweis: Most systems require root access to create a server socket on a port below 1024.

Beispiel #2 Using UDP server sockets

<?php
$socket = stream_socket_server("udp://127.0.0.1:1113", $errno, $errstr, STREAM_SERVER_BIND);
if (!$socket) {
    die("$errstr ($errno)");
}

do {
    $pkt = stream_socket_recvfrom($socket, 1, 0, $peer);
    echo "$peer\n";
    stream_socket_sendto($socket, date("D M j H:i:s Y\r\n"), 0, $peer);
} while ($pkt !== false);

?>

Anmerkungen

Hinweis: Wenn Sie eine numerische IPv6-Adresse angeben, z.B. fe80::1, müssen Sie die IP in eckige Klammern schreiben, z.B. tcp://[fe80::1]:80.

Siehe auch

  • stream_socket_client() - Open Internet or Unix domain socket connection
  • stream_set_blocking() - Set blocking/non-blocking mode on a stream
  • stream_set_timeout() - Set timeout period on a stream
  • fgets() - Liest eine Zeile von der Position des Dateizeigers
  • fgetss() - Liest eine Zeile von der Position des Dateizeigers und entfernt HTML Tags.
  • fwrite() - Binär-sicheres Dateischreiben
  • fclose() - Schließt einen offenen Dateizeiger
  • feof() - Prüft, ob ein Dateizeiger am Ende der Datei steht
  • Curl extension
stream_socket_sendto
stream_socket_shutdown
Stream Funktionen


Shutdown a full-duplex connection

stream_socket_server
stream_supports_lock
Stream Funktionen
PHP Manual

stream_socket_shutdown

(PHP 5 >= 5.2.1, PHP 7)

stream_socket_shutdown — Shutdown a full-duplex connection

Beschreibung

bool stream_socket_shutdown ( resource $stream , int $how )

Shutdowns (partially or not) a full-duplex connection.

Hinweis:

The associated buffer, or buffers, may or may not be emptied.

Parameter-Liste

stream

An open stream (opened with stream_socket_client(), for example)

how

One of the following constants: STREAM_SHUT_RD (disable further receptions), STREAM_SHUT_WR (disable further transmissions) or STREAM_SHUT_RDWR (disable further receptions and transmissions).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 A stream_socket_shutdown() example

<?php

$server = stream_socket_server('tcp://127.0.0.1:1337');
$client = stream_socket_client('tcp://127.0.0.1:1337');

var_dump(fputs($client, "hello"));

stream_socket_shutdown($client, STREAM_SHUT_WR);
var_dump(fputs($client, "hello")); // doesn't work now

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(5)

Notice: fputs(): send of 5 bytes failed with errno=32 Broken pipe in test.php on line 9
int(0)

Siehe auch

  • fclose() - Schließt einen offenen Dateizeiger

stream_socket_server
stream_supports_lock
Stream Funktionen


Tells whether the stream supports locking.

stream_socket_shutdown
stream_wrapper_register
Stream Funktionen
PHP Manual

stream_supports_lock

(PHP 5 >= 5.3.0, PHP 7)

stream_supports_lock — Tells whether the stream supports locking.

Beschreibung

bool stream_supports_lock ( resource $stream )

Tells whether the stream supports locking through flock().

Parameter-Liste

stream

The stream to check.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • flock() - Portables Datei-Sperr-Verfahren (advisory locking)

stream_socket_shutdown
stream_wrapper_register
Stream Funktionen


Register a URL wrapper implemented as a PHP class

stream_supports_lock
stream_wrapper_restore
Stream Funktionen
PHP Manual

stream_wrapper_register

(PHP 4 >= 4.3.2, PHP 5, PHP 7)

stream_wrapper_register — Register a URL wrapper implemented as a PHP class

Beschreibung

bool stream_wrapper_register ( string $protocol , string $classname [, int $flags = 0 ] )

Allows you to implement your own protocol handlers and streams for use with all the other filesystem functions (such as fopen(), fread() etc.).

Parameter-Liste

protocol

The wrapper name to be registered.

classname

The classname which implements the protocol.

flags

Should be set to STREAM_IS_URL if protocol is a URL protocol. Default is 0, local stream.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

stream_wrapper_register() will return FALSE if the protocol already has a handler.

Changelog

Version | Beschreibung
5.2.4 | Added the flags parameter.

Beispiele

Beispiel #1 How to register a stream wrapper

<?php
$existed = in_array("var", stream_get_wrappers());
if ($existed) {
    stream_wrapper_unregister("var");
}
stream_wrapper_register("var", "VariableStream");
$myvar = "";

$fp = fopen("var://myvar", "r+");

fwrite($fp, "line1\n");
fwrite($fp, "line2\n");
fwrite($fp, "line3\n");

rewind($fp);
while (!feof($fp)) {
    echo fgets($fp);
}
fclose($fp);
var_dump($myvar);

if ($existed) {
    stream_wrapper_restore("var");
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

line1
line2
line3
string(18) "line1
line2
line3
"

Siehe auch

  • The streamWrapper prototype class
  • Example class registered as stream wrapper
  • stream_wrapper_unregister() - Unregister a URL wrapper
  • stream_wrapper_restore() - Restores a previously unregistered built-in wrapper
  • stream_get_wrappers() - Retrieve list of registered streams

stream_supports_lock
stream_wrapper_restore
Stream Funktionen


Restores a previously unregistered built-in wrapper

stream_wrapper_register
stream_wrapper_unregister
Stream Funktionen
PHP Manual

stream_wrapper_restore

(PHP 5 >= 5.1.0, PHP 7)

stream_wrapper_restore — Restores a previously unregistered built-in wrapper

Beschreibung

bool stream_wrapper_restore ( string $protocol )

Restores a built-in wrapper previously unregistered with stream_wrapper_unregister().

Parameter-Liste

protocol

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

stream_wrapper_register
stream_wrapper_unregister
Stream Funktionen


Unregister a URL wrapper

stream_wrapper_restore
Tidy
Stream Funktionen
PHP Manual

stream_wrapper_unregister

(PHP 5 >= 5.1.0, PHP 7)

stream_wrapper_unregister — Unregister a URL wrapper

Beschreibung

bool stream_wrapper_unregister ( string $protocol )

Allows you to disable an already defined stream wrapper. Once the wrapper has been disabled you may override it with a user-defined wrapper using stream_wrapper_register() or reenable it later on with stream_wrapper_restore().

Parameter-Liste

protocol

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

stream_wrapper_restore
Tidy
Stream Funktionen


Tidy

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • Tidy example
  • tidy — The tidy class
    • tidy::body — Returns a tidyNode object starting from the <body> tag of the tidy parse tree
    • tidy::cleanRepair — Execute configured cleanup and repair operations on parsed markup
    • tidy::__construct — Constructs a new tidy object
    • tidy::diagnose — Run configured diagnostics on parsed and repaired markup
    • tidy::$errorBuffer — Return warnings and errors which occurred parsing the specified document
    • tidy::getConfig — Get current Tidy configuration
    • tidy::getHtmlVer — Get the Detected HTML version for the specified document
    • tidy::getOpt — Returns the value of the specified configuration option for the tidy document
    • tidy::getOptDoc — Returns the documentation for the given option name
    • tidy::getRelease — Get release date (version) for Tidy library
    • tidy::getStatus — Get status of specified document
    • tidy::head — Returns a tidyNode object starting from the <head> tag of the tidy parse tree
    • tidy::html — Returns a tidyNode object starting from the <html> tag of the tidy parse tree
    • tidy::isXhtml — Indicates if the document is a XHTML document
    • tidy::isXml — Indicates if the document is a generic (non HTML/XHTML) XML document
    • tidy::parseFile — Parse markup in file or URI
    • tidy::parseString — Parse a document stored in a string
    • tidy::repairFile — Repair a file and return it as a string
    • tidy::repairString — Repair a string using an optionally provided configuration file
    • tidy::root — Returns a tidyNode object representing the root of the tidy parse tree
  • tidyNode — The tidyNode class
    • tidyNode::getParent — Returns the parent node of the current node
    • tidyNode::hasChildren — Checks if a node has children
    • tidyNode::hasSiblings — Checks if a node has siblings
    • tidyNode::isAsp — Checks if this node is ASP
    • tidyNode::isComment — Checks if a node represents a comment
    • tidyNode::isHtml — Checks if a node is part of a HTML document
    • tidyNode::isJste — Checks if this node is JSTE
    • tidyNode::isPhp — Checks if a node is PHP
    • tidyNode::isText — Checks if a node represents text (no markup)
  • Tidy Funktionen
    • ob_tidyhandler — ob_start callback function to repair the buffer
    • tidy_access_count — Returns the Number of Tidy accessibility warnings encountered for specified document
    • tidy_config_count — Returns the Number of Tidy configuration errors encountered for specified document
    • tidy_error_count — Returns the Number of Tidy errors encountered for specified document
    • tidy_get_output — Return a string representing the parsed tidy markup
    • tidy_load_config — Load an ASCII Tidy configuration file with the specified encoding
    • tidy_reset_config — Restore Tidy configuration to default values
    • tidy_save_config — Save current settings to named file
    • tidy_set_encoding — Set the input/output character encoding for parsing markup
    • tidy_setopt — Updates the configuration settings for the specified tidy document
    • tidy_warning_count — Returns the Number of Tidy warnings encountered for specified document
stream_wrapper_unregister
Einführung
Sonstige Grunderweiterungen


Einführung

Tidy is a binding for the Tidy HTML clean and repair utility which allows you to not only clean and otherwise manipulate HTML documents, but also traverse the document tree.

Tidy
Installation/Konfiguration
Tidy


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Tidy


Anforderungen

To use Tidy, you will need libtidy installed, available on the tidy homepage » http://tidy.sourceforge.net/.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

This extension is bundled with PHP 5 and greater, and is installed using the --with-tidy configure option.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Tidy Configuration Options
Name | Standard | Veränderbar | Changelog
tidy.default_config | "" | PHP_INI_SYSTEM |
tidy.clean_output | "0" | PHP_INI_USER | PHP_INI_PERDIR prior to PHP 5.4.0
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

tidy.default_config string

Default path for tidy config file.

tidy.clean_output boolean

Turns on/off the output repairing by Tidy.

Warnung

Do not turn on tidy.clean_output if you are generating non-html content such as dynamic images.

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

Each TIDY_TAG_XXX represents a HTML tag. For example, TIDY_TAG_A represents a "<a href="XX">link</a>" tag. Each TIDY_ATTR_XXX represents a HTML attribute. For example TIDY_ATTR_HREF would represent the href attribute in the previous example.

The following constants are defined:

tidy tag constants
constant
TIDY_TAG_UNKNOWN
TIDY_TAG_A
TIDY_TAG_ABBR
TIDY_TAG_ACRONYM
TIDY_TAG_ALIGN
TIDY_TAG_APPLET
TIDY_TAG_AREA
TIDY_TAG_B
TIDY_TAG_BASE
TIDY_TAG_BASEFONT
TIDY_TAG_BDO
TIDY_TAG_BGSOUND
TIDY_TAG_BIG
TIDY_TAG_BLINK
TIDY_TAG_BLOCKQUOTE
TIDY_TAG_BODY
TIDY_TAG_BR
TIDY_TAG_BUTTON
TIDY_TAG_CAPTION
TIDY_TAG_CENTER
TIDY_TAG_CITE
TIDY_TAG_CODE
TIDY_TAG_COL
TIDY_TAG_COLGROUP
TIDY_TAG_COMMENT
TIDY_TAG_DD
TIDY_TAG_DEL
TIDY_TAG_DFN
TIDY_TAG_DIR
TIDY_TAG_DIV
TIDY_TAG_DL
TIDY_TAG_DT
TIDY_TAG_EM
TIDY_TAG_EMBED
TIDY_TAG_FIELDSET
TIDY_TAG_FONT
TIDY_TAG_FORM
TIDY_TAG_FRAME
TIDY_TAG_FRAMESET
TIDY_TAG_H1
TIDY_TAG_H2
TIDY_TAG_H3
TIDY_TAG_H4
TIDY_TAG_H5
TIDY_TAG_H6
TIDY_TAG_HEAD
TIDY_TAG_HR
TIDY_TAG_HTML
TIDY_TAG_I
TIDY_TAG_IFRAME
TIDY_TAG_ILAYER
TIDY_TAG_IMG
TIDY_TAG_INPUT
TIDY_TAG_INS
TIDY_TAG_ISINDEX
TIDY_TAG_KBD
TIDY_TAG_KEYGEN
TIDY_TAG_LABEL
TIDY_TAG_LAYER
TIDY_TAG_LEGEND
TIDY_TAG_LI
TIDY_TAG_LINK
TIDY_TAG_LISTING
TIDY_TAG_MAP
TIDY_TAG_MARQUEE
TIDY_TAG_MENU
TIDY_TAG_META
TIDY_TAG_MULTICOL
TIDY_TAG_NOBR
TIDY_TAG_NOEMBED
TIDY_TAG_NOFRAMES
TIDY_TAG_NOLAYER
TIDY_TAG_NOSAVE
TIDY_TAG_NOSCRIPT
TIDY_TAG_OBJECT
TIDY_TAG_OL
TIDY_TAG_OPTGROUP
TIDY_TAG_OPTION
TIDY_TAG_P
TIDY_TAG_PARAM
TIDY_TAG_PLAINTEXT
TIDY_TAG_PRE
TIDY_TAG_Q
TIDY_TAG_RP
TIDY_TAG_RT
TIDY_TAG_RTC
TIDY_TAG_RUBY
TIDY_TAG_S
TIDY_TAG_SAMP
TIDY_TAG_SCRIPT
TIDY_TAG_SELECT
TIDY_TAG_SERVER
TIDY_TAG_SERVLET
TIDY_TAG_SMALL
TIDY_TAG_SPACER
TIDY_TAG_SPAN
TIDY_TAG_STRIKE
TIDY_TAG_STRONG
TIDY_TAG_STYLE
TIDY_TAG_SUB
TIDY_TAG_TABLE
TIDY_TAG_TBODY
TIDY_TAG_TD
TIDY_TAG_TEXTAREA
TIDY_TAG_TFOOT
TIDY_TAG_TH
TIDY_TAG_THEAD
TIDY_TAG_TITLE
TIDY_TAG_TR
TIDY_TAG_TT
TIDY_TAG_U
TIDY_TAG_UL
TIDY_TAG_VAR
TIDY_TAG_WBR
TIDY_TAG_XMP

tidy attribute constants
constant
TIDY_ATTR_UNKNOWN
TIDY_ATTR_ABBR
TIDY_ATTR_ACCEPT
TIDY_ATTR_ACCEPT_CHARSET
TIDY_ATTR_ACCESSKEY
TIDY_ATTR_ACTION
TIDY_ATTR_ADD_DATE
TIDY_ATTR_ALIGN
TIDY_ATTR_ALINK
TIDY_ATTR_ALT
TIDY_ATTR_ARCHIVE
TIDY_ATTR_AXIS
TIDY_ATTR_BACKGROUND
TIDY_ATTR_BGCOLOR
TIDY_ATTR_BGPROPERTIES
TIDY_ATTR_BORDER
TIDY_ATTR_BORDERCOLOR
TIDY_ATTR_BOTTOMMARGIN
TIDY_ATTR_CELLPADDING
TIDY_ATTR_CELLSPACING
TIDY_ATTR_CHAR
TIDY_ATTR_CHAROFF
TIDY_ATTR_CHARSET
TIDY_ATTR_CHECKED
TIDY_ATTR_CITE
TIDY_ATTR_CLASS
TIDY_ATTR_CLASSID
TIDY_ATTR_CLEAR
TIDY_ATTR_CODE
TIDY_ATTR_CODEBASE
TIDY_ATTR_CODETYPE
TIDY_ATTR_COLOR
TIDY_ATTR_COLS
TIDY_ATTR_COLSPAN
TIDY_ATTR_COMPACT
TIDY_ATTR_CONTENT
TIDY_ATTR_COORDS
TIDY_ATTR_DATA
TIDY_ATTR_DATAFLD
TIDY_ATTR_DATAPAGESIZE
TIDY_ATTR_DATASRC
TIDY_ATTR_DATETIME
TIDY_ATTR_DECLARE
TIDY_ATTR_DEFER
TIDY_ATTR_DIR
TIDY_ATTR_DISABLED
TIDY_ATTR_ENCODING
TIDY_ATTR_ENCTYPE
TIDY_ATTR_FACE
TIDY_ATTR_FOR
TIDY_ATTR_FRAME
TIDY_ATTR_FRAMEBORDER
TIDY_ATTR_FRAMESPACING
TIDY_ATTR_GRIDX
TIDY_ATTR_GRIDY
TIDY_ATTR_HEADERS
TIDY_ATTR_HEIGHT
TIDY_ATTR_HREF
TIDY_ATTR_HREFLANG
TIDY_ATTR_HSPACE
TIDY_ATTR_HTTP_EQUIV
TIDY_ATTR_ID
TIDY_ATTR_ISMAP
TIDY_ATTR_LABEL
TIDY_ATTR_LANG
TIDY_ATTR_LANGUAGE
TIDY_ATTR_LAST_MODIFIED
TIDY_ATTR_LAST_VISIT
TIDY_ATTR_LEFTMARGIN
TIDY_ATTR_LINK
TIDY_ATTR_LONGDESC
TIDY_ATTR_LOWSRC
TIDY_ATTR_MARGINHEIGHT
TIDY_ATTR_MARGINWIDTH
TIDY_ATTR_MAXLENGTH
TIDY_ATTR_MEDIA
TIDY_ATTR_METHOD
TIDY_ATTR_MULTIPLE
TIDY_ATTR_NAME
TIDY_ATTR_NOHREF
TIDY_ATTR_NORESIZE
TIDY_ATTR_NOSHADE
TIDY_ATTR_NOWRAP
TIDY_ATTR_OBJECT
TIDY_ATTR_OnAFTERUPDATE
TIDY_ATTR_OnBEFOREUNLOAD
TIDY_ATTR_OnBEFOREUPDATE
TIDY_ATTR_OnBLUR
TIDY_ATTR_OnCHANGE
TIDY_ATTR_OnCLICK
TIDY_ATTR_OnDATAAVAILABLE
TIDY_ATTR_OnDATASETCHANGED
TIDY_ATTR_OnDATASETCOMPLETE
TIDY_ATTR_OnDBLCLICK
TIDY_ATTR_OnERRORUPDATE
TIDY_ATTR_OnFOCUS
TIDY_ATTR_OnKEYDOWN
TIDY_ATTR_OnKEYPRESS
TIDY_ATTR_OnKEYUP
TIDY_ATTR_OnLOAD
TIDY_ATTR_OnMOUSEDOWN
TIDY_ATTR_OnMOUSEMOVE
TIDY_ATTR_OnMOUSEOUT
TIDY_ATTR_OnMOUSEOVER
TIDY_ATTR_OnMOUSEUP
TIDY_ATTR_OnRESET
TIDY_ATTR_OnROWENTER
TIDY_ATTR_OnROWEXIT
TIDY_ATTR_OnSELECT
TIDY_ATTR_OnSUBMIT
TIDY_ATTR_OnUNLOAD
TIDY_ATTR_PROFILE
TIDY_ATTR_PROMPT
TIDY_ATTR_RBSPAN
TIDY_ATTR_READONLY
TIDY_ATTR_REL
TIDY_ATTR_REV
TIDY_ATTR_RIGHTMARGIN
TIDY_ATTR_ROWS
TIDY_ATTR_ROWSPAN
TIDY_ATTR_RULES
TIDY_ATTR_SCHEME
TIDY_ATTR_SCOPE
TIDY_ATTR_SCROLLING
TIDY_ATTR_SELECTED
TIDY_ATTR_SHAPE
TIDY_ATTR_SHOWGRID
TIDY_ATTR_SHOWGRIDX
TIDY_ATTR_SHOWGRIDY
TIDY_ATTR_SIZE
TIDY_ATTR_SPAN
TIDY_ATTR_SRC
TIDY_ATTR_STANDBY
TIDY_ATTR_START
TIDY_ATTR_STYLE
TIDY_ATTR_SUMMARY
TIDY_ATTR_TABINDEX
TIDY_ATTR_TARGET
TIDY_ATTR_TEXT
TIDY_ATTR_TITLE
TIDY_ATTR_TOPMARGIN
TIDY_ATTR_TYPE
TIDY_ATTR_USEMAP
TIDY_ATTR_VALIGN
TIDY_ATTR_VALUE
TIDY_ATTR_VALUETYPE
TIDY_ATTR_VERSION
TIDY_ATTR_VLINK
TIDY_ATTR_VSPACE
TIDY_ATTR_WIDTH
TIDY_ATTR_WRAP
TIDY_ATTR_XML_LANG
TIDY_ATTR_XML_SPACE
TIDY_ATTR_XMLNS

tidy nodetype constants
constant | description
TIDY_NODETYPE_ROOT | root node
TIDY_NODETYPE_DOCTYPE | doctype
TIDY_NODETYPE_COMMENT | HTML comment
TIDY_NODETYPE_PROCINS | Processing Instruction
TIDY_NODETYPE_TEXT | Text
TIDY_NODETYPE_START | start tag
TIDY_NODETYPE_END | end tag
TIDY_NODETYPE_STARTEND | empty tag
TIDY_NODETYPE_CDATA | CDATA
TIDY_NODETYPE_SECTION | XML section
TIDY_NODETYPE_ASP | ASP code
TIDY_NODETYPE_JSTE | JSTE code
TIDY_NODETYPE_PHP | PHP code
TIDY_NODETYPE_XMLDECL | XML declaration

Ressource-Typen
Beispiele
Tidy


Beispiele

Inhaltsverzeichnis

  • Tidy example
Vordefinierte Konstanten
Tidy example
Tidy


Tidy example

This simple example shows basic Tidy usage.

Beispiel #1 Basic Tidy usage

<?php
ob_start();
?>
<html>a html document</html>
<?php
$html = ob_get_clean();

// Specify configuration
$config = array(
           'indent'         => true,
           'output-xhtml'   => true,
           'wrap'           => 200);

// Tidy
$tidy = new tidy;
$tidy->parseString($html, $config, 'utf8');
$tidy->cleanRepair();

// Output
echo $tidy;
?>

Beispiele
tidy
Beispiele


The tidy class

(PHP 5, PHP 7, PECL tidy >= 0.5.2)

Einführung

An HTML node in an HTML file, as detected by tidy.

Klassenbeschreibung

tidy {
/* Eigenschaften */
string $errorBuffer;
/* Methoden */
tidyNode body ( void )
bool cleanRepair ( void )
__construct ([ string $filename [, mixed $config [, string $encoding [, bool $use_include_path ]]]] )
bool diagnose ( void )
array getConfig ( void )
int getHtmlVer ( void )
mixed getOpt ( string $option )
string getOptDoc ( string $optname )
string getRelease ( void )
int getStatus ( void )
tidyNode head ( void )
tidyNode html ( void )
bool isXhtml ( void )
bool isXml ( void )
bool parseFile ( string $filename [, mixed $config [, string $encoding [, bool $use_include_path = false ]]] )
bool parseString ( string $input [, mixed $config [, string $encoding ]] )
string repairFile ( string $filename [, mixed $config [, string $encoding [, bool $use_include_path = false ]]] )
string repairString ( string $data [, mixed $config [, string $encoding ]] )
tidyNode root ( void )
}

Inhaltsverzeichnis

  • tidy::body — Returns a tidyNode object starting from the <body> tag of the tidy parse tree
  • tidy::cleanRepair — Execute configured cleanup and repair operations on parsed markup
  • tidy::__construct — Constructs a new tidy object
  • tidy::diagnose — Run configured diagnostics on parsed and repaired markup
  • tidy::$errorBuffer — Return warnings and errors which occurred parsing the specified document
  • tidy::getConfig — Get current Tidy configuration
  • tidy::getHtmlVer — Get the Detected HTML version for the specified document
  • tidy::getOpt — Returns the value of the specified configuration option for the tidy document
  • tidy::getOptDoc — Returns the documentation for the given option name
  • tidy::getRelease — Get release date (version) for Tidy library
  • tidy::getStatus — Get status of specified document
  • tidy::head — Returns a tidyNode object starting from the <head> tag of the tidy parse tree
  • tidy::html — Returns a tidyNode object starting from the <html> tag of the tidy parse tree
  • tidy::isXhtml — Indicates if the document is a XHTML document
  • tidy::isXml — Indicates if the document is a generic (non HTML/XHTML) XML document
  • tidy::parseFile — Parse markup in file or URI
  • tidy::parseString — Parse a document stored in a string
  • tidy::repairFile — Repair a file and return it as a string
  • tidy::repairString — Repair a string using an optionally provided configuration file
  • tidy::root — Returns a tidyNode object representing the root of the tidy parse tree
Tidy example
tidy::body
Tidy


Returns a tidyNode object starting from the <body> tag of the tidy parse tree

tidy
tidy::cleanRepair
tidy
PHP Manual

tidy::body

tidy_get_body

(PHP 5, PHP 7, PECL tidy 0.5.2-1.0)

tidy::body -- tidy_get_body — Returns a tidyNode object starting from the <body> tag of the tidy parse tree

Beschreibung

Objektorientierter Stil

tidyNode tidy::body ( void )

Prozeduraler Stil

tidyNode tidy_get_body ( tidy $object )

Returns a tidyNode object starting from the <body> tag of the tidy parse tree.

Parameter-Liste

object

Das Tidy Objekt.

Rückgabewerte

Returns a tidyNode object starting from the <body> tag of the tidy parse tree.

Beispiele

Beispiel #1 tidy::getBody() example

<?php
$html = '
<html>
  <head>
    <title>test</title>
  </head>
  <body>
    <p>paragraph</p>
  </body>
</html>';

$tidy = tidy_parse_string($html);

$body = $tidy->Body();
echo $body->value;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<body>
<p>paragraph</p>
</body>

Anmerkungen

Hinweis: Diese Funktion wird nur von der Zend Engine 2 (PHP >= 5.0.0) unterstützt.

Siehe auch

  • tidy::head() - Returns a tidyNode object starting from the <head> tag of the tidy parse tree
  • tidy::html() - Returns a tidyNode object starting from the <html> tag of the tidy parse tree
tidy
tidy::cleanRepair
tidy


Execute configured cleanup and repair operations on parsed markup

tidy::body
tidy::__construct
tidy
PHP Manual

tidy::cleanRepair

tidy_clean_repair

(PHP 5, PHP 7, PECL tidy >= 0.5.2)

tidy::cleanRepair -- tidy_clean_repair — Execute configured cleanup and repair operations on parsed markup

Beschreibung

Objektorientierter Stil

bool tidy::cleanRepair ( void )

Prozeduraler Stil

bool tidy_clean_repair ( tidy $object )

This function cleans and repairs the given tidy object.

Parameter-Liste

object

Das Tidy Objekt.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 tidy::cleanrepair() example

<?php
$html = '<p>test</I>';

$tidy = tidy_parse_string($html);
$tidy->cleanRepair();

echo $tidy;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title></title>
</head>
<body>
<p>test</p>
</body>
</html>

Siehe auch

  • tidy::repairFile() - Repair a file and return it as a string
  • tidy::repairString() - Repair a string using an optionally provided configuration file
tidy::body
tidy::__construct
tidy


Constructs a new tidy object

tidy::cleanRepair
tidy::diagnose
tidy
PHP Manual

tidy::__construct

(PHP 5, PHP 7, PECL tidy >= 0.5.2)

tidy::__construct — Constructs a new tidy object

Beschreibung

tidy::__construct ([ string $filename [, mixed $config [, string $encoding [, bool $use_include_path ]]]] )

Constructs a new tidy object.

Parameter-Liste

filename

If the filename parameter is given, this function will also read that file and initialize the object with the file, acting like tidy_parse_file().

config

The config config can be passed either as an array or as a string. If a string is passed, it is interpreted as the name of the configuration file, otherwise, it is interpreted as the options themselves.

For an explanation about each option, visit » http://tidy.sourceforge.net/docs/quickref.html.

encoding

The encoding parameter sets the encoding for input/output documents. The possible values for encoding are: ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5, and shiftjis.

use_include_path

Search for the file in the include_path.

Rückgabewerte

Returns the new tidy instance.

Beispiele

Beispiel #1 tidy::__construct() example

<?php

$html = <<< HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head><title>title</title></head>
<body>
<p>paragraph <bt />
text</p>
</body></html>

HTML;

$tidy = new tidy();
$tidy->ParseString($html);

$tidy->cleanRepair();

if ($tidy->errorBuffer) {
    echo "The following errors were detected:\n";
    echo $tidy->errorBuffer;
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

The following errors were detected:
line 8 column 14 - Error: <bt> is not recognized!
line 8 column 14 - Warning: discarding unexpected <bt>

Siehe auch

  • tidy::parseFile() - Parse markup in file or URI
  • tidy::parseString() - Parse a document stored in a string
tidy::cleanRepair
tidy::diagnose
tidy


Run configured diagnostics on parsed and repaired markup

tidy::__construct
tidy::$errorBuffer
tidy
PHP Manual

tidy::diagnose

tidy_diagnose

(PHP 5, PHP 7, PECL tidy >= 0.5.2)

tidy::diagnose -- tidy_diagnose — Run configured diagnostics on parsed and repaired markup

Beschreibung

Objektorientierter Stil

bool tidy::diagnose ( void )

Prozeduraler Stil

bool tidy_diagnose ( tidy $object )

Runs diagnostic tests on the given tidy object, adding some more information about the document in the error buffer.

Parameter-Liste

object

Das Tidy Objekt.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 tidy::diagnose() example

<?php

$html = <<< HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<p>paragraph</p>
HTML;

$tidy = tidy_parse_string($html);
$tidy->cleanRepair();

// note the difference between the two outputs
echo $tidy->errorBuffer . "\n";

$tidy->diagnose();
echo $tidy->errorBuffer;

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

line 4 column 1 - Warning: <p> isn't allowed in <head> elements
line 4 column 1 - Warning: inserting missing 'title' element
line 4 column 1 - Warning: <p> isn't allowed in <head> elements
line 4 column 1 - Warning: inserting missing 'title' element
Info: Doctype given is "-//W3C//DTD XHTML 1.0 Strict//EN"
Info: Document content looks like XHTML 1.0 Strict
2 warnings, 0 errors were found!

Siehe auch

  • tidy::errorBuffer()
tidy::__construct
tidy::$errorBuffer
tidy


Return warnings and errors which occurred parsing the specified document

tidy::diagnose
tidy::getConfig
tidy
PHP Manual

tidy::$errorBuffer

tidy_get_error_buffer

(PHP 5, PHP 7, PECL tidy >= 0.5.2)

tidy::$errorBuffer -- tidy_get_error_buffer — Return warnings and errors which occurred parsing the specified document

Beschreibung

Objektorientierter Stil (property):

string $tidy->errorBuffer;

Prozeduraler Stil:

string tidy_get_error_buffer ( tidy $tidy )

Returns warnings and errors which occurred parsing the specified document.

Parameter-Liste

tidy

Das Tidy Objekt.

Rückgabewerte

Returns the error buffer as a string.

Beispiele

Beispiel #1 tidy_get_error_buffer() example

<?php
$html = '<p>paragraph</p>';

$tidy = tidy_parse_string($html);

echo tidy_get_error_buffer($tidy);
/* or in OO: */
echo $tidy->errorBuffer;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 1 column 1 - Warning: inserting missing 'title' element

Siehe auch

  • tidy_access_count() - Returns the Number of Tidy accessibility warnings encountered for specified document
  • tidy_error_count() - Returns the Number of Tidy errors encountered for specified document
  • tidy_warning_count() - Returns the Number of Tidy warnings encountered for specified document
tidy::diagnose
tidy::getConfig
tidy


Get current Tidy configuration

tidy::$errorBuffer
tidy::getHtmlVer
tidy
PHP Manual

tidy::getConfig

tidy_get_config

(PHP 5, PHP 7, PECL tidy >= 0.7.0)

tidy::getConfig -- tidy_get_config — Get current Tidy configuration

Beschreibung

Objektorientierter Stil

array tidy::getConfig ( void )

Prozeduraler Stil

array tidy_get_config ( tidy $object )

Gets the list of the configuration options in use by the given tidy object.

Parameter-Liste

object

Das Tidy Objekt.

Rückgabewerte

Returns an array of configuration options.

For an explanation about each option, visit » http://tidy.sourceforge.net/docs/quickref.html.

Beispiele

Beispiel #1 tidy::getConfig() example

<?php
$html = '<p>test</p>';
$config = array('indent' => TRUE,
                'output-xhtml' => TRUE,
                'wrap' => 200);

$tidy = tidy_parse_string($html, $config);

print_r($tidy->getConfig());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [indent-spaces] => 2
    [wrap] => 200
    [tab-size] => 8
    [char-encoding] => 1
    [input-encoding] => 3
    [output-encoding] => 1
    [newline] => 1
    [doctype-mode] => 1
    [doctype] =>
    [repeated-attributes] => 1
    [alt-text] =>
    [slide-style] =>
    [error-file] =>
    [output-file] =>
    [write-back] =>
    [markup] => 1
    [show-warnings] => 1
    [quiet] =>
    [indent] => 1
    [hide-endtags] =>
    [input-xml] =>
    [output-xml] => 1
    [output-xhtml] => 1
    [output-html] =>
    [add-xml-decl] =>
    [uppercase-tags] =>
    [uppercase-attributes] =>
    [bare] =>
    [clean] =>
    [logical-emphasis] =>
    [drop-proprietary-attributes] =>
    [drop-font-tags] =>
    [drop-empty-paras] => 1
    [fix-bad-comments] => 1
    [break-before-br] =>
    [split] =>
    [numeric-entities] =>
    [quote-marks] =>
    [quote-nbsp] => 1
    [quote-ampersand] => 1
    [wrap-attributes] =>
    [wrap-script-literals] =>
    [wrap-sections] => 1
    [wrap-asp] => 1
    [wrap-jste] => 1
    [wrap-php] => 1
    [fix-backslash] => 1
    [indent-attributes] =>
    [assume-xml-procins] =>
    [add-xml-space] =>
    [enclose-text] =>
    [enclose-block-text] =>
    [keep-time] =>
    [word-2000] =>
    [tidy-mark] =>
    [gnu-emacs] =>
    [gnu-emacs-file] =>
    [literal-attributes] =>
    [show-body-only] =>
    [fix-uri] => 1
    [lower-literals] => 1
    [hide-comments] =>
    [indent-cdata] =>
    [force-output] => 1
    [show-errors] => 6
    [ascii-chars] => 1
    [join-classes] =>
    [join-styles] => 1
    [escape-cdata] =>
    [language] =>
    [ncr] => 1
    [output-bom] => 2
    [replace-color] =>
    [css-prefix] =>
    [new-inline-tags] =>
    [new-blocklevel-tags] =>
    [new-empty-tags] =>
    [new-pre-tags] =>
    [accessibility-check] => 0
    [vertical-space] =>
    [punctuation-wrap] =>
    [merge-divs] => 1
)

Siehe auch

  • tidy_reset_config() - Restore Tidy configuration to default values
  • tidy_save_config() - Save current settings to named file
tidy::$errorBuffer
tidy::getHtmlVer
tidy


Get the Detected HTML version for the specified document

tidy::getConfig
tidy::getOpt
tidy
PHP Manual

tidy::getHtmlVer

tidy_get_html_ver

(PHP 5, PHP 7, PECL tidy >= 0.5.2)

tidy::getHtmlVer -- tidy_get_html_ver — Get the Detected HTML version for the specified document

Beschreibung

Objektorientierter Stil

int tidy::getHtmlVer ( void )

Prozeduraler Stil

int tidy_get_html_ver ( tidy $object )

Returns the detected HTML version for the specified tidy object.

Parameter-Liste

object

Das Tidy Objekt.

Rückgabewerte

Returns the detected HTML version.

Warnung

This function is not yet implemented in the Tidylib itself, so it always return 0.

tidy::getConfig
tidy::getOpt
tidy


Returns the value of the specified configuration option for the tidy document

tidy::getHtmlVer
tidy::getOptDoc
tidy
PHP Manual

tidy::getOpt

tidy_getopt

(PHP 5, PHP 7, PECL tidy >= 0.5.2)

tidy::getOpt -- tidy_getopt — Returns the value of the specified configuration option for the tidy document

Beschreibung

Objektorientierter Stil

mixed tidy::getOpt ( string $option )

Prozeduraler Stil

mixed tidy_getopt ( tidy $object , string $option )

Returns the value of the specified option for the specified tidy object.

Parameter-Liste

object

Das Tidy Objekt.

option

You will find a list with each configuration option and their types at: » http://tidy.sourceforge.net/docs/quickref.html.

Rückgabewerte

Returns the value of the specified option. The return type depends on the type of the specified one.

Beispiele

Beispiel #1 tidy_getopt() example

<?php

$html ='<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html><head><title>Title</title></head>
<body>

<p><img src="img.png"></p>

</body></html>';

$config = array('accessibility-check' => 3,
                'alt-text' => 'some text');

$tidy = new tidy();
$tidy->parseString($html, $config);

var_dump($tidy->getOpt('accessibility-check')); //integer
var_dump($tidy->getOpt('lower-literals')); //boolean
var_dump($tidy->getOpt('alt-text')); //string

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(3)
bool(true)
string(9) "some text"

tidy::getHtmlVer
tidy::getOptDoc
tidy


Returns the documentation for the given option name

tidy::getOpt
tidy::getRelease
tidy
PHP Manual

tidy::getOptDoc

tidy_get_opt_doc

(PHP 5 >= 5.1.0, PHP 7)

tidy::getOptDoc -- tidy_get_opt_doc — Returns the documentation for the given option name

Beschreibung

Objektorientierter Stil

string tidy::getOptDoc ( string $optname )

Prozeduraler Stil

string tidy_get_opt_doc ( tidy $object , string $optname )

tidy_get_opt_doc() returns the documentation for the given option name.

Hinweis:

You need at least libtidy from 25 April, 2005 for this function be available.

Parameter-Liste

object

Das Tidy Objekt.

optname

The option name

Rückgabewerte

Returns a string if the option exists and has documentation available, or FALSE otherwise.

Beispiele

Beispiel #1 Print all options along with their documentation and default value

<?php

$tidy = new tidy;
$config = $tidy->getConfig();

ksort($config);

foreach ($config as $opt => $val) {

    if (!$doc = $tidy->getOptDoc($opt))
        $doc = 'no documentation available!';

    $val = ($tidy->getOpt($opt) === true)  ? 'true'  : $val;
    $val = ($tidy->getOpt($opt) === false) ? 'false' : $val;

    echo "<p><b>$opt</b> (default: '$val')<br />".
         "$doc</p><hr />\n";
}

?>

Siehe auch

  • tidy::getconfig() - Get current Tidy configuration
  • tidy::getopt() - Returns the value of the specified configuration option for the tidy document

tidy::getOpt
tidy::getRelease
tidy


Get release date (version) for Tidy library

tidy::getOptDoc
tidy::getStatus
tidy
PHP Manual

tidy::getRelease

tidy_get_release

(PHP 5, PHP 7, PECL tidy >= 0.5.2)

tidy::getRelease -- tidy_get_release — Get release date (version) for Tidy library

Beschreibung

Objektorientierter Stil

string tidy::getRelease ( void )

Prozeduraler Stil

string tidy_get_release ( void )

Gets the release date of the Tidy library.

Rückgabewerte

Returns a string with the release date of the Tidy library.

tidy::getOptDoc
tidy::getStatus
tidy


Get status of specified document

tidy::getRelease
tidy::head
tidy
PHP Manual

tidy::getStatus

tidy_get_status

(PHP 5, PHP 7, PECL tidy >= 0.5.2)

tidy::getStatus -- tidy_get_status — Get status of specified document

Beschreibung

Objektorientierter Stil

int tidy::getStatus ( void )

Prozeduraler Stil

int tidy_get_status ( tidy $object )

Returns the status for the specified tidy object.

Parameter-Liste

object

Das Tidy Objekt.

Rückgabewerte

Returns 0 if no error/warning was raised, 1 for warnings or accessibility errors, or 2 for errors.

Beispiele

Beispiel #1 tidy::getStatus() example

<?php
$html = '<p>paragraph</i>';
$tidy = new tidy();
$tidy->parseString($html);

$tidy2 = new tidy();
$html2 = '<bogus>test</bogus>';
$tidy2->parseString($html2);

echo $tidy->getStatus(); //1

echo $tidy2->getStatus(); //2
?>

tidy::getRelease
tidy::head
tidy


Returns a tidyNode object starting from the <head> tag of the tidy parse tree

tidy::getStatus
tidy::html
tidy
PHP Manual

tidy::head

tidy_get_head

(PHP 5, PHP 7, PECL tidy 0.5.2-1.0.0)

tidy::head -- tidy_get_head — Returns a tidyNode object starting from the <head> tag of the tidy parse tree

Beschreibung

Objektorientierter Stil

tidyNode tidy::head ( void )

Prozeduraler Stil

tidyNode tidy_get_head ( tidy $object )

Returns a tidyNode object starting from the <head> tag of the tidy parse tree.

Parameter-Liste

object

Das Tidy Objekt.

Rückgabewerte

Returns the tidyNode object.

Beispiele

Beispiel #1 tidy::head() example

<?php
$html = '
<html>
  <head>
    <title>test</title>
  </head>
  <body>
    <p>paragraph</p>
  </body>
</html>';

$tidy = tidy_parse_string($html);

$head = $tidy->head();
echo $head->value;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<head>
<title>test</title>
</head>

Anmerkungen

Hinweis: Diese Funktion wird nur von der Zend Engine 2 (PHP >= 5.0.0) unterstützt.

Siehe auch

  • tidy::body() - Returns a tidyNode object starting from the <body> tag of the tidy parse tree
  • tidy::html() - Returns a tidyNode object starting from the <html> tag of the tidy parse tree
tidy::getStatus
tidy::html
tidy


Returns a tidyNode object starting from the <html> tag of the tidy parse tree

tidy::head
tidy::isXhtml
tidy
PHP Manual

tidy::html

tidy_get_html

(PHP 5, PHP 7, PECL tidy 0.5.2-1.0.0)

tidy::html -- tidy_get_html — Returns a tidyNode object starting from the <html> tag of the tidy parse tree

Beschreibung

Objektorientierter Stil

tidyNode tidy::html ( void )

Prozeduraler Stil

tidyNode tidy_get_html ( tidy $object )

Returns a tidyNode object starting from the <html> tag of the tidy parse tree.

Parameter-Liste

object

Das Tidy Objekt.

Rückgabewerte

Returns the tidyNode object.

Beispiele

Beispiel #1 tidy::html() example

<?php
$html = '
<html>
  <head>
    <title>test</title>
  </head>
  <body>
    <p>paragraph</p>
  </body>
</html>';

$tidy = tidy_parse_string($html);

$html = $tidy->html();
echo $html->value;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<html>
<head>
<title>test</title>
</head>
<body>
<p>paragraph</p>
</body>
</html>

Anmerkungen

Hinweis: Diese Funktion wird nur von der Zend Engine 2 (PHP >= 5.0.0) unterstützt.

Siehe auch

  • tidy::body() - Returns a tidyNode object starting from the <body> tag of the tidy parse tree
  • tidy::head() - Returns a tidyNode object starting from the <head> tag of the tidy parse tree
tidy::head
tidy::isXhtml
tidy


Indicates if the document is a XHTML document

tidy::html
tidy::isXml
tidy
PHP Manual

tidy::isXhtml

tidy_is_xhtml

(PHP 5, PHP 7, PECL tidy >= 0.5.2)

tidy::isXhtml -- tidy_is_xhtml — Indicates if the document is a XHTML document

Beschreibung

Objektorientierter Stil

bool tidy::isXhtml ( void )

Prozeduraler Stil

bool tidy_is_xhtml ( tidy $object )

Tells if the document is a XHTML document.

Parameter-Liste

object

Das Tidy Objekt.

Rückgabewerte

This function returns TRUE if the specified tidy object is a XHTML document, or FALSE otherwise.

Warnung

This function is not yet implemented in the Tidylib itself, so it always return FALSE.

tidy::html
tidy::isXml
tidy


Indicates if the document is a generic (non HTML/XHTML) XML document

tidy::isXhtml
tidy::parseFile
tidy
PHP Manual

tidy::isXml

tidy_is_xml

(PHP 5, PHP 7, PECL tidy >= 0.5.2)

tidy::isXml -- tidy_is_xml — Indicates if the document is a generic (non HTML/XHTML) XML document

Beschreibung

Objektorientierter Stil

bool tidy::isXml ( void )

Prozeduraler Stil

bool tidy_is_xml ( tidy $object )

Tells if the document is a generic (non HTML/XHTML) XML document.

Parameter-Liste

object

Das Tidy Objekt.

Rückgabewerte

This function returns TRUE if the specified tidy object is a generic XML document (non HTML/XHTML), or FALSE otherwise.

Warnung

This function is not yet implemented in the Tidylib itself, so it always return FALSE.

tidy::isXhtml
tidy::parseFile
tidy


Parse markup in file or URI

tidy::isXml
tidy::parseString
tidy
PHP Manual

tidy::parseFile

tidy_parse_file

(PHP 5, PHP 7, PECL tidy >= 0.5.2)

tidy::parseFile -- tidy_parse_file — Parse markup in file or URI

Beschreibung

Objektorientierter Stil

bool tidy::parseFile ( string $filename [, mixed $config [, string $encoding [, bool $use_include_path = false ]]] )

Prozeduraler Stil

tidy tidy_parse_file ( string $filename [, mixed $config [, string $encoding [, bool $use_include_path = false ]]] )

Parses the given file.

Parameter-Liste

filename

If the filename parameter is given, this function will also read that file and initialize the object with the file, acting like tidy_parse_file().

config

The config config can be passed either as an array or as a string. If a string is passed, it is interpreted as the name of the configuration file, otherwise, it is interpreted as the options themselves.

For an explanation about each option, see » http://tidy.sourceforge.net/docs/quickref.html.

encoding

The encoding parameter sets the encoding for input/output documents. The possible values for encoding are: ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5, and shiftjis.

use_include_path

Search for the file in the include_path.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 tidy::parseFile() example

<?php
$tidy = new tidy();
$tidy->parseFile('file.html');

$tidy->cleanRepair();

if(!empty($tidy->errorBuffer)) {
    echo "The following errors or warnings occurred:\n";
    echo $tidy->errorBuffer;
}
?>

Anmerkungen

Hinweis: Die optionalen Parameter config und encoding stehen seit Tidy 2.0 zur Verfügung.

Siehe auch

  • tidy::parsestring() - Parse a document stored in a string
  • tidy::repairfile() - Repair a file and return it as a string
  • tidy::repairstring() - Repair a string using an optionally provided configuration file
tidy::isXml
tidy::parseString
tidy


Parse a document stored in a string

tidy::parseFile
tidy::repairFile
tidy
PHP Manual

tidy::parseString

tidy_parse_string

(PHP 5, PHP 7, PECL tidy >= 0.5.2)

tidy::parseString -- tidy_parse_string — Parse a document stored in a string

Beschreibung

Objektorientierter Stil

bool tidy::parseString ( string $input [, mixed $config [, string $encoding ]] )

Prozeduraler Stil

tidy tidy_parse_string ( string $input [, mixed $config [, string $encoding ]] )

Parses a document stored in a string.

Parameter-Liste

input

The data to be parsed.

config

The config config can be passed either as an array or as a string. If a string is passed, it is interpreted as the name of the configuration file, otherwise, it is interpreted as the options themselves.

For an explanation about each option, visit » http://tidy.sourceforge.net/docs/quickref.html.

encoding

The encoding parameter sets the encoding for input/output documents. The possible values for encoding are: ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5, and shiftjis.

Rückgabewerte

Returns a new tidy instance.

Beispiele

Beispiel #1 tidy::parseString() example

<?php
ob_start();
?>

<html>
  <head>
   <title>test</title>
  </head>
  <body>
   <p>error<br>another line</i>
  </body>
</html>

<?php

$buffer = ob_get_clean();
$config = array('indent' => TRUE,
                'output-xhtml' => TRUE,
                'wrap' => 200);

$tidy = tidy_parse_string($buffer, $config, 'UTF8');

$tidy->cleanRepair();
echo $tidy;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>
      test
    </title>
  </head>
  <body>
    <p>
      error<br />
      another line
    </p>
  </body>
</html>

Anmerkungen

Hinweis: Die optionalen Parameter config und encoding stehen seit Tidy 2.0 zur Verfügung.

Siehe auch

  • tidy::parseFile() - Parse markup in file or URI
  • tidy::repairFile() - Repair a file and return it as a string
  • tidy::repairString() - Repair a string using an optionally provided configuration file
tidy::parseFile
tidy::repairFile
tidy


Repair a file and return it as a string

tidy::parseString
tidy::repairString
tidy
PHP Manual

tidy::repairFile

tidy_repair_file

(PHP 5, PHP 7, PECL tidy >= 0.7.0)

tidy::repairFile -- tidy_repair_file — Repair a file and return it as a string

Beschreibung

Objektorientierter Stil

string tidy::repairFile ( string $filename [, mixed $config [, string $encoding [, bool $use_include_path = false ]]] )

Prozeduraler Stil

string tidy_repair_file ( string $filename [, mixed $config [, string $encoding [, bool $use_include_path = false ]]] )

Repairs the given file and returns it as a string.

Parameter-Liste

filename

The file to be repaired.

config

The config config can be passed either as an array or as a string. If a string is passed, it is interpreted as the name of the configuration file, otherwise, it is interpreted as the options themselves.

Check http://tidy.sourceforge.net/docs/quickref.html for an explanation about each option.

encoding

The encoding parameter sets the encoding for input/output documents. The possible values for encoding are: ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5, and shiftjis.

use_include_path

Search for the file in the include_path.

Rückgabewerte

Returns the repaired contents as a string.

Beispiele

Beispiel #1 tidy::repairFile() example

<?php
$file = 'file.html';

$tidy = new tidy();
$repaired = $tidy->repairfile($file);
rename($file, $file . '.bak');

file_put_contents($file, $repaired);
?>

Anmerkungen

Hinweis: Die optionalen Parameter config und encoding stehen seit Tidy 2.0 zur Verfügung.

Siehe auch

  • tidy::parseFile() - Parse markup in file or URI
  • tidy::parseString() - Parse a document stored in a string
  • tidy::repairString() - Repair a string using an optionally provided configuration file
tidy::parseString
tidy::repairString
tidy


Repair a string using an optionally provided configuration file

tidy::repairFile
tidy::root
tidy
PHP Manual

tidy::repairString

tidy_repair_string

(PHP 5, PHP 7, PECL tidy >= 0.7.0)

tidy::repairString -- tidy_repair_string — Repair a string using an optionally provided configuration file

Beschreibung

Objektorientierter Stil

string tidy::repairString ( string $data [, mixed $config [, string $encoding ]] )

Prozeduraler Stil

string tidy_repair_string ( string $data [, mixed $config [, string $encoding ]] )

Repairs the given string.

Parameter-Liste

data

The data to be repaired.

config

The config config can be passed either as an array or as a string. If a string is passed, it is interpreted as the name of the configuration file, otherwise, it is interpreted as the options themselves.

Check » http://tidy.sourceforge.net/docs/quickref.html for an explanation about each option.

encoding

The encoding parameter sets the encoding for input/output documents. The possible values for encoding are: ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5, and shiftjis.

Rückgabewerte

Returns the repaired string.

Beispiele

Beispiel #1 tidy::repairString() example

<?php
ob_start();
?>

<html>
  <head>
    <title>test</title>
  </head>
  <body>
    <p>error</i>
  </body>
</html>

<?php

$buffer = ob_get_clean();
$tidy = new tidy();
$clean = $tidy->repairString($buffer);

echo $clean;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>test</title>
</head>
<body>
<p>error</p>
</body>
</html>

Anmerkungen

Hinweis: Die optionalen Parameter config und encoding stehen seit Tidy 2.0 zur Verfügung.

Siehe auch

  • tidy::parseFile() - Parse markup in file or URI
  • tidy::parseString() - Parse a document stored in a string
  • tidy::repairFile() - Repair a file and return it as a string
tidy::repairFile
tidy::root
tidy


Returns a tidyNode object representing the root of the tidy parse tree

tidy::repairString
tidyNode
tidy
PHP Manual

tidy::root

tidy_get_root

(PHP 5, PHP 7, PECL tidy 0.5.2-1.0.0)

tidy::root -- tidy_get_root — Returns a tidyNode object representing the root of the tidy parse tree

Beschreibung

Objektorientierter Stil

tidyNode tidy::root ( void )

Prozeduraler Stil

tidyNode tidy_get_root ( tidy $object )

Returns a tidyNode object representing the root of the tidy parse tree.

Parameter-Liste

object

Das Tidy Objekt.

Rückgabewerte

Returns the tidyNode object.

Beispiele

Beispiel #1 tidy::root() example

<?php

$html = <<< HTML
<html><body>

<p>paragraph</p>
<br/>

</body></html>
HTML;

$tidy = tidy_parse_string($html);
dump_nodes($tidy->root(), 1);

function dump_nodes($node, $indent) {

    if($node->hasChildren()) {
        foreach($node->child as $child) {
            echo str_repeat('.', $indent*2) . ($child->name ? $child->name : '"'.$child->value.'"'). "\n";

            dump_nodes($child, $indent+1);
        }
    }
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

..html
....head
......title
....body
......p
........"paragraph"
......br

Anmerkungen

Hinweis: Diese Funktion wird nur von der Zend Engine 2 (PHP >= 5.0.0) unterstützt.

tidy::repairString
tidyNode
tidy


The tidyNode class

(PHP 5 >= 5.0.1, PHP 7)

Einführung

An HTML node in an HTML file, as detected by tidy.

Klassenbeschreibung

tidyNode {
/* Eigenschaften */
string $value;
string $name;
int $type;
int $line;
int $column;
bool $proprietary;
int $id;
array $attribute;
array $child;
/* Methoden */
tidyNode getParent ( void )
bool hasChildren ( void )
bool hasSiblings ( void )
bool isAsp ( void )
bool isComment ( void )
bool isHtml ( void )
bool isJste ( void )
bool isPhp ( void )
bool isText ( void )
}

Eigenschaften

value

The HTML representation of the node, including the surrounding tags.

name

The name of the HTML node

type

The type of the tag (one of the constants above, e.g. TIDY_NODETYPE_PHP)

line

The line number at which the tags is located in the file

column

The column number at which the tags is located in the file

proprietary

Indicates if the node is a proprietary tag

id

The ID of the tag (one of the constants above, e.g. TIDY_TAG_FRAME)

attribute

An array of string, representing the attributes names (as keys) of the current node.

child

An array of tidyNode, representing the children of the current node.

Version | Beschreibung
5.1.0 | line, column and proprietary were added

Inhaltsverzeichnis

  • tidyNode::getParent — Returns the parent node of the current node
  • tidyNode::hasChildren — Checks if a node has children
  • tidyNode::hasSiblings — Checks if a node has siblings
  • tidyNode::isAsp — Checks if this node is ASP
  • tidyNode::isComment — Checks if a node represents a comment
  • tidyNode::isHtml — Checks if a node is part of a HTML document
  • tidyNode::isJste — Checks if this node is JSTE
  • tidyNode::isPhp — Checks if a node is PHP
  • tidyNode::isText — Checks if a node represents text (no markup)
tidy::root
tidyNode::getParent
Tidy


Returns the parent node of the current node

tidyNode
tidyNode::hasChildren
tidyNode
PHP Manual

tidyNode::getParent

(PHP 5 >= 5.2.2, PHP 7)

tidyNode::getParent — Returns the parent node of the current node

Beschreibung

tidyNode tidyNode::getParent ( void )

Returns the parent node of the current node.

Beispiele

Beispiel #1 tidyNode::hasChildren() example

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>title</title>'; ?>
<#
  /* JSTE code */
  alert('Hello World');
#>
 </head>
 <body>
 Hello World
 </body>
</html>

HTML;

$tidy = tidy_parse_string($html);
$num = 0;

$node = $tidy->html()->child[0]->child[0];

var_dump($node->getparent()->name);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(4) "head"

Rückgabewerte

Returns a tidyNode if the node has a parent, or NULL otherwise.

tidyNode
tidyNode::hasChildren
tidyNode


Checks if a node has children

tidyNode::getParent
tidyNode::hasSiblings
tidyNode
PHP Manual

tidyNode::hasChildren

(PHP 5 >= 5.0.1, PHP 7)

tidyNode::hasChildren — Checks if a node has children

Beschreibung

bool tidyNode::hasChildren ( void )

Tells if the node has children.

Rückgabewerte

Returns TRUE if the node has children, FALSE otherwise.

Beispiele

Beispiel #1 tidyNode::hasChildren() example

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>title</title>'; ?>
<#
  /* JSTE code */
  alert('Hello World');
#>
</head>
<body>

<?php
  // PHP code
  echo 'hello world!';
?>

<%
  /* ASP code */
  response.write("Hello World!")
%>

<!-- Comments -->
Hello World
</body></html>
Outside HTML
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

// the head tag
var_dump($tidy->html()->child[0]->hasChildren());

// the php inside the head tag
var_dump($tidy->html()->child[0]->child[0]->hasChildren());

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(false)

tidyNode::getParent
tidyNode::hasSiblings
tidyNode


Checks if a node has siblings

tidyNode::hasChildren
tidyNode::isAsp
tidyNode
PHP Manual

tidyNode::hasSiblings

(PHP 5 >= 5.0.1, PHP 7)

tidyNode::hasSiblings — Checks if a node has siblings

Beschreibung

bool tidyNode::hasSiblings ( void )

Tells if the node has siblings.

Rückgabewerte

Returns TRUE if the node has siblings, FALSE otherwise.

Beispiele

Beispiel #1 tidyNode::hasSiblings() example

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>title</title>'; ?>
<#
  /* JSTE code */
  alert('Hello World');
#>
</head>
<body>

<?php
  // PHP code
  echo 'hello world!';
?>

<%
  /* ASP code */
  response.write("Hello World!")
%>

<!-- Comments -->
Hello World
</body></html>
Outside HTML
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

// the html tag
var_dump($tidy->html()->hasSiblings());

// the head tag
var_dump($tidy->html()->child[0]->hasSiblings());

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(true)

tidyNode::hasChildren
tidyNode::isAsp
tidyNode


Checks if this node is ASP

tidyNode::hasSiblings
tidyNode::isComment
tidyNode
PHP Manual

tidyNode::isAsp

(PHP 5 >= 5.0.1, PHP 7)

tidyNode::isAsp — Checks if this node is ASP

Beschreibung

bool tidyNode::isAsp ( void )

Tells whether the current node is ASP.

Rückgabewerte

Returns TRUE if the node is ASP, FALSE otherwise.

Beispiele

Beispiel #1 Extract ASP code from a mixed HTML document

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>title</title>'; ?>
<#
  /* JSTE code */
  alert('Hello World');
#>
</head>
<body>

<?php
  // PHP code
  echo 'hello world!';
?>

<%
  /* ASP code */
  response.write("Hello World!")
%>

<!-- Comments -->
Hello World
</body></html>
Outside HTML
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_nodes($tidy->html());

function get_nodes($node) {

    // check if the current node is of requested type
    if($node->isAsp()) {
        echo "\n\n# asp node #" . ++$GLOBALS['num'] . "\n";
        echo $node->value;
    }

    // check if the current node has childrens
    if($node->hasChildren()) {
        foreach($node->child as $child) {
            get_nodes($child);
        }
    }
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

# asp node #1
<%
  /* ASP code */
  response.write("Hello World!")
%>

tidyNode::hasSiblings
tidyNode::isComment
tidyNode


Checks if a node represents a comment

tidyNode::isAsp
tidyNode::isHtml
tidyNode
PHP Manual

tidyNode::isComment

(PHP 5 >= 5.0.1, PHP 7)

tidyNode::isComment — Checks if a node represents a comment

Beschreibung

bool tidyNode::isComment ( void )

Tells if the node is a comment.

Rückgabewerte

Returns TRUE if the node is a comment, FALSE otherwise.

Beispiele

Beispiel #1 Extract comments from a mixed HTML document

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>title</title>'; ?>
<#
  /* JSTE code */
  alert('Hello World');
#>
</head>
<body>

<?php
  // PHP code
  echo 'hello world!';
?>

<%
  /* ASP code */
  response.write("Hello World!")
%>

<!-- Comments -->
Hello World
</body></html>
Outside HTML
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_nodes($tidy->html());

function get_nodes($node) {

    // check if the current node is of requested type
    if($node->isComment()) {
        echo "\n\n# comment node #" . ++$GLOBALS['num'] . "\n";
        echo $node->value;
    }

    // check if the current node has childrens
    if($node->hasChildren()) {
        foreach($node->child as $child) {
            get_nodes($child);
        }
    }
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

# jste node #1
<#
  /* JSTE code */
  alert('Hello World');
#>

tidyNode::isAsp
tidyNode::isHtml
tidyNode


Checks if a node is part of a HTML document

tidyNode::isComment
tidyNode::isJste
tidyNode
PHP Manual

tidyNode::isHtml

(PHP 5 >= 5.0.1, PHP 7)

tidyNode::isHtml — Checks if a node is part of a HTML document

Beschreibung

bool tidyNode::isHtml ( void )

Tells if the node is part of HTML document.

Rückgabewerte

Returns TRUE if the node is part of a HTML document, FALSE otherwise.

Beispiele

Beispiel #1 Extract HTML code from a mixed HTML document

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>title</title>'; ?>
<#
  /* JSTE code */
  alert('Hello World');
#>
</head>
<body>

<?php
  // PHP code
  echo 'hello world!';
?>

<%
  /* ASP code */
  response.write("Hello World!")
%>

<!-- Comments -->
Hello World
</body></html>
Outside HTML
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_nodes($tidy->html());

function get_nodes($node) {
    // check if the current node is of requested type
    if($node->isHtml()) {
        echo "\n\n# html node #" . ++$GLOBALS['num'] . "\n";
        echo $node->value;
    }

    // check if the current node has childrens
    if($node->hasChildren()) {
        foreach($node->child as $child) {
            get_nodes($child);
        }
    }
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

# html node #1
<html>
<head>
<?php echo '<title>title</title>'; ?><#
  /* JSTE code */
  alert('Hello World');
#>
<title></title>
</head>
<body>
<?php
  // PHP code
  echo 'hello world!';
?><%
  /* ASP code */
  response.write("Hello World!")
%><!-- Comments -->
Hello WorldOutside HTML
</body>
</html>

# html node #2
<head>
<?php echo '<title>title</title>'; ?><#
  /* JSTE code */
  alert('Hello World');
#>
<title></title>
</head>

# html node #3
<?php echo '<title>title</title>'; ?>

# html node #4
<#
  /* JSTE code */
  alert('Hello World');
#>

# html node #5
<title></title>

# html node #6
<body>
<?php
  // PHP code
  echo 'hello world!';
?><%
  /* ASP code */
  response.write("Hello World!")
%><!-- Comments -->
Hello WorldOutside HTML
</body>

# html node #7
<?php
  // PHP code
  echo 'hello world!';
?>

# html node #8
<%
  /* ASP code */
  response.write("Hello World!")
%>

# html node #9
<!-- Comments -->

# html node #10
Hello World

# html node #11
Outside HTML

tidyNode::isComment
tidyNode::isJste
tidyNode


Checks if this node is JSTE

tidyNode::isHtml
tidyNode::isPhp
tidyNode
PHP Manual

tidyNode::isJste

(PHP 5 >= 5.0.1, PHP 7)

tidyNode::isJste — Checks if this node is JSTE

Beschreibung

bool tidyNode::isJste ( void )

Tells if the node is JSTE.

Rückgabewerte

Returns TRUE if the node is JSTE, FALSE otherwise.

Beispiele

Beispiel #1 Extract JSTE code from a mixed HTML document

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>title</title>'; ?>
<#
  /* JSTE code */
  alert('Hello World');
#>
</head>
<body>

<?php
  // PHP code
  echo 'hello world!';
?>

<%
  /* ASP code */
  response.write("Hello World!")
%>

<!-- Comments -->
Hello World
</body></html>
Outside HTML
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_nodes($tidy->html());

function get_nodes($node) {

    // check if the current node is of requested type
    if($node->isJste()) {
        echo "\n\n# jste node #" . ++$GLOBALS['num'] . "\n";
        echo $node->value;
    }

    // check if the current node has childrens
    if($node->hasChildren()) {
        foreach($node->child as $child) {
            get_nodes($child);
        }
    }
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

# jste node #1
<#
  /* JSTE code */
  alert('Hello World');
#>

tidyNode::isHtml
tidyNode::isPhp
tidyNode


Checks if a node is PHP

tidyNode::isJste
tidyNode::isText
tidyNode
PHP Manual

tidyNode::isPhp

(PHP 5 >= 5.0.1, PHP 7)

tidyNode::isPhp — Checks if a node is PHP

Beschreibung

bool tidyNode::isPhp ( void )

Tells if the node is PHP.

Rückgabewerte

Returns TRUE if the current node is PHP code, FALSE otherwise.

Beispiele

Beispiel #1 Extract PHP code from a mixed HTML document

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>title</title>'; ?>
<#
  /* JSTE code */
  alert('Hello World');
#>
</head>
<body>

<?php
  // PHP code
  echo 'hello world!';
?>

<%
  /* ASP code */
  response.write("Hello World!")
%>

<!-- Comments -->
Hello World
</body></html>
Outside HTML
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_nodes($tidy->html());

function get_nodes($node) {

    // check if the current node is of requested type
    if($node->isPhp()) {
        echo "\n\n# php node #" . ++$GLOBALS['num'] . "\n";
        echo $node->value;
    }

    // check if the current node has childrens
    if($node->hasChildren()) {
        foreach($node->child as $child) {
            get_nodes($child);
        }
    }
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

# php node #1
<?php echo '<title>title</title>'; ?>

# php node #2
<?php
  // PHP code
  echo 'hello world!';
?>

tidyNode::isJste
tidyNode::isText
tidyNode


Checks if a node represents text (no markup)

tidyNode::isPhp
Tidy Funktionen
tidyNode
PHP Manual

tidyNode::isText

(PHP 5 >= 5.0.1, PHP 7)

tidyNode::isText — Checks if a node represents text (no markup)

Beschreibung

bool tidyNode::isText ( void )

Tells if the node represents a text (without any markup).

Rückgabewerte

Returns TRUE if the node represent a text, FALSE otherwise.

Beispiele

Beispiel #1 Extract text from a mixed HTML document

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>title</title>'; ?>
<#
  /* JSTE code */
  alert('Hello World');
#>
</head>
<body>

<?php
  // PHP code
  echo 'hello world!';
?>

<%
  /* ASP code */
  response.write("Hello World!")
%>

<!-- Comments -->
Hello World
</body></html>
Outside HTML
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_nodes($tidy->html());

function get_nodes($node) {

    // check if the current node is of requested type
    if($node->isText()) {
        echo "\n\n# text node #" . ++$GLOBALS['num'] . "\n";
        echo $node->value;
    }

    // check if the current node has childrens
    if($node->hasChildren()) {
        foreach($node->child as $child) {
            get_nodes($child);
        }
    }
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

# text node #1
Hello World

# text node #2
Outside HTML

tidyNode::isPhp
Tidy Funktionen
tidyNode


Tidy Funktionen

Inhaltsverzeichnis

  • ob_tidyhandler — ob_start callback function to repair the buffer
  • tidy_access_count — Returns the Number of Tidy accessibility warnings encountered for specified document
  • tidy_config_count — Returns the Number of Tidy configuration errors encountered for specified document
  • tidy_error_count — Returns the Number of Tidy errors encountered for specified document
  • tidy_get_output — Return a string representing the parsed tidy markup
  • tidy_load_config — Load an ASCII Tidy configuration file with the specified encoding
  • tidy_reset_config — Restore Tidy configuration to default values
  • tidy_save_config — Save current settings to named file
  • tidy_set_encoding — Set the input/output character encoding for parsing markup
  • tidy_setopt — Updates the configuration settings for the specified tidy document
  • tidy_warning_count — Returns the Number of Tidy warnings encountered for specified document
tidyNode::isText
ob_tidyhandler
Tidy


ob_start callback function to repair the buffer

Tidy Funktionen
tidy_access_count
Tidy Funktionen
PHP Manual

ob_tidyhandler

(PHP 5, PHP 7)

ob_tidyhandler — ob_start callback function to repair the buffer

Beschreibung

string ob_tidyhandler ( string $input [, int $mode ] )

Callback function for ob_start() to repair the buffer.

Parameter-Liste

input

The buffer.

mode

The buffer mode.

Rückgabewerte

Returns the modified buffer.

Beispiele

Beispiel #1 ob_tidyhandler() example

<?php
ob_start('ob_tidyhandler');

echo '<p>test</i>';
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title></title>
</head>
<body>
<p>test</p>
</body>
</html>

Siehe auch

  • ob_start() - Ausgabepufferung aktivieren

Tidy Funktionen
tidy_access_count
Tidy Funktionen


Returns the Number of Tidy accessibility warnings encountered for specified document

ob_tidyhandler
tidy_config_count
Tidy Funktionen
PHP Manual

tidy_access_count

(PHP 5, PHP 7, PECL tidy >= 0.5.2)

tidy_access_count — Returns the Number of Tidy accessibility warnings encountered for specified document

Beschreibung

int tidy_access_count ( tidy $object )

tidy_access_count() returns the number of accessibility warnings found for the specified document.

Parameter-Liste

object

Das Tidy Objekt.

Rückgabewerte

Returns the number of warnings.

Beispiele

Beispiel #1 tidy_access_count() example

<?php

$html ='<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html><head><title>Title</title></head>
<body>

<p><img src="img.png"></p>

</body></html>';

// select the accessibility check level: 1, 2 or 3
$config = array('accessibility-check' => 3);

$tidy = new tidy();
$tidy->parseString($html, $config);
$tidy->cleanRepair();

/* Never forget to call this! */
$tidy->diagnose();

echo tidy_access_count($tidy); //5

?>

Anmerkungen

Hinweis:

Due to the design of the TidyLib, you must call tidy_diagnose() before tidy_access_count() or it will return always 0. You must also need to enable the accessibility-check option.

Siehe auch

  • tidy_error_count() - Returns the Number of Tidy errors encountered for specified document
  • tidy_warning_count() - Returns the Number of Tidy warnings encountered for specified document

ob_tidyhandler
tidy_config_count
Tidy Funktionen


Returns the Number of Tidy configuration errors encountered for specified document

tidy_access_count
tidy_error_count
Tidy Funktionen
PHP Manual

tidy_config_count

(PHP 5, PHP 7, PECL tidy >= 0.5.2)

tidy_config_count — Returns the Number of Tidy configuration errors encountered for specified document

Beschreibung

int tidy_config_count ( tidy $object )

Returns the number of errors encountered in the configuration of the specified tidy object.

Parameter-Liste

object

Das Tidy Objekt.

Rückgabewerte

Returns the number of errors.

Beispiele

Beispiel #1 tidy_config_count() example

<?php
$html = '<p>test</I>';

$config = array('doctype' => 'bogus');

$tidy = tidy_parse_string($html, $config);

/* This outputs 1, because 'bogus' isn't a valid doctype */
echo tidy_config_count($tidy);
?>

tidy_access_count
tidy_error_count
Tidy Funktionen


Returns the Number of Tidy errors encountered for specified document

tidy_config_count
tidy_get_output
Tidy Funktionen
PHP Manual

tidy_error_count

(PHP 5, PHP 7, PECL tidy >= 0.5.2)

tidy_error_count — Returns the Number of Tidy errors encountered for specified document

Beschreibung

int tidy_error_count ( tidy $object )

Returns the number of Tidy errors encountered for the specified document.

Parameter-Liste

object

Das Tidy Objekt.

Rückgabewerte

Returns the number of errors.

Beispiele

Beispiel #1 tidy_error_count() example

<?php
$html = '<p>test</i>
<bogustag>bogus</bogustag>';

$tidy = tidy_parse_string($html);

echo tidy_error_count($tidy) . "\n"; //1

echo $tidy->errorBuffer;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 1 column 8 - Warning: discarding unexpected </i>
line 2 column 1 - Error: <bogustag> is not recognized!
line 2 column 1 - Warning: discarding unexpected <bogustag>
line 2 column 16 - Warning: discarding unexpected </bogustag>
line 1 column 1 - Warning: inserting missing 'title' element

Siehe auch

  • tidy_access_count() - Returns the Number of Tidy accessibility warnings encountered for specified document
  • tidy_warning_count() - Returns the Number of Tidy warnings encountered for specified document
tidy_config_count
tidy_get_output
Tidy Funktionen


Return a string representing the parsed tidy markup

tidy_error_count
tidy_load_config
Tidy Funktionen
PHP Manual

tidy_get_output

(PHP 5, PHP 7, PECL tidy >= 0.5.2)

tidy_get_output — Return a string representing the parsed tidy markup

Beschreibung

string tidy_get_output ( tidy $object )

Gets a string with the repaired html.

Parameter-Liste

object

Das Tidy Objekt.

Rückgabewerte

Returns the parsed tidy markup.

Beispiele

Beispiel #1 tidy_get_output() example

<?php

$html = '<p>paragraph</i>';
$tidy = tidy_parse_string($html);

$tidy->cleanRepair();

echo tidy_get_output($tidy);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title></title>
</head>
<body>
<p>paragraph</p>
</body>
</html>

tidy_error_count
tidy_load_config
Tidy Funktionen


Load an ASCII Tidy configuration file with the specified encoding

tidy_get_output
tidy_reset_config
Tidy Funktionen
PHP Manual

tidy_load_config

(PECL tidy >= 0.5.2)

tidy_load_config — Load an ASCII Tidy configuration file with the specified encoding

Beschreibung

void tidy_load_config ( string $filename , string $encoding )

Loads a Tidy configuration file, with the specified encoding.

Parameter-Liste

filename

encoding

Rückgabewerte

Es wird kein Wert zurückgegeben.

Anmerkungen

Hinweis: Diese Funktion steht nur in Tidy 1.0 zur Verfügung. In Tidy 2.0 ist diese Funktion obsolet und wurde entfernt.

tidy_get_output
tidy_reset_config
Tidy Funktionen


Restore Tidy configuration to default values

tidy_load_config
tidy_save_config
Tidy Funktionen
PHP Manual

tidy_reset_config

(PECL tidy >= 0.7.0)

tidy_reset_config — Restore Tidy configuration to default values

Beschreibung

bool tidy_reset_config ( void )

This function restores the Tidy configuration to the default values.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Hinweis: Diese Funktion steht nur in Tidy 1.0 zur Verfügung. In Tidy 2.0 ist diese Funktion obsolet und wurde entfernt.

tidy_load_config
tidy_save_config
Tidy Funktionen


Save current settings to named file

tidy_reset_config
tidy_set_encoding
Tidy Funktionen
PHP Manual

tidy_save_config

(PECL tidy >= 0.5.2)

tidy_save_config — Save current settings to named file

Beschreibung

bool tidy_save_config ( string $filename )

Saves current settings to the specified file. Only non-default values are written.

Parameter-Liste

filename

Path to the config file.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Hinweis: Diese Funktion steht nur in Tidy 1.0 zur Verfügung. In Tidy 2.0 ist diese Funktion obsolet und wurde entfernt.

Siehe auch

  • tidy_get_config() - Get current Tidy configuration
  • tidy_getopt() - Returns the value of the specified configuration option for the tidy document
  • tidy_reset_config() - Restore Tidy configuration to default values
  • tidy_setopt() - Updates the configuration settings for the specified tidy document

tidy_reset_config
tidy_set_encoding
Tidy Funktionen


Set the input/output character encoding for parsing markup

tidy_save_config
tidy_setopt
Tidy Funktionen
PHP Manual

tidy_set_encoding

(PECL tidy >= 0.5.2)

tidy_set_encoding — Set the input/output character encoding for parsing markup

Beschreibung

bool tidy_set_encoding ( string $encoding )

Sets the encoding for input/output documents.

Parameter-Liste

encoding

The encoding parameter sets the encoding for input/output documents. The possible values for encoding are: ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5, and shiftjis.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Hinweis: Diese Funktion steht nur in Tidy 1.0 zur Verfügung. In Tidy 2.0 ist diese Funktion obsolet und wurde entfernt.

tidy_save_config
tidy_setopt
Tidy Funktionen


Updates the configuration settings for the specified tidy document

tidy_set_encoding
tidy_warning_count
Tidy Funktionen
PHP Manual

tidy_setopt

(PECL tidy >= 0.5.2)

tidy_setopt — Updates the configuration settings for the specified tidy document

Beschreibung

bool tidy_setopt ( string $option , mixed $value )

tidy_setopt() updates the specified option with a new value.

Parameter-Liste

option

The tidy option name. A list of available configuration options may be found at: » http://tidy.sourceforge.net/docs/quickref.html.

value

The tidy option name.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 tidy_setopt() example

<?php
$html = '<p>test</i>';

$tidy = tidy_parse_string($html);

tidy_setopt('indent', FALSE);
?>

Anmerkungen

Hinweis: Diese Funktion steht nur in Tidy 1.0 zur Verfügung. In Tidy 2.0 ist diese Funktion obsolet und wurde entfernt.

Siehe auch

  • tidy_getopt() - Returns the value of the specified configuration option for the tidy document
  • tidy_get_config() - Get current Tidy configuration
  • tidy_reset_config() - Restore Tidy configuration to default values
  • tidy_save_config() - Save current settings to named file
tidy_set_encoding
tidy_warning_count
Tidy Funktionen


Returns the Number of Tidy warnings encountered for specified document

tidy_setopt
Tokenizer
Tidy Funktionen
PHP Manual

tidy_warning_count

(PHP 5, PHP 7, PECL tidy >= 0.5.2)

tidy_warning_count — Returns the Number of Tidy warnings encountered for specified document

Beschreibung

int tidy_warning_count ( tidy $object )

Returns the number of Tidy warnings encountered for the specified document.

Parameter-Liste

object

Das Tidy Objekt.

Rückgabewerte

Returns the number of warnings.

Beispiele

Beispiel #1 tidy_warning_count() example

<?php
$html = '<p>test</i>
<bogustag>bogus</bogustag>';

$tidy = tidy_parse_string($html);

echo tidy_error_count($tidy) . "\n"; //1
echo tidy_warning_count($tidy) . "\n"; //5
?>

Siehe auch

  • tidy_error_count() - Returns the Number of Tidy errors encountered for specified document
  • tidy_access_count() - Returns the Number of Tidy accessibility warnings encountered for specified document

tidy_setopt
Tokenizer
Tidy Funktionen


Tokenizer

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
  • Tokenizer Funktionen
    • token_get_all — Spaltet angegebenen PHP-Quelltext in PHP-Tokens auf
    • token_name — Gibt Bezeichner für ein PHP-Token zurück
tidy_warning_count
Einführung
Sonstige Grunderweiterungen


Einführung

Die Tokenizer-Funktionen bieten eine Schnittstelle zum in PHP integrierten PHP-Tokenizer der Zend-Engine. Mit Hilfe dieser Funktionen ist es möglich ein eigenes Werkzeug zur PHP-Quelltextanalyse oder -modifikation zu entwickeln. Der Umgang mit der Sprachspezifikation auf lexikalischer Ebene wird nicht benötigt.

Siehe auch Anhang zu Tokens.

Tokenizer
Installation/Konfiguration
Tokenizer


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Tokenizer


Installation

Seit PHP 4.3.0 sind diese Funktionen standardmäßig aktiviert. Für ältere Versionen muß PHP mit der Option --enable-tokenizer konfiguriert und kompiliert werden. Die Unterstützung kann mit der Option --disable-tokenizer deaktiviert werden.

Die Windowsversion von PHP enthält diese Erweiterung. Um diese Funktionen zu verwenden, müssen Sie keine zusätzlichen Erweiterungen aktivieren.

Hinweis: Ab PHP 4.3.0 stehen die Funktionen standardmäßig zur Verfügung.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Sobald die Erweiterung mit PHP kompiliert wurde oder dynamisch zur Laufzeit geladen wurde, stehen die im Liste der Parsertoken aufgelisteten Tokens als Konstanten zur Verfügung.

Ressource-Typen
Beispiele
Tokenizer


Beispiele

Folgend ein einfaches Beispiel, dass den Tokenizer verwendet um eine PHP-Datei einzulesen, alle Kommentare zu entfernen und den reinen Quelltext auszugeben.

Beispiel #1 Kommentare mit Hilfe des Tokenizers entfernen

<?php
/*
 * T_ML_COMMENT steht in PHP 5 nicht zur Verfügung.
 * Die folgenden drei Zeilen definieren die Konstante
 * um Abwärtskompatibilität zu gewährleisten.
 *
 * Die nächsten zwei Zeilen definieren die nur in PHP 5
 * verfügbare Konstante T_DOC_COMMENT, die für PHP 4
 * mit T_ML_COMMENT maskiert wird.
 */
if (!defined('T_ML_COMMENT')) {
    define('T_ML_COMMENT', T_COMMENT);
} else {
    define('T_DOC_COMMENT', T_ML_COMMENT);
}

$source = file_get_contents('example.php');
$tokens = token_get_all($source);

foreach ($tokens as $token) {
    if (is_string($token)) {
        // einfaches 1-Zeichen Token
        echo $token;
    } else {
        // Token Array
        list($id, $text) = $token;

        switch ($id) {
            case T_COMMENT:
            case T_ML_COMMENT: // wir haben diese
            case T_DOC_COMMENT: // und diese Konstante definiert
                // Kommentare ignorieren
                break;

            default:
                // alle anderen -> unverändert beibehalten
                echo $text;
                break;
        }
    }
}
?>
Vordefinierte Konstanten
Tokenizer Funktionen
Tokenizer


Tokenizer Funktionen

Beispiele
token_get_all
Tokenizer
PHP Manual

Inhaltsverzeichnis

  • token_get_all — Spaltet angegebenen PHP-Quelltext in PHP-Tokens auf
  • token_name — Gibt Bezeichner für ein PHP-Token zurück
Beispiele
token_get_all
Tokenizer


Spaltet angegebenen PHP-Quelltext in PHP-Tokens auf

Tokenizer Funktionen
token_name
Tokenizer Funktionen
PHP Manual

token_get_all

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

token_get_all — Spaltet angegebenen PHP-Quelltext in PHP-Tokens auf

Beschreibung

array token_get_all ( string $source )

token_get_all() parst den angegebenen Quelltext source und spaltet ihn mit Hilfe des lexikalischen Scanners der Zend-Engine in PHP-Sprachtokens auf.

Eine Übersicht über die verschiedenen Tokens finden Sie im Liste der Parsertoken oder Sie können die Funktion token_name() zum Übersetzen eines Tokens in seinen Textrepäsentanten verwenden.

Parameter-Liste

source

PHP-Quelltext der geparst werden soll.

Rückgabewerte

Array mit Tokenbezeichner. Jeder einzelne Bezeichner ist entweder ein einzelnes Zeichen (z.B.: ;, ., >, !, usw.), oder ein Array bestehend aus drei Elementen. Das erste Element enthält den Tokenindex, das zweite Element den originalen Textinhalt und die Zeilennummer im dritten Element.

Beispiele

Beispiel #1 token_get_all() Beispiele

<?php
$tokens = token_get_all('<?php echo; ?>'); /* => array(
                                                  array(T_OPEN_TAG, '<?php'),
                                                  array(T_ECHO, 'echo'),
                                                  ';',
                                                  array(T_CLOSE_TAG, '?>') ); */

/* Beachten Sie, dass im folgenden Beispiel die Zeichenkette geparst wurde
   als T_INLINE_HTML und nicht wie erwartet als T_COMMENT (T_ML_COMMENT in PHP <5).
   Das liegt an den fehlenden Beginn-/Endetags die im "Quelltext" verwendet wurden.
   Das entspricht einem Kommentar außerhalb der <?php ?> Tags in einer normalen Datei. */
$tokens = token_get_all('/* comment */'); // => array(array(T_INLINE_HTML, '/* comment */'));
?>

Changelog

Version | Beschreibung
5.2.2 | Die Zeilennummer wird im dritten Element zurückgegeben

Tokenizer Funktionen
token_name
Tokenizer Funktionen


Gibt Bezeichner für ein PHP-Token zurück

token_get_all
URLs
Tokenizer Funktionen
PHP Manual

token_name

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

token_name — Gibt Bezeichner für ein PHP-Token zurück

Beschreibung

string token_name ( int $token )

token_name() gibt den Bezeichner für den Wert von token zurück.

Parameter-Liste

token

Der Tokenwert.

Rückgabewerte

Der Bezeichner für den angegebenen token.

Beispiele

Beispiel #1 token_name() Beispiele

<?php
// 260 ist der Tokenwert für den T_EVAL-Token
echo token_name(260);        // -> "T_EVAL"

// Eine Tokenkonstante liefert den eigenen Namen zurück
echo token_name(T_FUNCTION); // -> "T_FUNCTION"
?>

Siehe auch

  • Liste aller Tokens

token_get_all
URLs
Tokenizer Funktionen


URLs

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • URL Funktionen
    • base64_decode — DekodiertMIME base64-kodierte Daten
    • base64_encode — Kodiert Daten MIME base64
    • get_headers — Ruft alle Header ab, die der Server als Antwort auf einen HTTP-Request versendet
    • get_meta_tags — Liest alle content-Attribute der Meta-Tags einer Datei aus und gibt ein Array zurück
    • http_build_query — Erstellen eines URL-kodierten Query-Strings
    • parse_url — Analysiert eine URL und gibt ihre Bestandteile zurück
    • rawurldecode — Dekodiert URL-kodierte Strings
    • rawurlencode — URL-Kodierung nach RFC 3986
    • urldecode — Dekodiert eine URL-kodierte Zeichenkette
    • urlencode — URL-kodiert einen String
token_name
Einführung
Sonstige Grunderweiterungen


Einführung

Umgang mit URL-Strings: Encoden, decoden und parsen.

URLs
Installation/Konfiguration
URLs


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
URLs


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

Die folgenden Konstanten sind für die Nutzung mit parse_url() vorgesehen und stehen ab PHP 5.1.2 zur Verfügung.

PHP_URL_SCHEME (integer)
PHP_URL_HOST (integer)
Gibt den Hostnamen der geparsten URL aus.
PHP_URL_PORT (integer)
Gibt den Port der geparsten URL aus.
PHP_URL_USER (integer)
Gibt den Benutzer der geparsten URL aus.
PHP_URL_PASS (integer)
Gibt das Passwort der geparsten URL aus.
PHP_URL_PATH (integer)
Gibt den Pfad der geparsten URL aus.
PHP_URL_QUERY (integer)
Gibt den Querystring der geparsten URL aus.
PHP_URL_FRAGMENT (integer)
Gibt das Fragment (Zeichenkette nach der Raute #) der geparsten URL aus.

Die folgenden Konstanten sind für die Verwendung mit http_build_query() gedacht.

PHP_QUERY_RFC1738 (integer)
Die Kodierung wird gemäß » RFC 1738 und dem application/x-www-form-urlencoded Media-Typ durchgeführt, was impliziert, dass Leerzeichen als Pluszeichen (+) kodiert werden.
PHP_QUERY_RFC3986 (integer)
Die Kodierung wird gemäß » RFC 3986 durchgeführt, und Leerzeichen werden prozentkodiert (%20).
Ressource-Typen
URL Funktionen
URLs


URL Funktionen

Inhaltsverzeichnis

  • base64_decode — DekodiertMIME base64-kodierte Daten
  • base64_encode — Kodiert Daten MIME base64
  • get_headers — Ruft alle Header ab, die der Server als Antwort auf einen HTTP-Request versendet
  • get_meta_tags — Liest alle content-Attribute der Meta-Tags einer Datei aus und gibt ein Array zurück
  • http_build_query — Erstellen eines URL-kodierten Query-Strings
  • parse_url — Analysiert eine URL und gibt ihre Bestandteile zurück
  • rawurldecode — Dekodiert URL-kodierte Strings
  • rawurlencode — URL-Kodierung nach RFC 3986
  • urldecode — Dekodiert eine URL-kodierte Zeichenkette
  • urlencode — URL-kodiert einen String
Vordefinierte Konstanten
base64_decode
URLs


DekodiertMIME base64-kodierte Daten

URL Funktionen
base64_encode
URL Funktionen
PHP Manual

base64_decode

(PHP 4, PHP 5, PHP 7)

base64_decode — DekodiertMIME base64-kodierte Daten

Beschreibung

string base64_decode ( string $data [, bool $strict = false ] )

Dekodiert base64-kodierte Daten, die in data übergeben wurden.

Parameter-Liste

data

Die zu dekodierenden Daten.

strict

Gibt FALSE zurück, wenn der Input Zeichen enthält, die nicht im "base64-Alphabet" enthalten sind.

Rückgabewerte

Gibt die Originaldaten zurück. Im Fehlerfall wird FALSE zurückgegeben. Die zurückgegebenen Daten können in Binärform vorliegen.

Changelog

Version | Beschreibung
5.2.0 | strict-Parameter hinzugefügt

Beispiele

Beispiel #1 base64_decode()-Beispiel

<?php
$str = 'RGllcyBpc3QgZWluIHp1IGtvZGllcmVuZGVyIFN0cmluZw==';
echo base64_decode($str);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Dies ist ein zu kodierender String

Siehe auch

  • base64_encode() - Kodiert Daten MIME base64
  • » RFC 2045 Kapitel 6.8

URL Funktionen
base64_encode
URL Funktionen


Kodiert Daten MIME base64

base64_decode
get_headers
URL Funktionen
PHP Manual

base64_encode

(PHP 4, PHP 5, PHP 7)

base64_encode — Kodiert Daten MIME base64

Beschreibung

string base64_encode ( string $data )

Kodiert den übergebenen Parameter data mittels base64.

Diese Form des Encodings wurde entworfen, um Binärdaten unbeschädigt mittels Technologien wie E-Mail übertragen zu können, die nicht korrekt mit 8-Bit-Zeichen umgehen.

Base64-kodierte Daten benötigen ungefähr 33% mehr Speicher als die Originaldaten.

Parameter-Liste

data

Die zu kodierenden Daten.

Rückgabewerte

Die kodierten Daten in Stringform. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 base64_encode()-Beispiel

<?php
$str = 'Dies ist ein zu kodierender String';
echo base64_encode($str);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

RGllcyBpc3QgZWluIHp1IGtvZGllcmVuZGVyIFN0cmluZw==

Siehe auch

  • base64_decode() - DekodiertMIME base64-kodierte Daten
  • chunk_split() - Zerlegt einen String in Teile gleicher Länge
  • convert_uuencode() - UU-kodiert eine Zeichenkette
  • » RFC 2045 section 6.8

base64_decode
get_headers
URL Funktionen


Ruft alle Header ab, die der Server als Antwort auf einen HTTP-Request versendet

base64_encode
get_meta_tags
URL Funktionen
PHP Manual

get_headers

(PHP 5, PHP 7)

get_headers — Ruft alle Header ab, die der Server als Antwort auf einen HTTP-Request versendet

Beschreibung

array get_headers ( string $url [, int $format = 0 ] )

get_headers() gibt ein Array zurück, das die vom Server in seiner Antwort (Response) auf eine HTTP-Anfrage gesendeten Header enthält.

Parameter-Liste

url

Der Ziel-URL.

format

Wenn der optionale Parameter format auf eine Wert ungleich 0 gesetzt wird, parst get_headers() die Serverantwort und setzt entsprechende Arrayschlüssel.

Rückgabewerte

Gibt ein indexbasiertes oder ein assoziatives Array zurück, das die übermittelten Header enthält. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.1.3 | Die Funktion verwendet nun den Standard-Streamkontext, der mittels stream_context_set_default() gesetzt respektive verändert werden kann.

Beispiele

Beispiel #1 get_headers()-Beispiel

<?php
$url = 'http://www.example.com';

print_r(get_headers($url));

print_r(get_headers($url, 1));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [0] => HTTP/1.1 200 OK
    [1] => Date: Sat, 29 May 2004 12:28:13 GMT
    [2] => Server: Apache/1.3.27 (Unix)  (Red-Hat/Linux)
    [3] => Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
    [4] => ETag: "3f80f-1b6-3e1cb03b"
    [5] => Accept-Ranges: bytes
    [6] => Content-Length: 438
    [7] => Connection: close
    [8] => Content-Type: text/html
)

Array
(
    [0] => HTTP/1.1 200 OK
    [Date] => Sat, 29 May 2004 12:28:14 GMT
    [Server] => Apache/1.3.27 (Unix)  (Red-Hat/Linux)
    [Last-Modified] => Wed, 08 Jan 2003 23:11:55 GMT
    [ETag] => "3f80f-1b6-3e1cb03b"
    [Accept-Ranges] => bytes
    [Content-Length] => 438
    [Connection] => close
    [Content-Type] => text/html
)

Beispiel #2 get_headers() using HEAD example

<?php
// Standardmäßig verwendet get_headers einen GET-Request um die Header zu holen.
// Wenn statt dessen ein HEAD-Request durchgeführt werden soll, muss ein
// Stream-Kontext verwendet werden:
stream_context_set_default(
    array(
        'http' => array(
            'method' => 'HEAD'
        )
    )
);
$headers = get_headers('http://example.com');
?>

Siehe auch

  • apache_request_headers() - Liefert alle HTTP-Requestheader

base64_encode
get_meta_tags
URL Funktionen


Liest alle content-Attribute der Meta-Tags einer Datei aus und gibt ein Array zurück

get_headers
http_build_query
URL Funktionen
PHP Manual

get_meta_tags

(PHP 4, PHP 5, PHP 7)

get_meta_tags — Liest alle content-Attribute der Meta-Tags einer Datei aus und gibt ein Array zurück

Beschreibung

array get_meta_tags ( string $filename [, bool $use_include_path = false ] )

Öffnet filename und untersucht die Datei Zeile für Zeile auf das Vorkommen von <meta>-Tags. Das Parsen wird beim ersten Auftreten von </head> beendet.

Parameter-Liste

filename

Der Pfad zur HTML-Datei im Stringformat. Die Datei kann lokal oder als ein URL vorliegen.

Beispiel #1 Was get_meta_tags() parst

<meta name="author" content="name">
<meta name="keywords" content="php documentation">
<meta name="DESCRIPTION" content="a php manual">
<meta name="geo.position" content="49.33;-86.59">
</head> <!-- parsing stops here -->
(Geben Sie auf die Zeilenenden acht - PHP verwendet eine native Funktion, um den Input zu parsen, daher werden Mac-Dateien auf einem Unix-System zu Fehlern führen.)

use_include_path

Ist use_include_path auf TRUE gesetzt, wird PHP immer versuchen, die gesuchte Datei innerhalb des Standard-Include-Pfades, wie er via include_path-Direktive angegeben ist, zu finden. Diese angabe wird nur für lokale Dateien nicht jedoch für URLs verwendet.

Rückgabewerte

Gibt ein Array mit allen geparsten Metatags zurück.

Der Wert des name-Attributs wird dabei zum Schlüssel, der Wert des content-Attributs wird der Wert des zurückgegebenen Arrays, so dass Sie einfach die Standard-Arrayfunktionen verwenden können, um durch das gesamte Array zu traversieren oder auf einzelne Werte davon zuzugreifen. Sonderzeichen im Wert des name-Attributs werden mit '_' ersetzt, alle anderen Zeichen werden in Kleinbuchstaben konvertiert. Haben zwei Metatags den gleichen Namen, wird nur der letzte zurückgegeben.

Beispiele

Beispiel #2 Was get_meta_tags() zurückgibt

<?php
// Angenommen die genannten Tags stuenden auf www.example.com
$tags = get_meta_tags('http://www.example.com/');

// Beachten Sie, dass alle Keys kleingeschrieben werden
// und dass . im Schluessel durch _ ersetzt wird.
echo $tags['author'];       // name
echo $tags['keywords'];     // php documentation
echo $tags['description'];  // a php manual
echo $tags['geo_position']; // 49.33;-86.59
?>

Anmerkungen

Hinweis:

Nur Meta-Tags mit name-Attributen werden geparst. Anführungszeichen sind nicht erforderlich.

Siehe auch

  • htmlentities() - Wandelt alle geeigneten Zeichen in entsprechende HTML-Codes um
  • urlencode() - URL-kodiert einen String

get_headers
http_build_query
URL Funktionen


Erstellen eines URL-kodierten Query-Strings

get_meta_tags
parse_url
URL Funktionen
PHP Manual

http_build_query

(PHP 5, PHP 7)

http_build_query — Erstellen eines URL-kodierten Query-Strings

Beschreibung

string http_build_query ( mixed $query_data [, string $numeric_prefix [, string $arg_separator [, int $enc_type = PHP_QUERY_RFC1738 ]]] )

Erstellt einen URL-kodierten Query-String aus einem gegebenen assoziativen (oder indexierten) Array.

Parameter-Liste

query_data

Kann ein Array oder ein Objekt sein, das Eigenschaften enthält.

Ist query_data ein Array, kann es eine einfache eindimensionale Struktur haben, oder ein Array aus Arrays sein (die wiederum weitere Arrays enthalten können).

Ist query_data ein Objekt, werden nur öffentliche Eigenschaften in das Ergebnis einbezogen.

numeric_prefix

Wenn numerische Indizes im äußeren Array verwendet werden und ein numeric_prefix angegeben wurde, wird dieser nur den numerischen Schlüsseln im äußeren Array vorangestellt.

Dieser Weg wurde gewählt, um gültige Variablennamen zu erhalten, wenn die Daten später von PHP oder einer anderen CGI-Applikation dekodiert werden.

arg_separator

arg_separator.output wird verwendet, um die Argumente voneinander zu trennen, es sei denn, dass der Parameter angegeben ist. In diesem Falle wird letzteres verwendet.

enc_type

Standardmäßig PHP_QUERY_RFC1738.

Ist enc_type PHP_QUERY_RFC1738, wird die Kodierung gemäß » RFC 1738 und dem application/x-www-form-urlencoded Media-Typ durchgeführt, was bedeutet, dass Leerzeichen als Plus-Zeichen (+) kodiert werden.

Ist enc_type PHP_QUERY_RFC3986, wird die Kodierung gemäß » RFC 3986 durchgeführt, und Leerzeichen werden mit einem Prozentzeichen (%20) kodiert.

Rückgabewerte

Gibt einen URL-kodierten String zurück.

Changelog

Version | Beschreibung
5.4.0 | enc_type-Parameter hinzugefügt.
5.1.3 | Eckige Klammern werden maskiert.
5.1.2 | arg_separator-Parameter hinzugefügt.

Beispiele

Beispiel #1 Einfache Verwendung von http_build_query()

<?php
$data = array('foo'=>'bar',
              'baz'=>'boom',
              'kuh'=>'milch',
              'php'=>'hypertext processor');

echo http_build_query($data) . "\n";
echo http_build_query($data, '', '&amp;');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

foo=bar&baz=boom&kuh=milch&php=hypertext+processor
foo=bar&amp;baz=boom&amp;kuh=milch&amp;php=hypertext+processor

Beispiel #2 http_build_query() mit numerischen Index-Elementen.

<?php
$data = array('foo', 'bar', 'baz', 'boom', 'kuh' => 'milch', 'php' =>'hypertext processor');

echo http_build_query($data) . "\n";
echo http_build_query($data, 'meineVariable_');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

0=foo&1=bar&2=baz&3=boom&kuh=milch&php=hypertext+processor
meineVariable_0=foo&meineVariable_1=bar&meineVariable_2=baz&meineVariable_3=boom&kuh=milch&php=hypertext+processor

Beispiel #3 http_build_query() mit verschachtelten Arrays

<?php
$data = array('user'=>array('name'=>'Bob Smith',
                            'alter'=>47,
                            'geschlecht'=>'M',
                            'geb'=>'5/12/1956'),
              'hobbies'=>array('golf', 'opera', 'poker', 'rap'),
              'kinder'=>array('bobby'=>array('alter'=>12,
                                               'geschlecht'=>'M'),
                                'sally'=>array('alter'=>8,
                                               'geschlecht'=>'F')),
              'CEO');

echo http_build_query($data, 'flags_');
?>

Ausgabe: (für bessere Lesbarkeit umgebrochen!)

user[name]=Bob+Smith&user[alter]=47&user[geschlecht]=M&user[geb]=5%2F12%2F1956&
hobbies[0]=golf&hobbies[1]=opera&hobbies[2]=poker&hobbies[3]=rap&
kinder[bobby][alter]=12&kinder[bobby][geschlecht]=M&kinder[sally][alter]=8&
kinder[sally][geschlecht]=F&flags_0=CEO

Hinweis:

Nur das numerische Indexelement im äußeren Array "CEO" erhält ein Prefix. Die anderen numerischen Indizes unterhalb von hobbies benötigen kein String-Prefix, um einen gültigen Variablennamen darzustellen.

Beispiel #4 Verwendung von http_build_query() mit einem Objekt

<?php
class parentClass {
    public    $pub      = 'publicParent';
    protected $prot     = 'protectedParent';
    private   $priv     = 'privateParent';
    public    $pub_bar  = Null;
    protected $prot_bar = Null;
    private   $priv_bar = Null;

    public function __construct(){
        $this->pub_bar  = new childClass();
        $this->prot_bar = new childClass();
        $this->priv_bar = new childClass();
    }
}

class childClass {
    public    $pub  = 'publicChild';
    protected $prot = 'protectedChild';
    private   $priv = 'privateChild';
}

$parent = new parentClass();

echo http_build_query($parent);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

pub=publicParent&pub_bar%5Bpub%5D=publicChild

Siehe auch

  • parse_str() - Überträgt einen String in Variable
  • parse_url() - Analysiert eine URL und gibt ihre Bestandteile zurück
  • urlencode() - URL-kodiert einen String
  • array_walk() - Wendet eine vom Benutzer gelieferte Funktion auf jedes Element eines Arrays an

get_meta_tags
parse_url
URL Funktionen


Analysiert eine URL und gibt ihre Bestandteile zurück

http_build_query
rawurldecode
URL Funktionen
PHP Manual

parse_url

(PHP 4, PHP 5, PHP 7)

parse_url — Analysiert eine URL und gibt ihre Bestandteile zurück

Beschreibung

mixed parse_url ( string $url [, int $component = -1 ] )

Diese Funktion parst einen URL und gibt ein assoziatives Array zurück, das die im URL vorhandenen Komponenten enthält.

Diese Funktion ist nicht dazu gedacht, einen gegebenen URL zu validieren, sondern es gliedert einen URL in die unten aufgeführten Bestandteile. Unvollständige URLs werden als Parameter akzeptiert, parse_url() versucht, sie bestmöglich zu analysieren.

Parameter-Liste

url

Der zu parsende URL. Ungültige Zeichen werden durch _ ersetzt.

component

Geben Sie einen der folgenden Parameter an, um nur einen spezifischen Teil des URL als String (außer wenn PHP_URL_PORT angegeben wird, in welchem Fall der Rückgabewert ein Integer ist) zu erhalten: Geben Sie entweder PHP_URL_SCHEME, PHP_URL_HOST, PHP_URL_PORT, PHP_URL_USER, PHP_URL_PASS, PHP_URL_PATH, PHP_URL_QUERY oder PHP_URL_FRAGMENT an.

Rückgabewerte

Bei sehr fehlerhaften URLs kann parse_url() FALSE zurückgeben.

Wird der component Parameter ausgelassen, wird ein assoziatives Array zurückgegeben. Mindestens ein Bestandteil liegt im Array vor. Mögliche Schlüssel in diesem Array sind:

  • scheme - z.B. http
  • host
  • port
  • user
  • pass
  • path
  • query - alles nach dem Fragezeichen ?
  • fragment - alles nach dem Textanker #

Ist der Parameter component angegeben, gibt parse_url() ein String (oder ein Integer, im Fall von PHP_URL_PORT) anstelle des normalen Array zurück.

Changelog

Version | Beschreibung
5.4.7 | Host-Erkennung bei fehlendem Schema und führendem Komponententrenner korrigiert.
5.3.3 | E_WARNING für fehlerhafte URLs entfernt.
5.1.2 | component-Parameter hinzugefügt

Beispiele

Beispiel #1 Ein parse_url()-Beispiel

<?php
$url = 'http://benutzername:passwort@hostname:9090/pfad?argument=wert#textanker';

var_dump(parse_url($url));
var_dump(parse_url($url, PHP_URL_SCHEME));
var_dump(parse_url($url, PHP_URL_USER));
var_dump(parse_url($url, PHP_URL_PASS));
var_dump(parse_url($url, PHP_URL_HOST));
var_dump(parse_url($url, PHP_URL_PORT));
var_dump(parse_url($url, PHP_URL_PATH));
var_dump(parse_url($url, PHP_URL_QUERY));
var_dump(parse_url($url, PHP_URL_FRAGMENT));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(8) {
  ["scheme"]=>
  string(4) "http"
  ["host"]=>
  string(8) "hostname"
  ["port"]=>
  int(9090)
  ["user"]=>
  string(12) "benutzername"
  ["pass"]=>
  string(8) "passwort"
  ["path"]=>
  string(5) "/pfad"
  ["query"]=>
  string(13) "argument=wert"
  ["fragment"]=>
  string(9) "textanker"
}
string(4) "http"
string(12) "benutzername"
string(8) "passwort"
string(8) "hostname"
int(9090)
string(5) "/pfad"
string(13) "argument=wert"
string(9) "textanker"

Beispiel #2 Ein parse_url()-Beispiel mit fehlendem Schema

<?php
$url = '//www.example.com/path?googleguy=googley';

// Vor 5.4.7 wurde der Pfad als "//www.example.com/path" angezeigt
var_dump(parse_url($url));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(3) {
  ["host"]=>
  string(15) "www.example.com"
  ["path"]=>
  string(5) "/path"
  ["query"]=>
  string(17) "googleguy=googley"
}

Anmerkungen

Hinweis:

Diese Funktion verarbeitet keine relativen URLs.

Hinweis:

Die Funktion ist primär dazu gedacht, URLs zu parsen, nicht jedoch URIs. Um jedoch die Abwärtskompatibilität von PHP zu gewährleisten, wird für das Schema file:// die Ausnahme dreier Slashes (file:///) zugelassen. Bei allen anderen Schemata ist diese Notierung ungültig.

Siehe auch

  • pathinfo() - Liefert Informationen über einen Dateipfad
  • parse_str() - Überträgt einen String in Variable
  • http_build_query() - Erstellen eines URL-kodierten Query-Strings
  • http_build_url()
  • dirname() - Gibt den Pfad des übergeordneten Verzeichnisses zurück
  • basename() - Gibt letzten Namensteil einer Pfadangabe zurück
  • » RFC 3986

http_build_query
rawurldecode
URL Funktionen


Dekodiert URL-kodierte Strings

parse_url
rawurlencode
URL Funktionen
PHP Manual

rawurldecode

(PHP 4, PHP 5, PHP 7)

rawurldecode — Dekodiert URL-kodierte Strings

Beschreibung

string rawurldecode ( string $str )

Gibt einen String zurück, in dem die Abfolgen beginnend mit einem Prozentzeichen (%) gefolgt von zwei Hex-Werten durch ihr originäres Zeichen ersetzt wurden.

Parameter-Liste

str

Der zu dekodierende URL.

Rückgabewerte

Gibt den dekodierten URL im Stringformat zurück.

Beispiele

Beispiel #1 rawurldecode()-Beispiel

<?php

echo rawurldecode('foo%20bar%40baz'); // foo bar@baz

?>

Anmerkungen

Hinweis:

rawurldecode() verwandelt beim Dekodieren Pluszeichen ('+') nicht in Leerzeichen. Dies erledigt urldecode().

Siehe auch

  • rawurlencode() - URL-Kodierung nach RFC 3986
  • urldecode() - Dekodiert eine URL-kodierte Zeichenkette
  • urlencode() - URL-kodiert einen String
  • » RFC 3986

parse_url
rawurlencode
URL Funktionen


URL-Kodierung nach RFC 3986

rawurldecode
urldecode
URL Funktionen
PHP Manual

rawurlencode

(PHP 4, PHP 5, PHP 7)

rawurlencode — URL-Kodierung nach RFC 3986

Beschreibung

string rawurlencode ( string $str )

Kodiert einen übergebenen String entsprechend » RFC 3986.

Parameter-Liste

str

Der zu kodierende URL.

Rückgabewerte

Gibt einen String zurück, in dem alle nicht-alphanumerischen Zeichen außer -_.~ durch ein Prozentzeichen (%) gefolgt von zwei Hex-Werten ersetzt wurden. Diese Kodierung, beschrieben im » RFC 3986, wurde entworfen, um Sonderzeichen davor zu bewahren, fälschlich als spezielle URL-Trennzeichen interpretiert zu werden, sowie um URLs vor dem Verstümmeln durch Übertragungsmedien mit Zeichenumwandlung (wie bei einigen E-Mail-Systemen) zu schützen.

Hinweis:

Vor PHP 5.3.0 hat rawurlencode Tilden (~) gemäß » RFC 1738 kodiert.

Changelog

Version | Beschreibung
5.3.4 | Tildezeichen werden nicht mehr kodiert, wenn rawurlencode() mit EBCDIC-Strings verwendet wird.
5.3.0 | Entspricht nun » RFC 3986.

Beispiele

Beispiel #1 Übergeben eines Passworts in einem FTP-URL

<?php
echo '<a href="ftp://user:', rawurlencode('foo @+%/'),
     '@ftp.example.com/x.txt">';
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<a href="ftp://user:foo%20%40%2B%25%2F@ftp.example.com/x.txt">

Oder wenn Sie eine Information innerhalb des PATH_INFO-Teils eines URL übergeben wollen:

Beispiel #2 rawurlencode()-Beispiel 2

<?php
echo '<a href="http://example.com/department_list_script/',
    rawurlencode('sales and marketing/Miami'), '">';
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<a href="http://example.com/department_list_script/sales%20and%20marketing%2FMiami">

Siehe auch

  • rawurldecode() - Dekodiert URL-kodierte Strings
  • urldecode() - Dekodiert eine URL-kodierte Zeichenkette
  • urlencode() - URL-kodiert einen String
  • » RFC 3986

rawurldecode
urldecode
URL Funktionen


Dekodiert eine URL-kodierte Zeichenkette

rawurlencode
urlencode
URL Funktionen
PHP Manual

urldecode

(PHP 4, PHP 5, PHP 7)

urldecode — Dekodiert eine URL-kodierte Zeichenkette

Beschreibung

string urldecode ( string $str )

Dekodiert jede %## Kodierung einer gegebenen Zeichenkette. Pluszeichen ('+') werden in Leerzeichen umgewandelt.

Parameter-Liste

str

Der zu dekodierende String.

Rückgabewerte

Gibt den dekodierten String zurück.

Beispiele

Beispiel #1 urldecode()-Beispiel

<?php
$query = "my=apples&are=green+and+red";

foreach (explode('&', $query) as $chunk) {
    $param = explode("=", $chunk);

    if ($param) {
        printf("Wert von Parameter \"%s\" ist \"%s\"<br/>\n", urldecode($param[0]), urldecode($param[1]));
    }
}
?>

Anmerkungen

Warnung

Die Superglobals $_GET und $_REQUEST sind bereits dekodiert. Die Verwendung von urldecode() mit Elementen von $_GET oder $_REQUEST kann daher zu unerwarteten und gefährlichen Resultaten führen.

Siehe auch

  • urlencode() - URL-kodiert einen String
  • rawurlencode() - URL-Kodierung nach RFC 3986
  • rawurldecode() - Dekodiert URL-kodierte Strings
  • » RFC 3986

rawurlencode
urlencode
URL Funktionen


URL-kodiert einen String

urldecode
V8js
URL Funktionen
PHP Manual

urlencode

(PHP 4, PHP 5, PHP 7)

urlencode — URL-kodiert einen String

Beschreibung

string urlencode ( string $str )

Die Funktion ist geeignet, wenn ein String innerhalb eines Queryparts eines URL verwendet werden soll, und man einen komfortablen Weg benötigt, Variablen an die nächste Seite zu übergeben.

Parameter-Liste

str

Der zu kodierende String.

Rückgabewerte

Gibt einen String zurück, in dem alle nicht-alphanumerischen Zeichen außer -_. durch ein Prozentzeichen (%) gefolgt von zwei Hexadezimalwerten und Leerzeichen durch ein Plus (+) ersetzt werden. Das Encoding geschieht auf dem gleichen Wege, wie auch durch ein WWW-Formular gepostete Daten kodiert werden - das entspricht der Auszeichnung des Dateityps application/x-www-form-urlencoded. Diese Auszeichnung differiert von der Kodierung nach » RFC 3986 (siehe auch rawurlencode()) dadurch, dass aus historischen Gründen das Leerzeichen als Pluszeichen (+) kodiert wird.

Beispiele

Beispiel #1 urlencode()-Beispiel

<?php
echo '<a href="mycgi?foo=', urlencode($userinput), '">';
?>

Beispiel #2 urlencode() und htmlentities()-Beispiel

<?php
$query_string = 'foo=' . urlencode($foo) . '&bar=' . urlencode($bar);
echo '<a href="mycgi?' . htmlentities($query_string) . '">';
?>

Anmerkungen

Hinweis:

Seien Sie vorsichtig beim Umgang mit Variablen, die HTML-Entities enthalten könnten. Angaben wie &amp, &copy und &pound werden vom Browser geparst und die eigentliche Entität wird anstelle des gewünschten Variablennamens verwendet. Dies ist eine naheliegende Schwierigkeit, über die das W3C bereits seit Jahren informiert. Die entsprechende Referenz finden Sie hier: » http://www.w3.org/TR/html4/appendix/notes.html#h-B.2.2.

PHP unterstützt den Austausch des vom W3C empfohlenen Argument-Trenners Semikolon durch einen selbstgewählten Trenner über die arg_separator-Direktive in der php.ini. Leider senden die meisten User-Agents Formulardaten nicht im standardkonformen semikolongetrennten Format. Ein möglicher Weg, mit diesem Problem umzugehen, ist die Verwendung von &amp; anstelle von & als Trennzeichen. Sie müssen dafür nicht die php.ini-Direktive arg_separator verändern. Belassen Sie sie als &, und verwenden Sie statt dessen für Ihre URLs die Funktionen htmlentities() oder htmlspecialchars().

Siehe auch

  • urldecode() - Dekodiert eine URL-kodierte Zeichenkette
  • htmlentities() - Wandelt alle geeigneten Zeichen in entsprechende HTML-Codes um
  • rawurlencode() - URL-Kodierung nach RFC 3986
  • rawurldecode() - Dekodiert URL-kodierte Strings
  • » RFC 3986

urldecode
V8js
URL Funktionen


V8 Javascript-Engine Integration

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Beispiele
  • V8Js — Die Klasse V8Js
    • V8Js::__construct — Erstellt ein neues V8Js-Objekt
    • V8Js::executeString — Führt JavaScript-Code aus
    • V8Js::getExtensions — Gibt ein Array der registrierten Erweiterungen zurück
    • V8Js::getPendingException — Gibt ausstehende ungefangene JavaScript-Exception zurück.
    • V8Js::registerExtension — Registriert JavaScript-Erweiterungen für V8Js
  • V8JsException — Die Klasse V8JsException
    • V8JsException::getJsFileName — The getJsFileName purpose
    • V8JsException::getJsLineNumber — The getJsLineNumber purpose
    • V8JsException::getJsSourceLine — The getJsSourceLine purpose
    • V8JsException::getJsTrace — The getJsTrace purpose
urlencode
Einführung
Sonstige Grunderweiterungen


Einführung

Diese Erweiterung bindet die » V8 Javascript-Engine in PHP ein.

V8js
Installation/Konfiguration
V8js


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
V8js


Anforderungen

PHP 5.3.3+ und die V8-Bibliothek mit Headern sind an den üblichen Orten installiert.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/v8js

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

V8js Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
v8js.max_disposed_contexts | 25 | PHP_INI_ALL |
v8js.flags |  | PHP_INI_ALL |

Hier eine kurze Erklärung der Konfigurationsoptionen:

v8js.max_disposed_contexts integer

Setzt das Limit für disponierte Kontexte bevor V8 gezwungen wird, eine Garbage Collection durchzuführen.

v8js.flags string

Setzt V8-Kommandozeilenparameter. Die Liste der verfügbaren Parameter kann im CLI-Mode durch Setzen des Parameters --help ausgelesen werden. Beispiel:

$ php -r 'ini_set("v8js.flags", "--help"); new V8Js;' | less

Hinweis:

Damit diese Parameter Wirkung zeigen, müssen ini_set()-Aufrufe erfolgen bevor V8Js-Objekte instanziiert werden.

Installation
Ressource-Typen
Installation/Konfiguration


Beispiele

Einfache Anwendungsbeispiele

Beispiel #1 Einfache Ausführung von JavaScript

<?php

$v8 = new V8Js();

/* basic.js */
$JS = <<< EOT
len = print('Hallo' + ' ' + 'Welt!' + "\\n");
len;
EOT;

try {
  var_dump($v8->executeString($JS, 'basic.js'));
} catch (V8JsException $e) {
  var_dump($e);
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Hallo Welt!
int(12)
Ressource-Typen
V8Js
V8js


Die Klasse V8Js

(PECL v8js >= 0.1.0)

Einführung

Dies ist die Kernklasse der V8JS-Erweiterung. Jede Instanz dieser Klasse hat einen eigenen Kontext in dem alles JavaScript kompiliert und ausgeführt wird.

Für mehr Informationen, siehe V8Js::__construct().

Klassenbeschreibung

V8Js {
/* Konstanten */
const string V8_VERSION ;
const integer FLAG_NONE = 1 ;
const integer FLAG_FORCE_ARRAY = 2 ;
/* Methoden */
public __construct ([ string $object_name = "PHP" [, array $variables = array() [, array $extensions = array() [, bool $report_uncaught_exceptions = TRUE ]]]] )
public mixed executeString ( string $script [, string $identifier = "V8Js::executeString()" [, int $flags = V8Js::FLAG_NONE ]] )
public static array getExtensions ( void )
public V8JsException getPendingException ( void )
public static bool registerExtension ( string $extension_name , string $script [, array $dependencies = array() [, bool $auto_enable = FALSE ]] )
}

Vordefinierte Konstanten

V8Js Knotentypen

V8Js::V8_VERSION

Version der V8-Engine.

V8Js::FLAG_NONE

Keine Parameter.

V8Js::FLAG_FORCE_ARRAY

Verursacht, dass alle JavaScript-Objekte in PHP als assoziatove Arrays abgebildet werden.

Inhaltsverzeichnis

  • V8Js::__construct — Erstellt ein neues V8Js-Objekt
  • V8Js::executeString — Führt JavaScript-Code aus
  • V8Js::getExtensions — Gibt ein Array der registrierten Erweiterungen zurück
  • V8Js::getPendingException — Gibt ausstehende ungefangene JavaScript-Exception zurück.
  • V8Js::registerExtension — Registriert JavaScript-Erweiterungen für V8Js
Beispiele
V8Js::__construct
V8js


Erstellt ein neues V8Js-Objekt

V8Js
V8Js::executeString
V8Js
PHP Manual

V8Js::__construct

(PECL v8js >= 0.1.0)

V8Js::__construct — Erstellt ein neues V8Js-Objekt

Beschreibung

 public V8Js::__construct
  ([ string $object_name = "PHP"
 [, array $variables = array()
 [, array $extensions = array()
 [, bool $report_uncaught_exceptions = TRUE
]]]] )

Erstellt ein neues V8Js-Objekt.

Parameter-Liste

object_name

Der Name des Objekts, dass an JavaScript übergeben wird.

variables

Zuweisung von PHP-Variablen die in JavaScript verfügbar sein sollen. Es muss sich um ein assoziatives array im folgenden Format handeln: array("name-for-js" => "name-of-php-variable"). Standard ist ein leeres Array.

extensions

Liste von Erweiterungen, die mit V8Js::registerExtension() registriert wurden und im JavaScript-Kontext des erstellten V8Js-Objekts verfügbar sein sollen.

Hinweis:

Erweiterungen, die als automatisch aktiviert registriert wurden, müssen nicht in diesem Array gelistet werden. Auch wenn eine Erweiterung von anderen abhängt, müssen letztere nicht gelistet werden. Standard ist ein leeres Array.

report_uncaught_exceptions

Steuert, ob ungefangene JavaScript-Exceptions sofort berichtet werden sollen oder nicht. Standardeinstellung ist TRUE, wenn der Wert auf FALSE gesetzt wird, kann auf die ungefangene Ausnahme über V8Js::getPendingException() zugegriffen werden.

Rückgabewerte

Gibt ein neues V8Js-Kontextobjekt zurück.

V8Js
V8Js::executeString
V8Js


Führt JavaScript-Code aus

V8Js::__construct
V8Js::getExtensions
V8Js
PHP Manual

V8Js::executeString

(PECL v8js >= 0.1.0)

V8Js::executeString — Führt JavaScript-Code aus

Beschreibung

public mixed V8Js::executeString ( string $script [, string $identifier = "V8Js::executeString()" [, int $flags = V8Js::FLAG_NONE ]] )

Kompiliert die als script übergebene Zeichenkette als JavaScript-Code und führt sie aus.

Parameter-Liste

script

Der Code, der ausgeführt werden soll.

identifier

Identifizierende Zeichenkette für den Code (zu Fehlersuchzwecken).

flags

Parameter für die Ausführung. Dieser Wert muss einer der folgenden V8Js::FLAG_*-Konstanten entsprechen, standardmäßig V8Js::FLAG_NONE.

  • V8Js::FLAG_NONE: keine Parameter

  • V8Js::FLAG_FORCE_ARRAY: veranlasst, dass alle Javascript-Objekte in PHP als assoziative Arrays abgebildet werden.

Rückgabewerte

Gibt die letzte im JavaScript-Code instanziierte Variable, in den passenden PHP-Variablentyp umgewandelt, zurück.

V8Js::__construct
V8Js::getExtensions
V8Js


Gibt ein Array der registrierten Erweiterungen zurück

V8Js::executeString
V8Js::getPendingException
V8Js
PHP Manual

V8Js::getExtensions

(PECL v8js >= 0.1.0)

V8Js::getExtensions — Gibt ein Array der registrierten Erweiterungen zurück

Beschreibung

public static array V8Js::getExtensions ( void )

Diese Funktion gibt ein Array der mit V8Js::registerExtension() registrierten JavaScript-Erweiterungen zurück.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt ein Array von registrierten Erweiterungen zurück oder ein leeres Array, wenn keine registriert sind.

V8Js::executeString
V8Js::getPendingException
V8Js


Gibt ausstehende ungefangene JavaScript-Exception zurück.

V8Js::getExtensions
V8Js::registerExtension
V8Js
PHP Manual

V8Js::getPendingException

(PECL v8js >= 0.1.0)

V8Js::getPendingException — Gibt ausstehende ungefangene JavaScript-Exception zurück.

Beschreibung

public V8JsException V8Js::getPendingException ( void )

Gibt eine ausstehende ungefangene JavaScript-Ausnahme als V8JsException zurück, die von vorherigen V8Js::executeString()-Aufrufen übrig ist.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Entweder eine V8JsException oder NULL.

V8Js::getExtensions
V8Js::registerExtension
V8Js


Registriert JavaScript-Erweiterungen für V8Js

V8Js::getPendingException
V8JsException
V8Js
PHP Manual

V8Js::registerExtension

(PECL v8js >= 0.1.0)

V8Js::registerExtension — Registriert JavaScript-Erweiterungen für V8Js

Beschreibung

public static bool V8Js::registerExtension ( string $extension_name , string $script [, array $dependencies = array() [, bool $auto_enable = FALSE ]] )

Registriert das JavaScript script als Erweiterung, die in V8Js-Kontexten benutzt werden soll.

Parameter-Liste

extension_name

Name der Erweiterung, die registriert werden soll.

script

JavaScript-Code, der registriert werden soll.

dependencies

Array mit Namen von Erweiterungen, von denen diese Erweiterung abhängt. Jede solche Erweiterung ist automatisch aktiviert, wenn diese Erweiterung geladen wird.

Hinweis:

Alle Erweiterungen, inklusive der Abhängigkeiten, müssen registriert werden, bevor V8Js-Objekte instanziiert werden, die diese nutzen sollen.

auto_enable

Ist dieser Wert TRUE (Standard: FALSE), so wird die Erweiterung automatisch in allen V8Js-Kontexten aktiviert.

Rückgabewerte

Gibt bei Erfolg TRUE zurück, ansonsten FALSE

V8Js::getPendingException
V8JsException
V8Js


Die Klasse V8JsException

(PECL v8js >= 0.1.0)

Einführung

Klassenbeschreibung

V8JsException extends Exception {
/* Eigenschaften */
protected $JsFileName ;
protected $JsLineNumber ;
protected $JsSourceLine ;
protected $JsTrace ;
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Methoden */
final public string getJsFileName ( void )
final public int getJsLineNumber ( void )
final public string getJsSourceLine ( void )
final public string getJsTrace ( void )
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Eigenschaften

JsFileName

JsLineNumber

JsSourceLine

JsTrace

Inhaltsverzeichnis

  • V8JsException::getJsFileName — The getJsFileName purpose
  • V8JsException::getJsLineNumber — The getJsLineNumber purpose
  • V8JsException::getJsSourceLine — The getJsSourceLine purpose
  • V8JsException::getJsTrace — The getJsTrace purpose
V8Js::registerExtension
V8JsException::getJsFileName
V8js


The getJsFileName purpose

V8JsException
V8JsException::getJsLineNumber
V8JsException
PHP Manual

V8JsException::getJsFileName

(PECL v8js >= 0.1.0)

V8JsException::getJsFileName — The getJsFileName purpose

Beschreibung

final public string V8JsException::getJsFileName ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

V8JsException
V8JsException::getJsLineNumber
V8JsException


The getJsLineNumber purpose

V8JsException::getJsFileName
V8JsException::getJsSourceLine
V8JsException
PHP Manual

V8JsException::getJsLineNumber

(PECL v8js >= 0.1.0)

V8JsException::getJsLineNumber — The getJsLineNumber purpose

Beschreibung

final public int V8JsException::getJsLineNumber ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

V8JsException::getJsFileName
V8JsException::getJsSourceLine
V8JsException


The getJsSourceLine purpose

V8JsException::getJsLineNumber
V8JsException::getJsTrace
V8JsException
PHP Manual

V8JsException::getJsSourceLine

(PECL v8js >= 0.1.0)

V8JsException::getJsSourceLine — The getJsSourceLine purpose

Beschreibung

final public string V8JsException::getJsSourceLine ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

V8JsException::getJsLineNumber
V8JsException::getJsTrace
V8JsException


The getJsTrace purpose

V8JsException::getJsSourceLine
Yaml
V8JsException
PHP Manual

V8JsException::getJsTrace

(PECL v8js >= 0.1.0)

V8JsException::getJsTrace — The getJsTrace purpose

Beschreibung

final public string V8JsException::getJsTrace ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

V8JsException::getJsSourceLine
Yaml
V8JsException


YAML Data Serialization

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
  • Callbacks
    • Parse callbacks
    • Emit callbacks
  • Yaml Funktionen
    • yaml_emit_file — Send the YAML representation of a value to a file
    • yaml_emit — Returns the YAML representation of a value
    • yaml_parse_file — Parse a YAML stream from a file
    • yaml_parse_url — Parse a Yaml stream from a URL
    • yaml_parse — Parse a YAML stream
V8JsException::getJsTrace
Einführung
Sonstige Grunderweiterungen


Einführung

This extension implements the » YAML Ain't Markup Language (YAML) data serialization standard. Parsing and emiting are handled by the » LibYAML library.

Yaml
Installation/Konfiguration
Yaml


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Yaml


Anforderungen

This extension requires the » LibYAML C library version 0.1.0 or higher to be installed.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/yaml.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Yaml Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
yaml.decode_binary | 0 | PHP_INI_ALL |
yaml.decode_php | 1 | PHP_INI_ALL |
yaml.decode_timestamp | 0 | PHP_INI_ALL |
yaml.output_canonical | 0 | PHP_INI_ALL |
yaml.output_indent | 2 | PHP_INI_ALL |
yaml.output_width | 80 | PHP_INI_ALL |

Hier eine kurze Erklärung der Konfigurationsoptionen:

yaml.decode_binary boolean

Off by default, but can be set to on to cause base64 binary encoded entities which have the explicit tag "tag:yaml.org,2002:binary" to be decoded.

yaml.decode_php boolean

On by default, but can be set to off to prevent serialized php objects which have the explicit tag "!php/object" from being unserialized.

yaml.decode_timestamp integer

Controls the decoding of both implicit and explict "tag:yaml.org,2002:timestamp" scalars in the YAML document stream. The default setting of 0 will not apply any decoding. A setting of 1 will use strtotime() to parse the timestamp value as a Unix timestamp. A setting of 2 will use date_create() to parse the timestamp value as DateTime object.

yaml.output_canonical boolean

Off by default, but can be set to on to cause canonical form output.

yaml.output_indent integer

Number of spaces to indent sections. Value should be between 1 and 10.

yaml.output_width integer

Set the preferred line width. -1 means unlimited.

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

Scalar entity styles usable by yaml_parse() callback methods.
YAML_ANY_SCALAR_STYLE (integer)
YAML_PLAIN_SCALAR_STYLE (integer)
YAML_SINGLE_QUOTED_SCALAR_STYLE (integer)
YAML_DOUBLE_QUOTED_SCALAR_STYLE (integer)
YAML_LITERAL_SCALAR_STYLE (integer)
YAML_FOLDED_SCALAR_STYLE (integer)
Common tags usable by yaml_parse() callback methods.
YAML_NULL_TAG (string)
"tag:yaml.org,2002:null"
YAML_BOOL_TAG (string)
"tag:yaml.org,2002:bool"
YAML_STR_TAG (string)
"tag:yaml.org,2002:str"
YAML_INT_TAG (string)
"tag:yaml.org,2002:int"
YAML_FLOAT_TAG (string)
"tag:yaml.org,2002:float"
YAML_TIMESTAMP_TAG (string)
"tag:yaml.org,2002:timestamp"
YAML_SEQ_TAG (string)
"tag:yaml.org,2002:seq"
YAML_MAP_TAG (string)
"tag:yaml.org,2002:map"
YAML_PHP_TAG (string)
"!php/object"
Encoding types for yaml_emit()
YAML_ANY_ENCODING (integer)
Let the emitter choose an encoding.
YAML_UTF8_ENCODING (integer)
Encode as UTF8.
YAML_UTF16LE_ENCODING (integer)
Encode as UTF16LE.
YAML_UTF16BE_ENCODING (integer)
Encode as UTF16BE.
Linebreak types for yaml_emit()
YAML_ANY_BREAK (integer)
Let emitter choose linebreak character.
YAML_CR_BREAK (integer)
Use \r as break character (Mac style).
YAML_LN_BREAK (integer)
Use \n as break character (Unix style).
YAML_CRLN_BREAK (integer)
Use \r\n as break character (DOS style).
Ressource-Typen
Beispiele
Yaml


Beispiele

Beispiel #1 Yaml Example

<?php
$addr = array(
    "given" => "Chris",
    "family"=> "Dumars",
    "address"=> array(
        "lines"=> "458 Walkman Dr.
        Suite #292",
        "city"=> "Royal Oak",
        "state"=> "MI",
        "postal"=> 48046,
      ),
  );
$invoice = array (
    "invoice"=> 34843,
    "date"=> "2001-01-23",
    "bill-to"=> $addr,
    "ship-to"=> $addr,
    "product"=> array(
        array(
            "sku"=> "BL394D",
            "quantity"=> 4,
            "description"=> "Basketball",
            "price"=> 450,
          ),
        array(
            "sku"=> "BL4438H",
            "quantity"=> 1,
            "description"=> "Super Hoop",
            "price"=> 2392,
          ),
      ),
    "tax"=> 251.42,
    "total"=> 4443.52,
    "comments"=> "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.",
    );

// generate a YAML representation of the invoice
$yaml = yaml_emit($invoice);
var_dump($yaml);

// convert the YAML back into a PHP variable
$parsed = yaml_parse($yaml);

// check that roundtrip conversion produced an equivalent structure
var_dump($parsed == $invoice);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(631) "---
invoice: 34843
date: "2001-01-23"
bill-to:
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
ship-to:
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
product:
- sku: BL394D
  quantity: 4
  description: Basketball
  price: 450
- sku: BL4438H
  quantity: 1
  description: Super Hoop
  price: 2392
tax: 251.420000
total: 4443.520000
comments: Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.
...
"
bool(true)
Vordefinierte Konstanten
Callbacks
Yaml


Callbacks

Inhaltsverzeichnis

  • Parse callbacks
  • Emit callbacks
Beispiele
Parse callbacks
Yaml


Parse callbacks

Parse callbacks are invoked by yaml_parse(), yaml_parse_file() or yaml_parse_url() functions when a registered YAML tag is encountered. The callback is passed the tagged entity's value, the tag, and flags indicating the scalar entity style. The callback must return the data that the YAML parser should emit for this entity.

Beispiel #1 Parse callback example

<?php
/**
 * Parsing callback for yaml tag.
 * @param mixed $value Data from yaml file
 * @param string $tag Tag that triggered callback
 * @param int $flags Scalar entity style (see YAML_*_SCALAR_STYLE)
 * @return mixed Value that YAML parser should emit for the given value
 */
function tag_callback ($value, $tag, $flags) {
  var_dump(func_get_args()); // debugging
  return "Hello {$value}";
}

$yaml = <<<YAML
greeting: !example/hello World
YAML;

$result = yaml_parse($yaml, 0, $ndocs, array(
    '!example/hello' => 'tag_callback',
  ));

var_dump($result);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(3) {
  [0]=>
  string(5) "World"
  [1]=>
  string(14) "!example/hello"
  [2]=>
  int(1)
}
array(1) {
  ["greeting"]=>
  string(11) "Hello World"
}
Callbacks
Emit callbacks
Callbacks


Emit callbacks

Emit callbacks are invoked when an instance of a registered class is emitted by yaml_emit() or yaml_emit_file(). The callback is passed the object to be emitted. The callback must return an array having two keys: "tag" and "data". The value associated with the "tag" key must be a string to be used as the YAML tag in the output. The value associated with the "data" key will be encoded as YAML and emitted in place of the intercepted object.

Beispiel #1 Emit callback example

<?php
class EmitExample {
  public $data;    // data may be in any pecl/yaml suitable type

  public function __construct ($d) {
    $this->data = $d;
  }

  /**
   * Yaml emit callback function, referred on yaml_emit call by class name.
   *
   * Expected to return an array with 2 values:
   *   - 'tag': custom tag for this serialization
   *   - 'data': value to convert to yaml (array, string, bool, number)
   *
   * @param object $obj Object to be emitted
   * @return array Tag and surrogate data to emit
   */
  public static function yamlEmit (EmitExample $obj) {
    return array(
      'tag' => '!example/emit',
      'data' => $obj->data,
    );
  }
}

$emit_callbacks = array(
  'EmitExample' => array('EmitExample', 'yamlEmit')
);

$t = new EmitExample(array('a','b','c'));
$yaml = yaml_emit(
  array(
    'example' => $t,
  ),
  YAML_ANY_ENCODING,
  YAML_ANY_BREAK,
  $emit_callbacks
);
var_dump($yaml);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(43) "---
example: !example/emit
- a
- b
- c
...
"
Parse callbacks
Yaml Funktionen
Callbacks


Yaml Funktionen

Inhaltsverzeichnis

  • yaml_emit_file — Send the YAML representation of a value to a file
  • yaml_emit — Returns the YAML representation of a value
  • yaml_parse_file — Parse a YAML stream from a file
  • yaml_parse_url — Parse a Yaml stream from a URL
  • yaml_parse — Parse a YAML stream
Emit callbacks
yaml_emit_file
Yaml


Send the YAML representation of a value to a file

Yaml Funktionen
yaml_emit
Yaml Funktionen
PHP Manual

yaml_emit_file

(PECL yaml >= 0.5.0)

yaml_emit_file — Send the YAML representation of a value to a file

Beschreibung

bool yaml_emit_file ( string $filename , mixed $data [, int $encoding = YAML_ANY_ENCODING [, int $linebreak = YAML_ANY_BREAK [, array $callbacks = null ]]] )

Generate a YAML representation of the provided data in the filename.

Parameter-Liste

filename

Path to the file.

data

The data being encoded. Can be any type except a resource.

encoding

Output character encoding chosen from YAML_ANY_ENCODING, YAML_UTF8_ENCODING, YAML_UTF16LE_ENCODING, YAML_UTF16BE_ENCODING.

linebreak

Output linebreak style chosen from YAML_ANY_BREAK, YAML_CR_BREAK, YAML_LN_BREAK, YAML_CRLN_BREAK.

callbacks

Content handlers for emitting YAML nodes. Associative array of classname => callable mappings. See emit callbacks for more details.

Rückgabewerte

Returns TRUE on success.

Changelog

Version | Beschreibung
1.1.0 | The callbacks parameter was added.

Siehe auch

  • yaml_emit() - Returns the YAML representation of a value
  • yaml_parse() - Parse a YAML stream

Yaml Funktionen
yaml_emit
Yaml Funktionen


Returns the YAML representation of a value

yaml_emit_file
yaml_parse_file
Yaml Funktionen
PHP Manual

yaml_emit

(PECL yaml >= 0.5.0)

yaml_emit — Returns the YAML representation of a value

Beschreibung

string yaml_emit ( mixed $data [, int $encoding = YAML_ANY_ENCODING [, int $linebreak = YAML_ANY_BREAK [, array $callbacks = null ]]] )

Generate a YAML representation of the provided data.

Parameter-Liste

data

The data being encoded. Can be any type except a resource.

encoding

Output character encoding chosen from YAML_ANY_ENCODING, YAML_UTF8_ENCODING, YAML_UTF16LE_ENCODING, YAML_UTF16BE_ENCODING.

linebreak

Output linebreak style chosen from YAML_ANY_BREAK, YAML_CR_BREAK, YAML_LN_BREAK, YAML_CRLN_BREAK.

callbacks

Content handlers for emitting YAML nodes. Associative array of classname => callable mappings. See emit callbacks for more details.

Rückgabewerte

Returns a YAML encoded string on success.

Changelog

Version | Beschreibung
1.1.0 | The callbacks parameter was added.

Beispiele

Beispiel #1 yaml_emit() example

<?php
$addr = array(
    "given" => "Chris",
    "family"=> "Dumars",
    "address"=> array(
        "lines"=> "458 Walkman Dr.
        Suite #292",
        "city"=> "Royal Oak",
        "state"=> "MI",
        "postal"=> 48046,
      ),
  );
$invoice = array (
    "invoice"=> 34843,
    "date"=> 980208000,
    "bill-to"=> $addr,
    "ship-to"=> $addr,
    "product"=> array(
        array(
            "sku"=> "BL394D",
            "quantity"=> 4,
            "description"=> "Basketball",
            "price"=> 450,
          ),
        array(
            "sku"=> "BL4438H",
            "quantity"=> 1,
            "description"=> "Super Hoop",
            "price"=> 2392,
          ),
      ),
    "tax"=> 251.42,
    "total"=> 4443.52,
    "comments"=> "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.",
  );
var_dump(yaml_emit($invoice));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(628) "---
invoice: 34843
date: 980208000
bill-to:
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
ship-to:
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
product:
- sku: BL394D
  quantity: 4
  description: Basketball
  price: 450
- sku: BL4438H
  quantity: 1
  description: Super Hoop
  price: 2392
tax: 251.420000
total: 4443.520000
comments: Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.
...
"

Siehe auch

  • yaml_emit_file() - Send the YAML representation of a value to a file
  • yaml_parse() - Parse a YAML stream

yaml_emit_file
yaml_parse_file
Yaml Funktionen


Parse a YAML stream from a file

yaml_emit
yaml_parse_url
Yaml Funktionen
PHP Manual

yaml_parse_file

(PECL yaml >= 0.4.0)

yaml_parse_file — Parse a YAML stream from a file

Beschreibung

mixed yaml_parse_file ( string $filename [, int $pos = 0 [, int &$ndocs [, array $callbacks = null ]]] )

Convert all or part of a YAML document stream read from a file to a PHP variable.

Parameter-Liste

filename

Path to the file.

pos

Document to extract from stream (-1 for all documents, 0 for first document, ...).

ndocs

If ndocs is provided, then it is filled with the number of documents found in stream.

callbacks

Content handlers for YAML nodes. Associative array of YAML tag => callable mappings. See parse callbacks for more details.

Rückgabewerte

Returns the value encoded in input in appropriate PHP typeIm Fehlerfall wird FALSE zurückgegeben.. If pos is -1 an array will be returned with one entry for each document found in the stream.

Anmerkungen

Warnung

Processing untrusted user input with yaml_parse_file() is dangerous if the use of unserialize() is enabled for nodes using the !php/object tag. This behavior can be disabled by using the yaml.decode_php ini setting.

Siehe auch

  • yaml_parse() - Parse a YAML stream
  • yaml_parse_url() - Parse a Yaml stream from a URL
  • yaml_emit() - Returns the YAML representation of a value

yaml_emit
yaml_parse_url
Yaml Funktionen


Parse a Yaml stream from a URL

yaml_parse_file
yaml_parse
Yaml Funktionen
PHP Manual

yaml_parse_url

(PECL yaml >= 0.4.0)

yaml_parse_url — Parse a Yaml stream from a URL

Beschreibung

mixed yaml_parse_url ( string $url [, int $pos = 0 [, int &$ndocs [, array $callbacks = null ]]] )

Convert all or part of a YAML document stream read from a URL to a PHP variable.

Parameter-Liste

url

url should be of the form "scheme://...". PHP will search for a protocol handler (also known as a wrapper) for that scheme. If no wrappers for that protocol are registered, PHP will emit a notice to help you track potential problems in your script and then continue as though filename specifies a regular file.

pos

Document to extract from stream (-1 for all documents, 0 for first document, ...).

ndocs

If ndocs is provided, then it is filled with the number of documents found in stream.

callbacks

Content handlers for YAML nodes. Associative array of YAML tag => callable mappings. See parse callbacks for more

Rückgabewerte

Returns the value encoded in input in appropriate PHP typeIm Fehlerfall wird FALSE zurückgegeben.. If pos is -1 an array will be returned with one entry for each document found in the stream.

Anmerkungen

Warnung

Processing untrusted user input with yaml_parse_url() is dangerous if the use of unserialize() is enabled for nodes using the !php/object tag. This behavior can be disabled by using the yaml.decode_php ini setting.

Siehe auch

  • yaml_parse() - Parse a YAML stream
  • yaml_parse_file() - Parse a YAML stream from a file
  • yaml_emit() - Returns the YAML representation of a value

yaml_parse_file
yaml_parse
Yaml Funktionen


Parse a YAML stream

yaml_parse_url
Yaf
Yaml Funktionen
PHP Manual

yaml_parse

(PECL yaml >= 0.4.0)

yaml_parse — Parse a YAML stream

Beschreibung

mixed yaml_parse ( string $input [, int $pos = 0 [, int &$ndocs [, array $callbacks = null ]]] )

Convert all or part of a YAML document stream to a PHP variable.

Parameter-Liste

input

The string to parse as a YAML document stream.

pos

Document to extract from stream (-1 for all documents, 0 for first document, ...).

ndocs

If ndocs is provided, then it is filled with the number of documents found in stream.

callbacks

Content handlers for YAML nodes. Associative array of YAML tag => callable mappings. See parse callbacks for more details.

Rückgabewerte

Returns the value encoded in input in appropriate PHP typeIm Fehlerfall wird FALSE zurückgegeben.. If pos is -1 an array will be returned with one entry for each document found in the stream.

Beispiele

Beispiel #1 yaml_parse() example

<?php
$yaml = <<<EOD
---
invoice: 34843
date: "2001-01-23"
bill-to: &id001
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
ship-to: *id001
product:
- sku: BL394D
  quantity: 4
  description: Basketball
  price: 450
- sku: BL4438H
  quantity: 1
  description: Super Hoop
  price: 2392
tax: 251.420000
total: 4443.520000
comments: Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.
...
EOD;

$parsed = yaml_parse($yaml);
var_dump($parsed);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(8) {
  ["invoice"]=>
  int(34843)
  ["date"]=>
  string(10) "2001-01-23"
  ["bill-to"]=>
  &array(3) {
    ["given"]=>
    string(5) "Chris"
    ["family"]=>
    string(6) "Dumars"
    ["address"]=>
    array(4) {
      ["lines"]=>
      string(34) "458 Walkman Dr.
        Suite #292"
      ["city"]=>
      string(9) "Royal Oak"
      ["state"]=>
      string(2) "MI"
      ["postal"]=>
      int(48046)
    }
  }
  ["ship-to"]=>
  &array(3) {
    ["given"]=>
    string(5) "Chris"
    ["family"]=>
    string(6) "Dumars"
    ["address"]=>
    array(4) {
      ["lines"]=>
      string(34) "458 Walkman Dr.
        Suite #292"
      ["city"]=>
      string(9) "Royal Oak"
      ["state"]=>
      string(2) "MI"
      ["postal"]=>
      int(48046)
    }
  }
  ["product"]=>
  array(2) {
    [0]=>
    array(4) {
      ["sku"]=>
      string(6) "BL394D"
      ["quantity"]=>
      int(4)
      ["description"]=>
      string(10) "Basketball"
      ["price"]=>
      int(450)
    }
    [1]=>
    array(4) {
      ["sku"]=>
      string(7) "BL4438H"
      ["quantity"]=>
      int(1)
      ["description"]=>
      string(10) "Super Hoop"
      ["price"]=>
      int(2392)
    }
  }
  ["tax"]=>
  float(251.42)
  ["total"]=>
  float(4443.52)
  ["comments"]=>
  string(68) "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338."
}

Anmerkungen

Warnung

Processing untrusted user input with yaml_parse() is dangerous if the use of unserialize() is enabled for nodes using the !php/object tag. This behavior can be disabled by using the yaml.decode_php ini setting.

Siehe auch

  • yaml_parse_file() - Parse a YAML stream from a file
  • yaml_parse_url() - Parse a Yaml stream from a URL
  • yaml_emit() - Returns the YAML representation of a value

yaml_parse_url
Yaf
Yaml Funktionen


Yet Another Framework

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
  • Application Configuration
  • Yaf_Application — The Yaf_Application class
    • Yaf_Application::app — Retrieve an Application instance
    • Yaf_Application::bootstrap — Call bootstrap
    • Yaf_Application::clearLastError — Clear the last error info
    • Yaf_Application::__clone — Yaf_Application can not be cloned
    • Yaf_Application::__construct — Yaf_Application constructor
    • Yaf_Application::__destruct — The __destruct purpose
    • Yaf_Application::environ — Retrive environ
    • Yaf_Application::execute — Execute a callback
    • Yaf_Application::getAppDirectory — Get the application directory
    • Yaf_Application::getConfig — Retrive the config instance
    • Yaf_Application::getDispatcher — Get Yaf_Dispatcher instance
    • Yaf_Application::getLastErrorMsg — Get message of the last occurred error
    • Yaf_Application::getLastErrorNo — Get code of last occurred error
    • Yaf_Application::getModules — Get defined module names
    • Yaf_Application::run — Start Yaf_Application
    • Yaf_Application::setAppDirectory — Change the application directory
    • Yaf_Application::__sleep — Yaf_Application can not be serialized
    • Yaf_Application::__wakeup — Yaf_Application can not be unserialized
  • Yaf_Bootstrap_Abstract — The Yaf_Bootstrap_Abstract class
  • Yaf_Dispatcher — The Yaf_Dispatcher class
    • Yaf_Dispatcher::autoRender — Switch on/off autorendering
    • Yaf_Dispatcher::catchException — Switch on/off exception catching
    • Yaf_Dispatcher::__clone — Yaf_Dispatcher can not be cloned
    • Yaf_Dispatcher::__construct — Yaf_Dispatcher constructor
    • Yaf_Dispatcher::disableView — Disable view rendering
    • Yaf_Dispatcher::dispatch — Dispatch a request
    • Yaf_Dispatcher::enableView — enable view rendering
    • Yaf_Dispatcher::flushInstantly — Switch on/off the instant flushing
    • Yaf_Dispatcher::getApplication — Retrive the application
    • Yaf_Dispatcher::getInstance — Retrive the dispatcher instance
    • Yaf_Dispatcher::getRequest — Retrive the request instance
    • Yaf_Dispatcher::getRouter — Retrive router instance
    • Yaf_Dispatcher::initView — Initialize view and return it
    • Yaf_Dispatcher::registerPlugin — Register a plugin
    • Yaf_Dispatcher::returnResponse — The returnResponse purpose
    • Yaf_Dispatcher::setDefaultAction — Change default action name
    • Yaf_Dispatcher::setDefaultController — Change default controller name
    • Yaf_Dispatcher::setDefaultModule — Change default module name
    • Yaf_Dispatcher::setErrorHandler — Set error handler
    • Yaf_Dispatcher::setRequest — The setRequest purpose
    • Yaf_Dispatcher::setView — Set a custom view engine
    • Yaf_Dispatcher::__sleep — Yaf_Dispatcher can not be serialized
    • Yaf_Dispatcher::throwException — Switch on/off exception throwing
    • Yaf_Dispatcher::__wakeup — Yaf_Dispatcher can not be unserialized
  • Yaf_Config_Abstract — The Yaf_Config_Abstract class
    • Yaf_Config_Abstract::get — Getter
    • Yaf_Config_Abstract::readonly — Find a config whether readonly
    • Yaf_Config_Abstract::set — Setter
    • Yaf_Config_Abstract::toArray — Cast to array
  • Yaf_Config_Ini — The Yaf_Config_Ini class
    • Yaf_Config_Ini::__construct — Yaf_Config_Ini constructor
    • Yaf_Config_Ini::count — The count purpose
    • Yaf_Config_Ini::current — The current purpose
    • Yaf_Config_Ini::__get — The __get purpose
    • Yaf_Config_Ini::__isset — The __isset purpose
    • Yaf_Config_Ini::key — The key purpose
    • Yaf_Config_Ini::next — The next purpose
    • Yaf_Config_Ini::offsetExists — The offsetExists purpose
    • Yaf_Config_Ini::offsetGet — The offsetGet purpose
    • Yaf_Config_Ini::offsetSet — The offsetSet purpose
    • Yaf_Config_Ini::offsetUnset — The offsetUnset purpose
    • Yaf_Config_Ini::readonly — The readonly purpose
    • Yaf_Config_Ini::rewind — The rewind purpose
    • Yaf_Config_Ini::__set — The __set purpose
    • Yaf_Config_Ini::toArray — Returns a PHP array
    • Yaf_Config_Ini::valid — The valid purpose
  • Yaf_Config_Simple — The Yaf_Config_Simple class
    • Yaf_Config_Simple::__construct — The __construct purpose
    • Yaf_Config_Simple::count — The count purpose
    • Yaf_Config_Simple::current — The current purpose
    • Yaf_Config_Simple::__get — The __get purpose
    • Yaf_Config_Simple::__isset — The __isset purpose
    • Yaf_Config_Simple::key — The key purpose
    • Yaf_Config_Simple::next — The next purpose
    • Yaf_Config_Simple::offsetExists — The offsetExists purpose
    • Yaf_Config_Simple::offsetGet — The offsetGet purpose
    • Yaf_Config_Simple::offsetSet — The offsetSet purpose
    • Yaf_Config_Simple::offsetUnset — The offsetUnset purpose
    • Yaf_Config_Simple::readonly — The readonly purpose
    • Yaf_Config_Simple::rewind — The rewind purpose
    • Yaf_Config_Simple::__set — The __set purpose
    • Yaf_Config_Simple::toArray — Returns a PHP array
    • Yaf_Config_Simple::valid — The valid purpose
  • Yaf_Controller_Abstract — The Yaf_Controller_Abstract class
    • Yaf_Controller_Abstract::__clone — Yaf_Controller_Abstract can not be cloned
    • Yaf_Controller_Abstract::__construct — Yaf_Controller_Abstract constructor
    • Yaf_Controller_Abstract::display — The display purpose
    • Yaf_Controller_Abstract::forward — foward to another action
    • Yaf_Controller_Abstract::getInvokeArg — The getInvokeArg purpose
    • Yaf_Controller_Abstract::getInvokeArgs — The getInvokeArgs purpose
    • Yaf_Controller_Abstract::getModuleName — Get module name
    • Yaf_Controller_Abstract::getRequest — Retrieve current request object
    • Yaf_Controller_Abstract::getResponse — Retrieve current response object
    • Yaf_Controller_Abstract::getView — Retrieve the view engine
    • Yaf_Controller_Abstract::getViewpath — The getViewpath purpose
    • Yaf_Controller_Abstract::init — Controller initializer
    • Yaf_Controller_Abstract::initView — The initView purpose
    • Yaf_Controller_Abstract::redirect — Redirect to a URL
    • Yaf_Controller_Abstract::render — Render view template
    • Yaf_Controller_Abstract::setViewpath — The setViewpath purpose
  • Yaf_Action_Abstract — The Yaf_Action_Abstract class
    • Yaf_Action_Abstract::execute — Action entry point
    • Yaf_Action_Abstract::getController — Retrieve controller object
  • Yaf_View_Interface — The Yaf_View_Interface class
    • Yaf_View_Interface::assign — Assign value to View engine
    • Yaf_View_Interface::display — Render and output a template
    • Yaf_View_Interface::getScriptPath — The getScriptPath purpose
    • Yaf_View_Interface::render — Render a template
    • Yaf_View_Interface::setScriptPath — The setScriptPath purpose
  • Yaf_View_Simple — The Yaf_View_Simple class
    • Yaf_View_Simple::assign — Assign values
    • Yaf_View_Simple::assignRef — The assignRef purpose
    • Yaf_View_Simple::clear — Clear Assigned values
    • Yaf_View_Simple::__construct — Constructor of Yaf_View_Simple
    • Yaf_View_Simple::display — Render and display
    • Yaf_View_Simple::eval — Render template
    • Yaf_View_Simple::__get — Retrieve assigned variable
    • Yaf_View_Simple::getScriptPath — Get templates directory
    • Yaf_View_Simple::__isset — The __isset purpose
    • Yaf_View_Simple::render — Render template
    • Yaf_View_Simple::__set — Set value to engine
    • Yaf_View_Simple::setScriptPath — Set tempaltes directory
  • Yaf_Loader — The Yaf_Loader class
    • Yaf_Loader::autoload — The autoload purpose
    • Yaf_Loader::clearLocalNamespace — The clearLocalNamespace purpose
    • Yaf_Loader::__clone — The __clone purpose
    • Yaf_Loader::__construct — The __construct purpose
    • Yaf_Loader::getInstance — The getInstance purpose
    • Yaf_Loader::getLibraryPath — get the library path
    • Yaf_Loader::getLocalNamespace — The getLocalNamespace purpose
    • Yaf_Loader::import — The import purpose
    • Yaf_Loader::isLocalName — The isLocalName purpose
    • Yaf_Loader::registerLocalNamespace — register local class prefix
    • Yaf_Loader::setLibraryPath — Change the library path
    • Yaf_Loader::__sleep — The __sleep purpose
    • Yaf_Loader::__wakeup — The __wakeup purpose
  • Yaf_Plugin_Abstract — The Yaf_Plugin_Abstract class
    • Yaf_Plugin_Abstract::dispatchLoopShutdown — The dispatchLoopShutdown purpose
    • Yaf_Plugin_Abstract::dispatchLoopStartup — The dispatchLoopStartup purpose
    • Yaf_Plugin_Abstract::postDispatch — The postDispatch purpose
    • Yaf_Plugin_Abstract::preDispatch — The preDispatch purpose
    • Yaf_Plugin_Abstract::preResponse — The preResponse purpose
    • Yaf_Plugin_Abstract::routerShutdown — The routerShutdown purpose
    • Yaf_Plugin_Abstract::routerStartup — RouterStartup hook
  • Yaf_Registry — The Yaf_Registry class
    • Yaf_Registry::__clone — The __clone purpose
    • Yaf_Registry::__construct — Yaf_Registry implements singleton
    • Yaf_Registry::del — Remove an item from registry
    • Yaf_Registry::get — Retrieve an item from registry
    • Yaf_Registry::has — Check whether an item exists
    • Yaf_Registry::set — Add an item into registry
  • Yaf_Request_Abstract — The Yaf_Request_Abstract class
    • Yaf_Request_Abstract::getActionName — The getActionName purpose
    • Yaf_Request_Abstract::getBaseUri — The getBaseUri purpose
    • Yaf_Request_Abstract::getControllerName — The getControllerName purpose
    • Yaf_Request_Abstract::getEnv — Retrieve ENV varialbe
    • Yaf_Request_Abstract::getException — The getException purpose
    • Yaf_Request_Abstract::getLanguage — The getLanguage purpose
    • Yaf_Request_Abstract::getMethod — The getMethod purpose
    • Yaf_Request_Abstract::getModuleName — The getModuleName purpose
    • Yaf_Request_Abstract::getParam — The getParam purpose
    • Yaf_Request_Abstract::getParams — The getParams purpose
    • Yaf_Request_Abstract::getRequestUri — The getRequestUri purpose
    • Yaf_Request_Abstract::getServer — Retrieve SERVER variable
    • Yaf_Request_Abstract::isCli — The isCli purpose
    • Yaf_Request_Abstract::isDispatched — The isDispatched purpose
    • Yaf_Request_Abstract::isGet — The isGet purpose
    • Yaf_Request_Abstract::isHead — The isHead purpose
    • Yaf_Request_Abstract::isOptions — The isOptions purpose
    • Yaf_Request_Abstract::isPost — The isPost purpose
    • Yaf_Request_Abstract::isPut — The isPut purpose
    • Yaf_Request_Abstract::isRouted — The isRouted purpose
    • Yaf_Request_Abstract::isXmlHttpRequest — The isXmlHttpRequest purpose
    • Yaf_Request_Abstract::setActionName — The setActionName purpose
    • Yaf_Request_Abstract::setBaseUri — set base URI
    • Yaf_Request_Abstract::setControllerName — The setControllerName purpose
    • Yaf_Request_Abstract::setDispatched — The setDispatched purpose
    • Yaf_Request_Abstract::setModuleName — The setModuleName purpose
    • Yaf_Request_Abstract::setParam — The setParam purpose
    • Yaf_Request_Abstract::setRequestUri — The setRequestUri purpose
    • Yaf_Request_Abstract::setRouted — The setRouted purpose
  • Yaf_Request_Http — The Yaf_Request_Http class
    • Yaf_Request_Http::__clone — The __clone purpose
    • Yaf_Request_Http::__construct — Constructor of Yaf_Request_Http
    • Yaf_Request_Http::get — Retrieve variable from client
    • Yaf_Request_Http::getCookie — Retrieve Cookie variable
    • Yaf_Request_Http::getFiles — The getFiles purpose
    • Yaf_Request_Http::getPost — Retrieve POST variable
    • Yaf_Request_Http::getQuery — Fetch a query parameter
    • Yaf_Request_Http::getRequest — The getRequest purpose
    • Yaf_Request_Http::isXmlHttpRequest — Whether a Ajax Request
  • Yaf_Request_Simple — The Yaf_Request_Simple class
    • Yaf_Request_Simple::__clone — The __clone purpose
    • Yaf_Request_Simple::__construct — Constructor of Yaf_Request_Simple
    • Yaf_Request_Simple::get — The get purpose
    • Yaf_Request_Simple::getCookie — The getCookie purpose
    • Yaf_Request_Simple::getFiles — The getFiles purpose
    • Yaf_Request_Simple::getPost — The getPost purpose
    • Yaf_Request_Simple::getQuery — The getQuery purpose
    • Yaf_Request_Simple::getRequest — The getRequest purpose
    • Yaf_Request_Simple::isXmlHttpRequest — The isXmlHttpRequest purpose
  • Yaf_Response_Abstract — The Yaf_Response_Abstract class
    • Yaf_Response_Abstract::appendBody — append to body
    • Yaf_Response_Abstract::clearBody — The clearBody purpose
    • Yaf_Response_Abstract::clearHeaders — The clearHeaders purpose
    • Yaf_Response_Abstract::__clone — The __clone purpose
    • Yaf_Response_Abstract::__construct — The __construct purpose
    • Yaf_Response_Abstract::__destruct — The __destruct purpose
    • Yaf_Response_Abstract::getBody — Retrieve a exists content
    • Yaf_Response_Abstract::getHeader — The getHeader purpose
    • Yaf_Response_Abstract::prependBody — The prependBody purpose
    • Yaf_Response_Abstract::response — send response
    • Yaf_Response_Abstract::setAllHeaders — The setAllHeaders purpose
    • Yaf_Response_Abstract::setBody — Set content to response
    • Yaf_Response_Abstract::setHeader — The setHeader purpose
    • Yaf_Response_Abstract::setRedirect — The setRedirect purpose
    • Yaf_Response_Abstract::__toString — The __toString purpose
  • Yaf_Route_Interface — The Yaf_Route_Interface class
    • Yaf_Route_Interface::assemble — assemble a request
    • Yaf_Route_Interface::route — route a request
  • Yaf_Route_Map — The Yaf_Route_Map class
    • Yaf_Route_Map::assemble — Assemble a url
    • Yaf_Route_Map::__construct — The __construct purpose
    • Yaf_Route_Map::route — The route purpose
  • Yaf_Route_Regex — The Yaf_Route_Regex class
    • Yaf_Route_Regex::assemble — Assemble a url
    • Yaf_Route_Regex::__construct — Yaf_Route_Regex constructor
    • Yaf_Route_Regex::route — The route purpose
  • Yaf_Route_Rewrite — The Yaf_Route_Rewrite class
    • Yaf_Route_Rewrite::assemble — Assemble a url
    • Yaf_Route_Rewrite::__construct — Yaf_Route_Rewrite constructor
    • Yaf_Route_Rewrite::route — The route purpose
  • Yaf_Router — The Yaf_Router class
    • Yaf_Router::addConfig — Add config-defined routes into Router
    • Yaf_Router::addRoute — Add new Route into Router
    • Yaf_Router::__construct — Yaf_Router constructor
    • Yaf_Router::getCurrentRoute — Get the effective route name
    • Yaf_Router::getRoute — Retrieve a route by name
    • Yaf_Router::getRoutes — Retrieve registered routes
    • Yaf_Router::route — The route purpose
  • Yaf_Route_Simple — The Yaf_Route_Simple class
    • Yaf_Route_Simple::assemble — Assemble a url
    • Yaf_Route_Simple::__construct — Yaf_Route_Simple constructor
    • Yaf_Route_Simple::route — Route a request
  • Yaf_Route_Static — The Yaf_Route_Static class
    • Yaf_Route_Static::assemble — Assemble a url
    • Yaf_Route_Static::match — The match purpose
    • Yaf_Route_Static::route — Route a request
  • Yaf_Route_Supervar — The Yaf_Route_Supervar class
    • Yaf_Route_Supervar::assemble — Assemble a url
    • Yaf_Route_Supervar::__construct — The __construct purpose
    • Yaf_Route_Supervar::route — The route purpose
  • Yaf_Session — The Yaf_Session class
    • Yaf_Session::__clone — The __clone purpose
    • Yaf_Session::__construct — Constructor of Yaf_Session
    • Yaf_Session::count — The count purpose
    • Yaf_Session::current — The current purpose
    • Yaf_Session::del — The del purpose
    • Yaf_Session::__get — The __get purpose
    • Yaf_Session::getInstance — The getInstance purpose
    • Yaf_Session::has — The has purpose
    • Yaf_Session::__isset — The __isset purpose
    • Yaf_Session::key — The key purpose
    • Yaf_Session::next — The next purpose
    • Yaf_Session::offsetExists — The offsetExists purpose
    • Yaf_Session::offsetGet — The offsetGet purpose
    • Yaf_Session::offsetSet — The offsetSet purpose
    • Yaf_Session::offsetUnset — The offsetUnset purpose
    • Yaf_Session::rewind — The rewind purpose
    • Yaf_Session::__set — The __set purpose
    • Yaf_Session::__sleep — The __sleep purpose
    • Yaf_Session::start — The start purpose
    • Yaf_Session::__unset — The __unset purpose
    • Yaf_Session::valid — The valid purpose
    • Yaf_Session::__wakeup — The __wakeup purpose
  • Yaf_Exception — The Yaf_Exception class
    • Yaf_Exception::__construct — The __construct purpose
    • Yaf_Exception::getPrevious — The getPrevious purpose
  • Yaf_Exception_TypeError — The Yaf_Exception_TypeError class
  • Yaf_Exception_StartupError — The Yaf_Exception_StartupError class
  • Yaf_Exception_DispatchFailed — The Yaf_Exception_DispatchFailed class
  • Yaf_Exception_RouterFailed — The Yaf_Exception_RouterFailed class
  • Yaf_Exception_LoadFailed — The Yaf_Exception_LoadFailed class
  • Yaf_Exception_LoadFailed_Module — The Yaf_Exception_LoadFailed_Module class
  • Yaf_Exception_LoadFailed_Controller — The Yaf_Exception_LoadFailed_Controller class
  • Yaf_Exception_LoadFailed_Action — The Yaf_Exception_LoadFailed_Action class
  • Yaf_Exception_LoadFailed_View — The Yaf_Exception_LoadFailed_View class
yaml_parse
Einführung
Sonstige Grunderweiterungen


Einführung

The Yet Another Framework (Yaf) extension is a PHP framework that is used to develop web applications.

Yaf requires PHP 5.2.1 or greater. Earlier versions may not work.

A simple Yaf benchmark can be found at » Yaf Performance.

For a quick start guide, please refer to the Tutorials section.

Yaf
Installation/Konfiguration
Yaf


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Yaf


Installation

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/yaf.

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Yaf Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
yaf.library |  | its PHP_INI_ALL value |
yaf.action_prefer | 0 | its PHP_INI_ALL value |
yaf.lowcase_path | 0 | its PHP_INI_ALL value |
yaf.use_spl_autoload | 0 | its PHP_INI_ALL value |
yaf.forward_limit | 5 | its PHP_INI_ALL value |
yaf.name_suffix | 1 | its PHP_INI_ALL value |
yaf.name_separator |  | its PHP_INI_ALL value |
yaf.cache_config | 0 | its PHP_INI_SYSTEM value |
yaf.environ | product | its PHP_INI_SYSTEM value |
yaf.use_namespace | 0 | its PHP_INI_ALL value |

Hier eine kurze Erklärung der Konfigurationsoptionen:

yaf.library string

The global library path, Yaf_loader will search global library in this directory.

yaf.action_prefer integer

If there is only one part in PATH_INFO, should it consider as a controller or action.

If this configure On, it will be considered as a Action name.

yaf.lowcase_path integer

Whether lowercase all the path during the class autoloading.

yaf.use_spl_autoload integer

When this value is On, if Yaf_Loader can not find a class, it will return FALSE, then give chance to other auto load function to be called.

When this value is Off, if Yaf_Loader can not find a class, it will return TRUE, and make the class autoloading failed immediately.

Hinweis:

Yaf will register its loader during a instantiation of Yaf_Application, so any other auto loaders which is register before the instantiation will be called before Yaf_Loader::autoload().

When this value is Off(default), Yaf_Loader::autoload() will always return TRUE.

yaf.forward_limit integer

The max forward count, default is 5. that means you can have a max value of 5 in the forward stack.

This is a protection for prevent recursive Yaf_Controller_Abstract::forward().

yaf.name_suffix integer

When this On, Yaf_Loader will identify a class by it's suffix to decide whether it is a MVC Class.

When this Off, Yaf_Loader will look at the prefix of the class name.

yaf.name_separator string

When this is not empty, Yaf_Loader will identify the class suffix and string value of this.

For example, when this value is "_", Yaf_Loader will take Index_Controller as a Controller Class, IndexController as a normal class.

yaf.cache_config integer

If this is On, and in the meantime you are using ini config file as the parameter of Yaf_Application(), the compiling result of the ini config file will be cached in the PHP process.

Hinweis:

Yaf examine the mtime of the ini file, if it was changed since last compiling, Yaf will reload it.

Warnung

Yaf use the ini file path as the cache entry key, so do use the absolute path in ini file path, otherwise there might be some conflicts if two application use the same relative path of ini config.

yaf.environ string

This value is "product" by default, used for Yaf to fetch the config section of a ini config file.

That is, if this value is "product", Yaf will use the section named "product" in the ini config file(the first parameter of the Yaf_Application) as the final config of the Yaf_Application.

yaf.use_namespace integer

Only works as of PHP 5.3, if this value is On, All classes of Yaf will named in namespace style.

For example:

Yaf_Route_Rewrite => \Yaf\Route\Rewrite
Yaf_Request_Http  => \Yaf\Request\Http
There is a exception, that is some classes like Yaf_Controller_Abstract. The last component is a keyword of PHP, could not be used as a class name, so for such classes:
Yaf_Controller_Abstract => \Yaf\Controller_Abstract
Yaf_Route_Static => \Yaf\Route_Static

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

YAF_VERSION (string)
YAF_ENVIRON (string)
YAF_ERR_STARTUP_FAILED (integer)
YAF_ERR_ROUTE_FAILED (integer)
YAF_ERR_DISPATCH_FAILED (integer)
YAF_ERR_AUTOLOAD_FAILED (integer)
YAF_ERR_NOTFOUND_MODULE (integer)
YAF_ERR_NOTFOUND_CONTROLLER (integer)
YAF_ERR_NOTFOUND_ACTION (integer)
YAF_ERR_NOTFOUND_VIEW (integer)
YAF_ERR_CALL_FAILED (integer)
YAF_ERR_TYPE_ERROR (integer)

Ressource-Typen
Beispiele
Yaf


Beispiele

Beispiel #1 A classic Application directory layout

- index.php
- .htaccess
+ conf
  |- application.ini //application config
- application/
  - Bootstrap.php
  + controllers
     - Index.php //default controller
  + views
     |+ index
        - index.phtml //view template for default action
  + modules
  - library
  - models
  - plugins

Beispiel #2 Entry

index.php in the top directory is the only way in of the application, you should rewrite all request to it(you can use .htaccess in Apache+php_mod)

<?php
define("APPLICATION_PATH",  dirname(__FILE__));

$app  = new Yaf_Application(APPLICATION_PATH . "/conf/application.ini");
$app->bootstrap() //call bootstrap methods defined in Bootstrap.php
 ->run();
?>

Beispiel #3 Rewrite rule

#for apache (.htaccess)
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php

#for nginx
server {
  listen ****;
  server_name  domain.com;
  root   document_root;
  index  index.php index.html index.htm;

  if (!-e $request_filename) {
    rewrite ^/(.*)  /index.php/$1 last;
  }
}

#for lighttpd
$HTTP["host"] =~ "(www.)?domain.com$" {
  url.rewrite = (
     "^/(.+)/?$"  => "/index.php/$1",
  )
}

Beispiel #4 Application config

[yaf]
;APPLICATION_PATH is the constant defined in index.php
application.directory=APPLICATION_PATH "/application/"

;product section inherit from yaf section
[product:yaf]
foo=bar

Beispiel #5 Default controller

<?php
class IndexController extends Yaf_Controller_Abstract {
   /* default action */
   public function indexAction() {
       $this->_view->word = "hello world";
       //or
       // $this->getView()->word = "hello world";
   }
}
?>

Beispiel #6 Default view template

<html>
 <head>
   <title>Hello World</title>
 </head>
 <body>
   <?php echo $word;?>
 </body>
</html>

Beispiel #7 Run the Applicatioin

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

<html>
 <head>
   <title>Hello World</title>
 </head>
 <body>
   hello world
 </body>
</html>

Hinweis:

you can also generate above example by use Yaf codes generator, which could be found here yaf@github.

Vordefinierte Konstanten
Application Configuration
Yaf


Application Configuration

You should give an array of config or an ini config file(see Yaf_Config_Ini) path to Yaf_Application::__construct().

Yaf will merge the application configurations and user configurations automatically. The application configurations have prefix "yaf." or "application.". If both "yaf." and "application." exist, "application." will be accepted preferentially.

Beispiel #1 An PHP array example

<?php
    $configs = array(
            "application" => array(
                "directory" => dirname(__FILE__),
                "dispatcher" => array(
                      "catchException" => 0,
                    ),
                "view" => array(
                       "ext" => "phtml",
                    ),
                ),
           );
    $app = new Yaf_Application($configs);
?>

Beispiel #2 An ini file example

[yaf]
yaf.directory = APPLICATION_PATH "/appliation"
yaf.dispatcher.catchException = 0

[product : yaf]
; user configuration list here

Yaf Application Config
Name | Standard | Changelog
application.directory |  |
application.ext | "php" |
application.view.ext | "phtml" |
application.modules | "index" |
application.library | application.directory . "/library" |
application.library.directory | application.directory . "/library" |
application.library.namespace | "" |
application.bootstrap | application.directory . "/Bootstrap" . application.ext |
application.baseUri | "" |
application.dispatcher.defaultRoute |  |
application.dispatcher.throwException | 1 |
application.dispatcher.catchException | 0 |
application.dispatcher.defaultModule | "index" |
application.dispatcher.defaultController | "index" |
application.dispatcher.defaultAction | "index" |
application.system |  |

Hier eine kurze Erklärung der Konfigurationsoptionen:

application.directory string

The directory of the application, that is the folder which contains the "controllers", "views", "models", "plugins" folders.

Hinweis:

This config entry is the only one which doesn't has a default value. You should always define it manually.

application.ext string

The file ext of the PHP script, used in class autoloading( Yaf_Loader).

application.view.ext string

The file ext of the view template scripts.

application.modules string

A comma-separated list of the registered modules, used in the route process, especially while there are more than three segments in the PATH_INFO,

Yaf need a way to find out whether the first segment is a module name or not.

application.library string

The local library directory, see Yaf_Loader and yaf.library.

Hinweis:

After Yaf 2.1.6, this config entry can be an array. The library path will try to use the items setted in application.library.directory

application.library.directory string

Alias of application.library. Introduced in Yaf 2.1.6

application.library.namespace string

A comma-separated prefix of local library namespace.

Introduced in Yaf 2.1.6

application.bootstrap string

A absolute path of the Bootstrap class script.

application.baseUri string

Used to remove a fixed prefix of request uri in route process. Take a example, comes a request with request uri "/prefix/controller/action". if you set application.baseUri to "/prefix", then only "/controller/action" will take as the PATH_INFO in route process.

In generally, there is no need to set this value.

application.dispatcher.throwException bool

If it set to On, Yaf will throw an exception while some error occurring. See also Yaf_Dispatcher::throwException().

application.dispatcher.catchException bool

If it set to On, Yaf will forward to Error controller/Action while there is an unhandled exception. See also Yaf_Dispatcher::catchException().

application.dispatcher.defaultRoute string

The default Route, if it is not specificed, Static route will be used as default. See: Yaf_Router::addRoute().

application.dispatcher.defaultModule string

The default module name, see also Yaf_Dispatcher::setDefaultModule().

application.dispatcher.defaultController string

The default controller name, see also Yaf_Dispatcher::setDefaultController().

application.dispatcher.defaultAction string

The default action name, see also Yaf_Dispatcher::setDefaultAction().

application.system string

Set yaf runtime configure in application.ini, like: application.system.lowcase_path

Hinweis:

only those PHP_INI_ALL configures can be set in this way

Beispiele
Yaf_Application
Yaf


The Yaf_Application class

(No version information available, might only be in Git)

Einführung

Yaf_Application provides a bootstrapping facility for applications which provides reusable resources, common- and module-based bootstrap classes and dependency checking.

Hinweis:

Yaf_Application implements the singleton pattern, and Yaf_Application can not be serialized or unserialized which will cause problem when you try to use PHPUnit to write some test case for Yaf.

You may use @backupGlobals annotation of PHPUnit to control the backup and restore operations for global variables. thus can solve this problem.

Klassenbeschreibung

final Yaf_Application {
/* Eigenschaften */
protected $config ;
protected $dispatcher ;
protected static $_app ;
protected $_modules ;
protected $_running ;
protected $_environ ;
/* Methoden */
public static void app ( void )
public void bootstrap ([ Yaf_Bootstrap_Abstract $bootstrap ] )
public Yaf_Application clearLastError ( void )
private void __clone ( void )
public __construct ( mixed $config [, string $envrion ] )
public void __destruct ( void )
public void environ ( void )
public void execute ( callable $entry , string $... )
public Yaf_Application getAppDirectory ( void )
public Yaf_Config_Abstract getConfig ( void )
public Yaf_Dispatcher getDispatcher ( void )
public string getLastErrorMsg ( void )
public int getLastErrorNo ( void )
public array getModules ( void )
public void run ( void )
public Yaf_Application setAppDirectory ( string $directory )
private void __sleep ( void )
private void __wakeup ( void )
}

Eigenschaften

config

dispatcher

_app

_modules

_running

_environ

Inhaltsverzeichnis

  • Yaf_Application::app — Retrieve an Application instance
  • Yaf_Application::bootstrap — Call bootstrap
  • Yaf_Application::clearLastError — Clear the last error info
  • Yaf_Application::__clone — Yaf_Application can not be cloned
  • Yaf_Application::__construct — Yaf_Application constructor
  • Yaf_Application::__destruct — The __destruct purpose
  • Yaf_Application::environ — Retrive environ
  • Yaf_Application::execute — Execute a callback
  • Yaf_Application::getAppDirectory — Get the application directory
  • Yaf_Application::getConfig — Retrive the config instance
  • Yaf_Application::getDispatcher — Get Yaf_Dispatcher instance
  • Yaf_Application::getLastErrorMsg — Get message of the last occurred error
  • Yaf_Application::getLastErrorNo — Get code of last occurred error
  • Yaf_Application::getModules — Get defined module names
  • Yaf_Application::run — Start Yaf_Application
  • Yaf_Application::setAppDirectory — Change the application directory
  • Yaf_Application::__sleep — Yaf_Application can not be serialized
  • Yaf_Application::__wakeup — Yaf_Application can not be unserialized
Application Configuration
Yaf_Application::app
Yaf


Retrieve an Application instance

Yaf_Application
Yaf_Application::bootstrap
Yaf_Application
PHP Manual

Yaf_Application::app

(Yaf >=1.0.0)

Yaf_Application::app — Retrieve an Application instance

Beschreibung

public static void Yaf_Application::app ( void )

Retrieve the Yaf_Application instance. Alternatively, we also could use Yaf_Dispatcher::getApplication().

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A Yaf_Application instance, if no Yaf_Application was initialized before, NULL will be returned.

Siehe auch

  • Yaf_Dispatcher::getApplication() - Retrive the application
Yaf_Application
Yaf_Application::bootstrap
Yaf_Application


Call bootstrap

Yaf_Application::app
Yaf_Application::clearLastError
Yaf_Application
PHP Manual

Yaf_Application::bootstrap

(Yaf >=1.0.0)

Yaf_Application::bootstrap — Call bootstrap

Beschreibung

public void Yaf_Application::bootstrap ([ Yaf_Bootstrap_Abstract $bootstrap ] )

Run a Bootstrap, all the methods defined in the Bootstrap and named with prefix "_init" will be called according to their declaration order, if the parameter bootstrap is not supplied, Yaf will look for a Bootstrap under application.directory.

Parameter-Liste

bootstrap

A Yaf_Bootstrap_Abstract instance

Rückgabewerte

Yaf_Application instance

Beispiele

Beispiel #1 A Bootstrap()example

<?php
/**
 * This file should be under the APPLICATION_PATH . "/application/"(which was defined in the config passed to Yaf_Application).
 * and named Bootstrap.php,  so the Yaf_Application can find it
 */
class Bootstrap extends Yaf_Bootstrap_Abstract {
    function _initConfig(Yaf_Dispatcher $dispatcher) {
        echo "1st called\n";
    }

    function _initPlugin($dispatcher) {
        echo "2nd called\n";
    }
}
?>

Beispiel #2 Yaf_Application::bootstrap()example

<?php

defined('APPLICATION_PATH')                  // APPLICATION_PATH will be used in the ini config file
    || define('APPLICATION_PATH', __DIR__)); //__DIR__ was introduced after PHP 5.3

$application = new Yaf_Application(APPLICATION_PATH.'/conf/application.ini');
$application->bootstrap();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

1st called
2nd called

Siehe auch

  • Yaf_Bootstrap_Abstract
Yaf_Application::app
Yaf_Application::clearLastError
Yaf_Application


Clear the last error info

Yaf_Application::bootstrap
Yaf_Application::__clone
Yaf_Application
PHP Manual

Yaf_Application::clearLastError

(Yaf >=2.1.2)

Yaf_Application::clearLastError — Clear the last error info

Beschreibung

public Yaf_Application Yaf_Application::clearLastError ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Beispiele

Beispiel #1 Yaf_Application::clearLastError()example

<?php
function error_handler($errno, $errstr, $errfile, $errline) {
   Yaf_Application::app()->clearLastError();
   var_dump(Yaf_Application::app()->getLastErrorNo());
}

$config = array(
 "application" => array(
   "directory" => "/tmp/notexists",
     "dispatcher" => array(
       "throwException" => 0, //trigger error instead of throw exception when error occure
      ),
  ),
);

$app = new Yaf_Application($config);
$app->getDispatcher()->setErrorHandler("error_handler", E_RECOVERABLE_ERROR);
$app->run();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(0)
Yaf_Application::bootstrap
Yaf_Application::__clone
Yaf_Application


Yaf_Application can not be cloned

Yaf_Application::clearLastError
Yaf_Application::__construct
Yaf_Application
PHP Manual

Yaf_Application::__clone

(Yaf >=1.0.0)

Yaf_Application::__clone — Yaf_Application can not be cloned

Beschreibung

private void Yaf_Application::__clone ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Application::clearLastError
Yaf_Application::__construct
Yaf_Application


Yaf_Application constructor

Yaf_Application::__clone
Yaf_Application::__destruct
Yaf_Application
PHP Manual

Yaf_Application::__construct

(Yaf >=1.0.0)

Yaf_Application::__construct — Yaf_Application constructor

Beschreibung

public Yaf_Application::__construct ( mixed $config [, string $envrion ] )

Instance a Yaf_Application.

Parameter-Liste

config

A ini config file path, or a config array

If is a ini config file, there should be a section named as the one defined by yaf.environ, which is "product" by default.

Hinweis:

If you use a ini configuration file as your applicatioin's config container. you would open the yaf.cache_config to improve performance.

And the config entry(and there default value) list blow:

Beispiel #1 A ini config file example

[product]
;this one should alway be defined, and have no default value
application.directory=APPLICATION_PATH

;following configs have default value, you may no need to define them
application.library = APPLICATION_PATH . "/library"
application.dispatcher.throwException=1
application.dispatcher.catchException=1

application.baseUri=""

;the php script ext name
ap.ext=php

;the view template ext name
ap.view.ext=phtml

ap.dispatcher.defaultModuel=Index
ap.dispatcher.defaultController=Index
ap.dispatcher.defaultAction=index

;defined modules
ap.modules=Index

envrion

Which section will be loaded as the final config

Rückgabewerte

Beispiele

Beispiel #2 Yaf_Application::__construct()example

<?php
defined('APPLICATION_PATH')                  // APPLICATION_PATH will be used in the ini config file
    || define('APPLICATION_PATH', __DIR__)); //__DIR__ was introduced after PHP 5.3

$application = new Yaf_Application(APPLICATION_PATH.'/conf/application.ini');
$application->bootstrap()->run();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Beispiel #3 Yaf_Application::__construct()example

<?php
$config = array(
    "application" => array(
        "directory" => realpath(dirname(__FILE__)) . "/application",
    ),
);

/** Yaf_Application */
$application = new Yaf_Application($config);
$application->bootstrap()->run();
?>

Das oben gezeigte Beispiel erzeugt
eine ähnliche Ausgabe wie:

Siehe auch

  • Yaf_Config_Ini
    •

Yaf_Application::__clone

Yaf_Application::__destruct

Yaf_Application


The __destruct purpose

Yaf_Application::__construct
Yaf_Application::environ
Yaf_Application
PHP Manual

Yaf_Application::__destruct

(Yaf >=1.0.0)

Yaf_Application::__destruct — The __destruct purpose

Beschreibung

public void Yaf_Application::__destruct ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Application::__construct
Yaf_Application::environ
Yaf_Application


Retrive environ

Yaf_Application::__destruct
Yaf_Application::execute
Yaf_Application
PHP Manual

Yaf_Application::environ

(Yaf >=1.0.0)

Yaf_Application::environ — Retrive environ

Beschreibung

public void Yaf_Application::environ ( void )

Retrive environ which was defined in yaf.environ which has a default value "product".

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Beispiele

Beispiel #1 Yaf_Application::environ()example

<?php
$config = array(
    "application" => array(
        "directory" => realpath(dirname(__FILE__)) . "/application",
    ),
);

/** Yaf_Application */
$application = new Yaf_Application($config);
print_r($application->environ());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

product
Yaf_Application::__destruct
Yaf_Application::execute
Yaf_Application


Execute a callback

Yaf_Application::environ
Yaf_Application::getAppDirectory
Yaf_Application
PHP Manual

Yaf_Application::execute

(Yaf >=1.0.0)

Yaf_Application::execute — Execute a callback

Beschreibung

public void Yaf_Application::execute ( callable $entry , string $... )

This method is typically used to run Yaf_Application in a crontab work. Make the crontab work can also use the autoloader and Bootstrap mechanism.

Parameter-Liste

entry

a valid callback

...

parameters will pass to the callback

Rückgabewerte

Beispiele

Beispiel #1 Yaf_Application::execute()example

<?php
function main($argc, $argv) {
}

$config = array(
    "application" => array(
        "directory" => realpath(dirname(__FILE__)) . "/application",
    ),
);

/** Yaf_Application */
$application = new Yaf_Application($config);
$application->execute("main", $argc,  $argv);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Yaf_Application::environ

Yaf_Application::getAppDirectory

Yaf_Application


Get the application directory

Yaf_Application::execute
Yaf_Application::getConfig
Yaf_Application
PHP Manual

Yaf_Application::getAppDirectory

(Yaf >=2.1.4)

Yaf_Application::getAppDirectory — Get the application directory

Beschreibung

public Yaf_Application Yaf_Application::getAppDirectory ( void )

Parameter-Liste

directory

Rückgabewerte

Yaf_Application::execute
Yaf_Application::getConfig
Yaf_Application


Retrive the config instance

Yaf_Application::getAppDirectory
Yaf_Application::getDispatcher
Yaf_Application
PHP Manual

Yaf_Application::getConfig

(Yaf >=1.0.0)

Yaf_Application::getConfig — Retrive the config instance

Beschreibung

public Yaf_Config_Abstract Yaf_Application::getConfig ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A Yaf_Config_Abstract instance

Beispiele

Beispiel #1 Yaf_Application::getConfig()example

<?php
$config = array(
    "application" => array(
        "directory" => realpath(dirname(__FILE__)) . "/application",
    ),
);

/** Yaf_Application */
$application = new Yaf_Application($config);
print_r($application->getConfig());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Yaf_Config_Simple Object
(
    [_config:protected] => Array
        (
            [application] => Array
                (
                    [directory] => /home/laruence/local/www/htdocs/application
                )

        )

    [_readonly:protected] => 1
)
Yaf_Application::getAppDirectory
Yaf_Application::getDispatcher
Yaf_Application


Get Yaf_Dispatcher instance

Yaf_Application::getConfig
Yaf_Application::getLastErrorMsg
Yaf_Application
PHP Manual

Yaf_Application::getDispatcher

(Yaf >=1.0.0)

Yaf_Application::getDispatcher — Get Yaf_Dispatcher instance

Beschreibung

public Yaf_Dispatcher Yaf_Application::getDispatcher ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Beispiele

Beispiel #1 Yaf_Application::getDispatcher()example

<?php
$config = array(
    "application" => array(
        "directory" => realpath(dirname(__FILE__)) . "/application",
    ),
);

/** Yaf_Application */
$application = new Yaf_Application($config);
print_r($application->getDispatcher());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Yaf_Dispatcher Object
(
    [_router:protected] => Yaf_Router Object
        (
            [_routes:protected] => Array
                (
                    [_default] => Yaf_Route_Static Object
                        (
                        )

                )

            [_current:protected] =>
        )

    [_view:protected] =>
    [_request:protected] => Yaf_Request_Http Object
        (
            [module] =>
            [controller] =>
            [action] =>
            [method] => Cli
            [params:protected] => Array
                (
                )

            [language:protected] =>
            [_exception:protected] =>
            [_base_uri:protected] =>
            [uri:protected] =>
            [dispatched:protected] =>
            [routed:protected] =>
        )

    [_plugins:protected] => Array
        (
        )

    [_auto_render:protected] => 1
    [_return_response:protected] =>
    [_instantly_flush:protected] =>
    [_default_module:protected] => Index
    [_default_controller:protected] => Index
    [_default_action:protected] => index
    [_response] => Yaf_Response_Cli Object
        (
            [_header:protected] => Array
                (
                )

            [_body:protected] =>
            [_sendheader:protected] =>
        )

)
Yaf_Application::getConfig
Yaf_Application::getLastErrorMsg
Yaf_Application


Get message of the last occurred error

Yaf_Application::getDispatcher
Yaf_Application::getLastErrorNo
Yaf_Application
PHP Manual

Yaf_Application::getLastErrorMsg

(Yaf >=2.1.2)

Yaf_Application::getLastErrorMsg — Get message of the last occurred error

Beschreibung

public string Yaf_Application::getLastErrorMsg ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Beispiele

Beispiel #1 Yaf_Application::getLastErrorMsg()example

<?php
function error_handler($errno, $errstr, $errfile, $errline) {
   var_dump(Yaf_Application::app()->getLastErrorMsg());
}

$config = array(
 "application" => array(
   "directory" => "/tmp/notexists",
     "dispatcher" => array(
       "throwException" => 0, //trigger error instead of throw exception when error occure
      ),
  ),
);

$app = new Yaf_Application($config);
$app->getDispatcher()->setErrorHandler("error_handler", E_RECOVERABLE_ERROR);
$app->run();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(69) "Could not find controller script /tmp/notexists/controllers/Index.php"
Yaf_Application::getDispatcher
Yaf_Application::getLastErrorNo
Yaf_Application


Get code of last occurred error

Yaf_Application::getLastErrorMsg
Yaf_Application::getModules
Yaf_Application
PHP Manual

Yaf_Application::getLastErrorNo

(Yaf >=2.1.2)

Yaf_Application::getLastErrorNo — Get code of last occurred error

Beschreibung

public int Yaf_Application::getLastErrorNo ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Beispiele

Beispiel #1 Yaf_Application::getLastErrorNo()example

<?php
function error_handler($errno, $errstr, $errfile, $errline) {
   var_dump(Yaf_Application::app()->getLastErrorNo());
   var_dump(Yaf_Application::app()->getLastErrorNo() == YAF_ERR_NOTFOUND_CONTROLLER);
}

$config = array(
  "application" => array(
   "directory" => "/tmp/notexists",
     "dispatcher" => array(
       "throwException" => 0, //trigger error instead of throw exception when error occure
      ),
  ),
);

$app = new Yaf_Application($config);
$app->getDispatcher()->setErrorHandler("error_handler", E_RECOVERABLE_ERROR);
$app->run();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(516)
bool(true)
Yaf_Application::getLastErrorMsg
Yaf_Application::getModules
Yaf_Application


Get defined module names

Yaf_Application::getLastErrorNo
Yaf_Application::run
Yaf_Application
PHP Manual

Yaf_Application::getModules

(Yaf >=1.0.0)

Yaf_Application::getModules — Get defined module names

Beschreibung

public array Yaf_Application::getModules ( void )

Get the modules list defined in config, if no one defined, there will always be a module named "Index".

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Beispiele

Beispiel #1 Yaf_Application::getModules()example

<?php
$config = array(
    "application" => array(
        "directory" => realpath(dirname(__FILE__)) . "/application",
    ),
);

/** Yaf_Application */
$application = new Yaf_Application($config);
print_r($application->getModules());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [0] => Index
)
Yaf_Application::getLastErrorNo
Yaf_Application::run
Yaf_Application


Start Yaf_Application

Yaf_Application::getModules
Yaf_Application::setAppDirectory
Yaf_Application
PHP Manual

Yaf_Application::run

(Yaf >=1.0.0)

Yaf_Application::run — Start Yaf_Application

Beschreibung

public void Yaf_Application::run ( void )

Run a Yaf_Application, let the Yaf_Application accept a request and route this request, dispatch to controller/action and render response. Finally, return the response to the client.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Application::getModules
Yaf_Application::setAppDirectory
Yaf_Application


Change the application directory

Yaf_Application::run
Yaf_Application::__sleep
Yaf_Application
PHP Manual

Yaf_Application::setAppDirectory

(Yaf >=2.1.4)

Yaf_Application::setAppDirectory — Change the application directory

Beschreibung

public Yaf_Application Yaf_Application::setAppDirectory ( string $directory )

Parameter-Liste

directory

Rückgabewerte

Yaf_Application::run
Yaf_Application::__sleep
Yaf_Application


Yaf_Application can not be serialized

Yaf_Application::setAppDirectory
Yaf_Application::__wakeup
Yaf_Application
PHP Manual

Yaf_Application::__sleep

(Yaf >=1.0.0)

Yaf_Application::__sleep — Yaf_Application can not be serialized

Beschreibung

private void Yaf_Application::__sleep ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Application::setAppDirectory
Yaf_Application::__wakeup
Yaf_Application


Yaf_Application can not be unserialized

Yaf_Application::__sleep
Yaf_Bootstrap_Abstract
Yaf_Application
PHP Manual

Yaf_Application::__wakeup

(Yaf >=1.0.0)

Yaf_Application::__wakeup — Yaf_Application can not be unserialized

Beschreibung

private void Yaf_Application::__wakeup ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Application::__sleep
Yaf_Bootstrap_Abstract
Yaf_Application


The Yaf_Bootstrap_Abstract class

(No version information available, might only be in Git)

Einführung

Bootstrap is a mechanism used to do some intial config before a Application run.

User may define their own Bootstrap class by inheriting Yaf_Bootstrap_Abstract

Any method declared in Bootstrap class with leading "_init", will be called by Yaf_Application::bootstrap() one by one according to their defined order.

Beispiele

Beispiel #1 Bootstrap example

<?php
   /* bootstrap class should be defined under ./application/Bootstrap.php */
   class Bootstrap extends Yaf_Bootstrap_Abstract {
        public function _initConfig(Yaf_Dispatcher $dispatcher) {
            var_dump(__METHOD__);
        }
        public function _initPlugin(Yaf_Dispatcher $dispatcher) {
            var_dump(__METHOD__);
        }
   }

   $config = array(
       "application" => array(
           "directory" => dirname(__FILE__) . "/application/",
       ),
   );

   $app = new Yaf_Application($config);
   $app->bootstrap();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(22) "Bootstrap::_initConfig"
string(22) "Bootstrap::_initPlugin"

Klassenbeschreibung

abstract Yaf_Bootstrap_Abstract {
/* Eigenschaften */
/* Methoden */
}
Yaf_Application::__wakeup
Yaf_Dispatcher
Yaf


The Yaf_Dispatcher class

(Yaf >=1.0.0)

Einführung

Yaf_Dispatcher purpose is to initialize the request environment, route the incoming request, and then dispatch any discovered actions; it aggregates any responses and returns them when the process is complete.

Yaf_Dispatcher also implements the Singleton pattern, meaning only a single instance of it may be available at any given time. This allows it to also act as a registry on which the other objects in the dispatch process may draw.

Klassenbeschreibung

final Yaf_Dispatcher {
/* Eigenschaften */
protected $_router ;
protected $_view ;
protected $_request ;
protected $_plugins ;
protected static $_instance ;
protected $_auto_render ;
protected $_return_response ;
protected $_instantly_flush ;
protected $_default_module ;
protected $_default_controller ;
protected $_default_action ;
/* Methoden */
public Yaf_Dispatcher autoRender ([ bool $flag ] )
public Yaf_Dispatcher catchException ([ bool $flag ] )
private void __clone ( void )
public __construct ( void )
public bool disableView ( void )
public Yaf_Response_Abstract dispatch ( Yaf_Request_Abstract $request )
public Yaf_Dispatcher enableView ( void )
public Yaf_Dispatcher flushInstantly ([ bool $flag ] )
public Yaf_Application getApplication ( void )
public static Yaf_Dispatcher getInstance ( void )
public Yaf_Request_Abstract getRequest ( void )
public Yaf_Router getRouter ( void )
public Yaf_View_Interface initView ( string $templates_dir [, array $options ] )
public Yaf_Dispatcher registerPlugin ( Yaf_Plugin_Abstract $plugin )
public Yaf_Dispatcher returnResponse ( bool $flag )
public Yaf_Dispatcher setDefaultAction ( string $action )
public Yaf_Dispatcher setDefaultController ( string $controller )
public Yaf_Dispatcher setDefaultModule ( string $module )
public Yaf_Dispatcher setErrorHandler ( call $callback , int $error_types )
public Yaf_Dispatcher setRequest ( Yaf_Request_Abstract $request )
public Yaf_Dispatcher setView ( Yaf_View_Interface $view )
private void __sleep ( void )
public Yaf_Dispatcher throwException ([ bool $flag ] )
private void __wakeup ( void )
}

Eigenschaften

_router

_view

_request

_plugins

_instance

_auto_render

_return_response

_instantly_flush

_default_module

_default_controller

_default_action

Inhaltsverzeichnis

  • Yaf_Dispatcher::autoRender — Switch on/off autorendering
  • Yaf_Dispatcher::catchException — Switch on/off exception catching
  • Yaf_Dispatcher::__clone — Yaf_Dispatcher can not be cloned
  • Yaf_Dispatcher::__construct — Yaf_Dispatcher constructor
  • Yaf_Dispatcher::disableView — Disable view rendering
  • Yaf_Dispatcher::dispatch — Dispatch a request
  • Yaf_Dispatcher::enableView — enable view rendering
  • Yaf_Dispatcher::flushInstantly — Switch on/off the instant flushing
  • Yaf_Dispatcher::getApplication — Retrive the application
  • Yaf_Dispatcher::getInstance — Retrive the dispatcher instance
  • Yaf_Dispatcher::getRequest — Retrive the request instance
  • Yaf_Dispatcher::getRouter — Retrive router instance
  • Yaf_Dispatcher::initView — Initialize view and return it
  • Yaf_Dispatcher::registerPlugin — Register a plugin
  • Yaf_Dispatcher::returnResponse — The returnResponse purpose
  • Yaf_Dispatcher::setDefaultAction — Change default action name
  • Yaf_Dispatcher::setDefaultController — Change default controller name
  • Yaf_Dispatcher::setDefaultModule — Change default module name
  • Yaf_Dispatcher::setErrorHandler — Set error handler
  • Yaf_Dispatcher::setRequest — The setRequest purpose
  • Yaf_Dispatcher::setView — Set a custom view engine
  • Yaf_Dispatcher::__sleep — Yaf_Dispatcher can not be serialized
  • Yaf_Dispatcher::throwException — Switch on/off exception throwing
  • Yaf_Dispatcher::__wakeup — Yaf_Dispatcher can not be unserialized
Yaf_Bootstrap_Abstract
Yaf_Dispatcher::autoRender
Yaf


Switch on/off autorendering

Yaf_Dispatcher
Yaf_Dispatcher::catchException
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::autoRender

(Yaf >=1.0.0)

Yaf_Dispatcher::autoRender — Switch on/off autorendering

Beschreibung

public Yaf_Dispatcher Yaf_Dispatcher::autoRender ([ bool $flag ] )

Yaf_Dispatcher will render automatically after dispatches a incoming request, you can prevent the rendering by calling this method with flag TRUE

Hinweis:

you can simply return FALSE in a action to prevent the auto-rendering of that action

Parameter-Liste

flag

bool

Hinweis:

since 2.2.0, if this parameter is not given, then the current state will be renturned

Rückgabewerte

Beispiele

Beispiel #1 Yaf_Dispatcher::autoRender()example

<?php
class IndexController extends Yaf_Controller_Abstract {
     /* init method will be called as soon as a controller is initialized */
     public function init() {
         if ($this->getRequest()->isXmlHttpRequest()) {
             //do not call render for ajax request
             //we will outpu a json string
             Yaf_Dispatcher::getInstance()->autoRender(FALSE);
         }
     }

}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Yaf_Dispatcher

Yaf_Dispatcher::catchException

Yaf_Dispatcher


Switch on/off exception catching

Yaf_Dispatcher::autoRender
Yaf_Dispatcher::__clone
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::catchException

(Yaf >=1.0.0)

Yaf_Dispatcher::catchException — Switch on/off exception catching

Beschreibung

public Yaf_Dispatcher Yaf_Dispatcher::catchException ([ bool $flag ] )

While the application.dispatcher.throwException is On(you can also calling to Yaf_Dispatcher::throwException(TRUE)() to enable it), Yaf will throw Exception whe error occurrs instead of trigger error.

then if you enable Yaf_Dispatcher::catchException()(also can enabled by set application.dispatcher.catchException), all uncaught Exceptions will be caught by ErrorController::error if you have defined one.

Parameter-Liste

flag

bool

Rückgabewerte

Beispiele

Beispiel #1 Yaf_Dispatcher::catchException()example

/* if you defined a ErrorController like following */
<?php
class ErrorController extends Yaf_Controller_Abstract {
     /**
      * you can also call to Yaf_Request_Abstract::getException to get the
      * un-caught exception.
      */
     public function errorAction($exception) {
        /* error occurs */
        switch ($exception->getCode()) {
            case YAF_ERR_NOTFOUND_MODULE:
            case YAF_ERR_NOTFOUND_CONTROLLER:
            case YAF_ERR_NOTFOUND_ACTION:
            case YAF_ERR_NOTFOUND_VIEW:
                echo 404, ":", $exception->getMessage();
                break;
            default :
                $message = $exception->getMessage();
                echo 0, ":", $exception->getMessage();
                break;
        }
     }
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

/* now if some error occur, assuming access a non-exists controller(or you can throw a exception yourself): */
404:Could not find controller script **/application/controllers/No-exists-controller.php

Siehe auch

  • Yaf_Dispatcher::throwException() - Switch on/off exception throwing
  • Yaf_Dispatcher::setErrorHandler() - Set error handler
Yaf_Dispatcher::autoRender
Yaf_Dispatcher::__clone
Yaf_Dispatcher


Yaf_Dispatcher can not be cloned

Yaf_Dispatcher::catchException
Yaf_Dispatcher::__construct
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::__clone

(Yaf >=1.0.0)

Yaf_Dispatcher::__clone — Yaf_Dispatcher can not be cloned

Beschreibung

private void Yaf_Dispatcher::__clone ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Dispatcher::catchException
Yaf_Dispatcher::__construct
Yaf_Dispatcher


Yaf_Dispatcher constructor

Yaf_Dispatcher::__clone
Yaf_Dispatcher::disableView
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::__construct

(Yaf >=1.0.0)

Yaf_Dispatcher::__construct — Yaf_Dispatcher constructor

Beschreibung

public Yaf_Dispatcher::__construct ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Dispatcher::__clone
Yaf_Dispatcher::disableView
Yaf_Dispatcher


Disable view rendering

Yaf_Dispatcher::__construct
Yaf_Dispatcher::dispatch
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::disableView

(Yaf >=1.0.0)

Yaf_Dispatcher::disableView — Disable view rendering

Beschreibung

public bool Yaf_Dispatcher::disableView ( void )

disable view engine, used in some app that user will output by theirself

Hinweis:

you can simply return FALSE in a action to prevent the auto-rendering of that action

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Dispatcher::__construct
Yaf_Dispatcher::dispatch
Yaf_Dispatcher


Dispatch a request

Yaf_Dispatcher::disableView
Yaf_Dispatcher::enableView
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::dispatch

(Yaf >=1.0.0)

Yaf_Dispatcher::dispatch — Dispatch a request

Beschreibung

public Yaf_Response_Abstract Yaf_Dispatcher::dispatch ( Yaf_Request_Abstract $request )

This method does the heavy work of the Yaf_Dispatcher. It take a request object.

The dispatch process has three distinct events:

  • Routing
  • Dispatching
  • Response
Routing takes place exactly once, using the values in the request object when dispatch() is called. Dispatching takes place in a loop; a request may either indicate multiple actions to dispatch, or the controller or a plugin may reset the request object to force additional actions to dispatch(see Yaf_Plugin_Abstract. When all is done, the Yaf_Dispatcher returns a response.

Parameter-Liste

request

Rückgabewerte

Yaf_Dispatcher::disableView
Yaf_Dispatcher::enableView
Yaf_Dispatcher


enable view rendering

Yaf_Dispatcher::dispatch
Yaf_Dispatcher::flushInstantly
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::enableView

(Yaf >=1.0.0)

Yaf_Dispatcher::enableView — enable view rendering

Beschreibung

public Yaf_Dispatcher Yaf_Dispatcher::enableView ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Dispatcher::dispatch
Yaf_Dispatcher::flushInstantly
Yaf_Dispatcher


Switch on/off the instant flushing

Yaf_Dispatcher::enableView
Yaf_Dispatcher::getApplication
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::flushInstantly

(Yaf >=1.0.0)

Yaf_Dispatcher::flushInstantly — Switch on/off the instant flushing

Beschreibung

public Yaf_Dispatcher Yaf_Dispatcher::flushInstantly ([ bool $flag ] )

Parameter-Liste

flag

bool

Hinweis:

since 2.2.0, if this parameter is not given, then the current state will be renturned

Rückgabewerte

Yaf_Dispatcher::enableView
Yaf_Dispatcher::getApplication
Yaf_Dispatcher


Retrive the application

Yaf_Dispatcher::flushInstantly
Yaf_Dispatcher::getInstance
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::getApplication

(Yaf >=1.0.0)

Yaf_Dispatcher::getApplication — Retrive the application

Beschreibung

public Yaf_Application Yaf_Dispatcher::getApplication ( void )

Retrive the Yaf_Application instance. same as Yaf_Application::app().

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Siehe auch

  • Yaf_Application::app() - Retrieve an Application instance
Yaf_Dispatcher::flushInstantly
Yaf_Dispatcher::getInstance
Yaf_Dispatcher


Retrive the dispatcher instance

Yaf_Dispatcher::getApplication
Yaf_Dispatcher::getRequest
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::getInstance

(Yaf >=1.0.0)

Yaf_Dispatcher::getInstance — Retrive the dispatcher instance

Beschreibung

public static Yaf_Dispatcher Yaf_Dispatcher::getInstance ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Dispatcher::getApplication
Yaf_Dispatcher::getRequest
Yaf_Dispatcher


Retrive the request instance

Yaf_Dispatcher::getInstance
Yaf_Dispatcher::getRouter
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::getRequest

(Yaf >=1.0.0)

Yaf_Dispatcher::getRequest — Retrive the request instance

Beschreibung

public Yaf_Request_Abstract Yaf_Dispatcher::getRequest ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Dispatcher::getInstance
Yaf_Dispatcher::getRouter
Yaf_Dispatcher


Retrive router instance

Yaf_Dispatcher::getRequest
Yaf_Dispatcher::initView
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::getRouter

(Yaf >=1.0.0)

Yaf_Dispatcher::getRouter — Retrive router instance

Beschreibung

public Yaf_Router Yaf_Dispatcher::getRouter ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Dispatcher::getRequest
Yaf_Dispatcher::initView
Yaf_Dispatcher


Initialize view and return it

Yaf_Dispatcher::getRouter
Yaf_Dispatcher::registerPlugin
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::initView

(Yaf >=1.0.0)

Yaf_Dispatcher::initView — Initialize view and return it

Beschreibung

public Yaf_View_Interface Yaf_Dispatcher::initView ( string $templates_dir [, array $options ] )

Parameter-Liste

templates_dir

options

Rückgabewerte

Yaf_Dispatcher::getRouter
Yaf_Dispatcher::registerPlugin
Yaf_Dispatcher


Register a plugin

Yaf_Dispatcher::initView
Yaf_Dispatcher::returnResponse
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::registerPlugin

(Yaf >=1.0.0)

Yaf_Dispatcher::registerPlugin — Register a plugin

Beschreibung

public Yaf_Dispatcher Yaf_Dispatcher::registerPlugin ( Yaf_Plugin_Abstract $plugin )

Register a plugin(see Yaf_Plugin_Abstract). Generally, we register plugins in Bootstrap(see Yaf_Bootstrap_Abstract).

Parameter-Liste

plugin

Rückgabewerte

Beispiele

Beispiel #1 Yaf_Dispatcher::registerPlugin()example

<?php
class Bootstrap extends Yaf_Bootstrap_Abstract {
  public function _initPlugin(Yaf_Dispatcher $dispatcher) {
    /**
    * Yaf assumes plugin scripts under [application.directory] .  "/plugins"
    * for this case, it will be:
    * [application.directory] . "/plugins/" . "User" . [application.ext]
    */
    $user = new UserPlugin();
    $dispatcher->registerPlugin($user);
  }
}
?>

Siehe auch

  • Yaf_Plugin_Abstract
  • Yaf_Bootstrap_Abstract
Yaf_Dispatcher::initView
Yaf_Dispatcher::returnResponse
Yaf_Dispatcher


The returnResponse purpose

Yaf_Dispatcher::registerPlugin
Yaf_Dispatcher::setDefaultAction
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::returnResponse

(Yaf >=1.0.0)

Yaf_Dispatcher::returnResponse — The returnResponse purpose

Beschreibung

public Yaf_Dispatcher Yaf_Dispatcher::returnResponse ( bool $flag )

Parameter-Liste

flag

Rückgabewerte

Yaf_Dispatcher::registerPlugin
Yaf_Dispatcher::setDefaultAction
Yaf_Dispatcher


Change default action name

Yaf_Dispatcher::returnResponse
Yaf_Dispatcher::setDefaultController
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::setDefaultAction

(Yaf >=1.0.0)

Yaf_Dispatcher::setDefaultAction — Change default action name

Beschreibung

public Yaf_Dispatcher Yaf_Dispatcher::setDefaultAction ( string $action )

Parameter-Liste

action

Rückgabewerte

Yaf_Dispatcher::returnResponse
Yaf_Dispatcher::setDefaultController
Yaf_Dispatcher


Change default controller name

Yaf_Dispatcher::setDefaultAction
Yaf_Dispatcher::setDefaultModule
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::setDefaultController

(Yaf >=1.0.0)

Yaf_Dispatcher::setDefaultController — Change default controller name

Beschreibung

public Yaf_Dispatcher Yaf_Dispatcher::setDefaultController ( string $controller )

Parameter-Liste

controller

Rückgabewerte

Yaf_Dispatcher::setDefaultAction
Yaf_Dispatcher::setDefaultModule
Yaf_Dispatcher


Change default module name

Yaf_Dispatcher::setDefaultController
Yaf_Dispatcher::setErrorHandler
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::setDefaultModule

(Yaf >=1.0.0)

Yaf_Dispatcher::setDefaultModule — Change default module name

Beschreibung

public Yaf_Dispatcher Yaf_Dispatcher::setDefaultModule ( string $module )

Parameter-Liste

module

Rückgabewerte

Yaf_Dispatcher::setDefaultController
Yaf_Dispatcher::setErrorHandler
Yaf_Dispatcher


Set error handler

Yaf_Dispatcher::setDefaultModule
Yaf_Dispatcher::setRequest
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::setErrorHandler

(Yaf >=1.0.0)

Yaf_Dispatcher::setErrorHandler — Set error handler

Beschreibung

public Yaf_Dispatcher Yaf_Dispatcher::setErrorHandler ( call $callback , int $error_types )

Set error handler for Yaf. when application.dispatcher.throwException is off, Yaf will trigger catchable error while unexpected errors occrred.

Thus, this error handler will be called while the error raise.

Parameter-Liste

callback

A callable callback

error_types

Rückgabewerte

Siehe auch

  • Yaf_Dispatcher::throwException() - Switch on/off exception throwing
  • Yaf_Application::getLastErrorNo() - Get code of last occurred error
  • Yaf_Application::getLastErrorMsg() - Get message of the last occurred error
Yaf_Dispatcher::setDefaultModule
Yaf_Dispatcher::setRequest
Yaf_Dispatcher


The setRequest purpose

Yaf_Dispatcher::setErrorHandler
Yaf_Dispatcher::setView
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::setRequest

(Yaf >=1.0.0)

Yaf_Dispatcher::setRequest — The setRequest purpose

Beschreibung

public Yaf_Dispatcher Yaf_Dispatcher::setRequest ( Yaf_Request_Abstract $request )

Parameter-Liste

plugin

Rückgabewerte

Yaf_Dispatcher::setErrorHandler
Yaf_Dispatcher::setView
Yaf_Dispatcher


Set a custom view engine

Yaf_Dispatcher::setRequest
Yaf_Dispatcher::__sleep
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::setView

(Yaf >=1.0.0)

Yaf_Dispatcher::setView — Set a custom view engine

Beschreibung

public Yaf_Dispatcher Yaf_Dispatcher::setView ( Yaf_View_Interface $view )

This method proviods a solution for that if you want use a custom view engine instead of Yaf_View_Simple

Parameter-Liste

view

A Yaf_View_Interface instance

Rückgabewerte

Beispiele

Beispiel #1 A custom View engine()example

<?php
require "/path/to/smarty/Smarty.class.php";

class Smarty_Adapter implements Yaf_View_Interface
{
    /**
     * Smarty object
     * @var Smarty
     */
    public $_smarty;

    /**
     * Constructor
     *
     * @param string $tmplPath
     * @param array $extraParams
     * @return void
     */
    public function __construct($tmplPath = null, $extraParams = array()) {
        $this->_smarty = new Smarty;

        if (null !== $tmplPath) {
            $this->setScriptPath($tmplPath);
        }

        foreach ($extraParams as $key => $value) {
            $this->_smarty->$key = $value;
        }
    }

    /**
     * Set the path to the templates
     *
     * @param string $path The directory to set as the path.
     * @return void
     */
    public function setScriptPath($path)
    {
        if (is_readable($path)) {
            $this->_smarty->template_dir = $path;
            return;
        }

        throw new Exception('Invalid path provided');
    }

    /**
     * Assign a variable to the template
     *
     * @param string $key The variable name.
     * @param mixed $val The variable value.
     * @return void
     */
    public function __set($key, $val)
    {
        $this->_smarty->assign($key, $val);
    }

    /**
     * Allows testing with empty() and isset() to work
     *
     * @param string $key
     * @return boolean
     */
    public function __isset($key)
    {
        return (null !== $this->_smarty->get_template_vars($key));
    }

    /**
     * Allows unset() on object properties to work
     *
     * @param string $key
     * @return void
     */
    public function __unset($key)
    {
        $this->_smarty->clear_assign($key);
    }

    /**
     * Assign variables to the template
     *
     * Allows setting a specific key to the specified value, OR passing
     * an array of key => value pairs to set en masse.
     *
     * @see __set()
     * @param string|array $spec The assignment strategy to use (key or
     * array of key => value pairs)
     * @param mixed $value (Optional) If assigning a named variable,
     * use this as the value.
     * @return void
     */
    public function assign($spec, $value = null) {
        if (is_array($spec)) {
            $this->_smarty->assign($spec);
            return;
        }

        $this->_smarty->assign($spec, $value);
    }

    /**
     * Clear all assigned variables
     *
     * Clears all variables assigned to Yaf_View either via
     * {@link assign()} or property overloading
     * ({@link __get()}/{@link __set()}).
     *
     * @return void
     */
    public function clearVars() {
        $this->_smarty->clear_all_assign();
    }

    /**
     * Processes a template and returns the output.
     *
     * @param string $name The template to process.
     * @return string The output.
     */
    public function render($name, $value = NULL) {
        return $this->_smarty->fetch($name);
    }

    public function display($name, $value = NULL) {
        echo $this->_smarty->fetch($name);
    }

}
?>

Beispiel #2 Yaf_Dispatcher::setView()example

<?php
class Bootstrap extends Yaf_Bootstrap_Abstract {

    /**
     * there are some config for smarty in the config:
     *
     * smarty.left_delimiter   = "{{"
     * smarty.right_delimiter  = "}}"
     * smarty.template_dir     = APPLICATION_PATH "/views/scripts/"
     * smarty.compile_dir      = APPLICATION_PATH "/views/templates_c/"
     * smarty.cache_dir        = APPLICATION_PATH "/views/templates_d/"
     *
     */
    public function _initConfig() {
        $config = Yaf_Application::app()->getConfig();
        Yaf_Registry::set("config", $config);
    }

    public function _initLocalName() {
        /** we put class Smarty_Adapter under the local library directory */
        Yaf_Loader::getInstance()->registerLocalNamespace('Smarty');
    }

    public function _initSmarty(Yaf_Dispatcher $dispatcher) {
        $smarty = new Smarty_Adapter(null, Yaf_Registry::get("config")->get("smarty"));
        $dispatcher->setView($smarty);
        /* now the Smarty view engine become the default view engine of Yaf */
    }
}
?>

Siehe auch

  • Yaf_View_Interface
  • Yaf_View_Simple
Yaf_Dispatcher::setRequest
Yaf_Dispatcher::__sleep
Yaf_Dispatcher


Yaf_Dispatcher can not be serialized

Yaf_Dispatcher::setView
Yaf_Dispatcher::throwException
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::__sleep

(Yaf >=1.0.0)

Yaf_Dispatcher::__sleep — Yaf_Dispatcher can not be serialized

Beschreibung

private void Yaf_Dispatcher::__sleep ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Dispatcher::setView
Yaf_Dispatcher::throwException
Yaf_Dispatcher


Switch on/off exception throwing

Yaf_Dispatcher::__sleep
Yaf_Dispatcher::__wakeup
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::throwException

(Yaf >=1.0.0)

Yaf_Dispatcher::throwException — Switch on/off exception throwing

Beschreibung

public Yaf_Dispatcher Yaf_Dispatcher::throwException ([ bool $flag ] )

Siwtch on/off exception throwing while unexpected error occurring. When this is on, Yaf will throwing exceptions instead of triggering catchable errors.

You can also use application.dispatcher.throwException to achieve the same purpose.

Parameter-Liste

flag

bool

Rückgabewerte

Beispiele

Beispiel #1 Yaf_Dispatcher::throwexception()example

<?php

$config = array(
    'application' => array(
        'directory' => dirname(__FILE__),
    ),
);
$app = new Yaf_Application($config);

$app->getDispatcher()->throwException(true);

try {
    $app->run();
} catch (Yaf_Exception $e) {
    var_dump($e->getMessage());
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(59) "Could not find controller script /tmp/controllers/Index.php"

Beispiel #2 Yaf_Dispatcher::throwexception()example

<?php

$config = array(
    'application' => array(
        'directory' => dirname(__FILE__),
    ),
);
$app = new Yaf_Application($config);

$app->getDispatcher()->throwException(false);

$app->run();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

PHP Catchable fatal error:  Yaf_Application::run(): Could not find controller script /tmp/controllers/Index.php in /tmp/1.php on line 12

Siehe auch

  • Yaf_Dispatcher::catchException() - Switch on/off exception catching
  • Yaf_Exception
Yaf_Dispatcher::__sleep
Yaf_Dispatcher::__wakeup
Yaf_Dispatcher


Yaf_Dispatcher can not be unserialized

Yaf_Dispatcher::throwException
Yaf_Config_Abstract
Yaf_Dispatcher
PHP Manual

Yaf_Dispatcher::__wakeup

(Yaf >=1.0.0)

Yaf_Dispatcher::__wakeup — Yaf_Dispatcher can not be unserialized

Beschreibung

private void Yaf_Dispatcher::__wakeup ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Dispatcher::throwException
Yaf_Config_Abstract
Yaf_Dispatcher


The Yaf_Config_Abstract class

(Yaf >=1.0.0)

Einführung

Klassenbeschreibung

abstract Yaf_Config_Abstract {
/* Eigenschaften */
protected $_config ;
protected $_readonly ;
/* Methoden */
abstract public mixed get ( string $name , mixed $value )
abstract public bool readonly ( void )
abstract public Yaf_Config_Abstract set ( void )
abstract public array toArray ( void )
}

Eigenschaften

_config

_readonly

Inhaltsverzeichnis

  • Yaf_Config_Abstract::get — Getter
  • Yaf_Config_Abstract::readonly — Find a config whether readonly
  • Yaf_Config_Abstract::set — Setter
  • Yaf_Config_Abstract::toArray — Cast to array
Yaf_Dispatcher::__wakeup
Yaf_Config_Abstract::get
Yaf


Getter

Yaf_Config_Abstract
Yaf_Config_Abstract::readonly
Yaf_Config_Abstract
PHP Manual

Yaf_Config_Abstract::get

(Yaf >=1.0.0)

Yaf_Config_Abstract::get — Getter

Beschreibung

abstract public mixed Yaf_Config_Abstract::get ( string $name , mixed $value )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Config_Abstract
Yaf_Config_Abstract::readonly
Yaf_Config_Abstract


Find a config whether readonly

Yaf_Config_Abstract::get
Yaf_Config_Abstract::set
Yaf_Config_Abstract
PHP Manual

Yaf_Config_Abstract::readonly

(Yaf >=1.0.0)

Yaf_Config_Abstract::readonly — Find a config whether readonly

Beschreibung

abstract public bool Yaf_Config_Abstract::readonly ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Config_Abstract::get
Yaf_Config_Abstract::set
Yaf_Config_Abstract


Setter

Yaf_Config_Abstract::readonly
Yaf_Config_Abstract::toArray
Yaf_Config_Abstract
PHP Manual

Yaf_Config_Abstract::set

(Yaf >=1.0.0)

Yaf_Config_Abstract::set — Setter

Beschreibung

abstract public Yaf_Config_Abstract Yaf_Config_Abstract::set ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Config_Abstract::readonly
Yaf_Config_Abstract::toArray
Yaf_Config_Abstract


Cast to array

Yaf_Config_Abstract::set
Yaf_Config_Ini
Yaf_Config_Abstract
PHP Manual

Yaf_Config_Abstract::toArray

(Yaf >=1.0.0)

Yaf_Config_Abstract::toArray — Cast to array

Beschreibung

abstract public array Yaf_Config_Abstract::toArray ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Config_Abstract::set
Yaf_Config_Ini
Yaf_Config_Abstract


The Yaf_Config_Ini class

(Yaf >=1.0.0)

Einführung

Yaf_Config_Ini enables developers to store configuration data in a familiar INI format and read them in the application by using nested object property syntax. The INI format is specialized to provide both the ability to have a hierarchy of configuration data keys and inheritance between configuration data sections. Configuration data hierarchies are supported by separating the keys with the dot or period character ("."). A section may extend or inherit from another section by following the section name with a colon character (":") and the name of the section from which data are to be inherited.

Hinweis:

Yaf_Config_Ini utilizes the » parse_ini_file() PHP function. Please review this documentation to be aware of its specific behaviors, which propagate to Yaf_Config_Ini, such as how the special values of "TRUE", "FALSE", "yes", "no", and "NULL" are handled.

Klassenbeschreibung

Yaf_Config_Ini extends Yaf_Config_Abstract implements Iterator , ArrayAccess , Countable {
/* Eigenschaften */
/* Methoden */
public __construct ( string $config_file [, string $section ] )
public void count ( void )
public void current ( void )
public void __get ([ string $name ] )
public void __isset ( string $name )
public void key ( void )
public void next ( void )
public void offsetExists ( string $name )
public void offsetGet ( string $name )
public void offsetSet ( string $name , string $value )
public void offsetUnset ( string $name )
public void readonly ( void )
public void rewind ( void )
public void __set ( string $name , mixed $value )
public array toArray ( void )
public void valid ( void )
/* Geerbte Methoden */
abstract public mixed Yaf_Config_Abstract::get ( string $name , mixed $value )
abstract public bool Yaf_Config_Abstract::readonly ( void )
abstract public Yaf_Config_Abstract Yaf_Config_Abstract::set ( void )
abstract public array Yaf_Config_Abstract::toArray ( void )
}

Eigenschaften

_config

_readonly

Beispiele

Beispiel #1 Yaf_Config_Ini()example

This example illustrates a basic use of Yaf_Config_Ini for loading configuration data from an INI file. In this example there are configuration data for both a production system and for a staging system. Because the staging system configuration data are very similar to those for production, the staging section inherits from the production section. In this case, the decision is arbitrary and could have been written conversely, with the production section inheriting from the staging section, though this may not be the case for more complex situations. Suppose, then, that the following configuration data are contained in /path/to/config.ini:

; Production site configuration data
[production]
webhost                  = www.example.com
database.adapter         = pdo_mysql
database.params.host     = db.example.com
database.params.username = dbuser
database.params.password = secret
database.params.dbname   = dbname

; Staging site configuration data inherits from production and
; overrides values as necessary
[staging : production]
database.params.host     = dev.example.com
database.params.username = devuser
database.params.password = devsecret
<?php
$config = new Yaf_Config_Ini('/path/to/config.ini', 'staging');

var_dump($config->database->params->host);
var_dump($config->database->params->dbname);
var_dump($config->get("database.params.username"));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(15) "dev.example.com"
string(6) "dbname"
string(7) "devuser

Inhaltsverzeichnis

  • Yaf_Config_Ini::__construct — Yaf_Config_Ini constructor
  • Yaf_Config_Ini::count — The count purpose
  • Yaf_Config_Ini::current — The current purpose
  • Yaf_Config_Ini::__get — The __get purpose
  • Yaf_Config_Ini::__isset — The __isset purpose
  • Yaf_Config_Ini::key — The key purpose
  • Yaf_Config_Ini::next — The next purpose
  • Yaf_Config_Ini::offsetExists — The offsetExists purpose
  • Yaf_Config_Ini::offsetGet — The offsetGet purpose
  • Yaf_Config_Ini::offsetSet — The offsetSet purpose
  • Yaf_Config_Ini::offsetUnset — The offsetUnset purpose
  • Yaf_Config_Ini::readonly — The readonly purpose
  • Yaf_Config_Ini::rewind — The rewind purpose
  • Yaf_Config_Ini::__set — The __set purpose
  • Yaf_Config_Ini::toArray — Returns a PHP array
  • Yaf_Config_Ini::valid — The valid purpose
Yaf_Config_Abstract::toArray
Yaf_Config_Ini::__construct
Yaf


Yaf_Config_Ini constructor

Yaf_Config_Ini
Yaf_Config_Ini::count
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::__construct

(Yaf >=1.0.0)

Yaf_Config_Ini::__construct — Yaf_Config_Ini constructor

Beschreibung

public Yaf_Config_Ini::__construct ( string $config_file [, string $section ] )

Yaf_Config_Ini constructor

Parameter-Liste

config_file

path to an INI configure file

section

which section in that INI file you want to be parsed

Rückgabewerte

Yaf_Config_Ini
Yaf_Config_Ini::count
Yaf_Config_Ini


The count purpose

Yaf_Config_Ini::__construct
Yaf_Config_Ini::current
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::count

(Yaf >=1.0.0)

Yaf_Config_Ini::count — The count purpose

Beschreibung

public void Yaf_Config_Ini::count ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Config_Ini::__construct
Yaf_Config_Ini::current
Yaf_Config_Ini


The current purpose

Yaf_Config_Ini::count
Yaf_Config_Ini::__get
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::current

(Yaf >=1.0.0)

Yaf_Config_Ini::current — The current purpose

Beschreibung

public void Yaf_Config_Ini::current ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Config_Ini::count
Yaf_Config_Ini::__get
Yaf_Config_Ini


The __get purpose

Yaf_Config_Ini::current
Yaf_Config_Ini::__isset
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::__get

(Yaf >=1.0.0)

Yaf_Config_Ini::__get — The __get purpose

Beschreibung

public void Yaf_Config_Ini::__get ([ string $name ] )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

name

Rückgabewerte

Yaf_Config_Ini::current
Yaf_Config_Ini::__isset
Yaf_Config_Ini


The __isset purpose

Yaf_Config_Ini::__get
Yaf_Config_Ini::key
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::__isset

(Yaf >=1.0.0)

Yaf_Config_Ini::__isset — The __isset purpose

Beschreibung

public void Yaf_Config_Ini::__isset ( string $name )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

name

Rückgabewerte

Yaf_Config_Ini::__get
Yaf_Config_Ini::key
Yaf_Config_Ini


The key purpose

Yaf_Config_Ini::__isset
Yaf_Config_Ini::next
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::key

(Yaf >=1.0.0)

Yaf_Config_Ini::key — The key purpose

Beschreibung

public void Yaf_Config_Ini::key ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Config_Ini::__isset
Yaf_Config_Ini::next
Yaf_Config_Ini


The next purpose

Yaf_Config_Ini::key
Yaf_Config_Ini::offsetExists
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::next

(Yaf >=1.0.0)

Yaf_Config_Ini::next — The next purpose

Beschreibung

public void Yaf_Config_Ini::next ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Config_Ini::key
Yaf_Config_Ini::offsetExists
Yaf_Config_Ini


The offsetExists purpose

Yaf_Config_Ini::next
Yaf_Config_Ini::offsetGet
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::offsetExists

(Yaf >=1.0.0)

Yaf_Config_Ini::offsetExists — The offsetExists purpose

Beschreibung

public void Yaf_Config_Ini::offsetExists ( string $name )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

name

Rückgabewerte

Yaf_Config_Ini::next
Yaf_Config_Ini::offsetGet
Yaf_Config_Ini


The offsetGet purpose

Yaf_Config_Ini::offsetExists
Yaf_Config_Ini::offsetSet
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::offsetGet

(Yaf >=1.0.0)

Yaf_Config_Ini::offsetGet — The offsetGet purpose

Beschreibung

public void Yaf_Config_Ini::offsetGet ( string $name )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

name

Rückgabewerte

Yaf_Config_Ini::offsetExists
Yaf_Config_Ini::offsetSet
Yaf_Config_Ini


The offsetSet purpose

Yaf_Config_Ini::offsetGet
Yaf_Config_Ini::offsetUnset
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::offsetSet

(Yaf >=1.0.0)

Yaf_Config_Ini::offsetSet — The offsetSet purpose

Beschreibung

public void Yaf_Config_Ini::offsetSet ( string $name , string $value )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

name

value

Rückgabewerte

Yaf_Config_Ini::offsetGet
Yaf_Config_Ini::offsetUnset
Yaf_Config_Ini


The offsetUnset purpose

Yaf_Config_Ini::offsetSet
Yaf_Config_Ini::readonly
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::offsetUnset

(Yaf >=1.0.0)

Yaf_Config_Ini::offsetUnset — The offsetUnset purpose

Beschreibung

public void Yaf_Config_Ini::offsetUnset ( string $name )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

name

Rückgabewerte

Yaf_Config_Ini::offsetSet
Yaf_Config_Ini::readonly
Yaf_Config_Ini


The readonly purpose

Yaf_Config_Ini::offsetUnset
Yaf_Config_Ini::rewind
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::readonly

(Yaf >=1.0.0)

Yaf_Config_Ini::readonly — The readonly purpose

Beschreibung

public void Yaf_Config_Ini::readonly ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Config_Ini::offsetUnset
Yaf_Config_Ini::rewind
Yaf_Config_Ini


The rewind purpose

Yaf_Config_Ini::readonly
Yaf_Config_Ini::__set
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::rewind

(Yaf >=1.0.0)

Yaf_Config_Ini::rewind — The rewind purpose

Beschreibung

public void Yaf_Config_Ini::rewind ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Config_Ini::readonly
Yaf_Config_Ini::__set
Yaf_Config_Ini


The __set purpose

Yaf_Config_Ini::rewind
Yaf_Config_Ini::toArray
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::__set

(Yaf >=1.0.0)

Yaf_Config_Ini::__set — The __set purpose

Beschreibung

public void Yaf_Config_Ini::__set ( string $name , mixed $value )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

name

value

Rückgabewerte

Yaf_Config_Ini::rewind
Yaf_Config_Ini::toArray
Yaf_Config_Ini


Returns a PHP array

Yaf_Config_Ini::__set
Yaf_Config_Ini::valid
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::toArray

(Yaf >=1.0.0)

Yaf_Config_Ini::toArray — Returns a PHP array

Beschreibung

public array Yaf_Config_Ini::toArray ( void )

Returns a PHP array from the Yaf_Config_Ini

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Config_Ini::__set
Yaf_Config_Ini::valid
Yaf_Config_Ini


The valid purpose

Yaf_Config_Ini::toArray
Yaf_Config_Simple
Yaf_Config_Ini
PHP Manual

Yaf_Config_Ini::valid

(Yaf >=1.0.0)

Yaf_Config_Ini::valid — The valid purpose

Beschreibung

public void Yaf_Config_Ini::valid ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Config_Ini::toArray
Yaf_Config_Simple
Yaf_Config_Ini


The Yaf_Config_Simple class

(Yaf >=1.0.0)

Einführung

Klassenbeschreibung

Yaf_Config_Simple extends Yaf_Config_Abstract implements Iterator , ArrayAccess , Countable {
/* Eigenschaften */
protected $_readonly ;
/* Methoden */
public __construct ( string $config_file [, string $section ] )
public void count ( void )
public void current ( void )
public void __get ([ string $name ] )
public void __isset ( string $name )
public void key ( void )
public void next ( void )
public void offsetExists ( string $name )
public void offsetGet ( string $name )
public void offsetSet ( string $name , string $value )
public void offsetUnset ( string $name )
public void readonly ( void )
public void rewind ( void )
public void __set ( string $name , string $value )
public array toArray ( void )
public void valid ( void )
/* Geerbte Methoden */
abstract public mixed Yaf_Config_Abstract::get ( string $name , mixed $value )
abstract public bool Yaf_Config_Abstract::readonly ( void )
abstract public Yaf_Config_Abstract Yaf_Config_Abstract::set ( void )
abstract public array Yaf_Config_Abstract::toArray ( void )
}

Eigenschaften

_config

_readonly

Inhaltsverzeichnis

  • Yaf_Config_Simple::__construct — The __construct purpose
  • Yaf_Config_Simple::count — The count purpose
  • Yaf_Config_Simple::current — The current purpose
  • Yaf_Config_Simple::__get — The __get purpose
  • Yaf_Config_Simple::__isset — The __isset purpose
  • Yaf_Config_Simple::key — The key purpose
  • Yaf_Config_Simple::next — The next purpose
  • Yaf_Config_Simple::offsetExists — The offsetExists purpose
  • Yaf_Config_Simple::offsetGet — The offsetGet purpose
  • Yaf_Config_Simple::offsetSet — The offsetSet purpose
  • Yaf_Config_Simple::offsetUnset — The offsetUnset purpose
  • Yaf_Config_Simple::readonly — The readonly purpose
  • Yaf_Config_Simple::rewind — The rewind purpose
  • Yaf_Config_Simple::__set — The __set purpose
  • Yaf_Config_Simple::toArray — Returns a PHP array
  • Yaf_Config_Simple::valid — The valid purpose
Yaf_Config_Ini::valid
Yaf_Config_Simple::__construct
Yaf


The __construct purpose

Yaf_Config_Simple
Yaf_Config_Simple::count
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::__construct

(Yaf >=1.0.0)

Yaf_Config_Simple::__construct — The __construct purpose

Beschreibung

public Yaf_Config_Simple::__construct ( string $config_file [, string $section ] )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

config_file

section

Rückgabewerte

Yaf_Config_Simple
Yaf_Config_Simple::count
Yaf_Config_Simple


The count purpose

Yaf_Config_Simple::__construct
Yaf_Config_Simple::current
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::count

(Yaf >=1.0.0)

Yaf_Config_Simple::count — The count purpose

Beschreibung

public void Yaf_Config_Simple::count ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Config_Simple::__construct
Yaf_Config_Simple::current
Yaf_Config_Simple


The current purpose

Yaf_Config_Simple::count
Yaf_Config_Simple::__get
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::current

(Yaf >=1.0.0)

Yaf_Config_Simple::current — The current purpose

Beschreibung

public void Yaf_Config_Simple::current ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Config_Simple::count
Yaf_Config_Simple::__get
Yaf_Config_Simple


The __get purpose

Yaf_Config_Simple::current
Yaf_Config_Simple::__isset
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::__get

(Yaf >=1.0.0)

Yaf_Config_Simple::__get — The __get purpose

Beschreibung

public void Yaf_Config_Simple::__get ([ string $name ] )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

name

Rückgabewerte

Yaf_Config_Simple::current
Yaf_Config_Simple::__isset
Yaf_Config_Simple


The __isset purpose

Yaf_Config_Simple::__get
Yaf_Config_Simple::key
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::__isset

(Yaf >=1.0.0)

Yaf_Config_Simple::__isset — The __isset purpose

Beschreibung

public void Yaf_Config_Simple::__isset ( string $name )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

name

Rückgabewerte

Yaf_Config_Simple::__get
Yaf_Config_Simple::key
Yaf_Config_Simple


The key purpose

Yaf_Config_Simple::__isset
Yaf_Config_Simple::next
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::key

(Yaf >=1.0.0)

Yaf_Config_Simple::key — The key purpose

Beschreibung

public void Yaf_Config_Simple::key ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Config_Simple::__isset
Yaf_Config_Simple::next
Yaf_Config_Simple


The next purpose

Yaf_Config_Simple::key
Yaf_Config_Simple::offsetExists
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::next

(Yaf >=1.0.0)

Yaf_Config_Simple::next — The next purpose

Beschreibung

public void Yaf_Config_Simple::next ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Config_Simple::key
Yaf_Config_Simple::offsetExists
Yaf_Config_Simple


The offsetExists purpose

Yaf_Config_Simple::next
Yaf_Config_Simple::offsetGet
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::offsetExists

(Yaf >=1.0.0)

Yaf_Config_Simple::offsetExists — The offsetExists purpose

Beschreibung

public void Yaf_Config_Simple::offsetExists ( string $name )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

name

Rückgabewerte

Yaf_Config_Simple::next
Yaf_Config_Simple::offsetGet
Yaf_Config_Simple


The offsetGet purpose

Yaf_Config_Simple::offsetExists
Yaf_Config_Simple::offsetSet
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::offsetGet

(Yaf >=1.0.0)

Yaf_Config_Simple::offsetGet — The offsetGet purpose

Beschreibung

public void Yaf_Config_Simple::offsetGet ( string $name )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

name

Rückgabewerte

Yaf_Config_Simple::offsetExists
Yaf_Config_Simple::offsetSet
Yaf_Config_Simple


The offsetSet purpose

Yaf_Config_Simple::offsetGet
Yaf_Config_Simple::offsetUnset
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::offsetSet

(Yaf >=1.0.0)

Yaf_Config_Simple::offsetSet — The offsetSet purpose

Beschreibung

public void Yaf_Config_Simple::offsetSet ( string $name , string $value )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

name

value

Rückgabewerte

Yaf_Config_Simple::offsetGet
Yaf_Config_Simple::offsetUnset
Yaf_Config_Simple


The offsetUnset purpose

Yaf_Config_Simple::offsetSet
Yaf_Config_Simple::readonly
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::offsetUnset

(Yaf >=1.0.0)

Yaf_Config_Simple::offsetUnset — The offsetUnset purpose

Beschreibung

public void Yaf_Config_Simple::offsetUnset ( string $name )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

name

Rückgabewerte

Yaf_Config_Simple::offsetSet
Yaf_Config_Simple::readonly
Yaf_Config_Simple


The readonly purpose

Yaf_Config_Simple::offsetUnset
Yaf_Config_Simple::rewind
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::readonly

(Yaf >=1.0.0)

Yaf_Config_Simple::readonly — The readonly purpose

Beschreibung

public void Yaf_Config_Simple::readonly ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Config_Simple::offsetUnset
Yaf_Config_Simple::rewind
Yaf_Config_Simple


The rewind purpose

Yaf_Config_Simple::readonly
Yaf_Config_Simple::__set
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::rewind

(Yaf >=1.0.0)

Yaf_Config_Simple::rewind — The rewind purpose

Beschreibung

public void Yaf_Config_Simple::rewind ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Config_Simple::readonly
Yaf_Config_Simple::__set
Yaf_Config_Simple


The __set purpose

Yaf_Config_Simple::rewind
Yaf_Config_Simple::toArray
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::__set

(Yaf >=1.0.0)

Yaf_Config_Simple::__set — The __set purpose

Beschreibung

public void Yaf_Config_Simple::__set ( string $name , string $value )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

name

value

Rückgabewerte

Yaf_Config_Simple::rewind
Yaf_Config_Simple::toArray
Yaf_Config_Simple


Returns a PHP array

Yaf_Config_Simple::__set
Yaf_Config_Simple::valid
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::toArray

(Yaf >=1.0.0)

Yaf_Config_Simple::toArray — Returns a PHP array

Beschreibung

public array Yaf_Config_Simple::toArray ( void )

Returns a PHP array from the Yaf_Config_Simple

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Config_Simple::__set
Yaf_Config_Simple::valid
Yaf_Config_Simple


The valid purpose

Yaf_Config_Simple::toArray
Yaf_Controller_Abstract
Yaf_Config_Simple
PHP Manual

Yaf_Config_Simple::valid

(Yaf >=1.0.0)

Yaf_Config_Simple::valid — The valid purpose

Beschreibung

public void Yaf_Config_Simple::valid ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Config_Simple::toArray
Yaf_Controller_Abstract
Yaf_Config_Simple


The Yaf_Controller_Abstract class

(Yaf >=1.0.0)

Einführung

Yaf_Controller_Abstract is the heart of Yaf's system. MVC stands for Model-View-Controller and is a design pattern targeted at separating application logic from display logic.

Every custom controller shall inherit Yaf_Controller_Abstract.

You will find that you can not define __construct function for your custom controller, thus, Yaf_Controller_Abstract provides a magic method: Yaf_Controller_Abstract::init().

If you have defined a init() method in your custom controller, it will be called as long as the controller was instantiated.

Action may have arguments, when a request coming, if there are the same name variable in the request parameters(see Yaf_Request_Abstract::getParam()) after routed, Yaf will pass them to the action method (see Yaf_Action_Abstract::execute()).

Hinweis:

These arguments are directly fetched without filtering, it should be carefully processed before use them.

Klassenbeschreibung

abstract Yaf_Controller_Abstract {
/* Eigenschaften */
public $actions ;
protected $_module ;
protected $_name ;
protected $_request ;
protected $_response ;
protected $_invoke_args ;
protected $_view ;
/* Methoden */
final private void __clone ( void )
final private __construct ( void )
protected bool display ( string $tpl [, array $parameters ] )
public void forward ( string $action [, array $paramters ] )
public void getInvokeArg ( string $name )
public void getInvokeArgs ( void )
public string getModuleName ( void )
public Yaf_Request_Abstract getRequest ( void )
public Yaf_Response_Abstract getResponse ( void )
public Yaf_View_Interface getView ( void )
public void getViewpath ( void )
public void init ( void )
public void initView ([ array $options ] )
public bool redirect ( string $url )
protected string render ( string $tpl [, array $parameters ] )
public void setViewpath ( string $view_directory )
}

Eigenschaften

actions

You can also define a action method in a separate PHP script by using this property and Yaf_Action_Abstract.

Beispiel #1 define action in a separate file

<?php
class IndexController extends Yaf_Controller_Abstract {
    protected $actions = array(
        /** now dummyAction is defined in a separate file */
        "dummy" => "actions/Dummy_action.php",
    );

    /* action method may have arguments */
    public indexAction($name, $id) {
       /* $name and $id are unsafe raw data */
       assert($name == $this->getRequest()->getParam("name"));
       assert($id   == $this->_request->getParam("id"));
    }
}
?>

Beispiel #2 Dummy_action.php

<?php
class DummyAction extends Yaf_Action_Abstract {
    /* a action class shall define this method  as the entry point */
    public execute() {
    }
}
?>

_module

module name

_name

controller name

_request

current request object

_response

current response object

_invoke_args

_view

view engine object

Inhaltsverzeichnis

  • Yaf_Controller_Abstract::__clone — Yaf_Controller_Abstract can not be cloned
  • Yaf_Controller_Abstract::__construct — Yaf_Controller_Abstract constructor
  • Yaf_Controller_Abstract::display — The display purpose
  • Yaf_Controller_Abstract::forward — foward to another action
  • Yaf_Controller_Abstract::getInvokeArg — The getInvokeArg purpose
  • Yaf_Controller_Abstract::getInvokeArgs — The getInvokeArgs purpose
  • Yaf_Controller_Abstract::getModuleName — Get module name
  • Yaf_Controller_Abstract::getRequest — Retrieve current request object
  • Yaf_Controller_Abstract::getResponse — Retrieve current response object
  • Yaf_Controller_Abstract::getView — Retrieve the view engine
  • Yaf_Controller_Abstract::getViewpath — The getViewpath purpose
  • Yaf_Controller_Abstract::init — Controller initializer
  • Yaf_Controller_Abstract::initView — The initView purpose
  • Yaf_Controller_Abstract::redirect — Redirect to a URL
  • Yaf_Controller_Abstract::render — Render view template
  • Yaf_Controller_Abstract::setViewpath — The setViewpath purpose
Yaf_Config_Simple::valid
Yaf_Controller_Abstract::__clone
Yaf


Yaf_Controller_Abstract can not be cloned

Yaf_Controller_Abstract
Yaf_Controller_Abstract::__construct
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::__clone

(Yaf >=1.0.0)

Yaf_Controller_Abstract::__clone — Yaf_Controller_Abstract can not be cloned

Beschreibung

final private void Yaf_Controller_Abstract::__clone ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Controller_Abstract
Yaf_Controller_Abstract::__construct
Yaf_Controller_Abstract


Yaf_Controller_Abstract constructor

Yaf_Controller_Abstract::__clone
Yaf_Controller_Abstract::display
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::__construct

(Yaf >=1.0.0)

Yaf_Controller_Abstract::__construct — Yaf_Controller_Abstract constructor

Beschreibung

final private Yaf_Controller_Abstract::__construct ( void )

Yaf_Controller_Abstract::__construct() is final, which means it can not be overridden. You may want to see Yaf_Controller_Abstract::init() instead.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Siehe auch

  • Yaf_Controller_Abstract::init() - Controller initializer
Yaf_Controller_Abstract::__clone
Yaf_Controller_Abstract::display
Yaf_Controller_Abstract


The display purpose

Yaf_Controller_Abstract::__construct
Yaf_Controller_Abstract::forward
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::display

(Yaf >=1.0.0)

Yaf_Controller_Abstract::display — The display purpose

Beschreibung

protected bool Yaf_Controller_Abstract::display ( string $tpl [, array $parameters ] )

Parameter-Liste

tpl

parameters

Rückgabewerte

Yaf_Controller_Abstract::__construct
Yaf_Controller_Abstract::forward
Yaf_Controller_Abstract


foward to another action

Yaf_Controller_Abstract::display
Yaf_Controller_Abstract::getInvokeArg
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::forward

(Yaf >=1.0.0)

Yaf_Controller_Abstract::forward — foward to another action

Beschreibung

public void Yaf_Controller_Abstract::forward ( string $action [, array $paramters ] )
public void Yaf_Controller_Abstract::forward ( string $controller , string $action [, array $paramters ] )
public void Yaf_Controller_Abstract::forward ( string $module , string $controller , string $action [, array $paramters ] )

forward current execution process to other action.

Hinweis:

this method doesn't switch to the destination action immediately, it will take place after current flow finish.

Parameter-Liste

module

destination module name, if NULL was given, then default module name is assumed

controller

destination controller name

action

destination action name

paramters

calling arguments

Beispiele

Beispiel #1 Yaf_Controller_Abstract::forward()example

<?php
class IndexController extends Yaf_Controller_Abstract
{
    public function indexAction(){
         $logined = $_SESSION["login"];
         if (!$logined) {
             $this->forward("login", array("from" => "Index")); // forward to login action
             return FALSE;  // this is important, this finish current working flow
                            // and tell the Yaf do not doing auto-render
         }

         // other processes
    }

    public function loginAction() {
         echo "login, redirected from ", $this->_request->getParam("from") , " action";
    }
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

   login, redirected from Index action

Rückgabewerte

return FALSE on failure

Siehe auch

  • Yaf_Request_Abstrace::getParam()
Yaf_Controller_Abstract::display
Yaf_Controller_Abstract::getInvokeArg
Yaf_Controller_Abstract


The getInvokeArg purpose

Yaf_Controller_Abstract::forward
Yaf_Controller_Abstract::getInvokeArgs
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::getInvokeArg

(Yaf >=1.0.0)

Yaf_Controller_Abstract::getInvokeArg — The getInvokeArg purpose

Beschreibung

public void Yaf_Controller_Abstract::getInvokeArg ( string $name )

Parameter-Liste

name

Rückgabewerte

Yaf_Controller_Abstract::forward
Yaf_Controller_Abstract::getInvokeArgs
Yaf_Controller_Abstract


The getInvokeArgs purpose

Yaf_Controller_Abstract::getInvokeArg
Yaf_Controller_Abstract::getModuleName
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::getInvokeArgs

(Yaf >=1.0.0)

Yaf_Controller_Abstract::getInvokeArgs — The getInvokeArgs purpose

Beschreibung

public void Yaf_Controller_Abstract::getInvokeArgs ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Controller_Abstract::getInvokeArg
Yaf_Controller_Abstract::getModuleName
Yaf_Controller_Abstract


Get module name

Yaf_Controller_Abstract::getInvokeArgs
Yaf_Controller_Abstract::getRequest
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::getModuleName

(Yaf >=1.0.0)

Yaf_Controller_Abstract::getModuleName — Get module name

Beschreibung

public string Yaf_Controller_Abstract::getModuleName ( void )

get the controller's module name

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Controller_Abstract::getInvokeArgs
Yaf_Controller_Abstract::getRequest
Yaf_Controller_Abstract


Retrieve current request object

Yaf_Controller_Abstract::getModuleName
Yaf_Controller_Abstract::getResponse
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::getRequest

(Yaf >=1.0.0)

Yaf_Controller_Abstract::getRequest — Retrieve current request object

Beschreibung

public Yaf_Request_Abstract Yaf_Controller_Abstract::getRequest ( void )

retrieve current request object

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Request_Abstract instance

Yaf_Controller_Abstract::getModuleName
Yaf_Controller_Abstract::getResponse
Yaf_Controller_Abstract


Retrieve current response object

Yaf_Controller_Abstract::getRequest
Yaf_Controller_Abstract::getView
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::getResponse

(Yaf >=1.0.0)

Yaf_Controller_Abstract::getResponse — Retrieve current response object

Beschreibung

public Yaf_Response_Abstract Yaf_Controller_Abstract::getResponse ( void )

retrieve current response object

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Response_Abstract instance

Yaf_Controller_Abstract::getRequest
Yaf_Controller_Abstract::getView
Yaf_Controller_Abstract


Retrieve the view engine

Yaf_Controller_Abstract::getResponse
Yaf_Controller_Abstract::getViewpath
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::getView

(Yaf >=1.0.0)

Yaf_Controller_Abstract::getView — Retrieve the view engine

Beschreibung

public Yaf_View_Interface Yaf_Controller_Abstract::getView ( void )

retrieve view engine

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Controller_Abstract::getResponse
Yaf_Controller_Abstract::getViewpath
Yaf_Controller_Abstract


The getViewpath purpose

Yaf_Controller_Abstract::getView
Yaf_Controller_Abstract::init
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::getViewpath

(Yaf >=1.0.0)

Yaf_Controller_Abstract::getViewpath — The getViewpath purpose

Beschreibung

public void Yaf_Controller_Abstract::getViewpath ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Controller_Abstract::getView
Yaf_Controller_Abstract::init
Yaf_Controller_Abstract


Controller initializer

Yaf_Controller_Abstract::getViewpath
Yaf_Controller_Abstract::initView
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::init

(Yaf >=1.0.0)

Yaf_Controller_Abstract::init — Controller initializer

Beschreibung

public void Yaf_Controller_Abstract::init ( void )

Yaf_Controller_Abstract::__construct() is final, which means users can not override it. but users can define Yaf_Controller_Abstract::init(), which will be called after controller object is instantiated.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Siehe auch

  • Yaf_Controller_Abstract::__construct() - Yaf_Controller_Abstract constructor
Yaf_Controller_Abstract::getViewpath
Yaf_Controller_Abstract::initView
Yaf_Controller_Abstract


The initView purpose

Yaf_Controller_Abstract::init
Yaf_Controller_Abstract::redirect
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::initView

(Yaf >=1.0.0)

Yaf_Controller_Abstract::initView — The initView purpose

Beschreibung

public void Yaf_Controller_Abstract::initView ([ array $options ] )

Parameter-Liste

options

Rückgabewerte

Yaf_Controller_Abstract::init
Yaf_Controller_Abstract::redirect
Yaf_Controller_Abstract


Redirect to a URL

Yaf_Controller_Abstract::initView
Yaf_Controller_Abstract::render
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::redirect

(Yaf >=1.0.0)

Yaf_Controller_Abstract::redirect — Redirect to a URL

Beschreibung

public bool Yaf_Controller_Abstract::redirect ( string $url )

redirect to a URL by sending a 302 header

Parameter-Liste

url

a location URL

Rückgabewerte

bool

Yaf_Controller_Abstract::initView
Yaf_Controller_Abstract::render
Yaf_Controller_Abstract


Render view template

Yaf_Controller_Abstract::redirect
Yaf_Controller_Abstract::setViewpath
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::render

(Yaf >=1.0.0)

Yaf_Controller_Abstract::render — Render view template

Beschreibung

protected string Yaf_Controller_Abstract::render ( string $tpl [, array $parameters ] )

Parameter-Liste

tpl

parameters

Rückgabewerte

Yaf_Controller_Abstract::redirect
Yaf_Controller_Abstract::setViewpath
Yaf_Controller_Abstract


The setViewpath purpose

Yaf_Controller_Abstract::render
Yaf_Action_Abstract
Yaf_Controller_Abstract
PHP Manual

Yaf_Controller_Abstract::setViewpath

(Yaf >=1.0.0)

Yaf_Controller_Abstract::setViewpath — The setViewpath purpose

Beschreibung

public void Yaf_Controller_Abstract::setViewpath ( string $view_directory )

Parameter-Liste

view_directory

Rückgabewerte

Yaf_Controller_Abstract::render
Yaf_Action_Abstract
Yaf_Controller_Abstract


The Yaf_Action_Abstract class

(Yaf >=1.0.0)

Einführung

A action can be defined in a separate file in Yaf(see Yaf_Controller_Abstract). that is a action method can also be a Yaf_Action_Abstract class.

Since there should be a entry point which can be called by Yaf (as of PHP 5.3, there is a new magic method __invoke, but Yaf is not only works with PHP 5.3+, Yaf choose another magic method execute), you must implement the abstract method Yaf_Action_Abstract::execute() in your custom action class.

Klassenbeschreibung

Yaf_Action_Abstract extends Yaf_Controller_Abstract {
/* Eigenschaften */
protected $_controller ;
/* Methoden */
abstract publicmixed execute ([ mixed $arg [, mixed $... ]] )
publicYaf_Controller_Abstract getController ( void )
/* Geerbte Methoden */
final private void Yaf_Controller_Abstract::__clone ( void )
final private Yaf_Controller_Abstract::__construct ( void )
protected bool Yaf_Controller_Abstract::display ( string $tpl [, array $parameters ] )
public void Yaf_Controller_Abstract::forward ( string $action [, array $paramters ] )
public void Yaf_Controller_Abstract::getInvokeArg ( string $name )
public void Yaf_Controller_Abstract::getInvokeArgs ( void )
public string Yaf_Controller_Abstract::getModuleName ( void )
public Yaf_Request_Abstract Yaf_Controller_Abstract::getRequest ( void )
public Yaf_Response_Abstract Yaf_Controller_Abstract::getResponse ( void )
public Yaf_View_Interface Yaf_Controller_Abstract::getView ( void )
public void Yaf_Controller_Abstract::getViewpath ( void )
public void Yaf_Controller_Abstract::init ( void )
public void Yaf_Controller_Abstract::initView ([ array $options ] )
public bool Yaf_Controller_Abstract::redirect ( string $url )
protected string Yaf_Controller_Abstract::render ( string $tpl [, array $parameters ] )
public void Yaf_Controller_Abstract::setViewpath ( string $view_directory )
}

Eigenschaften

_module

_name

_request

_response

_invoke_args

_view

_controller

Inhaltsverzeichnis

  • Yaf_Action_Abstract::execute — Action entry point
  • Yaf_Action_Abstract::getController — Retrieve controller object
Yaf_Controller_Abstract::setViewpath
Yaf_Action_Abstract::execute
Yaf


Action entry point

Yaf_Action_Abstract
Yaf_Action_Abstract::getController
Yaf_Action_Abstract
PHP Manual

Yaf_Action_Abstract::execute

(Yaf >=1.0.0)

Yaf_Action_Abstract::execute — Action entry point

Beschreibung

abstract publicmixed Yaf_Action_Abstract::execute ([ mixed $arg [, mixed $... ]] )

user should always define this method for a action, this is the entry point of an action. Yaf_Action_Abstract::execute() may have agruments.

Hinweis:

The value retrived from the request is not safe. you should do some filtering work before you use it.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Beispiele

Beispiel #1 Yaf_Action_Abstract::execute()example

<?php
/**
 * A controller example
 */
class ProductController extends Yaf_Controller_Abstract {
      protected $actions = array(
          "index" => "actions/Index.php",
      );
}
?>

Beispiel #2 Yaf_Action_Abstract::execute()example

<?php
/**
 * ListAction
 */
class ListAction extends Yaf_Action_Abstract {
     public function execute ($name, $id) {
         assert($name == $this->getRequest()->getParam("name"));
         assert($id   == $this->getRequest()->getParam("id"));
     }
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

/**
 * Now assuming we are using the Yaf_Route_Static route
 * for request: http://yourdomain/product/list/name/yaf/id/22
 * will result:
 */
 bool(true)
 bool(true)

Siehe auch

Yaf_Action_Abstract
Yaf_Action_Abstract::getController
Yaf_Action_Abstract


Retrieve controller object

Yaf_Action_Abstract::execute
Yaf_View_Interface
Yaf_Action_Abstract
PHP Manual

Yaf_Action_Abstract::getController

(Yaf >=1.0.0)

Yaf_Action_Abstract::getController — Retrieve controller object

Beschreibung

publicYaf_Controller_Abstract Yaf_Action_Abstract::getController ( void )

retrieve current controller object.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Controller_Abstract instance

Yaf_Action_Abstract::execute
Yaf_View_Interface
Yaf_Action_Abstract


The Yaf_View_Interface class

(Yaf >=1.0.0)

Einführung

Yaf provides a ability for developers to use coustom view engine instead of build-in engine which is Yaf_View_Simple. There is a example to explain how to do this, please see Yaf_Dispatcher::setView().

Klassenbeschreibung

Yaf_View_Interface {
/* Methoden */
abstract public bool assign ( string $name [, string $value ] )
abstract public bool display ( string $tpl [, array $tpl_vars ] )
abstract public void getScriptPath ( void )
abstract public string render ( string $tpl [, array $tpl_vars ] )
abstract public void setScriptPath ( string $template_dir )
}

Inhaltsverzeichnis

  • Yaf_View_Interface::assign — Assign value to View engine
  • Yaf_View_Interface::display — Render and output a template
  • Yaf_View_Interface::getScriptPath — The getScriptPath purpose
  • Yaf_View_Interface::render — Render a template
  • Yaf_View_Interface::setScriptPath — The setScriptPath purpose
Yaf_Action_Abstract::getController
Yaf_View_Interface::assign
Yaf


Assign value to View engine

Yaf_View_Interface
Yaf_View_Interface::display
Yaf_View_Interface
PHP Manual

Yaf_View_Interface::assign

(Yaf >=1.0.0)

Yaf_View_Interface::assign — Assign value to View engine

Beschreibung

abstract public bool Yaf_View_Interface::assign ( string $name [, string $value ] )

Assigan values to View engine, then the value can access directly by name in template.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

name

value

Rückgabewerte

Yaf_View_Interface
Yaf_View_Interface::display
Yaf_View_Interface


Render and output a template

Yaf_View_Interface::assign
Yaf_View_Interface::getScriptPath
Yaf_View_Interface
PHP Manual

Yaf_View_Interface::display

(Yaf >=1.0.0)

Yaf_View_Interface::display — Render and output a template

Beschreibung

abstract public bool Yaf_View_Interface::display ( string $tpl [, array $tpl_vars ] )

Render a template and output the result immediatly.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

tpl

tpl_vars

Rückgabewerte

Yaf_View_Interface::assign
Yaf_View_Interface::getScriptPath
Yaf_View_Interface


The getScriptPath purpose

Yaf_View_Interface::display
Yaf_View_Interface::render
Yaf_View_Interface
PHP Manual

Yaf_View_Interface::getScriptPath

(Yaf >=1.0.0)

Yaf_View_Interface::getScriptPath — The getScriptPath purpose

Beschreibung

abstract public void Yaf_View_Interface::getScriptPath ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_View_Interface::display
Yaf_View_Interface::render
Yaf_View_Interface


Render a template

Yaf_View_Interface::getScriptPath
Yaf_View_Interface::setScriptPath
Yaf_View_Interface
PHP Manual

Yaf_View_Interface::render

(Yaf >=1.0.0)

Yaf_View_Interface::render — Render a template

Beschreibung

abstract public string Yaf_View_Interface::render ( string $tpl [, array $tpl_vars ] )

Render a template and return the result.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

tpl

tpl_vars

Rückgabewerte

Yaf_View_Interface::getScriptPath
Yaf_View_Interface::setScriptPath
Yaf_View_Interface


The setScriptPath purpose

Yaf_View_Interface::render
Yaf_View_Simple
Yaf_View_Interface
PHP Manual

Yaf_View_Interface::setScriptPath

(Yaf >=1.0.0)

Yaf_View_Interface::setScriptPath — The setScriptPath purpose

Beschreibung

abstract public void Yaf_View_Interface::setScriptPath ( string $template_dir )

Set the templates base directory, this is usually called by Yaf_Dispatcher

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

template_dir

A absolute path to the template directory, by default, Yaf_Dispatcher use application.directory . "/views" as this paramter.

Rückgabewerte

Yaf_View_Interface::render
Yaf_View_Simple
Yaf_View_Interface


The Yaf_View_Simple class

(Yaf >=1.0.0)

Einführung

Yaf_View_Simple is the built-in template engine in Yaf, it is a simple but fast template engine, and only support PHP script template.

Klassenbeschreibung

Yaf_View_Simple implements Yaf_View_Interface {
/* Eigenschaften */
protected $_tpl_vars ;
protected $_tpl_dir ;
/* Methoden */
public bool assign ( string $name [, mixed $value ] )
public bool assignRef ( string $name , mixed &$value )
public bool clear ([ string $name ] )
final public __construct ( string $template_dir [, array $options ] )
public bool display ( string $tpl [, array $tpl_vars ] )
public string eval ( string $tpl_content [, array $tpl_vars ] )
public void __get ([ string $name ] )
public string getScriptPath ( void )
public void __isset ( string $name )
public string render ( string $tpl [, array $tpl_vars ] )
public void __set ( string $name , mixed $value )
public bool setScriptPath ( string $template_dir )
}

Eigenschaften

_tpl_vars

_tpl_dir

Inhaltsverzeichnis

  • Yaf_View_Simple::assign — Assign values
  • Yaf_View_Simple::assignRef — The assignRef purpose
  • Yaf_View_Simple::clear — Clear Assigned values
  • Yaf_View_Simple::__construct — Constructor of Yaf_View_Simple
  • Yaf_View_Simple::display — Render and display
  • Yaf_View_Simple::eval — Render template
  • Yaf_View_Simple::__get — Retrieve assigned variable
  • Yaf_View_Simple::getScriptPath — Get templates directory
  • Yaf_View_Simple::__isset — The __isset purpose
  • Yaf_View_Simple::render — Render template
  • Yaf_View_Simple::__set — Set value to engine
  • Yaf_View_Simple::setScriptPath — Set tempaltes directory
Yaf_View_Interface::setScriptPath
Yaf_View_Simple::assign
Yaf


Assign values

Yaf_View_Simple
Yaf_View_Simple::assignRef
Yaf_View_Simple
PHP Manual

Yaf_View_Simple::assign

(Yaf >=1.0.0)

Yaf_View_Simple::assign — Assign values

Beschreibung

public bool Yaf_View_Simple::assign ( string $name [, mixed $value ] )

assign variable to view engine

Parameter-Liste

name

A string or an array.

if is string, then the next argument $value is required.

value

mixed value

Rückgabewerte

Beispiele

Beispiel #1 Yaf_View_Simple::assign()example

<?php
class IndexController extends Yaf_Controller_Abstract {
    public function indexAction() {
        $this->getView()->assign("foo", "bar");
        $this->_view->assign( array( "key" => "value", "name" => "value"));
    }
?>

Beispiel #2 template()example

<html>
 <head>
  <title><?php echo $foo; ?></title>
 </head>
<body>
  <?php
    foreach ($this->_tpl_vars as $name => value) {
         echo $$name; // or echo $this->_tpl_vars[$name];
    }
  ?>
</body>
</html>

Siehe auch

  • Yaf_View_Simple::assignRef() - The assignRef purpose
  • Yaf_View_Interface::clear()
  • Yaf_View_Simple::__set() - Set value to engine
Yaf_View_Simple
Yaf_View_Simple::assignRef
Yaf_View_Simple


The assignRef purpose

Yaf_View_Simple::assign
Yaf_View_Simple::clear
Yaf_View_Simple
PHP Manual

Yaf_View_Simple::assignRef

(Yaf >=1.0.0)

Yaf_View_Simple::assignRef — The assignRef purpose

Beschreibung

public bool Yaf_View_Simple::assignRef ( string $name , mixed &$value )

unlike Yaf_View_Simple::assign(), this method assign a ref value to engine.

Parameter-Liste

name

A string name which will be used to access the value in the tempalte.

value

mixed value

Rückgabewerte

Beispiele

Beispiel #1 Yaf_View_Simple::assignRef()example

<?php
class IndexController extends Yaf_Controller_Abstract {
    public function indexAction() {
        $value = "bar";
        $this->getView()->assign("foo", $value);

        /* plz note that there was a bug before Yaf 2.1.4,
         * which make following output "bar";
         */
        $dummy = $this->getView()->render("index/index.phtml");
        echo $value;

        //prevent the auto-render
        Yaf_Dispatcher::getInstance()->autoRender(FALSE);
    }
?>

Beispiel #2 template()example

<html>
 <head>
  <title><?php echo $foo;  $foo = "changed"; ?></title>
 </head>
<body>
</body>
</html>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

/* access the index controller will result: */
changed

Siehe auch

  • Yaf_View_Simple::assign() - Assign values
  • Yaf_View_Simple::__set() - Set value to engine
Yaf_View_Simple::assign
Yaf_View_Simple::clear
Yaf_View_Simple


Clear Assigned values

Yaf_View_Simple::assignRef
Yaf_View_Simple::__construct
Yaf_View_Simple
PHP Manual

Yaf_View_Simple::clear

(Yaf >=2.2.0)

Yaf_View_Simple::clear — Clear Assigned values

Beschreibung

public bool Yaf_View_Simple::clear ([ string $name ] )

clear assigned variable

Parameter-Liste

name

assigned variable name

if empty, will clear all assigned variables

Rückgabewerte

Beispiele

Beispiel #1 Yaf_View_Simple::clear()example

<?php
class IndexController extends Yaf_Controller_Abstract {
    public function indexAction() {
        $this->getView()->clear("foo")->clear("bar"); // clear "foo" and "bar"
        $this->_view->clear(); //clear all assigned variables
    }
?>

Siehe auch

  • Yaf_View_Simple::assignRef() - The assignRef purpose
  • Yaf_View_Interface::assign() - Assign value to View engine
  • Yaf_View_Simple::__set() - Set value to engine
Yaf_View_Simple::assignRef
Yaf_View_Simple::__construct
Yaf_View_Simple


Constructor of Yaf_View_Simple

Yaf_View_Simple::clear
Yaf_View_Simple::display
Yaf_View_Simple
PHP Manual

Yaf_View_Simple::__construct

(Yaf >=1.0.0)

Yaf_View_Simple::__construct — Constructor of Yaf_View_Simple

Beschreibung

final public Yaf_View_Simple::__construct ( string $template_dir [, array $options ] )

Parameter-Liste

template_dir

The base directory of the templates, by default, it is APPLICATOIN . "/views" for Yaf.

options

Options for the engine, as of Yaf 2.1.13, you can use short tag
      "<?=$var?>" in your template(regardless of "short_open_tag"),
      so comes a option named "short_tag",  you can switch this off
      to prevent use short_tag in template.

Beispiele

Beispiel #1 Yaf_View_Simple::__constructor()example

<?php
   define ("TEMPLATE_DIRECTORY", APPLICATOIN_PATH . '/views');
   $view = new Yaf_View_Simple(TEMPLATE_DIRECTORY, array(
                           'short_tag' => false //doesn't allow use short tag in template
   ));
?>

Rückgabewerte

Yaf_View_Simple::clear
Yaf_View_Simple::display
Yaf_View_Simple


Render and display

Yaf_View_Simple::__construct
Yaf_View_Simple::eval
Yaf_View_Simple
PHP Manual

Yaf_View_Simple::display

(Yaf >=1.0.0)

Yaf_View_Simple::display — Render and display

Beschreibung

public bool Yaf_View_Simple::display ( string $tpl [, array $tpl_vars ] )

Render a template and display the result instantly.

Parameter-Liste

tpl

tpl_vars

Rückgabewerte

Yaf_View_Simple::__construct
Yaf_View_Simple::eval
Yaf_View_Simple


Render template

Yaf_View_Simple::display
Yaf_View_Simple::__get
Yaf_View_Simple
PHP Manual

Yaf_View_Simple::eval

(Yaf >=2.2.0)

Yaf_View_Simple::eval — Render template

Beschreibung

public string Yaf_View_Simple::eval ( string $tpl_content [, array $tpl_vars ] )

Render a string tempalte and return the result.

Parameter-Liste

tpl_content

string template

tpl_vars

Rückgabewerte

Yaf_View_Simple::display
Yaf_View_Simple::__get
Yaf_View_Simple


Retrieve assigned variable

Yaf_View_Simple::eval
Yaf_View_Simple::getScriptPath
Yaf_View_Simple
PHP Manual

Yaf_View_Simple::__get

(Yaf >=1.0.0)

Yaf_View_Simple::__get — Retrieve assigned variable

Beschreibung

public void Yaf_View_Simple::__get ([ string $name ] )

Retrieve assigned varaiable

Hinweis:

parameter can be empty since 2.1.11

Parameter-Liste

name

the assigned variable name

if this is empty, all assigned variables will be returned

Rückgabewerte

Yaf_View_Simple::eval
Yaf_View_Simple::getScriptPath
Yaf_View_Simple


Get templates directory

Yaf_View_Simple::__get
Yaf_View_Simple::__isset
Yaf_View_Simple
PHP Manual

Yaf_View_Simple::getScriptPath

(Yaf >=1.0.0)

Yaf_View_Simple::getScriptPath — Get templates directory

Beschreibung

public string Yaf_View_Simple::getScriptPath ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_View_Simple::__get
Yaf_View_Simple::__isset
Yaf_View_Simple


The __isset purpose

Yaf_View_Simple::getScriptPath
Yaf_View_Simple::render
Yaf_View_Simple
PHP Manual

Yaf_View_Simple::__isset

(Yaf >=1.0.0)

Yaf_View_Simple::__isset — The __isset purpose

Beschreibung

public void Yaf_View_Simple::__isset ( string $name )

Parameter-Liste

name

Rückgabewerte

Yaf_View_Simple::getScriptPath
Yaf_View_Simple::render
Yaf_View_Simple


Render template

Yaf_View_Simple::__isset
Yaf_View_Simple::__set
Yaf_View_Simple
PHP Manual

Yaf_View_Simple::render

(Yaf >=1.0.0)

Yaf_View_Simple::render — Render template

Beschreibung

public string Yaf_View_Simple::render ( string $tpl [, array $tpl_vars ] )

Render a template and return the result.

Parameter-Liste

tpl

tpl_vars

Rückgabewerte

Yaf_View_Simple::__isset
Yaf_View_Simple::__set
Yaf_View_Simple


Set value to engine

Yaf_View_Simple::render
Yaf_View_Simple::setScriptPath
Yaf_View_Simple
PHP Manual

Yaf_View_Simple::__set

(Yaf >=1.0.0)

Yaf_View_Simple::__set — Set value to engine

Beschreibung

public void Yaf_View_Simple::__set ( string $name , mixed $value )

This is a alternative and easier way to Yaf_View_Simple::assign().

Parameter-Liste

name

A string value name.

value

Mixed value.

Rückgabewerte

Beispiele

Beispiel #1 Yaf_View_Simple::__set()example

<?php
class IndexController extends Yaf_Controller_Abstract {
    public function indexAction() {
        $this->getView()->foo = "bar"; // same as assign("foo", "bar");
    }
?>

Siehe auch

  • Yaf_View_Simple::assignRef() - The assignRef purpose
  • Yaf_View_Interface::assign() - Assign value to View engine
Yaf_View_Simple::render
Yaf_View_Simple::setScriptPath
Yaf_View_Simple


Set tempaltes directory

Yaf_View_Simple::__set
Yaf_Loader
Yaf_View_Simple
PHP Manual

Yaf_View_Simple::setScriptPath

(Yaf >=1.0.0)

Yaf_View_Simple::setScriptPath — Set tempaltes directory

Beschreibung

public bool Yaf_View_Simple::setScriptPath ( string $template_dir )

Parameter-Liste

template_dir

Rückgabewerte

Yaf_View_Simple::__set
Yaf_Loader
Yaf_View_Simple


The Yaf_Loader class

(Yaf >=1.0.0)

Einführung

Yaf_Loader introduces a comprehensive autoloading solution for Yaf.

The first time an instance of Yaf_Application is retrieved, Yaf_Loader will instance a singleton, and registers itself with spl_autoload. You retrieve an instance using the Yaf_Loader::getInstance()

Yaf_Loader attempt to load a class only one shot, if failed, depend on yaf.use_spl_auload, if this config is On Yaf_Loader::autoload() will return FALSE, thus give the chance to other autoload function. if it is Off (by default), Yaf_Loader::autoload() will return TRUE, and more important is that a very usefull warning will be triggerd (very usefull to find out why a class could not be loaded).

Hinweis:

Please keep yaf.use_spl_autoload Off unless there is some library have their own autoload mechanism and impossible to rewrite it.

By default, Yaf_Loader assume all library (class defined script) store in the global library directory, which is defined in the php.ini(yaf.library).

If you want Yaf_Loader search some classes(libraries) in the local class directory(which is defined in application.ini, and by default, it is application.directory . "/library"), you should register the class prefix using the Yaf_Loader::registerLocalNameSpace()

Let's see some examples(assuming APPLICATION_PATH is application.directory):

Beispiel #1 Config example

// Assuming the following configure in php.ini:
yaf.library = "/global_dir"

//Assuming the following configure in application.ini
application.library = APPLICATION_PATH "/library"
Assuming the following local name space registerd:

Beispiel #2 Register localnamespace

<?php
class Bootstrap extends Yaf_Bootstrap_Abstract{
     public function _initLoader($dispatcher) {
          Yaf_Loader::getInstance()->registerLocalNameSpace(array("Foo", "Bar"));
     }
?>
Then the autoload examples:

Beispiel #3 Load class example

class Foo_Bar_Test =>
  // APPLICATION_PATH/library/Foo/Bar/Test.php

class GLO_Name  =>
  // /global_dir/Glo/Name.php

class BarNon_Test
  // /global_dir/Barnon/Test.php
As of PHP 5.3, you can use namespace:

Beispiel #4 Load namespace class example

class \Foo\Bar\Dummy =>
   // APPLICATION_PATH/library/Foo/Bar/Dummy.php

class \FooBar\Bar\Dummy =>
   // /global_dir/FooBar/Bar/Dummy.php

You may noticed that all the folder wth the first letter capitalized, you can make them lowercase by set yaf.lowcase_path = On in php.ini

Yaf_Loader is also designed to load the MVC classes, and the rule is:

Beispiel #5 MVC class loading example

Controller Classes =>
// APPLICATION_PATH/controllers/

Model Classes =>
// APPLICATION_PATH/models/

Plugin Classes =>
// APPLICATION_PATH/plugins/
Yaf identify a class's suffix(this is by default, you can also change to the prefix by change the configure yaf.name_suffix) to decide whether it is a MVC class:

Beispiel #6 MVC class distinctions

Controller Classes =>
    // ***Controller

Model Classes =>
    // ***Model

Plugin Classes =>
    // ***Plugin
some examples:

Beispiel #7 MVC loading example

class IndexController
    // APPLICATION_PATH/controllers/Index.php

class DataModel =>
   // APPLICATION_PATH/models/Data.php

class DummyPlugin =>
  // APPLICATION_PATH/plugins/Dummy.php

class A_B_TestModel =>
  // APPLICATION_PATH/models/A/B/Test.php

Hinweis:

As of 2.1.18, Yaf supports Controllers autoloading for user script side, (which means the autoloading triggered by user php script, eg: access a controller static property in Bootstrap or Plugins), but autoloader only try to locate controller class script under the default module folder, which is "APPLICATION_PATH/controllers/".

also, the directory will be affected by yaf.lowcase_path.

Klassenbeschreibung

Yaf_Loader {
/* Eigenschaften */
protected $_local_ns ;
protected $_library ;
protected $_global_library ;
static $_instance ;
/* Methoden */
public void autoload ( void )
public void clearLocalNamespace ( void )
private void __clone ( void )
private __construct ( void )
public static void getInstance ( void )
public Yaf_Loader getLibraryPath ([ bool $is_global = false ] )
public void getLocalNamespace ( void )
public static void import ( void )
public void isLocalName ( void )
public void registerLocalNamespace ( mixed $prefix )
public Yaf_Loader setLibraryPath ( string $directory [, bool $is_global = false ] )
private void __sleep ( void )
private void __wakeup ( void )
}

Eigenschaften

_local_ns

_library

By default, this value is application.directory . "/library", you can change this either in the application.ini(application.library) or call to Yaf_Loader::setLibraryPath()

_global_library

_instance

Inhaltsverzeichnis

  • Yaf_Loader::autoload — The autoload purpose
  • Yaf_Loader::clearLocalNamespace — The clearLocalNamespace purpose
  • Yaf_Loader::__clone — The __clone purpose
  • Yaf_Loader::__construct — The __construct purpose
  • Yaf_Loader::getInstance — The getInstance purpose
  • Yaf_Loader::getLibraryPath — get the library path
  • Yaf_Loader::getLocalNamespace — The getLocalNamespace purpose
  • Yaf_Loader::import — The import purpose
  • Yaf_Loader::isLocalName — The isLocalName purpose
  • Yaf_Loader::registerLocalNamespace — register local class prefix
  • Yaf_Loader::setLibraryPath — Change the library path
  • Yaf_Loader::__sleep — The __sleep purpose
  • Yaf_Loader::__wakeup — The __wakeup purpose
Yaf_View_Simple::setScriptPath
Yaf_Loader::autoload
Yaf


The autoload purpose

Yaf_Loader
Yaf_Loader::clearLocalNamespace
Yaf_Loader
PHP Manual

Yaf_Loader::autoload

(Yaf >=1.0.0)

Yaf_Loader::autoload — The autoload purpose

Beschreibung

public void Yaf_Loader::autoload ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Loader
Yaf_Loader::clearLocalNamespace
Yaf_Loader


The clearLocalNamespace purpose

Yaf_Loader::autoload
Yaf_Loader::__clone
Yaf_Loader
PHP Manual

Yaf_Loader::clearLocalNamespace

(Yaf >=1.0.0)

Yaf_Loader::clearLocalNamespace — The clearLocalNamespace purpose

Beschreibung

public void Yaf_Loader::clearLocalNamespace ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Loader::autoload
Yaf_Loader::__clone
Yaf_Loader


The __clone purpose

Yaf_Loader::clearLocalNamespace
Yaf_Loader::__construct
Yaf_Loader
PHP Manual

Yaf_Loader::__clone

(Yaf >=1.0.0)

Yaf_Loader::__clone — The __clone purpose

Beschreibung

private void Yaf_Loader::__clone ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Loader::clearLocalNamespace
Yaf_Loader::__construct
Yaf_Loader


The __construct purpose

Yaf_Loader::__clone
Yaf_Loader::getInstance
Yaf_Loader
PHP Manual

Yaf_Loader::__construct

(Yaf >=1.0.0)

Yaf_Loader::__construct — The __construct purpose

Beschreibung

private Yaf_Loader::__construct ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Loader::__clone
Yaf_Loader::getInstance
Yaf_Loader


The getInstance purpose

Yaf_Loader::__construct
Yaf_Loader::getLibraryPath
Yaf_Loader
PHP Manual

Yaf_Loader::getInstance

(Yaf >=1.0.0)

Yaf_Loader::getInstance — The getInstance purpose

Beschreibung

public static void Yaf_Loader::getInstance ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Loader::__construct
Yaf_Loader::getLibraryPath
Yaf_Loader


get the library path

Yaf_Loader::getInstance
Yaf_Loader::getLocalNamespace
Yaf_Loader
PHP Manual

Yaf_Loader::getLibraryPath

(Yaf >=2.1.4)

Yaf_Loader::getLibraryPath — get the library path

Beschreibung

public Yaf_Loader Yaf_Loader::getLibraryPath ([ bool $is_global = false ] )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Loader::getInstance
Yaf_Loader::getLocalNamespace
Yaf_Loader


The getLocalNamespace purpose

Yaf_Loader::getLibraryPath
Yaf_Loader::import
Yaf_Loader
PHP Manual

Yaf_Loader::getLocalNamespace

(Yaf >=1.0.0)

Yaf_Loader::getLocalNamespace — The getLocalNamespace purpose

Beschreibung

public void Yaf_Loader::getLocalNamespace ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Loader::getLibraryPath
Yaf_Loader::import
Yaf_Loader


The import purpose

Yaf_Loader::getLocalNamespace
Yaf_Loader::isLocalName
Yaf_Loader
PHP Manual

Yaf_Loader::import

(Yaf >=1.0.0)

Yaf_Loader::import — The import purpose

Beschreibung

public static void Yaf_Loader::import ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Loader::getLocalNamespace
Yaf_Loader::isLocalName
Yaf_Loader


The isLocalName purpose

Yaf_Loader::import
Yaf_Loader::registerLocalNamespace
Yaf_Loader
PHP Manual

Yaf_Loader::isLocalName

(Yaf >=1.0.0)

Yaf_Loader::isLocalName — The isLocalName purpose

Beschreibung

public void Yaf_Loader::isLocalName ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Loader::import
Yaf_Loader::registerLocalNamespace
Yaf_Loader


register local class prefix

Yaf_Loader::isLocalName
Yaf_Loader::setLibraryPath
Yaf_Loader
PHP Manual

Yaf_Loader::registerLocalNamespace

(Yaf >=1.0.0)

Yaf_Loader::registerLocalNamespace — register local class prefix

Beschreibung

public void Yaf_Loader::registerLocalNamespace ( mixed $prefix )

Register local class prefix name, Yaf_Loader search classes in two library directories, the one is configured via application.library.directory(in application.ini) which is called local libraray directory; the other is configured via yaf.library (in php.ini) which is callled global library directory, since it can be shared by many applications in the same server.

When an autloading is trigger, Yaf_Loader will determine which library directory should be searched in by exame the prefix name of the missed classname. If the prefix name is registered as a localnamespack then look for it in local library directory, otherwise look for it in global library directory.

Hinweis:

If yaf.library is not configured, then the global library directory is assumed to be the local library directory. in that case, all autoloading will look for local library directory. But if you want your Yaf application be strong, then always register your own classes as local classes.

Parameter-Liste

prefix

a string or a array of class name prefix. all class prefix with these prefix will be loaded in local library path.

Rückgabewerte

bool

Beispiele

Beispiel #1 Yaf_Loader::registerLocalNamespace()example

<?php
$loader = Yaf_Loader::getInstance('/local/library/', '/global/library');
$loader->registerLocalNamespace("Baidu");
$loader->registerLocalNamespace(array("Sina", "Weibo"));

$loader->autoload("Baidu_Name"); // search in '/local/library/'
$loader->autoload("Sina");       // search '/local/library/'
$loader->autoload("Global_Name");// search in '/global/library/'
$loader->autoload("Foo_Bar");    // search in '/global/library/'

?>
Yaf_Loader::isLocalName
Yaf_Loader::setLibraryPath
Yaf_Loader


Change the library path

Yaf_Loader::registerLocalNamespace
Yaf_Loader::__sleep
Yaf_Loader
PHP Manual

Yaf_Loader::setLibraryPath

(Yaf >=2.1.4)

Yaf_Loader::setLibraryPath — Change the library path

Beschreibung

public Yaf_Loader Yaf_Loader::setLibraryPath ( string $directory [, bool $is_global = false ] )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Loader::registerLocalNamespace
Yaf_Loader::__sleep
Yaf_Loader


The __sleep purpose

Yaf_Loader::setLibraryPath
Yaf_Loader::__wakeup
Yaf_Loader
PHP Manual

Yaf_Loader::__sleep

(Yaf >=1.0.0)

Yaf_Loader::__sleep — The __sleep purpose

Beschreibung

private void Yaf_Loader::__sleep ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Loader::setLibraryPath
Yaf_Loader::__wakeup
Yaf_Loader


The __wakeup purpose

Yaf_Loader::__sleep
Yaf_Plugin_Abstract
Yaf_Loader
PHP Manual

Yaf_Loader::__wakeup

(Yaf >=1.0.0)

Yaf_Loader::__wakeup — The __wakeup purpose

Beschreibung

private void Yaf_Loader::__wakeup ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Loader::__sleep
Yaf_Plugin_Abstract
Yaf_Loader


The Yaf_Plugin_Abstract class

(Yaf >=1.0.0)

Einführung

Plugins allow for easy extensibility and customization of the framework.

Plugins are classes. The actual class definition will vary based on the component -- you may need to implement this interface, but the fact remains that the plugin is itself a class.

A plugin could be loaded into Yaf by using Yaf_Dispatcher::registerPlugin(), after registerd, All the methods which the plugin implemented according to this interface, will be called at the proper time.

Beispiele

Beispiel #1 Plugin example

<?php
   /* bootstrap class should be defined under ./application/Bootstrap.php */
   class Bootstrap extends Yaf_Bootstrap_Abstract {
        public function _initPlugin(Yaf_Dispatcher $dispatcher) {
            /* register a plugin */
            $dispatcher->registerPlugin(new TestPlugin());
        }
   }

   /* plugin class should be placed under ./application/plugins/ */
   class TestPlugin extends Yaf_Plugin_Abstract {
        public function routerStartup(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
            /* before router
               in this hook,  user can do some url rewrite */
            var_dump("routerStartup");
        }
        public function routerShutdown(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
            /* router complete
               in this hook, user can do login check */
            var_dump("routerShutdown");
        }
        public function dispatchLoopStartup(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
            var_dump("dispatchLoopStartup");
        }
        public function preDispatch(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
            var_dump("preDispatch");
        }
        public function postDispatch(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
            var_dump("postDispatch");
        }
        public function dispatchLoopShutdown(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
            /* final hoook
               in this hook user can do loging or implement layout */
            var_dump("dispatchLoopShutdown");
        }
   }

   Class IndexController extends Yaf_Controller_Abstract {
        public function indexAction() {
            return FALSE; //prevent rendering
        }
   }

   $config = array(
       "application" => array(
           "directory" => dirname(__FILE__) . "/application/",
       ),
   );

   $app = new Yaf_Application($config);
   $app->bootstrap()->run();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(13) "routerStartup"
string(14) "routerShutdown"
string(19) "dispatchLoopStartup"
string(11) "preDispatch"
string(12) "postDispatch"
string(20) "dispatchLoopShutdown"

Klassenbeschreibung

Yaf_Plugin_Abstract {
/* Methoden */
public void dispatchLoopShutdown ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )
public void dispatchLoopStartup ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )
public void postDispatch ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )
public void preDispatch ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )
public void preResponse ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )
public void routerShutdown ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )
public void routerStartup ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )
}

Inhaltsverzeichnis

  • Yaf_Plugin_Abstract::dispatchLoopShutdown — The dispatchLoopShutdown purpose
  • Yaf_Plugin_Abstract::dispatchLoopStartup — The dispatchLoopStartup purpose
  • Yaf_Plugin_Abstract::postDispatch — The postDispatch purpose
  • Yaf_Plugin_Abstract::preDispatch — The preDispatch purpose
  • Yaf_Plugin_Abstract::preResponse — The preResponse purpose
  • Yaf_Plugin_Abstract::routerShutdown — The routerShutdown purpose
  • Yaf_Plugin_Abstract::routerStartup — RouterStartup hook
Yaf_Loader::__wakeup
Yaf_Plugin_Abstract::dispatchLoopShutdown
Yaf


The dispatchLoopShutdown purpose

Yaf_Plugin_Abstract
Yaf_Plugin_Abstract::dispatchLoopStartup
Yaf_Plugin_Abstract
PHP Manual

Yaf_Plugin_Abstract::dispatchLoopShutdown

(Yaf >=1.0.0)

Yaf_Plugin_Abstract::dispatchLoopShutdown — The dispatchLoopShutdown purpose

Beschreibung

public void Yaf_Plugin_Abstract::dispatchLoopShutdown ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )

This is the latest hook in Yaf plugin hook system, if a custom plugin implement this method, then it will be called after the dispatch loop finished.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

request

response

Rückgabewerte

Siehe auch

  • Yaf_Plugin_Abstract::routerStartup() - RouterStartup hook
  • Yaf_Plugin_Abstract::routerShutdown() - The routerShutdown purpose
  • Yaf_Plugin_Abstract::dispatchLoopStartup() - The dispatchLoopStartup purpose
  • Yaf_Plugin_Abstract::preDispatch() - The preDispatch purpose
  • Yaf_Plugin_Abstract::postDispatch() - The postDispatch purpose
Yaf_Plugin_Abstract
Yaf_Plugin_Abstract::dispatchLoopStartup
Yaf_Plugin_Abstract


The dispatchLoopStartup purpose

Yaf_Plugin_Abstract::dispatchLoopShutdown
Yaf_Plugin_Abstract::postDispatch
Yaf_Plugin_Abstract
PHP Manual

Yaf_Plugin_Abstract::dispatchLoopStartup

(Yaf >=1.0.0)

Yaf_Plugin_Abstract::dispatchLoopStartup — The dispatchLoopStartup purpose

Beschreibung

public void Yaf_Plugin_Abstract::dispatchLoopStartup ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

request

response

Rückgabewerte

Yaf_Plugin_Abstract::dispatchLoopShutdown
Yaf_Plugin_Abstract::postDispatch
Yaf_Plugin_Abstract


The postDispatch purpose

Yaf_Plugin_Abstract::dispatchLoopStartup
Yaf_Plugin_Abstract::preDispatch
Yaf_Plugin_Abstract
PHP Manual

Yaf_Plugin_Abstract::postDispatch

(Yaf >=1.0.0)

Yaf_Plugin_Abstract::postDispatch — The postDispatch purpose

Beschreibung

public void Yaf_Plugin_Abstract::postDispatch ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

request

response

Rückgabewerte

Yaf_Plugin_Abstract::dispatchLoopStartup
Yaf_Plugin_Abstract::preDispatch
Yaf_Plugin_Abstract


The preDispatch purpose

Yaf_Plugin_Abstract::postDispatch
Yaf_Plugin_Abstract::preResponse
Yaf_Plugin_Abstract
PHP Manual

Yaf_Plugin_Abstract::preDispatch

(Yaf >=1.0.0)

Yaf_Plugin_Abstract::preDispatch — The preDispatch purpose

Beschreibung

public void Yaf_Plugin_Abstract::preDispatch ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

request

response

Rückgabewerte

Yaf_Plugin_Abstract::postDispatch
Yaf_Plugin_Abstract::preResponse
Yaf_Plugin_Abstract


The preResponse purpose

Yaf_Plugin_Abstract::preDispatch
Yaf_Plugin_Abstract::routerShutdown
Yaf_Plugin_Abstract
PHP Manual

Yaf_Plugin_Abstract::preResponse

(Yaf >=1.0.0)

Yaf_Plugin_Abstract::preResponse — The preResponse purpose

Beschreibung

public void Yaf_Plugin_Abstract::preResponse ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

request

response

Rückgabewerte

Yaf_Plugin_Abstract::preDispatch
Yaf_Plugin_Abstract::routerShutdown
Yaf_Plugin_Abstract


The routerShutdown purpose

Yaf_Plugin_Abstract::preResponse
Yaf_Plugin_Abstract::routerStartup
Yaf_Plugin_Abstract
PHP Manual

Yaf_Plugin_Abstract::routerShutdown

(Yaf >=1.0.0)

Yaf_Plugin_Abstract::routerShutdown — The routerShutdown purpose

Beschreibung

public void Yaf_Plugin_Abstract::routerShutdown ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )

This hook will be trigged after the route process finished, this hook is usually used for login check.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

request

response

Rückgabewerte

Beispiele

Beispiel #1 Yaf_Plugin_Abstract::routerShutdown()example

<?php
class UserInitPlugin extends Yaf_Plugin_Abstract {

    public function routerShutdown(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
        $controller = $request->getControllerName();

        /**
         * Use access controller is unecessary for APIs
         */
        if (in_array(strtolower($controller), array(
            'api',
        ))) {
            return TRUE;
        }

        if (Yaf_Session::getInstance()->has("login")) {
            return TRUE;
        }

        /* Use access check failed, need to login */
        $response->redirect("http://yourdomain.com/login/");
        return FALSE;
    }
?>

Siehe auch

  • Yaf_Plugin_Abstract::routerStartup() - RouterStartup hook
  • Yaf_Plugin_Abstract::dispatchLoopStartup() - The dispatchLoopStartup purpose
  • Yaf_Plugin_Abstract::preDispatch() - The preDispatch purpose
  • Yaf_Plugin_Abstract::postDispatch() - The postDispatch purpose
  • Yaf_Plugin_Abstract::dispatchLoopShutdown() - The dispatchLoopShutdown purpose
Yaf_Plugin_Abstract::preResponse
Yaf_Plugin_Abstract::routerStartup
Yaf_Plugin_Abstract


RouterStartup hook

Yaf_Plugin_Abstract::routerShutdown
Yaf_Registry
Yaf_Plugin_Abstract
PHP Manual

Yaf_Plugin_Abstract::routerStartup

(Yaf >=1.0.0)

Yaf_Plugin_Abstract::routerStartup — RouterStartup hook

Beschreibung

public void Yaf_Plugin_Abstract::routerStartup ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response )

This is the earliest hook in Yaf plugin hook system, if a custom plugin implement this method, then it will be called before routing a request.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

request

response

Rückgabewerte

Siehe auch

  • Yaf_Plugin_Abstract::routerShutdown() - The routerShutdown purpose
  • Yaf_Plugin_Abstract::dispatchLoopStartup() - The dispatchLoopStartup purpose
  • Yaf_Plugin_Abstract::preDispatch() - The preDispatch purpose
  • Yaf_Plugin_Abstract::postDispatch() - The postDispatch purpose
  • Yaf_Plugin_Abstract::dispatchLoopShutdown() - The dispatchLoopShutdown purpose
Yaf_Plugin_Abstract::routerShutdown
Yaf_Registry
Yaf_Plugin_Abstract


The Yaf_Registry class

(Yaf >=1.0.0)

Einführung

All methods of Yaf_Registry declared as static, making it unversally accessible. This provides the ability to get or set any custom data from anyway in your code as necessary.

Klassenbeschreibung

Yaf_Registry {
/* Eigenschaften */
static $_instance ;
protected $_entries ;
/* Methoden */
private void __clone ( void )
private __construct ( void )
public static void del ( string $name )
public static mixed get ( string $name )
public static bool has ( string $name )
public static bool set ( string $name , string $value )
}

Eigenschaften

_instance

_entries

Inhaltsverzeichnis

  • Yaf_Registry::__clone — The __clone purpose
  • Yaf_Registry::__construct — Yaf_Registry implements singleton
  • Yaf_Registry::del — Remove an item from registry
  • Yaf_Registry::get — Retrieve an item from registry
  • Yaf_Registry::has — Check whether an item exists
  • Yaf_Registry::set — Add an item into registry
Yaf_Plugin_Abstract::routerStartup
Yaf_Registry::__clone
Yaf


The __clone purpose

Yaf_Registry
Yaf_Registry::__construct
Yaf_Registry
PHP Manual

Yaf_Registry::__clone

(Yaf >=1.0.0)

Yaf_Registry::__clone — The __clone purpose

Beschreibung

private void Yaf_Registry::__clone ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Registry
Yaf_Registry::__construct
Yaf_Registry


Yaf_Registry implements singleton

Yaf_Registry::__clone
Yaf_Registry::del
Yaf_Registry
PHP Manual

Yaf_Registry::__construct

(Yaf >=1.0.0)

Yaf_Registry::__construct — Yaf_Registry implements singleton

Beschreibung

private Yaf_Registry::__construct ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Registry::__clone
Yaf_Registry::del
Yaf_Registry


Remove an item from registry

Yaf_Registry::__construct
Yaf_Registry::get
Yaf_Registry
PHP Manual

Yaf_Registry::del

(Yaf >=1.0.0)

Yaf_Registry::del — Remove an item from registry

Beschreibung

public static void Yaf_Registry::del ( string $name )

Remove an item from registry

Parameter-Liste

name

Rückgabewerte

Yaf_Registry::__construct
Yaf_Registry::get
Yaf_Registry


Retrieve an item from registry

Yaf_Registry::del
Yaf_Registry::has
Yaf_Registry
PHP Manual

Yaf_Registry::get

(Yaf >=1.0.0)

Yaf_Registry::get — Retrieve an item from registry

Beschreibung

public static mixed Yaf_Registry::get ( string $name )

Retrieve an item from registry

Parameter-Liste

name

Rückgabewerte

Yaf_Registry::del
Yaf_Registry::has
Yaf_Registry


Check whether an item exists

Yaf_Registry::get
Yaf_Registry::set
Yaf_Registry
PHP Manual

Yaf_Registry::has

(Yaf >=1.0.0)

Yaf_Registry::has — Check whether an item exists

Beschreibung

public static bool Yaf_Registry::has ( string $name )

Check whether an item exists

Parameter-Liste

name

Rückgabewerte

Yaf_Registry::get
Yaf_Registry::set
Yaf_Registry


Add an item into registry

Yaf_Registry::has
Yaf_Request_Abstract
Yaf_Registry
PHP Manual

Yaf_Registry::set

(Yaf >=1.0.0)

Yaf_Registry::set — Add an item into registry

Beschreibung

public static bool Yaf_Registry::set ( string $name , string $value )

Add an item into registry

Parameter-Liste

name

value

Rückgabewerte

Yaf_Registry::has
Yaf_Request_Abstract
Yaf_Registry


The Yaf_Request_Abstract class

(Yaf >=1.0.0)

Einführung

Klassenbeschreibung

Yaf_Request_Abstract {
/* Constants */
const string SCHEME_HTTP = http ;
const string SCHEME_HTTPS = https ;
/* Eigenschaften */
public $module ;
public $controller ;
public $action ;
public $method ;
protected $params ;
protected $language ;
protected $_exception ;
protected $_base_uri ;
protected $uri ;
protected $dispatched ;
protected $routed ;
/* Methoden */
public void getActionName ( void )
public void getBaseUri ( void )
public void getControllerName ( void )
public void getEnv ( string $name [, string $default ] )
public void getException ( void )
public void getLanguage ( void )
public void getMethod ( void )
public void getModuleName ( void )
public void getParam ( string $name [, string $default ] )
public void getParams ( void )
public void getRequestUri ( void )
public void getServer ( string $name [, string $default ] )
public void isCli ( void )
public void isDispatched ( void )
public void isGet ( void )
public void isHead ( void )
public void isOptions ( void )
public void isPost ( void )
public void isPut ( void )
public void isRouted ( void )
public void isXmlHttpRequest ( void )
public void setActionName ( string $action )
public bool setBaseUri ( string $uir )
public void setControllerName ( string $controller )
public void setDispatched ( void )
public void setModuleName ( string $module )
public void setParam ( string $name [, string $value ] )
public void setRequestUri ( string $uir )
public void setRouted ([ string $flag ] )
}

Eigenschaften

module

controller

action

method

params

language

_exception

_base_uri

uri

dispatched

routed

Vordefinierte Konstanten

Yaf_Request_Abstract::SCHEME_HTTP

Yaf_Request_Abstract::SCHEME_HTTPS

Inhaltsverzeichnis

  • Yaf_Request_Abstract::getActionName — The getActionName purpose
  • Yaf_Request_Abstract::getBaseUri — The getBaseUri purpose
  • Yaf_Request_Abstract::getControllerName — The getControllerName purpose
  • Yaf_Request_Abstract::getEnv — Retrieve ENV varialbe
  • Yaf_Request_Abstract::getException — The getException purpose
  • Yaf_Request_Abstract::getLanguage — The getLanguage purpose
  • Yaf_Request_Abstract::getMethod — The getMethod purpose
  • Yaf_Request_Abstract::getModuleName — The getModuleName purpose
  • Yaf_Request_Abstract::getParam — The getParam purpose
  • Yaf_Request_Abstract::getParams — The getParams purpose
  • Yaf_Request_Abstract::getRequestUri — The getRequestUri purpose
  • Yaf_Request_Abstract::getServer — Retrieve SERVER variable
  • Yaf_Request_Abstract::isCli — The isCli purpose
  • Yaf_Request_Abstract::isDispatched — The isDispatched purpose
  • Yaf_Request_Abstract::isGet — The isGet purpose
  • Yaf_Request_Abstract::isHead — The isHead purpose
  • Yaf_Request_Abstract::isOptions — The isOptions purpose
  • Yaf_Request_Abstract::isPost — The isPost purpose
  • Yaf_Request_Abstract::isPut — The isPut purpose
  • Yaf_Request_Abstract::isRouted — The isRouted purpose
  • Yaf_Request_Abstract::isXmlHttpRequest — The isXmlHttpRequest purpose
  • Yaf_Request_Abstract::setActionName — The setActionName purpose
  • Yaf_Request_Abstract::setBaseUri — set base URI
  • Yaf_Request_Abstract::setControllerName — The setControllerName purpose
  • Yaf_Request_Abstract::setDispatched — The setDispatched purpose
  • Yaf_Request_Abstract::setModuleName — The setModuleName purpose
  • Yaf_Request_Abstract::setParam — The setParam purpose
  • Yaf_Request_Abstract::setRequestUri — The setRequestUri purpose
  • Yaf_Request_Abstract::setRouted — The setRouted purpose
Yaf_Registry::set
Yaf_Request_Abstract::getActionName
Yaf


The getActionName purpose

Yaf_Request_Abstract
Yaf_Request_Abstract::getBaseUri
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::getActionName

(Yaf >=1.0.0)

Yaf_Request_Abstract::getActionName — The getActionName purpose

Beschreibung

public void Yaf_Request_Abstract::getActionName ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Request_Abstract
Yaf_Request_Abstract::getBaseUri
Yaf_Request_Abstract


The getBaseUri purpose

Yaf_Request_Abstract::getActionName
Yaf_Request_Abstract::getControllerName
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::getBaseUri

(Yaf >=1.0.0)

Yaf_Request_Abstract::getBaseUri — The getBaseUri purpose

Beschreibung

public void Yaf_Request_Abstract::getBaseUri ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Request_Abstract::getActionName
Yaf_Request_Abstract::getControllerName
Yaf_Request_Abstract


The getControllerName purpose

Yaf_Request_Abstract::getBaseUri
Yaf_Request_Abstract::getEnv
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::getControllerName

(Yaf >=1.0.0)

Yaf_Request_Abstract::getControllerName — The getControllerName purpose

Beschreibung

public void Yaf_Request_Abstract::getControllerName ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Request_Abstract::getBaseUri
Yaf_Request_Abstract::getEnv
Yaf_Request_Abstract


Retrieve ENV varialbe

Yaf_Request_Abstract::getControllerName
Yaf_Request_Abstract::getException
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::getEnv

(Yaf >=1.0.0)

Yaf_Request_Abstract::getEnv — Retrieve ENV varialbe

Beschreibung

public void Yaf_Request_Abstract::getEnv ( string $name [, string $default ] )

Retrieve ENV variable

Parameter-Liste

name

the variable name

default

if this parameter is provide, this will be returned if the varialbe can not be found

Rückgabewerte

Siehe auch

  • Yaf_Request_Abstract::getServer
  • Yaf_Request_Abstract::getParam
Yaf_Request_Abstract::getControllerName
Yaf_Request_Abstract::getException
Yaf_Request_Abstract


The getException purpose

Yaf_Request_Abstract::getEnv
Yaf_Request_Abstract::getLanguage
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::getException

(Yaf >=1.0.0)

Yaf_Request_Abstract::getException — The getException purpose

Beschreibung

public void Yaf_Request_Abstract::getException ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Request_Abstract::getEnv
Yaf_Request_Abstract::getLanguage
Yaf_Request_Abstract


The getLanguage purpose

Yaf_Request_Abstract::getException
Yaf_Request_Abstract::getMethod
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::getLanguage

(Yaf >=1.0.0)

Yaf_Request_Abstract::getLanguage — The getLanguage purpose

Beschreibung

public void Yaf_Request_Abstract::getLanguage ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Request_Abstract::getException
Yaf_Request_Abstract::getMethod
Yaf_Request_Abstract


The getMethod purpose

Yaf_Request_Abstract::getLanguage
Yaf_Request_Abstract::getModuleName
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::getMethod

(Yaf >=1.0.0)

Yaf_Request_Abstract::getMethod — The getMethod purpose

Beschreibung

public void Yaf_Request_Abstract::getMethod ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Request_Abstract::getLanguage
Yaf_Request_Abstract::getModuleName
Yaf_Request_Abstract


The getModuleName purpose

Yaf_Request_Abstract::getMethod
Yaf_Request_Abstract::getParam
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::getModuleName

(Yaf >=1.0.0)

Yaf_Request_Abstract::getModuleName — The getModuleName purpose

Beschreibung

public void Yaf_Request_Abstract::getModuleName ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Request_Abstract::getMethod
Yaf_Request_Abstract::getParam
Yaf_Request_Abstract


The getParam purpose

Yaf_Request_Abstract::getModuleName
Yaf_Request_Abstract::getParams
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::getParam

(Yaf >=1.0.0)

Yaf_Request_Abstract::getParam — The getParam purpose

Beschreibung

public void Yaf_Request_Abstract::getParam ( string $name [, string $default ] )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

name

default

Rückgabewerte

Yaf_Request_Abstract::getModuleName
Yaf_Request_Abstract::getParams
Yaf_Request_Abstract


The getParams purpose

Yaf_Request_Abstract::getParam
Yaf_Request_Abstract::getRequestUri
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::getParams

(Yaf >=1.0.0)

Yaf_Request_Abstract::getParams — The getParams purpose

Beschreibung

public void Yaf_Request_Abstract::getParams ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Request_Abstract::getParam
Yaf_Request_Abstract::getRequestUri
Yaf_Request_Abstract


The getRequestUri purpose

Yaf_Request_Abstract::getParams
Yaf_Request_Abstract::getServer
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::getRequestUri

(Yaf >=1.0.0)

Yaf_Request_Abstract::getRequestUri — The getRequestUri purpose

Beschreibung

public void Yaf_Request_Abstract::getRequestUri ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Request_Abstract::getParams
Yaf_Request_Abstract::getServer
Yaf_Request_Abstract


Retrieve SERVER variable

Yaf_Request_Abstract::getRequestUri
Yaf_Request_Abstract::isCli
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::getServer

(Yaf >=1.0.0)

Yaf_Request_Abstract::getServer — Retrieve SERVER variable

Beschreibung

public void Yaf_Request_Abstract::getServer ( string $name [, string $default ] )

Retrieve SERVER variable

Parameter-Liste

name

the variable name

default

if this parameter is provide, this will be returned if the variable can not be found

Rückgabewerte

Siehe auch

  • Yaf_Request_Abstract::getParam
  • Yaf_Request_Abstract::getEnv
Yaf_Request_Abstract::getRequestUri
Yaf_Request_Abstract::isCli
Yaf_Request_Abstract


The isCli purpose

Yaf_Request_Abstract::getServer
Yaf_Request_Abstract::isDispatched
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::isCli

(Yaf >=1.0.0)

Yaf_Request_Abstract::isCli — The isCli purpose

Beschreibung

public void Yaf_Request_Abstract::isCli ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Request_Abstract::getServer
Yaf_Request_Abstract::isDispatched
Yaf_Request_Abstract


The isDispatched purpose

Yaf_Request_Abstract::isCli
Yaf_Request_Abstract::isGet
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::isDispatched

(Yaf >=1.0.0)

Yaf_Request_Abstract::isDispatched — The isDispatched purpose

Beschreibung

public void Yaf_Request_Abstract::isDispatched ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Request_Abstract::isCli
Yaf_Request_Abstract::isGet
Yaf_Request_Abstract


The isGet purpose

Yaf_Request_Abstract::isDispatched
Yaf_Request_Abstract::isHead
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::isGet

(Yaf >=1.0.0)

Yaf_Request_Abstract::isGet — The isGet purpose

Beschreibung

public void Yaf_Request_Abstract::isGet ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Request_Abstract::isDispatched
Yaf_Request_Abstract::isHead
Yaf_Request_Abstract


The isHead purpose

Yaf_Request_Abstract::isGet
Yaf_Request_Abstract::isOptions
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::isHead

(Yaf >=1.0.0)

Yaf_Request_Abstract::isHead — The isHead purpose

Beschreibung

public void Yaf_Request_Abstract::isHead ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Request_Abstract::isGet
Yaf_Request_Abstract::isOptions
Yaf_Request_Abstract


The isOptions purpose

Yaf_Request_Abstract::isHead
Yaf_Request_Abstract::isPost
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::isOptions

(Yaf >=1.0.0)

Yaf_Request_Abstract::isOptions — The isOptions purpose

Beschreibung

public void Yaf_Request_Abstract::isOptions ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Request_Abstract::isHead
Yaf_Request_Abstract::isPost
Yaf_Request_Abstract


The isPost purpose

Yaf_Request_Abstract::isOptions
Yaf_Request_Abstract::isPut
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::isPost

(Yaf >=1.0.0)

Yaf_Request_Abstract::isPost — The isPost purpose

Beschreibung

public void Yaf_Request_Abstract::isPost ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Request_Abstract::isOptions
Yaf_Request_Abstract::isPut
Yaf_Request_Abstract


The isPut purpose

Yaf_Request_Abstract::isPost
Yaf_Request_Abstract::isRouted
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::isPut

(Yaf >=1.0.0)

Yaf_Request_Abstract::isPut — The isPut purpose

Beschreibung

public void Yaf_Request_Abstract::isPut ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Request_Abstract::isPost
Yaf_Request_Abstract::isRouted
Yaf_Request_Abstract


The isRouted purpose

Yaf_Request_Abstract::isPut
Yaf_Request_Abstract::isXmlHttpRequest
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::isRouted

(Yaf >=1.0.0)

Yaf_Request_Abstract::isRouted — The isRouted purpose

Beschreibung

public void Yaf_Request_Abstract::isRouted ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Request_Abstract::isPut
Yaf_Request_Abstract::isXmlHttpRequest
Yaf_Request_Abstract


The isXmlHttpRequest purpose

Yaf_Request_Abstract::isRouted
Yaf_Request_Abstract::setActionName
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::isXmlHttpRequest

(Yaf >=1.0.0)

Yaf_Request_Abstract::isXmlHttpRequest — The isXmlHttpRequest purpose

Beschreibung

public void Yaf_Request_Abstract::isXmlHttpRequest ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Request_Abstract::isRouted
Yaf_Request_Abstract::setActionName
Yaf_Request_Abstract


The setActionName purpose

Yaf_Request_Abstract::isXmlHttpRequest
Yaf_Request_Abstract::setBaseUri
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::setActionName

(Yaf >=1.0.0)

Yaf_Request_Abstract::setActionName — The setActionName purpose

Beschreibung

public void Yaf_Request_Abstract::setActionName ( string $action )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

action

Rückgabewerte

Yaf_Request_Abstract::isXmlHttpRequest
Yaf_Request_Abstract::setBaseUri
Yaf_Request_Abstract


set base URI

Yaf_Request_Abstract::setActionName
Yaf_Request_Abstract::setControllerName
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::setBaseUri

(Yaf >=1.0.0)

Yaf_Request_Abstract::setBaseUri — set base URI

Beschreibung

public bool Yaf_Request_Abstract::setBaseUri ( string $uir )

Set base URI, base URI is used when doing routing, in routing phase request URI is used to route a request, while base URI is used to skip the leadding part(base URI) of request URI. That is, if comes a request with request URI a/b/c, then if you set base URI to "a/b", only "/c" will be used in routing phase.

Hinweis:

generally, you don't need to set this, Yaf will determine it automatically.

Parameter-Liste

uir

base URI

Rückgabewerte

bool

Yaf_Request_Abstract::setActionName
Yaf_Request_Abstract::setControllerName
Yaf_Request_Abstract


The setControllerName purpose

Yaf_Request_Abstract::setBaseUri
Yaf_Request_Abstract::setDispatched
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::setControllerName

(Yaf >=1.0.0)

Yaf_Request_Abstract::setControllerName — The setControllerName purpose

Beschreibung

public void Yaf_Request_Abstract::setControllerName ( string $controller )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

controller

Rückgabewerte

Yaf_Request_Abstract::setBaseUri
Yaf_Request_Abstract::setDispatched
Yaf_Request_Abstract


The setDispatched purpose

Yaf_Request_Abstract::setControllerName
Yaf_Request_Abstract::setModuleName
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::setDispatched

(Yaf >=1.0.0)

Yaf_Request_Abstract::setDispatched — The setDispatched purpose

Beschreibung

public void Yaf_Request_Abstract::setDispatched ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Request_Abstract::setControllerName
Yaf_Request_Abstract::setModuleName
Yaf_Request_Abstract


The setModuleName purpose

Yaf_Request_Abstract::setDispatched
Yaf_Request_Abstract::setParam
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::setModuleName

(Yaf >=1.0.0)

Yaf_Request_Abstract::setModuleName — The setModuleName purpose

Beschreibung

public void Yaf_Request_Abstract::setModuleName ( string $module )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

module

Rückgabewerte

Yaf_Request_Abstract::setDispatched
Yaf_Request_Abstract::setParam
Yaf_Request_Abstract


The setParam purpose

Yaf_Request_Abstract::setModuleName
Yaf_Request_Abstract::setRequestUri
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::setParam

(Yaf >=1.0.0)

Yaf_Request_Abstract::setParam — The setParam purpose

Beschreibung

public void Yaf_Request_Abstract::setParam ( string $name [, string $value ] )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

name

value

Rückgabewerte

Yaf_Request_Abstract::setModuleName
Yaf_Request_Abstract::setRequestUri
Yaf_Request_Abstract


The setRequestUri purpose

Yaf_Request_Abstract::setParam
Yaf_Request_Abstract::setRouted
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::setRequestUri

(Yaf >=2.1.0)

Yaf_Request_Abstract::setRequestUri — The setRequestUri purpose

Beschreibung

public void Yaf_Request_Abstract::setRequestUri ( string $uir )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

uir

Rückgabewerte

Yaf_Request_Abstract::setParam
Yaf_Request_Abstract::setRouted
Yaf_Request_Abstract


The setRouted purpose

Yaf_Request_Abstract::setRequestUri
Yaf_Request_Http
Yaf_Request_Abstract
PHP Manual

Yaf_Request_Abstract::setRouted

(Yaf >=1.0.0)

Yaf_Request_Abstract::setRouted — The setRouted purpose

Beschreibung

public void Yaf_Request_Abstract::setRouted ([ string $flag ] )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

flag

Rückgabewerte

Yaf_Request_Abstract::setRequestUri
Yaf_Request_Http
Yaf_Request_Abstract


The Yaf_Request_Http class

(Yaf >=1.0.0)

Einführung

Any request from client is initialized as a Yaf_Request_Http. you can get the rquest infomations like, uri query and post parameters via methods of this class.

Hinweis:

For security, $_GET/$_POST are readonly in Yaf, which means if you set a value to these global variables, you can not get it from Yaf_Request_Http::getQurey() or Yaf_Request_Http::getPost().

But there do is some usage need such feature, like unit testing. thus Yaf can be built with --enable-yaf-debug, which will allow Yaf read the value user set via script.

in such case, Yaf will throw a E_STRICT warning to remind you about that: Strict Standards: you are running yaf in debug mode

Klassenbeschreibung

Yaf_Request_Http extends Yaf_Request_Abstract {
/* Eigenschaften */
/* Methoden */
private void __clone ( void )
public __construct ([ string $request_uri [, string $base_uri ]] )
public mixed get ( string $name [, string $default ] )
public mixed getCookie ( string $name [, string $default ] )
public void getFiles ( void )
public mixed getPost ( string $name [, string $default ] )
public mixed getQuery ( string $name [, string $default ] )
public void getRequest ( void )
public bool isXmlHttpRequest ( void )
/* Geerbte Methoden */
public void Yaf_Request_Abstract::getActionName ( void )
public void Yaf_Request_Abstract::getBaseUri ( void )
public void Yaf_Request_Abstract::getControllerName ( void )
public void Yaf_Request_Abstract::getEnv ( string $name [, string $default ] )
public void Yaf_Request_Abstract::getException ( void )
public void Yaf_Request_Abstract::getLanguage ( void )
public void Yaf_Request_Abstract::getMethod ( void )
public void Yaf_Request_Abstract::getModuleName ( void )
public void Yaf_Request_Abstract::getParam ( string $name [, string $default ] )
public void Yaf_Request_Abstract::getParams ( void )
public void Yaf_Request_Abstract::getRequestUri ( void )
public void Yaf_Request_Abstract::getServer ( string $name [, string $default ] )
public void Yaf_Request_Abstract::isCli ( void )
public void Yaf_Request_Abstract::isDispatched ( void )
public void Yaf_Request_Abstract::isGet ( void )
public void Yaf_Request_Abstract::isHead ( void )
public void Yaf_Request_Abstract::isOptions ( void )
public void Yaf_Request_Abstract::isPost ( void )
public void Yaf_Request_Abstract::isPut ( void )
public void Yaf_Request_Abstract::isRouted ( void )
public void Yaf_Request_Abstract::isXmlHttpRequest ( void )
public void Yaf_Request_Abstract::setActionName ( string $action )
public bool Yaf_Request_Abstract::setBaseUri ( string $uir )
public void Yaf_Request_Abstract::setControllerName ( string $controller )
public void Yaf_Request_Abstract::setDispatched ( void )
public void Yaf_Request_Abstract::setModuleName ( string $module )
public void Yaf_Request_Abstract::setParam ( string $name [, string $value ] )
public void Yaf_Request_Abstract::setRequestUri ( string $uir )
public void Yaf_Request_Abstract::setRouted ([ string $flag ] )
}

Eigenschaften

module

controller

action

method

params

language

_exception

_base_uri

uri

dispatched

routed

Inhaltsverzeichnis

  • Yaf_Request_Http::__clone — The __clone purpose
  • Yaf_Request_Http::__construct — Constructor of Yaf_Request_Http
  • Yaf_Request_Http::get — Retrieve variable from client
  • Yaf_Request_Http::getCookie — Retrieve Cookie variable
  • Yaf_Request_Http::getFiles — The getFiles purpose
  • Yaf_Request_Http::getPost — Retrieve POST variable
  • Yaf_Request_Http::getQuery — Fetch a query parameter
  • Yaf_Request_Http::getRequest — The getRequest purpose
  • Yaf_Request_Http::isXmlHttpRequest — Whether a Ajax Request
Yaf_Request_Abstract::setRouted
Yaf_Request_Http::__clone
Yaf


The __clone purpose

Yaf_Request_Http
Yaf_Request_Http::__construct
Yaf_Request_Http
PHP Manual

Yaf_Request_Http::__clone

(Yaf >=1.0.0)

Yaf_Request_Http::__clone — The __clone purpose

Beschreibung

private void Yaf_Request_Http::__clone ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Request_Http
Yaf_Request_Http::__construct
Yaf_Request_Http


Constructor of Yaf_Request_Http

Yaf_Request_Http::__clone
Yaf_Request_Http::get
Yaf_Request_Http
PHP Manual

Yaf_Request_Http::__construct

(Yaf >=1.0.0)

Yaf_Request_Http::__construct — Constructor of Yaf_Request_Http

Beschreibung

public Yaf_Request_Http::__construct ([ string $request_uri [, string $base_uri ]] )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Request_Http::__clone
Yaf_Request_Http::get
Yaf_Request_Http


Retrieve variable from client

Yaf_Request_Http::__construct
Yaf_Request_Http::getCookie
Yaf_Request_Http
PHP Manual

Yaf_Request_Http::get

(Yaf >=1.0.0)

Yaf_Request_Http::get — Retrieve variable from client

Beschreibung

public mixed Yaf_Request_Http::get ( string $name [, string $default ] )

Retrieve variable from client, this method will search the name in request pramas, if the name is not found, then will search in POST, GET, Cookie, Server

Parameter-Liste

name

the variable name

default

if this parameter is provide, this will be returned if the varialbe can not be found

Rückgabewerte

Siehe auch

  • Yaf_Request_Http::getQuery
  • Yaf_Request_Http::getPost
  • Yaf_Request_Http::getCookie
  • Yaf_Request_Http::getServer
  • Yaf_Request_Http::getParam
Yaf_Request_Http::__construct
Yaf_Request_Http::getCookie
Yaf_Request_Http


Retrieve Cookie variable

Yaf_Request_Http::get
Yaf_Request_Http::getFiles
Yaf_Request_Http
PHP Manual

Yaf_Request_Http::getCookie

(Yaf >=1.0.0)

Yaf_Request_Http::getCookie — Retrieve Cookie variable

Beschreibung

public mixed Yaf_Request_Http::getCookie ( string $name [, string $default ] )

Retrieve Cookie variable

Parameter-Liste

name

the cookie name

default

if this parameter is provide, this will be returned if the cookie can not be found

Rückgabewerte

Siehe auch

  • Yaf_Request_Http::get
  • Yaf_Request_Http::getQuery
  • Yaf_Request_Http::getPost
  • Yaf_Request_Http::getServer
  • Yaf_Request_Http::getParam
Yaf_Request_Http::get
Yaf_Request_Http::getFiles
Yaf_Request_Http


The getFiles purpose

Yaf_Request_Http::getCookie
Yaf_Request_Http::getPost
Yaf_Request_Http
PHP Manual

Yaf_Request_Http::getFiles

(Yaf >=1.0.0)

Yaf_Request_Http::getFiles — The getFiles purpose

Beschreibung

public void Yaf_Request_Http::getFiles ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Request_Http::getCookie
Yaf_Request_Http::getPost
Yaf_Request_Http


Retrieve POST variable

Yaf_Request_Http::getFiles
Yaf_Request_Http::getQuery
Yaf_Request_Http
PHP Manual

Yaf_Request_Http::getPost

(Yaf >=1.0.0)

Yaf_Request_Http::getPost — Retrieve POST variable

Beschreibung

public mixed Yaf_Request_Http::getPost ( string $name [, string $default ] )

Retrieve POST variable

Parameter-Liste

name

the variable name

default

if this parameter is provide, this will be returned if the varialbe can not be found

Rückgabewerte

Siehe auch

  • Yaf_Request_Http::get
  • Yaf_Request_Http::getQuery
  • Yaf_Request_Http::getCookie
  • Yaf_Request_Http::getServer
  • Yaf_Request_Http::getParam
Yaf_Request_Http::getFiles
Yaf_Request_Http::getQuery
Yaf_Request_Http


Fetch a query parameter

Yaf_Request_Http::getPost
Yaf_Request_Http::getRequest
Yaf_Request_Http
PHP Manual

Yaf_Request_Http::getQuery

(Yaf >=1.0.0)

Yaf_Request_Http::getQuery — Fetch a query parameter

Beschreibung

public mixed Yaf_Request_Http::getQuery ( string $name [, string $default ] )

Retrieve GET variable

Parameter-Liste

name

the variable name

default

if this parameter is provide, this will be returned if the variable can not be found

Rückgabewerte

Siehe auch

  • Yaf_Request_Http::get
  • Yaf_Request_Http::getPost
  • Yaf_Request_Http::getCookie
  • Yaf_Request_Http::getServer
  • Yaf_Request_Http::getParam
Yaf_Request_Http::getPost
Yaf_Request_Http::getRequest
Yaf_Request_Http


The getRequest purpose

Yaf_Request_Http::getQuery
Yaf_Request_Http::isXmlHttpRequest
Yaf_Request_Http
PHP Manual

Yaf_Request_Http::getRequest

(Yaf >=1.0.0)

Yaf_Request_Http::getRequest — The getRequest purpose

Beschreibung

public void Yaf_Request_Http::getRequest ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Request_Http::getQuery
Yaf_Request_Http::isXmlHttpRequest
Yaf_Request_Http


Whether a Ajax Request

Yaf_Request_Http::getRequest
Yaf_Request_Simple
Yaf_Request_Http
PHP Manual

Yaf_Request_Http::isXmlHttpRequest

(Yaf >=1.0.0)

Yaf_Request_Http::isXmlHttpRequest — Whether a Ajax Request

Beschreibung

public bool Yaf_Request_Http::isXmlHttpRequest ( void )

Check the request whether it is a Ajax Request.

Hinweis:

This method depends on the request header: HTTP_X_REQUESTED_WITH, some Javascript library doesn't set this header while doing Ajax request

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Request_Http::getRequest
Yaf_Request_Simple
Yaf_Request_Http


The Yaf_Request_Simple class

(Yaf >=1.0.0)

Einführung

Yaf_Request_Simple is particularlly used for test puporse. ie. simulate some espacial request under CLI mode.

Klassenbeschreibung

Yaf_Request_Simple extends Yaf_Request_Abstract {
/* Constants */
const string SCHEME_HTTP = http ;
const string SCHEME_HTTPS = https ;
/* Eigenschaften */
/* Methoden */
private void __clone ( void )
public __construct ([ string $method [, string $module [, string $controller [, string $action [, array $params ]]]]] )
public void get ( void )
public void getCookie ( void )
public void getFiles ( void )
public void getPost ( void )
public void getQuery ( void )
public void getRequest ( void )
public void isXmlHttpRequest ( void )
/* Geerbte Methoden */
public void Yaf_Request_Abstract::getActionName ( void )
public void Yaf_Request_Abstract::getBaseUri ( void )
public void Yaf_Request_Abstract::getControllerName ( void )
public void Yaf_Request_Abstract::getEnv ( string $name [, string $default ] )
public void Yaf_Request_Abstract::getException ( void )
public void Yaf_Request_Abstract::getLanguage ( void )
public void Yaf_Request_Abstract::getMethod ( void )
public void Yaf_Request_Abstract::getModuleName ( void )
public void Yaf_Request_Abstract::getParam ( string $name [, string $default ] )
public void Yaf_Request_Abstract::getParams ( void )
public void Yaf_Request_Abstract::getRequestUri ( void )
public void Yaf_Request_Abstract::getServer ( string $name [, string $default ] )
public void Yaf_Request_Abstract::isCli ( void )
public void Yaf_Request_Abstract::isDispatched ( void )
public void Yaf_Request_Abstract::isGet ( void )
public void Yaf_Request_Abstract::isHead ( void )
public void Yaf_Request_Abstract::isOptions ( void )
public void Yaf_Request_Abstract::isPost ( void )
public void Yaf_Request_Abstract::isPut ( void )
public void Yaf_Request_Abstract::isRouted ( void )
public void Yaf_Request_Abstract::isXmlHttpRequest ( void )
public void Yaf_Request_Abstract::setActionName ( string $action )
public bool Yaf_Request_Abstract::setBaseUri ( string $uir )
public void Yaf_Request_Abstract::setControllerName ( string $controller )
public void Yaf_Request_Abstract::setDispatched ( void )
public void Yaf_Request_Abstract::setModuleName ( string $module )
public void Yaf_Request_Abstract::setParam ( string $name [, string $value ] )
public void Yaf_Request_Abstract::setRequestUri ( string $uir )
public void Yaf_Request_Abstract::setRouted ([ string $flag ] )
}

Eigenschaften

module

controller

action

method

params

language

_exception

_base_uri

uri

dispatched

routed

Vordefinierte Konstanten

Yaf_Request_Simple::SCHEME_HTTP

Yaf_Request_Simple::SCHEME_HTTPS

Inhaltsverzeichnis

  • Yaf_Request_Simple::__clone — The __clone purpose
  • Yaf_Request_Simple::__construct — Constructor of Yaf_Request_Simple
  • Yaf_Request_Simple::get — The get purpose
  • Yaf_Request_Simple::getCookie — The getCookie purpose
  • Yaf_Request_Simple::getFiles — The getFiles purpose
  • Yaf_Request_Simple::getPost — The getPost purpose
  • Yaf_Request_Simple::getQuery — The getQuery purpose
  • Yaf_Request_Simple::getRequest — The getRequest purpose
  • Yaf_Request_Simple::isXmlHttpRequest — The isXmlHttpRequest purpose
Yaf_Request_Http::isXmlHttpRequest
Yaf_Request_Simple::__clone
Yaf


The __clone purpose

Yaf_Request_Simple
Yaf_Request_Simple::__construct
Yaf_Request_Simple
PHP Manual

Yaf_Request_Simple::__clone

(Yaf >=1.0.0)

Yaf_Request_Simple::__clone — The __clone purpose

Beschreibung

private void Yaf_Request_Simple::__clone ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Request_Simple
Yaf_Request_Simple::__construct
Yaf_Request_Simple


Constructor of Yaf_Request_Simple

Yaf_Request_Simple::__clone
Yaf_Request_Simple::get
Yaf_Request_Simple
PHP Manual

Yaf_Request_Simple::__construct

(Yaf >=1.0.0)

Yaf_Request_Simple::__construct — Constructor of Yaf_Request_Simple

Beschreibung

public Yaf_Request_Simple::__construct ([ string $method [, string $module [, string $controller [, string $action [, array $params ]]]]] )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Request_Simple::__clone
Yaf_Request_Simple::get
Yaf_Request_Simple


The get purpose

Yaf_Request_Simple::__construct
Yaf_Request_Simple::getCookie
Yaf_Request_Simple
PHP Manual

Yaf_Request_Simple::get

(Yaf >=1.0.0)

Yaf_Request_Simple::get — The get purpose

Beschreibung

public void Yaf_Request_Simple::get ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Request_Simple::__construct
Yaf_Request_Simple::getCookie
Yaf_Request_Simple


The getCookie purpose

Yaf_Request_Simple::get
Yaf_Request_Simple::getFiles
Yaf_Request_Simple
PHP Manual

Yaf_Request_Simple::getCookie

(Yaf >=1.0.0)

Yaf_Request_Simple::getCookie — The getCookie purpose

Beschreibung

public void Yaf_Request_Simple::getCookie ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Request_Simple::get
Yaf_Request_Simple::getFiles
Yaf_Request_Simple


The getFiles purpose

Yaf_Request_Simple::getCookie
Yaf_Request_Simple::getPost
Yaf_Request_Simple
PHP Manual

Yaf_Request_Simple::getFiles

(Yaf >=1.0.0)

Yaf_Request_Simple::getFiles — The getFiles purpose

Beschreibung

public void Yaf_Request_Simple::getFiles ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Request_Simple::getCookie
Yaf_Request_Simple::getPost
Yaf_Request_Simple


The getPost purpose

Yaf_Request_Simple::getFiles
Yaf_Request_Simple::getQuery
Yaf_Request_Simple
PHP Manual

Yaf_Request_Simple::getPost

(Yaf >=1.0.0)

Yaf_Request_Simple::getPost — The getPost purpose

Beschreibung

public void Yaf_Request_Simple::getPost ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Request_Simple::getFiles
Yaf_Request_Simple::getQuery
Yaf_Request_Simple


The getQuery purpose

Yaf_Request_Simple::getPost
Yaf_Request_Simple::getRequest
Yaf_Request_Simple
PHP Manual

Yaf_Request_Simple::getQuery

(Yaf >=1.0.0)

Yaf_Request_Simple::getQuery — The getQuery purpose

Beschreibung

public void Yaf_Request_Simple::getQuery ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Request_Simple::getPost
Yaf_Request_Simple::getRequest
Yaf_Request_Simple


The getRequest purpose

Yaf_Request_Simple::getQuery
Yaf_Request_Simple::isXmlHttpRequest
Yaf_Request_Simple
PHP Manual

Yaf_Request_Simple::getRequest

(Yaf >=1.0.0)

Yaf_Request_Simple::getRequest — The getRequest purpose

Beschreibung

public void Yaf_Request_Simple::getRequest ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Request_Simple::getQuery
Yaf_Request_Simple::isXmlHttpRequest
Yaf_Request_Simple


The isXmlHttpRequest purpose

Yaf_Request_Simple::getRequest
Yaf_Response_Abstract
Yaf_Request_Simple
PHP Manual

Yaf_Request_Simple::isXmlHttpRequest

(Yaf >=1.0.0)

Yaf_Request_Simple::isXmlHttpRequest — The isXmlHttpRequest purpose

Beschreibung

public void Yaf_Request_Simple::isXmlHttpRequest ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Request_Simple::getRequest
Yaf_Response_Abstract
Yaf_Request_Simple


The Yaf_Response_Abstract class

(Yaf >=1.0.0)

Einführung

Klassenbeschreibung

Yaf_Response_Abstract {
/* Constants */
const string DEFAULT_BODY = "content" ;
/* Eigenschaften */
protected $_header ;
protected $_body ;
protected $_sendheader ;
/* Methoden */
public bool appendBody ( string $content [, string $key ] )
public bool clearBody ([ string $key ] )
public void clearHeaders ( void )
private void __clone ( void )
public __construct ( void )
public void __destruct ( void )
public mixed getBody ([ string $key ] )
public void getHeader ( void )
public bool prependBody ( string $content [, string $key ] )
public void response ( void )
protected void setAllHeaders ( void )
public bool setBody ( string $content [, string $key ] )
public void setHeader ( void )
public void setRedirect ( void )
private void __toString ( void )
}

Eigenschaften

_header

_body

_sendheader

Inhaltsverzeichnis

  • Yaf_Response_Abstract::appendBody — append to body
  • Yaf_Response_Abstract::clearBody — The clearBody purpose
  • Yaf_Response_Abstract::clearHeaders — The clearHeaders purpose
  • Yaf_Response_Abstract::__clone — The __clone purpose
  • Yaf_Response_Abstract::__construct — The __construct purpose
  • Yaf_Response_Abstract::__destruct — The __destruct purpose
  • Yaf_Response_Abstract::getBody — Retrieve a exists content
  • Yaf_Response_Abstract::getHeader — The getHeader purpose
  • Yaf_Response_Abstract::prependBody — The prependBody purpose
  • Yaf_Response_Abstract::response — send response
  • Yaf_Response_Abstract::setAllHeaders — The setAllHeaders purpose
  • Yaf_Response_Abstract::setBody — Set content to response
  • Yaf_Response_Abstract::setHeader — The setHeader purpose
  • Yaf_Response_Abstract::setRedirect — The setRedirect purpose
  • Yaf_Response_Abstract::__toString — The __toString purpose
Yaf_Request_Simple::isXmlHttpRequest
Yaf_Response_Abstract::appendBody
Yaf


append to body

Yaf_Response_Abstract
Yaf_Response_Abstract::clearBody
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::appendBody

(Yaf >=1.0.0)

Yaf_Response_Abstract::appendBody — append to body

Beschreibung

public bool Yaf_Response_Abstract::appendBody ( string $content [, string $key ] )

append a content to a exists content block

Parameter-Liste

body

content string

key

the content key, you can set a content with a key, if you don't specific, then Yaf_Response_Abstract::DEFAULT_BODY will be used

Hinweis:

this parameter is introduced as of 2.2.0

Rückgabewerte

bool

Beispiele

Beispiel #1 Yaf_Response_Abstract::appendBody()example

<?php
$response = new Yaf_Response_Http();

$response->setBody("Hello")->prependBody(" World");

echo $response;
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Hello World

Siehe auch

  • Yaf_Config_Ini

Siehe auch

  • Yaf_Response_Abstract::getBody() - Retrieve a exists content
  • Yaf_Response_Abstract::setBody() - Set content to response
  • Yaf_Response_Abstract::prependBody() - The prependBody purpose
  • Yaf_Response_Abstract::clearBody() - The clearBody purpose
Yaf_Response_Abstract
Yaf_Response_Abstract::clearBody
Yaf_Response_Abstract


The clearBody purpose

Yaf_Response_Abstract::appendBody
Yaf_Response_Abstract::clearHeaders
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::clearBody

(Yaf >=1.0.0)

Yaf_Response_Abstract::clearBody — The clearBody purpose

Beschreibung

public bool Yaf_Response_Abstract::clearBody ([ string $key ] )

Clear existsed content

Parameter-Liste

key

the content key, if you don't specific, then all contents will be cleared.

Hinweis:

this parameter is introduced as of 2.2.0

Rückgabewerte

Siehe auch

  • Yaf_Response_Abstract::setBody() - Set content to response
  • Yaf_Response_Abstract::appendBody() - append to body
  • Yaf_Response_Abstract::prependBody() - The prependBody purpose
  • Yaf_Response_Abstract::getBody() - Retrieve a exists content
Yaf_Response_Abstract::appendBody
Yaf_Response_Abstract::clearHeaders
Yaf_Response_Abstract


The clearHeaders purpose

Yaf_Response_Abstract::clearBody
Yaf_Response_Abstract::__clone
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::clearHeaders

(Yaf >=1.0.0)

Yaf_Response_Abstract::clearHeaders — The clearHeaders purpose

Beschreibung

public void Yaf_Response_Abstract::clearHeaders ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Response_Abstract::clearBody
Yaf_Response_Abstract::__clone
Yaf_Response_Abstract


The __clone purpose

Yaf_Response_Abstract::clearHeaders
Yaf_Response_Abstract::__construct
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::__clone

(Yaf >=1.0.0)

Yaf_Response_Abstract::__clone — The __clone purpose

Beschreibung

private void Yaf_Response_Abstract::__clone ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Response_Abstract::clearHeaders
Yaf_Response_Abstract::__construct
Yaf_Response_Abstract


The __construct purpose

Yaf_Response_Abstract::__clone
Yaf_Response_Abstract::__destruct
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::__construct

(Yaf >=1.0.0)

Yaf_Response_Abstract::__construct — The __construct purpose

Beschreibung

public Yaf_Response_Abstract::__construct ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Response_Abstract::__clone
Yaf_Response_Abstract::__destruct
Yaf_Response_Abstract


The __destruct purpose

Yaf_Response_Abstract::__construct
Yaf_Response_Abstract::getBody
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::__destruct

(Yaf >=1.0.0)

Yaf_Response_Abstract::__destruct — The __destruct purpose

Beschreibung

public void Yaf_Response_Abstract::__destruct ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Response_Abstract::__construct
Yaf_Response_Abstract::getBody
Yaf_Response_Abstract


Retrieve a exists content

Yaf_Response_Abstract::__destruct
Yaf_Response_Abstract::getHeader
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::getBody

(Yaf >=1.0.0)

Yaf_Response_Abstract::getBody — Retrieve a exists content

Beschreibung

public mixed Yaf_Response_Abstract::getBody ([ string $key ] )

Retrieve a exists content

Parameter-Liste

key

the content key, if you don't specific, then Yaf_Response_Abstract::DEFAULT_BODY will be used. if you pass in a NULL, then all contents will be returned as a array

Hinweis:

this parameter is introduced as of 2.2.0

Rückgabewerte

Beispiele

Beispiel #1 Yaf_Response_Abstract::getBody()example

<?php
$response = new Yaf_Response_Http();

$response->setBody("Hello")->setBody(" World", "footer");

var_dump($response->getBody()); //default
var_dump($response->getBody(Yaf_Response_Abstract::DEFAULT_BODY)); //same as above
var_dump($response->getBody("footer"));
var_dump($response->getBody(NULL)); //get all
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(5) "Hello"
string(5) "Hello"
string(6) " World"
array(2) {
  ["content"]=>
  string(5) "Hello"
  ["footer"]=>
  string(6) " World"
}

Siehe auch

  • Yaf_Response_Abstract::setBody() - Set content to response
  • Yaf_Response_Abstract::appendBody() - append to body
  • Yaf_Response_Abstract::prependBody() - The prependBody purpose
  • Yaf_Response_Abstract::clearBody() - The clearBody purpose
Yaf_Response_Abstract::__destruct
Yaf_Response_Abstract::getHeader
Yaf_Response_Abstract


The getHeader purpose

Yaf_Response_Abstract::getBody
Yaf_Response_Abstract::prependBody
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::getHeader

(Yaf >=1.0.0)

Yaf_Response_Abstract::getHeader — The getHeader purpose

Beschreibung

public void Yaf_Response_Abstract::getHeader ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Response_Abstract::getBody
Yaf_Response_Abstract::prependBody
Yaf_Response_Abstract


The prependBody purpose

Yaf_Response_Abstract::getHeader
Yaf_Response_Abstract::response
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::prependBody

(Yaf >=1.0.0)

Yaf_Response_Abstract::prependBody — The prependBody purpose

Beschreibung

public bool Yaf_Response_Abstract::prependBody ( string $content [, string $key ] )

prepend a content to a exists content block

Parameter-Liste

body

content string

key

the content key, you can set a content with a key, if you don't specific, then Yaf_Response_Abstract::DEFAULT_BODY will be used

Hinweis:

this parameter is introduced as of 2.2.0

Rückgabewerte

bool

Beispiele

Beispiel #1 Yaf_Response_Abstract::prependBody()example

<?php
$response = new Yaf_Response_Http();

$response->setBody("World")->prependBody("Hello ");

echo $response;
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Hello World

Siehe auch

  • Yaf_Response_Abstract::getBody() - Retrieve a exists content
  • Yaf_Response_Abstract::setBody() - Set content to response
  • Yaf_Response_Abstract::appendBody() - append to body
  • Yaf_Response_Abstract::clearBody() - The clearBody purpose
Yaf_Response_Abstract::getHeader
Yaf_Response_Abstract::response
Yaf_Response_Abstract


send response

Yaf_Response_Abstract::prependBody
Yaf_Response_Abstract::setAllHeaders
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::response

(Yaf >=1.0.0)

Yaf_Response_Abstract::response — send response

Beschreibung

public void Yaf_Response_Abstract::response ( void )

send response

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Beispiele

Beispiel #1 Yaf_Response_Abstract::response()example

<?php
$response = new Yaf_Response_Http();

$response->setBody("Hello")->setBody(" World", "footer");

$response->response();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Hello World

Siehe auch

  • Yaf_Response_Abstract::setBody() - Set content to response
  • Yaf_Response_Abstract::clearBody() - The clearBody purpose
Yaf_Response_Abstract::prependBody
Yaf_Response_Abstract::setAllHeaders
Yaf_Response_Abstract


The setAllHeaders purpose

Yaf_Response_Abstract::response
Yaf_Response_Abstract::setBody
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::setAllHeaders

(Yaf >=1.0.0)

Yaf_Response_Abstract::setAllHeaders — The setAllHeaders purpose

Beschreibung

protected void Yaf_Response_Abstract::setAllHeaders ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Response_Abstract::response
Yaf_Response_Abstract::setBody
Yaf_Response_Abstract


Set content to response

Yaf_Response_Abstract::setAllHeaders
Yaf_Response_Abstract::setHeader
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::setBody

(Yaf >=1.0.0)

Yaf_Response_Abstract::setBody — Set content to response

Beschreibung

public bool Yaf_Response_Abstract::setBody ( string $content [, string $key ] )

Set content to response

Parameter-Liste

body

content string

key

the content key, you can set a content with a key, if you don't specific, then Yaf_Response_Abstract::DEFAULT_BODY will be used

Hinweis:

this parameter is introduced as of 2.2.0

Rückgabewerte

Beispiele

Beispiel #1 Yaf_Response_Abstract::setBody()example

<?php
$response = new Yaf_Response_Http();

$response->setBody("Hello")->setBody(" World", "footer");

print_r($response);
echo $response;
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Yaf_Response_Http Object
(
    [_header:protected] => Array
        (
        )

    [_body:protected] => Array
        (
            [content] => Hello
            [footer] =>  World
        )

    [_sendheader:protected] => 1
    [_response_code:protected] => 200
)
Hello World

Siehe auch

  • Yaf_Response_Abstract::getBody() - Retrieve a exists content
  • Yaf_Response_Abstract::appendBody() - append to body
  • Yaf_Response_Abstract::prependBody() - The prependBody purpose
  • Yaf_Response_Abstract::clearBody() - The clearBody purpose
Yaf_Response_Abstract::setAllHeaders
Yaf_Response_Abstract::setHeader
Yaf_Response_Abstract


The setHeader purpose

Yaf_Response_Abstract::setBody
Yaf_Response_Abstract::setRedirect
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::setHeader

(Yaf >=1.0.0)

Yaf_Response_Abstract::setHeader — The setHeader purpose

Beschreibung

public void Yaf_Response_Abstract::setHeader ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Response_Abstract::setBody
Yaf_Response_Abstract::setRedirect
Yaf_Response_Abstract


The setRedirect purpose

Yaf_Response_Abstract::setHeader
Yaf_Response_Abstract::__toString
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::setRedirect

(Yaf >=1.0.0)

Yaf_Response_Abstract::setRedirect — The setRedirect purpose

Beschreibung

public void Yaf_Response_Abstract::setRedirect ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Response_Abstract::setHeader
Yaf_Response_Abstract::__toString
Yaf_Response_Abstract


The __toString purpose

Yaf_Response_Abstract::setRedirect
Yaf_Route_Interface
Yaf_Response_Abstract
PHP Manual

Yaf_Response_Abstract::__toString

(Yaf >=1.0.0)

Yaf_Response_Abstract::__toString — The __toString purpose

Beschreibung

private void Yaf_Response_Abstract::__toString ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Response_Abstract::setRedirect
Yaf_Route_Interface
Yaf_Response_Abstract


The Yaf_Route_Interface class

(Yaf >=1.0.0)

Einführung

Yaf_Route_Interface used for developer defined their custom route.

Klassenbeschreibung

Yaf_Route_Interface {
/* Methoden */
abstract public string assemble ( array $info [, array $query ] )
abstract public bool route ( Yaf_Request_Abstract $request )
}

Inhaltsverzeichnis

  • Yaf_Route_Interface::assemble — assemble a request
  • Yaf_Route_Interface::route — route a request
Yaf_Response_Abstract::__toString
Yaf_Route_Interface::assemble
Yaf


assemble a request

Yaf_Route_Interface
Yaf_Route_Interface::route
Yaf_Route_Interface
PHP Manual

Yaf_Route_Interface::assemble

(Yaf >=2.3.0)

Yaf_Route_Interface::assemble — assemble a request

Beschreibung

abstract public string Yaf_Route_Interface::assemble ( array $info [, array $query ] )

this method returns a url according to the argument info, and append query strings to the url according to the argument query.

a route should implement this method according to its own route rules, and do a reverse progress.

Parameter-Liste

info

query

Rückgabewerte

Yaf_Route_Interface
Yaf_Route_Interface::route
Yaf_Route_Interface


route a request

Yaf_Route_Interface::assemble
Yaf_Route_Map
Yaf_Route_Interface
PHP Manual

Yaf_Route_Interface::route

(Yaf >=1.0.0)

Yaf_Route_Interface::route — route a request

Beschreibung

abstract public bool Yaf_Route_Interface::route ( Yaf_Request_Abstract $request )

Yaf_Route_Interface::route() is the only method that a custom route should implement.

Hinweis:

since of 2.3.0, there is another method should also be implemented, see Yaf_Route_Interface::assemble().

if this method return TRUE, then the route process will be end. otherwise, Yaf_Router will call next route in the route stack to route request.

This method would set the route result to the parameter request, by
calling Yaf_Request_Abstract::setControllerName(),
Yaf_Request_Abstract::setActionName() and
Yaf_Request_Abstract::setModuleName().

This method should also call Yaf_Request_Abstract::setRouted() to make the request routed at last.

Parameter-Liste

request

A Yaf_Request_Abstract instance.

Rückgabewerte

Yaf_Route_Interface::assemble
Yaf_Route_Map
Yaf_Route_Interface


The Yaf_Route_Map class

(Yaf >=1.0.0)

Einführung

Yaf_Route_Map is a built-in route, it simply convert a URI endpoint (that part of the URI which comes after the base URI: see Yaf_Request_Abstract::setBaseUri()) to a controller name or action name(depends on the paramter passed to Yaf_Route_Map::__construct()) in following rule: A => controller A. A/B/C => controller A_B_C. A/B/C/D/E => controller A_B_C_D_E.

If the second parameter of Yaf_Route_Map::__construct() is specificed, then only the part before delimeter of URI will used to routing, the part after it is used to routing request parameters (see the example section of Yaf_Route_Map::__construct()).

Klassenbeschreibung

Yaf_Route_Map implements Yaf_Route_Interface {
/* Eigenschaften */
protected $_ctl_router ;
protected $_delimeter ;
/* Methoden */
public string assemble ( array $info [, array $query ] )
public __construct ([ string $controller_prefer = false [, string $delimiter = "" ]] )
public bool route ( Yaf_Request_Abstract $request )
}

Eigenschaften

_ctl_router

_delimeter

Inhaltsverzeichnis

  • Yaf_Route_Map::assemble — Assemble a url
  • Yaf_Route_Map::__construct — The __construct purpose
  • Yaf_Route_Map::route — The route purpose
Yaf_Route_Interface::route
Yaf_Route_Map::assemble
Yaf


Assemble a url

Yaf_Route_Map
Yaf_Route_Map::__construct
Yaf_Route_Map
PHP Manual

Yaf_Route_Map::assemble

(Yaf >=2.3.0)

Yaf_Route_Map::assemble — Assemble a url

Beschreibung

public string Yaf_Route_Map::assemble ( array $info [, array $query ] )

Assemble a url.

Parameter-Liste

info

query

Beispiele

Beispiel #1 Yaf_Route_Map::assemble()example

<?php

$router = new Yaf_Router();

$route  = new Yaf_Route_Map();

$router->addRoute("map", $route);

var_dump($router->getRoute('map')->assemble(
                        array(
                                ':c' => 'foo_bar'
                        ),
                        array(
                                'tkey1' => 'tval1',
                                'tkey2' => 'tval2'
                        )
                   )
);

$route = new Yaf_Route_Map(true, '_');
$router->addRoute("map", $route);

var_dump($router->getRoute('map')->assemble(
                        array(
                                ':a' => 'foo_bar'
                        ),
                        array(
                                'tkey1' => 'tval1',
                                'tkey2' => 'tval2'
                        )
                   )
);

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(%d) "/foo/bar?tkey1=tval1&tkey2=tval2"
string(%d) "/foo/bar/_/tkey1/tval1/tkey2/tval2"

Rückgabewerte

Yaf_Route_Map
Yaf_Route_Map::__construct
Yaf_Route_Map


The __construct purpose

Yaf_Route_Map::assemble
Yaf_Route_Map::route
Yaf_Route_Map
PHP Manual

Yaf_Route_Map::__construct

(Yaf >=1.0.0)

Yaf_Route_Map::__construct — The __construct purpose

Beschreibung

public Yaf_Route_Map::__construct ([ string $controller_prefer = false [, string $delimiter = "" ]] )

Parameter-Liste

controller_prefer

Whether the result should considering as controller or action

delimiter

Rückgabewerte

Beispiele

Beispiel #1 Yaf_Route_Map()example

<?php
   /**
    * Add a map route to Yaf_Router route stack
    */
    Yaf_Dispatcher::getInstance()->getRouter()->addRoute("name",
        new Yaf_Route_Map());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

/* for http://yourdomain.com/product/foo/bar
 * route will result in following values:
 */
array(
  "controller" => "product_foo_bar",
)

Beispiel #2 Yaf_Route_Map()example

<?php
   /**
    * Add a map route to Yaf_Router route stack
    */
    Yaf_Dispatcher::getInstance()->getRouter()->addRoute("name",
        new Yaf_Route_Map(true, "_"));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

/* for http://yourdomain.com/user/list/_/foo/22
 * route will result in following values:
 */
array(
    "action" => "user_list",
)

/**
 * and request parameters:
 */
array(
  "foo"   => 22,
)

Beispiel #3 Yaf_Route_Map()example

<?php
   /**
    * Add a map route to Yaf_Router route stack by calling addconfig
    */
    $config = array(
        "name" => array(
           "type"  => "map",         //Yaf_Route_Map route
           "controllerPrefer" => FALSE,
           "delimiter"        => "#!",
           ),
    );
    Yaf_Dispatcher::getInstance()->getRouter()->addConfig(
        new Yaf_Config_Simple($config));
?>

Siehe auch

  • Yaf_Router::addRoute() - Add new Route into Router
  • Yaf_Route_Static
  • Yaf_Route_Supervar
  • Yaf_Route_Simple
  • Yaf_Route_Regex
  • Yaf_Route_Rewrite
Yaf_Route_Map::assemble
Yaf_Route_Map::route
Yaf_Route_Map


The route purpose

Yaf_Route_Map::__construct
Yaf_Route_Regex
Yaf_Route_Map
PHP Manual

Yaf_Route_Map::route

(Yaf >=1.0.0)

Yaf_Route_Map::route — The route purpose

Beschreibung

public bool Yaf_Route_Map::route ( Yaf_Request_Abstract $request )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

request

Rückgabewerte

Yaf_Route_Map::__construct
Yaf_Route_Regex
Yaf_Route_Map


The Yaf_Route_Regex class

(Yaf >=1.0.0)

Einführung

Yaf_Route_Regex is the most flexible route among the Yaf built-in routes.

Klassenbeschreibung

Yaf_Route_Regex extends Yaf_Route_Interface implements Yaf_Route_Interface {
/* Eigenschaften */
protected $_route ;
protected $_default ;
protected $_maps ;
protected $_verify ;
/* Methoden */
public string assemble ( array $info [, array $query ] )
public __construct ( string $match , array $route [, array $map [, array $verify [, string $reverse ]]] )
public bool route ( Yaf_Request_Abstract $request )
/* Geerbte Methoden */
abstract public string Yaf_Route_Interface::assemble ( array $info [, array $query ] )
abstract public bool Yaf_Route_Interface::route ( Yaf_Request_Abstract $request )
}

Eigenschaften

_route

_default

_maps

_verify

Inhaltsverzeichnis

  • Yaf_Route_Regex::assemble — Assemble a url
  • Yaf_Route_Regex::__construct — Yaf_Route_Regex constructor
  • Yaf_Route_Regex::route — The route purpose
Yaf_Route_Map::route
Yaf_Route_Regex::assemble
Yaf


Assemble a url

Yaf_Route_Regex
Yaf_Route_Regex::__construct
Yaf_Route_Regex
PHP Manual

Yaf_Route_Regex::assemble

(Yaf >=2.3.0)

Yaf_Route_Regex::assemble — Assemble a url

Beschreibung

public string Yaf_Route_Regex::assemble ( array $info [, array $query ] )

Assemble a url.

Parameter-Liste

info

query

Beispiele

Beispiel #1 Yaf_Route_Regex::assemble()example

<?php

$router = new Yaf_Router();

$route  = new Yaf_Route_Regex(
            "#^/product/([^/]+)/([^/])+#",
            array(
                'controller' => "product",  //route to product controller,
                ),
            array(),
            array(),
            '/:m/:c/:a'
        );

$router->addRoute("regex", $route);

var_dump($router->getRoute('regex')->assemble(
            array(
                ':m' => 'module',
                ':c' => 'controller',
                ':a' => 'action'
                ),
            array(
                'tkey1' => 'tval1',
                'tkey2' =>
                'tval2'
                )
            )
        );

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(49) "/module/controller/action?tkey1=tval1&tkey2=tval2"

Rückgabewerte

Yaf_Route_Regex
Yaf_Route_Regex::__construct
Yaf_Route_Regex


Yaf_Route_Regex constructor

Yaf_Route_Regex::assemble
Yaf_Route_Regex::route
Yaf_Route_Regex
PHP Manual

Yaf_Route_Regex::__construct

(Yaf >=1.0.0)

Yaf_Route_Regex::__construct — Yaf_Route_Regex constructor

Beschreibung

public Yaf_Route_Regex::__construct ( string $match , array $route [, array $map [, array $verify [, string $reverse ]]] )

Parameter-Liste

match

A complete Regex pattern, will be used to match a request uri, if doesn't matched, Yaf_Route_Regex will return FALSE.

route

When the match pattern matches the request uri, Yaf_Route_Regex will use this to decide which m/c/a to routed.

either of m/c/a in this array is optianl, if you don't assgian a specific value, it will be routed to default.

map

A array to assign name to the captrues in the match result.

verify

reverse

a string, used to assemble url, see Yaf_Route_Regex::assemble().

Hinweis:

this parameter is introduced in 2.3.0

Rückgabewerte

Beispiele

Beispiel #1 Yaf_Route_Regex()example

<?php
   /**
    * Add a regex route to Yaf_Router route stack
    */
    Yaf_Dispatcher::getInstance()->getRouter()->addRoute("name",
        new Yaf_Route_Regex(
           "#^/product/([^/]+)/([^/])+#", //match request uri leading "/product"
           array(
               'controller' => "product",  //route to product controller,
           ),
           array(
              1 => "name",   // now you can call $request->getParam("name")
              2 => "id",     // to get the first captrue in the match pattern.
           )
        )
    );
?>

Beispiel #2 Yaf_Route_Regex(as of 2.3.0)()example

<?php
   /**
    * Use match result as MVC name
    */
    Yaf_Dispatcher::getInstance()->getRouter()->addRoute("name",
        new Yaf_Route_Regex(
           "#^/product/([^/]+)/([^/])+#i", //match request uri leading "/product"
           array(
              'controller' => ":name", // route to :name, which is $1 in the match result as controller name
           ),
           array(
              1 => "name",   // now you can call $request->getParam("name")
              2 => "id",     // to get the first captrue in the match pattern.
           )
        )
    );
?>

Beispiel #3 Yaf_Route_Regex and named capture ground(as of 2.3.0)()example

<?php
   /**
    * Use match result as MVC name
    */
    Yaf_Dispatcher::getInstance()->getRouter()->addRoute("name",
        new Yaf_Route_Regex(
           "#^/product/(?<name>[^/]+)/([^/])+#i", //match request uri leading "/product"
           array(
           'controller' => ":name", // route to :name,
                                    // which is named capture group 'name' in the match result as controller name
           ),
           array(
              2 => "id",     // to get the first captrue in the match pattern.
           )
        )
    );
?>

Beispiel #4 Yaf_Route_Regex()example

<?php
   /**
    * Add a regex route to Yaf_Router route stack by calling addconfig
    */
    $config = array(
        "name" => array(
           "type"  => "regex",          //Yaf_Route_Regex route
           "match" => "#(.*)#",         //match arbitrary request uri
           "route" => array(
               'controller' => "product",  //route to product controller,
               'action'     => "dummy",    //route to dummy action
           ),
           "map" => array(
              1 => "uri",   // now you can call $request->getParam("uri")
           ),
        ),
    );
    Yaf_Dispatcher::getInstance()->getRouter()->addConfig(
        new Yaf_Config_Simple($config));
?>

Siehe auch

  • Yaf_Router::addRoute() - Add new Route into Router
  • Yaf_Router::addConfig() - Add config-defined routes into Router
  • Yaf_Route_Static
  • Yaf_Route_Supervar
  • Yaf_Route_Simple
  • Yaf_Route_Rewrite
  • Yaf_Route_Map
Yaf_Route_Regex::assemble
Yaf_Route_Regex::route
Yaf_Route_Regex


The route purpose

Yaf_Route_Regex::__construct
Yaf_Route_Rewrite
Yaf_Route_Regex
PHP Manual

Yaf_Route_Regex::route

(Yaf >=1.0.0)

Yaf_Route_Regex::route — The route purpose

Beschreibung

public bool Yaf_Route_Regex::route ( Yaf_Request_Abstract $request )

Route a incoming request.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

request

Rückgabewerte

If the pattern given by the first parameter of Yaf_Route_Regex::_construct() matche the request uri, return TRUE, otherwise return FALSE.

Yaf_Route_Regex::__construct
Yaf_Route_Rewrite
Yaf_Route_Regex


The Yaf_Route_Rewrite class

(Yaf >=1.0.0)

Einführung

For usage, please see the example section of Yaf_Route_Rewrite::__construct()

Klassenbeschreibung

Yaf_Route_Rewrite extends Yaf_Route_Interface implements Yaf_Route_Interface {
/* Eigenschaften */
protected $_route ;
protected $_default ;
protected $_verify ;
/* Methoden */
public string assemble ( array $info [, array $query ] )
public __construct ( string $match , array $route [, array $verify ] )
public bool route ( Yaf_Request_Abstract $request )
/* Geerbte Methoden */
abstract public string Yaf_Route_Interface::assemble ( array $info [, array $query ] )
abstract public bool Yaf_Route_Interface::route ( Yaf_Request_Abstract $request )
}

Eigenschaften

_route

_default

_verify

Inhaltsverzeichnis

  • Yaf_Route_Rewrite::assemble — Assemble a url
  • Yaf_Route_Rewrite::__construct — Yaf_Route_Rewrite constructor
  • Yaf_Route_Rewrite::route — The route purpose
Yaf_Route_Regex::route
Yaf_Route_Rewrite::assemble
Yaf


Assemble a url

Yaf_Route_Rewrite
Yaf_Route_Rewrite::__construct
Yaf_Route_Rewrite
PHP Manual

Yaf_Route_Rewrite::assemble

(Yaf >=2.3.0)

Yaf_Route_Rewrite::assemble — Assemble a url

Beschreibung

public string Yaf_Route_Rewrite::assemble ( array $info [, array $query ] )

Assemble a url.

Parameter-Liste

info

query

Beispiele

Beispiel #1 Yaf_Route_Rewrite::assemble()example

router = new Yaf_Router();

$route  = new Yaf_Route_Rewrite(
                "/product/:name/:id/*",
                array(
                        'controller' => "product",
                ),
                array()
);

$router->addRoute("rewrite", $route);

var_dump($router->getRoute('rewrite')->assemble(
                        array(
                                ':name' => 'foo',
                                ':id' => 'bar',
                                ':tmpkey1' => 'tmpval1'
                        ),
                        array(
                                'tkey1' => 'tval1',
                                'tkey2' => 'tval2'
                             )
                        )
);

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(57) "/product/foo/bar/tmpkey1/tmpval1/?tkey1=tval1&tkey2=tval2"

Rückgabewerte

Yaf_Route_Rewrite
Yaf_Route_Rewrite::__construct
Yaf_Route_Rewrite


Yaf_Route_Rewrite constructor

Yaf_Route_Rewrite::assemble
Yaf_Route_Rewrite::route
Yaf_Route_Rewrite
PHP Manual

Yaf_Route_Rewrite::__construct

(Yaf >=1.0.0)

Yaf_Route_Rewrite::__construct — Yaf_Route_Rewrite constructor

Beschreibung

public Yaf_Route_Rewrite::__construct ( string $match , array $route [, array $verify ] )

Parameter-Liste

match

A pattern, will be used to match a request uri, if it doesn't match, Yaf_Route_Rewrite will return FALSE.

You can use :name style to name segments matched, and use * to match the rest of the URL segments.

route

When the match pattern matches the request uri, Yaf_Route_Rewrite will use this to decide which module/controller/action is the destination.

Either of module/controller/action in this array is optional, if you don't assign a specific value, it will be routed to default.

verify

Rückgabewerte

Beispiele

Beispiel #1 Yaf_Route_Rewrite()example

<?php
   /**
    * Add a rewrite route to Yaf_Router route stack
    */
    Yaf_Dispatcher::getInstance()->getRouter()->addRoute("name",
        new Yaf_Route_rewrite(
           "/product/:name/:id/*", //match request uri leading "/product"
           array(
               'controller' => "product",  //route to product controller,
           ),
        )
    );
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

/* for http://yourdomain.com/product/foo/22/foo/bar
 * route will result in following values:
 */
array(
  "controller" => "product",
  "module"     => "index", //(default)
  "action"     => "index", //(default)
)

/**
 * and request parameters:
 */
array(
  "name" => "foo",
  "id"   => 22,
  "foo"  => bar
)

Beispiel #2 Yaf_Route_Rewrite()example

<?php
   /**
    * Add a rewrite route to Yaf_Router route stack by calling addconfig
    */
    $config = array(
        "name" => array(
           "type"  => "rewrite",        //Yaf_Route_Rewrite route
           "match" => "/user-list/:id", //match only /user/list/?/
           "route" => array(
               'controller' => "user",  //route to user controller,
               'action'     => "list",  //route to list action
           ),
        ),
    );
    Yaf_Dispatcher::getInstance()->getRouter()->addConfig(
        new Yaf_Config_Simple($config));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

/* for http://yourdomain.com/user-list/22
 * route will result in following values:
 */
array(
  "controller" => "user",
  "action"     => "list",
  "module"     => "index", //(default)
)

/**
 * and request parameters:
 */
array(
  "id"   => 22,
)

Beispiel #3 Yaf_Route_Rewrite(as of 2.3.0)()example

<?php
   /**
    * Add a rewrite route use match result as m/c/a name
    */
    $config = array(
        "name" => array(
           "type"  => "rewrite",
           "match" => "/user-list/:a/:id", //match only /user-list/*
           "route" => array(
               'controller' => "user",   //route to user controller,
               'action'     => ":a",     //route to :a action
           ),
        ),
    );
    Yaf_Dispatcher::getInstance()->getRouter()->addConfig(
        new Yaf_Config_Simple($config));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

/* for http://yourdomain.com/user-list/list/22
 * route will result in following values:
 */
array(
  "controller" => "user",
  "action"     => "list",
  "module"     => "index", //(default)
)

/**
 * and request parameters:
 */
array(
  "id"   => 22,
)

Siehe auch

  • Yaf_Router::addRoute() - Add new Route into Router
  • Yaf_Router::addConfig() - Add config-defined routes into Router
  • Yaf_Route_Static
  • Yaf_Route_Supervar
  • Yaf_Route_Simple
  • Yaf_Route_Regex
  • Yaf_Route_Map
Yaf_Route_Rewrite::assemble
Yaf_Route_Rewrite::route
Yaf_Route_Rewrite


The route purpose

Yaf_Route_Rewrite::__construct
Yaf_Router
Yaf_Route_Rewrite
PHP Manual

Yaf_Route_Rewrite::route

(Yaf >=1.0.0)

Yaf_Route_Rewrite::route — The route purpose

Beschreibung

public bool Yaf_Route_Rewrite::route ( Yaf_Request_Abstract $request )

Parameter-Liste

request

Rückgabewerte

Yaf_Route_Rewrite::__construct
Yaf_Router
Yaf_Route_Rewrite


The Yaf_Router class

(Yaf >=1.0.0)

Einführung

Yaf_Router is the standard framework router. Routing is the process of taking a URI endpoint (that part of the URI which comes after the base URI: see Yaf_Request_Abstract::setBaseUri()) and decomposing it into parameters to determine which module, controller, and action of that controller should receive the request. This values of the module, controller, action and other parameters are packaged into a Yaf_Request_Abstract object which is then processed by Yaf_Dispatcher. Routing occurs only once: when the request is initially received and before the first controller is dispatched. Yaf_Router is designed to allow for mod_rewrite-like functionality using pure PHP structures. It is very loosely based on Ruby on Rails routing and does not require any prior knowledge of webserver URL rewriting. It is designed to work with a single Apache mod_rewrite rule (one of):

Beispiel #1 Rewrite rule for Apache

RewriteEngine on
RewriteRule !\.(js|ico|gif|jpg|png|css|html)$ index.php
or (preferred):

Beispiel #2 Rewrite rule for Apache

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
If using Lighttpd, the following rewrite rule is valid:

Beispiel #3 Rewrite rule for Lighttpd

url.rewrite-once = (
  ".*\?(.*)$" => "/index.php?$1",
  ".*\.(js|ico|gif|jpg|png|css|html)$" => "$0",
  "" => "/index.php"
)
If using Nginx, use the following rewrite rule:

Beispiel #4 Rewrite rule for Nginx

server {
  listen ****;
  server_name  yourdomain.com;
  root   document_root;
  index  index.php index.html;

  if (!-e $request_filename) {
    rewrite ^/(.*)  /index.php/$1 last;
  }
}

Default route

Yaf_Router comes preconfigured with a default route Yaf_Route_Static, which will match URIs in the shape of controller/action. Additionally, a module name may be specified as the first path element, allowing URIs of the form module/controller/action. Finally, it will also match any additional parameters appended to the URI by default - controller/action/var1/value1/var2/value2.

Hinweis:

Module name must be defined in config, considering application.module="Index,Foo,Bar", in this case, only index, foo and bar can be considerd as a module name. if doesn't config, there is only one module named "Index".

Some examples of how such routes are matched:

Beispiel #5 Yaf_Route_Static(default route)example

// Assuming the following configure:
$conf = array(
   "application" => array(
      "modules" => "Index,Blog",
   ),
);

Controller only:
http://example/news
    controller == news
Action only(when defined yaf.action_prefer=1 in php.ini)
    action  == news

Invalid module maps to controller name:
http://example/foo
    controller == foo

Module + controller:
http://example/blog/archive
    module     == blog
    controller == archive

Module + controller + action:
http://example/blog/archive/list
    module     == blog
    controller == archive
    action     == list

Module + controller + action + params:
http://example/blog/archive/list/sort/alpha/date/desc
    module     == blog
    controller == archive
    action     == list
    sort       == alpha
    date       == desc

Klassenbeschreibung

Yaf_Router {
/* Eigenschaften */
protected $_routes ;
protected $_current ;
/* Methoden */
public bool addConfig ( Yaf_Config_Abstract $config )
public bool addRoute ( string $name , Yaf_Route_Abstract $route )
public __construct ( void )
public string getCurrentRoute ( void )
public Yaf_Route_Interface getRoute ( string $name )
public mixed getRoutes ( void )
public bool route ( Yaf_Request_Abstract $request )
}

Eigenschaften

_routes

registered routes stack

_current

after routing phase, this indicated the name of which route is used to route current request. you can get this name by Yaf_Router::getCurrentRoute().

Inhaltsverzeichnis

  • Yaf_Router::addConfig — Add config-defined routes into Router
  • Yaf_Router::addRoute — Add new Route into Router
  • Yaf_Router::__construct — Yaf_Router constructor
  • Yaf_Router::getCurrentRoute — Get the effective route name
  • Yaf_Router::getRoute — Retrieve a route by name
  • Yaf_Router::getRoutes — Retrieve registered routes
  • Yaf_Router::route — The route purpose
Yaf_Route_Rewrite::route
Yaf_Router::addConfig
Yaf


Add config-defined routes into Router

Yaf_Router
Yaf_Router::addRoute
Yaf_Router
PHP Manual

Yaf_Router::addConfig

(Yaf >=1.0.0)

Yaf_Router::addConfig — Add config-defined routes into Router

Beschreibung

public bool Yaf_Router::addConfig ( Yaf_Config_Abstract $config )

Add routes defined by configs into Yaf_Router's route stack

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An Yaf_Config_Abstract instance, which should contains one or more valid route configs

Beispiele

Beispiel #1 application.ini()example

;the order is very important, the prior one will be called first

;a rewrite route match request /product/*/*
routes.route_name.type="rewrite"
routes.route_name.match="/product/:name/:value"
routes.route_name.route.controller=product
routes.route_name.route.action=info

;a regex route match request /list/*/*
routes.route_name1.type="regex"
routes.route_name1.match="#^list/([^/]*)/([^/]*)#"
routes.route_name1.route.controller=Index
routes.route_name1.route.action=action
routes.route_name1.map.1=name
routes.route_name1.map.2=value

;a simple route match /**?c=controller&a=action&m=module
routes.route_name2.type="simple"
routes.route_name2.controller=c
routes.route_name2.module=m
routes.route_name2.action=a

;a simple router match /**?r=PATH_INFO
routes.route_name3.type="supervar"
routes.route_name3.varname=r

;a map route match any request to controller
routes.route_name4.type="map"
routes.route_name4.controllerPrefer=TRUE
routes.route_namer.delimiter="#!"

Beispiel #2 Yaf_Dispatcher::autoConfig()example

<?php
class Bootstrap extends Yaf_Bootstrap_Abstract{
    public function _initConfig() {
        $config = Yaf_Application::app()->getConfig();
        Yaf_Registry::set("config", $config);
    }

    public function _initRoute(Yaf_Dispatcher $dispatcher) {
        $router = $dispatcher->getRouter();
        /**
         * we can add some pre-defined routes in application.ini
         */
        $router->addConfig(Yaf_Registry::get("config")->routes);
    }
?>

Siehe auch

  • Yaf_Router::addRoute() - Add new Route into Router
  • Yaf_Route_Static
  • Yaf_Route_Supervar
  • Yaf_Route_Simple
  • Yaf_Route_Regex
  • Yaf_Route_Rewrite
  • Yaf_Route_Map
Yaf_Router
Yaf_Router::addRoute
Yaf_Router


Add new Route into Router

Yaf_Router::addConfig
Yaf_Router::__construct
Yaf_Router
PHP Manual

Yaf_Router::addRoute

(Yaf >=1.0.0)

Yaf_Router::addRoute — Add new Route into Router

Beschreibung

public bool Yaf_Router::addRoute ( string $name , Yaf_Route_Abstract $route )

defaultly, Yaf_Router using a Yaf_Route_Static as its defualt route. you can add new routes into router's route stack by calling this method.

the newer route will be called before the older(route stack), and if the newer router return TRUE, the router process will be end. otherwise, the older one will be called.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Beispiele

Beispiel #1 Yaf_Dispatcher::autoRender()example

<?php
class Bootstrap extends Yaf_Bootstrap_Abstract{
    public function _initConfig() {
        $config = Yaf_Application::app()->getConfig();
        Yaf_Registry::set("config", $config);
    }

    public function _initRoute(Yaf_Dispatcher $dispatcher) {
        $router = $dispatcher->getRouter();
        /**
         * we can add some pre-defined routes in application.ini
         */
        $router->addConfig(Yaf_Registry::get("config")->routes);
        /**
         * add a Rewrite route, then for a request uri:
         * http://***/product/list/22/foo
         * will be matched by this route, and result:
         *
         *  [module] =>
         *  [controller] => product
         *  [action] => info
         *  [method] => GET
         *  [params:protected] => Array
         *      (
         *          [id] => 22
         *          [name] => foo
         *      )
         *
         */
        $route  = new Yaf_Route_Rewrite(
            "/product/list/:id/:name",
            array(
                "controller" => "product",
                "action"     => "info",
            )
        );

        $router->addRoute('dummy', $route);
    }
?>

Siehe auch

  • Yaf_Router::addConfig() - Add config-defined routes into Router
  • Yaf_Route_Static
  • Yaf_Route_Supervar
  • Yaf_Route_Simple
  • Yaf_Route_Regex
  • Yaf_Route_Rewrite
  • Yaf_Route_Map
Yaf_Router::addConfig
Yaf_Router::__construct
Yaf_Router


Yaf_Router constructor

Yaf_Router::addRoute
Yaf_Router::getCurrentRoute
Yaf_Router
PHP Manual

Yaf_Router::__construct

(Yaf >=1.0.0)

Yaf_Router::__construct — Yaf_Router constructor

Beschreibung

public Yaf_Router::__construct ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Router::addRoute
Yaf_Router::getCurrentRoute
Yaf_Router


Get the effective route name

Yaf_Router::__construct
Yaf_Router::getRoute
Yaf_Router
PHP Manual

Yaf_Router::getCurrentRoute

(Yaf >=1.0.0)

Yaf_Router::getCurrentRoute — Get the effective route name

Beschreibung

public string Yaf_Router::getCurrentRoute ( void )

Get the name of the route which is effective in the route process.

Hinweis:

You should call this method after the route process finished, since before that, this method will always return NULL.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

String, the name of the effective route.

Beispiele

Beispiel #1 Register some routes in Bootstrap

<?php
class Bootstrap extends Yaf_Bootstrap_Abstract{
    public function _initConfig() {
        $config = Yaf_Application::app()->getConfig();
        Yaf_Registry::set("config", $config);
    }

    public function _initRoute(Yaf_Dispatcher $dispatcher) {
        $router = $dispatcher->getRouter();
        $rewrite_route  = new Yaf_Route_Rewrite(
            "/product/list/:page",
            array(
                "controller" => "product",
                "action"     => "list",
            )
        );

        $regex_route  = new Yaf_Route_Rewrite(
            "#^/product/info/(\d+)",
            array(
                "controller" => "product",
                "action"     => "info",
            )
        );

        $router->addRoute('rewrite', $rewrite_route)->addRoute('regex', $regex_route);
    }

    /**
     * register plugin
     */
    public function __initPlugins(Yaf_Dispatcher $dispatcher) {
        $dispatcher->registerPlugin(new DummyPlugin());
    }
?>

Beispiel #2 plugin Dummy.php (under application.directory/plugins)

<?php
class DummyPlugin extends Yaf_Plugin_Abstract {

    public function routerShutdown(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
         var_dump(Yaf_Dispatcher::getInstance()->getRouter()->getCurrentRoute());
    }
?>
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

/* for http://yourdomain.com/product/list/1
 * DummyPlugin will output:
 */
string(7) "rewrite"

/* for http://yourdomain.com/product/info/34
 * DummyPlugin will output:
 */
string(5) "regex"

/* for other request URI
 * DummyPlugin will output:
 */
string(8) "_default"

Siehe auch

  • Yaf_Bootstrap_Abstract
  • Yaf_Plugin_Abstract
  • Yaf_Router::addRoute() - Add new Route into Router
Yaf_Router::__construct
Yaf_Router::getRoute
Yaf_Router


Retrieve a route by name

Yaf_Router::getCurrentRoute
Yaf_Router::getRoutes
Yaf_Router
PHP Manual

Yaf_Router::getRoute

(Yaf >=1.0.0)

Yaf_Router::getRoute — Retrieve a route by name

Beschreibung

public Yaf_Route_Interface Yaf_Router::getRoute ( string $name )

Retrieve a route by name, see also Yaf_Router::getCurrentRoute()

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Siehe auch

  • Yaf_Bootstrap_Abstract
  • Yaf_Plugin_Abstract
  • Yaf_Router::addRoute() - Add new Route into Router
  • Yaf_Router::getCurrentRoute() - Get the effective route name
Yaf_Router::getCurrentRoute
Yaf_Router::getRoutes
Yaf_Router


Retrieve registered routes

Yaf_Router::getRoute
Yaf_Router::route
Yaf_Router
PHP Manual

Yaf_Router::getRoutes

(Yaf >=1.0.0)

Yaf_Router::getRoutes — Retrieve registered routes

Beschreibung

public mixed Yaf_Router::getRoutes ( void )

Retrieve registered routes

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Router::getRoute
Yaf_Router::route
Yaf_Router


The route purpose

Yaf_Router::getRoutes
Yaf_Route_Simple
Yaf_Router
PHP Manual

Yaf_Router::route

(Yaf >=1.0.0)

Yaf_Router::route — The route purpose

Beschreibung

public bool Yaf_Router::route ( Yaf_Request_Abstract $request )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Router::getRoutes
Yaf_Route_Simple
Yaf_Router


The Yaf_Route_Simple class

(Yaf >=1.0.0)

Einführung

Yaf_Route_Simple will match the query string, and find the route info.

all you need to do is tell Yaf_Route_Simple what key in the $_GET is module, what key is controller, and what key is action.

Yaf_Route_Simple::route() will always return TRUE, so it is important put Yaf_Route_Simple in the front of the Route stack, otherwise all the other routes will not be called.

Klassenbeschreibung

Yaf_Route_Simple implements Yaf_Route_Interface {
/* Eigenschaften */
protected $controller ;
protected $module ;
protected $action ;
/* Methoden */
public string assemble ( array $info [, array $query ] )
public __construct ( string $module_name , string $controller_name , string $action_name )
public bool route ( Yaf_Request_Abstract $request )
}

Eigenschaften

controller

module

action

Inhaltsverzeichnis

  • Yaf_Route_Simple::assemble — Assemble a url
  • Yaf_Route_Simple::__construct — Yaf_Route_Simple constructor
  • Yaf_Route_Simple::route — Route a request
Yaf_Router::route
Yaf_Route_Simple::assemble
Yaf


Assemble a url

Yaf_Route_Simple
Yaf_Route_Simple::__construct
Yaf_Route_Simple
PHP Manual

Yaf_Route_Simple::assemble

(Yaf >=2.3.0)

Yaf_Route_Simple::assemble — Assemble a url

Beschreibung

public string Yaf_Route_Simple::assemble ( array $info [, array $query ] )

Assemble a url.

Parameter-Liste

info

query

Beispiele

Beispiel #1 Yaf_Route_Simple::assemble()example

<?php

$router = new Yaf_Router();

$route  = new Yaf_Route_Simple('m', 'c', 'a');

$router->addRoute("simple", $route);

var_dump($router->getRoute('simple')->assemble(
            array(
                ':a' => 'yafaction',
                'tkey' => 'tval',
                ':c' => 'yafcontroller',
                ':m' => 'yafmodule'
                ),
            array(
                'tkey1' => 'tval1',
                'tkey2' => 'tval2'
                )
            ));

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(64) "?m=yafmodule&c=yafcontroller&a=yafaction&tkey1=tval1&tkey2=tval2"

Rückgabewerte

Yaf_Route_Simple
Yaf_Route_Simple::__construct
Yaf_Route_Simple


Yaf_Route_Simple constructor

Yaf_Route_Simple::assemble
Yaf_Route_Simple::route
Yaf_Route_Simple
PHP Manual

Yaf_Route_Simple::__construct

(Yaf >=1.0.0)

Yaf_Route_Simple::__construct — Yaf_Route_Simple constructor

Beschreibung

public Yaf_Route_Simple::__construct ( string $module_name , string $controller_name , string $action_name )

Yaf_Route_Simple will get route info from query string. and the parameters of this constructor will used as keys while searching for the route info in $_GET.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

module_name

The key name of the module info.

controller_name

the key name of the controller info.

action_name

the key name of the action info.

Rückgabewerte

Always return TRUE.

Beispiele

Beispiel #1 Yaf_Route_Simple::route()example

<?php
   $route = new Yaf_Route_Simple("m", "controller", "act");
   Yaf_Router::getInstance()->addRoute("simple", $route);
?>

Beispiel #2 Yaf_Route_Simple::route()example

Request: http://yourdomain.com/path/?controller=a&act=b
=> module = default(index), controller = a, action = b

Request: http://yourdomain.com/path
=> module = default(index), controller = default(index), action = default(index)

Siehe auch

  • Yaf_Route_Supervar::route() - The route purpose
  • Yaf_Route_Static::route() - Route a request
  • Yaf_Route_Regex::route() - The route purpose
  • Yaf_Route_Rewrite::route() - The route purpose
  • Yaf_Route_Map::route() - The route purpose
Yaf_Route_Simple::assemble
Yaf_Route_Simple::route
Yaf_Route_Simple


Route a request

Yaf_Route_Simple::__construct
Yaf_Route_Static
Yaf_Route_Simple
PHP Manual

Yaf_Route_Simple::route

(Yaf >=1.0.0)

Yaf_Route_Simple::route — Route a request

Beschreibung

public bool Yaf_Route_Simple::route ( Yaf_Request_Abstract $request )

see Yaf_Route_Simple::__construct()

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

request

Rückgabewerte

always be TRUE

Siehe auch

  • Yaf_Route_Supervar::route() - The route purpose
  • Yaf_Route_Static::route() - Route a request
  • Yaf_Route_Regex::route() - The route purpose
  • Yaf_Route_Rewrite::route() - The route purpose
  • Yaf_Route_Map::route() - The route purpose
Yaf_Route_Simple::__construct
Yaf_Route_Static
Yaf_Route_Simple


The Yaf_Route_Static class

(Yaf >=1.0.0)

Einführung

Defaultly, Yaf_Router only have a Yaf_Route_Static as its default route.

And Yaf_Route_Static is designed to handle the 80% requirement.

please *NOTE* that it is unecessary to instance a Yaf_Route_Static, also unecesary to add it into Yaf_Router's routes stack, since there is always be one in Yaf_Router's routes stack, and always be called at the last time.

Klassenbeschreibung

Yaf_Route_Static implements Yaf_Router {
/* Methoden */
public string assemble ( array $info [, array $query ] )
public void match ( string $uri )
public bool route ( Yaf_Request_Abstract $request )
}

Inhaltsverzeichnis

  • Yaf_Route_Static::assemble — Assemble a url
  • Yaf_Route_Static::match — The match purpose
  • Yaf_Route_Static::route — Route a request
Yaf_Route_Simple::route
Yaf_Route_Static::assemble
Yaf


Assemble a url

Yaf_Route_Static
Yaf_Route_Static::match
Yaf_Route_Static
PHP Manual

Yaf_Route_Static::assemble

(Yaf >=2.3.0)

Yaf_Route_Static::assemble — Assemble a url

Beschreibung

public string Yaf_Route_Static::assemble ( array $info [, array $query ] )

Assemble a url.

Parameter-Liste

info

query

Beispiele

Beispiel #1 Yaf_Route_Static::assemble()example

<?php

$router = new Yaf_Router();

$route  = new Yaf_Route_Static();

$router->addRoute("static", $route);

var_dump($router->getRoute('static')->assemble(
            array(
                ':a' => 'yafaction',
                'tkey' => 'tval',
                ':c' => 'yafcontroller',
                ':m' => 'yafmodule'
            ),
        )
);

var_dump($router->getRoute('static')->assemble(
            array(
                ':a' => 'yafaction',
                'tkey' => 'tval',
                ':c' => 'yafcontroller',
                ':m' => 'yafmodule'
            ),
            array(
                'tkey1' => 'tval1',
                'tkey2' => 'tval2'
            )
        )
);

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(%d) "/yafmodule/yafcontroller/yafaction"
string(%d) "/yafmodule/yafcontroller/yafaction?tkey1=tval1&tkey2=tval2"

Rückgabewerte

Yaf_Route_Static
Yaf_Route_Static::match
Yaf_Route_Static


The match purpose

Yaf_Route_Static::assemble
Yaf_Route_Static::route
Yaf_Route_Static
PHP Manual

Yaf_Route_Static::match

(Yaf >=1.0.0)

Yaf_Route_Static::match — The match purpose

Beschreibung

public void Yaf_Route_Static::match ( string $uri )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

uri

Rückgabewerte

Yaf_Route_Static::assemble
Yaf_Route_Static::route
Yaf_Route_Static


Route a request

Yaf_Route_Static::match
Yaf_Route_Supervar
Yaf_Route_Static
PHP Manual

Yaf_Route_Static::route

(Yaf >=1.0.0)

Yaf_Route_Static::route — Route a request

Beschreibung

public bool Yaf_Route_Static::route ( Yaf_Request_Abstract $request )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

request

Rückgabewerte

always be TRUE

Beispiele

Beispiel #1 Yaf_Route_Static::route()example

// assuming there is only one module defined:Index
Request: http://yourdomain.com/a/b
=> module = index, controller=a, action=b

//assuming ap.action_prefer = On
Request: http://yourdomain.com/b
=> module = default(index), controller = default(index), action = b

//assuming ap.action_prefer = Off
Request: http://yourdomain.com/b
=> module = default(index), controller = b, action = default(index)

Request: http://yourdomain.com/a/b/foo/bar/test/a/id/4
=> module = default(index), controller = a, action = b, request parameters: foo = bar, test = a, id = 4

Siehe auch

  • Yaf_Route_Supervar::route() - The route purpose
  • Yaf_Route_Simple::route() - Route a request
  • Yaf_Route_Regex::route() - The route purpose
  • Yaf_Route_Rewrite::route() - The route purpose
  • Yaf_Route_Map::route() - The route purpose
Yaf_Route_Static::match
Yaf_Route_Supervar
Yaf_Route_Static


The Yaf_Route_Supervar class

(Yaf >=1.0.0)

Einführung

Klassenbeschreibung

Yaf_Route_Supervar implements Yaf_Route_Interface {
/* Eigenschaften */
protected $_var_name ;
/* Methoden */
public string assemble ( array $info [, array $query ] )
public __construct ( string $supervar_name )
public bool route ( Yaf_Request_Abstract $request )
}

Eigenschaften

_var_name

Inhaltsverzeichnis

  • Yaf_Route_Supervar::assemble — Assemble a url
  • Yaf_Route_Supervar::__construct — The __construct purpose
  • Yaf_Route_Supervar::route — The route purpose
Yaf_Route_Static::route
Yaf_Route_Supervar::assemble
Yaf


Assemble a url

Yaf_Route_Supervar
Yaf_Route_Supervar::__construct
Yaf_Route_Supervar
PHP Manual

Yaf_Route_Supervar::assemble

(Yaf >=2.3.0)

Yaf_Route_Supervar::assemble — Assemble a url

Beschreibung

public string Yaf_Route_Supervar::assemble ( array $info [, array $query ] )

Assemble a url.

Parameter-Liste

info

query

Beispiele

Beispiel #1 Yaf_Route_Supervar::assemble()example

<?php

$router = new Yaf_Router();

$route  = new Yaf_Route_Supervar('r');

$router->addRoute("supervar", $route);

var_dump($router->getRoute('supervar')->assemble(
        array(
              ':a' => 'yafaction',
              'tkey' => 'tval',
              ':c' => 'yafcontroller',
              ':m' => 'yafmodule'
        ),
        array(
              'tkey1' => 'tval1',
              'tkey2' => 'tval2'
        )
));

try {
var_dump($router->getRoute('supervar')->assemble(
        array(
              ':a' => 'yafaction',
              'tkey' => 'tval',
              ':m' => 'yafmodule'
        ),
        array(
              'tkey1' => 'tval1',
              'tkey2' => 'tval2',
              1 => array(),
        )
));
} catch (Exception $e) {
    var_dump($e->getMessage());
}

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(%d) "?r=/yafmodule/yafcontroller/yafaction&tkey1=tval1&tkey2=tval2"
string(%d) "You need to specify the controller by ':c'"

Rückgabewerte

Yaf_Route_Supervar
Yaf_Route_Supervar::__construct
Yaf_Route_Supervar


The __construct purpose

Yaf_Route_Supervar::assemble
Yaf_Route_Supervar::route
Yaf_Route_Supervar
PHP Manual

Yaf_Route_Supervar::__construct

(Yaf >=1.0.0)

Yaf_Route_Supervar::__construct — The __construct purpose

Beschreibung

public Yaf_Route_Supervar::__construct ( string $supervar_name )

Yaf_Route_Supervar is similar with Yaf_Route_Static, the difference is Yaf_Route_Supervar will look for path info in query string, and the parameter supervar_name is the key.

Parameter-Liste

supervar_name

The name of key.

Rückgabewerte

Beispiele

Beispiel #1 Yaf_Route_Supervar()example

<?php
   /**
    * Add a supervar route to Yaf_Router route stack
    */
    Yaf_Dispatcher::getInstance()->getRouter()->addRoute("name",
        new Yaf_Route_Supervar("r"));
    );
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

/** for request: http://yourdomain.com/xx/oo/?r=/ctr/act/var/value
  * will result in following:
  */
  array (
    "module"   => index(default),
    "controller" => ctr,
    "action"     => act,
    "params"     => array(
          "var" => value,
     )
  )

Siehe auch

  • Yaf_Router::addRoute() - Add new Route into Router
  • Yaf_Router::addConfig() - Add config-defined routes into Router
  • Yaf_Route_Static
  • Yaf_Route_Regex
  • Yaf_Route_Simple
  • Yaf_Route_Rewrite
  • Yaf_Route_Map
Yaf_Route_Supervar::assemble
Yaf_Route_Supervar::route
Yaf_Route_Supervar


The route purpose

Yaf_Route_Supervar::__construct
Yaf_Session
Yaf_Route_Supervar
PHP Manual

Yaf_Route_Supervar::route

(Yaf >=1.0.0)

Yaf_Route_Supervar::route — The route purpose

Beschreibung

public bool Yaf_Route_Supervar::route ( Yaf_Request_Abstract $request )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

request

Rückgabewerte

If there is a key(which was defined in Yaf_Route_Supervar::__construct()) in $_GET, return TRUE. otherwise return FALSE.

Yaf_Route_Supervar::__construct
Yaf_Session
Yaf_Route_Supervar


The Yaf_Session class

(Yaf >=1.0.0)

Einführung

Klassenbeschreibung

Yaf_Session implements Iterator , ArrayAccess , Countable {
/* Eigenschaften */
protected static $_instance ;
protected $_session ;
protected $_started ;
/* Methoden */
private void __clone ( void )
private __construct ( void )
public void count ( void )
public void current ( void )
public void del ( string $name )
public void __get ( string $name )
public static void getInstance ( void )
public void has ( string $name )
public void __isset ( string $name )
public void key ( void )
public void next ( void )
public void offsetExists ( string $name )
public void offsetGet ( string $name )
public void offsetSet ( string $name , string $value )
public void offsetUnset ( string $name )
public void rewind ( void )
public void __set ( string $name , string $value )
private void __sleep ( void )
public void start ( void )
public void __unset ( string $name )
public void valid ( void )
private void __wakeup ( void )
}

Eigenschaften

_instance

_session

_started

Inhaltsverzeichnis

  • Yaf_Session::__clone — The __clone purpose
  • Yaf_Session::__construct — Constructor of Yaf_Session
  • Yaf_Session::count — The count purpose
  • Yaf_Session::current — The current purpose
  • Yaf_Session::del — The del purpose
  • Yaf_Session::__get — The __get purpose
  • Yaf_Session::getInstance — The getInstance purpose
  • Yaf_Session::has — The has purpose
  • Yaf_Session::__isset — The __isset purpose
  • Yaf_Session::key — The key purpose
  • Yaf_Session::next — The next purpose
  • Yaf_Session::offsetExists — The offsetExists purpose
  • Yaf_Session::offsetGet — The offsetGet purpose
  • Yaf_Session::offsetSet — The offsetSet purpose
  • Yaf_Session::offsetUnset — The offsetUnset purpose
  • Yaf_Session::rewind — The rewind purpose
  • Yaf_Session::__set — The __set purpose
  • Yaf_Session::__sleep — The __sleep purpose
  • Yaf_Session::start — The start purpose
  • Yaf_Session::__unset — The __unset purpose
  • Yaf_Session::valid — The valid purpose
  • Yaf_Session::__wakeup — The __wakeup purpose
Yaf_Route_Supervar::route
Yaf_Session::__clone
Yaf


The __clone purpose

Yaf_Session
Yaf_Session::__construct
Yaf_Session
PHP Manual

Yaf_Session::__clone

(Yaf >=1.0.0)

Yaf_Session::__clone — The __clone purpose

Beschreibung

private void Yaf_Session::__clone ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Session
Yaf_Session::__construct
Yaf_Session


Constructor of Yaf_Session

Yaf_Session::__clone
Yaf_Session::count
Yaf_Session
PHP Manual

Yaf_Session::__construct

(Yaf >=1.0.0)

Yaf_Session::__construct — Constructor of Yaf_Session

Beschreibung

private Yaf_Session::__construct ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Session::__clone
Yaf_Session::count
Yaf_Session


The count purpose

Yaf_Session::__construct
Yaf_Session::current
Yaf_Session
PHP Manual

Yaf_Session::count

(Yaf >=1.0.0)

Yaf_Session::count — The count purpose

Beschreibung

public void Yaf_Session::count ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Session::__construct
Yaf_Session::current
Yaf_Session


The current purpose

Yaf_Session::count
Yaf_Session::del
Yaf_Session
PHP Manual

Yaf_Session::current

(Yaf >=1.0.0)

Yaf_Session::current — The current purpose

Beschreibung

public void Yaf_Session::current ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Session::count
Yaf_Session::del
Yaf_Session


The del purpose

Yaf_Session::current
Yaf_Session::__get
Yaf_Session
PHP Manual

Yaf_Session::del

(Yaf >=1.0.0)

Yaf_Session::del — The del purpose

Beschreibung

public void Yaf_Session::del ( string $name )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

name

Rückgabewerte

Yaf_Session::current
Yaf_Session::__get
Yaf_Session


The __get purpose

Yaf_Session::del
Yaf_Session::getInstance
Yaf_Session
PHP Manual

Yaf_Session::__get

(Yaf >=1.0.0)

Yaf_Session::__get — The __get purpose

Beschreibung

public void Yaf_Session::__get ( string $name )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

name

Rückgabewerte

Yaf_Session::del
Yaf_Session::getInstance
Yaf_Session


The getInstance purpose

Yaf_Session::__get
Yaf_Session::has
Yaf_Session
PHP Manual

Yaf_Session::getInstance

(Yaf >=1.0.0)

Yaf_Session::getInstance — The getInstance purpose

Beschreibung

public static void Yaf_Session::getInstance ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Session::__get
Yaf_Session::has
Yaf_Session


The has purpose

Yaf_Session::getInstance
Yaf_Session::__isset
Yaf_Session
PHP Manual

Yaf_Session::has

(Yaf >=1.0.0)

Yaf_Session::has — The has purpose

Beschreibung

public void Yaf_Session::has ( string $name )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

name

Rückgabewerte

Yaf_Session::getInstance
Yaf_Session::__isset
Yaf_Session


The __isset purpose

Yaf_Session::has
Yaf_Session::key
Yaf_Session
PHP Manual

Yaf_Session::__isset

(Yaf >=1.0.0)

Yaf_Session::__isset — The __isset purpose

Beschreibung

public void Yaf_Session::__isset ( string $name )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

name

Rückgabewerte

Yaf_Session::has
Yaf_Session::key
Yaf_Session


The key purpose

Yaf_Session::__isset
Yaf_Session::next
Yaf_Session
PHP Manual

Yaf_Session::key

(Yaf >=1.0.0)

Yaf_Session::key — The key purpose

Beschreibung

public void Yaf_Session::key ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Session::__isset
Yaf_Session::next
Yaf_Session


The next purpose

Yaf_Session::key
Yaf_Session::offsetExists
Yaf_Session
PHP Manual

Yaf_Session::next

(Yaf >=1.0.0)

Yaf_Session::next — The next purpose

Beschreibung

public void Yaf_Session::next ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Session::key
Yaf_Session::offsetExists
Yaf_Session


The offsetExists purpose

Yaf_Session::next
Yaf_Session::offsetGet
Yaf_Session
PHP Manual

Yaf_Session::offsetExists

(Yaf >=1.0.0)

Yaf_Session::offsetExists — The offsetExists purpose

Beschreibung

public void Yaf_Session::offsetExists ( string $name )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

name

Rückgabewerte

Yaf_Session::next
Yaf_Session::offsetGet
Yaf_Session


The offsetGet purpose

Yaf_Session::offsetExists
Yaf_Session::offsetSet
Yaf_Session
PHP Manual

Yaf_Session::offsetGet

(Yaf >=1.0.0)

Yaf_Session::offsetGet — The offsetGet purpose

Beschreibung

public void Yaf_Session::offsetGet ( string $name )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

name

Rückgabewerte

Yaf_Session::offsetExists
Yaf_Session::offsetSet
Yaf_Session


The offsetSet purpose

Yaf_Session::offsetGet
Yaf_Session::offsetUnset
Yaf_Session
PHP Manual

Yaf_Session::offsetSet

(Yaf >=1.0.0)

Yaf_Session::offsetSet — The offsetSet purpose

Beschreibung

public void Yaf_Session::offsetSet ( string $name , string $value )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

name

value

Rückgabewerte

Yaf_Session::offsetGet
Yaf_Session::offsetUnset
Yaf_Session


The offsetUnset purpose

Yaf_Session::offsetSet
Yaf_Session::rewind
Yaf_Session
PHP Manual

Yaf_Session::offsetUnset

(Yaf >=1.0.0)

Yaf_Session::offsetUnset — The offsetUnset purpose

Beschreibung

public void Yaf_Session::offsetUnset ( string $name )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

name

Rückgabewerte

Yaf_Session::offsetSet
Yaf_Session::rewind
Yaf_Session


The rewind purpose

Yaf_Session::offsetUnset
Yaf_Session::__set
Yaf_Session
PHP Manual

Yaf_Session::rewind

(Yaf >=1.0.0)

Yaf_Session::rewind — The rewind purpose

Beschreibung

public void Yaf_Session::rewind ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Session::offsetUnset
Yaf_Session::__set
Yaf_Session


The __set purpose

Yaf_Session::rewind
Yaf_Session::__sleep
Yaf_Session
PHP Manual

Yaf_Session::__set

(Yaf >=1.0.0)

Yaf_Session::__set — The __set purpose

Beschreibung

public void Yaf_Session::__set ( string $name , string $value )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

name

value

Rückgabewerte

Yaf_Session::rewind
Yaf_Session::__sleep
Yaf_Session


The __sleep purpose

Yaf_Session::__set
Yaf_Session::start
Yaf_Session
PHP Manual

Yaf_Session::__sleep

(Yaf >=1.0.0)

Yaf_Session::__sleep — The __sleep purpose

Beschreibung

private void Yaf_Session::__sleep ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Session::__set
Yaf_Session::start
Yaf_Session


The start purpose

Yaf_Session::__sleep
Yaf_Session::__unset
Yaf_Session
PHP Manual

Yaf_Session::start

(Yaf >=1.0.0)

Yaf_Session::start — The start purpose

Beschreibung

public void Yaf_Session::start ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Session::__sleep
Yaf_Session::__unset
Yaf_Session


The __unset purpose

Yaf_Session::start
Yaf_Session::valid
Yaf_Session
PHP Manual

Yaf_Session::__unset

(Yaf >=1.0.0)

Yaf_Session::__unset — The __unset purpose

Beschreibung

public void Yaf_Session::__unset ( string $name )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

name

Rückgabewerte

Yaf_Session::start
Yaf_Session::valid
Yaf_Session


The valid purpose

Yaf_Session::__unset
Yaf_Session::__wakeup
Yaf_Session
PHP Manual

Yaf_Session::valid

(Yaf >=1.0.0)

Yaf_Session::valid — The valid purpose

Beschreibung

public void Yaf_Session::valid ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Session::__unset
Yaf_Session::__wakeup
Yaf_Session


The __wakeup purpose

Yaf_Session::valid
Yaf_Exception
Yaf_Session
PHP Manual

Yaf_Session::__wakeup

(Yaf >=1.0.0)

Yaf_Session::__wakeup — The __wakeup purpose

Beschreibung

private void Yaf_Session::__wakeup ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Session::valid
Yaf_Exception
Yaf_Session


The Yaf_Exception class

(Yaf >=1.0.0)

Einführung

Klassenbeschreibung

Yaf_Exception extends Exception {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Methoden */
public __construct ( void )
public void getPrevious ( void )
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Inhaltsverzeichnis

  • Yaf_Exception::__construct — The __construct purpose
  • Yaf_Exception::getPrevious — The getPrevious purpose
Yaf_Session::__wakeup
Yaf_Exception::__construct
Yaf


The __construct purpose

Yaf_Exception
Yaf_Exception::getPrevious
Yaf_Exception
PHP Manual

Yaf_Exception::__construct

(Yaf >=1.0.0)

Yaf_Exception::__construct — The __construct purpose

Beschreibung

public Yaf_Exception::__construct ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Exception
Yaf_Exception::getPrevious
Yaf_Exception


The getPrevious purpose

Yaf_Exception::__construct
Yaf_Exception_TypeError
Yaf_Exception
PHP Manual

Yaf_Exception::getPrevious

(Yaf >=1.0.0)

Yaf_Exception::getPrevious — The getPrevious purpose

Beschreibung

public void Yaf_Exception::getPrevious ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Yaf_Exception::__construct
Yaf_Exception_TypeError
Yaf_Exception


The Yaf_Exception_TypeError class

(Yaf >=1.0.0)

Einführung

Klassenbeschreibung

Yaf_Exception_TypeError extends Yaf_Exception {
/* Eigenschaften */
/* Methoden */
/* Geerbte Methoden */
public Yaf_Exception::__construct ( void )
public void Yaf_Exception::getPrevious ( void )
}
Yaf_Exception::getPrevious
Yaf_Exception_StartupError
Yaf


The Yaf_Exception_StartupError class

(Yaf >=1.0.0)

Einführung

Klassenbeschreibung

Yaf_Exception_StartupError extends Yaf_Exception {
/* Eigenschaften */
/* Methoden */
/* Geerbte Methoden */
public Yaf_Exception::__construct ( void )
public void Yaf_Exception::getPrevious ( void )
}
Yaf_Exception_TypeError
Yaf_Exception_DispatchFailed
Yaf


The Yaf_Exception_DispatchFailed class

(Yaf >=1.0.0)

Einführung

Klassenbeschreibung

Yaf_Exception_DispatchFailed extends Yaf_Exception {
/* Eigenschaften */
/* Methoden */
/* Geerbte Methoden */
public Yaf_Exception::__construct ( void )
public void Yaf_Exception::getPrevious ( void )
}
Yaf_Exception_StartupError
Yaf_Exception_RouterFailed
Yaf


The Yaf_Exception_RouterFailed class

(Yaf >=1.0.0)

Einführung

Klassenbeschreibung

Yaf_Exception_RouterFailed extends Yaf_Exception {
/* Eigenschaften */
/* Methoden */
/* Geerbte Methoden */
public Yaf_Exception::__construct ( void )
public void Yaf_Exception::getPrevious ( void )
}
Yaf_Exception_DispatchFailed
Yaf_Exception_LoadFailed
Yaf


The Yaf_Exception_LoadFailed class

(Yaf >=1.0.0)

Einführung

Klassenbeschreibung

Yaf_Exception_LoadFailed extends Yaf_Exception {
/* Eigenschaften */
/* Methoden */
/* Geerbte Methoden */
public Yaf_Exception::__construct ( void )
public void Yaf_Exception::getPrevious ( void )
}
Yaf_Exception_RouterFailed
Yaf_Exception_LoadFailed_Module
Yaf


The Yaf_Exception_LoadFailed_Module class

(Yaf >=1.0.0)

Einführung

Klassenbeschreibung

Yaf_Exception_LoadFailed_Module extends Yaf_Exception_LoadFailed {
/* Eigenschaften */
/* Methoden */
/* Geerbte Methoden */
public Yaf_Exception::__construct ( void )
public void Yaf_Exception::getPrevious ( void )
}
Yaf_Exception_LoadFailed
Yaf_Exception_LoadFailed_Controller
Yaf


The Yaf_Exception_LoadFailed_Controller class

(Yaf >=1.0.0)

Einführung

Klassenbeschreibung

Yaf_Exception_LoadFailed_Controller extends Yaf_Exception_LoadFailed {
/* Eigenschaften */
/* Methoden */
/* Geerbte Methoden */
public Yaf_Exception::__construct ( void )
public void Yaf_Exception::getPrevious ( void )
}
Yaf_Exception_LoadFailed_Module
Yaf_Exception_LoadFailed_Action
Yaf


The Yaf_Exception_LoadFailed_Action class

(Yaf >=1.0.0)

Einführung

Klassenbeschreibung

Yaf_Exception_LoadFailed_Action extends Yaf_Exception_LoadFailed {
/* Eigenschaften */
/* Methoden */
/* Geerbte Methoden */
public Yaf_Exception::__construct ( void )
public void Yaf_Exception::getPrevious ( void )
}
Yaf_Exception_LoadFailed_Controller
Yaf_Exception_LoadFailed_View
Yaf


The Yaf_Exception_LoadFailed_View class

(Yaf >=1.0.0)

Einführung

Klassenbeschreibung

Yaf_Exception_LoadFailed_View extends Yaf_Exception_LoadFailed {
/* Eigenschaften */
/* Methoden */
/* Geerbte Methoden */
public Yaf_Exception::__construct ( void )
public void Yaf_Exception::getPrevious ( void )
}
Yaf_Exception_LoadFailed_Action
Taint
Yaf


Taint

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • More Details
    • Functions and Statements which will spread the tainted mark of a tainted string
    • Functions and statements which will check tainted string
    • Functions which untaint the tainted string
  • Taint Funktionen
    • is_tainted — Checks whether a string is tainted
    • taint — Taint a string
    • untaint — Untaint strings
Yaf_Exception_LoadFailed_View
Einführung
Sonstige Grunderweiterungen


Einführung

Taint is an extension, which is used for detecting XSS codes(tainted string). And also can be used to spot sql injection vulnerabilities, and shell inject, etc.

When taint is enabled, if you pass a tainted string (comes from $_GET, $_POST or $_COOKIE) to some functions, taint will warn you about that.

Beispiel #1 Taint()example

<?php
$a = trim($_GET['a']);

$file_name = '/tmp' .  $a;
$output    = "Welcome, {$a} !!!";
$var       = "output";
$sql       = "Select *  from " . $a;
$sql      .= "ooxx";

echo $output;

print $$var;

include($file_name);

mysql_query($sql);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Warning: main() [function.echo]: Attempt to echo a string that might be tainted

Warning: main() [function.echo]: Attempt to print a string that might be tainted

Warning: include() [function.include]: File path contains data that might be tainted

Warning: mysql_query() [function.mysql-query]: SQL statement contains data that might be tainted
Taint
Installation/Konfiguration
Taint


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Taint


Installation

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/taint.

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Taint Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
taint.enable | 0 | its PHP_INI_SYS value |
taint.error_level | E_WARNING | its PHP_INI_ALL value |

Hier eine kurze Erklärung der Konfigurationsoptionen:

taint.enable integer

Whether enable the taint.

taint.error_level integer

the error type which taint will report as when taint find a tainted string.

Installation
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

Diese Erweiterung definiert keine Ressource-Typen.

Laufzeit-Konfiguration
More Details
Installation/Konfiguration


More Details

Inhaltsverzeichnis

  • Functions and Statements which will spread the tainted mark of a tainted string
  • Functions and statements which will check tainted string
  • Functions which untaint the tainted string
Ressource-Typen
Functions and Statements which will spread the tainted mark of a tainted string
Taint


Functions and Statements which will spread the tainted mark of a tainted string

Function/Statement | Since
= (assign) | 0.1.0
. (concat) | 0.1.0
"{$var}" (variable substitution) | 0.1.0
.= (assign concat) | 0.1.0
strval | 0.3.0
explode | 0.3.0
implode | 0.3.0
sprintf | 0.3.0
vsprintf | 0.3.0
trim | 0.4.0
rtrim | 0.4.0
ltrim | 0.4.0

More Details
Functions and statements which will check tainted string
More Details


Functions and statements which will check tainted string

Function/Statement | Since
Basic statments
eval | 0.1.0
include/include_once | 0.1.0
require/require_once | 0.1.0
Outputing Functions
echo | 0.1.0
print | 0.1.0
printf | 0.1.0
file_put_contents | 0.1.0
File System Functions
fopen | 0.2.0
opendir | 0.2.0
basename | 0.2.0
dirname | 0.2.0
file | 0.2.0
pathinfo | 0.2.0
Database relevant Functions
mysql_query | 0.2.0
mysqli_query/MySQLi::query | 0.2.0
sqlite_query/SqliteDataBase::query | 0.3.0
sqlite_single_query/SqliteDataBase::singleQuery | 0.3.0
oci_parse | 0.3.0
PDO::query | 0.3.0
PDO::prepare | 0.3.0
Command Line relevant Functions
system | 0.1.0
exec | 0.1.0
proc_open | 0.1.0
passthru | 0.1.0
shell_exec | 0.3.0

Functions and Statements which will spread the tainted mark of a tainted string
Functions which untaint the tainted string
More Details


Functions which untaint the tainted string

Function | Since
addslashes | 0.1.0
addcslashes | 0.1.0
htmlspecialchars | 0.1.0
htmlentities | 0.1.0
escapeshellcmd | 0.1.0
mysql_escape_string | 0.1.0
mysql_real_escape_string | 0.1.0
mysqli_escape_string/MySQLi::escape_string | 0.1.0
mysqli_real_escape_string/MySQLi::real_escape_string | 0.1.0
sqlite_escape_string/SqliteDataBase::escapeString | 0.3.0
PDO::quote | 0.3.0

Functions and statements which will check tainted string
Taint Funktionen
More Details


Taint Funktionen

Inhaltsverzeichnis

  • is_tainted — Checks whether a string is tainted
  • taint — Taint a string
  • untaint — Untaint strings
Functions which untaint the tainted string
is_tainted
Taint


Checks whether a string is tainted

Taint Funktionen
taint
Taint Funktionen
PHP Manual

is_tainted

(PECL taint >=0.1.0)

is_tainted — Checks whether a string is tainted

Beschreibung

bool is_tainted ( string $string )

Checks whether a string is tainted

Parameter-Liste

string

Rückgabewerte

Return TRUE if the string is tainted, FALSE otherwise.

Taint Funktionen
taint
Taint Funktionen


Taint a string

is_tainted
untaint
Taint Funktionen
PHP Manual

taint

(PECL taint >=0.1.0)

taint — Taint a string

Beschreibung

bool taint ( string &$string [, string $... ] )

Make a string tainted. This is used for testing purpose only.

Parameter-Liste

string

...

Rückgabewerte

Return TRUE if the transformation is done. Always return TRUE if the taint extension is not enabled.

is_tainted
untaint
Taint Funktionen


Untaint strings

taint
Sonstige Dienste
Taint Funktionen
PHP Manual

untaint

(PECL taint >=0.1.0)

untaint — Untaint strings

Beschreibung

bool untaint ( string &$string [, string $... ] )

Untaint strings

Parameter-Liste

string

...

Rückgabewerte

taint
Sonstige Dienste
Taint Funktionen


Sonstige Dienste

  • chdb — Constant hash database
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • chdb — The chdb class
    • chdb Funktionen
  • cURL — CURL
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • cURL Funktionen
    • CURLFile — Die CURLFile Klasse
  • Event
    • Einführung
    • Installation/Konfiguration
    • Beispiele
    • Event flags
    • About event persistence
    • Event callbacks
    • Constructing signal events
    • Event — The Event class
    • EventBase — The EventBase class
    • EventBuffer — The EventBuffer class
    • EventBufferEvent — The EventBufferEvent class
    • About buffer event callbacks
    • EventConfig — The EventConfig class
    • EventDnsBase — The EventDnsBase class
    • EventHttp — The EventHttp class
    • EventHttpConnection — The EventHttpConnection class
    • EventHttpRequest — The EventHttpRequest class
    • EventListener — The EventListener class
    • EventSslContext — The EventSslContext class
    • EventUtil — The EventUtil class
  • FAM — File Alteration Monitor
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • FAM Funktionen
  • FTP
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • FTP-Funktionen
  • Gearman
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • GearmanClient — The GearmanClient class
    • GearmanJob — The GearmanJob class
    • GearmanTask — The GearmanTask class
    • GearmanWorker — The GearmanWorker class
    • GearmanException — The GearmanException class
  • Gopher — Net Gopher
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Gopher Funktionen
  • Gupnp
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Gupnp Funktionen
  • Hyperwave API
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Integration with Apache
    • Hyperwave API Funktionen
  • LDAP — Lightweight Directory Access Protocol
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Using the PHP LDAP calls
    • Beispiele
    • LDAP Funktionen
  • Memcache
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Memcache — Die Memcache Klasse
    • Memcache Funktionen
  • Memcached
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Expiration Times
    • Callbacks
    • Sessions support
    • Memcached — The Memcached class
    • MemcachedException — The MemcachedException class
  • mqseries
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • mqseries Funktionen
  • Network
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Netzwerk-Funktionen
  • RRD — RRDtool
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • RRD Funktionen
    • RRDCreator — The RRDCreator class
    • RRDGraph — The RRDGraph class
    • RRDUpdater — The RRDUpdater class
  • SAM — Simple Asynchronous Messaging
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • SAM Funktionen
  • SNMP
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • SNMP-Funktionen
    • SNMP — The SNMP class
    • SNMPException — The SNMPException class
  • Sockets
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Socket-Fehler
    • Socket-Funktionen
  • SSH2 — Secure Shell2
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • SSH2 Funktionen
  • Stomp — Stomp Client
    • Einführung
    • Installation/Konfiguration
    • Beispiele
    • Stomp Funktionen
    • Stomp — The Stomp class
    • StompFrame — The StompFrame class
    • StompException — The StompException class
  • SVM — Support Vector Machine
    • Einführung
    • Installation/Konfiguration
    • Beispiele
    • SVM — The SVM class
    • SVMModel — The SVMModel class
  • SVN — Subversion
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • SVN Funktionen
  • TCP — TCP Wrappers
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • TCP Funktionen
  • Varnish
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • VarnishAdmin — The VarnishAdmin class
    • VarnishStat — The VarnishStat class
    • VarnishLog — The VarnishLog class
  • YAZ
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • YAZ Funktionen
  • YP/NIS
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • YP/NIS-Funktionen
  • 0MQ messaging — ZMQ
    • Einführung
    • Installation/Konfiguration
    • ZMQ — The ZMQ class
    • ZMQContext — The ZMQContext class
    • ZMQSocket — The ZMQSocket class
    • ZMQPoll — The ZMQPoll class
    • ZMQDevice — The ZMQDevice class
  • ZooKeeper
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • ZooKeeper — The ZooKeeper class
untaint
chdb
Funktionsreferenz


Constant hash database

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
  • chdb — The chdb class
    • chdb::__construct — Creates a chdb instance
    • chdb::get — Gets the value associated with a key
  • chdb Funktionen
    • chdb_create — Creates a chdb file
Sonstige Dienste
Einführung
Sonstige Dienste


Einführung

CHDB (constant hash database) is a fast key-value database for constant data, realized by using a memory-mapped file and thus providing the following functionalities:

  • Extremely fast initial load, regardless of the size of the database.

  • Only the pages of the file which are actually used are loaded from the disk.

  • Once a page is loaded it is shared across multiple processes.

  • Loaded pages are cached across multiple requests and even process recycling.

A typical use of CHDB is as a faster alternative to defining many PHP constants.

CHDB is internally implemented as a hash-table using a » perfect hashing function, thus guaranteeing worst case O(1) lookup time.

chdb
Installation/Konfiguration
chdb


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
chdb


Anforderungen

This module uses » cmph (version 0.9) for providing the » perfect hashing function.

cmph 0.9 is required to install this module.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/chdb

» cmph (version 0.9) is required for installing this extension. If cmph is installed in a non-standard directory, use the --with-libcmph-dir=DIR switch, where DIR is the cmph install prefix.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
Beispiele
chdb


Beispiele

Beispiel #1 Creating a chdb file

<?php

$data = array(
    'key1' => 'value1',
    'key2' => 'value2',
    // ...
);
chdb_create('data.chdb', $data);

?>

The above example will generate a chdb file named data.chdb and containing the key-value pairs defined in $data.

Beispiel #2 Loading and looking up a chdb file

<?php

$chdb = new chdb('data.chdb');
$value1 = $chdb->get('key1');
$value2 = $chdb->get('key2');

echo $value1, PHP_EOL;
echo $value2, PHP_EOL;

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

value1
value2
Vordefinierte Konstanten
chdb
chdb


The chdb class

(PECL chdb >= 0.1.0)

Einführung

Represents a loaded chdb file.

Klassenbeschreibung

chdb {
/* Methods */
public __construct ( string $pathname )
public string get ( string $key )
}

Inhaltsverzeichnis

  • chdb::__construct — Creates a chdb instance
  • chdb::get — Gets the value associated with a key
Beispiele
chdb::__construct
chdb


Creates a chdb instance

chdb
chdb::get
chdb
PHP Manual

chdb::__construct

(PECL chdb >= 0.1.0)

chdb::__construct — Creates a chdb instance

Beschreibung

public chdb::__construct ( string $pathname )

Loads a chdb file, by mapping it into memory.

Hinweis:

While some validity checks are performed on the specified file, they are mostly there to avoid the possibility of common mistakes (for example, loading a file which is not a chdb database, or that is somehow incompatible with the current system). A maliciously crafted chdb file can thus be dangerous if loaded, so chdb files should be trusted and treated with the same security protections used for PHP shared libraries.

Parameter-Liste

pathname

The name of the file to load.

Fehler/Exceptions

Throws an exception in case the chdb file hasn't been successfully loaded.

Hinweis:

A valid chdb file might fail to load in case it was created on an architecture with a different endianness, with a different version of chdb, or if the file is too big to be mapped into memory (mostly in case of huge files and 32-bit architectures). In these cases the load will fail by throwing an exception, but otherwise not performing any illegal operation.

chdb
chdb::get
chdb


Gets the value associated with a key

chdb::__construct
chdb Funktionen
chdb
PHP Manual

chdb::get

(PECL chdb >= 0.1.0)

chdb::get — Gets the value associated with a key

Beschreibung

public string chdb::get ( string $key )

Gets the value associated with a key from a chdb database.

Parameter-Liste

key

The key for which to get the value.

Rückgabewerte

Returns a string containing the value associated with the given key, or NULL if not found.

Beispiele

Beispiel #1 chdb::get() example

<?php

$data = array(
    'key1' => 'value1',
    'key2' => 'value2',
    // ...
);
chdb_create('data.chdb', $data);

$chdb = new chdb('data.chdb');
$value1 = $chdb->get('key1');
$value2 = $chdb->get('key2');

echo $value1, PHP_EOL;
echo $value2, PHP_EOL;

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

value1
value2
chdb::__construct
chdb Funktionen
chdb


chdb Funktionen

Inhaltsverzeichnis

  • chdb_create — Creates a chdb file
chdb::get
chdb_create
chdb


Creates a chdb file

chdb Funktionen
cURL
chdb Funktionen
PHP Manual

chdb_create

(PECL chdb >= 0.1.0)

chdb_create — Creates a chdb file

Beschreibung

bool chdb_create ( string $pathname , array $data )

chdb_create() creates a chdb file containing the specified key-value pairs.

Hinweis:

chdb files are not portable across little-endian and big-endian environments. Except for that, they are portable across different architectures. Also compatibility across different versions of chdb is not guaranteed.

Parameter-Liste

pathname

The name of the file to create.

If a file with the same name already exists, it is overwritten.

data

An array containing the key-value pairs to store in the chdb file.

Keys and values are converted to strings before being written to the file, as chdb only support the string type. Note that binary strings are supported as well, both as keys and values.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Throws an exception in case the chdb file hasn't been successfully created.

Beispiele

Beispiel #1 chdb_create() example

<?php

$data = array(
    'key1' => 'value1',
    'key2' => 'value2',
    // ...
);
chdb_create('data.chdb', $data);

?>

The above example will generate a chdb file named data.chdb and containing the key-value pairs defined in $data.

chdb Funktionen
cURL
chdb Funktionen


CURL

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • Grundlegende Nutzung
  • cURL Funktionen
    • curl_close — Eine cURL-Session beenden
    • curl_copy_handle — Kopieren eines cURL-Handles inklusiver aller Voreinstellungen
    • curl_errno — Gibt die letzte Fehlernummer zurück
    • curl_error — Gibt einen String zurück, der den letzten Fehler der aktuellen Session enthält
    • curl_escape — URL-kodiert den angegebenen String
    • curl_exec — Eine cURL-Session ausführen
    • curl_file_create — Erstellt ein CURLFile-Objekt
    • curl_getinfo — Informationen zu einem bestimmten Transfer abfragen
    • curl_init — Eine cURL-Session initialisieren
    • curl_multi_add_handle — Fügt ein reguläres cURL-Handle einem cURL-Multi-Handle hinzu
    • curl_multi_close — Eine Gruppe von cURL-Handlern schließen
    • curl_multi_exec — Führt die Unter-Verbindungen des cURL-Handles aus
    • curl_multi_getcontent — Den Inhalt des cURL-Handles zurückgeben, falls CURLOPT_RETURNTRANSFER gesetzt ist
    • curl_multi_info_read — Informationen über die aktuellen Transfers abrufen
    • curl_multi_init — Gibt einen cURL-Multi-Handle zurück
    • curl_multi_remove_handle — Einen Multi-Handle von einer Menge aus cURL-Handles entfernen
    • curl_multi_select — Alle Sockets abfragen, die mit der cURL Erweiterung assoziiert sind und ausgewählt werden können
    • curl_multi_setopt — Setz eine Option für das cURL multi-Handle
    • curl_multi_strerror — Gibt einen den Fehler beschreibenden String zurück
    • curl_pause — Pausiert und setzt eine Verbindung fort
    • curl_reset — Reset all options of a libcurl session handle
    • curl_setopt_array — Mehrere Optionen für einen cURL-Transfer setzen
    • curl_setopt — Eine Option für einen cURL Transfer setzen
    • curl_share_close — Close a cURL share handle
    • curl_share_init — Initialize a cURL share handle
    • curl_share_setopt — Set an option for a cURL share handle.
    • curl_strerror — Return string describing the given error code
    • curl_unescape — Decodes the given URL encoded string
    • curl_version — Gibt die cURL-Version zurück
  • CURLFile — Die CURLFile Klasse
    • CURLFile::__construct — Erstellt ein CURLFile Objekt
    • CURLFile::getFilename — Ermittelt den Dateinamen
    • CURLFile::getMimeType — Ermittelt den Mime-Typ
    • CURLFile::getPostFilename — Ermittelt den Dateinamen für POST
    • CURLFile::setMimeType — Setzt den Mime-Typ fest
    • CURLFile::setPostFilename — Setzt den Dateinamen für POST fest
    • CURLFile::__wakeup — Benutzerausführung
chdb_create
Einführung
Sonstige Dienste


Einführung

PHP unterstützt libcurl, eine von Daniel Stenberg entwickelte Bibliothek, die Verbindungen zu verschiedensten Servern unter Verwendung diverser Protokolle erlaubt. Folgende Protokolle werden zur Zeit unterstützt: HTTP, HTTPS, FTP, gopher, telnet, DICT, FILE und LDAP. Libcurl unterstützt außerdem SSL-Zertifikate, HTTP POST, HTTP PUT, das Hochladen von Dateien mittels FTP (zu diesem Zweck kann auch die FTP-Erweiterung benutzt werden), Formular-basierte Datei-Uploads, Proxies, Cookies und Benutzer/Passwort-Authentifikation.

cURL
Installation/Konfiguration
cURL


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
cURL


Anforderungen

Um cURL Funktionen nutzen zu können, muss man das » cURL-Paket installieren. PHP fordert libcurl 7.10.5 oder neuer.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Um PHP mit cURL-Unterstützung nutzen zu können, muss man PHP mit der Option --with-curl[=DIR] kompilieren, wobei DIR das Verzeichnis angibt in dem sich die lib und include Verzeichnisse befinden. In dem include Verzeichnis sollte ein Unterverzeichnis namens curl existieren, dass die Dateien easy.h und curl.h enthält. Zudem sollte eine Datei namens libcurl.a in dem lib-Verzeichnis sein. Ab PHP 4.3.0 kann man PHP mit der Option --with-curlwrappers konfigurieren, um cURL für URL-Streams nutzen zu können. Diese Möglichkeit wurde mit PHP 5.5.0 nach PECL verschoben.

Hinweis: Anmerkung für Win32-Nutzer
Um dieses Modul in einer Windows-Umgebung nutzen zu können, müssen libeay32.dll und ssleay32.dll im PATH verfügbar sein. libcurl.dll von der cURL-Webseite wird nicht benötigt.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

cURL Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
curl.cainfo | NULL | PHP_INI_SYSTEM | Verfügbar seit PHP 5.3.7.
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

curl.cainfo string

Ein standardmäßiger Wert für die CURLOPT_CAINFO option. Dies ist für einen absoluten Pfad notwendig.

Installation
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

Diese Erweiterung definiert zwei Ressource-Typen, ein cURL-Handle und ein cURL-Multi-Handle.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

Beschreibungen und Funktionsweise dieser Konstanten sind unter curl_setopt(), curl_multi_setopt() und curl_getinfo() verfügbar.

CURLOPT_AUTOREFERER (integer)
Verfügbar seit PHP 5.1.0
CURLOPT_COOKIESESSION (integer)
Verfügbar seit PHP 5.1.0
CURLOPT_DNS_USE_GLOBAL_CACHE (integer)
CURLOPT_DNS_CACHE_TIMEOUT (integer)
CURLOPT_FTP_SSL (integer)
Verfügbar seit PHP 5.2.0
CURLFTP_CREATE_DIR (integer)
Verfübar seit PHP 7.0.7 und cURL 7.19.3
CURLFTP_CREATE_DIR_NONE (integer)
Vefügbar seit PHP 7.0.7 und cURL 7.19.3
CURLFTP_CREATE_DIR_RETRY (integer)
Verfübar seit PHP 7.0.7 und cURL 7.19.3
CURLFTPSSL_TRY (integer)
Verfügbar seit PHP 5.2.0
CURLFTPSSL_ALL (integer)
Verfügbar seit PHP 5.2.0
CURLFTPSSL_CONTROL (integer)
Verfügbar seit PHP 5.2.0
CURLFTPSSL_NONE (integer)
Verfügbar seit PHP 5.2.0
CURLOPT_PRIVATE (integer)
Verfügbar seit PHP 5.2.4
CURLOPT_FTPSSLAUTH (integer)
Verfügbar seit PHP 5.1.0
CURLOPT_PORT (integer)
CURLOPT_FILE (integer)
CURLOPT_INFILE (integer)
CURLOPT_INFILESIZE (integer)
CURLOPT_URL (integer)
CURLOPT_PROXY (integer)
CURLOPT_VERBOSE (integer)
CURLOPT_HEADER (integer)
CURLOPT_HTTPHEADER (integer)
CURLOPT_NOPROGRESS (integer)
CURLOPT_NOBODY (integer)
CURLOPT_FAILONERROR (integer)
CURLOPT_UPLOAD (integer)
CURLOPT_POST (integer)
CURLOPT_FTPLISTONLY (integer)
CURLOPT_FTPAPPEND (integer)
CURLOPT_FTP_CREATE_MISSING_DIRS (integer)
CURLOPT_NETRC (integer)
CURLOPT_FOLLOWLOCATION (integer)
Diese Konstante ist nicht verfügbar, wenn open_basedir oder safe_mode aktiviert ist.
CURLOPT_FTPASCII (integer)
CURLOPT_PUT (integer)
CURLOPT_MUTE (integer)
CURLOPT_USERPWD (integer)
CURLOPT_PROXYUSERPWD (integer)
CURLOPT_RANGE (integer)
CURLOPT_TIMEOUT (integer)
CURLOPT_TIMEOUT_MS (integer)
CURLOPT_TCP_NODELAY (integer)
Verfügbar seit PHP 5.2.1
CURLOPT_POSTFIELDS (integer)
CURLOPT_PROGRESSFUNCTION (integer)
Verfügbar seit PHP 5.3.0
CURLOPT_REFERER (integer)
CURLOPT_USERAGENT (integer)
CURLOPT_FTPPORT (integer)
CURLOPT_FTP_USE_EPSV (integer)
CURLOPT_LOW_SPEED_LIMIT (integer)
CURLOPT_LOW_SPEED_TIME (integer)
CURLOPT_RESUME_FROM (integer)
CURLOPT_COOKIE (integer)
CURLOPT_SSLCERT (integer)
CURLOPT_SSLCERTPASSWD (integer)
CURLOPT_WRITEHEADER (integer)
CURLOPT_SSL_VERIFYHOST (integer)
CURLOPT_COOKIEFILE (integer)
CURLOPT_SSLVERSION (integer)
CURL_SSLVERSION_DEFAULT (integer)
CURL_SSLVERSION_TLSv1 (integer)
CURL_SSLVERSION_SSLv2 (integer)
CURL_SSLVERSION_SSLv3 (integer)
CURL_SSLVERSION_TLSv1_0 (integer)
Verfügbar seit PHP 5.5.19 und 5.6.3
CURL_SSLVERSION_TLSv1_1 (integer)
Verfügbar seit PHP 5.5.19 und 5.6.3
CURL_SSLVERSION_TLSv1_2 (integer)
Verfügbar seit PHP 5.5.19 und 5.6.3
CURLOPT_TIMECONDITION (integer)
CURLOPT_TIMEVALUE (integer)
CURLOPT_CUSTOMREQUEST (integer)
CURLOPT_STDERR (integer)
CURLOPT_TRANSFERTEXT (integer)
CURLOPT_RETURNTRANSFER (integer)
CURLOPT_QUOTE (integer)
CURLOPT_POSTQUOTE (integer)
CURLOPT_INTERFACE (integer)
CURLOPT_KRB4LEVEL (integer)
CURLOPT_HTTPPROXYTUNNEL (integer)
CURLOPT_FILETIME (integer)
CURLOPT_WRITEFUNCTION (integer)
CURLOPT_READFUNCTION (integer)
CURLOPT_PASSWDFUNCTION (integer)
CURLOPT_HEADERFUNCTION (integer)
CURLOPT_MAXREDIRS (integer)
CURLOPT_MAXCONNECTS (integer)
CURLOPT_CLOSEPOLICY (integer)
Entfernt in PHP 5.6.0.
CURLOPT_FRESH_CONNECT (integer)
CURLOPT_FORBID_REUSE (integer)
CURLOPT_RANDOM_FILE (integer)
CURLOPT_EGDSOCKET (integer)
CURLOPT_CONNECTTIMEOUT (integer)
CURLOPT_CONNECTTIMEOUT_MS (integer)
CURLOPT_SSL_VERIFYPEER (integer)
CURLOPT_CAINFO (integer)
CURLOPT_CAPATH (integer)
CURLOPT_COOKIEJAR (integer)
CURLOPT_SSL_CIPHER_LIST (integer)
CURLOPT_BINARYTRANSFER (integer)
CURLOPT_NOSIGNAL (integer)
CURLOPT_PROXYTYPE (integer)
Verfügbar seit cURL 7.10.
CURLOPT_BUFFERSIZE (integer)
CURLOPT_HTTPGET (integer)
CURLOPT_HTTP_VERSION (integer)
CURLOPT_SSLKEY (integer)
CURLOPT_SSLKEYTYPE (integer)
CURLOPT_SSLKEYPASSWD (integer)
CURLOPT_SSLENGINE (integer)
CURLOPT_SSLENGINE_DEFAULT (integer)
CURLOPT_SSLCERTTYPE (integer)
CURLOPT_CRLF (integer)
CURLOPT_ENCODING (integer)
CURLOPT_PROXYPORT (integer)
CURLOPT_UNRESTRICTED_AUTH (integer)
CURLOPT_FTP_USE_EPRT (integer)
CURLOPT_HTTP200ALIASES (integer)
CURLOPT_HTTPAUTH (integer)
CURLAUTH_BASIC (integer)
CURLAUTH_DIGEST (integer)
CURLAUTH_GSSNEGOTIATE (integer)
CURLAUTH_NEGOTIATE (integer)
Verfübar seit PHP 7.0.7 und cURL 7.38.0.
CURLAUTH_NTLM (integer)
CURLAUTH_ANY (integer)
CURLAUTH_ANYSAFE (integer)
CURLOPT_PROXYAUTH (integer)
CURLOPT_MAX_RECV_SPEED_LARGE (integer)
Verfügbar seit PHP 5.4.0 und cURL 7.15.5
CURLOPT_MAX_SEND_SPEED_LARGE (integer)
Verfügbar seit PHP 5.4.0 und cURL 7.15.5
CURLOPT_HEADEROPT (integer)
Verfübar seit PHP 7.0.7 und cURL 7.37.0
CURLOPT_PROXYHEADER (integer)
Verfübar seit PHP 7.0.7 und cURL 7.37.0
CURLCLOSEPOLICY_LEAST_RECENTLY_USED (integer)
Entfernt in PHP 5.6.0.
CURLCLOSEPOLICY_LEAST_TRAFFIC (integer)
Entfernt in PHP 5.6.0.
CURLCLOSEPOLICY_SLOWEST (integer)
Entfernt in PHP 5.6.0.
CURLCLOSEPOLICY_CALLBACK (integer)
Entfernt in PHP 5.6.0.
CURLCLOSEPOLICY_OLDEST (integer)
Entfernt in PHP 5.6.0.
CURLINFO_PRIVATE (integer)
Verfügbar seit PHP 5.2.4
CURLINFO_EFFECTIVE_URL (integer)
CURLINFO_HTTP_CODE (integer)
CURLINFO_HEADER_OUT (integer)
Verfügbar seit PHP 6.0.0
CURLINFO_HEADER_SIZE (integer)
CURLINFO_REQUEST_SIZE (integer)
CURLINFO_TOTAL_TIME (integer)
CURLINFO_NAMELOOKUP_TIME (integer)
CURLINFO_CONNECT_TIME (integer)
CURLINFO_PRETRANSFER_TIME (integer)
CURLINFO_SIZE_UPLOAD (integer)
CURLINFO_SIZE_DOWNLOAD (integer)
CURLINFO_SPEED_DOWNLOAD (integer)
CURLINFO_SPEED_UPLOAD (integer)
CURLINFO_FILETIME (integer)
CURLINFO_SSL_VERIFYRESULT (integer)
CURLINFO_CONTENT_LENGTH_DOWNLOAD (integer)
CURLINFO_CONTENT_LENGTH_UPLOAD (integer)
CURLINFO_STARTTRANSFER_TIME (integer)
CURLINFO_CONTENT_TYPE (integer)
CURLINFO_REDIRECT_TIME (integer)
CURLINFO_REDIRECT_COUNT (integer)
CURLINFO_REDIRECT_URL (string)
Verfügbar seit PHP 5.3.7
CURLINFO_PRIMARY_IP (string)
Verfügbar seit PHP 5.4.7
CURLINFO_PRIMARY_PORT (integer)
Verfügbar seit PHP 5.4.7
CURLINFO_LOCAL_IP (string)
Verfügbar seit PHP 5.4.7
CURLINFO_LOCAL_PORT (integer)
Verfügbar seit PHP 5.4.7
CURL_TIMECOND_IFMODSINCE (integer)
CURL_TIMECOND_IFUNMODSINCE (integer)
CURL_TIMECOND_LASTMOD (integer)
CURL_VERSION_IPV6 (integer)
CURL_VERSION_KERBEROS4 (integer)
CURL_VERSION_SSL (integer)
CURL_VERSION_LIBZ (integer)
CURLVERSION_NOW (integer)
CURLE_OK (integer)
CURLE_UNSUPPORTED_PROTOCOL (integer)
CURLE_FAILED_INIT (integer)
CURLE_URL_MALFORMAT (integer)
CURLE_URL_MALFORMAT_USER (integer)
CURLE_COULDNT_RESOLVE_PROXY (integer)
CURLE_COULDNT_RESOLVE_HOST (integer)
CURLE_COULDNT_CONNECT (integer)
CURLE_FTP_WEIRD_SERVER_REPLY (integer)
CURLE_FTP_ACCESS_DENIED (integer)
CURLE_FTP_USER_PASSWORD_INCORRECT (integer)
CURLE_FTP_WEIRD_PASS_REPLY (integer)
CURLE_FTP_WEIRD_USER_REPLY (integer)
CURLE_FTP_WEIRD_PASV_REPLY (integer)
CURLE_FTP_WEIRD_227_FORMAT (integer)
CURLE_FTP_CANT_GET_HOST (integer)
CURLE_FTP_CANT_RECONNECT (integer)
CURLE_FTP_COULDNT_SET_BINARY (integer)
CURLE_PARTIAL_FILE (integer)
CURLE_FTP_COULDNT_RETR_FILE (integer)
CURLE_FTP_WRITE_ERROR (integer)
CURLE_FTP_QUOTE_ERROR (integer)
CURLE_HTTP_NOT_FOUND (integer)
CURLE_WRITE_ERROR (integer)
CURLE_MALFORMAT_USER (integer)
CURLE_FTP_COULDNT_STOR_FILE (integer)
CURLE_READ_ERROR (integer)
CURLE_OUT_OF_MEMORY (integer)
CURLE_OPERATION_TIMEOUTED (integer)
CURLE_FTP_COULDNT_SET_ASCII (integer)
CURLE_FTP_PORT_FAILED (integer)
CURLE_FTP_COULDNT_USE_REST (integer)
CURLE_FTP_COULDNT_GET_SIZE (integer)
CURLE_HTTP_RANGE_ERROR (integer)
CURLE_HTTP_POST_ERROR (integer)
CURLE_SSL_CONNECT_ERROR (integer)
CURLE_FTP_BAD_DOWNLOAD_RESUME (integer)
CURLE_FILE_COULDNT_READ_FILE (integer)
CURLE_LDAP_CANNOT_BIND (integer)
CURLE_LDAP_SEARCH_FAILED (integer)
CURLE_LIBRARY_NOT_FOUND (integer)
CURLE_FUNCTION_NOT_FOUND (integer)
CURLE_ABORTED_BY_CALLBACK (integer)
CURLE_BAD_FUNCTION_ARGUMENT (integer)
CURLE_BAD_CALLING_ORDER (integer)
CURLE_HTTP_PORT_FAILED (integer)
CURLE_BAD_PASSWORD_ENTERED (integer)
CURLE_TOO_MANY_REDIRECTS (integer)
CURLE_UNKNOWN_TELNET_OPTION (integer)
CURLE_TELNET_OPTION_SYNTAX (integer)
CURLE_OBSOLETE (integer)
CURLE_SSL_PEER_CERTIFICATE (integer)
CURLE_GOT_NOTHING (integer)
CURLE_SSL_ENGINE_NOTFOUND (integer)
CURLE_SSL_ENGINE_SETFAILED (integer)
CURLE_SEND_ERROR (integer)
CURLE_RECV_ERROR (integer)
CURLE_SHARE_IN_USE (integer)
CURLE_SSL_CERTPROBLEM (integer)
CURLE_SSL_CIPHER (integer)
CURLE_SSL_CACERT (integer)
CURLE_BAD_CONTENT_ENCODING (integer)
CURLE_LDAP_INVALID_URL (integer)
CURLE_FILESIZE_EXCEEDED (integer)
CURLE_FTP_SSL_FAILED (integer)
CURLE_SSH (integer)
Verfügbar seit PHP 5.3.0 und cURL 7.16.1.
CURLFTPAUTH_DEFAULT (integer)
Verfügbar seit PHP 5.1.0
CURLFTPAUTH_SSL (integer)
Verfügbar seit PHP 5.1.0
CURLFTPAUTH_TLS (integer)
Verfügbar seit PHP 5.1.0
CURLPROXY_HTTP (integer)
Verfügbar seit cURL 7.1.0.
CURLPROXY_SOCKS4 (integer)
Verfübar seit PHP 5.2.10 und cURL 7.10.
CURLPROXY_SOCKS5 (integer)
Verfügbar seit cURL 7.10.
CURL_NETRC_OPTIONAL (integer)
CURL_NETRC_IGNORED (integer)
CURL_NETRC_REQUIRED (integer)
CURL_HTTP_VERSION_NONE (integer)
CURL_HTTP_VERSION_1_0 (integer)
CURL_HTTP_VERSION_1_1 (integer)
CURLM_CALL_MULTI_PERFORM (integer)
CURLM_OK (integer)
CURLM_BAD_HANDLE (integer)
CURLM_BAD_EASY_HANDLE (integer)
CURLM_OUT_OF_MEMORY (integer)
CURLM_INTERNAL_ERROR (integer)
CURLMSG_DONE (integer)
CURLOPT_KEYPASSWD (integer)
CURLOPT_SSH_AUTH_TYPES (integer)
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 (integer)
CURLOPT_SSH_PRIVATE_KEYFILE (integer)
CURLOPT_SSH_PUBLIC_KEYFILE (integer)
CURLMOPT_PIPELINING (integer)
Verfügbar seit PHP 5.5.0 und cURL 7.16.0.
CURLMOPT_MAXCONNECTS (integer)
Verfügbar seit PHP 5.5.0 und cURL 7.16.3.
CURLSSH_AUTH_ANY (integer)
CURLSSH_AUTH_DEFAULT (integer)
CURLSSH_AUTH_HOST (integer)
CURLSSH_AUTH_KEYBOARD (integer)
CURLSSH_AUTH_NONE (integer)
CURLSSH_AUTH_PASSWORD (integer)
CURLSSH_AUTH_PUBLICKEY (integer)
CURL_WRAPPERS_ENABLED (integer)
Definiert, wenn PHP mit --with-curlwrappers konfiguriert wurde. In PHP 5.5.0 nach PECL verschoben.
CURLPAUSE_ALL (integer)
Verfügbar seit PHP 5.5.0 und cURL 7.18.0.
CURLPAUSE_CONT (integer)
Verfügbar seit PHP 5.5.0 und cURL 7.18.0.
CURLPAUSE_RECV (integer)
Verfügbar seit PHP 5.5.0 und cURL 7.18.0.
CURLPAUSE_RECV_CONT (integer)
Verfügbar seit PHP 5.5.0 und cURL 7.18.0.
CURLPAUSE_SEND (integer)
Verfügbar seit PHP 5.5.0 und cURL 7.18.0.
CURLPAUSE_SEND_CONT (integer)
Verfügbar seit PHP 5.5.0 und cURL 7.18.0.
CURLPIPE_NOTHING (integer)
Verfügbar seit PHP 7.0.0 und cURL 7.43.0.
CURLPIPE_HTTP1 (integer)
Verfügbar seit PHP 7.0.0 und cURL 7.43.0.
CURLPIPE_MULTIPLEX (integer)
Verfübar seit PHP 7.0.0 and cURL 7.43.0.
CURLPROXY_SOCKS4A (integer)
Verfügbar seit PHP 5.5.23 und PHP 5.6.7 und cURL 7.18.0.
CURLPROXY_SOCKS5_HOSTNAME (integer)
Verfügbar seit PHP 5.5.23 und PHP 5.6.7 und cURL 7.18.0.
Ressource-Typen
Beispiele
cURL


Beispiele

Inhaltsverzeichnis

  • Grundlegende Nutzung
Vordefinierte Konstanten
Grundlegende Nutzung
cURL


Grundlegende Nutzung

Wenn PHP mit cURL-Unterstützung kompiliert und installiert ist, kann mit der Benutzung der cURL-Funktionen begonnen werden. Die Idee die hinter den Funktionen steckt, ist dass man mit Hilfe von curl_init() eine cURL-Session initialisiert, alle für den Transfer nötigen Optionen unter Verwendung von curl_setopt() setzt und dann die Session mittels curl_exec() ausführt, um dann schließlich curl_close() zur Beendigung der Session zu nutzen. Folgendes Beispiel nutzt die cURL-Funktionen, um die Homepage von example.com in eine Datei zu speichern:

Beispiel #1 Nutzung von PHPs cURL-Modul, um die Homepage von example.com herunterzuladen

<?php

$ch = curl_init("http://www.example.com/");
$fp = fopen("example_homepage.txt", "w");

curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);

curl_exec($ch);
curl_close($ch);
fclose($fp);
?>

Beispiele
cURL Funktionen
Beispiele


cURL Funktionen

Inhaltsverzeichnis

  • curl_close — Eine cURL-Session beenden
  • curl_copy_handle — Kopieren eines cURL-Handles inklusiver aller Voreinstellungen
  • curl_errno — Gibt die letzte Fehlernummer zurück
  • curl_error — Gibt einen String zurück, der den letzten Fehler der aktuellen Session enthält
  • curl_escape — URL-kodiert den angegebenen String
  • curl_exec — Eine cURL-Session ausführen
  • curl_file_create — Erstellt ein CURLFile-Objekt
  • curl_getinfo — Informationen zu einem bestimmten Transfer abfragen
  • curl_init — Eine cURL-Session initialisieren
  • curl_multi_add_handle — Fügt ein reguläres cURL-Handle einem cURL-Multi-Handle hinzu
  • curl_multi_close — Eine Gruppe von cURL-Handlern schließen
  • curl_multi_exec — Führt die Unter-Verbindungen des cURL-Handles aus
  • curl_multi_getcontent — Den Inhalt des cURL-Handles zurückgeben, falls CURLOPT_RETURNTRANSFER gesetzt ist
  • curl_multi_info_read — Informationen über die aktuellen Transfers abrufen
  • curl_multi_init — Gibt einen cURL-Multi-Handle zurück
  • curl_multi_remove_handle — Einen Multi-Handle von einer Menge aus cURL-Handles entfernen
  • curl_multi_select — Alle Sockets abfragen, die mit der cURL Erweiterung assoziiert sind und ausgewählt werden können
  • curl_multi_setopt — Setz eine Option für das cURL multi-Handle
  • curl_multi_strerror — Gibt einen den Fehler beschreibenden String zurück
  • curl_pause — Pausiert und setzt eine Verbindung fort
  • curl_reset — Reset all options of a libcurl session handle
  • curl_setopt_array — Mehrere Optionen für einen cURL-Transfer setzen
  • curl_setopt — Eine Option für einen cURL Transfer setzen
  • curl_share_close — Close a cURL share handle
  • curl_share_init — Initialize a cURL share handle
  • curl_share_setopt — Set an option for a cURL share handle.
  • curl_strerror — Return string describing the given error code
  • curl_unescape — Decodes the given URL encoded string
  • curl_version — Gibt die cURL-Version zurück
Grundlegende Nutzung
curl_close
cURL


Eine cURL-Session beenden

cURL Funktionen
curl_copy_handle
cURL Funktionen
PHP Manual

curl_close

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

curl_close — Eine cURL-Session beenden

Beschreibung

void curl_close ( resource $ch )

Diese Funktion beendet eine cURL-Session und gibt alle Resourcen frei. Der cURL-Handle ch wird ebenfalls gelöscht.

Parameter-Liste

ch

Ein von curl_init() zurückgegebenes cURL-Handle.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Initialisierung einer neuen cURL-Session und das abrufen einer Webseite

<?php
// create a new cURL resource
$ch = curl_init();

// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);

// grab URL and pass it to the browser
curl_exec($ch);

// close cURL resource, and free up system resources
curl_close($ch);
?>

Siehe auch

  • curl_init() - Eine cURL-Session initialisieren
  • curl_multi_close() - Eine Gruppe von cURL-Handlern schließen

cURL Funktionen
curl_copy_handle
cURL Funktionen


Kopieren eines cURL-Handles inklusiver aller Voreinstellungen

curl_close
curl_errno
cURL Funktionen
PHP Manual

curl_copy_handle

(PHP 5, PHP 7)

curl_copy_handle — Kopieren eines cURL-Handles inklusiver aller Voreinstellungen

Beschreibung

resource curl_copy_handle ( resource $ch )

Diese Funktion kopiert ein cURL-Handle und gibt ein neues Handle mit den gleichen Voreinstellungen zurück.

Parameter-Liste

ch

Ein von curl_init() zurückgegebenes cURL-Handle.

Rückgabewerte

Gibt ein neues cURL-Handle zurück.

Beispiele

Beispiel #1 cURL-Handle kopieren

<?php
// erzeuge einen neuen cURL-Handle
$ch = curl_init();

// setze den URL und andere Optionen
curl_setopt($ch, CURLOPT_URL, 'http://www.example.com/');
curl_setopt($ch, CURLOPT_HEADER, 0);

// handle kopieren
$ch2 = curl_copy_handle($ch);

// URL auslesen und im Browser ausgeben
curl_exec($ch2);

// schliesse die cURL-Handles
curl_close($ch2);
curl_close($ch);
?>

curl_close
curl_errno
cURL Funktionen


Gibt die letzte Fehlernummer zurück

curl_copy_handle
curl_error
cURL Funktionen
PHP Manual

curl_errno

(PHP 4 >= 4.0.3, PHP 5, PHP 7)

curl_errno — Gibt die letzte Fehlernummer zurück

Beschreibung

int curl_errno ( resource $ch )

Gibt die Fehlernummer der letzten cURL-Operation zurück.

Parameter-Liste

ch

Ein von curl_init() zurückgegebenes cURL-Handle.

Rückgabewerte

Gibt die Fehlernummer zurück oder 0 (null), wenn kein Fehler aufgetreten ist.

Beispiele

Beispiel #1 curl_errno()-Beispiel

<?php
// Eine cURL-Ressource für ein nicht existierendes Ziel erstellen
$ch = curl_init('http://404.php.net/');

// ausführen...
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);

// prüfen, ob ein Fehler aufgetreten ist
if(curl_errno($ch))
{
    echo 'cURL-Fehler: ' . curl_error($ch);
}

// Ressource schließen
curl_close($ch);
?>

Siehe auch

  • curl_error() - Gibt einen String zurück, der den letzten Fehler der aktuellen Session enthält
  • » cURL-Fehler-Nummern

curl_copy_handle
curl_error
cURL Funktionen


Gibt einen String zurück, der den letzten Fehler der aktuellen Session enthält

curl_errno
curl_escape
cURL Funktionen
PHP Manual

curl_error

(PHP 4 >= 4.0.3, PHP 5, PHP 7)

curl_error — Gibt einen String zurück, der den letzten Fehler der aktuellen Session enthält

Beschreibung

string curl_error ( resource $ch )

Gibt eine Fehlermeldung in Klartext für die letzte cURL-Operation zurück.

Parameter-Liste

ch

Ein von curl_init() zurückgegebenes cURL-Handle.

Rückgabewerte

Gibt die Fehlermeldung oder, falls kein Fehler aufgetreten ist, '' (den leeren String) zurück.

Beispiele

Beispiel #1 curl_error()-Beispiel

<?php
// Eine cURL-Ressource für ein nicht existierendes Ziel erstellen
$ch = curl_init('http://404.php.net/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

if(curl_exec($ch) === false)
{
    echo 'Curl-Fehler: ' . curl_error($ch);
}
else
{
    echo 'Operation ohne Fehler vollständig ausgeführt';
}

// Ressource schließen
curl_close($ch);
?>

Siehe auch

  • curl_errno() - Gibt die letzte Fehlernummer zurück
  • » cURL-Fehler-Meldungen

curl_errno
curl_escape
cURL Funktionen


URL-kodiert den angegebenen String

curl_error
curl_exec
cURL Funktionen
PHP Manual

curl_escape

(PHP 5 >= 5.5.0, PHP 7)

curl_escape — URL-kodiert den angegebenen String

Beschreibung

string curl_escape ( resource $ch , string $str )

Diese Funktion URL-kodiert den angegebenen String gemäß » RFC 3986.

Parameter-Liste

ch

Ein von curl_init() zurückgegebenes cURL-Handle.

str

Der zu kodierende String.

Rückgabewerte

Gibt den kodierten String zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 curl_escape() Beispiel

<?php
// Neues cURL-Handle erstellen
$ch = curl_init();

// String kodieren, der als GET-Parameter verwendet wird
$location = curl_escape($ch, 'Hofbräuhaus / München');
// Ergebnis: Hofbr%C3%A4uhaus%20%2F%20M%C3%BCnchen

// URL mit dem kodierten String erstellen
$url = "http://example.com/add_location.php?location={$location}";
// Ergebnis: http://example.com/add_location.php?location=Hofbr%C3%A4uhaus%20%2F%20M%C3%BCnchen

// HTTP-Anfrage senden und cURL-Handle schließen
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
curl_close($ch);
?>

Siehe auch

  • curl_unescape() - Decodes the given URL encoded string
  • urlencode() - URL-kodiert einen String
  • rawurlencode() - URL-Kodierung nach RFC 3986
  • » RFC 3986

curl_error
curl_exec
cURL Funktionen


Eine cURL-Session ausführen

curl_escape
curl_file_create
cURL Funktionen
PHP Manual

curl_exec

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

curl_exec — Eine cURL-Session ausführen

Beschreibung

mixed curl_exec ( resource $ch )

Ausführen der übergegebenen cURL-Session.

Diese Funktion sollte aufgerufen werden, nachdem eine cURL-Session initialisiert wurde und alle Optionen für jene gesetzt sind.

Parameter-Liste

ch

Ein von curl_init() zurückgegebenes cURL-Handle.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. Ist jedoch die Option CURLOPT_RETURNTRANSFER gesetzt so wird das Ergebnis des cURL-Transfers zurückgegeben, im Falle eines Fehlers FALSE.

Warnung

Diese Funktion kann sowohl das boolsche FALSE zurückliefern, als auch einen nicht-boolschen Wert, welcher zu FALSE ausgewertet wird. Weitere Informationen entnehmen Sie bitte dem Abschnitt über die boolschen Typen. Benutzen Sie deshalb den === Operator, um den Rückgabewert dieser Funktion zu überprüfen.

Beispiele

Beispiel #1 Abrufen einer Webseite

<?php
 // erzeuge einen neuen cURL-Handle
 $ch = curl_init();

 // setze die URL und andere Optionen
 curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
 curl_setopt($ch, CURLOPT_HEADER, 0);

 // führe die Aktion aus und gib die Daten an den Browser weiter
 curl_exec($ch);

 // schließe den cURL-Handle und gib die Systemresourcen frei
 curl_close($ch);
 ?>

Siehe auch

  • curl_multi_exec() - Führt die Unter-Verbindungen des cURL-Handles aus

curl_escape
curl_file_create
cURL Funktionen


Erstellt ein CURLFile-Objekt

curl_exec
curl_getinfo
cURL Funktionen
PHP Manual

curl_file_create

(PHP 5 >= 5.5.0, PHP 7)

curl_file_create — Erstellt ein CURLFile-Objekt

Beschreibung

Diese Funktion ist ein Alias für: CURLFile::__construct()

curl_exec
curl_getinfo
cURL Funktionen


Informationen zu einem bestimmten Transfer abfragen

curl_file_create
curl_init
cURL Funktionen
PHP Manual

curl_getinfo

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

curl_getinfo — Informationen zu einem bestimmten Transfer abfragen

Beschreibung

mixed curl_getinfo ( resource $ch [, int $opt ] )

Gibt Informationen über den letzen Transfer zurück.

Parameter-Liste

ch

Ein von curl_init() zurückgegebenes cURL-Handle.

opt

Eine der folgenden Konstanten:

  • CURLINFO_EFFECTIVE_URL - Letzter effektiver URL
  • CURLINFO_HTTP_CODE - Zuletzt empfangener HTTP-Code
  • CURLINFO_FILETIME - Letzte Änderung des Dokuments, bei aktivierter CURLOPT_FILETIME Option; wenn -1 zurückgegeben wird ist die Zeit unbekannt
  • CURLINFO_TOTAL_TIME - Gesamtdauer des letzten Transfers in Sekunden
  • CURLINFO_NAMELOOKUP_TIME - Zeit in Sekunden zur Auflösung des Hostnamens
  • CURLINFO_CONNECT_TIME - Dauer des Verbindungsaufbaus in Sekunden
  • CURLINFO_PRETRANSFER_TIME - Zeit in Sekunden zwischen dem Start und dem eigentlichen Beginn des Empfangs
  • CURLINFO_STARTTRANSFER_TIME - Zeit in Sekunden bis zur Übertragung des ersten Bytes
  • CURLINFO_REDIRECT_COUNT - Anzahl der Weiterleitungen, bei aktivierter CURLOPT_FOLLOWLOCATION Option
  • CURLINFO_REDIRECT_TIME - Zeit in Sekunden, die von allen Umleitungsschritten beansprucht wird, bevor der eigentliche Transfer beginnt
  • CURLINFO_REDIRECT_URL - Bei deaktivierter CURLOPT_FOLLOWLOCATION: die Weiterleitungs-URL, die in der letzten Transaktion gefunden wurde, und die als nächstes manuell angefordert werden sollte. Bei aktivierter CURLOPT_FOLLOWLOCATION Option ist dies immer leer. Die Weiterleitungs-URL ist in diesem Fall in CURLINFO_EFFECTIVE_URL verfügbar
  • CURLINFO_PRIMARY_IP - Die IP-Adresse der jüngsten Verbindung
  • CURLINFO_PRIMARY_PORT - Ziel-Port der jüngsten Verbindung
  • CURLINFO_LOCAL_IP - lokale (Quell-) IP-Adresse der jüngsten Verbindung
  • CURLINFO_LOCAL_PORT - lokaler (Quell-) Port der jüngsten Verbindung
  • CURLINFO_SIZE_UPLOAD - Anzahl der gesendeten Bytes
  • CURLINFO_SIZE_DOWNLOAD - Anzahl der empfangenen Bytes
  • CURLINFO_SPEED_DOWNLOAD - Durchschnittliche Download-Geschwindigkeit
  • CURLINFO_SPEED_UPLOAD - Durchschnittliche Upload-Geschwindigkeit
  • CURLINFO_HEADER_SIZE - Gesamtgröße aller empfangenen Header
  • CURLINFO_HEADER_OUT - Der gesendete Request. Damit dies funktioniert, muss die CURLINFO_HEADER_OUT Option durch Aufruf von curl_setopt() zum Handle hinzugefügt werden
  • CURLINFO_REQUEST_SIZE - Gesamtgröße aller Abfragen, momentan nur für HTTP verfügbar
  • CURLINFO_SSL_VERIFYRESULT - Ergebnis der SSL-Zertifikat-Überprüfung, angefordert durch das Setzen von CURLOPT_SSL_VERIFYPEER
  • CURLINFO_CONTENT_LENGTH_DOWNLOAD - Die Größe des Downloads, ermittelt aus dem Content-Length-Header
  • CURLINFO_CONTENT_LENGTH_UPLOAD - Festgesetzte Größe des Uploads
  • CURLINFO_CONTENT_TYPE - Content-Type: des angeforderten Dokuments. NULL zeigt an, dass der Server keinen gültigen Content-Type: Header gesendet hat
  • CURLINFO_PRIVATE - Private Daten, die mit diesem cURL Handle zugehörig sind, und die zuvor mit der CURLOPT_PRIVATE Option von curl_setopt() gesetzt wurden
  • CURLINFO_RESPONSE_CODE - Der letzte Response-Code
  • CURLINFO_HTTP_CONNECTCODE - Der CONNECT Response-Code
  • CURLINFO_HTTPAUTH_AVAIL - Eine Bitmaske, die die verfügbaren Authentifikationsmethode(n) gemäß der vorherigen Response anzeigt
  • CURLINFO_PROXYAUTH_AVAIL - Eine Bitmaske, die die verfügbaren Proxy-Authentifikationsmethode(n) gemäß der vorherigen Response anzeigt
  • CURLINFO_OS_ERRNO - Errno eines Verbindungsfehlers. Die Zahl ist OS- und systemabhängig.
  • CURLINFO_NUM_CONNECTS - Die Anzahl der Verbindungen, die cURL erzeugen musste, um die vorherigen Übertragung durchzuführen
  • CURLINFO_SSL_ENGINES - Die unterstützten OpenSSL Crypto-Engines
  • CURLINFO_COOKIELIST - Alle bekannten Cookies
  • CURLINFO_FTP_ENTRY_PATH - Entry-Pfad des FTP-Server
  • CURLINFO_APPCONNECT_TIME - Die Zeitdauer in Sekunden, die bis zum SSL/SSH-Verbindungsaufbau/Handshake zum entfernten Server verstrichen ist
  • CURLINFO_CERTINFO - Die TLS Zertifikatskette
  • CURLINFO_CONDITION_UNMET - Info über eine nicht eingehaltene Zeitbedingung
  • CURLINFO_RTSP_CLIENT_CSEQ - Die nächste CSeq des RTSP-Clients
  • CURLINFO_RTSP_CSEQ_RECV - Die zuletzt empfangene CSeq
  • CURLINFO_RTSP_SERVER_CSEQ - Die nächste CSeq des RTSP-Servers
  • CURLINFO_RTSP_SESSION_ID - Die RTSP Session-ID

Rückgabewerte

Wird der Parameter opt angegeben, wird der entsprechende Wert zurückgegeben. Andernfalls liefert die Funktion ein assoziatives Array mit den folgenden Elementen zurück (analog dem Parameter opt), oder FALSE im Fehlerfall:

  • "url"
  • "content_type"
  • "http_code"
  • "header_size"
  • "request_size"
  • "filetime"
  • "ssl_verify_result"
  • "redirect_count"
  • "total_time"
  • "namelookup_time"
  • "connect_time"
  • "pretransfer_time"
  • "size_upload"
  • "size_download"
  • "speed_download"
  • "speed_upload"
  • "download_content_length"
  • "upload_content_length"
  • "starttransfer_time"
  • "redirect_time"
  • "certinfo"
  • "primary_ip"
  • "primary_port"
  • "local_ip"
  • "local_port"
  • "redirect_url"
  • "request_header" (Dies ist nur gesetzt, wenn die CURLINFO_HEADER_OUT durch einen vorherigen Aufruf von curl_setopt() gesetzt wurde)
Es ist zu beachten, dass private Daten nicht im assoziativen Array enthalten sind, sondern individuell durch CURLINFO_PRIVATE Option abgerufen werden müssen.

Changelog

Version | Beschreibung
5.5.0 | CURLINFO_RESPONSE_CODE, CURLINFO_HTTP_CONNECTCODE, CURLINFO_HTTPAUTH_AVAIL, CURLINFO_PROXYAUTH_AVAIL, CURLINFO_OS_ERRNO, CURLINFO_NUM_CONNECTS, CURLINFO_SSL_ENGINES, CURLINFO_COOKIELIST, CURLINFO_FTP_ENTRY_PATH, CURLINFO_APPCONNECT_TIME, CURLINFO_CONDITION_UNMET, CURLINFO_RTSP_CLIENT_CSEQ, CURLINFO_RTSP_CSEQ_RECV, CURLINFO_RTSP_SERVER_CSEQ und CURLINFO_RTSP_SESSION_ID eingeführt.
5.4.7 | CURLINFO_PRIMARY_IP, CURLINFO_PRIMARY_PORT, CURLINFO_LOCAL_IP und CURLINFO_LOCAL_PORT eingeführt.
5.3.7 | CURLINFO_REDIRECT_URL eingeführt.
5.3.0 | CURLINFO_CERTINFO eingeführt.
5.2.4 | CURLINFO_PRIVATE eingeführt.
5.1.3 | Konstante CURLINFO_HEADER_OUT eingeführt.

Beispiele

Beispiel #1 curl_getinfo()-Beispiel

<?php
// Eine cURL-Resource erstellen
$ch = curl_init('http://www.example.com/');

// ausführen
curl_exec($ch);

// prüfen, ob ein Fehler aufgetreten ist
if(!curl_errno($ch))
{
    $info = curl_getinfo($ch);

    echo 'Es wurden ' . $info['total_time'] . ' Sekunden benötigt für einen Request an ' . $info['url'];
}

// Resource schliessen
curl_close($ch);
?>

Beispiel #2 curl_getinfo()-Beispiel mit opt Parameter

<?php
// Eine cURL-Resource erstellen
$ch = curl_init('http://www.example.com/');

// ausführen
curl_exec($ch);

// HTTP-Status-Code prüfen
if (!curl_errno($ch)) {
  switch ($http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE)) {
    case 200:  # OK
      break;
    default:
      echo 'Unerwarter HTTP-Code: ', $http_code, "\n";
  }
}

// Resource schliessen
curl_close($ch);
?>

Anmerkungen

Hinweis:

Informationen, die mit dieser Funktion gesammelt wurden, bleiben erhalten, wenn das Handle wiederverwendet wird. Das bedeutet, dass außer wenn eine Stastik von dieser Funktion intern überschrieben wird, die vorherige Info zurück gebeben wird.

curl_file_create
curl_init
cURL Funktionen


Eine cURL-Session initialisieren

curl_getinfo
curl_multi_add_handle
cURL Funktionen
PHP Manual

curl_init

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

curl_init — Eine cURL-Session initialisieren

Beschreibung

resource curl_init ([ string $url = NULL ] )

Initialisiert eine neue cURL-Session und gibt einen cURL-Handler zurück, der mit den curl_setopt(), curl_exec(), und curl_close() Funktionen genutzt werden kann.

Parameter-Liste

url

Sofern angegeben wird die Option CURLOPT_URL mit dem entsprechenden Wert initialisiert. Diese Option kann auch manuell per curl_setopt() gesetzt werden.

Hinweis:

Das file Protokoll wird von cURL deaktiviert, wenn open_basedir gesetzt ist.

Rückgabewerte

Gibt ein cURL-Handle im Erfolgsfall zurück, FALSE im Fehlerfall.

Beispiele

Beispiel #1 Abrufen einer Webseite

<?php
 // erzeuge einen neuen cURL-Handle
 $ch = curl_init();

 // setze die URL und andere Optionen
 curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
 curl_setopt($ch, CURLOPT_HEADER, 0);

 // führe die Aktion aus und gebe die Daten an den Browser weiter
 curl_exec($ch);

 // schließe den cURL-Handle und gebe die Systemresourcen frei
 curl_close($ch);
 ?>

Siehe auch

  • curl_close() - Eine cURL-Session beenden
  • curl_multi_init() - Gibt einen cURL-Multi-Handle zurück

curl_getinfo
curl_multi_add_handle
cURL Funktionen


Fügt ein reguläres cURL-Handle einem cURL-Multi-Handle hinzu

curl_init
curl_multi_close
cURL Funktionen
PHP Manual

curl_multi_add_handle

(PHP 5, PHP 7)

curl_multi_add_handle — Fügt ein reguläres cURL-Handle einem cURL-Multi-Handle hinzu

Beschreibung

int curl_multi_add_handle ( resource $mh , resource $ch )

Fügt das Handle ch dem Multi-Handle mh zu

Parameter-Liste

mh

Ein von curl_multi_init() zurückgegebenes cURL-Multihandle.

ch

Ein von curl_init() zurückgegebenes cURL-Handle.

Rückgabewerte

Gibt im Erfolgsfall 0 zurück, andernfalls einen der CURLM_XXX Fehler-Codes.

Beispiele

Beispiel #1 curl_multi_add_handle()-Beispiel

In diesem Beispiel werden zwei cURL-Handles erstellt, einem Mehrfach-Handle hinzugefügt und anschließend asynchron ausgeführt.

<?php
// zwei cURL Resourcen erstellen
$ch1 = curl_init();
$ch2 = curl_init();

// URL und weitere Optionen setzen
curl_setopt($ch1, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch1, CURLOPT_HEADER, 0);
curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ch2, CURLOPT_HEADER, 0);

// Mehrfach-Handle erstellen
$mh = curl_multi_init();

// die zuvor erstellten Handles hinzufügen
curl_multi_add_handle($mh,$ch1);
curl_multi_add_handle($mh,$ch2);

$running=null;
// Handles ausführen
do {
    curl_multi_exec($mh,$running);
} while($running > 0);

//close the handles
curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);
curl_multi_close($mh);
?>

Siehe auch

  • curl_multi_remove_handle() - Einen Multi-Handle von einer Menge aus cURL-Handles entfernen
  • curl_multi_init() - Gibt einen cURL-Multi-Handle zurück
  • curl_init() - Eine cURL-Session initialisieren

curl_init
curl_multi_close
cURL Funktionen


Eine Gruppe von cURL-Handlern schließen

curl_multi_add_handle
curl_multi_exec
cURL Funktionen
PHP Manual

curl_multi_close

(PHP 5, PHP 7)

curl_multi_close — Eine Gruppe von cURL-Handlern schließen

Beschreibung

void curl_multi_close ( resource $mh )

Schließt eine Gruppe von cURL-Handlern.

Parameter-Liste

mh

Ein von curl_multi_init() zurückgegebenes cURL-Multihandle.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 curl_multi_close() example

In diesem Beispiel werden zwei cURL-Handles erstellt, einem Mehrfach-Handle hinzugefügt und anschließend aysnchron ausgeführt.

<?php
// zwei cURL Resourcen erstellen
$ch1 = curl_init();
$ch2 = curl_init();

// URL und weitere Optionen setzen
curl_setopt($ch1, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch1, CURLOPT_HEADER, 0);
curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ch2, CURLOPT_HEADER, 0);

// Mehrfach-Handle erstellen
$mh = curl_multi_init();

// die zuvor erstellten Handles hinzufügen
curl_multi_add_handle($mh,$ch1);
curl_multi_add_handle($mh,$ch2);

$running=null;
// Handles ausführen
do {
    curl_multi_exec($mh,$running);
} while ($running > 0);
//close the handles
curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);
curl_multi_close($mh);

?>

Siehe auch

  • curl_multi_init() - Gibt einen cURL-Multi-Handle zurück
  • curl_close() - Eine cURL-Session beenden

curl_multi_add_handle
curl_multi_exec
cURL Funktionen


Führt die Unter-Verbindungen des cURL-Handles aus

curl_multi_close
curl_multi_getcontent
cURL Funktionen
PHP Manual

curl_multi_exec

(PHP 5, PHP 7)

curl_multi_exec — Führt die Unter-Verbindungen des cURL-Handles aus

Beschreibung

int curl_multi_exec ( resource $mh , int &$still_running )

Verarbeitet alle Handles; diese Methode kann unabhängig davon aufgerufen werden, ob eines der Handles Daten lesen oder schreiben muß.

Parameter-Liste

mh

Ein von curl_multi_init() zurückgegebenes cURL-Multihandle.

still_running

Eine Referenz auf ein Flag um festzustellen, ob auf einem oder mehreren Handles noch gearbeitet wird.

Rückgabewerte

Ein cURL-Code der in den cURL Vordefinierten Konstanten definiert ist.

Hinweis:

Es werden nur Fehler zurückgegeben, die den Handle-Stack betreffen. Auch wenn CURLM_OK zurückgegeben wird können auf einzelnen Handles Fehler aufgetreten sein.

Beispiele

Beispiel #1 curl_multi_exec()-Beispiel

In diesem Beispiel werden zwei cURL-Handles erstellt, einem Mehrfach-Handle hinzugefügt und anschließend asynchron ausgeführt.

<?php
// zwei cURL Resourcen erstellen
$ch1 = curl_init();
$ch2 = curl_init();

// URL und weitere Optionen setzen
curl_setopt($ch1, CURLOPT_URL, "http://lxr.php.net/");
curl_setopt($ch1, CURLOPT_HEADER, 0);
curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ch2, CURLOPT_HEADER, 0);

// Mehrfach-Handle erstellen
$mh = curl_multi_init();

// die zuvor erstellten Handles hinzufügen
curl_multi_add_handle($mh,$ch1);
curl_multi_add_handle($mh,$ch2);

$active = null;
// Handles ausführen
do {
    $mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);

while ($active && $mrc == CURLM_OK) {
    if (curl_multi_select($mh) != -1) {
        do {
            $mrc = curl_multi_exec($mh, $active);
        } while ($mrc == CURLM_CALL_MULTI_PERFORM);
    }
}

//close the handles
curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);
curl_multi_close($mh);

?>

Siehe auch

  • curl_multi_init() - Gibt einen cURL-Multi-Handle zurück
  • curl_multi_select() - Alle Sockets abfragen, die mit der cURL Erweiterung assoziiert sind und ausgewählt werden können
  • curl_exec() - Eine cURL-Session ausführen

curl_multi_close
curl_multi_getcontent
cURL Funktionen


Den Inhalt des cURL-Handles zurückgeben, falls CURLOPT_RETURNTRANSFER gesetzt ist

curl_multi_exec
curl_multi_info_read
cURL Funktionen
PHP Manual

curl_multi_getcontent

(PHP 5, PHP 7)

curl_multi_getcontent — Den Inhalt des cURL-Handles zurückgeben, falls CURLOPT_RETURNTRANSFER gesetzt ist

Beschreibung

string curl_multi_getcontent ( resource $ch )

Wenn CURLOPT_RETURNTRANSFER für ein cURL-Handle gesetzt ist dann gibt diese Funktion den Inhalt des Handles als String zurück.

Parameter-Liste

ch

Ein von curl_init() zurückgegebenes cURL-Handle.

Rückgabewerte

Den Inhalt des cURL-Handles zurückgeben, falls CURLOPT_RETURNTRANSFER gesetzt ist

Siehe auch

  • curl_multi_init() - Gibt einen cURL-Multi-Handle zurück

curl_multi_exec
curl_multi_info_read
cURL Funktionen


Informationen über die aktuellen Transfers abrufen

curl_multi_getcontent
curl_multi_init
cURL Funktionen
PHP Manual

curl_multi_info_read

(PHP 5, PHP 7)

curl_multi_info_read — Informationen über die aktuellen Transfers abrufen

Beschreibung

array curl_multi_info_read ( resource $mh [, int &$msgs_in_queue = NULL ] )

Ruft Informationen oder Nachrichten der einzelnen Transfers ab sofern vorhanden. Dabei kann es sich beispielsweise um Fehlercodes handeln, aber auch schlicht um die Information, daß ein Transfer abgeschlossen ist.

Wiederholte Aufrufe dieser Funktion liefern immer ein neues Ergebnis, bis durch die Rückgabe von FALSE signalisiert wird daß keine weiteren Informationen verfügbar sind. Der Parameter msgs_in_queue enthält die Anzahl der Informationen die nach Aufruf der Funktion verbleiben.

Warnung

Mit dem Aufruf von curl_multi_remove_handle(). werden diese Daten gelöscht.

Parameter-Liste

mh

Ein von curl_multi_init() zurückgegebenes cURL-Multihandle.

msgs_in_queue

Anzahl der verbleibenden Informationen

Rückgabewerte

Gibt im Erfolgfall ein assoziatives Array zurück, andernfalls FALSE.

Inhalt des zurückgegebenen Arrays
Key: | Value:
msg | Die Konstante CURLMSG_DONE . Andere Rückgabewerte sind derzeit nicht verfügbar.
result | Eine der CURLE_*-Konstanten. Wenn kein Fehler auftrat ist das Ergebnis CURLE_OK.
handle | Die entsprechende Resource vom Typ curl.

Beispiele

Beispiel #1 Ein curl_multi_info_read()-Beispiel

<?php

$urls = array(
   "http://www.cnn.com/",
   "http://www.bbc.co.uk/",
   "http://www.yahoo.com/"
);

$mh = curl_multi_init();

foreach ($urls as $i => $url) {
    $conn[$i] = curl_init($url);
    curl_setopt($conn[$i], CURLOPT_RETURNTRANSFER, 1);
    curl_multi_add_handle($mh, $conn[$i]);
}

do {
    $status = curl_multi_exec($mh, $active);
    $info = curl_multi_info_read($mh);
    if (false !== $info) {
        var_dump($info);
    }
} while ($status === CURLM_CALL_MULTI_PERFORM || $active);

foreach ($urls as $i => $url) {
    $res[$i] = curl_multi_getcontent($conn[$i]);
    curl_close($conn[$i]);
}

var_dump(curl_multi_info_read($mh));

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(3) {
  ["msg"]=>
  int(1)
  ["result"]=>
  int(0)
  ["handle"]=>
  resource(5) of type (curl)
}
array(3) {
  ["msg"]=>
  int(1)
  ["result"]=>
  int(0)
  ["handle"]=>
  resource(7) of type (curl)
}
array(3) {
  ["msg"]=>
  int(1)
  ["result"]=>
  int(0)
  ["handle"]=>
  resource(6) of type (curl)
}
bool(false)

Changelog

Version | Beschreibung
5.2.0 | msgs_in_queue wurde hinzugefügt.

Siehe auch

  • curl_multi_init() - Gibt einen cURL-Multi-Handle zurück

curl_multi_getcontent
curl_multi_init
cURL Funktionen


Gibt einen cURL-Multi-Handle zurück

curl_multi_info_read
curl_multi_remove_handle
cURL Funktionen
PHP Manual

curl_multi_init

(PHP 5, PHP 7)

curl_multi_init — Gibt einen cURL-Multi-Handle zurück

Beschreibung

resource curl_multi_init ( void )

Erlaubt die asynchrone Verarbeitung mehrerer cURL-Handles.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt im Erfolgsfall ein cURL-Handle zurück, andernfalls FALSE.

Beispiele

Beispiel #1 curl_multi_init()-Beispiel

In diesem Beispiel werden zwei cURL-Handles erstellt, einem Mehrfach-Handle hinzugefügt und anschließend asynchron ausgeführt.

<?php
// zwei cURL Resourcen erstellen
$ch1 = curl_init();
$ch2 = curl_init();

// URL und weitere Optionen setzen
curl_setopt($ch1, CURLOPT_URL, "http://lxr.php.net/");
curl_setopt($ch1, CURLOPT_HEADER, 0);
curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ch2, CURLOPT_HEADER, 0);

// Mehrfach-Handle erstellen
$mh = curl_multi_init();

// die zuvor erstellten Handles hinzufügen
curl_multi_add_handle($mh,$ch1);
curl_multi_add_handle($mh,$ch2);

$active = null;
// Handles ausführen
do {
    $mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);

while ($active && $mrc == CURLM_OK) {
    if (curl_multi_select($mh) != -1) {
        do {
            $mrc = curl_multi_exec($mh, $active);
        } while ($mrc == CURLM_CALL_MULTI_PERFORM);
    }
}

// Handles schliessen
curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);
curl_multi_close($mh);

?>

Siehe auch

  • curl_init() - Eine cURL-Session initialisieren
  • curl_multi_close() - Eine Gruppe von cURL-Handlern schließen

curl_multi_info_read
curl_multi_remove_handle
cURL Funktionen


Einen Multi-Handle von einer Menge aus cURL-Handles entfernen

curl_multi_init
curl_multi_select
cURL Funktionen
PHP Manual

curl_multi_remove_handle

(PHP 5, PHP 7)

curl_multi_remove_handle — Einen Multi-Handle von einer Menge aus cURL-Handles entfernen

Beschreibung

int curl_multi_remove_handle ( resource $mh , resource $ch )

Etnfernt das angegebene ch Handle von der mh Handle-Gruppe. Nach dem Entfernen des Handle ch kann problemlos curl_exec() für dieses Handle aufgerufen werden. Das Entfernen des Handles ch während dessen Nutzung wird alle Transfers für dieses Handle beenden.

Parameter-Liste

mh

Ein von curl_multi_init() zurückgegebenes cURL-Multihandle.

ch

Ein von curl_init() zurückgegebenes cURL-Handle.

Rückgabewerte

Gibt im Erfolgsfall 0 zurück, andernfalls einen der CURLM_XXX Fehler-Codes.

Siehe auch

  • curl_init() - Eine cURL-Session initialisieren
  • curl_multi_init() - Gibt einen cURL-Multi-Handle zurück
  • curl_multi_add_handle() - Fügt ein reguläres cURL-Handle einem cURL-Multi-Handle hinzu

curl_multi_init
curl_multi_select
cURL Funktionen


Alle Sockets abfragen, die mit der cURL Erweiterung assoziiert sind und ausgewählt werden können

curl_multi_remove_handle
curl_multi_setopt
cURL Funktionen
PHP Manual

curl_multi_select

(PHP 5, PHP 7)

curl_multi_select — Alle Sockets abfragen, die mit der cURL Erweiterung assoziiert sind und ausgewählt werden können

Beschreibung

int curl_multi_select ( resource $mh [, float $timeout = 1.0 ] )

Blockiert bis Aktivität auf einer der Verbindungen stattfindet.

Parameter-Liste

mh

Ein von curl_multi_init() zurückgegebenes cURL-Multihandle.

timeout

Zeit in Sekunden die auf eine Antwort gewartet wird

Rückgabewerte

Gibt bei erfolgreicher Ausführung die Anzahl der Bezeichner in der Bezeichner-Sammlung zurück. Dies kann 0 sein, wenn es keine Aktivität bei einem der Bezeichner gab. Tritt ein Fehler oder Timeout auf gibt die Funktion -1 zurück.

Siehe auch

  • curl_multi_init() - Gibt einen cURL-Multi-Handle zurück

curl_multi_remove_handle
curl_multi_setopt
cURL Funktionen


Setz eine Option für das cURL multi-Handle

curl_multi_select
curl_multi_strerror
cURL Funktionen
PHP Manual

curl_multi_setopt

(PHP 5 >= 5.5.0, PHP 7)

curl_multi_setopt — Setz eine Option für das cURL multi-Handle

Beschreibung

bool curl_multi_setopt ( resource $mh , int $option , mixed $value )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

mh

option

Eine der CURLMOPT_* Konstanten.

value

Der zu option zu setzende Wert.

value sollte ein int sein für die folgenden Werte der option Parameter:

Option | Set value to
CURLMOPT_PIPELINING | Übergib 1 zu aktivieren oder 0 zum deaktivieren. Das Aktivieren von multi-Handles wird zu dem Versuch führen, PHP Pipelining so weit wie es für Transfers, die dieses Handle verwenden, möglich ist. Das bedeutet, dass wenn Sie eine zweite Anfrage hinzufügen, die eine bereits existierende Verbindung verwendet, wird diese auf der selben Verbindung "gepiped".
CURLMOPT_MAXCONNECTS | Übergeben Sie eine Zahl, die als die maximale Menge an gleichzeitig geöffneten Verbindungen verwendet wird, die libcurl zwischenspeichern kann. Standard ist 10. Wenn der Cache voll ist schließt curl die älteste Verbindung im Cache, um das Anwachsen der offenen Verbindungen zu vermeiden.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

curl_multi_select
curl_multi_strerror
cURL Funktionen


Gibt einen den Fehler beschreibenden String zurück

curl_multi_setopt
curl_pause
cURL Funktionen
PHP Manual

curl_multi_strerror

(PHP 5 >= 5.5.0, PHP 7)

curl_multi_strerror — Gibt einen den Fehler beschreibenden String zurück

Beschreibung

string curl_multi_strerror ( int $errornum )

Gibt eine Fehlermeldung in Textform zurück, die den gegebenen CURLM Fehlercode beschreibt.

Parameter-Liste

errornum

Eine der» CURLM Fehlercode Konstanten.

Rückgabewerte

Gibt einen Fehler-String für eienn gültigen Fehlercode zurück, andernfalls NULL

Beispiele

Beispiel #1 curl_multi_strerror() Beispiel

<?php
// Erzeugt cURL-handles
$ch1 = curl_init("http://example.com"/);
$ch2 = curl_init("http://php.net/");

// Erzeugt ein cURL multi-Handle
$mh = curl_multi_init();

// Fügt die Handles zum multi-handle hinzu
curl_multi_add_handle($mh, $ch1);
curl_multi_add_handle($mh, $ch2);

// Führt das Multi-Handle aus
do {
    $status = curl_multi_exec($mh, $active);
    // Nach Fehlern suchen
    if($status > 0) {
        // Fehlermeldung anzigen
        echo "FEHLER!!\n " . curl_multi_strerror($status);
    }
} while ($status === CURLM_CALL_MULTI_PERFORM || $active);
?>

Siehe auch

  • curl_strerror() - Return string describing the given error code
  • » cURL Fehlercodes

curl_multi_setopt
curl_pause
cURL Funktionen


Pausiert und setzt eine Verbindung fort

curl_multi_strerror
curl_reset
cURL Funktionen
PHP Manual

curl_pause

(PHP 5 >= 5.5.0, PHP 7)

curl_pause — Pausiert und setzt eine Verbindung fort

Beschreibung

int curl_pause ( resource $ch , int $bitmask )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

ch

Ein von curl_init() zurückgegebenes cURL-Handle.

bitmask

Eine der CURLPAUSE_*-Konstanten.

Rückgabewerte

Gibt einen Error-Code (CURLE_OK für keine Fehler).

curl_multi_strerror
curl_reset
cURL Funktionen


Reset all options of a libcurl session handle

curl_pause
curl_setopt_array
cURL Funktionen
PHP Manual

curl_reset

(PHP 5 >= 5.5.0, PHP 7)

curl_reset — Reset all options of a libcurl session handle

Beschreibung

void curl_reset ( resource $ch )

This function re-initializes all options set on the given cURL handle to the default values.

Parameter-Liste

ch

Ein von curl_init() zurückgegebenes cURL-Handle.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 curl_reset() example

<?php
// Create a curl handle
$ch = curl_init();

// Set CURLOPT_USERAGENT option
curl_setopt($ch, CURLOPT_USERAGENT, "My test user-agent");

// Reset all previously set options
curl_reset($ch);

// Send HTTP request
curl_setopt($ch, CURLOPT_URL, 'http://example.com/');
curl_exec($ch); // the previously set user-agent will be not sent, it has been reset by curl_reset

// Close the handle
curl_close($ch);
?>

Anmerkungen

Hinweis:

curl_reset() also resets the URL given as the curl_init() parameter.

Siehe auch

  • curl_setopt() - Eine Option für einen cURL Transfer setzen

curl_pause
curl_setopt_array
cURL Funktionen


Mehrere Optionen für einen cURL-Transfer setzen

curl_reset
curl_setopt
cURL Funktionen
PHP Manual

curl_setopt_array

(PHP 5 >= 5.1.3, PHP 7)

curl_setopt_array — Mehrere Optionen für einen cURL-Transfer setzen

Beschreibung

bool curl_setopt_array ( resource $ch , array $options )

Setzt mehrere Optionen für eine cURL-Session. Diese Funktion ist nützlich, um eine große Anzahl an Optionen zu setzen, ohne wiederholt curl_setopt() aufrufen zu müssen.

Parameter-Liste

ch

Ein von curl_init() zurückgegebenes cURL-Handle.

options

Ein array das die zu setzenden Optionen und die entsprechenden Werte enthält. Die Array-Schlüssel sollten gültige curl_setopt()-Konstanten resp. deren Integer- Equivalent sein.

Rückgabewerte

Gibt TRUE zurück, wenn alle Optionen erfolgreich gesetzt werden konnten. Konnte eine Option nicht gesetzt werden wird unmittelbar FALSE zurückgegeben und alle folgenden Optionen im Parameter options werden ignoriert.

Beispiele

Beispiel #1 Initialisierung einer cURL-Session und holen einer Webseite

<?php
// neues cURL-Handle erstellen
$ch = curl_init();

// URL und andere Optionen setzen
$options = array(CURLOPT_URL => 'http://www.example.com/',
                 CURLOPT_HEADER => false
                );

curl_setopt_array($ch, $options);

// URL holen und an der Browser weitergeben
curl_exec($ch);

// cURL-Handle schließen und Systemresourcen freigeben
curl_close($ch);
?>

Für PHP-Versionen vor PHP 5.1.3 kann diese Funktion simuliert werden durch:

Beispiel #2 Eine eigene Implementierung von curl_setopt_array()

<?php
if (!function_exists('curl_setopt_array')) {
   function curl_setopt_array(&$ch, $curl_options)
   {
       foreach ($curl_options as $option => $value) {
           if (!curl_setopt($ch, $option, $value)) {
               return false;
           }
       }
       return true;
   }
}
?>

Anmerkungen

Hinweis:

Analog zu curl_setopt() wird ein für CURLOPT_POST übergebenes Array als multipart/form-data, ein URL-kodierter String als application/x-www-form-urlencoded kodiert.

Siehe auch

  • curl_setopt() - Eine Option für einen cURL Transfer setzen

curl_reset
curl_setopt
cURL Funktionen


Eine Option für einen cURL Transfer setzen

curl_setopt_array
curl_share_close
cURL Funktionen
PHP Manual

curl_setopt

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

curl_setopt — Eine Option für einen cURL Transfer setzen

Beschreibung

bool curl_setopt ( resource $ch , int $option , mixed $value )

Setzt eine Option für das angegeben cURL-Handle

Parameter-Liste

ch

Ein von curl_init() zurückgegebenes cURL-Handle.

option

Die zu setzende CURLOPT_XXX-Option

value

Der Wert für value

value sollte ein boolean für die folgenden Werte des Parameters option sein:

Option | Wert für value | Anmerkungen
CURLOPT_AUTOREFERER | TRUE um automatisch den Referer: in Abfragen zu setzen, die einem Redirect per Location: folgen
CURLOPT_BINARYTRANSFER | TRUE um die unbearbeiteten Daten zurüchzugeben wenn CURLOPT_RETURNTRANSFER gesetzt ist. | Ab PHP 5.1.3 hat diese Option keine Auswirkungen mehr: die unbearbeitenten Daten werden immer zurückgegeben, wenn CURLOPT_RETURNTRANSFER gesetzt ist.
CURLOPT_COOKIESESSION | TRUE um diesen Request als neue "Cookie Session" zu behandeln. Somit wird libcurl alle cookies die geladen werden sollen ignorieren, sofern es sich um "Session Cookies" einer vorherigen Session handelt. Standardmässig lädt und speichert libcurl alle cookies, unabhängig davon, ob es "Session Cookies" sind. Bei "Session Cookies" handelt es sich um Cookies ohne Ablaufdatum, die nur für die aktuelle Session gültig sind.
CURLOPT_CERTINFO | TRUE um die SSL Zertifikatsinformation bei sicheren Übertragungen auf STDERR auszugeben. | Hinzugefügt in cURL 7.19.1. Verfügbar seit PHP 5.3.2. Erfordert, dass CURLOPT_VERBOSE gesetzt ist, um zu wirken.
CURLOPT_CONNECT_ONLY | TRUE weist die Bibliothek an, die gesamte erforderlichen Proxy-Authentifizierung und den Verbindungsaufbau durchzuführen, aber keine Datenübertragung. Diese Option ist für HTTP, SMTP und POP3 implementiert. | Hinzugefügt in 7.15.2. Verfügbar seit PHP 5.5.0.
CURLOPT_CRLF | TRUE um Unix-Zeilenumbrüche beim Transfer in CRLF-Zeilenumbrüche umzuwandeln.
CURLOPT_DNS_USE_GLOBAL_CACHE | TRUE um den globalen DNS-Cache zu nutzen. Diese Option ist nicht thread-safe und standardmässig aktiviert.
CURLOPT_FAILONERROR | TRUE um PHP anzuweisen, bei Fehlern (HTTP-Code ist größer oder gleich 400) eine ausführliche Fehlermeldung zu liefern. Dieses Verhalten ist standardmässig aktiviert.
CURLOPT_FILETIME | TRUE um zu versuchen, das Änderungsdatum des serverseitigen Dokuments zu ermitteln. Der Wert kann über die Funktion curl_getinfo() unter Verwendung des Parameters CURLINFO_FILETIME ermittelt werden.
CURLOPT_FOLLOWLOCATION | TRUE um jedem "Location: "-Header zu folgen, den der Server als Teil der HTTP-Header zurückgibt. Die Verarbeitung erfolgt rekursiv, PHP wird jedem "Location: "-Header folgen, sofern nicht CURLOPT_MAXREDIRS gesetzt ist.
CURLOPT_FORBID_REUSE | TRUE um die Verbindung nach der Verarbeitung explizit zu schließen, so daß sie nicht wiederverwendet werden kann.
CURLOPT_FRESH_CONNECT | TRUE um den expliziten Aufbau einer neuen Verbindung zu erzwingen, anstatt auf eine gecachte zurückzugreifen.
CURLOPT_FTP_USE_EPRT | TRUE, um EPRT (und LPRT) für aktive FTP-Downloads zu nutzen. Auf FALSE setzen, um EPRT und LPRT zu deaktivieren und ausschließlich PORT zu nutzen.
CURLOPT_FTP_USE_EPSV | TRUE um vor dem Fallback auf PASV zunächst eine EPSV-Anweisung für einen FTP-Transfer auszuführen. Auf FALSE setzen, um EPSV zu deaktivieren.
CURLOPT_FTP_CREATE_MISSING_DIRS | TRUE um fehlende Verzeichnisse zu erzeugen, wenn eine FTP-Operation auf einen Pfad stößt, der zurzeit nicht existiert.
CURLOPT_FTPAPPEND | TRUE um Daten an die serverseitige Datei anzuhängen anstatt diese zu überschreiben.
CURLOPT_TCP_NODELAY | Pass a long specifying whether the TCP_NODELAY option is to be set or cleared (1 = set, 0 = clear). The option is cleared by default. | Verfügbar seit PHP 5.2.1 für Versionen, die mit libcurl 7.11.2 oder höher kompiliert wurden.
CURLOPT_FTPASCII | Ein Alias für CURLOPT_TRANSFERTEXT, das bevorzugt werden sollte.
CURLOPT_FTPLISTONLY | TRUE um nur die Namen in einem FTP-Verzeichnis aufzulisten.
CURLOPT_HEADER | TRUE um den Header in die Ausgabe aufzunehmen.
CURLINFO_HEADER_OUT | TRUE um den Request-String des Handles zu verfolgen. | Verfügbar seit PHP 5.1.3. DasPrefix CURLINFO_ ist beabsichtigt.
CURLOPT_HTTPGET | TRUE um die HTTP-Request-Methode auf GET zu setzen. Da dies die Standard-Methode ist sollte dies nur nach einem Wechsel der Request-Methode notwendig sein.
CURLOPT_HTTPPROXYTUNNEL | TRUE um einen vorhandenen Proxy-Tunnel zu nutzen
CURLOPT_MUTE | TRUE um jegliche Ausgabe der cURL-Funktionen zu unterbinden | Entfernt in cURL 7.15.5 (statt dessen kann CURLOPT_RETURNTRANSFER verwendet werden)
CURLOPT_NETRC | TRUE um die lokale Datei ~/.netrc nach Benutzername/Passwort für die Authorisierung des Zugriffs zu durchsuchen.
CURLOPT_NOBODY | TRUE um den Body nicht in die Ausgabe aufzunehmen.
CURLOPT_NOPROGRESS

TRUE um die Fortschrittsanzeige für den Transfer auszublenden.

Hinweis:

PHP setzt die Option automatisch auf TRUE. Dies sollte ausschließlich für die Fehlersuche geändert werden.

CURLOPT_NOSIGNAL | TRUE um jegliche cURL-Funktion zu ignorieren, die ein Signal an den PHP-Prozess sendet. In multi-threaded SAPIs ist diese Option standardmässig aktiviert, so daß Timeouts weiterhin abgefangen werden können. | Hinzugefügt in cURL 7.10 und PHP 5.0.0.
CURLOPT_POST | TRUE um einen HTTP-POST-Request abzusetzen. Dabei handelt es sich um das übliche application/x-www-form-urlencoded, wie es im Allgemeinen von HTML-Formularen erzeugt wird.
CURLOPT_PUT | TRUE um ein HTTP-PUT für eine Datei abzusetzen. Die fragliche Datei muss dabei über die Konstanten CURLOPT_INFILE und CURLOPT_INFILESIZE gesetzt werden.
CURLOPT_RETURNTRANSFER | TRUE um den Transfer als String zurückzuliefern, anstatt ihn direkt auszugeben.
CURLOPT_SAFE_UPLOAD | TRUE um die Unterstützung des @-Präfix zum Upload von Dateien in CURLOPT_POSTFIELDS zu deaktivieren, was bedeutet, dass Werte, die mit @ beginnen, sicher als Felder übergeben werden können. Statt dessen kann CURLFile für Uploads verwendet werden. | Hinzugefügt in PHP 5.5.0 mit FALSE als Voreinstellung. PHP 5.6.0 ändert die Voreinstellung zu TRUE.
CURLOPT_SSL_VERIFYPEER | FALSE um die Überprüfung des Peerzertifikats seitens cURL zu unterdrücken. Alternative Zertifikate zur Überprüfung können mit der Option CURLOPT_CAINFO angegeben werden oder ein Zertifikat-Verzeichnis kann mit CURLOPT_CAPATH ausgewiesen werden. | TRUE als Standard seit cURL 7.10.
CURLOPT_TRANSFERTEXT | TRUE um FTP-Transfers im ASCII-Modus durchzuführen. Für LDAP werden Daten in Klartext statt HTML übertragen. Unter Windows wird STDOUT nicht in den binären Modus gesetzt.
CURLOPT_UNRESTRICTED_AUTH | TRUE um beim Folgen eines Location: -Headers (siehe CURLOPT_FOLLOWLOCATION) weiterhin Benutzername und Passwort zu senden, sogar nach einem Wechsel des Hostnamens.
CURLOPT_UPLOAD | TRUE um einen Upload vorzubereiten
CURLOPT_VERBOSE | TRUE um ausführliche Informationen auszugeben, entweder nach STDERR oder in die mittels der Option CURLOPT_STDERR gewählte Datei.

Für die folgenden option-Parameter sollte value ein Integer sein:

Option | Wert für value | Anmerkungen
CURLOPT_BUFFERSIZE | Die für jede Leseoperation zulässige Buffergröße. Es ist nicht garantiert, daß diese Einstellung genutzt wird. | Hinzugefügt in cURL 7.10 and PHP 5.0.0.
CURLOPT_CLOSEPOLICY Einer der CURLCLOSEPOLICY_* Werte.

Hinweis:

Diese Option ist überholt, da sie niemals in cURL implementiert wurde, und niemals wirkte.

Entfernt in PHP 5.6.0.
CURLOPT_CONNECTTIMEOUT | Die Anzahl Sekunden, die der Verbindungsaufbau maximal dauern darf; 0 hebt die Begrenzung auf.
CURLOPT_CONNECTTIMEOUT_MS | Die Anzahl Millisekunden, die der Verbindungsaufbau maximal dauern darf; 0 hebt die Begrenzung auf. Wenn libcurl so kompiliert wurde, dass die standard System-Namensauflösung verwendet wird, wird dieser Teil der Verbindung dennoch die volle Sekunden-Auflösung für Timeouts mit einem minimalen Timeout von einer Sekunde verwenden. | Hinzugefügt in cURL 7.16.2. Verfügbar seit PHP 5.2.3.
CURLOPT_DNS_CACHE_TIMEOUT | Die Dauer in Sekunden, die ein DNS-Eintrag im Speicher gehalten wird. Der Standard sind 120 Sekunden (2 Minuten).
CURLOPT_FTPSSLAUTH | Die FTP-Authentisierungsmethode (wenn aktiviert): CURLFTPAUTH_SSL (versuche zunächst SSL), CURLFTPAUTH_TLS (versuche zunächst TLS), oder CURLFTPAUTH_DEFAULT (lass cURL entscheiden). | Hinzugefügt in cURL 7.12.2 und PHP 5.1.0.
CURLOPT_HTTP_VERSION | CURL_HTTP_VERSION_NONE (Standard, lässt cURL entscheiden, welche Version genutzt werden soll), CURL_HTTP_VERSION_1_0 (nutze HTTP/1.0), or CURL_HTTP_VERSION_1_1 (nutze HTTP/1.1).
CURLOPT_HTTPAUTH

Die zu nutzende HTTP-Authentisierungsmethode; zur Verfügung stehen: CURLAUTH_BASIC, CURLAUTH_DIGEST, CURLAUTH_GSSNEGOTIATE, CURLAUTH_NTLM, CURLAUTH_ANY, und CURLAUTH_ANYSAFE.

Um mehrere Methoden zu kombinieren kann der Bit-|(oder)-Operator verwendet werden; in diesem Fall wird cURL in Abstimmung mit dem Server die günstigste Methode auswählen.

CURLAUTH_ANY ist ein Alias für CURLAUTH_BASIC | CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM.

CURLAUTH_ANYSAFE ist ein Alias für CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM.

CURLOPT_INFILESIZE | Die erwartete Dateigröße der hochzuladenden Datei in Bytes. Beachten Sie, dass die Verwendung dieser Option libcurl nicht daran hindern wird mehr Daten zu senden, da was genau gesendet wird von CURLOPT_READFUNCTION abhängt.
CURLOPT_LOW_SPEED_LIMIT | Die Transfergeschwindigkeit in Bytes pro Sekunde, die bei Unterschreitung in Kombination mit der Überschreitung von CURLOPT_LOW_SPEED_TIME Sekunden bewirkt, dass der Transfer aufgrund der zu niedrigen Transferrate abgebrochen wird.
CURLOPT_LOW_SPEED_TIME | Die Zeit in Sekunden, in der die Transferrate unter CURLOPT_LOW_SPEED_LIMIT gedultet wird. Nach dieser Zeit wird die Transferrate als zu langsam angesehen und der Transfer wird beendet.
CURLOPT_MAXCONNECTS | Die maximal erlaubte Anzahl persistenter Verbindungen; bei Erreichen des Limits wird mittels CURLOPT_CLOSEPOLICY entschieden, welche Verbindung geschlossen wird.
CURLOPT_MAXREDIRS | Die maximal erlaubte Anzahl von HTTP-Weiterleitungen. Verwenden Sie diese Option zusammen mit CURLOPT_FOLLOWLOCATION.
CURLOPT_PORT | Erlaubt das Setzen eines alternativen Ports für die Verbindung.
CURLOPT_POSTREDIR | Eine Bitmaske von 1 (301 Moved Permanently), 2 (302 Found) und 4 (303 See Other), ob die HTTP POST Methode beibehalten werden soll, wenn CURLOPT_FOLLOWLOCATION gesetzt ist, und ein sepzifischer Typ von Weiterleitung auftritt. | Hinzugefügt in cURL 7.19.1. Verfügbar seit PHP 5.3.2.
CURLOPT_PROTOCOLS

Eine Bitmaske von CURLPROTO_*-Werten. Mit dieser Einstellung lassen sich die Protokolle einschränken die libcurl für diesen Transfer nutzen darf. Damit wird es möglich ein libcurl mit einer Vielzahl an Protokollen zu benutzen, gleichzeitig aber lassen sich die für einen bestimmten Transfer zulässigen Protokolle beschränken. Standardmässig akzeptiert libcurl alle unterstützten Protokolle. Siehe auch CURLOPT_REDIR_PROTOCOLS.

Zulässige Optionen: CURLPROTO_HTTP, CURLPROTO_HTTPS, CURLPROTO_FTP, CURLPROTO_FTPS, CURLPROTO_SCP, CURLPROTO_SFTP, CURLPROTO_TELNET, CURLPROTO_LDAP, CURLPROTO_LDAPS, CURLPROTO_DICT, CURLPROTO_FILE, CURLPROTO_TFTP, CURLPROTO_ALL

Hinzugefügt in cURL 7.19.4.
CURLOPT_PROXYAUTH | Die HTTP-Authentisierungsmethode(n) für die Proxy-Verbindung. Nutzt die gleiche Bitmaske wie in CURLOPT_HTTPAUTH beschrieben. Nur CURLAUTH_BASIC und CURLAUTH_NTLM sind momentan für Proxy-Verbindungen zulässig. | Hinzugefügt in cURL 7.10.7 und PHP 5.1.0.
CURLOPT_PROXYPORT | Der Port, auf den die Proxy-Verbindung erfolgen soll; kann auch mittels CURLOPT_PROXY gesetzt werden.
CURLOPT_PROXYTYPE | Entweder CURLPROXY_HTTP (Standard) oder CURLPROXY_SOCKS5. | Hinzugefügt in cURL 7.10.
CURLOPT_REDIR_PROTOCOLS | Eine Bitmaske von CURLPROTO_*-Werten. Mit dieser Einstellung lassen sich die Protokolle einschränken die libcurl für diesen Transfer nutzen darf, wenn eine Weiterleitung stattfindet (setzt voraus daß CURLOPT_FOLLOWLOCATION erlaubt ist). Damit wird es möglich ein libcurl mit einer Vielzahl an Protokollen zu benutzen, gleichzeitig aber lassen sich die für eine Weiterleitung zulässigen Protokolle beschränken. Standardmässig akzeptiert libcurl alle unterstützten Protokolle außer FILE und SCP. Siehe auch CURLOPT_PROTOCOLS für weitere Informationen zu den Protokoll-Konstanten. | Added in cURL 7.19.4.
CURLOPT_RESUME_FROM | Die Position in Bytes ab der ein Transfer fortgesetzt werden soll.
CURLOPT_SSL_VERIFYHOST | 1 um auf die Existenz des Namens im Zertifikat zu prüfen, 2 stellt sicher, daß eine Übereinstimmung mit dem angegebenen Hostnamen vorliegt. In Produktsumgebungen sollte der Wert dieser Option 2 sein (Voreinstellung). | Die Unterstützung für Wert 1 wurde in cURL 7.28.1 entfernt
CURLOPT_SSLVERSION Entweder CURL_SSLVERSION_DEFAULT (0), CURL_SSLVERSION_TLSv1 (1), CURL_SSLVERSION_SSLv2 (2), CURL_SSLVERSION_SSLv3 (3), CURL_SSLVERSION_TLSv1_0 (4), CURL_SSLVERSION_TLSv1_1 (5) oder CURL_SSLVERSION_TLSv1_2 (6).

Hinweis:

Am besten ist es diese Option nicht zu setzen, und den Default zu verwenden. Die Werte 2 und 3 sind sehr gefährlich, angesichts der bekannten Sicherheitslücken in SSLv2 und SSLv3.

CURLOPT_TIMECONDITION | Dieser Wert gibt an, wie CURLOPT_TIMEVALUE behandelt werden soll. Mögliche Werte sind CURL_TIMECOND_IFMODSINCE (Standard) und CURL_TIMECOND_ISUNMODSINCE. Im ersten Fall wird geprüft, ob die Seite seit CURLOPT_TIMEVALUE geändert wurde; andernfalls wird ein "304 Not Modified"-Header zurückgegeben (vorausgesetzt CURLOPT_HEADER ist TRUE). CURL_TIMECOND_ISUNMODSINCE bewirkt das gegenteilige Verhalten.
CURLOPT_TIMEOUT | Die maximale Ausführungszeit in Sekunden für cURL-Funktionen.
CURLOPT_TIMEOUT_MS | Die maximale Ausführungszeit in Millisekunden für cURL-Funktionen. Wenn libcurl so kompiliert wurde, dass die standard System-Namensauflösung verwendet wird, wird dieser Teil der Verbindung dennoch die volle Sekunden-Auflösung für Timeouts mit einem minimalen Timeout von einer Sekunde verwenden. | Added in cURL 7.16.2. Available since PHP 5.2.3.
CURLOPT_TIMEVALUE | Zeit in Sekunden seit dem 1. Januar 1970. Dieser Wert wird von CURLOPT_TIMECONDITION genutzt. Als Standard wird CURL_TIMECOND_IFMODSINCE genutzt.
CURLOPT_MAX_RECV_SPEED_LARGE | Wenn ein Download diese Geschwindigkeit (gezählt in Bytes pro Sekunde) im Gesamtdurchschnitt während der Übertragung überschreitet, wird die Übertragung angehalten, um die durschnittliche Rate kleiner oder gleich dem Parameter-Wert zu halten. Voreinstellung ist unbegrenzte Geschwindigkeit. | Hinzugefügt in cURL 7.15.5. Verfügbar seit PHP 5.4.0.
CURLOPT_MAX_SEND_SPEED_LARGE | Wenn ein Upload diese Geschwindigkeit (gezählt in Bytes pro Sekunde) im Gesamtdurchschnitt während der Übertragung überschreitet, wird die Übertragung angehalten, um die durschnittliche Rate kleiner oder gleich dem Parameter-Wert zu halten. Voreinstellung ist unbegrenzte Geschwindigkeit. | Hinzugefügt in cURL 7.15.5. Verfügbar seit PHP 5.4.0.
CURLOPT_SSH_AUTH_TYPES | Eine Bitmaske bestehend aus einer oder mehreren von CURLSSH_AUTH_PUBLICKEY, CURLSSH_AUTH_PASSWORD, CURLSSH_AUTH_HOST, CURLSSH_AUTH_KEYBOARD. CURLSSH_AUTH_ANY lässt libcurl eine wählen. | Hinzugefügt in cURL 7.16.1.
CURLOPT_IPRESOLVE | Erlaubt einer Applikation auszuwählen, welche Art von IP Adressen verwendet werden, wenn Hostnamen aufgelöst werden. Dies ist nur interessant, wenn Hostnamen verwendet werden, die Adressen unter mehr als einer IP-Version auflösen; mögliche Werte sind CURL_IPRESOLVE_WHATEVER, CURL_IPRESOLVE_V4, CURL_IPRESOLVE_V6; Voreinstellung ist CURL_IPRESOLVE_WHATEVER. | Hinzugefügt in cURL 7.10.8.

Für die folgenden option-Parameter sollte value ein String sein:

Option | Wert für value | Anmerkungen
CURLOPT_CAINFO | Der Name einer Datei, die ein oder mehrere Zerifikate enthält, gegen die der Peer geprüft wird. Macht nur Sinn in Verbindung mit CURLOPT_SSL_VERIFYPEER. | Erfodert einen absoluten Pfad.
CURLOPT_CAPATH | Ein Verzeichnis, das mehrere CA-Zertifikate enthält. Diese Option sollte In Kombination mit CURLOPT_SSL_VERIFYPEER genutzt werden.
CURLOPT_COOKIE | Der Inhalt des im HTTP-Request zu setzenden "Cookie: "-Headers Beachten Sie daß mehrere Cookies durch ein Semikolon gefolgt von einem Leerzeichen getrennt werden (z.B. "fruit=apple; colour=red")
CURLOPT_COOKIEFILE | Der Name einer Datei, die Cookiedaten enthält. Diese Datei kann im Netscape-Format sein oder HTTP-geformte Header enthalten. Wenn der Name eine leere Zeichenkette ist, werden keine Cookies geladen, aber die Cookie-Behandlung ist dennoch aktiviert.
CURLOPT_COOKIEJAR | Der Name einer Datei in der alle internen Cookies beim Schließen des Handles gespeichert werden, z.B. nach einem Aufruf von curl_close.
CURLOPT_CUSTOMREQUEST

Eine benutzerdefinierte Request-Methode, die anstelle von GET oder HEAD für den HTTP-Request benutzt werden soll. Dies ist nützlich bei DELETE oder anderen unüblichen Requests. Zulässige Werte sind GET, POST, CONNECT etc. Vollständige HTTP-Requests wie GET /index.html HTTP/1.0\r\n\r\n sind unzulässig!

Hinweis:

Führen Sie diese Anfragen nicht durch ohne sicherzugehen, daß Ihr Server die betreffenden Kommandos unterstützt.

CURLOPT_EGDSOCKET | Analog CURLOPT_RANDOM_FILE, hier wird der Dateiname eines Entropy Gathering Daemon Socket erwartet.
CURLOPT_ENCODING | Der Inhalt des "Accept-Encoding: "-Headers. Damit wird das Dekodieren der Serverantwort aktiviert. Unterstützte Kodierungen sind identity, deflate und gzip. Wird ein leerer String "" gesetzt wird ein Header mit allen unterstützten Kodierungen gesetzt. | Hinzugefügt in cURL 7.10.
CURLOPT_FTPPORT | Ein String, der genutzt wird, um die IP-Adresse zu erlangen, die von der FTP-PORT-Anweisung genutzt wird. Die PORT-Anweisung teilt dem entfernten Server mit, zu der angegebenen IP-Adresse zu verbinden. Der String kann eine einfache IP-Addresse, ein Hostname, der Name eines Netzwerkinterfaces (unter Unix) oder nur '-' sein, um die vordefinierte IP-Addresse (des Systems) zu nutzen.
CURLOPT_INTERFACE | Der Name des zu nutzenden Netzwerkinterfaces für ausgehende Daten. Statt des Namens des Interfaces kann auch eine IP-Adresse oder ein Hostname übergeben werden.
CURLOPT_KEYPASSWD | Das erforderliche Passwort, um die privaten CURLOPT_SSLKEY oder CURLOPT_SSH_PRIVATE_KEYFILE Schlüssel zu verwenden. | Hinzugefügt in cURL 7.16.1.
CURLOPT_KRB4LEVEL | Die KRB4 (Kerberos 4) Sicherheitsstufe. Folgende Werte (von niedriger zu höherer Stufe) sind gültig: clear, safe, confidential, private. Sollte der String keinen dieser Werte enthalten dann wird die höchste Stufe genutzt, d.h private. Sollte diese Option mit dem Wert NULL besetzt werden, wird KRB4 Security deaktiviert. Bislang wird KRB4 nur unter Verwendung des FTP unterstützt.
CURLOPT_POSTFIELDS | Die in einem HTTP-POST-Request zu nutzenden Daten. Um eine Datei zu posten stellen Sie dem Dateinamen @ voran; bitte geben Sie den vollen Pfad zur Datei an. Der Dateityp kann explizit dadurch angegeben werden, dass dem Dateinamen der Type im Format ';type=mimetype' nachgestellt wird. Als Wert für diesen Parameter kann entweder ein URL-kodierter String übergeben werden wie z.B. 'para1=val1&para2=val2&...' oder ein Array, wobei die Feldnamen als Schlüssel und die Felddaten als Wert verwendet werden. Wird ein Array für value dann wird der Content-Type-Header auf multipart/form-data gesetzt. Beginnend mit PHP 5.2.0 muss value ein Array sein, wenn Dateien mit dem @-Präfix an diese Option übergeben werden Beginned mit PHP 5.5.0 gilt das @-Präfix als veraltet, und Dateien können mit CURLFile gesendet werden. Das @-Präfix kann deaktiviert werden, um die sichere Übergabe von Werten, die mit @ beginnen, zu gewährleisten, indem CURLOPT_SAFE_UPLOAD auf TRUE gesetzt wird.
CURLOPT_PROXY | Der HTTP-Proxy, durch den Requests getunnelt werden sollen.
CURLOPT_PROXYUSERPWD | Benutzername und Passwort in der Form "[benutzername]:[passwort]" für die Proxy-Verbindung.
CURLOPT_RANDOM_FILE | Ein Dateiname der zur Initialisierung des Zufallsgenerators für SSL benutzt wird.
CURLOPT_RANGE | Bereiche an Daten, die empfangen werden sollen. Das Format sollte "X-Y" sein, wobei X oder Y optional sind. HTTP-Transfers unterstützen auch mehrere Komma-getrennte Intervalle im Format "X-Y,N-M".
CURLOPT_REFERER | Der Inhalt des "Referer: "-Headers
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 | Eine Zeichenkette, die 32 hexadezimale Ziffern enthält. Die Zeichenkette sollte die MD5 Prüfsumme des öffentlichen Schlüssels des Remote-Hosts sein. libcurl wird die Verbindung zum Host zurückweisen, falls die Prüfsummen nicht übereinstimmen. Diese Option gilt nur für SCP und SFTP Übertragungen. | Hinzugefügt in cURL 7.17.1.
CURLOPT_SSH_PUBLIC_KEYFILE | Der Dateiname des öffentlichen Schlüssels. Wenn nicht gesetzt, nimmt libcurl $HOME/.ssh/id_dsa.pub an, falls die HOME Umgebungsvariable gesetzt ist, und andernfalls "id_dsa.pub" im aktuellen Verzeichnis. | Hinzugefügt in cURL 7.16.1.
CURLOPT_SSH_PRIVATE_KEYFILE | Der Dateiname des privaten Schlüssels. Wenn nicht gesetzt, nimmt libcurl $HOME/.ssh/id_dsa an, falls die HOME Umgebungsvariable gesetzt ist, und andernfalls "id_dsa" im aktuellen Verzeichnis. Wenn die Datei passwort geschützt ist, muss das Passwort mit CURLOPT_KEYPASSWD bestimmt werden. | Hinzugefügt in cURL 7.16.1.
CURLOPT_SSL_CIPHER_LIST | Eine Liste der für SSL zulässigen Chiffren. RC4-SHA und TLSv1 sind zulässig.
CURLOPT_SSLCERT | Der Name einer Datei die ein Zertifikat im PEM-Format enthält.
CURLOPT_SSLCERTPASSWD | Das Passwort für das CURLOPT_SSLCERT-Zertifikat.
CURLOPT_SSLCERTTYPE | Das Format des Zertifikats. Unterstützt werden PEM (Standard), DER und ENG. | Hinzugefügt in cURL 7.9.3.
CURLOPT_SSLENGINE | Der Bezeichner für die Crypto Engine des privaten SSL-Schlüssels, der in CURLOPT_SSLKEY definiert ist.
CURLOPT_SSLENGINE_DEFAULT | Der Bezeichner für die Crypto-Engine für asymmetrische kryptographische Operationen.
CURLOPT_SSLKEY | Der Name einer Datei, die einen privaten SSL-Schlüssel enthält.
CURLOPT_SSLKEYPASSWD

Das geheime Passwort das für den in CURLOPT_SSLKEY definierten privaten SSL-Schlüssel.

Hinweis:

Da diese Option sensible Daten enthält sollte das PHP-Script in einer sicheren Umgebung liegen.

CURLOPT_SSLKEYTYPE | Der Typ des in CURLOPT_SSLKEY definierten privaten SSL-Schlüssels. Unterstützte Schlüssel-Typen sind PEM (Standard), DER und ENG.
CURLOPT_URL | Der abzurufende URL; kann auch beim initialisieren der Session mittels curl_init() gesetzt werden.
CURLOPT_USERAGENT | Der Wert des "User-Agent: "-Headers für den HTTP-Request
CURLOPT_USERPWD | Benutzername und Passwort im Format "[benutzername]:[passwort]"

Für die folgenden option-Parameter sollte value ein Array sein:

Option | Wert für value | Anmerkungen
CURLOPT_HTTP200ALIASES | Ein Array von HTTP-200-Status die als gültige Antoworten und nicht als Fehler behandelt werden. | Hinzugefügt in cURL 7.10.3.
CURLOPT_HTTPHEADER | Ein Array von HTTP-Headern, im Format array('Content-type: text/plain', 'Content-length: 100')
CURLOPT_POSTQUOTE | Ein Array von FTP-Kommandos, die nach dem FTP-Request auf dem Server ausgeführt werden sollen.
CURLOPT_QUOTE | Ein Array von FTP-Kommandos, die vor dem FTP-Request auf dem Server ausgeführt werden sollen.

Für die folgenden option-Parameter sollte value eine Stream-Resource sein, so wie sie z.B. mittels fopen() erstellt werden kann

Option | Wert für value
CURLOPT_FILE | Die Datei, in die der Transfer geschrieben werden soll. Standard ist STDOUT (der Browser).
CURLOPT_INFILE | Die Datei die zum Upload gelesen werden soll.
CURLOPT_STDERR | Eine Datei, in die Fehler ausgegeben werden, alternativ zu STDERR.
CURLOPT_WRITEHEADER | In diese Datei werden die Header eines Transfers geschrieben.

Für die folgenden option-Parameter sollte value der Name einer gültigen Funktion oder eine Closure sein.

Option | Wert für value
CURLOPT_HEADERFUNCTION | Ein Callback, der zwei Parameter erwartet. Der erste ist die cURL-Resource, der zweite ist ein String mit den zu schreibenden Headern. Bei Nutzung dieser Callback-Funktion liegt die Verantwortung für das Schreiben der Header bei Ihnen. Die Funktion sollte die Anzahl der geschriebenen Bytes zurückgeben.
CURLOPT_PASSWDFUNCTION | Ein Callback, der drei Parameter erwartet. Der erste ist die cURL-Resource, der zweite ein String der ein Passwort-Prompt enthält, der dritte Parameter enthält die maximal zulässige Länge des Passworts. Die Funktion sollte das Passwort als String zurückgeben.
CURLOPT_PROGRESSFUNCTION

Ein Callback, die fünf Parameter erwartet. Der erste ist die cURL-Resource, der zweite ist die erwartete Gesamtanzahl von Bytes, die in dieser Übertragung herunter geladen werden, der dritte ist die Anzahl von Bytes die bisher herunter geladen wurden, der vierte ist die erwartete Gesamtanzahl von Bytes, die bei dieser Übertragung hoch geladen werden, und der fünfte ist die Anzahl von Bytes, die bisher hoch geladen wurden.

Hinweis:

Der Callback wird nur aufgerufen, wenn die CURLOPT_NOPROGRESS Option auf FALSE gesetzt ist.

Ein Rückgabewert ungleich 0 bricht die Übertragung ab. In diesem Fall setzt der Transfer einen CURLE_ABORTED_BY_CALLBACK Fehler.

CURLOPT_READFUNCTION | Ein Callback, der drei Parameter erwartet. Der erste ist die cURL- Resource, der zweite ist eine Stream-Resource, die cURL durch die Option CURLOPT_INFILE zur Verfügung gestellt wird, und der dritte ist die Höchstmenge von Daten die gelesen werden. Der Callback muss eine Zeichenkette mit einer Länge gleich oder kleiner als der angeforderten Datenmenge zurückgeben, typischerweise durch Lesen von der übergebenen Stream-Resource. Er soll eine leere Zeichenkette zurückgeben, um EOF zu signalisieren.
CURLOPT_WRITEFUNCTION | Ein Callback, der zwei Parameter erwartet. Der erste ist die cURL-Resource, der zweite ist ein String mit den zu schreibenden Daten. Bei Nutzung dieser Callback-Funktion liegt die Verantwortung für das Speichern der Daten bei Ihnen. Die Funktion muss die genaue Anzahl geschriebener Bytes zurückgeben!

Andere Werte:

Option | Wert für value
CURLOPT_SHARE | Ein Ergebnis von curl_share_init(). Veranlasst das cURL-Handle die Daten des geteilten Handle zu verwenden.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.6.0 | CURL_SAFE_UPLOAD ist nun per Voreinstellung TRUE.
5.6.0 | CURLOPT_CLOSEPOLICY und begleitende Werte wurden entfernt.
5.5.0 | Die cURL-Resource wurde als erstes Argument zum CURLOPT_PROGRESSFUNCTION Callback hinzugefügt.
5.5.0 | CURLOPT_SHARE wurde eingeführt.
5.3.0 | CURLOPT_PROGRESSFUNCTION wurde eingeführt.
5.2.10 | Es wurden CURLOPT_PROTOCOLS und CURLOPT_REDIR_PROTOCOLS eingeführt.
5.1.0 | Es wurden CURLOPT_AUTOREFERER, CURLOPT_BINARYTRANSFER, CURLOPT_FTPSSLAUTH, CURLOPT_PROXYAUTH und CURLOPT_TIMECONDITION eingeführt.
5.0.0 | Es wurden CURLOPT_FTP_USE_EPRT, CURLOPT_NOSIGNAL, CURLOPT_UNRESTRICTED_AUTH, CURLOPT_BUFFERSIZE, CURLOPT_HTTPAUTH, CURLOPT_PROXYPORT, CURLOPT_PROXYTYPE, CURLOPT_SSLCERTTYPE und CURLOPT_HTTP200ALIASES eingeführt.

Beispiele

Beispiel #1 Initialisierung einer neuen cURL-Session und das Abrufen einer Webseite

<?php
// erzeuge einen neuen cURL-Handle
$ch = curl_init();

// setze die URL und andere Optionen
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, false);

// führe die Aktion aus und gebe die Daten an den Browser weiter
curl_exec($ch);

// schließe den cURL-Handle und gebe die Systemresourcen frei
curl_close($ch);
?>

Beispiel #2 Datei-Upload

<?php

/* http://localhost/upload.php:
print_r($_POST);
print_r($_FILES);
*/

$ch = curl_init();

$data = array('name' => 'Foo', 'file' => '@/home/user/test.png');

curl_setopt($ch, CURLOPT_URL, 'http://localhost/upload.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

curl_exec($ch);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [name] => Foo
)
Array
(
    [file] => Array
        (
            [name] => test.png
            [type] => image/png
            [tmp_name] => /tmp/phpcpjNeQ
            [error] => 0
            [size] => 279
        )

)

Anmerkungen

Hinweis:

Ein für CURLOPT_POST übergebenes Array wird als multipart/form-data, ein URL-kodierter String als application/x-www-form-urlencoded kodiert.

Siehe auch

  • curl_setopt_array() - Mehrere Optionen für einen cURL-Transfer setzen

curl_setopt_array
curl_share_close
cURL Funktionen


Close a cURL share handle

curl_setopt
curl_share_init
cURL Funktionen
PHP Manual

curl_share_close

(PHP 5 >= 5.5.0, PHP 7)

curl_share_close — Close a cURL share handle

Beschreibung

void curl_share_close ( resource $sh )

Closes a cURL share handle and frees all resources.

Parameter-Liste

sh

A cURL share handle returned by curl_share_init()

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 curl_share_setopt() example

This example will create a cURL share handle, add two cURL handles to it, and then run them with cookie data sharing.

<?php
// Create cURL share handle and set it to share cookie data
$sh = curl_share_init();
curl_share_setopt($sh, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);

// Initialize the first cURL handle and assign the share handle to it
$ch1 = curl_init("http://example.com/");
curl_setopt($ch1, CURLOPT_SHARE, $sh);

// Execute the first cURL handle
curl_exec($ch1);

// Initialize the second cURL handle and assign the share handle to it
$ch2 = curl_init("http://php.net/");
curl_setopt($ch2, CURLOPT_SHARE, $sh);

// Execute the second cURL handle
//  all cookies from $ch1 handle are shared with $ch2 handle
curl_exec($ch2);

// Close the cURL share handle
curl_share_close($sh);

// Close the cURL handles
curl_close($ch1);
curl_close($ch2);
?>

Siehe auch

  • curl_share_init() - Initialize a cURL share handle

curl_setopt
curl_share_init
cURL Funktionen


Initialize a cURL share handle

curl_share_close
curl_share_setopt
cURL Funktionen
PHP Manual

curl_share_init

(PHP 5 >= 5.5.0, PHP 7)

curl_share_init — Initialize a cURL share handle

Beschreibung

resource curl_share_init ( void )

Allows to share data between cURL handles.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns resource of type "cURL Share Handle".

Beispiele

Beispiel #1 curl_share_init() example

This example will create a cURL share handle, add two cURL handles to it, and then run them with cookie data sharing.

<?php
// Create cURL share handle and set it to share cookie data
$sh = curl_share_init();
curl_share_setopt($sh, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);

// Initialize the first cURL handle and assign the share handle to it
$ch1 = curl_init("http://example.com/");
curl_setopt($ch1, CURLOPT_SHARE, $sh);

// Execute the first cURL handle
curl_exec($ch1);

// Initialize the second cURL handle and assign the share handle to it
$ch2 = curl_init("http://php.net/");
curl_setopt($ch2, CURLOPT_SHARE, $sh);

// Execute the second cURL handle
//  all cookies from $ch1 handle are shared with $ch2 handle
curl_exec($ch2);

// Close the cURL share handle
curl_share_close($sh);

// Close the cURL handles
curl_close($ch1);
curl_close($ch2);
?>

Siehe auch

  • curl_share_setopt() - Set an option for a cURL share handle.
  • curl_share_close() - Close a cURL share handle

curl_share_close
curl_share_setopt
cURL Funktionen


Set an option for a cURL share handle.

curl_share_init
curl_strerror
cURL Funktionen
PHP Manual

curl_share_setopt

(PHP 5 >= 5.5.0, PHP 7)

curl_share_setopt — Set an option for a cURL share handle.

Beschreibung

bool curl_share_setopt ( resource $sh , int $option , string $value )

Sets an option on the given cURL share handle.

Parameter-Liste

sh

A cURL share handle returned by curl_share_init().

option

Option | Description
CURLSHOPT_SHARE | Specifies a type of data that should be shared.
CURLSHOPT_UNSHARE | Specifies a type of data that will be no longer shared.

value

Value | Description
CURL_LOCK_DATA_COOKIE | Shares cookie data.
CURL_LOCK_DATA_DNS | Shares DNS cache. Note that when you use cURL multi handles, all handles added to the same multi handle will share DNS cache by default.
CURL_LOCK_DATA_SSL_SESSION | Shares SSL session IDs, reducing the time spent on the SSL handshake when reconnecting to the same server. Note that SSL session IDs are reused within the same handle by default.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 curl_share_setopt() example

This example will create a cURL share handle, add two cURL handles to it, and then run them with cookie data sharing.

<?php
// Create cURL share handle and set it to share cookie data
$sh = curl_share_init();
curl_share_setopt($sh, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);

// Initialize the first cURL handle and assign the share handle to it
$ch1 = curl_init("http://example.com/");
curl_setopt($ch1, CURLOPT_SHARE, $sh);

// Execute the first cURL handle
curl_exec($ch1);

// Initialize the second cURL handle and assign the share handle to it
$ch2 = curl_init("http://php.net/");
curl_setopt($ch2, CURLOPT_SHARE, $sh);

// Execute the second cURL handle
//  all cookies from $ch1 handle are shared with $ch2 handle
curl_exec($ch2);

// Close the cURL share handle
curl_share_close($sh);

// Close the cURL handles
curl_close($ch1);
curl_close($ch2);
?>

curl_share_init
curl_strerror
cURL Funktionen


Return string describing the given error code

curl_share_setopt
curl_unescape
cURL Funktionen
PHP Manual

curl_strerror

(PHP 5 >= 5.5.0, PHP 7)

curl_strerror — Return string describing the given error code

Beschreibung

string curl_strerror ( int $errornum )

Returns a text error message describing the given error code.

Parameter-Liste

errornum

One of the » cURL error codes constants.

Rückgabewerte

Returns error description or NULL for invalid error code.

Beispiele

Beispiel #1 curl_errno() example

<?php
// Create a curl handle with a mispelled protocol in URL
$ch = curl_init("htp://example.com/");

// Send request
curl_exec($ch);

// Check for errors and display the error message
if($errno = curl_errno($ch)) {
    $error_message = curl_strerror($errno);
    echo "cURL error ({$errno}):\n {$error_message}";
}

// Close the handle
curl_close($ch);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

cURL error (1):
 Unsupported protocol

Siehe auch

  • curl_errno() - Gibt die letzte Fehlernummer zurück
  • curl_error() - Gibt einen String zurück, der den letzten Fehler der aktuellen Session enthält
  • » Curl error codes

curl_share_setopt
curl_unescape
cURL Funktionen


Decodes the given URL encoded string

curl_strerror
curl_version
cURL Funktionen
PHP Manual

curl_unescape

(PHP 5 >= 5.5.0, PHP 7)

curl_unescape — Decodes the given URL encoded string

Beschreibung

string curl_unescape ( resource $ch , string $str )

This function decodes the given URL encoded string.

Parameter-Liste

ch

Ein von curl_init() zurückgegebenes cURL-Handle.

str

The URL encoded string to be decoded.

Rückgabewerte

Returns decoded string Im Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 curl_escape() example

<?php
// Create a curl handle
$ch = curl_init('http://example.com/redirect.php');

// Send HTTP request and follow redirections
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_exec($ch);

// Get the last effective URL
$effective_url = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
// ie. "http://example.com/show_location.php?loc=M%C3%BCnchen"

// Decode the URL
$effective_url_decoded = curl_unescape($ch, $effective_url);
// "http://example.com/show_location.php?loc=München"

// Close the handle
curl_close($ch);
?>

Anmerkungen

Hinweis:

curl_unescape() does not decode plus symbols (+) into spaces. urldecode() does.

Siehe auch

  • curl_escape() - URL-kodiert den angegebenen String
  • urlencode() - URL-kodiert einen String
  • urldecode() - Dekodiert eine URL-kodierte Zeichenkette
  • rawurlencode() - URL-Kodierung nach RFC 3986
  • rawurldecode() - Dekodiert URL-kodierte Strings

curl_strerror
curl_version
cURL Funktionen


Gibt die cURL-Version zurück

curl_unescape
CURLFile
cURL Funktionen
PHP Manual

curl_version

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

curl_version — Gibt die cURL-Version zurück

Beschreibung

array curl_version ([ int $age = CURLVERSION_NOW ] )

Gibt Informationen über die cURL-Version zurück.

Parameter-Liste

age

Rückgabewerte

Gibt ein assoziatives Array mit den folgenden Elementen zurück:

Index | Beschreibung
version_number | cURL 24-Bit Versions-Nummer
version | cURL-Version als String
ssl_version_number | OpenSSL 24Bt Versions-Nummer
ssl_version | OpenSSL-Version als String
libz_version | zlib-Version als String
host | Informationen zum Host, auf dem cURL kompiliert wurde
age |
features | Eine Bitmask der CURL_VERSION_XXX-Konstanten
protocols | Ein Array der von cURL unterstützten Protokollnamen

Beispiele

Beispiel #1 Beispiel für curl_version()

Dieses Beispiel prüft anhand der 'features' Bitmask die von curl_version() zurückgegeben wird, welche Features in dieser cURL-Version verfügbar sind.

<?php
// Hole Array mit Versions-Informationen
$version = curl_version();

// Diese Bitfelder können zur Prüfung benutzt werden
$bitfields = Array(
            'CURL_VERSION_IPV6',
            'CURL_VERSION_KERBEROS4',
            'CURL_VERSION_SSL',
            'CURL_VERSION_LIBZ'
            );

foreach($bitfields as $feature)
{
    echo $feature . ($version['features'] & constant($feature) ? ' ja' : ' nein');
    echo PHP_EOL;
}
?>

curl_unescape
CURLFile
cURL Funktionen


Die CURLFile Klasse

(PHP 5 >= 5.5.0, PHP 7)

Einführung

CURLFile sollte benutzt werden um eine Datei mit CURLOPT_POSTFIELDS hochzuladen.

Klassenbeschreibung

CURLFile {
/* Eigenschaften */
public $name ;
public $mime ;
public $postname ;
/* Methoden */
public __construct ( string $filename [, string $mimetype [, string $postname ]] )
public string getFilename ( void )
public string getMimeType ( void )
public string getPostFilename ( void )
public void setMimeType ( string $mime )
public void setPostFilename ( string $postname )
public void __wakeup ( void )
}

Eigenschaften

name

Der Name der hochzuladenden Datei.

mime

Der MIME-Typ der Datei (Vorgabe ist application/octet-stream).

postname

Der Name der Datei in den Upload-Daten (Vorgabe ist die name Eigenschaft).

Siehe auch

  • curl_setopt()

Inhaltsverzeichnis

  • CURLFile::__construct — Erstellt ein CURLFile Objekt
  • CURLFile::getFilename — Ermittelt den Dateinamen
  • CURLFile::getMimeType — Ermittelt den Mime-Typ
  • CURLFile::getPostFilename — Ermittelt den Dateinamen für POST
  • CURLFile::setMimeType — Setzt den Mime-Typ fest
  • CURLFile::setPostFilename — Setzt den Dateinamen für POST fest
  • CURLFile::__wakeup — Benutzerausführung
curl_version
CURLFile::__construct
cURL


Erstellt ein CURLFile Objekt

CURLFile
CURLFile::getFilename
CURLFile
PHP Manual

CURLFile::__construct

curl_file_create

(PHP 5 >= 5.5.0, PHP 7)

CURLFile::__construct -- curl_file_create — Erstellt ein CURLFile Objekt

Beschreibung

Objektorientierter Stil

public CURLFile::__construct ( string $filename [, string $mimetype [, string $postname ]] )

Prozeduraler Stil

CURLFile curl_file_create ( string $filename [, string $mimetype [, string $postname ]] )

Erstellt ein CURLFile, welches zum Upload einer Datei via CURLOPT_POSTFIELDS verwendet wird.

Parameter-Liste

filename

Pfad zur Datei die hochgeladen wird.

mimetype

Mimetyp der Datei.

postname

Der in den Upload-Daten zu verwendende Dateiname.

Rückgabewerte

Gibt ein CURLFile-Objekt zurück.

Beispiele

Beispiel #1 CURLFile::__construct() Beispiel

Objektorientierter Stil

<?php
/* http://example.com/upload.php:
<?php var_dump($_FILES); ?>
*/

// Erstellt ein cURL handle
$ch = curl_init('http://example.com/upload.php');

// Erstellt ein CURLFile-Object
$cfile = new CURLFile('cats.jpg','image/jpeg','test_name');

// POST-Daten hinzufügen
$data = array('test_file' => $cfile);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

// Das Handle ausführen
curl_exec($ch);
?>

Prozeduraler Stil

<?php
/* http://example.com/upload.php:
<?php var_dump($_FILES); ?>
*/

// Erstellt ein cURL-Handle
$ch = curl_init('http://example.com/upload.php');

// Erstellt ein CURLFile-Object
$cfile = curl_file_create('cats.jpg','image/jpeg','test_name');

// POST-Daten hinzufügen
$data = array('test_file' => $cfile);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

// Handle ausführen
curl_exec($ch);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(1) {
  ["test_file"]=>
  array(5) {
    ["name"]=>
    string(9) "test_name"
    ["type"]=>
    string(10) "image/jpeg"
    ["tmp_name"]=>
    string(14) "/tmp/phpPC9Kbx"
    ["error"]=>
    int(0)
    ["size"]=>
    int(46334)
  }
}

Siehe auch

  • curl_setopt() - Eine Option für einen cURL Transfer setzen

CURLFile
CURLFile::getFilename
CURLFile


Ermittelt den Dateinamen

CURLFile::__construct
CURLFile::getMimeType
CURLFile
PHP Manual

CURLFile::getFilename

(PHP 5 >= 5.5.0, PHP 7)

CURLFile::getFilename — Ermittelt den Dateinamen

Beschreibung

public string CURLFile::getFilename ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt den Dateinamen zurück.

CURLFile::__construct
CURLFile::getMimeType
CURLFile


Ermittelt den Mime-Typ

CURLFile::getFilename
CURLFile::getPostFilename
CURLFile
PHP Manual

CURLFile::getMimeType

(PHP 5 >= 5.5.0, PHP 7)

CURLFile::getMimeType — Ermittelt den Mime-Typ

Beschreibung

public string CURLFile::getMimeType ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt den Mime-Typ zurück.

CURLFile::getFilename
CURLFile::getPostFilename
CURLFile


Ermittelt den Dateinamen für POST

CURLFile::getMimeType
CURLFile::setMimeType
CURLFile
PHP Manual

CURLFile::getPostFilename

(PHP 5 >= 5.5.0, PHP 7)

CURLFile::getPostFilename — Ermittelt den Dateinamen für POST

Beschreibung

public string CURLFile::getPostFilename ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt den Dateinamen für POST zurück.

CURLFile::getMimeType
CURLFile::setMimeType
CURLFile


Setzt den Mime-Typ fest

CURLFile::getPostFilename
CURLFile::setPostFilename
CURLFile
PHP Manual

CURLFile::setMimeType

(PHP 5 >= 5.5.0, PHP 7)

CURLFile::setMimeType — Setzt den Mime-Typ fest

Beschreibung

public void CURLFile::setMimeType ( string $mime )

Parameter-Liste

mime

Der in den POST-Daten zu verwendende MIME-Typ.

Rückgabewerte

Es wird kein Wert zurückgegeben.

CURLFile::getPostFilename
CURLFile::setPostFilename
CURLFile


Setzt den Dateinamen für POST fest

CURLFile::setMimeType
CURLFile::__wakeup
CURLFile
PHP Manual

CURLFile::setPostFilename

(PHP 5 >= 5.5.0, PHP 7)

CURLFile::setPostFilename — Setzt den Dateinamen für POST fest

Beschreibung

public void CURLFile::setPostFilename ( string $postname )

Parameter-Liste

postname

Der in den POST-Daten zu verwendende Dateiname.

Rückgabewerte

Es wird kein Wert zurückgegeben.

CURLFile::setMimeType
CURLFile::__wakeup
CURLFile


Benutzerausführung

CURLFile::setPostFilename
Event
CURLFile
PHP Manual

CURLFile::__wakeup

(PHP 5 >= 5.5.0, PHP 7)

CURLFile::__wakeup — Benutzerausführung

Beschreibung

public void CURLFile::__wakeup ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

CURLFile ist nicht ausführbar.

CURLFile::setPostFilename
Event
CURLFile


Event

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Beispiele
  • Event flags
  • About event persistence
  • Event callbacks
  • Constructing signal events
  • Event — The Event class
    • Event::add — Makes event pending
    • Event::addSignal — Makes signal event pending
    • Event::addTimer — Makes timer event pending
    • Event::__construct — Constructs Event object
    • Event::del — Makes event non-pending
    • Event::delSignal — Makes signal event non-pending
    • Event::delTimer — Makes timer event non-pending
    • Event::free — Make event non-pending and free resources allocated for this event.
    • Event::getSupportedMethods — Returns array with of the names of the methods supported in this version of Libevent
    • Event::pending — Detects whether event is pending or scheduled
    • Event::set — Re-configures event
    • Event::setPriority — Set event priority
    • Event::setTimer — Re-configures timer event
    • Event::signal — Constructs signal event object
    • Event::timer — Constructs timer event object
  • EventBase — The EventBase class
    • EventBase::__construct — Constructs EventBase object
    • EventBase::dispatch — Dispatch pending events
    • EventBase::exit — Stop dispatching events
    • EventBase::free — Free resources allocated for this event base
    • EventBase::getFeatures — Returns bitmask of features supported
    • EventBase::getMethod — Returns event method in use
    • EventBase::getTimeOfDayCached — Returns the current event base time
    • EventBase::gotExit — Checks if the event loop was told to exit
    • EventBase::gotStop — Checks if the event loop was told to exit
    • EventBase::loop — Dispatch pending events
    • EventBase::priorityInit — Sets number of priorities per event base
    • EventBase::reInit — Re-initialize event base(after a fork).
    • EventBase::stop — Tells event_base to stop dispatching events
  • EventBuffer — The EventBuffer class
    • EventBuffer::add — Append data to the end of an event buffer
    • EventBuffer::addBuffer — Move all data from a buffer provided to the current instance of EventBuffer
    • EventBuffer::appendFrom — Moves the specified number of bytes from a source buffer to the end of the current buffer
    • EventBuffer::__construct — Constructs EventBuffer object
    • EventBuffer::copyout — Copies out specified number of bytes from the front of the buffer
    • EventBuffer::drain — Removes specified number of bytes from the front of the buffer without copying it anywhere
    • EventBuffer::enableLocking — Beschreibung
    • EventBuffer::expand — Reserves space in buffer
    • EventBuffer::freeze — Prevent calls that modify an event buffer from succeeding
    • EventBuffer::lock — Acquires a lock on buffer
    • EventBuffer::prepend — Prepend data to the front of the buffer
    • EventBuffer::prependBuffer — Moves all data from source buffer to the front of current buffer
    • EventBuffer::pullup — Linearizes data within buffer and returns it's contents as a string
    • EventBuffer::read — Read data from an evbuffer and drain the bytes read
    • EventBuffer::readFrom — Read data from a file onto the end of the buffer
    • EventBuffer::readLine — Extracts a line from the front of the buffer
    • EventBuffer::search — Scans the buffer for an occurrence of a string
    • EventBuffer::searchEol — Scans the buffer for an occurrence of an end of line
    • EventBuffer::substr — Substracts a portion of the buffer data
    • EventBuffer::unfreeze — Re-enable calls that modify an event buffer
    • EventBuffer::unlock — Releases lock acquired by EventBuffer::lock
    • EventBuffer::write — Schreibt den Inhalt des Puffers in eine Datei oder ein Socket
  • EventBufferEvent — The EventBufferEvent class
    • EventBufferEvent::close — Closes file descriptor associated with the current buffer event
    • EventBufferEvent::connect — Connect buffer event's file descriptor to given address or UNIX socket
    • EventBufferEvent::connectHost — Connects to a hostname with optionally asyncronous DNS resolving
    • EventBufferEvent::__construct — Constructs EventBufferEvent object
    • EventBufferEvent::createPair — Creates two buffer events connected to each other
    • EventBufferEvent::disable — Disable events read, write, or both on a buffer event.
    • EventBufferEvent::enable — Enable events read, write, or both on a buffer event.
    • EventBufferEvent::free — Free a buffer event
    • EventBufferEvent::getDnsErrorString — Returns string describing the last failed DNS lookup attempt
    • EventBufferEvent::getEnabled — Returns bitmask of events currently enabled on the buffer event
    • EventBufferEvent::getInput — Returns underlying input buffer associated with current buffer event
    • EventBufferEvent::getOutput — Returns underlying output buffer associated with current buffer event
    • EventBufferEvent::read — Read buffer's data
    • EventBufferEvent::readBuffer — Drains the entire contents of the input buffer and places them into buf
    • EventBufferEvent::setCallbacks — Assigns read, write and event(status) callbacks
    • EventBufferEvent::setPriority — Assign a priority to a bufferevent
    • EventBufferEvent::setTimeouts — Set the read and write timeout for a buffer event
    • EventBufferEvent::setWatermark — Adjusts read and/or write watermarks
    • EventBufferEvent::sslError — Returns most recent OpenSSL error reported on the buffer event
    • EventBufferEvent::sslFilter — Create a new SSL buffer event to send its data over another buffer event
    • EventBufferEvent::sslGetCipherInfo — Returns a textual description of the cipher.
    • EventBufferEvent::sslGetCipherName — Returns the current cipher name of the SSL connection.
    • EventBufferEvent::sslGetCipherVersion — Returns version of cipher used by current SSL connection.
    • EventBufferEvent::sslGetProtocol — Returns the name of the protocol used for current SSL connection.
    • EventBufferEvent::sslRenegotiate — Tells a bufferevent to begin SSL renegotiation.
    • EventBufferEvent::sslSocket — Creates a new SSL buffer event to send its data over an SSL on a socket
    • EventBufferEvent::write — Fügt Daten zum Ausgabepuffer eines Pufferereignises hinzu
    • EventBufferEvent::writeBuffer — Adds contents of the entire buffer to a buffer event's output buffer
  • About buffer event callbacks
  • EventConfig — The EventConfig class
    • EventConfig::avoidMethod — Tells libevent to avoid specific event method
    • EventConfig::__construct — Constructs EventConfig object
    • EventConfig::requireFeatures — Enters a required event method feature that the application demands
    • EventConfig::setMaxDispatchInterval — Prevents priority inversion
  • EventDnsBase — The EventDnsBase class
    • EventDnsBase::addNameserverIp — Adds a nameserver to the DNS base
    • EventDnsBase::addSearch — Adds a domain to the list of search domains
    • EventDnsBase::clearSearch — Removes all current search suffixes
    • EventDnsBase::__construct — Constructs EventDnsBase object
    • EventDnsBase::countNameservers — Gets the number of configured nameservers
    • EventDnsBase::loadHosts — Loads a hosts file (in the same format as /etc/hosts) from hosts file
    • EventDnsBase::parseResolvConf — Scans the resolv.conf-formatted file
    • EventDnsBase::setOption — Set the value of a configuration option
    • EventDnsBase::setSearchNdots — Set the 'ndots' parameter for searches
  • EventHttp — The EventHttp class
    • EventHttp::accept — Makes an HTTP server accept connections on the specified socket stream or resource
    • EventHttp::addServerAlias — Adds a server alias to the HTTP server object
    • EventHttp::bind — Binds an HTTP server on the specified address and port
    • EventHttp::__construct — Constructs EventHttp object(the HTTP server)
    • EventHttp::removeServerAlias — Removes server alias
    • EventHttp::setAllowedMethods — Sets the what HTTP methods are supported in requests accepted by this server, and passed to user callbacks
    • EventHttp::setCallback — Sets a callback for specified URI
    • EventHttp::setDefaultCallback — Sets default callback to handle requests that are not caught by specific callbacks
    • EventHttp::setMaxBodySize — Sets maximum request body size
    • EventHttp::setMaxHeadersSize — Sets maximum HTTP header size
    • EventHttp::setTimeout — Sets the timeout for an HTTP request
  • EventHttpConnection — The EventHttpConnection class
    • EventHttpConnection::__construct — Constructs EventHttpConnection object
    • EventHttpConnection::getBase — Returns event base associated with the connection
    • EventHttpConnection::getPeer — Gets the remote address and port associated with the connection
    • EventHttpConnection::makeRequest — Makes an HTTP request over the specified connection
    • EventHttpConnection::setCloseCallback — Set callback for connection close
    • EventHttpConnection::setLocalAddress — Sets the IP address from which HTTP connections are made
    • EventHttpConnection::setLocalPort — Sets the local port from which connections are made
    • EventHttpConnection::setMaxBodySize — Sets maximum body size for the connection
    • EventHttpConnection::setMaxHeadersSize — Sets maximum header size
    • EventHttpConnection::setRetries — Sets the retry limit for the connection
    • EventHttpConnection::setTimeout — Sets the timeout for the connection
  • EventHttpRequest — The EventHttpRequest class
    • EventHttpRequest::addHeader — Adds an HTTP header to the headers of the request
    • EventHttpRequest::cancel — Cancels a pending HTTP request
    • EventHttpRequest::clearHeaders — Removes all output headers from the header list of the request
    • EventHttpRequest::closeConnection — Closes associated HTTP connection
    • EventHttpRequest::__construct — Constructs EventHttpRequest object
    • EventHttpRequest::findHeader — Finds the value belonging a header
    • EventHttpRequest::free — Frees the object and removes associated events
    • EventHttpRequest::getBufferEvent — Returns EventBufferEvent object
    • EventHttpRequest::getCommand — Returns the request command(method)
    • EventHttpRequest::getConnection — Returns EventHttpConnection object
    • EventHttpRequest::getHost — Returns the request host
    • EventHttpRequest::getInputBuffer — Returns the input buffer
    • EventHttpRequest::getInputHeaders — Returns associative array of the input headers
    • EventHttpRequest::getOutputBuffer — Returns the output buffer of the request
    • EventHttpRequest::getOutputHeaders — Returns associative array of the output headers
    • EventHttpRequest::getResponseCode — Returns the response code
    • EventHttpRequest::getUri — Returns the request URI
    • EventHttpRequest::removeHeader — Removes an HTTP header from the headers of the request
    • EventHttpRequest::sendError — Send an HTML error message to the client
    • EventHttpRequest::sendReply — Send an HTML reply to the client
    • EventHttpRequest::sendReplyChunk — Send another data chunk as part of an ongoing chunked reply
    • EventHttpRequest::sendReplyEnd — Complete a chunked reply, freeing the request as appropriate
    • EventHttpRequest::sendReplyStart — Initiate a chunked reply
  • EventListener — The EventListener class
    • EventListener::__construct — Creates new connection listener associated with an event base
    • EventListener::disable — Disables an event connect listener object
    • EventListener::enable — Enables an event connect listener object
    • EventListener::getBase — Returns event base associated with the event listener
    • EventListener::getSocketName — Retreives the current address to which the listener's socket is bound.
    • EventListener::setCallback — The setCallback purpose
    • EventListener::setErrorCallback — Set event listener's error callback
  • EventSslContext — The EventSslContext class
    • EventSslContext::__construct — Constructs an OpenSSL context for use with Event classes
  • EventUtil — The EventUtil class
    • EventUtil::__construct — The abstract constructor
    • EventUtil::getLastSocketErrno — Returns the most recent socket error number
    • EventUtil::getLastSocketError — Returns the most recent socket error
    • EventUtil::getSocketFd — Returns numeric file descriptor of a socket, or stream
    • EventUtil::getSocketName — Retreives the current address to which the socket is bound.
    • EventUtil::setSocketOption — Sets socket options
    • EventUtil::sslRandPoll — Generates entropy by means of OpenSSL's RAND_poll()
CURLFile::__wakeup
Einführung
Sonstige Dienste


Einführung

This is an extension to efficiently schedule I/O, time and signal based events using the best I/O notification mechanism available for specific platform. This is a port of libevent to the PHP infrastructure.

Hinweis:

Note, Windows support introduced in event-1.9.0 .

Version 1.0.0 introduces new object-oriented API (breaking backwards compatibility), and support of libevent 2+ including HTTP, DNS, OpenSSL and the event listener.

Hinweis:

Note, event-1.0.0 and greater is not compatible with previous versions.

Event
Installation/Konfiguration
Event


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Event


Anforderungen

This extension requires » libevent library. Most modern distributions provide packages for libevent.

OpenSSL features require » OpenSSL library.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/event .

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Beispiele

Beispiel #1 Simple HTTP client

<?php
// Read callback
function readcb($bev, $base) {
    //$input = $bev->input; //$bev->getInput();

    //$pos = $input->search("TTP");
    $pos = $bev->input->search("TTP");

    while (($n = $bev->input->remove($buf, 1024)) > 0) {
        echo $buf;
    }
}

// Event callback
function eventcb($bev, $events, $base) {
    if ($events & EventBufferEvent::CONNECTED) {
        echo "Connected.\n";
    } elseif ($events & (EventBufferEvent::ERROR | EventBufferEvent::EOF)) {
        if ($events & EventBufferEvent::ERROR) {
            echo "DNS error: ", $bev->getDnsErrorString(), PHP_EOL;
        }

        echo "Closing\n";
        $base->exit();
        exit("Done\n");
    }
}

if ($argc != 3) {
    echo <<<EOS
Trivial HTTP 0.x client
Syntax: php {$argv[0]} [hostname] [resource]
Example: php {$argv[0]} www.google.com /

EOS;
    exit();
}

$base = new EventBase();

$dns_base = new EventDnsBase($base, TRUE); // We'll use async DNS resolving
if (!$dns_base) {
    exit("Failed to init DNS Base\n");
}

$bev = new EventBufferEvent($base, /* use internal socket */ NULL,
    EventBufferEvent::OPT_CLOSE_ON_FREE | EventBufferEvent::OPT_DEFER_CALLBACKS,
    "readcb", /* writecb */ NULL, "eventcb"
);
if (!$bev) {
    exit("Failed creating bufferevent socket\n");
}

//$bev->setCallbacks("readcb", /* writecb */ NULL, "eventcb", $base);
$bev->enable(Event::READ | Event::WRITE);

$output = $bev->output; //$bev->getOutput();
if (!$output->add(
    "GET {$argv[2]} HTTP/1.0\r\n".
    "Host: {$argv[1]}\r\n".
    "Connection: Close\r\n\r\n"
)) {
    exit("Failed adding request to output buffer\n");
}

if (!$bev->connectHost($dns_base, $argv[1], 80, EventUtil::AF_UNSPEC)) {
    exit("Can't connect to host {$argv[1]}\n");
}

$base->dispatch();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Connected.
HTTP/1.1 301 Moved Permanently
Date: Fri, 01 Mar 2013 18:47:48 GMT
Location: http://www.google.co.uk/
Content-Type: text/html; CHARSET=Windows-1252
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 221
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Age: 133438
Expires: Sat, 30 Mar 2013 05:39:28 GMT
Connection: close

<HTML><HEAD><meta http-equiv="content-type" content="text/html;CHARSET=Windows-1252">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.co.uk/">here</A>.
</BODY></HTML>
Closing
Done

Beispiel #2 HTTP client using asynchronous DNS resolver

<?php
/*
 * 1. Connect to 127.0.0.1 at port 80
 * by means of EventBufferEvent::connect().
 *
 * 2. Request /index.cphp via HTTP/1.0
 * using the output buffer.
 *
 * 3. Asyncronously read the response and print it to stdout.
 */

// Read callback
function readcb($bev, $base) {
    $input = $bev->getInput();

    while (($n = $input->remove($buf, 1024)) > 0) {
        echo $buf;
    }
}

// Event callback
function eventcb($bev, $events, $base) {
    if ($events & EventBufferEvent::CONNECTED) {
        echo "Connected.\n";
    } elseif ($events & (EventBufferEvent::ERROR | EventBufferEvent::EOF)) {
        if ($events & EventBufferEvent::ERROR) {
            echo "DNS error: ", $bev->getDnsErrorString(), PHP_EOL;
        }

        echo "Closing\n";
        $base->exit();
        exit("Done\n");
    }
}

$base = new EventBase();

echo "step 1\n";
$bev = new EventBufferEvent($base, /* use internal socket */ NULL,
    EventBufferEvent::OPT_CLOSE_ON_FREE | EventBufferEvent::OPT_DEFER_CALLBACKS);
if (!$bev) {
    exit("Failed creating bufferevent socket\n");
}

echo "step 2\n";
$bev->setCallbacks("readcb", /* writecb */ NULL, "eventcb", $base);
$bev->enable(Event::READ | Event::WRITE);

echo "step 3\n";
// Send request
$output = $bev->getOutput();
if (!$output->add(
    "GET /index.cphp HTTP/1.0\r\n".
    "Connection: Close\r\n\r\n"
)) {
    exit("Failed adding request to output buffer\n");
}

/* Connect to the host syncronously.
We know the IP, and don't need to resolve DNS. */
if (!$bev->connect("127.0.0.1:80")) {
    exit("Can't connect to host\n");
}

// Dispatch pending events
$base->dispatch();
?>

Beispiel #3 Echo server

<?php
/*
 * Simple echo server based on libevent's connection listener.
 *
 * Usage:
 * 1) In one terminal window run:
 *
 * $ php listener.php 9881
 *
 * 2) In another terminal window open up connection, e.g.:
 *
 * $ nc 127.0.0.1 9881
 *
 * 3) start typing. The server should repeat the input.
 */

class MyListenerConnection {
    private $bev, $base;

    public function __destruct() {
        $this->bev->free();
    }

    public function __construct($base, $fd) {
        $this->base = $base;

        $this->bev = new EventBufferEvent($base, $fd, EventBufferEvent::OPT_CLOSE_ON_FREE);

        $this->bev->setCallbacks(array($this, "echoReadCallback"), NULL,
            array($this, "echoEventCallback"), NULL);

        if (!$this->bev->enable(Event::READ)) {
            echo "Failed to enable READ\n";
            return;
        }
    }

    public function echoReadCallback($bev, $ctx) {
        // Copy all the data from the input buffer to the output buffer

        // Variant #1
        $bev->output->addBuffer($bev->input);

        /* Variant #2 */
        /*
        $input    = $bev->getInput();
        $output = $bev->getOutput();
        $output->addBuffer($input);
        */
    }

    public function echoEventCallback($bev, $events, $ctx) {
        if ($events & EventBufferEvent::ERROR) {
            echo "Error from bufferevent\n";
        }

        if ($events & (EventBufferEvent::EOF | EventBufferEvent::ERROR)) {
            //$bev->free();
            $this->__destruct();
        }
    }
}

class MyListener {
    public $base,
        $listener,
        $socket;
    private $conn = array();

    public function __destruct() {
        foreach ($this->conn as &$c) $c = NULL;
    }

    public function __construct($port) {
        $this->base = new EventBase();
        if (!$this->base) {
            echo "Couldn't open event base";
            exit(1);
        }

        // Variant #1
        /*
        $this->socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
        if (!socket_bind($this->socket, '0.0.0.0', $port)) {
            echo "Unable to bind socket\n";
            exit(1);
        }
        $this->listener = new EventListener($this->base,
            array($this, "acceptConnCallback"), $this->base,
            EventListener::OPT_CLOSE_ON_FREE | EventListener::OPT_REUSEABLE,
            -1, $this->socket);
         */

        // Variant #2
         $this->listener = new EventListener($this->base,
             array($this, "acceptConnCallback"), $this->base,
             EventListener::OPT_CLOSE_ON_FREE | EventListener::OPT_REUSEABLE, -1,
             "0.0.0.0:$port");

        if (!$this->listener) {
            echo "Couldn't create listener";
            exit(1);
        }

        $this->listener->setErrorCallback(array($this, "accept_error_cb"));
    }

    public function dispatch() {
        $this->base->dispatch();
    }

    // This callback is invoked when there is data to read on $bev
    public function acceptConnCallback($listener, $fd, $address, $ctx) {
        // We got a new connection! Set up a bufferevent for it. */
        $base = $this->base;
        $this->conn[] = new MyListenerConnection($base, $fd);
    }

    public function accept_error_cb($listener, $ctx) {
        $base = $this->base;

        fprintf(STDERR, "Got an error %d (%s) on the listener. "
            ."Shutting down.\n",
            EventUtil::getLastSocketErrno(),
            EventUtil::getLastSocketError());

        $base->exit(NULL);
    }
}

$port = 9808;

if ($argc > 1) {
    $port = (int) $argv[1];
}
if ($port <= 0 || $port > 65535) {
    exit("Invalid port");
}

$l = new MyListener($port);
$l->dispatch();
?>

Beispiel #4 SSL echo server

<?php
/*
 * SSL echo server
 *
 * To test:
 * 1) Run:
 * $ php examples/ssl-echo-server/server.php 9998
 *
 * 2) in another terminal window run:
 * $ socat - SSL:127.0.0.1:9998,verify=1,cafile=examples/ssl-echo-server/cert.pem
 */

class MySslEchoServer {
    public $port,
        $base,
        $bev,
        $listener,
        $ctx;

    function __construct ($port, $host = "127.0.0.1") {
        $this->port = $port;
        $this->ctx = $this->init_ssl();
        if (!$this->ctx) {
            exit("Failed creating SSL context\n");
        }

        $this->base = new EventBase();
        if (!$this->base) {
            exit("Couldn't open event base\n");
        }

        $this->listener = new EventListener($this->base,
            array($this, "ssl_accept_cb"), $this->ctx,
            EventListener::OPT_CLOSE_ON_FREE | EventListener::OPT_REUSEABLE,
            -1, "$host:$port");
        if (!$this->listener) {
            exit("Couldn't create listener\n");
        }

        $this->listener->setErrorCallback(array($this, "accept_error_cb"));
    }
    function dispatch() {
        $this->base->dispatch();
    }

    // This callback is invoked when there is data to read on $bev.
    function ssl_read_cb($bev, $ctx) {
        $in = $bev->input; //$bev->getInput();

        printf("Received %zu bytes\n", $in->length);
        printf("----- data ----\n");
        printf("%ld:\t%s\n", (int) $in->length, $in->pullup(-1));

        $bev->writeBuffer($in);
    }

    // This callback is invoked when some even occurs on the event listener,
    // e.g. connection closed, or an error occured
    function ssl_event_cb($bev, $events, $ctx) {
        if ($events & EventBufferEvent::ERROR) {
            // Fetch errors from the SSL error stack
            while ($err = $bev->sslError()) {
                fprintf(STDERR, "Bufferevent error %s.\n", $err);
            }
        }

        if ($events & (EventBufferEvent::EOF | EventBufferEvent::ERROR)) {
            $bev->free();
        }
    }

    // This callback is invoked when a client accepts new connection
    function ssl_accept_cb($listener, $fd, $address, $ctx) {
        // We got a new connection! Set up a bufferevent for it.
        $this->bev = EventBufferEvent::sslSocket($this->base, $fd, $this->ctx,
            EventBufferEvent::SSL_ACCEPTING, EventBufferEvent::OPT_CLOSE_ON_FREE);

        if (!$this->bev) {
            echo "Failed creating ssl buffer\n";
            $this->base->exit(NULL);
            exit(1);
        }

        $this->bev->enable(Event::READ);
        $this->bev->setCallbacks(array($this, "ssl_read_cb"), NULL,
            array($this, "ssl_event_cb"), NULL);
    }

    // This callback is invoked when we failed to setup new connection for a client
    function accept_error_cb($listener, $ctx) {
        fprintf(STDERR, "Got an error %d (%s) on the listener. "
            ."Shutting down.\n",
            EventUtil::getLastSocketErrno(),
            EventUtil::getLastSocketError());

        $this->base->exit(NULL);
    }

    // Initialize SSL structures, create an EventSslContext
    // Optionally create self-signed certificates
    function init_ssl() {
        // We *must* have entropy. Otherwise there's no point to crypto.
        if (!EventUtil::sslRandPoll()) {
            exit("EventUtil::sslRandPoll failed\n");
        }

        $local_cert = __DIR__."/cert.pem";
        $local_pk   = __DIR__."/privkey.pem";

        if (!file_exists($local_cert) || !file_exists($local_pk)) {
            echo "Couldn't read $local_cert or $local_pk file.  To generate a key\n",
                "and self-signed certificate, run:\n",
                "  openssl genrsa -out $local_pk 2048\n",
                "  openssl req -new -key $local_pk -out cert.req\n",
                "  openssl x509 -req -days 365 -in cert.req -signkey $local_pk -out $local_cert\n";

            return FALSE;
        }

        $ctx = new EventSslContext(EventSslContext::SSLv3_SERVER_METHOD, array (
             EventSslContext::OPT_LOCAL_CERT  => $local_cert,
             EventSslContext::OPT_LOCAL_PK    => $local_pk,
             //EventSslContext::OPT_PASSPHRASE  => "echo server",
             EventSslContext::OPT_VERIFY_PEER => true,
             EventSslContext::OPT_ALLOW_SELF_SIGNED => false,
        ));

        return $ctx;
    }
}

// Allow to override the port
$port = 9999;
if ($argc > 1) {
    $port = (int) $argv[1];
}
if ($port <= 0 || $port > 65535) {
    exit("Invalid port\n");
}

$l = new MySslEchoServer($port);
$l->dispatch();
?>

Beispiel #5 Signal handler

<?php
/*
Launch it in a terminal window:

$ php examples/signal.php

In another terminal window find out the pid and send SIGTERM, e.g.:

$ ps aux | grep examp
ruslan    3976  0.2  0.0 139896 11256 pts/1    S+   10:25   0:00 php examples/signal.php
ruslan    3978  0.0  0.0   9572   864 pts/2    S+   10:26   0:00 grep --color=auto examp
$ kill -TERM 3976

At the first terminal window you should catch the following:

Caught signal 15
*/
class MyEventSignal {
    private $base;

    function __construct($base) {
        $this->base = $base;
    }

    function eventSighandler($no, $c) {
        echo "Caught signal $no\n";
        event_base_loopexit($c->base);
    }
}

$base = event_base_new();
$c    = new MyEventSignal($base);
$no   = SIGTERM;
$ev   = evsignal_new($base, $no, array($c,'eventSighandler'), $c);

evsignal_add($ev);

event_base_loop($base);
?>

Beispiel #6 Use libevent's loop to process requests of `eio' extension

<?php
// Callback for eio_nop()
function my_nop_cb($d, $r) {
    echo "step 6\n";
}

$dir = "/tmp/abc-eio-temp";
if (file_exists($dir)) {
    rmdir($dir);
}

echo "step 1\n";

$base = new EventBase();

echo "step 2\n";

eio_init();

eio_mkdir($dir, 0750, EIO_PRI_DEFAULT, "my_nop_cb");

$event = new Event($base, eio_get_event_stream(),
    Event::READ | Event::PERSIST, function ($fd, $events, $base) {
    echo "step 5\n";

    while (eio_nreqs()) {
        eio_poll();
    }

    $base->stop();
}, $base);

echo "step 3\n";

$event->add();

echo "step 4\n";

$base->dispatch();

echo "Done\n";
?>

Beispiel #7 Miscellaneous

<?php
/* {{{ Config & supported stuff */
echo "Supported methods:\n";
foreach (Event::getSupportedMethods() as $m) {
    echo $m, PHP_EOL;
}

// Avoiding "select" method
$cfg = new EventConfig();
if ($cfg->avoidMethod("select")) {
    echo "`select' method avoided\n";
}

// Create event_base associated with the config
$base = new EventBase($cfg);
echo "Event method used: ", $base->getMethod(), PHP_EOL;

echo "Features:\n";
$features = $base->getFeatures();
($features & EventConfig::FEATURE_ET) and print("ET - edge-triggered IO\n");
($features & EventConfig::FEATURE_O1) and print("O1 - O(1) operation for adding/deletting events\n");
($features & EventConfig::FEATURE_FDS) and print("FDS - arbitrary file descriptor types, and not just sockets\n");

// Require FDS feature
if ($cfg->requireFeatures(EventConfig::FEATURE_FDS)) {
    echo "FDS feature is now requried\n";

    $base = new EventBase($cfg);
    ($base->getFeatures() & EventConfig::FEATURE_FDS)
        and print("FDS - arbitrary file descriptor types, and not just sockets\n");
}
/* }}} */

/* {{{ Base */
$base = new EventBase();
$event = new Event($base, STDIN, Event::READ | Event::PERSIST, function ($fd, $events, $arg) {
    static $max_iterations = 0;

    if (++$max_iterations >= 5) {
        /* exit after 5 iterations with timeout of 2.33 seconds */
        echo "Stopping...\n";
        $arg[0]->exit(2.33);
    }

    echo fgets($fd);
}, array (&$base));

$event->add();
$base->loop();
/* Base }}} */
?>

Beispiel #8 Simple HTTP server

<?php
/*
 * Simple HTTP server.
 *
 * To test it:
 * 1) Run it on a port of your choice, e.g.:
 * $ php examples/http.php 8010
 * 2) In another terminal connect to some address on this port
 * and make GET or POST request(others are turned off here), e.g.:
 * $ nc -t 127.0.0.1 8010
 * POST /about HTTP/1.0
 * Content-Type: text/plain
 * Content-Length: 4
 * Connection: close
 * (press Enter)
 *
 * It will output
 * a=12
 * HTTP/1.0 200 OK
 * Content-Type: text/html; charset=ISO-8859-1
 * Connection: close
 *
 * $ nc -t 127.0.0.1 8010
 * GET /dump HTTP/1.0
 * Content-Type: text/plain
 * Content-Encoding: UTF-8
 * Connection: close
 * (press Enter)
 *
 * It will output:
 * HTTP/1.0 200 OK
 * Content-Type: text/html; charset=ISO-8859-1
 * Connection: close
 * (press Enter)
 *
 * $ nc -t 127.0.0.1 8010
 * GET /unknown HTTP/1.0
 * Connection: close
 *
 * It will output:
 * HTTP/1.0 200 OK
 * Content-Type: text/html; charset=ISO-8859-1
 * Connection: close
 *
 * 3) See what the server outputs on the previous terminal window.
 */

function _http_dump($req, $data) {
    static $counter      = 0;
    static $max_requests = 2;

    if (++$counter >= $max_requests)  {
        echo "Counter reached max requests $max_requests. Exiting\n";
        exit();
    }

    echo __METHOD__, " called\n";
    echo "request:"; var_dump($req);
    echo "data:"; var_dump($data);

    echo "\n===== DUMP =====\n";
    echo "Command:", $req->getCommand(), PHP_EOL;
    echo "URI:", $req->getUri(), PHP_EOL;
    echo "Input headers:"; var_dump($req->getInputHeaders());
    echo "Output headers:"; var_dump($req->getOutputHeaders());

    echo "\n >> Sending reply ...";
    $req->sendReply(200, "OK");
    echo "OK\n";

    echo "\n >> Reading input buffer ...\n";
    $buf = $req->getInputBuffer();
    while ($s = $buf->readLine(EventBuffer::EOL_ANY)) {
        echo $s, PHP_EOL;
    }
    echo "No more data in the buffer\n";
}

function _http_about($req) {
    echo __METHOD__, PHP_EOL;
    echo "URI: ", $req->getUri(), PHP_EOL;
    echo "\n >> Sending reply ...";
    $req->sendReply(200, "OK");
    echo "OK\n";
}

function _http_default($req, $data) {
    echo __METHOD__, PHP_EOL;
    echo "URI: ", $req->getUri(), PHP_EOL;
    echo "\n >> Sending reply ...";
    $req->sendReply(200, "OK");
    echo "OK\n";
}

$port = 8010;
if ($argc > 1) {
    $port = (int) $argv[1];
}
if ($port <= 0 || $port > 65535) {
    exit("Invalid port");
}

$base = new EventBase();
$http = new EventHttp($base);
$http->setAllowedMethods(EventHttpRequest::CMD_GET | EventHttpRequest::CMD_POST);

$http->setCallback("/dump", "_http_dump", array(4, 8));
$http->setCallback("/about", "_http_about");
$http->setDefaultCallback("_http_default", "custom data value");

$http->bind("0.0.0.0", 8010);
$base->loop();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

a=12
HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close

HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close
(press Enter)

HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close

Beispiel #9 Simple HTTPS server

<?php
/*
 * Simple HTTPS server.
 *
 * 1) Run the server: `php examples/https.php 9999`
 * 2) Test it: `php examples/ssl-connection.php 9999`
 */

function _http_dump($req, $data) {
    static $counter      = 0;
    static $max_requests = 200;

    if (++$counter >= $max_requests)  {
        echo "Counter reached max requests $max_requests. Exiting\n";
        exit();
    }

    echo __METHOD__, " called\n";
    echo "request:"; var_dump($req);
    echo "data:"; var_dump($data);

    echo "\n===== DUMP =====\n";
    echo "Command:", $req->getCommand(), PHP_EOL;
    echo "URI:", $req->getUri(), PHP_EOL;
    echo "Input headers:"; var_dump($req->getInputHeaders());
    echo "Output headers:"; var_dump($req->getOutputHeaders());

    echo "\n >> Sending reply ...";
    $req->sendReply(200, "OK");
    echo "OK\n";

    $buf = $req->getInputBuffer();
    echo "\n >> Reading input buffer (", $buf->length, ") ...\n";
    while ($s = $buf->read(1024)) {
        echo $s;
    }
    echo "\nNo more data in the buffer\n";
}

function _http_about($req) {
    echo __METHOD__, PHP_EOL;
    echo "URI: ", $req->getUri(), PHP_EOL;
    echo "\n >> Sending reply ...";
    $req->sendReply(200, "OK");
    echo "OK\n";
}

function _http_default($req, $data) {
    echo __METHOD__, PHP_EOL;
    echo "URI: ", $req->getUri(), PHP_EOL;
    echo "\n >> Sending reply ...";
    $req->sendReply(200, "OK");
    echo "OK\n";
}

function _http_400($req) {
    $req->sendError(400);
}

function _init_ssl() {
    $local_cert = __DIR__."/ssl-echo-server/cert.pem";
    $local_pk   = __DIR__."/ssl-echo-server/privkey.pem";

    $ctx = new EventSslContext(EventSslContext::SSLv3_SERVER_METHOD, array (
        EventSslContext::OPT_LOCAL_CERT  => $local_cert,
        EventSslContext::OPT_LOCAL_PK    => $local_pk,
        //EventSslContext::OPT_PASSPHRASE  => "test",
        EventSslContext::OPT_ALLOW_SELF_SIGNED => true,
    ));

    return $ctx;
}

$port = 9999;
if ($argc > 1) {
    $port = (int) $argv[1];
}
if ($port <= 0 || $port > 65535) {
    exit("Invalid port");
}
$ip = '0.0.0.0';

$base = new EventBase();
$ctx  = _init_ssl();
$http = new EventHttp($base, $ctx);
$http->setAllowedMethods(EventHttpRequest::CMD_GET | EventHttpRequest::CMD_POST);

$http->setCallback("/dump", "_http_dump", array(4, 8));
$http->setCallback("/about", "_http_about");
$http->setCallback("/err400", "_http_400");
$http->setDefaultCallback("_http_default", "custom data value");

$http->bind($ip, $port);
$base->dispatch();

Beispiel #10 OpenSSL connection

<?php
/*
 * Sample OpenSSL client.
 *
 * Usage:
 * 1) Launch a server, e.g.:
 * $ php examples/https.php 9999
 *
 * 2) Launch the client in another terminal:
 * $ php examples/ssl-connection.php 9999
 */

function _request_handler($req, $base) {
    echo __FUNCTION__, PHP_EOL;

    if (is_null($req)) {
        echo "Timed out\n";
    } else {
        $response_code = $req->getResponseCode();

        if ($response_code == 0) {
            echo "Connection refused\n";
        } elseif ($response_code != 200) {
            echo "Unexpected response: $response_code\n";
        } else {
            echo "Success: $response_code\n";
            $buf = $req->getInputBuffer();
            echo "Body:\n";
            while ($s = $buf->readLine(EventBuffer::EOL_ANY)) {
                echo $s, PHP_EOL;
            }
        }
    }

    $base->exit(NULL);
}

function _init_ssl() {
    $ctx = new EventSslContext(EventSslContext::SSLv3_CLIENT_METHOD, array ());

    return $ctx;
}

// Allow to override the port
$port = 9999;
if ($argc > 1) {
    $port = (int) $argv[1];
}
if ($port <= 0 || $port > 65535) {
    exit("Invalid port\n");
}
$host = '127.0.0.1';

$ctx = _init_ssl();
if (!$ctx) {
    trigger_error("Failed creating SSL context", E_USER_ERROR);
}

$base = new EventBase();
if (!$base) {
    trigger_error("Failed to initialize event base", E_USER_ERROR);
}

$conn = new EventHttpConnection($base, NULL, $host, $port, $ctx);
$conn->setTimeout(50);

$req = new EventHttpRequest("_request_handler", $base);
$req->addHeader("Host", $host, EventHttpRequest::OUTPUT_HEADER);
$buf = $req->getOutputBuffer();
$buf->add("<html>HTML TEST</html>");
//$req->addHeader("Content-Length", $buf->length, EventHttpRequest::OUTPUT_HEADER);
//$req->addHeader("Connection", "close", EventHttpRequest::OUTPUT_HEADER);
$conn->makeRequest($req, EventHttpRequest::CMD_POST, "/dump");

$base->dispatch();
echo "END\n";
?>

Beispiel #11 EventHttpConnection::makeRequest() example

<?php
function _request_handler($req, $base) {
    echo __FUNCTION__, PHP_EOL;

    if (is_null($req)) {
        echo "Timed out\n";
    } else {
        $response_code = $req->getResponseCode();

        if ($response_code == 0) {
            echo "Connection refused\n";
        } elseif ($response_code != 200) {
            echo "Unexpected response: $response_code\n";
        } else {
            echo "Success: $response_code\n";
            $buf = $req->getInputBuffer();
            echo "Body:\n";
            while ($s = $buf->readLine(EventBuffer::EOL_ANY)) {
                echo $s, PHP_EOL;
            }
        }
    }

    $base->exit(NULL);
}

$address = "127.0.0.1";
$port = 80;

$base = new EventBase();
$conn = new EventHttpConnection($base, NULL, $address, $port);
$conn->setTimeout(5);
$req = new EventHttpRequest("_request_handler", $base);

$req->addHeader("Host", $address, EventHttpRequest::OUTPUT_HEADER);
$req->addHeader("Content-Length", "0", EventHttpRequest::OUTPUT_HEADER);
$conn->makeRequest($req, EventHttpRequest::CMD_GET, "/index.cphp");

$base->loop();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

_request_handler
Success: 200
Body:
PHP, date:
2013-03-13T20:27:52+05:00

Beispiel #12 Connection listener based on a UNIX domain socket

<?php
/*
 * Simple echo server based on libevent's connection listener.
 *
 * Usage:
 * 1) In one terminal window run:
 *
 * $ php unix-domain-listener.php [path-to-socket]
 *
 * 2) In another terminal window open up connection
 * to the socket, e.g.:
 *
 * $ socat - GOPEN:/tmp/1.sock
 *
 * 3) Start typing. The server should repeat the input.
 */

class MyListenerConnection {
    private $bev, $base;

    public function __destruct() {
        if ($this->bev) {
            $this->bev->free();
        }
    }

    public function __construct($base, $fd) {
        $this->base = $base;

        $this->bev = new EventBufferEvent($base, $fd, EventBufferEvent::OPT_CLOSE_ON_FREE);

        $this->bev->setCallbacks(array($this, "echoReadCallback"), NULL,
            array($this, "echoEventCallback"), NULL);

        if (!$this->bev->enable(Event::READ)) {
            echo "Failed to enable READ\n";
            return;
        }
    }

    public function echoReadCallback($bev, $ctx) {
        // Copy all the data from the input buffer to the output buffer
        $bev->output->addBuffer($bev->input);
    }

    public function echoEventCallback($bev, $events, $ctx) {
        if ($events & EventBufferEvent::ERROR) {
            echo "Error from bufferevent\n";
        }

        if ($events & (EventBufferEvent::EOF | EventBufferEvent::ERROR)) {
            $bev->free();
            $bev = NULL;
        }
    }
}

class MyListener {
    public $base,
        $listener,
        $socket;
    private $conn = array();

    public function __destruct() {
        foreach ($this->conn as &$c) $c = NULL;
    }

    public function __construct($sock_path) {
        $this->base = new EventBase();
        if (!$this->base) {
            echo "Couldn't open event base";
            exit(1);
        }

        if (file_exists($sock_path)) {
            unlink($sock_path);
        }

         $this->listener = new EventListener($this->base,
             array($this, "acceptConnCallback"), $this->base,
             EventListener::OPT_CLOSE_ON_FREE | EventListener::OPT_REUSEABLE, -1,
             "unix:$sock_path");

        if (!$this->listener) {
            trigger_error("Couldn't create listener", E_USER_ERROR);
        }

        $this->listener->setErrorCallback(array($this, "accept_error_cb"));
    }

    public function dispatch() {
        $this->base->dispatch();
    }

    // This callback is invoked when there is data to read on $bev
    public function acceptConnCallback($listener, $fd, $address, $ctx) {
        // We got a new connection! Set up a bufferevent for it. */
        $base = $this->base;
        $this->conn[] = new MyListenerConnection($base, $fd);
    }

    public function accept_error_cb($listener, $ctx) {
        $base = $this->base;

        fprintf(STDERR, "Got an error %d (%s) on the listener. "
            ."Shutting down.\n",
            EventUtil::getLastSocketErrno(),
            EventUtil::getLastSocketError());

        $base->exit(NULL);
    }
}

if ($argc <= 1) {
    exit("Socket path is not provided\n");
}
$sock_path = $argv[1];

$l = new MyListener($sock_path);
$l->dispatch();
?>

Beispiel #13 Simple SMTP server

<?php
 /*
 * Author: Andrew Rose <hello at andrewrose dot co dot uk>
 *
 * Usage:
 * 1) Prepare cert.pem certificate and privkey.pem private key files.
 * 2) Launch the server script
 * 3) Open TLS connection, e.g.:
 *      $ openssl s_client -connect localhost:25 -starttls smtp -crlf
 * 4) Start testing the commands listed in `cmd` method below.
 */

class Handler {
    public $domainName = FALSE;
    public $connections = [];
    public $buffers = [];
    public $maxRead = 256000;

    public function __construct() {
        $this->ctx = new EventSslContext(EventSslContext::SSLv3_SERVER_METHOD, [
            EventSslContext::OPT_LOCAL_CERT  => 'cert.pem',
            EventSslContext::OPT_LOCAL_PK    => 'privkey.pem',
            //EventSslContext::OPT_PASSPHRASE  => '',
            EventSslContext::OPT_VERIFY_PEER => false, // change to true with authentic cert
            EventSslContext::OPT_ALLOW_SELF_SIGNED => true // change to false with authentic cert
        ]);

        $this->base = new EventBase();
        if (!$this->base) {
            exit("Couldn't open event base\n");
        }

        if (!$this->listener = new EventListener($this->base,
            [$this, 'ev_accept'],
            $this->ctx,
            EventListener::OPT_CLOSE_ON_FREE | EventListener::OPT_REUSEABLE,
            -1,
            '0.0.0.0:25'))
        {
            exit("Couldn't create listener\n");
        }

        $this->listener->setErrorCallback([$this, 'ev_error']);
        $this->base->dispatch();
    }

    public function ev_accept($listener, $fd, $address, $ctx) {
        static $id = 0;
        $id += 1;

        $this->connections[$id]['clientData'] = '';
        $this->connections[$id]['cnx'] = new EventBufferEvent($this->base, $fd,
            EventBufferEvent::OPT_CLOSE_ON_FREE);

        if (!$this->connections[$id]['cnx']) {
            echo "Failed creating buffer\n";
            $this->base->exit(NULL);
            exit(1);
        }

        $this->connections[$id]['cnx']->setCallbacks([$this, "ev_read"], NULL,
            [$this, 'ev_error'], $id);
        $this->connections[$id]['cnx']->enable(Event::READ | Event::WRITE);

        $this->ev_write($id, '220 '.$this->domainName." wazzzap?\r\n");
    }

    function ev_error($listener, $ctx) {
        $errno = EventUtil::getLastSocketErrno();

        fprintf(STDERR, "Got an error %d (%s) on the listener. Shutting down.\n",
            $errno, EventUtil::getLastSocketError());

        if ($errno != 0) {
            $this->base->exit(NULL);
            exit();
        }
    }

    public function ev_close($id) {
        $this->connections[$id]['cnx']->disable(Event::READ | Event::WRITE);
        unset($this->connections[$id]);
    }

    protected function ev_write($id, $string) {
        echo 'S('.$id.'): '.$string;
        $this->connections[$id]['cnx']->write($string);
    }

    public function ev_read($buffer, $id) {
        while($buffer->input->length > 0) {
            $this->connections[$id]['clientData'] .= $buffer->input->read($this->maxRead);
            $clientDataLen = strlen($this->connections[$id]['clientData']);

            if($this->connections[$id]['clientData'][$clientDataLen-1] == "\n"
                && $this->connections[$id]['clientData'][$clientDataLen-2] == "\r")
            {
                // remove the trailing \r\n
                $line = substr($this->connections[$id]['clientData'], 0,
                    strlen($this->connections[$id]['clientData']) - 2);

                $this->connections[$id]['clientData'] = '';
                $this->cmd($buffer, $id, $line);
            }
        }
    }

    protected function cmd($buffer, $id, $line) {
        switch ($line) {
            case strncmp('EHLO ', $line, 4):
                $this->ev_write($id, "250-STARTTLS\r\n");
                $this->ev_write($id, "250 OK ehlo\r\n");
                break;

            case strncmp('HELO ', $line, 4):
                $this->ev_write($id, "250-STARTTLS\r\n");
                $this->ev_write($id, "250 OK helo\r\n");
                break;

            case strncmp('QUIT', $line, 3):
                $this->ev_write($id, "250 OK quit\r\n");
                $this->ev_close($id);
                break;

            case strncmp('STARTTLS', $line, 3):
                $this->ev_write($id, "220 Ready to start TLS\r\n");
                $this->connections[$id]['cnx'] = EventBufferEvent::sslFilter($this->base,
                    $this->connections[$id]['cnx'], $this->ctx,
                    EventBufferEvent::SSL_ACCEPTING,
                    EventBufferEvent::OPT_CLOSE_ON_FREE);
                $this->connections[$id]['cnx']->setCallbacks([$this, "ev_read"], NULL, [$this, 'ev_error'], $id);
                $this->connections[$id]['cnx']->enable(Event::READ | Event::WRITE);
                break;

            default:
                echo 'unknown command: '.$line."\n";
                break;
        }
    }
}

new Handler();
Ressource-Typen
Event flags
Event


Event flags

Event::READ This flag indicates an event that becomes active when the provided file descriptor (usually a stream resource, or socket) is ready for reading.

Event::WRITE flag indicates an event that becomes active when the provided file descriptor (usually a stream resource, or socket) is ready for writing.

Event::SIGNAL used to implement signal detection. See "Constructing signal events" below.

Event::TIMEOUT indicates an event that becomes active after a timeout elapses. The Event::TIMEOUT flag is ignored when constructing an event: one can either set a timeout when event is added , or not. It is set in the $what argument to the callback function when a timeout has occurred.

See also » Fast portable non-blocking network programming with Libevent, Working with events, Event flags

Beispiele
About event persistence
Event


About event persistence

By default, whenever a pending event becomes active (because its file descriptor is ready to read or write, or because its timeout expires), it becomes non-pending right before its callback is executed. Thus, to make the event pending again one may call Event::add() on it again from inside the callback function.

If the Event::PERSIST flag is set on an event, however, the event is persistent . This means that event remains pending even when its callback is activated. Event::del() method can be called to make it non-pending.

The timeout on a persistent event resets whenever the event's callback runs. Thus, if one has an event with flags Event::READ | Event::PERSIST and a timeout of five seconds, the event will become active:

  1. Whenever the socket or file descriptor is ready for reading.

  2. Whenever five seconds have passed since the event last became active.

See also » Fast portable non-blocking network programming with Libevent, About Event Persistence

Event flags
Event callbacks
Event


Event callbacks

If a callback is registered for an event, it will be called when the event becomes active. To associate a callback with event one can pass a callable to either Event::__construct() , or Event::set() , or one of the factory methods like Event::timer() .

An event callback should match the following prototype:

void callback ([ mixed $fd = NULL [, int $what [, mixed $arg = NULL ]]] )

fd

The file descriptor, stream resource or socket associated with the event. For signal event fd is equal to the signal number.

what

Bit mask of all events triggered.

arg

User custom data.

Event::timer() expects the callback to match the following prototype:

void callback ([ mixed $arg = NULL ] )

arg

User custom data.

Event::signal() expects the callback to match the following prototype:

void callback ([ int $signum [, mixed $arg = NULL ]] )

signum

The number of the triggered signal(e.g. SIGTERM ).

arg

User custom data.

About event persistence
Constructing signal events
Event


Constructing signal events

Event can also watch for POSIX-style signals. To construct a handler for a signal, use Event::__construct() constructor with Event::SIGNAL flag, or Event::signal() factory method.

Beispiel #1 Handling SIGTERM signal

<?php
/*
Launch it in a terminal window:

$ php examples/signal.php

In another terminal window find out the pid and send SIGTERM, e.g.:

$ ps aux | grep examp
ruslan    3976  0.2  0.0 139896 11256 pts/1    S+   10:25   0:00 php examples/signal.php
ruslan    3978  0.0  0.0   9572   864 pts/2    S+   10:26   0:00 grep --color=auto examp
$ kill -TERM 3976

At the first terminal window you should catch the following:

Caught signal 15
*/
class MyEventSignal {
    private $base, $ev;

    public function __construct($base) {
        $this->base = $base;
        $this->ev = Event::signal($base, SIGTERM, array($this, 'eventSighandler'));
        $this->ev->add();
    }

    public function eventSighandler($no, $c) {
        echo "Caught signal $no\n";
        $this->base->exit();
    }
}

$base = new EventBase();
$c    = new MyEventSignal($base);

$base->loop();
?>

Note that signal callbacks are run in the event loop after the signal occurs, so it is safe for them to call functions that you are not supposed to call from a regular POSIX signal handler.

See also » Fast portable non-blocking network programming with Libevent, Constructing Signal Events .

Event callbacks
Event
Event


The Event class

(PECL event >= 1.2.6-beta)

Einführung

Event class represents and event firing on a file descriptor being ready to read from or write to; a file descriptor becoming ready to read from or write to(edge-triggered I/O only); a timeout expiring; a signal occuring; a user-triggered event.

Every event is associated with EventBase . However, event will never fire until it is added (via Event::add() ). An added event remains in pending state until the registered event occurs, thus turning it to active state. To handle events user may register a callback which is called when event becomes active. If event is configured persistent , it remains pending. If it is not persistent, it stops being pending when it's callback runs. Event::del() method deletes event, thus making it non-pending. By means of Event::add() method it could be added again.

Klassenbeschreibung

final Event {
/* Constants */
const integer ET = 32 ;
const integer PERSIST = 16 ;
const integer READ = 2 ;
const integer WRITE = 4 ;
const integer SIGNAL = 8 ;
const integer TIMEOUT = 1 ;
/* Eigenschaften */
public readonly bool $pending ;
/* Methoden */
public bool add ([ double $timeout ] )
public bool addSignal ([ double $timeout ] )
public bool addTimer ([ double $timeout ] )
public __construct ( EventBase $base , mixed $fd , int $what , callable $cb [, mixed $arg = NULL ] )
public bool del ( void )
public bool delSignal ( void )
public bool delTimer ( void )
public void free ( void )
public static array getSupportedMethods ( void )
public bool pending ( int $flags )
public bool set ( EventBase $base , mixed $fd [, int $what [, callable $cb [, mixed $arg ]]] )
public bool setPriority ( int $priority )
public bool setTimer ( EventBase $base , callable $cb [, mixed $arg ] )
public static Event signal ( EventBase $base , int $signum , callable $cb [, mixed $arg ] )
public static Event timer ( EventBase $base , callable $cb [, mixed $arg ] )
}

Eigenschaften

pending

Whether event is pending. See About event persistence .

Vordefinierte Konstanten

Event::ET

Indicates that the event should be edge-triggered, if the underlying event base backend supports edge-triggered events. This affects the semantics of Event::READ and Event::WRITE .

Event::PERSIST

Indicates that the event is persistent. See About event persistence .

Event::READ

This flag indicates an event that becomes active when the provided file descriptor(usually a stream resource, or socket) is ready for reading.

Event::WRITE

This flag indicates an event that becomes active when the provided file descriptor(usually a stream resource, or socket) is ready for reading.

Event::SIGNAL

Used to implement signal detection. See "Constructing signal events" below.

Event::TIMEOUT

This flag indicates an event that becomes active after a timeout elapses.

The Event::TIMEOUT flag is ignored when constructing an event: one can either set a timeout when event is added , or not. It is set in the $what argument to the callback function when a timeout has occurred.

Inhaltsverzeichnis

  • Event::add — Makes event pending
  • Event::addSignal — Makes signal event pending
  • Event::addTimer — Makes timer event pending
  • Event::__construct — Constructs Event object
  • Event::del — Makes event non-pending
  • Event::delSignal — Makes signal event non-pending
  • Event::delTimer — Makes timer event non-pending
  • Event::free — Make event non-pending and free resources allocated for this event.
  • Event::getSupportedMethods — Returns array with of the names of the methods supported in this version of Libevent
  • Event::pending — Detects whether event is pending or scheduled
  • Event::set — Re-configures event
  • Event::setPriority — Set event priority
  • Event::setTimer — Re-configures timer event
  • Event::signal — Constructs signal event object
  • Event::timer — Constructs timer event object
Constructing signal events
Event::add
Event


Makes event pending

Event
Event::addSignal
Event
PHP Manual

Event::add

(PECL libevent >= 0.0.1)

Event::add — Makes event pending

Beschreibung

public bool Event::add ([ double $timeout ] )

Marks event pending. Non-pending event will never occur, and the event callback will never be called. In conjuction with Event::del() an event could be re-scheduled by user at any time.

If Event::add() is called on an already pending event, libevent will leave it pending and re-schedule it with the given timeout(if specified). If in this case timeout is not specified, Event::add() has no effect.

Parameter-Liste

timeout

Timeout in seconds.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE

Siehe auch

  • Event::addSignal() - Makes signal event pending
  • Event::addTimer() - Makes timer event pending
  • Event::del() - Makes event non-pending
Event
Event::addSignal
Event


Makes signal event pending

Event::add
Event::addTimer
Event
PHP Manual

Event::addSignal

(PECL event >= 1.2.6-beta)

Event::addSignal — Makes signal event pending

Beschreibung

public bool Event::addSignal ([ double $timeout ] )

Event::addSignal() is an alias of Event::add()

Beispiele

Beispiel #1 Event::addSignal() example

<?php
/*
Launch it in a terminal window:

$ php examples/signal.php

In another terminal window find out the pid and send SIGTERM, e.g.:

$ ps aux | grep examp
ruslan    3976  0.2  0.0 139896 11256 pts/1    S+   10:25   0:00 php examples/signal.php
ruslan    3978  0.0  0.0   9572   864 pts/2    S+   10:26   0:00 grep --color=auto examp
$ kill -TERM 3976

At the first terminal window you should catch the following:

Caught signal 15
*/
class MyEventSignal {
    private $base, $ev;

    public function __construct($base) {
        $this->base = $base;
        $this->ev = Event::signal($base, SIGTERM, array($this, 'eventSighandler'));
        $this->ev->addSignal();
    }

    public function eventSighandler($no, $c) {
        echo "Caught signal $no\n";
        $this->base->exit();
    }
}

$base = new EventBase();
$c    = new MyEventSignal($base);

$base->loop();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Caught signal 15

Siehe auch

  • Event::add() - Makes event pending
  • Event::del() - Makes event non-pending
  • Event::delSignal() - Makes signal event non-pending
  • Event::signal() - Constructs signal event object
Event::add
Event::addTimer
Event


Makes timer event pending

Event::addSignal
Event::__construct
Event
PHP Manual

Event::addTimer

(PECL event >= 1.2.6-beta)

Event::addTimer — Makes timer event pending

Beschreibung

public bool Event::addTimer ([ double $timeout ] )

Event::addTimer() is an alias of Event::add()

Rückgabewerte

Beispiele

Beispiel #1 Event::addTimer() example

<?php
$base = new EventBase();
$n = 2;
$e = Event::timer($base, function($n) use (&$e) {
    echo "$n seconds elapsed\n";
    $e->delTimer();
}, $n);
$e->addTimer($n);
$base->loop();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

2 seconds elapsed

Siehe auch

  • Event::add() - Makes event pending
  • Event::del() - Makes event non-pending
  • Event::delTimer() - Makes timer event non-pending
Event::addSignal
Event::__construct
Event


Constructs Event object

Event::addTimer
Event::del
Event
PHP Manual

Event::__construct

(PECL event >= 1.2.6-beta)

Event::__construct — Constructs Event object

Beschreibung

public Event::__construct ( EventBase $base , mixed $fd , int $what , callable $cb [, mixed $arg = NULL ] )

Constructs Event object.

Parameter-Liste

base

The event base to associate with.

fd

stream resource, socket resource, or numeric file descriptor. For timer events pass -1 . For signal events pass the signal number, e.g. SIGHUP .

what

Event flags. See Event flags .

cb

The event callback. See Event callbacks .

arg

Custom data. If specified, it will be passed to the callback when event triggers.

Rückgabewerte

Returns Event object.

Siehe auch

  • Event::signal() - Constructs signal event object
  • Event::timer() - Constructs timer event object
Event::addTimer
Event::del
Event


Makes event non-pending

Event::__construct
Event::delSignal
Event
PHP Manual

Event::del

(PECL libevent >= 0.0.1)

Event::del — Makes event non-pending

Beschreibung

public bool Event::del ( void )

Removes an event from the set of monitored events, i.e. makes it non-pending.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE

Siehe auch

  • Event::add() - Makes event pending
Event::__construct
Event::delSignal
Event


Makes signal event non-pending

Event::del
Event::delTimer
Event
PHP Manual

Event::delSignal

(PECL event >= 1.2.6-beta)

Event::delSignal — Makes signal event non-pending

Beschreibung

public bool Event::delSignal ( void )

Event::delSignal() is an alias of Event::del()

Siehe auch

  • Event::del() - Makes event non-pending
Event::del
Event::delTimer
Event


Makes timer event non-pending

Event::delSignal
Event::free
Event
PHP Manual

Event::delTimer

(PECL event >= 1.2.6-beta)

Event::delTimer — Makes timer event non-pending

Beschreibung

public bool Event::delTimer ( void )

Event::delTimer() is an alias of Event::del() .

Siehe auch

  • Event::del() - Makes event non-pending
Event::delSignal
Event::free
Event


Make event non-pending and free resources allocated for this event.

Event::delTimer
Event::getSupportedMethods
Event
PHP Manual

Event::free

(PECL libevent >= 0.0.1)

Event::free — Make event non-pending and free resources allocated for this event.

Beschreibung

public void Event::free ( void )

Removes event from the list of events monitored by libevent, and free resources allocated for the event.

Warnung

The Event::free() method currently doesn't destruct the object itself. To destruct the object completely call unset() , or assign NULL.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • Event::__construct() - Constructs Event object
Event::delTimer
Event::getSupportedMethods
Event


Returns array with of the names of the methods supported in this version of Libevent

Event::free
Event::pending
Event
PHP Manual

Event::getSupportedMethods

(PECL event >= 1.2.6-beta)

Event::getSupportedMethods — Returns array with of the names of the methods supported in this version of Libevent

Beschreibung

public static array Event::getSupportedMethods ( void )

Returns array with of the names of the methods(backends) supported in this version of Libevent.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns array.

Siehe auch

  • EventConfig
Event::free
Event::pending
Event


Detects whether event is pending or scheduled

Event::getSupportedMethods
Event::set
Event
PHP Manual

Event::pending

(PECL event >= 1.2.6-beta)

Event::pending — Detects whether event is pending or scheduled

Beschreibung

public bool Event::pending ( int $flags )

Detects whether event is pending or scheduled

Parameter-Liste

flags

One of, or a composition of the following constants: Event::READ , Event::WRITE , Event::TIMEOUT , Event::SIGNAL .

Rückgabewerte

Returns TRUE if event is pending or scheduled. Otherwise FALSE.

Event::getSupportedMethods
Event::set
Event


Re-configures event

Event::pending
Event::setPriority
Event
PHP Manual

Event::set

(PECL libevent >= 0.0.1)

Event::set — Re-configures event

Beschreibung

public bool Event::set ( EventBase $base , mixed $fd [, int $what [, callable $cb [, mixed $arg ]]] )

Re-configures event. Note, this function doesn't invoke obsolete libevent's event_set. It calls event_assign instead.

Parameter-Liste

base

The event base to associate the event with.

fd

A stream, socket resource, or numeric file descriptor; for signal events pass -1 .

what

See Event flags .

cb

The event callback. See Event callbacks .

arg

Custom data associated with the event. It will be passed to the callback when the event becomes active.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

Event::pending
Event::setPriority
Event


Set event priority

Event::set
Event::setTimer
Event
PHP Manual

Event::setPriority

(PECL event >= 1.2.6-beta)

Event::setPriority — Set event priority

Beschreibung

public bool Event::setPriority ( int $priority )

Set event priority.

Parameter-Liste

priority

The event priority.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

Event::set
Event::setTimer
Event


Re-configures timer event

Event::setPriority
Event::signal
Event
PHP Manual

Event::setTimer

(PECL event >= 1.2.6-beta)

Event::setTimer — Re-configures timer event

Beschreibung

public bool Event::setTimer ( EventBase $base , callable $cb [, mixed $arg ] )

Re-configures timer event. Note, this function doesn't invoke obsolete libevent's event_set . It calls event_assign instead.

Parameter-Liste

base

The event base to associate with.

cb

The timer event callback. See Event callbacks .

arg

Custom data. If specified, it will be passed to the callback when event triggers.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

Siehe auch

  • Event::__construct() - Constructs Event object
  • Event::timer() - Constructs timer event object
Event::setPriority
Event::signal
Event


Constructs signal event object

Event::setTimer
Event::timer
Event
PHP Manual

Event::signal

(PECL event >= 1.2.6-beta)

Event::signal — Constructs signal event object

Beschreibung

public static Event Event::signal ( EventBase $base , int $signum , callable $cb [, mixed $arg ] )

Constructs signal event object. This is a straightforward method to create a signal event. Note, the generic Event::__construct() method can contruct signal event objects too.

Parameter-Liste

base

The associated event base object.

signum

The signal number.

cb

The signal event callback. See Event callbacks .

arg

Custom data. If specified, it will be passed to the callback when event triggers.

Rückgabewerte

Returns Event object on success. Otherwise FALSE.

Siehe auch

  • Constructing signal events
Event::setTimer
Event::timer
Event


Constructs timer event object

Event::signal
EventBase
Event
PHP Manual

Event::timer

(PECL event >= 1.2.6-beta)

Event::timer — Constructs timer event object

Beschreibung

public static Event Event::timer ( EventBase $base , callable $cb [, mixed $arg ] )

Constructs timer event object. This is a straightforward method to create a timer event. Note, the generic Event::__construct() method can contruct signal event objects too.

Parameter-Liste

base

The associated event base object.

cb

The signal event callback. See Event callbacks .

arg

Custom data. If specified, it will be passed to the callback when event triggers.

Rückgabewerte

Returns Event object on success. Otherwise FALSE.

Event::signal
EventBase
Event


The EventBase class

(PECL event >= 1.2.6-beta)

Einführung

EventBase class represents libevent's event base structure. It holds a set of events and can poll to determine which events are active.

Each event base has a method , or a backend that it uses to determine which events are ready. The recognized methods are: select , poll , epoll , kqueue , devpoll , evport and win32 .

To configure event base to use, or avoid specific backend EventConfig class can be used.

Warnung

Do NOT destroy the EventBase object as long as resources of the associated Event objects are not released. Otherwise, it will lead to unpredictable results!

Klassenbeschreibung

final EventBase {
/* Constants */
const integer LOOP_ONCE = 1 ;
const integer LOOP_NONBLOCK = 2 ;
const integer NOLOCK = 1 ;
const integer STARTUP_IOCP = 4 ;
const integer NO_CACHE_TIME = 8 ;
const integer EPOLL_USE_CHANGELIST = 16 ;
/* Methoden */
public __construct ([ EventConfig $cfg ] )
public void dispatch ( void )
public bool exit ([ double $timeout ] )
public void free ( void )
public int getFeatures ( void )
public string getMethod ( void )
public double getTimeOfDayCached ( void )
public bool gotExit ( void )
public bool gotStop ( void )
public bool loop ([ int $flags ] )
public bool priorityInit ( int $n_priorities )
public bool reInit ( void )
public bool stop ( void )
}

Vordefinierte Konstanten

EventBase::LOOP_ONCE

Flag used with EventBase::loop() method which means: "block until libevent has an active event, then exit once all active events have had their callbacks run".

EventBase::LOOP_NONBLOCK

Flag used with EventBase::loop() method which means: "do not block: see which events are ready now, run the callbacks of the highest-priority ones, then exit".

EventBase::NOLOCK

Configuration flag. Do not allocate a lock for the event base, even if we have locking set up".

EventBase::STARTUP_IOCP

Windows-only configuration flag. Enables the IOCP dispatcher at startup.

EventBase::NO_CACHE_TIME

Configuration flag. Instead of checking the current time every time the event loop is ready to run timeout callbacks, check after each timeout callback.

EventBase::EPOLL_USE_CHANGELIST

If we are using the epoll backend, this flag says that it is safe to use Libevent's internal change-list code to batch up adds and deletes in order to try to do as few syscalls as possible.

Setting this flag can make code run faster, but it may trigger a Linux bug: it is not safe to use this flag if one has any fds cloned by dup(), or its variants. Doing so will produce strange and hard-to-diagnose bugs.

This flag can also be activated by settnig the EVENT_EPOLL_USE_CHANGELIST environment variable.

This flag has no effect if one winds up using a backend other than epoll .

Inhaltsverzeichnis

  • EventBase::__construct — Constructs EventBase object
  • EventBase::dispatch — Dispatch pending events
  • EventBase::exit — Stop dispatching events
  • EventBase::free — Free resources allocated for this event base
  • EventBase::getFeatures — Returns bitmask of features supported
  • EventBase::getMethod — Returns event method in use
  • EventBase::getTimeOfDayCached — Returns the current event base time
  • EventBase::gotExit — Checks if the event loop was told to exit
  • EventBase::gotStop — Checks if the event loop was told to exit
  • EventBase::loop — Dispatch pending events
  • EventBase::priorityInit — Sets number of priorities per event base
  • EventBase::reInit — Re-initialize event base(after a fork).
  • EventBase::stop — Tells event_base to stop dispatching events
Event::timer
EventBase::__construct
Event


Constructs EventBase object

EventBase
EventBase::dispatch
EventBase
PHP Manual

EventBase::__construct

(PECL event >= 1.2.6-beta)

EventBase::__construct — Constructs EventBase object

Beschreibung

public EventBase::__construct ([ EventConfig $cfg ] )

Constructs EventBase object

Parameter-Liste

cfg

Optional EventConfig object.

Rückgabewerte

Returns EventBase object.

Siehe auch

  • EventConfig
EventBase
EventBase::dispatch
EventBase


Dispatch pending events

EventBase::__construct
EventBase::exit
EventBase
PHP Manual

EventBase::dispatch

(PECL event >= 1.2.6-beta)

EventBase::dispatch — Dispatch pending events

Beschreibung

public void EventBase::dispatch ( void )

Wait for events to become active, and run their callbacks. The same as EventBase::loop() with no flags set.

Warnung

Do NOT destroy the EventBase object as long as resources of the associated Event objects are not released. Otherwise, it will lead to unpredictable results!

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

Siehe auch

  • EventBase::loop() - Dispatch pending events
EventBase::__construct
EventBase::exit
EventBase


Stop dispatching events

EventBase::dispatch
EventBase::free
EventBase
PHP Manual

EventBase::exit

(PECL event >= 1.2.6-beta)

EventBase::exit — Stop dispatching events

Beschreibung

public bool EventBase::exit ([ double $timeout ] )

Tells event base to stop optionally after given number of seconds.

Parameter-Liste

timeout

Optional number of seconds after which the event base should stop dispatching events.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

Siehe auch

  • EventBase::stop() - Tells event_base to stop dispatching events
EventBase::dispatch
EventBase::free
EventBase


Free resources allocated for this event base

EventBase::exit
EventBase::getFeatures
EventBase
PHP Manual

EventBase::free

(PECL event >= 1.10.0)

EventBase::free — Free resources allocated for this event base

Beschreibung

public void EventBase::free ( void )

Deallocates resources allocated by libevent for the EventBase object.

Warnung

The EventBase::free() method doesn't destruct the object itself. To destruct the object completely call unset() , or assign NULL.

This method does not deallocate or detach any of the events that are currently associated with the EventBase object, or close any of their sockets - beware.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • EventBase::__construct() - Constructs EventBase object
EventBase::exit
EventBase::getFeatures
EventBase


Returns bitmask of features supported

EventBase::free
EventBase::getMethod
EventBase
PHP Manual

EventBase::getFeatures

(PECL event >= 1.2.6-beta)

EventBase::getFeatures — Returns bitmask of features supported

Beschreibung

public int EventBase::getFeatures ( void )

Returns bitmask of features supported.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns integer representing a bitmask of supported features. See EventConfig::FEATURE_* constants .

Beispiele

Beispiel #1 EventBase::getFeatures() example

<?php
// Avoiding "select" method
$cfg = new EventConfig();
if ($cfg->avoidMethod("select")) {
    echo "`select' method avoided\n";
}

$base = new EventBase($cfg);

echo "Features:\n";
$features = $base->getFeatures();
($features & EventConfig::FEATURE_ET) and print("ET - edge-triggered IO\n");
($features & EventConfig::FEATURE_O1) and print("O1 - O(1) operation for adding/deletting events\n");
($features & EventConfig::FEATURE_FDS) and print("FDS - arbitrary file descriptor types, and not just sockets\n");
?>

Siehe auch

  • EventBase::getMethod() - Returns event method in use
  • EventConfig
EventBase::free
EventBase::getMethod
EventBase


Returns event method in use

EventBase::getFeatures
EventBase::getTimeOfDayCached
EventBase
PHP Manual

EventBase::getMethod

(PECL event >= 1.2.6-beta)

EventBase::getMethod — Returns event method in use

Beschreibung

public string EventBase::getMethod ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

String representing used event method(backend).

Beispiele

Beispiel #1 EventBase::getMethod() example

<?php
$cfg = new EventConfig();
if ($cfg->avoidMethod("select")) {
    echo "`select' method avoided\n";
}

// Create event_base associated with the config
$base = new EventBase($cfg);
echo "Event method used: ", $base->getMethod(), PHP_EOL;

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

`select' method avoided
Event method used: epoll

Siehe auch

  • EventBase::getFeatures() - Returns bitmask of features supported
EventBase::getFeatures
EventBase::getTimeOfDayCached
EventBase


Returns the current event base time

EventBase::getMethod
EventBase::gotExit
EventBase
PHP Manual

EventBase::getTimeOfDayCached

(PECL event >= 1.2.6-beta)

EventBase::getTimeOfDayCached — Returns the current event base time

Beschreibung

public double EventBase::getTimeOfDayCached ( void )

On success returns the current time(as returned by gettimeofday() ), looking at the cached value in base if possible, and calling gettimeofday() or clock_gettime() as appropriate if there is no cached time.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current event base time. On failure returns NULL.

EventBase::getMethod
EventBase::gotExit
EventBase


Checks if the event loop was told to exit

EventBase::getTimeOfDayCached
EventBase::gotStop
EventBase
PHP Manual

EventBase::gotExit

(PECL event >= 1.2.6-beta)

EventBase::gotExit — Checks if the event loop was told to exit

Beschreibung

public bool EventBase::gotExit ( void )

Checks if the event loop was told to exit by EventBase::exit() .

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE, event loop was told to exit by EventBase::exit() . Otherwise FALSE.

Siehe auch

  • EventBase::exit() - Stop dispatching events
  • EventBase::stop() - Tells event_base to stop dispatching events
  • EventBase::gotStop() - Checks if the event loop was told to exit
EventBase::getTimeOfDayCached
EventBase::gotStop
EventBase


Checks if the event loop was told to exit

EventBase::gotExit
EventBase::loop
EventBase
PHP Manual

EventBase::gotStop

(PECL event >= 1.2.6-beta)

EventBase::gotStop — Checks if the event loop was told to exit

Beschreibung

public bool EventBase::gotStop ( void )

Checks if the event loop was told to exit by EventBase::stop() .

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE, event loop was told to stop by EventBase::stop() . Otherwise FALSE.

Siehe auch

  • EventBase::exit() - Stop dispatching events
  • EventBase::stop() - Tells event_base to stop dispatching events
  • EventBase::gotExit() - Checks if the event loop was told to exit
EventBase::gotExit
EventBase::loop
EventBase


Dispatch pending events

EventBase::gotStop
EventBase::priorityInit
EventBase
PHP Manual

EventBase::loop

(PECL event >= 1.2.6-beta)

EventBase::loop — Dispatch pending events

Beschreibung

public bool EventBase::loop ([ int $flags ] )

Wait for events to become active, and run their callbacks.

Warnung

Do NOT destroy the EventBase object as long as resources of the associated Event objects are not released. Otherwise, it will lead to unpredictable results!

Parameter-Liste

flags

Optional flags. One of EventBase::LOOP_* constants. See EventBase constants .

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

Siehe auch

  • EventBase::dispatch() - Dispatch pending events
EventBase::gotStop
EventBase::priorityInit
EventBase


Sets number of priorities per event base

EventBase::loop
EventBase::reInit
EventBase
PHP Manual

EventBase::priorityInit

(PECL event >= 1.2.6-beta)

EventBase::priorityInit — Sets number of priorities per event base

Beschreibung

public bool EventBase::priorityInit ( int $n_priorities )

Sets number of priorities per event base.

Parameter-Liste

n_priorities

The number of priorities per event base.

Rückgabewerte

Returns TRUE on success, otherwise FALSE.

Siehe auch

  • Event::setPriority() - Set event priority
EventBase::loop
EventBase::reInit
EventBase


Re-initialize event base(after a fork).

EventBase::priorityInit
EventBase::stop
EventBase
PHP Manual

EventBase::reInit

(PECL event >= 1.2.6-beta)

EventBase::reInit — Re-initialize event base(after a fork).

Beschreibung

public bool EventBase::reInit ( void )

Re-initialize event base. Should be called after a fork.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

EventBase::priorityInit
EventBase::stop
EventBase


Tells event_base to stop dispatching events

EventBase::reInit
EventBuffer
EventBase
PHP Manual

EventBase::stop

(PECL event >= 1.2.6-beta)

EventBase::stop — Tells event_base to stop dispatching events

Beschreibung

public bool EventBase::stop ( void )

Tells event_base to stop dispatching events

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

Siehe auch

  • EventBase::exit() - Stop dispatching events
  • EventBase::gotStop() - Checks if the event loop was told to exit
EventBase::reInit
EventBuffer
EventBase


The EventBuffer class

(PECL event >= 1.5.0)

Einführung

EventBuffer represents Libevent's "evbuffer", an utility functionality for buffered I/O.

Event buffers are meant to be generally useful for doing the "buffer" part of buffered network I/O.

Klassenbeschreibung

EventBuffer {
/* Constants */
const integer EOL_ANY = 0 ;
const integer EOL_CRLF = 1 ;
const integer EOL_CRLF_STRICT = 2 ;
const integer EOL_LF = 3 ;
const integer PTR_SET = 0 ;
const integer PTR_ADD = 1 ;
/* Eigenschaften */
public readonly int $length ;
public readonly int $contiguous_space ;
/* Methoden */
public bool add ( string $data )
public bool addBuffer ( EventBuffer $buf )
public int appendFrom ( EventBuffer $buf , int $len )
public __construct ( void )
public int copyout ( string &$data , int $max_bytes )
public bool drain ( int $len )
public void enableLocking ( void )
public bool expand ( int $len )
public bool freeze ( bool $at_front )
public void lock ( void )
public bool prepend ( string $data )
public bool prependBuffer ( EventBuffer $buf )
public string pullup ( int $size )
public string read ( int $max_bytes )
public int read ( mixed $fd , int $howmuch )
public string readLine ( int $eol_style )
public mixed search ( string $what [, int $start = -1 [, int $end = -1 ]] )
public mixed searchEol ([ int $start = -1 [, int $eol_style = EventBuffer::EOL_ANY ]] )
public string substr ( int $start [, int $length ] )
public bool unfreeze ( bool $at_front )
public bool unlock ( void )
public int write ( mixed $fd [, int $howmuch ] )
}

Eigenschaften

length

The number of bytes stored in an event buffer.

contiguous_space

The number of bytes stored contiguously at the front of the buffer. The bytes in a buffer may be stored in multiple separate chunks of memory; the property returns the number of bytes currently stored in the first chunk.

Vordefinierte Konstanten

EventBuffer::EOL_ANY

The end of line is any sequence of any number of carriage return and linefeed characters. This format is not very useful; it exists mainly for backward compatibility.

EventBuffer::EOL_CRLF

The end of the line is an optional carriage return, followed by a linefeed. (In other words, it is either a "\r\n" or a "\n" .) This format is useful in parsing text-based Internet protocols, since the standards generally prescribe a "\r\n" line-terminator, but nonconformant clients sometimes say just "\n" .

EventBuffer::EOL_CRLF_STRICT

The end of a line is a single carriage return, followed by a single linefeed. (This is also known as "\r\n" . The ASCII values are 0x0D 0x0A ).

EventBuffer::EOL_LF

The end of a line is a single linefeed character. (This is also known as "\n" . It is ASCII value is 0x0A .)

EventBuffer::PTR_SET

Flag used as argument of EventBuffer::setPosition() method. If this flag specified, the position pointer is moved to an absolute position within the buffer.

EventBuffer::PTR_ADD

The same as EventBuffer::PTR_SET , except this flag causes EventBuffer::setPosition() method to move position forward up to the specified number of bytes(instead of setting absolute position).

Inhaltsverzeichnis

  • EventBuffer::add — Append data to the end of an event buffer
  • EventBuffer::addBuffer — Move all data from a buffer provided to the current instance of EventBuffer
  • EventBuffer::appendFrom — Moves the specified number of bytes from a source buffer to the end of the current buffer
  • EventBuffer::__construct — Constructs EventBuffer object
  • EventBuffer::copyout — Copies out specified number of bytes from the front of the buffer
  • EventBuffer::drain — Removes specified number of bytes from the front of the buffer without copying it anywhere
  • EventBuffer::enableLocking — Beschreibung
  • EventBuffer::expand — Reserves space in buffer
  • EventBuffer::freeze — Prevent calls that modify an event buffer from succeeding
  • EventBuffer::lock — Acquires a lock on buffer
  • EventBuffer::prepend — Prepend data to the front of the buffer
  • EventBuffer::prependBuffer — Moves all data from source buffer to the front of current buffer
  • EventBuffer::pullup — Linearizes data within buffer and returns it's contents as a string
  • EventBuffer::read — Read data from an evbuffer and drain the bytes read
  • EventBuffer::readFrom — Read data from a file onto the end of the buffer
  • EventBuffer::readLine — Extracts a line from the front of the buffer
  • EventBuffer::search — Scans the buffer for an occurrence of a string
  • EventBuffer::searchEol — Scans the buffer for an occurrence of an end of line
  • EventBuffer::substr — Substracts a portion of the buffer data
  • EventBuffer::unfreeze — Re-enable calls that modify an event buffer
  • EventBuffer::unlock — Releases lock acquired by EventBuffer::lock
  • EventBuffer::write — Schreibt den Inhalt des Puffers in eine Datei oder ein Socket
EventBase::stop
EventBuffer::add
Event


Append data to the end of an event buffer

EventBuffer
EventBuffer::addBuffer
EventBuffer
PHP Manual

EventBuffer::add

(PECL event >= 1.2.6-beta)

EventBuffer::add — Append data to the end of an event buffer

Beschreibung

public bool EventBuffer::add ( string $data )

Append data to the end of an event buffer.

Parameter-Liste

data

String to be appended to the end of the buffer.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

Siehe auch

  • EventBuffer::addBuffer() - Move all data from a buffer provided to the current instance of EventBuffer
EventBuffer
EventBuffer::addBuffer
EventBuffer


Move all data from a buffer provided to the current instance of EventBuffer

EventBuffer::add
EventBuffer::appendFrom
EventBuffer
PHP Manual

EventBuffer::addBuffer

(PECL event >= 1.2.6-beta)

EventBuffer::addBuffer — Move all data from a buffer provided to the current instance of EventBuffer

Beschreibung

public bool EventBuffer::addBuffer ( EventBuffer $buf )

Move all data from the buffer provided in buf parameter to the end of current EventBuffer . This is a destructive add. The data from one buffer moves into the other buffer. However, no unnecessary memory copies occur.

Parameter-Liste

buf

The source EventBuffer object.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

Siehe auch

  • EventBuffer::add() - Append data to the end of an event buffer
EventBuffer::add
EventBuffer::appendFrom
EventBuffer


Moves the specified number of bytes from a source buffer to the end of the current buffer

EventBuffer::addBuffer
EventBuffer::__construct
EventBuffer
PHP Manual

EventBuffer::appendFrom

(PECL event >= 1.6.0)

EventBuffer::appendFrom — Moves the specified number of bytes from a source buffer to the end of the current buffer

Beschreibung

public int EventBuffer::appendFrom ( EventBuffer $buf , int $len )

Moves the specified number of bytes from a source buffer to the end of the current buffer. If there are fewer number of bytes, it moves all the bytes available from the source buffer.

Parameter-Liste

buf

Source buffer.

len

Rückgabewerte

Returns the number of bytes read.

Changelog

Version | Beschreibung
1.6.0 | Renamed EventBuffer::appendFrom()(the old method name) to EventBuffer::appendFrom().

Siehe auch

  • EventBuffer::copyout() - Copies out specified number of bytes from the front of the buffer
  • EventBuffer::drain() - Removes specified number of bytes from the front of the buffer without copying it anywhere
  • EventBuffer::pullup() - Linearizes data within buffer and returns it's contents as a string
  • EventBuffer::readLine() - Extracts a line from the front of the buffer
  • EventBuffer::read() - Read data from an evbuffer and drain the bytes read
EventBuffer::addBuffer
EventBuffer::__construct
EventBuffer


Constructs EventBuffer object

EventBuffer::appendFrom
EventBuffer::copyout
EventBuffer
PHP Manual

EventBuffer::__construct

(PECL event >= 1.2.6-beta)

EventBuffer::__construct — Constructs EventBuffer object

Beschreibung

public EventBuffer::__construct ( void )

Constructs EventBuffer object

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns EventBuffer object.

EventBuffer::appendFrom
EventBuffer::copyout
EventBuffer


Copies out specified number of bytes from the front of the buffer

EventBuffer::__construct
EventBuffer::drain
EventBuffer
PHP Manual

EventBuffer::copyout

(PECL event >= 1.2.6-beta)

EventBuffer::copyout — Copies out specified number of bytes from the front of the buffer

Beschreibung

public int EventBuffer::copyout ( string &$data , int $max_bytes )

Behaves just like EventBuffer::read() , but does not drain any data from the buffer. I.e. it copies the first max_bytes bytes from the front of the buffer into data . If there are fewer than max_bytes bytes available, the function copies all the bytes there are.

Parameter-Liste

data

Output string.

max_bytes

The number of bytes to copy.

Rückgabewerte

Returns the number of bytes copied, or -1 on failure.

Siehe auch

  • EventBuffer::read() - Read data from an evbuffer and drain the bytes read
  • EventBuffer::appendFrom() - Moves the specified number of bytes from a source buffer to the end of the current buffer
EventBuffer::__construct
EventBuffer::drain
EventBuffer


Removes specified number of bytes from the front of the buffer without copying it anywhere

EventBuffer::copyout
EventBuffer::enableLocking
EventBuffer
PHP Manual

EventBuffer::drain

(PECL event >= 1.2.6-beta)

EventBuffer::drain — Removes specified number of bytes from the front of the buffer without copying it anywhere

Beschreibung

public bool EventBuffer::drain ( int $len )

Behaves as EventBuffer::read() , except that it does not copy the data: it just removes it from the front of the buffer.

Parameter-Liste

len

The number of bytes to remove from the buffer.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

Siehe auch

  • EventBuffer::read() - Read data from an evbuffer and drain the bytes read
  • EventBuffer::appendFrom() - Moves the specified number of bytes from a source buffer to the end of the current buffer
EventBuffer::copyout
EventBuffer::enableLocking
EventBuffer


EventBuffer::drain
EventBuffer::expand
EventBuffer
PHP Manual

EventBuffer::enableLocking

(PECL event >= 1.2.6-beta)

EventBuffer::enableLocking —

Beschreibung

public void EventBuffer::enableLocking ( void )

Enable locking on an EventBuffer so that it can safely be used by multiple threads at the same time. When locking is enabled, the lock will be held when callbacks are invoked. This could result in deadlock if you aren't careful. Plan accordingly!

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • » Evbuffers and Thread-safety
EventBuffer::drain
EventBuffer::expand
EventBuffer


Reserves space in buffer

EventBuffer::enableLocking
EventBuffer::freeze
EventBuffer
PHP Manual

EventBuffer::expand

(PECL event >= 1.2.6-beta)

EventBuffer::expand — Reserves space in buffer

Beschreibung

public bool EventBuffer::expand ( int $len )

Alters the last chunk of memory in the buffer, or adds a new chunk, such that the buffer is now large enough to contain len bytes without any further allocations.

Parameter-Liste

len

The number of bytes to reserve for the buffer

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

EventBuffer::enableLocking
EventBuffer::freeze
EventBuffer


Prevent calls that modify an event buffer from succeeding

EventBuffer::expand
EventBuffer::lock
EventBuffer
PHP Manual

EventBuffer::freeze

(PECL event >= 1.2.6-beta)

EventBuffer::freeze — Prevent calls that modify an event buffer from succeeding

Beschreibung

public bool EventBuffer::freeze ( bool $at_front )

Prevent calls that modify an event buffer from succeeding

Parameter-Liste

at_front

Whether to disable changes to the front or end of the buffer.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

Siehe auch

  • EventBuffer::unfreeze() - Re-enable calls that modify an event buffer
EventBuffer::expand
EventBuffer::lock
EventBuffer


Acquires a lock on buffer

EventBuffer::freeze
EventBuffer::prepend
EventBuffer
PHP Manual

EventBuffer::lock

(PECL event >= 1.2.6-beta)

EventBuffer::lock — Acquires a lock on buffer

Beschreibung

public void EventBuffer::lock ( void )

Acquires a lock on buffer. Can be used in pair with EventBuffer::unlock() to make a set of operations atomic, i.e. thread-safe. Note, it is not needed to lock buffers for individual operations. When locking is enabled(see EventBuffer::enableLocking() ), individual operations on event buffers are already atomic.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • EventBuffer::unlock() - Releases lock acquired by EventBuffer::lock
EventBuffer::freeze
EventBuffer::prepend
EventBuffer


Prepend data to the front of the buffer

EventBuffer::lock
EventBuffer::prependBuffer
EventBuffer
PHP Manual

EventBuffer::prepend

(PECL event >= 1.2.6-beta)

EventBuffer::prepend — Prepend data to the front of the buffer

Beschreibung

public bool EventBuffer::prepend ( string $data )

Prepend data to the front of the buffer.

Parameter-Liste

data

String to be prepended to the front of the buffer.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

Siehe auch

  • EventBuffer::prependBuffer() - Moves all data from source buffer to the front of current buffer
  • EventBuffer::add() - Append data to the end of an event buffer
  • EventBuffer::addBuffer() - Move all data from a buffer provided to the current instance of EventBuffer
EventBuffer::lock
EventBuffer::prependBuffer
EventBuffer


Moves all data from source buffer to the front of current buffer

EventBuffer::prepend
EventBuffer::pullup
EventBuffer
PHP Manual

EventBuffer::prependBuffer

(PECL event >= 1.2.6-beta)

EventBuffer::prependBuffer — Moves all data from source buffer to the front of current buffer

Beschreibung

public bool EventBuffer::prependBuffer ( EventBuffer $buf )

Behaves as EventBuffer::addBuffer() , except that it moves data to the front of the buffer.

Parameter-Liste

buf

Source buffer.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

Siehe auch

  • EventBuffer::add() - Append data to the end of an event buffer
  • EventBuffer::addBuffer() - Move all data from a buffer provided to the current instance of EventBuffer
  • EventBuffer::prepend() - Prepend data to the front of the buffer
EventBuffer::prepend
EventBuffer::pullup
EventBuffer


Linearizes data within buffer and returns it's contents as a string

EventBuffer::prependBuffer
EventBuffer::read
EventBuffer
PHP Manual

EventBuffer::pullup

(PECL event >= 1.2.6-beta)

EventBuffer::pullup — Linearizes data within buffer and returns it's contents as a string

Beschreibung

public string EventBuffer::pullup ( int $size )

"Linearizes" the first size bytes of the buffer, copying or moving them as needed to ensure that they are all contiguous and occupying the same chunk of memory. If size is negative, the function linearizes the entire buffer.

Warnung

Calling EventBuffer::pullup() with a large size can be quite slow, since it potentially needs to copy the entire buffer's contents.

Parameter-Liste

size

The number of bytes required to be contiguous within the buffer.

Rückgabewerte

If size is greater than the number of bytes in the buffer, the function returns NULL. Otherwise, EventBuffer::pullup() returns string.

Siehe auch

  • EventBuffer::copyout() - Copies out specified number of bytes from the front of the buffer
  • EventBuffer::drain() - Removes specified number of bytes from the front of the buffer without copying it anywhere
  • EventBuffer::read() - Read data from an evbuffer and drain the bytes read
  • EventBuffer::readLine() - Extracts a line from the front of the buffer
  • EventBuffer::appendFrom() - Moves the specified number of bytes from a source buffer to the end of the current buffer
EventBuffer::prependBuffer
EventBuffer::read
EventBuffer


Read data from an evbuffer and drain the bytes read

EventBuffer::pullup
EventBuffer::readFrom
EventBuffer
PHP Manual

EventBuffer::read

(PECL event >= 1.6.0)

EventBuffer::read — Read data from an evbuffer and drain the bytes read

Beschreibung

public string EventBuffer::read ( int $max_bytes )

Read the first max_bytes from the buffer and drain the bytes read. If more max_bytes are requested than are available in the buffer, it only extracts as many bytes as available.

Parameter-Liste

max_bytes

Maxmimum number of bytes to read from the buffer.

Rückgabewerte

Returns string read, or FALSE on failure.

Changelog

Version | Beschreibung
1.6.0 | Renamed EventBuffer::read()(the old method name) to EventBuffer::read(). EventBuffer::read() now takes only max_bytes argument; returns string instead of integer.

Siehe auch

  • EventBuffer::copyout() - Copies out specified number of bytes from the front of the buffer
  • EventBuffer::drain() - Removes specified number of bytes from the front of the buffer without copying it anywhere
  • EventBuffer::pullup() - Linearizes data within buffer and returns it's contents as a string
  • EventBuffer::readLine() - Extracts a line from the front of the buffer
  • EventBuffer::appendFrom() - Moves the specified number of bytes from a source buffer to the end of the current buffer
EventBuffer::pullup
EventBuffer::readFrom
EventBuffer


Read data from a file onto the end of the buffer

EventBuffer::read
EventBuffer::readLine
EventBuffer
PHP Manual

EventBuffer::readFrom

(PECL event >= 1.7.0)

EventBuffer::readFrom — Read data from a file onto the end of the buffer

Beschreibung

public int EventBuffer::read ( mixed $fd , int $howmuch )

Read data from the file specified by fd onto the end of the buffer.

Parameter-Liste

fd

Socket resource, stream, or numeric file descriptor.

howmuch

Maxmimum number of bytes to read.

Rückgabewerte

Returns the number of bytes read, or FALSE on failure.

Siehe auch

  • EventBuffer::copyout() - Copies out specified number of bytes from the front of the buffer
  • EventBuffer::drain() - Removes specified number of bytes from the front of the buffer without copying it anywhere
  • EventBuffer::pullup() - Linearizes data within buffer and returns it's contents as a string
  • EventBuffer::readLine() - Extracts a line from the front of the buffer
  • EventBuffer::appendFrom() - Moves the specified number of bytes from a source buffer to the end of the current buffer
EventBuffer::read
EventBuffer::readLine
EventBuffer


Extracts a line from the front of the buffer

EventBuffer::readFrom
EventBuffer::search
EventBuffer
PHP Manual

EventBuffer::readLine

(PECL event >= 1.2.6-beta)

EventBuffer::readLine — Extracts a line from the front of the buffer

Beschreibung

public string EventBuffer::readLine ( int $eol_style )

Extracts a line from the front of the buffer and returns it in a newly allocated string. If there is not a whole line to read, the function returns NULL. The line terminator is not included in the copied string.

Parameter-Liste

eol_style

One of EventBuffer:EOL_* constants .

Rückgabewerte

On success returns the line read from the buffer, otherwise NULL.

Siehe auch

  • EventBuffer::copyout() - Copies out specified number of bytes from the front of the buffer
  • EventBuffer::drain() - Removes specified number of bytes from the front of the buffer without copying it anywhere
  • EventBuffer::pullup() - Linearizes data within buffer and returns it's contents as a string
  • EventBuffer::read() - Read data from an evbuffer and drain the bytes read
  • EventBuffer::appendFrom() - Moves the specified number of bytes from a source buffer to the end of the current buffer
EventBuffer::readFrom
EventBuffer::search
EventBuffer


Scans the buffer for an occurrence of a string

EventBuffer::readLine
EventBuffer::searchEol
EventBuffer
PHP Manual

EventBuffer::search

(PECL event >= 1.2.6-beta)

EventBuffer::search — Scans the buffer for an occurrence of a string

Beschreibung

public mixed EventBuffer::search ( string $what [, int $start = -1 [, int $end = -1 ]] )

Scans the buffer for an occurrence of the string what . It returns numeric position of the string, or FALSE if the string was not found.

If the start argument is provided, it points to the position at which the search should begin; otherwise, the search is performed from the start of the string. If end argument provided, the search is performed between start and end buffer positions.

Parameter-Liste

what

String to search.

start

Start search position.

end

End search position.

Rückgabewerte

Returns numeric position of the first occurance of the string in the buffer, or FALSE if string is not found.

Warnung

Diese Funktion kann sowohl das boolsche FALSE zurückliefern, als auch einen nicht-boolschen Wert, welcher zu FALSE ausgewertet wird. Weitere Informationen entnehmen Sie bitte dem Abschnitt über die boolschen Typen. Benutzen Sie deshalb den === Operator, um den Rückgabewert dieser Funktion zu überprüfen.

Beispiele

Beispiel #1 EventBuffer::search() example

<?php
// Count total occurances of 'str' in 'buf'
function count_instances($buf, $str) {
    $total = 0;
    $p     = 0;
    $i     = 0;

    while (1) {
        $p = $buf->search($str, $p);
        if ($p === FALSE) {
            break;
        }
        ++$total;
        ++$p;
    }

    return $total;
}

$buf = new EventBuffer();
$buf->add("Some string within a string inside another string");
var_dump(count_instances($buf, "str"));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(3)

Siehe auch

  • EventBuffer::searchEol() - Scans the buffer for an occurrence of an end of line
EventBuffer::readLine
EventBuffer::searchEol
EventBuffer


Scans the buffer for an occurrence of an end of line

EventBuffer::search
EventBuffer::substr
EventBuffer
PHP Manual

EventBuffer::searchEol

(PECL event >= 1.5.0)

EventBuffer::searchEol — Scans the buffer for an occurrence of an end of line

Beschreibung

public mixed EventBuffer::searchEol ([ int $start = -1 [, int $eol_style = EventBuffer::EOL_ANY ]] )

Scans the buffer for an occurrence of an end of line specified by eol_style parameter . It returns numeric position of the string, or FALSE if the string was not found.

If the start argument is provided, it represents the position at which the search should begin; otherwise, the search is performed from the start of the string. If end argument provided, the search is performed between start and end buffer positions.

Parameter-Liste

start

Start search position.

eol_style

One of EventBuffer:EOL_* constants .

Rückgabewerte

Returns numeric position of the first occurance of end-of-line symbol in the buffer, or FALSE if not found.

Warnung

Diese Funktion kann sowohl das boolsche FALSE zurückliefern, als auch einen nicht-boolschen Wert, welcher zu FALSE ausgewertet wird. Weitere Informationen entnehmen Sie bitte dem Abschnitt über die boolschen Typen. Benutzen Sie deshalb den === Operator, um den Rückgabewert dieser Funktion zu überprüfen.

Siehe auch

  • EventBuffer::search() - Scans the buffer for an occurrence of a string
EventBuffer::search
EventBuffer::substr
EventBuffer


Substracts a portion of the buffer data

EventBuffer::searchEol
EventBuffer::unfreeze
EventBuffer
PHP Manual

EventBuffer::substr

(PECL event >= 1.6.0)

EventBuffer::substr — Substracts a portion of the buffer data

Beschreibung

public string EventBuffer::substr ( int $start [, int $length ] )

Substracts up to length bytes of the buffer data beginning at start position.

Parameter-Liste

start

The start position of data to be substracted.

length

Maximum number of bytes to substract.

Rückgabewerte

Returns the data substracted as a string on success, or FALSE on failure.

Siehe auch

  • EventBuffer::read() - Read data from an evbuffer and drain the bytes read
EventBuffer::searchEol
EventBuffer::unfreeze
EventBuffer


Re-enable calls that modify an event buffer

EventBuffer::substr
EventBuffer::unlock
EventBuffer
PHP Manual

EventBuffer::unfreeze

(PECL event >= 1.2.6-beta)

EventBuffer::unfreeze — Re-enable calls that modify an event buffer

Beschreibung

public bool EventBuffer::unfreeze ( bool $at_front )

Re-enable calls that modify an event buffer.

Parameter-Liste

at_front

Whether to enable events at the front or at the end of the buffer.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

Siehe auch

  • EventBuffer::freeze() - Prevent calls that modify an event buffer from succeeding
EventBuffer::substr
EventBuffer::unlock
EventBuffer


Releases lock acquired by EventBuffer::lock

EventBuffer::unfreeze
EventBuffer::write
EventBuffer
PHP Manual

EventBuffer::unlock

(PECL event >= 1.2.6-beta)

EventBuffer::unlock — Releases lock acquired by EventBuffer::lock

Beschreibung

public bool EventBuffer::unlock ( void )

Releases lock acquired by EventBuffer::lock() .

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

Siehe auch

  • EventBuffer::lock() - Acquires a lock on buffer
EventBuffer::unfreeze
EventBuffer::write
EventBuffer


Schreibt den Inhalt des Puffers in eine Datei oder ein Socket

EventBuffer::unlock
EventBufferEvent
EventBuffer
PHP Manual

EventBuffer::write

(PECL event >= 1.6.0)

EventBuffer::write — Schreibt den Inhalt des Puffers in eine Datei oder ein Socket

Beschreibung

public int EventBuffer::write ( mixed $fd [, int $howmuch ] )

Schreibt Inhalt des Puffers in einem Datei-Deskriptor. Der Puffer wird geleert, nachdem die Bytes erfolgreich geschrieben wurden.

Parameter-Liste

fd

Socket-Ressource, Stream oder numerischer Datei-Deskriptor normalerweise verbunden mit einem Socket.

howmuch

Die maximale Anzahl der zu schreibenen Bytes.

Rückgabewerte

Gibt die Anzahl der geschriebenen Bytes oder FALSE bei einem Fehler zurück.

Siehe auch

  • EventBuffer::read() - Read data from an evbuffer and drain the bytes read
EventBuffer::unlock
EventBufferEvent
EventBuffer


The EventBufferEvent class

(PECL event >= 1.2.6-beta)

Einführung

Represents Libevent's buffer event.

Usually an application wants to perform some amount of data buffering in addition to just responding to events. When we want to write data, for example, the usual pattern looks like:

  1. Decide that we want to write some data to a connection; put that data in a buffer.

  2. Wait for the connection to become writable

  3. Write as much of the data as we can

  4. Remember how much we wrote, and if we still have more data to write, wait for the connection to become writable again.

This buffered I/O pattern is common enough that Libevent provides a generic mechanism for it. A "buffer event" consists of an underlying transport (like a socket), a read buffer, and a write buffer. Instead of regular events, which give callbacks when the underlying transport is ready to be read or written, a buffer event invokes its user-supplied callbacks when it has read or written enough data.

Klassenbeschreibung

final EventBufferEvent {
/* Constants */
const integer READING = 1 ;
const integer WRITING = 2 ;
const integer EOF = 16 ;
const integer ERROR = 32 ;
const integer TIMEOUT = 64 ;
const integer CONNECTED = 128 ;
const integer OPT_CLOSE_ON_FREE = 1 ;
const integer OPT_THREADSAFE = 2 ;
const integer OPT_DEFER_CALLBACKS = 4 ;
const integer OPT_UNLOCK_CALLBACKS = 8 ;
const integer SSL_OPEN = 0 ;
const integer SSL_CONNECTING = 1 ;
const integer SSL_ACCEPTING = 2 ;
/* Eigenschaften */
public integer $fd ;
public integer $priority ;
public readonly EventBuffer $input ;
public readonly EventBuffer $output ;
/* Methoden */
public void close ( void )
public bool connect ( string $addr )
public bool connectHost ( EventDnsBase $dns_base , string $hostname , int $port [, int $family = EventUtil::AF_UNSPEC ] )
public __construct ( EventBase $base [, mixed $socket = NULL [, int $options = 0 [, callable $readcb = NULL [, callable $writecb = NULL [, callable $eventcb = NULL ]]]]] )
public static array createPair ( EventBase $base [, int $options = 0 ] )
public bool disable ( int $events )
public bool enable ( int $events )
public void free ( void )
public string getDnsErrorString ( void )
public int getEnabled ( void )
public EventBuffer getInput ( void )
public EventBuffer getOutput ( void )
public string read ( int $size )
public bool readBuffer ( EventBuffer $buf )
public void setCallbacks ( callable $readcb , callable $writecb , callable $eventcb [, string $arg ] )
public bool setPriority ( int $priority )
public bool setTimeouts ( float $timeout_read , float $timeout_write )
public void setWatermark ( int $events , int $lowmark , int $highmark )
public string sslError ( void )
public static EventBufferEvent sslFilter ( EventBase $base , EventBufferEvent $underlying , EventSslContext $ctx , int $state [, int $options = 0 ] )
public string sslGetCipherInfo ( void )
public string sslGetCipherName ( void )
public string sslGetCipherVersion ( void )
public string sslGetProtocol ( void )
public void sslRenegotiate ( void )
public static EventBufferEvent sslSocket ( EventBase $base , mixed $socket , EventSslContext $ctx , int $state [, int $options ] )
public bool write ( string $data )
public bool writeBuffer ( EventBuffer $buf )
}

Eigenschaften

fd

Numeric file descriptor associated with the buffer event. Normally represents a bound socket. Equals to NULL, if there is no file descriptor(socket) associated with the buffer event.

priority

The priority of the events used to implement the buffer event.

input

Underlying input buffer object( EventBuffer )

output

Underlying output buffer object( EventBuffer )

Vordefinierte Konstanten

EventBufferEvent::READING

An event occured during a read operation on the bufferevent. See the other flags for which event it was.

EventBufferEvent::WRITING

An event occured during a write operation on the bufferevent. See the other flags for which event it was.

EventBufferEvent::EOF

Got an end-of-file indication on the buffer event.

EventBufferEvent::ERROR

An error occurred during a bufferevent operation. For more information on what the error was, call EventUtil::getLastSocketErrno() and/or EventUtil::getLastSocketError() .

EventBufferEvent::TIMEOUT

EventBufferEvent::CONNECTED

Finished a requested connection on the bufferevent.

EventBufferEvent::OPT_CLOSE_ON_FREE

When the buffer event is freed, close the underlying transport. This will close an underlying socket, free an underlying buffer event, etc.

EventBufferEvent::OPT_THREADSAFE

Automatically allocate locks for the bufferevent, so that it’s safe to use from multiple threads.

EventBufferEvent::OPT_DEFER_CALLBACKS

When this flag is set, the bufferevent defers all of its callbacks. See » Fast portable non-blocking network programming with Libevent, Deferred callbacks .

EventBufferEvent::OPT_UNLOCK_CALLBACKS

By default, when the bufferevent is set up to be threadsafe, the buffer event’s locks are held whenever the any user-provided callback is invoked. Setting this option makes Libevent release the buffer event’s lock when it’s invoking the callbacks.

EventBufferEvent::SSL_OPEN

The SSL handshake is done

EventBufferEvent::SSL_CONNECTING

SSL is currently performing negotiation as a client

EventBufferEvent::SSL_ACCEPTING

SSL is currently performing negotiation as a server

Inhaltsverzeichnis

  • EventBufferEvent::close — Closes file descriptor associated with the current buffer event
  • EventBufferEvent::connect — Connect buffer event's file descriptor to given address or UNIX socket
  • EventBufferEvent::connectHost — Connects to a hostname with optionally asyncronous DNS resolving
  • EventBufferEvent::__construct — Constructs EventBufferEvent object
  • EventBufferEvent::createPair — Creates two buffer events connected to each other
  • EventBufferEvent::disable — Disable events read, write, or both on a buffer event.
  • EventBufferEvent::enable — Enable events read, write, or both on a buffer event.
  • EventBufferEvent::free — Free a buffer event
  • EventBufferEvent::getDnsErrorString — Returns string describing the last failed DNS lookup attempt
  • EventBufferEvent::getEnabled — Returns bitmask of events currently enabled on the buffer event
  • EventBufferEvent::getInput — Returns underlying input buffer associated with current buffer event
  • EventBufferEvent::getOutput — Returns underlying output buffer associated with current buffer event
  • EventBufferEvent::read — Read buffer's data
  • EventBufferEvent::readBuffer — Drains the entire contents of the input buffer and places them into buf
  • EventBufferEvent::setCallbacks — Assigns read, write and event(status) callbacks
  • EventBufferEvent::setPriority — Assign a priority to a bufferevent
  • EventBufferEvent::setTimeouts — Set the read and write timeout for a buffer event
  • EventBufferEvent::setWatermark — Adjusts read and/or write watermarks
  • EventBufferEvent::sslError — Returns most recent OpenSSL error reported on the buffer event
  • EventBufferEvent::sslFilter — Create a new SSL buffer event to send its data over another buffer event
  • EventBufferEvent::sslGetCipherInfo — Returns a textual description of the cipher.
  • EventBufferEvent::sslGetCipherName — Returns the current cipher name of the SSL connection.
  • EventBufferEvent::sslGetCipherVersion — Returns version of cipher used by current SSL connection.
  • EventBufferEvent::sslGetProtocol — Returns the name of the protocol used for current SSL connection.
  • EventBufferEvent::sslRenegotiate — Tells a bufferevent to begin SSL renegotiation.
  • EventBufferEvent::sslSocket — Creates a new SSL buffer event to send its data over an SSL on a socket
  • EventBufferEvent::write — Fügt Daten zum Ausgabepuffer eines Pufferereignises hinzu
  • EventBufferEvent::writeBuffer — Adds contents of the entire buffer to a buffer event's output buffer
EventBuffer::write
EventBufferEvent::close
Event


Closes file descriptor associated with the current buffer event

EventBufferEvent
EventBufferEvent::connect
EventBufferEvent
PHP Manual

EventBufferEvent::close

(PECL event >= 1.10.0)

EventBufferEvent::close — Closes file descriptor associated with the current buffer event

Beschreibung

public void EventBufferEvent::close ( void )

Closes file descriptor associated with the current buffer event.

This method may be used in cases when the EventBufferEvent::OPT_CLOSE_ON_FREE option is not appropriate.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

EventBufferEvent
EventBufferEvent::connect
EventBufferEvent


Connect buffer event's file descriptor to given address or UNIX socket

EventBufferEvent::close
EventBufferEvent::connectHost
EventBufferEvent
PHP Manual

EventBufferEvent::connect

(PECL event >= 1.2.6-beta)

EventBufferEvent::connect — Connect buffer event's file descriptor to given address or UNIX socket

Beschreibung

public bool EventBufferEvent::connect ( string $addr )

Connect buffer event's file descriptor to given address(optionally with port), or a UNIX domain socket.

If socket is not assigned to the buffer event, this function allocates a new socket and makes it non-blocking internally.

To resolve DNS names(asyncronously), use EventBufferEvent::connectHost() method.

Parameter-Liste

addr

Should contain an IP address with optional port number, or a path to UNIX domain socket. Recognized formats are:

[IPv6Address]:port
[IPv6Address]
IPv6Address
IPv4Address:port
IPv4Address
unix:path
Note, 'unix:' prefix is currently not case sensitive.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

Beispiele

Beispiel #1 EventBufferEvent::connect() example

<?php
/*
 * 1. Connect to 127.0.0.1 at port 80
 * by means of EventBufferEvent::connect().
 *
 * 2. Request /index.cphp via HTTP/1.0
 * using the output buffer.
 *
 * 3. Asyncronously read the response and print it to stdout.
 */

/* Read callback */
function readcb($bev, $base) {
    $input = $bev->getInput();

    while (($n = $input->remove($buf, 1024)) > 0) {
        echo $buf;
    }
}

/* Event callback */
function eventcb($bev, $events, $base) {
    if ($events & EventBufferEvent::CONNECTED) {
        echo "Connected.\n";
    } elseif ($events & (EventBufferEvent::ERROR | EventBufferEvent::EOF)) {
        if ($events & EventBufferEvent::ERROR) {
            echo "DNS error: ", $bev->getDnsErrorString(), PHP_EOL;
        }

        echo "Closing\n";
        $base->exit();
        exit("Done\n");
    }
}

$base = new EventBase();

echo "step 1\n";
$bev = new EventBufferEvent($base, /* use internal socket */ NULL,
    EventBufferEvent::OPT_CLOSE_ON_FREE | EventBufferEvent::OPT_DEFER_CALLBACKS);
if (!$bev) {
    exit("Failed creating bufferevent socket\n");
}

echo "step 2\n";
$bev->setCallbacks("readcb", /* writecb */ NULL, "eventcb", $base);
$bev->enable(Event::READ | Event::WRITE);

echo "step 3\n";
/* Send request */
$output = $bev->getOutput();
if (!$output->add(
    "GET /index.cphp HTTP/1.0\r\n".
    "Connection: Close\r\n\r\n"
)) {
    exit("Failed adding request to output buffer\n");
}

/* Connect to the host syncronously.
 * We know the IP, and don't need to resolve DNS. */
if (!$bev->connect("127.0.0.1:80")) {
    exit("Can't connect to host\n");
}

/* Dispatch pending events */
$base->dispatch();

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

step 1
step 2
step 3
Connected.
HTTP/1.1 200 OK
Server: nginx/1.2.6
Date: Sat, 09 Mar 2013 10:06:58 GMT
Content-Type: text/html; CHARSET=Windows-1252
Connection: close
X-Powered-By: PHP/5.4.11--pl2-gentoo

sdfsdfsf
Closing
Done

Beispiel #2 Connect to UNIX domain socket which presumably is served by a server, read response from the server and output it to the console

<?php
class MyUnixSocketClient {
    private $base, $bev;

    function __construct($base, $sock_path) {
        $this->base = $base;
        $this->bev = new EventBufferEvent($base, NULL, EventBufferEvent::OPT_CLOSE_ON_FREE,
            array ($this, "read_cb"), NULL, array ($this, "event_cb"));

        if (!$this->bev->connect("unix:$sock_path")) {
            trigger_error("Failed to connect to socket `$sock_path'", E_USER_ERROR);
        }

        $this->bev->enable(Event::READ);
    }

    function __destruct() {
        if ($this->bev) {
            $this->bev->free();
            $this->bev = NULL;
        }
    }

    function dispatch() {
        $this->base->dispatch();
    }

    function read_cb($bev, $unused) {
        $in = $bev->input;

        printf("Received %ld bytes\n", $in->length);
        printf("----- data ----\n");
        printf("%ld:\t%s\n", (int) $in->length, $in->pullup(-1));

        $this->bev->free();
        $this->bev = NULL;
        $this->base->exit(NULL);
    }

    function event_cb($bev, $events, $unused) {
        if ($events & EventBufferEvent::ERROR) {
            echo "Error from bufferevent\n";
        }

        if ($events & (EventBufferEvent::EOF | EventBufferEvent::ERROR)) {
            $bev->free();
            $bev = NULL;
        } elseif ($events & EventBufferEvent::CONNECTED) {
            $bev->output->add("test\n");
        }
    }
}

if ($argc <= 1) {
    exit("Socket path is not provided\n");
}
$sock_path = $argv[1];

$base = new EventBase();
$cl = new MyUnixSocketClient($base, $sock_path);
$cl->dispatch();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Received 5 bytes
----- data ----
5:  test

Siehe auch

  • EventBufferEvent::connectHost() - Connects to a hostname with optionally asyncronous DNS resolving
EventBufferEvent::close
EventBufferEvent::connectHost
EventBufferEvent


Connects to a hostname with optionally asyncronous DNS resolving

EventBufferEvent::connect
EventBufferEvent::__construct
EventBufferEvent
PHP Manual

EventBufferEvent::connectHost

(PECL event >= 1.2.6-beta)

EventBufferEvent::connectHost — Connects to a hostname with optionally asyncronous DNS resolving

Beschreibung

public bool EventBufferEvent::connectHost ( EventDnsBase $dns_base , string $hostname , int $port [, int $family = EventUtil::AF_UNSPEC ] )

Resolves the DNS name hostname, looking for addresses of type family ( EventUtil::AF_* constants). If the name resolution fails, it invokes the event callback with an error event. If it succeeds, it launches a connection attempt just as EventBufferEvent::connect() would.

dns_base is optional. May be NULL, or an object created with EventDnsBase::__construct() . For asyncronous hostname resolving pass a valid event dns base resource. Otherwise the hostname resolving will block.

Hinweis:

EventDnsBase is available only if Event configured --with-event-extra ( event_extra library, libevent protocol-specific functionality support including HTTP, DNS, and RPC ).

Hinweis:

EventBufferEvent::connectHost() requires libevent-2.0.3-alpha or greater.

Parameter-Liste

dns_base

Object of EventDnsBase in case if DNS is to be resolved asyncronously. Otherwise NULL.

hostname

Hostname to connect to. Recognized formats are:

www.example.com (hostname)
 1.2.3.4 (ipv4address)
 ::1 (ipv6address)
[::1] ([ipv6address])

port

Port number

family

Address family. EventUtil::AF_UNSPEC , EventUtil::AF_INET , or EventUtil::AF_INET6 . See EventUtil constants .

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

Beispiele

Beispiel #1 EventBufferEvent::connectHost() example

<?php
/* Read callback */
function readcb($bev, $base) {
    //$input = $bev->input; //$bev->getInput();

    //$pos = $input->search("TTP");
    $pos = $bev->input->search("TTP");

    while (($n = $bev->input->remove($buf, 1024)) > 0) {
        echo $buf;
    }
}

/* Event callback */
function eventcb($bev, $events, $base) {
    if ($events & EventBufferEvent::CONNECTED) {
        echo "Connected.\n";
    } elseif ($events & (EventBufferEvent::ERROR | EventBufferEvent::EOF)) {
        if ($events & EventBufferEvent::ERROR) {
            echo "DNS error: ", $bev->getDnsErrorString(), PHP_EOL;
        }

        echo "Closing\n";
        $base->exit();
        exit("Done\n");
    }
}

$base = new EventBase();

$dns_base = new EventDnsBase($base, TRUE); // We'll use async DNS resolving
if (!$dns_base) {
    exit("Failed to init DNS Base\n");
}

$bev = new EventBufferEvent($base, /* use internal socket */ NULL,
    EventBufferEvent::OPT_CLOSE_ON_FREE | EventBufferEvent::OPT_DEFER_CALLBACKS,
    "readcb", /* writecb */ NULL, "eventcb", $base
);
if (!$bev) {
    exit("Failed creating bufferevent socket\n");
}

//$bev->setCallbacks("readcb", /* writecb */ NULL, "eventcb", $base);
$bev->enable(Event::READ | Event::WRITE);

$output = $bev->output; //$bev->getOutput();
if (!$output->add(
    "GET {$argv[2]} HTTP/1.0\r\n".
    "Host: {$argv[1]}\r\n".
    "Connection: Close\r\n\r\n"
)) {
    exit("Failed adding request to output buffer\n");
}

if (!$bev->connectHost($dns_base, $argv[1], 80, EventUtil::AF_UNSPEC)) {
    exit("Can't connect to host {$argv[1]}\n");
}

$base->dispatch();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Connected.
HTTP/1.0 301 Moved Permanently
Location: http://www.google.co.uk/
Content-Type: text/html; CHARSET=Windows-1252
Date: Sat, 09 Mar 2013 12:21:19 GMT
Expires: Mon, 08 Apr 2013 12:21:19 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 221
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN

<HTML><HEAD><meta http-equiv="content-type" content="text/html;CHARSET=Windows-1252">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.co.uk/">here</A>.
</BODY></HTML>
Closing
Done

Siehe auch

  • EventBufferEvent::connect() - Connect buffer event's file descriptor to given address or UNIX socket
EventBufferEvent::connect
EventBufferEvent::__construct
EventBufferEvent


Constructs EventBufferEvent object

EventBufferEvent::connectHost
EventBufferEvent::createPair
EventBufferEvent
PHP Manual

EventBufferEvent::__construct

(PECL event >= 1.2.6-beta)

EventBufferEvent::__construct — Constructs EventBufferEvent object

Beschreibung

public EventBufferEvent::__construct ( EventBase $base [, mixed $socket = NULL [, int $options = 0 [, callable $readcb = NULL [, callable $writecb = NULL [, callable $eventcb = NULL ]]]]] )

Create a buffer event on a socket, stream or a file descriptor. Passing NULL to socket means that the socket should be created later, e.g. by means of EventBufferEvent::connect() .

Parameter-Liste

base

Event base that should be associated with the new buffer event.

socket

May be created as a stream(not necessarily by means of sockets extension)

options

One of EventBufferEvent::OPT_* constants , or 0 .

readcb

Read event callback. See About buffer event callbacks .

writecb

Write event callback. See About buffer event callbacks .

eventcb

Status-change event callback. See About buffer event callbacks .

arg

A variable that will be passed to all the callbacks.

Rückgabewerte

Returns buffer event resource optionally associated with socket resource. */

Siehe auch

  • EventBufferEvent::sslFilter() - Create a new SSL buffer event to send its data over another buffer event
  • EventBufferEvent::sslSocket() - Creates a new SSL buffer event to send its data over an SSL on a socket
EventBufferEvent::connectHost
EventBufferEvent::createPair
EventBufferEvent


Creates two buffer events connected to each other

EventBufferEvent::__construct
EventBufferEvent::disable
EventBufferEvent
PHP Manual

EventBufferEvent::createPair

(PECL event >= 1.2.6-beta)

EventBufferEvent::createPair — Creates two buffer events connected to each other

Beschreibung

public static array EventBufferEvent::createPair ( EventBase $base [, int $options = 0 ] )

Returns array of two EventBufferEvent objects connected to each other. All the usual options are supported, except for EventBufferEvent::OPT_CLOSE_ON_FREE , which has no effect, and EventBufferEvent::OPT_DEFER_CALLBACKS , which is always on.

Parameter-Liste

base

Associated event base

options

EventBufferEvent::OPT_* constants combined with bitwise OR operator.

Rückgabewerte

Returns array of two EventBufferEvent objects connected to each other.

Changelog

Version | Beschreibung
1.9.0 | Method made static.

EventBufferEvent::__construct
EventBufferEvent::disable
EventBufferEvent


Disable events read, write, or both on a buffer event.

EventBufferEvent::createPair
EventBufferEvent::enable
EventBufferEvent
PHP Manual

EventBufferEvent::disable

(PECL event >= 1.2.6-beta)

EventBufferEvent::disable — Disable events read, write, or both on a buffer event.

Beschreibung

public bool EventBufferEvent::disable ( int $events )

Disable events Event::READ , Event::WRITE , or Event::READ | Event::WRITE on a buffer event.

Parameter-Liste

events

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

Siehe auch

  • EventBufferEvent::enable() - Enable events read, write, or both on a buffer event.
EventBufferEvent::createPair
EventBufferEvent::enable
EventBufferEvent


Enable events read, write, or both on a buffer event.

EventBufferEvent::disable
EventBufferEvent::free
EventBufferEvent
PHP Manual

EventBufferEvent::enable

(PECL event >= 1.2.6-beta)

EventBufferEvent::enable — Enable events read, write, or both on a buffer event.

Beschreibung

public bool EventBufferEvent::enable ( int $events )

Enable events Event::READ , Event::WRITE , or Event::READ | Event::WRITE on a buffer event.

Parameter-Liste

events

Event::READ , Event::WRITE , or Event::READ | Event::WRITE on a buffer event.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

Siehe auch

  • EventBufferEvent::disable() - Disable events read, write, or both on a buffer event.
EventBufferEvent::disable
EventBufferEvent::free
EventBufferEvent


Free a buffer event

EventBufferEvent::enable
EventBufferEvent::getDnsErrorString
EventBufferEvent
PHP Manual

EventBufferEvent::free

(PECL event >= 1.2.6-beta)

EventBufferEvent::free — Free a buffer event

Beschreibung

public void EventBufferEvent::free ( void )

Free resources allocated by buffer event.

Usually there is no need to call this method, since normally it is done within internal object destructors. However, sometimes we have a long-time script allocating lots of instances, or a script with a heavy memory usage, where we need to free resources as soon as possible. In such cases EventBufferEvent::free() may be used to protect the script against running up to the memory_limit .

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

EventBufferEvent::enable
EventBufferEvent::getDnsErrorString
EventBufferEvent


Returns string describing the last failed DNS lookup attempt

EventBufferEvent::free
EventBufferEvent::getEnabled
EventBufferEvent
PHP Manual

EventBufferEvent::getDnsErrorString

(PECL event >= 1.2.6-beta)

EventBufferEvent::getDnsErrorString — Returns string describing the last failed DNS lookup attempt

Beschreibung

public string EventBufferEvent::getDnsErrorString ( void )

Returns string describing the last failed DNS lookup attempt made by EventBufferEvent::connectHost() , or an empty string, if there is no DNS error detected.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a string describing DNS lookup error, or an empty string for no error.

Siehe auch

  • EventBufferEvent::connectHost() - Connects to a hostname with optionally asyncronous DNS resolving
EventBufferEvent::free
EventBufferEvent::getEnabled
EventBufferEvent


Returns bitmask of events currently enabled on the buffer event

EventBufferEvent::getDnsErrorString
EventBufferEvent::getInput
EventBufferEvent
PHP Manual

EventBufferEvent::getEnabled

(PECL event >= 1.2.6-beta)

EventBufferEvent::getEnabled — Returns bitmask of events currently enabled on the buffer event

Beschreibung

public int EventBufferEvent::getEnabled ( void )

Returns bitmask of events currently enabled on the buffer event

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns integer representing a bitmask of events currently enabled on the buffer event

Siehe auch

  • EventBufferEvent::enable() - Enable events read, write, or both on a buffer event.
  • EventBufferEvent::disable() - Disable events read, write, or both on a buffer event.
EventBufferEvent::getDnsErrorString
EventBufferEvent::getInput
EventBufferEvent


Returns underlying input buffer associated with current buffer event

EventBufferEvent::getEnabled
EventBufferEvent::getOutput
EventBufferEvent
PHP Manual

EventBufferEvent::getInput

(PECL event >= 1.2.6-beta)

EventBufferEvent::getInput — Returns underlying input buffer associated with current buffer event

Beschreibung

public EventBuffer EventBufferEvent::getInput ( void )

Returns underlying input buffer associated with current buffer event. An input buffer is a storage for data to read.

Note, there is also input property of EventBufferEvent class.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns instance of EventBuffer input buffer associated with current buffer event.

Beispiele

Beispiel #1 Buffer event's read callback

<?php
function readcb($bev, $base) {
    $input = $bev->input; //$bev->getInput();

    while (($n = $input->remove($buf, 1024)) > 0) {
        echo $buf;
    }
}
?>

Siehe auch

  • EventBufferEvent::getOutput() - Returns underlying output buffer associated with current buffer event
EventBufferEvent::getEnabled
EventBufferEvent::getOutput
EventBufferEvent


Returns underlying output buffer associated with current buffer event

EventBufferEvent::getInput
EventBufferEvent::read
EventBufferEvent
PHP Manual

EventBufferEvent::getOutput

(PECL event >= 1.2.6-beta)

EventBufferEvent::getOutput — Returns underlying output buffer associated with current buffer event

Beschreibung

public EventBuffer EventBufferEvent::getOutput ( void )

Returns underlying output buffer associated with current buffer event. An output buffer is a storage for data to be written.

Note, there is also output property of EventBufferEvent class.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns instance of EventBuffer output buffer associated with current buffer event.

Beispiele

Beispiel #1 EventBufferEvent::getOutput() example

<?php
$base = new EventBase();

$dns_base = new EventDnsBase($base, TRUE); // Use async DNS resolving
if (!$dns_base) {
    exit("Failed to init DNS Base\n");
}

$bev = new EventBufferEvent($base, /* use internal socket */ NULL,
    EventBufferEvent::OPT_CLOSE_ON_FREE | EventBufferEvent::OPT_DEFER_CALLBACKS,
    "readcb", /* writecb */ NULL, "eventcb", $base
);
if (!$bev) {
    exit("Failed creating bufferevent socket\n");
}

$bev->enable(Event::READ | Event::WRITE);

$output = $bev->getOutput();
if (!$output->add(
    "GET {$argv[2]} HTTP/1.0\r\n".
    "Host: {$argv[1]}\r\n".
    "Connection: Close\r\n\r\n"
)) {
    exit("Failed adding request to output buffer\n");
}

/* ... */
?>

Siehe auch

  • EventBufferEvent::getInput() - Returns underlying input buffer associated with current buffer event
EventBufferEvent::getInput
EventBufferEvent::read
EventBufferEvent


Read buffer's data

EventBufferEvent::getOutput
EventBufferEvent::readBuffer
EventBufferEvent
PHP Manual

EventBufferEvent::read

(PECL event >= 1.2.6-beta)

EventBufferEvent::read — Read buffer's data

Beschreibung

public string EventBufferEvent::read ( int $size )

Removes up to size bytes from the input buffer. Returns a string of data read from the input buffer.

Parameter-Liste

size

Maximum number of bytes to read

Rückgabewerte

Returns string of data read from the input buffer.

Siehe auch

  • EventBufferEvent::readBuffer() - Drains the entire contents of the input buffer and places them into buf
EventBufferEvent::getOutput
EventBufferEvent::readBuffer
EventBufferEvent


Drains the entire contents of the input buffer and places them into buf

EventBufferEvent::read
EventBufferEvent::setCallbacks
EventBufferEvent
PHP Manual

EventBufferEvent::readBuffer

(PECL event >= 1.2.6-beta)

EventBufferEvent::readBuffer — Drains the entire contents of the input buffer and places them into buf

Beschreibung

public bool EventBufferEvent::readBuffer ( EventBuffer $buf )

Drains the entire contents of the input buffer and places them into buf .

Parameter-Liste

buf

Target buffer

Rückgabewerte

Returns TRUE on success; Otherwise FALSE.

Siehe auch

  • EventBufferEvent::read() - Read buffer's data
EventBufferEvent::read
EventBufferEvent::setCallbacks
EventBufferEvent


Assigns read, write and event(status) callbacks

EventBufferEvent::readBuffer
EventBufferEvent::setPriority
EventBufferEvent
PHP Manual

EventBufferEvent::setCallbacks

(PECL event >= 1.2.6-beta)

EventBufferEvent::setCallbacks — Assigns read, write and event(status) callbacks

Beschreibung

public void EventBufferEvent::setCallbacks ( callable $readcb , callable $writecb , callable $eventcb [, string $arg ] )

Assigns read, write and event(status) callbacks.

Parameter-Liste

readcb

Read event callback. See About buffer event callbacks .

writecb

Write event callback. See About buffer event callbacks .

eventcb

Status-change event callback. See About buffer event callbacks .

arg

A variable that will be passed to all the callbacks.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • EventBufferEvent::__construct() - Constructs EventBufferEvent object
EventBufferEvent::readBuffer
EventBufferEvent::setPriority
EventBufferEvent


Assign a priority to a bufferevent

EventBufferEvent::setCallbacks
EventBufferEvent::setTimeouts
EventBufferEvent
PHP Manual

EventBufferEvent::setPriority

(PECL event >= 1.2.6-beta)

EventBufferEvent::setPriority — Assign a priority to a bufferevent

Beschreibung

public bool EventBufferEvent::setPriority ( int $priority )

Assign a priority to a bufferevent

Warnung

Only supported for socket buffer events

Parameter-Liste

priority

Priority value.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

EventBufferEvent::setCallbacks
EventBufferEvent::setTimeouts
EventBufferEvent


Set the read and write timeout for a buffer event

EventBufferEvent::setPriority
EventBufferEvent::setWatermark
EventBufferEvent
PHP Manual

EventBufferEvent::setTimeouts

(PECL event >= 1.2.6-beta)

EventBufferEvent::setTimeouts — Set the read and write timeout for a buffer event

Beschreibung

public bool EventBufferEvent::setTimeouts ( float $timeout_read , float $timeout_write )

Set the read and write timeout for a buffer event

Parameter-Liste

timeout_read

Read timeout

timeout_write

Write timeout

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

EventBufferEvent::setPriority
EventBufferEvent::setWatermark
EventBufferEvent


Adjusts read and/or write watermarks

EventBufferEvent::setTimeouts
EventBufferEvent::sslError
EventBufferEvent
PHP Manual

EventBufferEvent::setWatermark

(PECL event >= 1.2.6-beta)

EventBufferEvent::setWatermark — Adjusts read and/or write watermarks

Beschreibung

public void EventBufferEvent::setWatermark ( int $events , int $lowmark , int $highmark )

Adjusts the read watermarks, the write watermarks , or both, of a single buffer event.

A buffer event watermark is an edge, a value specifying number of bytes to be read or written before callback is invoked. By default every read/write event triggers a callback invokation. See » Fast portable non-blocking network programming with Libevent: Callbacks and watermarks

Parameter-Liste

events

Bitmask of Event::READ , Event::WRITE , or both.

lowmark

Minimum watermark value.

highmark

Maximum watermark value. 0 means "unlimited".

Rückgabewerte

Es wird kein Wert zurückgegeben.

EventBufferEvent::setTimeouts
EventBufferEvent::sslError
EventBufferEvent


Returns most recent OpenSSL error reported on the buffer event

EventBufferEvent::setWatermark
EventBufferEvent::sslFilter
EventBufferEvent
PHP Manual

EventBufferEvent::sslError

(PECL event >= 1.2.6-beta)

EventBufferEvent::sslError — Returns most recent OpenSSL error reported on the buffer event

Beschreibung

public string EventBufferEvent::sslError ( void )

Returns most recent OpenSSL error reported on the buffer event.

Hinweis:

This function is available only if Event is compiled with OpenSSL support.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns OpenSSL error string reported on the buffer event, or FALSE, if there is no more error to return.

Beispiele

Beispiel #1 EventBufferEvent::sslError() example

<?php
// This callback is invoked when some even occurs on the event listener,
// e.g. connection closed, or an error occured
function ssl_event_cb($bev, $events, $ctx) {
    if ($events & EventBufferEvent::ERROR) {
        // Fetch errors from the SSL error stack
        while ($err = $bev->sslError()) {
            fprintf(STDERR, "Bufferevent error %s.\n", $err);
        }
    }

    if ($events & (EventBufferEvent::EOF | EventBufferEvent::ERROR)) {
        $bev->free();
    }
}
?>

Siehe auch

  • EventBufferEvent::sslRenegotiate() - Tells a bufferevent to begin SSL renegotiation.
EventBufferEvent::setWatermark
EventBufferEvent::sslFilter
EventBufferEvent


Create a new SSL buffer event to send its data over another buffer event

EventBufferEvent::sslError
EventBufferEvent::sslGetCipherInfo
EventBufferEvent
PHP Manual

EventBufferEvent::sslFilter

(PECL event >= 1.2.6-beta)

EventBufferEvent::sslFilter — Create a new SSL buffer event to send its data over another buffer event

Beschreibung

public static EventBufferEvent EventBufferEvent::sslFilter ( EventBase $base , EventBufferEvent $underlying , EventSslContext $ctx , int $state [, int $options = 0 ] )

Create a new SSL buffer event to send its data over another buffer event

Hinweis:

This function is available only if Event is compiled with OpenSSL support.

Parameter-Liste

base

Associated event base.

underlying

A socket buffer event to use for this SSL.

ctx

Object of EventSslContext class.

state

The current state of SSL connection: EventBufferEvent::SSL_OPEN , EventBufferEvent::SSL_ACCEPTING or EventBufferEvent::SSL_CONNECTING .

options

One or more buffer event options.

Rückgabewerte

Returns a new SSL EventBufferEvent object.

Beispiele

Beispiel #1 Simple SMTP server

<?php
 /*
 * Author: Andrew Rose <hello at andrewrose dot co dot uk>
 *
 * Usage:
 * 1) Prepare cert.pem certificate and privkey.pem private key files.
 * 2) Launch the server script
 * 3) Open TLS connection, e.g.:
 *      $ openssl s_client -connect localhost:25 -starttls smtp -crlf
 * 4) Start testing the commands listed in `cmd` method below.
 */

class Handler {
    public $domainName = FALSE;
    public $connections = [];
    public $buffers = [];
    public $maxRead = 256000;

    public function __construct() {
        $this->ctx = new EventSslContext(EventSslContext::SSLv3_SERVER_METHOD, [
            EventSslContext::OPT_LOCAL_CERT  => 'cert.pem',
            EventSslContext::OPT_LOCAL_PK    => 'privkey.pem',
            //EventSslContext::OPT_PASSPHRASE  => '',
            EventSslContext::OPT_VERIFY_PEER => false, // change to true with authentic cert
            EventSslContext::OPT_ALLOW_SELF_SIGNED => true // change to false with authentic cert
        ]);

        $this->base = new EventBase();
        if (!$this->base) {
            exit("Couldn't open event base\n");
        }

        if (!$this->listener = new EventListener($this->base,
            [$this, 'ev_accept'],
            $this->ctx,
            EventListener::OPT_CLOSE_ON_FREE | EventListener::OPT_REUSEABLE,
            -1,
            '0.0.0.0:25'))
        {
            exit("Couldn't create listener\n");
        }

        $this->listener->setErrorCallback([$this, 'ev_error']);
        $this->base->dispatch();
    }

    public function ev_accept($listener, $fd, $address, $ctx) {
        static $id = 0;
        $id += 1;

        $this->connections[$id]['clientData'] = '';
        $this->connections[$id]['cnx'] = new EventBufferEvent($this->base, $fd,
            EventBufferEvent::OPT_CLOSE_ON_FREE);

        if (!$this->connections[$id]['cnx']) {
            echo "Failed creating buffer\n";
            $this->base->exit(NULL);
            exit(1);
        }

        $this->connections[$id]['cnx']->setCallbacks([$this, "ev_read"], NULL,
            [$this, 'ev_error'], $id);
        $this->connections[$id]['cnx']->enable(Event::READ | Event::WRITE);

        $this->ev_write($id, '220 '.$this->domainName." wazzzap?\r\n");
    }

    function ev_error($listener, $ctx) {
        $errno = EventUtil::getLastSocketErrno();

        fprintf(STDERR, "Got an error %d (%s) on the listener. Shutting down.\n",
            $errno, EventUtil::getLastSocketError());

        if ($errno != 0) {
            $this->base->exit(NULL);
            exit();
        }
    }

    public function ev_close($id) {
        $this->connections[$id]['cnx']->disable(Event::READ | Event::WRITE);
        unset($this->connections[$id]);
    }

    protected function ev_write($id, $string) {
        echo 'S('.$id.'): '.$string;
        $this->connections[$id]['cnx']->write($string);
    }

    public function ev_read($buffer, $id) {
        while($buffer->input->length > 0) {
            $this->connections[$id]['clientData'] .= $buffer->input->read($this->maxRead);
            $clientDataLen = strlen($this->connections[$id]['clientData']);

            if($this->connections[$id]['clientData'][$clientDataLen-1] == "\n"
                && $this->connections[$id]['clientData'][$clientDataLen-2] == "\r")
            {
                // remove the trailing \r\n
                $line = substr($this->connections[$id]['clientData'], 0,
                    strlen($this->connections[$id]['clientData']) - 2);

                $this->connections[$id]['clientData'] = '';
                $this->cmd($buffer, $id, $line);
            }
        }
    }

    protected function cmd($buffer, $id, $line) {
        switch ($line) {
            case strncmp('EHLO ', $line, 4):
                $this->ev_write($id, "250-STARTTLS\r\n");
                $this->ev_write($id, "250 OK ehlo\r\n");
                break;

            case strncmp('HELO ', $line, 4):
                $this->ev_write($id, "250-STARTTLS\r\n");
                $this->ev_write($id, "250 OK helo\r\n");
                break;

            case strncmp('QUIT', $line, 3):
                $this->ev_write($id, "250 OK quit\r\n");
                $this->ev_close($id);
                break;

            case strncmp('STARTTLS', $line, 3):
                $this->ev_write($id, "220 Ready to start TLS\r\n");
                $this->connections[$id]['cnx'] = EventBufferEvent::sslFilter($this->base,
                    $this->connections[$id]['cnx'], $this->ctx,
                    EventBufferEvent::SSL_ACCEPTING,
                    EventBufferEvent::OPT_CLOSE_ON_FREE);
                $this->connections[$id]['cnx']->setCallbacks([$this, "ev_read"], NULL, [$this, 'ev_error'], $id);
                $this->connections[$id]['cnx']->enable(Event::READ | Event::WRITE);
                break;

            default:
                echo 'unknown command: '.$line."\n";
                break;
        }
    }
}

new Handler();

Siehe auch

  • EventBufferEvent::sslSocket() - Creates a new SSL buffer event to send its data over an SSL on a socket
EventBufferEvent::sslError
EventBufferEvent::sslGetCipherInfo
EventBufferEvent


Returns a textual description of the cipher.

EventBufferEvent::sslFilter
EventBufferEvent::sslGetCipherName
EventBufferEvent
PHP Manual

EventBufferEvent::sslGetCipherInfo

(PECL event >= 1.10.0)

EventBufferEvent::sslGetCipherInfo — Returns a textual description of the cipher.

Beschreibung

public string EventBufferEvent::sslGetCipherInfo ( void )

Retrieves description of the current cipher by means of the SSL_CIPHER_description SSL API function (see SSL_CIPHER_get_name(3) man page).

Hinweis:

This function is available only if Event is compiled with OpenSSL support.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a textual description of the cipher on success, or FALSE on error.

EventBufferEvent::sslFilter
EventBufferEvent::sslGetCipherName
EventBufferEvent


Returns the current cipher name of the SSL connection.

EventBufferEvent::sslGetCipherInfo
EventBufferEvent::sslGetCipherVersion
EventBufferEvent
PHP Manual

EventBufferEvent::sslGetCipherName

(PECL event >= 1.10.0)

EventBufferEvent::sslGetCipherName — Returns the current cipher name of the SSL connection.

Beschreibung

public string EventBufferEvent::sslGetCipherName ( void )

Retrieves name of cipher used by current SSL connection.

Hinweis:

This function is available only if Event is compiled with OpenSSL support.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current cipher name of the SSL connection, or FALSE on error.

EventBufferEvent::sslGetCipherInfo
EventBufferEvent::sslGetCipherVersion
EventBufferEvent


Returns version of cipher used by current SSL connection.

EventBufferEvent::sslGetCipherName
EventBufferEvent::sslGetProtocol
EventBufferEvent
PHP Manual

EventBufferEvent::sslGetCipherVersion

(PECL event >= 1.10.0)

EventBufferEvent::sslGetCipherVersion — Returns version of cipher used by current SSL connection.

Beschreibung

public string EventBufferEvent::sslGetCipherVersion ( void )

Retrieves version of cipher used by current SSL connection.

Hinweis:

This function is available only if Event is compiled with OpenSSL support.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current cipher version of the SSL connection, or FALSE on error.

EventBufferEvent::sslGetCipherName
EventBufferEvent::sslGetProtocol
EventBufferEvent


Returns the name of the protocol used for current SSL connection.

EventBufferEvent::sslGetCipherVersion
EventBufferEvent::sslRenegotiate
EventBufferEvent
PHP Manual

EventBufferEvent::sslGetProtocol

(PECL event >= 1.10.0)

EventBufferEvent::sslGetProtocol — Returns the name of the protocol used for current SSL connection.

Beschreibung

public string EventBufferEvent::sslGetProtocol ( void )

Returns the name of the protocol used for current SSL connection.

Hinweis:

This function is available only if Event is compiled with OpenSSL support.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the name of the protocol used for current SSL connection.

EventBufferEvent::sslGetCipherVersion
EventBufferEvent::sslRenegotiate
EventBufferEvent


Tells a bufferevent to begin SSL renegotiation.

EventBufferEvent::sslGetProtocol
EventBufferEvent::sslSocket
EventBufferEvent
PHP Manual

EventBufferEvent::sslRenegotiate

(PECL event >= 1.2.6-beta)

EventBufferEvent::sslRenegotiate — Tells a bufferevent to begin SSL renegotiation.

Beschreibung

public void EventBufferEvent::sslRenegotiate ( void )

Tells a bufferevent to begin SSL renegotiation.

Warnung

Calling this function tells the SSL to renegotiate, and the buffer event to invoke appropriate callbacks. This is an advanced topic; this should be generally avoided unless one really knows what he/she does, especially since many SSL versions have had known security issues related to renegotiation.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

EventBufferEvent::sslGetProtocol
EventBufferEvent::sslSocket
EventBufferEvent


Creates a new SSL buffer event to send its data over an SSL on a socket

EventBufferEvent::sslRenegotiate
EventBufferEvent::write
EventBufferEvent
PHP Manual

EventBufferEvent::sslSocket

(PECL event >= 1.2.6-beta)

EventBufferEvent::sslSocket — Creates a new SSL buffer event to send its data over an SSL on a socket

Beschreibung

public static EventBufferEvent EventBufferEvent::sslSocket ( EventBase $base , mixed $socket , EventSslContext $ctx , int $state [, int $options ] )

Creates a new SSL buffer event to send its data over an SSL on a socket.

Parameter-Liste

base

Associated event base.

socket

Socket to use for this SSL. Can be stream or socket resource, numeric file descriptor, or NULL. If socket is NULL, it is assumed that the file descriptor for the socket will be assigned later, for instance, by means of EventBufferEvent::connectHost() method.

ctx

Object of EventSslContext class.

state

The current state of SSL connection: EventBufferEvent::SSL_OPEN , EventBufferEvent::SSL_ACCEPTING or EventBufferEvent::SSL_CONNECTING .

options

The buffer event options.

Rückgabewerte

Returns EventBufferEvent object.

Siehe auch

  • EventBufferEvent::sslFilter() - Create a new SSL buffer event to send its data over another buffer event
EventBufferEvent::sslRenegotiate
EventBufferEvent::write
EventBufferEvent


Fügt Daten zum Ausgabepuffer eines Pufferereignises hinzu

EventBufferEvent::sslSocket
EventBufferEvent::writeBuffer
EventBufferEvent
PHP Manual

EventBufferEvent::write

(PECL event >= 1.2.6-beta)

EventBufferEvent::write — Fügt Daten zum Ausgabepuffer eines Pufferereignises hinzu

Beschreibung

public bool EventBufferEvent::write ( string $data )

Fügt data zum Ausgabepuffer eines Pufferereignisses hinzu.

Parameter-Liste

data

Die zum zugrundeliegenden Puffer hinzuzufügenden Daten.

Rückgabewerte

Gibt TRUE bei Erfolg, sonst FALSE zurück.

Siehe auch

  • EventBufferEvent::writeBuffer() - Adds contents of the entire buffer to a buffer event's output buffer
EventBufferEvent::sslSocket
EventBufferEvent::writeBuffer
EventBufferEvent


Adds contents of the entire buffer to a buffer event's output buffer

EventBufferEvent::write
About buffer event callbacks
EventBufferEvent
PHP Manual

EventBufferEvent::writeBuffer

(PECL event >= 1.2.6-beta)

EventBufferEvent::writeBuffer — Adds contents of the entire buffer to a buffer event's output buffer

Beschreibung

public bool EventBufferEvent::writeBuffer ( EventBuffer $buf )

Adds contents of the entire buffer to a buffer event's output buffer

Parameter-Liste

buf

Source EventBuffer object.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

Siehe auch

  • EventBufferEvent::write() - Fügt Daten zum Ausgabepuffer eines Pufferereignises hinzu
EventBufferEvent::write
About buffer event callbacks
EventBufferEvent


About buffer event callbacks

An object of EventBufferEvent class represents a buffer event . The asynchronous nature of I/O performed by Libevent implies that a socket(or other kind of file descriptor) is not always available. Event invokes corresponding callbacks when the resource becomes available for reading or writing, or when some event occurs(e.g. error, "end of line" etc.).

Read and write callbacks should match the following prototype:

void callback ([ EventBufferEvent $bev = NULL [, mixed $arg = NULL ]] )

bev

Associated EventBufferEvent object.

arg

Custom variable attached to all callbacks via EventBufferEvent::__construct() , or EventBufferEvent::setCallbacks() .

Event callback should match the following prototype:

void callback ([ EventBufferEvent $bev = NULL [, int $events = 0 [, mixed $arg = NULL ]]] )

bev

Associated EventBufferEvent object.

events

Bit mask of events: EventBufferEvent::READING , EventBufferEvent::WRITING , EventBufferEvent::EOL , EventBufferEvent::ERROR and EventBufferEvent::TIMEOUT . See EventBufferEvent constants

arg

Custom variable attached to all callbacks via EventBufferEvent::__construct() , or EventBufferEvent::setCallbacks() .

EventBufferEvent::writeBuffer
EventConfig
Event


The EventConfig class

(PECL event >= 1.2.6-beta)

Einführung

Represents configuration structure which could be used in construction of the EventBase .

Klassenbeschreibung

final EventConfig {
/* Constants */
const integer FEATURE_ET = 1 ;
const integer FEATURE_O1 = 2 ;
const integer FEATURE_FDS = 4 ;
/* Methoden */
public bool avoidMethod ( string $method )
public __construct ( void )
public bool requireFeatures ( int $feature )
public void setMaxDispatchInterval ( int $max_interval , int $max_callbacks , int $min_priority )
}

Vordefinierte Konstanten

EventConfig::FEATURE_ET

Requires a backend method that supports edge-triggered I/O.

EventConfig::FEATURE_O1

Requires a backend method where adding or deleting a single event, or having a single event become active, is an O(1) operation.

EventConfig::FEATURE_FDS

Requires a backend method that can support arbitrary file descriptor types, and not just sockets.

Inhaltsverzeichnis

  • EventConfig::avoidMethod — Tells libevent to avoid specific event method
  • EventConfig::__construct — Constructs EventConfig object
  • EventConfig::requireFeatures — Enters a required event method feature that the application demands
  • EventConfig::setMaxDispatchInterval — Prevents priority inversion
About buffer event callbacks
EventConfig::avoidMethod
Event


Tells libevent to avoid specific event method

EventConfig
EventConfig::__construct
EventConfig
PHP Manual

EventConfig::avoidMethod

(PECL event >= 1.2.6-beta)

EventConfig::avoidMethod — Tells libevent to avoid specific event method

Beschreibung

public bool EventConfig::avoidMethod ( string $method )

Tells libevent to avoid specific event method(backend). See » Creating an event base .

Parameter-Liste

method

The backend method to avoid. See EventConfig constants .

Rückgabewerte

Returns TRUE on success, otherwise FALSE.

Beispiele

Beispiel #1 EventConfig::avoidMethod() example

<?php
$cfg = new EventConfig();
if ($cfg->avoidMethod("select")) {
    echo "`select' method avoided\n";
}
?>

Siehe auch

  • EventBase::__construct() - Constructs EventBase object
EventConfig
EventConfig::__construct
EventConfig


Constructs EventConfig object

EventConfig::avoidMethod
EventConfig::requireFeatures
EventConfig
PHP Manual

EventConfig::__construct

(PECL event >= 1.2.6-beta)

EventConfig::__construct — Constructs EventConfig object

Beschreibung

public EventConfig::__construct ( void )

Constructs EventConfig object which could be passed to EventBase::__construct() constructor.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns EventConfig object.

Beispiele

Beispiel #1 EventConfig::__construct() example

<?php
// Avoiding "select" method
$cfg = new EventConfig();
if ($cfg->avoidMethod("select")) {
    echo "`select' method avoided\n";
}

// Create event_base associated with the config
$base = new EventBase($cfg);

/* Now $base is configured to avoid select backend(method) */
?>

Siehe auch

  • EventBase::__construct() - Constructs EventBase object
EventConfig::avoidMethod
EventConfig::requireFeatures
EventConfig


Enters a required event method feature that the application demands

EventConfig::__construct
EventConfig::setMaxDispatchInterval
EventConfig
PHP Manual

EventConfig::requireFeatures

(PECL event >= 1.2.6-beta)

EventConfig::requireFeatures — Enters a required event method feature that the application demands

Beschreibung

public bool EventConfig::requireFeatures ( int $feature )

Enters a required event method feature that the application demands

Parameter-Liste

feature

Bitmask of required features. See EventConfig::FEATURE_* constants

Rückgabewerte

Beispiele

Beispiel #1 EventConfig::requireFeatures() example

<?php
$cfg = new EventConfig();

// Create event_base associated with the config
$base = new EventBase($cfg);

// Require FDS feature
if ($cfg->requireFeatures(EventConfig::FEATURE_FDS)) {
    echo "FDS feature is now requried\n";

    $base = new EventBase($cfg);
    ($base->getFeatures() & EventConfig::FEATURE_FDS)
        and print("FDS - arbitrary file descriptor types, and not just sockets\n");
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

FDS feature is now requried
FDS - arbitrary file descriptor types, and not just sockets

Siehe auch

  • EventBase::getFeatures() - Returns bitmask of features supported
EventConfig::__construct
EventConfig::setMaxDispatchInterval
EventConfig


Prevents priority inversion

EventConfig::requireFeatures
EventDnsBase
EventConfig
PHP Manual

EventConfig::setMaxDispatchInterval

(No version information available, might only be in Git)

EventConfig::setMaxDispatchInterval — Prevents priority inversion

Beschreibung

public void EventConfig::setMaxDispatchInterval ( int $max_interval , int $max_callbacks , int $min_priority )

Prevents priority inversion by limiting how many low-priority event callbacks can be invoked before checking for more high-priority events.

Hinweis:

Available since libevent 2.1.0-alpha .

Parameter-Liste

max_interval

An interval after which Libevent should stop running callbacks and check for more events, or 0 , if there should be no such interval.

max_callbacks

A number of callbacks after which Libevent should stop running callbacks and check for more events, or -1 , if there should be no such limit.

min_priority

A priority below which max_interval and max_callbacks should not be enforced. If this is set to 0 , they are enforced for events of every priority; if it's set to 1 , they're enforced for events of priority 1 and above, and so on.

Rückgabewerte

Returns TRUE on success, otherwise FALSE.

EventConfig::requireFeatures
EventDnsBase
EventConfig


The EventDnsBase class

(PECL event >= 1.2.6-beta)

Einführung

Represents Libevent's DNS base structure. Used to resolve DNS asyncronously, parse configuration files like resolv.conf etc.

Klassenbeschreibung

final EventDnsBase {
/* Constants */
const integer OPTION_SEARCH = 1 ;
const integer OPTION_NAMESERVERS = 2 ;
const integer OPTION_MISC = 4 ;
const integer OPTION_HOSTSFILE = 8 ;
const integer OPTIONS_ALL = 15 ;
/* Methoden */
public bool addNameserverIp ( string $ip )
public void addSearch ( string $domain )
public void clearSearch ( void )
public __construct ( EventBase $base , bool $initialize )
public int countNameservers ( void )
public bool loadHosts ( string $hosts )
public bool parseResolvConf ( int $flags , string $filename )
public bool setOption ( string $option , string $value )
public bool setSearchNdots ( int $ndots )
}

Vordefinierte Konstanten

EventDnsBase::OPTION_SEARCH

Tells to read the domain and search fields from the resolv.conf file and the ndots option, and use them to decide which domains(if any) to search for hostnames that aren’t fully-qualified.

EventDnsBase::OPTION_NAMESERVERS

Tells to learn the nameservers from the resolv.conf file.

EventDnsBase::OPTION_MISC

EventDnsBase::OPTION_HOSTSFILE

Tells to read a list of hosts from /etc/hosts as part of loading the resolv.conf file.

EventDnsBase::OPTIONS_ALL

Tells to learn as much as it can from the resolv.conf file.

Inhaltsverzeichnis

  • EventDnsBase::addNameserverIp — Adds a nameserver to the DNS base
  • EventDnsBase::addSearch — Adds a domain to the list of search domains
  • EventDnsBase::clearSearch — Removes all current search suffixes
  • EventDnsBase::__construct — Constructs EventDnsBase object
  • EventDnsBase::countNameservers — Gets the number of configured nameservers
  • EventDnsBase::loadHosts — Loads a hosts file (in the same format as /etc/hosts) from hosts file
  • EventDnsBase::parseResolvConf — Scans the resolv.conf-formatted file
  • EventDnsBase::setOption — Set the value of a configuration option
  • EventDnsBase::setSearchNdots — Set the 'ndots' parameter for searches
EventConfig::setMaxDispatchInterval
EventDnsBase::addNameserverIp
Event


Adds a nameserver to the DNS base

EventDnsBase
EventDnsBase::addSearch
EventDnsBase
PHP Manual

EventDnsBase::addNameserverIp

(PECL event >= 1.2.6-beta)

EventDnsBase::addNameserverIp — Adds a nameserver to the DNS base

Beschreibung

public bool EventDnsBase::addNameserverIp ( string $ip )

Adds a nameserver to the evdns_base.

Parameter-Liste

ip

The nameserver string, either as an IPv4 address, an IPv6 address, an IPv4 address with a port ( IPv4:Port ), or an IPv6 address with a port ( [IPv6]:Port ).

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

EventDnsBase
EventDnsBase::addSearch
EventDnsBase


Adds a domain to the list of search domains

EventDnsBase::addNameserverIp
EventDnsBase::clearSearch
EventDnsBase
PHP Manual

EventDnsBase::addSearch

(PECL event >= 1.2.6-beta)

EventDnsBase::addSearch — Adds a domain to the list of search domains

Beschreibung

public void EventDnsBase::addSearch ( string $domain )

Adds a domain to the list of search domains

Parameter-Liste

domain

Search domain.

Rückgabewerte

Es wird kein Wert zurückgegeben.

EventDnsBase::addNameserverIp
EventDnsBase::clearSearch
EventDnsBase


Removes all current search suffixes

EventDnsBase::addSearch
EventDnsBase::__construct
EventDnsBase
PHP Manual

EventDnsBase::clearSearch

(PECL event >= 1.2.6-beta)

EventDnsBase::clearSearch — Removes all current search suffixes

Beschreibung

public void EventDnsBase::clearSearch ( void )

Removes all current search suffixes from the DNS base; the EventDnsBase::addSearch() function adds a suffix.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • EventDnsBase::addSearch() - Adds a domain to the list of search domains
EventDnsBase::addSearch
EventDnsBase::__construct
EventDnsBase


Constructs EventDnsBase object

EventDnsBase::clearSearch
EventDnsBase::countNameservers
EventDnsBase
PHP Manual

EventDnsBase::__construct

(PECL event >= 1.2.6-beta)

EventDnsBase::__construct — Constructs EventDnsBase object

Beschreibung

public EventDnsBase::__construct ( EventBase $base , bool $initialize )

Constructs EventDnsBase object.

Parameter-Liste

base

Event base.

initialize

If the initialize argument is TRUE, it tries to configure the DNS base sensibly given your operating system’s default. Otherwise, it leaves the event DNS base empty, with no nameservers or options configured. In the latter case DNS base should be configured manually, e.g. with EventDnsBase::parseResolvConf() .

Rückgabewerte

Returns EventDnsBase object.

EventDnsBase::clearSearch
EventDnsBase::countNameservers
EventDnsBase


Gets the number of configured nameservers

EventDnsBase::__construct
EventDnsBase::loadHosts
EventDnsBase
PHP Manual

EventDnsBase::countNameservers

(PECL event >= 1.2.6-beta)

EventDnsBase::countNameservers — Gets the number of configured nameservers

Beschreibung

public int EventDnsBase::countNameservers ( void )

Gets the number of configured nameservers

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the number of configured nameservers(not necessarily the number of running nameservers). This is useful for double-checking whether our calls to the various nameserver configuration functions have been successful.

EventDnsBase::__construct
EventDnsBase::loadHosts
EventDnsBase


Loads a hosts file (in the same format as /etc/hosts) from hosts file

EventDnsBase::countNameservers
EventDnsBase::parseResolvConf
EventDnsBase
PHP Manual

EventDnsBase::loadHosts

(PECL event >= 1.2.6-beta)

EventDnsBase::loadHosts — Loads a hosts file (in the same format as /etc/hosts) from hosts file

Beschreibung

public bool EventDnsBase::loadHosts ( string $hosts )

Loads a hosts file (in the same format as /etc/hosts ) from hosts file.

Parameter-Liste

hosts

Path to the hosts' file.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

EventDnsBase::countNameservers
EventDnsBase::parseResolvConf
EventDnsBase


Scans the resolv.conf-formatted file

EventDnsBase::loadHosts
EventDnsBase::setOption
EventDnsBase
PHP Manual

EventDnsBase::parseResolvConf

(PECL event >= 1.2.6-beta)

EventDnsBase::parseResolvConf — Scans the resolv.conf-formatted file

Beschreibung

public bool EventDnsBase::parseResolvConf ( int $flags , string $filename )

Scans the resolv.conf-formatted file stored in filename, and read in all the options from it that are listed in flags

Parameter-Liste

flags

Determines what information is parsed from the resolv.conf file. See the man page for resolv.conf for the format of this file.

The following directives are not parsed from the file: sortlist, rotate, no-check-names, inet6, debug .

If this function encounters an error, the possible return values are:

  • 1 = failed to open file
  • 2 = failed to stat file
  • 3 = file too large
  • 4 = out of memory
  • 5 = short read from file
  • 6 = no nameservers listed in the file

filename

Path to resolv.conf file.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

EventDnsBase::loadHosts
EventDnsBase::setOption
EventDnsBase


Set the value of a configuration option

EventDnsBase::parseResolvConf
EventDnsBase::setSearchNdots
EventDnsBase
PHP Manual

EventDnsBase::setOption

(PECL event >= 1.2.6-beta)

EventDnsBase::setOption — Set the value of a configuration option

Beschreibung

public bool EventDnsBase::setOption ( string $option , string $value )

Set the value of a configuration option.

Parameter-Liste

option

The currently available configuration options are: "ndots" , "timeout" , "max-timeouts" , "max-inflight" , and "attempts" .

value

Option value.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

EventDnsBase::parseResolvConf
EventDnsBase::setSearchNdots
EventDnsBase


Set the 'ndots' parameter for searches

EventDnsBase::setOption
EventHttp
EventDnsBase
PHP Manual

EventDnsBase::setSearchNdots

(PECL event >= 1.2.6-beta)

EventDnsBase::setSearchNdots — Set the 'ndots' parameter for searches

Beschreibung

public bool EventDnsBase::setSearchNdots ( int $ndots )

Set the 'ndots' parameter for searches. Sets the number of dots which, when found in a name, causes the first query to be without any search domain.

Parameter-Liste

ndots

The number of dots.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

EventDnsBase::setOption
EventHttp
EventDnsBase


The EventHttp class

(PECL event >= 1.4.0-beta)

Einführung

Represents HTTP server.

Klassenbeschreibung

final EventHttp {
/* Methoden */
public bool accept ( mixed $socket )
public bool addServerAlias ( string $alias )
public void bind ( string $address , int $port )
public __construct ( EventBase $base [, EventSslContext $ctx = NULL ] )
public bool removeServerAlias ( string $alias )
public void setAllowedMethods ( int $methods )
public void setCallback ( string $path , string $cb [, string $arg ] )
public void setDefaultCallback ( string $cb [, string $arg ] )
public void setMaxBodySize ( int $value )
public void setMaxHeadersSize ( int $value )
public void setTimeout ( int $value )
}

Inhaltsverzeichnis

  • EventHttp::accept — Makes an HTTP server accept connections on the specified socket stream or resource
  • EventHttp::addServerAlias — Adds a server alias to the HTTP server object
  • EventHttp::bind — Binds an HTTP server on the specified address and port
  • EventHttp::__construct — Constructs EventHttp object(the HTTP server)
  • EventHttp::removeServerAlias — Removes server alias
  • EventHttp::setAllowedMethods — Sets the what HTTP methods are supported in requests accepted by this server, and passed to user callbacks
  • EventHttp::setCallback — Sets a callback for specified URI
  • EventHttp::setDefaultCallback — Sets default callback to handle requests that are not caught by specific callbacks
  • EventHttp::setMaxBodySize — Sets maximum request body size
  • EventHttp::setMaxHeadersSize — Sets maximum HTTP header size
  • EventHttp::setTimeout — Sets the timeout for an HTTP request
EventDnsBase::setSearchNdots
EventHttp::accept
Event


Makes an HTTP server accept connections on the specified socket stream or resource

EventHttp
EventHttp::addServerAlias
EventHttp
PHP Manual

EventHttp::accept

(PECL event >= 1.2.6-beta)

EventHttp::accept — Makes an HTTP server accept connections on the specified socket stream or resource

Beschreibung

public bool EventHttp::accept ( mixed $socket )

Makes an HTTP server accept connections on the specified socket stream or resource. The socket should be ready to accept connections.

Can be called multiple times to accept connections on different sockets.

Hinweis:

To bind a socket, listen , and accept connections on the socket in s single call use EventHttp::bind() . EventHttp::accept() is needed only if one already has a socket ready to accept connections.

Parameter-Liste

socket

Socket resource, stream or numeric file descriptor representing a socket ready to accept connections.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

Beispiele

Beispiel #1 EventHttp::accept() example

<?php
$base = new EventBase();
$http = new EventHttp($base);

$addresses = array (
     8091 => "127.0.0.1",
     8092 => "127.0.0.2",
);
$i = 0;

$socket = array();

foreach ($addresses as $port => $ip) {
    echo $ip, " ", $port, PHP_EOL;
    $socket[$i] = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
    if (!socket_bind($socket[$i], $ip, $port)) {
        exit("socket_bind failed\n");
    }
    socket_listen($socket[$i], 0);
    socket_set_nonblock($socket[$i]);

    if (!$http->accept($socket[$i])) {
        echo "Accept failed\n";
        exit(1);
    }

    ++$i;
}

$http->setCallback("/some-page", function() {
 echo "(some-page)\n";
    echo "URI: ", $req->getUri(), PHP_EOL;
    $req->sendReply(200, "OK");
    echo "OK\n";
});

$http->setDefaultCallback(function($req) {
    echo "URI: ", $req->getUri(), PHP_EOL;
    $req->sendReply(200, "OK");
    echo "OK\n";
});

$signal = Event::signal($base, SIGINT, function () use ($base) {
    echo "Caught SIGINT. Stopping...\n";
    $base->stop();
});
$signal->add();

$base->dispatch();
echo "END\n";
// We didn't close sockets, since Libevent already sets
// CLOSE_ON_FREE and CLOSE_ON_EXEC flags on the file
// descriptor associated with the sockets.
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Client:
$ nc 127.0.0.1 8091
GET /about HTTP/1.0
Connection: close

HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close

Server:
127.0.0.1 8091
127.0.0.2 8092
URI: /about
OK

Siehe auch

  • EventHttp::bind() - Binds an HTTP server on the specified address and port
EventHttp
EventHttp::addServerAlias
EventHttp


Adds a server alias to the HTTP server object

EventHttp::accept
EventHttp::bind
EventHttp
PHP Manual

EventHttp::addServerAlias

(PECL event >= 1.4.0-beta)

EventHttp::addServerAlias — Adds a server alias to the HTTP server object

Beschreibung

public bool EventHttp::addServerAlias ( string $alias )

Adds a server alias to the HTTP server object.

Parameter-Liste

alias

The alias to add.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

Beispiele

Beispiel #1 EventHttp::addServerAlias() example

<?php
$base = new EventBase();
$http = new EventHttp($base);

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

if (!$http->bind("127.0.0.1", 8088)) {
    exit("bind(1) failed\n");
};

if (!$http->addServerAlias("local.net")) {
    exit("Failed to add server alias\n");
}

$http->setCallback("/about", function($req) {
    echo "URI: ", $req->getUri(), PHP_EOL;
    $req->sendReply(200, "OK");
});
$base->dispatch();
?>

Siehe auch

  • EventHttp::removeServerAlias() - Removes server alias
EventHttp::accept
EventHttp::bind
EventHttp


Binds an HTTP server on the specified address and port

EventHttp::addServerAlias
EventHttp::__construct
EventHttp
PHP Manual

EventHttp::bind

(PECL event >= 1.2.6-beta)

EventHttp::bind — Binds an HTTP server on the specified address and port

Beschreibung

public void EventHttp::bind ( string $address , int $port )

Binds an HTTP server on the specified address and port.

Can be called multiple times to bind the same HTTP server to multiple different ports.

Parameter-Liste

address

A string containing the IP address to listen(2) on.

port

The port number to listen on.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

Beispiele

Beispiel #1 EventHttp::bind() example

<?php
$base = new EventBase();
$http = new EventHttp($base);

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

if (!$http->bind("127.0.0.1", 8088)) {
    exit("bind(1) failed\n");
};
if (!$http->bind("127.0.0.1", 8089)) {
    exit("bind(2) failed\n");
};

$http->setCallback("/about", function($req) {
    echo "URI: ", $req->getUri(), PHP_EOL;
    $req->sendReply(200, "OK");
    echo "OK\n";
});

$base->dispatch();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Client:

$ nc 127.0.0.1 8088
GET /about HTTP/1.0
Connection: close

HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close

$ nc 127.0.0.1 8089
GET /unknown HTTP/1.0
Connection: close

HTTP/1.1 404 Not Found
Content-Type: text/html
Date: Wed, 13 Mar 2013 04:14:41 GMT
Content-Length: 149
Connection: close

<html><head><title>404 Not Found</title></head><body><h1>Not Found</h1><p>The requested URL /unknown was not found on this server.</p></body></html>

Server:
URI: /about
OK

Siehe auch

  • EventHttp::accept() - Makes an HTTP server accept connections on the specified socket stream or resource
EventHttp::addServerAlias
EventHttp::__construct
EventHttp


Constructs EventHttp object(the HTTP server)

EventHttp::bind
EventHttp::removeServerAlias
EventHttp
PHP Manual

EventHttp::__construct

(PECL event >= 1.2.6-beta)

EventHttp::__construct — Constructs EventHttp object(the HTTP server)

Beschreibung

public EventHttp::__construct ( EventBase $base [, EventSslContext $ctx = NULL ] )

Constructs the HTTP server object.

Parameter-Liste

base

Associated event base.

ctx

EventSslContext class object. Turns plain HTTP server into HTTPS server. It means that if ctx is configured correctly, then the underlying buffer events will be based on OpenSSL sockets. Thus, all traffic will pass through the SSL or TLS.

Hinweis:

This parameter is available only if Event is compiled with OpenSSL support and only with Libevent 2.1.0-alpha and higher.

Rückgabewerte

Returns EventHttp object.

Changelog

Version | Beschreibung
1.9.0 | OpenSSL support (ctx) added.

Beispiele

Beispiel #1 Simple HTTP server

<?php
/*
 * Simple HTTP server.
 *
 * To test it:
 * 1) Run it on a port of your choice, e.g.:
 * $ php examples/http.php 8010
 * 2) In another terminal connect to some address on this port
 * and make GET or POST request(others are turned off here), e.g.:
 * $ nc -t 127.0.0.1 8010
 * POST /about HTTP/1.0
 * Content-Type: text/plain
 * Content-Length: 4
 * Connection: close
 * (press Enter)
 *
 * It will output
 * a=12
 * HTTP/1.0 200 OK
 * Content-Type: text/html; charset=ISO-8859-1
 * Connection: close
 *
 * $ nc -t 127.0.0.1 8010
 * GET /dump HTTP/1.0
 * Content-Type: text/plain
 * Content-Encoding: UTF-8
 * Connection: close
 * (press Enter)
 *
 * It will output:
 * HTTP/1.0 200 OK
 * Content-Type: text/html; charset=ISO-8859-1
 * Connection: close
 * (press Enter)
 *
 * $ nc -t 127.0.0.1 8010
 * GET /unknown HTTP/1.0
 * Connection: close
 *
 * It will output:
 * HTTP/1.0 200 OK
 * Content-Type: text/html; charset=ISO-8859-1
 * Connection: close
 *
 * 3) See what the server outputs on the previous terminal window.
 */

function _http_dump($req, $data) {
    static $counter      = 0;
    static $max_requests = 2;

    if (++$counter >= $max_requests)  {
        echo "Counter reached max requests $max_requests. Exiting\n";
        exit();
    }

    echo __METHOD__, " called\n";
    echo "request:"; var_dump($req);
    echo "data:"; var_dump($data);

    echo "\n===== DUMP =====\n";
    echo "Command:", $req->getCommand(), PHP_EOL;
    echo "URI:", $req->getUri(), PHP_EOL;
    echo "Input headers:"; var_dump($req->getInputHeaders());
    echo "Output headers:"; var_dump($req->getOutputHeaders());

    echo "\n >> Sending reply ...";
    $req->sendReply(200, "OK");
    echo "OK\n";

    echo "\n >> Reading input buffer ...\n";
    $buf = $req->getInputBuffer();
    while ($s = $buf->readLine(EventBuffer::EOL_ANY)) {
        echo $s, PHP_EOL;
    }
    echo "No more data in the buffer\n";
}

function _http_about($req) {
    echo __METHOD__, PHP_EOL;
    echo "URI: ", $req->getUri(), PHP_EOL;
    echo "\n >> Sending reply ...";
    $req->sendReply(200, "OK");
    echo "OK\n";
}

function _http_default($req, $data) {
    echo __METHOD__, PHP_EOL;
    echo "URI: ", $req->getUri(), PHP_EOL;
    echo "\n >> Sending reply ...";
    $req->sendReply(200, "OK");
    echo "OK\n";
}

$port = 8010;
if ($argc > 1) {
    $port = (int) $argv[1];
}
if ($port <= 0 || $port > 65535) {
    exit("Invalid port");
}

$base = new EventBase();
$http = new EventHttp($base);
$http->setAllowedMethods(EventHttpRequest::CMD_GET | EventHttpRequest::CMD_POST);

$http->setCallback("/dump", "_http_dump", array(4, 8));
$http->setCallback("/about", "_http_about");
$http->setDefaultCallback("_http_default", "custom data value");

$http->bind("0.0.0.0", 8010);
$base->loop();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

a=12
HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close

HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close
(press Enter)

HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close
EventHttp::bind
EventHttp::removeServerAlias
EventHttp


Removes server alias

EventHttp::__construct
EventHttp::setAllowedMethods
EventHttp
PHP Manual

EventHttp::removeServerAlias

(PECL event >= 1.4.0-beta)

EventHttp::removeServerAlias — Removes server alias

Beschreibung

public bool EventHttp::removeServerAlias ( string $alias )

Removes server alias added with EventHttp::addServerAlias()

Parameter-Liste

alias

The alias to remove.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

Siehe auch

  • EventHttp::addServerAlias() - Adds a server alias to the HTTP server object
EventHttp::__construct
EventHttp::setAllowedMethods
EventHttp


Sets the what HTTP methods are supported in requests accepted by this server, and passed to user callbacks

EventHttp::removeServerAlias
EventHttp::setCallback
EventHttp
PHP Manual

EventHttp::setAllowedMethods

(PECL event >= 1.4.0-beta)

EventHttp::setAllowedMethods — Sets the what HTTP methods are supported in requests accepted by this server, and passed to user callbacks

Beschreibung

public void EventHttp::setAllowedMethods ( int $methods )

Sets the what HTTP methods are supported in requests accepted by this server, and passed to user callbacks

If not supported they will generate a "405 Method not allowed" response.

By default this includes the following methods: GET , POST , HEAD , PUT , DELETE . See EventHttpRequest::CMD_* constants.

Parameter-Liste

methods

A bit mask of EventHttpRequest::CMD_* constants .

Rückgabewerte

Es wird kein Wert zurückgegeben.

EventHttp::removeServerAlias
EventHttp::setCallback
EventHttp


Sets a callback for specified URI

EventHttp::setAllowedMethods
EventHttp::setDefaultCallback
EventHttp
PHP Manual

EventHttp::setCallback

(PECL event >= 1.4.0-beta)

EventHttp::setCallback — Sets a callback for specified URI

Beschreibung

public void EventHttp::setCallback ( string $path , string $cb [, string $arg ] )

Sets a callback for specified URI.

Parameter-Liste

path

The path for which to invoke the callback.

cb

The callback callable that gets invoked on requested path . It should match the following prototype:

void callback ([ EventHttpRequest $req = NULL [, mixed $arg = NULL ]] )

req

EventHttpRequest object.

arg

Custom data.

arg

Custom data.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

Beispiele

Beispiel #1 EventHttp::setCallback() example

<?php
/*
 * Simple HTTP server.
 *
 * To test it:
 * 1) Run it on a port of your choice, e.g.:
 * $ php examples/http.php 8010
 * 2) In another terminal connect to some address on this port
 * and make GET or POST request(others are turned off here), e.g.:
 * $ nc -t 127.0.0.1 8010
 * POST /about HTTP/1.0
 * Content-Type: text/plain
 * Content-Length: 4
 * Connection: close
 * (press Enter)
 *
 * It will output
 * a=12
 * HTTP/1.0 200 OK
 * Content-Type: text/html; charset=ISO-8859-1
 * Connection: close
 *
 * 3) See what the server outputs on the previous terminal window.
 */

function _http_dump($req, $data) {
    static $counter      = 0;
    static $max_requests = 2;

    if (++$counter >= $max_requests)  {
        echo "Counter reached max requests $max_requests. Exiting\n";
        exit();
    }

    echo __METHOD__, " called\n";
    echo "request:"; var_dump($req);
    echo "data:"; var_dump($data);

    echo "\n===== DUMP =====\n";
    echo "Command:", $req->getCommand(), PHP_EOL;
    echo "URI:", $req->getUri(), PHP_EOL;
    echo "Input headers:"; var_dump($req->getInputHeaders());
    echo "Output headers:"; var_dump($req->getOutputHeaders());

    echo "\n >> Sending reply ...";
    $req->sendReply(200, "OK");
    echo "OK\n";

    echo "\n >> Reading input buffer ...\n";
    $buf = $req->getInputBuffer();
    while ($s = $buf->readLine(EventBuffer::EOL_ANY)) {
        echo $s, PHP_EOL;
    }
    echo "No more data in the buffer\n";
}

function _http_about($req) {
    echo __METHOD__, PHP_EOL;
    echo "URI: ", $req->getUri(), PHP_EOL;
    echo "\n >> Sending reply ...";
    $req->sendReply(200, "OK");
    echo "OK\n";
}

function _http_default($req, $data) {
    echo __METHOD__, PHP_EOL;
    echo "URI: ", $req->getUri(), PHP_EOL;
    echo "\n >> Sending reply ...";
    $req->sendReply(200, "OK");
    echo "OK\n";
}

$port = 8010;
if ($argc > 1) {
    $port = (int) $argv[1];
}
if ($port <= 0 || $port > 65535) {
    exit("Invalid port");
}

$base = new EventBase();
$http = new EventHttp($base);
$http->setAllowedMethods(EventHttpRequest::CMD_GET | EventHttpRequest::CMD_POST);

$http->setCallback("/dump", "_http_dump", array(4, 8));
$http->setCallback("/about", "_http_about");
$http->setDefaultCallback("_http_default", "custom data value");

$http->bind("0.0.0.0", 8010);
$base->loop();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

a=12
HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close

Siehe auch

  • EventHttp::setDefaultCallback() - Sets default callback to handle requests that are not caught by specific callbacks
EventHttp::setAllowedMethods
EventHttp::setDefaultCallback
EventHttp


Sets default callback to handle requests that are not caught by specific callbacks

EventHttp::setCallback
EventHttp::setMaxBodySize
EventHttp
PHP Manual

EventHttp::setDefaultCallback

(PECL event >= 1.4.0-beta)

EventHttp::setDefaultCallback — Sets default callback to handle requests that are not caught by specific callbacks

Beschreibung

public void EventHttp::setDefaultCallback ( string $cb [, string $arg ] )

Sets default callback to handle requests that are not caught by specific callbacks

Parameter-Liste

cb

The callback callable . It should match the following prototype:

void callback ([ EventHttpRequest $req = NULL [, mixed $arg = NULL ]] )

req

EventHttpRequest object.

arg

Custom data.

arg

User custom data passed to the callback.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

Beispiele

Beispiel #1 EventHttp::setDefaultCallback() example

<?php
$base = new EventBase();
$http = new EventHttp($base);

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

if (!$http->bind("127.0.0.1", 8088)) {
    exit("bind(1) failed\n");
};

$http->setDefaultCallback(function($req) {
    echo "URI: ", $req->getUri(), PHP_EOL;
    $req->sendReply(200, "OK");
});

$base->dispatch();
?>

Siehe auch

  • EventHttp::setCallback() - Sets a callback for specified URI
EventHttp::setCallback
EventHttp::setMaxBodySize
EventHttp


Sets maximum request body size

EventHttp::setDefaultCallback
EventHttp::setMaxHeadersSize
EventHttp
PHP Manual

EventHttp::setMaxBodySize

(PECL event >= 1.4.0-beta)

EventHttp::setMaxBodySize — Sets maximum request body size

Beschreibung

public void EventHttp::setMaxBodySize ( int $value )

Sets maximum request body size.

Parameter-Liste

value

The body size in bytes.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • EventHttp::setMaxHeadersSize() - Sets maximum HTTP header size
EventHttp::setDefaultCallback
EventHttp::setMaxHeadersSize
EventHttp


Sets maximum HTTP header size

EventHttp::setMaxBodySize
EventHttp::setTimeout
EventHttp
PHP Manual

EventHttp::setMaxHeadersSize

(PECL event >= 1.4.0-beta)

EventHttp::setMaxHeadersSize — Sets maximum HTTP header size

Beschreibung

public void EventHttp::setMaxHeadersSize ( int $value )

Sets maximum HTTP header size.

Parameter-Liste

value

The header size in bytes.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • EventHttp::setMaxHeadersSize()
EventHttp::setMaxBodySize
EventHttp::setTimeout
EventHttp


Sets the timeout for an HTTP request

EventHttp::setMaxHeadersSize
EventHttpConnection
EventHttp
PHP Manual

EventHttp::setTimeout

(PECL event >= 1.4.0-beta)

EventHttp::setTimeout — Sets the timeout for an HTTP request

Beschreibung

public void EventHttp::setTimeout ( int $value )

Sets the timeout for an HTTP request.

Parameter-Liste

value

The timeout in seconds.

Rückgabewerte

Es wird kein Wert zurückgegeben.

EventHttp::setMaxHeadersSize
EventHttpConnection
EventHttp


The EventHttpConnection class

(PECL event >= 1.4.0-beta)

Einführung

Represents an HTTP connection.

Klassenbeschreibung

EventHttpConnection {
/* Methoden */
public __construct ( EventBase $base , EventDnsBase $dns_base , string $address , int $port [, EventSslContext $ctx = NULL ] )
public EventBase getBase ( void )
public void getPeer ( string &$address , int &$port )
public bool makeRequest ( EventHttpRequest $req , int $type , string $uri )
public void setCloseCallback ( callable $callback [, mixed $data ] )
public void setLocalAddress ( string $address )
public void setLocalPort ( int $port )
public void setMaxBodySize ( string $max_size )
public void setMaxHeadersSize ( string $max_size )
public void setRetries ( int $retries )
public void setTimeout ( int $timeout )
}

Inhaltsverzeichnis

  • EventHttpConnection::__construct — Constructs EventHttpConnection object
  • EventHttpConnection::getBase — Returns event base associated with the connection
  • EventHttpConnection::getPeer — Gets the remote address and port associated with the connection
  • EventHttpConnection::makeRequest — Makes an HTTP request over the specified connection
  • EventHttpConnection::setCloseCallback — Set callback for connection close
  • EventHttpConnection::setLocalAddress — Sets the IP address from which HTTP connections are made
  • EventHttpConnection::setLocalPort — Sets the local port from which connections are made
  • EventHttpConnection::setMaxBodySize — Sets maximum body size for the connection
  • EventHttpConnection::setMaxHeadersSize — Sets maximum header size
  • EventHttpConnection::setRetries — Sets the retry limit for the connection
  • EventHttpConnection::setTimeout — Sets the timeout for the connection
EventHttp::setTimeout
EventHttpConnection::__construct
Event


Constructs EventHttpConnection object

EventHttpConnection
EventHttpConnection::getBase
EventHttpConnection
PHP Manual

EventHttpConnection::__construct

(PECL event >= 1.2.6-beta)

EventHttpConnection::__construct — Constructs EventHttpConnection object

Beschreibung

public EventHttpConnection::__construct ( EventBase $base , EventDnsBase $dns_base , string $address , int $port [, EventSslContext $ctx = NULL ] )

Constructs EventHttpConnection object.

Parameter-Liste

base

Associated event base.

dns_base

If dns_base is NULL, hostname resolution will block.

address

The address to connect to.

port

The port to connect to.

ctx

EventSslContext class object. Enables OpenSSL.

Hinweis:

This parameter is available only if Event is compiled with OpenSSL support and only with Libevent 2.1.0-alpha and higher.

Rückgabewerte

Returns EventHttpConnection object.

Changelog

Version | Beschreibung
1.9.0 | OpenSSL support (ctx) added.

EventHttpConnection
EventHttpConnection::getBase
EventHttpConnection


Returns event base associated with the connection

EventHttpConnection::__construct
EventHttpConnection::getPeer
EventHttpConnection
PHP Manual

EventHttpConnection::getBase

(PECL event >= 1.2.6-beta)

EventHttpConnection::getBase — Returns event base associated with the connection

Beschreibung

public EventBase EventHttpConnection::getBase ( void )

Returns event base associated with the connection.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

On success returns EventBase object associated with the connection. Otherwise FALSE.

EventHttpConnection::__construct
EventHttpConnection::getPeer
EventHttpConnection


Gets the remote address and port associated with the connection

EventHttpConnection::getBase
EventHttpConnection::makeRequest
EventHttpConnection
PHP Manual

EventHttpConnection::getPeer

(PECL event >= 1.2.6-beta)

EventHttpConnection::getPeer — Gets the remote address and port associated with the connection

Beschreibung

public void EventHttpConnection::getPeer ( string &$address , int &$port )

Gets the remote address and port associated with the connection

Parameter-Liste

address

Address of the peer.

port

Port of the peer.

Rückgabewerte

Es wird kein Wert zurückgegeben.

EventHttpConnection::getBase
EventHttpConnection::makeRequest
EventHttpConnection


Makes an HTTP request over the specified connection

EventHttpConnection::getPeer
EventHttpConnection::setCloseCallback
EventHttpConnection
PHP Manual

EventHttpConnection::makeRequest

(PECL event >= 1.4.0-beta)

EventHttpConnection::makeRequest — Makes an HTTP request over the specified connection

Beschreibung

public bool EventHttpConnection::makeRequest ( EventHttpRequest $req , int $type , string $uri )

Makes an HTTP request over the specified connection. type is one of EventHttpRequest::CMD_* constants.

Parameter-Liste

req

The connection object over which to send the request.

type

One of EventHttpRequest::CMD_* constants .

uri

The URI associated with the request.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

Beispiele

Beispiel #1 EventHttpConnection::makeRequest() example

<?php
function _request_handler($req, $base) {
    echo __FUNCTION__, PHP_EOL;

    if (is_null($req)) {
        echo "Timed out\n";
    } else {
        $response_code = $req->getResponseCode();

        if ($response_code == 0) {
            echo "Connection refused\n";
        } elseif ($response_code != 200) {
            echo "Unexpected response: $response_code\n";
        } else {
            echo "Success: $response_code\n";
            $buf = $req->getInputBuffer();
            echo "Body:\n";
            while ($s = $buf->readLine(EventBuffer::EOL_ANY)) {
                echo $s, PHP_EOL;
            }
        }
    }

    $base->exit(NULL);
}

$address = "127.0.0.1";
$port = 80;

$base = new EventBase();
$conn = new EventHttpConnection($base, NULL, $address, $port);
$conn->setTimeout(5);
$req = new EventHttpRequest("_request_handler", $base);

$req->addHeader("Host", $address, EventHttpRequest::OUTPUT_HEADER);
$req->addHeader("Content-Length", "0", EventHttpRequest::OUTPUT_HEADER);
$conn->makeRequest($req, EventHttpRequest::CMD_GET, "/index.cphp");

$base->loop();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

_request_handler
Success: 200
Body:
PHP, date:
2013-03-13T20:27:52+05:00

Siehe auch

  • EventHttpRequest::addHeader() - Adds an HTTP header to the headers of the request
EventHttpConnection::getPeer
EventHttpConnection::setCloseCallback
EventHttpConnection


Set callback for connection close

EventHttpConnection::makeRequest
EventHttpConnection::setLocalAddress
EventHttpConnection
PHP Manual

EventHttpConnection::setCloseCallback

(PECL event >= 1.8.0)

EventHttpConnection::setCloseCallback — Set callback for connection close

Beschreibung

public void EventHttpConnection::setCloseCallback ( callable $callback [, mixed $data ] )

Sets callback for connection close.

Parameter-Liste

callback

Callback which is called when connection is closed. Should match the following prototype:

void callback ([ EventHttpConnection $conn = NULL [, mixed $arg = NULL ]] )

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 EventHttpConnection::setCloseCallback() example

<?php
/*
 * Setting up close-connection callback
 *
 * The script handles closed connections using HTTP API.
 *
 * Usage:
 * 1) Launch the server:
 * $ php examples/http_closecb.php 4242
 *
 * 2) Launch a client in another terminal. Telnet-like
 * session should look like the following:
 *
 * $ nc -t 127.0.0.1 4242
 * GET / HTTP/1.0
 * Connection: close
 *
 * The server will output something similar to the following:
 *
 * HTTP/1.0 200 OK
 * Content-Type: multipart/x-mixed-replace;boundary=boundarydonotcross
 * Connection: close
 *
 * <html>
 *
 * 3) Terminate the client connection abruptly,
 * i.e. kill the process, or just press Ctrl-C.
 *
 * 4) Check if the server called _close_callback.
 * The script should output "_close_callback" string to standard output.
 *
 * 5) Check if the server's process has no orphaned connections,
 * e.g. with `lsof` utility.
 */

function _close_callback($conn)
{
    echo __FUNCTION__, PHP_EOL;
}

function _http_default($req, $dummy)
{
    $conn = $req->getConnection();
    $conn->setCloseCallback('_close_callback', NULL);

    /*
    By enabling Event::READ we protect the server against unclosed conections.
    This is a peculiarity of Libevent. The library disables Event::READ events
     on this connection, and the server is not notified about terminated
    connections.

    So each time client terminates connection abruptly, we get an orphaned
    connection. For instance, the following is a part of `lsof -p $PID | grep TCP`
    command after client has terminated connection:

    57-php     15057 ruslan  6u  unix 0xffff8802fb59c780   0t0  125187 socket
    58:php     15057 ruslan  7u  IPv4             125189   0t0     TCP *:4242 (LISTEN)
    59:php     15057 ruslan  8u  IPv4             124342   0t0     TCP localhost:4242->localhost:37375 (CLOSE_WAIT)

    where $PID is our process ID.

    The following block of code fixes such kind of orphaned connections.
     */
    $bev = $req->getBufferEvent();
    $bev->enable(Event::READ);
    // We have to free it explicitly. See
EventHttpRequest::getConnection()
$bev->free(); // we have to free it explicitly

    $req->addHeader(
        'Content-Type',
        'multipart/x-mixed-replace;boundary=boundarydonotcross',
        EventHttpRequest::OUTPUT_HEADER
    );

    $buf = new EventBuffer();
    $buf->add('<html>');

    $req->sendReply(200, "OK");
    $req->sendReplyChunk($buf);
}

$port = 4242;
if ($argc > 1) {
    $port = (int) $argv[1];
}
if ($port <= 0 || $port > 65535) {
    exit("Invalid port");
}

$base = new EventBase();
$http = new EventHttp($base);

$http->setDefaultCallback("_http_default", NULL);
$http->bind("0.0.0.0", $port);
$base->loop();

?>
EventHttpConnection::makeRequest
EventHttpConnection::setLocalAddress
EventHttpConnection


Sets the IP address from which HTTP connections are made

EventHttpConnection::setCloseCallback
EventHttpConnection::setLocalPort
EventHttpConnection
PHP Manual

EventHttpConnection::setLocalAddress

(PECL event >= 1.2.6-beta)

EventHttpConnection::setLocalAddress — Sets the IP address from which HTTP connections are made

Beschreibung

public void EventHttpConnection::setLocalAddress ( string $address )

Sets the IP address from which http connections are made.

Parameter-Liste

address

The IP address from which HTTP connections are made.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • EventHttpConnection::setLocalPort() - Sets the local port from which connections are made
EventHttpConnection::setCloseCallback
EventHttpConnection::setLocalPort
EventHttpConnection


Sets the local port from which connections are made

EventHttpConnection::setLocalAddress
EventHttpConnection::setMaxBodySize
EventHttpConnection
PHP Manual

EventHttpConnection::setLocalPort

(PECL event >= 1.2.6-beta)

EventHttpConnection::setLocalPort — Sets the local port from which connections are made

Beschreibung

public void EventHttpConnection::setLocalPort ( int $port )

Sets the local port from which connections are made.

Parameter-Liste

port

The port number.

Rückgabewerte

Siehe auch

  • EventHttpConnection::setLocalAddress() - Sets the IP address from which HTTP connections are made
EventHttpConnection::setLocalAddress
EventHttpConnection::setMaxBodySize
EventHttpConnection


Sets maximum body size for the connection

EventHttpConnection::setLocalPort
EventHttpConnection::setMaxHeadersSize
EventHttpConnection
PHP Manual

EventHttpConnection::setMaxBodySize

(PECL event >= 1.2.6-beta)

EventHttpConnection::setMaxBodySize — Sets maximum body size for the connection

Beschreibung

public void EventHttpConnection::setMaxBodySize ( string $max_size )

Sets maximum body size for the connection.

Parameter-Liste

max_size

The maximum body size in bytes.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • EventHttpConnection::setMaxHeadersSize() - Sets maximum header size
EventHttpConnection::setLocalPort
EventHttpConnection::setMaxHeadersSize
EventHttpConnection


Sets maximum header size

EventHttpConnection::setMaxBodySize
EventHttpConnection::setRetries
EventHttpConnection
PHP Manual

EventHttpConnection::setMaxHeadersSize

(PECL event >= 1.2.6-beta)

EventHttpConnection::setMaxHeadersSize — Sets maximum header size

Beschreibung

public void EventHttpConnection::setMaxHeadersSize ( string $max_size )

Sets maximum header size for the connection.

Parameter-Liste

max_size

The maximum header size in bytes.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • EventHttpConnection::setMaxBodySize() - Sets maximum body size for the connection
EventHttpConnection::setMaxBodySize
EventHttpConnection::setRetries
EventHttpConnection


Sets the retry limit for the connection

EventHttpConnection::setMaxHeadersSize
EventHttpConnection::setTimeout
EventHttpConnection
PHP Manual

EventHttpConnection::setRetries

(PECL event >= 1.2.6-beta)

EventHttpConnection::setRetries — Sets the retry limit for the connection

Beschreibung

public void EventHttpConnection::setRetries ( int $retries )

Sets the retry limit for the connection

Parameter-Liste

retries

The retry limit. -1 means infinity.

Rückgabewerte

Es wird kein Wert zurückgegeben.

EventHttpConnection::setMaxHeadersSize
EventHttpConnection::setTimeout
EventHttpConnection


Sets the timeout for the connection

EventHttpConnection::setRetries
EventHttpRequest
EventHttpConnection
PHP Manual

EventHttpConnection::setTimeout

(PECL event >= 1.2.6-beta)

EventHttpConnection::setTimeout — Sets the timeout for the connection

Beschreibung

public void EventHttpConnection::setTimeout ( int $timeout )

Sets the timeout for the connection

Parameter-Liste

timeout

Timeout in seconds.

Rückgabewerte

Es wird kein Wert zurückgegeben.

EventHttpConnection::setRetries
EventHttpRequest
EventHttpConnection


The EventHttpRequest class

(PECL event >= 1.4.0-beta)

Einführung

Represents an HTTP request.

Klassenbeschreibung

EventHttpRequest {
/* Constants */
const integer CMD_GET = 1 ;
const integer CMD_POST = 2 ;
const integer CMD_HEAD = 4 ;
const integer CMD_PUT = 8 ;
const integer CMD_DELETE = 16 ;
const integer CMD_OPTIONS = 32 ;
const integer CMD_TRACE = 64 ;
const integer CMD_CONNECT = 128 ;
const integer CMD_PATCH = 256 ;
const integer INPUT_HEADER = 1 ;
const integer OUTPUT_HEADER = 2 ;
/* Methoden */
public bool addHeader ( string $key , string $value , int $type )
public void cancel ( void )
public void clearHeaders ( void )
public void closeConnection ( void )
public __construct ( callable $callback [, mixed $data = NULL ] )
public void findHeader ( string $key , string $type )
public void free ( void )
public EventBufferEvent closeConnection ( void )
public void getCommand ( void )
public EventHttpConnection closeConnection ( void )
public string getHost ( void )
public EventBuffer getInputBuffer ( void )
public array getInputHeaders ( void )
public EventBuffer getOutputBuffer ( void )
public void getOutputHeaders ( void )
public int getResponseCode ( void )
public string getUri ( void )
public void removeHeader ( string $key , string $type )
public void sendError ( int $error [, string $reason = NULL ] )
public void sendReply ( int $code , string $reason [, EventBuffer $buf ] )
public void sendReplyChunk ( EventBuffer $buf )
public void sendReplyEnd ( void )
public void sendReplyStart ( int $code , string $reason )
}

Vordefinierte Konstanten

EventHttpRequest::CMD_GET

GET method(command)

EventHttpRequest::CMD_POST

POST method(command)

EventHttpRequest::CMD_HEAD

HEAD method(command)

EventHttpRequest::CMD_PUT

PUT method(command)

EventHttpRequest::CMD_DELETE

DELETE command(method)

EventHttpRequest::CMD_OPTIONS

OPTIONS method(command)

EventHttpRequest::CMD_TRACE

TRACE method(command)

EventHttpRequest::CMD_CONNECT

CONNECT method(command)

EventHttpRequest::CMD_PATCH

PATCH method(command)

EventHttpRequest::INPUT_HEADER

Request input header type.

EventHttpRequest::OUTPUT_HEADER

Request output header type.

Inhaltsverzeichnis

  • EventHttpRequest::addHeader — Adds an HTTP header to the headers of the request
  • EventHttpRequest::cancel — Cancels a pending HTTP request
  • EventHttpRequest::clearHeaders — Removes all output headers from the header list of the request
  • EventHttpRequest::closeConnection — Closes associated HTTP connection
  • EventHttpRequest::__construct — Constructs EventHttpRequest object
  • EventHttpRequest::findHeader — Finds the value belonging a header
  • EventHttpRequest::free — Frees the object and removes associated events
  • EventHttpRequest::getBufferEvent — Returns EventBufferEvent object
  • EventHttpRequest::getCommand — Returns the request command(method)
  • EventHttpRequest::getConnection — Returns EventHttpConnection object
  • EventHttpRequest::getHost — Returns the request host
  • EventHttpRequest::getInputBuffer — Returns the input buffer
  • EventHttpRequest::getInputHeaders — Returns associative array of the input headers
  • EventHttpRequest::getOutputBuffer — Returns the output buffer of the request
  • EventHttpRequest::getOutputHeaders — Returns associative array of the output headers
  • EventHttpRequest::getResponseCode — Returns the response code
  • EventHttpRequest::getUri — Returns the request URI
  • EventHttpRequest::removeHeader — Removes an HTTP header from the headers of the request
  • EventHttpRequest::sendError — Send an HTML error message to the client
  • EventHttpRequest::sendReply — Send an HTML reply to the client
  • EventHttpRequest::sendReplyChunk — Send another data chunk as part of an ongoing chunked reply
  • EventHttpRequest::sendReplyEnd — Complete a chunked reply, freeing the request as appropriate
  • EventHttpRequest::sendReplyStart — Initiate a chunked reply
EventHttpConnection::setTimeout
EventHttpRequest::addHeader
Event


Adds an HTTP header to the headers of the request

EventHttpRequest
EventHttpRequest::cancel
EventHttpRequest
PHP Manual

EventHttpRequest::addHeader

(PECL event >= 1.4.0-beta)

EventHttpRequest::addHeader — Adds an HTTP header to the headers of the request

Beschreibung

public bool EventHttpRequest::addHeader ( string $key , string $value , int $type )

Adds an HTTP header to the headers of the request.

Parameter-Liste

key

Header name.

value

Header value.

type

One of EventHttpRequest::*_HEADER constants .

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

Siehe auch

  • EventHttpRequest::removeHeader() - Removes an HTTP header from the headers of the request
EventHttpRequest
EventHttpRequest::cancel
EventHttpRequest


Cancels a pending HTTP request

EventHttpRequest::addHeader
EventHttpRequest::clearHeaders
EventHttpRequest
PHP Manual

EventHttpRequest::cancel

(PECL event >= 1.4.0-beta)

EventHttpRequest::cancel — Cancels a pending HTTP request

Beschreibung

public void EventHttpRequest::cancel ( void )

Cancels a pending HTTP request.

Cancels an ongoing HTTP request. The callback associated with this request is not executed and the request object is freed. If the request is currently being processed, e.g. it is ongoing, the corresponding EventHttpConnection object is going to get reset.

A request cannot be canceled if its callback has executed already. A request may be canceled reentrantly from its chunked callback.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

EventHttpRequest::addHeader
EventHttpRequest::clearHeaders
EventHttpRequest


Removes all output headers from the header list of the request

EventHttpRequest::cancel
EventHttpRequest::closeConnection
EventHttpRequest
PHP Manual

EventHttpRequest::clearHeaders

(PECL event >= 1.4.0-beta)

EventHttpRequest::clearHeaders — Removes all output headers from the header list of the request

Beschreibung

public void EventHttpRequest::clearHeaders ( void )

Removes all output headers from the header list of the request.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • EventHttpRequest::addHeader() - Adds an HTTP header to the headers of the request
EventHttpRequest::cancel
EventHttpRequest::closeConnection
EventHttpRequest


Closes associated HTTP connection

EventHttpRequest::clearHeaders
EventHttpRequest::__construct
EventHttpRequest
PHP Manual

EventHttpRequest::closeConnection

(PECL event >= 1.8.0)

EventHttpRequest::closeConnection — Closes associated HTTP connection

Beschreibung

public void EventHttpRequest::closeConnection ( void )

Closes HTTP connection associated with the request.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

EventHttpRequest::clearHeaders
EventHttpRequest::__construct
EventHttpRequest


Constructs EventHttpRequest object

EventHttpRequest::closeConnection
EventHttpRequest::findHeader
EventHttpRequest
PHP Manual

EventHttpRequest::__construct

(PECL event >= 1.4.0-beta)

EventHttpRequest::__construct — Constructs EventHttpRequest object

Beschreibung

public EventHttpRequest::__construct ( callable $callback [, mixed $data = NULL ] )

Constructs EventHttpRequest object.

Parameter-Liste

callback

Gets invoked on requesting path. Should match the following prototype:

void callback ([ EventHttpRequest $req = NULL [, mixed $arg = NULL ]] )
data

User custom data passed to the callback.

Rückgabewerte

Returns EventHttpRequest object.

Beispiele

Beispiel #1 EventHttpRequest::__construct() example

<?php

function _request_handler($req, $base) {
    echo __FUNCTION__, PHP_EOL;

    if (is_null($req)) {
        echo "Timed out\n";
    } else {
        $response_code = $req->getResponseCode();

        if ($response_code == 0) {
            echo "Connection refused\n";
        } elseif ($response_code != 200) {
            echo "Unexpected response: $response_code\n";
        } else {
            echo "Success: $response_code\n";
            $buf = $req->getInputBuffer();
            echo "Body:\n";
            while ($s = $buf->readLine(EventBuffer::EOL_ANY)) {
                echo $s, PHP_EOL;
            }
        }
    }

    $base->exit(NULL);
}

$address = "127.0.0.1";
$port = 80;

$base = new EventBase();
$conn = new EventHttpConnection($base, NULL, $address, $port);
$conn->setTimeout(5);
$req = new EventHttpRequest("_request_handler", $base);

$req->addHeader("Host", $address, EventHttpRequest::OUTPUT_HEADER);
$req->addHeader("Content-Length", "0", EventHttpRequest::OUTPUT_HEADER);
$conn->makeRequest($req, EventHttpRequest::CMD_GET, "/index.cphp");

$base->loop();
?>

Siehe auch

  • EventHttpRequest::cancel() - Cancels a pending HTTP request
  • EventHttpRequest::addHeader() - Adds an HTTP header to the headers of the request
EventHttpRequest::closeConnection
EventHttpRequest::findHeader
EventHttpRequest


Finds the value belonging a header

EventHttpRequest::__construct
EventHttpRequest::free
EventHttpRequest
PHP Manual

EventHttpRequest::findHeader

(PECL event >= 1.4.0-beta)

EventHttpRequest::findHeader — Finds the value belonging a header

Beschreibung

public void EventHttpRequest::findHeader ( string $key , string $type )

Finds the value belonging a header.

Parameter-Liste

key

The header name.

type

One of EventHttpRequest::*_HEADER constants .

Rückgabewerte

Returns NULL if header not found.

Siehe auch

  • EventHttpRequest::addHeader() - Adds an HTTP header to the headers of the request
EventHttpRequest::__construct
EventHttpRequest::free
EventHttpRequest


Frees the object and removes associated events

EventHttpRequest::findHeader
EventHttpRequest::getBufferEvent
EventHttpRequest
PHP Manual

EventHttpRequest::free

(PECL event >= 1.4.0-beta)

EventHttpRequest::free — Frees the object and removes associated events

Beschreibung

public void EventHttpRequest::free ( void )

Frees the object and removes associated events.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

EventHttpRequest::findHeader
EventHttpRequest::getBufferEvent
EventHttpRequest


Returns EventBufferEvent object

EventHttpRequest::free
EventHttpRequest::getCommand
EventHttpRequest
PHP Manual

EventHttpRequest::getBufferEvent

(PECL event >= 1.8.0)

EventHttpRequest::getBufferEvent — Returns EventBufferEvent object

Beschreibung

public EventBufferEvent EventHttpRequest::closeConnection ( void )

Returns EventBufferEvent object which represents buffer event that the connection is using.

Warnung

The reference counter of the returned object will be incremented by one to protect internal structures against premature destruction when the method is called from a user callback. So the EventBufferEvent object should be freed explicitly with EventBufferEvent::free() method. Otherwise memory will leak.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns EventBufferEvent object.

Siehe auch

  • EventHttpRequest::getConnection() - Returns EventHttpConnection object
EventHttpRequest::free
EventHttpRequest::getCommand
EventHttpRequest


Returns the request command(method)

EventHttpRequest::getBufferEvent
EventHttpRequest::getConnection
EventHttpRequest
PHP Manual

EventHttpRequest::getCommand

(PECL event >= 1.4.0-beta)

EventHttpRequest::getCommand — Returns the request command(method)

Beschreibung

public void EventHttpRequest::getCommand ( void )

Returns the request command, one of EventHttpRequest::CMD_* constants.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the request command, one of EventHttpRequest::CMD_* constants.

EventHttpRequest::getBufferEvent
EventHttpRequest::getConnection
EventHttpRequest


Returns EventHttpConnection object

EventHttpRequest::getCommand
EventHttpRequest::getHost
EventHttpRequest
PHP Manual

EventHttpRequest::getConnection

(PECL event >= 1.8.0)

EventHttpRequest::getConnection — Returns EventHttpConnection object

Beschreibung

public EventHttpConnection EventHttpRequest::closeConnection ( void )

Returns EventHttpConnection object which represents HTTP connection associated with the request.

Warnung

Libevent API allows HTTP request objects to be not bound to any HTTP connection. Therefore we can't unambiguously associate EventHttpRequest with EventHttpConnection . Thus, we construct EventHttpConnection object on-the-fly. Having no information about the event base, DNS base and connection-close callback, we just leave these fields unset.

EventHttpRequest::getConnection() method is usually useful when we need to set up a callback on connection close. See EventHttpConnection::setCloseCallback() .

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns EventHttpConnection object.

Siehe auch

  • EventHttpConnection::setCloseCallback() - Set callback for connection close
  • EventHttpRequest::getBufferEvent() - Returns EventBufferEvent object
EventHttpRequest::getCommand
EventHttpRequest::getHost
EventHttpRequest


Returns the request host

EventHttpRequest::getConnection
EventHttpRequest::getInputBuffer
EventHttpRequest
PHP Manual

EventHttpRequest::getHost

(PECL event >= 1.4.0-beta)

EventHttpRequest::getHost — Returns the request host

Beschreibung

public string EventHttpRequest::getHost ( void )

Returns the request host.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the request host.

Siehe auch

  • EventHttpRequest::getUri() - Returns the request URI
  • EventHttpRequest::getCommand() - Returns the request command(method)
EventHttpRequest::getConnection
EventHttpRequest::getInputBuffer
EventHttpRequest


Returns the input buffer

EventHttpRequest::getHost
EventHttpRequest::getInputHeaders
EventHttpRequest
PHP Manual

EventHttpRequest::getInputBuffer

(PECL event >= 1.4.0-beta)

EventHttpRequest::getInputBuffer — Returns the input buffer

Beschreibung

public EventBuffer EventHttpRequest::getInputBuffer ( void )

Returns the input buffer.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the input buffer.

Siehe auch

  • EventHttpRequest::getOutputBuffer() - Returns the output buffer of the request
EventHttpRequest::getHost
EventHttpRequest::getInputHeaders
EventHttpRequest


Returns associative array of the input headers

EventHttpRequest::getInputBuffer
EventHttpRequest::getOutputBuffer
EventHttpRequest
PHP Manual

EventHttpRequest::getInputHeaders

(PECL event >= 1.4.0-beta)

EventHttpRequest::getInputHeaders — Returns associative array of the input headers

Beschreibung

public array EventHttpRequest::getInputHeaders ( void )

Returns associative array of the input headers.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns associative array of the input headers.

Siehe auch

  • EventHttpRequest::getOutputHeaders() - Returns associative array of the output headers
EventHttpRequest::getInputBuffer
EventHttpRequest::getOutputBuffer
EventHttpRequest


Returns the output buffer of the request

EventHttpRequest::getInputHeaders
EventHttpRequest::getOutputHeaders
EventHttpRequest
PHP Manual

EventHttpRequest::getOutputBuffer

(PECL event >= 1.4.0-beta)

EventHttpRequest::getOutputBuffer — Returns the output buffer of the request

Beschreibung

public EventBuffer EventHttpRequest::getOutputBuffer ( void )

Returns the output buffer of the request.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the output buffer of the request.

Siehe auch

  • EventHttpRequest::getInputBuffer() - Returns the input buffer
EventHttpRequest::getInputHeaders
EventHttpRequest::getOutputHeaders
EventHttpRequest


Returns associative array of the output headers

EventHttpRequest::getOutputBuffer
EventHttpRequest::getResponseCode
EventHttpRequest
PHP Manual

EventHttpRequest::getOutputHeaders

(PECL event >= 1.4.0-beta)

EventHttpRequest::getOutputHeaders — Returns associative array of the output headers

Beschreibung

public void EventHttpRequest::getOutputHeaders ( void )

Returns associative array of the output headers.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Siehe auch

  • EventHttpRequest::getInputHeaders() - Returns associative array of the input headers
EventHttpRequest::getOutputBuffer
EventHttpRequest::getResponseCode
EventHttpRequest


Returns the response code

EventHttpRequest::getOutputHeaders
EventHttpRequest::getUri
EventHttpRequest
PHP Manual

EventHttpRequest::getResponseCode

(PECL event >= 1.4.0-beta)

EventHttpRequest::getResponseCode — Returns the response code

Beschreibung

public int EventHttpRequest::getResponseCode ( void )

Returns the response code.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the response code of the request.

Siehe auch

  • EventHttpRequest::getCommand() - Returns the request command(method)
  • EventHttpRequest::getHost() - Returns the request host
  • EventHttpRequest::getUri() - Returns the request URI
EventHttpRequest::getOutputHeaders
EventHttpRequest::getUri
EventHttpRequest


Returns the request URI

EventHttpRequest::getResponseCode
EventHttpRequest::removeHeader
EventHttpRequest
PHP Manual

EventHttpRequest::getUri

(PECL event >= 1.4.0-beta)

EventHttpRequest::getUri — Returns the request URI

Beschreibung

public string EventHttpRequest::getUri ( void )

Returns the request URI

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the request URI

Siehe auch

  • EventHttpRequest::getCommand() - Returns the request command(method)
  • EventHttpRequest::getHost() - Returns the request host
  • EventHttpRequest::getResponseCode() - Returns the response code
EventHttpRequest::getResponseCode
EventHttpRequest::removeHeader
EventHttpRequest


Removes an HTTP header from the headers of the request

EventHttpRequest::getUri
EventHttpRequest::sendError
EventHttpRequest
PHP Manual

EventHttpRequest::removeHeader

(PECL event >= 1.4.0-beta)

EventHttpRequest::removeHeader — Removes an HTTP header from the headers of the request

Beschreibung

public void EventHttpRequest::removeHeader ( string $key , string $type )

Removes an HTTP header from the headers of the request.

Parameter-Liste

key

The header name.

type

type is one of EventHttpRequest::*_HEADER constants.

Rückgabewerte

Removes an HTTP header from the headers of the request.

Siehe auch

  • EventHttpRequest::addHeader() - Adds an HTTP header to the headers of the request
EventHttpRequest::getUri
EventHttpRequest::sendError
EventHttpRequest


Send an HTML error message to the client

EventHttpRequest::removeHeader
EventHttpRequest::sendReply
EventHttpRequest
PHP Manual

EventHttpRequest::sendError

(PECL event >= 1.4.0-beta)

EventHttpRequest::sendError — Send an HTML error message to the client

Beschreibung

public void EventHttpRequest::sendError ( int $error [, string $reason = NULL ] )

Send an HTML error message to the client.

Parameter-Liste

error

The HTTP error code.

reason

A brief explanation ofthe error. If NULL, the standard meaning of the error code will be used.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 EventHttpRequest::sendError() example

<?php
function _http_400($req) {
    $req->sendError(400);
}

$base = new EventBase();
$http = new EventHttp($base);

$http->setCallback("/err400", "_http_400");

$http->bind("0.0.0.0", 8010);
$base->loop();
?>

Siehe auch

  • EventHttpRequest::sendReply() - Send an HTML reply to the client
EventHttpRequest::removeHeader
EventHttpRequest::sendReply
EventHttpRequest


Send an HTML reply to the client

EventHttpRequest::sendError
EventHttpRequest::sendReplyChunk
EventHttpRequest
PHP Manual

EventHttpRequest::sendReply

(PECL event >= 1.4.0-beta)

EventHttpRequest::sendReply — Send an HTML reply to the client

Beschreibung

public void EventHttpRequest::sendReply ( int $code , string $reason [, EventBuffer $buf ] )

Send an HTML reply to the client. The body of the reply consists of data in optional buf parameter.

Parameter-Liste

code

The HTTP response code to send.

reason

A brief message to send with the response code.

buf

The body of the response.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • EventHttpRequest::sendError() - Send an HTML error message to the client
  • EventHttpRequest::sendReplyChunk() - Send another data chunk as part of an ongoing chunked reply
EventHttpRequest::sendError
EventHttpRequest::sendReplyChunk
EventHttpRequest


Send another data chunk as part of an ongoing chunked reply

EventHttpRequest::sendReply
EventHttpRequest::sendReplyEnd
EventHttpRequest
PHP Manual

EventHttpRequest::sendReplyChunk

(PECL event >= 1.4.0-beta)

EventHttpRequest::sendReplyChunk — Send another data chunk as part of an ongoing chunked reply

Beschreibung

public void EventHttpRequest::sendReplyChunk ( EventBuffer $buf )

Send another data chunk as part of an ongoing chunked reply. After calling this method buf will be empty.

Parameter-Liste

buf

The data chunk to send as part of the reply.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • EventHttpRequest::sendReplyStart() - Initiate a chunked reply
  • EventHttpRequest::sendReplyEnd() - Complete a chunked reply, freeing the request as appropriate
EventHttpRequest::sendReply
EventHttpRequest::sendReplyEnd
EventHttpRequest


Complete a chunked reply, freeing the request as appropriate

EventHttpRequest::sendReplyChunk
EventHttpRequest::sendReplyStart
EventHttpRequest
PHP Manual

EventHttpRequest::sendReplyEnd

(PECL event >= 1.4.0-beta)

EventHttpRequest::sendReplyEnd — Complete a chunked reply, freeing the request as appropriate

Beschreibung

public void EventHttpRequest::sendReplyEnd ( void )

Complete a chunked reply, freeing the request as appropriate.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • EventHttpRequest::sendReplyStart() - Initiate a chunked reply
  • EventHttpRequest::sendReplyChunk() - Send another data chunk as part of an ongoing chunked reply
EventHttpRequest::sendReplyChunk
EventHttpRequest::sendReplyStart
EventHttpRequest


Initiate a chunked reply

EventHttpRequest::sendReplyEnd
EventListener
EventHttpRequest
PHP Manual

EventHttpRequest::sendReplyStart

(PECL event >= 1.4.0-beta)

EventHttpRequest::sendReplyStart — Initiate a chunked reply

Beschreibung

public void EventHttpRequest::sendReplyStart ( int $code , string $reason )

Initiate a reply that uses Transfer-Encoding chunked .

This allows the caller to stream the reply back to the client and is useful when either not all of the reply data is immediately available or when sending very large replies.

The caller needs to supply data chunks with EventHttpRequest::sendReplyChunk() and complete the reply by calling EventHttpRequest::sendReplyEnd() .

Parameter-Liste

code

The HTTP response code to send.

reason

A brief message to send with the response code.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • EventHttpRequest::sendReplyChunk() - Send another data chunk as part of an ongoing chunked reply
  • EventHttpRequest::sendReplyEnd() - Complete a chunked reply, freeing the request as appropriate
EventHttpRequest::sendReplyEnd
EventListener
EventHttpRequest


The EventListener class

(PECL event >= 1.5.0)

Einführung

Represents a connection listener.

Klassenbeschreibung

final EventListener {
/* Constants */
const integer OPT_LEAVE_SOCKETS_BLOCKING = 1 ;
const integer OPT_CLOSE_ON_FREE = 2 ;
const integer OPT_CLOSE_ON_EXEC = 4 ;
const integer OPT_REUSEABLE = 8 ;
const integer OPT_THREADSAFE = 16 ;
/* Eigenschaften */
public readonly int $fd ;
/* Methoden */
public __construct ( EventBase $base , callable $cb , mixed $data , int $flags , int $backlog , mixed $target )
public bool disable ( void )
public bool enable ( void )
public void getBase ( void )
public static bool getSocketName ( string &$address [, mixed &$port ] )
public void setCallback ( callable $cb [, mixed $arg = NULL ] )
public void setErrorCallback ( string $cb )
}

Eigenschaften

fd

Numeric file descriptor of the underlying socket. (Added in event-1.6.0 .)

Vordefinierte Konstanten

EventListener::OPT_LEAVE_SOCKETS_BLOCKING

By default Libevent turns underlying file descriptors, or sockets, to non-blocking mode. This flag tells to leave them non-blocking.

EventListener::OPT_CLOSE_ON_FREE

If this option is set, the connection listener closes its underlying socket when the EventListener object is freed.

EventListener::OPT_CLOSE_ON_EXEC

If this option is set, the connection listener sets the close-on-exec flag on the underlying listener socket. See platform documentation for fcntl and FD_CLOEXEC for more information.

EventListener::OPT_REUSEABLE

By default on some platforms, once a listener socket is closed, no other socket can bind to the same port until a while has passed. Setting this option makes Libevent mark the socket as reusable, so that once it is closed, another socket can be opened to listen on the same port.

EventListener::OPT_THREADSAFE

Allocate locks for the listener, so that it’s safe to use it from multiple threads.

Inhaltsverzeichnis

  • EventListener::__construct — Creates new connection listener associated with an event base
  • EventListener::disable — Disables an event connect listener object
  • EventListener::enable — Enables an event connect listener object
  • EventListener::getBase — Returns event base associated with the event listener
  • EventListener::getSocketName — Retreives the current address to which the listener's socket is bound.
  • EventListener::setCallback — The setCallback purpose
  • EventListener::setErrorCallback — Set event listener's error callback
EventHttpRequest::sendReplyStart
EventListener::__construct
Event


Creates new connection listener associated with an event base

EventListener
EventListener::disable
EventListener
PHP Manual

EventListener::__construct

(PECL event >= 1.2.6-beta)

EventListener::__construct — Creates new connection listener associated with an event base

Beschreibung

public EventListener::__construct ( EventBase $base , callable $cb , mixed $data , int $flags , int $backlog , mixed $target )

Creates new connection listener associated with an event base.

Parameter-Liste

base

Associated event base.

cb

A callable that will be invoked when new connection received.

data

Custom user data attached to cb .

flags

Bit mask of EventListener::OPT_* constants. See EventListener constants .

backlog

Controls the maximum number of pending connections that the network stack should allow to wait in a not-yet-accepted state at any time; see documentation for your system’s listen function for more details. If backlog is negative, Libevent tries to pick a good value for the backlog ; if it is zero, Event assumes that listen is already called on the socket( target )

target

May be string, socket resource, or a stream associated with a socket. In case if target is a string, the string will be parsed as network address. It will be interpreted as a UNIX domain socket path, if prefixed with 'unix:' , e.g. 'unix:/tmp/my.sock' .

Rückgabewerte

Returns EventListener object representing the event connection listener.

Changelog

Version | Beschreibung
1.5.0 | UNIX domain sockets' support added.

Beispiele

Beispiel #1 EventListener::__construct() example

<?php
/*
 * Simple echo server based on libevent's connection listener.
 *
 * Usage:
 * 1) In one terminal window run:
 *
 * $ php listener.php 9881
 *
 * 2) In another terminal window open up connection, e.g.:
 *
 * $ nc 127.0.0.1 9881
 *
 * 3) start typing. The server should repeat the input.
 */

class MyListenerConnection {
    private $bev, $base;

    public function __destruct() {
        $this->bev->free();
    }

    public function __construct($base, $fd) {
        $this->base = $base;

        $this->bev = new EventBufferEvent($base, $fd, EventBufferEvent::OPT_CLOSE_ON_FREE);

        $this->bev->setCallbacks(array($this, "echoReadCallback"), NULL,
            array($this, "echoEventCallback"), NULL);

        if (!$this->bev->enable(Event::READ)) {
            echo "Failed to enable READ\n";
            return;
        }
    }

    public function echoReadCallback($bev, $ctx) {
        // Copy all the data from the input buffer to the output buffer

        // Variant #1
        $bev->output->addBuffer($bev->input);

        /* Variant #2 */
        /*
        $input    = $bev->getInput();
        $output = $bev->getOutput();
        $output->addBuffer($input);
        */
    }

    public function echoEventCallback($bev, $events, $ctx) {
        if ($events & EventBufferEvent::ERROR) {
            echo "Error from bufferevent\n";
        }

        if ($events & (EventBufferEvent::EOF | EventBufferEvent::ERROR)) {
            //$bev->free();
            $this->__destruct();
        }
    }
}

class MyListener {
    public $base,
        $listener,
        $socket;
    private $conn = array();

    public function __destruct() {
        foreach ($this->conn as &$c) $c = NULL;
    }

    public function __construct($port) {
        $this->base = new EventBase();
        if (!$this->base) {
            echo "Couldn't open event base";
            exit(1);
        }

        // Variant #1
        /*
        $this->socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
        if (!socket_bind($this->socket, '0.0.0.0', $port)) {
            echo "Unable to bind socket\n";
            exit(1);
        }
        $this->listener = new EventListener($this->base,
            array($this, "acceptConnCallback"), $this->base,
            EventListener::OPT_CLOSE_ON_FREE | EventListener::OPT_REUSEABLE,
            -1, $this->socket);
         */

        // Variant #2
         $this->listener = new EventListener($this->base,
             array($this, "acceptConnCallback"), $this->base,
             EventListener::OPT_CLOSE_ON_FREE | EventListener::OPT_REUSEABLE, -1,
             "0.0.0.0:$port");

        if (!$this->listener) {
            echo "Couldn't create listener";
            exit(1);
        }

        $this->listener->setErrorCallback(array($this, "accept_error_cb"));
    }

    public function dispatch() {
        $this->base->dispatch();
    }

    // This callback is invoked when there is data to read on $bev
    public function acceptConnCallback($listener, $fd, $address, $ctx) {
        // We got a new connection! Set up a bufferevent for it. */
        $base = $this->base;
        $this->conn[] = new MyListenerConnection($base, $fd);
    }

    public function accept_error_cb($listener, $ctx) {
        $base = $this->base;

        fprintf(STDERR, "Got an error %d (%s) on the listener. "
            ."Shutting down.\n",
            EventUtil::getLastSocketErrno(),
            EventUtil::getLastSocketError());

        $base->exit(NULL);
    }
}

$port = 9808;

if ($argc > 1) {
    $port = (int) $argv[1];
}
if ($port <= 0 || $port > 65535) {
    exit("Invalid port");
}

$l = new MyListener($port);
$l->dispatch();
?>
EventListener
EventListener::disable
EventListener


Disables an event connect listener object

EventListener::__construct
EventListener::enable
EventListener
PHP Manual

EventListener::disable

(PECL event >= 1.2.6-beta)

EventListener::disable — Disables an event connect listener object

Beschreibung

public bool EventListener::disable ( void )

Disables an event connect listener object

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

Siehe auch

  • EventListener::enable() - Enables an event connect listener object
EventListener::__construct
EventListener::enable
EventListener


Enables an event connect listener object

EventListener::disable
EventListener::getBase
EventListener
PHP Manual

EventListener::enable

(PECL event >= 1.2.6-beta)

EventListener::enable — Enables an event connect listener object

Beschreibung

public bool EventListener::enable ( void )

Enables an event connect listener object

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

Siehe auch

  • EventListener::disable() - Disables an event connect listener object
EventListener::disable
EventListener::getBase
EventListener


Returns event base associated with the event listener

EventListener::enable
EventListener::getSocketName
EventListener
PHP Manual

EventListener::getBase

(PECL event >= 1.2.6-beta)

EventListener::getBase — Returns event base associated with the event listener

Beschreibung

public void EventListener::getBase ( void )

Returns event base associated with the event listener.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns event base associated with the event listener.

EventListener::enable
EventListener::getSocketName
EventListener


Retreives the current address to which the listener's socket is bound.

EventListener::getBase
EventListener::setCallback
EventListener
PHP Manual

EventListener::getSocketName

(PECL event >= 1.5.0)

EventListener::getSocketName — Retreives the current address to which the listener's socket is bound.

Beschreibung

public static bool EventListener::getSocketName ( string &$address [, mixed &$port ] )

Retreives the current address to which the listener's socket is bound.

Parameter-Liste

address

Output parameter. IP-address depending on the socket address family.

port

Output parameter. The port the socket is bound to.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

EventListener::getBase
EventListener::setCallback
EventListener


The setCallback purpose

EventListener::getSocketName
EventListener::setErrorCallback
EventListener
PHP Manual

EventListener::setCallback

(PECL event >= 1.2.6-beta)

EventListener::setCallback — The setCallback purpose

Beschreibung

public void EventListener::setCallback ( callable $cb [, mixed $arg = NULL ] )

Adjust event connect listener's callback and optionally the callback argument.

Parameter-Liste

cb

The new callback for new connections. Ignored if NULL.

Should match the following prototype:

void callback ([ EventListener $listener = NULL [, mixed $fd = NULL [, array $address = NULL [, mixed $arg = NULL ]]]] )

listener

The EventListener object.

fd

The file descriptor or a resource associated with the listener.

address

Array of two elements: IP address and the server port.

arg

User custom data attached to the callback.

arg

Custom user data attached to the callback. Ignored if NULL.

Rückgabewerte

Es wird kein Wert zurückgegeben.

EventListener::getSocketName
EventListener::setErrorCallback
EventListener


Set event listener's error callback

EventListener::setCallback
EventSslContext
EventListener
PHP Manual

EventListener::setErrorCallback

(PECL event >= 1.2.6-beta)

EventListener::setErrorCallback — Set event listener's error callback

Beschreibung

public void EventListener::setErrorCallback ( string $cb )

Set event listener's error callback

Parameter-Liste

cb

The error callback. Should match the following prototype:

void callback ([ EventListener $listener = NULL [, mixed $data = NULL ]] )

listener

The EventListener object.

data

User custom data attached to the callback.

Rückgabewerte

Siehe auch

  • EventListener::setCallback() - The setCallback purpose
EventListener::setCallback
EventSslContext
EventListener


The EventSslContext class

(PECL event >= 1.2.6-beta)

Einführung

Represents SSL_CTX structure. Provides methods and properties to configure the SSL context.

Klassenbeschreibung

final EventSslContext {
/* Constants */
const integer SSLv2_CLIENT_METHOD = 1 ;
const integer SSLv3_CLIENT_METHOD = 2 ;
const integer SSLv23_CLIENT_METHOD = 3 ;
const integer TLS_CLIENT_METHOD = 4 ;
const integer SSLv2_SERVER_METHOD = 5 ;
const integer SSLv3_SERVER_METHOD = 6 ;
const integer SSLv23_SERVER_METHOD = 7 ;
const integer TLS_SERVER_METHOD = 8 ;
const integer OPT_LOCAL_CERT = 1 ;
const integer OPT_LOCAL_PK = 2 ;
const integer OPT_PASSPHRASE = 3 ;
const integer OPT_CA_FILE = 4 ;
const integer OPT_CA_PATH = 5 ;
const integer OPT_ALLOW_SELF_SIGNED = 6 ;
const integer OPT_VERIFY_PEER = 7 ;
const integer OPT_VERIFY_DEPTH = 8 ;
const integer OPT_CIPHERS = 9 ;
/* Eigenschaften */
public string $local_cert ;
public string $local_pk ;
/* Methoden */
public __construct ( string $method , string $options )
}

Eigenschaften

local_cert

Path to local certificate file on filesystem. It must be a PEM-encoded file which contains certificate. It can optionally contain the certificate chain of issuers.

local_pk

Path to local private key file

Vordefinierte Konstanten

EventSslContext::SSLv2_CLIENT_METHOD

SSLv2 client method. See SSL_CTX_new(3) man page.

EventSslContext::SSLv3_CLIENT_METHOD

SSLv3 client method. See SSL_CTX_new(3) man page.

EventSslContext::SSLv23_CLIENT_METHOD

SSLv23 client method. See SSL_CTX_new(3) man page.

EventSslContext::TLS_CLIENT_METHOD

TLS client method. See SSL_CTX_new(3) man page.

EventSslContext::SSLv2_SERVER_METHOD

SSLv2 server method. See SSL_CTX_new(3) man page.

EventSslContext::SSLv3_SERVER_METHOD

SSLv3 server method. See SSL_CTX_new(3) man page.

EventSslContext::SSLv23_SERVER_METHOD

SSLv23 server method. See SSL_CTX_new(3) man page.

EventSslContext::TLS_SERVER_METHOD

TLS server method. See SSL_CTX_new(3) man page.

EventSslContext::OPT_LOCAL_CERT

Key for an item of the options' array used in EventSslContext::__construct() . The option points to path of local certificate.

EventSslContext::OPT_LOCAL_PK

Key for an item of the options' array used in EventSslContext::__construct() . The option points to path of the private key.

EventSslContext::OPT_PASSPHRASE

Key for an item of the options' array used in EventSslContext::__construct() . Represents passphrase of the certificate.

EventSslContext::OPT_CA_FILE

Key for an item of the options' array used in EventSslContext::__construct() . Represents path of the certificate authority file.

EventSslContext::OPT_CA_PATH

Key for an item of the options' array used in EventSslContext::__construct() . Represents path where the certificate authority file should be searched for.

EventSslContext::OPT_ALLOW_SELF_SIGNED

Key for an item of the options' array used in EventSslContext::__construct() . Represents option that allows self-signed certificates.

EventSslContext::OPT_VERIFY_PEER

Key for an item of the options' array used in EventSslContext::__construct() . Represents option that tells Event to verify peer.

EventSslContext::OPT_VERIFY_DEPTH

Key for an item of the options' array used in EventSslContext::__construct() . Represents maximum depth for the certificate chain verification that shall be allowed for the SSL context.

EventSslContext::OPT_CIPHERS

Key for an item of the options' array used in EventSslContext::__construct() . Represents the cipher list for the SSL context.

Inhaltsverzeichnis

  • EventSslContext::__construct — Constructs an OpenSSL context for use with Event classes
EventListener::setErrorCallback
EventSslContext::__construct
Event


Constructs an OpenSSL context for use with Event classes

EventSslContext
EventUtil
EventSslContext
PHP Manual

EventSslContext::__construct

(PECL event >= 1.2.6-beta)

EventSslContext::__construct — Constructs an OpenSSL context for use with Event classes

Beschreibung

public EventSslContext::__construct ( string $method , string $options )

Creates SSL context holding pointer to SSL_CTX (see the system manual).

Parameter-Liste

method

One of EventSslContext::*_METHOD constants .

options

Associative array of SSL context options One of EventSslContext::OPT_* constants .

Rückgabewerte

Returns EventSslContext object.

Beispiele

Beispiel #1 EventSslContext::__construct() example

<?php
$ctx = new EventSslContext(EventSslContext::SSLv3_SERVER_METHOD, array(
     EventSslContext::OPT_LOCAL_CERT        => $local_cert,
     EventSslContext::OPT_LOCAL_PK          => $local_pk,
     EventSslContext::OPT_PASSPHRASE        => "echo server",
     EventSslContext::OPT_VERIFY_PEER       => true,
     EventSslContext::OPT_ALLOW_SELF_SIGNED => false,
));
?>
EventSslContext
EventUtil
EventSslContext


The EventUtil class

(PECL event >= 1.5.0)

Einführung

EventUtil is a singleton with supplimentary methods and constants.

Klassenbeschreibung

final EventUtil {
/* Constants */
const integer AF_INET = 2 ;
const integer AF_INET6 = 10 ;
const integer AF_UNSPEC = 0 ;
const integer LIBEVENT_VERSION_NUMBER = 33559808 ;
const integer SO_DEBUG = 1 ;
const integer SO_REUSEADDR = 2 ;
const integer SO_KEEPALIVE = 9 ;
const integer SO_DONTROUTE = 5 ;
const integer SO_LINGER = 13 ;
const integer SO_BROADCAST = 6 ;
const integer SO_OOBINLINE = 10 ;
const integer SO_SNDBUF = 7 ;
const integer SO_RCVBUF = 8 ;
const integer SO_SNDLOWAT = 19 ;
const integer SO_RCVLOWAT = 18 ;
const integer SO_SNDTIMEO = 21 ;
const integer SO_RCVTIMEO = 20 ;
const integer SO_TYPE = 3 ;
const integer SO_ERROR = 4 ;
const integer SOL_SOCKET = 1 ;
const integer SOL_TCP = 6 ;
const integer SOL_UDP = 17 ;
const integer IPPROTO_IP = 0 ;
const integer IPPROTO_IPV6 = 41 ;
/* Methoden */
abstract public __construct ( void )
public static int getLastSocketErrno ([ mixed $socket = NULL ] )
public static string getLastSocketError ([ mixed $socket ] )
public static int getSocketFd ( mixed $socket )
public static bool getSocketName ( mixed $socket , string &$address [, mixed &$port ] )
public static bool setSocketOption ( mixed $socket , int $level , int $optname , mixed $optval )
public static void sslRandPoll ( void )
}

Vordefinierte Konstanten

EventUtil::AF_INET

IPv4 address family

EventUtil::AF_INET6

IPv6 address family

EventUtil::AF_UNSPEC

Unspecified IP address family

EventUtil::SO_DEBUG

Socket option. Enable socket debugging. Only allowed for processes with the CAP_NET_ADMIN capability or an effective user ID of 0 . (Added in event-1.6.0.)

EventUtil::SO_REUSEADDR

Socket option. Indicates that the rules used in validating addresses supplied in a bind(2) call should allow reuse of local addresses. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_KEEPALIVE

Socket option. Enable sending of keep-alive messages on connection-oriented sockets. Expects an integer boolean flag. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_DONTROUTE

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_LINGER

Socket option. When enabled, a close(2) or shutdown(2) will not return until all queued messages for the socket have been successfully sent or the linger timeout has been reached. Otherwise, the call returns immediately and the closing is done in the background. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_BROADCAST

Socket option. Reports whether transmission of broadcast messages is supported. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_OOBINLINE

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_SNDBUF

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_RCVBUF

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_SNDLOWAT

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_RCVLOWAT

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_SNDTIMEO

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_RCVTIMEO

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_TYPE

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_ERROR

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SOL_SOCKET

Socket option level. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SOL_TCP

Socket option level. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SOL_UDP

Socket option level. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::IPPROTO_IP

See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::IPPROTO_IPV6

See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::LIBEVENT_VERSION_NUMBER

Libevent' version number at the time when Event extension had been compiled with the library.

Inhaltsverzeichnis

  • EventUtil::__construct — The abstract constructor
  • EventUtil::getLastSocketErrno — Returns the most recent socket error number
  • EventUtil::getLastSocketError — Returns the most recent socket error
  • EventUtil::getSocketFd — Returns numeric file descriptor of a socket, or stream
  • EventUtil::getSocketName — Retreives the current address to which the socket is bound.
  • EventUtil::setSocketOption — Sets socket options
  • EventUtil::sslRandPoll — Generates entropy by means of OpenSSL's RAND_poll()
EventSslContext::__construct
EventUtil::__construct
Event


The abstract constructor

EventUtil
EventUtil::getLastSocketErrno
EventUtil
PHP Manual

EventUtil::__construct

(PECL event >= 1.2.6-beta)

EventUtil::__construct — The abstract constructor

Beschreibung

abstract public EventUtil::__construct ( void )

EventUtil is a singleton. Therefore the constructor is abstract, and it is impossible to create objects based on this class.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

EventUtil
EventUtil::getLastSocketErrno
EventUtil


Returns the most recent socket error number

EventUtil::__construct
EventUtil::getLastSocketError
EventUtil
PHP Manual

EventUtil::getLastSocketErrno

(PECL event >= 1.2.6-beta)

EventUtil::getLastSocketErrno — Returns the most recent socket error number

Beschreibung

public static int EventUtil::getLastSocketErrno ([ mixed $socket = NULL ] )

Returns the most recent socket error number( errno ).

Parameter-Liste

socket

Socket resource, stream or a file descriptor of a socket.

Rückgabewerte

Returns the most recent socket error number( errno ).

Siehe auch

  • EventUtil::getLastSocketError() - Returns the most recent socket error
EventUtil::__construct
EventUtil::getLastSocketError
EventUtil


Returns the most recent socket error

EventUtil::getLastSocketErrno
EventUtil::getSocketFd
EventUtil
PHP Manual

EventUtil::getLastSocketError

(PECL event >= 1.2.6-beta)

EventUtil::getLastSocketError — Returns the most recent socket error

Beschreibung

public static string EventUtil::getLastSocketError ([ mixed $socket ] )

Returns the most recent socket error.

Parameter-Liste

socket

Socket resource, stream or a file descriptor of a socket.

Rückgabewerte

Returns the most recent socket error.

Siehe auch

  • EventUtil::getLastSocketErrno() - Returns the most recent socket error number
EventUtil::getLastSocketErrno
EventUtil::getSocketFd
EventUtil


Returns numeric file descriptor of a socket, or stream

EventUtil::getLastSocketError
EventUtil::getSocketName
EventUtil
PHP Manual

EventUtil::getSocketFd

(PECL event >= 1.7.0)

EventUtil::getSocketFd — Returns numeric file descriptor of a socket, or stream

Beschreibung

public static int EventUtil::getSocketFd ( mixed $socket )

Returns numeric file descriptor of a socket or stream specified by socket argument just like the Event extension does it internally for all methods accepting socket resource or stream.

Parameter-Liste

socket

Socket resource or stream.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE. EventUtil::getSocketFd() returns FALSE in case if it is whether failed to recognize the type of the underlying file, or detected that the file descriptor associated with socket is not valid.

EventUtil::getLastSocketError
EventUtil::getSocketName
EventUtil


Retreives the current address to which the socket is bound.

EventUtil::getSocketFd
EventUtil::setSocketOption
EventUtil
PHP Manual

EventUtil::getSocketName

(PECL event >= 1.5.0)

EventUtil::getSocketName — Retreives the current address to which the socket is bound.

Beschreibung

public static bool EventUtil::getSocketName ( mixed $socket , string &$address [, mixed &$port ] )

Retreives the current address to which the socket is bound.

Parameter-Liste

socket

Socket resource, stream or a file descriptor of a socket.

address

Output parameter. IP-address, or the UNIX domain socket path depending on the socket address family.

port

Output parameter. The port the socket is bound to. Has no meaning for UNIX domain sockets.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

EventUtil::getSocketFd
EventUtil::setSocketOption
EventUtil


Sets socket options

EventUtil::getSocketName
EventUtil::sslRandPoll
EventUtil
PHP Manual

EventUtil::setSocketOption

(PECL event >= 1.6.0)

EventUtil::setSocketOption — Sets socket options

Beschreibung

public static bool EventUtil::setSocketOption ( mixed $socket , int $level , int $optname , mixed $optval )

Sets socket options.

Parameter-Liste

socket

Socket resource, stream, or numeric file descriptor associated with the socket.

level

One of EventUtil::SOL_* constants. Specifies the protocol level at which the option resides. For example, to retrieve options at the socket level, a level parameter of EventUtil::SOL_SOCKET would be used. Other levels, such as TCP, can be used by specifying the protocol number of that level. Protocol numbers can be found by using the getprotobyname() function. See EventUtil constants .

optname

Option name(type). Has the same meaning as corresponding parameter of socket_get_option() function. See EventUtil constants .

optval

Accepts the same values as optval parameter of the socket_get_option() function.

Rückgabewerte

Returns TRUE on success. Otherwise FALSE.

Siehe auch

  • socket_get_option() - Holt die Socket-Optionen für einen Socket
  • socket_set_option() - Setzt die Optionen für einen Socket
EventUtil::getSocketName
EventUtil::sslRandPoll
EventUtil


Generates entropy by means of OpenSSL's RAND_poll()

EventUtil::setSocketOption
FAM
EventUtil
PHP Manual

EventUtil::sslRandPoll

(PECL event >= 1.2.6-beta)

EventUtil::sslRandPoll — Generates entropy by means of OpenSSL's RAND_poll()

Beschreibung

public static void EventUtil::sslRandPoll ( void )

Generates entropy by means of OpenSSL's RAND_poll() (see the system manual).

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

EventUtil::setSocketOption
FAM
EventUtil


File Alteration Monitor

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • FAM Funktionen
    • fam_cancel_monitor — Terminate monitoring
    • fam_close — Close FAM connection
    • fam_monitor_collection — Monitor a collection of files in a directory for changes
    • fam_monitor_directory — Monitor a directory for changes
    • fam_monitor_file — Monitor a regular file for changes
    • fam_next_event — Get next pending FAM event
    • fam_open — Open connection to FAM daemon
    • fam_pending — Check for pending FAM events
    • fam_resume_monitor — Resume suspended monitoring
    • fam_suspend_monitor — Temporarily suspend monitoring
EventUtil::sslRandPoll
Einführung
Sonstige Dienste


Einführung

FAM monitors files and directories, notifying interested applications of changes. More information about FAM is available at » http://oss.sgi.com/projects/fam/.

A PHP script may specify a list of files for FAM to monitor using the functions provided by this extension.

The FAM process is started when the first connection from any application to it is opened. It exits after all connections to it have been closed.

Hinweis:

Diese Erweiterung wurde ins » PECL-Repositorium verschoben und ist nicht mehr Teil von PHP ab PHP 5.1.0.

Hinweis: Diese Erweiterung steht auf Windows-Betriebssystemen nicht zur Verfügung.

FAM
Installation/Konfiguration
FAM


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
FAM


Anforderungen

This extension uses the functions of the » FAM library, developed by SGI. Therefore you have to download and install the FAM library.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese Erweiterung wird als nicht mehr gepflegt betrachtet und es gibt dort keine Aktivität mehr. Der Quellcode für diese Erweiterung steht jedoch weiterhin innerhalb des PECL SVN hier zur Verfügung: » http://svn.php.net/viewvc/pecl/fam.

Diese Erweiterung wurde ins » PECL-Repositorium verschoben und ist nicht mehr Teil von PHP ab PHP 5.1.0

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Ressource-Typen

There are two resource types used in the FAM module. The first one is the connection to the FAM service returned by fam_open(), the second a monitoring resource returned by the fam_monitor_XXX functions.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

FAM event constants
Constant | Description
FAMChanged (integer) | Some value which can be obtained with fstat(1) changed for a file or directory.
FAMDeleted (integer) | A file or directory was deleted or renamed.
FAMStartExecuting (integer) | An executable file started executing.
FAMStopExecuting (integer) | An executable file that was running finished.
FAMCreated (integer) | A file was created in a directory.
FAMMoved (integer) | This event never occurs.
FAMAcknowledge (integer) | An event in response to fam_cancel_monitor().
FAMExists (integer) | An event upon request to monitor a file or directory. When a directory is monitored, an event for that directory and every file contained in that directory is issued.
FAMEndExist (integer) | Event after the last FAMEExists event.
Ressource-Typen
FAM Funktionen
FAM


FAM Funktionen

Inhaltsverzeichnis

  • fam_cancel_monitor — Terminate monitoring
  • fam_close — Close FAM connection
  • fam_monitor_collection — Monitor a collection of files in a directory for changes
  • fam_monitor_directory — Monitor a directory for changes
  • fam_monitor_file — Monitor a regular file for changes
  • fam_next_event — Get next pending FAM event
  • fam_open — Open connection to FAM daemon
  • fam_pending — Check for pending FAM events
  • fam_resume_monitor — Resume suspended monitoring
  • fam_suspend_monitor — Temporarily suspend monitoring
Vordefinierte Konstanten
fam_cancel_monitor
FAM


Terminate monitoring

FAM Funktionen
fam_close
FAM Funktionen
PHP Manual

fam_cancel_monitor

(PHP 5 <= 5.0.5)

fam_cancel_monitor — Terminate monitoring

Beschreibung

bool fam_cancel_monitor ( resource $fam , resource $fam_monitor )

Terminates monitoring on a resource.

In addition an FAMAcknowledge event occurs.

Parameter-Liste

fam

A resource representing a connection to the FAM service returned by fam_open()

fam_monitor

A resource returned by one of the fam_monitor_XXX functions

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • fam_monitor_file() - Monitor a regular file for changes
  • fam_monitor_directory() - Monitor a directory for changes
  • fam_monitor_collection() - Monitor a collection of files in a directory for changes
  • fam_suspend_monitor() - Temporarily suspend monitoring

FAM Funktionen
fam_close
FAM Funktionen


Close FAM connection

fam_cancel_monitor
fam_monitor_collection
FAM Funktionen
PHP Manual

fam_close

(PHP 5 <= 5.0.5)

fam_close — Close FAM connection

Beschreibung

void fam_close ( resource $fam )

Closes a connection to the FAM service.

Parameter-Liste

fam

A resource representing a connection to the FAM service returned by fam_open()

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • fam_monitor_open()

fam_cancel_monitor
fam_monitor_collection
FAM Funktionen


Monitor a collection of files in a directory for changes

fam_close
fam_monitor_directory
FAM Funktionen
PHP Manual

fam_monitor_collection

(PHP 5 <= 5.0.5)

fam_monitor_collection — Monitor a collection of files in a directory for changes

Beschreibung

resource fam_monitor_collection ( resource $fam , string $dirname , int $depth , string $mask )

Requests monitoring for a collection of files within a directory.

A FAM event will be generated whenever the status of the files change. The possible event codes are described in detail in the constants part of this section.

Parameter-Liste

fam

A resource representing a connection to the FAM service returned by fam_open()

dirname

Directory path to the monitored files

depth

The maximum search depth starting from this directory

mask

A shell pattern mask restricting the file names to look for

Rückgabewerte

Returns a monitoring resource or FALSE on errors.

Siehe auch

  • fam_monitor_file() - Monitor a regular file for changes
  • fam_monitor_directory() - Monitor a directory for changes
  • fam_cancel_monitor() - Terminate monitoring
  • fam_suspend_monitor() - Temporarily suspend monitoring
  • fam_resume_monitor() - Resume suspended monitoring

fam_close
fam_monitor_directory
FAM Funktionen


Monitor a directory for changes

fam_monitor_collection
fam_monitor_file
FAM Funktionen
PHP Manual

fam_monitor_directory

(PHP 5 <= 5.0.5)

fam_monitor_directory — Monitor a directory for changes

Beschreibung

resource fam_monitor_directory ( resource $fam , string $dirname )

Requests monitoring for a directory and all contained files.

A FAM event will be generated whenever the status of the directory (i.e. the result of function stat() on that directory) or its content (i.e. the results of readdir()) changes.

The possible event codes are described in detail in the constants part of this section.

Parameter-Liste

fam

A resource representing a connection to the FAM service returned by fam_open()

dirname

Path to the monitored directory

Rückgabewerte

Returns a monitoring resource or FALSE on errors.

Siehe auch

  • fam_monitor_file() - Monitor a regular file for changes
  • fam_monitor_collection() - Monitor a collection of files in a directory for changes
  • fam_cancel_monitor() - Terminate monitoring
  • fam_suspend_monitor() - Temporarily suspend monitoring
  • fam_resume_monitor() - Resume suspended monitoring

fam_monitor_collection
fam_monitor_file
FAM Funktionen


Monitor a regular file for changes

fam_monitor_directory
fam_next_event
FAM Funktionen
PHP Manual

fam_monitor_file

(PHP 5 <= 5.0.5)

fam_monitor_file — Monitor a regular file for changes

Beschreibung

resource fam_monitor_file ( resource $fam , string $filename )

Requests monitoring for a single file. A FAM event will be generated whenever the file status changes (i.e. the result of function stat() on that file).

The possible event codes are described in detail in the constants part of this section.

Parameter-Liste

fam

A resource representing a connection to the FAM service returned by fam_open()

filename

Path to the monitored file

Rückgabewerte

Returns a monitoring resource or FALSE on errors.

Siehe auch

  • fam_monitor_directory() - Monitor a directory for changes
  • fam_monitor_collection() - Monitor a collection of files in a directory for changes
  • fam_cancel_monitor() - Terminate monitoring
  • fam_suspend_monitor() - Temporarily suspend monitoring
  • fam_resume_monitor() - Resume suspended monitoring

fam_monitor_directory
fam_next_event
FAM Funktionen


Get next pending FAM event

fam_monitor_file
fam_open
FAM Funktionen
PHP Manual

fam_next_event

(PHP 5 <= 5.0.5)

fam_next_event — Get next pending FAM event

Beschreibung

array fam_next_event ( resource $fam )

Returns the next pending FAM event.

The function will block until an event is available which can be checked for using fam_pending().

Parameter-Liste

fam

A resource representing a connection to the FAM service returned by fam_open()

Rückgabewerte

Returns an array that contains a FAM event code in the 'code' element, the path of the file this event applies to in the 'filename' element and optionally a hostname in the 'hostname' element.

The possible event codes are described in detail in the constants part of this section.

Siehe auch

  • fam_pending() - Check for pending FAM events

fam_monitor_file
fam_open
FAM Funktionen


Open connection to FAM daemon

fam_next_event
fam_pending
FAM Funktionen
PHP Manual

fam_open

(PHP 5 <= 5.0.5)

fam_open — Open connection to FAM daemon

Beschreibung

resource fam_open ([ string $appname ] )

Opens a connection to the FAM service daemon.

Parameter-Liste

appname

A string identifying the application for logging reasons

Rückgabewerte

Returns a resource representing a connection to the FAM service on success or FALSE on errors.

Siehe auch

  • fam_close() - Close FAM connection

fam_next_event
fam_pending
FAM Funktionen


Check for pending FAM events

fam_open
fam_resume_monitor
FAM Funktionen
PHP Manual

fam_pending

(PHP 5 <= 5.0.5)

fam_pending — Check for pending FAM events

Beschreibung

int fam_pending ( resource $fam )

Checks for pending FAM events.

Parameter-Liste

fam

A resource representing a connection to the FAM service returned by fam_open()

Rückgabewerte

Returns non-zero if events are available to be fetched using fam_next_event(), zero otherwise.

Siehe auch

  • fam_next_event() - Get next pending FAM event

fam_open
fam_resume_monitor
FAM Funktionen


Resume suspended monitoring

fam_pending
fam_suspend_monitor
FAM Funktionen
PHP Manual

fam_resume_monitor

(PHP 5 <= 5.0.5)

fam_resume_monitor — Resume suspended monitoring

Beschreibung

bool fam_resume_monitor ( resource $fam , resource $fam_monitor )

Resumes monitoring of a resource previously suspended using fam_suspend_monitor().

Parameter-Liste

fam

A resource representing a connection to the FAM service returned by fam_open()

fam_monitor

A resource returned by one of the fam_monitor_XXX functions

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • fam_suspend_monitor() - Temporarily suspend monitoring

fam_pending
fam_suspend_monitor
FAM Funktionen


Temporarily suspend monitoring

fam_resume_monitor
FTP
FAM Funktionen
PHP Manual

fam_suspend_monitor

(PHP 5 <= 5.0.5)

fam_suspend_monitor — Temporarily suspend monitoring

Beschreibung

bool fam_suspend_monitor ( resource $fam , resource $fam_monitor )

fam_suspend_monitor() temporarily suspend monitoring of a resource.

Monitoring can later be continued using fam_resume_monitor() without the need of requesting a complete new monitor.

Parameter-Liste

fam

A resource representing a connection to the FAM service returned by fam_open()

fam_monitor

A resource returned by one of the fam_monitor_XXX functions

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • fam_cancel_monitor() - Terminate monitoring
  • fam_resume_monitor() - Resume suspended monitoring

fam_resume_monitor
FTP
FAM Funktionen


FTP

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • Allgemeine Verwendung
  • FTP-Funktionen
    • ftp_alloc — Reserviert Platz für eine hochzuladende Datei
    • ftp_cdup — Wechselt in das darüberliegende Verzeichnis
    • ftp_chdir — Verzeichnis-Wechsel auf einem FTP-Server
    • ftp_chmod — Ändert die Zugriffsrechte einer Datei über FTP
    • ftp_close — Schließt eine FTP-Verbindung
    • ftp_connect — Stellt eine FTP-Verbindung her
    • ftp_delete — Löscht eine Datei auf dem FTP-Server
    • ftp_exec — Fordert die Ausführung eines Programmes auf dem FTP-Server an
    • ftp_fget — Lädt eine Datei vom FTP-Server und speichert sie in eine geöffnete Datei
    • ftp_fput — Überträgt eine geöffnete Datei auf einen FTP-Server
    • ftp_get_option — Ruft diverse Laufzeitoptionen des angegebenen FTP-Streams ab
    • ftp_get — Lädt eine Datei von einem FTP-Server herunter
    • ftp_login — Anmelden einer FTP-Verbindung (Login)
    • ftp_mdtm — Gibt den Zeitpunkt der letzten Änderung der angegebenen Datei zurück
    • ftp_mkdir — Erzeugt ein Verzeichnis
    • ftp_nb_continue — Nimmt die Übertragung einer Datei wieder auf (nicht-blockierend)
    • ftp_nb_fget — Lädt eine Datei vom FTP-Server und schreibt sie in eine lokale Datei (nicht-blockierend)
    • ftp_nb_fput — Speichert eine geöffnete Datei auf den FTP-Server (nicht blockierend)
    • ftp_nb_get — Überträgt eine Datei von dem FTP-Server und speichert sie lokal (nicht blockierend)
    • ftp_nb_put — Speichert eine Datei auf dem FTP-Server (nicht-blockierend)
    • ftp_nlist — Gibt eine Liste der im angegebenen Verzeichnis enthaltenen Dateien zurück
    • ftp_pasv — Schaltet den passiven Modus ein oder aus
    • ftp_put — Lädt eine Datei auf einen FTP-Server
    • ftp_pwd — Gibt den aktuellen Verzeichnisnamen zurück
    • ftp_quit — Alias von ftp_close
    • ftp_raw — Sendet ein beliebiges Kommando an den FTP-Server
    • ftp_rawlist — Gibt eine detaillierte Liste der Dateien in einem angegebenen Verzeichnis zurück
    • ftp_rename — Benennt eine Datei auf dem FTP-Server um
    • ftp_rmdir — Löscht ein Verzeichnis
    • ftp_set_option — Setzt diverse FTP-Laufzeitoptionen
    • ftp_site — Sendet ein SITE-Kommando zum Server
    • ftp_size — Gibt die Größe der angegebenen Datei zurück
    • ftp_ssl_connect — Öffnet eine sichere SSL-FTP-Verbindung
    • ftp_systype — Gibt den Systemtyp des entfernten FTP-Servers zurück
fam_suspend_monitor
Einführung
Sonstige Dienste


Einführung

Die Funktionen dieser Erweiterung implementieren den Zugriff auf Server über das File Transfer Protocol (FTP), wie unter » http://www.faqs.org/rfcs/rfc959 definiert. Diese Erweiterung ist gedacht für detaillierten Zugriff auf einen FTP-Server, so dass dem ausführenden Skript die größtmögliche Kontrolle ermöglicht wird. Wenn Sie ausschließlich eine Datei von einem FTP-Server lesen oder schreiben wollen, sollten Sie die Verwendung der ftp://-Wrapper zusammen mit den Dateiystem-Funktionen in Betracht ziehen. Dies ermöglicht einen einfacheren und intuitiveren Zugriff.

FTP
Installation/Konfiguration
FTP


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
FTP


Installation

Um die FTP-Funktionen zu verwenden, muss die Option --enable-ftp bei der Installation von PHP verwendet werden.

Die Windowsversion von PHP enthält diese Erweiterung. Um diese Funktionen zu verwenden, müssen Sie keine zusätzlichen Erweiterungen aktivieren.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Ressource-Typen

Diese Erweiterung verwendet ausschließlich einen Ressourcen-Typ und zwar den Link-Identifier der FTP-Verbindung, der von ftp_connect() oder ftp_ssl_connect() zurückgeliefert wird.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

FTP_ASCII (integer)

FTP_TEXT (integer)

FTP_BINARY (integer)

FTP_IMAGE (integer)

FTP_TIMEOUT_SEC (integer)

Weitere Informationen finden Sie unter ftp_set_option().

Die folgenden Konstanten existieren seit PHP 4.3.0.

FTP_AUTOSEEK (integer)

Weitere Informationen finden Sie unter ftp_set_option().

FTP_AUTORESUME (integer)

Ermittelt automatisch die Position zum Starten und Fortsetzen bei GET- und PUT-Befehlen (funktioniert nur wenn FTP_AUTOSEEK aktiviert ist)

FTP_FAILED (integer)

Die asynchrone Übertragung ist fehlgeschlagen

FTP_FINISHED (integer)

Die asynchrone Übertragung ist beendet

FTP_MOREDATA (integer)

Die asynchrone Übertragung läuft noch

Ressource-Typen
Beispiele
FTP


Beispiele

Inhaltsverzeichnis

  • Allgemeine Verwendung
Vordefinierte Konstanten
Allgemeine Verwendung
FTP


Allgemeine Verwendung

Beispiel #1 FTP-Beispiel

<?php
// Verbindung aufbauen
$conn_id = ftp_connect($ftp_server);

// Login mit Benutzername und Passwort
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Verbindung überprüfen
if ((!$conn_id) || (!$login_result)) {
    echo "FTP-Verbindung ist fehlgeschlagen!";
    echo "Verbindungsaufbau zu $ftp_server mit Benutzername $ftp_user_name versucht.";
    exit;
} else {
    echo "Verbunden zu $ftp_server mit Benutzername $ftp_user_name";
}

// Datei hochladen
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);

// Upload überprüfen
if (!$upload) {
    echo "FTP-Upload ist fehlgeschlagen!";
} else {
    echo "Datei $source_file auf Server $ftp_server als $destination_file hochgeladen";
}

// Verbindung schließen
ftp_close($conn_id);
?>

Beispiele
FTP-Funktionen
Beispiele


FTP-Funktionen

Inhaltsverzeichnis

  • ftp_alloc — Reserviert Platz für eine hochzuladende Datei
  • ftp_cdup — Wechselt in das darüberliegende Verzeichnis
  • ftp_chdir — Verzeichnis-Wechsel auf einem FTP-Server
  • ftp_chmod — Ändert die Zugriffsrechte einer Datei über FTP
  • ftp_close — Schließt eine FTP-Verbindung
  • ftp_connect — Stellt eine FTP-Verbindung her
  • ftp_delete — Löscht eine Datei auf dem FTP-Server
  • ftp_exec — Fordert die Ausführung eines Programmes auf dem FTP-Server an
  • ftp_fget — Lädt eine Datei vom FTP-Server und speichert sie in eine geöffnete Datei
  • ftp_fput — Überträgt eine geöffnete Datei auf einen FTP-Server
  • ftp_get_option — Ruft diverse Laufzeitoptionen des angegebenen FTP-Streams ab
  • ftp_get — Lädt eine Datei von einem FTP-Server herunter
  • ftp_login — Anmelden einer FTP-Verbindung (Login)
  • ftp_mdtm — Gibt den Zeitpunkt der letzten Änderung der angegebenen Datei zurück
  • ftp_mkdir — Erzeugt ein Verzeichnis
  • ftp_nb_continue — Nimmt die Übertragung einer Datei wieder auf (nicht-blockierend)
  • ftp_nb_fget — Lädt eine Datei vom FTP-Server und schreibt sie in eine lokale Datei (nicht-blockierend)
  • ftp_nb_fput — Speichert eine geöffnete Datei auf den FTP-Server (nicht blockierend)
  • ftp_nb_get — Überträgt eine Datei von dem FTP-Server und speichert sie lokal (nicht blockierend)
  • ftp_nb_put — Speichert eine Datei auf dem FTP-Server (nicht-blockierend)
  • ftp_nlist — Gibt eine Liste der im angegebenen Verzeichnis enthaltenen Dateien zurück
  • ftp_pasv — Schaltet den passiven Modus ein oder aus
  • ftp_put — Lädt eine Datei auf einen FTP-Server
  • ftp_pwd — Gibt den aktuellen Verzeichnisnamen zurück
  • ftp_quit — Alias von ftp_close
  • ftp_raw — Sendet ein beliebiges Kommando an den FTP-Server
  • ftp_rawlist — Gibt eine detaillierte Liste der Dateien in einem angegebenen Verzeichnis zurück
  • ftp_rename — Benennt eine Datei auf dem FTP-Server um
  • ftp_rmdir — Löscht ein Verzeichnis
  • ftp_set_option — Setzt diverse FTP-Laufzeitoptionen
  • ftp_site — Sendet ein SITE-Kommando zum Server
  • ftp_size — Gibt die Größe der angegebenen Datei zurück
  • ftp_ssl_connect — Öffnet eine sichere SSL-FTP-Verbindung
  • ftp_systype — Gibt den Systemtyp des entfernten FTP-Servers zurück
Allgemeine Verwendung
ftp_alloc
FTP


Reserviert Platz für eine hochzuladende Datei

FTP-Funktionen
ftp_cdup
FTP-Funktionen
PHP Manual

ftp_alloc

(PHP 5, PHP 7)

ftp_alloc — Reserviert Platz für eine hochzuladende Datei

Beschreibung

bool ftp_alloc ( resource $ftp_stream , int $filesize [, string &$result ] )

Sendet ein ALLO-Kommando an den entfernten FTP-Server, um Platz für eine hochzuladende Datei zu reservieren.

Hinweis:

Viele FTP-Server unterstützen dieses Kommando nicht. Diese Server können einen Fehlercode (FALSE) zurückgegeben, der angibt, dass das Kommando nicht unterstützt wird, oder einen Erfolgscode (TRUE), der angibt, dass die Reservierung nicht notwendig ist und dass der Client so weiterarbeiten soll als wenn die Operation erfolgreich gewesen wäre. Daher ist es am besten, diese Funktion nur für Server zu verwenden, die die Reservierung explizit unterstützen.

Parameter-Liste

ftp_stream

Der Verbindungshandler der FTP-Verbindung.

filesize

Die Anzahl der zu reservierenden Bytes.

result

Eine Textrepräsentation der Serverantwort wird als Referenz in result zurückgegeben, wenn eine Variable übergeben wird.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 ftp_alloc()-Beispiel

<?php

$file = "/home/user/myfile";

// Verbindung aufbauen
$conn_id = ftp_connect('ftp.example.com');
$login_result = ftp_login($conn_id, 'anonymous', 'user@example.com');

if (ftp_alloc($conn_id, filesize($file), $result)) {
  echo "Platz wurde erfolgreich auf dem Server reseviert. $file wird gesendet.\n";
  ftp_put($conn_id, '/incomming/myfile', $file, FTP_BINARY);
} else {
  echo "Platz konnte nicht auf dem Server reserviert werden. Serverantwort: $result\n";
}

ftp_close($conn_id);

?>

Siehe auch

  • ftp_put() - Lädt eine Datei auf einen FTP-Server
  • ftp_fput() - Überträgt eine geöffnete Datei auf einen FTP-Server

FTP-Funktionen
ftp_cdup
FTP-Funktionen


Wechselt in das darüberliegende Verzeichnis

ftp_alloc
ftp_chdir
FTP-Funktionen
PHP Manual

ftp_cdup

(PHP 4, PHP 5, PHP 7)

ftp_cdup — Wechselt in das darüberliegende Verzeichnis

Beschreibung

bool ftp_cdup ( resource $ftp_stream )

Wechselt eine Verzeichnisebene nach oben.

Parameter-Liste

ftp_stream

Der Verbindungshandler der FTP-Verbindung.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 ftp_cdup()-Beispiel

<?php
// Verbindung aufbauen
$conn_id = ftp_connect($ftp_server);

// Login mit Benutzername und Passwort
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Wechsele vom aktuellen Verzeichnis nach 'html'
ftp_chdir($conn_id, 'html');

echo ftp_pwd($conn_id); // /html

// in das darüberliegende Verzeichnis zurückspringen
if (ftp_cdup($conn_id)) {
  echo "cdup erfolgreich\n";
} else {
  echo "cdup nicht erfolgreich\n";
}

echo ftp_pwd($conn_id); // /

ftp_close($conn_id);
?>

Siehe auch

  • ftp_chdir() - Verzeichnis-Wechsel auf einem FTP-Server
  • ftp_pwd() - Gibt den aktuellen Verzeichnisnamen zurück

ftp_alloc
ftp_chdir
FTP-Funktionen


Verzeichnis-Wechsel auf einem FTP-Server

ftp_cdup
ftp_chmod
FTP-Funktionen
PHP Manual

ftp_chdir

(PHP 4, PHP 5, PHP 7)

ftp_chdir — Verzeichnis-Wechsel auf einem FTP-Server

Beschreibung

bool ftp_chdir ( resource $ftp_stream , string $directory )

Wechselt vom aktuellen Verzeichnis in das angegebene Verzeichnis.

Parameter-Liste

ftp_stream

Der Verbindungshandler der FTP-Verbindung.

directory

Das Verzeichnis, in das gewechselt werden soll.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. Wenn der Verzeichnis-Wechsel fehlschlägt, wird eine PHP-Warnung ausgegeben.

Beispiele

Beispiel #1 ftp_chdir()-Beispiel

<?php

// Verbindung aufbauen
$conn_id = ftp_connect($ftp_server);

// Login mit Benutzername und Passwort
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Verbindung überprüfen
if ((!$conn_id) || (!$login_result)) {
    die("FTP-Verbindungsaufbau ist fehlgeschlagen!");
}

echo "Aktuelles Verzeichnis: " . ftp_pwd($conn_id) . "\n";

// Versuche, in das Verzeichnis "irgendwo" zu wechseln
if (ftp_chdir($conn_id, "irgendwo")) {
    echo "Aktuelles Verzeichnis: " . ftp_pwd($conn_id) . "\n";
} else {
    echo "Verzeichniswechsel ist fehlgeschlagen.\n";
}

// Verbindung schließen
ftp_close($conn_id);
?>

Siehe auch

  • ftp_cdup() - Wechselt in das darüberliegende Verzeichnis
  • ftp_pwd() - Gibt den aktuellen Verzeichnisnamen zurück

ftp_cdup
ftp_chmod
FTP-Funktionen


Ändert die Zugriffsrechte einer Datei über FTP

ftp_chdir
ftp_close
FTP-Funktionen
PHP Manual

ftp_chmod

(PHP 5, PHP 7)

ftp_chmod — Ändert die Zugriffsrechte einer Datei über FTP

Beschreibung

int ftp_chmod ( resource $ftp_stream , int $mode , string $filename )

Ändert die Zugriffsrechte der spezifierten Datei zu mode.

Parameter-Liste

ftp_stream

Der Verbindungshandler der FTP-Verbindung.

mode

Die neuen Zugriffsrechte als octal-Wert.

filename

Der Name der Datei auf dem FTP-Server.

Rückgabewerte

Gibt die neuen Zugriffsrechte oder im Fehlerfall FALSE zurück.

Beispiele

Beispiel #1 ftp_chmod()-Beispiel

<?php
$dateiname = 'public_html/index.php';

// einfacher Verbindungsaufbau
$conn_id = ftp_connect($ftp_server);

// Login mit Benutzername und Passwort
$login_result = ftp_login($conn_id, $ftp_username, $ftp_passwort);

// Zugriffsrechte von $dateiname auf 644 ändern
if (ftp_chmod($conn_id, 0644, $dateiname) !== false) {
 echo "Zugriffsrechte der Datei $dateiname auf 644 geändert\n";
} else {
 echo "Änderung der Zugriffsrechte fehlgeschlagen\n";
}

// Verbindung schließen
ftp_close($conn_id);
?>

Siehe auch

  • chmod() - Ändert die Zugriffsrechte einer Datei

ftp_chdir
ftp_close
FTP-Funktionen


Schließt eine FTP-Verbindung

ftp_chmod
ftp_connect
FTP-Funktionen
PHP Manual

ftp_close

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

ftp_close — Schließt eine FTP-Verbindung

Beschreibung

bool ftp_close ( resource $ftp_stream )

ftp_close() schließt die angegebene Verbindung und gibt die resource frei.

Hinweis:

Nach Aufruf dieser Funktion ist die FTP-Verbindung nicht länger verfügbar und es muss eine neue unter Verwendung von ftp_connect() erstellt werden.

Parameter-Liste

ftp_stream

Der Verbindungshandler der FTP-Verbindung.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 ftp_close()-Beispiel

<?php

// Verbindung aufbauen
$conn_id = ftp_connect($ftp_server);

// Login mit Benutzername und Passwort
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// aktuelles Verzeichnis anzeigen
echo ftp_pwd($conn_id);

// Verbindung schließen
ftp_close($conn_id);
?>

Siehe auch

  • ftp_connect() - Stellt eine FTP-Verbindung her

ftp_chmod
ftp_connect
FTP-Funktionen


Stellt eine FTP-Verbindung her

ftp_close
ftp_delete
FTP-Funktionen
PHP Manual

ftp_connect

(PHP 4, PHP 5, PHP 7)

ftp_connect — Stellt eine FTP-Verbindung her

Beschreibung

resource ftp_connect ( string $host [, int $port = 21 [, int $timeout = 90 ]] )

ftp_connect() stellt eine FTP-Verbindung zum angegebenen host her.

Parameter-Liste

host

Die Adresse des FTP-Servers. Dieser Parameter sollte keinen abschließenden Schrägstrich und kein vorangestelltes ftp:// haben.

port

Gibt einen alternativen Port für die Verbindung an. Fehlt er oder wird er auf 0 gesetzt, wird der Standard-FTP-Port 21 benutzt.

timeout

Dieser Parameter bestimmt den Timeout für alle nachfolgenden Netzwerktätigkeiten. Falls er fehlt, wird er auf den Standardwert von 90 Sekunden gesetzt. Der Timeout kann jederzeit mittels ftp_set_option() gesetzt und mittels ftp_get_option() abgefragt werden.

Rückgabewerte

Gibt bei Erfolg einen FTP-Stream zurück oder FALSE, falls ein Fehler auftrat.

Beispiele

Beispiel #1 ftp_connect()-Beispiel

<?php

$ftp_server = "ftp.example.com";

// stelle eine Verbindung her
$verbindungskennung = ftp_connect($ftp_server) or die("Konnte keine Verbindung zu $ftp_server aufbauen");

?>

Siehe auch

  • ftp_close() - Schließt eine FTP-Verbindung
  • ftp_ssl_connect() - Öffnet eine sichere SSL-FTP-Verbindung

ftp_close
ftp_delete
FTP-Funktionen


Löscht eine Datei auf dem FTP-Server

ftp_connect
ftp_exec
FTP-Funktionen
PHP Manual

ftp_delete

(PHP 4, PHP 5, PHP 7)

ftp_delete — Löscht eine Datei auf dem FTP-Server

Beschreibung

bool ftp_delete ( resource $ftp_stream , string $path )

ftp_delete() löscht die per path angegebene Datei auf dem FTP-Server.

Parameter-Liste

ftp_stream

Der Verbindungshandler der FTP-Verbindung.

path

Die zu löschende Datei.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 ftp_delete()-Beispiel

<?php
$file = 'public_html/old.txt';

// Verbindung aufbauen
$conn_id = ftp_connect($ftp_server);

// Login mit Benutzername und Passwort
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Versuche die Datei $file zu löschen
if (ftp_delete($conn_id, $file)) {
 echo "$file deleted successful\n";
} else {
 echo "could not delete $file\n";
}

// Verbindung schließen
ftp_close($conn_id);
?>

ftp_connect
ftp_exec
FTP-Funktionen


Fordert die Ausführung eines Programmes auf dem FTP-Server an

ftp_delete
ftp_fget
FTP-Funktionen
PHP Manual

ftp_exec

(PHP 4 >= 4.0.3, PHP 5, PHP 7)

ftp_exec — Fordert die Ausführung eines Programmes auf dem FTP-Server an

Beschreibung

bool ftp_exec ( resource $ftp_stream , string $command )

Sendet ein SITE EXEC-Kommando (command) an den FTP-Server.

Parameter-Liste

ftp_stream

Der Verbindungshandler der FTP-Verbindung.

command

Das auszuführende Kommando.

Rückgabewerte

Gibt TRUE zurück, wenn das Kommando erfolgreich war (d.h. der Server hat den Antwortcode 200 geliefert); sonst FALSE.

Beispiele

Beispiel #1 ftp_exec()-Beispiel

<?php

// Variable initialisieren
$command = 'ls -al >files.txt';

// Verbindung aufbauen
$conn_id = ftp_connect($ftp_server);

// Login mit Benutzername und Passwort
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Kommando ausführen
if (ftp_exec($conn_id, $command)) {
    echo "$command wurde erfolgreich ausgeführt\n";
} else {
    echo "$command konnte nicht ausgeführt werden\n";
}

// Verbindung schließen
ftp_close($conn_id);

?>

Siehe auch

  • ftp_raw() - Sendet ein beliebiges Kommando an den FTP-Server

ftp_delete
ftp_fget
FTP-Funktionen


Lädt eine Datei vom FTP-Server und speichert sie in eine geöffnete Datei

ftp_exec
ftp_fput
FTP-Funktionen
PHP Manual

ftp_fget

(PHP 4, PHP 5, PHP 7)

ftp_fget — Lädt eine Datei vom FTP-Server und speichert sie in eine geöffnete Datei

Beschreibung

bool ftp_fget ( resource $ftp_stream , resource $handle , string $remote_file , int $mode [, int $resumepos = 0 ] )

ftp_fget() lädt das remote_file vom FTP-Server und schreibt es in die per Dateizeiger angegebene Datei.

Parameter-Liste

ftp_stream

Der Verbindungshandler der FTP-Verbindung.

handle

Ein geöffneter Dateizeiger, in den die Daten geschrieben werden sollen.

remote_file

Der Pfad zur Datei auf dem Server.

mode

Der Transfer-Modus. Muss entweder FTP_ASCII oder FTP_BINARY sein.

resumepos

Die Position in der entfernten Datei, ab der der Download beginnen soll.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 ftp_fget()-Beispiel

<?php

// Pfad zur entfernten Datei
$remote_file = 'somefile.txt';
$local_file = 'localfile.txt';

// Öffne eine Datei zum Schreiben
$handle = fopen($local_file, 'w');

// Verbindung aufbauen
$conn_id = ftp_connect($ftp_server);

// Login mit Benutzername und Passwort
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Versuche $remote_file zu laden und in $handle zu speichern
if (ftp_fget($conn_id, $handle, $remote_file, FTP_ASCII, 0)) {
 echo "Erfolgreich in $local_file geschrieben\n";
} else {
 echo "Download von $remote_file zu $local_file war nicht möglich\n";
}

// Verbindung und Verbindungshandler schließen
ftp_close($conn_id);
fclose($handle);
?>

Siehe auch

  • ftp_get() - Lädt eine Datei von einem FTP-Server herunter
  • ftp_nb_get() - Überträgt eine Datei von dem FTP-Server und speichert sie lokal (nicht blockierend)
  • ftp_nb_fget() - Lädt eine Datei vom FTP-Server und schreibt sie in eine lokale Datei (nicht-blockierend)

ftp_exec
ftp_fput
FTP-Funktionen


Überträgt eine geöffnete Datei auf einen FTP-Server

ftp_fget
ftp_get_option
FTP-Funktionen
PHP Manual

ftp_fput

(PHP 4, PHP 5, PHP 7)

ftp_fput — Überträgt eine geöffnete Datei auf einen FTP-Server

Beschreibung

bool ftp_fput ( resource $ftp_stream , string $remote_file , resource $handle , int $mode [, int $startpos = 0 ] )

ftp_fput() lädt die Daten aus einem Dateizeiger in eine entfernte Datei auf dem FTP-Server.

Parameter-Liste

ftp_stream

Der Verbindungshandler der FTP-Verbindung.

remote_file

Der Pfad zur Datei auf dem Server.

handle

Ein geöffneter Dateizeiger der lokalen Datei. Das Lesen wird am Dateiende beendet.

mode

Der Transfer-Modus. Muss entweder FTP_ASCII oder FTP_BINARY sein.

startpos

Die Startposition für den Upload in der entfernten Datei.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 ftp_fput()-Beispiel

<?php

// Öffne eine Datei zum Lesen
$file = 'somefile.txt';
$fp = fopen($file, 'r');

// Verbindung aufbauen
$conn_id = ftp_connect($ftp_server);

// Login mit Benutzername und Passwort
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Versuche $file hochzuladen
if (ftp_fput($conn_id, $file, $fp, FTP_ASCII)) {
    echo "$file wurde erfolgreich hochgeladen\n";
} else {
    echo "$file konnte nicht hochgeladen werden\n";
}

// Verbindung und Verbindungshandler schließen
ftp_close($conn_id);
fclose($fp);

?>

Siehe auch

  • ftp_put() - Lädt eine Datei auf einen FTP-Server
  • ftp_nb_fput() - Speichert eine geöffnete Datei auf den FTP-Server (nicht blockierend)
  • ftp_nb_put() - Speichert eine Datei auf dem FTP-Server (nicht-blockierend)

ftp_fget
ftp_get_option
FTP-Funktionen


Ruft diverse Laufzeitoptionen des angegebenen FTP-Streams ab

ftp_fput
ftp_get
FTP-Funktionen
PHP Manual

ftp_get_option

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

ftp_get_option — Ruft diverse Laufzeitoptionen des angegebenen FTP-Streams ab

Beschreibung

mixed ftp_get_option ( resource $ftp_stream , int $option )

Diese Funktion gibt den Wert der angeforderten Option option von der angegebenen FTP-Verbindung zurück.

Parameter-Liste

ftp_stream

Der Verbindungshandler der FTP-Verbindung.

option

Zur Zeit werden die folgenden Optionen unterstützt:

Unterstützte FTP-Laufzeitoptionen
FTP_TIMEOUT_SEC | Gibt den aktuellen Timeout für alle Netzwerkoperationen zurück.
FTP_AUTOSEEK | Gibt TRUE zurück, wenn diese Option aktiv ist, sonst FALSE.

Rückgabewerte

Gibt den Wert bei Erfolg zurück oder FALSE, wenn die angegebene Option option nicht unterstützt wird. Im letzteren Fall wird zusätzlich eine Warnung geworfen.

Beispiele

Beispiel #1 ftp_get_option()-Beispiel

<?php
// Bestimme den Timeout des angegebenen FTP-Streams
$timeout = ftp_get_option($conn_id, FTP_TIMEOUT_SEC);
?>

Siehe auch

  • ftp_set_option() - Setzt diverse FTP-Laufzeitoptionen

ftp_fput
ftp_get
FTP-Funktionen


Lädt eine Datei von einem FTP-Server herunter

ftp_get_option
ftp_login
FTP-Funktionen
PHP Manual

ftp_get

(PHP 4, PHP 5, PHP 7)

ftp_get — Lädt eine Datei von einem FTP-Server herunter

Beschreibung

bool ftp_get ( resource $ftp_stream , string $local_file , string $remote_file , int $mode [, int $resumepos = 0 ] )

ftp_get() lädt eine Datei vom FTP-Server und speichert sie in eine lokale Datei.

Parameter-Liste

ftp_stream

Der Verbindungshandler der FTP-Verbindung.

local_file

Der lokale Dateipfad (wird überschrieben, falls die Datei schon existiert).

remote_file

Der Pfad zur Datei auf dem Server.

mode

Der Transfer-Modus. Muss entweder FTP_ASCII oder FTP_BINARY sein.

resumepos

Die Position in der entfernten Datei, ab der der Download beginnen soll.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 ftp_get()-Beispiel

<?php

// Variablen definieren
$local_file = 'local.zip';
$server_file = 'server.zip';

// Verbindung aufbauen
$conn_id = ftp_connect($ftp_server);

// Login mit Benutzername und Passwort
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Versuche $server_file herunterzuladen und in $local_file zu speichern
if (ftp_get($conn_id, $local_file, $server_file, FTP_BINARY)) {
    echo "$local_file wurde erfolgreich geschrieben\n";
} else {
    echo "Ein Fehler ist aufgetreten\n";
}

// Verbindung schließen
ftp_close($conn_id);

?>

Siehe auch

  • ftp_pasv() - Schaltet den passiven Modus ein oder aus
  • ftp_fget() - Lädt eine Datei vom FTP-Server und speichert sie in eine geöffnete Datei
  • ftp_nb_get() - Überträgt eine Datei von dem FTP-Server und speichert sie lokal (nicht blockierend)
  • ftp_nb_fget() - Lädt eine Datei vom FTP-Server und schreibt sie in eine lokale Datei (nicht-blockierend)

ftp_get_option
ftp_login
FTP-Funktionen


Anmelden einer FTP-Verbindung (Login)

ftp_get
ftp_mdtm
FTP-Funktionen
PHP Manual

ftp_login

(PHP 4, PHP 5, PHP 7)

ftp_login — Anmelden einer FTP-Verbindung (Login)

Beschreibung

bool ftp_login ( resource $ftp_stream , string $username , string $password )

Anmelden beim angegebenen FTP-Stream.

Parameter-Liste

ftp_stream

Der Verbindungshandler der FTP-Verbindung.

username

Der Benutzername (USER).

password

Das Passwort (PASS).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. Wenn die Anmeldung fehlschlägt, wird PHP zusätzlich eine Warnung werfen.

Beispiele

Beispiel #1 ftp_login()-Beispiel

<?php

$ftp_server = "ftp.example.com";
$ftp_user = "foo";
$ftp_pass = "bar";

// Verbindung aufbauen
$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");

// Anmeldung versuchen
if (@ftp_login($conn_id, $ftp_user, $ftp_pass)) {
    echo "Angemeldet als $ftp_user@$ftp_server\n";
} else {
    echo "Anmeldung als $ftp_user nicht möglich\n";
}

// Verbindung schließen
ftp_close($conn_id);
?>

ftp_get
ftp_mdtm
FTP-Funktionen


Gibt den Zeitpunkt der letzten Änderung der angegebenen Datei zurück

ftp_login
ftp_mkdir
FTP-Funktionen
PHP Manual

ftp_mdtm

(PHP 4, PHP 5, PHP 7)

ftp_mdtm — Gibt den Zeitpunkt der letzten Änderung der angegebenen Datei zurück

Beschreibung

int ftp_mdtm ( resource $ftp_stream , string $remote_file )

ftp_mdtm() ermittelt den Zeitpunkt der letzten Änderung einer entfernten Datei.

Hinweis:

Nicht alle Server unterstützen diese Funktionalität.

Hinweis:

ftp_mdtm() funktioniert nicht mit Verzeichnissen.

Parameter-Liste

ftp_stream

Der Verbindungshandler der FTP-Verbindung.

remote_file

Die Datei, von der der Zeitpunkt der letzten Änderung ermittelt werden soll.

Rückgabewerte

Gibt den Zeitpunkt der letzten Änderung als Unix-Timestamp bei Erfolg zurück oder -1 im Fehlerfall.

Beispiele

Beispiel #1 ftp_mdtm()-Beispiel

<?php

$file = 'somefile.txt';

// Verbindung aufbauen
$conn_id = ftp_connect($ftp_server);

// Login mit Benutzername und Passwort
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Zeitpunkt der letzten Änderung ermitteln
$buff = ftp_mdtm($conn_id, $file);

if ($buff != -1) {
    // somefile.txt wurde zuletzt geändert am: March 26 2003 14:16:41.
    echo "$file wurde zuletzt geändert am: " . date("F d Y H:i:s.", $buff);
} else {
    echo "Zeitpunkt konnte nicht ermittelt werden";
}

// Verbindung schließen
ftp_close($conn_id);

?>

ftp_login
ftp_mkdir
FTP-Funktionen


Erzeugt ein Verzeichnis

ftp_mdtm
ftp_nb_continue
FTP-Funktionen
PHP Manual

ftp_mkdir

(PHP 4, PHP 5, PHP 7)

ftp_mkdir — Erzeugt ein Verzeichnis

Beschreibung

string ftp_mkdir ( resource $ftp_stream , string $directory )

Erzeugt das angegebene Verzeichnis directory auf dem FTP-Server.

Parameter-Liste

ftp_stream

Der Verbindungshandler der FTP-Verbindung.

directory

Der Name des zu erzeugenden Verzeichnissen.

Rückgabewerte

Gibt den neu erzeugten Verzeichnisnamen zurück oder FALSE im Fehlerfall.

Beispiele

Beispiel #1 ftp_mkdir()-Beispiel

<?php

$dir = 'www';

// Verbindung aufbauen
$conn_id = ftp_connect($ftp_server);

// Login mit Benutzername und Passwort
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Versuche das Verzeichnis $dir zu erzeugen
if (ftp_mkdir($conn_id, $dir)) {
 echo "$dir erfolgreich erzeugt\n";
} else {
 echo "Es trat ein Fehler beim Erzeugen von $dir auf\n";
}

// Verbindung schließen
ftp_close($conn_id);
?>

Siehe auch

  • ftp_rmdir() - Löscht ein Verzeichnis

ftp_mdtm
ftp_nb_continue
FTP-Funktionen


Nimmt die Übertragung einer Datei wieder auf (nicht-blockierend)

ftp_mkdir
ftp_nb_fget
FTP-Funktionen
PHP Manual

ftp_nb_continue

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

ftp_nb_continue — Nimmt die Übertragung einer Datei wieder auf (nicht-blockierend)

Beschreibung

int ftp_nb_continue ( resource $ftp_stream )

Nimmt die Übertragung einer Datei wieder auf (nicht-blockierend).

Parameter-Liste

ftp_stream

Der Verbindungshandler der FTP-Verbindung.

Rückgabewerte

Gibt FTP_FAILED oder FTP_FINISHED oder FTP_MOREDATA zurück.

Beispiele

Beispiel #1 ftp_nb_continue()-Beispiel

<?php

// Initialisiere den Download
$ret = ftp_nb_get($my_connection, "test", "README", FTP_BINARY);
while ($ret == FTP_MOREDATA) {

   // Download fortsetzen
   $ret = ftp_nb_continue($my_connection);
}
if ($ret != FTP_FINISHED) {
   echo "Es gab einen Fehler bei der Übertragung.";
   exit(1);
}
?>

ftp_mkdir
ftp_nb_fget
FTP-Funktionen


Lädt eine Datei vom FTP-Server und schreibt sie in eine lokale Datei (nicht-blockierend)

ftp_nb_continue
ftp_nb_fput
FTP-Funktionen
PHP Manual

ftp_nb_fget

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

ftp_nb_fget — Lädt eine Datei vom FTP-Server und schreibt sie in eine lokale Datei (nicht-blockierend)

Beschreibung

int ftp_nb_fget ( resource $ftp_stream , resource $handle , string $remote_file , int $mode [, int $resumepos = 0 ] )

ftp_nb_fget() lädt eine entfernte Datei von einem FTP-Server.

Der Unterschied zwischen dieser Funktion und ftp_fget() ist, dass diese Funktion die Datei asynchron überträgt, so dass Ihr Programm noch andere Operationen ausführen kann während die Datei gespeichert wird.

Parameter-Liste

ftp_stream

Der Verbindungshandler der FTP-Verbindung.

handle

Ein geöffneter Dateizeiger, in dem die Daten gespeichert werden.

remote_file

Der Pfad zur Datei auf dem Server.

mode

Der Transfer-Modus. Muss entweder FTP_ASCII oder FTP_BINARY sein.

resumepos

Die Position in der entfernten Datei, an der der Download beginnen soll.

Rückgabewerte

Gibt FTP_FAILED oder FTP_FINISHED oder FTP_MOREDATA zurück.

Beispiele

Beispiel #1 ftp_nb_fget()-Beispiel

<?php

// Öffne eine Datei zum Lesen
$file = 'index.php';
$fp = fopen($file, 'w');

$conn_id = ftp_connect($ftp_server);

$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Download initialisieren
$ret = ftp_nb_fget($conn_id, $fp, $file, FTP_BINARY);
while ($ret == FTP_MOREDATA) {

   // Irgendwas machen
   echo ".";

   // Download forsetzen
   $ret = ftp_nb_continue($conn_id);
}
if ($ret != FTP_FINISHED) {
   echo "Es gab einen Fehler bei der Übertragung.";
   exit(1);
}

// Dateizeiger schließen
fclose($fp);
?>

Siehe auch

  • ftp_nb_get() - Überträgt eine Datei von dem FTP-Server und speichert sie lokal (nicht blockierend)
  • ftp_nb_continue() - Nimmt die Übertragung einer Datei wieder auf (nicht-blockierend)
  • ftp_fget() - Lädt eine Datei vom FTP-Server und speichert sie in eine geöffnete Datei
  • ftp_get() - Lädt eine Datei von einem FTP-Server herunter

ftp_nb_continue
ftp_nb_fput
FTP-Funktionen


Speichert eine geöffnete Datei auf den FTP-Server (nicht blockierend)

ftp_nb_fget
ftp_nb_get
FTP-Funktionen
PHP Manual

ftp_nb_fput

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

ftp_nb_fput — Speichert eine geöffnete Datei auf den FTP-Server (nicht blockierend)

Beschreibung

int ftp_nb_fput ( resource $ftp_stream , string $remote_file , resource $handle , int $mode [, int $startpos = 0 ] )

ftp_nb_fput() lädt Datei von einem Dateizeiger in eine entfernte Datei auf einem FTP-Server.

Der Unterscheid zwischen dieser Funktion und ftp_fput() ist, dass diese Funktion die Datei asynchron hochlädt, so dass Ihr Programm noch andere Operationen ausführen kann während die Datei hochgeladen wird.

Parameter-Liste

ftp_stream

Der Verbindungshandler der FTP-Verbindung.

remote_file

Der Pfad zur Datei auf dem Server.

handle

Ein geöffneter Dateizeiger zu einer lokalen Datei. Das Lesen wird am Dateiende beendet.

mode

Der Transfer-Modus. Muss entweder FTP_ASCII oder FTP_BINARY sein.

startpos

Die Startposition für den Upload in der entfernten Datei.

Rückgabewerte

Gibt FTP_FAILED oder FTP_FINISHED oder FTP_MOREDATA zurück.

Beispiele

Beispiel #1 ftp_nb_fput()-Beispiel

<?php

$file = 'index.php';

$fp = fopen($file, 'r');

$conn_id = ftp_connect($ftp_server);

$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Upload initialisieren
$ret = ftp_nb_fput($conn_id, $file, $fp, FTP_BINARY);
while ($ret == FTP_MOREDATA) {

   // Irgendwas machen
   echo ".";

   // Upload fortsetzen
   $ret = ftp_nb_continue($conn_id);
}
if ($ret != FTP_FINISHED) {
   echo "Beim Transfer trat ein Fehler auf";
   exit(1);
}

fclose($fp);
?>

Siehe auch

  • ftp_nb_put() - Speichert eine Datei auf dem FTP-Server (nicht-blockierend)
  • ftp_nb_continue() - Nimmt die Übertragung einer Datei wieder auf (nicht-blockierend)
  • ftp_put() - Lädt eine Datei auf einen FTP-Server
  • ftp_fput() - Überträgt eine geöffnete Datei auf einen FTP-Server

ftp_nb_fget
ftp_nb_get
FTP-Funktionen


Überträgt eine Datei von dem FTP-Server und speichert sie lokal (nicht blockierend)

ftp_nb_fput
ftp_nb_put
FTP-Funktionen
PHP Manual

ftp_nb_get

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

ftp_nb_get — Überträgt eine Datei von dem FTP-Server und speichert sie lokal (nicht blockierend)

Beschreibung

int ftp_nb_get ( resource $ftp_stream , string $local_file , string $remote_file , int $mode [, int $resumepos = 0 ] )

ftp_nb_get() retrieves a remote file from the FTP server, and saves it into a local file.

Der Unterscheid zwischen dieser Funktion und ftp_get() ist, dass diese Funktion die Datei asynchron überträgt, so dass Ihr Programm noch andere Operationen ausführen kann während die Datei heruntergeladen wird.

Parameter-Liste

ftp_stream

Der Verbindungshandler der FTP-Verbindung.

local_file

Der Pfad zur lokalen Datei (wird überschrieben falls die Datei schon existiert).

remote_file

Der Pfad zur Datei auf dem Server.

mode

Der Transfer-Modus. Muss entweder FTP_ASCII oder FTP_BINARY sein.

resumepos

Die Position in der entfernten Datei, an der der Download beginnen soll.

Rückgabewerte

Gibt FTP_FAILED oder FTP_FINISHED oder FTP_MOREDATA zurück.

Beispiele

Beispiel #1 ftp_nb_get()-Beispiel

<?php

// Download initialisieren
$ret = ftp_nb_get($my_connection, "test", "README", FTP_BINARY);
while ($ret == FTP_MOREDATA) {

   // Irgendwas machen
   echo ".";

   // Download fortsetzen
   $ret = ftp_nb_continue($my_connection);
}
if ($ret != FTP_FINISHED) {
   echo "Es gab einen Fehler bei der Übertragung.";
   exit(1);
}
?>

Beispiel #2 Einen Download mit ftp_nb_get() fortsetzen

<?php

// Initialisieren
$ret = ftp_nb_get($my_connection, "test", "README", FTP_BINARY,
                      filesize("test"));
// ODER: $ret = ftp_nb_get($my_connection, "test", "README", FTP_BINARY,
// FTP_AUTORESUME);
while ($ret == FTP_MOREDATA) {

   // Irgendwas machen
   echo ".";

   // Download fortsetzen
   $ret = ftp_nb_continue($my_connection);
}
if ($ret != FTP_FINISHED) {
   echo "Es gab einen Fehler bei der Übertragung.";
   exit(1);
}
?>

Beispiel #3 Einen Download mit Hilfe von ftp_nb_get() an Position 100 fortsetzen und in eine neue Datei schreiben

<?php

// Autoseek deaktivieren
ftp_set_option($my_connection, FTP_AUTOSEEK, false);

// Initialisieren
$ret = ftp_nb_get($my_connection, "newfile", "README", FTP_BINARY, 100);
while ($ret == FTP_MOREDATA) {

   /* ... */

   // Download fortsetzen
   $ret = ftp_nb_continue($my_connection);
}
?>

In dem obigen Beispiel ist newfile 100 Bytes kleiner als README auf dem FTP-Server, weil wir erst beim Offset 100 angefangen haben zu lesen. Hätten wir FTP_AUTOSEEK nicht deaktiviert, so bestünden die ersten 100 Bytes von newfile aus '\0'.

Siehe auch

  • ftp_nb_fget() - Lädt eine Datei vom FTP-Server und schreibt sie in eine lokale Datei (nicht-blockierend)
  • ftp_nb_continue() - Nimmt die Übertragung einer Datei wieder auf (nicht-blockierend)
  • ftp_fget() - Lädt eine Datei vom FTP-Server und speichert sie in eine geöffnete Datei
  • ftp_get() - Lädt eine Datei von einem FTP-Server herunter

ftp_nb_fput
ftp_nb_put
FTP-Funktionen


Speichert eine Datei auf dem FTP-Server (nicht-blockierend)

ftp_nb_get
ftp_nlist
FTP-Funktionen
PHP Manual

ftp_nb_put

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

ftp_nb_put — Speichert eine Datei auf dem FTP-Server (nicht-blockierend)

Beschreibung

int ftp_nb_put ( resource $ftp_stream , string $remote_file , string $local_file , int $mode [, int $startpos = 0 ] )

ftp_nb_put() speichert eine lokale Datei auf dem FTP-Server.

Der Unterschied zwischen dieser Funktion und ftp_put() ist, dass diese die Datei asynchron hochlädt, so dass Ihr Programm noch andere Operationen durchführen kann während die Datei hochgeladen wird.

Parameter-Liste

ftp_stream

Der Verbindungshandler der FTP-Verbindung.

remote_file

Der Pfad zur Datei auf dem Server.

local_file

Der Pfad zur lokalen Datei.

mode

Der Transfer-Modus. Muss entweder FTP_ASCII oder FTP_BINARY sein.

startpos

Die Startposition für den Upload in der entfernten Datei.

Rückgabewerte

Gibt FTP_FAILED oder FTP_FINISHED oder FTP_MOREDATA zurück.

Beispiele

Beispiel #1 ftp_nb_put()-Beispiel

<?php

// Initialisiere den Upload
$ret = ftp_nb_put($my_connection, "test.remote", "test.local", FTP_BINARY);
while ($ret == FTP_MOREDATA) {

   // Irgendwas machen
   echo ".";

   // Upload fortsetzen
   $ret = ftp_nb_continue($my_connection);
}
if ($ret != FTP_FINISHED) {
   echo "Beim Transfer trat ein Fehler auf";
   exit(1);
}
?>

Beispiel #2 Einen Upload mit ftp_nb_put() wieder aufnehmen

<?php

// Initialisieren
$ret = ftp_nb_put($my_connection, "test.remote", "test.local",
                      FTP_BINARY, ftp_size("test.remote"));
// ODER: $ret = ftp_nb_put($my_connection, "test.remote", "test.local",
// FTP_BINARY, FTP_AUTORESUME);

while ($ret == FTP_MOREDATA) {

   // Irgendwas machen
   echo ".";

   // Upload fortsetzen
   $ret = ftp_nb_continue($my_connection);
}
if ($ret != FTP_FINISHED) {
   echo "Beim Transfer trat ein Fehler auf";
   exit(1);
}
?>

Siehe auch

  • ftp_nb_fput() - Speichert eine geöffnete Datei auf den FTP-Server (nicht blockierend)
  • ftp_nb_continue() - Nimmt die Übertragung einer Datei wieder auf (nicht-blockierend)
  • ftp_put() - Lädt eine Datei auf einen FTP-Server
  • ftp_fput() - Überträgt eine geöffnete Datei auf einen FTP-Server

ftp_nb_get
ftp_nlist
FTP-Funktionen


Gibt eine Liste der im angegebenen Verzeichnis enthaltenen Dateien zurück

ftp_nb_put
ftp_pasv
FTP-Funktionen
PHP Manual

ftp_nlist

(PHP 4, PHP 5, PHP 7)

ftp_nlist — Gibt eine Liste der im angegebenen Verzeichnis enthaltenen Dateien zurück

Beschreibung

array ftp_nlist ( resource $ftp_stream , string $directory )

Parameter-Liste

ftp_stream

Der Verbindungshandler der FTP-Verbindung.

directory

Das zu listende Verzeichnis. Dieser Parameter kann auch Argumente enthalten, z.B. ftp_nlist($conn_id, "-la /your/dir"); Beachten Sie, dass dieser Parameter nicht escapt ist und dass deswegen Probleme bei Dateinamen mit Leerzeichen oder anderen Zeichen auftreten können.

Rückgabewerte

Gibt ein Array von Dateinamen aus dem angegebenen Verzeichnis bei Erfolg zurück oder FALSE im Fehlerfall.

Beispiele

Beispiel #1 ftp_nlist()-Beispiel

<?php

// Verbindung aufbauen
$conn_id = ftp_connect($ftp_server);

// Login mit Benutzername und Passwort
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

//Inhalt des aktuellen Verzeichnis auslesen
$contents = ftp_nlist($conn_id, ".");

// Ausgabe von $contents
var_dump($contents);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(3) {
  [0]=>
  string(11) "public_html"
  [1]=>
  string(10) "public_ftp"
  [2]=>
  string(3) "www"

Siehe auch

  • ftp_rawlist() - Gibt eine detaillierte Liste der Dateien in einem angegebenen Verzeichnis zurück

ftp_nb_put
ftp_pasv
FTP-Funktionen


Schaltet den passiven Modus ein oder aus

ftp_nlist
ftp_put
FTP-Funktionen
PHP Manual

ftp_pasv

(PHP 4, PHP 5, PHP 7)

ftp_pasv — Schaltet den passiven Modus ein oder aus

Beschreibung

bool ftp_pasv ( resource $ftp_stream , bool $pasv )

ftp_pasv() schaltet den passiven Modus ein oder aus. Im passiven Modus werden Datenverbindung durch den Client initiiert und nicht durch den Server. Dies kann notwendig sein, wenn der Client sich hinter einer Firewall befindet.

Bitte beachten Sie, dass ftp_pasv() nur nach einem erfolgreichen Login aufgerufen werden kann. Andernfalls wird der Aufruf fehlschlagen.

Parameter-Liste

ftp_stream

Der Verbindungshandler der FTP-Verbindung.

pasv

Wenn TRUE, wird der passive Modus aktiviert, sonst wird der deaktiviert.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 ftp_pasv()-Beispiel

<?php
$file = 'somefile.txt';
$remote_file = 'readme.txt';

// Verbindung aufbauen
$conn_id = ftp_connect($ftp_server);

// Login mit Benutzername und Passwort
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Schalte passiven Modus ein
ftp_pasv($conn_id, true);

// Lade eine Datei hoch
if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) {
 echo "$file erfolgreich hochgeladen\n";
} else {
 echo "Ein Fehler trat beim Hochladen von $file\n";
}

// Verbindung schließen
ftp_close($conn_id);
?>

ftp_nlist
ftp_put
FTP-Funktionen


Lädt eine Datei auf einen FTP-Server

ftp_pasv
ftp_pwd
FTP-Funktionen
PHP Manual

ftp_put

(PHP 4, PHP 5, PHP 7)

ftp_put — Lädt eine Datei auf einen FTP-Server

Beschreibung

bool ftp_put ( resource $ftp_stream , string $remote_file , string $local_file , int $mode [, int $startpos = 0 ] )

ftp_put() speichert eine lokale Datei auf einem FTP-Server.

Parameter-Liste

ftp_stream

Der Verbindungshandler der FTP-Verbindung.

remote_file

Der Pfad zur Datei auf dem Server.

local_file

Der Pfad zur lokalen Datei.

mode

Der Transfer-Modus. Muss entweder FTP_ASCII oder FTP_BINARY sein.

startpos

Die Startposition für den Upload in der entfernten Datei.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 ftp_put()-Beispiel

<?php
$file = 'somefile.txt';
$remote_file = 'readme.txt';

// Verbindung aufbauen
$conn_id = ftp_connect($ftp_server);

// Login mit Benutzername und Passwort
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Datei hochladen
if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) {
 echo "$file erfolgreich hochgeladen\n";
} else {
 echo "Ein Fehler trat beim Hochladen von $file auf\n";
}

// Verbindung schließen
ftp_close($conn_id);
?>

Siehe auch

  • ftp_pasv() - Schaltet den passiven Modus ein oder aus
  • ftp_fput() - Überträgt eine geöffnete Datei auf einen FTP-Server
  • ftp_nb_fput() - Speichert eine geöffnete Datei auf den FTP-Server (nicht blockierend)
  • ftp_nb_put() - Speichert eine Datei auf dem FTP-Server (nicht-blockierend)

ftp_pasv
ftp_pwd
FTP-Funktionen


Gibt den aktuellen Verzeichnisnamen zurück

ftp_put
ftp_quit
FTP-Funktionen
PHP Manual

ftp_pwd

(PHP 4, PHP 5, PHP 7)

ftp_pwd — Gibt den aktuellen Verzeichnisnamen zurück

Beschreibung

string ftp_pwd ( resource $ftp_stream )

Parameter-Liste

ftp_stream

Der Verbindungshandler der FTP-Verbindung.

Rückgabewerte

Gibt den aktuellen Verzeichnisnamen zurück oder FALSE im Fehlerfall.

Beispiele

Beispiel #1 ftp_pwd()-Beispiel

<?php

// Verbindung aufbauen
$conn_id = ftp_connect($ftp_server);

// Login mit Benutzername und Passwort
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Wechsle das Verzeichnis zu public_html
ftp_chdir($conn_id, 'public_html');

// Gibt das aktuelle Verzeichnis aus
echo ftp_pwd($conn_id); // /public_html

// Verbindung schließen
ftp_close($conn_id);
?>

Siehe auch

  • ftp_chdir() - Verzeichnis-Wechsel auf einem FTP-Server
  • ftp_cdup() - Wechselt in das darüberliegende Verzeichnis

ftp_put
ftp_quit
FTP-Funktionen


Alias von ftp_close

ftp_pwd
ftp_raw
FTP-Funktionen
PHP Manual

ftp_quit

(PHP 4, PHP 5, PHP 7)

ftp_quit — Alias von ftp_close()

Beschreibung

Diese Funktion ist ein Alias für: ftp_close().

ftp_pwd
ftp_raw
FTP-Funktionen


Sendet ein beliebiges Kommando an den FTP-Server

ftp_quit
ftp_rawlist
FTP-Funktionen
PHP Manual

ftp_raw

(PHP 5, PHP 7)

ftp_raw — Sendet ein beliebiges Kommando an den FTP-Server

Beschreibung

array ftp_raw ( resource $ftp_stream , string $command )

Sendet ein beliebiges Kommando command an den FTP-Server.

Parameter-Liste

ftp_stream

Der Verbindungshandler der FTP-Verbindung.

command

Das auszuführende Kommando.

Rückgabewerte

Gibt die Serverantwort als ein Array von Zeichenketten zurück. Die Ausgabe wird in keinster Weise ausgewertet. ftp_raw() versucht auch nicht zu bestimmen, ob das Kommando erfolgreich war.

Beispiele

Beispiel #1 ftp_raw() für den manuellen Login auf einem FTP-Server nutzen.

<?php
$fp = ftp_connect("ftp.example.com");

/* Dies entspricht:
   ftp_login($fp, "joeblow", "secret"); */
ftp_raw($fp, "USER joeblow");
ftp_raw($fp, "PASS secret");
?>

Siehe auch

  • ftp_exec() - Fordert die Ausführung eines Programmes auf dem FTP-Server an

ftp_quit
ftp_rawlist
FTP-Funktionen


Gibt eine detaillierte Liste der Dateien in einem angegebenen Verzeichnis zurück

ftp_raw
ftp_rename
FTP-Funktionen
PHP Manual

ftp_rawlist

(PHP 4, PHP 5, PHP 7)

ftp_rawlist — Gibt eine detaillierte Liste der Dateien in einem angegebenen Verzeichnis zurück

Beschreibung

mixed ftp_rawlist ( resource $ftp_stream , string $directory [, bool $recursive = false ] )

ftp_rawlist() führt das FTP-LIST-Kommando aus und gibt das Ergebnis als Array zurück.

Parameter-Liste

ftp_stream

Der Verbindungshandler der FTP-Verbindung.

directory

Der Verzeichnispfad. Kann Argumente für den LIST-Befehl enthalten.

recursive

Falls auf TRUE gesetzt, wird als Kommando LIST -R ausgeführt.

Rückgabewerte

Gibt ein Array zurück, in dem jedes Element einer Textzeile entspricht. Gibt FALSE zurück, wenn das übergebene directory ungültig ist.

Die Ausgabe wird in keinster Weise ausgewertet. Der Systemtyp, der von ftp_systype() zurückgegeben wird, kann benutzt werden, um zu bestimmen, wie die Ergebnisse interpretiert werden sollen.

Beispiele

Beispiel #1 ftp_rawlist()-Beispiel

<?php

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// get the file list for /
$buff = ftp_rawlist($conn_id, '/');

// close the connection
ftp_close($conn_id);

// output the buffer
var_dump($buff);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(3) {
  [0]=>
  string(65) "drwxr-x---   3 vincent  vincent      4096 Jul 12 12:16 public_ftp"
  [1]=>
  string(66) "drwxr-x---  15 vincent  vincent      4096 Nov  3 21:31 public_html"
  [2]=>
  string(73) "lrwxrwxrwx   1 vincent  vincent        11 Jul 12 12:16 www -> public_html"
}

Siehe auch

  • ftp_nlist() - Gibt eine Liste der im angegebenen Verzeichnis enthaltenen Dateien zurück

ftp_raw
ftp_rename
FTP-Funktionen


Benennt eine Datei auf dem FTP-Server um

ftp_rawlist
ftp_rmdir
FTP-Funktionen
PHP Manual

ftp_rename

(PHP 4, PHP 5, PHP 7)

ftp_rename — Benennt eine Datei auf dem FTP-Server um

Beschreibung

bool ftp_rename ( resource $ftp_stream , string $oldname , string $newname )

ftp_rename() benennt eine Datei oder ein Verzeichnis auf dem FTP_Server um.

Parameter-Liste

ftp_stream

Der Verbindungshandler der FTP-Verbindung.

oldname

Der alte Datei-/Verzeichnisname.

newname

Der neue Name.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 ftp_rename()-Beispiel

<?php
$old_file = 'somefile.txt.bak';
$new_file = 'somefile.txt';

// Verbindung aufbauen
$conn_id = ftp_connect($ftp_server);

// Login mit Benutzername und Passwort
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Versuche $old_file in $new_file umzubenennen
if (ftp_rename($conn_id, $old_file, $new_file)) {
 echo "$old_file erfolgreich in $new_file umbenannt\n";
} else {
 echo "Ein Fehler trat beim Umbenennen von $old_file in $new_file auf\n";
}

// Verbindung schließen
ftp_close($conn_id);
?>

ftp_rawlist
ftp_rmdir
FTP-Funktionen


Löscht ein Verzeichnis

ftp_rename
ftp_set_option
FTP-Funktionen
PHP Manual

ftp_rmdir

(PHP 4, PHP 5, PHP 7)

ftp_rmdir — Löscht ein Verzeichnis

Beschreibung

bool ftp_rmdir ( resource $ftp_stream , string $directory )

Löscht das angegebene directory vom FTP-Server.

Parameter-Liste

ftp_stream

Der Verbindungshandler der FTP-Verbindung.

directory

Das zu löschende Verzeichnis. Dies muss entweder ein absoluter oder relativer Pfad zu einem leeren Verzeichnis sein.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 ftp_rmdir()-Beispiel

<?php

$dir = 'www/';

// Verbindung aufbauen
$conn_id = ftp_connect($ftp_server);

// Login mit Benutzername und Passwort
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Versuche das Verzeichnis $dir zu löschen
if (ftp_rmdir($conn_id, $dir)) {
    echo "$dir erfolgreich gelöscht\n";
} else {
    echo "Ein Fehler trat beim Löschen von $dir auf\n";
}

ftp_close($conn_id);

?>

Siehe auch

  • ftp_mkdir() - Erzeugt ein Verzeichnis

ftp_rename
ftp_set_option
FTP-Funktionen


Setzt diverse FTP-Laufzeitoptionen

ftp_rmdir
ftp_site
FTP-Funktionen
PHP Manual

ftp_set_option

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

ftp_set_option — Setzt diverse FTP-Laufzeitoptionen

Beschreibung

bool ftp_set_option ( resource $ftp_stream , int $option , mixed $value )

Diese Funktion kontrolliert diverse FTP-Laufzeitoptionen für den angegebenen FTP-Stream.

Parameter-Liste

ftp_stream

Der Verbindungshandler der FTP-Verbindung.

option

Zur Zeit werden folgende Optionen unterstützt:

Unterstützte FTP-Laufzeitoptionen
FTP_TIMEOUT_SEC | Ändert den Timeout in Sekunden für alle folgenden Netzwerkoperationen. value muss eine ganze Zahl sein, die größer als 0 ist. Der Standardwert des Timeouts ist 90 Sekunden.
FTP_AUTOSEEK | Falls aktiviert, werden GET- oder PUT-Anfragen mit einem resumepos- oder startpos-Parameter innerhalb der Datei erst die angegebene Position suchen. Dies ist standardmäßig aktiviert.

value

Dieser Parameter hängt davon ab, welche option für die Änderung ausgewählt wurde.

Rückgabewerte

Gibt TRUE zurück, wenn die Option gesetzt werden konnte, sonst FALSE. Eine Warnung wird geworfen, falls die option nicht unterstützt wird oder falls der angegebene value nicht mit dem erwarteten Wert für die angegebene option übereinstimmt.

Beispiele

Beispiel #1 ftp_set_option()-Beispiel

<?php
// Setze den Netzwerk-Timeout auf 10 Sekunden
ftp_set_option($conn_id, FTP_TIMEOUT_SEC, 10);
?>

Siehe auch

  • ftp_get_option() - Ruft diverse Laufzeitoptionen des angegebenen FTP-Streams ab

ftp_rmdir
ftp_site
FTP-Funktionen


Sendet ein SITE-Kommando zum Server

ftp_set_option
ftp_size
FTP-Funktionen
PHP Manual

ftp_site

(PHP 4, PHP 5, PHP 7)

ftp_site — Sendet ein SITE-Kommando zum Server

Beschreibung

bool ftp_site ( resource $ftp_stream , string $command )

ftp_site() sendet das angegebene SITE-Kommando zum FTP-Server.

SITE-Kommandos sind nicht standardisiert und unterscheiden sich von Server zu Server. Sie sind nützlich, um Dinge wie Datei-Zugriffsrechte und Gruppen-Mitgliedschaften zu handhaben.

Parameter-Liste

ftp_stream

Der Verbindungshandler der FTP-Verbindung.

command

Das SITE-Kommando. Beachten Sie, dass dieser Parameter nicht escapt ist und dass deswegen Probleme bei Dateinamen mit Leerzeichen oder anderen Zeichen auftreten können.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Sending a SITE command to an ftp server

<?php
// Verbindung aufbauen
$conn = ftp_connect('ftp.example.com');
if (!$conn) die('Verbindung zu ftp.example.com konnte nicht aufgebaut werden');

// Login mit Benutzername und Passwort
if (!ftp_login($conn, 'user', 'pass')) die('Fehler beim Login zu ftp.example.com');

// Kommando "SITE CHMOD 0600 /home/user/privatefile" an den Server senden */
if (ftp_site($conn, 'CHMOD 0600 /home/user/privatefile')) {
   echo "Kommando erfolgreich ausgeführt.\n";
} else {
   die('Kommando fehlgeschlagen.');
}
?>

Siehe auch

  • ftp_raw() - Sendet ein beliebiges Kommando an den FTP-Server

ftp_set_option
ftp_size
FTP-Funktionen


Gibt die Größe der angegebenen Datei zurück

ftp_site
ftp_ssl_connect
FTP-Funktionen
PHP Manual

ftp_size

(PHP 4, PHP 5, PHP 7)

ftp_size — Gibt die Größe der angegebenen Datei zurück

Beschreibung

int ftp_size ( resource $ftp_stream , string $remote_file )

ftp_size() gibt die Größe der angegebenen Datei in Bytes zurück.

Hinweis:

Nicht alle Server unterstützen dieses Feature.

Parameter-Liste

ftp_stream

Der Verbindungshandler der FTP-Verbindung.

remote_file

Die entfernte Datei.

Rückgabewerte

Gibt bei Erfolg die Dateigröße zurück, sonst -1.

Beispiele

Beispiel #1 ftp_size() example

<?php

$file = 'somefile.txt';

// Verbindung aufbauen
$conn_id = ftp_connect($ftp_server);

// Login mit Benutzername und Passwort
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Ermitteln der Größe von $file
$res = ftp_size($conn_id, $file);

if ($res != -1) {
    echo "$file ist $res Bytes groß";
} else {
    echo "Größe konnte nicht bestimmt werden";
}

// Verbindung schließen
ftp_close($conn_id);

?>

Siehe auch

  • ftp_rawlist() - Gibt eine detaillierte Liste der Dateien in einem angegebenen Verzeichnis zurück

ftp_site
ftp_ssl_connect
FTP-Funktionen


Öffnet eine sichere SSL-FTP-Verbindung

ftp_size
ftp_systype
FTP-Funktionen
PHP Manual

ftp_ssl_connect

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

ftp_ssl_connect — Öffnet eine sichere SSL-FTP-Verbindung

Beschreibung

resource ftp_ssl_connect ( string $host [, int $port = 21 [, int $timeout = 90 ]] )

ftp_ssl_connect() öffnet eine explizite SSL-FTP-Verbindung zu dem angegebenen host.

Hinweis: Warum diese Funktion eventuell nicht vorhanden ist

ftp_ssl_connect() ist nur verfügbar, wenn sowohl das FTP-Modul als auch OpenSSL-Unterstützung statisch in PHP eingebunden wurde. Daher ist diese Funktion in den offiziellen PHP-Builds unter Windows nicht definiert. Um diese Funktion auch unter Windows verfügbar zu machen, müssen Sie PHP selbst kompilieren.

Hinweis:

ftp_ssl_connect() ist nicht dazu gedacht, mit sFTP benutzt zu werden. Um sFTP mit PHP zu benutzen, verwenden Sie bitte ssh2_sftp().

Parameter-Liste

host

Die Adresse des FTP-Servers. Die Adresse des FTP-Servers. Dieser Parameter sollte keinen abschließenden Schrägstrich und kein vorangestelltes ftp:// haben.

port

Gibt einen alternativen Port für die Verbindung an. Fehlt er oder wird er auf 0 gesetzt, wird der Standard-FTP-Port 21 benutzt.

timeout

Dieser Parameter bestimmt den Timeout für alle nachfolgenden Netzwerktätigkeiten. Falls er fehlt, wird er auf den Standardwert von 90 Sekunden gesetzt. Der Timeout kann jederzeit mittels ftp_set_option() gesetzt und mittels ftp_get_option() abgefragt werden.

Rückgabewerte

Gibt bei Erfolg einen SSL-FTP-Stream zurück oder FALSE, falls ein Fehler auftrat.

Changelog

Version | Beschreibung
5.2.2 | Diese Funktion gibt nun FALSE zurück, wenn sie keine SSL-Verbindung aufbauen kann. Vorher gab es einen Fallback auf eine Nicht-SSL-Verbindung.

Beispiele

Beispiel #1 ftp_ssl_connect()-Beispiel

<?php

// SSL-Verbindung aufbauen
$conn_id = ftp_ssl_connect($ftp_server);

// Login mit Benutzername und Passwort
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

echo ftp_pwd($conn_id); // /

// SSL-Verbindung schließen
ftp_close($conn_id);
?>

Siehe auch

  • ftp_connect() - Stellt eine FTP-Verbindung her

ftp_size
ftp_systype
FTP-Funktionen


Gibt den Systemtyp des entfernten FTP-Servers zurück

ftp_ssl_connect
Gearman
FTP-Funktionen
PHP Manual

ftp_systype

(PHP 4, PHP 5, PHP 7)

ftp_systype — Gibt den Systemtyp des entfernten FTP-Servers zurück

Beschreibung

string ftp_systype ( resource $ftp_stream )

Gibt den Systemtyp zurück des entfernten FTP-Servers zurück.

Parameter-Liste

ftp_stream

Der Verbindungshandler der FTP-Verbindung.

Rückgabewerte

Returns the remote system type, or FALSE on error.

Beispiele

Beispiel #1 ftp_systype()-Beispiel

<?php

// Verbindung aufbauen
$ftp = ftp_connect('ftp.example.com');
ftp_login($ftp, 'user', 'password');

// Systemtyp abfragen
if ($type = ftp_systype($ftp)) {
    echo "Example.com ist vom Typ $type\n";
} else {
    echo "Konnte den Systemtyp nicht bestimmen";
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Example.com ist vom Typ UNIX

ftp_ssl_connect
Gearman
FTP-Funktionen


Gearman

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • Basic usage
    • Basic Gearman client and worker, background
    • Basic Gearman client and worker, submitting tasks
  • GearmanClient — The GearmanClient class
    • GearmanClient::addOptions — Add client options
    • GearmanClient::addServer — Add a job server to the client
    • GearmanClient::addServers — Add a list of job servers to the client
    • GearmanClient::addTask — Add a task to be run in parallel
    • GearmanClient::addTaskBackground — Add a background task to be run in parallel
    • GearmanClient::addTaskHigh — Add a high priority task to run in parallel
    • GearmanClient::addTaskHighBackground — Add a high priority background task to be run in parallel
    • GearmanClient::addTaskLow — Add a low priority task to run in parallel
    • GearmanClient::addTaskLowBackground — Add a low priority background task to be run in parallel
    • GearmanClient::addTaskStatus — Add a task to get status
    • GearmanClient::clearCallbacks — Clear all task callback functions
    • GearmanClient::clone — Create a copy of a GearmanClient object
    • GearmanClient::__construct — Create a GearmanClient instance
    • GearmanClient::context — Get the application context
    • GearmanClient::data — Get the application data (deprecated)
    • GearmanClient::do — Run a single task and return a result [deprecated]
    • GearmanClient::doBackground — Run a task in the background
    • GearmanClient::doHigh — Run a single high priority task
    • GearmanClient::doHighBackground — Run a high priority task in the background
    • GearmanClient::doJobHandle — Get the job handle for the running task
    • GearmanClient::doLow — Run a single low priority task
    • GearmanClient::doLowBackground — Run a low priority task in the background
    • GearmanClient::doNormal — Run a single task and return a result
    • GearmanClient::doStatus — Get the status for the running task
    • GearmanClient::echo — Send data to all job servers to see if they echo it back [deprecated]
    • GearmanClient::error — Returns an error string for the last error encountered.
    • GearmanClient::getErrno — Get an errno value
    • GearmanClient::jobStatus — Get the status of a background job
    • GearmanClient::ping — Send data to all job servers to see if they echo it back
    • GearmanClient::removeOptions — Remove client options
    • GearmanClient::returnCode — Get the last Gearman return code
    • GearmanClient::runTasks — Run a list of tasks in parallel
    • GearmanClient::setClientCallback — Callback function when there is a data packet for a task (deprecated)
    • GearmanClient::setCompleteCallback — Set a function to be called on task completion
    • GearmanClient::setContext — Set application context
    • GearmanClient::setCreatedCallback — Set a callback for when a task is queued
    • GearmanClient::setData — Set application data (deprecated)
    • GearmanClient::setDataCallback — Callback function when there is a data packet for a task
    • GearmanClient::setExceptionCallback — Set a callback for worker exceptions
    • GearmanClient::setFailCallback — Set callback for job failure
    • GearmanClient::setOptions — Set client options
    • GearmanClient::setStatusCallback — Set a callback for collecting task status
    • GearmanClient::setTimeout — Set socket I/O activity timeout
    • GearmanClient::setWarningCallback — Set a callback for worker warnings
    • GearmanClient::setWorkloadCallback — Set a callback for accepting incremental data updates
    • GearmanClient::timeout — Get current socket I/O activity timeout value
  • GearmanJob — The GearmanJob class
    • GearmanJob::complete — Send the result and complete status (deprecated)
    • GearmanJob::__construct — Create a GearmanJob instance
    • GearmanJob::data — Send data for a running job (deprecated)
    • GearmanJob::exception — Send exception for running job (deprecated)
    • GearmanJob::fail — Send fail status (deprecated)
    • GearmanJob::functionName — Get function name
    • GearmanJob::handle — Get the job handle
    • GearmanJob::returnCode — Get last return code
    • GearmanJob::sendComplete — Send the result and complete status
    • GearmanJob::sendData — Send data for a running job
    • GearmanJob::sendException — Send exception for running job (exception)
    • GearmanJob::sendFail — Send fail status
    • GearmanJob::sendStatus — Send status
    • GearmanJob::sendWarning — Send a warning
    • GearmanJob::setReturn — Set a return value
    • GearmanJob::status — Send status (deprecated)
    • GearmanJob::unique — Get the unique identifier
    • GearmanJob::warning — Send a warning (deprecated)
    • GearmanJob::workload — Get workload
    • GearmanJob::workloadSize — Get size of work load
  • GearmanTask — The GearmanTask class
    • GearmanTask::__construct — Create a GearmanTask instance
    • GearmanTask::create — Create a task (deprecated)
    • GearmanTask::data — Get data returned for a task
    • GearmanTask::dataSize — Get the size of returned data
    • GearmanTask::function — Get associated function name (deprecated)
    • GearmanTask::functionName — Get associated function name
    • GearmanTask::isKnown — Determine if task is known
    • GearmanTask::isRunning — Test whether the task is currently running
    • GearmanTask::jobHandle — Get the job handle
    • GearmanTask::recvData — Read work or result data into a buffer for a task
    • GearmanTask::returnCode — Get the last return code
    • GearmanTask::sendData — Send data for a task (deprecated)
    • GearmanTask::sendWorkload — Send data for a task
    • GearmanTask::taskDenominator — Get completion percentage denominator
    • GearmanTask::taskNumerator — Get completion percentage numerator
    • GearmanTask::unique — Get the unique identifier for a task
    • GearmanTask::uuid — Get the unique identifier for a task (deprecated)
  • GearmanWorker — The GearmanWorker class
    • GearmanWorker::addFunction — Register and add callback function
    • GearmanWorker::addOptions — Add worker options
    • GearmanWorker::addServer — Add a job server
    • GearmanWorker::addServers — Add job servers
    • GearmanWorker::clone — Create a copy of the worker
    • GearmanWorker::__construct — Create a GearmanWorker instance
    • GearmanWorker::echo — Test job server response
    • GearmanWorker::error — Get the last error encountered
    • GearmanWorker::getErrno — Get errno
    • GearmanWorker::options — Get worker options
    • GearmanWorker::register — Register a function with the job server
    • GearmanWorker::removeOptions — Remove worker options
    • GearmanWorker::returnCode — Get last Gearman return code
    • GearmanWorker::setId — Give the worker an identifier so it can be tracked when asking gearmand for the list of available workers.
    • GearmanWorker::setOptions — Set worker options
    • GearmanWorker::setTimeout — Set socket I/O activity timeout
    • GearmanWorker::timeout — Get socket I/O activity timeout
    • GearmanWorker::unregister — Unregister a function name with the job servers
    • GearmanWorker::unregisterAll — Unregister all function names with the job servers
    • GearmanWorker::wait — Wait for activity from one of the job servers
    • GearmanWorker::work — Wait for and perform jobs
  • GearmanException — The GearmanException class
ftp_systype
Einführung
Sonstige Dienste


Einführung

» Gearman is a generic application framework for farming out work to multiple machines or processes. It allows applications to complete tasks in parallel, to load balance processing, and to call functions between languages. The framework can be used in a variety of applications, from high-availability web sites to the transport of database replication events.

This extension provides classes for writing Gearman clients and workers.

Gearman
Installation/Konfiguration
Gearman


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Gearman


Anforderungen

This extension requires the » libgearman, » libevent and » uuid libraries, and a running Gearman server.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/gearman

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

Return values. Always check GearmanClient::error() or GearmanWorker() for a string error, as it may contain more details:

GEARMAN_SUCCESS (integer)
Whatever action was taken was successful.
GEARMAN_IO_WAIT (integer)
When in non-blocking mode, an event is hit that would have blocked.
GEARMAN_ERRNO (integer)
A system error. Check GearmanClient::errno() or GearmanWorker::errno() for the system error code that was returned.
GEARMAN_NO_ACTIVE_FDS (integer)
GearmanClient::wait() or GearmanWorker() was called with no connections.
GEARMAN_UNEXPECTED_PACKET (integer)
Indicates something going very wrong in gearmand. Applies only to GearmanWorker.
GEARMAN_GETADDRINFO (integer)
DNS resolution failed (invalid host, port, etc).
GEARMAN_NO_SERVERS (integer)
Did not call GearmanClient::addServer() before submitting jobs or tasks.
GEARMAN_LOST_CONNECTION (integer)
Lost a connection during a request.
GEARMAN_MEMORY_ALLOCATION_FAILURE (integer)
Memory allocation failed (ran out of memory).
GEARMAN_SERVER_ERROR (integer)
Something went wrong in the Gearman server and it could not handle the request gracefully.
GEARMAN_WORK_DATA (integer)
Notice return code obtained with GearmanClient::returnCode() when using GearmanClient::do(). Sent to update the client with data from a running job. A worker uses this when it needs to send updates, send partial results, or flush data during long running jobs.
GEARMAN_WORK_WARNING (integer)
Notice return code obtained with GearmanClient::returnCode() when using GearmanClient::do(). Updates the client with a warning. The behavior is just like GEARMAN_WORK_DATA, but should be treated as a warning instead of normal response data.
GEARMAN_WORK_STATUS (integer)
Notice return code obtained with GearmanClient::returnCode() when using GearmanClient::do(). Sent to update the status of a long running job. Use GearmanClient::doStatus() to obtain the percentage complete of the task.
GEARMAN_WORK_EXCEPTION (integer)
Notice return code obtained with GearmanClient::returnCode() when using GearmanClient::do(). Indicates that a job failed with a given exception.
GEARMAN_WORK_FAIL (integer)
Notice return code obtained with GearmanClient::returnCode() when using GearmanClient::do(). Indicates that the job failed.
GEARMAN_COULD_NOT_CONNECT (integer)
Failed to connect to servers.
GEARMAN_INVALID_FUNCTION_NAME (integer)
Trying to register a function name of NULL or using the callback interface without specifying callbacks.
GEARMAN_INVALID_WORKER_FUNCTION (integer)
Trying to register a function with a NULL callback function.
GEARMAN_NO_REGISTERED_FUNCTIONS (integer)
When a worker gets a job for a function it did not register.
GEARMAN_NO_JOBS (integer)
For a non-blocking worker, when GearmanWorker::work() does not have any active jobs.
GEARMAN_ECHO_DATA_CORRUPTION (integer)
After GearmanClient::echo() or GearmanWorker::echo() the data returned doesn't match the data sent.
GEARMAN_NEED_WORKLOAD_FN (integer)
When the client opted to stream the workload of a task, but did not specify a workload callback function.
GEARMAN_PAUSE (integer)
For the non-blocking client task interface, can be returned from the task callback to "pause" the call and return from GearmanClient::runTasks(). Call GearmanClient::runTasks() again to continue.
GEARMAN_UNKNOWN_STATE (integer)
Internal client/worker state error.
GEARMAN_SEND_BUFFER_TOO_SMALL (integer)
Internal error: trying to flush more data in one atomic chunk than is possible due to hard-coded buffer sizes.
GEARMAN_TIMEOUT (integer)
Hit the timeout limit set by the client/worker.

GearmanClient options:

GEARMAN_CLIENT_GENERATE_UNIQUE (integer)
Generate a unique id (UUID) for each task.
GEARMAN_CLIENT_NON_BLOCKING (integer)
Run the cient in a non-blocking mode.
GEARMAN_CLIENT_UNBUFFERED_RESULT (integer)
Allow the client to read data in chunks rather than have the library buffer the entire data result and pass that back.
GEARMAN_CLIENT_FREE_TASKS (integer)
Automatically free task objects once they are complete. This is the default setting in this extension to prevent memory leaks.

GearmanWorker options:

GEARMAN_WORKER_NON_BLOCKING (integer)
Run the worker in non-blocking mode.
GEARMAN_WORKER_GRAB_UNIQ (integer)
Return the client assigned unique ID in addition to the job handle.

Base Gearman configuration:

GEARMAN_DEFAULT_TCP_HOST (string)
GEARMAN_DEFAULT_TCP_PORT (integer)
GEARMAN_DEFAULT_SOCKET_TIMEOUT (integer)
GEARMAN_DEFAULT_SOCKET_SEND_SIZE (integer)
GEARMAN_DEFAULT_SOCKET_RECV_SIZE (integer)
GEARMAN_MAX_ERROR_SIZE (integer)
GEARMAN_PACKET_HEADER_SIZE (integer)
GEARMAN_JOB_HANDLE_SIZE (integer)
GEARMAN_OPTION_SIZE (integer)
GEARMAN_UNIQUE_SIZE (integer)
GEARMAN_MAX_COMMAND_ARGS (integer)
GEARMAN_ARGS_BUFFER_SIZE (integer)
GEARMAN_SEND_BUFFER_SIZE (integer)
GEARMAN_RECV_BUFFER_SIZE (integer)
GEARMAN_WORKER_WAIT_TIMEOUT (integer)

Ressource-Typen
Beispiele
Gearman


Beispiele

Inhaltsverzeichnis

  • Basic usage
  • Basic Gearman client and worker, background
  • Basic Gearman client and worker, submitting tasks
Vordefinierte Konstanten
Basic usage
Gearman


Basic usage

Beispiel #1 Basic Gearman client and worker

This example shows a very simple client and worker. The client sends a string to the job server, and the worker reverses the string and sends it back. The job is performed synchronously.

<?php

# Create our client object.
$gmclient= new GearmanClient();

# Add default server (localhost).
$gmclient->addServer();

echo "Sending job\n";

# Send reverse job
do
{
  $result = $gmclient->doNormal("reverse", "Hello!");

  # Check for various return packets and errors.
  switch($gmclient->returnCode())
  {
    case GEARMAN_WORK_DATA:
      echo "Data: $result\n";
      break;
    case GEARMAN_WORK_STATUS:
      list($numerator, $denominator)= $gmclient->doStatus();
      echo "Status: $numerator/$denominator complete\n";
      break;
    case GEARMAN_WORK_FAIL:
      echo "Failed\n";
      exit;
    case GEARMAN_SUCCESS:
      echo "Success: $result\n";
      break;
    default:
      echo "RET: " . $gmclient->returnCode() . "\n";
      exit;
  }
}
while($gmclient->returnCode() != GEARMAN_SUCCESS);

?>
<?php

echo "Starting\n";

# Create our worker object.
$gmworker= new GearmanWorker();

# Add default server (localhost).
$gmworker->addServer();

# Register function "reverse" with the server. Change the worker function to
# "reverse_fn_fast" for a faster worker with no output.
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

function reverse_fn($job)
{
  echo "Received job: " . $job->handle() . "\n";

  $workload = $job->workload();
  $workload_size = $job->workloadSize();

  echo "Workload: $workload ($workload_size)\n";

  # This status loop is not needed, just showing how it works
  for ($x= 0; $x < $workload_size; $x++)
  {
    echo "Sending status: " . ($x + 1) . "/$workload_size complete\n";
    $job->sendStatus($x, $workload_size);
    sleep(1);
  }

  $result= strrev($workload);
  echo "Result: $result\n";

  # Return what we want to send back to the client.
  return $result;
}

# A much simpler and less verbose version of the above function would be:
function reverse_fn_fast($job)
{
  return strrev($job->workload());
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

% php reverse_worker.php
Starting
Waiting for job...
Received job: H:foo.local:36
Workload: Hello! (6)
Sending status: 1/6 complete
Sending status: 2/6 complete
Sending status: 3/6 complete
Sending status: 4/6 complete
Sending status: 5/6 complete
Sending status: 6/6 complete
Result: !olleH

% php reverse_client.php
Starting
Sending job
Status: 1/6 complete
Status: 2/6 complete
Status: 3/6 complete
Status: 4/6 complete
Status: 5/6 complete
Status: 6/6 complete
Success: !olleH

Beispiele
Basic Gearman client and worker, background
Beispiele


Basic Gearman client and worker, background

Beispiel #1 Basic Gearman client and worker, background

This example shows a very simple client and worker. The client sends a string to the job server as a background job, and the worker reverses the string. Note that since the work is performed asynchronously, the client does not wait for the job to complete and exits (and hence the client never receives the results).

<?php

# create our client object
$gmclient= new GearmanClient();

# add the default server (localhost)
$gmclient->addServer();

# run reverse client in the background
$job_handle = $gmclient->doBackground("reverse", "this is a test");

if ($gmclient->returnCode() != GEARMAN_SUCCESS)
{
  echo "bad return code\n";
  exit;
}

echo "done!\n";

?>
<?php

echo "Starting\n";

# Create our worker object.
$gmworker= new GearmanWorker();

# Add default server (localhost).
$gmworker->addServer();

# Register function "reverse" with the server. Change the worker function to
# "reverse_fn_fast" for a faster worker with no output.
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

function reverse_fn($job)
{
  echo "Received job: " . $job->handle() . "\n";

  $workload = $job->workload();
  $workload_size = $job->workloadSize();

  echo "Workload: $workload ($workload_size)\n";

  # This status loop is not needed, just showing how it works
  for ($x= 0; $x < $workload_size; $x++)
  {
    echo "Sending status: " . ($x + 1) . "/$workload_size complete\n";
    $job->sendStatus($x, $workload_size);
    sleep(1);
  }

  $result= strrev($workload);
  echo "Result: $result\n";

  # Return what we want to send back to the client.
  return $result;
}

# A much simpler and less verbose version of the above function would be:
function reverse_fn_fast($job)
{
  return strrev($job->workload());
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

% php reverse_worker.php
Starting
Waiting for job...
Received job: H:foo.local:41
Workload: this is a test (14)
1/14 complete
2/14 complete
3/14 complete
4/14 complete
5/14 complete
6/14 complete
7/14 complete
8/14 complete
9/14 complete
10/14 complete
11/14 complete
12/14 complete
13/14 complete
14/14 complete
Result: tset a si siht

% php reverse_client_bg.php
done!

Basic usage
Basic Gearman client and worker, submitting tasks
Beispiele


Basic Gearman client and worker, submitting tasks

Beispiel #1 Basic Gearman client and worker, submitting tasks

In this example, the basic reverse client extended to run two tasks in parallel. The reverse worker is unchanged except to add sending of data back during processing.

<?php

# create the gearman client
$gmc= new GearmanClient();

# add the default server (localhost)
$gmc->addServer();

# register some callbacks
$gmc->setCreatedCallback("reverse_created");
$gmc->setDataCallback("reverse_data");
$gmc->setStatusCallback("reverse_status");
$gmc->setCompleteCallback("reverse_complete");
$gmc->setFailCallback("reverse_fail");

# set some arbitrary application data
$data['foo'] = 'bar';

# add two tasks
$task= $gmc->addTask("reverse", "foo", $data);
$task2= $gmc->addTaskLow("reverse", "bar", NULL);

# run the tasks in parallel (assuming multiple workers)
if (! $gmc->runTasks())
{
    echo "ERROR " . $gmc->error() . "\n";
    exit;
}

echo "DONE\n";

function reverse_created($task)
{
    echo "CREATED: " . $task->jobHandle() . "\n";
}

function reverse_status($task)
{
    echo "STATUS: " . $task->jobHandle() . " - " . $task->taskNumerator() .
         "/" . $task->taskDenominator() . "\n";
}

function reverse_complete($task)
{
    echo "COMPLETE: " . $task->jobHandle() . ", " . $task->data() . "\n";
}

function reverse_fail($task)
{
    echo "FAILED: " . $task->jobHandle() . "\n";
}

function reverse_data($task)
{
    echo "DATA: " . $task->data() . "\n";
}

?>
<?php

echo "Starting\n";

# Create our worker object.
$gmworker= new GearmanWorker();

# Add default server (localhost).
$gmworker->addServer();

# Register function "reverse" with the server. Change the worker function to
# "reverse_fn_fast" for a faster worker with no output.
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

function reverse_fn($job)
{
  echo "Received job: " . $job->handle() . "\n";

  $workload = $job->workload();
  $workload_size = $job->workloadSize();

  echo "Workload: $workload ($workload_size)\n";

  # This status loop is not needed, just showing how it works
  for ($x= 0; $x < $workload_size; $x++)
  {
    echo "Sending status: " . ($x + 1) . "/$workload_size complete\n";
    $job->sendStatus($x+1, $workload_size);
    $job->sendData(substr($workload, $x, 1));
    sleep(1);
  }

  $result= strrev($workload);
  echo "Result: $result\n";

  # Return what we want to send back to the client.
  return $result;
}

# A much simpler and less verbose version of the above function would be:
function reverse_fn_fast($job)
{
  return strrev($job->workload());
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

% php reverse_worker.php
Starting
Waiting for job...
Received job: H:foo.local:45
Workload: foo (3)
1/3 complete
2/3 complete
3/3 complete
Result: oof
Received job: H:foo.local:44
Workload: bar (3)
1/3 complete
2/3 complete
3/3 complete
Result: rab

% php reverse_client_task.php
CREATED: H:foo.local:44
CREATED: H:foo.local:45
STATUS: H:foo.local:45 - 1/3
DATA: f
STATUS: H:foo.local:45 - 2/3
DATA: o
STATUS: H:foo.local:45 - 3/3
DATA: o
COMPLETE: H:foo.local:45, oof
STATUS: H:foo.local:44 - 1/3
DATA: b
STATUS: H:foo.local:44 - 2/3
DATA: a
STATUS: H:foo.local:44 - 3/3
DATA: r
COMPLETE: H:foo.local:44, rab
DONE

Basic Gearman client and worker, background
GearmanClient
Beispiele


The GearmanClient class

(PECL gearman >= 0.5.0)

Einführung

Represents a class for connecting to a Gearman job server and making requests to perform some function on provided data. The function performed must be one registered by a Gearman worker and the data passed is opaque to the job server.

Klassenbeschreibung

GearmanClient {
/* Methoden */
public bool addOptions ( int $options )
public bool addServer ([ string $host = 127.0.0.1 [, int $port = 4730 ]] )
public bool addServers ([ string $servers = 127.0.0.1:4730 ] )
public GearmanTask addTask ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )
public GearmanTask addTaskBackground ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )
public GearmanTask addTaskHigh ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )
public GearmanTask addTaskHighBackground ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )
public GearmanTask addTaskLow ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )
public GearmanTask addTaskLowBackground ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )
public GearmanTask addTaskStatus ( string $job_handle [, string &$context ] )
public bool clearCallbacks ( void )
public GearmanClient clone ( void )
public __construct ( void )
public string context ( void )
public string data ( void )
public string do ( string $function_name , string $workload [, string $unique ] )
public string doBackground ( string $function_name , string $workload [, string $unique ] )
public string doHigh ( string $function_name , string $workload [, string $unique ] )
public string doHighBackground ( string $function_name , string $workload [, string $unique ] )
public string doJobHandle ( void )
public string doLow ( string $function_name , string $workload [, string $unique ] )
public string doLowBackground ( string $function_name , string $workload [, string $unique ] )
public string doNormal ( string $function_name , string $workload [, string $unique ] )
public array doStatus ( void )
public bool echo ( string $workload )
public string error ( void )
public int getErrno ( void )
public array jobStatus ( string $job_handle )
public bool ping ( string $workload )
public bool removeOptions ( int $options )
public int returnCode ( void )
public bool runTasks ( void )
public void setClientCallback ( callable $callback )
public bool setCompleteCallback ( callable $callback )
public bool setContext ( string $context )
public bool setCreatedCallback ( string $callback )
public bool setData ( string $data )
public bool setDataCallback ( callable $callback )
public bool setExceptionCallback ( callable $callback )
public bool setFailCallback ( callable $callback )
public bool setOptions ( int $options )
public bool setStatusCallback ( callable $callback )
public bool setTimeout ( int $timeout )
public bool setWarningCallback ( callable $callback )
public bool setWorkloadCallback ( callable $callback )
public int timeout ( void )
}

Inhaltsverzeichnis

  • GearmanClient::addOptions — Add client options
  • GearmanClient::addServer — Add a job server to the client
  • GearmanClient::addServers — Add a list of job servers to the client
  • GearmanClient::addTask — Add a task to be run in parallel
  • GearmanClient::addTaskBackground — Add a background task to be run in parallel
  • GearmanClient::addTaskHigh — Add a high priority task to run in parallel
  • GearmanClient::addTaskHighBackground — Add a high priority background task to be run in parallel
  • GearmanClient::addTaskLow — Add a low priority task to run in parallel
  • GearmanClient::addTaskLowBackground — Add a low priority background task to be run in parallel
  • GearmanClient::addTaskStatus — Add a task to get status
  • GearmanClient::clearCallbacks — Clear all task callback functions
  • GearmanClient::clone — Create a copy of a GearmanClient object
  • GearmanClient::__construct — Create a GearmanClient instance
  • GearmanClient::context — Get the application context
  • GearmanClient::data — Get the application data (deprecated)
  • GearmanClient::do — Run a single task and return a result [deprecated]
  • GearmanClient::doBackground — Run a task in the background
  • GearmanClient::doHigh — Run a single high priority task
  • GearmanClient::doHighBackground — Run a high priority task in the background
  • GearmanClient::doJobHandle — Get the job handle for the running task
  • GearmanClient::doLow — Run a single low priority task
  • GearmanClient::doLowBackground — Run a low priority task in the background
  • GearmanClient::doNormal — Run a single task and return a result
  • GearmanClient::doStatus — Get the status for the running task
  • GearmanClient::echo — Send data to all job servers to see if they echo it back [deprecated]
  • GearmanClient::error — Returns an error string for the last error encountered.
  • GearmanClient::getErrno — Get an errno value
  • GearmanClient::jobStatus — Get the status of a background job
  • GearmanClient::ping — Send data to all job servers to see if they echo it back
  • GearmanClient::removeOptions — Remove client options
  • GearmanClient::returnCode — Get the last Gearman return code
  • GearmanClient::runTasks — Run a list of tasks in parallel
  • GearmanClient::setClientCallback — Callback function when there is a data packet for a task (deprecated)
  • GearmanClient::setCompleteCallback — Set a function to be called on task completion
  • GearmanClient::setContext — Set application context
  • GearmanClient::setCreatedCallback — Set a callback for when a task is queued
  • GearmanClient::setData — Set application data (deprecated)
  • GearmanClient::setDataCallback — Callback function when there is a data packet for a task
  • GearmanClient::setExceptionCallback — Set a callback for worker exceptions
  • GearmanClient::setFailCallback — Set callback for job failure
  • GearmanClient::setOptions — Set client options
  • GearmanClient::setStatusCallback — Set a callback for collecting task status
  • GearmanClient::setTimeout — Set socket I/O activity timeout
  • GearmanClient::setWarningCallback — Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback — Set a callback for accepting incremental data updates
  • GearmanClient::timeout — Get current socket I/O activity timeout value
Basic Gearman client and worker, submitting tasks
GearmanClient::addOptions
Gearman


Add client options

GearmanClient
GearmanClient::addServer
GearmanClient
PHP Manual

GearmanClient::addOptions

(PECL gearman >= 0.6.0)

GearmanClient::addOptions — Add client options

Beschreibung

public bool GearmanClient::addOptions ( int $options )

Adds one or more options to those already set.

Parameter-Liste

options

The options to add. One of the following constants, or a combination of them using the bitwise OR operator ("|"): GEARMAN_CLIENT_GENERATE_UNIQUE, GEARMAN_CLIENT_NON_BLOCKING, GEARMAN_CLIENT_UNBUFFERED_RESULT or GEARMAN_CLIENT_FREE_TASKS.

Rückgabewerte

Always returns TRUE.

GearmanClient
GearmanClient::addServer
GearmanClient


Add a job server to the client

GearmanClient::addOptions
GearmanClient::addServers
GearmanClient
PHP Manual

GearmanClient::addServer

(PECL gearman >= 0.5.0)

GearmanClient::addServer — Add a job server to the client

Beschreibung

public bool GearmanClient::addServer ([ string $host = 127.0.0.1 [, int $port = 4730 ]] )

Adds a job server to a list of servers that can be used to run a task. No socket I/O happens here; the server is simply added to the list.

Parameter-Liste

host

Der Hostname des Jobservers.

port

Der Port des Jobservers.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Adding two job servers

<?php

# Create our client object.
$gmclient= new GearmanClient();

# Add two job servers, the first on the default 4730 port
$gmclient->addServer("10.0.0.1");
$gmclient->addServer("10.0.0.2", 7003);

?>

Siehe auch

  • GearmanClient::addServers() - Add a list of job servers to the client

GearmanClient::addOptions
GearmanClient::addServers
GearmanClient


Add a list of job servers to the client

GearmanClient::addServer
GearmanClient::addTask
GearmanClient
PHP Manual

GearmanClient::addServers

(PECL gearman >= 0.5.0)

GearmanClient::addServers — Add a list of job servers to the client

Beschreibung

public bool GearmanClient::addServers ([ string $servers = 127.0.0.1:4730 ] )

Adds a list of job servers that can be used to run a task. No socket I/O happens here; the servers are simply added to the full list of servers.

Parameter-Liste

servers

A comma-separated list of servers, each server specified in the format 'host:port'.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Add two job servers

<?php

# Create our client object.
$gmclient= new GearmanClient();

# Add multiple job servers, the first on the default 4730 port
$gmclient->addServers("10.0.0.1,10.0.0.2:7003");

?>

Siehe auch

  • GearmanClient::addServer() - Add a job server to the client

GearmanClient::addServer
GearmanClient::addTask
GearmanClient


Add a task to be run in parallel

GearmanClient::addServers
GearmanClient::addTaskBackground
GearmanClient
PHP Manual

GearmanClient::addTask

(PECL gearman >= 0.5.0)

GearmanClient::addTask — Add a task to be run in parallel

Beschreibung

public GearmanTask GearmanClient::addTask ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )

Adds a task to be run in parallel with other tasks. Call this method for all the tasks to be run in parallel, then call GearmanClient::runTasks() to perform the work. Note that enough workers need to be available for the tasks to all run in parallel.

Parameter-Liste

function_name

Die registrierte Funktion, die der Worker ausführen soll

workload

Serialisierte Daten, die verarbeitet werden sollen

context

Der Anwendungskontext der mit einem Task verknüpft werden soll

unique

Eine eindeutige ID, die einen bestimmten Task identifiziert

Rückgabewerte

A GearmanTask object or FALSE if the task could not be added.

Beispiele

Beispiel #1 Basic submission of two tasks

<?php

# Create our gearman client
$gmclient= new GearmanClient();

# add the default job server
$gmclient->addServer();

# set a function to be called when the work is complete
$gmclient->setCompleteCallback("complete");

# add a task to perform the "reverse" function on the string "Hello World!"
$gmclient->addTask("reverse", "Hello World!", null, "1");

# add another task to perform the "reverse" function on the string "!dlroW olleH"
$gmclient->addTask("reverse", "!dlroW olleH", null, "2");

# run the tasks
$gmclient->runTasks();

function complete($task)
{
  print "COMPLETE: " . $task->unique() . ", " . $task->data() . "\n";
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

COMPLETE: 2, Hello World!
COMPLETE: 1, !dlroW olleH

Beispiel #2 Basic submission of two tasks with passing application context

<?php

$client = new GearmanClient();
$client->addServer();

# set a function to be called when the work is complete
$client->setCompleteCallback("reverse_complete");

# Add some tasks for a placeholder of where to put the results
$results = array();
$client->addTask("reverse", "Hello World!", &$results, "t1");
$client->addTask("reverse", "!dlroW olleH", &$results, "t2");

$client->runTasks();

# The results should now be filled in from the callbacks
foreach ($results as $id => $result)
   echo $id . ": " . $result['handle'] . ", " . $result['data'] . "\n";

function reverse_complete($task, $results)
{
   $results[$task->unique()] = array("handle"=>$task->jobHandle(), "data"=>$task->data());
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

t2: H.foo:21, Hello World!
t1: H:foo:22, !dlroW olleH

Siehe auch

  • GearmanClient::addTaskHigh() - Add a high priority task to run in parallel
  • GearmanClient::addTaskLow() - Add a low priority task to run in parallel
  • GearmanClient::addTaskBackground() - Add a background task to be run in parallel
  • GearmanClient::addTaskHighBackground() - Add a high priority background task to be run in parallel
  • GearmanClient::addTaskLowBackground() - Add a low priority background task to be run in parallel
  • GearmanClient::runTasks() - Run a list of tasks in parallel

GearmanClient::addServers
GearmanClient::addTaskBackground
GearmanClient


Add a background task to be run in parallel

GearmanClient::addTask
GearmanClient::addTaskHigh
GearmanClient
PHP Manual

GearmanClient::addTaskBackground

(PECL gearman >= 0.5.0)

GearmanClient::addTaskBackground — Add a background task to be run in parallel

Beschreibung

public GearmanTask GearmanClient::addTaskBackground ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )

Adds a background task to be run in parallel with other tasks. Call this method for all the tasks to be run in parallel, then call GearmanClient::runTasks() to perform the work.

Parameter-Liste

function_name

Die registrierte Funktion, die der Worker ausführen soll

workload

Serialisierte Daten, die verarbeitet werden sollen

context

Der Anwendungskontext der mit einem Task verknüpft werden soll

unique

Eine eindeutige ID, die einen bestimmten Task identifiziert

Rückgabewerte

A GearmanTask object or FALSE if the task could not be added.

Beispiele

Beispiel #1 Two tasks, one background and one not

This example illustrates the difference between running a background task and a normal task. The client adds two tasks to execute the same function, but one is added with addTaskBackground(). A callback is set so that progress of the job can be tracked. A simple worker with an artificial delay reports on the job progress and the client picks this up through the callback. Two workers are run for this example. Note that the background task does not show in the client output.

<?php

# The client script

# create our gearman client
$gmc= new GearmanClient();

# add the default job server
$gmc->addServer();

# set a couple of callbacks so we can track progress
$gmc->setCompleteCallback("reverse_complete");
$gmc->setStatusCallback("reverse_status");

# add a task for the "reverse" function
$task= $gmc->addTask("reverse", "Hello World!", null, "1");

# add another task, but this one to run in the background
$task= $gmc->addTaskBackground("reverse", "!dlroW olleH", null, "2");

if (! $gmc->runTasks())
{
    echo "ERROR " . $gmc->error() . "\n";
    exit;
}

echo "DONE\n";

function reverse_status($task)
{
    echo "STATUS: " . $task->unique() . ", " . $task->jobHandle() . " - " . $task->taskNumerator() .
         "/" . $task->taskDenominator() . "\n";
}

function reverse_complete($task)
{
    echo "COMPLETE: " . $task->unique() . ", " . $task->data() . "\n";
}

?>
<?php

# The worker script

echo "Starting\n";

# Create our worker object.
$gmworker= new GearmanWorker();

# Add default server (localhost).
$gmworker->addServer();

# Register function "reverse" with the server.
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

function reverse_fn($job)
{
  echo "Received job: " . $job->handle() . "\n";

  $workload = $job->workload();
  $workload_size = $job->workloadSize();

  echo "Workload: $workload ($workload_size)\n";

  # This status loop is not needed, just showing how it works
  for ($x= 0; $x < $workload_size; $x++)
  {
    echo "Sending status: " . ($x + 1) . "/$workload_size complete\n";
    $job->sendStatus($x+1, $workload_size);
    $job->sendData(substr($workload, $x, 1));
    sleep(1);
  }

  $result= strrev($workload);
  echo "Result: $result\n";

  # Return what we want to send back to the client.
  return $result;
}

?>

Worker output for two workers running:

Received job: H:foo.local:65
Workload: !dlroW olleH (12)
1/12 complete
Received job: H:foo.local:66
Workload: Hello World! (12)
Sending status: 1/12 complete
Sending status: 2/12 complete
Sending status: 2/12 complete
Sending status: 3/12 complete
Sending status: 3/12 complete
Sending status: 4/12 complete
Sending status: 4/12 complete
Sending status: 5/12 complete
Sending status: 5/12 complete
Sending status: 6/12 complete
Sending status: 6/12 complete
Sending status: 7/12 complete
Sending status: 7/12 complete
Sending status: 8/12 complete
Sending status: 8/12 complete
Sending status: 9/12 complete
Sending status: 9/12 complete
Sending status: 10/12 complete
Sending status: 10/12 complete
Sending status: 11/12 complete
Sending status: 11/12 complete
Sending status: 12/12 complete
Sending status: 12/12 complete
Result: !dlroW olleH
Result: Hello World!

Client output:

STATUS: 1, H:foo.local:66 - 1/12
STATUS: 1, H:foo.local:66 - 2/12
STATUS: 1, H:foo.local:66 - 3/12
STATUS: 1, H:foo.local:66 - 4/12
STATUS: 1, H:foo.local:66 - 5/12
STATUS: 1, H:foo.local:66 - 6/12
STATUS: 1, H:foo.local:66 - 7/12
STATUS: 1, H:foo.local:66 - 8/12
STATUS: 1, H:foo.local:66 - 9/12
STATUS: 1, H:foo.local:66 - 10/12
STATUS: 1, H:foo.local:66 - 11/12
STATUS: 1, H:foo.local:66 - 12/12
COMPLETE: 1, !dlroW olleH
DONE

Siehe auch

  • GearmanClient::addTask() - Add a task to be run in parallel
  • GearmanClient::addTaskHigh() - Add a high priority task to run in parallel
  • GearmanClient::addTaskLow() - Add a low priority task to run in parallel
  • GearmanClient::addTaskHighBackground() - Add a high priority background task to be run in parallel
  • GearmanClient::addTaskLowBackground() - Add a low priority background task to be run in parallel
  • GearmanClient::runTasks() - Run a list of tasks in parallel

GearmanClient::addTask
GearmanClient::addTaskHigh
GearmanClient


Add a high priority task to run in parallel

GearmanClient::addTaskBackground
GearmanClient::addTaskHighBackground
GearmanClient
PHP Manual

GearmanClient::addTaskHigh

(PECL gearman >= 0.5.0)

GearmanClient::addTaskHigh — Add a high priority task to run in parallel

Beschreibung

public GearmanTask GearmanClient::addTaskHigh ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )

Adds a high priority task to be run in parallel with other tasks. Call this method for all the high priority tasks to be run in parallel, then call GearmanClient::runTasks() to perform the work. Tasks with a high priority will be selected from the queue before those of normal or low priority.

Parameter-Liste

function_name

Die registrierte Funktion, die der Worker ausführen soll

workload

Serialisierte Daten, die verarbeitet werden sollen

context

Der Anwendungskontext der mit einem Task verknüpft werden soll

unique

Eine eindeutige ID, die einen bestimmten Task identifiziert

Rückgabewerte

A GearmanTask object or FALSE if the task could not be added.

Beispiele

Beispiel #1 A high priority task along with two normal tasks

A high priority task is included among two other tasks. A single worker is available, so that tasks are run one at a time, with the high priority task run first.

<?php

# create the gearman client
$gmc= new GearmanClient();

# add the default job server
$gmc->addServer();

# set the callback for when the job is complete
$gmc->setCompleteCallback("reverse_complete");

# add tasks, one of which is high priority
$task= $gmc->addTask("reverse", "Hello World!", null, "1");
$task= $gmc->addTaskHigh("reverse", "!dlroW olleH", null, "2");
$task= $gmc->addTask("reverse", "Hello World!", null, "3");

if (! $gmc->runTasks())
{
    echo "ERROR " . $gmc->error() . "\n";
    exit;
}
echo "DONE\n";

function reverse_complete($task)
{
    echo "COMPLETE: " . $task->unique() . ", " . $task->data() . "\n";
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

COMPLETE: 2, Hello World!
COMPLETE: 3, !dlroW olleH
COMPLETE: 1, !dlroW olleH
DONE

Siehe auch

  • GearmanClient::addTask() - Add a task to be run in parallel
  • GearmanClient::addTaskLow() - Add a low priority task to run in parallel
  • GearmanClient::addTaskBackground() - Add a background task to be run in parallel
  • GearmanClient::addTaskHighBackground() - Add a high priority background task to be run in parallel
  • GearmanClient::addTaskLowBackground() - Add a low priority background task to be run in parallel
  • GearmanClient::runTasks() - Run a list of tasks in parallel

GearmanClient::addTaskBackground
GearmanClient::addTaskHighBackground
GearmanClient


Add a high priority background task to be run in parallel

GearmanClient::addTaskHigh
GearmanClient::addTaskLow
GearmanClient
PHP Manual

GearmanClient::addTaskHighBackground

(PECL gearman >= 0.5.0)

GearmanClient::addTaskHighBackground — Add a high priority background task to be run in parallel

Beschreibung

public GearmanTask GearmanClient::addTaskHighBackground ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )

Adds a high priority background task to be run in parallel with other tasks. Call this method for all the tasks to be run in parallel, then call GearmanClient::runTasks() to perform the work. Tasks with a high priority will be selected from the queue before those of normal or low priority.

Parameter-Liste

function_name

Die registrierte Funktion, die der Worker ausführen soll

workload

Serialisierte Daten, die verarbeitet werden sollen

context

Der Anwendungskontext der mit einem Task verknüpft werden soll

unique

Eine eindeutige ID, die einen bestimmten Task identifiziert

Rückgabewerte

A GearmanTask object or FALSE if the task could not be added.

Siehe auch

  • GearmanClient::addTask() - Add a task to be run in parallel
  • GearmanClient::addTaskHigh() - Add a high priority task to run in parallel
  • GearmanClient::addTaskLow() - Add a low priority task to run in parallel
  • GearmanClient::addTaskBackground() - Add a background task to be run in parallel
  • GearmanClient::addTaskLowBackground() - Add a low priority background task to be run in parallel
  • GearmanClient::runTasks() - Run a list of tasks in parallel

GearmanClient::addTaskHigh
GearmanClient::addTaskLow
GearmanClient


Add a low priority task to run in parallel

GearmanClient::addTaskHighBackground
GearmanClient::addTaskLowBackground
GearmanClient
PHP Manual

GearmanClient::addTaskLow

(PECL gearman >= 0.5.0)

GearmanClient::addTaskLow — Add a low priority task to run in parallel

Beschreibung

public GearmanTask GearmanClient::addTaskLow ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )

Adds a low priority background task to be run in parallel with other tasks. Call this method for all the tasks to be run in parallel, then call GearmanClient::runTasks() to perform the work. Tasks with a low priority will be selected from the queue after those of normal or low priority.

Parameter-Liste

function_name

Die registrierte Funktion, die der Worker ausführen soll

workload

Serialisierte Daten, die verarbeitet werden sollen

context

Der Anwendungskontext der mit einem Task verknüpft werden soll

unique

Eine eindeutige ID, die einen bestimmten Task identifiziert

Rückgabewerte

A GearmanTask object or FALSE if the task could not be added.

Beispiele

Beispiel #1 A low priority task along with two normal tasks

A low priority task is included among two other tasks. A single worker is available, so that tasks are run one at a time, with the low priority task run last.

<?php

# create the gearman client
$gmc= new GearmanClient();

# add the default job server
$gmc->addServer();

# set the callback for when the job is complete
$gmc->setCompleteCallback("reverse_complete");

# add tasks, one of which is low priority
$task= $gmc->addTask("reverse", "Hello World!", null, "1");
$task= $gmc->addTaskLow("reverse", "!dlroW olleH", null, "2");
$task= $gmc->addTask("reverse", "Hello World!", null, "3");

if (! $gmc->runTasks())
{
    echo "ERROR " . $gmc->error() . "\n";
    exit;
}
echo "DONE\n";

function reverse_complete($task)
{
    echo "COMPLETE: " . $task->unique() . ", " . $task->data() . "\n";
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

COMPLETE: 3, !dlroW olleH
COMPLETE: 1, !dlroW olleH
COMPLETE: 2, Hello World!
DONE

Siehe auch

  • GearmanClient::addTask() - Add a task to be run in parallel
  • GearmanClient::addTaskHigh() - Add a high priority task to run in parallel
  • GearmanClient::addTaskBackground() - Add a background task to be run in parallel
  • GearmanClient::addTaskHighBackground() - Add a high priority background task to be run in parallel
  • GearmanClient::addTaskLowBackground() - Add a low priority background task to be run in parallel
  • GearmanClient::runTasks() - Run a list of tasks in parallel

GearmanClient::addTaskHighBackground
GearmanClient::addTaskLowBackground
GearmanClient


Add a low priority background task to be run in parallel

GearmanClient::addTaskLow
GearmanClient::addTaskStatus
GearmanClient
PHP Manual

GearmanClient::addTaskLowBackground

(PECL gearman >= 0.5.0)

GearmanClient::addTaskLowBackground — Add a low priority background task to be run in parallel

Beschreibung

public GearmanTask GearmanClient::addTaskLowBackground ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )

Adds a low priority background task to be run in parallel with other tasks. Call this method for all the tasks to be run in parallel, then call GearmanClient::runTasks() to perform the work. Tasks with a low priority will be selected from the queue after those of normal or high priority.

Parameter-Liste

function_name

Die registrierte Funktion, die der Worker ausführen soll

workload

Serialisierte Daten, die verarbeitet werden sollen

context

Der Anwendungskontext der mit einem Task verknüpft werden soll

unique

Eine eindeutige ID, die einen bestimmten Task identifiziert

Rückgabewerte

A GearmanTask object or FALSE if the task could not be added.

Siehe auch

  • GearmanClient::addTask() - Add a task to be run in parallel
  • GearmanClient::addTaskHigh() - Add a high priority task to run in parallel
  • GearmanClient::addTaskLow() - Add a low priority task to run in parallel
  • GearmanClient::addTaskBackground() - Add a background task to be run in parallel
  • GearmanClient::addTaskHighBackground() - Add a high priority background task to be run in parallel
  • GearmanClient::runTasks() - Run a list of tasks in parallel

GearmanClient::addTaskLow
GearmanClient::addTaskStatus
GearmanClient


Add a task to get status

GearmanClient::addTaskLowBackground
GearmanClient::clearCallbacks
GearmanClient
PHP Manual

GearmanClient::addTaskStatus

(PECL gearman >= 0.5.0)

GearmanClient::addTaskStatus — Add a task to get status

Beschreibung

public GearmanTask GearmanClient::addTaskStatus ( string $job_handle [, string &$context ] )

Used to request status information from the Gearman server, which will call the specified status callback (set using GearmanClient::setStatusCallback()).

Parameter-Liste

job_handle

The job handle for the task to get status for

context

Data to be passed to the status callback, generally a reference to an array or object

Rückgabewerte

A GearmanTask object.

Beispiele

Beispiel #1 Monitor completion of multiple background tasks

An artificial delay is introduced in the worker in this example to simulate a long running process. There is only one worker running for this example.

<?php

/* create our object */
$gmclient= new GearmanClient();

/* add the default server */
$gmclient->addServer();

/* start some background jobs and save the handles */
$handles = array();
$handles[0] = $gmclient->doBackground("reverse", "Hello World!");
$handles[1] = $gmclient->doBackground("reverse", "!dlroW olleH");

$gmclient->setStatusCallback("reverse_status");

/* Poll the server to see when those background jobs finish; */
/* a better method would be to use event callbacks */
do
{
   /* Use the context variable to track how many tasks have completed */
   $done = 0;
   $gmclient->addTaskStatus($handles[0], &$done);
   $gmclient->addTaskStatus($handles[1], &$done);
   $gmclient->runTasks();
   echo "Done: $done\n";
   sleep(1);
}
while ($done != 2);

function reverse_status($task, $done)
{
   if (!$task->isKnown())
      $done++;
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Done: 0
Done: 0
Done: 0
Done: 0
Done: 0
Done: 0
Done: 0
Done: 0
Done: 0
Done: 0
Done: 0
Done: 0
Done: 1
Done: 1
Done: 1
Done: 1
Done: 1
Done: 1
Done: 1
Done: 1
Done: 1
Done: 1
Done: 1
Done: 1
Done: 2

Siehe auch

  • GearmanClient::setStatusCallback() - Set a callback for collecting task status

GearmanClient::addTaskLowBackground
GearmanClient::clearCallbacks
GearmanClient


Clear all task callback functions

GearmanClient::addTaskStatus
GearmanClient::clone
GearmanClient
PHP Manual

GearmanClient::clearCallbacks

(PECL gearman >= 0.5.0)

GearmanClient::clearCallbacks — Clear all task callback functions

Beschreibung

public bool GearmanClient::clearCallbacks ( void )

Clears all the task callback functions that have previously been set.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Always returns TRUE.

Siehe auch

  • GearmanClient::setDataCallback() - Callback function when there is a data packet for a task
  • GearmanClient::setCompleteCallback() - Set a function to be called on task completion
  • GearmanClient::setCreatedCallback() - Set a callback for when a task is queued
  • GearmanClient::setExceptionCallback() - Set a callback for worker exceptions
  • GearmanClient::setFailCallback() - Set callback for job failure
  • GearmanClient::setStatusCallback() - Set a callback for collecting task status
  • GearmanClient::setWarningCallback() - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback() - Set a callback for accepting incremental data updates

GearmanClient::addTaskStatus
GearmanClient::clone
GearmanClient


Create a copy of a GearmanClient object

GearmanClient::clearCallbacks
GearmanClient::__construct
GearmanClient
PHP Manual

GearmanClient::clone

(PECL gearman >= 0.5.0)

GearmanClient::clone — Create a copy of a GearmanClient object

Beschreibung

public GearmanClient GearmanClient::clone ( void )

Creates a copy of a GearmanClient object.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A GearmanClient on success, FALSE on failure.

GearmanClient::clearCallbacks
GearmanClient::__construct
GearmanClient


Create a GearmanClient instance

GearmanClient::clone
GearmanClient::context
GearmanClient
PHP Manual

GearmanClient::__construct

(PECL gearman >= 0.5.0)

GearmanClient::__construct — Create a GearmanClient instance

Beschreibung

public GearmanClient::__construct ( void )

Creates a GearmanClient instance representing a client that connects to the job server and submits tasks to complete.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A GearmanClient object.

Siehe auch

  • GearmanClient::clone() - Create a copy of a GearmanClient object

GearmanClient::clone
GearmanClient::context
GearmanClient


Get the application context

GearmanClient::__construct
GearmanClient::data
GearmanClient
PHP Manual

GearmanClient::context

(PECL gearman >= 0.6.0)

GearmanClient::context — Get the application context

Beschreibung

public string GearmanClient::context ( void )

Get the application context previously set with GearmanClient::setContext().

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The same context data structure set with GearmanClient::setContext()

Siehe auch

  • GearmanClient::setContext() - Set application context

GearmanClient::__construct
GearmanClient::data
GearmanClient


Get the application data (deprecated)

GearmanClient::context
GearmanClient::do
GearmanClient
PHP Manual

GearmanClient::data

(PECL gearman <= 0.5.0)

GearmanClient::data — Get the application data (deprecated)

Beschreibung

public string GearmanClient::data ( void )

Get the application data previously set with GearmanClient::setData().

Hinweis:

This method was replaced by GearmanClient::setContext() in the 0.6.0 release of the Gearman extension.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The same string data set with GearmanClient::setData()

Siehe auch

  • GearmanClient::setData() - Set application data (deprecated)

GearmanClient::context
GearmanClient::do
GearmanClient


Run a single task and return a result [deprecated]

GearmanClient::data
GearmanClient::doBackground
GearmanClient
PHP Manual

GearmanClient::do

(PECL gearman >= 0.5.0)

GearmanClient::do — Run a single task and return a result [deprecated]

Beschreibung

public string GearmanClient::do ( string $function_name , string $workload [, string $unique ] )

The GearmanClient::do() method is deprecated as of pecl/gearman 1.0.0. Use GearmanClient::doNormal().

Parameter-Liste

function_name

Die registrierte Funktion, die der Worker ausführen soll

workload

Serialisierte Daten, die verarbeitet werden sollen

unique

Eine eindeutige ID, die einen bestimmten Task identifiziert

Rückgabewerte

A string representing the results of running a task.

Beispiele

Beispiel #1 Simple job submission with immediate return

<?php

# Client code

echo "Starting\n";

# Create our client object.
$gmclient= new GearmanClient();

# Add default server (localhost).
$gmclient->addServer();

echo "Sending job\n";

$result = $gmclient->doNormal("reverse", "Hello!");

echo "Success: $result\n";

?>
<?php

echo "Starting\n";

# Create our worker object.
$gmworker= new GearmanWorker();

# Add default server (localhost).
$gmworker->addServer();

# Register function "reverse" with the server. Change the worker function to
# "reverse_fn_fast" for a faster worker with no output.
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

function reverse_fn($job)
{
  return strrev($job->workload());
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Starting
Sending job
Success: !olleH

Beispiel #2 Submitting a job and retrieving incremental status

A job is submitted and the script loops to retrieve status information. The worker has an artificial delay which results in a long running job and sends status and data as processing occurs. Each subsequent call to GearmanClient::do() produces status information on the running job.

<?php

# Client code

# Create our client object.
$gmclient= new GearmanClient();

# Add default server (localhost).
$gmclient->addServer();

echo "Sending job\n";

# Send reverse job
do
{
  $result = $gmclient->doNormal("reverse", "Hello!");
  # Check for various return packets and errors.

  switch($gmclient->returnCode())
  {
    case GEARMAN_WORK_DATA:
      echo "Data: $result\n";
      break;
    case GEARMAN_WORK_STATUS:
      list($numerator, $denominator)= $gmclient->doStatus();
      echo "Status: $numerator/$denominator complete\n";
      break;
    case GEARMAN_WORK_FAIL:
      echo "Failed\n";
      exit;
    case GEARMAN_SUCCESS:
      break;
    default:
      echo "RET: " . $gmclient->returnCode() . "\n";
      echo "Error: " . $gmclient->error() . "\n";
      echo "Errno: " . $gmclient->getErrno() . "\n";
      exit;
  }
}
while($gmclient->returnCode() != GEARMAN_SUCCESS);

echo "Success: $result\n";

?>
<?php

# Worker code

echo "Starting\n";

# Create our worker object.
$gmworker= new GearmanWorker();

# Add default server (localhost).
$gmworker->addServer();

# Register function "reverse" with the server.
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

function reverse_fn($job)
{
  echo "Received job: " . $job->handle() . "\n";

  $workload = $job->workload();
  $workload_size = $job->workloadSize();

  echo "Workload: $workload ($workload_size)\n";

  # This status loop is not needed, just showing how it works
  for ($x= 0; $x < $workload_size; $x++)
  {
    echo "Sending status: " + $x + 1 . "/$workload_size complete\n";
    $job->sendStatus($x+1, $workload_size);
    $job->sendData(substr($workload, $x, 1));
    sleep(1);
  }

  $result= strrev($workload);
  echo "Result: $result\n";

  # Return what we want to send back to the client.
  return $result;
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Worker output:

Starting
Waiting for job...
Received job: H:foo.local:106
Workload: Hello! (6)
1/6 complete
2/6 complete
3/6 complete
4/6 complete
5/6 complete
6/6 complete
Result: !olleH

Client output:

Starting
Sending job
Status: 1/6 complete
Data: H
Status: 2/6 complete
Data: e
Status: 3/6 complete
Data: l
Status: 4/6 complete
Data: l
Status: 5/6 complete
Data: o
Status: 6/6 complete
Data: !
Success: !olleH

Siehe auch

  • GearmanClient::doHigh() - Run a single high priority task
  • GearmanClient::doLow() - Run a single low priority task
  • GearmanClient::doBackground() - Run a task in the background
  • GearmanClient::doHighBackground() - Run a high priority task in the background
  • GearmanClient::doLowBackground() - Run a low priority task in the background

GearmanClient::data
GearmanClient::doBackground
GearmanClient


Run a task in the background

GearmanClient::do
GearmanClient::doHigh
GearmanClient
PHP Manual

GearmanClient::doBackground

(PECL gearman >= 0.5.0)

GearmanClient::doBackground — Run a task in the background

Beschreibung

public string GearmanClient::doBackground ( string $function_name , string $workload [, string $unique ] )

Runs a task in the background, returning a job handle which can be used to get the status of the running task.

Parameter-Liste

function_name

Die registrierte Funktion, die der Worker ausführen soll

workload

Serialisierte Daten, die verarbeitet werden sollen

unique

Eine eindeutige ID, die einen bestimmten Task identifiziert

Rückgabewerte

The job handle for the submitted task.

Beispiele

Beispiel #1 Submit and monitor a background job

The worker in this example has an artificial delay introduced to mimic a long running job. The client script periodically checks the status of the running job.

<?php

/* create our object */
$gmclient= new GearmanClient();

/* add the default server */
$gmclient->addServer();

/* run reverse client */
$job_handle = $gmclient->doBackground("reverse", "this is a test");

if ($gmclient->returnCode() != GEARMAN_SUCCESS)
{
  echo "bad return code\n";
  exit;
}

$done = false;
do
{
   sleep(3);
   $stat = $gmclient->jobStatus($job_handle);
   if (!$stat[0]) // the job is known so it is not done
      $done = true;
   echo "Running: " . ($stat[1] ? "true" : "false") . ", numerator: " . $stat[2] . ", denomintor: " . $stat[3] . "\n";
}
while(!$done);

echo "done!\n";

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Running: true, numerator: 3, denomintor: 14
Running: true, numerator: 6, denomintor: 14
Running: true, numerator: 9, denomintor: 14
Running: true, numerator: 12, denomintor: 14
Running: false, numerator: 0, denomintor: 0
done!

Siehe auch

  • GearmanClient::doNormal() - Run a single task and return a result
  • GearmanClient::doHigh() - Run a single high priority task
  • GearmanClient::doLow() - Run a single low priority task
  • GearmanClient::doHighBackground() - Run a high priority task in the background
  • GearmanClient::doLowBackground() - Run a low priority task in the background

GearmanClient::do
GearmanClient::doHigh
GearmanClient


Run a single high priority task

GearmanClient::doBackground
GearmanClient::doHighBackground
GearmanClient
PHP Manual

GearmanClient::doHigh

(PECL gearman >= 0.5.0)

GearmanClient::doHigh — Run a single high priority task

Beschreibung

public string GearmanClient::doHigh ( string $function_name , string $workload [, string $unique ] )

Runs a single high priority task and returns a string representation of the result. It is up to the GearmanClient and GearmanWorker to agree on the format of the result. High priority tasks will get precedence over normal and low priority tasks in the job queue.

Parameter-Liste

function_name

Die registrierte Funktion, die der Worker ausführen soll

workload

Serialisierte Daten, die verarbeitet werden sollen

unique

Eine eindeutige ID, die einen bestimmten Task identifiziert

Rückgabewerte

A string representing the results of running a task.

Siehe auch

  • GearmanClient::doNormal() - Run a single task and return a result
  • GearmanClient::doLow() - Run a single low priority task
  • GearmanClient::doBackground() - Run a task in the background
  • GearmanClient::doHighBackground() - Run a high priority task in the background
  • GearmanClient::doLowBackground() - Run a low priority task in the background

GearmanClient::doBackground
GearmanClient::doHighBackground
GearmanClient


Run a high priority task in the background

GearmanClient::doHigh
GearmanClient::doJobHandle
GearmanClient
PHP Manual

GearmanClient::doHighBackground

(PECL gearman >= 0.5.0)

GearmanClient::doHighBackground — Run a high priority task in the background

Beschreibung

public string GearmanClient::doHighBackground ( string $function_name , string $workload [, string $unique ] )

Runs a high priority task in the background, returning a job handle which can be used to get the status of the running task. High priority tasks take precedence over normal and low priority tasks in the job queue.

Parameter-Liste

function_name

Die registrierte Funktion, die der Worker ausführen soll

workload

Serialisierte Daten, die verarbeitet werden sollen

unique

Eine eindeutige ID, die einen bestimmten Task identifiziert

Rückgabewerte

The job handle for the submitted task.

Siehe auch

  • GearmanClient::doNormal() - Run a single task and return a result
  • GearmanClient::doHigh() - Run a single high priority task
  • GearmanClient::doLow() - Run a single low priority task
  • GearmanClient::doBackground() - Run a task in the background
  • GearmanClient::doLowBackground() - Run a low priority task in the background

GearmanClient::doHigh
GearmanClient::doJobHandle
GearmanClient


Get the job handle for the running task

GearmanClient::doHighBackground
GearmanClient::doLow
GearmanClient
PHP Manual

GearmanClient::doJobHandle

(PECL gearman >= 0.5.0)

GearmanClient::doJobHandle — Get the job handle for the running task

Beschreibung

public string GearmanClient::doJobHandle ( void )

Gets that job handle for a running task. This should be used between repeated GearmanClient::doNormal() calls. The job handle can then be used to get information on the task.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The job handle for the running task.

Siehe auch

  • GearmanClient::jobStatus() - Get the status of a background job

GearmanClient::doHighBackground
GearmanClient::doLow
GearmanClient


Run a single low priority task

GearmanClient::doJobHandle
GearmanClient::doLowBackground
GearmanClient
PHP Manual

GearmanClient::doLow

(PECL gearman >= 0.5.0)

GearmanClient::doLow — Run a single low priority task

Beschreibung

public string GearmanClient::doLow ( string $function_name , string $workload [, string $unique ] )

Runs a single low priority task and returns a string representation of the result. It is up to the GearmanClient and GearmanWorker to agree on the format of the result. Normal and high priority tasks will get precedence over low priority tasks in the job queue.

Parameter-Liste

function_name

Die registrierte Funktion, die der Worker ausführen soll

workload

Serialisierte Daten, die verarbeitet werden sollen

unique

Eine eindeutige ID, die einen bestimmten Task identifiziert

Rückgabewerte

A string representing the results of running a task.

Siehe auch

  • GearmanClient::doNormal() - Run a single task and return a result
  • GearmanClient::doHigh() - Run a single high priority task
  • GearmanClient::doBackground() - Run a task in the background
  • GearmanClient::doHighBackground() - Run a high priority task in the background
  • GearmanClient::doLowBackground() - Run a low priority task in the background

GearmanClient::doJobHandle
GearmanClient::doLowBackground
GearmanClient


Run a low priority task in the background

GearmanClient::doLow
GearmanClient::doNormal
GearmanClient
PHP Manual

GearmanClient::doLowBackground

(PECL gearman >= 0.5.0)

GearmanClient::doLowBackground — Run a low priority task in the background

Beschreibung

public string GearmanClient::doLowBackground ( string $function_name , string $workload [, string $unique ] )

Runs a low priority task in the background, returning a job handle which can be used to get the status of the running task. Normal and high priority tasks take precedence over low priority tasks in the job queue.

Parameter-Liste

function_name

Die registrierte Funktion, die der Worker ausführen soll

workload

Serialisierte Daten, die verarbeitet werden sollen

unique

Eine eindeutige ID, die einen bestimmten Task identifiziert

Rückgabewerte

The job handle for the submitted task.

Siehe auch

  • GearmanClient::doNormal() - Run a single task and return a result
  • GearmanClient::doHigh() - Run a single high priority task
  • GearmanClient::doLow() - Run a single low priority task
  • GearmanClient::doBackground() - Run a task in the background
  • GearmanClient::doHighBackground() - Run a high priority task in the background

GearmanClient::doLow
GearmanClient::doNormal
GearmanClient


Run a single task and return a result

GearmanClient::doLowBackground
GearmanClient::doStatus
GearmanClient
PHP Manual

GearmanClient::doNormal

(No version information available, might only be in Git)

GearmanClient::doNormal — Run a single task and return a result

Beschreibung

public string GearmanClient::doNormal ( string $function_name , string $workload [, string $unique ] )

Runs a single task and returns a string representation of the result. It is up to the GearmanClient and GearmanWorker to agree on the format of the result.

Parameter-Liste

function_name

Die registrierte Funktion, die der Worker ausführen soll

workload

Serialisierte Daten, die verarbeitet werden sollen

unique

Eine eindeutige ID, die einen bestimmten Task identifiziert

Rückgabewerte

A string representing the results of running a task.

Beispiele

Beispiel #1 Simple job submission with immediate return

<?php

?>
<?php

# Client code

echo "Starting\n";

# Create our client object.
$gmclient= new GearmanClient();

# Add default server (localhost).
$gmclient->addServer();

echo "Sending job\n";

$result = $gmclient->doNormal("reverse", "Hello!");

echo "Success: $result\n";

?>
<?php

echo "Starting\n";

# Create our worker object.
$gmworker= new GearmanWorker();

# Add default server (localhost).
$gmworker->addServer();

# Register function "reverse" with the server. Change the worker function to
# "reverse_fn_fast" for a faster worker with no output.
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

function reverse_fn($job)
{
  return strrev($job->workload());
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Starting
Sending job
Success: !olleH

Beispiel #2 Submitting a job and retrieving incremental status

A job is submitted and the script loops to retrieve status information. The worker has an artificial delay which results in a long running job and sends status and data as processing occurs. Each subsequent call to GearmanClient::doNormal() produces status information on the running job.

<?php

# Client code

# Create our client object.
$gmclient= new GearmanClient();

# Add default server (localhost).
$gmclient->addServer();

echo "Sending job\n";

# Send reverse job
do
{
  $result = $gmclient->doNormal("reverse", "Hello!");
  # Check for various return packets and errors.

  switch($gmclient->returnCode())
  {
    case GEARMAN_WORK_DATA:
      echo "Data: $result\n";
      break;
    case GEARMAN_WORK_STATUS:
      list($numerator, $denominator)= $gmclient->doStatus();
      echo "Status: $numerator/$denominator complete\n";
      break;
    case GEARMAN_WORK_FAIL:
      echo "Failed\n";
      exit;
    case GEARMAN_SUCCESS:
      break;
    default:
      echo "RET: " . $gmclient->returnCode() . "\n";
      echo "Error: " . $gmclient->error() . "\n";
      echo "Errno: " . $gmclient->getErrno() . "\n";
      exit;
  }
}
while($gmclient->returnCode() != GEARMAN_SUCCESS);

echo "Success: $result\n";

?>
<?php

# Worker code

echo "Starting\n";

# Create our worker object.
$gmworker= new GearmanWorker();

# Add default server (localhost).
$gmworker->addServer();

# Register function "reverse" with the server.
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

function reverse_fn($job)
{
  echo "Received job: " . $job->handle() . "\n";

  $workload = $job->workload();
  $workload_size = $job->workloadSize();

  echo "Workload: $workload ($workload_size)\n";

  # This status loop is not needed, just showing how it works
  for ($x= 0; $x < $workload_size; $x++)
  {
    echo "Sending status: " + $x + 1 . "/$workload_size complete\n";
    $job->sendStatus($x+1, $workload_size);
    $job->sendData(substr($workload, $x, 1));
    sleep(1);
  }

  $result= strrev($workload);
  echo "Result: $result\n";

  # Return what we want to send back to the client.
  return $result;
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Worker output:

Starting
Waiting for job...
Received job: H:foo.local:106
Workload: Hello! (6)
1/6 complete
2/6 complete
3/6 complete
4/6 complete
5/6 complete
6/6 complete
Result: !olleH

Client output:

Starting
Sending job
Status: 1/6 complete
Data: H
Status: 2/6 complete
Data: e
Status: 3/6 complete
Data: l
Status: 4/6 complete
Data: l
Status: 5/6 complete
Data: o
Status: 6/6 complete
Data: !
Success: !olleH

Siehe auch

  • GearmanClient::doHigh() - Run a single high priority task
  • GearmanClient::doLow() - Run a single low priority task
  • GearmanClient::doBackground() - Run a task in the background
  • GearmanClient::doHighBackground() - Run a high priority task in the background
  • GearmanClient::doLowBackground() - Run a low priority task in the background

GearmanClient::doLowBackground
GearmanClient::doStatus
GearmanClient


Get the status for the running task

GearmanClient::doNormal
GearmanClient::echo
GearmanClient
PHP Manual

GearmanClient::doStatus

(PECL gearman >= 0.5.0)

GearmanClient::doStatus — Get the status for the running task

Beschreibung

public array GearmanClient::doStatus ( void )

Returns the status for the running task. This should be used between repeated GearmanClient::doNormal() calls.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An array representing the percentage completion given as a fraction, with the first element the numerator and the second element the denomintor.

Beispiele

Beispiel #1 Get the status of a long running job

The worker in this example has an artificial delay added during processing of the string to be reversed. After each delay it calls GearmanJob::status() which the client then picks up.

<?php

echo "Starting\n";

# Create our client object.
$gmclient= new GearmanClient();

# Add default server (localhost).
$gmclient->addServer();

echo "Sending job\n";

# Send reverse job
do
{
  $result = $gmclient->doNormal("reverse", "Hello!");

  # Check for various return packets and errors.
  switch($gmclient->returnCode())
  {
    case GEARMAN_WORK_DATA:
      break;
    case GEARMAN_WORK_STATUS:
      # get the current job status
      list($numerator, $denominator)= $gmclient->doStatus();
      echo "Status: $numerator/$denominator complete\n";
      break;
    case GEARMAN_WORK_FAIL:
      echo "Failed\n";
      exit;
    case GEARMAN_SUCCESS:
      break;
    default:
      echo "RET: " . $gmclient->returnCode() . "\n";
      exit;
  }
}
while($gmclient->returnCode() != GEARMAN_SUCCESS);

echo "Success: $result\n";

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Starting
Sending job
Status: 1/6 complete
Status: 2/6 complete
Status: 3/6 complete
Status: 4/6 complete
Status: 5/6 complete
Status: 6/6 complete
Success: !olleH

Siehe auch

  • GearmanClient::doNormal() - Run a single task and return a result
  • GearmanJob::status() - Send status (deprecated)

GearmanClient::doNormal
GearmanClient::echo
GearmanClient


Send data to all job servers to see if they echo it back [deprecated]

GearmanClient::doStatus
GearmanClient::error
GearmanClient
PHP Manual

GearmanClient::echo

(PECL gearman >= 0.5.0)

GearmanClient::echo — Send data to all job servers to see if they echo it back [deprecated]

Beschreibung

public bool GearmanClient::echo ( string $workload )

The GearmanClient::echo() method is deprecated as of pecl/gearman 1.0.0. Use GearmanClient::ping().

Parameter-Liste

workload

Some arbitrary serialized data to be echo back

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

GearmanClient::doStatus
GearmanClient::error
GearmanClient


Returns an error string for the last error encountered.

GearmanClient::echo
GearmanClient::getErrno
GearmanClient
PHP Manual

GearmanClient::error

(PECL gearman >= 0.5.0)

GearmanClient::error — Returns an error string for the last error encountered.

Beschreibung

public string GearmanClient::error ( void )

Returns an error string for the last error encountered.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A human readable error string.

Siehe auch

  • GearmanClient::getErrno() - Get an errno value

GearmanClient::echo
GearmanClient::getErrno
GearmanClient


Get an errno value

GearmanClient::error
GearmanClient::jobStatus
GearmanClient
PHP Manual

GearmanClient::getErrno

(PECL gearman >= 0.5.0)

GearmanClient::getErrno — Get an errno value

Beschreibung

public int GearmanClient::getErrno ( void )

Value of errno in the case of a GEARMAN_ERRNO return value.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A valid Gearman errno.

Siehe auch

  • GearmanClient::error() - Returns an error string for the last error encountered.

GearmanClient::error
GearmanClient::jobStatus
GearmanClient


Get the status of a background job

GearmanClient::getErrno
GearmanClient::ping
GearmanClient
PHP Manual

GearmanClient::jobStatus

gearman_job_status

(PECL gearman >= 0.5.0)

GearmanClient::jobStatus -- gearman_job_status — Get the status of a background job

Beschreibung

Objektorientierter Stil (method):

public array GearmanClient::jobStatus ( string $job_handle )

Gets the status for a background job given a job handle. The status information will specify whether the job is known, whether the job is currently running, and the percentage completion.

Parameter-Liste

job_handle

Das vom Gearman-Server zugewiesene Job-Handle

Rückgabewerte

An array containing status information for the job corresponding to the supplied job handle. The first array element is a boolean indicating whether the job is even known, the second is a boolean indicating whether the job is still running, and the third and fourth elements correspond to the numerator and denominator of the fractional completion percentage, respectively.

Beispiele

Beispiel #1 Monitor the status of a long running background job

<?php

/* create our object */
$gmclient= new GearmanClient();

/* add the default server */
$gmclient->addServer();

/* run reverse client */
$job_handle = $gmclient->doBackground("reverse", "this is a test");

if ($gmclient->returnCode() != GEARMAN_SUCCESS)
{
  echo "bad return code\n";
  exit;
}

$done = false;
do
{
   sleep(3);
   $stat = $gmclient->jobStatus($job_handle);
   if (!$stat[0]) // the job is known so it is not done
      $done = true;
   echo "Running: " . ($stat[1] ? "true" : "false") . ", numerator: " . $stat[2] . ", denomintor: " . $stat[3] . "\n";
}
while(!$done);

echo "done!\n";

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Running: true, numerator: 3, denomintor: 14
Running: true, numerator: 6, denomintor: 14
Running: true, numerator: 9, denomintor: 14
Running: true, numerator: 12, denomintor: 14
Running: false, numerator: 0, denomintor: 0
done!

Siehe auch

  • GearmanClient::doStatus() - Get the status for the running task

GearmanClient::getErrno
GearmanClient::ping
GearmanClient


Send data to all job servers to see if they echo it back

GearmanClient::jobStatus
GearmanClient::removeOptions
GearmanClient
PHP Manual

GearmanClient::ping

(No version information available, might only be in Git)

GearmanClient::ping — Send data to all job servers to see if they echo it back

Beschreibung

public bool GearmanClient::ping ( string $workload )

Sends some arbitrary data to all job servers to see if they echo it back. The data sent is not used or processed in any other way. Primarily used for testing and debugging.

Parameter-Liste

workload

Some arbitrary serialized data to be echo back

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

GearmanClient::jobStatus
GearmanClient::removeOptions
GearmanClient


Remove client options

GearmanClient::ping
GearmanClient::returnCode
GearmanClient
PHP Manual

GearmanClient::removeOptions

(PECL gearman >= 0.6.0)

GearmanClient::removeOptions — Remove client options

Beschreibung

public bool GearmanClient::removeOptions ( int $options )

Removes (unsets) one or more options.

Parameter-Liste

options

The options to be removed (unset)

Rückgabewerte

Always returns TRUE.

GearmanClient::ping
GearmanClient::returnCode
GearmanClient


Get the last Gearman return code

GearmanClient::removeOptions
GearmanClient::runTasks
GearmanClient
PHP Manual

GearmanClient::returnCode

(PECL gearman >= 0.5.0)

GearmanClient::returnCode — Get the last Gearman return code

Beschreibung

public int GearmanClient::returnCode ( void )

Returns the last Gearman return code.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A valid Gearman return code.

GearmanClient::removeOptions
GearmanClient::runTasks
GearmanClient


Run a list of tasks in parallel

GearmanClient::returnCode
GearmanClient::setClientCallback
GearmanClient
PHP Manual

GearmanClient::runTasks

(PECL gearman >= 0.5.0)

GearmanClient::runTasks — Run a list of tasks in parallel

Beschreibung

public bool GearmanClient::runTasks ( void )

For a set of tasks previously added with GearmanClient::addTask(), GearmanClient::addTaskHigh(), GearmanClient::addTaskLow(), GearmanClient::addTaskBackground(), GearmanClient::addTaskHighBackground(), or GearmanClient::addTaskLowBackground(), this call starts running the tasks in parallel.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • GearmanClient::addTask() - Add a task to be run in parallel

GearmanClient::returnCode
GearmanClient::setClientCallback
GearmanClient


Callback function when there is a data packet for a task (deprecated)

GearmanClient::runTasks
GearmanClient::setCompleteCallback
GearmanClient
PHP Manual

GearmanClient::setClientCallback

(PECL gearman <= 0.5.0)

GearmanClient::setClientCallback — Callback function when there is a data packet for a task (deprecated)

Beschreibung

public void GearmanClient::setClientCallback ( callable $callback )

Sets the callback function for accepting data packets for a task. The callback function should take a single argument, a GearmanTask object.

Hinweis:

This method has been replaced by GearmanClient::setDataCallback() in the 0.6.0 release of the Gearman extension.

Parameter-Liste

callback

A function or method to call

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • GearmanClient::setCompleteCallback() - Set a function to be called on task completion
  • GearmanClient::setCreatedCallback() - Set a callback for when a task is queued
  • GearmanClient::setDataCallback() - Callback function when there is a data packet for a task
  • GearmanClient::setExceptionCallback() - Set a callback for worker exceptions
  • GearmanClient::setFailCallback() - Set callback for job failure
  • GearmanClient::setStatusCallback() - Set a callback for collecting task status
  • GearmanClient::setWarningCallback() - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback() - Set a callback for accepting incremental data updates

GearmanClient::runTasks
GearmanClient::setCompleteCallback
GearmanClient


Set a function to be called on task completion

GearmanClient::setClientCallback
GearmanClient::setContext
GearmanClient
PHP Manual

GearmanClient::setCompleteCallback

(PECL gearman >= 0.5.0)

GearmanClient::setCompleteCallback — Set a function to be called on task completion

Beschreibung

public bool GearmanClient::setCompleteCallback ( callable $callback )

Use to set a function to be called when a GearmanTask is completed, or when GearmanJob::sendComplete() is invoked by a worker (whichever happens first).

This callback executes only when executing a GearmanTask using GearmanClient::runTasks(). It is not used for individual jobs.

Parameter-Liste

callback

A function to be called

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • GearmanClient::setDataCallback() - Callback function when there is a data packet for a task
  • GearmanClient::setCreatedCallback() - Set a callback for when a task is queued
  • GearmanClient::setExceptionCallback() - Set a callback for worker exceptions
  • GearmanClient::setFailCallback() - Set callback for job failure
  • GearmanClient::setStatusCallback() - Set a callback for collecting task status
  • GearmanClient::setWarningCallback() - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback() - Set a callback for accepting incremental data updates

GearmanClient::setClientCallback
GearmanClient::setContext
GearmanClient


Set application context

GearmanClient::setCompleteCallback
GearmanClient::setCreatedCallback
GearmanClient
PHP Manual

GearmanClient::setContext

(PECL gearman >= 0.6.0)

GearmanClient::setContext — Set application context

Beschreibung

public bool GearmanClient::setContext ( string $context )

Sets an arbitrary string to provide application context that can later be retrieved by GearmanClient::context().

Parameter-Liste

context

Arbitrary context data

Rückgabewerte

Always returns TRUE.

Siehe auch

  • GearmanClient::context() - Get the application context

GearmanClient::setCompleteCallback
GearmanClient::setCreatedCallback
GearmanClient


Set a callback for when a task is queued

GearmanClient::setContext
GearmanClient::setData
GearmanClient
PHP Manual

GearmanClient::setCreatedCallback

(PECL gearman >= 0.5.0)

GearmanClient::setCreatedCallback — Set a callback for when a task is queued

Beschreibung

public bool GearmanClient::setCreatedCallback ( string $callback )

Sets a function to be called when a task is received and queued by the Gearman job server. The callback should accept a single argument, a GearmanTask oject.

Parameter-Liste

callback

A function to call

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • GearmanClient::setDataCallback() - Callback function when there is a data packet for a task
  • GearmanClient::setCompleteCallback() - Set a function to be called on task completion
  • GearmanClient::setExceptionCallback() - Set a callback for worker exceptions
  • GearmanClient::setFailCallback() - Set callback for job failure
  • GearmanClient::setStatusCallback() - Set a callback for collecting task status
  • GearmanClient::setWarningCallback() - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback() - Set a callback for accepting incremental data updates

GearmanClient::setContext
GearmanClient::setData
GearmanClient


Set application data (deprecated)

GearmanClient::setCreatedCallback
GearmanClient::setDataCallback
GearmanClient
PHP Manual

GearmanClient::setData

(PECL gearman <= 0.5.0)

GearmanClient::setData — Set application data (deprecated)

Beschreibung

public bool GearmanClient::setData ( string $data )

Sets some arbitrary application data that can later be retrieved by GearmanClient::data().

Hinweis:

This method has been replaced by GearmanCient::setContext() in the 0.6.0 release of the Gearman extension.

Parameter-Liste

data

Rückgabewerte

Always returns TRUE.

Siehe auch

  • GearmanClient::data() - Get the application data (deprecated)

GearmanClient::setCreatedCallback
GearmanClient::setDataCallback
GearmanClient


Callback function when there is a data packet for a task

GearmanClient::setData
GearmanClient::setExceptionCallback
GearmanClient
PHP Manual

GearmanClient::setDataCallback

(PECL gearman >= 0.6.0)

GearmanClient::setDataCallback — Callback function when there is a data packet for a task

Beschreibung

public bool GearmanClient::setDataCallback ( callable $callback )

Sets the callback function for accepting data packets for a task. The callback function should take a single argument, a GearmanTask object.

Parameter-Liste

callback

A function or method to call

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • GearmanClient::setCompleteCallback() - Set a function to be called on task completion
  • GearmanClient::setCreatedCallback() - Set a callback for when a task is queued
  • GearmanClient::setExceptionCallback() - Set a callback for worker exceptions
  • GearmanClient::setFailCallback() - Set callback for job failure
  • GearmanClient::setStatusCallback() - Set a callback for collecting task status
  • GearmanClient::setWarningCallback() - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback() - Set a callback for accepting incremental data updates

GearmanClient::setData
GearmanClient::setExceptionCallback
GearmanClient


Set a callback for worker exceptions

GearmanClient::setDataCallback
GearmanClient::setFailCallback
GearmanClient
PHP Manual

GearmanClient::setExceptionCallback

(PECL gearman >= 0.5.0)

GearmanClient::setExceptionCallback — Set a callback for worker exceptions

Beschreibung

public bool GearmanClient::setExceptionCallback ( callable $callback )

Specifies a function to call when a worker for a task sends an exception.

Parameter-Liste

callback

Function to call when the worker throws an exception

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • GearmanClient::setDataCallback() - Callback function when there is a data packet for a task
  • GearmanClient::setCompleteCallback() - Set a function to be called on task completion
  • GearmanClient::setCreatedCallback() - Set a callback for when a task is queued
  • GearmanClient::setFailCallback() - Set callback for job failure
  • GearmanClient::setStatusCallback() - Set a callback for collecting task status
  • GearmanClient::setWarningCallback() - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback() - Set a callback for accepting incremental data updates

GearmanClient::setDataCallback
GearmanClient::setFailCallback
GearmanClient


Set callback for job failure

GearmanClient::setExceptionCallback
GearmanClient::setOptions
GearmanClient
PHP Manual

GearmanClient::setFailCallback

(PECL gearman >= 0.5.0)

GearmanClient::setFailCallback — Set callback for job failure

Beschreibung

public bool GearmanClient::setFailCallback ( callable $callback )

Sets the callback function to be used when a task does not complete successfully. The function should accept a single argument, a GearmanTask object.

Parameter-Liste

callback

A function to call

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • GearmanClient::setDataCallback() - Callback function when there is a data packet for a task
  • GearmanClient::setCompleteCallback() - Set a function to be called on task completion
  • GearmanClient::setCreatedCallback() - Set a callback for when a task is queued
  • GearmanClient::setExceptionCallback() - Set a callback for worker exceptions
  • GearmanClient::setStatusCallback() - Set a callback for collecting task status
  • GearmanClient::setWarningCallback() - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback() - Set a callback for accepting incremental data updates

GearmanClient::setExceptionCallback
GearmanClient::setOptions
GearmanClient


Set client options

GearmanClient::setFailCallback
GearmanClient::setStatusCallback
GearmanClient
PHP Manual

GearmanClient::setOptions

(PECL gearman >= 0.5.0)

GearmanClient::setOptions — Set client options

Beschreibung

public bool GearmanClient::setOptions ( int $options )

Sets one or more client options.

Parameter-Liste

options

The options to be set

Rückgabewerte

Always returns TRUE.

GearmanClient::setFailCallback
GearmanClient::setStatusCallback
GearmanClient


Set a callback for collecting task status

GearmanClient::setOptions
GearmanClient::setTimeout
GearmanClient
PHP Manual

GearmanClient::setStatusCallback

(PECL gearman >= 0.5.0)

GearmanClient::setStatusCallback — Set a callback for collecting task status

Beschreibung

public bool GearmanClient::setStatusCallback ( callable $callback )

Sets a callback function used for getting updated status information from a worker. The function should accept a single argument, a GearmanTask object.

Parameter-Liste

callback

A function to call

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • GearmanClient::setDataCallback() - Callback function when there is a data packet for a task
  • GearmanClient::setCompleteCallback() - Set a function to be called on task completion
  • GearmanClient::setCreatedCallback() - Set a callback for when a task is queued
  • GearmanClient::setExceptionCallback() - Set a callback for worker exceptions
  • GearmanClient::setFailCallback() - Set callback for job failure
  • GearmanClient::setWarningCallback() - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback() - Set a callback for accepting incremental data updates

GearmanClient::setOptions
GearmanClient::setTimeout
GearmanClient


Set socket I/O activity timeout

GearmanClient::setStatusCallback
GearmanClient::setWarningCallback
GearmanClient
PHP Manual

GearmanClient::setTimeout

(PECL gearman >= 0.6.0)

GearmanClient::setTimeout — Set socket I/O activity timeout

Beschreibung

public bool GearmanClient::setTimeout ( int $timeout )

Sets the timeout for socket I/O activity.

Parameter-Liste

timeout

An interval of time in milliseconds

Rückgabewerte

Always returns TRUE.

GearmanClient::setStatusCallback
GearmanClient::setWarningCallback
GearmanClient


Set a callback for worker warnings

GearmanClient::setTimeout
GearmanClient::setWorkloadCallback
GearmanClient
PHP Manual

GearmanClient::setWarningCallback

(PECL gearman >= 0.5.0)

GearmanClient::setWarningCallback — Set a callback for worker warnings

Beschreibung

public bool GearmanClient::setWarningCallback ( callable $callback )

Sets a function to be called when a worker sends a warning. The callback should accept a single argument, a GearmanTask object.

Parameter-Liste

callback

A function to call

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • GearmanClient::setDataCallback() - Callback function when there is a data packet for a task
  • GearmanClient::setCompleteCallback() - Set a function to be called on task completion
  • GearmanClient::setCreatedCallback() - Set a callback for when a task is queued
  • GearmanClient::setExceptionCallback() - Set a callback for worker exceptions
  • GearmanClient::setFailCallback() - Set callback for job failure
  • GearmanClient::setStatusCallback() - Set a callback for collecting task status
  • GearmanClient::setWorkloadCallback() - Set a callback for accepting incremental data updates

GearmanClient::setTimeout
GearmanClient::setWorkloadCallback
GearmanClient


Set a callback for accepting incremental data updates

GearmanClient::setWarningCallback
GearmanClient::timeout
GearmanClient
PHP Manual

GearmanClient::setWorkloadCallback

(PECL gearman >= 0.5.0)

GearmanClient::setWorkloadCallback — Set a callback for accepting incremental data updates

Beschreibung

public bool GearmanClient::setWorkloadCallback ( callable $callback )

Sets a function to be called when a worker needs to send back data prior to job completion. A worker can do this when it needs to send updates, send partial results, or flush data during long running jobs. The callback should accept a single argument, a GearmanTask object.

Parameter-Liste

callback

A function to call

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • GearmanClient::setDataCallback() - Callback function when there is a data packet for a task
  • GearmanClient::setCompleteCallback() - Set a function to be called on task completion
  • GearmanClient::setCreatedCallback() - Set a callback for when a task is queued
  • GearmanClient::setExceptionCallback() - Set a callback for worker exceptions
  • GearmanClient::setFailCallback() - Set callback for job failure
  • GearmanClient::setStatusCallback() - Set a callback for collecting task status
  • GearmanClient::setWarningCallback() - Set a callback for worker warnings

GearmanClient::setWarningCallback
GearmanClient::timeout
GearmanClient


Get current socket I/O activity timeout value

GearmanClient::setWorkloadCallback
GearmanJob
GearmanClient
PHP Manual

GearmanClient::timeout

(PECL gearman >= 0.6.0)

GearmanClient::timeout — Get current socket I/O activity timeout value

Beschreibung

public int GearmanClient::timeout ( void )

Returns the timeout in milliseconds to wait for I/O activity.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Timeout in milliseconds to wait for I/O activity. A negative value means an infinite timeout.

Siehe auch

  • GearmanClient::setTimeout() - Set socket I/O activity timeout

GearmanClient::setWorkloadCallback
GearmanJob
GearmanClient


The GearmanJob class

(PECL gearman >= 0.5.0)

Einführung

Klassenbeschreibung

GearmanJob {
/* Methoden */
public bool complete ( string $result )
public __construct ( void )
public bool data ( string $data )
public bool exception ( string $exception )
public bool fail ( void )
public string functionName ( void )
public string handle ( void )
public int returnCode ( void )
public bool sendComplete ( string $result )
public bool sendData ( string $data )
public bool sendException ( string $exception )
public bool sendFail ( void )
public bool sendStatus ( int $numerator , int $denominator )
public bool sendWarning ( string $warning )
public bool setReturn ( int $gearman_return_t )
public bool status ( int $numerator , int $denominator )
public string unique ( void )
public bool warning ( string $warning )
public string workload ( void )
public int workloadSize ( void )
}

Inhaltsverzeichnis

  • GearmanJob::complete — Send the result and complete status (deprecated)
  • GearmanJob::__construct — Create a GearmanJob instance
  • GearmanJob::data — Send data for a running job (deprecated)
  • GearmanJob::exception — Send exception for running job (deprecated)
  • GearmanJob::fail — Send fail status (deprecated)
  • GearmanJob::functionName — Get function name
  • GearmanJob::handle — Get the job handle
  • GearmanJob::returnCode — Get last return code
  • GearmanJob::sendComplete — Send the result and complete status
  • GearmanJob::sendData — Send data for a running job
  • GearmanJob::sendException — Send exception for running job (exception)
  • GearmanJob::sendFail — Send fail status
  • GearmanJob::sendStatus — Send status
  • GearmanJob::sendWarning — Send a warning
  • GearmanJob::setReturn — Set a return value
  • GearmanJob::status — Send status (deprecated)
  • GearmanJob::unique — Get the unique identifier
  • GearmanJob::warning — Send a warning (deprecated)
  • GearmanJob::workload — Get workload
  • GearmanJob::workloadSize — Get size of work load
GearmanClient::timeout
GearmanJob::complete
Gearman


Send the result and complete status (deprecated)

GearmanJob
GearmanJob::__construct
GearmanJob
PHP Manual

GearmanJob::complete

(PECL gearman <= 0.5.0)

GearmanJob::complete — Send the result and complete status (deprecated)

Beschreibung

public bool GearmanJob::complete ( string $result )

Sends result data and the complete status update for this job.

Hinweis:

This method has been replaced by GearmanJob::sendComplete() in the 0.6.0 release of the Gearman extension.

Parameter-Liste

result

Serialized result data.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • GearmanJob::sendFail() - Send fail status
  • GearmanJob::setReturn() - Set a return value

GearmanJob
GearmanJob::__construct
GearmanJob


Create a GearmanJob instance

GearmanJob::complete
GearmanJob::data
GearmanJob
PHP Manual

GearmanJob::__construct

(PECL gearman >= 0.5.0)

GearmanJob::__construct — Create a GearmanJob instance

Beschreibung

public GearmanJob::__construct ( void )

Creates a GearmanJob instance representing a job the worker is to complete.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A GearmanJob object.

GearmanJob::complete
GearmanJob::data
GearmanJob


Send data for a running job (deprecated)

GearmanJob::__construct
GearmanJob::exception
GearmanJob
PHP Manual

GearmanJob::data

(PECL gearman <= 0.5.0)

GearmanJob::data — Send data for a running job (deprecated)

Beschreibung

public bool GearmanJob::data ( string $data )

Sends data to the job server (and any listening clients) for this job.

Hinweis:

This method has been replaced by GearmanJob::sendData() in the 0.6.0 release of the Gearman extension.

Parameter-Liste

data

Arbitrary serialized data.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • GearmanJob::workload() - Get workload
  • GearmanTask::data() - Get data returned for a task

GearmanJob::__construct
GearmanJob::exception
GearmanJob


Send exception for running job (deprecated)

GearmanJob::data
GearmanJob::fail
GearmanJob
PHP Manual

GearmanJob::exception

(PECL gearman <= 0.5.0)

GearmanJob::exception — Send exception for running job (deprecated)

Beschreibung

public bool GearmanJob::exception ( string $exception )

Sends the supplied exception when this job is running.

Hinweis:

This method has been replaced by GearmanJob::sendException() in the 0.6.0 release of the Gearman extension.

Parameter-Liste

exception

An exception description.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • GearmanJob::setReturn() - Set a return value
  • GearmanJob::sendStatus() - Send status
  • GearmanJob::sendWarning() - Send a warning

GearmanJob::data
GearmanJob::fail
GearmanJob


Send fail status (deprecated)

GearmanJob::exception
GearmanJob::functionName
GearmanJob
PHP Manual

GearmanJob::fail

(PECL gearman <= 0.5.0)

GearmanJob::fail — Send fail status (deprecated)

Beschreibung

public bool GearmanJob::fail ( void )

Sends failure status for this job, indicating that the job failed in a known way (as opposed to failing due to a thrown exception).

Hinweis:

This method has been replaced by GearmanJob::sendFail() in the 0.6.0 release of the Gearman extension.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • GearmanJob::sendException() - Send exception for running job (exception)
  • GearmanJob::setReturn() - Set a return value
  • GearmanJob::sendStatus() - Send status
  • GearmanJob::sendWarning() - Send a warning

GearmanJob::exception
GearmanJob::functionName
GearmanJob


Get function name

GearmanJob::fail
GearmanJob::handle
GearmanJob
PHP Manual

GearmanJob::functionName

(PECL gearman >= 0.5.0)

GearmanJob::functionName — Get function name

Beschreibung

public string GearmanJob::functionName ( void )

Returns the function name for this job. This is the function the work will execute to perform the job.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The name of a function.

Siehe auch

  • GearmanTask::function() - Get associated function name (deprecated)

GearmanJob::fail
GearmanJob::handle
GearmanJob


Get the job handle

GearmanJob::functionName
GearmanJob::returnCode
GearmanJob
PHP Manual

GearmanJob::handle

(PECL gearman >= 0.5.0)

GearmanJob::handle — Get the job handle

Beschreibung

public string GearmanJob::handle ( void )

Returns the opaque job handle assigned by the job server.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An opaque job handle.

Siehe auch

  • GearmanTask::jobHandle() - Get the job handle

GearmanJob::functionName
GearmanJob::returnCode
GearmanJob


Get last return code

GearmanJob::handle
GearmanJob::sendComplete
GearmanJob
PHP Manual

GearmanJob::returnCode

(PECL gearman >= 0.5.0)

GearmanJob::returnCode — Get last return code

Beschreibung

public int GearmanJob::returnCode ( void )

Returns the last return code issued by the job server.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A valid Gearman return code.

Siehe auch

  • GearmanTask::returnCode() - Get the last return code

GearmanJob::handle
GearmanJob::sendComplete
GearmanJob


Send the result and complete status

GearmanJob::returnCode
GearmanJob::sendData
GearmanJob
PHP Manual

GearmanJob::sendComplete

(PECL gearman >= 0.6.0)

GearmanJob::sendComplete — Send the result and complete status

Beschreibung

public bool GearmanJob::sendComplete ( string $result )

Sends result data and the complete status update for this job.

Parameter-Liste

result

Serialized result data.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • GearmanJob::sendFail() - Send fail status
  • GearmanJob::setReturn() - Set a return value

GearmanJob::returnCode
GearmanJob::sendData
GearmanJob


Send data for a running job

GearmanJob::sendComplete
GearmanJob::sendException
GearmanJob
PHP Manual

GearmanJob::sendData

(PECL gearman >= 0.6.0)

GearmanJob::sendData — Send data for a running job

Beschreibung

public bool GearmanJob::sendData ( string $data )

Sends data to the job server (and any listening clients) for this job.

Parameter-Liste

data

Arbitrary serialized data.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • GearmanJob::workload() - Get workload
  • GearmanTask::data() - Get data returned for a task

GearmanJob::sendComplete
GearmanJob::sendException
GearmanJob


Send exception for running job (exception)

GearmanJob::sendData
GearmanJob::sendFail
GearmanJob
PHP Manual

GearmanJob::sendException

(PECL gearman >= 0.6.0)

GearmanJob::sendException — Send exception for running job (exception)

Beschreibung

public bool GearmanJob::sendException ( string $exception )

Sends the supplied exception when this job is running.

Parameter-Liste

exception

An exception description.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • GearmanJob::setReturn() - Set a return value
  • GearmanJob::sendStatus() - Send status
  • GearmanJob::sendWarning() - Send a warning

GearmanJob::sendData
GearmanJob::sendFail
GearmanJob


Send fail status

GearmanJob::sendException
GearmanJob::sendStatus
GearmanJob
PHP Manual

GearmanJob::sendFail

(PECL gearman >= 0.6.0)

GearmanJob::sendFail — Send fail status

Beschreibung

public bool GearmanJob::sendFail ( void )

Sends failure status for this job, indicating that the job failed in a known way (as opposed to failing due to a thrown exception).

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • GearmanJob::sendException() - Send exception for running job (exception)
  • GearmanJob::setReturn() - Set a return value
  • GearmanJob::sendStatus() - Send status
  • GearmanJob::sendWarning() - Send a warning

GearmanJob::sendException
GearmanJob::sendStatus
GearmanJob


Send status

GearmanJob::sendFail
GearmanJob::sendWarning
GearmanJob
PHP Manual

GearmanJob::sendStatus

(PECL gearman >= 0.6.0)

GearmanJob::sendStatus — Send status

Beschreibung

public bool GearmanJob::sendStatus ( int $numerator , int $denominator )

Sends status information to the job server and any listening clients. Use this to specify what percentage of the job has been completed.

Parameter-Liste

numerator

The numerator of the precentage completed expressed as a fraction.

denominator

The denominator of the precentage completed expressed as a fraction.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • GearmanClient::jobStatus() - Get the status of a background job
  • GearmanTask::taskDenominator() - Get completion percentage denominator
  • GearmanTask::taskNumerator() - Get completion percentage numerator

GearmanJob::sendFail
GearmanJob::sendWarning
GearmanJob


Send a warning

GearmanJob::sendStatus
GearmanJob::setReturn
GearmanJob
PHP Manual

GearmanJob::sendWarning

(PECL gearman >= 0.6.0)

GearmanJob::sendWarning — Send a warning

Beschreibung

public bool GearmanJob::sendWarning ( string $warning )

Sends a warning for this job while it is running.

Parameter-Liste

warning

A warning message.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • GearmanJob::sendComplete() - Send the result and complete status
  • GearmanJob::sendException() - Send exception for running job (exception)
  • GearmanJob::sendFail() - Send fail status

GearmanJob::sendStatus
GearmanJob::setReturn
GearmanJob


Set a return value

GearmanJob::sendWarning
GearmanJob::status
GearmanJob
PHP Manual

GearmanJob::setReturn

(PECL gearman >= 0.5.0)

GearmanJob::setReturn — Set a return value

Beschreibung

public bool GearmanJob::setReturn ( int $gearman_return_t )

Sets the return value for this job, indicates how the job completed.

Parameter-Liste

gearman_return_t

A valid Gearman return value.

Rückgabewerte

Description...

GearmanJob::sendWarning
GearmanJob::status
GearmanJob


Send status (deprecated)

GearmanJob::setReturn
GearmanJob::unique
GearmanJob
PHP Manual

GearmanJob::status

(PECL gearman <= 0.5.0)

GearmanJob::status — Send status (deprecated)

Beschreibung

public bool GearmanJob::status ( int $numerator , int $denominator )

Sends status information to the job server and any listening clients. Use this to specify what percentage of the job has been completed.

Hinweis:

This method has been replaced by GearmanJob::sendStatus() in the 0.6.0 release of the Gearman extenstion.

Parameter-Liste

numerator

The numerator of the precentage completed expressed as a fraction.

denominator

The denominator of the precentage completed expressed as a fraction.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • GearmanClient::jobStatus() - Get the status of a background job
  • GearmanTask::taskDenominator() - Get completion percentage denominator
  • GearmanTask::taskNumerator() - Get completion percentage numerator

GearmanJob::setReturn
GearmanJob::unique
GearmanJob


Get the unique identifier

GearmanJob::status
GearmanJob::warning
GearmanJob
PHP Manual

GearmanJob::unique

(PECL gearman >= 0.5.0)

GearmanJob::unique — Get the unique identifier

Beschreibung

public string GearmanJob::unique ( void )

Returns the unique identifiter for this job. The identifier is assigned by the client.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An opaque unique identifier.

Siehe auch

  • GearmanClient::do() - Run a single task and return a result [deprecated]
  • GearmanTask::uuid() - Get the unique identifier for a task (deprecated)

GearmanJob::status
GearmanJob::warning
GearmanJob


Send a warning (deprecated)

GearmanJob::unique
GearmanJob::workload
GearmanJob
PHP Manual

GearmanJob::warning

(PECL gearman <= 0.5.0)

GearmanJob::warning — Send a warning (deprecated)

Beschreibung

public bool GearmanJob::warning ( string $warning )

Sends a warning for this job while it is running.

Hinweis:

This method has been replaced by GearmanJob::sendWarning() in the 0.6.0 release of the Gearman extension.

Parameter-Liste

warning

A warning messages.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • GearmanJob::sendComplete() - Send the result and complete status
  • GearmanJob::sendException() - Send exception for running job (exception)
  • GearmanJob::sendFail() - Send fail status

GearmanJob::unique
GearmanJob::workload
GearmanJob


Get workload

GearmanJob::warning
GearmanJob::workloadSize
GearmanJob
PHP Manual

GearmanJob::workload

(PECL gearman >= 0.5.0)

GearmanJob::workload — Get workload

Beschreibung

public string GearmanJob::workload ( void )

Returns the workload for the job. This is serialized data that is to be processed by the worker.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Serialized data.

Siehe auch

  • GearmanClient::do() - Run a single task and return a result [deprecated]
  • GearmanJob::workloadSize() - Get size of work load

GearmanJob::warning
GearmanJob::workloadSize
GearmanJob


Get size of work load

GearmanJob::workload
GearmanTask
GearmanJob
PHP Manual

GearmanJob::workloadSize

(PECL gearman >= 0.5.0)

GearmanJob::workloadSize — Get size of work load

Beschreibung

public int GearmanJob::workloadSize ( void )

Returns the size of the job's work load (the data the worker is to process) in bytes.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The size in bytes.

Siehe auch

  • GearmanJob::workload() - Get workload

GearmanJob::workload
GearmanTask
GearmanJob


The GearmanTask class

(PECL gearman >= 0.5.0)

Einführung

Klassenbeschreibung

GearmanTask {
/* Methoden */
public __construct ( void )
public GearmanTask create ( void )
public string data ( void )
public int dataSize ( void )
public string function ( void )
public string functionName ( void )
public bool isKnown ( void )
public bool isRunning ( void )
public string jobHandle ( void )
public array recvData ( int $data_len )
public int returnCode ( void )
public int sendData ( string $data )
public int sendWorkload ( string $data )
public int taskDenominator ( void )
public int taskNumerator ( void )
public string unique ( void )
public string uuid ( void )
}

Inhaltsverzeichnis

  • GearmanTask::__construct — Create a GearmanTask instance
  • GearmanTask::create — Create a task (deprecated)
  • GearmanTask::data — Get data returned for a task
  • GearmanTask::dataSize — Get the size of returned data
  • GearmanTask::function — Get associated function name (deprecated)
  • GearmanTask::functionName — Get associated function name
  • GearmanTask::isKnown — Determine if task is known
  • GearmanTask::isRunning — Test whether the task is currently running
  • GearmanTask::jobHandle — Get the job handle
  • GearmanTask::recvData — Read work or result data into a buffer for a task
  • GearmanTask::returnCode — Get the last return code
  • GearmanTask::sendData — Send data for a task (deprecated)
  • GearmanTask::sendWorkload — Send data for a task
  • GearmanTask::taskDenominator — Get completion percentage denominator
  • GearmanTask::taskNumerator — Get completion percentage numerator
  • GearmanTask::unique — Get the unique identifier for a task
  • GearmanTask::uuid — Get the unique identifier for a task (deprecated)
GearmanJob::workloadSize
GearmanTask::__construct
Gearman


Create a GearmanTask instance

GearmanTask
GearmanTask::create
GearmanTask
PHP Manual

GearmanTask::__construct

(PECL gearman >= 0.5.0)

GearmanTask::__construct — Create a GearmanTask instance

Beschreibung

public GearmanTask::__construct ( void )

Creates a GearmanTask instance representing a task to be submitted to a job server.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A GearmanTask object.

GearmanTask
GearmanTask::create
GearmanTask


Create a task (deprecated)

GearmanTask::__construct
GearmanTask::data
GearmanTask
PHP Manual

GearmanTask::create

(PECL gearman <= 0.5.0)

GearmanTask::create — Create a task (deprecated)

Beschreibung

public GearmanTask GearmanTask::create ( void )

Returns a new GearmanTask object.

Hinweis:

This method was removed in the 0.6.0 version of the Gearman extension.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A GearmanTask ojectIm Fehlerfall wird FALSE zurückgegeben..

GearmanTask::__construct
GearmanTask::data
GearmanTask


Get data returned for a task

GearmanTask::create
GearmanTask::dataSize
GearmanTask
PHP Manual

GearmanTask::data

(PECL gearman >= 0.5.0)

GearmanTask::data — Get data returned for a task

Beschreibung

public string GearmanTask::data ( void )

Returns data being returned for a task by a worker.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The serialized data, or FALSE if no data is present.

Siehe auch

  • GearmanTask::dataSize() - Get the size of returned data

GearmanTask::create
GearmanTask::dataSize
GearmanTask


Get the size of returned data

GearmanTask::data
GearmanTask::function
GearmanTask
PHP Manual

GearmanTask::dataSize

(PECL gearman >= 0.5.0)

GearmanTask::dataSize — Get the size of returned data

Beschreibung

public int GearmanTask::dataSize ( void )

Returns the size of the data being returned for a task.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The data size, or FALSE if there is no data.

Siehe auch

  • GearmanTask::data() - Get data returned for a task

GearmanTask::data
GearmanTask::function
GearmanTask


Get associated function name (deprecated)

GearmanTask::dataSize
GearmanTask::functionName
GearmanTask
PHP Manual

GearmanTask::function

(PECL gearman <= 0.5.0)

GearmanTask::function — Get associated function name (deprecated)

Beschreibung

public string GearmanTask::function ( void )

Returns the name of the function this task is associated with, i.e., the function the Gearman worker calls.

Hinweis:

This method has been replaced by GearmanTask::functionName() in the 0.6.0 release of the Gearman extension.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A function name.

GearmanTask::dataSize
GearmanTask::functionName
GearmanTask


Get associated function name

GearmanTask::function
GearmanTask::isKnown
GearmanTask
PHP Manual

GearmanTask::functionName

(PECL gearman >= 0.6.0)

GearmanTask::functionName — Get associated function name

Beschreibung

public string GearmanTask::functionName ( void )

Returns the name of the function this task is associated with, i.e., the function the Gearman worker calls.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A function name.

GearmanTask::function
GearmanTask::isKnown
GearmanTask


Determine if task is known

GearmanTask::functionName
GearmanTask::isRunning
GearmanTask
PHP Manual

GearmanTask::isKnown

(PECL gearman >= 0.5.0)

GearmanTask::isKnown — Determine if task is known

Beschreibung

public bool GearmanTask::isKnown ( void )

Gets the status information for whether or not this task is known to the job server.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if the task is known, FALSE otherwise.

GearmanTask::functionName
GearmanTask::isRunning
GearmanTask


Test whether the task is currently running

GearmanTask::isKnown
GearmanTask::jobHandle
GearmanTask
PHP Manual

GearmanTask::isRunning

(PECL gearman >= 0.5.0)

GearmanTask::isRunning — Test whether the task is currently running

Beschreibung

public bool GearmanTask::isRunning ( void )

Indicates whether or not this task is currently running.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if the task is running, FALSE otherwise.

GearmanTask::isKnown
GearmanTask::jobHandle
GearmanTask


Get the job handle

GearmanTask::isRunning
GearmanTask::recvData
GearmanTask
PHP Manual

GearmanTask::jobHandle

gearman_job_handle

(PECL gearman >= 0.5.0)

GearmanTask::jobHandle -- gearman_job_handle — Get the job handle

Beschreibung

public string GearmanTask::jobHandle ( void )

Returns the job handle for this task.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The opaque job handle.

Siehe auch

  • GearmanClient::doJobHandle() - Get the job handle for the running task

GearmanTask::isRunning
GearmanTask::recvData
GearmanTask


Read work or result data into a buffer for a task

GearmanTask::jobHandle
GearmanTask::returnCode
GearmanTask
PHP Manual

GearmanTask::recvData

(PECL gearman >= 0.5.0)

GearmanTask::recvData — Read work or result data into a buffer for a task

Beschreibung

public array GearmanTask::recvData ( int $data_len )

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Parameter-Liste

data_len

Length of data to be read.

Rückgabewerte

An array whose first element is the length of data read and the second is the data buffer. Returns FALSE if the read failed.

Siehe auch

  • GearmanTask::sendData() - Send data for a task (deprecated)

GearmanTask::jobHandle
GearmanTask::returnCode
GearmanTask


Get the last return code

GearmanTask::recvData
GearmanTask::sendData
GearmanTask
PHP Manual

GearmanTask::returnCode

(PECL gearman >= 0.5.0)

GearmanTask::returnCode — Get the last return code

Beschreibung

public int GearmanTask::returnCode ( void )

Returns the last Gearman return code for this task.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A valid Gearman return code.

Siehe auch

  • GearmanClient::returnCode() - Get the last Gearman return code

GearmanTask::recvData
GearmanTask::sendData
GearmanTask


Send data for a task (deprecated)

GearmanTask::returnCode
GearmanTask::sendWorkload
GearmanTask
PHP Manual

GearmanTask::sendData

(PECL gearman <= 0.5.0)

GearmanTask::sendData — Send data for a task (deprecated)

Beschreibung

public int GearmanTask::sendData ( string $data )

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Parameter-Liste

data

Data to send to the worker.

Rückgabewerte

The length of data sent, or FALSE if the send failed.

Siehe auch

  • GearmanTask::recvData() - Read work or result data into a buffer for a task

GearmanTask::returnCode
GearmanTask::sendWorkload
GearmanTask


Send data for a task

GearmanTask::sendData
GearmanTask::taskDenominator
GearmanTask
PHP Manual

GearmanTask::sendWorkload

(PECL gearman >= 0.6.0)

GearmanTask::sendWorkload — Send data for a task

Beschreibung

public int GearmanTask::sendWorkload ( string $data )

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Parameter-Liste

data

Data to send to the worker.

Rückgabewerte

The length of data sent, or FALSE if the send failed.

Siehe auch

  • GearmanTask::recvData() - Read work or result data into a buffer for a task

GearmanTask::sendData
GearmanTask::taskDenominator
GearmanTask


Get completion percentage denominator

GearmanTask::sendWorkload
GearmanTask::taskNumerator
GearmanTask
PHP Manual

GearmanTask::taskDenominator

(PECL gearman >= 0.5.0)

GearmanTask::taskDenominator — Get completion percentage denominator

Beschreibung

public int GearmanTask::taskDenominator ( void )

Returns the denominator of the percentage of the task that is complete expressed as a fraction.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A number between 0 and 100, or FALSE if cannot be determined.

Siehe auch

  • GearmanTask::taskNumerator() - Get completion percentage numerator

GearmanTask::sendWorkload
GearmanTask::taskNumerator
GearmanTask


Get completion percentage numerator

GearmanTask::taskDenominator
GearmanTask::unique
GearmanTask
PHP Manual

GearmanTask::taskNumerator

(PECL gearman >= 0.5.0)

GearmanTask::taskNumerator — Get completion percentage numerator

Beschreibung

public int GearmanTask::taskNumerator ( void )

Returns the numerator of the percentage of the task that is complete expressed as a fraction.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A number between 0 and 100, or FALSE if cannot be determined.

Siehe auch

  • GearmanTask::taskDenominator() - Get completion percentage denominator

GearmanTask::taskDenominator
GearmanTask::unique
GearmanTask


Get the unique identifier for a task

GearmanTask::taskNumerator
GearmanTask::uuid
GearmanTask
PHP Manual

GearmanTask::unique

(PECL gearman >= 0.6.0)

GearmanTask::unique — Get the unique identifier for a task

Beschreibung

public string GearmanTask::unique ( void )

Returns the unique identifier for this task. This is assigned by the GearmanClient, as opposed to the job handle which is set by the Gearman job server.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The unique identifier, or FALSE if no identifier is assigned.

Siehe auch

  • GearmanClient::do() - Run a single task and return a result [deprecated]
  • GearmanClient::addTask() - Add a task to be run in parallel

GearmanTask::taskNumerator
GearmanTask::uuid
GearmanTask


Get the unique identifier for a task (deprecated)

GearmanTask::unique
GearmanWorker
GearmanTask
PHP Manual

GearmanTask::uuid

(PECL gearman <= 0.5.0)

GearmanTask::uuid — Get the unique identifier for a task (deprecated)

Beschreibung

public string GearmanTask::uuid ( void )

Returns the unique identifier for this task. This is assigned by the GearmanClient, as opposed to the job handle which is set by the Gearman job server.

Hinweis:

This method has been replaced by GearmanTask::unique() in the 0.6.0 release of the Gearman extension.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The unique identifier, or FALSE if no identifier is assigned.

Siehe auch

  • GearmanClient::do() - Run a single task and return a result [deprecated]
  • GearmanClient::addTask() - Add a task to be run in parallel

GearmanTask::unique
GearmanWorker
GearmanTask


The GearmanWorker class

(PECL gearman >= 0.5.0)

Einführung

Klassenbeschreibung

GearmanWorker {
/* Methoden */
public bool addFunction ( string $function_name , callable $function [, mixed &$context [, int $timeout ]] )
public bool addOptions ( int $option )
public bool addServer ([ string $host = 127.0.0.1 [, int $port = 4730 ]] )
public bool addServers ( string $servers = 127.0.0.1:4730 )
public void clone ( void )
public __construct ( void )
public bool echo ( string $workload )
public string error ( void )
public int getErrno ( void )
public int options ( void )
public bool register ( string $function_name [, int $timeout ] )
public bool removeOptions ( int $option )
public int returnCode ( void )
public bool setId ( string $id )
public bool setOptions ( int $option )
public bool setTimeout ( int $timeout )
public int timeout ( void )
public bool unregister ( string $function_name )
public bool unregisterAll ( void )
public bool wait ( void )
public bool work ( void )
}

Inhaltsverzeichnis

  • GearmanWorker::addFunction — Register and add callback function
  • GearmanWorker::addOptions — Add worker options
  • GearmanWorker::addServer — Add a job server
  • GearmanWorker::addServers — Add job servers
  • GearmanWorker::clone — Create a copy of the worker
  • GearmanWorker::__construct — Create a GearmanWorker instance
  • GearmanWorker::echo — Test job server response
  • GearmanWorker::error — Get the last error encountered
  • GearmanWorker::getErrno — Get errno
  • GearmanWorker::options — Get worker options
  • GearmanWorker::register — Register a function with the job server
  • GearmanWorker::removeOptions — Remove worker options
  • GearmanWorker::returnCode — Get last Gearman return code
  • GearmanWorker::setId — Give the worker an identifier so it can be tracked when asking gearmand for the list of available workers.
  • GearmanWorker::setOptions — Set worker options
  • GearmanWorker::setTimeout — Set socket I/O activity timeout
  • GearmanWorker::timeout — Get socket I/O activity timeout
  • GearmanWorker::unregister — Unregister a function name with the job servers
  • GearmanWorker::unregisterAll — Unregister all function names with the job servers
  • GearmanWorker::wait — Wait for activity from one of the job servers
  • GearmanWorker::work — Wait for and perform jobs
GearmanTask::uuid
GearmanWorker::addFunction
Gearman


Register and add callback function

GearmanWorker
GearmanWorker::addOptions
GearmanWorker
PHP Manual

GearmanWorker::addFunction

(PECL gearman >= 0.5.0)

GearmanWorker::addFunction — Register and add callback function

Beschreibung

public bool GearmanWorker::addFunction ( string $function_name , callable $function [, mixed &$context [, int $timeout ]] )

Registers a function name with the job server and specifies a callback corresponding to that function. Optionally specify extra application context data to be used when the callback is called and a timeout.

Parameter-Liste

function_name

The name of a function to register with the job server

function

A callback that gets called when a job for the registered function name is submitted

context

A reference to arbitrary application context data that can be modified by the worker function

timeout

An interval of time in seconds

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Simple worker making use of extra application context data

<?php

# get a gearman worker
$worker= new GearmanWorker();

# add the default server (localhost)
$worker->addServer();

# define a variable to hold application data
$count= 0;

# add the "reverse" function
$worker->addFunction("reverse", "reverse_cb", $count);

# start the worker
while ($worker->work());

function reverse_cb($job, &$count)
{
  $count++;
  return "$count: " . strrev($job->workload());
}

?>

Running a client that submits two jobs for the reverse function would have output similar to the following:

1: olleh
2: dlrow

Siehe auch

  • GearmanClient::do() - Run a single task and return a result [deprecated]

GearmanWorker
GearmanWorker::addOptions
GearmanWorker


Add worker options

GearmanWorker::addFunction
GearmanWorker::addServer
GearmanWorker
PHP Manual

GearmanWorker::addOptions

(PECL gearman >= 0.6.0)

GearmanWorker::addOptions — Add worker options

Beschreibung

public bool GearmanWorker::addOptions ( int $option )

Adds one or more options to the options previously set.

Parameter-Liste

option

The options to be added

Rückgabewerte

Always returns TRUE.

Siehe auch

  • GearmanWorker::options() - Get worker options
  • GearmanClient::setOptions() - Set client options
  • GearmanClient::removeOptions() - Remove client options

GearmanWorker::addFunction
GearmanWorker::addServer
GearmanWorker


Add a job server

GearmanWorker::addOptions
GearmanWorker::addServers
GearmanWorker
PHP Manual

GearmanWorker::addServer

(PECL gearman >= 0.5.0)

GearmanWorker::addServer — Add a job server

Beschreibung

public bool GearmanWorker::addServer ([ string $host = 127.0.0.1 [, int $port = 4730 ]] )

Adds a job server to this worker. This goes into a list of servers than can be used to run jobs. No socket I/O happens here.

Parameter-Liste

host

Der Hostname des Jobservers.

port

Der Port des Jobservers.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Add alternate Gearman servers

<?php
$worker= new GearmanWorker();
$worker->addServer("10.0.0.1");
$worker->addServer("10.0.0.2", 7003);
?>

Siehe auch

  • GearmanWorker::addServers() - Add job servers

GearmanWorker::addOptions
GearmanWorker::addServers
GearmanWorker


Add job servers

GearmanWorker::addServer
GearmanWorker::clone
GearmanWorker
PHP Manual

GearmanWorker::addServers

(PECL gearman >= 0.5.0)

GearmanWorker::addServers — Add job servers

Beschreibung

public bool GearmanWorker::addServers ( string $servers = 127.0.0.1:4730 )

Adds one or more job servers to this worker. These go into a list of servers that can be used to run jobs. No socket I/O happens here.

Parameter-Liste

servers

A comma separated list of job servers in the format host:port. If no port is specified, it defaults to 4730.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Add two job servers

<?php

$worker= new GearmanWorker();
$worker->addServers("10.0.0.1,10.0.0.2:7003");

?>

Siehe auch

  • GearmanWorker::addServer() - Add a job server

GearmanWorker::addServer
GearmanWorker::clone
GearmanWorker


Create a copy of the worker

GearmanWorker::addServers
GearmanWorker::__construct
GearmanWorker
PHP Manual

GearmanWorker::clone

(PECL gearman >= 0.5.0)

GearmanWorker::clone — Create a copy of the worker

Beschreibung

public void GearmanWorker::clone ( void )

Creates a copy of the worker.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A GearmanWorker object

GearmanWorker::addServers
GearmanWorker::__construct
GearmanWorker


Create a GearmanWorker instance

GearmanWorker::clone
GearmanWorker::echo
GearmanWorker
PHP Manual

GearmanWorker::__construct

(PECL gearman >= 0.5.0)

GearmanWorker::__construct — Create a GearmanWorker instance

Beschreibung

public GearmanWorker::__construct ( void )

Creates a GearmanWorker instance representing a worker that connects to the job server and accepts tasks to run.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A GearmanWorker object

Siehe auch

  • GearmanWorker::clone() - Create a copy of the worker

GearmanWorker::clone
GearmanWorker::echo
GearmanWorker


Test job server response

GearmanWorker::__construct
GearmanWorker::error
GearmanWorker
PHP Manual

GearmanWorker::echo

(PECL gearman >= 0.6.0)

GearmanWorker::echo — Test job server response

Beschreibung

public bool GearmanWorker::echo ( string $workload )

Sends data to all job servers to see if they echo it back. This is a test function to see if job servers are responding properly.

Parameter-Liste

workload

Arbitrary serialized data

Rückgabewerte

Standard Gearman return value.

Siehe auch

  • GearmanClient::echo() - Send data to all job servers to see if they echo it back [deprecated]

GearmanWorker::__construct
GearmanWorker::error
GearmanWorker


Get the last error encountered

GearmanWorker::echo
GearmanWorker::getErrno
GearmanWorker
PHP Manual

GearmanWorker::error

(PECL gearman >= 0.5.0)

GearmanWorker::error — Get the last error encountered

Beschreibung

public string GearmanWorker::error ( void )

Returns an error string for the last error encountered.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An error string.

Siehe auch

  • GearmanWorker::getErrno() - Get errno

GearmanWorker::echo
GearmanWorker::getErrno
GearmanWorker


Get errno

GearmanWorker::error
GearmanWorker::options
GearmanWorker
PHP Manual

GearmanWorker::getErrno

(PECL gearman >= 0.5.0)

GearmanWorker::getErrno — Get errno

Beschreibung

public int GearmanWorker::getErrno ( void )

Returns the value of errno in the case of a GEARMAN_ERRNO return value.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A valid errno.

Siehe auch

  • GearmanWorker::error() - Get the last error encountered

GearmanWorker::error
GearmanWorker::options
GearmanWorker


Get worker options

GearmanWorker::getErrno
GearmanWorker::register
GearmanWorker
PHP Manual

GearmanWorker::options

(PECL gearman >= 0.6.0)

GearmanWorker::options — Get worker options

Beschreibung

public int GearmanWorker::options ( void )

Gets the options previously set for the worker.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The options currently set for the worker.

Siehe auch

  • GearmanWorker::setOptions() - Set worker options

GearmanWorker::getErrno
GearmanWorker::register
GearmanWorker


Register a function with the job server

GearmanWorker::options
GearmanWorker::removeOptions
GearmanWorker
PHP Manual

GearmanWorker::register

(PECL gearman >= 0.6.0)

GearmanWorker::register — Register a function with the job server

Beschreibung

public bool GearmanWorker::register ( string $function_name [, int $timeout ] )

Registers a function name with the job server with an optional timeout. The timeout specifies how many seconds the server will wait before marking a job as failed. If the timeout is set to zero, there is no timeout.

Parameter-Liste

function_name

The name of a function to register with the job server

timeout

An interval of time in seconds

Rückgabewerte

A standard Gearman return value.

Siehe auch

  • GearmanWorker::unregister() - Unregister a function name with the job servers
  • GearmanWorker::unregisterAll() - Unregister all function names with the job servers

GearmanWorker::options
GearmanWorker::removeOptions
GearmanWorker


Remove worker options

GearmanWorker::register
GearmanWorker::returnCode
GearmanWorker
PHP Manual

GearmanWorker::removeOptions

(PECL gearman >= 0.6.0)

GearmanWorker::removeOptions — Remove worker options

Beschreibung

public bool GearmanWorker::removeOptions ( int $option )

Removes (unsets) one or more worker options.

Parameter-Liste

option

The options to be removed (unset)

Rückgabewerte

Always returns TRUE.

Siehe auch

  • GearmanWorker::options() - Get worker options
  • GearmanWorker::setOptions() - Set worker options
  • GearmanWorker::addOptions() - Add worker options

GearmanWorker::register
GearmanWorker::returnCode
GearmanWorker


Get last Gearman return code

GearmanWorker::removeOptions
GearmanWorker::setId
GearmanWorker
PHP Manual

GearmanWorker::returnCode

(PECL gearman >= 0.5.0)

GearmanWorker::returnCode — Get last Gearman return code

Beschreibung

public int GearmanWorker::returnCode ( void )

Returns the last Gearman return code.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A valid Gearman return code.

Siehe auch

  • GearmanWorker::error() - Get the last error encountered
  • GearmanWorker::getErrno() - Get errno

GearmanWorker::removeOptions
GearmanWorker::setId
GearmanWorker


Give the worker an identifier so it can be tracked when asking gearmand for the list of available workers.

GearmanWorker::returnCode
GearmanWorker::setOptions
GearmanWorker
PHP Manual

GearmanWorker::setId

(No version information available, might only be in Git)

GearmanWorker::setId — Give the worker an identifier so it can be tracked when asking gearmand for the list of available workers.

Beschreibung

public bool GearmanWorker::setId ( string $id )

Assigns the worker an identifier.

Parameter-Liste

id

A string identifier.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 GearmanWorker::setId() example

Set an identifier for a simple worker.

<?php
$worker= new GearmanWorker();
$worker->setId('test');
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Run the following command:
gearadmin --workers

Output:
30 ::3a3a:3361:3361:3a33%976303667 - : test
GearmanWorker::returnCode
GearmanWorker::setOptions
GearmanWorker


Set worker options

GearmanWorker::setId
GearmanWorker::setTimeout
GearmanWorker
PHP Manual

GearmanWorker::setOptions

(PECL gearman >= 0.5.0)

GearmanWorker::setOptions — Set worker options

Beschreibung

public bool GearmanWorker::setOptions ( int $option )

Sets one or more options to the supplied value.

Parameter-Liste

option

The options to be set

Rückgabewerte

Always returns TRUE.

Siehe auch

  • GearmanWorker::options() - Get worker options
  • GearmanWorker::addOptions() - Add worker options
  • GearmanWorker::removeOptions() - Remove worker options
  • GearmanClient::setOptions() - Set client options

GearmanWorker::setId
GearmanWorker::setTimeout
GearmanWorker


Set socket I/O activity timeout

GearmanWorker::setOptions
GearmanWorker::timeout
GearmanWorker
PHP Manual

GearmanWorker::setTimeout

(PECL gearman >= 0.6.0)

GearmanWorker::setTimeout — Set socket I/O activity timeout

Beschreibung

public bool GearmanWorker::setTimeout ( int $timeout )

Sets the interval of time to wait for socket I/O activity.

Parameter-Liste

timeout

An interval of time in milliseconds. A negative value indicates an infinite timeout.

Rückgabewerte

Always returns TRUE.

Beispiele

Beispiel #1 A simple worker with a 5 second timeout

<?php

echo "Starting\n";

# Create our worker object.
$gmworker= new GearmanWorker();

# Add default server (localhost).
$gmworker->addServer();

# Register function "reverse" with the server.
$gmworker->addFunction("reverse", "reverse_fn");

# Set the timeout to 5 seconds
$gmworker->setTimeout(5000);

echo "Waiting for job...\n";
while(@$gmworker->work() || $gmworker->returnCode() == GEARMAN_TIMEOUT)
{
  if ($gmworker->returnCode() == GEARMAN_TIMEOUT)
  {
    # Normally one would want to do something useful here ...
    echo "Timeout. Waiting for next job...\n";
    continue;
  }

  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

echo "Done\n";

function reverse_fn($job)
{
  return strrev($job->workload());
}

?>

Running the worker with no submitted jobs will generate output that looks like the following:

Starting
Waiting for job...
Timeout. Waiting for next job...
Timeout. Waiting for next job...
Timeout. Waiting for next job...

Siehe auch

  • GearmanWorker::timeout() - Get socket I/O activity timeout

GearmanWorker::setOptions
GearmanWorker::timeout
GearmanWorker


Get socket I/O activity timeout

GearmanWorker::setTimeout
GearmanWorker::unregister
GearmanWorker
PHP Manual

GearmanWorker::timeout

(PECL gearman >= 0.6.0)

GearmanWorker::timeout — Get socket I/O activity timeout

Beschreibung

public int GearmanWorker::timeout ( void )

Returns the current time to wait, in milliseconds, for socket I/O activity.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A time period is milliseconds. A negative value indicates an infinite timeout.

Siehe auch

  • GearmanWorker::setTimeout() - Set socket I/O activity timeout

GearmanWorker::setTimeout
GearmanWorker::unregister
GearmanWorker


Unregister a function name with the job servers

GearmanWorker::timeout
GearmanWorker::unregisterAll
GearmanWorker
PHP Manual

GearmanWorker::unregister

(PECL gearman >= 0.6.0)

GearmanWorker::unregister — Unregister a function name with the job servers

Beschreibung

public bool GearmanWorker::unregister ( string $function_name )

Unregisters a function name with the job servers ensuring that no more jobs (for that function) are sent to this worker.

Parameter-Liste

function_name

The name of a function to register with the job server

Rückgabewerte

A standard Gearman return value.

Siehe auch

  • GearmanWorker::register() - Register a function with the job server
  • GearmanWorker::unregisterAll() - Unregister all function names with the job servers

GearmanWorker::timeout
GearmanWorker::unregisterAll
GearmanWorker


Unregister all function names with the job servers

GearmanWorker::unregister
GearmanWorker::wait
GearmanWorker
PHP Manual

GearmanWorker::unregisterAll

(PECL gearman >= 0.6.0)

GearmanWorker::unregisterAll — Unregister all function names with the job servers

Beschreibung

public bool GearmanWorker::unregisterAll ( void )

Unregisters all previously registered functions, ensuring that no more jobs are sent to this worker.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A standard Gearman return value.

Siehe auch

  • GearmanWorker::register() - Register a function with the job server
  • GearmanWorker::unregister() - Unregister a function name with the job servers

GearmanWorker::unregister
GearmanWorker::wait
GearmanWorker


Wait for activity from one of the job servers

GearmanWorker::unregisterAll
GearmanWorker::work
GearmanWorker
PHP Manual

GearmanWorker::wait

(PECL gearman >= 0.6.0)

GearmanWorker::wait — Wait for activity from one of the job servers

Beschreibung

public bool GearmanWorker::wait ( void )

Causes the worker to wait for activity from one of the Gearman job servers when operating in non-blocking I/O mode. On failure, issues a E_WARNING with the last Gearman error encountered.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Running worker in non-blocking mode

<?php

echo "Starting\n";

# Create our worker object
$worker= new GearmanWorker();

# Make the worker non-blocking
$worker->addOptions(GEARMAN_WORKER_NON_BLOCKING);

# Add the default server (localhost, port 4730)
$worker->addServer();

# Add our reverse function
$worker->addFunction('reverse', 'reverse_fn');

# Try to grab a job
while (@$worker->work() ||
       $worker->returnCode() == GEARMAN_IO_WAIT ||
       $worker->returnCode() == GEARMAN_NO_JOBS)
{
  if ($worker->returnCode() == GEARMAN_SUCCESS)
    continue;

  echo "Waiting for next job...\n";
  if (!@$worker->wait())
  {
    if ($worker->returnCode() == GEARMAN_NO_ACTIVE_FDS)
    {
      # We are not connected to any servers, so wait a bit before
      # trying to reconnect.
      sleep(5);
      continue;
    }
    break;
  }
}

echo "Worker Error: " . $worker->error() . "\n";

function reverse_fn($job)
{
  return strrev($job->workload());
}

?>

Siehe auch

  • GearmanWorker::work() - Wait for and perform jobs

GearmanWorker::unregisterAll
GearmanWorker::work
GearmanWorker


Wait for and perform jobs

GearmanWorker::wait
GearmanException
GearmanWorker
PHP Manual

GearmanWorker::work

(PECL gearman >= 0.5.0)

GearmanWorker::work — Wait for and perform jobs

Beschreibung

public bool GearmanWorker::work ( void )

Waits for a job to be assigned and then calls the appropriate callback function. Issues an E_WARNING with the last Gearman error if the return code is not one of GEARMAN_SUCCESS, GEARMAN_IO_WAIT, or GEARMAN_WORK_FAIL.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 GearmanWorker::work() example

<?php

# create the worker
$worker = new GearmanWorker();

# add the default job server (localhost)
$worker->addServer();

# add the reverse function
$worker->addFunction("reverse", "my_reverse_function");

# start te worker listening for job submissions
while ($worker->work());

function my_reverse_function($job)
{
  return strrev($job->workload());
}

?>

Siehe auch

  • GearmanWorker::addFunction() - Register and add callback function

GearmanWorker::wait
GearmanException
GearmanWorker


The GearmanException class

(PECL gearman >= 0.5.0)

Einführung

Klassenbeschreibung

GearmanException extends Exception {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Methoden */
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
GearmanWorker::work
Gopher
Gearman


Net Gopher

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • Basic Example
  • Gopher Funktionen
    • gopher_parsedir — Translate a gopher formatted directory entry into an associative array.
GearmanException
Einführung
Sonstige Dienste


Einführung

The gopher protocol, as defined by » RFC 1436, is generally considered the ancestor of the modern HTTP protocol. However, gopher was also intended to provide references to non-gopher resources including telnet, wais, nntp, and even http. This extension adds gopher support to PHP's URL Wrappers, and provides a helper function gopher_parsedir() to make sense of gopher formatted directory listings.

Gopher
Installation/Konfiguration
Gopher


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Gopher


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/net_gopher

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

Net_Gopher constants
Constant | Value | Description
GOPHER_DOCUMENT | 0 | Standard text/plain document.
GOPHER_DIRECTORY | 1 | A resource containing a gopher formatted directory listing.
GOPHER_BINHEX | 4 | A BinHex encoded binary file.
GOPHER_DOSBINARY | 5 | A DOS formatted binary archive.
GOPHER_UUENCODED | 6 | A UUEncoded file.
GOPHER_BINARY | 9 | A generic binary file.
GOPHER_INFO | 255 | An Informational entry
GOPHER_HTTP | 254 | A reference to an HTTP resource.
GOPHER_UNKNOWN | -1 | An unrecognized entry.
Ressource-Typen
Beispiele
Gopher


Beispiele

Inhaltsverzeichnis

  • Basic Example
Vordefinierte Konstanten
Basic Example
Gopher


Basic Example

<?php
readfile("gopher://gopher.example.com/somedocument");
?>
Beispiele
Gopher Funktionen
Beispiele


Gopher Funktionen

Inhaltsverzeichnis

  • gopher_parsedir — Translate a gopher formatted directory entry into an associative array.
Basic Example
gopher_parsedir
Gopher


Translate a gopher formatted directory entry into an associative array.

Gopher Funktionen
Gupnp
Gopher Funktionen
PHP Manual

gopher_parsedir

(PECL net_gopher >= 0.1)

gopher_parsedir — Translate a gopher formatted directory entry into an associative array.

Beschreibung

array gopher_parsedir ( string $dirent )

gopher_parsedir() parses a gopher formatted directory entry into an associative array.

While gopher returns text/plain documents for actual document requests. A request to a directory (such as /) will return specially encoded series of lines with each line being one directory entry or information line.

Parameter-Liste

dirent

The directory entry.

Rückgabewerte

Returns an associative array whose components are:

  • type - One of the GOPHER_XXX constants.
  • title - The name of the resource.
  • path - The path of the resource.
  • host - The domain name of the host that has this document (or directory).
  • port - The port at which to connect on host.

Upon failure, the additional data entry of the returned array will hold the parsed line.

Beispiele

Beispiel #1 Hypothetical output from gopher://gopher.example.com/

0All about my gopher site.               /allabout.txt               gopher.example.com    70
9A picture of my cat.                    /pics/cat.png               gopher.example.com    70
1A collection of my writings.            /stories                    gopher.example.com    70
hThe HTTP version of this site.          URL:http://www.example.com  gopher.example.com    70
1Mirror of this site in Spain.           /                           gopher.ejemplo.co.es  70
iWelcome to my gopher site.                                          error.host            1
iPlease select one of the options above                              error.host            1
iSend complaints to /dev/null                                        error.host            1
iLong live gopher!                                                   error.host            1

In the example above, the root directory at gopher.example.com knows about one DOCUMENT identified by 0 located at gopher://gopher.example.com:70/allabout.txt. It also knows about two other directory (which have their own listing files) at gopher://gopher.exmaple.com:70/stories and at gopher://gopher.ejemplo.co.es:70/. In addition there is a binary file, a link to an HTTP url, and several informative lines.

By passing each line of the directory listing into gopher_parsedir(), an associative array is formed containing a parsed out version of the data.

Beispiel #2 Using gopher_parsedir()

<?php
$directory = file("gopher://gopher.example.com");

foreach($directory as $dirent) {
    print_r(gopher_parsedir($dirent));
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array (
  [type] => 0
  [title] => All about my gopher site.
  [path] => /allabout.txt
  [host] => gopher.example.com
  [port] => 70
)
Array (
  [type] => 9
  [title] => A picture of my cat.
  [path] => /pics/cat.png
  [host] => gopher.example.com
  [port] => 70
)
Array (
  [type] => 1
  [title] => A collection of my writings.
  [path] => /stories
  [host] => gopher.example.com
  [port] => 70
)
Array (
  [type] => 254
  [title] => The HTTP version of this site.
  [path] => URL:http://www.example.com
  [host] => gopher.example.com
  [port] => 70
)
Array (
  [type] => 1
  [title] => Mirror of this site in Spain.
  [path] => /
  [host] => gopher.ejemplo.co.es
  [port] => 70
)
Array (
  [type] => 255
  [title] => Welcome to my gopher site.
  [path] =>
  [host] => error.host
  [port] => 1
)
Array (
  [type] => 255
  [title] => Please select one of the options above.
  [path] =>
  [host] => error.host
  [port] => 1
)
Array (
  [type] => 255
  [title] => Send complaints to /dev/null
  [path] =>
  [host] => error.host
  [port] => 1
)
Array (
  [type] => 255
  [title] => Long live gopher!
  [path] =>
  [host] => error.host
  [port] => 1
)

Gopher Funktionen
Gupnp
Gopher Funktionen


Gupnp

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • Browsing devices and services
    • Implementing the BinaryLight device
  • Gupnp Funktionen
    • gupnp_context_get_host_ip — Get the IP address
    • gupnp_context_get_port — Get the port
    • gupnp_context_get_subscription_timeout — Get the event subscription timeout
    • gupnp_context_host_path — Start hosting
    • gupnp_context_new — Create a new context
    • gupnp_context_set_subscription_timeout — Sets the event subscription timeout
    • gupnp_context_timeout_add — Sets a function to be called at regular intervals
    • gupnp_context_unhost_path — Stop hosting
    • gupnp_control_point_browse_start — Start browsing
    • gupnp_control_point_browse_stop — Stop browsing
    • gupnp_control_point_callback_set — Set control point callback
    • gupnp_control_point_new — Create a new control point
    • gupnp_device_action_callback_set — Set device callback function
    • gupnp_device_info_get_service — Get the service with type
    • gupnp_device_info_get — Get info of root device
    • gupnp_root_device_get_available — Check whether root device is available
    • gupnp_root_device_get_relative_location — Get the relative location of root device.
    • gupnp_root_device_new — Create a new root device
    • gupnp_root_device_set_available — Set whether or not root_device is available
    • gupnp_root_device_start — Start main loop
    • gupnp_root_device_stop — Stop main loop
    • gupnp_service_action_get — Retrieves the specified action arguments
    • gupnp_service_action_return_error — Return error code
    • gupnp_service_action_return — Return successfully
    • gupnp_service_action_set — Sets the specified action return values
    • gupnp_service_freeze_notify — Freeze new notifications
    • gupnp_service_info_get_introspection — Get resource introspection of service
    • gupnp_service_info_get — Get full info of service
    • gupnp_service_introspection_get_state_variable — Returns the state variable data
    • gupnp_service_notify — Notifies listening clients
    • gupnp_service_proxy_action_get — Send action to the service and get value
    • gupnp_service_proxy_action_set — Send action to the service and set value
    • gupnp_service_proxy_add_notify — Sets up callback for variable change notification
    • gupnp_service_proxy_callback_set — Set service proxy callback for signal
    • gupnp_service_proxy_get_subscribed — Check whether subscription is valid to the service
    • gupnp_service_proxy_remove_notify — Cancels the variable change notification
    • gupnp_service_proxy_send_action — Send action with multiple parameters synchronously
    • gupnp_service_proxy_set_subscribed — (Un)subscribes to the service.
    • gupnp_service_thaw_notify — Sends out any pending notifications and stops queuing of new ones.
gopher_parsedir
Einführung
Sonstige Dienste


Einführung

GUPnP is an object-oriented open source framework for creating UPnP devices and control points, written in C using GObject and libsoup. This extension wraps GUPnP and provides similar API. All sources and additional documentation can be obtained from the » official site

Gupnp
Installation/Konfiguration
Gupnp


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Gupnp


Anforderungen

In order to use PECL/Gupnp functions you need to install the » gUPnP library version 0.12.7 or greater. It also requires glib-2.0, gssdp-1.0, libsoup-2.4 or greater for all of them.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/gupnp

Hinweis: If ./configure is having trouble finding the libgupnp files (for example, it was installed into a custom prefix directory), use ./configure --with-gupnp=$PREFIX, where $PREFIX is installation prefix of libgupnp.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

GUPNP_TYPE_BOOLEAN (integer)
GUPNP_TYPE_INT (integer)
GUPNP_TYPE_LONG (integer)
GUPNP_TYPE_DOUBLE (integer)
GUPNP_TYPE_FLOAT (integer)
GUPNP_TYPE_STRING (integer)
GUPNP_SIGNAL_DEVICE_PROXY_AVAILABLE (integer)
GUPNP_SIGNAL_DEVICE_PROXY_UNAVAILABLE (integer)
GUPNP_SIGNAL_SERVICE_PROXY_AVAILABLE (integer)
GUPNP_SIGNAL_SERVICE_PROXY_UNAVAILABLE (integer)
GUPNP_SIGNAL_ACTION_INVOKED (integer)
GUPNP_SIGNAL_NOTIFY_FAILED (integer)
GUPNP_SIGNAL_SUBSCRIPTION_LOST (integer)
GUPNP_CONTROL_ERROR_INVALID_ACTION (integer)
GUPNP_CONTROL_ERROR_INVALID_ARGS (integer)
GUPNP_CONTROL_ERROR_OUT_OF_SYNC (integer)
GUPNP_CONTROL_ERROR_ACTION_FAILED (integer)

Ressource-Typen
Beispiele
Gupnp


Beispiele

Inhaltsverzeichnis

  • Browsing devices and services
  • Implementing the BinaryLight device
Vordefinierte Konstanten
Browsing devices and services
Gupnp


Browsing devices and services

This example shows how to obtain information about all devices and services. It starts an infinite loop (use CLI), and if any of available devices or services are found, the proper callback function will be invoked.

Beispiel #1 Search for all UPnP devices and services.

<?php

/* Callback for available device */
function device_proxy_available_cb($proxy, $arg)
{
    $info = gupnp_device_info_get($proxy);

    $type = $info['device_type'];
    $location = $info['location'];

    printf("Device available:\n");
    printf("\ttype:     %s\n", $type);
    printf("\tlocation: %s\n", $location);
}

/* Callback for available service */
function service_proxy_available_cb($proxy, $arg)
{
    $info = gupnp_service_info_get($proxy);

    $type = $info['service_type'];
    $location = $info['location'];

    printf("Service available:\n");
    printf("\ttype:     %s\n", $type);
    printf("\tlocation: %s\n", $location);
}

/* Create the UPnP context */
$context = gupnp_context_new();
if (!$context) {
    printf("Error creating the GUPnP context\n");
    exit(-1);
}

/* We're interested in everything */
$cp = gupnp_control_point_new($context, "ssdp:all");

/* Set callbacks */
gupnp_control_point_callback_set($cp,
    GUPNP_SIGNAL_DEVICE_PROXY_AVAILABLE, 'device_proxy_available_cb');
gupnp_control_point_callback_set($cp,
    GUPNP_SIGNAL_SERVICE_PROXY_AVAILABLE, 'service_proxy_available_cb');

/* Start for browsing (infinite loop, hit Ctrl-C to interrupt) */
gupnp_control_point_browse_start($cp);

?>

Beispiele
Implementing the BinaryLight device
Beispiele


Implementing the BinaryLight device

This is an example of UPnP device/service, implementing the BinaryLight device and SwitchPower services to emulate a light switch.

The user interface was purposely simplified in order to show basic concepts and methods.

Beispiel #1 Implementing light server

<?php

/* SetTarget */
function set_target_cb($service, $action, $arg)
{
    /* Get the new target value */
    $target = gupnp_service_action_get($action, 'NewTargetValue', GUPNP_TYPE_BOOLEAN);

    /* If the new target doesn't match the current status, change the status and
       emit a notification that the status has changed. */
    if ($target != $GLOBALS['status']) {
        $GLOBALS['status'] = $target;
        gupnp_service_notify($service, 'Status', GUPNP_TYPE_BOOLEAN, $GLOBALS['status']);
        printf("The light is now %s.\n", $GLOBALS['status'] ? "on" : "off");
    }

    /* Return success to the client */
    gupnp_service_action_return($action);
}

/* GetTarget */
function get_target_cb($service, $action, $arg)
{
    gupnp_service_action_set($action, 'RetTargetValue', GUPNP_TYPE_BOOLEAN, $GLOBALS['status']);
    gupnp_service_action_return($action);
}

/* GetStatus */
function get_status_cb($service, $action, $arg)
{
    gupnp_service_action_set($action, 'ResultStatus', GUPNP_TYPE_BOOLEAN, $GLOBALS['status']);
    gupnp_service_action_return($action);
}

/* By default the light is off */
$GLOBALS['status'] = false;
printf("The light is now %s.\n", $GLOBALS['status'] ? "on" : "off");

/* Create the UPnP context */
$context = gupnp_context_new();
if (!$context) {
    printf("Error creating the GUPnP context\n");
    exit(-1);
}

/* Host the directory that contains device and service description files */
gupnp_context_host_path($context, "./web", "");

/* Create root device */
$location = "/BinaryLight.xml";
$dev = gupnp_root_device_new($context, $location);
gupnp_root_device_set_available($dev, true);

/* Get the switch service from the root device */
$service_type = "urn:schemas-upnp-org:service:SwitchPower:1";
$service = gupnp_device_info_get_service($dev, $service_type);
if (!$service) {
    die("Cannot get SwitchPower1 service\n");
}

/* Set callback for action GetStatus */
gupnp_device_action_callback_set($service, GUPNP_SIGNAL_ACTION_INVOKED, "GetStatus",
    "get_status_cb", "action data, GetStatus");

/* Set callback for action GetTarget */
gupnp_device_action_callback_set($service, GUPNP_SIGNAL_ACTION_INVOKED, "GetTarget",
    "get_target_cb", "action data, GetTarget");

/* Set callback for action SetTarget */
gupnp_device_action_callback_set($service, GUPNP_SIGNAL_ACTION_INVOKED, "SetTarget",
    "set_target_cb", "action data, SetTarget");

/* Run the main loop */
gupnp_root_device_start($dev);

?>

Beispiel #2 Implementing light client

<?php

function service_proxy_available_cb($proxy, $arg)
{
    $mode = $arg['mode'];

    printf("Set subscribed\n");
    gupnp_service_proxy_set_subscribed($proxy, true);

    /* Add notify if status will be changed */
    if (!gupnp_service_proxy_add_notify($proxy, "Status",
            GUPNP_TYPE_BOOLEAN, "status_changed_cb", NULL)) {
        printf("Failed to add notify\n");
    }

    if ($mode == 'TOGGLE') {
        /* We're toggling, so first fetch the current status */
        $target = gupnp_service_proxy_action_get($proxy, 'GetStatus', 'ResultStatus', GUPNP_TYPE_BOOLEAN);

        /* And then toggle it */
        $target = ! $target;
    } else {
        /* Mode is a boolean, so the target is the mode thanks to our well chosen
           enumeration values. */
        $target = ($mode == 'ON') ? true : false;
    }

    /* Set the target */
    if (!gupnp_service_proxy_action_set($proxy, 'SetTarget', 'NewTargetValue', $target, GUPNP_TYPE_BOOLEAN)) {
        printf("Cannot set switch\n");
    } else {
        printf("Set switch to %s.\n", $target ? "on" : "off");
    }

    /* Stop browsing */
    gupnp_control_point_browse_stop($arg['cp']);
}

function status_changed_cb($variable, $value, $arg)
{
    printf("Status has been changed\n");
    printf("\tvariable name: %s\n", $variable);
    printf("\tvalue: %s\n", (int)$value);
    printf("\n");
}

/* Check and parse command line arguments */
if (count($argv) != 2) {
    printf("Usage: light-client.php [on|off|toggle]\n");
    exit(-1);
}

if ($argv[1] == "on") {
    $mode = 'ON';
} elseif ($argv[1] == "off") {
    $mode = 'OFF';
} elseif ($argv[1] == "toggle") {
    $mode = 'TOGGLE';
} else {
    usage ();
    exit(-1);
}

/* Create the UPnP context */
$context = gupnp_context_new();
if (!$context) {
    printf("Error creating the GUPnP context\n");
    exit(-1);
}

/* Create the control point, searching for SwitchPower services */
$cp = gupnp_control_point_new ($context,
        "urn:schemas-upnp-org:service:SwitchPower:1");

/* Connect to the service-found callback */
$cb = "service_proxy_available_cb";
$arg = array('mode' => $mode, 'cp' => $cp);
gupnp_control_point_callback_set($cp, GUPNP_SIGNAL_SERVICE_PROXY_AVAILABLE, $cb, $arg);

/* Start for browsing */
gupnp_control_point_browse_start($cp);

?>

Browsing devices and services
Gupnp Funktionen
Beispiele


Gupnp Funktionen

Inhaltsverzeichnis

  • gupnp_context_get_host_ip — Get the IP address
  • gupnp_context_get_port — Get the port
  • gupnp_context_get_subscription_timeout — Get the event subscription timeout
  • gupnp_context_host_path — Start hosting
  • gupnp_context_new — Create a new context
  • gupnp_context_set_subscription_timeout — Sets the event subscription timeout
  • gupnp_context_timeout_add — Sets a function to be called at regular intervals
  • gupnp_context_unhost_path — Stop hosting
  • gupnp_control_point_browse_start — Start browsing
  • gupnp_control_point_browse_stop — Stop browsing
  • gupnp_control_point_callback_set — Set control point callback
  • gupnp_control_point_new — Create a new control point
  • gupnp_device_action_callback_set — Set device callback function
  • gupnp_device_info_get_service — Get the service with type
  • gupnp_device_info_get — Get info of root device
  • gupnp_root_device_get_available — Check whether root device is available
  • gupnp_root_device_get_relative_location — Get the relative location of root device.
  • gupnp_root_device_new — Create a new root device
  • gupnp_root_device_set_available — Set whether or not root_device is available
  • gupnp_root_device_start — Start main loop
  • gupnp_root_device_stop — Stop main loop
  • gupnp_service_action_get — Retrieves the specified action arguments
  • gupnp_service_action_return_error — Return error code
  • gupnp_service_action_return — Return successfully
  • gupnp_service_action_set — Sets the specified action return values
  • gupnp_service_freeze_notify — Freeze new notifications
  • gupnp_service_info_get_introspection — Get resource introspection of service
  • gupnp_service_info_get — Get full info of service
  • gupnp_service_introspection_get_state_variable — Returns the state variable data
  • gupnp_service_notify — Notifies listening clients
  • gupnp_service_proxy_action_get — Send action to the service and get value
  • gupnp_service_proxy_action_set — Send action to the service and set value
  • gupnp_service_proxy_add_notify — Sets up callback for variable change notification
  • gupnp_service_proxy_callback_set — Set service proxy callback for signal
  • gupnp_service_proxy_get_subscribed — Check whether subscription is valid to the service
  • gupnp_service_proxy_remove_notify — Cancels the variable change notification
  • gupnp_service_proxy_send_action — Send action with multiple parameters synchronously
  • gupnp_service_proxy_set_subscribed — (Un)subscribes to the service.
  • gupnp_service_thaw_notify — Sends out any pending notifications and stops queuing of new ones.
Implementing the BinaryLight device
gupnp_context_get_host_ip
Gupnp


Get the IP address

Gupnp Funktionen
gupnp_context_get_port
Gupnp Funktionen
PHP Manual

gupnp_context_get_host_ip

(PECL gupnp >= 0.1.0)

gupnp_context_get_host_ip — Get the IP address

Beschreibung

string gupnp_context_get_host_ip ( resource $context )

Get the IP address we advertise ourselves as using.

Parameter-Liste

context

A context identifier, returned by gupnp_context_new().

Rückgabewerte

Returns the IP address for the current context and FALSE on error.

Beispiele

Beispiel #1 Create new UPnP context and get IP address of the host

<?php

/* Create the UPnP context */
$context = gupnp_context_new();

if (!$context) {
 die("Error creating the GUPnP context\n");
}

/* Get IP address for the UPnP context */
$ip = gupnp_context_get_host_ip($context);
echo $ip;

?>

Siehe auch

  • gupnp_context_new() - Create a new context
  • gupnp_context_get_port() - Get the port

Gupnp Funktionen
gupnp_context_get_port
Gupnp Funktionen


Get the port

gupnp_context_get_host_ip
gupnp_context_get_subscription_timeout
Gupnp Funktionen
PHP Manual

gupnp_context_get_port

(PECL gupnp >= 0.1.0)

gupnp_context_get_port — Get the port

Beschreibung

int gupnp_context_get_port ( resource $context )

Get the port that the SOAP server is running on.

Parameter-Liste

context

A context identifier, returned by gupnp_context_new().

Rückgabewerte

Returns the port number for the current context and FALSE on error.

Beispiele

Beispiel #1 Create new UPnP context and get port number

<?php

/* Create the UPnP context */
$context = gupnp_context_new();

if (!$context) {
 die("Error creating the GUPnP context\n");
}

/* Get the port number for the UPnP context */
$port = gupnp_context_get_port($context);
echo $port;

?>

Siehe auch

  • gupnp_context_new() - Create a new context
  • gupnp_context_get_host_ip() - Get the IP address

gupnp_context_get_host_ip
gupnp_context_get_subscription_timeout
Gupnp Funktionen


Get the event subscription timeout

gupnp_context_get_port
gupnp_context_host_path
Gupnp Funktionen
PHP Manual

gupnp_context_get_subscription_timeout

(PECL gupnp >= 0.1.0)

gupnp_context_get_subscription_timeout — Get the event subscription timeout

Beschreibung

int gupnp_context_get_subscription_timeout ( resource $context )

Get the event subscription timeout (in seconds), or 0 meaning there is no timeout.

Parameter-Liste

context

A context identifier, returned by gupnp_context_new().

Rückgabewerte

The event subscription timeout in seconds.

Siehe auch

  • gupnp_context_new() - Create a new context
  • gupnp_context_set_subscription_timeout() - Sets the event subscription timeout

gupnp_context_get_port
gupnp_context_host_path
Gupnp Funktionen


Start hosting

gupnp_context_get_subscription_timeout
gupnp_context_new
Gupnp Funktionen
PHP Manual

gupnp_context_host_path

(PECL gupnp >= 0.1.0)

gupnp_context_host_path — Start hosting

Beschreibung

bool gupnp_context_host_path ( resource $context , string $local_path , string $server_path )

Start hosting local_path at server_path. Files with the path local_path.LOCALE (if they exist) will be served up when LOCALE is specified in the request's Accept-Language header.

Parameter-Liste

context

A context identifier, returned by gupnp_context_new().

local_path

Path to the local file or folder to be hosted.

server_path

Web server path where local_path should be hosted.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Create new UPnP context and set host path

<?php

/* Create the UPnP context */
$context = gupnp_context_new();

if (!$context) {
 die("Error creating the GUPnP context\n");
}

/* Host current directory */
gupnp_context_host_path($context, "./web", "");

?>

Siehe auch

  • gupnp_context_new() - Create a new context
  • gupnp_context_unhost_path() - Stop hosting

gupnp_context_get_subscription_timeout
gupnp_context_new
Gupnp Funktionen


Create a new context

gupnp_context_host_path
gupnp_context_set_subscription_timeout
Gupnp Funktionen
PHP Manual

gupnp_context_new

(PECL gupnp >= 0.1.0)

gupnp_context_new — Create a new context

Beschreibung

resource gupnp_context_new ([ string $host_ip [, int $port = 0 ]] )

Create a new context with the specified host_ip and port.

Parameter-Liste

host_ip

The local host's IP address, or NULL to use the IP address of the first non-loopback network interface.

port

Port to run on, or 0 if you don't care what port is used.

Rückgabewerte

A context identifier.

Beispiele

Beispiel #1 Create new UPnP context

<?php

/* Create the UPnP context */
$context = gupnp_context_new();

if (!$context) {
 die("Error creating the GUPnP context\n");
}

?>

Fehler/Exceptions

Issues E_WARNING with unable to create context.

gupnp_context_host_path
gupnp_context_set_subscription_timeout
Gupnp Funktionen


Sets the event subscription timeout

gupnp_context_new
gupnp_context_timeout_add
Gupnp Funktionen
PHP Manual

gupnp_context_set_subscription_timeout

(PECL gupnp >= 0.1.0)

gupnp_context_set_subscription_timeout — Sets the event subscription timeout

Beschreibung

void gupnp_context_set_subscription_timeout ( resource $context , int $timeout )

Sets the event subscription timeout (in seconds) to time out. Note that any client side subscriptions will automatically be renewed.

Parameter-Liste

context

A context identifier, returned by gupnp_context_new().

timeout

The event subscription timeout in seconds. Use 0 if you don't want subscriptions to time out.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • gupnp_context_new() - Create a new context
  • gupnp_context_get_subscription_timeout() - Get the event subscription timeout

gupnp_context_new
gupnp_context_timeout_add
Gupnp Funktionen


Sets a function to be called at regular intervals

gupnp_context_set_subscription_timeout
gupnp_context_unhost_path
Gupnp Funktionen
PHP Manual

gupnp_context_timeout_add

(PECL gupnp >= 0.1.0)

gupnp_context_timeout_add — Sets a function to be called at regular intervals

Beschreibung

bool gupnp_context_timeout_add ( resource $context , int $timeout , mixed $callback [, mixed $arg ] )

Sets a function to be called at regular intervals.

Parameter-Liste

context

A context identifier, returned by gupnp_context_new().

timeout

A timeout in miliseconds.

callback

The callback function calling every timeout period of time. Typically, callback function takes on arg parameter.

arg

User data for callback.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Create new UPnP context and set callback

<?php

$user_data = "user data";

function timeout_cb($arg)
{
    printf("Call timeout_cb, user data: '%s'", $arg);
    return true;
}

/* Create the UPnP context */
$context = gupnp_context_new();

if (!$context) {
 die("Error creating the GUPnP context\n");
}

/* Create root device */
$dev = gupnp_root_device_new($context, "/devicedesc.xml");

/* Set callback for timeout */
gupnp_context_timeout_add($context, 5000, "timeout_cb", $user_data);

/* Run the main loop */
gupnp_root_device_start($dev);

?>

Fehler/Exceptions

Issues E_WARNING with not valid callback function.

Siehe auch

  • gupnp_context_new() - Create a new context

gupnp_context_set_subscription_timeout
gupnp_context_unhost_path
Gupnp Funktionen


Stop hosting

gupnp_context_timeout_add
gupnp_control_point_browse_start
Gupnp Funktionen
PHP Manual

gupnp_context_unhost_path

(PECL gupnp >= 0.1.0)

gupnp_context_unhost_path — Stop hosting

Beschreibung

bool gupnp_context_unhost_path ( resource $context , string $server_path )

Stop hosting the file or folder at server_path.

Parameter-Liste

context

A context identifier, returned by gupnp_context_new().

server_path

Web server path where the file or folder is hosted.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • gupnp_context_new() - Create a new context
  • gupnp_context_host_path() - Start hosting

gupnp_context_timeout_add
gupnp_control_point_browse_start
Gupnp Funktionen


Start browsing

gupnp_context_unhost_path
gupnp_control_point_browse_stop
Gupnp Funktionen
PHP Manual

gupnp_control_point_browse_start

(PECL gupnp >= 0.1.0)

gupnp_control_point_browse_start — Start browsing

Beschreibung

bool gupnp_control_point_browse_start ( resource $cpoint )

Start the search and calls user-defined callback.

Parameter-Liste

cpoint

A control point identifier, returned by gupnp_control_point_new().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Create new UPnP context and start browsing

<?php

function device_proxy_available_cb($proxy, $arg)
{
    $info = gupnp_device_info_get($proxy);

    $type = $info['device_type'];
    $location = $info['location'];

    printf("Device available:\n");
    printf("type:     %s\n", $type);
    printf("location: %s\n", $location);
}

/* Create the UPnP context */
$context = gupnp_context_new();

if (!$context) {
 die("Error creating the GUPnP context\n");
}

/* We're interested in everything */
$cp = gupnp_control_point_new($context, "ssdp:all");

gupnp_control_point_callback_set($cp,
    GUPNP_SIGNAL_DEVICE_PROXY_AVAILABLE, 'device_proxy_available_cb');

/* Start for browsing */
gupnp_control_point_browse_start($cp);

?>

Siehe auch

  • gupnp_control_point_new() - Create a new control point
  • gupnp_control_point_browse_stop() - Stop browsing

gupnp_context_unhost_path
gupnp_control_point_browse_stop
Gupnp Funktionen


Stop browsing

gupnp_control_point_browse_start
gupnp_control_point_callback_set
Gupnp Funktionen
PHP Manual

gupnp_control_point_browse_stop

(PECL gupnp >= 0.1.0)

gupnp_control_point_browse_stop — Stop browsing

Beschreibung

bool gupnp_control_point_browse_stop ( resource $cpoint )

Stop the search and calls user-defined callback.

Parameter-Liste

cpoint

A control point identifier, returned by gupnp_control_point_new().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • gupnp_control_point_new() - Create a new control point
  • gupnp_control_point_browse_start() - Start browsing

gupnp_control_point_browse_start
gupnp_control_point_callback_set
Gupnp Funktionen


Set control point callback

gupnp_control_point_browse_stop
gupnp_control_point_new
Gupnp Funktionen
PHP Manual

gupnp_control_point_callback_set

(PECL gupnp >= 0.1.0)

gupnp_control_point_callback_set — Set control point callback

Beschreibung

bool gupnp_control_point_callback_set ( resource $cpoint , int $signal , mixed $callback [, mixed $arg ] )

Set control point callback function for signal.

Parameter-Liste

cpoint

A control point identifier, returned by gupnp_control_point_new().

signal

The value of signal. Signal can be one of the following values:

GUPNP_SIGNAL_DEVICE_PROXY_AVAILABLE
Emitted whenever a new device has become available.
GUPNP_SIGNAL_DEVICE_PROXY_UNAVAILABLE
Emitted whenever a device is not available any more.
GUPNP_SIGNAL_SERVICE_PROXY_AVAILABLE
Emitted whenever a new service has become available.
GUPNP_SIGNAL_SERVICE_PROXY_UNAVAILABLE
Emitted whenever a service is not available any more.

callback

The callback function for the certain signal. Typically, callback function takes on two parameters. The proxy parameter's identifier being the first, and the arg second.

arg

User data for callback.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Create new UPnP context and start browsing

<?php

function device_proxy_available_cb($proxy, $arg)
{
    $info = gupnp_device_info_get($proxy);

    $type = $info['device_type'];
    $location = $info['location'];

    printf("Device available:\n");
    printf("type:     %s\n", $type);
    printf("location: %s\n", $location);
}

/* Create the UPnP context */
$context = gupnp_context_new();

if (!$context) {
 die("Error creating the GUPnP context\n");
}

/* We're interested in everything */
$cp = gupnp_control_point_new($context, "ssdp:all");

gupnp_control_point_callback_set($cp,
    GUPNP_SIGNAL_DEVICE_PROXY_AVAILABLE, 'device_proxy_available_cb');

/* Start for browsing */
gupnp_control_point_browse_start($cp);

?>

Fehler/Exceptions

Issues E_WARNING with not valid callback function.

Siehe auch

  • gupnp_control_point_new() - Create a new control point
  • gupnp_control_point_browse_start() - Start browsing

gupnp_control_point_browse_stop
gupnp_control_point_new
Gupnp Funktionen


Create a new control point

gupnp_control_point_callback_set
gupnp_device_action_callback_set
Gupnp Funktionen
PHP Manual

gupnp_control_point_new

(PECL gupnp >= 0.1.0)

gupnp_control_point_new — Create a new control point

Beschreibung

resource gupnp_control_point_new ( resource $context , string $target )

Create a new control point with the specified target.

Parameter-Liste

context

A context identifier, returned by gupnp_context_new().

target

The search target. target should be a service or device name, such as urn:schemas-upnp-org:service:WANIPConnection:1 or urn:schemas-upnp-org:device:MediaRenderer:1.

Rückgabewerte

A control point identifier.

gupnp_control_point_callback_set
gupnp_device_action_callback_set
Gupnp Funktionen


Set device callback function

gupnp_control_point_new
gupnp_device_info_get_service
Gupnp Funktionen
PHP Manual

gupnp_device_action_callback_set

(PECL gupnp >= 0.1.0)

gupnp_device_action_callback_set — Set device callback function

Beschreibung

bool gupnp_device_action_callback_set ( resource $root_device , int $signal , string $action_name , mixed $callback [, mixed $arg ] )

Set device callback function for signal and action.

Parameter-Liste

root_device

A root device identifier, returned by gupnp_root_device_new().

signal

The value of signal. Signal can be one of the following values:

GUPNP_SIGNAL_ACTION_INVOKED
Emitted whenever an action is invoked. Handler should process action and must call either gupnp_service_action_return() or gupnp_service_action_return_error().
GUPNP_SIGNAL_NOTIFY_FAILED
Emitted whenever notification of a client fails.

action_name

The name of action.

callback

The callback function for the certain signal. Typically, callback function takes on three parameters. The service parameter's identifier being the first, action parameter's identifier (in case GUPNP_SIGNAL_ACTION_INVOKED signal) or error parameter's message (in case GUPNP_SIGNAL_NOTIFY_FAILED signal) being the second, and the arg is third.

arg

User data for callback.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Issues E_WARNING either with not valid callback function or with not valid signal.

Siehe auch

  • gupnp_root_device_new() - Create a new root device

gupnp_control_point_new
gupnp_device_info_get_service
Gupnp Funktionen


Get the service with type

gupnp_device_action_callback_set
gupnp_device_info_get
Gupnp Funktionen
PHP Manual

gupnp_device_info_get_service

(PECL gupnp >= 0.1.0)

gupnp_device_info_get_service — Get the service with type

Beschreibung

resource gupnp_device_info_get_service ( resource $root_device , string $type )

Get the service with type or false if no such device was found.

Parameter-Liste

root_device

A root device identifier, returned by gupnp_root_device_new().

type

The type of the service to be retrieved.

Rückgabewerte

A service identifier.

Beispiele

Beispiel #1 Create new UPnP context and get device info service

<?php

/* Create the UPnP context */
$context = gupnp_context_new();

if (!$context) {
 die("Error creating the GUPnP context\n");
}

/* Create root device */
$location = "/BinaryLight1.xml";
$dev = gupnp_root_device_new($context, $location);

/* Set root device is available */
gupnp_root_device_set_available($dev, true);

/* Get the switch service from the root device */
$service_type = "urn:schemas-upnp-org:service:SwitchPower:1";
$service = gupnp_device_info_get_service($dev, $service_type);
if (!$service) {
    die("Cannot get SwitchPower1 service\n");
}

?>

gupnp_device_action_callback_set
gupnp_device_info_get
Gupnp Funktionen


Get info of root device

gupnp_device_info_get_service
gupnp_root_device_get_available
Gupnp Funktionen
PHP Manual

gupnp_device_info_get

(PECL gupnp >= 0.1.0)

gupnp_device_info_get — Get info of root device

Beschreibung

array gupnp_device_info_get ( resource $root_device )

Get info of root device.

Parameter-Liste

root_device

A root device identifier, returned by gupnp_root_device_new().

Rückgabewerte

Return array wich contains the information of the root device (like location, url, udn and etc).

gupnp_device_info_get_service
gupnp_root_device_get_available
Gupnp Funktionen


Check whether root device is available

gupnp_device_info_get
gupnp_root_device_get_relative_location
Gupnp Funktionen
PHP Manual

gupnp_root_device_get_available

(PECL gupnp >= 0.1.0)

gupnp_root_device_get_available — Check whether root device is available

Beschreibung

bool gupnp_root_device_get_available ( resource $root_device )

Get whether or not root_device is available (announcing its presence).

Parameter-Liste

root_device

A root device identifier, returned by gupnp_root_device_new().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • gupnp_root_device_set_available() - Set whether or not root_device is available

gupnp_device_info_get
gupnp_root_device_get_relative_location
Gupnp Funktionen


Get the relative location of root device.

gupnp_root_device_get_available
gupnp_root_device_new
Gupnp Funktionen
PHP Manual

gupnp_root_device_get_relative_location

(PECL gupnp >= 0.1.0)

gupnp_root_device_get_relative_location — Get the relative location of root device.

Beschreibung

string gupnp_root_device_get_relative_location ( resource $root_device )

Get the relative location of root device.

Parameter-Liste

root_device

A root device identifier, returned by gupnp_root_device_new().

Rückgabewerte

The relative location of root device

gupnp_root_device_get_available
gupnp_root_device_new
Gupnp Funktionen


Create a new root device

gupnp_root_device_get_relative_location
gupnp_root_device_set_available
Gupnp Funktionen
PHP Manual

gupnp_root_device_new

(PECL gupnp >= 0.1.0)

gupnp_root_device_new — Create a new root device

Beschreibung

resource gupnp_root_device_new ( resource $context , string $location , string $description_dir )

Create a new root device, automatically downloading and parsing location.

Parameter-Liste

context

A context identifier, returned by gupnp_context_new().

location

Location of the description file for this device, relative to the HTTP root

Rückgabewerte

A root device identifier.

Beispiele

Beispiel #1 Create new UPnP context and get device info service

<?php

/* Create the UPnP context */
$context = gupnp_context_new();

if (!$context) {
 die("Error creating the GUPnP context\n");
}

/* Create root device */
$location = "/BinaryLight1.xml";
$dev = gupnp_root_device_new($context, $location);

?>

Siehe auch

  • gupnp_root_device_set_available() - Set whether or not root_device is available
  • gupnp_root_device_start() - Start main loop
  • gupnp_root_device_stop() - Stop main loop

gupnp_root_device_get_relative_location
gupnp_root_device_set_available
Gupnp Funktionen


Set whether or not root_device is available

gupnp_root_device_new
gupnp_root_device_start
Gupnp Funktionen
PHP Manual

gupnp_root_device_set_available

(PECL gupnp >= 0.1.0)

gupnp_root_device_set_available — Set whether or not root_device is available

Beschreibung

bool gupnp_root_device_set_available ( resource $root_device , bool $available )

Controls whether or not root_device is available (announcing its presence).

Parameter-Liste

root_device

A root device identifier, returned by gupnp_root_device_new().

available

Set TRUE if root_device should be available.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • gupnp_root_device_get_available() - Check whether root device is available

gupnp_root_device_new
gupnp_root_device_start
Gupnp Funktionen


Start main loop

gupnp_root_device_set_available
gupnp_root_device_stop
Gupnp Funktionen
PHP Manual

gupnp_root_device_start

(PECL gupnp >= 0.1.0)

gupnp_root_device_start — Start main loop

Beschreibung

bool gupnp_root_device_start ( resource $root_device )

Start root server's main loop.

Parameter-Liste

root_device

A root device identifier, returned by gupnp_root_device_new().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • gupnp_root_device_stop() - Stop main loop

gupnp_root_device_set_available
gupnp_root_device_stop
Gupnp Funktionen


Stop main loop

gupnp_root_device_start
gupnp_service_action_get
Gupnp Funktionen
PHP Manual

gupnp_root_device_stop

(PECL gupnp >= 0.1.0)

gupnp_root_device_stop — Stop main loop

Beschreibung

bool gupnp_root_device_stop ( resource $root_device )

Stop root server's main loop.

Parameter-Liste

root_device

A root device identifier, returned by gupnp_root_device_new().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • gupnp_root_device_start() - Start main loop

gupnp_root_device_start
gupnp_service_action_get
Gupnp Funktionen


Retrieves the specified action arguments

gupnp_root_device_stop
gupnp_service_action_return_error
Gupnp Funktionen
PHP Manual

gupnp_service_action_get

(PECL gupnp >= 0.1.0)

gupnp_service_action_get — Retrieves the specified action arguments

Beschreibung

mixed gupnp_service_action_get ( resource $action , string $name , int $type )

Retrieves the specified action arguments.

Parameter-Liste

action

A service action identifier.

name

The name of the variable to retrieve.

type

The type of the variable to retrieve. Type can be one of the following values:

GUPNP_TYPE_BOOLEAN
Type of the variable is boolean.
GUPNP_TYPE_INT
Type of the variable is integer.
GUPNP_TYPE_LONG
Type of the variable is long.
GUPNP_TYPE_DOUBLE
Type of the variable is double.
GUPNP_TYPE_FLOAT
Type of the variable is float.
GUPNP_TYPE_STRING
Type of the variable is string.

Rückgabewerte

The value of the variable.

Fehler/Exceptions

Issues E_WARNING with not correctly defined type of the variable.

Siehe auch

  • gupnp_service_action_set() - Sets the specified action return values

gupnp_root_device_stop
gupnp_service_action_return_error
Gupnp Funktionen


Return error code

gupnp_service_action_get
gupnp_service_action_return
Gupnp Funktionen
PHP Manual

gupnp_service_action_return_error

(PECL gupnp >= 0.1.0)

gupnp_service_action_return_error — Return error code

Beschreibung

bool gupnp_service_action_return_error ( resource $action , int $error_code [, string $error_description ] )

Return error code.

Parameter-Liste

action

A service action identifier.

error_code

The error code. Signal can be one of the following values or user defined:

GUPNP_CONTROL_ERROR_INVALID_ACTION
The action name was invalid.
GUPNP_CONTROL_ERROR_INVALID_ARGS
The action arguments were invalid.
GUPNP_CONTROL_ERROR_OUT_OF_SYNC
Out of sync (deprecated).
GUPNP_CONTROL_ERROR_ACTION_FAILED
The action failed.

error_description

The error description.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • gupnp_service_action_return() - Return successfully

gupnp_service_action_get
gupnp_service_action_return
Gupnp Funktionen


Return successfully

gupnp_service_action_return_error
gupnp_service_action_set
Gupnp Funktionen
PHP Manual

gupnp_service_action_return

(PECL gupnp >= 0.1.0)

gupnp_service_action_return — Return successfully

Beschreibung

bool gupnp_service_action_return ( resource $action )

Return successfully.

Parameter-Liste

action

A service action identifier.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • gupnp_service_action_return_error() - Return error code

gupnp_service_action_return_error
gupnp_service_action_set
Gupnp Funktionen


Sets the specified action return values

gupnp_service_action_return
gupnp_service_freeze_notify
Gupnp Funktionen
PHP Manual

gupnp_service_action_set

(PECL gupnp >= 0.1.0)

gupnp_service_action_set — Sets the specified action return values

Beschreibung

bool gupnp_service_action_set ( resource $action , string $name , int $type , mixed $value )

Sets the specified action return values.

Parameter-Liste

action

A service action identifier.

name

The name of the variable to retrieve.

type

The type of the variable to retrieve. Type can be one of the following values:

GUPNP_TYPE_BOOLEAN
Type of the variable is boolean.
GUPNP_TYPE_INT
Type of the variable is integer.
GUPNP_TYPE_LONG
Type of the variable is long.
GUPNP_TYPE_DOUBLE
Type of the variable is double.
GUPNP_TYPE_FLOAT
Type of the variable is float.
GUPNP_TYPE_STRING
Type of the variable is string.

value

The value of the variable to retrieve.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Issues E_WARNING with neither not correctly defined type of the variable or the value is not corresponding to the defined type.

Siehe auch

  • gupnp_service_action_get() - Retrieves the specified action arguments

gupnp_service_action_return
gupnp_service_freeze_notify
Gupnp Funktionen


Freeze new notifications

gupnp_service_action_set
gupnp_service_info_get_introspection
Gupnp Funktionen
PHP Manual

gupnp_service_freeze_notify

(PECL gupnp >= 0.1.0)

gupnp_service_freeze_notify — Freeze new notifications

Beschreibung

bool gupnp_service_freeze_notify ( resource $service )

Causes new notifications to be queued up until gupnp_service_thaw_notify() is called.

Parameter-Liste

service

A service identifier.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • gupnp_service_notify() - Notifies listening clients
  • gupnp_service_thaw_notify() - Sends out any pending notifications and stops queuing of new ones.

gupnp_service_action_set
gupnp_service_info_get_introspection
Gupnp Funktionen


Get resource introspection of service

gupnp_service_freeze_notify
gupnp_service_info_get
Gupnp Funktionen
PHP Manual

gupnp_service_info_get_introspection

(PECL gupnp >= 0.1.0)

gupnp_service_info_get_introspection — Get resource introspection of service

Beschreibung

mixed gupnp_service_info_get_introspection ( resource $proxy [, mixed $callback [, mixed $arg ]] )

Get resource introspection of service or register callback if corresponding parameter was passed.

Parameter-Liste

proxy

A service proxy identifier.

callback

The callback function to be called when introspection object is ready. Typically, callback function takes on three parameters. The introspection parameter's identifier being the first, error parameter's message being the second, and the arg is third.

arg

User data for callback.

Rückgabewerte

Return true if callback function was defined. Return introspection identifier if callback function was omited.

Fehler/Exceptions

Issues E_WARNING with not valid callback function.

gupnp_service_freeze_notify
gupnp_service_info_get
Gupnp Funktionen


Get full info of service

gupnp_service_info_get_introspection
gupnp_service_introspection_get_state_variable
Gupnp Funktionen
PHP Manual

gupnp_service_info_get

(PECL gupnp >= 0.1.0)

gupnp_service_info_get — Get full info of service

Beschreibung

array gupnp_service_info_get ( resource $proxy )

Get full info of service.

Parameter-Liste

proxy

A service proxy identifier.

Rückgabewerte

Return array wich contains the information of the service (like location, url, udn and etc).

gupnp_service_info_get_introspection
gupnp_service_introspection_get_state_variable
Gupnp Funktionen


Returns the state variable data

gupnp_service_info_get
gupnp_service_notify
Gupnp Funktionen
PHP Manual

gupnp_service_introspection_get_state_variable

(PECL gupnp >= 0.1.0)

gupnp_service_introspection_get_state_variable — Returns the state variable data

Beschreibung

array gupnp_service_introspection_get_state_variable ( resource $introspection , string $variable_name )

Returns the state variable data by the name variable_name in this service.

Parameter-Liste

introspection

A introspection identifier.

variable_name

The name of the variable to retreive.

Rückgabewerte

Return the state variable data or FALSE.

gupnp_service_info_get
gupnp_service_notify
Gupnp Funktionen


Notifies listening clients

gupnp_service_introspection_get_state_variable
gupnp_service_proxy_action_get
Gupnp Funktionen
PHP Manual

gupnp_service_notify

(PECL gupnp >= 0.1.0)

gupnp_service_notify — Notifies listening clients

Beschreibung

bool gupnp_service_notify ( resource $service , string $name , int $type , mixed $value )

Notifies listening clients that the property have changed to the specified values.

Parameter-Liste

service

A service identifier.

name

The name of the variable.

type

The type of the variable. Type can be one of the following values:

GUPNP_TYPE_BOOLEAN
Type of the variable is boolean.
GUPNP_TYPE_INT
Type of the variable is integer.
GUPNP_TYPE_LONG
Type of the variable is long.
GUPNP_TYPE_DOUBLE
Type of the variable is double.
GUPNP_TYPE_FLOAT
Type of the variable is float.
GUPNP_TYPE_STRING
Type of the variable is string.

value

The value of the variable.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Issues E_WARNING with either not correctly defined type of the variable or the value is not corresponding to the defined type.

Siehe auch

  • gupnp_service_freeze_notify() - Freeze new notifications
  • gupnp_service_thaw_notify() - Sends out any pending notifications and stops queuing of new ones.

gupnp_service_introspection_get_state_variable
gupnp_service_proxy_action_get
Gupnp Funktionen


Send action to the service and get value

gupnp_service_notify
gupnp_service_proxy_action_set
Gupnp Funktionen
PHP Manual

gupnp_service_proxy_action_get

(PECL gupnp >= 0.1.0)

gupnp_service_proxy_action_get — Send action to the service and get value

Beschreibung

mixed gupnp_service_proxy_action_get ( resource $proxy , string $action , string $name , int $type )

Send action with parameters to the service exposed by proxy synchronously and get value.

Parameter-Liste

proxy

A service proxy identifier.

action

An action.

name

The action name.

type

The type of the variable to retrieve. Type can be one of the following values:

GUPNP_TYPE_BOOLEAN
Type of the variable is boolean.
GUPNP_TYPE_INT
Type of the variable is integer.
GUPNP_TYPE_LONG
Type of the variable is long.
GUPNP_TYPE_DOUBLE
Type of the variable is double.
GUPNP_TYPE_FLOAT
Type of the variable is float.
GUPNP_TYPE_STRING
Type of the variable is string.

Rückgabewerte

Return value of the action.

Fehler/Exceptions

Issues E_WARNING with either not correctly defined type of the action or unable to send action.

Siehe auch

  • gupnp_service_proxy_action_set() - Send action to the service and set value
  • gupnp_service_proxy_send_action() - Send action with multiple parameters synchronously

gupnp_service_notify
gupnp_service_proxy_action_set
Gupnp Funktionen


Send action to the service and set value

gupnp_service_proxy_action_get
gupnp_service_proxy_add_notify
Gupnp Funktionen
PHP Manual

gupnp_service_proxy_action_set

(PECL gupnp >= 0.1.0)

gupnp_service_proxy_action_set — Send action to the service and set value

Beschreibung

bool gupnp_service_proxy_action_set ( resource $proxy , string $action , string $name , mixed $value , int $type )

Send action with parameters to the service exposed by proxy synchronously and set value.

Parameter-Liste

proxy

A service proxy identifier.

action

An action.

name

The action name.

value

The action value.

type

The type of the action. Type can be one of the following values:

GUPNP_TYPE_BOOLEAN
Type of the variable is boolean.
GUPNP_TYPE_INT
Type of the variable is integer.
GUPNP_TYPE_LONG
Type of the variable is long.
GUPNP_TYPE_DOUBLE
Type of the variable is double.
GUPNP_TYPE_FLOAT
Type of the variable is float.
GUPNP_TYPE_STRING
Type of the variable is string.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Issues E_WARNING with either not correctly defined type of the action or unable to send action.

Siehe auch

  • gupnp_service_proxy_action_get() - Send action to the service and get value
  • gupnp_service_proxy_send_action() - Send action with multiple parameters synchronously

gupnp_service_proxy_action_get
gupnp_service_proxy_add_notify
Gupnp Funktionen


Sets up callback for variable change notification

gupnp_service_proxy_action_set
gupnp_service_proxy_callback_set
Gupnp Funktionen
PHP Manual

gupnp_service_proxy_add_notify

(PECL gupnp >= 0.1.0)

gupnp_service_proxy_add_notify — Sets up callback for variable change notification

Beschreibung

bool gupnp_service_proxy_add_notify ( resource $proxy , string $value , int $type , mixed $callback [, mixed $arg ] )

Sets up callback to be called whenever a change notification for variable is recieved.

Parameter-Liste

proxy

A service proxy identifier.

value

The variable to add notification for.

type

The type of the variable. Type can be one of the following values:

GUPNP_TYPE_BOOLEAN
Type of the variable is boolean.
GUPNP_TYPE_INT
Type of the variable is integer.
GUPNP_TYPE_LONG
Type of the variable is long.
GUPNP_TYPE_DOUBLE
Type of the variable is double.
GUPNP_TYPE_FLOAT
Type of the variable is float.
GUPNP_TYPE_STRING
Type of the variable is string.

callback

The callback to call when variable changes. Typically, callback function takes on three parameters. The variable parameter being the first, value parameter being the second, and the arg is third.

arg

User data for callback.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • gupnp_service_proxy_remove_notify() - Cancels the variable change notification

gupnp_service_proxy_action_set
gupnp_service_proxy_callback_set
Gupnp Funktionen


Set service proxy callback for signal

gupnp_service_proxy_add_notify
gupnp_service_proxy_get_subscribed
Gupnp Funktionen
PHP Manual

gupnp_service_proxy_callback_set

(PECL gupnp >= 0.1.0)

gupnp_service_proxy_callback_set — Set service proxy callback for signal

Beschreibung

bool gupnp_service_proxy_callback_set ( resource $proxy , int $signal , mixed $callback [, mixed $arg ] )

Set service proxy callback for signal.

Parameter-Liste

proxy

A service proxy identifier.

signal

The value of signal.

GUPNP_SIGNAL_SUBSCRIPTION_LOST
Emitted whenever the subscription to this service has been lost due to an error condition.

callback

The callback function for the certain signal. Typically, callback function takes on two parameters. error parameter's message being the first, and the arg is second.

arg

User data for callback.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Issues E_WARNING either with not valid callback function or with not valid signal.

gupnp_service_proxy_add_notify
gupnp_service_proxy_get_subscribed
Gupnp Funktionen


Check whether subscription is valid to the service

gupnp_service_proxy_callback_set
gupnp_service_proxy_remove_notify
Gupnp Funktionen
PHP Manual

gupnp_service_proxy_get_subscribed

(PECL gupnp >= 0.1.0)

gupnp_service_proxy_get_subscribed — Check whether subscription is valid to the service

Beschreibung

bool gupnp_service_proxy_get_subscribed ( resource $proxy )

Check whether subscription is valid to the service.

Parameter-Liste

proxy

A service proxy identifier.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • gupnp_service_proxy_set_subscribed() - (Un)subscribes to the service.

gupnp_service_proxy_callback_set
gupnp_service_proxy_remove_notify
Gupnp Funktionen


Cancels the variable change notification

gupnp_service_proxy_get_subscribed
gupnp_service_proxy_send_action
Gupnp Funktionen
PHP Manual

gupnp_service_proxy_remove_notify

(PECL gupnp >= 0.1.0)

gupnp_service_proxy_remove_notify — Cancels the variable change notification

Beschreibung

bool gupnp_service_proxy_remove_notify ( resource $proxy , string $value )

Cancels the variable change notification.

Parameter-Liste

proxy

A service proxy identifier.

value

The variable to add notification for.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • gupnp_service_proxy_add_notify() - Sets up callback for variable change notification

gupnp_service_proxy_get_subscribed
gupnp_service_proxy_send_action
Gupnp Funktionen


Send action with multiple parameters synchronously

gupnp_service_proxy_remove_notify
gupnp_service_proxy_set_subscribed
Gupnp Funktionen
PHP Manual

gupnp_service_proxy_send_action

(PECL gupnp >= 0.2.0)

gupnp_service_proxy_send_action — Send action with multiple parameters synchronously

Beschreibung

array gupnp_service_proxy_send_action ( resource $proxy , string $action , array $in_params , array $out_params )

Send action with parameters in_params to the service exposed by proxy synchronously and return out_params with values or FALSE on error.

Parameter-Liste

proxy

A service proxy identifier.

action

An action.

in_params

An array of in parameters. Each entry in in_params is supposed to an array containing name, type and value of the parameters.

out_params

An array of out parameters. Each entry in out_params is supposed to an array containing name and type of the parameters.

Rückgabewerte

Return out_params array with values or FALSE on error.

Fehler/Exceptions

Issues E_WARNING with either not correctly defined in_params and out_params or unable to send action.

Siehe auch

  • gupnp_service_proxy_action_get() - Send action to the service and get value
  • gupnp_service_proxy_action_set() - Send action to the service and set value

gupnp_service_proxy_remove_notify
gupnp_service_proxy_set_subscribed
Gupnp Funktionen


(Un)subscribes to the service.

gupnp_service_proxy_send_action
gupnp_service_thaw_notify
Gupnp Funktionen
PHP Manual

gupnp_service_proxy_set_subscribed

(PECL gupnp >= 0.1.0)

gupnp_service_proxy_set_subscribed — (Un)subscribes to the service.

Beschreibung

bool gupnp_service_proxy_set_subscribed ( resource $proxy , bool $subscribed )

(Un)subscribes to the service.

Parameter-Liste

proxy

A service proxy identifier.

subscribed

Set TRUE to subscribe to this service.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • gupnp_service_proxy_get_subscribed() - Check whether subscription is valid to the service

gupnp_service_proxy_send_action
gupnp_service_thaw_notify
Gupnp Funktionen


Sends out any pending notifications and stops queuing of new ones.

gupnp_service_proxy_set_subscribed
Hyperwave API
Gupnp Funktionen
PHP Manual

gupnp_service_thaw_notify

(PECL gupnp >= 0.1.0)

gupnp_service_thaw_notify — Sends out any pending notifications and stops queuing of new ones.

Beschreibung

bool gupnp_service_thaw_notify ( resource $service )

Sends out any pending notifications and stops queuing of new ones.

Parameter-Liste

service

A service identifier.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • gupnp_service_notify() - Notifies listening clients
  • gupnp_service_freeze_notify() - Freeze new notifications

gupnp_service_proxy_set_subscribed
Hyperwave API
Gupnp Funktionen


Hyperwave API

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Integration with Apache
  • Hyperwave API Funktionen
    • hw_api::checkin — Checks in an object
    • hw_api::checkout — Checks out an object
    • hw_api::children — Returns children of an object
    • hw_api::content — Returns content of an object
    • hw_api::copy — Copies physically
    • hw_api::dbstat — Returns statistics about database server
    • hw_api::dcstat — Returns statistics about document cache server
    • hw_api::dstanchors — Returns a list of all destination anchors
    • hw_api::dstofsrcanchor — Returns destination of a source anchor
    • hw_api::find — Search for objects
    • hw_api::ftstat — Returns statistics about fulltext server
    • hw_api::hwstat — Returns statistics about Hyperwave server
    • hw_api::identify — Log into Hyperwave Server
    • hw_api::info — Returns information about server configuration
    • hw_api::insert — Inserts a new object
    • hw_api::insertanchor — Inserts a new object of type anchor
    • hw_api::insertcollection — Inserts a new object of type collection
    • hw_api::insertdocument — Inserts a new object of type document
    • hw_api::link — Creates a link to an object
    • hw_api::lock — Locks an object
    • hw_api::move — Moves object between collections
    • hw_api::object — Retrieve attribute information
    • hw_api::objectbyanchor — Returns the object an anchor belongs to
    • hw_api::parents — Returns parents of an object
    • hw_api::remove — Delete an object
    • hw_api::replace — Replaces an object
    • hw_api::setcommittedversion — Commits version other than last version
    • hw_api::srcanchors — Returns a list of all source anchors
    • hw_api::srcsofdst — Returns source of a destination object
    • hw_api::unlock — Unlocks a locked object
    • hw_api::user — Returns the own user object
    • hw_api::userlist — Returns a list of all logged in users
    • hw_api_attribute::key — Returns key of the attribute
    • hw_api_attribute::langdepvalue — Returns value for a given language
    • hw_api_attribute::value — Returns value of the attribute
    • hw_api_attribute::values — Returns all values of the attribute
    • hw_api_content::mimetype — Returns mimetype
    • hw_api_content::read — Read content
    • hw_api_error::count — Returns number of reasons
    • hw_api_error::reason — Returns reason of error
    • hw_api_object::assign — Clones object
    • hw_api_object::attreditable — Checks whether an attribute is editable
    • hw_api_object::count — Returns number of attributes
    • hw_api_object::insert — Inserts new attribute
    • hw_api_object::remove — Removes attribute
    • hw_api_object::title — Returns the title attribute
    • hw_api_object::value — Returns value of attribute
    • hw_api_reason::description — Returns description of reason
    • hw_api_reason::type — Returns type of reason
    • hwapi_attribute_new — Creates instance of class hw_api_attribute
    • hwapi_content_new — Create new instance of class hw_api_content
    • hwapi_hgcsp — Returns object of class hw_api
    • hwapi_object_new — Creates a new instance of class hwapi_object_new
gupnp_service_thaw_notify
Einführung
Sonstige Dienste


Einführung

Hyperwave has been developed at » IICM in Graz. It started with the name Hyper-G and changed to Hyperwave when it was commercialised (in 1996).

Hyperwave is not free software. The current version, 5.5, is available at » http://www.hyperwave.com/. A time limited version can be ordered for free (30 days).

Hyperwave is an information system similar to a database (HIS, Hyperwave Information Server). Its focus is the storage and management of documents. A document can be any possible piece of data that may as well be stored in file. Each document is accompanied by its object record. The object record contains meta data for the document. The meta data is a list of attributes which can be extended by the user. Certain attributes are always set by the Hyperwave server, other may be modified by the user.

Hinweis:

Diese Erweiterung wurde ins » PECL-Repositorium verschoben und ist nicht mehr Teil von PHP ab PHP 5.2.0.

Hyperwave API
Installation/Konfiguration
Hyperwave API


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Hyperwave API


Anforderungen

Since 2001 there is a Hyperwave SDK available. It supports Java, JavaScript and C++. This PHP Extension is based on the C++ interface. In order to activate the hwapi support in PHP you will have to install the Hyperwave SDK first.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/hwapi.

Diese Erweiterung wurde ins » PECL-Repositorium verschoben und ist nicht mehr Teil von PHP ab PHP 5.2.0

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Hyperwave API configuration options
Name | Standard | Veränderbar | Changelog
hwapi.allow_persistent | "0" | PHP_INI_SYSTEM |
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
Integration with Apache
Hyperwave API


Integration with Apache

The Hyperwave extension is best used when PHP is compiled as an Apache module. In such a case the underlying Hyperwave server can be hidden from users almost completely if Apache uses its rewriting engine. The following instructions will explain this.

Since PHP with Hyperwave support built into Apache is intended to replace the native Hyperwave solution based on Wavemaster, we will assume that the Apache server will only serve as a Hyperwave web interface for these examples. This is not necessary but it simplifies the configuration. The concept is quite simple. First of all you need a PHP script which evaluates the $_ENV['PATH_INFO'] variable and treats its value as the name of a Hyperwave object. Let's call this script 'Hyperwave'. The URL http://your.hostname/Hyperwave/name_of_object would than return the Hyperwave object with the name 'name_of_object'. Depending on the type of the object the script has to react accordingly. If it is a collection, it will probably return a list of children. If it is a document it will return the mime type and the content. A slight improvement can be achieved if the Apache rewriting engine is used. From the users point of view it would be more straight forward if the URL http://your.hostname/name_of_object would return the object. The rewriting rule is quite easy:

RewriteRule ^/(.*) /usr/local/apache/htdocs/HyperWave/$1 [L]
Now every URL relates to an object in the Hyperwave server. This causes a simple to solve problem. There is no way to execute a different script, e.g. for searching, than the 'Hyperwave' script. This can be fixed with another rewriting rule like the following:
RewriteRule ^/hw/(.*) /usr/local/apache/htdocs/hw/$1 [L]
This will reserve the directory /usr/local/apache/htdocs/hw for additional scripts and other files. Just make sure this rule is evaluated before the one above. There is just a little drawback: all Hyperwave objects whose name starts with 'hw/' will be shadowed. So, make sure you don't use such names. If you need more directories, e.g. for images just add more rules or place them all in one directory. Before you put those instructions, don't forget to turn on the rewriting engine with
RewriteEngine on
You will need scripts:
  • to return the object itself
  • to allow searching
  • to identify yourself
  • to set your profile
  • one for each additional function like to show the object attributes, to show information about users, to show the status of the server, etc.

As an alternative to the Rewrite Engine, you can also consider using the Apache ErrorDocument directive, but be aware, that ErrorDocument redirected pages cannot receive POST data.

Vordefinierte Konstanten
Hyperwave API Funktionen
Hyperwave API


Integration with Apache
hw_api::checkin
Hyperwave API
PHP Manual

Hyperwave API Funktionen

Integration with Apache

The integration with Apache and possible other servers has been described in the separate chapter.

Classes

The API provided by the HW_API extension is fully object oriented. It is very similar to the C++ interface of the Hyperwave SDK. It consist of the following classes.

  • HW_API
  • HW_API_Object
  • HW_API_Attribute
  • HW_API_Error
  • HW_API_Content
  • HW_API_Reason
Some basic classes like HW_API_String, HW_API_String_Array, etc., which exist in the Hyperwave SDK have not been implemented since PHP has powerful replacements for them.

Each class has certain method, whose names are identical to its counterparts in the Hyperwave SDK. Passing arguments to this function differs from all the other PHP extensions but is close to the C++ API of the HW SDK. Instead of passing several parameters they are all put into an associated array and passed as one parameter. The names of the keys are identical to those documented in the HW SDK. The common parameters are listed below. If other parameters are required they will be documented if needed.

  • objectIdentifier The name or id of an object, e.g. "rootcollection", "0x873A8768 0x00000002".
  • parentIdentifier The name or id of an object which is considered to be a parent.
  • object An instance of class HW_API_Object.
  • parameters An instance of class HW_API_Object.
  • version The version of an object.
  • mode An integer value determine the way an operation is executed.
  • attributeSelector Any array of strings, each containing a name of an attribute. This is used if you retrieve the object record and want to include certain attributes.
  • objectQuery A query to select certain object out of a list of objects. This is used to reduce the number of objects which was delivered by a function like hw_api::children() or hw_api::find().

Hinweis:

Methods returning boolean can return TRUE, FALSE or HW_API_Error object.

Inhaltsverzeichnis

  • hw_api::checkin — Checks in an object
  • hw_api::checkout — Checks out an object
  • hw_api::children — Returns children of an object
  • hw_api::content — Returns content of an object
  • hw_api::copy — Copies physically
  • hw_api::dbstat — Returns statistics about database server
  • hw_api::dcstat — Returns statistics about document cache server
  • hw_api::dstanchors — Returns a list of all destination anchors
  • hw_api::dstofsrcanchor — Returns destination of a source anchor
  • hw_api::find — Search for objects
  • hw_api::ftstat — Returns statistics about fulltext server
  • hw_api::hwstat — Returns statistics about Hyperwave server
  • hw_api::identify — Log into Hyperwave Server
  • hw_api::info — Returns information about server configuration
  • hw_api::insert — Inserts a new object
  • hw_api::insertanchor — Inserts a new object of type anchor
  • hw_api::insertcollection — Inserts a new object of type collection
  • hw_api::insertdocument — Inserts a new object of type document
  • hw_api::link — Creates a link to an object
  • hw_api::lock — Locks an object
  • hw_api::move — Moves object between collections
  • hw_api::object — Retrieve attribute information
  • hw_api::objectbyanchor — Returns the object an anchor belongs to
  • hw_api::parents — Returns parents of an object
  • hw_api::remove — Delete an object
  • hw_api::replace — Replaces an object
  • hw_api::setcommittedversion — Commits version other than last version
  • hw_api::srcanchors — Returns a list of all source anchors
  • hw_api::srcsofdst — Returns source of a destination object
  • hw_api::unlock — Unlocks a locked object
  • hw_api::user — Returns the own user object
  • hw_api::userlist — Returns a list of all logged in users
  • hw_api_attribute::key — Returns key of the attribute
  • hw_api_attribute::langdepvalue — Returns value for a given language
  • hw_api_attribute::value — Returns value of the attribute
  • hw_api_attribute::values — Returns all values of the attribute
  • hw_api_content::mimetype — Returns mimetype
  • hw_api_content::read — Read content
  • hw_api_error::count — Returns number of reasons
  • hw_api_error::reason — Returns reason of error
  • hw_api_object::assign — Clones object
  • hw_api_object::attreditable — Checks whether an attribute is editable
  • hw_api_object::count — Returns number of attributes
  • hw_api_object::insert — Inserts new attribute
  • hw_api_object::remove — Removes attribute
  • hw_api_object::title — Returns the title attribute
  • hw_api_object::value — Returns value of attribute
  • hw_api_reason::description — Returns description of reason
  • hw_api_reason::type — Returns type of reason
  • hwapi_attribute_new — Creates instance of class hw_api_attribute
  • hwapi_content_new — Create new instance of class hw_api_content
  • hwapi_hgcsp — Returns object of class hw_api
  • hwapi_object_new — Creates a new instance of class hwapi_object_new
Integration with Apache
hw_api::checkin
Hyperwave API


Checks in an object

Hyperwave API Funktionen
hw_api::checkout
Hyperwave API Funktionen
PHP Manual

hw_api::checkin

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::checkin — Checks in an object

Beschreibung

bool hw_api::checkin ( array $parameter )

This function checks in an object or a whole hierarchy of objects. The parameters array contains the required element 'objectIdentifier' and the optional element 'version', 'comment', 'mode' and 'objectQuery'. 'version' sets the version of the object. It consists of the major and minor version separated by a period. If the version is not set, the minor version is incremented. 'mode' can be one of the following values:

HW_API_CHECKIN_NORMAL
Checks in and commits the object. The object must be a document.
HW_API_CHECKIN_RECURSIVE
If the object to check in is a collection, all children will be checked in recursively if they are documents. Trying to check in a collection would result in an error.
HW_API_CHECKIN_FORCE_VERSION_CONTROL
Checks in an object even if it is not under version control.
HW_API_CHECKIN_REVERT_IF_NOT_CHANGED
Check if the new version is different from the last version. Unless this is the case the object will be checked in.
HW_API_CHECKIN_KEEP_TIME_MODIFIED
Keeps the time modified from the most recent object.
HW_API_CHECKIN_NO_AUTO_COMMIT
The object is not automatically committed on check-in.

Parameter-Liste

parameter

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • hw_api::checkout

Hyperwave API Funktionen
hw_api::checkout
Hyperwave API Funktionen


Checks out an object

hw_api::checkin
hw_api::children
Hyperwave API Funktionen
PHP Manual

hw_api::checkout

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::checkout — Checks out an object

Beschreibung

bool hw_api::checkout ( array $parameter )

This function checks out an object or a whole hierarchy of objects.

Parameter-Liste

parameter

The parameters array contains the required element 'objectIdentifier' and the optional element 'version', 'mode' and 'objectQuery'. 'mode' can be one of the following values:

HW_API_CHECKIN_NORMAL
Checks out an object. The object must be a document.
HW_API_CHECKIN_RECURSIVE
If the object to check out is a collection, all children will be checked out recursively if they are documents. Trying to check out a collection would result in an error.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • hw_api::checkin

hw_api::checkin
hw_api::children
Hyperwave API Funktionen


Returns children of an object

hw_api::checkout
hw_api::content
Hyperwave API Funktionen
PHP Manual

hw_api::children

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::children — Returns children of an object

Beschreibung

array hw_api::children ( array $parameter )

Retrieves the children of a collection or the attributes of a document. The children can be further filtered by specifying an object query.

Parameter-Liste

parameter

The parameter array contains the required elements 'objectIdentifier' and the optional elements 'attributeSelector' and 'objectQuery'.

Rückgabewerte

The return value is an array of objects of type HW_API_Object or HW_API_Error.

Siehe auch

  • hw_api::parents

hw_api::checkout
hw_api::content
Hyperwave API Funktionen


Returns content of an object

hw_api::children
hw_api::copy
Hyperwave API Funktionen
PHP Manual

hw_api::content

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::content — Returns content of an object

Beschreibung

HW_API_Content hw_api::content ( array $parameter )

This function returns the content of a document as an object of type hw_api_content.

Parameter-Liste

parameter

The parameter array contains the required elements 'objectidentifier' and the optional element 'mode'. The mode can be one of the constants HW_API_CONTENT_ALLLINKS, HW_API_CONTENT_REACHABLELINKS or HW_API_CONTENT_PLAIN.

HW_API_CONTENT_ALLLINKS means to insert all anchors even if the destination is not reachable.

HW_API_CONTENT_REACHABLELINKS tells this method to insert only reachable links and HW_API_CONTENT_PLAIN will lead to document without any links.

Rückgabewerte

Returns an instance of hw_api_content.

hw_api::children
hw_api::copy
Hyperwave API Funktionen


Copies physically

hw_api::content
hw_api::dbstat
Hyperwave API Funktionen
PHP Manual

hw_api::copy

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::copy — Copies physically

Beschreibung

hw_api_content hw_api::copy ( array $parameter )

This function will make a physical copy including the content if it exists and returns the new object or an error object.

Parameter-Liste

parameter

The parameter array contains the required elements 'objectIdentifier' and 'destinationParentIdentifier'. The optional parameter is 'attributeSelector'`

Rückgabewerte

Returns the copied object.

Siehe auch

  • hw_api::move
  • hw_api::link

hw_api::content
hw_api::dbstat
Hyperwave API Funktionen


Returns statistics about database server

hw_api::copy
hw_api::dcstat
Hyperwave API Funktionen
PHP Manual

hw_api::dbstat

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::dbstat — Returns statistics about database server

Beschreibung

hw_api_object hw_api::dbstat ( array $parameter )

Returns statistics about database server.

Parameter-Liste

parameter

Rückgabewerte

Siehe auch

  • hw_api::dcstat
  • hw_api::hwstat
  • hw_api::ftstat

hw_api::copy
hw_api::dcstat
Hyperwave API Funktionen


Returns statistics about document cache server

hw_api::dbstat
hw_api::dstanchors
Hyperwave API Funktionen
PHP Manual

hw_api::dcstat

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::dcstat — Returns statistics about document cache server

Beschreibung

hw_api_object hw_api::dcstat ( array $parameter )

Returns statistics about document cache server.

Parameter-Liste

parameter

Rückgabewerte

Siehe auch

  • hw_api::dbstat
  • hw_api::hwstat
  • hw_api::ftstat

hw_api::dbstat
hw_api::dstanchors
Hyperwave API Funktionen


Returns a list of all destination anchors

hw_api::dcstat
hw_api::dstofsrcanchor
Hyperwave API Funktionen
PHP Manual

hw_api::dstanchors

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::dstanchors — Returns a list of all destination anchors

Beschreibung

array hw_api::dstanchors ( array $parameter )

Retrieves all destination anchors of an object.

Parameter-Liste

parameter

The parameter array contains the required element 'objectIdentifier' and the optional elements 'attributeSelector' and 'objectQuery'.

Rückgabewerte

Siehe auch

  • hw_api::srcanchors

hw_api::dcstat
hw_api::dstofsrcanchor
Hyperwave API Funktionen


Returns destination of a source anchor

hw_api::dstanchors
hw_api::find
Hyperwave API Funktionen
PHP Manual

hw_api::dstofsrcanchor

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::dstofsrcanchor — Returns destination of a source anchor

Beschreibung

hw_api_object hw_api::dstofsrcanchor ( array $parameter )

Retrieves the destination object pointed by the specified source anchors. The destination object can either be a destination anchor or a whole document.

Parameter-Liste

parameter

The parameters array contains the required element 'objectIdentifier' and the optional element 'attributeSelector'.

Rückgabewerte

Siehe auch

  • hw_api::srcanchors
  • hw_api::dstanchors
  • hw_api::objectbyanchor

hw_api::dstanchors
hw_api::find
Hyperwave API Funktionen


Search for objects

hw_api::dstofsrcanchor
hw_api::ftstat
Hyperwave API Funktionen
PHP Manual

hw_api::find

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::find — Search for objects

Beschreibung

array hw_api::find ( array $parameter )

This functions searches for objects either by executing a key or/and full text query. The found objects can further be filtered by an optional object query. They are sorted by their importance. The second search operation is relatively slow and its result can be limited to a certain number of hits. This allows to perform an incremental search, each returning just a subset of all found documents, starting at a given index.

Parameter-Liste

parameter

The parameter array contains the 'keyquery' or/and 'fulltextquery' depending on who you would like to search. Optional parameters are 'objectquery', 'scope', 'languages' and 'attributeselector'. In case of an incremental search the optional parameters 'startIndex', 'numberOfObjectsToGet' and 'exactMatchUnit' can be passed.

Rückgabewerte

hw_api::dstofsrcanchor
hw_api::ftstat
Hyperwave API Funktionen


Returns statistics about fulltext server

hw_api::find
hw_api::hwstat
Hyperwave API Funktionen
PHP Manual

hw_api::ftstat

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::ftstat — Returns statistics about fulltext server

Beschreibung

hw_api_object hw_api::ftstat ( array $parameter )

Returns statistics about fulltext server.

Parameter-Liste

parameter

Rückgabewerte

Siehe auch

  • hw_api::dcstat
  • hw_api::dbstat
  • hw_api::hwstat

hw_api::find
hw_api::hwstat
Hyperwave API Funktionen


Returns statistics about Hyperwave server

hw_api::ftstat
hw_api::identify
Hyperwave API Funktionen
PHP Manual

hw_api::hwstat

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::hwstat — Returns statistics about Hyperwave server

Beschreibung

hw_api_object hw_api::hwstat ( array $parameter )

Returns statistics about Hyperwave server.

Parameter-Liste

parameter

Rückgabewerte

Siehe auch

  • hw_api::dcstat
  • hw_api::dbstat
  • hw_api::ftstat

hw_api::ftstat
hw_api::identify
Hyperwave API Funktionen


Log into Hyperwave Server

hw_api::hwstat
hw_api::info
Hyperwave API Funktionen
PHP Manual

hw_api::identify

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::identify — Log into Hyperwave Server

Beschreibung

bool hw_api::identify ( array $parameter )

Logs into the Hyperwave Server.

Parameter-Liste

parameter

The parameter array must contain the elements 'username' and 'password'.

Rückgabewerte

Returns an object of typeHW_API_Error if identification failed or TRUE if it was successful.

hw_api::hwstat
hw_api::info
Hyperwave API Funktionen


Returns information about server configuration

hw_api::identify
hw_api::insert
Hyperwave API Funktionen
PHP Manual

hw_api::info

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::info — Returns information about server configuration

Beschreibung

array hw_api::info ( array $parameter )

Returns information about server configuration.

Parameter-Liste

parameter

Rückgabewerte

Siehe auch

  • hw_api::dcstat
  • hw_api::dbstat
  • hw_api::ftstat
  • hw_api::hwstat

hw_api::identify
hw_api::insert
Hyperwave API Funktionen


Inserts a new object

hw_api::info
hw_api::insertanchor
Hyperwave API Funktionen
PHP Manual

hw_api::insert

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::insert — Inserts a new object

Beschreibung

hw_api_object hw_api::insert ( array $parameter )

Insert a new object. The object type can be user, group, document or anchor. Depending on the type other object attributes has to be set.

Parameter-Liste

parameter

The parameter array contains the required elements 'object' and 'content' (if the object is a document) and the optional parameters 'parameters', 'mode' and 'attributeSelector'. The 'object' must contain all attributes of the object. 'parameters' is an object as well holding further attributes like the destination (attribute key is 'Parent'). 'content' is the content of the document. 'mode' can be a combination of the following flags:

HW_API_INSERT_NORMAL
The object in inserted into the server.
HW_API_INSERT_FORCE_VERSION_CONTROL
HW_API_INSERT_AUTOMATIC_CHECKOUT
HW_API_INSERT_PLAIN
HW_API_INSERT_KEEP_TIME_MODIFIED
HW_API_INSERT_DELAY_INDEXING

Rückgabewerte

Siehe auch

  • hw_api::replace

hw_api::info
hw_api::insertanchor
Hyperwave API Funktionen


Inserts a new object of type anchor

hw_api::insert
hw_api::insertcollection
Hyperwave API Funktionen
PHP Manual

hw_api::insertanchor

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::insertanchor — Inserts a new object of type anchor

Beschreibung

hw_api_object hw_api::insertanchor ( array $parameter )

This function is a shortcut for hwapi_insert(). It inserts an object of type anchor and sets some of the attributes required for an anchor.

Parameter-Liste

parameter

The parameter array contains the required elements 'object' and 'documentIdentifier' and the optional elements 'destinationIdentifier', 'parameter', 'hint' and 'attributeSelector'. The 'documentIdentifier' specifies the document where the anchor shall be inserted. The target of the anchor is set in 'destinationIdentifier' if it already exists. If the target does not exists the element 'hint' has to be set to the name of object which is supposed to be inserted later. Once it is inserted the anchor target is resolved automatically.

Rückgabewerte

Siehe auch

  • hw_api::insert
  • hw_api::insertdocument
  • hw_api::insertcollection

hw_api::insert
hw_api::insertcollection
Hyperwave API Funktionen


Inserts a new object of type collection

hw_api::insertanchor
hw_api::insertdocument
Hyperwave API Funktionen
PHP Manual

hw_api::insertcollection

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::insertcollection — Inserts a new object of type collection

Beschreibung

hw_api_object hw_api::insertcollection ( array $parameter )

This function is a shortcut for hwapi_insert(). It inserts an object of type collection and sets some of the attributes required for a collection.

Parameter-Liste

parameter

The parameter array contains the required elements 'object' and 'parentIdentifier' and the optional elements 'parameter' and 'attributeSelector'. See hwapi_insert() for the meaning of each element.

Rückgabewerte

Siehe auch

  • hw_api::insert
  • hw_api::insertdocument
  • hw_api::insertanchor

hw_api::insertanchor
hw_api::insertdocument
Hyperwave API Funktionen


Inserts a new object of type document

hw_api::insertcollection
hw_api::link
Hyperwave API Funktionen
PHP Manual

hw_api::insertdocument

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::insertdocument — Inserts a new object of type document

Beschreibung

hw_api_object hw_api::insertdocument ( array $parameter )

This function is a shortcut for hwapi_insert(). It inserts an object with content and sets some of the attributes required for a document.

Parameter-Liste

parameter

The parameter array contains the required elements 'object', 'parentIdentifier' and 'content' and the optional elements 'mode', 'parameter' and 'attributeSelector'.

See hwapi_insert() for the meaning of each element.

Rückgabewerte

Siehe auch

  • hw_api::insert
  • hw_api::insertcollection
  • hw_api::insertanchor

hw_api::insertcollection
hw_api::link
Hyperwave API Funktionen


Creates a link to an object

hw_api::insertdocument
hw_api::lock
Hyperwave API Funktionen
PHP Manual

hw_api::link

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::link — Creates a link to an object

Beschreibung

bool hw_api::link ( array $parameter )

Creates a link to an object. Accessing this link is like accessing the object to links points to.

Parameter-Liste

parameter

The parameter array contains the required elements 'objectIdentifier' and 'destinationParentIdentifier'. 'destinationParentIdentifier' is the target collection.

Rückgabewerte

The function returns TRUE on success or an error object.

Siehe auch

  • hw_api::copy

hw_api::insertdocument
hw_api::lock
Hyperwave API Funktionen


Locks an object

hw_api::link
hw_api::move
Hyperwave API Funktionen
PHP Manual

hw_api::lock

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::lock — Locks an object

Beschreibung

bool hw_api::lock ( array $parameter )

Locks an object for exclusive editing by the user calling this function. The object can be only unlocked by this user or the system user.

Parameter-Liste

parameter

The parameter array contains the required element 'objectIdentifier' and the optional parameters 'mode' and 'objectquery'.

'mode' determines how an object is locked. HW_API_LOCK_NORMAL means, an object is locked until it is unlocked. HW_API_LOCK_RECURSIVE is only valid for collection and locks all objects within the collection and possible subcollections. HW_API_LOCK_SESSION means, an object is locked only as long as the session is valid.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • hw_api::unlock

hw_api::link
hw_api::move
Hyperwave API Funktionen


Moves object between collections

hw_api::lock
hw_api::object
Hyperwave API Funktionen
PHP Manual

hw_api::move

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::move — Moves object between collections

Beschreibung

bool hw_api::move ( array $parameter )

Moves object between collections.

Parameter-Liste

parameter

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • hw_objrec2array()

hw_api::lock
hw_api::object
Hyperwave API Funktionen


Retrieve attribute information

hw_api::move
hw_api::objectbyanchor
Hyperwave API Funktionen
PHP Manual

hw_api::object

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::object — Retrieve attribute information

Beschreibung

hw_api_object hw_api::object ( array $parameter )

This function retrieves the attribute information of an object of any version. It will not return the document content.

Parameter-Liste

parameter

The parameter array contains the required elements 'objectIdentifier' and the optional elements 'attributeSelector' and 'version'.

Rückgabewerte

The returned object is an instance of class HW_API_Object on success or HW_API_Error if an error occurred.

Beispiele

This simple example retrieves an object and checks for errors.

Beispiel #1 Retrieve an object

<?php
function handle_error($error)
{
  $reason = $error->reason(0);
  echo "Type: <b>";
  switch ($reason->type()) {
    case 0:
      echo "Error";
      break;
    case 1:
      echo "Warning";
      break;
    case 2:
      echo "Message";
      break;
  }
  echo "</b><br />\n";
  echo "Description: " . $reason->description("en") . "<br />\n";
}

function list_attr($obj)
{
  echo "<table>\n";
  $count = $obj->count();
  for ($i=0; $i<$count; $i++) {
    $attr = $obj->attribute($i);
    printf("<tr><td align=\"right\" bgcolor=\"#c0c0c0\"><b>%s</b></td><td bgcolor=\"#F0F0F0\">%s</td></tr>\n",
             $attr->key(), $attr->value());
  }
  echo "</table>\n";
}

$hwapi = hwapi_hgcsp($g_config[HOSTNAME]);
$parms = array("objectIdentifier"=>"rootcollection", "attributeSelector"=>array("Title", "Name", "DocumentType"));
$root = $hwapi->object($parms);
if (get_class($root) == "HW_API_Error") {
  handle_error($root);
  exit;
}
list_attr($root);
?>

Siehe auch

  • hw_api::content

hw_api::move
hw_api::objectbyanchor
Hyperwave API Funktionen


Returns the object an anchor belongs to

hw_api::object
hw_api::parents
Hyperwave API Funktionen
PHP Manual

hw_api::objectbyanchor

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::objectbyanchor — Returns the object an anchor belongs to

Beschreibung

hw_api_object hw_api::objectbyanchor ( array $parameter )

This function retrieves an object the specified anchor belongs to.

Parameter-Liste

parameter

The parameter array contains the required element 'objectIdentifier' and the optional element 'attributeSelector'.

Rückgabewerte

Siehe auch

  • hw_api::dstofsrcanchor
  • hw_api::srcanchors
  • hw_api::dstanchors

hw_api::object
hw_api::parents
Hyperwave API Funktionen


Returns parents of an object

hw_api::objectbyanchor
hw_api::remove
Hyperwave API Funktionen
PHP Manual

hw_api::parents

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::parents — Returns parents of an object

Beschreibung

array hw_api::parents ( array $parameter )

Retrieves the parents of an object. The parents can be further filtered by specifying an object query.

Parameter-Liste

parameter

The parameter array contains the required elements 'objectidentifier' and the optional elements 'attributeselector' and 'objectquery'.

Rückgabewerte

The return value is an array of objects of type HW_API_Object or HW_API_Error.

Siehe auch

  • hw_api::children

hw_api::objectbyanchor
hw_api::remove
Hyperwave API Funktionen


Delete an object

hw_api::parents
hw_api::replace
Hyperwave API Funktionen
PHP Manual

hw_api::remove

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::remove — Delete an object

Beschreibung

bool hw_api::remove ( array $parameter )

Removes an object from the specified parent. Collections will be removed recursively.

Parameter-Liste

parameter

You can pass an optional object query to remove only those objects which match the query. An object will be deleted physically if it is the last instance.

The parameter array contains the required elements 'objectidentifier' and 'parentidentifier'. If you want to remove a user or group 'parentidentifier' can be skipped.

The optional parameter 'mode' determines how the deletion is performed. In normal mode the object will not be removed physically until all instances are removed. In physical mode all instances of the object will be deleted immediately. In removelinks mode all references to and from the objects will be deleted as well. In nonrecursive the deletion is not performed recursive. Removing a collection which is not empty will cause an error.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • hw_api::move

hw_api::parents
hw_api::replace
Hyperwave API Funktionen


Replaces an object

hw_api::remove
hw_api::setcommittedversion
Hyperwave API Funktionen
PHP Manual

hw_api::replace

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::replace — Replaces an object

Beschreibung

hw_api_object hw_api::replace ( array $parameter )

Replaces the attributes and the content of an object.

Parameter-Liste

parameter

The parameter array contains the required elements 'objectIdentifier' and 'object' and the optional parameters 'content', 'parameters', 'mode' and 'attributeSelector'. 'objectIdentifier' contains the object to be replaced. 'object' contains the new object. 'content' contains the new content. 'parameters' contain extra information for HTML documents. HTML_Language is the letter abbreviation of the language of the title. HTML_Base sets the base attribute of the HTML document.

'mode' can be a combination of the following flags:

HW_API_REPLACE_NORMAL
The object on the server is replace with the object passed.
HW_API_REPLACE_FORCE_VERSION_CONTROL
HW_API_REPLACE_AUTOMATIC_CHECKOUT
HW_API_REPLACE_AUTOMATIC_CHECKIN
HW_API_REPLACE_PLAIN
HW_API_REPLACE_REVERT_IF_NOT_CHANGED
HW_API_REPLACE_KEEP_TIME_MODIFIED

Rückgabewerte

Siehe auch

  • hw_api::insert

hw_api::remove
hw_api::setcommittedversion
Hyperwave API Funktionen


Commits version other than last version

hw_api::replace
hw_api::srcanchors
Hyperwave API Funktionen
PHP Manual

hw_api::setcommittedversion

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::setcommittedversion — Commits version other than last version

Beschreibung

hw_api_object hw_api::setcommittedversion ( array $parameter )

Commits a version of a document. The committed version is the one which is visible to users with read access. By default the last version is the committed version.

Parameter-Liste

parameter

Rückgabewerte

Siehe auch

  • hw_api::checkin
  • hw_api::checkout

hw_api::replace
hw_api::srcanchors
Hyperwave API Funktionen


Returns a list of all source anchors

hw_api::setcommittedversion
hw_api::srcsofdst
Hyperwave API Funktionen
PHP Manual

hw_api::srcanchors

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::srcanchors — Returns a list of all source anchors

Beschreibung

array hw_api::srcanchors ( array $parameter )

Retrieves all source anchors of an object.

Parameter-Liste

parameter

The parameter array contains the required element 'objectIdentifier' and the optional elements 'attributeSelector' and 'objectQuery'.

Rückgabewerte

Siehe auch

  • hw_api::dstanchors

hw_api::setcommittedversion
hw_api::srcsofdst
Hyperwave API Funktionen


Returns source of a destination object

hw_api::srcanchors
hw_api::unlock
Hyperwave API Funktionen
PHP Manual

hw_api::srcsofdst

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::srcsofdst — Returns source of a destination object

Beschreibung

array hw_api::srcsofdst ( array $parameter )

Retrieves all the source anchors pointing to the specified destination. The destination object can either be a destination anchor or a whole document.

Parameter-Liste

parameter

The parameters array contains the required element 'objectIdentifier' and the optional element 'attributeSelector' and 'objectQuery'. The function returns an array of objects or an error.

Rückgabewerte

Siehe auch

  • hw_api::dstofsrcanchor

hw_api::srcanchors
hw_api::unlock
Hyperwave API Funktionen


Unlocks a locked object

hw_api::srcsofdst
hw_api::user
Hyperwave API Funktionen
PHP Manual

hw_api::unlock

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::unlock — Unlocks a locked object

Beschreibung

bool hw_api::unlock ( array $parameter )

Unlocks a locked object. Only the user who has locked the object and the system user may unlock an object.

Parameter-Liste

parameter

The parameter array contains the required element 'objectIdentifier' and the optional parameters 'mode' and 'objectquery'. The meaning of 'mode' is the same as in function hwapi_lock().

Rückgabewerte

Returns TRUE on success or an object of class HW_API_Error.

Siehe auch

  • hw_api::lock

hw_api::srcsofdst
hw_api::user
Hyperwave API Funktionen


Returns the own user object

hw_api::unlock
hw_api::userlist
Hyperwave API Funktionen
PHP Manual

hw_api::user

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::user — Returns the own user object

Beschreibung

hw_api_object hw_api::user ( array $parameter )

Returns the own user object.

Parameter-Liste

parameter

Rückgabewerte

Siehe auch

  • hw_api::userlist

hw_api::unlock
hw_api::userlist
Hyperwave API Funktionen


Returns a list of all logged in users

hw_api::user
hw_api_attribute::key
Hyperwave API Funktionen
PHP Manual

hw_api::userlist

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api::userlist — Returns a list of all logged in users

Beschreibung

array hw_api::userlist ( array $parameter )

Returns a list of all logged in users.

Parameter-Liste

parameter

Rückgabewerte

Siehe auch

  • hw_api::user

hw_api::user
hw_api_attribute::key
Hyperwave API Funktionen


Returns key of the attribute

hw_api::userlist
hw_api_attribute::langdepvalue
Hyperwave API Funktionen
PHP Manual

hw_api_attribute::key

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_attribute::key — Returns key of the attribute

Beschreibung

string hw_api_attribute::key ( void )

Returns the name of the attribute.

Rückgabewerte

Returns the name of the attribute as a string.

Siehe auch

  • hw_api_attribute::value

hw_api::userlist
hw_api_attribute::langdepvalue
Hyperwave API Funktionen


Returns value for a given language

hw_api_attribute::key
hw_api_attribute::value
Hyperwave API Funktionen
PHP Manual

hw_api_attribute::langdepvalue

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_attribute::langdepvalue — Returns value for a given language

Beschreibung

string hw_api_attribute::langdepvalue ( string $language )

Returns the value in the given language of the attribute.

Parameter-Liste

language

Rückgabewerte

Returns the value of the attribute as a string.

Siehe auch

  • hw_api_attribute::value

hw_api_attribute::key
hw_api_attribute::value
Hyperwave API Funktionen


Returns value of the attribute

hw_api_attribute::langdepvalue
hw_api_attribute::values
Hyperwave API Funktionen
PHP Manual

hw_api_attribute::value

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_attribute::value — Returns value of the attribute

Beschreibung

string hw_api_attribute::value ( void )

Gets the value of the attribute.

Rückgabewerte

Returns the value, as a string.

Siehe auch

  • hw_api_attribute::key
  • hw_api_attribute::values

hw_api_attribute::langdepvalue
hw_api_attribute::values
Hyperwave API Funktionen


Returns all values of the attribute

hw_api_attribute::value
hw_api_content::mimetype
Hyperwave API Funktionen
PHP Manual

hw_api_attribute::values

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_attribute::values — Returns all values of the attribute

Beschreibung

array hw_api_attribute::values ( void )

Gets all values of the attribute.

Rückgabewerte

Returns an array of attribute values.

Siehe auch

  • hw_api_attribute::value

hw_api_attribute::value
hw_api_content::mimetype
Hyperwave API Funktionen


Returns mimetype

hw_api_attribute::values
hw_api_content::read
Hyperwave API Funktionen
PHP Manual

hw_api_content::mimetype

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_content::mimetype — Returns mimetype

Beschreibung

string hw_api_content::mimetype ( void )

Returns the mimetype of the content.

Rückgabewerte

Returns the mimetype as a string.

hw_api_attribute::values
hw_api_content::read
Hyperwave API Funktionen


Read content

hw_api_content::mimetype
hw_api_error::count
Hyperwave API Funktionen
PHP Manual

hw_api_content::read

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_content::read — Read content

Beschreibung

string hw_api_content::read ( string $buffer , int $len )

Reads len bytes from the content into the given buffer.

Parameter-Liste

buffer

len

Number of bytes to read.

Rückgabewerte

hw_api_content::mimetype
hw_api_error::count
Hyperwave API Funktionen


Returns number of reasons

hw_api_content::read
hw_api_error::reason
Hyperwave API Funktionen
PHP Manual

hw_api_error::count

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_error::count — Returns number of reasons

Beschreibung

int hw_api_error::count ( void )

Returns the number of error reasons.

Rückgabewerte

Returns the number of errors, as an integer.

Siehe auch

  • hw_api_error::reason

hw_api_content::read
hw_api_error::reason
Hyperwave API Funktionen


Returns reason of error

hw_api_error::count
hw_api_object::assign
Hyperwave API Funktionen
PHP Manual

hw_api_error::reason

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_error::reason — Returns reason of error

Beschreibung

HW_API_Reason hw_api_error::reason ( void )

Returns the first error reason.

Rückgabewerte

Siehe auch

  • hw_api_error::count

hw_api_error::count
hw_api_object::assign
Hyperwave API Funktionen


Clones object

hw_api_error::reason
hw_api_object::attreditable
Hyperwave API Funktionen
PHP Manual

hw_api_object::assign

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_object::assign — Clones object

Beschreibung

bool hw_api_object::assign ( array $parameter )

Clones the attributes of an object.

Parameter-Liste

parameter

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

hw_api_error::reason
hw_api_object::attreditable
Hyperwave API Funktionen


Checks whether an attribute is editable

hw_api_object::assign
hw_api_object::count
Hyperwave API Funktionen
PHP Manual

hw_api_object::attreditable

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_object::attreditable — Checks whether an attribute is editable

Beschreibung

bool hw_api_object::attreditable ( array $parameter )

Checks whether an attribute is editable.

Parameter-Liste

parameter

Rückgabewerte

Returns TRUE if the attribute is editable, FALSE otherwise.

hw_api_object::assign
hw_api_object::count
Hyperwave API Funktionen


Returns number of attributes

hw_api_object::attreditable
hw_api_object::insert
Hyperwave API Funktionen
PHP Manual

hw_api_object::count

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_object::count — Returns number of attributes

Beschreibung

int hw_api_object::count ( array $parameter )

Returns the number of attributes.

Parameter-Liste

parameter

Rückgabewerte

Returns the number as an integer.

hw_api_object::attreditable
hw_api_object::insert
Hyperwave API Funktionen


Inserts new attribute

hw_api_object::count
hw_api_object::remove
Hyperwave API Funktionen
PHP Manual

hw_api_object::insert

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_object::insert — Inserts new attribute

Beschreibung

bool hw_api_object::insert ( HW_API_Attribute $attribute )

Adds an attribute to the object.

Parameter-Liste

attribute

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • hw_api_object::remove

hw_api_object::count
hw_api_object::remove
Hyperwave API Funktionen


Removes attribute

hw_api_object::insert
hw_api_object::title
Hyperwave API Funktionen
PHP Manual

hw_api_object::remove

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_object::remove — Removes attribute

Beschreibung

bool hw_api_object::remove ( string $name )

Removes the attribute with the given name.

Parameter-Liste

name

The attribute name.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • hw_api_object::insert

hw_api_object::insert
hw_api_object::title
Hyperwave API Funktionen


Returns the title attribute

hw_api_object::remove
hw_api_object::value
Hyperwave API Funktionen
PHP Manual

hw_api_object::title

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_object::title — Returns the title attribute

Beschreibung

string hw_api_object::title ( array $parameter )

Returns the title attribute.

Parameter-Liste

parameter

Rückgabewerte

Returns the title as a string.

hw_api_object::remove
hw_api_object::value
Hyperwave API Funktionen


Returns value of attribute

hw_api_object::title
hw_api_reason::description
Hyperwave API Funktionen
PHP Manual

hw_api_object::value

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_object::value — Returns value of attribute

Beschreibung

string hw_api_object::value ( string $name )

Returns value of an attribute.

Parameter-Liste

name

The attribute name.

Rückgabewerte

Returns the value of the attribute with the given name or FALSE if an error occurred.

hw_api_object::title
hw_api_reason::description
Hyperwave API Funktionen


Returns description of reason

hw_api_object::value
hw_api_reason::type
Hyperwave API Funktionen
PHP Manual

hw_api_reason::description

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_reason::description — Returns description of reason

Beschreibung

string hw_api_reason::description ( void )

Returns the description of a reason

Rückgabewerte

Returns the description, as a string.

hw_api_object::value
hw_api_reason::type
Hyperwave API Funktionen


Returns type of reason

hw_api_reason::description
hwapi_attribute_new
Hyperwave API Funktionen
PHP Manual

hw_api_reason::type

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_reason::type — Returns type of reason

Beschreibung

HW_API_Reason hw_api_reason::type ( void )

Returns the type of a reason.

Rückgabewerte

Returns an instance of HW_API_Reason.

hw_api_reason::description
hwapi_attribute_new
Hyperwave API Funktionen


Creates instance of class hw_api_attribute

hw_api_reason::type
hwapi_content_new
Hyperwave API Funktionen
PHP Manual

hwapi_attribute_new

(No version information available, might only be in Git)

hwapi_attribute_new — Creates instance of class hw_api_attribute

Beschreibung

HW_API_Attribute hwapi_attribute_new ([ string $name [, string $value ]] )

Creates a new instance of hw_api_attribute with the given name and value.

Parameter-Liste

name

The attribute name.

value

The attribute value.

Rückgabewerte

Returns an instance of hw_api_attribute.

hw_api_reason::type
hwapi_content_new
Hyperwave API Funktionen


Create new instance of class hw_api_content

hwapi_attribute_new
hwapi_hgcsp
Hyperwave API Funktionen
PHP Manual

hwapi_content_new

(No version information available, might only be in Git)

hwapi_content_new — Create new instance of class hw_api_content

Beschreibung

HW_API_Content hwapi_content_new ( string $content , string $mimetype )

Creates a new content object from the string content.

Parameter-Liste

content

mimetype

The mimetype for the contents.

Rückgabewerte

hwapi_attribute_new
hwapi_hgcsp
Hyperwave API Funktionen


Returns object of class hw_api

hwapi_content_new
hwapi_object_new
Hyperwave API Funktionen
PHP Manual

hwapi_hgcsp

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hwapi_hgcsp — Returns object of class hw_api

Beschreibung

HW_API hwapi_hgcsp ( string $hostname [, int $port ] )

Opens a connection to the Hyperwave server on host hostname. The protocol used is HGCSP.

Parameter-Liste

hostname

The host name.

port

If you do not pass a port number, 418 is used.

Rückgabewerte

Returns an instance of HW_API.

hwapi_content_new
hwapi_object_new
Hyperwave API Funktionen


Creates a new instance of class hwapi_object_new

hwapi_hgcsp
LDAP
Hyperwave API Funktionen
PHP Manual

hwapi_object_new

(No version information available, might only be in Git)

hwapi_object_new — Creates a new instance of class hwapi_object_new

Beschreibung

hw_api_object hwapi_object_new ( array $parameter )

Creates a new instance of the class hw_api_object.

Parameter-Liste

parameter

Rückgabewerte

Siehe auch

  • hw_api::lock

hwapi_hgcsp
LDAP
Hyperwave API Funktionen


Lightweight Directory Access Protocol

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Using the PHP LDAP calls
  • Beispiele
    • Grundlegende Nutzung
  • LDAP Funktionen
    • ldap_8859_to_t61 — Übersetzt 8859 Zeichen nach t61 Zeichen
    • ldap_add — Einträge einem LDAP Verzeichnis hinzufügen
    • ldap_bind — Bindung zu einem LDAP Verzeichnis
    • ldap_close — Verbindung zum LDAP-Server schließen
    • ldap_compare — Vergleicht gefundenen Wert eines Merkmal in einem Eintrag, der durch Angabe von dn bestimmt wird.
    • ldap_connect — Verbindet zu einem LDAP Server
    • ldap_control_paged_result_response — Retrieve the LDAP pagination cookie
    • ldap_control_paged_result — Send LDAP pagination control
    • ldap_count_entries — Zählt die Anzahl der Einträge bei einer Suche
    • ldap_delete — Löscht einen Eintrag aus einem Verzeichnis
    • ldap_dn2ufn — Konvertiert DN in ein benutzerfreundliches Namensformat
    • ldap_err2str — Konvertiert eine LDAP Fehlernummer in einen Fehlertext
    • ldap_errno — Liefert die LDAP Fehlernummer des letzten LDAP Kommandos
    • ldap_error — Liefert die LDAP Fehlermeldung des letzten LDAP Kommandos
    • ldap_escape — Escape a string for use in an LDAP filter or DN
    • ldap_explode_dn — Aufteilung eines DN in seine Bestandteile
    • ldap_first_attribute — Liefert das erste Merkmal
    • ldap_first_entry — Liefert die Kennung des ersten Ergebnisses
    • ldap_first_reference — Liefert die erste Referenz
    • ldap_free_result — Gibt den belegten Speicher wieder frei
    • ldap_get_attributes — Liefert Merkmale eines Suchergebnis-Eintrags
    • ldap_get_dn — Liefert den DN eines Ergebnis-Eintrags
    • ldap_get_entries — Liefert alle Ergebnis-Einträge
    • ldap_get_option — Liefert den aktuellen Wert für eine gegebene Option
    • ldap_get_values_len — Liefert alle binären Werte eines Ergebnis-Eintrags
    • ldap_get_values — Liefert alle Werte eines Ergebnis-Eintrags
    • ldap_list — Einstufige Suche
    • ldap_mod_add — Hinzufügen von Merkmalswerten zu aktuellen Merkmalen
    • ldap_mod_del — Löschen von Merkmalswerten aktueller Merkmale
    • ldap_mod_replace — Ersetzen von Merkmalswerten mit neuen Merkmalswerten
    • ldap_modify_batch — Batch and execute modifications on an LDAP entry
    • ldap_modify — Verändern eines LDAP-Eintrags
    • ldap_next_attribute — Liefert das nächste Merkmal im Ergebnis
    • ldap_next_entry — Liefert den nächsten Eintrag des Ergebnisses
    • ldap_next_reference — Holt die nächste Referenz
    • ldap_parse_reference — Gewinnt Informationen aus einem Referenz-Eintrag
    • ldap_parse_result — Gewinnt Informationen aus einem Ergebnis
    • ldap_read — Lesen eines Eintrags
    • ldap_rename — Verändert den Namen eines Eintrags
    • ldap_sasl_bind — Bind to LDAP directory using SASL
    • ldap_search — Suche im LDAP Baum
    • ldap_set_option — Setzt den Wert der gegebenen Option
    • ldap_set_rebind_proc — Set a callback function to do re-binds on referral chasing.
    • ldap_sort — Sortiert LDAP Ergebniseinträge
    • ldap_start_tls — Startet TLS
    • ldap_t61_to_8859 — Übersetzt t61 Zeichen nach 8859 Zeichen
    • ldap_unbind — Unbind von einem LDAP Verzeichnis
hwapi_object_new
Einführung
Sonstige Dienste


Einführung

LDAP steht für Lightweight Directory Access Protocol und ist ein Protokoll um auf "Directory Servers" - Verzeichnis- Server - zuzugreifen. Das Verzeichnis ist dabei eine spezielle Art einer Datenbank, das Informationen in einer Baumstruktur bereithält.

Das Konzept ist dabei ähnlich der Verzeichnisstruktur Ihrer Festplatte, mit der Ausnahme, dass in diesem Zusammenhang das Wurzelverzeichnis "Die Welt" ist und die Unterverzeichnisse der ersten Ebene "Länder" abbilden. Die weiteren Verzeichnisse unterhalb der Länderebene enthalten Einträge für Firmen, Organisationen oder Städte. Noch tiefer geschachtelt stehen Verzeichniseinträge für Personen und vielleicht für Ausstattung oder Dokumente.

Um auf eine Datei in einem Unterverzeichnis auf Ihrer Festplatte zu verweisen, könnten Sie eine Schreibweise wie folgt verwenden

  /usr/local/meine_daten/doku

Die Schrägstriche markieren jeden Teil in diesem Verweis und die Sequenz wird von links nach rechts gelesen.

Das entsprechende Gegenstück zu einer voll qualifizierten Dateireferenz ist in LDAP der Eindeutige Name ("distinguished name"), der Einfachheit halber als "dn" bezeichnet. Ein Beispiel für einen solchen dn könnte sein

  cn=Hans Mustermann,ou=Buchhaltung,o=Meine Firma,c=DE

Das Komma markiert jeden Teil in diesem Verweis und die Sequenz wird von rechts nach links gelesen. Diesen dn würden Sie wie folgt lesen:

  Land = DE
  Organisation (organisation) = Meine Firma
  Organisationseinheit (organisationalUnit) = Buchhaltung
  Einfacher Name (commonName) = Hans Mustermann

In der gleichen Weise, in der es keine allgemeinverbindlichen Regeln gibt, wie Sie die Verzeichnisstruktur Ihrer Festplatte organsieren, kann der Verwalter eines Verzeichnis-Servers jede beliebige Struktur implementieren, die für den Einsatzzweck sinnvoll ist. Die Botschaft ist folgende: Sie können keinen Code schreiben um auf einen Verzeichnis-Server zuzugreifen, ohne etwas über dessen Struktur zu wissen. Genauso wenig können Sie eine Datenbank nutzen ohne Kenntnis darüber, was in derselben vorhanden ist.

Weitere nützliche Informationen zu LDAP finden Sie unter

  • » Mozilla

  • » OpenLDAP Project

Das Netscape SDK enthält einen hilfreichen » Programmer´s Guide im HTML Format.

LDAP
Installation/Konfiguration
LDAP


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
LDAP


Anforderungen

Sie benötigen die LDAP Client Bibliotheken von » OpenLDAP oder » Bind9.net um PHP mit LDAP Unterstützung zu kompilieren.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

LDAP Unterstützung ist in PHP im Standard nicht aktiviert. Sie müssen die Konfigurationsoption --with-ldap[=DIR] beim Übersetzen von PHP angeben. DIR bezeichnet LDAP Installationsverzeichnis. Um zusätzlich SASL Unterstützung zu aktivieren müssen Sie die --with-ldap-sasl[=DIR] Konfigurationsoption hinzufügen und sicherstellen das die Datei sasl.h auf Ihrem System vorhanden ist.

Hinweis: Hinweis für Win32 Benutzer

Diese Extension benötigt DLL-Dateien. die für Windows verfügbar seien müssen. Der FAQ-Eintrag " Wie füge ich unter Windows PATH mein PHP-Verzeichnis hinzu?" gibt hierzu weitere Informationen. Obwohl ein einfaches Kopieren der DLL-Dateien vom PHP-Verzeichnis in den Windows-Systemordner auch funktioniert (weil der Systemordner immer im PATH enthalten ist), ist dieses Vorgehen nicht empfehlenswert. Diese Extension benötigt die folgenden Dateien im PATH: libeay32.dll und ssleay32.dll

Vor PHP 4.3.0 wird zusätzlich libsasl.dll benötigt.

Wenn Sie die Oracle LDAP Bibliotheken nutzen wollen, müssen Sie sicherstellen, dass eine gültige Oracle Umgebung aufgesetzt ist.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

LDAP Konfigurations-Optionen
Name | Standard | Veränderbar | Changelog
ldap.max_links | "-1" | PHP_INI_SYSTEM |
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

ldap.max_links integer

Die Höchstanzahl von LDAP Verbindungen pro Prozess.

Installation
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

Die meisten LDAP Funktionen geben entweder Resourcen zurück oder erwarten diese als Eingabe (so gibt z.B. ldap_connect() eine LDAP Verbindungsresource zurück die von den meisten anderen LDAP Funktionen benötigt wird.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

LDAP_DEREF_NEVER (integer)
LDAP_DEREF_SEARCHING (integer)
LDAP_DEREF_FINDING (integer)
LDAP_DEREF_ALWAYS (integer)
LDAP_OPT_DEREF (integer)
Spezifiziert alternative Regeln für das Folgen von Aliasen auf dem Server.
LDAP_OPT_SIZELIMIT (integer)

Gibt die Höchstanzahl von Einträgen an, die bei einer Suchoperation zurückgegeben werden können.

Hinweis: Das tatsächliche Höchstanzahl für Operationen ist auch durch die auf dem Server konfigurierte Höchstanzahl von Rückgabe-Einträgen beschränkt. Die kleinere dieser beiden Einstellungen ist die tatsächliche Höchstanzahl.

LDAP_OPT_TIMELIMIT (integer)
Gibt die Anzahl von Sekunden an, für die auf Suchergebnisse gewartet werden soll.

Hinweis: Die tatsächliche Höchstdauer für Operationen ist auch durch die auf dem Server konfigurierte Höchstdauer beschränkt. Die kleinere dieser beiden Einstellungen ist die tatsächliche Höchstdauer.

LDAP_OPT_NETWORK_TIMEOUT (integer)
Option für ldap_set_option() um das Netzwerk-Timeout zu setzen (ab PHP 5.3.0).
LDAP_OPT_PROTOCOL_VERSION (integer)
Gibt das zu verwendende LDAP Protokoll an (V2 oder V3).
LDAP_OPT_ERROR_NUMBER (integer)
LDAP_OPT_REFERRALS (integer)
Gibt an, ob vom LDAP Server zurückgegebenen Verweisen automatisch gefolgt werden soll.
LDAP_OPT_RESTART (integer)
LDAP_OPT_HOST_NAME (integer)
LDAP_OPT_ERROR_STRING (integer)
LDAP_OPT_MATCHED_DN (integer)
LDAP_OPT_SERVER_CONTROLS (integer)
Gibt eine Standardliste von Server-Controls an, die mit jeder Anfrage gesendet werden.
LDAP_OPT_CLIENT_CONTROLS (integer)
Gibt eine Standardliste von Client-Controls an, die bei jeder Anfrage verarbeitet werden.
LDAP_OPT_DEBUG_LEVEL (integer)
Gibt eine Binärstufe für Debug-Ablaufverfolgung an.
GSLC_SSL_NO_AUTH (integer)
GSLC_SSL_ONEWAY_AUTH (integer)
GSLC_SSL_TWOWAY_AUTH (integer)
Ressource-Typen
Using the PHP LDAP calls
LDAP


Using the PHP LDAP calls

Bevor Sie die LDAP Aufrufe benutzen können, müssen Sie folgendes wissen...

  • Den Namen oder die Adresse des Verzeichnis-Servers den Sie benutzen wollen

  • Den "Basis dn" des Servers (den Teil des Weltverzeichnisses, das auf diesem Server eingerichtet ist, das könnte "o=Meine Firma,c=DE" sein.

  • Brauchen Sie ein Passwort um auf den Server zuzugreifen? (Viele Server bieten Lesezugriff für einen "anonymen bind", verlangen aber ein Passwort für alles weitere)

Die typische Abfolge von LDAP Aufrufen in einer Anwendung folgen diesem Muster

  ldap_connect()    // Aufbau einer Verbindung zum Server

  connection to server
     |
  ldap_bind()       // anonymes oder authentifiziertes "login"
     |
  mache irgendwas, z.B. Verzeichnis durchsuchen oder aktualisieren
  und stelle das Ergebnis dar
     |
  ldap_close()      // "logout"

Vordefinierte Konstanten
Beispiele
LDAP


Beispiele

Inhaltsverzeichnis

  • Grundlegende Nutzung
Using the PHP LDAP calls
Grundlegende Nutzung
LDAP


Grundlegende Nutzung

Informationen von einem Verzeichnis-Server beziehen für alle Einträge bei denen der Nachname mit "S" beginnt. Darstellung eines Auszugs mit Name und Email-Adresse.

Beispiel #1 LDAP Such-Beispiel

<?php
// Grundlegende Abfolge bei LDAP ist verbinden, binden, suchen,
// interpretieren des Sucheergebnisses, Verbindung schließen

echo "<h3>LDAP query Test</h3>";
echo "Verbindung ...";
$ds=ldap_connect("localhost");  // muss ein gültiger LDAP Server
                               // sein!
    echo "Ergebnis der Verbindung: ".$ds."<br />";

if ($ds) {
    echo "Bindung ...";
    $r=ldap_bind($ds);     // das ist ein "anonymer" bind,
                           // typischerweise nur Lese Zugriff
    echo "Ergebnis der Bindung ".$r."<br />";

    echo "Suche nach (sn=S*) ...";
    // Suchen des Nachnamen-Eintrags
    $sr=ldap_search($ds,"o=Meine Firma, c=DE", "sn=S*");
    echo "Ergebnis der Suche ".$sr."<br />";

    echo "Anzahl gefundenen Einträge ".ldap_count_entries($ds,$sr)."<br />";

    echo "Einträge holen ...<br />";
    $info = ldap_get_entries($ds, $sr);
    echo "Daten für ".$info["count"]." Items gefunden:<br />";

    for ($i=0; $i<$info["count"]; $i++) {
        echo "dn ist: ". $info[$i]["dn"] ."<br />";
        echo "erster cn Eintrag: ". $info[$i]["cn"][0] ."<br />";
        echo "erster email Eintrag: ". $info[$i]["mail"][0] ."<br /><hr />";
    }

    echo "Verbindung schließen";
    ldap_close($ds);

} else {
    echo "<h4>Verbindung zum LDAP Server nicht möglich</h4>";
}
?>
Beispiele
LDAP Funktionen
Beispiele


LDAP Funktionen

Inhaltsverzeichnis

  • ldap_8859_to_t61 — Übersetzt 8859 Zeichen nach t61 Zeichen
  • ldap_add — Einträge einem LDAP Verzeichnis hinzufügen
  • ldap_bind — Bindung zu einem LDAP Verzeichnis
  • ldap_close — Verbindung zum LDAP-Server schließen
  • ldap_compare — Vergleicht gefundenen Wert eines Merkmal in einem Eintrag, der durch Angabe von dn bestimmt wird.
  • ldap_connect — Verbindet zu einem LDAP Server
  • ldap_control_paged_result_response — Retrieve the LDAP pagination cookie
  • ldap_control_paged_result — Send LDAP pagination control
  • ldap_count_entries — Zählt die Anzahl der Einträge bei einer Suche
  • ldap_delete — Löscht einen Eintrag aus einem Verzeichnis
  • ldap_dn2ufn — Konvertiert DN in ein benutzerfreundliches Namensformat
  • ldap_err2str — Konvertiert eine LDAP Fehlernummer in einen Fehlertext
  • ldap_errno — Liefert die LDAP Fehlernummer des letzten LDAP Kommandos
  • ldap_error — Liefert die LDAP Fehlermeldung des letzten LDAP Kommandos
  • ldap_escape — Escape a string for use in an LDAP filter or DN
  • ldap_explode_dn — Aufteilung eines DN in seine Bestandteile
  • ldap_first_attribute — Liefert das erste Merkmal
  • ldap_first_entry — Liefert die Kennung des ersten Ergebnisses
  • ldap_first_reference — Liefert die erste Referenz
  • ldap_free_result — Gibt den belegten Speicher wieder frei
  • ldap_get_attributes — Liefert Merkmale eines Suchergebnis-Eintrags
  • ldap_get_dn — Liefert den DN eines Ergebnis-Eintrags
  • ldap_get_entries — Liefert alle Ergebnis-Einträge
  • ldap_get_option — Liefert den aktuellen Wert für eine gegebene Option
  • ldap_get_values_len — Liefert alle binären Werte eines Ergebnis-Eintrags
  • ldap_get_values — Liefert alle Werte eines Ergebnis-Eintrags
  • ldap_list — Einstufige Suche
  • ldap_mod_add — Hinzufügen von Merkmalswerten zu aktuellen Merkmalen
  • ldap_mod_del — Löschen von Merkmalswerten aktueller Merkmale
  • ldap_mod_replace — Ersetzen von Merkmalswerten mit neuen Merkmalswerten
  • ldap_modify_batch — Batch and execute modifications on an LDAP entry
  • ldap_modify — Verändern eines LDAP-Eintrags
  • ldap_next_attribute — Liefert das nächste Merkmal im Ergebnis
  • ldap_next_entry — Liefert den nächsten Eintrag des Ergebnisses
  • ldap_next_reference — Holt die nächste Referenz
  • ldap_parse_reference — Gewinnt Informationen aus einem Referenz-Eintrag
  • ldap_parse_result — Gewinnt Informationen aus einem Ergebnis
  • ldap_read — Lesen eines Eintrags
  • ldap_rename — Verändert den Namen eines Eintrags
  • ldap_sasl_bind — Bind to LDAP directory using SASL
  • ldap_search — Suche im LDAP Baum
  • ldap_set_option — Setzt den Wert der gegebenen Option
  • ldap_set_rebind_proc — Set a callback function to do re-binds on referral chasing.
  • ldap_sort — Sortiert LDAP Ergebniseinträge
  • ldap_start_tls — Startet TLS
  • ldap_t61_to_8859 — Übersetzt t61 Zeichen nach 8859 Zeichen
  • ldap_unbind — Unbind von einem LDAP Verzeichnis
Grundlegende Nutzung
ldap_8859_to_t61
LDAP


Übersetzt 8859 Zeichen nach t61 Zeichen

LDAP Funktionen
ldap_add
LDAP Funktionen
PHP Manual

ldap_8859_to_t61

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

ldap_8859_to_t61 — Übersetzt 8859 Zeichen nach t61 Zeichen

Beschreibung

string ldap_8859_to_t61 ( string $value )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

LDAP Funktionen
ldap_add
LDAP Funktionen


Einträge einem LDAP Verzeichnis hinzufügen

ldap_8859_to_t61
ldap_bind
LDAP Funktionen
PHP Manual

ldap_add

(PHP 4, PHP 5, PHP 7)

ldap_add — Einträge einem LDAP Verzeichnis hinzufügen

Beschreibung

bool ldap_add ( resource $Verbindungs-Kennung , string $dn , array $eintrag )

Rückgabewert: Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Die ldap_add() Funktion wird benutzt um Einträge einem Verzeichnis hinzuzufügen. Die DN des Eintrags, der hinzugefügt werden soll wird durch dn bestimmt. Das Array eintrag bestimmt die Informationen des Eintrags. Die Werte in den Einträgen werden durch individuelle Merkmale indiziert. Im Fall von mehreren Werten für ein Merkmal werden diese durch die Verwendung von Zahlen indiziert, die bei 0 beginnen.

    eintrag["merkmal1"] = wert
    eintrag["merkmal2"][0] = wert1
    eintrag["merkmal2"][1] = wert2

Beispiel #1 Komplettes Beispiel mit authentifiziertem bind

<?php
$ds=ldap_connect("localhost");  // Annahme: der LDAP Server befindet
                                // sich auf diesem Host

if ($ds) {
    // bind mit passendem dn für aktulisierenden Zugriff
    $r=ldap_bind($ds,"cn=root, o=Meine Firma, c=DE", "geheim");

    // Daten vorbereiten
    $info["cn"]="Hans Mustermann";
    $info["sn"]="Mustermann";
    $info["mail"]="MustermannH@firma.de";
    $info["objectclass"]="person";

    // hinzufügen der Daten zum Verzeichnis
    $r=ldap_add($ds, "cn=Hans Mustermann, o=Meine Firma, c=DE", $info);

    ldap_close($ds);
} else {
    echo "Verbindung zum LDAP Server nicht möglich!";
}
?>
ldap_8859_to_t61
ldap_bind
LDAP Funktionen


Bindung zu einem LDAP Verzeichnis

ldap_add
ldap_close
LDAP Funktionen
PHP Manual

ldap_bind

(PHP 4, PHP 5, PHP 7)

ldap_bind — Bindung zu einem LDAP Verzeichnis

Beschreibung

bool ldap_bind ( resource $link_identifier [, string $bind_rdn = NULL [, string $bind_password = NULL ]] )

Bindung für ein LDAP Verzeichnis mit angegebenem RDN und Kennwort.

Parameter-Liste

link_identifier

Eine LDAP-Verbindung, die durch ldap_connect() zurückgegeben wurde.

bind_rdn

bind_password

Wenn bind_rdn und bind_password nicht angegeben wurden, wird ein anonymes bind versucht.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 LDAP Bind verwenden

<?php

// verwenden von ldap bind
$ldaprdn  = 'uname';     // ldap rdn oder dn
$ldappass = 'password';  // entsprechendes password

// verbinden zum ldap server
$ldapconn = ldap_connect("ldap.example.com")
    or die("Keine Verbindung zum LDAP server möglich.");

if ($ldapconn) {

    // binden zum ldap server
    $ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);

    // Bindung überpfrüfen
    if ($ldapbind) {
        echo "LDAP bind erfolgreich...";
    } else {
        echo "LDAP bind fehlgeschlagen...";
    }

}

?>

Beispiel #2 Anonymes LDAP Bind

<?php

//verwenden von anonymen ldap bind

// verbinden zum ldap server
$ldapconn = ldap_connect("ldap.example.com")
    or die("Could not connect to LDAP server.");

if ($ldapconn) {

    // anonymes binding
    $ldapbind = ldap_bind($ldapconn);

    if ($ldapbind) {
        echo "anonymes LDAP bind erfolgreich...";
    } else {
        echo "anonymes LDAP bind fehlgeschlagen...";
    }

}

?>

Siehe auch

  • ldap_unbind() - Unbind von einem LDAP Verzeichnis

ldap_add
ldap_close
LDAP Funktionen


Verbindung zum LDAP-Server schließen

ldap_bind
ldap_compare
LDAP Funktionen
PHP Manual

ldap_close

(PHP 4, PHP 5, PHP 7)

ldap_close — Verbindung zum LDAP-Server schließen

Beschreibung

bool ldap_close ( resource $Verbindungs-Kennung )

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Die ldap_close() Funktion schließt die Verbindung zum LDAP-Server die zur Verbindungs-Kennung gehört.

Der Aufruf dieser Funktion ist intern identisch zu ldap_unbind(). Die LDAP-API benutzt den Aufruf ldap_unbind(), so dass Sie vielleicht diese Funktion benutzen sollten, anstatt ldap_close() zu verwenden.

Hinweis:

Diese Funktion ist ein Alias für ldap_unbind().

ldap_bind
ldap_compare
LDAP Funktionen


Vergleicht gefundenen Wert eines Merkmal in einem Eintrag, der durch Angabe von dn bestimmt wird.

ldap_close
ldap_connect
LDAP Funktionen
PHP Manual

ldap_compare

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

ldap_compare — Vergleicht gefundenen Wert eines Merkmal in einem Eintrag, der durch Angabe von dn bestimmt wird.

Beschreibung

bool ldap_compare ( resource $Verbindungs-Kennung , string $dn , string $merkmal , string $wert )

Rückgabewert: wahr, wenn der wert gefunden wird, ansonsten FALSE. Tritt ein Fehler auf, wird -1 zurückgegeben.

ldap_compare() vergleicht den wert eines merkmal mit dem Wert des gleichen Merkmals in dem LDAP Verzeichniseintrag der durch dn bestimmt wurde.

Das folgende Beispiel zeigt, wie überprüft wird, ob ein gegebenes Kennwort mit dem Kennwort übereinstimmt oder nicht, das in dem durch DN bestimmten Eíntrag gespeichert ist.

Beispiel #1 Komplettes Beispiel einer Kennwort-Überprüfung

<?php

$ds=ldap_connect("localhost");  // Annahme: der LDAP Server befindet
                                // sich auf diesem Host

if ($ds) {

    // binden
    if(ldap_bind($ds)) {

        // Daten vobereiten
        $dn = "cn=Helga Olsen, ou=Meine Einheit, o=Meine Firma, c=FI";
        $value = "Geheimes Kennwort";
        $attr = "kennwort";

        // vergleiche die Werte
        $r=ldap_compare($ds, $dn, $attr, $value);

        if ($r === -1) {
            echo "Fehler: ".ldap_error($ds);
        } elseif ($r === TRUE) {
            echo "Kennwort korrekt.";
        } elseif ($r === FALSE) {
            echo "Falsch geraten! Kennwort nicht korrekt.";
        }

    } else {
        echo "Keine Bindung zum LDAP Server möglich.";
    }

    ldap_close($ds);

} else {
    echo "Keine Verbindung zum LDAP Server möglich.";
}
?>
Warnung

ldap_compare() kann NICHT für Vergleiche von BINÄREN Werten benutzt werden!

Hinweis:

Diese Funktion wurde in 4.0.2 hinzugefügt.

ldap_close
ldap_connect
LDAP Funktionen


Verbindet zu einem LDAP Server

ldap_compare
ldap_control_paged_result_response
LDAP Funktionen
PHP Manual

ldap_connect

(PHP 4, PHP 5, PHP 7)

ldap_connect — Verbindet zu einem LDAP Server

Beschreibung

resource ldap_connect ([ string $hostname = NULL [, int $port = 389 ]] )

Stellt eine Verbindung zu einem LDAP-Server unter einem angegebenen Hostname und Port her.

Parameter-Liste

hostname

Bei Verwendung von OpenLDAP 2.x.x kann eine URL statt des Hostnamens angegeben werden. Um LDAP mit SSL-Unterstützung zu verwenden, kompilieren Sie OpenLDAP mit SSL-Unterstützung, PHP mit SSL und verwenden für diesen Parameter ldaps://hostname/.

port

Der Port zu dem eine Verbindung aufgebaut werden soll. Dies wird bei der Verwendung von URLs nicht benutzt.

Rückgabewerte

Gibt eine positive Verbindungs-Kennung im Erfolgsfall oder FALSE im Fehlerfall zurück. Wenn OpenLDAP 2.x.x verwendet wird, liefert ldap_connect() immer eine gültige Resource mit positiver Verbindungs-Kennung zurück. Die Verbindung zum LDAP-Server wird noch nicht hergestellt, die Verbindung wird lediglich initialisiert. Der Verbindungsaufbau erfolgt bei der nächsten Nutzung einer ldap_* Funktion; Normalerweise ist dies ldap_bind().

Werden keine Argumente angegeben, wird die Verbindungs-Kennung einer bereits geöffneten Verbindung zurückgeliefert.

Beispiele

Beispiel #1 Verbindung zu einem LDAP server.

<?php

// LDAP Variablen
$ldaphost = "ldap.example.com";  // Ihr ldap server
$ldapport = 389;                 // Die Portnummer ihres ldap servers

// Verbindung zu LDAP
$ldapconn = ldap_connect($ldaphost, $ldapport)
    or die( "Keine Verbindung zu $ldaphost möglich" );

?>

Beispiel #2 Sichere Verbindung zu einem LDAP server.

<?php

// Stellen Sie sicher, dass Sie den korrekten Host angeben,
// für den das Zertifikate ausgestellt wurde
$ldaphost = "ldaps://ldap.example.com/";

// Verbindung zu LDAP
$ldapconn = ldap_connect( $ldaphost )
    or die( "Keine Verbindung zu {$ldaphost} möglich" );

?>

Siehe auch

  • ldap_bind() - Bindung zu einem LDAP Verzeichnis

ldap_compare
ldap_control_paged_result_response
LDAP Funktionen


Retrieve the LDAP pagination cookie

ldap_connect
ldap_control_paged_result
LDAP Funktionen
PHP Manual

ldap_control_paged_result_response

(PHP 5 >= 5.4.0, PHP 7)

ldap_control_paged_result_response — Retrieve the LDAP pagination cookie

Beschreibung

bool ldap_control_paged_result_response ( resource $link , resource $result [, string &$cookie [, int &$estimated ]] )

Retrieve the pagination information send by the server.

Parameter-Liste

link

An LDAP link identifier, returned by ldap_connect().

result

cookie

An opaque structure sent by the server.

estimated

The estimated number of entries to retrieve.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ldap_control_paged_result() - Send LDAP pagination control
  • » RFC2696 : LDAP Control Extension for Simple Paged Results Manipulation

ldap_connect
ldap_control_paged_result
LDAP Funktionen


Send LDAP pagination control

ldap_control_paged_result_response
ldap_count_entries
LDAP Funktionen
PHP Manual

ldap_control_paged_result

(PHP 5 >= 5.4.0, PHP 7)

ldap_control_paged_result — Send LDAP pagination control

Beschreibung

bool ldap_control_paged_result ( resource $link , int $pagesize [, bool $iscritical = false [, string $cookie = "" ]] )

Enable LDAP pagination by sending the pagination control (page size, cookie...).

Parameter-Liste

link

An LDAP link identifier, returned by ldap_connect().

pagesize

The number of entries by page.

iscritical

Indicates whether the pagination is critical or not. If true and if the server doesn't support pagination, the search will return no result.

cookie

An opaque structure sent by the server (ldap_control_paged_result_response()).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

The example below show the retrieval of the first page of a search paginated with one entry by page.

Beispiel #1 LDAP pagination

<?php
     // $ds is a valid link identifier (see ldap_connect)
     ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);

     $dn        = 'ou=example,dc=org';
     $filter    = '(|(sn=Doe*)(givenname=John*))';
     $justthese = array('ou', 'sn', 'givenname', 'mail');

     // enable pagination with a page size of 1.
     ldap_control_paged_result($ds, 1);

     $sr = ldap_search($ds, $dn, $filter, $justthese);

     $info = ldap_get_entries($ds, $sr);

     echo $info['count'] . ' entries returned' . PHP_EOL;

The example below show the retrieval of all the result paginated with 100 entries by page.

Beispiel #2 LDAP pagination

<?php
     // $ds is a valid link identifier (see ldap_connect)
     ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);

     $dn        = 'ou=example,dc=org';
     $filter    = '(|(sn=Doe*)(givenname=John*))';
     $justthese = array('ou', 'sn', 'givenname', 'mail');

     // enable pagination with a page size of 100.
     $pageSize = 100;

     $cookie = '';
     do {
         ldap_control_paged_result($ds, $pageSize, true, $cookie);

         $result  = ldap_search($ds, $dn, $filter, $justthese);
         $entries = ldap_get_entries($ds, $result);

         foreach ($entries as $e) {
             echo $e['dn'] . PHP_EOL;
         }

         ldap_control_paged_result_response($ds, $result, $cookie);

     } while($cookie !== null && $cookie != '');

Anmerkungen

Hinweis:

Pagination control is a LDAPv3 protocol feature.

Siehe auch

  • ldap_control_paged_result_response() - Retrieve the LDAP pagination cookie
  • » RFC2696 : LDAP Control Extension for Simple Paged Results Manipulation

ldap_control_paged_result_response
ldap_count_entries
LDAP Funktionen


Zählt die Anzahl der Einträge bei einer Suche

ldap_control_paged_result
ldap_delete
LDAP Funktionen
PHP Manual

ldap_count_entries

(PHP 4, PHP 5, PHP 7)

ldap_count_entries — Zählt die Anzahl der Einträge bei einer Suche

Beschreibung

int ldap_count_entries ( resource $Verbindungs-Kennung , resource $Ergebnis-Kennung )

Rückgabewert: Anzahl der Einträge im Ergebnis, FALSE im Fehlerfall.

Die ldap_count_entries() Funktion liefert die Anzahl der Einträge im gespeicherten Ergebnis einer vorher durchgeführten Suchoperation. Die Ergebnis-Kennung bezeichnet das interne LDAP Ergebnis.

ldap_control_paged_result
ldap_delete
LDAP Funktionen


Löscht einen Eintrag aus einem Verzeichnis

ldap_count_entries
ldap_dn2ufn
LDAP Funktionen
PHP Manual

ldap_delete

(PHP 4, PHP 5, PHP 7)

ldap_delete — Löscht einen Eintrag aus einem Verzeichnis

Beschreibung

bool ldap_delete ( resource $Verbindungs-Kennung , string $dn )

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Die ldap_delete() Funktion löscht einen einzelnen Eintrag aus einem LDAP Verzeichnis, das im dn angegeben wurde.

ldap_count_entries
ldap_dn2ufn
LDAP Funktionen


Konvertiert DN in ein benutzerfreundliches Namensformat

ldap_delete
ldap_err2str
LDAP Funktionen
PHP Manual

ldap_dn2ufn

(PHP 4, PHP 5, PHP 7)

ldap_dn2ufn — Konvertiert DN in ein benutzerfreundliches Namensformat

Beschreibung

string ldap_dn2ufn ( string $dn )

Die ldap_dn2ufn() Funktion wird verwendet um einen DN, angegeben mit dn, in einer benutzerfreundlicheren Form darzustellen, wobei die Typen-Namen wegfallen.

ldap_delete
ldap_err2str
LDAP Funktionen


Konvertiert eine LDAP Fehlernummer in einen Fehlertext

ldap_dn2ufn
ldap_errno
LDAP Funktionen
PHP Manual

ldap_err2str

(PHP 4, PHP 5, PHP 7)

ldap_err2str — Konvertiert eine LDAP Fehlernummer in einen Fehlertext

Beschreibung

string ldap_err2str ( int $fehlernummer )

Rückgabewert: Fehlertext.

Diese Funktion liefert den Fehlertext der die fehlernummer erklärt. Während LDAP Fehlernummern standardisiert sind, liefern unterschiedliche Bibliotheken unterschiedliche oder sogar lokalspezifische Fehlermeldungen. Deshalb sollten Sie nie auf eine spezielle Fehlermeldung prüfen, sondern immer eine Fehlernummer verwenden.

Siehe auch ldap_errno() und ldap_error().

Beispiel #1 Aufzählung aller LDAP Fehlermeldungen

<?php
  for($i=0; $i<100; $i++) {
    printf("Fehler $i: %s<br>\n", ldap_err2str($i));
  }
?>

ldap_dn2ufn
ldap_errno
LDAP Funktionen


Liefert die LDAP Fehlernummer des letzten LDAP Kommandos

ldap_err2str
ldap_error
LDAP Funktionen
PHP Manual

ldap_errno

(PHP 4, PHP 5, PHP 7)

ldap_errno — Liefert die LDAP Fehlernummer des letzten LDAP Kommandos

Beschreibung

int ldap_errno ( resource $Verbindungs-Kennung )

Rückgabewert: LDAP Fehlernummer des letzten LDAP Kommandos für diese Verbindung.

Diese Funktion liefert die standardisierte Fehlernummer des zuletzt ausgeführten LDAP Kommandos für die angegebene Vebindungs-Kennung. Diese Nummer kann mit der Funktion ldap_err2str() in einen Fehlertext konvertiert werden.

Solange Sie die Stufe der Fehlerwarnungen in Ihrer php.ini nicht herabsetzen oder vor Ihre LDAP Komanndos ein @ (at) setzen um die Ausgabe von Fehlermeldungen zu unterdrücken, werden die aufgetretenen Fehler auch in Ihrer HTML Ausgabe zu sehen sein.

Beispiel #1 Erzeugen und Abfangen eines Fehlers

<?php
// Dieses Beispiel enhält einen Fehler, der abgefangen wird.
$ld = ldap_connect("localhost");
$bind = ldap_bind($ld);

// Syntax Fehler im Filterausdruck (errno 87),
// müsste "objectclass=*" heißen, um zu funktionieren.

$res =  @ldap_search($ld, "o=Meine Firma, c=DE", "objectclass");
if (!$res) {
    printf("LDAP-Fehlernummer: %s<br>\n", ldap_errno($ld));
    printf("LDAP-Fehler: %s<br>\n", ldap_error($ld));
    die("Argh!<br>\n");
}
$info = ldap_get_entries($ld, $res);
printf("%d Übereinstimmende Einträge.<br>\n", $info["count"]);
?>

Siehe auch ldap_err2str() und ldap_error().

ldap_err2str
ldap_error
LDAP Funktionen


Liefert die LDAP Fehlermeldung des letzten LDAP Kommandos

ldap_errno
ldap_escape
LDAP Funktionen
PHP Manual

ldap_error

(PHP 4, PHP 5, PHP 7)

ldap_error — Liefert die LDAP Fehlermeldung des letzten LDAP Kommandos

Beschreibung

string ldap_error ( resource $Verbindungs-Kennung )

Rückgabe: Fehlertext

Diese Funktion liefert den erklärenden Fehlertext für einen Fehler, der vom zuletzt ausgeführten LDAP Kommando mit der angegebenen Verbindungs-Kennung erzeugt wurde. Während LDAP Fehlernummern standardisiert sind, liefern unterschiedliche Bibliotheken unterschiedliche oder sogar lokalspezifische Fehlermeldungen. Deshalb sollten Sie nie auf eine spezielle Fehlermeldung prüfen, sondern immer eine Fehlernummer verwenden.

Solange Sie die Stufe der Fehlerwarnungen in Ihrer php.ini nicht herabsetzen oder vor Ihre LDAP Kommandos ein @ (at) setzen, um die Ausgabe von Fehlermeldungen zu unterdrücken, werden die aufgetretenen Fehler auch in Ihrer HTML Ausgabe zu sehen sein.

Siehe auch ldap_err2str() und ldap_errno().

ldap_errno
ldap_escape
LDAP Funktionen


Escape a string for use in an LDAP filter or DN

ldap_error
ldap_explode_dn
LDAP Funktionen
PHP Manual

ldap_escape

(PHP 5 >= 5.6.0, PHP 7)

ldap_escape — Escape a string for use in an LDAP filter or DN

Beschreibung

string ldap_escape ( string $value [, string $ignore [, int $flags ]] )

Escapes value for use in the context implied by flags.

Parameter-Liste

value

The value to escape.

ignore

Characters to ignore when escaping.

flags

The context the escaped string will be used in: LDAP_ESCAPE_FILTER for filters to be used with ldap_search(), or LDAP_ESCAPE_DN for DNs.

Rückgabewerte

Returns the escaped string.

ldap_error
ldap_explode_dn
LDAP Funktionen


Aufteilung eines DN in seine Bestandteile

ldap_escape
ldap_first_attribute
LDAP Funktionen
PHP Manual

ldap_explode_dn

(PHP 4, PHP 5, PHP 7)

ldap_explode_dn — Aufteilung eines DN in seine Bestandteile

Beschreibung

array ldap_explode_dn ( string $dn , int $mit_merkmal )

Die ldap_explode_dn() Funktion wird benutzt um einen von ldap_get_dn() gelieferten DN aufzuteilen und in dessen Bestandteile zu zerlegen. Jeder Teil wird als Relative Distinguished Name, RDN, bezeichnet. ldap_explode_dn() liefert einen Array mit allen diesen Bestandteilen. Der Parameter mit_merkmal wird benutzt, um zu bestimmen, ob die RDNs nur mit Werten oder zusätlich mit ihren Merkmalen angefragt werden. Um RDNs mit Merkmalen (z.B. Merkmal = Wert Format) zu erhalten, setzen Sie mit_merkmal auf 0, um nur Werte zu erhalten auf 1.

ldap_escape
ldap_first_attribute
LDAP Funktionen


Liefert das erste Merkmal

ldap_explode_dn
ldap_first_entry
LDAP Funktionen
PHP Manual

ldap_first_attribute

(PHP 4, PHP 5, PHP 7)

ldap_first_attribute — Liefert das erste Merkmal

Beschreibung

string ldap_first_attribute ( resource $Verbindungs-Kennung , resource $Ergebnis-Eintrag-Kennung , int $ber-Kennung )

Rückgabewert: im Erfolgsfall das erste Merkmal des Eintrags, im Fehlerfall FALSE.

Ähnlich wie Einträge lesen, werden Merkmale eines bestimmten Eintrags eines nach dem anderen gelesen. Die ldap_first_attribute() Funktion liefert das erste Merkmal eines Eintrags der durch die Ergebnis-Eintrag-Kennung angegeben wurde. Durch erfolgreichen Aufruf von ldap_next_attribute() erhalten Sie die restlichen Merkmale. Der Parameter ber-Kennung ist die Kennung eines internen Speicherort-Zeiger. Die Übergabe erfolgt per Referenz. Die gleiche ber-Kennung wird an die Funktion ldap_next_attribute() weitergegeben, die diesen Zeiger dann verändert.

Siehe auch ldap_get_attributes()

ldap_explode_dn
ldap_first_entry
LDAP Funktionen


Liefert die Kennung des ersten Ergebnisses

ldap_first_attribute
ldap_first_reference
LDAP Funktionen
PHP Manual

ldap_first_entry

(PHP 4, PHP 5, PHP 7)

ldap_first_entry — Liefert die Kennung des ersten Ergebnisses

Beschreibung

resource ldap_first_entry ( resource $Verbindungs-Kennung , resource $Ergebnis-Kennung )

Rückgabewert: im Erfolgsfall die Ergebnis-Eintrag-Kennung für den ersten Eintrag, FALSE im Fehlerfall.

Einträge eines LDAP Ergebnisses werden unter Verwendung der Funktionen ldap_first_entry() und ldap_next_entry() sequentiell gelesen. Die ldap_first_entry() Funktion gibt die Eintrag-Kennung für den ersten Eintrag im Ergebnis zurück. Diese Eintrag-Kennung wird dann an die Funktion ldap_next_entry() weitergegeben, um sukzessiv die Einträge des Ergebnisses zu erhalten.

Siehe auch ldap_get_entries().

ldap_first_attribute
ldap_first_reference
LDAP Funktionen


Liefert die erste Referenz

ldap_first_entry
ldap_free_result
LDAP Funktionen
PHP Manual

ldap_first_reference

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

ldap_first_reference — Liefert die erste Referenz

Beschreibung

resource ldap_first_reference ( resource $link , resource $result )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

ldap_first_entry
ldap_free_result
LDAP Funktionen


Gibt den belegten Speicher wieder frei

ldap_first_reference
ldap_get_attributes
LDAP Funktionen
PHP Manual

ldap_free_result

(PHP 4, PHP 5, PHP 7)

ldap_free_result — Gibt den belegten Speicher wieder frei

Beschreibung

bool ldap_free_result ( resource $Ergebnis-Kennung )

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Um die Ergebnisse zu speichern, wird intern Speicher belegt. Diesen Speicher können Sie mit der Funktion ldap_free_result() mir Angabe der entsprechenden Ergebnis-Kennung wieder freigeben. Typischerweise wird nach Beendigung des Skripts wird der gesamte Ergebnis-Speicher automatisch freigegeben.

Falls Ihr Skript sukzessive Suchoperationen durchführt, die große Ergebnismengen liefern, können Sie ldap_free_result() aufrufen, um den Speicherverbrauch zur Laufzeit niedrig zu halten.

ldap_first_reference
ldap_get_attributes
LDAP Funktionen


Liefert Merkmale eines Suchergebnis-Eintrags

ldap_free_result
ldap_get_dn
LDAP Funktionen
PHP Manual

ldap_get_attributes

(PHP 4, PHP 5, PHP 7)

ldap_get_attributes — Liefert Merkmale eines Suchergebnis-Eintrags

Beschreibung

array ldap_get_attributes ( resource $Verbindungs-Kennung , resource $Ergebnis-Eintrag-Kennung )

Rückgabewert: im Erfolgsfall wird die gesamte Information eines Eintrags in einem multidimensionalen Array zurückgegeben; im Fehlerfall FALSE.

Die ldap_get_attributes() Funktion wird verwendet um das Lesen der Merkmale und Werte eines Eintrags im Suchergebnis zu vereinfachen. Der Rückgabewert ist ein multidimensionales Array aus Merkmalen und Werten.

Nachdem Sie einen bestimmten Eintrag in dem Verzeichnis lokalisiert haben, können Sie mit dieser Funktion herausfinden, welche Informationen für diesen Eintrag verfügbar sind. Diese Funktion würden Sie in einer Anwendung verwenden, die Verzeichniseinträge "durchstöbert" und/oder wo Sie die Struktur der Verzeichniseinträge nicht kennen. In vielen Anwendungen suchen Sie nach einem bestimmten Merkmal wie einer email-Adresse oder einem Nachnamen und interessieren sich nicht dafür, welche anderen Daten verfügbar sind.

return_value["count"] = Anzahl der Merkmale des Eintrags
return_value[0] = das erste Merkmal
return_value[n] = das n-te Merkmal

return_value["merkmal"]["count"] = Anzahl der Werte des Merkmals
return_value["merkmal"][0] = der erste Wert des Merkmals
return_value["merkmal"][i] = der i+1-te Wert des Merkmals

Beispiel #1 Anzeigen der Liste der Merkmale für einen ausgewählten Verzeichnis-Eintrag

// $ds die Verbindungs-Kennung für das Verzeichnis

/* $sr ein gültiges Suchergebnis eines früheren Aufrufs einer der ldap
  Verzeichnis Suchfunktionen */

$entry = ldap_first_entry($ds, $sr);

$attrs = ldap_get_attributes($ds, $entry);

echo $attrs["count"]." Merkmale für diesen Eintrag:<p>";

for ($i=0; $i<$attrs["count"]; $i++)
    echo $attrs[$i]."<br>";

Siehe auch ldap_first_attribute() und ldap_next_attribute()

ldap_free_result
ldap_get_dn
LDAP Funktionen


Liefert den DN eines Ergebnis-Eintrags

ldap_get_attributes
ldap_get_entries
LDAP Funktionen
PHP Manual

ldap_get_dn

(PHP 4, PHP 5, PHP 7)

ldap_get_dn — Liefert den DN eines Ergebnis-Eintrags

Beschreibung

string ldap_get_dn ( resource $Verbindungs-Kennung , resource $Ergebnis-Eintrag-Kennung )

Rückgabewert: im Erfolgsfall der DN des Ergebnis-Eintrags, im Fehlerfall FALSE.

Die ldap_get_dn() Funktion wird verwendet, um den DN eines Eintrags im Ergebnis herauszufinden.

ldap_get_attributes
ldap_get_entries
LDAP Funktionen


Liefert alle Ergebnis-Einträge

ldap_get_dn
ldap_get_option
LDAP Funktionen
PHP Manual

ldap_get_entries

(PHP 4, PHP 5, PHP 7)

ldap_get_entries — Liefert alle Ergebnis-Einträge

Beschreibung

array ldap_get_entries ( resource $Verbindungs-Kennung , resource $Ergebnis-Kennung )

Rückgabewert: im Erfolgsfall wird die gesamte Information des Ergebnisses in einem multidimensionalen Array zurückgegeben; im Fehlerfall FALSE.

Die ldap_get_entries() Funktion wird verwendet um das Lesen mehrfacher Einträge des Ergebnisses, angegeben mit Ergebnis-Kennung zu vereinfachen und danach werden die Merkmale und mehfachen Werte gelesen. Durch einen Funktionsaufruf wird die gesamte Information in einem multidimensionalen Array zurückgegeben. Die Struktur dieses Array sieht wie folgt aus.

Der Merkmal-Index wird in Kleinbuchstaben umgewandelt. (Verzeichnis-Server unterscheiden nicht zwischen Groß-/Kleinschreibung hinsichtlich der Merkmake, aber der Unterschied ist wichtig, wenn diese Merkmale als Array-Indizes benutzt werden.)

return_value["count"] = Anzahl der Einträge im Ergebnis
return_value[0] : bezieht sich auf Einzelheiten des ersten Eintrags

return_value[i]["dn"] =  DN des i-ten Eintrags im Ergebnis

return_value[i]["count"] = Anzahl der Merkmale im i-ten Eintrag
return_value[i][j]       = das j-te Merkmal des i-ten Eintrags im Ergebnis

return_value[i]["merkmal"]["count"] = Anzahl der Werte für das
                                      Merkmal im i-ten Eintrag
return_value[i]["merkmal"][j]       = der j-te Wert des Merkmals im i-ten
                                      Eintrag

Siehe auch ldap_first_entry() und ldap_next_entry()

ldap_get_dn
ldap_get_option
LDAP Funktionen


Liefert den aktuellen Wert für eine gegebene Option

ldap_get_entries
ldap_get_values_len
LDAP Funktionen
PHP Manual

ldap_get_option

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

ldap_get_option — Liefert den aktuellen Wert für eine gegebene Option

Beschreibung

bool ldap_get_option ( resource $Verbindungs-Kennung , int $option , mixed $retval )

Setzt retval auf den Wert der gewählten Option. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Der Parameter option kann einer der folgenden sein: LDAP_OPT_DEREF, LDAP_OPT_SIZELIMIT, LDAP_OPT_TIMELIMIT, LDAP_OPT_PROTOCOL_VERSION, LDAP_OPT_ERROR_NUMBER, LDAP_OPT_REFERRALS, LDAP_OPT_RESTART, LDAP_OPT_HOST_NAME, LDAP_OPT_ERROR_STRING, LDAP_OPT_MATCHED_DN. Beschrieben sind diese unter » draft-ietf-ldapext-ldap-c- api-xx.txt

Hinweis:

Diese Funktion steht nur zur Verfügung, wenn Sie OpenLDAP 2.x.x ODER Netscape Directory SDK x.x benutzen. Wurde in PHP 4.0.4 hinzugefügt.

Beispiel #1 Prüfen der Protokollversion

// $ds eine gültige Verbindungs-Kennung für einen Verzeichnis-Server

if (ldap_get_option($ds, LDAP_OPT_PROTOCOL_VERSION, $version))
    echo "Sie benutzen die Protokollversion $version";
else
    echo "Protokollversion konnte nicht bestimmt werden";

Siehe auch ldap_set_option().

ldap_get_entries
ldap_get_values_len
LDAP Funktionen


Liefert alle binären Werte eines Ergebnis-Eintrags

ldap_get_option
ldap_get_values
LDAP Funktionen
PHP Manual

ldap_get_values_len

(PHP 4, PHP 5, PHP 7)

ldap_get_values_len — Liefert alle binären Werte eines Ergebnis-Eintrags

Beschreibung

array ldap_get_values_len ( resource $Verbindungs-Kennung , resource $Ergebnis-Eintrag-Kennung , string $merkmal )

Rückgabewert: im Erfolgsfall ein Array der Werte des Merkmals, FALSE im Fehlerfall.

Die ldap_get_values_len() Funktion wird benutzt um alle Werte des Merkmals eines Eintrags im Ergebnis zu lesen. Der Eintrag wird durch Ergebnis-Eintrag-Kennung bestimmt. Die Anzahl der Werte kann über die Indexierung von "count" des resultierenden Arrays bestimmt werden. Der Zugriff auf einzelne Werte erfolgt durch einen ganzzahligen Index im Array. Der erste Indexwert ist 0.

Diese Funktion wird exakt gleich benutzt wie die Funktion ldap_get_values() mit der Aussnahme, dass hier binäre Daten statt Textdaten behandelt werden.

Hinweis:

Diese Funktion wurde in 4.0 hinzugefügt.

ldap_get_option
ldap_get_values
LDAP Funktionen


Liefert alle Werte eines Ergebnis-Eintrags

ldap_get_values_len
ldap_list
LDAP Funktionen
PHP Manual

ldap_get_values

(PHP 4, PHP 5, PHP 7)

ldap_get_values — Liefert alle Werte eines Ergebnis-Eintrags

Beschreibung

array ldap_get_values ( resource $Verbindungs-Kennung , resource $Ergebnis-Eintrag-Kennung , string $merkmal )

Rückgabewert: im Erfolgsfall ein Array der Werte des Merkmals, FALSE im Fehlerfall.

Die ldap_get_values() Funktion wird benutzt um alle Werte des Merkmals eines Eintrags im Ergebnis zu lesen. Der Eintrag wird durch Ergebnis-Eintrag-Kennung bestimmt. Die Anzahl der Werte kann über die Indexierung von "count" des resultierenden Arrays bestimmt werden. Der Zugriff auf einzelne Werte erfolgt durch einen ganzzahligen Index im Array. Der erste Indexwert ist 0.

Da diese Funktion eine Ergebnis-Eintrag-Kennung benötigt, muss ein Aufruf einer der LDAP Suchfunktionen und einer der Funktionen, die einen einzelnen Eintrag liefern, vorausgehen.

Ihre Anwendung wird entweder hart codiert sein, um bestimmte Merkmale (wie z.B.: "Nachname" oder "Mail") zu suchen, oder Sie müssen die Funktion ldap_get_attributes() benutzen, um herauszufinden, welche Merkmale für einen gegebenen Eintrag vorhanden sind.

LDAP erlaubt mehr als einen Eintrag für ein Merkmal, so dass es z.B. sein kann, dass der Verzeichnis-Eintrag einer Person mehrere Email-Adressen enthält, die alle mit dem Merkmal "mail" bezeichnet sind.

return_value["count"] = Anzahl der Werte eines Merkmals
return_value[0]       = der erste Wert des Merkmals
return_value[i]       = der i-te Wert des Merkmals

Beispiel #1 Liste aller Werte des Merkmals "mail" für einen Verzeichnis- Eintrag

<?php
// $ds gültige Verbindungs-Kennung für einen Verzeichnis-Server

// $sr gültiges Suchergebnis eines früheren Aufrufs einer der ldap
//     Verzeichnis Suchfunktionen

// $entry gültige Eintrag-Kennung eines früheren Aufrufs einer
//        der Funktionen, die einen Verzeichnis-Eintrag zurückgeben

$values = ldap_get_values($ds, $entry,"mail");

echo $values["count"]." Email-Adressen für diesen Eintrag.<p>";

for ($i=0; $i < $values["count"]; $i++)
    echo $values[$i]."<br>";
?>

ldap_get_values_len
ldap_list
LDAP Funktionen


Einstufige Suche

ldap_get_values
ldap_mod_add
LDAP Funktionen
PHP Manual

ldap_list

(PHP 4, PHP 5, PHP 7)

ldap_list — Einstufige Suche

Beschreibung

resource ldap_list ( resource $Verbindungs-Kennung , string $basis_dn , string $filter [, array $merkmale [, int $nur_merkmmale [, int $größenbegrenzung [, int $zeitbegrenzung [, int $deref ]]]]] )

Rückgabewert: im Erfolgsfall eine Such-Ergebnis-Kennung,im Fehlerfall FALSE.

Die ldap_list() Funktion führt die Suche für einen gegebenen filter im Verzeichnis mit der Reichweite von LDAP_SCOPE_ONELEVEL durch.

LDAP_SCOPE_ONELEVEL bedeutet, dass die Suche nur Informationen liefert, die direkt unterhalb der Stufe liegen, die durch die Angabe des basis_dn im Auruf bestimmt wird. (Das entspricht der Eingabe von "ls", die eine Liste von Dateien und Verzeichnissen des aktuellen Arbeitsverzeichnisses anzeigt.)

Der Aufruf dieser Funktion nimmt 5 optionale Parameter entgegen. Siehe die Anmerkungen zu ldap_search().

Hinweis:

Diese wahlfreien Parameter wurden in 4.0.2 hinzugefügt: attrsonly, größenbegrenzung, zeitbegrenzung, deref.

Beispiel #1 Erzeugung einer Liste aller Organisationseinheiten einer Organisation

// $ds gültige Verbindungs-Kennung für einen Verzeichnis-Server

$basis_dn = "o=Meine Firma, c=DE";
$nur_dieses = array("ou");

$sr=ldap_list($ds, $basis_dn, "ou=*", $nur_dieses);

$info = ldap_get_entries($ds, $sr);

for ($i=0; $i<$info["count"]; $i++)
    echo $info[$i]["ou"][0] ;

Hinweis:

Seit der Version 4.0.5 ist es außerdem möglich parallele Suchen durchzuführen. Für Details siehe ldap_search().

ldap_get_values
ldap_mod_add
LDAP Funktionen


Hinzufügen von Merkmalswerten zu aktuellen Merkmalen

ldap_list
ldap_mod_del
LDAP Funktionen
PHP Manual

ldap_mod_add

(PHP 4, PHP 5, PHP 7)

ldap_mod_add — Hinzufügen von Merkmalswerten zu aktuellen Merkmalen

Beschreibung

bool ldap_mod_add ( resource $Verbindungs-Kennung , string $dn , array $eintrag )

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Diese Funktion fügt Merkmal(e) zum angegebenen dn hinzu. Die Änderung wird auf der Merkmalsebene durchgeführt im Gegensatz zur Objektebene. Das Hinzufügen auf der Objektebene wird durch die Funktion ldap_add() geleistet.

ldap_list
ldap_mod_del
LDAP Funktionen


Löschen von Merkmalswerten aktueller Merkmale

ldap_mod_add
ldap_mod_replace
LDAP Funktionen
PHP Manual

ldap_mod_del

(PHP 4, PHP 5, PHP 7)

ldap_mod_del — Löschen von Merkmalswerten aktueller Merkmale

Beschreibung

bool ldap_mod_del ( resource $Verbindungs-Kennung , string $dn , array $eintrag )

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Diese Funktion löscht ein oder mehrere Merkmale vom angegebenen dn. Die Änderung wird auf der Merkmalsebene durchgeführt im Gegensatz zur Objektebene. Das Löschen auf Objektebene wird durch die Funktion ldap_delete() geleistet.

ldap_mod_add
ldap_mod_replace
LDAP Funktionen


Ersetzen von Merkmalswerten mit neuen Merkmalswerten

ldap_mod_del
ldap_modify_batch
LDAP Funktionen
PHP Manual

ldap_mod_replace

(PHP 4, PHP 5, PHP 7)

ldap_mod_replace — Ersetzen von Merkmalswerten mit neuen Merkmalswerten

Beschreibung

bool ldap_mod_replace ( resource $Verbindungs-Kennung , string $dn , array $eintrag )

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Diese Funktion ersetzt ein oder mehrere Merkmale vom angegebenen dn. Die Änderung wird auf der Merkmalsebene durchgeführt im Gegensatz zur Objektebene. Änderungen auf der Objektebene werden mit der Funktion ldap_modify() ausgeführt.

ldap_mod_del
ldap_modify_batch
LDAP Funktionen


Batch and execute modifications on an LDAP entry

ldap_mod_replace
ldap_modify
LDAP Funktionen
PHP Manual

ldap_modify_batch

(PHP 5.4 >= 5.4.26, PHP 5.5 >= 5.5.10, PHP 5.6 >= 5.6.0, PHP 7)

ldap_modify_batch — Batch and execute modifications on an LDAP entry

Beschreibung

bool ldap_modify_batch ( resource $link_identifier , string $dn , array $entry )

Modifies an existing entry in the LDAP directory. Allows detailed specification of the modifications to perform.

Parameter-Liste

link_identifier

An LDAP link identifier, returned by ldap_connect().

dn

The distinguished name of an LDAP entity.

entry

An array that specifies the modifications to make. Each entry in this array is an associative array with two or three keys: attrib maps to the name of the attribute to modify, modtype maps to the type of modification to perform, and (depending on the type of modification) values maps to an array of attribute values relevant to the modification.

Possible values for modtype include:

LDAP_MODIFY_BATCH_ADD

Each value specified through values is added (as an additional value) to the attribute named by attrib.

LDAP_MODIFY_BATCH_REMOVE

Each value specified through values is removed from the attribute named by attrib. Any value of the attribute not contained in the values array will remain untouched.

LDAP_MODIFY_BATCH_REMOVE_ALL

All values are removed from the attribute named by attrib. A values entry must not be provided.

LDAP_MODIFY_BATCH_REPLACE

All current values of the attribute named by attrib are replaced with the values specified through values.

Note that any value for attrib must be a string, any value for values must be an array of strings, and any value for modtype must be one of the LDAP_MODIFY_BATCH_* constants listed above.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Add a telephone number to a contact

<?php
$dn = "cn=John Smith,ou=Wizards,dc=example,dc=com";
$modifs = [
    [
        "attrib"  => "telephoneNumber",
        "modtype" => LDAP_MODIFY_BATCH_ADD,
        "values"  => ["+1 555 555 1717"],
    ],
];
ldap_modify_batch($connection, $dn, $modifs);
?>

Beispiel #2 Rename a user

<?php
$dn = "cn=John Smith,ou=Wizards,dc=example,dc=com";
$modifs = [
    [
        "attrib"  => "sn",
        "modtype" => LDAP_MODIFY_BATCH_REPLACE,
        "values"  => ["Smith-Jones"],
    ],
    [
        "attrib"  => "givenName",
        "modtype" => LDAP_MODIFY_BATCH_REPLACE,
        "values"  => ["Jack"],
    ],
];
ldap_modify_batch($connection, $dn, $modifs);
ldap_rename($connection, $dn, "cn=Jack Smith-Jones", NULL, TRUE);
?>

Beispiel #3 Add two e-mail addresses to a user

<?php
$dn = "cn=Jack Smith-Jones,ou=Wizards,dc=example,dc=com";
$modifs = [
    [
        "attrib"  => "mail",
        "modtype" => LDAP_MODIFY_BATCH_ADD,
        "values"  => [
            "jack.smith@example.com",
            "jack.smith-jones@example.com",
        ],
    ],
];
ldap_modify_batch($connection, $dn, $modifs);
?>

Beispiel #4 Change a user's password

<?php
$dn = "cn=Jack Smith-Jones,ou=Wizards,dc=example,dc=com";
$modifs = [
    [
        "attrib"  => "userPassword",
        "modtype" => LDAP_MODIFY_BATCH_REMOVE,
        "values"  => ["Tr0ub4dor&3"],
    ],
    [
        "attrib"  => "userPassword",
        "modtype" => LDAP_MODIFY_BATCH_ADD,
        "values"  => ["correct horse battery staple"],
    ],
];
ldap_modify_batch($connection, $dn, $modifs);
?>

Beispiel #5 Change a user's password (Active Directory)

<?php
function adifyPw($pw)
{
    return iconv("UTF-8", "UTF-16LE", '"' . $pw . '"');
}

$dn = "cn=Jack Smith-Jones,ou=Wizards,dc=ad,dc=example,dc=com";
$modifs = [
    [
        "attrib"  => "unicodePwd",
        "modtype" => LDAP_MODIFY_BATCH_REMOVE,
        "values"  => [adifyPw("Tr0ub4dor&3")],
    ],
    [
        "attrib"  => "unicodePwd",
        "modtype" => LDAP_MODIFY_BATCH_ADD,
        "values"  => [adifyPw("correct horse battery staple")],
    ],
];
ldap_modify_batch($connection, $dn, $modifs);

ldap_mod_replace
ldap_modify
LDAP Funktionen


Verändern eines LDAP-Eintrags

ldap_modify_batch
ldap_next_attribute
LDAP Funktionen
PHP Manual

ldap_modify

(PHP 4, PHP 5, PHP 7)

ldap_modify — Verändern eines LDAP-Eintrags

Beschreibung

bool ldap_modify ( resource $link_identifier , string $dn , array $entry )

Die ldap_modify() Funktion wird verwendet, um bestehende Einträge in einem LDAP-Verzeichnis zu ändern. Die Struktur des Eintrags ist die gleiche wie bei ldap_add().

Parameter-Liste

link_identifier

Eine LDAP-Verbindung, die durch ldap_connect() zurückgegeben wurde.

dn

Der Distinguished Name des LDAP-Eintrags.

entry

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Hinweis: Diese Funktion ist binary safe.

Siehe auch

  • ldap_rename() - Verändert den Namen eines Eintrags

ldap_modify_batch
ldap_next_attribute
LDAP Funktionen


Liefert das nächste Merkmal im Ergebnis

ldap_modify
ldap_next_entry
LDAP Funktionen
PHP Manual

ldap_next_attribute

(PHP 4, PHP 5, PHP 7)

ldap_next_attribute — Liefert das nächste Merkmal im Ergebnis

Beschreibung

string ldap_next_attribute ( resource $Verbindungs-Kennung , resource $Ergebnis-Eintrag-Kennung , resource $ber_Kennung )

Rückgabewert: im Erfolgsfall das nächste Merkmal eines Eintrags, im Fehlerfall FALSE.

Die ldap_next_attribute() Funktion wird aufgerufen, um die Merkmale eines Eintrags zu erhalten. Der interne Status des Zeigers wird durch die ber_Kennung bestimmt. Diese wird mittels Referenz an die Funktion weitergegeben. Der erste Aufruf von ldap_next_attribute() erfolgt mit der Ergebnis-Eintrag-Kennung, die von ldap_first_attribute() zurückgegeben wurde.

Siehe auch ldap_get_attributes()

ldap_modify
ldap_next_entry
LDAP Funktionen


Liefert den nächsten Eintrag des Ergebnisses

ldap_next_attribute
ldap_next_reference
LDAP Funktionen
PHP Manual

ldap_next_entry

(PHP 4, PHP 5, PHP 7)

ldap_next_entry — Liefert den nächsten Eintrag des Ergebnisses

Beschreibung

resource ldap_next_entry ( resource $Verbindungs-Kennung , resource $Ergebnis-Eintrag-Kennung )

Rückgabewert: Im Erfolgsfall wird die Eintrags-Kennung für den nächsten Eintrag des Ergebnisses zurückgegeben. Das Lesen der Einträge wird mit ldap_first_entry() gestartet. Wenn keine weiteren Einträge im Ergebnis vorhanden sind wird FALSE zurückgegeben.

Die ldap_next_entry() Funktion wird verwendet, um die Einträge zu erhalten, die im Ergebnis gespeichert sind. Wiederholtes aufrufen von ldap_next_entry() liefert einen Eintrag nach dem anderen, solange bis kein Eintrag mehr vorliegt. Der erste Aufruf von ldap_next_entry() erfolgt nach dem Aufruf von ldap_first_entry() mit der Ergebnis-Eintrag-Kennung, die von ldap_first_entry() zurückgegeben wurde.

Siehe auch ldap_get_entries()

ldap_next_attribute
ldap_next_reference
LDAP Funktionen


Holt die nächste Referenz

ldap_next_entry
ldap_parse_reference
LDAP Funktionen
PHP Manual

ldap_next_reference

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

ldap_next_reference — Holt die nächste Referenz

Beschreibung

resource ldap_next_reference ( resource $link , resource $entry )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

ldap_next_entry
ldap_parse_reference
LDAP Funktionen


Gewinnt Informationen aus einem Referenz-Eintrag

ldap_next_reference
ldap_parse_result
LDAP Funktionen
PHP Manual

ldap_parse_reference

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

ldap_parse_reference — Gewinnt Informationen aus einem Referenz-Eintrag

Beschreibung

bool ldap_parse_reference ( resource $link , resource $entry , array $referrals )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

ldap_next_reference
ldap_parse_result
LDAP Funktionen


Gewinnt Informationen aus einem Ergebnis

ldap_parse_reference
ldap_read
LDAP Funktionen
PHP Manual

ldap_parse_result

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

ldap_parse_result — Gewinnt Informationen aus einem Ergebnis

Beschreibung

boolean ldap_parse_result ( resource $link , resource $result , int $errcode , string $matcheddn , string $errmsg , array $referrals )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

ldap_parse_reference
ldap_read
LDAP Funktionen


Lesen eines Eintrags

ldap_parse_result
ldap_rename
LDAP Funktionen
PHP Manual

ldap_read

(PHP 4, PHP 5, PHP 7)

ldap_read — Lesen eines Eintrags

Beschreibung

resource ldap_read ( resource $Verbindungs-Kennung , string $basis_dn , string $filter [, array $merkmale [, int $nur_werte [, int $größenbegrenzung [, int $zeitbegrenzung [, int $deref ]]]]] )

Rückgabewert: Im Erfolgsfall eine Such-Ergebnis-Kennung, FALSE im Fehlerfall.

Die ldap_read() Funktion führt die Suche für einen gegebenen filter im Verzeichnis mit der Reichweite von LDAP_SCOPE_BASE durch. Das entpricht dem Lesen eines Eintrags in einem Verzeichnis.

Ein leerer Filter ist nicht erlaubt. Wenn Sie wirklich alle Informationen für einen Eintrag erhalten möchten, müssen Sie einen Filter der Art "objectClass=*" verwenden. Kennen Sie die Typen der Einträge die auf dem Verzeichnis-Server benutzt werden, können Sie einen passenden Filter wie z.B."objectClass=inetOrgPerson" verwenden.

Der Aufruf dieser Funktion nimmt 5 optionale Argumente entgegen. Siehe Anmerkungen zu ldap_search().

Hinweis:

Diese wahlfreien Argumente wurden in 4.0.2 hinzugefügt: nur_werte, größenbegrenzung, zeitbegrenzung, deref.

Seit der Version 4.0.5 ist es außerdem möglich parallele Suchen durchzuführen. Für Details siehe ldap_search().

ldap_parse_result
ldap_rename
LDAP Funktionen


Verändert den Namen eines Eintrags

ldap_read
ldap_sasl_bind
LDAP Funktionen
PHP Manual

ldap_rename

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

ldap_rename — Verändert den Namen eines Eintrags

Beschreibung

bool ldap_rename ( resource $Verbindungs-Kennung , string $dn , string $neuerrdn , string $neueeltern , bool $löschealtenrdn )

Der Eintrag, der durch dn gegeben ist, wird umbenannt/gelöscht. Der neue RDN wird durch neuerrdn bestimmt, der neue Eltern-/übergeordnete Eintrag wird durch neueeltern bestimmt. Wenn das Argument löschealtenrdn TRUE ist, wird der alte Wert/die alten Werte von RDN enfernt, andernfalls wird der alte Wert/die alten Werte als nicht-eindeutige(r) (non- distinguished) Werte des Eintrags beibehalten. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Hinweis:

Diese Funktion arbeitet zum gegenwärtigen Zeitpunkt nur mit LDAPv3. Sie müssen ldap_set_option() vorher benutzen um für eine Bindung LDAPv3 nutzen zu können. Diese Funktion steht nur zur Verfügung, wenn Sie OpenLDAP 2.x.x ODER Netscape Directory SDK x.x benutzen. Wurde in PHP 4.0.5 hinzugefügt.

ldap_read
ldap_sasl_bind
LDAP Funktionen


Bind to LDAP directory using SASL

ldap_rename
ldap_search
LDAP Funktionen
PHP Manual

ldap_sasl_bind

(PHP 5, PHP 7)

ldap_sasl_bind — Bind to LDAP directory using SASL

Beschreibung

bool ldap_sasl_bind ( resource $link [, string $binddn = NULL [, string $password = NULL [, string $sasl_mech = NULL [, string $sasl_realm = NULL [, string $sasl_authc_id = NULL [, string $sasl_authz_id = NULL [, string $props = NULL ]]]]]]] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Hinweis: Requirement
ldap_sasl_bind() requires SASL support (sasl.h). Be sure --with-ldap-sasl is used when configuring PHP otherwise this function will be undefined.

Changelog

Version | Beschreibung
5.3.3 | Support on Windows was added.

ldap_rename
ldap_search
LDAP Funktionen


Suche im LDAP Baum

ldap_sasl_bind
ldap_set_option
LDAP Funktionen
PHP Manual

ldap_search

(PHP 4, PHP 5, PHP 7)

ldap_search — Suche im LDAP Baum

Beschreibung

resource ldap_search ( resource $Verbindungs-Kennung , string $base_dn , string $filter [, array $merkmale [, int $nur_werte [, int $größenbegrenzung [, int $zeitbegrenzung [, int $deref ]]]]] )

Rückgabewert: eine Such-Ergebnis-Kennung im Erfolgsfall, FALSE im Fehlerfall.

Die ldap_search() Funktion führt die Suche für einen gegebenen Filter im Verzeichnis mit der Reichweite von LDAP_SCOPE_SUBTREE durch. Das ist äquivalent zu einer Suche im ganzen Verzeichnis.base_dn legt den Basis DN für das Verzeichnis fest.

Der optionale vierte Parameter kann benutzt werden, um die Rückgabewerte des Servers so einzuschränken, dass nur die tatsächlich benötigten Merkmale und ihre zugehörigen Werte in der Ergebnismenge enthalten sind. Dieses Vorgehen ist um einiges effizienter als die standardmäßige Vorgehensweise (diese liefert alle Merkmale und alle zugehörigen Werte). Aus diesem Grund ist die Angabe des vierten Parameters als gute Praxis zu empfehlen.

Der vierte Parameter ist ein Standard PHP Array aus Strings der benötigten Merkmale, z.B. array("mail","sn","cn"). Beachten Sie, dass der "dn" immer zurückgeliefert wird, ohne Rücksicht darauf, welche Merkmalstypen angefragt wurden.

Beachten Sie weiterhin, dass manche Verzeichnis-Server so konfiguriert sind, dass sie nicht mehr als eine vorbestimmte Anzahl an Einträgen zurückliefern. Sollte dies der Fall sein, zeigt Ihnen der Server an, dass nur eine Teilmenge des Ergebnisses zurückgeliefert wurde. Diesen Hinweis erhalten Sie auch, wenn Sie den sechsten Parameter größenbegrenzung mit angegeben hatten, um die Anzahl der angefragten Einträge einzuschränken.

Der fünfte Parameter nur_werte sollte auf 1 gesetzt werden, wenn Sie nur Merkmalstypen erhalten möchten. Wenn der Wert auf 0 steht, erhalten Sie sowohl Merkmalstypen als auch Merkmalswerte. Das ist das Standard Verhalten.

Mit dem sechsten Parameter größenbegrenzung ist es möglich, die Anzahl der Einträge, die Sie erhalten, zu begrenzen. Wenn Sie diesen Wert auf 0 setzen, bedeutet dies keine Beschränkung der Ergegnismenge. ANMERKUNG: Dieser Parameter kann eine serverseitig gesetzte Beschränkung NICHT überschreiben. Sie haben nur die Möglichkeit die Beschränkung noch weiter herabzusetzen.

Der siebte Parameter zeitbegrenzung legt die Zahl in Sekunden fest, die auf die Suche verwendet wird. Wenn Sie diesen Wert auf 0 setzen, bedeutet dies keine Beschränkung der Zeit. ANMERKUNG: Dieser Parameter kann eine serverseitig gesetzte Zeitbegrenzung NICHT überschreiben. Sie haben nur die Möglichkeit die Beschränkung noch weiter herabzusetzen.

Der achte Parameter deref gibt an, wie Aliase während einer Suche behandelt werden. Wert kann einer der folgenden sein:

  • LDAP_DEREF_NEVER - (Standard) Aliase werden nie aufgelöst.
  • LDAP_DEREF_SEARCHING - Aliase sollen während der Suche aufgelöst werden, aber nicht dann, wenn das Basisobjekt der Suche ermittelt wird.
  • LDAP_DEREF_FINDING - Aliase sollen aufgelöst werden, wenn das Basisobjekt ermiitelt wird, aber nicht während der Suche.
  • LDAP_DEREF_ALWAYS - Aliase sollen immer aufgelöst werden.

Hinweis:

Diese optionalen Parameter wurden in 4.0.2 hinzugefügt: nur_werte, größenbegrenzung, zeitbegrenzung, deref.

Der Suchfilter kann einfach oder kompliziert sein, wenn sie boolsche Operatoren in dem Format verwenden, wie in der LDAP Dokumentation beschrieben (siehe » Netscape Directory SDK für die vollständige Information über Filter).

Das untenstehende Beispiel liefert die Organisationseinheit, den Familiennamen, den Vornamen und die Email-Addresse aller Personen in "Meine Firma" deren Familien- oder Vorname die Zeichenkette $person enhält. In diesem Beispiel wird ein boolscher Filter verwendet, um den Server zu veranlassen, nach Informationen in mehr als einem Merkmal zu suchen.

Beispiel #1 LDAP Suche

// $ds gültige Verbindungs-Kennung für einen Verzeichnis-Server

// $person ein Teil oder der vollständige Name einer Person, z.B. "Jo"

$dn = "o=Meine Firma, c=DE";
$filter="(|(sn=$person*)(vorname=$person*))";
$justthese = array( "ou", "sn", "vorname", "mail");

$sr=ldap_search($ds, $dn, $filter, $justthese);

$info = ldap_get_entries($ds, $sr);

print $info["count"]." gefundene Einträge<p>";

Seit der Version 4.0.5 ist es außerdem möglich parallele Suchen durchzuführen. Um dies zu verwirklichen benutzen Sie als erstes Argument einen Array von Verbindungs-Kennungen, statt einer einzelnen Verbindungs-Kennung. Falls Sie nicht den gleichen Basis DN und den gleichen Filter für alle Suchen verwenden möchten, können Sie ebenso einen Array von Basis DNs und/oder einen Array von Filtern benutzen. Diese Arrays müssen die gleiche Größe wie das Array der Verbindungs-Kennungen haben, da die ersten Einträge der Arrays für eine Suche verwendet werden, die zweiten Einträge für eine andere Suche und so weiter. Wenn Sie parallel suchen erhalten Sie ein Array von Such-Ergebnis-Kennungen, außer im Fall eines Fehlers, dann liefert der Eintrag zur entsprechenden Suche FALSE zurück. Das entspricht ganz genau dem Wert der normalerweise zurückgeliefert wird, außer dass Sie immer eine Ergebnis-Kennung erhalten, wenn Sie eine Suche durchgeführt haben. Es treten einige seltene Fälle auf, wo eine normale Suche FALSE zurückgibt, während die parallele Suche eine Kennung zurückliefert.

ldap_sasl_bind
ldap_set_option
LDAP Funktionen


Setzt den Wert der gegebenen Option

ldap_search
ldap_set_rebind_proc
LDAP Funktionen
PHP Manual

ldap_set_option

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

ldap_set_option — Setzt den Wert der gegebenen Option

Beschreibung

bool ldap_set_option ( resource $Verbindungs-Kennung , int $option , mixed $neuerwert )

Setzt den Wert der bestimmten Option auf neuerwert.Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Der Parameter option kann einer der folgenden sein: LDAP_OPT_DEREF, LDAP_OPT_SIZELIMIT, LDAP_OPT_TIMELIMIT, LDAP_OPT_PROTOCOL_VERSION, LDAP_OPT_ERROR_NUMBER, LDAP_OPT_REFERRALS, LDAP_OPT_RESTART, LDAP_OPT_HOST_NAME, LDAP_OPT_ERROR_STRING, LDAP_OPT_MATCHED_DN, LDAP_OPT_SERVER_CONTROLS, LDAP_OPT_CLIENT_CONTROLS. Hier eine kurze Beschreibung, schauen Sie unter » draft-ietf-ldapext-ldap-c- api-xx.txt nach Details.

Die Optionen LDAP_OPT_DEREF, LDAP_OPT_SIZELIMIT, LDAP_OPT_TIMELIMIT, LDAP_OPT_PROTOCOL_VERSION und LDAP_OPT_ERROR_NUMBER haben einen ganzzahligen Wert, LDAP_OPT_REFERRALS und LDAP_OPT_RESTART haben einen boolschen Wert und die Optionen LDAP_OPT_HOST_NAME, LDAP_OPT_ERROR_STRING und LDAP_OPT_MATCHED_DN bestehen aus einer Zeichenkette. Das erste Beispiel veranschaulicht deren Gebrauch. Die Optionen LDAP_OPT_SERVER_CONTROLS and LDAP_OPT_CLIENT_CONTROLS benötigen eine Kontrolliste, d.h. der Wert muss ein Array aus Kontrollen sein. Eine Kontrolle besteht aus einer oid die die Kontrolle identifiziert, einem wahlweisen wert, und einem wahlweisen Kennzeichen für criticality. Bei PHP wird eine Kontrolle durch ein Array angegeben. Dieses Array enthält ein Element mit dem Schlüssel oid und einer Zeichenkette als Wert und zwei optionalen Elementen. Die optionalen Elemente sind Schlüssel wert mit einer Zeichenkette als Wert und dem Schlüssel iscritical mit einem boolschen Wert. Der vorgegebene Wert von iscritical ist FALSE falls Sie nichts angeben. Schauen Sie sich das zweite Beispiel weiter unten an.

Hinweis:

Diese Funktion steht nur zur Verfügung, wenn Sie OpenLDAP 2.x.x ODER Netscape Directory SDK x.x verwenden und wurde in PHP 4.0.4 hinzugefügt.

Beispiel #1 Setzen der Protokollversion

// $ds ist eine gültige Verbindungs-Kennung für einen Verzeichnis-
// Server
if (ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3))
    echo "Verwenden von LDAPv3";
else
    echo "Kann das Protokoll nicht auf Version 3 setzen";

Beispiel #2 Setzen der Server Kontrollen

// $ds ist eine gültige Verbingund-Kennung für einen Verzeichnis-
// Server
// Kontrolle ohne Wert
$ctrl1 = array("oid" => "1.2.752.58.10.1", "iscritical" => TRUE);
// iscritical hat den vorgegebenen Wert FALSE
$ctrl2 = array("oid" => "1.2.752.58.1.10", "value" => "magic");
// Versuch, beide Kontrollen zu setzen
if (!ldap_set_option($ds, LDAP_OPT_SERVER_CONTROLS, array($ctrl1,
$ctrl2)))
    echo "Kann die Server Kontrollen nicht setzen";

Siehe auch ldap_get_option().

ldap_search
ldap_set_rebind_proc
LDAP Funktionen


Set a callback function to do re-binds on referral chasing.

ldap_set_option
ldap_sort
LDAP Funktionen
PHP Manual

ldap_set_rebind_proc

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

ldap_set_rebind_proc — Set a callback function to do re-binds on referral chasing.

Beschreibung

bool ldap_set_rebind_proc ( resource $link , string $callback )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

ldap_set_option
ldap_sort
LDAP Funktionen


Sortiert LDAP Ergebniseinträge

ldap_set_rebind_proc
ldap_start_tls
LDAP Funktionen
PHP Manual

ldap_sort

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

ldap_sort — Sortiert LDAP Ergebniseinträge

Beschreibung

bool ldap_sort ( resource $link , resource $result , string $sortfilter )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

ldap_set_rebind_proc
ldap_start_tls
LDAP Funktionen


Startet TLS

ldap_sort
ldap_t61_to_8859
LDAP Funktionen
PHP Manual

ldap_start_tls

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

ldap_start_tls — Startet TLS

Beschreibung

bool ldap_start_tls ( resource $link )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

ldap_sort
ldap_t61_to_8859
LDAP Funktionen


Übersetzt t61 Zeichen nach 8859 Zeichen

ldap_start_tls
ldap_unbind
LDAP Funktionen
PHP Manual

ldap_t61_to_8859

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

ldap_t61_to_8859 — Übersetzt t61 Zeichen nach 8859 Zeichen

Beschreibung

string ldap_t61_to_8859 ( string $value )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

ldap_start_tls
ldap_unbind
LDAP Funktionen


Unbind von einem LDAP Verzeichnis

ldap_t61_to_8859
Memcache
LDAP Funktionen
PHP Manual

ldap_unbind

(PHP 4, PHP 5, PHP 7)

ldap_unbind — Unbind von einem LDAP Verzeichnis

Beschreibung

bool ldap_unbind ( resource $Verbindungs-Kennung )

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Die ldap_unbind() Funktion führt ein unbind auf ein LDAP Verzeichnis aus.

ldap_t61_to_8859
Memcache
LDAP Funktionen


Memcache

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • Grundlegende Verwendung
  • Memcache — Die Memcache Klasse
    • Memcache::add — Add an item to the server
    • Memcache::addServer — Add a memcached server to connection pool
    • Memcache::close — Close memcached server connection
    • Memcache::connect — Open memcached server connection
    • Memcache::decrement — Decrement item's value
    • Memcache::delete — Delete item from the server
    • Memcache::flush — Flush all existing items at the server
    • Memcache::get — Retrieve item from the server
    • Memcache::getExtendedStats — Get statistics from all servers in pool
    • Memcache::getServerStatus — Returns server status
    • Memcache::getStats — Get statistics of the server
    • Memcache::getVersion — Return version of the server
    • Memcache::increment — Increment item's value
    • Memcache::pconnect — Open memcached server persistent connection
    • Memcache::replace — Replace value of the existing item
    • Memcache::set — Store data at the server
    • Memcache::setCompressThreshold — Enable automatic compression of large values
    • Memcache::setServerParams — Changes server parameters and status at runtime
  • Memcache Funktionen
    • memcache_debug — Turn debug output on/off
ldap_unbind
Einführung
Sonstige Dienste


Einführung

Das Memcache-Modul bietet eine praktische Schnittstelle zu Memcached, einem effizienten Cache, welcher speziell entwickelt wurde, um die Datenbanklast in dynamischen Webanwendungen zu senken.

Das Memcache-Modul stellt außerdem einen Sessionhandler zur Verfügung (memcache).

Weitere Informationen über Memcache gibt es unter » http://www.memcached.org/.

Memcache
Installation/Konfiguration
Memcache


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Memcache


Anforderungen

Dieses Modul verwendet » zlib-Funktionen um Daten "on the fly" zu komprimieren. Zlib muss installiert sein, um dieses Modul verwenden zu können.

PHP 4.3.3 wird vorausgesetzt, um die Memcache-Erweiterung nutzen zu können.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese » PECL-Extension ist nicht Teil von PHP. Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/memcache.

Hinweis:

Es ist möglich, die Unterstützung für den Memcache-Sessionhandler zu deaktivieren. Die Option 'pecl install' fragt danach (standardmäßig aktiviert). Bei der Kompilierung kann die Option --disable-memcache-session verwendet werden.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Memcache Konfiguration
Name | Standard | Veränderbar | Changelog
memcache.allow_failover | "1" | PHP_INI_ALL | Verfügbar seit Memcache 2.0.2.
memcache.max_failover_attempts | "20" | PHP_INI_ALL | Verfügbar seit Memcache 2.1.0.
memcache.chunk_size | "8192" | PHP_INI_ALL | Verfügbar seit Memcache 2.0.2.
memcache.default_port | "11211" | PHP_INI_ALL | Verfügbar seit Memcache 2.0.2.
memcache.hash_strategy | "standard" | PHP_INI_ALL | Verfügbar seit Memcache 2.2.0.
memcache.hash_function | "crc32" | PHP_INI_ALL | Verfügbar seit Memcache 2.2.0.
session.save_handler | "files" | PHP_INI_ALL | Verfügbar seit Memcache 2.1.2
session.save_path | "" | PHP_INI_ALL | Unterstützt seit Memcache 2.1.2
memcache.protocol | ascii | >PHP_INI_ALL | Unterstützt seit Memcache 3.0.0
memcache.redundancy | 1 | >PHP_INI_ALL | Unterstützt seit Memcache 3.0.0
memcache.session_redundancy | 2 | >PHP_INI_ALL | Unterstützt seit Memcache 3.0.0
memcache.compress_threshold | 20000 | >PHP_INI_ALL | Unterstützt seit Memcache 3.0.3
memcache.lock_timeout | 15 | >PHP_INI_ALL | Unterstützt seit Memcache 3.0.4
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

memcache.allow_failover boolean

Bestimmt, ob bei einem Fehler auf andere Server ausgewichen werden soll.

memcache.max_failover_attempts integer

Gibt an, wie viele Server angefragt werden sollen, um Daten zu lesen oder schreiben. Diese Einstellung wird nur verwendet, wenn memcache.allow_failover aktiviert wurde.

memcache.chunk_size integer

Daten werden in Blöcken dieser Größe (in Bytes) übertragen. Eine geringere Größe bedeutet mehr Schreiboperationen auf die Netzwerkressourcen.

memcache.default_port string

Der Standard-Port, welcher für den Verbindungsaufbau verwendet wird, sofern kein anderer Port angegeben wurde.

memcache.hash_strategy string

Bestimmt die Strategie, die verwendet wird, um Schlüssel auf dem Server abzubilden. Der Wert consistent steht für konsistentes Hashing. Dies bedeutet, dass Server jederzeit zum Server-Pool hinzugefügt oder entfernt werden können, ohne die Schlüssel erneut zuzuweisen. Der Wert standard hingegen verwendet die alte Hash-Strategie, welche diese Vorgehensweise nicht unterstützt.

memcache.hash_function string

Bestimmt die Hash-Funktion, die für die Verteilung der Schlüssel auf die Server verwendet wird. Mögliche Werte sind crc32 für den CRC32-Hash-Algorithmus oder fnv für die Verwendung von FNV-1a.

session.save_handler string

Um Memcache als Sessionhandler zu verwenden, muss dieser Wert auf memcache gesetzt werden.

session.save_path string

Eine Komma-separierte Liste von Server-URLs, die für die Speicherung von Sessions verwendet wird. Z.B. "tcp://host1:11211, tcp://host2:11211".

Jede URL kann die gleichen Parameter enthalten, die auch für Memcache::addServer() verwendet werden können. Z.B. "tcp://host1:11211?persistent=1&weight=1&timeout=1&retry_interval=15"

memcache.protocol string

memcache.redundancy integer

Memcache erlaubt es, Schlüssel redundant (also auf mehreren Servern) zu speichern. Ein Redundanz-Wert von 2 bedeutet also, dass jeder Schlüssel auf 2 verschiedenen Servern gespeichert wird. Im Falle eines Ausfalls eines Servers, sind die Daten somit weiterhin auf einem anderen Server verfügbar.

memcache.session_redundancy integer

Wird Memcache als Sessionhandler verwendet, so kann hier das Redundanz-Level für die Sessions eingestellt werden. Ähnlich wie bei memcache.redundancy werden hier die Session-Daten redundant auf mehreren Servern gespeichert.

memcache.compress_threshold integer

memcache.lock_timeout integer

Installation
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

Der einzige Ressourcen-Typ, der verwendet wird, ist die Verbindungskennung für die Verbindung zum Memcache-Server.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Memcache Konstanten
Name | Beschreibung
MEMCACHE_COMPRESSED (integer) | Aktiviert die Datenkomprimerung für Memcache::set(), Memcache::add() und Memcache::replace().
MEMCACHE_HAVE_SESSION (integer) | Ist 1, wenn ein Memcache-Sessionhandler verfügbar ist, sonst 0.
Ressource-Typen
Beispiele
Memcache


Beispiele

Inhaltsverzeichnis

  • Grundlegende Verwendung
Vordefinierte Konstanten
Grundlegende Verwendung
Memcache


Grundlegende Verwendung

Beispiel #1 Memcache Beispiele

In diesem Beispiel wird ein Objekt im Cache gespeichert und anschließend wieder ausgelesen. Objekte und andere nicht-skalare Typen werden vor dem Speichern serialisiert. Somit ist es nicht möglich, Ressourcen im Cache zu speichern.

<?php

$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("Verbindung fehlgeschlagen");

$version = $memcache->getVersion();
echo "Server-Version: " . $version . "<br/>\n";

$objekt = new stdClass;
$objekt->string_attribut = 'test';
$objekt->integer_attribut = 123;

$memcache->set('schlüssel', $objekt, false, 10) or die ("Speichern des Objekts fehlgeschlagen");
echo "Objekt wurde erfolgreich mit einer Lebensdauer von 10 Sekunden gespeichert<br/>\n";

$gespeichertes_objekt = $memcache->get('schlüssel');
echo "Daten wurden aus dem Cache gelesen:<br/>\n";

var_dump($gespeichertes_objekt);

?>

Beispiel #2 Memcache als Session-Handler verwenden

<?php

$session_save_path = "tcp://$host:$port?persistent=1&weight=2&timeout=2&retry_interval=10, ,tcp://$host:$port";
ini_set('session.save_handler', 'memcache');
ini_set('session.save_path', $session_save_path);

?>

Beispiele
Memcache
Beispiele


Die Memcache Klasse

(PECL memcache >= 0.2.0)

Einführung

Stellt eine Verbindung zu Memcache-Servern dar.

Klassenbeschreibung

Memcache {
bool add ( string $key , mixed $var [, int $flag [, int $expire ]] )
bool addServer ( string $host [, int $port = 11211 [, bool $persistent [, int $weight [, int $timeout [, int $retry_interval [, bool $status [, callable $failure_callback [, int $timeoutms ]]]]]]]] )
bool close ( void )
bool connect ( string $host [, int $port [, int $timeout ]] )
int decrement ( string $key [, int $value = 1 ] )
bool delete ( string $key [, int $timeout = 0 ] )
bool flush ( void )
string get ( string $key [, int &$flags ] )
array getExtendedStats ([ string $type [, int $slabid [, int $limit = 100 ]]] )
int getServerStatus ( string $host [, int $port = 11211 ] )
array getStats ([ string $type [, int $slabid [, int $limit = 100 ]]] )
string getVersion ( void )
int increment ( string $key [, int $value = 1 ] )
mixed pconnect ( string $host [, int $port [, int $timeout ]] )
bool replace ( string $key , mixed $var [, int $flag [, int $expire ]] )
bool set ( string $key , mixed $var [, int $flag [, int $expire ]] )
bool setCompressThreshold ( int $threshold [, float $min_savings ] )
bool setServerParams ( string $host [, int $port = 11211 [, int $timeout [, int $retry_interval = false [, bool $status [, callable $failure_callback ]]]]] )
}

Inhaltsverzeichnis

  • Memcache::add — Add an item to the server
  • Memcache::addServer — Add a memcached server to connection pool
  • Memcache::close — Close memcached server connection
  • Memcache::connect — Open memcached server connection
  • Memcache::decrement — Decrement item's value
  • Memcache::delete — Delete item from the server
  • Memcache::flush — Flush all existing items at the server
  • Memcache::get — Retrieve item from the server
  • Memcache::getExtendedStats — Get statistics from all servers in pool
  • Memcache::getServerStatus — Returns server status
  • Memcache::getStats — Get statistics of the server
  • Memcache::getVersion — Return version of the server
  • Memcache::increment — Increment item's value
  • Memcache::pconnect — Open memcached server persistent connection
  • Memcache::replace — Replace value of the existing item
  • Memcache::set — Store data at the server
  • Memcache::setCompressThreshold — Enable automatic compression of large values
  • Memcache::setServerParams — Changes server parameters and status at runtime
Grundlegende Verwendung
Memcache::add
Memcache


Add an item to the server

Memcache
Memcache::addServer
Memcache
PHP Manual

Memcache::add

(PECL memcache >= 0.2.0)

Memcache::add — Add an item to the server

Beschreibung

bool Memcache::add ( string $key , mixed $var [, int $flag [, int $expire ]] )

Memcache::add() stores variable var with key only if such key doesn't exist at the server yet. Also you can use memcache_add() function.

Parameter-Liste

key

The key that will be associated with the item.

var

The variable to store. Strings and integers are stored as is, other types are stored serialized.

flag

Use MEMCACHE_COMPRESSED to store the item compressed (uses zlib).

expire

Expiration time of the item. If it's equal to zero, the item will never expire. You can also use Unix timestamp or a number of seconds starting from current time, but in the latter case the number of seconds may not exceed 2592000 (30 days).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. Returns FALSE if such key already exist. For the rest Memcache::add() behaves similarly to Memcache::set().

Beispiele

Beispiel #1 Memcache::add() example

<?php

$memcache_obj = memcache_connect("localhost", 11211);

/* procedural API */
memcache_add($memcache_obj, 'var_key', 'test variable', false, 30);

/* OO API */
$memcache_obj->add('var_key', 'test variable', false, 30);

?>

Siehe auch

  • Memcache::set() - Store data at the server
  • Memcache::replace() - Replace value of the existing item

Memcache
Memcache::addServer
Memcache


Add a memcached server to connection pool

Memcache::add
Memcache::close
Memcache
PHP Manual

Memcache::addServer

(PECL memcache >= 2.0.0)

Memcache::addServer — Add a memcached server to connection pool

Beschreibung

bool Memcache::addServer ( string $host [, int $port = 11211 [, bool $persistent [, int $weight [, int $timeout [, int $retry_interval [, bool $status [, callable $failure_callback [, int $timeoutms ]]]]]]]] )

Memcache::addServer() adds a server to the connection pool. You can also use the memcache_add_server() function.

When using this method (as opposed to Memcache::connect() and Memcache::pconnect()) the network connection is not established until actually needed. Thus there is no overhead in adding a large number of servers to the pool, even though they might not all be used.

Failover may occur at any stage in any of the methods, as long as other servers are available the request the user won't notice. Any kind of socket or Memcached server level errors (except out-of-memory) may trigger the failover. Normal client errors such as adding an existing key will not trigger a failover.

Hinweis:

This function has been added to Memcache version 2.0.0.

Parameter-Liste

host

Point to the host where memcached is listening for connections. This parameter may also specify other transports like unix:///path/to/memcached.sock to use UNIX domain sockets, in this case port must also be set to 0.

port

Point to the port where memcached is listening for connections. Set this parameter to 0 when using UNIX domain sockets.

Please note: port defaults to memcache.default_port if not specified. For this reason it is wise to specify the port explicitly in this method call.

persistent

Controls the use of a persistent connection. Default to TRUE.

weight

Number of buckets to create for this server which in turn control its probability of it being selected. The probability is relative to the total weight of all servers.

timeout

Value in seconds which will be used for connecting to the daemon. Think twice before changing the default value of 1 second - you can lose all the advantages of caching if your connection is too slow.

retry_interval

Controls how often a failed server will be retried, the default value is 15 seconds. Setting this parameter to -1 disables automatic retry. Neither this nor the persistent parameter has any effect when the extension is loaded dynamically via dl().

Each failed connection struct has its own timeout and before it has expired the struct will be skipped when selecting backends to serve a request. Once expired the connection will be successfully reconnected or marked as failed for another retry_interval seconds. The typical effect is that each web server child will retry the connection about every retry_interval seconds when serving a page.

status

Controls if the server should be flagged as online. Setting this parameter to FALSE and retry_interval to -1 allows a failed server to be kept in the pool so as not to affect the key distribution algorithm. Requests for this server will then failover or fail immediately depending on the memcache.allow_failover setting. Default to TRUE, meaning the server should be considered online.

failure_callback

Allows the user to specify a callback function to run upon encountering an error. The callback is run before failover is attempted. The function takes two parameters, the hostname and port of the failed server.

timeoutms

Anmerkungen

Warnung

When the port is unspecified, this method defaults to the value set of the PHP ini directive memcache.default_port If this value was changed elsewhere in your application it might lead to unexpected results: for this reason it is wise to always specify the port explicitly in this method call.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Memcache::addServer() example

<?php

/* OO API */

$memcache = new Memcache;
$memcache->addServer('memcache_host', 11211);
$memcache->addServer('memcache_host2', 11211);

/* procedural API */

$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_add_server($memcache_obj, 'memcache_host2', 11211);

?>

Siehe auch

  • Memcache::connect() - Open memcached server connection
  • Memcache::pconnect() - Open memcached server persistent connection
  • Memcache::close() - Close memcached server connection
  • Memcache::setServerParams() - Changes server parameters and status at runtime
  • Memcache::getServerStatus() - Returns server status

Memcache::add
Memcache::close
Memcache


Close memcached server connection

Memcache::addServer
Memcache::connect
Memcache
PHP Manual

Memcache::close

(PECL memcache >= 0.4.0)

Memcache::close — Close memcached server connection

Beschreibung

bool Memcache::close ( void )

Memcache::close() closes connection to memcached server. This function doesn't close persistent connections, which are closed only during web-server shutdown/restart. Also you can use memcache_close() function.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Memcache::close() example

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
/*
do something here ..
*/
memcache_close($memcache_obj);

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
/*
do something here ..
*/
$memcache_obj->close();

?>

Siehe auch

  • Memcache::connect() - Open memcached server connection
  • Memcache::pconnect() - Open memcached server persistent connection

Memcache::addServer
Memcache::connect
Memcache


Open memcached server connection

Memcache::close
Memcache::decrement
Memcache
PHP Manual

Memcache::connect

(PECL memcache >= 0.2.0)

Memcache::connect — Open memcached server connection

Beschreibung

bool Memcache::connect ( string $host [, int $port [, int $timeout ]] )

Memcache::connect() establishes a connection to the memcached server. The connection, which was opened using Memcache::connect() will be automatically closed at the end of script execution. Also you can close it with Memcache::close(). Also you can use memcache_connect() function.

Parameter-Liste

host

Point to the host where memcached is listening for connections. This parameter may also specify other transports like unix:///path/to/memcached.sock to use UNIX domain sockets, in this case port must also be set to 0.

port

Point to the port where memcached is listening for connections. Set this parameter to 0 when using UNIX domain sockets.

Please note: port defaults to memcache.default_port if not specified. For this reason it is wise to specify the port explicitly in this method call.

timeout

Value in seconds which will be used for connecting to the daemon. Think twice before changing the default value of 1 second - you can lose all the advantages of caching if your connection is too slow.

Anmerkungen

Warnung

When the port is unspecified, this method defaults to the value set of the PHP ini directive memcache.default_port If this value was changed elsewhere in your application it might lead to unexpected results: for this reason it is wise to always specify the port explicitly in this method call.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Memcache::connect() example

<?php

/* procedural API */

$memcache_obj = memcache_connect('memcache_host', 11211);

/* OO API */

$memcache = new Memcache;
$memcache->connect('memcache_host', 11211);

?>

Siehe auch

  • Memcache::pconnect() - Open memcached server persistent connection
  • Memcache::close() - Close memcached server connection

Memcache::close
Memcache::decrement
Memcache


Decrement item's value

Memcache::connect
Memcache::delete
Memcache
PHP Manual

Memcache::decrement

(PECL memcache >= 0.2.0)

Memcache::decrement — Decrement item's value

Beschreibung

int Memcache::decrement ( string $key [, int $value = 1 ] )

Memcache::decrement() decrements value of the item by value. Similarly to Memcache::increment(), current value of the item is being converted to numerical and after that value is subtracted.

Hinweis:

New item's value will not be less than zero.

Hinweis:

Do not use Memcache::decrement() with item, which was stored compressed, because consequent call to Memcache::get() will fail.

Memcache::decrement() does not create an item if it didn't exist. Also you can use memcache_decrement() function.

Parameter-Liste

key

Key of the item do decrement.

value

Decrement the item by value.

Rückgabewerte

Returns item's new value on successIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 Memcache::decrement() example

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
/* decrement item by 2 */
$new_value = memcache_decrement($memcache_obj, 'test_item', 2);

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
/* decrement item by 3 */
$new_value = $memcache_obj->decrement('test_item', 3);
?>

Siehe auch

  • Memcache::increment() - Increment item's value
  • Memcache::replace() - Replace value of the existing item

Memcache::connect
Memcache::delete
Memcache


Delete item from the server

Memcache::decrement
Memcache::flush
Memcache
PHP Manual

Memcache::delete

(PECL memcache >= 0.2.0)

Memcache::delete — Delete item from the server

Beschreibung

bool Memcache::delete ( string $key [, int $timeout = 0 ] )

Memcache::delete() deletes an item with the key.

Parameter-Liste

key

The key associated with the item to delete.

timeout

This deprecated parameter is not supported, and defaults to 0 seconds. Do not use this parameter.

Changelog

Version | Beschreibung
Unknown | It's not recommended to use the timeout parameter. The behavior differs between memcached versions, but setting to 0 is safe. Other values for this deprecated feature may cause the memcache delete to fail.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Memcache::delete() example

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);

/* item will be deleted by the server */
memcache_delete($memcache_obj, 'key_to_delete');

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);

$memcache_obj->delete('key_to_delete');

?>

Siehe auch

  • Memcache::set() - Store data at the server
  • Memcache::replace() - Replace value of the existing item

Memcache::decrement
Memcache::flush
Memcache


Flush all existing items at the server

Memcache::delete
Memcache::get
Memcache
PHP Manual

Memcache::flush

(PECL memcache >= 1.0.0)

Memcache::flush — Flush all existing items at the server

Beschreibung

bool Memcache::flush ( void )

Memcache::flush() immediately invalidates all existing items. Memcache::flush() doesn't actually free any resources, it only marks all the items as expired, so occupied memory will be overwritten by new items. Also you can use memcache_flush() function.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Memcache::flush() example

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);

memcache_flush($memcache_obj);

/* OO API */

$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);

$memcache_obj->flush();

?>

Memcache::delete
Memcache::get
Memcache


Retrieve item from the server

Memcache::flush
Memcache::getExtendedStats
Memcache
PHP Manual

Memcache::get

(PECL memcache >= 0.2.0)

Memcache::get — Retrieve item from the server

Beschreibung

string Memcache::get ( string $key [, int &$flags ] )
array Memcache::get ( array $keys [, array &$flags ] )

Memcache::get() returns previously stored data of an item, if such key exists on the server at this moment.

You can pass array of keys to Memcache::get() to get array of values. The result array will contain only found key-value pairs.

Parameter-Liste

key

The key or array of keys to fetch.

flags

If present, flags fetched along with the values will be written to this parameter. These flags are the same as the ones given to for example Memcache::set(). The lowest byte of the int is reserved for pecl/memcache internal usage (e.g. to indicate compression and serialization status).

Rückgabewerte

Returns the value associated with the key or an array of found key-value pairs when key is an array. Returns FALSE on failure, key is not found or key is an empty array.

Beispiele

Beispiel #1 Memcache::get() example

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
$var = memcache_get($memcache_obj, 'some_key');

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
$var = $memcache_obj->get('some_key');

/*
You also can use array of keys as a parameter.
If such item wasn't found at the server, the result
array simply will not include such key.
*/

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
$var = memcache_get($memcache_obj, Array('some_key', 'another_key'));

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
$var = $memcache_obj->get(Array('some_key', 'second_key'));

?>

Memcache::flush
Memcache::getExtendedStats
Memcache


Get statistics from all servers in pool

Memcache::get
Memcache::getServerStatus
Memcache
PHP Manual

Memcache::getExtendedStats

(PECL memcache >= 2.0.0)

Memcache::getExtendedStats — Get statistics from all servers in pool

Beschreibung

array Memcache::getExtendedStats ([ string $type [, int $slabid [, int $limit = 100 ]]] )

Memcache::getExtendedStats() returns a two-dimensional associative array with server statistics. Array keys correspond to host:port of server and values contain the individual server statistics. A failed server will have its corresponding entry set to FALSE. You can also use the memcache_get_extended_stats() function.

Hinweis:

This function has been added to Memcache version 2.0.0.

Parameter-Liste

type

The type of statistics to fetch. Valid values are {reset, malloc, maps, cachedump, slabs, items, sizes}. According to the memcached protocol spec these additional arguments "are subject to change for the convenience of memcache developers".

slabid

Used in conjunction with type set to cachedump to identify the slab to dump from. The cachedump command ties up the server and is strictly to be used for debugging purposes.

limit

Used in conjunction with type set to cachedump to limit the number of entries to dump.

Warnung

The cachedump stat type has been removed from the memcached daemon due to security reasons.

Rückgabewerte

Returns a two-dimensional associative array of server statistics or FALSE on failure.

Beispiele

Beispiel #1 Memcache::getExtendedStats() example

<?php
    $memcache_obj = new Memcache;
    $memcache_obj->addServer('memcache_host', 11211);
    $memcache_obj->addServer('failed_host', 11211);

    $stats = $memcache_obj->getExtendedStats();
    print_r($stats);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [memcache_host:11211] => Array
        (
            [pid] => 3756
            [uptime] => 603011
            [time] => 1133810435
            [version] => 1.1.12
            [rusage_user] => 0.451931
            [rusage_system] => 0.634903
            [curr_items] => 2483
            [total_items] => 3079
            [bytes] => 2718136
            [curr_connections] => 2
            [total_connections] => 807
            [connection_structures] => 13
            [cmd_get] => 9748
            [cmd_set] => 3096
            [get_hits] => 5976
            [get_misses] => 3772
            [bytes_read] => 3448968
            [bytes_written] => 2318883
            [limit_maxbytes] => 33554432
        )

    [failed_host:11211] => false
)

Siehe auch

  • Memcache::getVersion() - Return version of the server
  • Memcache::getStats() - Get statistics of the server

Memcache::get
Memcache::getServerStatus
Memcache


Returns server status

Memcache::getExtendedStats
Memcache::getStats
Memcache
PHP Manual

Memcache::getServerStatus

(PECL memcache >= 2.1.0)

Memcache::getServerStatus — Returns server status

Beschreibung

int Memcache::getServerStatus ( string $host [, int $port = 11211 ] )

Memcache::getServerStatus() returns a the servers online/offline status. You can also use memcache_get_server_status() function.

Hinweis:

This function has been added to Memcache version 2.1.0.

Parameter-Liste

host

Point to the host where memcached is listening for connections.

port

Point to the port where memcached is listening for connections.

Rückgabewerte

Returns a the servers status. 0 if server is failed, non-zero otherwise

Beispiele

Beispiel #1 Memcache::getServerStatus() example

<?php

/* OO API */
$memcache = new Memcache;
$memcache->addServer('memcache_host', 11211);
echo $memcache->getServerStatus('memcache_host', 11211);

/* procedural API */
$memcache = memcache_connect('memcache_host', 11211);
echo memcache_get_server_status($memcache, 'memcache_host', 11211);

?>

Siehe auch

  • Memcache::addServer() - Add a memcached server to connection pool
  • Memcache::setServerParams() - Changes server parameters and status at runtime

Memcache::getExtendedStats
Memcache::getStats
Memcache


Get statistics of the server

Memcache::getServerStatus
Memcache::getVersion
Memcache
PHP Manual

Memcache::getStats

(PECL memcache >= 0.2.0)

Memcache::getStats — Get statistics of the server

Beschreibung

array Memcache::getStats ([ string $type [, int $slabid [, int $limit = 100 ]]] )

Memcache::getStats() returns an associative array with server's statistics. Array keys correspond to stats parameters and values to parameter's values. Also you can use memcache_get_stats() function.

Parameter-Liste

type

The type of statistics to fetch. Valid values are {reset, malloc, maps, cachedump, slabs, items, sizes}. According to the memcached protocol spec these additional arguments "are subject to change for the convenience of memcache developers".

slabid

Used in conjunction with type set to cachedump to identify the slab to dump from. The cachedump command ties up the server and is strictly to be used for debugging purposes.

limit

Used in conjunction with type set to cachedump to limit the number of entries to dump.

Rückgabewerte

Returns an associative array of server statisticsIm Fehlerfall wird FALSE zurückgegeben..

Siehe auch

  • Memcache::getVersion() - Return version of the server
  • Memcache::getExtendedStats() - Get statistics from all servers in pool

Memcache::getServerStatus
Memcache::getVersion
Memcache


Return version of the server

Memcache::getStats
Memcache::increment
Memcache
PHP Manual

Memcache::getVersion

(PECL memcache >= 0.2.0)

Memcache::getVersion — Return version of the server

Beschreibung

string Memcache::getVersion ( void )

Memcache::getVersion() returns a string with server's version number. Also you can use memcache_get_version() function.

Rückgabewerte

Returns a string of server version numberIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 Memcache::getVersion() example

<?php

/* OO API */
$memcache = new Memcache;
$memcache->connect('memcache_host', 11211);
echo $memcache->getVersion();

/* procedural API */
$memcache = memcache_connect('memcache_host', 11211);
echo memcache_get_version($memcache);

?>

Siehe auch

  • Memcache::getExtendedStats() - Get statistics from all servers in pool
  • Memcache::getStats() - Get statistics of the server

Memcache::getStats
Memcache::increment
Memcache


Increment item's value

Memcache::getVersion
Memcache::pconnect
Memcache
PHP Manual

Memcache::increment

(PECL memcache >= 0.2.0)

Memcache::increment — Increment item's value

Beschreibung

int Memcache::increment ( string $key [, int $value = 1 ] )

Memcache::increment() increments value of an item by the specified value. If item specified by key was not numeric and cannot be converted to a number, it will change its value to value. Memcache::increment() does not create an item if it doesn't already exist.

Hinweis:

Do not use Memcache::increment() with items that have been stored compressed because subsequent calls to Memcache::get() will fail.

Also you can use memcache_increment() function.

Parameter-Liste

key

Key of the item to increment.

value

Increment the item by value.

Rückgabewerte

Returns new items value on success Im Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 Memcache::increment() example

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
/* increment counter by 2 */
$current_value = memcache_increment($memcache_obj, 'counter', 2);

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
/* increment counter by 3 */
$current_value = $memcache_obj->increment('counter', 3);

?>

Siehe auch

  • Memcache::decrement() - Decrement item's value
  • Memcache::replace() - Replace value of the existing item

Memcache::getVersion
Memcache::pconnect
Memcache


Open memcached server persistent connection

Memcache::increment
Memcache::replace
Memcache
PHP Manual

Memcache::pconnect

(PECL memcache >= 0.4.0)

Memcache::pconnect — Open memcached server persistent connection

Beschreibung

mixed Memcache::pconnect ( string $host [, int $port [, int $timeout ]] )

Memcache::pconnect() is similar to Memcache::connect() with the difference, that the connection it establishes is persistent. This connection is not closed after the end of script execution and by Memcache::close() function. Also you can use memcache_pconnect() function.

Parameter-Liste

host

Point to the host where memcached is listening for connections. This parameter may also specify other transports like unix:///path/to/memcached.sock to use UNIX domain sockets, in this case port must also be set to 0.

port

Point to the port where memcached is listening for connections. Set this parameter to 0 when using UNIX domain sockets.

timeout

Value in seconds which will be used for connecting to the daemon. Think twice before changing the default value of 1 second - you can lose all the advantages of caching if your connection is too slow.

Rückgabewerte

Returns a Memcache objectIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 Memcache::pconnect() example

<?php

/* procedural API */
$memcache_obj = memcache_pconnect('memcache_host', 11211);

/* OO API */

$memcache_obj = new Memcache;
$memcache_obj->pconnect('memcache_host', 11211);

?>

Siehe auch

  • Memcache::connect() - Open memcached server connection

Memcache::increment
Memcache::replace
Memcache


Replace value of the existing item

Memcache::pconnect
Memcache::set
Memcache
PHP Manual

Memcache::replace

(PECL memcache >= 0.2.0)

Memcache::replace — Replace value of the existing item

Beschreibung

bool Memcache::replace ( string $key , mixed $var [, int $flag [, int $expire ]] )

Memcache::replace() should be used to replace value of
existing item with key. In case if item with such
key doesn't exists, Memcache::replace() returns
FALSE. For the rest Memcache::replace() behaves
similarly to Memcache::set().
Also you can use memcache_replace() function.

Parameter-Liste

key

The key that will be associated with the item.

var

The variable to store. Strings and integers are stored as is, other types are stored serialized.

flag

Use MEMCACHE_COMPRESSED to store the item compressed (uses zlib).

expire

Expiration time of the item. If it's equal to zero, the item will never expire. You can also use Unix timestamp or a number of seconds starting from current time, but in the latter case the number of seconds may not exceed 2592000 (30 days).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Memcache::replace() example

<?php

$memcache_obj = memcache_connect('memcache_host', 11211);

/* procedural API */
memcache_replace($memcache_obj, "test_key", "some variable", false, 30);

/* OO API */
$memcache_obj->replace("test_key", "some variable", false, 30);

?>

Siehe auch

  • Memcache::set() - Store data at the server
  • Memcache::add() - Add an item to the server

Memcache::pconnect
Memcache::set
Memcache


Store data at the server

Memcache::replace
Memcache::setCompressThreshold
Memcache
PHP Manual

Memcache::set

(PECL memcache >= 0.2.0)

Memcache::set — Store data at the server

Beschreibung

bool Memcache::set ( string $key , mixed $var [, int $flag [, int $expire ]] )

Memcache::set() stores an item var with key on the memcached server. Parameter expire is expiration time in seconds. If it's 0, the item never expires (but memcached server doesn't guarantee this item to be stored all the time, it could be deleted from the cache to make place for other items). You can use MEMCACHE_COMPRESSED constant as flag value if you want to use on-the-fly compression (uses zlib).

Hinweis:

Remember that resource variables (i.e. file and connection descriptors) cannot be stored in the cache, because they cannot be adequately represented in serialized state.

Also you can use memcache_set() function.

Parameter-Liste

key

The key that will be associated with the item.

var

The variable to store. Strings and integers are stored as is, other types are stored serialized.

flag

Use MEMCACHE_COMPRESSED to store the item compressed (uses zlib).

expire

Expiration time of the item. If it's equal to zero, the item will never expire. You can also use Unix timestamp or a number of seconds starting from current time, but in the latter case the number of seconds may not exceed 2592000 (30 days).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Memcache::set() example

<?php
/* procedural API */

/* connect to memcached server */
$memcache_obj = memcache_connect('memcache_host', 11211);

/*
set value of item with key 'var_key'
using 0 as flag value, compression is not used
expire time is 30 seconds
*/
memcache_set($memcache_obj, 'var_key', 'some variable', 0, 30);

echo memcache_get($memcache_obj, 'var_key');

?>

Beispiel #2 Memcache::set() example

<?php
/* OO API */

$memcache_obj = new Memcache;

/* connect to memcached server */
$memcache_obj->connect('memcache_host', 11211);

/*
set value of item with key 'var_key', using on-the-fly compression
expire time is 50 seconds
*/
$memcache_obj->set('var_key', 'some really big variable', MEMCACHE_COMPRESSED, 50);

echo $memcache_obj->get('var_key');

?>

Siehe auch

  • Memcache::add() - Add an item to the server
  • Memcache::replace() - Replace value of the existing item

Memcache::replace
Memcache::setCompressThreshold
Memcache


Enable automatic compression of large values

Memcache::set
Memcache::setServerParams
Memcache
PHP Manual

Memcache::setCompressThreshold

(PECL memcache >= 2.0.0)

Memcache::setCompressThreshold — Enable automatic compression of large values

Beschreibung

bool Memcache::setCompressThreshold ( int $threshold [, float $min_savings ] )

Memcache::setCompressThreshold() enables automatic compression of large values. You can also use the memcache_set_compress_threshold() function.

Hinweis:

This function has been added to Memcache version 2.0.0.

Parameter-Liste

threshold

Controls the minimum value length before attempting to compress automatically.

min_saving

Specifies the minimum amount of savings to actually store the value compressed. The supplied value must be between 0 and 1. Default value is 0.2 giving a minimum 20% compression savings.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Memcache::setCompressThreshold() example

<?php

/* OO API */

$memcache_obj = new Memcache;
$memcache_obj->addServer('memcache_host', 11211);
$memcache_obj->setCompressThreshold(20000, 0.2);

/* procedural API */

$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_set_compress_threshold($memcache_obj, 20000, 0.2);

?>

Memcache::set
Memcache::setServerParams
Memcache


Changes server parameters and status at runtime

Memcache::setCompressThreshold
Memcache Funktionen
Memcache
PHP Manual

Memcache::setServerParams

(PECL memcache >= 2.1.0)

Memcache::setServerParams — Changes server parameters and status at runtime

Beschreibung

bool Memcache::setServerParams ( string $host [, int $port = 11211 [, int $timeout [, int $retry_interval = false [, bool $status [, callable $failure_callback ]]]]] )

Memcache::setServerParams() changes server parameters at runtime. You can also use the memcache_set_server_params() function.

Hinweis:

This function has been added to Memcache version 2.1.0.

Parameter-Liste

host

Point to the host where memcached is listening for connections.

port

Point to the port where memcached is listening for connections.

timeout

Value in seconds which will be used for connecting to the daemon. Think twice before changing the default value of 1 second - you can lose all the advantages of caching if your connection is too slow.

retry_interval

Controls how often a failed server will be retried, the default value is 15 seconds. Setting this parameter to -1 disables automatic retry. Neither this nor the persistent parameter has any effect when the extension is loaded dynamically via dl().

status

Controls if the server should be flagged as online. Setting this parameter to FALSE and retry_interval to -1 allows a failed server to be kept in the pool so as not to affect the key distribution algorithm. Requests for this server will then failover or fail immediately depending on the memcache.allow_failover setting. Default to TRUE, meaning the server should be considered online.

failure_callback

Allows the user to specify a callback function to run upon encountering an error. The callback is run before failover is attempted. The function takes two parameters, the hostname and port of the failed server.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Memcache::setServerParams() example

<?php

function _callback_memcache_failure($host, $port) {
    print "memcache '$host:$port' failed";
}

/* OO API */

$memcache = new Memcache;

// Add the server in offline mode
$memcache->addServer('memcache_host', 11211, false, 1, 1, -1, false);

// Bring the server back online
$memcache->setServerParams('memcache_host', 11211, 1, 15, true, '_callback_memcache_failure');

/* procedural API */

$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_set_server_params($memcache_obj, 'memcache_host', 11211, 1, 15, true, '_callback_memcache_failure');

?>

Siehe auch

  • Memcache::addServer() - Add a memcached server to connection pool
  • Memcache::getServerStatus() - Returns server status

Memcache::setCompressThreshold
Memcache Funktionen
Memcache


Memcache Funktionen

Inhaltsverzeichnis

  • memcache_debug — Turn debug output on/off
Memcache::setServerParams
memcache_debug
Memcache


Turn debug output on/off

Memcache Funktionen
Memcached
Memcache Funktionen
PHP Manual

memcache_debug

(PECL memcache >= 0.2.0)

memcache_debug — Turn debug output on/off

Beschreibung

bool memcache_debug ( bool $on_off )

memcache_debug() turns on debug output if parameter on_off is equal to TRUE and turns off if it's FALSE.

Hinweis:

memcache_debug() is accessible only if PHP was built with --enable-debug option and always returns TRUE in this case. Otherwise, this function has no effect and always returns FALSE.

Parameter-Liste

on_off

Turns debug output on if equals to TRUE. Turns debug output off if equals to FALSE.

Rückgabewerte

Returns TRUE if PHP was built with --enable-debug option, otherwise returns FALSE.

Memcache Funktionen
Memcached
Memcache Funktionen


Memcached

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Expiration Times
  • Callbacks
    • Result callbacks
    • Read-through cache callbacks
  • Sessions support
  • Memcached — The Memcached class
    • Memcached::add — Add an item under a new key
    • Memcached::addByKey — Add an item under a new key on a specific server
    • Memcached::addServer — Add a server to the server pool
    • Memcached::addServers — Add multiple servers to the server pool
    • Memcached::append — Append data to an existing item
    • Memcached::appendByKey — Append data to an existing item on a specific server
    • Memcached::cas — Compare and swap an item
    • Memcached::casByKey — Compare and swap an item on a specific server
    • Memcached::__construct — Create a Memcached instance
    • Memcached::decrement — Decrement numeric item's value
    • Memcached::decrementByKey — Decrement numeric item's value, stored on a specific server
    • Memcached::delete — Delete an item
    • Memcached::deleteByKey — Delete an item from a specific server
    • Memcached::deleteMulti — Delete multiple items
    • Memcached::deleteMultiByKey — Delete multiple items from a specific server
    • Memcached::fetch — Fetch the next result
    • Memcached::fetchAll — Fetch all the remaining results
    • Memcached::flush — Invalidate all items in the cache
    • Memcached::get — Retrieve an item
    • Memcached::getAllKeys — Gets the keys stored on all the servers
    • Memcached::getByKey — Retrieve an item from a specific server
    • Memcached::getDelayed — Request multiple items
    • Memcached::getDelayedByKey — Request multiple items from a specific server
    • Memcached::getMulti — Retrieve multiple items
    • Memcached::getMultiByKey — Retrieve multiple items from a specific server
    • Memcached::getOption — Retrieve a Memcached option value
    • Memcached::getResultCode — Return the result code of the last operation
    • Memcached::getResultMessage — Return the message describing the result of the last operation
    • Memcached::getServerByKey — Map a key to a server
    • Memcached::getServerList — Get the list of the servers in the pool
    • Memcached::getStats — Get server pool statistics
    • Memcached::getVersion — Get server pool version info
    • Memcached::increment — Increment numeric item's value
    • Memcached::incrementByKey — Increment numeric item's value, stored on a specific server
    • Memcached::isPersistent — Check if a persitent connection to memcache is being used
    • Memcached::isPristine — Check if the instance was recently created
    • Memcached::prepend — Prepend data to an existing item
    • Memcached::prependByKey — Prepend data to an existing item on a specific server
    • Memcached::quit — Close any open connections
    • Memcached::replace — Replace the item under an existing key
    • Memcached::replaceByKey — Replace the item under an existing key on a specific server
    • Memcached::resetServerList — Clears all servers from the server list
    • Memcached::set — Store an item
    • Memcached::setByKey — Store an item on a specific server
    • Memcached::setMulti — Store multiple items
    • Memcached::setMultiByKey — Store multiple items on a specific server
    • Memcached::setOption — Set a Memcached option
    • Memcached::setOptions — Set Memcached options
    • Memcached::setSaslAuthData — Set the credentials to use for authentication
    • Memcached::touch — Set a new expiration on an item
    • Memcached::touchByKey — Set a new expiration on an item on a specific server
  • MemcachedException — The MemcachedException class
memcache_debug
Einführung
Sonstige Dienste


Einführung

» memcached is a high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.

This extension uses the libmemcached library to provide an API for communicating with memcached servers. It also provides a session handler (memcached).

Information about libmemcached can be found at » http://libmemcached.org/libMemcached.html.

Memcached
Installation/Konfiguration
Memcached


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Memcached


Anforderungen

This extension requires » libmemcached client library (version 1.0.0 or greater). For SASL authentication support, libmemcached must be built with SASL enabled.

Since version 0.2.0, this extension requires PHP version 5.2.0 or higher.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/memcached.

If libmemcached is installed in a non-standard location, use --with-libmemcached-dir=DIR switch, where DIR is the libmemcached install prefix. This directory has to contain the include/libmemcached/memcached.h file.

Zlib is required for compression support. To specify non-standard installation of Zlib, use --with-zlib-dir=DIR switch, where DIR is the Zlib install prefix.

Session handler support is enabled by default. To disable it, use --disable-memcached-session switch.

SASL authentication support is disabled by default. To enable it, use --enable-memcached-sasl switch. This requires that libsasl2 has been installed and that libmemcached has been built with SASL support enabled.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Memcached Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
memcached.sess_locking | 1 | PHP_INI_ALL |
memcached.sess_consistent_hash | 0 | PHP_INI_ALL |
memcached.sess_binary | 0 | PHP_INI_ALL |
memcached.sess_lock_wait | 150000 | PHP_INI_ALL |
memcached.sess_prefix | memc.sess.key. | PHP_INI_ALL |
memcached.sess_number_of_replicas | 0 | PHP_INI_ALL |
memcached.sess_randomize_replica_read | 0 | PHP_INI_ALL |
memcached.sess_remove_failed | 0 | PHP_INI_ALL |
memcached.compression_type | fastlz | PHP_INI_ALL |
memcached.compression_factor | 1.3 | PHP_INI_ALL |
memcached.compression_threshold | 2000 | PHP_INI_ALL |
memcached.serializer | php | PHP_INI_ALL |
memcached.use_sasl | 0 | PHP_INI_SYSTEM |

Hier eine kurze Erklärung der Konfigurationsoptionen:

memcached.sess_locking integer

Use session locking. Valid values: On, Off, the default is On.

memcached.sess_consistent_hash integer

Memcached session consistent hash mode. If set to On, consistent hashing is used for session handling. When consistent hashing is used, one can add or remove cache node(s) without messing up too much with existing keys. The default is Off.

memcached.sess_binary integer

Use memcached session binary mode. Libmemcached replicas only work if binary mode is enabled. The default is Off.

memcached.sess_lock_wait integer

Session spin lock retry wait time in microseconds. Be carefull when setting this value. Valid values are integers, where 0 is interpreted as the default value. Negative values result in a reduces locking to a try lock. The default is 150000.

memcached.sess_prefix string

Memcached session key prefix. Valid values are strings less than 219 bytes long. The default value is "memc.sess.key."

memcached.sess_number_of_replicas integer

The memcached session number of replicas.

memcached.sess_randomize_replica_read integer

Memcached session replica read randomize.

memcached.sess_remove_failed integer

Allow failed memcached server to automatically be removed.

memcached.compression_type string

Set the compression type, valid values are: fastlz, zlib. The default is fastlz.

memcached.compression_factor float

Compression factor. Store compressed value only if the compression factor (saving) exceeds the set limit. Store compressed if: plain_len > comp_len * factor. The default value is 1.3 (23% space saving).

memcached.compression_threshold integer

The compression threshold. Do not compress serialized values below this threshold. The default is 2000 bytes.

memcached.serializer string

Set the default serializer for new memcached objects. Valid values are: php, igbinary, json, json_array.

json

Standard php JSON encoding. This serializer is fast and compact but only works on UTF-8 encoded data and does not fully implement serializing. See the JSON extension.

json_array

As json, but decodes into arrays.

php

The standard PHP serializer.

igbinary

A binary serializer

The default is igbinary if available and php otherwise.

memcached.use_sasl integer

Use SASL authentication for connections. Valid values: On, Off. The default is Off.

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

Memcached::OPT_COMPRESSION

Enables or disables payload compression. When enabled, item values longer than a certain threshold (currently 100 bytes) will be compressed during storage and decompressed during retrieval transparently.

Type: boolean, default: TRUE.

Memcached::OPT_SERIALIZER

Specifies the serializer to use for serializing non-scalar values. The valid serializers are Memcached::SERIALIZER_PHP or Memcached::SERIALIZER_IGBINARY. The latter is supported only when memcached is configured with --enable-memcached-igbinary option and the igbinary extension is loaded.

Type: integer, default: Memcached::SERIALIZER_PHP.

Memcached::SERIALIZER_PHP

The default PHP serializer.

Memcached::SERIALIZER_IGBINARY

The » igbinary serializer. Instead of textual representation it stores PHP data structures in a compact binary form, resulting in space and time gains.

Memcached::SERIALIZER_JSON

The JSON serializer. Requires PHP 5.2.10+.

Memcached::OPT_PREFIX_KEY

This can be used to create a "domain" for your item keys. The value specified here will be prefixed to each of the keys. It cannot be longer than 128 characters and will reduce the maximum available key size. The prefix is applied only to the item keys, not to the server keys.

Type: string, default: "".

Memcached::OPT_HASH

Specifies the hashing algorithm used for the item keys. The valid values are supplied via Memcached::HASH_* constants. Each hash algorithm has its advantages and its disadvantages. Go with the default if you don't know or don't care.

Type: integer, default: Memcached::HASH_DEFAULT

Memcached::HASH_DEFAULT

The default (Jenkins one-at-a-time) item key hashing algorithm.

Memcached::HASH_MD5

MD5 item key hashing algorithm.

Memcached::HASH_CRC

CRC item key hashing algorithm.

Memcached::HASH_FNV1_64

FNV1_64 item key hashing algorithm.

Memcached::HASH_FNV1A_64

FNV1_64A item key hashing algorithm.

Memcached::HASH_FNV1_32

FNV1_32 item key hashing algorithm.

Memcached::HASH_FNV1A_32

FNV1_32A item key hashing algorithm.

Memcached::HASH_HSIEH

Hsieh item key hashing algorithm.

Memcached::HASH_MURMUR

Murmur item key hashing algorithm.

Memcached::OPT_DISTRIBUTION

Specifies the method of distributing item keys to the servers. Currently supported methods are modulo and consistent hashing. Consistent hashing delivers better distribution and allows servers to be added to the cluster with minimal cache losses.

Type: integer, default: Memcached::DISTRIBUTION_MODULA.

Memcached::DISTRIBUTION_MODULA

Modulo-based key distribution algorithm.

Memcached::DISTRIBUTION_CONSISTENT

Consistent hashing key distribution algorithm (based on libketama).

Memcached::OPT_LIBKETAMA_COMPATIBLE

Enables or disables compatibility with libketama-like behavior. When enabled, the item key hashing algorithm is set to MD5 and distribution is set to be weighted consistent hashing distribution. This is useful because other libketama-based clients (Python, Ruby, etc.) with the same server configuration will be able to access the keys transparently.

Hinweis:

It is highly recommended to enable this option if you want to use consistent hashing, and it may be enabled by default in future releases.

Type: boolean, default: FALSE.

Memcached::OPT_BUFFER_WRITES

Enables or disables buffered I/O. Enabling buffered I/O causes storage commands to "buffer" instead of being sent. Any action that retrieves data causes this buffer to be sent to the remote connection. Quitting the connection or closing down the connection will also cause the buffered data to be pushed to the remote connection.

Type: boolean, default: FALSE.

Memcached::OPT_BINARY_PROTOCOL

Enable the use of the binary protocol. Please note that you cannot toggle this option on an open connection.

Type: boolean, default: FALSE.

Memcached::OPT_NO_BLOCK

Enables or disables asynchronous I/O. This is the fastest transport available for storage functions.

Type: boolean, default: FALSE.

Memcached::OPT_TCP_NODELAY

Enables or disables the no-delay feature for connecting sockets (may be faster in some environments).

Type: boolean, default: FALSE.

Memcached::OPT_SOCKET_SEND_SIZE

The maximum socket send buffer in bytes.

Type: integer, default: varies by platform/kernel configuration.

Memcached::OPT_SOCKET_RECV_SIZE

The maximum socket receive buffer in bytes.

Type: integer, default: varies by platform/kernel configuration.

Memcached::OPT_CONNECT_TIMEOUT

In non-blocking mode this set the value of the timeout during socket connection, in milliseconds.

Type: integer, default: 1000.

Memcached::OPT_RETRY_TIMEOUT

The amount of time, in seconds, to wait until retrying a failed connection attempt.

Type: integer, default: 0.

Memcached::OPT_SEND_TIMEOUT

Socket sending timeout, in microseconds. In cases where you cannot use non-blocking I/O this will allow you to still have timeouts on the sending of data.

Type: integer, default: 0.

Memcached::OPT_RECV_TIMEOUT

Socket reading timeout, in microseconds. In cases where you cannot use non-blocking I/O this will allow you to still have timeouts on the reading of data.

Type: integer, default: 0.

Memcached::OPT_POLL_TIMEOUT

Timeout for connection polling, in milliseconds.

Type: integer, default: 1000.

Memcached::OPT_CACHE_LOOKUPS

Enables or disables caching of DNS lookups.

Type: boolean, default: FALSE.

Memcached::OPT_SERVER_FAILURE_LIMIT

Specifies the failure limit for server connection attempts. The server will be removed after this many continuous connection failures.

Type: integer, default: 0.

Memcached::HAVE_IGBINARY

Indicates whether igbinary serializer support is available.

Type: boolean.

Memcached::HAVE_JSON

Indicates whether JSON serializer support is available.

Type: boolean.

Memcached::GET_PRESERVE_ORDER

A flag for Memcached::getMulti() and Memcached::getMultiByKey() to ensure that the keys are returned in the same order as they were requested in. Non-existing keys get a default value of NULL.

Memcached::RES_SUCCESS

The operation was successful.

Memcached::RES_FAILURE

The operation failed in some fashion.

Memcached::RES_HOST_LOOKUP_FAILURE

DNS lookup failed.

Memcached::RES_UNKNOWN_READ_FAILURE

Failed to read network data.

Memcached::RES_PROTOCOL_ERROR

Bad command in memcached protocol.

Memcached::RES_CLIENT_ERROR

Error on the client side.

Memcached::RES_SERVER_ERROR

Error on the server side.

Memcached::RES_WRITE_FAILURE

Failed to write network data.

Memcached::RES_DATA_EXISTS

Failed to do compare-and-swap: item you are trying to store has been modified since you last fetched it.

Memcached::RES_NOTSTORED

Item was not stored: but not because of an error. This normally means that either the condition for an "add" or a "replace" command wasn't met, or that the item is in a delete queue.

Memcached::RES_NOTFOUND

Item with this key was not found (with "get" operation or "cas" operations).

Memcached::RES_PARTIAL_READ

Partial network data read error.

Memcached::RES_SOME_ERRORS

Some errors occurred during multi-get.

Memcached::RES_NO_SERVERS

Server list is empty.

Memcached::RES_END

End of result set.

Memcached::RES_ERRNO

System error.

Memcached::RES_BUFFERED

The operation was buffered.

Memcached::RES_TIMEOUT

The operation timed out.

Memcached::RES_BAD_KEY_PROVIDED

Bad key.

Memcached::RES_CONNECTION_SOCKET_CREATE_FAILURE

Failed to create network socket.

Memcached::RES_PAYLOAD_FAILURE

Payload failure: could not compress/decompress or serialize/unserialize the value.

Ressource-Typen
Expiration Times
Memcached


Expiration Times

Some storage commands involve sending an expiration value (relative to an item or to an operation requested by the client) to the server. In all such cases, the actual value sent may either be Unix time (number of seconds since January 1, 1970, as an integer), or a number of seconds starting from current time. In the latter case, this number of seconds may not exceed 60*60*24*30 (number of seconds in 30 days); if the expiration value is larger than that, the server will consider it to be real Unix time value rather than an offset from current time.

If the expiration value is 0 (the default), the item never expires (although it may be deleted from the server to make place for other items).

Vordefinierte Konstanten
Callbacks
Memcached


Callbacks

Inhaltsverzeichnis

  • Result callbacks
  • Read-through cache callbacks
Expiration Times
Result callbacks
Memcached


Result callbacks

Result callbacks are invoked by Memcached::getDelayed() or Memcached::getDelayedBykey() methods for each item in the result set. The callback is passed the Memcached object and the array with the item information. The callback does not have to return anything.

Beispiel #1 Result callback example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);
$items = array(
    'key1' => 'value1',
    'key2' => 'value2',
    'key3' => 'value3'
);
$m->setMulti($items);
$m->getDelayed(array('key1', 'key3'), true, 'result_cb');

function result_cb($memc, $item)
{
    var_dump($item);
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(3) {
  ["key"]=>
  string(4) "key1"
  ["value"]=>
  string(6) "value1"
  ["cas"]=>
  float(49)
}
array(3) {
  ["key"]=>
  string(4) "key3"
  ["value"]=>
  string(6) "value3"
  ["cas"]=>
  float(50)
}
Callbacks
Read-through cache callbacks
Callbacks


Read-through cache callbacks

Read-through cache callbacks are invoked when an item cannot be retrieved from the server. The callback is passed the Memcached object, the requested key, and the by-reference value variable. The callback is responsible for setting the value and returning true or false. If the callback returns true, Memcached will store the populated value on the server and return it to the original calling function. Only Memcached::get() and Memcached::getByKey() support these callbacks, because the memcache protocol does not provide information on which keys were not found in the multi-key request.

Beispiel #1 Read-through callback example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$profile_info = $m->get('user:'.$user_id, 'user_info_cb');

function user_info_cb($memc, $key, &$value)
{
    $user_id = substr($key, 5);
    /* lookup profile info in the DB */
    /* ... */
    $value = $profile_info;
    return true;
}
?>
Result callbacks
Sessions support
Callbacks


Sessions support

Memcached provides a custom session handler that can be used to store user sessions in memcache. A completely separate memcached instance is used for that internally, so you can use a different server pool if necessary. The session keys are stored under the prefix memc.sess.key., so be aware of this if you use the same server pool for sessions and generic caching.

session.save_handler string

Set to memcached to enable sessions support.

session.save_path string

Defines a comma separated of hostname:port entries to use for session server pool, for example "sess1:11211, sess2:11211".

Read-through cache callbacks
Memcached
Memcached


The Memcached class

(PECL memcached >= 0.1.0)

Einführung

Represents a connection to a set of memcached servers.

Klassenbeschreibung

Memcached {
public __construct ([ string $persistent_id ] )
public bool add ( string $key , mixed $value [, int $expiration ] )
public bool addByKey ( string $server_key , string $key , mixed $value [, int $expiration ] )
public bool addServer ( string $host , int $port [, int $weight = 0 ] )
public bool addServers ( array $servers )
public bool append ( string $key , string $value )
public bool appendByKey ( string $server_key , string $key , string $value )
public bool cas ( float $cas_token , string $key , mixed $value [, int $expiration ] )
public bool casByKey ( float $cas_token , string $server_key , string $key , mixed $value [, int $expiration ] )
public int decrement ( string $key [, int $offset = 1 [, int $initial_value = 0 [, int $expiry = 0 ]]] )
public int decrementByKey ( string $server_key , string $key [, int $offset = 1 [, int $initial_value = 0 [, int $expiry = 0 ]]] )
public bool delete ( string $key [, int $time = 0 ] )
public bool deleteByKey ( string $server_key , string $key [, int $time = 0 ] )
public array deleteMulti ( array $keys [, int $time = 0 ] )
public bool deleteMultiByKey ( string $server_key , array $keys [, int $time = 0 ] )
public array fetch ( void )
public array fetchAll ( void )
public bool flush ([ int $delay = 0 ] )
public mixed get ( string $key [, callable $cache_cb [, float &$cas_token ]] )
public array getAllKeys ( void )
public mixed getByKey ( string $server_key , string $key [, callable $cache_cb [, float &$cas_token ]] )
public bool getDelayed ( array $keys [, bool $with_cas [, callable $value_cb ]] )
public bool getDelayedByKey ( string $server_key , array $keys [, bool $with_cas [, callable $value_cb ]] )
public mixed getMulti ( array $keys [, array &$cas_tokens [, int $flags ]] )
public array getMultiByKey ( string $server_key , array $keys [, string &$cas_tokens [, int $flags ]] )
public mixed getOption ( int $option )
public int getResultCode ( void )
public string getResultMessage ( void )
public array getServerByKey ( string $server_key )
public array getServerList ( void )
public array getStats ( void )
public array getVersion ( void )
public int increment ( string $key [, int $offset = 1 [, int $initial_value = 0 [, int $expiry = 0 ]]] )
public int incrementByKey ( string $server_key , string $key [, int $offset = 1 [, int $initial_value = 0 [, int $expiry = 0 ]]] )
public bool isPersistent ( void )
public bool isPristine ( void )
public bool prepend ( string $key , string $value )
public bool prependByKey ( string $server_key , string $key , string $value )
public bool quit ( void )
public bool replace ( string $key , mixed $value [, int $expiration ] )
public bool replaceByKey ( string $server_key , string $key , mixed $value [, int $expiration ] )
public bool resetServerList ( void )
public bool set ( string $key , mixed $value [, int $expiration ] )
public bool setByKey ( string $server_key , string $key , mixed $value [, int $expiration ] )
public bool setMulti ( array $items [, int $expiration ] )
public bool setMultiByKey ( string $server_key , array $items [, int $expiration ] )
public bool setOption ( int $option , mixed $value )
public bool setOptions ( array $options )
public void setSaslAuthData ( string $username , string $password )
public bool touch ( string $key , int $expiration )
public bool touchByKey ( string $server_key , string $key , int $expiration )
}

Inhaltsverzeichnis

  • Memcached::add — Add an item under a new key
  • Memcached::addByKey — Add an item under a new key on a specific server
  • Memcached::addServer — Add a server to the server pool
  • Memcached::addServers — Add multiple servers to the server pool
  • Memcached::append — Append data to an existing item
  • Memcached::appendByKey — Append data to an existing item on a specific server
  • Memcached::cas — Compare and swap an item
  • Memcached::casByKey — Compare and swap an item on a specific server
  • Memcached::__construct — Create a Memcached instance
  • Memcached::decrement — Decrement numeric item's value
  • Memcached::decrementByKey — Decrement numeric item's value, stored on a specific server
  • Memcached::delete — Delete an item
  • Memcached::deleteByKey — Delete an item from a specific server
  • Memcached::deleteMulti — Delete multiple items
  • Memcached::deleteMultiByKey — Delete multiple items from a specific server
  • Memcached::fetch — Fetch the next result
  • Memcached::fetchAll — Fetch all the remaining results
  • Memcached::flush — Invalidate all items in the cache
  • Memcached::get — Retrieve an item
  • Memcached::getAllKeys — Gets the keys stored on all the servers
  • Memcached::getByKey — Retrieve an item from a specific server
  • Memcached::getDelayed — Request multiple items
  • Memcached::getDelayedByKey — Request multiple items from a specific server
  • Memcached::getMulti — Retrieve multiple items
  • Memcached::getMultiByKey — Retrieve multiple items from a specific server
  • Memcached::getOption — Retrieve a Memcached option value
  • Memcached::getResultCode — Return the result code of the last operation
  • Memcached::getResultMessage — Return the message describing the result of the last operation
  • Memcached::getServerByKey — Map a key to a server
  • Memcached::getServerList — Get the list of the servers in the pool
  • Memcached::getStats — Get server pool statistics
  • Memcached::getVersion — Get server pool version info
  • Memcached::increment — Increment numeric item's value
  • Memcached::incrementByKey — Increment numeric item's value, stored on a specific server
  • Memcached::isPersistent — Check if a persitent connection to memcache is being used
  • Memcached::isPristine — Check if the instance was recently created
  • Memcached::prepend — Prepend data to an existing item
  • Memcached::prependByKey — Prepend data to an existing item on a specific server
  • Memcached::quit — Close any open connections
  • Memcached::replace — Replace the item under an existing key
  • Memcached::replaceByKey — Replace the item under an existing key on a specific server
  • Memcached::resetServerList — Clears all servers from the server list
  • Memcached::set — Store an item
  • Memcached::setByKey — Store an item on a specific server
  • Memcached::setMulti — Store multiple items
  • Memcached::setMultiByKey — Store multiple items on a specific server
  • Memcached::setOption — Set a Memcached option
  • Memcached::setOptions — Set Memcached options
  • Memcached::setSaslAuthData — Set the credentials to use for authentication
  • Memcached::touch — Set a new expiration on an item
  • Memcached::touchByKey — Set a new expiration on an item on a specific server
Sessions support
Memcached::add
Memcached


Add an item under a new key

Memcached
Memcached::addByKey
Memcached
PHP Manual

Memcached::add

(PECL memcached >= 0.1.0)

Memcached::add — Add an item under a new key

Beschreibung

public bool Memcached::add ( string $key , mixed $value [, int $expiration ] )

Memcached::add() is similar to Memcached::set(), but the operation fails if the key already exists on the server.

Parameter-Liste

key

Der Schlüssel, unter dem der Wert abgelegt werden soll.

value

Der zu speichernde Wert.

expiration

Die Verfallszeit, Vorgabewert ist 0. Siehe Verfallszeiten für weiterführende Informationen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. The Memcached::getResultCode() will return Memcached::RES_NOTSTORED if the key already exists.

Siehe auch

  • Memcached::addByKey() - Add an item under a new key on a specific server
  • Memcached::set() - Store an item
  • Memcached::replace() - Replace the item under an existing key

Memcached
Memcached::addByKey
Memcached


Add an item under a new key on a specific server

Memcached::add
Memcached::addServer
Memcached
PHP Manual

Memcached::addByKey

(PECL memcached >= 0.1.0)

Memcached::addByKey — Add an item under a new key on a specific server

Beschreibung

public bool Memcached::addByKey ( string $server_key , string $key , mixed $value [, int $expiration ] )

Memcached::addByKey() is functionally equivalent to Memcached::add(), except that the free-form server_key can be used to map the key to a specific server. This is useful if you need to keep a bunch of related keys on a certain server.

Parameter-Liste

server_key

Ein Schlüssel, der den Server bestimmt, auf dem die Daten abgelegt oder von dem Daten abgerufen werden sollen. Anstatt den tatsächlichen Schlüssel des Wertes zu hashen wird der Server Key gehasht um den Memcached-Server mit dem gesprochen werden soll ausfindig zu machen. Dies erlaubt es alle zusammengehörigen Daten auf einem einzigen Server abzulegen um multiple Operationen effizienter zu gestalten.

key

Der Schlüssel, unter dem der Wert abgelegt werden soll.

value

Der zu speichernde Wert.

expiration

Die Verfallszeit, Vorgabewert ist 0. Siehe Verfallszeiten für weiterführende Informationen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. The Memcached::getResultCode() will return Memcached::RES_NOTSTORED if the key already exists.

Siehe auch

  • Memcached::add() - Add an item under a new key
  • Memcached::set() - Store an item
  • Memcached::replace() - Replace the item under an existing key

Memcached::add
Memcached::addServer
Memcached


Add a server to the server pool

Memcached::addByKey
Memcached::addServers
Memcached
PHP Manual

Memcached::addServer

(PECL memcached >= 0.1.0)

Memcached::addServer — Add a server to the server pool

Beschreibung

public bool Memcached::addServer ( string $host , int $port [, int $weight = 0 ] )

Memcached::addServer() adds the specified server to the server pool. No connection is established to the server at this time, but if you are using consistent key distribution option (via Memcached::DISTRIBUTION_CONSISTENT or Memcached::OPT_LIBKETAMA_COMPATIBLE), some of the internal data structures will have to be updated. Thus, if you need to add multiple servers, it is better to use Memcached::addServers() as the update then happens only once.

The same server may appear multiple times in the server pool, because no duplication checks are made. This is not advisable; instead, use the weight option to increase the selection weighting of this server.

Parameter-Liste

host

The hostname of the memcache server. If the hostname is invalid, data-related operations will set Memcached::RES_HOST_LOOKUP_FAILURE result code. As of version 2.0.0b1, this parameter may also specify the path of a unix socket filepath ex. /path/to/memcached.sock to use UNIX domain sockets, in this case port must also be set to 0.

port

The port on which memcache is running. Usually, this is 11211. As of version 2.0.0b1, set this parameter to 0 when using UNIX domain sockets.

weight

The weight of the server relative to the total weight of all the servers in the pool. This controls the probability of the server being selected for operations. This is used only with consistent distribution option and usually corresponds to the amount of memory available to memcache on that server.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Memcached::addServer() example

<?php
$m = new Memcached();

/* Add 2 servers, so that the second one
   is twice as likely to be selected. */
$m->addServer('mem1.domain.com', 11211, 33);
$m->addServer('mem2.domain.com', 11211, 67);
?>

Siehe auch

  • Memcached::addServers() - Add multiple servers to the server pool
  • Memcached::resetServerList() - Clears all servers from the server list

Memcached::addByKey
Memcached::addServers
Memcached


Add multiple servers to the server pool

Memcached::addServer
Memcached::append
Memcached
PHP Manual

Memcached::addServers

(PECL memcached >= 0.1.1)

Memcached::addServers — Add multiple servers to the server pool

Beschreibung

public bool Memcached::addServers ( array $servers )

Memcached::addServers() adds servers to the server pool. Each entry in servers is supposed to be an array containing hostname, port, and, optionally, weight of the server. No connection is established to the servers at this time.

The same server may appear multiple times in the server pool, because no duplication checks are made. This is not advisable; instead, use the weight option to increase the selection weighting of this server.

Parameter-Liste

array

Array of the servers to add to the pool.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Memcached::addServers() example

<?php
$m = new Memcached();

$servers = array(
    array('mem1.domain.com', 11211, 33),
    array('mem2.domain.com', 11211, 67)
);
$m->addServers($servers);
?>

Siehe auch

  • Memcached::addServer() - Add a server to the server pool
  • Memcached::resetServerList() - Clears all servers from the server list

Memcached::addServer
Memcached::append
Memcached


Append data to an existing item

Memcached::addServers
Memcached::appendByKey
Memcached
PHP Manual

Memcached::append

(PECL memcached >= 0.1.0)

Memcached::append — Append data to an existing item

Beschreibung

public bool Memcached::append ( string $key , string $value )

Memcached::append() appends the given value string to the value of an existing item. The reason that value is forced to be a string is that appending mixed types is not well-defined.

Hinweis:

If the Memcached::OPT_COMPRESSION is enabled, the operation will fail and a warning will be issued, because appending compressed data to a value that is potentially already compressed is not possible.

Parameter-Liste

key

Der Schlüssel, unter dem der Wert abgelegt werden soll.

value

The string to append.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. The Memcached::getResultCode() will return Memcached::RES_NOTSTORED if the key does not exist.

Beispiele

Beispiel #1 Memcached::append() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);
$m->setOption(Memcached::OPT_COMPRESSION, false);

$m->set('foo', 'abc');
$m->append('foo', 'def');
var_dump($m->get('foo'));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(6) "abcdef"

Siehe auch

  • Memcached::appendByKey() - Append data to an existing item on a specific server
  • Memcached::prepend() - Prepend data to an existing item

Memcached::addServers
Memcached::appendByKey
Memcached


Append data to an existing item on a specific server

Memcached::append
Memcached::cas
Memcached
PHP Manual

Memcached::appendByKey

(PECL memcached >= 0.1.0)

Memcached::appendByKey — Append data to an existing item on a specific server

Beschreibung

public bool Memcached::appendByKey ( string $server_key , string $key , string $value )

Memcached::appendByKey() is functionally equivalent to Memcached::append(), except that the free-form server_key can be used to map the key to a specific server.

Parameter-Liste

server_key

Ein Schlüssel, der den Server bestimmt, auf dem die Daten abgelegt oder von dem Daten abgerufen werden sollen. Anstatt den tatsächlichen Schlüssel des Wertes zu hashen wird der Server Key gehasht um den Memcached-Server mit dem gesprochen werden soll ausfindig zu machen. Dies erlaubt es alle zusammengehörigen Daten auf einem einzigen Server abzulegen um multiple Operationen effizienter zu gestalten.

key

Der Schlüssel, unter dem der Wert abgelegt werden soll.

value

The string to append.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. The Memcached::getResultCode() will return Memcached::RES_NOTSTORED if the key does not exist.

Siehe auch

  • Memcached::append() - Append data to an existing item
  • Memcached::prepend() - Prepend data to an existing item

Memcached::append
Memcached::cas
Memcached


Compare and swap an item

Memcached::appendByKey
Memcached::casByKey
Memcached
PHP Manual

Memcached::cas

(PECL memcached >= 0.1.0)

Memcached::cas — Compare and swap an item

Beschreibung

public bool Memcached::cas ( float $cas_token , string $key , mixed $value [, int $expiration ] )

Memcached::cas() performs a "check and set" operation, so that the item will be stored only if no other client has updated it since it was last fetched by this client. The check is done via the cas_token parameter which is a unique 64-bit value assigned to the existing item by memcache. See the documentation for Memcached::get*() methods for how to obtain this token. Note that the token is represented as a double due to the limitations of PHP's integer space.

Parameter-Liste

cas_token

Unique value associated with the existing item. Generated by memcache.

key

Der Schlüssel, unter dem der Wert abgelegt werden soll.

value

Der zu speichernde Wert.

expiration

Die Verfallszeit, Vorgabewert ist 0. Siehe Verfallszeiten für weiterführende Informationen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. The Memcached::getResultCode() will return Memcached::RES_DATA_EXISTS if the item you are trying to store has been modified since you last fetched it.

Beispiele

Beispiel #1 Memcached::cas() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

do {
    /* fetch IP list and its token */
    $ips = $m->get('ip_block', null, $cas);
    /* if list doesn't exist yet, create it and do
       an atomic add which will fail if someone else already added it */
    if ($m->getResultCode() == Memcached::RES_NOTFOUND) {
        $ips = array($_SERVER['REMOTE_ADDR']);
        $m->add('ip_block', $ips);
    /* otherwise, add IP to the list and store via compare-and-swap
       with the token, which will fail if someone else updated the list */
    } else {
        $ips[] = $_SERVER['REMOTE_ADDR'];
        $m->cas($cas, 'ip_block', $ips);
    }
} while ($m->getResultCode() != Memcached::RES_SUCCESS);

?>

Siehe auch

  • Memcached::casByKey() - Compare and swap an item on a specific server

Memcached::appendByKey
Memcached::casByKey
Memcached


Compare and swap an item on a specific server

Memcached::cas
Memcached::__construct
Memcached
PHP Manual

Memcached::casByKey

(PECL memcached >= 0.1.0)

Memcached::casByKey — Compare and swap an item on a specific server

Beschreibung

public bool Memcached::casByKey ( float $cas_token , string $server_key , string $key , mixed $value [, int $expiration ] )

Memcached::casByKey() is functionally equivalent to Memcached::cas(), except that the free-form server_key can be used to map the key to a specific server. This is useful if you need to keep a bunch of related keys on a certain server.

Parameter-Liste

cas_token

Unique value associated with the existing item. Generated by memcache.

server_key

Ein Schlüssel, der den Server bestimmt, auf dem die Daten abgelegt oder von dem Daten abgerufen werden sollen. Anstatt den tatsächlichen Schlüssel des Wertes zu hashen wird der Server Key gehasht um den Memcached-Server mit dem gesprochen werden soll ausfindig zu machen. Dies erlaubt es alle zusammengehörigen Daten auf einem einzigen Server abzulegen um multiple Operationen effizienter zu gestalten.

key

Der Schlüssel, unter dem der Wert abgelegt werden soll.

value

Der zu speichernde Wert.

expiration

Die Verfallszeit, Vorgabewert ist 0. Siehe Verfallszeiten für weiterführende Informationen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. The Memcached::getResultCode() will return Memcached::RES_DATA_EXISTS if the item you are trying to store has been modified since you last fetched it.

Siehe auch

  • Memcached::cas() - Compare and swap an item

Memcached::cas
Memcached::__construct
Memcached


Create a Memcached instance

Memcached::casByKey
Memcached::decrement
Memcached
PHP Manual

Memcached::__construct

(PECL memcached >= 0.1.0)

Memcached::__construct — Create a Memcached instance

Beschreibung

public Memcached::__construct ([ string $persistent_id ] )

Creates a Memcached instance representing the connection to the memcache servers.

Parameter-Liste

persistent_id

By default the Memcached instances are destroyed at the end of the request. To create an instance that persists between requests, use persistent_id to specify a unique ID for the instance. All instances created with the same persistent_id will share the same connection.

Rückgabewerte

A Memcached object.

Beispiele

Beispiel #1 Creating a Memcached object

<?php
/* Create a regular instance */
$m = new Memcached();
echo get_class($m);

/* Create a persistent instance */
$m2 = new Memcached('story_pool');
$m3 = new Memcached('story_pool');

/* now $m2 and $m3 share the same connection */
?>

Memcached::casByKey
Memcached::decrement
Memcached


Decrement numeric item's value

Memcached::__construct
Memcached::decrementByKey
Memcached
PHP Manual

Memcached::decrement

(PECL memcached >= 0.1.0)

Memcached::decrement — Decrement numeric item's value

Beschreibung

public int Memcached::decrement ( string $key [, int $offset = 1 [, int $initial_value = 0 [, int $expiry = 0 ]]] )

Memcached::decrement() decrements a numeric item's value by the specified offset. If the item's value is not numeric, an error will result. If the operation would decrease the value below 0, the new value will be 0. Memcached::decrement() will set the item to the initial_value parameter if the key doesn't exist.

Parameter-Liste

key

The key of the item to decrement.

offset

The amount by which to decrement the item's value.

initial_value

The value to set the item to if it doesn't currently exist.

expiry

The expiry time to set on the item.

Rückgabewerte

Returns item's new value on successIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 Memcached::decrement() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('counter', 5);
$n = $m->decrement('counter');
var_dump($n);

$n = $m->decrement('counter', 10);
var_dump($n);

var_dump($m->get('counter'));

$m->set('counter', 'abc');
$n = $m->increment('counter');
// ^ will fail due to item value not being numeric
var_dump($n);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(4)
int(0)
int(0)
bool(false)

Siehe auch

  • Memcached::increment() - Increment numeric item's value
  • Memcached::incrementByKey() - Increment numeric item's value, stored on a specific server
  • Memcached::decrementByKey() - Decrement numeric item's value, stored on a specific server

Memcached::__construct
Memcached::decrementByKey
Memcached


Decrement numeric item's value, stored on a specific server

Memcached::decrement
Memcached::delete
Memcached
PHP Manual

Memcached::decrementByKey

(PECL memcached >= 2.0.0)

Memcached::decrementByKey — Decrement numeric item's value, stored on a specific server

Beschreibung

public int Memcached::decrementByKey ( string $server_key , string $key [, int $offset = 1 [, int $initial_value = 0 [, int $expiry = 0 ]]] )

Memcached::decrementByKey() decrements a numeric item's value by the specified offset. If the item's value is not numeric, an error will result. If the operation would decrease the value below 0, the new value will be 0. Memcached::decrementByKey() will set the item to the initial_value parameter if the key doesn't exist.

Parameter-Liste

server_key

Ein Schlüssel, der den Server bestimmt, auf dem die Daten abgelegt oder von dem Daten abgerufen werden sollen. Anstatt den tatsächlichen Schlüssel des Wertes zu hashen wird der Server Key gehasht um den Memcached-Server mit dem gesprochen werden soll ausfindig zu machen. Dies erlaubt es alle zusammengehörigen Daten auf einem einzigen Server abzulegen um multiple Operationen effizienter zu gestalten.

key

The key of the item to decrement.

offset

The amount by which to decrement the item's value.

initial_value

The value to set the item to if it doesn't currently exist.

expiry

The expiry time to set on the item.

Rückgabewerte

Returns item's new value on successIm Fehlerfall wird FALSE zurückgegeben..

Siehe auch

  • Memcached::decrement() - Decrement numeric item's value
  • Memcached::increment() - Increment numeric item's value
  • Memcached::incrementByKey() - Increment numeric item's value, stored on a specific server

Memcached::decrement
Memcached::delete
Memcached


Delete an item

Memcached::decrementByKey
Memcached::deleteByKey
Memcached
PHP Manual

Memcached::delete

(PECL memcached >= 0.1.0)

Memcached::delete — Delete an item

Beschreibung

public bool Memcached::delete ( string $key [, int $time = 0 ] )

Memcached::delete() deletes the key from the server. The time parameter is the amount of time in seconds (or Unix time until which) the client wishes the server to refuse add and replace commands for this key. For this amount of time, the item is put into a delete queue, which means that it won't possible to retrieve it by the get command, but add and replace command with this key will also fail (the set command will succeed, however). After the time passes, the item is finally deleted from server memory. The parameter time defaults to 0 (which means that the item will be deleted immediately and further storage commands with this key will succeed).

Parameter-Liste

key

The key to be deleted.

time

The amount of time the server will wait to delete the item.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. The Memcached::getResultCode() will return Memcached::RES_NOTFOUND if the key does not exist.

Beispiele

Beispiel #1 Memcached::delete() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->delete('key1');
?>

Siehe auch

  • Memcached::deleteByKey() - Delete an item from a specific server
  • Memcached::deleteMulti() - Delete multiple items

Memcached::decrementByKey
Memcached::deleteByKey
Memcached


Delete an item from a specific server

Memcached::delete
Memcached::deleteMulti
Memcached
PHP Manual

Memcached::deleteByKey

(PECL memcached >= 0.1.0)

Memcached::deleteByKey — Delete an item from a specific server

Beschreibung

public bool Memcached::deleteByKey ( string $server_key , string $key [, int $time = 0 ] )

Memcached::deleteByKey() is functionally equivalent to Memcached::delete(), except that the free-form server_key can be used to map the key to a specific server.

Parameter-Liste

server_key

Ein Schlüssel, der den Server bestimmt, auf dem die Daten abgelegt oder von dem Daten abgerufen werden sollen. Anstatt den tatsächlichen Schlüssel des Wertes zu hashen wird der Server Key gehasht um den Memcached-Server mit dem gesprochen werden soll ausfindig zu machen. Dies erlaubt es alle zusammengehörigen Daten auf einem einzigen Server abzulegen um multiple Operationen effizienter zu gestalten.

key

The key to be deleted.

time

The amount of time the server will wait to delete the item.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. The Memcached::getResultCode() will return Memcached::RES_NOTFOUND if the key does not exist.

Siehe auch

  • Memcached::delete() - Delete an item
  • Memcached::deleteMulti() - Delete multiple items
  • Memcached::deleteMultiByKey() - Delete multiple items from a specific server

Memcached::delete
Memcached::deleteMulti
Memcached


Delete multiple items

Memcached::deleteByKey
Memcached::deleteMultiByKey
Memcached
PHP Manual

Memcached::deleteMulti

(PECL memcached >= 2.0.0)

Memcached::deleteMulti — Delete multiple items

Beschreibung

public array Memcached::deleteMulti ( array $keys [, int $time = 0 ] )

Memcached::deleteMulti() deletes the array of keys from the server. The time parameter is the amount of time in seconds (or Unix time until which) the client wishes the server to refuse add and replace commands for these keys. For this amount of time, the item is put into a delete queue, which means that it won't be possible to retrieve it by the get command, but add and replace command with these keys will also fail (the set command will succeed, however). After the time passes, the item is finally deleted from server memory. The parameter time defaults to 0 (which means that the item will be deleted immediately and further storage commands with these keys will succeed).

Parameter-Liste

keys

The keys to be deleted.

time

The amount of time the server will wait to delete the items.

Rückgabewerte

Returns array indexed by keys and where values are indicating whether operation succeeded or not. The Memcached::getResultCode() will return Memcached::RES_NOTFOUND if the key does not exist.

Siehe auch

  • Memcached::delete() - Delete an item
  • Memcached::deleteByKey() - Delete an item from a specific server
  • Memcached::deleteMultiByKey() - Delete multiple items from a specific server

Memcached::deleteByKey
Memcached::deleteMultiByKey
Memcached


Delete multiple items from a specific server

Memcached::deleteMulti
Memcached::fetch
Memcached
PHP Manual

Memcached::deleteMultiByKey

(PECL memcached >= 2.0.0)

Memcached::deleteMultiByKey — Delete multiple items from a specific server

Beschreibung

public bool Memcached::deleteMultiByKey ( string $server_key , array $keys [, int $time = 0 ] )

Memcached::deleteMultiByKey() is functionally equivalent to Memcached::deleteMulti(), except that the free-form server_key can be used to map the keys to a specific server.

Parameter-Liste

server_key

Ein Schlüssel, der den Server bestimmt, auf dem die Daten abgelegt oder von dem Daten abgerufen werden sollen. Anstatt den tatsächlichen Schlüssel des Wertes zu hashen wird der Server Key gehasht um den Memcached-Server mit dem gesprochen werden soll ausfindig zu machen. Dies erlaubt es alle zusammengehörigen Daten auf einem einzigen Server abzulegen um multiple Operationen effizienter zu gestalten.

keys

The keys to be deleted.

time

The amount of time the server will wait to delete the items.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. The Memcached::getResultCode() will return Memcached::RES_NOTFOUND if the key does not exist.

Siehe auch

  • Memcached::delete() - Delete an item
  • Memcached::deleteByKey() - Delete an item from a specific server
  • Memcached::deleteMulti() - Delete multiple items

Memcached::deleteMulti
Memcached::fetch
Memcached


Fetch the next result

Memcached::deleteMultiByKey
Memcached::fetchAll
Memcached
PHP Manual

Memcached::fetch

(PECL memcached >= 0.1.0)

Memcached::fetch — Fetch the next result

Beschreibung

public array Memcached::fetch ( void )

Memcached::fetch() retrieves the next result from the last request.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the next result or FALSE otherwise. The Memcached::getResultCode() will return Memcached::RES_END if result set is exhausted.

Beispiele

Beispiel #1 Memcached::fetch() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('int', 99);
$m->set('string', 'a simple string');
$m->set('array', array(11, 12));

$m->getDelayed(array('int', 'array'), true);
while ($result = $m->fetch()) {
    var_dump($result);
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(3) {
  ["key"]=>
  string(3) "int"
  "value"]=>
  int(99)
  ["cas"]=>
  float(2363)
}
array(3) {
  ["key"]=>
  string(5) "array"
  ["value"]=>
  array(2) {
    [0]=>
    int(11)
    [1]=>
    int(12)
  }
  ["cas"]=>
  float(2365)
}

Siehe auch

  • Memcached::fetchAll() - Fetch all the remaining results
  • Memcached::getDelayed() - Request multiple items

Memcached::deleteMultiByKey
Memcached::fetchAll
Memcached


Fetch all the remaining results

Memcached::fetch
Memcached::flush
Memcached
PHP Manual

Memcached::fetchAll

(PECL memcached >= 0.1.0)

Memcached::fetchAll — Fetch all the remaining results

Beschreibung

public array Memcached::fetchAll ( void )

Memcached::fetchAll() retrieves all the remaining results from the last request.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the resultsIm Fehlerfall wird FALSE zurückgegeben.. Benutzen Sie wenn nötig Memcached::getResultCode().

Beispiele

Beispiel #1 Memcached::getDelayed() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('int', 99);
$m->set('string', 'a simple string');
$m->set('array', array(11, 12));

$m->getDelayed(array('int', 'array'), true);
var_dump($m->fetchAll());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  [0]=>
  array(3) {
    ["key"]=>
    string(3) "int"
    ["value"]=>
    int(99)
    ["cas"]=>
    float(2363)
  }
  [1]=>
  array(3) {
    ["key"]=>
    string(5) "array"
    ["value"]=>
    array(2) {
      [0]=>
      int(11)
      [1]=>
      int(12)
    }
    ["cas"]=>
    float(2365)
  }
}

Siehe auch

  • Memcached::fetch() - Fetch the next result
  • Memcached::getDelayed() - Request multiple items

Memcached::fetch
Memcached::flush
Memcached


Invalidate all items in the cache

Memcached::fetchAll
Memcached::get
Memcached
PHP Manual

Memcached::flush

(PECL memcached >= 0.1.0)

Memcached::flush — Invalidate all items in the cache

Beschreibung

public bool Memcached::flush ([ int $delay = 0 ] )

Memcached::flush() invalidates all existing cache items immediately (by default) or after the delay specified. After invalidation none of the items will be returned in response to a retrieval command (unless it's stored again under the same key after Memcached::flush() has invalidated the items). The flush does not actually free all the memory taken up by the existing items; that will happen gradually as new items are stored.

Parameter-Liste

delay

Number of seconds to wait before invalidating the items.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. Benutzen Sie wenn nötig Memcached::getResultCode().

Beispiele

Beispiel #1 Memcached::flush() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

/* flush all items in 10 seconds */
$m->flush(10);
?>

Memcached::fetchAll
Memcached::get
Memcached


Retrieve an item

Memcached::flush
Memcached::getAllKeys
Memcached
PHP Manual

Memcached::get

(PECL memcached >= 0.1.0)

Memcached::get — Retrieve an item

Beschreibung

public mixed Memcached::get ( string $key [, callable $cache_cb [, float &$cas_token ]] )

Memcached::get() returns the item that was previously stored under the key. If the item is found and cas_token variable is provided, it will contain the CAS token value for the item. See Memcached::cas() for how to use CAS tokens. Read-through caching callback may be specified via cache_cb parameter.

Parameter-Liste

key

The key of the item to retrieve.

cache_cb

Read-through caching callback or NULL.

cas_token

The variable to store the CAS token in.

Rückgabewerte

Returns the value stored in the cache or FALSE otherwise. The Memcached::getResultCode() will return Memcached::RES_NOTFOUND if the key does not exist.

Beispiele

Beispiel #1 Memcached::get() example #1

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('foo', 100);
var_dump($m->get('foo'));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(100)

Beispiel #2 Memcached::get() example #2

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

if (!($ip = $m->get('ip_block'))) {
    if ($m->getResultCode() == Memcached::RES_NOTFOUND) {
        $ip = array();
        $m->set('ip_block', $ip);
    } else {
        /* log error */
        /* ...       */
    }
}
?>

Siehe auch

  • Memcached::getByKey() - Retrieve an item from a specific server
  • Memcached::getMulti() - Retrieve multiple items
  • Memcached::getDelayed() - Request multiple items

Memcached::flush
Memcached::getAllKeys
Memcached


Gets the keys stored on all the servers

Memcached::get
Memcached::getByKey
Memcached
PHP Manual

Memcached::getAllKeys

(PECL memcached >= 2.0.0)

Memcached::getAllKeys — Gets the keys stored on all the servers

Beschreibung

public array Memcached::getAllKeys ( void )

Memcached::getAllKeys() queries each memcache server and retrieves an array of all keys stored on them at that point in time. This is not an atomic operation, so it isn't a truly consistent snapshot of the keys at point in time. As memcache doesn't guarantee to return all keys you also cannot assume that all keys have been returned.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the keys stored on all the servers on successIm Fehlerfall wird FALSE zurückgegeben..

Memcached::get
Memcached::getByKey
Memcached


Retrieve an item from a specific server

Memcached::getAllKeys
Memcached::getDelayed
Memcached
PHP Manual

Memcached::getByKey

(PECL memcached >= 0.1.0)

Memcached::getByKey — Retrieve an item from a specific server

Beschreibung

public mixed Memcached::getByKey ( string $server_key , string $key [, callable $cache_cb [, float &$cas_token ]] )

Memcached::getByKey() is functionally equivalent to Memcached::get(), except that the free-form server_key can be used to map the key to a specific server.

Parameter-Liste

server_key

Ein Schlüssel, der den Server bestimmt, auf dem die Daten abgelegt oder von dem Daten abgerufen werden sollen. Anstatt den tatsächlichen Schlüssel des Wertes zu hashen wird der Server Key gehasht um den Memcached-Server mit dem gesprochen werden soll ausfindig zu machen. Dies erlaubt es alle zusammengehörigen Daten auf einem einzigen Server abzulegen um multiple Operationen effizienter zu gestalten.

key

The key of the item to fetch.

cache_cb

Read-through caching callback or NULL

cas_token

The variable to store the CAS token in.

Rückgabewerte

Returns the value stored in the cache or FALSE otherwise. The Memcached::getResultCode() will return Memcached::RES_NOTFOUND if the key does not exist.

Siehe auch

  • Memcached::get() - Retrieve an item
  • Memcached::getMulti() - Retrieve multiple items
  • Memcached::getDelayed() - Request multiple items

Memcached::getAllKeys
Memcached::getDelayed
Memcached


Request multiple items

Memcached::getByKey
Memcached::getDelayedByKey
Memcached
PHP Manual

Memcached::getDelayed

(PECL memcached >= 0.1.0)

Memcached::getDelayed — Request multiple items

Beschreibung

public bool Memcached::getDelayed ( array $keys [, bool $with_cas [, callable $value_cb ]] )

Memcached::getDelayed() issues a request to memcache for multiple items the keys of which are specified in the keys array. The method does not wait for response and returns right away. When you are ready to collect the items, call either Memcached::fetch() or Memcached::fetchAll(). If with_cas is true, the CAS token values will also be requested.

Instead of fetching the results explicitly, you can specify a result callback via value_cb parameter.

Parameter-Liste

keys

Array of keys to request.

with_cas

Whether to request CAS token values also.

value_cb

The result callback or NULL.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. Benutzen Sie wenn nötig Memcached::getResultCode().

Beispiele

Beispiel #1 Memcached::getDelayed() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('int', 99);
$m->set('string', 'a simple string');
$m->set('array', array(11, 12));

$m->getDelayed(array('int', 'array'), true);
var_dump($m->fetchAll());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  [0]=>
  array(3) {
    ["key"]=>
    string(3) "int"
    ["value"]=>
    int(99)
    ["cas"]=>
    float(2363)
  }
  [1]=>
  array(3) {
    ["key"]=>
    string(5) "array"
    ["value"]=>
    array(2) {
      [0]=>
      int(11)
      [1]=>
      int(12)
    }
    ["cas"]=>
    float(2365)
  }
}

Siehe auch

  • Memcached::getDelayedByKey() - Request multiple items from a specific server
  • Memcached::fetch() - Fetch the next result
  • Memcached::fetchAll() - Fetch all the remaining results

Memcached::getByKey
Memcached::getDelayedByKey
Memcached


Request multiple items from a specific server

Memcached::getDelayed
Memcached::getMulti
Memcached
PHP Manual

Memcached::getDelayedByKey

(PECL memcached >= 0.1.0)

Memcached::getDelayedByKey — Request multiple items from a specific server

Beschreibung

public bool Memcached::getDelayedByKey ( string $server_key , array $keys [, bool $with_cas [, callable $value_cb ]] )

Memcached::getDelayedByKey() is functionally equivalent to Memcached::getDelayed(), except that the free-form server_key can be used to map the keys to a specific server.

Parameter-Liste

server_key

Ein Schlüssel, der den Server bestimmt, auf dem die Daten abgelegt oder von dem Daten abgerufen werden sollen. Anstatt den tatsächlichen Schlüssel des Wertes zu hashen wird der Server Key gehasht um den Memcached-Server mit dem gesprochen werden soll ausfindig zu machen. Dies erlaubt es alle zusammengehörigen Daten auf einem einzigen Server abzulegen um multiple Operationen effizienter zu gestalten.

keys

Array of keys to request.

with_cas

Whether to request CAS token values also.

value_cb

The result callback or NULL.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. Benutzen Sie wenn nötig Memcached::getResultCode().

Siehe auch

  • Memcached::getDelayed() - Request multiple items
  • Memcached::fetch() - Fetch the next result
  • Memcached::fetchAll() - Fetch all the remaining results

Memcached::getDelayed
Memcached::getMulti
Memcached


Retrieve multiple items

Memcached::getDelayedByKey
Memcached::getMultiByKey
Memcached
PHP Manual

Memcached::getMulti

(PECL memcached >= 0.1.0)

Memcached::getMulti — Retrieve multiple items

Beschreibung

public mixed Memcached::getMulti ( array $keys [, array &$cas_tokens [, int $flags ]] )

Memcached::getMulti() is similar to Memcached::get(), but instead of a single key item, it retrieves multiple items the keys of which are specified in the keys array. If cas_tokens variable is provided, it is filled with the CAS token values for the found items.

Hinweis:

Unlike Memcached::get() it is not possible to specify a read-through cache callback for Memcached::getMulti(), because the memcache protocol does not provide information on which keys were not found in the multi-key request.

The flags parameter can be used to specify additional options for Memcached::getMulti(). Currently, the only available option is Memcached::GET_PRESERVE_ORDER that ensures that the keys are returned in the same order as they were requested in.

Parameter-Liste

keys

Array of keys to retrieve.

cas_tokens

The variable to store the CAS tokens for the found items.

flags

The flags for the get operation.

Rückgabewerte

Returns the array of found itemsIm Fehlerfall wird FALSE zurückgegeben.. Benutzen Sie wenn nötig Memcached::getResultCode().

Beispiele

Beispiel #1 Memcached::getMulti() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$items = array(
    'key1' => 'value1',
    'key2' => 'value2',
    'key3' => 'value3'
);
$m->setMulti($items);
$result = $m->getMulti(array('key1', 'key3', 'badkey'), $cas);
var_dump($result, $cas);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(2) {
  ["key1"]=>
  string(6) "value1"
  ["key3"]=>
  string(6) "value3"
}
array(2) {
  ["key1"]=>
  float(2360)
  ["key3"]=>
  float(2362)
}

Beispiel #2 Memcached::GET_PRESERVE_ORDER example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$data = array(
    'foo' => 'foo-data',
    'bar' => 'bar-data',
    'baz' => 'baz-data',
    'lol' => 'lol-data',
    'kek' => 'kek-data',
);

$m->setMulti($data, 3600);

$null = null;
$keys = array_keys($data);
$keys[] = 'zoo';
$got = $m->getMulti($keys, $null, Memcached::GET_PRESERVE_ORDER);

foreach ($got as $k => $v) {
    echo "$k $v\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

foo foo-data
bar bar-data
baz baz-data
lol lol-data
kek kek-data
zoo

Siehe auch

  • Memcached::getMultiByKey() - Retrieve multiple items from a specific server
  • Memcached::get() - Retrieve an item
  • Memcached::getDelayed() - Request multiple items

Memcached::getDelayedByKey
Memcached::getMultiByKey
Memcached


Retrieve multiple items from a specific server

Memcached::getMulti
Memcached::getOption
Memcached
PHP Manual

Memcached::getMultiByKey

(PECL memcached >= 0.1.0)

Memcached::getMultiByKey — Retrieve multiple items from a specific server

Beschreibung

public array Memcached::getMultiByKey ( string $server_key , array $keys [, string &$cas_tokens [, int $flags ]] )

Memcached::getMultiByKey() is functionally equivalent to Memcached::getMulti(), except that the free-form server_key can be used to map the keys to a specific server.

Parameter-Liste

server_key

Ein Schlüssel, der den Server bestimmt, auf dem die Daten abgelegt oder von dem Daten abgerufen werden sollen. Anstatt den tatsächlichen Schlüssel des Wertes zu hashen wird der Server Key gehasht um den Memcached-Server mit dem gesprochen werden soll ausfindig zu machen. Dies erlaubt es alle zusammengehörigen Daten auf einem einzigen Server abzulegen um multiple Operationen effizienter zu gestalten.

keys

Array of keys to retrieve.

cas_tokens

The variable to store the CAS tokens for the found items.

flags

The flags for the get operation.

Rückgabewerte

Returns the array of found itemsIm Fehlerfall wird FALSE zurückgegeben.. Benutzen Sie wenn nötig Memcached::getResultCode().

Siehe auch

  • Memcached::getMulti() - Retrieve multiple items
  • Memcached::get() - Retrieve an item
  • Memcached::getDelayed() - Request multiple items

Memcached::getMulti
Memcached::getOption
Memcached


Retrieve a Memcached option value

Memcached::getMultiByKey
Memcached::getResultCode
Memcached
PHP Manual

Memcached::getOption

(PECL memcached >= 0.1.0)

Memcached::getOption — Retrieve a Memcached option value

Beschreibung

public mixed Memcached::getOption ( int $option )

This method returns the value of a Memcached option. Some options correspond to the ones defined by libmemcached, and some are specific to the extension. See Memcached Constants for more information.

Parameter-Liste

option

One of the Memcached::OPT_* constants.

Rückgabewerte

Returns the value of the requested option, or FALSE on error.

Beispiele

Beispiel #1 Retrieving Memcached options

<?php
$m = new Memcached();
var_dump($m->getOption(Memcached::OPT_COMPRESSION));
var_dump($m->getOption(Memcached::OPT_POLL_TIMEOUT));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(true)
int(1000)

Siehe auch

  • Memcached::getOption()
  • Memcached::setOption() - Set a Memcached option
  • Memcached Constants

Memcached::getMultiByKey
Memcached::getResultCode
Memcached


Return the result code of the last operation

Memcached::getOption
Memcached::getResultMessage
Memcached
PHP Manual

Memcached::getResultCode

(PECL memcached >= 0.1.0)

Memcached::getResultCode — Return the result code of the last operation

Beschreibung

public int Memcached::getResultCode ( void )

Memcached::getResultCode() returns one of the Memcached::RES_* constants that is the result of the last executed Memcached method.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Result code of the last Memcached operation.

Beispiele

Beispiel #1 Memcached::getResultCode() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->add('foo', 'bar');
if ($m->getResultCode() == Memcached::RES_NOTSTORED) {
    /* ... */
}
?>

Memcached::getOption
Memcached::getResultMessage
Memcached


Return the message describing the result of the last operation

Memcached::getResultCode
Memcached::getServerByKey
Memcached
PHP Manual

Memcached::getResultMessage

(PECL memcached >= 1.0.0)

Memcached::getResultMessage — Return the message describing the result of the last operation

Beschreibung

public string Memcached::getResultMessage ( void )

Memcached::getResultMessage() returns a string that describes the result code of the last executed Memcached method.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Message describing the result of the last Memcached operation.

Beispiele

Beispiel #1 Memcached::getResultMessage() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->add('foo', 'bar'); // first time should succeed
$m->add('foo', 'bar');
echo $m->getResultMessage(),"\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

NOT STORED

Memcached::getResultCode
Memcached::getServerByKey
Memcached


Map a key to a server

Memcached::getResultMessage
Memcached::getServerList
Memcached
PHP Manual

Memcached::getServerByKey

(PECL memcached >= 0.1.0)

Memcached::getServerByKey — Map a key to a server

Beschreibung

public array Memcached::getServerByKey ( string $server_key )

Memcached::getServerByKey() returns the server that would be selected by a particular server_key in all the Memcached::*ByKey() operations.

Parameter-Liste

server_key

Ein Schlüssel, der den Server bestimmt, auf dem die Daten abgelegt oder von dem Daten abgerufen werden sollen. Anstatt den tatsächlichen Schlüssel des Wertes zu hashen wird der Server Key gehasht um den Memcached-Server mit dem gesprochen werden soll ausfindig zu machen. Dies erlaubt es alle zusammengehörigen Daten auf einem einzigen Server abzulegen um multiple Operationen effizienter zu gestalten.

Rückgabewerte

Returns an array containing three keys of host, port, and weight on success or FALSE on failure. Benutzen Sie wenn nötig Memcached::getResultCode().

Beispiele

Beispiel #1 Memcached::getServerByKey() example

<?php
$m = new Memcached();
$m->addServers(array(
    array('mem1.domain.com', 11211, 40),
    array('mem2.domain.com', 11211, 40),
    array('mem3.domain.com', 11211, 20),
));

$m->setOption(Memcached::OPT_LIBKETAMA_COMPATIBLE, true);

var_dump($m->getServerByKey('user'));
var_dump($m->getServerByKey('log'));
var_dump($m->getServerByKey('ip'));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(3) {
  ["host"]=>
  string(15) "mem3.domain.com"
  ["port"]=>
  int(11211)
  ["weight"]=>
  int(20)
}
array(3) {
  ["host"]=>
  string(15) "mem2.domain.com"
  ["port"]=>
  int(11211)
  ["weight"]=>
  int(40)
}
array(3) {
  ["host"]=>
  string(15) "mem2.domain.com"
  ["port"]=>
  int(11211)
  ["weight"]=>
  int(40)
}

Memcached::getResultMessage
Memcached::getServerList
Memcached


Get the list of the servers in the pool

Memcached::getServerByKey
Memcached::getStats
Memcached
PHP Manual

Memcached::getServerList

(PECL memcached >= 0.1.0)

Memcached::getServerList — Get the list of the servers in the pool

Beschreibung

public array Memcached::getServerList ( void )

Memcached::getServerList() returns the list of all servers that are in its server pool.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The list of all servers in the server pool.

Beispiele

Beispiel #1 Memcached::getServerList() example

<?php
$m = new Memcached();
$m->addServers(array(
    array('mem1.domain.com', 11211, 20),
    array('mem2.domain.com', 11311, 80),
));
var_dump($m->getServerList());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  [0]=>
  array(3) {
    ["host"]=>
    string(15) "mem1.domain.com"
    ["port"]=>
    int(11211)
    ["weight"]=>
    int(20)
  }
  [1]=>
  array(3) {
    ["host"]=>
    string(15) "mem2.domain.com"
    ["port"]=>
    int(11311)
    ["weight"]=>
    int(80)
  }
}

Memcached::getServerByKey
Memcached::getStats
Memcached


Get server pool statistics

Memcached::getServerList
Memcached::getVersion
Memcached
PHP Manual

Memcached::getStats

(PECL memcached >= 0.1.0)

Memcached::getStats — Get server pool statistics

Beschreibung

public array Memcached::getStats ( void )

Memcached::getStats() returns an array containing the state of all available memcache servers. See » memcache protocol specification for details on these statistics.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Array of server statistics, one entry per server.

Beispiele

Beispiel #1 Memcached::getStats() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

print_r($m->getStats());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [localhost:11211] => Array
        (
            [pid] => 4933
            [uptime] => 786123
            [threads] => 1
            [time] => 1233868010
            [pointer_size] => 32
            [rusage_user_seconds] => 0
            [rusage_user_microseconds] => 140000
            [rusage_system_seconds] => 23
            [rusage_system_microseconds] => 210000
            [curr_items] => 145
            [total_items] => 2374
            [limit_maxbytes] => 67108864
            [curr_connections] => 2
            [total_connections] => 151
            [connection_structures] => 3
            [bytes] => 20345
            [cmd_get] => 213343
            [cmd_set] => 2381
            [get_hits] => 204223
            [get_misses] => 9120
            [evictions] => 0
            [bytes_read] => 9092476
            [bytes_written] => 15420512
            [version] => 1.2.6
        )

)

Memcached::getServerList
Memcached::getVersion
Memcached


Get server pool version info

Memcached::getStats
Memcached::increment
Memcached
PHP Manual

Memcached::getVersion

(PECL memcached >= 0.1.5)

Memcached::getVersion — Get server pool version info

Beschreibung

public array Memcached::getVersion ( void )

Memcached::getVersion() returns an array containing the version info for all available memcache servers.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Array of server versions, one entry per server.

Beispiele

Beispiel #1 Memcached::getVersion() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

print_r($m->getVersion());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [localhost:11211] => 1.2.6
)

Memcached::getStats
Memcached::increment
Memcached


Increment numeric item's value

Memcached::getVersion
Memcached::incrementByKey
Memcached
PHP Manual

Memcached::increment

(PECL memcached >= 0.1.0)

Memcached::increment — Increment numeric item's value

Beschreibung

public int Memcached::increment ( string $key [, int $offset = 1 [, int $initial_value = 0 [, int $expiry = 0 ]]] )

Memcached::increment() increments a numeric item's value by the specified offset. If the item's value is not numeric, an error will result. Memcached::increment() will set the item to the initial_value parameter if the key doesn't exist.

Parameter-Liste

key

The key of the item to increment.

offset

The amount by which to increment the item's value.

initial_value

The value to set the item to if it doesn't currently exist.

expiry

The expiry time to set on the item.

Rückgabewerte

Returns new item's value on successIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 Memcached::increment() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('counter', 0);
$m->increment('counter');
$n = $m->increment('counter', 10);
var_dump($n);

$m->set('counter', 'abc');
$n = $m->increment('counter');
// ^ will fail due to item value not being numeric
var_dump($n);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(11)
bool(false)

Siehe auch

  • Memcached::decrement() - Decrement numeric item's value
  • Memcached::decrementByKey() - Decrement numeric item's value, stored on a specific server
  • Memcached::incrementByKey() - Increment numeric item's value, stored on a specific server

Memcached::getVersion
Memcached::incrementByKey
Memcached


Increment numeric item's value, stored on a specific server

Memcached::increment
Memcached::isPersistent
Memcached
PHP Manual

Memcached::incrementByKey

(PECL memcached >= 2.0.0)

Memcached::incrementByKey — Increment numeric item's value, stored on a specific server

Beschreibung

public int Memcached::incrementByKey ( string $server_key , string $key [, int $offset = 1 [, int $initial_value = 0 [, int $expiry = 0 ]]] )

Memcached::incrementByKey() increments a numeric item's value by the specified offset. If the item's value is not numeric, an error will result. Memcached::incrementByKey() will set the item to the initial_value parameter if the key doesn't exist.

Parameter-Liste

server_key

Ein Schlüssel, der den Server bestimmt, auf dem die Daten abgelegt oder von dem Daten abgerufen werden sollen. Anstatt den tatsächlichen Schlüssel des Wertes zu hashen wird der Server Key gehasht um den Memcached-Server mit dem gesprochen werden soll ausfindig zu machen. Dies erlaubt es alle zusammengehörigen Daten auf einem einzigen Server abzulegen um multiple Operationen effizienter zu gestalten.

key

The key of the item to increment.

offset

The amount by which to increment the item's value.

initial_value

The value to set the item to if it doesn't currently exist.

expiry

The expiry time to set on the item.

Rückgabewerte

Returns new item's value on successIm Fehlerfall wird FALSE zurückgegeben..

Siehe auch

  • Memcached::decrement() - Decrement numeric item's value
  • Memcached::decrementByKey() - Decrement numeric item's value, stored on a specific server
  • Memcached::increment() - Increment numeric item's value

Memcached::increment
Memcached::isPersistent
Memcached


Check if a persitent connection to memcache is being used

Memcached::incrementByKey
Memcached::isPristine
Memcached
PHP Manual

Memcached::isPersistent

(PECL memcached >= 2.0.0)

Memcached::isPersistent — Check if a persitent connection to memcache is being used

Beschreibung

public bool Memcached::isPersistent ( void )

Memcached::isPersistent() checks if the connections to the memcache servers are persistent connections.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns true if Memcache instance uses a persistent connection, false otherwise.

Siehe auch

  • Memcached::isPristine() - Check if the instance was recently created

Memcached::incrementByKey
Memcached::isPristine
Memcached


Check if the instance was recently created

Memcached::isPersistent
Memcached::prepend
Memcached
PHP Manual

Memcached::isPristine

(PECL memcached >= 2.0.0)

Memcached::isPristine — Check if the instance was recently created

Beschreibung

public bool Memcached::isPristine ( void )

Memcached::isPristine() checks if the Memcache instance was recently created.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the true if instance is recently created, false otherwise.

Siehe auch

  • Memcached::isPersistent() - Check if a persitent connection to memcache is being used

Memcached::isPersistent
Memcached::prepend
Memcached


Prepend data to an existing item

Memcached::isPristine
Memcached::prependByKey
Memcached
PHP Manual

Memcached::prepend

(PECL memcached >= 0.1.0)

Memcached::prepend — Prepend data to an existing item

Beschreibung

public bool Memcached::prepend ( string $key , string $value )

Memcached::prepend() prepends the given value string to the value of an existing item. The reason that value is forced to be a string is that prepending mixed types is not well-defined.

Hinweis:

If the Memcached::OPT_COMPRESSION is enabled, the operation will fail and a warning will be issued, because prepending compressed data to a value that is potentially already compressed is not possible.

Parameter-Liste

key

The key of the item to prepend the data to.

value

The string to prepend.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. The Memcached::getResultCode() will return Memcached::RES_NOTSTORED if the key does not exist.

Beispiele

Beispiel #1 Memcached::prepend() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);
$m->setOption(Memcached::OPT_COMPRESSION, false);

$m->set('foo', 'abc');
$m->prepend('foo', 'def');
var_dump($m->get('foo'));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(6) "defabc"

Siehe auch

  • Memcached::prependByKey() - Prepend data to an existing item on a specific server
  • Memcached::append() - Append data to an existing item

Memcached::isPristine
Memcached::prependByKey
Memcached


Prepend data to an existing item on a specific server

Memcached::prepend
Memcached::quit
Memcached
PHP Manual

Memcached::prependByKey

(PECL memcached >= 0.1.0)

Memcached::prependByKey — Prepend data to an existing item on a specific server

Beschreibung

public bool Memcached::prependByKey ( string $server_key , string $key , string $value )

Memcached::prependByKey() is functionally equivalent to Memcached::prepend(), except that the free-form server_key can be used to map the key to a specific server.

Parameter-Liste

server_key

Ein Schlüssel, der den Server bestimmt, auf dem die Daten abgelegt oder von dem Daten abgerufen werden sollen. Anstatt den tatsächlichen Schlüssel des Wertes zu hashen wird der Server Key gehasht um den Memcached-Server mit dem gesprochen werden soll ausfindig zu machen. Dies erlaubt es alle zusammengehörigen Daten auf einem einzigen Server abzulegen um multiple Operationen effizienter zu gestalten.

key

The key of the item to prepend the data to.

value

The string to prepend.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. The Memcached::getResultCode() will return Memcached::RES_NOTSTORED if the key does not exist.

Siehe auch

  • Memcached::prepend() - Prepend data to an existing item
  • Memcached::append() - Append data to an existing item

Memcached::prepend
Memcached::quit
Memcached


Close any open connections

Memcached::prependByKey
Memcached::replace
Memcached
PHP Manual

Memcached::quit

(PECL memcached >= 2.0.0)

Memcached::quit — Close any open connections

Beschreibung

public bool Memcached::quit ( void )

Memcached::quit() closes any open connections to the memcache servers.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Memcached::prependByKey
Memcached::replace
Memcached


Replace the item under an existing key

Memcached::quit
Memcached::replaceByKey
Memcached
PHP Manual

Memcached::replace

(PECL memcached >= 0.1.0)

Memcached::replace — Replace the item under an existing key

Beschreibung

public bool Memcached::replace ( string $key , mixed $value [, int $expiration ] )

Memcached::replace() is similar to Memcached::set(), but the operation fails if the key does not exist on the server.

Parameter-Liste

key

Der Schlüssel, unter dem der Wert abgelegt werden soll.

value

Der zu speichernde Wert.

expiration

Die Verfallszeit, Vorgabewert ist 0. Siehe Verfallszeiten für weiterführende Informationen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. The Memcached::getResultCode() will return Memcached::RES_NOTSTORED if the key does not exist.

Siehe auch

  • Memcached::replaceByKey() - Replace the item under an existing key on a specific server
  • Memcached::set() - Store an item
  • Memcached::add() - Add an item under a new key

Memcached::quit
Memcached::replaceByKey
Memcached


Replace the item under an existing key on a specific server

Memcached::replace
Memcached::resetServerList
Memcached
PHP Manual

Memcached::replaceByKey

(PECL memcached >= 0.1.0)

Memcached::replaceByKey — Replace the item under an existing key on a specific server

Beschreibung

public bool Memcached::replaceByKey ( string $server_key , string $key , mixed $value [, int $expiration ] )

Memcached::replaceByKey() is functionally equivalent to Memcached::replace(), except that the free-form server_key can be used to map the key to a specific server. This is useful if you need to keep a bunch of related keys on a certain server.

Parameter-Liste

server_key

Ein Schlüssel, der den Server bestimmt, auf dem die Daten abgelegt oder von dem Daten abgerufen werden sollen. Anstatt den tatsächlichen Schlüssel des Wertes zu hashen wird der Server Key gehasht um den Memcached-Server mit dem gesprochen werden soll ausfindig zu machen. Dies erlaubt es alle zusammengehörigen Daten auf einem einzigen Server abzulegen um multiple Operationen effizienter zu gestalten.

key

Der Schlüssel, unter dem der Wert abgelegt werden soll.

value

Der zu speichernde Wert.

expiration

Die Verfallszeit, Vorgabewert ist 0. Siehe Verfallszeiten für weiterführende Informationen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. The Memcached::getResultCode() will return Memcached::RES_NOTSTORED if the key does not exist.

Siehe auch

  • Memcached::replace() - Replace the item under an existing key
  • Memcached::set() - Store an item
  • Memcached::add() - Add an item under a new key

Memcached::replace
Memcached::resetServerList
Memcached


Clears all servers from the server list

Memcached::replaceByKey
Memcached::set
Memcached
PHP Manual

Memcached::resetServerList

(PECL memcached >= 2.0.0)

Memcached::resetServerList — Clears all servers from the server list

Beschreibung

public bool Memcached::resetServerList ( void )

Memcached::resetserverlist() removes all memcache servers from the known server list, reseting it back to empty.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • Memcached::addServer() - Add a server to the server pool
  • Memcached::addServers() - Add multiple servers to the server pool

Memcached::replaceByKey
Memcached::set
Memcached


Store an item

Memcached::resetServerList
Memcached::setByKey
Memcached
PHP Manual

Memcached::set

(PECL memcached >= 0.1.0)

Memcached::set — Store an item

Beschreibung

public bool Memcached::set ( string $key , mixed $value [, int $expiration ] )

Memcached::set() stores the value on a memcache server under the specified key. The expiration parameter can be used to control when the value is considered expired.

The value can be any valid PHP type except for resources, because those cannot be represented in a serialized form. If the Memcached::OPT_COMPRESSION option is turned on, the serialized value will also be compressed before storage.

Parameter-Liste

key

Der Schlüssel, unter dem der Wert abgelegt werden soll.

value

Der zu speichernde Wert.

expiration

Die Verfallszeit, Vorgabewert ist 0. Siehe Verfallszeiten für weiterführende Informationen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. Benutzen Sie wenn nötig Memcached::getResultCode().

Beispiele

Beispiel #1 Memcached::set() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('int', 99);
$m->set('string', 'a simple string');
$m->set('array', array(11, 12));
/* expire 'object' key in 5 minutes */
$m->set('object', new stdclass, time() + 300);

var_dump($m->get('int'));
var_dump($m->get('string'));
var_dump($m->get('array'));
var_dump($m->get('object'));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(99)
string(15) "a simple string"
array(2) {
  [0]=>
  int(11)
  [1]=>
  int(12)
}
object(stdClass)#1 (0) {
}

Siehe auch

  • Memcached::setByKey() - Store an item on a specific server
  • Memcached::add() - Add an item under a new key
  • Memcached::replace() - Replace the item under an existing key

Memcached::resetServerList
Memcached::setByKey
Memcached


Store an item on a specific server

Memcached::set
Memcached::setMulti
Memcached
PHP Manual

Memcached::setByKey

(PECL memcached >= 0.1.0)

Memcached::setByKey — Store an item on a specific server

Beschreibung

public bool Memcached::setByKey ( string $server_key , string $key , mixed $value [, int $expiration ] )

Memcached::setByKey() is functionally equivalent to Memcached::set(), except that the free-form server_key can be used to map the key to a specific server. This is useful if you need to keep a bunch of related keys on a certain server.

Parameter-Liste

server_key

Ein Schlüssel, der den Server bestimmt, auf dem die Daten abgelegt oder von dem Daten abgerufen werden sollen. Anstatt den tatsächlichen Schlüssel des Wertes zu hashen wird der Server Key gehasht um den Memcached-Server mit dem gesprochen werden soll ausfindig zu machen. Dies erlaubt es alle zusammengehörigen Daten auf einem einzigen Server abzulegen um multiple Operationen effizienter zu gestalten.

key

Der Schlüssel, unter dem der Wert abgelegt werden soll.

value

Der zu speichernde Wert.

expiration

Die Verfallszeit, Vorgabewert ist 0. Siehe Verfallszeiten für weiterführende Informationen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. Benutzen Sie wenn nötig Memcached::getResultCode().

Beispiele

Beispiel #1 Memcached::setByKey() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

/* keep IP blocks on a certain server */
$m->setByKey('api-cache', 'block-ip:169.254.253.252', 1);
$m->setByKey('api-cache', 'block-ip:169.127.127.202', 1);
?>

Siehe auch

  • Memcached::set() - Store an item

Memcached::set
Memcached::setMulti
Memcached


Store multiple items

Memcached::setByKey
Memcached::setMultiByKey
Memcached
PHP Manual

Memcached::setMulti

(PECL memcached >= 0.1.0)

Memcached::setMulti — Store multiple items

Beschreibung

public bool Memcached::setMulti ( array $items [, int $expiration ] )

Memcached::setMulti() is similar to Memcached::set(), but instead of a single key/value item, it works on multiple items specified in items. The expiration time applies to all the items at once.

Parameter-Liste

items

Ein Array von Schlüssel-/Wert-Paaren, die auf dem Server gespeichert werden sollen.

expiration

Die Verfallszeit, Vorgabewert ist 0. Siehe Verfallszeiten für weiterführende Informationen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. Benutzen Sie wenn nötig Memcached::getResultCode().

Beispiele

Beispiel #1 Memcached::setMulti() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$items = array(
    'key1' => 'value1',
    'key2' => 'value2',
    'key3' => 'value3'
);
$m->setMulti($items, time() + 300);
?>

Siehe auch

  • Memcached::setMultiByKey() - Store multiple items on a specific server
  • Memcached::set() - Store an item

Memcached::setByKey
Memcached::setMultiByKey
Memcached


Store multiple items on a specific server

Memcached::setMulti
Memcached::setOption
Memcached
PHP Manual

Memcached::setMultiByKey

(PECL memcached >= 0.1.0)

Memcached::setMultiByKey — Store multiple items on a specific server

Beschreibung

public bool Memcached::setMultiByKey ( string $server_key , array $items [, int $expiration ] )

Memcached::setMultiByKey() is functionally equivalent to Memcached::setMulti(), except that the free-form server_key can be used to map the keys from items to a specific server. This is useful if you need to keep a bunch of related keys on a certain server.

Parameter-Liste

server_key

Ein Schlüssel, der den Server bestimmt, auf dem die Daten abgelegt oder von dem Daten abgerufen werden sollen. Anstatt den tatsächlichen Schlüssel des Wertes zu hashen wird der Server Key gehasht um den Memcached-Server mit dem gesprochen werden soll ausfindig zu machen. Dies erlaubt es alle zusammengehörigen Daten auf einem einzigen Server abzulegen um multiple Operationen effizienter zu gestalten.

items

Ein Array von Schlüssel-/Wert-Paaren, die auf dem Server gespeichert werden sollen.

expiration

Die Verfallszeit, Vorgabewert ist 0. Siehe Verfallszeiten für weiterführende Informationen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. Benutzen Sie wenn nötig Memcached::getResultCode().

Siehe auch

  • Memcached::setMulti() - Store multiple items
  • Memcached::set() - Store an item

Memcached::setMulti
Memcached::setOption
Memcached


Set a Memcached option

Memcached::setMultiByKey
Memcached::setOptions
Memcached
PHP Manual

Memcached::setOption

(PECL memcached >= 0.1.0)

Memcached::setOption — Set a Memcached option

Beschreibung

public bool Memcached::setOption ( int $option , mixed $value )

This method sets the value of a Memcached option. Some options correspond to the ones defined by libmemcached, and some are specific to the extension. See Memcached Constants for more information.

The options listed below require values specified via constants.

  • Memcached::OPT_HASH requires Memcached::HASH_* values.

  • Memcached::OPT_DISTRIBUTION requires Memcached::DISTRIBUTION_* values.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Setting a Memcached option

<?php
$m = new Memcached();
var_dump($m->getOption(Memcached::OPT_HASH) == Memcached::HASH_DEFAULT);
$m->setOption(Memcached::OPT_HASH, Memcached::HASH_MURMUR);
$m->setOption(Memcached::OPT_PREFIX_KEY, "widgets");
echo "Prefix key is now: ", $m->getOption(Memcached::OPT_PREFIX_KEY), "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
Prefix key is now: widgets

Siehe auch

  • Memcached::getOption() - Retrieve a Memcached option value
  • Memcached::setOptions() - Set Memcached options
  • Memcached Constants

Memcached::setMultiByKey
Memcached::setOptions
Memcached


Set Memcached options

Memcached::setOption
Memcached::setSaslAuthData
Memcached
PHP Manual

Memcached::setOptions

(PECL memcached >= 2.0.0)

Memcached::setOptions — Set Memcached options

Beschreibung

public bool Memcached::setOptions ( array $options )

Memcached::setOptions() is a variation of the Memcached::setOption() that takes an array of options to be set.

Parameter-Liste

options

An associative array of options where the key is the option to set and the value is the new value for the option.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Setting Memcached options

<?php
$m = new Memcached();
var_dump($m->getOption(Memcached::OPT_HASH) == Memcached::HASH_DEFAULT);

$m->setOptions(array(Memcached::OPT_HASH => Memcached::HASH_MURMUR, Memcached::OPT_PREFIX_KEY => "widgets"));

var_dump($m->getOption(Memcached::OPT_HASH) == Memcached::HASH_DEFAULT);
echo "Prefix key is now: ", $m->getOption(Memcached::OPT_PREFIX_KEY), "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(false)
Prefix key is now: widgets

Siehe auch

  • Memcached::getOption() - Retrieve a Memcached option value
  • Memcached::setOption() - Set a Memcached option
  • Memcached Constants

Memcached::setOption
Memcached::setSaslAuthData
Memcached


Set the credentials to use for authentication

Memcached::setOptions
Memcached::touch
Memcached
PHP Manual

Memcached::setSaslAuthData

(PECL memcached >= 2.0.0)

Memcached::setSaslAuthData — Set the credentials to use for authentication

Beschreibung

public void Memcached::setSaslAuthData ( string $username , string $password )

Memcached::setSaslAuthData() sets the username and password that should be used for SASL authentication with the memcache servers.

This method is only available when the memcached extension is built with SASL support. Please refer to Memcached setup for how to do this.

Parameter-Liste

username

The username to use for authentication.

password

The password to use for authentication.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Memcached::setOptions
Memcached::touch
Memcached


Set a new expiration on an item

Memcached::setSaslAuthData
Memcached::touchByKey
Memcached
PHP Manual

Memcached::touch

(PECL memcached >= 2.0.0)

Memcached::touch — Set a new expiration on an item

Beschreibung

public bool Memcached::touch ( string $key , int $expiration )

Memcached::touch() sets a new expiration value on the given key.

Parameter-Liste

key

Der Schlüssel, unter dem der Wert abgelegt werden soll.

expiration

Die Verfallszeit, Vorgabewert ist 0. Siehe Verfallszeiten für weiterführende Informationen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. Benutzen Sie wenn nötig Memcached::getResultCode().

Siehe auch

  • Memcached::touchByKey() - Set a new expiration on an item on a specific server

Memcached::setSaslAuthData
Memcached::touchByKey
Memcached


Set a new expiration on an item on a specific server

Memcached::touch
MemcachedException
Memcached
PHP Manual

Memcached::touchByKey

(PECL memcached >= 2.0.0)

Memcached::touchByKey — Set a new expiration on an item on a specific server

Beschreibung

public bool Memcached::touchByKey ( string $server_key , string $key , int $expiration )

Memcached::touchByKey() is functionally equivalent to Memcached::touch(), except that the free-form server_key can be used to map the key to a specific server.

Parameter-Liste

server_key

Ein Schlüssel, der den Server bestimmt, auf dem die Daten abgelegt oder von dem Daten abgerufen werden sollen. Anstatt den tatsächlichen Schlüssel des Wertes zu hashen wird der Server Key gehasht um den Memcached-Server mit dem gesprochen werden soll ausfindig zu machen. Dies erlaubt es alle zusammengehörigen Daten auf einem einzigen Server abzulegen um multiple Operationen effizienter zu gestalten.

key

Der Schlüssel, unter dem der Wert abgelegt werden soll.

expiration

Die Verfallszeit, Vorgabewert ist 0. Siehe Verfallszeiten für weiterführende Informationen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. Benutzen Sie wenn nötig Memcached::getResultCode().

Siehe auch

  • Memcached::touch() - Set a new expiration on an item

Memcached::touch
MemcachedException
Memcached


The MemcachedException class

(PECL memcached >= 0.1.0)

Einführung

Klassenbeschreibung

MemcachedException extends RuntimeException {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
Memcached::touchByKey
mqseries
Memcached


mqseries

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • mqseries Funktionen
    • mqseries_back — MQSeries MQBACK
    • mqseries_begin — MQseries MQBEGIN
    • mqseries_close — MQSeries MQCLOSE
    • mqseries_cmit — MQSeries MQCMIT
    • mqseries_conn — MQSeries MQCONN
    • mqseries_connx — MQSeries MQCONNX
    • mqseries_disc — MQSeries MQDISC
    • mqseries_get — MQSeries MQGET
    • mqseries_inq — MQSeries MQINQ
    • mqseries_open — MQSeries MQOPEN
    • mqseries_put1 — MQSeries MQPUT1
    • mqseries_put — MQSeries MQPUT
    • mqseries_set — MQSeries MQSET
    • mqseries_strerror — Returns the error message corresponding to a result code (MQRC).
MemcachedException
Einführung
Sonstige Dienste


Einführung

This extension aims to provide an interface for communicating with IBMs WebSphere MQ series Queue managers.

The interface mimics the C-API client interface of WebSphere MQ Series as close as possible. Using the same naming conventions and possibilities of the C-API. In order to understand the workings of this extension some level of understanding the C-API is required.

For MQ-options, MQ-structures, MQ-results etc. please read the WebSphere MQ Application Programming Guide and WebSphere MQ Application Programming Reference.

mqseries
Installation/Konfiguration
mqseries


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
mqseries


Anforderungen

A working IBM WebSphere MQ installation. If building the extension the SDK for IBM WebSphere MQ is also required.

Hinweis: Be aware that when running against a IBM WebSphere MQ Client installation some methods are not available. This is not a problem of the extension but just the way the WebSphere MQ Client Interface works.

Installation requirements on non windows platforms

Build the extension and put it in the PHP extension directory.

Installation requirements on Windows

No additional requirements.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/mqseries.

Hinweis: The official name of this extension is mqseries.

There are two ways to connect to a queue manager. These depend on the way the extension is compiled and linked.

  • First one and also the default one is using the mqic libraries. Compiling and linking the extension against these IBM WebSphere MQSeries libraries allows the extension to connect to the Queue manager using the client interface. Remote connections are possible this way.

  • The other way is to compile and link against the mqm libraries. Using these libraries it is possible to make use of the transaction management of a queue manager.

Currently selecting the libraries to use is done by changing the config.m4 file.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

There are no extra configuration parameters.

Installation
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

This extension defines a connection and object_handle resources.

The mqseries_conn() and mqseries_connx() define the connectionn handles.

The mqseries_open() defines the object handle.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

For each WebSphere MQ Constant there is a mqseries counterpart.

For definitions and usage see the WebSphere MQ Application Programming Guide and WebSphere MQ Application Programming Reference red books.

The name of the mqseries counterpart is made by appending the WebSphere MQ constant with MQSERIES_, for example the CompletionCode constants are:

mqseries constants
PHP Constant | MQ Constant
MQSERIES_MQCC_OK | MQCC_OK
MQSERIES_MQCC_WARNING | MQCC_WARNING
MQSERIES_MQCC_FAILED | MQCC_FAILED
MQSERIES_MQCC_UNKNOWN | MQCC_UNKNOWN

Ressource-Typen
mqseries Funktionen
mqseries


mqseries Funktionen

Inhaltsverzeichnis

  • mqseries_back — MQSeries MQBACK
  • mqseries_begin — MQseries MQBEGIN
  • mqseries_close — MQSeries MQCLOSE
  • mqseries_cmit — MQSeries MQCMIT
  • mqseries_conn — MQSeries MQCONN
  • mqseries_connx — MQSeries MQCONNX
  • mqseries_disc — MQSeries MQDISC
  • mqseries_get — MQSeries MQGET
  • mqseries_inq — MQSeries MQINQ
  • mqseries_open — MQSeries MQOPEN
  • mqseries_put1 — MQSeries MQPUT1
  • mqseries_put — MQSeries MQPUT
  • mqseries_set — MQSeries MQSET
  • mqseries_strerror — Returns the error message corresponding to a result code (MQRC).
Vordefinierte Konstanten
mqseries_back
mqseries


MQSeries MQBACK

mqseries Funktionen
mqseries_begin
mqseries Funktionen
PHP Manual

mqseries_back

(PECL mqseries >= 0.10.0)

mqseries_back — MQSeries MQBACK

Beschreibung

void mqseries_back ( resource $hconn , resource &$compCode , resource &$reason )

The mqseries_back() (MQBACK) call indicates to the queue manager that all the message gets and puts that have occurred since the last syncpoint are to be backed out. Messages put as part of a unit of work are deleted; messages retrieved as part of a unit of work are reinstated on the queue.

Using mqseries_back() only works in conjunction with mqseries_begin() and only function when connecting directly to a Queueu manager. Not via the mqclient interface.

Parameter-Liste

hConn

Connection handle.

This handle represents the connection to the queue manager.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 mqseries_back() example

<?php
    mqseries_back($conn, $comp_code, $reason);

    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
    }
?>

Anmerkungen

Hinweis:

mqseries_back() will not function when using MQSeries Client to connect to a Queueu Manager.

Siehe auch

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX
  • mqseries_begin() - MQseries MQBEGIN

mqseries Funktionen
mqseries_begin
mqseries Funktionen


MQseries MQBEGIN

mqseries_back
mqseries_close
mqseries Funktionen
PHP Manual

mqseries_begin

(PECL mqseries >= 0.10.0)

mqseries_begin — MQseries MQBEGIN

Beschreibung

void mqseries_begin ( resource $hconn , array $beginOptions , resource &$compCode , resource &$reason )

The mqseries_begin() (MQBEGIN) call begins a unit of work that is coordinated by the queue manager, and that may involve external resource managers.

Using mqseries_begin() starts the unit of work. Either mqseries_back() or mqseries_cmit() ends the unit of work.

Parameter-Liste

hConn

Connection handle.

This handle represents the connection to the queue manager.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 mqseries_begin() example

<?php
    $mqbo = array();
    mqseries_begin( $conn,
                    $mqbo,
                    $comp_code,
                    $reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        /* reason code 2121 is a warning for more information see MQSeries reference manual.*/
        if ($reason !== 2121) {
            printf("CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
        }
    }
?>

Anmerkungen

Hinweis:

mqseries_begin() will not function when using MQSeries Client to connect to a Queueu Manager.

Siehe auch

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX
  • mqseries_back() - MQSeries MQBACK
  • mqseries_cmit() - MQSeries MQCMIT

mqseries_back
mqseries_close
mqseries Funktionen


MQSeries MQCLOSE

mqseries_begin
mqseries_cmit
mqseries Funktionen
PHP Manual

mqseries_close

(PECL mqseries >= 0.10.0)

mqseries_close — MQSeries MQCLOSE

Beschreibung

void mqseries_close ( resource $hconn , resource $hobj , int $options , resource &$compCode , resource &$reason )

The mqseries_close() (MQCLOSE) call relinquishes access to an object, and is the inverse of the mqseries_open() (MQOPEN) call.

Parameter-Liste

hConn

Connection handle.

This handle represents the connection to the queue manager.

hObj

Object handle.

This handle represents the object to be used.

options

compCode

Completion code.

reason

Reason code qualifying the compCode.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 mqseries_close() example

<?php
    mqseries_close($conn, $obj, MQSERIES_MQCO_NONE, $comp_code, $reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("close CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
    }
?>

Siehe auch

  • mqseries_open() - MQSeries MQOPEN
  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX

mqseries_begin
mqseries_cmit
mqseries Funktionen


MQSeries MQCMIT

mqseries_close
mqseries_conn
mqseries Funktionen
PHP Manual

mqseries_cmit

(PECL mqseries >= 0.10.0)

mqseries_cmit — MQSeries MQCMIT

Beschreibung

void mqseries_cmit ( resource $hconn , resource &$compCode , resource &$reason )

The mqseries_cmit() (MQCMIT) call indicates to the queue manager that the application has reached a syncpoint, and that all of the message gets and puts that have occurred since the last syncpoint are to be made permanent. Messages put as part of a unit of work are made available to other applications; messages retrieved as part of a unit of work are deleted.

Parameter-Liste

hConn

Connection handle.

This handle represents the connection to the queue manager.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 mqseries_cmit() example

<?php
    mqseries_cmit($conn, $comp_code, $reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("cmit CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
    }
?>

Anmerkungen

Hinweis:

mqseries_back() will not function when using MQSeries Client to connect to a Queueu Manager.

Siehe auch

  • mqseries_begin() - MQseries MQBEGIN
  • mqseries_back() - MQSeries MQBACK
  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX

mqseries_close
mqseries_conn
mqseries Funktionen


MQSeries MQCONN

mqseries_cmit
mqseries_connx
mqseries Funktionen
PHP Manual

mqseries_conn

(PECL mqseries >= 0.10.0)

mqseries_conn — MQSeries MQCONN

Beschreibung

void mqseries_conn ( string $qManagerName , resource &$hconn , resource &$compCode , resource &$reason )

The mqseries_conn() (MQCONN) call connects an application program to a queue manager. It provides a queue manager connection handle, which is used by the application on subsequent message queuing calls.

Parameter-Liste

qManagerName

Name of queue manager.

Name of the queue manager the application wishes to connect.

hConn

Connection handle.

This handle represents the connection to the queue manager.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 mqseries_conn() example

<?php
    mqseries_conn('WMQ1', $conn, $comp_code, $reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("conn CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
        exit;
    }
?>

Siehe auch

  • mqseries_disc() - MQSeries MQDISC

mqseries_cmit
mqseries_connx
mqseries Funktionen


MQSeries MQCONNX

mqseries_conn
mqseries_disc
mqseries Funktionen
PHP Manual

mqseries_connx

(PECL mqseries >= 0.10.0)

mqseries_connx — MQSeries MQCONNX

Beschreibung

void mqseries_connx ( string $qManagerName , array &$connOptions , resource &$hconn , resource &$compCode , resource &$reason )

The mqseries_connx() (MQCONNX) call connects an application program to a queue manager. It provides a queue manager connection handle, which is used by the application on subsequent MQ calls.

The mqseries_connx() call is like the mqseries_conn() (MQCONN) call, except that MQCONNX allows options to be specified to control the way that the call works.

Parameter-Liste

qManagerName

Name of queue manager.

Name of the queue manager the application wishes to connect.

connOps

Options that control the action of function

See also the MQCNO structure.

hConn

Connection handle.

This handle represents the connection to the queue manager.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 mqseries_connx() example

<?php
    $mqcno = array(
        'Version' => MQSERIES_MQCNO_VERSION_2,
        'Options' => MQSERIES_MQCNO_STANDARD_BINDING,
        'MQCD' => array('ChannelName' => 'MQNX9420.CLIENT',
        'ConnectionName' => 'localhost',
        'TransportType' => MQSERIES_MQXPT_TCP)
    );

    mqseries_connx('MQNX9420', $mqcno, $conn, $comp_code,$reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("Connx CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
        exit;
    }

?>

Beispiel #2 mqseries_connx() example using SSL connection & OCSP Responder URL

<?php
    $mqcno = array(
        'Version' => 4, //MQCNO_VERSION_4
        'Options' => MQSERIES_MQCNO_STANDARD_BINDING,
        'MQCD' => array(
            'Version' => 7, //MQCD_VERSION_7
            'ConnectionName' => 'localhost',
            'TransportType' => MQSERIES_MQXPT_TCP,
            'ChannelName' => 'CONNECTIONCHANNEL',
            'SSLCipherSpec' => 'NULL_SHA'
        ),
        'MQSCO' => array(
            'KeyRepository' => '/var/mqm/qmgrs/QUEUEMGR/ssl/key', //Local path where the SSL key repository can be found
            'MQAIR' => array(
                'Version' => 2, //MQAIR_VERSION_2
                'AuthInfoType' => 2, //MQAIT_OCSP
                'OCSPResponderURL' => 'http://dummy.OCSP.responder'
            )
        )
    );

    mqseries_connx('QUEUEMGR', $mqcno, $conn, $comp_code,$reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("Connx CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
        exit;
    }

?>

Siehe auch

  • mqseries_disc() - MQSeries MQDISC

mqseries_conn
mqseries_disc
mqseries Funktionen


MQSeries MQDISC

mqseries_connx
mqseries_get
mqseries Funktionen
PHP Manual

mqseries_disc

(PECL mqseries >= 0.10.0)

mqseries_disc — MQSeries MQDISC

Beschreibung

void mqseries_disc ( resource $hconn , resource &$compCode , resource &$reason )

The mqseries_disc() (MQDISC) call breaks the connection between the queue manager and the application program, and is the inverse of the mqseries_conn() (MQCONN) or mqseries_connx() (MQCONNX) call.

Parameter-Liste

hConn

Connection handle.

This handle represents the connection to the queue manager.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 mqseries_disc() example

<?php
    mqseries_disc($conn, $comp_code, $reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("disc CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
    }
?>

Siehe auch

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX

mqseries_connx
mqseries_get
mqseries Funktionen


MQSeries MQGET

mqseries_disc
mqseries_inq
mqseries Funktionen
PHP Manual

mqseries_get

(PECL mqseries >= 0.10.0)

mqseries_get — MQSeries MQGET

Beschreibung

void mqseries_get ( resource $hConn , resource $hObj , array &$md , array &$gmo , int &$bufferLength , string &$msg , int &$data_length , resource &$compCode , resource &$reason )

The mqseries_get() (MQGET) call retrieves a message from a local queue that has been opened using the mqseries_open() (MQOPEN) call

Parameter-Liste

hConn

Connection handle.

This handle represents the connection to the queue manager.

hObj

Object handle.

This handle represents the object to be used.

md

Message descriptor (MQMD).

gmo

Get message options (MQGMO).

bufferLength

Expected length of the result buffer

msg

Buffer holding the message that was retrieved from the object.

data_length

Actual buffer length

compCode

Completion code.

reason

Reason code qualifying the compCode.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 mqseries_get() example

<?php
// open connection to the queue manager
    mqseries_conn('WMQ1', $conn, $comp_code, $reason);
// $conn now hold the reference to the connection to the queue manager.

// open the connection to the testq queue
    mqseries_open(
                $conn,
                array('ObjectName' => 'TESTQ'),
                MQSERIES_MQOO_INPUT_AS_Q_DEF | MQSERIES_MQOO_FAIL_IF_QUIESCING | MQSERIES_MQOO_OUTPUT,
                $obj,
                $comp_code,
                $reason);
// $obj now holds the reference to the object (TESTQ)

// setup empty message descriptor.
    $mdg = array();
// setup get message options
    $gmo = array('Options' => MQSERIES_MQGMO_FAIL_IF_QUIESCING | MQSERIES_MQGMO_WAIT, 'WaitInterval' => 3000);

// get the message from the queueu
    mqseries_get($conn, $obj, $mdg, $gmo, 255, $msg, $data_length, $comp_code, $reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("GET CompCode:%d Reason:%d Text:%s<br>", $comp_code, $reason, mqseries_strerror($reason));
    }

// close the object reference $obj
    mqseries_close($conn, $obj, MQSERIES_MQCO_NONE, $comp_code, $reason);

// disconnect from the queue manager.
    mqseries_disc($conn, $comp_code, $reason);

?>

Siehe auch

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX
  • mqseries_open() - MQSeries MQOPEN
  • mqseries_put() - MQSeries MQPUT

mqseries_disc
mqseries_inq
mqseries Funktionen


MQSeries MQINQ

mqseries_get
mqseries_open
mqseries Funktionen
PHP Manual

mqseries_inq

(PECL mqseries >= 0.10.0)

mqseries_inq — MQSeries MQINQ

Beschreibung

void mqseries_inq ( resource $hconn , resource $hobj , int $selectorCount , array $selectors , int $intAttrCount , resource &$intAttr , int $charAttrLength , resource &$charAttr , resource &$compCode , resource &$reason )

The mqseries_inq() (MQINQ) call returns an array of integers and a set of character strings containing the attributes of an object.

Parameter-Liste

hConn

Connection handle.

This handle represents the connection to the queue manager.

hObj

Object handle.

This handle represents the object to be used.

selectorCount

Count of selectors.

selectors

Array of attribute selectors.

intAttrLength

Count of integer attributes.

intAttr

Array of integer attributes.

charAttrLength

Length of character attributes buffer.

charAttr

Character attributes.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 mqseries_inq() example

<?php
    $int_attr = array();
    $char_attr = "";

    mqseries_inq($conn, $obj, 1, array(MQSERIES_MQCA_Q_MGR_NAME), 0, $int_attr, 48, $char_attr, $comp_code, $reason);

    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("INQ CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
    } else {
        echo "INQ QManager name result ".$char_attr."<br>\n";
    }
?>

Siehe auch

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX
  • mqseries_open() - MQSeries MQOPEN

mqseries_get
mqseries_open
mqseries Funktionen


MQSeries MQOPEN

mqseries_inq
mqseries_put1
mqseries Funktionen
PHP Manual

mqseries_open

(PECL mqseries >= 0.10.0)

mqseries_open — MQSeries MQOPEN

Beschreibung

void mqseries_open ( resource $hconn , array &$objDesc , int $option , resource &$hobj , resource &$compCode , resource &$reason )

The mqseries_open() (MQOPEN) call establishes access to an object.

Parameter-Liste

hConn

Connection handle.

This handle represents the connection to the queue manager.

objDesc

Object descriptor. (MQOD)

options

Options that control the action of the function.

hObj

Object handle.

This handle represents the object to be used.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 mqseries_open() example

<?php
    $mqods = array('ObjectName' => 'TESTQ');
    mqseries_open(
                $conn,
                $mqods,
                MQSERIES_MQOO_INPUT_AS_Q_DEF | MQSERIES_MQOO_FAIL_IF_QUIESCING | MQSERIES_MQOO_OUTPUT,
                $obj,
                $comp_code,
                $reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("open CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
        exit;
    }
?>

Siehe auch

  • mqseries_close() - MQSeries MQCLOSE

mqseries_inq
mqseries_put1
mqseries Funktionen


MQSeries MQPUT1

mqseries_open
mqseries_put
mqseries Funktionen
PHP Manual

mqseries_put1

(PECL mqseries >= 0.10.0)

mqseries_put1 — MQSeries MQPUT1

Beschreibung

void mqseries_put1 ( resource $hconn , resource &$objDesc , resource &$msgDesc , resource &$pmo , string $buffer , resource &$compCode , resource &$reason )

The mqseries_put1() (MQPUT1) call puts one message on a queue. The queue need not be open.

You can use both the mqseries_put() and mqseries_put1() calls to put messages on a queue; which call to use depends on the circumstances. Use the mqseries_put() (MQPUT) call to place multiple messages on the same queue. Use the mqseries_put1() (MQPUT1) call to put only one message on a queue. This call encapsulates the MQOPEN, MQPUT, and MQCLOSE calls into a single call, minimizing the number of calls that must be issued.

Parameter-Liste

hConn

Connection handle.

This handle represents the connection to the queue manager.

objDesc

Object descriptor. (MQOD)

This is a structure which identifies the queue to which the message is added.

msgDesc

Message descriptor (MQMD).

pmo

Put message options (MQPMO).

compCode

Completion code.

reason

Reason code qualifying the compCode.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX
  • mqseries_open() - MQSeries MQOPEN
  • mqseries_get() - MQSeries MQGET

mqseries_open
mqseries_put
mqseries Funktionen


MQSeries MQPUT

mqseries_put1
mqseries_set
mqseries Funktionen
PHP Manual

mqseries_put

(PECL mqseries >= 0.10.0)

mqseries_put — MQSeries MQPUT

Beschreibung

void mqseries_put ( resource $hConn , resource $hObj , array &$md , array &$pmo , string $message , resource &$compCode , resource &$reason )

The mqseries_put() (MQPUT) call puts a message on a queue or distribution list. The queue or distribution list must already be open.

Parameter-Liste

hConn

Connection handle.

This handle represents the connection to the queue manager.

hObj

Object handle.

This handle represents the object to be used.

md

Message descriptor (MQMD).

pmo

Put message options (MQPMO).

message

The actual message to put onto the queue.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 mqseries_put() example

<?php
// open connection to the queue manager
    mqseries_conn('WMQ1', $conn, $comp_code, $reason);
// $conn now hold the reference to the connection to the queue manager.

// open the connectio to the testq queueu
    mqseries_open(
                $conn,
                array('ObjectName' => 'TESTQ'),
                MQSERIES_MQOO_INPUT_AS_Q_DEF | MQSERIES_MQOO_FAIL_IF_QUIESCING | MQSERIES_MQOO_OUTPUT,
                $obj,
                $comp_code,
                $reason);
// $obj now holds the reference to the object (TESTQ)

// setup the message descriptor array. Check MQSeries reference manuals.
    $md = array(
                'Version' => MQSERIES_MQMD_VERSION_1,
                'Expiry' => MQSERIES_MQEI_UNLIMITED,
                'Report' => MQSERIES_MQRO_NONE,
                'MsgType' => MQSERIES_MQMT_DATAGRAM,
                'Format' => MQSERIES_MQFMT_STRING,
                'Priority' => 1,
                'Persistence' => MQSERIES_MQPER_PERSISTENT);

// setup the put message options.
    $pmo = array('Options' => MQSERIES_MQPMO_NEW_MSG_ID|MQSERIES_MQPMO_SYNCPOINT);

// put the message 'Ping' on the queueu.
    mqseries_put($conn, $obj, $md, $pmo, 'Ping', $comp_code, $reason);

    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("put CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
    }

// close the object reference $obj
    mqseries_close($conn, $obj, MQSERIES_MQCO_NONE, $comp_code, $reason);

// disconnect from the queue manager.
    mqseries_disc($conn, $comp_code, $reason);

?>

Siehe auch

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX
  • mqseries_open() - MQSeries MQOPEN
  • mqseries_get() - MQSeries MQGET

mqseries_put1
mqseries_set
mqseries Funktionen


MQSeries MQSET

mqseries_put
mqseries_strerror
mqseries Funktionen
PHP Manual

mqseries_set

(PECL mqseries >= 0.10.0)

mqseries_set — MQSeries MQSET

Beschreibung

void mqseries_set ( resource $hConn , resource $hObj , int $selectorCount , array $selectors , int $intAttrCount , array $intAttrs , int $charAttrLength , array $charAttrs , resource &$compCode , resource &$reason )

The mqseries_set() (MQSET) call is used to change the attributes of an object represented by a handle. The object must be a queue.

Parameter-Liste

hConn

Connection handle.

This handle represents the connection to the queue manager.

hObj

Object handle.

This handle represents the object to be used.

selectorCount

Count of selectors.

selectors

Array of attribute selectors.

intAttrCount

Count of integer attributes.

intAttrs

Array of integer attributes.

charAttrLength

Length of character attributes buffer.

charAttrs

Character attributes.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • mqseries_inq() - MQSeries MQINQ

mqseries_put
mqseries_strerror
mqseries Funktionen


Returns the error message corresponding to a result code (MQRC).

mqseries_set
Network
mqseries Funktionen
PHP Manual

mqseries_strerror

(PECL mqseries >= 0.10.0)

mqseries_strerror — Returns the error message corresponding to a result code (MQRC).

Beschreibung

string mqseries_strerror ( int $reason )

mqseries_strerror() returns the message that correspond to the reason result code.

Parameter-Liste

reason

Reason code qualifying the compCode.

Rückgabewerte

string representation of the reason code message.

Beispiele

Beispiel #1 mqseries_strerror() example

<?php
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("open CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
        exit;
    }
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Connx CompCode:2 Reason:2059 Text:Queue manager not available for connection.

mqseries_set
Network
mqseries Funktionen


Network

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Netzwerk-Funktionen
    • checkdnsrr — Prüft DNS-Einträge auf Übereinstimmung mit einem gegebenen Internet-Host-Namen oder einer IP-Adresse
    • closelog — Schließt die Verbindung zum System-Logger
    • define_syslog_variables — Initialisiert alle SysLog-bezogenen Variablen
    • dns_check_record — Alias von checkdnsrr
    • dns_get_mx — Alias von getmxrr
    • dns_get_record — Den DNS Resource Record für einen gegebenen Hostname finden.
    • fsockopen — Stellt eine Internet- oder Unix-Domain-Socket-Verbindung her
    • gethostbyaddr — Ermittelt den zur angegebenen IP-Adresse passenden Internet-Hostnamen
    • gethostbyname — Ermittelt die zum angegebenen Internet-Hostnamen passende IPv4-Adresse
    • gethostbynamel — Ermittelt eine Liste von IPv4-Adressen passend zum angegebenen Internet-Hostnamen
    • gethostname — Gets the host name
    • getmxrr — Ermittelt die zu einem Internet-Hostnamen passenden MX-Records
    • getprotobyname — Ermittelt die Protokollnummer anhand des Protokollnamens
    • getprotobynumber — Ermittelt den Protokollnamen anhand der Protokollnummer
    • getservbyname — Ermittelt die Portnummer passend zu einem Internet-Dienst und Protokoll
    • getservbyport — Ermittelt einen Internet-Dienst passend zu einem Port und Protokoll
    • header_register_callback — Call a header function
    • header_remove — Remove previously set headers
    • header — Sendet einen HTTP-Header in Rohform
    • headers_list — Gibt eine Liste der gesendeten (oder zum Senden vorbereiteten) Response Header zurück
    • headers_sent — Prüft, ob oder wo die Header bereits gesendet wurden
    • http_response_code — Get or Set the HTTP response code
    • inet_ntop — Konvertiert eine komprimierte Internetadresse in ein menschenlesbares Format
    • inet_pton — Konvertiert eine IP-Adresse im menschenlesbaren Format in eine komprimierte in_addr-Repräsentation
    • ip2long — Verwandelt eine gemäß IPv4-Protokoll angegebene Internet-Adresse vom Punkt-Format in die ausgeschriebene Adress-Angabe
    • long2ip — Konvertiert eine (IPv4) Netzwerkadresse in einen String, der das Punkt-Format enthält ("Dotted-Format")
    • openlog — Stellt eine Verbindung zum Log-Dienst des Systems her
    • pfsockopen — Öffnet eine persistente Verbindung zum Internet oder zu einem Unix-Domainsocket
    • setcookie — Sendet ein Cookie
    • setrawcookie — Sendet ein Cookie, ohne seinen Wert zu URL-kodieren
    • socket_get_status — Alias von stream_get_meta_data
    • socket_set_blocking — Alias von stream_set_blocking
    • socket_set_timeout — Alias von stream_set_timeout
    • syslog — Erzeugt eine Meldung im System-Logging
mqseries_strerror
Einführung
Sonstige Dienste


Einführung

Diese Extension stellt verschiedene Netzwerkfunktionen zur Verfügung.

Network
Installation/Konfiguration
Network


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Network


Anforderungen

Unter Linux erfordern die Funktionen checkdnsrr(), getmxrr() und dns_get_record() das Vorhandensein von Bind.

Installation/Konfiguration
Installation
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Network-Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
define_syslog_variables | "0" | PHP_INI_ALL | Nicht mehr zur Verwendung empfohlen ab PHP 5.3.0. Entfernt in PHP 5.4.0.
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

define_syslog_variables boolean

Legt fest, ob die verschiedenen Syslog-Variablen (wie $LOG_PID, $LOG_CRON, etc.) standardmäßig definiert werden. Diese Variablen abzuschalten ist unter Performancegesichtspunkten eine gute Idee. Sie können diese Variablen zur Laufzeit durch den Aufruf von define_syslog_variables() definieren.

Installation
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

Diese Extension definiert eine Dateizeiger-Ressource, die von fsockopen() und pfsockopen() zurückgegeben wird.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Die aufgelisteten Konstanten stehen immer zur Verfügung, da sie zum Grundbestand von PHP gehören.

openlog()-Optionen
Konstante | Beschreibung
LOG_CONS | Tritt ein Fehler auf, wenn Daten an den Systemlogger gesendet werden, leite die Ausgabe direkt an die Konsole um.
LOG_NDELAY | Öffnet die Verbindung zum Logger sofort.
LOG_ODELAY | (Standardwert); öffnet die Verbindung erst, wenn die erste Meldung geloggt werden soll.
LOG_NOWAIT |
LOG_PERROR | Schreibt den Logeintrag auch in das Standard-Error-Device
LOG_PID | Fügt die PID an jede Message an
openlog()-Möglichkeiten
Konstante | Beschreibung
LOG_AUTH | Sicherheits-/Authorisierungsmeldungen (benutzt statt dessen LOG_AUTHPRIV in Systemen, wo diese Konstante definiert ist).
LOG_AUTHPRIV | Sicherheits-/Authorisierungsmeldungen (private)
LOG_CRON | Zeitabhängig gestartete Dienste (cron und at)
LOG_DAEMON | Andere Systemdienste
LOG_KERN | Kernel-Meldungen
LOG_LOCAL0 ... LOG_LOCAL7 | Reserviert für lokale Benutzung, diese Konstanten stehen unter Windows nicht zur Verfügung.
LOG_LPR | Zeilen-Drucker Subsystem
LOG_MAIL | Mailing-Subsystem
LOG_NEWS | USENET-News-Subsystem
LOG_SYSLOG | Meldungen die intern von syslogd erzeugt wurden
LOG_USER | Generische User-Level-Meldungen
LOG_UUCP | UUCP-Subsystem
syslog()-Prioritäten (in absteigender Reihenfolge)
Konstante | Beschreibung
LOG_EMERG | System ist unbrauchbar
LOG_ALERT | Aktion ist sofort erforderlich
LOG_CRIT | Kritischer Zustand
LOG_ERR | Fehler aufgetreten
LOG_WARNING | Warnung aufgetreten
LOG_NOTICE | Normale, aber wichtige Meldung
LOG_INFO | Informative Meldung
LOG_DEBUG | Debug-Level-Meldung
dns_get_record()-Optionen
Konstante | Beschreibung
DNS_A | IPv4-Adress-Ressource
DNS_MX | Mail-Exchanger-Ressource
DNS_CNAME | Alias (Canonical Name)-Ressource
DNS_NS | Authoritative-Nameserver-Ressource
DNS_PTR | DNS-Pointer-Ressource
DNS_HINFO | Hostinfo-Ressource (Siehe auch » Operating System Names der IANA, wenn Sie mehr über die Bedeutung dieser Werte wissen wollen.)
DNS_SOA | Start of Authority-Ressource
DNS_TXT | Textressource
DNS_ANY | Any-Ressource-Eintrag. Auf den meisten System werden hierauf alle Ressource-Einträge zurückgegeben, die Option sollte allerdings nicht für kritische Anwendungen eingesetzt werden. Verwenden Sie statt dessen DNS_ALL.
DNS_AAAA | IPv6-Adress-Ressource
DNS_ALL | Iterative Anfrage an den Nameserver für jeden verfügbaren Eintragstyp.
Ressource-Typen
Netzwerk-Funktionen
Network


Netzwerk-Funktionen

Inhaltsverzeichnis

  • checkdnsrr — Prüft DNS-Einträge auf Übereinstimmung mit einem gegebenen Internet-Host-Namen oder einer IP-Adresse
  • closelog — Schließt die Verbindung zum System-Logger
  • define_syslog_variables — Initialisiert alle SysLog-bezogenen Variablen
  • dns_check_record — Alias von checkdnsrr
  • dns_get_mx — Alias von getmxrr
  • dns_get_record — Den DNS Resource Record für einen gegebenen Hostname finden.
  • fsockopen — Stellt eine Internet- oder Unix-Domain-Socket-Verbindung her
  • gethostbyaddr — Ermittelt den zur angegebenen IP-Adresse passenden Internet-Hostnamen
  • gethostbyname — Ermittelt die zum angegebenen Internet-Hostnamen passende IPv4-Adresse
  • gethostbynamel — Ermittelt eine Liste von IPv4-Adressen passend zum angegebenen Internet-Hostnamen
  • gethostname — Gets the host name
  • getmxrr — Ermittelt die zu einem Internet-Hostnamen passenden MX-Records
  • getprotobyname — Ermittelt die Protokollnummer anhand des Protokollnamens
  • getprotobynumber — Ermittelt den Protokollnamen anhand der Protokollnummer
  • getservbyname — Ermittelt die Portnummer passend zu einem Internet-Dienst und Protokoll
  • getservbyport — Ermittelt einen Internet-Dienst passend zu einem Port und Protokoll
  • header_register_callback — Call a header function
  • header_remove — Remove previously set headers
  • header — Sendet einen HTTP-Header in Rohform
  • headers_list — Gibt eine Liste der gesendeten (oder zum Senden vorbereiteten) Response Header zurück
  • headers_sent — Prüft, ob oder wo die Header bereits gesendet wurden
  • http_response_code — Get or Set the HTTP response code
  • inet_ntop — Konvertiert eine komprimierte Internetadresse in ein menschenlesbares Format
  • inet_pton — Konvertiert eine IP-Adresse im menschenlesbaren Format in eine komprimierte in_addr-Repräsentation
  • ip2long — Verwandelt eine gemäß IPv4-Protokoll angegebene Internet-Adresse vom Punkt-Format in die ausgeschriebene Adress-Angabe
  • long2ip — Konvertiert eine (IPv4) Netzwerkadresse in einen String, der das Punkt-Format enthält ("Dotted-Format")
  • openlog — Stellt eine Verbindung zum Log-Dienst des Systems her
  • pfsockopen — Öffnet eine persistente Verbindung zum Internet oder zu einem Unix-Domainsocket
  • setcookie — Sendet ein Cookie
  • setrawcookie — Sendet ein Cookie, ohne seinen Wert zu URL-kodieren
  • socket_get_status — Alias von stream_get_meta_data
  • socket_set_blocking — Alias von stream_set_blocking
  • socket_set_timeout — Alias von stream_set_timeout
  • syslog — Erzeugt eine Meldung im System-Logging
Vordefinierte Konstanten
checkdnsrr
Network


Prüft DNS-Einträge auf Übereinstimmung mit einem gegebenen Internet-Host-Namen oder einer IP-Adresse

Netzwerk-Funktionen
closelog
Netzwerk-Funktionen
PHP Manual

checkdnsrr

(PHP 4, PHP 5, PHP 7)

checkdnsrr — Prüft DNS-Einträge auf Übereinstimmung mit einem gegebenen Internet-Host-Namen oder einer IP-Adresse

Beschreibung

bool checkdnsrr ( string $host [, string $type = "MX" ] )

Durchsucht den DNS (Domain-Name-Service) nach Daten des Typs type, die zum übergebenen host gehören.

Parameter-Liste

host

host kann entweder eine durch Punkte getrennte IP-Adresse oder der Hostname sein.

type

type kann einer der folgenden Werte sein: A, MX, NS, SOA, PTR, CNAME, AAAA, A6, SRV, NAPTR, TXT oder ANY.

Rückgabewerte

Gibt TRUE zurück, wenn mindestens ein Datensatz gefunden wurde. Wurde kein Datensatz gefunden oder trat ein Fehler auf, wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.3.0 | Die Funktion ist nun auch auf Windowsplattformen verfügbar.
5.2.4 | TXT type hinzugefügt.

Anmerkungen

Hinweis:

Wenn unter Windows Kompatibilität zu Versionen ohne Implementierung dieser Funktion gegeben sein muss, verwenden Sie die » PEAR-Klasse » Net_DNS.

Siehe auch

  • dns_get_record() - Den DNS Resource Record für einen gegebenen Hostname finden.
  • getmxrr() - Ermittelt die zu einem Internet-Hostnamen passenden MX-Records
  • gethostbyaddr() - Ermittelt den zur angegebenen IP-Adresse passenden Internet-Hostnamen
  • gethostbyname() - Ermittelt die zum angegebenen Internet-Hostnamen passende IPv4-Adresse
  • gethostbynamel() - Ermittelt eine Liste von IPv4-Adressen passend zum angegebenen Internet-Hostnamen
  • the named(8) manual page

Netzwerk-Funktionen
closelog
Netzwerk-Funktionen


Schließt die Verbindung zum System-Logger

checkdnsrr
define_syslog_variables
Netzwerk-Funktionen
PHP Manual

closelog

(PHP 4, PHP 5, PHP 7)

closelog — Schließt die Verbindung zum System-Logger

Beschreibung

bool closelog ( void )

closelog() schließt den Descriptor, der benötigt wird, um in den System-Logger zu schreiben. Der Gebrauch von closelog() ist optional.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • syslog() - Erzeugt eine Meldung im System-Logging
  • openlog() - Stellt eine Verbindung zum Log-Dienst des Systems her

checkdnsrr
define_syslog_variables
Netzwerk-Funktionen


Initialisiert alle SysLog-bezogenen Variablen

closelog
dns_check_record
Netzwerk-Funktionen
PHP Manual

define_syslog_variables

(PHP 4, PHP 5 < 5.4.0)

define_syslog_variables — Initialisiert alle SysLog-bezogenen Variablen

Beschreibung

void define_syslog_variables ( void )

Initialisiert alle Variablen, die in den SysLog-Funktionen Verwendung finden.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Syslog variables
Variable | Entsprechende Konstante | Bedeutung | Bemerkungen
$LOG_EMERG | LOG_EMERG | System ist untauglich |
$LOG_ALERT | LOG_ALERT | Direktes Eingreifen erforderlich |
$LOG_CRIT | LOG_CRIT | Critical conditions |
$LOG_ERR | LOG_ERR |  |
$LOG_WARNING | LOG_WARNING |  |
$LOG_NOTICE | LOG_NOTICE |  |
$LOG_INFO | LOG_INFO |  |
$LOG_DEBUG | LOG_DEBUG |  |
$LOG_KERN | LOG_KERN |  |
$LOG_USER | LOG_USER | Genetic user level |
$LOG_MAIL | LOG_MAIL | Log in eine E-Mail |
$LOG_DAEMON | LOG_DAEMON | Andere Systemdienste |
$LOG_AUTH | LOG_AUTH |  |
$LOG_SYSLOG | LOG_SYSLOG |  | Nicht für Netware verfügbar
$LOG_LPR | LOG_LPR |  |
$LOG_NEWS | LOG_NEWS | Usenet new | Nicht für HP-UX verfügbar
$LOG_CRON | LOG_CRON |  | Auf keiner Plattform verfügbar
$LOG_AUTHPRIV | LOG_AUTHPRIV |  | Nicht für AIX verfügbar
$LOG_LOCAL0 | LOG_LOCAL0 |  | Nicht für Windows und Netware verfügbar
$LOG_LOCAL1 | LOG_LOCAL1 |  | Nicht für Windows und Netware verfügbar
$LOG_LOCAL2 | LOG_LOCAL2 |  | Nicht für Windows und Netware verfügbar
$LOG_LOCAL3 | LOG_LOCAL3 |  | Nicht für Windows und Netware verfügbar
$LOG_LOCAL4 | LOG_LOCAL4 |  | Nicht für Windows und Netware verfügbar
$LOG_LOCAL5 | LOG_LOCAL5 |  | Nicht für Windows und Netware verfügbar
$LOG_LOCAL6 | LOG_LOCAL6 |  | Nicht für Windows und Netware verfügbar
$LOG_LOCAL7 | LOG_LOCAL7 |  | Nicht für Windows und Netware verfügbar
$LOG_PID | LOG_PID |  |
$LOG_CONS | LOG_CONS |  |
$LOG_ODELAY | LOG_ODELAY |  |
$LOG_NDELAY | LOG_NDELAY |  |
$LOG_NOWAIT | LOG_NOWAIT |  | Nicht für BeOS verfügbar
$LOG_PERROR | LOG_PERROR |  | Nicht für AIX verfügbar
Warnung

Diese Funktion ist seit PHP 5.3.0 DEPRECATED (veraltet) und seit PHP 5.4.0 ENTFERNT.

Beispiele

Beispiel #1 define_syslog_variables()-Beispiel

<?php
// Teste, ob die SysLog-Variablen bereits definiert wurden
if(!get_cfg_var('define_syslog_variables'))
{
    define_syslog_variables();
}

// Öffne das Log
openlog('', $LOG_ODELAY, $LOG_MAIL | $LOG_USER);

// Fahre weiter mit dem Skript fort ...
?>

Changelog

Version | Beschreibung
5.4.0 | Die Funktion wurde aus PHP entfernt.
5.3.0 | Die Funktion wirft jetzt eine E_DEPRECATED-Notice.

Siehe auch

  • openlog() - Stellt eine Verbindung zum Log-Dienst des Systems her
  • syslog() - Erzeugt eine Meldung im System-Logging
  • closelog() - Schließt die Verbindung zum System-Logger

closelog
dns_check_record
Netzwerk-Funktionen


Alias von checkdnsrr

define_syslog_variables
dns_get_mx
Netzwerk-Funktionen
PHP Manual

dns_check_record

(PHP 5, PHP 7)

dns_check_record — Alias von checkdnsrr()

Beschreibung

Diese Funktion ist ein Alias für: checkdnsrr().

define_syslog_variables
dns_get_mx
Netzwerk-Funktionen


Alias von getmxrr

dns_check_record
dns_get_record
Netzwerk-Funktionen
PHP Manual

dns_get_mx

(PHP 5, PHP 7)

dns_get_mx — Alias von getmxrr()

Beschreibung

Diese Funktion ist ein Alias für: getmxrr().

dns_check_record
dns_get_record
Netzwerk-Funktionen


Den DNS Resource Record für einen gegebenen Hostname finden.

dns_get_mx
fsockopen
Netzwerk-Funktionen
PHP Manual

dns_get_record

(PHP 5, PHP 7)

dns_get_record — Den DNS Resource Record für einen gegebenen Hostname finden.

Beschreibung

array dns_get_record ( string $hostname [, int $type = DNS_ANY [, array &$authns [, array &$addtl [, bool &$raw = false ]]]] )

Fragt einen Resource Record für den übergebenen hostname ab.

Parameter-Liste

hostname

hostname sollte ein valider Hostname wie z.B. "www.example.com". sein. Reverse lookups sind mit der in-addr.arpa möglich, jedoch sollte für diesen Fall gethostbyaddr() genutzt werden.

Hinweis:

Gemäß dem DNS-Standard werden E-Mail Adressen in der Form user.host (zum Beispiel: hostmaster.example.com statt hostmaster@example.com) zurückgegeben. Darum ist es wichtig diesen Wert zu überprüfen und ihn gegebenenfalls mit Funktionen wie z.B. mail() anzupassen.

type

Standardmäßig sucht dns_get_record() nach jedem Resource Record für den hostname. Um die Anfrage zu spezialisieren muss type gegeben sein. Dieser Paramter kann einen der folgenden Werte annehmen: DNS_A, DNS_CNAME, DNS_HINFO, DNS_MX, DNS_NS, DNS_PTR, DNS_SOA, DNS_TXT, DNS_AAAA, DNS_SRV, DNS_NAPTR, DNS_A6, DNS_ALL or DNS_ANY.

Hinweis:

Durch Eigenheiten in der Performance von libresolv auf verschiedenen Plattformen kann es passieren, dass DNS_ANY nicht alle Records zurückgibt. DNS_ALL, auch wenn es langsamer ist, arbeite für diesen Fall zuverlässiger.

authns

Passed by reference. Wird, wenn es übergeben wird, mit den Records für die Autoritativen Nameserver gefüllt.

addtl

Passed by reference. Wird, wenn es übergeben, mit zusätzlichen Records gefüllt.

raw

Im raw Modus wird nur nach dem übergeben Typ gefragt statt durch jeden Typ zu gehen.

Rückgabewerte

Diese Funktion gibt ein Array an assioziativen Arrays zurück Im Fehlerfall wird FALSE zurückgegeben.. Jedes Assoziative Array enthält mindestens die folgenden Keys:

Grundlegende DNS Attribute
Attribut | Bedeutung
host | Der Host im DNS Namespace auf den sich die restlichen Werte in dem assoziativen Array beziehen..
class | dns_get_record() gibt nur Internet class Records zurück wodurch dieser Paramater immer IN zurückgibt.
type | String in dem der Record Typ hinterlegt ist. Zusätliche Attribute sind abhängig vom Typ ebenfalls in dem Array enthalten. Siehe untere Tabelle
ttl | "Time To Live" die für dieses Record noch verbleibt. . nicht identisch mit der originalen ttl des Records sondern die originale ttl abzüglich der Zeit, die vergangen ist seit der autorative Nameserver die Anfrage erhalten hat.

Andere Keys im assoziativen Array abhängig von 'type'
Type | Extra Spalte
A | ip: Eine IPv4 Addresse in dotted decimal Notation.
MX | pri: Priorität des MX Records. Niedriegere Zahlen bedeuten eine höhere Priorität. target: FQDN des MX Records. Siehe auch: dns_get_mx().
CNAME | target: FQDN des Ziels auf das dieses Alias zeigt.
NS | target: FQDN des Nameservers, der der autorative Nameserver für dieses Zone ist.
PTR | target: Stelle im DNS namespace auf den dieser Record zeigt.
TXT | txt: Beliebieger String der diesem Record zugeordnet ist.
HINFO | cpu: IANA Nummer für die CPU des Hosts, der durch dieses Record referenziert wird. os: IANA Nummer für das Betriebssystem des Hosts, der durch dieses Record referenziert wird. Siehe IANAs » Operating System Names für die Bedeutung dieses Records.
SOA | mname: FQND für den Host von dem dieses Records kommen. rname: E-Mail Adress für den Administrator dieser Domain. serial: Aufsteigende Nummer für die Revision der angefragen Domain. refresh: Aktualisierungsintervall den die sekundären Nameserver nutzen sollten, wenn sie ihre gespiegelten Kopien der Zone aktualisieren wollen. retry: Zeit die nach einem fehlerhaften Versuch gewartet werden soll. expire: Maximale Zeit, die ein sekundärer Nameserver Kopien der Zone behalten soll. Wird nach jedem erfolgreichen Refresh neu gezählt. minimum-ttl: Anzahl der Sekunden, die eine Anfrage im Cache behalten wird. Kann von individuellen Resource Records überschrieben werden resource records.
AAAA | ipv6: IPv6 Addresse
A6(PHP >= 5.1.0) | masklen: Anzahl der Bits, die von dem durch chain vorgegeben Ziel geerbt werden. ipv6: Adresse mit dem dieser spezielle Record zusammengeführt wird. chain. chain: Übergeordneter Record mit dem ipv6 Daten zusammengeführt werden.
SRV | pri: (Priorität) Niedrigere Zahlen bedeuten höhrere Priorität. weight: Gewicht um die Chance jedes targets zu beeinflussen. Bsp: Ziel A: 3, Ziel B: 2. Ziel A wird im Mittel in 60% der Fälle gewählt. target and port: Hostname und Port unter dem der Service erreicht werden kann. Für weitere Information siehe: » RFC 2782
NAPTR | order and pref: Gleichweritg zu pri and weight oben. flags, services, regex, und replacement: Parameter wie in » RFC 2915 definiert.

Changelog

Version | Beschreibung
5.4.0 | raw Parameter hinzugefügt.
5.3.0 | Diese Funktion ist jetzt auf Windows Plattformen verfügbar.
5.3.0 | Bis zu diesesm Release wurde bei gegebenem authns Parameter auch der addtl Parameter benötigt

Beispiele

Beispiel #1 Benutzung von dns_get_record()

<?php
$result = dns_get_record("php.net");
print_r($result);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [0] => Array
        (
            [host] => php.net
            [type] => MX
            [pri] => 5
            [target] => pair2.php.net
            [class] => IN
            [ttl] => 6765
        )

    [1] => Array
        (
            [host] => php.net
            [type] => A
            [ip] => 64.246.30.37
            [class] => IN
            [ttl] => 8125
        )

)

Beispiel #2 Benutzung von dns_get_record() und DNS_ANY

Da man häufig auch die IP des Mailservers für einen MX Record benötigt gibt dns_get_record() auch ein Array in addtl in dem die zugehörigen Records zu finden sind. Ebenso wird authns mit einer Liste der autorativen Nameserver zurückgegeben.

<?php
/* Request "ANY" record for php.net,
   and create $authns and $addtl arrays
   containing list of name servers and
   any additional records which go with
   them */
$result = dns_get_record("php.net", DNS_ANY, $authns, $addtl);
echo "Result = ";
print_r($result);
echo "Auth NS = ";
print_r($authns);
echo "Additional = ";
print_r($addtl);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Result = Array
(
    [0] => Array
        (
            [host] => php.net
            [type] => MX
            [pri] => 5
            [target] => pair2.php.net
            [class] => IN
            [ttl] => 6765
        )

    [1] => Array
        (
            [host] => php.net
            [type] => A
            [ip] => 64.246.30.37
            [class] => IN
            [ttl] => 8125
        )

)
Auth NS = Array
(
    [0] => Array
        (
            [host] => php.net
            [type] => NS
            [target] => remote1.easydns.com
            [class] => IN
            [ttl] => 10722
        )

    [1] => Array
        (
            [host] => php.net
            [type] => NS
            [target] => remote2.easydns.com
            [class] => IN
            [ttl] => 10722
        )

    [2] => Array
        (
            [host] => php.net
            [type] => NS
            [target] => ns1.easydns.com
            [class] => IN
            [ttl] => 10722
        )

    [3] => Array
        (
            [host] => php.net
            [type] => NS
            [target] => ns2.easydns.com
            [class] => IN
            [ttl] => 10722
        )

)
Additional = Array
(
    [0] => Array
        (
            [host] => pair2.php.net
            [type] => A
            [ip] => 216.92.131.5
            [class] => IN
            [ttl] => 6766
        )

    [1] => Array
        (
            [host] => remote1.easydns.com
            [type] => A
            [ip] => 64.39.29.212
            [class] => IN
            [ttl] => 100384
        )

    [2] => Array
        (
            [host] => remote2.easydns.com
            [type] => A
            [ip] => 212.100.224.80
            [class] => IN
            [ttl] => 81241
        )

    [3] => Array
        (
            [host] => ns1.easydns.com
            [type] => A
            [ip] => 216.220.40.243
            [class] => IN
            [ttl] => 81241
        )

    [4] => Array
        (
            [host] => ns2.easydns.com
            [type] => A
            [ip] => 216.220.40.244
            [class] => IN
            [ttl] => 81241
        )

)

Anmerkungen

Hinweis:

Für die Kompatibilität auf einigen Betriebsystemem mit Versionen vor PHP 5.3.0 kann die » PEAR Klasse » Net_DNS benutzt werden.

Siehe auch

  • dns_get_mx() - Alias von getmxrr
  • dns_check_record() - Alias von checkdnsrr

dns_get_mx
fsockopen
Netzwerk-Funktionen


Stellt eine Internet- oder Unix-Domain-Socket-Verbindung her

dns_get_record
gethostbyaddr
Netzwerk-Funktionen
PHP Manual

fsockopen

(PHP 4, PHP 5, PHP 7)

fsockopen — Stellt eine Internet- oder Unix-Domain-Socket-Verbindung her

Beschreibung

resource fsockopen ( string $hostname [, int $port = -1 [, int &$errno [, string &$errstr [, float $timeout = ini_get("default_socket_timeout") ]]]] )

Initialisiert eine Socket-Verbindung zu der in hostname angegebenen Ressource.

PHP unterstützt Ziele im Internet und Unixdomänen, wie sie unter Liste der unterstützten Socket-Transporter beschrieben sind. Eine Liste unterstützter Transportarten können Sie auch mittels stream_get_transports() ermitteln.

Der Socket wird standardmäßig im Blocking Mode geöffnet. Sie können auf den Non-Blocking-Modus wechseln, indem Sie die Funktion stream_set_blocking() nutzen.

Die Funktion stream_socket_client() ist ähnlich, bietet aber eine reichhaltigere Auswahl von Optionen an, einschließlich blockierungsfreier Verbindungen und der Möglichkeit einen Streamkontext zu übergeben.

Parameter-Liste

hostname

Ist OpenSSL-Support installiert, können Sie dem Parameter hostname entweder ein ssl:// oder ein tls:// voranstellen, um eine SSL- oder TLS-Verbindung aufzubauen, die via TCP/IP mit dem entfernten Server verbunden wird.

port

Die Portnummer. Diese kann ausgelassen und mit -1 übersprungen werden, wenn der Transport keinen Port verwendet, so wie unix://.

errno

Sofern unterstützt, enthält der Parameter die Fehlernummer des Systemlevels, die beim Aufruf der connect()-Funktion auftrat.

Wenn der Rückgabewert von errno 0 ist und die Funktion FALSE zurückgibt, ist dies ein Zeichen, dass der Fehler vor dem connect()-Aufruf auftrat. Dies ist meist der Fall, wenn es ein Problem beim Initialisieren des Sockets gibt.

errstr

Die Fehlermeldung als String.

timeout

Der Connection-Timeout in Sekunden.

Hinweis:

Wenn Sie einen Timeout für das Lesen oder Schreiben von Daten über den Socket setzen wollen, verwenden Sie stream_set_timeout(), da der timeout-Parameter von fsockopen() nur für das reine Konnektieren des Sockets gedacht ist.

Rückgabewerte

Die Funktion fsockopen() gibt einen Zeiger auf eine Datei zurück, der zusammen mit den anderen Dateifunktionen (wie fgets(), fgetss(), fwrite(), fclose() und feof()) verwendet werden kann. Wenn der Aufruf fehlschlägt, wird FALSE zurückgegeben.

Fehler/Exceptions

Wirft E_WARNING, wenn hostname keine gültige Domain ist.

Beispiele

Beispiel #1 fsockopen()-Beispiel

<?php
$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
if (!$fp) {
    echo "$errstr ($errno)<br />\n";
} else {
    $out = "GET / HTTP/1.1\r\n";
    $out .= "Host: www.example.com\r\n";
    $out .= "Connection: Close\r\n\r\n";
    fwrite($fp, $out);
    while (!feof($fp)) {
        echo fgets($fp, 128);
    }
    fclose($fp);
}
?>

Beispiel #2 Eine UDP-Verbindung nutzen

Das folgende Beispiel zeigt, wie Sie den Tag und die Zeit vom UDP-Service "daytime" (Port 13) Ihrer Maschine abfragen können.

<?php
$fp = fsockopen("udp://127.0.0.1", 13, $errno, $errstr);
if (!$fp) {
    echo "ERROR: $errno - $errstr<br />\n";
} else {
    fwrite($fp, "\n");
    echo fread($fp, 26);
    fclose($fp);
}
?>

Anmerkungen

Hinweis:

Abhängig von der Systemumgebung kann es vorkommen, dass die Unix-Domäne oder der optionale Connection-Timeout nicht verfügbar sind.

Warnung

UDP-Sockets werden manchmal ohne die Rückgabe eines Fehlermeldung geöffnet, obwohl der entfernte Host nicht erreichbar ist. Der Fehler wird nur sichtbar, wenn Sie Daten vom Socket lesen oder zum Socket schreiben wollen. Der Grund dafür ist, dass UDP ein "verbindungsloses" Protokoll ist, das bedeutet, dass das Betriebssystem nicht versucht, eine Verbindung zum Socket herzustellen, solange es nicht wirklich Daten senden oder empfangen muss.

Hinweis: Wenn Sie eine numerische IPv6-Adresse angeben, z.B. fe80::1, müssen Sie die IP in eckige Klammern schreiben, z.B. tcp://[fe80::1]:80.

Siehe auch

  • pfsockopen() - Öffnet eine persistente Verbindung zum Internet oder zu einem Unix-Domainsocket
  • stream_socket_client() - Open Internet or Unix domain socket connection
  • stream_set_blocking() - Set blocking/non-blocking mode on a stream
  • stream_set_timeout() - Set timeout period on a stream
  • fgets() - Liest eine Zeile von der Position des Dateizeigers
  • fgetss() - Liest eine Zeile von der Position des Dateizeigers und entfernt HTML Tags.
  • fwrite() - Binär-sicheres Dateischreiben
  • fclose() - Schließt einen offenen Dateizeiger
  • feof() - Prüft, ob ein Dateizeiger am Ende der Datei steht
  • socket_connect() - Baut eine Verbindung über einen Socket auf
  • Die Curl-Erweiterung

dns_get_record
gethostbyaddr
Netzwerk-Funktionen


Ermittelt den zur angegebenen IP-Adresse passenden Internet-Hostnamen

fsockopen
gethostbyname
Netzwerk-Funktionen
PHP Manual

gethostbyaddr

(PHP 4, PHP 5, PHP 7)

gethostbyaddr — Ermittelt den zur angegebenen IP-Adresse passenden Internet-Hostnamen

Beschreibung

string gethostbyaddr ( string $ip_address )

Gibt den Internet-Hostnamen passend zur angegebenen ip_address zurück.

Parameter-Liste

ip_address

Die IP-Adresse des Hosts.

Rückgabewerte

Gibt bei Erfolg den Hostnamen oder im Fehlerfall die unmodifizierte ip_address zurück, oder FALSE bei missgestalteter Eingabe.

Beispiele

Beispiel #1 Ein einfaches gethostbyaddr()-Beispiel

<?php
$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);

echo $hostname;
?>

Siehe auch

  • gethostbyname() - Ermittelt die zum angegebenen Internet-Hostnamen passende IPv4-Adresse
  • gethostbynamel() - Ermittelt eine Liste von IPv4-Adressen passend zum angegebenen Internet-Hostnamen

fsockopen
gethostbyname
Netzwerk-Funktionen


Ermittelt die zum angegebenen Internet-Hostnamen passende IPv4-Adresse

gethostbyaddr
gethostbynamel
Netzwerk-Funktionen
PHP Manual

gethostbyname

(PHP 4, PHP 5, PHP 7)

gethostbyname — Ermittelt die zum angegebenen Internet-Hostnamen passende IPv4-Adresse

Beschreibung

string gethostbyname ( string $hostname )

Gibt die IPv4-Adresse des in hostname angegebenen Internet-Hosts zurück.

Parameter-Liste

hostname

Der Hostname.

Rückgabewerte

Gibt die IPv4-Adresse oder im Fehlerfall einen String zurück, der den unveränderten hostname enthält.

Beispiele

Beispiel #1 Ein einfaches gethostbyname()-Beispiel

<?php
$ip = gethostbyname('www.example.com');

echo $ip;
?>

Siehe auch

  • gethostbyaddr() - Ermittelt den zur angegebenen IP-Adresse passenden Internet-Hostnamen
  • gethostbynamel() - Ermittelt eine Liste von IPv4-Adressen passend zum angegebenen Internet-Hostnamen
  • inet_pton() - Konvertiert eine IP-Adresse im menschenlesbaren Format in eine komprimierte in_addr-Repräsentation
  • inet_ntop() - Konvertiert eine komprimierte Internetadresse in ein menschenlesbares Format

gethostbyaddr
gethostbynamel
Netzwerk-Funktionen


Ermittelt eine Liste von IPv4-Adressen passend zum angegebenen Internet-Hostnamen

gethostbyname
gethostname
Netzwerk-Funktionen
PHP Manual

gethostbynamel

(PHP 4, PHP 5, PHP 7)

gethostbynamel — Ermittelt eine Liste von IPv4-Adressen passend zum angegebenen Internet-Hostnamen

Beschreibung

array gethostbynamel ( string $hostname )

Gibt eine Liste von IPv4-Adressen zurück, zu denen der angegebene Internet-Host hostname aufgelöst wurde.

Parameter-Liste

hostname

Der Hostname.

Rückgabewerte

Gibt ein Array von IPv4-Adressen zurück. Kann hostname nicht aufgelöst werden, wird FALSE zurückgegeben.

Beispiele

Beispiel #1 gethostbynamel() example

<?php
$hosts = gethostbynamel('www.example.com');
print_r($hosts);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => 192.0.34.166
)

Siehe auch

  • gethostbyname() - Ermittelt die zum angegebenen Internet-Hostnamen passende IPv4-Adresse
  • gethostbyaddr() - Ermittelt den zur angegebenen IP-Adresse passenden Internet-Hostnamen
  • checkdnsrr() - Prüft DNS-Einträge auf Übereinstimmung mit einem gegebenen Internet-Host-Namen oder einer IP-Adresse
  • getmxrr() - Ermittelt die zu einem Internet-Hostnamen passenden MX-Records
  • the named(8) manual page

gethostbyname
gethostname
Netzwerk-Funktionen


Gets the host name

gethostbynamel
getmxrr
Netzwerk-Funktionen
PHP Manual

gethostname

(PHP >= 5.3.0)

gethostname — Gets the host name

Beschreibung

string gethostname ( void )

gethostname() gets the standard host name for the local machine.

Rückgabewerte

Returns a string with the hostname on success, otherwise FALSE is returned.

Beispiele

Beispiel #1 A simple gethostname() example

<?php
echo gethostname(); // may output e.g,: sandie

// Or, an option that also works before PHP 5.3
echo php_uname('n'); // may output e.g,: sandie
?>

Siehe auch

  • gethostbyname() - Ermittelt die zum angegebenen Internet-Hostnamen passende IPv4-Adresse
  • gethostbyaddr() - Ermittelt den zur angegebenen IP-Adresse passenden Internet-Hostnamen
  • php_uname() - Returns information about the operating system PHP is running on

gethostbynamel
getmxrr
Netzwerk-Funktionen


Ermittelt die zu einem Internet-Hostnamen passenden MX-Records

gethostname
getprotobyname
Netzwerk-Funktionen
PHP Manual

getmxrr

(PHP 4, PHP 5, PHP 7)

getmxrr — Ermittelt die zu einem Internet-Hostnamen passenden MX-Records

Beschreibung

bool getmxrr ( string $hostname , array &$mxhosts [, array &$weight ] )

Sucht im DNS nach MX-Datensätzen, die zu hostname passen.

Parameter-Liste

hostname

Der Internet-Hostname.

mxhosts

Eine Liste der gefundenen MX-Einträge wird im Array mxhosts abgelegt.

weight

Wenn ein weight-Array übergeben wurde, werden darin die Gewichtungsinformationen gesammelt.

Rückgabewerte

Gibt TRUE zurück, wenn mindestens ein Datensatz gefunden wurde. Wurde kein Datensatz gefunden oder trat ein Fehler auf, wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.3.0 | Diese Funktion ist jetzt auf Windowsplattformen verfügbar.

Anmerkungen

Hinweis:

Diese Funktion sollte nicht verwendet werden, um Adressverifikation durchzuführen. Nur die im DNS gefundenen Mailserver werden zurückgegeben; daher sollte entsprechend » RFC 2821 der hostname selbst mit der Priorität 0 als einziger MX verwendet werden, wenn kein MX-Eintrag gefunden wurde.

Hinweis:

Die Funktion stand unter Windows nicht immer zur Verfügung. Verwenden Sie daher ggf. die » PEAR-Klasse » Net_DNS.

Siehe auch

  • checkdnsrr() - Prüft DNS-Einträge auf Übereinstimmung mit einem gegebenen Internet-Host-Namen oder einer IP-Adresse
  • dns_get_record() - Den DNS Resource Record für einen gegebenen Hostname finden.
  • gethostbyname() - Ermittelt die zum angegebenen Internet-Hostnamen passende IPv4-Adresse
  • gethostbynamel() - Ermittelt eine Liste von IPv4-Adressen passend zum angegebenen Internet-Hostnamen
  • gethostbyaddr() - Ermittelt den zur angegebenen IP-Adresse passenden Internet-Hostnamen
  • die named(8)-Manualseite

gethostname
getprotobyname
Netzwerk-Funktionen


Ermittelt die Protokollnummer anhand des Protokollnamens

getmxrr
getprotobynumber
Netzwerk-Funktionen
PHP Manual

getprotobyname

(PHP 4, PHP 5, PHP 7)

getprotobyname — Ermittelt die Protokollnummer anhand des Protokollnamens

Beschreibung

int getprotobyname ( string $name )

Die Funktion getprotobyname() gibt die Protokollnummer passend zu dem Protokoll name zurück. Der Wert wird anhand der Datei /etc/protocols ermittelt.

Parameter-Liste

name

Der Protokollname.

Rückgabewerte

Gibt die Protokollnummer zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 getprotobyname()-Beispiel

<?php
$protocol = 'tcp';
$get_prot = getprotobyname($protocol);
if ($get_prot === FALSE) {
    echo 'Ungueltiges Protokoll';
} else {
    echo 'Protokoll #' . $get_prot;
}
?>

Siehe auch

  • getprotobynumber() - Ermittelt den Protokollnamen anhand der Protokollnummer

getmxrr
getprotobynumber
Netzwerk-Funktionen


Ermittelt den Protokollnamen anhand der Protokollnummer

getprotobyname
getservbyname
Netzwerk-Funktionen
PHP Manual

getprotobynumber

(PHP 4, PHP 5, PHP 7)

getprotobynumber — Ermittelt den Protokollnamen anhand der Protokollnummer

Beschreibung

string getprotobynumber ( int $number )

Die Funktion getprotobynumber() gibt den Protokollnamen passend zur angegebenen Protokollnummer (number) zurück. Der Wert wird anhand der Datei /etc/protocols ermittelt.

Parameter-Liste

number

Die Protokollnummer.

Rückgabewerte

Gibt den Protokollnamen als String zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • getprotobyname() - Ermittelt die Protokollnummer anhand des Protokollnamens

getprotobyname
getservbyname
Netzwerk-Funktionen


Ermittelt die Portnummer passend zu einem Internet-Dienst und Protokoll

getprotobynumber
getservbyport
Netzwerk-Funktionen
PHP Manual

getservbyname

(PHP 4, PHP 5, PHP 7)

getservbyname — Ermittelt die Portnummer passend zu einem Internet-Dienst und Protokoll

Beschreibung

int getservbyname ( string $service , string $protocol )

Die Funktion getservbyname() gibt den Port zurück, der zum service für das angegebene protocol gehört. Der Wert wird anhand des Eintrags in der /etc/services ermittelt.

Parameter-Liste

service

Der Internet-Service-Name als String.

protocol

protocol ist entweder "tcp" or "udp" (in Kleinschreibung).

Rückgabewerte

Gibt die Portnummer zurück. Wird service oder protocol nicht gefunden, wird FALSE zurückgegeben.

Beispiele

Beispiel #1 getservbyname()-Beispiel

<?php
$services = array('http', 'ftp', 'ssh', 'telnet', 'imap',
'smtp', 'nicname', 'gopher', 'finger', 'pop3', 'www');

foreach ($services as $service) {
    $port = getservbyname($service, 'tcp');
    echo $service . ": " . $port . "<br />\n";
}
?>

Siehe auch

  • getservbyport() - Ermittelt einen Internet-Dienst passend zu einem Port und Protokoll
  • » http://www.iana.org/assignments/port-numbers für die komplette Liste der Portnummern.

getprotobynumber
getservbyport
Netzwerk-Funktionen


Ermittelt einen Internet-Dienst passend zu einem Port und Protokoll

getservbyname
header_register_callback
Netzwerk-Funktionen
PHP Manual

getservbyport

(PHP 4, PHP 5, PHP 7)

getservbyport — Ermittelt einen Internet-Dienst passend zu einem Port und Protokoll

Beschreibung

string getservbyport ( int $port , string $protocol )

Die Funktion getservbyport() gibt den Internet-Dienst zurück, der zum port für das angegebene protocol passt (der Service wird anhand der Datei /etc/services ermittelt).

Parameter-Liste

port

Die Portnummer.

protocol

protocol ist entweder "tcp" oder "udp" (in Kleinschreibung).

Rückgabewerte

Gibt den Internet-Service-Namen als String zurück.

Siehe auch

  • getservbyname() - Ermittelt die Portnummer passend zu einem Internet-Dienst und Protokoll

getservbyname
header_register_callback
Netzwerk-Funktionen


Call a header function

getservbyport
header_remove
Netzwerk-Funktionen
PHP Manual

header_register_callback

(PHP 5 >= 5.4.0, PHP 7)

header_register_callback — Call a header function

Beschreibung

bool header_register_callback ( callable $callback )

Registers a function that will be called when PHP starts sending output.

The callback is executed just after PHP prepares all headers to be sent, and before any other output is sent, creating a window to manipulate the outgoing headers before being sent.

Parameter-Liste

callback

Function called just before the headers are sent. It gets no parameters and the return value is ignored.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 header_register_callback() example

<?php

header('Content-Type: text/plain');
header('X-Test: foo');

function foo() {
 foreach (headers_list() as $header) {
   if (strpos($header, 'X-Powered-By:') !== false) {
     header_remove('X-Powered-By');
   }
   header_remove('X-Test');
 }
}

$result = header_register_callback('foo');
echo "a";
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Content-Type: text/plain

a

Anmerkungen

header_register_callback() is executed just as the headers are about to be sent out, so any output from this function can break output.

Hinweis:

Header sind nur dann zugänglich und werden nur dann gesendet, wenn die genutzte SAPI sie unterstützt.

Siehe auch

  • headers_list() - Gibt eine Liste der gesendeten (oder zum Senden vorbereiteten) Response Header zurück
  • header_remove() - Remove previously set headers
  • header() - Sendet einen HTTP-Header in Rohform
getservbyport
header_remove
Netzwerk-Funktionen


Remove previously set headers

header_register_callback
header
Netzwerk-Funktionen
PHP Manual

header_remove

(PHP 5 >= 5.3.0, PHP 7)

header_remove — Remove previously set headers

Beschreibung

void header_remove ([ string $name ] )

Removes an HTTP header previously set using header().

Parameter-Liste

name

The header name to be removed.

Hinweis: This parameter is case-insensitive.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Unsetting specific header.

<?php
header("X-Foo: Bar");
header("X-Bar: Baz");
header_remove("X-Foo");
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

X-Bar: Baz

Beispiel #2 Unsetting all previously set headers.

<?php
header("X-Foo: Bar");
header("X-Bar: Baz");
header_remove();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Anmerkungen

Achtung

    This function will remove all headers set by PHP,
    including cookies, session and the X-Powered-By headers.

Hinweis:

  Header sind nur dann zugänglich und werden nur dann gesendet,
  wenn die genutzte SAPI sie unterstützt.

Siehe auch

  • header() - Sendet einen HTTP-Header in Rohform
    •

  • headers_sent() - Prüft, ob oder wo die Header bereits gesendet wurden
    •

header_register_callback

header

Netzwerk-Funktionen


Sendet einen HTTP-Header in Rohform

header_remove
headers_list
Netzwerk-Funktionen
PHP Manual

header

(PHP 4, PHP 5, PHP 7)

header — Sendet einen HTTP-Header in Rohform

Beschreibung

void header ( string $string [, bool $replace = true [, int $http_response_code ]] )

header() wird zum Senden von HTTP-Anfangsinformationen (Headern) im Rohformat benutzt. Weitere Informationen über die HTTP Header finden Sie in der » HTTP/1.1 Spezifikation.

Beachten Sie, dass Sie die Funktion header() aufrufen müssen, bevor Sie irgendeine andere Art von Ausgabe (seien es normale HTML-Tags, Leerzeilen in einer Datei oder von PHP) zum Client schicken. Es handelt sich hier um einen typischen Fehler, der zum Beispiel auftritt, wenn Sie Code mittels include oder require oder einer anderen Dateizugriffs-Funktion einlesen, die Leerzeichen oder Leerzeilen enthalten, die ausgegeben werden, bevor header() aufgerufen wird. Das gleiche Problem kann auch auftreten, wenn Sie eine Datei verwenden, in der HTML und PHP vermischt wurden.

<html>
<?php
/* Dies wird einen Fehler provozieren. Beachten Sie die vorangehende Ausgabe,
 * die vor dem Aufruf von header() erzeugt wird */
header('Location: http://www.example.com/');
exit;
?>

Parameter-Liste

string

Der Header-String.

Es gibt zwei Spezialfälle von Header-Aufrufen. Der erste ist ein Header, der mit "HTTP/" beginnt (ob Groß- oder Kleinschreibung ist nicht relevant) und zum Herausfinden des zu sendenden HTTP Statuscodes verwendet wird. Wenn Sie zum Beispiel Apache konfiguriert haben, um ein PHP Skript zum Bearbeiten von Anforderungen fehlender Dateien (mittels der ErrorDocument-Direktive) zu verwenden, möchten Sie bestimmt sicherstellen, dass Ihr Skript den passenden Statuscode generiert.

<?php
header("HTTP/1.0 404 Not Found");
?>

Der zweite Spezialfall ist der "Location:" Header. Es wird nicht nur der Header an den Browser geschickt, sondern auch ein REDIRECT (302) Statuscode, wenn nicht bereits der 201- oder ein 3xx-Statuscode gesendet wurde.

<?php
header("Location: http://www.example.com/"); /* Browser umleiten */

/* Stellen Sie sicher, dass der nachfolgende Code nicht ausgefuehrt wird, wenn
   eine Umleitung stattfindet. */
exit;
?>

replace

Der optionale Parameter replace gibt an, ob der Header einen vorhergehenden gleichartigen Header ersetzten soll, oder ob ein zweiter Header des selben Typs hinzugefügt werden soll. Standardmäßig wird ersetzt; wenn Sie als zweites Argument FALSE übergeben, können Sie so mehrere Header desselben Typs erzwingen. Zum Beispiel:

<?php
header('WWW-Authenticate: Negotiate');
header('WWW-Authenticate: NTLM', false);
?>

http_response_code

Forciert einen HTTP-Response-Code des angegebenen Wertes. Dieser Parameter hat nur einen Effekt, wenn string nicht leer ist.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Changelog

Version | Beschreibung
5.1.2 | Die Funktion unterbindet das gleichzeitige Versenden mehrerer Header zum Schutz gegen Header-Injection-Angriffe.

Beispiele

Beispiel #1 Download-Dialog

Wollen Sie den Benutzer auffordern, die von Ihnen gesendeten Daten wie z.B. eine generierte PDF Datei zu speichern, können Sie den Header » Content-Disposition verwenden, um einen empfohlenen Dateinamen anzubieten und den Browser zu zwingen, den Dialog zum Speichern anzuzeigen.

<?php
// Wir werden eine PDF Datei ausgeben
header('Content-Type: application/pdf');

// Es wird downloaded.pdf benannt
header('Content-Disposition: attachment; filename="downloaded.pdf"');

// Die originale PDF Datei heißt original.pdf
readfile('original.pdf');
?>

Beispiel #2 Caching-Direktiven

PHP-Skripte erzeugen oft dynamische Inhalte, die weder vom Browser noch von irgendeinem Proxy zwischen Web-Server und Client-Browser gepuffert ("gecached") werden sollen bzw. dürfen. Bei vielen Proxies und Browsern kann das Cachen wie folgt unterbunden werden:

<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Datum in der Vergangenheit
?>

Hinweis:

Es könnte auch sein, dass Ihre Seiten nicht zwischengespeichert werden, auch wenn Sie obigen Header nicht ausgeben. Es gibt eine Anzahl Optionen, welche die Benutzer in ihren Browser einstellen können, um das standardmäßige Caching-Verhalten zu verändern. Durch das Senden obiger Header sollten Sie jedwede Einstellungen, die die Ausgabe Ihres Skriptes zwischenspeichern würden, außer Kraft setzen.

Weiterhin können Sie session_cache_limiter() und die Konfigurationsoption session.cache_limiter verwenden, um die korrekten Header bezüglich Caching automatisch generieren zu lassen, sollten Sie Sessions benutzen.

Anmerkungen

Hinweis:

Header sind nur dann zugänglich und werden nur dann gesendet, wenn die genutzte SAPI sie unterstützt.

Hinweis:

Sie können die Limitierung, dass Header vor jeglicher Ausgabe gesendet werden müssen, umgehen, indem Sie Outputbuffering benutzen, mit dem Overhead, dass Ihre gesamten Ausgaben an den Browser auf dem Server gepuffert werden, bis Sie diese senden. Sie können dies tun, indem Sie in Ihrem Skript ob_start() und ob_end_flush() verwenden, oder indem Sie die Konfigurationsdirektive output_buffering in der php.ini bzw. in den Server-Konfigurationsdateien auf On setzen.

Hinweis:

Die HTTP-Status-Headerzeile wird immer die erste zum Client gesendete sein, egal ob der aktuelle header()-Aufruf der erste ist oder nicht. Der Status kann mittels header() jederzeit mit einer neuen Statuszeile überschrieben werden, sofern die HTTP-Header noch nicht gesendet wurden.

Hinweis:

Der Microsoft Internet Explorer 4.01 hat einen Bug, der diese Funktionalität verhindert, und es gibt keinen Workaround. Auch im Microsoft Internet Explorer 5.5 existiert ein Bug, der dies behindert, dieser kann jedoch mittels eines Upgrades auf Service Pack 2 oder höher behoben werden.

Hinweis: Ist safe mode aktiviert, wird die UID des Skriptes dem realm-Teil des Headers WWW-Authenticate (für HTTP Authentifizierung verwendet) hinzugefügt, sollten Sie diesen Header setzen.

Hinweis:

HTTP/1.1 verlangt einen absoluten URI inklusive dem Schema, Hostnamen und absoluten Pfad als Argument von » Location:, aber manche Clients akzeptieren auch relative URIs. Gewöhnlich können Sie mittels $_SERVER['HTTP_HOST'], $_SERVER['PHP_SELF'] und dirname() aus einem relativen Link einen absoluten URI selbst erstellen:

<?php
/* Redirect auf eine andere Seite im aktuell angeforderten Verzeichnis */
$host  = $_SERVER['HTTP_HOST'];
$uri   = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$extra = 'mypage.php';
header("Location: http://$host$uri/$extra");
exit;
?>

Hinweis:

Die Session-ID wird nicht mit dem Location-Header übermittelt, selbst wenn session.use_trans_sid eingeschaltet ist. Sie muss daher manuell durch Verwendung der SID-Konstante hinzugefügt werden.

Siehe auch

  • headers_sent() - Prüft, ob oder wo die Header bereits gesendet wurden
  • setcookie() - Sendet ein Cookie
  • http_response_code() - Get or Set the HTTP response code
  • The section on HTTP authentication

header_remove
headers_list
Netzwerk-Funktionen


Gibt eine Liste der gesendeten (oder zum Senden vorbereiteten) Response Header zurück

header
headers_sent
Netzwerk-Funktionen
PHP Manual

headers_list

(PHP 5, PHP 7)

headers_list — Gibt eine Liste der gesendeten (oder zum Senden vorbereiteten) Response Header zurück

Beschreibung

array headers_list ( void )

headers_list() gibt ein Array der Header zurück, die zum Browser/Client gesendet werden. Um festzustellen, ob diese Header bereits gesendet worden sind, verwenden Sie headers_sent().

Rückgabewerte

Gibt ein numerisch indeziertes Array der Header zurück.

Beispiele

Beispiel #1 Beispiele zur Verwendung von headers_list()

<?php

/* setcookie() fügt für sich einen eigenen Response Header ein */
setcookie('foo', 'bar');

/* Einen eigenen Response Header definieren
   Dieser wird von den meisten Clients ignoriert */
header("X-Sample-Test: foo");

/* Specify plain text content in our response */
header('Content-type: text/plain');

/* Welche Header wurden gesendet? */
var_dump(headers_list());

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(4) {
  [0]=>
  string(23) "X-Powered-By: PHP/5.1.3"
  [1]=>
  string(19) "Set-Cookie: foo=bar"
  [2]=>
  string(18) "X-Sample-Test: foo"
  [3]=>
  string(24) "Content-type: text/plain"
}

Anmerkungen

Hinweis:

Header sind nur dann zugänglich und werden nur dann gesendet, wenn die genutzte SAPI sie unterstützt.

Siehe auch

  • headers_sent() - Prüft, ob oder wo die Header bereits gesendet wurden
  • header() - Sendet einen HTTP-Header in Rohform
  • setcookie() - Sendet ein Cookie
  • apache_response_headers() - Liefert alle HTTP-Responseheader
  • http_response_code() - Get or Set the HTTP response code

header
headers_sent
Netzwerk-Funktionen


Prüft, ob oder wo die Header bereits gesendet wurden

headers_list
http_response_code
Netzwerk-Funktionen
PHP Manual

headers_sent

(PHP 4, PHP 5, PHP 7)

headers_sent — Prüft, ob oder wo die Header bereits gesendet wurden

Beschreibung

bool headers_sent ([ string &$file [, int &$line ]] )

Prüft, ob oder wo die Header bereits gesendet wurden.

Sobald der Header-Block gesendet wurde, können Sie keine weiteren Header-Zeilen mit der Funktion header() hinzufügen. Mittels dieser Funktion können Sie aber zumindest Fehlermeldungen bezüglich der HTTP-Header vermeiden. Eine andere Möglichkeit ist die Verwendung von Output Buffering.

Parameter-Liste

file

Sind die optionalen Parameter file und line angegeben, schreibt headers_sent() den PHP-Dateinamen und die Zeilennummer, an denen die Ausgabe begann, in die Variablen file und line.

line

Die Zeilennummer, an der die Ausgabe begann.

Rückgabewerte

headers_sent() gibt FALSE zurück, wenn noch keine HTTP-Header gesendet wurden, ansonsten TRUE.

Beispiele

Beispiel #1 Beispiel zur Verwendung von headers_sent()

<?php

// Wenn keine Header gesendet wurden, sende einen
if (!headers_sent()) {
    header ('Location: http://www.example.com/');
    exit;
}

// Ein Beispiel für den Einsatz der seit PHP 4.3.0 verfügbaren optionalen
// Parameter file und line. Beachten Sie, dass $filename und $linenum für
// einen späteren Einsatz übergeben werden.
// Weisen Sie ihnen davor keine Werte zu.
if (!headers_sent($filename, $linenum)) {
    header ('Location: http://www.example.com/');
    exit;

// Wahrscheinlich wollen Sie hier eine Fehlermeldung auslösen
} else {

    echo "Header bereits gesendet in $filename in Zeile $linenum\n" .
         "Redirect nicht moeglich, klicken Sie daher statt dessen <a " .
         "href=\"http://www.example.com\">diesen Link</a> an\n";
    exit;
}

?>

Anmerkungen

Hinweis:

Header sind nur dann zugänglich und werden nur dann gesendet, wenn die genutzte SAPI sie unterstützt.

Siehe auch

  • ob_start() - Ausgabepufferung aktivieren
  • trigger_error() - Erzeugt eine benutzerdefinierte Fehlermeldung/Warnung/Benachrichtigung
  • headers_list() - Gibt eine Liste der gesendeten (oder zum Senden vorbereiteten) Response Header zurück
  • header() - Sendet einen HTTP-Header in Rohform für eine detailliertere Darlegung der relevanten Konzepte.

headers_list
http_response_code
Netzwerk-Funktionen


Get or Set the HTTP response code

headers_sent
inet_ntop
Netzwerk-Funktionen
PHP Manual

http_response_code

(PHP 5 >= 5.4.0, PHP 7)

http_response_code — Get or Set the HTTP response code

Beschreibung

mixed http_response_code ([ int $response_code ] )

Gets or sets the HTTP response status code.

Parameter-Liste

response_code

The optional response_code will set the response code.

Rückgabewerte

If response_code is provided, then the previous status code will be returned. If response_code is not provided, then the current status code will be returned. Both of these values will default to a 200 status code if used in a web server environment.

FALSE will be returned if response_code is not provided and it is not invoked in a web server environment (such as from a CLI application). TRUE will be returned if response_code is provided and it is not invoked in a web server environment (but only when no previous response status has been set).

Beispiele

Beispiel #1 Using http_response_code() in a web server environment

<?php

// Get the current response code and set a new one
var_dump(http_response_code(404));

// Get the new response code
var_dump(http_response_code());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(200)
int(404)

Beispiel #2 Using http_response_code() in a CLI environment

<?php

// Get the current default response code
var_dump(http_response_code());

// Set a response code
var_dump(http_response_code(201));

// Get the new response code
var_dump(http_response_code());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(true)
int(201)

Siehe auch

  • header() - Sendet einen HTTP-Header in Rohform
  • headers_list() - Gibt eine Liste der gesendeten (oder zum Senden vorbereiteten) Response Header zurück

headers_sent
inet_ntop
Netzwerk-Funktionen


Konvertiert eine komprimierte Internetadresse in ein menschenlesbares Format

http_response_code
inet_pton
Netzwerk-Funktionen
PHP Manual

inet_ntop

(PHP 5 >= 5.1.0, PHP 7)

inet_ntop — Konvertiert eine komprimierte Internetadresse in ein menschenlesbares Format

Beschreibung

string inet_ntop ( string $in_addr )

Die Funktion konvertiert eine 32-bittige IPv4- oder eine 128-bittige IPv6-Adresse (sofern PHP mit IPv6-Support kompiliert wurde) in ein für die Adressfamilie geeignetes Format.

Parameter-Liste

in_addr

Eine 32-bittige IPv4- or 128-bittige IPv6-Adresse.

Rückgabewerte

Gibt eine Stringrepräsentation der Adresse zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 inet_ntop()-Beispiel

<?php
$packed = chr(127) . chr(0) . chr(0) . chr(1);
$expanded = inet_ntop($packed);

/* Ausgabe: 127.0.0.1 */
echo $expanded;

$packed = str_repeat(chr(0), 15) . chr(1);
$expanded = inet_ntop($packed);

/* Ausgabe: ::1 */
echo $expanded;
?>

Changelog

Version | Beschreibung
5.3.0 | Die Funktion steht jetzt auch auf Windowsplattformen zur Verfügung.

Siehe auch

  • long2ip() - Konvertiert eine (IPv4) Netzwerkadresse in einen String, der das Punkt-Format enthält ("Dotted-Format")
  • ip2long() - Verwandelt eine gemäß IPv4-Protokoll angegebene Internet-Adresse vom Punkt-Format in die ausgeschriebene Adress-Angabe
  • inet_pton() - Konvertiert eine IP-Adresse im menschenlesbaren Format in eine komprimierte in_addr-Repräsentation

http_response_code
inet_pton
Netzwerk-Funktionen


Konvertiert eine IP-Adresse im menschenlesbaren Format in eine komprimierte in_addr-Repräsentation

inet_ntop
ip2long
Netzwerk-Funktionen
PHP Manual

inet_pton

(PHP 5 >= 5.1.0, PHP 7)

inet_pton — Konvertiert eine IP-Adresse im menschenlesbaren Format in eine komprimierte in_addr-Repräsentation

Beschreibung

string inet_pton ( string $address )

Die Funktion konvertiert eine menschenlesbare IPv4- oder IPv6-Adresse (sofern PHP mit IPv6-Support kompiliert wurde) in eine für die Adressfamilie geeignete 32-bittige oder 128-bittige Binärstruktur.

Parameter-Liste

address

Eine menschenlesbare IPv4- oder IPv6-Adresse.

Rückgabewerte

Gibt die in_addr-Representation der übergebenen address zurück, oder FALSE, wenn ein syntaktisch ungültiges address angegeben wurde (zum Beispiel, eine IPv4-Adresse ohne Punkte oder eine IPv6-Adresse ohne Doppelpunkte).

Beispiele

Beispiel #1 inet_pton()-Beispiel

<?php
$in_addr = inet_pton('127.0.0.1');

$in6_addr = inet_pton('::1');
?>

Changelog

Version | Beschreibung
5.3.0 | Die Funktion steht jetzt auch auf Windowsplattformen zur Verfügung.

Siehe auch

  • ip2long() - Verwandelt eine gemäß IPv4-Protokoll angegebene Internet-Adresse vom Punkt-Format in die ausgeschriebene Adress-Angabe
  • long2ip() - Konvertiert eine (IPv4) Netzwerkadresse in einen String, der das Punkt-Format enthält ("Dotted-Format")
  • inet_ntop() - Konvertiert eine komprimierte Internetadresse in ein menschenlesbares Format

inet_ntop
ip2long
Netzwerk-Funktionen


Verwandelt eine gemäß IPv4-Protokoll angegebene Internet-Adresse vom Punkt-Format in die ausgeschriebene Adress-Angabe

inet_pton
long2ip
Netzwerk-Funktionen
PHP Manual

ip2long

(PHP 4, PHP 5, PHP 7)

ip2long — Verwandelt eine gemäß IPv4-Protokoll angegebene Internet-Adresse vom Punkt-Format in die ausgeschriebene Adress-Angabe

Beschreibung

int ip2long ( string $ip_address )

Die Funktion ip2long() erzeugt aus einer im Punkt-Format angegebenen IPv4-Adresse eine ausgeschriebene Adress-Angabe.

ip2long() funktioniert auch mit unvollständigen IP-Adressen. Lesen Sie » http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/libs/commtrf2/inet_addr.htm, um weitere Informationen zu erhalten.

Parameter-Liste

ip_address

Eine Adresse im Standardformat.

Rückgabewerte

Gibt die IPv4-Adresse zurück. Ist ip_address ungültig, wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.2.10 | Vor dieser Version gab ip2long() manchmal eine gültige Zahl zurück, selbst wenn ein Wert übergeben wurde der keine (IPv4) Internet-Protokoll-Adresse in Dezimalpunktschreibweise war.

Beispiele

Beispiel #1 ip2long()-Beispiel:

<?php
$ip = gethostbyname('www.example.com');
$out = "Die folgenden URLs entsprechen sich:<br />\n";
$out .= 'http://www.example.com/, http://' . $ip . '/, and http://' . sprintf("%u", ip2long($ip)) . "/<br />\n";
echo $out;
?>

Beispiel #2 Eine IP-Adresse anzeigen

Das zweite Beispiel zeigt, wie eine konvertierte Adresse mittels printf() sowohl in PHP4 als auch in PHP 5 ausgegeben werden kann:

<?php
$ip   = gethostbyname('www.example.com');
$long = ip2long($ip);

if ($long == -1 || $long === FALSE) {
    echo 'Ungültige IP, versuchen Sie es noch einmal';
} else {
    echo $ip   . "\n";           // 192.0.34.166
    echo $long . "\n";           // -1073732954
    printf("%u\n", ip2long($ip)); // 3221234342
}
?>

Anmerkungen

Hinweis:

Da der integer-Typ von PHP vorzeichenbehaftet ist und viele IP-Adressen auf 32-bit Architekturen in einen negativen Integerwert aufgelöst werden, sollten Sie dort die Formatierungsangabe "%u" für sprintf() und printf() verwenden, um eine Stringrepräsentation der vorzeichenlosen IP-Adresse zu erhalten.

Hinweis:

ip2long() gibt in PHP 5 <= 5.0.2 für die IP-Adresse 255.255.255.255 FALSE zurück. Der Fehler wurde in PHP 5.0.3 gefixt, so dass wieder -1 zurückgegeben wird (ebenso wie in PHP 4).

Siehe auch

  • long2ip() - Konvertiert eine (IPv4) Netzwerkadresse in einen String, der das Punkt-Format enthält ("Dotted-Format")
  • sprintf() - Gibt einen formatierten String zurück

inet_pton
long2ip
Netzwerk-Funktionen


Konvertiert eine (IPv4) Netzwerkadresse in einen String, der das Punkt-Format enthält ("Dotted-Format")

ip2long
openlog
Netzwerk-Funktionen
PHP Manual

long2ip

(PHP 4, PHP 5, PHP 7)

long2ip — Konvertiert eine (IPv4) Netzwerkadresse in einen String, der das Punkt-Format enthält ("Dotted-Format")

Beschreibung

string long2ip ( string $proper_address )

Die Funktion long2ip() erzeugt eine Internet Adresse im Punkt-Format (also: www.xxx.yyy.zzz) anhand einer richtigen - ausgeschriebenen - Adress-Angabe.

Parameter-Liste

proper_address

Eine korrekte Adressrepräsentation.

Rückgabewerte

Gibt die Internet-IP-Adresse als String zurück.

Siehe auch

  • ip2long() - Verwandelt eine gemäß IPv4-Protokoll angegebene Internet-Adresse vom Punkt-Format in die ausgeschriebene Adress-Angabe

ip2long
openlog
Netzwerk-Funktionen


Stellt eine Verbindung zum Log-Dienst des Systems her

long2ip
pfsockopen
Netzwerk-Funktionen
PHP Manual

openlog

(PHP 4, PHP 5, PHP 7)

openlog — Stellt eine Verbindung zum Log-Dienst des Systems her

Beschreibung

bool openlog ( string $ident , int $option , int $facility )

Die Funktion openlog() öffnet eine Verbindung zum System-Logdienst eines Programmes.

Die Verwendung von openlog() ist optional. Die Funktion wird - falls erforderlich - automatisch von syslog() aufgerufen, dabei wird ident standardmäßig mit FALSE belegt.

Parameter-Liste

ident

Die Zeichenkette ident wird jeder Message hinzugefügt.

option

Der Parameter option wird verwendet um anzuzeigen, welchen Loggingoptionen bei der Generierung einer Logmessage verwendet wurden.

openlog()-Optionen
Konstante | Beschreibung
LOG_CONS | Tritt ein Fehler auf, wenn Daten an den Systemlogger gesendet werden, leite die Ausgabe direkt an die Konsole um.
LOG_NDELAY | Öffnet die Verbindung zum Log-Service sofort.
LOG_ODELAY | (Standardwert); öffnet die Verbindung erst, wenn die erste Meldung geloggt werden soll.
LOG_PERROR | Schreibt den Logeintrag auch in das Standard-Error-Device
LOG_PID | Fügt die PID an jede Message an
Sie können eine oder mehrere dieser Optionen verwenden. Benutzen Sie mehrere, müssen diese per OR getrennt werden. Um zum Beispiel die Verbindung sofort herzustellen, auf die Konsole zu schreiben und zugleich die PID in jede Meldung aufzunehmen, müssen Sie folgendes angeben: LOG_CONS | LOG_NDELAY | LOG_PID.

facility

Das Argument facility wird verwendet, um die Art des Programmes festzulegen, das die Nachricht loggt. Dies erlaubt Ihnen (in Ihrer speziellen SysLog-Konfiguration) die Festlegung der Behandlungsweise von Log-Nachrichten.

openlog()-Möglichkeiten
Konstante | Beschreibung
LOG_AUTH | Sicherheits-/Authorisierungsmeldungen (benutzt statt dessen LOG_AUTHPRIV auf Systemen, wo diese Konstante definiert ist).
LOG_AUTHPRIV | Sicherheits-/Authorisierungsmeldungen (private).
LOG_CRON | Zeitabhängig gestartete Dienste (cron und at).
LOG_DAEMON | Andere Systemdienste.
LOG_KERN | Kernel-Meldungen
LOG_LOCAL0 ... LOG_LOCAL7 | Reserviert für lokale Benutzung, diese Konstanten stehen unter Windows nicht zur Verfügung.
LOG_LPR | Zeilen-Drucker Subsystem.
LOG_MAIL | Mailing-Subsystem.
LOG_NEWS | USENET-News-Subsystem.
LOG_SYSLOG | Meldungen die intern von syslogd erzeugt wurden.
LOG_USER | Generische User-Level-Meldungen.
LOG_UUCP | UUCP-Subsystem

Hinweis:

LOG_USER ist der einzige unter Windows-Betriebssystemen gültige Logtyp.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • syslog() - Erzeugt eine Meldung im System-Logging
  • closelog() - Schließt die Verbindung zum System-Logger

long2ip
pfsockopen
Netzwerk-Funktionen


Öffnet eine persistente Verbindung zum Internet oder zu einem Unix-Domainsocket

openlog
setcookie
Netzwerk-Funktionen
PHP Manual

pfsockopen

(PHP 4, PHP 5, PHP 7)

pfsockopen — Öffnet eine persistente Verbindung zum Internet oder zu einem Unix-Domainsocket

Beschreibung

resource pfsockopen ( string $hostname [, int $port = -1 [, int &$errno [, string &$errstr [, float $timeout = ini_get("default_socket_timeout") ]]]] )

Diese Funktion verhält sich genauso wie fsockopen() mit dem Unterschied, dass die Verbindung nicht geschlossen wird, wenn das Script beendet wird. Sie ist die permanente Version von fsockopen().

Parameter-Liste

Bitte schlagen Sie für Informationen über die Parameter in der Dokumentation der Funktion fsockopen() nach.

Siehe auch

  • fsockopen() - Stellt eine Internet- oder Unix-Domain-Socket-Verbindung her

openlog
setcookie
Netzwerk-Funktionen


Sendet ein Cookie

pfsockopen
setrawcookie
Netzwerk-Funktionen
PHP Manual

setcookie

(PHP 4, PHP 5, PHP 7)

setcookie — Sendet ein Cookie

Beschreibung

bool setcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )

setcookie() definiert ein mit den HTTP Header-Informationen zu übertragendes Cookie. Wie andere Header auch, müssen Cookies vor jeglicher Ausgabe Ihres Skriptes gesendet werden (dies ist eine Einschränkung des Protokolls). Das bedeutet, dass Sie diese Funktion aufrufen müssen, bevor Sie eine Ausgabe, dazu zählen auch <html>- oder <head>-Tags sowie jede Art von Whitespaces, übermitteln.

Sind die Cookies einmal gesetzt, können Sie beim nächsten Seitenaufruf anhand der $_COOKIE oder $HTTP_COOKIE_VARS Arrays auf diese zugreifen. Beachten Sie, dass die Superglobals wie $_COOKIE seit PHP 4.1.0 verfügbar sind. Die Cookie-Werte stehen auch in $_REQUEST.

Parameter-Liste

Alle Argumente außer name sind optional. Sie können ein Argument auch mit einem leeren String ("") ersetzen, wenn Sie es übergehen wollen. Da der expire-Parameter einen Integer-Wert darstellt, kann er nicht durch die Angabe eines Leerstrings übersprungen werden, verwenden Sie daher statt dessen die Null (0).

» RFC 6265 liefert die normative Referenz wie die jeweiligen setcookie() Parameter interpretiert werden.

name

Der Name des Cookies.

value

Der Wert des Cookies. Dieser Wert wird auf dem Computer des Benutzers gespeichert, speichern Sie deshalb darin keine sensiblen Informationen. Angenommen der Parameter name ist 'cookiename', so erhält man seinen Wert mittels $_COOKIE['cookiename'].

expire

Der Zeitpunkt, an dem das Cookie ungültig wird. Dies ist ein Unix Timestamp, also die Anzahl Sekunden seit Beginn der Epoche. Mit anderen Worten, Sie werden diesen Wert wahrscheinlich mittels der Funktion time() plus der Anzahl Sekunden bis zum gewünschten Ablauf des Cookies setzen. Sie könnten aber auch mktime() verwenden. time()+60*60*24*30 wird das Cookie in 30 Tagen ablaufen lassen. Hat der Parameter den Wert 0 oder ist er nicht gesetzt, verfällt das Cookie am Ende der Session (wenn der Browser geschlossen wird).

Hinweis:

Beachten Sie, dass der expire-Parameter einen Unix-Timestamp enthält, im Gegensatz zum Datumsformat Wdy, DD-Mon-YYYY HH:MM:SS GMT. Die Konvertierung wird von PHP intern durchgeführt.

path

Der Pfad auf dem Server, für welchen das Cookie verfügbar sein wird. Ist er auf '/' gesetzt, wird das Cookie innerhalb der gesamten domain verfügbar. Ist er auf '/foo/' gesetzt, wird das Cookie nur innerhalb des Verzeichnisses /foo/ sowie allen Unterverzeichnissen wie z.B. /foo/bar/ der domain verfügbar. Der Standardwert ist das aktuelle Verzeichnis, in dem das Cookie gesetzt wurde.

domain

Die Domain, der das Cookie zur Verfügung steht. Wird die Domain auf 'www.example.com' gesetzt, ist das Cookie in der www Subdomain und in höheren Subdomains verfügbar. Cookies die in einer niedrigeren Subdomain verfügbar sind, wie 'example.com', sind in höheren Subdomains verfügbar, wie 'www.example.com'. Ältere Browser, die noch immer das veraltete » RFC 2109 implementieren, können ein führendes . benötigen, um alle Subdomains abzudecken.

secure

Gibt an, dass das Cookie vom Client nur über eine sichere HTTPS-Verbindung übertragen werden soll. Ist der Wert auf TRUE gesetzt, wird das Cookie nur gesendet, wenn eine sichere Verbindung besteht. Auf der Serverseite muss der Programmierer selbst darauf achten, dass entsprechende Cookies über eine sichere Verbindung gesendet werden (z.B. unter Berücksichtigung von $_SERVER["HTTPS"]).

httponly

Wenn auf TRUE gesetzt, ist das Cookie nur via HTTP-Protokoll zugreifbar. Das bedeutet, dass das Cookie nicht mehr für Skriptsprachen wie JavaScript auslesbar/veränderbar ist. Diese Einstellung kann eine effektive Hilfe sein, um Identitätsdiebstahl per XSS-Angriff zu vermindern (allerdings wird dies nicht von allen Browsern unterstützt). Hinzugefügt in PHP 5.2.0. TRUE oder FALSE

Rückgabewerte

Erfolgt eine Ausgabe vor dem Aufruf dieser Funktion, wird setcookie() fehlschlagen und FALSE zurückgeben. Wenn setcookie() erfolgreich durchgeführt wird, wird TRUE zurückgegeben. Dies sagt jedoch nichts darüber aus, ob der Benutzer das Cookie auch akzeptiert hat.

Beispiele

Einige Beispiele, wie Cookies gesetzt werden:

Beispiel #1 setcookie()-Beispiele:

<?php
$value = 'irgendetwas von irgendwo';

setcookie("TestCookie", $value);
setcookie("TestCookie", $value, time()+3600);  /* verfällt in 1 Stunde */
setcookie("TestCookie", $value, time()+3600, "/~rasmus/", "example.com", 1);
?>

Beachten Sie, dass der Wertebereich des Cookies automatisch URL-konform kodiert (urlencoded) wird, sobald Sie das Cookie senden, und es beim Erhalt automatisch dekodiert und einer Variablen zugewiesen wird, die den selben Namen wie das Cookie trägt. Wenn Sie dies nicht möchten, können Sie stattdessen setrawcookie() verwenden, wenn sie PHP 5 nutzen. Um die Inhalte unseres Test-Cookies in einem Skript sichtbar zu machen, verwenden Sie einfach eines der folgenden Beispiele:

<?php
// ein bestimmtes Cookie ausgeben
echo $_COOKIE["TestCookie"];
echo $HTTP_COOKIE_VARS["TestCookie"];

// Ein anderer Weg zu Debuggen/Testen ist, alle Cookies anzuzeigen
print_r($_COOKIE);
?>

Beispiel #2 setcookie()-Beispiele zum Löschen

Beim Löschen eines Cookies sollten Sie sicherstellen, dass das Verfallsdatum in der Vergangenheit liegt, um den Mechanismus zum Löschen des Cookies im Browser auszulösen. Die folgenden Beispiele zeigen, wie die im vorigen Beispiel gesendeten Cookies wieder gelöscht werden:

<?php
// Setzen des Verfalls-Zeitpunktes auf 1 Stunde in der Vergangenheit
setcookie ("TestCookie", "", time() - 3600);
setcookie ("TestCookie", "", time() - 3600, "/~rasmus/", "example.com", 1);
?>

Beispiel #3 setcookie() und Arrays

Sie können auch ein Array von Cookies setzen, in dem Sie die Array-Schreibweise im Cookienamen verwenden. Dadurch werden so viele Cookies gesetzt, wie Ihr Array Elemente hat. Sobald das Cookie aber von Ihrem Skript gelesen wird, werden alle Werte in ein einziges Array mit dem Cookienamen eingelesen:

<?php
// Setzen der Cookies
setcookie ("cookie[three]", "cookiethree");
setcookie ("cookie[two]", "cookietwo");
setcookie ("cookie[one]", "cookieone");

// Nach dem Neuladen der Seite wieder ausgeben
if (isset($_COOKIE['cookie'])) {
    foreach ($_COOKIE['cookie'] as $name => $value) {
        $name = htmlspecialchars($name);
        $value = htmlspecialchars($value);
        echo "$name : $value <br />\n";
    }
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

three : cookiethree
two : cookietwo
one : cookieone

Changelog

Version | Beschreibung
5.5.0 | Ein Max-Age Attribut ist nun im Set-Cookie Header, der an den Client gesendet wird, enthalten.
5.2.0 | Der httponly-Parameter wurde hinzugefügt.

Anmerkungen

Hinweis:

Sie können den Ausgabepuffer verwenden, um Ausgaben vor dem Aufruf dieser Funktion duchführen zu können. Dies hat allerdings zur Folge, dass alle Ihre Ausgaben zum Browser am Server zwischengespeichert werden, bis Sie diese senden. Sie können dies in Ihrem Skript mittels der Funktionen ob_start() und ob_end_flush() oder mittels der Konfigurationseinstellung output_buffering in Ihrer php.ini mitteilen, oder Sie ändern entsprechende Konfigurationseinstellungen am Server.

Hinweis:

Ist die PHP-Direktive register_globals auf on gesetzt, stehen die Cookies auch als eigene Variablen zur Verfügung. In den nachstehenden Beispielen wird $TextCookie also existieren. Es ist jedoch dringend empfohlen, $_COOKIE zu verwenden.

Häufige Probleme:

  • Cookies werden nicht sichtbar, bevor nicht eine Seite geladen wird, für die das Cookie sichtbar sein soll. Um zu testen, ob ein Cookie erfolgreich gesetzt wurde, prüfen Sie noch vor der Ablaufzeit auf der nächsten geladenen Seite, ob das Cookie vorhanden ist. Die Ablaufzeit wird mittels des Parameters expire gesetzt. Eine gute Möglichkeit, die Existenz von Cookies zu prüfen, ist einfach print_r($_COOKIE); aufzurufen.
  • Cookies müssen mit den selben Parametern gelöscht werden, mit denen sie gesetzt wurden. Ist der value-Parameter ein leerer String oder FALSE und alle anderen Werte entsprechen dem früheren Aufruf von setcookie, wird das Cookie mit dem angegebenen Namen vom Client gelöscht. Die wird intern ausgeführt, indem der Wert auf 'deleted' und die Verfallszeit auf ein Jahr in der Vergangenheit gesetzt wird.
  • Da beim Setzen eines Cookies mit dem Value FALSE versucht wird, das entsprechende Cookie zu löschen, sollten Sie keine boolschen Werte verwenden. Nutzen Sie statt dessen 0 für FALSE und 1 für TRUE.
  • Namen von Cookies können auch als Arraynamen gesetzt werden und stehen dann in Ihren Skripten als Arrays zu Verfügung, während sie auf dem System des Benutzers als separate Cookies abgespeichert werden. Erwägen Sie den Einsatz von explode(), um ein ein Cookie mit mehreren Namen und Werten zu setzen. Es ist nicht empfehlenswert, zu diesem Zweck serialize() einzusetzen, da hieraus Sicherheitslöcher erwachsen können.

Mehrfache Aufrufe von setcookie() werden in der Reihenfolge ihres Aufrufs ausgeführt.

Siehe auch

  • header() - Sendet einen HTTP-Header in Rohform
  • setrawcookie() - Sendet ein Cookie, ohne seinen Wert zu URL-kodieren
  • Cookies
  • » RFC 6265
  • » RFC 2109

pfsockopen
setrawcookie
Netzwerk-Funktionen


Sendet ein Cookie, ohne seinen Wert zu URL-kodieren

setcookie
socket_get_status
Netzwerk-Funktionen
PHP Manual

setrawcookie

(PHP 5, PHP 7)

setrawcookie — Sendet ein Cookie, ohne seinen Wert zu URL-kodieren

Beschreibung

bool setrawcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )

setrawcookie() ist exakt das Gleiche wie setcookie() bis auf die Tatsache, dass der Wert des Cookie nicht automatisch URL-kodiert zum Browser gesendet wird.

Parameter-Liste

Bitte schlagen Sie für Informationen über die Parameter in der Dokumentation der Funktion setcookie() nach.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.5.0 | Ein Max-Age Attribut ist nun im Set-Cookie Header, der an den Client gesendet wird, enthalten.
5.2.0 | Der Parameter httponly wurde hinzugefügt.

Siehe auch

  • setcookie() - Sendet ein Cookie

setcookie
socket_get_status
Netzwerk-Funktionen


Alias von stream_get_meta_data

setrawcookie
socket_set_blocking
Netzwerk-Funktionen
PHP Manual

socket_get_status

(PHP 4, PHP 5, PHP 7)

socket_get_status — Alias von stream_get_meta_data()

Beschreibung

Diese Funktion ist ein Alias für: stream_get_meta_data().

setrawcookie
socket_set_blocking
Netzwerk-Funktionen


Alias von stream_set_blocking

socket_get_status
socket_set_timeout
Netzwerk-Funktionen
PHP Manual

socket_set_blocking

(PHP 4, PHP 5, PHP 7)

socket_set_blocking — Alias von stream_set_blocking()

Beschreibung

Diese Funktion ist ein Alias für: stream_set_blocking().

socket_get_status
socket_set_timeout
Netzwerk-Funktionen


Alias von stream_set_timeout

socket_set_blocking
syslog
Netzwerk-Funktionen
PHP Manual

socket_set_timeout

(PHP 4, PHP 5, PHP 7)

socket_set_timeout — Alias von stream_set_timeout()

Beschreibung

Diese Funktion ist ein Alias für: stream_set_timeout().

socket_set_blocking
syslog
Netzwerk-Funktionen


Erzeugt eine Meldung im System-Logging

socket_set_timeout
RRD
Netzwerk-Funktionen
PHP Manual

syslog

(PHP 4, PHP 5, PHP 7)

syslog — Erzeugt eine Meldung im System-Logging

Beschreibung

bool syslog ( int $priority , string $message )

Die Funktion syslog() erzeugt eine Status-Meldung, die an die System-Log-Funktion weitergereicht wird.

Weitere Informationen zum benutzerdefinierten Loghandler finden Sie unter syslog.conf (5) der Unix-Manpages. Zusätzliche Informationen zu den SysLog-Möglichkeiten und -Optionen finden Sie in den Manpages zu syslog (3) (auf UNIX-Systemen).

Parameter-Liste

priority

Der Parameter priority ist eine Kombination der System-Möglichkeiten und dem Level. Mögliche Werte sind:

syslog()-Prioritäten (in absteigender Reihenfolge)
Konstante | Beschreibung
LOG_EMERG | System ist unbrauchbar.
LOG_ALERT | Aktion ist sofort erforderlich.
LOG_CRIT | Kritischer Zustand.
LOG_ERR | Fehler aufgetreten.
LOG_WARNING | Warnung aufgetreten.
LOG_NOTICE | Normale, aber wichtige Meldung.
LOG_INFO | Informative Meldung.
LOG_DEBUG | Debug-Level-Meldung.

message

Die zu sendende Nachricht, in der die beiden Zeichen %m durch den Fehlertext (strerror) ersetzt werden, der dem Wert errno entspricht.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Die Verwendung von syslog():

<?php
// öffne SysLog, schließe die Prozess-ID (PID) ein, sende
// die Log-Meldungen an die Standard-Fehler-Ausgabe und benutze
// einen userdefinierten Log-Mechanismus.
openlog("myScripLog", LOG_PID | LOG_PERROR, LOG_LOCAL0);

// etwas Code

if (authorized_client()) {
    // mache etwas
} else {
    // unerlaubter Client!
    // logge den Zugriff
    $access = date("Y/m/d H:i:s");
    syslog(LOG_WARNING,"Unauthorisierter Client: $access "
        . "{$_SERVER['REMOTE_ADDR']} ({$_SERVER['HTTP_USER_AGENT']})");
}

closelog();
?>

Anmerkungen

Unter Windows-NT wird der Syslog-Dienst emuliert, indem der Ereignis-Protokolldienst genutzt wird.

Hinweis:

Die Verwendung von LOG_LOCAL0 bis LOG_LOCAL7 für den Parameter facility von openlog() ist unter Windowssystemen nicht möglich.

Siehe auch

  • openlog() - Stellt eine Verbindung zum Log-Dienst des Systems her
  • closelog() - Schließt die Verbindung zum System-Logger

socket_set_timeout
RRD
Netzwerk-Funktionen


RRDtool

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • Procedural PECL/rrd example
    • OOP PECL/rrd example
  • RRD Funktionen
    • rrd_create — Creates rrd database file
    • rrd_error — Gets latest error message.
    • rrd_fetch — Fetch the data for graph as array.
    • rrd_first — Gets the timestamp of the first sample from rrd file.
    • rrd_graph — Creates image from a data.
    • rrd_info — Gets information about rrd file
    • rrd_last — Gets unix timestamp of the last sample.
    • rrd_lastupdate — Gets information about last updated data.
    • rrd_restore — Restores the RRD file from XML dump.
    • rrd_tune — Tunes some RRD database file header options.
    • rrd_update — Updates the RRD database.
    • rrd_version — Gets information about underlying rrdtool library
    • rrd_xport — Exports the information about RRD database.
    • rrdc_disconnect — Close any outstanding connection to rrd caching daemon
  • RRDCreator — The RRDCreator class
    • RRDCreator::addArchive — Adds RRA - archive of data values for each data source.
    • RRDCreator::addDataSource — Adds data source definition for RRD database.
    • RRDCreator::__construct — Creates new RRDCreator instance
    • RRDCreator::save — Saves the RRD database to a file
  • RRDGraph — The RRDGraph class
    • RRDGraph::__construct — Creates new RRDGraph instance
    • RRDGraph::save — Saves the result of query into image
    • RRDGraph::saveVerbose — Saves the RRD database query into image and returns the verbose information about generated graph.
    • RRDGraph::setOptions — Sets the options for rrd graph export
  • RRDUpdater — The RRDUpdater class
    • RRDUpdater::__construct — Creates new RRDUpdater instance
    • RRDUpdater::update — Update the RRD database file
syslog
Einführung
Sonstige Dienste


Einführung

The PECL/rrd extension provides bindings to the RRDtool C library. RRDtool is the open source industry standard, high performance data logging and graphing system for time series data.

The RRDtool homepage is » http://www.mrtg.org/rrdtool/.

RRD
Installation/Konfiguration
RRD


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
RRD


Anforderungen

You need to install librrd first to be able to use PECL/rrd. Most common option is using of librrd-dev package from your favourite linux distro. PECL/rrd is tested with librrd 1.4.3, older or newer versions might or might not work for you. PECL/rrd installation is tested with PHP 5.3.2 or newer.

Warnung

Librrd and hence extension itself aren't mostly thread safe. There are many global and shared states in librrd. It can be dangerous use this extension in multi threaded environments like Apache2 mpm worker. If there are many parallel requests, one request can change some global librrd state of other runnig requests.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/rrd.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
Beispiele
RRD


Beispiele

Inhaltsverzeichnis

  • Procedural PECL/rrd example
  • OOP PECL/rrd example
Vordefinierte Konstanten
Procedural PECL/rrd example
RRD


Procedural PECL/rrd example

Beispiel #1 Procedural usage of rrd

<?php
$rrdFile = dirname(__FILE__) . "/speed.rrd";

//create rrd file
rrd_create($rrdFile,
 array(
  "--start",920804400,
  "DS:speed:COUNTER:600:U:U",
  "RRA:AVERAGE:0.5:1:24",
  "RRA:AVERAGE:0.5:6:10"
  )
);

//update rrd file
rrd_update($rrdFile,
 array(
  "920804700:12345",
  "920805000:12357"
  )
);

//graph output
rrd_graph(dirname(__FILE__) . "/speed.png",
 array(
  "--start", "920804400",
  "--end", "920808000",
  "--vertical-label", "m/s",
  "DEF:myspeed=$rrdFile:speed:AVERAGE",
  "CDEF:realspeed=myspeed,1000,*",
  "LINE2:realspeed#FF0000"
 )
);
?>

Beispiele
OOP PECL/rrd example
Beispiele


OOP PECL/rrd example

Beispiel #1 OO usage of rrd

<?php
$rrdFile = dirname(__FILE__) . "/speed.rrd";
$outputPngFile = dirname(__FILE__) . "/speed.png";

$creator = new RRDCreator($rrdFile, "now -10d", 500);
$creator->addDataSource("speed:COUNTER:600:U:U");
$creator->addArchive("AVERAGE:0.5:1:24");
$creator->addArchive("AVERAGE:0.5:6:10");
$creator->save();

$updater = new RRDUpdater($rrdFile);
$updater->update(array("speed" => "12345"), "920804700");
$updater->update(array("speed" => "12357"), "920805000");

$graphObj = new RRDGraph($outputPngFile);
$graphObj->setOptions(
    array(
        "--start" => "920804400",
        "--end" => 920808000,
        "--vertical-label" => "m/s",
        "DEF:myspeed=$rrdFile:speed:AVERAGE",
        "CDEF:realspeed=myspeed,1000,*",
        "LINE2:realspeed#FF0000"
    )
);
$graphObj->save();
?>

Procedural PECL/rrd example
RRD Funktionen
Beispiele


RRD Funktionen

Inhaltsverzeichnis

  • rrd_create — Creates rrd database file
  • rrd_error — Gets latest error message.
  • rrd_fetch — Fetch the data for graph as array.
  • rrd_first — Gets the timestamp of the first sample from rrd file.
  • rrd_graph — Creates image from a data.
  • rrd_info — Gets information about rrd file
  • rrd_last — Gets unix timestamp of the last sample.
  • rrd_lastupdate — Gets information about last updated data.
  • rrd_restore — Restores the RRD file from XML dump.
  • rrd_tune — Tunes some RRD database file header options.
  • rrd_update — Updates the RRD database.
  • rrd_version — Gets information about underlying rrdtool library
  • rrd_xport — Exports the information about RRD database.
  • rrdc_disconnect — Close any outstanding connection to rrd caching daemon
OOP PECL/rrd example
rrd_create
RRD


Creates rrd database file

RRD Funktionen
rrd_error
RRD Funktionen
PHP Manual

rrd_create

(PECL rrd >= 0.9.0)

rrd_create — Creates rrd database file

Beschreibung

bool rrd_create ( string $filename , array $options )

Creates the rdd database file.

Parameter-Liste

filename

Filename for newly created rrd file.

options

Options for rrd create - list of strings. See man page of rrd create for whole list of options.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

RRD Funktionen
rrd_error
RRD Funktionen


Gets latest error message.

rrd_create
rrd_fetch
RRD Funktionen
PHP Manual

rrd_error

(PECL rrd >= 0.9.0)

rrd_error — Gets latest error message.

Beschreibung

string rrd_error ( void )

Returns latest global rrd error message.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Latest error message.

rrd_create
rrd_fetch
RRD Funktionen


Fetch the data for graph as array.

rrd_error
rrd_first
RRD Funktionen
PHP Manual

rrd_fetch

(PECL rrd >= 0.9.0)

rrd_fetch — Fetch the data for graph as array.

Beschreibung

array rrd_fetch ( string $filename , array $options )

Gets data for graph output from RRD database file as array. This function has same result as rrd_graph(), but fetched data are returned as array, no image file is created.

Parameter-Liste

filename

RRD database file name.

options

Array of options for resolution specification.

Rückgabewerte

Returns information about retrieved graph data.

rrd_error
rrd_first
RRD Funktionen


Gets the timestamp of the first sample from rrd file.

rrd_fetch
rrd_graph
RRD Funktionen
PHP Manual

rrd_first

(PECL rrd >= 0.9.0)

rrd_first — Gets the timestamp of the first sample from rrd file.

Beschreibung

int rrd_first ( string $file [, int $raaindex = 0 ] )

Returns the first data sample from the specified RRA of the RRD file.

Parameter-Liste

file

RRD database file name.

raaindex

The index number of the RRA that is to be examined. Default value is 0.

Rückgabewerte

Integer number of unix timestamp, FALSE if some error occurs.

rrd_fetch
rrd_graph
RRD Funktionen


Creates image from a data.

rrd_first
rrd_info
RRD Funktionen
PHP Manual

rrd_graph

(PECL rrd >= 0.9.0)

rrd_graph — Creates image from a data.

Beschreibung

array rrd_graph ( string $filename , array $options )

Creates image for a particular data from RRD file.

Parameter-Liste

filename

The filename to output the graph to. This will generally end in either .png, .svg or .eps, depending on the format you want to output.

options

Options for generating image. See man page of rrd graph for all possible options. All options (data definitions, variable defintions, etc.) are allowed.

Rückgabewerte

Array with information about generated image is returned, FALSE when error occurs.

rrd_first
rrd_info
RRD Funktionen


Gets information about rrd file

rrd_graph
rrd_last
RRD Funktionen
PHP Manual

rrd_info

(PECL rrd >= 0.9.0)

rrd_info — Gets information about rrd file

Beschreibung

array rrd_info ( string $filename )

Returns information about particular RRD database file.

Parameter-Liste

file

RRD database file name.

Rückgabewerte

Array with information about requsted RRD file, FALSE when error occurs.

rrd_graph
rrd_last
RRD Funktionen


Gets unix timestamp of the last sample.

rrd_info
rrd_lastupdate
RRD Funktionen
PHP Manual

rrd_last

(PECL rrd >= 0.9.0)

rrd_last — Gets unix timestamp of the last sample.

Beschreibung

int rrd_last ( string $filename )

Returns the UNIX timestamp of the most recent update of the RRD database.

Parameter-Liste

filename

RRD database file name.

Rückgabewerte

Integer as unix timestamp of the most recent data from the RRD database.

rrd_info
rrd_lastupdate
RRD Funktionen


Gets information about last updated data.

rrd_last
rrd_restore
RRD Funktionen
PHP Manual

rrd_lastupdate

(PECL rrd >= 0.9.0)

rrd_lastupdate — Gets information about last updated data.

Beschreibung

array rrd_lastupdate ( string $filename )

Gets array of the UNIX timestamp and the values stored for each date in the most recent update of the RRD database file.

Parameter-Liste

file

RRD database file name.

Rückgabewerte

Array of information about last update, FALSE when error occurs.

rrd_last
rrd_restore
RRD Funktionen


Restores the RRD file from XML dump.

rrd_lastupdate
rrd_tune
RRD Funktionen
PHP Manual

rrd_restore

(PECL rrd >= 0.9.0)

rrd_restore — Restores the RRD file from XML dump.

Beschreibung

bool rrd_restore ( string $xml_file , string $rrd_file [, array $options ] )

Restores the RRD file from the XML dump.

Parameter-Liste

xml_file

XML filename with the dump of the original RRD database file.

rrd_file

Restored RRD database file name.

options

Array of options for restoring. See man page for rrd restore.

Rückgabewerte

Returns TRUE on success, FALSE otherwise.

rrd_lastupdate
rrd_tune
RRD Funktionen


Tunes some RRD database file header options.

rrd_restore
rrd_update
RRD Funktionen
PHP Manual

rrd_tune

(PECL rrd >= 0.9.0)

rrd_tune — Tunes some RRD database file header options.

Beschreibung

bool rrd_tune ( string $filename , array $options )

Change some options in the RRD dabase header file. E.g. renames the source for the data etc.

Parameter-Liste

filename

RRD database file name.

options

Options with RRD database file properties which will be changed. See rrd tune man page for details.

Rückgabewerte

Returns TRUE on success, FALSE otherwise.

rrd_restore
rrd_update
RRD Funktionen


Updates the RRD database.

rrd_tune
rrd_version
RRD Funktionen
PHP Manual

rrd_update

(PECL rrd >= 0.9.0)

rrd_update — Updates the RRD database.

Beschreibung

bool rrd_update ( string $filename , array $options )

Updates the RRD database file. The input data is time interpolated according to the properties of the RRD database file.

Parameter-Liste

filename

RRD database file name. This database will be updated.

options

Options for updating the RRD database. This is list of strings. See man page of rrd update for whole list of options.

Rückgabewerte

Returns TRUE on success, FALSE when error occurs.

rrd_tune
rrd_version
RRD Funktionen


Gets information about underlying rrdtool library

rrd_update
rrd_xport
RRD Funktionen
PHP Manual

rrd_version

(PECL rrd >= 1.0.0)

rrd_version — Gets information about underlying rrdtool library

Beschreibung

string rrd_version ( void )

Returns information about underlying rrdtool library.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

String with rrdtool version number e.g. "1.4.3".

rrd_update
rrd_xport
RRD Funktionen


Exports the information about RRD database.

rrd_version
rrdc_disconnect
RRD Funktionen
PHP Manual

rrd_xport

(PECL rrd >= 0.9.0)

rrd_xport — Exports the information about RRD database.

Beschreibung

array rrd_xport ( array $options )

Exports the information about RRD database file. This data can be converted to XML file via user space PHP script and then restored back as RRD database file.

Parameter-Liste

options

Array of options for the export, see rrd xport man page.

Rückgabewerte

Array with information about RRD database file, FALSE when error occurs.

rrd_version
rrdc_disconnect
RRD Funktionen


Close any outstanding connection to rrd caching daemon

rrd_xport
RRDCreator
RRD Funktionen
PHP Manual

rrdc_disconnect

(PECL rrd >= 1.1.2)

rrdc_disconnect — Close any outstanding connection to rrd caching daemon

Beschreibung

void rrdc_disconnect ( void )

Close any outstanding connection to rrd caching daemon.

This function is automatically called when the whole PHP process is terminated. It depends on used SAPI. For example, it's called automatically at the end of command line script.

It's up user whether he wants to call this function at the end of every request or otherwise.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

rrd_xport
RRDCreator
RRD Funktionen


The RRDCreator class

(PECL rrd >= 0.9.0)

Einführung

Class for creation of RRD database file.

Klassenbeschreibung

RRDCreator {
/* Methoden */
public void addArchive ( string $description )
public void addDataSource ( string $description )
public __construct ( string $path [, string $startTime [, int $step = 0 ]] )
public bool save ( void )
}

Inhaltsverzeichnis

  • RRDCreator::addArchive — Adds RRA - archive of data values for each data source.
  • RRDCreator::addDataSource — Adds data source definition for RRD database.
  • RRDCreator::__construct — Creates new RRDCreator instance
  • RRDCreator::save — Saves the RRD database to a file
rrdc_disconnect
RRDCreator::addArchive
RRD


Adds RRA - archive of data values for each data source.

RRDCreator
RRDCreator::addDataSource
RRDCreator
PHP Manual

RRDCreator::addArchive

(PECL rrd >= 0.9.0)

RRDCreator::addArchive — Adds RRA - archive of data values for each data source.

Beschreibung

public void RRDCreator::addArchive ( string $description )

Adds RRA definition by description of archive. Archive consists of a number of data values or statistics for each of the defined data-sources (DS). Data sources are defined by method RRDCreator::addDataSource(). You need call this method for each requested archive.

Parameter-Liste

description

Definition of archive - RRA. This has same format as RRA definition in rrd create command. See man page of rrd create for more details.

Rückgabewerte

Es wird kein Wert zurückgegeben.

RRDCreator
RRDCreator::addDataSource
RRDCreator


Adds data source definition for RRD database.

RRDCreator::addArchive
RRDCreator::__construct
RRDCreator
PHP Manual

RRDCreator::addDataSource

(PECL rrd >= 0.9.0)

RRDCreator::addDataSource — Adds data source definition for RRD database.

Beschreibung

public void RRDCreator::addDataSource ( string $description )

RRD can accept input from several data sources (DS), e.g incoming and outgoing traffic. This method adds data source by description. You need call this method for each data source.

Parameter-Liste

description

Definition of data source - DS. This has same format as DS definition in rrd create command. See man page of rrd create for more details.

Rückgabewerte

Es wird kein Wert zurückgegeben.

RRDCreator::addArchive
RRDCreator::__construct
RRDCreator


Creates new RRDCreator instance

RRDCreator::addDataSource
RRDCreator::save
RRDCreator
PHP Manual

RRDCreator::__construct

(PECL rrd >= 0.9.0)

RRDCreator::__construct — Creates new RRDCreator instance

Beschreibung

public RRDCreator::__construct ( string $path [, string $startTime [, int $step = 0 ]] )

Creates new RRDCreator instance.

Parameter-Liste

path

Path for newly created RRD database file.

startTime

Time for the first value in RRD database. Parameter supports all formats which are supported by rrd create call.

intstep

Base interval in seconds with which data will be fed into the RRD database.

Rückgabewerte

Es wird kein Wert zurückgegeben.

RRDCreator::addDataSource
RRDCreator::save
RRDCreator


Saves the RRD database to a file

RRDCreator::__construct
RRDGraph
RRDCreator
PHP Manual

RRDCreator::save

(PECL rrd >= 0.9.0)

RRDCreator::save — Saves the RRD database to a file

Beschreibung

public bool RRDCreator::save ( void )

Saves the RRD database into file, which name is defined by RRDCreator::__construct().

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

RRDCreator::__construct
RRDGraph
RRDCreator


The RRDGraph class

(PECL rrd >= 0.9.0)

Einführung

Class for exporting data from RRD database to image file.

Klassenbeschreibung

RRDGraph {
/* Methoden */
public __construct ( string $path )
public array save ( void )
public array saveVerbose ( void )
public void setOptions ( array $options )
}

Inhaltsverzeichnis

  • RRDGraph::__construct — Creates new RRDGraph instance
  • RRDGraph::save — Saves the result of query into image
  • RRDGraph::saveVerbose — Saves the RRD database query into image and returns the verbose information about generated graph.
  • RRDGraph::setOptions — Sets the options for rrd graph export
RRDCreator::save
RRDGraph::__construct
RRD


Creates new RRDGraph instance

RRDGraph
RRDGraph::save
RRDGraph
PHP Manual

RRDGraph::__construct

(PECL rrd >= 0.9.0)

RRDGraph::__construct — Creates new RRDGraph instance

Beschreibung

public RRDGraph::__construct ( string $path )

Creates new RRDGraph instance. This instance is responsible for rendering the result of RRD database query into image.

Parameter-Liste

path

Full path for the newly created image.

Rückgabewerte

Es wird kein Wert zurückgegeben.

RRDGraph
RRDGraph::save
RRDGraph


Saves the result of query into image

RRDGraph::__construct
RRDGraph::saveVerbose
RRDGraph
PHP Manual

RRDGraph::save

(PECL rrd >= 0.9.0)

RRDGraph::save — Saves the result of query into image

Beschreibung

public array RRDGraph::save ( void )

Saves the result of RRD database query into image defined by RRDGraph::__construct().

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Array with information about generated image is returned, FALSE if error occurs.

RRDGraph::__construct
RRDGraph::saveVerbose
RRDGraph


Saves the RRD database query into image and returns the verbose information about generated graph.

RRDGraph::save
RRDGraph::setOptions
RRDGraph
PHP Manual

RRDGraph::saveVerbose

(PECL rrd >= 0.9.0)

RRDGraph::saveVerbose — Saves the RRD database query into image and returns the verbose information about generated graph.

Beschreibung

public array RRDGraph::saveVerbose ( void )

Saves the RRD database query into image file defined by method RRDGraph::__construct() and returns the verbose information about generated graph, if "-" is used as image filename, image data are also returned in result array.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Array with detailed information about generated image is returned, optionally with image data, FALSE if error occurs.

RRDGraph::save
RRDGraph::setOptions
RRDGraph


Sets the options for rrd graph export

RRDGraph::saveVerbose
RRDUpdater
RRDGraph
PHP Manual

RRDGraph::setOptions

(PECL rrd >= 0.9.0)

RRDGraph::setOptions — Sets the options for rrd graph export

Beschreibung

public void RRDGraph::setOptions ( array $options )

Parameter-Liste

options

List of options for the image generation from the RRD database file. It can be list of strings or list of strings with keys for better readability. Read the rrd graph man pages for list of available options.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 RRDGraph::setOptions() example

<?php
$graphObj->setOptions(array(
    "--start" => "920804400",
    "--end" => 920808000,
    "--vertical-label" => "m/s",
    "DEF:myspeed=$rrdFile:speed:AVERAGE",
    "CDEF:realspeed=myspeed,1000,*",
    "LINE2:realspeed#FF0000"
));
?>

Beispiel #2 Set multiple color options

<?php
$graphObj->setOptions(array(
    "--start" => "920804400",
    "--end" => 920808000,
    "--vertical-label" => "m/s",
    "--color=BACK#00000000",
    "--color=GRID#00000000",
    "--color=MGRID#00000000",
    "DEF:myspeed=$rrdFile:speed:AVERAGE",
    "CDEF:realspeed=myspeed,1000,*",
    "LINE2:realspeed#FF0000"
));
?>

Don't use key value syntax for same rrd option. It looks more readable, but it doesn't work.

<?php
$graphObj->setOptions(array(
    "--color" => "BACK#00000000",
    "--color" => "GRID#00000000",
    "--color" => "MGRID#00000000"
));
?>

In nature of php it's same as

<?php
$graphObj->setOptions(array(
    "--color" => "MGRID#00000000"
));
?>

RRDGraph::saveVerbose
RRDUpdater
RRDGraph


The RRDUpdater class

(PECL rrd >= 0.9.0)

Einführung

Class for updating RDD database file.

Klassenbeschreibung

RRDUpdater {
/* Methoden */
public __construct ( string $path )
public bool update ( array $values [, string $time = time() ] )
}

Inhaltsverzeichnis

  • RRDUpdater::__construct — Creates new RRDUpdater instance
  • RRDUpdater::update — Update the RRD database file
RRDGraph::setOptions
RRDUpdater::__construct
RRD


Creates new RRDUpdater instance

RRDUpdater
RRDUpdater::update
RRDUpdater
PHP Manual

RRDUpdater::__construct

(PECL rrd >= 0.9.0)

RRDUpdater::__construct — Creates new RRDUpdater instance

Beschreibung

public RRDUpdater::__construct ( string $path )

Creates new RRDUpdater instance. This instance is responsible for updating the RRD database file.

Parameter-Liste

path

Filesystem path for RRD database file, which will be updated.

Rückgabewerte

Es wird kein Wert zurückgegeben.

RRDUpdater
RRDUpdater::update
RRDUpdater


Update the RRD database file

RRDUpdater::__construct
SAM
RRDUpdater
PHP Manual

RRDUpdater::update

(PECL rrd >= 0.9.0)

RRDUpdater::update — Update the RRD database file

Beschreibung

public bool RRDUpdater::update ( array $values [, string $time = time() ] )

Updates the RRD file defined via RRDUpdater::__construct(). The file is updated with a specific values.

Parameter-Liste

values

Data for update. Key is data source name.

time

Time value for updating the RRD with a particulat data. Default value is current time.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Throws a Exception on error.

Beispiele

Beispiel #1 RRDUpdater::update() examples

<?php
$updator = new RRDUpdater("speed.rrd");
//updates the data source "speed" with value "12411"
//for time defined by timestamp "920807700"
$updator->update(array("speed" => "12411"), "920807700");
?>

RRDUpdater::__construct
SAM
RRDUpdater


Simple Asynchronous Messaging

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • Connections
    • Messages
    • Messaging operations
    • Publish/Subscribe and subscriptions to topics
    • Error handling
  • SAM Funktionen
    • SAMConnection::commit — Commits (completes) the current unit of work.
    • SAMConnection::connect — Establishes a connection to a Messaging Server
    • SAMConnection::__construct — Creates a new connection to a Messaging Server
    • SAMConnection::disconnect — Disconnects from a Messaging Server
    • SAMConnection::errno — Contains the unique numeric error code of the last executed SAM operation.
    • SAMConnection::error — Contains the text description of the last failed SAM operation.
    • SAMConnection::isConnected — Queries whether a connection is established to a Messaging Server
    • SAMConnection::peek — Read a message from a queue without removing it from the queue.
    • SAMConnection::peekAll — Read one or more messages from a queue without removing it from the queue.
    • SAMConnection::receive — Receive a message from a queue or subscription.
    • SAMConnection::remove — Remove a message from a queue.
    • SAMConnection::rollback — Cancels (rolls back) an in-flight unit of work.
    • SAMConnection::send — Send a message to a queue or publish an item to a topic.
    • SAMConnection::setDebug — Turn on or off additional debugging output.
    • SAMConnection::subscribe — Create a subscription to a specified topic.
    • SAMConnection::unsubscribe — Cancel a subscription to a specified topic.
    • SAMMessage::body — The body of the message.
    • SAMMessage::__construct — Creates a new Message object
    • SAMMessage::header — The header properties of the message.
RRDUpdater::update
Einführung
Sonstige Dienste


Einführung

This extension provides access to the functionality of messaging and queueing systems, such as the IBM WebSphere MQSeries family of products, from PHP scripts. The interface is designed to make it extremely simple to do the more commonly required tasks such as deliver simple text messages to queues while still allowing skilled users to do more complex messaging operations. For many users the complexities of setting up numerous options can be simply ignored.

The SAM extension is a framework that provides a very simple API that can be used to access a number of messaging middleware systems. Currently the package includes built-in support for the MQTT (MQ Telemetry Transport) messaging protocol and support for the IBM Messaging and Queuing middleware products. SAM is designed to be readily extended to support other messaging systems and extension modules may be written in C or PHP.

SAM
Installation/Konfiguration
SAM


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
SAM


Anforderungen

The SAM extension interfaces to the IBM Messaging and Queuing middleware products using a set of libraries and some client side code referred to as XMS. This package is available as a free download in the guise of IBM support pack IA94. There is a description of this package and download links in the article » Introducing XMS - The IBM Message Service API.

If you intend to use SAM to access the Messaging and Queuing infrastructure within WebSphere MQ then you will also need to have installed a local MQ queue manager or installed the WebSphere MQ clients package. The clients package is freely available as a support pack (» MQC6).

If you are only aiming to experiment with sending messages to and from WebSphere Application Server queues using the WebSphere Platform Messaging protocol (WPM) then you do not need to install the MQC6 package.

After installing these packages you will need to ensure the XMS binary and, if you are using it, the MQ client bin directory are included in the PATH environment variable so that Apache and PHP can find the dependent .DLLs/libraries.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/sam.

The SAM framework and MQTT support can be built and used without any other prerequisites. Support for protocols other than MQTT is provided via a set of libraries and some client side code referred to as XMS.

If you only intend to use the built-in MQTT support then you can build and configure SAM as an extension or simply refer to php_sam.php with a require or require_once clause in your PHP script. In this case you need only install the code without building the extension using the pear installer:

pecl install -B SAM

Linux installation steps

The sam extension is supplied as a PECL module, which you should be able to download and install in one step as follows:

pecl install sam
(Depending on your php environment, you will probably need to be root to do this.)

Make sure that the module is loaded by PHP, by adding following line to php.ini:

extension=sam.so
If you intend to use the XMS support to access the IBM Messaging and Queuing family you must also enable the SAM XMS extension.
extension=sam_xms.so

If you cannot use the PEAR installer, you can download the extension and build it manually:

pear download sam          #downloads sam-<version>.tgz
tar -xzf sam-<version>.tgz
cd sam-<version>
phpize
./configure
make
make install               #you may need to be root for this step

To work with the very latest source, you'll need to extract it from SVN and build manually as above.

Windows installation steps

You will probably need to build the sam extension for Windows as there are only a limited range of pre-built binaries available from the SAM website. The extension can be built using the standard Windows extension build procedures.

You will need the PHP source tree for the version of PHP you wish to build the SAM extension against which you can obtain from php.net. This should be unpacked into a working directory of your choice.

You will also need the libraries and headers used by PHP extensions available from http://www.php.net/extra/win32build.zip and this should be unzipped so that is in your working directory.

You should have something like:

c:\php-build\-
              |
              |---php-5.0.5--|---build
              |              |---ext
              |              |--- ...
              |
              |---win32build--|---bin
                              |---include
                              |---lib

You will need a compiler such as the free version of Visual Studio C++ Express from the Microsoft web site. Also you need the Microsoft SDK Microsoft Windows Platform which again can be downloaded from the Microsoft web site.

Obtain the SAM extension source using pear (pecl download sam) or by using SVN and copy the files to a new "sam" directory under the "ext" directory in your PHP source tree.

To build the extension open a build environment window by going to the start

menu->all programs->microsoft platform SDK for windows->
open build environment window->windows 200 build environment->
set windows 2000 build environment (retail)

This should open a command prompt with all the environment variables set up to access the platform SDK etc. You then need to set the environment variables for Visual Studio by issuing the command vcvars32.bat in the window.

Change directory to your working directory e.g. cd c:\php-build. Then make sure the win32build tools are accessible by adding them to the PATH environment variable:

set PATH=..\win32build\bin;%PATH%

Run the buildconf.bat command. This should rebuild the configure.js file.

Run the cscript command with the appropriate options. To build just the SAM extension framework and MQTT support use:

cscript /nologo configure.js --with-sam
To build the SAM framework and the XMS support use:
cscript /nologo configure.js --with-sam --with-sam_xms="c:\program files\ibm\xms"

The additional parameter passed for sam_xms is the installation path to the XMS libraries and runtime that were installed as described under prerequisites at the top of this page.

You can specify whatever other cscript parameters you require to include or exclude items from the php build or select options.

Assuming all has gone well so far you can now finally run a make for the SAM framework!

nmake php_sam.dll
Also if you are using the XMS support you must make the sam_xms extensions:
nmake php_sam_xms.dll

If you have used Visual Studio 2005 to build the DLLs please see below for additional steps that must be carried out before proceeding further.

The DLLs created (php_sam.dll and optionally php_sam_xms.dll) can now be copied to the subdirectory appropriate for your PHP set-up. Make sure that the module(s) are loaded by PHP, by adding following line to php.ini:

extension=php_sam.dll
If you intend to use the XMS support to access the IBM Messaging and Queuing family you must also enable the SAM XMS extension.
extension=php_sam_xms.dll

Additional steps for Visual Studio 2005

If you build the SAM extension with the Microsoft Visual Studio 2005 compiler and tools you need to perform an additional step in the build process to ensure the php_sam.dll is able to link with the C runtime libraries at runtime. This step includes the dependancy manifest into the DLL. Switch to the directory where the php_sam.dll has been generated (usually Release_TS or Debug_TS below the php source directory) and issue the following magic incantation:

mt.exe -manifest php_sam.dll.manifest -outputresource:php_sam.dll;2
If you are using the XMS capabilities you will need to do the same with the SAM XMS DLL:
mt.exe -manifest php_sam_xms.dll.manifest -outputresource:php_sam_xms.dll;2

If you build the SAM extension using the compiler and libraries from Microsoft Visual Studio 2005 you will also need to ensure that the runtime components are installed on the system on which you intend to use SAM. This can be accomplished by installing Visual Studio 2005 or by using the freely distributable » runtime package.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Protocol support and mapping

The SAM framework can be extended to support other messaging protocols and connection mechanisms. To add support for a new protocol or connection library a support class has to be defined, either as a C extension or as a PHP script, and a "factory" script must be created. The support class must implement all the methods of the SAMConnection class though it should not inherit from SAMConnection. The factory script will be called by the SAM framework to create an instance of the implemented class. The way SAM chooses which factory to call is based on the protocol specified as the first parameter of the "connect" call.

By default the built-in MQTT support will be used if a connect call specifies a protocol of SAM_MQTT ("mqtt"), for any other protocol SAM will attempt to use the XMS support extension. To add support for additional protocols or to modify the default behavior entries may be added to php.ini in the [sam] section. The default mapping is equivalent to the following entries:

[sam]
sam.factory.mqtt=mqtt
sam.factory.wmq=xms
sam.factory.wmq:client=xms
sam.factory.wmq:bindings=xms
sam.factory.wpm=xms
sam.factory.rtt=xms
As can be seen from these examples the entries take the form of "sam.factory.pppp=xxx" where pppp is the protocol string specified on the connect call and xxx is a factory suffix. Note: SAM defines constants for these protocol strings such that SAM_WMQ=wmq, SAM_WPM=wpm, SAM_RTT=rtt, SAM_MQTT=mqtt, etc.

When identifying the support code to use on a connect call SAM looks up the protocol name in the php.ini entries and then invokes a factory script named sam_factory_xxx.php. If no entry is found the support will default to XMS.

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

SAM_AUTO (string)
Automatic behaviour
SAM_BOOLEAN (string)
Type specifier used when setting properties on SAM_Message objects.
SAM_BUS (string)
Connect attribute used to set the name of the enterprise service bus to connect to.
SAM_BYTE (string)
Type specifier used when setting properties on SAM_Message objects.
SAM_BYTES (string)
Message body type descriptor.
SAM_CORRELID (string)
Attribute used on receive, send and remove requests to identify specific messages.
SAM_DELIVERYMODE (string)
Message header property.
SAM_DOUBLE (string)
Type specifier used when setting properties on SAM_Message objects.
SAM_ENDPOINTS (string)
Connect attribute used to define the possible endpoints to connect to.
SAM_FLOAT (string)
Type specifier used when setting properties on SAM_Message objects.
SAM_HOST (string)
Connect attribute used to set the hostname of the required messaging server.
SAM_INT (string)
Type specifier used when setting properties on SAM_Message objects.
SAM_LONG (string)
Type specifier used when setting properties on SAM_Message objects.
SAM_MANUAL (string)
Manual (script controlled) behaviour
SAM_MESSAGEID (string)
Attribute used on receive and remove requests to identify specific messages.
SAM_MQTT (string)
Connect protocol definition for selecting the MQTT (MQ Telemetry Transport) protocol.
SAM_MQTT_CLEANSTART (bool)
Optional connect option to indicate to an MQTT server that all previous connection data for this client should be removed and that subscriptions should be deleted when the client disconnects explicitly or unexpectedly.
SAM_NON_PERSISTENT (string)
Connect attribute value used to request messages are not made persistent on the messaging server.
SAM_PASSWORD (string)
Connect attribute used to define the password to be used for the user account being used to connect to a messaging server that requires authorisation for connections.
SAM_PERSISTENT (string)
Connect attribute value used to request messages are made persistent on the messaging server to protect against loss of messages in the event of failure.
SAM_PORT (string)
Connect attribute used to set the port number on which to communicate with the messaging server.
SAM_PRIORITY (string)
Option name used on send requests to specify a delivery priority value.
SAM_REPLY_TO (string)
Message property used to specify the queue identity on to which the script expects response or reply messages to be posted.
SAM_RTT (string)
Connect protocol definition for selecting the IBM Realtime Transport protocol for communication with a business integration messaging server.
SAM_STRING (string)
Type specifier used when setting properties on SAM_Message objects.
SAM_TARGETCHAIN (string)
Connection attribute used to set the required target chain identifier.
SAM_TEXT (string)
Message body type descriptor.
SAM_TIMETOLIVE (string)
Message send option name used to specify the length of time a message should be retained in milliseconds.
SAM_TRANSACTIONS (string)
Connection attribute used to set required transactional behaviour. May be set to SAM_AUTO (default) or SAM_MANUAL.
SAM_USERID (string)
Connect attribute used to define the account to being used to connect to a messaging server that requires authorisation for connections.
SAM_WAIT (string)
Receive property used to specify the wait timeout to be used when receiving a message from a queue or subscription.
SAM_WMQ (string)
Connect protocol definition for selecting the IBM WebSphere MQSeries protocol for communication with the desired messaging server.
SAM_WMQ_BINDINGS (string)
Connect protocol definition for selecting the IBM WebSphere MQSeries protocol for communication with a local messaging server.
SAM_WMQ_CLIENT (string)
Connect protocol definition for selecting the IBM WebSphere MQSeries protocol for communication with a remote messaging server.
SAM_WMQ_TARGET_CLIENT (string)
Option name used on send requests to specify the target client mode. This can either be default to 'jms' or 'mq'. The default is 'jms' which means an RFH2 header is sent with the message whereas the 'mq' setting means no RFH2 is included.
SAM_WPM (string)
Connect protocol definition for selecting the IBM WebSphere Platform Messaging protocol for communication with a WebSphere Application Server messaging server.
Ressource-Typen
Beispiele
SAM


Beispiele

Inhaltsverzeichnis

  • Connections
  • Messages
  • Messaging operations
  • Publish/Subscribe and subscriptions to topics
  • Error handling
Vordefinierte Konstanten
Connections
SAM


Connections

In order to perform any messaging and queueing functions a connection must be established with a messaging server by creating a SAMConnection object and calling its "connect" method, with a set of connection properties, to connect the PHP script to the messaging server. Until such time as the SAMConnection object is destroyed the connection will be maintained and available for use. All SAMConnection objects are destroyed when the PHP script exits.

A set of default properties may be used in connecting to a messaging server but as a minimum the PHP script must specify a protocol to be used.

Beispiel #1 Creating a connection and connecting to a remote WebSphere MQSeries Messaging Server

<?php
$conn = new SAMConnection();
$conn->connect(SAM_WMQ, array(SAM_HOST => 'myhost.mycompany.com',
                              SAM_PORT => 1506,
                              SAM_BROKER => 'mybroker'));
?>

Beispiel #2 Creating a connection and connecting to a remote WebSphere Application Server

<?php
$conn = new SAMConnection();
$conn->connect(SAM_WPM, array(SAM_ENDPOINTS => 'localhost:7278:BootstrapBasicMessaging',
                              SAM_BUS => 'Bus1',
                              SAM_TARGETCHAIN => 'InboundBasicMessaging'));
?>

Beispiel #3 Creating a connection and connecting to an MQTT server

<?php
$conn = new SAMConnection();
$conn->connect(SAM_MQTT, array(SAM_HOST => 'myhost.mycompany.com',
                               SAM_PORT => 1883));
?>

Beispiele
Messages
Beispiele


Messages

Messages sent to and received from queues are represented by the SAMMessage object. The SAMMessage object encapsulates the body of the message (if one exists) and the header properties associated with the message. A SAMMessage object is either supplied as a parameter to a messaging operation or returned as a result.

Beispiel #1 Creating a message with a simple text body

<?php
$msg = new SAMMessage('This is a simple text message');
?>

Messages may have header properties associated with them that provide control over the transport of the message or further information to the receiving application. By default message properties are delivered to the underlying messaging system as strings and in this case they may be set with the following simple syntax:

Beispiel #2 Setting a text format property using the default syntax

<?php
$msg->header->myPropertyName = 'textData';
?>

If it is desired to pass type information an alternative syntax may be used where the value and the type hint are passed in an associative array:

Beispiel #3 Setting a property using a type hint

<?php
$msg->header->myPropertyName = array(3.14159, SAM_FLOAT);
?>

Properties may also be extracted from the header of a message.

Beispiel #4 Retrieving a property from a message header

<?php
$myProperty = $msg->header->myPropertyName;
?>

Connections
Messaging operations
Beispiele


Messaging operations

All messaging operations are performed through calls to methods on the connection object. To add a message to a queue the "send" method is used, to obtain a message from a queue the "receive" method is used. Other methods provide publish and subscribe functionality and control of transaction boundaries.

Beispiel #1 Adding a message to a queue and receiving a response

<?php
$msg = new SAMMessage('This is a simple text message');
$msg->header->SAM_REPLY_TO = 'queue://receive/test';
$correlid = $conn->send('queue://send/test', $msg);

if (!$correlid) {
  // The Send failed!
  echo "Send failed ($conn->errno) $conn->error";
} else {
  $resp = $conn->receive('queue://receive/test', array(SAM_CORRELID => $correlid));
}
?>

Messages
Publish/Subscribe and subscriptions to topics
Beispiele


Publish/Subscribe and subscriptions to topics

SAM allows messages to be sent either to queues or, for WebSphere MQ and WPM, to publish/subscribe topics. A topic destination is specified to SAM in the usual way, i.e. in the form 'topic://fred', rather than the form 'queue://AQUEUE' used for point to point operation. To use publish/subscribe it is simply necessary to specify the correct broker name on the SAMConnect "connect" call and the desired topic in the destination argument to the SAMConnect "send" and "receive" calls. The PHP interface is otherwise identical to the point to point model.

By default, SAM creates non-durable subscriptions when using publish/subscribe. This means that if a client application is inactive when messages are published to a topic, then it will not receive them when it subsequently restarted. SAM does also allow durable subscriptions to be made to topics when using WPM or WebSphere MQ publish/subscribe. The purpose of these subscriptions is to allow data to be received by a client application even if that client was not active at the time the data was published.

Durable subscriptions are specified by using the SAMConnect "subscribe" call. This method takes the destination topic as an input parameter and returns a subscription identifier that may be used on subsequent "receive" calls. When the subscription is no longer required the SAMConnection "unsubscribe" method should be used to delete the subscription.

Beispiel #1 Creating a durable subscription to a topic

<?php

$subName = $conn->subscribe('topic://A');

if (!$subName) {
   echo "Subscribe failed";
} else {
   # Subscribe was OK
   // ...
}
?>

Beispiel #2 Subscribing to a topic using a WebSphere Platform Messaging (WPM) server

<?php
$conn = new SAMConnection();
// Note: For pub/sub on WPM, when connecting the name of a messaging engine
//   to hold the durable subscription (SAM_WPM_DUR_SUB_HOME) must be specified.
$conn->connect(SAM_WMQ, array(SAM_ENDPOINTS => 'localhost:7278:BootstrapBasicMessaging',
                              SAM_BUS => 'Bus1',
                              SAM_TARGETCHAIN => 'InboundBasicMessaging',
                              SAM_WPM_DUR_SUB_HOME => 'MyMachineNode01.server1-Bus1'));

$subName = $conn->subscribe('topic://A');

if (!$subName) {
   echo "Subscribe failed";
} else {
   # Subscribe was OK
   // ...
}
?>

Beispiel #3 Receiving published data using a durable subscription

<?php

$msg = $conn->receive($subName);
if ($msg) {
   echo "Received a message OK";
} else {
   echo "The receive failed";
}

?>

Beispiel #4 Deleting a durable subscription to a topic

<?php

if (!$conn->unsubscribe($subName)) {
   echo "Unsubscribe failed";
}

?>

Messaging operations
Error handling
Beispiele


Error handling

All SAMConnection methods that provide access to messaging operations return FALSE if an error occurred in processing the request. In addition the SAMConnection object has two properties, "errno" and "error", that provide respectively the error number and text description of the last error to occur on the connection.

Beispiel #1 Handling an error from a method that returns no result

<?php
if (!$conn->commit()) {
    // The commit failed!
    echo "Commit failed ($conn->errno) $conn->error";
}
?>

Beispiel #2 Handling an error from a method that returns a result

<?php
$correlid = $conn->send('queue://send/test', $msg);

if (!$correlid) {
  // The Send failed!
  echo "Send failed ($conn->errno) $conn->error";
} else {
  /* ... */
}
?>

Publish/Subscribe and subscriptions to topics
SAM Funktionen
Beispiele


SAM Funktionen

Vordefinierte Klassen

SAMConnection

Object representing a connection to a Messaging Server

Konstruktor

  • new SAMConnection - construct a new connection object to allow connection to a messaging infrastructure.

Methoden

  • commit - a method that commits (successfully completes) an in-flight unit of work.

  • connect - a method that connects a PHP script to a messaging server.

  • disconnect - a method that disconnects a PHP script from a messaging server.

  • isConnected - a method that checks whether a PHP script is connected to a messaging server.

  • peek - a method that receives a message from a queue without removing it from the queue.

  • peekAll - a method that receives one or messages from a queue without removing them from the queue.

  • receive - a method that receives a message from a queue or subscription.

  • remove - a method that removes a message from a queue.

  • rollback - a method that cancels (rolls back) an in-flight unit of work.

  • send - a method that sends a message to a queue or posts to a topic

  • setDebug - a method that switches additional debugging output on or off

  • subscribe - a method that creates a subscription to one or more topics

  • unsubscribe - a method that destroys a subscription to one or more topics

Eigenschaften

  • errno - the numeric error code for the last encountered error on this connection. This property is set to 0 if the last operation was successful.

  • error - the text description for the last encountered error on this connection

SAMMessage

Object representing a message to be sent or received

Konstruktor

  • new SAMMessage - construct a new message.

Eigenschaften

  • body - the body of the message.

  • header - the header properties of the message.

Inhaltsverzeichnis

  • SAMConnection::commit — Commits (completes) the current unit of work.
  • SAMConnection::connect — Establishes a connection to a Messaging Server
  • SAMConnection::__construct — Creates a new connection to a Messaging Server
  • SAMConnection::disconnect — Disconnects from a Messaging Server
  • SAMConnection::errno — Contains the unique numeric error code of the last executed SAM operation.
  • SAMConnection::error — Contains the text description of the last failed SAM operation.
  • SAMConnection::isConnected — Queries whether a connection is established to a Messaging Server
  • SAMConnection::peek — Read a message from a queue without removing it from the queue.
  • SAMConnection::peekAll — Read one or more messages from a queue without removing it from the queue.
  • SAMConnection::receive — Receive a message from a queue or subscription.
  • SAMConnection::remove — Remove a message from a queue.
  • SAMConnection::rollback — Cancels (rolls back) an in-flight unit of work.
  • SAMConnection::send — Send a message to a queue or publish an item to a topic.
  • SAMConnection::setDebug — Turn on or off additional debugging output.
  • SAMConnection::subscribe — Create a subscription to a specified topic.
  • SAMConnection::unsubscribe — Cancel a subscription to a specified topic.
  • SAMMessage::body — The body of the message.
  • SAMMessage::__construct — Creates a new Message object
  • SAMMessage::header — The header properties of the message.
Error handling
SAMConnection::commit
SAM


Commits (completes) the current unit of work.

SAM Funktionen
SAMConnection::connect
SAM Funktionen
PHP Manual

SAMConnection::commit

(PECL sam >= 0.1.0)

SAMConnection::commit — Commits (completes) the current unit of work.

Beschreibung

bool SAMConnection::commit ( void )

Calling the "commit" method on a Connection object commits (completes) all in-flight transactions that are part of the current unit of work.

Rückgabewerte

This method returns FALSE if an error occurs.

Beispiele

Beispiel #1 Committing the current unit of work

<?php
  if (!$conn->commit()) {
    // The commit failed!
    echo "Commit failed ($conn->errno) $conn->error";
  }
?>

Siehe auch

  • SAMConnection::rollback

SAM Funktionen
SAMConnection::connect
SAM Funktionen


Establishes a connection to a Messaging Server

SAMConnection::commit
SAMConnection::__construct
SAM Funktionen
PHP Manual

SAMConnection::connect

(PECL sam >= 0.1.0)

SAMConnection::connect — Establishes a connection to a Messaging Server

Beschreibung

bool SAMConnection::connect ( string $protocol [, array $properties ] )

Calling the "connect" method on a SAMConnection object connects the PHP script to a messaging server. No messages can be sent or received until a connection is made.

Parameter-Liste

Rückgabewerte

This method returns FALSE if an error occurs.

Beispiele

Beispiel #1 Creating a connection to a Messaging Server using the IBM MQSeries protocol (WMQ)

<?php

$conn->connect(SAM_WMQ, array(SAM_HOST => 'Myhost.myco.com', SAM_PORT => 1506, SAM_BROKER => 'MyBroker'));

?>

Beispiel #2 Creating a connection with application transaction control and default host and port values

<?php

$conn->connect(SAM_WMQ, array(SAM_BROKER => 'MyBroker', SAM_TRANSACTIONS => SAM_MANUAL));

?>

Beispiel #3 Creating a connection to a Messaging Server using the IBM WebSphere Platform Messaging protocol (WPM)

<?php

$conn->connect(SAM_WPM, array(SAM_ENDPOINTS => 'localhost:7278:BootstrapBasicMessaging',
                              SAM_BUS => 'Bus1', SAM_TARGETCHAIN => 'InboundBasicMessaging'));

?>

Siehe auch

  • SAMConnection::isConnected
  • SAMConnection::disconnect

SAMConnection::commit
SAMConnection::__construct
SAM Funktionen


Creates a new connection to a Messaging Server

SAMConnection::connect
SAMConnection::disconnect
SAM Funktionen
PHP Manual

SAMConnection::__construct

(PECL sam >= 0.1.0)

SAMConnection::__construct — Creates a new connection to a Messaging Server

Beschreibung

SAMConnection::__construct ( void )

Creates a new SAMConnection object.

Beispiele

Beispiel #1 Creating a connection object and connecting to a Messaging Server

<?php

$conn = new SAMConnection();
$conn->connect(SAM_WMQ, array(SAM_HOST => localhost, SAM_PORT => 1414, SAM_BROKER => 'bull'));

?>

SAMConnection::connect
SAMConnection::disconnect
SAM Funktionen


Disconnects from a Messaging Server

SAMConnection::__construct
SAMConnection::errno
SAM Funktionen
PHP Manual

SAMConnection::disconnect

(PECL sam >= 0.1.0)

SAMConnection::disconnect — Disconnects from a Messaging Server

Beschreibung

bool SAMConnection::disconnect ( void )

Calling the "disconnect" method on a SAMConnection object disconnects the PHP script from a messaging server. No messages can be sent or received after a connection has been disconnected.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Disconnecting from a Messaging Server

<?php

$conn->disconnect();

?>

Siehe auch

  • SAMConnection::isConnected
  • SAMConnection::connect

SAMConnection::__construct
SAMConnection::errno
SAM Funktionen


Contains the unique numeric error code of the last executed SAM operation.

SAMConnection::disconnect
SAMConnection::error
SAM Funktionen
PHP Manual

SAMConnection::errno

(PECL sam >= 0.1.0)

SAMConnection::errno — Contains the unique numeric error code of the last executed SAM operation.

Description

int $SAMConnection->errno;

Contains the numeric error code of the last executed SAM operation on this connection. If the last operation completed successfully this property contains 0.

Rückgabewerte

An integer greater than zero indicates the last error type encountered on the connection. Zero indicates that the last operation on this connection completed successfully.

Beispiele

Beispiel #1 Using the error number and description properties

<?php
$conn = new SAMConnection();
$conn->connect(SAM_WMQ, array(SAM_HOST => 'localhost', SAM_PORT => 1506));
$msg = new SAMMessage('This is a simple text item');
if (!$conn->send('topic://test', $msg)) {
    // The Send failed!
    echo "Send failed ($conn->errno) $conn->error";
}
?>

Siehe auch

  • SAMConnection::error

SAMConnection::disconnect
SAMConnection::error
SAM Funktionen


Contains the text description of the last failed SAM operation.

SAMConnection::errno
SAMConnection::isConnected
SAM Funktionen
PHP Manual

SAMConnection::error

(PECL sam >= 0.1.0)

SAMConnection::error — Contains the text description of the last failed SAM operation.

Beschreibung

string $SAMConnection->error;

Contains the text description of the last failed SAM operation on this connection. If the last operation completed successfully this property contains an empty string.

Rückgabewerte

A string containing the text description of the last error type encountered on the connection. An empty string indicates that the last operation on this connection completed successfully.

Beispiele

Beispiel #1 Using the error number and description properties

<?php
$conn = new SAMConnection();
$conn->connect(SAM_WMQ, array(SAM_HOST => 'localhost', SAM_PORT => 1506));
$msg = new SAMMessage('This is a simple text item');
if (!$conn->send('topic://test', $msg)) {
    // The Send failed!
    echo "Send failed ($conn->errno) $conn->error";
}
?>

Siehe auch

  • SAMConnection::errno

SAMConnection::errno
SAMConnection::isConnected
SAM Funktionen


Queries whether a connection is established to a Messaging Server

SAMConnection::error
SAMConnection::peek
SAM Funktionen
PHP Manual

SAMConnection::isConnected

(PECL sam >= 0.1.0)

SAMConnection::isConnected — Queries whether a connection is established to a Messaging Server

Beschreibung

bool SAMConnection::isConnected ( void )

Calling the "isConnected" method on a Connection object will check whether the PHP script is connected to a messaging server. No messages can be sent or received unless a connection has been established with a Messaging server.

Rückgabewerte

This method returns TRUE if the SAMConnection object is successfully connected to a Messaging server or FALSE otherwise.

Beispiele

Beispiel #1 Checking whether there us a connection to a Messaging Server

<?php

if ($conn->isConnected()) {
  echo 'Connection is active.';
} else {
  echo 'No active connection!';
}

?>

Siehe auch

  • SAMConnection::disconnect
  • SAMConnection::connect

SAMConnection::error
SAMConnection::peek
SAM Funktionen


Read a message from a queue without removing it from the queue.

SAMConnection::isConnected
SAMConnection::peekAll
SAM Funktionen
PHP Manual

SAMConnection::peek

(PECL sam >= 0.1.0)

SAMConnection::peek — Read a message from a queue without removing it from the queue.

Beschreibung

SAMMessage SAMConnection::peek ( string $target [, array $properties ] )

Parameter-Liste

target

The identity of the queue from which to peek the message.

properties

An optional associative array of properties describing other parameters to control the peek operation.

Property name | Possible values
SAM_CORRELID | This is the target correlation id string of the message. This would typically have been returned by a "send" request.
SAM_MESSAGEID | This is the message id string of the message which is to be peeked.

Rückgabewerte

This method returns a SAMMessage object or FALSE if an error occurs.

Beispiele

Beispiel #1 Retrieve the next message from a queue without removing it

<?php
$msg = $conn->peek('queue://receive/test');

if (!$msg) {
  // The peek failed!
  echo "Peek failed ($conn->errno) $conn->error";
}
?>

Beispiel #2 Retrieve a specific message from a queue without removing it from the queue

<?php

$msg = $conn->peek('queue://receive/test', array(SAM_MESSAGEID => $messageId));

?>

Siehe auch

  • SAMConnection::peekAll

SAMConnection::isConnected
SAMConnection::peekAll
SAM Funktionen


Read one or more messages from a queue without removing it from the queue.

SAMConnection::peek
SAMConnection::receive
SAM Funktionen
PHP Manual

SAMConnection::peekAll

(PECL sam >= 0.2.0)

SAMConnection::peekAll — Read one or more messages from a queue without removing it from the queue.

Beschreibung

array SAMConnection::peekAll ( string $target [, array $properties ] )

Parameter-Liste

target

The identity of the queue from which messages should be peeked.

properties

An optional associative array of properties describing other parameters to control the peek operation.

Property name | Possible values
SAM_CORRELID | This is the target correlation id string of messages to be peeked. This would typically have been returned by a "send" request.
SAM_MESSAGEID | This is the message id string of a message which is to be peeked.

Rückgabewerte

This method returns an array of SAMMessage objects or FALSE if an error occurs.

Beispiele

Beispiel #1 Retrieve all messages in a queue without removing them

<?php
$msgArray = $conn->peekAll('queue://receive/test');
if ($msgArray) {
   foreach ( $msgArray as $key => $msg) {
       echo "Message $key: body = $msg->body\n";
   }
} else {
   echo "PeekAll failed ($conn->errno) $conn->error";
}
?>

Beispiel #2 Retrieve all messages from a queue with a matching correlation id

<?php

   $msgArray = $conn->peekAll('queue://receive/test', array(SAM_CORRELID => $correlId ));
   if ($msgArray) {

      foreach ( $msgArray as $key => $msg) {
            echo "Message $key: body = $msg->body\n";
         }
   } else {
      echo "PeekAll failed ($conn->errno) $conn->error";
   }

?>

Siehe auch

  • SAMConnection::peek

SAMConnection::peek
SAMConnection::receive
SAM Funktionen


Receive a message from a queue or subscription.

SAMConnection::peekAll
SAMConnection::remove
SAM Funktionen
PHP Manual

SAMConnection::receive

(PECL sam >= 0.1.0)

SAMConnection::receive — Receive a message from a queue or subscription.

Beschreibung

SAMMessage SAMConnection::receive ( string $target [, array $properties ] )

Parameter-Liste

target

The identity of the queue, topic or subscription from which to receive the message.

properties

An optional associative array of properties describing other parameters to control the receive operation.

Property name | Possible values
SAM_CORRELID | Used to request selection of the message to receive based upon the correlation id string of the message.
SAM_MESSAGEID | Used to request selection of the message to receive based upon the message id string of the message.
SAM_WAIT | Timeout value in milliseconds to control how long the request should block waiting to receive a message before returning with a failure if no message is available on the queue or topic. The default value is 0 meaning wait indefinitely and should be used with caution as the request may wait until the overall PHP script processing time limit has expired if no message becomes available.

Rückgabewerte

This method returns a SAMMessage object or FALSE if an error occurs.

Beispiele

Beispiel #1 Receiving a message from a queue

<?php
$msg = $conn->receive('queue://receive/test');

if (!$msg) {
  // The receive failed!
  echo "Receive failed ($conn->errno) $conn->error";
}
?>

Beispiel #2 Receiving a message from a queue with options

In this example the SAM_CORRELID option is used to specify a correlation id string to be used to identify the message to receive. A wait timeout of 10 seconds is also specified.

<?php

$msg = $conn->receive('queue://receive/test', array(SAM_CORRELID => $token, SAM_WAIT => 10000));

?>

Beispiel #3 Receiving a message from a subscription

In this example we show how to receive a message from a subscription id.

<?php
$msg = $conn->receive($subscriptionName);

if (!$msg) {
  // The receive failed!
  echo "Receive failed ($conn->errno) $conn->error";
}
?>

Please note that $subscriptionName is a subscription id returned from an earlier subscribe call.

Siehe auch

  • SAMConnection::send

SAMConnection::peekAll
SAMConnection::remove
SAM Funktionen


Remove a message from a queue.

SAMConnection::receive
SAMConnection::rollback
SAM Funktionen
PHP Manual

SAMConnection::remove

(PECL sam >= 0.1.0)

SAMConnection::remove — Remove a message from a queue.

Beschreibung

SAMMessage SAMConnection::remove ( string $target [, array $properties ] )

Removes a message from a queue.

Parameter-Liste

target

The identity of the queue from which to remove the message.

properties

An optional associative array of properties describing other parameters to control the remove operation.

Property name | Possible values
SAM_CORRELID | This is the target correlation id string of the message. This would typically have been returned by a "send" request.
SAM_MESSAGEID | This is the message id string of the message which is to be removed.

Rückgabewerte

This method returns FALSE if an error occurs.

Beispiele

Beispiel #1 Removing a message from a queue by message id

<?php
if (!$conn->remove('queue://receive/test', array(SAM_MESSAGEID => $messageId))) {
  // The remove failed!
  echo "Remove failed ($conn->errno) $conn->error";
}
?>

SAMConnection::receive
SAMConnection::rollback
SAM Funktionen


Cancels (rolls back) an in-flight unit of work.

SAMConnection::remove
SAMConnection::send
SAM Funktionen
PHP Manual

SAMConnection::rollback

(PECL sam >= 0.1.0)

SAMConnection::rollback — Cancels (rolls back) an in-flight unit of work.

Beschreibung

bool SAMConnection::rollback ( void )

Rolls back an in-flight unit of work.

Rückgabewerte

This method returns FALSE if an error occurs.

Beispiele

Beispiel #1 Cancelling an in-flight unit of work

<?php
if (!$conn->rollback()) {
  // The rollback failed!
  echo "Rollback failed ($conn->errno) $conn->error";
}
?>

Siehe auch

  • SAMConnection::commit

SAMConnection::remove
SAMConnection::send
SAM Funktionen


Send a message to a queue or publish an item to a topic.

SAMConnection::rollback
SAMConnection::setDebug
SAM Funktionen
PHP Manual

SAMConnection::send

(PECL sam >= 0.1.0)

SAMConnection::send — Send a message to a queue or publish an item to a topic.

Beschreibung

string SAMConnection::send ( string $target , SAMMessage $msg [, array $properties ] )

The "send" method is used to send a message to a specific queue or to publish to a specific topic. The method returns a correlation id that can be used as a selector to identify reply or response messages when these are requested.

Parameter-Liste

target

If sending a message, the identity of the queue (queue://queuename) or if publishing to a topic the identity of the topic (topic://topicname) to which the message is to be delivered.

msg

The message to be sent or published.

properties

An optional associative array of properties describing other parameters to control the receive operation.

Property name | Possible values
SAM_DELIVERYMODE | Indicates whether the messaging server should ensure delivery or whether it is acceptable for messages to be lost in the case of system failures. The value of this property may be set to either SAM_PERSISTENT, to indicate that message loss is not acceptable, or SAM_NON_PERSISTENT, if message loss is acceptable. The resulting behaviour of the send will vary depending on the capabilities of the messaging server the PHP script is currently connected to. If the server does not support persistent messages and SAM_PERSISTENT is specified the send request will fail with an error indication showing the capability is not available.
SAM_PRIORITY | A numeric value between 0 and 9 indicating the desired message delivery priority. A priority value of 0 indicates the lowest priority while 9 indicates highest priority. If no priority is specified a default will be assigned which is dependent on the messaging server being used.
SAM_CORRELID | A string to be assigned as a correlation id for this message. If no value is given the messaging server may assign a value automatically.
SAM_TIMETOLIVE | A time in milliseconds indicating how long the messaging server should retain the message on a queue before discarding it. The default value is 0 indicating the message should be retained indefinitely.
SAM_WMQ_TARGET_CLIENT | This property is only valid when using WebSphere MQ and indicates whether or not an RFH2 header should be included with the message. This option may be set to either 'jms' or 'mq'. The default is 'jms' which means that an RFH2 header is included. If the value 'mq' is specified then no RFH2 is included with the message.

Rückgabewerte

A correlation id string that can be used in a subsequent receive call as a selector to obtain any reply or response that has been requested or FALSE if an error occurred.

Hinweis:

A correlation id will only be returned for a successful send to a queue destination (queue://xxxx) in which case it will reflect the message identity of the message on the queue. In the case of a send being used to publish data to a topic the return value will be TRUE as no correlation id is available for return.

Beispiele

Beispiel #1 Send a message to a queue

<?php
$msg = new SAMMessage('This is a simple text message');
$correlId = $conn->send('queue://send/test', $msg);
if (!$correlId) {
    // The send failed!
    echo "Send failed ($conn->errno) $conn->error";
}

?>

Beispiel #2 Publish a message to a topic

<?php
$msg = new SAMMessage('This is a simple text item');
if (!$conn->send('topic://test', $msg)) {
    // The Send failed!
    echo "Send failed ($conn->errno) $conn->error";
}
?>

Beispiel #3 Send a request and receive a response

<?php
$msg = new SAMMessage('This is a simple text message');
$msg->header->SAM_REPLY_TO = 'queue://receive/test';
$correlid = $conn->send('queue://send/test', $msg);

if (!$correlid) {
    // The Send failed!
    echo "Send failed ($conn->errno) $conn->error";
} else {
    $resp = $conn->receive('queue://receive/test', array(SAM_CORRELID => $correlid));
}
?>

Siehe auch

  • SAMConnection::receive

SAMConnection::rollback
SAMConnection::setDebug
SAM Funktionen


Turn on or off additional debugging output.

SAMConnection::send
SAMConnection::subscribe
SAM Funktionen
PHP Manual

SAMConnection::setDebug

(PECL sam >= 1.1.0)

SAMConnection::setDebug — Turn on or off additional debugging output.

Beschreibung

The "setdebug" method is used to turn on or off additional debugging output. The SAM framework will provide method/function entry and exit trace data plus additional information. Protocol specific implementations also provide extra output.

void SAMConnection::setDebug ( bool $switch )

Parameter-Liste

switch

If this parameter is set to TRUE additional debugging output will be provided. If the value is set to FALSE output of additional information will be stopped.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Turn on debugging output

<?php
$conn->setdebug(TRUE);
?>

Beispiel #2 Turn off debugging output

<?php
$conn->setdebug(FALSE);
?>

SAMConnection::send
SAMConnection::subscribe
SAM Funktionen


Create a subscription to a specified topic.

SAMConnection::setDebug
SAMConnection::unsubscribe
SAM Funktionen
PHP Manual

SAMConnection::subscribe

(PECL sam >= 0.1.0)

SAMConnection::subscribe — Create a subscription to a specified topic.

Beschreibung

string SAMConnection::subscribe ( string $targetTopic )

The "subscribe" method is used to create a new subscription to a specified topic.

Parameter-Liste

targetTopic

The identity of the topic (topic://topicname) to subscribe to.

Rückgabewerte

A subscription identifier that can be used in a subsequent receive call as a selector to obtain any topic data or FALSE if an error occurred. The subscription identifier should be used in the receive call in place of the simple topic name.

Beispiele

Beispiel #1 Subscribe to a topic

<?php
$subid = $conn->subscribe('topic://A');
if (!$subid) {
  // The subscribe failed!
  echo "Subscribe failed ($conn->errno) $conn->error";
}
?>

Siehe auch

  • SAMConnection::unsubscribe

SAMConnection::setDebug
SAMConnection::unsubscribe
SAM Funktionen


Cancel a subscription to a specified topic.

SAMConnection::subscribe
SAMMessage::body
SAM Funktionen
PHP Manual

SAMConnection::unsubscribe

(PECL sam >= 0.1.0)

SAMConnection::unsubscribe — Cancel a subscription to a specified topic.

Beschreibung

bool SAMConnection::unsubscribe ( string $subscriptionId [, string $targetTopic ] )

The "unsubscribe" method is used to delete an existing subscription to a specified topic.

Parameter-Liste

subscriptionId

The identifier of an existing subscription as returned by a call to the subscribe method.

Rückgabewerte

This method returns FALSE if an error occurs.

Beispiele

Beispiel #1 Delete a subscription

<?php
if (!$conn->unsubscribe($subid)) {
    // The unsubscribe failed!
    echo "Unsubscribe failed ($conn->errno) $conn->error";
}
?>

Siehe auch

  • SAMConnection::subscribe

SAMConnection::subscribe
SAMMessage::body
SAM Funktionen


The body of the message.

SAMConnection::unsubscribe
SAMMessage::__construct
SAM Funktionen
PHP Manual

SAMMessage::body

(PECL sam >= 0.1.0)

SAMMessage::body — The body of the message.

Beschreibung

string $SAMMessage->body;

The "body" property contains the actual body of the message. It may not always be set.

Beispiele

Beispiel #1 Setting a text string into the body of a message

<?php
$msg = new SAMMessage();
$msg->body = 'This is a simple message';

?>

Siehe auch

  • SAMMessage::header

SAMConnection::unsubscribe
SAMMessage::__construct
SAM Funktionen


Creates a new Message object

SAMMessage::body
SAMMessage::header
SAM Funktionen
PHP Manual

SAMMessage::__construct

(PECL sam >= 0.1.0)

SAMMessage::__construct — Creates a new Message object

Beschreibung

SAMMessage::__construct ([ mixed $body ] )

Creates a new SAMMessage object optionally specifying a message body.

Parameter-Liste

body

The optional body for the message.

Beispiele

Beispiel #1 Creating a message

<?php

$msg = new SAMMessage();

?>

Beispiel #2 Creating a message with a simple text payload

<?php

$msg = new SAMMessage('This is a simple text message');

?>

SAMMessage::body
SAMMessage::header
SAM Funktionen


The header properties of the message.

SAMMessage::__construct
SNMP
SAM Funktionen
PHP Manual

SAMMessage::header

(PECL sam >= 0.1.0)

SAMMessage::header — The header properties of the message.

Beschreibung

object $SAMMessage->header;

The header property is a container for any system or user properties that area associated with the message.

Properties may be assigned by the sender of a message to control the way the messaging systems handles it or may be assigned by the messaging system itself to tell the recipient extra information about the message or the way in which it has been handled.

Some properties are understood by SAM in which case constants have been defined for them. The majority of properties however are ignored by the SAM implementation and simply passed through to the underlying messaging systems allowing the application to use messaging specific property names or to define its own "user" properties.

The SAM defined properties are as follows:

Property name | Possible values
SAM_MESSAGEID | When a message is received this field contains the unique identifier of the message as allocated by the underlying messaging system. When sending a message this field is ignored.
SAM_REPLY_TO | A string providing the identity of the queue on to which responses to this message should be posted.
SAM_TYPE

An indication of the type of message to be sent. The value may be SAM_TEXT indicating the contents of the message body is a text string, or SAM_BYTES indicating the contents of the message body are some application defined format.

The way in which this property is used may depend on the underlying messaging server. For instance a messaging server that supports the JMS (Java Message Service) specification may interpret this value and send messages of type "jms_text" and "jms_bytes". In addition, if the SAM_TYPE property is set to SAM_TEXT the data provided for the message body is expected to be a UTF8 encoded string.

When setting the values of properties it is often useful to give a hint as to the format in which the property should be delivered to the messaging system. By default property values are delivered as text and the following simple syntax may be used to set a value:

Beispiel #1 Setting a text format property using the default syntax

<?php
$msg = new SAMMessage();

$msg->header->myPropertyName = 'textData';
?>

If it is desired to pass type information an alternative syntax may be used where the value and the type hint are passed in an associative array:

Beispiel #2 Setting a text format property using a type hint

<?php
$msg = new SAMMessage();

$msg->header->myPropertyName = array('textData', SAM_STRING);
?>

When passing a type hint the type entry should be one of the SAM defined constant values as defined by the following table:

Constant | Type description
SAM_BOOLEAN | Any value passed will be interpreted as logical true or false. If the value cannot be interpreted as a PHP boolean value the value passed to the messaging system is undefined.
SAM_BYTE | An 8-bit signed integer value. SAM will attempt to convert the property value specified into a single byte value to pass to the messaging system. If a string value is passed an attempt will be made to interpret the string as a numeric value. If the numeric value cannot be expressed as an 8-bit signed binary value data may be lost in the conversion.
SAM_DOUBLE | A long floating point value. SAM will attempt to convert the property value specified into a floating point value with 15 digits of precision. If a string value is passed an attempt will be made to interpret the string as a numeric value. If the passed value cannot be expressed as a 15 digit floating point value data may be lost in the conversion.
SAM_FLOAT | A short floating point value. SAM will attempt to convert the property value specified into a floating point value with 7 digits of precision. If a string value is passed an attempt will be made to interpret the string as a numeric value. If the passed value cannot be expressed as a 7 digit floating point value data may be lost in the conversion.
SAM_INT | An 32-bit signed integer value. SAM will attempt to convert the property value specified into a 32-bit value to pass to the messaging system. If a string value is passed an attempt will be made to interpret the string as a numeric value. If the numeric value cannot be expressed as an 32-bit signed binary value data may be lost in the conversion.
SAM_LONG | An 64-bit signed integer value. SAM will attempt to convert the property value specified into a 64-bit value to pass to the messaging system. If a string value is passed an attempt will be made to interpret the string as a numeric value. If the numeric value cannot be expressed as an 64-bit signed binary value data may be lost in the conversion.
SAM_STRING | SAM will interpret the property value specified as a string and pass it to the messaging system accordingly.

Beispiele

Beispiel #3 Setting properties as the sender of a message

<?php
$msg = new SAMMessage('This is a test message');

// defining SAM specific properties...
$msg->header->SAM_REPLY_TO = 'queue://test/replyQueue';

// defining arbitrary properties...
//
// a default string property
$msg->header->myStringProp1 = 'a string property';
// a string property with a type hint
$msg->header->myStringProp2 = array('another string property', SAM_STRING);

// a boolean property
$msg->header->myBoolProp = array(FALSE, SAM_BOOL);

// numeric format properties
$msg->header->myIntProp = array(32768, SAM_INT);
$msg->header->myLongProp = array(9876543, SAM_LONG);
$msg->header->myByteProp1 = array(123, SAM_BYTE);
$msg->header->myByteProp2 = array('12', SAM_BYTE);
$msg->header->myFloatProp = array(3.141592, SAM_FLOAT);
$msg->header->myDoubleProp = array(3.14159265358979, SAM_DOUBLE);
?>

Beispiel #4 Retreiving property values from a message

<?php

// accessing an application specific property
$intProp = $msg->header->MyIntProp;

// accessing a messaging system specific property
$encoding = $msg->header->JMS_IBM_Msgtype;

?>

Siehe auch

  • SAMMessage::body

SAMMessage::__construct
SNMP
SAM Funktionen


SNMP

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • SNMP-Funktionen
    • snmp_get_quick_print — Holt den aktuellen Wert der quick_print Einstellung der UCD Bibliothek
    • snmp_get_valueretrieval — Return the method how the SNMP values will be returned
    • snmp_read_mib — Reads and parses a MIB file into the active MIB tree
    • snmp_set_enum_print — Return all values that are enums with their enum value instead of the raw integer
    • snmp_set_oid_numeric_print — Set the OID output format
    • snmp_set_oid_output_format — Set the OID output format
    • snmp_set_quick_print — Setzt den Wert von quick_print innerhalb der UCD SNMP Bibliothek.
    • snmp_set_valueretrieval — Specify the method how the SNMP values will be returned
    • snmp2_get — Fetch an SNMP object
    • snmp2_getnext — Fetch the SNMP object which follows the given object id
    • snmp2_real_walk — Return all objects including their respective object ID within the specified one
    • snmp2_set — Set the value of an SNMP object
    • snmp2_walk — Fetch all the SNMP objects from an agent
    • snmp3_get — Fetch an SNMP object
    • snmp3_getnext — Fetch the SNMP object which follows the given object id
    • snmp3_real_walk — Return all objects including their respective object ID within the specified one
    • snmp3_set — Set the value of an SNMP object
    • snmp3_walk — Fetch all the SNMP objects from an agent
    • snmpget — Ein SNMP Objekt holen
    • snmpgetnext — Fetch the SNMP object which follows the given object id
    • snmprealwalk — Return all objects including their respective object ID within the specified one
    • snmpset — Setzt ein SNMP Objekt
    • snmpwalk — Holt alle SNMP Objekte eines Agenten
    • snmpwalkoid — Abfrage über einen Baum einer Netzwerkeinheit.
  • SNMP — The SNMP class
    • SNMP::close — Close SNMP session
    • SNMP::__construct — Creates SNMP instance representing session to remote SNMP agent
    • SNMP::get — Fetch an SNMP object
    • SNMP::getErrno — Get last error code
    • SNMP::getError — Get last error message
    • SNMP::getnext — Fetch an SNMP object which follows the given object id
    • SNMP::set — Set the value of an SNMP object
    • SNMP::setSecurity — Configures security-related SNMPv3 session parameters
    • SNMP::walk — Fetch SNMP object subtree
  • SNMPException — The SNMPException class
SAMMessage::header
Einführung
Sonstige Dienste


Einführung

Die SNMP Erweiterung ermöglicht es Remote-Devices über das Simple Network Management Protocol einfach zu verwalten.

Da diese Erweiterung um die Net-SNMP (oder UCD-SNMP auf älteren Systemen) Bibliothek herum implementiert ist, werden alle grundlegenden Konzepte von dieser übernommen. Auch ändern die PHP Funktionen ihr Verhalten abhängig von Net-SNMP Konfigurationsdateien und Umgebungsvariablen.

Seit PHP 5.4 ist eine objektorientierte API verfügbar.

Mehr Informationen über Net-SNMP können unter » http://www.net-snmp.org/ gefunden werden.

SNMP
Installation/Konfiguration
SNMP


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
SNMP


Anforderungen

Um die SNMP Funktionen nutzen zu können muss das » NET-SNMP Paket installiert sein. Die SNMPv3 Funktionen sind nur verfügbar, wenn ebenfalls das » OpenSSL Paket installiert ist.

Unter Windows sind die SNMP Funktionen nur unter NT verfügbar, nicht aber unter Win95/98.

Beginnend mit PHP 5.4.0 wird Net-SNMP Version 5.3+ für Unix Installationen, und Net-SNMP Version 5.4+ für Windows benötigt.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

PHP 5.3.0, 5.3.1 und 5.3.2 haben keine SNMP Unterstützung. In PHP 5.3.3 wurde SNMP Unterstützung wieder eingeführt.

Die Windowsdistribution von Net-SNMP enthält eine Unterstützung für SNMP im Verzeichnis mibs. Dieses Verzeichnis sollte als MIBDIRS zu den Windows Umgebungsvariablen hinzugefügt werden, wobei der Wert der vollständige Pfad zum mibs Verzeichnis sein sollte, z.B. c:\usr\mibs.

Wichtiger Hinweis für PHP vor 5.4: Um das UCD-SNMP-Paket nutzen zu können, müssen Sie vor dem Kompilieren NO_ZEROLENGTH_COMMUNITY als 1 definieren. Nachdem UCD SNMP konfiguriert ist, bearbeiten Sie bitte die Datei config.h oder acconfig.h und suchen Sie nach NO_ZEROLENGTH_COMMUNITY. Kommentieren Sie die #define-Zeile aus. Das Ergebnis sollte wie folgt aussehen:

#define NO_ZEROLENGTH_COMMUNITY 1
Kompilieren Sie jetzt PHP mit --with-snmp[=DIR] .

Wenn seltsame "segmentation faults" in Verbindung mit SNMP-Kommandos auftauchen, wurden die obigen Anweisungen nicht korrekt befolgt. Wenn Sie UCD SNMP nicht neu kompilieren wollen, können Sie PHP mit dem --enable-ucd-snmp-hack -Switch kompilieren, dies stellt einen Workaround dar.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

Für snmp_set_oid_output_format()
SNMP_OID_OUTPUT_SUFFIX (integer)
Seit 5.4.0
SNMP_OID_OUTPUT_MODULE (integer)
Seit 5.4.0
SNMP_OID_OUTPUT_FULL (integer)
Seit 5.2.0
SNMP_OID_OUTPUT_NUMERIC (integer)
Seit 5.2.0
SNMP_OID_OUTPUT_UCD (integer)
Seit 5.4.0
SNMP_OID_OUTPUT_NONE (integer)
Seit 5.4.0
Für snmp_set_valueretrieval()
SNMP_VALUE_LIBRARY (integer)
SNMP_VALUE_PLAIN (integer)
SNMP_VALUE_OBJECT (integer)
SNMP-Typen wie zurückgegeben, wenn SNMP_VALUE_OBJECT mit snmp_set_valueretrieval() verwendet wurde.
SNMP_BIT_STR (integer)
SNMP_OCTET_STR (integer)
SNMP_OPAQUE (integer)
SNMP_NULL (integer)
SNMP_OBJECT_ID (integer)
SNMP_IPADDRESS (integer)
SNMP_COUNTER (integer)
SNMP_UNSIGNED (integer)
SNMP_TIMETICKS (integer)
SNMP_UINTEGER (integer)
SNMP_INTEGER (integer)
SNMP_COUNTER64 (integer)
Ressource-Typen
SNMP-Funktionen
SNMP


SNMP-Funktionen

Inhaltsverzeichnis

  • snmp_get_quick_print — Holt den aktuellen Wert der quick_print Einstellung der UCD Bibliothek
  • snmp_get_valueretrieval — Return the method how the SNMP values will be returned
  • snmp_read_mib — Reads and parses a MIB file into the active MIB tree
  • snmp_set_enum_print — Return all values that are enums with their enum value instead of the raw integer
  • snmp_set_oid_numeric_print — Set the OID output format
  • snmp_set_oid_output_format — Set the OID output format
  • snmp_set_quick_print — Setzt den Wert von quick_print innerhalb der UCD SNMP Bibliothek.
  • snmp_set_valueretrieval — Specify the method how the SNMP values will be returned
  • snmp2_get — Fetch an SNMP object
  • snmp2_getnext — Fetch the SNMP object which follows the given object id
  • snmp2_real_walk — Return all objects including their respective object ID within the specified one
  • snmp2_set — Set the value of an SNMP object
  • snmp2_walk — Fetch all the SNMP objects from an agent
  • snmp3_get — Fetch an SNMP object
  • snmp3_getnext — Fetch the SNMP object which follows the given object id
  • snmp3_real_walk — Return all objects including their respective object ID within the specified one
  • snmp3_set — Set the value of an SNMP object
  • snmp3_walk — Fetch all the SNMP objects from an agent
  • snmpget — Ein SNMP Objekt holen
  • snmpgetnext — Fetch the SNMP object which follows the given object id
  • snmprealwalk — Return all objects including their respective object ID within the specified one
  • snmpset — Setzt ein SNMP Objekt
  • snmpwalk — Holt alle SNMP Objekte eines Agenten
  • snmpwalkoid — Abfrage über einen Baum einer Netzwerkeinheit.
Vordefinierte Konstanten
snmp_get_quick_print
SNMP


Holt den aktuellen Wert der quick_print Einstellung der UCD Bibliothek

SNMP-Funktionen
snmp_get_valueretrieval
SNMP-Funktionen
PHP Manual

snmp_get_quick_print

(PHP 4, PHP 5, PHP 7)

snmp_get_quick_print — Holt den aktuellen Wert der quick_print Einstellung der UCD Bibliothek

Description

bool snmp_get_quick_print ( void )

Gibt den aktuellen Wert von quick_print der UCD Bibliothek zurück. quick_print ist standardmäßig abgeschaltet.

$quickprint = snmp_get_quick_print();

Der obige Funktionsaufruf gibt FALSE zurück, wenn quick_print ausgeschaltet ist und TRUE, wenn quick_print eingeschaltet ist.

Die snmp_get_quick_print() Funktion ist nur bei Verwendung der SNMP Bibliothek verfügbar, jedoch nicht bei Verwendung der Windows SNMP Bibliothek.

Siehe: snmp_set_quick_print() für eine Vollständie Beschreibung was quick_print bewirkt.

SNMP-Funktionen
snmp_get_valueretrieval
SNMP-Funktionen


Return the method how the SNMP values will be returned

snmp_get_quick_print
snmp_read_mib
SNMP-Funktionen
PHP Manual

snmp_get_valueretrieval

(PHP 4 >= 4.3.3, PHP 5, PHP 7)

snmp_get_valueretrieval — Return the method how the SNMP values will be returned

Beschreibung

int snmp_get_valueretrieval ( void )

Rückgabewerte

OR-ed combitantion of constants ( SNMP_VALUE_LIBRARY or SNMP_VALUE_PLAIN ) with possible SNMP_VALUE_OBJECT set.

Beispiele

Beispiel #1 Using snmp_get_valueretrieval

<?php
 $ret = snmpget('localhost', 'public', 'IF-MIB::ifName.1');
 if (snmp_get_valueretrieval() & SNMP_VALUE_OBJECT) {
   echo $ret->value;
 } else {
   echo $ret;
 }
?>

Siehe auch

  • snmp_set_valueretrieval() - Specify the method how the SNMP values will be returned
  • Vordefinierte Konstanten

snmp_get_quick_print
snmp_read_mib
SNMP-Funktionen


Reads and parses a MIB file into the active MIB tree

snmp_get_valueretrieval
snmp_set_enum_print
SNMP-Funktionen
PHP Manual

snmp_read_mib

(PHP 5, PHP 7)

snmp_read_mib — Reads and parses a MIB file into the active MIB tree

Beschreibung

bool snmp_read_mib ( string $filename )

This function is used to load additional, e.g. vendor specific, MIBs so that human readable OIDs like VENDOR-MIB::foo.1 instead of error prone numeric OIDs can be used.

The order in which the MIBs are loaded does matter as the underlying Net-SNMP libary will print warnings if referenced objects cannot be resolved.

Parameter-Liste

filename

The filename of the MIB.

Beispiele

Beispiel #1 Using snmp_read_mib()

<?php
 print_r( snmprealwalk('localhost', 'public', '.1.3.6.1.2.1.2.3.4.5') );

 snmp_read_mib('./FOO-BAR-MIB.txt');
 print_r( snmprealwalk('localhost', 'public', 'FOO-BAR-MIB::someTable' );
?>

The above example is made up but the results would look like:

Array
(
    [iso.3.6.1.2.1.2.3.4.5.0] => Gauge32: 6
)
Array
(
    [FOO-BAR-MIB::someTable.0] => Gauge32: 6
)

snmp_get_valueretrieval
snmp_set_enum_print
SNMP-Funktionen


Return all values that are enums with their enum value instead of the raw integer

snmp_read_mib
snmp_set_oid_numeric_print
SNMP-Funktionen
PHP Manual

snmp_set_enum_print

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

snmp_set_enum_print — Return all values that are enums with their enum value instead of the raw integer

Beschreibung

bool snmp_set_enum_print ( int $enum_print )

This function toggles if snmpwalk/snmpget etc. should automatically lookup enum values in the MIB and return them together with their human readable string.

Parameter-Liste

enum_print

As the value is interpreted as boolean by the Net-SNMP library, it can only be "0" or "1".

Beispiele

Beispiel #1 Using snmp_set_enum_print()

<?php
 snmp_set_enum_print(0);
 echo snmpget('localhost', 'public', 'IF-MIB::ifOperStatus.3') . "\n";
 snmp_set_enum_print(1);
 echo snmpget('localhost', 'public', 'IF-MIB::ifOperStatus.3') . "\n";
?>

The above would return

 INTEGER: up(1)
 INTEGER: 1

Anmerkungen

Hinweis:

snmp_set_enum_print() is only available when using the UCD SNMP library. This function is not available when using the Windows SNMP library.

snmp_read_mib
snmp_set_oid_numeric_print
SNMP-Funktionen


Set the OID output format

snmp_set_enum_print
snmp_set_oid_output_format
SNMP-Funktionen
PHP Manual

snmp_set_oid_numeric_print

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

snmp_set_oid_numeric_print — Set the OID output format

Beschreibung

void snmp_set_oid_numeric_print ( int $oid_format )

Diese Funktion ist ein Alias für: snmp_set_oid_output_format().

Changelog

Version | Beschreibung
5.2.0 | Since PHP 5.2.0.

Siehe auch

  • snmp_set_oid_output_format() - Set the OID output format

snmp_set_enum_print
snmp_set_oid_output_format
SNMP-Funktionen


Set the OID output format

snmp_set_oid_numeric_print
snmp_set_quick_print
SNMP-Funktionen
PHP Manual

snmp_set_oid_output_format

(PHP 5 >= 5.2.0, PHP 7)

snmp_set_oid_output_format — Set the OID output format

Beschreibung

bool snmp_set_oid_output_format ( int $oid_format = SNMP_OID_OUTPUT_MODULE )

snmp_set_oid_output_format() sets the output format to be full or numeric.

Parameter-Liste

oid_format
OID .1.3.6.1.2.1.1.3.0 representation for various oid_format values
SNMP_OID_OUTPUT_FULL | .iso.org.dod.internet.mgmt.mib-2.system.sysUpTime.sysUpTimeInstance
SNMP_OID_OUTPUT_NUMERIC | .1.3.6.1.2.1.1.3.0

Begining from PHP 5.4.0 four additional constants available:

SNMP_OID_OUTPUT_MODULE | DISMAN-EVENT-MIB::sysUpTimeInstance
SNMP_OID_OUTPUT_SUFFIX | sysUpTimeInstance
SNMP_OID_OUTPUT_UCD | system.sysUpTime.sysUpTimeInstance
SNMP_OID_OUTPUT_NONE | Undefined

Rückgabewerte

Es wird kein Wert zurückgegeben.

Anmerkungen

Hinweis:

snmp_set_oid_output_format() is only available when using the UCD SNMP library. This function is not available when using the Windows SNMP library.

Beispiele

Beispiel #1 Using snmprealwalk()

<?php

 snmp_read_mib("/usr/share/mibs/netsnmp/NET-SNMP-TC");

 // default or SNMP_OID_OUTPUT_MODULE in PHP >= 5.3.6
 print_r( snmprealwalk('localhost', 'public', 'RFC1213-MIB::sysObjectID') );

 snmp_set_oid_output_format(SNMP_OID_OUTPUT_NUMERIC);
 print_r( snmprealwalk('localhost', 'public', 'RFC1213-MIB::sysObjectID') );

 snmp_set_oid_output_format(SNMP_OID_OUTPUT_FULL);
 print_r( snmprealwalk('localhost', 'public', 'RFC1213-MIB::sysObjectID') );
?>

The above would output:

 Array
 (
    [RFC1213-MIB::sysObjectID.0] => OID: NET-SNMP-TC::linux
 )
 Array
 (
    [.1.3.6.1.2.1.1.2.0] => OID: .1.3.6.1.4.1.8072.3.2.10
 )
 Array
 (
    [.iso.org.dod.internet.mgmt.mib-2.system.sysObjectID.0] => OID: .iso.org.dod.internet.private.enterprises.netSnmp.netSnmpEnumerations.netSnmpAgentOIDs.linux
 )

snmp_set_oid_numeric_print
snmp_set_quick_print
SNMP-Funktionen


Setzt den Wert von quick_print innerhalb der UCD SNMP Bibliothek.

snmp_set_oid_output_format
snmp_set_valueretrieval
SNMP-Funktionen
PHP Manual

snmp_set_quick_print

(PHP 4, PHP 5, PHP 7)

snmp_set_quick_print — Setzt den Wert von quick_print innerhalb der UCD SNMP Bibliothek.

Beschreibung

void snmp_set_quick_print ( bool $quick_print )

Setzt den Wert von quick_print innerhalb der UCD SNMP Bibliothek. Falls es gesetzt ist (1), wird die SNMP Bibliothek 'quick printed' Werte zurückgeben. Das bedeutet, dass nur der Wert ausgegeben wird. Wenn quick_print nicht aktiviert ist, (Standardeinstellung) gibt die UCD SNMP Bibliothek extra Informationen aus, die den Typ des Wertes (z.B. IpAddress oder OID) enhalten. Zusätzlich gibt die Bibliothek für alle Werte, die weniger als vier Zeichen haben, Hex-Werte aus, wenn quick_print nicht aktiviert ist.

quick_print wird oft verwendet um die Informationen, die zurückgegeben werden, weiterzuverwenden anstatt sie auszugeben.

snmp_set_quick_print(0);
$a = snmpget("127.0.0.1", "public", ".1.3.6.1.2.1.2.2.1.9.1");
echo "$a<BR>\n";
snmp_set_quick_print(1);
$a = snmpget("127.0.0.1", "public", ".1.3.6.1.2.1.2.2.1.9.1");
echo "$a<BR>\n";

Der erste Wert, der ausgegeben wird, ist:: 'Timeticks: (0) 0:00:00.00', während mit aktiviertem quick_print nur '0:00:00.00' ausgegeben wird.

Standardmäßig gibt die UCD SNMP umfangreiche Werte zurück, quick_print wird verwendet um nur die Werte zurückzugeben.

Momentan werden Strings noch mit extra Quotierungen zurückgegeben, dies wird in Zukunft behoben werden.

Die snmp_set_quick_print() Funktion ist nur bei Verwendung der SNMP Bibliothek verfügbar, jedoch nicht bei Verwendung der Windows SNMP Bibliothek.

snmp_set_oid_output_format
snmp_set_valueretrieval
SNMP-Funktionen


Specify the method how the SNMP values will be returned

snmp_set_quick_print
snmp2_get
SNMP-Funktionen
PHP Manual

snmp_set_valueretrieval

(PHP 4 >= 4.3.3, PHP 5, PHP 7)

snmp_set_valueretrieval — Specify the method how the SNMP values will be returned

Beschreibung

bool snmp_set_valueretrieval ( int $method = SNMP_VALUE_LIBRARY )

Parameter-Liste

method
types
SNMP_VALUE_LIBRARY | The return values will be as returned by the Net-SNMP library.
SNMP_VALUE_PLAIN | The return values will be the plain value without the SNMP type hint.
SNMP_VALUE_OBJECT | The return values will be objects with the properties "value" and "type", where the latter is one of the SNMP_OCTET_STR, SNMP_COUNTER etc. constants. The way "value" is returned is based on which one of constants SNMP_VALUE_LIBRARY, SNMP_VALUE_PLAIN is set.

Beispiele

Beispiel #1 Using snmp_set_valueretrieval()

<?php
 snmp_set_valueretrieval(SNMP_VALUE_LIBRARY);
 $ret = snmpget('localhost', 'public', 'IF-MIB::ifName.1');
 // $ret = "STRING: lo"

 snmp_set_valueretrieval(SNMP_VALUE_PLAIN);
 $ret = snmpget('localhost', 'public', 'IF-MIB::ifName.1');
 // $ret = "lo";

 snmp_set_valueretrieval(SNMP_VALUE_OBJECT);
 $ret = snmpget('localhost', 'public', 'IF-MIB::ifName.1');
 // stdClass Object
 // (
 //   [type] => 4        <-- SNMP_OCTET_STR, see constants
 //   [value] => lo
 // )

 // PHP 5.4+ examples
 snmp_set_valueretrieval(SNMP_VALUE_OBJECT | SNMP_VALUE_PLAIN);
 $ret = snmpget('localhost', 'public', 'IF-MIB::ifName.1');
 // stdClass Object
 // (
 //   [type] => 4        <-- SNMP_OCTET_STR, see constants
 //   [value] => lo
 // )

 snmp_set_valueretrieval(SNMP_VALUE_OBJECT | SNMP_VALUE_LIBRARY);
 $ret = snmpget('localhost', 'public', 'IF-MIB::ifName.1');
 // stdClass Object
 // (
 //   [type] => 4        <-- SNMP_OCTET_STR, see constants
 //   [value] => STRING: lo
 // )

?>

Changelog

Version | Beschreibung
5.4.0 | Constants SNMP_VALUE_PLAIN or SNMP_VALUE_LIBRARY may be combined with SNMP_VALUE_OBJECT resulting different way of representing contents of value array element in return value of GET-function. If no SNMP_VALUE_{PLAIN,LIBRARY} constant is accompanying SNMP_VALUE_OBJECT, SNMP_VALUE_LIBRARY is used. Prior to 5.4.0 SNMP_VALUE_OBJECT effecively meant SNMP_VALUE_OBJECT|SNMP_VALUE_PLAIN.

Siehe auch

  • snmp_get_valueretrieval() - Return the method how the SNMP values will be returned
  • Vordefinierte Konstanten

snmp_set_quick_print
snmp2_get
SNMP-Funktionen


Fetch an SNMP object

snmp_set_valueretrieval
snmp2_getnext
SNMP-Funktionen
PHP Manual

snmp2_get

(PHP 5 >= 5.2.0, PHP 7)

snmp2_get — Fetch an SNMP object

Beschreibung

string snmp2_get ( string $host , string $community , string $object_id [, string $timeout = 1000000 [, string $retries = 5 ]] )

The snmp2_get() function is used to read the value of an SNMP object specified by the object_id.

Parameter-Liste

host

The SNMP agent.

community

The read community.

object_id

The SNMP object.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Rückgabewerte

Returns SNMP object value on success or FALSE on error.

Beispiele

Beispiel #1 Using snmp2_get()

<?php
$syscontact = snmp2_get("127.0.0.1", "public", "system.SysContact.0");
?>

Siehe auch

  • snmp2_set() - Set the value of an SNMP object

snmp_set_valueretrieval
snmp2_getnext
SNMP-Funktionen


Fetch the SNMP object which follows the given object id

snmp2_get
snmp2_real_walk
SNMP-Funktionen
PHP Manual

snmp2_getnext

(PHP >= 5.2.0)

snmp2_getnext — Fetch the SNMP object which follows the given object id

Beschreibung

string snmp2_getnext ( string $host , string $community , string $object_id [, string $timeout = 1000000 [, string $retries = 5 ]] )

The snmp2_get_next() function is used to read the value of the SNMP object that follows the specified object_id.

Parameter-Liste

host

The hostname of the SNMP agent (server).

community

The read community.

object_id

The SNMP object id which precedes the wanted one.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Rückgabewerte

Returns SNMP object value on success or FALSE on error. In case of an error, an E_WARNING message is shown.

Beispiele

Beispiel #1 Using snmp2_get_next()

<?php
$nameOfSecondInterface = snmp2_get_next('localhost', 'public', 'IF-MIB::ifName.1';
?>

Siehe auch

  • snmp2_get() - Fetch an SNMP object
  • snmp2_walk() - Fetch all the SNMP objects from an agent

snmp2_get
snmp2_real_walk
SNMP-Funktionen


Return all objects including their respective object ID within the specified one

snmp2_getnext
snmp2_set
SNMP-Funktionen
PHP Manual

snmp2_real_walk

(PHP >= 5.2.0)

snmp2_real_walk — Return all objects including their respective object ID within the specified one

Beschreibung

array snmp2_real_walk ( string $host , string $community , string $object_id [, string $timeout = 1000000 [, string $retries = 5 ]] )

The snmp2_real_walk() function is used to traverse over a number of SNMP objects starting from object_id and return not only their values but also their object ids.

Parameter-Liste

host

The hostname of the SNMP agent (server).

community

The read community.

object_id

The SNMP object id which precedes the wanted one.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Rückgabewerte

Returns an associative array of the SNMP object ids and their values on success or FALSE on error. In case of an error, an E_WARNING message is shown.

Beispiele

Beispiel #1 Using snmp2_real_walk()

<?php
 print_r(snmp2_real_walk("localhost", "public", "IF-MIB::ifName"));
?>

The above will output something like:

    Array
      (
      [IF-MIB::ifName.1] => STRING: lo
      [IF-MIB::ifName.2] => STRING: eth0
      [IF-MIB::ifName.3] => STRING: eth2
      [IF-MIB::ifName.4] => STRING: sit0
      [IF-MIB::ifName.5] => STRING: sixxs
    )

Siehe auch

  • snmp2_walk() - Fetch all the SNMP objects from an agent

snmp2_getnext
snmp2_set
SNMP-Funktionen


Set the value of an SNMP object

snmp2_real_walk
snmp2_walk
SNMP-Funktionen
PHP Manual

snmp2_set

(PHP >= 5.2.0)

snmp2_set — Set the value of an SNMP object

Beschreibung

bool snmp2_set ( string $host , string $community , string $object_id , string $type , string $value [, string $timeout = 1000000 [, string $retries = 5 ]] )

snmp2_set() is used to set the value of an SNMP object specified by the object_id.

Parameter-Liste

host

The hostname of the SNMP agent (server).

community

The write community.

object_id

The SNMP object id.

type

The MIB defines the type of each object id. It has to be specified as a single character from the below list.

types
= The type is taken from the MIB
i | INTEGER
u | INTEGER
s | STRING
x | HEX STRING
d | DECIMAL STRING
n | NULLOBJ
o | OBJID
t | TIMETICKS
a | IPADDRESS
b | BITS

If OPAQUE_SPECIAL_TYPES was defined while compiling the SNMP library, the following are also valid:

types
U | unsigned int64
I | signed int64
F | float
D | double

Most of these will use the obvious corresponding ASN.1 type. 's', 'x', 'd' and 'b' are all different ways of specifying an OCTET STRING value, and the 'u' unsigned type is also used for handling Gauge32 values.

If the MIB-Files are loaded by into the MIB Tree with "snmp_read_mib" or by specifying it in the libsnmp config, '=' may be used as the type parameter for all object ids as the type can then be automatically read from the MIB.

Note that there are two ways to set a variable of the type BITS like e.g. "SYNTAX BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5), https(6)}":

  • Using type "b" and a list of bit numbers. This method is not recommended since GET query for the same OID would return e.g. 0xF8.
  • Using type "x" and a hex number but without(!) the usual "0x" prefix.

See examples section for more details.

value

The new value.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

If the SNMP host rejects the data type, an E_WARNING message like "Warning: Error in packet. Reason: (badValue) The value given has the wrong type or length." is shown. If an unknown or invalid OID is specified the warning probably reads "Could not add variable".

Beispiele

Beispiel #1 Using snmp2_set()

<?php
  snmp2_set("localhost", "public", "IF-MIB::ifAlias.3", "s", "foo");
?>

Beispiel #2 Using snmp2_set() for setting BITS SNMP object id

<?php
  snmp2_set("localhost", "public", 'FOO-MIB::bar.42', 'b', '0 1 2 3 4');
// or
  snmp2_set("localhost", "public", 'FOO-MIB::bar.42', 'x', 'F0');
?>

Siehe auch

  • snmp2_get() - Fetch an SNMP object

snmp2_real_walk
snmp2_walk
SNMP-Funktionen


Fetch all the SNMP objects from an agent

snmp2_set
snmp3_get
SNMP-Funktionen
PHP Manual

snmp2_walk

(PHP >= 5.2.0)

snmp2_walk — Fetch all the SNMP objects from an agent

Beschreibung

array snmp2_walk ( string $host , string $community , string $object_id [, string $timeout = 1000000 [, string $retries = 5 ]] )

snmp2_walk() function is used to read all the values from an SNMP agent specified by the hostname.

Parameter-Liste

host

The SNMP agent (server).

community

The read community.

object_id

If NULL, object_id is taken as the root of the SNMP objects tree and all objects under that tree are returned as an array.

If object_id is specified, all the SNMP objects below that object_id are returned.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Rückgabewerte

Returns an array of SNMP object values starting from the object_id as root or FALSE on error.

Beispiele

Beispiel #1 snm2_pwalk() Example

<?php
$a = snmp2_walk("127.0.0.1", "public", "");

foreach ($a as $val) {
    echo "$val\n";
}

?>

Above function call would return all the SNMP objects from the SNMP agent running on localhost. One can step through the values with a loop

Siehe auch

  • snmp2_real_walk() - Return all objects including their respective object ID within the specified one

snmp2_set
snmp3_get
SNMP-Funktionen


Fetch an SNMP object

snmp2_walk
snmp3_getnext
SNMP-Funktionen
PHP Manual

snmp3_get

(PHP 4, PHP 5, PHP 7)

snmp3_get — Fetch an SNMP object

Beschreibung

string snmp3_get ( string $host , string $sec_name , string $sec_level , string $auth_protocol , string $auth_passphrase , string $priv_protocol , string $priv_passphrase , string $object_id [, string $timeout = 1000000 [, string $retries = 5 ]] )

The snmp3_get() function is used to read the value of an SNMP object specified by the object_id.

Parameter-Liste

host

The hostname of the SNMP agent (server).

sec_name

the security name, usually some kind of username

sec_level

the security level (noAuthNoPriv|authNoPriv|authPriv)

auth_protocol

the authentication protocol (MD5 or SHA)

auth_passphrase

the authentication pass phrase

priv_protocol

the privacy protocol (DES or AES)

priv_passphrase

the privacy pass phrase

object_id

The SNMP object id.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Rückgabewerte

Returns SNMP object value on success or FALSE on error.

Beispiele

Beispiel #1 Using snmp3_get()

<?php
$nameOfSecondInterface = snmp3_get('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'IF-MIB::ifName.2');
?>

Siehe auch

  • snmp3_set() - Set the value of an SNMP object

snmp2_walk
snmp3_getnext
SNMP-Funktionen


Fetch the SNMP object which follows the given object id

snmp3_get
snmp3_real_walk
SNMP-Funktionen
PHP Manual

snmp3_getnext

(PHP 5, PHP 7)

snmp3_getnext — Fetch the SNMP object which follows the given object id

Beschreibung

string snmp3_getnext ( string $host , string $sec_name , string $sec_level , string $auth_protocol , string $auth_passphrase , string $priv_protocol , string $priv_passphrase , string $object_id [, string $timeout = 1000000 [, string $retries = 5 ]] )

The snmp3_getnext() function is used to read the value of the SNMP object that follows the specified object_id.

Parameter-Liste

host

The hostname of the SNMP agent (server).

sec_name

the security name, usually some kind of username

sec_level

the security level (noAuthNoPriv|authNoPriv|authPriv)

auth_protocol

the authentication protocol (MD5 or SHA)

auth_passphrase

the authentication pass phrase

priv_protocol

the privacy protocol (DES or AES)

priv_passphrase

the privacy pass phrase

object_id

The SNMP object id.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Rückgabewerte

Returns SNMP object value on success or FALSE on error. In case of an error, an E_WARNING message is shown.

Beispiele

Beispiel #1 Using snmp3_getnext()

<?php
$nameOfSecondInterface = snmp3_getnext('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'IF-MIB::ifName.1');
?>

Siehe auch

  • snmp3_get() - Fetch an SNMP object
  • snmp3_walk() - Fetch all the SNMP objects from an agent

snmp3_get
snmp3_real_walk
SNMP-Funktionen


Return all objects including their respective object ID within the specified one

snmp3_getnext
snmp3_set
SNMP-Funktionen
PHP Manual

snmp3_real_walk

(PHP 4, PHP 5, PHP 7)

snmp3_real_walk — Return all objects including their respective object ID within the specified one

Beschreibung

array snmp3_real_walk ( string $host , string $sec_name , string $sec_level , string $auth_protocol , string $auth_passphrase , string $priv_protocol , string $priv_passphrase , string $object_id [, string $timeout = 1000000 [, string $retries = 5 ]] )

The snmp3_real_walk() function is used to traverse over a number of SNMP objects starting from object_id and return not only their values but also their object ids.

Parameter-Liste

host

The hostname of the SNMP agent (server).

sec_name

the security name, usually some kind of username

sec_level

the security level (noAuthNoPriv|authNoPriv|authPriv)

auth_protocol

the authentication protocol (MD5 or SHA)

auth_passphrase

the authentication pass phrase

priv_protocol

the privacy protocol (DES or AES)

priv_passphrase

the privacy pass phrase

object_id

The SNMP object id.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Rückgabewerte

Returns an associative array of the SNMP object ids and their values on success or FALSE on error. In case of an error, an E_WARNING message is shown.

Beispiele

Beispiel #1 Using snmp3_real_walk()

<?php
 var_export(snmp3_real_walk('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'IF-MIB::ifName'));
?>

The above will output something like:

array (
  'IF-MIB::ifName.1' => 'STRING: lo',
  'IF-MIB::ifName.2' => 'STRING: eth0',
  'IF-MIB::ifName.3' => 'STRING: eth2',
  'IF-MIB::ifName.4' => 'STRING: sit0',
  'IF-MIB::ifName.5' => 'STRING: sixxs',
)

Siehe auch

  • snmpwalk() - Holt alle SNMP Objekte eines Agenten

snmp3_getnext
snmp3_set
SNMP-Funktionen


Set the value of an SNMP object

snmp3_real_walk
snmp3_walk
SNMP-Funktionen
PHP Manual

snmp3_set

(PHP 4, PHP 5, PHP 7)

snmp3_set — Set the value of an SNMP object

Beschreibung

bool snmp3_set ( string $host , string $sec_name , string $sec_level , string $auth_protocol , string $auth_passphrase , string $priv_protocol , string $priv_passphrase , string $object_id , string $type , string $value [, int $timeout = 1000000 [, int $retries = 5 ]] )

snmp3_set() is used to set the value of an SNMP object specified by the object_id.

Even if the security level does not use an auth or priv protocol/password valid values have to be specified.

Parameter-Liste

host

The hostname of the SNMP agent (server).

sec_name

the security name, usually some kind of username

sec_level

the security level (noAuthNoPriv|authNoPriv|authPriv)

auth_protocol

the authentication protocol (MD5 or SHA)

auth_passphrase

the authentication pass phrase

priv_protocol

the privacy protocol (DES or AES)

priv_passphrase

the privacy pass phrase

object_id

The SNMP object id.

type

The MIB defines the type of each object id. It has to be specified as a single character from the below list.

types
= The type is taken from the MIB
i | INTEGER
u | INTEGER
s | STRING
x | HEX STRING
d | DECIMAL STRING
n | NULLOBJ
o | OBJID
t | TIMETICKS
a | IPADDRESS
b | BITS

If OPAQUE_SPECIAL_TYPES was defined while compiling the SNMP library, the following are also valid:

types
U | unsigned int64
I | signed int64
F | float
D | double

Most of these will use the obvious corresponding ASN.1 type. 's', 'x', 'd' and 'b' are all different ways of specifying an OCTET STRING value, and the 'u' unsigned type is also used for handling Gauge32 values.

If the MIB-Files are loaded by into the MIB Tree with "snmp_read_mib" or by specifying it in the libsnmp config, '=' may be used as the type parameter for all object ids as the type can then be automatically read from the MIB.

Note that there are two ways to set a variable of the type BITS like e.g. "SYNTAX BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5), https(6)}":

  • Using type "b" and a list of bit numbers. This method is not recommended since GET query for the same OID would return e.g. 0xF8.
  • Using type "x" and a hex number but without(!) the usual "0x" prefix.

See examples section for more details.

value

The new value

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

If the SNMP host rejects the data type, an E_WARNING message like "Warning: Error in packet. Reason: (badValue) The value given has the wrong type or length." is shown. If an unknown or invalid OID is specified the warning probably reads "Could not add variable".

Beispiele

Beispiel #1 Using snmp3_set()

<?php
  snmp3_set('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'IF-MIB::ifAlias.3', 's', "foo");
?>

Beispiel #2 Using snmp3_set() for setting BITS SNMP object id

<?php
  snmp3_set('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'FOO-MIB::bar.42', 'b', '0 1 2 3 4');
// or
  snmp3_set('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'FOO-MIB::bar.42', 'x', 'F0');
?>
snmp3_real_walk
snmp3_walk
SNMP-Funktionen


Fetch all the SNMP objects from an agent

snmp3_set
snmpget
SNMP-Funktionen
PHP Manual

snmp3_walk

(PHP 4, PHP 5, PHP 7)

snmp3_walk — Fetch all the SNMP objects from an agent

Beschreibung

array snmp3_walk ( string $host , string $sec_name , string $sec_level , string $auth_protocol , string $auth_passphrase , string $priv_protocol , string $priv_passphrase , string $object_id [, string $timeout = 1000000 [, string $retries = 5 ]] )

snmp3_walk() function is used to read all the values from an SNMP agent specified by the hostname.

Even if the security level does not use an auth or priv protocol/password valid values have to be specified.

Parameter-Liste

host

The hostname of the SNMP agent (server).

sec_name

the security name, usually some kind of username

sec_level

the security level (noAuthNoPriv|authNoPriv|authPriv)

auth_protocol

the authentication protocol (MD5 or SHA)

auth_passphrase

the authentication pass phrase

priv_protocol

the privacy protocol (DES or AES)

priv_passphrase

the privacy pass phrase

object_id

If NULL, object_id is taken as the root of the SNMP objects tree and all objects under that tree are returned as an array.

If object_id is specified, all the SNMP objects below that object_id are returned.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Rückgabewerte

Returns an array of SNMP object values starting from the object_id as root or FALSE on error.

Beispiele

Beispiel #1 snmp3_walk() Example

<?php
$ret = snmp3_walk('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'IF-MIB::ifName');
var_export($ret);
?>

Above function call would return all the SNMP objects from the SNMP agent running on localhost:

array (
  0 => 'STRING: lo',
  1 => 'STRING: eth0',
  2 => 'STRING: eth2',
  3 => 'STRING: sit0',
  4 => 'STRING: sixxs',
)

Siehe auch

  • snmp3_real_walk() - Return all objects including their respective object ID within the specified one

snmp3_set
snmpget
SNMP-Funktionen


Ein SNMP Objekt holen

snmp3_walk
snmpgetnext
SNMP-Funktionen
PHP Manual

snmpget

(PHP 4, PHP 5, PHP 7)

snmpget — Ein SNMP Objekt holen

Beschreibung

string snmpget ( string $hostname , string $community , string $object_id [, int $timeout [, int $retries ]] )

Gibt den Wert eines SNMP Objektes zurück, bei Erfolg und FALSE bei einem Fehler.

Die snmpget() Funktion wird verwendet um den Wert eines SNMP Objekts zu ermitteln, das mit object_id näher bestimmt ist. Der SNMP "agent" wird mit hostname deklariert und die "read community" wird in community angegeben.

$syscontact = snmpget("127.0.0.1", "public", "system.SysContact.0");

snmp3_walk
snmpgetnext
SNMP-Funktionen


Fetch the SNMP object which follows the given object id

snmpget
snmprealwalk
SNMP-Funktionen
PHP Manual

snmpgetnext

(PHP 5, PHP 7)

snmpgetnext — Fetch the SNMP object which follows the given object id

Beschreibung

string snmpgetnext ( string $host , string $community , string $object_id [, int $timeout = 1000000 [, int $retries = 5 ]] )

The snmpgetnext() function is used to read the value of the SNMP object that follows the specified object_id.

Parameter-Liste

host

The hostname of the SNMP agent (server).

community

The read community.

object_id

The SNMP object id which precedes the wanted one.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Rückgabewerte

Returns SNMP object value on success or FALSE on error. In case of an error, an E_WARNING message is shown.

Beispiele

Beispiel #1 Using snmpgetnext()

<?php
$nameOfSecondInterface = snmpgetnetxt('localhost', 'public', 'IF-MIB::ifName.1';
?>

Siehe auch

  • snmpget() - Ein SNMP Objekt holen
  • snmpwalk() - Holt alle SNMP Objekte eines Agenten

snmpget
snmprealwalk
SNMP-Funktionen


Return all objects including their respective object ID within the specified one

snmpgetnext
snmpset
SNMP-Funktionen
PHP Manual

snmprealwalk

(PHP 4, PHP 5, PHP 7)

snmprealwalk — Return all objects including their respective object ID within the specified one

Beschreibung

array snmprealwalk ( string $host , string $community , string $object_id [, int $timeout = 1000000 [, int $retries = 5 ]] )

The snmprealwalk() function is used to traverse over a number of SNMP objects starting from object_id and return not only their values but also their object ids.

Parameter-Liste

host

The hostname of the SNMP agent (server).

community

The read community.

object_id

The SNMP object id which precedes the wanted one.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Rückgabewerte

Returns an associative array of the SNMP object ids and their values on success or FALSE on error. In case of an error, an E_WARNING message is shown.

Beispiele

Beispiel #1 Using snmprealwalk()

<?php
 print_r(snmprealwalk("localhost", "public", "IF-MIB::ifName"));
?>

The above will output something like:

    Array
      (
      [IF-MIB::ifName.1] => STRING: lo
      [IF-MIB::ifName.2] => STRING: eth0
      [IF-MIB::ifName.3] => STRING: eth2
      [IF-MIB::ifName.4] => STRING: sit0
      [IF-MIB::ifName.5] => STRING: sixxs
    )

Siehe auch

  • snmpwalk() - Holt alle SNMP Objekte eines Agenten

snmpgetnext
snmpset
SNMP-Funktionen


Setzt ein SNMP Objekt

snmprealwalk
snmpwalk
SNMP-Funktionen
PHP Manual

snmpset

(PHP 4, PHP 5, PHP 7)

snmpset — Setzt ein SNMP Objekt

Description

bool snmpset ( string $hostname , string $community , string $object_id , string $type , mixed $value [, int $timeout [, int $retries ]] )

Setzt den angegebenen SNMP Objekt Wert, gibt TRUE bei Erfolg und FALSE bei einem Fehler zurück.

Die Funktion snmpset() wird benutzt, um den Wert eines SNMP Objekts zu setzen, der mit object_id angegeben wird. Der SNMP Agent wird bei hostname angegeben und die Lese-"Community" mit dem community Parameter.

snmprealwalk
snmpwalk
SNMP-Funktionen


Holt alle SNMP Objekte eines Agenten

snmpset
snmpwalkoid
SNMP-Funktionen
PHP Manual

snmpwalk

(PHP 4, PHP 5, PHP 7)

snmpwalk — Holt alle SNMP Objekte eines Agenten

Beschreibung

array snmpwalk ( string $hostname , string $community , string $object_id [, int $timeout [, int $retries ]] )

Gibt einen Array von SNMP Objekten zurück, der mit der object_id() als Wurzel beginn, oder FALSE bei einem Fehler.

Die snmpwalk() Funktion wird verwendet um alle Werte von dem SNMP Agenten zu lesen, der bei hostname angegeben wurde. Der Community Parameter bestimmt die Lese-"Community" für diesen Agenten. Ein NULL object_id wird als Wurzel des SNMP Objektbaums verwendet und alle Objekts unter diesem Baum als ein Array zurückgegeben. Wenn object_id angegeben wird, werden alle SNMP Objekte unterhalb der object_id zurückgegeben.

$a = snmpwalk("127.0.0.1", "public", "");

Der obige Funktionsaufruf gibt alle SNMP Objekte des Agenten, der auf localhost läuft, zurück. Man kann mit einer Schleife alle Werte durchlaufen.

for ($i=0; $i < count($a); $i++) {
    echo $a[$i];
}

snmpset
snmpwalkoid
SNMP-Funktionen


Abfrage über einen Baum einer Netzwerkeinheit.

snmpwalk
SNMP
SNMP-Funktionen
PHP Manual

snmpwalkoid

(PHP 4, PHP 5, PHP 7)

snmpwalkoid — Abfrage über einen Baum einer Netzwerkeinheit.

Beschreibung

array snmpwalkoid ( string $hostname , string $community , string $object_id [, int $timeout [, int $retries ]] )

Gibt ein assoziatives Array mit den Objekt Ids und den dazugehörigen Objektwerten zurück, der mit der object_id als Wurzel beginnt, oder FALSE bei einem Fehler.

Die snmpwalkoid() Funktion wird verwendet um alle Werte von dem SNMP Agenten zu lesen, der bei hostname angegeben wurde. Der Community Parameter bestimmt die Lese-"Community" für diesen Agenten. Ein NULL object_id wird als Wurzel des SNMP Objektbaums verwendet und alle Objekts unter diesem Baum als ein Array zurückgegeben. Wenn object_id angegeben wird, werden alle SNMP Objekte unterhalb der object_id zurückgegeben.

Die Existenz von snmpwalkoid() und snmpwalk() hat historische Gründe. Beide Funktionen gibt es aus Kompatiblitätsgründen.

$a = snmpwalkoid("127.0.0.1", "public", "");

Der obige Funktionsaufruf gibt alle SNMP Objekte des Agenten, der auf localhost läuft, zurück. Man kann mit einer Schleife alle Werte durchlaufen.

for ($i=0; $i < count($a); $i++) {
    echo $a[$i];
}

snmpwalk
SNMP
SNMP-Funktionen


The SNMP class

(PHP 5 >= 5.4.0, PHP 7)

Einführung

Represents SNMP session.

Klassenbeschreibung

SNMP {
/* Eigenschaften */
public int $max_oids ;
public int $valueretrieval ;
public bool $quick_print ;
public bool $enum_print ;
public int $oid_output_format ;
public bool $oid_increasing_check ;
public int $exceptions_enabled ;
public array $info ;
/* Methoden */
public __construct ( int $version , string $hostname , string $community [, int $timeout = 1000000 [, int $retries = 5 ]] )
public bool close ( void )
public mixed get ( mixed $object_id [, bool $preserve_keys = false ] )
public int getErrno ( void )
public string getError ( void )
public mixed getnext ( mixed $object_id )
public bool set ( mixed $object_id , mixed $type , mixed $value )
public bool setSecurity ( string $sec_level [, string $auth_protocol = [, string $auth_passphrase = [, string $priv_protocol = [, string $priv_passphrase = [, string $contextName = [, string $contextEngineID = ]]]]]] )
public array walk ( string $object_id [, bool $suffix_as_key = FALSE [, int $max_repetitions [, int $non_repeaters ]]] )
/* Konstanten */
const integer ERRNO_NOERROR = 0 ;
const integer ERRNO_GENERIC = 2 ;
const integer ERRNO_TIMEOUT = 4 ;
const integer ERRNO_ERROR_IN_REPLY = 8 ;
const integer ERRNO_OID_NOT_INCREASING = 16 ;
const integer ERRNO_OID_PARSING_ERROR = 32 ;
const integer ERRNO_MULTIPLE_SET_QUERIES = 64 ;
const integer ERRNO_ANY = 126 ;
const integer VERSION_1 = 0 ;
const integer VERSION_2C = 1 ;
const integer VERSION_2c = 1 ;
const integer VERSION_3 = 3 ;
}

Eigenschaften

max_oids

Maximum OID per GET/SET/GETBULK request

valueretrieval

Controls the method how the SNMP values will be returned

SNMP_VALUE_LIBRARY | The return values will be as returned by the Net-SNMP library.
SNMP_VALUE_PLAIN | The return values will be the plain value without the SNMP type hint.
SNMP_VALUE_OBJECT | The return values will be objects with the properties "value" and "type", where the latter is one of the SNMP_OCTET_STR, SNMP_COUNTER etc. constants. The way "value" is returned is based on which one of SNMP_VALUE_LIBRARY, SNMP_VALUE_PLAIN is set
quick_print

Value of quick_print within the NET-SNMP library

Sets the value of quick_print within the NET-SNMP library. When this is set (1), the SNMP library will return 'quick printed' values. This means that just the value will be printed. When quick_print is not enabled (default) the UCD SNMP library prints extra information including the type of the value (i.e. IpAddress or OID). Additionally, if quick_print is not enabled, the library prints additional hex values for all strings of three characters or less.

enum_print

Controls the way enum values are printed

Parameter toggles if walk/get etc. should automatically lookup enum values in the MIB and return them together with their human readable string.

oid_output_format

Controls OID output format

OID .1.3.6.1.2.1.1.3.0 representation for various oid_output_format values
SNMP_OID_OUTPUT_FULL | .iso.org.dod.internet.mgmt.mib-2.system.sysUpTime.sysUpTimeInstance
SNMP_OID_OUTPUT_NUMERIC | .1.3.6.1.2.1.1.3.0
SNMP_OID_OUTPUT_MODULE | DISMAN-EVENT-MIB::sysUpTimeInstance
SNMP_OID_OUTPUT_SUFFIX | sysUpTimeInstance
SNMP_OID_OUTPUT_UCD | system.sysUpTime.sysUpTimeInstance
SNMP_OID_OUTPUT_NONE | Undefined
oid_increasing_check

Controls disabling check for increasing OID while walking OID tree

Some SNMP agents are known for returning OIDs out of order but can complete the walk anyway. Other agents return OIDs that are out of order and can cause SNMP::walk() to loop indefinitely until memory limit will be reached. PHP SNMP library by default performs OID increasing check and stops walking on OID tree when it detects possible loop with issuing warning about non-increasing OID faced. Set oid_increasing_check to FALSE to disable this check.

exceptions_enabled

Controls which failures will raise SNMPException instead of warning. Use bitwise OR'ed SNMP::ERRNO_* constants. By default all SNMP exceptions are disabled.

info

Read-only property with remote agent configuration: hostname, port, default timeout, default retries count

Vordefinierte Konstanten

SNMP Error Types

SNMP::ERRNO_NOERROR

No SNMP-specific error occurred.

SNMP::ERRNO_GENERIC

A generic SNMP error occurred.

SNMP::ERRNO_TIMEOUT

Request to SNMP agent timed out.

SNMP::ERRNO_ERROR_IN_REPLY

SNMP agent returned an error in reply.

SNMP::ERRNO_OID_NOT_INCREASING

SNMP agent faced OID cycling reporning non-increasing OID while executing (BULK)WALK command. This indicates bogus remote SNMP agent.

SNMP::ERRNO_OID_PARSING_ERROR

Library failed while parsing OID (and/or type for SET command). No queries has been made.

SNMP::ERRNO_MULTIPLE_SET_QUERIES

Library will use multiple queries for SET operation requested. That means that operation will be performed in a non-transaction manner and second or subsequent chunks may fail if a type or value failure will be faced.

SNMP::ERRNO_ANY

All SNMP::ERRNO_* codes bitwise OR'ed.

SNMP Protocol Versions

SNMP::VERSION_1

SNMP::VERSION_2C, SNMP::VERSION_2c

SNMP::VERSION_3

Inhaltsverzeichnis

  • SNMP::close — Close SNMP session
  • SNMP::__construct — Creates SNMP instance representing session to remote SNMP agent
  • SNMP::get — Fetch an SNMP object
  • SNMP::getErrno — Get last error code
  • SNMP::getError — Get last error message
  • SNMP::getnext — Fetch an SNMP object which follows the given object id
  • SNMP::set — Set the value of an SNMP object
  • SNMP::setSecurity — Configures security-related SNMPv3 session parameters
  • SNMP::walk — Fetch SNMP object subtree
snmpwalkoid
SNMP::close
SNMP


Close SNMP session

SNMP
SNMP::__construct
SNMP
PHP Manual

SNMP::close

(PHP 5 >= 5.4.0, PHP 7)

SNMP::close — Close SNMP session

Beschreibung

public bool SNMP::close ( void )

Frees previously allocated SNMP session object.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 SNMP::close() example

<?php
  $session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
  # ...
  # get, walk, etc goes here
  # ...
  $session->close();
?>

Siehe auch

  • SNMP::__construct() - Creates SNMP instance representing session to remote SNMP agent
SNMP
SNMP::__construct
SNMP


Creates SNMP instance representing session to remote SNMP agent

SNMP::close
SNMP::get
SNMP
PHP Manual

SNMP::__construct

(PHP 5 >= 5.4.0, PHP 7)

SNMP::__construct — Creates SNMP instance representing session to remote SNMP agent

Beschreibung

public SNMP::__construct ( int $version , string $hostname , string $community [, int $timeout = 1000000 [, int $retries = 5 ]] )

The function description goes here.

Parameter-Liste

version

SNMP protocol version:
SNMP::VERSION_1,
SNMP::VERSION_2C,
SNMP::VERSION_3.

hostname

The SNMP agent. hostname may be suffixed with optional SNMP agent port after colon. IPv6 addresses must be enclosed in square brackets if used with port. If FQDN is used for hostname it will be resolved by php-snmp library, not by Net-SNMP engine. Usage of IPv6 addresses when specifying FQDN may be forced by enclosing FQDN into square brackets. Here it is some examples:

IPv4 with default port | 127.0.0.1
IPv6 with default port | ::1 or [::1]
IPv4 with specific port | 127.0.0.1:1161
IPv6 with specific port | [::1]:1161
FQDN with default port | host.domain
FQDN with specific port | host.domain:1161
FQDN with default port, force usage of IPv6 address | [host.domain]
FQDN with specific port, force usage of IPv6 address | [host.domain]:1161

community

The purpuse of community is SNMP version specific:

SNMP::VERSION_1 | SNMP community
SNMP::VERSION_2C | SNMP community
SNMP::VERSION_3 | SNMPv3 securityName
timeout

The number of microseconds until the first timeout.

retries

The number of retries in case timeout occurs.

Rückgabewerte

Returns SNMP object representing remote SNMP agent.

Fehler/Exceptions

SNMP::__construct() throws an exception when parameters count or types are wrong or unknown SNMP protocol version specified.

Beispiele

Beispiel #1 Fetching sysLocation

<?php
  $session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
  $sysdescr = $session->get("sysDescr.0");
  echo "$sysdescr\n";
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

STRING: Test server

Siehe auch

  • SNMP::close() - Close SNMP session
SNMP::close
SNMP::get
SNMP


Fetch an SNMP object

SNMP::__construct
SNMP::getErrno
SNMP
PHP Manual

SNMP::get

(PHP 5 >= 5.4.0, PHP 7)

SNMP::get — Fetch an SNMP object

Beschreibung

public mixed SNMP::get ( mixed $object_id [, bool $preserve_keys = false ] )

Fetch an SNMP object specified in object_id using GET query.

Parameter-Liste

If object_id is a string, then SNMP::get() will return SNMP object as string. If object_id is a array, all requested SNMP objects will be returned as associative array of the SNMP object ids and their values.

object_id

The SNMP object (OID) or objects

preserve_keys

When object_id is a array and preserve_keys set to TRUE keys in results will be taken exactly as in object_id, otherwise SNMP::oid_output_format property is used to determinate the form of keys.

Rückgabewerte

Returns SNMP objects requested as string or array depending on object_id type or FALSE on error.

Fehler/Exceptions

This method do not throw any exceptions by default. To enable throwing an SNMPException exception when some of library errors occure user should set exceptions_enabled SNMP class parameter to corresponding value. See SNMP::$exceptions_enabled explanation for more details.

Beispiele

Beispiel #1 Single SNMP object

Single SNMP object may be requested in two ways: as string resulting string return value or as single-element array with associative array as output.

<?php
  $session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
  $sysdescr = $session->get("sysDescr.0");
  echo "$sysdescr\n";
  $sysdescr = $session->get(array("sysDescr.0"));
  print_r($sysdescr);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

STRING: Test server
Array
(
    [SNMPv2-MIB::sysDescr.0] => STRING: Test server
)

Beispiel #2 Multiple SNMP objects

$session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
  $results = $session->get(array("sysDescr.0", "sysName.0"));
  print_r($results);
  $session->close();

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [SNMPv2-MIB::sysDescr.0] => STRING: Test server
    [SNMPv2-MIB::sysName.0] => STRING: myhost.nodomain
)

Siehe auch

  • SNMP::getErrno() - Get last error code
  • SNMP::getError() - Get last error message
SNMP::__construct
SNMP::getErrno
SNMP


Get last error code

SNMP::get
SNMP::getError
SNMP
PHP Manual

SNMP::getErrno

(PHP 5 >= 5.4.0, PHP 7)

SNMP::getErrno — Get last error code

Beschreibung

public int SNMP::getErrno ( void )

Returns error code from last SNMP request.

Rückgabewerte

Returns one of SNMP error code values described in constants chapter.

Beispiele

Beispiel #1 SNMP::getErrno() example

<?php
$session = new SNMP(SNMP::VERSION_2c, '127.0.0.1', 'boguscommunity');
var_dump(@$session->get('.1.3.6.1.2.1.1.1.0'));
var_dump($session->getErrno() == SNMP::ERRNO_TIMEOUT);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(true)

Siehe auch

  • SNMP::getError() - Get last error message
SNMP::get
SNMP::getError
SNMP


Get last error message

SNMP::getErrno
SNMP::getnext
SNMP
PHP Manual

SNMP::getError

(PHP 5 >= 5.4.0, PHP 7)

SNMP::getError — Get last error message

Beschreibung

public string SNMP::getError ( void )

Returns string with error from last SNMP request.

Rückgabewerte

String describing error from last SNMP request.

Beispiele

Beispiel #1 SNMP::getError() example

<?php
$session = new SNMP(SNMP::VERSION_2c, '127.0.0.1', 'boguscommunity');
var_dump(@$session->get('.1.3.6.1.2.1.1.1.0'));
var_dump($session->getError());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
string(26) "No response from 127.0.0.1"

Siehe auch

  • SNMP::getErrno() - Get last error code
SNMP::getErrno
SNMP::getnext
SNMP


Fetch an SNMP object which follows the given object id

SNMP::getError
SNMP::set
SNMP
PHP Manual

SNMP::getnext

(PHP 5 >= 5.4.0, PHP 7)

SNMP::getnext — Fetch an SNMP object which follows the given object id

Beschreibung

public mixed SNMP::getnext ( mixed $object_id )

Fetch an SNMP object that follows specified object_id.

Parameter-Liste

If object_id is a string, then SNMP::getnext() will return SNMP object as string. If object_id is a array, all requested SNMP objects will be returned as associative array of the SNMP object ids and their values.

object_id

The SNMP object (OID) or objects

Rückgabewerte

Returns SNMP objects requested as string or array depending on object_id type or FALSE on error.

Fehler/Exceptions

This method do not throw any exceptions by default. To enable throwing an SNMPException exception when some of library errors occure user should set exceptions_enabled SNMP class parameter to corresponding value. See SNMP::$exceptions_enabled explanation for more details.

Beispiele

Beispiel #1 Single SNMP object

Single SNMP object may be requested in two ways: as string resulting string return value or as single-element array with associative array as output.

<?php
  $session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
  $nsysdescr = $session->getnext("sysDescr.0");
  echo "$nsysdescr\n";
  $nsysdescr = $session->getnext(array("sysDescr.0"));
  print_r($nsysdescr);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

OID: NET-SNMP-MIB::netSnmpAgentOIDs.8
Array
(
    [SNMPv2-MIB::sysObjectID.0] => OID: NET-SNMP-MIB::netSnmpAgentOIDs.8
)

Beispiel #2 Miltiple SNMP objects

<?php
  $session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
  $results = $session->getnext(array("sysDescr.0", "sysName.0"));
  print_r($results);
  $session->close();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [SNMPv2-MIB::sysObjectID.0] => OID: NET-SNMP-MIB::netSnmpAgentOIDs.8
    [SNMPv2-MIB::sysLocation.0] => STRING: Nowhere
)

Siehe auch

  • SNMP::getErrno() - Get last error code
  • SNMP::getError() - Get last error message
SNMP::getError
SNMP::set
SNMP


Set the value of an SNMP object

SNMP::getnext
SNMP::setSecurity
SNMP
PHP Manual

SNMP::set

(PHP 5 >= 5.4.0, PHP 7)

SNMP::set — Set the value of an SNMP object

Beschreibung

public bool SNMP::set ( mixed $object_id , mixed $type , mixed $value )

Requests remote SNMP agent setting the value of one or more SNMP objects specified by the object_id.

Parameter-Liste

If object_id is string, both type and value must be string too. If object_id is array value must be equal-sized array containing corresponding values, type may be either string (it's value will be used for all object_id-value pairs) or equal-sized array with per-OID value. When any other parameters' combinations are used, a number of E_WARNING messages may be shown with detailed description.

object_id

The SNMP object id

When count of OIDs in object_id array is greater than max_oids object property set method will have to use multiple queries to perform requested value updates. In this case type and value checks are made per-chunk so second or subsequent requests may fail due to wrong type or value for OID requested. To mark this a warning is raised when count of OIDs in object_id array is greater than max_oids.

type

The MIB defines the type of each object id. It has to be specified as a single character from the below list.

types
= The type is taken from the MIB
i | INTEGER
u | INTEGER
s | STRING
x | HEX STRING
d | DECIMAL STRING
n | NULLOBJ
o | OBJID
t | TIMETICKS
a | IPADDRESS
b | BITS

If OPAQUE_SPECIAL_TYPES was defined while compiling the SNMP library, the following are also valid:

types
U | unsigned int64
I | signed int64
F | float
D | double

Most of these will use the obvious corresponding ASN.1 type. 's', 'x', 'd' and 'b' are all different ways of specifying an OCTET STRING value, and the 'u' unsigned type is also used for handling Gauge32 values.

If the MIB-Files are loaded by into the MIB Tree with "snmp_read_mib" or by specifying it in the libsnmp config, '=' may be used as the type parameter for all object ids as the type can then be automatically read from the MIB.

Note that there are two ways to set a variable of the type BITS like e.g. "SYNTAX BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5), https(6)}":

  • Using type "b" and a list of bit numbers. This method is not recommended since GET query for the same OID would return e.g. 0xF8.
  • Using type "x" and a hex number but without(!) the usual "0x" prefix.

See examples section for more details.

value

The new value.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

This method do not throw any exceptions by default. To enable throwing an SNMPException exception when some of library errors occure user should set exceptions_enabled SNMP class parameter to corresponding value. See SNMP::$exceptions_enabled explanation for more details.

Beispiele

Beispiel #1 Set single SNMP object id

<?php
  $session = new SNMP(SNMP::VERSION_2C, "127.0.0.1", "private");
  $session->set('SNMPv2-MIB::sysContact.0', 's', "Nobody");
?>

Beispiel #2 Set multiple values using single SNMP::set() call

<?php
  $session = new SNMP(SNMP::VERSION_2C, "127.0.0.1", "private");
  $session->set(array('SNMPv2-MIB::sysContact.0', 'SNMPv2-MIB::sysLocation.0'), array('s', 's'), array("Nobody", "Nowhere"));
// or
  $session->set(array('SNMPv2-MIB::sysContact.0', 'SNMPv2-MIB::sysLocation.0'), 's', array("Nobody", "Nowhere"));
?>

Beispiel #3 Using SNMP::set() for setting BITS SNMP object id

<?php
  $session = new SNMP(SNMP::VERSION_2C, "127.0.0.1", "private");
  $session->set('FOO-MIB::bar.42', 'b', '0 1 2 3 4');
// or
  $session->set('FOO-MIB::bar.42', 'x', 'F0');
?>

Siehe auch

  • SNMP::get() - Fetch an SNMP object

SNMP::getnext
SNMP::setSecurity
SNMP


Configures security-related SNMPv3 session parameters

SNMP::set
SNMP::walk
SNMP
PHP Manual

SNMP::setSecurity

(PHP 5 >= 5.4.0, PHP 7)

SNMP::setSecurity — Configures security-related SNMPv3 session parameters

Beschreibung

public bool SNMP::setSecurity ( string $sec_level [, string $auth_protocol = [, string $auth_passphrase = [, string $priv_protocol = [, string $priv_passphrase = [, string $contextName = [, string $contextEngineID = ]]]]]] )

setSecurity configures security-related session parameters used in SNMP protocol version 3

Parameter-Liste

sec_level

the security level (noAuthNoPriv|authNoPriv|authPriv)

auth_protocol

the authentication protocol (MD5 or SHA)

auth_passphrase

the authentication pass phrase

priv_protocol

the privacy protocol (DES or AES)

priv_passphrase

the privacy pass phrase

contextName

the context name

contextEngineID

the context EngineID

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 SNMP::setSecurity() example

<?php
  $session = new SNMP(SNMP::VERSION_3, $hostname, $rwuser, $timeout, $retries);
  $session->setSecurity('authPriv', 'MD5', $auth_pass, 'AES', $priv_pass, '', 'aeeeff');
?>

Siehe auch

  • SNMP::__construct() - Creates SNMP instance representing session to remote SNMP agent
SNMP::set
SNMP::walk
SNMP


Fetch SNMP object subtree

SNMP::setSecurity
SNMPException
SNMP
PHP Manual

SNMP::walk

(PHP 5 >= 5.4.0, PHP 7)

SNMP::walk — Fetch SNMP object subtree

Beschreibung

public array SNMP::walk ( string $object_id [, bool $suffix_as_key = FALSE [, int $max_repetitions [, int $non_repeaters ]]] )

SNMP::walk() is used to read SNMP subtree rooted at specified object_id.

Parameter-Liste

object_id

Root of subtree to be fetched

suffix_as_key

By default full OID notation is used for keys in output array. If set to TRUE subtree prefix will be removed from keys leaving only suffix of object_id.

non_repeaters

This specifies the number of supplied variables that should not be iterated over. The default is to use this value from SNMP object.

max_repetitions

This specifies the maximum number of iterations over the repeating variables. The default is to use this value from SNMP object.

Rückgabewerte

Returns an associative array of the SNMP object ids and their values on success or FALSE on error. When a SNMP error occures SNMP::getErrno() and SNMP::getError() can be used for retrieving error number (specific to SNMP extension, see class constants) and error message respectively.

Fehler/Exceptions

This method do not throw any exceptions by default. To enable throwing an SNMPException exception when some of library errors occure user should set exceptions_enabled SNMP class parameter to corresponding value. See SNMP::$exceptions_enabled explanation for more details.

Beispiele

Beispiel #1 SNMP::walk() example

<?php
  $session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
  $fulltree = $session->walk(".");
  print_r($fulltree);
  $session->close();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [SNMPv2-MIB::sysDescr.0] => STRING: Test server
    [SNMPv2-MIB::sysObjectID.0] => OID: NET-SNMP-MIB::netSnmpAgentOIDs.8
    [DISMAN-EVENT-MIB::sysUpTimeInstance] => Timeticks: (1150681750) 133 days, 4:20:17.50
    [SNMPv2-MIB::sysContact.0] => STRING: Nobody
    [SNMPv2-MIB::sysName.0] => STRING: server.localdomain
    ...
)

Beispiel #2 suffix_as_key example

suffix_as_key may be used when merging multiple SNMP subtrees into one. This example maps interface names to their type.

<?php
  $session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
  $session->valueretrieval = SNMP_VALUE_PLAIN;
  $ifDescr = $session->walk(".1.3.6.1.2.1.2.2.1.2", TRUE);
  $session->valueretrieval = SNMP_VALUE_LIBRARY;
  $ifType = $session->walk(".1.3.6.1.2.1.2.2.1.3", TRUE);
  print_r($ifDescr);
  print_r($ifType);
  $result = array();
  foreach($ifDescr as $i => $n) {
    $result[$n] = $ifType[$i];
  }
  print_r($result);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [1] => igb0
    [2] => igb1
    [3] => ipfw0
    [4] => lo0
    [5] => lagg0
)
Array
(
    [1] => INTEGER: ieee8023adLag(161)
    [2] => INTEGER: ieee8023adLag(161)
    [3] => INTEGER: ethernetCsmacd(6)
    [4] => INTEGER: softwareLoopback(24)
    [5] => INTEGER: ethernetCsmacd(6)
)
Array
(
    [igb0] => INTEGER: ieee8023adLag(161)
    [igb1] => INTEGER: ieee8023adLag(161)
    [ipfw0] => INTEGER: ethernetCsmacd(6)
    [lo0] => INTEGER: softwareLoopback(24)
    [lagg0] => INTEGER: ethernetCsmacd(6)
)

Siehe auch

  • SNMP::getErrno() - Get last error code
  • SNMP::getError() - Get last error message
SNMP::setSecurity
SNMPException
SNMP


The SNMPException class

(PHP 5 >= 5.4.0, PHP 7)

Einführung

Represents an error raised by SNMP. You should not throw a SNMPException from your own code. See Exceptions for more information about Exceptions in PHP.

Klassenbeschreibung

SNMPException extends RuntimeException {
/* Eigenschaften */
protected string $code ;
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Eigenschaften

code

SNMPlibrary error code. Use Exception::getCode() to access it.

SNMP::walk
Sockets
SNMP


Sockets

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
  • Socket-Fehler
  • Socket-Funktionen
    • socket_accept — Akzeptiert eine Verbindung an einem Socket
    • socket_bind — Verknüpft einen Socket mit einem Namen
    • socket_clear_error — Löscht entweder einen Fehler oder den letzten Fehlercode eines Sockets
    • socket_close — Schließt eine Socket-Verbindung
    • socket_cmsg_space — Calculate message buffer size
    • socket_connect — Baut eine Verbindung über einen Socket auf
    • socket_create_listen — Öffnet einen Socket, um Verbindungen über einem gegebenen Port aufzubauen
    • socket_create_pair — Erzeugt ein Paar nicht zu unterscheidender Sockets und speichert sie in einem Array
    • socket_create — Erzeugt einen Socket (Endpunkt für die Kommunikation)
    • socket_get_option — Holt die Socket-Optionen für einen Socket
    • socket_getopt — Alias von socket_get_option
    • socket_getpeername — Fragt das entfernte Ende eines gegebenen Sockets ab. Das Ergebnis ist vom Typ abhängig und ist entweder das Paar host/port oder ein Pfad des Unix-Dateisystems
    • socket_getsockname — Fragt das lokale Ende eines gegebenen Sockets ab. Das Ergebnis ist vom Typ abhängig und ist entweder das Paar host/port oder ein Pfad des Unix-Dateisystems
    • socket_import_stream — Import a stream
    • socket_last_error — Gibt den letzten Fehler zurück, der an einem Socket aufgetreten ist
    • socket_listen — Hört einen Socket nach Verbindungsanforderungen ab
    • socket_read — Liest höchstens die angegebene Anzahl Bytes von einem Socket
    • socket_recv — Empfängt Daten von einem verbundenen Socket
    • socket_recvfrom — Empfängt Daten von einem Socket, egal, ob verbindungsorientiert oder nicht
    • socket_recvmsg — Read a message
    • socket_select — Führt einen select()-Systemaufruf auf den gegebenen Socket-Arrays aus, wobei ein Zeitlimit bestimmt wird
    • socket_send — Sendet Daten an einen verbundenen Socket
    • socket_sendmsg — Send a message
    • socket_sendto — Sendet eine Nachricht an einen Socket, egal ob dieser verbunden ist oder nicht
    • socket_set_block — Setzt einen Socket auf den blockieren-Modus
    • socket_set_nonblock — Setzt den nonblocking-Modus für den Datei-Deskriptor fd
    • socket_set_option — Setzt die Optionen für einen Socket
    • socket_setopt — Alias von socket_set_option
    • socket_shutdown — Schließt einen Socket der zum Senden, Empfangen oder beidem geöffnet wurde
    • socket_strerror — Gibt einen String zurück, der einen socket-Fehler beschreibt
    • socket_write — Schreibt in einen Socket
SNMPException
Einführung
Sonstige Dienste


Einführung

Die Socket-Erweiterung stellt eine hardwarenahe Schnittstelle zu den Datenaustauschfunktionen über eine Socket-Verbindung zur Verfügung. Diese bauen auf den bekannten BSD Sockets auf, und bieten die Möglichkeit, entweder als Socket-Server oder als Client zu agieren.

Allgemeinere clientseitige Socket-Schnittstellen bieten die Funktionen
stream_socket_client(),
stream_socket_server(),
fsockopen() und pfsockopen().

Wenn man diese Funktionen benutzt, darf man nicht vergessen, dass, obwohl viele der Funktionen gleichlautende Namen wie ihre Entsprechungen in C haben, sie dennoch oft unterschiedliche Deklarationen haben. Bitte lesen Sie die Beschreibungen, um Verwirrung zu vermeiden.

Wem Socketprogrammierung fremd ist, der findet eine große Menge nützlicher Materialien in den entsprechenden Unix-manpages und es gibt jede Menge Tutorials und Informationen über Socketprogrammierung mit C im Internet. Vieles davon kann mit leichten Änderungen für die Socketprogrammierung mit PHP verwendet werden. Die » UNIX Socket FAQ ist dafür ein guter Startpunkt.

Sockets
Installation/Konfiguration
Sockets


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Sockets


Installation

Die hier beschriebenen Socket-Funktionen sind Teil einer PHP-Extension, die zum Zeitpunkt des Kompilierens eingeschaltet sein muss. Verwenden Sie dazu die Option --enable-sockets des configure-Kommandos.

Hinweis: IPv6-Unterstützung steht seit PHP 5.0.0 zur Verfügung.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Ressource-Typen

socket_accept(),
socket_create_listen() und
socket_create() geben Socket-Ressourcen zurück.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

AF_UNIX (integer)
AF_INET (integer)
AF_INET6 (integer)
Nur verfügbar, wenn mit IPv6-Unterstützung kompiliert wurde.
SOCK_STREAM (integer)
SOCK_DGRAM (integer)
SOCK_RAW (integer)
SOCK_SEQPACKET (integer)
SOCK_RDM (integer)
MSG_OOB (integer)
MSG_WAITALL (integer)
MSG_PEEK (integer)
MSG_DONTROUTE (integer)
MSG_EOR (integer)
Unter Windows nicht verfügbar.
MSG_EOF (integer)
Unter Windows nicht verfügbar.
SO_DEBUG (integer)
SO_REUSEADDR (integer)
SO_REUSEPORT (integer)
Diese Konstante ist nur in PHP 5.4.10 oder später auf Platformen verfügbar, die die SO_REUSEPORT Socketoption unterstützen: dies schließt Mac OS X und FreeBSD ein, aber nicht Linux und Windows.
SO_KEEPALIVE (integer)
SO_DONTROUTE (integer)
SO_LINGER (integer)
SO_BROADCAST (integer)
SO_OOBINLINE (integer)
SO_SNDBUF (integer)
SO_RCVBUF (integer)
SO_SNDLOWAT (integer)
SO_RCVLOWAT (integer)
SO_SNDTIMEO (integer)
SO_RCVTIMEO (integer)
SO_TYPE (integer)
SO_ERROR (integer)
TCP_NODELAY (integer)
Nutzung um den Nagle TCP Algorithmus auszuschalten. Hinzugefügt in PHP 5.2.7.
SOL_SOCKET (integer)
PHP_NORMAL_READ (integer)
PHP_BINARY_READ (integer)
SOL_TCP (integer)
SOL_UDP (integer)

Die folgenden Konstanten sind unter Windows und UNIX-ähnlichen Systemen definiert. Jede Konstante ist nur definiert, wenn ihre Entsprechung auf diesem Betriebsystem verfügbar ist.

SOCKET_EINTR (integer)
Unterbrochener System-Aufruf.
SOCKET_EBADF (integer)
Falsche Dateinummer.
SOCKET_EACCES (integer)
Berechtigung verweigert.
SOCKET_EFAULT (integer)
Falsche Adresse.
SOCKET_EINVAL (integer)
Ungültiges Argument.
SOCKET_EMFILE (integer)
Zu viele offene Dateien.
SOCKET_ENAMETOOLONG (integer)
Dateiname zu lang.
SOCKET_ENOTEMPTY (integer)
Verzeichnis nicht leer.
SOCKET_ELOOP (integer)
Zu viele symbolische Links gefunden.
SOCKET_EWOULDBLOCK (integer)
Die Operation würde blockieren.
SOCKET_EREMOTE (integer)
Dies ist ein entferntes Objekt.
SOCKET_EUSERS (integer)
Zu viele Benutzer.
SOCKET_ENOTSOCK (integer)
Socket-Operation an einem nicht-Socket.
SOCKET_EDESTADDRREQ (integer)
Es ist eine Zieladresse notwendig.
SOCKET_EMSGSIZE (integer)
Die Nachricht ist zu lang.
SOCKET_EPROTOTYPE (integer)
Das Protokoll passt nicht zu dem Socket.
SOCKET_EPROTONOSUPPORT (integer)
Das Protokoll wird nicht unterstützt.
SOCKET_ESOCKTNOSUPPORT (integer)
Socket-Typ wird nicht unterstützt.
SOCKET_EOPNOTSUPP (integer)
Die Operation wird am Transport-Endpunkt nicht unterstützt.
SOCKET_EPFNOSUPPORT (integer)
Die Protokollfamilie wird nicht unterstützt.
SOCKET_EAFNOSUPPORT (integer)
Die Adressfamilie wird vom Protokoll nicht unterstützt.
SOCKET_EADDRNOTAVAIL (integer)
Die angeforderte Adresse kann nicht zugewiesen werden.
SOCKET_ENETDOWN (integer)
Das Netzwerk ist nicht aktiv.
SOCKET_ENETUNREACH (integer)
Das Netzwerk ist nicht erreichbar.
SOCKET_ENETRESET (integer)
Das Netzwerk hat die Verbindung nach einem Reset beendet.
SOCKET_ECONNABORTED (integer)
Das Programm verursachte den Abbruch der Verbindung.
SOCKET_ECONNRESET (integer)
Die Verbindung wurde vom Kommunikationspartner zurückgesetzt.
SOCKET_ENOBUFS (integer)
Kein Hauptspeicher für den Puffer verfügbar.
SOCKET_EISCONN (integer)
Der Socket ist bereits verbunden.
SOCKET_ENOTCONN (integer)
Der Socket ist nicht verbunden.
SOCKET_ESHUTDOWN (integer)
Ein Senden nach dem Beenden des Sockets ist nicht möglich.
SOCKET_ETIMEDOUT (integer)
Die Wartezeit für die Verbindung ist abgelaufen.
SOCKET_ECONNREFUSED (integer)
Verbindungsaufbau abgelehnt.
SOCKET_EHOSTDOWN (integer)
Der Rechner ist nicht aktiv.
SOCKET_EHOSTUNREACH (integer)
Keine Route zum Zielrechner.
SOCKET_EALREADY (integer)
Die Operation wird bereits ausgeführt.
SOCKET_EINPROGRESS (integer)
Die Operation wird nun ausgeführt.

Die folgenden Konstanten sind nur unter Windows definiert.

SOCKET_ENOPROTOOPT (integer)
SOCKET_EADDRINUSE (integer)
SOCKET_ETOOMYREFS (integer)
SOCKET_EPROCLIM (integer)
SOCKET_EDUOT (integer)
SOCKET_ESTALE (integer)
SOCKET_EDISCON (integer)
SOCKET_SYSNOTREADY (integer)
SOCKET_VERNOTSUPPORTED (integer)
SOCKET_NOTINITIALISED (integer)
SOCKET_HOST_NOT_FOUND (integer)
SOCKET_TRY_AGAIN (integer)
SOCKET_NO_RECOVERY (integer)
SOCKET_NO_DATA (integer)
SOCKET_NO_ADDRESS (integer)

Die folgenden Konstanten stehen nur unter UNIX-ähnlichen Systemen zur Verfügung. Eine Konstante ist nur dann definiert, wenn auch ihre Entsprechung auf diesem Betriebssystem verfügbar ist.

SOCKET_EPERM (integer)
Die Operation ist nicht erlaubt.
SOCKET_ENOENT (integer)
Die Datei oder das Verzeichnis existiert nicht.
SOCKET_EIO (integer)
I/O Fehler.
SOCKET_ENXIO (integer)
Das Gerät oder die Adresse existiert nicht.
SOCKET_E2BIG (integer)
Die Liste der Argumente ist zu lang.
SOCKET_EAGAIN (integer)
Versuchen Sie es noch einmal.
SOCKET_ENOMEM (integer)
Kein Speicher mehr vorhanden.
SOCKET_ENOTBLK (integer)
Blockorientiertes Gerät erforderlich.
SOCKET_EBUSY (integer)
Gerät oder Datenquelle ist beschäftigt.
SOCKET_EEXIST (integer)
Die Datei existiert.
SOCKET_EXDEV (integer)
Geräteübergreifender Link.
SOCKET_ENODEV (integer)
Kein solches Gerät vorhanden.
SOCKET_ENOTDIR (integer)
Das ist kein Verzeichnis.
SOCKET_EISDIR (integer)
Das ist ein Verzeichnis.
SOCKET_ENFILE (integer)
Überlauf der Dateizuordnungstabelle.
SOCKET_ENOTTY (integer)
Keine Schreibmaschine.
SOCKET_ENOSPC (integer)
Das Gerät hat keinen freien Speicher mehr.
SOCKET_ESPIPE (integer)
Unzulässige Suche.
SOCKET_EROFS (integer)
Das Dateisystem kann nur gelesen werden.
SOCKET_EMLINK (integer)
Zu viele Verbindungen.
SOCKET_EPIPE (integer)
Die Leitung ist unterbrochen.
SOCKET_ENOLCK (integer)
Es gibt keine Datensatz-Sperren.
SOCKET_ENOSYS (integer)
Die Funktion ist nicht implementiert.
SOCKET_ENOMSG (integer)
Es gibt keine Nachricht des gewünschten Typs.
SOCKET_EIDRM (integer)
Bezeichner wurde entfernt.
SOCKET_ECHRNG (integer)
Die Kanalnummer ist außerhalb des zulässigen Bereichs.
SOCKET_EL2NSYNC (integer)
Ebene 2 ist nicht synchronisiert.
SOCKET_EL3HLT (integer)
Ebene 3 wurde angehalten.
SOCKET_EL3RST (integer)
Ebene 3 wurde zurückgesetzt.
SOCKET_ELNRNG (integer)
Die Nummer der Verbindung ist außerhalb des zulässigen Bereichs.
SOCKET_EUNATCH (integer)
Der Protokoll-Treiber ist nicht beigefügt.
SOCKET_ENOCSI (integer)
CSI-Struktur nicht vorhanden.
SOCKET_EL2HLT (integer)
Ebene 2 wurde angehalten.
SOCKET_EBADE (integer)
Ungültiger Austausch.
SOCKET_EBADR (integer)
Ungültiger Anfrage-Deskriptor.
SOCKET_EXFULL (integer)
Autausch komplett.
SOCKET_ENOANO (integer)
Keine Anode.
SOCKET_EBADRQC (integer)
Ungültier Anfrage-Code.
SOCKET_EBADSLT (integer)
Ungültiger Steckplatz.
SOCKET_ENOSTR (integer)
Das Gerät ist kein Stream.
SOCKET_ENODATA (integer)
Es gibt keine Daten.
SOCKET_ETIME (integer)
Timer abgelaufen.
SOCKET_ENOSR (integer)
Keine Stream-Ressourcen mehr verfügbar.
SOCKET_ENONET (integer)
Die Maschine ist nicht ins Netz eingebunden.
SOCKET_ENOLINK (integer)
Die Verbindung wurde getrennt.
SOCKET_EADV (integer)
Anzeigefehler.
SOCKET_ESRMNT (integer)
Srmount-Fehler.
SOCKET_ECOMM (integer)
Kommunikationsfehler beim Senden.
SOCKET_EPROTO (integer)
Protokollfehler.
SOCKET_EMULTIHOP (integer)
Ein »Multihop« wurde versucht.
SOCKET_EBADMSG (integer)
Das ist keine »data message«.
SOCKET_ENOTUNIQ (integer)
Der Name ist im Netzwerk nicht eindeutig.
SOCKET_EBADFD (integer)
Der Dateideskriptor hat einen falschen Status.
SOCKET_EREMCHG (integer)
Die Adresse der Gegenstelle hat sich geändert.
SOCKET_ERESTART (integer)
Der unterbrochene Betriebssystemaufruf sollte neu gestartet werden.
SOCKET_ESTRPIPE (integer)
Fehler in Stream-Pipe.
SOCKET_EPROTOOPT (integer)
Das Protokoll steht nicht zur Verfügung.
SOCKET_ADDRINUSE (integer)
Die Adresse wird bereits verwendet.
SOCKET_ETOOMANYREFS (integer)
Zu viele Referenzen: can't splice.
SOCKET_EISNAM (integer)
Ist eine named type file.
SOCKET_EREMOTEIO (integer)
Ein-/Ausgabefehler der Gegenstelle.
SOCKET_EDQUOT (integer)
Quota überschritten.
SOCKET_ENOMEDIUM (integer)
Kein Medium gefunden.
SOCKET_EMEDIUMTYPE (integer)
Falscher Medientyp.
Ressource-Typen
Beispiele
Sockets


Beispiele

Beispiel #1 Socket-Beispiel: Einfacher TCP/IP-Server

Dieses Beispiel zeigt einen einfachen Echo-Server. Passen Sie die Variablen address und port an Ihre Systemumgebung an und führen Sie das Skript aus. Dann können Sie sich mit einem Befehl wie: telnet 192.168.1.53 10000 (bei dem adress und port an Ihre Umgebung angepasst ist) mit dem Server verbinden. Alles, was Sie eingeben, wird an den Server geschickt und von diesem wieder an Sie zurückgegeben. Um die Verbindung zu trennen, geben Sie 'quit' ein.

#!/usr/local/bin/php -q
<?php
error_reporting (E_ALL);

/* Das Skript wartet auf hereinkommende Verbindungsanforderungen. */
set_time_limit (0);

/* Die implizite Ausgabe wird eingeschaltet, so dass man sieht,
 * was gesendet wurde. */
ob_implicit_flush ();

$address = '192.168.1.53';
$port = 10000;

if (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) === false) {
    echo "socket_create() fehlgeschlagen: Grund: " . socket_strerror(socket_last_error()) . "\n";
}

if (socket_bind($sock, $address, $port) === false) {
    echo "socket_bind() fehlgeschlagen: Grund: " . socket_strerror(socket_last_error($sock)) . "\n";
}

if (socket_listen($sock, 5) === false) {
    echo "socket_listen() fehlgeschlagen: Grund: " . socket_strerror(socket_last_error($sock)) . "\n";
}

do {
    if (($msgsock = socket_accept($sock)) === false) {
        echo "socket_accept() fehlgeschlagen: Grund: " . socket_strerror(socket_last_error($sock)) . "\n";
        break;
    }
    /* Anweisungen senden. */
    $msg = "\nWillkommen auf dem PHP-Testserver.  \n" .
        "Um zu beenden, geben Sie 'quit' ein. Um den Server herunterzufahren, geben Sie 'shutdown' ein.\n";
    socket_write($msgsock, $msg, strlen($msg));

    do {
        if (false === ($buf = socket_read ($msgsock, 2048, PHP_NORMAL_READ))) {
            echo "socket_read() fehlgeschlagen: Grund: " . socket_strerror(socket_last_error($msgsock)) . "\n";
            break 2;
        }
        if (!$buf = trim ($buf)) {
            continue;
        }
        if ($buf == 'quit') {
            break;
        }
        if ($buf == 'shutdown') {
            socket_close ($msgsock);
            break 2;
        }
        $talkback = "PHP: Sie haben '$buf' eingegeben.\n";
        socket_write ($msgsock, $talkback, strlen ($talkback));
        echo "$buf\n";
    } while (true);
    socket_close ($msgsock);
} while (true);

socket_close ($sock);
?>

Beispiel #2 Socket-Beispiel: Einfacher TCP/IP-Client

Dieses Beispiel zeigt einen einfachen HTTP-Client für eine einmalige Verbidung. Es wird eine Verbindung zu einer Seite geöffnet, ein HEAD-Request gesendet, die Antwort zurück übertragen und die Verbindung wieder geschlossen.

<?php
error_reporting(E_ALL);

echo "<h2>TCP/IP-Verbindung</h2>\n";

/* Den Port für den WWW-Dienst ermitteln. */
$service_port = getservbyname('www', 'tcp');

/* Die  IP-Adresse des Zielrechners ermitteln. */
$address = gethostbyname('www.example.com');

/* Einen TCP/IP-Socket erzeugen. */
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
    echo "socket_create() fehlgeschlagen: Grund: " . socket_strerror(socket_last_error()) . "\n";
} else {
    echo "OK.\n";
}

echo "Versuche, zu '$address' auf Port '$service_port' zu verbinden ...";
$result = socket_connect($socket, $address, $service_port);
if ($result === false) {
    echo "socket_connect() fehlgeschlagen.\nGrund: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
} else {
    echo "OK.\n";
}

$in = "HEAD / HTTP/1.1\r\n";
$in .= "Host: www.example.com\r\n";
$in .= "Connection: Close\r\n\r\n";
$out = '';

echo "HTTP HEAD request senden ...";
socket_write($socket, $in, strlen($in));
echo "OK.\n";

echo "Serverantwort lesen:\n\n";
while ($out = socket_read($socket, 2048)) {
    echo $out;
}

echo "Socket schließen ...";
socket_close($socket);
echo "OK.\n\n";
?>

Vordefinierte Konstanten
Socket-Fehler
Sockets


Socket-Fehler

Die Socket-Erweiterung wurde geschrieben, um eine brauchbare Schnittstelle zu den mächtigen BSD-Sockets zur Verfügung zu stellen. Es wurde darauf geachtet, dass die Funktionen sowohl unter Win32 als auch unter Unix-Implementierungen arbeiten. Fast alle Socket-Funktionen können unter bestimmten Umständen fehlschlagen und deshalb eine E_WARNING- Meldung ausgeben, die den aufgetretenen Fehler beschreibt. Manchmal geschieht dies nicht so, wie sich Entwickler das wünschen. Zum Beispiel kann die Funktion socket_read() plötzlich eine E_WARNING-Meldung ausgeben, weil die Verbindung unerwartet beendet wurde. Üblicherweise werden solche Meldungen mit dem @-Operator unterdrückt und der Fehlercode innerhalb der Anwendung mit der Funktion socket_last_error() aufgefangen. Sie können auch die Funktion socket_strerror() mit diesem Fehlercode aufrufen, um eine Fehlerbeschreibung zu erhalten. Nähere Informationen finden Sie bei diesen beiden Funktionen.

Hinweis:

Die E_WARNING-Meldungen, die von der Socket-Erweiterung generiert werden, sind in Englisch, aber die Meldungen, die Sie extra abfragen können, erscheinen in der Sprache, die Sie eingestellt haben (LC_MESSAGES):

Warning - socket_bind() unable to bind address [98]: Die Adresse wird bereits verwendet

Beispiele
Socket-Funktionen
Sockets


Socket-Funktionen

Inhaltsverzeichnis

  • socket_accept — Akzeptiert eine Verbindung an einem Socket
  • socket_bind — Verknüpft einen Socket mit einem Namen
  • socket_clear_error — Löscht entweder einen Fehler oder den letzten Fehlercode eines Sockets
  • socket_close — Schließt eine Socket-Verbindung
  • socket_cmsg_space — Calculate message buffer size
  • socket_connect — Baut eine Verbindung über einen Socket auf
  • socket_create_listen — Öffnet einen Socket, um Verbindungen über einem gegebenen Port aufzubauen
  • socket_create_pair — Erzeugt ein Paar nicht zu unterscheidender Sockets und speichert sie in einem Array
  • socket_create — Erzeugt einen Socket (Endpunkt für die Kommunikation)
  • socket_get_option — Holt die Socket-Optionen für einen Socket
  • socket_getopt — Alias von socket_get_option
  • socket_getpeername — Fragt das entfernte Ende eines gegebenen Sockets ab. Das Ergebnis ist vom Typ abhängig und ist entweder das Paar host/port oder ein Pfad des Unix-Dateisystems
  • socket_getsockname — Fragt das lokale Ende eines gegebenen Sockets ab. Das Ergebnis ist vom Typ abhängig und ist entweder das Paar host/port oder ein Pfad des Unix-Dateisystems
  • socket_import_stream — Import a stream
  • socket_last_error — Gibt den letzten Fehler zurück, der an einem Socket aufgetreten ist
  • socket_listen — Hört einen Socket nach Verbindungsanforderungen ab
  • socket_read — Liest höchstens die angegebene Anzahl Bytes von einem Socket
  • socket_recv — Empfängt Daten von einem verbundenen Socket
  • socket_recvfrom — Empfängt Daten von einem Socket, egal, ob verbindungsorientiert oder nicht
  • socket_recvmsg — Read a message
  • socket_select — Führt einen select()-Systemaufruf auf den gegebenen Socket-Arrays aus, wobei ein Zeitlimit bestimmt wird
  • socket_send — Sendet Daten an einen verbundenen Socket
  • socket_sendmsg — Send a message
  • socket_sendto — Sendet eine Nachricht an einen Socket, egal ob dieser verbunden ist oder nicht
  • socket_set_block — Setzt einen Socket auf den blockieren-Modus
  • socket_set_nonblock — Setzt den nonblocking-Modus für den Datei-Deskriptor fd
  • socket_set_option — Setzt die Optionen für einen Socket
  • socket_setopt — Alias von socket_set_option
  • socket_shutdown — Schließt einen Socket der zum Senden, Empfangen oder beidem geöffnet wurde
  • socket_strerror — Gibt einen String zurück, der einen socket-Fehler beschreibt
  • socket_write — Schreibt in einen Socket
Socket-Fehler
socket_accept
Sockets


Akzeptiert eine Verbindung an einem Socket

Socket-Funktionen
socket_bind
Socket-Funktionen
PHP Manual

socket_accept

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

socket_accept — Akzeptiert eine Verbindung an einem Socket

Beschreibung

resource socket_accept ( resource $socket )

Nachdem der Socket socket mit socket_create() erzeugt, mit socket_bind() mit einem Namen verknüpft und mit socket_listen() angewiesen wurde, nach hereinkommenden Verbindungsanforderungen zu horchen, werden sie mit dieser Funktion an dem Socket zugelassen. Nach einem erfogreichen Verbindungsaufbau wird ein neuer Socket-Deskriptor zurückgegeben, welcher zur Kommunikation benutzt werden kann. Gibt es mehrere Verbindungen an diesem Socket, werden diese in eine Warteschlange gestellt und die erste Verbindung wird benutzt. Falls es keine wartenden Verbindungen gibt, blockiert die Funktion socket_accept() so lange, bis eine Verbindung angefordert wird. Falls der Socket socket mit den Funktionen socket_set_blocking() oder socket_set_nonblock() auf 'nicht blockieren' gesetzt wurde, wird FALSE zurückgegeben.

Der Socket-Deskriptor, der von socket_accept() zurückgegeben wird, sollte nicht dazu benutzt werden, neue Verbindungen zuzulassen. Der ursprüngliche wartende Socket socket bleibt dagegen geöffnet und kann wiederverwendet werden.

Parameter-Liste

socket

Ein gültiger Socket-Deskriptor, der von der Funktion socket_create() erzeugt wurde.

Rückgabewerte

Gibt bei Erfolg einen neuen Socket-Deskriptor zurück oder FALSE, falls ein Fehler auftritt. Der aktuelle Fehlercode kann mit der Funktion socket_last_error() ermittelt werden. Dieser Fehlercode kann an die Funktion socket_strerror() übergeben werden, um eine textuelle Beschreibung des Fehlers zu erhalten.

Siehe auch

  • socket_connect() - Baut eine Verbindung über einen Socket auf
  • socket_listen() - Hört einen Socket nach Verbindungsanforderungen ab
  • socket_create() - Erzeugt einen Socket (Endpunkt für die Kommunikation)
  • socket_bind() - Verknüpft einen Socket mit einem Namen
  • socket_strerror() - Gibt einen String zurück, der einen socket-Fehler beschreibt

Socket-Funktionen
socket_bind
Socket-Funktionen


Verknüpft einen Socket mit einem Namen

socket_accept
socket_clear_error
Socket-Funktionen
PHP Manual

socket_bind

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

socket_bind — Verknüpft einen Socket mit einem Namen

Beschreibung

bool socket_bind ( resource $socket , string $address [, int $port = 0 ] )

socket_bind() verknüpft den Namen, der in address angegeben ist, mit dem Socket socket. Dies muss ein gültiger Socket-Deskriptor sein, der entweder mit socket_create() oder mit socket_listen() erzeugt wurde.

Parameter-Liste

socket

Ein gültiger Socket-Deskriptor, der mit socket_create() erzeugt wurde.

address

Falls der Socket zur AF_INET-Familie gehört, ist der Parameter address eine IP in Punktnotation (z.B. 127.0.0.1)

Falls der Socket zur AF_UNIX-Familie gehört, ist der Parameter address der Pfad eines Unix-Domain Sockets (z.B. /tmp/my.sock).

port (Optional)

Der Parameter port wird nur benutzt, wenn an Socket der AF_INET-Familie gebunden wird und gibt den Port an, an dem auf Verbindungen gelauscht wird.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Der Fehlercode kann mit der Funktion socket_last_error() abgefragt werden. Dieser Fehlercode kann an die Funktion socket_strerror() übergeben werden, um eine textuelle Beschreibung des Fehlers zu erhalten.

Beispiele

Beispiel #1 Beispiel: Quell-Adresse setzen mit socket_bind():

<?php
// Einen neuen Socket erzeugen
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

// Eine (Beispiel-) Liste von IP-Adressen dieses Computers
$sourceips['kevin']    = '127.0.0.1';
$sourceips['madcoder'] = '127.0.0.2';

// Eine Quell-Adresse an den Socket binden
socket_bind($sock, $sourceips['madcoder']);

// Zur Zieladresse verbinden
socket_connect($sock, '127.0.0.1', 80);

// Schreiben
$request = 'GET / HTTP/1.1' . "\r\n" .
           'Host: example.com' . "\r\n\r\n";
socket_write($sock, $request);

// Die Socketverbindung schlieen
socket_close($sock);

?>

Anmerkungen

Hinweis:

Diese Funktion muss vor socket_connect() aufgerufen werden.

Hinweis:

Kompatibilität mit Windows 9x/ME: socket_last_error() kann einen falschen Fehlercode zurückgeben, wenn versucht wird, den Socket an eine Adresse zu binden, die nicht dem aktuellen Rechner gehört.

Siehe auch

  • socket_connect() - Baut eine Verbindung über einen Socket auf
  • socket_listen() - Hört einen Socket nach Verbindungsanforderungen ab
  • socket_create() - Erzeugt einen Socket (Endpunkt für die Kommunikation)
  • socket_last_error() - Gibt den letzten Fehler zurück, der an einem Socket aufgetreten ist
  • socket_strerror() - Gibt einen String zurück, der einen socket-Fehler beschreibt

socket_accept
socket_clear_error
Socket-Funktionen


Löscht entweder einen Fehler oder den letzten Fehlercode eines Sockets

socket_bind
socket_close
Socket-Funktionen
PHP Manual

socket_clear_error

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

socket_clear_error — Löscht entweder einen Fehler oder den letzten Fehlercode eines Sockets

Beschreibung

void socket_clear_error ([ resource $socket ] )

Diese Funktion löscht entweder einen Fehlercode für einen gegebenen Socket oder global den letzten Socket-Fehler, wenn kein Socket angegeben wurde.

Mit dieser Funktion kann der Wert eines Fehlercodes explizit zurückgesetzt werden, entweder ein Fehlercode für einen bestimmten Socket oder global der Code des letzten Fehlers innerhalb dieser Extension. Dies kann ganz nützlich sein, wenn man prüfen möchte, ob in einem Teil einer Anwendung ein Fehler aufgetreten ist.

Parameter-Liste

socket

Ein gültiger Socket-Deskriptor, der mit socket_create() erzeugt wurde.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • socket_last_error() - Gibt den letzten Fehler zurück, der an einem Socket aufgetreten ist
  • socket_strerror() - Gibt einen String zurück, der einen socket-Fehler beschreibt

socket_bind
socket_close
Socket-Funktionen


Schließt eine Socket-Verbindung

socket_clear_error
socket_cmsg_space
Socket-Funktionen
PHP Manual

socket_close

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

socket_close — Schließt eine Socket-Verbindung

Beschreibung

void socket_close ( resource $socket )

socket_close() schließt die Socketverbindung, die durch socket gegeben ist. Diese Funktion gilt ausschließlich für Sockets und kann für keine anderen Arten von Ressourcen verwendet werden.

Parameter-Liste

socket

Ein gültiger Socket-Deskriptor, der mit socket_create() oder socket_accept() erzeugt wurde.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • socket_bind() - Verknüpft einen Socket mit einem Namen
  • socket_listen() - Hört einen Socket nach Verbindungsanforderungen ab
  • socket_create() - Erzeugt einen Socket (Endpunkt für die Kommunikation)
  • socket_strerror() - Gibt einen String zurück, der einen socket-Fehler beschreibt

socket_clear_error
socket_cmsg_space
Socket-Funktionen


Calculate message buffer size

socket_close
socket_connect
Socket-Funktionen
PHP Manual

socket_cmsg_space

(PHP 5 >= 5.5.0, PHP 7)

socket_cmsg_space — Calculate message buffer size

Beschreibung

int socket_cmsg_space ( int $level , int $type )

Calculates the size of the buffer that should be allocated for receiving the ancillary data.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

level

type

Rückgabewerte

Siehe auch

  • socket_recvmsg() - Read a message
  • socket_sendmsg() - Send a message

socket_close
socket_connect
Socket-Funktionen


Baut eine Verbindung über einen Socket auf

socket_cmsg_space
socket_create_listen
Socket-Funktionen
PHP Manual

socket_connect

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

socket_connect — Baut eine Verbindung über einen Socket auf

Beschreibung

bool socket_connect ( resource $socket , string $address [, int $port = 0 ] )

Baut über den gültigen Socket-Deskriptor socket, der von socket_create() zurückgegeben wurde, eine Verbindung zu address auf.

Parameter-Liste

socket

address

Der Parameter address ist entweder eine IPv4-Adresse in Punktnotation (z.B. 127.0.0.1), falls socket zur AF_INET-Familie gehört, oder eine gültige IPv6-Adresse (z.B ::1), falls die IPv6-Unterstützung aktiviert ist und socket zur AF_INET6-Familie gehört, oder der Pfadname eines Unix-Domain socket, falls der Socket zur AF_UNIX-Familie gehört.

port

Der Parameter port wird nur benutzt und ist dann zwingend erforderlich, wenn eine Verbindung zu einem AF_INET- oder einem AF_INET6-Socket aufgebaut wird. Er gibt an, zu welchem Port des entfernten Hosts eine Verbindung hergestellt werden soll.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. Der Fehlercode kann mit der Funktion socket_last_error() ermittelt werden. Dieser Fehlercode kann an die Funktion socket_strerror() übergeben werden, um eine textuelle Beschreibung des Fehlers zu erhalten.

Hinweis:

Falls der Socket nicht blockiert ist, gibt diese Funktion FALSE sowie die Fehlermeldung Operation now in progress zurück.

Siehe auch

  • socket_bind() - Verknüpft einen Socket mit einem Namen
  • socket_listen() - Hört einen Socket nach Verbindungsanforderungen ab
  • socket_create() - Erzeugt einen Socket (Endpunkt für die Kommunikation)
  • socket_last_error() - Gibt den letzten Fehler zurück, der an einem Socket aufgetreten ist
  • socket_strerror() - Gibt einen String zurück, der einen socket-Fehler beschreibt

socket_cmsg_space
socket_create_listen
Socket-Funktionen


Öffnet einen Socket, um Verbindungen über einem gegebenen Port aufzubauen

socket_connect
socket_create_pair
Socket-Funktionen
PHP Manual

socket_create_listen

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

socket_create_listen — Öffnet einen Socket, um Verbindungen über einem gegebenen Port aufzubauen

Beschreibung

resource socket_create_listen ( int $port [, int $backlog = 128 ] )

socket_create_listen() erzeugt einen neuen Socket-Deskriptor vom Typ AF_INET, der an allen lokalen Schnittstellen eines gegebenen Ports auf neue Verbindungen wartet.

Diese Funktion soll die Erzeugung eines neuen Sockets erleichtern, der nur auf neue Verbindungsanforderungen wartet, um sie zu akzeptieren.

Parameter-Liste

port

Der Port, den alle Schnittstellen abhören.

backlog

Der Parameter backlog gibt an, wie groß die Warteschlange mit wartenden Verbindungen maximal werden darf. SOMAXCONN kann als backlog übergeben werden. Mehr Informationen hierzu finden Sie bei socket_listen().

Rückgabewerte

socket_create_listen() gibt bei Erfolg einen neuen Socket-Deskriptor zurück oder FALSE, falls ein Fehler aufgetreten ist. Der Fehlercode kann mit der Funktion socket_last_error() abgefragt werden. Dieser Fehlercode kann an die Funktion socket_strerror() übergeben werden, um eine textuelle Beschreibung des Fehlers zu erhalten.

Anmerkungen

Hinweis:

Falls Sie einen Socket erzeugen möchten, der nur bestimmte Schnittstellen abhört, müssen Sie socket_create(), socket_bind() und socket_listen() verwenden.

Siehe auch

  • socket_create() - Erzeugt einen Socket (Endpunkt für die Kommunikation)
  • socket_create_pair() - Erzeugt ein Paar nicht zu unterscheidender Sockets und speichert sie in einem Array
  • socket_bind() - Verknüpft einen Socket mit einem Namen
  • socket_listen() - Hört einen Socket nach Verbindungsanforderungen ab
  • socket_last_error() - Gibt den letzten Fehler zurück, der an einem Socket aufgetreten ist
  • socket_strerror() - Gibt einen String zurück, der einen socket-Fehler beschreibt

socket_connect
socket_create_pair
Socket-Funktionen


Erzeugt ein Paar nicht zu unterscheidender Sockets und speichert sie in einem Array

socket_create_listen
socket_create
Socket-Funktionen
PHP Manual

socket_create_pair

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

socket_create_pair — Erzeugt ein Paar nicht zu unterscheidender Sockets und speichert sie in einem Array

Beschreibung

bool socket_create_pair ( int $domain , int $type , int $protocol , array &$fd )

socket_create_pair() erzeugt zwei nicht unterscheidbare, verbundene Sockets und speichert sie im Array fd. Diese Funktion wird allgemein bei der Inter-Prozess-Kommunikation (IPC) verwendet.

Parameter-Liste

domain

Der Parameter domain bestimmt die Protokollfamilie, die von den Sockets benutzt werden. Eine komplette Liste finden Sie bei der Funktion socket_create().

type

Der Parameter type bestimmt den Kommunikationstyp, den die Sockets verwenden sollen. Eine komplette Liste finden Sie bei der Funktion socket_create().

protocol

Der Parameter protocol setzt das spezifische Protokoll innerhalb der angegebenen domain, das vom zurückgegebenen Socket für die Kommunikation benutzt wird. Der passende Wert kann ermittelt werden, indem der Name an die Funktion getprotobyname()übergeben wird. Wenn TCP oder UDP gewünscht werden, können auch die entsprechenden Konstanten SOL_TCP oder SOL_UDP benutzt werden.

Eine vollständige Liste aller unterstützter Protokolle finden Sie bei der Funktion socket_create().

fd

Referenz auf das Array, in das die beiden Socket-Deskriptoren eingefügt werden.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.3.0 | Diese Funktion wurde für Windows-Plattformen wieder reaktiviert.
4.3.0 | Diese Funktion wurde aufgrund eines Fehlers für Windows deaktiviert.

Beispiele

Beispiel #1 socket_create_pair()-Beispiel

<?php
$sockets = array();

/* Unter Windows muss man AF_INET benutzen */
$domain = (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN' ? AF_INET : AF_UNIX);

/* Socket-Paar erzeugen */
if (socket_create_pair(AF_UNIX, SOCK_STREAM, 0, $sockets) === false) {
    echo "socket_create_pair fehlgeschlagen. Grund: ".socket_strerror(socket_last_error());
}
/* Daten senden und empfangen */
if (socket_write($sockets[0], "ABCdef123\n", strlen("ABCdef123\n")) === false) {
    echo "socket_write() fehlgeschlagen. Grund: ".socket_strerror(socket_last_error($sockets[0]));
}
if (($data = socket_read($sockets[1], strlen("ABCdef123\n"), PHP_BINARY_READ)) === false) {
    echo "socket_read() fehlgeschlagen. Grund: ".socket_strerror(socket_last_error($sockets[1]));
}
var_dump($data);

/* Sockets schließen */
socket_close($sockets[0]);
socket_close($sockets[1]);
?>

Beispiel #2 socket_create_pair()-IPC-Beispiel

<?php
$ary = array();
$strone = 'Nachricht vom Elternprozess.';
$strtwo = 'Nachricht vom Kindprozess.';

if (socket_create_pair(AF_UNIX, SOCK_STREAM, 0, $ary) === false) {
    echo "socket_create_pair() fehlgeschlagen. Grund: ".socket_strerror(socket_last_error());
}
$pid = pcntl_fork();
if ($pid == -1) {
    echo 'Konnte keinen Kindprozess erzeugen.';
} elseif ($pid) {
    /* Elternprozess */
    socket_close($ary[0]);
    if (socket_write($ary[1], $strone, strlen($strone)) === false) {
        echo "socket_write() fehlgeschlagen. Grund: ".socket_strerror(socket_last_error($ary[1]));
    }
    if (socket_read($ary[1], strlen($strtwo), PHP_BINARY_READ) == $strtwo) {
        echo "Empfangen: $strtwo\n";
    }
    socket_close($ary[1]);
} else {
    /* Kindprozess */
    socket_close($ary[1]);
    if (socket_write($ary[0], $strtwo, strlen($strtwo)) === false) {
        echo "socket_write() fehlgeschlagen. Grund: ".socket_strerror(socket_last_error($ary[0]));
    }
    if (socket_read($ary[0], strlen($strone), PHP_BINARY_READ) == $strone) {
        echo "Empfangen: $strone\n";
    }
    socket_close($ary[0]);
}
?>

Siehe auch

  • socket_create() - Erzeugt einen Socket (Endpunkt für die Kommunikation)
  • socket_create_listen() - Öffnet einen Socket, um Verbindungen über einem gegebenen Port aufzubauen
  • socket_bind() - Verknüpft einen Socket mit einem Namen
  • socket_listen() - Hört einen Socket nach Verbindungsanforderungen ab
  • socket_last_error() - Gibt den letzten Fehler zurück, der an einem Socket aufgetreten ist
  • socket_strerror() - Gibt einen String zurück, der einen socket-Fehler beschreibt

socket_create_listen
socket_create
Socket-Funktionen


Erzeugt einen Socket (Endpunkt für die Kommunikation)

socket_create_pair
socket_get_option
Socket-Funktionen
PHP Manual

socket_create

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

socket_create — Erzeugt einen Socket (Endpunkt für die Kommunikation)

Beschreibung

resource socket_create ( int $domain , int $type , int $protocol )

Erzeugt einen Socket (auch als Kommunikations-Endpunkt bezeichnet) und gibt einen Socket-Deskriptor zurück. Ein typisches Netzwerk besteht aus zwei Sockets, von denen der eine die Rolle des Clients und der andere die Rolle des Servers übernimmt.

Parameter-Liste

domain

domain Parameter legt die Protokollfamilie fest, die für die Kommunikation vom Socket benutzt wird.

Folgende Adressen/Protokollfamilien sind verfügbar:
Domain | Beschreibung
AF_INET | IPv4 basierete Internet-Protokolle. TCP und UDP sind allgemein gebräuchliche Protokolle dieser Familie.
AF_INET6 | IPv6 basierete Internet-Protokolle. TCP und UDP sind allgemein gebräuchliche Protokolle dieser Familie. Diese Unterstützung gibt es seit PHP 5.0.0.
AF_UNIX | Protokollfamilie für die lokale Kommunikation. Hohe Effizienz und ein geringer Overhead machen sie zur ersten Wahl für die IPC (Inter-Process-Communication).
type

Der Parameter type bestimmt den Kommunikationstyp, den der Socket verwenden soll.

Mögliche Socket-Typen
Typ | Beschreibung
SOCK_STREAM | Stellt zuverlässige, sequentielle verbindungsorientierte Byte-Streams im Vollduplexmodus zur Verfügung. Auch bandexterne Mechanismen zur Datenübertragung können unterstützt werden. Das TCP-Protokoll beruht auf diesem Socket-Typ.
SOCK_DGRAM | Unterstützt Datagramme (verbindunglos, Nachrichten vorgegebener Maximallänge, deren Übertragung nicht zuverlässig ist). Das UDP-Protokoll beruht auf diesem Socket-Typ.
SOCK_SEQPACKET | Stellt eine zuverlässige, sequentielle. bidirektionale verbindungsorientierte Übertragungsweg für Datagramme vorgegebener Maximallänge zur Verfügung. Ein Empfänger muss bei jeder Leseanforderung das gesamte Datenpaket lesen.
SOCK_RAW | Stellt einen Zugang mit einem nicht bestimmten Netzwerkprotokoll zur Verfügung. Dieser spezielle Socket-Typ kann dazu benutzt werden, um manuell ein Protokoll eines beliebigen Typs zu erstellen. Solche Sockets werden üblicherweise benutzt, um ICMP Requests zu senden (wie etwa ping oder traceroute usw.).
SOCK_RDM | Stellt eine zuverlässige Schicht für Datagramme zur Verfügung, in der die Reihenfolge der Datagramme nicht garantiert wird. Dies ist in Ihrem Betriebssytem höchstwahrscheinlich nicht implementiert.
protocol

Der Parameter protocol setzt das spezifische Protokoll innerhalb der angegebenen domain, das vom zurückgegebenen Socket für die Kommunikation benutzt wird. Der passende Wert kann ermittelt werden, indem der Name des Protokolls an die Funktion getprotobyname() übergeben wird. Wenn TCP oder UDP gewünscht werden, können auch die entsprechenden Konstanten SOL_TCP und SOL_UDP benutzt werden.

Gebräuchliche Protokolle
Name | Beschreibung
icmp | Das Internet Control Message Protocol wird hauptsächlich von Gateways und Hosts benutzt, um Kommunikationsfehler bei Datagrammen zu melden. Das Kommando "ping" (das in den meisten modernen Betriebssystemen enthalten ist) ist ein Beispiel für eine Anwendung von ICMP.
udp | Das User Datagram Protocol ist ein verbindungsloses, unzuverlässiges Protokoll, mit dem Datensätze fester Länge versendet werden können. Aufgrund dieser geringen Anforderungen braucht UDP nur einen minimalen Protokoll-Overhead.
tcp | Das Transmission Control Protocol ist ein zuverlässiges, verbindungsorientiertes, Stream-orientiertes Protokoll für den Vollduplex-Betrieb. Bei TCP ist garantiert, dass alle Datenpakete in derselben Reihenfolge empfangen werden, in der sie gesendet wurden. Falls während der Übertragung ein Datenpaket verlorengeht, wird es von TCP erneut versendet, und zwar solange, bis der Empfängerhost den Eingang dieses Paktes zurückmeldet. Aus Gründen der Zuverlässigkeit und Leistung ist TCP so implementiert, dass es eigenständig die oktalen Grenzen der darunterliegenden Datagramm-Kommunikationschicht bestimmen kann. Aus diesem Grund müssen TCP Anwendungen in der Lage sein, auch Teilübertragungen empfangen zu können.

Rückgabewerte

Bei Erfolg gibt socket_create() einen Socket-Deskriptor zurück, bei einem Fehler wird FALSE zurückgegeben. Der aktuelle Fehlercode kann mit socket_last_error() ermittelt und an die Funktion socket_strerror() übergeben werden, um eine textuelle Beschreibing des Fehlers zu erhalten.

Fehler/Exceptions

Falls eine ungültige domain oder ein ungültiger type angegbeben wird, fällt socket_create() auf seinen Standardeinstellungen AF_INET und entsprechend SOCK_STREAM zurück und gibt zusätzlich eine E_WARNING-Meldung aus.

Siehe auch

  • socket_accept() - Akzeptiert eine Verbindung an einem Socket
  • socket_bind() - Verknüpft einen Socket mit einem Namen
  • socket_connect() - Baut eine Verbindung über einen Socket auf
  • socket_listen() - Hört einen Socket nach Verbindungsanforderungen ab
  • socket_last_error() - Gibt den letzten Fehler zurück, der an einem Socket aufgetreten ist
  • socket_strerror() - Gibt einen String zurück, der einen socket-Fehler beschreibt

socket_create_pair
socket_get_option
Socket-Funktionen


Holt die Socket-Optionen für einen Socket

socket_create
socket_getopt
Socket-Funktionen
PHP Manual

socket_get_option

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

socket_get_option — Holt die Socket-Optionen für einen Socket

Beschreibung

mixed socket_get_option ( resource $socket , int $level , int $optname )

socket_get_option() gibt den Wert der Option zurück, der im Parameter optname für den Socket socket gesetzt wurde.

Parameter-Liste

socket

Ein gültiger Socket-Deskriptor, der von der Funktion socket_create() oder socket_accept() erzeugt wurde.

level

Der Parameter level enthält die Protokollebene, für die die Option gilt. Beispiel: Um Optionen auf der Socketebene abzufragen würde level den Wert SQL_SOCKET enthalten. Andere Ebenen, etwa TCP, können abgefragt werden, indem man die Protokollnummer dieser Ebene angibt. Protokollnummern können mit einem Aufruf von getprotobyname() ermittelt werden.

optname
Mögliche Socket-Optionen
Option | Beschreibung | Typ
SO_DEBUG | Gibt an, ob Debug-Informationen mitgeschrieben wurden. | int
SO_BROADCAST | Gibt an, ob die Übermittlung von Rundsende-Nachrichten unterstützt wird. | int
SO_REUSEADDR | Gibt an, ob die lokale Adresse wiederverwendet werden kann. | int
SO_KEEPALIVE | Gibt an, ob Verbindungen durch periodische Aussendungen von Nachrichten aufrecht erhalten werden. Falls der verbundene Socket nicht auf diese Nachrichten antworten kann, wird die Verbindung unterbrochen und Prozesse, die auf diesen Socket schreiben, erhalten ein SIGPIPE-Signal. | int
SO_LINGER

Gibt an, ob der socket einen Aufruf von socket_close() verzögert, falls noch Daten vorhanden sind. In der Standardeinstellung versucht ein Socket vor dem Schließen, alle noch nicht gesendeten Daten zu übermitteln. Im Falle eines verbindungsorientierten Sockets, wartet socket_close() auf die Empfangsbestätigung seiner Gegenstelle.

Falls l_onoff von 0 verschieden und l_linger ist 0, werden bei einem verbindungsorientierten Socket alle noch nicht gesendeten Daten verworfen und das Signal RST (Reset) an die Gegenstelle gesendet.

Andererseits, falls sowohl l_onoff als auch l_linger von 0 verschieden sind, blockiert der Aufruf von socket_close() den Socket so lange, bis entweder alle Daten gesendet sind oder das Zeitlimit erreicht ist, das in l_linger gesetzt wurde. Wenn der Socket auf nicht-blockieren gesetzt ist, schlägt socket_close() fehl und gibt einen Fehler zurück.

array. Das Array enthält zwei Schlüssel: l_onoff and l_linger.
SO_OOBINLINE | Gibt an, ob socket die Übertragung von bandexternen Daten in der Reihenfolge überträgt, wie sie auftreten. | int
SO_SNDBUF | Gibt die Größe des Sendepuffers zurück. | int
SO_RCVBUF | Gibt die Größe des Empfangspuffers zurück. | int
SO_ERROR | Gibt den Fehlerstatus zurück und löscht ihn. | int (dieser Wert kann nicht von socket_set_option() gesetzt werden.)
SO_TYPE | Gibt den Typ von socket zurück (z. B. SOCK_STREAM). | int (dieser Wert kann nicht von socket_set_option() gesetzt werden.)
SO_DONTROUTE | Gibt an, ob ausgehende Nachrichten das standardmässige Routing umgehen. | int
SO_RCVLOWAT | Gibt die Mindestanzahl Bytes an, die socket bei einer Empfangsoperation verarbeiten soll. (Der Vorgabewert ist 1.) | int
SO_RCVTIMEO | Gibt den Wert der Zeitspanne bis zu einer Zeitüberschreitung bei Empfangsoperationen an. | array. Das Array enthält zwei Schlüssel: sec, den Sekunden-Anteil der Zeitspanne und usec, den Mikrosekunden-Anteil der Zeitspanne bis zu einer Zeitüberschreitung.
SO_SNDTIMEO | Gibt die Zeitspanne an, nach der eine Zeitüberschreitung bei Sendeoperationen ausgelöst wird. Eine Ausgabefunktion darf während der angegebenen Zeitspanne blockieren, falls die Ablaufsteuerung den Versand der Daten verhindert. | array. Das Array enthält zwei Schlüssel: sec den Sekunden-Anteil der Zeitspanne und usec den Mikrosekunden-Anteil der Zeitspanne bis zu einer Zeitüberschreitung.
SO_SNDLOWAT | Gibt die Mindestanzahl Bytes an, die socket bei einer Ausgabeoperation verarbeiten soll. | int

Rückgabewerte

Gibt den Wert der angegebenen Option zurück oder FALSE, falls ein Fehler auftrat..

Beispiele

Beispiel #1 socket_set_option()-Beispiel

<?php
$socket = socket_create_listen(1223);

$linger = array('l_linger' => 1, 'l_onoff' => 1);
socket_set_option($socket, SOL_SOCKET, SO_LINGER, $linger);

var_dump(socket_get_option($socket, SOL_SOCKET, SO_REUSEADDR));
?>

Changelog

Version | Beschreibung
4.3.0 | Der Name der Funktion wurde geändert. Sie ersetzt die bisherige Funktion socket_getopt().

socket_create
socket_getopt
Socket-Funktionen


Alias von socket_get_option

socket_get_option
socket_getpeername
Socket-Funktionen
PHP Manual

socket_getopt

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

socket_getopt — Alias von socket_get_option()

Beschreibung

Diese Funktion ist ein Alias für: socket_get_option().

socket_get_option
socket_getpeername
Socket-Funktionen


Fragt das entfernte Ende eines gegebenen Sockets ab. Das Ergebnis ist vom Typ abhängig und ist entweder das Paar host/port oder ein Pfad des Unix-Dateisystems

socket_getopt
socket_getsockname
Socket-Funktionen
PHP Manual

socket_getpeername

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

socket_getpeername — Fragt das entfernte Ende eines gegebenen Sockets ab. Das Ergebnis ist vom Typ abhängig und ist entweder das Paar host/port oder ein Pfad des Unix-Dateisystems

Beschreibung

bool socket_getpeername ( resource $socket , string &$address [, int &$port ] )

Fragt das entfernte Ende eines gegebenen Sockets ab. Das Ergebnis ist vom Typ abhängig und ist entweder das Paar host/port oder ein Pfad des Unix-Dateisystems.

Parameter-Liste

socket

Ein gültiger Socket-Deskriptor, der von socket_create() oder socket_accept() erzeugt wurde.

address

Falls der angegebene Socket vom Typ AF_INET oder AF_INET6 ist, gibt socket_getpeername() die IP Addresse des entfernten Peers im Parameter address in der passenden Notation (z.B.127.0.0.1 oder fe80::1) im Parameter address zurück. Falls der optionale Parameter port angegeben ist, wird der zugehörige Port ebenfalls zurückgegeben.

Falls der angegebene Socket vom Typ AF_UNIX ist, gibt socket_getpeername() den Pfad des Unix-Dateisystems (z.B. /var/run/daemon.sock) in dem Parameter address zurück.

port

Falls angegeben, wird hier der mit address verknüpfte Port zurückgegeben.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. socket_getpeername() kann aber auch FALSE zurückgeben, falls der Socket weder vom Typ AF_INET noch vom Typ AF_INET6 oder AF_UNIX ist. In diesem Fall wird der letzte Fehlercode für den Socket nicht aktualisiert.

Anmerkungen

Hinweis:

socket_getpeername() sollte nicht mit AF_UNIX-Sockets verwendet werden, die mit socket_accept() erzeugt wurden. Nur Sockets, die mit socket_connect() erzeugt wurden oder primäre Server-Sockets, nach einem Aufruf von socket_bind(), geben brauchbare Ergebnisse zurück.

Hinweis:

Damit socket_getpeername() einen sinnvollen Wert zurückgibt, muss für den Socket, auf den sie angewendet wird, das Konzept "peer" sinnvoll sein.

Siehe auch

  • socket_getsockname() - Fragt das lokale Ende eines gegebenen Sockets ab. Das Ergebnis ist vom Typ abhängig und ist entweder das Paar host/port oder ein Pfad des Unix-Dateisystems
  • socket_last_error() - Gibt den letzten Fehler zurück, der an einem Socket aufgetreten ist
  • socket_strerror() - Gibt einen String zurück, der einen socket-Fehler beschreibt

socket_getopt
socket_getsockname
Socket-Funktionen


Fragt das lokale Ende eines gegebenen Sockets ab. Das Ergebnis ist vom Typ abhängig und ist entweder das Paar host/port oder ein Pfad des Unix-Dateisystems

socket_getpeername
socket_import_stream
Socket-Funktionen
PHP Manual

socket_getsockname

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

socket_getsockname — Fragt das lokale Ende eines gegebenen Sockets ab. Das Ergebnis ist vom Typ abhängig und ist entweder das Paar host/port oder ein Pfad des Unix-Dateisystems

Beschreibung

bool socket_getsockname ( resource $socket , string &$addr [, int &$port ] )

Hinweis: socket_getpeername() sollte nicht mit AF_UNIX-Sockets verwendet werden, die mit socket_connect() erzeugt wurden. Nur Sockets, die mit socket_accept() erzeugt wurden oder primäre Server-Sockets, nach einem Aufruf von socket_bind(), geben brauchbare Ergebnisse zurück.

Parameter-Liste

socket

Ein gültiger Socket-Deskriptor, der von socket_create() oder socket_accept() erzeugt wurde.

addr

Falls der angegebene Socket vom Typ AF_INET oder AF_INET6 ist, gibt socket_getsockname() die IP-Addresse des lokalen Rechners im Parameter address in Punktnotation zurück (z.B. 127.0.0.1 oder fe80::1). Falls der optionale Parameter port angegeben ist, wird der zugehörige Port ebenfalls zurückgegeben.

Falls der angegebene Socket vom Typ AF_UNIX ist, gibt socket_getsockname() den Pfad des Unix-Dateisystems (z.B. /var/run/daemon.sock) in dem Parameter address zurück.

port

Falls angegeben, wird hier der mit address verknüpfte Port zurückgegeben.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. socket_getsockname() kann auch FALSE zurückgeben, wenn der Socket weder vom Typ AF_INET noch vom Typ AF_INET6 oder AF_UNIX ist. In diesem Fall wird der letzte Socket-Fehlercode nicht aktualisiert.

Siehe auch

  • socket_getpeername() - Fragt das entfernte Ende eines gegebenen Sockets ab. Das Ergebnis ist vom Typ abhängig und ist entweder das Paar host/port oder ein Pfad des Unix-Dateisystems
  • socket_last_error() - Gibt den letzten Fehler zurück, der an einem Socket aufgetreten ist
  • socket_strerror() - Gibt einen String zurück, der einen socket-Fehler beschreibt

socket_getpeername
socket_import_stream
Socket-Funktionen


Import a stream

socket_getsockname
socket_last_error
Socket-Funktionen
PHP Manual

socket_import_stream

(PHP 5 >= 5.4.0, PHP 7)

socket_import_stream — Import a stream

Beschreibung

resource socket_import_stream ( resource $stream )

Imports a stream that encapsulates a socket into a socket extension resource.

Parameter-Liste

stream

The stream resource to import.

Rückgabewerte

Returns FALSE or NULL on failure.

Beispiele

Beispiel #1 socket_import_stream() example

<?php
$stream = stream_socket_server("udp://0.0.0.0:58380", $errno, $errstr, STREAM_SERVER_BIND);
$sock   = socket_import_stream($stream);
?>

Siehe auch

  • stream_socket_server() - Create an Internet or Unix domain server socket

socket_getsockname
socket_last_error
Socket-Funktionen


Gibt den letzten Fehler zurück, der an einem Socket aufgetreten ist

socket_import_stream
socket_listen
Socket-Funktionen
PHP Manual

socket_last_error

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

socket_last_error — Gibt den letzten Fehler zurück, der an einem Socket aufgetreten ist

Beschreibung

int socket_last_error ([ resource $socket ] )

Wenn ein Socket-Deskriptor an diese Funktion übergeben wird, wird der letzte Fehler, der an diesem bestimmten Socket aufgetreten ist, zurückgegeben. Falls kein Socket-Deskriptor übergeben wird, wird der Fehlercode der letzten fehlgeschlagenen Socket-Funktion zurückgegeben. Letzteres ist besonders hilfreich für Funktionen wie socket_create(), die bei einem Fehler keinen Socket zurückgibt, oder socket_select(), die aus anderen Gründen, die nichts mit einem bestimmten Socket zu tun haben, fehlschlagen kann. Der Fehlercode kann an die Funktion socket_strerror() übergeben werden, die eine textuelle Beschreibung dieses Fehlercodes zurückgibt.

Parameter-Liste

socket

Ein gültiger Socket-Deskriptor, der von socket_create() erzeugt wurde.

Rückgabewerte

Diese Funktion gibt den Fehlercode eines Socket-Fehlers zurück.

Beispiele

Beispiel #1 socket_last_error() example

<?php
$socket = @socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

if ($socket === false) {
    $errorcode = socket_last_error();
    $errormsg = socket_strerror($errorcode);

    die("Konnte keinen Socket erzeugen: [$errorcode] $errormsg");
}
?>

Anmerkungen

Hinweis:

socket_last_error() löscht den Fehlercode nicht. Dazu müssesn Sie socket_clear_error() aufrufen.

socket_import_stream
socket_listen
Socket-Funktionen


Hört einen Socket nach Verbindungsanforderungen ab

socket_last_error
socket_read
Socket-Funktionen
PHP Manual

socket_listen

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

socket_listen — Hört einen Socket nach Verbindungsanforderungen ab

Beschreibung

bool socket_listen ( resource $socket [, int $backlog = 0 ] )

Nachdem der Socket socket mit socket_create() erzeugt und mit socket_bind() mit einem Namen verknüpft wurde, wird er angewiesen, nach hereinkommenden Verbindungsanforderungen an dem Socket socket zu horchen.

socket_listen() kann nur zusammen mit Sockets vom Typ SOCK_STREAM oder SOCK_SEQPACKET verwendet werden.

Parameter-Liste

socket

Ein gültiger Socket-Deskriptor, der von socket_create() erzeugt wurde.

backlog

Maximal werden backlog hereinkommende Verbindungsanforderungen zur späteren Verarbeitung in die Warteschlange gestellt. Falls eine Verbindungsanforderung ankommt, wenn die Warteschlange voll ist, bekommt der Client eine Fehlermeldung mit dem Hinweis ECONNREFUSED. Oder, falls das zugrundeliegende Protokoll eine wiederholte Übertragung unterstützt, wird die Anforderung ignoriert, so dass weitere Verbindungsversuche möglicherweise erfolgreich sind.

Hinweis:

Die maximale Anzahl der im Parameter backlog angegebenen Einträge der Warteschlange hängt entscheidend vom darunterliegenden Betriebssystem ab. Auf Linux-Systemen wird die Zahl stillschweigend auf SOMAXCONN begrenzt. Wenn auf Win32-Systemen SOMAXCONN gesetzt ist, ist der Dienstanbieter verantwortlich für den Socket und muss die Warteschlange auf einen vernünftigen Maximalwert begrenzen. Es gibt für diese Systeme keine standardmäßige Möglichkeit, den aktuellen Wert herauszufinden.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. Der Fehlercode kann mit der Funktion socket_last_error() abgefragt werden. Dieser Fehlercode kann an die Funktion socket_strerror() übergeben werden, um eine textuelle Beschreibung des Fehlers zu erhalten.

Siehe auch

  • socket_accept() - Akzeptiert eine Verbindung an einem Socket
  • socket_bind() - Verknüpft einen Socket mit einem Namen
  • socket_connect() - Baut eine Verbindung über einen Socket auf
  • socket_create() - Erzeugt einen Socket (Endpunkt für die Kommunikation)
  • socket_strerror() - Gibt einen String zurück, der einen socket-Fehler beschreibt

socket_last_error
socket_read
Socket-Funktionen


Liest höchstens die angegebene Anzahl Bytes von einem Socket

socket_listen
socket_recv
Socket-Funktionen
PHP Manual

socket_read

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

socket_read — Liest höchstens die angegebene Anzahl Bytes von einem Socket

Beschreibung

string socket_read ( resource $socket , int $length [, int $type = PHP_BINARY_READ ] )

Die Funktion socket_read() liest von dem Socket socket, der entweder mit socket_create() oder mit socket_accept() erzeugt wurde.

Parameter-Liste

socket

Ein gültiger Socket-Deskriptor, der von socket_create() oder socket_accept() erzeugt wurde.

length

Die Anzahl Bytes, die höchstens gelesen wird, wird in dem Parameter length angegeben. Anderenfalls können Sie mit \r, \n, oder \0 den Lesevorgang beenden (dies ist abhängig von dem Parameter type, siehe weiter unten).

type

Der optionale Parameter type ist eine vordefinierte Konstante:

  • PHP_BINARY_READ (Standardwert) - benutzt die Systemfunktion recv(). Das ist sicher zum Lesen von Binärdaten.
  • PHP_NORMAL_READ - Lesevorgänge werden bei \n oder \r beendet.

Rückgabewerte

socket_read() gibt bei Erfolg die Daten als String zurück oder FALSE, falls ein Fehler aufgetreten ist (oder auch, wenn der entfernte Host die Verbindung abgebrochen hat). Der Fehlercode kann mit socket_last_error() abgefragt werden. Dieser Fehlercode kann an die Funktion socket_strerror() übergeben werden, um eine textuelle Beschreibung des Fehlers zu erhalten.

Hinweis:

socket_read() gibt einen leeren String ("") zurück, wenn es keine Daten mehr zu lesen gibt.

Changelog

Version | Beschreibung
4.1.0 | Der Vorgabewert für type wurde von PHP_NORMAL_READ auf PHP_BINARY_READ gesetzt.

Siehe auch

  • socket_accept() - Akzeptiert eine Verbindung an einem Socket
  • socket_bind() - Verknüpft einen Socket mit einem Namen
  • socket_connect() - Baut eine Verbindung über einen Socket auf
  • socket_listen() - Hört einen Socket nach Verbindungsanforderungen ab
  • socket_last_error() - Gibt den letzten Fehler zurück, der an einem Socket aufgetreten ist
  • socket_strerror() - Gibt einen String zurück, der einen socket-Fehler beschreibt
  • socket_write() - Schreibt in einen Socket

socket_listen
socket_recv
Socket-Funktionen


Empfängt Daten von einem verbundenen Socket

socket_read
socket_recvfrom
Socket-Funktionen
PHP Manual

socket_recv

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

socket_recv — Empfängt Daten von einem verbundenen Socket

Beschreibung

int socket_recv ( resource $socket , string &$buf , int $len , int $flags )

Die socket_recv() Funktion empfängt len Bytes Daten in buf von socket. socket_recv() kann genutzt werden, um Daten von verbundenen Sockets zu lesen. Zusätzlich können einer oder mehrere Flags angegeben werden, um das Verhalten der Funktion zu modifizieren.

buf wird als Referenz übergeben, daher muss er als Variable in der Liste der Argumente angegeben werden. Gelesene Daten von socket durch socket_recv() werden in buf zurückgegeben.

Parameter-Liste

socket

Der socket muss eine socket Ressource sein, die zuvor mit socket_create() erzeugt wurde.

buf

Empfangene Daten werden in die Variable geschrieben, die durch buf spezifiziert ist. Tritt ein Fehler auf, wird die Verbindung zurückgesetzt oder, wenn keine Daten verfügbar sind, wird buf auf NULL gesetzt.

len

Maximal len Bytes werden von dem entfernten System abgerufen.

flags

Der Wert von flags kann jede beliebige Kombination der folgenden Flags sein, verknüpft mit dem binären ODER (|) Operator.

Mögliche Werte von flags
Flag | Beschreibung
MSG_OOB | Verarbeite bandexterne (out-of-band) Daten.
MSG_PEEK | Lies Daten ab Anfang der Empfangs-Warteschlange, ohne die Daten aus der Warteschlange zu löschen.
MSG_WAITALL | Blockiere so lange, bis mindestens len Daten gelesen wurden. Wenn jedoch ein Signal empfangen wurde oder der entfernte Host die Verbindung beendet, kann die Funktion auch weniger Daten zurückgeben.
MSG_DONTWAIT | Wenn dieses Flag gesetzt ist, kehrt die Funktion zurück, auch wenn sie normalerweise blockieren würde.

Rückgabewerte

socket_recvfrom() gibt die Anzahl der empfangenen Bytes zurück oder FALSE, falls ein Fehler auftrat. Der aktuelle Fehlercode kann mit socket_last_error() abgefragt werden. Dieser Fehlercode kann an die Funktion socket_strerror() übergeben werden, um eine textuelle Beschreibung des Fehlers zu erhalten.

Beispiele

Beispiel #1 socket_recv() Beispiel

Dies ist eine einfache Umformulierung des ersten Beispieles von Beispiele unter Nutzung von socket_recv().

<?php
error_reporting(E_ALL);

echo "<h2>TCP/IP Verbindung</h2>\n";

/* Erhalte Port für den WWW Service. */
$service_port = getservbyname('www', 'tcp');

/* Erhalte die IP Adresse des Ziel Hosts. */
$address = gethostbyname('www.example.com');

/* Erzeuge ein TCP/IP Socket. */
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
    echo "socket_create() schlug fehl: Grund: " . socket_strerror(socket_last_error()) . "\n";
} else {
    echo "OK.\n";
}

echo "Versuche Verbing zu '$address' auf Port '$service_port' aufzubauen...";
$result = socket_connect($socket, $address, $service_port);
if ($result === false) {
    echo "socket_connect() schulg fehl.\nGrund: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
} else {
    echo "OK.\n";
}

$in = "HEAD / HTTP/1.1\r\n";
$in .= "Host: www.example.com\r\n";
$in .= "Connection: Close\r\n\r\n";
$out = '';

echo "Sende HTTP HEAD Request...";
socket_write($socket, $in, strlen($in));
echo "OK.\n";

echo "Lese Response:\n\n";
$buf = 'Dies ist mein Puffer.';
if (false !== ($bytes = socket_recv($socket, $buf, 2048, MSG_WAITALL))) {
    echo "Las $bytes bytes von socket_recv(). Schliesse Socket...";
} else {
    echo "socket_recv() schlug fehl; Grund: " . socket_strerror(socket_last_error($socket)) . "\n";
}
socket_close($socket);

echo $buf . "\n";
echo "OK.\n\n";
?>

Obiges Beispiel erzeugt eine Ausgabe ähnlich wie:

<h2>TCP/IP Verbindung</h2>
OK.
Versuche Verbing zu '208.77.188.166' auf Port '80' aufzubauen...OK.
Sende HTTP HEAD Request...OK.
Lese Response:

Las 123 bytes von socket_recv(). Schliesse Socket...HTTP/1.1 200 OK
Date: Mon, 14 Sep 2009 08:56:36 GMT
Server: Apache/2.2.3 (Red Hat)
Last-Modified: Tue, 15 Nov 2005 13:24:10 GMT
ETag: "b80f4-1b6-80bfd280"
Accept-Ranges: bytes
Content-Length: 438
Connection: close
Content-Type: text/html; CHARSET=Windows-1252

OK.

socket_read
socket_recvfrom
Socket-Funktionen


Empfängt Daten von einem Socket, egal, ob verbindungsorientiert oder nicht

socket_recv
socket_recvmsg
Socket-Funktionen
PHP Manual

socket_recvfrom

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

socket_recvfrom — Empfängt Daten von einem Socket, egal, ob verbindungsorientiert oder nicht

Beschreibung

int socket_recvfrom ( resource $socket , string &$buf , int $len , int $flags , string &$name [, int &$port ] )

Die Funktion socket_recvfrom() empfängt über den Socket socket len Bytes von name über den Port port (falls der Socket nicht vom Typ AF_UNIX ist) und liest sie in den Puffer buf ein. socket_recvfrom() kann dazu verwendet werden, um Daten sowohl von verbundenen als auch unverbundenen Sockets zu lesen. Außerdem können ein oder mehrere Flags gesetzt werden, um das Verhalten dieser Funktion zu beeinflussen.

Die Parameter name und port müsssen als Referenz übergeben werden. Wenn der Socket verbindungslos ist, wird name auf die Internet-Protokolladresse des entfernten Host oder auf den Pfad zum UNIX-Socket gesetzt. Ist der Socket verbindungsorientiert, ist name NULL. Zusätzlich enthält der Parameter port den Port des entfernten Host, falls es sich um einen nicht verbundenen AF_INET oder AF_INET6 Socket handelt.

Parameter-Liste

socket

socket muss ein Socket-Deskriptor sein, der zuvor von socket_create() erzeugt wurde.

buf

Die empfangenen Daten werden in die Variable buf eingelesen.

len

Bis zu len Bytes werden vom entfernten Host gelesen.

flags

Der Wert von flags kann eine beliebige Kombination der folgenden Flags sein, die mit dem binären OR (|) verknüpft werden.

Mögliche Werte für flags
Flag | Beschreibung
MSG_OOB | Verarbeite bandexterne Daten.
MSG_PEEK | Lies Daten ab Anfang der Empfangs-Warteschlange, ohne die Daten aus der Warteschlange zu löschen.
MSG_WAITALL | Blockiere so lange, bis mindestens len Daten gelesen wurden. Wenn jedoch ein Signal empfangen wurde oder der entfernte Host die Verbindung beendet, kann die Funktion auch weniger Daten zurückgeben.
MSG_DONTWAIT | Wenn dieses Flag gesetzt ist, kehrt die Funktion zurück, auch wenn sie normalerweise blockieren würde.
name

Wenn der Socket vom Typ AF_UNIX ist, enthält name den Pfad zu einer Datei. Anderenfalls, bei nicht verbundenen Sockets, enthält name die IP-Adresse des entfernten Hosts oder NULL, falls der Socket verbindungsorientiert ist.

port

Dieses Argument gilt nur für Sockets vom Typ AF_INET und AF_INET6 und gibt den entfernten Port an, über den Daten empfangen werden. Falls der Socket verbindungsorientiert ist, ist port NULL.

Rückgabewerte

socket_recvfrom() gibt die Anzahl der empfangenen Bytes zurück oder FALSE, falls ein Fehler auftrat. Der aktuelle Fehlercode kann mit socket_last_error() abgefragt werden. Dieser Fehlercode kann an die Funktion socket_strerror() übergeben werden, um eine textuelle Beschreibung des Fehlers zu erhalten.

Beispiele

Beispiel #1 socket_recvfrom() Beispiel

<?php
error_reporting(E_ALL | E_STRICT);

$socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_bind($socket, '127.0.0.1', 1223);

$from = '';
$port = 0;
socket_recvfrom($socket, $buf, 12, 0, $from, $port);

echo "$buf von entfernter Adresse $from über den entfernten Port $port empfangen." . PHP_EOL;
?>

Dieses Beispiel erzeugt einen UDP-Socket über Port 1223 des Hosts 127.0.0.1 und gibt höchstens 12 Zeichen aus, die von einem entfernten Host empfangen wurden.

Changelog

Version | Beschreibung
4.3.0 | socket_recvfrom() ist ab jetzt binary-safe.

Siehe auch

  • socket_recv() - Empfängt Daten von einem verbundenen Socket
  • socket_send() - Sendet Daten an einen verbundenen Socket
  • socket_sendto() - Sendet eine Nachricht an einen Socket, egal ob dieser verbunden ist oder nicht
  • socket_create() - Erzeugt einen Socket (Endpunkt für die Kommunikation)

socket_recv
socket_recvmsg
Socket-Funktionen


Read a message

socket_recvfrom
socket_select
Socket-Funktionen
PHP Manual

socket_recvmsg

(PHP 5 >= 5.5.0, PHP 7)

socket_recvmsg — Read a message

Beschreibung

int socket_recvmsg ( resource $socket , string $message [, int $flags ] )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

socket

message

flags

Rückgabewerte

Siehe auch

  • socket_sendmsg() - Send a message
  • socket_cmsg_space() - Calculate message buffer size

socket_recvfrom
socket_select
Socket-Funktionen


Führt einen select()-Systemaufruf auf den gegebenen Socket-Arrays aus, wobei ein Zeitlimit bestimmt wird

socket_recvmsg
socket_send
Socket-Funktionen
PHP Manual

socket_select

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

socket_select — Führt einen select()-Systemaufruf auf den gegebenen Socket-Arrays aus, wobei ein Zeitlimit bestimmt wird

Beschreibung

int socket_select ( array &$read , array &$write , array &$except , int $tv_sec [, int $tv_usec = 0 ] )

socket_select() nimmt als Parameter Socket-Arrays entgegen und wartet, ob diese ihren Status ändern. Diejenigen, die Hintergrundwissen über BSD-Sockets haben, werden feststellen, dass diese Socket-Arrays in Wirklichkeit die sogenannten Datei-Deskriptor-Mengen sind. Drei voneinander unabhängige Arrays mit Socket-Deskriptoren werden überwacht.

Parameter-Liste

read

Die Sockets, die im read-Array aufgelistet sind, werden daraufhin überwacht, ob Zeichen zum Auslesen zur Verfügung gestellt werden. (Um genauer zu sein: es wird überwacht, ob ein Lesevorgang blockiert - ein Socket ist nämlich auch dann bereit, wenn er bis zum Dateiende gelesen hat. In diesem Fall gibt socket_read() einen leeren String zurück.)

write

Die Sockets, die im write-Array aufgelistet sind, werden daraufhin überwacht, ob ein Schreibvorgang blockiert.

except

Die Sockets, die im except-Array aufgelistet sind, werden auf Ausnahmen überwacht.

tv_sec

tv_sec und tv_usec bilden zusammen den timeout-Parameter. Der timeout ist eine obere Schranke für die Zeit, die verstreichen kann, bis socket_select() zurückkehrt. tv_sec kann 0 sein, wodurch socket_select() sofort zurückkehrt. Dies ist nützlich beim Polling. Falls der Parameter tv_sec NULL ist (kein Timeout), kann socket_select() unendlich lange blockieren.

tv_usec

Warnung

Beim Beenden werden alle Arrays aktualisiert, und zeigen an, welche Sockets ihren Status geändert haben.

Sie brauchen nicht jedes Array einzeln an socket_select() übergeben. Sie können die Arrays auch weglassen und stattdessen leere Arrays oder NULL angeben. Vergessen Sie nicht, dass diese Arrays by reference übergeben werden müssen und dass sie verändert werden, nachdem die Funktion socket_select() beendet ist.

Hinweis:

Wegen einer Einschränkung in der aktuellen Zend Engine ist es nicht möglich, eine Konstante, wie etwa NULL, direkt als Parameter an Funktionen zu übergeben, die ihre Argumente als Referenzen erwarten. Sie können stattdessen eine temporäre Variable oder einen Ausdruck, in dem der am weitesten links stehende Teilausdruck eine temporäre Variable ist, benutzen.

Beispiel #1 NULL mit socket_select() benutzen:

<?php
$e = NULL;
socket_select($r, $w, $e, 0);
?>

Rückgabewerte

Bei Erfolg gibt socket_select() die Anzahl der Socket-Deskriptoren zurück, die in den aktualisierten Arrays enthalten sind. Falls der Timeout wirksam wird, bevor irgend etwas Interessantes passiert, ist das Funktionsergebnis 0. Falls ein Fehler auftritt, wird FALSE zurückgegeben. Der Fehlercode kann dann mit socket_last_error() abgefragt werden.

Hinweis:

Wenn Sie einen Fehler aufspüren wollen, müssen Sie unbedingt den Operator === benutzen. Weil socket_select() auch 0 zurückgeben kann, wird der Vergleich mit == sonst zu TRUE ausgewertet.

Beispiel #2 Rückgaben von socket_select() verstehen

<?php
$e = NULL;
if (false === socket_select($r, $w, $e, 0)) {
    echo "socket_select() fehlgeschlagen, Grund: " .
        socket_strerror(socket_last_error()) . "\n";
}
?>

Beispiele

Beispiel #3 socket_select()-Beispiel

<?php
/* Das Array read vorbereiten */
$read   = array($socket1, $socket2);
$write  = NULL;
$except = NULL;
$num_changed_sockets = socket_select($read, $write, $except, 0);

if ($num_changed_sockets === false) {
    /* Fehlerbehandlung */
} else if ($num_changed_sockets > 0) {
    /* Mindestens an einem Socket ist etwas Interessantes passiert */
}
?>

Anmerkungen

Hinweis:

Seien Sie sich bewusst, dass manche Socket-Implementierungen sehr sorgfältig benutzt werden müssen. Ein paar grundsätzliche Regeln:

  • Sie sollten immer versuchen, socket_select() ohne Timeout zu benutzen. Ihr Programm sollte nichts tun, wenn keine Daten verfügbar sind. Code, der von Zeitbegrenzungen abhängig ist, ist normalerweise nicht portierbar und schwierig zu debuggen.
  • Es sollte kein Socket-Deskriptor in die Arrays eingefügt werden, wenn Sie nicht vorhaben, die Ergebnisse nach der Ausführung von socket_select() zu prüfen und entsprechend darauf zu reagieren. Nachdem socket_select() beendet ist, müssen alle Sockets in allen Socket-Arrays geprüft werden. Jeder Socket, der zum Schreiben zur Verfügung steht, muss beschrieben werden und aus jedem Socket, der zum Lesen verfügbar ist, muss gelesen werden.
  • Bei Schreib-/Leseoperationen auf den Sockets in den Arrays müssen Sie damit rechnen, dass nicht notwendigerweise alle Daten geschrieben/gelesen werden, die Sie angeben. Seien Sie darauf vorbereitet, dass Sie möglicherweise nur ein einziges Byte schreiben/lesen können.
  • Fast allen Socket-Implementierungen ist gemeinsam, dass sie nur eine einzige Ausnahme in dem Array except auffangen können. Und zwar, wenn bandexterne Daten von einem Socket empfangen werden.

Siehe auch

  • socket_read() - Liest höchstens die angegebene Anzahl Bytes von einem Socket
  • socket_write() - Schreibt in einen Socket
  • socket_last_error() - Gibt den letzten Fehler zurück, der an einem Socket aufgetreten ist
  • socket_strerror() - Gibt einen String zurück, der einen socket-Fehler beschreibt

socket_recvmsg
socket_send
Socket-Funktionen


Sendet Daten an einen verbundenen Socket

socket_select
socket_sendmsg
Socket-Funktionen
PHP Manual

socket_send

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

socket_send — Sendet Daten an einen verbundenen Socket

Beschreibung

int socket_send ( resource $socket , string $buf , int $len , int $flags )

Die Funktion socket_send() sendet len Bytes aus dem Puffer buf an den Socket socket.

Parameter-Liste

socket

Ein gültiger Socket-Deskriptor, der von socket_create() oder socket_accept() erzeugt wurde.

buf

Ein Puffer, der die Daten enthält, die an den entfernten Host gesendet werden.

len

Die Anzahl Bytes, die aus dem Puffer buf an den entfernten Host gesendet werden.

flags

Der Parameter flags kann beliebige Kombinationen der folgenden Flags enthalten, die mit einem binären OR (|) verknüpft werden.

Mögliche Werte von flags
MSG_OOB | Sende OOB-Daten (out-of-band).
MSG_EOR | Setze eine Ende-Marke für den Datensatz. Die gesendeten Daten beenden die Übertragung.
MSG_EOF | Schließe den Socket auf der Senderseite und füge eine entsprechende Benachrichtigung an das Ende der gesendeten Daten an. Die gesendeten Daten beenden die Übertragung.
MSG_DONTROUTE | Umgehe das Routing, sende direkt ber die Schnittstelle.

Rückgabewerte

socket_send() gibt die Anzahl der gesendeten Bytes zurück oder FALSE, falls ein Fehler auftrat.

Siehe auch

  • socket_sendto() - Sendet eine Nachricht an einen Socket, egal ob dieser verbunden ist oder nicht

socket_select
socket_sendmsg
Socket-Funktionen


Send a message

socket_send
socket_sendto
Socket-Funktionen
PHP Manual

socket_sendmsg

(PHP 5 >= 5.5.0, PHP 7)

socket_sendmsg — Send a message

Beschreibung

int socket_sendmsg ( resource $socket , array $message , int $flags )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

socket

message

flags

Rückgabewerte

Returns the number of bytes sent, Im Fehlerfall wird FALSE zurückgegeben..

Siehe auch

  • socket_recvmsg() - Read a message
  • socket_cmsg_space() - Calculate message buffer size

socket_send
socket_sendto
Socket-Funktionen


Sendet eine Nachricht an einen Socket, egal ob dieser verbunden ist oder nicht

socket_sendmsg
socket_set_block
Socket-Funktionen
PHP Manual

socket_sendto

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

socket_sendto — Sendet eine Nachricht an einen Socket, egal ob dieser verbunden ist oder nicht

Beschreibung

int socket_sendto ( resource $socket , string $buf , int $len , int $flags , string $addr [, int $port = 0 ] )

Die Funktion socket_sendto() sendet len Bytes aus dem Puffer buf über den Port port an den Socket socket mit der Adresse addr.

Parameter-Liste

socket

Ein gültiger Socket-Deskriptor, der von socket_create() erzeugt wurde.

buf

Die Sendedaten werden aus dem Puffer buf gelesen.

len

Die Anzahl Bytes, die aus dem Puffer buf gesendet werden.

flags

Der Parameter flags kann beliebige Kombinationen der folgenden Flags enthalten, die mit einem binären OR (|) verknüpft werden.

Mögliche Werte von flags
MSG_OOB | Sende OOB (out-of-band) Daten.
MSG_EOR | Setze eine Ende-Marke für den Datensatz. Die gesendeten Daten beenden die Übertragung.
MSG_EOF | Schließe den Socket auf der Senderseite und füge eine entsprechende Benachrichtigung an das Ende der gesendeten Daten an. Die gesendeten Daten beenden die Übertragung.
MSG_DONTROUTE | Umgehe das Routing, sende direkt über die Schnittstelle.

addr

Die IP-Adresse des enfernten Hosts.

port

port ist die Portnummer des entfernten Rechners, an den die Daten gesendet werden.

Rückgabewerte

socket_sendto() gibt die Anzahl der an den entfernten Host gesendeten Bytes zurück oder -1, falls ein Fehler auftrat.

Beispiele

Beispiel #1 socket_sendto()-Beispiel

<?php
    $sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);

    $msg = "Ping !";
    $len = strlen($msg);

    socket_sendto($sock, $msg, $len, 0, '127.0.0.1', 1223);
    socket_close($sock);
?>

Siehe auch

  • socket_send() - Sendet Daten an einen verbundenen Socket

socket_sendmsg
socket_set_block
Socket-Funktionen


Setzt einen Socket auf den blockieren-Modus

socket_sendto
socket_set_nonblock
Socket-Funktionen
PHP Manual

socket_set_block

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

socket_set_block — Setzt einen Socket auf den blockieren-Modus

Beschreibung

bool socket_set_block ( resource $socket )

Die Funktion socket_set_block() entfernt das Flag O_NONBLOCK vom Socket socket.

Wenn eine Operation (etwa empfangen, senden, verbinden, akzeptieren, ...) an einem blockierenden Socket ausgeführt wird, wird die Ausführung des Skripts so lange unterbrochen, bis es ein Signal erhält oder die Operation ausführen kann.

Parameter-Liste

socket

Ein gültiger Socket-Deskriptor, der von socket_create() oder socket_accept() erzeugt wurde.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 socket_set_block() Beispiel

<?php
$socket = socket_create_listen(1223);
socket_set_block($socket);

socket_accept($socket);
?>

In diesem Beispiel wird ein Socket für alle Schnittstellen erzeugt, der den Port 1223 abhört und der in den O_BLOCK-Modus versetzt wird. socket_accept() wartet auf eine Verbindung, um sie zu akzeptieren.

Siehe auch

  • socket_set_nonblock() - Setzt den nonblocking-Modus für den Datei-Deskriptor fd
  • socket_set_option() - Setzt die Optionen für einen Socket

socket_sendto
socket_set_nonblock
Socket-Funktionen


Setzt den nonblocking-Modus für den Datei-Deskriptor fd

socket_set_block
socket_set_option
Socket-Funktionen
PHP Manual

socket_set_nonblock

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

socket_set_nonblock — Setzt den nonblocking-Modus für den Datei-Deskriptor fd

Beschreibung

bool socket_set_nonblock ( resource $socket )

Die Funktion socket_set_nonblock() setzt das Flag O_NONBLOCK für den Socket socket.

Wenn eine Operation (etwa empfangen, senden, verbinden, akzeptieren, ...) an einem nicht-blockierenden Socket ausgeführt wird, wird die Ausführung des Skripts so lange nicht unterbrochen, bis es ein Signal erhält oder die Operation ausgeführt ist. Wenn allerdings die Operation zu einer Blockierung führen würde, schlägt die aufgerufene Funktion fehl.

Parameter-Liste

socket

Ein gültiger Socket-Deskriptor, der von socket_create() oder socket_accept() erzeugt wurde.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 socket_set_nonblock() Beispiel

<?php
$socket = socket_create_listen(1223);
socket_set_nonblock($socket);

socket_accept($socket);
?>

In diesem Beispiel wird ein Socket für alle Schnittstellen erzeugt, der den Port 1223 abhört und der in den O_NONBLOCK-Modus versetzt wird. socket_accept() schlägt sofort fehl, es sei denn, es gibt exakt in diesem Moment eine wartende Verbindung.

Siehe auch

  • socket_set_block() - Setzt einen Socket auf den blockieren-Modus
  • socket_set_option() - Setzt die Optionen für einen Socket
  • stream_set_blocking() - Set blocking/non-blocking mode on a stream

socket_set_block
socket_set_option
Socket-Funktionen


Setzt die Optionen für einen Socket

socket_set_nonblock
socket_setopt
Socket-Funktionen
PHP Manual

socket_set_option

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

socket_set_option — Setzt die Optionen für einen Socket

Beschreibung

bool socket_set_option ( resource $socket , int $level , int $optname , mixed $optval )

Mit socket_set_option() wird die Option, die mit optname angegeben wurde, auf der Protokollebene level für den Socket socket auf den Wert gesetzt, der in optval übergeben wurde.

Parameter-Liste

socket

Ein gültiger Socket-Deskriptor, der von socket_create() oder socket_accept() erzeugt wurde.

level

Der Parameter level gibt die Protokollebene an, auf der diese Option gilt. Um beispielsweise Optionen auf dem Socket-Level abzufragen würde man den Parameter level auf den Wert SOL_SOCKET setzen. Andere Ebenen, wie etwa TCP können benutzt werden, indem man die Protokollnummer dieser Ebene benutzt. Protokollnummern erhält man mit der Funktion getprotobyname().

optname

Es sind dieselben Socket-Optionen verfügbar, wie bei der Funktion socket_get_option() beschrieben.

optval

Der Wert der Option.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 socket_set_option() Beispiel

<?php
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

if (!is_resource($socket)) {
    echo 'Kann keinen Socket erzeugen: '. socket_strerror(socket_last_error()) . PHP_EOL;
}

if (!socket_set_option($socket, SOL_SOCKET, SO_REUSEADDR, 1)) {
    echo 'Kann keine Option setzen für Socket: '. socket_strerror(socket_last_error()) . PHP_EOL;
}

if (!socket_bind($socket, '127.0.0.1', 1223)) {
    echo 'Kann den Socket nicht benennen: '. socket_strerror(socket_last_error()) . PHP_EOL;
}

$rval = socket_get_option($socket, SOL_SOCKET, SO_REUSEADDR);

if ($rval === false) {
    echo 'Kann keine Socket-Optionen ermitteln: '. socket_strerror(socket_last_error()) . PHP_EOL;
} else if ($rval !== 0) {
    echo 'SO_REUSEADDR ist für den Socket gesetzt!' . PHP_EOL;
}
?>

socket_set_nonblock
socket_setopt
Socket-Funktionen


Alias von socket_set_option

socket_set_option
socket_shutdown
Socket-Funktionen
PHP Manual

socket_setopt

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

socket_setopt — Alias von socket_set_option()

Beschreibung

Diese Funktion ist ein Alias für: socket_set_option().

socket_set_option
socket_shutdown
Socket-Funktionen


Schließt einen Socket der zum Senden, Empfangen oder beidem geöffnet wurde

socket_setopt
socket_strerror
Socket-Funktionen
PHP Manual

socket_shutdown

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

socket_shutdown — Schließt einen Socket der zum Senden, Empfangen oder beidem geöffnet wurde

Beschreibung

bool socket_shutdown ( resource $socket [, int $how = 2 ] )

Mit socket_shutdown() können Sie die Übertragungung hereinkommender, ausgehender oder aller Daten (die Standardeinstellung) über diesen socket abbrechen.

Parameter-Liste

socket

Ein gültiger Socket-Deskriptor, der von socket_create() erzeugt wurde.

how

Der Parameter how kann folgende Werte annehmen:

Mögliche Werte für how
0 | Schließe den Socket für hereinkommende Daten (Lesen)
1 | Schließe den Socket für ausgehende Daten (Schreiben)
2 | Schließe den Socket in beiden Richtungen

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

socket_setopt
socket_strerror
Socket-Funktionen


Gibt einen String zurück, der einen socket-Fehler beschreibt

socket_shutdown
socket_write
Socket-Funktionen
PHP Manual

socket_strerror

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

socket_strerror — Gibt einen String zurück, der einen socket-Fehler beschreibt

Beschreibung

string socket_strerror ( int $errno )

socket_strerror() nimmt im Parameter errno einen Fehlercode, der von der Funktion socket_last_error() zurückgegeben wurde, entgegen und gibt seinerseits den entsprechenden Erklärungstext aus.

Hinweis:

Obwohl die Fehlermeldungen der Socket-Erweiterung englisch sind, erscheinen die Systemmeldungen, die mit dieser Funktion abgerufen werden, in der Sprache der aktuellen locale-Einstellung (LC_MESSAGES).

Parameter-Liste

errno

Ein gültiger Fehlercode eines Socket-Fehlers, ähnlich der Funktion socket_last_error().

Rückgabewerte

Zurückgegeben wird die Fehlermeldung, die dem Fehlercode errno entspricht.

Beispiele

Beispiel #1 socket_strerror() Beispiel

<?php
if (false == ($socket = @socket_create(AF_INET, SOCK_STREAM, SOL_TCP))) {
   echo "socket_create() fehlgeschlagen. Grund: " . socket_strerror(socket_last_error()) . "\n";
}

if (false == (@socket_bind($socket, '127.0.0.1', 80))) {
   echo "socket_bind() fehlgeschlagen. Grund: " . socket_strerror(socket_last_error($socket)) . "\n";
}
?>

Die erwartete Ausgabe des obigen Beispiels (vorausgesetzt, das Skript wird nicht mit root-Rechten ausgeführt):

socket_bind() fehlgeschlagen. Grund: Permission denied

Siehe auch

  • socket_accept() - Akzeptiert eine Verbindung an einem Socket
  • socket_bind() - Verknüpft einen Socket mit einem Namen
  • socket_connect() - Baut eine Verbindung über einen Socket auf
  • socket_listen() - Hört einen Socket nach Verbindungsanforderungen ab
  • socket_create() - Erzeugt einen Socket (Endpunkt für die Kommunikation)

socket_shutdown
socket_write
Socket-Funktionen


Schreibt in einen Socket

socket_strerror
SSH2
Socket-Funktionen
PHP Manual

socket_write

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

socket_write — Schreibt in einen Socket

Beschreibung

int socket_write ( resource $socket , string $buffer [, int $length = 0 ] )

Die Funktion socket_write() schreibt aus dem Puffer buffer in den Socket socket.

Parameter-Liste

socket

buffer

Der Puffer, dessen Inhalt geschrieben werden soll.

length

Mit dem optionalen Parameter length kann man alternativ eine Anzahl von Bytes angeben, die in den Socket geschrieben werden sollen. Falls diese Anzahl größer ist, als der Puffer, wird sie stillschweigend auf die Puffergröße gekürzt.

Rückgabewerte

Gibt die Anzahl der erfolgreich in den Socket geschriebenen Bytes zurück Im Fehlerfall wird FALSE zurückgegeben.. Der Fehlercode kann mit der Funktion socket_last_error() ermittelt werden. Dieser Fehlercode kann an die Funktion socket_strerror() übergeben werden, um eine textuelle Beschreibung des Fehlers zu erhalten.

Hinweis:

Es ist durchaus möglich, dass socket_write() den Wert 0 zurckgibt, was bedeutet, dass kein einziges Byte geschrieben wurde. Vergewissern Sie sich, dass Sie den === Operator benutzen, um im Falle eines Fehlers auf FALSE zu testen.

Anmerkungen

Hinweis:

socket_write() schreibt nicht notwendigerweise alle Bytes aus dem angegebenen Puffer. Es ist auch möglich, dass, abhängig von den Puffern im Netzwerk usw., nur eine bestimmte Datenmenge, sogar auch nur ein Byte, geschrieben wird, obwohl der Puffer größer ist. Dies müssen Sie beobachten, damit Sie nicht versehentlich versäumen, den Rest Ihrer Daten zu senden.

Siehe auch

  • socket_accept() - Akzeptiert eine Verbindung an einem Socket
  • socket_bind() - Verknüpft einen Socket mit einem Namen
  • socket_connect() - Baut eine Verbindung über einen Socket auf
  • socket_listen() - Hört einen Socket nach Verbindungsanforderungen ab
  • socket_read() - Liest höchstens die angegebene Anzahl Bytes von einem Socket
  • socket_strerror() - Gibt einen String zurück, der einen socket-Fehler beschreibt

socket_strerror
SSH2
Socket-Funktionen


Secure Shell2

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • SSH2 Funktionen
    • ssh2_auth_agent — Authenticate over SSH using the ssh agent
    • ssh2_auth_hostbased_file — Authenticate using a public hostkey
    • ssh2_auth_none — Authenticate as "none"
    • ssh2_auth_password — Authenticate over SSH using a plain password
    • ssh2_auth_pubkey_file — Authenticate using a public key
    • ssh2_connect — Connect to an SSH server
    • ssh2_exec — Execute a command on a remote server
    • ssh2_fetch_stream — Fetch an extended data stream
    • ssh2_fingerprint — Retrieve fingerprint of remote server
    • ssh2_methods_negotiated — Return list of negotiated methods
    • ssh2_publickey_add — Add an authorized publickey
    • ssh2_publickey_init — Initialize Publickey subsystem
    • ssh2_publickey_list — List currently authorized publickeys
    • ssh2_publickey_remove — Remove an authorized publickey
    • ssh2_scp_recv — Request a file via SCP
    • ssh2_scp_send — Send a file via SCP
    • ssh2_sftp_chmod — Changes file mode
    • ssh2_sftp_lstat — Stat a symbolic link
    • ssh2_sftp_mkdir — Create a directory
    • ssh2_sftp_readlink — Return the target of a symbolic link
    • ssh2_sftp_realpath — Resolve the realpath of a provided path string
    • ssh2_sftp_rename — Rename a remote file
    • ssh2_sftp_rmdir — Remove a directory
    • ssh2_sftp_stat — Stat a file on a remote filesystem
    • ssh2_sftp_symlink — Create a symlink
    • ssh2_sftp_unlink — Delete a file
    • ssh2_sftp — Initialize SFTP subsystem
    • ssh2_shell — Request an interactive shell
    • ssh2_tunnel — Open a tunnel through a remote server
socket_write
Einführung
Sonstige Dienste


Einführung

Bindungen zur » libssh2 Bibliothek, die, unter Verwendung eines sicheren kryptografischen Transports, Zugriff auf Ressourcen (Shell, Remote-Ausführung, Tunneling, Dateiübertragung) auf einem entfernten Gerät bereitstellt.

SSH2
Installation/Konfiguration
SSH2


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
SSH2


Anforderungen

The » OpenSSL and » libssh2 libraries are required. Ensure that the development libraries are installed, where a typical package name might be openssl-dev.

Version 1.2 or newer of the libssh2 library is required, although it's possible newer releases of pecl/ssh2 may require newer versions (see the release notes).

The ssh2_auth_agent() function will only be available with libssh >= 1.2.3.

support for stream_set_timeout() to channel streams will only be available with libssh >= 1.2.9.

Libssh2 comes in two flavours: gcrypt or openssl. Some linux distributions build libssh2 with the gcrypt library, some use openssl. Libssh2 has some issues when compiled with gcrypt, please use openssl.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/ssh2.

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

SSH2_FINGERPRINT_MD5 (integer)
Flag to ssh2_fingerprint() requesting hostkey fingerprint as an MD5 hash.
SSH2_FINGERPRINT_SHA1 (integer)
Flag to ssh2_fingerprint() requesting hostkey fingerprint as an SHA1 hash.
SSH2_FINGERPRINT_HEX (integer)
Flag to ssh2_fingerprint() requesting hostkey fingerprint as a string of hexits.
SSH2_FINGERPRINT_RAW (integer)
Flag to ssh2_fingerprint() requesting hostkey fingerprint as a raw string of 8-bit characters.
SSH2_TERM_UNIT_CHARS (integer)
Flag to ssh2_shell() specifying that width and height are provided as character sizes.
SSH2_TERM_UNIT_PIXELS (integer)
Flag to ssh2_shell() specifying that width and height are provided in pixel units.
SSH2_DEFAULT_TERM_WIDTH (integer)
Default terminal width requested by ssh2_shell().
SSH2_DEFAULT_TERM_HEIGHT (integer)
Default terminal height requested by ssh2_shell().
SSH2_DEFAULT_TERM_UNIT (integer)
Default terminal units requested by ssh2_shell().
SSH2_STREAM_STDIO (integer)
Flag to ssh2_fetch_stream() requesting STDIO subchannel.
SSH2_STREAM_STDERR (integer)
Flag to ssh2_fetch_stream() requesting STDERR subchannel.
SSH2_DEFAULT_TERMINAL (string)
Default terminal type (e.g. vt102, ansi, xterm, vanilla) requested by ssh2_shell().
Ressource-Typen
SSH2 Funktionen
SSH2


SSH2 Funktionen

Inhaltsverzeichnis

  • ssh2_auth_agent — Authenticate over SSH using the ssh agent
  • ssh2_auth_hostbased_file — Authenticate using a public hostkey
  • ssh2_auth_none — Authenticate as "none"
  • ssh2_auth_password — Authenticate over SSH using a plain password
  • ssh2_auth_pubkey_file — Authenticate using a public key
  • ssh2_connect — Connect to an SSH server
  • ssh2_exec — Execute a command on a remote server
  • ssh2_fetch_stream — Fetch an extended data stream
  • ssh2_fingerprint — Retrieve fingerprint of remote server
  • ssh2_methods_negotiated — Return list of negotiated methods
  • ssh2_publickey_add — Add an authorized publickey
  • ssh2_publickey_init — Initialize Publickey subsystem
  • ssh2_publickey_list — List currently authorized publickeys
  • ssh2_publickey_remove — Remove an authorized publickey
  • ssh2_scp_recv — Request a file via SCP
  • ssh2_scp_send — Send a file via SCP
  • ssh2_sftp_chmod — Changes file mode
  • ssh2_sftp_lstat — Stat a symbolic link
  • ssh2_sftp_mkdir — Create a directory
  • ssh2_sftp_readlink — Return the target of a symbolic link
  • ssh2_sftp_realpath — Resolve the realpath of a provided path string
  • ssh2_sftp_rename — Rename a remote file
  • ssh2_sftp_rmdir — Remove a directory
  • ssh2_sftp_stat — Stat a file on a remote filesystem
  • ssh2_sftp_symlink — Create a symlink
  • ssh2_sftp_unlink — Delete a file
  • ssh2_sftp — Initialize SFTP subsystem
  • ssh2_shell — Request an interactive shell
  • ssh2_tunnel — Open a tunnel through a remote server
Vordefinierte Konstanten
ssh2_auth_agent
SSH2


Authenticate over SSH using the ssh agent

SSH2 Funktionen
ssh2_auth_hostbased_file
SSH2 Funktionen
PHP Manual

ssh2_auth_agent

(PECL ssh2 >= 0.12)

ssh2_auth_agent — Authenticate over SSH using the ssh agent

Beschreibung

bool ssh2_auth_agent ( resource $session , string $username )

Authenticate over SSH using the ssh agent

Hinweis: The ssh2_auth_agent() function will only be available when the ssh2 extension is compiled with libssh >= 1.2.3.

Parameter-Liste

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

username

Remote user name.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Authenticating with a ssh agent

<?php
$connection = ssh2_connect('shell.example.com', 22);

if (ssh2_auth_agent($connection, 'username')) {
  echo "Authentication Successful!\n";
} else {
  die('Authentication Failed...');
}
?>

SSH2 Funktionen
ssh2_auth_hostbased_file
SSH2 Funktionen


Authenticate using a public hostkey

ssh2_auth_agent
ssh2_auth_none
SSH2 Funktionen
PHP Manual

ssh2_auth_hostbased_file

(PECL ssh2 >= 0.9.0)

ssh2_auth_hostbased_file — Authenticate using a public hostkey

Beschreibung

bool ssh2_auth_hostbased_file ( resource $session , string $username , string $hostname , string $pubkeyfile , string $privkeyfile [, string $passphrase [, string $local_username ]] )

Authenticate using a public hostkey read from a file.

Parameter-Liste

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

username

hostname

pubkeyfile

privkeyfile

passphrase

If privkeyfile is encrypted (which it should be), the passphrase must be provided.

local_username

If local_username is omitted, then the value for username will be used for it.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Authentication using a public hostkey

<?php
$connection = ssh2_connect('shell.example.com', 22, array('hostkey'=>'ssh-rsa'));

if (ssh2_auth_hostbased_file($connection, 'remoteusername', 'myhost.example.com',
                             '/usr/local/etc/hostkey_rsa.pub',
                             '/usr/local/etc/hostkey_rsa', 'secret',
                             'localusername')) {
  echo "Public Key Hostbased Authentication Successful\n";
} else {
  die('Public Key Hostbased Authentication Failed');
}
?>

Anmerkungen

Hinweis:

ssh2_auth_hostbased_file() requires libssh2 >= 0.7 and PHP/SSH2 >= 0.7

ssh2_auth_agent
ssh2_auth_none
SSH2 Funktionen


Authenticate as "none"

ssh2_auth_hostbased_file
ssh2_auth_password
SSH2 Funktionen
PHP Manual

ssh2_auth_none

(PECL ssh2 >= 0.9.0)

ssh2_auth_none — Authenticate as "none"

Beschreibung

mixed ssh2_auth_none ( resource $session , string $username )

Attempt "none" authentication which usually will (and should) fail. As part of the failure, this function will return an array of accepted authentication methods.

Parameter-Liste

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

username

Remote user name.

Rückgabewerte

Returns TRUE if the server does accept "none" as an authentication method, or an array of accepted authentication methods on failure.

Beispiele

Beispiel #1 Retrieving a list of authentication methods

<?php
$connection = ssh2_connect('shell.example.com', 22);

$auth_methods = ssh2_auth_none($connection, 'user');

if (in_array('password', $auth_methods)) {
  echo "Server supports password based authentication\n";
}
?>

ssh2_auth_hostbased_file
ssh2_auth_password
SSH2 Funktionen


Authenticate over SSH using a plain password

ssh2_auth_none
ssh2_auth_pubkey_file
SSH2 Funktionen
PHP Manual

ssh2_auth_password

(PECL ssh2 >= 0.9.0)

ssh2_auth_password — Authenticate over SSH using a plain password

Beschreibung

bool ssh2_auth_password ( resource $session , string $username , string $password )

Authenticate over SSH using a plain password. Since version 0.12 this function also supports keyboard_interactive method.

Parameter-Liste

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

username

Remote user name.

password

Password for username

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Authenticating with a password

<?php
$connection = ssh2_connect('shell.example.com', 22);

if (ssh2_auth_password($connection, 'username', 'secret')) {
  echo "Authentication Successful!\n";
} else {
  die('Authentication Failed...');
}
?>

ssh2_auth_none
ssh2_auth_pubkey_file
SSH2 Funktionen


Authenticate using a public key

ssh2_auth_password
ssh2_connect
SSH2 Funktionen
PHP Manual

ssh2_auth_pubkey_file

(PECL ssh2 >= 0.9.0)

ssh2_auth_pubkey_file — Authenticate using a public key

Beschreibung

bool ssh2_auth_pubkey_file ( resource $session , string $username , string $pubkeyfile , string $privkeyfile [, string $passphrase ] )

Authenticate using a public key read from a file.

Parameter-Liste

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

username

pubkeyfile

The public key file needs to be in OpenSSH's format. It should look something like:

ssh-rsa AAAAB3NzaC1yc2EAAA....NX6sqSnHA8= rsa-key-20121110

privkeyfile

passphrase

If privkeyfile is encrypted (which it should be), the passphrase must be provided.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Authentication using a public key

<?php
$connection = ssh2_connect('shell.example.com', 22, array('hostkey'=>'ssh-rsa'));

if (ssh2_auth_pubkey_file($connection, 'username',
                          '/home/username/.ssh/id_rsa.pub',
                          '/home/username/.ssh/id_rsa', 'secret')) {
  echo "Public Key Authentication Successful\n";
} else {
  die('Public Key Authentication Failed');
}
?>

Anmerkungen

Hinweis:

The underlying libssh library doesn't support partial auths very cleanly That is, if you need to supply both a public key and a password it will appear as if this function has failed. In this particular case a failure from this call may just mean that auth hasn't been completed yet. You would need to ignore this failure and continue on and call ssh2_auth_password() in order to complete authentication.

ssh2_auth_password
ssh2_connect
SSH2 Funktionen


Connect to an SSH server

ssh2_auth_pubkey_file
ssh2_exec
SSH2 Funktionen
PHP Manual

ssh2_connect

(PECL ssh2 >= 0.9.0)

ssh2_connect — Connect to an SSH server

Beschreibung

resource ssh2_connect ( string $host [, int $port = 22 [, array $methods [, array $callbacks ]]] )

Establish a connection to a remote SSH server.

Once connected, the client should verify the server's hostkey using ssh2_fingerprint(), then authenticate using either password or public key.

Parameter-Liste

host

port

methods

methods may be an associative array with up to four parameters as described below.

methods may be an associative array with any or all of the following parameters.
Index | Meaning | Supported Values*
kex | List of key exchange methods to advertise, comma separated in order of preference. | diffie-hellman-group1-sha1, diffie-hellman-group14-sha1, and diffie-hellman-group-exchange-sha1
hostkey | List of hostkey methods to advertise, comma separated in order of preference. | ssh-rsa and ssh-dss
client_to_server | Associative array containing crypt, compression, and message authentication code (MAC) method preferences for messages sent from client to server.
server_to_client | Associative array containing crypt, compression, and message authentication code (MAC) method preferences for messages sent from server to client.

* - Supported Values are dependent on methods supported by underlying library. See » libssh2 documentation for additional information.

client_to_server and server_to_client may be an associative array with any or all of the following parameters.
Index | Meaning | Supported Values*
crypt | List of crypto methods to advertise, comma separated in order of preference. | rijndael-cbc@lysator.liu.se, aes256-cbc, aes192-cbc, aes128-cbc, 3des-cbc, blowfish-cbc, cast128-cbc, arcfour, and none**
comp | List of compression methods to advertise, comma separated in order of preference. | zlib and none
mac | List of MAC methods to advertise, comma separated in order of preference. | hmac-sha1, hmac-sha1-96, hmac-ripemd160, hmac-ripemd160@openssh.com, and none**

Hinweis: Crypt and MAC method "none"

For security reasons, none is disabled by the underlying » libssh2 library unless explicitly enabled during build time by using the appropriate ./configure options. See documentation for the underlying library for more information.

callbacks

callbacks may be an associative array with any or all of the following parameters.

Callbacks parameters
Index | Meaning | Prototype
ignore | Name of function to call when an SSH2_MSG_IGNORE packet is received | void ignore_cb($message)
debug | Name of function to call when an SSH2_MSG_DEBUG packet is received | void debug_cb($message, $language, $always_display)
macerror | Name of function to call when a packet is received but the message authentication code failed. If the callback returns TRUE, the mismatch will be ignored, otherwise the connection will be terminated. | bool macerror_cb($packet)
disconnect | Name of function to call when an SSH2_MSG_DISCONNECT packet is received | void disconnect_cb($reason, $message, $language)

Rückgabewerte

Returns a resource on success, or FALSE on error.

Beispiele

Beispiel #1 ssh2_connect() example

Open a connection forcing 3des-cbc when sending packets, any strength aes cipher when receiving packets, no compression in either direction, and Group1 key exchange.

<?php
/* Notify the user if the server terminates the connection */
function my_ssh_disconnect($reason, $message, $language) {
  printf("Server disconnected with reason code [%d] and message: %s\n",
         $reason, $message);
}

$methods = array(
  'kex' => 'diffie-hellman-group1-sha1',
  'client_to_server' => array(
    'crypt' => '3des-cbc',
    'comp' => 'none'),
  'server_to_client' => array(
    'crypt' => 'aes256-cbc,aes192-cbc,aes128-cbc',
    'comp' => 'none'));

$callbacks = array('disconnect' => 'my_ssh_disconnect');

$connection = ssh2_connect('shell.example.com', 22, $methods, $callbacks);
if (!$connection) die('Connection failed');
?>

Siehe auch

  • ssh2_fingerprint() - Retrieve fingerprint of remote server
  • ssh2_auth_none() - Authenticate as "none"
  • ssh2_auth_password() - Authenticate over SSH using a plain password
  • ssh2_auth_pubkey_file() - Authenticate using a public key

ssh2_auth_pubkey_file
ssh2_exec
SSH2 Funktionen


Execute a command on a remote server

ssh2_connect
ssh2_fetch_stream
SSH2 Funktionen
PHP Manual

ssh2_exec

(PECL ssh2 >= 0.9.0)

ssh2_exec — Execute a command on a remote server

Beschreibung

resource ssh2_exec ( resource $session , string $command [, string $pty [, array $env [, int $width = 80 [, int $height = 25 [, int $width_height_type = SSH2_TERM_UNIT_CHARS ]]]]] )

Execute a command at the remote end and allocate a channel for it.

Parameter-Liste

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

command

pty

env

env may be passed as an associative array of name/value pairs to set in the target environment.

width

Width of the virtual terminal.

height

Height of the virtual terminal.

width_height_type

width_height_type should be one of SSH2_TERM_UNIT_CHARS or SSH2_TERM_UNIT_PIXELS.

Rückgabewerte

Returns a stream on successIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 Executing a command

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$stream = ssh2_exec($connection, '/usr/local/bin/php -i');
?>

Siehe auch

  • ssh2_connect() - Connect to an SSH server
  • ssh2_shell() - Request an interactive shell
  • ssh2_tunnel() - Open a tunnel through a remote server

ssh2_connect
ssh2_fetch_stream
SSH2 Funktionen


Fetch an extended data stream

ssh2_exec
ssh2_fingerprint
SSH2 Funktionen
PHP Manual

ssh2_fetch_stream

(PECL ssh2 >= 0.9.0)

ssh2_fetch_stream — Fetch an extended data stream

Beschreibung

resource ssh2_fetch_stream ( resource $channel , int $streamid )

Fetches an alternate substream associated with an SSH2 channel stream. The SSH2 protocol currently defines only one substream, STDERR, which has a substream ID of SSH2_STREAM_STDERR (defined as 1).

Parameter-Liste

channel

streamid

An SSH2 channel stream.

Rückgabewerte

Returns the requested stream resource.

Beispiele

Beispiel #1 Opening a shell and retrieving the stderr stream associated with it

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$stdio_stream = ssh2_shell($connection);
$stderr_stream = ssh2_fetch_stream($stdio_stream, SSH2_STREAM_STDERR);
?>

Siehe auch

  • ssh2_shell() - Request an interactive shell
  • ssh2_exec() - Execute a command on a remote server
  • ssh2_connect() - Connect to an SSH server

ssh2_exec
ssh2_fingerprint
SSH2 Funktionen


Retrieve fingerprint of remote server

ssh2_fetch_stream
ssh2_methods_negotiated
SSH2 Funktionen
PHP Manual

ssh2_fingerprint

(PECL ssh2 >= 0.9.0)

ssh2_fingerprint — Retrieve fingerprint of remote server

Beschreibung

string ssh2_fingerprint ( resource $session [, int $flags = SSH2_FINGERPRINT_MD5 | SSH2_FINGERPRINT_HEX ] )

Returns a server hostkey hash from an active session.

Parameter-Liste

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

flags

flags may be either of SSH2_FINGERPRINT_MD5 or SSH2_FINGERPRINT_SHA1 logically ORed with SSH2_FINGERPRINT_HEX or SSH2_FINGERPRINT_RAW.

Rückgabewerte

Returns the hostkey hash as a string.

Beispiele

Beispiel #1 Checking the fingerprint against a known value

<?php
$known_host = '6F89C2F0A719B30CC38ABDF90755F2E4';

$connection = ssh2_connect('shell.example.com', 22);

$fingerprint = ssh2_fingerprint($connection,
               SSH2_FINGERPRINT_MD5 | SSH2_FINGERPRINT_HEX);

if ($fingerprint != $known_host) {
  die("HOSTKEY MISMATCH!\n" .
      "Possible Man-In-The-Middle Attack?");
}
?>

ssh2_fetch_stream
ssh2_methods_negotiated
SSH2 Funktionen


Return list of negotiated methods

ssh2_fingerprint
ssh2_publickey_add
SSH2 Funktionen
PHP Manual

ssh2_methods_negotiated

(PECL ssh2 >= 0.9.0)

ssh2_methods_negotiated — Return list of negotiated methods

Beschreibung

array ssh2_methods_negotiated ( resource $session )

Returns list of negotiated methods.

Parameter-Liste

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

Rückgabewerte

Beispiele

Beispiel #1 Determining what methods were negotiated

<?php
$connection = ssh2_connect('shell.example.com', 22);
$methods = ssh2_methods_negotiated($connection);

echo "Encryption keys were negotiated using: {$methods['kex']}\n";
echo "Server identified using an {$methods['hostkey']} with ";
echo "fingerprint: " . ssh2_fingerprint($connection) . "\n";

echo "Client to Server packets will use methods:\n";
echo "\tCrypt: {$methods['client_to_server']['crypt']}\n";
echo "\tComp: {$methods['client_to_server']['comp']}\n";
echo "\tMAC: {$methods['client_to_server']['mac']}\n";

echo "Server to Client packets will use methods:\n";
echo "\tCrypt: {$methods['server_to_client']['crypt']}\n";
echo "\tComp: {$methods['server_to_client']['comp']}\n";
echo "\tMAC: {$methods['server_to_client']['mac']}\n";

?>

Siehe auch

  • ssh2_connect() - Connect to an SSH server

ssh2_fingerprint
ssh2_publickey_add
SSH2 Funktionen


Add an authorized publickey

ssh2_methods_negotiated
ssh2_publickey_init
SSH2 Funktionen
PHP Manual

ssh2_publickey_add

(PECL ssh2 >= 0.10)

ssh2_publickey_add — Add an authorized publickey

Beschreibung

bool ssh2_publickey_add ( resource $pkey , string $algoname , string $blob [, bool $overwrite = false [, array $attributes ]] )

Hinweis: Das Publickey-Subsystem wird benötigt, um öffentliche Schlüssel auf einem Server zu verwalten, für welche der Client bereits authentifiziert ist. Sie können sich gegenüber einem anderen System mit Publickey-Authentifizierung authentifizieren, indem Sie die ssh2_auth_pubkey_file() nutzen.

Parameter-Liste

pkey

Publickey Subsystem resource created by ssh2_publickey_init().

algoname

Publickey algorithm (e.g.): ssh-dss, ssh-rsa

blob

Publickey blob as raw binary data

overwrite

If the specified key already exists, should it be overwritten?

attributes

Associative array of attributes to assign to this public key. Refer to ietf-secsh-publickey-subsystem for a list of supported attributes. To mark an attribute as mandatory, precede its name with an asterisk. If the server is unable to support an attribute marked mandatory, it will abort the add process.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Adding a publickey with ssh2_publickey_add()

<?php
$ssh2 = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($ssh2, 'jdoe', 'password');
$pkey = ssh2_publickey_init($ssh2);

$keyblob = base64_decode('
AAAAB3NzaC1yc2EAAAABIwAAAIEA5HVt6VqSGd5PTrLRdjNONxXH1tVFGn0
Bd26BF0aCP9qyJRlvdJ3j4WBeX4ZmrveGrjMgkseSYc4xZ26sDHwfL351xj
zaLpipu\BGRrw17mWVBhuCExo476ri5tQFzbTc54VEHYckxQ16CjSTibI5X
69GmnYC9PNqEYq/1TP+HF10=');

ssh2_publickey_add($pkey, 'ssh-rsa', $keyblob, false, array('comment'=>"John's Key"));
?>

Siehe auch

  • ssh2_publickey_init() - Initialize Publickey subsystem
  • ssh2_publickey_remove() - Remove an authorized publickey
  • ssh2_publickey_list() - List currently authorized publickeys

ssh2_methods_negotiated
ssh2_publickey_init
SSH2 Funktionen


Initialize Publickey subsystem

ssh2_publickey_add
ssh2_publickey_list
SSH2 Funktionen
PHP Manual

ssh2_publickey_init

(PECL ssh2 >= 0.10)

ssh2_publickey_init — Initialize Publickey subsystem

Beschreibung

resource ssh2_publickey_init ( resource $session )

Request the Publickey subsystem from an already connected SSH2 server.

The publickey subsystem allows an already connected and authenticated client to manage the list of authorized public keys stored on the target server in an implementation agnostic manner. If the remote server does not support the publickey subsystem, the ssh2_publickey_init() function will return FALSE.

Parameter-Liste

session

Rückgabewerte

Returns an SSH2 Publickey Subsystem resource for use with all other ssh2_publickey_*() methodsIm Fehlerfall wird FALSE zurückgegeben..

Anmerkungen

Hinweis: Das Publickey-Subsystem wird benötigt, um öffentliche Schlüssel auf einem Server zu verwalten, für welche der Client bereits authentifiziert ist. Sie können sich gegenüber einem anderen System mit Publickey-Authentifizierung authentifizieren, indem Sie die ssh2_auth_pubkey_file() nutzen.

Siehe auch

  • ssh2_publickey_add() - Add an authorized publickey
  • ssh2_publickey_remove() - Remove an authorized publickey
  • ssh2_publickey_list() - List currently authorized publickeys

ssh2_publickey_add
ssh2_publickey_list
SSH2 Funktionen


List currently authorized publickeys

ssh2_publickey_init
ssh2_publickey_remove
SSH2 Funktionen
PHP Manual

ssh2_publickey_list

(PECL ssh2 >= 0.10)

ssh2_publickey_list — List currently authorized publickeys

Beschreibung

array ssh2_publickey_list ( resource $pkey )

List currently authorized publickeys.

Parameter-Liste

pkey

Publickey Subsystem resource

Rückgabewerte

Returns a numerically indexed array of keys, each of which is an associative array containing: name, blob, and attrs elements.

Publickey elements
Array Key | Meaning
name | Name of algorithm used by this publickey, for example: ssh-dss or ssh-rsa.
blob | Publickey blob as raw binary data.
attrs | Attributes assigned to this publickey. The most common attribute, and the only one supported by publickey version 1 servers, is comment, which may be any freeform string.

Beispiele

Beispiel #1 Listing authorized keys with ssh2_publickey_list()

<?php
$ssh2 = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($ssh2, 'jdoe', 'secret');
$pkey = ssh2_publickey_init($ssh2);

$list = ssh2_publickey_list($pkey);

foreach($list as $key) {
  echo "Key: {$key['name']}\n";
  echo "Blob: " . chunk_split(base64_encode($key['blob']), 40, "\n") . "\n";
  echo "Comment: {$key['attrs']['comment']}\n\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Key: ssh-rsa
Blob: AAAAB3NzaC1yc2EAAAABIwAAAIEA5HVt6VqSGd5P
TrLRdjNONxXH1tVFGn0Bd26BF0aCP9qyJRlvdJ3j
4WBeX4ZmrveGrjMgkseSYc4xZ26sDHwfL351xjza
Lpipu\BGRrw17mWVBhuCExo476ri5tQFzbTc54VE
HYckxQ16CjSTibI5X69GmnYC9PNqEYq/1TP+HF10
Comment: John's Key

Key: ssh-rsa
Blob: AAAAB3NzaHVt6VqSGd5C1yc2EAAAABIwA232dnJA
AIEA5HVt6VqSGd5PTrLRdjNONxX/1TP+HF1HVt6V
qSGd50H1tVFGn0BB3NzaC1yc2EAd26BF0aCP9qyJ
RlvdJ3j4WBeX4ZmrveGrjMgkseSYc4xZ26HVt6Vq
SGd5sDHwfL351xjzaLpipu\BGB3NzaC1yc2EA/1T
Comment: Alice's Key

Anmerkungen

Hinweis: Das Publickey-Subsystem wird benötigt, um öffentliche Schlüssel auf einem Server zu verwalten, für welche der Client bereits authentifiziert ist. Sie können sich gegenüber einem anderen System mit Publickey-Authentifizierung authentifizieren, indem Sie die ssh2_auth_pubkey_file() nutzen.

Siehe auch

  • ssh2_publickey_init() - Initialize Publickey subsystem
  • ssh2_publickey_add() - Add an authorized publickey
  • ssh2_publickey_remove() - Remove an authorized publickey

ssh2_publickey_init
ssh2_publickey_remove
SSH2 Funktionen


Remove an authorized publickey

ssh2_publickey_list
ssh2_scp_recv
SSH2 Funktionen
PHP Manual

ssh2_publickey_remove

(PECL ssh2 >= 0.10)

ssh2_publickey_remove — Remove an authorized publickey

Beschreibung

bool ssh2_publickey_remove ( resource $pkey , string $algoname , string $blob )

Removes an authorized publickey.

Parameter-Liste

pkey

Publickey Subsystem Resource

algoname

Publickey algorithm (e.g.): ssh-dss, ssh-rsa

blob

Publickey blob as raw binary data

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Hinweis: Das Publickey-Subsystem wird benötigt, um öffentliche Schlüssel auf einem Server zu verwalten, für welche der Client bereits authentifiziert ist. Sie können sich gegenüber einem anderen System mit Publickey-Authentifizierung authentifizieren, indem Sie die ssh2_auth_pubkey_file() nutzen.

Siehe auch

  • ssh2_publickey_init() - Initialize Publickey subsystem
  • ssh2_publickey_add() - Add an authorized publickey
  • ssh2_publickey_list() - List currently authorized publickeys

ssh2_publickey_list
ssh2_scp_recv
SSH2 Funktionen


Request a file via SCP

ssh2_publickey_remove
ssh2_scp_send
SSH2 Funktionen
PHP Manual

ssh2_scp_recv

(PECL ssh2 >= 0.9.0)

ssh2_scp_recv — Request a file via SCP

Beschreibung

bool ssh2_scp_recv ( resource $session , string $remote_file , string $local_file )

Copy a file from the remote server to the local filesystem using the SCP protocol.

Parameter-Liste

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

remote_file

Path to the remote file.

local_file

Path to the local file.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Downloading a file via SCP

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

ssh2_scp_recv($connection, '/remote/filename', '/local/filename');
?>

Siehe auch

  • ssh2_scp_send() - Send a file via SCP
  • copy() - Kopiert eine Datei

ssh2_publickey_remove
ssh2_scp_send
SSH2 Funktionen


Send a file via SCP

ssh2_scp_recv
ssh2_sftp_chmod
SSH2 Funktionen
PHP Manual

ssh2_scp_send

(PECL ssh2 >= 0.9.0)

ssh2_scp_send — Send a file via SCP

Beschreibung

bool ssh2_scp_send ( resource $session , string $local_file , string $remote_file [, int $create_mode = 0644 ] )

Copy a file from the local filesystem to the remote server using the SCP protocol.

Parameter-Liste

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

local_file

Path to the local file.

remote_file

Path to the remote file.

create_mode

The file will be created with the mode specified by create_mode.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Uploading a file via SCP

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

ssh2_scp_send($connection, '/local/filename', '/remote/filename', 0644);
?>

Siehe auch

  • ssh2_scp_recv() - Request a file via SCP
  • copy() - Kopiert eine Datei

ssh2_scp_recv
ssh2_sftp_chmod
SSH2 Funktionen


Changes file mode

ssh2_scp_send
ssh2_sftp_lstat
SSH2 Funktionen
PHP Manual

ssh2_sftp_chmod

(PECL ssh2 >= 0.12)

ssh2_sftp_chmod — Changes file mode

Beschreibung

bool ssh2_sftp_chmod ( resource $sftp , string $filename , int $mode )

Attempts to change the mode of the specified file to that given in mode.

Parameter-Liste

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

filename

Path to the file.

mode

Permissions on the file. See the chmod() for more details on this parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Changing the mode of a file on a remote server

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_chmod($sftp, '/somedir/somefile', 0755);
?>

Siehe auch

  • chmod() - Ändert die Zugriffsrechte einer Datei
  • ssh2_sftp() - Initialize SFTP subsystem
  • ssh2_connect() - Connect to an SSH server

ssh2_scp_send
ssh2_sftp_lstat
SSH2 Funktionen


Stat a symbolic link

ssh2_sftp_chmod
ssh2_sftp_mkdir
SSH2 Funktionen
PHP Manual

ssh2_sftp_lstat

(PECL ssh2 >= 0.9.0)

ssh2_sftp_lstat — Stat a symbolic link

Beschreibung

array ssh2_sftp_lstat ( resource $sftp , string $path )

Stats a symbolic link on the remote filesystem without following the link.

This function is similar to using the lstat() function with the ssh2.sftp:// wrapper in PHP 5 and returns the same values.

Parameter-Liste

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

path

Path to the remote symbolic link.

Rückgabewerte

See the documentation for stat() for details on the values which may be returned.

Beispiele

Beispiel #1 Stating a symbolic link via SFTP

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$sftp = ssh2_sftp($connection);
$statinfo = ssh2_sftp_lstat($sftp, '/path/to/symlink');

$filesize = $statinfo['size'];
$group = $statinfo['gid'];
$owner = $statinfo['uid'];
$atime = $statinfo['atime'];
$mtime = $statinfo['mtime'];
$mode = $statinfo['mode'];
?>

Siehe auch

  • ssh2_sftp_stat() - Stat a file on a remote filesystem
  • lstat() - Sammelt Informationen über eine Datei oder einen symbolischen Link
  • stat() - Sammelt Informationen über eine Datei

ssh2_sftp_chmod
ssh2_sftp_mkdir
SSH2 Funktionen


Create a directory

ssh2_sftp_lstat
ssh2_sftp_readlink
SSH2 Funktionen
PHP Manual

ssh2_sftp_mkdir

(PECL ssh2 >= 0.9.0)

ssh2_sftp_mkdir — Create a directory

Beschreibung

bool ssh2_sftp_mkdir ( resource $sftp , string $dirname [, int $mode = 0777 [, bool $recursive = false ]] )

Creates a directory on the remote file server with permissions set to mode.

This function is similar to using mkdir() with the ssh2.sftp:// wrapper.

Parameter-Liste

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

dirname

Path of the new directory.

mode

Permissions on the new directory.

recursive

If recursive is TRUE any parent directories required for dirname will be automatically created as well.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Creating a directory on a remote server

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_mkdir($sftp, '/home/username/newdir');
/* Or:  mkdir("ssh2.sftp://$sftp/home/username/newdir"); */
?>

Siehe auch

  • mkdir() - Erstellt ein Verzeichnis
  • ssh2_sftp_rmdir() - Remove a directory

ssh2_sftp_lstat
ssh2_sftp_readlink
SSH2 Funktionen


Return the target of a symbolic link

ssh2_sftp_mkdir
ssh2_sftp_realpath
SSH2 Funktionen
PHP Manual

ssh2_sftp_readlink

(PECL ssh2 >= 0.9.0)

ssh2_sftp_readlink — Return the target of a symbolic link

Beschreibung

string ssh2_sftp_readlink ( resource $sftp , string $link )

Returns the target of a symbolic link.

Parameter-Liste

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

link

Path of the symbolic link.

Rückgabewerte

Returns the target of the symbolic link.

Beispiele

Beispiel #1 Reading a symbolic link

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

$target = ssh2_sftp_readlink($sftp, '/tmp/mysql.sock');
/* $target is now (e.g.): '/var/run/mysql.sock' */
?>

Siehe auch

  • readlink() - Liefert das Ziel eines symbolischen Links
  • ssh2_sftp_symlink() - Create a symlink

ssh2_sftp_mkdir
ssh2_sftp_realpath
SSH2 Funktionen


Resolve the realpath of a provided path string

ssh2_sftp_readlink
ssh2_sftp_rename
SSH2 Funktionen
PHP Manual

ssh2_sftp_realpath

(PECL ssh2 >= 0.9.0)

ssh2_sftp_realpath — Resolve the realpath of a provided path string

Beschreibung

string ssh2_sftp_realpath ( resource $sftp , string $filename )

Translates filename into the effective real path on the remote filesystem.

Parameter-Liste

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

filename

Rückgabewerte

Returns the real path as a string.

Beispiele

Beispiel #1 Resolving a pathname

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

$realpath = ssh2_sftp_realpath($sftp, '/home/username/../../../..//./usr/../etc/passwd');
/* $realpath is now: '/etc/passwd' */
?>

Siehe auch

  • realpath() - Löst einen Pfad in einen absoluten und eindeutigen auf
  • ssh2_sftp_symlink() - Create a symlink
  • ssh2_sftp_readlink() - Return the target of a symbolic link

ssh2_sftp_readlink
ssh2_sftp_rename
SSH2 Funktionen


Rename a remote file

ssh2_sftp_realpath
ssh2_sftp_rmdir
SSH2 Funktionen
PHP Manual

ssh2_sftp_rename

(PECL ssh2 >= 0.9.0)

ssh2_sftp_rename — Rename a remote file

Beschreibung

bool ssh2_sftp_rename ( resource $sftp , string $from , string $to )

Renames a file on the remote filesystem.

Parameter-Liste

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

from

The current file that is being renamed.

to

The new file name that replaces from.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Renaming a file via sftp

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_rename($sftp, '/home/username/oldname', '/home/username/newname');
?>

Siehe auch

  • rename() - Benennt eine Datei oder ein Verzeichnis um

ssh2_sftp_realpath
ssh2_sftp_rmdir
SSH2 Funktionen


Remove a directory

ssh2_sftp_rename
ssh2_sftp_stat
SSH2 Funktionen
PHP Manual

ssh2_sftp_rmdir

(PECL ssh2 >= 0.9.0)

ssh2_sftp_rmdir — Remove a directory

Beschreibung

bool ssh2_sftp_rmdir ( resource $sftp , string $dirname )

Removes a directory from the remote file server.

This function is similar to using rmdir() with the ssh2.sftp:// wrapper.

Parameter-Liste

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

dirname

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Removing a directory on a remote server

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_rmdir($sftp, '/home/username/deltodel');
/* Or:  rmdir("ssh2.sftp://$sftp/home/username/dirtodel"); */
?>

Siehe auch

  • rmdir() - Löscht ein Verzeichnis
  • ssh2_sftp_mkdir() - Create a directory

ssh2_sftp_rename
ssh2_sftp_stat
SSH2 Funktionen


Stat a file on a remote filesystem

ssh2_sftp_rmdir
ssh2_sftp_symlink
SSH2 Funktionen
PHP Manual

ssh2_sftp_stat

(PECL ssh2 >= 0.9.0)

ssh2_sftp_stat — Stat a file on a remote filesystem

Beschreibung

array ssh2_sftp_stat ( resource $sftp , string $path )

Stats a file on the remote filesystem following any symbolic links.

This function is similar to using the stat() function with the ssh2.sftp:// wrapper in PHP 5 and returns the same values.

Parameter-Liste

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

path

Rückgabewerte

See the documentation for stat() for details on the values which may be returned.

Beispiele

Beispiel #1 Stating a file via SFTP

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$sftp = ssh2_sftp($connection);
$statinfo = ssh2_sftp_stat($sftp, '/path/to/file');

$filesize = $statinfo['size'];
$group = $statinfo['gid'];
$owner = $statinfo['uid'];
$atime = $statinfo['atime'];
$mtime = $statinfo['mtime'];
$mode = $statinfo['mode'];
?>

Siehe auch

  • ssh2_sftp_lstat() - Stat a symbolic link
  • lstat() - Sammelt Informationen über eine Datei oder einen symbolischen Link
  • stat() - Sammelt Informationen über eine Datei

ssh2_sftp_rmdir
ssh2_sftp_symlink
SSH2 Funktionen


Create a symlink

ssh2_sftp_stat
ssh2_sftp_unlink
SSH2 Funktionen
PHP Manual

ssh2_sftp_symlink

(PECL ssh2 >= 0.9.0)

ssh2_sftp_symlink — Create a symlink

Beschreibung

bool ssh2_sftp_symlink ( resource $sftp , string $target , string $link )

Creates a symbolic link named link on the remote filesystem pointing to target.

Parameter-Liste

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

target

Target of the symbolic link.

link

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Creating a symbolic link

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_symlink($sftp, '/var/run/mysql.sock', '/tmp/mysql.sock');
?>

Siehe auch

  • ssh2_sftp_readlink() - Return the target of a symbolic link
  • symlink() - Erzeugt einen symbolischen Link

ssh2_sftp_stat
ssh2_sftp_unlink
SSH2 Funktionen


Delete a file

ssh2_sftp_symlink
ssh2_sftp
SSH2 Funktionen
PHP Manual

ssh2_sftp_unlink

(PECL ssh2 >= 0.9.0)

ssh2_sftp_unlink — Delete a file

Beschreibung

bool ssh2_sftp_unlink ( resource $sftp , string $filename )

Deletes a file on the remote filesystem.

Parameter-Liste

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

filename

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Deleting a file

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_unlink($sftp, '/home/username/stale_file');
?>

Siehe auch

  • unlink() - Löscht eine Datei

ssh2_sftp_symlink
ssh2_sftp
SSH2 Funktionen


Initialize SFTP subsystem

ssh2_sftp_unlink
ssh2_shell
SSH2 Funktionen
PHP Manual

ssh2_sftp

(PECL ssh2 >= 0.9.0)

ssh2_sftp — Initialize SFTP subsystem

Beschreibung

resource ssh2_sftp ( resource $session )

Request the SFTP subsystem from an already connected SSH2 server.

Parameter-Liste

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

Rückgabewerte

This method returns an SSH2 SFTP resource for use with all other ssh2_sftp_*() methods and the ssh2.sftp:// fopen wrapper.

Beispiele

Beispiel #1 Opening a file via SFTP

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$sftp = ssh2_sftp($connection);

$stream = fopen("ssh2.sftp://$sftp/path/to/file", 'r');
?>

Siehe auch

  • ssh2_scp_recv() - Request a file via SCP
  • ssh2_scp_send() - Send a file via SCP

ssh2_sftp_unlink
ssh2_shell
SSH2 Funktionen


Request an interactive shell

ssh2_sftp
ssh2_tunnel
SSH2 Funktionen
PHP Manual

ssh2_shell

(PECL ssh2 >= 0.9.0)

ssh2_shell — Request an interactive shell

Beschreibung

resource ssh2_shell ( resource $session [, string $term_type = "vanilla" [, array $env [, int $width = 80 [, int $height = 25 [, int $width_height_type = SSH2_TERM_UNIT_CHARS ]]]]] )

Open a shell at the remote end and allocate a stream for it.

Parameter-Liste

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

term_type

term_type should correspond to one of the entries in the target system's /etc/termcap file.

env

env may be passed as an associative array of name/value pairs to set in the target environment.

width

Width of the virtual terminal.

height

Height of the virtual terminal.

width_height_type

width_height_type should be one of SSH2_TERM_UNIT_CHARS or SSH2_TERM_UNIT_PIXELS.

Rückgabewerte

Beispiele

Beispiel #1 Requesting an interactive shell

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$stream = ssh2_shell($connection, 'vt102', null, 80, 24, SSH2_TERM_UNIT_CHARS);
?>

Siehe auch

  • ssh2_exec() - Execute a command on a remote server
  • ssh2_tunnel() - Open a tunnel through a remote server
  • ssh2_fetch_stream() - Fetch an extended data stream

ssh2_sftp
ssh2_tunnel
SSH2 Funktionen


Open a tunnel through a remote server

ssh2_shell
Stomp
SSH2 Funktionen
PHP Manual

ssh2_tunnel

(PECL ssh2 >= 0.9.0)

ssh2_tunnel — Open a tunnel through a remote server

Beschreibung

resource ssh2_tunnel ( resource $session , string $host , int $port )

Open a socket stream to an arbitrary host/port by way of the currently connected SSH server.

Parameter-Liste

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

host

port

Rückgabewerte

Beispiele

Beispiel #1 Opening a tunnel to an arbitrary host

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_pubkey_file($connection, 'username', 'id_dsa.pub', 'id_dsa');

$tunnel = ssh2_tunnel($connection, '10.0.0.101', 12345);
?>

Siehe auch

  • ssh2_connect() - Connect to an SSH server
  • fsockopen() - Stellt eine Internet- oder Unix-Domain-Socket-Verbindung her

ssh2_shell
Stomp
SSH2 Funktionen


Stomp Client

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Beispiele
  • Stomp Funktionen
    • stomp_connect_error — Returns a string description of the last connect error
    • stomp_version — Gets the current stomp extension version
  • Stomp — The Stomp class
    • Stomp::abort — Rolls back a transaction in progress
    • Stomp::ack — Acknowledges consumption of a message
    • Stomp::begin — Starts a transaction
    • Stomp::commit — Commits a transaction in progress
    • Stomp::__construct — Opens a connection
    • Stomp::__destruct — Closes stomp connection
    • Stomp::error — Gets the last stomp error
    • Stomp::getReadTimeout — Gets read timeout
    • Stomp::getSessionId — Gets the current stomp session ID
    • Stomp::hasFrame — Indicates whether or not there is a frame ready to read
    • Stomp::readFrame — Reads the next frame
    • Stomp::send — Sends a message
    • Stomp::setReadTimeout — Sets read timeout
    • Stomp::subscribe — Registers to listen to a given destination
    • Stomp::unsubscribe — Removes an existing subscription
  • StompFrame — The StompFrame class
    • StompFrame::__construct — Constructor
  • StompException — The StompException class
    • StompException::getDetails — Get exception details
ssh2_tunnel
Einführung
Sonstige Dienste


Einführung

This extension allows php applications to communicate with any Stomp compliant Message Brokers through easy object oriented and procedural interfaces. » Stomp official site

Stomp
Installation/Konfiguration
Stomp


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Stomp


Anforderungen

PECL/stomp requires PHP 5.2.2 or newer.

The » OpenSSL package >= 0.9.6 and the openssl extension may also be required to use stomp over SSL.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/stomp

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Stomp Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
stomp.default_broker | tcp://localhost:61613 | PHP_INI_ALL |
stomp.default_connection_timeout_sec | 2 | PHP_INI_ALL |
stomp.default_connection_timeout_usec | 0 | PHP_INI_ALL |
stomp.default_read_timeout_sec | 2 | PHP_INI_ALL |
stomp.default_read_timeout_usec | 0 | PHP_INI_ALL |

Hier eine kurze Erklärung der Konfigurationsoptionen:

stomp.default_broker string

The default broker URI to use when connecting to the message broker if no other URI is specified.

stomp.default_connection_timeout_sec integer

The seconds part of the default connection timeout.

stomp.default_connection_timeout_usec integer

The microseconds part of the default connection timeout.

stomp.default_read_timeout_sec integer

The seconds part of the default reading timeout.

stomp.default_read_timeout_usec integer

The microseconds part of the default reading timeout.

Installation
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

There is only one resource type used in the stomp extension - it's the link identifier for a stomp connection.

Laufzeit-Konfiguration
Beispiele
Installation/Konfiguration


Beispiele

Beispiel #1 Objektorientierter Stil

<?php

$queue  = '/queue/foo';
$msg    = 'bar';

/* connection */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

/* send a message to the queue 'foo' */
$stomp->send($queue, $msg);

/* subscribe to messages from the queue 'foo' */
$stomp->subscribe($queue);

/* read a frame */
$frame = $stomp->readFrame();

if ($frame->body === $msg) {
    var_dump($frame);

    /* acknowledge that the frame was received */
    $stomp->ack($frame);
}

/* close connection */
unset($stomp);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(StompFrame)#2 (3) {
  ["command"]=>
  string(7) "MESSAGE"
  ["headers"]=>
  array(5) {
    ["message-id"]=>
    string(41) "ID:php.net-55293-1257226743606-4:2:-1:1:1"
    ["destination"]=>
    string(10) "/queue/foo"
    ["timestamp"]=>
    string(13) "1257226805828"
    ["expires"]=>
    string(1) "0"
    ["priority"]=>
    string(1) "0"
  }
  ["body"]=>
  string(3) "bar"
}

Beispiel #2 Prozeduraler Stil

<?php

$queue  = '/queue/foo';
$msg    = 'bar';

/* connection */
$link = stomp_connect('ssl://localhost:61612');

/* check connection */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

/* begin a transaction */
stomp_begin($link, 't1');

/* send a message to the queue 'foo' */
stomp_send($link, $queue, $msg, array('transaction' => 't1'));

/* commit a transaction */
stomp_commit($link, 't1');

/* subscribe to messages from the queue 'foo' */
stomp_subscribe($link, $queue);

/* read a frame */
$frame = stomp_read_frame($link);

if ($frame['body'] === $msg) {
    var_dump($frame);

    /* acknowledge that the frame was received */
    stomp_ack($link, $frame['headers']['message-id']);
}

/* close connection */
stomp_close($link);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(3) {
  ["command"]=>
  string(7) "MESSAGE"
  ["body"]=>
  string(3) "bar"
  ["headers"]=>
  array(6) {
    ["transaction"]=>
    string(2) "t1"
    ["message-id"]=>
    string(41) "ID:php.net-55293-1257226743606-4:3:-1:1:1"
    ["destination"]=>
    string(10) "/queue/foo"
    ["timestamp"]=>
    string(13) "1257227037059"
    ["expires"]=>
    string(1) "0"
    ["priority"]=>
    string(1) "0"
  }
}

Ressource-Typen
Stomp Funktionen
Stomp


Stomp Funktionen

Inhaltsverzeichnis

  • stomp_connect_error — Returns a string description of the last connect error
  • stomp_version — Gets the current stomp extension version
Beispiele
stomp_connect_error
Stomp


Returns a string description of the last connect error

Stomp Funktionen
stomp_version
Stomp Funktionen
PHP Manual

stomp_connect_error

(PECL stomp >= 0.3.0)

stomp_connect_error — Returns a string description of the last connect error

Beschreibung

string stomp_connect_error ( void )

Returns a string description of the last connect error.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A string that describes the error, or NULL if no error occurred.

Beispiele

Beispiel #1 stomp_connect_error() example

<?php
$link = stomp_connect('http://localhost:61613');

if(!$link) {
    die('Connection failed: ' . stomp_connect_error());
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Connection failed: Invalid Broker URI scheme

Stomp Funktionen
stomp_version
Stomp Funktionen


Gets the current stomp extension version

stomp_connect_error
Stomp
Stomp Funktionen
PHP Manual

stomp_version

(PECL stomp >= 0.1.0)

stomp_version — Gets the current stomp extension version

Beschreibung

string stomp_version ( void )

Returns a string containing the version of the current stomp extension.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

It returns the current stomp extension version

Beispiele

Beispiel #1 stomp_version() example

<?php

var_dump(stomp_version());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(5) "0.2.0"

stomp_connect_error
Stomp
Stomp Funktionen


The Stomp class

(PECL stomp >= 0.1.0)

Einführung

Represents a connection between PHP and a Stomp compliant Message Broker.

Klassenbeschreibung

Stomp {
/* Methoden */
public bool abort ( string $transaction_id [, array $headers ] )
public bool ack ( mixed $msg [, array $headers ] )
public bool begin ( string $transaction_id [, array $headers ] )
public bool commit ( string $transaction_id [, array $headers ] )
public __construct ([ string $broker = ini_get("stomp.default_broker_uri") [, string $username [, string $password [, array $headers ]]]] )
public bool __destruct ( void )
public string error ( void )
public array getReadTimeout ( void )
public string getSessionId ( void )
public bool hasFrame ( void )
public stompframe readFrame ([ string $class_name = "stompFrame" ] )
public bool send ( string $destination , mixed $msg [, array $headers ] )
public void setReadTimeout ( int $seconds [, int $microseconds ] )
public bool subscribe ( string $destination [, array $headers ] )
public bool unsubscribe ( string $destination [, array $headers ] )
}

Inhaltsverzeichnis

  • Stomp::abort — Rolls back a transaction in progress
  • Stomp::ack — Acknowledges consumption of a message
  • Stomp::begin — Starts a transaction
  • Stomp::commit — Commits a transaction in progress
  • Stomp::__construct — Opens a connection
  • Stomp::__destruct — Closes stomp connection
  • Stomp::error — Gets the last stomp error
  • Stomp::getReadTimeout — Gets read timeout
  • Stomp::getSessionId — Gets the current stomp session ID
  • Stomp::hasFrame — Indicates whether or not there is a frame ready to read
  • Stomp::readFrame — Reads the next frame
  • Stomp::send — Sends a message
  • Stomp::setReadTimeout — Sets read timeout
  • Stomp::subscribe — Registers to listen to a given destination
  • Stomp::unsubscribe — Removes an existing subscription
stomp_version
Stomp::abort
Stomp


Rolls back a transaction in progress

Stomp
Stomp::ack
Stomp
PHP Manual

Stomp::abort

stomp_abort

(PECL stomp >= 0.1.0)

Stomp::abort -- stomp_abort — Rolls back a transaction in progress

Beschreibung

Objektorientierter Stil (method):

public bool Stomp::abort ( string $transaction_id [, array $headers ] )

Prozeduraler Stil:

bool stomp_abort ( resource $link , string $transaction_id [, array $headers ] )

Rolls back a transaction in progress.

Parameter-Liste

link

Nur für prozedurale Aufrufe: Die Stomp-Verbindung, die von stomp_connect() zurückgegeben wurde.

transaction_id

The transaction to abort.

headers

Assoziatives Array, welches alle zusätzlichen Header beinhaltet (z.B: receipt).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Tipp

Eine grundlegende Eigenschaft von Stomp ist die Synchronität. Synchrone Kommunikation kann durch das Hinzufügen eines Empfangsheaders (receipt-Header) implementiert werden. Dies wird dazu führen, dass Methoden nicht zurückkehren, bis der Server den Empfang der Nachricht bestätigt hat oder der Lese-Timeout übershcritten wurde.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php

/* connection */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

/* begin a transaction */
$stomp->begin('t1');

/* send a message to the queue */
$stomp->send('/queue/foo', 'bar', array('transaction' => 't1'));

/* rollback */
$stomp->abort('t1');

/* close connection */
unset($stomp);
?>

Beispiel #2 Prozeduraler Stil

<?php

/* connection */
$link = stomp_connect('tcp://localhost:61613');

/* check connection */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

/* begin a transaction */
stomp_begin($link, 't1');

/* send a message to the queue 'foo' */
stomp_send($link, '/queue/foo', 'bar', array('transaction' => 't1'));

/* rollback */
stomp_abort($link, 't1');

/* close connection */
stomp_close($link);

?>

Stomp
Stomp::ack
Stomp


Acknowledges consumption of a message

Stomp::abort
Stomp::begin
Stomp
PHP Manual

Stomp::ack

stomp_ack

(PECL stomp >= 0.1.0)

Stomp::ack -- stomp_ack — Acknowledges consumption of a message

Beschreibung

Objektorientierter Stil (method):

public bool Stomp::ack ( mixed $msg [, array $headers ] )

Prozeduraler Stil:

bool stomp_ack ( resource $link , mixed $msg [, array $headers ] )

Acknowledges consumption of a message from a subscription using client acknowledgment.

Parameter-Liste

link

Nur für prozedurale Aufrufe: Die Stomp-Verbindung, die von stomp_connect() zurückgegeben wurde.

msg

The message/messageId to be acknowledged.

headers

Assoziatives Array, welches alle zusätzlichen Header beinhaltet (z.B: receipt).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Hinweis:

Ein Transaktionsheader kann angegeben werden. Dies zeigt an, dass die Bestätigung der Nachricht ein Bestandteil der benanten Transaktion sein soll.

Tipp

Eine grundlegende Eigenschaft von Stomp ist die Synchronität. Synchrone Kommunikation kann durch das Hinzufügen eines Empfangsheaders (receipt-Header) implementiert werden. Dies wird dazu führen, dass Methoden nicht zurückkehren, bis der Server den Empfang der Nachricht bestätigt hat oder der Lese-Timeout übershcritten wurde.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php

$queue  = '/queue/foo';
$msg    = 'bar';

/* connection */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

/* send a message to the queue 'foo' */
$stomp->send($queue, $msg);

/* subscribe to messages from the queue 'foo' */
$stomp->subscribe($queue);

/* read a frame */
$frame = $stomp->readFrame();

if ($frame->body === $msg) {
    /* acknowledge that the frame was received */
    $stomp->ack($frame);
}

/* remove the subscription */
$stomp->unsubscribe($queue);

/* close connection */
unset($stomp);

?>

Beispiel #2 Prozeduraler Stil

<?php

$queue  = '/queue/foo';
$msg    = 'bar';

/* connection */
$link = stomp_connect('ssl://localhost:61612');

/* check connection */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

/* begin a transaction */
stomp_begin($link, 't1');

/* send a message to the queue 'foo' */
stomp_send($link, $queue, $msg, array('transaction' => 't1'));

/* commit a transaction */
stomp_commit($link, 't1');

/* subscribe to messages from the queue 'foo' */
stomp_subscribe($link, $queue);

/* read a frame */
$frame = stomp_read_frame($link);

if ($frame['body'] === $msg) {
    /* acknowledge that the frame was received */
    stomp_ack($link, $frame['headers']['message-id']);
}

/* remove the subscription */
stomp_unsubscribe($link, $queue);

/* close connection */
stomp_close($link);

?>

Stomp::abort
Stomp::begin
Stomp


Starts a transaction

Stomp::ack
Stomp::commit
Stomp
PHP Manual

Stomp::begin

stomp_begin

(PECL stomp >= 0.1.0)

Stomp::begin -- stomp_begin — Starts a transaction

Beschreibung

Objektorientierter Stil (method):

public bool Stomp::begin ( string $transaction_id [, array $headers ] )

Prozeduraler Stil:

bool stomp_begin ( resource $link , string $transaction_id [, array $headers ] )

Starts a transaction.

Parameter-Liste

link

Nur für prozedurale Aufrufe: Die Stomp-Verbindung, die von stomp_connect() zurückgegeben wurde.

transaction_id

The transaction id.

headers

Assoziatives Array, welches alle zusätzlichen Header beinhaltet (z.B: receipt).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Tipp

Eine grundlegende Eigenschaft von Stomp ist die Synchronität. Synchrone Kommunikation kann durch das Hinzufügen eines Empfangsheaders (receipt-Header) implementiert werden. Dies wird dazu führen, dass Methoden nicht zurückkehren, bis der Server den Empfang der Nachricht bestätigt hat oder der Lese-Timeout übershcritten wurde.

Beispiele

See stomp_commit() or stomp_abort().

Stomp::ack
Stomp::commit
Stomp


Commits a transaction in progress

Stomp::begin
Stomp::__construct
Stomp
PHP Manual

Stomp::commit

stomp_commit

(PECL stomp >= 0.1.0)

Stomp::commit -- stomp_commit — Commits a transaction in progress

Beschreibung

Objektorientierter Stil (method):

public bool Stomp::commit ( string $transaction_id [, array $headers ] )

Prozeduraler Stil:

bool stomp_commit ( resource $link , string $transaction_id [, array $headers ] )

Commits a transaction in progress.

Parameter-Liste

link

Nur für prozedurale Aufrufe: Die Stomp-Verbindung, die von stomp_connect() zurückgegeben wurde.

transaction_id

The transaction id.

headers

Assoziatives Array, welches alle zusätzlichen Header beinhaltet (z.B: receipt).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Tipp

Eine grundlegende Eigenschaft von Stomp ist die Synchronität. Synchrone Kommunikation kann durch das Hinzufügen eines Empfangsheaders (receipt-Header) implementiert werden. Dies wird dazu führen, dass Methoden nicht zurückkehren, bis der Server den Empfang der Nachricht bestätigt hat oder der Lese-Timeout übershcritten wurde.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php

/* connection */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

/* begin a transaction */
$stomp->begin('t1');

/* send a message to the queue */
$stomp->send('/queue/foo', 'bar', array('transaction' => 't1'));

/* commit */
$stomp->commit('t1');

/* close connection */
unset($stomp);

?>

Beispiel #2 Prozeduraler Stil

<?php

/* connection */
$link = stomp_connect('tcp://localhost:61613');

/* check connection */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

/* begin a transaction */
stomp_begin($link, 't1');

/* send a message to the queue 'foo' */
stomp_send($link, '/queue/foo', 'bar', array('transaction' => 't1'));

/* commit */
stomp_commit($link, 't1');

/* close connection */
stomp_close($link);

?>

Stomp::begin
Stomp::__construct
Stomp


Opens a connection

Stomp::commit
Stomp::__destruct
Stomp
PHP Manual

Stomp::__construct

stomp_connect

(PECL stomp >= 0.1.0)

Stomp::__construct -- stomp_connect — Opens a connection

Beschreibung

Objektorientierter Stil (constructor):

public Stomp::__construct ([ string $broker = ini_get("stomp.default_broker_uri") [, string $username [, string $password [, array $headers ]]]] )

Prozeduraler Stil:

resource stomp_connect ([ string $broker = ini_get("stomp.default_broker_uri") [, string $username [, string $password [, array $headers ]]]] )

Opens a connection to a stomp compliant Message Broker.

Parameter-Liste

broker

The broker URI

username

The username.

password

The password.

headers

Assoziatives Array, welches alle zusätzlichen Header beinhaltet (z.B: receipt).

Rückgabewerte

Hinweis:

Ein Transaktionsheader kann angegeben werden. Dies zeigt an, dass die Bestätigung der Nachricht ein Bestandteil der benanten Transaktion sein soll.

Changelog

Version | Beschreibung
1.0.1 | The headers parameter was added

Beispiele

Beispiel #1 Objektorientierter Stil

<?php

/* connection */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

/* close connection */
unset($stomp);

?>

Beispiel #2 Prozeduraler Stil

<?php

/* connection */
$link = stomp_connect('ssl://localhost:61612');

/* check connection */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

/* close connection */
stomp_close($link);

?>

Stomp::commit
Stomp::__destruct
Stomp


Closes stomp connection

Stomp::__construct
Stomp::error
Stomp
PHP Manual

Stomp::__destruct

stomp_close

(PECL stomp >= 0.1.0)

Stomp::__destruct -- stomp_close — Closes stomp connection

Beschreibung

Objektorientierter Stil (destructor):

public bool Stomp::__destruct ( void )

Prozeduraler Stil:

bool stomp_close ( resource $link )

Closes a previously opened connection.

Parameter-Liste

link

Nur für prozedurale Aufrufe: Die Stomp-Verbindung, die von stomp_connect() zurückgegeben wurde.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

See stomp_connect().

Stomp::__construct
Stomp::error
Stomp


Gets the last stomp error

Stomp::__destruct
Stomp::getReadTimeout
Stomp
PHP Manual

Stomp::error

stomp_error

(PECL stomp >= 0.1.0)

Stomp::error -- stomp_error — Gets the last stomp error

Beschreibung

Objektorientierter Stil (method):

public string Stomp::error ( void )

Prozeduraler Stil:

string stomp_error ( resource $link )

Gets the last stomp error.

Parameter-Liste

link

Nur für prozedurale Aufrufe: Die Stomp-Verbindung, die von stomp_connect() zurückgegeben wurde.

Rückgabewerte

Returns an error string or FALSE if no error occurred.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php

/* connection */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

var_dump($stomp->error());

if (!$stomp->abort('unknown-transaction', array('receipt' => 'foo'))) {
    var_dump($stomp->error());
}

/* close connection */
unset($stomp);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(false)
string(43) "Invalid transaction id: unknown-transaction"

Beispiel #2 Prozeduraler Stil

<?php

/* connection */
$link = stomp_connect('ssl://localhost:61612');

/* check connection */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

var_dump(stomp_error($link));

if (!stomp_abort($link, 'unknown-transaction', array('receipt' => 'foo'))) {
    var_dump(stomp_error($link));
}

/* close connection */
stomp_close($link);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(false)
string(43) "Invalid transaction id: unknown-transaction"

Stomp::__destruct
Stomp::getReadTimeout
Stomp


Gets read timeout

Stomp::error
Stomp::getSessionId
Stomp
PHP Manual

Stomp::getReadTimeout

stomp_get_read_timeout

(PECL stomp >= 0.3.0)

Stomp::getReadTimeout -- stomp_get_read_timeout — Gets read timeout

Beschreibung

Objektorientierter Stil (method):

public array Stomp::getReadTimeout ( void )

Prozeduraler Stil:

array stomp_get_read_timeout ( resource $link )

Gets read timeout

Parameter-Liste

link

Nur für prozedurale Aufrufe: Die Stomp-Verbindung, die von stomp_connect() zurückgegeben wurde.

Rückgabewerte

Returns an array with 2 elements: sec and usec.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php

/* connection */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

var_dump($stomp->getReadTimeout());

/* close connection */
unset($stomp);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(2) {
  ["sec"]=>
  int(2)
  ["usec"]=>
  int(0)
}

Beispiel #2 Prozeduraler Stil

<?php

/* connection */
$link = stomp_connect('ssl://localhost:61612');

/* check connection */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

var_dump(stomp_get_read_timeout($link));

/* close connection */
stomp_close($link);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(2) {
  ["sec"]=>
  int(2)
  ["usec"]=>
  int(0)
}

Stomp::error
Stomp::getSessionId
Stomp


Gets the current stomp session ID

Stomp::getReadTimeout
Stomp::hasFrame
Stomp
PHP Manual

Stomp::getSessionId

stomp_get_session_id

(PECL stomp >= 0.1.0)

Stomp::getSessionId -- stomp_get_session_id — Gets the current stomp session ID

Beschreibung

Objektorientierter Stil (method):

public string Stomp::getSessionId ( void )

Prozeduraler Stil:

string stomp_get_session_id ( resource $link )

Gets the current stomp session ID.

Parameter-Liste

link

Nur für prozedurale Aufrufe: Die Stomp-Verbindung, die von stomp_connect() zurückgegeben wurde.

Rückgabewerte

string session id on successIm Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 Objektorientierter Stil

<?php

/* connection */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

var_dump($stomp->getSessionId());

/* close connection */
unset($stomp);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(35) "ID:php.net-52873-1257291895530-4:14"

Beispiel #2 Prozeduraler Stil

<?php

/* connection */
$link = stomp_connect('ssl://localhost:61612');

/* check connection */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

var_dump(stomp_get_session_id($link));

/* close connection */
stomp_close($link);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(35) "ID:php.net-52873-1257291895530-4:14"

Stomp::getReadTimeout
Stomp::hasFrame
Stomp


Indicates whether or not there is a frame ready to read

Stomp::getSessionId
Stomp::readFrame
Stomp
PHP Manual

Stomp::hasFrame

stomp_has_frame

(PECL stomp >= 0.1.0)

Stomp::hasFrame -- stomp_has_frame — Indicates whether or not there is a frame ready to read

Beschreibung

Objektorientierter Stil (method):

public bool Stomp::hasFrame ( void )

Prozeduraler Stil:

bool stomp_has_frame ( resource $link )

Indicates whether or not there is a frame ready to read.

Parameter-Liste

link

Nur für prozedurale Aufrufe: Die Stomp-Verbindung, die von stomp_connect() zurückgegeben wurde.

Rückgabewerte

Returns TRUE if a frame is ready to read, or FALSE otherwise.

Stomp::getSessionId
Stomp::readFrame
Stomp


Reads the next frame

Stomp::hasFrame
Stomp::send
Stomp
PHP Manual

Stomp::readFrame

stomp_read_frame

(PECL stomp >= 0.1.0)

Stomp::readFrame -- stomp_read_frame — Reads the next frame

Beschreibung

Objektorientierter Stil (method):

public stompframe Stomp::readFrame ([ string $class_name = "stompFrame" ] )

Prozeduraler Stil:

array stomp_read_frame ( resource $link )

Reads the next frame. It is possible to instantiate an object of a specific class, and pass parameters to that class's constructor.

Parameter-Liste

link

Nur für prozedurale Aufrufe: Die Stomp-Verbindung, die von stomp_connect() zurückgegeben wurde.

class_name

The name of the class to instantiate. If not specified, a stompFrame object is returned.

Rückgabewerte

Hinweis:

Ein Transaktionsheader kann angegeben werden. Dies zeigt an, dass die Bestätigung der Nachricht ein Bestandteil der benanten Transaktion sein soll.

Changelog

Version | Beschreibung
Stomp 0.4.0 | class_name parameter was added.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php

/* connection */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

/* subscribe to messages from the queue 'foo' */
$stomp->subscribe('/queue/foo');

/* read a frame */
var_dump($stomp->readFrame());

/* close connection */
unset($stomp);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(StompFrame)#2 (3) {
  ["command"]=>
  string(7) "MESSAGE"
  ["headers"]=>
  array(5) {
    ["message-id"]=>
    string(41) "ID:php.net-55293-1257226743606-4:2:-1:1:1"
    ["destination"]=>
    string(10) "/queue/foo"
    ["timestamp"]=>
    string(13) "1257226805828"
    ["expires"]=>
    string(1) "0"
    ["priority"]=>
    string(1) "0"
  }
  ["body"]=>
  string(3) "bar"
}

Beispiel #2 Prozeduraler Stil

<?php

/* connection */
$link = stomp_connect('ssl://localhost:61612');

/* check connection */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

/* subscribe to messages from the queue 'foo' */
stomp_subscribe($link, '/queue/foo');

/* read a frame */
$frame = stomp_read_frame($link);

/* close connection */
stomp_close($link);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(3) {
  ["command"]=>
  string(7) "MESSAGE"
  ["body"]=>
  string(3) "bar"
  ["headers"]=>
  array(6) {
    ["transaction"]=>
    string(2) "t1"
    ["message-id"]=>
    string(41) "ID:php.net-55293-1257226743606-4:3:-1:1:1"
    ["destination"]=>
    string(10) "/queue/foo"
    ["timestamp"]=>
    string(13) "1257227037059"
    ["expires"]=>
    string(1) "0"
    ["priority"]=>
    string(1) "0"
  }
}

Stomp::hasFrame
Stomp::send
Stomp


Sends a message

Stomp::readFrame
Stomp::setReadTimeout
Stomp
PHP Manual

Stomp::send

stomp_send

(PECL stomp >= 0.1.0)

Stomp::send -- stomp_send — Sends a message

Beschreibung

Objektorientierter Stil (method):

public bool Stomp::send ( string $destination , mixed $msg [, array $headers ] )

Prozeduraler Stil:

bool stomp_send ( resource $link , string $destination , mixed $msg [, array $headers ] )

Sends a message to the Message Broker.

Parameter-Liste

link

Nur für prozedurale Aufrufe: Die Stomp-Verbindung, die von stomp_connect() zurückgegeben wurde.

destination

Where to send the message

msg

Message to send.

headers

Assoziatives Array, welches alle zusätzlichen Header beinhaltet (z.B: receipt).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Hinweis:

Ein Transaktionsheader kann angegeben werden. Dies zeigt an, dass die Bestätigung der Nachricht ein Bestandteil der benanten Transaktion sein soll.

Tipp

Eine grundlegende Eigenschaft von Stomp ist die Synchronität. Synchrone Kommunikation kann durch das Hinzufügen eines Empfangsheaders (receipt-Header) implementiert werden. Dies wird dazu führen, dass Methoden nicht zurückkehren, bis der Server den Empfang der Nachricht bestätigt hat oder der Lese-Timeout übershcritten wurde.

Beispiele

See stomp_ack().

Stomp::readFrame
Stomp::setReadTimeout
Stomp


Sets read timeout

Stomp::send
Stomp::subscribe
Stomp
PHP Manual

Stomp::setReadTimeout

stomp_set_read_timeout

(PECL stomp >= 0.3.0)

Stomp::setReadTimeout -- stomp_set_read_timeout — Sets read timeout

Beschreibung

Objektorientierter Stil (method):

public void Stomp::setReadTimeout ( int $seconds [, int $microseconds ] )

Prozeduraler Stil:

void stomp_set_read_timeout ( resource $link , int $seconds [, int $microseconds ] )

Sets read timeout.

Parameter-Liste

link

Nur für prozedurale Aufrufe: Die Stomp-Verbindung, die von stomp_connect() zurückgegeben wurde.

seconds

The seconds part of the timeout to be set.

microseconds

The microseconds part of the timeout to be set.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php

/* connection */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

$stomp->setReadTimeout(10);

/* close connection */
unset($stomp);

?>

Beispiel #2 Prozeduraler Stil

<?php

/* connection */
$link = stomp_connect('ssl://localhost:61612');

/* check connection */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

stomp_set_read_timeout($link, 10);

/* close connection */
stomp_close($link);

?>

Stomp::send
Stomp::subscribe
Stomp


Registers to listen to a given destination

Stomp::setReadTimeout
Stomp::unsubscribe
Stomp
PHP Manual

Stomp::subscribe

stomp_subscribe

(PECL stomp >= 0.1.0)

Stomp::subscribe -- stomp_subscribe — Registers to listen to a given destination

Beschreibung

Objektorientierter Stil (method):

public bool Stomp::subscribe ( string $destination [, array $headers ] )

Prozeduraler Stil:

bool stomp_subscribe ( resource $link , string $destination [, array $headers ] )

Registers to listen to a given destination.

Parameter-Liste

link

Nur für prozedurale Aufrufe: Die Stomp-Verbindung, die von stomp_connect() zurückgegeben wurde.

destination

Destination to subscribe to.

headers

Assoziatives Array, welches alle zusätzlichen Header beinhaltet (z.B: receipt).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Tipp

Eine grundlegende Eigenschaft von Stomp ist die Synchronität. Synchrone Kommunikation kann durch das Hinzufügen eines Empfangsheaders (receipt-Header) implementiert werden. Dies wird dazu führen, dass Methoden nicht zurückkehren, bis der Server den Empfang der Nachricht bestätigt hat oder der Lese-Timeout übershcritten wurde.

Beispiele

See stomp_ack().

Stomp::setReadTimeout
Stomp::unsubscribe
Stomp


Removes an existing subscription

Stomp::subscribe
StompFrame
Stomp
PHP Manual

Stomp::unsubscribe

stomp_unsubscribe

(PECL stomp >= 0.1.0)

Stomp::unsubscribe -- stomp_unsubscribe — Removes an existing subscription

Beschreibung

Objektorientierter Stil (method):

public bool Stomp::unsubscribe ( string $destination [, array $headers ] )

Prozeduraler Stil:

bool stomp_unsubscribe ( resource $link , string $destination [, array $headers ] )

Removes an existing subscription.

Parameter-Liste

link

Nur für prozedurale Aufrufe: Die Stomp-Verbindung, die von stomp_connect() zurückgegeben wurde.

destination

Subscription to remove.

headers

Assoziatives Array, welches alle zusätzlichen Header beinhaltet (z.B: receipt).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Tipp

Eine grundlegende Eigenschaft von Stomp ist die Synchronität. Synchrone Kommunikation kann durch das Hinzufügen eines Empfangsheaders (receipt-Header) implementiert werden. Dies wird dazu führen, dass Methoden nicht zurückkehren, bis der Server den Empfang der Nachricht bestätigt hat oder der Lese-Timeout übershcritten wurde.

Beispiele

See stomp_ack().

Stomp::subscribe
StompFrame
Stomp


The StompFrame class

(PECL stomp >= 0.1.0)

Einführung

Represents a message which was sent or received from a Stomp compliant Message Broker.

Klassenbeschreibung

StompFrame {
/* Eigenschaften */
public $command ;
public $headers ;
public $body ;
/* Methoden */
__construct ([ string $command [, array $headers [, string $body ]]] )
}

Eigenschaften

command

Frame command.

headers

Frame headers (array).

body

Frame body.

Inhaltsverzeichnis

  • StompFrame::__construct — Constructor
Stomp::unsubscribe
StompFrame::__construct
Stomp


Constructor

StompFrame
StompException
StompFrame
PHP Manual

StompFrame::__construct

(PECL stomp >= 0.1.0)

StompFrame::__construct — Constructor

Beschreibung

StompFrame::__construct ([ string $command [, array $headers [, string $body ]]] )

Constructor.

Parameter-Liste

command

Frame command

headers

Frame headers (array).

body

Frame body.

StompFrame
StompException
StompFrame


The StompException class

(PECL stomp >= 0.1.0)

Einführung

Represents an error raised by the stomp extension. See Exceptions for more information about Exceptions in PHP.

Klassenbeschreibung

StompException extends Exception {
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
/* Methoden */
public string getDetails ( void )
}

Inhaltsverzeichnis

  • StompException::getDetails — Get exception details
StompFrame::__construct
StompException::getDetails
Stomp


Get exception details

StompException
SVM
StompException
PHP Manual

StompException::getDetails

(PECL stomp >= 0.1.0)

StompException::getDetails — Get exception details

Beschreibung

public string StompException::getDetails ( void )

Get exception details.

Rückgabewerte

string containing the error details.

StompException
SVM
StompException


Support Vector Machine

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Beispiele
  • SVM — The SVM class
    • SVM::__construct — Construct a new SVM object
    • SVM::crossvalidate — Test training params on subsets of the training data.
    • SVM::getOptions — Return the current training parameters
    • SVM::setOptions — Set training parameters
    • SVM::train — Create a SVMModel based on training data
  • SVMModel — The SVMModel class
    • SVMModel::checkProbabilityModel — Returns true if the model has probability information
    • SVMModel::__construct — Construct a new SVMModel
    • SVMModel::getLabels — Get the labels the model was trained on
    • SVMModel::getNrClass — Returns the number of classes the model was trained with
    • SVMModel::getSvmType — Get the SVM type the model was trained with
    • SVMModel::getSvrProbability — Get the sigma value for regression types
    • SVMModel::load — Load a saved SVM Model
    • SVMModel::predict_probability — Return class probabilities for previous unseen data
    • SVMModel::predict — Predict a value for previously unseen data
    • SVMModel::save — Save a model to a file
StompException::getDetails
Einführung
Sonstige Dienste


Einführung

LibSVM is an efficient solver for SVM classification and regression problems. The svm extension wraps this in a PHP interface for easy use in PHP scripts.

SVM
Installation/Konfiguration
SVM


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
SVM


Anforderungen

Libsvm itself is required, and is available through some package management - libsvm-devel for RPM based system or libsvm-dev for Debian based ones. Alternatively it is available direct from the website. If installing from the » official website then some steps will need to be taken as the package does not install automatically. For example, assuming the latest version is 3.1:

wget http://www.csie.ntu.edu.tw/~cjlin/cgi-bin/libsvm.cgi?+http://www.csie.ntu.edu.tw/~cjlin/libsvm+tar.gz
tar xvzf libsvm-3.1.tar.gz
cd libsvm-3.1
make lib
cp libsvm.so.1 /usr/lib
ln -s libsvm.so.1 libsvm.so
ldconfig
ldconfig --print | grep libsvm

This last step should show libsvm is installed.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/svm

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Beispiele

The basic process is to define parameters, supply training data to generate a model on, then make predictions based on the model. There are a default set of parameters that should get some results with most any input, so we'll start by looking at the data.

Data is supplied in either a file, a stream, or as an array. If supplied in a file or a stream, it must contain one line per training example, which must be formatted as an integer class (usually 1 and -1) followed by a series of feature/value pairs, in increasing feature order. The features are integers, the values floats, usually scaled 0-1. For example:

-1 1:0.43 3:0.12 9284:0.2

In a document classification problem, say a spam checker, each line would represent a document. There would be two classes, -1 for spam, 1 for ham. Each feature would represent some word, and the value would represent that importance of that word to the document (perhaps the frequency count, with the total scaled to unit length). Features that were 0 (e.g. the word did not appear in the document at all) would simply not be included.

In array mode, the data must be passed as an array of arrays. Each sub-array must have the class as the first element, then key => value sets for the feature values pairs.

This data is passed to the SVM class's train function, which will return an SVM model is successful.

Once a model has been generated, it can be used to make predictions about previously unseen data. This can be passed as an array to the model's predict function, in the same format as before, but without the label. The response will be the class.

Models can be saved and restored as required, using the save and load functions, which both take a file location.

Beispiel #1 Train from array

<?php
$data = array(
    array(-1, 1 => 0.43, 3 => 0.12, 9284 => 0.2),
    array(1, 1 => 0.22, 5 => 0.01, 94 => 0.11),
);

$svm = new SVM();
$model = $svm->train($data);

$data = array(1 => 0.43, 3 => 0.12, 9284 => 0.2);
$result = $model->predict($data);
var_dump($result);
$model->save('model.svm');
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(-1)

Beispiel #2 Train from a file

<?php
$svm = new SVM();
$model = $svm->train("traindata.txt");
?>

Ressource-Typen
SVM
SVM


The SVM class

(PECL svm >= 0.1.0)

Einführung

Klassenbeschreibung

SVM {
/* Constants */
const integer C_SVC = 0 ;
const integer NU_SVC = 1 ;
const integer ONE_CLASS = 2 ;
const integer EPSILON_SVR = 3 ;
const integer NU_SVR = 4 ;
const integer KERNEL_LINEAR = 0 ;
const integer KERNEL_POLY = 1 ;
const integer KERNEL_RBF = 2 ;
const integer KERNEL_SIGMOID = 3 ;
const integer KERNEL_PRECOMPUTED = 4 ;
const integer OPT_TYPE = 101 ;
const integer OPT_KERNEL_TYPE = 102 ;
const integer OPT_DEGREE = 103 ;
const integer OPT_SHRINKING = 104 ;
const integer OPT_PROPABILITY = 105 ;
const integer OPT_GAMMA = 201 ;
const integer OPT_NU = 202 ;
const integer OPT_EPS = 203 ;
const integer OPT_P = 204 ;
const integer OPT_COEF_ZERO = 205 ;
const integer OPT_C = 206 ;
const integer OPT_CACHE_SIZE = 207 ;
/* Methods */
public __construct ( void )
public float svm::crossvalidate ( array $problem , int $number_of_folds )
public array getOptions ( void )
public bool setOptions ( array $params )
public SVMModel svm::train ( array $problem [, array $weights ] )
}

Vordefinierte Konstanten

SVM Constants

SVM::C_SVC

The basic C_SVC SVM type. The default, and a good starting point

SVM::NU_SVC

The NU_SVC type uses a different, more flexible, error weighting

SVM::ONE_CLASS

One class SVM type. Train just on a single class, using outliers as negative examples

SVM::EPSILON_SVR

A SVM type for regression (predicting a value rather than just a class)

SVM::NU_SVR

A NU style SVM regression type

SVM::KERNEL_LINEAR

A very simple kernel, can work well on large document classification problems

SVM::KERNEL_POLY

A polynomial kernel

SVM::KERNEL_RBF

The common Gaussian RBD kernel. Handles non-linear problems well and is a good default for classification

SVM::KERNEL_SIGMOID

A kernel based on the sigmoid function. Using this makes the SVM very similar to a two layer sigmoid based neural network

SVM::KERNEL_PRECOMPUTED

A precomputed kernel - currently unsupported.

SVM::OPT_TYPE

The options key for the SVM type

SVM::OPT_KERNEL_TYPE

The options key for the kernel type

SVM::OPT_DEGREE

SVM::OPT_SHRINKING

Training parameter, boolean, for whether to use the shrinking heuristics

SVM::OPT_PROBABILITY

Training parameter, boolean, for whether to collect and use probability estimates

SVM::OPT_GAMMA

Algorithm parameter for Poly, RBF and Sigmoid kernel types.

SVM::OPT_NU

The option key for the nu parameter, only used in the NU_ SVM types

SVM::OPT_EPS

The option key for the Epsilon parameter, used in epsilon regression

SVM::OPT_P

Training parameter used by Episilon SVR regression

SVM::OPT_COEF_ZERO

Algorithm parameter for poly and sigmoid kernels

SVM::OPT_C

The option for the cost parameter that controls tradeoff between errors and generality - effectively the penalty for misclassifying training examples.

SVM::OPT_CACHE_SIZE

Memory cache size, in MB

Inhaltsverzeichnis

  • SVM::__construct — Construct a new SVM object
  • SVM::crossvalidate — Test training params on subsets of the training data.
  • SVM::getOptions — Return the current training parameters
  • SVM::setOptions — Set training parameters
  • SVM::train — Create a SVMModel based on training data
Beispiele
SVM::__construct
SVM


Construct a new SVM object

SVM
SVM::crossvalidate
SVM
PHP Manual

SVM::__construct

(PECL svm >= 0.1.0)

SVM::__construct — Construct a new SVM object

Beschreibung

public SVM::__construct ( void )

Constructs a new SVM object ready to accept training data.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Throws SVMException if the libsvm library could not be loaded

SVM
SVM::crossvalidate
SVM


Test training params on subsets of the training data.

SVM::__construct
SVM::getOptions
SVM
PHP Manual

SVM::crossvalidate

(PECL svm >= 0.1.0)

SVM::crossvalidate — Test training params on subsets of the training data.

Beschreibung

public float svm::crossvalidate ( array $problem , int $number_of_folds )

Crossvalidate can be used to test the effectiveness of the current parameter set on a subset of the training data. Given a problem set and a n "folds", it separates the problem set into n subsets, and the repeatedly trains on one subset and tests on another. While the accuracy will generally be lower than a SVM trained on the enter data set, the accuracy score returned should be relatively useful, so it can be used to test different training parameters.

Parameter-Liste

problem

The problem data. This can either be in the form of an array, the URL of an SVMLight formatted file, or a stream to an opened SVMLight formatted datasource.

number_of_folds

The number of sets the data should be divided into and cross tested. A higher number means smaller training sets and less reliability. 5 is a good number to start with.

Rückgabewerte

The correct percentage, expressed as a floating point number from 0-1. In the case of NU_SVC or EPSILON_SVR kernels the mean squared error will returned instead.

Siehe auch

  • SVM::train() - Create a SVMModel based on training data

SVM::__construct
SVM::getOptions
SVM


Return the current training parameters

SVM::crossvalidate
SVM::setOptions
SVM
PHP Manual

SVM::getOptions

(PECL svm >= 0.1.0)

SVM::getOptions — Return the current training parameters

Beschreibung

public array SVM::getOptions ( void )

Retrieve an array containing the training parameters. The parameters will be keyed on the predefined SVM constants.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array of configuration settings.

SVM::crossvalidate
SVM::setOptions
SVM


Set training parameters

SVM::getOptions
SVM::train
SVM
PHP Manual

SVM::setOptions

(PECL svm >= 0.1.0)

SVM::setOptions — Set training parameters

Beschreibung

public bool SVM::setOptions ( array $params )

Set one or more training parameters.

Parameter-Liste

params

An array of training parameters, keyed on the SVM constants.

Rückgabewerte

Return true on success, throws SVMException on error.

SVM::getOptions
SVM::train
SVM


Create a SVMModel based on training data

SVM::setOptions
SVMModel
SVM
PHP Manual

SVM::train

(PECL svm >= 0.1.0)

SVM::train — Create a SVMModel based on training data

Beschreibung

public SVMModel svm::train ( array $problem [, array $weights ] )

Train a support vector machine based on the supplied training data.

Parameter-Liste

problem

The problem can be provided in three different ways. An array, where the data should start with the class label (usually 1 or -1) then followed by a sparse data set of dimension => data pairs. A URL to a file containing a SVM Light formatted problem, with the each line being a new training example, the start of each line containing the class (1, -1) then a series of tab separated data values shows as key:value. A opened stream pointing to a data source formatted as in the file above.

weights

Weights are an optional set of weighting parameters for the different classes, to help account for unbalanced training sets. For example, if the classes were 1 and -1, and -1 had significantly more example than one, the weight for -1 could be 0.5. Weights should be in the range 0-1.

Rückgabewerte

Returns an SVMModel that can be used to classify previously unseen data. Throws SVMException on error

SVM::setOptions
SVMModel
SVM


The SVMModel class

(PECL svm >= 0.1.0)

Einführung

The SVMModel is the end result of the training process. It can be used to classify previously unseen data.

Klassenbeschreibung

SVMModel {
/* Methods */
public bool checkProbabilityModel ( void )
public __construct ([ string $filename ] )
public array getLabels ( void )
public int getNrClass ( void )
public int getSvmType ( void )
public float getSvrProbability ( void )
public bool load ( string $filename )
public float predict_probability ( array $data )
public float predict ( array $data )
public bool save ( string $filename )
}

Inhaltsverzeichnis

  • SVMModel::checkProbabilityModel — Returns true if the model has probability information
  • SVMModel::__construct — Construct a new SVMModel
  • SVMModel::getLabels — Get the labels the model was trained on
  • SVMModel::getNrClass — Returns the number of classes the model was trained with
  • SVMModel::getSvmType — Get the SVM type the model was trained with
  • SVMModel::getSvrProbability — Get the sigma value for regression types
  • SVMModel::load — Load a saved SVM Model
  • SVMModel::predict_probability — Return class probabilities for previous unseen data
  • SVMModel::predict — Predict a value for previously unseen data
  • SVMModel::save — Save a model to a file
SVM::train
SVMModel::checkProbabilityModel
SVM


Returns true if the model has probability information

SVMModel
SVMModel::__construct
SVMModel
PHP Manual

SVMModel::checkProbabilityModel

(PECL svm >= 0.1.5)

SVMModel::checkProbabilityModel — Returns true if the model has probability information

Beschreibung

public bool SVMModel::checkProbabilityModel ( void )

Returns true if the model contains probability information.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Return a boolean value

SVMModel
SVMModel::__construct
SVMModel


Construct a new SVMModel

SVMModel::checkProbabilityModel
SVMModel::getLabels
SVMModel
PHP Manual

SVMModel::__construct

(PECL svm >= 0.1.0)

SVMModel::__construct — Construct a new SVMModel

Beschreibung

public SVMModel::__construct ([ string $filename ] )

Build a new SVMModel. Models will usually be created from the SVM::train function, but then saved models may be restored directly.

Parameter-Liste

filename

The filename for the saved model file this model should load.

Rückgabewerte

Throws SVMException on error

Siehe auch

  • SVMModel::load() - Load a saved SVM Model

SVMModel::checkProbabilityModel
SVMModel::getLabels
SVMModel


Get the labels the model was trained on

SVMModel::__construct
SVMModel::getNrClass
SVMModel
PHP Manual

SVMModel::getLabels

(PECL svm >= 0.1.5)

SVMModel::getLabels — Get the labels the model was trained on

Beschreibung

public array SVMModel::getLabels ( void )

Return an array of labels that the model was trained on. For regression and one class models an empty array is returned.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Return an array of labels

Siehe auch

  • SVMModel::getNrClass() - Returns the number of classes the model was trained with

SVMModel::__construct
SVMModel::getNrClass
SVMModel


Returns the number of classes the model was trained with

SVMModel::getLabels
SVMModel::getSvmType
SVMModel
PHP Manual

SVMModel::getNrClass

(PECL svm >= 0.1.5)

SVMModel::getNrClass — Returns the number of classes the model was trained with

Beschreibung

public int SVMModel::getNrClass ( void )

Returns the number of classes the model was trained with, will return 2 for one class and regression models.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Return an integer number of classes

SVMModel::getLabels
SVMModel::getSvmType
SVMModel


Get the SVM type the model was trained with

SVMModel::getNrClass
SVMModel::getSvrProbability
SVMModel
PHP Manual

SVMModel::getSvmType

(PECL svm >= 0.1.5)

SVMModel::getSvmType — Get the SVM type the model was trained with

Beschreibung

public int SVMModel::getSvmType ( void )

Returns an integer value representing the type of the SVM model used, e.g SVM::C_SVC.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Return an integer SVM type

SVMModel::getNrClass
SVMModel::getSvrProbability
SVMModel


Get the sigma value for regression types

SVMModel::getSvmType
SVMModel::load
SVMModel
PHP Manual

SVMModel::getSvrProbability

(PECL svm >= 0.1.5)

SVMModel::getSvrProbability — Get the sigma value for regression types

Beschreibung

public float SVMModel::getSvrProbability ( void )

For regression models, returns a sigma value. If there is no probability information or the model is not SVR, 0 is returned.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a sigma value

SVMModel::getSvmType
SVMModel::load
SVMModel


Load a saved SVM Model

SVMModel::getSvrProbability
SVMModel::predict_probability
SVMModel
PHP Manual

SVMModel::load

(PECL svm >= 0.1.00.1.0)

SVMModel::load — Load a saved SVM Model

Beschreibung

public bool SVMModel::load ( string $filename )

Load a model file ready for classification or regression.

Parameter-Liste

filename

The filename of the model.

Rückgabewerte

Throws SVMException on error. Returns true on success.

Siehe auch

  • SVMModel::save() - Save a model to a file

SVMModel::getSvrProbability
SVMModel::predict_probability
SVMModel


Return class probabilities for previous unseen data

SVMModel::load
SVMModel::predict
SVMModel
PHP Manual

SVMModel::predict_probability

(PECL svm >= 0.1.4)

SVMModel::predict_probability — Return class probabilities for previous unseen data

Beschreibung

public float SVMModel::predict_probability ( array $data )

This function accepts an array of data and attempts to predict the class, as with the predict function. Additionally, however, this function returns an array of probabilities, one per class in the model, which represent the estimated chance of the data supplied being a member of that class. Requires that the model to be used has been trained with the probability parameter set to true.

Parameter-Liste

data

The array to be classified. This should be a series of key => value pairs in increasing key order, but not necessarily continuous.

probabilities

The supplied value will be filled with the probabilities. This will be either null, in the case of a model without probability information, or an array where the index is the class name and the value the predicted probability.

Rückgabewerte

Float the predicted value. This will be a class label in the case of classification, a real value in the case of regression. Throws SVMException on error

Siehe auch

  • SVM::predict()

SVMModel::load
SVMModel::predict
SVMModel


Predict a value for previously unseen data

SVMModel::predict_probability
SVMModel::save
SVMModel
PHP Manual

SVMModel::predict

(PECL svm >= 0.1.0)

SVMModel::predict — Predict a value for previously unseen data

Beschreibung

public float SVMModel::predict ( array $data )

This function accepts an array of data and attempts to predict the class or regression value based on the model extracted from previously trained data.

Parameter-Liste

data

The array to be classified. This should be a series of key => value pairs in increasing key order, but not necessarily continuous.

Rückgabewerte

Float the predicted value. This will be a class label in the case of classification, a real value in the case of regression. Throws SVMException on error

Siehe auch

  • SVM::train() - Create a SVMModel based on training data

SVMModel::predict_probability
SVMModel::save
SVMModel


Save a model to a file

SVMModel::predict
SVN
SVMModel
PHP Manual

SVMModel::save

(PECL svm >= 0.1.0)

SVMModel::save — Save a model to a file

Beschreibung

public bool SVMModel::save ( string $filename )

Save the model data to a file, for later use.

Parameter-Liste

filename

The file to save the model to.

Rückgabewerte

Throws SVMException on error. Returns true on success.

Siehe auch

  • SVMModel::load() - Load a saved SVM Model

SVMModel::predict
SVN
SVMModel


Subversion

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • SVN Funktionen
    • svn_add — Schedules the addition of an item in a working directory
    • svn_auth_get_parameter — Retrieves authentication parameter
    • svn_auth_set_parameter — Sets an authentication parameter
    • svn_blame — Get the SVN blame for a file
    • svn_cat — Returns the contents of a file in a repository
    • svn_checkout — Checks out a working copy from the repository
    • svn_cleanup — Recursively cleanup a working copy directory, finishing incomplete operations and removing locks
    • svn_client_version — Returns the version of the SVN client libraries
    • svn_commit — Sends changes from the local working copy to the repository
    • svn_delete — Delete items from a working copy or repository.
    • svn_diff — Recursively diffs two paths
    • svn_export — Export the contents of a SVN directory
    • svn_fs_abort_txn — Abort a transaction, returns true if everything is okay, false otherwise
    • svn_fs_apply_text — Creates and returns a stream that will be used to replace
    • svn_fs_begin_txn2 — Create a new transaction
    • svn_fs_change_node_prop — Return true if everything is ok, false otherwise
    • svn_fs_check_path — Determines what kind of item lives at path in a given repository fsroot
    • svn_fs_contents_changed — Return true if content is different, false otherwise
    • svn_fs_copy — Copies a file or a directory, returns true if all is ok, false otherwise
    • svn_fs_delete — Deletes a file or a directory, return true if all is ok, false otherwise
    • svn_fs_dir_entries — Enumerates the directory entries under path; returns a hash of dir names to file type
    • svn_fs_file_contents — Returns a stream to access the contents of a file from a given version of the fs
    • svn_fs_file_length — Returns the length of a file from a given version of the fs
    • svn_fs_is_dir — Return true if the path points to a directory, false otherwise
    • svn_fs_is_file — Return true if the path points to a file, false otherwise
    • svn_fs_make_dir — Creates a new empty directory, returns true if all is ok, false otherwise
    • svn_fs_make_file — Creates a new empty file, returns true if all is ok, false otherwise
    • svn_fs_node_created_rev — Returns the revision in which path under fsroot was created
    • svn_fs_node_prop — Returns the value of a property for a node
    • svn_fs_props_changed — Return true if props are different, false otherwise
    • svn_fs_revision_prop — Fetches the value of a named property
    • svn_fs_revision_root — Get a handle on a specific version of the repository root
    • svn_fs_txn_root — Creates and returns a transaction root
    • svn_fs_youngest_rev — Returns the number of the youngest revision in the filesystem
    • svn_import — Imports an unversioned path into a repository
    • svn_log — Returns the commit log messages of a repository URL
    • svn_ls — Returns list of directory contents in repository URL, optionally at revision number
    • svn_mkdir — Creates a directory in a working copy or repository
    • svn_repos_create — Create a new subversion repository at path
    • svn_repos_fs_begin_txn_for_commit — Create a new transaction
    • svn_repos_fs_commit_txn — Commits a transaction and returns the new revision
    • svn_repos_fs — Gets a handle on the filesystem for a repository
    • svn_repos_hotcopy — Make a hot-copy of the repos at repospath; copy it to destpath
    • svn_repos_open — Open a shared lock on a repository.
    • svn_repos_recover — Run recovery procedures on the repository located at path.
    • svn_revert — Revert changes to the working copy
    • svn_status — Returns the status of working copy files and directories
    • svn_update — Update working copy
SVMModel::save
Einführung
Sonstige Dienste


Einführung

This extension implements PHP bindings for » Subversion (SVN), a version control system, allowing PHP scripts to communicate with SVN repositories and working copies without direct command line calls to the svn executable.

Warnung

Diese Erweiterung ist EXPERIMENTELL. Das Verhalten dieser Erweiterung, einschließlich der Funktionsnamen, und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Erweiterung auf eigenes Risiko.

SVN
Installation/Konfiguration
SVN


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
SVN


Anforderungen

The Subversion binaries are not necessary to use this extension. However, when compiling the extension, libsvn (the Subversion headers) must be available.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/svn

If ./configure is having trouble finding the SVN files (for example, Subversion was installed with a different prefix directory), use ./configure --with-svn=$USR_PATH to specify the directory where the include/subversion-1/ folder is located.

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Warnung

If the extension is compiled against libsvn 1.3, functions that work with working copies will fail when used on working copies created by Subversion 1.4.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

SVN_REVISION_HEAD (integer)
Magic number (-1) specifying the HEAD revision
Constants usable with svn_auth_set_parameter()
SVN_AUTH_PARAM_DEFAULT_USERNAME (string)
Property for default username to use when performing basic authentication
SVN_AUTH_PARAM_DEFAULT_PASSWORD (string)
Property for default password to use when performing basic authentication
SVN_AUTH_PARAM_NON_INTERACTIVE (string)
SVN_AUTH_PARAM_DONT_STORE_PASSWORDS (string)
SVN_AUTH_PARAM_NO_AUTH_CACHE (string)
SVN_AUTH_PARAM_SSL_SERVER_FAILURES (string)
SVN_AUTH_PARAM_SSL_SERVER_CERT_INFO (string)
SVN_AUTH_PARAM_CONFIG (string)
SVN_AUTH_PARAM_SERVER_GROUP (string)
SVN_AUTH_PARAM_CONFIG_DIR (string)
PHP_SVN_AUTH_PARAM_IGNORE_SSL_VERIFY_ERRORS (string)
Custom property for ignoring SSL cert verification errors
Filesystem constants
SVN_FS_CONFIG_FS_TYPE (string)
Configuration key that determines filesystem type
SVN_FS_TYPE_BDB (string)
Filesystem is Berkeley-DB implementation
SVN_FS_TYPE_FSFS (string)
Filesystem is native-filesystem implementation
Reserved property constants
SVN_PROP_REVISION_DATE (string)
svn:date
SVN_PROP_REVISION_ORIG_DATE (string)
svn:original-date
SVN_PROP_REVISION_AUTHOR (string)
svn:author
SVN_PROP_REVISION_LOG (string)
svn:log
Working copy status constants
SVN_WC_STATUS_NONE (int)
Status does not exist
SVN_WC_STATUS_UNVERSIONED (int)
Item is not versioned in working copy
SVN_WC_STATUS_NORMAL (int)
Item exists, nothing else is happening
SVN_WC_STATUS_ADDED (int)
Item is scheduled for addition
SVN_WC_STATUS_MISSING (int)
Item is versioned but missing from the working copy
SVN_WC_STATUS_DELETED (int)
Item is scheduled for deletion
SVN_WC_STATUS_REPLACED (int)
Item was deleted and then re-added
SVN_WC_STATUS_MODIFIED (int)
Item (text or properties) was modified
SVN_WC_STATUS_MERGED (int)
Item's local modifications were merged with repository modifications
SVN_WC_STATUS_CONFLICTED (int)
Item's local modifications conflicted with repository modifications
SVN_WC_STATUS_IGNORED (int)
Item is unversioned but configured to be ignored
SVN_WC_STATUS_OBSTRUCTED (int)
Unversioned item is in the way of a versioned resource
SVN_WC_STATUS_EXTERNAL (int)
Unversioned path that is populated using svn:externals
SVN_WC_STATUS_INCOMPLETE (int)
Directory does not contain complete entries list
Node type constants
SVN_NODE_NONE (int)
Absent
SVN_NODE_FILE (int)
File
SVN_NODE_DIR (int)
Directory
SVN_NODE_UNKNOWN (int)
Something Subversion cannot identify
Ressource-Typen
SVN Funktionen
SVN


SVN Funktionen

Inhaltsverzeichnis

  • svn_add — Schedules the addition of an item in a working directory
  • svn_auth_get_parameter — Retrieves authentication parameter
  • svn_auth_set_parameter — Sets an authentication parameter
  • svn_blame — Get the SVN blame for a file
  • svn_cat — Returns the contents of a file in a repository
  • svn_checkout — Checks out a working copy from the repository
  • svn_cleanup — Recursively cleanup a working copy directory, finishing incomplete operations and removing locks
  • svn_client_version — Returns the version of the SVN client libraries
  • svn_commit — Sends changes from the local working copy to the repository
  • svn_delete — Delete items from a working copy or repository.
  • svn_diff — Recursively diffs two paths
  • svn_export — Export the contents of a SVN directory
  • svn_fs_abort_txn — Abort a transaction, returns true if everything is okay, false otherwise
  • svn_fs_apply_text — Creates and returns a stream that will be used to replace
  • svn_fs_begin_txn2 — Create a new transaction
  • svn_fs_change_node_prop — Return true if everything is ok, false otherwise
  • svn_fs_check_path — Determines what kind of item lives at path in a given repository fsroot
  • svn_fs_contents_changed — Return true if content is different, false otherwise
  • svn_fs_copy — Copies a file or a directory, returns true if all is ok, false otherwise
  • svn_fs_delete — Deletes a file or a directory, return true if all is ok, false otherwise
  • svn_fs_dir_entries — Enumerates the directory entries under path; returns a hash of dir names to file type
  • svn_fs_file_contents — Returns a stream to access the contents of a file from a given version of the fs
  • svn_fs_file_length — Returns the length of a file from a given version of the fs
  • svn_fs_is_dir — Return true if the path points to a directory, false otherwise
  • svn_fs_is_file — Return true if the path points to a file, false otherwise
  • svn_fs_make_dir — Creates a new empty directory, returns true if all is ok, false otherwise
  • svn_fs_make_file — Creates a new empty file, returns true if all is ok, false otherwise
  • svn_fs_node_created_rev — Returns the revision in which path under fsroot was created
  • svn_fs_node_prop — Returns the value of a property for a node
  • svn_fs_props_changed — Return true if props are different, false otherwise
  • svn_fs_revision_prop — Fetches the value of a named property
  • svn_fs_revision_root — Get a handle on a specific version of the repository root
  • svn_fs_txn_root — Creates and returns a transaction root
  • svn_fs_youngest_rev — Returns the number of the youngest revision in the filesystem
  • svn_import — Imports an unversioned path into a repository
  • svn_log — Returns the commit log messages of a repository URL
  • svn_ls — Returns list of directory contents in repository URL, optionally at revision number
  • svn_mkdir — Creates a directory in a working copy or repository
  • svn_repos_create — Create a new subversion repository at path
  • svn_repos_fs_begin_txn_for_commit — Create a new transaction
  • svn_repos_fs_commit_txn — Commits a transaction and returns the new revision
  • svn_repos_fs — Gets a handle on the filesystem for a repository
  • svn_repos_hotcopy — Make a hot-copy of the repos at repospath; copy it to destpath
  • svn_repos_open — Open a shared lock on a repository.
  • svn_repos_recover — Run recovery procedures on the repository located at path.
  • svn_revert — Revert changes to the working copy
  • svn_status — Returns the status of working copy files and directories
  • svn_update — Update working copy
Vordefinierte Konstanten
svn_add
SVN


Schedules the addition of an item in a working directory

SVN Funktionen
svn_auth_get_parameter
SVN Funktionen
PHP Manual

svn_add

(PECL svn >= 0.1.0)

svn_add — Schedules the addition of an item in a working directory

Beschreibung

bool svn_add ( string $path [, bool $recursive = true [, bool $force = false ]] )

Adds the file, directory or symbolic link at path to the working directory. The item will be added to the repository the next time you call svn_commit() on the working copy.

Parameter-Liste

path

Path of item to add.

Hinweis: Relative Pfade werden so aufgelöst, als ob das aktuelle Verzeichnis das wäre, in dem sich das PHP-Binary befindet. Um stattdessen das aktuelle Verzeichnis des aufrufenden Skripts zu nutzen, müssen sie die realpath()-Funktion oder dirname(__FILE__) zu Hilfe ziehen.

recursive

If item is directory, whether or not to recursively add all of its contents. Default is TRUE

force

If true, Subversion will recurse into already versioned directories in order to add unversioned files that may be hiding in those directories. Default is FALSE

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Beispiele

Beispiel #1 svn_add() example

In a working directory where svn status returns:

$ svn status
?      foobar.txt

...this code:

<?php
svn_add('foobar.txt');
?>

...will schedule foobar.txt for addition into the repository.

Siehe auch

  • » SVN documentation on svn add

SVN Funktionen
svn_auth_get_parameter
SVN Funktionen


Retrieves authentication parameter

svn_add
svn_auth_set_parameter
SVN Funktionen
PHP Manual

svn_auth_get_parameter

(PECL svn >= 0.1.0)

svn_auth_get_parameter — Retrieves authentication parameter

Beschreibung

string svn_auth_get_parameter ( string $key )

Retrieves authentication parameter at key. For a list of valid keys and their meanings, consult the authentication constants list.

Parameter-Liste

key

String key name. Use the authentication constants defined by this extension to specify a key.

Rückgabewerte

Returns the string value of the parameter at key; returns NULL if parameter does not exist.

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Siehe auch

  • svn_auth_set_parameter() - Sets an authentication parameter
  • Authentication constants

svn_add
svn_auth_set_parameter
SVN Funktionen


Sets an authentication parameter

svn_auth_get_parameter
svn_blame
SVN Funktionen
PHP Manual

svn_auth_set_parameter

(PECL svn >= 0.1.0)

svn_auth_set_parameter — Sets an authentication parameter

Beschreibung

void svn_auth_set_parameter ( string $key , string $value )

Sets authentication parameter at key to value. For a list of valid keys and their meanings, consult the authentication constants list.

Parameter-Liste

key

String key name. Use the authentication constants defined by this extension to specify a key.

value

String value to set to parameter at key. Format of value varies with the parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Beispiele

Beispiel #1 Default authentication example

This example configures SVN so that the default username to use is 'Bob' and the default password is 'abc123':

<?php
svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_USERNAME, 'Bob');
svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_PASSWORD, 'abc123');
?>

Siehe auch

  • svn_auth_get_parameter() - Retrieves authentication parameter
  • Authentication constants

svn_auth_get_parameter
svn_blame
SVN Funktionen


Get the SVN blame for a file

svn_auth_set_parameter
svn_cat
SVN Funktionen
PHP Manual

svn_blame

(PECL svn >= 0.3.0)

svn_blame — Get the SVN blame for a file

Beschreibung

array svn_blame ( string $repository_url [, int $revision_no = SVN_REVISION_HEAD ] )

Get the SVN blame of a file from a repository URL.

Parameter-Liste

repository_url

The repository URL.

revision_no

The revision number.

Rückgabewerte

An array of SVN blame information separated by line which includes the revision number, line number, line of code, author, and date.

Beispiele

Beispiel #1 svn_blame() example

<?php
$svnurl = 'http://svn.example.org/svnroot/foo/trunk/index.php';

print_r( svn_blame($svnurl) );

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [0] = Array
          (
           [rev] = 1
           [line_no] = 1
           [line] = Hello World
           [author] = joesmith
           [date] = 2007-07-02T05:51:26.628396Z
          )
    [1] = Array
          ...

Siehe auch

  • svn_diff() - Recursively diffs two paths
  • svn_logs()
  • svn_status() - Returns the status of working copy files and directories

svn_auth_set_parameter
svn_cat
SVN Funktionen


Returns the contents of a file in a repository

svn_blame
svn_checkout
SVN Funktionen
PHP Manual

svn_cat

(PECL svn >= 0.1.0)

svn_cat — Returns the contents of a file in a repository

Beschreibung

string svn_cat ( string $repos_url [, int $revision_no ] )

Returns the contents of the URL repos_url to a file in the repository, optionally at revision number revision_no.

Parameter-Liste

repos_url

String URL path to item in a repository.

revision_no

Integer revision number of item to retrieve, default is the HEAD revision.

Rückgabewerte

Returns the string contents of the item from the repository on success, and FALSE on failure.

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Beispiele

Beispiel #1 Basic example

This example retrieves the contents of a file at revision 28:

<?php
$contents = svn_cat('http://www.example.com/svnroot/calc/gui.c', 28)
?>

Siehe auch

  • svn_list()
  • » SVN documentation on svn cat

svn_blame
svn_checkout
SVN Funktionen


Checks out a working copy from the repository

svn_cat
svn_cleanup
SVN Funktionen
PHP Manual

svn_checkout

(PECL svn >= 0.1.0)

svn_checkout — Checks out a working copy from the repository

Beschreibung

bool svn_checkout ( string $repos , string $targetpath [, int $revision [, int $flags = 0 ]] )

Checks out a working copy from the repository at repos to targetpath at revision revision.

Parameter-Liste

repos

String URL path to directory in repository to check out.

targetpath

String local path to directory to check out in to

Hinweis: Relative Pfade werden so aufgelöst, als ob das aktuelle Verzeichnis das wäre, in dem sich das PHP-Binary befindet. Um stattdessen das aktuelle Verzeichnis des aufrufenden Skripts zu nutzen, müssen sie die realpath()-Funktion oder dirname(__FILE__) zu Hilfe ziehen.

revision

Integer revision number of repository to check out. Default is HEAD, the most recent revision.

flags

Any combination of SVN_NON_RECURSIVE and SVN_IGNORE_EXTERNALS.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Beispiele

Beispiel #1 Basic example

This example demonstrates how to check out a directory from a repository to a directory named calc:

<?php
svn_checkout('http://www.example.com/svnroot/calc/trunk', dirname(__FILE__) . '/calc');
?>

The dirname(__FILE__) call is necessary in order to convert the calc relative path into an absolute one. If calc exists, you can also use realpath() to retrieve an absolute path.

Siehe auch

  • svn_add() - Schedules the addition of an item in a working directory
  • svn_commit() - Sends changes from the local working copy to the repository
  • svn_status() - Returns the status of working copy files and directories
  • svn_update() - Update working copy
  • » SVN documentation on svn checkout

svn_cat
svn_cleanup
SVN Funktionen


Recursively cleanup a working copy directory, finishing incomplete operations and removing locks

svn_checkout
svn_client_version
SVN Funktionen
PHP Manual

svn_cleanup

(PECL svn >= 0.1.0)

svn_cleanup — Recursively cleanup a working copy directory, finishing incomplete operations and removing locks

Beschreibung

bool svn_cleanup ( string $workingdir )

Recursively cleanup working copy directory workingdir, finishing any incomplete operations and removing working copy locks. Use when a working copy is in limbo and needs to be usable again.

Parameter-Liste

workingdir

String path to local working directory to cleanup

Hinweis: Relative Pfade werden so aufgelöst, als ob das aktuelle Verzeichnis das wäre, in dem sich das PHP-Binary befindet. Um stattdessen das aktuelle Verzeichnis des aufrufenden Skripts zu nutzen, müssen sie die realpath()-Funktion oder dirname(__FILE__) zu Hilfe ziehen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Beispiele

Beispiel #1 Basic example

This example demonstrates clean up of a working copy in a directory named help-me:

<?php
svn_cleanup(realpath('help-me'));
?>

The realpath() call is necessary due to SVN's quirky handling of relative paths.

Siehe auch

  • update()
  • » SVN documentation on svn cleanup

svn_checkout
svn_client_version
SVN Funktionen


Returns the version of the SVN client libraries

svn_cleanup
svn_commit
SVN Funktionen
PHP Manual

svn_client_version

(PECL svn >= 0.1.0)

svn_client_version — Returns the version of the SVN client libraries

Beschreibung

string svn_client_version ( void )

Returns the version of the SVN client libraries

Rückgabewerte

String version number, usually in form of x.y.z.

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Beispiele

Beispiel #1 Basic example

<?php
echo svn_client_version();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

1.3.1

svn_cleanup
svn_commit
SVN Funktionen


Sends changes from the local working copy to the repository

svn_client_version
svn_delete
SVN Funktionen
PHP Manual

svn_commit

(PECL svn >= 0.1.0)

svn_commit — Sends changes from the local working copy to the repository

Beschreibung

array svn_commit ( string $log , array $targets [, bool $recursive = true ] )

Commits changes made in the local working copy files enumerated in the targets array to the repository, with the log message log. Directories in the targets array will be recursively committed unless recursive is set to FALSE.

Hinweis: This function does not have any parameters for specifying authentication, so a username and password must be set using svn_auth_set_parameter()

Parameter-Liste

log

String log text to commit

targets

Array of local paths of files to be committed

Warnung

This parameter must be an array, a string for a single target is not acceptable.

Hinweis: Relative Pfade werden so aufgelöst, als ob das aktuelle Verzeichnis das wäre, in dem sich das PHP-Binary befindet. Um stattdessen das aktuelle Verzeichnis des aufrufenden Skripts zu nutzen, müssen sie die realpath()-Funktion oder dirname(__FILE__) zu Hilfe ziehen.

recursive

Boolean flag to disable recursive committing of directories in the targets array. Default is TRUE.

Rückgabewerte

Returns array in form of:

array(
    0 => integer revision number of commit
    1 => string ISO 8601 date and time of commit
    2 => name of committer
)

Returns FALSE on failure.

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Beispiele

Beispiel #1 Basic example

This example commits the calculator directory to a repository, using the username Bob and the password abc123 (hopefully, his password is stronger):

<?php
svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_USERNAME, 'Bob');
svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_PASSWORD, 'abc123');
var_dump(svn_commit('Log message of Bob\'s commit', array(realpath('calculator'))));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(
  0 => 1415,
  1 => '2007-05-26T01:44:28.453125Z',
  2 => 'Bob'
)

Siehe auch

  • svn_auth_set_parameter() - Sets an authentication parameter
  • » SVN documentation on svn commit

svn_client_version
svn_delete
SVN Funktionen


Delete items from a working copy or repository.

svn_commit
svn_diff
SVN Funktionen
PHP Manual

svn_delete

(PECL svn >= 0.4.0)

svn_delete — Delete items from a working copy or repository.

Beschreibung

bool svn_delete ( string $path [, bool $force = false ] )

Deletes the file, directory or symbolic link at path from the working directory. The item will be deleted from the repository the next time you call svn_commit() on the working copy.

Parameter-Liste

path

Path of item to delete.

Hinweis: Relative Pfade werden so aufgelöst, als ob das aktuelle Verzeichnis das wäre, in dem sich das PHP-Binary befindet. Um stattdessen das aktuelle Verzeichnis des aufrufenden Skripts zu nutzen, müssen sie die realpath()-Funktion oder dirname(__FILE__) zu Hilfe ziehen.

force

If TRUE, the file will be deleted even if it has local modifications. Otherwise, local modifications will result in a failure. Default is FALSE

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Siehe auch

  • » SVN documentation on svn delete

svn_commit
svn_diff
SVN Funktionen


Recursively diffs two paths

svn_delete
svn_export
SVN Funktionen
PHP Manual

svn_diff

(PECL svn >= 0.1.0)

svn_diff — Recursively diffs two paths

Beschreibung

array svn_diff ( string $path1 , int $rev1 , string $path2 , int $rev2 )

Recursively diffs two paths, path1 and path2.

Hinweis:

This is not a general-purpose diff utility. Only local files that are versioned may be diffed: other files will fail.

Parameter-Liste

path1

First path to diff. This can be a URL to a file/directory in an SVN repository or a local file/directory path.

Hinweis: Relative Pfade werden so aufgelöst, als ob das aktuelle Verzeichnis das wäre, in dem sich das PHP-Binary befindet. Um stattdessen das aktuelle Verzeichnis des aufrufenden Skripts zu nutzen, müssen sie die realpath()-Funktion oder dirname(__FILE__) zu Hilfe ziehen.

Warnung

If a local file path has only backslashes and no forward slashes, this extension will fail to find the path. Always replace all backslashes with forward slashes when using this function.

rev1

First path's revision number. Use SVN_REVISION_HEAD to specify the most recent revision.

path2

Second path to diff. See path1 for description.

rev2

Second path's revision number. See rev1 for description.

Rückgabewerte

Returns an array-list consisting of two streams: the first is the diff output and the second contains error stream output. The streams can be read using fread(). Returns FALSE or NULL on error.

The diff output will, by default, be in the form of Subversion's custom unified diff format, but an » external diff engine may be used depending on Subversion's configuration.

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Beispiele

Beispiel #1 Basic example

This example demonstrates the basic usage of this function, and the retrieval of contents from the stream:

<?php
list($diff, $errors) = svn_diff(
    'http://www.example.com/svnroot/trunk/foo', SVN_REVISION_HEAD,
    'http://www.example.com/svnroot/branches/dev/foo', SVN_REVISION_HEAD
);
if (!$diff) exit;
$contents = '';
while (!feof($diff)) {
  $contents .= fread($diff, 8192);
}
fclose($diff);
fclose($errors);
var_dump($contents);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Index: http://www.example.com/svnroot/trunk/foo
===================================================================
--- http://www.example.com/svnroot/trunk/foo        (.../foo) (revision 23)
+++ http://www.example.com/svnroot/branches/dev/foo (.../foo) (revision 27)
 // further diff output

Beispiel #2 Diffing two revisions of a repository path

This example implements a wrapper function that allows a user to easily diff two revisions of the same item using an external repository path (the default syntax is somewhat verbose):

<?php
function svn_diff_same_item($path, $rev1, $rev2) {
    return svn_diff($path, $rev1, $path, $rev2);
}
?>

Beispiel #3 Portably diffing two local files

This example implements a wrapper function that portably diffs two local files, compensating for the realpath() fix and the backslashes bug:

<?php
function svn_diff_local($path1, $rev1, $path2, $rev2) {
    $path1 = str_replace('\\', '/', realpath($path1));
    $path2 = str_replace('\\', '/', realpath($path2));
    return svn_diff($path1, $rev1, $path2, $rev2);
}
?>

Siehe auch

  • » SVN documentation on svn diff

svn_delete
svn_export
SVN Funktionen


Export the contents of a SVN directory

svn_diff
svn_fs_abort_txn
SVN Funktionen
PHP Manual

svn_export

(PECL svn >= 0.3.0)

svn_export — Export the contents of a SVN directory

Beschreibung

bool svn_export ( string $frompath , string $topath [, bool $working_copy = true [, int $revision_no = -1 ]] )

Export the contents of either a working copy or repository into a 'clean' directory.

Parameter-Liste

frompath

The path to the current repository.

topath

The path to the new repository.

working_copy

If TRUE, it will export uncommitted files from the working copy.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 svn_export() example

<?php
$working_dir     = '../';
$new_working_dir = '/home/user/devel/foo/trunk';

svn_export($working_dir, $new_working_dir);
?>

Siehe auch

  • svn_import() - Imports an unversioned path into a repository

svn_diff
svn_fs_abort_txn
SVN Funktionen


Abort a transaction, returns true if everything is okay, false otherwise

svn_export
svn_fs_apply_text
SVN Funktionen
PHP Manual

svn_fs_abort_txn

(PECL svn >= 0.2.0)

svn_fs_abort_txn — Abort a transaction, returns true if everything is okay, false otherwise

Beschreibung

bool svn_fs_abort_txn ( resource $txn )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Abort a transaction, returns true if everything is okay, false otherwise

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

svn_export
svn_fs_apply_text
SVN Funktionen


Creates and returns a stream that will be used to replace

svn_fs_abort_txn
svn_fs_begin_txn2
SVN Funktionen
PHP Manual

svn_fs_apply_text

(PECL svn >= 0.2.0)

svn_fs_apply_text — Creates and returns a stream that will be used to replace

Beschreibung

resource svn_fs_apply_text ( resource $root , string $path )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Creates and returns a stream that will be used to replace

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

svn_fs_abort_txn
svn_fs_begin_txn2
SVN Funktionen


Create a new transaction

svn_fs_apply_text
svn_fs_change_node_prop
SVN Funktionen
PHP Manual

svn_fs_begin_txn2

(PECL svn >= 0.2.0)

svn_fs_begin_txn2 — Create a new transaction

Beschreibung

resource svn_fs_begin_txn2 ( resource $repos , int $rev )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Create a new transaction

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

svn_fs_apply_text
svn_fs_change_node_prop
SVN Funktionen


Return true if everything is ok, false otherwise

svn_fs_begin_txn2
svn_fs_check_path
SVN Funktionen
PHP Manual

svn_fs_change_node_prop

(PECL svn >= 0.2.0)

svn_fs_change_node_prop — Return true if everything is ok, false otherwise

Beschreibung

bool svn_fs_change_node_prop ( resource $root , string $path , string $name , string $value )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Return true if everything is ok, false otherwise

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

svn_fs_begin_txn2
svn_fs_check_path
SVN Funktionen


Determines what kind of item lives at path in a given repository fsroot

svn_fs_change_node_prop
svn_fs_contents_changed
SVN Funktionen
PHP Manual

svn_fs_check_path

(PECL svn >= 0.1.0)

svn_fs_check_path — Determines what kind of item lives at path in a given repository fsroot

Beschreibung

int svn_fs_check_path ( resource $fsroot , string $path )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Determines what kind of item lives at path in a given repository fsroot

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

svn_fs_change_node_prop
svn_fs_contents_changed
SVN Funktionen


Return true if content is different, false otherwise

svn_fs_check_path
svn_fs_copy
SVN Funktionen
PHP Manual

svn_fs_contents_changed

(PECL svn >= 0.2.0)

svn_fs_contents_changed — Return true if content is different, false otherwise

Beschreibung

bool svn_fs_contents_changed ( resource $root1 , string $path1 , resource $root2 , string $path2 )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Return true if content is different, false otherwise

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

svn_fs_check_path
svn_fs_copy
SVN Funktionen


Copies a file or a directory, returns true if all is ok, false otherwise

svn_fs_contents_changed
svn_fs_delete
SVN Funktionen
PHP Manual

svn_fs_copy

(PECL svn >= 0.2.0)

svn_fs_copy — Copies a file or a directory, returns true if all is ok, false otherwise

Beschreibung

bool svn_fs_copy ( resource $from_root , string $from_path , resource $to_root , string $to_path )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Copies a file or a directory, returns true if all is ok, false otherwise

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

svn_fs_contents_changed
svn_fs_delete
SVN Funktionen


Deletes a file or a directory, return true if all is ok, false otherwise

svn_fs_copy
svn_fs_dir_entries
SVN Funktionen
PHP Manual

svn_fs_delete

(PECL svn >= 0.2.0)

svn_fs_delete — Deletes a file or a directory, return true if all is ok, false otherwise

Beschreibung

bool svn_fs_delete ( resource $root , string $path )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Deletes a file or a directory, return true if all is ok, false otherwise

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

svn_fs_copy
svn_fs_dir_entries
SVN Funktionen


Enumerates the directory entries under path; returns a hash of dir names to file type

svn_fs_delete
svn_fs_file_contents
SVN Funktionen
PHP Manual

svn_fs_dir_entries

(PECL svn >= 0.1.0)

svn_fs_dir_entries — Enumerates the directory entries under path; returns a hash of dir names to file type

Beschreibung

array svn_fs_dir_entries ( resource $fsroot , string $path )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Enumerates the directory entries under path; returns a hash of dir names to file type

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

svn_fs_delete
svn_fs_file_contents
SVN Funktionen


Returns a stream to access the contents of a file from a given version of the fs

svn_fs_dir_entries
svn_fs_file_length
SVN Funktionen
PHP Manual

svn_fs_file_contents

(PECL svn >= 0.1.0)

svn_fs_file_contents — Returns a stream to access the contents of a file from a given version of the fs

Beschreibung

resource svn_fs_file_contents ( resource $fsroot , string $path )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns a stream to access the contents of a file from a given version of the fs

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

svn_fs_dir_entries
svn_fs_file_length
SVN Funktionen


Returns the length of a file from a given version of the fs

svn_fs_file_contents
svn_fs_is_dir
SVN Funktionen
PHP Manual

svn_fs_file_length

(PECL svn >= 0.1.0)

svn_fs_file_length — Returns the length of a file from a given version of the fs

Beschreibung

int svn_fs_file_length ( resource $fsroot , string $path )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns the length of a file from a given version of the fs

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

svn_fs_file_contents
svn_fs_is_dir
SVN Funktionen


Return true if the path points to a directory, false otherwise

svn_fs_file_length
svn_fs_is_file
SVN Funktionen
PHP Manual

svn_fs_is_dir

(PECL svn >= 0.2.0)

svn_fs_is_dir — Return true if the path points to a directory, false otherwise

Beschreibung

bool svn_fs_is_dir ( resource $root , string $path )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Return true if the path points to a directory, false otherwise

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

svn_fs_file_length
svn_fs_is_file
SVN Funktionen


Return true if the path points to a file, false otherwise

svn_fs_is_dir
svn_fs_make_dir
SVN Funktionen
PHP Manual

svn_fs_is_file

(PECL svn >= 0.2.0)

svn_fs_is_file — Return true if the path points to a file, false otherwise

Beschreibung

bool svn_fs_is_file ( resource $root , string $path )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Return true if the path points to a file, false otherwise

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

svn_fs_is_dir
svn_fs_make_dir
SVN Funktionen


Creates a new empty directory, returns true if all is ok, false otherwise

svn_fs_is_file
svn_fs_make_file
SVN Funktionen
PHP Manual

svn_fs_make_dir

(PECL svn >= 0.2.0)

svn_fs_make_dir — Creates a new empty directory, returns true if all is ok, false otherwise

Beschreibung

bool svn_fs_make_dir ( resource $root , string $path )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Creates a new empty directory, returns true if all is ok, false otherwise

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

svn_fs_is_file
svn_fs_make_file
SVN Funktionen


Creates a new empty file, returns true if all is ok, false otherwise

svn_fs_make_dir
svn_fs_node_created_rev
SVN Funktionen
PHP Manual

svn_fs_make_file

(PECL svn >= 0.2.0)

svn_fs_make_file — Creates a new empty file, returns true if all is ok, false otherwise

Beschreibung

bool svn_fs_make_file ( resource $root , string $path )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Creates a new empty file, returns true if all is ok, false otherwise

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

svn_fs_make_dir
svn_fs_node_created_rev
SVN Funktionen


Returns the revision in which path under fsroot was created

svn_fs_make_file
svn_fs_node_prop
SVN Funktionen
PHP Manual

svn_fs_node_created_rev

(PECL svn >= 0.1.0)

svn_fs_node_created_rev — Returns the revision in which path under fsroot was created

Beschreibung

int svn_fs_node_created_rev ( resource $fsroot , string $path )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns the revision in which path under fsroot was created

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

svn_fs_make_file
svn_fs_node_prop
SVN Funktionen


Returns the value of a property for a node

svn_fs_node_created_rev
svn_fs_props_changed
SVN Funktionen
PHP Manual

svn_fs_node_prop

(PECL svn >= 0.1.0)

svn_fs_node_prop — Returns the value of a property for a node

Beschreibung

string svn_fs_node_prop ( resource $fsroot , string $path , string $propname )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns the value of a property for a node

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

svn_fs_node_created_rev
svn_fs_props_changed
SVN Funktionen


Return true if props are different, false otherwise

svn_fs_node_prop
svn_fs_revision_prop
SVN Funktionen
PHP Manual

svn_fs_props_changed

(PECL svn >= 0.2.0)

svn_fs_props_changed — Return true if props are different, false otherwise

Beschreibung

bool svn_fs_props_changed ( resource $root1 , string $path1 , resource $root2 , string $path2 )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Return true if props are different, false otherwise

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

svn_fs_node_prop
svn_fs_revision_prop
SVN Funktionen


Fetches the value of a named property

svn_fs_props_changed
svn_fs_revision_root
SVN Funktionen
PHP Manual

svn_fs_revision_prop

(PECL svn >= 0.1.0)

svn_fs_revision_prop — Fetches the value of a named property

Beschreibung

string svn_fs_revision_prop ( resource $fs , int $revnum , string $propname )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Fetches the value of a named property

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

svn_fs_props_changed
svn_fs_revision_root
SVN Funktionen


Get a handle on a specific version of the repository root

svn_fs_revision_prop
svn_fs_txn_root
SVN Funktionen
PHP Manual

svn_fs_revision_root

(PECL svn >= 0.1.0)

svn_fs_revision_root — Get a handle on a specific version of the repository root

Beschreibung

resource svn_fs_revision_root ( resource $fs , int $revnum )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Get a handle on a specific version of the repository root

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

svn_fs_revision_prop
svn_fs_txn_root
SVN Funktionen


Creates and returns a transaction root

svn_fs_revision_root
svn_fs_youngest_rev
SVN Funktionen
PHP Manual

svn_fs_txn_root

(PECL svn >= 0.2.0)

svn_fs_txn_root — Creates and returns a transaction root

Beschreibung

resource svn_fs_txn_root ( resource $txn )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Creates and returns a transaction root

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

svn_fs_revision_root
svn_fs_youngest_rev
SVN Funktionen


Returns the number of the youngest revision in the filesystem

svn_fs_txn_root
svn_import
SVN Funktionen
PHP Manual

svn_fs_youngest_rev

(PECL svn >= 0.1.0)

svn_fs_youngest_rev — Returns the number of the youngest revision in the filesystem

Beschreibung

int svn_fs_youngest_rev ( resource $fs )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Returns the number of the youngest revision in the filesystem

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

svn_fs_txn_root
svn_import
SVN Funktionen


Imports an unversioned path into a repository

svn_fs_youngest_rev
svn_log
SVN Funktionen
PHP Manual

svn_import

(PECL svn >= 0.2.0)

svn_import — Imports an unversioned path into a repository

Beschreibung

bool svn_import ( string $path , string $url , bool $nonrecursive )

Commits unversioned path into repository at url. If path is a directory and nonrecursive is FALSE, the directory will be imported recursively.

Parameter-Liste

path

Path of file or directory to import.

Hinweis: Relative Pfade werden so aufgelöst, als ob das aktuelle Verzeichnis das wäre, in dem sich das PHP-Binary befindet. Um stattdessen das aktuelle Verzeichnis des aufrufenden Skripts zu nutzen, müssen sie die realpath()-Funktion oder dirname(__FILE__) zu Hilfe ziehen.

url

Repository URL to import into.

nonrecursive

Whether or not to refrain from recursively processing directories.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Beispiele

Beispiel #1 Basic example

This example demonstrates a basic use-case of this function. To import a directory named new-files into the repository at http://www.example.com/svnroot/incoming/abc, use:

<?php
svn_import(realpath('new-files'), 'http://www.example.com/svnroot/incoming/abc', false);
?>

Siehe auch

  • svn_add() - Schedules the addition of an item in a working directory
  • » SVN documentation for svn import

svn_fs_youngest_rev
svn_log
SVN Funktionen


Returns the commit log messages of a repository URL

svn_import
svn_ls
SVN Funktionen
PHP Manual

svn_log

(PECL svn >= 0.1.0)

svn_log — Returns the commit log messages of a repository URL

Beschreibung

array svn_log ( string $repos_url [, int $start_revision [, int $end_revision [, int $limit = 0 [, int $flags = SVN_DISCOVER_CHANGED_PATHS | SVN_STOP_ON_COPY ]]]] )

svn_log() returns the complete history of the item at the repository URL repos_url, or the history of a specific revision if start_revision is set. This function is equivalent to svn log --verbose -r $start_revision $repos_url.

Parameter-Liste

repos_url

Repository URL of the item to retrieve log history from.

start_revision

Revision number of the first log to retrieve. Use SVN_REVISION_HEAD to retrieve the log from the most recent revision.

end_revision

Revision number of the last log to retrieve. Defaults to start_revision if specified or to SVN_REVISION_INITIAL otherwise.

limit

Number of logs to retrieve.

flags

Any combination of SVN_OMIT_MESSAGES, SVN_DISCOVER_CHANGED_PATHS and SVN_STOP_ON_COPY.

Rückgabewerte

On success, this function returns an array file listing in the format of:

[0] => Array, ordered most recent (highest) revision first
(
    [rev] => integer revision number
    [author] => string author name
    [msg] => string log message
    [date] => string date formatted per ISO 8601, i.e. date('c')
    [paths] => Array, describing changed files
        (
            [0] => Array
                (
                    [action] => string letter signifying change
                    [path] =>  absolute repository path of changed file
                )
            [1] => ...
        )
)
[1] => ...

Hinweis:

The output will always be a numerically indexed array of arrays, even when there are none or only one log message(s).

The value of action is a subset of the » status output in the first column, where possible values are:

Actions
Letter | Description
M | Item/props was modified
A | Item was added
D | Item was deleted
R | Item was replaced

If no changes were made to the item, an empty array is returned.

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Beispiele

Beispiel #1 svn_log() example

<?php
print_r( svn_log('http://www.example.com/', 23) );
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [0] => Array
    (
        [rev] => 23
        [author] => 'joe'
        [msg] => 'Add cheese and salami to our sandwich.'
        [date] => '2007-04-06T16:00:27-04:00'
        [paths] => Array
            (
                [0] => Array
                    (
                        [action] => 'M'
                        [path] =>  '/sandwich.txt'
                    )
            )
    )
)

Siehe auch

  • » SVN documentation on svn log

svn_import
svn_ls
SVN Funktionen


Returns list of directory contents in repository URL, optionally at revision number

svn_log
svn_mkdir
SVN Funktionen
PHP Manual

svn_ls

(PECL svn >= 0.1.0)

svn_ls — Returns list of directory contents in repository URL, optionally at revision number

Beschreibung

array svn_ls ( string $repos_url [, int $revision_no = SVN_REVISION_HEAD [, bool $recurse = false [, bool $peg = false ]]] )

This function queries the repository URL and returns a list of files and directories, optionally from a specific revision. This is equivalent to svn list $repos_url[@$revision_no]

Hinweis:

This function does not work with working copies. repos_url must be a repository URL.

Parameter-Liste

url

URL of the repository, eg. http://www.example.com/svnroot. To access a local Subversion repository via filesystem, use the file URI scheme, eg. file:///home/user/svn-repos

revision

Integer revision number to retrieve listing of. When omitted, the HEAD revision is used.

recurse

Enables recursion.

Rückgabewerte

On success, this function returns an array file listing in the format of:

[0] => Array
    (
        [created_rev] => integer revision number of last edit
        [last_author] => string author name of last edit
        [size] => integer byte file size of file
        [time] => string date of last edit in form 'M d H:i'
                  or 'M d Y', depending on how old the file is
        [time_t] => integer unix timestamp of last edit
        [name] => name of file/directory
        [type] => type, can be 'file' or 'dir'
    )
[1] => ...

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Beispiele

Beispiel #1 svn_ls() example

<?php
print_r( svn_ls('http://www.example.com/svnroot/') );
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [0] => Array
        (
            [created_rev] => 20
            [last_author] => Joe
            [size] => 0
            [time] => Apr 02 09:28
            [time_t] => 1175520529
            [name] => tags
            [type] => dir
        )
    [1] => Array
        (
            [created_rev] => 23
            [last_author] => Bob
            [size] => 0
            [time] => Apr 02 15:15
            [time_t] => 1175541322
            [name] => trunk
            [type] => dir
        )
)

Siehe auch

  • » SVN documentation on svn list

svn_log
svn_mkdir
SVN Funktionen


Creates a directory in a working copy or repository

svn_ls
svn_repos_create
SVN Funktionen
PHP Manual

svn_mkdir

(PECL svn >= 0.4.0)

svn_mkdir — Creates a directory in a working copy or repository

Beschreibung

bool svn_mkdir ( string $path [, string $log_message ] )

Creates a directory in a working copy or repository.

Parameter-Liste

path

The path to the working copy or repository.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • svn_add() - Schedules the addition of an item in a working directory
  • svn_copy()

svn_ls
svn_repos_create
SVN Funktionen


Create a new subversion repository at path

svn_mkdir
svn_repos_fs_begin_txn_for_commit
SVN Funktionen
PHP Manual

svn_repos_create

(PECL svn >= 0.1.0)

svn_repos_create — Create a new subversion repository at path

Beschreibung

resource svn_repos_create ( string $path [, array $config [, array $fsconfig ]] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Create a new subversion repository at path

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

svn_mkdir
svn_repos_fs_begin_txn_for_commit
SVN Funktionen


Create a new transaction

svn_repos_create
svn_repos_fs_commit_txn
SVN Funktionen
PHP Manual

svn_repos_fs_begin_txn_for_commit

(PECL svn >= 0.2.0)

svn_repos_fs_begin_txn_for_commit — Create a new transaction

Beschreibung

resource svn_repos_fs_begin_txn_for_commit ( resource $repos , int $rev , string $author , string $log_msg )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Create a new transaction

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

svn_repos_create
svn_repos_fs_commit_txn
SVN Funktionen


Commits a transaction and returns the new revision

svn_repos_fs_begin_txn_for_commit
svn_repos_fs
SVN Funktionen
PHP Manual

svn_repos_fs_commit_txn

(PECL svn >= 0.2.0)

svn_repos_fs_commit_txn — Commits a transaction and returns the new revision

Beschreibung

int svn_repos_fs_commit_txn ( resource $txn )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Commits a transaction and returns the new revision

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

svn_repos_fs_begin_txn_for_commit
svn_repos_fs
SVN Funktionen


Gets a handle on the filesystem for a repository

svn_repos_fs_commit_txn
svn_repos_hotcopy
SVN Funktionen
PHP Manual

svn_repos_fs

(PECL svn >= 0.1.0)

svn_repos_fs — Gets a handle on the filesystem for a repository

Beschreibung

resource svn_repos_fs ( resource $repos )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Gets a handle on the filesystem for a repository

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

svn_repos_fs_commit_txn
svn_repos_hotcopy
SVN Funktionen


Make a hot-copy of the repos at repospath; copy it to destpath

svn_repos_fs
svn_repos_open
SVN Funktionen
PHP Manual

svn_repos_hotcopy

(PECL svn >= 0.1.0)

svn_repos_hotcopy — Make a hot-copy of the repos at repospath; copy it to destpath

Beschreibung

bool svn_repos_hotcopy ( string $repospath , string $destpath , bool $cleanlogs )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Make a hot-copy of the repos at repospath; copy it to destpath

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

svn_repos_fs
svn_repos_open
SVN Funktionen


Open a shared lock on a repository.

svn_repos_hotcopy
svn_repos_recover
SVN Funktionen
PHP Manual

svn_repos_open

(PECL svn >= 0.1.0)

svn_repos_open — Open a shared lock on a repository.

Beschreibung

resource svn_repos_open ( string $path )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Open a shared lock on a repository.

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

svn_repos_hotcopy
svn_repos_recover
SVN Funktionen


Run recovery procedures on the repository located at path.

svn_repos_open
svn_revert
SVN Funktionen
PHP Manual

svn_repos_recover

(PECL svn >= 0.1.0)

svn_repos_recover — Run recovery procedures on the repository located at path.

Beschreibung

bool svn_repos_recover ( string $path )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Run recovery procedures on the repository located at path.

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

svn_repos_open
svn_revert
SVN Funktionen


Revert changes to the working copy

svn_repos_recover
svn_status
SVN Funktionen
PHP Manual

svn_revert

(PECL svn >= 0.3.0)

svn_revert — Revert changes to the working copy

Beschreibung

bool svn_revert ( string $path [, bool $recursive = false ] )

Revert any local changes to the path in a working copy.

Parameter-Liste

path

The path to the working repository.

recursive

Optionally make recursive changes.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • svn_delete() - Delete items from a working copy or repository.
  • svn_export() - Export the contents of a SVN directory

svn_repos_recover
svn_status
SVN Funktionen


Returns the status of working copy files and directories

svn_revert
svn_update
SVN Funktionen
PHP Manual

svn_status

(PECL svn >= 0.1.0)

svn_status — Returns the status of working copy files and directories

Beschreibung

array svn_status ( string $path [, int $flags = 0 ] )

Returns the status of working copy files and directories, giving modifications, additions, deletions and other changes to items in the working copy.

Parameter-Liste

path

Local path to file or directory to retrieve status of.

Hinweis: Relative Pfade werden so aufgelöst, als ob das aktuelle Verzeichnis das wäre, in dem sich das PHP-Binary befindet. Um stattdessen das aktuelle Verzeichnis des aufrufenden Skripts zu nutzen, müssen sie die realpath()-Funktion oder dirname(__FILE__) zu Hilfe ziehen.

flags

Any combination of SVN_NON_RECURSIVE, SVN_ALL (regardless of modification status), SVN_SHOW_UPDATES (entries will be added for items that are out-of-date), SVN_NO_IGNORE (disregard svn:ignore properties when scanning for new files) and SVN_IGNORE_EXTERNALS.

Rückgabewerte

Returns a numerically indexed array of associative arrays detailing the status of items in the repository:

Array (
    [0] => Array (
        // information on item
    )
    [1] => ...
)

The information on the item is an associative array that can contain the following keys:

path
String path to file/directory of this entry on local filesystem.
text_status
Status of item's text. Siehe auch Status-Konstanten für mögliche Werte.
repos_text_status
Status of item's text in repository. Only accurate if update was set to TRUE. Siehe auch Status-Konstanten für mögliche Werte.
prop_status
Status of item's properties. Siehe auch Status-Konstanten für mögliche Werte.
repos_prop_status
Status of item's property in repository. Only accurate if update was set to TRUE. Siehe auch Status-Konstanten für mögliche Werte.
locked
Whether or not the item is locked. (Only set if TRUE.)
copied
Whether or not the item was copied (scheduled for addition with history). (Only set if TRUE.)
switched
Whether or not the item was switched using the switch command. (Only set if TRUE)

These keys are only set if the item is versioned:

name
Base name of item in repository.
url
URL of item in repository.
repos
Base URL of repository.
revision
Integer revision of item in working copy.
kind
Type of item, i.e. file or directory. Siehe auch Type-Konstanten für mögliche Werte.
schedule
Scheduled action for item, i.e. addition or deletion. Constants for these magic numbers are not available, they can be emulated by using:
<?php
if (!defined('svn_wc_schedule_normal')) {
    define('svn_wc_schedule_normal',  0); // nothing special
    define('svn_wc_schedule_add',     1); // item will be added
    define('svn_wc_schedule_delete',  2); // item will be deleted
    define('svn_wc_schedule_replace', 3); // item will be added and deleted
}
?>
deleted
Whether or not the item was deleted, but parent revision lags behind. (Only set if TRUE.)
absent
Whether or not the item is absent, that is, Subversion knows that there should be something there but there isn't. (Only set if TRUE.)
incomplete
Whether or not the entries file for a directory is incomplete. (Only set if TRUE.)
cmt_date
Integer Unix timestamp of last commit date. (Unaffected by update.)
cmt_rev
Integer revision of last commit. (Unaffected by update.)
cmt_author
String author of last commit. (Unaffected by update.)
prop_time
Integer Unix timestamp of last up-to-date time for properties
text_time
Integer Unix timestamp of last up-to-date time for text

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Beispiele

Beispiel #1 Basic example

This example demonstrates a basic, theoretical usage of this function.

<?php
print_r(svn_status(realpath('wc')));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array (
    [0] => Array (
        [path] => /home/bob/wc/sandwich.txt
        [text_status] => 8 // item was modified
        [repos_text_status] => 1 // no information available, use update
        [prop_status] => 3 // no changes
        [repos_prop_status] => 1 // no information available, use update
        [name] => sandwich.txt
        [url] => http://www.example.com/svnroot/deli/trunk/sandwich.txt
        [repos] => http://www.example.com/svnroot/
        [revision] => 123
        [kind] => 1 // file
        [schedule] => 0 // no special actions scheduled
        [cmt_date] => 1165543135
        [cmt_rev] => 120
        [cmt_author] => Alice
        [prop_time] => 1180201728
        [text_time] => 1180201729
    )
)

Siehe auch

  • svn_update() - Update working copy
  • svn_log() - Returns the commit log messages of a repository URL
  • » SVN documentation for svn status

svn_revert
svn_update
SVN Funktionen


Update working copy

svn_status
TCP
SVN Funktionen
PHP Manual

svn_update

(PECL svn >= 0.1.0)

svn_update — Update working copy

Beschreibung

int svn_update ( string $path [, int $revno = SVN_REVISION_HEAD [, bool $recurse = true ]] )

Update working copy at path to revision revno. If recurse is true, directories will be recursively updated.

Parameter-Liste

path

Path to local working copy.

Hinweis: Relative Pfade werden so aufgelöst, als ob das aktuelle Verzeichnis das wäre, in dem sich das PHP-Binary befindet. Um stattdessen das aktuelle Verzeichnis des aufrufenden Skripts zu nutzen, müssen sie die realpath()-Funktion oder dirname(__FILE__) zu Hilfe ziehen.

revno

Revision number to update to, default is SVN_REVISION_HEAD.

recurse

Whether or not to recursively update directories.

Rückgabewerte

Returns new revision number on success, returns FALSE on failure.

Anmerkungen

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Beispiele

Beispiel #1 Basic example

This example demonstrates basic usage of this function:

<?php
echo svn_update(realpath('working-copy'));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

234

Siehe auch

  • svn_checkout() - Checks out a working copy from the repository
  • svn_commit() - Sends changes from the local working copy to the repository
  • » SVN documentation for svn update

svn_status
TCP
SVN Funktionen


TCP Wrappers

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • TCP Funktionen
    • tcpwrap_check — Performs a tcpwrap check
svn_update
Einführung
Sonstige Dienste


Einführung

The TCP wrappers provides a classical Unix mechanism which has been designed to check if the remote client is able to connect from the given IP address.

TCP
Installation/Konfiguration
TCP


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
TCP


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/tcpwrap.

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
TCP Funktionen
TCP


TCP Funktionen

Inhaltsverzeichnis

  • tcpwrap_check — Performs a tcpwrap check
Vordefinierte Konstanten
tcpwrap_check
TCP


Performs a tcpwrap check

TCP Funktionen
Varnish
TCP Funktionen
PHP Manual

tcpwrap_check

(PECL tcpwrap >= 0.1.0)

tcpwrap_check — Performs a tcpwrap check

Beschreibung

bool tcpwrap_check ( string $daemon , string $address [, string $user [, bool $nodns = false ]] )

This function consults the /etc/hosts.allow and /etc/hosts.deny files to check if access to service daemon should be granted or denied for a client.

Parameter-Liste

daemon

The service name.

address

The client remote address. Can be either an IP address or a domain name.

user

An optional user name.

nodns

If address looks like domain name then DNS is used to resolve it to IP address; set nodns to TRUE to avoid this.

Rückgabewerte

This function returns TRUE if access should be granted, FALSE otherwise.

Beispiele

Beispiel #1 Deny all connections from localhost

If your /etc/hosts.deny file contains:

php: 127.0.0.1

And your code looks like:

<?php
if (!tcpwrap_check('php', $_SERVER['REMOTE_ADDR'])) {
  die('You are not welcome here');
}
?>

Siehe auch

For more details please consult hosts_access(3) man page.

TCP Funktionen
Varnish
TCP Funktionen


Varnish

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • Basic VarnishAdmin usage
    • Basic VarnishStat usage
    • Basic VarnishLog usage
  • VarnishAdmin — The VarnishAdmin class
    • VarnishAdmin::auth — Authenticate on a varnish instance
    • VarnishAdmin::ban — Ban URLs using a VCL expression
    • VarnishAdmin::banUrl — Ban an URL using a VCL expression
    • VarnishAdmin::clearPanic — Clear varnish instance panic messages
    • VarnishAdmin::connect — Connect to a varnish instance administration interface
    • VarnishAdmin::__construct — VarnishAdmin constructor
    • VarnishAdmin::disconnect — Disconnect from a varnish instance administration interface
    • VarnishAdmin::getPanic — Get the last panic message on a varnish instance
    • VarnishAdmin::getParams — Fetch current varnish instance configuration parameters
    • VarnishAdmin::isRunning — Check if the varnish slave process is currently running
    • VarnishAdmin::setCompat — Set the class compat configuration param
    • VarnishAdmin::setHost — Set the class host configuration param
    • VarnishAdmin::setIdent — Set the class ident configuration param
    • VarnishAdmin::setParam — Set configuration param on the current varnish instance
    • VarnishAdmin::setPort — Set the class port configuration param
    • VarnishAdmin::setSecret — Set the class secret configuration param
    • VarnishAdmin::setTimeout — Set the class timeout configuration param
    • VarnishAdmin::start — Start varnish worker process
    • VarnishAdmin::stop — Stop varnish worker process
  • VarnishStat — The VarnishStat class
    • VarnishStat::__construct — VarnishStat constructor
    • VarnishStat::getSnapshot — Get the current varnish instance statistics snapshot
  • VarnishLog — The VarnishLog class
    • VarnishLog::__construct — Varnishlog constructor
    • VarnishLog::getLine — Get next log line
    • VarnishLog::getTagName — Get the log tag string representation by its index
tcpwrap_check
Einführung
Sonstige Dienste


Einführung

Varnish Cache is an open source, state of the art web application accelerator. The extension makes it possible to interact with a running varnish instance through TCP socket or shared memory.

Varnish
Installation/Konfiguration
Varnish


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Varnish


Anforderungen

To use this extension, you will need Varnish Cache of the version >=3.0 installed, available on the » Varnish Cache homepage

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/varnish.

A DLL for this PECL extension is available under » http://windows.php.net/downloads/pecl/releases/varnish/.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

VARNISH_STATUS_SYNTAX (integer)
VARNISH_STATUS_UNKNOWN (integer)
VARNISH_STATUS_UNIMPL (integer)
VARNISH_STATUS_TOOFEW (integer)
VARNISH_STATUS_TOOMANY (integer)
VARNISH_STATUS_PARAM (integer)
VARNISH_STATUS_AUTH (integer)
VARNISH_STATUS_OK (integer)
VARNISH_STATUS_CANT (integer)
VARNISH_STATUS_COMMS (integer)
VARNISH_STATUS_CLOSE (integer)
VARNISH_CONFIG_IDENT (string)
VARNISH_CONFIG_HOST (string)
VARNISH_CONFIG_PORT (string)
VARNISH_CONFIG_TIMEOUT (string)
VARNISH_CONFIG_SECRET (string)
VARNISH_CONFIG_COMPAT (string)
VARNISH_COMPAT_2 (integer)
VARNISH_COMPAT_3 (integer)

Ressource-Typen
Beispiele
Varnish


Beispiele

Inhaltsverzeichnis

  • Basic VarnishAdmin usage
  • Basic VarnishStat usage
  • Basic VarnishLog usage
Vordefinierte Konstanten
Basic VarnishAdmin usage
Varnish


Basic VarnishAdmin usage

The example illustrates a simple usage of the ban functionality

Beispiel #1 Ban an URL

<?php

$args = array(
    VARNISH_CONFIG_HOST    => "::1",
    VARNISH_CONFIG_PORT    => 6082,
    VARNISH_CONFIG_SECRET  => "5174826b-8595-4958-aa7a-0609632ad7ca",
    VARNISH_CONFIG_TIMEOUT => 300,
);

$va = new VarnishAdmin($args);

try {
    if(!$va->connect()) {
        throw new VarnishException("Connection failed\n");
    }
} catch (VarnishException $e) {
    echo $e->getMessage();
    exit(3);
}

try {
    if(!$va->auth()) {
        throw new VarnishException("Auth failed\n");
    }
} catch (VarnishException $e) {
    echo $e->getMessage();
    exit(3);
}

try {
    $status = $va->ban('req.url ~ "^/$"');
    if (VARNISH_STATUS_OK != $status) {
        throw new VarnishException("Ban method returned $status status\n");
    }
} catch (VarnishException $e) {
    echo $e->getMessage();
    exit(3);
}

exit(0);

?>
Beispiele
Basic VarnishStat usage
Beispiele


Basic VarnishStat usage

The example illustrates getting varnish statistic snapshot from shared memory

Beispiel #1 Get statistic snapshot

<?php

$vs = new VarnishStat;

try {
    $data = $vs->getSnapshot();
} catch (VarnishException $e) {
    echo $e->getMessage();
    exit(3);
}

exit(0);
?>
Basic VarnishAdmin usage
Basic VarnishLog usage
Beispiele


Basic VarnishLog usage

The example illustrates reading varnish log lines from shared memory

Beispiel #1 Read varnish shared memory log

<?php

$vl = new VarnishLog;
while(1) {
    $line = $vl->getLine();
    printf("%s %d %s", VarnishLog::getTagName($line['tag'], $line['id'],
    $line['data']);
}

exit(0);
?>
Basic VarnishStat usage
VarnishAdmin
Beispiele


The VarnishAdmin class

(PECL varnish >= 0.3)

Einführung

Klassenbeschreibung

VarnishAdmin {
/* Methoden */
public bool auth ( void )
public int ban ( string $vcl_regex )
public int banUrl ( string $vcl_regex )
public int clearPanic ( void )
public bool connect ( void )
public __construct ([ array $args ] )
public bool disconnect ( void )
public string getPanic ( void )
public array getParams ( void )
public bool isRunning ( void )
public void setCompat ( int $compat )
public void setHost ( string $host )
public void setIdent ( string $ident )
public int setParam ( string $name , string|integer $value )
public void setPort ( int $port )
public void setSecret ( string $secret )
public void setTimeout ( int $timeout )
public int start ( void )
public int stop ( void )
}

Inhaltsverzeichnis

  • VarnishAdmin::auth — Authenticate on a varnish instance
  • VarnishAdmin::ban — Ban URLs using a VCL expression
  • VarnishAdmin::banUrl — Ban an URL using a VCL expression
  • VarnishAdmin::clearPanic — Clear varnish instance panic messages
  • VarnishAdmin::connect — Connect to a varnish instance administration interface
  • VarnishAdmin::__construct — VarnishAdmin constructor
  • VarnishAdmin::disconnect — Disconnect from a varnish instance administration interface
  • VarnishAdmin::getPanic — Get the last panic message on a varnish instance
  • VarnishAdmin::getParams — Fetch current varnish instance configuration parameters
  • VarnishAdmin::isRunning — Check if the varnish slave process is currently running
  • VarnishAdmin::setCompat — Set the class compat configuration param
  • VarnishAdmin::setHost — Set the class host configuration param
  • VarnishAdmin::setIdent — Set the class ident configuration param
  • VarnishAdmin::setParam — Set configuration param on the current varnish instance
  • VarnishAdmin::setPort — Set the class port configuration param
  • VarnishAdmin::setSecret — Set the class secret configuration param
  • VarnishAdmin::setTimeout — Set the class timeout configuration param
  • VarnishAdmin::start — Start varnish worker process
  • VarnishAdmin::stop — Stop varnish worker process
Basic VarnishLog usage
VarnishAdmin::auth
Varnish


Authenticate on a varnish instance

VarnishAdmin
VarnishAdmin::ban
VarnishAdmin
PHP Manual

VarnishAdmin::auth

(PECL varnish >= 0.3)

VarnishAdmin::auth — Authenticate on a varnish instance

Beschreibung

public bool VarnishAdmin::auth ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

VarnishAdmin
VarnishAdmin::ban
VarnishAdmin


Ban URLs using a VCL expression

VarnishAdmin::auth
VarnishAdmin::banUrl
VarnishAdmin
PHP Manual

VarnishAdmin::ban

(PECL varnish >= 0.3)

VarnishAdmin::ban — Ban URLs using a VCL expression

Beschreibung

public int VarnishAdmin::ban ( string $vcl_regex )

Parameter-Liste

vcl_regex

Varnish VCL expression. It's based on the varnish ban command.

Rückgabewerte

Returns the varnish command status.

VarnishAdmin::auth
VarnishAdmin::banUrl
VarnishAdmin


Ban an URL using a VCL expression

VarnishAdmin::ban
VarnishAdmin::clearPanic
VarnishAdmin
PHP Manual

VarnishAdmin::banUrl

(PECL varnish >= 0.3)

VarnishAdmin::banUrl — Ban an URL using a VCL expression

Beschreibung

public int VarnishAdmin::banUrl ( string $vcl_regex )

Parameter-Liste

vcl_regex

URL regular expression in PCRE compatible syntax. It's based on the ban.url varnish command.

Rückgabewerte

Returns the varnish command status.

VarnishAdmin::ban
VarnishAdmin::clearPanic
VarnishAdmin


Clear varnish instance panic messages

VarnishAdmin::banUrl
VarnishAdmin::connect
VarnishAdmin
PHP Manual

VarnishAdmin::clearPanic

(PECL varnish >= 0.4)

VarnishAdmin::clearPanic — Clear varnish instance panic messages

Beschreibung

public int VarnishAdmin::clearPanic ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the varnish command status.

VarnishAdmin::banUrl
VarnishAdmin::connect
VarnishAdmin


Connect to a varnish instance administration interface

VarnishAdmin::clearPanic
VarnishAdmin::__construct
VarnishAdmin
PHP Manual

VarnishAdmin::connect

(PECL varnish >= 0.3)

VarnishAdmin::connect — Connect to a varnish instance administration interface

Beschreibung

public bool VarnishAdmin::connect ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

VarnishAdmin::clearPanic
VarnishAdmin::__construct
VarnishAdmin


VarnishAdmin constructor

VarnishAdmin::connect
VarnishAdmin::disconnect
VarnishAdmin
PHP Manual

VarnishAdmin::__construct

(PECL varnish >= 0.3)

VarnishAdmin::__construct — VarnishAdmin constructor

Beschreibung

public VarnishAdmin::__construct ([ array $args ] )

Parameter-Liste

args

Configuration arguments. The possible keys are:

VARNISH_CONFIG_IDENT - local varnish instance ident
VARNISH_CONFIG_HOST - varnish instance ip
VARNISH_CONFIG_PORT - varnish instance port
VARNISH_CONFIG_SECRET - varnish instance secret
VARNISH_CONFIG_TIMEOUT - connection read timeout
VARNISH_CONFIG_COMPAT - varnish major version compatibility

Rückgabewerte

Beispiele

Beispiel #1 VarnishAdmin::__construct() example

<?php
    $args = array(
        VARNISH_CONFIG_HOST => "::1",
        VARNISH_CONFIG_PORT => 6082,
        VARNISH_CONFIG_SECRET => "5174826b-8595-4958-aa7a-0609632ad7ca",
        VARNISH_CONFIG_TIMEOUT => 300,
    );
    $va = new VarnishAdmin($args);
?>
VarnishAdmin::connect
VarnishAdmin::disconnect
VarnishAdmin


Disconnect from a varnish instance administration interface

VarnishAdmin::__construct
VarnishAdmin::getPanic
VarnishAdmin
PHP Manual

VarnishAdmin::disconnect

(PECL varnish >= 1.0.0)

VarnishAdmin::disconnect — Disconnect from a varnish instance administration interface

Beschreibung

public bool VarnishAdmin::disconnect ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

VarnishAdmin::__construct
VarnishAdmin::getPanic
VarnishAdmin


Get the last panic message on a varnish instance

VarnishAdmin::disconnect
VarnishAdmin::getParams
VarnishAdmin
PHP Manual

VarnishAdmin::getPanic

(PECL varnish >= 0.4)

VarnishAdmin::getPanic — Get the last panic message on a varnish instance

Beschreibung

public string VarnishAdmin::getPanic ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the last panic message on the current varnish instance.

VarnishAdmin::disconnect
VarnishAdmin::getParams
VarnishAdmin


Fetch current varnish instance configuration parameters

VarnishAdmin::getPanic
VarnishAdmin::isRunning
VarnishAdmin
PHP Manual

VarnishAdmin::getParams

(PECL varnish >= 0.4)

VarnishAdmin::getParams — Fetch current varnish instance configuration parameters

Beschreibung

public array VarnishAdmin::getParams ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array with the varnish configuration parameters.

VarnishAdmin::getPanic
VarnishAdmin::isRunning
VarnishAdmin


Check if the varnish slave process is currently running

VarnishAdmin::getParams
VarnishAdmin::setCompat
VarnishAdmin
PHP Manual

VarnishAdmin::isRunning

(PECL varnish >= 0.3)

VarnishAdmin::isRunning — Check if the varnish slave process is currently running

Beschreibung

public bool VarnishAdmin::isRunning ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

VarnishAdmin::getParams
VarnishAdmin::setCompat
VarnishAdmin


Set the class compat configuration param

VarnishAdmin::isRunning
VarnishAdmin::setHost
VarnishAdmin
PHP Manual

VarnishAdmin::setCompat

(PECL varnish >= 0.9.2)

VarnishAdmin::setCompat — Set the class compat configuration param

Beschreibung

public void VarnishAdmin::setCompat ( int $compat )

Parameter-Liste

compat

Varnish compatibility option.

Rückgabewerte

VarnishAdmin::isRunning
VarnishAdmin::setHost
VarnishAdmin


Set the class host configuration param

VarnishAdmin::setCompat
VarnishAdmin::setIdent
VarnishAdmin
PHP Manual

VarnishAdmin::setHost

(PECL varnish >= 0.8)

VarnishAdmin::setHost — Set the class host configuration param

Beschreibung

public void VarnishAdmin::setHost ( string $host )

Parameter-Liste

host

Connection host configuration parameter.

Rückgabewerte

VarnishAdmin::setCompat
VarnishAdmin::setIdent
VarnishAdmin


Set the class ident configuration param

VarnishAdmin::setHost
VarnishAdmin::setParam
VarnishAdmin
PHP Manual

VarnishAdmin::setIdent

(PECL varnish >= 0.8)

VarnishAdmin::setIdent — Set the class ident configuration param

Beschreibung

public void VarnishAdmin::setIdent ( string $ident )

Parameter-Liste

ident

Connection ident configuration parameter.

Rückgabewerte

VarnishAdmin::setHost
VarnishAdmin::setParam
VarnishAdmin


Set configuration param on the current varnish instance

VarnishAdmin::setIdent
VarnishAdmin::setPort
VarnishAdmin
PHP Manual

VarnishAdmin::setParam

(PECL varnish >= 0.4)

VarnishAdmin::setParam — Set configuration param on the current varnish instance

Beschreibung

public int VarnishAdmin::setParam ( string $name , string|integer $value )

Parameter-Liste

name

Varnish configuration param name.

value

Varnish configuration param value.

Rückgabewerte

Returns the varnish command status.

VarnishAdmin::setIdent
VarnishAdmin::setPort
VarnishAdmin


Set the class port configuration param

VarnishAdmin::setParam
VarnishAdmin::setSecret
VarnishAdmin
PHP Manual

VarnishAdmin::setPort

(PECL varnish >= 0.8)

VarnishAdmin::setPort — Set the class port configuration param

Beschreibung

public void VarnishAdmin::setPort ( int $port )

Parameter-Liste

port

Connection port configuration parameter.

Rückgabewerte

VarnishAdmin::setParam
VarnishAdmin::setSecret
VarnishAdmin


Set the class secret configuration param

VarnishAdmin::setPort
VarnishAdmin::setTimeout
VarnishAdmin
PHP Manual

VarnishAdmin::setSecret

(PECL varnish >= 0.8)

VarnishAdmin::setSecret — Set the class secret configuration param

Beschreibung

public void VarnishAdmin::setSecret ( string $secret )

Parameter-Liste

secret

Connection secret configuration parameter.

Rückgabewerte

VarnishAdmin::setPort
VarnishAdmin::setTimeout
VarnishAdmin


Set the class timeout configuration param

VarnishAdmin::setSecret
VarnishAdmin::start
VarnishAdmin
PHP Manual

VarnishAdmin::setTimeout

(PECL varnish >= 0.8)

VarnishAdmin::setTimeout — Set the class timeout configuration param

Beschreibung

public void VarnishAdmin::setTimeout ( int $timeout )

Parameter-Liste

timeout

Connection timeout configuration parameter.

Rückgabewerte

VarnishAdmin::setSecret
VarnishAdmin::start
VarnishAdmin


Start varnish worker process

VarnishAdmin::setTimeout
VarnishAdmin::stop
VarnishAdmin
PHP Manual

VarnishAdmin::start

(PECL varnish >= 0.3)

VarnishAdmin::start — Start varnish worker process

Beschreibung

public int VarnishAdmin::start ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the varnish command status.

VarnishAdmin::setTimeout
VarnishAdmin::stop
VarnishAdmin


Stop varnish worker process

VarnishAdmin::start
VarnishStat
VarnishAdmin
PHP Manual

VarnishAdmin::stop

(PECL varnish >= 0.3)

VarnishAdmin::stop — Stop varnish worker process

Beschreibung

public int VarnishAdmin::stop ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the varnish command status.

VarnishAdmin::start
VarnishStat
VarnishAdmin


The VarnishStat class

(PECL varnish >= 0.3)

Einführung

Klassenbeschreibung

VarnishStat {
/* Methoden */
public __construct ([ array $args ] )
public array getSnapshot ( void )
}

Inhaltsverzeichnis

  • VarnishStat::__construct — VarnishStat constructor
  • VarnishStat::getSnapshot — Get the current varnish instance statistics snapshot
VarnishAdmin::stop
VarnishStat::__construct
Varnish


VarnishStat constructor

VarnishStat
VarnishStat::getSnapshot
VarnishStat
PHP Manual

VarnishStat::__construct

(PECL varnish >= 0.3)

VarnishStat::__construct — VarnishStat constructor

Beschreibung

public VarnishStat::__construct ([ array $args ] )

Parameter-Liste

args

Configuration arguments. The possible keys are:

VARNISH_CONFIG_IDENT - local varnish instance ident path

Rückgabewerte

VarnishStat
VarnishStat::getSnapshot
VarnishStat


Get the current varnish instance statistics snapshot

VarnishStat::__construct
VarnishLog
VarnishStat
PHP Manual

VarnishStat::getSnapshot

(PECL varnish >= 0.3)

VarnishStat::getSnapshot — Get the current varnish instance statistics snapshot

Beschreibung

public array VarnishStat::getSnapshot ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Array with the varnish statistic snapshot. The array keys are identical to that in the varnishstat tool.

VarnishStat::__construct
VarnishLog
VarnishStat


The VarnishLog class

(PECL varnish >= 0.6)

Einführung

Klassenbeschreibung

VarnishLog {
/* Constants */
const integer TAG_Debug = 0 ;
const integer TAG_Error = 1 ;
const integer TAG_CLI = 2 ;
const integer TAG_StatSess = 3 ;
const integer TAG_ReqEnd = 4 ;
const integer TAG_SessionOpen = 5 ;
const integer TAG_SessionClose = 6 ;
const integer TAG_BackendOpen = 7 ;
const integer TAG_BackendXID = 8 ;
const integer TAG_BackendReuse = 9 ;
const integer TAG_BackendClose = 10 ;
const integer TAG_HttpGarbage = 11 ;
const integer TAG_Backend = 12 ;
const integer TAG_Length = 13 ;
const integer TAG_FetchError = 14 ;
const integer TAG_RxRequest = 15 ;
const integer TAG_RxResponse = 16 ;
const integer TAG_RxStatus = 17 ;
const integer TAG_RxURL = 18 ;
const integer TAG_RxProtocol = 19 ;
const integer TAG_RxHeader = 20 ;
const integer TAG_TxRequest = 21 ;
const integer TAG_TxResponse = 22 ;
const integer TAG_TxStatus = 23 ;
const integer TAG_TxURL = 24 ;
const integer TAG_TxProtocol = 25 ;
const integer TAG_TxHeader = 26 ;
const integer TAG_ObjRequest = 27 ;
const integer TAG_ObjResponse = 28 ;
const integer TAG_ObjStatus = 29 ;
const integer TAG_ObjURL = 30 ;
const integer TAG_ObjProtocol = 31 ;
const integer TAG_ObjHeader = 32 ;
const integer TAG_LostHeader = 33 ;
const integer TAG_TTL = 34 ;
const integer TAG_Fetch_Body = 35 ;
const integer TAG_VCL_acl = 36 ;
const integer TAG_VCL_call = 37 ;
const integer TAG_VCL_trace = 38 ;
const integer TAG_VCL_return = 39 ;
const integer TAG_VCL_error = 40 ;
const integer TAG_ReqStart = 41 ;
const integer TAG_Hit = 42 ;
const integer TAG_HitPass = 43 ;
const integer TAG_ExpBan = 44 ;
const integer TAG_ExpKill = 45 ;
const integer TAG_WorkThread = 46 ;
const integer TAG_ESI_xmlerror = 47 ;
const integer TAG_Hash = 48 ;
const integer TAG_Backend_health = 49 ;
const integer TAG_VCL_Log = 50 ;
const integer TAG_Gzip = 51 ;
/* Methoden */
public __construct ([ array $args ] )
public array getLine ( void )
public static string getTagName ( int $index )
}

Vordefinierte Konstanten

VarnishLog::TAG_Debug

VarnishLog::TAG_Error

VarnishLog::TAG_CLI

VarnishLog::TAG_StatSess

VarnishLog::TAG_ReqEnd

VarnishLog::TAG_SessionOpen

VarnishLog::TAG_SessionClose

VarnishLog::TAG_BackendOpen

VarnishLog::TAG_BackendXID

VarnishLog::TAG_BackendReuse

VarnishLog::TAG_BackendClose

VarnishLog::TAG_HttpGarbage

VarnishLog::TAG_Backend

VarnishLog::TAG_Length

VarnishLog::TAG_FetchError

VarnishLog::TAG_RxRequest

VarnishLog::TAG_RxResponse

VarnishLog::TAG_RxStatus

VarnishLog::TAG_RxURL

VarnishLog::TAG_RxProtocol

VarnishLog::TAG_RxHeader

VarnishLog::TAG_TxRequest

VarnishLog::TAG_TxResponse

VarnishLog::TAG_TxStatus

VarnishLog::TAG_TxURL

VarnishLog::TAG_TxProtocol

VarnishLog::TAG_TxHeader

VarnishLog::TAG_ObjRequest

VarnishLog::TAG_ObjResponse

VarnishLog::TAG_ObjStatus

VarnishLog::TAG_ObjURL

VarnishLog::TAG_ObjProtocol

VarnishLog::TAG_ObjHeader

VarnishLog::TAG_LostHeader

VarnishLog::TAG_TTL

VarnishLog::TAG_Fetch_Body

VarnishLog::TAG_VCL_acl

VarnishLog::TAG_VCL_call

VarnishLog::TAG_VCL_trace

VarnishLog::TAG_VCL_return

VarnishLog::TAG_VCL_error

VarnishLog::TAG_ReqStart

VarnishLog::TAG_Hit

VarnishLog::TAG_HitPass

VarnishLog::TAG_ExpBan

VarnishLog::TAG_ExpKill

VarnishLog::TAG_WorkThread

VarnishLog::TAG_ESI_xmlerror

VarnishLog::TAG_Hash

VarnishLog::TAG_Backend_health

VarnishLog::TAG_VCL_Log

VarnishLog::TAG_Gzip

Inhaltsverzeichnis

  • VarnishLog::__construct — Varnishlog constructor
  • VarnishLog::getLine — Get next log line
  • VarnishLog::getTagName — Get the log tag string representation by its index
VarnishStat::getSnapshot
VarnishLog::__construct
Varnish


Varnishlog constructor

VarnishLog
VarnishLog::getLine
VarnishLog
PHP Manual

VarnishLog::__construct

(PECL varnish >= 0.6)

VarnishLog::__construct — Varnishlog constructor

Beschreibung

public VarnishLog::__construct ([ array $args ] )

Parameter-Liste

args

Configuration arguments. The possible keys are:

VARNISH_CONFIG_IDENT - local varnish instance ident path

Rückgabewerte

VarnishLog
VarnishLog::getLine
VarnishLog


Get next log line

VarnishLog::__construct
VarnishLog::getTagName
VarnishLog
PHP Manual

VarnishLog::getLine

(PECL varnish >= 0.6)

VarnishLog::getLine — Get next log line

Beschreibung

public array VarnishLog::getLine ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array with the log line data.

VarnishLog::__construct
VarnishLog::getTagName
VarnishLog


Get the log tag string representation by its index

VarnishLog::getLine
YAZ
VarnishLog
PHP Manual

VarnishLog::getTagName

(PECL varnish >= 0.6)

VarnishLog::getTagName — Get the log tag string representation by its index

Beschreibung

public static string VarnishLog::getTagName ( int $index )

Parameter-Liste

index

Log tag index.

Rückgabewerte

Returns the log tag name as string.

VarnishLog::getLine
YAZ
VarnishLog


YAZ

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
  • YAZ Funktionen
    • yaz_addinfo — Returns additional error information
    • yaz_ccl_conf — Configure CCL parser
    • yaz_ccl_parse — Invoke CCL Parser
    • yaz_close — Close YAZ connection
    • yaz_connect — Prepares for a connection to a Z39.50 server
    • yaz_database — Specifies the databases within a session
    • yaz_element — Specifies Element-Set Name for retrieval
    • yaz_errno — Returns error number
    • yaz_error — Returns error description
    • yaz_es_result — Inspects Extended Services Result
    • yaz_es — Prepares for an Extended Service Request
    • yaz_get_option — Returns value of option for connection
    • yaz_hits — Returns number of hits for last search
    • yaz_itemorder — Prepares for Z39.50 Item Order with an ILL-Request package
    • yaz_present — Prepares for retrieval (Z39.50 present)
    • yaz_range — Specifies a range of records to retrieve
    • yaz_record — Returns a record
    • yaz_scan_result — Returns Scan Response result
    • yaz_scan — Prepares for a scan
    • yaz_schema — Specifies schema for retrieval
    • yaz_search — Prepares for a search
    • yaz_set_option — Sets one or more options for connection
    • yaz_sort — Sets sorting criteria
    • yaz_syntax — Specifies the preferred record syntax for retrieval
    • yaz_wait — Wait for Z39.50 requests to complete
VarnishLog::getTagName
Einführung
Sonstige Dienste


Einführung

This extension offers a PHP interface to the YAZ toolkit that implements the » Z39.50 Protocol for Information Retrieval. With this extension you can easily implement a Z39.50 origin (client) that searches or scans Z39.50 targets (servers) in parallel.

The module hides most of the complexity of Z39.50 so it should be fairly easy to use. It supports persistent stateless connections very similar to those offered by the various RDB APIs that are available for PHP. This means that sessions are stateless but shared among users, thus saving the connect and initialize phase steps in most cases.

YAZ is available at » http://www.indexdata.dk/yaz/. You can find news information, example scripts, etc. for this extension at » http://www.indexdata.dk/phpyaz/.

Hinweis:

Diese Erweiterung wurde ins » PECL-Repositorium verschoben und ist nicht mehr Teil von PHP ab PHP 5.0.0.

YAZ
Installation/Konfiguration
YAZ


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
YAZ


Anforderungen

Obtain YAZ (ANSI/NISO Z39.50 support) and install it. YAZ can be fetched in source or in various prebuilt packages from the » YAZ archive. Systems such as Debian GNU/Linux, Suse Linux, FreeBSD also has YAZ as part of their distribution.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/yaz

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Hinweis: Information specific to Windows users

php_yaz.dll depends on yaz.dll. The yaz.dll is part of the Win32 ZIP from the PHP site. It is also part of the Windows YAZ install available from the » YAZ WIN32 area.

On windows, don't forget to add the PHP directory to the PATH, so that the yaz.dll file can be found by the system.

Warnung

Die IMAP , recode, YAZ und Cyrus können nicht zusammen verwendet werden. Diese Tatsache liegt darin begründet, dass alle diese Erweiterungen die gleichen internen Symbole benutzen. Hinweis: Yaz 2.0 und höher hat dieses Problem nicht.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
Beispiele
YAZ


Beispiele

PHP/YAZ keeps track of connections with targets (Z-Associations). A resource represents a connection to a target.

The script below demonstrates the parallel searching feature of the API. When invoked with no arguments it prints a query form; else (arguments are supplied) it searches the targets as given in array host.

Beispiel #1 Parallel searching using Yaz

<?php
$host=$_REQUEST[host];
$query=$_REQUEST[query];
$num_hosts = count($host);
if (empty($query) || count($host) == 0) {
    echo '<form method="get">
    <input type="checkbox"
    name="host[]" value="bagel.indexdata.dk/gils" />
        GILS test
    <input type="checkbox"
    name="host[]" value="localhost:9999/Default" />
        local test
    <input type="checkbox" checked="checked"
    name="host[]" value="z3950.loc.gov:7090/voyager" />
        Library of Congress
    <br />
    RPN Query:
    <input type="text" size="30" name="query" />
    <input type="submit" name="action" value="Search" />
    </form>
    ';
} else {
    echo 'You searched for ' . htmlspecialchars($query) . '<br />';
    for ($i = 0; $i < $num_hosts; $i++) {
        $id[] = yaz_connect($host[$i]);
        yaz_syntax($id[$i], "usmarc");
        yaz_range($id[$i], 1, 10);
        yaz_search($id[$i], "rpn", $query);
    }
    yaz_wait();
    for ($i = 0; $i < $num_hosts; $i++) {
        echo '<hr />' . $host[$i] . ':';
        $error = yaz_error($id[$i]);
        if (!empty($error)) {
            echo "Error: $error";
        } else {
            $hits = yaz_hits($id[$i]);
            echo "Result Count $hits";
        }
        echo '<dl>';
        for ($p = 1; $p <= 10; $p++) {
            $rec = yaz_record($id[$i], $p, "string");
            if (empty($rec)) continue;
            echo "<dt><b>$p</b></dt><dd>";
            echo nl2br($rec);
            echo "</dd>";
        }
        echo '</dl>';
    }
}
?>

Vordefinierte Konstanten
YAZ Funktionen
YAZ


YAZ Funktionen

Inhaltsverzeichnis

  • yaz_addinfo — Returns additional error information
  • yaz_ccl_conf — Configure CCL parser
  • yaz_ccl_parse — Invoke CCL Parser
  • yaz_close — Close YAZ connection
  • yaz_connect — Prepares for a connection to a Z39.50 server
  • yaz_database — Specifies the databases within a session
  • yaz_element — Specifies Element-Set Name for retrieval
  • yaz_errno — Returns error number
  • yaz_error — Returns error description
  • yaz_es_result — Inspects Extended Services Result
  • yaz_es — Prepares for an Extended Service Request
  • yaz_get_option — Returns value of option for connection
  • yaz_hits — Returns number of hits for last search
  • yaz_itemorder — Prepares for Z39.50 Item Order with an ILL-Request package
  • yaz_present — Prepares for retrieval (Z39.50 present)
  • yaz_range — Specifies a range of records to retrieve
  • yaz_record — Returns a record
  • yaz_scan_result — Returns Scan Response result
  • yaz_scan — Prepares for a scan
  • yaz_schema — Specifies schema for retrieval
  • yaz_search — Prepares for a search
  • yaz_set_option — Sets one or more options for connection
  • yaz_sort — Sets sorting criteria
  • yaz_syntax — Specifies the preferred record syntax for retrieval
  • yaz_wait — Wait for Z39.50 requests to complete
Beispiele
yaz_addinfo
YAZ


Returns additional error information

YAZ Funktionen
yaz_ccl_conf
YAZ Funktionen
PHP Manual

yaz_addinfo

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_addinfo — Returns additional error information

Beschreibung

string yaz_addinfo ( resource $id )

Returns additional error information for the last request on the server.

With some servers, this function may return the same string as yaz_error().

Parameter-Liste

id

The connection resource returned by yaz_connect().

Rückgabewerte

A string containing additional error information or an empty string if the last operation was successful or if no additional information was provided by the server.

Siehe auch

  • yaz_error() - Returns error description
  • yaz_errno() - Returns error number

YAZ Funktionen
yaz_ccl_conf
YAZ Funktionen


Configure CCL parser

yaz_addinfo
yaz_ccl_parse
YAZ Funktionen
PHP Manual

yaz_ccl_conf

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_ccl_conf — Configure CCL parser

Beschreibung

void yaz_ccl_conf ( resource $id , array $config )

This function configures the CCL query parser for a server with definitions of access points (CCL qualifiers) and their mapping to RPN.

To map a specific CCL query to RPN afterwards call the yaz_ccl_parse() function.

Parameter-Liste

id

The connection resource returned by yaz_connect().

config

An array of configuration. Each key of the array is the name of a CCL field and the corresponding value holds a string that specifies a mapping to RPN.

The mapping is a sequence of attribute-type, attribute-value pairs. Attribute-type and attribute-value is separated by an equal sign (=). Each pair is separated by white space.

Additional information can be found on the » CCL page.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

In the example below, the CCL parser is configured to support three CCL fields: ti, au and isbn. Each field is mapped to their BIB-1 equivalent. It is assumed that variable $id is the connection ID.

Beispiel #1 CCL configuration

<?php
$fields = array(
  "ti" => "1=4",
  "au"   => "1=1",
  "isbn" => "1=7"
);
yaz_ccl_conf($id, $fields);
?>

Siehe auch

  • yaz_ccl_parse() - Invoke CCL Parser

yaz_addinfo
yaz_ccl_parse
YAZ Funktionen


Invoke CCL Parser

yaz_ccl_conf
yaz_close
YAZ Funktionen
PHP Manual

yaz_ccl_parse

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_ccl_parse — Invoke CCL Parser

Beschreibung

bool yaz_ccl_parse ( resource $id , string $query , array &$result )

This function invokes a CCL parser. It converts a given CCL FIND query to an RPN query which may be passed to the yaz_search() function to perform a search.

To define a set of valid CCL fields call yaz_ccl_conf() prior to this function.

Parameter-Liste

id

The connection resource returned by yaz_connect().

query

The CCL FIND query.

result

If the function was executed successfully, this will be an array containing the valid RPN query under the key rpn.

Upon failure, three indexes are set in this array to indicate the cause of failure:

  • errorcode - the CCL error code (integer)

  • errorstring - the CCL error string

  • errorpos - approximate position in query of failure (integer is character position)

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 CCL Parsing

We will try to search using CCL. In the example below, $ccl is a CCL query.

<?php

yaz_ccl_conf($id, $fields);  // see example for yaz_ccl_conf
if (!yaz_ccl_parse($id, $ccl, &$cclresult)) {
    echo 'Error: ' . $cclresult["errorstring"];
} else {
    $rpn = $cclresult["rpn"];
    yaz_search($id, "rpn", $rpn);
}
?>
yaz_ccl_conf
yaz_close
YAZ Funktionen


Close YAZ connection

yaz_ccl_parse
yaz_connect
YAZ Funktionen
PHP Manual

yaz_close

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_close — Close YAZ connection

Beschreibung

bool yaz_close ( resource $id )

Closes the connection given by parameter id.

Hinweis:

This function will only close a non-persistent connection opened by setting the persistent option to FALSE with yaz_connect().

Parameter-Liste

id

The connection resource returned by yaz_connect().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • yaz_connect() - Prepares for a connection to a Z39.50 server

yaz_ccl_parse
yaz_connect
YAZ Funktionen


Prepares for a connection to a Z39.50 server

yaz_close
yaz_database
YAZ Funktionen
PHP Manual

yaz_connect

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_connect — Prepares for a connection to a Z39.50 server

Beschreibung

mixed yaz_connect ( string $zurl [, mixed $options ] )

This function returns a connection resource on success, zero on failure.

yaz_connect() prepares for a connection to a Z39.50 server. This function is non-blocking and does not attempt to establish a connection - it merely prepares a connect to be performed later when yaz_wait() is called.

Hinweis:

The » YAZ proxy is a freely available Z39.50 proxy.

Parameter-Liste

zurl

A string that takes the form host[:port][/database]. If port is omitted, port 210 is used. If database is omitted Default is used.

options

If given as a string, it is treated as the Z39.50 V2 authentication string (OpenAuth).

If given as an array, the contents of the array serves as options.

user

Username for authentication.

group

Group for authentication.

password

Password for authentication.

cookie

Cookie for session (YAZ proxy).

proxy

Proxy for connection (YAZ proxy).

persistent

A boolean. If TRUE the connection is persistent; If FALSE the connection is not persistent. By default connections are persistent.

Hinweis:

If you open a persistent connection, you won't be able to close it later with yaz_close().

piggyback

A boolean. If TRUE piggyback is enabled for searches; If FALSE piggyback is disabled. By default piggyback is enabled.

Enabling piggyback is more efficient and usually saves a network-round-trip for first time fetches of records. However, a few Z39.50 servers do not support piggyback or they ignore element set names. For those, piggyback should be disabled.

charset

A string that specifies character set to be used in Z39.50 language and character set negotiation. Use strings such as: ISO-8859-1, UTF-8, UTF-16.

Most Z39.50 servers do not support this feature (and thus, this is ignored). Many servers use the ISO-8859-1 encoding for queries and messages. MARC21/USMARC records are not affected by this setting.

preferredMessageSize

An integer that specifies the maximum byte size of all records to be returned by a target during retrieval. See the » Z39.50 standard for more information.

Hinweis:

This option is supported in PECL YAZ 1.0.5 or later.

maximumRecordSize

An integer that specifies the maximum byte size of a single record to be returned by a target during retrieval. This entity is referred to as Exceptional-record-size in the » Z39.50 standard.

Hinweis:

This option is supported in PECL YAZ 1.0.5 or later.

Rückgabewerte

A connection resource on success, FALSE on error.

Changelog

Version | Beschreibung
4.1.0 | The parameter options was added.

Siehe auch

  • yaz_close() - Close YAZ connection

yaz_close
yaz_database
YAZ Funktionen


Specifies the databases within a session

yaz_connect
yaz_element
YAZ Funktionen
PHP Manual

yaz_database

(PHP 4 >= 4.0.6, PECL yaz >= 0.9.0)

yaz_database — Specifies the databases within a session

Beschreibung

bool yaz_database ( resource $id , string $databases )

This function allows you to change databases within a session by specifying one or more databases to be used in search, retrieval, etc. - overriding databases specified in call to yaz_connect().

Parameter-Liste

id

The connection resource returned by yaz_connect().

databases

A string containing one or more databases. Multiple databases are separated by a plus sign +.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

yaz_connect
yaz_element
YAZ Funktionen


Specifies Element-Set Name for retrieval

yaz_database
yaz_errno
YAZ Funktionen
PHP Manual

yaz_element

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_element — Specifies Element-Set Name for retrieval

Beschreibung

bool yaz_element ( resource $id , string $elementset )

This function sets the element set name for retrieval.

Call this function before yaz_search() or yaz_present() to specify the element set name for records to be retrieved.

Hinweis:

If this function appears to have no effect, see the description of the piggybacking option in yaz_connect().

Parameter-Liste

id

The connection resource returned by yaz_connect().

elementset

Most servers support F (for full records) and B (for brief records).

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

yaz_database
yaz_errno
YAZ Funktionen


Returns error number

yaz_element
yaz_error
YAZ Funktionen
PHP Manual

yaz_errno

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_errno — Returns error number

Beschreibung

int yaz_errno ( resource $id )

Returns an error number for the server (last request) identified by id.

yaz_errno() should be called after network activity for each server - (after yaz_wait() returns) to determine the success or failure of the last operation (e.g. search).

Parameter-Liste

id

The connection resource returned by yaz_connect().

Rückgabewerte

Returns an error code. The error code is either a Z39.50 diagnostic code (usually a Bib-1 diagnostic) or a client side error code which is generated by PHP/YAZ itself, such as "Connect failed", "Init Rejected", etc.

Siehe auch

  • yaz_error() - Returns error description
  • yaz_addinfo() - Returns additional error information

yaz_element
yaz_error
YAZ Funktionen


Returns error description

yaz_errno
yaz_es_result
YAZ Funktionen
PHP Manual

yaz_error

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_error — Returns error description

Beschreibung

string yaz_error ( resource $id )

yaz_error() returns an English text message corresponding to the last error number as returned by yaz_errno().

Parameter-Liste

id

The connection resource returned by yaz_connect().

Rückgabewerte

Returns an error text message for server (last request), identified by parameter id. An empty string is returned if the last operation was successful.

Siehe auch

  • yaz_errno() - Returns error number
  • yaz_addinfo() - Returns additional error information

yaz_errno
yaz_es_result
YAZ Funktionen


Inspects Extended Services Result

yaz_error
yaz_es
YAZ Funktionen
PHP Manual

yaz_es_result

(PHP 4 >= 4.2.0, PECL yaz >= 0.9.0)

yaz_es_result — Inspects Extended Services Result

Beschreibung

array yaz_es_result ( resource $id )

This function inspects the last returned Extended Service result from a server. An Extended Service is initiated by either yaz_item_order() or yaz_es().

Parameter-Liste

id

The connection resource returned by yaz_connect().

Rückgabewerte

Returns array with element targetReference for the reference for the extended service operation (generated and returned from the server).

Siehe auch

  • yaz_es() - Prepares for an Extended Service Request

yaz_error
yaz_es
YAZ Funktionen


Prepares for an Extended Service Request

yaz_es_result
yaz_get_option
YAZ Funktionen
PHP Manual

yaz_es

(PECL yaz >= 0.9.0)

yaz_es — Prepares for an Extended Service Request

Beschreibung

void yaz_es ( resource $id , string $type , array $args )

This function prepares for an Extended Service Request. Extended Services is family of various Z39.50 facilities, such as Record Update, Item Order, Database administration etc.

Hinweis:

Many Z39.50 Servers do not support Extended Services.

The yaz_es() creates an Extended Service Request packages and puts it into a queue of operations. Use yaz_wait() to send the request(s) to the server. After completion of yaz_wait() the result of the Extended Service operation should be expected with a call to yaz_es_result().

Parameter-Liste

id

The connection resource returned by yaz_connect().

type

A string which represents the type of the Extended Service: itemorder (Item Order), create (Create Database), drop (Drop Database), commit (Commit Operation), update (Update Record), xmlupdate (XML Update). Each type is specified in the following section.

args

An array with extended service options plus package specific options. The options are identical to those offered in the C API of ZOOM C. Refer to the ZOOM » Extended Services.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Record Update

<?php
$con = yaz_connect("myhost/database");
$args = array (
    "record" => "<gils><title>some title</title></gils>",
    "syntax" => "xml",
    "action" => "specialUpdate"
);
yaz_es($con, "update", $args);
yaz_wait();
$result = yaz_es_result($id);
?>

Siehe auch

  • yaz_es_result() - Inspects Extended Services Result

yaz_es_result
yaz_get_option
YAZ Funktionen


Returns value of option for connection

yaz_es
yaz_hits
YAZ Funktionen
PHP Manual

yaz_get_option

(PECL yaz >= 0.9.0)

yaz_get_option — Returns value of option for connection

Beschreibung

string yaz_get_option ( resource $id , string $name )

Returns the value of the option specified with name.

Parameter-Liste

id

The connection resource returned by yaz_connect().

name

The option name.

Rückgabewerte

Returns the value of the specified option or an empty string if the option wasn't set.

Siehe auch

  • The description of yaz_set_option() - Sets one or more options for connection for available options

yaz_es
yaz_hits
YAZ Funktionen


Returns number of hits for last search

yaz_get_option
yaz_itemorder
YAZ Funktionen
PHP Manual

yaz_hits

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_hits — Returns number of hits for last search

Beschreibung

int yaz_hits ( resource $id [, array &$searchresult ] )

yaz_hits() returns the number of hits for the last search.

Parameter-Liste

id

The connection resource returned by yaz_connect().

searchresult

Result array for detailed search result information.

Rückgabewerte

Returns the number of hits for the last search or 0 if no search was performed.

The search result array (if supplied) holds information that is returned by a Z39.50 server in the SearchResult-1 format part of a search response. The SearchResult-1 format can be used to obtain information about hit counts for various parts of the query (subquery). In particular, it is possible to obtain hit counts for the individual search terms in a query. Information for first subquery is in $array[0], second subquery in $array[1], and so forth.

searchresult members
Element | Description
id | Sub query ID2 (string)
count | Result count / hits (integer)
subquery.term | Sub query term (string)
interpretation.term | Interpretated sub query term (string)
recommendation.term | Recommended sub query term (string)

Hinweis:

The SearchResult facility requires PECL YAZ 1.0.5 or later and YAZ 2.1.9 or later.

Hinweis:

Very few Z39.50 implementations support the SearchResult facility.

yaz_get_option
yaz_itemorder
YAZ Funktionen


Prepares for Z39.50 Item Order with an ILL-Request package

yaz_hits
yaz_present
YAZ Funktionen
PHP Manual

yaz_itemorder

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_itemorder — Prepares for Z39.50 Item Order with an ILL-Request package

Beschreibung

void yaz_itemorder ( resource $id , array $args )

This function prepares for an Extended Services request using the Profile for the Use of Z39.50 Item Order Extended Service to Transport ILL (Profile/1). See » this and the » specification.

Parameter-Liste

id

The connection resource returned by yaz_connect().

args

Must be an associative array with information about the Item Order request to be sent. The key of the hash is the name of the corresponding ASN.1 tag path. For example, the ISBN below the Item-ID has the key item-id,ISBN.

The ILL-Request parameters are:

protocol-version-num
transaction-id,initial-requester-id,person-or-institution-symbol,person
transaction-id,initial-requester-id,person-or-institution-symbol,institution
transaction-id,initial-requester-id,name-of-person-or-institution,name-of-person
transaction-id,initial-requester-id,name-of-person-or-institution,name-of-institution
transaction-id,transaction-group-qualifier
transaction-id,transaction-qualifier
transaction-id,sub-transaction-qualifier
service-date-time,this,date
service-date-time,this,time
service-date-time,original,date
service-date-time,original,time
requester-id,person-or-institution-symbol,person
requester-id,person-or-institution-symbol,institution
requester-id,name-of-person-or-institution,name-of-person
requester-id,name-of-person-or-institution,name-of-institution
responder-id,person-or-institution-symbol,person
responder-id,person-or-institution-symbol,institution
responder-id,name-of-person-or-institution,name-of-person
responder-id,name-of-person-or-institution,name-of-institution
transaction-type
delivery-address,postal-address,name-of-person-or-institution,name-of-person
delivery-address,postal-address,name-of-person-or-institution,name-of-institution
delivery-address,postal-address,extended-postal-delivery-address
delivery-address,postal-address,street-and-number
delivery-address,postal-address,post-office-box
delivery-address,postal-address,city
delivery-address,postal-address,region
delivery-address,postal-address,country
delivery-address,postal-address,postal-code
delivery-address,electronic-address,telecom-service-identifier
delivery-address,electronic-address,telecom-service-addreess
billing-address,postal-address,name-of-person-or-institution,name-of-person
billing-address,postal-address,name-of-person-or-institution,name-of-institution
billing-address,postal-address,extended-postal-delivery-address
billing-address,postal-address,street-and-number
billing-address,postal-address,post-office-box
billing-address,postal-address,city
billing-address,postal-address,region
billing-address,postal-address,country
billing-address,postal-address,postal-code
billing-address,electronic-address,telecom-service-identifier
billing-address,electronic-address,telecom-service-addreess
ill-service-type
requester-optional-messages,can-send-RECEIVED
requester-optional-messages,can-send-RETURNED
requester-optional-messages,requester-SHIPPED
requester-optional-messages,requester-CHECKED-IN
search-type,level-of-service
search-type,need-before-date
search-type,expiry-date
search-type,expiry-flag
place-on-hold
client-id,client-name
client-id,client-status
client-id,client-identifier
item-id,item-type
item-id,call-number
item-id,author
item-id,title
item-id,sub-title
item-id,sponsoring-body
item-id,place-of-publication
item-id,publisher
item-id,series-title-number
item-id,volume-issue
item-id,edition
item-id,publication-date
item-id,publication-date-of-component
item-id,author-of-article
item-id,title-of-article
item-id,pagination
item-id,ISBN
item-id,ISSN
item-id,additional-no-letters
item-id,verification-reference-source
copyright-complicance
retry-flag
forward-flag
requester-note
forward-note

There are also a few parameters that are part of the Extended Services Request package and the ItemOrder package:

package-name
user-id
contact-name
contact-phone
contact-email
itemorder-item

Rückgabewerte

Es wird kein Wert zurückgegeben.

yaz_hits
yaz_present
YAZ Funktionen


Prepares for retrieval (Z39.50 present)

yaz_itemorder
yaz_range
YAZ Funktionen
PHP Manual

yaz_present

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_present — Prepares for retrieval (Z39.50 present)

Beschreibung

bool yaz_present ( resource $id )

This function prepares for retrieval of records after a successful search.

The yaz_range() function should be called prior to this function to specify the range of records to be retrieved.

Parameter-Liste

id

The connection resource returned by yaz_connect().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

yaz_itemorder
yaz_range
YAZ Funktionen


Specifies a range of records to retrieve

yaz_present
yaz_record
YAZ Funktionen
PHP Manual

yaz_range

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_range — Specifies a range of records to retrieve

Beschreibung

void yaz_range ( resource $id , int $start , int $number )

Specifies a range of records to retrieve.

This function should be called before yaz_search() or yaz_present().

Parameter-Liste

id

The connection resource returned by yaz_connect().

start

Specifies the position of the first record to be retrieved. The records numbers goes from 1 to yaz_hits().

number

Specifies the number of records to be retrieved.

Rückgabewerte

Es wird kein Wert zurückgegeben.

yaz_present
yaz_record
YAZ Funktionen


Returns a record

yaz_range
yaz_scan_result
YAZ Funktionen
PHP Manual

yaz_record

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_record — Returns a record

Beschreibung

string yaz_record ( resource $id , int $pos , string $type )

The yaz_record() function inspects a record in the current result set at the position specified by parameter pos.

Parameter-Liste

id

The connection resource returned by yaz_connect().

pos

The record position. Records positions in a result set are numbered 1, 2, ... $hits where $hits is the count returned by yaz_hits().

type

The type specifies the form of the returned record.

Hinweis:

It is the application which is responsible for actually ensuring that the records are returned from the Z39.50/SRW server in the proper format. The type given only specifies a conversion to take place on the client side (in PHP/YAZ).

Besides conversion of the transfer record to a string/array, PHP/YAZ it is also possible to perform a character set conversion of the record. Especially for USMARC/MARC21 that is recommended since these are typically returned in the character set MARC-8 that is not supported by browsers, etc. To specify a conversion, add ; charset=from, to where from is the original character set of the record and to is the resulting character set (as seen by PHP).

string

The record is returned as a string for simple display. In this mode, all MARC records are converted to a line-by-line format since ISO2709 is hardly readable. XML records and SUTRS are returned in their original format. GRS-1 are returned in a (ugly) line-by-line format.

This format is suitable if records are to be displayed in a quick way - for debugging - or because it is not feasible to perform proper display.

xml

The record is returned as an XML string if possible. In this mode, all MARC records are converted to » MARCXML. XML records and SUTRS are returned in their original format. GRS-1 is not supported.

This format is similar to string except that MARC records are converted to MARCXML

This format is suitable if records are processed by an XML parser or XSLT processor afterwards.

raw

The record is returned as a string in its original form. This type is suitable for MARC, XML and SUTRS. It does not work for GRS-1.

MARC records are returned as a ISO2709 string. XML and SUTRS are returned as strings.

syntax

The syntax of the record is returned as a string, i.e. USmarc, GRS-1, XML, etc.

database

The name of database associated with record at the position is returned as a string.

array

The record is returned as an array that reflects the GRS-1 structure. This type is suitable for MARC and GRS-1. XML, SUTRS are not supported and if the actual record is XML or SUTRS an empty string will be returned.

The array returned consists of a list corresponding to each leaf/internal node of GRS-1. Each list item consists a sub list with first element path and data (if data is available).

The path which is a string holds a list of each tree component (of the structured GRS-1 record) from root to leaf. Each component is a tag type, tag value pair of the form (type, value

String tags normally has a corresponding tag type 3. MARC can also be returned as an array (they are converted to GRS-1 internally).

Rückgabewerte

Returns the record at position pos or an empty string if no record exists at the given position.

If no database record exists at the given position an empty string is returned.

Beispiele

Beispiel #1 Array for GRS-1 record

Consider this GRS-1 record:

(4,52)Robert M. Pirsig
(4,70)
      (4,90)
            (2,7)Transworld Publishers, ltd.
This record has two nodes at root level. First element at root level is (4,52) [tag type 4, tag value 52], and has data Robert M. Pirsig. Second element at root level (4,70) has a subtree with a single element (4,90). (4,90) has yet another sub tree (2,7) with data Transworld Publishers, ltd..

If this record is present at position $p, then

<?php

$ar = yaz_record($id, $p, "array");
print_r($ar);

?>
will output:
Array
(
    [0] => Array
        (
            [0] => (4,52)
            [1] => Robert M. Pirsig
        )
    [1] => Array
        (
            [0] => (4,70)
        )
    [2] => Array
        (
            [0] => (4,70)(4,90)
        )
    [3] => Array
        (
            [0] => (4,70)(4,90)(2,7)
            [1] => Transworld Publishers, ltd.
        )
)

Beispiel #2 Working with MARCXML

The following PHP snippet returns a MARC21/USMARC record as MARCXML. The original record is returned in marc-8 (unknown to most XML parsers), so we convert it to UTF-8 (which all XML parsers must support).

<?php
$rec = yaz_record($id, $p, "xml; charset=marc-8,utf-8");
?>

The record $rec can be processed with the Sablotron XSLT processor as follows:

<?php

$xslfile = 'display.xsl';
$processor = xslt_create();
$parms = array('/_xml' => $rec);
$res = xslt_process($processor, 'arg:/_xml', $xslfile, NULL, $parms);
xslt_free($processor);
$res = preg_replace("'</?html[^>]*>'", '', $res);
echo $res;

?>

For PHP 5 the XSL extension must be used instead of Sablotron XSLT.

yaz_range
yaz_scan_result
YAZ Funktionen


Returns Scan Response result

yaz_record
yaz_scan
YAZ Funktionen
PHP Manual

yaz_scan_result

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_scan_result — Returns Scan Response result

Beschreibung

array yaz_scan_result ( resource $id [, array &$result ] )

yaz_scan_result() returns terms and associated information as received from the server in the last performed yaz_scan().

Parameter-Liste

id

The connection resource returned by yaz_connect().

result

If given, this array will be modified to hold additional information taken from the Scan Response:

  • number - Number of entries returned

  • stepsize - Step size

  • position - Position of term

  • status - Scan status

Rückgabewerte

Returns an array (0..n-1) where n is the number of terms returned. Each value is a pair where the first item is the term, and the second item is the result-count.

yaz_record
yaz_scan
YAZ Funktionen


Prepares for a scan

yaz_scan_result
yaz_schema
YAZ Funktionen
PHP Manual

yaz_scan

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_scan — Prepares for a scan

Beschreibung

void yaz_scan ( resource $id , string $type , string $startterm [, array $flags ] )

This function prepares for a Z39.50 Scan Request on the specified connection.

To actually transfer the Scan Request to the server and receive the Scan Response, yaz_wait() must be called. Upon completion of yaz_wait() call yaz_error() and yaz_scan_result() to handle the response.

Parameter-Liste

id

The connection resource returned by yaz_connect().

type

Currently only type rpn is supported.

startterm

Starting term point for the scan.

The form in which the starting term is specified is given by parameter type.

The syntax this parameter is similar to the RPN query as described in yaz_search(). It consists of zero or more @attr-operator specifications, then followed by exactly one token.

flags

This optional parameter specifies additional information to control the behaviour of the scan request. Three indexes are currently read from the flags array: number (number of terms requested), position (preferred position of term) and stepSize (preferred step size).

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 PHP function that scans titles

<?php
function scan_titles($id, $startterm)
{
  yaz_scan($id, "rpn", "@attr 1=4 " . $startterm);
  yaz_wait();
  $errno = yaz_errno($id);
  if ($errno == 0) {
    $ar = yaz_scan_result($id, $options);
    echo 'Scan ok; ';
    foreach ($options as $key => $val) {
      echo "$key = $val &nbsp;";
    }
    echo '<br /><table>';
    while (list($key, list($k, $term, $tcount)) = each($ar)) {
      if (empty($k)) continue;
      echo "<tr><td>$term</td><td>$tcount</td></tr>";
    }
    echo '</table>';
  } else {
    echo "Scan failed. Error: " . yaz_error($id) . "<br />";
  }
}
?>

yaz_scan_result
yaz_schema
YAZ Funktionen


Specifies schema for retrieval

yaz_scan
yaz_search
YAZ Funktionen
PHP Manual

yaz_schema

(PHP 4 >= 4.2.0, PECL yaz >= 0.9.0)

yaz_schema — Specifies schema for retrieval

Beschreibung

void yaz_schema ( resource $id , string $schema )

yaz_schema() specifies the schema for retrieval.

This function should be called before yaz_search() or yaz_present().

Parameter-Liste

id

The connection resource returned by yaz_connect().

schema

Must be specified as an OID (Object Identifier) in a raw dot-notation (like 1.2.840.10003.13.4) or as one of the known registered schemas: GILS-schema, Holdings, Zthes, ...

Rückgabewerte

Es wird kein Wert zurückgegeben.

yaz_scan
yaz_search
YAZ Funktionen


Prepares for a search

yaz_schema
yaz_set_option
YAZ Funktionen
PHP Manual

yaz_search

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_search — Prepares for a search

Beschreibung

bool yaz_search ( resource $id , string $type , string $query )

yaz_search() prepares for a search on the given connection.

Like yaz_connect() this function is non-blocking and only prepares for a search to be executed later when yaz_wait() is called.

Parameter-Liste

id

The connection resource returned by yaz_connect().

type

This parameter represents the query type - only "rpn" is supported now in which case the third argument specifies a Type-1 query in prefix query notation.

query

The RPN query is a textual representation of the Type-1 query as defined by the Z39.50 standard. However, in the text representation as used by YAZ a prefix notation is used, that is the operator precedes the operands. The query string is a sequence of tokens where white space is ignored unless surrounded by double quotes. Tokens beginning with an at-character (@) are considered operators, otherwise they are treated as search terms.

RPN Operators
Construct | Description
@and query1 query2 | intersection of query1 and query2
@or query1 query2 | union of query1 and query2
@not query1 query2 | query1 and not query2
@set name | result set reference
@attrset set query | specifies attribute-set for query. This construction is only allowed once - in the beginning of the whole query
@attr [set] type=value query | applies attribute to query. The type and value are integers specifying the attribute-type and attribute-value respectively. The set, if given, specifies the attribute-set.

You can find information about attributes at the » Z39.50 Maintenance Agency site.

Hinweis:

If you would like to use a more friendly notation, use the CCL parser - functions yaz_ccl_conf() and yaz_ccl_parse().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Query Examples

You can search for simple terms, like this:

computer
which matches documents where "computer" occur. No attributes are specified.

The query

"knuth donald"
matches documents where "knuth donald" occur (provided that the server supports phrase search).

This query applies two attributes for the same phrase.

@attr 1=1003 @attr 4=1 "knuth donald"
First attribute is type 1 (Bib-1 use), attribute value is 1003 (Author). Second attribute has is type 4 (structure), value 1 (phrase), so this should match documents where Donald Knuth is author.

The query

@and @or a b @not @or c d e
would in infix notation look like (a or b) and ((c or d) not e).

Another, more complex, one:

@attrset gils @and @attr 1=4 art @attr 1=2000 company
The query as a whole uses the GILS attributeset. The query matches documents where art occur in the title (GILS,BIB-1) and in which company occur as Distributor (GILS).

yaz_schema
yaz_set_option
YAZ Funktionen


Sets one or more options for connection

yaz_search
yaz_sort
YAZ Funktionen
PHP Manual

yaz_set_option

(PECL yaz >= 0.9.0)

yaz_set_option — Sets one or more options for connection

Beschreibung

void yaz_set_option ( resource $id , string $name , string $value )
void yaz_set_option ( resource $id , array $options )

Sets one or more options on the given connection.

Parameter-Liste

id

The connection resource returned by yaz_connect().

name or options

May be either a string or an array.

If given as a string, this will be the name of the option to set. You'll need to give it's value.

If given as an array, this will be an associative array (option name => option value).

PHP/YAZ Connection Options
Name | Description
implementationName | implementation name of server
implementationVersion | implementation version of server
implementationId | implementation ID of server
schema | schema for retrieval. By default, no schema is used. Setting this option is equivalent to using function yaz_schema()
preferredRecordSyntax | record syntax for retrieval. By default, no syntax is used. Setting this option is equivalent to using function yaz_syntax()
start | offset for first record to be retrieved via yaz_search() or yaz_present(). First record is numbered has a start value of 0. Second record has start value 1. Setting this option in combination with option count has the same effect as calling yaz_range() except that records are numbered from 1 in yaz_range()
count | maximum number of records to be retrieved via yaz_search() or yaz_present().
elementSetName | element-set-name for retrieval. Setting this option is equivalent to calling yaz_element().
value

The new value of the option. Use this only if the previous argument is a string.

Rückgabewerte

Es wird kein Wert zurückgegeben.

yaz_search
yaz_sort
YAZ Funktionen


Sets sorting criteria

yaz_set_option
yaz_syntax
YAZ Funktionen
PHP Manual

yaz_sort

(PHP 4 >= 4.0.7, PECL yaz >= 0.9.0)

yaz_sort — Sets sorting criteria

Beschreibung

void yaz_sort ( resource $id , string $criteria )

This function sets sorting criteria and enables Z39.50 Sort.

Call this function before yaz_search(). Using this function alone does not have any effect. When used in conjunction with yaz_search(), a Z39.50 Sort will be sent after a search response has been received and before any records are retrieved with Z39.50 Present (yaz_present().

Parameter-Liste

id

The connection resource returned by yaz_connect().

criteria

A string that takes the form field1 flags1 field2 flags2 where field1 specifies the primary attributes for sort, field2 seconds, etc..

The field specifies either a numerical attribute combinations consisting of type=value pairs separated by comma (e.g. 1=4,2=1) ; or the field may specify a plain string criteria (e.g. title. The flags is a sequence of the following characters which may not be separated by any white space.

Sort Flags
a

Sort ascending

d

Sort descending

i

Case insensitive sorting

s

Case sensitive sorting

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Sort Criterias

To sort on Bib1 attribute title, case insensitive, and ascending you would use the following sort criteria:

1=4 ia

If the secondary sorting criteria should be author, case sensitive and ascending you would use:

1=4 ia 1=1003 sa

yaz_set_option
yaz_syntax
YAZ Funktionen


Specifies the preferred record syntax for retrieval

yaz_sort
yaz_wait
YAZ Funktionen
PHP Manual

yaz_syntax

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_syntax — Specifies the preferred record syntax for retrieval

Beschreibung

void yaz_syntax ( resource $id , string $syntax )

yaz_syntax() specifies the preferred record syntax for retrieval

This function should be called before yaz_search() or yaz_present().

Parameter-Liste

id

The connection resource returned by yaz_connect().

syntax

The syntax must be specified as an OID (Object Identifier) in a raw dot-notation (like 1.2.840.10003.5.10) or as one of the known registered record syntaxes (sutrs, usmarc, grs1, xml, etc.).

Rückgabewerte

Es wird kein Wert zurückgegeben.

yaz_sort
yaz_wait
YAZ Funktionen


Wait for Z39.50 requests to complete

yaz_syntax
YP/NIS
YAZ Funktionen
PHP Manual

yaz_wait

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_wait — Wait for Z39.50 requests to complete

Beschreibung

mixed yaz_wait ([ array &$options ] )

This function carries out networked (blocked) activity for outstanding
requests which have been prepared by the functions
yaz_connect(), yaz_search(),
yaz_present(), yaz_scan() and
yaz_itemorder().

yaz_wait() returns when all servers have either completed all requests or aborted (in case of errors).

Parameter-Liste

options

An associative array of options:

timeout

Sets timeout in seconds. If a server has not responded within the timeout it is considered dead and yaz_wait() returns. The default value for timeout is 15 seconds.

event

A boolean.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. In event mode, returns resource Im Fehlerfall wird FALSE zurückgegeben..

yaz_syntax
YP/NIS
YAZ Funktionen


YP/NIS

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • YP/NIS-Funktionen
    • yp_all — Traverse the map and call a function on each entry
    • yp_cat — Return an array containing the entire map
    • yp_err_string — Returns the error string associated with the previous operation
    • yp_errno — Returns the error code of the previous operation
    • yp_first — Gibt das erste Schlüssel-Wert-Paar der angegebenen Map zurück
    • yp_get_default_domain — Gibt die voreingestellte NIS-Domäne der aktuellen Maschine zurück
    • yp_master — Gibt den Namen des Hauptservers für eine NIS-Map zurück
    • yp_match — Gibt die übereinstimmende Zeile zurück
    • yp_next — Gibt das nächste Schlüssel-Wert-Paar in der angegebenen Map zurück
    • yp_order — Gibt die Ordnungsnummer einer Map zurück
yaz_wait
Einführung
Sonstige Dienste


Einführung

NIS (früher unter dem Namen Yellow Pages bekannt) erlauben das netzwerkweite Management von wichtigen administrativen Dateien (z.B. der Passwort-Datei. Für weitere Informationen zu NIS empfehlen wir die NIS-Manpage und die » Einfhrung zu YP/NIS Des weiteren ist ein empfehlenswertes Buch mit dem Titel » Managing NFS and NIS von Hal Stern erhältlich.

Hinweis:

Diese Erweiterung wurde ins » PECL-Repositorium verschoben und ist nicht mehr Teil von PHP ab PHP 5.1.0.

Hinweis: Diese Erweiterung steht auf Windows-Betriebssystemen nicht zur Verfügung.

YP/NIS
Installation/Konfiguration
YP/NIS


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
YP/NIS


Anforderungen

Diese Extension benötigt nur Funktionen aus Unix-Standardbibliotheken, die immer verfügbar sind (entweder libc oder libnsl, configure wählt automatisch die richtige Bibliothek).

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese Erweiterung wird als nicht mehr gepflegt betrachtet und es gibt dort keine Aktivität mehr. Der Quellcode für diese Erweiterung steht jedoch weiterhin innerhalb des PECL SVN hier zur Verfügung: » http://svn.php.net/viewvc/pecl/yp

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

YPERR_ACCESS (integer)
Zugriffsfehler (diese Konstante wurde im PECL-SVN hinzugefügt)
YPERR_BADARGS (integer)
Ungültige Funktionsparameter
YPERR_BADDB (integer)
Korrupte YP-Datenbank
YPERR_BUSY (integer)
YP-Datenbank bereits in Benutzung
YPERR_DOMAIN (integer)
Keine Anbindung an Server in dieser Domain möglich
YPERR_KEY (integer)
Key in dieser Map nicht vorhanden
YPERR_MAP (integer)
Map in dieser Domain nicht vorhanden
YPERR_NODOM (integer)
Lokaler Domainname nicht gesetzt
YPERR_NOMORE (integer)
Keine weiteren Einträge in der Datenbank
YPERR_PMAP (integer)
Keine Kommunikation mit dem Portmapper möglich
YPERR_RESRC (integer)
Fehlgeschlagene Ressourcenzuweisung
YPERR_RPC (integer)
RPC Fehler - Domainanbindung wurde freigegeben
YPERR_YPBIND (integer)
Keine Kommunikation mit ypbind möglich
YPERR_YPERR (integer)
Interner YP-Server- oder -Clientfehler
YPERR_YPSERV (integer)
Keine Kommunikation mit ypserv möglich
YPERR_VERS (integer)
Unverträgliche YP-Versionen
Ressource-Typen
YP/NIS-Funktionen
YP/NIS


YP/NIS-Funktionen

Inhaltsverzeichnis

  • yp_all — Traverse the map and call a function on each entry
  • yp_cat — Return an array containing the entire map
  • yp_err_string — Returns the error string associated with the previous operation
  • yp_errno — Returns the error code of the previous operation
  • yp_first — Gibt das erste Schlüssel-Wert-Paar der angegebenen Map zurück
  • yp_get_default_domain — Gibt die voreingestellte NIS-Domäne der aktuellen Maschine zurück
  • yp_master — Gibt den Namen des Hauptservers für eine NIS-Map zurück
  • yp_match — Gibt die übereinstimmende Zeile zurück
  • yp_next — Gibt das nächste Schlüssel-Wert-Paar in der angegebenen Map zurück
  • yp_order — Gibt die Ordnungsnummer einer Map zurück
Vordefinierte Konstanten
yp_all
YP/NIS


Traverse the map and call a function on each entry

YP/NIS-Funktionen
yp_cat
YP/NIS-Funktionen
PHP Manual

yp_all

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5)

yp_all — Traverse the map and call a function on each entry

Beschreibung

void yp_all ( string $domain , string $map , string $callback )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

domain

The NIS domain name.

map

The NIS map.

callback

Rückgabewerte

Es wird kein Wert zurückgegeben.

YP/NIS-Funktionen
yp_cat
YP/NIS-Funktionen


Return an array containing the entire map

yp_all
yp_err_string
YP/NIS-Funktionen
PHP Manual

yp_cat

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5)

yp_cat — Return an array containing the entire map

Beschreibung

array yp_cat ( string $domain , string $map )

Returns all map entries.

Parameter-Liste

domain

The NIS domain name.

map

The NIS map.

Rückgabewerte

Returns an array of all map entries, the maps key values as array indices and the maps entries as array data.

yp_all
yp_err_string
YP/NIS-Funktionen


Returns the error string associated with the previous operation

yp_cat
yp_errno
YP/NIS-Funktionen
PHP Manual

yp_err_string

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5)

yp_err_string — Returns the error string associated with the previous operation

Description

string yp_err_string ( void )

yp_err_string() returns the error message associated with the previous operation. Useful to indicate what exactly went wrong.

Beispiel #1 Example for NIS errors

<?php
    echo "Error: " . yp_err_string();
?>

See also yp_errno().

yp_cat
yp_errno
YP/NIS-Funktionen


Returns the error code of the previous operation

yp_err_string
yp_first
YP/NIS-Funktionen
PHP Manual

yp_errno

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5)

yp_errno — Returns the error code of the previous operation

Description

int yp_errno ( void )

yp_errno() returns the error code of the previous operation.

Possible errors are:

  • 1 args to function are bad
  • 2 RPC failure - domain has been unbound
  • 3 can't bind to server on this domain
  • 4 no such map in server's domain
  • 5 no such key in map
  • 6 internal yp server or client error
  • 7 resource allocation failure
  • 8 no more records in map database
  • 9 can't communicate with portmapper
  • 10 can't communicate with ypbind
  • 11 can't communicate with ypserv
  • 12 local domain name not set
  • 13 yp database is bad
  • 14 yp version mismatch
  • 15 access violation
  • 16 database busy

See also yp_err_string().

yp_err_string
yp_first
YP/NIS-Funktionen


Gibt das erste Schlüssel-Wert-Paar der angegebenen Map zurück

yp_errno
yp_get_default_domain
YP/NIS-Funktionen
PHP Manual

yp_first

(PHP 4, PHP 5 <= 5.0.5)

yp_first — Gibt das erste Schlüssel-Wert-Paar der angegebenen Map zurück

Beschreibung

array yp_first ( string $domain , string $map )

yp_first() gibt das erste Schlüssel-Wert-Paar der angegebenen Map zurück, andernfalls FALSE.

Beispiel #1 Beispiel für den ersten NIS-Eintrag

<?php
$entry = yp_first($domain, "passwd.byname");

$key = key($entry);
$value = $entry[$key];

echo "First entry in this map has key " . $key . " and value " . $value;
?>

Siehe auch yp_next() und yp_get_default_domain().

yp_errno
yp_get_default_domain
YP/NIS-Funktionen


Gibt die voreingestellte NIS-Domäne der aktuellen Maschine zurück

yp_first
yp_master
YP/NIS-Funktionen
PHP Manual

yp_get_default_domain

(PHP 4, PHP 5 <= 5.0.5)

yp_get_default_domain — Gibt die voreingestellte NIS-Domäne der aktuellen Maschine zurück

Beschreibung

string yp_get_default_domain ( void )

yp_get_default_domain() gibt die voreingestellt Domäne des aktuellen Knotens oder FALSE zurück. Kann für erfolgreiche NIS Aufrufe als der Parameter domain genutzt werden.

Eine NIS-Domäne kann als Gruppe von NIS-Maps beschrieben werden. Jeder Host, der Informationen abrufen möchte, verbindet sich selbst zu einer bestimmten Domäne. Weitere Informationen hierzu finden sie in den oben genannten Quellen.

Beispiel #1 Beispiel für die voreingestellte Domäne

<?php
$domain = yp_get_default_domain();
echo "Default NIS domain is: " . $domain;
?>

yp_first
yp_master
YP/NIS-Funktionen


Gibt den Namen des Hauptservers für eine NIS-Map zurück

yp_get_default_domain
yp_match
YP/NIS-Funktionen
PHP Manual

yp_master

(PHP 4, PHP 5 <= 5.0.5)

yp_master — Gibt den Namen des Hauptservers für eine NIS-Map zurück

Beschreibung

string yp_master ( string $domain , string $map )

yp_master() gibt den Namen des Hauptservers (Master) für eine NIS-Map zurück.

Beispiel #1 Beispiel für den NIS Master

<?php
$number = yp_master ($domain, $mapname);
echo "Master for this map is: " . $master;
?>

Siehe auch yp-get-default-domain().

yp_get_default_domain
yp_match
YP/NIS-Funktionen


Gibt die übereinstimmende Zeile zurück

yp_master
yp_next
YP/NIS-Funktionen
PHP Manual

yp_match

(PHP 4, PHP 5 <= 5.0.5)

yp_match — Gibt die übereinstimmende Zeile zurück

Beschreibung

string yp_match ( string $domain , string $map , string $key )

yp_match() gibt den Wert zurück, der mit dem übergebenen Schlüssel der angegebenen Map verbunden ist, bei einem Fehler FALSE. Der Schlüssel muss eindeutig sein.

Beispiel #1 Beispiel für den übereinstimmenden NIS-Eintrag

<?php
$entry = yp_match ($domain, "passwd.byname", "joe");
echo "Matched entry is: " . $entry;
?>

Dieses Programm gibt folgendes aus:

joe:##joe:11111:100:Joe User:/home/j/joe:/usr/local/bin/bash

See also yp-get-default-domain()

yp_master
yp_next
YP/NIS-Funktionen


Gibt das nächste Schlüssel-Wert-Paar in der angegebenen Map zurück

yp_match
yp_order
YP/NIS-Funktionen
PHP Manual

yp_next

(PHP 4, PHP 5 <= 5.0.5)

yp_next — Gibt das nächste Schlüssel-Wert-Paar in der angegebenen Map zurück

Beschreibung

array yp_next ( string $domain , string $map , string $key )

Gibt den das nächste Schlüssel-Wert-Paar map gemäß dem spezifizierten key.

Parameter-Liste

domain

map

key

Rückgabewerte

Gibt das nächste Schlüssel-Wert-Paar als Array oder FALSE im Fehlerfall zurück.

Beispiele

Beispiel #1 Beispiel für den nächsten NIS-Eintrag

<?php
$entry = yp_next ($domain, "passwd.byname", "joe");

if (!$entry) {
 echo "No more entries found\n";
        echo "<!--" . yp_errno() . ": " . yp_err_string() . "-->";
}

$key = key ($entry);

echo "The next entry after joe has key " . $key
      . " and value " . $entry[$key];
?>

Siehe auch

  • yp_first() - Gibt das erste Schlüssel-Wert-Paar der angegebenen Map zurück
  • yp_get_default_domain() - Gibt die voreingestellte NIS-Domäne der aktuellen Maschine zurück

yp_match
yp_order
YP/NIS-Funktionen


Gibt die Ordnungsnummer einer Map zurück

yp_next
0MQ messaging
YP/NIS-Funktionen
PHP Manual

yp_order

(PHP 4, PHP 5 <= 5.0.5)

yp_order — Gibt die Ordnungsnummer einer Map zurück

Beschreibung

int yp_order ( string $domain , string $map )

yp_order() gibt die Nummer einer Map in der Reihenfolge der NIS Maps oder FALSE zurück.

Beispiel #1 Beispiel für die NIS Reihenfolge

<?php
    $number = yp_order($domain,$mapname);
    echo "Order number for this map is: " . $number;
?>

See also yp-get-default-domain().

yp_next
0MQ messaging
YP/NIS-Funktionen


ZMQ

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
  • ZMQ — The ZMQ class
    • ZMQ::__construct — ZMQ constructor
  • ZMQContext — The ZMQContext class
    • ZMQContext::__construct — Construct a new ZMQContext object
    • ZMQContext::getOpt — Get context option
    • ZMQContext::getSocket — Create a new socket
    • ZMQContext::isPersistent — Whether the context is persistent
    • ZMQContext::setOpt — Set a socket option
  • ZMQSocket — The ZMQSocket class
    • ZMQSocket::bind — Bind the socket
    • ZMQSocket::connect — Connect the socket
    • ZMQSocket::__construct — Construct a new ZMQSocket
    • ZMQSocket::disconnect — Disconnect a socket
    • ZMQSocket::getEndpoints — Get list of endpoints
    • ZMQSocket::getPersistentId — Get the persistent id
    • ZMQSocket::getSocketType — Get the socket type
    • ZMQSocket::getSockOpt — Get socket option
    • ZMQSocket::isPersistent — Whether the socket is persistent
    • ZMQSocket::recv — Receives a message
    • ZMQSocket::recvMulti — Receives a multipart message
    • ZMQSocket::send — Sends a message
    • ZMQSocket::sendmulti — Sends a multipart message
    • ZMQSocket::setSockOpt — Set a socket option
    • ZMQSocket::unbind — Unbind the socket
  • ZMQPoll — The ZMQPoll class
    • ZMQPoll::add — Add item to the poll set
    • ZMQPoll::clear — Clear the poll set
    • ZMQPoll::count — Count items in the poll set
    • ZMQPoll::getLastErrors — Get poll errors
    • ZMQPoll::poll — Poll the items
    • ZMQPoll::remove — Remove item from poll set
  • ZMQDevice — The ZMQDevice class
    • ZMQDevice::__construct — Construct a new device
    • ZMQDevice::getIdleTimeout — Get the idle timeout
    • ZMQDevice::getTimerTimeout — Get the timer timeout
    • ZMQDevice::run — Run the new device
    • ZMQDevice::setIdleCallback — Set the idle callback function
    • ZMQDevice::setIdleTimeout — Set the idle timeout
    • ZMQDevice::setTimerCallback — Set the timer callback function
    • ZMQDevice::setTimerTimeout — Set the timer timeout
yp_order
Einführung
Sonstige Dienste


Einführung

"ØMQ is a software library that lets you quickly design and implement a fast message-based application." --0MQ Website

For more information about 0MQ, see » http://zeromq.org/.

0MQ messaging
Installation/Konfiguration
0MQ messaging


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
Einführung
Anforderungen
0MQ messaging


Anforderungen

ZMQ extension requires 0MQ version 2.0.7 or higher. 0MQ can be acquired from » http://zeromq.org/area:download.

Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/zmq

Installation/Konfiguration
ZMQ
Installation/Konfiguration


The ZMQ class

(No version information available, might only be in Git)

Einführung

Klassenbeschreibung

ZMQ {
/* Constants */
const integer SOCKET_PAIR ;
const integer SOCKET_PUB ;
const integer SOCKET_SUB ;
const integer SOCKET_REQ ;
const integer SOCKET_REP ;
const integer SOCKET_XREQ ;
const integer SOCKET_XREP ;
const integer SOCKET_PUSH ;
const integer SOCKET_PULL ;
const integer SOCKET_ROUTER ;
const integer SOCKET_DEALER ;
const integer SOCKET_XPUB ;
const integer SOCKET_XSUB ;
const integer SOCKET_STREAM ;
const integer SOCKOPT_HWM ;
const integer SOCKOPT_SNDHWM ;
const integer SOCKOPT_RCVHWM ;
const integer SOCKOPT_AFFINITY ;
const integer SOCKOPT_IDENTITY ;
const integer SOCKOPT_SUBSCRIBE ;
const integer SOCKOPT_UNSUBSCRIBE ;
const integer SOCKOPT_RATE ;
const integer SOCKOPT_RECOVERY_IVL ;
const integer SOCKOPT_RECONNECT_IVL ;
const integer SOCKOPT_RECONNECT_IVL_MAX ;
const integer SOCKOPT_MCAST_LOOP ;
const integer SOCKOPT_SNDBUF ;
const integer SOCKOPT_RCVBUF ;
const integer SOCKOPT_RCVMORE ;
const integer SOCKOPT_TYPE ;
const integer SOCKOPT_LINGER ;
const integer SOCKOPT_BACKLOG ;
const integer SOCKOPT_MAXMSGSIZE ;
const integer SOCKOPT_SNDTIMEO ;
const integer SOCKOPT_RCVTIMEO ;
const integer SOCKOPT_IPV4ONLY ;
const integer SOCKOPT_LAST_ENDPOINT ;
const integer SOCKOPT_TCP_KEEPALIVE_IDLE ;
const integer SOCKOPT_TCP_KEEPALIVE_CNT ;
const integer SOCKOPT_TCP_KEEPALIVE_INTVL ;
const integer SOCKOPT_TCP_ACCEPT_FILTER ;
const integer SOCKOPT_TCP_ACCEPT_FILTER ;
const integer SOCKOPT_DELAY_ATTACH_ON_CONNECT ;
const integer SOCKOPT_XPUB_VERBOSE ;
const integer SOCKOPT_ROUTER_RAW ;
const integer SOCKOPT_IPV6 ;
const integer CTXOPT_MAX_SOCKETS ;
const integer POLL_IN ;
const integer POLL_OUT ;
const integer MODE_NOBLOCK ;
const integer MODE_DONTWAIT ;
const integer MODE_SNDMORE ;
const integer ERR_INTERNAL ;
const integer ERR_EAGAIN ;
const integer ERR_ENOTSUP ;
const integer ERR_EFSM ;
const integer ERR_ETERM ;
/* Methods */
private__construct ( void )
}

Vordefinierte Konstanten

ZMQ Constant Types

ZMQ::SOCKET_PAIR

Exclusive pair pattern

ZMQ::SOCKET_PUB

Publisher socket

ZMQ::SOCKET_SUB

Subscriber socket

ZMQ::SOCKET_REQ

Request socket

ZMQ::SOCKET_REP

Reply socket

ZMQ::SOCKET_XREQ

Alias for SOCKET_DEALER

ZMQ::SOCKET_XREP

Alias for SOCKET_ROUTER

ZMQ::SOCKET_PUSH

Pipeline upstream push socket

ZMQ::SOCKET_PULL

Pipeline downstream pull socket

ZMQ::SOCKET_ROUTER

Extended REP socket that can route replies to requesters

ZMQ::SOCKET_DEALER

Extended REQ socket that load balances to all connected peers

ZMQ::SOCKET_XPUB

Similar to SOCKET_PUB, except you can receive subscriptions as messages. The subscription message is 0 (unsubscribe) or 1 (subscribe) followed by the topic.

ZMQ::SOCKET_XSUB

Similar to SOCKET_SUB, except you can send subscriptions as messages. See SOCKET_XPUB for format.

ZMQ::SOCKET_STREAM

Used to send and receive TCP data from a non-ØMQ peer. Available if compiled against ZeroMQ 4.x or higher (Value: integer).

ZMQ::SOCKOPT_HWM

The high water mark for inbound and outbound messages is a hard limit on the maximum number of outstanding messages ØMQ shall queue in memory for any single peer that the specified socket is communicating with. Setting this option on a socket will only affect connections made after the option has been set. On ZeroMQ 3.x this is a wrapper for setting both SNDHWM and RCVHWM. (Value: integer).

ZMQ::SOCKOPT_SNDHWM

The ZMQ_SNDHWM option shall set the high water mark for outbound messages on the specified socket. Available if compiled against ZeroMQ 3.x or higher (Value: integer).

ZMQ::SOCKOPT_RCVHWM

The ZMQ_SNDHWM option shall set the high water mark for inbound messages on the specified socket. Available if compiled against ZeroMQ 3.x or higher (Value: integer).

ZMQ::SOCKOPT_AFFINITY

Set I/O thread affinity (Value: integer)

ZMQ::SOCKOPT_IDENTITY

Set socket identity (Value: string)

ZMQ::SOCKOPT_SUBSCRIBE

Establish message filter. Valid for subscriber socket (Value: string)

ZMQ::SOCKOPT_UNSUBSCRIBE

Remove message filter. Valid for subscriber socket (Value: string)

ZMQ::SOCKOPT_RATE

Set rate for multicast sockets (pgm) (Value: integer >= 0)

ZMQ::SOCKOPT_RECOVERY_IVL

Set multicast recovery interval (Value: integer >= 0)

ZMQ::SOCKOPT_RECONNECT_IVL

Set the initial reconnection interval (Value: integer >= 0)

ZMQ::SOCKOPT_RECONNECT_IVL_MAX

Set the max reconnection interval (Value: integer >= 0)

ZMQ::SOCKOPT_MCAST_LOOP

Control multicast loopback (Value: integer >= 0)

ZMQ::SOCKOPT_SNDBUF

Set kernel transmit buffer size (Value: integer >= 0)

ZMQ::SOCKOPT_RCVBUF

Set kernel receive buffer size (Value: integer >= 0)

ZMQ::SOCKOPT_RCVMORE

Receive multi-part messages (Value: integer)

ZMQ::SOCKOPT_TYPE

Get the socket type. Valid for getSockOpt (Value: integer)

ZMQ::SOCKOPT_LINGER

The linger value of the socket. Specifies how long the socket blocks trying flush messages after it has been closed (Value: integer)

ZMQ::SOCKOPT_BACKLOG

The SOCKOPT_BACKLOG option shall set the maximum length of the queue of outstanding peer connections for the specified socket; this only applies to connection-oriented transports. (Value: integer)

ZMQ::SOCKOPT_MAXMSGSIZE

Limits the maximum size of the inbound message. Value -1 means no limit. Available if compiled against ZeroMQ 3.x or higher (Value: integer)

ZMQ::SOCKOPT_SNDTIMEO

Sets the timeout for send operation on the socket. Value -1 means no limit. Available if compiled against ZeroMQ 3.x or higher (Value: integer)

ZMQ::SOCKOPT_RCVTIMEO

Sets the timeout for receive operation on the socket. Value -1 means no limit. Available if compiled against ZeroMQ 3.x or higher (Value: integer)

ZMQ::SOCKOPT_IPV4ONLY

Disable IPV6 support if 1. Available if compiled against ZeroMQ 3.x (Value: integer)

ZMQ::SOCKOPT_LAST_ENDPOINT

Retrieve the last connected endpoint - for use with * wildcard ports. Available if compiled against ZeroMQ 3.x or higher (Value: string)

ZMQ::SOCKOPT_TCP_KEEPALIVE_IDLE

Idle time for TCP keepalive. Available if compiled against ZeroMQ 3.x or higher (Value: integer)

ZMQ::SOCKOPT_TCP_KEEPALIVE_CNT

Count time for TCP keepalive. Available if compiled against ZeroMQ 3.x or higher (Value: integer)

ZMQ::SOCKOPT_TCP_KEEPALIVE_INTVL

Interval for TCP keepalive. Available if compiled against ZeroMQ 3.x or higher (Value: integer)

ZMQ::SOCKOPT_DELAY_ATTACH_ON_CONNECT

Set a CIDR string to match against incoming TCP connections. Available if compiled against ZeroMQ 3.x or higher (Value: string)

ZMQ::SOCKOPT_TCP_ACCEPT_FILTER

Set a CIDR string to match against incoming TCP connections. Available if compiled against ZeroMQ 3.x or higher (Value: string)

ZMQ::SOCKOPT_XPUB_VERBOSE

Set the XPUB to receive an application message on each instance of a subscription. Available if compiled against ZeroMQ 3.x or higher (Value: string)

ZMQ::SOCKOPT_ROUTER_RAW

Sets the raw mode on the ROUTER, when set to 1. In raw mode when using tcp:// transport the socket will read and write without ZeroMQ framing. Available if compiled against ZeroMQ 4.0 or higher (Value: string)

ZMQ::SOCKOPT_IPV6

Enable IPV6. Available if compiled against ZeroMQ 4.0 or higher (Value: string)

ZMQ::CTXOPT_MAX_SOCKETS

The socket limit for this context. Available if compiled against ZeroMQ 3.x or higher (Value: integer)

ZMQ::POLL_IN

Poll for incoming data

ZMQ::POLL_OUT

Poll for outgoing data

ZMQ::MODE_NOBLOCK

Non-blocking operation. Deprecated, use ZMQ::MODE_DONTWAIT instead

ZMQ::MODE_DONTWAIT

Non-blocking operation

ZMQ::MODE_SNDMORE

Send multi-part message

ZMQ::DEVICE_FORWARDER

Forwarder device

ZMQ::DEVICE_QUEUE

Queue device

ZMQ::DEVICE_STREAMER

Streamer device

ZMQ::ERR_INTERNAL

ZMQ extension internal error

ZMQ::ERR_EAGAIN

Implies that the operation would block when ZMQ::MODE_DONTWAIT is used

ZMQ::ERR_ENOTSUP

The operation is not supported by the socket type

ZMQ::ERR_EFSM

The operation can not be executed because the socket is not in correct state

ZMQ::ERR_ETERM

The context has been terminated

Inhaltsverzeichnis

  • ZMQ::__construct — ZMQ constructor
Anforderungen
ZMQ::__construct
0MQ messaging


ZMQ constructor

ZMQ
ZMQContext
ZMQ
PHP Manual

ZMQ::__construct

(PECL zmq >= 0.5.0)

ZMQ::__construct — ZMQ constructor

Beschreibung

privateZMQ::__construct ( void )

Private constructor to prevent direct initialization. This class holds the constants for ZMQ extension.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

ZMQ
ZMQContext
ZMQ


The ZMQContext class

(No version information available, might only be in Git)

Einführung

Klassenbeschreibung

ZMQContext {
/* Methods */
__construct ([ integer $io_threads = 1 [, boolean $is_persistent = true ]] )
public mixed getOpt ( string $key )
public ZMQSocket getSocket ( integer $type [, string $persistent_id = null [, callback $on_new_socket = null ]] )
public boolean isPersistent ( void )
public ZMQContext setOpt ( integer $key , mixed $value )
}

Inhaltsverzeichnis

  • ZMQContext::__construct — Construct a new ZMQContext object
  • ZMQContext::getOpt — Get context option
  • ZMQContext::getSocket — Create a new socket
  • ZMQContext::isPersistent — Whether the context is persistent
  • ZMQContext::setOpt — Set a socket option
ZMQ::__construct
ZMQContext::__construct
0MQ messaging


Construct a new ZMQContext object

ZMQContext
ZMQContext::getOpt
ZMQContext
PHP Manual

ZMQContext::__construct

(PECL zmq >= 0.5.0)

ZMQContext::__construct — Construct a new ZMQContext object

Beschreibung

ZMQContext::__construct ([ integer $io_threads = 1 [, boolean $is_persistent = true ]] )

Constructs a new ZMQ context. The context is used to initialize sockets. A persistent context is required to initialize persistent sockets.

Parameter-Liste

io_threads

Number of io-threads in the context.

is_persistent

Whether the context is persistent. Persistent context is stored over multiple requests and is a requirement for persistent sockets.

Beispiele

Beispiel #1 A ZMQContext() example

Construct a new context and allocate request socket from it

<?php
/* Allocate a new context */
$context = new ZMQContext();

/* Create a new socket */
$socket = $context->getSocket(ZMQ::SOCKET_REQ, 'my sock');

/* Connect the socket */
$socket->connect("tcp://example.com:1234");

/* Send a request */
$socket->send("Hello there");

/* Receive back the response */
$message = $socket->recv();
?>

Rückgabewerte

Throws ZMQContextException if context initialization fails.

ZMQContext
ZMQContext::getOpt
ZMQContext


Get context option

ZMQContext::__construct
ZMQContext::getSocket
ZMQContext
PHP Manual

ZMQContext::getOpt

(PECL zmq >= 1.0.4)

ZMQContext::getOpt — Get context option

Beschreibung

public mixed ZMQContext::getOpt ( string $key )

Returns the value of a context option.

Parameter-Liste

key

An integer representing the option. See the ZMQ::CTXOPT_* constants.

Rückgabewerte

Returns either a string or an integer depending on key. Throws ZMQContextException on error.

ZMQContext::__construct
ZMQContext::getSocket
ZMQContext


Create a new socket

ZMQContext::getOpt
ZMQContext::isPersistent
ZMQContext
PHP Manual

ZMQContext::getSocket

(PECL zmq >= 0.5.0)

ZMQContext::getSocket — Create a new socket

Beschreibung

public ZMQSocket ZMQContext::getSocket ( integer $type [, string $persistent_id = null [, callback $on_new_socket = null ]] )

Shortcut for creating new sockets from the context. If the context is not persistent the persistent_id parameter is ignored and the socket falls back to being non-persistent. The on_new_socket is called only when a new underlying socket structure is created.

Parameter-Liste

type

ZMQ::SOCKET_* constant to specify socket type.

persistent_id

If persistent_id is specified the socket will be persisted over multiple requests.

on_new_socket

Callback function, which is executed when a new socket structure is created. This function does not get invoked if the underlying persistent connection is re-used. The callback takes ZMQSocket and persistent_id as two arguments.

Beispiele

Beispiel #1 A ZMQContext() example

Basic usage

<?php
/* Allocate a new context */
$context = new ZMQContext();

/* Create a new socket */
$socket = $context->getSocket(ZMQ::SOCKET_REQ, 'my sock');

/* Connect the socket */
$socket->connect("tcp://example.com:1234");

/* Send a request */
$socket->send("Hello there");

/* Receive back the response */
$message = $socket->recv();
echo "Received message: {$message}\n";
?>

Rückgabewerte

Returns a ZMQSocket object on success. Throws ZMQSocketException on error.

ZMQContext::getOpt
ZMQContext::isPersistent
ZMQContext


Whether the context is persistent

ZMQContext::getSocket
ZMQContext::setOpt
ZMQContext
PHP Manual

ZMQContext::isPersistent

(PECL zmq >= 0.5.0)

ZMQContext::isPersistent — Whether the context is persistent

Beschreibung

public boolean ZMQContext::isPersistent ( void )

Whether the context is persistent. Persistent context is needed for persistent connections as each socket is allocated from a context.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the context is persistent and FALSE if the context is non-persistent.

ZMQContext::getSocket
ZMQContext::setOpt
ZMQContext


Set a socket option

ZMQContext::isPersistent
ZMQSocket
ZMQContext
PHP Manual

ZMQContext::setOpt

(PECL zmq >= 1.0.4)

ZMQContext::setOpt — Set a socket option

Beschreibung

public ZMQContext ZMQContext::setOpt ( integer $key , mixed $value )

Sets a ZMQ context option. The type of the value depends on the key. See ZMQ Constant Types for more information.

Parameter-Liste

key

One of the ZMQ::CTXOPT_* constants.

value

The value of the parameter.

Rückgabewerte

Returns the current object. Throws ZMQContextException on error.

ZMQContext::isPersistent
ZMQSocket
ZMQContext


The ZMQSocket class

(No version information available, might only be in Git)

Einführung

Klassenbeschreibung

ZMQSocket {
/* Methods */
public ZMQSocket bind ( string $dsn [, boolean $force = false ] )
public ZMQSocket connect ( string $dsn [, boolean $force = false ] )
__construct ( ZMQContext $context , int $type [, string $persistent_id = null [, callback $on_new_socket = null ]] )
public ZMQSocket disconnect ( string $dsn )
public array getEndpoints ( void )
public string getPersistentId ( void )
public integer getSocketType ( void )
public mixed getSockOpt ( string $key )
public boolean isPersistent ( void )
public string recv ([ integer $mode = 0 ] )
public string recvMulti ([ integer $mode = 0 ] )
public ZMQSocket send ( string $message [, integer $mode = 0 ] )
public ZMQSocket send ( array $message [, integer $mode = 0 ] )
public ZMQSocket setSockOpt ( integer $key , mixed $value )
public ZMQSocket unbind ( string $dsn )
}

Inhaltsverzeichnis

  • ZMQSocket::bind — Bind the socket
  • ZMQSocket::connect — Connect the socket
  • ZMQSocket::__construct — Construct a new ZMQSocket
  • ZMQSocket::disconnect — Disconnect a socket
  • ZMQSocket::getEndpoints — Get list of endpoints
  • ZMQSocket::getPersistentId — Get the persistent id
  • ZMQSocket::getSocketType — Get the socket type
  • ZMQSocket::getSockOpt — Get socket option
  • ZMQSocket::isPersistent — Whether the socket is persistent
  • ZMQSocket::recv — Receives a message
  • ZMQSocket::recvMulti — Receives a multipart message
  • ZMQSocket::send — Sends a message
  • ZMQSocket::sendmulti — Sends a multipart message
  • ZMQSocket::setSockOpt — Set a socket option
  • ZMQSocket::unbind — Unbind the socket
ZMQContext::setOpt
ZMQSocket::bind
0MQ messaging


Bind the socket

ZMQSocket
ZMQSocket::connect
ZMQSocket
PHP Manual

ZMQSocket::bind

(PECL zmq >= 0.5.0)

ZMQSocket::bind — Bind the socket

Beschreibung

public ZMQSocket ZMQSocket::bind ( string $dsn [, boolean $force = false ] )

Bind the socket to an endpoint. The endpoint is defined in format transport://address where transport is one of the following: inproc, ipc, tcp, pgm or epgm.

Parameter-Liste

dsn

The bind dsn, for example transport://address.

force

Tries to bind even if the socket has already been bound to the given endpoint.

Rückgabewerte

Returns the current object. Throws ZMQSocketException on error.

ZMQSocket
ZMQSocket::connect
ZMQSocket


Connect the socket

ZMQSocket::bind
ZMQSocket::__construct
ZMQSocket
PHP Manual

ZMQSocket::connect

(PECL zmq >= 0.5.0)

ZMQSocket::connect — Connect the socket

Beschreibung

public ZMQSocket ZMQSocket::connect ( string $dsn [, boolean $force = false ] )

Connect the socket to a remote endpoint. The endpoint is defined in format transport://address where transport is one of the following: inproc, ipc, tcp, pgm or epgm.

Parameter-Liste

dsn

The connect dsn, for example transport://address.

force

Tries to connect even if the socket has already been connected to given endpoint.

Beispiele

Beispiel #1 A ZMQContext() example

Construct a new context and allocate request socket from it

<?php
/* Server hostname */
$dsn = "tcp://127.0.0.1:5555";

/* Create a socket */
$socket = new ZMQSocket(new ZMQContext(), ZMQ::SOCKET_REQ, 'my socket');

/* Get list of connected endpoints */
$endpoints = $socket->getEndpoints();

/* Check if the socket is connected */
if (!in_array($dsn, $endpoints['connect'])) {
    echo "<p>Connecting to $dsn</p>";
    $socket->connect($dsn);
} else {
    echo "<p>Already connected to $dsn</p>";
}

/* Send and receive */
$socket->send("Hello!");
$message = $socket->recv();

echo "<p>Server said: {$message}</p>";
?>

Rückgabewerte

Returns the current object. Throws ZMQSocketException on error.

ZMQSocket::bind
ZMQSocket::__construct
ZMQSocket


Construct a new ZMQSocket

ZMQSocket::connect
ZMQSocket::disconnect
ZMQSocket
PHP Manual

ZMQSocket::__construct

(PECL zmq >= 0.5.0)

ZMQSocket::__construct — Construct a new ZMQSocket

Beschreibung

ZMQSocket::__construct ( ZMQContext $context , int $type [, string $persistent_id = null [, callback $on_new_socket = null ]] )

Constructs a ZMQSocket object. persistent_id parameter can be used to allocated a persistent socket. A persistent socket has to be allocated from a persistent context and it stays connected over multiple requests. The persistent_id parameter can be used to recall the same socket over multiple requests. The on_new_socket is called only when a new underlying socket structure is created.

Parameter-Liste

context

ZMQContext object.

type

The socket type. See ZMQ::SOCKET_* constants.

persistent_id

If persistent_id is specified the socket will be persisted over multiple requests. If context is not persistent the socket falls back to non-persistent mode.

on_new_socket

Callback function, which is executed when a new socket structure is created. This function does not get invoked if the underlying persistent connection is re-used.

Beispiele

Beispiel #1 A ZMQSocket() example

Using callback the bind/connect socket

<?php

/*
  The socket is persistent so this function is called only on the
  first request to the script.
*/
function on_new_socket_cb(ZMQSocket $socket, $persistent_id = null)
{
    if ($persistent_id === 'server') {
        $socket->bind("tcp://localhost:12122");
    } else {
        $socket->connect("tcp://localhost:12122");
    }
}

/* Allocate a new context */
$context = new ZMQContext();

/* Create a new socket */
$socket = $context->getSocket(ZMQ::SOCKET_REP, 'server', 'on_new_socket_cb');

$message = $socket->recv();
echo "Received message: {$message}\n";
?>

The callback signature

Hinweis:

function on_new_socket_cb(ZMQSocket $socket, string $persistent_id = null);

Rückgabewerte

Throws ZMQSocketException on error.

ZMQSocket::connect
ZMQSocket::disconnect
ZMQSocket


Disconnect a socket

ZMQSocket::__construct
ZMQSocket::getEndpoints
ZMQSocket
PHP Manual

ZMQSocket::disconnect

(PECL zmq >= 1.0.4)

ZMQSocket::disconnect — Disconnect a socket

Beschreibung

public ZMQSocket ZMQSocket::disconnect ( string $dsn )

Disconnect the socket from a previously connected remote endpoint. The endpoint is defined in format transport://address where transport is one of the following: inproc, ipc, tcp, pgm or epgm.

Parameter-Liste

dsn

The connect dsn, for example transport://address.

Rückgabewerte

Returns the current object. Throws ZMQSocketException on error.

ZMQSocket::__construct
ZMQSocket::getEndpoints
ZMQSocket


Get list of endpoints

ZMQSocket::disconnect
ZMQSocket::getPersistentId
ZMQSocket
PHP Manual

ZMQSocket::getEndpoints

(PECL zmq >= 0.5.0)

ZMQSocket::getEndpoints — Get list of endpoints

Beschreibung

public array ZMQSocket::getEndpoints ( void )

Returns a list of endpoints where the socket is connected or bound to.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array containing elements 'bind' and 'connect'.

ZMQSocket::disconnect
ZMQSocket::getPersistentId
ZMQSocket


Get the persistent id

ZMQSocket::getEndpoints
ZMQSocket::getSocketType
ZMQSocket
PHP Manual

ZMQSocket::getPersistentId

(PECL zmq >= 0.5.0)

ZMQSocket::getPersistentId — Get the persistent id

Beschreibung

public string ZMQSocket::getPersistentId ( void )

Returns the persistent id of the socket.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the persistent id string assigned of the object and NULL if socket is not persistent.

ZMQSocket::getEndpoints
ZMQSocket::getSocketType
ZMQSocket


Get the socket type

ZMQSocket::getPersistentId
ZMQSocket::getSockOpt
ZMQSocket
PHP Manual

ZMQSocket::getSocketType

(PECL zmq >= 0.5.0)

ZMQSocket::getSocketType — Get the socket type

Beschreibung

public integer ZMQSocket::getSocketType ( void )

Gets the socket type.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an integer representing the socket type. The integer can be compared against ZMQ::SOCKET_* constants.

ZMQSocket::getPersistentId
ZMQSocket::getSockOpt
ZMQSocket


Get socket option

ZMQSocket::getSocketType
ZMQSocket::isPersistent
ZMQSocket
PHP Manual

ZMQSocket::getSockOpt

(PECL zmq >= 0.5.0)

ZMQSocket::getSockOpt — Get socket option

Beschreibung

public mixed ZMQSocket::getSockOpt ( string $key )

Returns the value of a socket option.

Parameter-Liste

key

An integer representing the option. See the ZMQ::SOCKOPT_* constants.

Rückgabewerte

Returns either a string or an integer depending on key. Throws ZMQSocketException on error.

ZMQSocket::getSocketType
ZMQSocket::isPersistent
ZMQSocket


Whether the socket is persistent

ZMQSocket::getSockOpt
ZMQSocket::recv
ZMQSocket
PHP Manual

ZMQSocket::isPersistent

(PECL zmq >= 0.5.0)

ZMQSocket::isPersistent — Whether the socket is persistent

Beschreibung

public boolean ZMQSocket::isPersistent ( void )

Check whether the socket is persistent.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a boolean based on whether the socket is persistent or not.

ZMQSocket::getSockOpt
ZMQSocket::recv
ZMQSocket


Receives a message

ZMQSocket::isPersistent
ZMQSocket::recvMulti
ZMQSocket
PHP Manual

ZMQSocket::recv

(PECL zmq >= 0.5.0)

ZMQSocket::recv — Receives a message

Beschreibung

public string ZMQSocket::recv ([ integer $mode = 0 ] )

Receive a message from a socket. By default receiving will block until a message is available unless ZMQ::MODE_NOBLOCK flag is used. ZMQ::SOCKOPT_RCVMORE socket option can be used for receiving multi-part messages. See ZMQSocket::setSockOpt() for more information.

Parameter-Liste

mode

Pass mode flags to receive multipart messages or non-blocking operation. See ZMQ::MODE_* constants.

Beispiele

Beispiel #1 A send/recv example

Non-blocking send / receive

<?php

/* Create new queue object, there needs to be a server at the other end */
$queue = new ZMQSocket(new ZMQContext(), ZMQ::SOCKET_REQ);
$queue->connect("tcp://127.0.0.1:5555");

/* Assign socket 1 to the queue, send and receive */
$retries = 5;
$sending = true;

/* Start a loop */
do {
    try {
        /* Try to send / receive */
        if ($sending) {
            echo "Sending message\n";
            $queue->send("This is a message", ZMQ::MODE_NOBLOCK);
            $sending = false;
        } else {
            echo "Got response: " . $queue->recv(ZMQ::MODE_NOBLOCK) . "\n";
            break;
        }
    } catch (ZMQSocketException $e) {
        /* EAGAIN means that the operation would have blocked, retry */
        if ($e->getCode() === ZMQ::ERR_EAGAIN) {
            echo " - Got EAGAIN, retrying ($retries)\n";
        } else {
            die(" - Error: " . $e->getMessage());
        }
    }
    /* Sleep a bit between operations */
    usleep(5);
} while (--$retries);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Sending message
 - Unable to execute operation, retrying (4)
Got response: This is a message

Rückgabewerte

Returns the message. Throws ZMQSocketException in error. If ZMQ::MODE_NOBLOCK is used and the operation would block boolean false shall be returned.

ZMQSocket::isPersistent
ZMQSocket::recvMulti
ZMQSocket


Receives a multipart message

ZMQSocket::recv
ZMQSocket::send
ZMQSocket
PHP Manual

ZMQSocket::recvMulti

(PECL zmq >= 0.8.0)

ZMQSocket::recvMulti — Receives a multipart message

Beschreibung

public string ZMQSocket::recvMulti ([ integer $mode = 0 ] )

Receive an array multipart message from a socket. By default receiving will block until a message is available unless ZMQ::MODE_NOBLOCK flag is used.

Parameter-Liste

mode

Pass mode flags to receive multipart messages or non-blocking operation. See ZMQ::MODE_* constants.

Rückgabewerte

Returns the array of message parts. Throws ZMQSocketException in error. If ZMQ::MODE_NOBLOCK is used and the operation would block boolean false shall be returned.

ZMQSocket::recv
ZMQSocket::send
ZMQSocket


Sends a message

ZMQSocket::recvMulti
ZMQSocket::sendmulti
ZMQSocket
PHP Manual

ZMQSocket::send

(PECL zmq >= 0.5.0)

ZMQSocket::send — Sends a message

Beschreibung

public ZMQSocket ZMQSocket::send ( string $message [, integer $mode = 0 ] )

Send a message using the socket. The operation can block unless ZMQ::MODE_NOBLOCK is used.

Parameter-Liste

message

The message to send.

mode

Pass mode flags to receive multipart messages or non-blocking operation. See ZMQ::MODE_* constants.

Rückgabewerte

Returns the current object. Throws ZMQSocketException on error. If ZMQ::MODE_NOBLOCK is used and the operation would block boolean false shall be returned.

ZMQSocket::recvMulti
ZMQSocket::sendmulti
ZMQSocket


Sends a multipart message

ZMQSocket::send
ZMQSocket::setSockOpt
ZMQSocket
PHP Manual

ZMQSocket::sendmulti

(PECL zmq >= 0.8.0)

ZMQSocket::sendmulti — Sends a multipart message

Beschreibung

public ZMQSocket ZMQSocket::send ( array $message [, integer $mode = 0 ] )

Send a multipart message using the socket. The operation can block unless ZMQ::MODE_NOBLOCK is used.

Parameter-Liste

message

The message to send - an array of strings

mode

Pass mode flags to receive multipart messages or non-blocking operation. See ZMQ::MODE_* constants.

Rückgabewerte

Returns the current object. Throws ZMQSocketException on error. If ZMQ::MODE_NOBLOCK is used and the operation would block boolean false shall be returned.

ZMQSocket::send
ZMQSocket::setSockOpt
ZMQSocket


Set a socket option

ZMQSocket::sendmulti
ZMQSocket::unbind
ZMQSocket
PHP Manual

ZMQSocket::setSockOpt

(PECL zmq >= 0.5.0)

ZMQSocket::setSockOpt — Set a socket option

Beschreibung

public ZMQSocket ZMQSocket::setSockOpt ( integer $key , mixed $value )

Sets a ZMQ socket option. The type of the value depends on the key. See ZMQ Constant Types for more information.

Parameter-Liste

key

One of the ZMQ::SOCKOPT_* constants.

value

The value of the parameter.

Rückgabewerte

Returns the current object. Throws ZMQSocketException on error.

ZMQSocket::sendmulti
ZMQSocket::unbind
ZMQSocket


Unbind the socket

ZMQSocket::setSockOpt
ZMQPoll
ZMQSocket
PHP Manual

ZMQSocket::unbind

(PECL zmq >= 1.0.4)

ZMQSocket::unbind — Unbind the socket

Beschreibung

public ZMQSocket ZMQSocket::unbind ( string $dsn )

Unbind the socket from an endpoint. The endpoint is defined in format transport://address where transport is one of the following: inproc, ipc, tcp, pgm or epgm.

Parameter-Liste

dsn

The previously bound dsn, for example transport://address.

Rückgabewerte

Returns the current object. Throws ZMQSocketException on error.

ZMQSocket::setSockOpt
ZMQPoll
ZMQSocket


The ZMQPoll class

(No version information available, might only be in Git)

Einführung

Klassenbeschreibung

ZMQPoll {
/* Methods */
public string add ( mixed $entry , integer $type )
public ZMQPoll clear ( void )
public integer count ( void )
public array getLastErrors ( void )
public integer poll ( array &$readable , array &$writable [, integer $timeout = -1 ] )
public boolean remove ( mixed $item )
}

Inhaltsverzeichnis

  • ZMQPoll::add — Add item to the poll set
  • ZMQPoll::clear — Clear the poll set
  • ZMQPoll::count — Count items in the poll set
  • ZMQPoll::getLastErrors — Get poll errors
  • ZMQPoll::poll — Poll the items
  • ZMQPoll::remove — Remove item from poll set
ZMQSocket::unbind
ZMQPoll::add
0MQ messaging


Add item to the poll set

ZMQPoll
ZMQPoll::clear
ZMQPoll
PHP Manual

ZMQPoll::add

(PECL zmq >= 0.5.0)

ZMQPoll::add — Add item to the poll set

Beschreibung

public string ZMQPoll::add ( mixed $entry , integer $type )

Adds a new item to the poll set and returns the internal id of the added item. The item can be removed from the poll set using the returned string id.

Parameter-Liste

entry

ZMQSocket object or a PHP stream resource

type

Defines what activity the socket is polled for. See ZMQ::POLL_IN and ZMQ::POLL_OUT constants.

Rückgabewerte

Returns a string id of the added item which can be later used to remove the item. Throws ZMQPollException on error.

ZMQPoll
ZMQPoll::clear
ZMQPoll


Clear the poll set

ZMQPoll::add
ZMQPoll::count
ZMQPoll
PHP Manual

ZMQPoll::clear

(PECL zmq >= 0.5.0)

ZMQPoll::clear — Clear the poll set

Beschreibung

public ZMQPoll ZMQPoll::clear ( void )

Clears all elements from the poll set.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current object.

ZMQPoll::add
ZMQPoll::count
ZMQPoll


Count items in the poll set

ZMQPoll::clear
ZMQPoll::getLastErrors
ZMQPoll
PHP Manual

ZMQPoll::count

(PECL zmq >= 0.5.0)

ZMQPoll::count — Count items in the poll set

Beschreibung

public integer ZMQPoll::count ( void )

Count the items in the poll set.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an integer representing the amount of items in the poll set.

ZMQPoll::clear
ZMQPoll::getLastErrors
ZMQPoll


Get poll errors

ZMQPoll::count
ZMQPoll::poll
ZMQPoll
PHP Manual

ZMQPoll::getLastErrors

(PECL zmq >= 0.5.0)

ZMQPoll::getLastErrors — Get poll errors

Beschreibung

public array ZMQPoll::getLastErrors ( void )

Returns the ids of the objects that had errors in the last poll.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array containing ids for the items that had errors in the last poll. Empty array is returned if there were no errors.

ZMQPoll::count
ZMQPoll::poll
ZMQPoll


Poll the items

ZMQPoll::getLastErrors
ZMQPoll::remove
ZMQPoll
PHP Manual

ZMQPoll::poll

(PECL zmq >= 0.5.0)

ZMQPoll::poll — Poll the items

Beschreibung

public integer ZMQPoll::poll ( array &$readable , array &$writable [, integer $timeout = -1 ] )

Polls the items in the current poll set. The readable and writable items are returned in the readable and writable parameters. ZMQPoll::getLastErrors() can be used to check if there were errors.

Parameter-Liste

readable

Array where readable ZMQSockets/PHP streams are returned. The array will be cleared at the beginning of the operation.

writable

Array where writable ZMQSockets/PHP streams are returned. The array will be cleared at the beginning of the operation.

timeout

Timeout for the operation. -1 means that poll waits until at least one item has activity. Please note that starting from version 1.0.0 the poll timeout is defined in milliseconds, rather than microseconds.

Beispiele

Beispiel #1 A ZMQPoll() example

Create a simple poll server

<?php

/* Create socket, request-reply pattern (reply socket) */
$context = new ZMQContext();
$server  = $context->getSocket(ZMQ::SOCKET_REP);

/* Bind to port 5555 on 127.0.0.1 */
$server->bind("tcp://127.0.0.1:5555");

/* Create new pollset for incoming/outgoing message */
$poll = new ZMQPoll();

/* Add the object and listen for poll in/out */
$id = $poll->add($server, ZMQ::POLL_IN | ZMQ::POLL_OUT);
echo "Added object with id " . $id . "\n";

/* Initialise readable and writable arrays */
$readable = array();
$writable = array();

while (true) {
   /* Amount of events retrieved */
   $events = 0;

   try {
       /* Poll until there is something to do */
       $events = $poll->poll($readable, $writable, -1);
       $errors = $poll->getLastErrors();

       if (count($errors) > 0) {
           foreach ($errors as $error) {
               echo "Error polling object " . $error . "\n";
           }
       }
   } catch (ZMQPollException $e) {
       echo "poll failed: " . $e->getMessage() . "\n";
   }

   if ($events > 0) {
       /* Loop through readable objects and recv messages */
       foreach ($readable as $r) {
           try {
               echo "Received message: " . $r->recv() . "\n";
           } catch (ZMQException $e) {
               echo "recv failed: " . $e->getMessage() . "\n";
           }
       }

       /* Loop through writable and send back messages */
       foreach ($writable as $w) {
           try {
               $w->send("Got it!");
           } catch (ZMQException $e) {
               echo "send failed: " . $e->getMessage() . "\n";
           }
       }
   }
}
?>

Rückgabewerte

Returns an integer representing amount of items with activity. Throws ZMQPollException on error.

ZMQPoll::getLastErrors
ZMQPoll::remove
ZMQPoll


Remove item from poll set

ZMQPoll::poll
ZMQDevice
ZMQPoll
PHP Manual

ZMQPoll::remove

(PECL zmq >= 0.5.0)

ZMQPoll::remove — Remove item from poll set

Beschreibung

public boolean ZMQPoll::remove ( mixed $item )

Remove item from the poll set. The item parameter can be ZMQSocket object, a stream resource or the id returned from ZMQPoll::add() method.

Parameter-Liste

item

The ZMQSocket object, PHP stream or string id of the item.

Rückgabewerte

Returns true if the item was removed and false if the object with given id does not exist in the poll set.

ZMQPoll::poll
ZMQDevice
ZMQPoll


The ZMQDevice class

(No version information available, might only be in Git)

Einführung

Klassenbeschreibung

ZMQDevice {
/* Methods */
__construct ( ZMQSocket $frontend , ZMQSocket $backend [, ZMQSocket $listener ] )
public ZMQDevice getIdleTimeout ( void )
public ZMQDevice getTimerTimeout ( void )
public void run ( void )
public ZMQDevice setIdleCallback ( callable $cb_func , integer $timeout [, mixed $user_data ] )
public ZMQDevice setIdleTimeout ( integer $timeout )
public ZMQDevice setTimerCallback ( callable $cb_func , integer $timeout [, mixed $user_data ] )
public ZMQDevice setTimerTimeout ( integer $timeout )
}

Inhaltsverzeichnis

  • ZMQDevice::__construct — Construct a new device
  • ZMQDevice::getIdleTimeout — Get the idle timeout
  • ZMQDevice::getTimerTimeout — Get the timer timeout
  • ZMQDevice::run — Run the new device
  • ZMQDevice::setIdleCallback — Set the idle callback function
  • ZMQDevice::setIdleTimeout — Set the idle timeout
  • ZMQDevice::setTimerCallback — Set the timer callback function
  • ZMQDevice::setTimerTimeout — Set the timer timeout
ZMQPoll::remove
ZMQDevice::__construct
0MQ messaging


Construct a new device

ZMQDevice
ZMQDevice::getIdleTimeout
ZMQDevice
PHP Manual

ZMQDevice::__construct

(PECL zmq >= 0.5.0)

ZMQDevice::__construct — Construct a new device

Beschreibung

ZMQDevice::__construct ( ZMQSocket $frontend , ZMQSocket $backend [, ZMQSocket $listener ] )

"ØMQ devices can do intermediation of addresses, services, queues, or any other abstraction you care to define above the message and socket layers." -- zguide

Parameter-Liste

frontend

Frontend parameter for the devices. Usually where there messages are coming.

backend

Backend parameter for the devices. Usually where there messages going to.

listener

Listener socket, which receives a copy of all messages going both directions. The type of this socket should be SUB, PULL or DEALER.

Rückgabewerte

Call to this method will prepare the device. Usually devices are very long running processes so running this method from interactive script is not recommended. This method throw ZMQDeviceException if the device cannot be started.

ZMQDevice
ZMQDevice::getIdleTimeout
ZMQDevice


Get the idle timeout

ZMQDevice::__construct
ZMQDevice::getTimerTimeout
ZMQDevice
PHP Manual

ZMQDevice::getIdleTimeout

(No version information available, might only be in Git)

ZMQDevice::getIdleTimeout — Get the idle timeout

Beschreibung

public ZMQDevice ZMQDevice::getIdleTimeout ( void )

Gets the idle callback timeout value. Added in ZMQ extension version 1.1.0.

Rückgabewerte

This method returns the idle callback timeout value.

ZMQDevice::__construct
ZMQDevice::getTimerTimeout
ZMQDevice


Get the timer timeout

ZMQDevice::getIdleTimeout
ZMQDevice::run
ZMQDevice
PHP Manual

ZMQDevice::getTimerTimeout

(No version information available, might only be in Git)

ZMQDevice::getTimerTimeout — Get the timer timeout

Beschreibung

public ZMQDevice ZMQDevice::getTimerTimeout ( void )

Gets the timer callback timeout value. Added in ZMQ extension version 1.1.0.

Rückgabewerte

This method returns the timer timeout value.

ZMQDevice::getIdleTimeout
ZMQDevice::run
ZMQDevice


Run the new device

ZMQDevice::getTimerTimeout
ZMQDevice::setIdleCallback
ZMQDevice
PHP Manual

ZMQDevice::run

(No version information available, might only be in Git)

ZMQDevice::run — Run the new device

Beschreibung

public void ZMQDevice::run ( void )

Runs the device.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Call to this method will block until the device is running. It is not recommended that devices are used from interactive scripts. On failure this method will throw ZMQDeviceException.

ZMQDevice::getTimerTimeout
ZMQDevice::setIdleCallback
ZMQDevice


Set the idle callback function

ZMQDevice::run
ZMQDevice::setIdleTimeout
ZMQDevice
PHP Manual

ZMQDevice::setIdleCallback

(No version information available, might only be in Git)

ZMQDevice::setIdleCallback — Set the idle callback function

Beschreibung

public ZMQDevice ZMQDevice::setIdleCallback ( callable $cb_func , integer $timeout [, mixed $user_data ] )

Sets the idle callback function. If idle timeout is defined the idle callback function shall be called if the internal poll loop times out without events. If the callback function returns false or a value that evaluates to false the device is stopped. The callback function signature is callback (mixed $user_data).

Parameter-Liste

cb_func

Callback function to invoke when the device is idle. Returning false or a value that evaluates to false from this function will cause the device to stop.

timeout

How often to invoke the idle callback in milliseconds. The idle callback is invoked periodically when there is no activity on the device. The timeout value guarantees that there is at least this amount of milliseconds between invocations of the callback function.

user_data

Additional data to pass to the callback function.

Rückgabewerte

On success this method returns the current object.

ZMQDevice::run
ZMQDevice::setIdleTimeout
ZMQDevice


Set the idle timeout

ZMQDevice::setIdleCallback
ZMQDevice::setTimerCallback
ZMQDevice
PHP Manual

ZMQDevice::setIdleTimeout

(No version information available, might only be in Git)

ZMQDevice::setIdleTimeout — Set the idle timeout

Beschreibung

public ZMQDevice ZMQDevice::setIdleTimeout ( integer $timeout )

Sets the idle callback timeout value. The idle callback is invoked periodically when the device is idle.

Parameter-Liste

timeout

The idle callback timeout value.

Rückgabewerte

On success this method returns the current object.

ZMQDevice::setIdleCallback
ZMQDevice::setTimerCallback
ZMQDevice


Set the timer callback function

ZMQDevice::setIdleTimeout
ZMQDevice::setTimerTimeout
ZMQDevice
PHP Manual

ZMQDevice::setTimerCallback

(No version information available, might only be in Git)

ZMQDevice::setTimerCallback — Set the timer callback function

Beschreibung

public ZMQDevice ZMQDevice::setTimerCallback ( callable $cb_func , integer $timeout [, mixed $user_data ] )

Sets the timer callback function. The timer callback will be invoked after timeout has passed. The difference between idle and timer callbacks are that idle callback is invoked only when the device is idle. The callback function signature is callback (mixed $user_data). Added in ZMQ extension version 1.1.0.

Parameter-Liste

cb_func

Callback function to invoke when the device is idle. Returning false or a value that evaluates to false from this function will cause the device to stop.

timeout

How often to invoke the idle callback in milliseconds. The idle callback is invoked periodically when there is no activity on the device. The timeout value guarantees that there is at least this amount of milliseconds between invocations of the callback function.

user_data

Additional data to pass to the callback function.

Rückgabewerte

On success this method returns the current object.

ZMQDevice::setIdleTimeout
ZMQDevice::setTimerTimeout
ZMQDevice


Set the timer timeout

ZMQDevice::setTimerCallback
ZooKeeper
ZMQDevice
PHP Manual

ZMQDevice::setTimerTimeout

(No version information available, might only be in Git)

ZMQDevice::setTimerTimeout — Set the timer timeout

Beschreibung

public ZMQDevice ZMQDevice::setTimerTimeout ( integer $timeout )

Sets the timer callback timeout value. The timer callback is invoked periodically if it's set. Added in ZMQ extension version 1.1.0.

Parameter-Liste

timeout

The timer callback timeout value.

Rückgabewerte

On success this method returns the current object.

ZMQDevice::setTimerCallback
ZooKeeper
ZMQDevice


ZooKeeper

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • ZooKeeper — The ZooKeeper class
    • Zookeeper::addAuth — Specify application credentials.
    • Zookeeper::connect — Create a handle to used communicate with zookeeper.
    • Zookeeper::__construct — Create a handle to used communicate with zookeeper.
    • Zookeeper::create — Create a node synchronously.
    • Zookeeper::delete — Delete a node in zookeeper synchronously.
    • Zookeeper::exists — Checks the existence of a node in zookeeper synchronously.
    • Zookeeper::get — Gets the data associated with a node synchronously.
    • Zookeeper::getAcl — Gets the acl associated with a node synchronously.
    • Zookeeper::getClientId — return the client session id, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE)
    • Zookeeper::getRecvTimeout — Return the timeout for this session, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE). This value may change after a server re-connect.
    • Zookeeper::getState — Get the state of the zookeeper connection.
    • Zookeeper::isRecoverable — Checks if the current zookeeper connection state can be recovered.
    • Zookeeper::set — Sets the data associated with a node.
    • Zookeeper::setAcl — Sets the acl associated with a node synchronously.
    • Zookeeper::setDebugLevel — Sets the debugging level for the library.
    • Zookeeper::setDeterministicConnOrder — Enable/disable quorum endpoint order randomization.
    • Zookeeper::setLogStream — Sets the stream to be used by the library for logging.
    • Zookeeper::setWatcher — Set a watcher function.
ZMQDevice::setTimerTimeout
Einführung
Sonstige Dienste


Einführung

This extension uses libzookeeper library to provide API for communicating with ZooKeeper service.

ZooKeeper is an Apache project that enables centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services.

ZooKeeper
Installation/Konfiguration
ZooKeeper


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
ZooKeeper


Anforderungen

This extension requires » ZooKeeper C Binding (version 3.4.1 or greater). For more information, see » ZooKeeper Programmer's Guide.

This extension requires PHP version 5.2.0 or higher.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/zookeeper.

To enable zookeeper support, configure with --with-libzookeeper-dir=DIR . DIR is the install prefix of ZooKeeper C Binding, which must contain the include/zookeeper/zookeeper.h

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Zookeeper Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
zookeeper.recv_timeout | 10000 | PHP_INI_ALL |
zookeeper.session_lock | 1 | PHP_INI_SYSTEM |
zookeeper.sess_lock_wait | 150000 | PHP_INI_ALL |
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

zookeeper.recv_timeout integer

Default the timeout for any ZooKeeper session.

zookeeper.session_lock integer

Enable PHP session locking.

zookeeper.sess_lock_wait integer

PHP Session spin lock retry wait time in microseconds. Be carefull when setting this value. Valid values are integers, where 0 is interpreted as the default value. Negative values result in a reduces locking to a try lock.

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
ZooKeeper
ZooKeeper


Vordefinierte Konstanten
Zookeeper::addAuth
ZooKeeper
PHP Manual

The ZooKeeper class

(PECL zookeeper >= 0.1.0)

Einführung

Represents ZooKeeper session.

Klassenbeschreibung

Zookeeper {
/* Methoden */
public __construct ([ string $host = '' [, callable $watcher_cb = null [, int $recv_timeout = 10000 ]]] )
public bool addAuth ( string $scheme , string $cert [, callable $completion_cb = null ] )
public void connect ( string $host [, callable $watcher_cb = null [, int $recv_timeout = 10000 ]] )
public string create ( string $path , string $value , array $acls [, int $flags = null ] )
public bool delete ( string $path [, int $version = -1 ] )
public bool exists ( string $path [, callable $watcher_cb = null ] )
public string get ( string $path [, callable $watcher_cb = null [, array &$stat = null [, int $max_size = 0 ]]] )
public array getAcl ( string $path )
public int getClientId ( void )
public int getRecvTimeout ( void )
public int getState ( void )
public bool isRecoverable ( void )
public bool set ( string $path , string $value [, int $version = -1 [, array &$stat = null ]] )
public bool setAcl ( string $path , int $version , array $acl )
public static bool setDebugLevel ( int $logLevel )
public static bool setDeterministicConnOrder ( bool $yesOrNo )
public bool setLogStream ( resource $stream )
public bool setWatcher ( callable $watcher_cb )
/* Konstanten */
const integer PERM_READ = 1 ;
const integer PERM_WRITE = 2 ;
const integer PERM_CREATE = 4 ;
const integer PERM_DELETE = 8 ;
const integer PERM_ADMIN = 16 ;
const integer PERM_ALL = 31 ;
const integer LOG_LEVEL_ERROR = 1 ;
const integer LOG_LEVEL_WARN = 2 ;
const integer LOG_LEVEL_INFO = 3 ;
const integer LOG_LEVEL_DEBUG = 4 ;
const integer EXPIRED_SESSION_STATE = -112 ;
const integer AUTH_FAILED_STATE = -113 ;
const integer CONNECTING_STATE = 1 ;
const integer ASSOCIATING_STATE = 2 ;
const integer CONNECTED_STATE = 3 ;
const integer READONLY_STATE = 5 ;
const integer NOTCONNECTED_STATE = 999 ;
}

Vordefinierte Konstanten

ZooKeeper Permissions

Zookeeper::PERM_READ

Can read nodes value and list its children

Zookeeper::PERM_WRITE

Can set the nodes value

Zookeeper::PERM_CREATE

Can create children

Zookeeper::PERM_DELETE

Can delete children

Zookeeper::PERM_ADMIN

Can execute set_acl()

Zookeeper::PERM_ALL

All of the above flags ORd together

ZooKeeper Log Levels

Zookeeper::LOG_LEVEL_ERROR

Outputs only error mesages

Zookeeper::LOG_LEVEL_WARN

Outputs errors/warnings

Zookeeper::LOG_LEVEL_INFO

Outputs big action messages besides errors/warnings

Zookeeper::LOG_LEVEL_DEBUG

Outputs all

ZooKeeper States

Zookeeper::EXPIRED_SESSION_STATE

Connected but session expired

Zookeeper::AUTH_FAILED_STATE

Connected but auth failed

Zookeeper::CONNECTING_STATE

Connecting

Zookeeper::ASSOCIATING_STATE

Associating

Zookeeper::CONNECTED_STATE

Connected

Zookeeper::READONLY_STATE

TODO: help us improve this extension.

Zookeeper::NOTCONNECTED_STATE

Connection failed

Inhaltsverzeichnis

  • Zookeeper::addAuth — Specify application credentials.
  • Zookeeper::connect — Create a handle to used communicate with zookeeper.
  • Zookeeper::__construct — Create a handle to used communicate with zookeeper.
  • Zookeeper::create — Create a node synchronously.
  • Zookeeper::delete — Delete a node in zookeeper synchronously.
  • Zookeeper::exists — Checks the existence of a node in zookeeper synchronously.
  • Zookeeper::get — Gets the data associated with a node synchronously.
  • Zookeeper::getAcl — Gets the acl associated with a node synchronously.
  • Zookeeper::getClientId — return the client session id, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE)
  • Zookeeper::getRecvTimeout — Return the timeout for this session, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE). This value may change after a server re-connect.
  • Zookeeper::getState — Get the state of the zookeeper connection.
  • Zookeeper::isRecoverable — Checks if the current zookeeper connection state can be recovered.
  • Zookeeper::set — Sets the data associated with a node.
  • Zookeeper::setAcl — Sets the acl associated with a node synchronously.
  • Zookeeper::setDebugLevel — Sets the debugging level for the library.
  • Zookeeper::setDeterministicConnOrder — Enable/disable quorum endpoint order randomization.
  • Zookeeper::setLogStream — Sets the stream to be used by the library for logging.
  • Zookeeper::setWatcher — Set a watcher function.
Vordefinierte Konstanten
Zookeeper::addAuth
ZooKeeper


Specify application credentials.

ZooKeeper
Zookeeper::connect
ZooKeeper
PHP Manual

Zookeeper::addAuth

(PECL zookeeper >= 0.1.0)

Zookeeper::addAuth — Specify application credentials.

Beschreibung

public bool Zookeeper::addAuth ( string $scheme , string $cert [, callable $completion_cb = null ] )

The application calls this function to specify its credentials for purposes of authentication. The server will use the security provider specified by the scheme parameter to authenticate the client connection. If the authentication request has failed: - the server connection is dropped. - the watcher is called with the ZOO_AUTH_FAILED_STATE value as the state parameter.

Parameter-Liste

scheme

The id of authentication scheme. Natively supported: "digest" password-based authentication

cert

Application credentials. The actual value depends on the scheme.

completion_cb

The routine to invoke when the request completes. One of the following result codes may be passed into the completion callback: - ZOK operation completed successfully - ZAUTHFAILED authentication failed

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

This method emits PHP error/warning when parameters count or types are wrong or operation fails.

Beispiele

Beispiel #1 Zookeeper::addAuth() example

Add auth before requesting node value.

<?php
$zookeeper = new Zookeeper('locahost:2181');
$path = '/path/to/node';
$value = 'nodevalue';
$zookeeper->set($path, $value);

$zookeeper->addAuth('digest', 'user0:passwd0');
$r = $zookeeper->get($path);
if ($r)
  echo $r;
else
  echo 'ERR';
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

nodevalue

Siehe auch

  • Zookeeper::create() - Create a node synchronously.
  • Zookeeper::setAcl() - Sets the acl associated with a node synchronously.
  • Zookeeper::getAcl() - Gets the acl associated with a node synchronously.
  • ZooKeeper States
ZooKeeper
Zookeeper::connect
ZooKeeper


Create a handle to used communicate with zookeeper.

Zookeeper::addAuth
Zookeeper::__construct
ZooKeeper
PHP Manual

Zookeeper::connect

(PECL zookeeper >= 0.2.0)

Zookeeper::connect — Create a handle to used communicate with zookeeper.

Beschreibung

public void Zookeeper::connect ( string $host [, callable $watcher_cb = null [, int $recv_timeout = 10000 ]] )

This method creates a new handle and a zookeeper session that corresponds to that handle. Session establishment is asynchronous, meaning that the session should not be considered established until (and unless) an event of state ZOO_CONNECTED_STATE is received.

Parameter-Liste

host

Comma separated host:port pairs, each corresponding to a zk server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002"

watcher_cb

The global watcher callback function. When notifications are triggered this function will be invoked.

recv_timeout

The timeout for this session, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE).

Fehler/Exceptions

This method emits PHP error/warning when parameters count or types are wrong or could not init instance.

Siehe auch

  • Zookeeper::__construct() - Create a handle to used communicate with zookeeper.
Zookeeper::addAuth
Zookeeper::__construct
ZooKeeper


Create a handle to used communicate with zookeeper.

Zookeeper::connect
Zookeeper::create
ZooKeeper
PHP Manual

Zookeeper::__construct

(PECL zookeeper >= 0.1.0)

Zookeeper::__construct — Create a handle to used communicate with zookeeper.

Beschreibung

public Zookeeper::__construct ([ string $host = '' [, callable $watcher_cb = null [, int $recv_timeout = 10000 ]]] )

This method creates a new handle and a zookeeper session that corresponds to that handle. Session establishment is asynchronous, meaning that the session should not be considered established until (and unless) an event of state ZOO_CONNECTED_STATE is received.

Parameter-Liste

host

comma separated host:port pairs, each corresponding to a zk server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002"

watcher_cb

the global watcher callback function. When notifications are triggered this function will be invoked.

recv_timeout

the timeout for this session, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE).

Fehler/Exceptions

This method emits PHP error/warning when parameters count or types are wrong or could not init instance.

Siehe auch

  • Zookeeper::connect() - Create a handle to used communicate with zookeeper.
Zookeeper::connect
Zookeeper::create
ZooKeeper


Create a node synchronously.

Zookeeper::__construct
Zookeeper::delete
ZooKeeper
PHP Manual

Zookeeper::create

(PECL zookeeper >= 0.1.0)

Zookeeper::create — Create a node synchronously.

Beschreibung

public string Zookeeper::create ( string $path , string $value , array $acls [, int $flags = null ] )

This method will create a node in ZooKeeper. A node can only be created if it does not already exists. The Create Flags affect the creation of nodes. If ZOO_EPHEMERAL flag is set, the node will automatically get removed if the client session goes away. If the ZOO_SEQUENCE flag is set, a unique monotonically increasing sequence number is appended to the path name.

Parameter-Liste

path

The name of the node. Expressed as a file name with slashes separating ancestors of the node.

value

The data to be stored in the node.

acls

The initial ACL of the node. The ACL must not be null or empty.

flags

this parameter can be set to 0 for normal create or an OR of the Create Flags

Rückgabewerte

Returns the path of the new node (this might be different than the supplied path because of the ZOO_SEQUENCE flag) on success, and false on failure.

Fehler/Exceptions

This method emits PHP error/warning when parameters count or types are wrong or fail to create node.

Beispiele

Beispiel #1 Zookeeper::create() example

Create a new node.

<?php
$zookeeper = new Zookeeper('locahost:2181');
$aclArray = array(
  array(
    'perms'  => Zookeeper::PERM_ALL,
    'scheme' => 'world',
    'id'     => 'anyone',
  )
);
$path = '/path/to/newnode';
$realPath = $zookeeper->create($path, null, $aclArray);
if ($realPath)
  echo $realPath;
else
  echo 'ERR';
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

/path/to/newnode

Siehe auch

  • Zookeeper::delete() - Delete a node in zookeeper synchronously.
  • ZooKeeper Permissions
Zookeeper::__construct
Zookeeper::delete
ZooKeeper


Delete a node in zookeeper synchronously.

Zookeeper::create
Zookeeper::exists
ZooKeeper
PHP Manual

Zookeeper::delete

(PECL zookeeper >= 0.2.0)

Zookeeper::delete — Delete a node in zookeeper synchronously.

Beschreibung

public bool Zookeeper::delete ( string $path [, int $version = -1 ] )

Parameter-Liste

path

The name of the node. Expressed as a file name with slashes separating ancestors of the node.

version

The expected version of the node. The function will fail if the actual version of the node does not match the expected version. If -1 is used the version check will not take place.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

This method emits PHP error/warning when parameters count or types are wrong or fail to delete node.

Beispiele

Beispiel #1 Zookeeper::delete() example

Delete a existing node.

<?php
$zookeeper = new Zookeeper('locahost:2181');
$path = '/path/to/node';
$r = $zookeeper->delete($path);
if ($r)
  echo 'SUCCESS';
else
  echo 'ERR';
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

SUCCESS

Siehe auch

  • Zookeeper::create() - Create a node synchronously.
Zookeeper::create
Zookeeper::exists
ZooKeeper


Checks the existence of a node in zookeeper synchronously.

Zookeeper::delete
Zookeeper::get
ZooKeeper
PHP Manual

Zookeeper::exists

(PECL zookeeper >= 0.1.0)

Zookeeper::exists — Checks the existence of a node in zookeeper synchronously.

Beschreibung

public bool Zookeeper::exists ( string $path [, callable $watcher_cb = null ] )

Parameter-Liste

path

The name of the node. Expressed as a file name with slashes separating ancestors of the node.

watcher_cb

if nonzero, a watch will be set at the server to notify the client if the node changes. The watch will be set even if the node does not

Rückgabewerte

Returns true/false on success, and false on failure.

Fehler/Exceptions

This method emits PHP error/warning when parameters count or types are wrong or fail to check the existence of a node.

Beispiele

Beispiel #1 Zookeeper::exists() example

Check the existence of a node.

<?php
$zookeeper = new Zookeeper('locahost:2181');
$path = '/path/to/node';
$r = $zookeeper->exists($path);
if ($r)
  echo 'EXISTS';
else
  echo 'N/A or ERR';
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

EXISTS

Siehe auch

  • Zookeeper::get() - Gets the data associated with a node synchronously.
Zookeeper::delete
Zookeeper::get
ZooKeeper


Gets the data associated with a node synchronously.

Zookeeper::exists
Zookeeper::getAcl
ZooKeeper
PHP Manual

Zookeeper::get

(PECL zookeeper >= 0.1.0)

Zookeeper::get — Gets the data associated with a node synchronously.

Beschreibung

public string Zookeeper::get ( string $path [, callable $watcher_cb = null [, array &$stat = null [, int $max_size = 0 ]]] )

Parameter-Liste

path

The name of the node. Expressed as a file name with slashes separating ancestors of the node.

watcher_cb

If nonzero, a watch will be set at the server to notify the client if the node changes.

stat

If not NULL, will hold the value of stat for the path on return.

max_size

Max size of the data. If 0 is used, this method will return the whole data.

Rückgabewerte

Returns the data on success, and false on failure.

Fehler/Exceptions

This method emits PHP error/warning when parameters count or types are wrong or fail to get value from node.

Beispiele

Beispiel #1 Zookeeper::get() example

Get value from node.

<?php
$zookeeper = new Zookeeper('locahost:2181');
$path = '/path/to/node';
$value = 'nodevalue';
$zookeeper->set($path, $value);

$r = $zookeeper->get($path);
if ($r)
  echo $r;
else
  echo 'ERR';
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

nodevalue

Siehe auch

  • Zookeeper::set() - Sets the data associated with a node.
Zookeeper::exists
Zookeeper::getAcl
ZooKeeper


Gets the acl associated with a node synchronously.

Zookeeper::get
Zookeeper::getClientId
ZooKeeper
PHP Manual

Zookeeper::getAcl

(PECL zookeeper >= 0.1.0)

Zookeeper::getAcl — Gets the acl associated with a node synchronously.

Beschreibung

public array Zookeeper::getAcl ( string $path )

Parameter-Liste

path

The name of the node. Expressed as a file name with slashes separating ancestors of the node.

Rückgabewerte

Return acl array on success and false on failure.

Fehler/Exceptions

This method emits PHP error/warning when parameters count or types are wrong or fail to get ACL of a node.

Beispiele

Beispiel #1 Zookeeper::getAcl() example

Get ACL of a node.

<?php
$zookeeper = new Zookeeper('locahost:2181');
$aclArray = array(
  array(
    'perms'  => Zookeeper::PERM_ALL,
    'scheme' => 'world',
    'id'     => 'anyone',
  )
);
$path = '/path/to/newnode';
$zookeeper->setAcl($path, $aclArray);

$r = $zookeeper->getAcl($path);
if ($r)
  var_dump($r);
else
  echo 'ERR';
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(1) {
  [0]=>
  array(3) {
    ["perms"]=>
    int(31)
    ["scheme"]=>
    string(5) "world"
    ["id"]=>
    string(6) "anyone"
  }
}

Siehe auch

  • Zookeeper::create() - Create a node synchronously.
  • Zookeeper::setAcl() - Sets the acl associated with a node synchronously.
  • ZooKeeper Permissions
Zookeeper::get
Zookeeper::getClientId
ZooKeeper


return the client session id, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE)

Zookeeper::getAcl
Zookeeper::getRecvTimeout
ZooKeeper
PHP Manual

Zookeeper::getClientId

(PECL zookeeper >= 0.1.0)

Zookeeper::getClientId — return the client session id, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE)

Beschreibung

public int Zookeeper::getClientId ( void )

Rückgabewerte

Returns the client session id on success, and false on failure.

Fehler/Exceptions

This method emits PHP error/warning when it could not get client session id.

Siehe auch

  • Zookeeper::__construct() - Create a handle to used communicate with zookeeper.
  • Zookeeper::connect() - Create a handle to used communicate with zookeeper.
  • Zookeeper::getState() - Get the state of the zookeeper connection.
  • ZooKeeper States
Zookeeper::getAcl
Zookeeper::getRecvTimeout
ZooKeeper


Return the timeout for this session, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE). This value may change after a server re-connect.

Zookeeper::getClientId
Zookeeper::getState
ZooKeeper
PHP Manual

Zookeeper::getRecvTimeout

(PECL zookeeper >= 0.1.0)

Zookeeper::getRecvTimeout — Return the timeout for this session, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE). This value may change after a server re-connect.

Beschreibung

public int Zookeeper::getRecvTimeout ( void )

Rückgabewerte

Returns the timeout for this session on success, and false on failure.

Fehler/Exceptions

This method emits PHP error/warning when operation fails.

Siehe auch

  • Zookeeper::__construct() - Create a handle to used communicate with zookeeper.
  • Zookeeper::connect() - Create a handle to used communicate with zookeeper.
Zookeeper::getClientId
Zookeeper::getState
ZooKeeper


Get the state of the zookeeper connection.

Zookeeper::getRecvTimeout
Zookeeper::isRecoverable
ZooKeeper
PHP Manual

Zookeeper::getState

(PECL zookeeper >= 0.1.0)

Zookeeper::getState — Get the state of the zookeeper connection.

Beschreibung

public int Zookeeper::getState ( void )

Rückgabewerte

Returns the state of zookeeper connection on success, and false on failure.

Fehler/Exceptions

This method emits PHP error/warning when it fails to get state of zookeeper connection.

Siehe auch

  • Zookeeper::__construct() - Create a handle to used communicate with zookeeper.
  • Zookeeper::connect() - Create a handle to used communicate with zookeeper.
  • Zookeeper::getClientId() - return the client session id, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE)
  • ZooKeeper States
Zookeeper::getRecvTimeout
Zookeeper::isRecoverable
ZooKeeper


Checks if the current zookeeper connection state can be recovered.

Zookeeper::getState
Zookeeper::set
ZooKeeper
PHP Manual

Zookeeper::isRecoverable

(PECL zookeeper >= 0.1.0)

Zookeeper::isRecoverable — Checks if the current zookeeper connection state can be recovered.

Beschreibung

public bool Zookeeper::isRecoverable ( void )

The application must close the zhandle and try to reconnect.

Rückgabewerte

Returns true/false on success, and false on failure.

Fehler/Exceptions

This method emits PHP error/warning when operation fails.

Siehe auch

  • Zookeeper::__construct() - Create a handle to used communicate with zookeeper.
  • Zookeeper::connect() - Create a handle to used communicate with zookeeper.
  • Zookeeper::getClientId() - return the client session id, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE)
  • ZooKeeper States
Zookeeper::getState
Zookeeper::set
ZooKeeper


Sets the data associated with a node.

Zookeeper::isRecoverable
Zookeeper::setAcl
ZooKeeper
PHP Manual

Zookeeper::set

(PECL zookeeper >= 0.1.0)

Zookeeper::set — Sets the data associated with a node.

Beschreibung

public bool Zookeeper::set ( string $path , string $value [, int $version = -1 [, array &$stat = null ]] )

Parameter-Liste

path

The name of the node. Expressed as a file name with slashes separating ancestors of the node.

value

The data to be stored in the node.

version

The expected version of the node. The function will fail if the actual version of the node does not match the expected version. If -1 is used the version check will not take place.

stat

If not NULL, will hold the value of stat for the path on return.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

This method emits PHP error/warning when parameters count or types are wrong or fail to save value to node.

Beispiele

Beispiel #1 Zookeeper::set() example

Save value to node.

<?php
$zookeeper = new Zookeeper('locahost:2181');
$path = '/path/to/node';
$value = 'nodevalue';
$r = $zookeeper->set($path, $value);
if ($r)
  echo 'SUCCESS';
else
  echo 'ERR';
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

SUCCESS

Siehe auch

  • Zookeeper::create() - Create a node synchronously.
  • Zookeeper::get() - Gets the data associated with a node synchronously.
Zookeeper::isRecoverable
Zookeeper::setAcl
ZooKeeper


Sets the acl associated with a node synchronously.

Zookeeper::set
Zookeeper::setDebugLevel
ZooKeeper
PHP Manual

Zookeeper::setAcl

(PECL zookeeper >= 0.1.0)

Zookeeper::setAcl — Sets the acl associated with a node synchronously.

Beschreibung

public bool Zookeeper::setAcl ( string $path , int $version , array $acl )

Parameter-Liste

path

The name of the node. Expressed as a file name with slashes separating ancestors of the node.

version

The expected version of the path.

acl

The acl to be set on the path.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

This method emits PHP error/warning when parameters count or types are wrong or fail to set ACL for a node.

Beispiele

Beispiel #1 Zookeeper::setAcl() example

Set ACL for a node.

<?php
$zookeeper = new Zookeeper('locahost:2181');
$aclArray = array(
  array(
    'perms'  => Zookeeper::PERM_ALL,
    'scheme' => 'world',
    'id'     => 'anyone',
  )
);
$path = '/path/to/newnode';
$zookeeper->setAcl($path, $aclArray);

$r = $zookeeper->getAcl($path);
if ($r)
  var_dump($r);
else
  echo 'ERR';
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(1) {
  [0]=>
  array(3) {
    ["perms"]=>
    int(31)
    ["scheme"]=>
    string(5) "world"
    ["id"]=>
    string(6) "anyone"
  }
}

Siehe auch

  • Zookeeper::create() - Create a node synchronously.
  • Zookeeper::getAcl() - Gets the acl associated with a node synchronously.
  • ZooKeeper Permissions
Zookeeper::set
Zookeeper::setDebugLevel
ZooKeeper


Sets the debugging level for the library.

Zookeeper::setAcl
Zookeeper::setDeterministicConnOrder
ZooKeeper
PHP Manual

Zookeeper::setDebugLevel

(PECL zookeeper >= 0.1.0)

Zookeeper::setDebugLevel — Sets the debugging level for the library.

Beschreibung

public static bool Zookeeper::setDebugLevel ( int $logLevel )

Parameter-Liste

logLevel

ZooKeeper log level constants.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

This method emits PHP error/warning when parameters count or types are wrong or fail to set debug level.

Beispiele

Beispiel #1 Zookeeper::setDebugLevel() example

Set debugl level.

<?php
$r = Zookeeper::setDebugLevel(Zookeeper::LOG_LEVEL_WARN);
if ($r)
  echo 'SUCCESS';
else
  echo 'ERR';
?>
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

SUCCESS

Siehe auch

  • ZooKeeper Log Levels
Zookeeper::setAcl
Zookeeper::setDeterministicConnOrder
ZooKeeper


Enable/disable quorum endpoint order randomization.

Zookeeper::setDebugLevel
Zookeeper::setLogStream
ZooKeeper
PHP Manual

Zookeeper::setDeterministicConnOrder

(PECL zookeeper >= 0.1.0)

Zookeeper::setDeterministicConnOrder — Enable/disable quorum endpoint order randomization.

Beschreibung

public static bool Zookeeper::setDeterministicConnOrder ( bool $yesOrNo )

If passed a non-zero value, will make the client connect to quorum peers in the order as specified in the zookeeper_init() call. A zero value causes zookeeper_init() to permute the peer endpoints which is good for more even client connection distribution among the quorum peers.

Parameter-Liste

yesOrNo

Enable/disable quorum endpoint order randomization.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

This method emits PHP error/warning when parameters count or types are wrong or operation fails.

Anmerkungen

Achtung

Note: typically this method should NOT be used outside of testing.

Hinweis: Da dies ein Sprachkonstrukt und keine Funktion ist, können Sie dieses nicht mit Variablenfunktionen verwenden.

Warnung

Diese Funktion ist (bis jetzt) nicht binary safe!

Hinweis: register_globals: Wichtiger Hinweis

Seit PHP 4.2.0 ist die Standardeinstellung für die Konfigurationsoption register_globals off. Die PHP-Community ermutigt alle, sich nicht auf diese Option zu verlassen und Alternativen wie superglobals zu verwenden.

Siehe auch

  • Zookeeper::__construct() - Create a handle to used communicate with zookeeper.
  • Zookeeper::connect() - Create a handle to used communicate with zookeeper.
Zookeeper::setDebugLevel
Zookeeper::setLogStream
ZooKeeper


Sets the stream to be used by the library for logging.

Zookeeper::setDeterministicConnOrder
Zookeeper::setWatcher
ZooKeeper
PHP Manual

Zookeeper::setLogStream

(PECL zookeeper >= 0.1.0)

Zookeeper::setLogStream — Sets the stream to be used by the library for logging.

Beschreibung

public bool Zookeeper::setLogStream ( resource $stream )

The zookeeper library uses stderr as its default log stream. Application must make sure the stream is writable. Passing in NULL resets the stream to its default value (stderr).

Parameter-Liste

stream

The stream to be used by the library for logging.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

This method emits PHP error/warning when parameters count or types are wrong or operation fails.

Siehe auch

  • Zookeeper::setDebugLevel() - Sets the debugging level for the library.
Zookeeper::setDeterministicConnOrder
Zookeeper::setWatcher
ZooKeeper


Set a watcher function.

Zookeeper::setLogStream
Suchmaschinenerweiterungen
ZooKeeper
PHP Manual

Zookeeper::setWatcher

(PECL zookeeper >= 0.1.0)

Zookeeper::setWatcher — Set a watcher function.

Beschreibung

public bool Zookeeper::setWatcher ( callable $watcher_cb )

Parameter-Liste

watcher_cb

A watch will be set at the server to notify the client if the node changes.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

This method emits PHP error/warning when parameters count or types are wrong or fail to set watcher.

Siehe auch

  • Zookeeper::exists() - Checks the existence of a node in zookeeper synchronously.
  • Zookeeper::get() - Gets the data associated with a node synchronously.
Zookeeper::setLogStream
Suchmaschinenerweiterungen
ZooKeeper


Suchmaschinenerweiterungen

  • mnoGoSearch
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • mnoGoSearch Funktionen
  • Solr — Apache Solr
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Solr Funktionen
    • Beispiele
    • SolrUtils — The SolrUtils class
    • SolrInputDocument — The SolrInputDocument class
    • SolrDocument — The SolrDocument class
    • SolrDocumentField — The SolrDocumentField class
    • SolrObject — The SolrObject class
    • SolrClient — The SolrClient class
    • SolrResponse — The SolrResponse class
    • SolrQueryResponse — The SolrQueryResponse class
    • SolrUpdateResponse — The SolrUpdateResponse class
    • SolrPingResponse — The SolrPingResponse class
    • SolrGenericResponse — The SolrGenericResponse class
    • SolrParams — The SolrParams class
    • SolrModifiableParams — The SolrModifiableParams class
    • SolrQuery — The SolrQuery class
    • SolrDisMaxQuery — The SolrDisMaxQuery class
    • SolrCollapseFunction — The SolrCollapseFunction class
    • SolrException — The SolrException class
    • SolrClientException — The SolrClientException class
    • SolrServerException — The SolrServerException class
    • SolrIllegalArgumentException — The SolrIllegalArgumentException class
    • SolrIllegalOperationException — The SolrIllegalOperationException class
    • SolrMissingMandatoryParameterException — The SolrMissingMandatoryParameterException class
  • Sphinx — Sphinx Client
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • SphinxClient — The SphinxClient class
  • Swish — Swish Indexing
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Swish Funktionen
Zookeeper::setWatcher
mnoGoSearch
Funktionsreferenz


mnoGoSearch

  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • mnoGoSearch Funktionen
    • udm_add_search_limit — Verschiedene Beschränkungen bei der Suche anwenden
    • udm_alloc_agent_array — Allocate mnoGoSearch session
    • udm_alloc_agent — Allocate mnoGoSearch session
    • udm_api_version — Gibt die Version der mnoGoSearch API zurück.
    • udm_cat_list — Liefert alle Kategorien auf der selben Ebene wie der aktuellen zurück.
    • udm_cat_path — Liefert den Pfad zur aktuellen Kategorie zurück.
    • udm_check_charset — Überprüft, ob der übergebene Zeichensatz mnoGoSearch bekannt ist
    • udm_clear_search_limits — Löscht alle mnoGoSearch Suchrestriktionen
    • udm_crc32 — Gibt eine CRC32-Prüfsumme des übergebenen Strings zurück.
    • udm_errno — Liefert den mnoGoSearch Fehlercode zurück.
    • udm_error — Liefert eine mnoGoSearch Fehlermeldung zurück.
    • udm_find — Führe eine Suche durch.
    • udm_free_agent — Löscht eine mnoGoSearch Session
    • udm_free_ispell_data — Gibt den Speicher frei, der für ISpell alloziiert wurde
    • udm_free_res — Löscht ein mnoGoSearch-Ergebis
    • udm_get_doc_count — Liefert die Anzahl aller Dokumente in der Datenbank zurück
    • udm_get_res_field — Erhalte ein mnoGoSearch Ergebenisfeld
    • udm_get_res_param — Liefert die mnoGoSearch Ergbnisparameter zurück.
    • udm_hash32 — Return Hash32 checksum of given string
    • udm_load_ispell_data — Lade ISpell-Daten
    • udm_set_agent_param — Setzt die Parameter der aktuellen mnoGoSearch Session
Suchmaschinenerweiterungen
Suchmaschinenerweiterungen


mnoGoSearch
Installation/Konfiguration
mnoGoSearch
PHP Manual

Diese Funktionen bieten eine Schnittstelle zu mnoGoSearch (früher UdmSearch). mnoGoSearch ist eine vollwertige Suchmaschine für den Intra- und Interneteinsatz, vertrieben unter der GPL. mnoGoSearch hat einige einzigartige Funktionen, die es für weite Einsatzbereiche tauglich machen. Es bietet Volltextindizierung von HTML, PDF und Textdokumenten. mnoGoSearch besteht aus zwei Teilen: Der erste ist der sogenannte indexer, der den Indizierungsmechanismus bereitstellt. Er spidered HTTP, FTP und Newsserver oder lokale Dateisysteme, indiziert die gefundenen Dokumente und speichert Meta-Daten über die Dokumente in einer SQL-Datenbank.

Weitere Informationen über mnoGoSearch befinden sich unter » http://www.mnogosearch.org/.

Hinweis:

Diese Erweiterung wurde ins » PECL-Repositorium verschoben und ist nicht mehr Teil von PHP ab PHP 5.1.0.

Hinweis: Diese Erweiterung steht auf Windows-Betriebssystemen nicht zur Verfügung.

mnoGoSearch
Installation/Konfiguration
mnoGoSearch


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Anforderungen
mnoGoSearch


Anforderungen

mnoGoSearch kann unter » http://www.mnogosearch.org/ heruntergeladen werden und muss auf dem System installiert sein. Es wird mindestens Version 3.1.10 von mnoGoSearch vorausgesetzt, um die folgenden Funktionen nutzen zu können.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/mnogosearch.

Diese Erweiterung wurde ins » PECL-Repositorium verschoben und ist nicht mehr Teil von PHP ab PHP 5.1.0

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Hinweis:

PHP contains built-in MySQL access library, which can be used to access MySQL. It is known that mnoGoSearch is not compatible with this built-in library and can work only with generic MySQL libraries. Thus, if you use mnoGoSearch with MySQL, during PHP configuration you have to indicate the directory of your MySQL installation, that was used during mnoGoSearch configuration, i.e. for example: --with-mnogosearch --with-mysql=/usr .

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

UDM_FIELD_URLID (integer)
UDM_FIELD_URL (integer)
UDM_FIELD_CONTENT (integer)
UDM_FIELD_TITLE (integer)
UDM_FIELD_KEYWORDS (integer)
UDM_FIELD_DESC (integer)
UDM_FIELD_DESCRIPTION (integer)
UDM_FIELD_TEXT (integer)
UDM_FIELD_SIZE (integer)
UDM_FIELD_RATING (integer)
UDM_FIELD_SCORE (integer)
UDM_FIELD_MODIFIED (integer)
UDM_FIELD_ORDER (integer)
UDM_FIELD_CRC (integer)
UDM_FIELD_CATEGORY (integer)
UDM_FIELD_LANG (integer)
UDM_FIELD_CHARSET (integer)
UDM_PARAM_PAGE_SIZE (integer)
UDM_PARAM_PAGE_NUM (integer)
UDM_PARAM_SEARCH_MODE (integer)
UDM_PARAM_CACHE_MODE (integer)
UDM_PARAM_TRACK_MODE (integer)
UDM_PARAM_PHRASE_MODE (integer)
UDM_PARAM_CHARSET (integer)
UDM_PARAM_LOCAL_CHARSET (integer)
UDM_PARAM_BROWSER_CHARSET (integer)
UDM_PARAM_STOPTABLE (integer)
UDM_PARAM_STOP_TABLE (integer)
UDM_PARAM_STOPFILE (integer)
UDM_PARAM_STOP_FILE (integer)
UDM_PARAM_WEIGHT_FACTOR (integer)
UDM_PARAM_WORD_MATCH (integer)
UDM_PARAM_MAX_WORD_LEN (integer)
UDM_PARAM_MAX_WORDLEN (integer)
UDM_PARAM_MIN_WORD_LEN (integer)
UDM_PARAM_MIN_WORDLEN (integer)
UDM_PARAM_ISPELL_PREFIXES (integer)
UDM_PARAM_ISPELL_PREFIX (integer)
UDM_PARAM_PREFIXES (integer)
UDM_PARAM_PREFIX (integer)
UDM_PARAM_CROSS_WORDS (integer)
UDM_PARAM_CROSSWORDS (integer)
UDM_PARAM_VARDIR (integer)
UDM_PARAM_DATADIR (integer)
UDM_PARAM_HLBEG (integer)
UDM_PARAM_HLEND (integer)
UDM_PARAM_SYNONYM (integer)
UDM_PARAM_SEARCHD (integer)
UDM_PARAM_QSTRING (integer)
UDM_PARAM_REMOTE_ADDR (integer)
UDM_LIMIT_CAT (integer)
UDM_LIMIT_URL (integer)
UDM_LIMIT_TAG (integer)
UDM_LIMIT_LANG (integer)
UDM_LIMIT_DATE (integer)
UDM_PARAM_FOUND (integer)
UDM_PARAM_NUM_ROWS (integer)
UDM_PARAM_WORDINFO (integer)
UDM_PARAM_WORD_INFO (integer)
UDM_PARAM_SEARCHTIME (integer)
UDM_PARAM_SEARCH_TIME (integer)
UDM_PARAM_FIRST_DOC (integer)
UDM_PARAM_LAST_DOC (integer)
UDM_MODE_ALL (integer)
UDM_MODE_ANY (integer)
UDM_MODE_BOOL (integer)
UDM_MODE_PHRASE (integer)
UDM_CACHE_ENABLED (integer)
UDM_CACHE_DISABLED (integer)
UDM_TRACK_ENABLED (integer)
UDM_TRACK_DISABLED (integer)
UDM_PHRASE_ENABLED (integer)
UDM_PHRASE_DISABLED (integer)
UDM_CROSS_WORDS_ENABLED (integer)
UDM_CROSSWORDS_ENABLED (integer)
UDM_CROSS_WORDS_DISABLED (integer)
UDM_CROSSWORDS_DISABLED (integer)
UDM_PREFIXES_ENABLED (integer)
UDM_PREFIX_ENABLED (integer)
UDM_ISPELL_PREFIXES_ENABLED (integer)
UDM_ISPELL_PREFIX_ENABLED (integer)
UDM_PREFIXES_DISABLED (integer)
UDM_PREFIX_DISABLED (integer)
UDM_ISPELL_PREFIXES_DISABLED (integer)
UDM_ISPELL_PREFIX_DISABLED (integer)
UDM_ISPELL_TYPE_AFFIX (integer)
UDM_ISPELL_TYPE_SPELL (integer)
UDM_ISPELL_TYPE_DB (integer)
UDM_ISPELL_TYPE_SERVER (integer)
UDM_MATCH_WORD (integer)
UDM_MATCH_BEGIN (integer)
UDM_MATCH_SUBSTR (integer)
UDM_MATCH_END (integer)
Ressource-Typen
mnoGoSearch Funktionen
mnoGoSearch


mnoGoSearch Funktionen

Inhaltsverzeichnis

  • udm_add_search_limit — Verschiedene Beschränkungen bei der Suche anwenden
  • udm_alloc_agent_array — Allocate mnoGoSearch session
  • udm_alloc_agent — Allocate mnoGoSearch session
  • udm_api_version — Gibt die Version der mnoGoSearch API zurück.
  • udm_cat_list — Liefert alle Kategorien auf der selben Ebene wie der aktuellen zurück.
  • udm_cat_path — Liefert den Pfad zur aktuellen Kategorie zurück.
  • udm_check_charset — Überprüft, ob der übergebene Zeichensatz mnoGoSearch bekannt ist
  • udm_clear_search_limits — Löscht alle mnoGoSearch Suchrestriktionen
  • udm_crc32 — Gibt eine CRC32-Prüfsumme des übergebenen Strings zurück.
  • udm_errno — Liefert den mnoGoSearch Fehlercode zurück.
  • udm_error — Liefert eine mnoGoSearch Fehlermeldung zurück.
  • udm_find — Führe eine Suche durch.
  • udm_free_agent — Löscht eine mnoGoSearch Session
  • udm_free_ispell_data — Gibt den Speicher frei, der für ISpell alloziiert wurde
  • udm_free_res — Löscht ein mnoGoSearch-Ergebis
  • udm_get_doc_count — Liefert die Anzahl aller Dokumente in der Datenbank zurück
  • udm_get_res_field — Erhalte ein mnoGoSearch Ergebenisfeld
  • udm_get_res_param — Liefert die mnoGoSearch Ergbnisparameter zurück.
  • udm_hash32 — Return Hash32 checksum of given string
  • udm_load_ispell_data — Lade ISpell-Daten
  • udm_set_agent_param — Setzt die Parameter der aktuellen mnoGoSearch Session
Vordefinierte Konstanten
udm_add_search_limit
mnoGoSearch


Verschiedene Beschränkungen bei der Suche anwenden

mnoGoSearch Funktionen
udm_alloc_agent_array
mnoGoSearch Funktionen
PHP Manual

udm_add_search_limit

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_add_search_limit — Verschiedene Beschränkungen bei der Suche anwenden

Beschreibung

int udm_add_search_limit ( int $agent , int $var , string $val )

udm_add_search_limit() gibt TRUE bei Erfolg, FALSE bei einem Fehler zurück. Fügt Suchrestritktionen hinzu.

agent - ein Link zu einem Agent, erhalten nach udm_alloc_agent().

var - Definiert den Parameter der die Einschränkung angibt.

val - Definiert den Wert des aktuellen Parameters.

Mögliche Werte für var:

  • UDM_LIMIT_URL - definiert URL Limitationen, um die Suche auf Unterbereiche einzuschränken SQL % und _ LIKE Wildcards werden unterstützt, % entspricht dabei einer beliebigen Anzahl von Zeichen, wobei auch keine Zeichen eingeschlossen werden, _ entspricht genau einem Zeichen. So entspricht also http://my.domain__/catalog sowohl http://my.domain.ru/catalog als auch http://my.domain.ua/catalog.
  • UDM_LIMIT_TAG - definiert TAG Limitationen. In der indexer-conf können bestimmeten Sites und Teilen von Sites sogenannte Tags zugewiesen werden. Auch bei Tags werden % und _ unterstützt. Metasymbole erlauben die Suche über Gruppen von Tags. So werden also die Tags ABCD und ABCE bei einer Einschränkung auf ABC_ eingeschlossen.
  • UDM_LIMIT_LANG - Definiert Sprachlimitationen.
  • UDM_LIMIT_CAT - Definiert Dokumentenkategorielimitationen. Kategorien sind den Tags ähnlich, jedoch im Gegensatz zu diesen verschachtelt. Eine Kategorie kann also Unterkategorie einer anderen sein. Für jede Ebene werden müssen zwei Zeichen verwendendet werden, entweder hexadezimale Zahlen von 0-F oder Zahlen zur Basis 36 von 0-Z. Eine Kategorie der obersten Ebene, z.B. 'Auto' hätte die Zahl 01, die Unterkategorie 'Ford' hätte ebenfalls die 01 als Zahl. Zusammen ergäbe das dann die 0101. Eine weitere Kategorie 'VW' unterhalb der Kategorie 'Auto' hätte dann die Zahl 0102 usw. Wenn 'VW' eine Unterkategorie 'Golf' hätte, wäre desren ID 010201.
  • UDM_LIMIT_DATE - Definiert Einschränkungen in Bezug auf das Datum, wann das Dokument zuletzt verändert wurde. Der Wert dieses Parameters ist das kleiner bzw. größer-Zeichen (< oder >) gefolgt von einem Unix-Timestamp, also z.B. Udm_Add_Search_Limit($udm,UDM_LIMIT_DATE,"<908012006"); Wenn das >-Zeichen benutzt wird, wird die Suche auf diejenigen Dokumente eingeschränkt, deren Veränderungsdatum jünger als das eingegebene ist, beim <-Zeichen erfolgt die Einschränkung dementsprechend auf Dokumente, die Älter sind.
mnoGoSearch Funktionen
udm_alloc_agent_array
mnoGoSearch Funktionen


Allocate mnoGoSearch session

udm_add_search_limit
udm_alloc_agent
mnoGoSearch Funktionen
PHP Manual

udm_alloc_agent_array

(PHP 4 >= 4.3.3, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_alloc_agent_array — Allocate mnoGoSearch session

Beschreibung

resource udm_alloc_agent_array ( array $databases )

udm_alloc_agent_array() will create an agent with multiple database connections.

Parameter-Liste

databases

The array databases must contain one database URL per element, analog to the first parameter of udm_alloc_agent().

Rückgabewerte

Returns a resource link identifier on successIm Fehlerfall wird FALSE zurückgegeben..

Siehe auch

  • udm_alloc_agent() - Allocate mnoGoSearch session

udm_add_search_limit
udm_alloc_agent
mnoGoSearch Funktionen


Allocate mnoGoSearch session

udm_alloc_agent_array
udm_api_version
mnoGoSearch Funktionen
PHP Manual

udm_alloc_agent

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_alloc_agent — Allocate mnoGoSearch session

Beschreibung

int udm_alloc_agent ( string $dbaddr [, string $dbmode ] )

udm_alloc_agent() Gibt bei Erfolg einen eindeutigen Zeiger auf einen mnoGoSearch-Agenten zurück, bei einem Fehler wird FALSE zurückgegeben. Diese Funktion kreiert eine Sitzung mit Datenbankparametern.

dbaddr - Datenbankadresse im URL-Stil. Wird verwendet, um mit den Daten Datenbanktyp, Datenbankhost, Datenbankname, Datenbankport, Datenbankuser und Datenbankpasswort eine Verbindung zu einer SQL-Datenbank herzustellen. Das Format lautet: DBAddr DBType:[//[DBUser[:DBPass]@]DBHost[:DBPort]]/DBName/.

dbmode - Mit dem Parameter dbmode wird der Modus spezifiziert, in dem die Daten in der Datenbank vorliegen. Wird der Modus 'single' gewählt, werden alle Wörter in der selben Tablelle gespeichert. Der Modus 'multi' speichert die Wörter in verschiedenene Tabellen, abhängig von deren Länge. Weitere Modi sind der CRC-Modus und der Multi-CRC-Modus, wobei der CRC-Modus schneller als der Single- und der Multimodus sind, und der Multi-CRC-Modus die Technik des CRC-Modus mit der Speicherstruktur des Multi-Modus verbindet. Format: DBMode single/multi/crc/crc-multi

Hinweis:

dbaddr und dbmode müssen mit den Werten übereinstimmen, die beim Indizieren verwendet wurden.

Hinweis:

Eigentlich öffnet diese Funktion keine Verbindung zur Datenbank, folglich werden auch keine User- und Passwortüberprüfungen durchgeführt. Die Verbindung zur Datenbank wird von der Funktion udm_find() übernommen, hier findet dann auch eine Überprüfung der Logindaten statt.

udm_alloc_agent_array
udm_api_version
mnoGoSearch Funktionen


Gibt die Version der mnoGoSearch API zurück.

udm_alloc_agent
udm_cat_list
mnoGoSearch Funktionen
PHP Manual

udm_api_version

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_api_version — Gibt die Version der mnoGoSearch API zurück.

Beschreibung

int udm_api_version ( void )

udm_api_version() gibt die mnoGoSearch API-Versionsnummer zurück. Wird als z.B. die mnoGoSearch 3.1.10 API benutzt, gibt diese Funktion 30110 zurück.

Diese Funktion erlaubt es dem Benutzer zu erfahren, welche Funktionen der mnoGoSearch-API verfügbar sind. udm_get_doc_count() diese Funktion ist erst ab mnoGoSearch 3.1.11 oder später verfügbar.

Beispiel:

if (udm_api_version() &gt;= 30111) {
   print  "Total number of urls in database: ".udm_get_doc_count($udm)."&lt;br&gt;\n";
   }
udm_alloc_agent
udm_cat_list
mnoGoSearch Funktionen


Liefert alle Kategorien auf der selben Ebene wie der aktuellen zurück.

udm_api_version
udm_cat_path
mnoGoSearch Funktionen
PHP Manual

udm_cat_list

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_cat_list — Liefert alle Kategorien auf der selben Ebene wie der aktuellen zurück.

Beschreibung

array udm_cat_list ( int $agent , string $category )

udm_cat_list() Gibt einen Array zurück, der alle Kategorien auf dem selben Level im Kategorienbaum wie die aktuelle Kategorie liegen.

Diese Funktion kann nützlich sein, um einen Kategorienbrowser zu entwickeln.

Gibt einen Array mit dem folgenden Format zurück:

Der Array besteht aus Paaren. Elemente mit geraden Indexnummern beinhalten die Kategoriepfade, die ungeraden Elemente behinhalten die entsprechenden Kategorienamen.

  $array[0] beinhaltet '020300'
  $array[1] beinhaltet 'Audi'
  $array[2] beinhaltet '020301'
  $array[3] beinhaltet 'BMW'
  $array[4] beinhaltet '020302'
  $array[5] beinhaltet 'Opel'
  ...
 usw.

  Das folgende Beispiel gibt Links im folgenden Format aus:
  Audi
  BMW
  Opel
  ...
<?php
   $cat_list_arr=udm_cat_list($udm_agent,$cat);
   $cat_list='';
   for ($i=0; $i&lt;count($cat_list_arr); $i+=2) {
   $path=$cat_list_arr[$i];
   $name=$cat_list_arr[$i+1];
   $cat_list .= "<a href=\"$PHP_SELF?cat=$path\">$name</a><br>";
   }
?>
udm_api_version
udm_cat_path
mnoGoSearch Funktionen


Liefert den Pfad zur aktuellen Kategorie zurück.

udm_cat_list
udm_check_charset
mnoGoSearch Funktionen
PHP Manual

udm_cat_path

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_cat_path — Liefert den Pfad zur aktuellen Kategorie zurück.

Beschreibung

array udm_cat_path ( int $agent , string $category )

udm_cat_path() gibt einen Array zurück, der den Pfad im Kategorienbaum von der Wurzel an bis zur aktuellen Kategorie enthält.

agent - Zeiger auf den Agenten.

category - aktuelle Kategorie - diejenige, zu der der Pfad herausgefunden werden soll.

Gibt einen Array mit dem folgenden Format zurück:

Der Array besteht aus Paaren. Elemente mit geraden Indexnummern beinhalten die Kategoriepfade, die ungeraden Elemente behinhalten die entsprechenden Kategorienamen.

So könnte der Aufruf $array=udm_cat_path($agent, '02031D'); folgenden Array zurückliefern:

 $array[0] beinhaltet ''
 $array[1] beinhaltet 'Root'
 $array[2] beinhaltet '02'
 $array[3] beinhaltet 'Sport'
 $array[4] beinhaltet '0203'
 $array[5] beinhaltet 'Auto'
 $array[4] beinhaltet '02031D'
 $array[5] beinhaltet 'Ferrari'

Beispiel #1 Spezifiziert den Pfad zu der aktuellen Kategorie in folgendem Format: '> Root > Sport > Auto > Ferrari'

<?php
   $cat_path_arr = udm_cat_path($udm_agent,$cat);
   $cat_path='';
   for ($i=0; $i&lt;count($cat_path_arr); $i+=2) {
     $path=$cat_path_arr[$i];
     $name=$cat_path_arr[$i+1];
     $cat_path .= " > <a href=\"$PHP_SELF?cat=$path\">$name</a> ";
   }
?>
udm_cat_list
udm_check_charset
mnoGoSearch Funktionen


Überprüft, ob der übergebene Zeichensatz mnoGoSearch bekannt ist

udm_cat_path
udm_clear_search_limits
mnoGoSearch Funktionen
PHP Manual

udm_check_charset

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_check_charset — Überprüft, ob der übergebene Zeichensatz mnoGoSearch bekannt ist

Beschreibung

bool udm_check_charset ( resource $agent , string $charset )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

udm_cat_path
udm_clear_search_limits
mnoGoSearch Funktionen


Löscht alle mnoGoSearch Suchrestriktionen

udm_check_charset
udm_crc32
mnoGoSearch Funktionen
PHP Manual

udm_clear_search_limits

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_clear_search_limits — Löscht alle mnoGoSearch Suchrestriktionen

Beschreibung

bool udm_clear_search_limits ( resource $agent )

udm_clear_search_limits() setzt definierte Sucheinschränkungen zurück und gibt TRUE zurück.

Siehe auch udm_add_search_limit().

udm_check_charset
udm_crc32
mnoGoSearch Funktionen


Gibt eine CRC32-Prüfsumme des übergebenen Strings zurück.

udm_clear_search_limits
udm_errno
mnoGoSearch Funktionen
PHP Manual

udm_crc32

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_crc32 — Gibt eine CRC32-Prüfsumme des übergebenen Strings zurück.

Beschreibung

int udm_crc32 ( resource $agent , string $str )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

udm_clear_search_limits
udm_errno
mnoGoSearch Funktionen


Liefert den mnoGoSearch Fehlercode zurück.

udm_crc32
udm_error
mnoGoSearch Funktionen
PHP Manual

udm_errno

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_errno — Liefert den mnoGoSearch Fehlercode zurück.

Beschreibung

int udm_errno ( resource $agent )

udm_errno() liefert den mnoGoSearch Fehlercode. Null wenn kein Fehler vorliegt..

agent - Zeiger auf einen Agenten, erhalten nach einem Aufruf von udm_alloc_agent().

Enthält einen numerischen Fehlercode.

udm_crc32
udm_error
mnoGoSearch Funktionen


Liefert eine mnoGoSearch Fehlermeldung zurück.

udm_errno
udm_find
mnoGoSearch Funktionen
PHP Manual

udm_error

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_error — Liefert eine mnoGoSearch Fehlermeldung zurück.

Beschreibung

string udm_error ( resource $agent )

udm_error() gibt eine mnoGoSearch Fehlermeldung zurück, eine leere Zeichenkette, wenn kein Fehler vorlag.

agent - Zeiger auf einen Agenten, erhalten nach einem Aufruf von udm_alloc_agent().

Liefert die Fehlermeldung des Agenten zurück.

udm_errno
udm_find
mnoGoSearch Funktionen


Führe eine Suche durch.

udm_error
udm_free_agent
mnoGoSearch Funktionen
PHP Manual

udm_find

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_find — Führe eine Suche durch.

Beschreibung

resource udm_find ( resource $agent , string $query )

Gibt bei Erfolg einen Suchergebniszeiger zurück, FALSE bei einem Fehler.

Die eigentliche Suche. Das erste Argument - die Session, das nächste - die Suche selbst. Um etwas zu finden, einfach die zu suchenden Begriffe in das Suchfeld eintippen und den Submit-Button drücken. Zum Beispiel "mysql odbc". Die doppelten Anführungszeichen " sollten nicht in einer Suche verwendet werden, sie werden hier nur aufgeführt, um die Suchbegriffe vom anderen Text zu unterscheiden. mnoGoSearch wird alle Dokumente finden, die das Wort "mysql" und/oder "odbc" enthalten. Dokumente, die der Suche besser entsprechen als andere werden zuerst angezeigt. Wird der Suchmodus ALL verwendet, werden nur Dokumente gefunden, die alle gesuchten Wörter mindestens einmal enthalten. Wird der Suchmodus ANY verwendet, werden alle Dokumente zurückgliefert, die eines der gesuchten Wörter enthalten. Wenn ausgefeiltere Suchen stattfinden sollen, muss die Suchsprache verwendet werden. In diesem Falle sollte der boolsche Übereinstimmungsmodus gewählt werden.

mnoGoSearch kennt die folgenden boolschen Operatoren:

& - logisches UND. Zum Beispiel "mysql & odbc". mnoGoSearch wird alle Dokumente finden, die sowohl "mysql" als auch "odbc" enthalten.

| - logisches ODER. Zum Beispiel "mysql|odbc". mnoGoSearch wird alle Dokumente zurückliefern die das Wort "mysql" oder das Wort "odbc" enthalten.

~ - logisches NICHT. Zum Beispiel "mysql & ~odbc". mnoGoSearch wird alle Dokumente finden, die das Wort "mysql" enthalten, nicht aber das Wort "odbc" zur gleichen Zeit. Dieser Operator ist jedoch ein rein ausschließender Operator. Die Suche "~odbc" wird keine Ergebnisse zurückliefern!

() - Gruppierung, um komplexe Suchen zu bilden. Zum Beispiel "(mysql | msql) & ~postgres". Die Suchesprache ist simpel und stark zugleich.

udm_error
udm_free_agent
mnoGoSearch Funktionen


Löscht eine mnoGoSearch Session

udm_find
udm_free_ispell_data
mnoGoSearch Funktionen
PHP Manual

udm_free_agent

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_free_agent — Löscht eine mnoGoSearch Session

Beschreibung

int udm_free_agent ( resource $agent )

Gibt den für einen Agent alloziierten Speicher frei.

Parameter-Liste

agent

Zeiger auf einen Agenten, erhalten nach einem Aufruf von udm_alloc_agent().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

udm_find
udm_free_ispell_data
mnoGoSearch Funktionen


Gibt den Speicher frei, der für ISpell alloziiert wurde

udm_free_agent
udm_free_res
mnoGoSearch Funktionen
PHP Manual

udm_free_ispell_data

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_free_ispell_data — Gibt den Speicher frei, der für ISpell alloziiert wurde

Beschreibung

bool udm_free_ispell_data ( int $agent )

Gibt den für Ispell-Daten alloziierten Speicher frei.

Parameter-Liste

agent

Zeiger auf einen Agenten, der mit einem Aufruf von udm_alloc_agent() erstellt wurde.

Rückgabewerte

udm_free_ispell_data() liefert stets TRUE zurück.

Anmerkungen

Hinweis:

Diese Funktion wird seit Version 3.1.12 von mnoGoSearch unterstützt. In vorherigen Versionen ist sie ohne Funktion.

udm_free_agent
udm_free_res
mnoGoSearch Funktionen


Löscht ein mnoGoSearch-Ergebis

udm_free_ispell_data
udm_get_doc_count
mnoGoSearch Funktionen
PHP Manual

udm_free_res

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_free_res — Löscht ein mnoGoSearch-Ergebis

Beschreibung

bool udm_free_res ( resource $res )

Gibt den für Ergebnisse reservierten Speicher frei.

Parameter-Liste

agent

Zeiger auf einen Agenten, erhalten nach einem Aufruf von udm_alloc_agent().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

udm_free_ispell_data
udm_get_doc_count
mnoGoSearch Funktionen


Liefert die Anzahl aller Dokumente in der Datenbank zurück

udm_free_res
udm_get_res_field
mnoGoSearch Funktionen
PHP Manual

udm_get_doc_count

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_get_doc_count — Liefert die Anzahl aller Dokumente in der Datenbank zurück

Beschreibung

int udm_get_doc_count ( resource $agent )

udm_get_doc_count() gibt die Anzahl der Dokumente in der Datenbank zurück.

Parameter-Liste

agent

Zeiger auf einen Agenten, erhalten nach einem Aufruf von udm_alloc_agent().

Rückgabewerte

Die Anzahl der gefundenen Dokumente.

Anmerkungen

Hinweis:

Diese Funktion wird seit mnoGoSearch 3.1.11 unterstützt.

udm_free_res
udm_get_res_field
mnoGoSearch Funktionen


Erhalte ein mnoGoSearch Ergebenisfeld

udm_get_doc_count
udm_get_res_param
mnoGoSearch Funktionen
PHP Manual

udm_get_res_field

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_get_res_field — Erhalte ein mnoGoSearch Ergebenisfeld

Beschreibung

string udm_get_res_field ( resource $res , int $row , int $field )

udm_get_res_field() gibt den Wert eines Ergebnisfeldes bei Erfolg, FALSE bei einem Fehler zurück.

agent - Zeiger auf einen Agenten, erhalten nach einem Aufruf von udm_alloc_agent().

row - Die Zahl des aktuellen Links. Werte können zwischen 0 und UDM_PARAM_NUM_ROWS-1 variieren.

field - Feldzeiger, kann folgende Werte annehmen:

  • UDM_FIELD_URL - URL des Dokumentes
  • UDM_FIELD_CONTENT - Content-Type des Dokumentes (zum Beispiel text/html).
  • UDM_FIELD_CATEGORY - Kategorie des Dokumentes. udm_cat_path() sollte verwendet werden, um den vollen Pfad vom der Wurzel des Kategorienbaumes zur aktuellen Kategorie zu erhalten. (Dieser Parameter ist erst ab PHP Version 4.0.6 verfügbar).
  • UDM_FIELD_TITLE - Titel des Dokumentes.
  • UDM_FIELD_KEYWORDS - Keywords des Dokumentes (aus dem Meta-Tag Keywords).
  • UDM_FIELD_DESC - Dokumentenbeschreibung (aus dem Meta-Tag Description).
  • UDM_FIELD_TEXT - Inhalt des Dokumentes (die ersten Zeilen des Dokumentes).
  • UDM_FIELD_SIZE - Größe des Dokumentes.
  • UDM_FIELD_URLID - Eindeutige ID des Dokumentes.
  • UDM_FIELD_RATING - Dokumentenwertung (von mnoGoSearch berechnet).
  • UDM_FIELD_MODIFIED - Datum der letzten Änderung des Dokumentes als Unix-Timestamp.
  • UDM_FIELD_ORDER - Die Nummer des aktuellen Dokumentes in der Menge der gefundenen Dokumente.
  • UDM_FIELD_CRC - Die Prüfsumme des Dokumentes.
udm_get_doc_count
udm_get_res_param
mnoGoSearch Funktionen


Liefert die mnoGoSearch Ergbnisparameter zurück.

udm_get_res_field
udm_hash32
mnoGoSearch Funktionen
PHP Manual

udm_get_res_param

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_get_res_param — Liefert die mnoGoSearch Ergbnisparameter zurück.

Beschreibung

string udm_get_res_param ( resource $res , int $param )

udm_get_res_param() gibt den Wert des Parameters bei Erfolg. FALSE bei einem Fehler zurüc.

res - ein Ergebniszeiger, erhalten nach einem Aufruf von udm_find().

param - Parameterbezeichner. Kann folgenden Werte annehmen:

  • UDM_PARAM_NUM_ROWS - Anzahl der auf der aktuellen Seite gefundenen Links.
  • UDM_PARAM_FOUND - Anzahl der gefundenen Dokuemnte, die der Suche entsprechen.
  • UDM_PARAM_WORDINFO - Informationen über die gefundenen Wörter. Zum Beispiel könnte eine Suche nach "a good book" die Werte "a: stopword, good:5637, book: 120" ausgeben.
  • UDM_PARAM_SEARCHTIME - Suchzeit in Sekunden.
  • UDM_PARAM_FIRST_DOC - Die Nummer des ersten auf der aktuellen Seite angezeigten Dokumentes.
  • UDM_PARAM_LAST_DOC - Die Nummer des letzten auf der aktuellen Seiten angezeigten Dokumentes.
udm_get_res_field
udm_hash32
mnoGoSearch Funktionen


Return Hash32 checksum of given string

udm_get_res_param
udm_load_ispell_data
mnoGoSearch Funktionen
PHP Manual

udm_hash32

(PHP 4 >= 4.3.3, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_hash32 — Return Hash32 checksum of given string

Beschreibung

int udm_hash32 ( resource $agent , string $str )

udm_hash32() will take a string str and return a quite unique 32-bit hash number from it.

Parameter-Liste

agent

A link to Agent, received after call to udm_alloc_agent().

str

The input string.

Rückgabewerte

Returns a 32-bit hash number.

Siehe auch

  • udm_alloc_agent() - Allocate mnoGoSearch session

udm_get_res_param
udm_load_ispell_data
mnoGoSearch Funktionen


Lade ISpell-Daten

udm_hash32
udm_set_agent_param
mnoGoSearch Funktionen
PHP Manual

udm_load_ispell_data

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_load_ispell_data — Lade ISpell-Daten

Beschreibung

bool udm_load_ispell_data ( resource $agent , int $var , string $val1 , string $val2 , int $flag )

udm_load_ispell_data() lädt ispell-Daten. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

agent - Zeiger auf einen Agenten, erhalten nach einem Aufruf von udm_alloc_agent().

var - Parameter, der die Quelle der ISpell-Daten angibt. Kann folgende Werte annehmen.

Nachdem diese Funktion aufgerufen wurde, sollte nicht vergessen werden, mittels udm_free_ispell_data() den durch ISpell belegten Speicher wieder freizugeben, auch wenn UDM_ISPELL_TYPE_SERVER verwendet wird.

Der schnellste Modus ist UDM_ISPELL_TYPE_SERVER. UDM_ISPELL_TYPE_TEXT ist langsamer, und UDM_ISPELL_TYPE_DB ist der langsamste. Dies gilt zumindest für mnoGoSearch 3.1.10 - 3.1.11, es ist jedoch geplant, den DB-Modus in zukünftigen Versionen schneller als den TEXT-Modus zu machen.

  • UDM_ISPELL_TYPE_DB - Gibt an, dass die ISpell-Daten aus einer SQL-Datenbank gelesen werden sollen. In diesem Fall werden val1 und val2 ignoriert und sollten leer gelassen werden. Der Parameter flag sollte 1 sein.

    Hinweis:

    Der Parameter flag gibt an, dass die ISpell-Daten nach dem Laden sortiert werden sollen, dies ist für ein korrektes Arbeiten von ISpell nötig. Werden die ISpell-Daten aus Dateien gelesen, kann es vorkommen, dass mehrere Aufrufe von udm_load_ispell_data() vorkommen, was es wenig Effektiv macht, die Daten nach jedem Aufruf zu sortieren. Der Datenbank-Modus lädt jedoch alle Daten auf einmal, in diesem Fall sollte der Wert also 1 betragen. Sollte ein Fehler auftreten, wird FALSE zurückgegeben, Fehler und Fehlercode sind in diesem Fall über udm_error() und udm_errno() verfügbar.

    Beispiel #1 udm_load_ispell_data() Beispiel

    <?php
    if (! udm_load_ispell_data($udm,UDM_ISPELL_TYPE_DB,'','',1)) {
          printf("Error #%d: '%s'\n",udm_errno($udm),udm_error($udm));
      exit;
    }
    ?>

  • UDM_ISPELL_TYPE_AFFIX - Gibt an, dass die ISpell-Daten aus einer Datei geladen werden sollen und initiiert das Laden der Anhangsdaten. In diesem Fall gibt der Parameter val1 den zweibuchstabigen Sprachcode an, für den die Anhänge geladen werden sollen, val2 gibt den Dateipfad an. Wird kein absoluter Pfad angeben, werden die Dateien nicht in UDM_CONF_DIR, sondern in im zum aktuellen Pfad relativen gesucht. Kann die Datei nicht geladen werden, gibt die Funktion FALSE zurück, und eine Fehlermeldung wird ausgegeben. Die Fehlercodes können nicht über udm_error() oder udm_errno() ausgelesen werden. Zur Erlärung des Parameters flag schauen Sie bitte bei UDM_ISPELL_TYPE_DB nach.

    Beispiel #2 udm_load_ispell_data() Beispiel

    <?php
             if ((! udm_load_ispell_data($udm,UDM_ISPELL_TYPE_AFFIX,'en','/opt/ispell/en.aff',0)) ||
            (!     udm_load_ispell_data($udm,UDM_ISPELL_TYPE_AFFIX,'ru','/opt/ispell/ru.aff',0)) ||
            (!     udm_load_ispell_data($udm,UDM_ISPELL_TYPE_SPELL,'en','/opt/ispell/en.dict',0)) ||
            (!     udm_load_ispell_data($udm,UDM_ISPELL_TYPE_SPELL,'ru','/opt/ispell/ru.dict',1))) {
         exit;
         }
    ?>

    Hinweis:

    flag hat nur beim letzten Aufruf den Wert 1.

  • UDM_ISPELL_TYPE_SPELL - Gibt an, dass die ISpell-Daten aus einer Datei gelesen werden sollen, und initiiert das Laden des ISpell-Wörterbuches. In diesem Fall gibt der Parameter val1 den zweibuchstabigen Sprachcode an, für den die Anhänge geladen werden sollen, val2 gibt den Dateipfad an. Wird kein absoluter Pfad angeben, werden die Dateien nicht in UDM_CONF_DIR, sondern in im zum aktuellen Pfad relativen gesucht. Kann die Datei nicht geladen werden, gibt die Funktion FALSE zurück, und eine Fehlermeldung wird ausgegeben. Die Fehlercodes können nicht über udm_error() oder udm_errno() ausgelesen werden. Zur Erklärung des Parameters flag schauen Sie bitte bei UDM_ISPELL_TYPE_DB nach.

    <?php
             if ((! udm_load_ispell_data($udm,UDM_ISPELL_TYPE_AFFIX,'en','/opt/ispell/en.aff',0)) ||
            (!     udm_load_ispell_data($udm,UDM_ISPELL_TYPE_AFFIX,'ru','/opt/ispell/ru.aff',0)) ||
            (!     udm_load_ispell_data($udm,UDM_ISPELL_TYPE_SPELL,'en','/opt/ispell/en.dict',0)) ||
            (!     udm_load_ispell_data($udm,UDM_ISPELL_TYPE_SPELL,'ru','/opt/ispell/ru.dict',1))) {
          exit;
          }
    ?>

    Hinweis:

    flag hat nur beim letzten Aufruf den Wert1.

  • UDM_ISPELL_TYPE_SERVER - schaltet den Spell-Server support ein. val1 gibt den Host an, auf dem der Spell-Server läuft.. val2 ist noch ohne Funktion, wird in Zukunft aber den Port des Spell-Servers angeben. flag wird nicht benötigt, da die Daten bereits sortiert im Spell-Server vorliegen.

    Der Spell-Server (Spelld) liest die Rechtschreibdaten aus einer seperaten Konfigurationsdatei (Standardmäßig /usr/local/mnogosearch/etc/spelld.conf), sortiert sie und speichert sie im Speicher.

    Die Funktion udm_load_ispell_data() in UDM_ISPELL_TYPE_SERVER lädt eigentlich nicht die ISpell-Daten, sondern legt nur die Serveradresse fest. Eigentlich wird dieser Server automatisch von udm_find() benutzt, wenn eine Suche durchgeführt wird. Sollte ein Fehler auftreten, wird keine Fehlermeldung ausgegeben, eine ISpell-Konvertierung kann dann jedoch natürlich auch nicht stattfinden.

    Hinweis:

    Diese Funktion ist seit mnoGoSearch 3.1.12 verfügbar.

    Beispiel:
    if (! Udm_Load_Ispell_Data($udm,UDM_ISPELL_TYPE_SERVER,'','',1)) {
             echo "Error loading ispell data from server&lt;br&gt;\n";
             exit;
         }
udm_hash32
udm_set_agent_param
mnoGoSearch Funktionen


Setzt die Parameter der aktuellen mnoGoSearch Session

udm_load_ispell_data
Solr
mnoGoSearch Funktionen
PHP Manual

udm_set_agent_param

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_set_agent_param — Setzt die Parameter der aktuellen mnoGoSearch Session

Beschreibung

bool udm_set_agent_param ( resource $agent , int $var , string $val )

Deklariert mnoGoSearch Sessionparameter.

Parameter-Liste

agent

Verweis auf einen Agent, der durch udm_alloc_agent() geholt wurde.

var

Die folgenden Parameter und deren Werte sind erlaubt:

  • UDM_PARAM_PAGE_NUM - wird genutzt, um eine bestimmte Seite aus den Suchergebnissen auszuwählen. Ergebnissseiten werden von 0 an gezählt.
  • UDM_PARAM_PAGE_SIZE - Anzahl der Suchergebnisse, die pro Seite angezeigt werden.
  • UDM_PARAM_SEARCH_MODE - Suchmodus. Die folgenden Werte sind erlaubt: UDM_MODE_ALL - Logische UND-Verknüpfung; UDM_MODE_ANY - Logische ODER-Verknüpfung; UDM_MODE_BOOL - boolsche Suche. Siehe udm_find() für weitere Details zur boolschen Suche.
  • UDM_PARAM_CACHE_MODE - Schaltet den Ergebnis-Cache an oder aus. Falls eingeschaltet wird die Suchmaschine Suchergebnisse auf der Festplatte zwischenspeichern. Für den Fall, dass später eine ähnliche Suche durchgeführt wird, werden die Ergebnisse für ein schnelleres Ergebnis aus dem Cache gelesen. Werte: UDM_CACHE_ENABLED, UDM_CACHE_DISABLED.
  • UDM_PARAM_TRACK_MODE - schaltet den Trackquery-Modus an oder aus. Seit Version 3.1.12 von mnoGoSearch wird eine Verfolgung von Suchanfragen unterstützt. Um die Track-Funktion nutzen zu können, müssen zusätzliche SQL-Tabellen angelegt werden. Für MySQL liegen die Tabellenbeschreibungen in create/mysql/track.txt. Wird eine Suche durchgeführt, werden die Suchwörter in diesen Tabellen zusammen mit der Anzahl der gefundenen Dokumente und dem aktuellen Unix-Timestamp gespeichert. Verfügbare Werte: UDM_TRACK_ENABLED, UDM_TRACK_DISABLED.
  • UDM_PARAM_PHRASE_MODE - Gibt an, ob die Index-Datenbank eine Unterstützung für "Phrases" erlaubt. (Muß vor der Indizierung in der indexer.conf eingeschaltet werden. Mögliche Werte: UDM_PHRASE_ENABLED und UDM_PHRASE_DISABLED. Wird der Phrase-Modus verwendet, ist es natürlich nach wie vor möglich, alle anderen Suchmodi zu verwenden. Seit Version 3.1.11 wird auch der Cache-Modus zusammen mit dem Phrase-Modus unterstützt. Beispiele: "Arizona desert" - Diese Abfrage gibt alle Dokumente zurück, die "Arizona desert" als eine Zeichenkette enthalten. Für eine Suche nach kompletten Zeichenkette müssen diese in doppelte Anführungszeichen gesetzt werden.
  • UDM_PARAM_CHARSET - Legt einen lokalen Zeichensatz wie koi8-r, cp1252 fest.
  • UDM_PARAM_STOPFILE - Legt den Namen und den Pfad einer stopword-Datei fest. Auch hier wird nicht relativ zu UDM_CONF_DIR gesucht sondern relativ zu zu dem Pfad wo das aktuelle PHP-Script läuft.
  • UDM_PARAM_STOPTABLE - Lädt die stopwords aus der angegebenen SQL-Tabelle. Es können mehrere Stopwordtable-Kommandos verwendet werden.
  • UDM_PARAM_WEIGHT_FACTOR - Legt fest, wie bestimmte Teile eines Dokumentes zur Sortierung gewertet werden. Zur Zeit werden Body, Title, Keywords, Description und URL unterstützt. Um dieses Feature nutzen zu können, muss der Grad 2 in den *Weight-Anweisungen in der indexer.conf verwendet werden. Stellen wir uns vor, folgende Werte würden verwendet:
              URLWeight     1
          BodyWeight    2
          TitleWeight   4
          KeywordWeight 8
          DescWeight    16
    Solange der Indexer eine logische bit-ODER Operation verwendet, um das Gewicht einzelner Wörter festzulegen, wenn ein Wort mehrere Male im selben Dokument vorkommt, ist es möglich, zur Zeit der Suche festzustellen, welches Wort in welchem Teil des Dokumentes vorkommt. Wörter, die nur im Body auftauchen, haben das Gewicht 00000010 in binärer Notation. Wörter, die in allen Dokumententeilen vorkommen haben das Gewicht 00011111. Der Wert dieses Parameter ist ein String, bestehend aus den hexadezimalen Ziffern ABCDE. Jede Ziffer ist ein Faktor für das korrespondierende Bit. Für die oben angeführte Konfiguration zum Beispiel:
             E ist ein Faktor für das Gewicht 1  (URL Weight bit)
         D ist ein Faktor für das Gewicht 2  (BodyWeight bit)
         C ist ein Faktor für das Gewicht 4  (TitleWeight bit)
         B ist ein Faktor für das Gewicht 8  (KeywordWeight bit)
         A ist ein Faktor für das Gewicht 16 (DescWeight bit)
    Beispiele: UDM_PARAM_WEIGHT_FACTOR=00001 wird nur in URLs suchen. UDM_PARAM_WEIGHT_FACTOR=00100 wird nur in Titeln suchen. UDM_PARAM_WEIGHT_FACTOR=11100 wird in Titel, Keywords, Description aber nicht in URL und Body suchen. UDM_PARAM_WEIGHT_FACTOR=F9421 wird folgendermaßen Suchen und Werten:
             Beschreibung mit dem Faktor 15  (F hex)
         Keywords mit dem Faktor 9
         Title mit dem Faktor  4
         Body mit dem Faktor 2
         URL mit dem Faktor 1
    Wenn die Variable UDM_PARAM_WEIGHT_FACTOR übergeben wird, wird das Originalgewicht zur Sortierung verwendet.
  • UDM_PARAM_WORD_MATCH - Wortteilübereinstimmung. Dieser Parameter kann verwendet werden, um festzulegen, welcher Wortteil mit dem gesuchten Wort übereinstimmen muss. Dieses Feature funktioniert nur im "single" oder "multi"-Modus. Im Cachemode und in den CRC-Modi ist eine Verwendung nicht möglich. Erlaubt Werte: UDM_MATCH_BEGIN - Der Wortanfang muss übereinstimmen; UDM_MATCH_END - Das Wortende muss übereinstimmen; UDM_MATCH_WORD - Das gesamte Wort muss übereinstimmen; UDM_MATCH_SUBSTR - Teile des Wortes müssen übereinstimmen.
  • UDM_PARAM_MIN_WORD_LEN - Legt die mininmale Wortlänge fest. Jedes Wort, dass kürzer als die angegebene Länge ist, wird als stopword aufgefasst.
  • UDM_PARAM_ISPELL_PREFIXES - Mögliche Werte: UDM_PREFIXES_ENABLED und UDM_PREFIXES_DISABLED, die explizit die Verwendung von ISpell-Prefixen an- oder abschalten. Wird also zum Beispiel das Wort "tested" in einer Suchabfrage verwendet, werden auch Wörter wie "test" oder "testing" gefunden. Nur Endungen werden normalerweise Unterstützt. Prefixe verändern für gewöhnlich die Bedeutung von Wörtern. So werden bei einer Suche nach "tested" z.B. auch Dokumente gefunden, die das Wort "untested" enthalten. Um diese Funktion nutzen zu können, müssen vorher mittels udm_load_ispell_data() ISpell-Daten geladen werden.
  • UDM_PARAM_CROSS_WORDS - Aktiviert oder deaktiviert eine Unterstützung für Crosswords. Mögliche Werte: UDM_CROSS_WORDS_ENABLED und UDM_CROSS_WORDS_DISABLED. Das Crosswords-Feature erlaubt es, Wörter zwischen <a href="xxx"> und </a> dem Dokument zuzuordnen, zu dem dieser Link führt.

val

Changelog

Version | Beschreibung
4.1.0 | UDM_PARAM_VARDIR was added.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Hinweis: Crosswords are supported only in mnoGoSearch 3.1.11 or later.

udm_load_ispell_data
Solr
mnoGoSearch Funktionen


Apache Solr

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Solr Funktionen
    • solr_get_version — Returns the current version of the Apache Solr extension
  • Beispiele
  • SolrUtils — The SolrUtils class
    • SolrUtils::digestXmlResponse — Parses an response XML string into a SolrObject
    • SolrUtils::escapeQueryChars — Escapes a lucene query string
    • SolrUtils::getSolrVersion — Returns the current version of the Solr extension
    • SolrUtils::queryPhrase — Prepares a phrase from an unescaped lucene string
  • SolrInputDocument — The SolrInputDocument class
    • SolrInputDocument::addChildDocument — Adds a child document for block indexing
    • SolrInputDocument::addChildDocuments — Adds an array of child documents
    • SolrInputDocument::addField — Adds a field to the document
    • SolrInputDocument::clear — Resets the input document
    • SolrInputDocument::__clone — Creates a copy of a SolrDocument
    • SolrInputDocument::__construct — Constructor
    • SolrInputDocument::deleteField — Removes a field from the document
    • SolrInputDocument::__destruct — Destructor
    • SolrInputDocument::fieldExists — Checks if a field exists
    • SolrInputDocument::getBoost — Retrieves the current boost value for the document
    • SolrInputDocument::getChildDocuments — Returns an array of child documents (SolrInputDocument)
    • SolrInputDocument::getChildDocumentsCount — Returns the number of child documents
    • SolrInputDocument::getField — Retrieves a field by name
    • SolrInputDocument::getFieldBoost — Retrieves the boost value for a particular field
    • SolrInputDocument::getFieldCount — Returns the number of fields in the document
    • SolrInputDocument::getFieldNames — Returns an array containing all the fields in the document
    • SolrInputDocument::hasChildDocuments — Returns true if the document has any child documents
    • SolrInputDocument::merge — Merges one input document into another
    • SolrInputDocument::reset — This is an alias of SolrInputDocument::clear
    • SolrInputDocument::setBoost — Sets the boost value for this document
    • SolrInputDocument::setFieldBoost — Sets the index-time boost value for a field
    • SolrInputDocument::sort — Sorts the fields within the document
    • SolrInputDocument::toArray — Returns an array representation of the input document
  • SolrDocument — The SolrDocument class
    • SolrDocument::addField — Adds a field to the document
    • SolrDocument::clear — Drops all the fields in the document
    • SolrDocument::__clone — Creates a copy of a SolrDocument object
    • SolrDocument::__construct — Constructor
    • SolrDocument::current — Retrieves the current field
    • SolrDocument::deleteField — Removes a field from the document
    • SolrDocument::__destruct — Destructor
    • SolrDocument::fieldExists — Checks if a field exists in the document
    • SolrDocument::__get — Access the field as a property
    • SolrDocument::getChildDocuments — Returns an array of child documents (SolrDocument)
    • SolrDocument::getChildDocumentsCount — Returns the number of child documents
    • SolrDocument::getField — Retrieves a field by name
    • SolrDocument::getFieldCount — Returns the number of fields in this document
    • SolrDocument::getFieldNames — Returns an array of fields names in the document
    • SolrDocument::getInputDocument — Returns a SolrInputDocument equivalent of the object
    • SolrDocument::hasChildDocuments — Checks whether the document has any child documents
    • SolrDocument::__isset — Checks if a field exists
    • SolrDocument::key — Retrieves the current key
    • SolrDocument::merge — Merges source to the current SolrDocument
    • SolrDocument::next — Moves the internal pointer to the next field
    • SolrDocument::offsetExists — Checks if a particular field exists
    • SolrDocument::offsetGet — Retrieves a field
    • SolrDocument::offsetSet — Adds a field to the document
    • SolrDocument::offsetUnset — Removes a field
    • SolrDocument::reset — This is an alias to SolrDocument::clear()
    • SolrDocument::rewind — Resets the internal pointer to the beginning
    • SolrDocument::serialize — Used for custom serialization
    • SolrDocument::__set — Adds another field to the document
    • SolrDocument::sort — Sorts the fields in the document
    • SolrDocument::toArray — Returns an array representation of the document
    • SolrDocument::unserialize — Custom serialization of SolrDocument objects
    • SolrDocument::__unset — Removes a field from the document
    • SolrDocument::valid — Checks if the current position internally is still valid
  • SolrDocumentField — The SolrDocumentField class
    • SolrDocumentField::__construct — Constructor
    • SolrDocumentField::__destruct — Destructor
  • SolrObject — The SolrObject class
    • SolrObject::__construct — Creates Solr object
    • SolrObject::__destruct — Destructor
    • SolrObject::getPropertyNames — Returns an array of all the names of the properties
    • SolrObject::offsetExists — Checks if the property exists
    • SolrObject::offsetGet — Used to retrieve a property
    • SolrObject::offsetSet — Sets the value for a property
    • SolrObject::offsetUnset — Unsets the value for the property
  • SolrClient — The SolrClient class
    • SolrClient::addDocument — Adds a document to the index
    • SolrClient::addDocuments — Adds a collection of SolrInputDocument instances to the index
    • SolrClient::commit — Finalizes all add/deletes made to the index
    • SolrClient::__construct — Constructor for the SolrClient object
    • SolrClient::deleteById — Delete by Id
    • SolrClient::deleteByIds — Deletes by Ids
    • SolrClient::deleteByQueries — Removes all documents matching any of the queries
    • SolrClient::deleteByQuery — Deletes all documents matching the given query
    • SolrClient::__destruct — Destructor for SolrClient
    • SolrClient::getById — Get Document By Id. Utilizes Solr Realtime Get (RTG).
    • SolrClient::getByIds — Get Documents by their Ids. Utilizes Solr Realtime Get (RTG).
    • SolrClient::getDebug — Returns the debug data for the last connection attempt
    • SolrClient::getOptions — Returns the client options set internally
    • SolrClient::optimize — Defragments the index
    • SolrClient::ping — Checks if Solr server is still up
    • SolrClient::query — Sends a query to the server
    • SolrClient::request — Sends a raw update request
    • SolrClient::rollback — Rollbacks all add/deletes made to the index since the last commit
    • SolrClient::setResponseWriter — Sets the response writer used to prepare the response from Solr
    • SolrClient::setServlet — Changes the specified servlet type to a new value
    • SolrClient::system — Retrieve Solr Server information
    • SolrClient::threads — Checks the threads status
  • SolrResponse — The SolrResponse class
    • SolrResponse::getDigestedResponse — Returns the XML response as serialized PHP data
    • SolrResponse::getHttpStatus — Returns the HTTP status of the response
    • SolrResponse::getHttpStatusMessage — Returns more details on the HTTP status
    • SolrResponse::getRawRequest — Returns the raw request sent to the Solr server
    • SolrResponse::getRawRequestHeaders — Returns the raw request headers sent to the Solr server
    • SolrResponse::getRawResponse — Returns the raw response from the server
    • SolrResponse::getRawResponseHeaders — Returns the raw response headers from the server
    • SolrResponse::getRequestUrl — Returns the full URL the request was sent to
    • SolrResponse::getResponse — Returns a SolrObject representing the XML response from the server
    • SolrResponse::setParseMode — Sets the parse mode
    • SolrResponse::success — Was the request a success
  • SolrQueryResponse — The SolrQueryResponse class
    • SolrQueryResponse::__construct — Constructor
    • SolrQueryResponse::__destruct — Destructor
  • SolrUpdateResponse — The SolrUpdateResponse class
    • SolrUpdateResponse::__construct — Constructor
    • SolrUpdateResponse::__destruct — Destructor
  • SolrPingResponse — The SolrPingResponse class
    • SolrPingResponse::__construct — Constructor
    • SolrPingResponse::__destruct — Destructor
    • SolrPingResponse::getResponse — Returns the response from the server
  • SolrGenericResponse — The SolrGenericResponse class
    • SolrGenericResponse::__construct — Constructor
    • SolrGenericResponse::__destruct — Destructor
  • SolrParams — The SolrParams class
    • SolrParams::add — This is an alias for SolrParams::addParam
    • SolrParams::addParam — Adds a parameter to the object
    • SolrParams::get — This is an alias for SolrParams::getParam
    • SolrParams::getParam — Returns a parameter value
    • SolrParams::getParams — Returns an array of non URL-encoded parameters
    • SolrParams::getPreparedParams — Returns an array of URL-encoded parameters
    • SolrParams::serialize — Used for custom serialization
    • SolrParams::set — An alias of SolrParams::setParam
    • SolrParams::setParam — Sets the parameter to the specified value
    • SolrParams::toString — Returns all the name-value pair parameters in the object
    • SolrParams::unserialize — Used for custom serialization
  • SolrModifiableParams — The SolrModifiableParams class
    • SolrModifiableParams::__construct — Constructor
    • SolrModifiableParams::__destruct — Destructor
  • SolrQuery — The SolrQuery class
    • SolrQuery::addExpandFilterQuery — Overrides main filter query, determines which documents to include in the main group.
    • SolrQuery::addExpandSortField — Orders the documents within the expanded groups (expand.sort parameter).
    • SolrQuery::addFacetDateField — Maps to facet.date
    • SolrQuery::addFacetDateOther — Adds another facet.date.other parameter
    • SolrQuery::addFacetField — Adds another field to the facet
    • SolrQuery::addFacetQuery — Adds a facet query
    • SolrQuery::addField — Specifies which fields to return in the result
    • SolrQuery::addFilterQuery — Specifies a filter query
    • SolrQuery::addGroupField — Add a field to be used to group results.
    • SolrQuery::addGroupFunction — Allows grouping results based on the unique values of a function query (group.func parameter).
    • SolrQuery::addGroupQuery — Allows grouping of documents that match the given query.
    • SolrQuery::addGroupSortField — Add a group sort field (group.sort parameter).
    • SolrQuery::addHighlightField — Maps to hl.fl
    • SolrQuery::addMltField — Sets a field to use for similarity
    • SolrQuery::addMltQueryField — Maps to mlt.qf
    • SolrQuery::addSortField — Used to control how the results should be sorted
    • SolrQuery::addStatsFacet — Requests a return of sub results for values within the given facet
    • SolrQuery::addStatsField — Maps to stats.field parameter
    • SolrQuery::collapse — Collapses the result set to a single document per group
    • SolrQuery::__construct — Constructor
    • SolrQuery::__destruct — Destructor
    • SolrQuery::getExpand — Returns true if group expanding is enabled
    • SolrQuery::getExpandFilterQueries — Returns the expand filter queries
    • SolrQuery::getExpandQuery — Returns the expand query expand.q parameter
    • SolrQuery::getExpandRows — Returns The number of rows to display in each group (expand.rows)
    • SolrQuery::getExpandSortFields — Returns an array of fields
    • SolrQuery::getFacet — Returns the value of the facet parameter
    • SolrQuery::getFacetDateEnd — Returns the value for the facet.date.end parameter
    • SolrQuery::getFacetDateFields — Returns all the facet.date fields
    • SolrQuery::getFacetDateGap — Returns the value of the facet.date.gap parameter
    • SolrQuery::getFacetDateHardEnd — Returns the value of the facet.date.hardend parameter
    • SolrQuery::getFacetDateOther — Returns the value for the facet.date.other parameter
    • SolrQuery::getFacetDateStart — Returns the lower bound for the first date range for all date faceting on this field
    • SolrQuery::getFacetFields — Returns all the facet fields
    • SolrQuery::getFacetLimit — Returns the maximum number of constraint counts that should be returned for the facet fields
    • SolrQuery::getFacetMethod — Returns the value of the facet.method parameter
    • SolrQuery::getFacetMinCount — Returns the minimum counts for facet fields should be included in the response
    • SolrQuery::getFacetMissing — Returns the current state of the facet.missing parameter
    • SolrQuery::getFacetOffset — Returns an offset into the list of constraints to be used for pagination
    • SolrQuery::getFacetPrefix — Returns the facet prefix
    • SolrQuery::getFacetQueries — Returns all the facet queries
    • SolrQuery::getFacetSort — Returns the facet sort type
    • SolrQuery::getFields — Returns the list of fields that will be returned in the response
    • SolrQuery::getFilterQueries — Returns an array of filter queries
    • SolrQuery::getGroup — Returns true if grouping is enabled
    • SolrQuery::getGroupCachePercent — Returns group cache percent value
    • SolrQuery::getGroupFacet — Returns the group.facet parameter value
    • SolrQuery::getGroupFields — Returns group fields (group.field parameter values)
    • SolrQuery::getGroupFormat — Returns the group.format value
    • SolrQuery::getGroupFunctions — Returns group functions (group.func parameter values)
    • SolrQuery::getGroupLimit — Returns the group.limit value
    • SolrQuery::getGroupMain — Returns the group.main value
    • SolrQuery::getGroupNGroups — Returns the group.ngroups value
    • SolrQuery::getGroupOffset — Returns the group.offset value
    • SolrQuery::getGroupQueries — Returns all the group.query parameter values
    • SolrQuery::getGroupSortFields — Returns the group.sort value
    • SolrQuery::getGroupTruncate — Returns the group.truncate value
    • SolrQuery::getHighlight — Returns the state of the hl parameter
    • SolrQuery::getHighlightAlternateField — Returns the highlight field to use as backup or default
    • SolrQuery::getHighlightFields — Returns all the fields that Solr should generate highlighted snippets for
    • SolrQuery::getHighlightFormatter — Returns the formatter for the highlighted output
    • SolrQuery::getHighlightFragmenter — Returns the text snippet generator for highlighted text
    • SolrQuery::getHighlightFragsize — Returns the number of characters of fragments to consider for highlighting
    • SolrQuery::getHighlightHighlightMultiTerm — Returns whether or not to enable highlighting for range/wildcard/fuzzy/prefix queries
    • SolrQuery::getHighlightMaxAlternateFieldLength — Returns the maximum number of characters of the field to return
    • SolrQuery::getHighlightMaxAnalyzedChars — Returns the maximum number of characters into a document to look for suitable snippets
    • SolrQuery::getHighlightMergeContiguous — Returns whether or not the collapse contiguous fragments into a single fragment
    • SolrQuery::getHighlightRegexMaxAnalyzedChars — Returns the maximum number of characters from a field when using the regex fragmenter
    • SolrQuery::getHighlightRegexPattern — Returns the regular expression for fragmenting
    • SolrQuery::getHighlightRegexSlop — Returns the deviation factor from the ideal fragment size
    • SolrQuery::getHighlightRequireFieldMatch — Returns if a field will only be highlighted if the query matched in this particular field
    • SolrQuery::getHighlightSimplePost — Returns the text which appears after a highlighted term
    • SolrQuery::getHighlightSimplePre — Returns the text which appears before a highlighted term
    • SolrQuery::getHighlightSnippets — Returns the maximum number of highlighted snippets to generate per field
    • SolrQuery::getHighlightUsePhraseHighlighter — Returns the state of the hl.usePhraseHighlighter parameter
    • SolrQuery::getMlt — Returns whether or not MoreLikeThis results should be enabled
    • SolrQuery::getMltBoost — Returns whether or not the query will be boosted by the interesting term relevance
    • SolrQuery::getMltCount — Returns the number of similar documents to return for each result
    • SolrQuery::getMltFields — Returns all the fields to use for similarity
    • SolrQuery::getMltMaxNumQueryTerms — Returns the maximum number of query terms that will be included in any generated query
    • SolrQuery::getMltMaxNumTokens — Returns the maximum number of tokens to parse in each document field that is not stored with TermVector support
    • SolrQuery::getMltMaxWordLength — Returns the maximum word length above which words will be ignored
    • SolrQuery::getMltMinDocFrequency — Returns the treshold frequency at which words will be ignored which do not occur in at least this many docs
    • SolrQuery::getMltMinTermFrequency — Returns the frequency below which terms will be ignored in the source document
    • SolrQuery::getMltMinWordLength — Returns the minimum word length below which words will be ignored
    • SolrQuery::getMltQueryFields — Returns the query fields and their boosts
    • SolrQuery::getQuery — Returns the main query
    • SolrQuery::getRows — Returns the maximum number of documents
    • SolrQuery::getSortFields — Returns all the sort fields
    • SolrQuery::getStart — Returns the offset in the complete result set
    • SolrQuery::getStats — Returns whether or not stats is enabled
    • SolrQuery::getStatsFacets — Returns all the stats facets that were set
    • SolrQuery::getStatsFields — Returns all the statistics fields
    • SolrQuery::getTerms — Returns whether or not the TermsComponent is enabled
    • SolrQuery::getTermsField — Returns the field from which the terms are retrieved
    • SolrQuery::getTermsIncludeLowerBound — Returns whether or not to include the lower bound in the result set
    • SolrQuery::getTermsIncludeUpperBound — Returns whether or not to include the upper bound term in the result set
    • SolrQuery::getTermsLimit — Returns the maximum number of terms Solr should return
    • SolrQuery::getTermsLowerBound — Returns the term to start at
    • SolrQuery::getTermsMaxCount — Returns the maximum document frequency
    • SolrQuery::getTermsMinCount — Returns the minimum document frequency to return in order to be included
    • SolrQuery::getTermsPrefix — Returns the term prefix
    • SolrQuery::getTermsReturnRaw — Whether or not to return raw characters
    • SolrQuery::getTermsSort — Returns an integer indicating how terms are sorted
    • SolrQuery::getTermsUpperBound — Returns the term to stop at
    • SolrQuery::getTimeAllowed — Returns the time in milliseconds allowed for the query to finish
    • SolrQuery::removeExpandFilterQuery — Removes an expand filter query
    • SolrQuery::removeExpandSortField — Removes an expand sort field from the expand.sort parameter.
    • SolrQuery::removeFacetDateField — Removes one of the facet date fields
    • SolrQuery::removeFacetDateOther — Removes one of the facet.date.other parameters
    • SolrQuery::removeFacetField — Removes one of the facet.date parameters
    • SolrQuery::removeFacetQuery — Removes one of the facet.query parameters
    • SolrQuery::removeField — Removes a field from the list of fields
    • SolrQuery::removeFilterQuery — Removes a filter query
    • SolrQuery::removeHighlightField — Removes one of the fields used for highlighting
    • SolrQuery::removeMltField — Removes one of the moreLikeThis fields
    • SolrQuery::removeMltQueryField — Removes one of the moreLikeThis query fields
    • SolrQuery::removeSortField — Removes one of the sort fields
    • SolrQuery::removeStatsFacet — Removes one of the stats.facet parameters
    • SolrQuery::removeStatsField — Removes one of the stats.field parameters
    • SolrQuery::setEchoHandler — Toggles the echoHandler parameter
    • SolrQuery::setEchoParams — Determines what kind of parameters to include in the response
    • SolrQuery::setExpand — Enables/Disables the Expand Component
    • SolrQuery::setExpandQuery — Sets the expand.q parameter
    • SolrQuery::setExpandRows — Sets the number of rows to display in each group (expand.rows). Server Default 5
    • SolrQuery::setExplainOther — Sets the explainOther common query parameter
    • SolrQuery::setFacet — Maps to the facet parameter. Enables or disables facetting
    • SolrQuery::setFacetDateEnd — Maps to facet.date.end
    • SolrQuery::setFacetDateGap — Maps to facet.date.gap
    • SolrQuery::setFacetDateHardEnd — Maps to facet.date.hardend
    • SolrQuery::setFacetDateStart — Maps to facet.date.start
    • SolrQuery::setFacetEnumCacheMinDefaultFrequency — Sets the minimum document frequency used for determining term count
    • SolrQuery::setFacetLimit — Maps to facet.limit
    • SolrQuery::setFacetMethod — Specifies the type of algorithm to use when faceting a field
    • SolrQuery::setFacetMinCount — Maps to facet.mincount
    • SolrQuery::setFacetMissing — Maps to facet.missing
    • SolrQuery::setFacetOffset — Sets the offset into the list of constraints to allow for pagination
    • SolrQuery::setFacetPrefix — Specifies a string prefix with which to limits the terms on which to facet
    • SolrQuery::setFacetSort — Determines the ordering of the facet field constraints
    • SolrQuery::setGroup — Enable/Disable result grouping (group parameter)
    • SolrQuery::setGroupCachePercent — Enables caching for result grouping
    • SolrQuery::setGroupFacet — Sets group.facet parameter
    • SolrQuery::setGroupFormat — Sets the group format, result structure (group.format parameter).
    • SolrQuery::setGroupLimit — Specifies the number of results to return for each group. The server default value is 1.
    • SolrQuery::setGroupMain — If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple.
    • SolrQuery::setGroupNGroups — If true, Solr includes the number of groups that have matched the query in the results.
    • SolrQuery::setGroupOffset — Sets the group.offset parameter.
    • SolrQuery::setGroupTruncate — If true, facet counts are based on the most relevant document of each group matching the query.
    • SolrQuery::setHighlight — Enables or disables highlighting
    • SolrQuery::setHighlightAlternateField — Specifies the backup field to use
    • SolrQuery::setHighlightFormatter — Specify a formatter for the highlight output
    • SolrQuery::setHighlightFragmenter — Sets a text snippet generator for highlighted text
    • SolrQuery::setHighlightFragsize — The size of fragments to consider for highlighting
    • SolrQuery::setHighlightHighlightMultiTerm — Use SpanScorer to highlight phrase terms
    • SolrQuery::setHighlightMaxAlternateFieldLength — Sets the maximum number of characters of the field to return
    • SolrQuery::setHighlightMaxAnalyzedChars — Specifies the number of characters into a document to look for suitable snippets
    • SolrQuery::setHighlightMergeContiguous — Whether or not to collapse contiguous fragments into a single fragment
    • SolrQuery::setHighlightRegexMaxAnalyzedChars — Specify the maximum number of characters to analyze
    • SolrQuery::setHighlightRegexPattern — Specify the regular expression for fragmenting
    • SolrQuery::setHighlightRegexSlop — Sets the factor by which the regex fragmenter can stray from the ideal fragment size
    • SolrQuery::setHighlightRequireFieldMatch — Require field matching during highlighting
    • SolrQuery::setHighlightSimplePost — Sets the text which appears after a highlighted term
    • SolrQuery::setHighlightSimplePre — Sets the text which appears before a highlighted term
    • SolrQuery::setHighlightSnippets — Sets the maximum number of highlighted snippets to generate per field
    • SolrQuery::setHighlightUsePhraseHighlighter — Whether to highlight phrase terms only when they appear within the query phrase
    • SolrQuery::setMlt — Enables or disables moreLikeThis
    • SolrQuery::setMltBoost — Set if the query will be boosted by the interesting term relevance
    • SolrQuery::setMltCount — Set the number of similar documents to return for each result
    • SolrQuery::setMltMaxNumQueryTerms — Sets the maximum number of query terms included
    • SolrQuery::setMltMaxNumTokens — Specifies the maximum number of tokens to parse
    • SolrQuery::setMltMaxWordLength — Sets the maximum word length
    • SolrQuery::setMltMinDocFrequency — Sets the mltMinDoc frequency
    • SolrQuery::setMltMinTermFrequency — Sets the frequency below which terms will be ignored in the source docs
    • SolrQuery::setMltMinWordLength — Sets the minimum word length
    • SolrQuery::setOmitHeader — Exclude the header from the returned results
    • SolrQuery::setQuery — Sets the search query
    • SolrQuery::setRows — Specifies the maximum number of rows to return in the result
    • SolrQuery::setShowDebugInfo — Flag to show debug information
    • SolrQuery::setStart — Specifies the number of rows to skip
    • SolrQuery::setStats — Enables or disables the Stats component
    • SolrQuery::setTerms — Enables or disables the TermsComponent
    • SolrQuery::setTermsField — Sets the name of the field to get the Terms from
    • SolrQuery::setTermsIncludeLowerBound — Include the lower bound term in the result set
    • SolrQuery::setTermsIncludeUpperBound — Include the upper bound term in the result set
    • SolrQuery::setTermsLimit — Sets the maximum number of terms to return
    • SolrQuery::setTermsLowerBound — Specifies the Term to start from
    • SolrQuery::setTermsMaxCount — Sets the maximum document frequency
    • SolrQuery::setTermsMinCount — Sets the minimum document frequency
    • SolrQuery::setTermsPrefix — Restrict matches to terms that start with the prefix
    • SolrQuery::setTermsReturnRaw — Return the raw characters of the indexed term
    • SolrQuery::setTermsSort — Specifies how to sort the returned terms
    • SolrQuery::setTermsUpperBound — Sets the term to stop at
    • SolrQuery::setTimeAllowed — The time allowed for search to finish
  • SolrDisMaxQuery — The SolrDisMaxQuery class
    • SolrDisMaxQuery::addBigramPhraseField — Adds a Phrase Bigram Field (pf2 parameter)
    • SolrDisMaxQuery::addBoostQuery — Adds a boost query field with value and optional boost (bq parameter)
    • SolrDisMaxQuery::addPhraseField — Adds a Phrase Field (pf parameter)
    • SolrDisMaxQuery::addQueryField — Add a query field with optional boost (qf parameter)
    • SolrDisMaxQuery::addTrigramPhraseField — Adds a Trigram Phrase Field (pf3 parameter)
    • SolrDisMaxQuery::addUserField — Adds a field to User Fields Parameter (uf)
    • SolrDisMaxQuery::__construct — Class Constructor
    • SolrDisMaxQuery::removeBigramPhraseField — Removes phrase bigram field (pf2 parameter)
    • SolrDisMaxQuery::removeBoostQuery — Removes a boost query partial by field name (bq)
    • SolrDisMaxQuery::removePhraseField — Removes a Phrase Field (pf parameter)
    • SolrDisMaxQuery::removeQueryField — Removes a Query Field (qf parameter)
    • SolrDisMaxQuery::removeTrigramPhraseField — Removes a Trigram Phrase Field (pf3 parameter)
    • SolrDisMaxQuery::removeUserField — Removes a field from The User Fields Parameter (uf)
    • SolrDisMaxQuery::setBigramPhraseFields — Sets Bigram Phrase Fields and their boosts (and slops) using pf2 parameter
    • SolrDisMaxQuery::setBigramPhraseSlop — Sets Bigram Phrase Slop (ps2 parameter)
    • SolrDisMaxQuery::setBoostFunction — Sets a Boost Function (bf parameter).
    • SolrDisMaxQuery::setBoostQuery — Directly Sets Boost Query Parameter (bq)
    • SolrDisMaxQuery::setMinimumMatch — Set Minimum "Should" Match (mm)
    • SolrDisMaxQuery::setPhraseFields — Sets Phrase Fields and their boosts (and slops) using pf2 parameter
    • SolrDisMaxQuery::setPhraseSlop — Sets the default slop on phrase queries (ps parameter)
    • SolrDisMaxQuery::setQueryAlt — Set Query Alternate (q.alt parameter)
    • SolrDisMaxQuery::setQueryPhraseSlop — specifies the amount of slop permitted on phrase queries explicitly included in the user's query string (qf parameter)
    • SolrDisMaxQuery::setTieBreaker — Sets Tie Breaker parameter (tie parameter)
    • SolrDisMaxQuery::setTrigramPhraseFields — Directly Sets Trigram Phrase Fields (pf3 parameter)
    • SolrDisMaxQuery::setTrigramPhraseSlop — Sets Trigram Phrase Slop (ps3 parameter)
    • SolrDisMaxQuery::setUserFields — Sets User Fields parameter (uf)
    • SolrDisMaxQuery::useDisMaxQueryParser — Switch QueryParser to be DisMax Query Parser
    • SolrDisMaxQuery::useEDisMaxQueryParser — Switch QueryParser to be EDisMax
  • SolrCollapseFunction — The SolrCollapseFunction class
    • SolrCollapseFunction::__construct — Constructor
    • SolrCollapseFunction::getField — Returns the field that is being collapsed on.
    • SolrCollapseFunction::getHint — Returns collapse hint
    • SolrCollapseFunction::getMax — Returns max parameter
    • SolrCollapseFunction::getMin — Returns min parameter
    • SolrCollapseFunction::getNullPolicy — Returns null policy
    • SolrCollapseFunction::getSize — Returns size parameter
    • SolrCollapseFunction::setField — Sets the field to collapse on
    • SolrCollapseFunction::setHint — Sets collapse hint
    • SolrCollapseFunction::setMax — Selects the group heads by the max value of a numeric field or function query.
    • SolrCollapseFunction::setMin — Sets the initial size of the collapse data structures when collapsing on a numeric field only
    • SolrCollapseFunction::setNullPolicy — Sets the NULL Policy
    • SolrCollapseFunction::setSize — Sets the initial size of the collapse data structures when collapsing on a numeric field only.
    • SolrCollapseFunction::__toString — Returns a string representing the constructed collapse function
  • SolrException — The SolrException class
    • SolrException::getInternalInfo — Returns internal information where the Exception was thrown
  • SolrClientException — The SolrClientException class
    • SolrClientException::getInternalInfo — Returns internal information where the Exception was thrown
  • SolrServerException — The SolrServerException class
    • SolrServerException::getInternalInfo — Returns internal information where the Exception was thrown
  • SolrIllegalArgumentException — The SolrIllegalArgumentException class
    • SolrIllegalArgumentException::getInternalInfo — Returns internal information where the Exception was thrown
  • SolrIllegalOperationException — The SolrIllegalOperationException class
    • SolrIllegalOperationException::getInternalInfo — Returns internal information where the Exception was thrown
  • SolrMissingMandatoryParameterException — The SolrMissingMandatoryParameterException class
udm_set_agent_param
Einführung
Suchmaschinenerweiterungen


Einführung

The Solr extension allows you to communicate effectively with the Apache Solr Server in PHP.

The Solr extension is an extremely fast, light-weight, feature-rich library that allows PHP developers to communicate effectively with Solr server instances.

Versions 1.x of The PECL Extension supports Apache Solr Server 1.3-3.x

Versions 2.x of The PECL Extension supports Apache Solr Server 4.0+

There are built-in tools to add documents and make updates to the solr server.

It also contains tools that allows you to build advanced queries to the server when searching for documents.

Solr
Installation/Konfiguration
Solr


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Solr


Anforderungen

PHP version 5.2.11 or later is required.

The libxml and curl extensions must also be enabled for the Apache Solr extension to be available.

libxml2 2.6.31 or later is required.

libcurl 7.18.0 or later is also required.

The above library versions are required and attempting to hack the code to make it compile is strongly discouraged. It will fail, possibly with errors that could be hard to debug

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/solr.

For help and support, please visit the extension google group. » Apache Solr PHP Extension

Windows binaries (DLL files) for this PECL extension are available from the PECL website.

Hinweis:

The solr module can be compiled in debug mode by passing the --enable-solr-debug flag to configure

When building manually, be sure to include curl and libxml support within the build.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

SOLR_MAJOR_VERSION (integer)
SOLR_MINOR_VERSION (integer)
SOLR_PATCH_VERSION (integer)
SOLR_EXTENSION_VERSION (string)

Ressource-Typen
Solr Funktionen
Solr


Solr Funktionen

Inhaltsverzeichnis

  • solr_get_version — Returns the current version of the Apache Solr extension
Vordefinierte Konstanten
solr_get_version
Solr


Returns the current version of the Apache Solr extension

Solr Funktionen
Beispiele
Solr Funktionen
PHP Manual

solr_get_version

(PECL solr >= 0.9.1)

solr_get_version — Returns the current version of the Apache Solr extension

Beschreibung

string solr_get_version ( void )

This function returns the current version of the extension as a string.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

It returns a string on success and FALSE on failure.

Fehler/Exceptions

This function throws no errors or exceptions.

Beispiele

Beispiel #1 solr_get_version() example

<?php

$solr_version = solr_get_version();

print $solr_version;

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

0.9.6

Siehe auch

  • SolrUtils::getSolrVersion() - Returns the current version of the Solr extension

Solr Funktionen
Beispiele
Solr Funktionen


Beispiele

Examples of how to use the Apache Solr extension in PHP

Beispiel #1 Contents of the BootStrap file

<?php

/* Domain name of the Solr server */
define('SOLR_SERVER_HOSTNAME', 'solr.example.com');

/* Whether or not to run in secure mode */
define('SOLR_SECURE', true);

/* HTTP Port to connection */
define('SOLR_SERVER_PORT', ((SOLR_SECURE) ? 8443 : 8983));

/* HTTP Basic Authentication Username */
define('SOLR_SERVER_USERNAME', 'admin');

/* HTTP Basic Authentication password */
define('SOLR_SERVER_PASSWORD', 'changeit');

/* HTTP connection timeout */
/* This is maximum time in seconds allowed for the http data transfer operation. Default value is 30 seconds */
define('SOLR_SERVER_TIMEOUT', 10);

/* File name to a PEM-formatted private key + private certificate (concatenated in that order) */
define('SOLR_SSL_CERT', 'certs/combo.pem');

/* File name to a PEM-formatted private certificate only */
define('SOLR_SSL_CERT_ONLY', 'certs/solr.crt');

/* File name to a PEM-formatted private key */
define('SOLR_SSL_KEY', 'certs/solr.key');

/* Password for PEM-formatted private key file */
define('SOLR_SSL_KEYPASSWORD', 'StrongAndSecurePassword');

/* Name of file holding one or more CA certificates to verify peer with*/
define('SOLR_SSL_CAINFO', 'certs/cacert.crt');

/* Name of directory holding multiple CA certificates to verify peer with */
define('SOLR_SSL_CAPATH', 'certs/');

?>

Beispiel #2 Adding a document to the index

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$doc = new SolrInputDocument();

$doc->addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');

$updateResponse = $client->addDocument($doc);

print_r($updateResponse->getResponse());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 446
        )

)

Beispiel #3 Merging one document into another document

<?php

include "bootstrap.php";

$doc = new SolrDocument();

$second_doc = new SolrDocument();

$doc->addField('id', 1123);

$doc->features = "PHP Client Side";
$doc->features = "Fast development cycles";

$doc['cat'] = 'Software';
$doc['cat'] = 'Custom Search';
$doc->cat   = 'Information Technology';

$second_doc->addField('cat', 'Lucene Search');

$second_doc->merge($doc, true);

print_r($second_doc->toArray());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [document_boost] => 0
    [field_count] => 3
    [fields] => Array
        (
            [0] => SolrDocumentField Object
                (
                    [name] => cat
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => Software
                            [1] => Custom Search
                            [2] => Information Technology
                        )

                )

            [1] => SolrDocumentField Object
                (
                    [name] => id
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => 1123
                        )

                )

            [2] => SolrDocumentField Object
                (
                    [name] => features
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => PHP Client Side
                            [1] => Fast development cycles
                        )

                )

        )

)

Beispiel #4 Searching for documents - SolrObject responses

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setQuery('lucene');

$query->setStart(0);

$query->setRows(50);

$query->addField('cat')->addField('features')->addField('id')->addField('timestamp');

$query_response = $client->query($query);

$response = $query_response->getResponse();

print_r($response);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 1
            [params] => SolrObject Object
                (
                    [wt] => xml
                    [rows] => 50
                    [start] => 0
                    [indent] => on
                    [q] => lucene
                    [fl] => cat,features,id,timestamp
                    [version] => 2.2
                )

        )

    [response] => SolrObject Object
        (
            [numFound] => 3
            [start] => 0
            [docs] => Array
                (
                    [0] => SolrObject Object
                        (
                            [cat] => Array
                                (
                                    [0] => Software
                                    [1] => Lucene
                                )

                            [id] => 334456
                        )

                    [1] => SolrObject Object
                        (
                            [cat] => Array
                                (
                                    [0] => Software
                                    [1] => Lucene
                                )

                            [id] => 334455
                        )

                    [2] => SolrObject Object
                        (
                            [cat] => Array
                                (
                                    [0] => software
                                    [1] => search
                                )

                            [features] => Array
                                (
                                    [0] => Advanced Full-Text Search Capabilities using Lucene
                                    [1] => Optimized for High Volume Web Traffic
                                    [2] => Standards Based Open Interfaces - XML and HTTP
                                    [3] => Comprehensive HTML Administration Interfaces
                                    [4] => Scalability - Efficient Replication to other Solr Search Servers
                                    [5] => Flexible and Adaptable with XML configuration and Schema
                                    [6] => Good unicode support: héllo (hello with an accent over the e)
                                )

                            [id] => SOLR1000
                            [timestamp] => 2009-09-04T20:38:55.906
                        )

                )

        )

)

Beispiel #5 Searching for documents - SolrDocument responses

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setQuery('lucene');

$query->setStart(0);

$query->setRows(50);

$query->addField('cat')->addField('features')->addField('id')->addField('timestamp');

$query_response = $client->query($query);

$query_response->setParseMode(SolrQueryResponse::PARSE_SOLR_DOC);

$response = $query_response->getResponse();

print_r($response);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 1
            [params] => SolrObject Object
                (
                    [wt] => xml
                    [rows] => 50
                    [start] => 0
                    [indent] => on
                    [q] => lucene
                    [fl] => cat,features,id,timestamp
                    [version] => 2.2
                )

        )

    [response] => SolrObject Object
        (
            [numFound] => 3
            [start] => 0
            [docs] => Array
                (
                    [0] => SolrDocument Object
                        (
                            [_hashtable_index:SolrDocument:private] => 19740
                        )

                    [1] => SolrDocument Object
                        (
                            [_hashtable_index:SolrDocument:private] => 25485
                        )

                    [2] => SolrDocument Object
                        (
                            [_hashtable_index:SolrDocument:private] => 25052
                        )

                )

        )

)

Beispiel #6 Simple TermsComponent example - basic

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setTerms(true);

$query->setTermsField('cat');

$updateResponse = $client->query($query);

print_r($updateResponse->getResponse());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 2
        )

    [terms] => SolrObject Object
        (
            [cat] => SolrObject Object
                (
                    [electronics] => 14
                    [Lucene] => 4
                    [Software] => 4
                    [memory] => 3
                    [card] => 2
                    [connector] => 2
                    [drive] => 2
                    [graphics] => 2
                    [hard] => 2
                    [monitor] => 2
                )

        )

)

Beispiel #7 Simple TermsComponent example - using a prefix

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setTerms(true);

/* Return only terms starting with $prefix */
$prefix = 'c';

$query->setTermsField('cat')->setTermsPrefix($prefix);

$updateResponse = $client->query($query);

print_r($updateResponse->getResponse());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 1
        )

    [terms] => SolrObject Object
        (
            [cat] => SolrObject Object
                (
                    [card] => 2
                    [connector] => 2
                    [camera] => 1
                    [copier] => 1
                )

        )

)

Beispiel #8 Simple TermsComponent example - specifying a minimum frequency

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setTerms(true);

/* Return only terms starting with $prefix */
$prefix = 'c';

/* Return only terms with a frequency of 2 or greater */
$min_frequency = 2;

$query->setTermsField('cat')->setTermsPrefix($prefix)->setTermsMinCount($min_frequency);

$updateResponse = $client->query($query);

print_r($updateResponse->getResponse());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 0
        )

    [terms] => SolrObject Object
        (
            [cat] => SolrObject Object
                (
                    [card] => 2
                    [connector] => 2
                )

        )

)

Beispiel #9 Simple Facet Example

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery('*:*');

$query->setFacet(true);

$query->addFacetField('cat')->addFacetField('name')->setFacetMinCount(2);

$updateResponse = $client->query($query);

$response_array = $updateResponse->getResponse();

$facet_data = $response_array->facet_counts->facet_fields;

print_r($facet_data);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

SolrObject Object
(
    [cat] => SolrObject Object
        (
            [electronics] => 14
            [memory] => 3
            [Lucene] => 2
            [Software] => 2
            [card] => 2
            [connector] => 2
            [drive] => 2
            [graphics] => 2
            [hard] => 2
            [monitor] => 2
            [search] => 2
            [software] => 2
        )

    [name] => SolrObject Object
        (
            [gb] => 6
            [1] => 3
            [184] => 3
            [2] => 3
            [3200] => 3
            [400] => 3
            [500] => 3
            [ddr] => 3
            [i] => 3
            [ipod] => 3
            [memori] => 3
            [pc] => 3
            [pin] => 3
            [pod] => 3
            [sdram] => 3
            [system] => 3
            [unbuff] => 3
            [canon] => 2
            [corsair] => 2
            [drive] => 2
            [hard] => 2
            [mb] => 2
            [n] => 2
            [power] => 2
            [retail] => 2
            [video] => 2
            [x] => 2
        )

)

Beispiel #10 Simple Facet Example - with optional field override for mincount

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery('*:*');

$query->setFacet(true);

$query->addFacetField('cat')->addFacetField('name')->setFacetMinCount(2)->setFacetMinCount(4, 'name');

$updateResponse = $client->query($query);

$response_array = $updateResponse->getResponse();

$facet_data = $response_array->facet_counts->facet_fields;

print_r($facet_data);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

SolrObject Object
(
    [cat] => SolrObject Object
        (
            [electronics] => 14
            [memory] => 3
            [Lucene] => 2
            [Software] => 2
            [card] => 2
            [connector] => 2
            [drive] => 2
            [graphics] => 2
            [hard] => 2
            [monitor] => 2
            [search] => 2
            [software] => 2
        )

    [name] => SolrObject Object
        (
            [gb] => 6
        )

)

Beispiel #11 Facet Date Example

<?php

include "bootstrap.php";

$options = array
(
        'hostname' => SOLR_SERVER_HOSTNAME,
        'login'    => SOLR_SERVER_USERNAME,
        'password' => SOLR_SERVER_PASSWORD,
        'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery('*:*');

$query->setFacet(true);

$query->addFacetDateField('manufacturedate_dt');

$query->setFacetDateStart('2006-02-13T00:00:00Z');

$query->setFacetDateEnd('2012-02-13T00:00:00Z');

$query->setFacetDateGap('+1YEAR');

$query->setFacetDateHardEnd(1);

$query->addFacetDateOther('before');

$updateResponse = $client->query($query);

$response_array = $updateResponse->getResponse();

$facet_data = $response_array->facet_counts->facet_dates;

print_r($facet_data);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

SolrObject Object
(
    [manufacturedate_dt] => SolrObject Object
        (
            [2006-02-13T00:00:00Z] => 9
            [2007-02-13T00:00:00Z] => 0
            [2008-02-13T00:00:00Z] => 0
            [2009-02-13T00:00:00Z] => 0
            [2010-02-13T00:00:00Z] => 0
            [2011-02-13T00:00:00Z] => 0
            [gap] => +1YEAR
            [start] => 2006-02-13T00:00:00Z
            [end] => 2012-02-13T00:00:00Z
            [before] => 2
        )

)

Beispiel #12 Connecting to SSL-Enabled Server

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
    'timeout'  => SOLR_SERVER_TIMEOUT,
    'secure'   => SOLR_SECURE,
    'ssl_cert' => SOLR_SSL_CERT_ONLY,
    'ssl_key'  => SOLR_SSL_KEY,
    'ssl_keypassword' => SOLR_SSL_KEYPASSWORD,
    'ssl_cainfo' => SOLR_SSL_CAINFO,
);

$client = new SolrClient($options);

$query = new SolrQuery('*:*');

$query->setFacet(true);

$query->addFacetField('cat')->addFacetField('name')->setFacetMinCount(2)->setFacetMinCount(4, 'name');

$updateResponse = $client->query($query);

$response_array = $updateResponse->getResponse();

$facet_data = $response_array->facet_counts->facet_fields;

print_r($facet_data);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

SolrObject Object
(
    [cat] => SolrObject Object
        (
            [electronics] => 14
            [memory] => 3
            [Lucene] => 2
            [Software] => 2
            [card] => 2
            [connector] => 2
            [drive] => 2
            [graphics] => 2
            [hard] => 2
            [monitor] => 2
            [search] => 2
            [software] => 2
        )

    [name] => SolrObject Object
        (
            [gb] => 6
        )

)

Beispiel #13 Collapsing a SolrQuery

<?php
include "bootstrap.php";

$options = array
(
        'hostname' => SOLR_SERVER_HOSTNAME,
        'login'    => SOLR_SERVER_USERNAME,
        'password' => SOLR_SERVER_PASSWORD,
        'port'     => SOLR_SERVER_PORT,
        'path'     => SOLR_SERVER_PATH
);

$client = new SolrClient($options);

$query = new SolrQuery('*:*');

$collapseFunction = new SolrCollapseFunction('manu_id_s');

$collapseFunction
->setSize(2)
->setNullPolicy(SolrCollapseFunction::NULLPOLICY_IGNORE);

$query
->collapse($collapseFunction)
->setRows(4);

$queryResponse = $client->query($query);

$response = $queryResponse->getResponse();

print_r($response);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 1
            [params] => SolrObject Object
                (
                    [q] => *:*
                    [indent] => on
                    [fq] => {!collapse field=manu_id_s size=2 nullPolicy=ignore}
                    [rows] => 4
                    [version] => 2.2
                    [wt] => xml
                )

        )

    [response] => SolrObject Object
        (
            [numFound] => 14
            [start] => 0
            [docs] => Array
                (
                    [0] => SolrObject Object
                        (
                            [id] => SP2514N
                            [name] => Array
                                (
                                    [0] => Samsung SpinPoint P120 SP2514N - hard drive - 250 GB - ATA-133
                                )

                            [manu] => Array
                                (
                                    [0] => Samsung Electronics Co. Ltd.
                                )

                            [manu_id_s] => samsung
                            [cat] => Array
                                (
                                    [0] => electronics
                                    [1] => hard drive
                                )

                            [features] => Array
                                (
                                    [0] => 7200RPM, 8MB cache, IDE Ultra ATA-133
                                    [1] => NoiseGuard, SilentSeek technology, Fluid Dynamic Bearing (FDB) motor
                                )

                            [price] => Array
                                (
                                    [0] => 92
                                )

                            [popularity] => Array
                                (
                                    [0] => 6
                                )

                            [inStock] => Array
                                (
                                    [0] => 1
                                )

                            [manufacturedate_dt] => 2006-02-13T15:26:37Z
                            [store] => Array
                                (
                                    [0] => 35.0752,-97.032
                                )

                            [_version_] => 1510294336412057600
                        )

                    [1] => SolrObject Object
                        (
                            [id] => 6H500F0
                            [name] => Array
                                (
                                    [0] => Maxtor DiamondMax 11 - hard drive - 500 GB - SATA-300
                                )

                            [manu] => Array
                                (
                                    [0] => Maxtor Corp.
                                )

                            [manu_id_s] => maxtor
                            [cat] => Array
                                (
                                    [0] => electronics
                                    [1] => hard drive
                                )

                            [features] => Array
                                (
                                    [0] => SATA 3.0Gb/s, NCQ
                                    [1] => 8.5ms seek
                                    [2] => 16MB cache
                                )

                            [price] => Array
                                (
                                    [0] => 350
                                )

                            [popularity] => Array
                                (
                                    [0] => 6
                                )

                            [inStock] => Array
                                (
                                    [0] => 1
                                )

                            [store] => Array
                                (
                                    [0] => 45.17614,-93.87341
                                )

                            [manufacturedate_dt] => 2006-02-13T15:26:37Z
                            [_version_] => 1510294336449806336
                        )

                    [2] => SolrObject Object
                        (
                            [id] => F8V7067-APL-KIT
                            [name] => Array
                                (
                                    [0] => Belkin Mobile Power Cord for iPod w/ Dock
                                )

                            [manu] => Array
                                (
                                    [0] => Belkin
                                )

                            [manu_id_s] => belkin
                            [cat] => Array
                                (
                                    [0] => electronics
                                    [1] => connector
                                )

                            [features] => Array
                                (
                                    [0] => car power adapter, white
                                )

                            [weight] => Array
                                (
                                    [0] => 4
                                )

                            [price] => Array
                                (
                                    [0] => 19.95
                                )

                            [popularity] => Array
                                (
                                    [0] => 1
                                )

                            [inStock] => Array
                                (
                                    [0] =>
                                )

                            [store] => Array
                                (
                                    [0] => 45.18014,-93.87741
                                )

                            [manufacturedate_dt] => 2005-08-01T16:30:25Z
                            [_version_] => 1510294336458194944
                        )

                    [3] => SolrObject Object
                        (
                            [id] => MA147LL/A
                            [name] => Array
                                (
                                    [0] => Apple 60 GB iPod with Video Playback Black
                                )

                            [manu] => Array
                                (
                                    [0] => Apple Computer Inc.
                                )

                            [manu_id_s] => apple
                            [cat] => Array
                                (
                                    [0] => electronics
                                    [1] => music
                                )

                            [features] => Array
                                (
                                    [0] => iTunes, Podcasts, Audiobooks
                                    [1] => Stores up to 15,000 songs, 25,000 photos, or 150 hours of video
                                    [2] => 2.5-inch, 320x240 color TFT LCD display with LED backlight
                                    [3] => Up to 20 hours of battery life
                                    [4] => Plays AAC, MP3, WAV, AIFF, Audible, Apple Lossless, H.264 video
                                    [5] => Notes, Calendar, Phone book, Hold button, Date display, Photo wallet, Built-in games, JPEG photo playback, Upgradeable firmware, USB 2.0 compatibility, Playback speed control, Rechargeable capability, Battery level indication
                                )

                            [includes] => Array
                                (
                                    [0] => earbud headphones, USB cable
                                )

                            [weight] => Array
                                (
                                    [0] => 5.5
                                )

                            [price] => Array
                                (
                                    [0] => 399
                                )

                            [popularity] => Array
                                (
                                    [0] => 10
                                )

                            [inStock] => Array
                                (
                                    [0] => 1
                                )

                            [store] => Array
                                (
                                    [0] => 37.7752,-100.0232
                                )

                            [manufacturedate_dt] => 2005-10-12T08:00:00Z
                            [_version_] => 1510294336562003968
                        )

                )

        )

)

Beispiel #14 Solr Real Time Get (RTG) example SolrClient::getById()

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
    'path'     => SOLR_SERVER_PATH
);

$client = new SolrClient($options);
$response = $client->getById('GB18030TEST');
print_r($response->getResponse());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

SolrObject Object
(
    [doc] => SolrObject Object
        (
            [id] => GB18030TEST
            [name] => Array
                (
                    [0] => Test with some GB18030 encoded characters
                )

            [features] => Array
                (
                    [0] => No accents here
                    [1] => ??????
                    [2] => This is a feature (translated)
                    [3] => ?????????
                    [4] => This document is very shiny (translated)
                )

            [price] => Array
                (
                    [0] => 0
                )

            [inStock] => Array
                (
                    [0] => 1
                )

            [_version_] => 1510294336239042560
        )

)
solr_get_version
SolrUtils
Solr


The SolrUtils class

(PECL solr >= 0.9.2)

Einführung

Contains utility methods for retrieving the current extension version and preparing query phrases.

Also contains method for escaping query strings and parsing XML responses.

Klassenbeschreibung

abstract SolrUtils {
/* Methoden */
public static SolrObject digestXmlResponse ( string $xmlresponse [, int $parse_mode = 0 ] )
public static string escapeQueryChars ( string $str )
public static string getSolrVersion ( void )
public static string queryPhrase ( string $str )
}

Inhaltsverzeichnis

  • SolrUtils::digestXmlResponse — Parses an response XML string into a SolrObject
  • SolrUtils::escapeQueryChars — Escapes a lucene query string
  • SolrUtils::getSolrVersion — Returns the current version of the Solr extension
  • SolrUtils::queryPhrase — Prepares a phrase from an unescaped lucene string
Beispiele
SolrUtils::digestXmlResponse
Solr


Parses an response XML string into a SolrObject

SolrUtils
SolrUtils::escapeQueryChars
SolrUtils
PHP Manual

SolrUtils::digestXmlResponse

(PECL solr >= 0.9.2)

SolrUtils::digestXmlResponse — Parses an response XML string into a SolrObject

Beschreibung

public static SolrObject SolrUtils::digestXmlResponse ( string $xmlresponse [, int $parse_mode = 0 ] )

This method parses an response XML string from the Apache Solr server into a SolrObject. It throws a SolrException if there was an error.

Parameter-Liste

xmlresponse

The XML response string from the Solr server.

parse_mode

Use SolrResponse::PARSE_SOLR_OBJ or SolrResponse::PARSE_SOLR_DOC

Rückgabewerte

Returns the SolrObject representing the XML response.

If the parse_mode parameter is set to SolrResponse::PARSE_SOLR_OBJ Solr documents will be parses as SolrObject instances.

If it is set to SolrResponse::PARSE_SOLR_DOC, they will be parsed as SolrDocument instances.

SolrUtils
SolrUtils::escapeQueryChars
SolrUtils


Escapes a lucene query string

SolrUtils::digestXmlResponse
SolrUtils::getSolrVersion
SolrUtils
PHP Manual

SolrUtils::escapeQueryChars

(PECL solr >= 0.9.2)

SolrUtils::escapeQueryChars — Escapes a lucene query string

Beschreibung

public static string SolrUtils::escapeQueryChars ( string $str )

Lucene supports escaping special characters that are part of the query syntax.

The current list special characters are:

+ - && || ! ( ) { } [ ] ^ " ~ * ? : \ /

These characters are part of the query syntax and must be escaped

Parameter-Liste

str

This is the query string to be escaped.

Rückgabewerte

Returns the escaped stringIm Fehlerfall wird FALSE zurückgegeben..

SolrUtils::digestXmlResponse
SolrUtils::getSolrVersion
SolrUtils


Returns the current version of the Solr extension

SolrUtils::escapeQueryChars
SolrUtils::queryPhrase
SolrUtils
PHP Manual

SolrUtils::getSolrVersion

(PECL solr >= 0.9.2)

SolrUtils::getSolrVersion — Returns the current version of the Solr extension

Beschreibung

public static string SolrUtils::getSolrVersion ( void )

Returns the current Solr version.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current version of the Apache Solr extension.

SolrUtils::escapeQueryChars
SolrUtils::queryPhrase
SolrUtils


Prepares a phrase from an unescaped lucene string

SolrUtils::getSolrVersion
SolrInputDocument
SolrUtils
PHP Manual

SolrUtils::queryPhrase

(PECL solr >= 0.9.2)

SolrUtils::queryPhrase — Prepares a phrase from an unescaped lucene string

Beschreibung

public static string SolrUtils::queryPhrase ( string $str )

Prepares a phrase from an unescaped lucene string.

Parameter-Liste

str

The lucene phrase.

Rückgabewerte

Returns the phrase contained in double quotes.

SolrUtils::getSolrVersion
SolrInputDocument
SolrUtils


The SolrInputDocument class

(PECL solr >= 0.9.2)

Einführung

This class represents a Solr document that is about to be submitted to the Solr index.

Klassenbeschreibung

final SolrInputDocument {
/* Konstanten */
const integer SORT_DEFAULT = 1 ;
const integer SORT_ASC = 1 ;
const integer SORT_DESC = 2 ;
const integer SORT_FIELD_NAME = 1 ;
const integer SORT_FIELD_VALUE_COUNT = 2 ;
const integer SORT_FIELD_BOOST_VALUE = 4 ;
/* Methoden */
public void addChildDocument ( SolrInputDocument $child )
public void addChildDocuments ( array &$docs )
public bool addField ( string $fieldName , string $fieldValue [, float $fieldBoostValue = 0.0 ] )
public bool clear ( void )
public void __clone ( void )
public __construct ( void )
public bool deleteField ( string $fieldName )
public void __destruct ( void )
public bool fieldExists ( string $fieldName )
public float getBoost ( void )
public array getChildDocuments ( void )
public integer getChildDocumentsCount ( void )
public SolrDocumentField getField ( string $fieldName )
public float getFieldBoost ( string $fieldName )
public int getFieldCount ( void )
public array getFieldNames ( void )
public boolean hasChildDocuments ( void )
public bool merge ( SolrInputDocument $sourceDoc [, bool $overwrite = true ] )
public bool reset ( void )
public bool setBoost ( float $documentBoostValue )
public bool setFieldBoost ( string $fieldName , float $fieldBoostValue )
public bool sort ( int $sortOrderBy [, int $sortDirection = SolrInputDocument::SORT_ASC ] )
public array toArray ( void )
}

Vordefinierte Konstanten

SolrInputDocument Class Constants

SolrInputDocument::SORT_DEFAULT

Sorts the fields in ascending order.

SolrInputDocument::SORT_ASC

Sorts the fields in ascending order.

SolrInputDocument::SORT_DESC

Sorts the fields in descending order.

SolrInputDocument::SORT_FIELD_NAME

Sorts the fields by name

SolrInputDocument::SORT_FIELD_VALUE_COUNT

Sorts the fields by number of values.

SolrInputDocument::SORT_FIELD_BOOST_VALUE

Sorts the fields by boost value.

Inhaltsverzeichnis

  • SolrInputDocument::addChildDocument — Adds a child document for block indexing
  • SolrInputDocument::addChildDocuments — Adds an array of child documents
  • SolrInputDocument::addField — Adds a field to the document
  • SolrInputDocument::clear — Resets the input document
  • SolrInputDocument::__clone — Creates a copy of a SolrDocument
  • SolrInputDocument::__construct — Constructor
  • SolrInputDocument::deleteField — Removes a field from the document
  • SolrInputDocument::__destruct — Destructor
  • SolrInputDocument::fieldExists — Checks if a field exists
  • SolrInputDocument::getBoost — Retrieves the current boost value for the document
  • SolrInputDocument::getChildDocuments — Returns an array of child documents (SolrInputDocument)
  • SolrInputDocument::getChildDocumentsCount — Returns the number of child documents
  • SolrInputDocument::getField — Retrieves a field by name
  • SolrInputDocument::getFieldBoost — Retrieves the boost value for a particular field
  • SolrInputDocument::getFieldCount — Returns the number of fields in the document
  • SolrInputDocument::getFieldNames — Returns an array containing all the fields in the document
  • SolrInputDocument::hasChildDocuments — Returns true if the document has any child documents
  • SolrInputDocument::merge — Merges one input document into another
  • SolrInputDocument::reset — This is an alias of SolrInputDocument::clear
  • SolrInputDocument::setBoost — Sets the boost value for this document
  • SolrInputDocument::setFieldBoost — Sets the index-time boost value for a field
  • SolrInputDocument::sort — Sorts the fields within the document
  • SolrInputDocument::toArray — Returns an array representation of the input document
SolrUtils::queryPhrase
SolrInputDocument::addChildDocument
Solr


Adds a child document for block indexing

SolrInputDocument
SolrInputDocument::addChildDocuments
SolrInputDocument
PHP Manual

SolrInputDocument::addChildDocument

(PECL solr >= 2.3.0)

SolrInputDocument::addChildDocument — Adds a child document for block indexing

Beschreibung

public void SolrInputDocument::addChildDocument ( SolrInputDocument $child )

Adds a child document to construct a document block with nested documents.

Parameter-Liste

child

A SolrInputDocument object.

Fehler/Exceptions

Throws SolrIllegalArgumentException on failure.

Throws SolrException on internal failure.

Rückgabewerte

Beispiele

Beispiel #1 SolrInputDocument::addChildDocument() example

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
    'path'     => SOLR_SERVER_STORE_PATH,
);

$client = new SolrClient($options);

$product = new SolrInputDocument();

$product->addField('id', 'P-BLACK');
$product->addField('cat', 'tshirt');
$product->addField('cat', 'polo');
$product->addField('content_type', 'product');

$small = new SolrInputDocument();
$small->addField('id', 'TS-BLK-S');
$small->addField('content_type', 'sku');
$small->addField('size', 'S');
$small->addField('inventory', 100);

$medium = new SolrInputDocument();
$medium->addField('id', 'TS-BLK-M');
$medium->addField('content_type', 'sku');
$medium->addField('size', 'M');
$medium->addField('inventory', 200);

$large = new SolrInputDocument();
$large->addField('id', 'TS-BLK-L');
$large->addField('content_type', 'sku');
$large->addField('size', 'L');
$large->addField('inventory', 300);

// add child documents
$product->addChildDocument($small);
$product->addChildDocument($medium);
$product->addChildDocument($large);

// add product document block to the index
$updateResponse = $client->addDocument(
        $product,
        true, // overwrite if the document exists
        10000 // commit within 10 seconds
);

print_r($updateResponse->getResponse());

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 5
        )
)

Siehe auch

  • SolrInputDocument::addChildDocuments() - Adds an array of child documents
  • SolrInputDocument::hasChildDocuments() - Returns true if the document has any child documents
  • SolrInputDocument::getChildDocuments() - Returns an array of child documents (SolrInputDocument)
  • SolrInputDocument::getChildDocumentsCount() - Returns the number of child documents
SolrInputDocument
SolrInputDocument::addChildDocuments
SolrInputDocument


Adds an array of child documents

SolrInputDocument::addChildDocument
SolrInputDocument::addField
SolrInputDocument
PHP Manual

SolrInputDocument::addChildDocuments

(PECL solr >= 2.3.0)

SolrInputDocument::addChildDocuments — Adds an array of child documents

Beschreibung

public void SolrInputDocument::addChildDocuments ( array &$docs )

Adds an array of child documents to the current input document.

Parameter-Liste

docs

An array of SolrInputDocument objects.

Fehler/Exceptions

Throws SolrIllegalArgumentException on failure.

Throws SolrException on internal failure.

Rückgabewerte

Beispiele

Beispiel #1 SolrInputDocument::addChildDocuments() example

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
    'path'     => SOLR_SERVER_STORE_PATH,
);

$client = new SolrClient($options);

$product = new SolrInputDocument();

$product->addField('id', 'P-BLACK');
$product->addField('cat', 'tshirt');
$product->addField('cat', 'polo');
$product->addField('content_type', 'product');

$small = new SolrInputDocument();
$small->addField('id', 'TS-BLK-S');
$small->addField('content_type', 'sku');
$small->addField('size', 'S');
$small->addField('inventory', 100);

$medium = new SolrInputDocument();
$medium->addField('id', 'TS-BLK-M');
$medium->addField('content_type', 'sku');
$medium->addField('size', 'M');
$medium->addField('inventory', 200);

$large = new SolrInputDocument();
$large->addField('id', 'TS-BLK-L');
$large->addField('content_type', 'sku');
$large->addField('size', 'L');
$large->addField('inventory', 300);

// add child documents
$skus = [$small, $medium, $large];
$product->addChildDocuments($skus);

// add the product document block to the index
$updateResponse = $client->addDocument(
        $product,
        true, // overwrite if the document exists
        10000 // commit within 10 seconds
);

print_r($updateResponse->getResponse());

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 5
        )
)

Siehe auch

  • SolrInputDocument::addChildDocument() - Adds a child document for block indexing
  • SolrInputDocument::hasChildDocuments() - Returns true if the document has any child documents
  • SolrInputDocument::getChildDocuments() - Returns an array of child documents (SolrInputDocument)
  • SolrInputDocument::getChildDocumentsCount() - Returns the number of child documents
SolrInputDocument::addChildDocument
SolrInputDocument::addField
SolrInputDocument


Adds a field to the document

SolrInputDocument::addChildDocuments
SolrInputDocument::clear
SolrInputDocument
PHP Manual

SolrInputDocument::addField

(PECL solr >= 0.9.2)

SolrInputDocument::addField — Adds a field to the document

Beschreibung

public bool SolrInputDocument::addField ( string $fieldName , string $fieldValue [, float $fieldBoostValue = 0.0 ] )

For multi-value fields, if a valid boost value is specified, the specified value will be multiplied by the current boost value for this field.

Parameter-Liste

fieldName

The name of the field

fieldValue

The value for the field.

fieldBoostValue

The index time boost for the field. Though this cannot be negative, you can still pass values less than 1.0 but they must be greater than zero.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

SolrInputDocument::addChildDocuments
SolrInputDocument::clear
SolrInputDocument


Resets the input document

SolrInputDocument::addField
SolrInputDocument::__clone
SolrInputDocument
PHP Manual

SolrInputDocument::clear

(PECL solr >= 0.9.2)

SolrInputDocument::clear — Resets the input document

Beschreibung

public bool SolrInputDocument::clear ( void )

Resets the document by dropping all the fields and resets the document boost to zero.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

SolrInputDocument::addField
SolrInputDocument::__clone
SolrInputDocument


Creates a copy of a SolrDocument

SolrInputDocument::clear
SolrInputDocument::__construct
SolrInputDocument
PHP Manual

SolrInputDocument::__clone

(PECL solr >= 0.9.2)

SolrInputDocument::__clone — Creates a copy of a SolrDocument

Beschreibung

public void SolrInputDocument::__clone ( void )

Should not be called directly. It is used to create a deep copy of a SolrInputDocument.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Creates a new SolrInputDocument instance.

SolrInputDocument::clear
SolrInputDocument::__construct
SolrInputDocument


Constructor

SolrInputDocument::__clone
SolrInputDocument::deleteField
SolrInputDocument
PHP Manual

SolrInputDocument::__construct

(PECL solr >= 0.9.2)

SolrInputDocument::__construct — Constructor

Beschreibung

public SolrInputDocument::__construct ( void )

Constructor.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

None.

SolrInputDocument::__clone
SolrInputDocument::deleteField
SolrInputDocument


Removes a field from the document

SolrInputDocument::__construct
SolrInputDocument::__destruct
SolrInputDocument
PHP Manual

SolrInputDocument::deleteField

(PECL solr >= 0.9.2)

SolrInputDocument::deleteField — Removes a field from the document

Beschreibung

public bool SolrInputDocument::deleteField ( string $fieldName )

Removes a field from the document.

Parameter-Liste

fieldName

The name of the field.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

SolrInputDocument::__construct
SolrInputDocument::__destruct
SolrInputDocument


Destructor

SolrInputDocument::deleteField
SolrInputDocument::fieldExists
SolrInputDocument
PHP Manual

SolrInputDocument::__destruct

(PECL solr >= 0.9.2)

SolrInputDocument::__destruct — Destructor

Beschreibung

public void SolrInputDocument::__destruct ( void )

Destructor

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

None.

SolrInputDocument::deleteField
SolrInputDocument::fieldExists
SolrInputDocument


Checks if a field exists

SolrInputDocument::__destruct
SolrInputDocument::getBoost
SolrInputDocument
PHP Manual

SolrInputDocument::fieldExists

(PECL solr >= 0.9.2)

SolrInputDocument::fieldExists — Checks if a field exists

Beschreibung

public bool SolrInputDocument::fieldExists ( string $fieldName )

Checks if a field exists

Parameter-Liste

fieldName

Name of the field.

Rückgabewerte

Returns TRUE if the field was found and FALSE if it was not found.

SolrInputDocument::__destruct
SolrInputDocument::getBoost
SolrInputDocument


Retrieves the current boost value for the document

SolrInputDocument::fieldExists
SolrInputDocument::getChildDocuments
SolrInputDocument
PHP Manual

SolrInputDocument::getBoost

(PECL solr >= 0.9.2)

SolrInputDocument::getBoost — Retrieves the current boost value for the document

Beschreibung

public float SolrInputDocument::getBoost ( void )

Retrieves the current boost value for the document.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the boost value on success and FALSE on failure.

SolrInputDocument::fieldExists
SolrInputDocument::getChildDocuments
SolrInputDocument


Returns an array of child documents (SolrInputDocument)

SolrInputDocument::getBoost
SolrInputDocument::getChildDocumentsCount
SolrInputDocument
PHP Manual

SolrInputDocument::getChildDocuments

(PECL solr >= 2.3.0)

SolrInputDocument::getChildDocuments — Returns an array of child documents (SolrInputDocument)

Beschreibung

public array SolrInputDocument::getChildDocuments ( void )

Returns an array of child documents (SolrInputDocument)

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Siehe auch

  • SolrInputDocument::addChildDocument() - Adds a child document for block indexing
  • SolrInputDocument::addChildDocuments() - Adds an array of child documents
  • SolrInputDocument::hasChildDocuments() - Returns true if the document has any child documents
  • SolrInputDocument::getChildDocumentsCount() - Returns the number of child documents
SolrInputDocument::getBoost
SolrInputDocument::getChildDocumentsCount
SolrInputDocument


Returns the number of child documents

SolrInputDocument::getChildDocuments
SolrInputDocument::getField
SolrInputDocument
PHP Manual

SolrInputDocument::getChildDocumentsCount

(PECL solr >= 2.3.0)

SolrInputDocument::getChildDocumentsCount — Returns the number of child documents

Beschreibung

public integer SolrInputDocument::getChildDocumentsCount ( void )

Returns the number of child documents

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Siehe auch

  • SolrInputDocument::addChildDocument() - Adds a child document for block indexing
  • SolrInputDocument::addChildDocuments() - Adds an array of child documents
  • SolrInputDocument::hasChildDocuments() - Returns true if the document has any child documents
  • SolrInputDocument::getChildDocuments() - Returns an array of child documents (SolrInputDocument)
SolrInputDocument::getChildDocuments
SolrInputDocument::getField
SolrInputDocument


Retrieves a field by name

SolrInputDocument::getChildDocumentsCount
SolrInputDocument::getFieldBoost
SolrInputDocument
PHP Manual

SolrInputDocument::getField

(PECL solr >= 0.9.2)

SolrInputDocument::getField — Retrieves a field by name

Beschreibung

public SolrDocumentField SolrInputDocument::getField ( string $fieldName )

Retrieves a field in the document.

Parameter-Liste

fieldName

The name of the field.

Rückgabewerte

Returns a SolrDocumentField object on success and FALSE on failure.

SolrInputDocument::getChildDocumentsCount
SolrInputDocument::getFieldBoost
SolrInputDocument


Retrieves the boost value for a particular field

SolrInputDocument::getField
SolrInputDocument::getFieldCount
SolrInputDocument
PHP Manual

SolrInputDocument::getFieldBoost

(PECL solr >= 0.9.2)

SolrInputDocument::getFieldBoost — Retrieves the boost value for a particular field

Beschreibung

public float SolrInputDocument::getFieldBoost ( string $fieldName )

Retrieves the boost value for a particular field.

Parameter-Liste

fieldName

The name of the field.

Rückgabewerte

Returns the boost value for the field or FALSE if there was an error.

SolrInputDocument::getField
SolrInputDocument::getFieldCount
SolrInputDocument


Returns the number of fields in the document

SolrInputDocument::getFieldBoost
SolrInputDocument::getFieldNames
SolrInputDocument
PHP Manual

SolrInputDocument::getFieldCount

(PECL solr >= 0.9.2)

SolrInputDocument::getFieldCount — Returns the number of fields in the document

Beschreibung

public int SolrInputDocument::getFieldCount ( void )

Returns the number of fields in the document.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an integer on successIm Fehlerfall wird FALSE zurückgegeben..

SolrInputDocument::getFieldBoost
SolrInputDocument::getFieldNames
SolrInputDocument


Returns an array containing all the fields in the document

SolrInputDocument::getFieldCount
SolrInputDocument::hasChildDocuments
SolrInputDocument
PHP Manual

SolrInputDocument::getFieldNames

(PECL solr >= 0.9.2)

SolrInputDocument::getFieldNames — Returns an array containing all the fields in the document

Beschreibung

public array SolrInputDocument::getFieldNames ( void )

Returns an array containing all the fields in the document.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array on success and FALSE on failure.

SolrInputDocument::getFieldCount
SolrInputDocument::hasChildDocuments
SolrInputDocument


Returns true if the document has any child documents

SolrInputDocument::getFieldNames
SolrInputDocument::merge
SolrInputDocument
PHP Manual

SolrInputDocument::hasChildDocuments

(PECL solr >= 2.3.0)

SolrInputDocument::hasChildDocuments — Returns true if the document has any child documents

Beschreibung

public boolean SolrInputDocument::hasChildDocuments ( void )

Checks whether the document has any child documents

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Siehe auch

  • SolrInputDocument::addChildDocument() - Adds a child document for block indexing
  • SolrInputDocument::addChildDocuments() - Adds an array of child documents
  • SolrInputDocument::getChildDocuments() - Returns an array of child documents (SolrInputDocument)
  • SolrInputDocument::getChildDocumentsCount() - Returns the number of child documents
SolrInputDocument::getFieldNames
SolrInputDocument::merge
SolrInputDocument


Merges one input document into another

SolrInputDocument::hasChildDocuments
SolrInputDocument::reset
SolrInputDocument
PHP Manual

SolrInputDocument::merge

(PECL solr >= 0.9.2)

SolrInputDocument::merge — Merges one input document into another

Beschreibung

public bool SolrInputDocument::merge ( SolrInputDocument $sourceDoc [, bool $overwrite = true ] )

Merges one input document into another.

Parameter-Liste

sourceDoc

The source document.

overwrite

If this is TRUE it will replace matching fields in the destination document.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. In the future, this will be modified to return the number of fields in the new document.

SolrInputDocument::hasChildDocuments
SolrInputDocument::reset
SolrInputDocument


This is an alias of SolrInputDocument::clear

SolrInputDocument::merge
SolrInputDocument::setBoost
SolrInputDocument
PHP Manual

SolrInputDocument::reset

(PECL solr >= 0.9.2)

SolrInputDocument::reset — This is an alias of SolrInputDocument::clear

Beschreibung

public bool SolrInputDocument::reset ( void )

This is an alias of SolrInputDocument::clear

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

SolrInputDocument::merge
SolrInputDocument::setBoost
SolrInputDocument


Sets the boost value for this document

SolrInputDocument::reset
SolrInputDocument::setFieldBoost
SolrInputDocument
PHP Manual

SolrInputDocument::setBoost

(PECL solr >= 0.9.2)

SolrInputDocument::setBoost — Sets the boost value for this document

Beschreibung

public bool SolrInputDocument::setBoost ( float $documentBoostValue )

Sets the boost value for this document.

Parameter-Liste

documentBoostValue

The index-time boost value for this document.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

SolrInputDocument::reset
SolrInputDocument::setFieldBoost
SolrInputDocument


Sets the index-time boost value for a field

SolrInputDocument::setBoost
SolrInputDocument::sort
SolrInputDocument
PHP Manual

SolrInputDocument::setFieldBoost

(PECL solr >= 0.9.2)

SolrInputDocument::setFieldBoost — Sets the index-time boost value for a field

Beschreibung

public bool SolrInputDocument::setFieldBoost ( string $fieldName , float $fieldBoostValue )

Sets the index-time boost value for a field. This replaces the current boost value for this field.

Parameter-Liste

fieldName

The name of the field.

fieldBoostValue

The index time boost value.

SolrInputDocument::setBoost
SolrInputDocument::sort
SolrInputDocument


Sorts the fields within the document

SolrInputDocument::setFieldBoost
SolrInputDocument::toArray
SolrInputDocument
PHP Manual

SolrInputDocument::sort

(PECL solr >= 0.9.2)

SolrInputDocument::sort — Sorts the fields within the document

Beschreibung

public bool SolrInputDocument::sort ( int $sortOrderBy [, int $sortDirection = SolrInputDocument::SORT_ASC ] )

The fields are rearranged according to the specified criteria and sort direction

   Fields can be sorted by boost values, field names and number of values.

   The $order_by parameter must be one of :

   * SolrInputDocument::SORT_FIELD_NAME
   * SolrInputDocument::SORT_FIELD_BOOST_VALUE
   * SolrInputDocument::SORT_FIELD_VALUE_COUNT

   The sort direction can be one of :

   * SolrInputDocument::SORT_DEFAULT
   * SolrInputDocument::SORT_ASC
   * SolrInputDocument::SORT_DESC

Parameter-Liste

sortOrderBy

The sort criteria

sortDirection

The sort direction

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

SolrInputDocument::setFieldBoost
SolrInputDocument::toArray
SolrInputDocument


Returns an array representation of the input document

SolrInputDocument::sort
SolrDocument
SolrInputDocument
PHP Manual

SolrInputDocument::toArray

(PECL solr >= 0.9.2)

SolrInputDocument::toArray — Returns an array representation of the input document

Beschreibung

public array SolrInputDocument::toArray ( void )

Returns an array representation of the input document.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array containing the fields. It returns FALSE on failure.

SolrInputDocument::sort
SolrDocument
SolrInputDocument


The SolrDocument class

(PECL solr >= 0.9.2)

Einführung

Represents a Solr document retrieved from a query response.

Klassenbeschreibung

final SolrDocument implements ArrayAccess , Iterator , Serializable {
/* Konstanten */
const integer SORT_DEFAULT = 1 ;
const integer SORT_ASC = 1 ;
const integer SORT_DESC = 2 ;
const integer SORT_FIELD_NAME = 1 ;
const integer SORT_FIELD_VALUE_COUNT = 2 ;
const integer SORT_FIELD_BOOST_VALUE = 4 ;
/* Methoden */
public bool addField ( string $fieldName , string $fieldValue )
public bool clear ( void )
public void __clone ( void )
public __construct ( void )
public SolrDocumentField current ( void )
public bool deleteField ( string $fieldName )
public void __destruct ( void )
public bool fieldExists ( string $fieldName )
public SolrDocumentField __get ( string $fieldName )
public array getChildDocuments ( void )
public integer getChildDocumentsCount ( void )
public SolrDocumentField getField ( string $fieldName )
public int getFieldCount ( void )
public array getFieldNames ( void )
public SolrInputDocument getInputDocument ( void )
public bool hasChildDocuments ( void )
public bool __isset ( string $fieldName )
public string key ( void )
public bool merge ( SolrDocument $sourceDoc [, bool $overwrite = true ] )
public void next ( void )
public bool offsetExists ( string $fieldName )
public SolrDocumentField offsetGet ( string $fieldName )
public void offsetSet ( string $fieldName , string $fieldValue )
public void offsetUnset ( string $fieldName )
public bool reset ( void )
public void rewind ( void )
public string serialize ( void )
public bool __set ( string $fieldName , string $fieldValue )
public bool sort ( int $sortOrderBy [, int $sortDirection = SolrDocument::SORT_ASC ] )
public array toArray ( void )
public void unserialize ( string $serialized )
public bool __unset ( string $fieldName )
public bool valid ( void )
}

Vordefinierte Konstanten

SolrDocument::SORT_DEFAULT

Default mode for sorting fields within the document.

SolrDocument::SORT_ASC

Sorts the fields in ascending order

SolrDocument::SORT_DESC

Sorts the fields in descending order

SolrDocument::SORT_FIELD_NAME

Sorts the fields by field name.

SolrDocument::SORT_FIELD_VALUE_COUNT

Sorts the fields by number of values in each field.

SolrDocument::SORT_FIELD_BOOST_VALUE

Sorts the fields by thier boost values.

Inhaltsverzeichnis

  • SolrDocument::addField — Adds a field to the document
  • SolrDocument::clear — Drops all the fields in the document
  • SolrDocument::__clone — Creates a copy of a SolrDocument object
  • SolrDocument::__construct — Constructor
  • SolrDocument::current — Retrieves the current field
  • SolrDocument::deleteField — Removes a field from the document
  • SolrDocument::__destruct — Destructor
  • SolrDocument::fieldExists — Checks if a field exists in the document
  • SolrDocument::__get — Access the field as a property
  • SolrDocument::getChildDocuments — Returns an array of child documents (SolrDocument)
  • SolrDocument::getChildDocumentsCount — Returns the number of child documents
  • SolrDocument::getField — Retrieves a field by name
  • SolrDocument::getFieldCount — Returns the number of fields in this document
  • SolrDocument::getFieldNames — Returns an array of fields names in the document
  • SolrDocument::getInputDocument — Returns a SolrInputDocument equivalent of the object
  • SolrDocument::hasChildDocuments — Checks whether the document has any child documents
  • SolrDocument::__isset — Checks if a field exists
  • SolrDocument::key — Retrieves the current key
  • SolrDocument::merge — Merges source to the current SolrDocument
  • SolrDocument::next — Moves the internal pointer to the next field
  • SolrDocument::offsetExists — Checks if a particular field exists
  • SolrDocument::offsetGet — Retrieves a field
  • SolrDocument::offsetSet — Adds a field to the document
  • SolrDocument::offsetUnset — Removes a field
  • SolrDocument::reset — This is an alias to SolrDocument::clear()
  • SolrDocument::rewind — Resets the internal pointer to the beginning
  • SolrDocument::serialize — Used for custom serialization
  • SolrDocument::__set — Adds another field to the document
  • SolrDocument::sort — Sorts the fields in the document
  • SolrDocument::toArray — Returns an array representation of the document
  • SolrDocument::unserialize — Custom serialization of SolrDocument objects
  • SolrDocument::__unset — Removes a field from the document
  • SolrDocument::valid — Checks if the current position internally is still valid
SolrInputDocument::toArray
SolrDocument::addField
Solr


Adds a field to the document

SolrDocument
SolrDocument::clear
SolrDocument
PHP Manual

SolrDocument::addField

(PECL solr >= 0.9.2)

SolrDocument::addField — Adds a field to the document

Beschreibung

public bool SolrDocument::addField ( string $fieldName , string $fieldValue )

This method adds a field to the SolrDocument instance.

Parameter-Liste

fieldName

The name of the field

fieldValue

The value of the field.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

SolrDocument
SolrDocument::clear
SolrDocument


Drops all the fields in the document

SolrDocument::addField
SolrDocument::__clone
SolrDocument
PHP Manual

SolrDocument::clear

(PECL solr >= 0.9.2)

SolrDocument::clear — Drops all the fields in the document

Beschreibung

public bool SolrDocument::clear ( void )

Resets the current object. Discards all the fields and resets the document boost to zero.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

SolrDocument::addField
SolrDocument::__clone
SolrDocument


Creates a copy of a SolrDocument object

SolrDocument::clear
SolrDocument::__construct
SolrDocument
PHP Manual

SolrDocument::__clone

(PECL solr >= 0.9.2)

SolrDocument::__clone — Creates a copy of a SolrDocument object

Beschreibung

public void SolrDocument::__clone ( void )

Creates a copy of a SolrDocument object. Not to be called directly.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

None.

SolrDocument::clear
SolrDocument::__construct
SolrDocument


Constructor

SolrDocument::__clone
SolrDocument::current
SolrDocument
PHP Manual

SolrDocument::__construct

(PECL solr >= 0.9.2)

SolrDocument::__construct — Constructor

Beschreibung

public SolrDocument::__construct ( void )

Constructor for SolrDocument

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

SolrDocument::__clone
SolrDocument::current
SolrDocument


Retrieves the current field

SolrDocument::__construct
SolrDocument::deleteField
SolrDocument
PHP Manual

SolrDocument::current

(PECL solr >= 0.9.2)

SolrDocument::current — Retrieves the current field

Beschreibung

public SolrDocumentField SolrDocument::current ( void )

Retrieves the current field

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the field

SolrDocument::__construct
SolrDocument::deleteField
SolrDocument


Removes a field from the document

SolrDocument::current
SolrDocument::__destruct
SolrDocument
PHP Manual

SolrDocument::deleteField

(PECL solr >= 0.9.2)

SolrDocument::deleteField — Removes a field from the document

Beschreibung

public bool SolrDocument::deleteField ( string $fieldName )

Removes a field from the document.

Parameter-Liste

fieldName

Name of the field

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

SolrDocument::current
SolrDocument::__destruct
SolrDocument


Destructor

SolrDocument::deleteField
SolrDocument::fieldExists
SolrDocument
PHP Manual

SolrDocument::__destruct

(PECL solr >= 0.9.2)

SolrDocument::__destruct — Destructor

Beschreibung

public void SolrDocument::__destruct ( void )

Destructor for SolrDocument.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

SolrDocument::deleteField
SolrDocument::fieldExists
SolrDocument


Checks if a field exists in the document

SolrDocument::__destruct
SolrDocument::__get
SolrDocument
PHP Manual

SolrDocument::fieldExists

(PECL solr >= 0.9.2)

SolrDocument::fieldExists — Checks if a field exists in the document

Beschreibung

public bool SolrDocument::fieldExists ( string $fieldName )

Checks if the requested field as a valid fieldname in the document.

Parameter-Liste

fieldName

The name of the field.

Rückgabewerte

Returns TRUE if the field is present and FALSE if it does not.

SolrDocument::__destruct
SolrDocument::__get
SolrDocument


Access the field as a property

SolrDocument::fieldExists
SolrDocument::getChildDocuments
SolrDocument
PHP Manual

SolrDocument::__get

(PECL solr >= 0.9.2)

SolrDocument::__get — Access the field as a property

Beschreibung

public SolrDocumentField SolrDocument::__get ( string $fieldName )

Magic method for accessing the field as a property.

Parameter-Liste

fieldName

The name of the field.

Rückgabewerte

Returns a SolrDocumentField instance.

SolrDocument::fieldExists
SolrDocument::getChildDocuments
SolrDocument


Returns an array of child documents (SolrDocument)

SolrDocument::__get
SolrDocument::getChildDocumentsCount
SolrDocument
PHP Manual

SolrDocument::getChildDocuments

(PECL solr >= 2.3.0)

SolrDocument::getChildDocuments — Returns an array of child documents (SolrDocument)

Beschreibung

public array SolrDocument::getChildDocuments ( void )

Returns an array of child documents (SolrDocument)

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Siehe auch

  • SolrDocument::hasChildDocuments() - Checks whether the document has any child documents
  • SolrDocument::getChildDocumentsCount() - Returns the number of child documents
SolrDocument::__get
SolrDocument::getChildDocumentsCount
SolrDocument


Returns the number of child documents

SolrDocument::getChildDocuments
SolrDocument::getField
SolrDocument
PHP Manual

SolrDocument::getChildDocumentsCount

(PECL solr >= 2.3.0)

SolrDocument::getChildDocumentsCount — Returns the number of child documents

Beschreibung

public integer SolrDocument::getChildDocumentsCount ( void )

Returns the number of child documents

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Siehe auch

  • SolrDocument::hasChildDocuments() - Checks whether the document has any child documents
  • SolrDocument::getChildDocuments() - Returns an array of child documents (SolrDocument)
SolrDocument::getChildDocuments
SolrDocument::getField
SolrDocument


Retrieves a field by name

SolrDocument::getChildDocumentsCount
SolrDocument::getFieldCount
SolrDocument
PHP Manual

SolrDocument::getField

(PECL solr >= 0.9.2)

SolrDocument::getField — Retrieves a field by name

Beschreibung

public SolrDocumentField SolrDocument::getField ( string $fieldName )

Retrieves a field by name.

Parameter-Liste

fieldName

Name of the field.

Rückgabewerte

Returns a SolrDocumentField on success and FALSE on failure.

SolrDocument::getChildDocumentsCount
SolrDocument::getFieldCount
SolrDocument


Returns the number of fields in this document

SolrDocument::getField
SolrDocument::getFieldNames
SolrDocument
PHP Manual

SolrDocument::getFieldCount

(PECL solr >= 0.9.2)

SolrDocument::getFieldCount — Returns the number of fields in this document

Beschreibung

public int SolrDocument::getFieldCount ( void )

Returns the number of fields in this document. Multi-value fields are only counted once.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an integer on success and FALSE on failure.

SolrDocument::getField
SolrDocument::getFieldNames
SolrDocument


Returns an array of fields names in the document

SolrDocument::getFieldCount
SolrDocument::getInputDocument
SolrDocument
PHP Manual

SolrDocument::getFieldNames

(PECL solr >= 0.9.2)

SolrDocument::getFieldNames — Returns an array of fields names in the document

Beschreibung

public array SolrDocument::getFieldNames ( void )

Returns an array of fields names in the document.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array containing the names of the fields in this document.

SolrDocument::getFieldCount
SolrDocument::getInputDocument
SolrDocument


Returns a SolrInputDocument equivalent of the object

SolrDocument::getFieldNames
SolrDocument::hasChildDocuments
SolrDocument
PHP Manual

SolrDocument::getInputDocument

(PECL solr >= 0.9.2)

SolrDocument::getInputDocument — Returns a SolrInputDocument equivalent of the object

Beschreibung

public SolrInputDocument SolrDocument::getInputDocument ( void )

Returns a SolrInputDocument equivalent of the object. This is useful if one wishes to resubmit/update a document retrieved from a query.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a SolrInputDocument on success and NULL on failure.

SolrDocument::getFieldNames
SolrDocument::hasChildDocuments
SolrDocument


Checks whether the document has any child documents

SolrDocument::getInputDocument
SolrDocument::__isset
SolrDocument
PHP Manual

SolrDocument::hasChildDocuments

(PECL solr >= 2.3.0)

SolrDocument::hasChildDocuments — Checks whether the document has any child documents

Beschreibung

public bool SolrDocument::hasChildDocuments ( void )

Checks whether the document has any child documents

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Siehe auch

  • SolrDocument::getChildDocuments() - Returns an array of child documents (SolrDocument)
  • SolrDocument::getChildDocumentsCount() - Returns the number of child documents
SolrDocument::getInputDocument
SolrDocument::__isset
SolrDocument


Checks if a field exists

SolrDocument::hasChildDocuments
SolrDocument::key
SolrDocument
PHP Manual

SolrDocument::__isset

(PECL solr >= 0.9.2)

SolrDocument::__isset — Checks if a field exists

Beschreibung

public bool SolrDocument::__isset ( string $fieldName )

Checks if a field exists

Parameter-Liste

fieldName

Name of the field.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

SolrDocument::hasChildDocuments
SolrDocument::key
SolrDocument


Retrieves the current key

SolrDocument::__isset
SolrDocument::merge
SolrDocument
PHP Manual

SolrDocument::key

(PECL solr >= 0.9.2)

SolrDocument::key — Retrieves the current key

Beschreibung

public string SolrDocument::key ( void )

Retrieves the current key.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current key.

SolrDocument::__isset
SolrDocument::merge
SolrDocument


Merges source to the current SolrDocument

SolrDocument::key
SolrDocument::next
SolrDocument
PHP Manual

SolrDocument::merge

(PECL solr >= 0.9.2)

SolrDocument::merge — Merges source to the current SolrDocument

Beschreibung

public bool SolrDocument::merge ( SolrDocument $sourceDoc [, bool $overwrite = true ] )

Merges source to the current SolrDocument.

Parameter-Liste

sourceDoc

The source document.

overwrite

If this is TRUE then fields with the same name in the destination document will be overwritten.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

SolrDocument::key
SolrDocument::next
SolrDocument


Moves the internal pointer to the next field

SolrDocument::merge
SolrDocument::offsetExists
SolrDocument
PHP Manual

SolrDocument::next

(PECL solr >= 0.9.2)

SolrDocument::next — Moves the internal pointer to the next field

Beschreibung

public void SolrDocument::next ( void )

Moves the internal pointer to the next field.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

This method has no return value.

SolrDocument::merge
SolrDocument::offsetExists
SolrDocument


Checks if a particular field exists

SolrDocument::next
SolrDocument::offsetGet
SolrDocument
PHP Manual

SolrDocument::offsetExists

(PECL solr >= 0.9.2)

SolrDocument::offsetExists — Checks if a particular field exists

Beschreibung

public bool SolrDocument::offsetExists ( string $fieldName )

Checks if a particular field exists. This is used when the object is treated as an array.

Parameter-Liste

fieldName

The name of the field.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

SolrDocument::next
SolrDocument::offsetGet
SolrDocument


Retrieves a field

SolrDocument::offsetExists
SolrDocument::offsetSet
SolrDocument
PHP Manual

SolrDocument::offsetGet

(PECL solr >= 0.9.2)

SolrDocument::offsetGet — Retrieves a field

Beschreibung

public SolrDocumentField SolrDocument::offsetGet ( string $fieldName )

This is used to retrieve the field when the object is treated as an array.

Parameter-Liste

fieldName

The name of the field.

Rückgabewerte

Returns a SolrDocumentField object.

SolrDocument::offsetExists
SolrDocument::offsetSet
SolrDocument


Adds a field to the document

SolrDocument::offsetGet
SolrDocument::offsetUnset
SolrDocument
PHP Manual

SolrDocument::offsetSet

(PECL solr >= 0.9.2)

SolrDocument::offsetSet — Adds a field to the document

Beschreibung

public void SolrDocument::offsetSet ( string $fieldName , string $fieldValue )

Used when the object is treated as an array to add a field to the document.

Parameter-Liste

fieldName

The name of the field.

fieldValue

The value for this field.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

SolrDocument::offsetGet
SolrDocument::offsetUnset
SolrDocument


Removes a field

SolrDocument::offsetSet
SolrDocument::reset
SolrDocument
PHP Manual

SolrDocument::offsetUnset

(PECL solr >= 0.9.2)

SolrDocument::offsetUnset — Removes a field

Beschreibung

public void SolrDocument::offsetUnset ( string $fieldName )

Removes a field from the document.

Parameter-Liste

fieldName

The name of the field.

Rückgabewerte

No return value.

SolrDocument::offsetSet
SolrDocument::reset
SolrDocument


This is an alias to SolrDocument::clear()

SolrDocument::offsetUnset
SolrDocument::rewind
SolrDocument
PHP Manual

SolrDocument::reset

(PECL solr >= 0.9.2)

SolrDocument::reset — This is an alias to SolrDocument::clear()

Beschreibung

public bool SolrDocument::reset ( void )

This is an alias to SolrDocument::clear()

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

SolrDocument::offsetUnset
SolrDocument::rewind
SolrDocument


Resets the internal pointer to the beginning

SolrDocument::reset
SolrDocument::serialize
SolrDocument
PHP Manual

SolrDocument::rewind

(PECL solr >= 0.9.2)

SolrDocument::rewind — Resets the internal pointer to the beginning

Beschreibung

public void SolrDocument::rewind ( void )

Resets the internal pointer to the beginning.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

This method has no return value.

SolrDocument::reset
SolrDocument::serialize
SolrDocument


Used for custom serialization

SolrDocument::rewind
SolrDocument::__set
SolrDocument
PHP Manual

SolrDocument::serialize

(PECL solr >= 0.9.2)

SolrDocument::serialize — Used for custom serialization

Beschreibung

public string SolrDocument::serialize ( void )

Used for custom serialization.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a string representing the serialized Solr document.

SolrDocument::rewind
SolrDocument::__set
SolrDocument


Adds another field to the document

SolrDocument::serialize
SolrDocument::sort
SolrDocument
PHP Manual

SolrDocument::__set

(PECL solr >= 0.9.2)

SolrDocument::__set — Adds another field to the document

Beschreibung

public bool SolrDocument::__set ( string $fieldName , string $fieldValue )

Adds another field to the document. Used to set the fields as new properties.

Parameter-Liste

fieldName

Name of the field.

fieldValue

Field value.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

SolrDocument::serialize
SolrDocument::sort
SolrDocument


Sorts the fields in the document

SolrDocument::__set
SolrDocument::toArray
SolrDocument
PHP Manual

SolrDocument::sort

(PECL solr >= 0.9.2)

SolrDocument::sort — Sorts the fields in the document

Beschreibung

public bool SolrDocument::sort ( int $sortOrderBy [, int $sortDirection = SolrDocument::SORT_ASC ] )

The fields are rearranged according to the specified criteria and sort direction

   Fields can be sorted by boost values, field names and number of values.

   The sortOrderBy parameter must be one of :

   * SolrDocument::SORT_FIELD_NAME
   * SolrDocument::SORT_FIELD_BOOST_VALUE
   * SolrDocument::SORT_FIELD_VALUE_COUNT

   The sortDirection can be one of :

   * SolrDocument::SORT_DEFAULT
   * SolrDocument::SORT_ASC
   * SolrDocument::SORT_DESC

   The default way is to sort in ascending order.

Parameter-Liste

sortOrderBy

The sort criteria.

sortDirection

The sort direction.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

SolrDocument::__set
SolrDocument::toArray
SolrDocument


Returns an array representation of the document

SolrDocument::sort
SolrDocument::unserialize
SolrDocument
PHP Manual

SolrDocument::toArray

(PECL solr >= 0.9.2)

SolrDocument::toArray — Returns an array representation of the document

Beschreibung

public array SolrDocument::toArray ( void )

Returns an array representation of the document.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array representation of the document.

Beispiele

Beispiel #1 SolrDocument::toArray() example

<?php

$doc = new SolrDocument();

$doc->addField('id', 1123);

$doc->features = "PHP Client Side";
$doc->features = "Fast development cycles";

$doc['cat'] = 'Software';
$doc['cat'] = 'Custom Search';
$doc->cat   = 'Information Technology';

print_r($doc->toArray());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [document_boost] => 0
    [field_count] => 3
    [fields] => Array
        (
            [0] => SolrDocumentField Object
                (
                    [name] => id
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => 1123
                        )

                )

            [1] => SolrDocumentField Object
                (
                    [name] => features
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => PHP Client Side
                            [1] => Fast development cycles
                        )

                )

            [2] => SolrDocumentField Object
                (
                    [name] => cat
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => Software
                            [1] => Custom Search
                            [2] => Information Technology
                        )

                )

        )

)

SolrDocument::sort
SolrDocument::unserialize
SolrDocument


Custom serialization of SolrDocument objects

SolrDocument::toArray
SolrDocument::__unset
SolrDocument
PHP Manual

SolrDocument::unserialize

(PECL solr >= 0.9.2)

SolrDocument::unserialize — Custom serialization of SolrDocument objects

Beschreibung

public void SolrDocument::unserialize ( string $serialized )

Custom serialization of SolrDocument objects

Parameter-Liste

serialized

An XML representation of the document.

Rückgabewerte

None.

SolrDocument::toArray
SolrDocument::__unset
SolrDocument


Removes a field from the document

SolrDocument::unserialize
SolrDocument::valid
SolrDocument
PHP Manual

SolrDocument::__unset

(PECL solr >= 0.9.2)

SolrDocument::__unset — Removes a field from the document

Beschreibung

public bool SolrDocument::__unset ( string $fieldName )

Removes a field from the document when the field is access as an object property.

Parameter-Liste

fieldName

The name of the field.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

SolrDocument::unserialize
SolrDocument::valid
SolrDocument


Checks if the current position internally is still valid

SolrDocument::__unset
SolrDocumentField
SolrDocument
PHP Manual

SolrDocument::valid

(PECL solr >= 0.9.2)

SolrDocument::valid — Checks if the current position internally is still valid

Beschreibung

public bool SolrDocument::valid ( void )

Checks if the current position internally is still valid. It is used during foreach operations.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE on success and FALSE if the current position is no longer valid.

SolrDocument::__unset
SolrDocumentField
SolrDocument


The SolrDocumentField class

(PECL solr >= 0.9.2)

Einführung

This represents a field in a Solr document. All its properties are read-only.

Klassenbeschreibung

final SolrDocumentField {
/* Eigenschaften */
readonly public string $name ;
readonly public float $boost ;
readonly public array $values ;
/* Methoden */
public __construct ( void )
public void __destruct ( void )
}

Eigenschaften

name

The name of the field.

boost

The boost value for the field

values

An array of values for this field

Inhaltsverzeichnis

  • SolrDocumentField::__construct — Constructor
  • SolrDocumentField::__destruct — Destructor
SolrDocument::valid
SolrDocumentField::__construct
Solr


Constructor

SolrDocumentField
SolrDocumentField::__destruct
SolrDocumentField
PHP Manual

SolrDocumentField::__construct

(PECL solr >= 0.9.2)

SolrDocumentField::__construct — Constructor

Beschreibung

public SolrDocumentField::__construct ( void )

Constructor.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

None.

SolrDocumentField
SolrDocumentField::__destruct
SolrDocumentField


Destructor

SolrDocumentField::__construct
SolrObject
SolrDocumentField
PHP Manual

SolrDocumentField::__destruct

(PECL solr >= 0.9.2)

SolrDocumentField::__destruct — Destructor

Beschreibung

public void SolrDocumentField::__destruct ( void )

Destructor.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

None.

SolrDocumentField::__construct
SolrObject
SolrDocumentField


The SolrObject class

(PECL solr >= 0.9.2)

Einführung

This is an object whose properties can also by accessed using the array syntax. All its properties are read-only.

Klassenbeschreibung

final SolrObject implements ArrayAccess {
/* Methoden */
public __construct ( void )
public void __destruct ( void )
public array getPropertyNames ( void )
public bool offsetExists ( string $property_name )
public mixed offsetGet ( string $property_name )
public void offsetSet ( string $property_name , string $property_value )
public void offsetUnset ( string $property_name )
}

Inhaltsverzeichnis

  • SolrObject::__construct — Creates Solr object
  • SolrObject::__destruct — Destructor
  • SolrObject::getPropertyNames — Returns an array of all the names of the properties
  • SolrObject::offsetExists — Checks if the property exists
  • SolrObject::offsetGet — Used to retrieve a property
  • SolrObject::offsetSet — Sets the value for a property
  • SolrObject::offsetUnset — Unsets the value for the property
SolrDocumentField::__destruct
SolrObject::__construct
Solr


Creates Solr object

SolrObject
SolrObject::__destruct
SolrObject
PHP Manual

SolrObject::__construct

(PECL solr >= 0.9.2)

SolrObject::__construct — Creates Solr object

Beschreibung

public SolrObject::__construct ( void )

Creates Solr object.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

None

Beispiele

Beispiel #1 SolrObject::__construct() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

SolrObject
SolrObject::__destruct
SolrObject


Destructor

SolrObject::__construct
SolrObject::getPropertyNames
SolrObject
PHP Manual

SolrObject::__destruct

(PECL solr >= 0.9.2)

SolrObject::__destruct — Destructor

Beschreibung

public void SolrObject::__destruct ( void )

The destructor

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

None.

SolrObject::__construct
SolrObject::getPropertyNames
SolrObject


Returns an array of all the names of the properties

SolrObject::__destruct
SolrObject::offsetExists
SolrObject
PHP Manual

SolrObject::getPropertyNames

(PECL solr >= 0.9.2)

SolrObject::getPropertyNames — Returns an array of all the names of the properties

Beschreibung

public array SolrObject::getPropertyNames ( void )

Returns an array of all the names of the properties

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array.

SolrObject::__destruct
SolrObject::offsetExists
SolrObject


Checks if the property exists

SolrObject::getPropertyNames
SolrObject::offsetGet
SolrObject
PHP Manual

SolrObject::offsetExists

(PECL solr >= 0.9.2)

SolrObject::offsetExists — Checks if the property exists

Beschreibung

public bool SolrObject::offsetExists ( string $property_name )

Checks if the property exists. This is used when the object is treated as an array.

Parameter-Liste

property_name

The name of the property.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

SolrObject::getPropertyNames
SolrObject::offsetGet
SolrObject


Used to retrieve a property

SolrObject::offsetExists
SolrObject::offsetSet
SolrObject
PHP Manual

SolrObject::offsetGet

(PECL solr >= 0.9.2)

SolrObject::offsetGet — Used to retrieve a property

Beschreibung

public mixed SolrObject::offsetGet ( string $property_name )

Used to get the value of a property. This is used when the object is treated as an array.

Parameter-Liste

property_name

Name of the property.

Rückgabewerte

Returns the property value.

SolrObject::offsetExists
SolrObject::offsetSet
SolrObject


Sets the value for a property

SolrObject::offsetGet
SolrObject::offsetUnset
SolrObject
PHP Manual

SolrObject::offsetSet

(PECL solr >= 0.9.2)

SolrObject::offsetSet — Sets the value for a property

Beschreibung

public void SolrObject::offsetSet ( string $property_name , string $property_value )

Sets the value for a property. This is used when the object is treated as an array. This object is read-only. This should never be attempted.

Parameter-Liste

property_name

The name of the property.

property_value

The new value.

Rückgabewerte

None.

SolrObject::offsetGet
SolrObject::offsetUnset
SolrObject


Unsets the value for the property

SolrObject::offsetSet
SolrClient
SolrObject
PHP Manual

SolrObject::offsetUnset

(PECL solr >= 0.9.2)

SolrObject::offsetUnset — Unsets the value for the property

Beschreibung

public void SolrObject::offsetUnset ( string $property_name )

Unsets the value for the property. This is used when the object is treated as an array. This object is read-only. This should never be attempted.

Parameter-Liste

property_name

The name of the property.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 SolrObject::offsetUnset() example

<?php
/* ... */
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

  • Classname::Method()

SolrObject::offsetSet
SolrClient
SolrObject


The SolrClient class

(PECL solr >= 0.9.2)

Einführung

Used to send requests to a Solr server. Currently, cloning and serialization of SolrClient instances is not supported.

Klassenbeschreibung

final SolrClient {
/* Konstanten */
const integer SEARCH_SERVLET_TYPE = 1 ;
const integer UPDATE_SERVLET_TYPE = 2 ;
const integer THREADS_SERVLET_TYPE = 4 ;
const integer PING_SERVLET_TYPE = 8 ;
const integer TERMS_SERVLET_TYPE = 16 ;
const integer SYSTEM_SERVLET_TYPE = 32 ;
const string DEFAULT_SEARCH_SERVLET = select ;
const string DEFAULT_UPDATE_SERVLET = update ;
const string DEFAULT_THREADS_SERVLET = admin/threads ;
const string DEFAULT_PING_SERVLET = admin/ping ;
const string DEFAULT_TERMS_SERVLET = terms ;
const string DEFAULT_SYSTEM_SERVLET = admin/system ;
/* Methoden */
public SolrUpdateResponse addDocument ( SolrInputDocument $doc [, bool $overwrite = true [, int $commitWithin = 0 ]] )
public void addDocuments ( array $docs [, bool $overwrite = true [, int $commitWithin = 0 ]] )
public SolrUpdateResponse commit ([ bool $softCommit = false [, bool $waitSearcher = true [, bool $expungeDeletes = false ]]] )
public __construct ( array $clientOptions )
public SolrUpdateResponse deleteById ( string $id )
public SolrUpdateResponse deleteByIds ( array $ids )
public SolrUpdateResponse deleteByQueries ( array $queries )
public SolrUpdateResponse deleteByQuery ( string $query )
public void __destruct ( void )
public SolrQueryResponse getById ( string $id )
public SolrQueryResponse getByIds ( array $ids )
public string getDebug ( void )
public array getOptions ( void )
public SolrUpdateResponse optimize ([ int $maxSegments = 1 [, bool $softCommit = true [, bool $waitSearcher = true ]]] )
public SolrPingResponse ping ( void )
public SolrQueryResponse query ( SolrParams $query )
public SolrUpdateResponse request ( string $raw_request )
public SolrUpdateResponse rollback ( void )
public void setResponseWriter ( string $responseWriter )
public bool setServlet ( int $type , string $value )
public void system ( void )
public void threads ( void )
}

Vordefinierte Konstanten

SolrClient::SEARCH_SERVLET_TYPE

Used when updating the search servlet.

SolrClient::UPDATE_SERVLET_TYPE

Used when updating the update servlet.

SolrClient::THREADS_SERVLET_TYPE

Used when updating the threads servlet.

SolrClient::PING_SERVLET_TYPE

Used when updating the ping servlet.

SolrClient::TERMS_SERVLET_TYPE

Used when updating the terms servlet.

SolrClient::SYSTEM_SERVLET_TYPE

Used when retrieving system information from the system servlet.

SolrClient::DEFAULT_SEARCH_SERVLET

This is the intial value for the search servlet.

SolrClient::DEFAULT_UPDATE_SERVLET

This is the intial value for the update servlet.

SolrClient::DEFAULT_THREADS_SERVLET

This is the intial value for the threads servlet.

SolrClient::DEFAULT_PING_SERVLET

This is the intial value for the ping servlet.

SolrClient::DEFAULT_TERMS_SERVLET

This is the intial value for the terms servlet used for the TermsComponent

SolrClient::DEFAULT_SYSTEM_SERVLET

This is the intial value for the system servlet used to obtain Solr Server information

Inhaltsverzeichnis

  • SolrClient::addDocument — Adds a document to the index
  • SolrClient::addDocuments — Adds a collection of SolrInputDocument instances to the index
  • SolrClient::commit — Finalizes all add/deletes made to the index
  • SolrClient::__construct — Constructor for the SolrClient object
  • SolrClient::deleteById — Delete by Id
  • SolrClient::deleteByIds — Deletes by Ids
  • SolrClient::deleteByQueries — Removes all documents matching any of the queries
  • SolrClient::deleteByQuery — Deletes all documents matching the given query
  • SolrClient::__destruct — Destructor for SolrClient
  • SolrClient::getById — Get Document By Id. Utilizes Solr Realtime Get (RTG).
  • SolrClient::getByIds — Get Documents by their Ids. Utilizes Solr Realtime Get (RTG).
  • SolrClient::getDebug — Returns the debug data for the last connection attempt
  • SolrClient::getOptions — Returns the client options set internally
  • SolrClient::optimize — Defragments the index
  • SolrClient::ping — Checks if Solr server is still up
  • SolrClient::query — Sends a query to the server
  • SolrClient::request — Sends a raw update request
  • SolrClient::rollback — Rollbacks all add/deletes made to the index since the last commit
  • SolrClient::setResponseWriter — Sets the response writer used to prepare the response from Solr
  • SolrClient::setServlet — Changes the specified servlet type to a new value
  • SolrClient::system — Retrieve Solr Server information
  • SolrClient::threads — Checks the threads status
SolrObject::offsetUnset
SolrClient::addDocument
Solr


Adds a document to the index

SolrClient
SolrClient::addDocuments
SolrClient
PHP Manual

SolrClient::addDocument

(PECL solr >= 0.9.2)

SolrClient::addDocument — Adds a document to the index

Beschreibung

public SolrUpdateResponse SolrClient::addDocument ( SolrInputDocument $doc [, bool $overwrite = true [, int $commitWithin = 0 ]] )

This method adds a document to the index.

Parameter-Liste

doc

The SolrInputDocument instance.

overwrite

Whether to overwrite existing document or not. If FALSE there will be duplicates (several documents with the same ID).

Warnung

PECL Solr < 2.0 $allowDups was used instead of $overwrite, which does the same functionality with exact opposite bool flag.

$allowDups = false is the same as $overwrite = true

commitWithin

Number of milliseconds within which to auto commit this document. Available since Solr 1.4 . Default (0) means disabled.

When this value specified, it leaves the control of when to do the commit to Solr itself, optimizing number of commits to a minimum while still fulfilling the update latency requirements, and Solr will automatically do a commit when the oldest add in the buffer is due.

Rückgabewerte

Returns a SolrUpdateResponse object or throws an Exception on failure.

Fehler/Exceptions

Throws SolrClientException if the client had failed, or there was a connection issue.

Throws SolrServerException if the Solr Server had failed to process the request.

Beispiele

Beispiel #1 SolrClient::addDocument() example

<?php

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$doc = new SolrInputDocument();

$doc->addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');

$updateResponse = $client->addDocument($doc);

// you will have to commit changes to be written if you didn't use $commitWithin
$client->commit();

print_r($updateResponse->getResponse());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 1
        )

)

Beispiel #2 SolrClient::addDocument() example 2

<?php

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$doc = new SolrInputDocument();

$doc->addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');

// No need to call commit() because $commitWithin is passed, so Solr Server will auto commit within 10 seconds
$updateResponse = $client->addDocument($doc, false, 10000);

print_r($updateResponse->getResponse());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 1
        )

)

Siehe auch

  • SolrClient::addDocuments() - Adds a collection of SolrInputDocument instances to the index
  • SolrClient::commit() - Finalizes all add/deletes made to the index

SolrClient
SolrClient::addDocuments
SolrClient


Adds a collection of SolrInputDocument instances to the index

SolrClient::addDocument
SolrClient::commit
SolrClient
PHP Manual

SolrClient::addDocuments

(PECL solr >= 0.9.2)

SolrClient::addDocuments — Adds a collection of SolrInputDocument instances to the index

Beschreibung

public void SolrClient::addDocuments ( array $docs [, bool $overwrite = true [, int $commitWithin = 0 ]] )

Adds a collection of documents to the index.

Parameter-Liste

docs

An array containing the collection of SolrInputDocument instances. This array must be an actual variable.

overwrite

Whether to overwrite existing documents or not. If FALSE there will be duplicates (several documents with the same ID).

Warnung

PECL Solr < 2.0 $allowDups was used instead of $overwrite, which does the same functionality with exact opposite bool flag.

$allowDups = false is the same as $overwrite = true

commitWithin

Number of milliseconds within which to auto commit this document. Available since Solr 1.4 . Default (0) means disabled.

When this value specified, it leaves the control of when to do the commit to Solr itself, optimizing number of commits to a minimum while still fulfilling the update latency requirements, and Solr will automatically do a commit when the oldest add in the buffer is due.

Rückgabewerte

Returns a SolrUpdateResponse object or throws an exception on failure.

Fehler/Exceptions

Throws SolrClientException if the client had failed, or there was a connection issue.

Throws SolrServerException if the Solr Server had failed to process the request.

Beispiele

Beispiel #1 SolrClient::addDocuments() example

<?php

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$doc = new SolrInputDocument();

$doc->addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');

$doc2 = clone $doc;

$doc2->deleteField('id');
$doc2->addField('id', 334456);

$docs = array($doc, $doc2);

$updateResponse = $client->addDocuments($docs);

// no changes will be written to disk unless $commitWithin is passed or SolrClient::commit is called

print_r($updateResponse->getResponse());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 2
        )

)

Siehe auch

  • SolrClient::addDocument() - Adds a document to the index
  • SolrClient::commit() - Finalizes all add/deletes made to the index

SolrClient::addDocument
SolrClient::commit
SolrClient


Finalizes all add/deletes made to the index

SolrClient::addDocuments
SolrClient::__construct
SolrClient
PHP Manual

SolrClient::commit

(PECL solr >= 0.9.2)

SolrClient::commit — Finalizes all add/deletes made to the index

Beschreibung

public SolrUpdateResponse SolrClient::commit ([ bool $softCommit = false [, bool $waitSearcher = true [, bool $expungeDeletes = false ]]] )

This method finalizes all add/deletes made to the index.

Parameter-Liste

softCommit

This will refresh the 'view' of the index in a more performant manner, but without "on-disk" guarantees. (Solr4.0+)

A soft commit is much faster since it only makes index changes visible and does not fsync index files or write a new index descriptor. If the JVM crashes or there is a loss of power, changes that occurred after the last hard commit will be lost. Search collections that have near-real-time requirements (that want index changes to be quickly visible to searches) will want to soft commit often but hard commit less frequently.

waitSearcher

block until a new searcher is opened and registered as the main query searcher, making the changes visible.

expungeDeletes

Merge segments with deletes away. (Solr1.4+)

Rückgabewerte

Returns a SolrUpdateResponse object on success or throws an exception on failure.

Fehler/Exceptions

Throws SolrClientException if the client had failed, or there was a connection issue.

Throws SolrServerException if the Solr Server had failed to process the request.

Changelog

Version | Beschreibung
1.1.0, 2.0.0 | $maxSegments removed
2.0.0b | API Changed: SolrClient::commit ([ int $maxSegments = 0 [, bool $softCommit = false [, bool $waitSearcher = true[, bool $expungeDeletes = false ]]] )
0.9.2 | Signature: SolrClient::commit ([ int $maxSegments = 1 [, bool $waitFlush = true [, bool $waitSearcher = true ]]] ). $waitFlush: Block until index changes are flushed to disk.

Anmerkungen

Warnung

PECL Solr >= 2.0 only supports Solr Server >= 4.0

Siehe auch

  • SolrClient::optimize() - Defragments the index
  • SolrClient::rollback() - Rollbacks all add/deletes made to the index since the last commit

SolrClient::addDocuments
SolrClient::__construct
SolrClient


Constructor for the SolrClient object

SolrClient::commit
SolrClient::deleteById
SolrClient
PHP Manual

SolrClient::__construct

(PECL solr >= 0.9.2)

SolrClient::__construct — Constructor for the SolrClient object

Beschreibung

public SolrClient::__construct ( array $clientOptions )

Constructor for the SolrClient object

Parameter-Liste

clientOptions

This is an array containing one of the following keys :

- secure          (Boolean value indicating whether or not to connect in secure mode)
 - hostname        (The hostname for the Solr server)
 - port            (The port number)
 - path            (The path to solr)
 - wt              (The name of the response writer e.g. xml, json)
 - login           (The username used for HTTP Authentication, if any)
 - password        (The HTTP Authentication password)
 - proxy_host      (The hostname for the proxy server, if any)
 - proxy_port      (The proxy port)
 - proxy_login     (The proxy username)
 - proxy_password  (The proxy password)
 - timeout         (This is maximum time in seconds allowed for the http data transfer operation. Default is 30 seconds)
 - ssl_cert        (File name to a PEM-formatted file containing the private key + private certificate (concatenated in that order) )
 - ssl_key         (File name to a PEM-formatted private key file only)
 - ssl_keypassword (Password for private key)
 - ssl_cainfo      (Name of file holding one or more CA certificates to verify peer with)
 - ssl_capath      (Name of directory holding multiple CA certificates to verify peer with )

 Please note the if the ssl_cert file only contains the private certificate, you have to specify a separate ssl_key file

 The ssl_keypassword option is required if the ssl_cert or ssl_key options are set.

Fehler/Exceptions

Throws SolrIllegalArgumentException on failure.

Beispiele

Beispiel #1 SolrClient::__construct() example

<?php

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
    'path'     => SOLR_PATH_TO_SOLR,
    'wt'       => 'xml',
);

$client = new SolrClient($options);

$doc = new SolrInputDocument();

$doc->addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');

$updateResponse = $client->addDocument($doc);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Siehe auch

  • SolrClient::getOptions() - Returns the client options set internally

SolrClient::commit
SolrClient::deleteById
SolrClient


Delete by Id

SolrClient::__construct
SolrClient::deleteByIds
SolrClient
PHP Manual

SolrClient::deleteById

(PECL solr >= 0.9.2)

SolrClient::deleteById — Delete by Id

Beschreibung

public SolrUpdateResponse SolrClient::deleteById ( string $id )

Deletes the document with the specified ID. Where ID is the value of the uniqueKey field declared in the schema

Parameter-Liste

id

The value of the uniqueKey field declared in the schema

Rückgabewerte

Returns a SolrUpdateResponse on success and throws an exception on failure.

Fehler/Exceptions

Throws SolrClientException if the client had failed, or there was a connection issue.

Throws SolrServerException if the Solr Server had failed to process the request.

Siehe auch

  • SolrClient::deleteByIds() - Deletes by Ids
  • SolrClient::deleteByQuery() - Deletes all documents matching the given query
  • SolrClient::deleteByQueries() - Removes all documents matching any of the queries

SolrClient::__construct
SolrClient::deleteByIds
SolrClient


Deletes by Ids

SolrClient::deleteById
SolrClient::deleteByQueries
SolrClient
PHP Manual

SolrClient::deleteByIds

(PECL solr >= 0.9.2)

SolrClient::deleteByIds — Deletes by Ids

Beschreibung

public SolrUpdateResponse SolrClient::deleteByIds ( array $ids )

Deletes a collection of documents with the specified set of ids.

Parameter-Liste

ids

An array of IDs representing the uniqueKey field declared in the schema for each document to be deleted. This must be an actual php variable.

Rückgabewerte

Returns a SolrUpdateResponse on success and throws an exception on failure.

Fehler/Exceptions

Throws SolrClientException if the client had failed, or there was a connection issue.

Throws SolrServerException if the Solr Server had failed to process the request.

Siehe auch

  • SolrClient::deleteById() - Delete by Id
  • SolrClient::deleteByQuery() - Deletes all documents matching the given query
  • SolrClient::deleteByQueries() - Removes all documents matching any of the queries

SolrClient::deleteById
SolrClient::deleteByQueries
SolrClient


Removes all documents matching any of the queries

SolrClient::deleteByIds
SolrClient::deleteByQuery
SolrClient
PHP Manual

SolrClient::deleteByQueries

(PECL solr >= 0.9.2)

SolrClient::deleteByQueries — Removes all documents matching any of the queries

Beschreibung

public SolrUpdateResponse SolrClient::deleteByQueries ( array $queries )

Removes all documents matching any of the queries

Parameter-Liste

queries

The array of queries. This must be an actual php variable.

Rückgabewerte

Returns a SolrUpdateResponse on success and throws a SolrClientException on failure.

Fehler/Exceptions

Throws SolrClientException if the client had failed, or there was a connection issue.

Throws SolrServerException if the Solr Server had failed to process the request.

Siehe auch

  • SolrClient::deleteById() - Delete by Id
  • SolrClient::deleteByIds() - Deletes by Ids
  • SolrClient::deleteByQuery() - Deletes all documents matching the given query

SolrClient::deleteByIds
SolrClient::deleteByQuery
SolrClient


Deletes all documents matching the given query

SolrClient::deleteByQueries
SolrClient::__destruct
SolrClient
PHP Manual

SolrClient::deleteByQuery

(PECL solr >= 0.9.2)

SolrClient::deleteByQuery — Deletes all documents matching the given query

Beschreibung

public SolrUpdateResponse SolrClient::deleteByQuery ( string $query )

Deletes all documents matching the given query.

Parameter-Liste

query

The query

Rückgabewerte

Returns a SolrUpdateResponse on success and throws an exception on failure.

Fehler/Exceptions

Throws SolrClientException if the client had failed, or there was a connection issue.

Throws SolrServerException if the Solr Server had failed to process the request.

Beispiele

Beispiel #1 SolrQuery::deleteByQuery() example

<?php

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

//This will erase the entire index
$client->deleteByQuery("*:*");
$client->commit();

?>

Siehe auch

  • SolrClient::deleteById() - Delete by Id
  • SolrClient::deleteByIds() - Deletes by Ids
  • SolrClient::deleteByQueries() - Removes all documents matching any of the queries

SolrClient::deleteByQueries
SolrClient::__destruct
SolrClient


Destructor for SolrClient

SolrClient::deleteByQuery
SolrClient::getById
SolrClient
PHP Manual

SolrClient::__destruct

(PECL solr >= 0.9.2)

SolrClient::__destruct — Destructor for SolrClient

Beschreibung

public void SolrClient::__destruct ( void )

Destructor

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Destructor for SolrClient

Siehe auch

  • SolrClient::__construct() - Constructor for the SolrClient object

SolrClient::deleteByQuery
SolrClient::getById
SolrClient


Get Document By Id. Utilizes Solr Realtime Get (RTG).

SolrClient::__destruct
SolrClient::getByIds
SolrClient
PHP Manual

SolrClient::getById

(PECL solr >= 2.2.0)

SolrClient::getById — Get Document By Id. Utilizes Solr Realtime Get (RTG).

Beschreibung

public SolrQueryResponse SolrClient::getById ( string $id )

Get Document By Id. Utilizes Solr Realtime Get (RTG).

Parameter-Liste

id

Document ID

Rückgabewerte

SolrQueryResponse

Beispiele

Beispiel #1 SolrClient::getById() example

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
    'path'     => SOLR_SERVER_PATH
);

$client = new SolrClient($options);
$response = $client->getById('GB18030TEST');
print_r($response->getResponse());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

SolrObject Object
(
    [doc] => SolrObject Object
        (
            [id] => GB18030TEST
            [name] => Array
                (
                    [0] => Test with some GB18030 encoded characters
                )

            [features] => Array
                (
                    [0] => No accents here
                    [1] => ??????
                    [2] => This is a feature (translated)
                    [3] => ?????????
                    [4] => This document is very shiny (translated)
                )

            [price] => Array
                (
                    [0] => 0
                )

            [inStock] => Array
                (
                    [0] => 1
                )

            [_version_] => 1510294336239042560
        )

)

Siehe auch

  • SolrClient::getByIds() - Get Documents by their Ids. Utilizes Solr Realtime Get (RTG).
SolrClient::__destruct
SolrClient::getByIds
SolrClient


Get Documents by their Ids. Utilizes Solr Realtime Get (RTG).

SolrClient::getById
SolrClient::getDebug
SolrClient
PHP Manual

SolrClient::getByIds

(PECL solr >= 2.2.0)

SolrClient::getByIds — Get Documents by their Ids. Utilizes Solr Realtime Get (RTG).

Beschreibung

public SolrQueryResponse SolrClient::getByIds ( array $ids )

Get Documents by their Ids. Utilizes Solr Realtime Get (RTG).

Parameter-Liste

ids

Document ids

Rückgabewerte

SolrQueryResponse

Beispiele

Beispiel #1 SolrClient::getByIds() example

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
    'path'     => SOLR_SERVER_PATH
);

$client = new SolrClient($options);
$response = $client->getByIds(['GB18030TEST', '6H500F0']);

print_r($response->getResponse());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

SolrObject Object
(
    [response] => SolrObject Object
        (
            [numFound] => 2
            [start] => 0
            [docs] => Array
                (
                    [0] => SolrObject Object
                        (
                            [id] => GB18030TEST
                            [name] => Array
                                (
                                    [0] => Test with some GB18030 encoded characters
                                )

                            [features] => Array
                                (
                                    [0] => No accents here
                                    [1] => ??????
                                    [2] => This is a feature (translated)
                                    [3] => ?????????
                                    [4] => This document is very shiny (translated)
                                )

                            [price] => Array
                                (
                                    [0] => 0
                                )

                            [inStock] => Array
                                (
                                    [0] => 1
                                )

                            [_version_] => 1510294336239042560
                        )

                    [1] => SolrObject Object
                        (
                            [id] => 6H500F0
                            [name] => Array
                                (
                                    [0] => Maxtor DiamondMax 11 - hard drive - 500 GB - SATA-300
                                )

                            [manu] => Array
                                (
                                    [0] => Maxtor Corp.
                                )

                            [manu_id_s] => maxtor
                            [cat] => Array
                                (
                                    [0] => electronics
                                    [1] => hard drive
                                )

                            [features] => Array
                                (
                                    [0] => SATA 3.0Gb/s, NCQ
                                    [1] => 8.5ms seek
                                    [2] => 16MB cache
                                )

                            [price] => Array
                                (
                                    [0] => 350
                                )

                            [popularity] => Array
                                (
                                    [0] => 6
                                )

                            [inStock] => Array
                                (
                                    [0] => 1
                                )

                            [store] => Array
                                (
                                    [0] => 45.17614,-93.87341
                                )

                            [manufacturedate_dt] => 2006-02-13T15:26:37Z
                            [_version_] => 1510294336449806336
                        )

                )

        )

)

Siehe auch

  • SolrClient::getById() - Get Document By Id. Utilizes Solr Realtime Get (RTG).
SolrClient::getById
SolrClient::getDebug
SolrClient


Returns the debug data for the last connection attempt

SolrClient::getByIds
SolrClient::getOptions
SolrClient
PHP Manual

SolrClient::getDebug

(PECL solr >= 0.9.7)

SolrClient::getDebug — Returns the debug data for the last connection attempt

Beschreibung

public string SolrClient::getDebug ( void )

Returns the debug data for the last connection attempt

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a string on success and null if there is nothing to return.

SolrClient::getByIds
SolrClient::getOptions
SolrClient


Returns the client options set internally

SolrClient::getDebug
SolrClient::optimize
SolrClient
PHP Manual

SolrClient::getOptions

(PECL solr >= 0.9.6)

SolrClient::getOptions — Returns the client options set internally

Beschreibung

public array SolrClient::getOptions ( void )

Returns the client options set internally. Very useful for debugging. The values returned are readonly and can only be set when the object is instantiated.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array containing all the options for the SolrClient object set internally.

Siehe auch

  • SolrClient::__construct() - Constructor for the SolrClient object

SolrClient::getDebug
SolrClient::optimize
SolrClient


Defragments the index

SolrClient::getOptions
SolrClient::ping
SolrClient
PHP Manual

SolrClient::optimize

(PECL solr >= 0.9.2)

SolrClient::optimize — Defragments the index

Beschreibung

public SolrUpdateResponse SolrClient::optimize ([ int $maxSegments = 1 [, bool $softCommit = true [, bool $waitSearcher = true ]]] )

Defragments the index for faster search performance.

Parameter-Liste

maxSegments

Optimizes down to at most this number of segments. Since Solr 1.3

softCommit

This will refresh the 'view' of the index in a more performant manner, but without "on-disk" guarantees. (Solr4.0+)

waitSearcher

Block until a new searcher is opened and registered as the main query searcher, making the changes visible.

Rückgabewerte

Returns a SolrUpdateResponse on success or throws an exception on failure.

Fehler/Exceptions

Throws SolrClientException if the client had failed, or there was a connection issue.

Throws SolrServerException if the Solr Server had failed to process the request.

Anmerkungen

Warnung

PECL Solr >= 2.0 only supports Solr Server >= 4.0

Prior to PECL Solr 2.0 this method used to accept these arguments "int $maxSegments, bool $waitFlush, bool $waitSearcher".

Siehe auch

  • SolrClient::commit() - Finalizes all add/deletes made to the index
  • SolrClient::rollback() - Rollbacks all add/deletes made to the index since the last commit

SolrClient::getOptions
SolrClient::ping
SolrClient


Checks if Solr server is still up

SolrClient::optimize
SolrClient::query
SolrClient
PHP Manual

SolrClient::ping

(PECL solr >= 0.9.2)

SolrClient::ping — Checks if Solr server is still up

Beschreibung

public SolrPingResponse SolrClient::ping ( void )

Checks if the Solr server is still alive. Sends a HEAD request to the Apache Solr server.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a SolrPingResponse object on success and throws an exception on failure.

Fehler/Exceptions

Throws SolrClientException if the client had failed, or there was a connection issue.

Throws SolrServerException if the Solr Server had failed to satisfy the request.

Beispiele

Beispiel #1 SolrClient::ping() example

<?php
$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$pingresponse = $client->ping();

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

SolrClient::optimize
SolrClient::query
SolrClient


Sends a query to the server

SolrClient::ping
SolrClient::request
SolrClient
PHP Manual

SolrClient::query

(PECL solr >= 0.9.2)

SolrClient::query — Sends a query to the server

Beschreibung

public SolrQueryResponse SolrClient::query ( SolrParams $query )

Sends a query to the server.

Parameter-Liste

query

A SolrParams object. It is recommended to use SolrQuery for advanced queries.

Rückgabewerte

Returns a SolrQueryResponse object on success and throws an exception on failure.

Fehler/Exceptions

Throws SolrClientException if the client had failed, or there was a connection issue.

Throws SolrServerException if the Solr Server had failed to satisfy the query.

Beispiele

Beispiel #1 SolrClient::query() example

<?php

$options = array
(
    'hostname' => 'localhost',
    'login'    => 'username',
    'password' => 'password',
    'port'     => '8983',
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setQuery('lucene');

$query->setStart(0);

$query->setRows(50);

$query->addField('cat')->addField('features')->addField('id')->addField('timestamp');

$query_response = $client->query($query);

$response = $query_response->getResponse();

print_r($response);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 3
            [params] => SolrObject Object
                (
                    [fl] => cat,features,id,timestamp
                    [indent] => on
                    [start] => 0
                    [q] => lucene
                    [wt] => xml
                    [version] => 2.2
                    [rows] => 50
                )

        )

    [response] => SolrObject Object
        (
            [numFound] => 1
            [start] => 0
            [docs] => Array
                (
                    [0] => SolrObject Object
                        (
                            [id] => SOLR1000
                            [cat] => Array
                                (
                                    [0] => software
                                    [1] => search
                                )

                            [features] => Array
                                (
                                    [0] => Advanced Full-Text Search Capabilities using Lucene
                                    [1] => Optimized for High Volume Web Traffic
                                    [2] => Standards Based Open Interfaces - XML and HTTP
                                    [3] => Comprehensive HTML Administration Interfaces
                                    [4] => Scalability - Efficient Replication to other Solr Search Servers
                                    [5] => Flexible and Adaptable with XML configuration and Schema
                                    [6] => Good unicode support: héllo (hello with an accent over the e)
                                )

                        )

                )

        )

)

SolrClient::ping
SolrClient::request
SolrClient


Sends a raw update request

SolrClient::query
SolrClient::rollback
SolrClient
PHP Manual

SolrClient::request

(PECL solr >= 0.9.2)

SolrClient::request — Sends a raw update request

Beschreibung

public SolrUpdateResponse SolrClient::request ( string $raw_request )

Sends a raw XML update request to the server

Parameter-Liste

raw_request

An XML string with the raw request to the server.

Rückgabewerte

Returns a SolrUpdateResponse on success. Throws an exception on failure.

Fehler/Exceptions

Throws SolrIllegalArgumentException if raw_request was an empty string

Throws SolrClientException if the client had failed, or there was a connection issue.

Throws SolrServerException if the Solr Server had failed to satisfy the query.

Beispiele

Beispiel #1 SolrClient::request() example

<?php
$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$update_response = $client->request("<commit/>");

$response = $update_response->getResponse();

print_r($response);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

SolrClient::query
SolrClient::rollback
SolrClient


Rollbacks all add/deletes made to the index since the last commit

SolrClient::request
SolrClient::setResponseWriter
SolrClient
PHP Manual

SolrClient::rollback

(PECL solr >= 0.9.2)

SolrClient::rollback — Rollbacks all add/deletes made to the index since the last commit

Beschreibung

public SolrUpdateResponse SolrClient::rollback ( void )

Rollbacks all add/deletes made to the index since the last commit. It neither calls any event listeners nor creates a new searcher.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a SolrUpdateResponse on success or throws a SolrClientException on failure.

Siehe auch

  • SolrClient::commit() - Finalizes all add/deletes made to the index
  • SolrClient::optimize() - Defragments the index

SolrClient::request
SolrClient::setResponseWriter
SolrClient


Sets the response writer used to prepare the response from Solr

SolrClient::rollback
SolrClient::setServlet
SolrClient
PHP Manual

SolrClient::setResponseWriter

(PECL solr >= 0.9.11)

SolrClient::setResponseWriter — Sets the response writer used to prepare the response from Solr

Beschreibung

public void SolrClient::setResponseWriter ( string $responseWriter )

Sets the response writer used to prepare the response from Solr

Parameter-Liste

responseWriter

One of the following:

  • json
  • phps
  • xml

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 SolrClient::setResponseWriter() example

<?php

// This is my custom class for objects
class SolrClass
{
   public $_properties = array();

   public function __get($property_name) {

      if (property_exists($this, $property_name)) {

          return $this->$property_name;

      } else if (isset($_properties[$property_name])) {

          return $_properties[$property_name];
      }

      return null;
   }
}

$options = array
(
  'hostname' => 'localhost',
  'port' => 8983,
  'path' => '/solr/core1'
);

$client = new SolrClient($options);

$client->setResponseWriter("json");

//$response = $client->ping();

$query = new SolrQuery();

$query->setQuery("*:*");

$query->set("objectClassName", "SolrClass");

$query->set("objectPropertiesStorageMode", 1); // 0 for independent properties, 1 for combined

try
{

$response = $client->query($query);

$resp = $response->getResponse();

print_r($response);

print_r($resp);

} catch (Exception $e) {

print_r($e);

}

?>

SolrClient::rollback
SolrClient::setServlet
SolrClient


Changes the specified servlet type to a new value

SolrClient::setResponseWriter
SolrClient::system
SolrClient
PHP Manual

SolrClient::setServlet

(PECL solr >= 0.9.2)

SolrClient::setServlet — Changes the specified servlet type to a new value

Beschreibung

public bool SolrClient::setServlet ( int $type , string $value )

Changes the specified servlet type to a new value

Parameter-Liste

type

One of the following :

- SolrClient::SEARCH_SERVLET_TYPE
 - SolrClient::UPDATE_SERVLET_TYPE
 - SolrClient::THREADS_SERVLET_TYPE
 - SolrClient::PING_SERVLET_TYPE
 - SolrClient::TERMS_SERVLET_TYPE

value

The new value for the servlet

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

SolrClient::setResponseWriter
SolrClient::system
SolrClient


Retrieve Solr Server information

SolrClient::setServlet
SolrClient::threads
SolrClient
PHP Manual

SolrClient::system

(PECL solr >= 2.0.0)

SolrClient::system — Retrieve Solr Server information

Beschreibung

public void SolrClient::system ( void )

Retrieve Solr Server information

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a SolrGenericResponse object on success.

Fehler/Exceptions

Emits SolrClientException if the client failed, or there was a connection issue.

Emits SolrServerException if the Solr Server failed to satisfy the query.

SolrClient::setServlet
SolrClient::threads
SolrClient


Checks the threads status

SolrClient::system
SolrResponse
SolrClient
PHP Manual

SolrClient::threads

(PECL solr >= 0.9.2)

SolrClient::threads — Checks the threads status

Beschreibung

public void SolrClient::threads ( void )

Checks the threads status

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a SolrGenericResponse object.

Fehler/Exceptions

Throws SolrClientException if the client failed, or there was a connection issue.

throws SolrServerException if the Solr Server failed to process the request.

SolrClient::system
SolrResponse
SolrClient


The SolrResponse class

(PECL solr >= 0.9.2)

Einführung

Represents a response from the Solr server.

Klassenbeschreibung

abstract SolrResponse {
/* Konstanten */
const integer PARSE_SOLR_OBJ = 0 ;
const integer PARSE_SOLR_DOC = 1 ;
/* Eigenschaften */
protected integer $http_status ;
protected integer $parser_mode ;
protected bool $success ;
protected string $http_status_message ;
protected string $http_request_url ;
protected string $http_raw_request_headers ;
protected string $http_raw_request ;
protected string $http_raw_response_headers ;
protected string $http_raw_response ;
protected string $http_digested_response ;
/* Methoden */
public string getDigestedResponse ( void )
public int getHttpStatus ( void )
public string getHttpStatusMessage ( void )
public string getRawRequest ( void )
public string getRawRequestHeaders ( void )
public string getRawResponse ( void )
public string getRawResponseHeaders ( void )
public string getRequestUrl ( void )
public SolrObject getResponse ( void )
public bool setParseMode ([ int $parser_mode = 0 ] )
public bool success ( void )
}

Eigenschaften

http_status

The http status of the response.

parser_mode

Whether to parse the solr documents as SolrObject or SolrDocument instances.

success

Was there an error during the request

http_status_message

Detailed message on http status

http_request_url

The request URL

http_raw_request_headers

A string of raw headers sent during the request.

http_raw_request

The raw request sent to the server

http_raw_response_headers

Response headers from the Solr server.

http_raw_response

The response message from the server.

http_digested_response

The response in PHP serialized format.

Vordefinierte Konstanten

SolrResponse Class Constants

SolrResponse::PARSE_SOLR_OBJ

Documents should be parsed as SolrObject instances

SolrResponse::PARSE_SOLR_DOC

Documents should be parsed as SolrDocument instances.

Inhaltsverzeichnis

  • SolrResponse::getDigestedResponse — Returns the XML response as serialized PHP data
  • SolrResponse::getHttpStatus — Returns the HTTP status of the response
  • SolrResponse::getHttpStatusMessage — Returns more details on the HTTP status
  • SolrResponse::getRawRequest — Returns the raw request sent to the Solr server
  • SolrResponse::getRawRequestHeaders — Returns the raw request headers sent to the Solr server
  • SolrResponse::getRawResponse — Returns the raw response from the server
  • SolrResponse::getRawResponseHeaders — Returns the raw response headers from the server
  • SolrResponse::getRequestUrl — Returns the full URL the request was sent to
  • SolrResponse::getResponse — Returns a SolrObject representing the XML response from the server
  • SolrResponse::setParseMode — Sets the parse mode
  • SolrResponse::success — Was the request a success
SolrClient::threads
SolrResponse::getDigestedResponse
Solr


Returns the XML response as serialized PHP data

SolrResponse
SolrResponse::getHttpStatus
SolrResponse
PHP Manual

SolrResponse::getDigestedResponse

(PECL solr >= 0.9.2)

SolrResponse::getDigestedResponse — Returns the XML response as serialized PHP data

Beschreibung

public string SolrResponse::getDigestedResponse ( void )

Returns the XML response as serialized PHP data

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the XML response as serialized PHP data

SolrResponse
SolrResponse::getHttpStatus
SolrResponse


Returns the HTTP status of the response

SolrResponse::getDigestedResponse
SolrResponse::getHttpStatusMessage
SolrResponse
PHP Manual

SolrResponse::getHttpStatus

(PECL solr >= 0.9.2)

SolrResponse::getHttpStatus — Returns the HTTP status of the response

Beschreibung

public int SolrResponse::getHttpStatus ( void )

Returns the HTTP status of the response.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the HTTP status of the response.

SolrResponse::getDigestedResponse
SolrResponse::getHttpStatusMessage
SolrResponse


Returns more details on the HTTP status

SolrResponse::getHttpStatus
SolrResponse::getRawRequest
SolrResponse
PHP Manual

SolrResponse::getHttpStatusMessage

(PECL solr >= 0.9.2)

SolrResponse::getHttpStatusMessage — Returns more details on the HTTP status

Beschreibung

public string SolrResponse::getHttpStatusMessage ( void )

Returns more details on the HTTP status.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns more details on the HTTP status

SolrResponse::getHttpStatus
SolrResponse::getRawRequest
SolrResponse


Returns the raw request sent to the Solr server

SolrResponse::getHttpStatusMessage
SolrResponse::getRawRequestHeaders
SolrResponse
PHP Manual

SolrResponse::getRawRequest

(PECL solr >= 0.9.2)

SolrResponse::getRawRequest — Returns the raw request sent to the Solr server

Beschreibung

public string SolrResponse::getRawRequest ( void )

Returns the raw request sent to the Solr server.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the raw request sent to the Solr server

SolrResponse::getHttpStatusMessage
SolrResponse::getRawRequestHeaders
SolrResponse


Returns the raw request headers sent to the Solr server

SolrResponse::getRawRequest
SolrResponse::getRawResponse
SolrResponse
PHP Manual

SolrResponse::getRawRequestHeaders

(PECL solr >= 0.9.2)

SolrResponse::getRawRequestHeaders — Returns the raw request headers sent to the Solr server

Beschreibung

public string SolrResponse::getRawRequestHeaders ( void )

Returns the raw request headers sent to the Solr server.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the raw request headers sent to the Solr server

SolrResponse::getRawRequest
SolrResponse::getRawResponse
SolrResponse


Returns the raw response from the server

SolrResponse::getRawRequestHeaders
SolrResponse::getRawResponseHeaders
SolrResponse
PHP Manual

SolrResponse::getRawResponse

(PECL solr >= 0.9.2)

SolrResponse::getRawResponse — Returns the raw response from the server

Beschreibung

public string SolrResponse::getRawResponse ( void )

Returns the raw response from the server.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the raw response from the server.

SolrResponse::getRawRequestHeaders
SolrResponse::getRawResponseHeaders
SolrResponse


Returns the raw response headers from the server

SolrResponse::getRawResponse
SolrResponse::getRequestUrl
SolrResponse
PHP Manual

SolrResponse::getRawResponseHeaders

(PECL solr >= 0.9.2)

SolrResponse::getRawResponseHeaders — Returns the raw response headers from the server

Beschreibung

public string SolrResponse::getRawResponseHeaders ( void )

Returns the raw response headers from the server.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the raw response headers from the server.

SolrResponse::getRawResponse
SolrResponse::getRequestUrl
SolrResponse


Returns the full URL the request was sent to

SolrResponse::getRawResponseHeaders
SolrResponse::getResponse
SolrResponse
PHP Manual

SolrResponse::getRequestUrl

(PECL solr >= 0.9.2)

SolrResponse::getRequestUrl — Returns the full URL the request was sent to

Beschreibung

public string SolrResponse::getRequestUrl ( void )

Returns the full URL the request was sent to.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the full URL the request was sent to

SolrResponse::getRawResponseHeaders
SolrResponse::getResponse
SolrResponse


Returns a SolrObject representing the XML response from the server

SolrResponse::getRequestUrl
SolrResponse::setParseMode
SolrResponse
PHP Manual

SolrResponse::getResponse

(PECL solr >= 0.9.2)

SolrResponse::getResponse — Returns a SolrObject representing the XML response from the server

Beschreibung

public SolrObject SolrResponse::getResponse ( void )

Returns a SolrObject representing the XML response from the server.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a SolrObject representing the XML response from the server

SolrResponse::getRequestUrl
SolrResponse::setParseMode
SolrResponse


Sets the parse mode

SolrResponse::getResponse
SolrResponse::success
SolrResponse
PHP Manual

SolrResponse::setParseMode

(PECL solr >= 0.9.2)

SolrResponse::setParseMode — Sets the parse mode

Beschreibung

public bool SolrResponse::setParseMode ([ int $parser_mode = 0 ] )

Sets the parse mode.

Parameter-Liste

parser_mode

SolrResponse::PARSE_SOLR_DOC parses documents in SolrDocument instances. SolrResponse::PARSE_SOLR_OBJ parses document into SolrObjects.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

SolrResponse::getResponse
SolrResponse::success
SolrResponse


Was the request a success

SolrResponse::setParseMode
SolrQueryResponse
SolrResponse
PHP Manual

SolrResponse::success

(PECL solr >= 0.9.2)

SolrResponse::success — Was the request a success

Beschreibung

public bool SolrResponse::success ( void )

Used to check if the request to the server was successful.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if it was successful and FALSE if it was not.

SolrResponse::setParseMode
SolrQueryResponse
SolrResponse


The SolrQueryResponse class

(PECL solr >= 0.9.2)

Einführung

Represents a response to a query request.

Klassenbeschreibung

final SolrQueryResponse extends SolrResponse {
/* Konstanten */
const integer PARSE_SOLR_OBJ = 0 ;
const integer PARSE_SOLR_DOC = 1 ;
/* Geerbte Eigenschaften */
const integer SolrResponse::PARSE_SOLR_OBJ = 0 ;
const integer SolrResponse::PARSE_SOLR_DOC = 1 ;
protected integer $http_status ;
protected integer $parser_mode ;
protected bool $success ;
protected string $http_status_message ;
protected string $http_request_url ;
protected string $http_raw_request_headers ;
protected string $http_raw_request ;
protected string $http_raw_response_headers ;
protected string $http_raw_response ;
protected string $http_digested_response ;
/* Methoden */
public __construct ( void )
public void __destruct ( void )
/* Geerbte Methoden */
public string SolrResponse::getDigestedResponse ( void )
public int SolrResponse::getHttpStatus ( void )
public string SolrResponse::getHttpStatusMessage ( void )
public string SolrResponse::getRawRequest ( void )
public string SolrResponse::getRawRequestHeaders ( void )
public string SolrResponse::getRawResponse ( void )
public string SolrResponse::getRawResponseHeaders ( void )
public string SolrResponse::getRequestUrl ( void )
public SolrObject SolrResponse::getResponse ( void )
public bool SolrResponse::setParseMode ([ int $parser_mode = 0 ] )
public bool SolrResponse::success ( void )
}

Vordefinierte Konstanten

SolrQueryResponse Class constants

SolrQueryResponse::PARSE_SOLR_OBJ

Documents should be parsed as SolrObject instances

SolrQueryResponse::PARSE_SOLR_DOC

Documents should be parsed as SolrDocument instances.

Inhaltsverzeichnis

  • SolrQueryResponse::__construct — Constructor
  • SolrQueryResponse::__destruct — Destructor
SolrResponse::success
SolrQueryResponse::__construct
Solr


Constructor

SolrQueryResponse
SolrQueryResponse::__destruct
SolrQueryResponse
PHP Manual

SolrQueryResponse::__construct

(PECL solr >= 0.9.2)

SolrQueryResponse::__construct — Constructor

Beschreibung

public SolrQueryResponse::__construct ( void )

Constructor

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

None

SolrQueryResponse
SolrQueryResponse::__destruct
SolrQueryResponse


Destructor

SolrQueryResponse::__construct
SolrUpdateResponse
SolrQueryResponse
PHP Manual

SolrQueryResponse::__destruct

(PECL solr >= 0.9.2)

SolrQueryResponse::__destruct — Destructor

Beschreibung

public void SolrQueryResponse::__destruct ( void )

Destructor.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

None

SolrQueryResponse::__construct
SolrUpdateResponse
SolrQueryResponse


The SolrUpdateResponse class

(PECL solr >= 0.9.2)

Einführung

Represents a response to an update request.

Klassenbeschreibung

final SolrUpdateResponse extends SolrResponse {
/* Konstanten */
const integer PARSE_SOLR_OBJ = 0 ;
const integer PARSE_SOLR_DOC = 1 ;
/* Geerbte Eigenschaften */
const integer SolrResponse::PARSE_SOLR_OBJ = 0 ;
const integer SolrResponse::PARSE_SOLR_DOC = 1 ;
protected integer $http_status ;
protected integer $parser_mode ;
protected bool $success ;
protected string $http_status_message ;
protected string $http_request_url ;
protected string $http_raw_request_headers ;
protected string $http_raw_request ;
protected string $http_raw_response_headers ;
protected string $http_raw_response ;
protected string $http_digested_response ;
/* Methoden */
public __construct ( void )
public void __destruct ( void )
/* Geerbte Methoden */
public string SolrResponse::getDigestedResponse ( void )
public int SolrResponse::getHttpStatus ( void )
public string SolrResponse::getHttpStatusMessage ( void )
public string SolrResponse::getRawRequest ( void )
public string SolrResponse::getRawRequestHeaders ( void )
public string SolrResponse::getRawResponse ( void )
public string SolrResponse::getRawResponseHeaders ( void )
public string SolrResponse::getRequestUrl ( void )
public SolrObject SolrResponse::getResponse ( void )
public bool SolrResponse::setParseMode ([ int $parser_mode = 0 ] )
public bool SolrResponse::success ( void )
}

Vordefinierte Konstanten

SolrUpdateResponse Class Constants

SolrUpdateResponse::PARSE_SOLR_OBJ

Documents should be parsed as SolrObject instances

SolrUpdateResponse::PARSE_SOLR_DOC

Documents should be parsed as SolrDocument instances.

Inhaltsverzeichnis

  • SolrUpdateResponse::__construct — Constructor
  • SolrUpdateResponse::__destruct — Destructor
SolrQueryResponse::__destruct
SolrUpdateResponse::__construct
Solr


Constructor

SolrUpdateResponse
SolrUpdateResponse::__destruct
SolrUpdateResponse
PHP Manual

SolrUpdateResponse::__construct

(PECL solr >= 0.9.2)

SolrUpdateResponse::__construct — Constructor

Beschreibung

public SolrUpdateResponse::__construct ( void )

Constructor

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

None

SolrUpdateResponse
SolrUpdateResponse::__destruct
SolrUpdateResponse


Destructor

SolrUpdateResponse::__construct
SolrPingResponse
SolrUpdateResponse
PHP Manual

SolrUpdateResponse::__destruct

(PECL solr >= 0.9.2)

SolrUpdateResponse::__destruct — Destructor

Beschreibung

public void SolrUpdateResponse::__destruct ( void )

Destructor

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

None

SolrUpdateResponse::__construct
SolrPingResponse
SolrUpdateResponse


The SolrPingResponse class

(PECL solr >= 0.9.2)

Einführung

Represents a response to a ping request to the server

Klassenbeschreibung

final SolrPingResponse extends SolrResponse {
/* Konstanten */
const integer PARSE_SOLR_OBJ = 0 ;
const integer PARSE_SOLR_DOC = 1 ;
/* Eigenschaften */
/* Methoden */
public __construct ( void )
public void __destruct ( void )
public string getResponse ( void )
/* Geerbte Methoden */
public string SolrResponse::getDigestedResponse ( void )
public int SolrResponse::getHttpStatus ( void )
public string SolrResponse::getHttpStatusMessage ( void )
public string SolrResponse::getRawRequest ( void )
public string SolrResponse::getRawRequestHeaders ( void )
public string SolrResponse::getRawResponse ( void )
public string SolrResponse::getRawResponseHeaders ( void )
public string SolrResponse::getRequestUrl ( void )
public SolrObject SolrResponse::getResponse ( void )
public bool SolrResponse::setParseMode ([ int $parser_mode = 0 ] )
public bool SolrResponse::success ( void )
}

Eigenschaften

http_status

The http status of the response.

parser_mode

Whether to parse the solr documents as SolrObject or SolrDocument instances.

success

Was there an error during the request

http_status_message

Detailed message on http status

http_request_url

The request URL

http_raw_request_headers

A string of raw headers sent during the request

http_raw_request

The raw request sent to the server

http_raw_response_headers

Response headers from the Solr server

http_raw_response

The response message from the server

http_digested_response

The response in PHP serialized format.

Vordefinierte Konstanten

SolrPingResponse Class Constants

SolrPingResponse::PARSE_SOLR_OBJ

Documents should be parsed as SolrObject instances

SolrPingResponse::PARSE_SOLR_DOC

Documents should be parsed as SolrDocument instances.

Inhaltsverzeichnis

  • SolrPingResponse::__construct — Constructor
  • SolrPingResponse::__destruct — Destructor
  • SolrPingResponse::getResponse — Returns the response from the server
SolrUpdateResponse::__destruct
SolrPingResponse::__construct
Solr


Constructor

SolrPingResponse
SolrPingResponse::__destruct
SolrPingResponse
PHP Manual

SolrPingResponse::__construct

(PECL solr >= 0.9.2)

SolrPingResponse::__construct — Constructor

Beschreibung

public SolrPingResponse::__construct ( void )

Constructor

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

None

SolrPingResponse
SolrPingResponse::__destruct
SolrPingResponse


Destructor

SolrPingResponse::__construct
SolrPingResponse::getResponse
SolrPingResponse
PHP Manual

SolrPingResponse::__destruct

(PECL solr >= 0.9.2)

SolrPingResponse::__destruct — Destructor

Beschreibung

public void SolrPingResponse::__destruct ( void )

Destructor

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

None

SolrPingResponse::__construct
SolrPingResponse::getResponse
SolrPingResponse


Returns the response from the server

SolrPingResponse::__destruct
SolrGenericResponse
SolrPingResponse
PHP Manual

SolrPingResponse::getResponse

(PECL solr >= 0.9.2)

SolrPingResponse::getResponse — Returns the response from the server

Beschreibung

public string SolrPingResponse::getResponse ( void )

Returns the response from the server. This should be empty because the request as a HEAD request.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an empty string.

SolrPingResponse::__destruct
SolrGenericResponse
SolrPingResponse


The SolrGenericResponse class

(PECL solr >= 0.9.2)

Einführung

Represents a response from the solr server.

Klassenbeschreibung

final SolrGenericResponse extends SolrResponse {
/* Konstanten */
const integer PARSE_SOLR_OBJ = 0 ;
const integer PARSE_SOLR_DOC = 1 ;
/* Geerbte Eigenschaften */
const integer SolrResponse::PARSE_SOLR_OBJ = 0 ;
const integer SolrResponse::PARSE_SOLR_DOC = 1 ;
protected integer $http_status ;
protected integer $parser_mode ;
protected bool $success ;
protected string $http_status_message ;
protected string $http_request_url ;
protected string $http_raw_request_headers ;
protected string $http_raw_request ;
protected string $http_raw_response_headers ;
protected string $http_raw_response ;
protected string $http_digested_response ;
/* Methoden */
public __construct ( void )
public void __destruct ( void )
/* Geerbte Methoden */
public string SolrResponse::getDigestedResponse ( void )
public int SolrResponse::getHttpStatus ( void )
public string SolrResponse::getHttpStatusMessage ( void )
public string SolrResponse::getRawRequest ( void )
public string SolrResponse::getRawRequestHeaders ( void )
public string SolrResponse::getRawResponse ( void )
public string SolrResponse::getRawResponseHeaders ( void )
public string SolrResponse::getRequestUrl ( void )
public SolrObject SolrResponse::getResponse ( void )
public bool SolrResponse::setParseMode ([ int $parser_mode = 0 ] )
public bool SolrResponse::success ( void )
}

Vordefinierte Konstanten

SolrGenericResponse Class constants

SolrGenericResponse::PARSE_SOLR_OBJ

Documents should be parsed as SolrObject instances

SolrGenericResponse::PARSE_SOLR_DOC

Documents should be parsed as SolrDocument instances.

Inhaltsverzeichnis

  • SolrGenericResponse::__construct — Constructor
  • SolrGenericResponse::__destruct — Destructor
SolrPingResponse::getResponse
SolrGenericResponse::__construct
Solr


Constructor

SolrGenericResponse
SolrGenericResponse::__destruct
SolrGenericResponse
PHP Manual

SolrGenericResponse::__construct

(PECL solr >= 0.9.2)

SolrGenericResponse::__construct — Constructor

Beschreibung

public SolrGenericResponse::__construct ( void )

Constructor

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

None

SolrGenericResponse
SolrGenericResponse::__destruct
SolrGenericResponse


Destructor

SolrGenericResponse::__construct
SolrParams
SolrGenericResponse
PHP Manual

SolrGenericResponse::__destruct

(PECL solr >= 0.9.2)

SolrGenericResponse::__destruct — Destructor

Beschreibung

public void SolrGenericResponse::__destruct ( void )

Destructor.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

None

SolrGenericResponse::__construct
SolrParams
SolrGenericResponse


The SolrParams class

(PECL solr >= 0.9.2)

Einführung

Represents a collection of name-value pairs sent to the Solr server during a request.

Klassenbeschreibung

abstract SolrParams implements Serializable {
/* Methoden */
final public SolrParams add ( string $name , string $value )
public SolrParams addParam ( string $name , string $value )
final public mixed get ( string $param_name )
final public mixed getParam ([ string $param_name ] )
final public array getParams ( void )
final public array getPreparedParams ( void )
final public string serialize ( void )
final public void set ( string $name , string $value )
public SolrParams setParam ( string $name , string $value )
final public string toString ([ bool $url_encode = false ] )
final public void unserialize ( string $serialized )
}

Inhaltsverzeichnis

  • SolrParams::add — This is an alias for SolrParams::addParam
  • SolrParams::addParam — Adds a parameter to the object
  • SolrParams::get — This is an alias for SolrParams::getParam
  • SolrParams::getParam — Returns a parameter value
  • SolrParams::getParams — Returns an array of non URL-encoded parameters
  • SolrParams::getPreparedParams — Returns an array of URL-encoded parameters
  • SolrParams::serialize — Used for custom serialization
  • SolrParams::set — An alias of SolrParams::setParam
  • SolrParams::setParam — Sets the parameter to the specified value
  • SolrParams::toString — Returns all the name-value pair parameters in the object
  • SolrParams::unserialize — Used for custom serialization
SolrGenericResponse::__destruct
SolrParams::add
Solr


This is an alias for SolrParams::addParam

SolrParams
SolrParams::addParam
SolrParams
PHP Manual

SolrParams::add

(PECL solr >= 0.9.2)

SolrParams::add — This is an alias for SolrParams::addParam

Beschreibung

final public SolrParams SolrParams::add ( string $name , string $value )

This is an alias for SolrParams::addParam

Parameter-Liste

name

The name of the parameter

value

The value of the parameter

Rückgabewerte

Returns a SolrParams instance on success

SolrParams
SolrParams::addParam
SolrParams


Adds a parameter to the object

SolrParams::add
SolrParams::get
SolrParams
PHP Manual

SolrParams::addParam

(PECL solr >= 0.9.2)

SolrParams::addParam — Adds a parameter to the object

Beschreibung

public SolrParams SolrParams::addParam ( string $name , string $value )

Adds a parameter to the object. This is used for parameters that can be specified multiple times.

Parameter-Liste

name

Name of parameter

value

Value of parameter

Rückgabewerte

Returns a SolrParam object on success and FALSE on failure.

SolrParams::add
SolrParams::get
SolrParams


This is an alias for SolrParams::getParam

SolrParams::addParam
SolrParams::getParam
SolrParams
PHP Manual

SolrParams::get

(PECL solr >= 0.9.2)

SolrParams::get — This is an alias for SolrParams::getParam

Beschreibung

final public mixed SolrParams::get ( string $param_name )

This is an alias for SolrParams::getParam

Parameter-Liste

param_name

Then name of the parameter

Rückgabewerte

Returns an array or string depending on the type of parameter

SolrParams::addParam
SolrParams::getParam
SolrParams


Returns a parameter value

SolrParams::get
SolrParams::getParams
SolrParams
PHP Manual

SolrParams::getParam

(PECL solr >= 0.9.2)

SolrParams::getParam — Returns a parameter value

Beschreibung

final public mixed SolrParams::getParam ([ string $param_name ] )

Returns a parameter with name param_name

Parameter-Liste

param_name

The name of the parameter

Rückgabewerte

Returns a string or an array depending on the type of the parameter

SolrParams::get
SolrParams::getParams
SolrParams


Returns an array of non URL-encoded parameters

SolrParams::getParam
SolrParams::getPreparedParams
SolrParams
PHP Manual

SolrParams::getParams

(PECL solr >= 0.9.2)

SolrParams::getParams — Returns an array of non URL-encoded parameters

Beschreibung

final public array SolrParams::getParams ( void )

Returns an array of non URL-encoded parameters

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array of non URL-encoded parameters

SolrParams::getParam
SolrParams::getPreparedParams
SolrParams


Returns an array of URL-encoded parameters

SolrParams::getParams
SolrParams::serialize
SolrParams
PHP Manual

SolrParams::getPreparedParams

(PECL solr >= 0.9.2)

SolrParams::getPreparedParams — Returns an array of URL-encoded parameters

Beschreibung

final public array SolrParams::getPreparedParams ( void )

Returns an array on URL-encoded parameters

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array on URL-encoded parameters

SolrParams::getParams
SolrParams::serialize
SolrParams


Used for custom serialization

SolrParams::getPreparedParams
SolrParams::set
SolrParams
PHP Manual

SolrParams::serialize

(PECL solr >= 0.9.2)

SolrParams::serialize — Used for custom serialization

Beschreibung

final public string SolrParams::serialize ( void )

Used for custom serialization

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Used for custom serialization

SolrParams::getPreparedParams
SolrParams::set
SolrParams


An alias of SolrParams::setParam

SolrParams::serialize
SolrParams::setParam
SolrParams
PHP Manual

SolrParams::set

(PECL solr >= 0.9.2)

SolrParams::set — An alias of SolrParams::setParam

Beschreibung

final public void SolrParams::set ( string $name , string $value )

An alias of SolrParams::setParam

Parameter-Liste

name

Then name of the parameter

value

The parameter value

Rückgabewerte

Returns an instance of the SolrParams object on success

SolrParams::serialize
SolrParams::setParam
SolrParams


Sets the parameter to the specified value

SolrParams::set
SolrParams::toString
SolrParams
PHP Manual

SolrParams::setParam

(PECL solr >= 0.9.2)

SolrParams::setParam — Sets the parameter to the specified value

Beschreibung

public SolrParams SolrParams::setParam ( string $name , string $value )

Sets the query parameter to the specified value. This is used for parameters that can only be specified once. Subsequent calls with the same parameter name will override the existing value

Parameter-Liste

name

Name of the parameter

value

Value of the parameter

Rückgabewerte

Returns a SolrParam object on success and FALSE on value.

Beispiele

Beispiel #1 SolrParams::setParam() example

<?php

$param = new SolrParams();

$param->setParam('q', 'solr')->setParam('rows', 2);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

SolrParams::set
SolrParams::toString
SolrParams


Returns all the name-value pair parameters in the object

SolrParams::setParam
SolrParams::unserialize
SolrParams
PHP Manual

SolrParams::toString

(PECL solr >= 0.9.2)

SolrParams::toString — Returns all the name-value pair parameters in the object

Beschreibung

final public string SolrParams::toString ([ bool $url_encode = false ] )

Returns all the name-value pair parameters in the object

Parameter-Liste

url_encode

Whether to return URL-encoded values

Rückgabewerte

Returns a string on success and FALSE on failure.

SolrParams::setParam
SolrParams::unserialize
SolrParams


Used for custom serialization

SolrParams::toString
SolrModifiableParams
SolrParams
PHP Manual

SolrParams::unserialize

(PECL solr >= 0.9.2)

SolrParams::unserialize — Used for custom serialization

Beschreibung

final public void SolrParams::unserialize ( string $serialized )

Used for custom serialization

Parameter-Liste

serialized

The serialized representation of the object

Rückgabewerte

None

SolrParams::toString
SolrModifiableParams
SolrParams


The SolrModifiableParams class

(PECL solr >= 0.9.2)

Einführung

Represents a collection of name-value pairs sent to the Solr server during a request.

Klassenbeschreibung

SolrModifiableParams extends SolrParams implements Serializable {
/* Methoden */
public __construct ( void )
public void __destruct ( void )
/* Geerbte Methoden */
final public SolrParams SolrParams::add ( string $name , string $value )
public SolrParams SolrParams::addParam ( string $name , string $value )
final public mixed SolrParams::get ( string $param_name )
final public mixed SolrParams::getParam ([ string $param_name ] )
final public array SolrParams::getParams ( void )
final public array SolrParams::getPreparedParams ( void )
final public string SolrParams::serialize ( void )
final public void SolrParams::set ( string $name , string $value )
public SolrParams SolrParams::setParam ( string $name , string $value )
final public string SolrParams::toString ([ bool $url_encode = false ] )
final public void SolrParams::unserialize ( string $serialized )
}

Inhaltsverzeichnis

  • SolrModifiableParams::__construct — Constructor
  • SolrModifiableParams::__destruct — Destructor
SolrParams::unserialize
SolrModifiableParams::__construct
Solr


Constructor

SolrModifiableParams
SolrModifiableParams::__destruct
SolrModifiableParams
PHP Manual

SolrModifiableParams::__construct

(PECL solr >= 0.9.2)

SolrModifiableParams::__construct — Constructor

Beschreibung

public SolrModifiableParams::__construct ( void )

Constructor

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

None

SolrModifiableParams
SolrModifiableParams::__destruct
SolrModifiableParams


Destructor

SolrModifiableParams::__construct
SolrQuery
SolrModifiableParams
PHP Manual

SolrModifiableParams::__destruct

(PECL solr >= 0.9.2)

SolrModifiableParams::__destruct — Destructor

Beschreibung

public void SolrModifiableParams::__destruct ( void )

Destructor

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

None

SolrModifiableParams::__construct
SolrQuery
SolrModifiableParams


The SolrQuery class

(PECL solr >= 0.9.2)

Einführung

Represents a collection of name-value pairs sent to the Solr server during a request.

Klassenbeschreibung

SolrQuery extends SolrModifiableParams implements Serializable {
/* Konstanten */
const integer ORDER_ASC = 0 ;
const integer ORDER_DESC = 1 ;
const integer FACET_SORT_INDEX = 0 ;
const integer FACET_SORT_COUNT = 1 ;
const integer TERMS_SORT_INDEX = 0 ;
const integer TERMS_SORT_COUNT = 1 ;
/* Eigenschaften */
/* Methoden */
public SolrQuery addExpandFilterQuery ( string $fq )
public SolrQuery addExpandSortField ( string $field [, string $order ] )
public SolrQuery addFacetDateField ( string $dateField )
public SolrQuery addFacetDateOther ( string $value [, string $field_override ] )
public SolrQuery addFacetField ( string $field )
public SolrQuery addFacetQuery ( string $facetQuery )
public SolrQuery addField ( string $field )
public SolrQuery addFilterQuery ( string $fq )
public SolrQuery addGroupField ( string $value )
public SolrQuery addGroupFunction ( string $value )
public SolrQuery addGroupQuery ( string $value )
public SolrQuery addGroupSortField ( string $field [, integer $order ] )
public SolrQuery addHighlightField ( string $field )
public SolrQuery addMltField ( string $field )
public SolrQuery addMltQueryField ( string $field , float $boost )
public SolrQuery addSortField ( string $field [, int $order = SolrQuery::ORDER_DESC ] )
public SolrQuery addStatsFacet ( string $field )
public SolrQuery addStatsField ( string $field )
public SolrQuery collapse ( SolrCollapseFunction $collapseFunction )
public __construct ([ string $q ] )
public void __destruct ( void )
public bool getExpand ( void )
public array getExpandFilterQueries ( void )
public array getExpandQuery ( void )
public integer getExpandRows ( void )
public array getExpandSortFields ( void )
public bool getFacet ( void )
public string getFacetDateEnd ([ string $field_override ] )
public array getFacetDateFields ( void )
public string getFacetDateGap ([ string $field_override ] )
public string getFacetDateHardEnd ([ string $field_override ] )
public array getFacetDateOther ([ string $field_override ] )
public string getFacetDateStart ([ string $field_override ] )
public array getFacetFields ( void )
public int getFacetLimit ([ string $field_override ] )
public string getFacetMethod ([ string $field_override ] )
public int getFacetMinCount ([ string $field_override ] )
public bool getFacetMissing ([ string $field_override ] )
public int getFacetOffset ([ string $field_override ] )
public string getFacetPrefix ([ string $field_override ] )
public array getFacetQueries ( void )
public int getFacetSort ([ string $field_override ] )
public array getFields ( void )
public array getFilterQueries ( void )
public bool getGroup ( void )
public integer getGroupCachePercent ( void )
public bool getGroupFacet ( void )
public array getGroupFields ( void )
public string getGroupFormat ( void )
public array getGroupFunctions ( void )
public integer getGroupLimit ( void )
public bool getGroupMain ( void )
public bool getGroupNGroups ( void )
public integer getGroupOffset ( void )
public array getGroupQueries ( void )
public array getGroupSortFields ( void )
public bool getGroupTruncate ( void )
public bool getHighlight ( void )
public string getHighlightAlternateField ([ string $field_override ] )
public array getHighlightFields ( void )
public string getHighlightFormatter ([ string $field_override ] )
public string getHighlightFragmenter ([ string $field_override ] )
public int getHighlightFragsize ([ string $field_override ] )
public bool getHighlightHighlightMultiTerm ( void )
public int getHighlightMaxAlternateFieldLength ([ string $field_override ] )
public int getHighlightMaxAnalyzedChars ( void )
public bool getHighlightMergeContiguous ([ string $field_override ] )
public int getHighlightRegexMaxAnalyzedChars ( void )
public string getHighlightRegexPattern ( void )
public float getHighlightRegexSlop ( void )
public bool getHighlightRequireFieldMatch ( void )
public string getHighlightSimplePost ([ string $field_override ] )
public string getHighlightSimplePre ([ string $field_override ] )
public int getHighlightSnippets ([ string $field_override ] )
public bool getHighlightUsePhraseHighlighter ( void )
public bool getMlt ( void )
public bool getMltBoost ( void )
public int getMltCount ( void )
public array getMltFields ( void )
public int getMltMaxNumQueryTerms ( void )
public int getMltMaxNumTokens ( void )
public int getMltMaxWordLength ( void )
public int getMltMinDocFrequency ( void )
public int getMltMinTermFrequency ( void )
public int getMltMinWordLength ( void )
public array getMltQueryFields ( void )
public string getQuery ( void )
public int getRows ( void )
public array getSortFields ( void )
public int getStart ( void )
public bool getStats ( void )
public array getStatsFacets ( void )
public array getStatsFields ( void )
public bool getTerms ( void )
public string getTermsField ( void )
public bool getTermsIncludeLowerBound ( void )
public bool getTermsIncludeUpperBound ( void )
public int getTermsLimit ( void )
public string getTermsLowerBound ( void )
public int getTermsMaxCount ( void )
public int getTermsMinCount ( void )
public string getTermsPrefix ( void )
public bool getTermsReturnRaw ( void )
public int getTermsSort ( void )
public string getTermsUpperBound ( void )
public int getTimeAllowed ( void )
public SolrQuery removeExpandFilterQuery ( string $fq )
public SolrQuery removeExpandSortField ( string $field )
public SolrQuery removeFacetDateField ( string $field )
public SolrQuery removeFacetDateOther ( string $value [, string $field_override ] )
public SolrQuery removeFacetField ( string $field )
public SolrQuery removeFacetQuery ( string $value )
public SolrQuery removeField ( string $field )
public SolrQuery removeFilterQuery ( string $fq )
public SolrQuery removeHighlightField ( string $field )
public SolrQuery removeMltField ( string $field )
public SolrQuery removeMltQueryField ( string $queryField )
public SolrQuery removeSortField ( string $field )
public SolrQuery removeStatsFacet ( string $value )
public SolrQuery removeStatsField ( string $field )
public SolrQuery setEchoHandler ( bool $flag )
public SolrQuery setEchoParams ( string $type )
public SolrQuery setExpand ( bool $value )
public SolrQuery setExpandQuery ( string $q )
public SolrQuery setExpandRows ( integer $value )
public SolrQuery setExplainOther ( string $query )
public SolrQuery setFacet ( bool $flag )
public SolrQuery setFacetDateEnd ( string $value [, string $field_override ] )
public SolrQuery setFacetDateGap ( string $value [, string $field_override ] )
public SolrQuery setFacetDateHardEnd ( bool $value [, string $field_override ] )
public SolrQuery setFacetDateStart ( string $value [, string $field_override ] )
public SolrQuery setFacetEnumCacheMinDefaultFrequency ( int $frequency [, string $field_override ] )
public SolrQuery setFacetLimit ( int $limit [, string $field_override ] )
public SolrQuery setFacetMethod ( string $method [, string $field_override ] )
public SolrQuery setFacetMinCount ( int $mincount [, string $field_override ] )
public SolrQuery setFacetMissing ( bool $flag [, string $field_override ] )
public SolrQuery setFacetOffset ( int $offset [, string $field_override ] )
public SolrQuery setFacetPrefix ( string $prefix [, string $field_override ] )
public SolrQuery setFacetSort ( int $facetSort [, string $field_override ] )
public SolrQuery setGroup ( bool $value )
public SolrQuery setGroupCachePercent ( integer $percent )
public SolrQuery setGroupFacet ( bool $value )
public SolrQuery setGroupFormat ( string $value )
public SolrQuery setGroupLimit ( integer $value )
public SolrQuery setGroupMain ( string $value )
public SolrQuery setGroupNGroups ( bool $value )
public SolrQuery setGroupOffset ( integer $value )
public SolrQuery setGroupTruncate ( bool $value )
public SolrQuery setHighlight ( bool $flag )
public SolrQuery setHighlightAlternateField ( string $field [, string $field_override ] )
public SolrQuery setHighlightFormatter ( string $formatter [, string $field_override ] )
public SolrQuery setHighlightFragmenter ( string $fragmenter [, string $field_override ] )
public SolrQuery setHighlightFragsize ( int $size [, string $field_override ] )
public SolrQuery setHighlightHighlightMultiTerm ( bool $flag )
public SolrQuery setHighlightMaxAlternateFieldLength ( int $fieldLength [, string $field_override ] )
public SolrQuery setHighlightMaxAnalyzedChars ( int $value )
public SolrQuery setHighlightMergeContiguous ( bool $flag [, string $field_override ] )
public SolrQuery setHighlightRegexMaxAnalyzedChars ( int $maxAnalyzedChars )
public SolrQuery setHighlightRegexPattern ( string $value )
public SolrQuery setHighlightRegexSlop ( float $factor )
public SolrQuery setHighlightRequireFieldMatch ( bool $flag )
public SolrQuery setHighlightSimplePost ( string $simplePost [, string $field_override ] )
public SolrQuery setHighlightSimplePre ( string $simplePre [, string $field_override ] )
public SolrQuery setHighlightSnippets ( int $value [, string $field_override ] )
public SolrQuery setHighlightUsePhraseHighlighter ( bool $flag )
public SolrQuery setMlt ( bool $flag )
public SolrQuery setMltBoost ( bool $flag )
public SolrQuery setMltCount ( int $count )
public SolrQuery setMltMaxNumQueryTerms ( int $value )
public SolrQuery setMltMaxNumTokens ( int $value )
public SolrQuery setMltMaxWordLength ( int $maxWordLength )
public SolrQuery setMltMinDocFrequency ( int $minDocFrequency )
public SolrQuery setMltMinTermFrequency ( int $minTermFrequency )
public SolrQuery setMltMinWordLength ( int $minWordLength )
public SolrQuery setOmitHeader ( bool $flag )
public SolrQuery setQuery ( string $query )
public SolrQuery setRows ( int $rows )
public SolrQuery setShowDebugInfo ( bool $flag )
public SolrQuery setStart ( int $start )
public SolrQuery setStats ( bool $flag )
public SolrQuery setTerms ( bool $flag )
public SolrQuery setTermsField ( string $fieldname )
public SolrQuery setTermsIncludeLowerBound ( bool $flag )
public SolrQuery setTermsIncludeUpperBound ( bool $flag )
public SolrQuery setTermsLimit ( int $limit )
public SolrQuery setTermsLowerBound ( string $lowerBound )
public SolrQuery setTermsMaxCount ( int $frequency )
public SolrQuery setTermsMinCount ( int $frequency )
public SolrQuery setTermsPrefix ( string $prefix )
public SolrQuery setTermsReturnRaw ( bool $flag )
public SolrQuery setTermsSort ( int $sortType )
public SolrQuery setTermsUpperBound ( string $upperBound )
public SolrQuery setTimeAllowed ( int $timeAllowed )
/* Geerbte Methoden */
public SolrModifiableParams::__construct ( void )
public void SolrModifiableParams::__destruct ( void )
}

Vordefinierte Konstanten

SolrQuery::ORDER_ASC

Used to specify that the sorting should be in acending order

SolrQuery::ORDER_DESC

Used to specify that the sorting should be in descending order

SolrQuery::FACET_SORT_INDEX

Used to specify that the facet should sort by index

SolrQuery::FACET_SORT_COUNT

Used to specify that the facet should sort by count

SolrQuery::TERMS_SORT_INDEX

Used in the TermsComponent

SolrQuery::TERMS_SORT_COUNT

Used in the TermsComponent

Inhaltsverzeichnis

  • SolrQuery::addExpandFilterQuery — Overrides main filter query, determines which documents to include in the main group.
  • SolrQuery::addExpandSortField — Orders the documents within the expanded groups (expand.sort parameter).
  • SolrQuery::addFacetDateField — Maps to facet.date
  • SolrQuery::addFacetDateOther — Adds another facet.date.other parameter
  • SolrQuery::addFacetField — Adds another field to the facet
  • SolrQuery::addFacetQuery — Adds a facet query
  • SolrQuery::addField — Specifies which fields to return in the result
  • SolrQuery::addFilterQuery — Specifies a filter query
  • SolrQuery::addGroupField — Add a field to be used to group results.
  • SolrQuery::addGroupFunction — Allows grouping results based on the unique values of a function query (group.func parameter).
  • SolrQuery::addGroupQuery — Allows grouping of documents that match the given query.
  • SolrQuery::addGroupSortField — Add a group sort field (group.sort parameter).
  • SolrQuery::addHighlightField — Maps to hl.fl
  • SolrQuery::addMltField — Sets a field to use for similarity
  • SolrQuery::addMltQueryField — Maps to mlt.qf
  • SolrQuery::addSortField — Used to control how the results should be sorted
  • SolrQuery::addStatsFacet — Requests a return of sub results for values within the given facet
  • SolrQuery::addStatsField — Maps to stats.field parameter
  • SolrQuery::collapse — Collapses the result set to a single document per group
  • SolrQuery::__construct — Constructor
  • SolrQuery::__destruct — Destructor
  • SolrQuery::getExpand — Returns true if group expanding is enabled
  • SolrQuery::getExpandFilterQueries — Returns the expand filter queries
  • SolrQuery::getExpandQuery — Returns the expand query expand.q parameter
  • SolrQuery::getExpandRows — Returns The number of rows to display in each group (expand.rows)
  • SolrQuery::getExpandSortFields — Returns an array of fields
  • SolrQuery::getFacet — Returns the value of the facet parameter
  • SolrQuery::getFacetDateEnd — Returns the value for the facet.date.end parameter
  • SolrQuery::getFacetDateFields — Returns all the facet.date fields
  • SolrQuery::getFacetDateGap — Returns the value of the facet.date.gap parameter
  • SolrQuery::getFacetDateHardEnd — Returns the value of the facet.date.hardend parameter
  • SolrQuery::getFacetDateOther — Returns the value for the facet.date.other parameter
  • SolrQuery::getFacetDateStart — Returns the lower bound for the first date range for all date faceting on this field
  • SolrQuery::getFacetFields — Returns all the facet fields
  • SolrQuery::getFacetLimit — Returns the maximum number of constraint counts that should be returned for the facet fields
  • SolrQuery::getFacetMethod — Returns the value of the facet.method parameter
  • SolrQuery::getFacetMinCount — Returns the minimum counts for facet fields should be included in the response
  • SolrQuery::getFacetMissing — Returns the current state of the facet.missing parameter
  • SolrQuery::getFacetOffset — Returns an offset into the list of constraints to be used for pagination
  • SolrQuery::getFacetPrefix — Returns the facet prefix
  • SolrQuery::getFacetQueries — Returns all the facet queries
  • SolrQuery::getFacetSort — Returns the facet sort type
  • SolrQuery::getFields — Returns the list of fields that will be returned in the response
  • SolrQuery::getFilterQueries — Returns an array of filter queries
  • SolrQuery::getGroup — Returns true if grouping is enabled
  • SolrQuery::getGroupCachePercent — Returns group cache percent value
  • SolrQuery::getGroupFacet — Returns the group.facet parameter value
  • SolrQuery::getGroupFields — Returns group fields (group.field parameter values)
  • SolrQuery::getGroupFormat — Returns the group.format value
  • SolrQuery::getGroupFunctions — Returns group functions (group.func parameter values)
  • SolrQuery::getGroupLimit — Returns the group.limit value
  • SolrQuery::getGroupMain — Returns the group.main value
  • SolrQuery::getGroupNGroups — Returns the group.ngroups value
  • SolrQuery::getGroupOffset — Returns the group.offset value
  • SolrQuery::getGroupQueries — Returns all the group.query parameter values
  • SolrQuery::getGroupSortFields — Returns the group.sort value
  • SolrQuery::getGroupTruncate — Returns the group.truncate value
  • SolrQuery::getHighlight — Returns the state of the hl parameter
  • SolrQuery::getHighlightAlternateField — Returns the highlight field to use as backup or default
  • SolrQuery::getHighlightFields — Returns all the fields that Solr should generate highlighted snippets for
  • SolrQuery::getHighlightFormatter — Returns the formatter for the highlighted output
  • SolrQuery::getHighlightFragmenter — Returns the text snippet generator for highlighted text
  • SolrQuery::getHighlightFragsize — Returns the number of characters of fragments to consider for highlighting
  • SolrQuery::getHighlightHighlightMultiTerm — Returns whether or not to enable highlighting for range/wildcard/fuzzy/prefix queries
  • SolrQuery::getHighlightMaxAlternateFieldLength — Returns the maximum number of characters of the field to return
  • SolrQuery::getHighlightMaxAnalyzedChars — Returns the maximum number of characters into a document to look for suitable snippets
  • SolrQuery::getHighlightMergeContiguous — Returns whether or not the collapse contiguous fragments into a single fragment
  • SolrQuery::getHighlightRegexMaxAnalyzedChars — Returns the maximum number of characters from a field when using the regex fragmenter
  • SolrQuery::getHighlightRegexPattern — Returns the regular expression for fragmenting
  • SolrQuery::getHighlightRegexSlop — Returns the deviation factor from the ideal fragment size
  • SolrQuery::getHighlightRequireFieldMatch — Returns if a field will only be highlighted if the query matched in this particular field
  • SolrQuery::getHighlightSimplePost — Returns the text which appears after a highlighted term
  • SolrQuery::getHighlightSimplePre — Returns the text which appears before a highlighted term
  • SolrQuery::getHighlightSnippets — Returns the maximum number of highlighted snippets to generate per field
  • SolrQuery::getHighlightUsePhraseHighlighter — Returns the state of the hl.usePhraseHighlighter parameter
  • SolrQuery::getMlt — Returns whether or not MoreLikeThis results should be enabled
  • SolrQuery::getMltBoost — Returns whether or not the query will be boosted by the interesting term relevance
  • SolrQuery::getMltCount — Returns the number of similar documents to return for each result
  • SolrQuery::getMltFields — Returns all the fields to use for similarity
  • SolrQuery::getMltMaxNumQueryTerms — Returns the maximum number of query terms that will be included in any generated query
  • SolrQuery::getMltMaxNumTokens — Returns the maximum number of tokens to parse in each document field that is not stored with TermVector support
  • SolrQuery::getMltMaxWordLength — Returns the maximum word length above which words will be ignored
  • SolrQuery::getMltMinDocFrequency — Returns the treshold frequency at which words will be ignored which do not occur in at least this many docs
  • SolrQuery::getMltMinTermFrequency — Returns the frequency below which terms will be ignored in the source document
  • SolrQuery::getMltMinWordLength — Returns the minimum word length below which words will be ignored
  • SolrQuery::getMltQueryFields — Returns the query fields and their boosts
  • SolrQuery::getQuery — Returns the main query
  • SolrQuery::getRows — Returns the maximum number of documents
  • SolrQuery::getSortFields — Returns all the sort fields
  • SolrQuery::getStart — Returns the offset in the complete result set
  • SolrQuery::getStats — Returns whether or not stats is enabled
  • SolrQuery::getStatsFacets — Returns all the stats facets that were set
  • SolrQuery::getStatsFields — Returns all the statistics fields
  • SolrQuery::getTerms — Returns whether or not the TermsComponent is enabled
  • SolrQuery::getTermsField — Returns the field from which the terms are retrieved
  • SolrQuery::getTermsIncludeLowerBound — Returns whether or not to include the lower bound in the result set
  • SolrQuery::getTermsIncludeUpperBound — Returns whether or not to include the upper bound term in the result set
  • SolrQuery::getTermsLimit — Returns the maximum number of terms Solr should return
  • SolrQuery::getTermsLowerBound — Returns the term to start at
  • SolrQuery::getTermsMaxCount — Returns the maximum document frequency
  • SolrQuery::getTermsMinCount — Returns the minimum document frequency to return in order to be included
  • SolrQuery::getTermsPrefix — Returns the term prefix
  • SolrQuery::getTermsReturnRaw — Whether or not to return raw characters
  • SolrQuery::getTermsSort — Returns an integer indicating how terms are sorted
  • SolrQuery::getTermsUpperBound — Returns the term to stop at
  • SolrQuery::getTimeAllowed — Returns the time in milliseconds allowed for the query to finish
  • SolrQuery::removeExpandFilterQuery — Removes an expand filter query
  • SolrQuery::removeExpandSortField — Removes an expand sort field from the expand.sort parameter.
  • SolrQuery::removeFacetDateField — Removes one of the facet date fields
  • SolrQuery::removeFacetDateOther — Removes one of the facet.date.other parameters
  • SolrQuery::removeFacetField — Removes one of the facet.date parameters
  • SolrQuery::removeFacetQuery — Removes one of the facet.query parameters
  • SolrQuery::removeField — Removes a field from the list of fields
  • SolrQuery::removeFilterQuery — Removes a filter query
  • SolrQuery::removeHighlightField — Removes one of the fields used for highlighting
  • SolrQuery::removeMltField — Removes one of the moreLikeThis fields
  • SolrQuery::removeMltQueryField — Removes one of the moreLikeThis query fields
  • SolrQuery::removeSortField — Removes one of the sort fields
  • SolrQuery::removeStatsFacet — Removes one of the stats.facet parameters
  • SolrQuery::removeStatsField — Removes one of the stats.field parameters
  • SolrQuery::setEchoHandler — Toggles the echoHandler parameter
  • SolrQuery::setEchoParams — Determines what kind of parameters to include in the response
  • SolrQuery::setExpand — Enables/Disables the Expand Component
  • SolrQuery::setExpandQuery — Sets the expand.q parameter
  • SolrQuery::setExpandRows — Sets the number of rows to display in each group (expand.rows). Server Default 5
  • SolrQuery::setExplainOther — Sets the explainOther common query parameter
  • SolrQuery::setFacet — Maps to the facet parameter. Enables or disables facetting
  • SolrQuery::setFacetDateEnd — Maps to facet.date.end
  • SolrQuery::setFacetDateGap — Maps to facet.date.gap
  • SolrQuery::setFacetDateHardEnd — Maps to facet.date.hardend
  • SolrQuery::setFacetDateStart — Maps to facet.date.start
  • SolrQuery::setFacetEnumCacheMinDefaultFrequency — Sets the minimum document frequency used for determining term count
  • SolrQuery::setFacetLimit — Maps to facet.limit
  • SolrQuery::setFacetMethod — Specifies the type of algorithm to use when faceting a field
  • SolrQuery::setFacetMinCount — Maps to facet.mincount
  • SolrQuery::setFacetMissing — Maps to facet.missing
  • SolrQuery::setFacetOffset — Sets the offset into the list of constraints to allow for pagination
  • SolrQuery::setFacetPrefix — Specifies a string prefix with which to limits the terms on which to facet
  • SolrQuery::setFacetSort — Determines the ordering of the facet field constraints
  • SolrQuery::setGroup — Enable/Disable result grouping (group parameter)
  • SolrQuery::setGroupCachePercent — Enables caching for result grouping
  • SolrQuery::setGroupFacet — Sets group.facet parameter
  • SolrQuery::setGroupFormat — Sets the group format, result structure (group.format parameter).
  • SolrQuery::setGroupLimit — Specifies the number of results to return for each group. The server default value is 1.
  • SolrQuery::setGroupMain — If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple.
  • SolrQuery::setGroupNGroups — If true, Solr includes the number of groups that have matched the query in the results.
  • SolrQuery::setGroupOffset — Sets the group.offset parameter.
  • SolrQuery::setGroupTruncate — If true, facet counts are based on the most relevant document of each group matching the query.
  • SolrQuery::setHighlight — Enables or disables highlighting
  • SolrQuery::setHighlightAlternateField — Specifies the backup field to use
  • SolrQuery::setHighlightFormatter — Specify a formatter for the highlight output
  • SolrQuery::setHighlightFragmenter — Sets a text snippet generator for highlighted text
  • SolrQuery::setHighlightFragsize — The size of fragments to consider for highlighting
  • SolrQuery::setHighlightHighlightMultiTerm — Use SpanScorer to highlight phrase terms
  • SolrQuery::setHighlightMaxAlternateFieldLength — Sets the maximum number of characters of the field to return
  • SolrQuery::setHighlightMaxAnalyzedChars — Specifies the number of characters into a document to look for suitable snippets
  • SolrQuery::setHighlightMergeContiguous — Whether or not to collapse contiguous fragments into a single fragment
  • SolrQuery::setHighlightRegexMaxAnalyzedChars — Specify the maximum number of characters to analyze
  • SolrQuery::setHighlightRegexPattern — Specify the regular expression for fragmenting
  • SolrQuery::setHighlightRegexSlop — Sets the factor by which the regex fragmenter can stray from the ideal fragment size
  • SolrQuery::setHighlightRequireFieldMatch — Require field matching during highlighting
  • SolrQuery::setHighlightSimplePost — Sets the text which appears after a highlighted term
  • SolrQuery::setHighlightSimplePre — Sets the text which appears before a highlighted term
  • SolrQuery::setHighlightSnippets — Sets the maximum number of highlighted snippets to generate per field
  • SolrQuery::setHighlightUsePhraseHighlighter — Whether to highlight phrase terms only when they appear within the query phrase
  • SolrQuery::setMlt — Enables or disables moreLikeThis
  • SolrQuery::setMltBoost — Set if the query will be boosted by the interesting term relevance
  • SolrQuery::setMltCount — Set the number of similar documents to return for each result
  • SolrQuery::setMltMaxNumQueryTerms — Sets the maximum number of query terms included
  • SolrQuery::setMltMaxNumTokens — Specifies the maximum number of tokens to parse
  • SolrQuery::setMltMaxWordLength — Sets the maximum word length
  • SolrQuery::setMltMinDocFrequency — Sets the mltMinDoc frequency
  • SolrQuery::setMltMinTermFrequency — Sets the frequency below which terms will be ignored in the source docs
  • SolrQuery::setMltMinWordLength — Sets the minimum word length
  • SolrQuery::setOmitHeader — Exclude the header from the returned results
  • SolrQuery::setQuery — Sets the search query
  • SolrQuery::setRows — Specifies the maximum number of rows to return in the result
  • SolrQuery::setShowDebugInfo — Flag to show debug information
  • SolrQuery::setStart — Specifies the number of rows to skip
  • SolrQuery::setStats — Enables or disables the Stats component
  • SolrQuery::setTerms — Enables or disables the TermsComponent
  • SolrQuery::setTermsField — Sets the name of the field to get the Terms from
  • SolrQuery::setTermsIncludeLowerBound — Include the lower bound term in the result set
  • SolrQuery::setTermsIncludeUpperBound — Include the upper bound term in the result set
  • SolrQuery::setTermsLimit — Sets the maximum number of terms to return
  • SolrQuery::setTermsLowerBound — Specifies the Term to start from
  • SolrQuery::setTermsMaxCount — Sets the maximum document frequency
  • SolrQuery::setTermsMinCount — Sets the minimum document frequency
  • SolrQuery::setTermsPrefix — Restrict matches to terms that start with the prefix
  • SolrQuery::setTermsReturnRaw — Return the raw characters of the indexed term
  • SolrQuery::setTermsSort — Specifies how to sort the returned terms
  • SolrQuery::setTermsUpperBound — Sets the term to stop at
  • SolrQuery::setTimeAllowed — The time allowed for search to finish
SolrModifiableParams::__destruct
SolrQuery::addExpandFilterQuery
Solr


Overrides main filter query, determines which documents to include in the main group.

SolrQuery
SolrQuery::addExpandSortField
SolrQuery
PHP Manual

SolrQuery::addExpandFilterQuery

(PECL solr >= 2.2.0)

SolrQuery::addExpandFilterQuery — Overrides main filter query, determines which documents to include in the main group.

Beschreibung

public SolrQuery SolrQuery::addExpandFilterQuery ( string $fq )

Overrides main filter query, determines which documents to include in the main group.

Parameter-Liste

fq

Rückgabewerte

SolrQuery

Siehe auch

  • SolrQuery::setExpand() - Enables/Disables the Expand Component
  • SolrQuery::addExpandSortField() - Orders the documents within the expanded groups (expand.sort parameter).
  • SolrQuery::removeExpandSortField() - Removes an expand sort field from the expand.sort parameter.
  • SolrQuery::setExpandRows() - Sets the number of rows to display in each group (expand.rows). Server Default 5
  • SolrQuery::setExpandQuery() - Sets the expand.q parameter
  • SolrQuery::removeExpandFilterQuery() - Removes an expand filter query
SolrQuery
SolrQuery::addExpandSortField
SolrQuery


Orders the documents within the expanded groups (expand.sort parameter).

SolrQuery::addExpandFilterQuery
SolrQuery::addFacetDateField
SolrQuery
PHP Manual

SolrQuery::addExpandSortField

(PECL solr >= 2.2.0)

SolrQuery::addExpandSortField — Orders the documents within the expanded groups (expand.sort parameter).

Beschreibung

public SolrQuery SolrQuery::addExpandSortField ( string $field [, string $order ] )

Orders the documents within the expanded groups (expand.sort parameter).

Parameter-Liste

field

field name

order

Order ASC/DESC, utilizes SolrQuery::ORDER_* constants.

Default: SolrQuery::ORDER_DESC

Rückgabewerte

SolrQuery

Siehe auch

  • SolrQuery::setExpand() - Enables/Disables the Expand Component
  • SolrQuery::removeExpandSortField() - Removes an expand sort field from the expand.sort parameter.
  • SolrQuery::setExpandRows() - Sets the number of rows to display in each group (expand.rows). Server Default 5
  • SolrQuery::setExpandQuery() - Sets the expand.q parameter
  • SolrQuery::addExpandFilterQuery() - Overrides main filter query, determines which documents to include in the main group.
  • SolrQuery::removeExpandFilterQuery() - Removes an expand filter query
SolrQuery::addExpandFilterQuery
SolrQuery::addFacetDateField
SolrQuery


Maps to facet.date

SolrQuery::addExpandSortField
SolrQuery::addFacetDateOther
SolrQuery
PHP Manual

SolrQuery::addFacetDateField

(PECL solr >= 0.9.2)

SolrQuery::addFacetDateField — Maps to facet.date

Beschreibung

public SolrQuery SolrQuery::addFacetDateField ( string $dateField )

This method allows you to specify a field which should be treated as a facet.

It can be used multiple times with different field names to indicate multiple facet fields

Parameter-Liste

dateField

The name of the date field.

Rückgabewerte

Returns a SolrQuery object.

SolrQuery::addExpandSortField
SolrQuery::addFacetDateOther
SolrQuery


Adds another facet.date.other parameter

SolrQuery::addFacetDateField
SolrQuery::addFacetField
SolrQuery
PHP Manual

SolrQuery::addFacetDateOther

(PECL solr >= 0.9.2)

SolrQuery::addFacetDateOther — Adds another facet.date.other parameter

Beschreibung

public SolrQuery SolrQuery::addFacetDateOther ( string $value [, string $field_override ] )

Sets the facet.date.other parameter. Accepts an optional field override

Parameter-Liste

value

The value to use.

field_override

The field name for the override.

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::addFacetDateField
SolrQuery::addFacetField
SolrQuery


Adds another field to the facet

SolrQuery::addFacetDateOther
SolrQuery::addFacetQuery
SolrQuery
PHP Manual

SolrQuery::addFacetField

(PECL solr >= 0.9.2)

SolrQuery::addFacetField — Adds another field to the facet

Beschreibung

public SolrQuery SolrQuery::addFacetField ( string $field )

Adds another field to the facet

Parameter-Liste

field

The name of the field

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

Beispiele

Beispiel #1 SolrQuery::addFacetField() example

<?php

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setQuery($query);

$query->addField('price')->addField('color');

$query->setFacet(true);

$query->addFacetField('price')->addFacetField('color');

$query_response = $client->query($query);

$response = $query_response->getResponse();

print_r($response['facet_counts']['facet_fields']);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

SolrObject Object
(
    [color] => SolrObject Object
        (
            [blue] => 20
            [green] => 100
        )

)

SolrQuery::addFacetDateOther
SolrQuery::addFacetQuery
SolrQuery


Adds a facet query

SolrQuery::addFacetField
SolrQuery::addField
SolrQuery
PHP Manual

SolrQuery::addFacetQuery

(PECL solr >= 0.9.2)

SolrQuery::addFacetQuery — Adds a facet query

Beschreibung

public SolrQuery SolrQuery::addFacetQuery ( string $facetQuery )

Adds a facet query

Parameter-Liste

facetQuery

The facet query

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

Beispiele

Beispiel #1 SolrQuery::addFacetField() example

<?php

$options = array
(
        'hostname' => SOLR_SERVER_HOSTNAME,
        'login'    => SOLR_SERVER_USERNAME,
        'password' => SOLR_SERVER_PASSWORD,
        'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery('*:*');

$query->setFacet(true);

$query->addFacetQuery('price:[* TO 500]')->addFacetQuery('price:[500 TO *]');

$query_response = $client->query($query);

$response = $query_response->getResponse();

print_r($response->facet_counts->facet_queries);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

SolrObject Object
(
    [price:[* TO 500]] => 14
    [price:[500 TO *]] => 2
)

SolrQuery::addFacetField
SolrQuery::addField
SolrQuery


Specifies which fields to return in the result

SolrQuery::addFacetQuery
SolrQuery::addFilterQuery
SolrQuery
PHP Manual

SolrQuery::addField

(PECL solr >= 0.9.2)

SolrQuery::addField — Specifies which fields to return in the result

Beschreibung

public SolrQuery SolrQuery::addField ( string $field )

This method is used to used to specify a set of fields to return, thereby restricting the amount of data returned in the response.

It should be called multiple time, once for each field name.

Parameter-Liste

field

The name of the field

Rückgabewerte

Returns the current SolrQuery object

SolrQuery::addFacetQuery
SolrQuery::addFilterQuery
SolrQuery


Specifies a filter query

SolrQuery::addField
SolrQuery::addGroupField
SolrQuery
PHP Manual

SolrQuery::addFilterQuery

(PECL solr >= 0.9.2)

SolrQuery::addFilterQuery — Specifies a filter query

Beschreibung

public SolrQuery SolrQuery::addFilterQuery ( string $fq )

Specifies a filter query

Parameter-Liste

fq

The filter query

Rückgabewerte

Returns the current SolrQuery object.

Beispiele

Beispiel #1 SolrQuery::addFilterQuery() example

<?php

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setQuery('*:*');

$query->addFilterQuery('color:blue,green');

$query_response = $client->query($query);

$response = $query_response->getResponse();

print_r($response['facet_counts']['facet_fields']);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

 &fq=color:blue,green

SolrQuery::addField
SolrQuery::addGroupField
SolrQuery


Add a field to be used to group results.

SolrQuery::addFilterQuery
SolrQuery::addGroupFunction
SolrQuery
PHP Manual

SolrQuery::addGroupField

(PECL solr >= 2.2.0)

SolrQuery::addGroupField — Add a field to be used to group results.

Beschreibung

public SolrQuery SolrQuery::addGroupField ( string $value )

The name of the field by which to group results. The field must be single-valued, and either be indexed or a field type that has a value source and works in a function query, such as ExternalFileField. It must also be a string-based field, such as StrField or TextField Uses group.field parameter

Parameter-Liste

value

Siehe auch

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)
  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter).
  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query.
  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter).
  • SolrQuery::setGroupFacet() - Sets group.facet parameter
  • SolrQuery::setGroupOffset() - Sets the group.offset parameter.
  • SolrQuery::setGroupLimit() - Specifies the number of results to return for each group. The server default value is 1.
  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple.
  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results.
  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query.
  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter).
  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping
SolrQuery::addFilterQuery
SolrQuery::addGroupFunction
SolrQuery


Allows grouping results based on the unique values of a function query (group.func parameter).

SolrQuery::addGroupField
SolrQuery::addGroupQuery
SolrQuery
PHP Manual

SolrQuery::addGroupFunction

(PECL solr >= 2.2.0)

SolrQuery::addGroupFunction — Allows grouping results based on the unique values of a function query (group.func parameter).

Beschreibung

public SolrQuery SolrQuery::addGroupFunction ( string $value )

Adds a group function (group.func parameter) Allows grouping results based on the unique values of a function query.

Parameter-Liste

value

Rückgabewerte

SolrQuery

Siehe auch

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)
  • SolrQuery::addGroupField() - Add a field to be used to group results.
  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query.
  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter).
  • SolrQuery::setGroupFacet() - Sets group.facet parameter
  • SolrQuery::setGroupOffset() - Sets the group.offset parameter.
  • SolrQuery::setGroupLimit() - Specifies the number of results to return for each group. The server default value is 1.
  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple.
  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results.
  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query.
  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter).
  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping
SolrQuery::addGroupField
SolrQuery::addGroupQuery
SolrQuery


Allows grouping of documents that match the given query.

SolrQuery::addGroupFunction
SolrQuery::addGroupSortField
SolrQuery
PHP Manual

SolrQuery::addGroupQuery

(PECL solr >= 2.2.0)

SolrQuery::addGroupQuery — Allows grouping of documents that match the given query.

Beschreibung

public SolrQuery SolrQuery::addGroupQuery ( string $value )

Allows grouping of documents that match the given query. Adds query to the group.query parameter

Parameter-Liste

value

Rückgabewerte

SolrQuery

Siehe auch

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)
  • SolrQuery::addGroupField() - Add a field to be used to group results.
  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter).
  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter).
  • SolrQuery::setGroupFacet() - Sets group.facet parameter
  • SolrQuery::setGroupOffset() - Sets the group.offset parameter.
  • SolrQuery::setGroupLimit() - Specifies the number of results to return for each group. The server default value is 1.
  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple.
  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results.
  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query.
  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter).
  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping
SolrQuery::addGroupFunction
SolrQuery::addGroupSortField
SolrQuery


Add a group sort field (group.sort parameter).

SolrQuery::addGroupQuery
SolrQuery::addHighlightField
SolrQuery
PHP Manual

SolrQuery::addGroupSortField

(PECL solr >= 2.2.0)

SolrQuery::addGroupSortField — Add a group sort field (group.sort parameter).

Beschreibung

public SolrQuery SolrQuery::addGroupSortField ( string $field [, integer $order ] )

Allow sorting group documents, using group sort field (group.sort parameter).

Parameter-Liste

field

Field name

order

Order ASC/DESC, utilizes SolrQuery::ORDER_* constants

Rückgabewerte

Beispiele

Beispiel #1 SolrQuery::addGroupSortField() example

<?php

$solrQuery = new SolrQuery('*:*');
$solrQuery
    ->setGroup(true)
    ->addGroupSortField('price', SolrQuery::ORDER_ASC);

echo $solrQuery;
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

q=*:*&group=true&group.sort=price asc

Siehe auch

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)
  • SolrQuery::addGroupField() - Add a field to be used to group results.
  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter).
  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query.
  • SolrQuery::setGroupFacet() - Sets group.facet parameter
  • SolrQuery::setGroupOffset() - Sets the group.offset parameter.
  • SolrQuery::setGroupLimit() - Specifies the number of results to return for each group. The server default value is 1.
  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple.
  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results.
  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query.
  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter).
  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping
SolrQuery::addGroupQuery
SolrQuery::addHighlightField
SolrQuery


Maps to hl.fl

SolrQuery::addGroupSortField
SolrQuery::addMltField
SolrQuery
PHP Manual

SolrQuery::addHighlightField

(PECL solr >= 0.9.2)

SolrQuery::addHighlightField — Maps to hl.fl

Beschreibung

public SolrQuery SolrQuery::addHighlightField ( string $field )

Maps to hl.fl. This is used to specify that highlighted snippets should be generated for a particular field

Parameter-Liste

field

Name of the field

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::addGroupSortField
SolrQuery::addMltField
SolrQuery


Sets a field to use for similarity

SolrQuery::addHighlightField
SolrQuery::addMltQueryField
SolrQuery
PHP Manual

SolrQuery::addMltField

(PECL solr >= 0.9.2)

SolrQuery::addMltField — Sets a field to use for similarity

Beschreibung

public SolrQuery SolrQuery::addMltField ( string $field )

Maps to mlt.fl. It specifies that a field should be used for similarity.

Parameter-Liste

field

The name of the field

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::addHighlightField
SolrQuery::addMltQueryField
SolrQuery


Maps to mlt.qf

SolrQuery::addMltField
SolrQuery::addSortField
SolrQuery
PHP Manual

SolrQuery::addMltQueryField

(PECL solr >= 0.9.2)

SolrQuery::addMltQueryField — Maps to mlt.qf

Beschreibung

public SolrQuery SolrQuery::addMltQueryField ( string $field , float $boost )

Maps to mlt.qf. It is used to specify query fields and their boosts

Parameter-Liste

field

The name of the field

boost

Its boost value

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::addMltField
SolrQuery::addSortField
SolrQuery


Used to control how the results should be sorted

SolrQuery::addMltQueryField
SolrQuery::addStatsFacet
SolrQuery
PHP Manual

SolrQuery::addSortField

(PECL solr >= 0.9.2)

SolrQuery::addSortField — Used to control how the results should be sorted

Beschreibung

public SolrQuery SolrQuery::addSortField ( string $field [, int $order = SolrQuery::ORDER_DESC ] )

Used to control how the results should be sorted.

Parameter-Liste

field

The name of the field

order

The sort direction. This should be either SolrQuery::ORDER_ASC or SolrQuery::ORDER_DESC.

Rückgabewerte

Returns the current SolrQuery object.

SolrQuery::addMltQueryField
SolrQuery::addStatsFacet
SolrQuery


Requests a return of sub results for values within the given facet

SolrQuery::addSortField
SolrQuery::addStatsField
SolrQuery
PHP Manual

SolrQuery::addStatsFacet

(PECL solr >= 0.9.2)

SolrQuery::addStatsFacet — Requests a return of sub results for values within the given facet

Beschreibung

public SolrQuery SolrQuery::addStatsFacet ( string $field )

Requests a return of sub results for values within the given facet. Maps to the stats.facet field

Parameter-Liste

field

The name of the field

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::addSortField
SolrQuery::addStatsField
SolrQuery


Maps to stats.field parameter

SolrQuery::addStatsFacet
SolrQuery::collapse
SolrQuery
PHP Manual

SolrQuery::addStatsField

(PECL solr >= 0.9.2)

SolrQuery::addStatsField — Maps to stats.field parameter

Beschreibung

public SolrQuery SolrQuery::addStatsField ( string $field )

Maps to stats.field parameter This methods adds another stats.field parameter.

Parameter-Liste

field

The name of the field

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::addStatsFacet
SolrQuery::collapse
SolrQuery


Collapses the result set to a single document per group

SolrQuery::addStatsField
SolrQuery::__construct
SolrQuery
PHP Manual

SolrQuery::collapse

(No version information available, might only be in Git)

SolrQuery::collapse — Collapses the result set to a single document per group

Beschreibung

public SolrQuery SolrQuery::collapse ( SolrCollapseFunction $collapseFunction )

Collapses the result set to a single document per group before it forwards the result set to the rest of the search components.

So all downstream components (faceting, highlighting, etc...) will work with the collapsed result set.

Parameter-Liste

collapseFunction

Rückgabewerte

Returns the current SolrQuery object

Beispiele

Beispiel #1 SolrQuery::collapse() example

<?php

include "bootstrap.php";

$options = array
(
        'hostname' => SOLR_SERVER_HOSTNAME,
        'login'    => SOLR_SERVER_USERNAME,
        'password' => SOLR_SERVER_PASSWORD,
        'port'     => SOLR_SERVER_PORT,
        'path'     => SOLR_SERVER_PATH
);

$client = new SolrClient($options);

$query = new SolrQuery('*:*');

$collapseFunction = new SolrCollapseFunction('manu_id_s');

$collapseFunction
->setSize(2)
->setNullPolicy(SolrCollapseFunction::NULLPOLICY_IGNORE);

$query
->collapse($collapseFunction)
->setRows(4);

$queryResponse = $client->query($query);

$response = $queryResponse->getResponse();

print_r($response);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 1
            [params] => SolrObject Object
                (
                    [q] => *:*
                    [indent] => on
                    [fq] => {!collapse field=manu_id_s size=2 nullPolicy=ignore}
                    [rows] => 4
                    [version] => 2.2
                    [wt] => xml
                )

        )

    [response] => SolrObject Object
        (
            [numFound] => 14
            [start] => 0
            [docs] => Array
                (
                    [0] => SolrObject Object
                        (
                            [id] => SP2514N
                            [name] => Array
                                (
                                    [0] => Samsung SpinPoint P120 SP2514N - hard drive - 250 GB - ATA-133
                                )

                            [manu] => Array
                                (
                                    [0] => Samsung Electronics Co. Ltd.
                                )

                            [manu_id_s] => samsung
                            [cat] => Array
                                (
                                    [0] => electronics
                                    [1] => hard drive
                                )

                            [features] => Array
                                (
                                    [0] => 7200RPM, 8MB cache, IDE Ultra ATA-133
                                    [1] => NoiseGuard, SilentSeek technology, Fluid Dynamic Bearing (FDB) motor
                                )

                            [price] => Array
                                (
                                    [0] => 92
                                )

                            [popularity] => Array
                                (
                                    [0] => 6
                                )

                            [inStock] => Array
                                (
                                    [0] => 1
                                )

                            [manufacturedate_dt] => 2006-02-13T15:26:37Z
                            [store] => Array
                                (
                                    [0] => 35.0752,-97.032
                                )

                            [_version_] => 1510294336412057600
                        )

                    [1] => SolrObject Object
                        (
                            [id] => 6H500F0
                            [name] => Array
                                (
                                    [0] => Maxtor DiamondMax 11 - hard drive - 500 GB - SATA-300
                                )

                            [manu] => Array
                                (
                                    [0] => Maxtor Corp.
                                )

                            [manu_id_s] => maxtor
                            [cat] => Array
                                (
                                    [0] => electronics
                                    [1] => hard drive
                                )

                            [features] => Array
                                (
                                    [0] => SATA 3.0Gb/s, NCQ
                                    [1] => 8.5ms seek
                                    [2] => 16MB cache
                                )

                            [price] => Array
                                (
                                    [0] => 350
                                )

                            [popularity] => Array
                                (
                                    [0] => 6
                                )

                            [inStock] => Array
                                (
                                    [0] => 1
                                )

                            [store] => Array
                                (
                                    [0] => 45.17614,-93.87341
                                )

                            [manufacturedate_dt] => 2006-02-13T15:26:37Z
                            [_version_] => 1510294336449806336
                        )

                    [2] => SolrObject Object
                        (
                            [id] => F8V7067-APL-KIT
                            [name] => Array
                                (
                                    [0] => Belkin Mobile Power Cord for iPod w/ Dock
                                )

                            [manu] => Array
                                (
                                    [0] => Belkin
                                )

                            [manu_id_s] => belkin
                            [cat] => Array
                                (
                                    [0] => electronics
                                    [1] => connector
                                )

                            [features] => Array
                                (
                                    [0] => car power adapter, white
                                )

                            [weight] => Array
                                (
                                    [0] => 4
                                )

                            [price] => Array
                                (
                                    [0] => 19.95
                                )

                            [popularity] => Array
                                (
                                    [0] => 1
                                )

                            [inStock] => Array
                                (
                                    [0] =>
                                )

                            [store] => Array
                                (
                                    [0] => 45.18014,-93.87741
                                )

                            [manufacturedate_dt] => 2005-08-01T16:30:25Z
                            [_version_] => 1510294336458194944
                        )

                    [3] => SolrObject Object
                        (
                            [id] => MA147LL/A
                            [name] => Array
                                (
                                    [0] => Apple 60 GB iPod with Video Playback Black
                                )

                            [manu] => Array
                                (
                                    [0] => Apple Computer Inc.
                                )

                            [manu_id_s] => apple
                            [cat] => Array
                                (
                                    [0] => electronics
                                    [1] => music
                                )

                            [features] => Array
                                (
                                    [0] => iTunes, Podcasts, Audiobooks
                                    [1] => Stores up to 15,000 songs, 25,000 photos, or 150 hours of video
                                    [2] => 2.5-inch, 320x240 color TFT LCD display with LED backlight
                                    [3] => Up to 20 hours of battery life
                                    [4] => Plays AAC, MP3, WAV, AIFF, Audible, Apple Lossless, H.264 video
                                    [5] => Notes, Calendar, Phone book, Hold button, Date display, Photo wallet, Built-in games, JPEG photo playback, Upgradeable firmware, USB 2.0 compatibility, Playback speed control, Rechargeable capability, Battery level indication
                                )

                            [includes] => Array
                                (
                                    [0] => earbud headphones, USB cable
                                )

                            [weight] => Array
                                (
                                    [0] => 5.5
                                )

                            [price] => Array
                                (
                                    [0] => 399
                                )

                            [popularity] => Array
                                (
                                    [0] => 10
                                )

                            [inStock] => Array
                                (
                                    [0] => 1
                                )

                            [store] => Array
                                (
                                    [0] => 37.7752,-100.0232
                                )

                            [manufacturedate_dt] => 2005-10-12T08:00:00Z
                            [_version_] => 1510294336562003968
                        )

                )

        )

)
SolrQuery::addStatsField
SolrQuery::__construct
SolrQuery


Constructor

SolrQuery::collapse
SolrQuery::__destruct
SolrQuery
PHP Manual

SolrQuery::__construct

(PECL solr >= 0.9.2)

SolrQuery::__construct — Constructor

Beschreibung

public SolrQuery::__construct ([ string $q ] )

Constructor.

Parameter-Liste

q

Optional search query

Rückgabewerte

None

Fehler/Exceptions

Emits SolrIllegalArgumentException in case of an invalid parameter was passed.

Changelog

Version | Beschreibung
2.0.0 | If q was invalid, then a SolrIllegalArgumentException is now thrown. Previously an error was emitted.

SolrQuery::collapse
SolrQuery::__destruct
SolrQuery


Destructor

SolrQuery::__construct
SolrQuery::getExpand
SolrQuery
PHP Manual

SolrQuery::__destruct

(PECL solr >= 0.9.2)

SolrQuery::__destruct — Destructor

Beschreibung

public void SolrQuery::__destruct ( void )

Destructor

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

None.

SolrQuery::__construct
SolrQuery::getExpand
SolrQuery


Returns true if group expanding is enabled

SolrQuery::__destruct
SolrQuery::getExpandFilterQueries
SolrQuery
PHP Manual

SolrQuery::getExpand

(PECL solr >= 2.2.0)

SolrQuery::getExpand — Returns true if group expanding is enabled

Beschreibung

public bool SolrQuery::getExpand ( void )

Returns TRUE if group expanding is enabled

SolrQuery::__destruct
SolrQuery::getExpandFilterQueries
SolrQuery


Returns the expand filter queries

SolrQuery::getExpand
SolrQuery::getExpandQuery
SolrQuery
PHP Manual

SolrQuery::getExpandFilterQueries

(PECL solr >= 2.2.0)

SolrQuery::getExpandFilterQueries — Returns the expand filter queries

Beschreibung

public array SolrQuery::getExpandFilterQueries ( void )

Returns the expand filter queries

SolrQuery::getExpand
SolrQuery::getExpandQuery
SolrQuery


Returns the expand query expand.q parameter

SolrQuery::getExpandFilterQueries
SolrQuery::getExpandRows
SolrQuery
PHP Manual

SolrQuery::getExpandQuery

(PECL solr >= 2.2.0)

SolrQuery::getExpandQuery — Returns the expand query expand.q parameter

Beschreibung

public array SolrQuery::getExpandQuery ( void )

Returns the expand query expand.q parameter

SolrQuery::getExpandFilterQueries
SolrQuery::getExpandRows
SolrQuery


Returns The number of rows to display in each group (expand.rows)

SolrQuery::getExpandQuery
SolrQuery::getExpandSortFields
SolrQuery
PHP Manual

SolrQuery::getExpandRows

(PECL solr >= 2.2.0)

SolrQuery::getExpandRows — Returns The number of rows to display in each group (expand.rows)

Beschreibung

public integer SolrQuery::getExpandRows ( void )

Returns The number of rows to display in each group (expand.rows)

SolrQuery::getExpandQuery
SolrQuery::getExpandSortFields
SolrQuery


Returns an array of fields

SolrQuery::getExpandRows
SolrQuery::getFacet
SolrQuery
PHP Manual

SolrQuery::getExpandSortFields

(PECL solr >= 2.2.0)

SolrQuery::getExpandSortFields — Returns an array of fields

Beschreibung

public array SolrQuery::getExpandSortFields ( void )

Returns an array of fields

SolrQuery::getExpandRows
SolrQuery::getFacet
SolrQuery


Returns the value of the facet parameter

SolrQuery::getExpandSortFields
SolrQuery::getFacetDateEnd
SolrQuery
PHP Manual

SolrQuery::getFacet

(PECL solr >= 0.9.2)

SolrQuery::getFacet — Returns the value of the facet parameter

Beschreibung

public bool SolrQuery::getFacet ( void )

Returns the value of the facet parameter.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a boolean on success and NULL if not set

SolrQuery::getExpandSortFields
SolrQuery::getFacetDateEnd
SolrQuery


Returns the value for the facet.date.end parameter

SolrQuery::getFacet
SolrQuery::getFacetDateFields
SolrQuery
PHP Manual

SolrQuery::getFacetDateEnd

(PECL solr >= 0.9.2)

SolrQuery::getFacetDateEnd — Returns the value for the facet.date.end parameter

Beschreibung

public string SolrQuery::getFacetDateEnd ([ string $field_override ] )

Returns the value for the facet.date.end parameter. This method accepts an optional field override

Parameter-Liste

field_override

The name of the field

Rückgabewerte

Returns a string on success and NULL if not set

SolrQuery::getFacet
SolrQuery::getFacetDateFields
SolrQuery


Returns all the facet.date fields

SolrQuery::getFacetDateEnd
SolrQuery::getFacetDateGap
SolrQuery
PHP Manual

SolrQuery::getFacetDateFields

(PECL solr >= 0.9.2)

SolrQuery::getFacetDateFields — Returns all the facet.date fields

Beschreibung

public array SolrQuery::getFacetDateFields ( void )

Returns all the facet.date fields

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns all the facet.date fields as an array or NULL if none was set

SolrQuery::getFacetDateEnd
SolrQuery::getFacetDateGap
SolrQuery


Returns the value of the facet.date.gap parameter

SolrQuery::getFacetDateFields
SolrQuery::getFacetDateHardEnd
SolrQuery
PHP Manual

SolrQuery::getFacetDateGap

(PECL solr >= 0.9.2)

SolrQuery::getFacetDateGap — Returns the value of the facet.date.gap parameter

Beschreibung

public string SolrQuery::getFacetDateGap ([ string $field_override ] )

Returns the value of the facet.date.gap parameter. It accepts an optional field override

Parameter-Liste

field_override

The name of the field

Rückgabewerte

Returns a string on success and NULL if not set

SolrQuery::getFacetDateFields
SolrQuery::getFacetDateHardEnd
SolrQuery


Returns the value of the facet.date.hardend parameter

SolrQuery::getFacetDateGap
SolrQuery::getFacetDateOther
SolrQuery
PHP Manual

SolrQuery::getFacetDateHardEnd

(PECL solr >= 0.9.2)

SolrQuery::getFacetDateHardEnd — Returns the value of the facet.date.hardend parameter

Beschreibung

public string SolrQuery::getFacetDateHardEnd ([ string $field_override ] )

Returns the value of the facet.date.hardend parameter. Accepts an optional field override

Parameter-Liste

field_override

The name of the field

Rückgabewerte

Returns a string on success and NULL if not set

SolrQuery::getFacetDateGap
SolrQuery::getFacetDateOther
SolrQuery


Returns the value for the facet.date.other parameter

SolrQuery::getFacetDateHardEnd
SolrQuery::getFacetDateStart
SolrQuery
PHP Manual

SolrQuery::getFacetDateOther

(PECL solr >= 0.9.2)

SolrQuery::getFacetDateOther — Returns the value for the facet.date.other parameter

Beschreibung

public array SolrQuery::getFacetDateOther ([ string $field_override ] )

Returns the value for the facet.date.other parameter. This method accepts an optional field override.

Parameter-Liste

field_override

The name of the field

Rückgabewerte

Returns a string on success and NULL if not set.

SolrQuery::getFacetDateHardEnd
SolrQuery::getFacetDateStart
SolrQuery


Returns the lower bound for the first date range for all date faceting on this field

SolrQuery::getFacetDateOther
SolrQuery::getFacetFields
SolrQuery
PHP Manual

SolrQuery::getFacetDateStart

(PECL solr >= 0.9.2)

SolrQuery::getFacetDateStart — Returns the lower bound for the first date range for all date faceting on this field

Beschreibung

public string SolrQuery::getFacetDateStart ([ string $field_override ] )

Returns the lower bound for the first date range for all date faceting on this field. Accepts an optional field override

Parameter-Liste

field_override

The name of the field

Rückgabewerte

Returns a string on success and NULL if not set

SolrQuery::getFacetDateOther
SolrQuery::getFacetFields
SolrQuery


Returns all the facet fields

SolrQuery::getFacetDateStart
SolrQuery::getFacetLimit
SolrQuery
PHP Manual

SolrQuery::getFacetFields

(PECL solr >= 0.9.2)

SolrQuery::getFacetFields — Returns all the facet fields

Beschreibung

public array SolrQuery::getFacetFields ( void )

Returns all the facet fields

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array of all the fields and NULL if none was set

SolrQuery::getFacetDateStart
SolrQuery::getFacetLimit
SolrQuery


Returns the maximum number of constraint counts that should be returned for the facet fields

SolrQuery::getFacetFields
SolrQuery::getFacetMethod
SolrQuery
PHP Manual

SolrQuery::getFacetLimit

(PECL solr >= 0.9.2)

SolrQuery::getFacetLimit — Returns the maximum number of constraint counts that should be returned for the facet fields

Beschreibung

public int SolrQuery::getFacetLimit ([ string $field_override ] )

Returns the maximum number of constraint counts that should be returned for the facet fields. This method accepts an optional field override

Parameter-Liste

field_override

The name of the field to override for

Rückgabewerte

Returns an integer on success and NULL if not set

SolrQuery::getFacetFields
SolrQuery::getFacetMethod
SolrQuery


Returns the value of the facet.method parameter

SolrQuery::getFacetLimit
SolrQuery::getFacetMinCount
SolrQuery
PHP Manual

SolrQuery::getFacetMethod

(PECL solr >= 0.9.2)

SolrQuery::getFacetMethod — Returns the value of the facet.method parameter

Beschreibung

public string SolrQuery::getFacetMethod ([ string $field_override ] )

Returns the value of the facet.method parameter. This accepts an optional field override.

Parameter-Liste

field_override

The name of the field

Rückgabewerte

Returns a string on success and NULL if not set

SolrQuery::getFacetLimit
SolrQuery::getFacetMinCount
SolrQuery


Returns the minimum counts for facet fields should be included in the response

SolrQuery::getFacetMethod
SolrQuery::getFacetMissing
SolrQuery
PHP Manual

SolrQuery::getFacetMinCount

(PECL solr >= 0.9.2)

SolrQuery::getFacetMinCount — Returns the minimum counts for facet fields should be included in the response

Beschreibung

public int SolrQuery::getFacetMinCount ([ string $field_override ] )

Returns the minimum counts for facet fields should be included in the response. It accepts an optional field override

Parameter-Liste

field_override

The name of the field

Rückgabewerte

Returns an integer on success and NULL if not set

SolrQuery::getFacetMethod
SolrQuery::getFacetMissing
SolrQuery


Returns the current state of the facet.missing parameter

SolrQuery::getFacetMinCount
SolrQuery::getFacetOffset
SolrQuery
PHP Manual

SolrQuery::getFacetMissing

(PECL solr >= 0.9.2)

SolrQuery::getFacetMissing — Returns the current state of the facet.missing parameter

Beschreibung

public bool SolrQuery::getFacetMissing ([ string $field_override ] )

Returns the current state of the facet.missing parameter. This accepts an optional field override

Parameter-Liste

field_override

The name of the field

Rückgabewerte

Returns a boolean on success and NULL if not set

SolrQuery::getFacetMinCount
SolrQuery::getFacetOffset
SolrQuery


Returns an offset into the list of constraints to be used for pagination

SolrQuery::getFacetMissing
SolrQuery::getFacetPrefix
SolrQuery
PHP Manual

SolrQuery::getFacetOffset

(PECL solr >= 0.9.2)

SolrQuery::getFacetOffset — Returns an offset into the list of constraints to be used for pagination

Beschreibung

public int SolrQuery::getFacetOffset ([ string $field_override ] )

Returns an offset into the list of constraints to be used for pagination. Accepts an optional field override

Parameter-Liste

field_override

The name of the field to override for.

Rückgabewerte

Returns an integer on success and NULL if not set

SolrQuery::getFacetMissing
SolrQuery::getFacetPrefix
SolrQuery


Returns the facet prefix

SolrQuery::getFacetOffset
SolrQuery::getFacetQueries
SolrQuery
PHP Manual

SolrQuery::getFacetPrefix

(PECL solr >= 0.9.2)

SolrQuery::getFacetPrefix — Returns the facet prefix

Beschreibung

public string SolrQuery::getFacetPrefix ([ string $field_override ] )

Returns the facet prefix

Parameter-Liste

field_override

The name of the field

Rückgabewerte

Returns a string on success and NULL if not set.

SolrQuery::getFacetOffset
SolrQuery::getFacetQueries
SolrQuery


Returns all the facet queries

SolrQuery::getFacetPrefix
SolrQuery::getFacetSort
SolrQuery
PHP Manual

SolrQuery::getFacetQueries

(PECL solr >= 0.9.2)

SolrQuery::getFacetQueries — Returns all the facet queries

Beschreibung

public array SolrQuery::getFacetQueries ( void )

Returns all the facet queries

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array on success and NULL if not set.

SolrQuery::getFacetPrefix
SolrQuery::getFacetSort
SolrQuery


Returns the facet sort type

SolrQuery::getFacetQueries
SolrQuery::getFields
SolrQuery
PHP Manual

SolrQuery::getFacetSort

(PECL solr >= 0.9.2)

SolrQuery::getFacetSort — Returns the facet sort type

Beschreibung

public int SolrQuery::getFacetSort ([ string $field_override ] )

Returns an integer (SolrQuery::FACET_SORT_INDEX or SolrQuery::FACET_SORT_COUNT)

Parameter-Liste

field_override

The name of the field

Rückgabewerte

Returns an integer (SolrQuery::FACET_SORT_INDEX or SolrQuery::FACET_SORT_COUNT) on success or NULL if not set.

SolrQuery::getFacetQueries
SolrQuery::getFields
SolrQuery


Returns the list of fields that will be returned in the response

SolrQuery::getFacetSort
SolrQuery::getFilterQueries
SolrQuery
PHP Manual

SolrQuery::getFields

(PECL solr >= 0.9.2)

SolrQuery::getFields — Returns the list of fields that will be returned in the response

Beschreibung

public array SolrQuery::getFields ( void )

Returns the list of fields that will be returned in the response

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array on success and NULL if not set.

SolrQuery::getFacetSort
SolrQuery::getFilterQueries
SolrQuery


Returns an array of filter queries

SolrQuery::getFields
SolrQuery::getGroup
SolrQuery
PHP Manual

SolrQuery::getFilterQueries

(PECL solr >= 0.9.2)

SolrQuery::getFilterQueries — Returns an array of filter queries

Beschreibung

public array SolrQuery::getFilterQueries ( void )

Returns an array of filter queries. These are queries that can be used to restrict the super set of documents that can be returned, without influencing score

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array on success and NULL if not set.

SolrQuery::getFields
SolrQuery::getGroup
SolrQuery


Returns true if grouping is enabled

SolrQuery::getFilterQueries
SolrQuery::getGroupCachePercent
SolrQuery
PHP Manual

SolrQuery::getGroup

(PECL solr >= 2.2.0)

SolrQuery::getGroup — Returns true if grouping is enabled

Beschreibung

public bool SolrQuery::getGroup ( void )

Returns true if grouping is enabled

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Siehe auch

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)
SolrQuery::getFilterQueries
SolrQuery::getGroupCachePercent
SolrQuery


Returns group cache percent value

SolrQuery::getGroup
SolrQuery::getGroupFacet
SolrQuery
PHP Manual

SolrQuery::getGroupCachePercent

(PECL solr >= 2.2.0)

SolrQuery::getGroupCachePercent — Returns group cache percent value

Beschreibung

public integer SolrQuery::getGroupCachePercent ( void )

Returns group cache percent value

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Siehe auch

  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping
SolrQuery::getGroup
SolrQuery::getGroupFacet
SolrQuery


Returns the group.facet parameter value

SolrQuery::getGroupCachePercent
SolrQuery::getGroupFields
SolrQuery
PHP Manual

SolrQuery::getGroupFacet

(PECL solr >= 2.2.0)

SolrQuery::getGroupFacet — Returns the group.facet parameter value

Beschreibung

public bool SolrQuery::getGroupFacet ( void )

Returns the group.facet parameter value

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Siehe auch

  • SolrQuery::setGroupFacet() - Sets group.facet parameter
SolrQuery::getGroupCachePercent
SolrQuery::getGroupFields
SolrQuery


Returns group fields (group.field parameter values)

SolrQuery::getGroupFacet
SolrQuery::getGroupFormat
SolrQuery
PHP Manual

SolrQuery::getGroupFields

(PECL solr >= 2.2.0)

SolrQuery::getGroupFields — Returns group fields (group.field parameter values)

Beschreibung

public array SolrQuery::getGroupFields ( void )

Returns group fields (group.field parameter values)

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Siehe auch

  • SolrQuery::addGroupField() - Add a field to be used to group results.
SolrQuery::getGroupFacet
SolrQuery::getGroupFormat
SolrQuery


Returns the group.format value

SolrQuery::getGroupFields
SolrQuery::getGroupFunctions
SolrQuery
PHP Manual

SolrQuery::getGroupFormat

(PECL solr >= 2.2.0)

SolrQuery::getGroupFormat — Returns the group.format value

Beschreibung

public string SolrQuery::getGroupFormat ( void )

Returns the group.format value

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Siehe auch

  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter).
SolrQuery::getGroupFields
SolrQuery::getGroupFunctions
SolrQuery


Returns group functions (group.func parameter values)

SolrQuery::getGroupFormat
SolrQuery::getGroupLimit
SolrQuery
PHP Manual

SolrQuery::getGroupFunctions

(PECL solr >= 2.2.0)

SolrQuery::getGroupFunctions — Returns group functions (group.func parameter values)

Beschreibung

public array SolrQuery::getGroupFunctions ( void )

Returns group functions (group.func parameter values)

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Siehe auch

  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter).
SolrQuery::getGroupFormat
SolrQuery::getGroupLimit
SolrQuery


Returns the group.limit value

SolrQuery::getGroupFunctions
SolrQuery::getGroupMain
SolrQuery
PHP Manual

SolrQuery::getGroupLimit

(PECL solr >= 2.2.0)

SolrQuery::getGroupLimit — Returns the group.limit value

Beschreibung

public integer SolrQuery::getGroupLimit ( void )

Returns the group.limit value

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Siehe auch

  • SolrQuery::setGroupLimit() - Specifies the number of results to return for each group. The server default value is 1.
SolrQuery::getGroupFunctions
SolrQuery::getGroupMain
SolrQuery


Returns the group.main value

SolrQuery::getGroupLimit
SolrQuery::getGroupNGroups
SolrQuery
PHP Manual

SolrQuery::getGroupMain

(PECL solr >= 2.2.0)

SolrQuery::getGroupMain — Returns the group.main value

Beschreibung

public bool SolrQuery::getGroupMain ( void )

Returns the group.main value

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Siehe auch

  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple.
SolrQuery::getGroupLimit
SolrQuery::getGroupNGroups
SolrQuery


Returns the group.ngroups value

SolrQuery::getGroupMain
SolrQuery::getGroupOffset
SolrQuery
PHP Manual

SolrQuery::getGroupNGroups

(PECL solr >= 2.2.0)

SolrQuery::getGroupNGroups — Returns the group.ngroups value

Beschreibung

public bool SolrQuery::getGroupNGroups ( void )

Returns the group.ngroups value

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Siehe auch

  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results.
SolrQuery::getGroupMain
SolrQuery::getGroupOffset
SolrQuery


Returns the group.offset value

SolrQuery::getGroupNGroups
SolrQuery::getGroupQueries
SolrQuery
PHP Manual

SolrQuery::getGroupOffset

(PECL solr >= 2.2.0)

SolrQuery::getGroupOffset — Returns the group.offset value

Beschreibung

public integer SolrQuery::getGroupOffset ( void )

Returns the group.offset value

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Siehe auch

  • SolrQuery::setGroupOffset() - Sets the group.offset parameter.
SolrQuery::getGroupNGroups
SolrQuery::getGroupQueries
SolrQuery


Returns all the group.query parameter values

SolrQuery::getGroupOffset
SolrQuery::getGroupSortFields
SolrQuery
PHP Manual

SolrQuery::getGroupQueries

(PECL solr >= 2.2.0)

SolrQuery::getGroupQueries — Returns all the group.query parameter values

Beschreibung

public array SolrQuery::getGroupQueries ( void )

Returns all the group.query parameter values

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

array

Siehe auch

  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query.
SolrQuery::getGroupOffset
SolrQuery::getGroupSortFields
SolrQuery


Returns the group.sort value

SolrQuery::getGroupQueries
SolrQuery::getGroupTruncate
SolrQuery
PHP Manual

SolrQuery::getGroupSortFields

(PECL solr >= 2.2.0)

SolrQuery::getGroupSortFields — Returns the group.sort value

Beschreibung

public array SolrQuery::getGroupSortFields ( void )

Returns the group.sort value

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Siehe auch

  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter).
SolrQuery::getGroupQueries
SolrQuery::getGroupTruncate
SolrQuery


Returns the group.truncate value

SolrQuery::getGroupSortFields
SolrQuery::getHighlight
SolrQuery
PHP Manual

SolrQuery::getGroupTruncate

(PECL solr >= 2.2.0)

SolrQuery::getGroupTruncate — Returns the group.truncate value

Beschreibung

public bool SolrQuery::getGroupTruncate ( void )

Returns the group.truncate value

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Siehe auch

  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query.
SolrQuery::getGroupSortFields
SolrQuery::getHighlight
SolrQuery


Returns the state of the hl parameter

SolrQuery::getGroupTruncate
SolrQuery::getHighlightAlternateField
SolrQuery
PHP Manual

SolrQuery::getHighlight

(PECL solr >= 0.9.2)

SolrQuery::getHighlight — Returns the state of the hl parameter

Beschreibung

public bool SolrQuery::getHighlight ( void )

Returns a boolean indicating whether or not to enable highlighted snippets to be generated in the query response.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a boolean on success and NULL if not set.

SolrQuery::getGroupTruncate
SolrQuery::getHighlightAlternateField
SolrQuery


Returns the highlight field to use as backup or default

SolrQuery::getHighlight
SolrQuery::getHighlightFields
SolrQuery
PHP Manual

SolrQuery::getHighlightAlternateField

(PECL solr >= 0.9.2)

SolrQuery::getHighlightAlternateField — Returns the highlight field to use as backup or default

Beschreibung

public string SolrQuery::getHighlightAlternateField ([ string $field_override ] )

Returns the highlight field to use as backup or default. It accepts an optional override.

Parameter-Liste

field_override

The name of the field

Rückgabewerte

Returns a string on success and NULL if not set.

SolrQuery::getHighlight
SolrQuery::getHighlightFields
SolrQuery


Returns all the fields that Solr should generate highlighted snippets for

SolrQuery::getHighlightAlternateField
SolrQuery::getHighlightFormatter
SolrQuery
PHP Manual

SolrQuery::getHighlightFields

(PECL solr >= 0.9.2)

SolrQuery::getHighlightFields — Returns all the fields that Solr should generate highlighted snippets for

Beschreibung

public array SolrQuery::getHighlightFields ( void )

Returns all the fields that Solr should generate highlighted snippets for

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array on success and NULL if not set.

SolrQuery::getHighlightAlternateField
SolrQuery::getHighlightFormatter
SolrQuery


Returns the formatter for the highlighted output

SolrQuery::getHighlightFields
SolrQuery::getHighlightFragmenter
SolrQuery
PHP Manual

SolrQuery::getHighlightFormatter

(PECL solr >= 0.9.2)

SolrQuery::getHighlightFormatter — Returns the formatter for the highlighted output

Beschreibung

public string SolrQuery::getHighlightFormatter ([ string $field_override ] )

Returns the formatter for the highlighted output

Parameter-Liste

field_override

The name of the field

Rückgabewerte

Returns a string on success and NULL if not set.

SolrQuery::getHighlightFields
SolrQuery::getHighlightFragmenter
SolrQuery


Returns the text snippet generator for highlighted text

SolrQuery::getHighlightFormatter
SolrQuery::getHighlightFragsize
SolrQuery
PHP Manual

SolrQuery::getHighlightFragmenter

(PECL solr >= 0.9.2)

SolrQuery::getHighlightFragmenter — Returns the text snippet generator for highlighted text

Beschreibung

public string SolrQuery::getHighlightFragmenter ([ string $field_override ] )

Returns the text snippet generator for highlighted text. Accepts an optional field override.

Parameter-Liste

field_override

The name of the field

Rückgabewerte

Returns a string on success and NULL if not set.

SolrQuery::getHighlightFormatter
SolrQuery::getHighlightFragsize
SolrQuery


Returns the number of characters of fragments to consider for highlighting

SolrQuery::getHighlightFragmenter
SolrQuery::getHighlightHighlightMultiTerm
SolrQuery
PHP Manual

SolrQuery::getHighlightFragsize

(PECL solr >= 0.9.2)

SolrQuery::getHighlightFragsize — Returns the number of characters of fragments to consider for highlighting

Beschreibung

public int SolrQuery::getHighlightFragsize ([ string $field_override ] )

Returns the number of characters of fragments to consider for highlighting. Zero implies no fragmenting. The entire field should be used.

Parameter-Liste

field_override

The name of the field

Rückgabewerte

Returns an integer on success or NULL if not set.

SolrQuery::getHighlightFragmenter
SolrQuery::getHighlightHighlightMultiTerm
SolrQuery


Returns whether or not to enable highlighting for range/wildcard/fuzzy/prefix queries

SolrQuery::getHighlightFragsize
SolrQuery::getHighlightMaxAlternateFieldLength
SolrQuery
PHP Manual

SolrQuery::getHighlightHighlightMultiTerm

(PECL solr >= 0.9.2)

SolrQuery::getHighlightHighlightMultiTerm — Returns whether or not to enable highlighting for range/wildcard/fuzzy/prefix queries

Beschreibung

public bool SolrQuery::getHighlightHighlightMultiTerm ( void )

Returns whether or not to enable highlighting for range/wildcard/fuzzy/prefix queries

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a boolean on success and NULL if not set.

SolrQuery::getHighlightFragsize
SolrQuery::getHighlightMaxAlternateFieldLength
SolrQuery


Returns the maximum number of characters of the field to return

SolrQuery::getHighlightHighlightMultiTerm
SolrQuery::getHighlightMaxAnalyzedChars
SolrQuery
PHP Manual

SolrQuery::getHighlightMaxAlternateFieldLength

(PECL solr >= 0.9.2)

SolrQuery::getHighlightMaxAlternateFieldLength — Returns the maximum number of characters of the field to return

Beschreibung

public int SolrQuery::getHighlightMaxAlternateFieldLength ([ string $field_override ] )

Returns the maximum number of characters of the field to return

Parameter-Liste

field_override

The name of the field

Rückgabewerte

Returns an integer on success and NULL if not set.

SolrQuery::getHighlightHighlightMultiTerm
SolrQuery::getHighlightMaxAnalyzedChars
SolrQuery


Returns the maximum number of characters into a document to look for suitable snippets

SolrQuery::getHighlightMaxAlternateFieldLength
SolrQuery::getHighlightMergeContiguous
SolrQuery
PHP Manual

SolrQuery::getHighlightMaxAnalyzedChars

(PECL solr >= 0.9.2)

SolrQuery::getHighlightMaxAnalyzedChars — Returns the maximum number of characters into a document to look for suitable snippets

Beschreibung

public int SolrQuery::getHighlightMaxAnalyzedChars ( void )

Returns the maximum number of characters into a document to look for suitable snippets

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an integer on success and NULL if not set.

SolrQuery::getHighlightMaxAlternateFieldLength
SolrQuery::getHighlightMergeContiguous
SolrQuery


Returns whether or not the collapse contiguous fragments into a single fragment

SolrQuery::getHighlightMaxAnalyzedChars
SolrQuery::getHighlightRegexMaxAnalyzedChars
SolrQuery
PHP Manual

SolrQuery::getHighlightMergeContiguous

(PECL solr >= 0.9.2)

SolrQuery::getHighlightMergeContiguous — Returns whether or not the collapse contiguous fragments into a single fragment

Beschreibung

public bool SolrQuery::getHighlightMergeContiguous ([ string $field_override ] )

Returns whether or not the collapse contiguous fragments into a single fragment. Accepts an optional field override.

Parameter-Liste

field_override

The name of the field

Rückgabewerte

Returns a boolean on success and NULL if not set.

SolrQuery::getHighlightMaxAnalyzedChars
SolrQuery::getHighlightRegexMaxAnalyzedChars
SolrQuery


Returns the maximum number of characters from a field when using the regex fragmenter

SolrQuery::getHighlightMergeContiguous
SolrQuery::getHighlightRegexPattern
SolrQuery
PHP Manual

SolrQuery::getHighlightRegexMaxAnalyzedChars

(PECL solr >= 0.9.2)

SolrQuery::getHighlightRegexMaxAnalyzedChars — Returns the maximum number of characters from a field when using the regex fragmenter

Beschreibung

public int SolrQuery::getHighlightRegexMaxAnalyzedChars ( void )

Returns the maximum number of characters from a field when using the regex fragmenter

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an integer on success and NULL if not set.

SolrQuery::getHighlightMergeContiguous
SolrQuery::getHighlightRegexPattern
SolrQuery


Returns the regular expression for fragmenting

SolrQuery::getHighlightRegexMaxAnalyzedChars
SolrQuery::getHighlightRegexSlop
SolrQuery
PHP Manual

SolrQuery::getHighlightRegexPattern

(PECL solr >= 0.9.2)

SolrQuery::getHighlightRegexPattern — Returns the regular expression for fragmenting

Beschreibung

public string SolrQuery::getHighlightRegexPattern ( void )

Returns the regular expression used for fragmenting

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a string on success and NULL if not set.

SolrQuery::getHighlightRegexMaxAnalyzedChars
SolrQuery::getHighlightRegexSlop
SolrQuery


Returns the deviation factor from the ideal fragment size

SolrQuery::getHighlightRegexPattern
SolrQuery::getHighlightRequireFieldMatch
SolrQuery
PHP Manual

SolrQuery::getHighlightRegexSlop

(PECL solr >= 0.9.2)

SolrQuery::getHighlightRegexSlop — Returns the deviation factor from the ideal fragment size

Beschreibung

public float SolrQuery::getHighlightRegexSlop ( void )

Returns the factor by which the regex fragmenter can deviate from the ideal fragment size to accomodate the regular expression

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a double on success and NULL if not set.

SolrQuery::getHighlightRegexPattern
SolrQuery::getHighlightRequireFieldMatch
SolrQuery


Returns if a field will only be highlighted if the query matched in this particular field

SolrQuery::getHighlightRegexSlop
SolrQuery::getHighlightSimplePost
SolrQuery
PHP Manual

SolrQuery::getHighlightRequireFieldMatch

(PECL solr >= 0.9.2)

SolrQuery::getHighlightRequireFieldMatch — Returns if a field will only be highlighted if the query matched in this particular field

Beschreibung

public bool SolrQuery::getHighlightRequireFieldMatch ( void )

Returns if a field will only be highlighted if the query matched in this particular field.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a boolean on success and NULL if not set.

SolrQuery::getHighlightRegexSlop
SolrQuery::getHighlightSimplePost
SolrQuery


Returns the text which appears after a highlighted term

SolrQuery::getHighlightRequireFieldMatch
SolrQuery::getHighlightSimplePre
SolrQuery
PHP Manual

SolrQuery::getHighlightSimplePost

(PECL solr >= 0.9.2)

SolrQuery::getHighlightSimplePost — Returns the text which appears after a highlighted term

Beschreibung

public string SolrQuery::getHighlightSimplePost ([ string $field_override ] )

Returns the text which appears after a highlighted term. Accepts an optional field override

Parameter-Liste

field_override

The name of the field

Rückgabewerte

Returns a string on success and NULL if not set.

SolrQuery::getHighlightRequireFieldMatch
SolrQuery::getHighlightSimplePre
SolrQuery


Returns the text which appears before a highlighted term

SolrQuery::getHighlightSimplePost
SolrQuery::getHighlightSnippets
SolrQuery
PHP Manual

SolrQuery::getHighlightSimplePre

(PECL solr >= 0.9.2)

SolrQuery::getHighlightSimplePre — Returns the text which appears before a highlighted term

Beschreibung

public string SolrQuery::getHighlightSimplePre ([ string $field_override ] )

Returns the text which appears before a highlighted term. Accepts an optional field override

Parameter-Liste

field_override

The name of the field

Rückgabewerte

Returns a string on success and NULL if not set.

SolrQuery::getHighlightSimplePost
SolrQuery::getHighlightSnippets
SolrQuery


Returns the maximum number of highlighted snippets to generate per field

SolrQuery::getHighlightSimplePre
SolrQuery::getHighlightUsePhraseHighlighter
SolrQuery
PHP Manual

SolrQuery::getHighlightSnippets

(PECL solr >= 0.9.2)

SolrQuery::getHighlightSnippets — Returns the maximum number of highlighted snippets to generate per field

Beschreibung

public int SolrQuery::getHighlightSnippets ([ string $field_override ] )

Returns the maximum number of highlighted snippets to generate per field. Accepts an optional field override

Parameter-Liste

field_override

The name of the field

Rückgabewerte

Returns an integer on success and NULL if not set.

SolrQuery::getHighlightSimplePre
SolrQuery::getHighlightUsePhraseHighlighter
SolrQuery


Returns the state of the hl.usePhraseHighlighter parameter

SolrQuery::getHighlightSnippets
SolrQuery::getMlt
SolrQuery
PHP Manual

SolrQuery::getHighlightUsePhraseHighlighter

(PECL solr >= 0.9.2)

SolrQuery::getHighlightUsePhraseHighlighter — Returns the state of the hl.usePhraseHighlighter parameter

Beschreibung

public bool SolrQuery::getHighlightUsePhraseHighlighter ( void )

Returns whether or not to use SpanScorer to highlight phrase terms only when they appear within the query phrase in the document.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a boolean on success and NULL if not set.

SolrQuery::getHighlightSnippets
SolrQuery::getMlt
SolrQuery


Returns whether or not MoreLikeThis results should be enabled

SolrQuery::getHighlightUsePhraseHighlighter
SolrQuery::getMltBoost
SolrQuery
PHP Manual

SolrQuery::getMlt

(PECL solr >= 0.9.2)

SolrQuery::getMlt — Returns whether or not MoreLikeThis results should be enabled

Beschreibung

public bool SolrQuery::getMlt ( void )

Returns whether or not MoreLikeThis results should be enabled

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a boolean on success and NULL if not set.

SolrQuery::getHighlightUsePhraseHighlighter
SolrQuery::getMltBoost
SolrQuery


Returns whether or not the query will be boosted by the interesting term relevance

SolrQuery::getMlt
SolrQuery::getMltCount
SolrQuery
PHP Manual

SolrQuery::getMltBoost

(PECL solr >= 0.9.2)

SolrQuery::getMltBoost — Returns whether or not the query will be boosted by the interesting term relevance

Beschreibung

public bool SolrQuery::getMltBoost ( void )

Returns whether or not the query will be boosted by the interesting term relevance

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a boolean on success and NULL if not set.

SolrQuery::getMlt
SolrQuery::getMltCount
SolrQuery


Returns the number of similar documents to return for each result

SolrQuery::getMltBoost
SolrQuery::getMltFields
SolrQuery
PHP Manual

SolrQuery::getMltCount

(PECL solr >= 0.9.2)

SolrQuery::getMltCount — Returns the number of similar documents to return for each result

Beschreibung

public int SolrQuery::getMltCount ( void )

Returns the number of similar documents to return for each result

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an integer on success and NULL if not set.

SolrQuery::getMltBoost
SolrQuery::getMltFields
SolrQuery


Returns all the fields to use for similarity

SolrQuery::getMltCount
SolrQuery::getMltMaxNumQueryTerms
SolrQuery
PHP Manual

SolrQuery::getMltFields

(PECL solr >= 0.9.2)

SolrQuery::getMltFields — Returns all the fields to use for similarity

Beschreibung

public array SolrQuery::getMltFields ( void )

Returns all the fields to use for similarity

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array on success and NULL if not set.

SolrQuery::getMltCount
SolrQuery::getMltMaxNumQueryTerms
SolrQuery


Returns the maximum number of query terms that will be included in any generated query

SolrQuery::getMltFields
SolrQuery::getMltMaxNumTokens
SolrQuery
PHP Manual

SolrQuery::getMltMaxNumQueryTerms

(PECL solr >= 0.9.2)

SolrQuery::getMltMaxNumQueryTerms — Returns the maximum number of query terms that will be included in any generated query

Beschreibung

public int SolrQuery::getMltMaxNumQueryTerms ( void )

Returns the maximum number of query terms that will be included in any generated query

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an integer on success and NULL if not set.

SolrQuery::getMltFields
SolrQuery::getMltMaxNumTokens
SolrQuery


Returns the maximum number of tokens to parse in each document field that is not stored with TermVector support

SolrQuery::getMltMaxNumQueryTerms
SolrQuery::getMltMaxWordLength
SolrQuery
PHP Manual

SolrQuery::getMltMaxNumTokens

(PECL solr >= 0.9.2)

SolrQuery::getMltMaxNumTokens — Returns the maximum number of tokens to parse in each document field that is not stored with TermVector support

Beschreibung

public int SolrQuery::getMltMaxNumTokens ( void )

Returns the maximum number of tokens to parse in each document field that is not stored with TermVector support

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an integer on success and NULL if not set.

SolrQuery::getMltMaxNumQueryTerms
SolrQuery::getMltMaxWordLength
SolrQuery


Returns the maximum word length above which words will be ignored

SolrQuery::getMltMaxNumTokens
SolrQuery::getMltMinDocFrequency
SolrQuery
PHP Manual

SolrQuery::getMltMaxWordLength

(PECL solr >= 0.9.2)

SolrQuery::getMltMaxWordLength — Returns the maximum word length above which words will be ignored

Beschreibung

public int SolrQuery::getMltMaxWordLength ( void )

Returns the maximum word length above which words will be ignored

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an integer on success and NULL if not set.

SolrQuery::getMltMaxNumTokens
SolrQuery::getMltMinDocFrequency
SolrQuery


Returns the treshold frequency at which words will be ignored which do not occur in at least this many docs

SolrQuery::getMltMaxWordLength
SolrQuery::getMltMinTermFrequency
SolrQuery
PHP Manual

SolrQuery::getMltMinDocFrequency

(PECL solr >= 0.9.2)

SolrQuery::getMltMinDocFrequency — Returns the treshold frequency at which words will be ignored which do not occur in at least this many docs

Beschreibung

public int SolrQuery::getMltMinDocFrequency ( void )

Returns the treshold frequency at which words will be ignored which do not occur in at least this many docs

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an integer on success and NULL if not set.

SolrQuery::getMltMaxWordLength
SolrQuery::getMltMinTermFrequency
SolrQuery


Returns the frequency below which terms will be ignored in the source document

SolrQuery::getMltMinDocFrequency
SolrQuery::getMltMinWordLength
SolrQuery
PHP Manual

SolrQuery::getMltMinTermFrequency

(PECL solr >= 0.9.2)

SolrQuery::getMltMinTermFrequency — Returns the frequency below which terms will be ignored in the source document

Beschreibung

public int SolrQuery::getMltMinTermFrequency ( void )

Returns the frequency below which terms will be ignored in the source document

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an integer on success and NULL if not set.

SolrQuery::getMltMinDocFrequency
SolrQuery::getMltMinWordLength
SolrQuery


Returns the minimum word length below which words will be ignored

SolrQuery::getMltMinTermFrequency
SolrQuery::getMltQueryFields
SolrQuery
PHP Manual

SolrQuery::getMltMinWordLength

(PECL solr >= 0.9.2)

SolrQuery::getMltMinWordLength — Returns the minimum word length below which words will be ignored

Beschreibung

public int SolrQuery::getMltMinWordLength ( void )

Returns the minimum word length below which words will be ignored

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an integer on success and NULL if not set.

SolrQuery::getMltMinTermFrequency
SolrQuery::getMltQueryFields
SolrQuery


Returns the query fields and their boosts

SolrQuery::getMltMinWordLength
SolrQuery::getQuery
SolrQuery
PHP Manual

SolrQuery::getMltQueryFields

(PECL solr >= 0.9.2)

SolrQuery::getMltQueryFields — Returns the query fields and their boosts

Beschreibung

public array SolrQuery::getMltQueryFields ( void )

Returns the query fields and their boosts

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array on success and NULL if not set.

SolrQuery::getMltMinWordLength
SolrQuery::getQuery
SolrQuery


Returns the main query

SolrQuery::getMltQueryFields
SolrQuery::getRows
SolrQuery
PHP Manual

SolrQuery::getQuery

(PECL solr >= 0.9.2)

SolrQuery::getQuery — Returns the main query

Beschreibung

public string SolrQuery::getQuery ( void )

Returns the main search query

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a string on success and NULL if not set.

SolrQuery::getMltQueryFields
SolrQuery::getRows
SolrQuery


Returns the maximum number of documents

SolrQuery::getQuery
SolrQuery::getSortFields
SolrQuery
PHP Manual

SolrQuery::getRows

(PECL solr >= 0.9.2)

SolrQuery::getRows — Returns the maximum number of documents

Beschreibung

public int SolrQuery::getRows ( void )

Returns the maximum number of documents from the complete result set to return to the client for every request

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an integer on success and NULL if not set.

SolrQuery::getQuery
SolrQuery::getSortFields
SolrQuery


Returns all the sort fields

SolrQuery::getRows
SolrQuery::getStart
SolrQuery
PHP Manual

SolrQuery::getSortFields

(PECL solr >= 0.9.2)

SolrQuery::getSortFields — Returns all the sort fields

Beschreibung

public array SolrQuery::getSortFields ( void )

Returns all the sort fields

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array on success and NULL if none of the parameters was set.

SolrQuery::getRows
SolrQuery::getStart
SolrQuery


Returns the offset in the complete result set

SolrQuery::getSortFields
SolrQuery::getStats
SolrQuery
PHP Manual

SolrQuery::getStart

(PECL solr >= 0.9.2)

SolrQuery::getStart — Returns the offset in the complete result set

Beschreibung

public int SolrQuery::getStart ( void )

Returns the offset in the complete result set for the queries where the set of returned documents should begin.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an integer on success and NULL if not set.

SolrQuery::getSortFields
SolrQuery::getStats
SolrQuery


Returns whether or not stats is enabled

SolrQuery::getStart
SolrQuery::getStatsFacets
SolrQuery
PHP Manual

SolrQuery::getStats

(PECL solr >= 0.9.2)

SolrQuery::getStats — Returns whether or not stats is enabled

Beschreibung

public bool SolrQuery::getStats ( void )

Returns whether or not stats is enabled

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a boolean on success and NULL if not set.

SolrQuery::getStart
SolrQuery::getStatsFacets
SolrQuery


Returns all the stats facets that were set

SolrQuery::getStats
SolrQuery::getStatsFields
SolrQuery
PHP Manual

SolrQuery::getStatsFacets

(PECL solr >= 0.9.2)

SolrQuery::getStatsFacets — Returns all the stats facets that were set

Beschreibung

public array SolrQuery::getStatsFacets ( void )

Returns all the stats facets that were set

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array on success and NULL if not set.

SolrQuery::getStats
SolrQuery::getStatsFields
SolrQuery


Returns all the statistics fields

SolrQuery::getStatsFacets
SolrQuery::getTerms
SolrQuery
PHP Manual

SolrQuery::getStatsFields

(PECL solr >= 0.9.2)

SolrQuery::getStatsFields — Returns all the statistics fields

Beschreibung

public array SolrQuery::getStatsFields ( void )

Returns all the statistics fields

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array on success and NULL if not set.

SolrQuery::getStatsFacets
SolrQuery::getTerms
SolrQuery


Returns whether or not the TermsComponent is enabled

SolrQuery::getStatsFields
SolrQuery::getTermsField
SolrQuery
PHP Manual

SolrQuery::getTerms

(PECL solr >= 0.9.2)

SolrQuery::getTerms — Returns whether or not the TermsComponent is enabled

Beschreibung

public bool SolrQuery::getTerms ( void )

Returns whether or not the TermsComponent is enabled

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a boolean on success and NULL if not set.

SolrQuery::getStatsFields
SolrQuery::getTermsField
SolrQuery


Returns the field from which the terms are retrieved

SolrQuery::getTerms
SolrQuery::getTermsIncludeLowerBound
SolrQuery
PHP Manual

SolrQuery::getTermsField

(PECL solr >= 0.9.2)

SolrQuery::getTermsField — Returns the field from which the terms are retrieved

Beschreibung

public string SolrQuery::getTermsField ( void )

Returns the field from which the terms are retrieved

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a string on success and NULL if not set.

SolrQuery::getTerms
SolrQuery::getTermsIncludeLowerBound
SolrQuery


Returns whether or not to include the lower bound in the result set

SolrQuery::getTermsField
SolrQuery::getTermsIncludeUpperBound
SolrQuery
PHP Manual

SolrQuery::getTermsIncludeLowerBound

(PECL solr >= 0.9.2)

SolrQuery::getTermsIncludeLowerBound — Returns whether or not to include the lower bound in the result set

Beschreibung

public bool SolrQuery::getTermsIncludeLowerBound ( void )

Returns whether or not to include the lower bound in the result set

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a boolean on success and NULL if not set.

SolrQuery::getTermsField
SolrQuery::getTermsIncludeUpperBound
SolrQuery


Returns whether or not to include the upper bound term in the result set

SolrQuery::getTermsIncludeLowerBound
SolrQuery::getTermsLimit
SolrQuery
PHP Manual

SolrQuery::getTermsIncludeUpperBound

(PECL solr >= 0.9.2)

SolrQuery::getTermsIncludeUpperBound — Returns whether or not to include the upper bound term in the result set

Beschreibung

public bool SolrQuery::getTermsIncludeUpperBound ( void )

Returns whether or not to include the upper bound term in the result set

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a boolean on success and NULL if not set.

SolrQuery::getTermsIncludeLowerBound
SolrQuery::getTermsLimit
SolrQuery


Returns the maximum number of terms Solr should return

SolrQuery::getTermsIncludeUpperBound
SolrQuery::getTermsLowerBound
SolrQuery
PHP Manual

SolrQuery::getTermsLimit

(PECL solr >= 0.9.2)

SolrQuery::getTermsLimit — Returns the maximum number of terms Solr should return

Beschreibung

public int SolrQuery::getTermsLimit ( void )

Returns the maximum number of terms Solr should return

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an integer on success and NULL if not set.

SolrQuery::getTermsIncludeUpperBound
SolrQuery::getTermsLowerBound
SolrQuery


Returns the term to start at

SolrQuery::getTermsLimit
SolrQuery::getTermsMaxCount
SolrQuery
PHP Manual

SolrQuery::getTermsLowerBound

(PECL solr >= 0.9.2)

SolrQuery::getTermsLowerBound — Returns the term to start at

Beschreibung

public string SolrQuery::getTermsLowerBound ( void )

Returns the term to start at

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a string on success and NULL if not set.

SolrQuery::getTermsLimit
SolrQuery::getTermsMaxCount
SolrQuery


Returns the maximum document frequency

SolrQuery::getTermsLowerBound
SolrQuery::getTermsMinCount
SolrQuery
PHP Manual

SolrQuery::getTermsMaxCount

(PECL solr >= 0.9.2)

SolrQuery::getTermsMaxCount — Returns the maximum document frequency

Beschreibung

public int SolrQuery::getTermsMaxCount ( void )

Returns the maximum document frequency

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an integer on success and NULL if not set.

SolrQuery::getTermsLowerBound
SolrQuery::getTermsMinCount
SolrQuery


Returns the minimum document frequency to return in order to be included

SolrQuery::getTermsMaxCount
SolrQuery::getTermsPrefix
SolrQuery
PHP Manual

SolrQuery::getTermsMinCount

(PECL solr >= 0.9.2)

SolrQuery::getTermsMinCount — Returns the minimum document frequency to return in order to be included

Beschreibung

public int SolrQuery::getTermsMinCount ( void )

Returns the minimum document frequency to return in order to be included

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an integer on success and NULL if not set.

SolrQuery::getTermsMaxCount
SolrQuery::getTermsPrefix
SolrQuery


Returns the term prefix

SolrQuery::getTermsMinCount
SolrQuery::getTermsReturnRaw
SolrQuery
PHP Manual

SolrQuery::getTermsPrefix

(PECL solr >= 0.9.2)

SolrQuery::getTermsPrefix — Returns the term prefix

Beschreibung

public string SolrQuery::getTermsPrefix ( void )

Returns the prefix to which matching terms must be restricted. This will restrict matches to only terms that start with the prefix

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a string on success and NULL if not set.

SolrQuery::getTermsMinCount
SolrQuery::getTermsReturnRaw
SolrQuery


Whether or not to return raw characters

SolrQuery::getTermsPrefix
SolrQuery::getTermsSort
SolrQuery
PHP Manual

SolrQuery::getTermsReturnRaw

(PECL solr >= 0.9.2)

SolrQuery::getTermsReturnRaw — Whether or not to return raw characters

Beschreibung

public bool SolrQuery::getTermsReturnRaw ( void )

Returns a boolean indicating whether or not to return the raw characters of the indexed term, regardless of if it is human readable

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a boolean on success and NULL if not set.

SolrQuery::getTermsPrefix
SolrQuery::getTermsSort
SolrQuery


Returns an integer indicating how terms are sorted

SolrQuery::getTermsReturnRaw
SolrQuery::getTermsUpperBound
SolrQuery
PHP Manual

SolrQuery::getTermsSort

(PECL solr >= 0.9.2)

SolrQuery::getTermsSort — Returns an integer indicating how terms are sorted

Beschreibung

public int SolrQuery::getTermsSort ( void )

SolrQuery::TERMS_SORT_INDEX indicates that the terms are returned by index order. SolrQuery::TERMS_SORT_COUNT implies that the terms are sorted by term frequency (highest count first)

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an integer on success and NULL if not set.

SolrQuery::getTermsReturnRaw
SolrQuery::getTermsUpperBound
SolrQuery


Returns the term to stop at

SolrQuery::getTermsSort
SolrQuery::getTimeAllowed
SolrQuery
PHP Manual

SolrQuery::getTermsUpperBound

(PECL solr >= 0.9.2)

SolrQuery::getTermsUpperBound — Returns the term to stop at

Beschreibung

public string SolrQuery::getTermsUpperBound ( void )

Returns the term to stop at

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a string on success and NULL if not set.

SolrQuery::getTermsSort
SolrQuery::getTimeAllowed
SolrQuery


Returns the time in milliseconds allowed for the query to finish

SolrQuery::getTermsUpperBound
SolrQuery::removeExpandFilterQuery
SolrQuery
PHP Manual

SolrQuery::getTimeAllowed

(PECL solr >= 0.9.2)

SolrQuery::getTimeAllowed — Returns the time in milliseconds allowed for the query to finish

Beschreibung

public int SolrQuery::getTimeAllowed ( void )

Returns the time in milliseconds allowed for the query to finish.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns and integer on success and NULL if it is not set.

SolrQuery::getTermsUpperBound
SolrQuery::removeExpandFilterQuery
SolrQuery


Removes an expand filter query

SolrQuery::getTimeAllowed
SolrQuery::removeExpandSortField
SolrQuery
PHP Manual

SolrQuery::removeExpandFilterQuery

(PECL solr >= 2.2.0)

SolrQuery::removeExpandFilterQuery — Removes an expand filter query

Beschreibung

public SolrQuery SolrQuery::removeExpandFilterQuery ( string $fq )

Removes an expand filter query.

Parameter-Liste

fq

Rückgabewerte

SolrQuery

Siehe auch

  • SolrQuery::setExpand() - Enables/Disables the Expand Component
  • SolrQuery::addExpandSortField() - Orders the documents within the expanded groups (expand.sort parameter).
  • SolrQuery::removeExpandSortField() - Removes an expand sort field from the expand.sort parameter.
  • SolrQuery::setExpandRows() - Sets the number of rows to display in each group (expand.rows). Server Default 5
  • SolrQuery::setExpandQuery() - Sets the expand.q parameter
  • SolrQuery::addExpandFilterQuery() - Overrides main filter query, determines which documents to include in the main group.
SolrQuery::getTimeAllowed
SolrQuery::removeExpandSortField
SolrQuery


Removes an expand sort field from the expand.sort parameter.

SolrQuery::removeExpandFilterQuery
SolrQuery::removeFacetDateField
SolrQuery
PHP Manual

SolrQuery::removeExpandSortField

(PECL solr >= 2.2.0)

SolrQuery::removeExpandSortField — Removes an expand sort field from the expand.sort parameter.

Beschreibung

public SolrQuery SolrQuery::removeExpandSortField ( string $field )

Removes an expand sort field from the expand.sort parameter.

Parameter-Liste

field

field name

Rückgabewerte

SolrQuery

Siehe auch

  • SolrQuery::setExpand() - Enables/Disables the Expand Component
  • SolrQuery::addExpandSortField() - Orders the documents within the expanded groups (expand.sort parameter).
  • SolrQuery::setExpandRows() - Sets the number of rows to display in each group (expand.rows). Server Default 5
  • SolrQuery::setExpandQuery() - Sets the expand.q parameter
  • SolrQuery::addExpandFilterQuery() - Overrides main filter query, determines which documents to include in the main group.
  • SolrQuery::removeExpandFilterQuery() - Removes an expand filter query
SolrQuery::removeExpandFilterQuery
SolrQuery::removeFacetDateField
SolrQuery


Removes one of the facet date fields

SolrQuery::removeExpandSortField
SolrQuery::removeFacetDateOther
SolrQuery
PHP Manual

SolrQuery::removeFacetDateField

(PECL solr >= 0.9.2)

SolrQuery::removeFacetDateField — Removes one of the facet date fields

Beschreibung

public SolrQuery SolrQuery::removeFacetDateField ( string $field )

The name of the field

Parameter-Liste

field

The name of the date field to remove

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::removeExpandSortField
SolrQuery::removeFacetDateOther
SolrQuery


Removes one of the facet.date.other parameters

SolrQuery::removeFacetDateField
SolrQuery::removeFacetField
SolrQuery
PHP Manual

SolrQuery::removeFacetDateOther

(PECL solr >= 0.9.2)

SolrQuery::removeFacetDateOther — Removes one of the facet.date.other parameters

Beschreibung

public SolrQuery SolrQuery::removeFacetDateOther ( string $value [, string $field_override ] )

Removes one of the facet.date.other parameters

Parameter-Liste

value

The value

field_override

The name of the field.

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::removeFacetDateField
SolrQuery::removeFacetField
SolrQuery


Removes one of the facet.date parameters

SolrQuery::removeFacetDateOther
SolrQuery::removeFacetQuery
SolrQuery
PHP Manual

SolrQuery::removeFacetField

(PECL solr >= 0.9.2)

SolrQuery::removeFacetField — Removes one of the facet.date parameters

Beschreibung

public SolrQuery SolrQuery::removeFacetField ( string $field )

Removes one of the facet.date parameters

Parameter-Liste

field

The name of the field

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::removeFacetDateOther
SolrQuery::removeFacetQuery
SolrQuery


Removes one of the facet.query parameters

SolrQuery::removeFacetField
SolrQuery::removeField
SolrQuery
PHP Manual

SolrQuery::removeFacetQuery

(PECL solr >= 0.9.2)

SolrQuery::removeFacetQuery — Removes one of the facet.query parameters

Beschreibung

public SolrQuery SolrQuery::removeFacetQuery ( string $value )

Removes one of the facet.query parameters.

Parameter-Liste

value

The value

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::removeFacetField
SolrQuery::removeField
SolrQuery


Removes a field from the list of fields

SolrQuery::removeFacetQuery
SolrQuery::removeFilterQuery
SolrQuery
PHP Manual

SolrQuery::removeField

(PECL solr >= 0.9.2)

SolrQuery::removeField — Removes a field from the list of fields

Beschreibung

public SolrQuery SolrQuery::removeField ( string $field )

Removes a field from the list of fields

Parameter-Liste

field

Name of the field.

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::removeFacetQuery
SolrQuery::removeFilterQuery
SolrQuery


Removes a filter query

SolrQuery::removeField
SolrQuery::removeHighlightField
SolrQuery
PHP Manual

SolrQuery::removeFilterQuery

(PECL solr >= 0.9.2)

SolrQuery::removeFilterQuery — Removes a filter query

Beschreibung

public SolrQuery SolrQuery::removeFilterQuery ( string $fq )

Removes a filter query.

Parameter-Liste

fq

The filter query to remove

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::removeField
SolrQuery::removeHighlightField
SolrQuery


Removes one of the fields used for highlighting

SolrQuery::removeFilterQuery
SolrQuery::removeMltField
SolrQuery
PHP Manual

SolrQuery::removeHighlightField

(PECL solr >= 0.9.2)

SolrQuery::removeHighlightField — Removes one of the fields used for highlighting

Beschreibung

public SolrQuery SolrQuery::removeHighlightField ( string $field )

Removes one of the fields used for highlighting.

Parameter-Liste

field

The name of the field

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::removeFilterQuery
SolrQuery::removeMltField
SolrQuery


Removes one of the moreLikeThis fields

SolrQuery::removeHighlightField
SolrQuery::removeMltQueryField
SolrQuery
PHP Manual

SolrQuery::removeMltField

(PECL solr >= 0.9.2)

SolrQuery::removeMltField — Removes one of the moreLikeThis fields

Beschreibung

public SolrQuery SolrQuery::removeMltField ( string $field )

Removes one of the moreLikeThis fields.

Parameter-Liste

field

Name of the field

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::removeHighlightField
SolrQuery::removeMltQueryField
SolrQuery


Removes one of the moreLikeThis query fields

SolrQuery::removeMltField
SolrQuery::removeSortField
SolrQuery
PHP Manual

SolrQuery::removeMltQueryField

(PECL solr >= 0.9.2)

SolrQuery::removeMltQueryField — Removes one of the moreLikeThis query fields

Beschreibung

public SolrQuery SolrQuery::removeMltQueryField ( string $queryField )

Removes one of the moreLikeThis query fields.

Parameter-Liste

queryField

The query field

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::removeMltField
SolrQuery::removeSortField
SolrQuery


Removes one of the sort fields

SolrQuery::removeMltQueryField
SolrQuery::removeStatsFacet
SolrQuery
PHP Manual

SolrQuery::removeSortField

(PECL solr >= 0.9.2)

SolrQuery::removeSortField — Removes one of the sort fields

Beschreibung

public SolrQuery SolrQuery::removeSortField ( string $field )

Removes one of the sort fields

Parameter-Liste

field

The name of the field

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::removeMltQueryField
SolrQuery::removeStatsFacet
SolrQuery


Removes one of the stats.facet parameters

SolrQuery::removeSortField
SolrQuery::removeStatsField
SolrQuery
PHP Manual

SolrQuery::removeStatsFacet

(PECL solr >= 0.9.2)

SolrQuery::removeStatsFacet — Removes one of the stats.facet parameters

Beschreibung

public SolrQuery SolrQuery::removeStatsFacet ( string $value )

Removes one of the stats.facet parameters

Parameter-Liste

value

The value

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::removeSortField
SolrQuery::removeStatsField
SolrQuery


Removes one of the stats.field parameters

SolrQuery::removeStatsFacet
SolrQuery::setEchoHandler
SolrQuery
PHP Manual

SolrQuery::removeStatsField

(PECL solr >= 0.9.2)

SolrQuery::removeStatsField — Removes one of the stats.field parameters

Beschreibung

public SolrQuery SolrQuery::removeStatsField ( string $field )

Removes one of the stats.field parameters

Parameter-Liste

field

The name of the field.

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::removeStatsFacet
SolrQuery::setEchoHandler
SolrQuery


Toggles the echoHandler parameter

SolrQuery::removeStatsField
SolrQuery::setEchoParams
SolrQuery
PHP Manual

SolrQuery::setEchoHandler

(PECL solr >= 0.9.2)

SolrQuery::setEchoHandler — Toggles the echoHandler parameter

Beschreibung

public SolrQuery SolrQuery::setEchoHandler ( bool $flag )

If set to true, Solr places the name of the handle used in the response to the client for debugging purposes.

Parameter-Liste

flag

TRUE or FALSE

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::removeStatsField
SolrQuery::setEchoParams
SolrQuery


Determines what kind of parameters to include in the response

SolrQuery::setEchoHandler
SolrQuery::setExpand
SolrQuery
PHP Manual

SolrQuery::setEchoParams

(PECL solr >= 0.9.2)

SolrQuery::setEchoParams — Determines what kind of parameters to include in the response

Beschreibung

public SolrQuery SolrQuery::setEchoParams ( string $type )

Instructs Solr what kinds of Request parameters should be included in the response for debugging purposes, legal values include:

- none - don't include any request parameters for debugging
- explicit - include the parameters explicitly specified by the client in the request
- all - include all parameters involved in this request, either specified explicitly by the client, or implicit because of the request handler configuration.

Parameter-Liste

type

The type of parameters to include

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setEchoHandler
SolrQuery::setExpand
SolrQuery


Enables/Disables the Expand Component

SolrQuery::setEchoParams
SolrQuery::setExpandQuery
SolrQuery
PHP Manual

SolrQuery::setExpand

(PECL solr >= 2.2.0)

SolrQuery::setExpand — Enables/Disables the Expand Component

Beschreibung

public SolrQuery SolrQuery::setExpand ( bool $value )

Enables/Disables the Expand Component.

Parameter-Liste

value

Bool flag

Rückgabewerte

SolrQuery

Beispiele

Beispiel #1 SolrQuery::setExpand() example

<?php

$query = new SolrQuery('lucene');

$query
    ->setExpand(true)
    ->setExpandRows(50)
    ->setExpandQuery('text:product')
    ->addExpandFilterQuery('manu:apple')
    ->addExpandFilterQuery('inStock:true')
    ->addExpandSortField('score', SolrQuery::ORDER_DESC)
    ->addExpandSortField('title', SolrQuery::ORDER_ASC);

echo $query.PHP_EOL;

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

q=lucene&expand=true&expand.rows=50&expand.q=text:product&expand.fq=manu:apple&expand.fq=inStock:true&expand.sort=score desc,title asc

Siehe auch

  • SolrQuery::addExpandSortField() - Orders the documents within the expanded groups (expand.sort parameter).
  • SolrQuery::removeExpandSortField() - Removes an expand sort field from the expand.sort parameter.
  • SolrQuery::setExpandRows() - Sets the number of rows to display in each group (expand.rows). Server Default 5
  • SolrQuery::setExpandQuery() - Sets the expand.q parameter
  • SolrQuery::addExpandFilterQuery() - Overrides main filter query, determines which documents to include in the main group.
  • SolrQuery::removeExpandFilterQuery() - Removes an expand filter query
SolrQuery::setEchoParams
SolrQuery::setExpandQuery
SolrQuery


Sets the expand.q parameter

SolrQuery::setExpand
SolrQuery::setExpandRows
SolrQuery
PHP Manual

SolrQuery::setExpandQuery

(PECL solr >= 2.2.0)

SolrQuery::setExpandQuery — Sets the expand.q parameter

Beschreibung

public SolrQuery SolrQuery::setExpandQuery ( string $q )

Sets the expand.q parameter.

Overrides the main q parameter, determines which documents to include in the main group.

Parameter-Liste

q

Rückgabewerte

SolrQuery

Siehe auch

  • SolrQuery::setExpand() - Enables/Disables the Expand Component
  • SolrQuery::addExpandSortField() - Orders the documents within the expanded groups (expand.sort parameter).
  • SolrQuery::removeExpandSortField() - Removes an expand sort field from the expand.sort parameter.
  • SolrQuery::setExpandRows() - Sets the number of rows to display in each group (expand.rows). Server Default 5
  • SolrQuery::addExpandFilterQuery() - Overrides main filter query, determines which documents to include in the main group.
  • SolrQuery::removeExpandFilterQuery() - Removes an expand filter query
SolrQuery::setExpand
SolrQuery::setExpandRows
SolrQuery


Sets the number of rows to display in each group (expand.rows). Server Default 5

SolrQuery::setExpandQuery
SolrQuery::setExplainOther
SolrQuery
PHP Manual

SolrQuery::setExpandRows

(PECL solr >= 2.2.0)

SolrQuery::setExpandRows — Sets the number of rows to display in each group (expand.rows). Server Default 5

Beschreibung

public SolrQuery SolrQuery::setExpandRows ( integer $value )

Sets the number of rows to display in each group (expand.rows). Server Default 5

Parameter-Liste

value

Rückgabewerte

SolrQuery

Siehe auch

  • SolrQuery::setExpand() - Enables/Disables the Expand Component
  • SolrQuery::addExpandSortField() - Orders the documents within the expanded groups (expand.sort parameter).
  • SolrQuery::removeExpandSortField() - Removes an expand sort field from the expand.sort parameter.
  • SolrQuery::setExpandQuery() - Sets the expand.q parameter
  • SolrQuery::addExpandFilterQuery() - Overrides main filter query, determines which documents to include in the main group.
  • SolrQuery::removeExpandFilterQuery() - Removes an expand filter query
SolrQuery::setExpandQuery
SolrQuery::setExplainOther
SolrQuery


Sets the explainOther common query parameter

SolrQuery::setExpandRows
SolrQuery::setFacet
SolrQuery
PHP Manual

SolrQuery::setExplainOther

(PECL solr >= 0.9.2)

SolrQuery::setExplainOther — Sets the explainOther common query parameter

Beschreibung

public SolrQuery SolrQuery::setExplainOther ( string $query )

Sets the explainOther common query parameter

Parameter-Liste

query

The Lucene query to identify a set of documents

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setExpandRows
SolrQuery::setFacet
SolrQuery


Maps to the facet parameter. Enables or disables facetting

SolrQuery::setExplainOther
SolrQuery::setFacetDateEnd
SolrQuery
PHP Manual

SolrQuery::setFacet

(PECL solr >= 0.9.2)

SolrQuery::setFacet — Maps to the facet parameter. Enables or disables facetting

Beschreibung

public SolrQuery SolrQuery::setFacet ( bool $flag )

Enables or disables faceting.

Parameter-Liste

value

TRUE enables faceting and FALSE disables it.

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setExplainOther
SolrQuery::setFacetDateEnd
SolrQuery


Maps to facet.date.end

SolrQuery::setFacet
SolrQuery::setFacetDateGap
SolrQuery
PHP Manual

SolrQuery::setFacetDateEnd

(PECL solr >= 0.9.2)

SolrQuery::setFacetDateEnd — Maps to facet.date.end

Beschreibung

public SolrQuery SolrQuery::setFacetDateEnd ( string $value [, string $field_override ] )

Maps to facet.date.end

Parameter-Liste

value

See facet.date.end

field_override

Name of the field

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacet
SolrQuery::setFacetDateGap
SolrQuery


Maps to facet.date.gap

SolrQuery::setFacetDateEnd
SolrQuery::setFacetDateHardEnd
SolrQuery
PHP Manual

SolrQuery::setFacetDateGap

(PECL solr >= 0.9.2)

SolrQuery::setFacetDateGap — Maps to facet.date.gap

Beschreibung

public SolrQuery SolrQuery::setFacetDateGap ( string $value [, string $field_override ] )

Maps to facet.date.gap

Parameter-Liste

value

See facet.date.gap

field_override

The name of the field

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacetDateEnd
SolrQuery::setFacetDateHardEnd
SolrQuery


Maps to facet.date.hardend

SolrQuery::setFacetDateGap
SolrQuery::setFacetDateStart
SolrQuery
PHP Manual

SolrQuery::setFacetDateHardEnd

(PECL solr >= 0.9.2)

SolrQuery::setFacetDateHardEnd — Maps to facet.date.hardend

Beschreibung

public SolrQuery SolrQuery::setFacetDateHardEnd ( bool $value [, string $field_override ] )

Maps to facet.date.hardend

Parameter-Liste

value

See facet.date.hardend

field_override

The name of the field

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacetDateGap
SolrQuery::setFacetDateStart
SolrQuery


Maps to facet.date.start

SolrQuery::setFacetDateHardEnd
SolrQuery::setFacetEnumCacheMinDefaultFrequency
SolrQuery
PHP Manual

SolrQuery::setFacetDateStart

(PECL solr >= 0.9.2)

SolrQuery::setFacetDateStart — Maps to facet.date.start

Beschreibung

public SolrQuery SolrQuery::setFacetDateStart ( string $value [, string $field_override ] )

Maps to facet.date.start

Parameter-Liste

value

See facet.date.start

field_override

The name of the field.

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacetDateHardEnd
SolrQuery::setFacetEnumCacheMinDefaultFrequency
SolrQuery


Sets the minimum document frequency used for determining term count

SolrQuery::setFacetDateStart
SolrQuery::setFacetLimit
SolrQuery
PHP Manual

SolrQuery::setFacetEnumCacheMinDefaultFrequency

(PECL solr >= 0.9.2)

SolrQuery::setFacetEnumCacheMinDefaultFrequency — Sets the minimum document frequency used for determining term count

Beschreibung

public SolrQuery SolrQuery::setFacetEnumCacheMinDefaultFrequency ( int $frequency [, string $field_override ] )

Sets the minimum document frequency used for determining term count

Parameter-Liste

value

The minimum frequency

field_override

The name of the field.

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacetDateStart
SolrQuery::setFacetLimit
SolrQuery


Maps to facet.limit

SolrQuery::setFacetEnumCacheMinDefaultFrequency
SolrQuery::setFacetMethod
SolrQuery
PHP Manual

SolrQuery::setFacetLimit

(PECL solr >= 0.9.2)

SolrQuery::setFacetLimit — Maps to facet.limit

Beschreibung

public SolrQuery SolrQuery::setFacetLimit ( int $limit [, string $field_override ] )

Maps to facet.limit. Sets the maximum number of constraint counts that should be returned for the facet fields.

Parameter-Liste

limit

The maximum number of constraint counts

field_override

The name of the field.

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacetEnumCacheMinDefaultFrequency
SolrQuery::setFacetMethod
SolrQuery


Specifies the type of algorithm to use when faceting a field

SolrQuery::setFacetLimit
SolrQuery::setFacetMinCount
SolrQuery
PHP Manual

SolrQuery::setFacetMethod

(PECL solr >= 0.9.2)

SolrQuery::setFacetMethod — Specifies the type of algorithm to use when faceting a field

Beschreibung

public SolrQuery SolrQuery::setFacetMethod ( string $method [, string $field_override ] )

Specifies the type of algorithm to use when faceting a field. This method accepts optional field override.

Parameter-Liste

method

The method to use.

field_override

The name of the field.

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacetLimit
SolrQuery::setFacetMinCount
SolrQuery


Maps to facet.mincount

SolrQuery::setFacetMethod
SolrQuery::setFacetMissing
SolrQuery
PHP Manual

SolrQuery::setFacetMinCount

(PECL solr >= 0.9.2)

SolrQuery::setFacetMinCount — Maps to facet.mincount

Beschreibung

public SolrQuery SolrQuery::setFacetMinCount ( int $mincount [, string $field_override ] )

Sets the minimum counts for facet fields that should be included in the response

Parameter-Liste

mincount

The minimum count

field_override

The name of the field.

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacetMethod
SolrQuery::setFacetMissing
SolrQuery


Maps to facet.missing

SolrQuery::setFacetMinCount
SolrQuery::setFacetOffset
SolrQuery
PHP Manual

SolrQuery::setFacetMissing

(PECL solr >= 0.9.2)

SolrQuery::setFacetMissing — Maps to facet.missing

Beschreibung

public SolrQuery SolrQuery::setFacetMissing ( bool $flag [, string $field_override ] )

Used to indicate that in addition to the Term-based constraints of a facet field, a count of all matching results which have no value for the field should be computed

Parameter-Liste

flag

TRUE turns this feature on. FALSE disables it.

field_override

The name of the field.

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacetMinCount
SolrQuery::setFacetOffset
SolrQuery


Sets the offset into the list of constraints to allow for pagination

SolrQuery::setFacetMissing
SolrQuery::setFacetPrefix
SolrQuery
PHP Manual

SolrQuery::setFacetOffset

(PECL solr >= 0.9.2)

SolrQuery::setFacetOffset — Sets the offset into the list of constraints to allow for pagination

Beschreibung

public SolrQuery SolrQuery::setFacetOffset ( int $offset [, string $field_override ] )

Sets the offset into the list of constraints to allow for pagination.

Parameter-Liste

offset

The offset

field_override

The name of the field.

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacetMissing
SolrQuery::setFacetPrefix
SolrQuery


Specifies a string prefix with which to limits the terms on which to facet

SolrQuery::setFacetOffset
SolrQuery::setFacetSort
SolrQuery
PHP Manual

SolrQuery::setFacetPrefix

(PECL solr >= 0.9.2)

SolrQuery::setFacetPrefix — Specifies a string prefix with which to limits the terms on which to facet

Beschreibung

public SolrQuery SolrQuery::setFacetPrefix ( string $prefix [, string $field_override ] )

Specifies a string prefix with which to limits the terms on which to facet.

Parameter-Liste

prefix

The prefix string

field_override

The name of the field.

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacetOffset
SolrQuery::setFacetSort
SolrQuery


Determines the ordering of the facet field constraints

SolrQuery::setFacetPrefix
SolrQuery::setGroup
SolrQuery
PHP Manual

SolrQuery::setFacetSort

(PECL solr >= 0.9.2)

SolrQuery::setFacetSort — Determines the ordering of the facet field constraints

Beschreibung

public SolrQuery SolrQuery::setFacetSort ( int $facetSort [, string $field_override ] )

Determines the ordering of the facet field constraints

Parameter-Liste

facetSort

Use SolrQuery::FACET_SORT_INDEX for sorting by index order or SolrQuery::FACET_SORT_COUNT for sorting by count.

field_override

The name of the field.

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacetPrefix
SolrQuery::setGroup
SolrQuery


Enable/Disable result grouping (group parameter)

SolrQuery::setFacetSort
SolrQuery::setGroupCachePercent
SolrQuery
PHP Manual

SolrQuery::setGroup

(PECL solr >= 2.2.0)

SolrQuery::setGroup — Enable/Disable result grouping (group parameter)

Beschreibung

public SolrQuery SolrQuery::setGroup ( bool $value )

Enable/Disable result grouping (group parameter)

Parameter-Liste

value

Rückgabewerte

Siehe auch

  • SolrQuery::getGroup() - Returns true if grouping is enabled
  • SolrQuery::addGroupField() - Add a field to be used to group results.
  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter).
  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query.
  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter).
  • SolrQuery::setGroupFacet() - Sets group.facet parameter
  • SolrQuery::setGroupOffset() - Sets the group.offset parameter.
  • SolrQuery::setGroupLimit() - Specifies the number of results to return for each group. The server default value is 1.
  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple.
  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results.
  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query.
  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter).
  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping
SolrQuery::setFacetSort
SolrQuery::setGroupCachePercent
SolrQuery


Enables caching for result grouping

SolrQuery::setGroup
SolrQuery::setGroupFacet
SolrQuery
PHP Manual

SolrQuery::setGroupCachePercent

(PECL solr >= 2.2.0)

SolrQuery::setGroupCachePercent — Enables caching for result grouping

Beschreibung

public SolrQuery SolrQuery::setGroupCachePercent ( integer $percent )

Setting this parameter to a number greater than 0 enables caching for result grouping. Result Grouping executes two searches; this option caches the second search. The server default value is 0. Testing has shown that group caching only improves search time with Boolean, wildcard, and fuzzy queries. For simple queries like term or "match all" queries, group caching degrades performance. group.cache.percent parameter

Parameter-Liste

percent

Rückgabewerte

Fehler/Exceptions

Emits SolrIllegalArgumentException in case of an invalid parameter was passed.

Siehe auch

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)
  • SolrQuery::addGroupField() - Add a field to be used to group results.
  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter).
  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query.
  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter).
  • SolrQuery::setGroupFacet() - Sets group.facet parameter
  • SolrQuery::setGroupOffset() - Sets the group.offset parameter.
  • SolrQuery::setGroupLimit() - Specifies the number of results to return for each group. The server default value is 1.
  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple.
  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results.
  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query.
  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter).
SolrQuery::setGroup
SolrQuery::setGroupFacet
SolrQuery


Sets group.facet parameter

SolrQuery::setGroupCachePercent
SolrQuery::setGroupFormat
SolrQuery
PHP Manual

SolrQuery::setGroupFacet

(PECL solr >= 2.2.0)

SolrQuery::setGroupFacet — Sets group.facet parameter

Beschreibung

public SolrQuery SolrQuery::setGroupFacet ( bool $value )

Determines whether to compute grouped facets for the field facets specified in facet.field parameters. Grouped facets are computed based on the first specified group.

Parameter-Liste

value

Rückgabewerte

Siehe auch

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)
  • SolrQuery::addGroupField() - Add a field to be used to group results.
  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter).
  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query.
  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter).
  • SolrQuery::setGroupOffset() - Sets the group.offset parameter.
  • SolrQuery::setGroupLimit() - Specifies the number of results to return for each group. The server default value is 1.
  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple.
  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results.
  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query.
  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter).
  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping
SolrQuery::setGroupCachePercent
SolrQuery::setGroupFormat
SolrQuery


Sets the group format, result structure (group.format parameter).

SolrQuery::setGroupFacet
SolrQuery::setGroupLimit
SolrQuery
PHP Manual

SolrQuery::setGroupFormat

(PECL solr >= 2.2.0)

SolrQuery::setGroupFormat — Sets the group format, result structure (group.format parameter).

Beschreibung

public SolrQuery SolrQuery::setGroupFormat ( string $value )

Sets the group.format parameter. If this parameter is set to simple, the grouped documents are presented in a single flat list, and the start and rows parameters affect the numbers of documents instead of groups. Accepts: grouped/simple

Parameter-Liste

value

Rückgabewerte

Siehe auch

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)
  • SolrQuery::addGroupField() - Add a field to be used to group results.
  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter).
  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query.
  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter).
  • SolrQuery::setGroupFacet() - Sets group.facet parameter
  • SolrQuery::setGroupOffset() - Sets the group.offset parameter.
  • SolrQuery::setGroupLimit() - Specifies the number of results to return for each group. The server default value is 1.
  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple.
  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results.
  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query.
  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping
SolrQuery::setGroupFacet
SolrQuery::setGroupLimit
SolrQuery


Specifies the number of results to return for each group. The server default value is 1.

SolrQuery::setGroupFormat
SolrQuery::setGroupMain
SolrQuery
PHP Manual

SolrQuery::setGroupLimit

(PECL solr >= 2.2.0)

SolrQuery::setGroupLimit — Specifies the number of results to return for each group. The server default value is 1.

Beschreibung

public SolrQuery SolrQuery::setGroupLimit ( integer $value )

Specifies the number of results to return for each group. The server default value is 1.

Parameter-Liste

value

Rückgabewerte

Siehe auch

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)
  • SolrQuery::addGroupField() - Add a field to be used to group results.
  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter).
  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query.
  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter).
  • SolrQuery::setGroupFacet() - Sets group.facet parameter
  • SolrQuery::setGroupOffset() - Sets the group.offset parameter.
  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple.
  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results.
  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query.
  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter).
  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping
SolrQuery::setGroupFormat
SolrQuery::setGroupMain
SolrQuery


If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple.

SolrQuery::setGroupLimit
SolrQuery::setGroupNGroups
SolrQuery
PHP Manual

SolrQuery::setGroupMain

(PECL solr >= 2.2.0)

SolrQuery::setGroupMain — If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple.

Beschreibung

public SolrQuery SolrQuery::setGroupMain ( string $value )

If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple.

Parameter-Liste

value

Rückgabewerte

Siehe auch

Siehe auch

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)
  • SolrQuery::addGroupField() - Add a field to be used to group results.
  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter).
  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query.
  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter).
  • SolrQuery::setGroupFacet() - Sets group.facet parameter
  • SolrQuery::setGroupOffset() - Sets the group.offset parameter.
  • SolrQuery::setGroupMain()
  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results.
  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query.
  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter).
  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping
SolrQuery::setGroupLimit
SolrQuery::setGroupNGroups
SolrQuery


If true, Solr includes the number of groups that have matched the query in the results.

SolrQuery::setGroupMain
SolrQuery::setGroupOffset
SolrQuery
PHP Manual

SolrQuery::setGroupNGroups

(PECL solr >= 2.2.0)

SolrQuery::setGroupNGroups — If true, Solr includes the number of groups that have matched the query in the results.

Beschreibung

public SolrQuery SolrQuery::setGroupNGroups ( bool $value )

If true, Solr includes the number of groups that have matched the query in the results.

Parameter-Liste

value

Rückgabewerte

Siehe auch

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)
  • SolrQuery::addGroupField() - Add a field to be used to group results.
  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter).
  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query.
  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter).
  • SolrQuery::setGroupFacet() - Sets group.facet parameter
  • SolrQuery::setGroupOffset() - Sets the group.offset parameter.
  • SolrQuery::setGroupLimit() - Specifies the number of results to return for each group. The server default value is 1.
  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple.
  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query.
  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter).
  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping
SolrQuery::setGroupMain
SolrQuery::setGroupOffset
SolrQuery


Sets the group.offset parameter.

SolrQuery::setGroupNGroups
SolrQuery::setGroupTruncate
SolrQuery
PHP Manual

SolrQuery::setGroupOffset

(PECL solr >= 2.2.0)

SolrQuery::setGroupOffset — Sets the group.offset parameter.

Beschreibung

public SolrQuery SolrQuery::setGroupOffset ( integer $value )

Sets the group.offset parameter.

Parameter-Liste

value

Rückgabewerte

Siehe auch

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)
  • SolrQuery::addGroupField() - Add a field to be used to group results.
  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter).
  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query.
  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter).
  • SolrQuery::setGroupFacet() - Sets group.facet parameter
  • SolrQuery::setGroupLimit() - Specifies the number of results to return for each group. The server default value is 1.
  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple.
  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results.
  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query.
  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter).
  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping
SolrQuery::setGroupNGroups
SolrQuery::setGroupTruncate
SolrQuery


If true, facet counts are based on the most relevant document of each group matching the query.

SolrQuery::setGroupOffset
SolrQuery::setHighlight
SolrQuery
PHP Manual

SolrQuery::setGroupTruncate

(PECL solr >= 2.2.0)

SolrQuery::setGroupTruncate — If true, facet counts are based on the most relevant document of each group matching the query.

Beschreibung

public SolrQuery SolrQuery::setGroupTruncate ( bool $value )

If true, facet counts are based on the most relevant document of each group matching the query. The server default value is false. group.truncate parameter

Parameter-Liste

value

Rückgabewerte

Siehe auch

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)
  • SolrQuery::addGroupField() - Add a field to be used to group results.
  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter).
  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query.
  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter).
  • SolrQuery::setGroupFacet() - Sets group.facet parameter
  • SolrQuery::setGroupOffset() - Sets the group.offset parameter.
  • SolrQuery::setGroupLimit() - Specifies the number of results to return for each group. The server default value is 1.
  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple.
  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results.
  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter).
  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping
SolrQuery::setGroupOffset
SolrQuery::setHighlight
SolrQuery


Enables or disables highlighting

SolrQuery::setGroupTruncate
SolrQuery::setHighlightAlternateField
SolrQuery
PHP Manual

SolrQuery::setHighlight

(PECL solr >= 0.9.2)

SolrQuery::setHighlight — Enables or disables highlighting

Beschreibung

public SolrQuery SolrQuery::setHighlight ( bool $flag )

Setting it to TRUE enables highlighted snippets to be generated in the query response.

Setting it to FALSE disables highlighting

Parameter-Liste

flag

Enable or disable highlighting

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setGroupTruncate
SolrQuery::setHighlightAlternateField
SolrQuery


Specifies the backup field to use

SolrQuery::setHighlight
SolrQuery::setHighlightFormatter
SolrQuery
PHP Manual

SolrQuery::setHighlightAlternateField

(PECL solr >= 0.9.2)

SolrQuery::setHighlightAlternateField — Specifies the backup field to use

Beschreibung

public SolrQuery SolrQuery::setHighlightAlternateField ( string $field [, string $field_override ] )

If a snippet cannot be generated because there were no matching terms, one can specify a field to use as the backup or default summary

Parameter-Liste

field

The name of the backup field

field_override

The name of the field we are overriding this setting for.

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlight
SolrQuery::setHighlightFormatter
SolrQuery


Specify a formatter for the highlight output

SolrQuery::setHighlightAlternateField
SolrQuery::setHighlightFragmenter
SolrQuery
PHP Manual

SolrQuery::setHighlightFormatter

(PECL solr >= 0.9.2)

SolrQuery::setHighlightFormatter — Specify a formatter for the highlight output

Beschreibung

public SolrQuery SolrQuery::setHighlightFormatter ( string $formatter [, string $field_override ] )

Specify a formatter for the highlight output.

Parameter-Liste

formatter

Currently the only legal value is "simple"

field_override

The name of the field.

SolrQuery::setHighlightAlternateField
SolrQuery::setHighlightFragmenter
SolrQuery


Sets a text snippet generator for highlighted text

SolrQuery::setHighlightFormatter
SolrQuery::setHighlightFragsize
SolrQuery
PHP Manual

SolrQuery::setHighlightFragmenter

(PECL solr >= 0.9.2)

SolrQuery::setHighlightFragmenter — Sets a text snippet generator for highlighted text

Beschreibung

public SolrQuery SolrQuery::setHighlightFragmenter ( string $fragmenter [, string $field_override ] )

Specify a text snippet generator for highlighted text.

Parameter-Liste

fragmenter

The standard fragmenter is gap. Another option is regex, which tries to create fragments that resembles a certain regular expression

field_override

The name of the field.

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightFormatter
SolrQuery::setHighlightFragsize
SolrQuery


The size of fragments to consider for highlighting

SolrQuery::setHighlightFragmenter
SolrQuery::setHighlightHighlightMultiTerm
SolrQuery
PHP Manual

SolrQuery::setHighlightFragsize

(PECL solr >= 0.9.2)

SolrQuery::setHighlightFragsize — The size of fragments to consider for highlighting

Beschreibung

public SolrQuery SolrQuery::setHighlightFragsize ( int $size [, string $field_override ] )

Sets the size, in characters, of fragments to consider for highlighting. "0" indicates that the whole field value should be used (no fragmenting).

Parameter-Liste

size

The size, in characters, of fragments to consider for highlighting

field_override

The name of the field.

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightFragmenter
SolrQuery::setHighlightHighlightMultiTerm
SolrQuery


Use SpanScorer to highlight phrase terms

SolrQuery::setHighlightFragsize
SolrQuery::setHighlightMaxAlternateFieldLength
SolrQuery
PHP Manual

SolrQuery::setHighlightHighlightMultiTerm

(PECL solr >= 0.9.2)

SolrQuery::setHighlightHighlightMultiTerm — Use SpanScorer to highlight phrase terms

Beschreibung

public SolrQuery SolrQuery::setHighlightHighlightMultiTerm ( bool $flag )

Use SpanScorer to highlight phrase terms only when they appear within the query phrase in the document.

Parameter-Liste

flag

Whether or not to use SpanScorer to highlight phrase terms only when they appear within the query phrase in the document.

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightFragsize
SolrQuery::setHighlightMaxAlternateFieldLength
SolrQuery


Sets the maximum number of characters of the field to return

SolrQuery::setHighlightHighlightMultiTerm
SolrQuery::setHighlightMaxAnalyzedChars
SolrQuery
PHP Manual

SolrQuery::setHighlightMaxAlternateFieldLength

(PECL solr >= 0.9.2)

SolrQuery::setHighlightMaxAlternateFieldLength — Sets the maximum number of characters of the field to return

Beschreibung

public SolrQuery SolrQuery::setHighlightMaxAlternateFieldLength ( int $fieldLength [, string $field_override ] )

If SolrQuery::setHighlightAlternateField() was passed the value TRUE, this parameter specifies the maximum number of characters of the field to return

Any value less than or equal to 0 means unlimited.

Parameter-Liste

fieldLength

The length of the field

field_override

The name of the field.

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightHighlightMultiTerm
SolrQuery::setHighlightMaxAnalyzedChars
SolrQuery


Specifies the number of characters into a document to look for suitable snippets

SolrQuery::setHighlightMaxAlternateFieldLength
SolrQuery::setHighlightMergeContiguous
SolrQuery
PHP Manual

SolrQuery::setHighlightMaxAnalyzedChars

(PECL solr >= 0.9.2)

SolrQuery::setHighlightMaxAnalyzedChars — Specifies the number of characters into a document to look for suitable snippets

Beschreibung

public SolrQuery SolrQuery::setHighlightMaxAnalyzedChars ( int $value )

Specifies the number of characters into a document to look for suitable snippets

Parameter-Liste

value

The number of characters into a document to look for suitable snippets

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightMaxAlternateFieldLength
SolrQuery::setHighlightMergeContiguous
SolrQuery


Whether or not to collapse contiguous fragments into a single fragment

SolrQuery::setHighlightMaxAnalyzedChars
SolrQuery::setHighlightRegexMaxAnalyzedChars
SolrQuery
PHP Manual

SolrQuery::setHighlightMergeContiguous

(PECL solr >= 0.9.2)

SolrQuery::setHighlightMergeContiguous — Whether or not to collapse contiguous fragments into a single fragment

Beschreibung

public SolrQuery SolrQuery::setHighlightMergeContiguous ( bool $flag [, string $field_override ] )

Whether or not to collapse contiguous fragments into a single fragment

Parameter-Liste

value

Whether or not to collapse contiguous fragments into a single fragment

field_override

The name of the field.

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightMaxAnalyzedChars
SolrQuery::setHighlightRegexMaxAnalyzedChars
SolrQuery


Specify the maximum number of characters to analyze

SolrQuery::setHighlightMergeContiguous
SolrQuery::setHighlightRegexPattern
SolrQuery
PHP Manual

SolrQuery::setHighlightRegexMaxAnalyzedChars

(PECL solr >= 0.9.2)

SolrQuery::setHighlightRegexMaxAnalyzedChars — Specify the maximum number of characters to analyze

Beschreibung

public SolrQuery SolrQuery::setHighlightRegexMaxAnalyzedChars ( int $maxAnalyzedChars )

Specify the maximum number of characters to analyze from a field when using the regex fragmenter

Parameter-Liste

maxAnalyzedChars

The maximum number of characters to analyze from a field when using the regex fragmenter

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightMergeContiguous
SolrQuery::setHighlightRegexPattern
SolrQuery


Specify the regular expression for fragmenting

SolrQuery::setHighlightRegexMaxAnalyzedChars
SolrQuery::setHighlightRegexSlop
SolrQuery
PHP Manual

SolrQuery::setHighlightRegexPattern

(PECL solr >= 0.9.2)

SolrQuery::setHighlightRegexPattern — Specify the regular expression for fragmenting

Beschreibung

public SolrQuery SolrQuery::setHighlightRegexPattern ( string $value )

Specifies the regular expression for fragmenting. This could be used to extract sentences

Parameter-Liste

value

The regular expression for fragmenting. This could be used to extract sentences

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightRegexMaxAnalyzedChars
SolrQuery::setHighlightRegexSlop
SolrQuery


Sets the factor by which the regex fragmenter can stray from the ideal fragment size

SolrQuery::setHighlightRegexPattern
SolrQuery::setHighlightRequireFieldMatch
SolrQuery
PHP Manual

SolrQuery::setHighlightRegexSlop

(PECL solr >= 0.9.2)

SolrQuery::setHighlightRegexSlop — Sets the factor by which the regex fragmenter can stray from the ideal fragment size

Beschreibung

public SolrQuery SolrQuery::setHighlightRegexSlop ( float $factor )

The factor by which the regex fragmenter can stray from the ideal fragment size ( specfied by SolrQuery::setHighlightFragsize )to accommodate the regular expression

Parameter-Liste

factor

The factor by which the regex fragmenter can stray from the ideal fragment size

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightRegexPattern
SolrQuery::setHighlightRequireFieldMatch
SolrQuery


Require field matching during highlighting

SolrQuery::setHighlightRegexSlop
SolrQuery::setHighlightSimplePost
SolrQuery
PHP Manual

SolrQuery::setHighlightRequireFieldMatch

(PECL solr >= 0.9.2)

SolrQuery::setHighlightRequireFieldMatch — Require field matching during highlighting

Beschreibung

public SolrQuery SolrQuery::setHighlightRequireFieldMatch ( bool $flag )

If TRUE, then a field will only be highlighted if the query matched in this particular field.

This will only work if SolrQuery::setHighlightUsePhraseHighlighter() was set to TRUE

Parameter-Liste

flag

TRUE or FALSE

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightRegexSlop
SolrQuery::setHighlightSimplePost
SolrQuery


Sets the text which appears after a highlighted term

SolrQuery::setHighlightRequireFieldMatch
SolrQuery::setHighlightSimplePre
SolrQuery
PHP Manual

SolrQuery::setHighlightSimplePost

(PECL solr >= 0.9.2)

SolrQuery::setHighlightSimplePost — Sets the text which appears after a highlighted term

Beschreibung

public SolrQuery SolrQuery::setHighlightSimplePost ( string $simplePost [, string $field_override ] )

Sets the text which appears before a highlighted term

Parameter-Liste

simplePost

Sets the text which appears after a highlighted term

The default is </em>

field_override

The name of the field.

SolrQuery::setHighlightRequireFieldMatch
SolrQuery::setHighlightSimplePre
SolrQuery


Sets the text which appears before a highlighted term

SolrQuery::setHighlightSimplePost
SolrQuery::setHighlightSnippets
SolrQuery
PHP Manual

SolrQuery::setHighlightSimplePre

(PECL solr >= 0.9.2)

SolrQuery::setHighlightSimplePre — Sets the text which appears before a highlighted term

Beschreibung

public SolrQuery SolrQuery::setHighlightSimplePre ( string $simplePre [, string $field_override ] )

Sets the text which appears before a highlighted term

The default is <em>

Parameter-Liste

simplePre

The text which appears before a highlighted term

field_override

The name of the field.

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightSimplePost
SolrQuery::setHighlightSnippets
SolrQuery


Sets the maximum number of highlighted snippets to generate per field

SolrQuery::setHighlightSimplePre
SolrQuery::setHighlightUsePhraseHighlighter
SolrQuery
PHP Manual

SolrQuery::setHighlightSnippets

(PECL solr >= 0.9.2)

SolrQuery::setHighlightSnippets — Sets the maximum number of highlighted snippets to generate per field

Beschreibung

public SolrQuery SolrQuery::setHighlightSnippets ( int $value [, string $field_override ] )

Sets the maximum number of highlighted snippets to generate per field

Parameter-Liste

value

The maximum number of highlighted snippets to generate per field

field_override

The name of the field.

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightSimplePre
SolrQuery::setHighlightUsePhraseHighlighter
SolrQuery


Whether to highlight phrase terms only when they appear within the query phrase

SolrQuery::setHighlightSnippets
SolrQuery::setMlt
SolrQuery
PHP Manual

SolrQuery::setHighlightUsePhraseHighlighter

(PECL solr >= 0.9.2)

SolrQuery::setHighlightUsePhraseHighlighter — Whether to highlight phrase terms only when they appear within the query phrase

Beschreibung

public SolrQuery SolrQuery::setHighlightUsePhraseHighlighter ( bool $flag )

Sets whether or not to use SpanScorer to highlight phrase terms only when they appear within the query phrase in the document

Parameter-Liste

value

Whether or not to use SpanScorer to highlight phrase terms only when they appear within the query phrase in the document

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightSnippets
SolrQuery::setMlt
SolrQuery


Enables or disables moreLikeThis

SolrQuery::setHighlightUsePhraseHighlighter
SolrQuery::setMltBoost
SolrQuery
PHP Manual

SolrQuery::setMlt

(PECL solr >= 0.9.2)

SolrQuery::setMlt — Enables or disables moreLikeThis

Beschreibung

public SolrQuery SolrQuery::setMlt ( bool $flag )

Enables or disables moreLikeThis

Parameter-Liste

flag

TRUE enables it and FALSE turns it off.

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightUsePhraseHighlighter
SolrQuery::setMltBoost
SolrQuery


Set if the query will be boosted by the interesting term relevance

SolrQuery::setMlt
SolrQuery::setMltCount
SolrQuery
PHP Manual

SolrQuery::setMltBoost

(PECL solr >= 0.9.2)

SolrQuery::setMltBoost — Set if the query will be boosted by the interesting term relevance

Beschreibung

public SolrQuery SolrQuery::setMltBoost ( bool $flag )

Set if the query will be boosted by the interesting term relevance

Parameter-Liste

value

Sets to TRUE or FALSE

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setMlt
SolrQuery::setMltCount
SolrQuery


Set the number of similar documents to return for each result

SolrQuery::setMltBoost
SolrQuery::setMltMaxNumQueryTerms
SolrQuery
PHP Manual

SolrQuery::setMltCount

(PECL solr >= 0.9.2)

SolrQuery::setMltCount — Set the number of similar documents to return for each result

Beschreibung

public SolrQuery SolrQuery::setMltCount ( int $count )

Set the number of similar documents to return for each result

Parameter-Liste

count

The number of similar documents to return for each result

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setMltBoost
SolrQuery::setMltMaxNumQueryTerms
SolrQuery


Sets the maximum number of query terms included

SolrQuery::setMltCount
SolrQuery::setMltMaxNumTokens
SolrQuery
PHP Manual

SolrQuery::setMltMaxNumQueryTerms

(PECL solr >= 0.9.2)

SolrQuery::setMltMaxNumQueryTerms — Sets the maximum number of query terms included

Beschreibung

public SolrQuery SolrQuery::setMltMaxNumQueryTerms ( int $value )

Sets the maximum number of query terms that will be included in any generated query.

Parameter-Liste

value

The maximum number of query terms that will be included in any generated query

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setMltCount
SolrQuery::setMltMaxNumTokens
SolrQuery


Specifies the maximum number of tokens to parse

SolrQuery::setMltMaxNumQueryTerms
SolrQuery::setMltMaxWordLength
SolrQuery
PHP Manual

SolrQuery::setMltMaxNumTokens

(PECL solr >= 0.9.2)

SolrQuery::setMltMaxNumTokens — Specifies the maximum number of tokens to parse

Beschreibung

public SolrQuery SolrQuery::setMltMaxNumTokens ( int $value )

Specifies the maximum number of tokens to parse in each example doc field that is not stored with TermVector support.

Parameter-Liste

value

The maximum number of tokens to parse

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setMltMaxNumQueryTerms
SolrQuery::setMltMaxWordLength
SolrQuery


Sets the maximum word length

SolrQuery::setMltMaxNumTokens
SolrQuery::setMltMinDocFrequency
SolrQuery
PHP Manual

SolrQuery::setMltMaxWordLength

(PECL solr >= 0.9.2)

SolrQuery::setMltMaxWordLength — Sets the maximum word length

Beschreibung

public SolrQuery SolrQuery::setMltMaxWordLength ( int $maxWordLength )

Sets the maximum word length above which words will be ignored.

Parameter-Liste

maxWordLength

The maximum word length above which words will be ignored

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setMltMaxNumTokens
SolrQuery::setMltMinDocFrequency
SolrQuery


Sets the mltMinDoc frequency

SolrQuery::setMltMaxWordLength
SolrQuery::setMltMinTermFrequency
SolrQuery
PHP Manual

SolrQuery::setMltMinDocFrequency

(PECL solr >= 0.9.2)

SolrQuery::setMltMinDocFrequency — Sets the mltMinDoc frequency

Beschreibung

public SolrQuery SolrQuery::setMltMinDocFrequency ( int $minDocFrequency )

The frequency at which words will be ignored which do not occur in at least this many docs.

Parameter-Liste

minDocFrequency

Sets the frequency at which words will be ignored which do not occur in at least this many docs.

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setMltMaxWordLength
SolrQuery::setMltMinTermFrequency
SolrQuery


Sets the frequency below which terms will be ignored in the source docs

SolrQuery::setMltMinDocFrequency
SolrQuery::setMltMinWordLength
SolrQuery
PHP Manual

SolrQuery::setMltMinTermFrequency

(PECL solr >= 0.9.2)

SolrQuery::setMltMinTermFrequency — Sets the frequency below which terms will be ignored in the source docs

Beschreibung

public SolrQuery SolrQuery::setMltMinTermFrequency ( int $minTermFrequency )

Sets the frequency below which terms will be ignored in the source docs

Parameter-Liste

minTermFrequency

The frequency below which terms will be ignored in the source docs

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setMltMinDocFrequency
SolrQuery::setMltMinWordLength
SolrQuery


Sets the minimum word length

SolrQuery::setMltMinTermFrequency
SolrQuery::setOmitHeader
SolrQuery
PHP Manual

SolrQuery::setMltMinWordLength

(PECL solr >= 0.9.2)

SolrQuery::setMltMinWordLength — Sets the minimum word length

Beschreibung

public SolrQuery SolrQuery::setMltMinWordLength ( int $minWordLength )

Sets the minimum word length below which words will be ignored.

Parameter-Liste

minWordLength

The minimum word length below which words will be ignored

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setMltMinTermFrequency
SolrQuery::setOmitHeader
SolrQuery


Exclude the header from the returned results

SolrQuery::setMltMinWordLength
SolrQuery::setQuery
SolrQuery
PHP Manual

SolrQuery::setOmitHeader

(PECL solr >= 0.9.2)

SolrQuery::setOmitHeader — Exclude the header from the returned results

Beschreibung

public SolrQuery SolrQuery::setOmitHeader ( bool $flag )

Exclude the header from the returned results.

Parameter-Liste

flag

TRUE excludes the header from the result.

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setMltMinWordLength
SolrQuery::setQuery
SolrQuery


Sets the search query

SolrQuery::setOmitHeader
SolrQuery::setRows
SolrQuery
PHP Manual

SolrQuery::setQuery

(PECL solr >= 0.9.2)

SolrQuery::setQuery — Sets the search query

Beschreibung

public SolrQuery SolrQuery::setQuery ( string $query )

Sets the search query.

Parameter-Liste

query

The search query

Rückgabewerte

Returns the current SolrQuery object

SolrQuery::setOmitHeader
SolrQuery::setRows
SolrQuery


Specifies the maximum number of rows to return in the result

SolrQuery::setQuery
SolrQuery::setShowDebugInfo
SolrQuery
PHP Manual

SolrQuery::setRows

(PECL solr >= 0.9.2)

SolrQuery::setRows — Specifies the maximum number of rows to return in the result

Beschreibung

public SolrQuery SolrQuery::setRows ( int $rows )

Specifies the maximum number of rows to return in the result

Parameter-Liste

rows

The maximum number of rows to return

Rückgabewerte

Returns the current SolrQuery object.

SolrQuery::setQuery
SolrQuery::setShowDebugInfo
SolrQuery


Flag to show debug information

SolrQuery::setRows
SolrQuery::setStart
SolrQuery
PHP Manual

SolrQuery::setShowDebugInfo

(PECL solr >= 0.9.2)

SolrQuery::setShowDebugInfo — Flag to show debug information

Beschreibung

public SolrQuery SolrQuery::setShowDebugInfo ( bool $flag )

Whether to show debug info

Parameter-Liste

flag

Whether to show debug info. TRUE or FALSE

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setRows
SolrQuery::setStart
SolrQuery


Specifies the number of rows to skip

SolrQuery::setShowDebugInfo
SolrQuery::setStats
SolrQuery
PHP Manual

SolrQuery::setStart

(PECL solr >= 0.9.2)

SolrQuery::setStart — Specifies the number of rows to skip

Beschreibung

public SolrQuery SolrQuery::setStart ( int $start )

Specifies the number of rows to skip. Useful in pagination of results.

Parameter-Liste

start

The number of rows to skip.

Rückgabewerte

Returns the current SolrQuery object.

SolrQuery::setShowDebugInfo
SolrQuery::setStats
SolrQuery


Enables or disables the Stats component

SolrQuery::setStart
SolrQuery::setTerms
SolrQuery
PHP Manual

SolrQuery::setStats

(PECL solr >= 0.9.2)

SolrQuery::setStats — Enables or disables the Stats component

Beschreibung

public SolrQuery SolrQuery::setStats ( bool $flag )

Enables or disables the Stats component.

Parameter-Liste

flag

TRUE turns on the stats component and FALSE disables it.

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setStart
SolrQuery::setTerms
SolrQuery


Enables or disables the TermsComponent

SolrQuery::setStats
SolrQuery::setTermsField
SolrQuery
PHP Manual

SolrQuery::setTerms

(PECL solr >= 0.9.2)

SolrQuery::setTerms — Enables or disables the TermsComponent

Beschreibung

public SolrQuery SolrQuery::setTerms ( bool $flag )

Enables or disables the TermsComponent

Parameter-Liste

flag

TRUE enables it. FALSE turns it off

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setStats
SolrQuery::setTermsField
SolrQuery


Sets the name of the field to get the Terms from

SolrQuery::setTerms
SolrQuery::setTermsIncludeLowerBound
SolrQuery
PHP Manual

SolrQuery::setTermsField

(PECL solr >= 0.9.2)

SolrQuery::setTermsField — Sets the name of the field to get the Terms from

Beschreibung

public SolrQuery SolrQuery::setTermsField ( string $fieldname )

Sets the name of the field to get the terms from

Parameter-Liste

fieldname

The field name

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setTerms
SolrQuery::setTermsIncludeLowerBound
SolrQuery


Include the lower bound term in the result set

SolrQuery::setTermsField
SolrQuery::setTermsIncludeUpperBound
SolrQuery
PHP Manual

SolrQuery::setTermsIncludeLowerBound

(PECL solr >= 0.9.2)

SolrQuery::setTermsIncludeLowerBound — Include the lower bound term in the result set

Beschreibung

public SolrQuery SolrQuery::setTermsIncludeLowerBound ( bool $flag )

Include the lower bound term in the result set.

Parameter-Liste

flag

Include the lower bound term in the result set

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setTermsField
SolrQuery::setTermsIncludeUpperBound
SolrQuery


Include the upper bound term in the result set

SolrQuery::setTermsIncludeLowerBound
SolrQuery::setTermsLimit
SolrQuery
PHP Manual

SolrQuery::setTermsIncludeUpperBound

(PECL solr >= 0.9.2)

SolrQuery::setTermsIncludeUpperBound — Include the upper bound term in the result set

Beschreibung

public SolrQuery SolrQuery::setTermsIncludeUpperBound ( bool $flag )

Include the upper bound term in the result set.

Parameter-Liste

flag

TRUE or FALSE

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setTermsIncludeLowerBound
SolrQuery::setTermsLimit
SolrQuery


Sets the maximum number of terms to return

SolrQuery::setTermsIncludeUpperBound
SolrQuery::setTermsLowerBound
SolrQuery
PHP Manual

SolrQuery::setTermsLimit

(PECL solr >= 0.9.2)

SolrQuery::setTermsLimit — Sets the maximum number of terms to return

Beschreibung

public SolrQuery SolrQuery::setTermsLimit ( int $limit )

Sets the maximum number of terms to return

Parameter-Liste

limit

The maximum number of terms to return. All the terms will be returned if the limit is negative.

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setTermsIncludeUpperBound
SolrQuery::setTermsLowerBound
SolrQuery


Specifies the Term to start from

SolrQuery::setTermsLimit
SolrQuery::setTermsMaxCount
SolrQuery
PHP Manual

SolrQuery::setTermsLowerBound

(PECL solr >= 0.9.2)

SolrQuery::setTermsLowerBound — Specifies the Term to start from

Beschreibung

public SolrQuery SolrQuery::setTermsLowerBound ( string $lowerBound )

Specifies the Term to start from

Parameter-Liste

lowerBound

The lower bound Term

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setTermsLimit
SolrQuery::setTermsMaxCount
SolrQuery


Sets the maximum document frequency

SolrQuery::setTermsLowerBound
SolrQuery::setTermsMinCount
SolrQuery
PHP Manual

SolrQuery::setTermsMaxCount

(PECL solr >= 0.9.2)

SolrQuery::setTermsMaxCount — Sets the maximum document frequency

Beschreibung

public SolrQuery SolrQuery::setTermsMaxCount ( int $frequency )

Sets the maximum document frequency.

Parameter-Liste

frequency

The maximum document frequency.

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setTermsLowerBound
SolrQuery::setTermsMinCount
SolrQuery


Sets the minimum document frequency

SolrQuery::setTermsMaxCount
SolrQuery::setTermsPrefix
SolrQuery
PHP Manual

SolrQuery::setTermsMinCount

(PECL solr >= 0.9.2)

SolrQuery::setTermsMinCount — Sets the minimum document frequency

Beschreibung

public SolrQuery SolrQuery::setTermsMinCount ( int $frequency )

Sets the minimum doc frequency to return in order to be included

Parameter-Liste

frequency

The minimum frequency

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setTermsMaxCount
SolrQuery::setTermsPrefix
SolrQuery


Restrict matches to terms that start with the prefix

SolrQuery::setTermsMinCount
SolrQuery::setTermsReturnRaw
SolrQuery
PHP Manual

SolrQuery::setTermsPrefix

(PECL solr >= 0.9.2)

SolrQuery::setTermsPrefix — Restrict matches to terms that start with the prefix

Beschreibung

public SolrQuery SolrQuery::setTermsPrefix ( string $prefix )

Restrict matches to terms that start with the prefix

Parameter-Liste

prefix

Restrict matches to terms that start with the prefix

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setTermsMinCount
SolrQuery::setTermsReturnRaw
SolrQuery


Return the raw characters of the indexed term

SolrQuery::setTermsPrefix
SolrQuery::setTermsSort
SolrQuery
PHP Manual

SolrQuery::setTermsReturnRaw

(PECL solr >= 0.9.2)

SolrQuery::setTermsReturnRaw — Return the raw characters of the indexed term

Beschreibung

public SolrQuery SolrQuery::setTermsReturnRaw ( bool $flag )

If true, return the raw characters of the indexed term, regardless of if it is human readable

Parameter-Liste

value

TRUE or FALSE

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setTermsPrefix
SolrQuery::setTermsSort
SolrQuery


Specifies how to sort the returned terms

SolrQuery::setTermsReturnRaw
SolrQuery::setTermsUpperBound
SolrQuery
PHP Manual

SolrQuery::setTermsSort

(PECL solr >= 0.9.2)

SolrQuery::setTermsSort — Specifies how to sort the returned terms

Beschreibung

public SolrQuery SolrQuery::setTermsSort ( int $sortType )

If SolrQuery::TERMS_SORT_COUNT, sorts the terms by the term frequency (highest count first). If SolrQuery::TERMS_SORT_INDEX, returns the terms in index order

Parameter-Liste

sortType

SolrQuery::TERMS_SORT_INDEX or SolrQuery::TERMS_SORT_COUNT

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setTermsReturnRaw
SolrQuery::setTermsUpperBound
SolrQuery


Sets the term to stop at

SolrQuery::setTermsSort
SolrQuery::setTimeAllowed
SolrQuery
PHP Manual

SolrQuery::setTermsUpperBound

(PECL solr >= 0.9.2)

SolrQuery::setTermsUpperBound — Sets the term to stop at

Beschreibung

public SolrQuery SolrQuery::setTermsUpperBound ( string $upperBound )

Sets the term to stop at

Parameter-Liste

upperBound

The term to stop at

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setTermsSort
SolrQuery::setTimeAllowed
SolrQuery


The time allowed for search to finish

SolrQuery::setTermsUpperBound
SolrDisMaxQuery
SolrQuery
PHP Manual

SolrQuery::setTimeAllowed

(PECL solr >= 0.9.2)

SolrQuery::setTimeAllowed — The time allowed for search to finish

Beschreibung

public SolrQuery SolrQuery::setTimeAllowed ( int $timeAllowed )

The time allowed for a search to finish. This value only applies to the search and not to requests in general. Time is in milliseconds. Values less than or equal to zero implies no time restriction. Partial results may be returned, if there are any.

Parameter-Liste

timeAllowed

The time allowed for a search to finish.

Rückgabewerte

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setTermsUpperBound
SolrDisMaxQuery
SolrQuery


The SolrDisMaxQuery class

(No version information available, might only be in Git)

Einführung

Klassenbeschreibung

SolrDisMaxQuery extends SolrQuery implements Serializable {
/* Geerbte Eigenschaften */
const integer SolrQuery::ORDER_ASC = 0 ;
const integer SolrQuery::ORDER_DESC = 1 ;
const integer SolrQuery::FACET_SORT_INDEX = 0 ;
const integer SolrQuery::FACET_SORT_COUNT = 1 ;
const integer SolrQuery::TERMS_SORT_INDEX = 0 ;
const integer SolrQuery::TERMS_SORT_COUNT = 1 ;
/* Methoden */
public SolrDisMaxQuery addBigramPhraseField ( string $field , string $boost [, string $slop ] )
public SolrDisMaxQuery addBoostQuery ( string $field , string $value [, string $boost ] )
public SolrDisMaxQuery addPhraseField ( string $field , string $boost [, string $slop ] )
public SolrDisMaxQuery addQueryField ( string $field [, string $boost ] )
public SolrDisMaxQuery addTrigramPhraseField ( string $field , string $boost [, string $slop ] )
public SolrDisMaxQuery addUserField ( string $field )
public __construct ([ string $q ] )
public SolrDisMaxQuery removeBigramPhraseField ( string $field )
public SolrDisMaxQuery removeBoostQuery ( string $field )
public SolrDisMaxQuery removePhraseField ( string $field )
public SolrDisMaxQuery removeQueryField ( string $field )
public SolrDisMaxQuery removeTrigramPhraseField ( string $field )
public SolrDisMaxQuery removeUserField ( string $field )
public SolrDisMaxQuery setBigramPhraseFields ( string $fields )
public SolrDisMaxQuery setBigramPhraseSlop ( string $slop )
public SolrDisMaxQuery setBoostFunction ( string $function )
public SolrDisMaxQuery setBoostQuery ( string $q )
public SolrDisMaxQuery setMinimumMatch ( string $value )
public SolrDisMaxQuery setPhraseFields ( string $fields )
public SolrDisMaxQuery setPhraseSlop ( string $slop )
public SolrDisMaxQuery setQueryAlt ( string $q )
public SolrDisMaxQuery setQueryPhraseSlop ( string $slop )
public SolrDisMaxQuery setTieBreaker ( string $tieBreaker )
public SolrDisMaxQuery setTrigramPhraseFields ( string $fields )
public SolrDisMaxQuery setTrigramPhraseSlop ( string $slop )
public SolrDisMaxQuery setUserFields ( string $fields )
public SolrDisMaxQuery useDisMaxQueryParser ( void )
public SolrDisMaxQuery useEDisMaxQueryParser ( void )
/* Geerbte Methoden */
public SolrQuery SolrQuery::addExpandFilterQuery ( string $fq )
public SolrQuery SolrQuery::addExpandSortField ( string $field [, string $order ] )
public SolrQuery SolrQuery::addFacetDateField ( string $dateField )
public SolrQuery SolrQuery::addFacetDateOther ( string $value [, string $field_override ] )
public SolrQuery SolrQuery::addFacetField ( string $field )
public SolrQuery SolrQuery::addFacetQuery ( string $facetQuery )
public SolrQuery SolrQuery::addField ( string $field )
public SolrQuery SolrQuery::addFilterQuery ( string $fq )
public SolrQuery SolrQuery::addGroupField ( string $value )
public SolrQuery SolrQuery::addGroupFunction ( string $value )
public SolrQuery SolrQuery::addGroupQuery ( string $value )
public SolrQuery SolrQuery::addGroupSortField ( string $field [, integer $order ] )
public SolrQuery SolrQuery::addHighlightField ( string $field )
public SolrQuery SolrQuery::addMltField ( string $field )
public SolrQuery SolrQuery::addMltQueryField ( string $field , float $boost )
public SolrQuery SolrQuery::addSortField ( string $field [, int $order = SolrQuery::ORDER_DESC ] )
public SolrQuery SolrQuery::addStatsFacet ( string $field )
public SolrQuery SolrQuery::addStatsField ( string $field )
public SolrQuery SolrQuery::collapse ( SolrCollapseFunction $collapseFunction )
public SolrQuery::__construct ([ string $q ] )
public void SolrQuery::__destruct ( void )
public bool SolrQuery::getExpand ( void )
public array SolrQuery::getExpandFilterQueries ( void )
public array SolrQuery::getExpandQuery ( void )
public integer SolrQuery::getExpandRows ( void )
public array SolrQuery::getExpandSortFields ( void )
public bool SolrQuery::getFacet ( void )
public string SolrQuery::getFacetDateEnd ([ string $field_override ] )
public array SolrQuery::getFacetDateFields ( void )
public string SolrQuery::getFacetDateGap ([ string $field_override ] )
public string SolrQuery::getFacetDateHardEnd ([ string $field_override ] )
public array SolrQuery::getFacetDateOther ([ string $field_override ] )
public string SolrQuery::getFacetDateStart ([ string $field_override ] )
public array SolrQuery::getFacetFields ( void )
public int SolrQuery::getFacetLimit ([ string $field_override ] )
public string SolrQuery::getFacetMethod ([ string $field_override ] )
public int SolrQuery::getFacetMinCount ([ string $field_override ] )
public bool SolrQuery::getFacetMissing ([ string $field_override ] )
public int SolrQuery::getFacetOffset ([ string $field_override ] )
public string SolrQuery::getFacetPrefix ([ string $field_override ] )
public array SolrQuery::getFacetQueries ( void )
public int SolrQuery::getFacetSort ([ string $field_override ] )
public array SolrQuery::getFields ( void )
public array SolrQuery::getFilterQueries ( void )
public bool SolrQuery::getGroup ( void )
public integer SolrQuery::getGroupCachePercent ( void )
public bool SolrQuery::getGroupFacet ( void )
public array SolrQuery::getGroupFields ( void )
public string SolrQuery::getGroupFormat ( void )
public array SolrQuery::getGroupFunctions ( void )
public integer SolrQuery::getGroupLimit ( void )
public bool SolrQuery::getGroupMain ( void )
public bool SolrQuery::getGroupNGroups ( void )
public integer SolrQuery::getGroupOffset ( void )
public array SolrQuery::getGroupQueries ( void )
public array SolrQuery::getGroupSortFields ( void )
public bool SolrQuery::getGroupTruncate ( void )
public bool SolrQuery::getHighlight ( void )
public string SolrQuery::getHighlightAlternateField ([ string $field_override ] )
public array SolrQuery::getHighlightFields ( void )
public string SolrQuery::getHighlightFormatter ([ string $field_override ] )
public string SolrQuery::getHighlightFragmenter ([ string $field_override ] )
public int SolrQuery::getHighlightFragsize ([ string $field_override ] )
public bool SolrQuery::getHighlightHighlightMultiTerm ( void )
public int SolrQuery::getHighlightMaxAlternateFieldLength ([ string $field_override ] )
public int SolrQuery::getHighlightMaxAnalyzedChars ( void )
public bool SolrQuery::getHighlightMergeContiguous ([ string $field_override ] )
public int SolrQuery::getHighlightRegexMaxAnalyzedChars ( void )
public string SolrQuery::getHighlightRegexPattern ( void )
public float SolrQuery::getHighlightRegexSlop ( void )
public bool SolrQuery::getHighlightRequireFieldMatch ( void )
public string SolrQuery::getHighlightSimplePost ([ string $field_override ] )
public string SolrQuery::getHighlightSimplePre ([ string $field_override ] )
public int SolrQuery::getHighlightSnippets ([ string $field_override ] )
public bool SolrQuery::getHighlightUsePhraseHighlighter ( void )
public bool SolrQuery::getMlt ( void )
public bool SolrQuery::getMltBoost ( void )
public int SolrQuery::getMltCount ( void )
public array SolrQuery::getMltFields ( void )
public int SolrQuery::getMltMaxNumQueryTerms ( void )
public int SolrQuery::getMltMaxNumTokens ( void )
public int SolrQuery::getMltMaxWordLength ( void )
public int SolrQuery::getMltMinDocFrequency ( void )
public int SolrQuery::getMltMinTermFrequency ( void )
public int SolrQuery::getMltMinWordLength ( void )
public array SolrQuery::getMltQueryFields ( void )
public string SolrQuery::getQuery ( void )
public int SolrQuery::getRows ( void )
public array SolrQuery::getSortFields ( void )
public int SolrQuery::getStart ( void )
public bool SolrQuery::getStats ( void )
public array SolrQuery::getStatsFacets ( void )
public array SolrQuery::getStatsFields ( void )
public bool SolrQuery::getTerms ( void )
public string SolrQuery::getTermsField ( void )
public bool SolrQuery::getTermsIncludeLowerBound ( void )
public bool SolrQuery::getTermsIncludeUpperBound ( void )
public int SolrQuery::getTermsLimit ( void )
public string SolrQuery::getTermsLowerBound ( void )
public int SolrQuery::getTermsMaxCount ( void )
public int SolrQuery::getTermsMinCount ( void )
public string SolrQuery::getTermsPrefix ( void )
public bool SolrQuery::getTermsReturnRaw ( void )
public int SolrQuery::getTermsSort ( void )
public string SolrQuery::getTermsUpperBound ( void )
public int SolrQuery::getTimeAllowed ( void )
public SolrQuery SolrQuery::removeExpandFilterQuery ( string $fq )
public SolrQuery SolrQuery::removeExpandSortField ( string $field )
public SolrQuery SolrQuery::removeFacetDateField ( string $field )
public SolrQuery SolrQuery::removeFacetDateOther ( string $value [, string $field_override ] )
public SolrQuery SolrQuery::removeFacetField ( string $field )
public SolrQuery SolrQuery::removeFacetQuery ( string $value )
public SolrQuery SolrQuery::removeField ( string $field )
public SolrQuery SolrQuery::removeFilterQuery ( string $fq )
public SolrQuery SolrQuery::removeHighlightField ( string $field )
public SolrQuery SolrQuery::removeMltField ( string $field )
public SolrQuery SolrQuery::removeMltQueryField ( string $queryField )
public SolrQuery SolrQuery::removeSortField ( string $field )
public SolrQuery SolrQuery::removeStatsFacet ( string $value )
public SolrQuery SolrQuery::removeStatsField ( string $field )
public SolrQuery SolrQuery::setEchoHandler ( bool $flag )
public SolrQuery SolrQuery::setEchoParams ( string $type )
public SolrQuery SolrQuery::setExpand ( bool $value )
public SolrQuery SolrQuery::setExpandQuery ( string $q )
public SolrQuery SolrQuery::setExpandRows ( integer $value )
public SolrQuery SolrQuery::setExplainOther ( string $query )
public SolrQuery SolrQuery::setFacet ( bool $flag )
public SolrQuery SolrQuery::setFacetDateEnd ( string $value [, string $field_override ] )
public SolrQuery SolrQuery::setFacetDateGap ( string $value [, string $field_override ] )
public SolrQuery SolrQuery::setFacetDateHardEnd ( bool $value [, string $field_override ] )
public SolrQuery SolrQuery::setFacetDateStart ( string $value [, string $field_override ] )
public SolrQuery SolrQuery::setFacetEnumCacheMinDefaultFrequency ( int $frequency [, string $field_override ] )
public SolrQuery SolrQuery::setFacetLimit ( int $limit [, string $field_override ] )
public SolrQuery SolrQuery::setFacetMethod ( string $method [, string $field_override ] )
public SolrQuery SolrQuery::setFacetMinCount ( int $mincount [, string $field_override ] )
public SolrQuery SolrQuery::setFacetMissing ( bool $flag [, string $field_override ] )
public SolrQuery SolrQuery::setFacetOffset ( int $offset [, string $field_override ] )
public SolrQuery SolrQuery::setFacetPrefix ( string $prefix [, string $field_override ] )
public SolrQuery SolrQuery::setFacetSort ( int $facetSort [, string $field_override ] )
public SolrQuery SolrQuery::setGroup ( bool $value )
public SolrQuery SolrQuery::setGroupCachePercent ( integer $percent )
public SolrQuery SolrQuery::setGroupFacet ( bool $value )
public SolrQuery SolrQuery::setGroupFormat ( string $value )
public SolrQuery SolrQuery::setGroupLimit ( integer $value )
public SolrQuery SolrQuery::setGroupMain ( string $value )
public SolrQuery SolrQuery::setGroupNGroups ( bool $value )
public SolrQuery SolrQuery::setGroupOffset ( integer $value )
public SolrQuery SolrQuery::setGroupTruncate ( bool $value )
public SolrQuery SolrQuery::setHighlight ( bool $flag )
public SolrQuery SolrQuery::setHighlightAlternateField ( string $field [, string $field_override ] )
public SolrQuery SolrQuery::setHighlightFormatter ( string $formatter [, string $field_override ] )
public SolrQuery SolrQuery::setHighlightFragmenter ( string $fragmenter [, string $field_override ] )
public SolrQuery SolrQuery::setHighlightFragsize ( int $size [, string $field_override ] )
public SolrQuery SolrQuery::setHighlightHighlightMultiTerm ( bool $flag )
public SolrQuery SolrQuery::setHighlightMaxAlternateFieldLength ( int $fieldLength [, string $field_override ] )
public SolrQuery SolrQuery::setHighlightMaxAnalyzedChars ( int $value )
public SolrQuery SolrQuery::setHighlightMergeContiguous ( bool $flag [, string $field_override ] )
public SolrQuery SolrQuery::setHighlightRegexMaxAnalyzedChars ( int $maxAnalyzedChars )
public SolrQuery SolrQuery::setHighlightRegexPattern ( string $value )
public SolrQuery SolrQuery::setHighlightRegexSlop ( float $factor )
public SolrQuery SolrQuery::setHighlightRequireFieldMatch ( bool $flag )
public SolrQuery SolrQuery::setHighlightSimplePost ( string $simplePost [, string $field_override ] )
public SolrQuery SolrQuery::setHighlightSimplePre ( string $simplePre [, string $field_override ] )
public SolrQuery SolrQuery::setHighlightSnippets ( int $value [, string $field_override ] )
public SolrQuery SolrQuery::setHighlightUsePhraseHighlighter ( bool $flag )
public SolrQuery SolrQuery::setMlt ( bool $flag )
public SolrQuery SolrQuery::setMltBoost ( bool $flag )
public SolrQuery SolrQuery::setMltCount ( int $count )
public SolrQuery SolrQuery::setMltMaxNumQueryTerms ( int $value )
public SolrQuery SolrQuery::setMltMaxNumTokens ( int $value )
public SolrQuery SolrQuery::setMltMaxWordLength ( int $maxWordLength )
public SolrQuery SolrQuery::setMltMinDocFrequency ( int $minDocFrequency )
public SolrQuery SolrQuery::setMltMinTermFrequency ( int $minTermFrequency )
public SolrQuery SolrQuery::setMltMinWordLength ( int $minWordLength )
public SolrQuery SolrQuery::setOmitHeader ( bool $flag )
public SolrQuery SolrQuery::setQuery ( string $query )
public SolrQuery SolrQuery::setRows ( int $rows )
public SolrQuery SolrQuery::setShowDebugInfo ( bool $flag )
public SolrQuery SolrQuery::setStart ( int $start )
public SolrQuery SolrQuery::setStats ( bool $flag )
public SolrQuery SolrQuery::setTerms ( bool $flag )
public SolrQuery SolrQuery::setTermsField ( string $fieldname )
public SolrQuery SolrQuery::setTermsIncludeLowerBound ( bool $flag )
public SolrQuery SolrQuery::setTermsIncludeUpperBound ( bool $flag )
public SolrQuery SolrQuery::setTermsLimit ( int $limit )
public SolrQuery SolrQuery::setTermsLowerBound ( string $lowerBound )
public SolrQuery SolrQuery::setTermsMaxCount ( int $frequency )
public SolrQuery SolrQuery::setTermsMinCount ( int $frequency )
public SolrQuery SolrQuery::setTermsPrefix ( string $prefix )
public SolrQuery SolrQuery::setTermsReturnRaw ( bool $flag )
public SolrQuery SolrQuery::setTermsSort ( int $sortType )
public SolrQuery SolrQuery::setTermsUpperBound ( string $upperBound )
public SolrQuery SolrQuery::setTimeAllowed ( int $timeAllowed )
}

Vordefinierte Konstanten

SolrDisMaxQuery::ORDER_ASC

Used to specify that the sorting should be in acending order (Duplicated for easier migration)

SolrDisMaxQuery::ORDER_DESC

Used to specify that the sorting should be in descending order (Duplicated for easier migration)

SolrDisMaxQuery::FACET_SORT_INDEX

Used to specify that the facet should sort by index (Duplicated for easier migration)

SolrDisMaxQuery::FACET_SORT_COUNT

Used to specify that the facet should sort by count (Duplicated for easier migration)

SolrDisMaxQuery::TERMS_SORT_INDEX

Used in the TermsComponent (Duplicated for easier migration)

SolrDisMaxQuery::TERMS_SORT_COUNT

Used in the TermsComponent (Duplicated for easier migration)

Inhaltsverzeichnis

  • SolrDisMaxQuery::addBigramPhraseField — Adds a Phrase Bigram Field (pf2 parameter)
  • SolrDisMaxQuery::addBoostQuery — Adds a boost query field with value and optional boost (bq parameter)
  • SolrDisMaxQuery::addPhraseField — Adds a Phrase Field (pf parameter)
  • SolrDisMaxQuery::addQueryField — Add a query field with optional boost (qf parameter)
  • SolrDisMaxQuery::addTrigramPhraseField — Adds a Trigram Phrase Field (pf3 parameter)
  • SolrDisMaxQuery::addUserField — Adds a field to User Fields Parameter (uf)
  • SolrDisMaxQuery::__construct — Class Constructor
  • SolrDisMaxQuery::removeBigramPhraseField — Removes phrase bigram field (pf2 parameter)
  • SolrDisMaxQuery::removeBoostQuery — Removes a boost query partial by field name (bq)
  • SolrDisMaxQuery::removePhraseField — Removes a Phrase Field (pf parameter)
  • SolrDisMaxQuery::removeQueryField — Removes a Query Field (qf parameter)
  • SolrDisMaxQuery::removeTrigramPhraseField — Removes a Trigram Phrase Field (pf3 parameter)
  • SolrDisMaxQuery::removeUserField — Removes a field from The User Fields Parameter (uf)
  • SolrDisMaxQuery::setBigramPhraseFields — Sets Bigram Phrase Fields and their boosts (and slops) using pf2 parameter
  • SolrDisMaxQuery::setBigramPhraseSlop — Sets Bigram Phrase Slop (ps2 parameter)
  • SolrDisMaxQuery::setBoostFunction — Sets a Boost Function (bf parameter).
  • SolrDisMaxQuery::setBoostQuery — Directly Sets Boost Query Parameter (bq)
  • SolrDisMaxQuery::setMinimumMatch — Set Minimum "Should" Match (mm)
  • SolrDisMaxQuery::setPhraseFields — Sets Phrase Fields and their boosts (and slops) using pf2 parameter
  • SolrDisMaxQuery::setPhraseSlop — Sets the default slop on phrase queries (ps parameter)
  • SolrDisMaxQuery::setQueryAlt — Set Query Alternate (q.alt parameter)
  • SolrDisMaxQuery::setQueryPhraseSlop — specifies the amount of slop permitted on phrase queries explicitly included in the user's query string (qf parameter)
  • SolrDisMaxQuery::setTieBreaker — Sets Tie Breaker parameter (tie parameter)
  • SolrDisMaxQuery::setTrigramPhraseFields — Directly Sets Trigram Phrase Fields (pf3 parameter)
  • SolrDisMaxQuery::setTrigramPhraseSlop — Sets Trigram Phrase Slop (ps3 parameter)
  • SolrDisMaxQuery::setUserFields — Sets User Fields parameter (uf)
  • SolrDisMaxQuery::useDisMaxQueryParser — Switch QueryParser to be DisMax Query Parser
  • SolrDisMaxQuery::useEDisMaxQueryParser — Switch QueryParser to be EDisMax
SolrQuery::setTimeAllowed
SolrDisMaxQuery::addBigramPhraseField
Solr


Adds a Phrase Bigram Field (pf2 parameter)

SolrDisMaxQuery
SolrDisMaxQuery::addBoostQuery
SolrDisMaxQuery
PHP Manual

SolrDisMaxQuery::addBigramPhraseField

(No version information available, might only be in Git)

SolrDisMaxQuery::addBigramPhraseField — Adds a Phrase Bigram Field (pf2 parameter)

Beschreibung

public SolrDisMaxQuery SolrDisMaxQuery::addBigramPhraseField ( string $field , string $boost [, string $slop ] )

Adds a Phrase Bigram Field (pf2 parameter) output format: field~slop^boost OR field^boost Slop is optional

Parameter-Liste

field

boost

slop

Rückgabewerte

SolrDisMaxQuery

Beispiele

Beispiel #1 SolrDisMaxQuery::addBigramPhraseField() example

<?php

$dismaxQuery = new SolrDisMaxQuery("lucene");
$dismaxQuery
    ->addBigramPhraseField('cat', 2, 5.1)
    ->addBigramPhraseField('feature', 4.5)
;
echo $dismaxQuery;

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

q=lucene&defType=edismax&pf2=cat~5.1^2 feature^4.5

Siehe auch

  • SolrDisMaxQuery::removeBigramPhraseField() - Removes phrase bigram field (pf2 parameter)
  • SolrDisMaxQuery::setBigramPhraseFields() - Sets Bigram Phrase Fields and their boosts (and slops) using pf2 parameter
  • SolrDisMaxQuery::setBigramPhraseSlop() - Sets Bigram Phrase Slop (ps2 parameter)
SolrDisMaxQuery
SolrDisMaxQuery::addBoostQuery
SolrDisMaxQuery


Adds a boost query field with value and optional boost (bq parameter)

SolrDisMaxQuery::addBigramPhraseField
SolrDisMaxQuery::addPhraseField
SolrDisMaxQuery
PHP Manual

SolrDisMaxQuery::addBoostQuery

(No version information available, might only be in Git)

SolrDisMaxQuery::addBoostQuery — Adds a boost query field with value and optional boost (bq parameter)

Beschreibung

public SolrDisMaxQuery SolrDisMaxQuery::addBoostQuery ( string $field , string $value [, string $boost ] )

Adds a Boost Query field with value [and boost] (bq parameter)

Parameter-Liste

field

value

boost

Rückgabewerte

SolrDisMaxQuery

Beispiele

Beispiel #1 SolrDisMaxQuery::addBoostQuery() example

<?php

$dismaxQuery = new SolrDisMaxQuery("lucene");
$dismaxQuery
    ->addBoostQuery('cat', 'clothing', 2)
    ->addBoostQuery('cat', 'electronics', 5.1)
;
echo $dismaxQuery.PHP_EOL;
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

q=lucene&defType=edismax&bq=cat:clothing^2 cat:electronics^5.1

Siehe auch

  • SolrDisMaxQuery::removeBoostQuery() - Removes a boost query partial by field name (bq)
  • SolrDisMaxQuery::setBoostQuery() - Directly Sets Boost Query Parameter (bq)
SolrDisMaxQuery::addBigramPhraseField
SolrDisMaxQuery::addPhraseField
SolrDisMaxQuery


Adds a Phrase Field (pf parameter)

SolrDisMaxQuery::addBoostQuery
SolrDisMaxQuery::addQueryField
SolrDisMaxQuery
PHP Manual

SolrDisMaxQuery::addPhraseField

(No version information available, might only be in Git)

SolrDisMaxQuery::addPhraseField — Adds a Phrase Field (pf parameter)

Beschreibung

public SolrDisMaxQuery SolrDisMaxQuery::addPhraseField ( string $field , string $boost [, string $slop ] )

Adds a Phrase Field (pf parameter)

Parameter-Liste

field

field name

boost

slop

Rückgabewerte

SolrDisMaxQuery

Beispiele

Beispiel #1 SolrDisMaxQuery::addPhraseField() example

<?php
$dismaxQuery = new SolrDisMaxQuery("lucene");
$dismaxQuery
    ->addPhraseField('cat', 3, 1)
    ->addPhraseField('third', 4, 2)
    ->addPhraseField('source', 55)
;
echo $dismaxQuery;
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

q=lucene&defType=edismax&pf=cat~1^3 third~2^4 source^55

Siehe auch

  • SolrDisMaxQuery::removePhraseField() - Removes a Phrase Field (pf parameter)
  • SolrDisMaxQuery::setPhraseFields() - Sets Phrase Fields and their boosts (and slops) using pf2 parameter
SolrDisMaxQuery::addBoostQuery
SolrDisMaxQuery::addQueryField
SolrDisMaxQuery


Add a query field with optional boost (qf parameter)

SolrDisMaxQuery::addPhraseField
SolrDisMaxQuery::addTrigramPhraseField
SolrDisMaxQuery
PHP Manual

SolrDisMaxQuery::addQueryField

(No version information available, might only be in Git)

SolrDisMaxQuery::addQueryField — Add a query field with optional boost (qf parameter)

Beschreibung

public SolrDisMaxQuery SolrDisMaxQuery::addQueryField ( string $field [, string $boost ] )

Add a query field with optional boost (qf parameter)

Parameter-Liste

field

field name

boost

Boost value. Boosts documents with matching terms.

Rückgabewerte

SolrDisMaxQuery

Beispiele

Beispiel #1 SolrDisMaxQuery::addQueryField() example

<?php

$dismaxQuery = new SolrDisMaxQuery("lucene");
$dismaxQuery
    ->addQueryField("location", 4)
    ->addQueryField("price")
    ->addQueryField("sku")
    ->addQueryField("title",3.4)
;
echo $dismaxQuery;

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

q=lucene&defType=edismax&qf=location^4 price sku title^3.4

Siehe auch

  • SolrDisMaxQuery::removeQueryField() - Removes a Query Field (qf parameter)
SolrDisMaxQuery::addPhraseField
SolrDisMaxQuery::addTrigramPhraseField
SolrDisMaxQuery


Adds a Trigram Phrase Field (pf3 parameter)

SolrDisMaxQuery::addQueryField
SolrDisMaxQuery::addUserField
SolrDisMaxQuery
PHP Manual

SolrDisMaxQuery::addTrigramPhraseField

(No version information available, might only be in Git)

SolrDisMaxQuery::addTrigramPhraseField — Adds a Trigram Phrase Field (pf3 parameter)

Beschreibung

public SolrDisMaxQuery SolrDisMaxQuery::addTrigramPhraseField ( string $field , string $boost [, string $slop ] )

Adds a Trigram Phrase Field (pf3 parameter)

Parameter-Liste

field

Field Name

boost

Field Boost

slop

Field Slop

Rückgabewerte

SolrDisMaxQuery

Beispiele

Beispiel #1 SolrDisMaxQuery::addTrigramPhraseField() example

<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');
$dismaxQuery
->addTrigramPhraseField('cat', 2, 5.1)
->addTrigramPhraseField('feature', 4.5)
;
echo $dismaxQuery.PHP_EOL;

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

q=lucene&defType=%s&pf3=cat~5.1^2 feature^4.5

Siehe auch

  • SolrDisMaxQuery::removeTrigramPhraseField() - Removes a Trigram Phrase Field (pf3 parameter)
  • SolrDisMaxQuery::setTrigramPhraseFields() - Directly Sets Trigram Phrase Fields (pf3 parameter)
  • SolrDisMaxQuery::setTrigramPhraseSlop() - Sets Trigram Phrase Slop (ps3 parameter)
SolrDisMaxQuery::addQueryField
SolrDisMaxQuery::addUserField
SolrDisMaxQuery


Adds a field to User Fields Parameter (uf)

SolrDisMaxQuery::addTrigramPhraseField
SolrDisMaxQuery::__construct
SolrDisMaxQuery
PHP Manual

SolrDisMaxQuery::addUserField

(No version information available, might only be in Git)

SolrDisMaxQuery::addUserField — Adds a field to User Fields Parameter (uf)

Beschreibung

public SolrDisMaxQuery SolrDisMaxQuery::addUserField ( string $field )

Adds a field to The User Fields Parameter (uf)

Parameter-Liste

field

Field Name

Rückgabewerte

SolrDisMaxQuery

Beispiele

Beispiel #1 SolrDisMaxQuery::addUserField() example

<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');
$dismaxQuery
->addUserField('cat')
->addUserField('text')
->addUserField('*_dt');

echo $dismaxQuery.PHP_EOL;

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

q=lucene&defType=edismax&uf=cat text *_dt

Siehe auch

  • SolrDisMaxQuery::removeUserField() - Removes a field from The User Fields Parameter (uf)
  • SolrDisMaxQuery::setUserFields() - Sets User Fields parameter (uf)
SolrDisMaxQuery::addTrigramPhraseField
SolrDisMaxQuery::__construct
SolrDisMaxQuery


Class Constructor

SolrDisMaxQuery::addUserField
SolrDisMaxQuery::removeBigramPhraseField
SolrDisMaxQuery
PHP Manual

SolrDisMaxQuery::__construct

(No version information available, might only be in Git)

SolrDisMaxQuery::__construct — Class Constructor

Beschreibung

public SolrDisMaxQuery::__construct ([ string $q ] )

Class constructor initializes the object and sets the q parameter if passed

Parameter-Liste

q

Search Query (q parameter)

Rückgabewerte

Fehler/Exceptions

Emits SolrIllegalArgumentException in case of an invalid parameter was passed.

Beispiele

Beispiel #1 SolrDisMaxQuery::__construct() example

<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');
echo $dismaxQuery;

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

q=lucene&defType=edismax

Siehe auch

SolrDisMaxQuery::addUserField
SolrDisMaxQuery::removeBigramPhraseField
SolrDisMaxQuery


Removes phrase bigram field (pf2 parameter)

SolrDisMaxQuery::__construct
SolrDisMaxQuery::removeBoostQuery
SolrDisMaxQuery
PHP Manual

SolrDisMaxQuery::removeBigramPhraseField

(No version information available, might only be in Git)

SolrDisMaxQuery::removeBigramPhraseField — Removes phrase bigram field (pf2 parameter)

Beschreibung

public SolrDisMaxQuery SolrDisMaxQuery::removeBigramPhraseField ( string $field )

Removes a Bigram Phrase Field (pf2 parameter) that was previously added using SolrDisMaxQuery::addBigramPhraseField()

Parameter-Liste

field

The Field Name

Rückgabewerte

SolrDisMaxQuery

Beispiele

Beispiel #1 SolrDisMaxQuery::removeBigramPhraseField() example

<?php

$dismaxQuery = new SolrDisMaxQuery("lucene");
$dismaxQuery
    ->addBigramPhraseField('cat', 2, 5.1)
    ->addBigramPhraseField('feature', 4.5)
;
echo $dismaxQuery.PHP_EOL;

// remove cat from pf2
$dismaxQuery
    ->removeBigramPhraseField('cat');
echo $dismaxQuery.PHP_EOL;

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

q=lucene&defType=edismax&pf2=cat~5.1^2 feature^4.5
q=lucene&defType=edismax&pf2=feature^4.5

Siehe auch

  • SolrDisMaxQuery::addBigramPhraseField() - Adds a Phrase Bigram Field (pf2 parameter)
  • SolrDisMaxQuery::setBigramPhraseFields() - Sets Bigram Phrase Fields and their boosts (and slops) using pf2 parameter
  • SolrDisMaxQuery::setBigramPhraseSlop() - Sets Bigram Phrase Slop (ps2 parameter)
SolrDisMaxQuery::__construct
SolrDisMaxQuery::removeBoostQuery
SolrDisMaxQuery


Removes a boost query partial by field name (bq)

SolrDisMaxQuery::removeBigramPhraseField
SolrDisMaxQuery::removePhraseField
SolrDisMaxQuery
PHP Manual

SolrDisMaxQuery::removeBoostQuery

(No version information available, might only be in Git)

SolrDisMaxQuery::removeBoostQuery — Removes a boost query partial by field name (bq)

Beschreibung

public SolrDisMaxQuery SolrDisMaxQuery::removeBoostQuery ( string $field )

Removes a boost query partial from the existing query, only if SolrDisMaxQuery::addBoostQuery() was used.

Parameter-Liste

field

Field Name

Rückgabewerte

SolrDisMaxQuery

Beispiele

Beispiel #1 SolrDisMaxQuery::removeBoostQuery() example

<?php

$dismaxQuery = new SolrDisMaxQuery("lucene");
$dismaxQuery
    ->addBoostQuery('cat', 'electronics', 5.1)
    ->addBoostQuery('cat', 'hard drive')
;
echo $dismaxQuery.PHP_EOL;
// now remove a query part with field 'cat'
$dismaxQuery
->removeBoostQuery('cat');
echo $dismaxQuery . PHP_EOL;

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

q=lucene&defType=edismax&bq=cat:electronics^5.1 cat:hard drive
q=lucene&defType=edismax&bq=cat:hard drive

Siehe auch

  • SolrDisMaxQuery::addBoostQuery() - Adds a boost query field with value and optional boost (bq parameter)
  • SolrDisMaxQuery::setBoostQuery() - Directly Sets Boost Query Parameter (bq)
SolrDisMaxQuery::removeBigramPhraseField
SolrDisMaxQuery::removePhraseField
SolrDisMaxQuery


Removes a Phrase Field (pf parameter)

SolrDisMaxQuery::removeBoostQuery
SolrDisMaxQuery::removeQueryField
SolrDisMaxQuery
PHP Manual

SolrDisMaxQuery::removePhraseField

(No version information available, might only be in Git)

SolrDisMaxQuery::removePhraseField — Removes a Phrase Field (pf parameter)

Beschreibung

public SolrDisMaxQuery SolrDisMaxQuery::removePhraseField ( string $field )

Removes a Phrase Field (pf parameter) that was previously added using SolrDisMaxQuery::addPhraseField

Parameter-Liste

field

Field Name

Rückgabewerte

SolrDisMaxQuery

Beispiele

Beispiel #1 SolrDisMaxQuery::removePhraseField() example

<?php
$dismaxQuery = new SolrDisMaxQuery('lucene');
$dismaxQuery
    ->addPhraseField('first', 3, 1)
    ->addPhraseField('second', 4, 1)
    ->addPhraseField('cat', 55);
echo $dismaxQuery . PHP_EOL;
echo $dismaxQuery->removePhraseField('second');
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

q=lucene&defType=edismax&pf=first~1^3 second~1^4 cat^55
q=lucene&defType=edismax&pf=first~1^3 cat^55

Siehe auch

  • SolrDisMaxQuery::addPhraseField() - Adds a Phrase Field (pf parameter)
  • SolrDisMaxQuery::setPhraseFields() - Sets Phrase Fields and their boosts (and slops) using pf2 parameter
SolrDisMaxQuery::removeBoostQuery
SolrDisMaxQuery::removeQueryField
SolrDisMaxQuery


Removes a Query Field (qf parameter)

SolrDisMaxQuery::removePhraseField
SolrDisMaxQuery::removeTrigramPhraseField
SolrDisMaxQuery
PHP Manual

SolrDisMaxQuery::removeQueryField

(No version information available, might only be in Git)

SolrDisMaxQuery::removeQueryField — Removes a Query Field (qf parameter)

Beschreibung

public SolrDisMaxQuery SolrDisMaxQuery::removeQueryField ( string $field )

Removes a Query Field (qf parameter) from the field list added by SolrDisMaxQuery::addQueryField()

qf: When building DisjunctionMaxQueries from the user's query it specifies the fields to search in, and boosts for those fields.

Parameter-Liste

field

Field Name

Rückgabewerte

SolrDisMaxQuery

Beispiele

Beispiel #1 SolrDisMaxQuery::removeQueryField() example

<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');
$dismaxQuery
    ->addQueryField('first', 3)
    ->addQueryField('second', 0.2)
    ->addQueryField('cat');
echo $dismaxQuery . PHP_EOL;
// remove field 'second'
echo $dismaxQuery->removeQueryField('second');
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

q=lucene&defType=edismax&qf=first^3 second^0.2 cat
q=lucene&defType=edismax&qf=first^3 cat

Siehe auch

  • SolrDisMaxQuery::addQueryField() - Add a query field with optional boost (qf parameter)
SolrDisMaxQuery::removePhraseField
SolrDisMaxQuery::removeTrigramPhraseField
SolrDisMaxQuery


Removes a Trigram Phrase Field (pf3 parameter)

SolrDisMaxQuery::removeQueryField
SolrDisMaxQuery::removeUserField
SolrDisMaxQuery
PHP Manual

SolrDisMaxQuery::removeTrigramPhraseField

(No version information available, might only be in Git)

SolrDisMaxQuery::removeTrigramPhraseField — Removes a Trigram Phrase Field (pf3 parameter)

Beschreibung

public SolrDisMaxQuery SolrDisMaxQuery::removeTrigramPhraseField ( string $field )

Removes a Trigram Phrase Field (pf3 parameter)

Parameter-Liste

field

Field Name

Rückgabewerte

SolrDisMaxQuery

Beispiele

Beispiel #1 SolrDisMaxQuery::removeTrigramPhraseField() example

<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');
$dismaxQuery
->addTrigramPhraseField('cat', 2, 5.1)
->addTrigramPhraseField('feature', 4.5)
;
echo $dismaxQuery.PHP_EOL;
// reverse
$dismaxQuery
->removeTrigramPhraseField('cat');
echo $dismaxQuery.PHP_EOL;

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

q=lucene&defType=%s&pf3=cat~5.1^2 feature^4.5
q=lucene&defType=%s&pf3=feature^4.5

Siehe auch

  • SolrDisMaxQuery::addTrigramPhraseField() - Adds a Trigram Phrase Field (pf3 parameter)
  • SolrDisMaxQuery::setTrigramPhraseFields() - Directly Sets Trigram Phrase Fields (pf3 parameter)
  • SolrDisMaxQuery::setTrigramPhraseSlop() - Sets Trigram Phrase Slop (ps3 parameter)
SolrDisMaxQuery::removeQueryField
SolrDisMaxQuery::removeUserField
SolrDisMaxQuery


Removes a field from The User Fields Parameter (uf)

SolrDisMaxQuery::removeTrigramPhraseField
SolrDisMaxQuery::setBigramPhraseFields
SolrDisMaxQuery
PHP Manual

SolrDisMaxQuery::removeUserField

(No version information available, might only be in Git)

SolrDisMaxQuery::removeUserField — Removes a field from The User Fields Parameter (uf)

Beschreibung

public SolrDisMaxQuery SolrDisMaxQuery::removeUserField ( string $field )

Removes a field from The User Fields Parameter (uf)

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

field

Field Name

Rückgabewerte

SolrDisMaxQuery

Beispiele

Beispiel #1 SolrDisMaxQuery::removeUserField() example

<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');
$dismaxQuery
->addUserField('cat')
->addUserField('text')
->addUserField('*_dt')
;
echo $dismaxQuery.PHP_EOL;

// remove field named 'text'
$dismaxQuery
->removeUserField('text');
echo $dismaxQuery.PHP_EOL;

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

q=lucene&defType=%s&uf=cat text *_dt
q=lucene&defType=%s&uf=cat *_dt

Siehe auch

  • SolrDisMaxQuery::addUserField() - Adds a field to User Fields Parameter (uf)
  • SolrDisMaxQuery::setUserFields() - Sets User Fields parameter (uf)
SolrDisMaxQuery::removeTrigramPhraseField
SolrDisMaxQuery::setBigramPhraseFields
SolrDisMaxQuery


Sets Bigram Phrase Fields and their boosts (and slops) using pf2 parameter

SolrDisMaxQuery::removeUserField
SolrDisMaxQuery::setBigramPhraseSlop
SolrDisMaxQuery
PHP Manual

SolrDisMaxQuery::setBigramPhraseFields

(No version information available, might only be in Git)

SolrDisMaxQuery::setBigramPhraseFields — Sets Bigram Phrase Fields and their boosts (and slops) using pf2 parameter

Beschreibung

public SolrDisMaxQuery SolrDisMaxQuery::setBigramPhraseFields ( string $fields )

Sets Bigram Phrase Fields (pf2) and their boosts (and slops)

Parameter-Liste

fields

Fields boosts (slops)

Rückgabewerte

SolrDisMaxQuery

Beispiele

Beispiel #1 SolrDisMaxQuery::setBigramPhraseFields() example

<?php
$dismaxQuery = new SolrDisMaxQuery("lucene");
$dismaxQuery->setBigramPhraseFields("cat~5.1^2 feature^4.5");
echo $dismaxQuery.PHP_EOL;

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

q=lucene&defType=edismax&pf2=cat~5.1^2 feature^4.5

Siehe auch

  • SolrDisMaxQuery::setBigramPhraseSlop() - Sets Bigram Phrase Slop (ps2 parameter)
  • SolrDisMaxQuery::addBigramPhraseFields()
  • SolrDisMaxQuery::removeBigramPhraseField() - Removes phrase bigram field (pf2 parameter)
  • SolrDisMaxQuery::setTrigramPhraseFields() - Directly Sets Trigram Phrase Fields (pf3 parameter)
SolrDisMaxQuery::removeUserField
SolrDisMaxQuery::setBigramPhraseSlop
SolrDisMaxQuery


Sets Bigram Phrase Slop (ps2 parameter)

SolrDisMaxQuery::setBigramPhraseFields
SolrDisMaxQuery::setBoostFunction
SolrDisMaxQuery
PHP Manual

SolrDisMaxQuery::setBigramPhraseSlop

(No version information available, might only be in Git)

SolrDisMaxQuery::setBigramPhraseSlop — Sets Bigram Phrase Slop (ps2 parameter)

Beschreibung

public SolrDisMaxQuery SolrDisMaxQuery::setBigramPhraseSlop ( string $slop )

Sets Bigram Phrase Slop (ps2 parameter). A default slop for Bigram phrase fields.

Parameter-Liste

slop

Rückgabewerte

SolrDisMaxQuery

Beispiele

Beispiel #1 SolrDisMaxQuery::setBigramPhraseSlop() example

<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');

$dismaxQuery->setBigramPhraseSlop(5);
echo $dismaxQuery.PHP_EOL;

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

q=lucene&defType=edismax&ps2=5

Siehe auch

SolrDisMaxQuery::setBigramPhraseFields
SolrDisMaxQuery::setBoostFunction
SolrDisMaxQuery


Sets a Boost Function (bf parameter).

SolrDisMaxQuery::setBigramPhraseSlop
SolrDisMaxQuery::setBoostQuery
SolrDisMaxQuery
PHP Manual

SolrDisMaxQuery::setBoostFunction

(No version information available, might only be in Git)

SolrDisMaxQuery::setBoostFunction — Sets a Boost Function (bf parameter).

Beschreibung

public SolrDisMaxQuery SolrDisMaxQuery::setBoostFunction ( string $function )

Sets Boost Function (bf parameter).

Functions (with optional boosts) that will be included in the user's query to influence the score. Any function supported natively by Solr can be used, along with a boost value. e.g.:

recip(rord(myfield),1,2,3)^1.5

Parameter-Liste

function

Rückgabewerte

SolrDisMaxQuery

Beispiele

Beispiel #1 SolrDisMaxQuery::setBoostFunction() example

<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');

$boostRecentDocsFunction = "recip(ms(NOW,mydatefield),3.16e-11,1,1)";
$dismaxQuery->setBoostFunction($boostRecentDocsFunction);

echo $dismaxQuery.PHP_EOL;

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

q=lucene&defType=edismax&bf=recip(ms(NOW,mydatefield),3.16e-11,1,1)

Siehe auch

SolrDisMaxQuery::setBigramPhraseSlop
SolrDisMaxQuery::setBoostQuery
SolrDisMaxQuery


Directly Sets Boost Query Parameter (bq)

SolrDisMaxQuery::setBoostFunction
SolrDisMaxQuery::setMinimumMatch
SolrDisMaxQuery
PHP Manual

SolrDisMaxQuery::setBoostQuery

(No version information available, might only be in Git)

SolrDisMaxQuery::setBoostQuery — Directly Sets Boost Query Parameter (bq)

Beschreibung

public SolrDisMaxQuery SolrDisMaxQuery::setBoostQuery ( string $q )

Sets Boost Query Parameter (bq)

Parameter-Liste

q

query

Rückgabewerte

SolrDisMaxQuery

Beispiele

Beispiel #1 SolrDisMaxQuery::setBoostQuery() example

<?php
$dismaxQuery = new SolrDisMaxQuery("lucene");

$dismaxQuery->setBoostQuery('cat:electronics manu:local^2');
echo $dismaxQuery.PHP_EOL;
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

q=lucene&defType=edismax&bq=cat:electronics manu:local^2

Siehe auch

  • SolrDisMaxQuery::addBoostQuery() - Adds a boost query field with value and optional boost (bq parameter)
  • SolrDisMaxQuery::removeBoostQuery() - Removes a boost query partial by field name (bq)
SolrDisMaxQuery::setBoostFunction
SolrDisMaxQuery::setMinimumMatch
SolrDisMaxQuery


Set Minimum "Should" Match (mm)

SolrDisMaxQuery::setBoostQuery
SolrDisMaxQuery::setPhraseFields
SolrDisMaxQuery
PHP Manual

SolrDisMaxQuery::setMinimumMatch

(No version information available, might only be in Git)

SolrDisMaxQuery::setMinimumMatch — Set Minimum "Should" Match (mm)

Beschreibung

public SolrDisMaxQuery SolrDisMaxQuery::setMinimumMatch ( string $value )

Set Minimum "Should" Match parameter (mm). If the default query operator is AND then mm=100%, if the default query operator (q.op) is OR, then mm=0%.

Parameter-Liste

value

Minimum match value/expression

Rückgabewerte

SolrDisMaxQuery

Beispiele

Beispiel #1 SolrDisMaxQuery::setMinimumMatch() example

<?php

$dismaxQuery = new SolrDisMaxQuery("lucene");
// 75% of the query clauses must match
$dismaxQuery->setMinimumMatch("75%");
echo $dismaxQuery . PHP_EOL;

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

q=lucene&defType=edismax&mm=75%
SolrDisMaxQuery::setBoostQuery
SolrDisMaxQuery::setPhraseFields
SolrDisMaxQuery


Sets Phrase Fields and their boosts (and slops) using pf2 parameter

SolrDisMaxQuery::setMinimumMatch
SolrDisMaxQuery::setPhraseSlop
SolrDisMaxQuery
PHP Manual

SolrDisMaxQuery::setPhraseFields

(No version information available, might only be in Git)

SolrDisMaxQuery::setPhraseFields — Sets Phrase Fields and their boosts (and slops) using pf2 parameter

Beschreibung

public SolrDisMaxQuery SolrDisMaxQuery::setPhraseFields ( string $fields )

Sets Phrase Fields (pf) and their boosts (and slops)

Parameter-Liste

fields

Fields, boosts [, slops]

Rückgabewerte

SolrDisMaxQuery

Beispiele

Beispiel #1 SolrDisMaxQuery::setPhraseFields() example

<?php
$dismaxQuery = new SolrDisMaxQuery("lucene");
$dismaxQuery->setPhraseFields("cat~5.1^2 feature^4.5");
echo $dismaxQuery.PHP_EOL;

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

q=lucene&defType=edismax&pf=cat~5.1^2 feature^4.5

Siehe auch

  • SolrDisMaxQuery::addPhraseFields()
  • SolrDisMaxQuery::removePhraseField() - Removes a Phrase Field (pf parameter)
SolrDisMaxQuery::setMinimumMatch
SolrDisMaxQuery::setPhraseSlop
SolrDisMaxQuery


Sets the default slop on phrase queries (ps parameter)

SolrDisMaxQuery::setPhraseFields
SolrDisMaxQuery::setQueryAlt
SolrDisMaxQuery
PHP Manual

SolrDisMaxQuery::setPhraseSlop

(No version information available, might only be in Git)

SolrDisMaxQuery::setPhraseSlop — Sets the default slop on phrase queries (ps parameter)

Beschreibung

public SolrDisMaxQuery SolrDisMaxQuery::setPhraseSlop ( string $slop )

Sets the default amount of slop on phrase queries built with "pf", "pf2" and/or "pf3" fields (affects boosting). "ps" parameter

Parameter-Liste

slop

Rückgabewerte

SolrDisMaxQuery

Beispiele

Beispiel #1 SolrDisMaxQuery::setPhraseSlop() example

<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');

$dismaxQuery->setPhraseSlop(4);
echo $dismaxQuery.PHP_EOL;

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

q=lucene&defType=edismax&ps=4

Siehe auch

SolrDisMaxQuery::setPhraseFields
SolrDisMaxQuery::setQueryAlt
SolrDisMaxQuery


Set Query Alternate (q.alt parameter)

SolrDisMaxQuery::setPhraseSlop
SolrDisMaxQuery::setQueryPhraseSlop
SolrDisMaxQuery
PHP Manual

SolrDisMaxQuery::setQueryAlt

(No version information available, might only be in Git)

SolrDisMaxQuery::setQueryAlt — Set Query Alternate (q.alt parameter)

Beschreibung

public SolrDisMaxQuery SolrDisMaxQuery::setQueryAlt ( string $q )

Set Query Alternate (q.alt parameter)

When the main q parameter is not specified or is blank. The q.alt parameter is used

Parameter-Liste

q

Query String

Rückgabewerte

SolrDisMaxQuery

Beispiele

Beispiel #1 SolrDisMaxQuery::setQueryAlt() example

<?php

$dismaxQuery = new DisMaxQuery();
$dismaxQuery->setQueryAlt('*:*');

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

defType=edismax&q.alt=*:*&q=
SolrDisMaxQuery::setPhraseSlop
SolrDisMaxQuery::setQueryPhraseSlop
SolrDisMaxQuery


specifies the amount of slop permitted on phrase queries explicitly included in the user's query string (qf parameter)

SolrDisMaxQuery::setQueryAlt
SolrDisMaxQuery::setTieBreaker
SolrDisMaxQuery
PHP Manual

SolrDisMaxQuery::setQueryPhraseSlop

(No version information available, might only be in Git)

SolrDisMaxQuery::setQueryPhraseSlop — specifies the amount of slop permitted on phrase queries explicitly included in the user's query string (qf parameter)

Beschreibung

public SolrDisMaxQuery SolrDisMaxQuery::setQueryPhraseSlop ( string $slop )

The Query Phrase Slop is the amount of slop permitted on phrase queries explicitly included in the user's query string with the qf parameter.

slop refers to the number of positions one token needs to be moved in relation to another token in order to match a phrase specified in a query.

Parameter-Liste

slop

Amount of slop

Rückgabewerte

SolrDisMaxQuery

Beispiele

Beispiel #1 SolrDisMaxQuery::setQueryPhraseSlop() example

<?php

$dismaxQuery = new SolrDisMaxQuery();
$dismaxQuery->setQueryPhraseSlop(3);
echo $dismaxQuery;
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

defType=edismax&qs=3
SolrDisMaxQuery::setQueryAlt
SolrDisMaxQuery::setTieBreaker
SolrDisMaxQuery


Sets Tie Breaker parameter (tie parameter)

SolrDisMaxQuery::setQueryPhraseSlop
SolrDisMaxQuery::setTrigramPhraseFields
SolrDisMaxQuery
PHP Manual

SolrDisMaxQuery::setTieBreaker

(No version information available, might only be in Git)

SolrDisMaxQuery::setTieBreaker — Sets Tie Breaker parameter (tie parameter)

Beschreibung

public SolrDisMaxQuery SolrDisMaxQuery::setTieBreaker ( string $tieBreaker )

Sets Tie Breaker parameter (tie parameter)

Parameter-Liste

tieBreaker

The tie parameter specifies a float value (which should be something much less than 1) to use as tiebreaker in DisMax queries.

Rückgabewerte

SolrDisMaxQuery

Beispiele

Beispiel #1 SolrDisMaxQuery::setTieBreaker() example

<?php

$dismaxQuery = new SolrDisMaxQuery();
$dismaxQuery->setTieBreaker(0.1);

echo $dismaxQuery;

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

defType=edismax&tie=0.1
SolrDisMaxQuery::setQueryPhraseSlop
SolrDisMaxQuery::setTrigramPhraseFields
SolrDisMaxQuery


Directly Sets Trigram Phrase Fields (pf3 parameter)

SolrDisMaxQuery::setTieBreaker
SolrDisMaxQuery::setTrigramPhraseSlop
SolrDisMaxQuery
PHP Manual

SolrDisMaxQuery::setTrigramPhraseFields

(No version information available, might only be in Git)

SolrDisMaxQuery::setTrigramPhraseFields — Directly Sets Trigram Phrase Fields (pf3 parameter)

Beschreibung

public SolrDisMaxQuery SolrDisMaxQuery::setTrigramPhraseFields ( string $fields )

Directly Sets Trigram Phrase Fields (pf3 parameter)

Parameter-Liste

fields

Trigram Phrase Fields

Rückgabewerte

SolrDisMaxQuery

Beispiele

Beispiel #1 SolrDisMaxQuery::setTrigramPhraseFields() example

<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');
$dismaxQuery->setTrigramPhraseFields('cat~5.1^2 feature^4.5');
echo $dismaxQuery.PHP_EOL;

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

q=lucene&defType=edismax&pf3=cat~5.1^2 feature^4.5

Siehe auch

  • SolrDisMaxQuery::addTrigramPhraseField() - Adds a Trigram Phrase Field (pf3 parameter)
  • SolrDisMaxQuery::removeTrigramPhraseField() - Removes a Trigram Phrase Field (pf3 parameter)
  • SolrDisMaxQuery::setTrigramPhraseSlop() - Sets Trigram Phrase Slop (ps3 parameter)
SolrDisMaxQuery::setTieBreaker
SolrDisMaxQuery::setTrigramPhraseSlop
SolrDisMaxQuery


Sets Trigram Phrase Slop (ps3 parameter)

SolrDisMaxQuery::setTrigramPhraseFields
SolrDisMaxQuery::setUserFields
SolrDisMaxQuery
PHP Manual

SolrDisMaxQuery::setTrigramPhraseSlop

(No version information available, might only be in Git)

SolrDisMaxQuery::setTrigramPhraseSlop — Sets Trigram Phrase Slop (ps3 parameter)

Beschreibung

public SolrDisMaxQuery SolrDisMaxQuery::setTrigramPhraseSlop ( string $slop )

Sets Trigram Phrase Slop (ps3 parameter)

Parameter-Liste

slop

Phrase slop

Rückgabewerte

SolrDisMaxQuery

Beispiele

Beispiel #1 SolrDisMaxQuery::setTrigramPhraseSlop() example

<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');
$dismaxQuery->setTrigramPhraseSlop(2);
echo $dismaxQuery.PHP_EOL;

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

q=lucene&defType=edismax&ps3=2

Siehe auch

  • SolrDisMaxQuery::addTrigramPhraseField() - Adds a Trigram Phrase Field (pf3 parameter)
  • SolrDisMaxQuery::removeTrigramPhraseField() - Removes a Trigram Phrase Field (pf3 parameter)
  • SolrDisMaxQuery::setTrigramPhraseFields() - Directly Sets Trigram Phrase Fields (pf3 parameter)
SolrDisMaxQuery::setTrigramPhraseFields
SolrDisMaxQuery::setUserFields
SolrDisMaxQuery


Sets User Fields parameter (uf)

SolrDisMaxQuery::setTrigramPhraseSlop
SolrDisMaxQuery::useDisMaxQueryParser
SolrDisMaxQuery
PHP Manual

SolrDisMaxQuery::setUserFields

(No version information available, might only be in Git)

SolrDisMaxQuery::setUserFields — Sets User Fields parameter (uf)

Beschreibung

public SolrDisMaxQuery SolrDisMaxQuery::setUserFields ( string $fields )

Sets User Fields parameter (uf)

User Fields: Specifies which schema fields the end user shall be allowed to query.

Parameter-Liste

fields

Fields names separated by space

This parameter supports wildcards.

Rückgabewerte

SolrDisMaxQuery

Beispiele

Beispiel #1 SolrDisMaxQuery::setUserFields() example

<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');
$dismaxQuery->setUserFields('field1 field2 *_txt');
echo $dismaxQuery.PHP_EOL;

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

q=lucene&defType=edismax&uf=field1 field2 *_txt

Siehe auch

  • SolrDisMaxQuery::addUserField() - Adds a field to User Fields Parameter (uf)
  • SolrDisMaxQuery::removeUserField() - Removes a field from The User Fields Parameter (uf)
SolrDisMaxQuery::setTrigramPhraseSlop
SolrDisMaxQuery::useDisMaxQueryParser
SolrDisMaxQuery


Switch QueryParser to be DisMax Query Parser

SolrDisMaxQuery::setUserFields
SolrDisMaxQuery::useEDisMaxQueryParser
SolrDisMaxQuery
PHP Manual

SolrDisMaxQuery::useDisMaxQueryParser

(No version information available, might only be in Git)

SolrDisMaxQuery::useDisMaxQueryParser — Switch QueryParser to be DisMax Query Parser

Beschreibung

public SolrDisMaxQuery SolrDisMaxQuery::useDisMaxQueryParser ( void )

Switch QueryParser to be DisMax Query Parser

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

SolrDisMaxQuery

Beispiele

Beispiel #1 SolrDisMaxQuery::useDisMaxQueryParser() example

<?php

$dismaxQuery = new SolrDisMaxQuery();
$dismaxQuery->useDisMaxQueryParser();
echo $dismaxQuery;
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

defType=dismax

Siehe auch

  • SolrDisMaxQuery::useDisMaxQueryParser()
SolrDisMaxQuery::setUserFields
SolrDisMaxQuery::useEDisMaxQueryParser
SolrDisMaxQuery


Switch QueryParser to be EDisMax

SolrDisMaxQuery::useDisMaxQueryParser
SolrCollapseFunction
SolrDisMaxQuery
PHP Manual

SolrDisMaxQuery::useEDisMaxQueryParser

(No version information available, might only be in Git)

SolrDisMaxQuery::useEDisMaxQueryParser — Switch QueryParser to be EDisMax

Beschreibung

public SolrDisMaxQuery SolrDisMaxQuery::useEDisMaxQueryParser ( void )

Switch QueryParser to be EDisMax. By default the query builder uses edismax, if it was switched using SolrDisMaxQuery::useDisMaxQueryParser(), it can be switched back using this method.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

SolrDisMaxQuery

Beispiele

Beispiel #1 SolrDisMaxQuery::useEDisMaxQueryParser() example

<?php

$dismaxQuery = new SolrDisMaxQuery();
$dismaxQuery->useEDisMaxQueryParser();
echo $dismaxQuery;

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

defType=edismax

Siehe auch

SolrDisMaxQuery::useDisMaxQueryParser
SolrCollapseFunction
SolrDisMaxQuery


The SolrCollapseFunction class

(PECL solr >= 2.2.0)

Einführung

Klassenbeschreibung

SolrCollapseFunction {
/* Constants */
const string NULLPOLICY_IGNORE = ignore ;
const string NULLPOLICY_EXPAND = expand ;
const string NULLPOLICY_COLLAPSE = collapse ;
/* Methoden */
public __construct ([ string $field ] )
public string getField ( void )
public string getHint ( void )
public string getMax ( void )
public string getMin ( void )
public string getNullPolicy ( void )
public integer getSize ( void )
public SolrCollapseFunction setField ( string $fieldName )
public SolrCollapseFunction setHint ( string $hint )
public SolrCollapseFunction setMax ( string $max )
public SolrCollapseFunction setMin ( string $min )
public SolrCollapseFunction setNullPolicy ( string $nullPolicy )
public SolrCollapseFunction setSize ( integer $size )
public string __toString ( void )
}

Vordefinierte Konstanten

SolrCollapseFunction::NULLPOLICY_IGNORE

SolrCollapseFunction::NULLPOLICY_EXPAND

SolrCollapseFunction::NULLPOLICY_COLLAPSE

Inhaltsverzeichnis

  • SolrCollapseFunction::__construct — Constructor
  • SolrCollapseFunction::getField — Returns the field that is being collapsed on.
  • SolrCollapseFunction::getHint — Returns collapse hint
  • SolrCollapseFunction::getMax — Returns max parameter
  • SolrCollapseFunction::getMin — Returns min parameter
  • SolrCollapseFunction::getNullPolicy — Returns null policy
  • SolrCollapseFunction::getSize — Returns size parameter
  • SolrCollapseFunction::setField — Sets the field to collapse on
  • SolrCollapseFunction::setHint — Sets collapse hint
  • SolrCollapseFunction::setMax — Selects the group heads by the max value of a numeric field or function query.
  • SolrCollapseFunction::setMin — Sets the initial size of the collapse data structures when collapsing on a numeric field only
  • SolrCollapseFunction::setNullPolicy — Sets the NULL Policy
  • SolrCollapseFunction::setSize — Sets the initial size of the collapse data structures when collapsing on a numeric field only.
  • SolrCollapseFunction::__toString — Returns a string representing the constructed collapse function
SolrDisMaxQuery::useEDisMaxQueryParser
SolrCollapseFunction::__construct
Solr


Constructor

SolrCollapseFunction
SolrCollapseFunction::getField
SolrCollapseFunction
PHP Manual

SolrCollapseFunction::__construct

(PECL solr >= 2.2.0)

SolrCollapseFunction::__construct — Constructor

Beschreibung

public SolrCollapseFunction::__construct ([ string $field ] )

Collapse Function constructor

Parameter-Liste

field

The field name to collapse on.

In order to collapse a result. The field type must be a single valued String, Int or Float.

Beispiele

Beispiel #1 SolrCollapseFunction::__construct() example

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
    'path'     => SOLR_SERVER_PATH
);

$client = new SolrClient($options);

$query = new SolrQuery('*:*');

$func = new SolrCollapseFunction('field_name');

$func->setMax('sum(cscore(),field(some_other_field))');
$func->setSize(100);
$func->setNullPolicy(SolrCollapseFunction::NULLPOLICY_EXPAND);

$query->collapse($func);

$queryResponse = $client->query($query);

$response = $queryResponse->getResponse();

print_r($response);

?>

Siehe auch

  • SolrQuery::collapse() - Collapses the result set to a single document per group
SolrCollapseFunction
SolrCollapseFunction::getField
SolrCollapseFunction


Returns the field that is being collapsed on.

SolrCollapseFunction::__construct
SolrCollapseFunction::getHint
SolrCollapseFunction
PHP Manual

SolrCollapseFunction::getField

(PECL solr >= 2.2.0)

SolrCollapseFunction::getField — Returns the field that is being collapsed on.

Beschreibung

public string SolrCollapseFunction::getField ( void )

Returns the field that is being collapsed on.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Siehe auch

  • SolrCollapseFunction::setField() - Sets the field to collapse on
SolrCollapseFunction::__construct
SolrCollapseFunction::getHint
SolrCollapseFunction


Returns collapse hint

SolrCollapseFunction::getField
SolrCollapseFunction::getMax
SolrCollapseFunction
PHP Manual

SolrCollapseFunction::getHint

(PECL solr >= 2.2.0)

SolrCollapseFunction::getHint — Returns collapse hint

Beschreibung

public string SolrCollapseFunction::getHint ( void )

Returns collapse hint

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Siehe auch

  • SolrCollapseFunction::setHint() - Sets collapse hint
SolrCollapseFunction::getField
SolrCollapseFunction::getMax
SolrCollapseFunction


Returns max parameter

SolrCollapseFunction::getHint
SolrCollapseFunction::getMin
SolrCollapseFunction
PHP Manual

SolrCollapseFunction::getMax

(PECL solr >= 2.2.0)

SolrCollapseFunction::getMax — Returns max parameter

Beschreibung

public string SolrCollapseFunction::getMax ( void )

Returns max parameter

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Siehe auch

  • SolrCollapseFunction::setMax() - Selects the group heads by the max value of a numeric field or function query.
SolrCollapseFunction::getHint
SolrCollapseFunction::getMin
SolrCollapseFunction


Returns min parameter

SolrCollapseFunction::getMax
SolrCollapseFunction::getNullPolicy
SolrCollapseFunction
PHP Manual

SolrCollapseFunction::getMin

(PECL solr >= 2.2.0)

SolrCollapseFunction::getMin — Returns min parameter

Beschreibung

public string SolrCollapseFunction::getMin ( void )

Returns min parameter

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Siehe auch

  • SolrCollapseFunction::setMin() - Sets the initial size of the collapse data structures when collapsing on a numeric field only
SolrCollapseFunction::getMax
SolrCollapseFunction::getNullPolicy
SolrCollapseFunction


Returns null policy

SolrCollapseFunction::getMin
SolrCollapseFunction::getSize
SolrCollapseFunction
PHP Manual

SolrCollapseFunction::getNullPolicy

(PECL solr >= 2.2.0)

SolrCollapseFunction::getNullPolicy — Returns null policy

Beschreibung

public string SolrCollapseFunction::getNullPolicy ( void )

Returns null policy used or null

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Siehe auch

  • SolrCollapseFunction::setNullPolicy() - Sets the NULL Policy
SolrCollapseFunction::getMin
SolrCollapseFunction::getSize
SolrCollapseFunction


Returns size parameter

SolrCollapseFunction::getNullPolicy
SolrCollapseFunction::setField
SolrCollapseFunction
PHP Manual

SolrCollapseFunction::getSize

(PECL solr >= 2.2.0)

SolrCollapseFunction::getSize — Returns size parameter

Beschreibung

public integer SolrCollapseFunction::getSize ( void )

Gets the initial size of the collapse data structures when collapsing on a numeric field only

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Siehe auch

  • SolrCollapseFunction::setSize() - Sets the initial size of the collapse data structures when collapsing on a numeric field only.
SolrCollapseFunction::getNullPolicy
SolrCollapseFunction::setField
SolrCollapseFunction


Sets the field to collapse on

SolrCollapseFunction::getSize
SolrCollapseFunction::setHint
SolrCollapseFunction
PHP Manual

SolrCollapseFunction::setField

(PECL solr >= 2.2.0)

SolrCollapseFunction::setField — Sets the field to collapse on

Beschreibung

public SolrCollapseFunction SolrCollapseFunction::setField ( string $fieldName )

The field name to collapse on. In order to collapse a result. The field type must be a single valued String, Int or Float.

Parameter-Liste

fieldName

Rückgabewerte

SolrCollapseFunction

SolrCollapseFunction::getSize
SolrCollapseFunction::setHint
SolrCollapseFunction


Sets collapse hint

SolrCollapseFunction::setField
SolrCollapseFunction::setMax
SolrCollapseFunction
PHP Manual

SolrCollapseFunction::setHint

(PECL solr >= 2.2.0)

SolrCollapseFunction::setHint — Sets collapse hint

Beschreibung

public SolrCollapseFunction SolrCollapseFunction::setHint ( string $hint )

Sets collapse hint

Parameter-Liste

hint

Currently there is only one hint available "top_fc", which stands for top level FieldCache

Rückgabewerte

SolrCollapseFunction

Beispiele

Beispiel #1 SolrCollapseFunction::setHint() example

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...
SolrCollapseFunction::setField
SolrCollapseFunction::setMax
SolrCollapseFunction


Selects the group heads by the max value of a numeric field or function query.

SolrCollapseFunction::setHint
SolrCollapseFunction::setMin
SolrCollapseFunction
PHP Manual

SolrCollapseFunction::setMax

(PECL solr >= 2.2.0)

SolrCollapseFunction::setMax — Selects the group heads by the max value of a numeric field or function query.

Beschreibung

public SolrCollapseFunction SolrCollapseFunction::setMax ( string $max )

Selects the group heads by the max value of a numeric field or function query.

Parameter-Liste

max

Rückgabewerte

SolrCollapseFunction

Beispiele

Beispiel #1 SolrCollapseFunction::setMax() example

<?php

$func = new SolrCollapseFunction('field_name');

$func->setMax('sum(cscore(),field(some_field))');

$query = new SolrQuery('*:*');

$query->collapse($func);

?>
SolrCollapseFunction::setHint
SolrCollapseFunction::setMin
SolrCollapseFunction


Sets the initial size of the collapse data structures when collapsing on a numeric field only

SolrCollapseFunction::setMax
SolrCollapseFunction::setNullPolicy
SolrCollapseFunction
PHP Manual

SolrCollapseFunction::setMin

(PECL solr >= 2.2.0)

SolrCollapseFunction::setMin — Sets the initial size of the collapse data structures when collapsing on a numeric field only

Beschreibung

public SolrCollapseFunction SolrCollapseFunction::setMin ( string $min )

Sets the initial size of the collapse data structures when collapsing on a numeric field only

Parameter-Liste

min

Rückgabewerte

SolrCollapseFunction

SolrCollapseFunction::setMax
SolrCollapseFunction::setNullPolicy
SolrCollapseFunction


Sets the NULL Policy

SolrCollapseFunction::setMin
SolrCollapseFunction::setSize
SolrCollapseFunction
PHP Manual

SolrCollapseFunction::setNullPolicy

(PECL solr >= 2.2.0)

SolrCollapseFunction::setNullPolicy — Sets the NULL Policy

Beschreibung

public SolrCollapseFunction SolrCollapseFunction::setNullPolicy ( string $nullPolicy )

Sets the NULL Policy. One of the 3 policies defined as class constants shall be passed. Accepts ignore, expand, or collapse policies.

Parameter-Liste

nullPolicy

Rückgabewerte

SolrCollapseFunction

SolrCollapseFunction::setMin
SolrCollapseFunction::setSize
SolrCollapseFunction


Sets the initial size of the collapse data structures when collapsing on a numeric field only.

SolrCollapseFunction::setNullPolicy
SolrCollapseFunction::__toString
SolrCollapseFunction
PHP Manual

SolrCollapseFunction::setSize

(PECL solr >= 2.2.0)

SolrCollapseFunction::setSize — Sets the initial size of the collapse data structures when collapsing on a numeric field only.

Beschreibung

public SolrCollapseFunction SolrCollapseFunction::setSize ( integer $size )

Sets the initial size of the collapse data structures when collapsing on a numeric field only.

Parameter-Liste

size

Rückgabewerte

SolrCollapseFunction

SolrCollapseFunction::setNullPolicy
SolrCollapseFunction::__toString
SolrCollapseFunction


Returns a string representing the constructed collapse function

SolrCollapseFunction::setSize
SolrException
SolrCollapseFunction
PHP Manual

SolrCollapseFunction::__toString

(PECL solr >= 2.2.0)

SolrCollapseFunction::__toString — Returns a string representing the constructed collapse function

Beschreibung

public string SolrCollapseFunction::__toString ( void )

Returns a string representing the constructed collapse function

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

SolrCollapseFunction::setSize
SolrException
SolrCollapseFunction


The SolrException class

(PECL solr >= 0.9.2)

Einführung

This is the base class for all exception thrown by the Solr extension classes.

Klassenbeschreibung

SolrException extends Exception {
/* Eigenschaften */
protected integer $sourceline ;
protected string $sourcefile ;
protected string $zif_name ;
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Methoden */
public array getInternalInfo ( void )
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Eigenschaften

sourceline

The line in c-space source file where exception was generated

sourcefile

The c-space source file where exception was generated

zif_name

The c-space function where exception was generated

Inhaltsverzeichnis

  • SolrException::getInternalInfo — Returns internal information where the Exception was thrown
SolrCollapseFunction::__toString
SolrException::getInternalInfo
Solr


Returns internal information where the Exception was thrown

SolrException
SolrClientException
SolrException
PHP Manual

SolrException::getInternalInfo

(PECL solr >= 0.9.2)

SolrException::getInternalInfo — Returns internal information where the Exception was thrown

Beschreibung

public array SolrException::getInternalInfo ( void )

Returns internal information where the Exception was thrown.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array containing internal information where the error was thrown. Used only for debugging by extension developers.

SolrException
SolrClientException
SolrException


The SolrClientException class

(PECL solr >= 0.9.2)

Einführung

An exception thrown when there is an error while making a request to the server from the client.

Klassenbeschreibung

SolrClientException extends SolrException {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
protected integer $sourceline ;
protected string $sourcefile ;
protected string $zif_name ;
/* Methoden */
public array getInternalInfo ( void )
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
public array SolrException::getInternalInfo ( void )
}

Inhaltsverzeichnis

  • SolrClientException::getInternalInfo — Returns internal information where the Exception was thrown
SolrException::getInternalInfo
SolrClientException::getInternalInfo
Solr


Returns internal information where the Exception was thrown

SolrClientException
SolrServerException
SolrClientException
PHP Manual

SolrClientException::getInternalInfo

(PECL solr >= 0.9.2)

SolrClientException::getInternalInfo — Returns internal information where the Exception was thrown

Beschreibung

public array SolrClientException::getInternalInfo ( void )

Returns internal information where the Exception was thrown.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array containing internal information where the error was thrown. Used only for debugging by extension developers.

SolrClientException
SolrServerException
SolrClientException


The SolrServerException class

(PECL Solr >= 1.1.0, >=2.0.0)

Einführung

An exception thrown when there is an error produced by the Solr Server itself.

Klassenbeschreibung

SolrServerException extends SolrException {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
protected integer $sourceline ;
protected string $sourcefile ;
protected string $zif_name ;
/* Methoden */
public array getInternalInfo ( void )
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
public array SolrException::getInternalInfo ( void )
}

Inhaltsverzeichnis

  • SolrServerException::getInternalInfo — Returns internal information where the Exception was thrown
SolrClientException::getInternalInfo
SolrServerException::getInternalInfo
Solr


Returns internal information where the Exception was thrown

SolrServerException
SolrIllegalArgumentException
SolrServerException
PHP Manual

SolrServerException::getInternalInfo

(PECL solr >= 1.1.0, >=2.0.0)

SolrServerException::getInternalInfo — Returns internal information where the Exception was thrown

Beschreibung

public array SolrServerException::getInternalInfo ( void )

Returns internal information where the Exception was thrown.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array containing internal information where the error was thrown. Used only for debugging by extension developers.

SolrServerException
SolrIllegalArgumentException
SolrServerException


The SolrIllegalArgumentException class

(PECL solr >= 0.9.2)

Einführung

This object is thrown when an illeglal or invalid argument is passed to a method.

Klassenbeschreibung

SolrIllegalArgumentException extends SolrException {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
protected integer $sourceline ;
protected string $sourcefile ;
protected string $zif_name ;
/* Methoden */
public array getInternalInfo ( void )
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
public array SolrException::getInternalInfo ( void )
}

Inhaltsverzeichnis

  • SolrIllegalArgumentException::getInternalInfo — Returns internal information where the Exception was thrown
SolrServerException::getInternalInfo
SolrIllegalArgumentException::getInternalInfo
Solr


Returns internal information where the Exception was thrown

SolrIllegalArgumentException
SolrIllegalOperationException
SolrIllegalArgumentException
PHP Manual

SolrIllegalArgumentException::getInternalInfo

(PECL solr >= 0.9.2)

SolrIllegalArgumentException::getInternalInfo — Returns internal information where the Exception was thrown

Beschreibung

public array SolrIllegalArgumentException::getInternalInfo ( void )

Returns internal information where the Exception was thrown.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array containing internal information where the error was thrown. Used only for debugging by extension developers.

SolrIllegalArgumentException
SolrIllegalOperationException
SolrIllegalArgumentException


The SolrIllegalOperationException class

(PECL solr >= 0.9.2)

Einführung

This object is thrown when an illegal or unsupported operation is performed on an object.

Klassenbeschreibung

SolrIllegalOperationException extends SolrException {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
protected integer $sourceline ;
protected string $sourcefile ;
protected string $zif_name ;
/* Methoden */
public array getInternalInfo ( void )
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
public array SolrException::getInternalInfo ( void )
}

Inhaltsverzeichnis

  • SolrIllegalOperationException::getInternalInfo — Returns internal information where the Exception was thrown
SolrIllegalArgumentException::getInternalInfo
SolrIllegalOperationException::getInternalInfo
Solr


Returns internal information where the Exception was thrown

SolrIllegalOperationException
SolrMissingMandatoryParameterException
SolrIllegalOperationException
PHP Manual

SolrIllegalOperationException::getInternalInfo

(PECL solr >= 0.9.2)

SolrIllegalOperationException::getInternalInfo — Returns internal information where the Exception was thrown

Beschreibung

public array SolrIllegalOperationException::getInternalInfo ( void )

Returns internal information where the Exception was thrown.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array containing internal information where the error was thrown. Used only for debugging by extension developers.

SolrIllegalOperationException
SolrMissingMandatoryParameterException
SolrIllegalOperationException


The SolrMissingMandatoryParameterException class

(No version information available, might only be in Git)

Einführung

Klassenbeschreibung

SolrMissingMandatoryParameterException extends SolrException {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
protected integer $sourceline ;
protected string $sourcefile ;
protected string $zif_name ;
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
public array SolrException::getInternalInfo ( void )
}
SolrIllegalOperationException::getInternalInfo
Sphinx
Solr


Sphinx Client

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
  • SphinxClient — The SphinxClient class
    • SphinxClient::addQuery — Add query to multi-query batch
    • SphinxClient::buildExcerpts — Build text snippets
    • SphinxClient::buildKeywords — Extract keywords from query
    • SphinxClient::close — Closes previously opened persistent connection
    • SphinxClient::__construct — Create a new SphinxClient object
    • SphinxClient::escapeString — Escape special characters
    • SphinxClient::getLastError — Get the last error message
    • SphinxClient::getLastWarning — Get the last warning
    • SphinxClient::open — Opens persistent connection to the server
    • SphinxClient::query — Execute search query
    • SphinxClient::resetFilters — Clear all filters
    • SphinxClient::resetGroupBy — Clear all group-by settings
    • SphinxClient::runQueries — Run a batch of search queries
    • SphinxClient::setArrayResult — Change the format of result set array
    • SphinxClient::setConnectTimeout — Set connection timeout
    • SphinxClient::setFieldWeights — Set field weights
    • SphinxClient::setFilter — Add new integer values set filter
    • SphinxClient::setFilterFloatRange — Add new float range filter
    • SphinxClient::setFilterRange — Add new integer range filter
    • SphinxClient::setGeoAnchor — Set anchor point for a geosphere distance calculations
    • SphinxClient::setGroupBy — Set grouping attribute
    • SphinxClient::setGroupDistinct — Set attribute name for per-group distinct values count calculations
    • SphinxClient::setIDRange — Set a range of accepted document IDs
    • SphinxClient::setIndexWeights — Set per-index weights
    • SphinxClient::setLimits — Set offset and limit of the result set
    • SphinxClient::setMatchMode — Set full-text query matching mode
    • SphinxClient::setMaxQueryTime — Set maximum query time
    • SphinxClient::setOverride — Sets temporary per-document attribute value overrides
    • SphinxClient::setRankingMode — Set ranking mode
    • SphinxClient::setRetries — Set retry count and delay
    • SphinxClient::setSelect — Set select clause
    • SphinxClient::setServer — Set searchd host and port
    • SphinxClient::setSortMode — Set matches sorting mode
    • SphinxClient::status — Queries searchd status
    • SphinxClient::updateAttributes — Update document attributes
SolrMissingMandatoryParameterException
Einführung
Suchmaschinenerweiterungen


Einführung

This extension provides bindings for Sphinx search client library. Sphinx is a standalone search engine meant to provide fast, size-efficient and relevant fulltext search functions to other applications. Sphinx was specially designed to integrate well with SQL databases and scripting languages. Both Sphinx and its client library can be obtained from the » official site

Sphinx
Installation/Konfiguration
Sphinx


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Sphinx


Anforderungen

PECL/sphinx requires PHP 5.2.2 or newer.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/sphinx.

If the ./configure script generated by phpize is having trouble finding the libsphinxclient files (for example, it was installed into a custom prefix directory), use ./configure --with-sphinx=$PREFIX, where $PREFIX is installation prefix of libsphinxclient.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

SEARCHD_OK (integer)
SEARCHD_ERROR (integer)
SEARCHD_RETRY (integer)
SEARCHD_WARNING (integer)
SPH_MATCH_ALL (integer)
SPH_MATCH_ANY (integer)
SPH_MATCH_PHRASE (integer)
SPH_MATCH_BOOLEAN (integer)
SPH_MATCH_EXTENDED (integer)
SPH_MATCH_FULLSCAN (integer)
SPH_MATCH_EXTENDED2 (integer)
SPH_RANK_PROXIMITY_BM25 (integer)
SPH_RANK_BM25 (integer)
SPH_RANK_NONE (integer)
SPH_RANK_WORDCOUNT (integer)
SPH_SORT_RELEVANCE (integer)
SPH_SORT_ATTR_DESC (integer)
SPH_SORT_ATTR_ASC (integer)
SPH_SORT_TIME_SEGMENTS (integer)
SPH_SORT_EXTENDED (integer)
SPH_SORT_EXPR (integer)
SPH_FILTER_VALUES (integer)
SPH_FILTER_RANGE (integer)
SPH_FILTER_FLOATRANGE (integer)
SPH_ATTR_INTEGER (integer)
SPH_ATTR_TIMESTAMP (integer)
SPH_ATTR_ORDINAL (integer)
SPH_ATTR_BOOL (integer)
SPH_ATTR_FLOAT (integer)
SPH_ATTR_MULTI (integer)
SPH_GROUPBY_DAY (integer)
SPH_GROUPBY_WEEK (integer)
SPH_GROUPBY_MONTH (integer)
SPH_GROUPBY_YEAR (integer)
SPH_GROUPBY_ATTR (integer)
SPH_GROUPBY_ATTRPAIR (integer)

Ressource-Typen
Beispiele
Sphinx


Beispiele

Beispiel #1 Basic usage example

<?php

$s = new SphinxClient;
$s->setServer("localhost", 6712);
$s->setMatchMode(SPH_MATCH_ANY);
$s->setMaxQueryTime(3);

$result = $s->query("test");

var_dump($result);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(10) {
  ["error"]=>
  string(0) ""
  ["warning"]=>
  string(0) ""
  ["status"]=>
  int(0)
  ["fields"]=>
  array(3) {
    [0]=>
    string(7) "subject"
    [1]=>
    string(4) "body"
    [2]=>
    string(6) "author"
  }
  ["attrs"]=>
  array(0) {
  }
  ["matches"]=>
  array(1) {
    [3]=>
    array(2) {
      ["weight"]=>
      int(1)
      ["attrs"]=>
      array(0) {
      }
    }
  }
  ["total"]=>
  int(1)
  ["total_found"]=>
  int(1)
  ["time"]=>
  float(0)
  ["words"]=>
  array(1) {
    ["to"]=>
    array(2) {
      ["docs"]=>
      int(1)
      ["hits"]=>
      int(1)
    }
  }
}
Vordefinierte Konstanten
SphinxClient
Sphinx


The SphinxClient class

(PECL sphinx >= 0.1.0)

Einführung

The SphinxClient class provides object-oriented interface to Sphinx.

Klassenbeschreibung

SphinxClient {
/* Methoden */
public int addQuery ( string $query [, string $index = "*" [, string $comment = "" ]] )
public array buildExcerpts ( array $docs , string $index , string $words [, array $opts ] )
public array buildKeywords ( string $query , string $index , bool $hits )
public bool close ( void )
public __construct ( void )
public string escapeString ( string $string )
public string getLastError ( void )
public string getLastWarning ( void )
public bool open ( void )
public array query ( string $query [, string $index = "*" [, string $comment = "" ]] )
public void resetFilters ( void )
public void resetGroupBy ( void )
public array runQueries ( void )
public bool setArrayResult ( bool $array_result = false )
public bool setConnectTimeout ( float $timeout )
public bool setFieldWeights ( array $weights )
public bool setFilter ( string $attribute , array $values [, bool $exclude = false ] )
public bool setFilterFloatRange ( string $attribute , float $min , float $max [, bool $exclude = false ] )
public bool setFilterRange ( string $attribute , int $min , int $max [, bool $exclude = false ] )
public bool setGeoAnchor ( string $attrlat , string $attrlong , float $latitude , float $longitude )
public bool setGroupBy ( string $attribute , int $func [, string $groupsort = "@group desc" ] )
public bool setGroupDistinct ( string $attribute )
public bool setIDRange ( int $min , int $max )
public bool setIndexWeights ( array $weights )
public bool setLimits ( int $offset , int $limit [, int $max_matches = 0 [, int $cutoff = 0 ]] )
public bool setMatchMode ( int $mode )
public bool setMaxQueryTime ( int $qtime )
public bool setOverride ( string $attribute , int $type , array $values )
public bool setRankingMode ( int $ranker )
public bool setRetries ( int $count [, int $delay = 0 ] )
public bool setSelect ( string $clause )
public bool setServer ( string $server , int $port )
public bool setSortMode ( int $mode [, string $sortby ] )
public array status ( void )
public int updateAttributes ( string $index , array $attributes , array $values [, bool $mva = false ] )
}

Inhaltsverzeichnis

  • SphinxClient::addQuery — Add query to multi-query batch
  • SphinxClient::buildExcerpts — Build text snippets
  • SphinxClient::buildKeywords — Extract keywords from query
  • SphinxClient::close — Closes previously opened persistent connection
  • SphinxClient::__construct — Create a new SphinxClient object
  • SphinxClient::escapeString — Escape special characters
  • SphinxClient::getLastError — Get the last error message
  • SphinxClient::getLastWarning — Get the last warning
  • SphinxClient::open — Opens persistent connection to the server
  • SphinxClient::query — Execute search query
  • SphinxClient::resetFilters — Clear all filters
  • SphinxClient::resetGroupBy — Clear all group-by settings
  • SphinxClient::runQueries — Run a batch of search queries
  • SphinxClient::setArrayResult — Change the format of result set array
  • SphinxClient::setConnectTimeout — Set connection timeout
  • SphinxClient::setFieldWeights — Set field weights
  • SphinxClient::setFilter — Add new integer values set filter
  • SphinxClient::setFilterFloatRange — Add new float range filter
  • SphinxClient::setFilterRange — Add new integer range filter
  • SphinxClient::setGeoAnchor — Set anchor point for a geosphere distance calculations
  • SphinxClient::setGroupBy — Set grouping attribute
  • SphinxClient::setGroupDistinct — Set attribute name for per-group distinct values count calculations
  • SphinxClient::setIDRange — Set a range of accepted document IDs
  • SphinxClient::setIndexWeights — Set per-index weights
  • SphinxClient::setLimits — Set offset and limit of the result set
  • SphinxClient::setMatchMode — Set full-text query matching mode
  • SphinxClient::setMaxQueryTime — Set maximum query time
  • SphinxClient::setOverride — Sets temporary per-document attribute value overrides
  • SphinxClient::setRankingMode — Set ranking mode
  • SphinxClient::setRetries — Set retry count and delay
  • SphinxClient::setSelect — Set select clause
  • SphinxClient::setServer — Set searchd host and port
  • SphinxClient::setSortMode — Set matches sorting mode
  • SphinxClient::status — Queries searchd status
  • SphinxClient::updateAttributes — Update document attributes
Beispiele
SphinxClient::addQuery
Sphinx


Add query to multi-query batch

SphinxClient
SphinxClient::buildExcerpts
SphinxClient
PHP Manual

SphinxClient::addQuery

(PECL sphinx >= 0.1.0)

SphinxClient::addQuery — Add query to multi-query batch

Beschreibung

public int SphinxClient::addQuery ( string $query [, string $index = "*" [, string $comment = "" ]] )

Adds query with the current settings to multi-query batch. This method doesn't affect current settings (sorting, filtering, grouping etc.) in any way.

Parameter-Liste

query

Query string.

index

An index name (or names).

comment

Rückgabewerte

Returns an index in an array of results that will be returned by SphinxClient::runQueries call or false on error.

Siehe auch

  • SphinxClient::runQueries
  • SphinxClient::query

SphinxClient
SphinxClient::buildExcerpts
SphinxClient


Build text snippets

SphinxClient::addQuery
SphinxClient::buildKeywords
SphinxClient
PHP Manual

SphinxClient::buildExcerpts

(PECL sphinx >= 0.1.0)

SphinxClient::buildExcerpts — Build text snippets

Beschreibung

public array SphinxClient::buildExcerpts ( array $docs , string $index , string $words [, array $opts ] )

Connects to searchd, requests it to generate excerpts (snippets) from the given documents, and returns the results.

Parameter-Liste

docs

Array of strings with documents' contents.

index

Index name.

words

Keywords to highlight.

opts

Associative array of additional highlighting options (see below).

Highlighting options
Option | Description
"before_match" | A string to insert before a keyword match. Default is "<b>".
"after_match" | A string to insert after a keyword match. Default is "</b>".
"chunk_separator" | A string to insert between snippet chunks (passages). Default is " ... ".
"limit" | Maximum snippet size, in symbols (codepoints). Integer, default is 256.
"around" | How much words to pick around each matching keywords block. Integer, default is 5.
"exact_phrase" | Whether to highlight exact query phrase matches only instead of individual keywords. Boolean, default is FALSE.
"single_passage" | Whether to extract single best passage only. Boolean, default is FALSE.

Rückgabewerte

Returns array of snippets on successIm Fehlerfall wird FALSE zurückgegeben..

SphinxClient::addQuery
SphinxClient::buildKeywords
SphinxClient


Extract keywords from query

SphinxClient::buildExcerpts
SphinxClient::close
SphinxClient
PHP Manual

SphinxClient::buildKeywords

(PECL sphinx >= 0.1.0)

SphinxClient::buildKeywords — Extract keywords from query

Beschreibung

public array SphinxClient::buildKeywords ( string $query , string $index , bool $hits )

Extracts keywords from query using tokenizer settings for the given index, optionally with per-keyword occurrence statistics.

Parameter-Liste

query

A query to extract keywords from.

index

An index to get tokenizing settings and keyword occurrence statistics from.

hits

A boolean flag to enable/disable keyword statistics generation.

Rückgabewerte

Returns an array of associative arrays with per-keyword information.

SphinxClient::buildExcerpts
SphinxClient::close
SphinxClient


Closes previously opened persistent connection

SphinxClient::buildKeywords
SphinxClient::__construct
SphinxClient
PHP Manual

SphinxClient::close

(PECL sphinx >= 1.0.3)

SphinxClient::close — Closes previously opened persistent connection

Beschreibung

public bool SphinxClient::close ( void )

Closes previously opened persistent connection.

Parameter-Liste

Diese Funktion hat keine Parameter.

Changelog

PECL/sphinx Version | Beschreibung
1.0.3 | Added SphinxClient::close(), available only if compiled with libsphinxclient >= 0.9.9.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • SphinxClient::open

SphinxClient::buildKeywords
SphinxClient::__construct
SphinxClient


Create a new SphinxClient object

SphinxClient::close
SphinxClient::escapeString
SphinxClient
PHP Manual

SphinxClient::__construct

(PECL sphinx >= 0.1.0)

SphinxClient::__construct — Create a new SphinxClient object

Beschreibung

public SphinxClient::__construct ( void )

Creates a new SphinxClient object.

Parameter-Liste

Diese Funktion hat keine Parameter.

SphinxClient::close
SphinxClient::escapeString
SphinxClient


Escape special characters

SphinxClient::__construct
SphinxClient::getLastError
SphinxClient
PHP Manual

SphinxClient::escapeString

(PECL sphinx >= 0.1.0)

SphinxClient::escapeString — Escape special characters

Beschreibung

public string SphinxClient::escapeString ( string $string )

Escapes characters that are treated as special operators by the query language parser.

Parameter-Liste

string

String to escape.

Rückgabewerte

Returns escaped string.

SphinxClient::__construct
SphinxClient::getLastError
SphinxClient


Get the last error message

SphinxClient::escapeString
SphinxClient::getLastWarning
SphinxClient
PHP Manual

SphinxClient::getLastError

(PECL sphinx >= 0.1.0)

SphinxClient::getLastError — Get the last error message

Beschreibung

public string SphinxClient::getLastError ( void )

Returns string with the last error message. If there were no errors during the previous API call, empty string is returned. This method doesn't reset the error message, so you can safely call it several times.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the last error message or an empty string if there were no errors.

Siehe auch

  • SphinxClient::getLastWarning

SphinxClient::escapeString
SphinxClient::getLastWarning
SphinxClient


Get the last warning

SphinxClient::getLastError
SphinxClient::open
SphinxClient
PHP Manual

SphinxClient::getLastWarning

(PECL sphinx >= 0.1.0)

SphinxClient::getLastWarning — Get the last warning

Beschreibung

public string SphinxClient::getLastWarning ( void )

Returns last warning message. If there were no warnings during the previous API call, empty string is returned. This method doesn't reset the warning, so you can safely call it several times.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the last warning message or an empty string if there were no warnings.

Siehe auch

  • SphinxClient::getLastError

SphinxClient::getLastError
SphinxClient::open
SphinxClient


Opens persistent connection to the server

SphinxClient::getLastWarning
SphinxClient::query
SphinxClient
PHP Manual

SphinxClient::open

(PECL sphinx >= 1.0.3)

SphinxClient::open — Opens persistent connection to the server

Beschreibung

public bool SphinxClient::open ( void )

Opens persistent connection to the server.

Parameter-Liste

Diese Funktion hat keine Parameter.

Changelog

PECL/sphinx Version | Beschreibung
1.0.3 | Added SphinxClient::open(), available only if compiled with libsphinxclient >= 0.9.9.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • SphinxClient::close

SphinxClient::getLastWarning
SphinxClient::query
SphinxClient


Execute search query

SphinxClient::open
SphinxClient::resetFilters
SphinxClient
PHP Manual

SphinxClient::query

(PECL sphinx >= 0.1.0)

SphinxClient::query — Execute search query

Beschreibung

public array SphinxClient::query ( string $query [, string $index = "*" [, string $comment = "" ]] )

Connects to searchd server, runs the given search query with the current settings, obtains and returns the result set.

Parameter-Liste

query

Query string.

index

An index name (or names).

comment

Rückgabewerte

On success, SphinxClient::query() returns a list of found matches and additional per-query statistics. The result set is a hash utilize other structures instead of hash) with the following keys and values:

Result set structure
Key | Value description
"matches" | An array with found document IDs as keys and their weight and attributes values as values
"total" | Total number of matches found and retrieved (depends on your settings)
"total_found" | Total number of found documents matching the query
"words" | An array with words (case-folded and stemmed) as keys and per-word statistics as values
"error" | Query error message reported by searchd
"warning" | Query warning reported by searchd

Siehe auch

  • SphinxClient::runQueries
  • SphinxClient::addQuery

SphinxClient::open
SphinxClient::resetFilters
SphinxClient


Clear all filters

SphinxClient::query
SphinxClient::resetGroupBy
SphinxClient
PHP Manual

SphinxClient::resetFilters

(PECL sphinx >= 0.1.0)

SphinxClient::resetFilters — Clear all filters

Beschreibung

public void SphinxClient::resetFilters ( void )

Clears all currently set filters. This call is normally required when using multi-queries. You might want to set different filters for different queries in the batch. To do that, you should call SphinxClient::resetFilters() and add new filters using the respective calls.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SphinxClient::resetGroupBy

SphinxClient::query
SphinxClient::resetGroupBy
SphinxClient


Clear all group-by settings

SphinxClient::resetFilters
SphinxClient::runQueries
SphinxClient
PHP Manual

SphinxClient::resetGroupBy

(PECL sphinx >= 0.1.0)

SphinxClient::resetGroupBy — Clear all group-by settings

Beschreibung

public void SphinxClient::resetGroupBy ( void )

Clears all currently group-by settings, and disables group-by. This call is normally required only when using multi-queries.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SphinxClient::resetGroupBy

SphinxClient::resetFilters
SphinxClient::runQueries
SphinxClient


Run a batch of search queries

SphinxClient::resetGroupBy
SphinxClient::setArrayResult
SphinxClient
PHP Manual

SphinxClient::runQueries

(PECL sphinx >= 0.1.0)

SphinxClient::runQueries — Run a batch of search queries

Beschreibung

public array SphinxClient::runQueries ( void )

Connects to searchd, runs a batch of all queries added using SphinxClient::addQuery, obtains and returns the result sets.

Rückgabewerte

Returns FALSE on failure and array of result sets on success.

Siehe auch

  • SphinxClient::addQuery
  • SphinxClient::query

SphinxClient::resetGroupBy
SphinxClient::setArrayResult
SphinxClient


Change the format of result set array

SphinxClient::runQueries
SphinxClient::setConnectTimeout
SphinxClient
PHP Manual

SphinxClient::setArrayResult

(PECL sphinx >= 0.1.0)

SphinxClient::setArrayResult — Change the format of result set array

Beschreibung

public bool SphinxClient::setArrayResult ( bool $array_result = false )

Controls the format of search results set arrays (whether matches should be returned as an array or a hash).

Parameter-Liste

array_result

If array_result is FALSE, matches are returned as a hash with document IDs as keys, and other information (weight, attributes) as values. If array_result is TRUE, matches are returned as a plain array with complete per-match information including document IDs.

Rückgabewerte

Always returns TRUE.

SphinxClient::runQueries
SphinxClient::setConnectTimeout
SphinxClient


Set connection timeout

SphinxClient::setArrayResult
SphinxClient::setFieldWeights
SphinxClient
PHP Manual

SphinxClient::setConnectTimeout

(PECL sphinx >= 0.1.0)

SphinxClient::setConnectTimeout — Set connection timeout

Beschreibung

public bool SphinxClient::setConnectTimeout ( float $timeout )

Sets connection timeout (in seconds) for searchd connection.

Parameter-Liste

timeout

Timeout in seconds.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • SphinxClient::setMaxQueryTime

SphinxClient::setArrayResult
SphinxClient::setFieldWeights
SphinxClient


Set field weights

SphinxClient::setConnectTimeout
SphinxClient::setFilter
SphinxClient
PHP Manual

SphinxClient::setFieldWeights

(PECL sphinx >= 0.1.0)

SphinxClient::setFieldWeights — Set field weights

Beschreibung

public bool SphinxClient::setFieldWeights ( array $weights )

Binds per-field weights by name.

Match ranking can be affected by per-field weights. See » Sphinx documentation for an explanation on how phrase proximity ranking is affected. This call lets you specify non-default weights for full-text fields.

The weights must be positive 32-bit integers, so be careful not to hit 32-bit integer maximum. The final weight is a 32-bit integer too. Default weight value is 1. Unknown field names are silently ignored.

Parameter-Liste

weights

Associative array of field names and field weights.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • SphinxClient::setIndexWeights

SphinxClient::setConnectTimeout
SphinxClient::setFilter
SphinxClient


Add new integer values set filter

SphinxClient::setFieldWeights
SphinxClient::setFilterFloatRange
SphinxClient
PHP Manual

SphinxClient::setFilter

(PECL sphinx >= 0.1.0)

SphinxClient::setFilter — Add new integer values set filter

Beschreibung

public bool SphinxClient::setFilter ( string $attribute , array $values [, bool $exclude = false ] )

Adds new integer values set filter to the existing list of filters.

Parameter-Liste

attribute

An attribute name.

values

Plain array of integer values.

exclude

If set to TRUE, matching documents are excluded from the result set.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • SphinxClient::setFilterFloatRange
  • SphinxClient::setFilterRange
  • SphinxClient::resetFilters

SphinxClient::setFieldWeights
SphinxClient::setFilterFloatRange
SphinxClient


Add new float range filter

SphinxClient::setFilter
SphinxClient::setFilterRange
SphinxClient
PHP Manual

SphinxClient::setFilterFloatRange

(PECL sphinx >= 0.1.0)

SphinxClient::setFilterFloatRange — Add new float range filter

Beschreibung

public bool SphinxClient::setFilterFloatRange ( string $attribute , float $min , float $max [, bool $exclude = false ] )

Adds new float range filter to the existing list of filters. Only those documents which have attribute value stored in the index between min and max (including values that are exactly equal to min or max) will be matched (or rejected, if exclude is TRUE).

Parameter-Liste

attribute

An attribute name.

min

Minimum value.

max

Maximum value.

exclude

If set to TRUE, matching documents are excluded from the result set.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • SphinxClient::setFilterRange
  • SphinxClient::setFilter
  • SphinxClient::resetFilters

SphinxClient::setFilter
SphinxClient::setFilterRange
SphinxClient


Add new integer range filter

SphinxClient::setFilterFloatRange
SphinxClient::setGeoAnchor
SphinxClient
PHP Manual

SphinxClient::setFilterRange

(PECL sphinx >= 0.1.0)

SphinxClient::setFilterRange — Add new integer range filter

Beschreibung

public bool SphinxClient::setFilterRange ( string $attribute , int $min , int $max [, bool $exclude = false ] )

Adds new integer range filter to the existing list of filters. Only those documents which have attribute value stored in the index between min and max (including values that are exactly equal to min or max) will be matched (or rejected, if exclude is TRUE).

Parameter-Liste

attribute

An attribute name.

min

Minimum value.

max

Maximum value.

exclude

If set to TRUE, matching documents are excluded from the result set.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • SphinxClient::setFilterFloatRange
  • SphinxClient::setFilter
  • SphinxClient::resetFilters

SphinxClient::setFilterFloatRange
SphinxClient::setGeoAnchor
SphinxClient


Set anchor point for a geosphere distance calculations

SphinxClient::setFilterRange
SphinxClient::setGroupBy
SphinxClient
PHP Manual

SphinxClient::setGeoAnchor

(PECL sphinx >= 0.1.0)

SphinxClient::setGeoAnchor — Set anchor point for a geosphere distance calculations

Beschreibung

public bool SphinxClient::setGeoAnchor ( string $attrlat , string $attrlong , float $latitude , float $longitude )

Sets anchor point for a geosphere distance (geodistance) calculations and enables them.

Once an anchor point is set, you can use magic "@geodist" attribute name in your filters and/or sorting expressions.

Parameter-Liste

attrlat

Name of a latitude attribute.

attrlong

Name of a longitude attribute.

latitude

Anchor latitude in radians.

longitude

Anchor longitude in radians.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • SphinxClient::setFilterFloatRange
  • SphinxClient::setFilterRange
  • SphinxClient::setFilter
  • SphinxClient::resetFilters

SphinxClient::setFilterRange
SphinxClient::setGroupBy
SphinxClient


Set grouping attribute

SphinxClient::setGeoAnchor
SphinxClient::setGroupDistinct
SphinxClient
PHP Manual

SphinxClient::setGroupBy

(PECL sphinx >= 0.1.0)

SphinxClient::setGroupBy — Set grouping attribute

Beschreibung

public bool SphinxClient::setGroupBy ( string $attribute , int $func [, string $groupsort = "@group desc" ] )

Sets grouping attribute, function, and group sorting mode, and enables grouping.

Grouping feature is very similar to GROUP BY clause in SQL. Results produced by this function call are going to be the same as produced by the following pseudo code: SELECT ... GROUP BY $func($attribute) ORDER BY $groupsort.

Parameter-Liste

attribute

A string containing group-by attribute name.

func

Constant, which sets a function applied to the attribute value in order to compute group-by key.

groupsort

An optional clause controlling how the groups are sorted.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • SphinxClient::resetGroupBy
  • SphinxClient::setSortMode
  • SphinxClient::setGroupDistinct

SphinxClient::setGeoAnchor
SphinxClient::setGroupDistinct
SphinxClient


Set attribute name for per-group distinct values count calculations

SphinxClient::setGroupBy
SphinxClient::setIDRange
SphinxClient
PHP Manual

SphinxClient::setGroupDistinct

(PECL sphinx >= 0.1.0)

SphinxClient::setGroupDistinct — Set attribute name for per-group distinct values count calculations

Beschreibung

public bool SphinxClient::setGroupDistinct ( string $attribute )

Sets attribute name for per-group distinct values count calculations. Only available for grouping queries. For each group, all values of attribute will be stored, then the amount of distinct values will be calculated and returned to the client. This feature is similar to COUNT(DISTINCT) clause in SQL.

Parameter-Liste

attribute

A string containing group-by attribute name.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • SphinxClient::setSortMode
  • SphinxClient::setGroupBy
  • SphinxClient::resetGroupBy

SphinxClient::setGroupBy
SphinxClient::setIDRange
SphinxClient


Set a range of accepted document IDs

SphinxClient::setGroupDistinct
SphinxClient::setIndexWeights
SphinxClient
PHP Manual

SphinxClient::setIDRange

(PECL sphinx >= 0.1.0)

SphinxClient::setIDRange — Set a range of accepted document IDs

Beschreibung

public bool SphinxClient::setIDRange ( int $min , int $max )

Sets an accepted range of document IDs. Default range is from 0 to 0, i.e. no limit. Only those records that have document ID between min and max (including IDs exactly equal to min or max) will be matched.

Parameter-Liste

min

Minimum ID value.

max

Maximum ID value.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

SphinxClient::setGroupDistinct
SphinxClient::setIndexWeights
SphinxClient


Set per-index weights

SphinxClient::setIDRange
SphinxClient::setLimits
SphinxClient
PHP Manual

SphinxClient::setIndexWeights

(PECL sphinx >= 0.1.0)

SphinxClient::setIndexWeights — Set per-index weights

Beschreibung

public bool SphinxClient::setIndexWeights ( array $weights )

Sets per-index weights and enables weighted summing of match weights across different indexes.

Parameter-Liste

weights

An associative array mapping string index names to integer weights. Default is empty array, i.e. weighting summing is disabled.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

SphinxClient::setIDRange
SphinxClient::setLimits
SphinxClient


Set offset and limit of the result set

SphinxClient::setIndexWeights
SphinxClient::setMatchMode
SphinxClient
PHP Manual

SphinxClient::setLimits

(PECL sphinx >= 0.1.0)

SphinxClient::setLimits — Set offset and limit of the result set

Beschreibung

public bool SphinxClient::setLimits ( int $offset , int $limit [, int $max_matches = 0 [, int $cutoff = 0 ]] )

Sets offset into server-side result set and amount of matches to return to client starting from that offset (limit). Can additionally control maximum server-side result set size for current query (max_matches) and the threshold amount of matches to stop searching at (cutoff).

Parameter-Liste

offset

Result set offset.

limit

Amount of matches to return.

max_matches

Controls how much matches searchd will keep in RAM while searching.

cutoff

Used for advanced performance control. It tells searchd to forcibly stop search query once cutoff matches have been found and processed.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

SphinxClient::setIndexWeights
SphinxClient::setMatchMode
SphinxClient


Set full-text query matching mode

SphinxClient::setLimits
SphinxClient::setMaxQueryTime
SphinxClient
PHP Manual

SphinxClient::setMatchMode

(PECL sphinx >= 0.1.0)

SphinxClient::setMatchMode — Set full-text query matching mode

Beschreibung

public bool SphinxClient::setMatchMode ( int $mode )

Sets full-text query matching mode. mode is one of the constants listed below.

Match modes
Constant | Description
SPH_MATCH_ALL | Match all query words (default mode).
SPH_MATCH_ANY | Match any of query words.
SPH_MATCH_PHRASE | Match query as a phrase, requiring perfect match.
SPH_MATCH_BOOLEAN | Match query as a boolean expression.
SPH_MATCH_EXTENDED | Match query as an expression in Sphinx internal query language.
SPH_MATCH_FULLSCAN | Enables fullscan.
SPH_MATCH_EXTENDED2 | The same as SPH_MATCH_EXTENDED plus ranking and quorum searching support.

Parameter-Liste

mode

Matching mode.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • SphinxClient::setRankingMode
  • SphinxClient::setSortMode

SphinxClient::setLimits
SphinxClient::setMaxQueryTime
SphinxClient


Set maximum query time

SphinxClient::setMatchMode
SphinxClient::setOverride
SphinxClient
PHP Manual

SphinxClient::setMaxQueryTime

(PECL sphinx >= 0.1.0)

SphinxClient::setMaxQueryTime — Set maximum query time

Beschreibung

public bool SphinxClient::setMaxQueryTime ( int $qtime )

Sets maximum search query time.

Parameter-Liste

qtime

Maximum query time, in milliseconds. It must be a non-negative integer. Default value is 0, i.e. no limit.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

SphinxClient::setMatchMode
SphinxClient::setOverride
SphinxClient


Sets temporary per-document attribute value overrides

SphinxClient::setMaxQueryTime
SphinxClient::setRankingMode
SphinxClient
PHP Manual

SphinxClient::setOverride

(PECL sphinx >= 1.0.3)

SphinxClient::setOverride — Sets temporary per-document attribute value overrides

Beschreibung

public bool SphinxClient::setOverride ( string $attribute , int $type , array $values )

Sets temporary (per-query) per-document attribute value overrides. Override feature lets you "temporary" update attribute values for some documents within a single query, leaving all other queries unaffected. This might be useful for personalized data

Parameter-Liste

attribute

An attribute name.

type

An attribute type. Only supports scalar attributes.

values

Array of attribute values that maps document IDs to overridden attribute values.

Changelog

PECL/sphinx Version | Beschreibung
1.0.3 | Added SphinxClient::setOverride(), available only if compiled with libsphinxclient >= 0.9.9.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

SphinxClient::setMaxQueryTime
SphinxClient::setRankingMode
SphinxClient


Set ranking mode

SphinxClient::setOverride
SphinxClient::setRetries
SphinxClient
PHP Manual

SphinxClient::setRankingMode

(PECL sphinx >= 0.1.0)

SphinxClient::setRankingMode — Set ranking mode

Beschreibung

public bool SphinxClient::setRankingMode ( int $ranker )

Sets ranking mode. Only available in SPH_MATCH_EXTENDED2 matching mode.

Ranking modes
Constant | Description
SPH_RANK_PROXIMITY_BM25 | Default ranking mode which uses both proximity and BM25 ranking.
SPH_RANK_BM25 | Statistical ranking mode which uses BM25 ranking only (similar to most of other full-text engines). This mode is faster, but may result in worse quality on queries which contain more than 1 keyword.
SPH_RANK_NONE | Disables ranking. This mode is the fastest. It is essentially equivalent to boolean searching, a weight of 1 is assigned to all matches.

Parameter-Liste

ranker

Ranking mode.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • SphinxClient::setMatchMode

SphinxClient::setOverride
SphinxClient::setRetries
SphinxClient


Set retry count and delay

SphinxClient::setRankingMode
SphinxClient::setSelect
SphinxClient
PHP Manual

SphinxClient::setRetries

(PECL sphinx >= 0.1.0)

SphinxClient::setRetries — Set retry count and delay

Beschreibung

public bool SphinxClient::setRetries ( int $count [, int $delay = 0 ] )

Sets distributed retry count and delay.

On temporary failures searchd will attempt up to count retries per agent. delay is the delay between the retries, in milliseconds. Retries are disabled by default. Note that this call will not make the API itself retry on temporary failure; it only tells searchd to do so.

Parameter-Liste

count

Number of retries.

delay

Delay between retries, in milliseconds.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

SphinxClient::setRankingMode
SphinxClient::setSelect
SphinxClient


Set select clause

SphinxClient::setRetries
SphinxClient::setServer
SphinxClient
PHP Manual

SphinxClient::setSelect

(PECL sphinx >= 1.0.1)

SphinxClient::setSelect — Set select clause

Beschreibung

public bool SphinxClient::setSelect ( string $clause )

Sets the select clause, listing specific attributes to fetch, and expressions to compute and fetch.

Parameter-Liste

clause

SQL-like clause.

Changelog

PECL/sphinx Version | Beschreibung
1.0.1 | Added SphinxClient::setSelect(), available only if compiled with libsphinxclient >= 0.9.9.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

SphinxClient::setRetries
SphinxClient::setServer
SphinxClient


Set searchd host and port

SphinxClient::setSelect
SphinxClient::setSortMode
SphinxClient
PHP Manual

SphinxClient::setServer

(PECL sphinx >= 0.1.0)

SphinxClient::setServer — Set searchd host and port

Beschreibung

public bool SphinxClient::setServer ( string $server , int $port )

Sets searchd host name and TCP port. All subsequent requests will use the new host and port settings. Default host and port are 'localhost' and 3312, respectively.

Parameter-Liste

server

IP or hostname.

port

Port number.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

SphinxClient::setSelect
SphinxClient::setSortMode
SphinxClient


Set matches sorting mode

SphinxClient::setServer
SphinxClient::status
SphinxClient
PHP Manual

SphinxClient::setSortMode

(PECL sphinx >= 0.1.0)

SphinxClient::setSortMode — Set matches sorting mode

Beschreibung

public bool SphinxClient::setSortMode ( int $mode [, string $sortby ] )

Sets matches sorting mode. See available modes below.

Sorting modes
Constant | Description
SPH_SORT_RELEVANCE | Sort by relevance in descending order (best matches first).
SPH_SORT_ATTR_DESC | Sort by an attribute in descending order (bigger attribute values first).
SPH_SORT_ATTR_ASC | Sort by an attribute in ascending order (smaller attribute values first).
SPH_SORT_TIME_SEGMENTS | Sort by time segments (last hour/day/week/month) in descending order, and then by relevance in descending order.
SPH_SORT_EXTENDED | Sort by SQL-like combination of columns in ASC/DESC order.
SPH_SORT_EXPR | Sort by an arithmetic expression.

Parameter-Liste

mode

Sorting mode.

sortby

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • SphinxClient::setMatchMode
  • SphinxClient::setSortMode

SphinxClient::setServer
SphinxClient::status
SphinxClient


Queries searchd status

SphinxClient::setSortMode
SphinxClient::updateAttributes
SphinxClient
PHP Manual

SphinxClient::status

(PECL sphinx >= 1.0.3)

SphinxClient::status — Queries searchd status

Beschreibung

public array SphinxClient::status ( void )

Queries searchd status, and returns an array of status variable name and value pairs.

Parameter-Liste

Diese Funktion hat keine Parameter.

Changelog

PECL/sphinx Version | Beschreibung
1.0.3 | Added SphinxClient::status(), available only if compiled with libsphinxclient >= 0.9.9.

Rückgabewerte

Returns an associative array of search server statisticsIm Fehlerfall wird FALSE zurückgegeben..

SphinxClient::setSortMode
SphinxClient::updateAttributes
SphinxClient


Update document attributes

SphinxClient::status
Swish
SphinxClient
PHP Manual

SphinxClient::updateAttributes

(PECL sphinx >= 0.1.0)

SphinxClient::updateAttributes — Update document attributes

Beschreibung

public int SphinxClient::updateAttributes ( string $index , array $attributes , array $values [, bool $mva = false ] )

Instantly updates given attribute values in given documents.

Parameter-Liste

index

Name of the index (or indexes) to be updated.

attributes

Array of attribute names, listing attributes that are updated.

values

Associative array containing document IDs as keys and array of attribute values as values.

Rückgabewerte

Returns number of actually updated documents (0 or more) on success, or FALSE on failure.

SphinxClient::status
Swish
SphinxClient


Swish Indexing

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • Basic usage
  • Swish Funktionen
    • Swish::__construct — Construct a Swish object
    • Swish::getMetaList — Get the list of meta entries for the index
    • Swish::getPropertyList — Get the list of properties for the index
    • Swish::prepare — Prepare a search query
    • Swish::query — Execute a query and return results object
    • SwishResult::getMetaList — Get a list of meta entries
    • SwishResult::stem — Stems the given word
    • SwishResults::getParsedWords — Get an array of parsed words
    • SwishResults::getRemovedStopwords — Get an array of stopwords removed from the query
    • SwishResults::nextResult — Get the next search result
    • SwishResults::seekResult — Set current seek pointer to the given position
    • SwishSearch::execute — Execute the search and get the results
    • SwishSearch::resetLimit — Reset the search limits
    • SwishSearch::setLimit — Set the search limits
    • SwishSearch::setPhraseDelimiter — Set the phrase delimiter
    • SwishSearch::setSort — Set the sort order
    • SwishSearch::setStructure — Set the structure flag in the search object
SphinxClient::updateAttributes
Einführung
Suchmaschinenerweiterungen


Einführung

The swish extension provides the bindings for Swish-e API. Swish-e stands for "Simple Web Indexing System for Humans - Enhanced" and is an open source system for indexing and search. Swish-e itself is licensed under GPL license, but uses a clause that allows applications to link against the library if every copy of the combined work is accompanied by the URL to Swish-e source code. Here it is: » http://swish-e.org.

Warnung

Diese Erweiterung ist EXPERIMENTELL. Das Verhalten dieser Erweiterung, einschließlich der Funktionsnamen, und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Erweiterung auf eigenes Risiko.

Swish
Installation/Konfiguration
Swish


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Swish


Anforderungen

PECL/swish requires PHP 5.1.3 or newer.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/swish.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

Swish::META_TYPE_UNDEF (integer)
Swish::META_TYPE_STRING (integer)
Swish::META_TYPE_ULONG (integer)
Swish::META_TYPE_DATE (integer)
Swish::IN_FILE_BIT (integer)
Swish::IN_TITLE_BIT (integer)
Swish::IN_HEAD_BIT (integer)
Swish::IN_BODY_BIT (integer)
Swish::IN_COMMENTS_BIT (integer)
Swish::IN_HEADER_BIT (integer)
Swish::IN_EMPHASIZED_BIT (integer)
Swish::IN_META_BIT (integer)
Swish::IN_FILE (integer)
Swish::IN_TITLE (integer)
Swish::IN_HEAD (integer)
Swish::IN_BODY (integer)
Swish::IN_COMMENTS (integer)
Swish::IN_HEADER (integer)
Swish::IN_EMPHASIZED (integer)
Swish::IN_META (integer)
Swish::IN_ALL (integer)
Ressource-Typen
Beispiele
Swish


Beispiele

Inhaltsverzeichnis

  • Basic usage
Vordefinierte Konstanten
Basic usage
Swish


Basic usage

Beispiel #1 Basic search query

<?php

try {

    $swish = new Swish("index.swish-e");
    $results = $swish->query("test OR text");

    echo "Found ", $results->hits, " results\n";
    while ($result = $results->nextResult()) {
        var_dump($result);
        break; //break after the first result
    }

} catch (SwishException $e) {
    echo "Error: ", $e->getMessage(), "\n";
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Found 9 results
object(SwishResult)#3 (8) {
  ["swishreccount"]=>
  int(1)
  ["swishrank"]=>
  int(1000)
  ["swishfilenum"]=>
  int(10)
  ["swishdbfile"]=>
  string(13) "index.swish-e"
  ["swishdocpath"]=>
  string(23) "README.SUBMITTING_PATCH"
  ["swishtitle"]=>
  NULL
  ["swishdocsize"]=>
  int(4557)
  ["swishlastmodified"]=>
  int(1072136752)
}
Beispiele
Swish Funktionen
Beispiele


Swish Funktionen

Inhaltsverzeichnis

  • Swish::__construct — Construct a Swish object
  • Swish::getMetaList — Get the list of meta entries for the index
  • Swish::getPropertyList — Get the list of properties for the index
  • Swish::prepare — Prepare a search query
  • Swish::query — Execute a query and return results object
  • SwishResult::getMetaList — Get a list of meta entries
  • SwishResult::stem — Stems the given word
  • SwishResults::getParsedWords — Get an array of parsed words
  • SwishResults::getRemovedStopwords — Get an array of stopwords removed from the query
  • SwishResults::nextResult — Get the next search result
  • SwishResults::seekResult — Set current seek pointer to the given position
  • SwishSearch::execute — Execute the search and get the results
  • SwishSearch::resetLimit — Reset the search limits
  • SwishSearch::setLimit — Set the search limits
  • SwishSearch::setPhraseDelimiter — Set the phrase delimiter
  • SwishSearch::setSort — Set the sort order
  • SwishSearch::setStructure — Set the structure flag in the search object
Basic usage
Swish::__construct
Swish


Construct a Swish object

Swish Funktionen
Swish::getMetaList
Swish Funktionen
PHP Manual

Swish::__construct

(PECL swish >= 0.1.0)

Swish::__construct — Construct a Swish object

Beschreibung

void Swish::__construct ( string $index_names )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Parameter-Liste

index_names

The list of index files separated by spaces.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

Throws SwishException on error.

Beispiele

Beispiel #1 A Swish::__construct() example

<?php

try {
    $swish = new Swish("index1 index2");
} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

foreach ($swish->indexes as $index) {
    var_dump($index["name"]);
    var_dump($index["headers"]["Total Words"]);
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(6) "index1"
int(1888)
string(6) "index2"
int(2429)

Swish Funktionen
Swish::getMetaList
Swish Funktionen


Get the list of meta entries for the index

Swish::__construct
Swish::getPropertyList
Swish Funktionen
PHP Manual

Swish::getMetaList

(PECL swish >= 0.1.0)

Swish::getMetaList — Get the list of meta entries for the index

Beschreibung

array Swish::getMetaList ( string $index_name )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Parameter-Liste

index_name

The name of the index file.

Rückgabewerte

Returns an array of meta entries for the given index.

Beispiele

Beispiel #1 Basic Swish::getMetaList() example

<?php

try {

    $swish = new Swish("index.swish-e");
    var_dump($swish->getMetaList("index.swish-e"));

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(1) {
  [0]=>
  array(3) {
    ["Name"]=>
    string(12) "swishdefault"
    ["Type"]=>
    int(0)
    ["ID"]=>
    int(1)
  }
}

Swish::__construct
Swish::getPropertyList
Swish Funktionen


Get the list of properties for the index

Swish::getMetaList
Swish::prepare
Swish Funktionen
PHP Manual

Swish::getPropertyList

(PECL swish >= 0.1.0)

Swish::getPropertyList — Get the list of properties for the index

Beschreibung

array Swish::getPropertyList ( string $index_name )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Parameter-Liste

index_name

The name of the index file.

Rückgabewerte

Returns an array of properties for the given index.

Beispiele

Beispiel #1 Basic Swish::getPropertyList() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $properties = $swish->getPropertyList("index.swish-e");
    foreach ($properties as $prop) {
        echo $prop["Name"],"\n";
    }

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

swishreccount
swishrank
swishfilenum
swishdbfile
swishdocpath
swishtitle
swishdocsize
swishlastmodified

Swish::getMetaList
Swish::prepare
Swish Funktionen


Prepare a search query

Swish::getPropertyList
Swish::query
Swish Funktionen
PHP Manual

Swish::prepare

(PECL swish >= 0.1.0)

Swish::prepare — Prepare a search query

Beschreibung

object Swish::prepare ([ string $query ] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Prepare and return a search object, which you can later use for unlimited number of queries.

Parameter-Liste

query

Optional query string. The query can be also set using SwishSearch::execute() method.

Rückgabewerte

Returns SwishSearch object.

Fehler/Exceptions

Throws SwishException on error.

Beispiele

Beispiel #1 Basic Swish::prepare() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare("search query");
    $results = $search->execute();
    echo "Found: ", $results->hits, " hits\n";

    $results = $search->execute("new search");

    echo "Found: ", $results->hits, " hits\n";
} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Found: 2 hits
Found: 5 hits

Swish::getPropertyList
Swish::query
Swish Funktionen


Execute a query and return results object

Swish::prepare
SwishResult::getMetaList
Swish Funktionen
PHP Manual

Swish::query

(PECL swish >= 0.1.0)

Swish::query — Execute a query and return results object

Beschreibung

object Swish::query ( string $query )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

A quick method to execute a search with default parameters.

Parameter-Liste

query

Query string.

Rückgabewerte

Returns SwishResults object.

Fehler/Exceptions

Throws SwishException on error.

Beispiele

Beispiel #1 Basic Swish::query() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $results = $swish->query("test query");

    echo "Found: ", $results->hits, " hits\n";

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Found: 1 hits

Swish::prepare
SwishResult::getMetaList
Swish Funktionen


Get a list of meta entries

Swish::query
SwishResult::stem
Swish Funktionen
PHP Manual

SwishResult::getMetaList

(PECL swish >= 0.1.0)

SwishResult::getMetaList — Get a list of meta entries

Beschreibung

array SwishResult::getMetaList ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Rückgabewerte

Returns the same array as swish::getmetalist(), but uses the index file from the result handle.

Swish::query
SwishResult::stem
Swish Funktionen


Stems the given word

SwishResult::getMetaList
SwishResults::getParsedWords
Swish Funktionen
PHP Manual

SwishResult::stem

(PECL swish >= 0.1.0)

SwishResult::stem — Stems the given word

Beschreibung

array SwishResult::stem ( string $word )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Stems the word based on the fuzzy mode used during indexing. Each result object is linked with its index, so the results are based on this index.

Parameter-Liste

word

The word to stem.

Rückgabewerte

Returns array containing the stemmed word variants (usually just one).

Fehler/Exceptions

Throws SwishException on error.

Beispiele

Beispiel #1 Basic SwishResult::stem() example

<?php

try {

    $swish = new Swish("ext/swish/tests/index.swish-e");
    $results = $swish->query("testing OR others");

    if ($result = $results->nextResult()) {
        var_dump($result->stem("testing")); //the results fully depend on the stemmer used in the index
        var_dump($result->stem("others"));
    }

} catch (SwishException $e) {
    echo "Error: ", $e->getMessage(), "\n";
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(1) {
  [0]=>
  string(4) "test"
}
array(1) {
  [0]=>
  string(5) "other"
}

SwishResult::getMetaList
SwishResults::getParsedWords
Swish Funktionen


Get an array of parsed words

SwishResult::stem
SwishResults::getRemovedStopwords
Swish Funktionen
PHP Manual

SwishResults::getParsedWords

(PECL swish >= 0.1.0)

SwishResults::getParsedWords — Get an array of parsed words

Beschreibung

array SwishResults::getParsedWords ( string $index_name )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Parameter-Liste

indexi_name

The name of the index used to initialize Swish object.

Rückgabewerte

An array of parsed words with stopwords removed. The list of parsed words may be useful for highlighting search terms in the results.

Beispiele

Beispiel #1 Basic SwishResults::getParsedWords() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $results = $swish->query("'some characters' and numbers");

    var_dump($results->getParsedWords("index.swish-e"));
    var_dump($results->indexes[0]['parsed_words']); //same result in a different way

} catch (SwishException $e) {
    echo "Error: ", $e->getMessage(), "\n";
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(4) {
  [0]=>
  string(4) "some"
  [1]=>
  string(10) "characters"
  [2]=>
  string(3) "and"
  [3]=>
  string(7) "numbers"
}
array(4) {
  [0]=>
  string(4) "some"
  [1]=>
  string(10) "characters"
  [2]=>
  string(3) "and"
  [3]=>
  string(7) "numbers"
}

SwishResult::stem
SwishResults::getRemovedStopwords
Swish Funktionen


Get an array of stopwords removed from the query

SwishResults::getParsedWords
SwishResults::nextResult
Swish Funktionen
PHP Manual

SwishResults::getRemovedStopwords

(PECL swish >= 0.1.0)

SwishResults::getRemovedStopwords — Get an array of stopwords removed from the query

Beschreibung

array SwishResults::getRemovedStopwords ( string $index_name )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Parameter-Liste

index_name

The name of the index used to initialize Swish object.

Rückgabewerte

Returns array of stopwords removed from the query.

SwishResults::getParsedWords
SwishResults::nextResult
Swish Funktionen


Get the next search result

SwishResults::getRemovedStopwords
SwishResults::seekResult
Swish Funktionen
PHP Manual

SwishResults::nextResult

(PECL swish >= 0.1.0)

SwishResults::nextResult — Get the next search result

Beschreibung

object SwishResults::nextResult ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Rückgabewerte

Returns the next SwishResult object in the result set or FALSE if there are no more results available.

Beispiele

Beispiel #1 Basic SwishResults::nextResult() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("lost");
    while($result = $results->nextResult()) {
        /* do something with the result object */
    }

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

SwishResults::getRemovedStopwords
SwishResults::seekResult
Swish Funktionen


Set current seek pointer to the given position

SwishResults::nextResult
SwishSearch::execute
Swish Funktionen
PHP Manual

SwishResults::seekResult

(PECL swish >= 0.1.0)

SwishResults::seekResult — Set current seek pointer to the given position

Beschreibung

int SwishResults::seekResult ( int $position )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Parameter-Liste

position

Zero-based position number. Cannot be less than zero.

Rückgabewerte

Returns new position value on success.

Fehler/Exceptions

Throws SwishException on error.

Beispiele

Beispiel #1 Basic SwishResults::seekResult() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("lost");

    var_dump($results->seekResult(0)); //this will succeed
    var_dump($results->seekResult(100)); //this will fail

} catch (SwishException $e) {
    echo "Error: ", $e->getMessage(), "\n";
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(0)
Error: No more results

SwishResults::nextResult
SwishSearch::execute
Swish Funktionen


Execute the search and get the results

SwishResults::seekResult
SwishSearch::resetLimit
Swish Funktionen
PHP Manual

SwishSearch::execute

(PECL swish >= 0.1.0)

SwishSearch::execute — Execute the search and get the results

Beschreibung

object SwishSearch::execute ([ string $query ] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Searches the index file(s) based on the parameters set in the search object.

Parameter-Liste

query

The query string is an optional parameter, it can be also set using Swish::prepare() method. The query string is preserved between executions, so you can set it once, but execute the search multiple times.

Rückgabewerte

Returns SwishResults object.

Fehler/Exceptions

Throws SwishException on error.

Beispiele

Beispiel #1 Basic SwishSearch::execute() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("query");
    echo "First query found: ", $results->hits, " hits\n";

    $results = $search->execute("new OR query");
    echo "Second query found: ", $results->hits, " hits\n";

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

First query found: 2 hits
Second query found: 12 hits

SwishResults::seekResult
SwishSearch::resetLimit
Swish Funktionen


Reset the search limits

SwishSearch::execute
SwishSearch::setLimit
Swish Funktionen
PHP Manual

SwishSearch::resetLimit

(PECL swish >= 0.1.0)

SwishSearch::resetLimit — Reset the search limits

Beschreibung

void SwishSearch::resetLimit ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Reset the search limits previous set by SwishSearch::setLimit.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Basic SwishSearch::resetLimit() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("time");
    echo "First query found: ", $results->hits, " hits\n";

    $search->setLimit("swishdocsize", "3000", "6000"); //limit by document size, from 3000 to 6000 bytes
    $results = $search->execute("time");
    echo "Second query found: ", $results->hits, " hits\n";

    $search->resetLimit();
    $results = $search->execute("time");
    echo "Third query found: ", $results->hits, " hits\n";

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

First query found: 5 hits
Second query found: 2 hits
Third query found: 5 hits

SwishSearch::execute
SwishSearch::setLimit
Swish Funktionen


Set the search limits

SwishSearch::resetLimit
SwishSearch::setPhraseDelimiter
Swish Funktionen
PHP Manual

SwishSearch::setLimit

(PECL swish >= 0.1.0)

SwishSearch::setLimit — Set the search limits

Beschreibung

void SwishSearch::setLimit ( string $property , string $low , string $high )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Parameter-Liste

property

Search result property name.

low

The lowest value of the property.

high

The highest value of the property.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

Throws SwishException on error.

Beispiele

Beispiel #1 Basic SwishSearch::setLimit() example

<?php
try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("time");
    echo "First query found: ", $results->hits, " hits\n";

    $i = 0;
    while($result = $results->nextResult()) {
        echo "Hit #", ++$i, " - ", $result->swishdocsize, " bytes\n";
    }

    $search->setLimit("swishdocsize", "3000", "6000"); //limit by document size, from 3000 to 6000 bytes
    $results = $search->execute("time");
    echo "Second query found: ", $results->hits, " hits\n";

    $i = 0;
    while($result = $results->nextResult()) {
        echo "Hit #", ++$i, " - ", $result->swishdocsize, " bytes\n";
    }

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

First query found: 5 hits
Hit #1 - 4261 bytes
Hit #2 - 37937 bytes
Hit #3 - 7126 bytes
Hit #4 - 15427 bytes
Hit #5 - 4768 bytes
Second query found: 2 hits
Hit #1 - 4261 bytes
Hit #2 - 4768 bytes

SwishSearch::resetLimit
SwishSearch::setPhraseDelimiter
Swish Funktionen


Set the phrase delimiter

SwishSearch::setLimit
SwishSearch::setSort
Swish Funktionen
PHP Manual

SwishSearch::setPhraseDelimiter

(PECL swish >= 0.1.0)

SwishSearch::setPhraseDelimiter — Set the phrase delimiter

Beschreibung

void SwishSearch::setPhraseDelimiter ( string $delimiter )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Parameter-Liste

delimiter

Phrase delimiter character. The default delimiter is double-quotes.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Basic SwishSearch::setPhraseDelimiter() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute('"every time"'); //looking for "every time"
    echo "First query found: ", $results->hits, " hits\n";

    $search->setPhraseDelimiter("'");
    $results = $search->execute("'every time'"); //the same query, but using different delimiter
    echo "Second query found: ", $results->hits, " hits\n";

    $search->setPhraseDelimiter('"');
    $results = $search->execute("'every time'"); //looking for "every" and "time"
    echo "Third query found: ", $results->hits, " hits\n";

    //let's look at parsed words
    var_dump($results->getParsedWords("index.swish-e"));

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

First query found: 1 hits
Second query found: 1 hits
Third query found: 2 hits
array(2) {
  [0]=>
  string(5) "every"
  [1]=>
  string(4) "time"
}

SwishSearch::setLimit
SwishSearch::setSort
Swish Funktionen


Set the sort order

SwishSearch::setPhraseDelimiter
SwishSearch::setStructure
Swish Funktionen
PHP Manual

SwishSearch::setSort

(PECL swish >= 0.1.0)

SwishSearch::setSort — Set the sort order

Beschreibung

void SwishSearch::setSort ( string $sort )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Parameter-Liste

sort

Sort order of the results is a string containing name of a result property combined with sort direction ("asc" or "desc"). Examples: "swishrank desc", "swishdocpath asc", "swishtitle asc", "swishdocsize desc", "swishlastmodified desc" etc.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Basic SwishSearch::setSort() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("time");
    echo "First query found: ", $results->hits, " hits\n";

    $i = 0;
    while($result = $results->nextResult()) {
        echo "Hit #", ++$i, " - ", $result->swishdocsize, " bytes\n";
    }

    $search->setSort("swishdocsize desc"); //sort by document size
    $results = $search->execute("time");
    echo "Second query found: ", $results->hits, " hits\n";

    $i = 0;
    while($result = $results->nextResult()) {
        echo "Hit #", ++$i, " - ", $result->swishdocsize, " bytes\n";
    }

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

First query found: 5 hits
Hit #1 - 4261 bytes
Hit #2 - 37937 bytes
Hit #3 - 7126 bytes
Hit #4 - 15427 bytes
Hit #5 - 4768 bytes
Second query found: 5 hits
Hit #1 - 37937 bytes
Hit #2 - 15427 bytes
Hit #3 - 7126 bytes
Hit #4 - 4768 bytes
Hit #5 - 4261 bytes

SwishSearch::setPhraseDelimiter
SwishSearch::setStructure
Swish Funktionen


Set the structure flag in the search object

SwishSearch::setSort
Serverspezifische Erweiterungen
Swish Funktionen
PHP Manual

SwishSearch::setStructure

(PECL swish >= 0.1.0)

SwishSearch::setStructure — Set the structure flag in the search object

Beschreibung

void SwishSearch::setStructure ( int $structure )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Parameter-Liste

structure

The structure flag a bitmask is used to limit search to certain parts of HTML documents (like title, meta, body etc.). Its possible values are listed below. To combine several values use bitwise OR operator, see example below.

  • Swish::IN_FILE

  • Swish::IN_TITLE

  • Swish::IN_HEAD

  • Swish::IN_BODY

  • Swish::IN_COMMENTS

  • Swish::IN_HEADER

  • Swish::IN_EMPHASIZED

  • Swish::IN_META

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Basic SwishSearch::setStructure() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("time");
    echo "First query found: ", $results->hits, " hits\n";

    $search->setStructure(Swish::IN_TITLE|Swish::IN_HEAD); //search in title and head
    $results = $search->execute("time");
    echo "Second query found: ", $results->hits, " hits\n";

    $search->setStructure(Swish::IN_ALL); //search in whole document, the default value
    $results = $search->execute("time");
    echo "Third query found: ", $results->hits, " hits\n";

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

First query found: 5 hits
Second query found: 0 hits
Third query found: 5 hits

SwishSearch::setSort
Serverspezifische Erweiterungen
Swish Funktionen


Serverspezifische Erweiterungen

  • Apache
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Apache Funktionen
  • FastCGI Process Manager
    • Einführung
    • Installation/Konfiguration
    • FPM Funktionen
  • IIS — IIS Administration
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • IIS Funktionen
  • NSAPI
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • NSAPI Funktionen
SwishSearch::setStructure
Apache
Funktionsreferenz


Apache

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Apache Funktionen
    • apache_child_terminate — Beendet einen Apacheprozess nach der Anfrage
    • apache_get_modules — Liefert eine Liste der geladenen Apachemodule
    • apache_get_version — Liefert die Apacheversion
    • apache_getenv — Liefert eine Apache-Subprocess_env-Variable
    • apache_lookup_uri — Führt eine Teilanfrage für einen angegebenen URI durch und liefert alle Informationen darüber zurück
    • apache_note — Setzt und liest Apache Request Notes
    • apache_request_headers — Liefert alle HTTP-Requestheader
    • apache_reset_timeout — Setzt den Apache Write-Time zurück
    • apache_response_headers — Liefert alle HTTP-Responseheader
    • apache_setenv — Setzt eine Apache-Subprocess_env-Variable
    • getallheaders — Liefert alle HTTP-Request-Header
    • virtual — Führt eine Apache-Unteranfrage durch
Serverspezifische Erweiterungen
Einführung
Serverspezifische Erweiterungen


Einführung

Diese Funktionen stehen nur zur Verfügung, wenn PHP als Apachemodul läuft.

Hinweis: Seit PHP 4.3.2 ist die Servervariable PATH_TRANSLATED nicht mehr implizit unter der Apache 2 SAPI gesetzt - im Gegensatz zur Situation unter Apache 1, wo die Variable auf den gleichen Wert wie die Servervariable SCRIPT_FILENAME gesetzt wird, wenn sie nicht vom Apache zur Verfügung gestellt wurde. Die Veränderung wurde vorgenommen, um der CGI-Spezifikation zu entsprechen, die festlegt, dass PATH_TRANSLATED nur existieren sollte, wenn PATH_INFO definiert ist. Apache 2-Benutzer können innerhalb der httpd.conf die Direktive AcceptPathInfo = On benutzen, um PATH_INFO zu definieren.

Apache
Installation/Konfiguration
Apache


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Apache


Installation

Informationen zur Installation von PHP unter Apache finden Sie im Kapitel Installation.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten des Apache PHP-Moduls wird durch Einstellungen in der php.ini beeinflusst. Konfigurationseinstellungen aus der php.ini können Sie durch php_flag Einstellungen in der Server Konfigurationsdatei oder lokal in .htaccess Dateien überschreiben.

Beispiel #1 Parsen von PHP für ein Verzeichnis ausschalten mittels .htaccess

php_flag engine off

Apache Konfigurations Optionen
Name | Standard | Veränderbar | Changelog
engine | On | PHP_INI_ALL | Verfügbar seit PHP 4.0.5.
child_terminate | Off | PHP_INI_ALL | Verfügbar seit PHP 4.0.5.
last_modified | Off | PHP_INI_ALL | Verfügbar seit PHP 4.0.5.
xbithack | Off | PHP_INI_ALL | Verfügbar seit PHP 4.0.5.
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

engine boolean

Parsen von PHP ein/-auschalten. Diese Option ist in erster Linie nur sinnvoll, wenn PHP als Modul unter Apache läuft. Sie wird von Seiten benutzt, die den PHP-Parser für bestimmte Verzeichnisse oder virtuelle Server aus- bzw. einschalten wollen. Wenn Sie engine off in den dafür vorgesehenen Blöcken in der httpd.conf Datei benutzen, kann PHP gezielt aktiviert bzw. deaktiviert werden.

child_terminate boolean

Gibt an, ob PHP Skripte veranlassen, dass Kindprozesse nach dem Request beendet werden, siehe auch apache_child_terminate().

last_modified boolean

Das letzte Datum der Änderung des PHP Skripts wird als Last-Modified: header für diesen Request gesendet.

xbithack boolean

Dateien mit gesetztem ausführbaren Bit werden unabhängig von ihrer Dateiendung durch PHP geparst.

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
Apache Funktionen
Apache


Apache Funktionen

Inhaltsverzeichnis

  • apache_child_terminate — Beendet einen Apacheprozess nach der Anfrage
  • apache_get_modules — Liefert eine Liste der geladenen Apachemodule
  • apache_get_version — Liefert die Apacheversion
  • apache_getenv — Liefert eine Apache-Subprocess_env-Variable
  • apache_lookup_uri — Führt eine Teilanfrage für einen angegebenen URI durch und liefert alle Informationen darüber zurück
  • apache_note — Setzt und liest Apache Request Notes
  • apache_request_headers — Liefert alle HTTP-Requestheader
  • apache_reset_timeout — Setzt den Apache Write-Time zurück
  • apache_response_headers — Liefert alle HTTP-Responseheader
  • apache_setenv — Setzt eine Apache-Subprocess_env-Variable
  • getallheaders — Liefert alle HTTP-Request-Header
  • virtual — Führt eine Apache-Unteranfrage durch
Vordefinierte Konstanten
apache_child_terminate
Apache


Beendet einen Apacheprozess nach der Anfrage

Apache Funktionen
apache_get_modules
Apache Funktionen
PHP Manual

apache_child_terminate

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

apache_child_terminate — Beendet einen Apacheprozess nach der Anfrage

Beschreibung

bool apache_child_terminate ( void )

apache_child_terminate() registriert den Apacheprozess, der die aktuelle PHP-Anfrage ausführt, um ihn nach vollständiger Beendigung des PHP-Prozesses zu terminieren. Die Funktion kann verwendet werden, um einen Prozess zu terminieren, nachdem ein Skript mit hohem Speicherverbrauch gelaufen ist, der normalerweise nur intern wieder freigegeben wird, aber nicht wieder für das Betriebsystem freigegeben wird.

Rückgabewerte

Gibt TRUE zurück, wenn PHP als Modul unter Apache 1 läuft, die Apacheversion nicht multithreaded läuft und die PHP-Direktive child_terminate eingeschaltet ist (diese ist standardmäßig ausgeschaltet). Wenn diese Bedingungen nicht zutreffen, wird FALSE zurückgegeben und ein Fehler vom Typ E_WARNING generiert.

Changelog

Version | Beschreibung
5.4.0 | Diese Funktion wurde unter FastCGI verfügbar. Vorher wurde sie nur unterstützt, wenn PHP als Apache Modul installiert war.

Anmerkungen

Hinweis: Diese Funktion ist auf Windows-Plattformen nicht implementiert.

Siehe auch

  • exit() - Gibt eine Meldung aus und beendet das aktuelle Skript

Apache Funktionen
apache_get_modules
Apache Funktionen


Liefert eine Liste der geladenen Apachemodule

apache_child_terminate
apache_get_version
Apache Funktionen
PHP Manual

apache_get_modules

(PHP 4 >= 4.3.2, PHP 5, PHP 7)

apache_get_modules — Liefert eine Liste der geladenen Apachemodule

Beschreibung

array apache_get_modules ( void )

Liefert eine Liste der geladenen Apachemodule.

Rückgabewerte

Ein Array der geladenen Apachemodule.

Changelog

Version | Beschreibung
5.0.0 | Wurde verfügbar mit der Verwendung von Apache 1 oder mit der Apache 2 Filter-API von PHP. Davor war die Funktion nur verfügbar, wenn die Apache 2 Handler-API verwendet wurde.

Beispiele

Beispiel #1 apache_get_modules()-Beispiel

<?php
print_r(apache_get_modules());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [0] => core
    [1] => http_core
    [2] => mod_so
    [3] => sapi_apache2
    [4] => mod_mime
    [5] => mod_rewrite
)

apache_child_terminate
apache_get_version
Apache Funktionen


Liefert die Apacheversion

apache_get_modules
apache_getenv
Apache Funktionen
PHP Manual

apache_get_version

(PHP 4 >= 4.3.2, PHP 5, PHP 7)

apache_get_version — Liefert die Apacheversion

Beschreibung

string apache_get_version ( void )

Holt die Apacheversion.

Rückgabewerte

Gibt bei Erfolg die Apacheversion zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 apache_get_version()-Beispiel

<?php
$version = apache_get_version();
echo "$version\n";
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Apache/1.3.29 (Unix) PHP/4.3.4

Siehe auch

  • phpinfo() - Gibt Informationen zur PHP-Konfiguration aus

apache_get_modules
apache_getenv
Apache Funktionen


Liefert eine Apache-Subprocess_env-Variable

apache_get_version
apache_lookup_uri
Apache Funktionen
PHP Manual

apache_getenv

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

apache_getenv — Liefert eine Apache-Subprocess_env-Variable

Beschreibung

string apache_getenv ( string $variable [, bool $walk_to_top = false ] )

Liefert die durch variable angegebene Apache-Umgebungsvariable.

Diese Funktion erfordert Apache 2, andernfalls ist sie nicht definiert.

Parameter-Liste

variable

Die Apache-Umgebungsvariable

walk_to_top

Legt fest, ob die geholte Toplevel-Variable allen Apache-Layern verfügbar gemacht werden soll.

Rückgabewerte

Der Wert der Apache-Umgebungsvariablen im Erfolgsfall; im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 apache_getenv()-Beispiel

Das folgende Beispiel zeigt, wie man den Wert der Apache-Umgebungsvariablen SERVER_ADDR abfragen kann.

<?php
$ret = apache_getenv("SERVER_ADDR");
echo $ret;
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

42.24.42.240

Siehe auch

  • apache_setenv() - Setzt eine Apache-Subprocess_env-Variable
  • getenv() - Liefert den Wert einer Umgebungsvariable
  • Superglobals

apache_get_version
apache_lookup_uri
Apache Funktionen


Führt eine Teilanfrage für einen angegebenen URI durch und liefert alle Informationen darüber zurück

apache_getenv
apache_note
Apache Funktionen
PHP Manual

apache_lookup_uri

(PHP 4, PHP 5, PHP 7)

apache_lookup_uri — Führt eine Teilanfrage für einen angegebenen URI durch und liefert alle Informationen darüber zurück

Beschreibung

object apache_lookup_uri ( string $filename )

Die Funktion führt eine Teilanfragefür einen URI durch. Diese geht gerade weit genug, um alle wichtigen Informationen über die angegebene Ressource zu erhalten.

Diese Funktion wird unterstützt, wenn PHP als Apache-Modul oder durch das NSAPI-Server-Modul in Netscape/iPlanet/SunONE Webservern installiert wurde.

Parameter-Liste

filename

Der Dateiname (URI), der angefragt wird.

Rückgabewerte

Ein Objekt, das die URI-relevanten Informationen enthält. Die Eigenschaften dieses Objekts sind:

  • status
  • the_request
  • status_line
  • method
  • content_type
  • handler
  • uri
  • filename
  • path_info
  • args
  • boundary
  • no_cache
  • no_local_copy
  • allowed
  • send_bodyct
  • bytes_sent
  • byterange
  • clength
  • unparsed_uri
  • mtime
  • request_time

Beispiele

Beispiel #1 apache_lookup_uri()-Beispiel

<?php
$info = apache_lookup_uri('index.php?var=value');
print_r($info);

if (file_exists($info->filename)) {
    echo 'file exists!';
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

stdClass Object
(
    [status] => 200
    [the_request] => GET /dir/file.php HTTP/1.1
    [method] => GET
    [mtime] => 0
    [clength] => 0
    [chunked] => 0
    [content_type] => application/x-httpd-php
    [no_cache] => 0
    [no_local_copy] => 1
    [unparsed_uri] => /dir/index.php?var=value
    [uri] => /dir/index.php
    [filename] => /home/htdocs/dir/index.php
    [args] => var=value
    [allowed] => 0
    [sent_bodyct] => 0
    [bytes_sent] => 0
    [request_time] => 1074282764
)
file exists!

apache_getenv
apache_note
Apache Funktionen


Setzt und liest Apache Request Notes

apache_lookup_uri
apache_request_headers
Apache Funktionen
PHP Manual

apache_note

(PHP 4, PHP 5, PHP 7)

apache_note — Setzt und liest Apache Request Notes

Beschreibung

string apache_note ( string $note_name [, string $note_value = "" ] )

Diese Funktion ist ein Wrapper für das table_get und table_set von Apache. Sie editiert die Notestabelle, die während eines Requests existiert. Der Sinn dieser Tabelle ist es, die Kommunikation zwischen Apachemodulen zu ermöglichen.

Der primäre Anwendungsfall für apache_note() ist die Übergabe von Informationen von einem Modul an ein anderes während der Abarbeitung eines bestimmten Requests.

Parameter-Liste

note_name

Der Name der Note.

note_value

Der Wert der Note.

Rückgabewerte

Wenn die Funktion mit einem Argument aufgerufen wird, gibt sie den aktuellen Wert der Note note_name zurück. Wird sie mit zwei Argumenten aufgerufen, setzt sie den Wert der Note note_name auf note_value und gibt den vorigen Wert der Note note_name zurück. Wenn die Note nicht angesprochen werden kann, wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Übergeben von Informationen zwischen PHP und Perl

<?php

apache_note('name', 'Fredrik Ekengren');

// Perl-Skript aufrufen
virtual("/perl/some_script.pl");

$result = apache_note("resultdata");
?>
# Hole das Apache Request Objekt
my $r = Apache->request()->main();

# Hole die übergebenen Daten
my $name = $r->notes('name');

# beliebige Verarbeitung

# Reiche das Ergebnis an PHP zurück
$r->notes('resultdata', $result);

Beispiel #2 Werte in access.log loggen

<?php

apache_note('sessionID', session_id());

?>
# "%{sessionID}n" kann in der LogFormat-Direktive verwendet werden

Siehe auch

  • virtual() - Führt eine Apache-Unteranfrage durch

apache_lookup_uri
apache_request_headers
Apache Funktionen


Liefert alle HTTP-Requestheader

apache_note
apache_reset_timeout
Apache Funktionen
PHP Manual

apache_request_headers

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

apache_request_headers — Liefert alle HTTP-Requestheader

Beschreibung

array apache_request_headers ( void )

Liefert alle HTTP-Requestheader von der aktuellen Anfrage.

Rückgabewerte

Ein assoziatives Array aller HTTP-Header der aktuellen Anfrage, im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.5.7 | Diese Funktion wurde im CLI Server verfügbar.
5.4.0 | Diese Funktion wurde unter FastCGI verfügbar. Vorher wurde sie nur unterstützt, wenn PHP als Apache Modul installiert war, oder durch das NSAPI Server-Module in Netscape/iPlanet/SunONE Webservern..

Beispiele

Beispiel #1 apache_request_headers()-Beispiel

<?php
$headers = apache_request_headers();

foreach ($headers as $header => $value) {
    echo "$header: $value <br />\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Accept: */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0
Host: www.example.com
Connection: Keep-Alive

Anmerkungen

Hinweis:

Die Werte der gebräuchlichsten CGI-Variablen können Sie auch durch das Auslesen der Umgebungsvariablen erhalten. Dieser Weg funktioniert unabhängig davon, ob Sie PHP als Modul für Apache benutzen. Verwenden Sie phpinfo(), um eine Liste aller zur Verfügung stehenden Umgebungsvariablen zu erhalten.

Siehe auch

  • apache_response_headers() - Liefert alle HTTP-Responseheader

apache_note
apache_reset_timeout
Apache Funktionen


Setzt den Apache Write-Time zurück

apache_request_headers
apache_response_headers
Apache Funktionen
PHP Manual

apache_reset_timeout

(PHP 5 >= 5.1.0, PHP 7)

apache_reset_timeout — Setzt den Apache Write-Time zurück

Beschreibung

bool apache_reset_timeout ( void )

apache_reset_timeout() setzt den Apache Write-Timer zurück, der standardmäßig auf 300 Sekunden eingestellt ist. Mit set_time_limit(0); ignore_user_abort(true) und periodischen apache_reset_timeout()-Aufrufen kann Apache theoretisch dauerhaft laufen.

Diese Funktion erfordert Apache 1.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Hinweis: Diese Funktion steht im Safe Mode nicht zur Verfügung.

Siehe auch

  • set_time_limit() - Beschränkt die maximale Ausführungszeit
  • ignore_user_abort() - Stellt ein, ob der Verbindungsabbruch eines Clients die Skript-Ausführung abbrechen soll

apache_request_headers
apache_response_headers
Apache Funktionen


Liefert alle HTTP-Responseheader

apache_reset_timeout
apache_setenv
Apache Funktionen
PHP Manual

apache_response_headers

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

apache_response_headers — Liefert alle HTTP-Responseheader

Beschreibung

array apache_response_headers ( void )

Liefert alle HTTP-Responseheader.

Rückgabewerte

Ein Array aller Apache-Responseheader im Erfolgsfall. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.5.7 | Diese Funktion wurde im CLI Server verfügbar.
5.4.0 | Diese Funktion wurde unter FastCGI verfügbar. Vorher wurde sie nur unterstützt, wenn PHP als Apache Modul installiert war, oder durch das NSAPI Server-Module in Netscape/iPlanet/SunONE Webservern.

Beispiele

Beispiel #1 apache_response_headers()-Beispiel

<?php
print_r(apache_response_headers());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [Accept-Ranges] => bytes
    [X-Powered-By] => PHP/4.3.8
)

Siehe auch

  • apache_request_headers() - Liefert alle HTTP-Requestheader
  • headers_sent() - Prüft, ob oder wo die Header bereits gesendet wurden
  • headers_list() - Gibt eine Liste der gesendeten (oder zum Senden vorbereiteten) Response Header zurück

apache_reset_timeout
apache_setenv
Apache Funktionen


Setzt eine Apache-Subprocess_env-Variable

apache_response_headers
getallheaders
Apache Funktionen
PHP Manual

apache_setenv

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

apache_setenv — Setzt eine Apache-Subprocess_env-Variable

Beschreibung

bool apache_setenv ( string $variable , string $value [, bool $walk_to_top = false ] )

apache_setenv() setzt den Wert der Apache-Umgebungsvariable, die mit variable angegeben wurde.

Hinweis:

Wenn eine Apache-Umgebungsvariable verändert wird, ändert sich die korrespondierende $_SERVER-Variable nicht.

Parameter-Liste

variable

Die neu zu setzende Umgebungsvariable.

value

Der neue Wert von variable.

walk_to_top

Legt fest, ob die gesetzte Toplevel-Variable für alle Apachelayer verfügbar gemacht werden soll.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Eine Apache-Umgebungsvariable mit apache_setenv() setzen

<?php
apache_setenv("BEISPIEL_VAR", "Beispielwert");
?>

Anmerkungen

Hinweis:

apache_setenv() kann mit apache_getenv() über mehrere unabhängige Seiten hinweg kombiniert werden. Es ist außerdem möglich, Variablen zu setzen, die an in PHP-Skripte einzubindende Server Side Includes (SSI, .shtml) übergeben werden.

Siehe auch

  • apache_getenv() - Liefert eine Apache-Subprocess_env-Variable

apache_response_headers
getallheaders
Apache Funktionen


Liefert alle HTTP-Request-Header

apache_setenv
virtual
Apache Funktionen
PHP Manual

getallheaders

(PHP 4, PHP 5, PHP 7)

getallheaders — Liefert alle HTTP-Request-Header

Beschreibung

array getallheaders ( void )

Liefert alle HTTP-Header des aktuellen Requests.

Diese Funktion ist ein Alias für apache_request_headers(). Bitte lesen Sie die Dokumentation zu apache_request_headers(), wenn Sie mehr Informationen darüber benötigen, wie die Funktion arbeitet.

Rückgabewerte

Ein assoziatives Array aller HTTP-Header der aktuellen Anfrage; im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.5.7 | Diese Funktion wurde im CLI Server verfügbar.
5.4.0 | Diese Funktion wurde unter FastCGI verfügbar. Vorher wurde sie nur unterstützt, wenn PHP als Apache Modul installiert war, oder durch das NSAPI Server-Module in Netscape/iPlanet/SunONE Webservern.

Beispiele

Beispiel #1 getallheaders()-Beispiel

<?php

foreach (getallheaders() as $name => $value) {
    echo "$name: $value\n";
}

?>

Siehe auch

  • apache_response_headers() - Liefert alle HTTP-Responseheader

apache_setenv
virtual
Apache Funktionen


Führt eine Apache-Unteranfrage durch

getallheaders
FastCGI Process Manager
Apache Funktionen
PHP Manual

virtual

(PHP 4, PHP 5, PHP 7)

virtual — Führt eine Apache-Unteranfrage durch

Beschreibung

bool virtual ( string $filename )

virtual() ist eine apachespezifische Funktion ähnlich wie <!--#include virtual...--> in mod_include. Sie führt eine Apache-Unteranfrage aus. Dies ist hilfreich, wenn man CGI-Skripte oder .shtml-Dateien oder irgendetwas anderes einbinden will, das Sie vom Apache parsen lassen möchten. Beachten Sie bei CGI-Skripten, dass diese valide CGI-Header erzeugen. Dies bedeutet, dass zumindest der Content-Type-Header generiert werden muss.

Um die Unteranfrage auszuführen, werden alle Buffer beendet und der Inhalt an den Browser ausgegeben. Anstehende Header werden ebenfalls abgeschickt.

Diese Funktion wird unterstützt, wenn PHP als Apache-Modul oder durch das NSAPI-Server-Modul in Netscape/iPlanet/SunONE Webservern installiert wurde.

Parameter-Liste

filename

Die Datei, die das virtuelle Kommando ausführen soll.

Rückgabewerte

Führt bei Erfolg ein virtuelles Kommando aus, im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Ein passendes Beispiel finden Sie unter apache_note().

Anmerkungen

Warnung

Der Querystring kann an das eingebundene File übergeben werden, aber $_GET wird vom Elternskript kopiert und nur $_SERVER['QUERY_STRING'] wird mit dem übergebenen Querystring befüllt. Der Querystring kann nur übergeben werden, wenn Apache 2 verwendet wird. Die angeforderte Datei wird nicht im Zugriffslog des Apache aufgeführt.

Hinweis:

Umgebungsvariablen, die in der aufgerufenen Datei gesetzt werden, sind nicht für das aufrufende Skript sichtbar.

Hinweis:

Diese Funktion kann auf PHP-Dateien angewendet werden. Es ist allerdings deutlich sinnvoller, in diesem Fall die Funktionen include oder require zu verwenden.

Siehe auch

  • apache_note() - Setzt und liest Apache Request Notes

getallheaders
FastCGI Process Manager
Apache Funktionen


FastCGI Process Manager

  • Einführung
  • Installation/Konfiguration
  • FPM Funktionen
    • fastcgi_finish_request — Flushes all response data to the client
virtual
Einführung
Serverspezifische Erweiterungen


Einführung

FPM (FastCGI Process Manager) is an alternative PHP FastCGI implementation with some additional features (mostly) useful for heavy-loaded sites.

This SAPI is bundled with PHP 5.3.3 and later.

FastCGI Process Manager
Installation/Konfiguration
FastCGI Process Manager


Installation/Konfiguration

Information on installing and configuring FPM can be found in the installation and configuration section of the PHP manual.

Einführung
FPM Funktionen
FastCGI Process Manager


FPM Funktionen

Inhaltsverzeichnis

  • fastcgi_finish_request — Flushes all response data to the client
Installation/Konfiguration
fastcgi_finish_request
FastCGI Process Manager


Flushes all response data to the client

FPM Funktionen
IIS
FPM Funktionen
PHP Manual

fastcgi_finish_request

(PHP 5 >= 5.3.3, PHP 7)

fastcgi_finish_request — Flushes all response data to the client

Beschreibung

boolean fastcgi_finish_request ( void )

This function flushes all response data to the client and finishes the request. This allows for time consuming tasks to be performed without leaving the connection to the client open.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

FPM Funktionen
IIS
FPM Funktionen


IIS Administration

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • IIS Funktionen
    • iis_add_server — Creates a new virtual web server
    • iis_get_dir_security — Gets Directory Security
    • iis_get_script_map — Gets script mapping on a virtual directory for a specific extension
    • iis_get_server_by_comment — Return the instance number associated with the Comment
    • iis_get_server_by_path — Return the instance number associated with the Path
    • iis_get_server_rights — Gets server rights
    • iis_get_service_state — Returns the state for the service defined by ServiceId
    • iis_remove_server — Removes the virtual web server indicated by ServerInstance
    • iis_set_app_settings — Creates application scope for a virtual directory
    • iis_set_dir_security — Sets Directory Security
    • iis_set_script_map — Sets script mapping on a virtual directory
    • iis_set_server_rights — Sets server rights
    • iis_start_server — Starts the virtual web server
    • iis_start_service — Starts the service defined by ServiceId
    • iis_stop_server — Stops the virtual web server
    • iis_stop_service — Stops the service defined by ServiceId
fastcgi_finish_request
Einführung
Serverspezifische Erweiterungen


Einführung

This extension is available for Win32 only. It provides functions to administrate Microsoft Internet Information Server (IIS). The extension includes function to create web sites and virtual directories as well as configuring security and script mapping.

IIS
Installation/Konfiguration
IIS


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
IIS


Installation

Diese Erweiterung wird als nicht mehr gepflegt betrachtet und es gibt dort keine Aktivität mehr. Der Quellcode für diese Erweiterung steht jedoch weiterhin innerhalb des PECL SVN hier zur Verfügung: » http://svn.php.net/viewvc/pecl/iisfunc.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

IIS_READ (integer)
IIS_WRITE (integer)
IIS_EXECUTE (integer)
IIS_SCRIPT (integer)
IIS_ANONYMOUS (integer)
IIS_BASIC (integer)
IIS_NTLM (integer)
IIS_STARTING (integer)
IIS_STOPPED (integer)
IIS_PAUSED (integer)
IIS_RUNNING (integer)
Ressource-Typen
IIS Funktionen
IIS


IIS Funktionen

Inhaltsverzeichnis

  • iis_add_server — Creates a new virtual web server
  • iis_get_dir_security — Gets Directory Security
  • iis_get_script_map — Gets script mapping on a virtual directory for a specific extension
  • iis_get_server_by_comment — Return the instance number associated with the Comment
  • iis_get_server_by_path — Return the instance number associated with the Path
  • iis_get_server_rights — Gets server rights
  • iis_get_service_state — Returns the state for the service defined by ServiceId
  • iis_remove_server — Removes the virtual web server indicated by ServerInstance
  • iis_set_app_settings — Creates application scope for a virtual directory
  • iis_set_dir_security — Sets Directory Security
  • iis_set_script_map — Sets script mapping on a virtual directory
  • iis_set_server_rights — Sets server rights
  • iis_start_server — Starts the virtual web server
  • iis_start_service — Starts the service defined by ServiceId
  • iis_stop_server — Stops the virtual web server
  • iis_stop_service — Stops the service defined by ServiceId
Vordefinierte Konstanten
iis_add_server
IIS


Creates a new virtual web server

IIS Funktionen
iis_get_dir_security
IIS Funktionen
PHP Manual

iis_add_server

(PECL iisfunc SVN)

iis_add_server — Creates a new virtual web server

Beschreibung

int iis_add_server ( string $path , string $comment , string $server_ip , int $port , string $host_name , int $rights , int $start_server )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

IIS Funktionen
iis_get_dir_security
IIS Funktionen


Gets Directory Security

iis_add_server
iis_get_script_map
IIS Funktionen
PHP Manual

iis_get_dir_security

(PECL iisfunc SVN)

iis_get_dir_security — Gets Directory Security

Beschreibung

int iis_get_dir_security ( int $server_instance , string $virtual_path )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

iis_add_server
iis_get_script_map
IIS Funktionen


Gets script mapping on a virtual directory for a specific extension

iis_get_dir_security
iis_get_server_by_comment
IIS Funktionen
PHP Manual

iis_get_script_map

(PECL iisfunc SVN)

iis_get_script_map — Gets script mapping on a virtual directory for a specific extension

Beschreibung

string iis_get_script_map ( int $server_instance , string $virtual_path , string $script_extension )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

iis_get_dir_security
iis_get_server_by_comment
IIS Funktionen


Return the instance number associated with the Comment

iis_get_script_map
iis_get_server_by_path
IIS Funktionen
PHP Manual

iis_get_server_by_comment

(PECL iisfunc SVN)

iis_get_server_by_comment — Return the instance number associated with the Comment

Beschreibung

int iis_get_server_by_comment ( string $comment )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

iis_get_script_map
iis_get_server_by_path
IIS Funktionen


Return the instance number associated with the Path

iis_get_server_by_comment
iis_get_server_rights
IIS Funktionen
PHP Manual

iis_get_server_by_path

(PECL iisfunc SVN)

iis_get_server_by_path — Return the instance number associated with the Path

Beschreibung

int iis_get_server_by_path ( string $path )

Each virtual server in IIS is associated with an instance number. iis_get_server_by_path() finds the instance number from the actual path to the root directory.

Parameter-Liste

path

The path to the root directory

Rückgabewerte

Returns the server instance number.

iis_get_server_by_comment
iis_get_server_rights
IIS Funktionen


Gets server rights

iis_get_server_by_path
iis_get_service_state
IIS Funktionen
PHP Manual

iis_get_server_rights

(PECL iisfunc SVN)

iis_get_server_rights — Gets server rights

Beschreibung

int iis_get_server_rights ( int $server_instance , string $virtual_path )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

iis_get_server_by_path
iis_get_service_state
IIS Funktionen


Returns the state for the service defined by ServiceId

iis_get_server_rights
iis_remove_server
IIS Funktionen
PHP Manual

iis_get_service_state

(PECL iisfunc SVN)

iis_get_service_state — Returns the state for the service defined by ServiceId

Beschreibung

int iis_get_service_state ( string $service_id )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

iis_get_server_rights
iis_remove_server
IIS Funktionen


Removes the virtual web server indicated by ServerInstance

iis_get_service_state
iis_set_app_settings
IIS Funktionen
PHP Manual

iis_remove_server

(PECL iisfunc SVN)

iis_remove_server — Removes the virtual web server indicated by ServerInstance

Beschreibung

int iis_remove_server ( int $server_instance )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

iis_get_service_state
iis_set_app_settings
IIS Funktionen


Creates application scope for a virtual directory

iis_remove_server
iis_set_dir_security
IIS Funktionen
PHP Manual

iis_set_app_settings

(PECL iisfunc SVN)

iis_set_app_settings — Creates application scope for a virtual directory

Beschreibung

int iis_set_app_settings ( int $server_instance , string $virtual_path , string $application_scope )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

iis_remove_server
iis_set_dir_security
IIS Funktionen


Sets Directory Security

iis_set_app_settings
iis_set_script_map
IIS Funktionen
PHP Manual

iis_set_dir_security

(PECL iisfunc SVN)

iis_set_dir_security — Sets Directory Security

Beschreibung

int iis_set_dir_security ( int $server_instance , string $virtual_path , int $directory_flags )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

iis_set_app_settings
iis_set_script_map
IIS Funktionen


Sets script mapping on a virtual directory

iis_set_dir_security
iis_set_server_rights
IIS Funktionen
PHP Manual

iis_set_script_map

(PECL iisfunc SVN)

iis_set_script_map — Sets script mapping on a virtual directory

Beschreibung

int iis_set_script_map ( int $server_instance , string $virtual_path , string $script_extension , string $engine_path , int $allow_scripting )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

iis_set_dir_security
iis_set_server_rights
IIS Funktionen


Sets server rights

iis_set_script_map
iis_start_server
IIS Funktionen
PHP Manual

iis_set_server_rights

(PECL iisfunc SVN)

iis_set_server_rights — Sets server rights

Beschreibung

int iis_set_server_rights ( int $server_instance , string $virtual_path , int $directory_flags )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

iis_set_script_map
iis_start_server
IIS Funktionen


Starts the virtual web server

iis_set_server_rights
iis_start_service
IIS Funktionen
PHP Manual

iis_start_server

(PECL iisfunc SVN)

iis_start_server — Starts the virtual web server

Beschreibung

int iis_start_server ( int $server_instance )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

iis_set_server_rights
iis_start_service
IIS Funktionen


Starts the service defined by ServiceId

iis_start_server
iis_stop_server
IIS Funktionen
PHP Manual

iis_start_service

(PECL iisfunc SVN)

iis_start_service — Starts the service defined by ServiceId

Beschreibung

int iis_start_service ( string $service_id )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

iis_start_server
iis_stop_server
IIS Funktionen


Stops the virtual web server

iis_start_service
iis_stop_service
IIS Funktionen
PHP Manual

iis_stop_server

(PECL iisfunc SVN)

iis_stop_server — Stops the virtual web server

Beschreibung

int iis_stop_server ( int $server_instance )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

iis_start_service
iis_stop_service
IIS Funktionen


Stops the service defined by ServiceId

iis_stop_server
NSAPI
IIS Funktionen
PHP Manual

iis_stop_service

(PECL iisfunc SVN)

iis_stop_service — Stops the service defined by ServiceId

Beschreibung

int iis_stop_service ( string $service_id )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

iis_stop_server
NSAPI
IIS Funktionen


NSAPI

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • NSAPI Funktionen
    • nsapi_request_headers — Fetch all HTTP request headers
    • nsapi_response_headers — Fetch all HTTP response headers
    • nsapi_virtual — Perform an NSAPI sub-request
iis_stop_service
Einführung
Serverspezifische Erweiterungen


Einführung

These functions are only available when running PHP as a NSAPI module in Netscape/iPlanet/Sun webservers.

NSAPI
Installation/Konfiguration
NSAPI


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
NSAPI


Installation

For PHP installation on Netscape/iPlanet/Sun webservers see the NSAPI section (UNIX, Windows) in the installation chapter.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

The behaviour of the NSAPI PHP module is affected by settings in php.ini. Configuration settings from php.ini may be overridden by additional parameters to the php4_execute call in obj.conf

NSAPI configuration options
Name | Standard | Veränderbar | Changelog
nsapi.read_timeout | "60" | PHP_INI_ALL | Available since PHP 4.3.3.
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

nsapi.read_timeout integer

Sets the time in seconds the plugin is waiting for POST data from the client.

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
NSAPI Funktionen
NSAPI


NSAPI Funktionen

Siehe auch

NSAPI implements a subset of the functions from the Apache module for maximum compatibility.

Apache functions implemented by NSAPI
Apache function (only as alias) | NSAPI function | Description
apache_request_headers() | nsapi_request_headers() | Fetch all HTTP request headers
apache_response_headers() | nsapi_response_headers() | Fetch all HTTP response headers
getallheaders() | nsapi_request_headers() | Fetch all HTTP request headers
virtual() | nsapi_virtual() | Make NSAPI sub-request

Inhaltsverzeichnis

  • nsapi_request_headers — Fetch all HTTP request headers
  • nsapi_response_headers — Fetch all HTTP response headers
  • nsapi_virtual — Perform an NSAPI sub-request
Vordefinierte Konstanten
nsapi_request_headers
NSAPI


Fetch all HTTP request headers

NSAPI Funktionen
nsapi_response_headers
NSAPI Funktionen
PHP Manual

nsapi_request_headers

(PHP 4 >= 4.3.3, PHP 5, PHP 7)

nsapi_request_headers — Fetch all HTTP request headers

Beschreibung

array nsapi_request_headers ( void )

nsapi_request_headers() gets all the HTTP headers in the current request. This is only supported when PHP runs as a NSAPI module.

Hinweis:

Prior to PHP 4.3.3, getallheaders() was only available for the Apache servers. After PHP 4.3.3, getallheaders() is an alias for nsapi_request_headers() if you use the NSAPI module.

Hinweis:

You can also get at the value of the common CGI variables by reading them from the $_SERVER superglobal, which works whether or not you are using PHP as a NSAPI module.

Rückgabewerte

Returns an associative array with all the HTTP headers.

Beispiele

Beispiel #1 nsapi_request_headers() example

<?php
$headers = nsapi_request_headers();

foreach ($headers as $header => $value) {
  echo "$header: $value <br />\n";
}
?>

NSAPI Funktionen
nsapi_response_headers
NSAPI Funktionen


Fetch all HTTP response headers

nsapi_request_headers
nsapi_virtual
NSAPI Funktionen
PHP Manual

nsapi_response_headers

(PHP 4 >= 4.3.3, PHP 5, PHP 7)

nsapi_response_headers — Fetch all HTTP response headers

Beschreibung

array nsapi_response_headers ( void )

Gets all the NSAPI response headers.

Rückgabewerte

Returns an associative array with all the NSAPI response headers.

Siehe auch

  • nsapi_request_headers() - Fetch all HTTP request headers
  • headers_sent() - Prüft, ob oder wo die Header bereits gesendet wurden

nsapi_request_headers
nsapi_virtual
NSAPI Funktionen


Perform an NSAPI sub-request

nsapi_response_headers
Session-Erweiterungen
NSAPI Funktionen
PHP Manual

nsapi_virtual

(PHP 4 >= 4.3.3, PHP 5, PHP 7)

nsapi_virtual — Perform an NSAPI sub-request

Beschreibung

bool nsapi_virtual ( string $uri )

nsapi_virtual() is an NSAPI-specific function which is equivalent to <!--#include virtual...--> in SSI (.shtml files). It does an NSAPI sub-request. It is useful for including CGI scripts or .shtml files, or anything else that you'd parse through webserver.

To run the sub-request, all buffers are terminated and flushed to the browser, pending headers are sent too.

You cannot make recursive requests with this function to other PHP scripts. If you want to include PHP scripts, use include or require.

Hinweis:

This function depends on a undocumented feature of the Netscape/iPlanet/Sun webservers. Use phpinfo() to determine if it is available. In the Unix environment it should always work, in Windows it depends on the name of a ns-httpdXX.dll file.

Read the note about subrequests in the NSAPI section (UNIX, Windows) if you experience this problem.

Parameter-Liste

uri

The URI of the script.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

nsapi_response_headers
Session-Erweiterungen
NSAPI Funktionen


Session-Erweiterungen

  • msession — Mohawk Software Session Handler-Funktionen
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • msession-Funktionen
  • Sessions — Sessionbehandlung
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Session-Upload-Fortschritt
    • Sessions und Sicherheit
    • Session-Funktionen
    • SessionHandler — The SessionHandler class
    • SessionHandlerInterface — The SessionHandlerInterface class
  • Session PgSQL — PostgreSQL Session Save Handler
    • Einführung
    • Installation/Konfiguration
    • Table definitions
    • Vordefinierte Konstanten
    • Session PgSQL Funktionen
nsapi_virtual
msession
Funktionsreferenz


Mohawk Software Session Handler-Funktionen

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • msession-Funktionen
    • msession_connect — Baut eine Verbindung zum msession-Server auf
    • msession_count — Gibt die Session-Zahl zurück
    • msession_create — Erstellt eine Session
    • msession_destroy — Zerstört eine Session
    • msession_disconnect — Schließt eine Verbindung zum msession-Server
    • msession_find — Sucht nach Sessions mit Name und Wert
    • msession_get_array — Gibt ein Array mit msession-Variablen zurück
    • msession_get_data — Get data session unstructured data
    • msession_get — Gibt einen Wert aus der Session zurück
    • msession_inc — Erhöht einen Wert innerhalb einer Session
    • msession_list — Liste aller Sessions
    • msession_listvar — Liste aller Sessions, die eine bestimmte Variable enthalten
    • msession_lock — Sperrt eine Session
    • msession_plugin — Ruft eine Escape-Funktion innerhalb des msession-Personality-Plugins auf
    • msession_randstr — Gibt eine Zufallszeichenkette zurück
    • msession_set_array — Setzt msession-Variablen aus einem Array
    • msession_set_data — Set data session unstructured data
    • msession_set — Setzt einen Wert in der Session
    • msession_timeout — Setzt/liefert Session-Timeout
    • msession_uniq — Gibt eine eindeutige ID zurück
    • msession_unlock — Entsperrt eine Session
Session-Erweiterungen
Einführung
Session-Erweiterungen


Einführung

Die msession-Extension ist eine Schnittstelle zu einem schnellen Sessionserver, der entweder lokal oder auf einer anderen Maschine eingesetzt werden kann. Msession wurde entworfen, um konsistentes Sessionmanagement für PHP-Webserverfarmen zu ermöglichen. Mehr Information zur msession-Serversoftware finden Sie unter » http://www.mohawksoft.org/?q=node/8.

Hinweis: Diese Erweiterung steht auf Windows-Betriebssystemen nicht zur Verfügung.

Hinweis:

Diese Erweiterung wurde ins » PECL-Repositorium verschoben und ist nicht mehr Teil von PHP ab PHP 5.1.3.

msession
Installation/Konfiguration
msession


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
msession


Installation

Diese Erweiterung wird als nicht mehr gepflegt betrachtet und es gibt dort keine Aktivität mehr. Der Quellcode für diese Erweiterung steht jedoch weiterhin innerhalb des PECL SVN hier zur Verfügung: » http://svn.php.net/viewvc/pecl/msession.

Diese Erweiterung wurde ins » PECL-Repositorium verschoben und ist nicht mehr Teil von PHP ab PHP 5.1.3

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
msession-Funktionen
msession


msession-Funktionen

Inhaltsverzeichnis

  • msession_connect — Baut eine Verbindung zum msession-Server auf
  • msession_count — Gibt die Session-Zahl zurück
  • msession_create — Erstellt eine Session
  • msession_destroy — Zerstört eine Session
  • msession_disconnect — Schließt eine Verbindung zum msession-Server
  • msession_find — Sucht nach Sessions mit Name und Wert
  • msession_get_array — Gibt ein Array mit msession-Variablen zurück
  • msession_get_data — Get data session unstructured data
  • msession_get — Gibt einen Wert aus der Session zurück
  • msession_inc — Erhöht einen Wert innerhalb einer Session
  • msession_list — Liste aller Sessions
  • msession_listvar — Liste aller Sessions, die eine bestimmte Variable enthalten
  • msession_lock — Sperrt eine Session
  • msession_plugin — Ruft eine Escape-Funktion innerhalb des msession-Personality-Plugins auf
  • msession_randstr — Gibt eine Zufallszeichenkette zurück
  • msession_set_array — Setzt msession-Variablen aus einem Array
  • msession_set_data — Set data session unstructured data
  • msession_set — Setzt einen Wert in der Session
  • msession_timeout — Setzt/liefert Session-Timeout
  • msession_uniq — Gibt eine eindeutige ID zurück
  • msession_unlock — Entsperrt eine Session
Vordefinierte Konstanten
msession_connect
msession


Baut eine Verbindung zum msession-Server auf

msession-Funktionen
msession_count
msession-Funktionen
PHP Manual

msession_connect

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_connect — Baut eine Verbindung zum msession-Server auf

Beschreibung

bool msession_connect ( string $host , string $port )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

msession-Funktionen
msession_count
msession-Funktionen


Gibt die Session-Zahl zurück

msession_connect
msession_create
msession-Funktionen
PHP Manual

msession_count

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_count — Gibt die Session-Zahl zurück

Beschreibung

int msession_count ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

msession_connect
msession_create
msession-Funktionen


Erstellt eine Session

msession_count
msession_destroy
msession-Funktionen
PHP Manual

msession_create

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_create — Erstellt eine Session

Beschreibung

bool msession_create ( string $session [, string $classname [, string $data ]] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

msession_count
msession_destroy
msession-Funktionen


Zerstört eine Session

msession_create
msession_disconnect
msession-Funktionen
PHP Manual

msession_destroy

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_destroy — Zerstört eine Session

Beschreibung

bool msession_destroy ( string $name )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

msession_create
msession_disconnect
msession-Funktionen


Schließt eine Verbindung zum msession-Server

msession_destroy
msession_find
msession-Funktionen
PHP Manual

msession_disconnect

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_disconnect — Schließt eine Verbindung zum msession-Server

Beschreibung

void msession_disconnect ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

msession_destroy
msession_find
msession-Funktionen


Sucht nach Sessions mit Name und Wert

msession_disconnect
msession_get_array
msession-Funktionen
PHP Manual

msession_find

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_find — Sucht nach Sessions mit Name und Wert

Beschreibung

array msession_find ( string $name , string $value )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

msession_disconnect
msession_get_array
msession-Funktionen


Gibt ein Array mit msession-Variablen zurück

msession_find
msession_get_data
msession-Funktionen
PHP Manual

msession_get_array

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_get_array — Gibt ein Array mit msession-Variablen zurück

Beschreibung

array msession_get_array ( string $session )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

msession_find
msession_get_data
msession-Funktionen


Get data session unstructured data

msession_get_array
msession_get
msession-Funktionen
PHP Manual

msession_get_data

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_get_data — Get data session unstructured data

Beschreibung

string msession_get_data ( string $session )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

msession_get_array
msession_get
msession-Funktionen


Gibt einen Wert aus der Session zurück

msession_get_data
msession_inc
msession-Funktionen
PHP Manual

msession_get

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_get — Gibt einen Wert aus der Session zurück

Beschreibung

string msession_get ( string $session , string $name , string $value )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

msession_get_data
msession_inc
msession-Funktionen


Erhöht einen Wert innerhalb einer Session

msession_get
msession_list
msession-Funktionen
PHP Manual

msession_inc

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_inc — Erhöht einen Wert innerhalb einer Session

Beschreibung

string msession_inc ( string $session , string $name )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

msession_get
msession_list
msession-Funktionen


Liste aller Sessions

msession_inc
msession_listvar
msession-Funktionen
PHP Manual

msession_list

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_list — Liste aller Sessions

Beschreibung

array msession_list ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

msession_inc
msession_listvar
msession-Funktionen


Liste aller Sessions, die eine bestimmte Variable enthalten

msession_list
msession_lock
msession-Funktionen
PHP Manual

msession_listvar

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_listvar — Liste aller Sessions, die eine bestimmte Variable enthalten

Beschreibung

array msession_listvar ( string $name )

Die Funktion session_listvar() kann zur Suche von Sessions mit gemeinsamen Attributen genutzt werden.

Parameter-Liste

name

Der zu suchende Name.

Rückgabewerte

Liefert ein assoziatives Array mit Wert/Session Paaren für alle Sessions in denen eine Variable mit Namen name enthalten ist.

msession_list
msession_lock
msession-Funktionen


Sperrt eine Session

msession_listvar
msession_plugin
msession-Funktionen
PHP Manual

msession_lock

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_lock — Sperrt eine Session

Beschreibung

int msession_lock ( string $name )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

msession_listvar
msession_plugin
msession-Funktionen


Ruft eine Escape-Funktion innerhalb des msession-Personality-Plugins auf

msession_lock
msession_randstr
msession-Funktionen
PHP Manual

msession_plugin

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_plugin — Ruft eine Escape-Funktion innerhalb des msession-Personality-Plugins auf

Beschreibung

string msession_plugin ( string $session , string $val [, string $param ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

msession_lock
msession_randstr
msession-Funktionen


Gibt eine Zufallszeichenkette zurück

msession_plugin
msession_set_array
msession-Funktionen
PHP Manual

msession_randstr

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_randstr — Gibt eine Zufallszeichenkette zurück

Beschreibung

string msession_randstr ( int $param )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

msession_plugin
msession_set_array
msession-Funktionen


Setzt msession-Variablen aus einem Array

msession_randstr
msession_set_data
msession-Funktionen
PHP Manual

msession_set_array

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_set_array — Setzt msession-Variablen aus einem Array

Beschreibung

void msession_set_array ( string $session , array $tuples )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

msession_randstr
msession_set_data
msession-Funktionen


Set data session unstructured data

msession_set_array
msession_set
msession-Funktionen
PHP Manual

msession_set_data

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_set_data — Set data session unstructured data

Beschreibung

bool msession_set_data ( string $session , string $value )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

msession_set_array
msession_set
msession-Funktionen


Setzt einen Wert in der Session

msession_set_data
msession_timeout
msession-Funktionen
PHP Manual

msession_set

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_set — Setzt einen Wert in der Session

Beschreibung

bool msession_set ( string $session , string $name , string $value )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

msession_set_data
msession_timeout
msession-Funktionen


Setzt/liefert Session-Timeout

msession_set
msession_uniq
msession-Funktionen
PHP Manual

msession_timeout

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_timeout — Setzt/liefert Session-Timeout

Beschreibung

int msession_timeout ( string $session [, int $param ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

msession_set
msession_uniq
msession-Funktionen


Gibt eine eindeutige ID zurück

msession_timeout
msession_unlock
msession-Funktionen
PHP Manual

msession_uniq

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_uniq — Gibt eine eindeutige ID zurück

Beschreibung

string msession_uniq ( int $param [, string $classname [, string $data ]] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

msession_timeout
msession_unlock
msession-Funktionen


Entsperrt eine Session

msession_uniq
Sessions
msession-Funktionen
PHP Manual

msession_unlock

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_unlock — Entsperrt eine Session

Beschreibung

int msession_unlock ( string $session , int $key )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

msession_uniq
Sessions
msession-Funktionen


Sessionbehandlung

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • Grundlegende Anwendung
    • Übermittlung der Session-ID
    • Individuelle Session-Routinen
  • Session-Upload-Fortschritt
  • Sessions und Sicherheit
  • Session-Funktionen
    • session_abort — Discard session array changes and finish session
    • session_cache_expire — Liefert die aktuelle Cache-Verfallszeit
    • session_cache_limiter — Liefert und/oder setzt die aktuelle Cacheverwaltung
    • session_commit — Alias von session_write_close
    • session_create_id — Create new session id
    • session_decode — Dekodiert die Daten einer Session aus einer session-kodierten Zeichenkette
    • session_destroy — Löscht alle in einer Session registrierten Daten
    • session_encode — Kodiert die Daten der aktuellen Session als session-kodierte Zeichenkette
    • session_gc — Perform session data garbage collection
    • session_get_cookie_params — Liefert die Session-Cookie Parameter
    • session_id — Liefert und/oder setzt die aktuelle Session-ID
    • session_is_registered — Überprüft, ob eine globale Variable in einer Session registriert ist
    • session_module_name — Liefert und/oder setzt das aktuelle Session-Modul
    • session_name — Liefert und/oder setzt den Namen der aktuellen Session
    • session_regenerate_id — Ersetzt die aktuelle Session-ID durch eine neu erzeugte
    • session_register_shutdown — Funktion zum Schließen von Sitzungen
    • session_register — Registriert eine oder mehrere globale Variablen in der aktuellen Session
    • session_reset — Re-initialize session array with original values
    • session_save_path — Liefert und/oder setzt den aktuellen Speicherpfad der Session
    • session_set_cookie_params — Setzt die Session-Cookie-Parameter
    • session_set_save_handler — Setzt benutzerdefinierte Session-Speicherfunktionen
    • session_start — Erzeugt eine neue Session oder setzt eine vorhandene fort
    • session_status — Gibt den Status der aktuellen Sitzung zurück
    • session_unregister — Hebt die Registrierung einer globalen Variablen in der aktuellen Session auf
    • session_unset — Löscht alle Session-Variablen
    • session_write_close — Speichert die Session-Daten und beendet die Session
  • SessionHandler — The SessionHandler class
    • SessionHandler::close — Close the session
    • SessionHandler::create_sid — Return a new session ID
    • SessionHandler::destroy — Destroy a session
    • SessionHandler::gc — Cleanup old sessions
    • SessionHandler::open — Initialize session
    • SessionHandler::read — Read session data
    • SessionHandler::write — Write session data
  • SessionHandlerInterface — The SessionHandlerInterface class
    • SessionHandlerInterface::close — Close the session
    • SessionHandlerInterface::destroy — Destroy a session
    • SessionHandlerInterface::gc — Cleanup old sessions
    • SessionHandlerInterface::open — Initialize session
    • SessionHandlerInterface::read — Read session data
    • SessionHandlerInterface::write — Write session data
msession_unlock
Einführung
Session-Erweiterungen


Einführung

Die Unterstützung von Sessions in PHP bietet die Möglichkeit, bestimmte Daten während einer Folge von Aufrufen Ihrer Website festzuhalten.

Einem Besucher wird beim Aufruf Ihrer Website eine eindeutige ID, die sogenannte Session-ID, zugeordnet. Diese wird entweder benutzerseitig in einem Cookie abgelegt oder in der URL übermittelt.

Die Unterstützung von Sessions erlaubt Ihnen, Daten zwischen Anfragen im superglobalen Array $_SESSION zu speichern. Wenn ein Besucher Ihre Website aufruft, überprüft PHP automatisch (falls session.auto_start auf 1 gesetzt ist) oder auf Anfrage (explizit durch session_start()), ob mit der Anfrage schon eine bestimmte Session-ID gesendet wurde. Wenn dies der Fall ist, wird die zuvor gespeicherte Umgebung wiederhergestellt.

Achtung

Falls Sie session.auto_start aktivieren, können Objekte nur in Ihre Sessions aufgenommen werden, indem die Klassendefinition mittels auto_prepend_file geladen wird. Andernfalls müssen Sie Ihr Objekt mittels serialize() serialisieren und danach mittels unserialize() deserialisieren.

$_SESSION (und alle registrierten Variablen) werden intern von PHP unter Verwendung der in der Konfigurationseinstellung session.serialize_handler festgelegten Serialisierungsroutine serialisiert, nachdem die Anfrage beendet ist. Registrierte Variablen, die nicht definiert sind, werden als nicht definiert gekennzeichnet. Auch bei darauf folgenden Zugriffen werden sie nicht vom Session-Modul definiert, außer der Benutzer definiert sie später.

Warnung

Weil Session-Daten serialisiert werden, können resource-Variablen nicht in der Session gespeichert werden.

Die Serialisierungsroutinen (php und php_binary) erben die Beschränkungen für register_globals. Daher können numerische Indizes oder alphanumerische Indizes, die Sonderzeichen (| und !) enthalten, nicht verwendet werden. Deren Verwendung erzeugt Fehler beim Beenden des Scripts. php_serialize hat diese Einschränkungen nicht. php_serialize steht seit PHP 5.5.4 zur Verfügung.

Hinweis:

Bitte beachten Sie beim Arbeiten mit Sessions, dass der Datensatz einer Session nicht angelegt wird, bevor eine Variable mit der Funktion session_register() registriert oder dem superglobalen Array $_SESSION ein neuer Schlüssel hinzugefügt wird. Das gilt auch dann, wenn eine Session mit der Funktion session_start() gestartet wurde.

Hinweis:

Mit PHP 5.2.2 wurde die nicht dokumentierte Eigenschaft eingeführt, Session-Dateien in "/tmp" zu speichern, selbst wenn open_basedir aktiviert war und "/tmp" nicht ausdrücklich zur Liste der zulässigen Pfade hinzugefügt wurde. Diese Eigenschaft wurde in PHP 5.3.0 aus PHP entfernt.

Sessions
Installation/Konfiguration
Sessions


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Sessions


Anforderungen

Diese Erweiterung benötigt für die Kompilierung keine externen Bibliotheken.

Hinweis:

Optional können Sie für die Speicherung von Sessions die von Ralf S. Engelschall entwickelte Shared Memory Allocation (mm) verwenden. Sie müssen dazu » mm herunterladen und installieren. Für Windows-Plattformen steht diese Option nicht zur Verfügung. Beachten Sie, dass das Sessionspeicherungs-Modul für mm nicht dafür garantiert, dass gleichzeitige Zugriffe auf die selbe Session richtig gesperrt sind. Die Verwendung eines auf Shared Memory basierenden Dateisystems (wie z.B. tmpfs unter Solaris/Linux oder /dev/md unter BSD) könnte für die Speicherung von Sessions in Dateien geeigneter sein, weil sie entsprechend gesperrt sind. Die Session-Daten werden im Hauptspeicher gespeichert und folglich bei einem Neustart des Webservers gelöscht.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Die Unterstützung von Sessions ist in PHP standardmäßig aktiviert. Falls Sie Ihr PHP ohne Unterstützung von Sessions bauen wollen, müssen Sie bei der Konfiguration die Option --disable-session angeben. Um für die Speicherung von Sessions die shared memory allocation (mm) zu benutzen, müssen Sie PHP mit der Option --with-mm[=DIR] konfigurieren.

Die Windowsversion von PHP enthält diese Erweiterung. Um diese Funktionen zu verwenden, müssen Sie keine zusätzlichen Erweiterungen aktivieren.

Hinweis:

Standardmäßig werden alle Daten, die zu einer bestimmten Session gehören, in einer Datei gespeichert, die in dem Verzeichnis liegt, das durch die INI Option session.save_path bestimmt ist. Für jede Session wird (unabhängig davon, ob sie überhaupt Daten enthält) eine Datei erzeugt. Das liegt daran, dass eine Session geöffnet wird (eine Datei wird erzeugt), ohne dass jemals Daten in diese Datei geschrieben werden. Beachten Sie, dass es sich bei diesem Verhalten um einen Nebeneffekt der Beschränkungen beim Arbeiten mit dem Dateisystem handelt und dass es mit einer benutzerdefinierten Session-Speicherfunktion (wie z.B. mit einer, die eine Datenbank verwendet) möglich ist, Sessions nicht zu verfolgen, wenn sie keine Daten enthalten.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Session-Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
session.save_path | "" | PHP_INI_ALL |
session.name | "PHPSESSID" | PHP_INI_ALL |
session.save_handler | "files" | PHP_INI_ALL |
session.auto_start | "0" | PHP_INI_PERDIR |
session.gc_probability | "1" | PHP_INI_ALL |
session.gc_divisor | "100" | PHP_INI_ALL | Seit PHP 4.3.2 verfügbar.
session.gc_maxlifetime | "1440" | PHP_INI_ALL |
session.serialize_handler | "php" | PHP_INI_ALL |
session.cookie_lifetime | "0" | PHP_INI_ALL |
session.cookie_path | "/" | PHP_INI_ALL |
session.cookie_domain | "" | PHP_INI_ALL |
session.cookie_secure | "" | PHP_INI_ALL | Seit PHP 4.0.4 verfügbar.
session.cookie_httponly | "" | PHP_INI_ALL | Seit PHP 5.2.0 verfügbar.
session.use_strict_mode | "0" | PHP_INI_ALL | Seit PHP 5.5.2 verfügbar.
session.use_cookies | "1" | PHP_INI_ALL |
session.use_only_cookies | "1" | PHP_INI_ALL | Seit PHP 4.3.0 verfügbar.
session.referer_check | "" | PHP_INI_ALL |
session.entropy_file | "" | PHP_INI_ALL | Entfernt in PHP 7.1.0.
session.entropy_length | "0" | PHP_INI_ALL | Entfernt in PHP 7.1.0.
session.cache_limiter | "nocache" | PHP_INI_ALL |
session.cache_expire | "180" | PHP_INI_ALL |
session.use_trans_sid | "0" | PHP_INI_ALL | PHP_INI_ALL in PHP <= 4.2.3. PHP_INI_PERDIR in PHP < 5. Seit PHP 4.0.3 verfügbar.
session.trans_sid_tags | "a=href,area=href,frame=src,form=" | PHP_INI_ALL | Verfügbar seit PHP 7.1.0.
session.trans_sid_hosts | $_SERVER['HTTP_HOST'] | PHP_INI_ALL | Verfügbar seit PHP 7.1.0.
url_rewriter.tags | "a=href,area=href,frame=src,form=" | PHP_INI_ALL | Verfügbar seit PHP 4.0.4. Ab PHP 7.1.0 wird diese INI Einstellung nicht länger für die Session verwendet.
session.bug_compat_42 | "1" | PHP_INI_ALL | Seit PHP 4.3.0 verfügbar. Entfernt in PHP 5.4.0.
session.bug_compat_warn | "1" | PHP_INI_ALL | Seit PHP 4.3.0 verfügbar. Entfernt in PHP 5.4.0.
session.sid_length | "32" | PHP_INI_ALL | Verfügbar seit PHP 7.1.0.
session.sid_bits_per_character | "5" | PHP_INI_ALL | Verfügbar seit PHP 7.1.0.
session.hash_function | "0" | PHP_INI_ALL | Seit PHP 5.0.0 verfügbar. Entfernt in PHP 7.1.0.
session.hash_bits_per_character | "4" | PHP_INI_ALL | Seit PHP 5.0.0 verfügbar. Entfernt in PHP 7.1.0.
session.upload_progress.enabled | "1" | PHP_INI_PERDIR | Seit PHP 5.4.0 verfügbar.
session.upload_progress.cleanup | "1" | PHP_INI_PERDIR | Seit PHP 5.4.0 verfügbar.
session.upload_progress.prefix | "upload_progress_" | PHP_INI_PERDIR | Seit PHP 5.4.0 verfügbar.
session.upload_progress.name | "PHP_SESSION_UPLOAD_PROGRESS" | PHP_INI_PERDIR | Seit PHP 5.4.0 verfügbar.
session.upload_progress.freq | "1%" | PHP_INI_PERDIR | Seit PHP 5.4.0 verfügbar.
session.upload_progress.min_freq | "1" | PHP_INI_PERDIR | Seit PHP 5.4.0 verfügbar.
session.lazy_write | "1" | PHP_INI_ALL | Seit PHP 7.0.0 verfügbar.
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Das Sessionmanagementsystem unterstützt eine Anzahl von Konfigurationsoptionen, die in der php.ini gesetzt werden können. Wir geben dazu einen kleinen Überblick.

session.save_handler string
session.save_handler definiert den Namen der Routine, die benutzt wird, um die Daten zu speichern und abzurufen, die mit der Session in Verbindung stehen. Grundeinstellung files. Zu beachten ist, dass einzelne Erweiterungen ihre eigenen save_handler registrieren können. Welche Routinen registriert sind, kann auf Basis der jeweiligen Installation mit phpinfo() ermittelt werden. Siehe auch session_set_save_handler().
session.save_path string
session.save_path definiert das Argument, das an die Speicherroutine übergeben wird. Wenn Sie die standardmäßige files-Routine wählen, ist das der Pfad, unter dem die Dateien erzeugt werden. Siehe auch session_save_path().

Für diese Anweisung gibt es ein optionales Argument N, das die Anzahl der Verzeichnisebenen bestimmt, über welche die Session-Dateien verteilt werden. Wird sie zum Beispiel auf '5;/tmp' gesetzt, kann das das Anlegen einer Session-Datei und Speicherstelle wie /tmp/4/b/1/e/3/sess_4b1e384ad74619bd212e236e52a5a174If bewirken. Um N verwenden zu können, müssen alle diese Verzeichnisse vorher angelegt werden. In ext/session gibt es für diesen Zweck ein kleines Shell-Script namens mod_files.sh und eine Version für Windows namens mod_files.bat. Zu beachten ist, dass die automatische Speicherbereinigung (garbage collection) nicht durchgeführt wird, wenn N verwendet wird und größer 0 ist (für weitere Informationen siehe eine Kopie der php.ini). Außerdem muss bei der Verwendung von N beachtet werden, dass session.save_path zwischen Anführungsstriche gesestzt wird, weil der Trenner (;) in der php.ini auch für Kommentare benutzt wird.

Standardmäßig erzeugt die files-Speicherroutine Dateien mit dem Modus 600. Dieser Wert kann mit dem optionalen Argument MODE geändert werden: N;MODE;/pfad, wobei MODE die oktale Darstellung des Modus ist. Die Angabe von MODE hat keine Auswirkungen auf den Prozess umask.

Warnung

Wenn ein Verzeichnis gewählt wurde, für das jeder Leserechte hat, wie das z.B. bei /tmp (Grundeinstellung) der Fall ist, könnten andere Serverbenutzer mit Hilfe der Dateiliste dieses Verzeichnisses die Sessions entführen.

Achtung

Wird das optionale Argument N für die Verzeichnisebenen wie oben beschrieben verwendet, ist zu beachten, dass ein Wert größer als 1 oder 2 wegen der großen Anzahl an benötigten Verzeichnissen für die meisten Websites unangemessen ist: z.B. bedeutet ein Wert von 3, dass 64^3 Verzeichnisse im Dateisystem existieren, was eine große Verschwendung an Speicher und Inodes zur Folge haben kann.

Verwenden Sie N größer als 2 nur, wenn Sie absolut sicher sind, dass Ihre Website so groß ist, dass Sie es benötigen.

Hinweis: Vor PHP 4.3.6 mussten Benutzer von Windows diese Variable ändern, um die Session-Funktionen von PHP nutzen zu können. Es muss ein gültiger Pfad, z.B. c:/temp, angegeben werden.

session.name string
session.name definiert den Namen der Session, der als Cookie-Name verwendet wird. Grundeinstellung PHPSESSID. Siehe auch session_name().
session.auto_start boolean
session.auto_start definiert, ob das Session-Modul zu Beginn einer Anfrage automatisch eine Session startet. Grundeinstellung 0 (deaktiviert).
session.serialize_handler string
session.serialize_handler definiert den Namen der Routine, die benutzt wird, um Daten zu serialisieren/deserialisieren. Unterstützt werden das PHP-Serialisierungsformat (Name php_serialize), die internen PHP-Formate (Namen php und php_binary) und WDDX (Name wddx). WDDX steht nur zur Verfügung, wenn PHP mit WDDX support kompiliert wurde. php_serialize steht ab PHP 5.5.4. zur Verfügung. php_serialize verwendet intern die einfachen serialize/unserialize-Funktionen und hat nicht die Einschränkungen, die php und php_binary haben. Ältere Serialisierungsroutinen können aus $_SESSION weder numerische Indizes speichern, noch alphanumerische Indizes, die Sonderzeichen (| und !) enthalten. Verwenden Sie php_serialize um Fehler wegen solcher Indizes am Ende des Skripts zu vermeiden. Grundeinstellung php.
session.gc_probability integer
session.gc_probability wird in Verbindung mit session.gc_divisor dazu verwendet, die Wahrscheinlichkeit zu regeln, mit der die gc-Routine (gc=garbage collection, Speicherbereinigung) gestartet wird. Grundeinstellung 1. Siehe auch session.gc_divisor.
session.gc_divisor integer
session.gc_divisor definiert gekoppelt mit session.gc_probability die Wahrscheinlichkeit, mit der die gc-Routine (gc=garbage collection, Speicherbereinigung) bei jeder Initialisierung einer Session gestartet wird. Die Wahrscheinlichkeit errechnet sich aus gc_probability/gc_divisor. 1/100 bedeutet z.B., dass die gc-Routine bei jeder Anfrage mit einer Wahrscheinlichkeit von 1% gestartet wird. Grundeinstellung 100.
session.gc_maxlifetime integer
session.gc_maxlifetime definiert die Anzahl der Sekunden, nach denen Daten als 'garbage' ('Müll') betrachtet und möglicherweise entsorgt werden. Die Speicherbereinigung kann zu Beginn einer Session durchgeführt werden (abhängig von session.gc_probability und session.gc_divisor).

Hinweis: Falls sich der Wert von session.gc_maxlifetime in verschiedenen Skripten unterscheidet, aber sie die Sessiondaten an der selben Stelle speichern, löscht das Skript mit dem kleinsten Wert die Daten. Verwenden Sie die Anweisung in diesem Fall zusammen mit der Anweisung session.save_path.

session.referer_check string
session.referer_check enthält die Zeichenkette, auf die Sie jeden HTTP-Referer überprüfen wollen. Wenn der Referer vom Client gesendet und die Zeichenkette nicht gefunden wurde, wird die eingebettete Session-ID als ungültig gekennzeichnet. Grundeinstellung ist eine leere Zeichenkette.
session.entropy_file string
session.entropy_file gibt den Pfad zu einer externen Quelle (Datei) an, die bei der Erzeugung einer Session-ID als zusätzliche Entropiequelle verwendet wird. Beispiele sind /dev/random oder /dev/urandom, die auf vielen Unix-Systemen zur Verfügung stehen. Diese Einstellung wird unter Windows seit PHP 5.3.3 unterstützt. Wenn session.entropy_length auf einen von Null verschiedenen Wert gesetzt wird, verwendet PHP die Windows-Zufalls-API als Entropie-Quelle.

Hinweis: Entfernt in PHP 7.1.0. Ab PHP 5.4.0 ist die Grundeinstellung für session.entropy_file /dev/urandom oder /dev/arandom, falls es verfügbar ist. In PHP 5.3.0 ist diese Konfigurationsoption in der Grundeinstellung leer.

session.entropy_length integer
session.entropy_length definiert die Anzahl der Bytes, die von der oben spezifizierten Datei gelesen werden. Grundeinstellung 32 (deaktiviert). Entfernt in PHP 7.1.0.
session.use_strict_mode boolean
session.use_strict_mode definiert ob das Modul den strikten Modus für die Session-ID verwendet. Wenn dieser Modus aktiviert ist, akzeptiert das Modul keine Session-ID, die nicht initialisiert ist. Falls ein Browser eine uninitialisierte Session-ID sendet, wird eine neue Session-ID zum Browser gesendet. Im strikten Modus sind Anwendungen vor der Übernahme der Session durch Session-Fixation geschützt. Grundeinstellung 0 (deaktiviert).
session.use_cookies boolean
session.use_cookies definiert, ob das Modul Cookies verwendet, um die Session-ID clientseitig zu speichern. Grundeinstellung 1 (aktiviert).
session.use_only_cookies boolean
session.use_only_cookies definiert, ob das Modul nur Cookies verwendet, um die Session-ID clientseitig zu speichern. Mit Aktivierung dieser Einstellung wird möglichen Angriffen durch Übermittlung von Session-IDs in URLs vorgebeugt. Diese Einstellung wurde in PHP 4.3.0 hinzugefügt. Ab PHP 5.3.0 ist die Grundeinstellung 1 (aktiviert).
session.cookie_lifetime integer
session.cookie_lifetime definiert die Cookie-Lebensdauer, die an den Browser geschickt wird, in Sekunden. Der Wert 0 bedeutet "bis der Browser geschlossen wird." Grundeinstellung 0. Siehe auch session_get_cookie_params() und session_set_cookie_params().

Hinweis: Der Verfalls-Zeitstempel wird relativ zur Serverzeit gesetzt, die nicht unbedingt mit der Browserzeit des Clients übereinstimmt.

session.cookie_path string
session.cookie_path definiert den Pfad, der im Session-Cookie gesetzt wird. Grundeinstellung /. Siehe auch session_get_cookie_params() und session_set_cookie_params().
session.cookie_domain string
session.cookie_domain definiert die Domain, die im Session-Cookie gesetzt wird. In der Grundeinstellung überhaupt keine, was bedeutet, dass entsprechend der Spezifikation für Cookies der Hostname des Servers verwendet wird, der das Cookie erzeugt hat. Siehe auch session_get_cookie_params() und session_set_cookie_params().
session.cookie_secure boolean
session.cookie_secure definiert, ob Cookies nur über sichere Verbindungen geschickt werden sollen. Grundeinstellung off. Diese Einstellung wurde in PHP 4.0.4 hinzugefügt. Siehe auch session_get_cookie_params() und session_set_cookie_params().
session.cookie_httponly boolean
session.cookie_httponly markiert das Cookie als nur über das HTTP-Protokoll zugänglich. Das bedeutet, dass für Skriptsprachen wie z.B. JavaScript nicht zugänglich ist. Diese Einstellung kann helfen, Identitätsdiebstahl durch XSS-Angriffe zu reduzieren (obwohl es nicht von allen Browsern unterstützt wird).
session.cache_limiter string
session.cache_limiter definiert die Methode der Cacheverwaltung, die bei Session-Seiten benutzt wird. Das kann einer der folgenden Werte sein: nocache, private, private_no_expire oder public. Grundeinstellung nocache. Informationen über die Bedeutung dieser Werte finden Sie in der session_cache_limiter()-Dokumentation.
session.cache_expire integer
session.cache_expire definiert in Minuten, wie lange Session-Seiten im Cache bleiben. Bei nocache ist diese Angabe wirkungslos. Grundeinstellung 180. Siehe auch session_cache_expire().
session.use_trans_sid boolean
session.use_trans_sid bestimmt ob transparente SID-Unterstützung aktiviert ist oder nicht. Grundeinstellung 0 (deaktiviert).

Hinweis: URL-basiertes Session-Management hat im Vergleich zu Cookie-basiertem Session-Management zusätzliche Sicherheitsrisiken. Benutzer können zum Beispiel eine URL, die eine aktive Session-ID enthält, per Email an Freunde schicken oder in ihren Bookmarks speichern und immer mit der selben Session-ID auf Ihre Seite zugreifen. Seit PHP 7.1.0 werden auch vollständige URL-Pfade, z.B. https://php.net/, vom trans sid Feature unterstützt. Vorherige PHP-Versionen unterstützten nur relative URL-Pfade. Rewrite-Ziel-Hosts werden durch session.trans_sid_hosts definiert.

session.trans_sid_tags string
session.trans_sid_tags gibt an, welche HTML Tags umgeschrieben werden, um die Session-ID zu enthalten, wenn transparente SID-Unterstützung aktiviert ist. Die Voreinstellung ist a=href,area=href,frame=src,input=src,form=. form ist ein besonderes Tag. <input hidden="session_id" name="session_name"> wird als Form-Variable hinzugefügt.

Hinweis: Vor PHP 7.1.0, wurde url_rewriter.tags für diesen Zweck verwendet. Seit PHP 7.1.0 wird fieldset nicht länger als besonderes Tag angesehen.

session.trans_sid_hosts string
session.trans_sid_hosts gibt an, welche Hosts umgeschrieben werden, um die Session-ID zu enthalten, wenn transparente SID-Unterstützung aktiviert ist. Die Voreinstellung ist $_SERVER['HTTP_HOST']. Mehrere Hosts können durch "," getrennt angegeben werden; Leerzeichen sind nicht erlaubt. Beispiel: php.net,wiki.php.net,bugs.php.net.
session.bug_compat_42 boolean
Die PHP-Versionen bis 4.2.3 haben eine undokumentierte Funktion/einen undokumentierten Fehler, der es Ihnen gestattet, eine Session-Variable im globalen Bereich zu initialisieren, obwohl register_globals deaktiviert ist. Ab Version 4.3.0 gibt PHP bei Verwendung dieser Funktion eine Warnung aus, wenn zusätzlich session.bug_compat_warn aktiviert ist. Diese Funktion/dieser Fehler kann durch Deaktivieren dieser Einstellung deaktiviert werden.

Hinweis: Entfernt in PHP 5.4.0.

session.bug_compat_warn boolean
Die PHP-Versionen bis 4.2.3 haben eine undokumentierte Funktion/einen undokumentierten Fehler, der es Ihnen gestattet, eine Session-Variable im globalen Bereich zu initialisieren, obwohl register_globals deaktiviert ist. Ab Version 4.3.0 gibt PHP bei Verwendung dieser Funktion eine Warnung aus, wenn sowohl session.bug_compat_42 als auch session.bug_compat_warn aktiviert sind.

Hinweis: Entfernt in PHP 5.4.0.

session.sid_length integer
session.sid_length erlaubt die Angabe der Länge der Session-ID-Zeichenkette. Diese Länge kann zwischen 22 und 256 liegen. Die Voreinstellung ist 32. Wird Kompatibilität benötigt, kann 32, 40, etc. angegeben werden. Längere Session-IDs sind schwerer zu erraten. Wenigstens 32 Zeichen werden empfohlen.

Hinweis zur Kompatibiliät: Verwenden Sie 32 für
session.hash_func=0 (MD5) und
session.hash_bits_per_character=4,
session.hash_func=1 (SHA1) und
session.hash_bits_per_character=6. Verwenden Sie 26 für
session.hash_func=0 (MD5) und
session.hash_bits_per_character=5. Verwenden Sie 22 für
session.hash_func=0 (MD5) und
session.hash_bits_per_character=6. Die INI Werte müssen
so konfiguriert werden, dass sie wenigstens 128 bits in der Session-ID
haben. Vergessen Sie nicht,
session.sid_bits_per_character den entsprechenden Wert
zuzuweisen; andernfalls erhalten Sie schwächere Session-IDs.

Hinweis: Diese Einstellung wurde in PHP 7.1.0 eingeführt.

session.sid_bits_per_character integer
session.sid_per_character erlaubt die Angabe der Anzahl der Bits in kodierten Session-ID-Zeichen. Die möglichen Werte sind '4' (0-9, a-f), '5' (0-9, a-v) und '6' (0-9, a-z, A-Z, "-", ","). Die Voreinstellung ist 4. Mehr Bits ergeben stärkere Session-IDs. 5 wird für die meisten Umgebungen empfohlen.

Hinweis: Diese Einstellung wurde in PHP 7.1.0 eingeführt.

session.hash_function mixed
session.hash_function gibt Ihnen die Möglichkeit, den Prüfsummen-Algorithmus für die Erzeugung von Session-IDs selbst zu bestimmen. '0' bedeutet MD5 (128 Bit) und '1' bedeutet SHA-1 (160 Bit).

Ab PHP 5.3.0 ist es auch möglich, einen der Algorithmen zu bestimmen, die durch die Hash-Erweiterung (falls vorhanden) zur Verfügung stehen, wie z.B. sha512 oder whirlpool. Eine vollständige Liste unterstützter Algorithmen erhalten Sie mit der Funktion hash_algos().

Hinweis: Diese Einstellung wurde in PHP 5 eingeführt. Entfernt in PHP 7.1.0.

session.hash_bits_per_character integer
session.hash_bits_per_character gibt Ihnen die Möglichkeit, zu definieren wieviele Bit bei der Umwandlung der binären Prüfsummen-Daten in etwas Lesbares in jedem Zeichen gespeichert werden. Mögliche Werte sind '4' (0-9, a-f), '5' (0-9, a-v) und '6' (0-9, a-z, A-Z, "-", ",").

Hinweis: Dies wurde in PHP 5 eingeführt. Entfernt in PHP 7.1.0.

session.upload_progress.enabled boolean
Aktiviert die Überwachung des Upload-Fortschritts und füllt die entsprechende $_SESSION-Variable. Grundeinstellung 1 (aktiviert).
session.upload_progress.cleanup boolean
Löscht die Fortschritts-Informationen, sobald alle POST-Daten gelesen wurden (also der Upload abgeschlossen ist). Grundeinstellung 1 (aktiviert).

Hinweis: Es wird dringend empfohlen diese Funktion aktiviert zu lassen.

session.upload_progress.prefix string
Ein Präfix für den Namen des Schlüssels für den Upload-Fortschritt im $_SESSION-Array. An diesen wird der Wert von $_POST[ini_get("session.upload_progress.name")] angehängt, um einen eindeutigen Schlüssel zu erhalten. Grundeinstellung "upload_progress_".
session.upload_progress.name string
Der Name des Schlüssels im $_SESSION-Array, in welchem die Fortschritts-Informationen gespeichert werden sollen. Siehe auch session.upload_progress.prefix. Falls $_POST[ini_get("session.upload_progress.name")] nicht übergeben wird oder nicht verfügbar ist, wird kein Upload-Fortschritt aufgezeichnet. Grundeinstellung "PHP_SESSION_UPLOAD_PROGRESS".
session.upload_progress.freq mixed
Definiert, wie oft die Fortschritts-Information aktualisiert werden soll. Dieser Wert kann entweder in Bytes (d.h. Aktualisierung nachdem eine bestimmte Anzahl an Bytes empfangen wurde) oder in Prozent (d.h. Aktualisierung nachdem eine bestimmte Prozentzahl der gesamten Dateigröße empfangen wurde) angegeben werden. Grundeinstellung "1%".
session.upload_progress.min_freq integer
Die Zeit, die mindestens zwischen zwei Aktualisierungen vergehen muss. Grundeinstellung "1" (eine Sekunde).
session.lazy_write boolean
Falls session.lazy_write auf 1 gesetzt ist, werden Daten nur gespeichert, nachdem sie sich geändert haben. Grundeinstellung 1 (aktiviert).

Die Konfigurationseinstellung register_globals beeinflusst, wie die Session-Variablen gespeichert und wiederhergestellt werden.

Der Upload-Fortschritt wird nur aufgezeichnet, wenn session.upload_progress.enabled aktiviert ist und die Variable $_POST[ini_get("session.upload_progress.name")] gesetzt ist. Siehe Session Upload Progress für weitere diesbezügliche Informationen.

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

SID (string)
Konstante, die entweder den Namen und die ID der Session in der Form "name=ID" enthält oder eine leere Zeichenkette, falls die Session-ID in einem entsprechenden Cookie gesetzt wurde. Es ist dieselbe ID, die auch von session_id() zurückgegeben wird.
PHP_SESSION_DISABLED (int)
Ab PHP 5.4.0. Der Rückgabewert von session_status(), falls Sessions deaktiviert sind.
PHP_SESSION_NONE (int)
Ab PHP 5.4.0. Der Rückgabewert von session_status(), falls Sessions aktiviert sind, aber keine Session existiert.
PHP_SESSION_ACTIVE (int)
Ab PHP 5.4.0. Der Rückgabewert von session_status(), falls Sessions aktiviert sind und eine Session existiert.
Ressource-Typen
Beispiele
Sessions


Beispiele

Inhaltsverzeichnis

  • Grundlegende Anwendung
  • Übermittlung der Session-ID
  • Individuelle Session-Routinen
Vordefinierte Konstanten
Grundlegende Anwendung
Sessions


Grundlegende Anwendung

Sessions bieten eine einfache Möglichkeit, Daten für individuelle Benutzer unter einer eindeutigen Session-ID zu speichern. Sie können verwendet werden, damit Daten zwischen Seitenanforderungen bestehen bleiben. Session-IDs werden in der Regel über Session-Cookies an den Browser gesendet und die ID wird verwendet, um vorhandene Sessiondaten abzurufen. Das Fehlen einer ID oder eines Session-Cookies veranlasst PHP, eine neue Session zu erstellen und eine neue Session-ID zu erzeugen.

Sessions folgen einem einfachen Ablauf. Wenn eine Session gestartet wird, ruft PHP entweder eine vorhandene Session unter Verwendung einer (normalerweise von einem Session-Cookie) übergebenen ID ab oder erzeugt eine neue Session, falls keine Session-ID übergeben wurde. Nachdem die Session gestartet wurde, füllt PHP die $_SESSION-Superglobale mit allen Sessiondaten. Am Ende des Skripts nimmt PHP automatisch den Inhalt der $_SESSION-Superglobalen, serialisiert ihn und verwendet Session-Speicherfunktion um ihn zu speichern.

Standardmäßig verwendet PHP die interne files-Speicherroutine, die mittels session.save_handler festgelegt ist. Diese speichert die Sessiondaten auf dem Server an der mit der Konfigurationsanweisung session.save_path angegebenen Stelle.

Sessions können über die Funktion session_start() gestartet werden. Falls die Konfigurationsanweisung session.auto_start auf 1 gesetzt ist, wird eine Session automatisch zu Beginn einer Anfrage gestartet.

Sessions werden normalerweise automatisch geschlossen, wenn PHP am Ende eines Skripts ist, können aber über session_write_close() auch manuell geschlossen werden.

Beispiel #1 Registrierung einer Variablen mit $_SESSION.

<?php
session_start();
if (!isset($_SESSION['zaehler'])) {
  $_SESSION['zaehler'] = 0;
} else {
  $_SESSION['zaehler']++;
}
?>

Beispiel #2 Aufheben der Registrierung einer Variablen mit $_SESSION.

<?php
session_start();
unset($_SESSION['zaehler']);
?>

Achtung

Heben Sie NICHT die Registrierung der gesamten $_SESSION mit unset($_SESSION) auf, weil dies die Registrierung von Variablen durch die Superglobale $_SESSION deaktivieren würde.

Warnung

Sie können in Session-Variablen keine Referenzen verwenden, weil es keine praktikable Möglichkeit gibt, eine Referenz in eine andere Variable zurückzuführen.

Warnung

register_globals überschreibt im globalen Namensraum Variablen, deren Namen mit denen von Sessionvariablen übereinstimmen. Für Details siehe Verwendung von Register Globals.

Hinweis:

Bei dateibasierten Sessions (der Standard in PHP) wird die Sessiondatei gesperrt, wenn eine Session über session_start() oder implizit über session.auto_start geöffnet wurde. Einmal gesperrt, kann solange kein anderes Skript auf die selbe Sessiondatei zugreifen, bis die Session durch Beenden des ersten Skripts oder durch den Aufruf von session_write_close() geschlossen wurde.

Dies ist wahrscheinlich ein Problem auf Websites, die verstärkt AJAX verwenden und mehrere gleichzeitige Zugriffe haben. Der einfachste Weg, damit umzugehen ist, session_write_close() möglichst früh im Skript aufzurufen, sobald alle nötigen Änderungen an der Session vorgenommen wurden. Alternativ könnte ein Session-Backend verwendet werden, das gleichzeitige Zugriffe unterstützt.

Beispiele
Übermittlung der Session-ID
Beispiele


Übermittlung der Session-ID

Es gibt zwei Methoden, eine Session-ID zu übermitteln:

  • Cookies
  • URL-Parameter

Das Session-Modul unterstützt beide Methoden. Cookies sind optimal, aber da sie nicht immer zur Verfügung stehen, bieten wir auch noch eine Alternative an. Die zweite Methode hängt die Session-ID direkt an die URLs.

PHP ist in der Lage, Links transparent umzuwandeln. Falls Sie nicht PHP 4.2.0 oder höher verwenden, müssen Sie das beim Übersetzen von PHP manuell aktivieren. Unter Unix müssen Sie dazu configure mit --enable-trans-sid aufrufen. Wenn diese Option und die Laufzeit-Option session.use_trans_sid aktiviert sind, werden relative URIs automatisch so geändert, dass sie die Session-ID enthalten.

Hinweis:

Die php.ini-Anweisung arg_separator.output ermöglicht es, die Trennung von Argumenten anzupassen. Geben Sie dort für volle XHTML-Konformität &amp; an.

Alternativ kann die Konstante SID verwendet werden, die definiert ist, nachdem die Session gestartet wurde. Falls der Client kein geeignetes Session-Cookie gesendet hat, hat sie die Form session_name=session_id. Andernfalls wird sie zu einer leeren Zeichenkette erweitert. Aus diesem Grund kann sie bedingungslos in URLs eingebettet werden.

Das folgende Beispiel demonstriert, wie eine Variable registriert wird und wie unter Verwendung einer SID korrekt auf eine andere Seite verwiesen wird.

Beispiel #1 Zählen der Seitenaufrufe eines einzelnen Benutzers

<?php

session_start();

if (empty($_SESSION['zaehler'])) {
    $_SESSION['zaehler'] = 1;
} else {
    $_SESSION['zaehler']++;
}
?>

<p>
Hallo Besucher, Sie haben diese Seite <?php echo $_SESSION['zaehler']; ?> mal
aufgerufen.
</p>

<p>
Hier gehts
<a href="nextpage.php?<?php echo htmlspecialchars(SID); ?>">weiter</a>.
</p>

Die Funktion htmlspecialchars() kann dazu verwendet werden, um bei der Ausgabe der SID XSS-ähnliche Angriffe zu verhindern.

Die oben gezeigte Ausgabe der SID ist nicht nötig, wenn PHP mit --enable-trans-sid übersetzt wurde.

Hinweis:

Bei nichtrelativen URLs wird davon ausgegangen, dass sie auf externe Seiten zeigen und deshalb keine SID angehängt, weil es ein Sicherheitsrisiko wäre, die SID an einen anderen Server zu übermitteln.

Grundlegende Anwendung
Individuelle Session-Routinen
Beispiele


Individuelle Session-Routinen

Wenn die Speicherung in einer Datenbank oder irgendeine andere Art der Speicherung realisiert werden soll, kann session_set_save_handler() verwendet werden, um eine Reihe von benutzerdefinierten Speicherfunktionen zu erstellen. Ab PHP 5.4.0 können mit dem SessionHandlerInterface Session-Routinen erstellt werden oder interne PHP-Routinen durch Beerbung von SessionHandler erweitert werden.

Die in session_set_save_handler() definierten Callback-Funktionen sind Methoden, die von PHP während des Lebenszyklus einer Session aufgerufen werden: open, read, write und close und für Verwaltungsaufgaben: destroy um eine Session zu löschen und gc für die regelmäßige Speicherbereinigung.

Deshalb benötigt PHP immer Session-Speicherroutinen. Der Standard ist normalerweise die interne 'files'-Speicherroutine. Eine benutzerdefinierte Speicherroutine kann mittels session_set_save_handler() erstellt werden. Alternative interne Speicherroutinen werden auch von PHP-Erweiterungen, wie z.B. sqlite, memcache und memcached zur Verfügung gestellt und können mittels session.save_handler festgelegt werden.

Wenn die Session beginnt, ruft PHP intern die open-Routine, gefolgt vom read-Callback auf, der eine verschlüsselte Zeichenkette genau so zurückgeben sollte, wie sie ursprünglich für die Speicherung übergeben wurde. Nachdem der read-Callback die verschlüsselte Zeichenkette zurückgegeben hat, wird sie von PHP entschlüsselt und die $_SESSION-Superglobale mit dem resultierenden Array gefüllt.

Wenn das PHP-Skript endet (oder wenn session_write_close() aufgerufen wird), wird die $_SESSION-Superglobale intern verschlüsselt und zusammen mit der Session-ID an den write-Callback übergeben. Nach dem write-Callback ruft PHP intern den close-Callback auf.

Wenn eine Session gelöscht werden soll, ruft PHP die destroy-Routine mit der Session-ID auf.

Von Zeit zu Zeit ruft PHP den gc-Callback auf, um Sessions zu löschen, die entsprechend ihrer eingestellten maximalen Lebensdauer abgelaufen sind. Diese Routine sollte alle gespeicherten Datensätze löschen, auf die länger als die in $lifetime festgelegte Zeitspanne nicht mehr zugegriffen wurde.

Übermittlung der Session-ID
Session-Upload-Fortschritt
Beispiele


Session-Upload-Fortschritt

Wenn die session.upload_progress.enabled Ini-Option aktiviert ist, kann PHP den Upload-Fortschritt der hochgeladenen Dateien verarbeiten. Die von PHP bereitgestellten Daten sind für den eigentlichen Upload-Vorgang nicht nutzbar. Um den Status des Uploads zu verarbeiten, muss die Anwendung eine POST-Anfrage an einen separaten Endpunkt (zum Beispiel via XHR) ausführen.

Der Upload-Fortschritt steht in der Superglobalen $_SESSION zur Verfügung, wenn der Upload-Vorgang stattfindet und wenn ein POST-Feld, mit dem in der Ini-Konfiguration session.upload_progress.name hinterlegten Namen enthalten ist. Wenn PHP eine solche POST-Anfrage erkennt, wird ein Array mit Informationen in der $_SESSION hinterlegt. Die Information wird mit dem aus den Ini-Konfigurationen session.upload_progress.prefix und session.upload_progress.name zusammengesetzten Index gespeichert. Der Schlüssel wird dabei typischerweise aus den Ini-Konfigurationen zusammengesetzt, zum Beispiel:

<?php
$key = ini_get("session.upload_progress.prefix") . $_POST[ini_get("session.upload_progress.name")];
var_dump($_SESSION[$key]);
?>

Es ist auch möglich, den Upload-Vorgang, durch setzen des Session-Wertes $_SESSION[$key]["cancel_upload"] auf TRUE, abzubrechen. Wenn mehrere Dateien in der gleichen Anfrage übertragen werden, wird dabei nur die in der Verarbeitung befindliche Datei und alle ausstehenden Dateien abgebrochen. Schon erfolgreich übertragene Dateien werden nicht entfernt. Wenn ein Upload auf diese Weise abgebrochen wird, enthält der error Schlüssel des $_FILES Array den Wert UPLOAD_ERR_EXTENSION.

Die Ini-Konfigurationen session.upload_progress.freq und session.upload_progress.min_freq steuern, wie häufig die Upload-Fortschrittsinformationen neu berechnet werden sollen. Mit angemessenen Einstellungen bei diesen zwei Optionen ist der Aufwand für diese Funktion sehr gering.

Beispiel #1 Beispiel-Informationen

Beispiel für den Formularaufbau des Upload-Fortschritts.

<form action="upload.php" method="POST" enctype="multipart/form-data">
 <input type="hidden" name="<?php echo ini_get("session.upload_progress.name"); ?>" value="123" />
 <input type="file" name="file1" />
 <input type="file" name="file2" />
 <input type="submit" />
</form>

Die gespeicherten Daten in der Session sehen wie folgt aus:

<?php
$_SESSION["upload_progress_123"] = array(
 "start_time" => 1234567890,   // Anfragezeitpunkt
 "content_length" => 57343257, // POST Gesamtdatenmenge (in Bytes)
 "bytes_processed" => 453489,  // Menge der empfangenen und verabreiteten Daten (in Bytes)
 "done" => false,              // true wenn die POST Datenverarbeitung beendet ist (erfolgreich oder nicht)
 "files" => array(
  0 => array(
   "field_name" => "file1",       // Name des <input/> Feldes
   // Die nächsten drei Elemente entsprechen den Angaben in $_FILES
   "name" => "foo.avi",
   "tmp_name" => "/tmp/phpxxxxxx",
   "error" => 0,
   "done" => true,                // true wenn die POST Datenverarbeitung dieser Datei beendet ist
   "start_time" => 1234567890,    // Zeitpunkt wann die Verarbeitung der Datei begonnen hat
   "bytes_processed" => 57343250, // Menge der empfangenen und verabreiteten Daten dieser Datei (in Bytes)
  ),
  // Eine weitere, noch nicht Komplett hochgeladene Datei, der selben Anfrage
  1 => array(
   "field_name" => "file2",
   "name" => "bar.avi",
   "tmp_name" => NULL,
   "error" => 0,
   "done" => false,
   "start_time" => 1234567899,
   "bytes_processed" => 54554,
  ),
 )
);

Warnung

In der Anfrage des Servers muss Pufferung deaktiviert sein, damit dies richtig funktioniert. Server wie z.B. Nginx sind bekannt dafür, große Anfragen zu puffern.

Individuelle Session-Routinen
Sessions und Sicherheit
Sessions


Sessions und Sicherheit

Externe Links: » Session fixation

Das HTTP-Sessionmanagement ist das Kernstück der Websicherheit. Alle vorbeugenden Maßnahmen sollten berücksichtigt werden, um die Sicherheit der Sessions zu gewährleisten. Entwickler sollten die maßgeblichen Konfigurationsparameter entsprechend aktivieren/nutzen.

  • session.cookie_lifetime=0. 0 hat eine besondere Bedeutung. Mit dieser Einstellung wird Browsern mitgeteilt, Cookies nicht dauerhaft zu speichern. Daraus folgt das der Session-ID-Cookie für die Session direkt bei Beenden des Browsers gelöscht wird. Ein anderer Wert als 0 erlaubt es anderen Usern die Session-ID zu verwenden. Deswegen sollten die meisten Seiten den Wert "0" für diese Einstellung verwenden. Sollte ein Auto-Login Feature benötigt werden, implementiere dein eigenes sicheres Feature. Benutze keine Session-IDs für so eine Funktion.
  • session.use_cookies=On und session.use_only_cookies=On. Although HTTP cookie has some problems, cookie is preferred way to manage session ID. Use only cookies for session ID management when it is possible. Most applications should use cookie for session ID.
  • session.use_strict_mode=On. This prevents session module to use uninitialized session ID. In other word, session module only accepts valid session ID generated by session module. It rejects session ID supplied by users. Session ID injection could be done by cookie injection via JavaScript permanently or temporarily. When transparent session is enabled, session ID could be injected via query string or form parameter. There is no reason to accept user supplied session ID, most applications must not accept user supplied uninitialized session ID.
  • session.cookie_httponly=On. Disallow access to session cookie by JavaScript. This setting prevents cookies stolen by JavaScript injection. It is possible to use session ID as CSRF protection key, but this is not recommended. For example, HTML source may be saved and sent to other users. Developer should not write session ID in web pages for better security. Almost all applications must use httponly attribute for session ID cookie.
  • session.cookie_secure=On. Allows access to session ID cookie only when protocol is HTTPS. If your web site is HTTPS only web site, you must enable this setting. Use of HSTS should be considered for HTTPS only web site.
  • session.gc_maxlifetime=[choose smallest possible]. GC is performed by probability. This setting does not guarantee old session deletion. Some session save handler modules do not use this setting. Refer to session save handler documentation for details. Although developer cannot rely on this setting, setting this to smallest possible value is recommended. Adjust session.gc_probability and session.gc_divisor so that obsolete sessions are deleted by appropriate frequency. If auto login feature is required, implement your own secure auto login feature. Do not use long life session ID for it.
  • session.use_trans_sid=Off. Use of transparent session ID management is not prohibited. You may use it when it is needed. However, disabling transparent session ID management would improve general session ID security by removing possibility of session ID injection and session ID leak.
  • session.referer_check=[your originating URL] When session.use_trans_sid is enabled, use of this setting is recommended if it is possible. It reduces risk of session ID injection. If your site is http://example.com/, set http://example.com/ to it. Note that when HTTPS is used, browser will not send referrer header. Browser may not send referrer header by configuration. Therefore, this setting is not reliable security measure.
  • session.cache_limiter=nocache. Make sure HTTP contents are not cached for authenticated session. Allow caching only when contents is not private. Otherwise, contents may be exposed. "private" may be used if HTTP content does not include security sensitive data. Note that "private" may leave private data cached by shared clients. "public" may be used only when HTTP content does not contain any private data at all.
  • session.hash_function="sha256". Stronger hash function will generates stronger session ID. Although hash collision is unlikely even with MD5 hash, developers should use SHA-2 or later hash functions for the task. Developers may use stronger hashes like sha384 and sha512.

Das Session-Modul bietet keine Garantie dafür, dass Informationen, die Sie in einer Session speichern, nur vom Benutzer gesehen werden können, der die Session erzeugt hat. Sie müssen zusätzliche Maßnahmen ergreifen, um die Vertraulichkeit der Session ihrer Wichtigkeit entsprechend angemessen aktiv zu schützen.

Schätzen Sie die Wichtigkeit der Daten ab, die in Ihren Sessions transportiert werden und treffen Sie zusätzliche Schutzmaßnahmen - in der Regel bezahlen Sie dafür mit einer geringeren Benutzerfreundlichkeit. Wenn Sie z.B. Benutzer vor einfachen Social Engineering Tactics (Anm. des Übersetzers: Techniken der Ausnutzung menschlicher Schwächen) schützen wollen, müssen Sie session.use_only_cookies aktivieren. Cookies müssen dann benutzerseitig auf jeden Fall aktiviert sein, weil Sessions sonst nicht funktionieren.

Es gibt mehrere Wege, über die eine Session-ID an Dritte gelangen kann. Eine entführte Session-ID ermöglicht diesen, auf alle Daten zuzugreifen, die mit dieser Session-ID verbunden sind. Zum einen sind das URLs, die Session-IDs enthalten. Wenn Sie auf eine externe Site verweisen, könnte die URL inklusive Session-ID in den Referrer-Logs der externen Site gespeichert werden. Zum anderen kann ein aktiverer Angreifer Ihren Netzwerkverkehr abhören. Falls Ihr Netzwerkverkehr nicht verschlüsselt ist, werden Session-IDs im Klartext über das Netzwerk übertragen. Hier ist die Lösung, auf Ihrem Server SSL zu implementieren und die Verwendung für Ihre Benutzer obligatorisch zu machen. Hierfür sollte HSTS verwendet werden.

Since PHP 5.5.2, session.use_strict_mode is available. When it is enabled and save handler module supports it, uninitialized session ID is rejected and new session ID is created. This protects attack that force users to use known session ID. Attacker may paste links or send mail that contains session ID. e.g. http://example.com/page.php?PHPSESSID=123456789 If session.use_trans_sid is enabled, victim will start session using attacker provided session ID. session.use_strict_mode mitigates the risk.

Even though session.use_strict_mode mitigates risk of adoptive session management, attacker can force users to use initialized session ID which is created by attacker. All attacker has to do is initialize session ID prior to attack and keep it alive.

Session ID cookie could be set with domain, path, httponly, secure attributes. There is precedence defined by browsers. By using the precedence, attacker can set session ID that could be used permanently. Use of session.use_only_cookies will not solve this issue. session.use_strict_mode mitigates this risk. With session.use_strict_mode=On, uninitialized session ID will not be accepted. Session module creates new session ID always when session ID is not initialized by session module. This could result in DoS to victim, but DoS is better than compromised account.

session.use_strict_mode is good mitigation, but it is not enough mitigation for authenticated session. Developer must use session_regenerate_id() for authentication. session_regenerate_id() must be called prior to set authentication information to $_SESSION. session_regenerate_id() makes sure new session contains authenticated information stored only in new session. i.e. Errors during authentication process may save authenticated flag in old session.

Calling session_regenerate_id() function could result in personal DoS like use_strict_mode=On. However, DoS is better than compromised account. Session ID should be regenerated when user is authenticated at least. Session ID regeneration reduces risk of stolen session ID, thus is should be called periodically. Developer should not rely on session ID expiration. Attackers may access victim's session ID periodically to prevent expiration. Developers must implement their own expiration feature for old sessions.

Note that session_regenerate_id() does not delete old session by default. Old authenticated session may be available for use. If developer would like to prevent old authenticated session to be used by anyone, developer must destroy session by setting delete_old_session to TRUE. However, immediate old session deletion has unwanted side effect. Session could be vanished when there are concurrent connections to web application and/or network is unstable. Instead of deleting old session immediately, you may set short term expiration time in $_SESSION by yourselves. If user accesses to obsolete session(expired session), deny access to it.

session.use_only_cookies and proper use of session_regenerate_id() could cause personal DoS. When this is the case, you may ask users to remove cookies and warn users that there could be possible security issues. Attackers may set malicious cookies via vulnerable web application (i.e. JavaScript injection), vulnerable/malicious browser plugins, etc.

Developers must not use long life session ID for auto login as it increases risk of stolen session. Auto login should be implemented by developer. Use secure one time hash key as auto login key using cookie. Use secure hash stronger than SHA-2. e.g. SHA-256 or greater with random data from /dev/urandom or like. If user is not authenticated, check the one time auto login key is valid or not. If key is valid, authenticate user and set new secure one time hash key. Auto login key is long lived authentication key, this key should be protected as much as possible. Use path/httponly/secure attributes of cookie to protect. Developer must implement feature that disables auto login and removes unneeded auto login key cookie for users.

Session-Upload-Fortschritt
Session-Funktionen
Sessions


Session-Funktionen

Inhaltsverzeichnis

  • session_abort — Discard session array changes and finish session
  • session_cache_expire — Liefert die aktuelle Cache-Verfallszeit
  • session_cache_limiter — Liefert und/oder setzt die aktuelle Cacheverwaltung
  • session_commit — Alias von session_write_close
  • session_create_id — Create new session id
  • session_decode — Dekodiert die Daten einer Session aus einer session-kodierten Zeichenkette
  • session_destroy — Löscht alle in einer Session registrierten Daten
  • session_encode — Kodiert die Daten der aktuellen Session als session-kodierte Zeichenkette
  • session_gc — Perform session data garbage collection
  • session_get_cookie_params — Liefert die Session-Cookie Parameter
  • session_id — Liefert und/oder setzt die aktuelle Session-ID
  • session_is_registered — Überprüft, ob eine globale Variable in einer Session registriert ist
  • session_module_name — Liefert und/oder setzt das aktuelle Session-Modul
  • session_name — Liefert und/oder setzt den Namen der aktuellen Session
  • session_regenerate_id — Ersetzt die aktuelle Session-ID durch eine neu erzeugte
  • session_register_shutdown — Funktion zum Schließen von Sitzungen
  • session_register — Registriert eine oder mehrere globale Variablen in der aktuellen Session
  • session_reset — Re-initialize session array with original values
  • session_save_path — Liefert und/oder setzt den aktuellen Speicherpfad der Session
  • session_set_cookie_params — Setzt die Session-Cookie-Parameter
  • session_set_save_handler — Setzt benutzerdefinierte Session-Speicherfunktionen
  • session_start — Erzeugt eine neue Session oder setzt eine vorhandene fort
  • session_status — Gibt den Status der aktuellen Sitzung zurück
  • session_unregister — Hebt die Registrierung einer globalen Variablen in der aktuellen Session auf
  • session_unset — Löscht alle Session-Variablen
  • session_write_close — Speichert die Session-Daten und beendet die Session
Sessions und Sicherheit
session_abort
Sessions


Discard session array changes and finish session

Session-Funktionen
session_cache_expire
Session-Funktionen
PHP Manual

session_abort

(PHP 5 >= 5.6.0, PHP 7)

session_abort — Discard session array changes and finish session

Beschreibung

void session_abort ( void )

session_abort() finishes session without saving data. Thus the original values in session data are kept.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • $_SESSION
  • The session.auto_start configuration directive
  • session_start() - Erzeugt eine neue Session oder setzt eine vorhandene fort
  • session_reset() - Re-initialize session array with original values
  • session_commit() - Alias von session_write_close

Session-Funktionen
session_cache_expire
Session-Funktionen


Liefert die aktuelle Cache-Verfallszeit

session_abort
session_cache_limiter
Session-Funktionen
PHP Manual

session_cache_expire

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

session_cache_expire — Liefert die aktuelle Cache-Verfallszeit

Beschreibung

int session_cache_expire ([ string $new_cache_expire ] )

session_cache_expire() gibt die aktuelle Einstellung von session.cache_expire zurück.

Die Cache-Verfallszeit wird zu Beginn einer Anfrage auf den standardmäßigen Wert von 180, der in session.cache_expire gespeichert ist, zurückgesetzt. Folglich müssen Sie session_cache_expire() bei jeder Anfrage (und vor dem Aufruf von session_start()) aufrufen.

Parameter-Liste

new_cache_expire

Wenn new_cache_expire angegeben wurde, wird die aktuelle cache_expire durch new_cache_expire ersetzt.

Hinweis: Das Setzen von new_cache_expire bewirkt nur dann etwas, wenn session.cache_limiter auf einen anderen Wert als nocache gesetzt ist.

Rückgabewerte

Gibt die aktuelle Einstellung von session.cache_expire zurück. Der zurückgegebene Wert wird in Minuten angegeben und ist standardmäßig auf 180 gesetzt.

Beispiele

Beispiel #1 session_cache_expire() Beispiel

<?php

/* setzen der Cacheverwaltung auf 'private' */

session_cache_limiter('private');
$cache_limiter = session_cache_limiter();

/* setzen der Cache-Verfallszeit auf 30 Minuten */
session_cache_expire(30);
$cache_expire = session_cache_expire();

/* starten der Session */

session_start();

echo "Die Cacheverwaltung ist jetzt auf $cache_limiter gesetzt<br />";
echo "Die Session wird für $cache_expire Minuten im Cache gespeichert";
?>

Siehe auch

  • session.cache_expire
  • session.cache_limiter
  • session_cache_limiter() - Liefert und/oder setzt die aktuelle Cacheverwaltung

session_abort
session_cache_limiter
Session-Funktionen


Liefert und/oder setzt die aktuelle Cacheverwaltung

session_cache_expire
session_commit
Session-Funktionen
PHP Manual

session_cache_limiter

(PHP 4 >= 4.0.3, PHP 5, PHP 7)

session_cache_limiter — Liefert und/oder setzt die aktuelle Cacheverwaltung

Beschreibung

string session_cache_limiter ([ string $cache_limiter ] )

session_cache_limiter() gibt die Bezeichnung der aktuellen Cacheverwaltung zurück.

Die Cacheverwaltung definiert, welche Cache-Kontroll-HTTP-Header, zum Client geschickt werden. Diese Header bestimmen die Regel, nach der der Seiteninhalt von Client und dazwischenliegenden Proxies in den Cachespeicher aufgenommen werden darf. Wird die Cacheverwaltung auf nocache gesetzt, so ist eine client-/proxyseitige Speicherung im Cache nicht erlaubt. Der Wert public erlaubt die Aufnahme in den Cachespeicher durch Proxies und den Client, wohingegen private Proxies die Speicherung im Cache verbietet und dem Client erlaubt, den Seiteninhalt im Cache zu speichern.

Im private-Modus könnte ein zum Client gesendeter Expire-Header manche Browser, inklusive Mozilla, verwirren. Sie können dieses Problem durch Verwendung des private_no_expire-Modus vermeiden. In diesem Modus wird nie ein Expire-Header zum Client gesendet.

Wenn die Cacheverwaltung auf '' gesetzt wird, werden überhaupt keine Cache-Header mehr automatisch gesendet.

Zu Beginn einer Anfrage wird die Cacheverwaltung auf den voreingestellten Wert zurückesetzt, der in session.cache_limiter gespeichert ist. Daher müssen Sie session_cache_limiter() bei jeder Anfrage aufrufen (und zwar bevor session_start() aufgerufen wird).

Parameter-Liste

cache_limiter

Wenn cache_limiter angegeben wurde, wird diese dem neuen Wert entsprechend geändert.

Mögliche Werte
Wert Gesendete Header
public
Expires: (entsprechend session.cache_expire irgendwann in der Zukunft)
Cache-Control: public, max-age=(entsprechend session.cache_expire irgendwann
                                in der Zukunft)
Last-Modified: (der Zeitstempel der letzten Session-Speicherung)
private_no_expire
Cache-Control: private, max-age=(session.cache_expire in der Zukunft),
               pre-check=(session.cache_expire in der Zukunft)
Last-Modified: (der Zeitstempel der letzten Session-Speicherung)
private
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: private, max-age=(session.cache_expire in der Zukunft),
               pre-check=(session.cache_expire in der Zukunft)
Last-Modified: (der Zeitstempel der letzten Session-Speicherung)
nocache
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache

Rückgabewerte

Gibt die Bezeichnung der aktuellen Cacheverwaltung zurück.

Beispiele

Beispiel #1 session_cache_limiter() Beispiel

<?php
/* setzen der Cacheverwaltung auf 'private' */
session_cache_limiter('private');
$cacheverwaltung = session_cache_limiter();
echo "Die Cacheverwaltung ist jetzt auf $cacheverwaltung gesetzt<br />";
?>

Siehe auch

  • session.cache_limiter

session_cache_expire
session_commit
Session-Funktionen


Alias von session_write_close

session_cache_limiter
session_create_id
Session-Funktionen
PHP Manual

session_commit

(PHP 4 >= 4.4.0, PHP 5, PHP 7)

session_commit — Alias von session_write_close()

Beschreibung

Diese Funktion ist ein Alias für: session_write_close().

session_cache_limiter
session_create_id
Session-Funktionen


Create new session id

session_commit
session_decode
Session-Funktionen
PHP Manual

session_create_id

(PHP 7 >= 7.1.0)

session_create_id — Create new session id

Beschreibung

string session_create_id ([ string $prefix ] )

session_create_id() is used to create new session id for the current session. It returns collision free session id.

If session is not active, collision check is omitted.

Session ID is created according to php.ini settings.

It is important to use the same user ID of your web server for GC task script. Otherwise, you may have permission problems especially with files save handler.

Parameter-Liste

prefix

If prefix is specified, new session id is prefixed by prefix. Not all characters are allowed within the session id. Characters in the range a-z A-Z 0-9 , (comma) and - (minus) are allowed.

Rückgabewerte

session_create_id() returns new collision free session id for the current session. If it is used without active session, it omits collision check.

Beispiele

Beispiel #1 session_create_id() example with session_regenerate_id()

<?php
// My session start function support timestamp management
function my_session_start() {
    session_start();
    // Do not allow to use too old session ID
    if (!empty($_SESSION['deleted_time']) && $_SESSION['deleted_time'] < time() - 180) {
        session_destroy();
        session_start();
    }
}

// My session regenerate id function
function my_session_regenerate_id() {
    // Call session_create_id() while session is active to
    // make sure collision free.
    if (session_status() != PHP_SESSION_ACTIVE) {
        session_start();
    }
    // WARNING: Never use confidential strings for prefix!
    $newid = session_create_id('myprefix-');
    // Set deleted timestamp. Session data must not be deleted immediately for reasons.
    $_SESSION['deleted_time'] = time();
    // Finish session
    session_commit();
    // Make sure to accept user defined session ID
    // NOTE: You must enable use_strict_mode for normal operations.
    ini_set('session.use_strict_mode', 0);
    // Set new custome session ID
    session_id($newid);
    // Start with custome session ID
    session_start();
}

// Make sure use_strict_mode is enabled.
// use_strict_mode is mandatory for security reasons.
ini_set('session.use_strict_mode', 1);
my_session_start();

// Session ID must be regenerated when
//  - User logged in
//  - User logged out
//  - Certain period has passed
my_session_regenerate_id();

// Write useful codes
?>

Siehe auch

  • session_regenerate_id() - Ersetzt die aktuelle Session-ID durch eine neu erzeugte
  • session_start() - Erzeugt eine neue Session oder setzt eine vorhandene fort
  • session.use_strict_mode

session_commit
session_decode
Session-Funktionen


Dekodiert die Daten einer Session aus einer session-kodierten Zeichenkette

session_create_id
session_destroy
Session-Funktionen
PHP Manual

session_decode

(PHP 4, PHP 5, PHP 7)

session_decode — Dekodiert die Daten einer Session aus einer session-kodierten Zeichenkette

Beschreibung

bool session_decode ( string $data )

session_decode() dekodiert die mittels data übergebenen serialisierten Daten der Session und füllt die $_SESSION-Superglobale damit.

Es ist zu beachten, dass das Deserialisierungsverfahren nicht das selbe ist, wie bei unserialize(). Das Serialisierungsverfahren ist PHP-intern und kann mit der Konfigurationsoption session.serialize_handler festgelegt werden.

Parameter-Liste

data

Die kodierten Daten, die gespeichert werden sollen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • session_encode() - Kodiert die Daten der aktuellen Session als session-kodierte Zeichenkette
  • session.serialize_handler

session_create_id
session_destroy
Session-Funktionen


Löscht alle in einer Session registrierten Daten

session_decode
session_encode
Session-Funktionen
PHP Manual

session_destroy

(PHP 4, PHP 5, PHP 7)

session_destroy — Löscht alle in einer Session registrierten Daten

Beschreibung

bool session_destroy ( void )

session_destroy() löscht alle in Verbindung mit der aktuellen Session stehenden Daten. Mit der Session zusammenhängende globale Variablen und das Session-Cookie werden nicht gelöscht. Um wieder Session-Variablen verwenden zu können, muss session_start() aufgerufen werden.

Um die Session komplett zu löschen, z.B. um einen Benutzer auszuloggen, muss auch die Session-ID gelöscht werden. Wenn zum Verfolgen der Session ein Cookie benutzt wird (standardmäßige Einstellung), muss das Session-Cookie gelöscht werden. Dafür kann setcookie() verwendet werden.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Löschen einer Session mit $_SESSION

<?php
// Initialisierung der Session.
// Wenn Sie session_name("irgendwas") verwenden, vergessen Sie es
// jetzt nicht!
session_start();

// Löschen aller Session-Variablen.
$_SESSION = array();

// Falls die Session gelöscht werden soll, löschen Sie auch das
// Session-Cookie.
// Achtung: Damit wird die Session gelöscht, nicht nur die Session-Daten!
if (ini_get("session.use_cookies")) {
    $params = session_get_cookie_params();
    setcookie(session_name(), '', time() - 42000, $params["path"],
        $params["domain"], $params["secure"], $params["httponly"]
    );
}

// Zum Schluß, löschen der Session.
session_destroy();
?>

Anmerkungen

Hinweis:

Verwenden Sie session_unset() nur bei veraltetem Code, bei dem nicht $_SESSION benutzt wird.

Siehe auch

  • unset() - Löschen einer angegebenen Variablen
  • setcookie() - Sendet ein Cookie

session_decode
session_encode
Session-Funktionen


Kodiert die Daten der aktuellen Session als session-kodierte Zeichenkette

session_destroy
session_gc
Session-Funktionen
PHP Manual

session_encode

(PHP 4, PHP 5, PHP 7)

session_encode — Kodiert die Daten der aktuellen Session als session-kodierte Zeichenkette

Beschreibung

string session_encode ( void )

session_encode() gibt eine serialisierte Zeichenkette des Inhalts der aktuellen Session, der in der $_SESSION-Superglobalen gespeichert ist, zurück.

Es ist zu beachten, dass das Serialisierungsverfahren nicht das selbe ist, wie bei serialize(). Das Serialisierungsverfahren ist PHP-intern und kann mit der Konfigurationsoption session.serialize_handler festgelegt werden.

Rückgabewerte

Gibt Inhalt der aktuellen Session kodiert zurück.

Anmerkungen

Warnung

session_start() muss vor session_encode() aufgerufen werden.

Siehe auch

  • session_decode() - Dekodiert die Daten einer Session aus einer session-kodierten Zeichenkette
  • session.serialize_handler

session_destroy
session_gc
Session-Funktionen


Perform session data garbage collection

session_encode
session_get_cookie_params
Session-Funktionen
PHP Manual

session_gc

(No version information available, might only be in Git)

session_gc — Perform session data garbage collection

Beschreibung

int session_gc ( void )

session_gc() is used to perform session data GC(garbage collection). PHP does probability based session GC by default.

Probability based GC works somewhat but it has few problems. 1) Low traffic site's session data may not be deleted within preferred duration. 2) High traffic site's may have too frequent GC. 3) GC is performed on the user's request and the user will experience GC delay.

Therefore, it is recommended to execute GC periodically for production systems. e.g. Use "cron" for UNIX like systems. Make sure to disable probability based GC by setting session.gc_probability to 0.

Rückgabewerte

session_gc() returns number of deleted session data for success, FALSE for failure.

Old save handlers do not return number of deleted session data, but only success/failure flag. If this is the case, number of deleted session data became 1 regardless of actually deleted data.

Beispiele

Beispiel #1 session_gc() example for task managers like cron

<?php
// Note: This script should be executed by the same user of web server process.

// Need active session to initialize session data storage access.
session_start();

// Executes GC immediately
session_gc();

// Clean up session ID created by session_gc()
session_destroy();
?>

Beispiel #2 session_gc() example for user accessible script

<?php
// Note: session_gc() is recommended to be used by task manager script, but
// it may be used as follows.

// Used for last GC time check
$gc_time = '/tmp/php_session_last_gc';
$gc_period = 1800;

session_start();
// Execute GC only when GC period elapsed.
// i.e. Calling session_gc() every request is waste of resources.
if (file_exists($gc_time)) {
    if (filemtime($gc_time) < time() - $gc_period) {
        session_gc();
        touch($gc_time);
    }
} else {
    touch($gc_time);
}
?>

Siehe auch

  • session_start() - Erzeugt eine neue Session oder setzt eine vorhandene fort
  • session_destroy() - Löscht alle in einer Session registrierten Daten
  • session.gc_probability

session_encode
session_get_cookie_params
Session-Funktionen


Liefert die Session-Cookie Parameter

session_gc
session_id
Session-Funktionen
PHP Manual

session_get_cookie_params

(PHP 4, PHP 5, PHP 7)

session_get_cookie_params — Liefert die Session-Cookie Parameter

Beschreibung

array session_get_cookie_params ( void )

Liefert die Parameter des Session-Cookie.

Rückgabewerte

Gibt ein Array mit der Information des aktuellen Session-Cookies zurück. Das Array enthält folgende Elemente:

  • "lifetime" - Die Lebensdauer des Cookies in Sekunden.
  • "path" - Der Pfad, unter dem Informationen gespeichert sind.
  • "domain" - Die Domain des Cookies.
  • "secure" - Das Cookie soll nur über sichere Verbindungen gesendet werden.
  • "httponly" - Auf das Cookie kann nur durch das HTTP-Protokoll zugegriffen werden.

Changelog

Version | Beschreibung
5.2.0 | Das Element "httponly" wurde im zurückgegebenen Array hinzugefügt.

Siehe auch

  • session.cookie_lifetime
  • session.cookie_path
  • session.cookie_domain
  • session.cookie_secure
  • session.cookie_httponly
  • session_set_cookie_params() - Setzt die Session-Cookie-Parameter

session_gc
session_id
Session-Funktionen


Liefert und/oder setzt die aktuelle Session-ID

session_get_cookie_params
session_is_registered
Session-Funktionen
PHP Manual

session_id

(PHP 4, PHP 5, PHP 7)

session_id — Liefert und/oder setzt die aktuelle Session-ID

Beschreibung

string session_id ([ string $id ] )

session_id() wird verwendet, um die Session-ID der aktuellen Session zu erhalten oder zu setzen.

Die Konstante SID kann auch dazu verwendet werden, den aktuellen Namen und die Session-ID als Zeichenkette passend zum Anhängen an URLs zu erhalten. Siehe auch Session Funktionen.

Parameter-Liste

id

Wenn id angegeben wird, wird die die aktuelle Session-ID ersetzt. session_id() muss zu diesem Zweck vor session_start() aufgerufen werden. In Abhängigkeit von der Session-Prozedur sind in der Session-ID nicht alle Zeichen erlaubt. Zum Beispiel erlaubt die dateibasierte Session-Prozedur nur Zeichen im Bereich a-z A-Z 0-9 , (Komma) und - (Minus)!

Hinweis: Falls Session-Cookies verwendet werden und für session_id() eine id angegeben wird, wird ungeachtet dessen, ob die aktuelle Session-ID mit der neuen identisch ist, bei jedem Aufruf von session_start() ein neues Cookie gesendet.

Rückgabewerte

session_id() gibt die Session-ID der aktuellen Session zurück oder die leere Zeichenkette (""), falls es keine aktuelle Session gibt (es existiert keine aktuelle Session-ID).

Siehe auch

  • session_regenerate_id() - Ersetzt die aktuelle Session-ID durch eine neu erzeugte
  • session_start() - Erzeugt eine neue Session oder setzt eine vorhandene fort
  • session_set_save_handler() - Setzt benutzerdefinierte Session-Speicherfunktionen
  • session.save_handler

session_get_cookie_params
session_is_registered
Session-Funktionen


Überprüft, ob eine globale Variable in einer Session registriert ist

session_id
session_module_name
Session-Funktionen
PHP Manual

session_is_registered

(PHP 4, PHP 5 < 5.4.0)

session_is_registered — Überprüft, ob eine globale Variable in einer Session registriert ist

Beschreibung

bool session_is_registered ( string $name )

Überprüft, ob eine globale Variable in einer Session registriert ist.

Warnung

Diese Funktion ist seit PHP 5.3.0 DEPRECATED (veraltet) und seit PHP 5.4.0 ENTFERNT.

Parameter-Liste

name

Der Variablenname

Rückgabewerte

Falls in der aktuellen Session eine globale Variable mit dem Namen name registriert ist, gibt session_is_registered() TRUE zurück, andernfalls FALSE.

Anmerkungen

Hinweis:

Benutzen Sie bei Verwendung von $_SESSION (oder $HTTP_SESSION_VARS bei PHP 4.0.6 oder niedriger) isset() um zu prüfen, ob eine Variable in $_SESSION registriert ist.

Achtung

Wenn Sie $_SESSION (oder
$HTTP_SESSION_VARS) verwenden, sollten Sie nicht
session_register(),
session_is_registered() und
session_unregister() verwenden.

session_id
session_module_name
Session-Funktionen


Liefert und/oder setzt das aktuelle Session-Modul

session_is_registered
session_name
Session-Funktionen
PHP Manual

session_module_name

(PHP 4, PHP 5, PHP 7)

session_module_name — Liefert und/oder setzt das aktuelle Session-Modul

Beschreibung

string session_module_name ([ string $module ] )

session_module_name() gibt den Namen des aktuellen Session-Moduls zurück.

Parameter-Liste

module

Wenn module angegeben wird, wird stattdessen dieses Modul verwendet.

Rückgabewerte

Gibt den Namen des aktuellen Session-Moduls zurück.

session_is_registered
session_name
Session-Funktionen


Liefert und/oder setzt den Namen der aktuellen Session

session_module_name
session_regenerate_id
Session-Funktionen
PHP Manual

session_name

(PHP 4, PHP 5, PHP 7)

session_name — Liefert und/oder setzt den Namen der aktuellen Session

Beschreibung

string session_name ([ string $name ] )

session_name() gibt den Namen der aktuellen Session zurück. Falls name angegeben wurde, aktualisiert session_name() den Namen der Session und gibt den alten Namen der Session zurück.

Der Sessionname wird auf den Ausgangswert zurückgesetzt, der zu Beginn in session.name gespeichert wurde. Deshalb muss session_name() bei jeder Anfrage aufgerufen werden (und bevor session_start() oder session_register() aufgerufen wurden).

Parameter-Liste

name

Der Sessionname referenziert den Namen der Session, der in Cookies und URLs verwendet wird (z.B. PHPSESSID). Er sollte nur alphanumerische Zeichen enthalten und sollte kurz und beschreibend sein (z.B. für Benutzer mit aktivierter Cookie-Warnung). Wenn name angegeben wird, wird der Name der aktuellen Session durch dessen Wert ersetzt.

Warnung

Der Sessionname kann nicht nur aus Zahlen bestehen, sondern muss mindestens einen Buchstaben enthalten. Andernfalls wird jedesmal eine neue Session-ID erzeugt.

Rückgabewerte

Gibt den Namen der aktuellen Session zurück. Wird name übergegeben und die Funktion aktualisiert den Sessionnamen, wird der Name der alten Sitzung zurückgegeben.

Beispiele

Beispiel #1 session_name()-Beispiel

<?php
/* den Sessionnamen auf WebsiteID setzen */
$name_vorher = session_name ("WebsiteID");
echo "Der vorhergehende Sessionname war $name_vorher<br />";
?>

Siehe auch

  • Die session.name Konfigurationsanweisung

session_module_name
session_regenerate_id
Session-Funktionen


Ersetzt die aktuelle Session-ID durch eine neu erzeugte

session_name
session_register_shutdown
Session-Funktionen
PHP Manual

session_regenerate_id

(PHP 4 >= 4.3.2, PHP 5, PHP 7)

session_regenerate_id — Ersetzt die aktuelle Session-ID durch eine neu erzeugte

Beschreibung

bool session_regenerate_id ([ bool $delete_old_session = false ] )

Die Funktion session_regenerate_id() ersetzt die aktuelle Session-ID durch eine neue und übernimmt die aktuellen Session-Informationen.

Wenn session.use_trans_sid aktiviert ist, darf die Ausgabe erst nach dem Aufruf von session_regenerate_id() beginnen. Andernfalls wird die alte Session-ID verwendet.

Parameter-Liste

delete_old_session

Legt fest, ob die zugehörige alte Sessiondatei gelöscht werden soll oder nicht.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
4.3.3 | Falls Session-Cookies aktiviert sind, wird durch die Verwendung von session_regenerate_id() nun auch ein neues Session-Cookie mit der neuen Session-ID abgegeben.
5.1.0 | Den Parameter delete_old_session hinzugefügt

Beispiele

Beispiel #1 Ein session_regenerate_id()-Beispiel

<?php
session_start();

$alte_sessionid = session_id();

session_regenerate_id();

$neue_sessionid = session_id();

echo "Alte Session: $alte_sessionid<br>";
echo "Neue Session: $neue_sessionid<br>";

print_r($_SESSION);
?>

Siehe auch

  • session_id() - Liefert und/oder setzt die aktuelle Session-ID
  • session_start() - Erzeugt eine neue Session oder setzt eine vorhandene fort
  • session_name() - Liefert und/oder setzt den Namen der aktuellen Session

session_name
session_register_shutdown
Session-Funktionen


Funktion zum Schließen von Sitzungen

session_regenerate_id
session_register
Session-Funktionen
PHP Manual

session_register_shutdown

(PHP >=5.4.0)

session_register_shutdown — Funktion zum Schließen von Sitzungen

Beschreibung

void session_register_shutdown ( void )

Registriert session_write_close() als eine Schließ-Funktion..

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

Gibt E_WARNING zurück, wenn das Registrieren der Schließ-Funktion scheitert.

session_regenerate_id
session_register
Session-Funktionen


Registriert eine oder mehrere globale Variablen in der aktuellen Session

session_register_shutdown
session_reset
Session-Funktionen
PHP Manual

session_register

(PHP 4, PHP 5 < 5.4.0)

session_register — Registriert eine oder mehrere globale Variablen in der aktuellen Session

Beschreibung

bool session_register ( mixed $name [, mixed $... ] )

session_register() akzeptiert eine variable Anzahl von Argumenten, die jeweils entweder eine Zeichenkette sein können, die den Namen einer Variablen trägt, oder ein Array, das aus solchen Variablennamen oder anderen Arrays besteht. Für jeden Namen registriert session_register() die globale Variable mit diesem Namen in der aktuellen Session.

Sie können eine Session-Variable auch erzeugen, indem Sie das entsprechende Element des $_SESSION- oder (PHP <= 4.1.0) $HTTP_SESSION_VARS-Arrays setzen.

<?php
// Sie sollten session_register() nicht verwenden
$barney = "A big purple dinosaur.";
session_register("barney");

// Ab PHP 4.1.0 ist die Verwendung von $_SESSION vorzuziehen
$_SESSION["zim"] = "An invader from another planet.";

// Die alte Methode war, $HTTP_SESSION_VARS zu verwenden
$HTTP_SESSION_VARS["spongebob"] = "He's got square pants.";
?>

Wenn session_start() nicht vor dieser Funktion aufgerufen wurde, erfolgt ein impliziter Aufruf von session_start() ohne Parameter. $_SESSION ahmt dieses Verhalten nicht nach und benötigt den Aufruf von session_start() bevor es verwendet wird.

Warnung

Diese Funktion ist seit PHP 5.3.0 DEPRECATED (veraltet) und seit PHP 5.4.0 ENTFERNT.

Parameter-Liste

name

Eine Zeichenkette, die den Namen einer Variablen trägt, oder ein Array, das aus solchen Variablennamen oder anderen Arrays besteht.

...

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Achtung

Wenn Sie wollen, dass ihr Script unabhängig von der Einstellung von register_globals funktioniert, müssen Sie stattdessen das Array $_SESSION verwenden, weil $_SESSION-Einträge automatisch registriert werden. Wenn Sie in Ihrem Script session_register() verwenden, funktioniert es nicht in Umgebungen, in denen die PHP-Anweisung register_globals deaktiviert ist.

Hinweis: register_globals: Wichtiger Hinweis

Seit PHP 4.2.0 ist die Standardeinstellung für die Konfigurationsoption register_globals off. Die PHP-Community ermutigt alle, sich nicht auf diese Option zu verlassen und Alternativen wie superglobals zu verwenden.

Achtung

Diese Funktion registriert eine globale Variable. Wenn Sie eine Session-Variable innerhalb einer Funktion registrieren wollen, müssen Sie sicherstellen, dass Sie sie unter Verwendung des global-Schlüsselworts oder des $GLOBALS[]-Arrays global machen oder die nachstehend vermerkten speziellen Session-Arrays verwenden.

Achtung

Wenn Sie $_SESSION (oder
$HTTP_SESSION_VARS) verwenden, sollten Sie nicht
session_register(),
session_is_registered() und
session_unregister() verwenden.

Hinweis:

Gegenwärtig ist es nicht möglich, Ressourcen-Variablen in einer Session zu registrieren. Zum Beispiel können Sie nicht erwarten, dass die als Session-Variable gespeicherte Verbindungs-Kennung der zu einer Datenbank aufgebauten Verbindung bei der nächsten Wiederherstellung der Session noch gültig ist. PHP-Funktionen, die eine Ressource zurückgeben, können daran erkannt werden, dass sie einen Rückgabewert resource in ihrer Funktionsdefinition haben. Eine Liste der Funktionen, die Ressourcen zurückgeben befindet sich im Anhang Liste von PHP Ressourcen.

Bei Verwendung von $_SESSION (oder $HTTP_SESSION_VARS bei PHP 4.0.6 oder niedriger) weisen Sie $_SESSION einen Wert zu, also $_SESSION['var'] = 'ABC';

Siehe auch

  • session_is_registered() - Überprüft, ob eine globale Variable in einer Session registriert ist
  • session_unregister() - Hebt die Registrierung einer globalen Variablen in der aktuellen Session auf
  • $_SESSION

session_register_shutdown
session_reset
Session-Funktionen


Re-initialize session array with original values

session_register
session_save_path
Session-Funktionen
PHP Manual

session_reset

(PHP 5 >= 5.6.0, PHP 7)

session_reset — Re-initialize session array with original values

Beschreibung

void session_reset ( void )

session_reset() reinitializes a session with original values stored in session storage. This function requires an active session and discards changes in $_SESSION.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • $_SESSION
  • The session.auto_start configuration directive
  • session_start() - Erzeugt eine neue Session oder setzt eine vorhandene fort
  • session_abort() - Discard session array changes and finish session
  • session_commit() - Alias von session_write_close

session_register
session_save_path
Session-Funktionen


Liefert und/oder setzt den aktuellen Speicherpfad der Session

session_reset
session_set_cookie_params
Session-Funktionen
PHP Manual

session_save_path

(PHP 4, PHP 5, PHP 7)

session_save_path — Liefert und/oder setzt den aktuellen Speicherpfad der Session

Beschreibung

string session_save_path ([ string $path ] )

session_save_path() gibt den Pfad des aktuellen Verzeichnisses zurück, das zum Speichern der Session-Daten verwendet wird.

Parameter-Liste

path

Der Pfad der Session-Daten. Sofern angegeben, wird der Pfad, unter dem Daten gespeichert werden, entsprechend geändert. Zu diesem Zweck muss session_save_path() vor session_start() aufgerufen werden.

Hinweis:

Unter manchen Betriebssystemen, wollen Sie vielleicht einen Pfad auf einem Dateisystem angeben, das sehr viele kleine Dateien effizient behandelt. Unter Linux, zum Beispiel, bietet reiserfs eventuell eine bessere Performance als ext2fs.

Rückgabewerte

Gibt den Pfad des aktuellen Verzeichnisses zurück, das zum Speichern der Session-Daten verwendet wird.

Siehe auch

  • Die session.save_path Konfigurationsanweisung

session_reset
session_set_cookie_params
Session-Funktionen


Setzt die Session-Cookie-Parameter

session_save_path
session_set_save_handler
Session-Funktionen
PHP Manual

session_set_cookie_params

(PHP 4, PHP 5, PHP 7)

session_set_cookie_params — Setzt die Session-Cookie-Parameter

Beschreibung

void session_set_cookie_params ( int $lifetime [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]] )

Setzen der Cookie-Parameter, die in der php.ini definiert sind. Diese Funktion wirkt sich nur für die Dauer des Scripts aus. Folglich müssen Sie session_set_cookie_params() bei jeder Anfrage und noch vor dem Aufruf von session_start() aufrufen.

Diese Funktion aktualisiert die Laufzeitwerte der zugehörigen Konfigurationsschlüssel, die mittels ini_get() abgefragt werden können.

Parameter-Liste

lifetime

Die Lebensdauer des Session-Cookies in Sekunden

path

Der Pfad der Domain, in dem das Cookie zu Verfügung steht. Mit einem einfachen Schrägstrich ('/') gilt es für alle Pfade der Domain.

domain

Die Cookie-Domain, z.B. 'www.php.net'. Damit die Cookies auf allen Subdomains zur Verfügung stehen, muss der Domain wie in '.php.net' ein Punkt vorangestellt werden.

secure

Falls auf TRUE gesetzt, wird das Cookie nur über sichere Verbindungen gesendet.

httponly

Falls auf TRUE gesetzt, versucht PHP das httponly-Flag zu senden wenn das Session-Cookie gesetzt wird.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Changelog

Version | Beschreibung
5.2.0 | Den Parameter httponly hinzugefügt.

Siehe auch

  • session.cookie_lifetime
  • session.cookie_path
  • session.cookie_domain
  • session.cookie_secure
  • session.cookie_httponly
  • session_get_cookie_params() - Liefert die Session-Cookie Parameter

session_save_path
session_set_save_handler
Session-Funktionen


Setzt benutzerdefinierte Session-Speicherfunktionen

session_set_cookie_params
session_start
Session-Funktionen
PHP Manual

session_set_save_handler

(PHP 4, PHP 5, PHP 7)

session_set_save_handler — Setzt benutzerdefinierte Session-Speicherfunktionen

Beschreibung

bool session_set_save_handler ( callback $open , callback $close , callback $read , callback $write , callback $destroy , callback $gc )
bool session_set_save_handler ( SessionHandlerInterface $sessionhandler [, bool $register_shutdown = true ] )

session_set_save_handler() setzt die benutzerdefinierten Session-Speicherfunktionen, die zur Speicherung und Wiederherstellung von zur Session gehörigen Daten verwendet werden. Dies ist äußerst nützlich, wenn eine andere als die mit PHP-Sessions zur Verfügung stehende Art der Speicherung, z.B. die Speicherung der Session-Daten in einer lokalen Datenbank, bevorzugt wird.

Parameter-Liste

Diese Funktion hat zwei Prototypen.

sessionhandler

Ein Exemplar einer Klasse die SessionHandlerInterface implementiert, wie beispielsweise SessionHandler, das als benutzerdefinierte Session-Speicherfunktion registriert werden soll.

register_shutdown

Registriert session_register_shutdown() als eine register_shutdown_function() Funktion.

oder
open

Die öffnen-Routine funktionert wie ein Konstruktor in einer Klasse und wird ausgeführt, wenn die Session geöffnet wird. Sie erwartet zwei Parameter: als Ersten den Speicherpfad und als Zweiten den Namen der Session.

close

Die schließen-Routine funktionert wie ein Destruktor in einer Klasse und wird am Ende der Session ausgeführt.

read

Damit die Speicherroutine funktioniert wie erwartet, muss die lesen-Routine immer eine Zeichenkette zurückgeben. Wenn es keine Daten zu lesen gibt, geben Sie eine leere Zeichenkette zurück. Rückgabewerte anderer Routinen werden in boolesche Ausdrücke umgewandelt. TRUE für einen Erfolg, FALSE für einen Fehler.

write

Die schreiben-Routine, die aufgerufen wird, wenn Session-Daten gespeichert werden sollen. Diese Funktion erwartet zwei Parameter: eine Session-ID und die zugehörigen Daten.

Hinweis:

Die schreiben-Routine wird nicht ausgeführt, bevor die Ausgabe abgeschlossen ist. Deshalb werden auch niemals Fehlermeldungen der schreiben-Routine im Browser erscheinen. Wenn die Ausgabe von Fehlermeldungen nötig ist, sollte diese stattdessen in eine Datei geschrieben werden.

destroy

Die löschen-Routine wird ausgeführt, wenn eine Session mittels session_destroy() gelöscht wird. Sie erwartet die Session-ID als einzigen Parameter.

gc

Der Speicherbereiniger (garbage collector) wird ausgeführt, wenn der Session-Speicherbereiniger ausgeführt wird. Er erwartet die maximale Session-Verfallszeit als einzigen Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 session_set_save_handler() Beispiel

Das folgende Beispiel liefert eine dateibasierte Session-Speicherung, die der Standard-Speicherroutine files der PHP-Sessions ähnlich ist. Dieses Beispiel kann problemlos erweitert werden, dass es Datenbank-Speicherung mittels ihrer bevorzugten PHP-gestützten Datenbank beinhaltet.

<?php
function oeffne($speicherpfad, $session_name)
{
  global $sess_speicherpfad;

  $sess_speicherpfad = $speicherpfad;
  return(true);
}

function schliesse()
{
  return(true);
}

function lese($id)
{
  global $sess_speicherpfad;

  $sess_datei = "$sess_speicherpfad/sess_$id";
  return (string) @file_get_contents($sess_datei);
}

function schreibe($id, $sess_daten)
{
  global $sess_speicherpfad;

  $sess_datei = "$sess_speicherpfad/sess_$id";
  if ($fp = @fopen($sess_datei, "w")) {
    $return = fwrite($fp, $sess_daten);
    fclose($fp);
    return $return;
  } else {
    return(false);
  }
}

function loesche($id)
{
  global $sess_speicherpfad;

  $sess_datei = "$sess_speicherpfad/sess_$id";
  return(@unlink($sess_datei));
}

function gc($maxlifetime)
{
  global $sess_speicherpfad;

  foreach (glob("$sess_speicherpfad/sess_*") as $dateiname) {
    if (filemtime($dateiname) + $maxlifetime < time()) {
      @unlink($dateiname);
    }
  }
  return true;
}

session_set_save_handler("oeffne", "schliesse", "lese", "schreibe", "loesche", "gc");

session_start();

// verfahren Sie mit Sessions wie gewohnt
?>

Beispiel #2 session_set_save_handler() mit Verwendung von SessionHandler

<?php
class MySessionHandler extends SessionHandler {
  public function open($save_path, $sessionid)
  {
    global $sess_save_path;

    $sess_save_path = $save_path;
    return(true);
  }
  public function close()
  {
    return true;
  }
  public function read($sessionid)
  {
    global $sess_save_path;

    $sess_file = "$sess_save_path/sess_$id";
    return (string) @file_get_contents($sess_file);
  }
  public function write($sessionid, $sessiondata)
  {
    global $sess_save_path;

    $sess_file = "$sess_save_path/sess_$id";
    if ($fp = @fopen($sess_file, "w")) {
      $return = fwrite($fp, $sess_data);
      fclose($fp);
      return $return;
    } else {
      return(false);
    }
  }
  public function destroy($sessionid)
  {
    global $sess_save_path;

    $sess_file = "$sess_save_path/sess_$id";
    return(@unlink($sess_file));
  }
  public function gc($maxlifetime)
  {
    global $sess_save_path;

    foreach (glob("$sess_save_path/sess_*") as $filename) {
      if (filemtime($filename) + $maxlifetime < time()) {
        @unlink($filename);
      }
    }
    return true;
  }
}

$handler = new MySessionHandler();
session_set_save_handler($handler);

session_start();
?>

Anmerkungen

Warnung

Ab PHP 5.0.5 werden die Routinen write und close nach dem Zerstören von Objekten aufgerufen und können deshalb keine Objekte verwenden oder Exceptions (Fehler-, Ausnahmesituationen) auslösen. Objekt-Destruktoren können aber Sessions verwenden.

Es ist möglich, session_write_close() über den Destruktor aufzurufen, um dieses Henne-Ei Problem zu lösen.

Warnung

Bei manchen SAPIs ändert sich das aktuelle Arbeitsverzeichnis, falls die Session durch die Beendigung des Skripts geschlossen wird. Mittels session_write_close() ist es möglich, die Session schon früher zu schließen.

Changelog

Version | Beschreibung
5.4.0 | SessionHandlerInterface und SessionHandler zum Implementieren von benutzerdefinierten Session-Speicherfunktionen hinzugefügt.

Siehe auch

  • Die session.save_handler Konfigurationsanweisung

session_set_cookie_params
session_start
Session-Funktionen


Erzeugt eine neue Session oder setzt eine vorhandene fort

session_set_save_handler
session_status
Session-Funktionen
PHP Manual

session_start

(PHP 4, PHP 5, PHP 7)

session_start — Erzeugt eine neue Session oder setzt eine vorhandene fort

Beschreibung

bool session_start ( void )

session_start() erzeugt eine Session oder nimmt die aktuelle wieder auf, die auf der Session-Kennung basiert, die mit einer GET- oder POST-Anfrage oder mit einem Cookie übermittelt wurde.

Wenn session_start() aufgerufen wird oder eine Session automatisch startet, ruft PHP die Öffnen- und Lesen-Routinen der Session-Speicherfunktion auf. Dies ist entweder eine eingebaute Speicherfunktion, die standardmäßig mitgeliefert wird oder von Erweiterungen (wie z.B. SQLite oder Memcached) zur Verfügung gestellt wird oder eine eigene Funktion, die mittels session_set_save_handler() definiert wurde. Die Lesen-Routine ruft alle vorhandenen Sessiondaten (abgespeichert in einem speziellen serialisierten Format) ab und deserialisiert sie, um damit die $_SESSION-Superglobale zu füllen.

Um eine benannte Session zu verwenden, rufen Sie session_name() auf, bevor Sie session_start() aufrufen.

Wenn session.use_trans_sid aktiviert ist, registriert die Funktion session_start() eine interne Ausgaberoutine für das Umschreiben von URLs.

Verwendet ein Benutzer ob_gzhandler oder ähnliches mit ob_start(), dann ist die Reihenfolge der Funktionen wichtig für eine korrekte Ausgabe. Zum Beispiel muss ob_gzhandler vor Beginn der Session registriert werden.

Rückgabewerte

Falls die Session erfolgreich gestartet wurde, gibt diese Funktion TRUE zurück, andernfalls FALSE.

Changelog

Version | Beschreibung
5.3.0 | Falls der Start der Session fehlschlägt, wird FALSE zurückgegeben. Vorher wurde TRUE zurückgegeben.
4.3.3 | Ab PHP 4.3.3 resultiert der Aufruf von session_start() nachdem die Session vorher gestartet wurde in einem Fehler der Stufe E_NOTICE. Der zweite Start der Session wird in diesem Fall einfach ignoriert.

Beispiele

Beispiel #1 Ein Session-Beispiel: seite1.php

<?php
// seite1.php

session_start();

echo 'Willkommen auf Seite #1';

$_SESSION['farbe'] = 'grün';
$_SESSION['tier'] = 'Spinne';
$_SESSION['zeit'] = time();

// Funktioniert, falls das Session-Cookie akzeptiert wurde
echo '<br /><a href="seite2.php">Seite 2</a>';

// Oder die Session-ID mit übergeben, für den Fall, dass sie benötigt wird
echo '<br /><a href="seite2.php?' . SID . '">Seite 2</a>';
?>

Nach dem Aufruf von seite1.php enthält automatisch auch die zweite Seite, seite2.php, die Session-Daten. Lesen Sie Session Funktionen, um weitere Informationen über die Übermittlung der Session-ID zu erhalten. Dort wird zum Beispiel erklärt, worum es sich bei der Konstanten SID handelt.

Beispiel #2 Ein Session-Beispiel: seite2.php

<?php
// seite2.php

session_start();

echo 'Willkommen auf Seite #2<br />';

echo $_SESSION['farbe'];  // grün
echo $_SESSION['tier'];   // Spinne
echo date('d.m.Y H:i:s', $_SESSION['zeit']);

// Sie können auch hier, genauso wie bei seite1.php, SID verwenden
echo '<br /><a href="seite1.php">Seite 1</a>';
?>

Anmerkungen

Hinweis:

Um Cookie-basierte Sessions zu verwenden muss session_start() aufgerufen werden, bevor irgend etwas an den Browser geschickt wird.

Hinweis:

Die Verwendung von zlib.output_compression ist ob_gzhandler() vorzuziehen.

Hinweis:

In Abhängigkeit von der Konfiguration sendet diese Funktion verschiedene HTTP-Header. Siehe session_cache_limiter() um diese Header anzupassen,

Siehe auch

  • $_SESSION
  • Die session.auto_start Konfigurationsanweisung
  • session_id() - Liefert und/oder setzt die aktuelle Session-ID

session_set_save_handler
session_status
Session-Funktionen


Gibt den Status der aktuellen Sitzung zurück

session_start
session_unregister
Session-Funktionen
PHP Manual

session_status

(PHP >=5.4.0)

session_status — Gibt den Status der aktuellen Sitzung zurück

Beschreibung

int session_status ( void )

session_status() wird für die Rückgabe des Status der aktuellen Sitzung verwendet.

Rückgabewerte

  • PHP_SESSION_DISABLED wenn die Sitzung deaktiviert ist.
  • PHP_SESSION_NONE wenn Sitzungen aktiviert sind, aber keine existiert.
  • PHP_SESSION_ACTIVE wenn Sitzungen aktiviert sind und eine existiert.

Siehe auch

  • session_start() - Erzeugt eine neue Session oder setzt eine vorhandene fort
session_start
session_unregister
Session-Funktionen


Hebt die Registrierung einer globalen Variablen in der aktuellen Session auf

session_status
session_unset
Session-Funktionen
PHP Manual

session_unregister

(PHP 4, PHP 5 < 5.4.0)

session_unregister — Hebt die Registrierung einer globalen Variablen in der aktuellen Session auf

Beschreibung

bool session_unregister ( string $name )

session_unregister() hebt die Registrierung der globalen Variablen namens name in der aktuellen Session auf.

Warnung

Diese Funktion ist seit PHP 5.3.0 DEPRECATED (veraltet) und seit PHP 5.4.0 ENTFERNT.

Parameter-Liste

name

Der Variablenname

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Hinweis:

Benutzen Sie bei Verwendung von $_SESSION (oder $HTTP_SESSION_VARS bei PHP 4.0.6 oder niedriger) unset() um die Registrierung einer Session-Variablen aufzuheben. Heben Sie aber nicht $_SESSION selbst mit unset() auf, weil dies die besondere Funktion der Superglobalen $_SESSION deaktivieren würde.

Achtung

Diese Funktion löscht die name entsprechende globale Variable nicht, sondern verhindert nur, dass die Variable als Teil der Session gespeichert wird. Sie müssen unset() aufrufen, um die entsprechende globale Variable zu entfernen.

Achtung

Wenn Sie $_SESSION (oder
$HTTP_SESSION_VARS) verwenden, sollten Sie nicht
session_register(),
session_is_registered() und
session_unregister() verwenden.

session_status
session_unset
Session-Funktionen


Löscht alle Session-Variablen

session_unregister
session_write_close
Session-Funktionen
PHP Manual

session_unset

(PHP 4, PHP 5, PHP 7)

session_unset — Löscht alle Session-Variablen

Beschreibung

void session_unset ( void )

Die Funktion session_unset() löscht alle Session-Variablen, die gegenwärtig registriert sind.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Anmerkungen

Hinweis:

Benutzen Sie bei Verwendung von $_SESSION (oder $HTTP_SESSION_VARS bei PHP 4.0.6 oder niedriger) unset() um die Registrierung einer Session-Variablen aufzuheben, d.h. unset ($_SESSION['varname']);.

Achtung

Heben Sie NICHT die Registrierung der gesamten $_SESSION mit unset($_SESSION) auf, weil dies die Registrierung von Variablen durch die Superglobale $_SESSION deaktivieren würde.

session_unregister
session_write_close
Session-Funktionen


Speichert die Session-Daten und beendet die Session

session_unset
SessionHandler
Session-Funktionen
PHP Manual

session_write_close

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

session_write_close — Speichert die Session-Daten und beendet die Session

Beschreibung

void session_write_close ( void )

Beendet die aktuelle Session und speichert die Session-Daten.

Session-Daten werden normalerweise nach Beenden eines Scripts gespeichert, ohne dass session_write_close() aufgerufen werden muss, aber da Session-Daten gesperrt werden, um gleichzeitiges Schreiben zu verhindern, kann jeweils immer nur ein Script auf eine Session einwirken. Bei der Verwendung von Framesets zusammen mit Sessions werden Sie merken, dass wegen dieser Sperrung ein Frame nach dem anderen geladen wird. Sie können die Zeit zum Laden aller Frames reduzieren, indem Sie die Session beenden, sobald alle Änderungen an den Session-Variablen durchgeführt sind.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • session_register_shutdown() - Funktion zum Schließen von Sitzungen

session_unset
SessionHandler
Session-Funktionen


The SessionHandler class

(PHP 5 >= 5.4.0, PHP 7)

Einführung

SessionHandler is a special class that can be used to expose the current internal PHP session save handler by inheritance. There are seven methods which wrap the seven internal session save handler callbacks (open, close, read, write, destroy, gc and create_sid). By default, this class will wrap whatever internal save handler is set as defined by the session.save_handler configuration directive which is usually files by default. Other internal session save handlers are provided by PHP extensions such as SQLite (as sqlite), Memcache (as memcache), and Memcached (as memcached).

When a plain instance of SessionHandler is set as the save handler using session_set_save_handler() it will wrap the current save handlers. A class extending from SessionHandler allows you to override the methods or intercept or filter them by calls the parent class methods which ultimately wrap the interal PHP session handlers.

This allows you, for example, to intercept the read and write methods to encrypt/decrypt the session data and then pass the result to and from the parent class. Alternatively one might chose to entirely override a method like the garbage collection callback gc.

Because the SessionHandler wraps the current internal save handler methods, the above example of encryption can be applied to any internal save handler without having to know the internals of the handlers.

To use this class, first set the save handler you wish to expose using session.save_handler and then pass an instance of SessionHandler or one extending it to session_set_save_handler().

Please note the callback methods of this class are designed to be called internally by PHP and are not meant to be called from user-space code. The return values are equally processed internally by PHP. For more information on the session workflow, please refer session_set_save_handler().

Klassenbeschreibung

SessionHandler implements SessionHandlerInterface {
/* Methoden */
public bool close ( void )
public string create_sid ( void )
public bool destroy ( string $session_id )
public bool gc ( int $maxlifetime )
public bool open ( string $save_path , string $session_name )
public string read ( string $session_id )
public bool write ( string $session_id , string $session_data )
}
Warnung

This class is designed to expose the current internal PHP session save handler, if you want to write your own custom save handlers, please implement the SessionHandlerInterface interface instead of extending from SessionHandler.

Changelog

Version | Beschreibung
5.5.1 | Added SessionHandler::create_sid().

Beispiel #1 Using SessionHandler to add encryption to internal PHP save handlers.

<?php

 /**
  * decrypt AES 256
  *
  * @param data $edata
  * @param string $password
  * @return decrypted data
  */
function decrypt($edata, $password) {
    $data = base64_decode($edata);
    $salt = substr($data, 0, 16);
    $ct = substr($data, 16);

    $rounds = 3; // depends on key length
    $data00 = $password.$salt;
    $hash = array();
    $hash[0] = hash('sha256', $data00, true);
    $result = $hash[0];
    for ($i = 1; $i < $rounds; $i++) {
        $hash[$i] = hash('sha256', $hash[$i - 1].$data00, true);
        $result .= $hash[$i];
    }
    $key = substr($result, 0, 32);
    $iv  = substr($result, 32,16);

    return openssl_decrypt($ct, 'AES-256-CBC', $key, true, $iv);
  }

/**
 * crypt AES 256
 *
 * @param data $data
 * @param string $password
 * @return base64 encrypted data
 */
function encrypt($data, $password) {
    // Set a random salt
    $salt = openssl_random_pseudo_bytes(16);

    $salted = '';
    $dx = '';
    // Salt the key(32) and iv(16) = 48
    while (strlen($salted) < 48) {
      $dx = hash('sha256', $dx.$password.$salt, true);
      $salted .= $dx;
    }

    $key = substr($salted, 0, 32);
    $iv  = substr($salted, 32,16);

    $encrypted_data = openssl_encrypt($data, 'AES-256-CBC', $key, true, $iv);
    return base64_encode($salt . $encrypted_data);
}

class EncryptedSessionHandler extends SessionHandler
{
    private $key;

    public function __construct($key)
    {
        $this->key = $key;
    }

    public function read($id)
    {
        $data = parent::read($id);

        if (!$data) {
            return "";
        } else {
            return decrypt($data, $this->key);
        }
    }

    public function write($id, $data)
    {
        $data = encrypt($data, $this->key);

        return parent::write($id, $data);
    }
}

// we'll intercept the native 'files' handler, but will equally work
// with other internal native handlers like 'sqlite', 'memcache' or 'memcached'
// which are provided by PHP extensions.
ini_set('session.save_handler', 'files');

$key = 'secret_string';
$handler = new EncryptedSessionHandler($key);
session_set_save_handler($handler, true);
session_start();

// proceed to set and retrieve values by key from $_SESSION

Hinweis:

Since this class' methods are designed to be called internally by PHP as part of the normal session workflow, child class calls to parent methods (i.e. the actual internal native handlers) will return FALSE unless the session has actually been started (either automatically, or by explicit session_start(). This is important to consider when writing unit tests where the class methods might be invoked manually.

Inhaltsverzeichnis

  • SessionHandler::close — Close the session
  • SessionHandler::create_sid — Return a new session ID
  • SessionHandler::destroy — Destroy a session
  • SessionHandler::gc — Cleanup old sessions
  • SessionHandler::open — Initialize session
  • SessionHandler::read — Read session data
  • SessionHandler::write — Write session data
session_write_close
SessionHandler::close
Sessions


Close the session

SessionHandler
SessionHandler::create_sid
SessionHandler
PHP Manual

SessionHandler::close

(PHP 5 >= 5.4.0, PHP 7)

SessionHandler::close — Close the session

Beschreibung

public bool SessionHandler::close ( void )

Closes the current session. This method is automatically executed internally by PHP when closing the session, or explicitly via session_write_close() (which first calls the SessionHandler::write()).

This method wraps the internal PHP save handler defined in the session.save_handler ini setting that was set before this handler was activated by session_set_save_handler().

If this class is extended by inheritiance, calling the parent close method will invoke the wrapper for this method and therefor invoke the associated internal callback. This allows the method to be overidden and or intercepted.

For more information on what this method is expected to do, please refer to the documentation at SessionHandlerInterface::close().

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Der Rückgabewert (normalerweise TRUE bei Erfolg und FALSE bei Misserfolg). Beachten Sie, dass dieser Wert intern PHP zur Verarbeitung zurückgegeben wird.

SessionHandler
SessionHandler::create_sid
SessionHandler


Return a new session ID

SessionHandler::close
SessionHandler::destroy
SessionHandler
PHP Manual

SessionHandler::create_sid

(PHP 5 >= 5.5.1, PHP 7)

SessionHandler::create_sid — Return a new session ID

Beschreibung

public string SessionHandler::create_sid ( void )

Generates and returns a new session ID.

Rückgabewerte

A session ID valid for the default session handler.

Siehe auch

  • session_id() - Liefert und/oder setzt die aktuelle Session-ID

SessionHandler::close
SessionHandler::destroy
SessionHandler


Destroy a session

SessionHandler::create_sid
SessionHandler::gc
SessionHandler
PHP Manual

SessionHandler::destroy

(PHP 5 >= 5.4.0, PHP 7)

SessionHandler::destroy — Destroy a session

Beschreibung

public bool SessionHandler::destroy ( string $session_id )

Destroys a session. Called internally by PHP with session_regenerate_id() (assuming the $destroy is set to TRUE, by session_destroy() or when session_decode() fails.

This method wraps the internal PHP save handler defined in the session.save_handler ini setting that was set before this handler was set by session_set_save_handler().

If this class is extended by inheritiance, calling the parent destroy method will invoke the wrapper for this method and therefor invoke the associated internal callback. This allows this method to be overidden and or intercepted and filtered.

For more information on what this method is expected to do, please refer to the documentation at SessionHandlerInterface::destroy().

Parameter-Liste

session_id

The session ID being destroyed.

Rückgabewerte

Der Rückgabewert (normalerweise TRUE bei Erfolg und FALSE bei Misserfolg). Beachten Sie, dass dieser Wert intern PHP zur Verarbeitung zurückgegeben wird.

SessionHandler::create_sid
SessionHandler::gc
SessionHandler


Cleanup old sessions

SessionHandler::destroy
SessionHandler::open
SessionHandler
PHP Manual

SessionHandler::gc

(PHP 5 >= 5.4.0, PHP 7)

SessionHandler::gc — Cleanup old sessions

Beschreibung

public bool SessionHandler::gc ( int $maxlifetime )

Cleans up expired sessions. Called randomly by PHP internally when a session starts or when session_start() is invoked. The frequency this is called is based on the session.gc_divisor and session.gc_probability configuration directives.

This method wraps the internal PHP save handler defined in the session.save_handler ini setting that was set before this handler was set by session_set_save_handler().

If this class is extended by inheritiance, calling the parent gc method will invoke the wrapper for this method and therefore invoke the associated internal callback. This allows this method to be overidden and or intercepted and filtered.

For more information on what this method is expected to do, please refer to the documentation at SessionHandlerInterface::gc().

Parameter-Liste

maxlifetime

Sessions that have not updated for the last maxlifetime seconds will be removed.

Rückgabewerte

Der Rückgabewert (normalerweise TRUE bei Erfolg und FALSE bei Misserfolg). Beachten Sie, dass dieser Wert intern PHP zur Verarbeitung zurückgegeben wird.

SessionHandler::destroy
SessionHandler::open
SessionHandler


Initialize session

SessionHandler::gc
SessionHandler::read
SessionHandler
PHP Manual

SessionHandler::open

(PHP 5 >= 5.4.0, PHP 7)

SessionHandler::open — Initialize session

Beschreibung

public bool SessionHandler::open ( string $save_path , string $session_name )

Create new session, or re-initialize existing session. Called internally by PHP when a session starts either automatically or when session_start() is invoked.

This method wraps the internal PHP save handler defined in the session.save_handler ini setting that was set before this handler was set by session_set_save_handler().

If this class is extended by inheritiance, calling the parent open method will invoke the wrapper for this method and therefor invoke the associated internal callback. This allows this method to be overidden and or intercepted and filtered.

For more information on what this method is expected to do, please refer to the documentation at SessionHandlerInterface::open().

Parameter-Liste

save_path

The path where to store/retrieve the session.

session_name

The session name.

Rückgabewerte

Der Rückgabewert (normalerweise TRUE bei Erfolg und FALSE bei Misserfolg). Beachten Sie, dass dieser Wert intern PHP zur Verarbeitung zurückgegeben wird.

Siehe auch

  • The session.auto-start configuration directive.

SessionHandler::gc
SessionHandler::read
SessionHandler


Read session data

SessionHandler::open
SessionHandler::write
SessionHandler
PHP Manual

SessionHandler::read

(PHP 5 >= 5.4.0, PHP 7)

SessionHandler::read — Read session data

Beschreibung

public string SessionHandler::read ( string $session_id )

Reads the session data from the session storage, and returns the result back to PHP for internal processing. This method is called automatically by PHP when a session is started (either automatically or explicity with session_start() and is preceeded by an internal call to the SessionHandler::open().

This method wraps the internal PHP save handler defined in the session.save_handler ini setting that was set before this handler was set by session_set_save_handler().

If this class is extended by inheritiance, calling the parent read method will invoke the wrapper for this method and therefor invoke the associated internal callback. This allows the method to be overidden and or intercepted and filtered (for example, decrypting $data value returned by the parent read method).

For more information on what this method is expected to do, please refer to the documentation at SessionHandlerInterface::read().

Parameter-Liste

session_id

The session id to read data for.

Rückgabewerte

Returns an encoded string of the read data. If nothing was read, it must return an empty string. Note this value is returned internally to PHP for processing.

Siehe auch

  • The session.serialize_handler configuration directive.

SessionHandler::open
SessionHandler::write
SessionHandler


Write session data

SessionHandler::read
SessionHandlerInterface
SessionHandler
PHP Manual

SessionHandler::write

(PHP 5 >= 5.4.0, PHP 7)

SessionHandler::write — Write session data

Beschreibung

public bool SessionHandler::write ( string $session_id , string $session_data )

Writes the session data to the session storage. Called by normal PHP shutdown, by session_write_close(), or when session_register_shutdown() fails. PHP will call SessionHandler::close() immediately after this method returns.

This method wraps the internal PHP save handler defined in the session.save_handler ini setting that was set before this handler was set by session_set_save_handler().

If this class is extended by inheritiance, calling the parent write method will invoke the wrapper for this method and therefor invoke the associated internal callback. This allows this method to be overidden and or intercepted and filtered (for example, encrypting the $data value before sending it to the parent write method).

For more information on what this method is expected to do, please refer to the documentation at SessionHandlerInterface::write().

Parameter-Liste

session_id

The session id.

session_data

The encoded session data. This data is the result of the PHP internally encoding the $_SESSION superglobal to a serialized string and passing it as this parameter. Please note sessions use an alternative serialization method.

Rückgabewerte

Der Rückgabewert (normalerweise TRUE bei Erfolg und FALSE bei Misserfolg). Beachten Sie, dass dieser Wert intern PHP zur Verarbeitung zurückgegeben wird.

Siehe auch

  • The session.serialize_handler configuration directive.

SessionHandler::read
SessionHandlerInterface
SessionHandler


The SessionHandlerInterface class

(PHP 5 >= 5.4.0, PHP 7)

Einführung

SessionHandlerInterface is an interface which defines a prototype for creating a custom session handler. In order to pass a custom session handler to session_set_save_handler() using its OOP invocation, the class must implement this interface.

Please note the callback methods of this class are designed to be called internally by PHP and are not meant to be called from user-space code.

Klassenbeschreibung

SessionHandlerInterface {
/* Methoden */
abstract public bool close ( void )
abstract public bool destroy ( string $session_id )
abstract public bool gc ( int $maxlifetime )
abstract public bool open ( string $save_path , string $session_name )
abstract public string read ( string $session_id )
abstract public bool write ( string $session_id , string $session_data )
}

Beispiel #1 Example using SessionHandlerInterface

The following example provides file based session storage similar to the PHP sessions default save handler files. This example could easily be extended to cover database storage using your favorite PHP supported database engine.

Note we use the OOP prototype with session_set_save_handler() and register the shutdown function using the function's parameter flag. This is generally advised when registering objects as session save handlers.

<?php
class MySessionHandler implements SessionHandlerInterface
{
    private $savePath;

    public function open($savePath, $sessionName)
    {
        $this->savePath = $savePath;
        if (!is_dir($this->savePath)) {
            mkdir($this->savePath, 0777);
        }

        return true;
    }

    public function close()
    {
        return true;
    }

    public function read($id)
    {
        return (string)@file_get_contents("$this->savePath/sess_$id");
    }

    public function write($id, $data)
    {
        return file_put_contents("$this->savePath/sess_$id", $data) === false ? false : true;
    }

    public function destroy($id)
    {
        $file = "$this->savePath/sess_$id";
        if (file_exists($file)) {
            unlink($file);
        }

        return true;
    }

    public function gc($maxlifetime)
    {
        foreach (glob("$this->savePath/sess_*") as $file) {
            if (filemtime($file) + $maxlifetime < time() && file_exists($file)) {
                unlink($file);
            }
        }

        return true;
    }
}

$handler = new MySessionHandler();
session_set_save_handler($handler, true);
session_start();

// proceed to set and retrieve values by key from $_SESSION

Inhaltsverzeichnis

  • SessionHandlerInterface::close — Close the session
  • SessionHandlerInterface::destroy — Destroy a session
  • SessionHandlerInterface::gc — Cleanup old sessions
  • SessionHandlerInterface::open — Initialize session
  • SessionHandlerInterface::read — Read session data
  • SessionHandlerInterface::write — Write session data
SessionHandler::write
SessionHandlerInterface::close
Sessions


Close the session

SessionHandlerInterface
SessionHandlerInterface::destroy
SessionHandlerInterface
PHP Manual

SessionHandlerInterface::close

(PHP 5 >= 5.4.0, PHP 7)

SessionHandlerInterface::close — Close the session

Beschreibung

abstract public bool SessionHandlerInterface::close ( void )

Closes the current session. This function is automatically executed when closing the session, or explicitly via session_write_close().

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Der Rückgabewert (normalerweise TRUE bei Erfolg und FALSE bei Misserfolg). Beachten Sie, dass dieser Wert intern PHP zur Verarbeitung zurückgegeben wird.

SessionHandlerInterface
SessionHandlerInterface::destroy
SessionHandlerInterface


Destroy a session

SessionHandlerInterface::close
SessionHandlerInterface::gc
SessionHandlerInterface
PHP Manual

SessionHandlerInterface::destroy

(PHP 5 >= 5.4.0, PHP 7)

SessionHandlerInterface::destroy — Destroy a session

Beschreibung

abstract public bool SessionHandlerInterface::destroy ( string $session_id )

Destroys a session. Called by session_regenerate_id() (with $destroy = TRUE), session_destroy() and when session_decode() fails.

Parameter-Liste

session_id

The session ID being destroyed.

Rückgabewerte

Der Rückgabewert (normalerweise TRUE bei Erfolg und FALSE bei Misserfolg). Beachten Sie, dass dieser Wert intern PHP zur Verarbeitung zurückgegeben wird.

SessionHandlerInterface::close
SessionHandlerInterface::gc
SessionHandlerInterface


Cleanup old sessions

SessionHandlerInterface::destroy
SessionHandlerInterface::open
SessionHandlerInterface
PHP Manual

SessionHandlerInterface::gc

(PHP 5 >= 5.4.0, PHP 7)

SessionHandlerInterface::gc — Cleanup old sessions

Beschreibung

abstract public bool SessionHandlerInterface::gc ( int $maxlifetime )

Cleans up expired sessions. Called by session_start(), based on session.gc_divisor, session.gc_probability and session.gc_maxlifetime settings.

Parameter-Liste

maxlifetime

Sessions that have not updated for the last maxlifetime seconds will be removed.

Rückgabewerte

Der Rückgabewert (normalerweise TRUE bei Erfolg und FALSE bei Misserfolg). Beachten Sie, dass dieser Wert intern PHP zur Verarbeitung zurückgegeben wird.

SessionHandlerInterface::destroy
SessionHandlerInterface::open
SessionHandlerInterface


Initialize session

SessionHandlerInterface::gc
SessionHandlerInterface::read
SessionHandlerInterface
PHP Manual

SessionHandlerInterface::open

(PHP 5 >= 5.4.0, PHP 7)

SessionHandlerInterface::open — Initialize session

Beschreibung

abstract public bool SessionHandlerInterface::open ( string $save_path , string $session_name )

Re-initialize existing session, or creates a new one. Called when a session starts or when session_start() is invoked.

Parameter-Liste

save_path

The path where to store/retrieve the session.

session_name

The session name.

Rückgabewerte

Der Rückgabewert (normalerweise TRUE bei Erfolg und FALSE bei Misserfolg). Beachten Sie, dass dieser Wert intern PHP zur Verarbeitung zurückgegeben wird.

Siehe auch

  • session_name() - Liefert und/oder setzt den Namen der aktuellen Session
  • The session.auto-start configuration directive.

SessionHandlerInterface::gc
SessionHandlerInterface::read
SessionHandlerInterface


Read session data

SessionHandlerInterface::open
SessionHandlerInterface::write
SessionHandlerInterface
PHP Manual

SessionHandlerInterface::read

(PHP 5 >= 5.4.0, PHP 7)

SessionHandlerInterface::read — Read session data

Beschreibung

abstract public string SessionHandlerInterface::read ( string $session_id )

Reads the session data from the session storage, and returns the results. Called right after the session starts or when session_start() is called. Please note that before this method is called SessionHandlerInterface::open() is invoked.

This method is called by PHP itself when the session is started. This method should retrieve the session data from storage by the session ID provided. The string returned by this method must be in the same serialized format as when originally passed to the SessionHandlerInterface::write() If the record was not found, return an empty string.

The data returned by this method will be decoded internally by PHP using the unserialization method specified in session.serialize_handler. The resulting data will be used to populate the $_SESSION superglobal.

Note that the serialization scheme is not the same as unserialize() and can be accessed by session_decode().

Parameter-Liste

session_id

The session id.

Rückgabewerte

Returns an encoded string of the read data. If nothing was read, it must return an empty string. Note this value is returned internally to PHP for processing.

Siehe auch

  • The session.serialize_handler configuration directive.

SessionHandlerInterface::open
SessionHandlerInterface::write
SessionHandlerInterface


Write session data

SessionHandlerInterface::read
Session PgSQL
SessionHandlerInterface
PHP Manual

SessionHandlerInterface::write

(PHP 5 >= 5.4.0, PHP 7)

SessionHandlerInterface::write — Write session data

Beschreibung

abstract public bool SessionHandlerInterface::write ( string $session_id , string $session_data )

Writes the session data to the session storage. Called by session_write_close(), when session_register_shutdown() fails, or during a normal shutdown. Note: SessionHandlerInterface::close() is called immediately after this function.

PHP will call this method when the session is ready to be saved and closed. It encodes the session data from the $_SESSION superglobal to a serialized string and passes this along with the session ID to this method for storage. The serialization method used is specified in the session.serialize_handler setting.

Note this method is normally called by PHP after the output buffers have been closed unless explicitly called by session_write_close()

Parameter-Liste

session_id

The session id.

session_data

The encoded session data. This data is the result of the PHP internally encoding the $_SESSION superglobal to a serialized string and passing it as this parameter. Please note sessions use an alternative serialization method.

Rückgabewerte

Der Rückgabewert (normalerweise TRUE bei Erfolg und FALSE bei Misserfolg). Beachten Sie, dass dieser Wert intern PHP zur Verarbeitung zurückgegeben wird.

Siehe auch

  • The session.serialize_handler configuration directive.

SessionHandlerInterface::read
Session PgSQL
SessionHandlerInterface


PostgreSQL Session Save Handler

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Table definitions
  • Vordefinierte Konstanten
  • Session PgSQL Funktionen
    • session_pgsql_add_error — Increments error counts and sets last error message
    • session_pgsql_get_error — Returns number of errors and last error message
    • session_pgsql_get_field — Get custom field value
    • session_pgsql_reset — Reset connection to session database servers
    • session_pgsql_set_field — Set custom field value
    • session_pgsql_status — Get current save handler status
SessionHandlerInterface::write
Einführung
Session-Erweiterungen


Einführung

Hinweis: Diese Erweiterung steht auf Windows-Betriebssystemen nicht zur Verfügung.

This module provides an additional session save handler for the session module using » PostgreSQL as a storage system. A user-level session storage function may also be used - session_set_save_handler(), but this module is written in C and therefore could be twice as fast, compared to a session save handler written in PHP.

Session PgSQL is designed to scale any size of web sites and offers some advanced features:

  • session tables are created automatically
  • automatic session table vacuum
  • better garbage collection
  • multiple PostgreSQL servers support
  • automatic database server failover (switching)
  • automatic database server load balancing if there are multiple PostgreSQL servers.
  • short circuit UPDATE

Session PgSQL
Installation/Konfiguration
Session PgSQL


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Session PgSQL


Anforderungen

You need at least PHP >= 4.3.0, and PostgreSQL >=7.2.0 as database server. libpq that comes with PostgreSQL 7.2.0 or later (and header files to build) and » libmm (and header files).

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese Erweiterung wird als nicht mehr gepflegt betrachtet und es gibt dort keine Aktivität mehr. Der Quellcode für diese Erweiterung steht jedoch weiterhin innerhalb des PECL SVN hier zur Verfügung: » http://svn.php.net/viewvc/pecl/session_pgsql.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

PostgreSQL session save handler is still under development. Refer to the README file in the source distribution for configuration details.

Installation
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

Diese Erweiterung definiert keine Ressource-Typen.

Laufzeit-Konfiguration
Table definitions
Installation/Konfiguration


Table definitions

Session table definition

CREATE TABLE php_session (
 sess_id            text,
 sess_name          text,
 sess_data          text,
 sess_created       integer,
 sess_modified      integer,
 sess_expire        integer,
 sess_addr_created  text,
 sess_addr_modified text,
 sess_counter       integer,
 sess_error         integer,
 sess_warning       integer,
 sess_notice        integer,
 sess_err_message   text,
 sess_custom        text
);

CREATE INDEX php_session_idx ON php_session USING BTREE (sess_id);

Warnung

If you use HASH for INDEX, you'll have a deadlock problem when the server load is very high. Even if it's unlikely to have a deadlock under normal operation, it can occur. Do not use HASH for INDEX.

You may change the session table as long as all fields are defined.

Application variables table definition

CREATE TABLE php_app_vars (
 app_modified       integer,
 app_name           text,
 app_vars           text
);

Ressource-Typen
Vordefinierte Konstanten
Session PgSQL


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Table definitions
Session PgSQL Funktionen
Session PgSQL


Session PgSQL Funktionen

Contact Information

I have at the moment not very much time to further develop this extension. I will implement more and more features in the near future.

If you have comments, bug fixes, enhancements or want to help developing this, you can drop me a mail at » yohgaki@php.net. Any help is very welcome.

Inhaltsverzeichnis

  • session_pgsql_add_error — Increments error counts and sets last error message
  • session_pgsql_get_error — Returns number of errors and last error message
  • session_pgsql_get_field — Get custom field value
  • session_pgsql_reset — Reset connection to session database servers
  • session_pgsql_set_field — Set custom field value
  • session_pgsql_status — Get current save handler status
Vordefinierte Konstanten
session_pgsql_add_error
Session PgSQL


Increments error counts and sets last error message

Session PgSQL Funktionen
session_pgsql_get_error
Session PgSQL Funktionen
PHP Manual

session_pgsql_add_error

(PECL session_pgsql SVN)

session_pgsql_add_error — Increments error counts and sets last error message

Beschreibung

bool session_pgsql_add_error ( int $error_level [, string $error_message ] )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

error_level

error_message

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • session_pgsql_get_error() - Returns number of errors and last error message

Session PgSQL Funktionen
session_pgsql_get_error
Session PgSQL Funktionen


Returns number of errors and last error message

session_pgsql_add_error
session_pgsql_get_field
Session PgSQL Funktionen
PHP Manual

session_pgsql_get_error

(PECL session_pgsql SVN)

session_pgsql_get_error — Returns number of errors and last error message

Beschreibung

array session_pgsql_get_error ([ bool $with_error_message = false ] )

Get the number of errors and optional the error messages.

Parameter-Liste

with_error_message

Set to TRUE the literal error message for each error is also returned.

Rückgabewerte

The number of errors are returned as array.

Siehe auch

  • session_pgsql_add_error() - Increments error counts and sets last error message

session_pgsql_add_error
session_pgsql_get_field
Session PgSQL Funktionen


Get custom field value

session_pgsql_get_error
session_pgsql_reset
Session PgSQL Funktionen
PHP Manual

session_pgsql_get_field

(PECL session_pgsql SVN)

session_pgsql_get_field — Get custom field value

Beschreibung

string session_pgsql_get_field ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Siehe auch

  • session_pgsql_set_field() - Set custom field value

session_pgsql_get_error
session_pgsql_reset
Session PgSQL Funktionen


Reset connection to session database servers

session_pgsql_get_field
session_pgsql_set_field
Session PgSQL Funktionen
PHP Manual

session_pgsql_reset

(PECL session_pgsql SVN)

session_pgsql_reset — Reset connection to session database servers

Beschreibung

bool session_pgsql_reset ( void )

Reset the connection to the session database servers.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

session_pgsql_get_field
session_pgsql_set_field
Session PgSQL Funktionen


Set custom field value

session_pgsql_reset
session_pgsql_status
Session PgSQL Funktionen
PHP Manual

session_pgsql_set_field

(PECL session_pgsql SVN)

session_pgsql_set_field — Set custom field value

Beschreibung

bool session_pgsql_set_field ( string $value )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

value

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • session_pgsql_get_field() - Get custom field value

session_pgsql_reset
session_pgsql_status
Session PgSQL Funktionen


Get current save handler status

session_pgsql_set_field
Textverarbeitung
Session PgSQL Funktionen
PHP Manual

session_pgsql_status

(PECL session_pgsql SVN)

session_pgsql_status — Get current save handler status

Beschreibung

array session_pgsql_status ( void )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

session_pgsql_set_field
Textverarbeitung
Session PgSQL Funktionen


Textverarbeitung

  • BBCode — Bulletin Board Code
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • BBCode Funktionen
  • PCRE — Reguläre Ausdrücke (Perl-kompatibel)
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • PCRE-Suchmuster
    • PCRE-Funktionen
  • POSIX Regex — Reguläre Ausdrücke (POSIX-erweitert)
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • POSIX Regex-Funktionen
  • ssdeep — ssdeep Fuzzy Hashing
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • ssdeep Funktionen
  • Zeichenketten
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • String-Funktionen
    • Changelog
session_pgsql_status
BBCode
Funktionsreferenz


Bulletin Board Code

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • BBCode Funktionen
    • bbcode_add_element — Fügt ein bbcode Element hinzu
    • bbcode_add_smiley — Fügt dem Parser ein Smiley hinzu
    • bbcode_create — Erstellt eine BBCode Ressource
    • bbcode_destroy — Schliesst eine vorhandene BBCode_container Ressource
    • bbcode_parse — Parst einen String anhand einem vorgegeben Regelsatz
    • bbcode_set_arg_parser — Attach another parser in order to use another rule set for argument parsing
    • bbcode_set_flags — Set or alter parser options
Textverarbeitung
Einführung
Textverarbeitung


Einführung

Diese Erweiterung hilft beim Konvertieren von BBCode-Text zu HTML oder einer anderen Auszeichnungssprache. Die Erweiterung benützt "one pass"-Parsing und ist schneller als die dazugehörigen regulären Ausdrücke. Ausserdem hilft sie valides HTML zu erstellen, indem vergessen gegangene Tags automatisch geöffnet bzw. geschlossen werden.

Seit 0.10.1 ist es erlaubt Argumente zwischen einfachen, doppelten und HTML-escapten Anführungszeichen zu übergeben.

BBCode
Installation/Konfiguration
BBCode


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
BBCode


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/bbcode

Eine Alternative, geschrieben in PHP, ist das PEAR Paket » HTML_BBCodeParser.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Ressource-Typen

In der BBCode Erweiterung wird eine Ressource genutzt: ein BBCode_Container der von der Funktion bbcode_create() zurückgegeben wird.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

BBCODE_TYPE_NOARG (integer)
Dieser BBCode Tag erlaubt keine Argumente.
BBCODE_TYPE_SINGLE (integer)
Dieser BBCode Tag wird nicht mehr geschlossen.
BBCODE_TYPE_ARG (integer)
Dieser BBCode Tag benötigt ein Argument.
BBCODE_TYPE_OPTARG (integer)
Diesem BBCode Tag kann ein optionales Argument übergeben werden.
BBCODE_TYPE_ROOT (integer)
Dieser BBCode Tag ist der spezielle Tag root. (In der Verschachtelung zuoberst)
BBCODE_FLAGS_ARG_PARSING (integer)
Dieser BBCode Tag braucht ein zu parsendes Argument. (Das Argument wird auch von der Erweiterung geparst. Seit 0.10.2 kann auch ein anderer Parser als Argumentparser benützt werden.
BBCODE_FLAGS_CDATA_NOT_ALLOWED (integer)
Dieser BBCode Tag erlaubt keinen Inhalt. (Der Inhalt wird automatisch verworfen)
BBCODE_FLAGS_SMILEYS_ON (integer) - seit 0.10.2
Dieser BBCode Tag erlaubt Smileys.
BBCODE_FLAGS_SMILEYS_OFF (integer) - seit 0.10.2
Dieser BBCode Tag erlaubt keine Smileys.
BBCODE_FLAGS_ONE_OPEN_PER_LEVEL (integer) - seit 0.10.2
Dieser BBCode Tag schliesst sich automatisch, wenn ein Tag desselben Types im gleichen Verschachtelungslevel vorhanden ist.
BBCODE_FLAGS_REMOVE_IF_EMPTY (integer) - seit 0.10.2
Dieser BBCode Tag wird automatisch entfernt, wenn der Inhalt leer ist. Das erlaubt es "leichteres" HTML zu erstellen.
BBCODE_FLAGS_DENY_REOPEN_CHILD (integer) - seit 0.10.3
Dieser BBCode Tag erlaubt es nicht, ungeschlossene Kinder wiederzuöffnen, wenn sie automatisch geschlossen wurden.
BBCODE_ARG_DOUBLE_QUOTE (integer) - seit 0.10.2
Das ist eine Parseroption, die es erlaubt Argumente zwischen doppelten Anführungszeichen (") zu übergeben.
BBCODE_ARG_SINGLE_QUOTE (integer) - seit 0.10.2
Das ist eine Parseroption, die es erlaubt Argumente zwischen einfachen Anführungszeichen (') zu übergeben.
BBCODE_ARG_HTML_QUOTE (integer) - seit 0.10.2
Das ist eine Parseroption, die es erlaubt, Argumente zwischen HTML Anführungszeichen (&quot;) zu übergeben.
BBCODE_ARG_QUOTE_ESCAPING (integer) - seit 1.0.2
Das ist eine Parseroption, die es erlaubt Argumente zwischen escapten Anführungszeichen zu übergeben. Das erlaubt es, dass das Anführungszeichen im String selbst vorkommt. Das Escapezeichen ist der Backslash. (\) Er kann jegliche Anführungszeichen und sich selbst escapen. Vor einem Zeichen, dass sich nicht escapten lässt, wird er nicht beachtet. Standardmässig sollte man nicht escapen.
BBCODE_AUTO_CORRECT (integer) - seit 0.10.2
Das ist eine Parseroption, die die Fehlerbehandlungsart ändert. Diese Option schliesst automatisch Tags, in der Reihenfolge, wie sie geöffnet wurden, und behandelt offen gelassene Tags so, als wäre ein End Tag vorhanden.
BBCODE_CORRECT_REOPEN_TAGS (integer) - seit 0.10.2
Das ist eine Parseroption, die die Fehlerbehandlungsart ändert. Diese Option öffnet Tags automatisch neu, wenn die Tags nicht in der richtigen Reihenfolge geschlossen werden.
BBCODE_DISABLE_TREE_BUILD (integer) - seit 0.10.2
Diese Parseroption deaktiviert, dass BBCode Tags geparst werden. Diese Option kann nützlich sein, wenn man nur Smileys parsen will.
BBCODE_DEFAULT_SMILEYS_ON (integer) - seit 0.10.2
Das ist eine Parseroption, die Smileys aktiviert, wenn kein Flag am Anfang des Tag Levels gesetzt wurde.
BBCODE_DEFAULT_SMILEYS_OFF (integer) - seit 0.10.2
Diese Parseroption deaktiviert Smileys, wenn kein Flag am Anfang des Tag Levels gesetzt wurde.
BBCODE_FORCE_SMILEYS_OFF (integer) - seit 0.10.2
Diese Parseroption deaktiviert das Parsen von Smileys komplett.
BBCODE_SMILEYS_CASE_INSENSITIVE (integer) - seit 0.10.3
Dies benützt eine nicht die Gross/Kleinschreibung beachtende Erkennung für Smileys, anstatt einer einfach binären Suche.
BBCODE_SET_FLAGS_SET (integer) - seit 0.10.2
Das erlaubt es, das "Vollständig"-Flag auf einen Parser zu setzen.
BBCODE_SET_FLAGS_ADD (integer) - seit 0.10.2
Dies erlaubt es, ein Flag auf einen Parser zu aktiveren.
BBCODE_SET_FLAGS_REMOVE (integer) - seit 0.10.2
Dies erlaubt es, ein Flag auf einen Parser dezuaktivieren.
Ressource-Typen
BBCode Funktionen
BBCode


BBCode Funktionen

Inhaltsverzeichnis

  • bbcode_add_element — Fügt ein bbcode Element hinzu
  • bbcode_add_smiley — Fügt dem Parser ein Smiley hinzu
  • bbcode_create — Erstellt eine BBCode Ressource
  • bbcode_destroy — Schliesst eine vorhandene BBCode_container Ressource
  • bbcode_parse — Parst einen String anhand einem vorgegeben Regelsatz
  • bbcode_set_arg_parser — Attach another parser in order to use another rule set for argument parsing
  • bbcode_set_flags — Set or alter parser options
Vordefinierte Konstanten
bbcode_add_element
BBCode


Fügt ein bbcode Element hinzu

BBCode Funktionen
bbcode_add_smiley
BBCode Funktionen
PHP Manual

bbcode_add_element

(PECL bbcode >= 0.9.0)

bbcode_add_element — Fügt ein bbcode Element hinzu

Beschreibung

bool bbcode_add_element ( resource $bbcode_container , string $tag_name , array $tag_rules )

Fügt ein Tag tag_set zu einem existierenden BBCode_Container mit Hilfe von tag_rules hinzu.

Parameter-Liste

bbcode_container

BBCode_Container Ressource, zurückgegeben von bbcode_create().

tag_name

Der neue Tag tag_set, der dem BBCode_Container hinzugefügt werden soll.

tag_rules

Ein assoziatives Array, das die parsing Regeln enthält; (Siehe bbcode_create() für die erlaubten Schlüssel)

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

BBCode Funktionen
bbcode_add_smiley
BBCode Funktionen


Fügt dem Parser ein Smiley hinzu

bbcode_add_element
bbcode_create
BBCode Funktionen
PHP Manual

bbcode_add_smiley

(PECL bbcode >= 0.10.2)

bbcode_add_smiley — Fügt dem Parser ein Smiley hinzu

Beschreibung

bool bbcode_add_smiley ( resource $bbcode_container , string $smiley , string $replace_by )

Fügt dem Parser ein Smiley hinzu

Parameter-Liste

bbcode_container

BBCode_Container Ressource, die von bbcode_create() zurückgegeben wird.

smiley

Das Smiley, der ersetzt werden soll.

replace_by

Der HTML Code, durch das das Textsmiley ersetzt werden soll.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 bbcode_add_smiley() Beispiel

<?php
/*
 * Die Regeln vorbereiten
 */
$arrayBBCode=array(
    ''=>         array('type'=>BBCODE_TYPE_ROOT,
                       'childs'=>'!i'),
    'b'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<b>',
                       'close_tag'=>'</b>'),
    'u'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<u>',
                       'close_tag'=>'</u>',
                       'flags'=>BBCODE_FLAGS_SMILEYS_OFF),
    'i'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<i>',
                       'close_tag'=>'</i>',
                       'childs'=>'b'),
);
/*
 * Der geparste Text
 */
$text=<<<EOF
[i] Keine Parse Text [/i] :)
[b] Geparst, mit Smiley :( [/b]
[u] Geparst, ohne Smiley :D :D [/u]
EOF;
/*
 * Den Parser initialisieren
 */
$BBHandler=bbcode_create($arrayBBCode);
/*
 * Dem Parser die Smileyregeln hinzufügen
 */
bbcode_add_smiley($BBHandler, ":)", "<img src=\"smiley.gif\" alt=\":)\" />");
bbcode_add_smiley($BBHandler, ":(", "<img src=\"sad.gif\" alt=\":(\" />");
bbcode_add_smiley($BBHandler, ":D", "<img src=\"happy.gif\" alt=\":D\" />");
bbcode_add_smiley($BBHandler, ":p", "<img src=\"tong.gif\" alt=\":p\" />");
bbcode_add_smiley($BBHandler, ":|", "<img src=\"special.gif\" alt=\":|\" />");
bbcode_add_smiley($BBHandler, ":6:", "<img src=\"six.gif\" alt=\":6:\" />");
/*
 * Den Text parsen
 */
echo bbcode_parse($BBHandler,$text);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<i> Kein Parse Test </i> <img src="smiley.gif" alt=":)" />
<b> Geparst, mit Smiley <img src="sad.gif" alt=":(" /> </b>
<u> Geparst, ohne Smiley :D </u>

bbcode_add_element
bbcode_create
BBCode Funktionen


Erstellt eine BBCode Ressource

bbcode_add_smiley
bbcode_destroy
BBCode Funktionen
PHP Manual

bbcode_create

(PECL bbcode >= 0.9.0)

bbcode_create — Erstellt eine BBCode Ressource

Beschreibung

resource bbcode_create ([ array $bbcode_initial_tags = NULL ] )

Diese Funktion gibt eine neue BBCode Ressource zurück, die benötigt wird, um BBCode Strings zu parsen.

Parameter-Liste

bbcode_initial_tags

Ein assoziatives Array, das die die Tag-Namen und Parameter enthält, die benötigt werden, um den BBCode richtig parsen zu können. Die folgenden Schlüssel/Wert Paare werden unterstützt:

  • flags optional - ein Flag, das auf den BBCODE_FLAGS_* Konstanten basiert.
  • type benötigt - ein Flag, das den Typ eines Tag angibt. Benutzt die BBCODE_TYPE_* Konstanten.
  • open_tag benötigt - der HTML Code für den öffnenden Tag.
  • close_tag benötigt - der HTML Code für den schliessenden Tag.
  • default_arg optional - benutzen Sie diesen Wert als Standardargument, wenn keines angegeben wird und tag_type OPTARG enspricht.
  • content_handling optional - Gibt ein Callback, der benutzt wird um den Inhalt zu verändern. Die objektorientierte Schreibweise wird erst seit 0.10.1 unterstützt. Der Typ des Callbacks ist string name(string $content, string $argument)
  • param_handling optional - Gibt den Callback, der für die Veränderung des Arguments gebraucht wird, zurück. Die objektorientierte Schreibweise wird erst seit 0.10.1 unterstützt. Typ des Callbacks ist string name(string $content, string $argument)
  • childs optional - Eine Liste von erlaubten untergeordneten Tags. Die Liste ist durch Kommas abgetrennt. Wenn die Liste mit ! beginnt, gilt sie als die Liste mit den verbotenen untergeordneten Tags.
  • parent optional - Eine Liste von erlaubten übergeordneten Tags. Die Liste ist durch Kommas abgetrennt.

Rückgabewerte

Gibt eine BBCode_Container Ressource zurück

Beispiele

Beispiel #1 bbcode_create() Beispiel

<?php
$arrayBBCode=array(
    ''=>         array('type'=>BBCODE_TYPE_ROOT,  'childs'=>'!i'),
    'i'=>        array('type'=>BBCODE_TYPE_NOARG, 'open_tag'=>'<i>',
                    'close_tag'=>'</i>', 'childs'=>'b'),
    'url'=>      array('type'=>BBCODE_TYPE_OPTARG,
                    'open_tag'=>'<a href="{PARAM}">', 'close_tag'=>'</a>',
                    'default_arg'=>'{CONTENT}',
                    'childs'=>'b,i'),
    'img'=>      array('type'=>BBCODE_TYPE_NOARG,
                    'open_tag'=>'<img src="', 'close_tag'=>'" />',
                    'childs'=>''),
    'b'=>        array('type'=>BBCODE_TYPE_NOARG, 'open_tag'=>'<b>',
                    'close_tag'=>'</b>'),
);
$text=<<<EOF
[b]Dicker Text[/b]
[i]Kursiver Text[/i]
[url]http://www.php.net/[/url]
[url=http://pecl.php.net/][b]Content Text[/b][/url]
[img]http://static.php.net/www.php.net/images/php.gif[/img]
[url=http://www.php.net/]
[img]http://static.php.net/www.php.net/images/php.gif[/img]
[/url]
EOF;
$BBHandler=bbcode_create($arrayBBCode);
echo bbcode_parse($BBHandler,$text);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<b>Dicker Text</b>
[i]Kursiver Text[/i]
<a href="http://www.php.net/">http://www.php.net/</a>
<a href="http://pecl.php.net/"><b>Content Text</b></a>
<img src="http://static.php.net/www.php.net/images/php.gif" />
<a href="http://www.php.net/">
[img]http://static.php.net/www.php.net/images/php.gif[/img]
</a>

bbcode_add_smiley
bbcode_destroy
BBCode Funktionen


Schliesst eine vorhandene BBCode_container Ressource

bbcode_create
bbcode_parse
BBCode Funktionen
PHP Manual

bbcode_destroy

(PECL bbcode >= 0.9.0)

bbcode_destroy — Schliesst eine vorhandene BBCode_container Ressource

Beschreibung

bool bbcode_destroy ( resource $bbcode_container )

Diese Funktion schliesst eine von bbcode_create() geöffnete Ressource.

Parameter-Liste

bbcode_container

Eine BBCode_Container Ressource, die von bbcode_create() zurückgegeben wird.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

bbcode_create
bbcode_parse
BBCode Funktionen


Parst einen String anhand einem vorgegeben Regelsatz

bbcode_destroy
bbcode_set_arg_parser
BBCode Funktionen
PHP Manual

bbcode_parse

(PECL bbcode >= 0.9.0)

bbcode_parse — Parst einen String anhand einem vorgegeben Regelsatz

Beschreibung

string bbcode_parse ( resource $bbcode_container , string $to_parse )

Diese Funktion parst den String to_parse mit den Regeln von bbcode_container, der durch bbcode_create() erstellt wurde.

Parameter-Liste

bbcode_container

Eine BBCode_Container Ressource, die von bbcode_create() zurückgegeben wurde.

to_parse

Der String, der geparst werden soll.

Rückgabewerte

Gibt den geparsten String zurück, Im Fehlerfall wird FALSE zurückgegeben..

bbcode_destroy
bbcode_set_arg_parser
BBCode Funktionen


Attach another parser in order to use another rule set for argument parsing

bbcode_parse
bbcode_set_flags
BBCode Funktionen
PHP Manual

bbcode_set_arg_parser

(PECL bbcode >= 0.10.2)

bbcode_set_arg_parser — Attach another parser in order to use another rule set for argument parsing

Beschreibung

bool bbcode_set_arg_parser ( resource $bbcode_container , resource $bbcode_arg_parser )

Attaches another parser to the bbcode_container. This parser is used only when arguments must be parsed. If this function is not used, the default argument parser is the parser itself.

Parameter-Liste

bbcode_container

BBCode_Container resource, returned by bbcode_create().

bbcode_arg_parser

BBCode_Container resource, returned by bbcode_create(). It will be used only for parsed arguments

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 bbcode_set_arg_parser() usage example

<?php
/*
 * Generating bbcode ruleset for main parser
 */
$arrayBBCode=array(
    'quote'=>    array('type'=>BBCODE_TYPE_ARG,
                       'open_tag'=>'<quote><h4>Source: {PARAM}</h4>',
                       'close_tag'=>'</quote>',
                       'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY|BBCODE_FLAGS_ARG_PARSING),
    'b'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<b>', 'close_tag'=>'</b>',
                       'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY),
    'u'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<u>', 'close_tag'=>'</u>',
                       'flags'=>BBCODE_FLAGS_SMILEYS_OFF | BBCODE_FLAGS_REMOVE_IF_EMPTY | BBCODE_FLAGS_SMILEYS_OFF),
    'i'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<i>', 'close_tag'=>'</i>',
                       'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY),
);
/*
 * Generating bbcode ruleset for argument parser
 */
$arrayBBCode_arg=array(
    'b'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<b class="sub">', 'close_tag'=>'</b>',
                       'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY),
    'u'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<u>', 'close_tag'=>'</u>',
                       'flags'=>BBCODE_FLAGS_SMILEYS_OFF | BBCODE_FLAGS_REMOVE_IF_EMPTY | BBCODE_FLAGS_SMILEYS_OFF),
    'i'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<i>', 'close_tag'=>'</i>',
                       'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY),
);
/*
 * Text we are going to parse
 */
$text=<<<EOF
[quote="[b]Test[/b]"]
Foo :)
[/quote]
[b]Bar example :)[/b] :)
EOF;
/*
 * Init the two parsers
 */
$BBHandler=bbcode_create($arrayBBCode);
$BBArgHandler=bbcode_create($arrayBBCode_arg);
/*
 * Setting Flags on the parsers
 */
bbcode_set_flags($BBHandler,
                 BBCODE_CORRECT_REOPEN_TAGS|BBCODE_DEFAULT_SMILEYS_ON|BBCODE_ARG_DOUBLE_QUOTE|
                 BBCODE_ARG_SINGLE_QUOTE|BBCODE_ARG_HTML_QUOTE,BBCODE_SET_FLAGS_SET);
bbcode_set_flags($BBArgHandler,
                 BBCODE_CORRECT_REOPEN_TAGS|BBCODE_DEFAULT_SMILEYS_ON|BBCODE_ARG_DOUBLE_QUOTE|
                 BBCODE_ARG_SINGLE_QUOTE|BBCODE_ARG_HTML_QUOTE,BBCODE_SET_FLAGS_SET);
/*
 * Setting $BBArgHandler as the BBHandler argument parser
 */
bbcode_set_arg_parser($BBHandler,$BBArgHandler);
/*
 * Adding Smileys handling rules to Main parser
 */
bbcode_add_smiley($BBHandler, ":)", "<img src=\"smiley.gif\" alt=\":)\" />");
/*
 * Use the main parser to parse text
 */
echo bbcode_parse($BBHandler,$text);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<quote><h4>Source: <b class="sub">Test</b></h4>
Foo <img src="smiley.gif" alt=":)" />
</quote>
<b>Bar example :)</b> <img src="smiley.gif" alt=":)" />

bbcode_parse
bbcode_set_flags
BBCode Funktionen


Set or alter parser options

bbcode_set_arg_parser
PCRE
BBCode Funktionen
PHP Manual

bbcode_set_flags

(PECL bbcode >= 0.10.2)

bbcode_set_flags — Set or alter parser options

Beschreibung

bool bbcode_set_flags ( resource $bbcode_container , int $flags [, int $mode = BBCODE_SET_FLAGS_SET ] )

Set or alter parser options

Parameter-Liste

bbcode_container

BBCode_Container resource, returned by bbcode_create().

flags

The flag set that must be applied to the bbcode_container options

mode

One of the BBCODE_SET_FLAGS_* constant to set, unset a specific flag set or to replace the flag set by flags.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 bbcode_set_flags() usage example

<?php
/*
 * Preparing RuleSet
 */
$arrayBBCode=array(
    'b'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<b>', 'close_tag'=>'</b>'),
    'u'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<u>', 'close_tag'=>'</u>'),
    'i'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<i>', 'close_tag'=>'</i>'),
);
/*
 * Paired incorrectly nested BBCode
 */
$text="[i] Parser [b] Auto Correction [/i] at work [/b]\n";
$BBHandler=bbcode_create($arrayBBCode);
echo bbcode_parse($BBHandler,$text);
// Enabling reopening of automatically closed elements
bbcode_set_flags($BBHandler,BBCODE_CORRECT_REOPEN_TAGS,
                 BBCODE_SET_FLAGS_SET);
echo bbcode_parse($BBHandler,$text);

/*
 * Unpaired incorrectly nested BBCode
 */
$text="[i] Parser [b] Auto Correction [/i] at work\n";
echo bbcode_parse($BBHandler,$text);
// Enabling automatic close of pending tags
bbcode_set_flags($BBHandler,
                 BBCODE_CORRECT_REOPEN_TAGS|BBCODE_AUTO_CORRECT,
                 BBCODE_SET_FLAGS_SET);
echo bbcode_parse($BBHandler,$text);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<i> Parser <b> Auto Correction </b></i> at work
<i> Parser <b> Auto Correction </b></i><b> at work </b>
<i> Parser [b] Auto Correction </i> at work
<i> Parser <b> Auto Correction </b></i><b> at work
</b>

bbcode_set_arg_parser
PCRE
BBCode Funktionen


Reguläre Ausdrücke (Perl-kompatibel)

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
  • PCRE-Suchmuster
    • PCRE regex syntax — Pattern Syntax
    • Mögliche Modifikatoren in RegEx-Suchmustern — Suchmuster-Modifikatoren
    • Differences From Perl — Perl Differences
    • Differences from POSIX regex
  • PCRE-Funktionen
    • preg_filter — Sucht und ersetzt mit regulären Ausdrücken
    • preg_grep — Liefert Array-Elemente, die auf ein Suchmuster passen
    • preg_last_error — Liefert den Fehlercode der letzten PCRE RegEx-Auswertung
    • preg_match_all — Führt eine umfassende Suche nach Übereinstimmungen mit regulärem Ausdruck durch
    • preg_match — Führt eine Suche mit einem regulären Ausdruck durch
    • preg_quote — Maskiert Zeichen regulärer Ausdrücke
    • preg_replace_callback_array — Perform a regular expression search and replace using callbacks
    • preg_replace_callback — Sucht und ersetzt mit regulären Ausdrücken unter Verwendung eines Callbacks
    • preg_replace — Sucht und ersetzt mit regulären Ausdrücken
    • preg_split — Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks
bbcode_set_flags
Einführung
Textverarbeitung


Einführung

Die Syntax für Suchmuster, die in diesen Funktionen verwendet werden, ist Perl sehr ähnlich. Der Ausdruck muss zwischen Begrenzungszeichen, z.B. Schrägstrichen (/), stehen. Als Begrenzungszeichen darf jedes Zeichen verwendet werden, das nicht alphanumerisch ist und das, mit Ausnahme des Backslashs (\) und des Nullzeichens, kein ASCII-Leerzeichen ist. Falls das Begrenzungszeichen im Ausdruck selbst verwendet wird, muss es mit dem Backslash als Escape-Zeichen maskiert werden. Ab PHP 4.0.4 können Sie auch dem Perl-Stil entsprechend (), {}, [] und <> als Begrenzung für Suchmuster verwenden. Für eine ausführliche Erklärung siehe Suchmuster-Syntax.

An die Schlussbegrenzung können verschiedene Modifikatoren angehängt werden, die das Suchergebnis beeinflussen. Siehe Modifikatoren für Suchmuster.

Bei Verwendung der POSIX-erweiterten Reguläre Ausdrücke Funktionen unterstützt PHP auch reguläre Ausdrücke mit POSIX-erweiterter Syntax.

Hinweis:

Diese Erweiterung unterhält pro Thread einen globalen Cache mit compilierten regulären Ausdrücken (bis zu 4096).

Warnung

Sie sollten sich über ein paar Einschränkungen von PCRE bewusst sein. Lesen Sie bitte » http://www.pcre.org/pcre.txt für weitere Informationen.

Die PCRE-Bibliothek ist ein Satz von Funktionen, der die Suche nach regulären Ausdrücken mit der, von wenigen Unterschieden (siehe unten) abgesehen, gleichen Syntax und Semantik wie Perl 5 realisiert. Die aktuelle Implementierung entspricht Perl 5.005.

PCRE
Installation/Konfiguration
PCRE


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
PCRE


Installation

Die PCRE-Erweiterung ist eine native PHP-Erweiterung und deshalb immer aktiviert. Standardmäßig wird diese Erweiterung unter Verwendung der mitgelieferten PCRE-Bibliothek kompiliert. Alternativ kann eine externe PCRE-Bibliothek verwendet werden, indem die Konfigurationsoption --with-pcre-regex=VERZEICHNIS übergeben wird, wobei VERZEICHNIS der Speicherort der Include- und Bibliotheks-Dateien von PCRE ist. Für PHP 5.6 und 7.0 wird empfohlen, PCRE 8.10 oder neuer zu verwenden.

Die Windowsversion von PHP enthält diese Erweiterung. Um diese Funktionen zu verwenden, müssen Sie keine zusätzlichen Erweiterungen aktivieren.

Hinweis:

Vor PHP 5.3.0 konnte diese Erweiterung durch Übergabe der Konfigurationsoption --without-pcre-regex deaktiviert werden.

PCRE ist ein aktives Projekt und mit den Änderungen ändert sich auch die davon abhängige PHP-Funktionalität. Es ist möglich, dass bestimmte Teile der PHP-Dokumentation veraltet sind und die neuesten Fähigkeiten von PCRE nicht behandeln. Eine Liste der Änderungen gibt es in der » ChangeLog der PCRE-Bibliothek und im folgenden Verlauf der mitgelieferten PCRE-Bibliothek:

Aktualisierungsverlauf der mitgelieferten PCRE-Bibliothek
PHP-Version | Aktualisierte PCRE-Version | Bemerkung
5.6.9 / 5.5.26 / 5.4.41 | 8.37 | Siehe CVE-2015-2325, CVE-2015-2326
5.6.0 / 5.5.10 | 8.34 |
5.5.0 / 5.4.14 / 5.3.24 | 8.32 |
5.4.9 / 5.3.19 | 8.31 |
5.3.7 | 8.12 |
5.3.6 | 8.11 |
5.3.4 | 8.10 |
5.3.3 | 8.02 |
5.3.2 | 8.00 |
5.3.0 | 7.9 |
5.2.7 | 7.8 |
5.2.6 | 7.6 |
5.2.5 | 7.3 |
5.2.4 | 7.2 |
5.2.2 | 7.0 |
5.2.0 | 6.7 |
5.1.0 | 6.2 |
5.0.5 | 5.0 |
5.0.0 | 4.5 |
4.4.7 | 7.7 |

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

PCRE-Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
pcre.backtrack_limit | "1000000" | PHP_INI_ALL | Steht ab PHP 5.2.0 zur Verfügung
pcre.recursion_limit | "100000" | PHP_INI_ALL | Steht ab PHP 5.2.0 zur Verfügung
pcre.jit | "1" | PHP_INI_ALL | Steht ab PHP 7.0.0 zur Verfügung
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

pcre.backtrack_limit integer

PCREs Backtracking-Limit. Vor PHP 5.3.7 war der Standardwert 100000 (jetzt 1000000).

pcre.recursion_limit integer

PCREs Rekursionslimit. Bitte beachten Sie, dass bei einem hohen Wert der gesamte verfügbare Prozess-Stack verwendet werden könnte und PHP schließlich (wenn es das vom Betriebssystem vorgegebene Limit für die Stackgröße erreicht) abstürzen könnte.

pcre.jit boolean

Legt fest, ob der Just-in-Time-Compiler von PCRE verwendet wird.

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

PREG-Konstanten
Konstante | Beschreibung | Seit
PREG_PATTERN_ORDER | Sortiert die Ergebnisse so, dass $matches[0] ein Array von Übereinstimmungen mit dem ganzen Suchmuster ist, $matches[1] ein Array von Zeichenketten, die mit dem ersten geklammerten Teilsuchmuster übereinstimmen und so weiter. Dieses Flag wird nur bei preg_match_all() verwendet. |
PREG_SET_ORDER | Sortiert die Ergebnisse so, dass $matches[0] ein Array des ersten Satzes von Übereinstimmungen ist, $matches[1] ein Array des zweiten Satzes von Übereinstimmungen und so weiter. Dieses Flag wird nur bei preg_match_all() verwendet. |
PREG_OFFSET_CAPTURE | Siehe Beschreibung von PREG_SPLIT_OFFSET_CAPTURE. | 4.3.0
PREG_SPLIT_NO_EMPTY | Dieses Flag teilt der Funktion preg_split() mit, dass sie nur nicht-leere Teile zurückgeben soll. |
PREG_SPLIT_DELIM_CAPTURE | Dieses Flag teilt der Funktion preg_split() mit, dass sie auch die eingeklammerten Ausdrücke des Trennsymbol-Musters zurückgeben soll. | 4.0.5
PREG_SPLIT_OFFSET_CAPTURE | Wenn dieses Flag gesetzt ist, wird für jede gefundene Übereinstimmung auch der dazugehörige Versatz zurückgegeben. Beachten Sie, dass dies die Rückgabewerte in einem Array dahingehend ändert, dass jedes Element ein Array ist, das aus der übereinstimmenden Zeichenkette als erstem und deren Stelle im durchsuchten Text als zweitem Element besteht. Dieses Flag wird nur für preg_split() verwendet. | 4.3.0
PREG_NO_ERROR | Dieses Flag wird von preg_last_error() zurückgegeben, falls kein Fehler aufgetreten ist. | 5.2.0
PREG_INTERNAL_ERROR | Dieses Flag wird von preg_last_error() zurückgegeben, falls ein interner PCRE-Fehler aufgetreten ist. | 5.2.0
PREG_BACKTRACK_LIMIT_ERROR | Dieses Flag wird von preg_last_error() zurückgegeben, falls das Limit der Zurückverfolgung (Backtracking) überschritten wurde. | 5.2.0
PREG_RECURSION_LIMIT_ERROR | Dieses Flag wird von preg_last_error() zurückgegeben, falls das Rekursionslimit überschritten wurde. | 5.2.0
PREG_BAD_UTF8_ERROR | Dieses Flag wird von preg_last_error() zurückgegeben, falls der letzte Fehler durch fehlerhafte UTF-8-Daten verursacht wurde (nur bei RegEx, die im UTF-8-Modus laufen). | 5.2.0
PREG_BAD_UTF8_OFFSET_ERROR | Dieses Flag wird von preg_last_error() zurückgegeben, falls sich der Versatz nicht mit dem Anfang eines gültigen UTF-8-Codepoints deckt (nur wenn die RegEx im UTF-8-Modus ausgeführt wird). | 5.3.0
PREG_JIT_STACKLIMIT_ERROR | Dieses Flag wird von preg_last_error() zurückgegeben, falls die letzte PCRE-Funktion wegen begrenzten Speichers im JIT-Stack fehlschlug. | 7.0.0
PCRE_VERSION | Die PCRE-Version und das Freigabedatum (z.B. "7.0 18-Dec-2006"). | 5.2.4
Ressource-Typen
Beispiele
PCRE


Beispiele

Beispiel #1 Beispiele gültiger Suchmuster

  • /<\/\w+>/
  • |(\d{3})-\d+|Sm
  • /^(?i)php[34]/
  • {^\s+(\s+)?$}

Beispiel #2 Beispiele ungültiger Suchmuster

  • /href='(.*)' - fehlender Begrenzer am Ende
  • /\w+\s*\w+/J - ungültiger Modifikator 'J'
  • 1-\d3-\d3-\d4| - fehlender Begrenzer am Anfang

Vordefinierte Konstanten
PCRE-Suchmuster
PCRE


PCRE-Suchmuster

Inhaltsverzeichnis

  • PCRE regex syntax
  • Mögliche Modifikatoren in RegEx-Suchmustern
  • Differences From Perl
  • Differences from POSIX regex
Beispiele
PCRE regex syntax
PCRE


Pattern Syntax

Inhaltsverzeichnis

  • Introduction
  • Delimiters
  • Meta-characters
  • Escape sequences
  • Unicode character properties
  • Anchors
  • Dot
  • Character classes
  • Alternation
  • Internal option setting
  • Subpatterns
  • Repetition
  • Back references
  • Assertions
  • Once-only subpatterns
  • Conditional subpatterns
  • Comments
  • Recursive patterns
  • Performance
PCRE-Suchmuster
Introduction
PCRE-Suchmuster


Introduction

The syntax and semantics of the regular expressions supported by PCRE are described below. Regular expressions are also described in the Perl documentation and in a number of other books, some of which have copious examples. Jeffrey Friedl's "Mastering Regular Expressions", published by O'Reilly (ISBN 1-56592-257-3), covers them in great detail. The description here is intended as reference documentation.

A regular expression is a pattern that is matched against a subject string from left to right. Most characters stand for themselves in a pattern, and match the corresponding characters in the subject. As a trivial example, the pattern The quick brown fox matches a portion of a subject string that is identical to itself.

PCRE regex syntax
Delimiters
PCRE regex syntax


Delimiters

When using the PCRE functions, it is required that the pattern is enclosed by delimiters. A delimiter can be any non-alphanumeric, non-backslash, non-whitespace character.

Often used delimiters are forward slashes (/), hash signs (#) and tildes (~). The following are all examples of valid delimited patterns.

/foo bar/
#^[^0-9]$#
+php+
%[a-zA-Z0-9_-]%

It is also possible to use bracket style delimiters where the opening and closing brackets are the starting and ending delimiter, respectively. (), {}, [] and <> are all valid bracket style delimiter pairs.

(this [is] a (pattern))
{this [is] a (pattern)}
[this [is] a (pattern)]
<this [is] a (pattern)>
Bracket style delimiters do not need to be escaped when they are used as meta characters within the pattern, but as with other delimiters they must be escaped when they are used as literal characters.

If the delimiter needs to be matched inside the pattern it must be escaped using a backslash. If the delimiter appears often inside the pattern, it is a good idea to choose another delimiter in order to increase readability.

/http:\/\//
#http://#
The preg_quote() function may be used to escape a string for injection into a pattern and its optional second parameter may be used to specify the delimiter to be escaped.

You may add pattern modifiers after the ending delimiter. The following is an example of case-insensitive matching:

#[a-z]#i

Introduction
Meta-characters
PCRE regex syntax


Meta-characters

The power of regular expressions comes from the ability to include alternatives and repetitions in the pattern. These are encoded in the pattern by the use of meta-characters, which do not stand for themselves but instead are interpreted in some special way.

There are two different sets of meta-characters: those that are recognized anywhere in the pattern except within square brackets, and those that are recognized in square brackets. Outside square brackets, the meta-characters are as follows:

Meta-characters outside square brackets
Meta-character | Description
\ | general escape character with several uses
^ | assert start of subject (or line, in multiline mode)
$ | assert end of subject or before a terminating newline (or end of line, in multiline mode)
. | match any character except newline (by default)
[ | start character class definition
] | end character class definition
| | start of alternative branch
( | start subpattern
) | end subpattern
? | extends the meaning of (, also 0 or 1 quantifier, also makes greedy quantifiers lazy (see repetition)
* | 0 or more quantifier
+ | 1 or more quantifier
{ | start min/max quantifier
} | end min/max quantifier
Part of a pattern that is in square brackets is called a character class. In a character class the only meta-characters are:
Meta-characters inside square brackets (character classes)
Meta-character | Description
\ | general escape character
^ | negate the class, but only if the first character
- | indicates character range
The following sections describe the use of each of the meta-characters.

Delimiters
Escape sequences
PCRE regex syntax


Escape sequences

The backslash character has several uses. Firstly, if it is followed by a non-alphanumeric character, it takes away any special meaning that character may have. This use of backslash as an escape character applies both inside and outside character classes.

For example, if you want to match a "*" character, you write "\*" in the pattern. This applies whether or not the following character would otherwise be interpreted as a meta-character, so it is always safe to precede a non-alphanumeric with "\" to specify that it stands for itself. In particular, if you want to match a backslash, you write "\\".

Hinweis:

Single and double quoted PHP strings have special meaning of backslash. Thus if \ has to be matched with a regular expression \\, then "\\\\" or '\\\\' must be used in PHP code.

If a pattern is compiled with the PCRE_EXTENDED option, whitespace in the pattern (other than in a character class) and characters between a "#" outside a character class and the next newline character are ignored. An escaping backslash can be used to include a whitespace or "#" character as part of the pattern.

A second use of backslash provides a way of encoding non-printing characters in patterns in a visible manner. There is no restriction on the appearance of non-printing characters, apart from the binary zero that terminates a pattern, but when a pattern is being prepared by text editing, it is usually easier to use one of the following escape sequences than the binary character it represents:

\a
alarm, that is, the BEL character (hex 07)
\cx
"control-x", where x is any character
\e
escape (hex 1B)
\f
formfeed (hex 0C)
\n
newline (hex 0A)
\p{xx}
a character with the xx property, see unicode properties for more info
\P{xx}
a character without the xx property, see unicode properties for more info
\r
carriage return (hex 0D)
\R
line break: matches \n, \r and \r\n
\t
tab (hex 09)
\xhh
character with hex code hh
\ddd
character with octal code ddd, or backreference

The precise effect of "\cx" is as follows: if "x" is a lower case letter, it is converted to upper case. Then bit 6 of the character (hex 40) is inverted. Thus "\cz" becomes hex 1A, but "\c{" becomes hex 3B, while "\c;" becomes hex 7B.

After "\x", up to two hexadecimal digits are read (letters can be in upper or lower case). In UTF-8 mode, "\x{...}" is allowed, where the contents of the braces is a string of hexadecimal digits. It is interpreted as a UTF-8 character whose code number is the given hexadecimal number. The original hexadecimal escape sequence, \xhh, matches a two-byte UTF-8 character if the value is greater than 127.

After "\0" up to two further octal digits are read. In both cases, if there are fewer than two digits, just those that are present are used. Thus the sequence "\0\x\07" specifies two binary zeros followed by a BEL character. Make sure you supply two digits after the initial zero if the character that follows is itself an octal digit.

The handling of a backslash followed by a digit other than 0 is complicated. Outside a character class, PCRE reads it and any following digits as a decimal number. If the number is less than 10, or if there have been at least that many previous capturing left parentheses in the expression, the entire sequence is taken as a back reference. A description of how this works is given later, following the discussion of parenthesized subpatterns.

Inside a character class, or if the decimal number is greater than 9 and there have not been that many capturing subpatterns, PCRE re-reads up to three octal digits following the backslash, and generates a single byte from the least significant 8 bits of the value. Any subsequent digits stand for themselves. For example:

\040
is another way of writing a space
\40
is the same, provided there are fewer than 40 previous capturing subpatterns
\7
is always a back reference
\11
might be a back reference, or another way of writing a tab
\011
is always a tab
\0113
is a tab followed by the character "3"
\113
is the character with octal code 113 (since there can be no more than 99 back references)
\377
is a byte consisting entirely of 1 bits
\81
is either a back reference, or a binary zero followed by the two characters "8" and "1"

Note that octal values of 100 or greater must not be introduced by a leading zero, because no more than three octal digits are ever read.

All the sequences that define a single byte value can be used both inside and outside character classes. In addition, inside a character class, the sequence "\b" is interpreted as the backspace character (hex 08). Outside a character class it has a different meaning (see below).

The third use of backslash is for specifying generic character types:

\d
any decimal digit
\D
any character that is not a decimal digit
\h
any horizontal whitespace character (since PHP 5.2.4)
\H
any character that is not a horizontal whitespace character (since PHP 5.2.4)
\s
any whitespace character
\S
any character that is not a whitespace character
\v
any vertical whitespace character (since PHP 5.2.4)
\V
any character that is not a vertical whitespace character (since PHP 5.2.4)
\w
any "word" character
\W
any "non-word" character

Each pair of escape sequences partitions the complete set of characters into two disjoint sets. Any given character matches one, and only one, of each pair.

The "whitespace" characters are HT (9), LF (10), FF (12), CR (13), and space (32). However, if locale-specific matching is happening, characters with code points in the range 128-255 may also be considered as whitespace characters, for instance, NBSP (A0).

A "word" character is any letter or digit or the underscore character, that is, any character which can be part of a Perl "word". The definition of letters and digits is controlled by PCRE's character tables, and may vary if locale-specific matching is taking place. For example, in the "fr" (French) locale, some character codes greater than 128 are used for accented letters, and these are matched by \w.

These character type sequences can appear both inside and outside character classes. They each match one character of the appropriate type. If the current matching point is at the end of the subject string, all of them fail, since there is no character to match.

The fourth use of backslash is for certain simple assertions. An assertion specifies a condition that has to be met at a particular point in a match, without consuming any characters from the subject string. The use of subpatterns for more complicated assertions is described below. The backslashed assertions are

\b
word boundary
\B
not a word boundary
\A
start of subject (independent of multiline mode)
\Z
end of subject or newline at end (independent of multiline mode)
\z
end of subject (independent of multiline mode)
\G
first matching position in subject

These assertions may not appear in character classes (but note that "\b" has a different meaning, namely the backspace character, inside a character class).

A word boundary is a position in the subject string where the current character and the previous character do not both match \w or \W (i.e. one matches \w and the other matches \W), or the start or end of the string if the first or last character matches \w, respectively.

The \A, \Z, and \z assertions differ from the traditional circumflex and dollar (described in anchors ) in that they only ever match at the very start and end of the subject string, whatever options are set. They are not affected by the PCRE_MULTILINE or PCRE_DOLLAR_ENDONLY options. The difference between \Z and \z is that \Z matches before a newline that is the last character of the string as well as at the end of the string, whereas \z matches only at the end.

The \G assertion is true only when the current matching position is at the start point of the match, as specified by the offset argument of preg_match(). It differs from \A when the value of offset is non-zero.

\Q and \E can be used to ignore regexp metacharacters in the pattern. For example: \w+\Q.$.\E$ will match one or more word characters, followed by literals .$. and anchored at the end of the string.

\K can be used to reset the match start since PHP 5.2.4. For example, the pattern foo\Kbar matches "foobar", but reports that it has matched "bar". The use of \K does not interfere with the setting of captured substrings. For example, when the pattern (foo)\Kbar matches "foobar", the first substring is still set to "foo".

Meta-characters
Unicode character properties
PCRE regex syntax


Unicode character properties

Since 5.1.0, three additional escape sequences to match generic character types are available when UTF-8 mode is selected. They are:

\p{xx}
a character with the xx property
\P{xx}
a character without the xx property
\X
an extended Unicode sequence

The property names represented by xx above are limited to the Unicode general category properties. Each character has exactly one such property, specified by a two-letter abbreviation. For compatibility with Perl, negation can be specified by including a circumflex between the opening brace and the property name. For example, \p{^Lu} is the same as \P{Lu}.

If only one letter is specified with \p or \P, it includes all the properties that start with that letter. In this case, in the absence of negation, the curly brackets in the escape sequence are optional; these two examples have the same effect:

\p{L}
\pL

Supported property codes
Property | Matches | Notes
C | Other |
Cc | Control |
Cf | Format |
Cn | Unassigned |
Co | Private use |
Cs | Surrogate |
L | Letter | Includes the following properties: Ll, Lm, Lo, Lt and Lu.
Ll | Lower case letter |
Lm | Modifier letter |
Lo | Other letter |
Lt | Title case letter |
Lu | Upper case letter |
M | Mark |
Mc | Spacing mark |
Me | Enclosing mark |
Mn | Non-spacing mark |
N | Number |
Nd | Decimal number |
Nl | Letter number |
No | Other number |
P | Punctuation |
Pc | Connector punctuation |
Pd | Dash punctuation |
Pe | Close punctuation |
Pf | Final punctuation |
Pi | Initial punctuation |
Po | Other punctuation |
Ps | Open punctuation |
S | Symbol |
Sc | Currency symbol |
Sk | Modifier symbol |
Sm | Mathematical symbol |
So | Other symbol |
Z | Separator |
Zl | Line separator |
Zp | Paragraph separator |
Zs | Space separator |

Extended properties such as InMusicalSymbols are not supported by PCRE.

Specifying case-insensitive (caseless) matching does not affect these escape sequences. For example, \p{Lu} always matches only upper case letters.

Sets of Unicode characters are defined as belonging to certain scripts. A character from one of these sets can be matched using a script name. For example:

  • \p{Greek}
  • \P{Han}

Those that are not part of an identified script are lumped together as Common. The current list of scripts is:

Supported scripts
Arabic | Armenian | Avestan | Balinese | Bamum
Batak | Bengali | Bopomofo | Brahmi | Braille
Buginese | Buhid | Canadian_Aboriginal | Carian | Chakma
Cham | Cherokee | Common | Coptic | Cuneiform
Cypriot | Cyrillic | Deseret | Devanagari | Egyptian_Hieroglyphs
Ethiopic | Georgian | Glagolitic | Gothic | Greek
Gujarati | Gurmukhi | Han | Hangul | Hanunoo
Hebrew | Hiragana | Imperial_Aramaic | Inherited | Inscriptional_Pahlavi
Inscriptional_Parthian | Javanese | Kaithi | Kannada | Katakana
Kayah_Li | Kharoshthi | Khmer | Lao | Latin
Lepcha | Limbu | Linear_B | Lisu | Lycian
Lydian | Malayalam | Mandaic | Meetei_Mayek | Meroitic_Cursive
Meroitic_Hieroglyphs | Miao | Mongolian | Myanmar | New_Tai_Lue
Nko | Ogham | Old_Italic | Old_Persian | Old_South_Arabian
Old_Turkic | Ol_Chiki | Oriya | Osmanya | Phags_Pa
Phoenician | Rejang | Runic | Samaritan | Saurashtra
Sharada | Shavian | Sinhala | Sora_Sompeng | Sundanese
Syloti_Nagri | Syriac | Tagalog | Tagbanwa | Tai_Le
Tai_Tham | Tai_Viet | Takri | Tamil | Telugu
Thaana | Thai | Tibetan | Tifinagh | Ugaritic
Vai | Yi |  |  |

The \X escape matches a Unicode extended grapheme cluster. An extended grapheme cluster is one or more Unicode characters that combine to form a single glyph. In effect, this can be thought of as the Unicode equivalent of . as it will match one composed character, regardless of how many individual characters are actually used to render it.

In versions of PCRE older than 8.32 (which corresponds to PHP versions before 5.4.14 when using the bundled PCRE library), \X is equivalent to (?>\PM\pM*). That is, it matches a character without the "mark" property, followed by zero or more characters with the "mark" property, and treats the sequence as an atomic group (see below). Characters with the "mark" property are typically accents that affect the preceding character.

Matching characters by Unicode property is not fast, because PCRE has to search a structure that contains data for over fifteen thousand characters. That is why the traditional escape sequences such as \d and \w do not use Unicode properties in PCRE.

Escape sequences
Anchors
PCRE regex syntax


Anchors

Outside a character class, in the default matching mode, the circumflex character (^) is an assertion which is true only if the current matching point is at the start of the subject string. Inside a character class, circumflex (^) has an entirely different meaning (see below).

Circumflex (^) need not be the first character of the pattern if a number of alternatives are involved, but it should be the first thing in each alternative in which it appears if the pattern is ever to match that branch. If all possible alternatives start with a circumflex (^), that is, if the pattern is constrained to match only at the start of the subject, it is said to be an "anchored" pattern. (There are also other constructs that can cause a pattern to be anchored.)

A dollar character ($) is an assertion which is TRUE only if the current matching point is at the end of the subject string, or immediately before a newline character that is the last character in the string (by default). Dollar ($) need not be the last character of the pattern if a number of alternatives are involved, but it should be the last item in any branch in which it appears. Dollar has no special meaning in a character class.

The meaning of dollar can be changed so that it matches only at the very end of the string, by setting the PCRE_DOLLAR_ENDONLY option at compile or matching time. This does not affect the \Z assertion.

The meanings of the circumflex and dollar characters are changed if the PCRE_MULTILINE option is set. When this is the case, they match immediately after and immediately before an internal "\n" character, respectively, in addition to matching at the start and end of the subject string. For example, the pattern /^abc$/ matches the subject string "def\nabc" in multiline mode, but not otherwise. Consequently, patterns that are anchored in single line mode because all branches start with "^" are not anchored in multiline mode. The PCRE_DOLLAR_ENDONLY option is ignored if PCRE_MULTILINE is set.

Note that the sequences \A, \Z, and \z can be used to match the start and end of the subject in both modes, and if all branches of a pattern start with \A is it always anchored, whether PCRE_MULTILINE is set or not.

Unicode character properties
Dot
PCRE regex syntax


Dot

Outside a character class, a dot in the pattern matches any one character in the subject, including a non-printing character, but not (by default) newline. If the PCRE_DOTALL option is set, then dots match newlines as well. The handling of dot is entirely independent of the handling of circumflex and dollar, the only relationship being that they both involve newline characters. Dot has no special meaning in a character class.

\C can be used to match single byte. It makes sense in UTF-8 mode where full stop matches the whole character which can consist of multiple bytes.

Anchors
Character classes
PCRE regex syntax


Character classes

An opening square bracket introduces a character class, terminated by a closing square bracket. A closing square bracket on its own is not special. If a closing square bracket is required as a member of the class, it should be the first data character in the class (after an initial circumflex, if present) or escaped with a backslash.

A character class matches a single character in the subject; the character must be in the set of characters defined by the class, unless the first character in the class is a circumflex, in which case the subject character must not be in the set defined by the class. If a circumflex is actually required as a member of the class, ensure it is not the first character, or escape it with a backslash.

For example, the character class [aeiou] matches any lower case vowel, while [^aeiou] matches any character that is not a lower case vowel. Note that a circumflex is just a convenient notation for specifying the characters which are in the class by enumerating those that are not. It is not an assertion: it still consumes a character from the subject string, and fails if the current pointer is at the end of the string.

When case-insensitive (caseless) matching is set, any letters in a class represent both their upper case and lower case versions, so for example, an insensitive [aeiou] matches "A" as well as "a", and an insensitive [^aeiou] does not match "A", whereas a sensitive (caseful) version would.

The newline character is never treated in any special way in character classes, whatever the setting of the PCRE_DOTALL or PCRE_MULTILINE options is. A class such as [^a] will always match a newline.

The minus (hyphen) character can be used to specify a range of characters in a character class. For example, [d-m] matches any letter between d and m, inclusive. If a minus character is required in a class, it must be escaped with a backslash or appear in a position where it cannot be interpreted as indicating a range, typically as the first or last character in the class.

It is not possible to have the literal character "]" as the end character of a range. A pattern such as [W-]46] is interpreted as a class of two characters ("W" and "-") followed by a literal string "46]", so it would match "W46]" or "-46]". However, if the "]" is escaped with a backslash it is interpreted as the end of range, so [W-\]46] is interpreted as a single class containing a range followed by two separate characters. The octal or hexadecimal representation of "]" can also be used to end a range.

Ranges operate in ASCII collating sequence. They can also be used for characters specified numerically, for example [\000-\037]. If a range that includes letters is used when case-insensitive (caseless) matching is set, it matches the letters in either case. For example, [W-c] is equivalent to [][\^_`wxyzabc], matched case-insensitively, and if character tables for the "fr" locale are in use, [\xc8-\xcb] matches accented E characters in both cases.

The character types \d, \D, \s, \S, \w, and \W may also appear in a character class, and add the characters that they match to the class. For example, [\dABCDEF] matches any hexadecimal digit. A circumflex can conveniently be used with the upper case character types to specify a more restricted set of characters than the matching lower case type. For example, the class [^\W_] matches any letter or digit, but not underscore.

All non-alphanumeric characters other than \, -, ^ (at the start) and the terminating ] are non-special in character classes, but it does no harm if they are escaped. The pattern terminator is always special and must be escaped when used within an expression.

Perl supports the POSIX notation for character classes. This uses names enclosed by [: and :] within the enclosing square brackets. PCRE also supports this notation. For example, [01[:alpha:]%] matches "0", "1", any alphabetic character, or "%". The supported class names are:

Character classes
alnum | letters and digits
alpha | letters
ascii | character codes 0 - 127
blank | space or tab only
cntrl | control characters
digit | decimal digits (same as \d)
graph | printing characters, excluding space
lower | lower case letters
print | printing characters, including space
punct | printing characters, excluding letters and digits
space | white space (not quite the same as \s)
upper | upper case letters
word | "word" characters (same as \w)
xdigit | hexadecimal digits
The space characters are HT (9), LF (10), VT (11), FF (12), CR (13), and space (32). Notice that this list includes the VT character (code 11). This makes "space" different to \s, which does not include VT (for Perl compatibility).

The name word is a Perl extension, and blank is a GNU extension from Perl 5.8. Another Perl extension is negation, which is indicated by a ^ character after the colon. For example, [12[:^digit:]] matches "1", "2", or any non-digit.

In UTF-8 mode, characters with values greater than 128 do not match any of the POSIX character classes. As of PHP 5.3.0 and libpcre 8.10 some character classes are changed to use Unicode character properties, in which case the mentioned restriction does not apply. Refer to the » PCRE(3) manual for details.

Unicode character properties can appear inside a character class. They can not be part of a range. The minus (hyphen) character after a Unicode character class will match literally. Trying to end a range with a Unicode character property will result in a warning.

Dot
Alternation
PCRE regex syntax


Alternation

Vertical bar characters are used to separate alternative patterns. For example, the pattern gilbert|sullivan matches either "gilbert" or "sullivan". Any number of alternatives may appear, and an empty alternative is permitted (matching the empty string). The matching process tries each alternative in turn, from left to right, and the first one that succeeds is used. If the alternatives are within a subpattern (defined below), "succeeds" means matching the rest of the main pattern as well as the alternative in the subpattern.

Character classes
Internal option setting
PCRE regex syntax


Internal option setting

The settings of PCRE_CASELESS, PCRE_MULTILINE, PCRE_DOTALL, PCRE_UNGREEDY, PCRE_EXTRA, PCRE_EXTENDED and PCRE_DUPNAMES can be changed from within the pattern by a sequence of Perl option letters enclosed between "(?" and ")". The option letters are:

Internal option letters
i | for PCRE_CASELESS
m | for PCRE_MULTILINE
s | for PCRE_DOTALL
x | for PCRE_EXTENDED
U | for PCRE_UNGREEDY
X | for PCRE_EXTRA
J | for PCRE_INFO_JCHANGED

For example, (?im) sets case-insensitive (caseless), multiline matching. It is also possible to unset these options by preceding the letter with a hyphen, and a combined setting and unsetting such as (?im-sx), which sets PCRE_CASELESS and PCRE_MULTILINE while unsetting PCRE_DOTALL and PCRE_EXTENDED, is also permitted. If a letter appears both before and after the hyphen, the option is unset.

When an option change occurs at top level (that is, not inside subpattern parentheses), the change applies to the remainder of the pattern that follows. So /ab(?i)c/ matches only "abc" and "abC".

If an option change occurs inside a subpattern, the effect is different. This is a change of behaviour in Perl 5.005. An option change inside a subpattern affects only that part of the subpattern that follows it, so (a(?i)b)c matches abc and aBc and no other strings (assuming PCRE_CASELESS is not used). By this means, options can be made to have different settings in different parts of the pattern. Any changes made in one alternative do carry on into subsequent branches within the same subpattern. For example, (a(?i)b|c) matches "ab", "aB", "c", and "C", even though when matching "C" the first branch is abandoned before the option setting. This is because the effects of option settings happen at compile time. There would be some very weird behaviour otherwise.

The PCRE-specific options PCRE_UNGREEDY and PCRE_EXTRA can be changed in the same way as the Perl-compatible options by using the characters U and X respectively. The (?X) flag setting is special in that it must always occur earlier in the pattern than any of the additional features it turns on, even when it is at top level. It is best put at the start.

Alternation
Subpatterns
PCRE regex syntax


Subpatterns

Subpatterns are delimited by parentheses (round brackets), which can be nested. Marking part of a pattern as a subpattern does two things:

  1. It localizes a set of alternatives. For example, the pattern cat(aract|erpillar|) matches one of the words "cat", "cataract", or "caterpillar". Without the parentheses, it would match "cataract", "erpillar" or the empty string.

  2. It sets up the subpattern as a capturing subpattern (as defined above). When the whole pattern matches, that portion of the subject string that matched the subpattern is passed back to the caller via the ovector argument of pcre_exec(). Opening parentheses are counted from left to right (starting from 1) to obtain the numbers of the capturing subpatterns.

For example, if the string "the red king" is matched against the pattern the ((red|white) (king|queen)) the captured substrings are "red king", "red", and "king", and are numbered 1, 2, and 3.

The fact that plain parentheses fulfill two functions is not always helpful. There are often times when a grouping subpattern is required without a capturing requirement. If an opening parenthesis is followed by "?:", the subpattern does not do any capturing, and is not counted when computing the number of any subsequent capturing subpatterns. For example, if the string "the white queen" is matched against the pattern the ((?:red|white) (king|queen)) the captured substrings are "white queen" and "queen", and are numbered 1 and 2. The maximum number of captured substrings is 65535. It may not be possible to compile such large patterns, however, depending on the configuration options of libpcre.

As a convenient shorthand, if any option settings are required at the start of a non-capturing subpattern, the option letters may appear between the "?" and the ":". Thus the two patterns

(?i:saturday|sunday)
(?:(?i)saturday|sunday)

match exactly the same set of strings. Because alternative branches are tried from left to right, and options are not reset until the end of the subpattern is reached, an option setting in one branch does affect subsequent branches, so the above patterns match "SUNDAY" as well as "Saturday".

It is possible to name a subpattern using the syntax (?P<name>pattern). This subpattern will then be indexed in the matches array by its normal numeric position and also by name. PHP 5.2.2 introduced two alternative syntaxes (?<name>pattern) and (?'name'pattern).

Sometimes it is necessary to have multiple matching, but alternating subgroups in a regular expression. Normally, each of these would be given their own backreference number even though only one of them would ever possibly match. To overcome this, the (?| syntax allows having duplicate numbers. Consider the following regex matched against the string Sunday:

(?:(Sat)ur|(Sun))day

Here Sun is stored in backreference 2, while backreference 1 is empty. Matching yields Sat in backreference 1 while backreference 2 does not exist. Changing the pattern to use the (?| fixes this problem:

(?|(Sat)ur|(Sun))day

Using this pattern, both Sun and Sat would be stored in backreference 1.

Internal option setting
Repetition
PCRE regex syntax


Repetition

Repetition is specified by quantifiers, which can follow any of the following items:

  • a single character, possibly escaped
  • the . metacharacter
  • a character class
  • a back reference (see next section)
  • a parenthesized subpattern (unless it is an assertion - see below)

The general repetition quantifier specifies a minimum and maximum number of permitted matches, by giving the two numbers in curly brackets (braces), separated by a comma. The numbers must be less than 65536, and the first must be less than or equal to the second. For example: z{2,4} matches "zz", "zzz", or "zzzz". A closing brace on its own is not a special character. If the second number is omitted, but the comma is present, there is no upper limit; if the second number and the comma are both omitted, the quantifier specifies an exact number of required matches. Thus [aeiou]{3,} matches at least 3 successive vowels, but may match many more, while \d{8} matches exactly 8 digits. An opening curly bracket that appears in a position where a quantifier is not allowed, or one that does not match the syntax of a quantifier, is taken as a literal character. For example, {,6} is not a quantifier, but a literal string of four characters.

The quantifier {0} is permitted, causing the expression to behave as if the previous item and the quantifier were not present.

For convenience (and historical compatibility) the three most common quantifiers have single-character abbreviations:

Single-character quantifiers
* | equivalent to {0,}
+ | equivalent to {1,}
? | equivalent to {0,1}

It is possible to construct infinite loops by following a subpattern that can match no characters with a quantifier that has no upper limit, for example: (a?)*

Earlier versions of Perl and PCRE used to give an error at compile time for such patterns. However, because there are cases where this can be useful, such patterns are now accepted, but if any repetition of the subpattern does in fact match no characters, the loop is forcibly broken.

By default, the quantifiers are "greedy", that is, they match as much as possible (up to the maximum number of permitted times), without causing the rest of the pattern to fail. The classic example of where this gives problems is in trying to match comments in C programs. These appear between the sequences /* and */ and within the sequence, individual * and / characters may appear. An attempt to match C comments by applying the pattern /\*.*\*/ to the string /* first comment */ not comment /* second comment */ fails, because it matches the entire string due to the greediness of the .* item.

However, if a quantifier is followed by a question mark, then it becomes lazy, and instead matches the minimum number of times possible, so the pattern /\*.*?\*/ does the right thing with the C comments. The meaning of the various quantifiers is not otherwise changed, just the preferred number of matches. Do not confuse this use of question mark with its use as a quantifier in its own right. Because it has two uses, it can sometimes appear doubled, as in \d??\d which matches one digit by preference, but can match two if that is the only way the rest of the pattern matches.

If the PCRE_UNGREEDY option is set (an option which is not available in Perl) then the quantifiers are not greedy by default, but individual ones can be made greedy by following them with a question mark. In other words, it inverts the default behaviour.

Quantifiers followed by + are "possessive". They eat as many characters as possible and don't return to match the rest of the pattern. Thus .*abc matches "aabc" but .*+abc doesn't because .*+ eats the whole string. Possessive quantifiers can be used to speed up processing.

When a parenthesized subpattern is quantified with a minimum repeat count that is greater than 1 or with a limited maximum, more store is required for the compiled pattern, in proportion to the size of the minimum or maximum.

If a pattern starts with .* or .{0,} and the PCRE_DOTALL option (equivalent to Perl's /s) is set, thus allowing the . to match newlines, then the pattern is implicitly anchored, because whatever follows will be tried against every character position in the subject string, so there is no point in retrying the overall match at any position after the first. PCRE treats such a pattern as though it were preceded by \A. In cases where it is known that the subject string contains no newlines, it is worth setting PCRE_DOTALL when the pattern begins with .* in order to obtain this optimization, or alternatively using ^ to indicate anchoring explicitly.

When a capturing subpattern is repeated, the value captured is the substring that matched the final iteration. For example, after (tweedle[dume]{3}\s*)+ has matched "tweedledum tweedledee" the value of the captured substring is "tweedledee". However, if there are nested capturing subpatterns, the corresponding captured values may have been set in previous iterations. For example, after /(a|(b))+/ matches "aba" the value of the second captured substring is "b".

Subpatterns
Back references
PCRE regex syntax


Back references

Outside a character class, a backslash followed by a digit greater than 0 (and possibly further digits) is a back reference to a capturing subpattern earlier (i.e. to its left) in the pattern, provided there have been that many previous capturing left parentheses.

However, if the decimal number following the backslash is less than 10, it is always taken as a back reference, and causes an error only if there are not that many capturing left parentheses in the entire pattern. In other words, the parentheses that are referenced need not be to the left of the reference for numbers less than 10. A "forward back reference" can make sense when a repetition is involved and the subpattern to the right has participated in an earlier iteration. See the section entitled "Backslash" above for further details of the handling of digits following a backslash.

A back reference matches whatever actually matched the capturing subpattern in the current subject string, rather than anything matching the subpattern itself. So the pattern (sens|respons)e and \1ibility matches "sense and sensibility" and "response and responsibility", but not "sense and responsibility". If case-sensitive (caseful) matching is in force at the time of the back reference, then the case of letters is relevant. For example, ((?i)rah)\s+\1 matches "rah rah" and "RAH RAH", but not "RAH rah", even though the original capturing subpattern is matched case-insensitively (caselessly).

There may be more than one back reference to the same subpattern. If a subpattern has not actually been used in a particular match, then any back references to it always fail. For example, the pattern (a|(bc))\2 always fails if it starts to match "a" rather than "bc". Because there may be up to 99 back references, all digits following the backslash are taken as part of a potential back reference number. If the pattern continues with a digit character, then some delimiter must be used to terminate the back reference. If the PCRE_EXTENDED option is set, this can be whitespace. Otherwise an empty comment can be used.

A back reference that occurs inside the parentheses to which it refers fails when the subpattern is first used, so, for example, (a\1) never matches. However, such references can be useful inside repeated subpatterns. For example, the pattern (a|b\1)+ matches any number of "a"s and also "aba", "ababba" etc. At each iteration of the subpattern, the back reference matches the character string corresponding to the previous iteration. In order for this to work, the pattern must be such that the first iteration does not need to match the back reference. This can be done using alternation, as in the example above, or by a quantifier with a minimum of zero.

As of PHP 5.2.2, the \g escape sequence can be used for absolute and relative referencing of subpatterns. This escape sequence must be followed by an unsigned number or a negative number, optionally enclosed in braces. The sequences \1, \g1 and \g{1} are synonymous with one another. The use of this pattern with an unsigned number can help remove the ambiguity inherent when using digits following a backslash. The sequence helps to distinguish back references from octal characters and also makes it easier to have a back reference followed by a literal number, e.g. \g{2}1.

The use of the \g sequence with a negative number signifies a relative reference. For example, (foo)(bar)\g{-1} would match the sequence "foobarbar" and (foo)(bar)\g{-2} matches "foobarfoo". This can be useful in long patterns as an alternative to keeping track of the number of subpatterns in order to reference a specific previous subpattern.

Back references to the named subpatterns can be achieved by (?P=name) or, since PHP 5.2.2, also by \k<name> or \k'name'. Additionally PHP 5.2.4 added support for \k{name} and \g{name}, and PHP 5.2.7 for \g<name> and \g'name'.

Repetition
Assertions
PCRE regex syntax


Assertions

An assertion is a test on the characters following or preceding the current matching point that does not actually consume any characters. The simple assertions coded as \b, \B, \A, \Z, \z, ^ and $ are described in escape sequences. More complicated assertions are coded as subpatterns. There are two kinds: those that look ahead of the current position in the subject string, and those that look behind it.

An assertion subpattern is matched in the normal way, except that it does not cause the current matching position to be changed. Lookahead assertions start with (?= for positive assertions and (?! for negative assertions. For example, \w+(?=;) matches a word followed by a semicolon, but does not include the semicolon in the match, and foo(?!bar) matches any occurrence of "foo" that is not followed by "bar". Note that the apparently similar pattern (?!foo)bar does not find an occurrence of "bar" that is preceded by something other than "foo"; it finds any occurrence of "bar" whatsoever, because the assertion (?!foo) is always TRUE when the next three characters are "bar". A lookbehind assertion is needed to achieve this effect.

Lookbehind assertions start with (?<= for positive assertions and (?<! for negative assertions. For example, (?<!foo)bar does find an occurrence of "bar" that is not preceded by "foo". The contents of a lookbehind assertion are restricted such that all the strings it matches must have a fixed length. However, if there are several alternatives, they do not all have to have the same fixed length. Thus (?<=bullock|donkey) is permitted, but (?<!dogs?|cats?) causes an error at compile time. Branches that match different length strings are permitted only at the top level of a lookbehind assertion. This is an extension compared with Perl 5.005, which requires all branches to match the same length of string. An assertion such as (?<=ab(c|de)) is not permitted, because its single top-level branch can match two different lengths, but it is acceptable if rewritten to use two top-level branches: (?<=abc|abde) The implementation of lookbehind assertions is, for each alternative, to temporarily move the current position back by the fixed width and then try to match. If there are insufficient characters before the current position, the match is deemed to fail. Lookbehinds in conjunction with once-only subpatterns can be particularly useful for matching at the ends of strings; an example is given at the end of the section on once-only subpatterns.

Several assertions (of any sort) may occur in succession. For example, (?<=\d{3})(?<!999)foo matches "foo" preceded by three digits that are not "999". Notice that each of the assertions is applied independently at the same point in the subject string. First there is a check that the previous three characters are all digits, then there is a check that the same three characters are not "999". This pattern does not match "foo" preceded by six characters, the first of which are digits and the last three of which are not "999". For example, it doesn't match "123abcfoo". A pattern to do that is (?<=\d{3}...)(?<!999)foo

This time the first assertion looks at the preceding six characters, checking that the first three are digits, and then the second assertion checks that the preceding three characters are not "999".

Assertions can be nested in any combination. For example, (?<=(?<!foo)bar)baz matches an occurrence of "baz" that is preceded by "bar" which in turn is not preceded by "foo", while (?<=\d{3}...(?<!999))foo is another pattern which matches "foo" preceded by three digits and any three characters that are not "999".

Assertion subpatterns are not capturing subpatterns, and may not be repeated, because it makes no sense to assert the same thing several times. If any kind of assertion contains capturing subpatterns within it, these are counted for the purposes of numbering the capturing subpatterns in the whole pattern. However, substring capturing is carried out only for positive assertions, because it does not make sense for negative assertions.

Assertions count towards the maximum of 200 parenthesized subpatterns.

Back references
Once-only subpatterns
PCRE regex syntax


Once-only subpatterns

With both maximizing and minimizing repetition, failure of what follows normally causes the repeated item to be re-evaluated to see if a different number of repeats allows the rest of the pattern to match. Sometimes it is useful to prevent this, either to change the nature of the match, or to cause it fail earlier than it otherwise might, when the author of the pattern knows there is no point in carrying on.

Consider, for example, the pattern \d+foo when applied to the subject line 123456bar

After matching all 6 digits and then failing to match "foo", the normal action of the matcher is to try again with only 5 digits matching the \d+ item, and then with 4, and so on, before ultimately failing. Once-only subpatterns provide the means for specifying that once a portion of the pattern has matched, it is not to be re-evaluated in this way, so the matcher would give up immediately on failing to match "foo" the first time. The notation is another kind of special parenthesis, starting with (?> as in this example: (?>\d+)bar

This kind of parenthesis "locks up" the part of the pattern it contains once it has matched, and a failure further into the pattern is prevented from backtracking into it. Backtracking past it to previous items, however, works as normal.

An alternative description is that a subpattern of this type matches the string of characters that an identical standalone pattern would match, if anchored at the current point in the subject string.

Once-only subpatterns are not capturing subpatterns. Simple cases such as the above example can be thought of as a maximizing repeat that must swallow everything it can. So, while both \d+ and \d+? are prepared to adjust the number of digits they match in order to make the rest of the pattern match, (?>\d+) can only match an entire sequence of digits.

This construction can of course contain arbitrarily complicated subpatterns, and it can be nested.

Once-only subpatterns can be used in conjunction with lookbehind assertions to specify efficient matching at the end of the subject string. Consider a simple pattern such as abcd$ when applied to a long string which does not match. Because matching proceeds from left to right, PCRE will look for each "a" in the subject and then see if what follows matches the rest of the pattern. If the pattern is specified as ^.*abcd$ then the initial .* matches the entire string at first, but when this fails (because there is no following "a"), it backtracks to match all but the last character, then all but the last two characters, and so on. Once again the search for "a" covers the entire string, from right to left, so we are no better off. However, if the pattern is written as ^(?>.*)(?<=abcd) then there can be no backtracking for the .* item; it can match only the entire string. The subsequent lookbehind assertion does a single test on the last four characters. If it fails, the match fails immediately. For long strings, this approach makes a significant difference to the processing time.

When a pattern contains an unlimited repeat inside a subpattern that can itself be repeated an unlimited number of times, the use of a once-only subpattern is the only way to avoid some failing matches taking a very long time indeed. The pattern (\D+|<\d+>)*[!?] matches an unlimited number of substrings that either consist of non-digits, or digits enclosed in <>, followed by either ! or ?. When it matches, it runs quickly. However, if it is applied to aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa it takes a long time before reporting failure. This is because the string can be divided between the two repeats in a large number of ways, and all have to be tried. (The example used [!?] rather than a single character at the end, because both PCRE and Perl have an optimization that allows for fast failure when a single character is used. They remember the last single character that is required for a match, and fail early if it is not present in the string.) If the pattern is changed to ((?>\D+)|<\d+>)*[!?] sequences of non-digits cannot be broken, and failure happens quickly.

Assertions
Conditional subpatterns
PCRE regex syntax


Conditional subpatterns

It is possible to cause the matching process to obey a subpattern conditionally or to choose between two alternative subpatterns, depending on the result of an assertion, or whether a previous capturing subpattern matched or not. The two possible forms of conditional subpattern are

(?(condition)yes-pattern)
(?(condition)yes-pattern|no-pattern)

If the condition is satisfied, the yes-pattern is used; otherwise the no-pattern (if present) is used. If there are more than two alternatives in the subpattern, a compile-time error occurs.

There are two kinds of condition. If the text between the parentheses consists of a sequence of digits, then the condition is satisfied if the capturing subpattern of that number has previously matched. Consider the following pattern, which contains non-significant white space to make it more readable (assume the PCRE_EXTENDED option) and to divide it into three parts for ease of discussion:

( \( )?    [^()]+    (?(1) \) )

The first part matches an optional opening parenthesis, and if that character is present, sets it as the first captured substring. The second part matches one or more characters that are not parentheses. The third part is a conditional subpattern that tests whether the first set of parentheses matched or not. If they did, that is, if subject started with an opening parenthesis, the condition is TRUE, and so the yes-pattern is executed and a closing parenthesis is required. Otherwise, since no-pattern is not present, the subpattern matches nothing. In other words, this pattern matches a sequence of non-parentheses, optionally enclosed in parentheses.

If the condition is the string (R), it is satisfied if a recursive call to the pattern or subpattern has been made. At "top level", the condition is false.

If the condition is not a sequence of digits or (R), it must be an assertion. This may be a positive or negative lookahead or lookbehind assertion. Consider this pattern, again containing non-significant white space, and with the two alternatives on the second line:

(?(?=[^a-z]*[a-z])
\d{2}-[a-z]{3}-\d{2}  |  \d{2}-\d{2}-\d{2} )

The condition is a positive lookahead assertion that matches an optional sequence of non-letters followed by a letter. In other words, it tests for the presence of at least one letter in the subject. If a letter is found, the subject is matched against the first alternative; otherwise it is matched against the second. This pattern matches strings in one of the two forms dd-aaa-dd or dd-dd-dd, where aaa are letters and dd are digits.

Once-only subpatterns
Comments
PCRE regex syntax


Comments

The sequence (?# marks the start of a comment which continues up to the next closing parenthesis. Nested parentheses are not permitted. The characters that make up a comment play no part in the pattern matching at all.

If the PCRE_EXTENDED option is set, an unescaped # character outside a character class introduces a comment that continues up to the next newline character in the pattern.

Conditional subpatterns
Recursive patterns
PCRE regex syntax


Recursive patterns

Consider the problem of matching a string in parentheses, allowing for unlimited nested parentheses. Without the use of recursion, the best that can be done is to use a pattern that matches up to some fixed depth of nesting. It is not possible to handle an arbitrary nesting depth. Perl 5.6 has provided an experimental facility that allows regular expressions to recurse (among other things). The special item (?R) is provided for the specific case of recursion. This PCRE pattern solves the parentheses problem (assume the PCRE_EXTENDED option is set so that white space is ignored): \( ( (?>[^()]+) | (?R) )* \)

First it matches an opening parenthesis. Then it matches any number of substrings which can either be a sequence of non-parentheses, or a recursive match of the pattern itself (i.e. a correctly parenthesized substring). Finally there is a closing parenthesis.

This particular example pattern contains nested unlimited repeats, and so the use of a once-only subpattern for matching strings of non-parentheses is important when applying the pattern to strings that do not match. For example, when it is applied to (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa() it yields "no match" quickly. However, if a once-only subpattern is not used, the match runs for a very long time indeed because there are so many different ways the + and * repeats can carve up the subject, and all have to be tested before failure can be reported.

The values set for any capturing subpatterns are those from the outermost level of the recursion at which the subpattern value is set. If the pattern above is matched against (ab(cd)ef) the value for the capturing parentheses is "ef", which is the last value taken on at the top level. If additional parentheses are added, giving \( ( ( (?>[^()]+) | (?R) )* ) \) then the string they capture is "ab(cd)ef", the contents of the top level parentheses. If there are more than 15 capturing parentheses in a pattern, PCRE has to obtain extra memory to store data during a recursion, which it does by using pcre_malloc, freeing it via pcre_free afterwards. If no memory can be obtained, it saves data for the first 15 capturing parentheses only, as there is no way to give an out-of-memory error from within a recursion.

(?1), (?2) and so on can be used for recursive subpatterns too. It is also possible to use named subpatterns: (?P>name) or (?&name).

If the syntax for a recursive subpattern reference (either by number or by name) is used outside the parentheses to which it refers, it operates like a subroutine in a programming language. An earlier example pointed out that the pattern (sens|respons)e and \1ibility matches "sense and sensibility" and "response and responsibility", but not "sense and responsibility". If instead the pattern (sens|respons)e and (?1)ibility is used, it does match "sense and responsibility" as well as the other two strings. Such references must, however, follow the subpattern to which they refer.

The maximum length of a subject string is the largest positive number that an integer variable can hold. However, PCRE uses recursion to handle subpatterns and indefinite repetition. This means that the available stack space may limit the size of a subject string that can be processed by certain patterns.

Comments
Performance
PCRE regex syntax


Performance

Certain items that may appear in patterns are more efficient than others. It is more efficient to use a character class like [aeiou] than a set of alternatives such as (a|e|i|o|u). In general, the simplest construction that provides the required behaviour is usually the most efficient. Jeffrey Friedl's book contains a lot of discussion about optimizing regular expressions for efficient performance.

When a pattern begins with .* and the PCRE_DOTALL option is set, the pattern is implicitly anchored by PCRE, since it can match only at the start of a subject string. However, if PCRE_DOTALL is not set, PCRE cannot make this optimization, because the . metacharacter does not then match a newline, and if the subject string contains newlines, the pattern may match from the character immediately following one of them instead of from the very start. For example, the pattern (.*) second matches the subject "first\nand second" (where \n stands for a newline character) with the first captured substring being "and". In order to do this, PCRE has to retry the match starting after every newline in the subject.

If you are using such a pattern with subject strings that do not contain newlines, the best performance is obtained by setting PCRE_DOTALL, or starting the pattern with ^.* to indicate explicit anchoring. That saves PCRE from having to scan along the subject looking for a newline to restart at.

Beware of patterns that contain nested indefinite repeats. These can take a long time to run when applied to a string that does not match. Consider the pattern fragment (a+)*

This can match "aaaa" in 33 different ways, and this number increases very rapidly as the string gets longer. (The * repeat can match 0, 1, 2, 3, or 4 times, and for each of those cases other than 0, the + repeats can match different numbers of times.) When the remainder of the pattern is such that the entire match is going to fail, PCRE has in principle to try every possible variation, and this can take an extremely long time.

An optimization catches some of the more simple cases such as (a+)*b where a literal character follows. Before embarking on the standard matching procedure, PCRE checks that there is a "b" later in the subject string, and if there is not, it fails the match immediately. However, when there is no following literal this optimization cannot be used. You can see the difference by comparing the behaviour of (a+)*\d with the pattern above. The former gives a failure almost instantly when applied to a whole line of "a" characters, whereas the latter takes an appreciable time with strings longer than about 20 characters.

Recursive patterns
Mögliche Modifikatoren in RegEx-Suchmustern
PCRE regex syntax


Suchmuster-Modifikatoren

Die zurzeit möglichen PCRE-Modifikatoren sind unten aufgelistet. Die Bezeichnungen in Klammern beziehen sich auf die internen PCRE-Bezeichnungen für diese Modifikatoren. Leerzeichen und Zeilenumbrüche in Modifikatoren werden ignoriert. Andere Zeichen führen zu einem Fehler.

i (PCRE_CASELESS)
Wenn dieser Modifikator gesetzt ist, passen Buchstaben im Suchmuster sowohl auf groß- als auch auf kleingeschriebene Buchstaben.
m (PCRE_MULTILINE)
Standardmäßig behandelt PCRE eine zu durchsuchende Zeichenkette wie eine einzige Zeile von Zeichen (auch wenn sie tatsächlich mehrere Zeilenumbrüche enthält). Das Metazeichen für einen Zeilenanfang (^) passt nur auf den Anfang der Zeichenkette, das Metazeichen für ein Zeilenende ($) nur auf das Ende der Zeichenkette (falls der Modifikator D nicht gesetzt ist). Das ist genauso wie bei Perl. Wenn dieser Modifikator gesetzt ist, passen die Zeilenanfang- und Zeilenende-Konstrukte in der Zeichenkette sowohl direkt nach, bzw. vor einem Zeilenumbruch als auch auf deren Anfang und Ende. Das entspricht dem Perl-Modifikator /m. Falls die Zeichenkette keine Sequenz "\n" enthält, oder im Suchmuster kein ^ oder $ vorkommt, hat dieser Modifikator keine Wirkung.
s (PCRE_DOTALL)
Wenn dieser Modifikator gesetzt ist, passt das Metazeichen Punkt im Suchmuster auf alle Zeichen inklusive Zeilenumbrüche. Ohne diesen Modifikator sind Zeilenumbrüche ausgeschlossen. Dieser Modifikator entspricht dem Perl-Modifikator /s. Unabhängig davon, ob dieser Modifikator gesetzt ist, passt eine verneinende Zeichenklasse wie z.B. [^a] immer auf einen Zeilenumbruch.
x (PCRE_EXTENDED)
Wenn dieser Modifikator gesetzt ist, werden Leerräume im Suchmuster ignoriert, sofern sie nicht maskiert sind oder sich innerhalb einer Zeichenklasse befinden. Außerdem werden Zeichen, die außerhalb einer Zeichenklasse zwischen nicht maskierten # stehen, einschließlich dem nächsten Zeilenumbruch ignoriert. Das entspricht dem Perl-Modifikator /x und bietet die Möglichkeit, Kommentare in komplizierte Suchmuster einzufügen. Beachten Sie aber, dass dies nur für Datenzeichen gilt. Leerräume dürfen niemals innerhalb einer Folge spezieller Zeichen auftreten, zum Beispiel in der Folge (?(, die einen bedingten Teilausdruck einleitet.
e (PREG_REPLACE_EVAL)
Warnung

Dieses Feature ist seit PHP 5.5.0 DEPRECATED (veraltet) und seit PHP 7.0.0 ENTFERNT.

Wenn dieser veraltete Modifikator gesetzt ist, macht preg_replace() in der Ersetzungszeichenkette eine normale Ersetzung von Rückrefenzen, wertet sie als PHP-Code aus und verwendet das Ergebnis um damit die gesuchte Zeichenkette zu ersetzen. Einfache Anführungszeichen, doppelte Anführungszeichen, Backslashes (\) und NULL-Zeichen werden in den ersetzten Rückreferenzen mit einem Backslash maskiert.
Achtung

Bei jeder passenden Rückreferenz wird die Funktion addslashes() aufgerufen, bevor sie ersetzt wird. Wenn die Rückreferenz als Zeichenkette in Anführungszeichen verwendet wird, werden von daher maskierte Zeichen in Buchstabensymbole umgewandelt. Allerdings behalten maskierte Zeichen, die normalerweise nicht umgewandelt würden, ihre Backslashes. Das macht die Verwendung dieses Modifikators sehr kompliziert.

Achtung

Stellen Sie sicher, dass replacement gültigen PHP-Code erzeugt, weil sich PHP sonst über einen Parse Error in der Zeile beschwert, die den Aufruf von preg_replace() enthält.

Achtung

Von der Verwendung dieses Modifikators wird abgeraten, weil damit sehr leicht Sicherheitslücken entstehen können:

<?php
$html = $_POST['html'];

// großgeschriebene Überschriften
$html = preg_replace(
    '(<h([1-6])>(.*?)</h\1>)e',
    '"<h$1>" . strtoupper("$2") . "</h$1>"',
    $html
);

Der obige Beispiel-Code kann durch Übergabe einer Zeichenkette wie z.B. <h1>{${eval($_GET[php_code])}}</h1> leicht ausgenutzt werden. Das gibt dem Angreifer die Möglichkeit, beliebigen PHP-Code auszuführen und gibt ihm somit beinahe vollständigen Zugriff auf den Server.

Um diese Sicherheitslücke zur Ausführung von Code von außen (Remote Code Execution) zu vermeiden, sollte stattdessen die Funktion preg_replace_callback() verwendet werden:

<?php
$html = $_POST['html'];

// großgeschriebene Überschriften
$html = preg_replace_callback(
    '(<h([1-6])>(.*?)</h\1>)',
    function ($m) {
        return "<h$m[1]>" . strtoupper($m[2]) . "</h$m[1]>";
    },
    $html
);

Hinweis:

Dieser Modifikator wird nur von preg_replace() verwendet; von anderen PCRE-Funktionen wird er ignoriert.

A (PCRE_ANCHORED)
Wenn dieser Modifikator gesetzt ist, wird das Suchmuster "verankert", das bedeutet, dass es gezwungen wird, nur auf den Anfang der durchsuchten Zeichenkette zu passen. Diese Wirkung kann auch durch geeignete Konstrukte im Suchmuster selbst erreicht werden, was in Perl die einzige Möglichkeit ist, sie zu realisieren.
D (PCRE_DOLLAR_ENDONLY)
Wenn dieser Modifikator gesetzt ist, passt ein Dollar-Metazeichen im Suchmuster nur auf das Ende der durchsuchten Zeichenkette. Ohne diesen Modifikator passt ein Dollarzeichen auch direkt vor dem letzten Zeichen, falls es ein Zeilenumbruch ist (aber nicht vor anderen Zeilenumbrüchen). Wenn der Modifikator m gesetzt ist, wird dieser Modifikator ignoriert. Für diesen Modifikator gibt es in Perl keine Entsprechung.
S
Wenn ein Suchmuster mehrmals verwendet werden soll, lohnt es sich, mehr Zeit für dessen Analyse aufzubringen um die Suche zu optimieren. Wenn dieser Modifikator gesetzt ist, wird diese zusätzliche Analyse durchgeführt. Gegenwärtig ist die Untersuchung eines Suchmusters nur für nicht verankerte Suchmuster brauchbar, die am Anfang kein einzelnes fixiertes Zeichen haben.
U (PCRE_UNGREEDY)
Dieser Modifikator kehrt die Gier von Quantifikatoren um, sodass sie standardmäßig nicht gierig sind, aber gierig werden, wenn ihnen ein ? folgt. Das ist nicht mit Perl kompatibel. Es kann auch innerhalb des Suchmusters mit dem Modifikator (?U) oder durch ein Fragezeichen hinter dem Quantifikator (z.B. .*?) gesetzt werden.

Hinweis:

Im Ungreedy-Modus ist es nicht möglich, mehr als pcre.backtrack_limit Übereinstimmungen zu treffen.

X (PCRE_EXTRA)
Dieser Modifikator schaltet zusätzliche PCRE-Funktionalität ein, die nicht mit Perl kompatibel ist. Ein Backslash vor einem Buchstaben, der keine spezielle Bedeutung hat, verursacht eine Fehlermeldung und reserviert diese Kombinationen somit für künftige Erweiterungen. Standardmäßig wird ein Backslash vor einem Buchstaben, der keine spezielle Bedeutung hat, wie in Perl als Buchstabensymbol behandelt. Gegenwärtig werden von diesem Modifikator keine weiteren Eigenschaften kontrolliert.
J (PCRE_INFO_JCHANGED)
Die interne Option (?J) ändert die lokale Option PCRE_DUPNAMES. Erlaubt doppelte Namen für Teilsuchmuster.
u (PCRE_UTF8)
Dieser Modifikator schaltet zusätzliche PCRE-Funktionalität ein, die nicht mit Perl kompatibel ist. Suchmuster und durchsuchte Zeichenketten werden als UTF-8 behandelt. Dieser Modifikator steht unter Unix seit PHP 4.1.0 und unter Win32 seit PHP 4.2.3 zur Verfügung. Ob es sich im Suchmuster und in den Zeichenketten um gültiges UTF-8 handelt, wird seit PHP 4.3.5 überprüft. Eine ungültige Zeichenkette bewirkt, dass die preg_*-Funktionen keine Übereinstimmungen finden. Ein ungültiges Suchmuster erzeugt einen Fehler der Stufe E_WARNING. UTF-8-Zeichenfolgen mit fünf oder sechs Oktetten werden seit PHP 5.3.4, bzw. PCRE 7.3 2007-08-28 als ungültig betrachtet; davor wurden sie als gültiges UTF-8 betrachtet.

Performance
Differences From Perl
PCRE-Suchmuster


Perl Differences

The differences described here are with respect to Perl 5.005.

  1. By default, a whitespace character is any character that the C library function isspace() recognizes, though it is possible to compile PCRE with alternative character type tables. Normally isspace() matches space, formfeed, newline, carriage return, horizontal tab, and vertical tab. Perl 5 no longer includes vertical tab in its set of whitespace characters. The \v escape that was in the Perl documentation for a long time was never in fact recognized. However, the character itself was treated as whitespace at least up to 5.002. In 5.004 and 5.005 it does not match \s.
  2. PCRE does not allow repeat quantifiers on lookahead assertions. Perl permits them, but they do not mean what you might think. For example, (?!a){3} does not assert that the next three characters are not "a". It just asserts that the next character is not "a" three times.
  3. Capturing subpatterns that occur inside negative lookahead assertions are counted, but their entries in the offsets vector are never set. Perl sets its numerical variables from any such patterns that are matched before the assertion fails to match something (thereby succeeding), but only if the negative lookahead assertion contains just one branch.
  4. Though binary zero characters are supported in the subject string, they are not allowed in a pattern string because it is passed as a normal C string, terminated by zero. The escape sequence "\x00" can be used in the pattern to represent a binary zero.
  5. The following Perl escape sequences are not supported: \l, \u, \L, \U. In fact these are implemented by Perl's general string-handling and are not part of its pattern matching engine.
  6. The Perl \G assertion is not supported as it is not relevant to single pattern matches.
  7. Fairly obviously, PCRE does not support the (?{code}) and (??{code}) construction. However, there is support for recursive patterns.
  8. There are at the time of writing some oddities in Perl 5.005_02 concerned with the settings of captured strings when part of a pattern is repeated. For example, matching "aba" against the pattern /^(a(b)?)+$/ sets $2 to the value "b", but matching "aabbaa" against /^(aa(bb)?)+$/ leaves $2 unset. However, if the pattern is changed to /^(aa(b(b))?)+$/ then $2 (and $3) get set. In Perl 5.004 $2 is set in both cases, and that is also TRUE of PCRE. If in the future Perl changes to a consistent state that is different, PCRE may change to follow.
  9. Another as yet unresolved discrepancy is that in Perl 5.005_02 the pattern /^(a)?(?(1)a|b)+$/ matches the string "a", whereas in PCRE it does not. However, in both Perl and PCRE /^(a)?a/ matched against "a" leaves $1 unset.

  10. PCRE provides some extensions to the Perl regular expression facilities:

    1. Although lookbehind assertions must match fixed length strings, each alternative branch of a lookbehind assertion can match a different length of string. Perl 5.005 requires them all to have the same length.
    2. If PCRE_DOLLAR_ENDONLY is set and PCRE_MULTILINE is not set, the $ meta-character matches only at the very end of the string.
    3. If PCRE_EXTRA is set, a backslash followed by a letter with no special meaning is faulted.
    4. If PCRE_UNGREEDY is set, the greediness of the repetition quantifiers is inverted, that is, by default they are not greedy, but if followed by a question mark they are.

Mögliche Modifikatoren in RegEx-Suchmustern
Differences from POSIX regex
PCRE-Suchmuster


Differences from POSIX regex

As of PHP 5.3.0, the POSIX Regex extension is deprecated. There are a number of differences between POSIX regex and PCRE regex. This page lists the most notable ones that are necessary to know when converting to PCRE.

  1. The PCRE functions require that the pattern is enclosed by delimiters.
  2. Unlike POSIX, the PCRE extension does not have dedicated functions for case-insensitive matching. Instead, this is supported using the i (PCRE_CASELESS) pattern modifier. Other pattern modifiers are also available for changing the matching strategy.
  3. The POSIX functions find the longest of the leftmost match, but PCRE stops on the first valid match. If the string doesn't match at all it makes no difference, but if it matches it may have dramatic effects on both the resulting match and the matching speed. To illustrate this difference, consider the following example from "Mastering Regular Expressions" by Jeffrey Friedl. Using the pattern one(self)?(selfsufficient)? on the string oneselfsufficient with PCRE will result in matching oneself, but using POSIX the result will be the full string oneselfsufficient. Both (sub)strings match the original string, but POSIX requires that the longest be the result.
  4. The POSIX definition of a "character class" differs from that of PCRE. Simple bracket expressions to match a set of explicit characters are supported in the form of PCRE character classes but POSIX collating elements, character classes and character equivalents are not supported. Supplying an expression with a character class that both starts and ends with :, . or = characters to PCRE is interpreted as an attempt to use one of these unsupported features and causes a compilation error.

Function replacements
POSIX | PCRE
ereg_replace() | preg_replace()
ereg() | preg_match()
eregi_replace() | preg_replace()
eregi() | preg_match()
split() | preg_split()
spliti() | preg_split()
sql_regcase() | No equivalent

Differences From Perl
PCRE-Funktionen
PCRE-Suchmuster


PCRE-Funktionen

Inhaltsverzeichnis

  • preg_filter — Sucht und ersetzt mit regulären Ausdrücken
  • preg_grep — Liefert Array-Elemente, die auf ein Suchmuster passen
  • preg_last_error — Liefert den Fehlercode der letzten PCRE RegEx-Auswertung
  • preg_match_all — Führt eine umfassende Suche nach Übereinstimmungen mit regulärem Ausdruck durch
  • preg_match — Führt eine Suche mit einem regulären Ausdruck durch
  • preg_quote — Maskiert Zeichen regulärer Ausdrücke
  • preg_replace_callback_array — Perform a regular expression search and replace using callbacks
  • preg_replace_callback — Sucht und ersetzt mit regulären Ausdrücken unter Verwendung eines Callbacks
  • preg_replace — Sucht und ersetzt mit regulären Ausdrücken
  • preg_split — Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks
Differences from POSIX regex
preg_filter
PCRE


Sucht und ersetzt mit regulären Ausdrücken

PCRE-Funktionen
preg_grep
PCRE-Funktionen
PHP Manual

preg_filter

(PHP 5 >= 5.3.0, PHP 7)

preg_filter — Sucht und ersetzt mit regulären Ausdrücken

Beschreibung

mixed preg_filter ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )

Davon abgesehen, dass preg_filter() nur bei Übereinstimmungen die (möglicherweise umgewandelten) Zeichenketten zurückgibt, ist sie mit preg_replace() identisch. Details über die Funktionsweise dieser Funktion finden Sie in der preg_replace()-Dokumentation.

Rückgabewerte

Gibt ein Array zurück, falls subject ein Array ist, andernfalls eine Zeichenkette.

Falls keine Übereinstimmungen gefunden wurden oder ein Fehler auftrat, wird ein leeres Array zurückgegeben, wenn subject ein Array ist, andernfalls NULL.

Beispiele

Beispiel #1 Beispiel zum Vergleich von preg_filter() und preg_replace()

<?php
$zeichenkette = array('1', 'a', '2', 'b', '3', 'A', 'B', '4');
$suchmuster = array('/\d/', '/[a-z]/', '/[1a]/');
$ersatz = array('A:$0', 'B:$0', 'C:$0');

echo "preg_filter liefert\n";
print_r(preg_filter($suchmuster, $ersatz, $zeichenkette));

echo "preg_replace liefert\n";
print_r(preg_replace($suchmuster, $ersatz, $zeichenkette));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

preg_filter liefert
Array
(
    [0] => A:C:1
    [1] => B:C:a
    [2] => A:2
    [3] => B:b
    [4] => A:3
    [7] => A:4
)
preg_replace liefert
Array
(
    [0] => A:C:1
    [1] => B:C:a
    [2] => A:2
    [3] => B:b
    [4] => A:3
    [5] => A
    [6] => B
    [7] => A:4
)

Siehe auch

  • PCRE-Suchmuster
  • preg_quote() - Maskiert Zeichen regulärer Ausdrücke
  • preg_replace() - Sucht und ersetzt mit regulären Ausdrücken
  • preg_replace_callback() - Sucht und ersetzt mit regulären Ausdrücken unter Verwendung eines Callbacks
  • preg_grep() - Liefert Array-Elemente, die auf ein Suchmuster passen
  • preg_last_error() - Liefert den Fehlercode der letzten PCRE RegEx-Auswertung

PCRE-Funktionen
preg_grep
PCRE-Funktionen


Liefert Array-Elemente, die auf ein Suchmuster passen

preg_filter
preg_last_error
PCRE-Funktionen
PHP Manual

preg_grep

(PHP 4, PHP 5, PHP 7)

preg_grep — Liefert Array-Elemente, die auf ein Suchmuster passen

Beschreibung

array preg_grep ( string $pattern , array $input [, int $flags = 0 ] )

Gibt ein Array zurück, das aus den Elementen des input-Arrays besteht, die auf das angegebene Suchmuster pattern passen.

Parameter-Liste

pattern

Der Ausdruck, nach dem gesucht werden soll, als Zeichenkette

input

Das Eingabe-Array

flags

Falls auf PREG_GREP_INVERT gesetzt, gibt die Funktion die Elemente des Eingabe-Arrays zurück, die nicht auf das angegebene Suchmuster pattern passen.

Rückgabewerte

Gibt ein Array zurück, das mit den Schlüsseln des input-Arrays indiziert ist.

Beispiele

Beispiel #1 preg_grep()-Beispiel

<?php
// liefert alle Array-Elemente,
// die Fließkommazahlen enthalten
$fl_array = preg_grep("/^(\d+)?\.\d+$/", $array);
?>

Siehe auch

  • PCRE-Suchmuster
  • preg_quote() - Maskiert Zeichen regulärer Ausdrücke
  • preg_match_all() - Führt eine umfassende Suche nach Übereinstimmungen mit regulärem Ausdruck durch
  • preg_filter() - Sucht und ersetzt mit regulären Ausdrücken
  • preg_last_error() - Liefert den Fehlercode der letzten PCRE RegEx-Auswertung

preg_filter
preg_last_error
PCRE-Funktionen


Liefert den Fehlercode der letzten PCRE RegEx-Auswertung

preg_grep
preg_match_all
PCRE-Funktionen
PHP Manual

preg_last_error

(PHP 5 >= 5.2.0, PHP 7)

preg_last_error — Liefert den Fehlercode der letzten PCRE RegEx-Auswertung

Beschreibung

int preg_last_error ( void )

Liefert den Fehlercode der letzten PCRE RegEx-Auswertung.

Beispiel #1 preg_last_error() Beispiel

<?php

preg_match('/(?:\D+|<\d+>)*[!?]/', 'foobar foobar foobar');

if (preg_last_error() == PREG_BACKTRACK_LIMIT_ERROR) {
    print 'Das Backtrack-Limit wurde erreicht!';
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Das Backtrack-Limit wurde erreicht!

Rückgabewerte

Diese Funktion liefert eine der folgenden Konstanten:

  • PREG_NO_ERROR
  • PREG_INTERNAL_ERROR
  • PREG_BACKTRACK_LIMIT_ERROR (siehe auch pcre.backtrack_limit)
  • PREG_RECURSION_LIMIT_ERROR (siehe auch pcre.recursion_limit)
  • PREG_BAD_UTF8_ERROR
  • PREG_BAD_UTF8_OFFSET_ERROR (ab PHP 5.3.0)
  • PREG_JIT_STACKLIMIT_ERROR (ab PHP 7.0.0)

preg_grep
preg_match_all
PCRE-Funktionen


Führt eine umfassende Suche nach Übereinstimmungen mit regulärem Ausdruck durch

preg_last_error
preg_match
PCRE-Funktionen
PHP Manual

preg_match_all

(PHP 4, PHP 5, PHP 7)

preg_match_all — Führt eine umfassende Suche nach Übereinstimmungen mit regulärem Ausdruck durch

Beschreibung

int preg_match_all ( string $pattern , string $subject [, array &$matches [, int $flags = PREG_PATTERN_ORDER [, int $offset = 0 ]]] )

Durchsucht subject nach allen Übereinstimmungen mit dem in pattern angegebenen regulären Ausdruck und legt sie in der durch flags festgelegten Reihenfolge in matches ab.

Nachdem die erste Übereinstimmung gefunden wurde, wird die nachfolgende Suche jeweils am Ende der letzten Übereinstimmung fortgesetzt.

Parameter-Liste

pattern

Der Ausdruck, nach dem gesucht werden soll, als Zeichenkette.

subject

Die zu durchsuchende Zeichenkette.

matches

Ein mehrdimensionales Array mit allen gefundenen Übereinstimmungen, das den flags entsprechend sortiert ist.

flags

Kann eine Kombination folgender Flags sein (beachten Sie, dass es keinen Sinn hat, PREG_PATTERN_ORDER zusammen mit PREG_SET_ORDER zu verwenden):

PREG_PATTERN_ORDER

Ordnet die Ergebnisse so an, dass $matches[0] ein Array von Übereinstimmungen mit dem kompletten Suchmuster ist, $matches[1] ein Array von Zeichenketten, die auf das erste eingeklammerte Teilsuchmuster passen und so weiter.

<?php
preg_match_all("|<[^>]+>(.*)</[^>]+>|U",
    "<b>Beispiel: </b><div align=left>das ist ein Test</div>",
    $ausgabe, PREG_PATTERN_ORDER);
echo $ausgabe[0][0] . ", " . $ausgabe[0][1] . "\n";
echo $ausgabe[1][0] . ", " . $ausgabe[1][1] . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<b>Beispiel: </b>, <div align=left>das ist ein Test</div>
Beispiel: , das ist ein Test

Also enthält $ausgabe[0] ein Array von Zeichenketten, die auf das komplette Suchmuster passen und $ausgabe[1] ein Array von Zeichenketten, die sich zwischen Tags befinden.

PREG_SET_ORDER

Ordnet die Ergebnisse so an, dass $matches[0] ein Array aus dem ersten Satz von Übereinstimmungen ist, $matches[1] ein Array aus dem zweiten Satz von Übereinstimmungen und so weiter.

<?php
preg_match_all("|<[^>]+>(.*)</[^>]+>|U",
    "<b>Beispiel: </b><div align=\"left\">das ist ein Test</div>",
    $ausgabe, PREG_SET_ORDER);
echo $ausgabe[0][0] . ", " . $ausgabe[0][1] . "\n";
echo $ausgabe[1][0] . ", " . $ausgabe[1][1] . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<b>Beispiel: </b>, Beispiel:
<div align="left">das ist ein Test</div>, das ist ein Test

PREG_OFFSET_CAPTURE

Wenn dieses Flag gesetzt ist, wird mit jeder gefundenen Übereinstimmung der dazugehörige Versatz in der Zeichenkette zurückgegeben. Beachten Sie, dass dies den Wert von matches in ein Array ändert, in dem jedes Element ein Array ist, das aus der übereinstimmenden Zeichenkette als Element 0 und deren Stelle in subject als Element 1 besteht.

Falls kein Flag für die Anordnung angegeben wurde, wird PREG_PATTERN_ORDER angenommen.

offset

Normalerweise beginnt die Suche am Anfang der Zeichenkette. Der optionale Parameter offset kann verwendet werden, um eine andere Stelle in Bytes anzugeben, ab der gesucht werden soll.

Hinweis:

Die Verwendung von offset entspricht nicht der Übergabe von substr($zeichenkette, $versatz) an Stelle der Zeichenkette an preg_match_all(), weil pattern Angaben wie zum Beispiel ^, $ oder (?<=x) enthalten kann. Für Beispiele siehe preg_match().

Rückgabewerte

Gibt die Anzahl der Übereinstimmungen mit dem kompletten Suchmuster zurück (die auch Null sein kann) oder FALSE, falls ein Fehler auftrat.

Changelog

Version | Beschreibung
5.4.0 | Der Parameter matches ist nun optional.
5.3.6 | Gibt FALSE zurück, wenn offset größer als die Länge von subject ist.
5.2.2 | Benannte Teilsuchmuster (named subpatterns) akzeptieren nun die Syntaxen (?<name>) und (?'name') sowie (?P<name>). Vorherige Versionen akzeptierten nur (?P<name>).

Beispiele

Beispiel #1 Alle Telefonnummern aus einem Text holen.

<?php
preg_match_all("/\(?  (\d{3})?  \)?  (?(1)  [\-\s] ) \d{3}-\d{4}/x",
                "Wählen Sie 555-1212 oder 1-800-555-1212", $telefon);
?>

Beispiel #2 Zusammengehörende HTML-Tags finden (gierig)

<?php
// Das \\2 ist ein Beispiel für Rückreferenzierung. Es teilt pcre mit, dass
// der reguläre Ausdruck auf den für das zweite Klammerpaar gefundenen
// Ausdruck selbst, also in diesem Fall auf den für ([\w]+) gefundenen
// Ausdruck passen muss.
// Der zusätzliche Backslash wird wegen der doppelten Anführungsstriche
// benötigt.
$html = "<b>fett gedruckter Text</b><a href=howdy.html>klick mich an</a>";

preg_match_all("/(<([\w]+)[^>]*>)(.*?)(<\/\\2>)/", $html, $treffer, PREG_SET_ORDER);

foreach ($treffer as $wert) {
  echo "gefunden: " . $wert[0] . "\n";
  echo "Teil 1: " . $wert[1] . "\n";
  echo "Teil 2: " . $wert[2] . "\n";
  echo "Teil 3: " . $wert[3] . "\n";
  echo "Teil 4: " . $wert[4] . "\n\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

gefunden: <b>fett gedruckter Text</b>
Teil 1: <b>
Teil 2: b
Teil 3: fett gedruckter Text
Teil 4: </b>

gefunden: <a href=howdy.html>klick mich an</a>
Teil 1: <a href=howdy.html>
Teil 2: a
Teil 3: klick mich an
Teil 4: </a>

Beispiel #3 Benannte Teilsuchmuster (named subpatterns)

<?php

$str = <<<FOO
a: 1
b: 2
c: 3
FOO;

preg_match_all('/(?P<name>\w+): (?P<zahl>\d+)/', $str, $treffer);

/* Folgendes funktioniert ab PHP 5.2.2 (PCRE 7.0) ebenfalls, für die
 * Rückwärtskompatibilität wird aber die vorherige Form empfohlen. */
// preg_match_all('/(?<name>\w+): (?<zahl>\d+)/', $str, $treffer);

print_r($treffer);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => Array
        (
            [0] => a: 1
            [1] => b: 2
            [2] => c: 3
        )

    [name] => Array
        (
            [0] => a
            [1] => b
            [2] => c
        )

    [1] => Array
        (
            [0] => a
            [1] => b
            [2] => c
        )

    [zahl] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )

    [2] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )

)

Siehe auch

  • PCRE-Suchmuster
  • preg_quote() - Maskiert Zeichen regulärer Ausdrücke
  • preg_match() - Führt eine Suche mit einem regulären Ausdruck durch
  • preg_replace() - Sucht und ersetzt mit regulären Ausdrücken
  • preg_split() - Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks
  • preg_last_error() - Liefert den Fehlercode der letzten PCRE RegEx-Auswertung

preg_last_error
preg_match
PCRE-Funktionen


Führt eine Suche mit einem regulären Ausdruck durch

preg_match_all
preg_quote
PCRE-Funktionen
PHP Manual

preg_match

(PHP 4, PHP 5, PHP 7)

preg_match — Führt eine Suche mit einem regulären Ausdruck durch

Beschreibung

int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )

Durchsucht subject nach Übereinstimmungen mit dem in pattern angegebenen regulären Ausdruck.

Parameter-Liste

pattern

Der Ausdruck, nach dem gesucht werden soll, als Zeichenkette.

subject

Die zu durchsuchende Zeichenkette.

matches

Falls der Parameter matches angegeben wurde, wird er mit den Suchergebnissen gefüllt. $matches[0] enthält dann den Text, der auf das komplette Suchmuster passt, $matches[1] den Text, der auf das erste eingeklammerte Teilsuchmuster passt und so weiter.

flags

flags kann das folgende Flag sein:

PREG_OFFSET_CAPTURE
Wenn dieses Flag gesetzt ist, wird mit jeder gefundenen Übereinstimmung der dazugehörige Versatz in der Zeichenkette zurückgegeben. Beachten Sie, dass dies den Wert von matches in ein Array ändert, in dem jedes Element ein Array ist, das aus der übereinstimmenden Zeichenkette als Element 0 und deren Stelle in subject als Element 1 besteht.

offset

Normalerweise beginnt die Suche am Anfang der Zeichenkette. Der optionale Parameter offset kann verwendet werden, um eine andere Stelle in Bytes anzugeben, ab der gesucht werden soll.

Hinweis:

Die Verwendung von offset entspricht nicht der Übergabe von substr($subject, $offset) an Stelle der zu Zeichenkette an preg_match(), weil pattern Angaben wie zum Beispiel ^, $ oder (?<=x) enthalten kann. Vergleiche:

<?php
$zeichenkette = "abcdef";
$suchmuster = '/^def/';
preg_match($suchmuster, $zeichenkette, $treffer, PREG_OFFSET_CAPTURE, 3);
print_r($treffer);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
)

während dieses Beispiel

<?php
$zeichenkette = "abcdef";
$suchmuster = '/^def/';
preg_match($suchmuster, substr($zeichenkette,3), $treffer, PREG_OFFSET_CAPTURE);
print_r($treffer);
?>

folgende Ausgabe erzeugt

Array
(
    [0] => Array
        (
            [0] => def
            [1] => 0
        )
)

Rückgabewerte

preg_match() gibt 1 zurück, falls eine Übereinstimmung zwischen pattern und subject gefunden wurde, 0, falls nicht oder FALSE, falls ein Fehler auftrat.

Warnung

Diese Funktion kann sowohl das boolsche FALSE zurückliefern, als auch einen nicht-boolschen Wert, welcher zu FALSE ausgewertet wird. Weitere Informationen entnehmen Sie bitte dem Abschnitt über die boolschen Typen. Benutzen Sie deshalb den === Operator, um den Rückgabewert dieser Funktion zu überprüfen.

Changelog

Version | Beschreibung
5.3.6 | Gibt FALSE zurück, wenn offset größer als die Länge von subject ist.
5.2.2 | Benannte Teilsuchmuster akzeptieren nun sowohl die Syntaxen (?<name>) und (?'name') als auch (?P<name>). Vorherige Versionen akzeptierten nur (?P<name>).

Beispiele

Beispiel #1 Die Zeichenkette "php" finden

<?php
// Das "i" nach der Suchmuster-Begrenzung kennzeichnet eine Suche ohne
// Berücksichtigung von Groß- und Kleinschreibung
if (preg_match("/php/i", "PHP ist die Web-Scripting-Sprache der Wahl.")) {
   echo "Es wurde eine Übereinstimmung gefunden.";
} else {
   echo "Es wurde keine Übereinstimmung gefunden.";
}
?>

Beispiel #2 Die Zeichenkette "web" finden

<?php
// Das \b im Suchmuster kennzeichnet eine Wortgrenze, weshalb nur eine
// Übereinstimmung mit der einzelnen Zeichenkette "web" gefunden wird und
// nicht ein Teilwort in "webbing" oder "cobweb"
if (preg_match("/\bweb\b/i", "Für das Web ist PHP die Scripting-Sprache der Wahl.")) {
   echo "Es wurde eine Übereinstimmung gefunden.";
} else {
   echo "Es wurde keine Übereinstimmung gefunden.";
}

if (preg_match("/\bweb\b/i", "PHP ist die Web-Scripting-Sprache der Wahl.")) {
   echo "Es wurde eine Übereinstimmung gefunden.";
} else {
   echo "Es wurde keine Übereinstimmung gefunden.";
}
?>

Beispiel #3 Den Domänen-Namen aus einer URL holen

<?php
// den Hostnamen aus URL holen
preg_match('@^(?:http://)?([^/]+)@i',
    "http://www.php.net/index.html", $treffer);
$host = $treffer[1];

// die letzten beiden Segmente aus Hostnamen holen
preg_match('/[^.]+\.[^.]+$/', $host, $treffer);
echo "Der Domänen-Name lautet: {$treffer[0]}\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Der Domänen-Name lautet: php.net

Beispiel #4 Benannte Teilsuchmuster (named subpatterns)

<?php

$str = 'foobar: 2008';

preg_match('/(?P<name>\w+): (?P<zahl>\d+)/', $str, $treffer);

/* Folgendes funktioniert ab PHP 5.2.2 (PCRE 7.0) ebenfalls, für die
 * Rückwärtskompatibilität wird aber die vorherige Form empfohlen. */
// preg_match('/(?<name>\w+): (?<zahl>\d+)/', $str, $treffer);

print_r($treffer);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => foobar: 2008
    [name] => foobar
    [1] => foobar
    [zahl] => 2008
    [2] => 2008
)

Anmerkungen

Tipp

Verwenden Sie nicht preg_match(), wenn Sie nur überprüfen wollen, ob eine Zeichenkette in einer anderen Zeichenkette enthalten ist. Verwenden Sie dafür stattdessen die Funktion strpos(), die das schneller erledigt.

Siehe auch

  • PCRE-Suchmuster
  • preg_quote() - Maskiert Zeichen regulärer Ausdrücke
  • preg_match_all() - Führt eine umfassende Suche nach Übereinstimmungen mit regulärem Ausdruck durch
  • preg_replace() - Sucht und ersetzt mit regulären Ausdrücken
  • preg_split() - Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks
  • preg_last_error() - Liefert den Fehlercode der letzten PCRE RegEx-Auswertung

preg_match_all
preg_quote
PCRE-Funktionen


Maskiert Zeichen regulärer Ausdrücke

preg_match
preg_replace_callback_array
PCRE-Funktionen
PHP Manual

preg_quote

(PHP 4, PHP 5, PHP 7)

preg_quote — Maskiert Zeichen regulärer Ausdrücke

Beschreibung

string preg_quote ( string $str [, string $delimiter = NULL ] )

preg_quote() setzt einen Backslash vor jedes Zeichen von str, das zur Syntax eines regulären Ausdrucks gehört. Das ist nützlich, wenn Sie einen Text nach Übereinstimmungen mit einer zur Laufzeit erzeugten Zeichenkette durchsuchen müssen, die spezielle RegEx-Zeichen enthalten könnte.

Spezielle Zeichen regulärer Ausdrücke sind: . \ + * ? [ ^ ] $ ( ) { } = ! < > | : -

Parameter-Liste

str

Die zu durchsuchende Zeichenkette

delimiter

Falls der optionale delimiter angegeben wurde, wird dieser ebenfalls maskiert. Das ist nützlich, um den Begrenzer zu maskieren, der von den PCRE-Funktionen benötigt wird. Der / ist der am häufigsten verwendete Begrenzer.

Rückgabewerte

Gibt die maskierte Zeichenkette zurück.

Changelog

Version | Beschreibung
5.3.0 | Das Zeichen - wird nun maskiert.

Beispiele

Beispiel #1 preg_quote()-Beispiel

<?php
$schluesselwoerter = '$40 für einen G3/400';
$schluesselwoerter = preg_quote($schluesselwoerter, '/');
echo $schluesselwoerter; // liefert \$40 für einen G3\/400
?>

Beispiel #2 Kursivdruck eines Wortes in einem Text

<?php
// In diesem Beispiel wird preg_quote($wort) verwendet, damit die
// Asterisks (*) für den regulären Ausdruck keine spezielle Bedeutung haben.

$text = "Dieses Buch ist *sehr* schwer zu finden.";
$wort = "*sehr*";
$text = preg_replace("/" . preg_quote($wort, '/') . "/",
                          "<i>" . $wort . "</i>",
                          $text);
?>

Anmerkungen

Hinweis: Diese Funktion ist binary safe.

Siehe auch

  • PCRE-Suchmuster
  • escapeshellcmd() - Maskiert Shell-Metazeichen

preg_match
preg_replace_callback_array
PCRE-Funktionen


Perform a regular expression search and replace using callbacks

preg_quote
preg_replace_callback
PCRE-Funktionen
PHP Manual

preg_replace_callback_array

(PHP 7)

preg_replace_callback_array — Perform a regular expression search and replace using callbacks

Beschreibung

mixed preg_replace_callback_array ( array $patterns_and_callbacks , mixed $subject [, int $limit = -1 [, int &$count ]] )

The behavior of this function is similar to preg_replace_callback(), except that callbacks are executed on a per-pattern basis.

Parameter-Liste

patterns_and_callbacks

An associative array mapping patterns (keys) to callbacks (values).

subject

The string or an array with strings to search and replace.

limit

The maximum possible replacements for each pattern in each subject string. Defaults to -1 (no limit).

count

If specified, this variable will be filled with the number of replacements done.

Rückgabewerte

preg_replace_callback_array() returns an array if the subject parameter is an array, or a string otherwise. On errors the return value is NULL

If matches are found, the new subject will be returned, otherwise subject will be returned unchanged.

Beispiele

Beispiel #1 preg_replace_callback_array() example

<?php
$subject = 'Aaaaaa Bbb';

preg_replace_callback_array(
    [
        '~[a]+~i' => function ($match) {
            echo strlen($match[0]), ' matches for "a" found', PHP_EOL;
        },
        '~[b]+~i' => function ($match) {
            echo strlen($match[0]), ' matches for "b" found', PHP_EOL;
        }
    ],
    $subject
);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

6 matches for "a" found
3 matches for "b" found

Siehe auch

  • PCRE Patterns
  • preg_replace_callback() - Sucht und ersetzt mit regulären Ausdrücken unter Verwendung eines Callbacks
  • preg_quote() - Maskiert Zeichen regulärer Ausdrücke
  • preg_replace() - Sucht und ersetzt mit regulären Ausdrücken
  • preg_last_error() - Liefert den Fehlercode der letzten PCRE RegEx-Auswertung
  • Anonymous functions
  • Informationen über den Callback-Typ

preg_quote
preg_replace_callback
PCRE-Funktionen


Sucht und ersetzt mit regulären Ausdrücken unter Verwendung eines Callbacks

preg_replace_callback_array
preg_replace
PCRE-Funktionen
PHP Manual

preg_replace_callback

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

preg_replace_callback — Sucht und ersetzt mit regulären Ausdrücken unter Verwendung eines Callbacks

Beschreibung

mixed preg_replace_callback ( mixed $pattern , callable $callback , mixed $subject [, int $limit = -1 [, int &$count ]] )

Abgesehen von der Tatsache, dass statt des Parameters replacement ein callback angegeben werden soll, ist das Verhalten dieser Funktion identisch zu preg_replace().

Parameter-Liste

pattern

Der Ausdruck, nach dem gesucht werden soll. Es kann entweder eine Zeichenkette oder ein Array mit Zeichenketten sein.

callback

Ein Callback, dem ein Array von Übereinstimmungen mit subject übergeben wird. Der Callback sollte die Ersetzungs-Zeichenkette liefern. Das ist die Callback-Signatur:

string handler ( array $matches )

Häufig werden Sie die callback-Funktion für preg_replace_callback() nur an einer Stelle benötigen. In diesem Fall können Sie eine Anonyme Funktion verwenden, um innerhalb des Aufrufs von preg_replace_callback() den Callback zu deklarieren. Auf diese Weise haben Sie alle Informationen für den Aufruf an einer Stelle und stopfen den Namensraum für Funktionen nicht mit Namen für Callback-Funktionen voll, die sonst nirgends verwendet werden.

Beispiel #1 preg_replace_callback() und Anonyme Funktion

<?php
// ein Kommandozeilen-Filter im Unix-Stil zum Umwandeln von Groß- in
// Kleinschreibung am Beginn eines Abschnitts
$fp = fopen("php://stdin", "r") or die("kann stdin nicht lesen");
while (!feof($fp)) {
  $zeile = fgets($fp);
  $zeile = preg_replace_callback(
    '|<p>\s*\w|',
    function ($treffer) {
      return strtolower($treffer[0]);
    },
    $zeile
  );
  echo $zeile;
}
fclose($fp);
?>

subject

Die Zeichenkette oder ein Array mit Zeichenketten zum Suchen und Ersetzen.

limit

Die Höchstzahl der Ersetzungen für jedes Suchmuster in jeder subject. Standardmäßig -1 (unbegrenzt).

count

Falls angegeben, wird dieser Variable die Anzahl vorgenommener Ersetzungen zugewiesen.

Rückgabewerte

Falls subject ein Array ist, gibt preg_replace_callback() ein Array zurück und andernfalls eine Zeichenkette. Bei einem Fehler ist der Rückgabewert NULL.

Falls Übereinstimmungen gefunden werden, wird die neue Zeichenkette zurückgegeben und andernfalls die unveränderte Zeichenkette subject

Changelog

Version | Beschreibung
5.1.0 | Den Parameter count hinzugefügt

Beispiele

Beispiel #2 preg_replace_callback() Beispiel

<?php
// dieser Text wurde 2002 verwendet
// wir wollen ihn für 2003 aktualisieren
$text = "Aprilscherze gibts am 01.04.2002\n";
$text.= "Das letzte Weihnachten war am 24.12.2001\n";
// die Callback-Funktion
function naechstes_jahr($treffer)
{
  // wie üblich: $treffer[0] ist die Übereinstimmung mit dem
  // kompletten Suchmuster, $treffer[1] die Übereinstimmung mit
  // dem ersten eingeklammerten Teilsuchmuster und so weiter
  return $treffer[1].($treffer[2]+1);
}
echo preg_replace_callback(
            "|(\d{2}\.\d{2}\.)(\d{4})|",
            "naechstes_jahr",
            $text);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Aprilscherze gibts am 01.04.2003
Das letzte Weihnachten war am 24.12.2002

Beispiel #3 preg_replace_callback() unter Verwendung einer rekursiven Struktur um gekapselten BB-Code zu verarbeiten

<?php
$eingabe = "plain [indent] deep [indent] deeper [/indent] deep [/indent] plain";

function parseTagsRecursive($eingabe)
{
  $regex = '#\[indent]((?:[^[]|\[(?!/?indent])|(?R))+)\[/indent]#';

  if (is_array($eingabe)) {
    $eingabe = '<div style="margin-left: 10px">'.$eingabe[1].'</div>';
  }

  return preg_replace_callback($regex, 'parseTagsRecursive', $eingabe);
}

$ausgabe = parseTagsRecursive($eingabe);

echo $ausgabe;
?>

Siehe auch

  • PCRE-Suchmuster
  • preg_replace_callback_array() - Perform a regular expression search and replace using callbacks
  • preg_quote() - Maskiert Zeichen regulärer Ausdrücke
  • preg_replace() - Sucht und ersetzt mit regulären Ausdrücken
  • preg_last_error() - Liefert den Fehlercode der letzten PCRE RegEx-Auswertung
  • Anonymous functions
  • Informationen über den Callback-Typ

preg_replace_callback_array
preg_replace
PCRE-Funktionen


Sucht und ersetzt mit regulären Ausdrücken

preg_replace_callback
preg_split
PCRE-Funktionen
PHP Manual

preg_replace

(PHP 4, PHP 5, PHP 7)

preg_replace — Sucht und ersetzt mit regulären Ausdrücken

Beschreibung

mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )

Durchsucht die Zeichenkette subject nach Übereinstimmungen mit pattern und ersetzt sie mit replacement.

Parameter-Liste

pattern

Der Ausdruck, nach dem gesucht wird. Es kann entweder eine Zeichenkette oder ein Array mit Zeichenketten sein.

Es stehen auch einige PCRE-Modifikatoren zur Verfügung.

replacement

Die Zeichenkette oder das Array mit Zeichenketten zum Ersetzen. Falls dieser Parameter eine Zeichenkette ist und der Parameter pattern ein Array, werden alle Suchmuster durch diese Zeichenkette ersetzt. Falls sowohl pattern als auch replacement Arrays sind, wird jedes Suchmuster pattern durch das Gegenstück aus replacement ersetzt. Wenn das replacement-Array weniger Elemente hat als das pattern-Array, wird jedes überzählige pattern durch die leere Zeichenkette ersetzt.

replacement darf Referenzen in der Form \\n oder (ab PHP 4.0.4) $n enthalten, wobei Letztere vorzuziehen ist. Jede dieser Referenzen wird mit dem Text ersetzt, der vom n-ten eingeklammerten Suchmuster erfasst wurde. n kann einen Wert von 0 bis 99 haben. \\0 oder $0 beziehen sich auf den Text, der auf das komplette Suchmuster passt. Um die Nummer des erfassenden Teil-Suchmusters zu erhalten, werden öffnende Klammern mit 1 beginnend von links nach rechts gezählt. Um einen Backslash im Ersatz zu verwenden, muss er verdoppelt werden ("\\\\" PHP-Zeichenkette).

Wenn Sie mit einer Ersetzung arbeiten wollen, in der auf eine Rückreferenzierung direkt eine weitere Zahl folgt (d.h., direkt nach der Übereinstimmmung mit einem Suchmuster soll eine Zahl kommen), können Sie für Ihre Rückreferenzierung nicht die Schreibweise \\1 verwenden. So würde z.B. \\11 die Funktion preg_replace() verwirren, weil sie nicht weiß, ob Sie die Rückreferenzierung \\1 gefolgt von der Zahl 1 wollen oder nur die Rückreferenzierung \\11. In diesem Fall ist die Lösung, ${1}1 zu verwenden. Damit wird eine isolierte Rückreferenzierung $1 erzeugt und die 1 bleibt ein Buchstabensymbol.

Wenn Sie den veralteten Modifikator e verwenden, maskiert diese Funktion ein paar Zeichen (nämlich ', ", \ und NULL) in den Zeichenketten, mit denen die Rückreferenzierungen ersetzen werden. Das wird gemacht, um sicherzustellen, dass keine Syntaxfehler entstehen, wenn Rückreferenzierungen verwendet werden, die einfache oder doppelte Anführungszeichen enthalten (z.B. 'strlen(\'$1\')+strlen("$2")'). Vergewissern Sie sich, dass Sie die Zeichenketten-Syntax von PHP kennen, um genau zu wissen, wie die ausgewertete Zeichenkette aussieht.

subject

Die Zeichenkette oder ein Array mit Zeichenketten zum Durchsuchen.

Falls subject ein Array ist, wird das Suchen und Ersetzen auf jedes Element von subject angewandt und der Rückgabewert ist ebenfalls ein Array.

limit

Die maximal mögliche Anzahl von Ersetzungen für jedes Suchmuster in jeder subject. Standardmäßiger Wert: -1 (kein Limit).

count

Falls angegeben, wird dieser Variable die Anzahl vorgenommener Ersetzungen zugewiesen.

Rückgabewerte

preg_replace() gibt ein Array zurück, falls subject ein Array ist, andernfalls eine Zeichenkette.

Falls Übereinstimmungen gefunden wurden, wird die neue Zeichenkette subject zurückgegeben, andernfalls wird subject unverändert zurückgegeben oder NULL, falls ein Fehler auftrat.

Fehler/Exceptions

Ab PHP 5.5.0 wird bei Übergabe des Modifikators "\e" ein Fehler der Stufe E_DEPRECATED ausgegeben. Ab PHP 7.0.0 wird in diesem Fall ein Fehler der Stufe E_WARNING ausgegeben, und der "\e" Modifikator hat keine Wirkung.

Changelog

Version | Beschreibung
7.0.0 | Die Unterstützung für den /e Modifikator wurde entfernt. Verwenden Sie statt dessen preg_replace_callback().
5.5.0 | Der Modifikator /e ist veraltet und sollte nicht mehr verwendet werden. Verwenden Sie stattdessen preg_replace_callback(). Für ergänzende Informationen über Sicherheitsrisiken siehe PREG_REPLACE_EVAL.
5.1.0 | Den Parameter count hinzugefügt

Beispiele

Beispiel #1 Die Verwendung von Rückreferenzierungen mit darauf folgenden numerischen Literalen

<?php
$zeichenkette = '15. April 2003';
$suchmuster = '/(\d+)\. (\w+) (\d+)/i';
$ersetzung = '${2}1,$3';
echo preg_replace($suchmuster, $ersetzung, $zeichenkette);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

April1,2003

Beispiel #2 Die Verwendung von preg_replace() mit indizierten Arrays

<?php
$zeichenkette = 'Der schnelle braune Fuchs springt über den faulen Hund.';

$suchmuster = array();
$suchmuster[0] = '/schnelle/';
$suchmuster[1] = '/braune/';
$suchmuster[2] = '/Fuchs/';

$ersetzungen = array();
$ersetzungen[2] = 'Bär';
$ersetzungen[1] = 'schwarze';
$ersetzungen[0] = 'langsame';

echo preg_replace($suchmuster, $ersetzungen, $zeichenkette);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Der Bär schwarze langsame springt über den faulen Hund.

Wenn wir Suchmuster und Ersetzungen mit ksort() sortieren, sollten wir bekommen was wir wollten.

<?php
ksort($suchmuster);
ksort($ersetzungen);
echo preg_replace($suchmuster, $ersetzungen, $zeichenkette);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Der langsame schwarze Bär springt über den faulen Hund.

Beispiel #3 Ersetzen mehrerer Werte

<?php
$suchmuster = array ('/(19|20)(\d{2})-(\d{1,2})-(\d{1,2})/',
                     '/^\s*{(\w+)}\s*=/');
$ersetzen = array ('\4.\3.\1\2', '$\1 =');
echo preg_replace($suchmuster, $ersetzen, '{startDatum} = 1999-5-27');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

$startDatum = 27.5.1999

Beispiel #4 Leerzeichen entfernen

Dieses Beispiel entfernt überschüssige Leerzeichen aus einer Zeichenkette.

<?php
$str = 'foo   o';
$str = preg_replace('/\s\s+/', ' ', $str);
// Das ist jetzt 'foo o'
echo $str;
?>

Beispiel #5 Die Verwendung des Parameters count

<?php
$anzahl = 0;

echo preg_replace(array('/\d/', '/\s/'), '*', 'xp 4 to', -1 , $anzahl);
echo $anzahl; //3
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

xp***to
3

Anmerkungen

Hinweis:

Bei Verwendung von Arrays für pattern und replacement werden die Schlüssel in der Reihenfolge bearbeitet, in der sie im Array vorliegen. Das ist nicht notwendigerweise dieselbe, wie die numerische Reihenfolge der Indizes. Wenn Sie Indizes verwenden, um festzulegen welches pattern durch welchen Ersatz replacement ersetzt werden soll, sollten Sie vor dem Aufruf von preg_replace() ksort() auf jedes Array anwenden.

Siehe auch

  • PCRE-Suchmuster
  • preg_quote() - Maskiert Zeichen regulärer Ausdrücke
  • preg_filter() - Sucht und ersetzt mit regulären Ausdrücken
  • preg_match() - Führt eine Suche mit einem regulären Ausdruck durch
  • preg_replace_callback() - Sucht und ersetzt mit regulären Ausdrücken unter Verwendung eines Callbacks
  • preg_split() - Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks
  • preg_last_error() - Liefert den Fehlercode der letzten PCRE RegEx-Auswertung

preg_replace_callback
preg_split
PCRE-Funktionen


Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks

preg_replace
POSIX Regex
PCRE-Funktionen
PHP Manual

preg_split

(PHP 4, PHP 5, PHP 7)

preg_split — Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks

Beschreibung

array preg_split ( string $pattern , string $subject [, int $limit = -1 [, int $flags = 0 ]] )

Zerlegt die angegebene Zeichenkette anhand eines regulären Ausdrucks.

Parameter-Liste

pattern

Der Ausdruck, nach dem gesucht werden soll, als Zeichenkette.

subject

Die zu zerlegende Zeichenkette.

limit

Falls angegeben, werden maximal limit Teilzeichenketten zurückgegeben, wobei der Rest der Zeichenkette in der letzten Teilzeichenkette abgelegt wird. Ein limit von -1, 0 oder NULL bedeutet "kein Limit" und wie es in PHP Standard ist, kann NULL verwendet werden um den Parameter flags zu überspringen.

flags

flags kann jede Kombination der folgenden Flags sein (verknüpft mit dem bitweisen | Operator):

PREG_SPLIT_NO_EMPTY
Falls dieses Flag gesetzt ist, werden von preg_split() nur die Teile zurückgegeben, die nicht leer sind.
PREG_SPLIT_DELIM_CAPTURE
Falls dieses Flag gesetzt ist, werden auch die eingeklammerten Ausdrücke des Trennsymbol-Suchmusters erfasst und zurückgegeben.
PREG_SPLIT_OFFSET_CAPTURE

Falls dieses Flag gesetzt ist, wird mit jeder gefundenen Übereinstimmung der dazugehörige Versatz in der Zeichenkette zurückgegeben. Beachten Sie, dass dies die Rückgabewerte in einem Array dahingehend ändert, dass jedes Element ein Array ist, das aus der übereinstimmenden Zeichenkette als Element 0 und deren Stelle in subject als Element 1 besteht.

Rückgabewerte

Gibt ein Array zurück, bestehend aus Teilzeichenketten der Zeichenkette subject, die an den auf das Suchmuster pattern passenden Stellen zerlegt wurde.

Beispiele

Beispiel #1 preg_split() Beispiel: Eine Zeichenkette in ihre Bestandteile zerlegen

<?php
// zerlegt die Zeichenkette an Stellen mit beliebiger Anzahl von
// Kommata oder Leerzeichen, die " ", \r, \t, \n und \f umfassen
$schluesselwoerter = preg_split("/[\s,]+/", "hypertext language, programming");
print_r($schluesselwoerter);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => hypertext
    [1] => language
    [2] => programming
)

Beispiel #2 Eine Zeichenkette in einzelne Zeichen zerlegen

<?php
$str = 'string';
$zeichen = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
print_r($zeichen);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => s
    [1] => t
    [2] => r
    [3] => i
    [4] => n
    [5] => g
)

Beispiel #3 Eine Zeichenkette in Übereinstimmungen mit dem Suchmuster und deren Versatz zerlegen

<?php
$str = 'hypertext language programming';
$zeichen = preg_split('/ /', $str, -1, PREG_SPLIT_OFFSET_CAPTURE);
print_r($zeichen);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => Array
        (
            [0] => hypertext
            [1] => 0
        )

    [1] => Array
        (
            [0] => language
            [1] => 10
        )

    [2] => Array
        (
            [0] => programming
            [1] => 19
        )

)

Anmerkungen

Tipp

Falls Sie die Leistung regulärer Ausdrücke nicht benötigen, können Sie stattdessen schnellere (wenngleich einfachere) Alternativen wie explode() oder str_split() verwenden.

Tipp

Falls keine Übereinstimmungen gefunden wurden, wird ein Array mit nur einem Element zurückgegeben, das die übergebene Zeichenkette enthält.

Siehe auch

  • PCRE-Suchmuster
  • preg_quote() - Maskiert Zeichen regulärer Ausdrücke
  • implode() - Verbindet Array-Elemente zu einem String
  • preg_match() - Führt eine Suche mit einem regulären Ausdruck durch
  • preg_match_all() - Führt eine umfassende Suche nach Übereinstimmungen mit regulärem Ausdruck durch
  • preg_replace() - Sucht und ersetzt mit regulären Ausdrücken
  • preg_last_error() - Liefert den Fehlercode der letzten PCRE RegEx-Auswertung

preg_replace
POSIX Regex
PCRE-Funktionen


Reguläre Ausdrücke (POSIX-erweitert)

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
  • POSIX Regex-Funktionen
    • ereg_replace — Ersetzt einen regulären Ausdruck
    • ereg — Sucht Übereinstimmungen mit einem regulären Ausdruck
    • eregi_replace — Ersetzt einen regulären Ausdrück ohne Berücksichtigung von Groß-/Kleinschreibung
    • eregi — Sucht Übereinstimmung mit regulärem Ausdruck ohne Berücksichtigung von Groß-/Kleinschreibung
    • split — Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks in ein Array
    • spliti — Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks ohne Berücksichtigung von Groß-/Kleinschreibung in ein Array
    • sql_regcase — Erstellt einen regulären Ausdruck für eine Suche nach Übereinstimmungen ohne Berücksichtigung von Groß-/Kleinschreibung
preg_split
Einführung
Textverarbeitung


Einführung

Tipp

Bei Verwendung der PCRE Funktionen unterstützt PHP auch Reguläre Ausdrücke mit einer zu Perl kompatiblen Syntax. Diese Funktionen unterstützen nicht-gieriges (non-greedy) Matching, Assertions, bedingte Teilsuchmuster und viele andere Merkmale, die von der POSIX-erweiterten Syntax regulärer Ausdrücke nicht unterstützt werden.

Warnung

Diese Funktionen regulärer Ausdrücke sind im Gegensatz zu den PCRE Funktionen nicht binärsicher.

Hinweis:

Ab PHP 5.3.0 ist diese Erweiterung veraltet und jeder Aufruf einer Funktion dieser Erweiterung gibt eine E_DEPRECATED-Meldung aus.

Reguläre Ausdrücke werden für komplexe Manipulationen an Zeichenketten verwendet. PHP verwendet durch POSIX 1003.2 definierte POSIX erweiterte reguläre Ausdrücke. Eine vollständige Beschreibung der POSIX regulären Ausdrücke finden Sie im Regex-Verzeichnis der PHP-Distribution in den » Regex man pages. Da sie im manpage-Fomat vorliegt, sollten Sie einen Befehl der Art man /usr/local/src/regex/regex.7 verwenden, um sie zu lesen.

POSIX Regex
Installation/Konfiguration
POSIX Regex


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
POSIX Regex


Installation

Warnung

Sie sollten TYPE nur ändern, wenn Sie wissen, was Sie tun.

Um die regexp-Unterstützung zu aktivieren, müssen Sie PHP mit der Option --with-regex[=TYPE] übersetzen. TYPE kann entweder system, apache oder php sein. Der voreingestellte Wert ist php.

Die Windowsversion von PHP enthält diese Erweiterung. Um diese Funktionen zu verwenden, müssen Sie keine zusätzlichen Erweiterungen aktivieren.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
Beispiele
POSIX Regex


Beispiele

Beispiel #1 Beispiele regulärer Ausdrücke

<?php
// Gibt true zurück, falls "abc" irgendwo in $zeichenkette gefunden wird.
ereg("abc", $zeichenkette);

// Gibt true zurück, falls "abc" am Anfang von $zeichenkette gefunden wird.
ereg("^abc", $zeichenkette);

// Gibt true zurück, falls "abc" am Ende von $zeichenkette gefunden wird.
ereg("abc$", $zeichenkette);

// Gibt true zurück, falls es sich beim Client Browser um Netscape 2, 3 oder
// MSIE 3 handelt.
eregi("(ozilla.[23]|MSIE.3)", $_SERVER["HTTP_USER_AGENT"]);

// Setzt drei Wörter, die durch Leerzeichen getrennt sind, in $regs[1],
// $regs[2] und $regs[3] ein.
ereg("([[:alnum:]]+) ([[:alnum:]]+) ([[:alnum:]]+)", $zeichenkette, $regs);

// Setzt ein <br /> Tag vor $zeichenkette.
$zeichenkette = ereg_replace("^", "<br />", $zeichenkette);

// Setzt ein <br /> Tag hinter $zeichenkette.
$zeichenkette = ereg_replace("$", "<br />", $zeichenkette);

// Entfernt alle Zeilenumbrüche aus $zeichenkette.
$zeichenkette = ereg_replace("\n", "", $zeichenkette);
?>

Vordefinierte Konstanten
POSIX Regex-Funktionen
POSIX Regex


POSIX Regex-Funktionen

Siehe auch

Schauen Sie sich bezüglich regulärer Ausdrücke mit einer zu Perl kompatiblen Syntax die PCRE Funktionen an. fnmatch() bietet die Möglichkeit der Suche nach Übereinstimmungen mit Wildcard-Suchmustern im einfacheren Shell-Stil.

Inhaltsverzeichnis

  • ereg_replace — Ersetzt einen regulären Ausdruck
  • ereg — Sucht Übereinstimmungen mit einem regulären Ausdruck
  • eregi_replace — Ersetzt einen regulären Ausdrück ohne Berücksichtigung von Groß-/Kleinschreibung
  • eregi — Sucht Übereinstimmung mit regulärem Ausdruck ohne Berücksichtigung von Groß-/Kleinschreibung
  • split — Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks in ein Array
  • spliti — Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks ohne Berücksichtigung von Groß-/Kleinschreibung in ein Array
  • sql_regcase — Erstellt einen regulären Ausdruck für eine Suche nach Übereinstimmungen ohne Berücksichtigung von Groß-/Kleinschreibung
Beispiele
ereg_replace
POSIX Regex


Ersetzt einen regulären Ausdruck

POSIX Regex-Funktionen
ereg
POSIX Regex-Funktionen
PHP Manual

ereg_replace

(PHP 4, PHP 5)

ereg_replace — Ersetzt einen regulären Ausdruck

Beschreibung

string ereg_replace ( string $pattern , string $replacement , string $string )

Diese Funktion durchsucht string nach Übereinstimmungen mit pattern und ersetzt dann den übereinstimmenden Text durch replacement.

Warnung

Diese Funktion ist seit PHP 5.3.0 DEPRECATED (veraltet). Sich auf diese Funktion zu verlassen ist in keiner Weise empfehlenswert.

Parameter-Liste

pattern

Ein POSIX-erweiterter regulärer Ausdruck

replacement

Wenn pattern eingeklammerte Teilzeichenketten enthält, darf replacement Teilzeichenketten der Form \Ziffer enthalten, die dann durch die Ziffer'ste Teilzeichenkette ersetzt werden. \0 erzeugt den gesamten Inhalt der durchsuchten Zeichenkette. Bis zu neun Teilzeichenketten dürfen verwendet werden. Klammern dürfen geschachtelt werden und werden in diesem Fall anhand der öffnenden Klammern gezählt.

string

Die zu durchsuchende Zeichenkette

Rückgabewerte

Zurückgegeben wird die geänderte Zeichenkette. Wenn in string keine Übereinstimmungen gefunden werden, wird sie unverändert zurückgegeben.

Beispiele

Der folgende Code-Schnipsel gibt zum Beispiel dreimal "Das war ein Test" aus:

Beispiel #1 ereg_replace()-Beispiel

<?php

$string = "Das ist ein Test";
echo ereg_replace(" ist", " war", $string);
echo ereg_replace("( )ist", "\\1war", $string);
echo ereg_replace("(( )ist)", "\\2war", $string);

?>

Folgendes ist zu beachten: Wenn Sie als replacement einen ganzzahligen Wert verwenden, bekommen sie vielleicht nicht das erwartete Ergebnis. Das liegt daran, dass ereg_replace() die Zahl als Ordinalwert eines Zeichens betrachtet und dieses verwendet. Zum Beispiel:

Beispiel #2 ereg_replace()-Beispiel

<?php
/* Dieses funktioniert nicht wie erwartet. */
$zahl = 4;
$zeichenkette = "Diese Zeichenkette hat vier Wörter.";
$zeichenkette = ereg_replace('vier', $zahl, $zeichenkette);
echo $zeichenkette;   /* Ausgabe: 'Diese Zeichenkette hat   Wörter.' */

/* Dieses funktioniert. */
$zahl = '4';
$zeichenkette = "Diese Zeichenkette hat vier Wörter.";
$zeichenkette = ereg_replace('vier', $zahl, $zeichenkette);
echo $zeichenkette;   /* Output: 'Diese Zeichenkette hat 4 Wörter.' */
?>

Beispiel #3 Ersetzen von URLs durch Links

<?php
$text = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]",
                     '<a href="\\0">\\0</a>', $text);
?>

Anmerkungen

Hinweis:

Seit PHP 5.3.0 ist die regex-Erweiterung zugunsten der PCRE-Erweiterung als veraltete markiert. Ein Aufruf dieser Funktion wird eine E_DEPRECATED-Notice ausgeben. Sie können sich die Liste der Unterschiede ansehen, wenn Sie Hilfe beim Umstieg auf PCRE benötigen.

Tipp

ereg_replace() ist ab PHP 5.3.0 veraltet. Verwenden Sie stattdessen preg_replace().

Siehe auch

  • ereg() - Sucht Übereinstimmungen mit einem regulären Ausdruck
  • eregi() - Sucht Übereinstimmung mit regulärem Ausdruck ohne Berücksichtigung von Groß-/Kleinschreibung
  • eregi_replace() - Ersetzt einen regulären Ausdrück ohne Berücksichtigung von Groß-/Kleinschreibung
  • str_replace() - Ersetzt alle Vorkommen des Suchstrings durch einen anderen String
  • preg_replace() - Sucht und ersetzt mit regulären Ausdrücken
  • quotemeta() - Quoten von Meta-Zeichen

POSIX Regex-Funktionen
ereg
POSIX Regex-Funktionen


Sucht Übereinstimmungen mit einem regulären Ausdruck

ereg_replace
eregi_replace
POSIX Regex-Funktionen
PHP Manual

ereg

(PHP 4, PHP 5)

ereg — Sucht Übereinstimmungen mit einem regulären Ausdruck

Warnung

This function was DEPRECATED in PHP 5.3.0, and REMOVED in PHP 7.0.0.

Alternatives to this function include:

  • preg_match()

Beschreibung

int ereg ( string $pattern , string $string [, array &$regs ] )

Sucht in string unter Berücksichtigung der Groß- und Kleinschreibung nach Übereinstimmungen mit dem regulären Ausdruck, der in pattern angegeben wurde.

Parameter-Liste

pattern

Regulärer Ausdruck mit Berücksichtigung der Groß- und Kleinschreibung

string

Die zu durchsuchende Zeichenkette

regs

Wenn Übereinstimmungen mit eingeklammerten Teilzeichenketten von pattern gefunden werden und die Funktion mit dem dritten Argument regs aufgerufen wurde, werden die Übereinstimmungen in den Elementen des Arrays regs gespeichert.

$regs[1] enthält die Teilzeichenkette der ersten Klammer, $regs[2] die Teilzeichenkette der zweiten usw. $regs[0] enthält bei Übereinstimmung mit string eine Kopie der kompletten Zeichenkette string.

Rückgabewerte

Gibt die Länge der übereinstimmenden Zeichenkette zurück, falls in string eine Übereinstimmung mit pattern gefunden wurde oder FALSE, wenn keine Übereinstimmung gefunden wurde oder wenn ein Fehler aufgetreten ist.

Falls der optionale Parameter regs nicht übergeben wurde oder die Länge der übereinstimmenden Zeichenkette 0 ist, gibt diese Funktion 1 zurück.

Changelog

Version | Beschreibung
4.1.0 | Bis (und inklusive) PHP 4.1.0 wird $regs mit genau zehn Elementen gefüllt, auch wenn es tatsächlich mehr oder weniger Übereinstimmungen mit den eingeklammerten Teilzeichenketten gibt. Dies wirkt sich aber nicht auf ereg()s Fähigkeit aus, mehr übereinstimmende Teilzeichenketten zu finden. Falls keine Übereinstimmungen gefunden werden, wird $regs nicht von ereg() verändert.

Beispiele

Beispiel #1 ereg()-Beispiel

Das folgende Code-Schnipsel mimmt ein Datum im ISO-Format (JJJJ-MM-TT) und gibt es im Format TT.MM.JJJJ aus:

<?php
if (ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $date, $regs)) {
    echo "$regs[3].$regs[2].$regs[1]";
} else {
    echo "Ungültiges Datumsformat: $date";
}
?>

Siehe auch

  • eregi() - Sucht Übereinstimmung mit regulärem Ausdruck ohne Berücksichtigung von Groß-/Kleinschreibung
  • ereg_replace() - Ersetzt einen regulären Ausdruck
  • eregi_replace() - Ersetzt einen regulären Ausdrück ohne Berücksichtigung von Groß-/Kleinschreibung
  • preg_match() - Führt eine Suche mit einem regulären Ausdruck durch
  • strpos() - Sucht das erste Vorkommen des Suchstrings
  • strstr() - Findet das erste Vorkommen eines Strings
  • quotemeta() - Quoten von Meta-Zeichen

ereg_replace
eregi_replace
POSIX Regex-Funktionen


Ersetzt einen regulären Ausdrück ohne Berücksichtigung von Groß-/Kleinschreibung

ereg
eregi
POSIX Regex-Funktionen
PHP Manual

eregi_replace

(PHP 4, PHP 5)

eregi_replace — Ersetzt einen regulären Ausdrück ohne Berücksichtigung von Groß-/Kleinschreibung

Beschreibung

string eregi_replace ( string $pattern , string $replacement , string $string )

Diese Funktion entspricht ereg_replace() mit dem Unterschied, dass sie übereinstimmende Buchstaben nicht nach Groß- und Kleinschreibung unterscheidet.

Warnung

Diese Funktion ist seit PHP 5.3.0 DEPRECATED (veraltet). Sich auf diese Funktion zu verlassen ist in keiner Weise empfehlenswert.

Parameter-Liste

pattern

Ein POSIX-erweiterter regulärer Ausdruck

replacement

Wenn pattern eingeklammerte Teilzeichenketten enthält, darf replacement Teilzeichenketten der Form \Ziffer enthalten, die dann durch die Ziffer'ste Teilzeichenkette ersetzt werden. \0 erzeugt den gesamten Inhalt der durchsuchten Zeichenkette. Bis zu neun Teilzeichenketten dürfen verwendet werden. Klammern dürfen geschachtelt werden und werden in diesem Fall anhand der öffnenden Klammern gezählt.

string

Die zu durchsuchende Zeichenkette

Rückgabewerte

Zurückgegeben wird die geänderte Zeichenkette. Wenn in string keine Übereinstimmungen gefunden werden, wird sie unverändert zurückgegeben.

Beispiele

Beispiel #1 Suchergebnisse hervorheben

<?php
$suchmuster = '(>[^<]*)('. quotemeta($_GET['suche']) .')';
$ersatz = '\\1<span class="suche">\\2</span>';
$inhalt = eregi_replace($suchmuster, $ersatz, $inhalt);
?>

Anmerkungen

Hinweis:

Seit PHP 5.3.0 ist die regex-Erweiterung zugunsten der PCRE-Erweiterung als veraltete markiert. Ein Aufruf dieser Funktion wird eine E_DEPRECATED-Notice ausgeben. Sie können sich die Liste der Unterschiede ansehen, wenn Sie Hilfe beim Umstieg auf PCRE benötigen.

Tipp

eregi_replace() ist ab PHP 5.3.0 veraltet. Verwenden Sie stattdessen preg_replace() mit dem Modifikator i (PCRE_CASELESS).

Siehe auch

  • ereg() - Sucht Übereinstimmungen mit einem regulären Ausdruck
  • eregi() - Sucht Übereinstimmung mit regulärem Ausdruck ohne Berücksichtigung von Groß-/Kleinschreibung
  • ereg_replace() - Ersetzt einen regulären Ausdruck
  • preg_replace() - Sucht und ersetzt mit regulären Ausdrücken
  • quotemeta() - Quoten von Meta-Zeichen

ereg
eregi
POSIX Regex-Funktionen


Sucht Übereinstimmung mit regulärem Ausdruck ohne Berücksichtigung von Groß-/Kleinschreibung

eregi_replace
split
POSIX Regex-Funktionen
PHP Manual

eregi

(PHP 4, PHP 5)

eregi — Sucht Übereinstimmung mit regulärem Ausdruck ohne Berücksichtigung von Groß-/Kleinschreibung

Beschreibung

int eregi ( string $pattern , string $string [, array &$regs ] )

Diese Funktion entspricht ereg() mit dem Unterschied, dass sie übereinstimmende Buchstaben nicht nach Groß- und Kleinschreibung unterscheidet.

Warnung

Diese Funktion ist seit PHP 5.3.0 DEPRECATED (veraltet). Sich auf diese Funktion zu verlassen ist in keiner Weise empfehlenswert.

Parameter-Liste

pattern

Regulärer Ausdruck ohne Berücksichtigung der Groß- und Kleinschreibung

string

Die zu durchsuchende Zeichenkette

regs

Wenn Übereinstimmungen mit eingeklammerten Teilzeichenketten von pattern gefunden werden und die Funktion mit dem dritten Argument regs aufgerufen wurde, werden die Übereinstimmungen in den Elementen des Arrays regs gespeichert.

$regs[1] enthält die Teilzeichenkette der ersten Klammer, $regs[2] die Teilzeichenkette der zweiten usw. $regs[0] enthält bei Übereinstimmung mit string eine Kopie der kompletten Zeichenkette string.

Rückgabewerte

Gibt die Länge der übereinstimmenden Zeichenkette zurück, falls in string eine Übereinstimmung mit pattern gefunden wurde oder FALSE, wenn keine Übereinstimmung gefunden wurde oder wenn ein Fehler aufgetreten ist.

Falls der optionale Parameter regs nicht übergeben wurde oder die Länge der übereinstimmenden Zeichenkette 0 ist, gibt diese Funktion 1 zurück.

Beispiele

Beispiel #1 eregi()-Beispiel

<?php
$string = 'XYZ';
if (eregi('z', $string)) {
    echo "'$string' contains a 'z' or 'Z'!";
}
?>

Anmerkungen

Hinweis:

Seit PHP 5.3.0 ist die regex-Erweiterung zugunsten der PCRE-Erweiterung als veraltete markiert. Ein Aufruf dieser Funktion wird eine E_DEPRECATED-Notice ausgeben. Sie können sich die Liste der Unterschiede ansehen, wenn Sie Hilfe beim Umstieg auf PCRE benötigen.

Tipp

eregi() ist ab PHP 5.3.0 veraltet. Verwenden Sie stattdessen preg_match() mit dem Modifikator i (PCRE_CASELESS).

Siehe auch

  • ereg() - Sucht Übereinstimmungen mit einem regulären Ausdruck
  • ereg_replace() - Ersetzt einen regulären Ausdruck
  • eregi_replace() - Ersetzt einen regulären Ausdrück ohne Berücksichtigung von Groß-/Kleinschreibung
  • preg_match() - Führt eine Suche mit einem regulären Ausdruck durch
  • stripos() - Findet das erste Vorkommen eines Teilstrings in einem String, unabhängig von Groß- und Kleinschreibung
  • stristr() - Wie strstr, aber unabhängig von Groß- bzw. Kleinschreibung
  • quotemeta() - Quoten von Meta-Zeichen

eregi_replace
split
POSIX Regex-Funktionen


Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks in ein Array

eregi
spliti
POSIX Regex-Funktionen
PHP Manual

split

(PHP 4, PHP 5)

split — Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks in ein Array

Beschreibung

array split ( string $pattern , string $string [, int $limit = -1 ] )

Zerlegt string anhand eines regulären Ausdrucks in ein Array.

Warnung

Diese Funktion ist seit PHP 5.3.0 DEPRECATED (veraltet) und seit PHP 7.0.0 ENTFERNT.

Parameter-Liste

pattern

Regulärer Ausdruck mit Berücksichtigung der Groß- und Kleinschreibung

Wenn Sie eine Zerlegung an Zeichen vornehmen, die in regulären Ausdrücken als besondere Zeichen betrachtet werden, müssen Sie diese entsprechend kennzeichnen. Wenn Sie der Ansicht sind, split() (oder, bei diesem Thema, eine andere Regex-Funktion) verhalte sich seltsam, lesen Sie bitte die Datei regex.7, die sich im regex/ Unterverzeichnis ihrer PHP-Distribution befindet. Da sie im manpage-Fomat vorliegt, sollten Sie einen Befehl der Art man /usr/local/src/regex/regex.7 verwenden, um sie zu lesen.

string

Die zu durchsuchende Zeichenkette

limit

Wenn limit gesetzt wurde, enthält das zurückgegebene Array höchstens limit Elemente, von denen das letzte den ganzen Rest von string enthält.

Rückgabewerte

Gibt ein Array mit Zeichenketten zurück, die jeweils eine Teilzeichenkette von string sind. Diese Teilzeichenketten entstehen durch Zerlegung von string an den durch den regulären Ausdruck pattern bestimmten Stellen unter Berücksichtigung der Groß- und Kleinschreibung.

Wenn pattern n mal vorkommt, enhält das zurückgegebene Array n+1 Elemente. Kommt pattern zum Beispiel überhaupt nicht vor, wird ein Array mit nur einem Element zurückgegeben. Das gilt natürlich auch, wenn string leer ist. Bei Auftreten eines Fehlers gibt split() FALSE zurück.

Beispiele

Beispiel #1 split()-Beispiel

Um die ersten vier Felder einer Zeile von /etc/passwd abzuspalten:

<?php
list($user, $pass, $uid, $gid, $extra) =
    split(":", $passwd_line, 5);
?>

Beispiel #2 split()-Beispiel

Um ein Datum zu analysieren, das durch Schrägstriche, Punkte oder Bindestriche getrennt ist:

<?php
// Trennzeichen darf ein Schrägstrich, Punkt oder Bindestrich sein
$datum = "04/30/1973";
list ($monat, $tag, $jahr) = split('[/.-]', $datum);
echo "Monat: $monat; Tag: $tag; Jahr: $jahr<br />\n";
?>

Anmerkungen

Hinweis:

Seit PHP 5.3.0 ist die regex-Erweiterung zugunsten der PCRE-Erweiterung als veraltete markiert. Ein Aufruf dieser Funktion wird eine E_DEPRECATED-Notice ausgeben. Sie können sich die Liste der Unterschiede ansehen, wenn Sie Hilfe beim Umstieg auf PCRE benötigen.

Tipp

split() ist ab PHP 5.3.0 veraltet. Verwenden Sie stattdessen preg_split(). Wenn Sie die Fähigkeiten regulärer Ausdrücke nicht benötigen, ist die Verwendung von explode() schneller, weil diese Funktion ohne die Engine für reguläre Ausdrücke auskommt.

Tipp

Wenn Sie nach einer Möglichkeit suchen, das Verhalten von Perls
@chars = split('', $str) nachzuahmen, schauen Sie sich
bitte die Beispiele für preg_split() oder
str_split() an.

Siehe auch

  • preg_split() - Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks
  • spliti() - Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks ohne Berücksichtigung von Groß-/Kleinschreibung in ein Array
  • str_split() - Konvertiert einen String in ein Array
  • explode() - Teilt einen String anhand einer Zeichenkette
  • implode() - Verbindet Array-Elemente zu einem String
  • chunk_split() - Zerlegt einen String in Teile gleicher Länge
  • wordwrap() - Bricht einen String nach einer bestimmten Anzahl Zeichen um

eregi
spliti
POSIX Regex-Funktionen


Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks ohne Berücksichtigung von Groß-/Kleinschreibung in ein Array

split
sql_regcase
POSIX Regex-Funktionen
PHP Manual

spliti

(PHP 4 >= 4.0.1, PHP 5)

spliti — Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks ohne Berücksichtigung von Groß-/Kleinschreibung in ein Array

Beschreibung

array spliti ( string $pattern , string $string [, int $limit = -1 ] )

Zerlegt string anhand eines regulären Ausdrucks in ein Array.

Diese Funktion entspricht split() mit dem Unterschied, dass sie übereinstimmende Buchstaben nicht nach Groß- und Kleinschreibung unterscheidet.

Warnung

Diese Funktion ist seit PHP 5.3.0 DEPRECATED (veraltet). Sich auf diese Funktion zu verlassen ist in keiner Weise empfehlenswert.

Parameter-Liste

pattern

Regulärer Ausdruck ohne Berücksichtigung der Groß- und Kleinschreibung

Wenn Sie eine Zerlegung an Zeichen vornehmen, die in regulären Ausdrücken als besondere Zeichen betrachtet werden, müssen Sie diese entsprechend kennzeichnen. Wenn Sie der Ansicht sind, spliti() (oder, bei diesem Thema, eine andere Regex-Funktion) verhalte sich seltsam, lesen Sie bitte die Datei regex.7, die sich im regex/ Unterverzeichnis ihrer PHP-Distribution befindet. Da sie im manpage-Fomat vorliegt, sollten Sie einen Befehl der Art man /usr/local/src/regex/regex.7 verwenden, um sie zu lesen.

string

Die zu durchsuchende Zeichenkette

limit

Wenn limit gesetzt wurde, enthält das zurückgegebene Array höchstens limit Elemente, von denen das letzte den ganzen Rest von string enthält.

Rückgabewerte

Gibt ein Array mit Zeichenketten zurück, die jeweils eine Teilzeichenkette von string sind. Diese Teilzeichenketten entstehen durch Zerlegung von string an den durch den regulären Ausdruck pattern bestimmten Stellen ohne Berücksichtigung der Groß- und Kleinschreibung.

Wenn pattern n mal vorkommt, enhält das zurückgegebene Array n+1 Elemente. Kommt pattern zum Beispiel überhaupt nicht vor, wird ein Array mit nur einem Element zurückgegeben. Das gilt natürlich auch, wenn string leer ist. Bei Auftreten eines Fehlers gibt spliti() FALSE zurück.

Beispiele

Dieses Beispiel verwendet 'a' als Trennzeichen um eine Zeichenkette zu zerlegen:

Beispiel #1 spliti()-Beispiel

<?php
$zeichenkette = "aBBBaCCCADDDaEEEaGGGA";
$stuecke = spliti ("a", $zeichenkette, 5);
print_r($stuecke);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
  [0] =>
  [1] => BBB
  [2] => CCC
  [3] => DDD
  [4] => EEEaGGGA
)

Anmerkungen

Hinweis:

Seit PHP 5.3.0 ist die regex-Erweiterung zugunsten der PCRE-Erweiterung als veraltete markiert. Ein Aufruf dieser Funktion wird eine E_DEPRECATED-Notice ausgeben. Sie können sich die Liste der Unterschiede ansehen, wenn Sie Hilfe beim Umstieg auf PCRE benötigen.

Tipp

spliti() ist ab PHP 5.3.0 veraltet. Verwenden Sie stattdessen preg_split() mit dem Modifikator i (PCRE_CASELESS).

Siehe auch

  • preg_split() - Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks
  • split() - Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks in ein Array
  • explode() - Teilt einen String anhand einer Zeichenkette
  • implode() - Verbindet Array-Elemente zu einem String

split
sql_regcase
POSIX Regex-Funktionen


Erstellt einen regulären Ausdruck für eine Suche nach Übereinstimmungen ohne Berücksichtigung von Groß-/Kleinschreibung

spliti
ssdeep
POSIX Regex-Funktionen
PHP Manual

sql_regcase

(PHP 4, PHP 5)

sql_regcase — Erstellt einen regulären Ausdruck für eine Suche nach Übereinstimmungen ohne Berücksichtigung von Groß-/Kleinschreibung

Beschreibung

string sql_regcase ( string $string )

Erstellt einen regulären Ausdruck für eine Suche nach Übereinstimmungen ohne Berücksichtigung von Groß- und Kleinschreibung.

Warnung

Diese Funktion ist seit PHP 5.3.0 DEPRECATED (veraltet). Sich auf diese Funktion zu verlassen ist in keiner Weise empfehlenswert.

Parameter-Liste

string

Die umzuwandelnde Zeichenkette

Rückgabewerte

Gibt einen korrekten regulären Ausdruck zurück, der auf string ohne Berücksichtigung von Groß- und Kleinschreibung passt. Dieser Ausdruck entspricht string, wobei jeder Buchstabe in einen Klammerausdruck umgewandelt wird. Die Klammer enthält diesen Buchstaben in groß- und kleingeschriebener Form. Andere Zeichen bleiben unverändert.

Beispiele

Beispiel #1 sql_regcase()-Beispiel

<?php
echo sql_regcase("Foo - bar");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

[Ff][Oo][Oo] - [Bb][Aa][Rr].

Dies kann bei Produkten, die nur reguläre Ausdrücke mit Berücksichtigung von Groß- und Kleinschreibung unterstützen, verwendet werden, um eine Übereinstimmung mit Suchmustern ohne Berücksichtigung von Groß- und Kleinschreibung zu erreichen.

Anmerkungen

Hinweis:

Seit PHP 5.3.0 ist die regex-Erweiterung zugunsten der PCRE-Erweiterung als veraltete markiert. Ein Aufruf dieser Funktion wird eine E_DEPRECATED-Notice ausgeben. Sie können sich die Liste der Unterschiede ansehen, wenn Sie Hilfe beim Umstieg auf PCRE benötigen.

spliti
ssdeep
POSIX Regex-Funktionen


ssdeep Fuzzy Hashing

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • ssdeep Funktionen
    • ssdeep_fuzzy_compare — Calculates the match score between two fuzzy hash signatures
    • ssdeep_fuzzy_hash_filename — Create a fuzzy hash from a file
    • ssdeep_fuzzy_hash — Create a fuzzy hash from a string
sql_regcase
Einführung
Textverarbeitung


Einführung

ssdeep is a utility for creating and comparing fuzzy hashes or » context-triggered piecewise hashing.

Fuzzy hashing can match signatures which have "...sequences of identical bytes in the same order, although bytes in between these sequences may be different in both content and length". (» ssdeep project page)

This extension provides functions for creating and comparing fuzzy hashes.

ssdeep
Installation/Konfiguration
ssdeep


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
ssdeep


Anforderungen

This extension requires the » ssdeep library.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/ssdeep.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
ssdeep Funktionen
ssdeep


ssdeep Funktionen

Inhaltsverzeichnis

  • ssdeep_fuzzy_compare — Calculates the match score between two fuzzy hash signatures
  • ssdeep_fuzzy_hash_filename — Create a fuzzy hash from a file
  • ssdeep_fuzzy_hash — Create a fuzzy hash from a string
Vordefinierte Konstanten
ssdeep_fuzzy_compare
ssdeep


Calculates the match score between two fuzzy hash signatures

ssdeep Funktionen
ssdeep_fuzzy_hash_filename
ssdeep Funktionen
PHP Manual

ssdeep_fuzzy_compare

(PECL ssdeep >= 1.0.0)

ssdeep_fuzzy_compare — Calculates the match score between two fuzzy hash signatures

Beschreibung

int ssdeep_fuzzy_compare ( string $signature1 , string $signature2 )

Calculates the match score between signature1 and signature2 using » context-triggered piecewise hashing, and returns the match score.

Parameter-Liste

signature1

The first fuzzy hash signature string.

signature2

The second fuzzy hash signature string.

Rückgabewerte

Returns an integer from 0 to 100 on success, FALSE otherwise.

ssdeep Funktionen
ssdeep_fuzzy_hash_filename
ssdeep Funktionen


Create a fuzzy hash from a file

ssdeep_fuzzy_compare
ssdeep_fuzzy_hash
ssdeep Funktionen
PHP Manual

ssdeep_fuzzy_hash_filename

(PECL ssdeep >= 1.0.0)

ssdeep_fuzzy_hash_filename — Create a fuzzy hash from a file

Beschreibung

string ssdeep_fuzzy_hash_filename ( string $file_name )

ssdeep_fuzzy_hash_filename() calculates the hash of the file specified by file_name using » context-triggered piecewise hashing, and returns that hash.

Parameter-Liste

file_name

The filename of the file to hash.

Rückgabewerte

Returns a string on success, FALSE otherwise.

ssdeep_fuzzy_compare
ssdeep_fuzzy_hash
ssdeep Funktionen


Create a fuzzy hash from a string

ssdeep_fuzzy_hash_filename
Zeichenketten
ssdeep Funktionen
PHP Manual

ssdeep_fuzzy_hash

(PECL ssdeep >= 1.0.0)

ssdeep_fuzzy_hash — Create a fuzzy hash from a string

Beschreibung

string ssdeep_fuzzy_hash ( string $to_hash )

ssdeep_fuzzy_hash() calculates the hash of to_hash using » context-triggered piecewise hashing, and returns that hash.

Parameter-Liste

to_hash

The input string.

Rückgabewerte

Returns a string on success, FALSE otherwise.

ssdeep_fuzzy_hash_filename
Zeichenketten
ssdeep Funktionen


Zeichenketten

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • String-Funktionen
    • addcslashes — Stellt bestimmten Zeichen eines Strings ein "\" voran (wie in C)
    • addslashes — Stellt bestimmten Zeichen eines Strings ein "\" voran
    • bin2hex — Wandelt Binär-Daten in ihre hexadezimale Entsprechung um
    • chop — Alias von rtrim
    • chr — Gibt ein einzelnes Zeichen zurück
    • chunk_split — Zerlegt einen String in Teile gleicher Länge
    • convert_cyr_string — Konvertiert Strings von einem kyrillischen Zeichensatz in einen anderen
    • convert_uudecode — Dekodiert eine uukodierte Zeichenkette
    • convert_uuencode — UU-kodiert eine Zeichenkette
    • count_chars — Gibt Informationen über die in einem String enthaltenen Zeichen zurück
    • crc32 — Berechnet den polynomischen CRC32-Wert eines Strings
    • crypt — Einweg-String-Hashing
    • echo — Gibt einen oder mehrere Strings aus
    • explode — Teilt einen String anhand einer Zeichenkette
    • fprintf — Schreibt einen formatierten String in einen Stream
    • get_html_translation_table — Gibt die Umwandlungs-Tabelle zurück, die von htmlspecialchars und htmlentities verwendet wird
    • hebrev — Konvertiert logischen hebräischen Text in sichtbaren Text
    • hebrevc — Konvertiert (natürlichen) hebräischen Text in sichtbaren Text inkl. Anpassung von Zeilenumbrüchen
    • hex2bin — Dekodiert einen hexadezimal kodierten Binärstring
    • html_entity_decode — Konvertiert alle benannten HTML-Zeichen in ihre entsprechenden Ursprungszeichen
    • htmlentities — Wandelt alle geeigneten Zeichen in entsprechende HTML-Codes um
    • htmlspecialchars_decode — Konvertiert besondere HTML-Auszeichnungen zurück in Buchstaben
    • htmlspecialchars — Wandelt Sonderzeichen in HTML-Codes um
    • implode — Verbindet Array-Elemente zu einem String
    • join — Alias von implode
    • lcfirst — Wandelt den ersten Buchstaben eines Strings in einen Kleinbuchstaben um
    • levenshtein — Berechnet die Levenshtein-Distanz zwischen zwei Strings
    • localeconv — Ermittelt die Formatierungsinformationen für Zahlen
    • ltrim — Entfernt Leerraum (oder andere Zeichen) vom Anfang eines Strings
    • md5_file — Berechnet den MD5-Code einer Datei
    • md5 — Errechnet den MD5-Hash eines Strings
    • metaphone — Berechnet den Metaphone-Schlüssel eines Strings
    • money_format — Formatiert eine Zahl als Währungs-Zeichenkette
    • nl_langinfo — Query-Language und Locale Information
    • nl2br — Fügt vor allen Zeilenumbrüchen eines Strings HTML-Zeilenumbrüche ein
    • number_format — Formatiert eine Zahl mit Tausender-Trennzeichen
    • ord — Gibt den ASCII-Wert eines Zeichens zurück
    • parse_str — Überträgt einen String in Variable
    • print — Ausgabe eines Strings
    • printf — Gibt einen formatierten String aus
    • quoted_printable_decode — Konvertiert einen "quoted-printable"-String in einen 8-Bit-String
    • quoted_printable_encode — Wandelt einen 8Bit-String in sein 'Quoted Printable' Gegenstück
    • quotemeta — Quoten von Meta-Zeichen
    • rtrim — Entfernt Leerraum (oder andere Zeichen) vom Ende eines Strings
    • setlocale — Legt regionale (locale) Einstellungen fest
    • sha1_file — Berechnet den SHA1-Hash einer Datei
    • sha1 — Berechnet den SHA1-Hash eines Strings
    • similar_text — Berechnet die Ähnlichkeit zweier Zeichenketten
    • soundex — Berechnet die Laut-Ähnlichkeit eines Strings
    • sprintf — Gibt einen formatierten String zurück
    • sscanf — Überträgt einen String in ein angegebenes Format
    • str_getcsv — Parst einen CSV-String in ein Array
    • str_ireplace — Groß- und kleinschreibungsunabhängige Version von str_replace
    • str_pad — Erweitert einen String unter Verwendung eines anderen Strings auf eine bestimmte Länge
    • str_repeat — Wiederholt einen String
    • str_replace — Ersetzt alle Vorkommen des Suchstrings durch einen anderen String
    • str_rot13 — Führt die ROT13-Transformation auf einen String aus
    • str_shuffle — Mischt einen String nach dem Zufallsprinzip
    • str_split — Konvertiert einen String in ein Array
    • str_word_count — Gibt Informationen über in einem String verwendete Worte zurück
    • strcasecmp — Vergleich von Zeichenketten ohne Unterscheidung der Groß- und Kleinschreibung (Binary safe)
    • strchr — Alias von strstr
    • strcmp — Vergleich zweier Strings (Binary safe)
    • strcoll — Locale-basierter Zeichenkettenvergleich
    • strcspn — Ermittelt die Anzahl der nicht übereinstimmenden Zeichen
    • strip_tags — Entfernt HTML- und PHP-Tags aus einem String
    • stripcslashes — Entfernt Quotes aus mit addcslashes behandelten Strings
    • stripos — Findet das erste Vorkommen eines Teilstrings in einem String, unabhängig von Groß- und Kleinschreibung
    • stripslashes — Entfernt Maskierungszeichen aus einem String
    • stristr — Wie strstr, aber unabhängig von Groß- bzw. Kleinschreibung
    • strlen — Ermitteln der String-Länge
    • strnatcasecmp — String-Vergleich "natürlicher Ordnung" ohne Unterscheidung der Schreibweise
    • strnatcmp — String-Vergleich unter Verwendung einer "natürlichen Ordnung"
    • strncasecmp — Binärdaten-sicherer und groß- und kleinschreibungs-unabhängiger Stringvergleich der ersten n Zeichen
    • strncmp — String-Vergleich der ersten n Zeichen (Binary safe)
    • strpbrk — Durchsucht einen String nach einem Zeichen aus einer Gruppe von Zeichen
    • strpos — Sucht das erste Vorkommen des Suchstrings
    • strrchr — Sucht das letzte Vorkommen eines Zeichens in einem String
    • strrev — Kehrt einen String um
    • strripos — Findet das letzte Vorkommen der gesuchten Zeichenkette in einem String, unabhängig von Groß- und Kleinschreibung
    • strrpos — Findet die Position des letzten Vorkommens eines Teilstrings innerhalb einer Zeichenkette
    • strspn — Ermittelt die Länge des initialen Abschnitts einer Zeichenkette, der ausschließlich aus Zeichen besteht, die in einer übergebenen Maske enthalten sind.
    • strstr — Findet das erste Vorkommen eines Strings
    • strtok — Zerlegt einen String
    • strtolower — Setzt einen String in Kleinbuchstaben um
    • strtoupper — Wandelt alle Zeichen eines Strings in Großbuchstaben um
    • strtr — Tauscht Zeichen aus oder ersetzt Zeichenketten
    • substr_compare — Binärdaten-sicherer Vergleich zweier Strings, beginnend an einer bestimmten Position und endend nach einer festgelegten Länge
    • substr_count — Ermittelt, wie oft eine Zeichenkette in einem String vorkommt
    • substr_replace — Ersetzt Text innerhalb einer Zeichenkette
    • substr — Gibt einen Teil eines Strings zurück
    • trim — Entfernt Whitespaces (oder andere Zeichen) am Anfang und Ende eines Strings
    • ucfirst — Verwandelt das erste Zeichen eines Strings in einen Großbuchstaben
    • ucwords — Wandelt jeden ersten Buchstaben eines Wortes innerhalb eines Strings in einen Großbuchstaben
    • vfprintf — Schreibt einen formatierten String in einen Stream
    • vprintf — Gibt einen formatierten String aus
    • vsprintf — Gibt einen formatierten String zurück
    • wordwrap — Bricht einen String nach einer bestimmten Anzahl Zeichen um
  • Changelog
ssdeep_fuzzy_hash
Einführung
Textverarbeitung


Einführung

Mit diesen Funktionen werden Strings (Zeichenketten) auf verschiedene Arten verändert. Spezielle Anwendungen können in den Abschnitten zu regulären Ausdrücken (regular expression) und der URL-Handhabung gefunden werden.

Informationen zur Funktionsweise von Strings (insbesondere beim Gebrauch von einfachen bzw. doppelten Anführungszeichen und Escape-Sequenzen) erhalten Sie unter dem Strings-Eintrag im Kapitel Typen des Manuals.

Zeichenketten
Installation/Konfiguration
Zeichenketten


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Zeichenketten


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

CRYPT_SALT_LENGTH integer
CRYPT_STD_DES integer
CRYPT_EXT_DES integer
CRYPT_MD5 integer
CRYPT_BLOWFISH integer
HTML_SPECIALCHARS (integer)
HTML_ENTITIES (integer)
ENT_COMPAT (integer)
ENT_QUOTES (integer)
ENT_NOQUOTES (integer)
ENT_IGNORE (integer)
ENT_SUBSTITUTE (integer)
ENT_DISALLOWED (integer)
ENT_HTML401 (integer)
ENT_XML1 (integer)
ENT_XHTML (integer)
ENT_HTML5 (integer)
CHAR_MAX (integer)
LC_CTYPE (integer)
LC_NUMERIC (integer)
LC_TIME (integer)
LC_COLLATE (integer)
LC_MONETARY (integer)
LC_ALL (integer)
LC_MESSAGES (integer)
STR_PAD_LEFT (integer)
STR_PAD_RIGHT (integer)
STR_PAD_BOTH (integer)
Ressource-Typen
String-Funktionen
Zeichenketten


String-Funktionen

Siehe auch

Schauen Sie sich die POSIX-Funktionen und die Perl-kompatiblen Funktionen für reguläre Ausdrücke an, wenn Sie noch mächtigere Funktionen zur String-Verarbeitung nutzen möchten.

Inhaltsverzeichnis

  • addcslashes — Stellt bestimmten Zeichen eines Strings ein "\" voran (wie in C)
  • addslashes — Stellt bestimmten Zeichen eines Strings ein "\" voran
  • bin2hex — Wandelt Binär-Daten in ihre hexadezimale Entsprechung um
  • chop — Alias von rtrim
  • chr — Gibt ein einzelnes Zeichen zurück
  • chunk_split — Zerlegt einen String in Teile gleicher Länge
  • convert_cyr_string — Konvertiert Strings von einem kyrillischen Zeichensatz in einen anderen
  • convert_uudecode — Dekodiert eine uukodierte Zeichenkette
  • convert_uuencode — UU-kodiert eine Zeichenkette
  • count_chars — Gibt Informationen über die in einem String enthaltenen Zeichen zurück
  • crc32 — Berechnet den polynomischen CRC32-Wert eines Strings
  • crypt — Einweg-String-Hashing
  • echo — Gibt einen oder mehrere Strings aus
  • explode — Teilt einen String anhand einer Zeichenkette
  • fprintf — Schreibt einen formatierten String in einen Stream
  • get_html_translation_table — Gibt die Umwandlungs-Tabelle zurück, die von htmlspecialchars und htmlentities verwendet wird
  • hebrev — Konvertiert logischen hebräischen Text in sichtbaren Text
  • hebrevc — Konvertiert (natürlichen) hebräischen Text in sichtbaren Text inkl. Anpassung von Zeilenumbrüchen
  • hex2bin — Dekodiert einen hexadezimal kodierten Binärstring
  • html_entity_decode — Konvertiert alle benannten HTML-Zeichen in ihre entsprechenden Ursprungszeichen
  • htmlentities — Wandelt alle geeigneten Zeichen in entsprechende HTML-Codes um
  • htmlspecialchars_decode — Konvertiert besondere HTML-Auszeichnungen zurück in Buchstaben
  • htmlspecialchars — Wandelt Sonderzeichen in HTML-Codes um
  • implode — Verbindet Array-Elemente zu einem String
  • join — Alias von implode
  • lcfirst — Wandelt den ersten Buchstaben eines Strings in einen Kleinbuchstaben um
  • levenshtein — Berechnet die Levenshtein-Distanz zwischen zwei Strings
  • localeconv — Ermittelt die Formatierungsinformationen für Zahlen
  • ltrim — Entfernt Leerraum (oder andere Zeichen) vom Anfang eines Strings
  • md5_file — Berechnet den MD5-Code einer Datei
  • md5 — Errechnet den MD5-Hash eines Strings
  • metaphone — Berechnet den Metaphone-Schlüssel eines Strings
  • money_format — Formatiert eine Zahl als Währungs-Zeichenkette
  • nl_langinfo — Query-Language und Locale Information
  • nl2br — Fügt vor allen Zeilenumbrüchen eines Strings HTML-Zeilenumbrüche ein
  • number_format — Formatiert eine Zahl mit Tausender-Trennzeichen
  • ord — Gibt den ASCII-Wert eines Zeichens zurück
  • parse_str — Überträgt einen String in Variable
  • print — Ausgabe eines Strings
  • printf — Gibt einen formatierten String aus
  • quoted_printable_decode — Konvertiert einen "quoted-printable"-String in einen 8-Bit-String
  • quoted_printable_encode — Wandelt einen 8Bit-String in sein 'Quoted Printable' Gegenstück
  • quotemeta — Quoten von Meta-Zeichen
  • rtrim — Entfernt Leerraum (oder andere Zeichen) vom Ende eines Strings
  • setlocale — Legt regionale (locale) Einstellungen fest
  • sha1_file — Berechnet den SHA1-Hash einer Datei
  • sha1 — Berechnet den SHA1-Hash eines Strings
  • similar_text — Berechnet die Ähnlichkeit zweier Zeichenketten
  • soundex — Berechnet die Laut-Ähnlichkeit eines Strings
  • sprintf — Gibt einen formatierten String zurück
  • sscanf — Überträgt einen String in ein angegebenes Format
  • str_getcsv — Parst einen CSV-String in ein Array
  • str_ireplace — Groß- und kleinschreibungsunabhängige Version von str_replace
  • str_pad — Erweitert einen String unter Verwendung eines anderen Strings auf eine bestimmte Länge
  • str_repeat — Wiederholt einen String
  • str_replace — Ersetzt alle Vorkommen des Suchstrings durch einen anderen String
  • str_rot13 — Führt die ROT13-Transformation auf einen String aus
  • str_shuffle — Mischt einen String nach dem Zufallsprinzip
  • str_split — Konvertiert einen String in ein Array
  • str_word_count — Gibt Informationen über in einem String verwendete Worte zurück
  • strcasecmp — Vergleich von Zeichenketten ohne Unterscheidung der Groß- und Kleinschreibung (Binary safe)
  • strchr — Alias von strstr
  • strcmp — Vergleich zweier Strings (Binary safe)
  • strcoll — Locale-basierter Zeichenkettenvergleich
  • strcspn — Ermittelt die Anzahl der nicht übereinstimmenden Zeichen
  • strip_tags — Entfernt HTML- und PHP-Tags aus einem String
  • stripcslashes — Entfernt Quotes aus mit addcslashes behandelten Strings
  • stripos — Findet das erste Vorkommen eines Teilstrings in einem String, unabhängig von Groß- und Kleinschreibung
  • stripslashes — Entfernt Maskierungszeichen aus einem String
  • stristr — Wie strstr, aber unabhängig von Groß- bzw. Kleinschreibung
  • strlen — Ermitteln der String-Länge
  • strnatcasecmp — String-Vergleich "natürlicher Ordnung" ohne Unterscheidung der Schreibweise
  • strnatcmp — String-Vergleich unter Verwendung einer "natürlichen Ordnung"
  • strncasecmp — Binärdaten-sicherer und groß- und kleinschreibungs-unabhängiger Stringvergleich der ersten n Zeichen
  • strncmp — String-Vergleich der ersten n Zeichen (Binary safe)
  • strpbrk — Durchsucht einen String nach einem Zeichen aus einer Gruppe von Zeichen
  • strpos — Sucht das erste Vorkommen des Suchstrings
  • strrchr — Sucht das letzte Vorkommen eines Zeichens in einem String
  • strrev — Kehrt einen String um
  • strripos — Findet das letzte Vorkommen der gesuchten Zeichenkette in einem String, unabhängig von Groß- und Kleinschreibung
  • strrpos — Findet die Position des letzten Vorkommens eines Teilstrings innerhalb einer Zeichenkette
  • strspn — Ermittelt die Länge des initialen Abschnitts einer Zeichenkette, der ausschließlich aus Zeichen besteht, die in einer übergebenen Maske enthalten sind.
  • strstr — Findet das erste Vorkommen eines Strings
  • strtok — Zerlegt einen String
  • strtolower — Setzt einen String in Kleinbuchstaben um
  • strtoupper — Wandelt alle Zeichen eines Strings in Großbuchstaben um
  • strtr — Tauscht Zeichen aus oder ersetzt Zeichenketten
  • substr_compare — Binärdaten-sicherer Vergleich zweier Strings, beginnend an einer bestimmten Position und endend nach einer festgelegten Länge
  • substr_count — Ermittelt, wie oft eine Zeichenkette in einem String vorkommt
  • substr_replace — Ersetzt Text innerhalb einer Zeichenkette
  • substr — Gibt einen Teil eines Strings zurück
  • trim — Entfernt Whitespaces (oder andere Zeichen) am Anfang und Ende eines Strings
  • ucfirst — Verwandelt das erste Zeichen eines Strings in einen Großbuchstaben
  • ucwords — Wandelt jeden ersten Buchstaben eines Wortes innerhalb eines Strings in einen Großbuchstaben
  • vfprintf — Schreibt einen formatierten String in einen Stream
  • vprintf — Gibt einen formatierten String aus
  • vsprintf — Gibt einen formatierten String zurück
  • wordwrap — Bricht einen String nach einer bestimmten Anzahl Zeichen um
Vordefinierte Konstanten
addcslashes
Zeichenketten


Stellt bestimmten Zeichen eines Strings ein "\" voran (wie in C)

String-Funktionen
addslashes
String-Funktionen
PHP Manual

addcslashes

(PHP 4, PHP 5, PHP 7)

addcslashes — Stellt bestimmten Zeichen eines Strings ein "\" voran (wie in C)

Beschreibung

string addcslashes ( string $str , string $charlist )

Gibt eine Zeichenkette zurück, in der allen Zeichen, die in charlist aufgeführt sind, ein "\" vorangestellt ist.

Parameter-Liste

str

Die zu escapende Zeichenkette.

charlist

Eine Liste der zu escapenden Zeichen. Wenn charlist Zeichen wie \n, \r etc. enthält, werden diese im C-Stil konvertiert, während andere nicht-alphanumerische Zeichen mit einem ASCII-Wert kleiner als 32 oder höher als 126 in ihre oktale Repräsentation umgewandelt werden.

Wenn Sie eine Zeichensequenz im charlist-Parameter notieren, informieren Sie sich darüber, welche Zeichen sich zwischen dem ersten und dem letzten Zeichen befinden!

<?php
echo addcslashes('foo[ ]', 'A..z');
// Ausgabe:  \f\o\o\[ \]
// Alle groß- und kleingeschriebenen Buchstaben werden maskiert
// ... aber ebenfalls die Zeichen [\]^_`
?>
Beachten Sie zudem, dass sofern das erste Zeichen einer Sequenz einen höheren ASCII-Wert hat als das zweite, keine Sequenz erstellt wird. Nur das erste und das letzte Zeichen sowie Punkte werden dann escaped. Verwenden Sie die Funktion ord(), um den ASCII-Wert eines Zeichens zu ermitteln.
<?php
echo addcslashes("zoo['.']", 'z..A');
// Ausgabe:  \zoo['\.']
?>

Seien Sie besonders vorsichtig, wenn Sie Zeichen wie 0, a, b, f, n, r, t oder v escapen möchten. Sie werden zu \0, \a, \b, \f, \n, \r, \t oder \v gewandelt, die in C sämtlich vordefinierte Escape-Sequenzen sind. Viele dieser Sequenzen sind ebenfalls in anderen von C abgeleiteten Sprachen, einschließlich PHP, vordefiniert, was bedeutet, dass Sie u.U. nicht das gewünschte Ergebnis erhalten, wenn Sie die Rückgabe von addslashes() verwenden, um Code in diesen Sprachen zu erzeugen, wenn diese Zeichen in charlist definiert sind.

Rückgabewerte

Gibt die maskierte Zeichenkette zurück.

Changelog

Version | Beschreibung
5.2.5 | Die Escape-Sequenzen \v and \f wurden hinzugefügt.

Beispiele

charlist-Angaben wie "\0..\37" (oktal) bewirken ein Escapen aller Zeichen mit einem ASCII-Code zwischen 0 und 31 (dezimal).

Beispiel #1 addcslashes()-Beispiel

<?php
$escaped = addcslashes($nicht_escaped, "\0..\37!@\177..\377");
?>

Siehe auch

  • stripcslashes() - Entfernt Quotes aus mit addcslashes behandelten Strings
  • stripslashes() - Entfernt Maskierungszeichen aus einem String
  • addslashes() - Stellt bestimmten Zeichen eines Strings ein "\" voran
  • htmlspecialchars() - Wandelt Sonderzeichen in HTML-Codes um
  • quotemeta() - Quoten von Meta-Zeichen

String-Funktionen
addslashes
String-Funktionen


Stellt bestimmten Zeichen eines Strings ein "\" voran

addcslashes
bin2hex
String-Funktionen
PHP Manual

addslashes

(PHP 4, PHP 5, PHP 7)

addslashes — Stellt bestimmten Zeichen eines Strings ein "\" voran

Beschreibung

string addslashes ( string $str )

Gibt einen String (Zeichenkette) zurück, in dem bestimmten Zeichen ein Backslash "\" voran gestellt wurde. Diese Funktion ist z.B. für Datenbankabfragen wichtig. Die behandelten Zeichen sind das einfache und das doppelte Anführungszeichen (' und "), der Backslash selbst (\) sowie NUL (das NULL-Byte).

Ein Beispiel für die Verwendung von addslashes() ist das Schreiben von Daten in eine Zeichenkette, die von PHP ausgewertet wird. Ist zum Beispiel ein Name wie O'reilly in $str gespeichert, muss $str maskiert werden (z.B. eval("echo '".addslashes($str)."';"); ).

Um Datenbank-Parameter zu maskieren, sollte aus Sicherheitsgründen eine datenbankspezifische Escapefunktion zu verwenden (z.B. mysqli_real_escape_string() für MySQL oder pg_escape_literal(), pg_escape_string() für PostgreSQL). DBMSe haben unterschiedliche Maskierungsspezifikationen für Bezeichner (z.B. Tabellennamen, Feldnamen) und Parameter. Manche DBMSe wie PostgreSQL bieten eine Funktion zum Maskieren von Bezeichnern, pg_escape_identifier(), aber nicht alle DBMSe bieten eine solche Bezeichnermaskierungs API. Ist dies der Fall, ist die ordnungsgemäße Maskierungsmethode dem Datenbank-System-Handbuch zu entnehmen.

Verfügt das DBMS über keine Maskierungsfunktion und das DBMS verwendet \ um Sonderzeichen zu maskieren, können Sie u.U. diese Funktion nur verwenden, wenn diese Maskierungsmethode angemessen für Ihre Datenbank ist. Bitte beachten Sie, dass die Verwendung von addslashes() zum Maskieren von Datenbank-Parametern bei den meisten Datenbanken Sicherheitsprobleme verursachen kann.

Die PHP-Direktive magic_quotes_gpc war vor PHP 5.4 standardmäßig aktiviert, sodass die Funktion addslashes() auf alle GET-, POST- und COOKIE-Daten angewendet wurde. Verwenden Sie daher die Funktion addslashes() nicht, wenn Strings bereits durch magic_quotes_gpc escaped wurden, ansonsten erhalten Sie doppelte Maskierungen. Um herauszufinden, ob der Parameter aktiviert ist, verwenden Sie am einfachsten die Funktion get_magic_quotes_gpc().

Parameter-Liste

str

Die zu maskierende Zeichenkette.

Rückgabewerte

Gibt die maskierte Zeichenkette zurück.

Beispiele

Beispiel #1 Ein addslashes()-Beispiel

<?php
$str = "Ist dein Name wirklich O'Reilly?";

// Ausgabe: Ist dein Name wirklich O\'Reilly?
echo addslashes($str);
?>

Siehe auch

  • stripcslashes() - Entfernt Quotes aus mit addcslashes behandelten Strings
  • stripslashes() - Entfernt Maskierungszeichen aus einem String
  • addcslashes() - Stellt bestimmten Zeichen eines Strings ein "\" voran (wie in C)
  • htmlspecialchars() - Wandelt Sonderzeichen in HTML-Codes um
  • quotemeta() - Quoten von Meta-Zeichen
  • get_magic_quotes_gpc() - Zeigt die aktuelle Konfiguration von magic quotes gpc

addcslashes
bin2hex
String-Funktionen


Wandelt Binär-Daten in ihre hexadezimale Entsprechung um

addslashes
chop
String-Funktionen
PHP Manual

bin2hex

(PHP 4, PHP 5, PHP 7)

bin2hex — Wandelt Binär-Daten in ihre hexadezimale Entsprechung um

Beschreibung

string bin2hex ( string $str )

Gibt einen ASCII-String zurück, der die hexadezimale Wiedergabe des Parameters str enthält. Die Umwandlung geschieht byteweise mit dem höchsten Anteil (4 Bit, "high-nibble") zuerst.

Parameter-Liste

str

Eine Zeichenenkette.

Rückgabewerte

Gibt die hexadezimale Darstellung des übergebenen Strings zurück.

Siehe auch

  • hex2bin() - Dekodiert einen hexadezimal kodierten Binärstring
  • pack() - Packt Daten in eine Binär-Zeichenkette

addslashes
chop
String-Funktionen


Alias von rtrim

bin2hex
chr
String-Funktionen
PHP Manual

chop

(PHP 4, PHP 5, PHP 7)

chop — Alias von rtrim()

Beschreibung

Diese Funktion ist ein Alias für: rtrim().

Anmerkungen

Hinweis:

chop() unterscheidet sich von der Perl-Funktion chop(), die das letzte Zeichen eines Strings entfernt.

bin2hex
chr
String-Funktionen


Gibt ein einzelnes Zeichen zurück

chop
chunk_split
String-Funktionen
PHP Manual

chr

(PHP 4, PHP 5, PHP 7)

chr — Gibt ein einzelnes Zeichen zurück

Beschreibung

string chr ( int $ascii )

Gibt einen Ein-Zeichen-String zurück, der dem angegebenen ascii-Wert entspricht.

Die Funktion ergänzt ord().

Parameter-Liste

ascii

Der ASCII-Code.

Rückgabewerte

Gibt das angegebene Zeichen zurück.

Beispiele

Beispiel #1 chr()-Beispiel

<?php
$str = "Dieser String endet mit einem Escape-Zeichen: ";
$str .= chr(27); /* fügt das Escape-Zeichen an das Ende von $str an */

/* Die häufig praktischere Lösung: */

$str = sprintf("Dieser String endet mit einem Escape-Zeichen: %c", 27);
?>

Siehe auch

  • sprintf() - Gibt einen formatierten String zurück mit der Formatierungsanweisung %c
  • ord()
  • Eine » ASCII-Tabelle

chop
chunk_split
String-Funktionen


Zerlegt einen String in Teile gleicher Länge

chr
convert_cyr_string
String-Funktionen
PHP Manual

chunk_split

(PHP 4, PHP 5, PHP 7)

chunk_split — Zerlegt einen String in Teile gleicher Länge

Beschreibung

string chunk_split ( string $body [, int $chunklen = 76 [, string $end = "\r\n" ]] )

Kann für die Aufteilung eines Strings in kleinere Stücke verwendet werden. Dies ist z.B. hilfreich bei der Umwandlung von base64_encode()-Ausgaben, die RFC 2045 entsprechen müssen. Die Funktion fügt die in end angegebene Zeichenkette nach jeweils chunklen Zeichen in den ursprünglichen String ein.

Parameter-Liste

body

Die zu zerlegende Zeichenkette.

chunklen

Die Länge der einzelnen Teilstücke.

end

Die Zeilenend-Sequenz.

Rückgabewerte

Gibt den zerteilten String zurück.

Beispiele

Beispiel #1 chunk_split()-Beispiel

<?php
// formatiert $data unter Beachtung von RFC 2045
$neuer_string = chunk_split(base64_encode($data));
?>

Siehe auch

  • str_split() - Konvertiert einen String in ein Array
  • explode() - Teilt einen String anhand einer Zeichenkette
  • split() - Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks in ein Array
  • wordwrap() - Bricht einen String nach einer bestimmten Anzahl Zeichen um
  • » RFC 2045

chr
convert_cyr_string
String-Funktionen


Konvertiert Strings von einem kyrillischen Zeichensatz in einen anderen

chunk_split
convert_uudecode
String-Funktionen
PHP Manual

convert_cyr_string

(PHP 4, PHP 5, PHP 7)

convert_cyr_string — Konvertiert Strings von einem kyrillischen Zeichensatz in einen anderen

Beschreibung

string convert_cyr_string ( string $str , string $from , string $to )

Konvertiert Strings von einem kyrillischen Zeichensatz in einen anderen.

Parameter-Liste

str

Die zu konvertierende Zeichenkette.

from

Der kyrillische Herkunftszeichensatz als einzelnes Zeichen.

to

Der kyrillische Zielzeichensatz als einzelnes Zeichen.

Unterstützte Zeichen sind:

  • k - koi8-r
  • w - windows-1251
  • i - iso8859-5
  • a - x-cp866
  • d - x-cp866
  • m - x-mac-cyrillic

Rückgabewerte

Gibt die konvertierte Zeichenkette zurück.

Anmerkungen

Hinweis: Diese Funktion ist binary safe.

chunk_split
convert_uudecode
String-Funktionen


Dekodiert eine uukodierte Zeichenkette

convert_cyr_string
convert_uuencode
String-Funktionen
PHP Manual

convert_uudecode

(PHP 5, PHP 7)

convert_uudecode — Dekodiert eine uukodierte Zeichenkette

Beschreibung

string convert_uudecode ( string $data )

convert_uudecode() dekodiert eine uukodierte Zeichenkette.

Parameter-Liste

data

Die uu-kodierten Daten.

Rückgabewerte

Gibt die dekodierten Daten als Zeichenkette zurück. Im Fehlerfall wird FALSE zurückgegeben..

Beispiele

Beispiel #1 convert_uudecode()-Beispiel

<?php
/* Können Sie sich vorstellen, was hier ausgegeben wird? :) */
echo convert_uudecode("+22!L;W9E(%!(4\"$`\n`");
?>

Siehe auch

  • convert_uuencode() - UU-kodiert eine Zeichenkette

convert_cyr_string
convert_uuencode
String-Funktionen


UU-kodiert eine Zeichenkette

convert_uudecode
count_chars
String-Funktionen
PHP Manual

convert_uuencode

(PHP 5, PHP 7)

convert_uuencode — UU-kodiert eine Zeichenkette

Beschreibung

string convert_uuencode ( string $data )

convert_uuencode() kodiert eine Zeichenkette unter Verwendung des UUencode Algorithmus (Unix-to-Unix-Kodierung).

Die Unix-zu-Unix-Kodierung wandelt alle Zeichenketten (auch binäre) in druckbare Zeichen um, damit ihre korrekte Übermittlung über ein Netzwerk sichergestellt werden kann. UU-kodierte Daten sind etwa 35 % länger als ihr Original.

Parameter-Liste

data

Die zu kodierenden Daten.

Rückgabewerte

Gibt die uu-kodierten Daten zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 convert_uuencode()-Beispiel

<?php
$some_string = "test\ntext text\r\n";

echo convert_uuencode($some_string);
?>

Siehe auch

  • convert_uudecode() - Dekodiert eine uukodierte Zeichenkette
  • base64_encode() - Kodiert Daten MIME base64

convert_uudecode
count_chars
String-Funktionen


Gibt Informationen über die in einem String enthaltenen Zeichen zurück

convert_uuencode
crc32
String-Funktionen
PHP Manual

count_chars

(PHP 4, PHP 5, PHP 7)

count_chars — Gibt Informationen über die in einem String enthaltenen Zeichen zurück

Beschreibung

mixed count_chars ( string $string [, int $mode = 0 ] )

Zählt die Häufigkeit des Vorkommens jedes einzelnen Byte-Wertes (0..255) in string und gibt sie auf verschiedene Arten zurück.

Parameter-Liste

string

Die zu untersuchende Zeichenkette.

mode

Siehe Rückgabewerte.

Rückgabewerte

Abhängig von mode gibt count_chars() eine der folgenden Möglichkeiten zurück:

  • 0 - ein Array mit den Byte-Werten als Schlüssel und deren jeweiliger Häufigkeit als Wert.
  • 1 - wie 0, allerdings werden nur Byte-Werte ausgegeben, die mindestens einmal vorkommen.
  • 2 - wie 0, allerdings werden nur Byte-Werte, die nicht vorkommen, aufgelistet.
  • 3 - eine Zeichenkette, die alle vorkommenden Zeichen enthält.
  • 4 - eine Zeichenkette, die alle nicht vorkommenden Zeichen enthält.

Beispiele

Beispiel #1 count_chars()-Beispiel

<?php
$data = "Zwei Z und ein F.";

foreach (count_chars($data, 1) as $i => $val) {
   echo "Es gibt $val Vorkommen von \"" , chr($i) , "\" in der Zeichenkette.\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Es gibt 4 Vorkommen von " " in der Zeichenkette.
Es gibt 1 Vorkommen von "." in der Zeichenkette.
Es gibt 1 Vorkommen von "F" in der Zeichenkette.
Es gibt 2 Vorkommen von "Z" in der Zeichenkette.
Es gibt 1 Vorkommen von "d" in der Zeichenkette.
Es gibt 2 Vorkommen von "e" in der Zeichenkette.
Es gibt 2 Vorkommen von "i" in der Zeichenkette.
Es gibt 2 Vorkommen von "n" in der Zeichenkette.
Es gibt 1 Vorkommen von "u" in der Zeichenkette.
Es gibt 1 Vorkommen von "w" in der Zeichenkette.

Siehe auch

  • strpos() - Sucht das erste Vorkommen des Suchstrings
  • substr_count() - Ermittelt, wie oft eine Zeichenkette in einem String vorkommt

convert_uuencode
crc32
String-Funktionen


Berechnet den polynomischen CRC32-Wert eines Strings

count_chars
crypt
String-Funktionen
PHP Manual

crc32

(PHP 4 >= 4.0.1, PHP 5, PHP 7)

crc32 — Berechnet den polynomischen CRC32-Wert eines Strings

Beschreibung

int crc32 ( string $str )

Berechnet die zyklisch redundante polynomische Prüfsumme mit einer Länge von 32-Bit für str. Dies wird gewöhnlich für die Integritätsprüfung übermittelter Daten verwendet.

Da der Datentyp Integer von PHP vorzeichenbehaftet ("signed") ist und viele Prüfsummen negative Integer-Werte ergeben, müssen Sie die Formatierungsanweisung "%u" von sprintf() oder printf() verwenden, um die String-Repräsentation der nicht vorzeichenbehafteten ("unsigned") CRC32-Prüfsumme zu erhalten.

Warnung

Da der Datentyp Integer von PHP vorzeichenbehaftet ("signed") ist, resultieren viele Prüfsummen auf 32bit Plattformen in negativen Integer-Werten. In 64bit Installationen sind jedoch alle crc32()-Ergebnisse positive Ganzzahlen.

Daher ist die "%u" Typangabe von sprintf() oder printf() nötig, um die Stringrepräsentation der vorzeichenlosen crc32() Prüfsumme im Dezimalformat zu erhalten.

Für die hexadezimale Repräsentation der Prüfsumme kann entweder die "%x" Typangabe von sprintf() oder printf() oder die dechex() Umwandlungsfunktion verwendet werden; beide sorgen für die Konvertierung des crc32() Ergebnisses in eine vorzeichenlose Ganzzahl.

Es wurde in Erwägung gezogen, auch in 64bit Installationen negative Ganzzahlen für höhere Ergebniswerte zurückzugeben, aber das hätte die Hexadezimalumwandlung ruiniert, da dann negative Ganzzahlen ein zusätzliches 0xFFFFFFFF######## Offset erhielten. Da die hexadezimale Repräsentation der meist verbreitete Anwendungsfall scheint, wurde entschieden das nicht zu tun, auch wenn es direkte dezimale Vergleiche in etwa 50% der Fälle ruiniert, wenn von 32bit auf 64bit gewechselt wird.

Die Funktion eine Ganzzahl zurückgeben zu lassen, war im Nachhinein gesehen möglicherweise nicht die beste Idee, und gleich einen Hex-String zurückzugeben (wie z.B. md5()) könnte gleich zu Anfang ein besserer Plan gewesen sein.

Für eine portablere Lösung ist das generische hash() in Erwägung zu ziehen. hash("crc32b", $str) liefert die gleiche Zeichenkette wie dechex(crc32($str)).

Parameter-Liste

str

Die Daten.

Rückgabewerte

Gibt die CRC32-Prüfsumme von str als Integer zurück.

Beispiele

Beispiel #1 Anzeigen einer CRC32-Prüfsumme

Das folgende Beispiel zeigt, wie eine konvertierte Prüfsumme mittels der Funktion printf() ausgegeben wird:

<?php
$pruefsumme = crc32("Der schnelle braune Fuchs sprang über den trägen Hund.");
printf("%u\n", $pruefsumme);
?>

Siehe auch

  • hash() - Berechnet den Hash einer Nachricht
  • md5() - Errechnet den MD5-Hash eines Strings
  • sha1() - Berechnet den SHA1-Hash eines Strings

count_chars
crypt
String-Funktionen


Einweg-String-Hashing

crc32
echo
String-Funktionen
PHP Manual

crypt

(PHP 4, PHP 5, PHP 7)

crypt — Einweg-String-Hashing

Beschreibung

string crypt ( string $str [, string $salt ] )

crypt() gibt einen Hash-String zurück, der unter Verwendung des DES-basierenden Unix-Standard-Hashingalgorithmus oder einem anderen auf ihrem System verfügbaren Algorithmus erstellt wurde.

Der salt-Parameter ist optional. Allerdings erzeugt crypt() ohne das salt ein schwaches Passwort. PHP 5.6 und neuer erzeugen einen E_NOTICE Fehler, wenn der Parameter nicht angegeben wird. Es ist darauf zu achten ein ausreichend starkes salt für bessere Sicherheit anzugeben.

password_hash() verwendet einen starken Hash, erzeugt ein starkes Salt, und wendet eine angemessene Anzahl von Runden automatisch an. password_hash() ist ein einfacher crypt()-Wrapper und kompatibel zu bestehenden Passwort-Hashes. Die Verwendung von password_hash() wird empfohlen.

Einige Betriebssysteme unterstützen mehr als eine Methode zum Hashen. So wird manchmal der DES- durch einen MD5-Algorithmus ersetzt. Der verwendete Algorithmus wird durch das Salt-Argument bestimmt. Vor PHP 5.3 wurden die verfügbaren Algorithmen zum Installationszeitpunkt anhand der systemeigenen crypt() Funktion untersucht. Wird kein Salt angegeben, erzeugt PHP entweder einen 12-Zeichen MD5 Salt oder, falls MD5 nicht verfügbar ist, einen 2-Zeichen DES-Salt. PHP setzt eine Konstante CRYPT_SALT_LENGTH, welche die Länge des längsten von den Algorithmen unterstützen Salts enthält.

Der Standard-DES-Algorithmus gibt den Salt als erste 2 Zeichen zurück. Weiterhin werden nur die ersten acht Zeichen von str genutzt. Wenn also eine längere Zeichenkette verwendet wird, die mit den selben 8 Buchstaben beginnt, so erhalten Sie denselben Rückgabewert (sofern Sie ebenfalls den gleichen Salt genutzt haben).

Auf Systemen, wo crypt() mehrere Hashingalgorithmen unterstützt, werden die folgenden Konstanten auf 0 oder 1 gesetzt, je nachdem, ob der entsprechende Typ verfügbar ist:

  • CRYPT_STD_DES - Standard DES-Hash mit einem 2-Zeichen-Salt aus dem Alphabet "./0-9A-Za-z". Bei Nutzung eines ungültigen Zeichens schlägt crypt() fehl.
  • CRYPT_EXT_DES - Erweiterte DES-basiertes Hashing mit einem 9-Zeichen-Salt, welcher aus einem Unterstrich, 4 Zeichen Iterationsanzahl und 4 Zeichen Salt besteht. Iterationsanzahl und Salt werden dargestellt durch Zeichen aus dem Alphabet "./0-9A-Za-z" dargestellt. Bei Nutzung eines ungültigen Zeichens schlägt crypt() fehl.
  • CRYPT_MD5 - MD5-Hashing mit 12-Zeichen-Salt, beginnend mit "$1$"
  • CRYPT_BLOWFISH - Blowfish-Hash mit einem Salt folgenden Aufbaus: "$2a$", "$2x$" oder "$2y$", gefolgt von einem zweistelligen Kostenparameter, einem weiteren "$", und 22 Zeichen des Alphabets "./0-9A-Za-z". Bei Nutzung eines ungültigen Zeichens gibt crypt() einen leeren String zurück. Der zweistellige Kostenparameter ist der binäre Logarithmus der Iterationsanzahl und muss im Bereich von 04-31 liegen. Bei Nutzung von Werten außerhalb dieses Bereichs schlägt crypt() fehl. Versionen vor PHP 5.3.7 unterstützten nur "$2a$" als Salt-Präfix. Die anderen Präfixe wurden in PHP 5.3.7 eingeführt, um eine Sicherheits-Schwachstelle in der Blowfish-Implementierung zu beheben. Für weitere Informationen siehe » dieses Dokument. Kurz zusammengefasst sollten Entwickler "$2y$" bevorzugt verweden, wenn sie nicht mit PHP Versionen vor PHP 5.3.7 kompatibel sein müssen.
  • CRYPT_SHA256 - SHA-256 Hash mit einem 16-Zeichen Salt, beginnend mit "$5$". Wenn anschließend "rounds=<N>$" folgt, gibt der Zahlenwert von N die Iterationsanzahl an, ansonsten wird 5000 als Anzahl angenommen. Die Anzahl muss zwischen 1000 und 999,999,999 liegen. Falls ein Wert außerhalb dieses Bereichs angegeben wird, wird die jeweils näher liegende Grenze als Anzahl genutzt.
  • CRYPT_SHA512 - SHA-512 Hash mit einem 16-Zeichen Salt, beginnend mit "$6$". Wenn anschließend "rounds=<N>$" folgt, gibt der Zahlenwert von N die Iterationsanzahl an, ansonsten wird 5000 als Anzahl angenommen. Die Anzahl muss zwischen 1000 und 999,999,999 liegen. Falls ein Wert außerhalb dieses Bereichs angegeben wird, wird die jeweils näher liegende Grenze als Anzahl genutzt.

Hinweis:

Seit PHP 5.3.0 enthält PHP eine eigene Implementation und verwendet diese, wenn das System einen oder mehrere der Algorithmen nicht unterstützt.

Parameter-Liste

str

Die zu hashende Zeichenkette.

Achtung

Die Verwendung des CRYPT_BLOWFISH-Algorithmus hat zur Folge, dass der str-Parameter auf eine Länge von maximal 72 Zeichen gekürzt wird.

salt

Ein optionaler Salt-String, der die Schlüsselbasis bildet. Falls dieser nicht angegeben wird hängt das Verhalten von der Implementierung des Algorithmus ab und kann daher zu unerwarteten Ergebnissen führen. (Wenn beispielsweise ein Server MD5 unterstützt und der andere nur DES, dann würden beide unterschiedliche Rückgabewerte produzieren, obwohl der String eigentlich gleich ist.)

Rückgabewerte

Gibt die gehashte Zeichenkette zurück oder im Fehlerfall eine Zeichenkette, die kürzer ist als 13 Zeichen und garantiert ist, nicht dem Salt zu entsprechen.

Warnung

Wenn Passwörter überprüft werden, sollte eine Zeichenkettenvergleichsfunktion, die nicht anfällig für Rechenzeitangriffe ist, verwendet werden um die Ausgabe von crypt() mit dem zuvor bekannten Hash zu vergleichen. Ab PHP 5.6 steht hash_equals() zu diesem Zweck zur Verfügung.

Changelog

Version | Beschreibung
5.6.5 | Wird die Fehlerzeichenkette "*0" als salt angegeben, wird nun aus Konsistenz mit anderen Crypt-Implementierungen "*1" zurückgegeben. Vor dieser Version hat PHP 5.6 fälschlicherweise einen DES Hash zurückgegeben.
5.6.0 | Erzeugt eine E_NOTICE Sicherheitswarnung, wenn salt ausgelassen wird.
5.5.21 | Wird die Fehlerzeichenkette "*0" als salt angegeben, wird nun aus Konsistenz mit anderen Crypt-Implementierungen "*1" zurückgegeben. Vor dieser Version hat PHP 5.5 fälschlicherweise einen DES Hash zurückgegeben.
5.3.7 | Die $2x$ und $2y$ Blowfish-Modi wurden hinzugefügt.
5.3.2 | SHA-256 und SHA-512 wurden hinzugefügt auf Basis von Ulrich Drepper's » Implementierung.
5.3.2 | Blowfishs fehlerhaftes Verhalten wurde behoben, durch welches ein ungültiger Kostenparameter dazu führte, dass auf DES zurückgefallen wurde, anstatt einen Fehlerstring ("*0" or "*1") zurückzugeben.
5.3.0 | PHP enthält jetzt eine eigene Implementation der MD5-Crypt, Standard DES, Extended DES und des Blowfish-Algorithmus und verwendet diese, wenn das System eine oder mehrere der Algorithmen nicht unterstützt.

Beispiele

Beispiel #1 crypt()-Beispiele

<?php
$gehashtes_passwort = crypt('mein_Pwd'); // Der Salt wird automatisch generiert

/* Sie sollten das vollständige Ergebnis von crypt() als Salt zum
   Passwort-Vergleich übergeben, um Problemen mit unterschiedlichen
   Hash-Algorithmen vorzubeugen. (Wie bereits ausgeführt, verwendet
   ein Standard-DES-Passwort-Hash einen 2-Zeichen-Salt, ein
   MD5-basierter hingegen nutzt 12 Zeichen. */
if (crypt($benutzer_eingabe, $gehashtes_passwort) == $gehashtes_passwort) {
   echo "Passwort stimmt überein!";
}
?>

Beispiel #2 Verwendung von crypt() für htpasswd

<?php
// Passwort setzen
$passwort = 'mein_Pwd';

// Hash mit automatisch erstelltem Salt generieren
$hash = crypt($passwort);
?>

Beispiel #3 Verwendung von crypt() mit verschiedenen Hasharten

<?php
/* Die im folgenden Code genutzen Salts sind nur Beispiele und sollten nicht in dieser
   Form benutzt werden. Stattdessen muss für jedes Password ein neuer, korrekt formatierter
   Salt generiert werden.
*/
if (CRYPT_STD_DES == 1) {
    echo 'Standard DES: ' . crypt('rasmuslerdorf', 'rl') . "\n";
}

if (CRYPT_EXT_DES == 1) {
    echo 'Extended DES: ' . crypt('rasmuslerdorf', '_J9..rasm') . "\n";
}

if (CRYPT_MD5 == 1) {
    echo 'MD5:          ' . crypt('rasmuslerdorf', '$1$rasmusle$') . "\n";
}

if (CRYPT_BLOWFISH == 1) {
    echo 'Blowfish:     ' . crypt('rasmuslerdorf', '$2a$07$usesomesillystringforsalt$') . "\n";
}

if (CRYPT_SHA256 == 1) {
    echo 'SHA-256:      ' . crypt('rasmuslerdorf', '$5$rounds=5000$usesomesillystringforsalt$') . "\n";
}

if (CRYPT_SHA512 == 1) {
    echo 'SHA-512:      ' . crypt('rasmuslerdorf', '$6$rounds=5000$usesomesillystringforsalt$') . "\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Standard DES: rl.3StKT.4T8M
Extended DES: _J9..rasmBYk8r9AiWNc
MD5:          $1$rasmusle$rISCgZzpwk3UhDidwXvin0
Blowfish:     $2a$07$usesomesillystringfore2uDLvp1Ii2e./U9C8sBjqp8I90dH6hi
SHA-256:      $5$rounds=5000$usesomesillystri$KqJWpanXZHKq2BOB43TSaYhEWsQ1Lr5QNyPCDH/Tp.6
SHA-512:      $6$rounds=5000$usesomesillystri$D4IrlXatmP7rx3P3InaxBeoomnAihCKRVQP22JZ6EY47Wc6BkroIuUUBOov1i.S5KPgErtP/EN5mcO.ChWQW21

Anmerkungen

Hinweis: Es existiert keine decrypt Funktion, da crypt() ein Einweg-Algorithmus ist.

Siehe auch

  • hash_equals() - Timing attack safe string comparison
  • password_hash() - Erstellt einen Passwort-Hash
  • md5() - Errechnet den MD5-Hash eines Strings
  • Die Mcrypt-Erweiterung
  • Lesen Sie die Man-Pages ihres Unix-Systems, wenn Sie weitere Informationen zu crypt benötigen.

crc32
echo
String-Funktionen


Gibt einen oder mehrere Strings aus

crypt
explode
String-Funktionen
PHP Manual

echo

(PHP 4, PHP 5, PHP 7)

echo — Gibt einen oder mehrere Strings aus

Beschreibung

void echo ( string $arg1 [, string $... ] )

Gibt alle Parameter aus.

echo ist nicht wirklich eine Funktion sondern ein Sprach-Konstrukt, daher ist es nicht notwendig, Klammern zu verwenden. echo verhält sich im Gegensatz zu einigen anderen Sprach-Konstrukten nicht wie eine Funktion, deshalb kann es nicht immer in einem Funktionskontext verwendet werden. Hinzu kommt, dass bei der Angabe mehrerer Parameter für echo diese nicht von Klammern umschlossen sein dürfen.

echo besitzt zusätzlich eine Syntax-Kurzform, Sie können also ein öffnendes PHP-Tag von einem Gleichheitszeichen gefolgt notieren. Vor PHP 5.4.0 funktioniert diese Syntax-Kurzform nur, wenn short_open_tag in der php.ini eingeschaltet ist.

Ich habe <?=$foo?> foo.

Parameter-Liste

arg1

Der auszugebende Parameter.

...

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 echo-Beispiele

<?php
echo "Hallo Welt";

echo "Diese Ausgabe geht über
mehrere Zeilen. Die Zeilenumbrüche werden
ebenfalls ausgegeben.";

echo "Diese Ausgabe geht über\nmehrere Zeilen. Die Zeilenumbrüche werden\nebenfalls ausgegeben.";

echo "Escape Zeichen werden \"so realisiert\".";

// Sie können Variablen innerhalb eines echo-Statements verwenden
$foo = "foobar";
$bar = "barbaz";

echo "foo ist $foo"; // foo ist foobar

// Sie können auch Arrays nutzen
$bar = array("wert" => "foo");

echo "Das ist {$bar['wert']} !"; // Das ist foo !

// Wenn Sie einfache Anführungszeichen verwenden, wird der Name der Variable
// anstelle ihres Inhalts ausgegeben
echo 'foo ist $foo'; // foo ist $foo

// Sie können auch ausschließlich Variablen ausgeben,
// sofern Sie keine weiteren Zeichen ausgeben wollen
echo $foo;          // foobar
echo $foo,$bar;     // foobarbarbaz

// Einige Programmierer bevorzugen es, mehrere Parameter
// mithilfe von Stringverkettung auszugeben
echo 'Dieser ', 'String ', 'besteht ', 'aus ', 'mehreren Parametern.', chr(10);
echo 'Dieser  ' . 'String ' . 'wurde ' . 'mit ' . 'Stringverkettung erzeugt.' . "\n";

echo <<<END
Hier wird die "here document"-Syntax verwendet, um mehrere
Zeilen mit $variablen Interpolation auszugeben. Beachten Sie,
dass das sich das "here document"-Endzeichen in einer Zeile
mit nur einem Strichpunkt aber ohne Leerzeichen o.ä. stehen muss!
END;

// Da echo sich nicht wie eine Funktion verhält, ist der folgende Code ungültig.
($eine_variable) ? echo 'true' : echo 'false';

// Folgende Beispiele funktionieren hingegen:
($eine_variable) ? print 'true': print 'false' ;   // print ist ebenfalls ein
                         // Konstrukt, aber es verhält sich wie eine Funktion,
                         // so dass es in diesem Kontext verwendet werden kann
echo $eine_variable ? 'true': 'false';            // Das Statement herumgedreht
?>

Anmerkungen

Hinweis: Da dies ein Sprachkonstrukt und keine Funktion ist, können Sie dieses nicht mit Variablenfunktionen verwenden.

Siehe auch

  • print - Ausgabe eines Strings
  • printf() - Gibt einen formatierten String aus
  • flush() - Leert (sendet) den Ausgabepuffer
  • Heredoc-Syntax

crypt
explode
String-Funktionen


Teilt einen String anhand einer Zeichenkette

echo
fprintf
String-Funktionen
PHP Manual

explode

(PHP 4, PHP 5, PHP 7)

explode — Teilt einen String anhand einer Zeichenkette

Beschreibung

array explode ( string $delimiter , string $string [, int $limit ] )

Gibt ein Array aus Strings zurück, die jeweils Teil von string sind. Die Abtrennung erfolgt dabei an der mit delimiter angegebenen Zeichenkette.

Parameter-Liste

delimiter

Die Begrenzungszeichenkette.

string

Die Eingabezeichenkette.

limit

Ist der Parameter limit angegeben und positiv, enthält das zurückgegebene Array maximal limit Elemente, wobei das letzte Element den Rest von string beinhaltet.

Ist der Parameter limit negativ, werden alle Teilstrings bis auf die letzten -limit Teile zurückgegeben.

Wenn der Parameter limit gleich null ist, wird er wie 1 behandelt.

Hinweis:

Obgleich implode() aus historischen Gründen die Parameter in anderer Reihenfolge akzeptiert, verarbeitet explode() ausschließlich die hier angegebene Reihenfolge. Stellen Sie daher sicher, dass Sie den Parameter delimiter vor dem Parameter string notieren.

Rückgabewerte

Gibt ein array von strings zurück, die durch Aufsplitten des string Parameters an Begrenzungen durch delimiter erzeugt werden.

Ist delimiter ein leerer String (""), so gibt explode() FALSE zurück. Enthält delimiter einen Wert, der nicht in string vorkommt und wird ein negativer Wert für limit verwendet, wird ein leeres array zurückgegeben. Für alle anderen Werte von limit wird ein array zurückgegeben, das den string als einziges Element enthält.

Changelog

Version | Beschreibung
5.1.0 | Die Unterstützung für negative limit-Werte wurde hinzugefügt.

Beispiele

Beispiel #1 explode()-Beispiele

<?php
// Beispiel 1
$pizza  = "Teil1 Teil2 Teil3 Teil4 Teil5 Teil6";
$teile = explode(" ", $pizza);
echo $teile[0]; // Teil1
echo $teile[1]; // Teil2

// Beispiel 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo
echo $pass; // *

?>

Beispiel #2 explode() Rückgabe Beispiel

<?php
/*
   Eine Zeichenkette, die nicht das Trennzeichen enthält, wird einfach
   ein ein-elementiges Array mit der ursprünglichen Zeichenkette liefern.
*/
$input1 = "hallo";
$input2 = "hallo,da";
var_dump( explode( ',', $input1 ) );
var_dump( explode( ',', $input2 ) );

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(1)
(
    [0] => string(5) "hallo"
)
array(2)
(
    [0] => string(5) "hallo"
    [1] => string(5) "da"
)

Beispiel #3 limit-Parameterbeispiele

<?php
$str = 'eins|zwei|drei|vier';

// positiver Wert in "limit"
print_r(explode('|', $str, 2));

// negative Wert in "limit" (ab PHP 5.1)
print_r(explode('|', $str, -1));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => eins
    [1] => zwei|drei|vier
)
Array
(
    [0] => eins
    [1] => zwei
    [2] => drei
)

Anmerkungen

Hinweis: Diese Funktion ist binary safe.

Siehe auch

  • preg_split() - Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks
  • str_split() - Konvertiert einen String in ein Array
  • mb_split() - Split multibyte string using regular expression
  • str_word_count() - Gibt Informationen über in einem String verwendete Worte zurück
  • strtok() - Zerlegt einen String
  • implode() - Verbindet Array-Elemente zu einem String

echo
fprintf
String-Funktionen


Schreibt einen formatierten String in einen Stream

explode
get_html_translation_table
String-Funktionen
PHP Manual

fprintf

(PHP 5, PHP 7)

fprintf — Schreibt einen formatierten String in einen Stream

Beschreibung

int fprintf ( resource $handle , string $format [, mixed $args [, mixed $... ]] )

Schreibt einen gemäß format erstellten String in den Stream handle.

Parameter-Liste

handle

Eine Dateisystemressource (resource), wie sie in der Regel von fopen() zurückgegeben wird.

format

Der Parameter format wird in der Dokumentation von sprintf() beschrieben.

args

...

Rückgabewerte

Gibt die Länge der geschriebenen Zeichenkette zurück.

Beispiele

Beispiel #1 fprintf(): Integer mit vorangestellten Nullen

<?php
if (!($fp = fopen('date.txt', 'w'))) {
    return;
}

fprintf($fp, "%04d-%02d-%02d", $year, $month, $day);
// schreibt ein ISO-formatiertes Datum in die Datei date.txt
?>

Beispiel #2 fprintf(): Formatieren einer Währung

<?php
if (!($fp = fopen('waehrung.txt', 'w'))) {
    return;
}

$betrag1 = 68.75;
$betrag2 = 54.35;
$summe = $betrag1 + $betrag2;
// echo $summe würde "123.1" ausgeben;
$laenge = fprintf($fp, '%01.2f', $summe);
// schreibt "123.10" in waehrung.txt

echo "$laenge Bytes wurden in waehrung.txt geschrieben";
// verwendet den Rückgabewert von fprintf um die Anzahl der geschriebenen Bytes herauszufinden
?>

Siehe auch

  • printf() - Gibt einen formatierten String aus
  • sprintf() - Gibt einen formatierten String zurück
  • sscanf() - Überträgt einen String in ein angegebenes Format
  • fscanf() - Interpretiert den Input einer Datei entsprechend einem angegebenen Format
  • vsprintf() - Gibt einen formatierten String zurück
  • number_format() - Formatiert eine Zahl mit Tausender-Trennzeichen

explode
get_html_translation_table
String-Funktionen


Gibt die Umwandlungs-Tabelle zurück, die von htmlspecialchars und htmlentities verwendet wird

fprintf
hebrev
String-Funktionen
PHP Manual

get_html_translation_table

(PHP 4, PHP 5, PHP 7)

get_html_translation_table — Gibt die Umwandlungs-Tabelle zurück, die von htmlspecialchars() und htmlentities() verwendet wird

Beschreibung

array get_html_translation_table ([ int $table = HTML_SPECIALCHARS [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = "UTF-8" ]]] )

get_html_translation_table() gibt die Umwandlungs-Tabelle zurück, die intern in den Funktionen htmlspecialchars() und htmlentities() verwendet wird.

Hinweis:

Sonderzeichen können auf unterschiedliche Weise kodiert werden. " kann kodiert werden als &quot;, &#34; oder &#x22. get_html_translation_table() gibt nur die von htmlspecialchars() und htmlentities() genutze Form zurück.

Parameter-Liste

table

Welche Tabelle zurückgegeben werden soll. Entweder HTML_ENTITIES oder HTML_SPECIALCHARS.

flags

Eine Bitmaske von einem oder mehreren der folgenden Flags, welche festlegen welche Anführungszeichen die Tabelle enthalten wird, sowie für welchen Dokumenttyp sie ist. Der Standardwert ist ENT_COMPAT | ENT_HTML401.

Verfügbare flags-Konstanten
Konstantenname | Beschreibung
ENT_COMPAT | Tabelle soll Entities für doppelte Anführungszeichen enthalten, aber nicht für einfache.
ENT_QUOTES | Tabelle soll Entities sowohl für einfache, als auch doppelte Anführungszeichen enthalten.
ENT_NOQUOTES | Tabelle soll weder Entities für einfache, noch für doppelte Anführungszeichen enthalten.
ENT_HTML401 | Tabelle für HTML 4.01.
ENT_XML1 | Tabelle für XML 1.
ENT_XHTML | Tabelle für XHTML.
ENT_HTML5 | Tabelle für HTML 5.

encoding

Definiert die zu verwendende Zeichenkodierung. Standardwert ist ISO-8859-1 in PHP Versionen vor 5.4.0 und UTF-8 in PHP 5.4.0 und neuer.

Die folgenden Zeichensätze werden unterstützt:

Unterstützte Zeichensätze
Zeichensatz | Alias | Beschreibung
ISO-8859-1 | ISO8859-1 | Westeuropäisch, Latin-1.
ISO-8859-5 | ISO8859-5 | Wenig verwendeter kyrillischer Zeichensatz (Latin/Cyrillic).
ISO-8859-15 | ISO8859-15 | Westeuropäisch, Latin-9. Enthält das Euro-Zeichen sowie französische und finnische Buchstaben, die in Latin-1(ISO-8859-1) fehlen.
UTF-8 | ASCII-kompatibles Multi-Byte 8-Bit Unicode.
cp866 | ibm866, 866 | DOS-spezifischer kyrillischer Zeichensatz.
cp1251 | Windows-1251, win-1251, 1251 | Windows-spezifischer kyrillischer Zeichensatz.
cp1252 | Windows-1252, 1252 | Windows spezifischer Zeichensatz für westeuropäische Sprachen.
KOI8-R | koi8-ru, koi8r | Russisch.
BIG5 | 950 | Traditionelles Chinesisch, hauptsächlich in Taiwan verwendet.
GB2312 | 936 | Vereinfachtes Chinesisch, nationaler Standard-Zeichensatz.
BIG5-HKSCS | Big5 mit Hongkong-spezifischen Erweiterungen; traditionelles Chinesisch.
Shift_JIS | SJIS, SJIS-win, cp932, 932 | Japanisch
EUC-JP | EUCJP, eucJP-win | Japanisch
MacRoman | Zeichensatz, der von Mac OS verwendet wurde.
'' Eine leere Zeichenkette aktiviert die Erkennung durch die Kodierung des Skripts (Zend multibyte), default_charset und die aktuelle Sprachumgebung (siehe nl_langinfo() und setlocale()), in dieser Reihenfolge. Nicht empfehlenswert.

Hinweis: Weitere Zeichensätze sind nicht implementiert. Statt dessen wird die Standard-Kodierung verwendet und eine Warnung ausgegeben.

Rückgabewerte

Gibt die Umwandlungstabelle als Array zurück, wobei die ursprünglichen Zeichen die Schlüssel sind und die Entities die Werte.

Changelog

Version | Beschreibung
5.4.0 | Der Standardwert für encoding wurde zu UTF-8 geändert.
5.4.0 | Die Konstanten ENT_HTML401, ENT_XML1, ENT_XHTML und ENT_HTML5 wurden hinzugefügt.
5.3.4 | Der encoding parameter wurde hinzugefügt.

Beispiele

Beispiel #1 Umwandlungs-Tabellen-Beispiel

<?php
var_dump(get_html_translation_table(HTML_ENTITIES, ENT_QUOTES | ENT_HTML5));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(1510) {
  ["
"]=>
  string(9) "&NewLine;"
  ["!"]=>
  string(6) "&excl;"
  ["""]=>
  string(6) "&quot;"
  ["#"]=>
  string(5) "&num;"
  ["$"]=>
  string(8) "&dollar;"
  ["%"]=>
  string(8) "&percnt;"
  ["&"]=>
  string(5) "&amp;"
  ["'"]=>
  string(6) "&apos;"
  // ...
}

Siehe auch

  • htmlspecialchars() - Wandelt Sonderzeichen in HTML-Codes um
  • htmlentities() - Wandelt alle geeigneten Zeichen in entsprechende HTML-Codes um
  • html_entity_decode() - Konvertiert alle benannten HTML-Zeichen in ihre entsprechenden Ursprungszeichen

fprintf
hebrev
String-Funktionen


Konvertiert logischen hebräischen Text in sichtbaren Text

get_html_translation_table
hebrevc
String-Funktionen
PHP Manual

hebrev

(PHP 4, PHP 5, PHP 7)

hebrev — Konvertiert logischen hebräischen Text in sichtbaren Text

Beschreibung

string hebrev ( string $hebrew_text [, int $max_chars_per_line = 0 ] )

Konvertiert logischen hebräischen Text in sichtbaren Text.

Die Funktion versucht, Umbrüche in Wörtern zu vermeiden.

Parameter-Liste

hebrew_text

Eine hebräische Eingabezeichenkette.

max_chars_per_line

Der optionale Parameter gibt die maximale Zeichenanzahl pro Ausgabe-Zeile an.

Rückgabewerte

Gibt eine sichtbare Zeichenkette zurück.

Siehe auch

  • hebrevc() - Konvertiert (natürlichen) hebräischen Text in sichtbaren Text inkl. Anpassung von Zeilenumbrüchen

get_html_translation_table
hebrevc
String-Funktionen


Konvertiert (natürlichen) hebräischen Text in sichtbaren Text inkl. Anpassung von Zeilenumbrüchen

hebrev
hex2bin
String-Funktionen
PHP Manual

hebrevc

(PHP 4, PHP 5, PHP 7)

hebrevc — Konvertiert (natürlichen) hebräischen Text in sichtbaren Text inkl. Anpassung von Zeilenumbrüchen

Beschreibung

string hebrevc ( string $hebrew_text [, int $max_chars_per_line = 0 ] )

Diese Funktion entspricht hebrev() mit dem Unterschied, dass Zeilenumbrüche (\n) zu "<br>\n" umgewandelt werden.

Die Funktion versucht, Umbrüche in Wörtern zu vermeiden.

Parameter-Liste

hebrew_text

Eine hebräische Eingabezeichenkette.

max_chars_per_line

Der optionale Parameter gibt die maximale Zeichenanzahl pro Ausgabe-Zeile an.

Rückgabewerte

Gibt eine sichtbare Zeichenkette zurück.

Siehe auch

  • hebrev() - Konvertiert logischen hebräischen Text in sichtbaren Text

hebrev
hex2bin
String-Funktionen


Dekodiert einen hexadezimal kodierten Binärstring

hebrevc
html_entity_decode
String-Funktionen
PHP Manual

hex2bin

(PHP >= 5.4.0)

hex2bin — Dekodiert einen hexadezimal kodierten Binärstring

Beschreibung

string hex2bin ( string $data )

Dekodiert einen hexadezimal kodierten Binärstring.

Achtung

Diese Funktion konvertiert NICHT eine Hexadezimalzahl in eine Binärzahl. Dafür kann stattdessen die base_convert() Funktion verwendet werden.

Parameter-Liste

data

Hexadezimale Repräsentation von Daten.

Rückgabewerte

Gibt die binäre Repräsentation der Daten zurück Im Fehlerfall wird FALSE zurückgegeben..

Fehler/Exceptions

Falls die Länge des Eingabestrings ungerade ist, oder dieser ein ungültiger hexadezimaler String ist, wird ein E_WARNING Fehler geworfen.

Changelog

Version | Beschreibung
5.5.1 | Eine Warnung wird erzeugt, wenn der Eingabestring ein ungültiger hexadezimaler String ist.
5.4.4 | Wenn die Länge des Eingabestrings ungerade ist, wird ein Fehler geworfen. In PHP 5.4.0 wurde ein String ungerader Länge akzeptiert, jedoch wurde das letzte Byte abgeschnitten.

Beispiele

Beispiel #1 hex2bin() Beispiel

<?php
$hex = hex2bin("6578616d706c65206865782064617461");
var_dump($hex);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(16) "example hex data"

Siehe auch

  • bin2hex() - Wandelt Binär-Daten in ihre hexadezimale Entsprechung um
  • unpack() - Entpackt die Daten eines Binär-Strings

hebrevc
html_entity_decode
String-Funktionen


Konvertiert alle benannten HTML-Zeichen in ihre entsprechenden Ursprungszeichen

hex2bin
htmlentities
String-Funktionen
PHP Manual

html_entity_decode

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

html_entity_decode — Konvertiert alle benannten HTML-Zeichen in ihre entsprechenden Ursprungszeichen

Beschreibung

string html_entity_decode ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = ini_get("default_charset") ]] )

html_entity_decode() ist das Gegenstück zu htmlentities(), welches alle HTML-Entities innerhalb von string in ihre entsprechenden Ursprungszeichen zurückwandelt.

Genau gesagt dekodiert diese Funktion alle Entities (einschließlich aller numerischen Entities), die a) auf jeden Fall gültig für den gewählten Dokumenttyp sind — d.h. für XML dekodiert diese Funktion keine benannten Entities, die in einer DTD definiert sein könnten — und b) deren Zeichen in der Zeichenkodierung und im gewählten Dokumenttyp erlaubt sind. Alle anderen Entities bleiben wie sie sind.

Parameter-Liste

string

Die Eingabezeichenkette.

flags

Eine Bitmaske von einem oder mehreren der folgenden Flags, die die Behandlung von Anführungszeichen, sowie den zu nutzenden Dokumententyp festlegen. Der Standardwert ist ENT_COMPAT | ENT_HTML401.

Verfügbare flags-Konstanten
Konstantenname | Beschreibung
ENT_COMPAT | Konvertiert doppelte Anführungszeichen und lässt einfache Anführungszeichen unberührt.
ENT_QUOTES | Konvertiert sowohl doppelte als auch einfache Anführungszeichen.
ENT_NOQUOTES | Lässt sowohl doppelte als auch einfache Anführungszeichen unberührt.
ENT_HTML401 | Behandle Code als HTML 4.01.
ENT_XML1 | Behandle Code als XML 1.
ENT_XHTML | Behandle Code als XHTML.
ENT_HTML5 | Behandle Code als HTML 5.

encoding

Ein optionaler Parameter, der die Zeichenkodierung für eine Konvertierung definiert.

Wird dieser Parameter ausgelassen, so wird der Standardwert für encoding verwendet, welcher von der verwendeten PHP-Version abhängig ist. In PHP 5.6 und neuer wird die Konfigurationseinstellung default_charset als Standardwert verwendet. PHP 5.4 und 5.5. verwenden UTF-8 als Standardwert. Frühere Versionen verwenden ISO-8859-1.

Obwohl dieser Parameter technisch optional ist wird es stark empfohlen den korrekten Wert für den jeweiligen Programmcode zu spezifizieren, falls sie PHP 5.5 oder früher verwenden, oder falls default_charset für die jeweilige Eingabe inkorrekt sein könnte.

Die folgenden Zeichensätze werden unterstützt:

Unterstützte Zeichensätze
Zeichensatz | Alias | Beschreibung
ISO-8859-1 | ISO8859-1 | Westeuropäisch, Latin-1.
ISO-8859-5 | ISO8859-5 | Wenig verwendeter kyrillischer Zeichensatz (Latin/Cyrillic).
ISO-8859-15 | ISO8859-15 | Westeuropäisch, Latin-9. Enthält das Euro-Zeichen sowie französische und finnische Buchstaben, die in Latin-1(ISO-8859-1) fehlen.
UTF-8 | ASCII-kompatibles Multi-Byte 8-Bit Unicode.
cp866 | ibm866, 866 | DOS-spezifischer kyrillischer Zeichensatz.
cp1251 | Windows-1251, win-1251, 1251 | Windows-spezifischer kyrillischer Zeichensatz.
cp1252 | Windows-1252, 1252 | Windows spezifischer Zeichensatz für westeuropäische Sprachen.
KOI8-R | koi8-ru, koi8r | Russisch.
BIG5 | 950 | Traditionelles Chinesisch, hauptsächlich in Taiwan verwendet.
GB2312 | 936 | Vereinfachtes Chinesisch, nationaler Standard-Zeichensatz.
BIG5-HKSCS | Big5 mit Hongkong-spezifischen Erweiterungen; traditionelles Chinesisch.
Shift_JIS | SJIS, SJIS-win, cp932, 932 | Japanisch
EUC-JP | EUCJP, eucJP-win | Japanisch
MacRoman | Zeichensatz, der von Mac OS verwendet wurde.
'' Eine leere Zeichenkette aktiviert die Erkennung durch die Kodierung des Skripts (Zend multibyte), default_charset und die aktuelle Sprachumgebung (siehe nl_langinfo() und setlocale()), in dieser Reihenfolge. Nicht empfehlenswert.

Hinweis: Weitere Zeichensätze sind nicht implementiert. Statt dessen wird die Standard-Kodierung verwendet und eine Warnung ausgegeben.

Rückgabewerte

Gibt die dekodierte Zeichenkette zurück.

Changelog

Version | Beschreibung
5.6.0 | Der Standardwert für den Parameter encoding wurde so angepasst, dass dieser Wert aus der Konfigurationseinstellung default_charset bezogen wird.
5.4.0 | Die Standardkodierung wurde von ISO-8859-1 auf UTF-8 geändert.
5.4.0 | Die Optionen ENT_HTML401, ENT_XML1, ENT_XHTML und ENT_HTML5 wurden hinzugefügt.

Beispiele

Beispiel #1 Dekodieren benannter HTML-Zeichen

<?php
$orig = "I'll \"walk\" the <b>dog</b> now";

$a = htmlentities($orig);

$b = html_entity_decode($a);

echo $a; // I'll &quot;walk&quot; the &lt;b&gt;dog&lt;/b&gt; now

echo $b; // I'll "walk" the <b>dog</b> now
?>

Anmerkungen

Hinweis:

Sie wundern sich vielleicht, warum trim(html_entity_decode('&nbsp;')); den String nicht zu einem leeren Sting reduziert. Der Grund dafür ist, dass '&nbsp;' in der Standard-Kodierung nicht dem Zeichen mit ASCII-Code 32 entspricht (dieses wird von trim() entfernt), sondern dem Zeichen mit ASCII-Code 160 (0xa0).

Siehe auch

  • htmlentities() - Wandelt alle geeigneten Zeichen in entsprechende HTML-Codes um
  • htmlspecialchars() - Wandelt Sonderzeichen in HTML-Codes um
  • get_html_translation_table() - Gibt die Umwandlungs-Tabelle zurück, die von htmlspecialchars und htmlentities verwendet wird
  • urldecode() - Dekodiert eine URL-kodierte Zeichenkette

hex2bin
htmlentities
String-Funktionen


Wandelt alle geeigneten Zeichen in entsprechende HTML-Codes um

html_entity_decode
htmlspecialchars_decode
String-Funktionen
PHP Manual

htmlentities

(PHP 4, PHP 5, PHP 7)

htmlentities — Wandelt alle geeigneten Zeichen in entsprechende HTML-Codes um

Beschreibung

string htmlentities ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = ini_get("default_charset") [, bool $double_encode = true ]]] )

Die Funktion ist komplett identisch zu htmlspecialchars(), allerdings wandelt htmlentities() wirklich alle Zeichen, die eine HTML-Code-Entsprechung haben, in diese Entsprechung um.

Möchten Sie stattdessen die HTML Entities dekodieren, verwenden Sie bitte die Funktion html_entity_decode().

Parameter-Liste

string

Die Eingabezeichenkette.

flags

Eine Bitmaske von einem oder mehreren der folgenden Flags, die die Behandlung von Anführungszeichen, ungültigen Zeichenfolgen und den genutzten Dokumententyp festlegen. Der Standardwert ist ENT_COMPAT | ENT_HTML401.

Verfügbare flags Konstanten
Konstante | Beschreibung
ENT_COMPAT | Konvertiert nur doppelte Anführungszeichen und lässt einfache Anführungszeichen unverändert.
ENT_QUOTES | Konvertiert sowohl doppelte als auch einfache Anführungszeichen.
ENT_NOQUOTES | Lässt doppelte und einfache Anführungszeichen unverändert.
ENT_IGNORE | Verwirft ungültige Code Unit Sequenzen anstatt eine leere Zeichenkette zurückzugeben. Die Nutzung dieser Option ist nicht empfehlenswert, da sie » Auswirkungen auf die Sicherheit haben kann.
ENT_SUBSTITUTE | Ersetzt ungültige Codepoints mit einem Unicode Ersatz Zeichen U+FFFD (UTF-8) oder &#FFFD; (andernfalls) anstatt sie zu belassen wie sie sind. Dies kann zum Beispiel nützlich sein, um die Wohlgeformtheit von XML-Dokumenten mit eingebetteten externen Inhalten sicher zu stellen.
ENT_DISALLOWED | Ersetzt Code Unit Sequenzen, welche in dem angegebenen Dokumenttyp ungültig sind, mit einem Unicode Ersatz Zeichen U+FFFD (UTF-8) oder &#FFFD; (andernfalls).
ENT_HTML401 | Behandle Code als HTML 4.01.
ENT_XML1 | Behandle Code als XML 1.
ENT_XHTML | Behandle Code als XHTML.
ENT_HTML5 | Behandle Code als HTML 5.

encoding

Ein optionaler Parameter, der die Zeichenkodierung für eine Konvertierung definiert.

Wird dieser Parameter ausgelassen, so wird der Standardwert für encoding verwendet, welcher von der verwendeten PHP-Version abhängig ist. In PHP 5.6 und neuer wird die Konfigurationseinstellung default_charset als Standardwert verwendet. PHP 5.4 und 5.5. verwenden UTF-8 als Standardwert. Frühere Versionen verwenden ISO-8859-1.

Obwohl dieser Parameter technisch optional ist wird es stark empfohlen den korrekten Wert für den jeweiligen Programmcode zu spezifizieren, falls sie PHP 5.5 oder früher verwenden, oder falls default_charset für die jeweilige Eingabe inkorrekt sein könnte.

Die folgenden Zeichensätze werden unterstützt:

Unterstützte Zeichensätze
Zeichensatz | Alias | Beschreibung
ISO-8859-1 | ISO8859-1 | Westeuropäisch, Latin-1.
ISO-8859-5 | ISO8859-5 | Wenig verwendeter kyrillischer Zeichensatz (Latin/Cyrillic).
ISO-8859-15 | ISO8859-15 | Westeuropäisch, Latin-9. Enthält das Euro-Zeichen sowie französische und finnische Buchstaben, die in Latin-1(ISO-8859-1) fehlen.
UTF-8 | ASCII-kompatibles Multi-Byte 8-Bit Unicode.
cp866 | ibm866, 866 | DOS-spezifischer kyrillischer Zeichensatz.
cp1251 | Windows-1251, win-1251, 1251 | Windows-spezifischer kyrillischer Zeichensatz.
cp1252 | Windows-1252, 1252 | Windows spezifischer Zeichensatz für westeuropäische Sprachen.
KOI8-R | koi8-ru, koi8r | Russisch.
BIG5 | 950 | Traditionelles Chinesisch, hauptsächlich in Taiwan verwendet.
GB2312 | 936 | Vereinfachtes Chinesisch, nationaler Standard-Zeichensatz.
BIG5-HKSCS | Big5 mit Hongkong-spezifischen Erweiterungen; traditionelles Chinesisch.
Shift_JIS | SJIS, SJIS-win, cp932, 932 | Japanisch
EUC-JP | EUCJP, eucJP-win | Japanisch
MacRoman | Zeichensatz, der von Mac OS verwendet wurde.
'' Eine leere Zeichenkette aktiviert die Erkennung durch die Kodierung des Skripts (Zend multibyte), default_charset und die aktuelle Sprachumgebung (siehe nl_langinfo() und setlocale()), in dieser Reihenfolge. Nicht empfehlenswert.

Hinweis: Weitere Zeichensätze sind nicht implementiert. Statt dessen wird die Standard-Kodierung verwendet und eine Warnung ausgegeben.

double_encode

Wenn double_encode ausgeschaltet ist, verändert PHP keine bereits vorhandenen HTML-Entities. Standardmäßig wird jedoch alles konvertiert.

Rückgabewerte

Gibt die kodierte Zeichenkette zurück.

Enthält der string eine in dem übergebenen encoding ungültige Code Unit Sequenz, wird eine leere Zeichenkette zurückgegeben, sofern weder das ENT_IGNORE noch das ENT_SUBSITUTE Flag gesetzt sind.

Changelog

Version | Beschreibung
5.6.0 | Der Standardwert für den Parameter encoding wurde so angepasst, dass dieser Wert aus der Konfigurationseinstellung default_charset bezogen wird.
5.4.0 | Der Standardwert für encoding wurde zu UTF-8 geändert.
5.4.0 | Die Konstanten ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_XML1, ENT_XHTML und ENT_HTML5 wurden hinzugefügt.
5.3.0 | Die Konstante ENT_IGNORE wurde hinzugefügt.
5.2.3 | Der Parameter double_encode wurde hinzugefügt.

Beispiele

Beispiel #1 Ein htmlentities()-Beispiel

<?php
$str = "Ein 'Anführungszeichen' ist <b>fett</b>";

// Gibt aus: Ein 'Anf&uuml;hrungszeichen' ist &lt;b&gt;fett&lt;/b&gt;
echo htmlentities($str);

// Gibt aus: Ein &#039;Anf&uuml;hrungszeichen&#039; ist &lt;b&gt;fett&lt;/b&gt;
echo htmlentities($str, ENT_QUOTES);
?>

Beispiel #2 Nutzung von ENT_IGNORE

<?php
$str = "\x8F!!!";

// Gibt eine leere Zeichenkette aus
echo htmlentities($str, ENT_QUOTES, "UTF-8");

// Gibt "!!!" aus
echo htmlentities($str, ENT_QUOTES | ENT_IGNORE, "UTF-8");
?>

Siehe auch

  • html_entity_decode() - Konvertiert alle benannten HTML-Zeichen in ihre entsprechenden Ursprungszeichen
  • get_html_translation_table() - Gibt die Umwandlungs-Tabelle zurück, die von htmlspecialchars und htmlentities verwendet wird
  • htmlspecialchars() - Wandelt Sonderzeichen in HTML-Codes um
  • nl2br() - Fügt vor allen Zeilenumbrüchen eines Strings HTML-Zeilenumbrüche ein
  • urlencode() - URL-kodiert einen String

html_entity_decode
htmlspecialchars_decode
String-Funktionen


Konvertiert besondere HTML-Auszeichnungen zurück in Buchstaben

htmlentities
htmlspecialchars
String-Funktionen
PHP Manual

htmlspecialchars_decode

(PHP 5 >= 5.1.0, PHP 7)

htmlspecialchars_decode — Konvertiert besondere HTML-Auszeichnungen zurück in Buchstaben

Beschreibung

string htmlspecialchars_decode ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 ] )

Diese Funktion ist das Gegenstück zu htmlspecialchars(). Sie konvertiert besondere HTML-Auszeichnungen zurück in Buchstaben.

Die konvertierten Auszeichnungen sind: &amp;, &quot; (wenn ENT_NOQUOTES nicht gesetzt ist), &#039; (wenn ENT_QUOTES gesetzt ist), &lt; und &gt;.

Parameter-Liste

string

Der zu dekodierende String.

flags

Eine Bitmaske von einem oder mehreren der folgenden Flags, die die Behandlung von Anführungszeichen, sowie den zu nutzenden Dokumententyp festlegen. Der Standardwert ist ENT_COMPAT | ENT_HTML401.

Verfügbare flags-Konstanten
Konstantenname | Beschreibung
ENT_COMPAT | Konvertiert doppelte Anführungszeichen und lässt einfache Anführungszeichen unberührt.
ENT_QUOTES | Konvertiert sowohl doppelte als auch einfache Anführungszeichen.
ENT_NOQUOTES | Lässt sowohl doppelte als auch einfache Anführungszeichen unberührt.
ENT_HTML401 | Behandle Code als HTML 4.01.
ENT_XML1 | Behandle Code als XML 1.
ENT_XHTML | Behandle Code als XHTML.
ENT_HTML5 | Behandle Code als HTML 5.

Rückgabewerte

Gibt den dekodierten String zurück.

Changelog

Version | Beschreibung
5.4.0 | Die Konstanten ENT_HTML401, ENT_XML1, ENT_XHTML und ENT_HTML5 wurden hinzugefügt.

Beispiele

Beispiel #1 Ein htmlspecialchars_decode()-Beispiel

<?php
$str = "<p>this -&gt; &quot;</p>\n";

echo htmlspecialchars_decode($str);

// Beachten Sie, dass die Anführungszeichen nicht konvertiert werden
echo htmlspecialchars_decode($str, ENT_NOQUOTES);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<p>this -> "</p>
<p>this -> &quot;</p>

Siehe auch

  • htmlspecialchars() - Wandelt Sonderzeichen in HTML-Codes um
  • html_entity_decode() - Konvertiert alle benannten HTML-Zeichen in ihre entsprechenden Ursprungszeichen
  • get_html_translation_table() - Gibt die Umwandlungs-Tabelle zurück, die von htmlspecialchars und htmlentities verwendet wird

htmlentities
htmlspecialchars
String-Funktionen


Wandelt Sonderzeichen in HTML-Codes um

htmlspecialchars_decode
implode
String-Funktionen
PHP Manual

htmlspecialchars

(PHP 4, PHP 5, PHP 7)

htmlspecialchars — Wandelt Sonderzeichen in HTML-Codes um

Beschreibung

string htmlspecialchars ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = ini_get("default_charset") [, bool $double_encode = true ]]] )

Bestimmte Zeichen haben in HTML eine spezielle Bedeutung und sollten in HTML-Code dargestellt werden, um ihre Bedeutung zu behalten. Diese Funktion liefert einen String zurück, in dem diese Konvertierungen durchgeführt wurden. Ist es erforderlich, dass alle Eingabeteilzeichenketten, die zugeordnete benannte Entities haben, übersetzt werden, sollten Sie stattdessen htmlentities() verwenden.

Wenn die Eingabezeichenkette, die dieser Funktion übergeben wird, und das endgültige Dokument den gleichen Zeichensatz haben, ist diese Funktion ausreichend um Eingaben für die meisten Kontexte eines HTML-Dokuments vorzubereiten. Wenn allerdings die Eingabe Zeichen repräsentieren kann, die nicht im Zeichensatz des endgültigen Dokuments kodiert sind, und Sie wünschen diese Zeichen zu erhalten (als numerische oder benannte Entities), kann sowohl diese Funktion wie auch htmlentities() (die nur Teilzeichenketten, die benannte Entity-Entsprechungen haben, kodiert) ungenügend sein. Sie müssen u.U. mb_encode_numericentity() stattdessen verwenden.

Folgende Umwandlungen werden vorgenommen:

  • '&' (Ampersand/kaufmännisches Und) wird zu '&amp;'.
  • '"' (doppeltes Anführungszeichen) wird zu '&quot;', wenn ENT_NOQUOTES nicht gesetzt ist.
  • "'" (einfaches Anführungszeichen) wird nur zu '&#039;' (oder &apos;), wenn ENT_QUOTES gesetzt ist.
  • '<' (kleiner als) wird zu '&lt;'
  • '>' (größer als) wird zu '&gt;'

Parameter-Liste

string

Die zu konvertierende Zeichenkette.

flags

Eine Bitmaske von einem oder mehreren der folgenden Flags, die die Behandlung von Anführungszeichen, ungültigen Zeichenfolgen und den genutzten Dokumententyp festlegen. Der Standardwert ist ENT_COMPAT | ENT_HTML401.

Verfügbare flags Konstanten
Konstante | Beschreibung
ENT_COMPAT | Konvertiert nur doppelte Anführungszeichen und lässt einfache Anführungszeichen unverändert.
ENT_QUOTES | Konvertiert sowohl doppelte als auch einfache Anführungszeichen.
ENT_NOQUOTES | Lässt doppelte und einfache Anführungszeichen unverändert.
ENT_IGNORE | Verwirft ungültige Code Unit Sequenzen anstatt eine leere Zeichenkette zurückzugeben. Die Nutzung dieser Option ist nicht empfehlenswert, da sie » Auswirkungen auf die Sicherheit haben kann.
ENT_SUBSTITUTE | Ersetzt ungültige Code Unit Sequenzen mit einem Unicode Ersatz Zeichen U+FFFD (UTF-8) oder &#xFFFD; (andernfalls) anstatt eine leere Zeichenkette zurückzugeben.
ENT_DISALLOWED | Ersetzt Codepoints, welche in dem angegebenen Dokumenttyp ungültig sind, mit einem Unicode Ersatz Zeichen U+FFFD (UTF-8) oder &#xFFFD; (andernfalls), anstatt sie zu belassen. Das kann zum Beispiel nützlich sein, um die Wohlgeformtheit von XML-Dokumenten mit eingebetteten externen Inhalten sicherzustellen.
ENT_HTML401 | Behandle Code als HTML 4.01.
ENT_XML1 | Behandle Code als XML 1.
ENT_XHTML | Behandle Code als XHTML.
ENT_HTML5 | Behandle Code als HTML 5.

charset

Ein optionaler Parameter, der die Zeichenkodierung für eine Konvertierung definiert.

Wird dieser Parameter ausgelassen, so wird der Standardwert für encoding verwendet, welcher von der verwendeten PHP-Version abhängig ist. In PHP 5.6 und neuer wird die Konfigurationseinstellung default_charset als Standardwert verwendet. PHP 5.4 und 5.5. verwenden UTF-8 als Standardwert. Frühere Versionen verwenden ISO-8859-1.

Obwohl dieser Parameter technisch optional ist wird es stark empfohlen den korrekten Wert für den jeweiligen Programmcode zu spezifizieren, falls sie PHP 5.5 oder früher verwenden, oder falls default_charset für die jeweilige Eingabe inkorrekt sein könnte.

Für den Gebrauch dieser Funktion sind die Zeichenkodierungen ISO-8859-1, ISO-8859-15, UTF-8, cp866, cp1251, cp1252 und KOI8-R tatsächlich äquivalent, vorausgesetzt der string selbst ist gültig in der Zeichenkodierung, da die von htmlspecialchars() betroffenen Zeichen in allen genannten Zeichenkodierungen an gleicher Position stehen.

Die folgenden Zeichensätze werden unterstützt:

Unterstützte Zeichensätze
Zeichensatz | Alias | Beschreibung
ISO-8859-1 | ISO8859-1 | Westeuropäisch, Latin-1.
ISO-8859-5 | ISO8859-5 | Wenig verwendeter kyrillischer Zeichensatz (Latin/Cyrillic).
ISO-8859-15 | ISO8859-15 | Westeuropäisch, Latin-9. Enthält das Euro-Zeichen sowie französische und finnische Buchstaben, die in Latin-1(ISO-8859-1) fehlen.
UTF-8 | ASCII-kompatibles Multi-Byte 8-Bit Unicode.
cp866 | ibm866, 866 | DOS-spezifischer kyrillischer Zeichensatz.
cp1251 | Windows-1251, win-1251, 1251 | Windows-spezifischer kyrillischer Zeichensatz.
cp1252 | Windows-1252, 1252 | Windows spezifischer Zeichensatz für westeuropäische Sprachen.
KOI8-R | koi8-ru, koi8r | Russisch.
BIG5 | 950 | Traditionelles Chinesisch, hauptsächlich in Taiwan verwendet.
GB2312 | 936 | Vereinfachtes Chinesisch, nationaler Standard-Zeichensatz.
BIG5-HKSCS | Big5 mit Hongkong-spezifischen Erweiterungen; traditionelles Chinesisch.
Shift_JIS | SJIS, SJIS-win, cp932, 932 | Japanisch
EUC-JP | EUCJP, eucJP-win | Japanisch
MacRoman | Zeichensatz, der von Mac OS verwendet wurde.
'' Eine leere Zeichenkette aktiviert die Erkennung durch die Kodierung des Skripts (Zend multibyte), default_charset und die aktuelle Sprachumgebung (siehe nl_langinfo() und setlocale()), in dieser Reihenfolge. Nicht empfehlenswert.

Hinweis: Weitere Zeichensätze sind nicht implementiert. Statt dessen wird die Standard-Kodierung verwendet und eine Warnung ausgegeben.

double_encode

Wird der Parameter double_encode ausgeschaltet, kodiert PHP bereits existierende HTML-Entities nicht noch einmal. Standardmäßig werden jedoch alle Zeichen konvertiert.

Rückgabewerte

Der konvertierte string.

Enthält der string eine in dem übergebenen encoding ungültige Code Unit Sequenz, wird eine leere Zeichenkette zurückgegeben, sofern weder das ENT_IGNORE noch das ENT_SUBSITUTE Flag gesetzt sind.

Changelog

Version | Beschreibung
5.6.0 | Der Standardwert für den Parameter encoding wurde so angepasst, dass dieser Wert aus der Konfigurationseinstellung default_charset bezogen wird.
5.4.0 | Der Standardwert für encoding wurde zu UTF-8 geändert.
5.4.0 | Die Konstanten ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_XML1, ENT_XHTML und ENT_HTML5 wurden hinzugefügt.
5.3.0 | Die Konstante ENT_IGNORE wurde hinzugefügt.
5.2.3 | Der Parameter double_encode wurde hinzugefügt.

Beispiele

Beispiel #1 htmlspecialchars()-Beispiel

<?php
$neu = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $neu; // &lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt;
?>

Anmerkungen

Hinweis:

Beachten Sie, dass diese Funktion nur die o.a. Umwandlungen durchführt. Für vollständige Code-Umwandlung verwenden Sie bitte htmlentities().

Siehe auch

  • get_html_translation_table() - Gibt die Umwandlungs-Tabelle zurück, die von htmlspecialchars und htmlentities verwendet wird
  • htmlspecialchars_decode() - Konvertiert besondere HTML-Auszeichnungen zurück in Buchstaben
  • strip_tags() - Entfernt HTML- und PHP-Tags aus einem String
  • htmlentities() - Wandelt alle geeigneten Zeichen in entsprechende HTML-Codes um
  • nl2br() - Fügt vor allen Zeilenumbrüchen eines Strings HTML-Zeilenumbrüche ein

htmlspecialchars_decode
implode
String-Funktionen


Verbindet Array-Elemente zu einem String

htmlspecialchars
join
String-Funktionen
PHP Manual

implode

(PHP 4, PHP 5, PHP 7)

implode — Verbindet Array-Elemente zu einem String

Beschreibung

string implode ( string $glue , array $pieces )
string implode ( array $pieces )

Verbindet die Elemente eines Array mittels glue zu einer Zeichenkette.

Hinweis:

implode() akzeptiert die Parameter aus historischen Gründen in beiden Reihenfolgen. Dennoch sollten Sie schon wegen der Übereinstimmung mit explode() die dokumentierte und wahrscheinlich weniger verwirrende Reihenfolge der Argumente verwenden.

Parameter-Liste

glue

Standardmäßig eine leere Zeichenkette.

pieces

Das Array mit den zusammenzufügenden Zeichenketten.

Rückgabewerte

Gibt einen String mit einer String-Repräsentation aller Array-Elemente in der gleichen Reihenfolge wie in dem Array zurück, bei dem die einzelnen Array-Elemente mit dem im Parameter glue angegebenen String verbunden werden.

Beispiele

Beispiel #1 implode()-Beispiel

<?php

$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);

echo $comma_separated; // lastname,email,phone

// Leere Zeichenkette wenn leeres Array genutzt wird
var_dump(implode('hello', array())); // string(0) ""

?>

Anmerkungen

Hinweis: Diese Funktion ist binary safe.

Siehe auch

  • explode() - Teilt einen String anhand einer Zeichenkette
  • preg_split() - Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks
  • http_build_query() - Erstellen eines URL-kodierten Query-Strings

htmlspecialchars
join
String-Funktionen


Alias von implode

implode
lcfirst
String-Funktionen
PHP Manual

join

(PHP 4, PHP 5, PHP 7)

join — Alias von implode()

Beschreibung

Diese Funktion ist ein Alias für: implode().

implode
lcfirst
String-Funktionen


Wandelt den ersten Buchstaben eines Strings in einen Kleinbuchstaben um

join
levenshtein
String-Funktionen
PHP Manual

lcfirst

(PHP 5 >= 5.3.0, PHP 7)

lcfirst — Wandelt den ersten Buchstaben eines Strings in einen Kleinbuchstaben um

Beschreibung

string lcfirst ( string $str )

Gibt einen verarbeitete Version von str zurück, in der das erste Zeichen in einen Kleinbuchstaben umgewandelt wurde, sofern es sich um einen Buchstaben handelte.

Beachten Sie, dass die möglichen "Buchstaben" von der aktuellen locale-Einstellung bestimmt werden. Ist diese zum Beispiel "C", werden Zeichen wie ein Ä nicht konvertiert.

Parameter-Liste

str

Der Eingabestring.

Rückgabewerte

Gibt die verarbeitete Zeichenkette zurück.

Beispiele

Beispiel #1 lcfirst()-Beispiel

<?php
$foo = 'HalloWelt';
$foo = lcfirst($foo);             // halloWelt

$bar = 'HALLO WELT!';
$bar = lcfirst($bar);             // hALLO WELT!
$bar = lcfirst(strtoupper($bar)); // hALLO WELT!
?>

Siehe auch

  • ucfirst() - Verwandelt das erste Zeichen eines Strings in einen Großbuchstaben
  • strtolower() - Setzt einen String in Kleinbuchstaben um
  • strtoupper() - Wandelt alle Zeichen eines Strings in Großbuchstaben um
  • ucwords() - Wandelt jeden ersten Buchstaben eines Wortes innerhalb eines Strings in einen Großbuchstaben

join
levenshtein
String-Funktionen


Berechnet die Levenshtein-Distanz zwischen zwei Strings

lcfirst
localeconv
String-Funktionen
PHP Manual

levenshtein

(PHP 4 >= 4.0.1, PHP 5, PHP 7)

levenshtein — Berechnet die Levenshtein-Distanz zwischen zwei Strings

Beschreibung

int levenshtein ( string $str1 , string $str2 )
int levenshtein ( string $str1 , string $str2 , int $cost_ins , int $cost_rep , int $cost_del )

Die Levenshtein-Distanz bezeichnet die minimale Anzahl von Zeichen, die Sie ersetzen, einfügen oder löschen müssen, um str1 in str2 umzuwandeln. Die Komplexität des Algorithmus ist O(m*n), wobei n und m die Länge von str1 und str2 darstellen (recht gut, im Vergleich zu similar_text(), das O(max(n,m)**3) ist, aber trotzdem immer noch aufwendig).

In ihrer einfachsten Form erhält die Funktion nur die zwei Strings als Parameter und berechnet nur die Anzahl der Einfügungen, Ersetzungen und Löschungen, die benötigt werden, um str1 in str2 zu überführen.

Eine zweite Variante verwendet drei zusätzliche Parameter, die die Kosten von Einfügungen, Ersetzungen und Löschungen festlegen. Dies ist eine allgemeingültigere und anpassungsfähigere Version als Variante eins, aber nicht so effizient.

Parameter-Liste

str1

Eine der Zeichenketten, für die die Levenshtein-Distanz zu berechnen ist.

str2

Eine der Zeichenketten, für die die Levenshtein-Distanz zu berechnen ist.

cost_ins

Definiert die Kosten des Einfügens.

cost_rep

Definiert die Kosten des Ersetzens.

cost_del

Definiert die Kosten des Löschens.

Rückgabewerte

Die Funktion gibt die Levenshtein-Distanz zwischen den beiden Argument-Strings oder -1 zurück, sofern eines der Argumente länger als 255 Zeichen ist.

Beispiele

Beispiel #1 levenshtein()-Beispiel

<?php
// eingegebenes falsch geschriebenes Wort
$input = 'carrrot';

// Wörterarray als Vergleichsquelle
$words  = array('apple','pineapple','banana','orange',
              'radish','carrot','pea','bean','potato');

// noch keine kürzeste Distanz gefunden
$shortest = -1;

// durch die Wortliste gehen, um das ähnlichste Wort zu finden
foreach ($words as $word) {

  // berechne die Distanz zwischen Inputwort und aktuellem Wort
  $lev = levenshtein($input, $word);

  // auf einen exakten Treffer prüfen
  if ($lev == 0) {

      // das nächste Wort ist das Wort selbst (exakter Treffer)
      $closest = $word;
      $shortest = 0;

      // Schleife beenden, da wir einen exakten Treffer gefunden haben
      break;
  }

  // Wenn die Distanz kleiner ist als die nächste gefundene kleinste Distanz
  // ODER wenn ein nächstkleineres Wort noch nicht gefunden wurde
  if ($lev <= $shortest || $shortest < 0) {
      // setze den nächstliegenden Treffer und die kürzestes Distanz
      $closest  = $word;
      $shortest = $lev;
  }
}

echo "Eingegebenes Wort: $input\n";
if ($shortest == 0) {
  echo "Exakter Treffer gefunden: $closest\n";
} else {
  echo "Meinten Sie: $closest?\n";
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Eingegebenes Word: carrrot
Meinten Sie: carrot?

Siehe auch

  • soundex() - Berechnet die Laut-Ähnlichkeit eines Strings
  • similar_text() - Berechnet die Ähnlichkeit zweier Zeichenketten
  • metaphone() - Berechnet den Metaphone-Schlüssel eines Strings

lcfirst
localeconv
String-Funktionen


Ermittelt die Formatierungsinformationen für Zahlen

levenshtein
ltrim
String-Funktionen
PHP Manual

localeconv

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

localeconv — Ermittelt die Formatierungsinformationen für Zahlen

Beschreibung

array localeconv ( void )

Gibt ein assoziatives Array zurück, das die lokalisierten Informationen zur Formatierung von Zahlen und Geldbeträgen enthält.

Rückgabewerte

localeconv() gibt Daten basierend auf den aktuellen Locale-Einstellungen, wie sie mittels setlocale() festgelegt werden können, zurück. Das assoziative Array, das zurückgegeben wird, enthält folgende Felder:

Arrayelement | Beschreibung
decimal_point | Dezimaltrennzeichen
thousands_sep | Tausendertrennzeichen
grouping | Array mit numerischen Gruppierungen
int_curr_symbol | Internationales Währungssymbol (i.e. USD)
currency_symbol | Lokales Währungssymbol (i.e. $)
mon_decimal_point | Dezimaltrennzeichen bei Geldbeträgen
mon_thousands_sep | Tausendertrennzeichen bei Geldbeträgen
mon_grouping | Array mit Geldbetragsgruppierungen
positive_sign | Vorzeichen für positive Werte
negative_sign | Vorzeichen für negative WerteS
int_frac_digits | Internationale Dezimalbrüche
frac_digits | Lokale Dezimalbrüche
p_cs_precedes | Ist TRUE, wenn das Währungssymbol einem positiver Wert voransteht, oder FALSE, wenn es einem positiven Wert folgt.
p_sep_by_space | Ist TRUE, wenn ein Leerzeichen das Währungssymbol von einem positiven Wert trennt, ansonsten FALSE.
n_cs_precedes | Ist TRUE, wenn das Währungssymbol einem negativer Wert voransteht, oder FALSE, wenn es einem negativen Wert folgt.
n_sep_by_space | Ist TRUE, wenn ein Leerzeichen das Währungssymbol von einem negativen Wert trennt, ansonsten FALSE.
p_sign_posn
  • 0 - Klammern um Menge und Währungssymbol
  • 1 - Das Vorzeichen steht vor Menge und Währungssymbol
  • 2 - Das Vorzeichen steht hinter Menge und Währungssymbol
  • 3 - Das Vorzeichen steht direkt vor Menge und Währungssymbol
  • 4 - Das Vorzeichen steht direkt hinter Menge und Währungssymbol
n_sign_posn
  • 0 - Klammern um Menge und Währungssymbol
  • 1 - Das Vorzeichen steht vor Menge und Währungssymbol
  • 2 - Das Vorzeichen steht hinter Menge und Währungssymbol
  • 3 - Das Vorzeichen steht direkt vor Menge und Währungssymbol
  • 4 - Das Vorzeichen steht direkt hinter Menge und Währungssymbol

p_sign_posn und n_sign_posn enthalten einen String mit Formatierungsinformationen. Jeder Wert repräsentiert eine der oben aufgeführten Bedingungen.

Die Gruppierungsfelder enthalten Arrays, die die Art und Weise definieren, in der Zahlen gruppiert werden sollten. Beispielsweise würde das Gruppierungsfeld für Geldbeträge unter einer nl_NL-Locale (im UTF-8-Modus mit dem Euro-Zeichen) ein Array mit zwei Einträgen mit den Werten 3 und 3 enthalten. Je höher der Index im Array, desto weiter links wird gruppiert. Wenn ein Arrayelement CHAR_MAX entspricht, wird keine weitere Gruppierung angewendet. Ist ein Arrayelement gleich 0, sollte das vorangegangene Element verwendet werden.

Beispiele

Beispiel #1 localeconv()-Beispiel

<?php
if (false !== setlocale(LC_ALL, 'nl_NL.UTF-8@euro')) {
    $locale_info = localeconv();
    print_r($locale_info);
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [decimal_point] => .
    [thousands_sep] =>
    [int_curr_symbol] => EUR
    [currency_symbol] => €
    [mon_decimal_point] => ,
    [mon_thousands_sep] =>
    [positive_sign] =>
    [negative_sign] => -
    [int_frac_digits] => 2
    [frac_digits] => 2
    [p_cs_precedes] => 1
    [p_sep_by_space] => 1
    [n_cs_precedes] => 1
    [n_sep_by_space] => 1
    [p_sign_posn] => 1
    [n_sign_posn] => 2
    [grouping] => Array
        (
        )

    [mon_grouping] => Array
        (
            [0] => 3
            [1] => 3
        )

)

Siehe auch

  • setlocale() - Legt regionale (locale) Einstellungen fest

levenshtein
ltrim
String-Funktionen


Entfernt Leerraum (oder andere Zeichen) vom Anfang eines Strings

localeconv
md5_file
String-Funktionen
PHP Manual

ltrim

(PHP 4, PHP 5, PHP 7)

ltrim — Entfernt Leerraum (oder andere Zeichen) vom Anfang eines Strings

Beschreibung

string ltrim ( string $str [, string $character_mask ] )

Entfernt Leerraum (oder andere Zeichen) vom Anfang eines Strings.

Parameter-Liste

str

Die Eingabezeichenkette.

character_mask

Sie können mittels des character_mask-Parameters eigene Zeichen angeben, die Sie entfernen lassen möchten. Führen Sie einfach alle zu löschenden Zeichen auf. Mittels .. können Sie einen Bereich von Zeichen benennen.

Rückgabewerte

Diese Funktion gibt den String str zurück, von dessen Anfang alle Whitespaces entfernt wurden. Ohne den zweiten Parameter entfernt ltrim() diese Zeichen:

  • " " (ASCII 32 (0x20)), ein einfaches Leerzeichen.
  • "\t" (ASCII 9 (0x09)), ein Tabulator.
  • "\n" (ASCII 10 (0x0A)), ein Zeilenvorschub (line feed).
  • "\r" (ASCII 13 (0x0D)), ein Wagenrücklauf-Zeichen (carriage return).
  • "\0" (ASCII 0 (0x00)), das NUL-Byte.
  • "\x0B" (ASCII 11 (0x0B)), ein vertikaler Tabulator.

Beispiele

Beispiel #1 Beispiel zur Verwendung von ltrim()

<?php

$text = "\t\tThese are a few words :) ...  ";
$binary = "\x09Example string\x0A";
$hello  = "Hello World";
var_dump($text, $binary, $hello);

print "\n";

$trimmed = ltrim($text);
var_dump($trimmed);

$trimmed = ltrim($text, " \t.");
var_dump($trimmed);

$trimmed = ltrim($hello, "Hdle");
var_dump($trimmed);

// entfernt die ASCII Steuerzeichen vom Beginn von $binary
// (von 0 bis einschließlich 31)
$clean = ltrim($binary, "\x00..\x1F");
var_dump($clean);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(32) "        These are a few words :) ...  "
string(16) "    Example string
"
string(11) "Hello World"

string(30) "These are a few words :) ...  "
string(30) "These are a few words :) ...  "
string(7) "o World"
string(15) "Example string
"

Siehe auch

  • trim() - Entfernt Whitespaces (oder andere Zeichen) am Anfang und Ende eines Strings
  • rtrim() - Entfernt Leerraum (oder andere Zeichen) vom Ende eines Strings

localeconv
md5_file
String-Funktionen


Berechnet den MD5-Code einer Datei

ltrim
md5
String-Funktionen
PHP Manual

md5_file

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

md5_file — Berechnet den MD5-Code einer Datei

Beschreibung

string md5_file ( string $filename [, bool $raw_output = false ] )

Berechnet den MD5-Code einer Datei, deren Dateiname mit filename übergeben wurde, gemäß des » RSA Data Security, Inc. MD5 Message-Digest Algorithm, und liefert das Ergebnis zurück. Der Code ist eine 32 Zeichen lange Hexadezimalnummer.

Parameter-Liste

filename

Der Dateiname

raw_output

Sofern TRUE, wird der MD5-Wert im Raw Binary Format mit einer Länge von 16 Zeichen zurückgegeben.

Rückgabewerte

Gibt bei Erfolg einen String zurück, sonst FALSE.

Changelog

Version | Beschreibung
5.1.0 | Funktionsänderung, um die Streams API nutzen zu können. Das bedeutet, Sie können die Funktion mit Wrappern wie md5_file('http://example.com/..') verwenden.

Beispiele

Beispiel #1 Anwendungsbeispiel für md5_file()

<?php
     $file = 'php-5.3.0alpha2-Win32-VC9-x64.zip';

     echo 'MD5-Dateihash von ' . $file . ': ' . md5_file($file);
     ?>

Siehe auch

  • md5() - Errechnet den MD5-Hash eines Strings
  • sha1_file() - Berechnet den SHA1-Hash einer Datei
  • crc32() - Berechnet den polynomischen CRC32-Wert eines Strings

ltrim
md5
String-Funktionen


Errechnet den MD5-Hash eines Strings

md5_file
metaphone
String-Funktionen
PHP Manual

md5

(PHP 4, PHP 5, PHP 7)

md5 — Errechnet den MD5-Hash eines Strings

Beschreibung

string md5 ( string $str [, bool $raw_output = false ] )

Berechnet den MD5-Hash von str unter Verwendung des » RSA Data Security, Inc. MD5 Message-Digest Algorithm und gibt das Ergebnis zurück.

Parameter-Liste

str

Die Zeichenkette.

raw_output

Wurde der optionale Parameter raw_output mit TRUE angegeben, wird der MD5-Wert im Raw Binary Format mit einer Länge von 16 Zeichen zurückgegeben.

Rückgabewerte

Gibt den Hash als 32 Zeichen lange Hexadezimalzahl zurück.

Beispiele

Beispiel #1 Ein md5()-Beispiel

<?php
$str = 'apple';

if (md5($str) === '1f3870be274f6c49b3e31a0c6728957f') {
    echo "Haetten Sie lieber einen gruenen oder einen roten Apfel?";
}
?>

Anmerkungen

Hinweis: Sicheres Passwort Hashing

Es wird nicht empfohlen diese Funktion zu verwenden, um Passwörter zu sichern, da dieser Algorithmus sehr schnell ist. Siehe hier für weitere Informationen.

Siehe auch

  • md5_file() - Berechnet den MD5-Code einer Datei
  • sha1_file() - Berechnet den SHA1-Hash einer Datei
  • crc32() - Berechnet den polynomischen CRC32-Wert eines Strings
  • sha1() - Berechnet den SHA1-Hash eines Strings
  • hash() - Berechnet den Hash einer Nachricht
  • crypt() - Einweg-String-Hashing
  • password_hash() - Erstellt einen Passwort-Hash

md5_file
metaphone
String-Funktionen


Berechnet den Metaphone-Schlüssel eines Strings

md5
money_format
String-Funktionen
PHP Manual

metaphone

(PHP 4, PHP 5, PHP 7)

metaphone — Berechnet den Metaphone-Schlüssel eines Strings

Beschreibung

string metaphone ( string $str [, int $phonemes = 0 ] )

Errechnet den Metaphone-Schlüssel von str.

Genau wie soundex() berechnet metaphone den gleichen Schlüssel für ähnlich klingende Wörter. Die Metaphone-Funktion arbeitet genauer als soundex(), da sie die Grundregeln der englischen Aussprache kennt. Die durch metaphone erzeugten Schlüssel sind von variabler Länge.

Der Metaphone-Algorithmus wurde von Lawrence Philips <lphilips at verity dot com> entwickelt und in ["Practical Algorithms for Programmers", Binstock & Rex, Addison Wesley, 1995] beschrieben.

Parameter-Liste

str

Die Eingabezeichenkette.

phonemes

Dieser Parameter begrenzt den zurückgegebenen Metaphone Schlüssel auf phonemes Zeichen Länge. Der Standardwert von 0 bedeutet keine Begrenzung.

Rückgabewerte

Gibt den Metaphon-Schlüssel als Zeichenkette zurück, Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 metaphone() einfaches Beispiel

<?php
var_dump(metaphone('programming'));
var_dump(metaphone('programmer'));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(7) "PRKRMNK"
string(6) "PRKRMR"

Beispiel #2 Nutzung des phonemes Parameters

<?php
var_dump(metaphone('programming', 5));
var_dump(metaphone('programmer', 5));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(5) "PRKRM"
string(5) "PRKRM"

md5
money_format
String-Funktionen


Formatiert eine Zahl als Währungs-Zeichenkette

metaphone
nl_langinfo
String-Funktionen
PHP Manual

money_format

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

money_format — Formatiert eine Zahl als Währungs-Zeichenkette

Beschreibung

string money_format ( string $format , float $number )

money_format() gibt eine formatierte Version von number zurück. Diese Funktion nutzt die C Funktion strfmon(), mit dem Unterschied das diese Implementierung jeweils nur eine Nummer konvertiert.

Parameter-Liste

format

Die Formatangabe besteht aus folgenden Schritten:

  • ein % Zeichen

  • optionaler Flag

  • optionale Feldbreite

  • optionale Links-Genauigkeit

  • optionale Rechts-Genauigkeit

  • ein erforderliches Umwandlungszeichen

Flags

Folgende optionale Flags können benutzt werden:

=f

Das Zeichen = , gefolgt von einem (single byte) Zeichen f wird als numerisches Füllzeichen benutzt. Das Standard-Zeichen ist ein Leerzeichen.

^

Deaktiviert die Verwendung von Gruppierungszeichen (wie in der aktuellen locale-Einstellung definiert).

+ or (

Gibt den Formatierungsstil für positive und negative Zahlen an. Wird + benutzt, wird das locale Äquivalent für + und - benutzt. Wird ( benutzt, werden negative Beträge von Klammern umschlossen. Ist kein Formatierungsstil angegeben, wird der Standardwert + benutzt.

!

Unterdrückt das Währungssymbol aus dem Ausgabestring.

-

Falls vorhanden, werden alle Felder linksbündig angeordnet, im Gegensatz zum Standardverhalten, welches die Felder rechtsbündig anordnet.

Field width

w

A decimal digit string specifying a minimum field width. Field will be right-justified unless the flag - is used. Default value is 0 (zero).

Left precision

#n

The maximum number of digits (n) expected to the left of the decimal character (e.g. the decimal point). It is used usually to keep formatted output aligned in the same columns, using the fill character if the number of digits is less than n. If the number of actual digits is bigger than n, then this specification is ignored.

If grouping has not been suppressed using the ^ flag, grouping separators will be inserted before the fill characters (if any) are added. Grouping separators will not be applied to fill characters, even if the fill character is a digit.

To ensure alignment, any characters appearing before or after the number in the formatted output such as currency or sign symbols are padded as necessary with space characters to make their positive and negative formats an equal length.

Right precision

.p

A period followed by the number of digits (p) after the decimal character. If the value of p is 0 (zero), the decimal character and the digits to its right will be omitted. If no right precision is included, the default will dictated by the current local in use. The amount being formatted is rounded to the specified number of digits prior to formatting.

Conversion characters

i

The number is formatted according to the locale's international currency format (e.g. for the USA locale: USD 1,234.56).

n

The number is formatted according to the locale's national currency format (e.g. for the de_DE locale: EU1.234,56).

%

Returns the % character.

number

The number to be formatted.

Rückgabewerte

Returns the formatted string. Characters before and after the formatting string will be returned unchanged. Non-numeric number causes returning NULL and emitting E_WARNING.

Anmerkungen

Hinweis:

The function money_format() is only defined if the system has strfmon capabilities. For example, Windows does not, so money_format() is undefined in Windows.

Hinweis:

The LC_MONETARY category of the locale settings, affects the behavior of this function. Use setlocale() to set to the appropriate default locale before using this function.

Beispiele

Beispiel #1 money_format() Example

We will use different locales and format specifications to illustrate the use of this function.

<?php

$number = 1234.56;

// let's print the international format for the en_US locale
setlocale(LC_MONETARY, 'en_US');
echo money_format('%i', $number) . "\n";
// USD 1,234.56

// Italian national format with 2 decimals`
setlocale(LC_MONETARY, 'it_IT');
echo money_format('%.2n', $number) . "\n";
// Eu 1.234,56

// Using a negative number
$number = -1234.5672;

// US national format, using () for negative numbers
// and 10 digits for left precision
setlocale(LC_MONETARY, 'en_US');
echo money_format('%(#10n', $number) . "\n";
// ($        1,234.57)

// Similar format as above, adding the use of 2 digits of right
// precision and '*' as a fill character
echo money_format('%=*(#10.2n', $number) . "\n";
// ($********1,234.57)

// Let's justify to the left, with 14 positions of width, 8 digits of
// left precision, 2 of right precision, withouth grouping character
// and using the international format for the de_DE locale.
setlocale(LC_MONETARY, 'de_DE');
echo money_format('%=*^-14#8.2i', 1234.56) . "\n";
// Eu 1234,56****

// Let's add some blurb before and after the conversion specification
setlocale(LC_MONETARY, 'en_GB');
$fmt = 'The final value is %i (after a 10%% discount)';
echo money_format($fmt, 1234.56) . "\n";
// The final value is  GBP 1,234.56 (after a 10% discount)

?>

Siehe auch

  • setlocale() - Legt regionale (locale) Einstellungen fest
  • sscanf() - Überträgt einen String in ein angegebenes Format
  • sprintf() - Gibt einen formatierten String zurück
  • printf() - Gibt einen formatierten String aus
  • number_format() - Formatiert eine Zahl mit Tausender-Trennzeichen

metaphone
nl_langinfo
String-Funktionen


Query-Language und Locale Information

money_format
nl2br
String-Funktionen
PHP Manual

nl_langinfo

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

nl_langinfo — Query-Language und Locale Information

Beschreibung

string nl_langinfo ( int $item )

nl_langinfo() wird verwendet, um auf ein bestimmtes Element der locale-Angaben zuzugreifen. Im Gegensatz zu localeconv(), die alle Elemente zurück gibt, erlaubt Ihnen nl_langinfo(), ein bestimmtes Element auszuwählen.

Parameter-Liste

item

item kann der Integerwert oder der Konstantenname des Elements sein. Folgend eine Liste der verwendbaren Konstantennamen für den Parameter item sowie eine kurze Beschreibung. Einige der Konstanten können für bestimmte Locales nicht definiert sein oder keinen Wert besitzen.

nl_langinfo Konstanten
Konstante | Beschreibung
LC_TIME Konstanten
ABDAY_(1-7) | Abgekürzter des n-ten Tages einer Woche.
DAY_(1-7) | Name des n-ten Tages einer Woche (DAY_1 = Sonntag).
ABMON_(1-12) | Abgekürzter Name des n-ten Monats eines Jahres.
MON_(1-12) | Name des n-ten Monats eines Jahres.
AM_STR | String für Ante meridian. (vor dem Mittag)
PM_STR | String für Post meridian. (nach dem Mittag)
D_T_FMT | String, der als Formatierung für strftime() verwendet werden kann, um Zeit und Datum darzustellen.
D_FMT | String, der als Formatierung für strftime() verwendet werden kann, um das Datum darzustellen.
T_FMT | String, der als Formatierung für strftime() verwendet werden kann, um die Zeit darzustellen.
T_FMT_AMPM | String, der als Formatierung für strftime() verwendet werden kann, um die Zeit im 12-Stunden-Format mit AM/PM-Angabe darzustellen.
ERA | Alternative Zeitrechnung.
ERA_YEAR | Jahresangabe für eine alternative Zeitrechnung.
ERA_D_T_FMT | Datums- und Zeitangabe für eine alternative Zeitrechnung (der String kann in strftime() verwendet werden).
ERA_D_FMT | Datumsangabe für eine alternative Zeitrechnung (der String kann in strftime() verwendet werden).
ERA_T_FMT | Zeitangabe für eine alternative Zeitrechnung (der String kann in strftime() verwendet werden).
LC_MONETARY Konstanten
INT_CURR_SYMBOL | Internationales Währungssymbol.
CURRENCY_SYMBOL | Lokales Währungssymbol.
CRNCYSTR | Gleicher Wert wie CURRENCY_SYMBOL.
MON_DECIMAL_POINT | Dezimal-Trennzeichen.
MON_THOUSANDS_SEP | Tausender-Trennzeichen (Gruppierung von drei Ziffern).
MON_GROUPING | Wie "grouping" Element.
POSITIVE_SIGN | Vorzeichen für positive Werte.
NEGATIVE_SIGN | Vorzeichen für negative Werte.
INT_FRAC_DIGITS | Internationale Trennzeichen.
FRAC_DIGITS | Lokale Trennzeichen.
P_CS_PRECEDES | Gibt 1 zurück, wenn CURRENCY_SYMBOL einem positiven Wert vorausgeht.
P_SEP_BY_SPACE | Gibt 1 zurück, wenn ein Leerzeichen CURRENCY_SYMBOL von einem positiven Wert trennt.
N_CS_PRECEDES | Gibt 1 zurück, wenn CURRENCY_SYMBOL einem negativen Wert vorausgeht.
N_SEP_BY_SPACE | Gibt 1 zurück, wenn ein Leerzeichen CURRENCY_SYMBOL von einem negativen Wert trennt.
P_SIGN_POSN
  • Gibt 0 zurück, wenn um Geldmenge und CURRENCY_SYMBOL Klammern gesetzt sind.
  • Gibt 1 zurück, wenn das Vorzeichen der Geldmenge und dem CURRENCY_SYMBOL vorausgeht.
  • Gibt 2 zurück, wenn das Vorzeichen der Geldmenge und CURRENCY_SYMBOL nachfolgt.
  • Gibt 3 zurück, wenn das Vorzeichen direkt vor dem CURRENCY_SYMBOL steht.
  • Gibt 4 zurück, wenn das Vorzeichen direkt hinter dem CURRENCY_SYMBOL steht.
N_SIGN_POSN
LC_NUMERIC Konstanten
DECIMAL_POINT | Dezimal-Trennzeichen.
RADIXCHAR | Der gleiche Wert wie DECIMAL_POINT.
THOUSANDS_SEP | Tausender-Trennzeichen (Gruppen von drei Ziffern).
THOUSEP | Der gleiche Wert wie THOUSANDS_SEP.
GROUPING
LC_MESSAGES Konstanten
YESEXPR | Regex-String für eine "yes"-Eingabe.
NOEXPR | Regex-String für eine "no"-Eingabe.
YESSTR | Gibt den String für "yes" aus.
NOSTR | Gibt den String für "no" aus.
LC_CTYPE Konstanten
CODESET | Gibt einen String mit der Bezeichnung des Character-Encoding zurück.

Rückgabewerte

Gibt das Element als Zeichenkette zurück. Enthält item keinen gültigen Wert, wird FALSE zurück gegeben.

Anmerkungen

Hinweis: Diese Funktion ist auf Windows-Plattformen nicht implementiert.

Siehe auch

  • setlocale() - Legt regionale (locale) Einstellungen fest
  • localeconv() - Ermittelt die Formatierungsinformationen für Zahlen

money_format
nl2br
String-Funktionen


Fügt vor allen Zeilenumbrüchen eines Strings HTML-Zeilenumbrüche ein

nl_langinfo
number_format
String-Funktionen
PHP Manual

nl2br

(PHP 4, PHP 5, PHP 7)

nl2br — Fügt vor allen Zeilenumbrüchen eines Strings HTML-Zeilenumbrüche ein

Beschreibung

string nl2br ( string $string [, bool $is_xhtml = true ] )

Gibt den string mit einem vor allen Neue-Zeile-Zeichen eingefügten '<br />' oder '<br>' zurück (\r\n, \n\r, \n und \r).

Parameter-Liste

string

Die Eingabezeichenkette.

is_xhtml

Bestimmt, ob XHTML-kompatible Zeilenumbrüche verwendet werden sollen oder nicht.

Rückgabewerte

Gibt die veränderte Zeichenkette zurück.

Beispiele

Beispiel #1 Verwenden von nl2br()

<?php
echo nl2br("foo ist nicht\n bar");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

foo ist nicht<br />
 bar

Beispiel #2 Erstellen von validem HTML-Markup unter Verwendung des is_xhtml-Parameters

<?php
echo nl2br("Willkommen\r\nDies ist mein HTML-Dokument", false);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Willkommen<br>
Dies ist mein HTML-Dokument

Beispiel #3 Verschiedene Zeilentrenner

<?php
$string = "This\r\nis\n\ra\nstring\r";
echo nl2br($string);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

This<br />
is<br />
a<br />
string<br />

Changelog

Version | Beschreibung
5.3.0 | Der optionale is_xhtml-Parameter wurde hinzugefügt. Vor dieser Version wurde immer '<br />' eingefügt.
4.0.5 | nl2br() ist nun XHTML-konform. Alle älteren Versionen geben string mit vor allen Zeilenumbrüchen eingefügtem '<br>' statt '<br />' zurück.

Siehe auch

  • htmlspecialchars() - Wandelt Sonderzeichen in HTML-Codes um
  • htmlentities() - Wandelt alle geeigneten Zeichen in entsprechende HTML-Codes um
  • wordwrap() - Bricht einen String nach einer bestimmten Anzahl Zeichen um
  • str_replace() - Ersetzt alle Vorkommen des Suchstrings durch einen anderen String

nl_langinfo
number_format
String-Funktionen


Formatiert eine Zahl mit Tausender-Trennzeichen

nl2br
ord
String-Funktionen
PHP Manual

number_format

(PHP 4, PHP 5, PHP 7)

number_format — Formatiert eine Zahl mit Tausender-Trennzeichen

Beschreibung

string number_format ( float $number [, int $decimals = 0 ] )
string number_format ( float $number , int $decimals = 0 , string $dec_point = "." , string $thousands_sep = "," )

Die Funktion akzeptiert entweder einen, zwei oder vier Parameter (nicht jedoch drei):

Wird nur ein Parameter übergeben, wird number ohne Nachkommastellen, aber mit einem Komma (",") zur Gruppierung der Tausenderstellen formatiert.

Wurden zwei Parameter übergeben, wird number als Zahl mit decimals Nachkommastellen mit einem Punkt (".") als Trennzeichen sowie einem Komma (",") zur Gruppierung der Tausenderstellen formatiert.

Wenn alle vier Parameter übergeben wurden, wird number als Zahl formatiert, die decimals Nachkommastellen hat, die mittels dec_point anstelle des Punktes (".") von der Zahl getrennt werden, und deren Tausenderstellen mittels thousands_sep anstelle des Kommas (",") gruppiert werden.

Parameter-Liste

number

Die zu formatierende Zahl.

decimals

Bestimmt die Anzahl an Nachkommastellen.

dec_point

Bestimmt das Trennzeichen für die Nachkommastellen.

thousands_sep

Bestimmt das Tausendertrennzeichen.

Rückgabewerte

Eine formatierte Version von number.

Changelog

Version | Beschreibung
5.4.0 | In dec_point und thousands_sep werden nun auch mehrere Bytes unterstützt. In vorherigen Versionen wurde jeweils nur das erste Byte genutzt.

Beispiele

Beispiel #1 number_format()-Beispiel

Beispielsweise notiert man in Frankreich normalerweise zwei Dezimalstellen mit einem Komma (',') als Trennzeichen sowie ein Leerzeichen (' ') zur Gruppierung der Tausender. Das kann durch folgende Zeile erreicht werden:

<?php

$number = 1234.56;

// Englische Notation (Standard)
$english_format_number = number_format($number);
// 1,235

// Französische Notation
$nombre_format_francais = number_format($number, 2, ',', ' ');
// 1 234,56

$number = 1234.5678;

// Englische Notation ohne Tausendergruppierung
$english_format_number = number_format($number, 2, '.', '');
// 1234.57

?>

Siehe auch

  • money_format() - Formatiert eine Zahl als Währungs-Zeichenkette
  • sprintf() - Gibt einen formatierten String zurück
  • printf() - Gibt einen formatierten String aus
  • sscanf() - Überträgt einen String in ein angegebenes Format

nl2br
ord
String-Funktionen


Gibt den ASCII-Wert eines Zeichens zurück

number_format
parse_str
String-Funktionen
PHP Manual

ord

(PHP 4, PHP 5, PHP 7)

ord — Gibt den ASCII-Wert eines Zeichens zurück

Beschreibung

int ord ( string $string )

Gibt den ASCII-Wert des ersten Zeichens von string zurück.

Die Funktion ist das Gegenstück zu chr().

Parameter-Liste

string

Ein Zeichen.

Rückgabewerte

Gibt den ASCII-Wert als Integer zurück.

Beispiele

Beispiel #1 ord()-Beispiel

<?php
$str = "\n";
if (ord($str) == 10) {
    echo "Das erste Zeichen von \$str ist ein Zeilenvorschub.\n";
}
?>

Siehe auch

  • chr() - Gibt ein einzelnes Zeichen zurück
  • Eine » ASCII-Tabelle

number_format
parse_str
String-Funktionen


Überträgt einen String in Variable

ord
print
String-Funktionen
PHP Manual

parse_str

(PHP 4, PHP 5, PHP 7)

parse_str — Überträgt einen String in Variable

Beschreibung

void parse_str ( string $str [, array &$arr ] )

Verarbeitet str, als ob er der Query-String einer URL-Übergabe via GET wäre, und erstellt Variablen im aktuellen Geltungsbereich.

Hinweis:

Um auf den aktuellen QUERY_STRING zuzugreifen, verwenden Sie am besten die Variable $_SERVER['QUERY_STRING']. Weitere Informationen finden Sie auch im Abschnitt Variablen aus externen Quellen.

Hinweis:

Die magic_quotes_gpc-Einstellungen beeinflussen die Ausgabe der Funktion, da parse_str() dieselben Mechanismen verwendet, die PHP zum Füllen von $_GET, $_POST und anderen Variablen nutzt.

Parameter-Liste

str

Die Eingabezeichenkette.

arr

Ist der zweite Parameter arr angegeben, werden die Variablen in diesem Array als dessen Elemente gespeichert.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Der Gebrauch von parse_str()

<?php
$str = "first=value&arr[]=foo+bar&arr[]=baz";
parse_str($str);
echo $first;  // value
echo $arr[0]; // foo bar
echo $arr[1]; // baz

parse_str($str, $output);
echo $output['first'];  // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz

?>

Siehe auch

  • parse_url() - Analysiert eine URL und gibt ihre Bestandteile zurück
  • pathinfo() - Liefert Informationen über einen Dateipfad
  • http_build_query() - Erstellen eines URL-kodierten Query-Strings
  • get_magic_quotes_gpc() - Zeigt die aktuelle Konfiguration von magic quotes gpc
  • urldecode() - Dekodiert eine URL-kodierte Zeichenkette

ord
print
String-Funktionen


Ausgabe eines Strings

parse_str
printf
String-Funktionen
PHP Manual

print

(PHP 4, PHP 5, PHP 7)

print — Ausgabe eines Strings

Beschreibung

int print ( string $arg )

Gibt arg aus.

print ist keine wirkliche Funktion (sondern ein Sprachkonstrukt), weshalb Sie beim Aufruf nicht unbedingt Klammern um die Argumentliste setzen müssen.

Parameter-Liste

arg

Die Eingabedaten.

Rückgabewerte

Gibt immer 1 zurück.

Beispiele

Beispiel #1 print-Beispiele

<?php
print("Hallo Welt");

print "print() funktioniert auch ohne Klammern.";

print "Dies umfasst
mehrere Zeilen. Die Zeilenumbrüche werden
ebenfalls ausgegeben";

print "Dies umfasst\nmehrere Zeilen. Die Zeilenumbrüche werden\nebenfalls ausgegeben.";

print "Escape-Zeichen werden \"so\" geschrieben.";

// Sie können in einer print-Anweisung auch Variablen benutzen
$foo = "foobar";
$bar = "barbaz";

print "foo ist $foo"; // foo ist foobar

// Sie können auch Arrays verwenden
$bar = array("value" => "foo");

print "Das ist {$bar['value']} !"; // Das ist foo !

// Einfache Anführungsstriche geben den Variablennamen aus, nicht den Inhalt
print 'foo ist $foo'; // foo ist $foo

// Benutzen Sie keine anderen Zeichen, können Sie auch nur
// Variablen ausgeben
print $foo;          // foobar

print <<<END
Dies verwendet die "here document" Syntax zur Ausgabe von
mehreren Zeilen mit $Variablen-Interpolation. Beachten Sie,
dass das "here document" Endezeichen in einer Zeile nur mit
einem Semikolon ohne Whitespaces stehen muss!
END;
?>

Anmerkungen

Hinweis: Da dies ein Sprachkonstrukt und keine Funktion ist, können Sie dieses nicht mit Variablenfunktionen verwenden.

Siehe auch

  • echo - Gibt einen oder mehrere Strings aus
  • printf() - Gibt einen formatierten String aus
  • flush() - Leert (sendet) den Ausgabepuffer
  • Heredoc-Syntax

parse_str
printf
String-Funktionen


Gibt einen formatierten String aus

print
quoted_printable_decode
String-Funktionen
PHP Manual

printf

(PHP 4, PHP 5, PHP 7)

printf — Gibt einen formatierten String aus

Beschreibung

int printf ( string $format [, mixed $args [, mixed $... ]] )

Erzeugt eine Ausgabe abhängig von format.

Parameter-Liste

format

Format wird in der Dokumentation zu sprintf() näher beschrieben.

args

...

Rückgabewerte

Gibt die Länge des ausgegebenen Strings zurück.

Siehe auch

  • print - Ausgabe eines Strings
  • sprintf() - Gibt einen formatierten String zurück
  • vprintf() - Gibt einen formatierten String aus
  • sscanf() - Überträgt einen String in ein angegebenes Format
  • fscanf() - Interpretiert den Input einer Datei entsprechend einem angegebenen Format
  • flush() - Leert (sendet) den Ausgabepuffer

print
quoted_printable_decode
String-Funktionen


Konvertiert einen "quoted-printable"-String in einen 8-Bit-String

printf
quoted_printable_encode
String-Funktionen
PHP Manual

quoted_printable_decode

(PHP 4, PHP 5, PHP 7)

quoted_printable_decode — Konvertiert einen "quoted-printable"-String in einen 8-Bit-String

Beschreibung

string quoted_printable_decode ( string $str )

Diese Funktion gibt einen 8-Bit-String zurück, der der Konvertierung aus einem "quoted-printable"-String entspricht (gemäß » RFC2045, Kapitel 6.7, aber nicht » RFC2821, Kapitel 4.5.2, da zusätzliche Punkte am Zeilenanfang nicht herausgefiltert werden).

Diese Funktion ist ähnlich wie imap_qprint() bis auf die Tatsache, dass sie kein IMAP-Modul erfordert.

Parameter-Liste

str

Die Eingabezeichenkette.

Rückgabewerte

Gibt den 8-Bit-Binärstring zurück.

Siehe auch

  • quoted_printable_encode() - Wandelt einen 8Bit-String in sein 'Quoted Printable' Gegenstück

printf
quoted_printable_encode
String-Funktionen


Wandelt einen 8Bit-String in sein 'Quoted Printable' Gegenstück

quoted_printable_decode
quotemeta
String-Funktionen
PHP Manual

quoted_printable_encode

(PHP 5 >= 5.3.0, PHP 7)

quoted_printable_encode — Wandelt einen 8Bit-String in sein 'Quoted Printable' Gegenstück

Beschreibung

string quoted_printable_encode ( string $str )

Gibt einen 'Quoted Printable' String zurück wie in » RFC2045, section 6.7 definiert.

Die Funktion ist vergleichbar mit imap_8bit(), funktioniert aber auch, ohne dass die IMAP Erweiterung geladen ist.

Parameter-Liste

str

Der Eingabestring.

Rückgabewerte

Gibt den codierten String zurück.

Siehe auch

  • quoted_printable_decode() - Konvertiert einen "quoted-printable"-String in einen 8-Bit-String
  • iconv_mime_encode() - Composes a MIME header field

quoted_printable_decode
quotemeta
String-Funktionen


Quoten von Meta-Zeichen

quoted_printable_encode
rtrim
String-Funktionen
PHP Manual

quotemeta

(PHP 4, PHP 5, PHP 7)

quotemeta — Quoten von Meta-Zeichen

Beschreibung

string quotemeta ( string $str )

Der Inhalt von str wird mit einem Rückstrich ("Backslash", \) vor jedem Vorkommen von

. \ + * ? [ ^ ] ( $ )
versehen ("quoten") und zurückgegeben.

Parameter-Liste

str

Die Eingabezeichenkette.

Rückgabewerte

Gibt die Zeichenkette mit gequoteten Metazeichen zurück, oder FALSE falls eine leere Zeichenkette als str übergeben wurde.

Anmerkungen

Hinweis: Diese Funktion ist binary safe.

Siehe auch

  • addslashes() - Stellt bestimmten Zeichen eines Strings ein "\" voran
  • addcslashes() - Stellt bestimmten Zeichen eines Strings ein "\" voran (wie in C)
  • htmlentities() - Wandelt alle geeigneten Zeichen in entsprechende HTML-Codes um
  • htmlspecialchars() - Wandelt Sonderzeichen in HTML-Codes um
  • nl2br() - Fügt vor allen Zeilenumbrüchen eines Strings HTML-Zeilenumbrüche ein
  • stripslashes() - Entfernt Maskierungszeichen aus einem String
  • stripcslashes() - Entfernt Quotes aus mit addcslashes behandelten Strings
  • ereg() - Sucht Übereinstimmungen mit einem regulären Ausdruck
  • preg_quote() - Maskiert Zeichen regulärer Ausdrücke

quoted_printable_encode
rtrim
String-Funktionen


Entfernt Leerraum (oder andere Zeichen) vom Ende eines Strings

quotemeta
setlocale
String-Funktionen
PHP Manual

rtrim

(PHP 4, PHP 5, PHP 7)

rtrim — Entfernt Leerraum (oder andere Zeichen) vom Ende eines Strings

Beschreibung

string rtrim ( string $str [, string $character_mask ] )

Diese Funktion gibt den String str zurück, von dessen Ende alle Whitespaces entfernt wurden.

Ohne den zweiten Parameter entfernt rtrim() diese Zeichen:

  • " " (ASCII 32 (0x20)), ein einfaches Leerzeichen.
  • "\t" (ASCII 9 (0x09)), ein Tabulator.
  • "\n" (ASCII 10 (0x0A)), ein Zeilenvorschub (line feed).
  • "\r" (ASCII 13 (0x0D)), ein Wagenrücklauf-Zeichen (carriage return).
  • "\0" (ASCII 0 (0x00)), das NULL-Byte.
  • "\x0B" (ASCII 11 (0x0B)), ein vertikaler Tabulator.

Parameter-Liste

str

Die Eingabezeichenkette.

character_mask

Sie können mittels des character_mask-Parameters eigene Zeichen angeben, die Sie entfernen lassen möchten. Führen Sie einfach alle zu löschenden Zeichen auf. Mittels .. können Sie einen Bereich von Zeichen benennen.

Rückgabewerte

Gibt die modifizierte Zeichenkette zurück.

Beispiele

Beispiel #1 Beispiel zur Verwendung von rtrim()

<?php

$text = "\t\tThese are a few words :) ...  ";
$binary = "\x09Example string\x0A";
$hello  = "Hello World";
var_dump($text, $binary, $hello);

print "\n";

$trimmed = rtrim($text);
var_dump($trimmed);

$trimmed = rtrim($text, " \t.");
var_dump($trimmed);

$trimmed = rtrim($hello, "Hdle");
var_dump($trimmed);

// entfernt die ASCII Steuerzeichen vom Ende von $binary
// (von 0 bis einschließlich 31)
$clean = rtrim($binary, "\x00..\x1F");
var_dump($clean);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(32) "        These are a few words :) ...  "
string(16) "    Example string
"
string(11) "Hello World"

string(30) "        These are a few words :) ..."
string(26) "        These are a few words :)"
string(9) "Hello Wor"
string(15) "    Example string"

Siehe auch

  • trim() - Entfernt Whitespaces (oder andere Zeichen) am Anfang und Ende eines Strings
  • ltrim() - Entfernt Leerraum (oder andere Zeichen) vom Anfang eines Strings

quotemeta
setlocale
String-Funktionen


Legt regionale (locale) Einstellungen fest

rtrim
sha1_file
String-Funktionen
PHP Manual

setlocale

(PHP 4, PHP 5, PHP 7)

setlocale — Legt regionale (locale) Einstellungen fest

Beschreibung

string setlocale ( int $category , string $locale [, string $... ] )
string setlocale ( int $category , array $locale )

Legt regionale (locale) Einstellungen fest.

Parameter-Liste

category

category ist eine benannte Konstante (oder Zeichenkette), die die Kategorie der von den regionalen Einstellungen (Locales) betroffenen Funktionen angibt:

  • LC_ALL für alle folgenden Werte
  • LC_COLLATE für String-Vergleiche, siehe strcoll()
  • LC_CTYPE für Klassifizierung und Umwandlung von Zeichen, zum Beispiel strtoupper()
  • LC_MONETARY für localeconv()
  • LC_NUMERIC für das Dezimal-Trennzeichen (Siehe auch localeconv())
  • LC_TIME für Zeit- und Datums-Formatierungen mittels strftime()
  • LC_MESSAGES für Systemmeldungen (verfügbar, wenn PHP mit liblintl kompiliert wurde)

locale

Ist locale NULL oder der leere String "", werden die Namen der Locales von den Werten der Umgebungsvariablen gleichen Namens wie die obigen Kategorien oder von "LANG" bestimmt.

Ist locale "0", sind keine regionalen Einstellungen betroffen, und es wird die aktuelle Einstellung zurückgegeben.

Ist locale ein Array oder folgen weitere Parameter, dann wird jedes Arrayelement bzw. jeder Parameter versucht als neuer Locale-Wert zu setzen, bis es gelingt. Dies ist dann sinnvoll, wenn eine Locale-Angabe auf unterschiedlichen Systemen unter verschiedenen Namen bekannt ist oder auch als Fallback für eine eventuell nicht vorhandene Locale-Angabe.

...

(Optionale string oder array Parameter die als Locale-Einstellungen bis zum Erfolg verwendet werden.)

Hinweis:

Unter Windows setzt setlocale(LC_ALL, '') die Locale Namen aus den Regional/Sprache Einstellungen des Systems; (erreichbar über die Systemsteuerung).

Rückgabewerte

Gibt die neue Locale-Einstellung oder FALSE zurück, wenn die Locale-Funktionalität von Ihrer Plattform nicht unterstützt wird, die angegebene Locale nicht existiert oder der Kategorie-Name ungültig ist.

Ein ungültiger Kategorie-Name erzeugt zusätzlich eine Warnmeldung. Kategorien- und Locale-Namen können sie unter » RFC 1766 und » ISO 639 nachlesen. Unterschiedliche Systeme verwenden differierende Namensräume für die Locales.

Hinweis:

Der Rückgabewert von setlocale() ist von dem System abhängig, auf dem PHP läuft. Es wird genau das zurückgegeben, was die Systemfunktion setlocale zurückgibt.

Changelog

Version | Beschreibung
7.0.0 | Die Unterstützung für an den category Parameter übergebene Zeichenketten wurde entfernt. Nur LC_* Konstanten können ab dieser Version verwendet werden.
5.3.0 | Die Funktion wirft nun eine E_DEPRECATED-Notice, wenn ein String statt einer der LC_*-Konstanten an den Parameter category übergeben wird.

Beispiele

Beispiel #1 setlocale()-Beispiele

<?php
/* locale auf Holländisch setzen */
setlocale (LC_ALL, 'nl_NL');

/* Ausgabe: vrijdag 22 december 1978 */
echo strftime ("%A %e %B %Y", mktime (0, 0, 0, 12, 22, 1978));

/* versuche verschiedene mögliche locale Namen für Deutsch ab PHP 4.3.0 */
$loc_de = setlocale (LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
echo "Preferred locale for german on this system is '$loc_de'";
?>

Beispiel #2 setlocale()-Beispiele for Windows

<?php
/* locale auf Holländisch setzen */
setlocale(LC_ALL, 'nld_nld');

/* Ausgabe: vrijdag 22 december 1978 */
echo strftime("%A %d %B %Y", mktime(0, 0, 0, 12, 22, 1978));

/* versuche verschiedene mögliche locale Namen für Deutsch ab PHP 4.3.0 */
$loc_de = setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'deu_deu');
echo "Preferred locale for german on this system is '$loc_de'";
?>

Anmerkungen

Warnung

Die Locale-Informationen wirken auf den Prozess, nicht auf den Thread. Sofern Sie PHP mit einer Multithreaded Server API wie IIS, HHVM oder Apache unter Windows einsetzen, rechnen Sie mit unerwarteten Änderungen der Locale-Einstellungen zur Laufzeit des Skripts, auch wenn das Skript selbst keinen setlocale()-Aufruf durchführt. Dies passiert, da andere Skripte in verschiedenen Threads des selben Prozesses zur selben Zeit prozessweit die Locale-Einstellungen mittels setlocale() ändern.

Tipp

Windowsuser finden weitergehende Informationen über locale-Strings auf Microsofts MSDN-Webseite. Unterstützte Language-Strings können Sie in der » Language Strings Dokumentation, Country/Region-Strings in der » Country/Region Strings Dokumentation nachschlagen.

rtrim
sha1_file
String-Funktionen


Berechnet den SHA1-Hash einer Datei

setlocale
sha1
String-Funktionen
PHP Manual

sha1_file

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

sha1_file — Berechnet den SHA1-Hash einer Datei

Beschreibung

string sha1_file ( string $filename [, bool $raw_output = false ] )

Berechnet den SHA1-Hash der Datei spezifiert durch den filename unter Verwendung des » US Secure Hash Algorithmus 1 und gibt den Hashwert zurück. Der Hash ist ein 40 Zeichen langer Hexadezimalwert.

Parameter-Liste

filename

Der Dateiname der Datei deren Hash-Wert berechnet wird.

raw_output

Falls TRUE, wird der SHA1-Extrakt im Raw-Binary-Format mit einer Länge von 20 Zeichen zurückgegeben.

Rückgabewerte

Gibt bei Erfolg einen String zurück, ansonsten FALSE.

Beispiele

Beispiel #1 sha1_file()-Beispiel

<?php
foreach(glob('/home/kalle/meinprojekt/*.php') as $ent)
{
    if(is_dir($ent))
    {
        continue;
    }

    echo $ent . ' (SHA1: ' . sha1_file($ent) . ')', PHP_EOL;
}
?>

Changelog

Version | Beschreibung
5.1.0 | Die Funktion verwendet jetzt die Streams API. Das bedeutet, dass Sie die Funktion mit Wrappern wie sha1_file('http://example.com/..') nutzen können.

Siehe auch

  • sha1() - Berechnet den SHA1-Hash eines Strings
  • md5_file() - Berechnet den MD5-Code einer Datei
  • crc32() - Berechnet den polynomischen CRC32-Wert eines Strings

setlocale
sha1
String-Funktionen


Berechnet den SHA1-Hash eines Strings

sha1_file
similar_text
String-Funktionen
PHP Manual

sha1

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

sha1 — Berechnet den SHA1-Hash eines Strings

Beschreibung

string sha1 ( string $str [, bool $raw_output = false ] )

Berechnet den SHA1 Hash von str unter Verwendung des » US Secure Hash Algorithmus 1.

Parameter-Liste

str

Die Eingabezeichenkette.

raw_output

Ist der optionale Parameter raw_output TRUE, wird der SHA1-Extrakt im Raw-Binary-Format mit einer Länge von 20 Zeichen zurückgegeben. Ansonsten ist der Rückgabewert ein 40 Zeichen langer Hexadezimalwert.

Rückgabewerte

Gibt den SHA1-Hash als Zeichenkette zurück.

Beispiele

Beispiel #1 Ein sha1() Beispiel

<?php
$str = 'Apfel';

if (sha1($str) === 'df589122eac0f6a7bd8795436e692e3675cadc3b') {
    echo "Hätten Sie gern einen grünen oder einen roten Apfel?";
}
?>

Anmerkungen

Hinweis: Sicheres Passwort Hashing

Es wird nicht empfohlen diese Funktion zu verwenden, um Passwörter zu sichern, da dieser Algorithmus sehr schnell ist. Siehe hier für weitere Informationen.

Siehe auch

  • sha1_file() - Berechnet den SHA1-Hash einer Datei
  • crc32() - Berechnet den polynomischen CRC32-Wert eines Strings
  • md5() - Errechnet den MD5-Hash eines Strings
  • hash() - Berechnet den Hash einer Nachricht
  • crypt() - Einweg-String-Hashing
  • password_hash() - Erstellt einen Passwort-Hash

sha1_file
similar_text
String-Funktionen


Berechnet die Ähnlichkeit zweier Zeichenketten

sha1
soundex
String-Funktionen
PHP Manual

similar_text

(PHP 4, PHP 5, PHP 7)

similar_text — Berechnet die Ähnlichkeit zweier Zeichenketten

Beschreibung

int similar_text ( string $first , string $second [, float &$percent ] )

Die Berechnung der Ähnlichkeit zweier Strings erfolgt nach der in Programming Classics: Implementing the World's Best Algorithms by Oliver (ISBN 0-131-00413-1) beschriebenen Methode. Beachten Sie, dass diese Implementierung keinen Stack verwendet wie in Olivers Pseude-Code, dafür aber rekursive Aufrufe, die die Performance erhöhen können (aber nicht müssen). Beachten Sie auch, dass die Komplexität dieses Algorithmus O(N**3) beträgt, wobei N die Länge der längsten Zeichenkette ist.

Parameter-Liste

first

Die erste Zeichenkette.

second

Die zweite Zeichenkette.

percent

Falls Sie als Referenz ein drittes Argument angeben, wird similar_text() Ihnen die Ähnlichkeit als Prozentwert errechnen.

Rückgabewerte

Gibt die Anzahl übereinstimmender Zeichen in beiden Zeichenketten zurück.

Siehe auch

  • levenshtein() - Berechnet die Levenshtein-Distanz zwischen zwei Strings
  • soundex() - Berechnet die Laut-Ähnlichkeit eines Strings

sha1
soundex
String-Funktionen


Berechnet die Laut-Ähnlichkeit eines Strings

similar_text
sprintf
String-Funktionen
PHP Manual

soundex

(PHP 4, PHP 5, PHP 7)

soundex — Berechnet die Laut-Ähnlichkeit eines Strings

Beschreibung

string soundex ( string $str )

Errechnet den Wert der Laut-Ähnlichkeit von str.

Soundex-Werte haben die Eigenschaft, dass ähnlich ausgesprochene Wörter den gleichen Soundex-Wert erzeugen. Dies kann zur Suche in Datenbanken verwendet werden, wenn Sie zwar die Aussprache aber nicht die genaue Schreibweise kennen. Die Funktion soundex gibt einen String aus 4 Zeichen, beginnend mit einem Buchstaben, zurück.

Diese besondere soundex-Funktion ist u.a. von Donald Knuth in "The Art Of Computer Programming, vol. 3: Sorting And Searching", Addison-Wesley-Verlag (1973), Seiten 391 bis 392 beschrieben.

Parameter-Liste

str

Die Eingabezeichenkette.

Rückgabewerte

Gibt den Soundex-Schlüssel als Zeichenkette zurück.

Beispiele

Beispiel #1 Soundex-Beispiele

<?php
soundex("Euler")       == soundex("Ellery");    // E460
soundex("Gauss")       == soundex("Ghosh");     // G200
soundex("Hilbert")     == soundex("Heilbronn"); // H416
soundex("Knuth")       == soundex("Kant");      // K530
soundex("Lloyd")       == soundex("Ladd");      // L300
soundex("Lukasiewicz") == soundex("Lissajous"); // L222
?>

Siehe auch

  • levenshtein() - Berechnet die Levenshtein-Distanz zwischen zwei Strings
  • metaphone() - Berechnet den Metaphone-Schlüssel eines Strings
  • similar_text() - Berechnet die Ähnlichkeit zweier Zeichenketten

similar_text
sprintf
String-Funktionen


Gibt einen formatierten String zurück

soundex
sscanf
String-Funktionen
PHP Manual

sprintf

(PHP 4, PHP 5, PHP 7)

sprintf — Gibt einen formatierten String zurück

Beschreibung

string sprintf ( string $format [, mixed $args [, mixed $... ]] )

Gibt eine anhand des Formatierungs-Strings format gebildete Zeichenkette zurück.

Parameter-Liste

format

Der Formatierungs-String wird aus null oder mehreren Anweisungen gebildet: Gewöhnliche Zeichen (außer %), die direkt in das Ergebnis übertragen werden, und Umsetzungs-Anweisungen. Jede dieser Anweisungen holt sich als Resultat ihre eigenen Parameter. Diese Anweisungen gelten sowohl für die sprintf()- als auch für die printf()-Funktion.

Jede der Formatierungs-Anweisungen besteht aus einem Prozent-Zeichen (%), gefolgt von einem oder mehrereren der folgenden Elemente:

  1. Eine optionale Vorzeichenangabe, die die Verwendung eines Vorzeichens (- oder +) vor einer Zahl erzwingt. Standardmäßig wird nur das - Zeichen vor negativen Zahlen verwendet. Die Vorzeichenangabe erzwingt, dass positive Zahlen ein + Zeichen vorangestellt bekommen, und wurde mit PHP 4.3.0 eingeführt.
  2. Ein optionales Füllzeichen, das festlegt, mit welchem Zeichen ein String bis zum Erreichen einer bestimmten Länge aufgefüllt wird. Dies kann ein Leerzeichen oder eine 0 (das Null-Zeichen) sein. Standardmäßig wird mit dem Leerzeichen gefüllt. Andere Füllzeichen können durch Voranstellen eines einfachen Anführungszeichens (') definiert werden. Beachten Sie die nachstehenden Beispiele.
  3. Eine optionale Angabe der Ausrichtung, die bestimmt, ob das Ergebnis rechts- oder linksbündig ausgerichtet werden soll. Das Standardverhalten ist rechtsbündige Ausrichtung, ein --Zeichen an dieser Stelle lässt den Text linksbündig erscheinen.
  4. Eine optionale Zahl für die Längenangabe, welche die mindestens zurückzugebende Anzahl Zeichen spezifiziert.
  5. Eine optionale Genauigkeitsangabe in der Form eines Punktes (.) gefolgt von einem optionalen Dezimalstring. Dieser drückt aus, wieviele Dezimalstellen für Fließkommazahlen ausgegeben werden sollten. Wenn Sie diese Angabe auf einen String anwenden, fungiert sie als Grenzpunkt, der die maximale Zeichenzahl der ausgegebenen Zeichenkette bestimmt. Zusätzlich kann optional das Zeichen, das zum Auffüllen einer Zahl verwendet werden soll, zwischen dem Punkt und der Ziffer angegeben werden.

  6. Eine Typangabe, welche den Typ enthält, als der das jeweils übergebene Argument angesehen werden soll. Mögliche Angaben sind:

    • % - ein Prozentzeichen. Es ist kein Argument erforderlich.
    • b - das Argument wird als Integer angesehen und als Binär-Wert ausgegeben.
    • c - das Argument wird als Integer angesehen, und das entsprechende ASCII-Zeichen wird ausgegeben.
    • d - das Argument wird als Integer angesehen und als vorzeichenbehafteter Dezimalwert (signed integer) ausgegeben.
    • e - das Argument wird als wissenschaftliche Notation betrachtet (z.B. 1.2e+2). Die Genauigkeitsangabe steht seit PHP 5.2.1 für die Anzahl der Dezimalstellen. In früheren PHP-Versionen wurde sie als signifikante Stelle betrachtet (eine Stelle weniger).
    • E - wie %e, mit dem Unterschied, dass ein großes E verwendet wird (z.B. 1.2E+2).
    • f - das Argument wird als float angesehen und entsprechend der Einstellungen in den locales als Fließkommazahl ausgegeben.
    • F - das Argument wird als float angesehen und unabhängig von den Einstellungen in den locales als Fließkommazahl ausgegeben. Verfügbar ab PHP 4.3.10 und PHP 5.0.3.
    • g - das Kürzere von %e und %f.
    • G - das Kürzere von %E und %f.
    • o - das Argument wird als Integer angesehen und als Oktalzahl ausgegeben.
    • s - das Argument wird als String angesehen und auch als solcher ausgegeben.
    • u - das Argument wird als Integer angesehen und ein positiver vorzeichenloser Dezimalwert (unsigned integer) ausgegeben.
    • x - das Argument wird als Integer angesehen und als Hexadezimalwert ausgegeben (mit Kleinbuchstaben).
    • X - das Argument wird als Integer angesehen und als Hexadezimalwert ausgegeben (mit Großbuchstaben).

Variablen werden in einen für die Typangabe passenden Typ konvertiert:

Typ-Behandlung
Typ | Typangaben
string | s
integer | d, u, c, o, x, X, b
double | g, G, e, E, f, F

Warnung

Der Versuch der Verwendung einer Kombination von Stringtyp- und Längenangaben bei Zeichensätzen, die mehr als ein Byte pro Zeichen benötigen, kann zu unerwarteten Ergebnissen führen

Der Formatstring unterstützt nummerierte Argumente und kann daher auch ihre Position bestimmen (argument numbering/swapping). Hier ein Beispiel:

Beispiel #1 Argumente tauschen

<?php
$anzahl = 5;
$ort    = 'Baum';

$format = 'Es sind %d Affen auf dem %s';
echo sprintf($format, $anzahl, $ort);
?>
Dies wird "Es sind 5 Affen auf dem Baum" ausgeben. Aber nehmen wir einmal an, dass wir den Formatstring in einer separaten Datei erstellen, da wir ihn internationalisieren wollen und deshalb wie folgt umschreiben:

Beispiel #2 Argumente tauschen

<?php
$format = 'Der %s enthält %d Affen';
echo sprintf($format, $anzahl, $ort);
?>
Nun haben wir ein Problem. Die Reihenfolge der Platzhalter im Formatstrings entspricht nicht mehr der Reihenfolge der Argumente im Code. Wir würden gern den Code belassen wie er ist und einfach im Formatstring angeben, welche Argumenten welchen Platzhaltern entsprechen. Wir würden dann den Formatstring wie folgt schreiben:

Beispiel #3 Argumente tauschen

<?php
$format = 'Der %2$s enthält %1$d Affen';
echo sprintf($format, $anzahl, $ort);
?>
Ein weiterer Vorteil ist, dass wir nun die Platzhalter wiederholen können, ohne mehr Argumente im Code hinzufügen zu müssen. Zum Beispiel:

Beispiel #4 Argumente tauschen

<?php
$format = 'Der %2$s enthält %1$d Affen.
           %1$d Affen sind ziemlich viel für einen %2$s.';
echo sprintf($format, $anzahl, $ort);
?>
Wenn Argumenttausch verwendet wird muss die n$ Positionsangabe direkt nach dem Prozentzeichen (%) folgen, vor jeglichen anderen Angaben, wie im Beispiel unten zu sehen ist.

Beispiel #5 Angabe von Füllzeichen

<?php
echo sprintf("%'.9d\n", 123);
echo sprintf("%'.09d\n", 123);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

......123
000000123

Beispiel #6 Positionstausch mit weiteren Spezifikatoren

<?php
$format= 'Der %2$s enthält %1$04d Affen';
echo sprintf($format, $anzahl, $ort);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Der Baum enthält 0005 Affen.

Hinweis:

Der Versuch der Verwendung einer Positionsangabe, die größer als PHP_INT_MAX ist, hat zur Folge, dass sprintf() Warnungen erzeugt.

Warnung

Die c-Typangabe ignoriert Füllzeichen und Längenangabe

args

...

Rückgabewerte

Gibt eine an Hand des Formatierungs-Strings format gebildete Zeichenkette zurück.

Beispiele

Beispiel #7 printf(): Verschiedene Beispiele

<?php
$n =  43951789;
$u = -43951789;
$c = 65; // ASCII 65 is 'A'

// Beachten Sie das doppelte %%, dies gibt ein '%'-Zeichen aus
printf("%%b = '%b'\n", $n); // Binärdarstellung
printf("%%c = '%c'\n", $c); // print the ascii character, same as chr() function
printf("%%d = '%d'\n", $n); // Standard-Integerdarstellung
printf("%%e = '%e'\n", $n); // Wissenschaftliche Notation
printf("%%u = '%u'\n", $n); // vorzeichenlose Integerdarstellung einer positiven Zahl
printf("%%u = '%u'\n", $u); // vorzeichenlose Integerdarstellung einer negativen Zahl
printf("%%f = '%f'\n", $n); // Fließkommazahldarstellung
printf("%%o = '%o'\n", $n); // Oktaldarstellung
printf("%%s = '%s'\n", $n); // Stringdarstellung
printf("%%x = '%x'\n", $n); // Hexadezimaldarstellung (Kleinbuchstaben)
printf("%%X = '%X'\n", $n); // Hexadezimaldarstellung (Großbuchstaben)

printf("%%+d = '%+d'\n", $n); // Vorzeichenangabe für positive Integerzahlen
printf("%%+d = '%+d'\n", $u); // Vorzeichenangabe für negative Integerzahlen
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

%b = '10100111101010011010101101'
%c = 'A'
%d = '43951789'
%e = '4.39518e+7'
%u = '43951789'
%u = '4251015507'
%f = '43951789.000000'
%o = '247523255'
%s = '43951789'
%x = '29ea6ad'
%X = '29EA6AD'
%+d = '+43951789'
%+d = '-43951789'

Beispiel #8 printf(): Stringformatierung

<?php
$s = 'monkey';
$t = 'many monkeys';

printf("[%s]\n",      $s); // normale rechtsbündige Ausgabe
printf("[%10s]\n",    $s); // rechtsbündige Ausgabe, mit Leerzeichen aufgefüllt
printf("[%-10s]\n",   $s); // linksbündige Ausgabe, mit Leerzeichen aufgefüllt
printf("[%010s]\n",   $s); // auffüllen mit Nullen funktioniert auch bei Strings
printf("[%'#10s]\n",  $s); // Verwendung des benutzerdefinierten Auffüllzeichens '#'
printf("[%10.10s]\n", $t); // linksbündige Ausgabe mit abschneiden überflüssiger
                           // Buchstaben nach der zehnten Stelle
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

[monkey]
[    monkey]
[monkey    ]
[0000monkey]
[####monkey]
[many monke]

Beispiel #9 sprintf(): Mit Nullen aufgefüllte Integer

<?php
$isodate = sprintf("%04d-%02d-%02d", $year, $month, $day);
?>

Beispiel #10 sprintf(): Währungsformatierung

<?php
$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
// echo $money gibt "123.1" aus
$formatted = sprintf("%01.2f", $money);
// echo $formatted gibt "123.10" aus
?>

Beispiel #11 sprintf(): Wissenschaftliche Notation

<?php
$number = 362525200;

echo sprintf("%.3e", $number); // Ausgabe 3.625e+8
?>

Siehe auch

  • printf() - Gibt einen formatierten String aus
  • sscanf() - Überträgt einen String in ein angegebenes Format
  • fscanf() - Interpretiert den Input einer Datei entsprechend einem angegebenen Format
  • vsprintf() - Gibt einen formatierten String zurück
  • number_format() - Formatiert eine Zahl mit Tausender-Trennzeichen

soundex
sscanf
String-Funktionen


Überträgt einen String in ein angegebenes Format

sprintf
str_getcsv
String-Funktionen
PHP Manual

sscanf

(PHP 4 >= 4.0.1, PHP 5, PHP 7)

sscanf — Überträgt einen String in ein angegebenes Format

Beschreibung

mixed sscanf ( string $str , string $format [, mixed &$... ] )

Die Funktion sscanf() ist das Eingabegegenstück zu printf(). sscanf() liest den String str und interpretiert ihn entsprechend dem übergegebenen format-Parameter , der in der Dokumentation zu sprintf() näher beschrieben ist.

Beliebige Whitespaces im Formatstring entsprechen beliebigen Whitespaces im Inputstring. Das heißt, dass auch ein Tabulator \t im Formatstring einem einzelnen Leerzeichen des Inputstrings entsprechen kann.

Parameter-Liste

str

Der zu parsende Eingabestring.

format

Das interpretierte Format für str, wie es in der Dokumentation zu sprintf() beschrieben ist; folgende Unterschiede bestehen:

  • Die Funktion beachtet nicht Locale Einstellungen.
  • F, g, G und b sind nicht unterstützt.
  • D steht für eine Dezimal Ziffer.
  • i steht für Ganzzahlen mit Angabe der Basis.
  • n steht für die Anzahl der bisher prozessierten Zeichen.

...

Optionale als Referenz übergebene Variablen, die die geparsten Werte enthalten.

Rückgabewerte

Werden nur 2 Parameter an die Funktion übergeben, werden die analysierten Werte als Array zurückgegeben. Andernfalls, wenn optionale Parameter übergeben wurden, gibt die Funktion die Anzahl der ermittelten Werte zurück. Die optionalen Parameter müssen als Referenz übergeben werden.

Werden mehr Teilzeichenketten in format erwartet als in str verfügbar sind, wird -1 zurückgegeben.

Beispiele

Beispiel #1 sscanf()-Beispiel

<?php
// Ermittlung der Serien-Nr.
list($serial) = sscanf("SN/2350001", "SN/%d");
// und des Herstellungsdatums
$mandate = "Januar 01 2000";
list($monat, $tag, $jahr) = sscanf($mandate, "%s %d %d");
echo "Das Teil $serial wurde hergestellt am: "
     . "$jahr-" . substr($monat, 0, 3) . "-$tag\n";
?>

Werden optionale Parameter übergeben, gibt die Funktion die Anzahl der ermittelten Werte zurück.

Beispiel #2 sscanf() - Verwendung optionaler Parameter

<?php
// Auslesen der Autoren-Info und Erzeugung eines DocBook-Eintrages
$auth = "24\tLewis Carroll";
$n = sscanf($auth, "%d\t%s %s", $id, $first, $last);
echo "<author id='$id'>
    <firstname>$first</firstname>
    <surname>$last</surname>
</author>\n";
?>

Siehe auch

  • fscanf() - Interpretiert den Input einer Datei entsprechend einem angegebenen Format
  • printf() - Gibt einen formatierten String aus
  • sprintf() - Gibt einen formatierten String zurück

sprintf
str_getcsv
String-Funktionen


Parst einen CSV-String in ein Array

sscanf
str_ireplace
String-Funktionen
PHP Manual

str_getcsv

(PHP 5 >= 5.3.0, PHP 7)

str_getcsv — Parst einen CSV-String in ein Array

Beschreibung

array str_getcsv ( string $input [, string $delimiter = "," [, string $enclosure = '"' [, string $escape = "\\" ]]] )

Parst eine Zeichenketten Eingabe für Felder im CSV Format und gibt ein Array mit den gelesenen Feldern zurück.

Parameter-Liste

input

Die zu parsende Zeichenkette.

delimiter

Bestimmt das Feldtrennzeichen (nur ein Zeichen).

enclosure

Bestimmt das Textmarkierungszeichen (nur ein Zeichen).

escape

Bestimmt das Maskierungszeichen (nur ein Zeichen). Standardmäßig wird ein Backslash (\) verwendet.

Rückgabewerte

Gibt ein indexiertes Array zurück, das die eingelesenen Felder enthält.

Siehe auch

  • fgetcsv() - Liest eine Zeile von der Position des Dateizeigers und prüft diese auf Komma-Separierte-Werte (CSV)

sscanf
str_ireplace
String-Funktionen


Groß- und kleinschreibungsunabhängige Version von str_replace

str_getcsv
str_pad
String-Funktionen
PHP Manual

str_ireplace

(PHP 5, PHP 7)

str_ireplace — Groß- und kleinschreibungsunabhängige Version von str_replace()

Beschreibung

mixed str_ireplace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )

Die Funktion gibt einen String oder ein Array zurück, in dem alle Vorkommen von search innerhalb von subject unabhängig von deren Groß- oder Kleinschreibung gegen den entsprechenden replace-Wert ausgetauscht wurden. Sofern Sie keine speziellen Ersetzungsregeln verwenden, sollten Sie diese Funktion grundsätzlich anstelle von preg_replace() mit i-Modifier verwenden.

Parameter-Liste

Wenn der search und replace Arrays sind, nimmt str_ireplace() einen Wert von jedem Array und sucht/ersetzt mit diesen im subject. Wenn replace weniger Werte als search besitzt, wird eine leere Zeichenkette für die verbleibenden Ersetzungswerte verwendet. Wenn search ein Array ist und replace eine Zeichenkette, wird dieser Ersetzungswert für alle Werte des search genutzt. Die Umkehrung jedoch wäre sinnlos.

Wenn search oder replace Array sind, werden ihre Elemente in aufsteigender Reihenfolge bearbeitet.

search

Der gesuchte Wert, auch Nadel (needle) genannt. Ein Array kann genutzt werden, um mehrere Nadeln zu bestimmen.

replace

Der Ersetzungswert, der gefundene search Werte ersetzt. Ein Array kann genutzt werden, um mehrere Nadeln zu bestimmen.

subject

Die zu durchsuchende und darin ersetzende Zeichenkette oder das Array, auch Heuhaufen (haystack) genannt.

Ist subject ein Array, wird die Suchen-Ersetzen-Funktionalität auf jedes Element von subject angewendet. Die Funktion gibt dann natürlich ein Array zurück.

count

Falls übergeben, wird dies auf die Anzahl der durchgeführten Ersetzungen gesetzt.

Rückgabewerte

Gibt eine Zeichenkette oder ein Array mit ersetzten Werten zurück.

Beispiele

Beispiel #1 str_ireplace()-Beispiel

<?php
$bodytag = str_ireplace("%body%", "schwarz", "<body text=%BODY%>");
?>

Anmerkungen

Hinweis: Diese Funktion ist binary safe.

Achtung

Reihenfolge der Ersetzungen Überraschung

Weil str_ireplace() von links nach rechts ersetzt, kann sie einen zuvor eingesetzten Wert ersetzen, falls mehrere Ersetzungen durchgeführrt werden. Beispiel #2 in der Dokomenation von str_replace() zeigt, wie dies sie in der Praxis betreffen kann.

Siehe auch

  • str_replace() - Ersetzt alle Vorkommen des Suchstrings durch einen anderen String
  • preg_replace() - Sucht und ersetzt mit regulären Ausdrücken
  • strtr() - Tauscht Zeichen aus oder ersetzt Zeichenketten

str_getcsv
str_pad
String-Funktionen


Erweitert einen String unter Verwendung eines anderen Strings auf eine bestimmte Länge

str_ireplace
str_repeat
String-Funktionen
PHP Manual

str_pad

(PHP 4 >= 4.0.1, PHP 5, PHP 7)

str_pad — Erweitert einen String unter Verwendung eines anderen Strings auf eine bestimmte Länge

Beschreibung

string str_pad ( string $input , int $pad_length [, string $pad_string = " " [, int $pad_type = STR_PAD_RIGHT ]] )

Die Funktion gibt den input-String, erweitert auf der linken, rechten oder auf beiden Seiten auf die angegebene Länge, zurück. Wenn das optionale Argument pad_string nicht angegeben ist, wird input durch Leerzeichen erweitert, anderenfalls bis zum Ende durch die in pad_string angegebenen Zeichen.

Parameter-Liste

input

Die Eingabezeichenkette.

pad_length

Wenn der Wert von pad_length negativ, kürzer als oder gleich der Länge der Eingabezeichenkette ist, wird keine Erweiterung durchgeführt.

pad_string

Hinweis:

pad_string wird abgeschnitten, falls die benötigte Anzahl der zu ergänzenden Zeichen nicht gleichmäßig durch die Länge von pad_string geteilt werden kann.

pad_type

Das optionale Argument pad_type kann STR_PAD_RIGHT, STR_PAD_LEFT oder STR_PAD_BOTH sein. Wird pad_type nicht angegeben, so wird standardmäßig von STR_PAD_RIGHT ausgegangen.

Rückgabewerte

Gibt die erweiterte Zeichenkette zurück.

Beispiele

Beispiel #1 str_pad()-Beispiel

<?php
$input = "Alien";
echo str_pad($input, 10);                      // ergibt "Alien     "
echo str_pad($input, 10, "-=", STR_PAD_LEFT);  // ergibt "-=-=-Alien"
echo str_pad($input, 10, "_", STR_PAD_BOTH);   // ergibt "__Alien___"
echo str_pad($input, 6 , "___");               // ergibt "Alien_"
?>

str_ireplace
str_repeat
String-Funktionen


Wiederholt einen String

str_pad
str_replace
String-Funktionen
PHP Manual

str_repeat

(PHP 4, PHP 5, PHP 7)

str_repeat — Wiederholt einen String

Beschreibung

string str_repeat ( string $input , int $multiplier )

Gibt input multiplier mal wiederholt zurück.

Parameter-Liste

input

Die zu wiederholende Zeichenkette.

multiplier

Die Anzahl der Wiederholungen, die auf input angewendet werden sollen.

multiplier muss größer als oder gleich 0 sein. Wenn multiplier den Wert 0 hat, gibt die Funktion einen leeren String zurück.

Rückgabewerte

Gibt die wiederholte Zeichenkette zurück.

Beispiele

Beispiel #1 str_repeat()-Beispiel

<?php
echo str_repeat("-=", 10);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

-=-=-=-=-=-=-=-=-=-=

Siehe auch

  • for
  • str_pad() - Erweitert einen String unter Verwendung eines anderen Strings auf eine bestimmte Länge
  • substr_count() - Ermittelt, wie oft eine Zeichenkette in einem String vorkommt

str_pad
str_replace
String-Funktionen


Ersetzt alle Vorkommen des Suchstrings durch einen anderen String

str_repeat
str_rot13
String-Funktionen
PHP Manual

str_replace

(PHP 4, PHP 5, PHP 7)

str_replace — Ersetzt alle Vorkommen des Suchstrings durch einen anderen String

Beschreibung

mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )

Diese Funktion gibt einen String oder ein Array zurück, in dem alle Vorkommen von search innerhalb von subject durch den angegebenen replace-Wert ersetzt wurden.

Wenn Sie keine ausgefallenen Ersetzungsregeln (wie Reguläre Ausdrücke) benötigen, sollten Sie immer diese Funktion anstelle von preg_replace() verwenden.

Parameter-Liste

Sind search und replace Arrays, nimmt str_replace() je einen Wert beider Arrays und verwendet diese zum Suchen und Ersetzen in subject. Hat replace weniger Werte als search, so wird ein leerer String zum Ersetzen für den Rest der Werte verwendet. Ist search ein Array und replace ein String, dann wird dieser String für jeden Wert von search angewandt. Das Gegenteil ist nicht sinnvoll.

Sind search und/oder replace Arrays, werden ihre Elemente vom ersten zum letzten hin verarbeitet.

search

Der gesuchte Wert, auch Nadel (needle) genannt. Ein Array kann genutzt werden, um mehrere Nadeln zu bestimmen.

replace

Der Ersetzungswert, der gefundene search Werte ersetzt. Ein Array kann genutzt werden, um mehrere Werte zu bestimmen.

subject

Die zu durchsuchende und darin enthaltene zu ersetzende Zeichenkette oder das Array, auch Heuhaufen (haystack) genannt.

Ist subject ein Array, erfolgt das Suchen und Ersetzen für jeden Wert von subject, und der Rückgabewert ist ebenfalls ein Array.

count

Falls übergeben, wird dies auf die Anzahl der durchgeführten Ersetzungen gesetzt.

Rückgabewerte

Diese Funktion gibt eine Zeichenkette oder ein Array mit ersetzten Werten zurück.

Beispiele

Beispiel #1 Grundlegende str_replace()-Beispiele

<?php
// Liefert: <body text='schwarz'>
$bodytag = str_replace("%body%", "schwarz", "<body text='%body%'>");

// Liefert: Hll PHP-Wlt
$vokale = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$onlyconsonants = str_replace($vokale, "", "Hallo PHP-Welt");

// Liefert: Sie sollten taeglich Pizza, Bier und Eiscreme essen.
$phrase = "Sie sollten taeglich Fruechte, Gemuese und Ballaststoffe essen.";
$gesund = array("Fruechte", "Gemuese", "Ballaststoffe");
$lecker = array("Pizza", "Bier", "Eiscreme");

$newphrase = str_replace($gesund, $lecker, $phrase);

// Liefert: 2
$str = str_replace("ll", "", "good golly miss molly!", $count);
echo $count;
?>

Beispiel #2 Beispiele möglicher Probleme durch str_replace()

<?php
// Reihenfolge von Ersetzungen
$str     = "Zeile 1\nZeile 2\rZeile 3\r\nZeile 4\n";
$order   = array("\r\n", "\n", "\r");
$replace = '<br />';
// Verarbeitet \r\n's zuerst, so dass sie nicht doppelt konvertiert werden
$newstr = str_replace($order, $replace, $str);

// Ausgabe: F da A durch B ersetzt wird, dann B durch C, und so weiter...
// Letztlich wird E durch F ersetzt, wegen der Ersetzung von Links nach Rechts
$search  = array('A', 'B', 'C', 'D', 'E');
$replace = array('B', 'C', 'D', 'E', 'F');
$subject = 'A';
echo str_replace($search, $replace, $subject);

// Ausgabe: apearpearle pear
// Aus dem gleichen Grund wie oben beschrieben
$letters = array('a', 'p');
$fruit   = array('apple', 'pear');
$text    = 'a p';
$output  = str_replace($letters, $fruit, $text);
echo $output;
?>

Anmerkungen

Hinweis: Diese Funktion ist binary safe.

Achtung

Mögliche Probleme durch Reihenfolge der Ersetzungen

Weil str_replace() von links nach rechts ersetzt, kann ein zuvor eingesetzter Wert ersetzt werden, wenn mehrere Ersetzungen durchgeführt werden. Das letzte Beispiel zeigt, was dies für Auswirkungen hat.

Hinweis:

Die Funktion berücksichtigt Groß- und Kleinschreibung. Verwenden Sie str_ireplace(), wenn Sie unabhängig von Groß- und Kleinschreibung ersetzen möchten.

Siehe auch

  • str_ireplace() - Groß- und kleinschreibungsunabhängige Version von str_replace
  • substr_replace() - Ersetzt Text innerhalb einer Zeichenkette
  • preg_replace() - Sucht und ersetzt mit regulären Ausdrücken
  • strtr() - Tauscht Zeichen aus oder ersetzt Zeichenketten

str_repeat
str_rot13
String-Funktionen


Führt die ROT13-Transformation auf einen String aus

str_replace
str_shuffle
String-Funktionen
PHP Manual

str_rot13

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

str_rot13 — Führt die ROT13-Transformation auf einen String aus

Beschreibung

string str_rot13 ( string $str )

Diese Funktion führt die ROT13-Transformation auf die Zeichenkette str aus und liefert den Ergebnisstring zurück.

Die ROT13-Kodierung verschiebt einfach jeden Buchstaben um 13 Stellen im Alphabet. Zeichen, die keine Buchstaben sind, bleiben unverändert. Verschlüsselung und Entschlüsselung werden von derselben Funktion durchgeführt. Bei Übergabe eines verschlüsselten Strings wird der Originalstring zurückgegeben.

Parameter-Liste

str

Die Eingabezeichenkette.

Rückgabewerte

Gibt die ROT13-Version der angegebenen Zeichenkette zurück.

Beispiele

Beispiel #1 str_rot13()-Beispiel

<?php

echo str_rot13('PHP 4.3.0'); // CUC 4.3.0

?>

str_replace
str_shuffle
String-Funktionen


Mischt einen String nach dem Zufallsprinzip

str_rot13
str_split
String-Funktionen
PHP Manual

str_shuffle

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

str_shuffle — Mischt einen String nach dem Zufallsprinzip

Beschreibung

string str_shuffle ( string $str )

str_shuffle() mischt eine Zeichenkette. Es entsteht eine Permutation aller vorhandenen Zeichen.

Parameter-Liste

str

Die Eingabezeichenkette.

Rückgabewerte

Gibt die vermischte Zeichenkette zurück.

Beispiele

Beispiel #1 str_shuffle()-Beispiel

<?php
$str = 'abcdef';
$shuffled = str_shuffle($str);

// erzeugt eine Ausgabe wie: bfdaec
echo $shuffled;
?>

Siehe auch

  • shuffle() - Mischt die Elemente eines Arrays
  • rand() - Erzeugt eine zufällige Zahl

str_rot13
str_split
String-Funktionen


Konvertiert einen String in ein Array

str_shuffle
str_word_count
String-Funktionen
PHP Manual

str_split

(PHP 5, PHP 7)

str_split — Konvertiert einen String in ein Array

Beschreibung

array str_split ( string $string [, int $split_length = 1 ] )

Konvertiert einen String in ein Array.

Parameter-Liste

string

Die Eingabezeichenkette.

split_length

Maximale Länge eines Teilstücks.

Rückgabewerte

Wenn der optionale Parameter split_length angegeben ist, enthält das zurückgegebene Array Elemente mit der in split_length definierten Länge, andernfalls enthält jedes Element ein einzelnes Zeichen.

FALSE wird zurückgegeben, wenn split_length kleiner als 1 ist. Wenn der Parameter split_length größer als string ist, wird der gesamte String als ein erstes (und einziges) Array-Element zurückgegeben.

Beispiele

Beispiel #1 Beispiel für die Verwendung von str_split()

<?php

$str = "Hallo Freund";

$arr1 = str_split($str);
$arr2 = str_split($str, 3);

print_r($arr1);
print_r($arr2);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => H
    [1] => a
    [2] => l
    [3] => l
    [4] => o
    [5] =>
    [6] => F
    [7] => r
    [8] => e
    [9] => u
    [10] => n
    [11] => d
)

Array
(
    [0] => Hal
    [1] => lo
    [2] => Fre
    [3] => und
)

Anmerkungen

Hinweis:

str_split() trennt in Bytes anstatt Zeichen, wenn Multibyte kodierte Zeichenketten vorliegen.

Siehe auch

  • chunk_split() - Zerlegt einen String in Teile gleicher Länge
  • preg_split() - Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks
  • explode() - Teilt einen String anhand einer Zeichenkette
  • count_chars() - Gibt Informationen über die in einem String enthaltenen Zeichen zurück
  • str_word_count() - Gibt Informationen über in einem String verwendete Worte zurück
  • for

str_shuffle
str_word_count
String-Funktionen


Gibt Informationen über in einem String verwendete Worte zurück

str_split
strcasecmp
String-Funktionen
PHP Manual

str_word_count

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

str_word_count — Gibt Informationen über in einem String verwendete Worte zurück

Beschreibung

mixed str_word_count ( string $string [, int $format = 0 [, string $charlist ]] )

Zählt die Wörter in string. Wenn der optionale Parameter format nicht angegeben ist, wird ein Integer mit der Anzahl der gefundenen Wörter zurückgegeben. Falls format angegeben ist, ist der Rückgabewert ein Array, dessen Inhalt von format abhängt. Die möglichen Werte von format und die daraus resultierenden Ausgaben sind unten aufgelistet.

Beachten Sie bei der Verwendung dieser Funktion, dass "Wörter" als locale-abhängige Strings interpretiert werden, die nur die Buchstaben des Alphabets enthalten. Sie dürfen außerdem "'"- und "-"-Zeichen enthalten, jedoch nicht damit beginnen.

Parameter-Liste

string

Die Zeichenkette

format

Gibt den Rückgabewert der Funktion an. Die folgenden Werte werden derzeit unterstützt:

  • 0 - gibt die Anzahl der gefundenen Wörter zurück
  • 1 - gibt einen Array zurück, das alle innerhalb von string gefundenen Wörter enthält.
  • 2 - gibt ein asoziatives Array zurück, dessen Schlüssel die numerische Position des Wortes innerhalb von string angibt und dessen Wert das eigentliche Wort ist

charlist

Eine Liste zusätzlicher Zeichen, die ebenfalls als 'Wort' betrachtet werden

Rückgabewerte

Gibt abhängig vom gewählten format ein Array oder ein Integer zurück.

Changelog

Version | Beschreibung
5.1.0 | charlist Parameter hinzugefügt

Beispiele

Beispiel #1 Ein str_word_count()-Beispiel

<?php

$str = "Hello fri3nd, you're
       looking          good today!";

print_r(str_word_count($str, 1));
print_r(str_word_count($str, 2));
print_r(str_word_count($str, 1, 'àáãç3'));

echo str_word_count($str);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => Hello
    [1] => fri
    [2] => nd
    [3] => you're
    [4] => looking
    [5] => good
    [6] => today
)

Array
(
    [0] => Hello
    [6] => fri
    [10] => nd
    [14] => you're
    [29] => looking
    [46] => good
    [51] => today
)

Array
(
    [0] => Hello
    [1] => fri3nd
    [2] => you're
    [3] => looking
    [4] => good
    [5] => today
)

7

Siehe auch

  • explode() - Teilt einen String anhand einer Zeichenkette
  • preg_split() - Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks
  • split() - Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks in ein Array
  • count_chars() - Gibt Informationen über die in einem String enthaltenen Zeichen zurück
  • substr_count() - Ermittelt, wie oft eine Zeichenkette in einem String vorkommt

str_split
strcasecmp
String-Funktionen


Vergleich von Zeichenketten ohne Unterscheidung der Groß- und Kleinschreibung (Binary safe)

str_word_count
strchr
String-Funktionen
PHP Manual

strcasecmp

(PHP 4, PHP 5, PHP 7)

strcasecmp — Vergleich von Zeichenketten ohne Unterscheidung der Groß- und Kleinschreibung (Binary safe)

Beschreibung

int strcasecmp ( string $str1 , string $str2 )

Groß- und kleinschreibungsunabhängiger Vergleich zweier Zeichenketten, der binary safe ausgeführt wird.

Parameter-Liste

str1

Die erste Zeichenkette.

str2

Die zweite Zeichenkette.

Rückgabewerte

Ist str1 kleiner als str2 wird ein Wert < 0 zurückgegeben, ist str1 größer als str2 ein Wert > 0, und bei Gleichheit gibt die Funktion 0 zurück.

Beispiele

Beispiel #1 strcasecmp()-Beispiel

<?php
$var1 = "Hallo";
$var2 = "hallo";
if (strcasecmp($var1, $var2) == 0) {
    echo '$var1 ist gleich $var2 bei einem String-Vergleich'
       . ' ohne Berücksichtigung von Groß- und Kleinschreibung';
}
?>

Siehe auch

  • strcmp() - Vergleich zweier Strings (Binary safe)
  • preg_match() - Führt eine Suche mit einem regulären Ausdruck durch
  • substr_compare() - Binärdaten-sicherer Vergleich zweier Strings, beginnend an einer bestimmten Position und endend nach einer festgelegten Länge
  • strncasecmp() - Binärdaten-sicherer und groß- und kleinschreibungs-unabhängiger Stringvergleich der ersten n Zeichen
  • stristr() - Wie strstr, aber unabhängig von Groß- bzw. Kleinschreibung
  • substr() - Gibt einen Teil eines Strings zurück

str_word_count
strchr
String-Funktionen


Alias von strstr

strcasecmp
strcmp
String-Funktionen
PHP Manual

strchr

(PHP 4, PHP 5, PHP 7)

strchr — Alias von strstr()

Beschreibung

Diese Funktion ist ein Alias für: strstr().

strcasecmp
strcmp
String-Funktionen


Vergleich zweier Strings (Binary safe)

strchr
strcoll
String-Funktionen
PHP Manual

strcmp

(PHP 4, PHP 5, PHP 7)

strcmp — Vergleich zweier Strings (Binary safe)

Beschreibung

int strcmp ( string $str1 , string $str2 )

Beachten Sie, dass zwischen Groß- und Kleinschreibung unterschieden wird.

Parameter-Liste

str1

Die erste Zeichenkette.

str2

Die zweite Zeichenkette.

Rückgabewerte

Ist str1 kleiner als str2 wird ein Wert < 0 zurückgegeben, ist str1 größer als str2 ein Wert > 0, und bei Gleichheit gibt die Funktion 0 zurück.

Beispiele

Beispiel #1 strcmp() Beispiel

<?php
$var1 = "Hallo";
$var2 = "hallo";
if (strcmp($var1, $var2) !== 0) {
    echo '$var1 ist ungleich $var2 bei einem Vergleich, der Groß-/Kleinschreibung berücksichtigt';
}
?>

Siehe auch

  • strcasecmp() - Vergleich von Zeichenketten ohne Unterscheidung der Groß- und Kleinschreibung (Binary safe)
  • preg_match() - Führt eine Suche mit einem regulären Ausdruck durch
  • substr_compare() - Binärdaten-sicherer Vergleich zweier Strings, beginnend an einer bestimmten Position und endend nach einer festgelegten Länge
  • strncmp() - String-Vergleich der ersten n Zeichen (Binary safe)
  • strstr() - Findet das erste Vorkommen eines Strings
  • substr() - Gibt einen Teil eines Strings zurück

strchr
strcoll
String-Funktionen


Locale-basierter Zeichenkettenvergleich

strcmp
strcspn
String-Funktionen
PHP Manual

strcoll

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

strcoll — Locale-basierter Zeichenkettenvergleich

Beschreibung

int strcoll ( string $str1 , string $str2 )

Beachten Sie, dass der Vergleich Groß- und Kleinschreibung berücksichtigt. Im Gegensatz zu strcmp() ist die Funktion zudem nicht binary safe.

strcoll() legt dem Vergleich die aktuellen locale-Angabe zu Grunde. Ist deren Wert C oder POSIX, verhält sich diese Funktion äquivalent zu strcmp().

Parameter-Liste

str1

Die erste Zeichenkette.

str2

Die zweite Zeichenkette.

Rückgabewerte

Gibt einen Wert <0 zurück, wenn str1 kleiner ist als str2, einen Wert >0, wenn str1 größer ist als str2, und 0, wenn sie gleich sind.

Changelog

Version | Beschreibung
4.2.3 | Die Funktion ist jetzt auch unter Win32-Systemen nutzbar.

Siehe auch

  • preg_match() - Führt eine Suche mit einem regulären Ausdruck durch
  • strcmp() - Vergleich zweier Strings (Binary safe)
  • strcasecmp() - Vergleich von Zeichenketten ohne Unterscheidung der Groß- und Kleinschreibung (Binary safe)
  • substr() - Gibt einen Teil eines Strings zurück
  • stristr() - Wie strstr, aber unabhängig von Groß- bzw. Kleinschreibung
  • strncasecmp() - Binärdaten-sicherer und groß- und kleinschreibungs-unabhängiger Stringvergleich der ersten n Zeichen
  • strncmp() - String-Vergleich der ersten n Zeichen (Binary safe)
  • strstr() - Findet das erste Vorkommen eines Strings
  • setlocale() - Legt regionale (locale) Einstellungen fest

strcmp
strcspn
String-Funktionen


Ermittelt die Anzahl der nicht übereinstimmenden Zeichen

strcoll
strip_tags
String-Funktionen
PHP Manual

strcspn

(PHP 4, PHP 5, PHP 7)

strcspn — Ermittelt die Anzahl der nicht übereinstimmenden Zeichen

Beschreibung

int strcspn ( string $str1 , string $str2 [, int $start [, int $length ]] )

Gibt die Länge von str1 zurück, bis zu der kein Zeichen aus str2 vorkommt.

Parameter-Liste

str1

Die erste Zeichenkette.

str2

Die zweite Zeichenkette.

start

Die Anfangsposition der zu untersuchenden Zeichenkette.

length

Die Länge der zu untersuchenden Zeichenkette.

Rückgabewerte

Gibt die Länge des gefundenen Segments als Integerwert zurück.

Beispiele

Beispiel #1 strcspn() Beispiel

<?php
$a = strcspn('abcd',  'apple');
$b = strcspn('abcd',  'banana');
$c = strcspn('hello', 'l');
$d = strcspn('hello', 'world');

var_dump($a);
var_dump($b);
var_dump($c);
var_dump($d);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(0)
int(0)
int(2)
int(2)

Anmerkungen

Hinweis: Diese Funktion ist binary safe.

Siehe auch

  • strspn() - Ermittelt die Länge des initialen Abschnitts einer Zeichenkette, der ausschließlich aus Zeichen besteht, die in einer übergebenen Maske enthalten sind.

strcoll
strip_tags
String-Funktionen


Entfernt HTML- und PHP-Tags aus einem String

strcspn
stripcslashes
String-Funktionen
PHP Manual

strip_tags

(PHP 4, PHP 5, PHP 7)

strip_tags — Entfernt HTML- und PHP-Tags aus einem String

Beschreibung

string strip_tags ( string $str [, string $allowable_tags ] )

Diese Funktion versucht, einen String zurückzugeben, der die um alle NULL Bytes, HTML- und PHP-Tags reduzierte Version von str darstellt. Sie verwendet die gleiche Engine zum Entfernen der Tags wie fgetss().

Parameter-Liste

str

Die Eingabezeichenkette.

allowable_tags

Sie können den optionalen zweiten Parameter verwenden, um die Tags anzugeben, die nicht entfernt werden sollen.

Hinweis:

HTML-Kommentare und PHP-Tags werden ebenfalls entfernt. Dieses Verhalten ist hartkodiert und kann nicht mittels allowable_tags verändert werden.

Hinweis:

Dieser Parameter sollte keine Leerzeichen enthalten. strip_tags() sieht als Tag eine von Groß- und Kleinschreibung unabhängige Zeichenkette zwischen< und dem ersten Leerzeichen oder >.

Hinweis:

In PHP 5.3.4 und neuer muss auch der selbst-schließende XHTML Tag angegeben werden, um diesen aus str zu entfernen. Um zum Beispiel sowohl <br;> als auch <br/> zu entfernen, sollte folgendes verwendet werden:

<?php
strip_tags($input, '<br><br/>');
?>

Rückgabewerte

Gibt die reduzierte Zeichenkette zurück.

Changelog

Version | Beschreibung
5.3.4 | strip_tags() entfernt nicht länger selbst-schließende XHTML Tags, außer wenn der selbst-schließende XHTML Tag ebenfalls im allowable_tags angegeben wird.
5.0.0 | Die Funktion strip_tags() ist jetzt Binary safe.

Beispiele

Beispiel #1 strip_tags()-Beispiel

<?php
$text = '<p>Test-Absatz.</p><!-- Kommentar --> <a href="#fragment">Anderer Text</a>';
echo strip_tags($text);
echo "\n";

// <p> und <a> zulassen
echo strip_tags($text, '<p><a>');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Test-Absatz. Anderer Text
<p>Test-Absatz.</p> <a href="#fragment">Anderer Text</a>

Anmerkungen

Warnung

Da strip_tags() HTML nicht wirklich validiert, kann es passieren, dass bei unvollständigen oder unkorrekten Tags mehr Text/Daten gelöscht werden als erwartet.

Warnung

Diese Funktion modifiziert keine Attribute bei Tags, die via allowable_tags erlaubt wurden, dies betrifft auch style und onmouseover Attribute, die ein böswilliger User verwenden kann, um einen Text zu posten, der von anderen Usern gesehen werden soll.

Hinweis:

Tagnamen im Eingabe-HTML, die länger als 1023 Bytes sind, werden behandelt als ob sie ungültig seien, unabhängig vom allowable_tags Parameter.

Siehe auch

  • htmlspecialchars() - Wandelt Sonderzeichen in HTML-Codes um

strcspn
stripcslashes
String-Funktionen


Entfernt Quotes aus mit addcslashes behandelten Strings

strip_tags
stripos
String-Funktionen
PHP Manual

stripcslashes

(PHP 4, PHP 5, PHP 7)

stripcslashes — Entfernt Quotes aus mit addcslashes() behandelten Strings

Beschreibung

string stripcslashes ( string $str )

Gibt einen String zurück, aus dem die Backslashes ("\") entfernt wurden. Wie in C werden \n, \r ..., oktal- und hexadezimal-Vorkommen erkannt.

Parameter-Liste

str

Die zu demaskierende Zeichenkette.

Rückgabewerte

Gibt die demaskierte Zeichenkette zurück.

Siehe auch

  • addcslashes() - Stellt bestimmten Zeichen eines Strings ein "\" voran (wie in C)

strip_tags
stripos
String-Funktionen


Findet das erste Vorkommen eines Teilstrings in einem String, unabhängig von Groß- und Kleinschreibung

stripcslashes
stripslashes
String-Funktionen
PHP Manual

stripos

(PHP 5, PHP 7)

stripos — Findet das erste Vorkommen eines Teilstrings in einem String, unabhängig von Groß- und Kleinschreibung

Beschreibung

mixed stripos ( string $haystack , string $needle [, int $offset = 0 ] )

Sucht die numerische Position des ersten Vorkommens von needle innerhalb des Strings haystack.

Im Gegensatz zu strpos() ist stripos() unabhängig von Groß- und Kleinschreibung.

Parameter-Liste

haystack

Die Zeichenkette, in der gesucht werden soll.

needle

Beachten Sie, dass needle eine Zeichenkette von einem oder mehreren Zeichen sein kann.

Ist needle kein String, wird der Parameter in einen Integerwert konvertiert, der dem Ordinalwert des Zeichens entspricht.

offset

Wenn angegeben, dann beginnt die Suche diese Anzahl an Zeichen gezählt vom Beginn des Strings. Im Gegensatz zu strrpos() und strripos() kann der Offset nicht negativ sein.

Rückgabewerte

Gibt die Position, an der sich die Needle befindet, relativ zum Beginn der haystack Zeichenkette zurück (unabhängig vom Offset). Es ist zu beachten, dass Stringpositionen mit 0, und nicht mit 1 beginnen.

Gibt FALSE zurück, wenn die Needle nicht gefunden wurde.

Warnung

Diese Funktion kann sowohl das boolsche FALSE zurückliefern, als auch einen nicht-boolschen Wert, welcher zu FALSE ausgewertet wird. Weitere Informationen entnehmen Sie bitte dem Abschnitt über die boolschen Typen. Benutzen Sie deshalb den === Operator, um den Rückgabewert dieser Funktion zu überprüfen.

Beispiele

Beispiel #1 stripos()-Beispiele

<?php
$findmich  = 'a';
$meinstring1 = 'xyz';
$meinstring2 = 'ABC';

$pos1 = stripos($meinstring1, $findmich);
$pos2 = stripos($meinstring2, $findmich);

// 'a' ist natürlich nicht in 'xyz' enthalten
if ($pos1 === false) {
    echo "Die Zeichenkette '$findmich' kommt nicht im String '$meinstring1' vor.";
}

// Beachten Sie die Verwendung von ===. Ein einfaches == funktioniert nicht wie
// erwartet, da 'a' an Position 0 (also erster!) Stelle steht
if ($pos2 !== false) {
    echo "Die Zeichenkette '$findmich' wurde in '$meinstring2' an Position $pos2 gefunden";
}
?>

Anmerkungen

Hinweis: Diese Funktion ist binary safe.

Siehe auch

  • mb_stripos() - Finds position of first occurrence of a string within another, case insensitive
  • strpos() - Sucht das erste Vorkommen des Suchstrings
  • strrpos() - Findet die Position des letzten Vorkommens eines Teilstrings innerhalb einer Zeichenkette
  • strripos() - Findet das letzte Vorkommen der gesuchten Zeichenkette in einem String, unabhängig von Groß- und Kleinschreibung
  • stristr() - Wie strstr, aber unabhängig von Groß- bzw. Kleinschreibung
  • substr() - Gibt einen Teil eines Strings zurück
  • str_ireplace() - Groß- und kleinschreibungsunabhängige Version von str_replace

stripcslashes
stripslashes
String-Funktionen


Entfernt Maskierungszeichen aus einem String

stripos
stristr
String-Funktionen
PHP Manual

stripslashes

(PHP 4, PHP 5, PHP 7)

stripslashes — Entfernt Maskierungszeichen aus einem String

Beschreibung

string stripslashes ( string $str )

Entfernt Maskierungszeichen aus einem String.

Hinweis:

Wenn magic_quotes_sybase eingeschaltet ist, werden keine einfachen Backslashes entfernt, doppelte jedoch durch einfache Backslashes ersetzt.

Eine exemplarische Anwendung für stripslashes() ergibt sich, wenn die PHP-Direktive magic_quotes_gpc auf On gesetzt ist (Default-Einstellung vor PHP 5.4), und Sie die übermittelten Daten an anderer Stelle, die eigenes Escaping erfordert (wie z.B. eine Datenbank), einfügen wollen. Zum Beispiel, wenn Sie Daten direkt aus einem HTML-Formular verarbeiten wollen.

Parameter-Liste

str

Die Eingabezeichenkette.

Rückgabewerte

Gibt einen String zurück, aus dem alle Backslashes ("\") entfernt wurden. (\' wird zu ' usw.). Doppelte Backslashes (\\) werden zu einem einfachen Backslash (\) umgesetzt.

Beispiele

Beispiel #1 Ein stripslashes()-Beispiel

<?php
$str = "Ist Ihr Name O\'reilly?";

// Ausgabe: Ist Ihr Name O'reilly?
echo stripslashes($str);
?>

Hinweis:

stripslashes() ist nicht rekursiv. Wenn Sie die Funktion auf ein mehrdimensionales Array anwenden wollen, müssen Sie eine rekursive Funktion verwenden.

Beispiel #2 Verwendung von stripslashes() in einem Array

<?php
function stripslashes_deep($value)
{
    $value = is_array($value) ?
                array_map('stripslashes_deep', $value) :
                stripslashes($value);

    return $value;
}

// Beispiel
$array = array("f\\'oo", "b\\'ar", array("fo\\'o", "b\\'ar"));
$array = stripslashes_deep($array);

// Ausgabe
print_r($array);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => f'oo
    [1] => b'ar
    [2] => Array
        (
            [0] => fo'o
            [1] => b'ar
        )

)

Siehe auch

  • addslashes() - Stellt bestimmten Zeichen eines Strings ein "\" voran
  • get_magic_quotes_gpc() - Zeigt die aktuelle Konfiguration von magic quotes gpc

stripos
stristr
String-Funktionen


Wie strstr, aber unabhängig von Groß- bzw. Kleinschreibung

stripslashes
strlen
String-Funktionen
PHP Manual

stristr

(PHP 4, PHP 5, PHP 7)

stristr — Wie strstr(), aber unabhängig von Groß- bzw. Kleinschreibung

Beschreibung

string stristr ( string $haystack , mixed $needle [, bool $before_needle = false ] )

Gibt den String haystack ab dem ersten Vorkommen (inklusive) von needle bis zum Ende zurück.

Parameter-Liste

haystack

Die Zeichenkette, in der gesucht werden soll.

needle

Ist needle kein String, wird der Parameter in einen Integerwert konvertiert, der dem Ordinalwert des Zeichens entspricht.

before_needle

Wenn der Wert auf TRUE gesetzt ist, gibt stristr() den Teil von haystack vor dem ersten Auftreten von needle zurück (ohne needle selbst).

needle und haystack werden ohne Rücksicht auf Groß- oder Kleinschreibung untersucht.

Rückgabewerte

Gibt den gefundenen Teilstring zurück. Wenn needle nicht gefunden wurde, gibt die Funktion FALSE zurück.

Changelog

Version | Beschreibung
5.3.0 | Der optionale Parameter before_needle wurde hinzugefügt.
4.3.0 | stristr() ist jetzt Binary safe.

Beispiele

Beispiel #1 stristr()-Beispiel

<?php
  $email = 'USER@EXAMPLE.com';
  echo stristr($email, 'e');       // Ausgabe: ER@EXAMPLE.com
  echo stristr($email, 'e', true); // Ab PHP 5.3.0, Ausgabe: US
?>

Beispiel #2 Prüfen, ob ein String gefunden wurde oder nicht

<?php
  $string = 'Hallo Welt!';
  if(stristr($string, 'Erde') === FALSE) {
    echo '"Erde" nicht gefunden';
  }
// Ausgabe: "Erde" nicht gefunden
?>

Beispiel #3 Verwendung eines Wertes, der kein String ist

<?php
  $string = 'APFEL';
  echo stristr($string, 97); // 97 = kleines a
// Ausgabe: APFEL
?>

Anmerkungen

Hinweis: Diese Funktion ist binary safe.

Siehe auch

  • strstr() - Findet das erste Vorkommen eines Strings
  • strrchr() - Sucht das letzte Vorkommen eines Zeichens in einem String
  • stripos() - Findet das erste Vorkommen eines Teilstrings in einem String, unabhängig von Groß- und Kleinschreibung
  • strpbrk() - Durchsucht einen String nach einem Zeichen aus einer Gruppe von Zeichen
  • preg_match() - Führt eine Suche mit einem regulären Ausdruck durch

stripslashes
strlen
String-Funktionen


Ermitteln der String-Länge

stristr
strnatcasecmp
String-Funktionen
PHP Manual

strlen

(PHP 4, PHP 5, PHP 7)

strlen — Ermitteln der String-Länge

Beschreibung

int strlen ( string $string )

Gibt die Länge der Zeichenkette string zurück.

Parameter-Liste

string

Der string wird auf seine Länge hin untersucht.

Rückgabewerte

Die Länge von string im Erfolgsfall, und 0 wenn string leer ist.

Changelog

Version | Beschreibung
5.3.0 | Frühere Versionen behandelten Arrays als die Zeichenkette Array; sie gaben daher 5 als Zeichenkettenlänge zurück und lösten E_NOTICE Level Fehler aus.

Beispiele

Beispiel #1 Ein strlen()-Beispiel

<?php
$str = 'abcdef';
echo strlen($str); // 6

$str = ' ab cd ';
echo strlen($str); // 7
?>

Anmerkungen

Hinweis:

strlen() gibt die Anzahl von Bytes statt der Anzahl von Zeichen in einer Zeichenkette zurück.

Hinweis:

strlen() gibt NULL zurück, falls sie mit Arrays aufgerufen wird und ein E_WARNING Level Fehler wird ausgelöst.

Siehe auch

  • count() - Zählt alle Elemente eines Arrays oder etwas in einem Objekt
  • grapheme_strlen() - Get string length in grapheme units
  • iconv_strlen() - Returns the character count of string
  • mb_strlen() - Get string length

stristr
strnatcasecmp
String-Funktionen


String-Vergleich "natürlicher Ordnung" ohne Unterscheidung der Schreibweise

strlen
strnatcmp
String-Funktionen
PHP Manual

strnatcasecmp

(PHP 4, PHP 5, PHP 7)

strnatcasecmp — String-Vergleich "natürlicher Ordnung" ohne Unterscheidung der Schreibweise

Beschreibung

int strnatcasecmp ( string $str1 , string $str2 )

Die Funktion implementiert einen Vergleichsalgorithmus, der alphanumerische Strings sortiert, wie es ein Mensch täte. Das Verhalten der Funktion entspricht strnatcmp() mit der Ausnahme, dass der Vergleich ohne Berücksichtigung von Groß- und Kleinschreibungen durchgeführt wird. Weitere Informationen finden sie auf Martin Pools » Natural Order String Comparison-Seite.

Parameter-Liste

str1

Die erste Zeichenkette.

str2

Die zweite Zeichenkette.

Rückgabewerte

Ähnlich anderen String-Vergleichs-Funktionen gibt diese < 0 zurück, wenn str1 kleiner ist als str2, bzw. > 0, wenn str1 größer ist als str2, oder 0, wenn sie gleich sind.

Siehe auch

  • preg_match() - Führt eine Suche mit einem regulären Ausdruck durch
  • strcmp() - Vergleich zweier Strings (Binary safe)
  • strcasecmp() - Vergleich von Zeichenketten ohne Unterscheidung der Groß- und Kleinschreibung (Binary safe)
  • substr() - Gibt einen Teil eines Strings zurück
  • stristr() - Wie strstr, aber unabhängig von Groß- bzw. Kleinschreibung
  • strncasecmp() - Binärdaten-sicherer und groß- und kleinschreibungs-unabhängiger Stringvergleich der ersten n Zeichen
  • strncmp() - String-Vergleich der ersten n Zeichen (Binary safe)
  • strstr() - Findet das erste Vorkommen eines Strings
  • setlocale() - Legt regionale (locale) Einstellungen fest

strlen
strnatcmp
String-Funktionen


String-Vergleich unter Verwendung einer "natürlichen Ordnung"

strnatcasecmp
strncasecmp
String-Funktionen
PHP Manual

strnatcmp

(PHP 4, PHP 5, PHP 7)

strnatcmp — String-Vergleich unter Verwendung einer "natürlichen Ordnung"

Beschreibung

int strnatcmp ( string $str1 , string $str2 )

Diese Funktion implemetiert einen Vergleichsalgorithmus, der alphanumerische Zeichenketten "menschlich" ordnet (auch "natürliche Ordnung" genannt). Beachten Sie, dass der Vergleich Groß- und Kleinschreibung berücksichtigt.

Parameter-Liste

str1

Die erste Zeichenkette.

str2

Die zweite Zeichenkette.

Rückgabewerte

Gibt einen Wert < 0 zurück, wenn str1 in der natürlichen Sortierung vor str2 steht, einen Wert > 0, wenn str1 in der natürlichen Sortierung hinter str2 steht, und 0, wenn sie gleich sind.

Beispiele

Der Unterschied zwischen dieser und der regulären String-Sortierung eines Computers (wie sie strcmp() verwendet) wird in dem folgenden Beispiel gezeigt:

<?php
$arr1 = $arr2 = array("img12.png", "img10.png", "img2.png", "img1.png");
echo "Normaler String-Vergleich\n";
usort($arr1, "strcmp");
print_r($arr1);
echo "\nVergleich mittels natürlicher Ordnung\n";
usort($arr2, "strnatcmp");
print_r($arr2);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Normaler String-Vergleich
Array
(
    [0] => img1.png
    [1] => img10.png
    [2] => img12.png
    [3] => img2.png
)

Vergleich mittels natürlicher Ordnung
Array
(
    [0] => img1.png
    [1] => img2.png
    [2] => img10.png
    [3] => img12.png
)
Weitere Informationen finden Sie auf Martin Pools » Natural Order String Comparison-Seite.

Siehe auch

  • preg_match() - Führt eine Suche mit einem regulären Ausdruck durch
  • strcasecmp() - Vergleich von Zeichenketten ohne Unterscheidung der Groß- und Kleinschreibung (Binary safe)
  • substr() - Gibt einen Teil eines Strings zurück
  • stristr() - Wie strstr, aber unabhängig von Groß- bzw. Kleinschreibung
  • strcmp() - Vergleich zweier Strings (Binary safe)
  • strncmp() - String-Vergleich der ersten n Zeichen (Binary safe)
  • strncasecmp() - Binärdaten-sicherer und groß- und kleinschreibungs-unabhängiger Stringvergleich der ersten n Zeichen
  • strnatcasecmp() - String-Vergleich "natürlicher Ordnung" ohne Unterscheidung der Schreibweise
  • strstr() - Findet das erste Vorkommen eines Strings
  • natsort() - Sortiert ein Array in "natürlicher Reihenfolge"
  • natcasesort() - Sortiert ein Array in "natürlicher Reihenfolge", Groß/Kleinschreibung wird ignoriert

strnatcasecmp
strncasecmp
String-Funktionen


Binärdaten-sicherer und groß- und kleinschreibungs-unabhängiger Stringvergleich der ersten n Zeichen

strnatcmp
strncmp
String-Funktionen
PHP Manual

strncasecmp

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

strncasecmp — Binärdaten-sicherer und groß- und kleinschreibungs-unabhängiger Stringvergleich der ersten n Zeichen

Beschreibung

int strncasecmp ( string $str1 , string $str2 , int $len )

Diese Funktion ist identisch zu strcasecmp() bis auf den Unterschied, dass Sie die (Mindest-) Anzahl von Zeichen, die von jeder Zeichenkette in den Vergleich einfließen sollen, angeben können.

Parameter-Liste

str1

Die erste Zeichenkette.

str2

Die zweite Zeichenkette.

len

Die Länge der Zeichenkette, die für den Vergleich herangezogen werden soll.

Rückgabewerte

Gibt einen Wert <0 zurück, wenn str1 kürzer ist als str2, einen Wert >0, wenn str1 länger ist als str2, und 0, wenn sie gleich sind.

Siehe auch

  • strncmp() - String-Vergleich der ersten n Zeichen (Binary safe)
  • preg_match() - Führt eine Suche mit einem regulären Ausdruck durch
  • substr_compare() - Binärdaten-sicherer Vergleich zweier Strings, beginnend an einer bestimmten Position und endend nach einer festgelegten Länge
  • strcasecmp() - Vergleich von Zeichenketten ohne Unterscheidung der Groß- und Kleinschreibung (Binary safe)
  • stristr() - Wie strstr, aber unabhängig von Groß- bzw. Kleinschreibung
  • substr() - Gibt einen Teil eines Strings zurück

strnatcmp
strncmp
String-Funktionen


String-Vergleich der ersten n Zeichen (Binary safe)

strncasecmp
strpbrk
String-Funktionen
PHP Manual

strncmp

(PHP 4, PHP 5, PHP 7)

strncmp — String-Vergleich der ersten n Zeichen (Binary safe)

Beschreibung

int strncmp ( string $str1 , string $str2 , int $len )

Diese Funktion ist ähnlich strcmp() mit dem Unterschied, dass Sie die (maximale) Anzahl Zeichen (len) angeben können, die bei jedem String verglichen werden soll.

Beachten Sie, dass der Vergleich Groß- und Kleinschreibung berücksichtigt.

Parameter-Liste

str1

Die erste Zeichenkette.

str2

Die zweite Zeichenkette.

len

Die Anzahl der Zeichen, die für den Vergleich herangezogen werden soll.

Rückgabewerte

Ist str1 kleiner als str2 wird < 0 zurückgegeben, ist str1 größer als str2 > 0, und bei Gleichheit gibt die Funktion 0 zurück.

Siehe auch

  • strncasecmp() - Binärdaten-sicherer und groß- und kleinschreibungs-unabhängiger Stringvergleich der ersten n Zeichen
  • preg_match() - Führt eine Suche mit einem regulären Ausdruck durch
  • substr_compare() - Binärdaten-sicherer Vergleich zweier Strings, beginnend an einer bestimmten Position und endend nach einer festgelegten Länge
  • strcmp() - Vergleich zweier Strings (Binary safe)
  • strstr() - Findet das erste Vorkommen eines Strings
  • substr() - Gibt einen Teil eines Strings zurück

strncasecmp
strpbrk
String-Funktionen


Durchsucht einen String nach einem Zeichen aus einer Gruppe von Zeichen

strncmp
strpos
String-Funktionen
PHP Manual

strpbrk

(PHP 5, PHP 7)

strpbrk — Durchsucht einen String nach einem Zeichen aus einer Gruppe von Zeichen

Beschreibung

string strpbrk ( string $haystack , string $char_list )

strpbrk() durchsucht den String haystack nach dem ersten Vorkommen eines Zeichens aus char_list.

Parameter-Liste

haystack

Die Zeichenkette, in der char_list gesucht werden soll.

char_list

Dieser Parameter berücksichtigt Groß- und Kleinschreibung.

Rückgabewerte

Gibt den Rest des Strings, beginnend bei der ersten Fundstelle, zurück; falls kein Zeichen gefunden wird jedoch FALSE.

Beispiele

Beispiel #1 strpbrk()-Beispiel

<?php

$text = 'Dies ist ein einfacher Text.';

// Gibt "ies ist ein einfacher Text." aus, da 'i' als erstes gefunden wird
echo strpbrk($text, 'ti');

// Gibt "Text." aus, da Groß- und Kleinschreibung berücksichtigt wird
echo strpbrk($text, 'T');
?>

Siehe auch

  • strpos() - Sucht das erste Vorkommen des Suchstrings
  • strstr() - Findet das erste Vorkommen eines Strings
  • preg_match() - Führt eine Suche mit einem regulären Ausdruck durch

strncmp
strpos
String-Funktionen


Sucht das erste Vorkommen des Suchstrings

strpbrk
strrchr
String-Funktionen
PHP Manual

strpos

(PHP 4, PHP 5, PHP 7)

strpos — Sucht das erste Vorkommen des Suchstrings

Beschreibung

mixed strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )

Gibt die numerische Position des ersten Vorkommens von needle innerhalb der Zeichenkette haystack zurück.

Parameter-Liste

haystack

Die Zeichenkette, in der gesucht werden soll.

needle

Ist needle kein String, wird der Parameter in einen Integerwert konvertiert, der dem Ordinalwert des Zeichens entspricht.

offset

Der optionale Parameter offset ermöglicht es Ihnen, die Startposition für die Suche innerhalb von haystack anzugeben. Die zurück gegebene Positions-Angabe ist dann relativ zum Anfang von haystack.

Rückgabewerte

Gibt die Position als Integerwert zurück. Wurde needle nicht gefunden, gibt strpos() den boolean-Wert FALSE zurück.

Warnung

Diese Funktion kann sowohl das boolsche FALSE zurückliefern, als auch einen nicht-boolschen Wert, welcher zu FALSE ausgewertet wird. Weitere Informationen entnehmen Sie bitte dem Abschnitt über die boolschen Typen. Benutzen Sie deshalb den === Operator, um den Rückgabewert dieser Funktion zu überprüfen.

Beispiele

Beispiel #1 Verwendung von ===

<?php
$meinString = 'abc';
$findMich   = 'a';
$pos = strpos($meinString, $findMich);

// Beachten Sie die Verwendung von ===. Ein einfacher Vergleich (==) liefert
// nicht das erwartete Ergebnis, da die Position von 'a' die nullte Stelle
// (also das erste Zeichen) ist
if ($pos === false) {
    echo "Der String '$findMich' wurde nicht im String '$meinString' gefunden";
} else {
    echo "Der String '$findMich' wurde im String '$meinString' gefunden";
    echo " und befindet sich an Position $pos";
}
?>

Beispiel #2 Verwendung von !==

<?php
$meinString = 'abc';
$findMich   = 'a';
$pos = strpos($meinString, $findMich);

// Der !==-Operator kann ebenfalls verwendet werden. Die Verwendung von != von
// != würde in unserem Beispiel nicht wie erwartet arbeiten, da die Position
// von 'a' 0 ist. Das Statement (0 != false) evaluiert hierbei zu false.
if ($pos !== false) {
    echo "Der String '$findMich' wurde im String '$meinString' gefunden";
    echo " und befindet sich an Position $pos";
} else {
    echo "Der String '$findMich' wurde nicht im String '$meinString' gefunden";
}
?>

Beispiel #3 Verwendung eines Offsets

<?php
// Wir koennen nach einem Zeichen suchen und dabei alles vor dem Offset ignorieren
$newstring = 'abcdef abcdef';
$pos = strpos($newstring, 'a', 1); // $pos = 7, nicht 0
?>

Anmerkungen

Hinweis: Diese Funktion ist binary safe.

Siehe auch

  • strrpos() - Findet die Position des letzten Vorkommens eines Teilstrings innerhalb einer Zeichenkette
  • stripos() - Findet das erste Vorkommen eines Teilstrings in einem String, unabhängig von Groß- und Kleinschreibung
  • strripos() - Findet das letzte Vorkommen der gesuchten Zeichenkette in einem String, unabhängig von Groß- und Kleinschreibung
  • strrchr() - Sucht das letzte Vorkommen eines Zeichens in einem String
  • substr() - Gibt einen Teil eines Strings zurück
  • stristr() - Wie strstr, aber unabhängig von Groß- bzw. Kleinschreibung
  • strstr() - Findet das erste Vorkommen eines Strings

strpbrk
strrchr
String-Funktionen


Sucht das letzte Vorkommen eines Zeichens in einem String

strpos
strrev
String-Funktionen
PHP Manual

strrchr

(PHP 4, PHP 5, PHP 7)

strrchr — Sucht das letzte Vorkommen eines Zeichens in einem String

Beschreibung

string strrchr ( string $haystack , mixed $needle )

Diese Funktion gibt den letzten Teil von haystack beginnend mit dem letzten Vorkommen von needle bis zum Ende von haystack zurück.

Parameter-Liste

haystack

Die Zeichenkette, in der gesucht werden soll.

needle

Enthält needle mehr als ein Zeichen, wird nur das erste Zeichen verwendet. Damit unterscheidet sich das Verhalten der Funktion gegenüber strstr().

Ist needle kein String, wird der Parameter in einen Integerwert konvertiert, der dem Ordinalwert des Zeichens entspricht.

Rückgabewerte

Die Funktion gibt den einen Teil der Zeichenkette zurück, wird needle nicht gefunden, ist der Rückgabewert FALSE.

Changelog

Version | Beschreibung
4.3.0 | Die Funktion ist jetzt Binary safe.

Beispiele

Beispiel #1 strrchr()-Beispiel

<?php
// hole das letzte Verzeichnis aus $PATH
$dir = substr (strrchr ($PATH, ":"), 1);

// hole alles nach dem letzten "Neue-Zeile"
$text = "Zeile 1\nZeile 2\nZeile 3";
$last = substr (strrchr ($text, 10), 1 );
?>

Anmerkungen

Hinweis: Diese Funktion ist binary safe.

Siehe auch

  • strstr() - Findet das erste Vorkommen eines Strings
  • strrpos() - Findet die Position des letzten Vorkommens eines Teilstrings innerhalb einer Zeichenkette

strpos
strrev
String-Funktionen


Kehrt einen String um

strrchr
strripos
String-Funktionen
PHP Manual

strrev

(PHP 4, PHP 5, PHP 7)

strrev — Kehrt einen String um

Beschreibung

string strrev ( string $string )

Gibt string in umgekehrter Reihenfolge zurück.

Parameter-Liste

string

Die umzukehrende Zeichenkette.

Rückgabewerte

Gibt die umgekehrte Zeichenfolge zurück.

Beispiele

Beispiel #1 Umkehren eines Strings mit strrev()

<?php
echo strrev("Hallo Welt!"); // Ausgabe: "!tleW ollaH"
?>

strrchr
strripos
String-Funktionen


Findet das letzte Vorkommen der gesuchten Zeichenkette in einem String, unabhängig von Groß- und Kleinschreibung

strrev
strrpos
String-Funktionen
PHP Manual

strripos

(PHP 5, PHP 7)

strripos — Findet das letzte Vorkommen der gesuchten Zeichenkette in einem String, unabhängig von Groß- und Kleinschreibung

Beschreibung

int strripos ( string $haystack , string $needle [, int $offset = 0 ] )

Findet das letzte Vorkommen der gesuchten Zeichenkette in einem String. Im Gegensatz zu strrpos() beachtet strripos() die Groß- und Kleinschreibung nicht.

Parameter-Liste

haystack

Die Zeichenkette, in der gesucht werden soll.

needle

Ist needle kein String, wird der Parameter in einen Integerwert konvertiert, der dem Ordinalwert des Zeichens entspricht.

offset

Wenn angegeben, wird die Suche diese Anzahl an Buchstaben vom Anfang des Strings gezählt stoppen. Wenn der Wert negativ ist, startet die Suche stattdessen diese Anzahl an Zeichen vom Ende des Strings aus.

Rückgabewerte

Gibt die numerische Position des letzten Vorkommens von needle zurück. Beachten Sie außerdem, dass die Funktion bei 0 zu zählen beginnt, nicht bei 1.

Wenn needle nicht gefunden wird, gibt die Funktion FALSE zurück.

Warnung

Diese Funktion kann sowohl das boolsche FALSE zurückliefern, als auch einen nicht-boolschen Wert, welcher zu FALSE ausgewertet wird. Weitere Informationen entnehmen Sie bitte dem Abschnitt über die boolschen Typen. Benutzen Sie deshalb den === Operator, um den Rückgabewert dieser Funktion zu überprüfen.

Beispiele

Beispiel #1 Ein einfaches strripos()-Beispiel

<?php
$haystack = 'ababcd';
$needle   = 'aB';

$pos      = strripos($haystack, $needle);

if ($pos === false) {
    echo "Leider wurde ($needle) nicht in ($haystack) gefunden.";
} else {
    echo "Glückwunsch!\n";
    echo "Das letzte Vorkommen von ($needle) in ($haystack) ist an Position ($pos).";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

   Glückwunsch!
   Das letzte Vorkommen von (aB) in (ababcd) ist an Position (2).

Siehe auch

  • strpos() - Sucht das erste Vorkommen des Suchstrings
  • stripos() - Findet das erste Vorkommen eines Teilstrings in einem String, unabhängig von Groß- und Kleinschreibung
  • strrchr() - Sucht das letzte Vorkommen eines Zeichens in einem String
  • substr() - Gibt einen Teil eines Strings zurück
  • stristr() - Wie strstr, aber unabhängig von Groß- bzw. Kleinschreibung
  • strstr() - Findet das erste Vorkommen eines Strings

strrev
strrpos
String-Funktionen


Findet die Position des letzten Vorkommens eines Teilstrings innerhalb einer Zeichenkette

strripos
strspn
String-Funktionen
PHP Manual

strrpos

(PHP 4, PHP 5, PHP 7)

strrpos — Findet die Position des letzten Vorkommens eines Teilstrings innerhalb einer Zeichenkette

Beschreibung

int strrpos ( string $haystack , string $needle [, int $offset = 0 ] )

Gibt die numerische Position des letzten Vorkommens von needle innerhalb der Zeichenkette haystack zurück.

Parameter-Liste

haystack

Die Zeichenkette in der gesucht werden soll.

needle

Ist needle kein String, wird der Parameter in einen Integerwert konvertiert, der dem Ordinalwert des Zeichens entspricht.

offset

Wenn angegeben, wird die Suche diese Anzahl an Buchstaben vom Anfang des Strings gezählt stoppen. Wenn der Wert negativ ist, startet die Suche stattdessen diese Anzahl an Zeichen vom Ende des Strings aus.

Rückgabewerte

Gibt die Position des Vorkommens des gesuchten Teilstrings relativ zum Anfang der Zeichenkette haystack (unabhängig von Suchrichtung oder Offset) zurück. Beachten Sie bitte, dass Positionen in Zeichenketten ab 0 gezählt werden und nicht ab 1.

Gibt FALSE zurück, falls der gesuchte teilstring nicht gefunden wurde.

Warnung

Diese Funktion kann sowohl das boolsche FALSE zurückliefern, als auch einen nicht-boolschen Wert, welcher zu FALSE ausgewertet wird. Weitere Informationen entnehmen Sie bitte dem Abschnitt über die boolschen Typen. Benutzen Sie deshalb den === Operator, um den Rückgabewert dieser Funktion zu überprüfen.

Changelog

Version | Beschreibung
5.0.0 | needle kann nun aus mehr als einem Buchstaben bestehen.

Beispiele

Beispiel #1 Prüfen ob needle in haystack vorkommt

Es liegt nahe, einen Fehler bei der Auswertung der Rückgabewerte von "Zeichen an Position 0 gefunden" und "Zeichen nicht gefunden" zu begehen. Am einfachsten finden Sie den Unterschied wie folgt heraus:

<?php

$pos = strrpos($meinstring, "b");
if ($pos === false) { // Beachten sie die drei Gleichheitszeichen
    // nicht gefunden ...
}

?>

Beispiel #2 Mit Offsets suchen

<?php
$foo = "0123456789a123456789b123456789c";

var_dump(strrpos($foo, '7', -5));  // Beginnt die Suche fünf Zeichen
                                   // vom Ende aus. Ergebnis: int(17)

var_dump(strrpos($foo, '7', 20));  // Beginnt die Suche zwanzig Zeichen
                                   // vom Anfang aus. Ergebnis: int(27)

var_dump(strrpos($foo, '7', 28));  // Ergebnis: bool(false)
?>

Siehe auch

  • strpos() - Sucht das erste Vorkommen des Suchstrings
  • stripos() - Findet das erste Vorkommen eines Teilstrings in einem String, unabhängig von Groß- und Kleinschreibung
  • strripos() - Findet das letzte Vorkommen der gesuchten Zeichenkette in einem String, unabhängig von Groß- und Kleinschreibung
  • strrchr() - Sucht das letzte Vorkommen eines Zeichens in einem String
  • substr() - Gibt einen Teil eines Strings zurück

strripos
strspn
String-Funktionen


Ermittelt die Länge des initialen Abschnitts einer Zeichenkette, der ausschließlich aus Zeichen besteht, die in einer übergebenen Maske enthalten sind.

strrpos
strstr
String-Funktionen
PHP Manual

strspn

(PHP 4, PHP 5, PHP 7)

strspn — Ermittelt die Länge des initialen Abschnitts einer Zeichenkette, der ausschließlich aus Zeichen besteht, die in einer übergebenen Maske enthalten sind.

Beschreibung

int strspn ( string $subject , string $mask [, int $start [, int $length ]] )

Ermittelt die Länge des initialen Abschnitts von subject der ausschließlich Zeichen aus mask enthält.

Wenn start und length ausgelassen werden, werden alle Zeichen von subject untersucht. Wenn sie enthalten sind, ist das Ergebnis das Gleiche wie der Aufruf strspn(substr($subject, $start, $length), $mask) (siehe substr für mehr Informationen).

Die Zeile

<?php
$var = strspn("42 ist die Antwort, was auf die 128. Frage?", "1234567890");
?>
ordnet 2 der Variable $var zu, da der String "42" das ist der initiale Abschnitt des subject das ausschließlich aus Zeichen besteht, die in der Menge "1234567890" enthalten sind.

Parameter-Liste

subject

Die zu untersuchende Zeichenkette.

mask

Die Menge der erlaubten Zeichen.

start

Die Position in subject an der die Suche startet.

Wurde start übergeben und ist nicht-negativ, wird strspn() beginnen subject an der startn Position zu untersuchen. Zum Beispiel in der Zeichenkette 'abcdef', das Zeichen an Position 0 ist 'a', das Zeichen an Position 2 ist 'c' und so weiter.

Wurdestart übergeben und ist negativ, wird strspn() beginnen subject an der startn Position vom Ende von subject zu untersuchen.

length

Die zu untersuchende Länge des Abschnitts von subject.

Wurde start übergeben und ist nicht-negativ, werden length Zeichen von subject nach der Startposition untersucht.

Wurde start übergeben und ist negativ, wird subject von der Startposition bis zu length Zeichen vom Ende von subject untersucht.

Rückgabewerte

Gibt die Länge des Abschnittes am Anfang von subject zurück, der vollständig aus in mask angegebenen Zeichen besteht.

Beispiele

Beispiel #1 strspn()-Beispiel

<?php
// subject beginnt nicht mit einem der Zeichen aus mask
var_dump(strspn("foo", "o"));

// Untersuche zwei Zeichen aus subject beginnend bei Offset 1
var_dump(strspn("foo", "o", 1, 2));

// Untersuche ein Zeichen aus subject beginnend bei Offset 1
var_dump(strspn("foo", "o", 1, 1));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(0)
int(2)
int(1)

Anmerkungen

Hinweis: Diese Funktion ist binary safe.

Siehe auch

  • strcspn() - Ermittelt die Anzahl der nicht übereinstimmenden Zeichen

strrpos
strstr
String-Funktionen


Findet das erste Vorkommen eines Strings

strspn
strtok
String-Funktionen
PHP Manual

strstr

(PHP 4, PHP 5, PHP 7)

strstr — Findet das erste Vorkommen eines Strings

Beschreibung

string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] )

Gibt den Teil der Zeichenkette haystack ab dem ersten Vorkommen (inklusive) von needle bis zum Ende von haystack zurück.

Hinweis:

Diese Funktion unterscheidet zwischen Groß- und Kleinschreibung. Soll die Suche nicht zwischen Groß- und Kleinschreibung unterscheiden, verwenden Sie stristr().

Hinweis:

Wenn Sie nur herausfinden möchten, ob ein bestimmter needle innerhalb von haystack vorkommt, verwenden Sie stattdessen die schnellere und weniger speicherintensive Funktion strpos().

Parameter-Liste

haystack

Die Eingabezeichenkette.

needle

Ist needle kein String, wird der Parameter in einen Integerwert konvertiert, der dem Ordinalwert des Zeichens entspricht.

before_needle

Ist der Wert auf TRUE gesetzt, gibt strstr() den Teil von haystack zurück, der sich vor dem ersten Vorkommen von needle befindet (ohne needle selbst).

Rückgabewerte

Gibt einen Teil der Zeichenkette zurück. Wird needle nicht gefunden, wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.3.0 | Der optionale Parameter before_needle wurde hinzugefügt.
4.3.0 | strstr() ist nun binary safe.

Beispiele

Beispiel #1 strstr()-Beispiel

<?php
$email  = 'name@example.com';
$domain = strstr($email, '@');
echo $domain; // Ausgabe: @example.com

$user = strstr($email, '@', true); // Ab PHP 5.3.0
echo $user; // Ausgabe: name
?>

Siehe auch

  • stristr() - Wie strstr, aber unabhängig von Groß- bzw. Kleinschreibung
  • strrchr() - Sucht das letzte Vorkommen eines Zeichens in einem String
  • strpos() - Sucht das erste Vorkommen des Suchstrings
  • strpbrk() - Durchsucht einen String nach einem Zeichen aus einer Gruppe von Zeichen
  • preg_match() - Führt eine Suche mit einem regulären Ausdruck durch

strspn
strtok
String-Funktionen


Zerlegt einen String

strstr
strtolower
String-Funktionen
PHP Manual

strtok

(PHP 4, PHP 5, PHP 7)

strtok — Zerlegt einen String

Beschreibung

string strtok ( string $str , string $token )
string strtok ( string $token )

strtok() zerlegt einen String (str) in kürzere Strings (Tokens), wobei jeder Token von im Parameter token festgelegten Zeichen begrenzt wird. Das bedeutet, dass, wenn Sie eine Zeichenkette wie "Dies ist ein Beispiel-String" haben, Sie ihn in seine einzelnen Worte zerlegen können, wenn Sie das Leerzeichen als Token verwenden.

Beachten Sie, dass nur der erste Aufruf von strtok das String-Argument verwendet. Jeder Folgeaufruf von strtok benötigt nur den zu beachtenden Token, um herauszufinden, wo sich diese im aktuellen String befinden. Um neu zu beginnen oder einen neuen String zu zerlegen, müssen Sie nur erneut strtok mit dem string-Parameter aufrufen, damit die Funktion neu initialisiert wird. Beachten Sie, dass Sie mehrere Token im Token-Parameter angeben können. Der String wird dann an jeder Stelle zerlegt, an der eines der angegebenen Zeichen gefunden wird.

Parameter-Liste

str

Der String, der in kleinere Zeichenketten (Token) zerlegt werden soll.

token

Die Trennzeichen, die auf str angewendet werden sollen.

Rückgabewerte

Der aktuelle String-Token.

Beispiele

Beispiel #1 strtok()-Beispiel

<?php
$string = "Dies ist\tein Beispiel-\nString";
/* Sowohl das Tabulator- als auch das Newline-Zeichen werden
   zusätzlich zum Leerzeichen als Token zum Zerlegen verwendet */
$tok = strtok($string, " \n\t");

while ($tok !== false) {
    echo "Wort=$tok<br />";
    $tok = strtok(" \n\t");
}
?>

Das Verhalten der Funktion beim Auffinden eines leeren Teils wurde in PHP 4.1.0 verändert. Zuvor wurde ein leerer String zurückgegeben, wohingegen das neue, korrekte Verhalten diesen Teil des Strings verwirft.

Beispiel #2 Altes Verhalten von strtok()

<?php
$erster_token  = strtok('/irgendetwas', '/');
$zweiter_token = strtok('/');
var_dump($erster_token, $zweiter_token);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

    string(0) ""
    string(11) "irgendetwas"

Beispiel #3 Neues Verhalten von strtok()

<?php
$erster_token  = strtok('/irgendetwas', '/');
$zweiter_token = strtok('/');
var_dump($erster_token, $zweiter_token);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

    string(11) "irgendetwas"
    bool(false)

Anmerkungen

Warnung

Diese Funktion kann sowohl das boolsche FALSE zurückliefern, als auch einen nicht-boolschen Wert, welcher zu FALSE ausgewertet wird. Weitere Informationen entnehmen Sie bitte dem Abschnitt über die boolschen Typen. Benutzen Sie deshalb den === Operator, um den Rückgabewert dieser Funktion zu überprüfen.

Siehe auch

  • split() - Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks in ein Array
  • explode() - Teilt einen String anhand einer Zeichenkette

strstr
strtolower
String-Funktionen


Setzt einen String in Kleinbuchstaben um

strtok
strtoupper
String-Funktionen
PHP Manual

strtolower

(PHP 4, PHP 5, PHP 7)

strtolower — Setzt einen String in Kleinbuchstaben um

Beschreibung

string strtolower ( string $string )

Gibt einen string zurück, in dem alle Buchstaben in Kleinbuchstaben umgewandelt wurden.

Beachten Sie, dass 'Buchstaben' vom aktuellen Gebietschema abhängig ist. Ist z. B. die Voreinstellung für das Gebietschema "C", werden Sonderzeichen wie Umlaute (Ä, Ö, Ü) nicht umgewandelt.

Parameter-Liste

string

Die Eingabezeichenkette.

Rückgabewerte

Gibt die Zeichenkette in Kleinbuchstaben zurück.

Beispiele

Beispiel #1 strtolower()-Beispiel

<?php
$str = "Mary Hat Ein Kleines Lamm, und Sie LIEBT Es So.";
$str = strtolower($str);
echo $str; // Gibt aus: mary hat ein kleines lamm, und sie liebt es so.
?>

Anmerkungen

Hinweis: Diese Funktion ist binary safe.

Siehe auch

  • strtoupper() - Wandelt alle Zeichen eines Strings in Großbuchstaben um
  • ucfirst() - Verwandelt das erste Zeichen eines Strings in einen Großbuchstaben
  • ucwords() - Wandelt jeden ersten Buchstaben eines Wortes innerhalb eines Strings in einen Großbuchstaben
  • mb_strtolower() - Make a string lowercase

strtok
strtoupper
String-Funktionen


Wandelt alle Zeichen eines Strings in Großbuchstaben um

strtolower
strtr
String-Funktionen
PHP Manual

strtoupper

(PHP 4, PHP 5, PHP 7)

strtoupper — Wandelt alle Zeichen eines Strings in Großbuchstaben um

Beschreibung

string strtoupper ( string $string )

Gibt string zurück, in dem alle Buchstaben in Großbuchstaben umgewandelt wurden.

Beachten Sie, dass die Erkennung von 'Buchstaben' vom Wert locale abhängig ist. Ist z. B. die Voreinstellung für locale "C", werden Sonderzeichen wie Umlaute (ä, ö, ü) nicht umgewandelt.

Parameter-Liste

string

Die Eingabezeichenkette.

Rückgabewerte

Gibt die Zeichenkette in Großbuchstaben zurück.

Beispiele

Beispiel #1 strtoupper()-Beispiel

<?php
$str = "Mary Hat Ein Kleines Lamm, und Sie LIEBT Es So.";
$str = strtoupper($str);
echo $str; // Gibt aus: MARY HAT EIN KLEINES LAMM, UND SIE LIEBT ES SO.
?>

Anmerkungen

Hinweis: Diese Funktion ist binary safe.

Siehe auch

  • strtolower() - Setzt einen String in Kleinbuchstaben um
  • ucfirst() - Verwandelt das erste Zeichen eines Strings in einen Großbuchstaben
  • ucwords() - Wandelt jeden ersten Buchstaben eines Wortes innerhalb eines Strings in einen Großbuchstaben
  • mb_strtoupper() - Make a string uppercase

strtolower
strtr
String-Funktionen


Tauscht Zeichen aus oder ersetzt Zeichenketten

strtoupper
substr_compare
String-Funktionen
PHP Manual

strtr

(PHP 4, PHP 5, PHP 7)

strtr — Tauscht Zeichen aus oder ersetzt Zeichenketten

Beschreibung

string strtr ( string $str , string $from , string $to )
string strtr ( string $str , array $replace_pairs )

Diese Funktion gibt eine Kopie von str zurück, in der alle Vorkommen jedes Zeichens von from in das korrespondierende Zeichen in to umgewandelt wurden. Mit drei Argumenten gibt diese Funktion eine Kopie von str zurück, in der alle Vorkommen jedes (single-byte) Zeichens von from in das korrespondierende Zeichen in to übersetzt wurden; d. h. jedes Vorkommen von $from[$n] wurde ersetzt durch $to[$n], wobei $n ein gültiger Offset in beiden Argumenten ist.

Haben from und to eine unterschiedliche Länge, werden die überzähligen Zeichen im jeweils längeren Parameter ignoriert. Die Länge von str wird die gleiche wie die des Rückgabewertes sein.

Wurden zwei Argumente übergeben, sollte das zweite ein array in der Form array('from' => 'to', ...) sein. Der Rückgabewert ist ein string in dem alle Vorkommen der Array Schlüssel durch die entsprechenden Werte ersetzt wurden. Die längsten Schlüssel werden zuerst getestet werden. Wurde eine Teilzeichenkette ersetzt, wird ihr neuer Wert nicht nochmals durchsucht.

In diesem Fall können die Schlüssel und Werte beliebige Längen haben, vorausgesetzt, es gibt keinen leeren Schlüssel; zusätzlich kann die Länge des Rückgabewertes von der de str abweichen. Diese Funktion ist jedoch dann am effizientesten, wenn alle Schlüssel die gleiche Größe besitzen.

Parameter-Liste

str

Der String, in dem die Ersetzungen vorgenommen werden sollen.

from

Der String, der gegen to ausgetauscht werden soll.

to

Der String, der from ersetzen soll.

replace_pairs

Der replace_pairs-Parameter kann anstatt der Parameter to und from verwendet werden. In diesem Fall muss ein array in der Form array('von' => 'nach', ...) übergeben werden.

Rückgabewerte

Gibt den übersetzten string zurück.

Wenn replace_pairs einen Schlüssel enthält, der ein leerer string ("") ist, wird FALSE zurückgegeben. Ist str kein Skalar, dann wird er nicht in eine Zeichenkette umgewandelt; statt dessen wird eine Warnung erzeugt und NULL zurückgegeben.

Beispiele

Beispiel #1 strtr()-Beispiel

//In dieser Form, strtr() übersetzt byte-zu-byte
//Daher gehen wir hier von einer single-byte Kodierung aus.
<?php
$addr = strtr($addr, "äåö", "aao");
?>

Das nächste Beispiel zeigt das Verhalten von strtr(), aufgerufen mit nur zwei Argumenten. Beachten Sie den Vorrang der Ersetzungen ("h" wird nicht gewählt, da es längere Übereinstimmungen gibt) und dass der ersetzte Text nicht erneut durchsucht wurde.

Beispiel #2 strtr()-Beispiel mit zwei Argumenten

<?php
$trans = array("h" => "-", "hello" => "hi", "hi" => "hello");
echo strtr("hi all, I said hello", $trans);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

hello all, I said hi

Die zwei Verhaltensweisen unterscheiden sich wesentlich. Mit 3 Argumenten esetzt strtr() Bytes; mit zweien kann sie längere Teilzeichenketten ersetzen.

Beispiel #3 strtr() Vergleich der Verhaltensweisen

<?php
echo strtr("baab", "ab", "01"),"\n";

$trans = array("ab" => "01");
echo strtr("baab", $trans);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1001
ba01

Siehe auch

  • str_replace() - Ersetzt alle Vorkommen des Suchstrings durch einen anderen String
  • preg_replace() - Sucht und ersetzt mit regulären Ausdrücken

strtoupper
substr_compare
String-Funktionen


Binärdaten-sicherer Vergleich zweier Strings, beginnend an einer bestimmten Position und endend nach einer festgelegten Länge

strtr
substr_count
String-Funktionen
PHP Manual

substr_compare

(PHP 5, PHP 7)

substr_compare — Binärdaten-sicherer Vergleich zweier Strings, beginnend an einer bestimmten Position und endend nach einer festgelegten Länge

Beschreibung

int substr_compare ( string $main_str , string $str , int $offset [, int $length [, bool $case_insensitivity = false ]] )

substr_compare() vergleicht main_str ab der in offset definierten Position mit str. Die Länge des verglichenen String-Bestandteils wird vom length-Parameter bestimmt.

Parameter-Liste

main_str

Die zu vergleichende Hauptzeichenkette.

str

Die zweite zu vergleichende Zeichenkette.

offset

Die Anfangsposition für den Vergleich. Wenn der Wert negativ ist, wird rückwärts vom Ende der Zeichenkette an gezählt. The start position for the comparison. If negative, it starts counting from the end of the string.

length

Die Länge der zu vergleichenden Zeichensequenz. Standardwert ist der größere Wert des Vergleiches der Länge des str mit der Länge von main_str minus offset.

case_insensitivity

Wenn case_insensitivity den Wert TRUE hat, wird der Vergleich ohne Berücksichtigung der Groß- und Kleinschreibung durchgeführt.

Rückgabewerte

Gibt eine Zahl < 0 zurück, wenn main_str ab der in offset festgelegten Position kürzer ist als str, eine Zahl > 0, wenn der ermittelte String länger ist als str, und 0, wenn sie gleich sind. Wenn der Parameter offset gesetzt und gleich oder größer als die Länge von main_str ist oder length gesetzt und kleiner als 1 ist (vor PHP 5.6), gibt substr_compare() eine Warnung aus und hat den Rückgabewert FALSE.

Changelog

Version | Beschreibung
5.6.0 | length kann nun 0 sein.
5.1.0 | Die Möglichkeit, einen negativen Wert für offset festzulegen, wurde eingeführt.

Beispiele

Beispiel #1 Ein substr_compare()-Beispiel

<?php
echo substr_compare("abcde", "bc", 1, 2); // 0
echo substr_compare("abcde", "de", -2, 2); // 0
echo substr_compare("abcde", "bcg", 1, 2); // 0
echo substr_compare("abcde", "BC", 1, 2, true); // 0
echo substr_compare("abcde", "bc", 1, 3); // 1
echo substr_compare("abcde", "cd", 1, 2); // -1
echo substr_compare("abcde", "abc", 5, 1); // warning
?>

Siehe auch

  • strncmp() - String-Vergleich der ersten n Zeichen (Binary safe)

strtr
substr_count
String-Funktionen


Ermittelt, wie oft eine Zeichenkette in einem String vorkommt

substr_compare
substr_replace
String-Funktionen
PHP Manual

substr_count

(PHP 4, PHP 5, PHP 7)

substr_count — Ermittelt, wie oft eine Zeichenkette in einem String vorkommt

Beschreibung

int substr_count ( string $haystack , string $needle [, int $offset = 0 [, int $length ]] )

Die Funktion substr_count() ermittelt, wie oft needle in dem String haystack vorkommt, und gibt die Anzahl der Vorkommen zurück. Beachten Sie, dass der Parameter needle case sensitive ist.

Hinweis:

Die Funktion zählt einander überlappende Substrings nicht mit. Beachten Sie das untenstehende Beispiel!

Parameter-Liste

haystack

Der String, in dem gesucht werden soll

needle

Der Substring, nach dem gesucht werden soll

offset

Die Zeichenposition, an der die Zählung begonnen werden soll

length

Die maximale Länge nach dem angegebenen Offset, in der nach dem Substring gesucht werden soll. Es wird eine Warnung ausgegeben, wenn Offset plus Länge größer als die Länge von haystack sind.

Rückgabewerte

Die Funktion gibt einen Wert vom Typ integer zurück.

Changelog

Version | Beschreibung
5.1.0 | Hinzufügen der Parameter offset und length

Beispiele

Beispiel #1 Ein substr_count() Beispiel

<?php
$text = 'Dies ist ein Test';
echo strlen($text); // 17

echo substr_count($text, 'es'); // 2

// wird der String auf 's ist ein Test' reduziert,
// lautet das ausgegebene Ergebnis 1
echo substr_count($text, 'es', 3);

// wird der String auf 's i' reduziert,
// lautet das Ergebnis 0
echo substr_count($text, 'es', 3, 3);

// generiert eine Warnung, da 5+13 > 17
echo substr_count($text, 'es', 5, 13);

// gibt 1 aus, da überlappende Substrings nicht gezählt werden
$text2 = 'gcdgcdgcd';
echo substr_count($text2, 'gcdgcd');
?>

Siehe auch

  • count_chars() - Gibt Informationen über die in einem String enthaltenen Zeichen zurück
  • strpos() - Sucht das erste Vorkommen des Suchstrings
  • substr() - Gibt einen Teil eines Strings zurück
  • strstr() - Findet das erste Vorkommen eines Strings

substr_compare
substr_replace
String-Funktionen


Ersetzt Text innerhalb einer Zeichenkette

substr_count
substr
String-Funktionen
PHP Manual

substr_replace

(PHP 4, PHP 5, PHP 7)

substr_replace — Ersetzt Text innerhalb einer Zeichenkette

Beschreibung

mixed substr_replace ( mixed $string , mixed $replacement , mixed $start [, mixed $length ] )

substr_replace() ersetzt in einer Kopie von string alle Zeichen, die sich innerhalb der durch die Parameter start und (optional) length festgelegten Grenze befinden, mit der in replacement angegebenen Zeichenkette.

Parameter-Liste

string

Die Eingabezeichenkette.

Ein array von strings kann übergeben werden; die Ersetzungen erfolgen dann bei jeder Zeichenkette der Reihe nach. In diesem Fall können die replacement, start und length Parameter entweder als Skalar übergeben werden, die auf jede Eingabezeichenkette der Reihe nach angewandt werden, oder als arrays; in diesem Fall wird das entsprechende Array Element für jede Eingabe Zeichenkette genutzt.

replacement

Die Ersetzungszeichenkette

start

Ist start positiv, beginnt die Ersetzung ab der im Offset-Parameter start definierten Stelle innerhalb von string.

Ist start negativ, wird vom Ende der Zeichenkette string bis zum Wert von start rückwärts gezählt und dort mit dem Austausch begonnen.

length

Ist der Parameter angegeben und positiv, stellt dieser Parameter die Länge des auszuwechselnden Teils von string dar. Ist der Wert negativ, gibt er die Zeichenzahl an, um die ab Ende von string rückwärts gezählt wird. Bis zu dieser Stelle erfolgt dann der Austausch. Ist der Parameter nicht angegeben, wird standardmäßig eine Ersetzung bis zum Ende des Strings (strlen(string )) durchgeführt, das heißt, die Ersetzung endet mit dem Ende von string. Sollte length den Wert null haben, wird die Funktion die Zeichenkette replacement in string an der durch start bezeichneten Stelle einfügen.

Rückgabewerte

Der entstehende String wird zurückgegeben. Ist string ein Array, wird auch ein Array zurückgegeben.

Beispiele

Beispiel #1 Einfache substr_replace()-Beispiele

<?php
$var = 'ABCDEFGH:/MNRPQR/';
echo "Original: $var<hr />\n";

/* Die beiden Beispiele ersetzen alle Vorkommen von
   $var durch 'bob'. */
echo substr_replace($var, 'bob', 0) . "<br />\n";
echo substr_replace($var, 'bob', 0, strlen($var)) . "<br />\n";

/* Einfügen von 'bob' direkt am Anfang von $var. */
echo substr_replace($var, 'bob', 0, 0) . "<br />\n";

/* Die nächsten beiden Beispiele ersetzen 'MNRPQR' in $var
   durch 'bob'. */
echo substr_replace($var, 'bob', 10, -1) . "<br />\n";
echo substr_replace($var, 'bob', -7, -1) . "<br />\n";

/* Entfernen von 'MNRPQR' aus $var. */
echo substr_replace($var, '', 10, -1) . "<br />\n";
?>

Beispiel #2 Nutzung von substr_replace() um mehrere Zeichenketten auf einmal zu ersetzen.

<?php
$input = array('A: XXX', 'B: XXX', 'C: XXX');

// Ein einfacher Fall: ersetze XXX in jeder Zeichenkette mit YYY.
echo implode('; ', substr_replace($input, 'YYY', 3, 3))."\n";

// Ein komplizierterer Fall bei dem jede Ersetzung unterschiedlich ist.
$replace = array('AAA', 'BBB', 'CCC');
echo implode('; ', substr_replace($input, $replace, 3, 3))."\n";

// Ersetze eine jedesmal unterschiedliche Anzahl von Zeichen
$length = array(1, 2, 3);
echo implode('; ', substr_replace($input, $replace, 3, $length))."\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

A: YYY; B: YYY; C: YYY
A: AAA; B: BBB; C: CCC
A: AAAXX; B: BBBX; C: CCC

Anmerkungen

Hinweis: Diese Funktion ist binary safe.

Siehe auch

  • str_replace() - Ersetzt alle Vorkommen des Suchstrings durch einen anderen String
  • substr() - Gibt einen Teil eines Strings zurück
  • Zeichenketten Zugriff und Veränderung je Zeichen

substr_count
substr
String-Funktionen


Gibt einen Teil eines Strings zurück

substr_replace
trim
String-Funktionen
PHP Manual

substr

(PHP 4, PHP 5, PHP 7)

substr — Gibt einen Teil eines Strings zurück

Beschreibung

string substr ( string $string , int $start [, int $length ] )

Gibt den Teil von string zurück, der durch die Parameter start und length definiert wurde.

Parameter-Liste

string

Die Eingabezeichenkette. Muss mindestens ein Zeichen lang sein.

start

Wenn start nicht negativ ist, beginnt der zurückgegebene String an der start-Position von string, angefangen bei 0 (Null). So ist z.B. im String 'abcdef' das Zeichen an der Position 0 gleich 'a', das Zeichen an der Position 2 ist 'c' usw.

Ist start negativ, beginnt der zurückgegebene String bei dem in start festgelegten Zeichen vom Ende von string aus betrachtet.

Ist string kürzer als start Zeichen, wird FALSE zurückgegeben.

Beispiel #1 Einen negativen start-Wert verwenden

<?php
$rest = substr("abcdef", -1);    // gibt "f" zurück
$rest = substr("abcdef", -2);    // gibt "ef" zurück
$rest = substr("abcdef", -3, 1); // gibt "d" zurück
?>

length

Ist length angegeben und positiv, enthält der zurückgegebene String höchstens length Zeichen ab start (abhängig von der Länge von string).

Ist length angegeben und negativ, werden genau so viele Zeichen vom Ende von string abgeschnitten (nachdem die Startposition ermittelt wurde, sollte start negativ sein). Gibt start die Position des abzuschneidenden Teiles oder dahinter an, wird FALSE zurückgegeben.

Wenn length gegeben ist und den Wert 0, FALSE oder NULL hat, wird ein leerer String zurückgegeben.

Wird length ausgelassen, wird die Teilzeichenkette beginned von start bis zum Ende der Zeichenkette zurückgegeben.

Beispiel #2 Negativen length-Wert verwenden

<?php
$rest = substr("abcdef", 0, -1);  // gibt "abcde" zurück
$rest = substr("abcdef", 2, -1);  // gibt "cde" zurück
$rest = substr("abcdef", 4, -4);  // gibt false zurück
$rest = substr("abcdef", -3, -1); // gibt "de" zurück
?>

Rückgabewerte

Gibt den extrahierten Teil von string zurück. Im Fehlerfall wird FALSE zurückgegeben. oder eine leere Zeichenkette.

Changelog

Version | Beschreibung
7.0.0 | Ist string start Zeichen lang, wird eine leere Zeichenkette zurückgegegben. Vor dieser Version, wurde in diesem Fall FALSE zurückgegeben.
5.2.2 - 5.2.6 | Wenn der start Parameter die Position einer negativen Trunkierung oder außerhalb bezeichnet, wird false zurückgegeben. Andere Versionen bekommen die Zeichenkette von start.

Beispiele

Beispiel #3 Generelle Verwendung von substr()

<?php
echo substr('abcdef', 1);     // bcdef
echo substr('abcdef', 1, 3);  // bcd
echo substr('abcdef', 0, 4);  // abcd
echo substr('abcdef', 0, 8);  // abcdef
echo substr('abcdef', -1, 1); // f

// Auf ein einzelnes Zeichen eines Strings kann auch mittels
// eckiger Klammern zugegriffen werden
$string = 'abcdef';
echo $string[0];                 // a
echo $string[3];                 // d
echo $string[strlen($string)-1]; // f

?>

Beispiel #4 substr() Typumwandlungs Verhalten

<?php
class apple {
    public function __toString() {
        return "green";
    }
}

echo "1) ".var_export(substr("pear", 0, 2), true).PHP_EOL;
echo "2) ".var_export(substr(54321, 0, 2), true).PHP_EOL;
echo "3) ".var_export(substr(new apple(), 0, 2), true).PHP_EOL;
echo "4) ".var_export(substr(true, 0, 1), true).PHP_EOL;
echo "5) ".var_export(substr(false, 0, 1), true).PHP_EOL;
echo "6) ".var_export(substr("", 0, 1), true).PHP_EOL;
echo "7) ".var_export(substr(1.2e3, 0, 4), true).PHP_EOL;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 7:

1) 'pe'
2) '54'
3) 'gr'
4) '1'
5) ''
6) ''
7) '1200'

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1) 'pe'
2) '54'
3) 'gr'
4) '1'
5) false
6) false
7) '1200'

Fehler/Exceptions

Gibt im Fehlerfall FALSE zurück.

<?php
var_dump(substr('a', 2)); // bool(false)
?>

Siehe auch

  • strrchr() - Sucht das letzte Vorkommen eines Zeichens in einem String
  • substr_replace() - Ersetzt Text innerhalb einer Zeichenkette
  • preg_match() - Führt eine Suche mit einem regulären Ausdruck durch
  • trim() - Entfernt Whitespaces (oder andere Zeichen) am Anfang und Ende eines Strings
  • mb_substr() - Get part of string
  • wordwrap() - Bricht einen String nach einer bestimmten Anzahl Zeichen um
  • Zeichenketten Zugriff und Veränderung je Zeichen

substr_replace
trim
String-Funktionen


Entfernt Whitespaces (oder andere Zeichen) am Anfang und Ende eines Strings

substr
ucfirst
String-Funktionen
PHP Manual

trim

(PHP 4, PHP 5, PHP 7)

trim — Entfernt Whitespaces (oder andere Zeichen) am Anfang und Ende eines Strings

Beschreibung

string trim ( string $str [, string $character_mask = " \t\n\r\0\x0B" ] )

Die Funktion entfernt Whitespaces am Anfang und Ende von str und gibt den String dann zurück. Ohne Verwendung des zweiten Parameters entfernt trim() folgende Zeichen:

  • " " (ASCII 32 (0x20)), ein normales Leerzeichen.
  • "\t" (ASCII 9 (0x09)), ein Tabulatorzeichen.
  • "\n" (ASCII 10 (0x0A)), einen Zeilenvorschub (Line Feed).
  • "\r" (ASCII 13 (0x0D)), ein Wagenrücklaufzeichen (Carriage Return).
  • "\0" (ASCII 0 (0x00)), das NUL-Byte.
  • "\x0B" (ASCII 11 (0x0B)), ein vertikaler Tabulator.

Parameter-Liste

str

string erwartet die zu trimmende Zeichenkette.

character_mask

Optional kann die Liste der Zeichen angegeben werden, die an Anfang und Ende der Zeichenkette entfernt werden sollen. Um diese Zeichen anzugeben, wird der character_mask Parameter verwendet. Er enthält eine Liste aller zu entfernenden Zeichen. Mit .. können darüber hinaus auch ganze Bereiche von Zeichen angegeben werden.

Rückgabewerte

Der gekürzte String.

Beispiele

Beispiel #1 Beispiel zur Verwendung von trim()

<?php

$text = "\t\tDieser Text besteht aus mehreren Wörtern :) ...  ";
$binary = "\x09Beispeilhafter String\x0A";
$hello  = "Hallo Welt";
var_dump($text, $binary, $hello);

print "\n";

$trimmed = trim($text);
var_dump($trimmed);

$trimmed = trim($text, " \t.");
var_dump($trimmed);

$trimmed = trim($hello, "Htla");
var_dump($trimmed);

$trimmed = trim($hello, 'HtWr');
var_dump($trimmed);

// Trimmen der ASCII Steuerzeichen an Anfang und Ende von $binary
// (inklusive der Zeichen von ASCII 0 bis 31)
$clean = trim($binary, "\x00..\x1F");
var_dump($clean);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(51) "  Dieser Text besteht aus mehreren Wörtern :) ...  "
string(23) " Beispeilhafter String
"
string(10) "Hallo Welt"

string(47) "Dieser Text besteht aus mehreren Wörtern :) ..."
string(43) "Dieser Text besteht aus mehreren Wörtern :)"
string(4) "o We"
string(8) "allo Wel"
string(21) "Beispeilhafter String"

Beispiel #2 Trimmen von Array-Werten mittels trim()

<?php
function trim_value(&$value)
{
 $value = trim($value);
}

$fruechte = array('Apfel','Banane ', ' Preiselbeere ');
var_dump($fruechte);

array_walk($fruechte, 'trim_value');
var_dump($fruechte);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(3) {
  [0]=>
  string(5) "Apfel"
  [1]=>
  string(7) "Banane "
  [2]=>
  string(11) " Preiselbeere "
}
array(3) {
  [0]=>
  string(5) "Apfel"
  [1]=>
  string(6) "Banane"
  [2]=>
  string(9) "Preiselbeere"
}

Anmerkungen

Hinweis: Mögliche Überraschungen: Entfernung mittlerer Zeichen

Weil trim() Zeichen vom Anfang und Ende einer Zeichenkette (string) entfernt, kann es verwirrend sein, wenn Zeichen aus der Mitte gelöscht (oder nicht) werden. trim('abc', 'bad') entfernt 'a' und 'b', weil es 'a' entfernt, verschiebt daher 'b' an den Anfang um ebenfalls entfernt zu werden. Daher "funktioniert" es, trim('abc', 'b') dagegen scheinbar nicht.

Siehe auch

  • ltrim() - Entfernt Leerraum (oder andere Zeichen) vom Anfang eines Strings
  • rtrim() - Entfernt Leerraum (oder andere Zeichen) vom Ende eines Strings
  • str_replace() - Ersetzt alle Vorkommen des Suchstrings durch einen anderen String

substr
ucfirst
String-Funktionen


Verwandelt das erste Zeichen eines Strings in einen Großbuchstaben

trim
ucwords
String-Funktionen
PHP Manual

ucfirst

(PHP 4, PHP 5, PHP 7)

ucfirst — Verwandelt das erste Zeichen eines Strings in einen Großbuchstaben

Beschreibung

string ucfirst ( string $str )

Wandelt das erste Zeichen von str in einen Großbuchstaben um, wenn es ein Zeichen des Alphabets ist, und gibt den veränderten String zurück.

Beachten Sie, dass die Zeichen des Alphabets abhängig vom Wert des gesetzten locale erkannt werden. In der Voreinstellung "C" werden Sonderzeichen wie die deutschen Umlaute (ä, ö, ü) nicht erkannt und daher nicht umgewandelt.

Parameter-Liste

str

Die Eingabezeichenkette.

Rückgabewerte

Gibt den umgewandelten String zurück.

Beispiele

Beispiel #1 ucfirst()-Beispiel

<?php
$foo = 'hallo welt!';
$foo = ucfirst($foo);             // Hallo welt!

$bar = 'HALLO WELT!';
$bar = ucfirst($bar);             // HALLO WELT!
$bar = ucfirst(strtolower($bar)); // Hallo welt!
?>

Siehe auch

  • lcfirst() - Wandelt den ersten Buchstaben eines Strings in einen Kleinbuchstaben um
  • strtolower() - Setzt einen String in Kleinbuchstaben um
  • strtoupper() - Wandelt alle Zeichen eines Strings in Großbuchstaben um
  • ucwords() - Wandelt jeden ersten Buchstaben eines Wortes innerhalb eines Strings in einen Großbuchstaben

trim
ucwords
String-Funktionen


Wandelt jeden ersten Buchstaben eines Wortes innerhalb eines Strings in einen Großbuchstaben

ucfirst
vfprintf
String-Funktionen
PHP Manual

ucwords

(PHP 4, PHP 5, PHP 7)

ucwords — Wandelt jeden ersten Buchstaben eines Wortes innerhalb eines Strings in einen Großbuchstaben

Beschreibung

string ucwords ( string $str [, string $delimiters = " \t\r\n\f\v" ] )

Gibt einen String zurück, in dem das erste Zeichen eines jeden Wortes innerhalb von str in einen Großbuchstaben umgewandelt wurde, sofern es sich dabei um Buchstaben handelt.

Als Wort wird hierbei eine Zeichenkette verstanden, die einem Whitespace (Leerzeichen, Seitenvorschub, Zeilenvorschub, Wagenrücklauf sowie horizontalem und vertikalem Tabulatorzeichen) folgt.

Parameter-Liste

str

Die Eingabezeichenkette.

delimiters

Der optionale delimiters Parameter, enthält die Wort-Trenzeichen.

Rückgabewerte

Gibt die modifizierte Zeichenkette zurück.

Changelog

Version | Beschreibung
5.4.32, 5.5.16 | Parameter delimiters wurde hinzugefügt.

Beispiele

Beispiel #1 ucwords()-Beispiel

<?php
$foo = 'hallo welt!';
$foo = ucwords ($foo);          // Hallo Welt!

$bar = 'HALLO WELT!';
$bar = ucwords($bar);             // HALLO WELT!
$bar = ucwords(strtolower($bar)); // Hallo Welt!
?>

Beispiel #2 ucwords()-Beispiel mit Trenzeichen

<?php
$foo = 'hello|world!';
$bar = ucwords($foo);             // Hello|world!

$baz = ucwords($foo, "|");        // Hello|World!
?>

Anmerkungen

Hinweis: Diese Funktion ist binary safe.

Siehe auch

  • strtoupper() - Wandelt alle Zeichen eines Strings in Großbuchstaben um
  • strtolower() - Setzt einen String in Kleinbuchstaben um
  • ucfirst() - Verwandelt das erste Zeichen eines Strings in einen Großbuchstaben
  • mb_convert_case() - Perform case folding on a string

ucfirst
vfprintf
String-Funktionen


Schreibt einen formatierten String in einen Stream

ucwords
vprintf
String-Funktionen
PHP Manual

vfprintf

(PHP 5, PHP 7)

vfprintf — Schreibt einen formatierten String in einen Stream

Beschreibung

int vfprintf ( resource $handle , string $format , array $args )

Schreibt einen der Formatanweisung entsprechenden String in den im handle definierten Stream.

Verhält sich wie fprintf(), akzeptiert jedoch ein Array anstelle einer Gruppe von Werten als Parameter.

Parameter-Liste

handle

format

Die möglichen Format-Anweisungen sind in der Funktion sprintf() dokumentiert.

args

Rückgabewerte

Gibt die Länge des Ausgabestrings zurück.

Beispiele

Beispiel #1 vfprintf(): Integer-Werte mit führenden Nullen

<?php
if (!($fp = fopen('date.txt', 'w')))
    return;

vfprintf($fp, "%04d-%02d-%02d", array($year, $month, $day));
// schreibt das ISO-formatierte Datum in die Daten date.txt
?>

Siehe auch

  • printf() - Gibt einen formatierten String aus
  • sprintf() - Gibt einen formatierten String zurück
  • sscanf() - Überträgt einen String in ein angegebenes Format
  • fscanf() - Interpretiert den Input einer Datei entsprechend einem angegebenen Format
  • vsprintf() - Gibt einen formatierten String zurück
  • number_format() - Formatiert eine Zahl mit Tausender-Trennzeichen

ucwords
vprintf
String-Funktionen


Gibt einen formatierten String aus

vfprintf
vsprintf
String-Funktionen
PHP Manual

vprintf

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

vprintf — Gibt einen formatierten String aus

Beschreibung

int vprintf ( string $format , array $args )

Zeigt die Werte eines Arrays als formatierten String entsprechend der Formatanweisungen (siehe Beschreibung der Formatierungsmöglichkeiten der Funktion sprintf()) an.

Arbeitet wie printf(), akzeptiert jedoch ein Array anstelle mehrerer Werte als Argument.

Parameter-Liste

format

Die Dokumentation der sprintf() enthält die vollständige Beschreibung des format-Parameters.

args

Rückgabewerte

Gibt die Länge des Ausgabestrings zurück.

Beispiele

Beispiel #1 vprintf(): mit Nullen aufgefüllte Ganzzahlen

<?php
vprintf("%04d-%02d-%02d", explode('-', '1988-8-1')); // 1988-08-01
?>

Siehe auch

  • printf() - Gibt einen formatierten String aus
  • sprintf() - Gibt einen formatierten String zurück
  • vsprintf() - Gibt einen formatierten String zurück

vfprintf
vsprintf
String-Funktionen


Gibt einen formatierten String zurück

vprintf
wordwrap
String-Funktionen
PHP Manual

vsprintf

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

vsprintf — Gibt einen formatierten String zurück

Beschreibung

string vsprintf ( string $format , array $args )

Verhält sich wie sprintf(), akzeptiert jedoch ein Array anstelle mehrerer Werte als Parameter.

Parameter-Liste

format

Die Dokumentation der sprintf() enthält die vollständige Beschreibung des format-Parameters.

args

Rückgabewerte

Gibt Array-Werte als formatierten String entsprechend der Formatanweisung (siehe Beschreibung der Formatierungsmöglichkeiten der Funktion sprintf()) zurück.

Beispiele

Beispiel #1 vsprintf(): mit Nullen aufgefüllte Ganzzahlen

<?php
print vsprintf("%04d-%02d-%02d", explode('-', '1988-8-1')); // 1988-08-01
?>

Siehe auch

  • sprintf() - Gibt einen formatierten String zurück
  • vprintf() - Gibt einen formatierten String aus

vprintf
wordwrap
String-Funktionen


Bricht einen String nach einer bestimmten Anzahl Zeichen um

vsprintf
Changelog
String-Funktionen
PHP Manual

wordwrap

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

wordwrap — Bricht einen String nach einer bestimmten Anzahl Zeichen um

Beschreibung

string wordwrap ( string $str [, int $width = 75 [, string $break = "\n" [, bool $cut = false ]]] )

Bricht einen String nach einer bestimmten Anzahl Zeichen mittels eines angegebenen Trennzeichens um.

Parameter-Liste

str

Die Eingabezeichenkette.

width

Die Anzahl von Zeichen nach denen die Zeichenkette umgebrochen wird.

break

Der optionale Parameter break wird als Zeichen(kette) für den Zeilenumbruch verwendet.

cut

Wenn der Parameter cut auf TRUE gesetzt ist, wird die Zeichenkette spätestens nach der angegebenen width umgebrochen. Wenn sie also ein Wort haben, das länger als die angegebene Maximallänge ist, wird der Umbruch im Wort selbst durchgeführt (siehe zweites Beispiel). Bei FALSE trennt die Funktion das Wort nicht, selbst wenn der width kleiner ist als die Wortlänge.

Rückgabewerte

Gibt die übergebene Zeichenkette zurück, die an der angegebenen Trennstelle umgebrochen wurde.

Beispiele

Beispiel #1 wordwrap()-Beispiel

$text = "Der schnelle braune Fuchs sprang über den faulen Hund.";
$neuertext = wordwrap( $text, 20, "<br />\n" );

echo $neuertext;

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Der schnelle braune<br />
Fuchs sprang über<br />
den faulen Hund.

Beispiel #2 wordwrap()-Beispiel

$text = "Ein sehr langes Wooooooooooort.";
$neuertext = wordwrap($text, 8, "\n", true);

echo "$neuertext\n";

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Ein sehr
langes
Wooooooo
oooort.

Beispiel #3 wordwrap()-Beispiel

<?php
$text = "Ein sehr langes Woooooooooooooooooort. Und noch mehr.";
$newtext = wordwrap($text, 8, "\n", false);

echo "$newtext\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Ein sehr
langes
Woooooooooooooooooort.
Und noch
mehr.

Siehe auch

  • nl2br() - Fügt vor allen Zeilenumbrüchen eines Strings HTML-Zeilenumbrüche ein
  • chunk_split() - Zerlegt einen String in Teile gleicher Länge

vsprintf
Changelog
String-Funktionen


Changelog

Folgende Änderungen wurden an den Klassen/Funktionen/Methoden dieser Extension vorgenommen.

Version | Function | Description
7.0.0 | setlocale | Die Unterstützung für an den category Parameter übergebene Zeichenketten wurde entfernt. Nur LC_* Konstanten können ab dieser Version verwendet werden.
 | substr | Ist string start Zeichen lang, wird eine leere Zeichenkette zurückgegegben. Vor dieser Version, wurde in diesem Fall FALSE zurückgegeben.
5.6.5 | crypt | Wird die Fehlerzeichenkette "*0" als salt angegeben, wird nun aus Konsistenz mit anderen Crypt-Implementierungen "*1" zurückgegeben. Vor dieser Version hat PHP 5.6 fälschlicherweise einen DES Hash zurückgegeben.
5.6.0 | crypt | Erzeugt eine E_NOTICE Sicherheitswarnung, wenn salt ausgelassen wird.
 | html_entity_decode | Der Standardwert für den Parameter encoding wurde so angepasst, dass dieser Wert aus der Konfigurationseinstellung default_charset bezogen wird.
 | htmlentities | Der Standardwert für den Parameter encoding wurde so angepasst, dass dieser Wert aus der Konfigurationseinstellung default_charset bezogen wird.
 | htmlspecialchars | Der Standardwert für den Parameter encoding wurde so angepasst, dass dieser Wert aus der Konfigurationseinstellung default_charset bezogen wird.
 | substr_compare | length kann nun 0 sein.
5.5.21 | crypt | Wird die Fehlerzeichenkette "*0" als salt angegeben, wird nun aus Konsistenz mit anderen Crypt-Implementierungen "*1" zurückgegeben. Vor dieser Version hat PHP 5.5 fälschlicherweise einen DES Hash zurückgegeben.
5.5.1 | hex2bin | Eine Warnung wird erzeugt, wenn der Eingabestring ein ungültiger hexadezimaler String ist.
5.4.32, 5.5.16 | ucwords | Parameter delimiters wurde hinzugefügt.
5.4.4 | hex2bin | Wenn die Länge des Eingabestrings ungerade ist, wird ein Fehler geworfen. In PHP 5.4.0 wurde ein String ungerader Länge akzeptiert, jedoch wurde das letzte Byte abgeschnitten.
5.4.0 | get_html_translation_table | Der Standardwert für encoding wurde zu UTF-8 geändert.
 | get_html_translation_table | Die Konstanten ENT_HTML401, ENT_XML1, ENT_XHTML und ENT_HTML5 wurden hinzugefügt.
 | html_entity_decode | Die Optionen ENT_HTML401, ENT_XML1, ENT_XHTML und ENT_HTML5 wurden hinzugefügt.
 | html_entity_decode | Die Standardkodierung wurde von ISO-8859-1 auf UTF-8 geändert.
 | htmlentities | Die Konstanten ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_XML1, ENT_XHTML und ENT_HTML5 wurden hinzugefügt.
 | htmlentities | Der Standardwert für encoding wurde zu UTF-8 geändert.
 | htmlspecialchars | Der Standardwert für encoding wurde zu UTF-8 geändert.
 | htmlspecialchars | Die Konstanten ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_XML1, ENT_XHTML und ENT_HTML5 wurden hinzugefügt.
 | htmlspecialchars_decode | Die Konstanten ENT_HTML401, ENT_XML1, ENT_XHTML und ENT_HTML5 wurden hinzugefügt.
 | number_format | In dec_point und thousands_sep werden nun auch mehrere Bytes unterstützt. In vorherigen Versionen wurde jeweils nur das erste Byte genutzt.
5.3.7 | crypt | Die $2x$ und $2y$ Blowfish-Modi wurden hinzugefügt.
5.3.4 | get_html_translation_table | Der encoding parameter wurde hinzugefügt.
 | strip_tags | strip_tags entfernt nicht länger selbst-schließende XHTML Tags, außer wenn der selbst-schließende XHTML Tag ebenfalls im allowable_tags angegeben wird.
5.3.2 | crypt | Blowfishs fehlerhaftes Verhalten wurde behoben, durch welches ein ungültiger Kostenparameter dazu führte, dass auf DES zurückgefallen wurde, anstatt einen Fehlerstring ("*0" or "*1") zurückzugeben.
 | crypt | SHA-256 und SHA-512 wurden hinzugefügt auf Basis von Ulrich Drepper's Implementierung.
5.3.0 | crypt | PHP enthält jetzt eine eigene Implementation der MD5-Crypt, Standard DES, Extended DES und des Blowfish-Algorithmus und verwendet diese, wenn das System eine oder mehrere der Algorithmen nicht unterstützt.
 | htmlentities | Die Konstante ENT_IGNORE wurde hinzugefügt.
 | htmlspecialchars | Die Konstante ENT_IGNORE wurde hinzugefügt.
 | nl2br | Der optionale is_xhtml-Parameter wurde hinzugefügt. Vor dieser Version wurde immer '<br />' eingefügt.
 | setlocale | Die Funktion wirft nun eine E_DEPRECATED-Notice, wenn ein String statt einer der LC_*-Konstanten an den Parameter category übergeben wird.
 | stristr | Der optionale Parameter before_needle wurde hinzugefügt.
 | strlen | Frühere Versionen behandelten Arrays als die Zeichenkette Array; sie gaben daher 5 als Zeichenkettenlänge zurück und lösten E_NOTICE Level Fehler aus.
 | strstr | Der optionale Parameter before_needle wurde hinzugefügt.
5.2.5 | addcslashes | Die Escape-Sequenzen \v and \f wurden hinzugefügt.
5.2.3 | htmlentities | Der Parameter double_encode wurde hinzugefügt.
 | htmlspecialchars | Der Parameter double_encode wurde hinzugefügt.
5.2.2 - 5.2.6 | substr | Wenn der start Parameter die Position einer negativen Trunkierung oder außerhalb bezeichnet, wird false zurückgegeben. Andere Versionen bekommen die Zeichenkette von start.
5.1.0 | explode | Die Unterstützung für negative limit-Werte wurde hinzugefügt.
 | md5_file | Funktionsänderung, um die Streams API nutzen zu können. Das bedeutet, Sie können die Funktion mit Wrappern wie md5_file('http://example.com/..') verwenden.
 | sha1_file | Die Funktion verwendet jetzt die Streams API. Das bedeutet, dass Sie die Funktion mit Wrappern wie sha1_file('http://example.com/..') nutzen können.
 | str_word_count | charlist Parameter hinzugefügt
 | substr_compare | Die Möglichkeit, einen negativen Wert für offset festzulegen, wurde eingeführt.
 | substr_count | Hinzufügen der Parameter offset und length
5.0.0 | strip_tags | Die Funktion strip_tags ist jetzt Binary safe.
 | strrpos | needle kann nun aus mehr als einem Buchstaben bestehen.
4.3.0 | stristr | stristr ist jetzt Binary safe.
 | strrchr | Die Funktion ist jetzt Binary safe.
 | strstr | strstr ist nun binary safe.
4.2.3 | strcoll | Die Funktion ist jetzt auch unter Win32-Systemen nutzbar.
4.0.5 | nl2br | nl2br ist nun XHTML-konform. Alle älteren Versionen geben string mit vor allen Zeilenumbrüchen eingefügtem '<br>' statt '<br />' zurück.
wordwrap
Variablen- und typbezogene Erweiterungen
Zeichenketten


Variablen- und typbezogene Erweiterungen

  • Arrays
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Sorting Arrays
    • Array Funktionen
  • Klassen/Objekte — Klassen- und Objektinformationen
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Klassen- und Objekt-Funktionen
  • Classkit
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Classkit Funktionen
  • Ctype — Zeichentypprüfung
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Ctype Funktionen
  • Data Structures
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Collection — The Collection interface
    • Hashable — The Hashable interface
    • Sequence — The Sequence interface
    • Vector — The Vector class
    • Deque — The Deque class
    • Map — The Map class
    • Pair — The Pair class
    • Set — The Set class
    • Stack — The Stack class
    • Queue — The Queue class
    • PriorityQueue — The PriorityQueue class
  • Filter — Datenfilterung
    • Einführung
    • Installation/Konfiguration
    • Types of filters
    • Vordefinierte Konstanten
    • Beispiele
    • Filter-Funktionen
  • Function Handling
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Function handling Funktionen
  • Quickhash
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • QuickHashIntSet — The QuickHashIntSet class
    • QuickHashIntHash — The QuickHashIntHash class
    • QuickHashStringIntHash — The QuickHashStringIntHash class
    • QuickHashIntStringHash — The QuickHashIntStringHash class
  • Reflection
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Extending
    • Reflection — The Reflection class
    • ReflectionClass — The ReflectionClass class
    • ReflectionZendExtension — The ReflectionZendExtension class
    • ReflectionExtension — The ReflectionExtension class
    • ReflectionFunction — The ReflectionFunction class
    • ReflectionFunctionAbstract — The ReflectionFunctionAbstract class
    • ReflectionMethod — The ReflectionMethod class
    • ReflectionObject — The ReflectionObject class
    • ReflectionParameter — The ReflectionParameter class
    • ReflectionProperty — The ReflectionProperty class
    • ReflectionType — The ReflectionType class
    • ReflectionGenerator — The ReflectionGenerator class
    • Reflector — The Reflector interface
    • ReflectionException — The ReflectionException class
  • Variablenbehandlung
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Funktionen zur Behandlung von Variablen
Changelog
Arrays
Funktionsreferenz


Arrays

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Sorting Arrays
  • Array Funktionen
    • array_change_key_case — Ändert die Groß- oder Kleinschreibung aller Schlüssel in einem Array
    • array_chunk — Splittet ein Array in Teile auf
    • array_column — Return the values from a single column in the input array
    • array_combine — Erzeugt ein Array, indem es ein Array für die Schlüssel und ein anderes für die Werte verwendet
    • array_count_values — Zählt die Werte eines Arrays
    • array_diff_assoc — Berechnet den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung
    • array_diff_key — Berechnet den Unterschied zwischen Arrays, indem es die Schlüssel vergleicht
    • array_diff_uassoc — Berechnet den Unterschied von Arrays mit zusätzlicher Indexprüfung, welche durch eine benutzerdefinierte Callback-Funktion vorgenommen wird
    • array_diff_ukey — Berechnet den Unterschied zwischen Arrays mittels einer Callbackfunktion für den Vergleich der Schlüssel
    • array_diff — Ermittelt die Unterschiede zwischen Arrays
    • array_fill_keys — Befüllt ein Array mit Werten mit den übergebenen Schlüsseln
    • array_fill — Füllt ein Array mit Werten
    • array_filter — Filtert Elemente eines Arrays mittels einer Callback-Funktion
    • array_flip — Vertauscht alle Schlüssel mit ihren zugehörigen Werten in einem Array
    • array_intersect_assoc — Ermittelt die Schnittmenge von Arrays mit Indexprüfung
    • array_intersect_key — Ermittelt die Schnittmenge von Arrays, indem es die Schlüssel vergleicht
    • array_intersect_uassoc — Ermittelt die Schnittmenge von Arrays mit Indexprüfung; vergleicht Indizes mit einer Callbackfunktion
    • array_intersect_ukey — Ermittelt die Schnittmenge zweier Arrays mittels eines durch eine Callbackfunktion durchgeführten Schlüsselvergleiches
    • array_intersect — Ermittelt die Schnittmenge von Arrays
    • array_key_exists — Prüft, ob ein Schlüssel in einem Array existiert
    • array_keys — Liefert alle Schlüssel oder eine Teilmenge aller Schlüssel eines Arrays
    • array_map — Wendet eine Callback-Funktion auf die Elemente von Arrays an
    • array_merge_recursive — Führt ein oder mehrere Arrays rekursiv zusammen
    • array_merge — Führt zwei oder mehr Arrays zusammen
    • array_multisort — Sortiert mehrere oder multidimensionale Arrays
    • array_pad — Füllt ein Array bis auf die angegebene Länge mit einem Wert auf
    • array_pop — Liefert und entfernt das letzte Element eines Arrays
    • array_product — Ermittelt das Produkt von Werten in einem Array
    • array_push — Fügt ein oder mehr Elemente an das Ende eines Arrays an
    • array_rand — Liefert einen oder mehrere zufällige Einträge eines Arrays
    • array_reduce — Iterative Reduktion eines Arrays zu einem Wert mittels einer Callbackfunktion
    • array_replace_recursive — Replaces elements from passed arrays into the first array recursively
    • array_replace — Ersetzt Elemente von übergebenen Arrays im ersten Array
    • array_reverse — Liefert ein Array mit umgekehrter Reihenfolge der Elemente
    • array_search — Durchsucht ein Array nach einem Wert und liefert bei Erfolg den zugehörigen Schlüssel
    • array_shift — Liefert und entfernt das erste Element eines Arrays
    • array_slice — Extrahiert einen Ausschnitt eines Arrays
    • array_splice — Entfernt einen Teil eines Arrays und ersetzt ihn durch etwas anderes
    • array_sum — Liefert die Summe der Werte in einem Array
    • array_udiff_assoc — Ermittelt den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung, vergleicht mittels einer Callbackfunktion
    • array_udiff_uassoc — Ermittelt den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Indizes mittels einer Callbackfunktion
    • array_udiff — Ermittelt den Unterschied zwischen Arrays mittels einer Callbackfunktion für den Datenvergleich
    • array_uintersect_assoc — Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung, vergleicht Daten mittels einer Callbackfunktion
    • array_uintersect_uassoc — Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Schlüssel mittels separaten Callbackfunktionen
    • array_uintersect — Ermittelt die Schnittmenge von Arrays, vergleicht Daten mittels einer Callbackfunktion
    • array_unique — Entfernt doppelte Werte aus einem Array
    • array_unshift — Fügt ein oder mehr Elemente am Anfang eines Arrays ein
    • array_values — Liefert alle Werte eines Arrays
    • array_walk_recursive — Wendet eine Benutzerfunktion rekursiv auf jedes Element eines Arrays an
    • array_walk — Wendet eine vom Benutzer gelieferte Funktion auf jedes Element eines Arrays an
    • array — Erstellt ein Array
    • arsort — Sortiert ein Array in umgekehrter Reihenfolge und erhält die Index-Assoziation
    • asort — Sortiert ein Array und erhält die Index-Assoziation
    • compact — Erstellt ein Array mit Variablen und deren Werten
    • count — Zählt alle Elemente eines Arrays oder etwas in einem Objekt
    • current — Liefert das aktuelle Element eines Arrays
    • each — Liefert das aktuelle Paar (Schlüssel und Wert) eines Arrays und rückt den Arrayzeiger vor
    • end — Positioniert den internen Zeiger eines Arrays auf dessen letztes Element
    • extract — Importiert Variablen eines Arrays in die aktuelle Symboltabelle
    • in_array — Prüft, ob ein Wert in einem Array existiert
    • key_exists — Alias von array_key_exists
    • key — Liefert einen Schlüssel eines Arrays
    • krsort — Sortiert ein Array nach Schlüsseln in umgekehrter Reihenfolge
    • ksort — Sortiert ein Array nach Schlüsseln
    • list — Weist Variablen zu, als wären sie ein Array
    • natcasesort — Sortiert ein Array in "natürlicher Reihenfolge", Groß/Kleinschreibung wird ignoriert
    • natsort — Sortiert ein Array in "natürlicher Reihenfolge"
    • next — Rückt den internen Zeiger eines Arrays vor
    • pos — Alias von current
    • prev — Setzt den internen Zeiger eines Arrays um ein Element zurück
    • range — Erstellt ein Array mit einem Bereich von Elementen
    • reset — Setzt den internen Zeiger eines Arrays auf sein erstes Element
    • rsort — Sortiert ein Array in umgekehrter Reihenfolge
    • shuffle — Mischt die Elemente eines Arrays
    • sizeof — Alias von count
    • sort — Sortiert ein Array
    • uasort — Sortiert ein Array mittels einer benutzerdefinierten Vergleichsfunktion und behält Indexassoziationen bei
    • uksort — Sortiert ein Array nach Schlüsseln mittels einer benutzerdefinierten Vergleichsfunktion
    • usort — Sortiert ein Array nach Werten mittels einer benutzerdefinierten Vergleichsfunktion
Variablen- und typbezogene Erweiterungen
Einführung
Variablen- und typbezogene Erweiterungen


Einführung

Diese Funktionen erlauben es, Arrays auf verschiedene Arten zu manipulieren bzw. mit ihnen zu interagieren. Arrays sind wichtig, um Gruppen von Variablen zu verwalten, zu bearbeiten, oder zu speichern.

Es werden einfache und mehrdimensionale Arrays unterstützt, welche entweder vom Benutzer oder von einer anderen Funktion erstellt werden können. Es gibt bestimmte Datenbankfunktionen, welche die Ergebnisse aus Datenbankabfragen in Arrays speichern, und verschiedene andere Funktionen, die Arrays als Rückgabewerte haben.

Im Abschnitt Arrays finden Sie eine detaillierte Erklärung, wie Arrays in PHP implementiert sind und wie sie benutzt werden. Für weitere Arten, Arrays zu verändern, siehe auch Array Operatoren.

Arrays
Installation/Konfiguration
Arrays


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Arrays


Vordefinierte Konstanten

Die aufgelisteten Konstanten stehen immer zur Verfügung, da sie zum Grundbestand von PHP gehören.

CASE_LOWER (integer)
CASE_LOWER wird benutzt mit array_change_key_case(), um die Schlüssel von Arrays in Kleinbuchstaben umzuwandeln. Dies ist auch der Standard für array_change_key_case().
CASE_UPPER (integer)
CASE_UPPER wird benutzt mit array_change_key_case(), um die Schlüssel von Arrays in Großbuchstaben umzuwandeln.

Sortierreihenfolgen-Flags

SORT_ASC (integer)
SORT_ASC wird benutzt mit array_multisort(), um in aufsteigender Reihenfolge zu sortieren.
SORT_DESC (integer)
SORT_DESC wird benutzt mit array_multisort(), um in absteigender Reihenfolge zu sortieren.

Sortiertypen-Flags: benutzt von verschiedenen Sortierfunktionen

SORT_REGULAR (integer)
SORT_REGULAR wird benutzt, um Elemente normal zu sortieren.
SORT_NUMERIC (integer)
SORT_NUMERIC wird benutzt, um Elemente numerisch zu sortieren.
SORT_STRING (integer)
SORT_STRING wird benutzt, um Elemente als Strings zu sortieren.
SORT_LOCALE_STRING (integer)
SORT_LOCALE_STRING wird benutzt, um Elemente als Strings basierend auf dem aktuellen Locale zu sortieren. In PHP 5.0.2 hinzugefügt.
SORT_NATURAL (integer)
SORT_NATURAL wird benutzt, um Elemente als Strings natürlich zu sortieren, wie es die Funktion natsort() tut. Hinzugefügt in PHP 5.4.0
SORT_FLAG_CASE (integer)
SORT_FLAG_CASE kann (durch ein bitweises ODER) kombiniert werden mit: SORT_STRING oder SORT_NATURAL um alle Strings unabhängig von ihrer Gross- und Kleinschreibung zu sortieren. Hinzugefügt in PHP 5.4.0.

Filter flags:

ARRAY_FILTER_USE_KEY (integer)
ARRAY_FILTER_USE_KEY wird benutzt für array_filter(), um jeden Schlüssel als erstes Argument an die angegebene Callback-Funktion zu übergeben. Hinzugefügt in PHP 5.6.0.
ARRAY_FILTER_USE_BOTH (integer)
ARRAY_FILTER_USE_BOTH wird benutzt für array_filter() um sowohl Wert als auch Schlüssel an die angegebene Callback-Funktion zu übergeben. Hinzugefügt in PHP 5.6.0.

COUNT_NORMAL (integer)
COUNT_RECURSIVE (integer)
EXTR_OVERWRITE (integer)
EXTR_SKIP (integer)
EXTR_PREFIX_SAME (integer)
EXTR_PREFIX_ALL (integer)
EXTR_PREFIX_INVALID (integer)
EXTR_PREFIX_IF_EXISTS (integer)
EXTR_IF_EXISTS (integer)
EXTR_REFS (integer)
Ressource-Typen
Sorting Arrays
Arrays


Sorting Arrays

PHP has several functions that deal with sorting arrays, and this document exists to help sort it all out.

The main differences are:

  • Some sort based on the array keys, whereas others by the values: $array['key'] = 'value';
  • Whether or not the correlation between the keys and values are maintained after the sort, which may mean the keys are reset numerically (0,1,2 ...)
  • The order of the sort: alphabetical, low to high (ascending), high to low (descending), numerical, natural, random, or user defined
  • Note: All of these sort functions act directly on the array variable itself, as opposed to returning a new sorted array
  • If any of these sort functions evaluates two members as equal then the order is undefined (the sorting is not stable).

Sorting function attributes
Function name | Sorts by | Maintains key association | Order of sort | Related functions
array_multisort() | value | associative yes, numeric no | first array or sort options | array_walk()
asort() | value | yes | low to high | arsort()
arsort() | value | yes | high to low | asort()
krsort() | key | yes | high to low | ksort()
ksort() | key | yes | low to high | asort()
natcasesort() | value | yes | natural, case insensitive | natsort()
natsort() | value | yes | natural | natcasesort()
rsort() | value | no | high to low | sort()
shuffle() | value | no | random | array_rand()
sort() | value | no | low to high | rsort()
uasort() | value | yes | user defined | uksort()
uksort() | key | yes | user defined | uasort()
usort() | value | no | user defined | uasort()

Vordefinierte Konstanten
Array Funktionen
Arrays


Array Funktionen

Siehe auch

Siehe auch is_array(), explode(),
implode(), split(),
preg_split() und unset().

Inhaltsverzeichnis

  • array_change_key_case — Ändert die Groß- oder Kleinschreibung aller Schlüssel in einem Array
  • array_chunk — Splittet ein Array in Teile auf
  • array_column — Return the values from a single column in the input array
  • array_combine — Erzeugt ein Array, indem es ein Array für die Schlüssel und ein anderes für die Werte verwendet
  • array_count_values — Zählt die Werte eines Arrays
  • array_diff_assoc — Berechnet den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung
  • array_diff_key — Berechnet den Unterschied zwischen Arrays, indem es die Schlüssel vergleicht
  • array_diff_uassoc — Berechnet den Unterschied von Arrays mit zusätzlicher Indexprüfung, welche durch eine benutzerdefinierte Callback-Funktion vorgenommen wird
  • array_diff_ukey — Berechnet den Unterschied zwischen Arrays mittels einer Callbackfunktion für den Vergleich der Schlüssel
  • array_diff — Ermittelt die Unterschiede zwischen Arrays
  • array_fill_keys — Befüllt ein Array mit Werten mit den übergebenen Schlüsseln
  • array_fill — Füllt ein Array mit Werten
  • array_filter — Filtert Elemente eines Arrays mittels einer Callback-Funktion
  • array_flip — Vertauscht alle Schlüssel mit ihren zugehörigen Werten in einem Array
  • array_intersect_assoc — Ermittelt die Schnittmenge von Arrays mit Indexprüfung
  • array_intersect_key — Ermittelt die Schnittmenge von Arrays, indem es die Schlüssel vergleicht
  • array_intersect_uassoc — Ermittelt die Schnittmenge von Arrays mit Indexprüfung; vergleicht Indizes mit einer Callbackfunktion
  • array_intersect_ukey — Ermittelt die Schnittmenge zweier Arrays mittels eines durch eine Callbackfunktion durchgeführten Schlüsselvergleiches
  • array_intersect — Ermittelt die Schnittmenge von Arrays
  • array_key_exists — Prüft, ob ein Schlüssel in einem Array existiert
  • array_keys — Liefert alle Schlüssel oder eine Teilmenge aller Schlüssel eines Arrays
  • array_map — Wendet eine Callback-Funktion auf die Elemente von Arrays an
  • array_merge_recursive — Führt ein oder mehrere Arrays rekursiv zusammen
  • array_merge — Führt zwei oder mehr Arrays zusammen
  • array_multisort — Sortiert mehrere oder multidimensionale Arrays
  • array_pad — Füllt ein Array bis auf die angegebene Länge mit einem Wert auf
  • array_pop — Liefert und entfernt das letzte Element eines Arrays
  • array_product — Ermittelt das Produkt von Werten in einem Array
  • array_push — Fügt ein oder mehr Elemente an das Ende eines Arrays an
  • array_rand — Liefert einen oder mehrere zufällige Einträge eines Arrays
  • array_reduce — Iterative Reduktion eines Arrays zu einem Wert mittels einer Callbackfunktion
  • array_replace_recursive — Replaces elements from passed arrays into the first array recursively
  • array_replace — Ersetzt Elemente von übergebenen Arrays im ersten Array
  • array_reverse — Liefert ein Array mit umgekehrter Reihenfolge der Elemente
  • array_search — Durchsucht ein Array nach einem Wert und liefert bei Erfolg den zugehörigen Schlüssel
  • array_shift — Liefert und entfernt das erste Element eines Arrays
  • array_slice — Extrahiert einen Ausschnitt eines Arrays
  • array_splice — Entfernt einen Teil eines Arrays und ersetzt ihn durch etwas anderes
  • array_sum — Liefert die Summe der Werte in einem Array
  • array_udiff_assoc — Ermittelt den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung, vergleicht mittels einer Callbackfunktion
  • array_udiff_uassoc — Ermittelt den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Indizes mittels einer Callbackfunktion
  • array_udiff — Ermittelt den Unterschied zwischen Arrays mittels einer Callbackfunktion für den Datenvergleich
  • array_uintersect_assoc — Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung, vergleicht Daten mittels einer Callbackfunktion
  • array_uintersect_uassoc — Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Schlüssel mittels separaten Callbackfunktionen
  • array_uintersect — Ermittelt die Schnittmenge von Arrays, vergleicht Daten mittels einer Callbackfunktion
  • array_unique — Entfernt doppelte Werte aus einem Array
  • array_unshift — Fügt ein oder mehr Elemente am Anfang eines Arrays ein
  • array_values — Liefert alle Werte eines Arrays
  • array_walk_recursive — Wendet eine Benutzerfunktion rekursiv auf jedes Element eines Arrays an
  • array_walk — Wendet eine vom Benutzer gelieferte Funktion auf jedes Element eines Arrays an
  • array — Erstellt ein Array
  • arsort — Sortiert ein Array in umgekehrter Reihenfolge und erhält die Index-Assoziation
  • asort — Sortiert ein Array und erhält die Index-Assoziation
  • compact — Erstellt ein Array mit Variablen und deren Werten
  • count — Zählt alle Elemente eines Arrays oder etwas in einem Objekt
  • current — Liefert das aktuelle Element eines Arrays
  • each — Liefert das aktuelle Paar (Schlüssel und Wert) eines Arrays und rückt den Arrayzeiger vor
  • end — Positioniert den internen Zeiger eines Arrays auf dessen letztes Element
  • extract — Importiert Variablen eines Arrays in die aktuelle Symboltabelle
  • in_array — Prüft, ob ein Wert in einem Array existiert
  • key_exists — Alias von array_key_exists
  • key — Liefert einen Schlüssel eines Arrays
  • krsort — Sortiert ein Array nach Schlüsseln in umgekehrter Reihenfolge
  • ksort — Sortiert ein Array nach Schlüsseln
  • list — Weist Variablen zu, als wären sie ein Array
  • natcasesort — Sortiert ein Array in "natürlicher Reihenfolge", Groß/Kleinschreibung wird ignoriert
  • natsort — Sortiert ein Array in "natürlicher Reihenfolge"
  • next — Rückt den internen Zeiger eines Arrays vor
  • pos — Alias von current
  • prev — Setzt den internen Zeiger eines Arrays um ein Element zurück
  • range — Erstellt ein Array mit einem Bereich von Elementen
  • reset — Setzt den internen Zeiger eines Arrays auf sein erstes Element
  • rsort — Sortiert ein Array in umgekehrter Reihenfolge
  • shuffle — Mischt die Elemente eines Arrays
  • sizeof — Alias von count
  • sort — Sortiert ein Array
  • uasort — Sortiert ein Array mittels einer benutzerdefinierten Vergleichsfunktion und behält Indexassoziationen bei
  • uksort — Sortiert ein Array nach Schlüsseln mittels einer benutzerdefinierten Vergleichsfunktion
  • usort — Sortiert ein Array nach Werten mittels einer benutzerdefinierten Vergleichsfunktion
Sorting Arrays
array_change_key_case
Arrays


Ändert die Groß- oder Kleinschreibung aller Schlüssel in einem Array

Array Funktionen
array_chunk
Array Funktionen
PHP Manual

array_change_key_case

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

array_change_key_case — Ändert die Groß- oder Kleinschreibung aller Schlüssel in einem Array

Beschreibung

array array_change_key_case ( array $array [, int $case = CASE_LOWER ] )

Gibt ein Array zurück, in dem alle Schlüssel aus array in Klein- oder Großbuchstaben umgewandelt wurden. Numerische Indizes werden nicht geändert.

Parameter-Liste

array

Das Eingabe-Array

case

Entweder CASE_UPPER oder CASE_LOWER (Standard)

Rückgabewerte

Gibt ein Array zurück, dessen Schlüssel in Klein- oder Großbuchstaben umgewandelt wurden, oder FALSE, wenn array kein Array ist.

Fehler/Exceptions

Wirft E_WARNING, wenn array kein Array ist.

Beispiele

Beispiel #1 array_change_key_case()-Beispiel

<?php
$input_array = array("FirSt" => 1, "SecOnd" => 4);
print_r(array_change_key_case($input_array, CASE_UPPER));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [FIRST] => 1
    [SECOND] => 4
)

Anmerkungen

Hinweis:

Hat ein Array Indizes, die nach einem Durchlauf durch diese Funktion gleich sind (z.B. "keY" und "kEY"), überschreibt der spätere Wert im Array andere Indizes.

Array Funktionen
array_chunk
Array Funktionen


Splittet ein Array in Teile auf

array_change_key_case
array_column
Array Funktionen
PHP Manual

array_chunk

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

array_chunk — Splittet ein Array in Teile auf

Beschreibung

array array_chunk ( array $array , int $size [, bool $preserve_keys = false ] )

array_chunk() teilt das Array in Arrays mit size Elementen auf. Das letzte Array kann weniger als size Werte enthalten.

Parameter-Liste

array

Das Eingabe-Array

size

Die Größe jedes Arrays

preserve_keys

Falls auf TRUE gesetzt, bleiben die Schlüssel erhalten. Der Standard ist FALSE, wodurch jedes Stück neue numerische Indizes erhält.

Rückgabewerte

Gibt ein mehrdimensionales Array zurück, das beginnend mit Null jeweils size Elemente enthält.

Fehler/Exceptions

Wenn size kleiner als 1 ist, wird E_WARNING geworfen und NULL zurückgegeben.

Beispiele

Beispiel #1 array_chunk()-Beispiel

<?php
$input_array = array('a', 'b', 'c', 'd', 'e');
print_r(array_chunk($input_array, 2));
print_r(array_chunk($input_array, 2, true));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => Array
        (
            [0] => a
            [1] => b
        )

    [1] => Array
        (
            [0] => c
            [1] => d
        )

    [2] => Array
        (
            [0] => e
        )

)
Array
(
    [0] => Array
        (
            [0] => a
            [1] => b
        )

    [1] => Array
        (
            [2] => c
            [3] => d
        )

    [2] => Array
        (
            [4] => e
        )

)

Siehe auch

  • array_slice() - Extrahiert einen Ausschnitt eines Arrays

array_change_key_case
array_column
Array Funktionen


Return the values from a single column in the input array

array_chunk
array_combine
Array Funktionen
PHP Manual

array_column

(PHP 5 >= 5.5.0, PHP 7)

array_column — Return the values from a single column in the input array

Beschreibung

array array_column ( array $input , mixed $column_key [, mixed $index_key = null ] )

array_column() returns the values from a single column of the input, identified by the column_key. Optionally, an index_key may be provided to index the values in the returned array by the values from the index_key column of the input array.

Parameter-Liste

input

A multi-dimensional array or an array of objects from which to pull a column of values from. If an array of objects is provided, then public properties can be directly pulled. In order for protected or private properties to be pulled, the class must implement both the __get() and __isset() magic methods.

column_key

The column of values to return. This value may be an integer key of the column you wish to retrieve, or it may be a string key name for an associative array or property name. It may also be NULL to return complete arrays or objects (this is useful together with index_key to reindex the array).

index_key

The column to use as the index/keys for the returned array. This value may be the integer key of the column, or it may be the string key name.

Rückgabewerte

Returns an array of values representing a single column from the input array.

Changelog

Version | Beschreibung
7.0.0 | Added the ability for the input parameter to be an array of objects.

Beispiele

Beispiel #1 Get the column of first names from a recordset

<?php
// Array representing a possible record set returned from a database
$records = array(
    array(
        'id' => 2135,
        'first_name' => 'John',
        'last_name' => 'Doe',
    ),
    array(
        'id' => 3245,
        'first_name' => 'Sally',
        'last_name' => 'Smith',
    ),
    array(
        'id' => 5342,
        'first_name' => 'Jane',
        'last_name' => 'Jones',
    ),
    array(
        'id' => 5623,
        'first_name' => 'Peter',
        'last_name' => 'Doe',
    )
);

$first_names = array_column($records, 'first_name');
print_r($first_names);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => John
    [1] => Sally
    [2] => Jane
    [3] => Peter
)

Beispiel #2 Get the column of last names from a recordset, indexed by the "id" column

<?php
// Using the $records array from Example #1
$last_names = array_column($records, 'last_name', 'id');
print_r($last_names);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [2135] => Doe
    [3245] => Smith
    [5342] => Jones
    [5623] => Doe
)

Beispiel #3 Get the column of usernames from the public "username" property of an object

<?php

class User
{
    public $username;

    public function __construct(string $username)
    {
        $this->username = $username;
    }
}

$users = [
    new User('user 1'),
    new User('user 2'),
    new User('user 3'),
];

print_r(array_column($users, 'username'));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => user 1
    [1] => user 2
    [2] => user 3
)

Beispiel #4 Get the column of names from the private "name" property of an object using the magic __get() method.

<?php

class Person
{
    private $name;

    public function __construct(string $name)
    {
        $this->name = $name;
    }

    public function __get($prop)
    {
        return $this->$prop;
    }

    public function __isset($prop) : bool
    {
        return isset($this->$prop);
    }
}

$people = [
    new Person('Fred'),
    new Person('Jane'),
    new Person('John'),
];

print_r(array_column($people, 'name'));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => Fred
    [1] => Jane
    [2] => John
)
If __isset() is not provided, then an empty array will be returned.

Siehe auch

  • » Recommended userland implementation for PHP lower than 5.5

array_chunk
array_combine
Array Funktionen


Erzeugt ein Array, indem es ein Array für die Schlüssel und ein anderes für die Werte verwendet

array_column
array_count_values
Array Funktionen
PHP Manual

array_combine

(PHP 5, PHP 7)

array_combine — Erzeugt ein Array, indem es ein Array für die Schlüssel und ein anderes für die Werte verwendet

Beschreibung

array array_combine ( array $keys , array $values )

Erzeugt ein Array, in dem die Werte des keys-Arrays als Schlüssel und die Werte aus dem values-Array als die zugehörigen Werte verwendet werden.

Parameter-Liste

keys

Array mit den zu verwendenden Schlüsseln. Für Schlüssel ungültige Werte werden in einen String umgewandelt.

values

Array mit den zu verwendenden Werten

Rückgabewerte

Gibt das kombinierte Array oder FALSE zurück, wenn die Anzahl von Elementen nicht in beiden Arrays identisch ist.

Fehler/Exceptions

Wirft einen Fehler der Stufe E_WARNING, wenn die Anzahl der Elemente in keys und values nicht übereinstimmt.

Changelog

Version | Beschreibung
5.4.0 | Vorherige Versionen warfen ein E_WARNING Fehler und gaben FALSE zurück, wenn zwei leere Arrays übergeben wurden.

Beispiele

Beispiel #1 Ein einfaches array_combine()-Beispiel

<?php
$a = array('gruen', 'rot', 'gelb');
$b = array('avokado', 'apfel', 'banane');
$c = array_combine($a, $b);

print_r($c);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [gruen]  => avokado
    [rot]    => apfel
    [gelb]   => banane
)

Siehe auch

  • array_merge() - Führt zwei oder mehr Arrays zusammen
  • array_walk() - Wendet eine vom Benutzer gelieferte Funktion auf jedes Element eines Arrays an
  • array_values() - Liefert alle Werte eines Arrays

array_column
array_count_values
Array Funktionen


Zählt die Werte eines Arrays

array_combine
array_diff_assoc
Array Funktionen
PHP Manual

array_count_values

(PHP 4, PHP 5, PHP 7)

array_count_values — Zählt die Werte eines Arrays

Beschreibung

array array_count_values ( array $array )

array_count_values() gibt ein Array zurück, in dem die Werte des Arrays array als Schlüssel, und die Häufigkeit ihres Auftretens als Werte angegeben sind.

Parameter-Liste

array

Das Array mit den zu zählenden Werten

Rückgabewerte

Gibt ein assoziatives Array mit den Werten aus array als Schlüsseln und der Anzahl als Werten zurück.

Fehler/Exceptions

Erzeugt ein E_WARNING für jedes Element, welches kein string oder integer ist.

Beispiele

Beispiel #1 array_count_values()-Beispiel

<?php
$array = array(1, "hello", 1, "world", "hello");
print_r(array_count_values($array));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [1] => 2
    [hello] => 2
    [world] => 1
)

Siehe auch

  • count() - Zählt alle Elemente eines Arrays oder etwas in einem Objekt
  • array_unique() - Entfernt doppelte Werte aus einem Array
  • array_values() - Liefert alle Werte eines Arrays
  • count_chars() - Gibt Informationen über die in einem String enthaltenen Zeichen zurück

array_combine
array_diff_assoc
Array Funktionen


Berechnet den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung

array_count_values
array_diff_key
Array Funktionen
PHP Manual

array_diff_assoc

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

array_diff_assoc — Berechnet den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung

Beschreibung

array array_diff_assoc ( array $array1 , array $array2 [, array $... ] )

Vergleicht array1 mit array2 und gibt den Unterschied zurück. Im Gegensatz zu array_diff() werden die Schlüssel des Arrays ebenfalls beim Vergleich herangezogen.

Parameter-Liste

array1

Das Array, das verglichen werden soll

array2

Das Array, mit dem verglichen werden soll

...

Weitere Arrays, mit denen vergleichen werden soll

Rückgabewerte

Gibt ein Array zurück, das alle Werte aus array1 enthält, die in keinem der anderen Arrays vorhanden ist.

Beispiele

Beispiel #1 array_diff_assoc()-Beispiel

In diesem Beispiel sieht man, dass das "a" => "gruen"-Paar in beiden Arrays enthalten ist und daher nicht in der Ausgabe der Funktion auftaucht. Andererseits ist das Paar 0 => "rot" in der Ausgabe, weil "red" im zweiten Array den Wert 1 enthält.

<?php
$array1 = array("a" => "gruen", "b" => "braun", "c" => "blau", "rot");
$array2 = array("a" => "gruen", "gelb", "rot");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [b] => braun
    [c] => blau
    [0] => rot
)

Beispiel #2 array_diff_assoc()-Beispiel

Zwei Werte von Schlüssel => Wert-Paaren werden nur dann als gleich betrachtet, wenn (string) $elem1 === (string) $elem2 gilt. Anders ausgedrückt findet eine strikte Prüfung statt, in der die String-Repräsentationen gleich sein müssen.

<?php
$array1 = array(0, 1, 2);
$array2 = array("00", "01", "2");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => 0
    [1] => 1
    )

Anmerkungen

Hinweis: Diese Funktion überprüft nur eine Dimension eines n-dimensionalen Arrays. Natürlich kann man tiefere Dimensionen überprüfen, indem man zum Beispiel array_diff_assoc($array1[0], $array2[0]); verwendet.

Hinweis: Stellen Sie sicher, dass Sie die Parameter in der korrekten Reihenfolge übergeben, wenn Sie mit ähnlichen Arrays mit mehr Schlüsseln vergleichen. Das neue Array sollte das erste in der Liste sein.

Siehe auch

  • array_diff() - Ermittelt die Unterschiede zwischen Arrays
  • array_diff_uassoc() - Berechnet den Unterschied von Arrays mit zusätzlicher Indexprüfung, welche durch eine benutzerdefinierte Callback-Funktion vorgenommen wird
  • array_udiff_assoc() - Ermittelt den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung, vergleicht mittels einer Callbackfunktion
  • array_udiff_uassoc() - Ermittelt den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Indizes mittels einer Callbackfunktion
  • array_intersect() - Ermittelt die Schnittmenge von Arrays
  • array_intersect_assoc() - Ermittelt die Schnittmenge von Arrays mit Indexprüfung

array_count_values
array_diff_key
Array Funktionen


Berechnet den Unterschied zwischen Arrays, indem es die Schlüssel vergleicht

array_diff_assoc
array_diff_uassoc
Array Funktionen
PHP Manual

array_diff_key

(PHP 5 >= 5.1.0, PHP 7)

array_diff_key — Berechnet den Unterschied zwischen Arrays, indem es die Schlüssel vergleicht

Beschreibung

array array_diff_key ( array $array1 , array $array2 [, array $... ] )

Vergleicht die Schlüssel von array1 mit den Schlüsseln von array2 und gibt die Unterschiede zurück. Diese Funktion arbeitet wie array_diff() mit dem Unterschied, dass der Vergleich mit den Schlüsseln statt den Werten arbeitet.

Parameter-Liste

array1

Das Array, das verglichen werden soll

array2

Das Array, mit dem verglichen werden soll

...

Weitere Arrays, mit denen verglichen werden soll

Rückgabewerte

Gibt ein Array mit allen Einträgen von array1 zurück, deren Schlüssel in keinem der anderen Arrays vorhanden sind.

Beispiele

Beispiel #1 array_diff_key()-Beispiel

Die beiden Schlüssel des Schlüssel => Wert-Paares werden als gleich erachtet, genau dann wenn (string) $Schlüssel1 === (string) $Schlüssel2 . Anders ausgedrückt findet eine strikte Prüfung statt, in der die String-Repräsentationen gleich sein müssen.

<?php
$array1 = array('blau'  => 1, 'rot'  => 2, 'grün'  => 3, 'violett' => 4);
$array2 = array('grün' => 5, 'blau' => 6, 'gelb' => 7, 'türkis'   => 8);

var_dump(array_diff_key($array1, $array2));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  ["rot"]=>
  int(2)
  ["violett"]=>
  int(4)
}

Anmerkungen

Hinweis:

Diese Funktion überprüft nur eine Dimension eines n-dimensionalen Arrays. Natürlich kann man tiefere Dimensionen überprüfen, indem man array_diff_key($array1[0], $array2[0]); verwendet.

Siehe auch

  • array_diff() - Ermittelt die Unterschiede zwischen Arrays
  • array_udiff() - Ermittelt den Unterschied zwischen Arrays mittels einer Callbackfunktion für den Datenvergleich
  • array_diff_assoc() - Berechnet den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung
  • array_diff_uassoc() - Berechnet den Unterschied von Arrays mit zusätzlicher Indexprüfung, welche durch eine benutzerdefinierte Callback-Funktion vorgenommen wird
  • array_udiff_assoc() - Ermittelt den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung, vergleicht mittels einer Callbackfunktion
  • array_udiff_uassoc() - Ermittelt den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Indizes mittels einer Callbackfunktion
  • array_diff_ukey() - Berechnet den Unterschied zwischen Arrays mittels einer Callbackfunktion für den Vergleich der Schlüssel
  • array_intersect() - Ermittelt die Schnittmenge von Arrays
  • array_intersect_assoc() - Ermittelt die Schnittmenge von Arrays mit Indexprüfung
  • array_intersect_uassoc() - Ermittelt die Schnittmenge von Arrays mit Indexprüfung; vergleicht Indizes mit einer Callbackfunktion
  • array_intersect_key() - Ermittelt die Schnittmenge von Arrays, indem es die Schlüssel vergleicht
  • array_intersect_ukey() - Ermittelt die Schnittmenge zweier Arrays mittels eines durch eine Callbackfunktion durchgeführten Schlüsselvergleiches

array_diff_assoc
array_diff_uassoc
Array Funktionen


Berechnet den Unterschied von Arrays mit zusätzlicher Indexprüfung, welche durch eine benutzerdefinierte Callback-Funktion vorgenommen wird

array_diff_key
array_diff_ukey
Array Funktionen
PHP Manual

array_diff_uassoc

(PHP 5, PHP 7)

array_diff_uassoc — Berechnet den Unterschied von Arrays mit zusätzlicher Indexprüfung, welche durch eine benutzerdefinierte Callback-Funktion vorgenommen wird

Beschreibung

array array_diff_uassoc ( array $array1 , array $array2 [, array $... ], callable $key_compare_func )

Vergleicht array1 mit array2 und gibt den Unterschied zurück. Im Gegensatz zu array_diff() werden die Arrays anhand ihrer Schlüssel verglichen.

Im Gegensatz zu array_diff_assoc() wird für den Vergleich der Indizes keine interne Funktion verwendet, sondern eine benutzerdefinierte Callback-Funktion.

Parameter-Liste

array1

Das Array für den Vergleich.

array2

Das Array, das damit verglichen wird.

...

Weitere Arrays, die damit verglichen werden.

key_compare_func

Die Vergleichsfunktion muss einen Integer kleiner als, gleich oder größer als Null zurückgeben, wenn das erste Argument respektive kleiner, gleich oder größer als das zweite ist.

int callback ( mixed $a, mixed $b )

Rückgabewerte

Gibt ein array zurück, welches alle Werte aus array1 enthält, die in keinem der anderen Arrays enthalten sind.

Beispiele

Beispiel #1 array_diff_uassoc()-Beispiel

Das "a" => "gruen"-Paar ist in beiden Arrays enthalten und daher nicht in der Ausgabe der Funktion. Im Gegensatz dazu ist das Paar 0 => "rot" in der Ausgabe, weil "rot" im zweiten Argument 1 als Schlüssel hat.

<?php
function key_compare_func($a, $b)
{
    if ($a === $b) {
        return 0;
    }
    return ($a > $b)? 1:-1;
}

$array1 = array("a" => "gruen", "b" => "braun", "c" => "blau", "rot");
$array2 = array("a" => "gruen", "gelb", "rot");
$ergebnis = array_diff_uassoc($array1, $array2, "key_compare_func");
print_r($ergebnis);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [b] => braun
    [c] => blau
    [0] => rot
)

Die Gleichheit von zwei Indizes wird durch die benutzerdefinierte Callback-Funktion überprüft.

Anmerkungen

Hinweis:

Diese Funktion prüft nur eine Dimension eines n-dimensionalen Arrays. Natürlich können tiefere Ebenen überprüft werden, indem zum Beispiel array_diff_uassoc($array1[0], $array2[0], "key_compare_func"); verwendet wird.

Siehe auch

  • array_diff() - Ermittelt die Unterschiede zwischen Arrays
  • array_diff_assoc() - Berechnet den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung
  • array_udiff() - Ermittelt den Unterschied zwischen Arrays mittels einer Callbackfunktion für den Datenvergleich
  • array_udiff_assoc() - Ermittelt den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung, vergleicht mittels einer Callbackfunktion
  • array_udiff_uassoc() - Ermittelt den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Indizes mittels einer Callbackfunktion
  • array_intersect() - Ermittelt die Schnittmenge von Arrays
  • array_intersect_assoc() - Ermittelt die Schnittmenge von Arrays mit Indexprüfung
  • array_uintersect() - Ermittelt die Schnittmenge von Arrays, vergleicht Daten mittels einer Callbackfunktion
  • array_uintersect_assoc() - Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung, vergleicht Daten mittels einer Callbackfunktion
  • array_uintersect_uassoc() - Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Schlüssel mittels separaten Callbackfunktionen

array_diff_key
array_diff_ukey
Array Funktionen


Berechnet den Unterschied zwischen Arrays mittels einer Callbackfunktion für den Vergleich der Schlüssel

array_diff_uassoc
array_diff
Array Funktionen
PHP Manual

array_diff_ukey

(PHP 5 >= 5.1.0, PHP 7)

array_diff_ukey — Berechnet den Unterschied zwischen Arrays mittels einer Callbackfunktion für den Vergleich der Schlüssel

Beschreibung

array array_diff_ukey ( array $array1 , array $array2 [, array $... ], callable $key_compare_func )

Vergleicht die Schlüssel von array1 mit den Schlüsseln von array2 und gibt die Unterschiede zurück. Diese Funktion arbeitet wie array_diff() mit dem Unterschied, dass der Vergleich mit den Schlüsseln statt den Werten arbeitet.

Anders als von array_diff_key() wird eine vom Benutzer definierte Callbackfunktion für die Vergleiche anstelle einer eingebauten Funktion verwendet.

Parameter-Liste

array1

Das Array, das verglichen werden soll

array2

Das Array, mit dem verglichen werden soll

...

Weitere Arrays, mit denen verglichen werden soll

key_compare_func

Die Vergleichsfunktion muss einen Integer kleiner als, gleich oder größer als Null zurückgeben, wenn das erste Argument respektive kleiner, gleich oder größer als das zweite ist.

int callback ( mixed $a, mixed $b )

Rückgabewerte

Gibt ein Array mit allen Einträgen von array1 zurück, die in keinem der anderen Arrays vorhanden sind.

Beispiele

Beispiel #1 array_diff_ukey()-Beispiel

<?php
function key_compare_func($key1, $key2)
{
    if ($key1 == $key2)
        return 0;
    else if ($key1 > $key2)
        return 1;
    else
        return -1;
}

$array1 = array('blau' => 1, 'rot'  => 2, 'grün' => 3, 'violett' => 4);
$array2 = array('grün' => 5, 'blau' => 6, 'gelb' => 7, 'türkis'  => 8);

var_dump(array_diff_ukey($array1, $array2, 'key_compare_func'));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  ["rot"]=>
  int(2)
  ["violett"]=>
  int(4)
}

Anmerkungen

Hinweis:

Diese Funktion prüft nur eine Dimension eines n-dimensionalen Arrays. Natürlich können Sie tiefere Dimensionen prüfen, indem Sie z.B. array_diff_ukey($array1[0], $array2[0], 'callback_func'); benutzen.

Siehe auch

  • array_diff() - Ermittelt die Unterschiede zwischen Arrays
  • array_udiff() - Ermittelt den Unterschied zwischen Arrays mittels einer Callbackfunktion für den Datenvergleich
  • array_diff_assoc() - Berechnet den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung
  • array_diff_uassoc() - Berechnet den Unterschied von Arrays mit zusätzlicher Indexprüfung, welche durch eine benutzerdefinierte Callback-Funktion vorgenommen wird
  • array_udiff_assoc() - Ermittelt den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung, vergleicht mittels einer Callbackfunktion
  • array_udiff_uassoc() - Ermittelt den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Indizes mittels einer Callbackfunktion
  • array_diff_key() - Berechnet den Unterschied zwischen Arrays, indem es die Schlüssel vergleicht
  • array_intersect() - Ermittelt die Schnittmenge von Arrays
  • array_intersect_assoc() - Ermittelt die Schnittmenge von Arrays mit Indexprüfung
  • array_intersect_uassoc() - Ermittelt die Schnittmenge von Arrays mit Indexprüfung; vergleicht Indizes mit einer Callbackfunktion
  • array_intersect_key() - Ermittelt die Schnittmenge von Arrays, indem es die Schlüssel vergleicht
  • array_intersect_ukey() - Ermittelt die Schnittmenge zweier Arrays mittels eines durch eine Callbackfunktion durchgeführten Schlüsselvergleiches

array_diff_uassoc
array_diff
Array Funktionen


Ermittelt die Unterschiede zwischen Arrays

array_diff_ukey
array_fill_keys
Array Funktionen
PHP Manual

array_diff

(PHP 4 >= 4.0.1, PHP 5, PHP 7)

array_diff — Ermittelt die Unterschiede zwischen Arrays

Beschreibung

array array_diff ( array $array1 , array $array2 [, array $... ] )

Vergleicht array1 mit einem oder mehr anderen Arrays und gibt die Werte aus array1 zurück, die in keinem der anderen Arrays enthalten sind.

Parameter-Liste

array1

Das Array, das verglichen werden soll

array2

Das Array, mit dem verglichen werden soll

...

Weitere Arrays, mit denen verglichen werden soll

Rückgabewerte

Gibt ein Array mit allen Werten von array1 zurück, die in keinem der anderen Arrays vorhanden sind.

Beispiele

Beispiel #1 array_diff()-Beispiel

<?php
$array1 = array("a" => "grün", "rot", "blau", "rot");
$array2 = array("b" => "grün", "gelb", "rot");
$result = array_diff($array1, $array2);

print_r($result);
?>

Wiederholte Elemente in $array1 werden alle gleich behandelt. Dies wird folgendes ausgeben:

Array
(
    [1] => blau
)

Anmerkungen

Hinweis:

Zwei Elemente werden nur dann als gleich angesehen, wenn (string) $elem1 === (string) $elem2. In Worten: Wenn die String-Repräsentation die gleiche ist.

Hinweis:

Beachten Sie, dass diese Funktion nur eine Dimension eines n-dimensionalen Arrays prüft. Natürlich können Sie tiefere Dimensionen prüfen, indem Sie z.B. array_diff($array1[0], $array2[0]); benutzen.

Siehe auch

  • array_diff_assoc() - Berechnet den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung
  • array_intersect() - Ermittelt die Schnittmenge von Arrays
  • array_intersect_assoc() - Ermittelt die Schnittmenge von Arrays mit Indexprüfung

array_diff_ukey
array_fill_keys
Array Funktionen


Befüllt ein Array mit Werten mit den übergebenen Schlüsseln

array_diff
array_fill
Array Funktionen
PHP Manual

array_fill_keys

(PHP 5 >= 5.2.0, PHP 7)

array_fill_keys — Befüllt ein Array mit Werten mit den übergebenen Schlüsseln

Beschreibung

array array_fill_keys ( array $keys , mixed $value )

Befüllt ein Array mit dem Wert, der im Parameter value übergeben wurde, und verwendet dabei die Werte des Arrays keys als Schlüssel.

Parameter-Liste

keys

Ein Array mit den Werten, die als Schlüssel verwendet werden. Für Schlüssel ungültige Werte werden in einen String konvertiert.

value

Der Wert, der zum Befüllen des Arrays verwendet wird

Rückgabewerte

Gibt das befüllte Array zurück

Beispiele

Beispiel #1 array_fill_keys()-Beispiel

<?php
$keys = array('foo', 5, 10, 'bar');
$a = array_fill_keys($keys, 'Banane');
print_r($a);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [foo] => Banane
    [5] => Banane
    [10] => Banane
    [bar] => Banane
)

Siehe auch

  • array_fill() - Füllt ein Array mit Werten
  • array_combine() - Erzeugt ein Array, indem es ein Array für die Schlüssel und ein anderes für die Werte verwendet

array_diff
array_fill
Array Funktionen


Füllt ein Array mit Werten

array_fill_keys
array_filter
Array Funktionen
PHP Manual

array_fill

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

array_fill — Füllt ein Array mit Werten

Beschreibung

array array_fill ( int $start_index , int $num , mixed $value )

array_fill() füllt ein Array mit num Einträgen des Wertes des value Parameters. Die Indizes des Arrays beginnen mit dem start_index Parameter.

Parameter-Liste

start_index

Der erste Index des zurückgegebenen Arrays. Nur nicht-negative Indizes werden unterstützt.

Wenn start_index negativ ist, ist der erste Index des zurückgebenen Arrays start_index; alle weiteren Indexe starten bei 0 (siehe Beispiel).

num

Anzahl der einzufügenden Elemente. Muss größer oder gleich 0 sein.

value

Einzufügender Wert

Rückgabewerte

Gibt das gefüllte Array zurück

Fehler/Exceptions

Wirft eine E_WARNING wenn num kleiner als 0 ist.

Changelog

Version | Beschreibung
5.6.0 | num kann nun 0 sein. Zuvor musste num größer als 0 sein.

Beispiele

Beispiel #1 array_fill()-Beispiel

<?php
$a = array_fill(5, 6, 'Banane');
$b = array_fill(-2, 4, 'Birne');
print_r($a);
print_r($b);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [5]  => Banane
    [6]  => Banane
    [7]  => Banane
    [8]  => Banane
    [9]  => Banane
    [10] => Banane
)
Array
(
    [-2] => Birne
    [0] => Birne
    [1] => Birne
    [2] => Birne
\

Anmerkungen

Beachten Sie auch den Array-Abschnitt des Handbuchs für eine detaillierte Erklärung von negativen Schlüsseln.

Siehe auch

  • array_fill_keys() - Befüllt ein Array mit Werten mit den übergebenen Schlüsseln
  • str_repeat() - Wiederholt einen String
  • range() - Erstellt ein Array mit einem Bereich von Elementen

array_fill_keys
array_filter
Array Funktionen


Filtert Elemente eines Arrays mittels einer Callback-Funktion

array_fill
array_flip
Array Funktionen
PHP Manual

array_filter

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

array_filter — Filtert Elemente eines Arrays mittels einer Callback-Funktion

Beschreibung

array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )

Iteriert über jeden Wert im Array array und übergibt diesen der Callbackfunktion callback. Gibt die Funktion callback true zurück, so wird der aktuelle Wert von array in das Ergebnis-Array geschrieben. Die Schlüssel des Arrays bleiben erhalten.

Parameter-Liste

array

Das Array, über das iteriert werden soll

callback

Die zu verwendende Callbackfunktion

Falls die Funktion callback nicht angegeben wurde, werden alle Einträge aus array entfernt, die FALSE sind. Schauen Sie sich Konvertierung in Booleans für mehr Informationen hierzu an.

flag

Flag, welches bestimmt welche Parameter an callback gesendet werden:

  • ARRAY_FILTER_USE_KEY - nur der Schlüssel wird als einziger Parameter an callback gesendet statt des Werte.
  • ARRAY_FILTER_USE_BOTH - sowohl der Schlüssel als auch der Wert werden als Parameter an callback übergeben statt des Wertes.

Rückgabewerte

Gibt das gefilterte Array zurück.

Changelog

Version | Beschreibung
5.6.0 | Der optionale Parameter flag und die Konstanten ARRAY_FILTER_USE_KEY und ARRAY_FILTER_USE_BOTH wurden hinzugefügt.

Beispiele

Beispiel #1 array_filter()-Beispiel

<?php
function ungerade($var)
{
    // Gibt zurück, ob der Eingabewert ungerade ist
    return($var & 1);
}

function gerade($var)
{
    // Gibt zurück, ob der Eingabewert gerade ist
    return(!($var & 1));
}

$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$array2 = array(6, 7, 8, 9, 10, 11, 12);

echo "Ungerade :\n";
print_r(array_filter($array1, "ungerade"));
echo "Gerade:\n";
print_r(array_filter($array2, "gerade"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Ungerade :
Array
(
    [a] => 1
    [c] => 3
    [e] => 5
)
Gerade:
Array
(
    [0] => 6
    [2] => 8
    [4] => 10
    [6] => 12
)

Beispiel #2 array_filter() ohne callback

<?php

$entry = array(
             0 => 'foo',
             1 => false,
             2 => -1,
             3 => null,
             4 => ''
          );

print_r(array_filter($entry));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => foo
    [2] => -1
)

Beispiel #3 array_filter() mit flag

<?php

$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4];

var_dump(array_filter($arr, function($k) {
    return $k == 'b';
}, ARRAY_FILTER_USE_KEY));

var_dump(array_filter($arr, function($v, $k) {
    return $k == 'b' || $v == 4;
}, ARRAY_FILTER_USE_BOTH));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(1) {
  ["b"]=>
  int(2)
}
array(2) {
  ["b"]=>
  int(2)
  ["d"]=>
  int(4)
}

Anmerkungen

Achtung

Wird das Array durch die Callbackfunktion verändert (z.B. hinzufügen oder löschen von Elementen oder ein unset-Aufruf), so ist das Verhalten dieser Funktion undefiniert.

Siehe auch

  • array_map() - Wendet eine Callback-Funktion auf die Elemente von Arrays an
  • array_reduce() - Iterative Reduktion eines Arrays zu einem Wert mittels einer Callbackfunktion
  • array_walk() - Wendet eine vom Benutzer gelieferte Funktion auf jedes Element eines Arrays an

array_fill
array_flip
Array Funktionen


Vertauscht alle Schlüssel mit ihren zugehörigen Werten in einem Array

array_filter
array_intersect_assoc
Array Funktionen
PHP Manual

array_flip

(PHP 4, PHP 5, PHP 7)

array_flip — Vertauscht alle Schlüssel mit ihren zugehörigen Werten in einem Array

Beschreibung

array array_flip ( array $array )

array_flip() gibt ein Array in vertauschter Reihenfolge aus, d.h. die Schlüssel von array werden zu Werten und die Werte von array werden zu Schlüsseln.

Beachten Sie, dass die Werte von array gültige Schlüssel sein müssen, d.h. sie müssen entweder Integer oder String sein. Ist ein Wert vom falschen Typ, so wird eine Warnung ausgegeben, und das Schlüssel/Wert-Paar wird nicht ins Ergebnis übernommen.

Kommt ein Wert mehrfach vor, so wird der letzte Schlüssel als Wert verwendet und alle anderen Werte gehen verloren.

Parameter-Liste

array

Ein Array mit Schlüssel/Wertpaaren die vertauscht werden sollen.

Rückgabewerte

Gibt im Erfolgsfall das vertauschte Array zurück und im Fehlerfall NULL.

Beispiele

Beispiel #1 array_flip()-Beispiel

<?php
$input = array("Orange", "Apfel", "Birne");
$flipped = array_flip($input);

print_r($flipped);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [Orange] => 0
    [Apfel] => 1
    [Birne] => 2
)

Beispiel #2 array_flip()-Beispiel: Kollision

<?php
$input = array("a" => 1, "b" => 1, "c" => 2);
$flipped = array_flip($input);

print_r($flipped);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [1] => b
    [2] => c
)

Siehe auch

  • array_values() - Liefert alle Werte eines Arrays
  • array_keys() - Liefert alle Schlüssel oder eine Teilmenge aller Schlüssel eines Arrays
  • array_reverse() - Liefert ein Array mit umgekehrter Reihenfolge der Elemente

array_filter
array_intersect_assoc
Array Funktionen


Ermittelt die Schnittmenge von Arrays mit Indexprüfung

array_flip
array_intersect_key
Array Funktionen
PHP Manual

array_intersect_assoc

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

array_intersect_assoc — Ermittelt die Schnittmenge von Arrays mit Indexprüfung

Beschreibung

array array_intersect_assoc ( array $array1 , array $array2 [, array $... ] )

array_intersect_assoc() gibt ein Array mit allen Werten von array1, die auch in allen anderen Argumenten enthalten sind, zurück. Beachten Sie, dass anders als von array_intersect() ebenfalls die Schlüssel zum Vergleich herangezogen werden.

Parameter-Liste

array1

Ein Array mit den Hauptwerten, die geprüft werden sollen.

array2

Ein Array, gegen welches die Werte geprüft werden sollen.

...

Weitere Arrays gegen welche geprüft werden soll.

Rückgabewerte

Gibt ein assoziatives Array zurück, welches alle Werte aus array1 enthält, welche auch in allen anderen Argumenten enthalten sind.

Beispiele

Beispiel #1 array_intersect_assoc() Beispiel

<?php
$array1 = array("a" => "grün", "b" => "braun", "c" => "blau", "rot");
$array2 = array("a" => "grün", "b"=>"gelb", "blau", "rot");
$ergebnis_array = array_intersect_assoc($array1, $array2);
print_r($ergebnis_array);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [a] => grün
)

In unserem Beispiel sehen Sie, dass einzig das Paar "a" => "green" in beiden Arrays enthalten ist und daher zurückgegeben wird. Der Wert "rot" wird nicht zurückgegeben, weil sein Schlüsselwert in $array1 0 ist, wohingegen der Schlüssel von "rot" in $array2 den Wert 1 hat. Der Schlüssel "b" wird nicht zurückgegeben, weil er in beiden Arrays einen anderen Wert hat.

Die beiden Werte des Schlüssel => Wert Paares werden als gleich erachtet, genau dann wenn (string) $elem1 === (string) $elem2 . Anders ausgedrückt wird eine strikte Typenprüfung durchgeführt, so dass die Stringrepresentation gleich sein muss.

Siehe auch

  • array_intersect() - Ermittelt die Schnittmenge von Arrays
  • array_uintersect_assoc() - Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung, vergleicht Daten mittels einer Callbackfunktion
  • array_intersect_uassoc() - Ermittelt die Schnittmenge von Arrays mit Indexprüfung; vergleicht Indizes mit einer Callbackfunktion
  • array_uintersect_uassoc() - Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Schlüssel mittels separaten Callbackfunktionen
  • array_diff() - Ermittelt die Unterschiede zwischen Arrays
  • array_diff_assoc() - Berechnet den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung
array_flip
array_intersect_key
Array Funktionen


Ermittelt die Schnittmenge von Arrays, indem es die Schlüssel vergleicht

array_intersect_assoc
array_intersect_uassoc
Array Funktionen
PHP Manual

array_intersect_key

(PHP 5 >= 5.1.0, PHP 7)

array_intersect_key — Ermittelt die Schnittmenge von Arrays, indem es die Schlüssel vergleicht

Beschreibung

array array_intersect_key ( array $array1 , array $array2 [, array $... ] )

array_intersect_key() gibt ein Array zurück, welches alle Werte von array1 enthält, die Schlüssel besitzen, die in allen anderen Argumenten enthalten sind.

Parameter-Liste

array1

Das Array mit den Hauptschlüsseln, auf die geprüft werden soll.

array2

Ein Array, gegen welches die Schlüssel geprüft werden.

...

Eine variable Liste zu vergleichender Arrays.

Rückgabewerte

Gibt ein assoziatives Array zurück, welches alle Einträge von array1 enthält, deren Schlüssel in allen weiteren Arrays vorhanden sind.

Beispiele

Beispiel #1 array_intersect_key()-Beispiel

<?php
$array1 = array('blau' => 1, 'rot'  => 2, 'grün' => 3, 'violett' => 4);
$array2 = array('grün' => 5, 'blau' => 6, 'gelb' => 7, 'türkis'  => 8);

var_dump(array_intersect_key($array1, $array2));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  ["blau"]=>
  int(1)
  ["grün"]=>
  int(3)
})

In unserem Beispiel sehen Sie, dass nur die Schlüssel 'blau' und 'grün' in beiden Arrays vorhanden sind und daher zurückgegeben werden. Beachten Sie auch, dass 'blau' und 'grün' in beiden Arrays unterschiedliche Werte besitzen. Eine Übereinstimmung wird dennoch festgestellt, da nur die Schlüssel geprüft werden. Die zurückgegebenen Werte sind diejenigen aus array1.

Die beiden Schlüssel des Schlüssel => Wert-Paares werden als gleich erachtet, genau dann wenn (string) $key1 === (string) $key2 . Anders ausgedrückt findet eine strikte Prüfung statt, in der die String-Repräsentationen gleich sein müssen.

Siehe auch

  • array_diff() - Ermittelt die Unterschiede zwischen Arrays
  • array_udiff() - Ermittelt den Unterschied zwischen Arrays mittels einer Callbackfunktion für den Datenvergleich
  • array_diff_assoc() - Berechnet den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung
  • array_diff_uassoc() - Berechnet den Unterschied von Arrays mit zusätzlicher Indexprüfung, welche durch eine benutzerdefinierte Callback-Funktion vorgenommen wird
  • array_udiff_assoc() - Ermittelt den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung, vergleicht mittels einer Callbackfunktion
  • array_udiff_uassoc() - Ermittelt den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Indizes mittels einer Callbackfunktion
  • array_diff_key() - Berechnet den Unterschied zwischen Arrays, indem es die Schlüssel vergleicht
  • array_diff_ukey() - Berechnet den Unterschied zwischen Arrays mittels einer Callbackfunktion für den Vergleich der Schlüssel
  • array_intersect() - Ermittelt die Schnittmenge von Arrays
  • array_intersect_assoc() - Ermittelt die Schnittmenge von Arrays mit Indexprüfung
  • array_intersect_uassoc() - Ermittelt die Schnittmenge von Arrays mit Indexprüfung; vergleicht Indizes mit einer Callbackfunktion
  • array_intersect_ukey() - Ermittelt die Schnittmenge zweier Arrays mittels eines durch eine Callbackfunktion durchgeführten Schlüsselvergleiches

array_intersect_assoc
array_intersect_uassoc
Array Funktionen


Ermittelt die Schnittmenge von Arrays mit Indexprüfung; vergleicht Indizes mit einer Callbackfunktion

array_intersect_key
array_intersect_ukey
Array Funktionen
PHP Manual

array_intersect_uassoc

(PHP 5, PHP 7)

array_intersect_uassoc — Ermittelt die Schnittmenge von Arrays mit Indexprüfung; vergleicht Indizes mit einer Callbackfunktion

Beschreibung

array array_intersect_uassoc ( array $array1 , array $array2 [, array $ ... ], callable $key_compare_func )

array_intersect_uassoc() gibt ein Array mit allen Werten von array1, die auch in allen anderen Argumenten enthalten sind, zurück. Beachten Sie, dass anders als von array_intersect() die Schlüssel zum Vergleich herangezogen werden.

Parameter-Liste

array1

Eingabe-Array für den Vergleich der Arrays.

array2

Erstes Array gegen das die Schlüssel verglichen werden sollen.

...

Variable Liste von Array-Argumenten, gegen die die Werte verglichen werden sollen.

key_compare_func

Die Vergleichsfunktion muss einen Integer kleiner als, gleich oder größer als Null zurückgeben, wenn das erste Argument respektive kleiner, gleich oder größer als das zweite ist.

int callback ( mixed $a, mixed $b )

Rückgabewerte

Gibt alle Werte von array1 zurück, deren Werte in allen Argumenten existieren.

Beispiele

Beispiel #1 array_intersect_uassoc()-Beispiel

<?php
$array1 = array("a" => "grün", "b" => "braun", "c" => "blau", "rot");
$array2 = array("a" => "GRÜN", "B" => "braun", "gelb", "rot");

print_r(array_intersect_uassoc($array1, $array2, "strcasecmp"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [b] => braun
)

Siehe auch

  • array_intersect() - Ermittelt die Schnittmenge von Arrays
  • array_intersect_assoc() - Ermittelt die Schnittmenge von Arrays mit Indexprüfung
  • array_uintersect_assoc() - Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung, vergleicht Daten mittels einer Callbackfunktion
  • array_uintersect_uassoc() - Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Schlüssel mittels separaten Callbackfunktionen
  • array_intersect_key() - Ermittelt die Schnittmenge von Arrays, indem es die Schlüssel vergleicht
  • array_intersect_ukey() - Ermittelt die Schnittmenge zweier Arrays mittels eines durch eine Callbackfunktion durchgeführten Schlüsselvergleiches

array_intersect_key
array_intersect_ukey
Array Funktionen


Ermittelt die Schnittmenge zweier Arrays mittels eines durch eine Callbackfunktion durchgeführten Schlüsselvergleiches

array_intersect_uassoc
array_intersect
Array Funktionen
PHP Manual

array_intersect_ukey

(PHP 5 >= 5.1.0, PHP 7)

array_intersect_ukey — Ermittelt die Schnittmenge zweier Arrays mittels eines durch eine Callbackfunktion durchgeführten Schlüsselvergleiches

Beschreibung

array array_intersect_ukey ( array $array1 , array $array2 [, array $... ], callable $key_compare_func )

array_intersect_ukey() gibt ein Array zurück, welches alle Werte von array1 enthält, die Schlüssel besitzen, die in allen anderen Argumenten enthalten sind.

Parameter-Liste

array1

Eingabe-Array für den Vergleich der Arrays.

array2

Erstes Array gegen das die Schlüssel verglichen werden sollen.

...

Variable Liste von Array-Argumenten, gegen die die Schlüssel verglichen werden sollen.

key_compare_func

Die Vergleichsfunktion muss einen Integer kleiner als, gleich oder größer als Null zurückgeben, wenn das erste Argument respektive kleiner, gleich oder größer als das zweite ist.

int callback ( mixed $a, mixed $b )

Rückgabewerte

Gibt alle Werte von array1 zurück, deren Schlüssel in allen Argumenten existieren.

Beispiele

Beispiel #1 array_intersect_ukey()-Beispiel

<?php
function key_compare_func($key1, $key2)
{
    if ($key1 == $key2)
        return 0;
    else if ($key1 > $key2)
        return 1;
    else
        return -1;
}

$array1 = array('blau'  => 1, 'rot'  => 2, 'grün'  => 3, 'violett' => 4);
$array2 = array('grün' => 5, 'blau' => 6, 'gelb' => 7, 'türkis'   => 8);

var_dump(array_intersect_ukey($array1, $array2, 'key_compare_func'));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  ["blau"]=>
  int(1)
  ["grün"]=>
  int(3)
})

In unserem Beispiel sehen Sie, dass nur die Schlüssel 'blau' und 'grün' in beiden Arrays vorhanden sind und daher zurückgegeben werden. Beachten Sie auch, dass die Werte zu den Schlüsseln 'blau' und 'grün' sich in beiden Arrays voneinander unterscheiden. Eine Übereinstimmung wird dennoch festgestellt, da nur die Schlüssel überprüft werden. Die zurückgegebenen Werte sind diejenigen aus array1.

Siehe auch

  • array_diff() - Ermittelt die Unterschiede zwischen Arrays
  • array_udiff() - Ermittelt den Unterschied zwischen Arrays mittels einer Callbackfunktion für den Datenvergleich
  • array_diff_assoc() - Berechnet den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung
  • array_diff_uassoc() - Berechnet den Unterschied von Arrays mit zusätzlicher Indexprüfung, welche durch eine benutzerdefinierte Callback-Funktion vorgenommen wird
  • array_udiff_assoc() - Ermittelt den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung, vergleicht mittels einer Callbackfunktion
  • array_udiff_uassoc() - Ermittelt den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Indizes mittels einer Callbackfunktion
  • array_diff_key() - Berechnet den Unterschied zwischen Arrays, indem es die Schlüssel vergleicht
  • array_diff_ukey() - Berechnet den Unterschied zwischen Arrays mittels einer Callbackfunktion für den Vergleich der Schlüssel
  • array_intersect() - Ermittelt die Schnittmenge von Arrays
  • array_intersect_assoc() - Ermittelt die Schnittmenge von Arrays mit Indexprüfung
  • array_intersect_uassoc() - Ermittelt die Schnittmenge von Arrays mit Indexprüfung; vergleicht Indizes mit einer Callbackfunktion
  • array_intersect_key() - Ermittelt die Schnittmenge von Arrays, indem es die Schlüssel vergleicht

array_intersect_uassoc
array_intersect
Array Funktionen


Ermittelt die Schnittmenge von Arrays

array_intersect_ukey
array_key_exists
Array Funktionen
PHP Manual

array_intersect

(PHP 4 >= 4.0.1, PHP 5, PHP 7)

array_intersect — Ermittelt die Schnittmenge von Arrays

Beschreibung

array array_intersect ( array $array1 , array $array2 [, array $... ] )

array_intersect() gibt ein Array mit allen Werten von array1 zurück, die auch in allen anderen Argumenten enthalten sind. Beachten Sie, dass die Schlüssel erhalten bleiben.

Parameter-Liste

array1

Das Array mit den Hauptwerten, auf die überprüft werden soll.

array2

Ein Array, mit dessen Werten verglichen wird.

...

Eine variable Liste von Arrays, mit denen verglichen wird.

Rückgabewerte

Gibt ein Array mit allen Werten von array1 zurück, die auch in allen anderen Argumenten enthalten sind.

Beispiele

Beispiel #1 array_intersect()-Beispiel

<?php
$array1 = array("a" => "grün", "rot", "blau");
$array2 = array("b" => "grün", "gelb", "rot");
$ergebnis = array_intersect($array1, $array2);
print_r($ergebnis);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [a] => grün
    [0] => rot
)

Anmerkungen

Hinweis: Zwei Elemente werden genau dann als gleich angesehen, wenn (string) $elem1 === (string) $elem2. In Worten: Wenn die String-Repräsentationen identisch sind.

Siehe auch

  • array_intersect_assoc() - Ermittelt die Schnittmenge von Arrays mit Indexprüfung
  • array_diff() - Ermittelt die Unterschiede zwischen Arrays
  • array_diff_assoc() - Berechnet den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung

array_intersect_ukey
array_key_exists
Array Funktionen


Prüft, ob ein Schlüssel in einem Array existiert

array_intersect
array_keys
Array Funktionen
PHP Manual

array_key_exists

(PHP 4 >= 4.0.7, PHP 5, PHP 7)

array_key_exists — Prüft, ob ein Schlüssel in einem Array existiert

Beschreibung

bool array_key_exists ( mixed $key , array $array )

array_key_exists() gibt TRUE zurück, wenn key in dem Array vorhanden ist. key kann jeder für einen Array-Index mögliche Wert sein.

Parameter-Liste

key

Der zu prüfende Wert.

array

Ein Array mit den zu prüfenden Schlüsseln.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Hinweis:

array_key_exists() sucht nur nach Schlüsseln in der ersten Dimension. Verschachtelte Schlüssel in mehrdimensionalen Arrays werden nicht gesucht.

Beispiele

Beispiel #1 array_key_exists()-Beispiel

<?php
$search_array = array('erstes' => 1, 'zweites' => 4);
if (array_key_exists('erstes', $search_array)) {
    echo "Das Element 'erstes' ist in dem Array vorhanden";
}
?>

Beispiel #2 array_key_exists() vs. isset()

isset() gibt nicht TRUE zurück für Schlüssel eines Arrays, die zu einem NULL-Wert gehören, array_key_exists() tut dies hingegen.

<?php
$search_array = array('erstes' => null, 'zweites' => 4);

// Gibt false zurück
isset($search_array['erstes']);

// Gibt true zurück
array_key_exists('erstes', $search_array);
?>

Anmerkungen

Hinweis:

Aus Gründen der Abwärtskompatibilität gibt array_key_exists() auch dann TRUE zurück, wenn key eine Eigenschaft ist, die in einem Objekt, das als array übergeben wurde, definiert ist. Auf dieses Verhalten sollte man sich nicht verlassen, und es sollte darauf geachtet werden, dass array ein Array ist.

Um zu prüfen, ob eine Eigenschaft in einem Objekt existiert, verwenden Sie property_exists().

Siehe auch

  • isset() - Prüft, ob eine Variable existiert und ob sie nicht NULL ist
  • array_keys() - Liefert alle Schlüssel oder eine Teilmenge aller Schlüssel eines Arrays
  • in_array() - Prüft, ob ein Wert in einem Array existiert
  • property_exists() - Prüft auf die Existenz einer Eigenschaft eines Objektes bzw. einer Klasse

array_intersect
array_keys
Array Funktionen


Liefert alle Schlüssel oder eine Teilmenge aller Schlüssel eines Arrays

array_key_exists
array_map
Array Funktionen
PHP Manual

array_keys

(PHP 4, PHP 5, PHP 7)

array_keys — Liefert alle Schlüssel oder eine Teilmenge aller Schlüssel eines Arrays

Beschreibung

array array_keys ( array $array [, mixed $search_value = null [, bool $strict = false ]] )

array_keys() gibt die Schlüssel (numerisch und als String) des Arrays array zurück.

Ist der optionale Parameter search_value angegeben, werden nur die Schlüssel für diesen Wert zurückgegeben. Andernfalls werden alle Schlüssel von array zurückgegeben.

Parameter-Liste

array

Ein Array mit den zurückzugebenden Schlüsseln.

search_value

Wenn angegeben, werden nur Schlüssel mit diesen Werten zurückgegeben.

strict

Bestimmt, ob ein strikter Vergleich (===) während der Suche verwendet werden soll.

Rückgabewerte

Gibt ein Array mit allen Schlüsseln des Arrays array zurück.

Beispiele

Beispiel #1 array_keys()-Beispiel

<?php
$array = array(0 => 100, "Farbe" => "rot");
print_r(array_keys($array));

$array = array("blau", "rot", "grün", "blau", "blau");
print_r(array_keys($array, "blau"));

$array = array("Farbe" => array("blau", "rot", "grün"),
               "Größe" => array("klein", "mittel", "groß"));
print_r(array_keys($array));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => 0
    [1] => Farbe
)
Array
(
    [0] => 0
    [1] => 3
    [2] => 4
)
Array
(
    [0] => Farbe
    [1] => Größe
)

Siehe auch

  • array_values() - Liefert alle Werte eines Arrays
  • array_combine() - Erzeugt ein Array, indem es ein Array für die Schlüssel und ein anderes für die Werte verwendet
  • array_key_exists() - Prüft, ob ein Schlüssel in einem Array existiert
  • array_search() - Durchsucht ein Array nach einem Wert und liefert bei Erfolg den zugehörigen Schlüssel

array_key_exists
array_map
Array Funktionen


Wendet eine Callback-Funktion auf die Elemente von Arrays an

array_keys
array_merge_recursive
Array Funktionen
PHP Manual

array_map

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

array_map — Wendet eine Callback-Funktion auf die Elemente von Arrays an

Beschreibung

array array_map ( callable $callback , array $array1 [, array $... ] )

array_map() gibt ein Array mit allen Elementen von array1 zurück, nachdem die Callback-Funktion callback auf jedes einzelne Element angewandt wurde. Die Anzahl Parameter, welche die Callback-Funktion callback akzeptiert, sollte der Anzahl der an array_map() übergebenen Arrays entsprechen.

Parameter-Liste

callback

Callback-Funktion, die für jedes Element in jedem Array aufgerufen werden soll.

array1

Ein Array, auf das die callback-Funktion angewendet werden soll.

...

Variable Liste von Array-Argumenten, auf die die callback-Funktion angewendet werden soll.

Rückgabewerte

Gibt ein Array zurück, dass alle Elemente von array1 enthält, nachdem die callback-Funktion auf jedes Element angewendet wurde.

Beispiele

Beispiel #1 array_map()-Beispiel

<?php
function cube($n)
{
    return($n * $n * $n);
}

$a = array(1, 2, 3, 4, 5);
$b = array_map("cube", $a);
print_r($b);
?>

Dies speichert in $b:

Array
(
    [0] => 1
    [1] => 8
    [2] => 27
    [3] => 64
    [4] => 125
)

Beispiel #2 array_map() mit einer Lambda-Funktion (seit PHP 5.3.0)

<?php

/* Seit PHP 5.3.0 */

$func = function($value) { return $value * 2; };

print_r(array_map($func, range(1, 5)));

?>
Array
(
    [0] => 2
    [1] => 4
    [2] => 6
    [3] => 8
    [4] => 10
)

Beispiel #3 array_map() - Verwendung mehrerer Arrays

<?php
function show_Spanish($n, $m)
{
    return("Die Zahl $n heißt auf Spanisch  $m");
}

function map_Spanish($n, $m)
{
    return(array($n => $m));
}

$a = array(1, 2, 3, 4, 5);
$b = array("uno", "dos", "tres", "cuatro", "cinco");

$c = array_map("show_Spanish", $a, $b);
print_r($c);

$d = array_map("map_Spanish", $a , $b);
print_r($d);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

// Ausgabe von $c
Array
(
    [0] => Die Zahl 1 heißt auf Spanisch uno
    [1] => Die Zahl 2 heißt auf Spanisch dos
    [2] => Die Zahl 3 heißt auf Spanisch tres
    [3] => Die Zahl 4 heißt auf Spanisch cuatro
    [4] => Die Zahl 5 heißt auf Spanisch cinco
)

// Ausgabe von $d
Array
(
    [0] => Array
        (
            [1] => uno
        )

    [1] => Array
        (
            [2] => dos
        )

    [2] => Array
        (
            [3] => tres
        )

    [3] => Array
        (
            [4] => cuatro
        )

    [4] => Array
        (
            [5] => cinco
        )

)

Bei Verwendung von zwei oder mehr Arrays sollten diese gewöhnlich die gleiche Länge besitzen, da die Callback-Funktion parallel auf die entsprechenden Elemente angewandt wird. Haben die Arrays unterschiedliche Längen, werden kürzere um leere Elemente erweitert, um mit der Länge des längsten übereinzustimmen.

Eine interessante Anwendung dieser Funktion ist die Konstruktion eines Arrays bestehend aus Arrays, was mit NULL als Name der Callback-Funktion leicht realisiert werden kann.

Beispiel #4 Erstellen eines Arrays mit Arrays

<?php
$a = array(1, 2, 3, 4, 5);
$b = array("eins", "zwei", "drei", "vier", "fünf");
$c = array("uno", "dos", "tres", "cuatro", "cinco");

$d = array_map(null, $a, $b, $c);
print_r($d);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => Array
        (
            [0] => 1
            [1] => eins
            [2] => uno
        )

    [1] => Array
        (
            [0] => 2
            [1] => zwei
            [2] => dos
        )

    [2] => Array
        (
            [0] => 3
            [1] => drei
            [2] => tres
        )

    [3] => Array
        (
            [0] => 4
            [1] => vier
            [2] => cuatro
        )

    [4] => Array
        (
            [0] => 5
            [1] => fünf
            [2] => cinco
        )

)

Das zurückgelieferte Array erhält die Schlüssel des Array-Arguments nur, wenn genau ein Array übergeben wurde. Wird mehr als ein Array übergeben, hat das zurückgelieferte Array sequentielle Integer-Schlüssel.

Beispiel #5 array_map() - mit String-Schlüsseln

<?php
$arr = array("stringkey" => "value");
function cb1($a) {
    return array ($a);
}
function cb2($a, $b) {
    return array ($a, $b);
}
var_dump(array_map("cb1", $arr));
var_dump(array_map("cb2", $arr, $arr));
var_dump(array_map(null,  $arr));
var_dump(array_map(null, $arr, $arr));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(1) {
  ["stringkey"]=>
  array(1) {
    [0]=>
    string(5) "value"
  }
}
array(1) {
  [0]=>
  array(2) {
    [0]=>
    string(5) "value"
    [1]=>
    string(5) "value"
  }
}
array(1) {
  ["stringkey"]=>
  string(5) "value"
}
array(1) {
  [0]=>
  array(2) {
    [0]=>
    string(5) "value"
    [1]=>
    string(5) "value"
  }
}

Siehe auch

  • array_filter() - Filtert Elemente eines Arrays mittels einer Callback-Funktion
  • array_reduce() - Iterative Reduktion eines Arrays zu einem Wert mittels einer Callbackfunktion
  • array_walk() - Wendet eine vom Benutzer gelieferte Funktion auf jedes Element eines Arrays an
  • Informationen über den Callback-Typ

array_keys
array_merge_recursive
Array Funktionen


Führt ein oder mehrere Arrays rekursiv zusammen

array_map
array_merge
Array Funktionen
PHP Manual

array_merge_recursive

(PHP 4 >= 4.0.1, PHP 5, PHP 7)

array_merge_recursive — Führt ein oder mehrere Arrays rekursiv zusammen

Beschreibung

array array_merge_recursive ( array $array1 [, array $... ] )

array_merge_recursive() fügt die Elemente von einem oder mehreren Arrays zusammen, so dass die Werte eines Arrays an die des voherigen angehängt werden. Das daraus resultierende Array wird zurückgegeben.

Falls die angegebenen Arrays die selben String-Schlüssel haben, so werden die Werte dieser Schlüssel in einem Array zusammengeführt. Dies geschieht rekursiv, so dass, falls einer der Werte selbst ein Array ist, auch dieser Wert mit dem entsprechenden Eintrag eines anderen Arrays zusammengeführt wird. Falls jedoch die Arrays den gleichen numerischen Schlüssel haben, so wird der spätere Wert nicht den ursprünglichen Wert überschreiben, sondern er wird angehängt.

Parameter-Liste

array1

Das Startarray für das Zusammenführen.

...

Variable Liste der Arrays, die rekursiv zusammengeführt werden sollen.

Rückgabewerte

Ein Array mit Werten, die aus dem Zusammenführen der Argumente resultieren.

Beispiele

Beispiel #1 array_merge_recursive()-Beispiel

<?php
$ar1 = array("farbe" => array ("favorit" => "rot"), 5);
$ar2 = array(10, "farbe" => array ("favorit" => "grün", "blau"));
$result = array_merge_recursive ($ar1, $ar2);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [farbe] => Array
        (
            [favorit] => Array
                (
                    [0] => rot
                    [1] => grün
                )

            [0] => blau
        )

    [0] => 5
    [1] => 10
)

Siehe auch

  • array_merge() - Führt zwei oder mehr Arrays zusammen
  • array_replace_recursive() - Replaces elements from passed arrays into the first array recursively

array_map
array_merge
Array Funktionen


Führt zwei oder mehr Arrays zusammen

array_merge_recursive
array_multisort
Array Funktionen
PHP Manual

array_merge

(PHP 4, PHP 5, PHP 7)

array_merge — Führt zwei oder mehr Arrays zusammen

Beschreibung

array array_merge ( array $array1 [, array $... ] )

Fügt die Elemente von zwei oder mehr Arrays zusammen, indem die Werte des einen an das Ende des vorherigen angehängt werden. Das daraus resultierende Array wird zurückgegeben.

Haben die angegebenen Arrays die selben alphanumerischen Schlüssel, dann überschreibt der spätere Wert den vorhergehenden. Falls die Arrays aber gleiche numerische Schlüssel enthalten, überschreibt der spätere Wert den ursprünglichen Wert nicht und wird stattdessen angehängt.

Werte im Eingangsarray mit numerischen Schlüsseln werden im resultierenden Array mit aufsteigenden Schlüsseln, die bei Null beginnen, neu nummeriert.

Parameter-Liste

array1

Erstes Array zum Zusammenfügen.

...

Variable Liste von zusammenzufügenden Arrays.

Rückgabewerte

Gibt das resultierende Array zurück.

Beispiele

Beispiel #1 array_merge()-Beispiel

<?php
$array1 = array("farbe" => "rot", 2, 4);
$array2 = array("a", "b", "farbe" => "grün", "form" => "trapezoid", 4);
$ergebnis = array_merge($array1, $array2);
print_r($ergebnis);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [farbe] => grün
    [0] => 2
    [1] => 4
    [2] => a
    [3] => b
    [form] => trapezoid
    [4] => 4
)

Beispiel #2 Ein einfaches array_merge()-Beispiel

<?php
$array1 = array();
$array2 = array(1 => "daten");
$ergebnis = array_merge($array1, $array2);
?>

Vergessen Sie nicht, dass numerische Schlüssel neu nummeriert werden!

Array
(
    [0] => daten
)

Falls Array-Elemente des zweiten Arrays an das erste Array angehängt werden sollen, ohne dass Elemente des ersten Arrays überschrieben werden und neu indexiert wird, kann der Vereinigungs-Operator + verwendet werden:

<?php
$array1 = array(0 => 'null_a', 2 => 'zwei_a', 3 => 'drei_a');
$array2 = array(1 => 'eins_b', 3 => 'drei_b', 4 => 'vier_b');
$ergebnis = $array1 + $array2;
var_dump($ergebnis);
?>

Die Schlüssel des ersten Arrays werden beibehalten. Falls ein Schlüssel in beiden Arrays vorkommt, wird das Element des ersten Arrays verwendet und das entsprechende Element des zweiten Arrays ignoriert.

array(5) {
  [0]=>
  string(6) "null_a"
  [2]=>
  string(5) "zwei_a"
  [3]=>
  string(7) "drei_a"
  [1]=>
  string(5) "eins_b"
  [4]=>
  string(6) "vier_b"
}

Beispiel #3 array_merge() mit nicht-Array-Typen

<?php
$anfang = 'foo';
$ende = array(1 => 'bar');
$ergebnis = array_merge((array)$anfang, (array)$ende);
print_r($ergebnis);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

    Array
    (
        [0] => foo
        [1] => bar
    )

Siehe auch

  • array_merge_recursive() - Führt ein oder mehrere Arrays rekursiv zusammen
  • array_replace() - Ersetzt Elemente von übergebenen Arrays im ersten Array
  • array_combine() - Erzeugt ein Array, indem es ein Array für die Schlüssel und ein anderes für die Werte verwendet
  • array operators

array_merge_recursive
array_multisort
Array Funktionen


Sortiert mehrere oder multidimensionale Arrays

array_merge
array_pad
Array Funktionen
PHP Manual

array_multisort

(PHP 4, PHP 5, PHP 7)

array_multisort — Sortiert mehrere oder multidimensionale Arrays

Beschreibung

bool array_multisort ( array &$array1 [, mixed $array1_sort_order = SORT_ASC [, mixed $array1_sort_flags = SORT_REGULAR [, mixed $... ]]] )

array_multisort() wird zum Sortieren von entweder mehreren Arrays auf einmal, oder eines multidimensionalen Arrays nach einer oder mehreren Dimensionen benutzt.

Assoziative (string) Schlüssel werden beibehalten, während numerische Schlüssel neu indexiert werden.

Parameter-Liste

array1

Ein zu sortierendes array.

array1_sort_order

Die Reihenfolge, die verwendet wird, um das vorangehende array Argument zu sortieren. Entweder SORT_ASC um aufsteigend, oder SORT_DESC um absteigend zu sortieren.

Dieses Argument kann mit array1_sort_flags vertauscht werden, oder ganz entfallen, in welchem Fall SORT_ASC angenommen wird.

array1_sort_flags

Sortieroptionen für das vorangehende array Argument:

Sortier-Flags:

  • SORT_REGULAR - vergleiche Elemente normal (ändere nicht die Typen)
  • SORT_NUMERIC - vergleiche Elemente numerisch
  • SORT_STRING - vergleiche Elemente als Zeichenketten
  • SORT_LOCALE_STRING - vergleiche Elemente als Zeichenketten, basierend auf dem aktuellen Gebietschema. Es verwendet das Gebietsschema, das unter Verwendung von setlocale() geändert werden kann
  • SORT_NATURAL - vergleiche Elemente als Zeichenketten unter Verwendung einer "natürlichen Ordnung" wie natsort()
  • SORT_FLAG_CASE - kann kombiniert werden (bitweises OR) mit SORT_STRING oder SORT_NATURAL um Zeichenketten case-insensitive zu sortieren

Dieses Argument kann mit array1_sort_order vertauscht werden, oder ganz entfallen, in welchem Fall SORT_REGULAR angenommen wird.

...

Weitere Arrays, optional gefolgt von Sortierreihenfolge und -Flags. Nur zu äquivalenten Elementen in vorherigen Arrays korrespondiere Elemente werden verglichen. Anders ausgedrückt erfolgt die Sortierung lexikografisch.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.4.0 | SORT_NATURAL und SORT_FLAG_CASE wurden zu array1_sort_flags als mögliche Sortier-Flags hinzugefügt.
5.3.0 | SORT_LOCALE_STRING wurde zu array1_sort_flags als mögliches Sortier-Flag hinzugefügt.

Beispiele

Beispiel #1 Sortieren mehrerer Arrays

<?php
$ar1 = array(10, 100, 100, 0);
$ar2 = array(1, 3, 2, 4);
array_multisort($ar1, $ar2);

var_dump($ar1);
var_dump($ar2);
?>

In diesem Beispiel enthält das erste Array nach dem Sortieren 0, 10, 100, 100. Das zweite Array wird 4, 1, 2, 3 enthalten. Die Einträge des zweiten Arrays, welche den identischen Einträgen des ersten Arrays entsprechen (100 und 100), wurden ebenfalls sortiert.

array(4) {
  [0]=> int(0)
  [1]=> int(10)
  [2]=> int(100)
  [3]=> int(100)
}
array(4) {
  [0]=> int(4)
  [1]=> int(1)
  [2]=> int(2)
  [3]=> int(3)
}

Beispiel #2 Sortieren eines mehrdimensionalen Arrays

<?php
$ar = array(
       array("10", 11, 100, 100, "a"),
       array(   1,  2, "2",   3,   1)
      );
array_multisort($ar[0], SORT_ASC, SORT_STRING,
                $ar[1], SORT_NUMERIC, SORT_DESC);
var_dump($ar);
?>

In diesem Beispiel wird sich das erste Array nach der Sortierung in "10", 100, 100, 11, "a" ändern (es wurde als Strings in aufsteigender Reihenfolge sortiert). Das zweite wird 1, 3, "2", 2, 1 enthalten (sortiert als Zahlen in absteigender Reihe).

array(2) {
  [0]=> array(5) {
    [0]=> string(2) "10"
    [1]=> int(100)
    [2]=> int(100)
    [3]=> int(11)
    [4]=> string(1) "a"
  }
  [1]=> array(5) {
    [0]=> int(1)
    [1]=> int(3)
    [2]=> string(1) "2"
    [3]=> int(2)
    [4]=> int(1)
  }
}

Beispiel #3 Datenbankdaten sortieren

In diesem Beispiel repräsentiert jedes Element des Arrays data eine Zeile einer Tabelle. Dieser Typ von Datensätzen ist typisch für Datenbankinhalte.

Beispieldaten:

Band   | Auflage
-------+--------
    67 |       2
    86 |       1
    85 |       6
    98 |       2
    86 |       6
    67 |       7

Die Daten als data genanntes Array. Dieses würde man üblicherweise erhalten, indem man zum Beispiel mit mysql_fetch_assoc() eine Schleife baut.

<?php
$data[] = array('Band' => 67, 'Auflage' => 2);
$data[] = array('Band' => 86, 'Auflage' => 1);
$data[] = array('Band' => 85, 'Auflage' => 6);
$data[] = array('Band' => 98, 'Auflage' => 2);
$data[] = array('Band' => 86, 'Auflage' => 6);
$data[] = array('Band' => 67, 'Auflage' => 7);
?>

In diesem Beispiel werden wir nach Band absteigend sortieren und nach Auflage aufsteigend.

Wir haben ein Array von Zeilen, aber array_multisort() benötigt ein Array von Spalten, daher benutzen wir den Code unten, um die Spalten zu bekommen und dann die Sortierung durchzuführen.

<?php
// Hole eine Liste von Spalten
foreach ($data as $key => $row) {
    $band[$key]    = $row['Band'];
    $auflage[$key] = $row['Auflage'];
}

// Die Daten mit 'Band' absteigend, die mit 'Auflage' aufsteigend sortieren.
// Geben Sie $data als letzten Parameter an, um nach dem gemeinsamen
// Schlüssel zu sortieren.
array_multisort($band, SORT_DESC, $auflage, SORT_ASC, $data);
?>

Der Datensatz ist jetzt sortiert und wird wie folgt aussehen:

Band | Auflage
-----+--------
  98 |       2
  86 |       1
  86 |       6
  85 |       6
  67 |       2
  67 |       7

Beispiel #4 Groß-/Kleinschreibung nicht-beachtende Sortierung

Sowohl SORT_STRING als auch SORT_REGULAR beachten die Groß-/Kleinschreibung, weshalb Strings, welche mit großem Buchstaben beginnen, vor Strings einsortiert werden, die mit kleinem Buchstaben anfangen.

Um eine Suche durchzuführen, die die Groß-/Kleinschreibung nicht beachtet, muss man erzwingen, dass die Sortierreihenfolge von einer Kopie des Originalarrays in Kleinschreibung festgelegt wird.

<?php
$array = array('Alpha', 'atomar', 'Beta', 'bank');
$array_lowercase = array_map('strtolower', $array);

array_multisort($array_lowercase, SORT_ASC, SORT_STRING, $array);

print_r($array);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => Alpha
    [1] => atomar
    [2] => bank
    [3] => Beta
)

Siehe auch

  • usort() - Sortiert ein Array nach Werten mittels einer benutzerdefinierten Vergleichsfunktion
  • Den Vergleich von Arraysortierungsfunktionen

array_merge
array_pad
Array Funktionen


Füllt ein Array bis auf die angegebene Länge mit einem Wert auf

array_multisort
array_pop
Array Funktionen
PHP Manual

array_pad

(PHP 4, PHP 5, PHP 7)

array_pad — Füllt ein Array bis auf die angegebene Länge mit einem Wert auf

Beschreibung

array array_pad ( array $array , int $size , mixed $value )

array_pad() gibt eine Kopie von array zurück, welche auf die mit size angegebene Größe mit dem Wert value aufgefüllt wurde. Ist der Parameter size positiv, wird das Array rechts erweitert, ist er negativ, dann erfolgt die Erweiterung links. Ist der Betrag von size kleiner oder gleich der Länge von array, erfolgt keine Erweiterung. Es können pro Aufruf maximal 1048576 Elemente hinzugefügt werden.

Parameter-Liste

array

Das Array, das aufgefüllt werden soll.

size

Die neue Größe des Arrays.

value

Der Wert, mit dem das Array array aufgefüllt wird, falls es kleiner als size ist.

Rückgabewerte

Gibt eine Kopie von array zurück, welche auf die mit size angegebene Größe mit dem Wert value aufgefüllt wurde. Ist der Parameter size positiv, wird das Array rechts erweitert, ist er negativ, dann erfolgt die Erweiterung links. Ist der Betrag von size kleiner oder gleich der Länge von array, erfolgt keine Erweiterung.

Beispiele

Beispiel #1 array_pad()-Beispiel

<?php
$eingabe = array(12, 10, 9);

$ergebnis = array_pad($eingabe, 5, 0);
// Ergebnis ist array(12, 10, 9, 0, 0)

$ergebnis = array_pad($eingabe, -7, -1);
// Ergebnis ist array(-1, -1, -1, -1, 12, 10, 9)

$ergebnis = array_pad($eingabe, 2, "noop");
// nicht erweitert
?>

Siehe auch

  • array_fill() - Füllt ein Array mit Werten
  • range() - Erstellt ein Array mit einem Bereich von Elementen

array_multisort
array_pop
Array Funktionen


Liefert und entfernt das letzte Element eines Arrays

array_pad
array_product
Array Funktionen
PHP Manual

array_pop

(PHP 4, PHP 5, PHP 7)

array_pop — Liefert und entfernt das letzte Element eines Arrays

Beschreibung

mixed array_pop ( array &$array )

array_pop() liefert den letzten Wert von array, und verkürzt array um ein Element.

Hinweis: Diese Funktion setzt (reset()) nach Verwendung den array-Zeiger zurück.

Parameter-Liste

array

Das Array, aus dem der Wert geholt werden soll.

Rückgabewerte

Gibt den letzten Wert von array zurück. Wenn array leer ist (oder kein Array), wird NULL zurückgegeben.

Fehler/Exceptions

Diese Funktion erzeugt einen Fehler der Stufe E_WARNING wenn sie auf etwas angewendet wird, was kein Array ist.

Beispiele

Beispiel #1 array_pop()-Beispiel

<?php
$stack = array("Orange", "Banane", "Apfel", "Himbeere");
$fruit = array_pop($stack);
print_r($stack);
?>

Danach hat $stack nur 3 Elemente:

Array
(
    [0] => Orange
    [1] => Banane
    [2] => Apfel
)

und Himbeere wird $fruit zugewiesen.

Siehe auch

  • array_push() - Fügt ein oder mehr Elemente an das Ende eines Arrays an
  • array_shift() - Liefert und entfernt das erste Element eines Arrays
  • array_unshift() - Fügt ein oder mehr Elemente am Anfang eines Arrays ein

array_pad
array_product
Array Funktionen


Ermittelt das Produkt von Werten in einem Array

array_pop
array_push
Array Funktionen
PHP Manual

array_product

(PHP 5 >= 5.1.0, PHP 7)

array_product — Ermittelt das Produkt von Werten in einem Array

Beschreibung

number array_product ( array $array )

array_product() gibt das Produkt von Werten in einem Array.

Parameter-Liste

array

Das Array.

Rückgabewerte

Gibt das Produkt als Integer oder Float zurück.

Changelog

Version | Beschreibung
5.3.6 | Das Produkt eines leeren Array ist nun 1, wohingegen diese Funktion zuvor 0 für ein leeres Array zurückgegeben hat.

Beispiele

Beispiel #1 array_product() Beispiel

<?php

$a = array(2, 4, 6, 8);
echo "Produkt(a) = " . array_product($a) . "\n";
echo "product(array()) = " . array_product(array()) . "\n";

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Produkt(a) = 384
product(array()) = 1

array_pop
array_push
Array Funktionen


Fügt ein oder mehr Elemente an das Ende eines Arrays an

array_product
array_rand
Array Funktionen
PHP Manual

array_push

(PHP 4, PHP 5, PHP 7)

array_push — Fügt ein oder mehr Elemente an das Ende eines Arrays an

Beschreibung

int array_push ( array &$array , mixed $value1 [, mixed $... ] )

array_push() behandelt array als Stapel (Stack), und fügt die übergebenen Variablen an das Ende von array an. Die Länge von array wird dabei um die Anzahl der angefügten Variablen erhöht. Dies hat den selben Effekt wie:

<?php
$array[] = $var;
?>
für jeden übergebenen Wert wiederholt.

Hinweis: Wenn Sie array_push() verwenden, um ein Element an ein Array anzuhängen, ist es besser $array[] = zu benutzen, da dies den zusätzlichen Aufwand vermeidet, eine Funktion aufzurufen

Hinweis: array_push() gibt eine Warnung aus, wenn das erste Argument kein Array ist. Dies unterscheidet sich vom Verhalten von $var[], welches ein neues Array erzeugt.

Parameter-Liste

array

Das Eingabe-Array.

value1

Der erste Wert, der an das Ende von array angefügt werden soll.

Rückgabewerte

Liefert die neue Anzahl Elemente des Arrays.

Beispiele

Beispiel #1 array_push() Beispiel

<?php
$stack = array("Orange", "Banane");
array_push($stack, "Apfel", "Himbeere");
print_r($stack);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => Orange
    [1] => Banane
    [2] => Apfel
    [3] => Himbeere
)

Siehe auch

  • array_pop() - Liefert und entfernt das letzte Element eines Arrays
  • array_shift() - Liefert und entfernt das erste Element eines Arrays
  • array_unshift() - Fügt ein oder mehr Elemente am Anfang eines Arrays ein

array_product
array_rand
Array Funktionen


Liefert einen oder mehrere zufällige Einträge eines Arrays

array_push
array_reduce
Array Funktionen
PHP Manual

array_rand

(PHP 4, PHP 5, PHP 7)

array_rand — Liefert einen oder mehrere zufällige Einträge eines Arrays

Beschreibung

mixed array_rand ( array $array [, int $num = 1 ] )

Wählt einen oder mehrere Einträge aus einem Array aus und gibt den Schlüssel des zufälligen Eintrags bzw. die Schlüssel der zufälligen Einträge zurück. Es wird ein Pseudozufallszahlengenerator verwendet der nicht für kryptographische Zwecke geeignet ist.

Parameter-Liste

array

Das Eingabe-Array.

num

Gibt an, wie viele Einträge ausgewählt werden sollen.

Rückgabewerte

Wenn nur ein Eintrag ausgewählt wird, liefert array_rand() den Schlüssel eines zufälligen Eintrages. Andernfalls wird ein Array mit den Schlüsseln der zufälligen Einträge zurückgegeben. Dies hat den Zweck, dass zufällige Schlüssel und auch Werte aus dem Array ausgewählt werden können. Der Versuch mehr Elemente auszuwählen als im Array vorhanden sind, ergibt einen Fehler der Stufe E_WARNING und NULL wird zurückgegeben.

Changelog

Version | Beschreibung
5.2.10 | Das Ergebnisarray wird nicht mehr gemischt.

Beispiele

Beispiel #1 array_rand()-Beispiel

<?php
$input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
$rand_keys = array_rand($input, 2);
echo $input[$rand_keys[0]] . "\n";
echo $input[$rand_keys[1]] . "\n";
?>

Siehe auch

  • shuffle() - Mischt die Elemente eines Arrays

array_push
array_reduce
Array Funktionen


Iterative Reduktion eines Arrays zu einem Wert mittels einer Callbackfunktion

array_rand
array_replace_recursive
Array Funktionen
PHP Manual

array_reduce

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

array_reduce — Iterative Reduktion eines Arrays zu einem Wert mittels einer Callbackfunktion

Beschreibung

mixed array_reduce ( array $array , callable $callback [, mixed $initial = NULL ] )

array_reduce() wendet die Funktion callback iterativ auf die Elemente des Arrays array so an, dass das Array auf einen einzigen Wert reduziert wird.

Parameter-Liste

array

Das Eingabe-Array.

callback
mixed callback ( mixed $carry , mixed $item )
carry

Enthält den Rückgabewert des vorherigen Durchgangs. Im Fall des ersten Durchlaufs enthält dies stattdessen den Wert von initial.

item

Enthält den Wert des aktuellen Durchgangs.

initial

Ist der optionale Parameter intial angegeben, wird er am Anfang des Prozesses benutzt oder als Resultat verwendet, sollte das Array leer sein.

Rückgabewerte

Gibt den sich ergebenden Wert zurück.

Falls das Array leer ist und initial nicht angegeben wurde, so wird array_reduce() NULL zurückgeben.

Changelog

Version | Beschreibung
5.3.0 | Der von initial akzeptierte Datentyp wurde zu Mixed geändert, vorher war dies Integer.

Beispiele

Beispiel #1 array_reduce()-Beispiel

<?php
function summe($carry, $item)
{
    $carry += $item;
    return $carry;
}

function produkt($carry, $item)
{
    $carry *= $item;
    return $carry;
}

$a = array(1, 2, 3, 4, 5);
$x = array();

var_dump(array_reduce($a, "summe")); // int(15)
var_dump(array_reduce($a, "produkt", 10)); // int(1200), da: 10*1*2*3*4*5
var_dump(array_reduce($x, "summe", "Keine Daten für die Reduktion"));
   // string(29) "Keine Daten für die Reduktion"
?>

Siehe auch

  • array_filter() - Filtert Elemente eines Arrays mittels einer Callback-Funktion
  • array_map() - Wendet eine Callback-Funktion auf die Elemente von Arrays an
  • array_unique() - Entfernt doppelte Werte aus einem Array
  • array_count_values() - Zählt die Werte eines Arrays

array_rand
array_replace_recursive
Array Funktionen


Replaces elements from passed arrays into the first array recursively

array_reduce
array_replace
Array Funktionen
PHP Manual

array_replace_recursive

(PHP 5 >= 5.3.0, PHP 7)

array_replace_recursive — Replaces elements from passed arrays into the first array recursively

Beschreibung

array array_replace_recursive ( array $array1 , array $array2 [, array $... ] )

array_replace_recursive() replaces the values of array1 with the same values from all the following arrays. If a key from the first array exists in the second array, its value will be replaced by the value from the second array. If the key exists in the second array, and not the first, it will be created in the first array. If a key only exists in the first array, it will be left as is. If several arrays are passed for replacement, they will be processed in order, the later array overwriting the previous values.

array_replace_recursive() is recursive : it will recurse into arrays and apply the same process to the inner value.

When the value in array1 is scalar, it will be replaced by the value in array2, may it be scalar or array. When the value in array1 and array2 are both arrays, array_replace_recursive() will replace their respective value recursively.

Parameter-Liste

array1

The array in which elements are replaced.

array2

The array from which elements will be extracted.

...

Optional. More arrays from which elements will be extracted.

Rückgabewerte

Returns an array, or NULL if an error occurs.

Beispiele

Beispiel #1 array_replace_recursive() example

<?php
$base = array('citrus' => array( "orange") , 'berries' => array("blackberry", "raspberry"), );
$replacements = array('citrus' => array('pineapple'), 'berries' => array('blueberry'));

$basket = array_replace_recursive($base, $replacements);
print_r($basket);

$basket = array_replace($base, $replacements);
print_r($basket);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [citrus] => Array
        (
            [0] => pineapple
        )

    [berries] => Array
        (
            [0] => blueberry
            [1] => raspberry
        )

)
Array
(
    [citrus] => Array
        (
            [0] => pineapple
        )

    [berries] => Array
        (
            [0] => blueberry
        )

)

Beispiel #2 array_replace_recursive() and recursive behavior

<?php
$base = array('citrus' => array("orange") , 'berries' => array("blackberry", "raspberry"), 'others' => 'banana' );
$replacements = array('citrus' => 'pineapple', 'berries' => array('blueberry'), 'others' => array('litchis'));
$replacements2 = array('citrus' => array('pineapple'), 'berries' => array('blueberry'), 'others' => 'litchis');

$basket = array_replace_recursive($base, $replacements, $replacements2);
print_r($basket);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [citrus] => Array
        (
            [0] => pineapple
        )

    [berries] => Array
        (
            [0] => blueberry
            [1] => raspberry
        )

    [others] => litchis
)

Siehe auch

  • array_replace() - Ersetzt Elemente von übergebenen Arrays im ersten Array
  • array_merge_recursive() - Führt ein oder mehrere Arrays rekursiv zusammen

array_reduce
array_replace
Array Funktionen


Ersetzt Elemente von übergebenen Arrays im ersten Array

array_replace_recursive
array_reverse
Array Funktionen
PHP Manual

array_replace

(PHP 5 >= 5.3.0, PHP 7)

array_replace — Ersetzt Elemente von übergebenen Arrays im ersten Array

Beschreibung

array array_replace ( array $array1 , array $array2 [, array $... ] )

array_replace() ersetzt die Werte von array1 mit Werten, die die selben Schlüssel in den folgenden Arrays haben. Wenn ein Schlüssel des ersten Arrays im zweiten Array existiert, wird der Wert durch den Wert im zweiten Array ersetzt. Wenn der Schlüssel im zweiten, jedoch nicht im ersten Array existiert, wird dieser im ersten angelegt. Wenn ein Schlüssel nur im ersten Array existiert, bleibt dieser erhalten. Wenn mehrere Arrays zur Ersetzung übergeben werden, läuft die Abarbeitung der Reihe nach und spätere Arrays überschreiben vorherige Werte.

array_replace() ist nicht rekursiv: Werte im ersten Array werden, egal mit welchem Datentyp aus dem Zweiten Array ersetzt.

Parameter-Liste

array1

Das Array in welchem die Elemente ersetzt werden.

array2

Das Array aus dem Elemente extrahiert werden.

...

Weitere Arrays, aus denen Elemente extrahiert werden. Werte späterer Arrays überschreiben die vorherigen Werte.

Rückgabewerte

Gibt ein array zurück, oder NULL falls ein Fehler auftritt.

Beispiele

Beispiel #1 array_replace() Beispiel

<?php
$base = array("Orange", "Banane", "Apfel", "Himbeere");
$replacements = array(0 => "Ananas", 4 => "Kirsche");
$replacements2 = array(0 => "Traube");

$basket = array_replace($base, $replacements, $replacements2);
print_r($basket);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => Traube
    [1] => Banane
    [2] => Apfel
    [3] => Himbeere
    [4] => Kirsche
)

Siehe auch

  • array_replace_recursive() - Replaces elements from passed arrays into the first array recursively
  • array_merge() - Führt zwei oder mehr Arrays zusammen

array_replace_recursive
array_reverse
Array Funktionen


Liefert ein Array mit umgekehrter Reihenfolge der Elemente

array_replace
array_search
Array Funktionen
PHP Manual

array_reverse

(PHP 4, PHP 5, PHP 7)

array_reverse — Liefert ein Array mit umgekehrter Reihenfolge der Elemente

Beschreibung

array array_reverse ( array $array [, bool $preserve_keys = false ] )

Ausgehend vom Eingabe-Array array wird ein neues Array mit umgekehrter Reihenfolge der Elemente zurückgegeben.

Parameter-Liste

array

Das Eingabe-Array.

preserve_keys

Wenn auf TRUE gesetzt, bleiben die Schlüssel erhalten. Nicht numerische Schlüssel sind nicht von diesem Parameter betroffen, und bleiben immer erhalten.

Rückgabewerte

Gibt das "umgekehrte" Array zurück..

Beispiele

Beispiel #1 array_reverse()-Beispiel

<?php
$input  = array("php", 4.0, array("grün", "rot"));
$reversed = array_reverse($input);
$preserved = array_reverse($input, true);

print_r($input);
print_r($reversed);
print_r($preserved);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => php
    [1] => 4
    [2] => Array
        (
            [0] => grün
            [1] => rot
        )

)
Array
(
    [0] => Array
        (
            [0] => grün
            [1] => rot
        )

    [1] => 4
    [2] => php
)
Array
(
    [2] => Array
        (
            [0] => grün
            [1] => rot
        )

    [1] => 4
    [0] => php
)

Siehe auch

  • array_flip() - Vertauscht alle Schlüssel mit ihren zugehörigen Werten in einem Array

array_replace
array_search
Array Funktionen


Durchsucht ein Array nach einem Wert und liefert bei Erfolg den zugehörigen Schlüssel

array_reverse
array_shift
Array Funktionen
PHP Manual

array_search

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

array_search — Durchsucht ein Array nach einem Wert und liefert bei Erfolg den zugehörigen Schlüssel

Beschreibung

mixed array_search ( mixed $needle , array $haystack [, bool $strict = false ] )

Durchsucht haystack nach needle.

Parameter-Liste

needle

Der zu suchende Wert.

Hinweis:

Wenn needle ein String ist, wird der Vergleich unter Berücksichtigung der Groß-/Kleinschreibung vorgenommen.

haystack

Das Array.

strict

Ist der dritte Parameter strict auf TRUE gesetzt, so wird array_search() nach identischen Elementen in haystack suchen. Das bedeutet, dass ebenfalls der Typ von needle dem in haystack entsprechen muss und die Objekte die selbe Instanz sind.

Rückgabewerte

Gibt den Schlüssel für needle zurück, wenn es gefunden wurde, ansonsten FALSE.

Wenn needle in haystack mehrfach gefunden wurde, so wird der erste passende Schlüssel zurückgegeben. Um die Schlüssel für alle gefundenen Werte zurückzugeben, können Sie stattdessen array_keys() mit dem optionalen Parameter search_value verwenden.

Warnung

Diese Funktion kann sowohl das boolsche FALSE zurückliefern, als auch einen nicht-boolschen Wert, welcher zu FALSE ausgewertet wird. Weitere Informationen entnehmen Sie bitte dem Abschnitt über die boolschen Typen. Benutzen Sie deshalb den === Operator, um den Rückgabewert dieser Funktion zu überprüfen.

Changelog

Version | Beschreibung
5.3.0 | Wie alle internen PHP-Funktionen seit 5.4.0 gibt array_search() den Wert NULL zurück, wenn ungültige Parameter übergeben wurden.
4.2.0 | Vor PHP 4.2.0 gibt array_search() im Fehlerfall NULL statt FALSE zurück.

Beispiele

Beispiel #1 array_search()-Beispiel

<?php
$array = array(0 => 'blau', 1 => 'rot', 2 => 'grün', 3 => 'rot');

$key = array_search('grün', $array);  // $key = 2;
$key = array_search('rot', $array);   // $key = 1;
?>

Siehe auch

  • array_keys() - Liefert alle Schlüssel oder eine Teilmenge aller Schlüssel eines Arrays
  • array_values() - Liefert alle Werte eines Arrays
  • array_key_exists() - Prüft, ob ein Schlüssel in einem Array existiert
  • in_array() - Prüft, ob ein Wert in einem Array existiert

array_reverse
array_shift
Array Funktionen


Liefert und entfernt das erste Element eines Arrays

array_search
array_slice
Array Funktionen
PHP Manual

array_shift

(PHP 4, PHP 5, PHP 7)

array_shift — Liefert und entfernt das erste Element eines Arrays

Beschreibung

mixed array_shift ( array &$array )

array_shift() liefert den ersten Wert von array, verschiebt die anderen Werte hinunter, und verkürzt array um ein Element. Alle numerischen Schlüssel werden so modifiziert, dass bei null zu zählen begonnen wird. Strings als Schlüssel bleiben unverändert.

Hinweis: Diese Funktion setzt (reset()) nach Verwendung den array-Zeiger zurück.

Parameter-Liste

array

Das zu verarbeitende Array

Rückgabewerte

Gibt den ersten Wert zurück oder NULL, wenn array leer oder kein Array ist.

Beispiele

Beispiel #1 array_shift()-Beispiel

<?php
$stack = array("Orange", "Banane", "Apfel", "Himbeere");
$fruit = array_shift($stack);
print_r($stack);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => Banane
    [1] => Apfel
    [2] => Himbeere
)

und Orange wird der Variable $fruit zugewiesen.

Siehe auch

  • array_unshift() - Fügt ein oder mehr Elemente am Anfang eines Arrays ein
  • array_push() - Fügt ein oder mehr Elemente an das Ende eines Arrays an
  • array_pop() - Liefert und entfernt das letzte Element eines Arrays

array_search
array_slice
Array Funktionen


Extrahiert einen Ausschnitt eines Arrays

array_shift
array_splice
Array Funktionen
PHP Manual

array_slice

(PHP 4, PHP 5, PHP 7)

array_slice — Extrahiert einen Ausschnitt eines Arrays

Beschreibung

array array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = false ]] )

array_slice() liefert die mittels offset und length spezifizierte Sequenz von Elementen des Arrays array.

Parameter-Liste

array

Das Eingabe-Array.

offset

Ist offset nicht negativ, beginnt die Sequenz bei diesem Offset in dem array. Ist offset negativ, beginnt die Sequenz so viele Elemente vor dem Ende von array.

length

Ist length angegeben und positiv, enthält die Sequenz bis zu so viele Elemente. Wenn das Array kürzer als der length ist, dann werden nur die verfügbaren Array-Elemente vorhanden sein. Ist length angegeben und negativ, endet die Sequenz so viele Elemente vor dem Ende des Arrays. Wenn nicht angegeben, enthält die Sequenz alle Elemente von offset bis zum Ende von array.

preserve_keys

Beachten Sie, dass array_slice() standardmäßig numerische Schlüssel des Arrays zurücksetzt und neu vergibt. Sie können dieses Verhalten ändern, indem Sie preserve_keys auf TRUE setzen.

Rückgabewerte

Gibt den Ausschnitt zurück. Wenn der gewählte offset größer als die Anzahl an Array Elementen ist, wird ein leeres Array zurückgegeben.

Changelog

Version | Beschreibung
5.2.4 | Der Standardwert des length Parameters wurde zu NULL geändert. Eine NULL length weist nun die Funktion an, die Länge des array zu verwenden. Vor dieser Version wurde eine NULL length als 0 interpretiert (nichts wird zurückgegeben).
5.0.2 | Der optionale preserve_keys-Parameter wurde hinzugefügt.

Beispiele

Beispiel #1 array_slice()-Beispiele

<?php
$input = array("a", "b", "c", "d", "e");

$output = array_slice($input, 2);      // liefert "c", "d" und "e"
$output = array_slice($input, -2, 1);  // liefert "d"
$output = array_slice($input, 0, 3);   // liefert "a", "b" und "c"

// beachten Sie die Unterschiede in den Schlüsseln
print_r(array_slice($input, 2, -1));
print_r(array_slice($input, 2, -1, true));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => c
    [1] => d
)
Array
(
    [2] => c
    [3] => d
)

Siehe auch

  • array_splice() - Entfernt einen Teil eines Arrays und ersetzt ihn durch etwas anderes
  • unset() - Löschen einer angegebenen Variablen
  • array_chunk() - Splittet ein Array in Teile auf

array_shift
array_splice
Array Funktionen


Entfernt einen Teil eines Arrays und ersetzt ihn durch etwas anderes

array_slice
array_sum
Array Funktionen
PHP Manual

array_splice

(PHP 4, PHP 5, PHP 7)

array_splice — Entfernt einen Teil eines Arrays und ersetzt ihn durch etwas anderes

Beschreibung

array array_splice ( array &$input , int $offset [, int $length [, mixed $replacement = array() ]] )

Entfernt die durch offset und length angegebenen Elemente aus dem Array input, und ersetzt diese durch die Elemente des Arrays replacement, wenn angegeben.

Beachten Sie, dass numerische Schlüssel in input nicht erhalten werden.

Hinweis: Wenn replacement kein Array ist, wird es in ein Array umgewandelt (dies entspricht (array) $parameter). Dies kann zu unerwartetem Verhalten führen, wenn replacement ein Objekt oder NULL ist.

Parameter-Liste

input

Das Eingabe-Array.

offset

Ist offset positiv, beginnt der zu entfernende Bereich bei diesem Offset vom Anfang des Arrays input. Ist offset negativ, beginnt der zu entfernende Bereich so viele Elemente vor dem Ende des Arrays input.

length

Ist length nicht angegeben, wird alles von offset bis zum Ende des Arrays entfernt. Ist length angegeben und positiv, werden so viele Elemente entfernt. Ist length angegeben und negativ, so ist das Ende des entfernten Bereichs so viele Elemente vor dem Ende des Array. Wenn length angegeben und 0 ist, werden keine Elemente entfernt. Tipp: Um alles von offset bis zum Ende des Arrays zu entfernen, wenn replacement ebenfalls angegeben ist, verwenden Sie count($input) als length.

replacement

Ist das Array replacement angegeben, werden die entfernten Elemente durch die Elemente dieses Arrays ersetzt.

Sind offset und length so angegeben, dass nichts entfernt wird, werden die Elemente von replacement an der von offset spezifizierten Stelle eingefügt. Beachten Sie, dass Schlüssel bei der Ersetzung nicht erhalten werden.

Wenn replacement nur aus einem Element besteht, ist es nicht notwendig, array() anzugeben, sofern das Element nicht selbst ein Array, ein Objekt oder NULL ist.

Rückgabewerte

Gibt ein Array zurück, das aus den ausgeschnittenen Elementen besteht.

Beispiele

Beispiel #1 array_splice()-Beispiele

<?php
$input = array("rot", "grün", "blau", "gelb");
array_splice($input, 2);
// $input ist nun array("rot", "grün")

$input = array("rot", "grün", "blau", "gelb");
array_splice($input, 1, -1);
// $input ist nun array("rot", "gelb")

$input = array("rot", "grün", "blau", "gelb");
array_splice($input, 1, count($input), "orange");
// $input ist nun array("rot", "orange")

$input = array("rot", "grün", "blau", "gelb");
array_splice($input, -1, 1, array("schwarz", "braun"));
// $input ist nun array("rot", "grün",
//           "blau", "schwarz", "braun")

$input = array("rot", "grün", "blau", "gelb");
array_splice($input, 3, 0, "lila");
// $input is now array("rot", "grün",
//            "blau", "lila", "gelb");
?>

Beispiel #2 array_splice()-Beispiele

Die folgenden Anweisungen ändern die Werte von $input auf die gleiche Weise:

<?php
array_push($input, $x, $y);
array_splice($input, count($input), 0, array($x, $y));
array_pop($input);
array_splice($input, -1);
array_shift($input);
array_splice($input, 0, 1);
array_unshift($input, $x, $y);
array_splice($input, 0, 0, array($x, $y));
$input[$x] = $y; // für Arrays, bei denen der Schlüssel dem Offset entspricht
array_splice($input, $x, 1, $y);
?>

Siehe auch

  • array_slice() - Extrahiert einen Ausschnitt eines Arrays
  • unset() - Löschen einer angegebenen Variablen
  • array_merge() - Führt zwei oder mehr Arrays zusammen

array_slice
array_sum
Array Funktionen


Liefert die Summe der Werte in einem Array

array_splice
array_udiff_assoc
Array Funktionen
PHP Manual

array_sum

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

array_sum — Liefert die Summe der Werte in einem Array

Beschreibung

number array_sum ( array $array )

array_sum() liefert die Summe der Werte eines Arrays.

Parameter-Liste

array

Das Eingabearray.

Rückgabewerte

Liefert die Summe der Elemente als Integer oder Float; 0 wenn das array leer ist.

Beispiele

Beispiel #1 array_sum()

<?php
$a = array(2, 4, 6, 8);
echo "sum(a) = " . array_sum($a) . "\n";

$b = array("a"=>1.2, "b"=>2.3, "c"=>3.4);
echo "sum(b) = " . array_sum($b) . "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

sum(a) = 20
sum(b) = 6.9

array_splice
array_udiff_assoc
Array Funktionen


Ermittelt den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung, vergleicht mittels einer Callbackfunktion

array_sum
array_udiff_uassoc
Array Funktionen
PHP Manual

array_udiff_assoc

(PHP 5, PHP 7)

array_udiff_assoc — Ermittelt den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung, vergleicht mittels einer Callbackfunktion

Beschreibung

array array_udiff_assoc ( array $array1 , array $array2 [, array $... ], callable $value_compare_func )

Ermittelt den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung, vergleicht mittels einer Callbackfunktion.

Hinweis: Bitte beachten Sie, dass diese Funktion nur eine Dimension eines n-dimensionalen Arrays überprüft. Natürlich können Sie tiefere Dimensionen prüfen, indem Sie array_udiff_assoc($array1[0], $array2[0], "data_compare_func"); verwenden.

Parameter-Liste

array1

Das erste Array.

array2

Das zweite Array.

value_compare_func

Die Vergleichsfunktion muss einen Integer kleiner als, gleich oder größer als Null zurückgeben, wenn das erste Argument respektive kleiner, gleich oder größer als das zweite ist.

int callback ( mixed $a, mixed $b )

Rückgabewerte

array_udiff_assoc() gibt ein array mit allen Werten von array1, welche in keinem der anderen Argumente enthalten sind, zurück. Beachten Sie, dass Schlüssel anders als von array_diff() und array_udiff() für den Vergleich herangezogen werden. Der Vergleich der Arrayinhalte wird von einer benutzerdefinierten Callbackfunktion durchgeführt. In dieser Hinsicht ist das Verhalten anders als jenes von array_diff_assoc(), welche eine eingebaute Vergleichsfunktion verwendet.

Beispiele

Beispiel #1 array_udiff_assoc() Beispiel

<?php
class cr {
    private $priv_member;
    function cr($val)
    {
        $this->priv_member = $val;
    }

    static function comp_func_cr($a, $b)
    {
        if ($a->priv_member === $b->priv_member) return 0;
        return ($a->priv_member > $b->priv_member)? 1:-1;
    }
}

$a = array("0.1" => new cr(9), "0.5" => new cr(12), 0 => new cr(23), 1=> new cr(4), 2 => new cr(-15),);
$b = array("0.2" => new cr(9), "0.5" => new cr(22), 0 => new cr(3), 1=> new cr(4), 2 => new cr(-15),);

$result = array_udiff_assoc($a, $b, array("cr", "comp_func_cr"));
print_r($result);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0.1] => cr Object
        (
            [priv_member:private] => 9
        )

    [0.5] => cr Object
        (
            [priv_member:private] => 12
        )

    [0] => cr Object
        (
            [priv_member:private] => 23
        )
)

In unserem Beispiel sehen Sie, dass das "1" => new cr(4) Paar in beiden Arrays enthalten ist und daher nicht in der Ausgabe der Funktion auftaucht.

Siehe auch

  • array_diff() - Ermittelt die Unterschiede zwischen Arrays
  • array_diff_assoc() - Berechnet den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung
  • array_diff_uassoc() - Berechnet den Unterschied von Arrays mit zusätzlicher Indexprüfung, welche durch eine benutzerdefinierte Callback-Funktion vorgenommen wird
  • array_udiff() - Ermittelt den Unterschied zwischen Arrays mittels einer Callbackfunktion für den Datenvergleich
  • array_udiff_uassoc() - Ermittelt den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Indizes mittels einer Callbackfunktion
  • array_intersect() - Ermittelt die Schnittmenge von Arrays
  • array_intersect_assoc() - Ermittelt die Schnittmenge von Arrays mit Indexprüfung
  • array_uintersect() - Ermittelt die Schnittmenge von Arrays, vergleicht Daten mittels einer Callbackfunktion
  • array_uintersect_assoc() - Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung, vergleicht Daten mittels einer Callbackfunktion
  • array_uintersect_uassoc() - Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Schlüssel mittels separaten Callbackfunktionen

array_sum
array_udiff_uassoc
Array Funktionen


Ermittelt den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Indizes mittels einer Callbackfunktion

array_udiff_assoc
array_udiff
Array Funktionen
PHP Manual

array_udiff_uassoc

(PHP 5, PHP 7)

array_udiff_uassoc — Ermittelt den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Indizes mittels einer Callbackfunktion

Beschreibung

array array_udiff_uassoc ( array $array1 , array $array2 [, array $... ], callable $value_compare_func , callable $key_compare_func )

Ermittelt den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Indizes mittels einer Callbackfunktion.

Beachten Sie, dass anders als bei array_diff() und array_udiff() Schlüssel für den Vergleich herangezogen werden.

Parameter-Liste

array1

Das erste Array.

array2

Das zweite Array.

value_compare_func

Die Vergleichsfunktion muss einen Integer kleiner als, gleich oder größer als Null zurückgeben, wenn das erste Argument respektive kleiner, gleich oder größer als das zweite ist.

int callback ( mixed $a, mixed $b )
key_compare_func

Ebenso wird der Vergleich der Schlüssel (Indizes) von der benutzerdefinierten Callbackfunktion data_compare_func durchgeführt. In dieser Hinsicht ist das Verhalten anders als jenes von array_diff_assoc(), welches die Indizes mit einer eingebauten Vergleichsfunktion vergleicht.

Rückgabewerte

Gibt ein Array mit allen Werten von array1, welche in keinem der anderen Argumente enthalten sind, zurück.

Beispiele

Beispiel #1 array_udiff_uassoc() Beispiel

<?php
class cr {
    private $priv_member;
    function cr($val)
    {
        $this->priv_member = $val;
    }

    static function comp_func_cr($a, $b)
    {
        if ($a->priv_member === $b->priv_member) return 0;
        return ($a->priv_member > $b->priv_member)? 1:-1;
    }

    static function comp_func_key($a, $b)
    {
        if ($a === $b) return 0;
        return ($a > $b)? 1:-1;
    }
}
$a = array("0.1" => new cr(9), "0.5" => new cr(12), 0 => new cr(23), 1=> new cr(4), 2 => new cr(-15),);
$b = array("0.2" => new cr(9), "0.5" => new cr(22), 0 => new cr(3), 1=> new cr(4), 2 => new cr(-15),);

$result = array_udiff_uassoc($a, $b, array("cr", "comp_func_cr"), array("cr", "comp_func_key"));
print_r($result);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0.1] => cr Object
        (
            [priv_member:private] => 9
        )

    [0.5] => cr Object
        (
            [priv_member:private] => 12
        )

    [0] => cr Object
        (
            [priv_member:private] => 23
        )
)

In unserem Beispiel sehen Sie, dass das "1" => new cr(4) Paar in beiden Arrays enthalten ist und daher nicht in der Ausgabe der Funktion auftaucht. Denken Sie daran, dass Sie zwei Callbackfunktionen angeben müssen.

Anmerkungen

Hinweis: Bitte beachten Sie, dass diese Funktion nur eine Dimension eines n-dimensionalen Arrays überprüft. Natürlich können Sie tiefere Dimensionen prüfen, indem Sie array_udiff_uassoc($array1[0], $array2[0], "data_compare_func", "key_compare_func"); verwenden.

Siehe auch

  • array_diff() - Ermittelt die Unterschiede zwischen Arrays
  • array_diff_assoc() - Berechnet den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung
  • array_udiff() - Ermittelt den Unterschied zwischen Arrays mittels einer Callbackfunktion für den Datenvergleich
  • array_udiff_assoc() - Ermittelt den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung, vergleicht mittels einer Callbackfunktion
  • array_intersect() - Ermittelt die Schnittmenge von Arrays
  • array_intersect_assoc() - Ermittelt die Schnittmenge von Arrays mit Indexprüfung
  • array_uintersect() - Ermittelt die Schnittmenge von Arrays, vergleicht Daten mittels einer Callbackfunktion
  • array_uintersect_assoc() - Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung, vergleicht Daten mittels einer Callbackfunktion
  • array_uintersect_uassoc() - Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Schlüssel mittels separaten Callbackfunktionen

array_udiff_assoc
array_udiff
Array Funktionen


Ermittelt den Unterschied zwischen Arrays mittels einer Callbackfunktion für den Datenvergleich

array_udiff_uassoc
array_uintersect_assoc
Array Funktionen
PHP Manual

array_udiff

(PHP 5, PHP 7)

array_udiff — Ermittelt den Unterschied zwischen Arrays mittels einer Callbackfunktion für den Datenvergleich

Beschreibung

array array_udiff ( array $array1 , array $array2 [, array $ ... ], callable $value_compare_func )

Ermittelt den Unterschied zwischen Arrays mittels einer Callbackfunktion für den Datenvergleich. Dies ist anders als bei array_diff(), das eine interne Funktion zum Vergleichen der Daten verwendet.

Parameter-Liste

array1

Das erste Array.

array2

Das zweite array.

value_compare_func

Die Callback-Vergleichsfunktion.

Die Vergleichsfunktion muss einen Integer kleiner als, gleich oder größer als Null zurückgeben, wenn das erste Argument respektive kleiner, gleich oder größer als das zweite ist.

int callback ( mixed $a, mixed $b )

Rückgabewerte

Gibt ein Array zurück, das alle Werte von array1 enthält, die nicht in einem der anderen Argumente vorhanden sind.

Beispiele

Beispiel #1 array_udiff() Beispiel mit stdClass Objekten

<?php
// Die zu vergleichenden Arrays
$array1 = array(new stdclass, new stdclass,
                new stdclass, new stdclass,
               );

$array2 = array(
                new stdclass, new stdclass,
               );

// Setze einige Eigenschaften für jedes Objekt
$array1[0]->width = 11; $array1[0]->height = 3;
$array1[1]->width = 7;  $array1[1]->height = 1;
$array1[2]->width = 2;  $array1[2]->height = 9;
$array1[3]->width = 5;  $array1[3]->height = 7;

$array2[0]->width = 7;  $array2[0]->height = 5;
$array2[1]->width = 9;  $array2[1]->height = 2;

function compare_by_area($a, $b) {
    $areaA = $a->width * $a->height;
    $areaB = $b->width * $b->height;

    if ($areaA < $areaB) {
        return -1;
    } elseif ($areaA > $areaB) {
        return 1;
    } else {
        return 0;
    }
}

print_r(array_udiff($array1, $array2, 'compare_by_area'));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => stdClass Object
        (
            [width] => 11
            [height] => 3
        )

    [1] => stdClass Object
        (
            [width] => 7
            [height] => 1
        )

)

Beispiel #2 array_udiff() Beispiel mit DateTime Objekten

<?php
class MyCalendar {
    public $free = array();
    public $booked = array();

    public function __construct($week = 'now') {
        $start = new DateTime($week);
        $start->modify('Monday this week midnight');
        $end = clone $start;
        $end->modify('Friday this week midnight');
        $interval = new DateInterval('P1D');
        foreach (new DatePeriod($start, $interval, $end) as $freeTime) {
            $this->free[] = $freeTime;
        }
    }

    public function bookAppointment(DateTime $date, $note) {
        $this->booked[] = array('date' => $date->modify('midnight'), 'note' => $note);
    }

    public function checkAvailability() {
        return array_udiff($this->free, $this->booked, array($this, 'customCompare'));
    }

    public function customCompare($free, $booked) {
        if (is_array($free)) $a = $free['date'];
        else $a = $free;
        if (is_array($booked)) $b = $booked['date'];
        else $b = $booked;
        if ($a == $b) {
            return 0;
        } elseif ($a > $b) {
            return 1;
        } else {
            return -1;
        }
    }
}

// Erzeuge einen Kalender für wöchentliche Termine
$myCalendar = new MyCalendar;

// Buche einige Termine für diese Woche
$myCalendar->bookAppointment(new DateTime('Monday this week'), "GoogleGuys Wohnung reinigen.");
$myCalendar->bookAppointment(new DateTime('Wednesday this week'), "Snowboard fahren gehen.");
$myCalendar->bookAppointment(new DateTime('Friday this week'), "Fehlerhaften Code beheben.");

// Prüfe die Verfügbarkeit von Tagen durch Vergleichen von $booked Daten mit $free Daten
echo "Ich bin an den folgenden Tagen dieser Woche verfügbar...\n\n";
foreach ($myCalendar->checkAvailability() as $free) {
    echo $free->format('l'), "\n";
}
echo "\n\n";
echo "Ich bin an den folgenden Tagen dieser Woche beschäftigt...\n\n";
foreach ($myCalendar->booked as $booked) {
    echo $booked['date']->format('l'), ": ", $booked['note'], "\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Ich bin an den folgenden Tagen dieser Woche verfügbar...

Tuesday
Thursday

Ich bin an den folgenden Tagen dieser Woche beschäftigt...

Monday: GoogleGuys Wohnung reinigen.
Wednesday: Snowboard fahren gehen.
Friday: Fehlerhaften Code beheben.

Anmerkungen

Hinweis: Bitte beachten Sie, dass diese Funktion nur eine Dimension eines n-dimensionalen Arrays überprüft. Natürlich können Sie tiefere Dimensionen prüfen, indem Sie array_udiff($array1[0], $array2[0], "data_compare_func"); verwenden.

Siehe auch

  • array_diff() - Ermittelt die Unterschiede zwischen Arrays
  • array_diff_assoc() - Berechnet den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung
  • array_diff_uassoc() - Berechnet den Unterschied von Arrays mit zusätzlicher Indexprüfung, welche durch eine benutzerdefinierte Callback-Funktion vorgenommen wird
  • array_udiff_assoc() - Ermittelt den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung, vergleicht mittels einer Callbackfunktion
  • array_udiff_uassoc() - Ermittelt den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Indizes mittels einer Callbackfunktion
  • array_intersect() - Ermittelt die Schnittmenge von Arrays
  • array_intersect_assoc() - Ermittelt die Schnittmenge von Arrays mit Indexprüfung
  • array_uintersect() - Ermittelt die Schnittmenge von Arrays, vergleicht Daten mittels einer Callbackfunktion
  • array_uintersect_assoc() - Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung, vergleicht Daten mittels einer Callbackfunktion
  • array_uintersect_uassoc() - Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Schlüssel mittels separaten Callbackfunktionen

array_udiff_uassoc
array_uintersect_assoc
Array Funktionen


Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung, vergleicht Daten mittels einer Callbackfunktion

array_udiff
array_uintersect_uassoc
Array Funktionen
PHP Manual

array_uintersect_assoc

(PHP 5, PHP 7)

array_uintersect_assoc — Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung, vergleicht Daten mittels einer Callbackfunktion

Beschreibung

array array_uintersect_assoc ( array $array1 , array $array2 [, array $... ], callable $value_compare_func )

Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung, vergleicht Daten mittels einer Callbackfunktion.

Beachten Sie, dass anders als bei array_uintersect() die Schlüssel zum Vergleich herangezogen werden. Die Daten werden durch eine Callbackfunktion verglichen.

Parameter-Liste

array1

Das erste Array.

array2

Das zweite Array.

value_compare_func

Die Vergleichsfunktion muss einen Integer kleiner als, gleich oder größer als Null zurückgeben, wenn das erste Argument respektive kleiner, gleich oder größer als das zweite ist.

int callback ( mixed $a, mixed $b )

Rückgabewerte

Gibt ein Array mit allen Werten aus array1 zurück, die ebenfalls in allen anderen Argumenten enthalten sind.

Beispiele

Beispiel #1 array_uintersect_assoc() Beispiel

<?php
$array1 = array("a" => "grün", "b" => "braun", "c" => "blau", "rot");
$array2 = array("a" => "GRÜN", "B" => "braun", "gelb", "rot");

print_r(array_uintersect_assoc($array1, $array2, "strcasecmp"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [a] => grün
)

Siehe auch

  • array_uintersect() - Ermittelt die Schnittmenge von Arrays, vergleicht Daten mittels einer Callbackfunktion
  • array_intersect_assoc() - Ermittelt die Schnittmenge von Arrays mit Indexprüfung
  • array_intersect_uassoc() - Ermittelt die Schnittmenge von Arrays mit Indexprüfung; vergleicht Indizes mit einer Callbackfunktion
  • array_uintersect_uassoc() - Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Schlüssel mittels separaten Callbackfunktionen

array_udiff
array_uintersect_uassoc
Array Funktionen


Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Schlüssel mittels separaten Callbackfunktionen

array_uintersect_assoc
array_uintersect
Array Funktionen
PHP Manual

array_uintersect_uassoc

(PHP 5, PHP 7)

array_uintersect_uassoc — Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Schlüssel mittels separaten Callbackfunktionen

Beschreibung

array array_uintersect_uassoc ( array $array1 , array $array2 [, array $... ], callable $value_compare_func , callable $key_compare_func )

Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Schlüssel mittels separaten Callbackfunktionen.

Parameter-Liste

array1

Das erste Array.

array2

Das zweite Array.

value_compare_func

Die Vergleichsfunktion muss einen Integer kleiner als, gleich oder größer als Null zurückgeben, wenn das erste Argument respektive kleiner, gleich oder größer als das zweite ist.

int callback ( mixed $a, mixed $b )
key_compare_func

Callbackfunktion für den Schlüssel-Vergleich.

Rückgabewerte

Gibt ein Array mit allen Werten aus array1 zurück, die ebenfalls in allen anderen Argumenten enthalten sind.

Beispiele

Beispiel #1 array_uintersect_uassoc() Beispiel

<?php
$array1 = array("a" => "grün", "b" => "braun", "c" => "blau", "rot");
$array2 = array("a" => "GRÜN", "B" => "braun", "gelb", "rot");

print_r(array_uintersect_uassoc($array1, $array2, "strcasecmp", "strcasecmp"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [a] => grün
    [b] => braun
)

Siehe auch

  • array_uintersect() - Ermittelt die Schnittmenge von Arrays, vergleicht Daten mittels einer Callbackfunktion
  • array_intersect_assoc() - Ermittelt die Schnittmenge von Arrays mit Indexprüfung
  • array_intersect_uassoc() - Ermittelt die Schnittmenge von Arrays mit Indexprüfung; vergleicht Indizes mit einer Callbackfunktion
  • array_uintersect_assoc() - Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung, vergleicht Daten mittels einer Callbackfunktion

array_uintersect_assoc
array_uintersect
Array Funktionen


Ermittelt die Schnittmenge von Arrays, vergleicht Daten mittels einer Callbackfunktion

array_uintersect_uassoc
array_unique
Array Funktionen
PHP Manual

array_uintersect

(PHP 5, PHP 7)

array_uintersect — Ermittelt die Schnittmenge von Arrays, vergleicht Daten mittels einer Callbackfunktion

Beschreibung

array array_uintersect ( array $array1 , array $array2 [, array $... ], callable $value_compare_func )

Ermittelt die Schnittmenge von Arrays, vergleicht Daten mittels einer Callbackfunktion.

Parameter-Liste

array1

Das erste Array.

array2

Das zweite Array.

value_compare_func

Die Vergleichsfunktion muss einen Integer kleiner als, gleich oder größer als Null zurückgeben, wenn das erste Argument respektive kleiner, gleich oder größer als das zweite ist.

int callback ( mixed $a, mixed $b )

Rückgabewerte

Gibt ein Array mit allen Werten aus array1 zurück, die ebenfalls in allen anderen Argumenten enthalten sind.

Beispiele

Beispiel #1 array_uintersect() Beispiel

<?php
$array1 = array("a" => "grün", "b" => "braun", "c" => "blau", "rot");
$array2 = array("a" => "GRÜN", "B" => "braun", "gelb", "rot");

print_r(array_uintersect($array1, $array2, "strcasecmp"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [a] => grün
    [b] => braun
    [0] => rot
)

Siehe auch

  • array_intersect() - Ermittelt die Schnittmenge von Arrays
  • array_intersect_assoc() - Ermittelt die Schnittmenge von Arrays mit Indexprüfung
  • array_uintersect_assoc() - Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung, vergleicht Daten mittels einer Callbackfunktion
  • array_uintersect_uassoc() - Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Schlüssel mittels separaten Callbackfunktionen

array_uintersect_uassoc
array_unique
Array Funktionen


Entfernt doppelte Werte aus einem Array

array_uintersect
array_unshift
Array Funktionen
PHP Manual

array_unique

(PHP 4 >= 4.0.1, PHP 5, PHP 7)

array_unique — Entfernt doppelte Werte aus einem Array

Beschreibung

array array_unique ( array $array [, int $sort_flags = SORT_STRING ] )

Erwartet ein array und gibt ein neues Array zurück, aus dem alle doppelten Einträge entfernt wurden.

Beachten Sie, dass Schlüssel bewahrt bleiben. Erst behandelt array_unique() die Werte als Strings und sortiert sie, danach wird der erste gefundene Schlüssel behalten, und alle folgenden Schlüssel ignoriert. Das heißt nicht, dass der Schlüssel des ersten zugehörigen Wertes aus dem unsortierten array behalten wird.

Hinweis: Zwei Elemente werden nur dann als gleich angesehen, wenn (string) $elem1 === (string) $elem2, d.h. wenn die String-Repräsentation die gleiche ist, wird das erste Element verwendet.

Parameter-Liste

array

Das Eingabe-Array.

sort_flags

Der optionale zweite Parameter sort_flags kann mit den folgenden Werten genutzt werden, um das Sortierverhalten zu ändern:

Sorting type flags:

  • SORT_REGULAR - vergleicht die Einträge normal (keine Typänderung)
  • SORT_NUMERIC - vergleicht die Einträge numerisch
  • SORT_STRING - vergleicht die Einträge als Strings
  • SORT_LOCALE_STRING - vergleicht die Einträge als Strings, basierend auf der aktuellen Locale.

Rückgabewerte

Gibt das gefilterte Array zurück.

Changelog

Version | Beschreibung
5.2.10 | Der Standardwert von sort_flags wurde auf SORT_STRING zurückgesetzt.
5.2.9 | Der optionale Parameter sort_flags wurde mit dem Standardwert SORT_REGULAR hinzugefügt. Vor 5.2.9 wurde die Sortierung intern mit SORT_STRING durchgeführt.

Beispiele

Beispiel #1 array_unique()-Beispiel

<?php
$input = array("a" => "grün", "rot", "b" => "grün", "blau", "rot");
$result = array_unique($input);
print_r($result);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [a] => grün
    [0] => rot
    [1] => blau
)

Beispiel #2 array_unique() und Typen

<?php
$input = array(4, "4", "3", 4, 3, "3");
$result = array_unique($input);
var_dump($result);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}

Siehe auch

  • array_count_values() - Zählt die Werte eines Arrays

Anmerkungen

Hinweis: Beachten Sie, dass array_unique() nicht dazu gedacht ist, auf mehrdimensionalen Arrays zu arbeiten.

array_uintersect
array_unshift
Array Funktionen


Fügt ein oder mehr Elemente am Anfang eines Arrays ein

array_unique
array_values
Array Funktionen
PHP Manual

array_unshift

(PHP 4, PHP 5, PHP 7)

array_unshift — Fügt ein oder mehr Elemente am Anfang eines Arrays ein

Beschreibung

int array_unshift ( array &$array , mixed $value1 [, mixed $... ] )

array_unshift() fügt die übergebenen Elemente am Anfang von array ein. Beachten Sie, dass die Liste von Elementen als Ganzes eingefügt wird, sodass die eingefügten Elemente die selbe Reihenfolge haben. Die numerischen Schlüssel werden so modifiziert, dass bei 0 zu zählen begonnen wird, Strings als Schlüssel bleiben unverändert.

Parameter-Liste

array

Das Eingabe-Array.

value1

Der erste einzufügende Wert.

Rückgabewerte

Gibt die neue Anzahl der in array enthaltenen Elemente zurück.

Beispiele

Beispiel #1 array_unshift() Beispiel

<?php
$queue = array("Orange", "Banane");
array_unshift($queue, "Apfel", "Himbeere");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => Apfel
    [1] => Himbeere
    [2] => Orange
    [3] => Banane
)

Siehe auch

  • array_shift() - Liefert und entfernt das erste Element eines Arrays
  • array_push() - Fügt ein oder mehr Elemente an das Ende eines Arrays an
  • array_pop() - Liefert und entfernt das letzte Element eines Arrays

array_unique
array_values
Array Funktionen


Liefert alle Werte eines Arrays

array_unshift
array_walk_recursive
Array Funktionen
PHP Manual

array_values

(PHP 4, PHP 5, PHP 7)

array_values — Liefert alle Werte eines Arrays

Beschreibung

array array_values ( array $array )

array_values() liefert alle Werte des Arrays array mit einem numerischen Index.

Parameter-Liste

array

Das Array.

Rückgabewerte

Liefert ein indiziertes Array von Werten zurück.

Beispiele

Beispiel #1 array_values()-Beispiel

<?php
$array = array("größe" => "XL", "farbe" => "gold");
print_r(array_values($array));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => XL
    [1] => gold
)

Siehe auch

  • array_keys() - Liefert alle Schlüssel oder eine Teilmenge aller Schlüssel eines Arrays
  • array_combine() - Erzeugt ein Array, indem es ein Array für die Schlüssel und ein anderes für die Werte verwendet

array_unshift
array_walk_recursive
Array Funktionen


Wendet eine Benutzerfunktion rekursiv auf jedes Element eines Arrays an

array_values
array_walk
Array Funktionen
PHP Manual

array_walk_recursive

(PHP 5, PHP 7)

array_walk_recursive — Wendet eine Benutzerfunktion rekursiv auf jedes Element eines Arrays an

Beschreibung

bool array_walk_recursive ( array &$array , callable $callback [, mixed $userdata = NULL ] )

Wendet die mittels callback angegebene Benutzerfunktion auf jedes Element von array an. Diese Funktion steigt tiefer in Arrays hinab.

Parameter-Liste

array

Das Eingabe-Array.

callback

Üblicherweise benötigt callback zwei Parameter. Der Wert von array wird als erster übergeben, und der Schlüssel/Index als zweites.

Hinweis:

Falls callback mit den tatsächlichen Werten des Arrays arbeiten muss, muss man den ersten Parameter von callback als Referenz übergeben. Dann werden alle Änderungen an den Elementen im ürsprünglichen Array selbst vorgenommen.

userdata

Ist der optionale Parameter userdata angegeben, so wird er als dritter Parameter an die Funktion callback übergeben.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 array_walk_recursive() Beispiel

<?php
$sweet = array('a' => 'Apfel', 'b' => 'Banane');
$fruits = array('süß' => $sweet, 'sauer' => 'Zitrone');

function test_print($item, $key)
{
    echo "$key beinhaltet $item\n";
}

array_walk_recursive($fruits, 'test_print');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

a beinhaltet Apfel
b beinhaltet Banane
sauer beinhaltet Zitrone

Sie werden bemerken, dass der Schlüssel 'süß' nicht angezeigt wird. Jeder Schlüssel, der ein array beinhaltet, wird nicht an die Funktion übergeben.

Siehe auch

  • array_walk() - Wendet eine vom Benutzer gelieferte Funktion auf jedes Element eines Arrays an
  • Informationen über den Callback-Typ

array_values
array_walk
Array Funktionen


Wendet eine vom Benutzer gelieferte Funktion auf jedes Element eines Arrays an

array_walk_recursive
array
Array Funktionen
PHP Manual

array_walk

(PHP 4, PHP 5, PHP 7)

array_walk — Wendet eine vom Benutzer gelieferte Funktion auf jedes Element eines Arrays an

Beschreibung

bool array_walk ( array &$array , callable $callback [, mixed $userdata = NULL ] )

Wendet die mittels callback angegebene Benutzerfunktion auf jedes Element von array an.

array_walk() ist nicht von dem internen Arrayzeiger von array betroffen. array_walk() geht ungeachtet der Zeigerposition das gesamte Array durch.

Parameter-Liste

array

Das Eingabe-Array.

callback

Typischerweise akzeptiert callback zwei Parameter. Der Wert von array wird als erster übergeben, und der Schlüssel/Index als zweiter.

Hinweis:

Wenn callback direkt mit den Werten des Arrays arbeiten soll, spezifizieren Sie den ersten Parameter von callback als Referenz. Dann werden alle Änderungen an diesen Elementen direkt in dem originalen Array durchgeführt.

Hinweis:

Viele interne Funktionen (wie z.B. strtolower()) erzeugen eine Warnung, wenn mehr als die erwartete Anzahl von Parametern übergeben wird; sie sind auch nicht direkt nutzbar als callback.

Nur die Werte von array können geändert werden. Die Struktur des Arrays kann nicht geändert werden, d.h. dass der Programmierer keine Elemente hinzufügen oder löschen kann und dass die Reihenfolge der Elemente nicht geändert werden kann. Falls die Callback-Funktion diese Anforderung nicht beachtet, ist der Verhalten dieser Funktion nicht definiert und auch nicht vorhersagbar.

userdata

Wenn der optionale Parameter userdata angegeben ist, wird er als dritter Parameter dem Callback callback übergeben.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Sollte die Funktion callback mehr als die ihr übergebenen Parameter benötigen, wird bei jedem Aufruf von callback durch array_walk() eine Fehlermeldung der Stufe E_WARNING generiert.

Beispiele

Beispiel #1 array_walk()-Beispiel

<?php
$fruits = array("d" => "Zitrone", "a" => "Orange", "b" => "Banane", "c" => "Apfel");

function test_alter(&$item1, $key, $prefix)
{
    $item1 = "$prefix: $item1";
}

function test_print($item2, $key)
{
    echo "$key. $item2<br>\n";
}

echo "Vorher ...:\n";
array_walk($fruits, 'test_print');

array_walk($fruits, 'test_alter', 'Frucht');
echo "... und nachher:\n";

array_walk($fruits, 'test_print');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Vorher ...:
d. Zitrone
a. Orange
b. Banane
c. Apfel
... und nachher:
d. Frucht: Zitrone
a. Frucht: Orange
b. Frucht: Banane
c. Frucht: Apfel

Siehe auch

  • array_walk_recursive() - Wendet eine Benutzerfunktion rekursiv auf jedes Element eines Arrays an
  • iterator_apply() - Call a function for every element in an iterator
  • list() - Weist Variablen zu, als wären sie ein Array
  • each() - Liefert das aktuelle Paar (Schlüssel und Wert) eines Arrays und rückt den Arrayzeiger vor
  • call_user_func_array() - Call a callback with an array of parameters
  • array_map() - Wendet eine Callback-Funktion auf die Elemente von Arrays an
  • Informationen über den Callback-Typ
  • foreach

array_walk_recursive
array
Array Funktionen


Erstellt ein Array

array_walk
arsort
Array Funktionen
PHP Manual

array

(PHP 4, PHP 5, PHP 7)

array — Erstellt ein Array

Beschreibung

array array ([ mixed $... ] )

Erstellt ein Array. Um mehr darüber zu erfahren, was ein Array ist, lesen Sie den Abschnitt zum Array-Typ.

Parameter-Liste

...

Die Syntax "Index => Werte", durch Kommas getrennt, definiert Index und Werte. Index kann vom Typ String oder numerisch sein. Wird der Index weggelassen, erstellt die Funktion automatisch einen numerischen Index, der bei 0 beginnt. Ist der Index als Integer-Wert angegeben, wird der nächste generierte Index der größte Integer Index + 1. Beachten Sie, dass wenn zwei identische Indexe definiert sind, der letzte den ersten überschreibt.

Ein hinter dem letzten definierten Arrayeintrag angehängtes Komma ist zwar unüblich, aber dennoch gültige Syntax.

Rückgabewerte

Gibt ein den Parametern entsprechendes Array zurück. Mit dem => Operator können die Parameter indiziert werden. Um mehr darüber zu erfahren, was ein Array ist, lesen Sie den Abschnitt zum Array-Typ.

Beispiele

Das folgende Beispiel zeigt wie man ein zweidimensionales Array erstellt, wie man Schlüssel für assoziative Arrays festlegt, und wie man numerische Indizes in normalen Arrays überspringt und fortsetzt.

Beispiel #1 array()-Beispiel

<?php
$fruits = array (
    "fruits"  => array("a" => "Orange", "b" => "Banane", "c" => "Apfel"),
    "numbers" => array(1, 2, 3, 4, 5, 6),
    "holes"   => array("erstes", 5 => "zweites", "drittes")
);
?>

Beispiel #2 Automatischer Index mit array()

<?php
$array = array(1, 1, 1, 1,  1, 8 => 1,  4 => 1, 19, 3 => 13);
print_r($array);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => 1
    [1] => 1
    [2] => 1
    [3] => 13
    [4] => 1
    [8] => 1
    [9] => 19
)

Beachten Sie, dass Index '3' doppelt definiert ist, und den letzten definierten Wert 13 behält. Index 4 wurde nach dem Index 8 definiert, und der nächste generierte Index (Wert 19) ist 9, da der größte Index 8 war.

Dieses Beispiel erstellt ein auf dem Index 1 basierendes Array.

Beispiel #3 1-basierter Index mit array()

<?php
$erstesquartal = array(1 => 'Januar', 'Februar', 'März');
print_r($erstesquartal);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [1] => Januar
    [2] => Februar
    [3] => März
)

Man kann, ebenso wie in Perl, einen Wert des Arrays innerhalb doppelter Anführungszeichen ansprechen. Jedoch muss man in PHP das Array in geschweifte Klammern einschließen.

Beispiel #4 Auf ein Array innerhalb von doppelten Anführungszeichen zugreifen

<?php

$foo = array('bar' => 'baz');
echo "Hallo {$foo['bar']}!"; // Hallo baz!

?>

Anmerkungen

Hinweis:

array() ist ein Sprachkonstrukt, mit dem man Arrays vorgeben kann und keine reguläre Funktion.

Siehe auch

  • array_pad() - Füllt ein Array bis auf die angegebene Länge mit einem Wert auf
  • list() - Weist Variablen zu, als wären sie ein Array
  • count() - Zählt alle Elemente eines Arrays oder etwas in einem Objekt
  • range() - Erstellt ein Array mit einem Bereich von Elementen
  • foreach
  • The array type

array_walk
arsort
Array Funktionen


Sortiert ein Array in umgekehrter Reihenfolge und erhält die Index-Assoziation

array
asort
Array Funktionen
PHP Manual

arsort

(PHP 4, PHP 5, PHP 7)

arsort — Sortiert ein Array in umgekehrter Reihenfolge und erhält die Index-Assoziation

Beschreibung

bool arsort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

Diese Funktion sortiert ein Array so, dass der Zusammenhang zwischen den Indizes und den entsprechenden Elementen des Arrays erhalten bleibt.

Dies wird hauptsächlich zur Sortierung assoziativer Arrays verwendet, bei denen die aktuelle Reihenfolge der Elemente bedeutend ist.

Hinweis:

Wenn zwei Mitglieder als identisch verglichen werden, ist die relative Sortierung im sortierten Array nicht definiert.

Parameter-Liste

array

Das Eingabe-Array.

sort_flags

Sie können das Verhalten der Sortierung mittels dem optionalen Parameter sort_flags beeinflussen, für Details siehe sort().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 arsort()-Beispiel

<?php
$fruits = array("d" => "Zitrone", "a" => "Orange", "b" => "Banane", "c" => "Apfel");
arsort($fruits);
foreach ($fruits as $key => $val) {
    echo "$key = $val\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

d = Zitrone
a = Orange
b = Banane
c = Apfel

Die Früchte wurden in umgekehrter alphabetischer Reihenfolge sortiert und die Zuordnung zwischen Index und Element blieb erhalten.

Siehe auch

  • asort() - Sortiert ein Array und erhält die Index-Assoziation
  • Den Vergleich von Arraysortierungsfunktionen

array
asort
Array Funktionen


Sortiert ein Array und erhält die Index-Assoziation

arsort
compact
Array Funktionen
PHP Manual

asort

(PHP 4, PHP 5, PHP 7)

asort — Sortiert ein Array und erhält die Index-Assoziation

Beschreibung

bool asort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

Diese Funktion sortiert ein Array so, dass der Zusammenhang zwischen den Indizes und den entsprechenden Elementen des Arrays erhalten bleibt. Dies wird hauptsächlich zur Sortierung assoziativer Arrays verwendet, bei denen die aktuelle Reihenfolge der Elemente bedeutend ist.

Hinweis:

Wenn zwei Mitglieder als identisch verglichen werden, ist die relative Sortierung im sortierten Array nicht definiert.

Parameter-Liste

array

Das Eingabe-Array.

sort_flags

Sie können das Verhalten der Sortierung mittels dem optionalen Parameter sort_flags beeinflussen, für Details siehe sort().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 asort()-Beispiel

<?php
$fruits = array("d" => "Zitrone", "a" => "Orange", "b" => "Banane", "c" => "Apfel");
asort($fruits);
foreach ($fruits as $key => $val) {
    echo "$key = $val\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

c = Apfel
b = Banane
a = Orange
d = Zitrone

Die Früchte wurden alphabetisch sortiert und die Zuordnung zwischen Index und Element blieb erhalten.

Siehe auch

  • arsort() - Sortiert ein Array in umgekehrter Reihenfolge und erhält die Index-Assoziation
  • Den Vergleich von Arraysortierungsfunktionen

arsort
compact
Array Funktionen


Erstellt ein Array mit Variablen und deren Werten

asort
count
Array Funktionen
PHP Manual

compact

(PHP 4, PHP 5, PHP 7)

compact — Erstellt ein Array mit Variablen und deren Werten

Beschreibung

array compact ( mixed $varname1 [, mixed $... ] )

Erstellt ein Array mit Variablen und deren Werten.

Für alle diese sucht compact() nach einer Variablen in der aktuellen Symboltabelle, und fügt diese dem zurückzugebenden Array hinzu, wobei der Variablenname als Schlüssel, und der Inhalt der Variablen als Wert gespeichert wird. Kurz, diese Funktion tut das Gegenteil von extract().

Strings, welche nicht gesetzt sind, werden einfach ignoriert.

Parameter-Liste

varname1

compact() übernimmt eine variable Anzahl von Parametern. Jeder Parameter kann entweder ein String mit einem Variablennamen, oder ein Array mit Variablennamen sein. Dieses Array kann auch andere Arrays mit Variablennamen enthalten; compact() behandelt sie rekursiv.

Rückgabewerte

Gibt ein Array mit allen Variablen zurück.

Beispiele

Beispiel #1 compact() Beispiel

<?php
$city  = "San Francisco";
$state = "CA";
$event = "SIGGRAPH";

$location_vars = array("city", "state");

$result = compact("event", "nothing_here", $location_vars);
print_r($result);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [event] => SIGGRAPH
    [city] => San Francisco
    [state] => CA
)

Anmerkungen

Hinweis: Achtung

Weil variable Variablen in Funktionen nicht mit PHPs superglobalen Arrays verwendet werden dürfen, können die superglobalen Arrays nicht an compact() übergeben werden.

Siehe auch

  • extract() - Importiert Variablen eines Arrays in die aktuelle Symboltabelle

asort
count
Array Funktionen


Zählt alle Elemente eines Arrays oder etwas in einem Objekt

compact
current
Array Funktionen
PHP Manual

count

(PHP 4, PHP 5, PHP 7)

count — Zählt alle Elemente eines Arrays oder etwas in einem Objekt

Beschreibung

int count ( mixed $array_or_countable [, int $mode = COUNT_NORMAL ] )

Zählt alle Elemente eines Arrays oder etwas in einem Objekt.

Wenn Sie die SPL installiert haben, können Sie in Objekten eine count()-Funktion nutzen, indem Sie das Interface Countable implementieren. Das Interface hat exakt eine Methode, nämlich Countable::count(), die den Rückgabewert der Funktion count() zurückliefert.

In der Sektion Arrays finden Sie eine detaillierte Erklärung, wie Arrays in PHP implementiert sind und wie sie benutzt werden.

Parameter-Liste

array_or_countable

Ein Array oder Countable Objekt.

mode

Wenn der optionale Parameter mode auf COUNT_RECURSIVE (oder 1) gesetzt ist, wird count() rekursiv durch das Array zählen. Dies kann besonders nützlich sein, um alle Elemente eines mehrdimensionalen Arrays zu zählen.

Achtung

count() kann Rekursion erkennen, um eine Endlosschleife zu vermeiden, wird aber jedes Mal, wenn es das tut, ein E_WARNING erzeugen (im Fall, dass das Array sich selbst mehr als einmal enthält), und gibt dann eine höhere Anzahl zurück als möglicherweise erwartet.

Rückgabewerte

Liefert die Anzahl von Elementen in array_or_countable.

Ist der Parameter kein Array oder Objekt mit implementiertem Countable Interface, wird 1 zurückgegeben. Es besteht eine Ausnahme, wenn var NULL ist, wird 0 zurückgegeben.

Achtung

count() gibt 0 zurück, wenn die Variable nicht gesetzt ist, aber sie gibt ebenfalls 0 zurück, wenn die Variable als leeres Array initialisiert wurde. Verwenden Sie isset() um zu testen, ob eine Variable gesetzt ist.

Beispiele

Beispiel #1 count()-Beispiel

<?php
$a[0] = 1;
$a[1] = 3;
$a[2] = 5;
$result = count($a);
//$result == 3

$b[0] = 7;
$b[5] = 9;
$b[10] = 11;
$result = count($b);
// $result == 3

$result = count(null);
// $result == 0

$result = count(false);
// $result == 1
?>

Beispiel #2 Rekursives count()-Beispiel

<?php
$food = array('Obst' => array('Orange', 'Banane', 'Apfel'),
              'Gemüse' => array('Karotte', 'Kohl', 'Erbse'));

// rekursiv zählen
echo count($food, COUNT_RECURSIVE); // gibt 8 aus

// normales zählen
echo count($food); // gibt 2 aus

?>

Siehe auch

  • is_array() - Prüft, ob die Variable ein Array ist
  • isset() - Prüft, ob eine Variable existiert und ob sie nicht NULL ist
  • empty() - Prüft, ob eine Variable einen Wert enthält
  • strlen() - Ermitteln der String-Länge

compact
current
Array Funktionen


Liefert das aktuelle Element eines Arrays

count
each
Array Funktionen
PHP Manual

current

(PHP 4, PHP 5, PHP 7)

current — Liefert das aktuelle Element eines Arrays

Beschreibung

mixed current ( array &$array )

Jedes Array hat einen internen Zeiger auf sein "aktuelles" Element, welcher auf das erste in das Array eingefügte Element initialisiert wird.

Parameter-Liste

array

Das Array.

Rückgabewerte

Die Funktion current() liefert den Wert des Array Elements, auf das gerade vom internen Zeiger gezeigt wird. Sie bewegt den Zeiger in keinster Weise. Zeigt der interne Zeiger hinter das Ende der Elementenliste, gibt current() FALSE zurück.

Warnung

Diese Funktion kann sowohl das boolsche FALSE zurückliefern, als auch einen nicht-boolschen Wert, welcher zu FALSE ausgewertet wird. Weitere Informationen entnehmen Sie bitte dem Abschnitt über die boolschen Typen. Benutzen Sie deshalb den === Operator, um den Rückgabewert dieser Funktion zu überprüfen.

Beispiele

Beispiel #1 Beispiel für die Verwendung von current() und anderen

<?php
$transport = array('zu Fuß', 'Fahrrad', 'Auto', 'Flugzeug');
$mode = current($transport); // $mode = 'zu Fuß';
$mode = next($transport);    // $mode = 'Fahrrad';
$mode = next($transport);    // $mode = 'Auto';
$mode = prev($transport);    // $mode = 'Fahrrad';
$mode = end($transport);     // $mode = 'Flugzeug';

$arr = array();
var_dump(current($arr)); // bool(false)

$arr = array(array());
var_dump(current($arr)); // array(0) { }
?>

Anmerkungen

Hinweis: Es ist nicht möglich, das Ende eines Arrays von einem boolean FALSE-Wert zu unterscheiden. Um ein Array, das FALSE-Elemente beinhalten könnte, korrekt zu durchlaufen werfen Sie bitte einen Blick auf die each()- Funktion.

Siehe auch

  • end() - Positioniert den internen Zeiger eines Arrays auf dessen letztes Element
  • key() - Liefert einen Schlüssel eines Arrays
  • each() - Liefert das aktuelle Paar (Schlüssel und Wert) eines Arrays und rückt den Arrayzeiger vor
  • prev() - Setzt den internen Zeiger eines Arrays um ein Element zurück
  • reset() - Setzt den internen Zeiger eines Arrays auf sein erstes Element
  • next() - Rückt den internen Zeiger eines Arrays vor

count
each
Array Funktionen


Liefert das aktuelle Paar (Schlüssel und Wert) eines Arrays und rückt den Arrayzeiger vor

current
end
Array Funktionen
PHP Manual

each

(PHP 4, PHP 5, PHP 7)

each — Liefert das aktuelle Paar (Schlüssel und Wert) eines Arrays und rückt den Arrayzeiger vor

Beschreibung

array each ( array &$array )

Liefert das aktuelle Schlüssel-Wert-Paare des Arrays array, und erhöht den Arrayzeiger.

Nachdem each() ausgeführt wurde, bleibt der Arrayzeiger beim nächsten Element des Arrays, oder wenn am Ende des Arrays angelangt, nach dem letzten Element. Sie müssen reset() verwenden, wenn Sie das Array erneut mittels each durchgehen wollen.

Parameter-Liste

array

Das Eingabe-Array.

Rückgabewerte

Gibt das aktuelle Schlüssel-Wert-Paar aus dem Array array zurück. Dieses Paar wird als Array mit vier Elementen zurückgegeben, und zwar mit den Schlüsseln 0, 1, key, und value. Die Elemente 0 und key enthalten den Namen des Schlüssels, 1 und value den Wert.

Zeigt der interne Zeiger hinter das Ende der Array-Inhalte, gibt each() FALSE zurück.

Beispiele

Beispiel #1 each()-Beispiele

<?php
$foo = array("bob", "fred", "jussi", "jouni", "egon", "marliese");
$bar = each($foo);
print_r($bar);
?>

$bar enthält nun die folgenden Schlüssel-Wert-Paare:

Array
(
    [1] => bob
    [value] => bob
    [0] => 0
    [key] => 0
)

<?php
$foo = array("Robert" => "Bob", "Seppo" => "Sepi");
$bar = each($foo);
print_r($bar);
?>

$bar enthält nun die folgenden Schlüssel-Wert-Paare:

Array
(
    [1] => Bob
    [value] => Bob
    [0] => Robert
    [key] => Robert
)

each() wird typischerweise in Verbindung mit list() verwendet, um ein Array durchzugehen:

Beispiel #2 Durchgehen eines Arrays mit each()

<?php
$fruit = array('a' => 'Apfel', 'b' => 'Banane', 'c' => 'Preiselbeere');

reset($fruit);
while (list($key, $val) = each($fruit)) {
    echo "$key => $val\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

a => Apfel
b => Banane
c => Preiselbeere

Achtung

Da die Zuweisung eines Arrays zu einer anderen Variable den originalen Arrayzeiger zurücksetzt, würde unser obiges Beispiel in eine Endlosschleife geraten, hätten wir $fruit innerhalb der Schleife einer anderen Variable zugeordnet.

Warnung

each() akzeptiert ebenfalls Objekte, liefert aber eventuell unerwartete Ergebnisse zurück. Es wird daher nicht empfohlen, über Objekteigenschaften mit each() zu iterieren.

Siehe auch

  • key() - Liefert einen Schlüssel eines Arrays
  • list() - Weist Variablen zu, als wären sie ein Array
  • current() - Liefert das aktuelle Element eines Arrays
  • reset() - Setzt den internen Zeiger eines Arrays auf sein erstes Element
  • next() - Rückt den internen Zeiger eines Arrays vor
  • prev() - Setzt den internen Zeiger eines Arrays um ein Element zurück
  • foreach
  • Objektiteration

current
end
Array Funktionen


Positioniert den internen Zeiger eines Arrays auf dessen letztes Element

each
extract
Array Funktionen
PHP Manual

end

(PHP 4, PHP 5, PHP 7)

end — Positioniert den internen Zeiger eines Arrays auf dessen letztes Element

Beschreibung

mixed end ( array &$array )

end() rückt den internen Zeiger von array bis zum letzten Element vor, und gibt dessen Wert zurück.

Parameter-Liste

array

Das Array. Das Array wird per Referenz übergeben, weil es von der Funktion bearbeitet wird. Das bedeutet, dass der Funktion eine echte Variable übergeben werden muss und nicht beispielsweise der Rückgabewert einer Funktion.

Rückgabewerte

Gibt den Wert des letzten Arrayelements zurück oder FALSE bei einem leeren Array.

Beispiele

Beispiel #1 end() example

<?php

$fruits = array('apple', 'banana', 'cranberry');
echo end($fruits); // cranberry

?>

Siehe auch

  • current() - Liefert das aktuelle Element eines Arrays
  • each() - Liefert das aktuelle Paar (Schlüssel und Wert) eines Arrays und rückt den Arrayzeiger vor
  • prev() - Setzt den internen Zeiger eines Arrays um ein Element zurück
  • reset() - Setzt den internen Zeiger eines Arrays auf sein erstes Element
  • next() - Rückt den internen Zeiger eines Arrays vor

each
extract
Array Funktionen


Importiert Variablen eines Arrays in die aktuelle Symboltabelle

end
in_array
Array Funktionen
PHP Manual

extract

(PHP 4, PHP 5, PHP 7)

extract — Importiert Variablen eines Arrays in die aktuelle Symboltabelle

Beschreibung

int extract ( array &$array [, int $flags = EXTR_OVERWRITE [, string $prefix = NULL ]] )

Diese Funktion wird verwendet, um Variablen eines Arrays in die aktuelle Symboltabelle zu importieren.

Prüft jeden Schlüssel, ob dieser einen gültigen Variablennamen ergibt, und auch auf eventuelle Kollisionen mit existierenden Variablen in der Symboltabelle.

Parameter-Liste

array

Ein assoziatives Array. Die Funktion behandelt Schlüssel als Variablennamen und Werte als Variablenwerte. Für jedes Paar Schlüssel/Wert wird - abhängig von den Parametern flags und prefix - eine Variable in der aktuellen Symboltabelle eingetragen.

Sie müssen ein assoziatives Array verwenden, da ein numerisch indiziertes Array zu keinem Ergebnis führen wird, außer Sie benutzen EXTR_PREFIX_ALL oder EXTR_PREFIX_INVALID.

flags

Die Art, wie ungültige/numerische Schlüssel und Kollisionen behandelt werden, wird durch flags bestimmt. Die folgenden Werte sind erlaubt:

EXTR_OVERWRITE
Im Falle einer Kollision wird die existierende Variable überschrieben.
EXTR_SKIP
Im Falle einer Kollision wird die existierende Variable nicht überschrieben.
EXTR_PREFIX_SAME
Im Falle einer Kollision wird dem Variablennamen prefix vorangestellt.
EXTR_PREFIX_ALL
Allen Variablennamen wird prefix vorangestellt.
EXTR_PREFIX_INVALID
Nur ungültigen/numerischen Variablennamen wird prefix vorangestellt.
EXTR_IF_EXISTS
Überschreibt die Variable nur, wenn sie bereits in der aktuellen Symboltabelle existiert, sonst geschieht nichts. Dies ist dann hilfreich, wenn Sie eine Liste mit gültigen Variablen definieren, und dann z.B. nur jene Variablen extrahieren, welche Sie aus $_REQUEST definiert haben.
EXTR_PREFIX_IF_EXISTS
Erstellt nur Variablennamen mit Präfix, wenn die Version ohne Präfix der selben Variable in der aktuellen Symboltabelle existiert.
EXTR_REFS
Extrahiert Variablen als Referenzen. Das heißt, dass die Werte der importierten Variablen noch immer auf die Werte des Parameters array referenzieren. Sie können diesen Flag alleine oder auch in Kombination mit einem anderen Flag verwenden, indem Sie Oder-Verknüpfungen im flags erstellen.

Ist flags nicht spezifiziert, so wird EXTR_OVERWRITE angenommen.

prefix

Beachten Sie, dass prefix nur dann nötig ist, wenn flags EXTR_PREFIX_SAME, EXTR_PREFIX_ALL, EXTR_PREFIX_INVALID or EXTR_PREFIX_IF_EXISTS ist. Ist das Resultat trotz Präfix kein gültiger Variablenname, wird es nicht in die Symboltabelle importiert. Präfixe werden automatisch mit einem Unterstrich vom Schlüssel des Arrays getrennt.

Rückgabewerte

extract() gibt die Anzahl erfolgreich in die Symboltabelle importierter Variablen zurück.

Beispiele

Beispiel #1 extract()-Beispiel

Eine mögliche Verwendung für extract() ist der Import der Variablen in einem von wddx_deserialize() gelieferten assoziativen Array in die Symboltabelle.

<?php

/* Annahme: $var_array ist ein von wddx_deserialize
   zurückgegebenes Array */

$groesse = "groß";
$var_array = array("farbe"   => "blau",
                   "groesse" => "mittel",
                   "form"    => "Kugel");
extract($var_array, EXTR_PREFIX_SAME, "wddx");

echo "$farbe, $groesse, $form, $wddx_groesse\n";

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

blau, groß, Kugel, mittel

$groesse wurde nicht überschrieben, da wir EXTR_PREFIX_SAME spezifiziert haben, was im Anlegen von $wddx_groesse endete. Wäre EXTR_SKIP spezifiziert worden, dann wäre $wddx_groesse nicht angelegt worden. EXTR_OVERWRITE hätte $groesse mit dem Wert "mittel" überschrieben, und EXTR_PREFIX_ALL hätte die neuen Variablen $wddx_farbe, $wddx_groesse, und $wddx_form angelegt.

Anmerkungen

Warnung

Verwenden Sie extract() nicht für nicht vertrauenswürdige Daten wie Benutzereingaben (d.h. $_GET, $_FILES, ...). Wenn Sie dies tun, z.B. weil Sie vorübergehend alten Code, der sich auf register_globals verließ, ausführen wollen, so stellen Sie sicher, dass Sie einen nicht-überschreibenden flags-Wert wie EXTR_SKIP verwenden und seien Sie sich bewusst, dass Sie die Daten in der selben Reihenfolge importieren sollen, die in variables_order in der php.ini angegeben wurde.

Hinweis:

Wenn Sie immer noch register_globals aktiviert haben, und Sie extract() auf $_FILES anwenden und Sie EXTR_SKIP angeben, könnten Sie über das Ergebnis überrascht sein.

Warnung

Dies ist keine empfohlene Vorgehensweise; es ist nur der Vollständigkeit halber hier dokumentiert. Die Nutzung von register_globals wird nicht mehr empfohlen und das Aufrufen von extract() auf nicht vertrauenswürdigen Daten wie $_FILES ist, wie oben beschrieben, ein potenzielles Sicherheitsrisiko. Wenn Sie auf dieses Ergebnis stoßen, bedeutet das, dass Sie mindestens zwei schlechte Codierungs-Praktiken benutzen.

<?php

/* Annahmen: $testfile ist der Name einer hochgeladenen Datei,
   register_globals ist aktiviert */

var_dump($testfile);
extract($_FILES, EXTR_SKIP);
var_dump($testfile);
var_dump($testfile['tmp_name']);

?>
Sie werden wahrscheinlich folgende Ausgabe erwarten:
string(14) "/tmp/phpgCCPX8"
array(5) {
  ["name"]=>
  string(10) "somefile.txt"
  ["type"]=>
  string(24) "application/octet-stream"
  ["tmp_name"]=>
  string(14) "/tmp/phpgCCPX8"
  ["error"]=>
  int(0)
  ["size"]=>
  int(4208)
}
string(14) "/tmp/phpgCCPX8"
Stattdessen erhalten Sie aber eine Ausgabe wie diese:
string(14) "/tmp/phpgCCPX8"
string(14) "/tmp/phpgCCPX8"
string(1) "/"

Dies liegt daran, dass aufgrund der Aktivierung von register_globals $testfile bereits im globalen Scope existiert, wenn extract() aufgerufen wird. Da EXTR_SKIP angegeben wurde, wird $testfile nicht mit den Inhalten des $_FILES-Arrays überschrieben und somit bleibt $testfile ein String. Da auf Strings über die Array-Syntax zugegriffen werden kann und der nicht-numerische String tmp_name als 0 interpretiert wird, versteht PHP $testfile['tmp_name'] als $testfile[0].

Siehe auch

  • compact() - Erstellt ein Array mit Variablen und deren Werten
  • list() - Weist Variablen zu, als wären sie ein Array

end
in_array
Array Funktionen


Prüft, ob ein Wert in einem Array existiert

extract
key_exists
Array Funktionen
PHP Manual

in_array

(PHP 4, PHP 5, PHP 7)

in_array — Prüft, ob ein Wert in einem Array existiert

Beschreibung

bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )

Diese Funktion sucht in haystack nach needle. Wenn strict gesetzt ist, wird dabei auch der Typ des Elements beachtet.

Parameter-Liste

needle

Der gesuchte Wert.

Hinweis:

Ist needle ein String, so wird bei der Suche Groß- und Kleinschreibung beachtet.

haystack

Das zu durchsuchende Array.

strict

Wenn der dritte Parameter auf TRUE gesetzt wird, vergleicht in_array() nicht nur den Wert sondern auch den Typ des gesuchten Wertes needle mit den Elementen des Arrays.

Rückgabewerte

Gibt TRUE zurück wenn needle im Array gefunden wird, sonst FALSE.

Beispiele

Beispiel #1 in_array() Beispiel

<?php
$os = array("Mac", "NT", "Irix", "Linux");
if (in_array("Irix", $os)) {
    echo "Irix enthalten";
}
if (in_array("mac", $os)) {
    echo "mac enthalten";
}
?>

Der zweite Vergleich schlägt fehl, da in_array() Groß- und Kleinschreibung unterscheidet, die Ausgabe sieht daher so aus:

Irix enthalten

Beispiel #2 in_array() Beispiel mit 'strict'

<?php
$a = array('1.10', 12.4, 1.13);

if (in_array('12.4', $a, true)) {
    echo "'12.4' bei strenger Prüfung gefunden\n";
}

if (in_array(1.13, $a, true)) {
    echo "1.13 Bei strenger Prüfung gefunden\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1.13 bei strenger Prüfung gefunden

Beispiel #3 in_array() mit Array als Suchwert

<?php
$a = array(array('p', 'h'), array('p', 'r'), 'o');

if (in_array(array('p', 'h'), $a)) {
    echo "'ph' gefunden\n";
}

if (in_array(array('f', 'i'), $a)) {
    echo "'fi' gefunden\n";
}

if (in_array('o', $a)) {
    echo "'o' gefunden\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

  'ph' gefunden
  'o' gefunden

Siehe auch

  • array_search() - Durchsucht ein Array nach einem Wert und liefert bei Erfolg den zugehörigen Schlüssel
  • isset() - Prüft, ob eine Variable existiert und ob sie nicht NULL ist
  • array_key_exists() - Prüft, ob ein Schlüssel in einem Array existiert

extract
key_exists
Array Funktionen


Alias von array_key_exists

in_array
key
Array Funktionen
PHP Manual

key_exists

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

key_exists — Alias von array_key_exists()

Beschreibung

Diese Funktion ist ein Alias für: array_key_exists().

in_array
key
Array Funktionen


Liefert einen Schlüssel eines Arrays

key_exists
krsort
Array Funktionen
PHP Manual

key

(PHP 4, PHP 5, PHP 7)

key — Liefert einen Schlüssel eines Arrays

Beschreibung

mixed key ( array &$array )

key() liefert das Index Element der aktuellen Position im Array.

Parameter-Liste

array

Das Array.

Rückgabewerte

Die key() Funktion gibt einfach den Schlüssel des Arrayelements zurück, auf das momentan durch den internen Zeiger gezeigt wird. Sie bewegt den Zeiger in keiner Weise. Zeigt der interne Zeiger über das Ende der Elementliste hinaus oder ist das Array leer, gibt key() NULL zurück.

Beispiele

Beispiel #1 key() Beispiel

<?php
$array = array(
    'Frucht1' => 'Apfel',
    'Frucht2' => 'Orange',
    'Frucht3' => 'Traube',
    'Frucht4' => 'Apfel',
    'Frucht5' => 'Apfel');

// Diese Schleife gibt alle Schlüssel des assoziativen
// Arrays aus, deren Wert "Apfel" ist.
while ($fruit_name = current($array)) {
    if ($fruit_name == 'Apfel') {
        echo key($array).'<br />';
    }
    next($array);
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Frucht1<br />
Frucht4<br />
Frucht5<br />

Siehe auch

  • current() - Liefert das aktuelle Element eines Arrays
  • next() - Rückt den internen Zeiger eines Arrays vor
  • foreach

key_exists
krsort
Array Funktionen


Sortiert ein Array nach Schlüsseln in umgekehrter Reihenfolge

key
ksort
Array Funktionen
PHP Manual

krsort

(PHP 4, PHP 5, PHP 7)

krsort — Sortiert ein Array nach Schlüsseln in umgekehrter Reihenfolge

Beschreibung

bool krsort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

Sortiert ein Array nach Schlüsseln in umgekehrter Reihenfolge, wobei die Zuordnungen zwischen Schlüssel und Wert erhalten bleiben. Dies ist hauptsächlich bei assoziativen Arrays hilfreich.

Parameter-Liste

array

Das Eingabe-Array.

sort_flags

Sie können das Verhalten der Sortierung mittels dem optionalen Parameter sort_flags beeinflussen, für Details siehe sort().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 krsort()-Beispiel

<?php
$fruits = array("d" => "Zitrone", "a" => "Orange", "b" => "Banane", "c" => "Apfel");
krsort($fruits);
foreach ($fruits as $key => $val) {
    echo "$key = $val\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

d = Zitrone
c = Apfel
b = Banane
a = Orange

Siehe auch

  • arsort() - Sortiert ein Array in umgekehrter Reihenfolge und erhält die Index-Assoziation
  • ksort() - Sortiert ein Array nach Schlüsseln
  • Den Vergleich von Arraysortierungsfunktionen

key
ksort
Array Funktionen


Sortiert ein Array nach Schlüsseln

krsort
list
Array Funktionen
PHP Manual

ksort

(PHP 4, PHP 5, PHP 7)

ksort — Sortiert ein Array nach Schlüsseln

Beschreibung

bool ksort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

Sortiert ein Array nach Schlüsseln, wobei die Zuordnungen zwischen Schlüssel und Wert erhalten bleiben. Dies ist hauptsächlich bei assoziativen Arrays hilfreich.

Parameter-Liste

array

Das Eingabe-Array.

sort_flags

Sie können das Verhalten der Sortierung mittels dem optionalen Parameter sort_flags beeinflussen, für Details siehe sort().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 ksort()-Beispiel

<?php
$fruits = array("d" => "Zitrone", "a" => "Orange", "b" => "Banane", "c" => "Apfel");
ksort($fruits);
foreach ($fruits as $key => $val) {
    echo "$key = $val\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

a = Orange
b = Banane
c = Apfel
d = Zitrone

Siehe auch

  • asort() - Sortiert ein Array und erhält die Index-Assoziation
  • Den Vergleich von Arraysortierungsfunktionen

krsort
list
Array Funktionen


Weist Variablen zu, als wären sie ein Array

ksort
natcasesort
Array Funktionen
PHP Manual

list

(PHP 4, PHP 5, PHP 7)

list — Weist Variablen zu, als wären sie ein Array

Beschreibung

array list ( mixed $var1 [, mixed $... ] )

Wie array() ist auch dies keine wirkliche Funktion, sondern ein Sprachkonstrukt. list() wird verwendet, um eine Liste von Variablen mit einer Operation zuzuweisen.

Hinweis:

list() funktioniert nur bei numerischen Arrays und basiert auf der Annahme, dass die numerischen Indizes bei 0 beginnen.

Warnung

In PHP 5 weist list() die Werte von rechts beginnend zu. In PHP 7 beginnt list() von links.

Wenn Sie einfache Variablen benutzen, brauchen Sie sich nicht darum zu kümmern. Wenn Sie jedoch Arrays mit Indizes verwenden, erwarten Sie gewöhnlich die Reihenfolge der Indizes in dem Array genau so, wie Sie sie in list() geschrieben haben (von links nach rechts), was jedoch in PHP 5 nicht der Fall ist. Es wird in der umgekehrten Reihenfolge zugewiesen.

Allgemein gesagt, ist es ratsam sich nicht auf eine bestimmte Operations-Reihenfolge zu verlassen, da sich diese zukünftig wieder ändern könnte.

Warnung

Die Veränderung des Array während der Ausführung von list() (z.B. durch list($a, $b) = $b), hat undefiniertes Verhalten zur Folge.

Parameter-Liste

var1

Eine Variable.

Rückgabewerte

Gibt das zugewiesene Array zurück.

Changelog

Version | Beschreibung
7.0.0 | Die Reihenfolge, in der die Zuweisungsoperationen durchgeführt werden, wurde geändert.
7.0.0 | list() Ausdrücke dürfen nicht mehr vollständig leer sein.
7.0.0 | Zeichenketten können nicht mehr entpackt werden.

Beispiele

Beispiel #1 list() Beispiele

<?php

$info = array('Kaffee', 'braun', 'Koffein');

// Auflisten aller Variablen
list($drink, $color, $power) = $info;
echo "$drink ist $color und $power macht es zu etwas besonderem.\n";

// Ein paar davon auflisten
list($drink, , $power) = $info;
echo "$drink hat $power.\n";

// Oder nur die dritte ausgeben
list( , , $power) = $info;
echo "Ich brauche $power!\n";

// list() funktioniert nicht mit Zeichenketten
list($bar) = "abcde";
var_dump($bar); // NULL
?>

Beispiel #2 Eine Beispielverwendung von list()

<table>
 <tr>
  <th>Mitarbeitername</th>
  <th>Gehalt</th>
 </tr>

<?php

$result = $pdo->query("SELECT id, name, salary FROM employees");
while (list($id, $name, $salary) = $result->fetch(PDO::FETCH_NUM)) {
    echo " <tr>\n".
         "  <td><a href=\"info.php?id=$id\">$name</a></td>\n".
         "  <td>$salary</td>\n".
         " </tr>\n";
}

?>

</table>

Beispiel #3 Verschachtelte list() verwenden

<?php

list($a, list($b, $c)) = array(1, array(2, 3));

var_dump($a, $b, $c);

?>
int(1)
int(2)
int(3)

Beispiel #4 list() mit Array Indizes verwenden

<?php

$info = array('Kaffee', 'braun', 'Koffein');

list($a[0], $a[1], $a[2]) = $info;

var_dump($a);

?>

Erzeugt folgende Ausgabe (beachten Sie die Reihenfolge der Elemente verglichen mit der in list() eingetragenen Reihenfolge):

Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 7:

array(3) {
  [0]=>
  string(6) "Kaffee"
  [1]=>
  string(5) "braun"
  [2]=>
  string(7) "Koffein"
}

Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 5:

array(3) {
  [2]=>
  string(7) "Koffein"
  [1]=>
  string(5) "braun"
  [0]=>
  string(6) "Kaffee"
}

Beispiel #5 list() und die Reihenfolge der Index-Definitionen

Die Reihenfolge, in der die Indizes des von list() zu konsumierenden Arrays definiert wurden, ist irrelevant.

<?php
$foo = array(2 => 'a', 'foo' => 'b', 0 => 'c');
$foo[1] = 'd';
list($x, $y, $z) = $foo;
var_dump($foo, $x, $y, $z);

Erzeugt folgende Ausgabe (beachten Sie die Reihenfolge der Elemente verglichen mit der in list() eingetragenen Reihenfolge):

array(4) {
  [2]=>
  string(1) "a"
  ["foo"]=>
  string(1) "b"
  [0]=>
  string(1) "c"
  [1]=>
  string(1) "d"
}
string(1) "c"
string(1) "d"
string(1) "a"

Siehe auch

  • each() - Liefert das aktuelle Paar (Schlüssel und Wert) eines Arrays und rückt den Arrayzeiger vor
  • array() - Erstellt ein Array
  • extract() - Importiert Variablen eines Arrays in die aktuelle Symboltabelle

ksort
natcasesort
Array Funktionen


Sortiert ein Array in "natürlicher Reihenfolge", Groß/Kleinschreibung wird ignoriert

list
natsort
Array Funktionen
PHP Manual

natcasesort

(PHP 4, PHP 5, PHP 7)

natcasesort — Sortiert ein Array in "natürlicher Reihenfolge", Groß/Kleinschreibung wird ignoriert

Beschreibung

bool natcasesort ( array &$array )

natcasesort() ist eine Groß-/Kleinschreibung ignorierende Version von natsort().

Diese Funktion implementiert einen Sortieralgorithmus, welcher alphanumerische Zeichenketten reiht, wie es auch ein Mensch tun würde, wobei Sie die Schlüssel-Wert-Zuordnung beibehält. Das wird als "natürliche Reihenfolge" bezeichnet.

Hinweis:

Wenn zwei Mitglieder als identisch verglichen werden, ist die relative Sortierung im sortierten Array nicht definiert.

Parameter-Liste

array

Das Eingabe-Array.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 natcasesort() Beispiel

<?php
$array1 = $array2 = array('IMG0.png', 'img12.png', 'img10.png', 'img2.png', 'img1.png', 'IMG3.png');

sort($array1);
echo "Standard Reihenfolge\n";
print_r($array1);

natcasesort($array2);
echo "\nNatürliche Reihenfolge (Groß-/Kleinschreibung ignorierend)\n";
print_r($array2);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Standard Reihenfolge
Array
(
    [0] => IMG0.png
    [1] => IMG3.png
    [2] => img1.png
    [3] => img10.png
    [4] => img12.png
    [5] => img2.png
)

Natürliche Reihenfolge (Groß-/Kleinschreibung ignorierend)
Array
(
    [0] => IMG0.png
    [4] => img1.png
    [3] => img2.png
    [5] => IMG3.png
    [2] => img10.png
    [1] => img12.png
)

Detailliertere Informationen finden Sie auf Martin Pools » Natural Order String Comparison Seite.

Siehe auch

  • natsort() - Sortiert ein Array in "natürlicher Reihenfolge"
  • Den Vergleich von Arraysortierungsfunktionen
  • strnatcmp() - String-Vergleich unter Verwendung einer "natürlichen Ordnung"
  • strnatcasecmp() - String-Vergleich "natürlicher Ordnung" ohne Unterscheidung der Schreibweise

list
natsort
Array Funktionen


Sortiert ein Array in "natürlicher Reihenfolge"

natcasesort
next
Array Funktionen
PHP Manual

natsort

(PHP 4, PHP 5, PHP 7)

natsort — Sortiert ein Array in "natürlicher Reihenfolge"

Beschreibung

bool natsort ( array &$array )

Diese Funktion implementiert einen Sortieralgorithmus, welcher alphanumerische Zeichenketten reiht, wie es auch ein Mensch tun würde, wobei Sie die Schlüssel-Wert-Zuordnung beibehält. Das wird als "natürliche Reihenfolge" bezeichnet. Ein Beispiel für den Unterschied zwischen diesem und dem normalen Sortieralgorithmus für Strings eines Computers (verwendet in sort()) ist weiter unten zu sehen.

Hinweis:

Wenn zwei Mitglieder als identisch verglichen werden, ist die relative Sortierung im sortierten Array nicht definiert.

Parameter-Liste

array

Das Eingabe-Array.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.2.10 | Mit 0 aufgefüllte numerische Zeichenketten (z.B. '00005') ignorieren nun die 0-Füllung im Wesentlichen.

Beispiele

Beispiel #1 natsort() Beispiele, die die grundlegende Verwendung demonstrieren

<?php
$array1 = $array2 = array("img12.png", "img10.png", "img2.png", "img1.png");

sort ($array1);
echo "Standardsortierung\n";
print_r ($array1);

natsort ($array2);
echo "\nSortieren mit natürlicher Reihenfolge\n";
print_r ($array2);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Standardsortierung
Array
(
    [0] => img1.png
    [1] => img10.png
    [2] => img12.png
    [3] => img2.png
)

Sortieren mit natürlicher Reihenfolge
Array
(
    [3] => img1.png
    [2] => img2.png
    [1] => img10.png
    [0] => img12.png
)

Detailliertere Informationen finden Sie auf Martin Pools » Natural Order String Comparison Seite.

Beispiel #2 natsort() Beispiele, die potentielle Tücken demonstrieren

<?php
echo "Negative Zahlen\n";
$negative = array('-5','3','-2','0','-1000','9','1');
print_r($negative);
natsort($negative);
print_r($negative);

echo "0-Füllung\n";
$zeros = array('09', '8', '10', '009', '011', '0');
print_r($zeros);
natsort($zeros);
print_r($zeros);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Negative Zahlen
Array
(
    [0] => -5
    [1] => 3
    [2] => -2
    [3] => 0
    [4] => -1000
    [5] => 9
    [6] => 1
)
Array
(
    [2] => -2
    [0] => -5
    [4] => -1000
    [3] => 0
    [6] => 1
    [1] => 3
    [5] => 9
)

0-Füllung
Array
(
    [0] => 09
    [1] => 8
    [2] => 10
    [3] => 009
    [4] => 011
    [5] => 0
)
Array
(
    [5] => 0
    [1] => 8
    [3] => 009
    [0] => 09
    [2] => 10
    [4] => 011
)

Siehe auch

  • natcasesort() - Sortiert ein Array in "natürlicher Reihenfolge", Groß/Kleinschreibung wird ignoriert
  • Den Vergleich von Arraysortierungsfunktionen
  • strnatcmp() - String-Vergleich unter Verwendung einer "natürlichen Ordnung"
  • strnatcasecmp() - String-Vergleich "natürlicher Ordnung" ohne Unterscheidung der Schreibweise

natcasesort
next
Array Funktionen


Rückt den internen Zeiger eines Arrays vor

natsort
pos
Array Funktionen
PHP Manual

next

(PHP 4, PHP 5, PHP 7)

next — Rückt den internen Zeiger eines Arrays vor

Beschreibung

mixed next ( array &$array )

next() verhält sich ähnlich wie current(), mit einem Unterschied. Der interne Zeiger wird um ein Element vorgerückt, bevor der Wert des Elements zurückgegeben wird, d.h. es wird der Wert des nächsten Elements zurückgegeben, und der interne Zeiger um eins erhöht.

Parameter-Liste

array

Das zu beeinflussende array.

Rückgabewerte

Gibt den Wert des nächsten Elements des Arrays zurück, auf das der interne Zeiger des Arrays gerade zeigt. Sind keine Elemente mehr vorhanden, wird FALSE zurückgegeben.

Warnung

Diese Funktion kann sowohl das boolsche FALSE zurückliefern, als auch einen nicht-boolschen Wert, welcher zu FALSE ausgewertet wird. Weitere Informationen entnehmen Sie bitte dem Abschnitt über die boolschen Typen. Benutzen Sie deshalb den === Operator, um den Rückgabewert dieser Funktion zu überprüfen.

Beispiele

Beispiel #1 Beispiel für die Verwendung von next() und anderen

<?php
$transport = array('zu Fuß', 'Fahrrad', 'Auto', 'Flugzeug');
$mode = current($transport); // $mode = 'zu Fuß';
$mode = next($transport);    // $mode = 'Fahrrad';
$mode = next($transport);    // $mode = 'Auto';
$mode = prev($transport);    // $mode = 'Fahrrad';
$mode = end($transport);     // $mode = 'Flugzeug';
?>

Anmerkungen

Hinweis: Es ist nicht möglich, das Ende eines Arrays von einem boolean FALSE-Wert zu unterscheiden. Um ein Array, das FALSE-Elemente beinhalten könnte, korrekt zu durchlaufen werfen Sie bitte einen Blick auf die each()- Funktion.

Siehe auch

  • current() - Liefert das aktuelle Element eines Arrays
  • end() - Positioniert den internen Zeiger eines Arrays auf dessen letztes Element
  • prev() - Setzt den internen Zeiger eines Arrays um ein Element zurück
  • reset() - Setzt den internen Zeiger eines Arrays auf sein erstes Element
  • each() - Liefert das aktuelle Paar (Schlüssel und Wert) eines Arrays und rückt den Arrayzeiger vor

natsort
pos
Array Funktionen


Alias von current

next
prev
Array Funktionen
PHP Manual

pos

(PHP 4, PHP 5, PHP 7)

pos — Alias von current()

Beschreibung

Diese Funktion ist ein Alias für: current()

next
prev
Array Funktionen


Setzt den internen Zeiger eines Arrays um ein Element zurück

pos
range
Array Funktionen
PHP Manual

prev

(PHP 4, PHP 5, PHP 7)

prev — Setzt den internen Zeiger eines Arrays um ein Element zurück

Beschreibung

mixed prev ( array &$array )

Setzt den internen Arrayzeiger ein Element zurück.

prev() verhält sich genauso wie next(), abgesehen davon, dass es den Zeiger ein Element nach hinten bewegt, nicht nach vorne.

Parameter-Liste

array

Das Array, dessen Zeiger verschoben werden soll.

Rückgabewerte

Liefert den Wert des Elements vor der Position des Arrays, auf die der interne Zeiger gerade zeigt. Sind keine Elemente mehr vorhanden, wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Beispiel für die Verwendung von prev() und anderen

<?php
$transport = array('zu Fuß', 'Fahrrad', 'Auto', 'Flugzeug');
$mode = current($transport); // $mode = 'zu Fuß';
$mode = next($transport);    // $mode = 'Fahrrad';
$mode = next($transport);    // $mode = 'Auto';
$mode = prev($transport);    // $mode = 'Fahrrad';
$mode = end($transport);     // $mode = 'Flugzeug';
?>

Anmerkungen

Warnung

Diese Funktion kann sowohl das boolsche FALSE zurückliefern, als auch einen nicht-boolschen Wert, welcher zu FALSE ausgewertet wird. Weitere Informationen entnehmen Sie bitte dem Abschnitt über die boolschen Typen. Benutzen Sie deshalb den === Operator, um den Rückgabewert dieser Funktion zu überprüfen.

Hinweis: Es ist nicht möglich, den Anfang eines Arrays von einem boolean FALSE-Wert zu unterscheiden. Um ein Array, das FALSE-Elemente beinhalten könnte, korrekt zu durchlaufen werfen Sie bitte einen Blick auf die each()- Funktion.

Siehe auch

  • current() - Liefert das aktuelle Element eines Arrays
  • end() - Positioniert den internen Zeiger eines Arrays auf dessen letztes Element
  • next() - Rückt den internen Zeiger eines Arrays vor
  • reset() - Setzt den internen Zeiger eines Arrays auf sein erstes Element
  • each() - Liefert das aktuelle Paar (Schlüssel und Wert) eines Arrays und rückt den Arrayzeiger vor

pos
range
Array Funktionen


Erstellt ein Array mit einem Bereich von Elementen

prev
reset
Array Funktionen
PHP Manual

range

(PHP 4, PHP 5, PHP 7)

range — Erstellt ein Array mit einem Bereich von Elementen

Beschreibung

array range ( mixed $start , mixed $end [, number $step = 1 ] )

Erstellt ein Array mit einem Bereich von Elementen.

Parameter-Liste

start

Erster Wert der Sequenz.

end

Die Sequenz endet, wenn der end Wert erreicht ist.

step

Ist ein step Wert angegeben, wird er schrittweite zwischen den Elementen in der Sequenz verwendet. step sollte als positive Zahl angegeben werden. Ist step nicht angegeben, wird automatisch der Wert 1 angenommen.

Rückgabewerte

Gibt ein Array mit Elementen im Bereich von start bis einschließlich end zurück.

Beispiele

Beispiel #1 range() Beispiele

<?php
// array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
foreach(range(0, 12) as $number) {
    echo $number;
}

// Der step Parameter
// array(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100)
foreach(range(0, 100, 10) as $number) {
    echo $number;
}

// Verwendung von Zeichenfolgen
// array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i');
foreach(range('a', 'i') as $letter) {
    echo $letter;
}
// array('c','b','a');
foreach(range('c', 'a') as $letter) {
    echo $letter;
}
?>

Anmerkungen

Hinweis:

Werte mit Zeichenfolgen sind auf eine Länge von 1 limitiert. Wird eine Länge größer als 1 eingegeben, wird nur das erste Zeichen verwendet.

Siehe auch

  • shuffle() - Mischt die Elemente eines Arrays
  • array_fill() - Füllt ein Array mit Werten
  • foreach

prev
reset
Array Funktionen


Setzt den internen Zeiger eines Arrays auf sein erstes Element

range
rsort
Array Funktionen
PHP Manual

reset

(PHP 4, PHP 5, PHP 7)

reset — Setzt den internen Zeiger eines Arrays auf sein erstes Element

Beschreibung

mixed reset ( array &$array )

reset() setzt den internen Zeiger von array auf das erste Element, und gibt den Wert des ersten Arrayelements oder FALSE, wenn das Array leer ist, zurück.

Parameter-Liste

array

Das Eingabearray.

Rückgabewerte

Gibt das erste Element des Arrays zurück oder FALSE wenn das Array leer ist.

Beispiele

Beispiel #1 reset() Beispiel

<?php

$array = array('step one', 'step two', 'step three', 'step four');

// normalerweise steht der interne Zeiger auf dem ersten Element
echo current($array) . "<br />\n"; // "step one"

// Zwei Elemente überspringen
next($array);
next($array);
echo current($array) . "<br />\n"; // "step three"

// Zeiger zurücksetzen auf das erste Element
reset($array);
echo current($array) . "<br />\n"; // "step one"

?>

Siehe auch

  • current() - Liefert das aktuelle Element eines Arrays
  • each() - Liefert das aktuelle Paar (Schlüssel und Wert) eines Arrays und rückt den Arrayzeiger vor
  • end() - Positioniert den internen Zeiger eines Arrays auf dessen letztes Element
  • next() - Rückt den internen Zeiger eines Arrays vor
  • prev() - Setzt den internen Zeiger eines Arrays um ein Element zurück

range
rsort
Array Funktionen


Sortiert ein Array in umgekehrter Reihenfolge

reset
shuffle
Array Funktionen
PHP Manual

rsort

(PHP 4, PHP 5, PHP 7)

rsort — Sortiert ein Array in umgekehrter Reihenfolge

Beschreibung

bool rsort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

Diese Funktion sortiert ein Array in umgekehrter Reihenfolge (vom höchsten zum niedrigsten Wert).

Hinweis:

Wenn zwei Mitglieder als identisch verglichen werden, ist die relative Sortierung im sortierten Array nicht definiert.

Parameter-Liste

array

Das Eingabe-Array.

sort_flags

Sie können das Verhalten der Sortierung mittels dem optionalen Parameter sort_flags beeinflussen, für Details siehe sort().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 rsort()-Beispiel

<?php
$fruits = array("Orange", "Apfel", "Zitrone", "Banane");
rsort($fruits);
foreach ($fruits as $key => $val) {
    echo "$key = $val\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

0 = Zitrone
1 = Orange
2 = Banane
3 = Apfel

Die Früchte wurden in umgekehrter alphabetischer Reihenfolge sortiert.

Anmerkungen

Hinweis: Diese Funktion weist den Elementen des Arrays array neue Schlüssel zu. Bestehende Schlüssel, die Sie eventuell zugewiesen haben, werden entfernt statt einfach nur die Schlüssel neu anzuordnen

Siehe auch

  • arsort() - Sortiert ein Array in umgekehrter Reihenfolge und erhält die Index-Assoziation
  • krsort() - Sortiert ein Array nach Schlüsseln in umgekehrter Reihenfolge
  • Den Vergleich von Arraysortierungsfunktionen

reset
shuffle
Array Funktionen


Mischt die Elemente eines Arrays

rsort
sizeof
Array Funktionen
PHP Manual

shuffle

(PHP 4, PHP 5, PHP 7)

shuffle — Mischt die Elemente eines Arrays

Beschreibung

bool shuffle ( array &$array )

Diese Funktion mischt die Reihenfolge der Elemente eines Arrays zufällig (shuffle). Der verwendete Pseudo-Zufallszahlengenerator ist nicht für kryptografische Zwecke geeignet.

Hinweis:

Wenn zwei Mitglieder als identisch verglichen werden, ist die relative Sortierung im sortierten Array nicht definiert.

Parameter-Liste

array

Das zu modifizierende Array.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 shuffle() Beispiel

<?php
$numbers = range(1, 20);
shuffle($numbers);
foreach ($numbers as $number) {
    echo "$number ";
}
?>

Anmerkungen

Hinweis: Diese Funktion weist den Elementen des Arrays array neue Schlüssel zu. Bestehende Schlüssel, die Sie eventuell zugewiesen haben, werden entfernt statt einfach nur die Schlüssel neu anzuordnen

Siehe auch

  • array_rand() - Liefert einen oder mehrere zufällige Einträge eines Arrays
  • Den Vergleich von Arraysortierungsfunktionen

rsort
sizeof
Array Funktionen


Alias von count

shuffle
sort
Array Funktionen
PHP Manual

sizeof

(PHP 4, PHP 5, PHP 7)

sizeof — Alias von count()

Beschreibung

Diese Funktion ist ein Alias für: count().

shuffle
sort
Array Funktionen


Sortiert ein Array

sizeof
uasort
Array Funktionen
PHP Manual

sort

(PHP 4, PHP 5, PHP 7)

sort — Sortiert ein Array

Beschreibung

bool sort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

Diese Funktion sortiert ein Array. Die Elemente werden aufsteigend vom niedrigsten zum höchsten Wert sortiert.

Hinweis:

Wenn zwei Mitglieder als identisch verglichen werden, ist die relative Sortierung im sortierten Array nicht definiert.

Parameter-Liste

array

Das Eingabe-Array.

sort_flags

Der optionale zweite Parameter sort_flags kann mit folgenden Werten genutzt werden, um das Sortierverhalten zu ändern:

Sortiertypen-Flags:

  • SORT_REGULAR - vergleiche Einträge normal (ohne die Typen zu ändern)
  • SORT_NUMERIC - vergleiche Einträge numerisch
  • SORT_STRING - vergleiche Einträge als Strings
  • SORT_LOCALE_STRING - vergleiche Einträge als Strings, basierend auf den aktuellen Locale-Einstellungen. Es wird die System-Locale benutzt, die mittels setlocale() geändert werden kann.
  • SORT_NATURAL - vergleicht mittels eines Sortieralgorithmus für "natürlicher Reihenfolge" ähnlich zu natsort()
  • SORT_FLAG_CASE - kann kombiniert werden (bitweises OR) mit SORT_STRING oder SORT_NATURAL um Strings unabhängig von Groß- und Kleinschreibung zu sortieren

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.4.0 | Unterstützung für SORT_NATURAL und SORT_FLAG_CASE als sort_flags hinzugefügt
5.0.2 | SORT_LOCALE_STRING hinzugefügt

Beispiele

Beispiel #1 sort()-Beispiel

<?php

$fruits = array("Zitrone", "Orange", "Banane", "Apfel");
sort($fruits);
foreach ($fruits as $key => $val) {
    echo "fruits[" . $key . "] = " . $val . "\n";
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

fruits[0] = Apfel
fruits[1] = Banane
fruits[2] = Orange
fruits[3] = Zitrone

Die Früchte wurden in alphabetischer Reihenfolge sortiert.

Beispiel #2 sort()-Beispiel mit natürlicher Sortierung ohne Beachtung der Groß- und Kleinschreibung

<?php

$fruits = array(
    "Orange1", "orange2", "Orange3", "orange20"
);
sort($fruits, SORT_NATURAL | SORT_FLAG_CASE);
foreach ($fruits as $key => $val) {
    echo "fruits[" . $key . "] = " . $val . "\n";
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

fruits[0] = Orange1
fruits[1] = orange2
fruits[2] = Orange3
fruits[3] = orange20

Die Früchte wurden wie durch natcasesort() sortiert.

Anmerkungen

Hinweis: Diese Funktion weist den Elementen des Arrays array neue Schlüssel zu. Bestehende Schlüssel, die Sie eventuell zugewiesen haben, werden entfernt statt einfach nur die Schlüssel neu anzuordnen

Hinweis: Wie die meisten PHP-Sortierfunktionen benutzt sort() eine Implementierung von » Quicksort. Das Pivotelement wird aus der Mitte der Partition gewählt, was zu optimaler Laufzeit für bereits sortierte Arrays führt. Das ist jedoch ein Implementierungsdetail auf dass Sie sich nicht verlassen sollten.

Warnung

Seien Sie vorsichtig bei der Sortierung von Arrays mit unterschiedlichen Typen, weil sort() zu unvorhersehbaren Ergebnissen kommen kann.

Siehe auch

  • asort() - Sortiert ein Array und erhält die Index-Assoziation
  • Den Vergleich von Arraysortierungsfunktionen

sizeof
uasort
Array Funktionen


Sortiert ein Array mittels einer benutzerdefinierten Vergleichsfunktion und behält Indexassoziationen bei

sort
uksort
Array Funktionen
PHP Manual

uasort

(PHP 4, PHP 5, PHP 7)

uasort — Sortiert ein Array mittels einer benutzerdefinierten Vergleichsfunktion und behält Indexassoziationen bei

Beschreibung

bool uasort ( array &$array , callable $value_compare_func )

Diese Funktion sortiert ein Array so, dass die Beziehung der Indexe zu den Arrayelementen beibehalten bleibt. Dabei wird eine vom Benutzer definierte Vergleichsfunktion benutzt.

Dies wird hauptsächlich bei assoziativen Arrays angewandt, wenn die aktuelle Reihenfolge der Arrayelemente signifikant ist.

Hinweis:

Wenn zwei Mitglieder als identisch verglichen werden, ist die relative Sortierung im sortierten Array nicht definiert.

Parameter-Liste

array

Das zu sortierende Array.

value_compare_func

Siehe usort() und uksort() für Beispiele benutzerdefinierter Vergleichsfunktionen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Einfaches uasort()-Beispiel

<?php
// Vergleichsfunktion
function cmp($a, $b) {
    if ($a == $b) {
        return 0;
    }
    return ($a < $b) ? -1 : 1;
}

// Zu sortierendes Array
$array = array('a' => 4, 'b' => 8, 'c' => -1, 'd' => -9, 'e' => 2, 'f' => 5, 'g' => 3, 'h' => -4);
print_r($array);

// Sortieren und Ausgeben des Arrays
uasort($array, 'cmp');
print_r($array);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [a] => 4
    [b] => 8
    [c] => -1
    [d] => -9
    [e] => 2
    [f] => 5
    [g] => 3
    [h] => -4
)
Array
(
    [d] => -9
    [h] => -4
    [c] => -1
    [e] => 2
    [g] => 3
    [a] => 4
    [f] => 5
    [b] => 8
)

Siehe auch

  • usort() - Sortiert ein Array nach Werten mittels einer benutzerdefinierten Vergleichsfunktion
  • Den Vergleich von Arraysortierungsfunktionen

sort
uksort
Array Funktionen


Sortiert ein Array nach Schlüsseln mittels einer benutzerdefinierten Vergleichsfunktion

uasort
usort
Array Funktionen
PHP Manual

uksort

(PHP 4, PHP 5, PHP 7)

uksort — Sortiert ein Array nach Schlüsseln mittels einer benutzerdefinierten Vergleichsfunktion

Beschreibung

bool uksort ( array &$array , callable $key_compare_func )

uksort() sortiert die Schlüssel eines Arrays mittels einer benutzerdefinierten Vergleichsfunktion. Soll das Array nach nicht trivialen Kriterien sortiert werden, sollten Sie diese Funktion verwenden.

Hinweis:

Wenn zwei Mitglieder als identisch verglichen werden, ist die relative Sortierung im sortierten Array nicht definiert.

Parameter-Liste

array

Das zu sortierende Array.

key_compare_func

Die Vergleichsfunktion muss einen Integer kleiner als, gleich oder größer als Null zurückgeben, wenn das erste Argument respektive kleiner, gleich oder größer als das zweite ist.

int callback ( mixed $a, mixed $b )

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 uksort() Beispiel

<?php
function cmp($a, $b)
{
    $a = preg_replace('@^(a|an|the) @', '', $a);
    $b = preg_replace('@^(a|an|the) @', '', $b);
    return strcasecmp($a, $b);
}

$a = array("John" => 1, "the Earth" => 2, "an apple" => 3, "a banana" => 4);

uksort($a, "cmp");

foreach ($a as $key => $value) {
    echo "$key: $value\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

an apple: 3
a banana: 4
the Earth: 2
John: 1

Siehe auch

  • usort() - Sortiert ein Array nach Werten mittels einer benutzerdefinierten Vergleichsfunktion
  • Den Vergleich von Arraysortierungsfunktionen

uasort
usort
Array Funktionen


Sortiert ein Array nach Werten mittels einer benutzerdefinierten Vergleichsfunktion

uksort
Klassen/Objekte
Array Funktionen
PHP Manual

usort

(PHP 4, PHP 5, PHP 7)

usort — Sortiert ein Array nach Werten mittels einer benutzerdefinierten Vergleichsfunktion

Beschreibung

bool usort ( array &$array , callable $value_compare_func )

Diese Funktion sortiert ein Array nach seinen Werten mittels einer benutzerdefinierten Vergleichsfunktion. Soll das Array nach nicht trivialen Kriterien sortiert werden, sollten Sie diese Funktion verwenden.

Hinweis:

Wenn zwei Mitglieder als identisch verglichen werden, ist die relative Sortierung im sortierten Array nicht definiert.

Hinweis: Diese Funktion weist den Elementen des Arrays array neue Schlüssel zu. Bestehende Schlüssel, die Sie eventuell zugewiesen haben, werden entfernt statt einfach nur die Schlüssel neu anzuordnen

Parameter-Liste

array

Das zu sortierende Array.

value_compare_func

Die Vergleichsfunktion muss einen Integer kleiner als, gleich oder größer als Null zurückgeben, wenn das erste Argument respektive kleiner, gleich oder größer als das zweite ist.

int callback ( mixed $a, mixed $b )
Achtung

Werden von der Vergleichsfunktion nicht-integer Werte zurückgegeben so werden diese auf integer gecastet. Gibt die Funktion zB. float Werte zurück so werden Werte wie 0.99 oder 0.1 zu 0 und die verglichenen Werte werden als gleich angesehen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 usort()-Beispiel

<?php
function cmp($a, $b)
{
    if ($a == $b) {
        return 0;
    }
    return ($a < $b) ? -1 : 1;
}

$a = array(3, 2, 5, 6, 1);

usort($a, "cmp");

foreach ($a as $key => $value) {
    echo "$key: $value\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

0: 1
1: 2
2: 3
3: 5
4: 6

Hinweis:

Für dieses einfache Beispiel wäre die sort()-Funktion offensichtlich die bessere Wahl.

Beispiel #2 usort()-Beispiel für multidimensionale Arrays

<?php
function cmp($a, $b)
{
    return strcmp($a["frucht"], $b["frucht"]);
}

$fruechte[0]["frucht"] = "Zitronen";
$fruechte[1]["frucht"] = "Aepfel";
$fruechte[2]["frucht"] = "Orangen";

usort($fruechte, "cmp");

while (list($key, $value) = each($fruits)) {
    echo "\$fruechte[$key]: " . $value["frucht"] . "\n";
}
?>

Wenn ein mehrdimensionales Array sortiert wird, enthalten $a und $b Verweise auf den ersten Index des Arrays.

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

$fruechte[0]: Aepfel
$fruechte[1]: Orangen
$fruechte[2]: Zitronen

Beispiel #3 usort()-Beispiel, das die Methode eines Objekts benutzt

<?php
class TestObj {
    var $name;

    function TestObj($name)
    {
        $this->name = $name;
    }

    /* Dies ist die statische Vergleichsfunktion */
    static function cmp_obj($a, $b)
    {
        $al = strtolower($a->name);
        $bl = strtolower($b->name);
        if ($al == $bl) {
            return 0;
        }
        return ($al > $bl) ? +1 : -1;
    }
}

$a[] = new TestObj("c");
$a[] = new TestObj("b");
$a[] = new TestObj("d");

usort($a, array("TestObj", "cmp_obj"));

foreach ($a as $item) {
    echo $item->name . "\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

b
c
d

Beispiel #4 usort() Beispiel zum Einsatz einer Closure zum Sortieren eines mehrdimensionalen Arrays

<?php
$array[0] = array('key_a' => 'z', 'key_b' => 'c');
$array[1] = array('key_a' => 'x', 'key_b' => 'b');
$array[2] = array('key_a' => 'y', 'key_b' => 'a');

function build_sorter($key) {
    return function ($a, $b) use ($key) {
        return strnatcmp($a[$key], $b[$key]);
    };
}

usort($array, build_sorter('key_b'));

foreach ($array as $item) {
    echo $item['key_a'] . ', ' . $item['key_b'] . "\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

y, a
x, b
z, c

Siehe auch

  • uasort() - Sortiert ein Array mittels einer benutzerdefinierten Vergleichsfunktion und behält Indexassoziationen bei
  • Den Vergleich von Arraysortierungsfunktionen

uksort
Klassen/Objekte
Array Funktionen


Klassen- und Objektinformationen

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
  • Klassen- und Objekt-Funktionen
    • __autoload — Attempt to load undefined class
    • call_user_method_array — Call a user method given with an array of parameters
    • call_user_method — Ruft eine benannte Methode eines Objekts auf
    • class_alias — Creates an alias for a class
    • class_exists — Checks if the class has been defined
    • get_called_class — the "Late Static Binding" class name
    • get_class_methods — Ermittelt die Namen der definierten Methoden einer Klasse
    • get_class_vars — Liefert die Vorgabeeigenschaften einer Klasse
    • get_class — Ermittelt den Klassennamen eines Objekts
    • get_declared_classes — Ermittelt die Namen der definierten Klassen
    • get_declared_interfaces — Gibt ein Array mit allen definierten Interfaces zurück
    • get_declared_traits — Returns an array of all declared traits
    • get_object_vars — Liefert die öffentlichen Elemente eines Objekts
    • get_parent_class — Gibt den Namen der Elternklasse eines Objektes zurück
    • interface_exists — Prüft ob ein bestimmtes Interface definiert wurde
    • is_a — Checks if the object is of this class or has this class as one of its parents
    • is_subclass_of — Prüft ob ein Objekt von der angegebenen Klasse abstammt oder sie implementiert
    • method_exists — Prüft ob eine Methode innerhalb eines Objekts existiert
    • property_exists — Prüft auf die Existenz einer Eigenschaft eines Objektes bzw. einer Klasse
    • trait_exists — Checks if the trait exists
usort
Einführung
Variablen- und typbezogene Erweiterungen


Einführung

Diese Funktionen ermöglichen Ihnen den Zugriff auf Informationen über Klassen und Objektinstanzen. Sie können den Namen der Klasse ermitteln, zu der ein Objekt gehört, sowie ihre Eigenschaften und -methoden. Mit diesen Funktionen können Sie nicht nur die Klassenmitgliedschaft eines Objektes herausfinden, sondern auch ihre Abstammung (d. h. welche Klasse die des Objektes erweitert).

Im Objekte-Abschnitt des Handbuchs findet sich eine detaillierte Erklärung wie Klassen und Objekte in PHP implementiert sind und verwendet werden.

Klassen/Objekte
Installation/Konfiguration
Klassen/Objekte


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Klassen/Objekte


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
Beispiele
Klassen/Objekte


Beispiele

In diesem Beispiel definieren wir zuerst eine Basisklasse und eine Erweiterung dieser Klasse. Die Basisklasse beschreibt ein beliebiges Gemüse, ob es essbar ist oder nicht, sowie seine Farbe. Die Subklasse Spinat fügt eine Methode hinzu, um sie zu kochen und eine weitere, um herauszufinden, ob sie gekocht ist.

Beispiel #1 classes.inc

<?php

// Basisklasse mit Eigenschaften und Methoden
class Gemuese {

    var $essbar;
    var $farbe;

    function Gemuese( $essbar, $farbe="grün" )
    {
        $this->essbar = $essbar;
        $this->farbe = $farbe;
    }

    function ist_essbar()
    {
        return $this->essbar;
    }

    function welche_farbe()
    {
        return $this->farbe;
    }

} // Ende der Klasse Gemuese

// erweitert die Basisklasse
class Spinat extends Gemuese {

    var $gekocht = false;

    function Spinat()
    {
        $this->Gemuese( true, "grün" );
    }

    function koche_es()
    {
        $this->gekocht = true;
    }

    function ist_gekocht()
    {
        return $this->gekocht;
    }

} // Ende der Klasse Spinat

?>

Jetzt instantiieren wir zwei Objekte von diesen Klassen und geben Informationen über sie aus, einschließlich ihrer Abstammung. Wir definieren auch einige Hilfsfunktionen, hauptsächlich um eine hübsche Ausgabe der Variablen zu erhalten.

Beispiel #2 test_script.php

<pre>
<?php

include "classes.inc";

// utility functions

function zeige_vars($obj)
{
    $arr = get_object_vars($obj);
    foreach (get_object_vars($obj) as $prop => $val) {
        echo "\t$prop = $val\n";
    }
}

function zeige_methoden($obj)
{
    $arr = get_class_methods(get_class($obj));
    foreach ($arr as $method) {
        echo "\tfunction $method()\n";
    }
}

function klassen_abstammung($obj, $class)
{
    global $$obj;
    if (is_subclass_of($$obj, $class)) {
        echo "Objekt $obj gehört zur Klasse ".get_class($$obj);
        echo " einer Subklasse von $class\n";
    } else {
        echo "Object $obj gehört nicht zu einer Subklasse von $class\n";
    }
}

// Instantiiere zwei Objekte

$veggie = new Gemuese(true,"blau");
$leafy = new Spinat();

// Informationen über die Objekte ausgeben
echo "veggie: KLASSE ".get_class($veggie)."\n";
echo "leafy: KLASSE ".get_class($leafy);
echo ", ELTERN ".get_parent_class($leafy)."\n";

// Zeige Eigenschaften von veggie
echo "\nveggie: Eigenschaften\n";
zeige_vars($veggie);

// und Methoden von leafy
echo "\nleafy: Methoden\n";
zeige_methoden($leafy);

echo "\nAbstammung:\n";
klassen_abstammung("leafy", "Spinat");
klassen_abstammung("leafy", "Gemuese");
?>
</pre>

Wichtig ist in diesem Beispiel, dass das Objekt $leafy eine Instanz der Klasse Spinat ist, die eine Subklasse von Gemuese ist. Darum gibt der letzte Teil des obigen Skripts folgendes aus:

       [...]
Abstammung:
Objekt leafy gehört nicht zu einer Subklasse von Spinat
Objekt leafy gehört zur Klasse spinat einer Subklasse von Gemuese

Vordefinierte Konstanten
Klassen- und Objekt-Funktionen
Klassen/Objekte


Klassen- und Objekt-Funktionen

Inhaltsverzeichnis

  • __autoload — Attempt to load undefined class
  • call_user_method_array — Call a user method given with an array of parameters
  • call_user_method — Ruft eine benannte Methode eines Objekts auf
  • class_alias — Creates an alias for a class
  • class_exists — Checks if the class has been defined
  • get_called_class — the "Late Static Binding" class name
  • get_class_methods — Ermittelt die Namen der definierten Methoden einer Klasse
  • get_class_vars — Liefert die Vorgabeeigenschaften einer Klasse
  • get_class — Ermittelt den Klassennamen eines Objekts
  • get_declared_classes — Ermittelt die Namen der definierten Klassen
  • get_declared_interfaces — Gibt ein Array mit allen definierten Interfaces zurück
  • get_declared_traits — Returns an array of all declared traits
  • get_object_vars — Liefert die öffentlichen Elemente eines Objekts
  • get_parent_class — Gibt den Namen der Elternklasse eines Objektes zurück
  • interface_exists — Prüft ob ein bestimmtes Interface definiert wurde
  • is_a — Checks if the object is of this class or has this class as one of its parents
  • is_subclass_of — Prüft ob ein Objekt von der angegebenen Klasse abstammt oder sie implementiert
  • method_exists — Prüft ob eine Methode innerhalb eines Objekts existiert
  • property_exists — Prüft auf die Existenz einer Eigenschaft eines Objektes bzw. einer Klasse
  • trait_exists — Checks if the trait exists
Beispiele
__autoload
Klassen/Objekte


Attempt to load undefined class

Klassen- und Objekt-Funktionen
call_user_method_array
Klassen- und Objekt-Funktionen
PHP Manual

__autoload

(PHP 5, PHP 7)

__autoload — Attempt to load undefined class

Beschreibung

void __autoload ( string $class )

You can define this function to enable classes autoloading.

Parameter-Liste

class

Name of the class to load

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • spl_autoload_register() - Register given function as __autoload() implementation

Klassen- und Objekt-Funktionen
call_user_method_array
Klassen- und Objekt-Funktionen


Call a user method given with an array of parameters

__autoload
call_user_method
Klassen- und Objekt-Funktionen
PHP Manual

call_user_method_array

(PHP 4 >= 4.0.5, PHP 5)

call_user_method_array — Call a user method given with an array of parameters

Warnung

This function was DEPRECATED in PHP 4.1.0, and REMOVED in PHP 7.0.0.

Alternatives to this function include:

  • call_user_func_array()

Beschreibung

mixed call_user_method_array ( string $method_name , object &$obj , array $params )

Parameter-Liste

method_name

The method name being called.

obj

The object that method_name is being called on.

params

An array of parameters.

Beispiele

Beispiel #1 call_user_method_array() alternative

<?php
call_user_func_array(array($obj, $method_name), $params);
?>

Siehe auch

  • call_user_func_array() - Call a callback with an array of parameters
  • call_user_func() - Aufruf der Callback-Funktion die als erster Parameter übergeben wurde

__autoload
call_user_method
Klassen- und Objekt-Funktionen


Ruft eine benannte Methode eines Objekts auf

call_user_method_array
class_alias
Klassen- und Objekt-Funktionen
PHP Manual

call_user_method

(PHP 4, PHP 5)

call_user_method — Ruft eine benannte Methode eines Objekts auf

Warnung

This function was DEPRECATED in PHP 4.1.0, and REMOVED in PHP 7.0.0.

Alternatives to this function include:

  • call_user_func()

Beschreibung

mixed call_user_method ( string $method_name , object &$obj [, mixed $parameter [, mixed $... ]] )
Warnung

Diese Funktion ist seit PHP 4.1.0 DEPRECATED (veraltet) und seit PHP 7.0.0 ENTFERNT.

Parameter-Liste

method_name

Der Name der aufgerufenen Methode.

obj

Das object dessen method_name aufgerufen wird.

parameter ...

Die optionalen Parameter.

Beispiele

Beispiel #1 call_user_function() Alternative

<?php
call_user_func(array($obj, $method_name), $parameter /* , ...*/);
call_user_func(array(&$obj, $method_name), $parameter /* , ...*/); // PHP4
?>

Siehe auch

  • call_user_func_array() - Call a callback with an array of parameters
  • call_user_func() - Aufruf der Callback-Funktion die als erster Parameter übergeben wurde

call_user_method_array
class_alias
Klassen- und Objekt-Funktionen


Creates an alias for a class

call_user_method
class_exists
Klassen- und Objekt-Funktionen
PHP Manual

class_alias

(PHP 5 >= 5.3.0, PHP 7)

class_alias — Creates an alias for a class

Beschreibung

bool class_alias ( string $original , string $alias [, bool $autoload = TRUE ] )

Creates an alias named alias based on the user defined class original. The aliased class is exactly the same as the original class.

Parameter-Liste

original

The original class.

alias

The alias name for the class.

autoload

Whether to autoload if the original class is not found.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 class_alias() example

<?php

class foo { }

class_alias('foo', 'bar');

$a = new foo;
$b = new bar;

// the objects are the same
var_dump($a == $b, $a === $b);
var_dump($a instanceof $b);

// the classes are the same
var_dump($a instanceof foo);
var_dump($a instanceof bar);

var_dump($b instanceof foo);
var_dump($b instanceof bar);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(false)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)

Siehe auch

  • get_parent_class() - Gibt den Namen der Elternklasse eines Objektes zurück
  • is_subclass_of() - Prüft ob ein Objekt von der angegebenen Klasse abstammt oder sie implementiert

call_user_method
class_exists
Klassen- und Objekt-Funktionen


Checks if the class has been defined

class_alias
get_called_class
Klassen- und Objekt-Funktionen
PHP Manual

class_exists

(PHP 4, PHP 5, PHP 7)

class_exists — Checks if the class has been defined

Beschreibung

bool class_exists ( string $class_name [, bool $autoload = true ] )

Diese Funktion prüft ob eine bestimmte Klasse definiert wurde.

Parameter-Liste

class_name

Der Klassenname. Groß- und Kleinschreibung wird beim Vergleich nicht beachtet.

autoload

Gibt an ob __autoload genutzt werden soll.

Rückgabewerte

Gibt TRUE zurück falls die Klasse class_name definiert ist, sonst FALSE.

Changelog

Version | Beschreibung
5.0.2 | Die Funktion liefert nun nicht mehr TRUE für Interfaces. Nutzen Sie hierfür interface_exists().

Beispiele

Beispiel #1 class_exists() Beispiel

<?php
// prüft vor Benutzung ob die gewünschte Klasse definiert ist
if (class_exists('MyClass')) {
    $myclass = new MyClass();
}

?>

Beispiel #2 autoload Parameter Beispiel

<?php
function __autoload($class)
{
    include($class . '.php');

    // Prüft ob die includierte Datei die Klasse tatsächlich definiert
    if (!class_exists($class, false)) {
        trigger_error("Die Klasse $class kann nicht geladen werden", E_USER_WARNING);
    }
}

if (class_exists('MyClass')) {
    $myclass = new MyClass();
}

?>

Siehe auch

  • function_exists() - Falls die angegebene Funktion definiert ist, wird TRUE zurück gegeben
  • interface_exists() - Prüft ob ein bestimmtes Interface definiert wurde
  • get_declared_classes() - Ermittelt die Namen der definierten Klassen

class_alias
get_called_class
Klassen- und Objekt-Funktionen


the "Late Static Binding" class name

class_exists
get_class_methods
Klassen- und Objekt-Funktionen
PHP Manual

get_called_class

(PHP 5 >= 5.3.0, PHP 7)

get_called_class — the "Late Static Binding" class name

Beschreibung

string get_called_class ( void )

Gets the name of the class the static method is called in.

Rückgabewerte

Returns the class name. Returns FALSE if called from outside a class.

Beispiele

Beispiel #1 Using get_called_class()

<?php

class foo {
    static public function test() {
        var_dump(get_called_class());
    }
}

class bar extends foo {
}

foo::test();
bar::test();

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(3) "foo"
string(3) "bar"

Siehe auch

  • get_parent_class() - Gibt den Namen der Elternklasse eines Objektes zurück
  • get_class() - Ermittelt den Klassennamen eines Objekts
  • is_subclass_of() - Prüft ob ein Objekt von der angegebenen Klasse abstammt oder sie implementiert

class_exists
get_class_methods
Klassen- und Objekt-Funktionen


Ermittelt die Namen der definierten Methoden einer Klasse

get_called_class
get_class_vars
Klassen- und Objekt-Funktionen
PHP Manual

get_class_methods

(PHP 4, PHP 5, PHP 7)

get_class_methods — Ermittelt die Namen der definierten Methoden einer Klasse

Beschreibung

array get_class_methods ( mixed $class_name )

Ermittelt die Namen der definierten Methoden einer Klasse.

Parameter-Liste

class_name

Ein Klassenname oder eine Objektinstanz.

Rückgabewerte

Liefert ein Array mit den Namen der in der Klasse class_name definierten Methoden oder NULL bei Fehlern.

Beispiele

Beispiel #1 get_class_methods() Beispiel

<?php

class myclass {
    // constructor
    function myclass()
    {
        return(true);
    }

    // method 1
    function myfunc1()
    {
        return(true);
    }

    // method 2
    function myfunc2()
    {
        return(true);
    }
}

$class_methods = get_class_methods('myclass');
// or
$class_methods = get_class_methods(new myclass());

foreach ($class_methods as $method_name) {
    echo "$method_name\n";
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

myclass
myfunc1
myfunc2

Siehe auch

  • get_class() - Ermittelt den Klassennamen eines Objekts
  • get_class_vars() - Liefert die Vorgabeeigenschaften einer Klasse
  • get_object_vars() - Liefert die öffentlichen Elemente eines Objekts

get_called_class
get_class_vars
Klassen- und Objekt-Funktionen


Liefert die Vorgabeeigenschaften einer Klasse

get_class_methods
get_class
Klassen- und Objekt-Funktionen
PHP Manual

get_class_vars

(PHP 4, PHP 5, PHP 7)

get_class_vars — Liefert die Vorgabeeigenschaften einer Klasse

Beschreibung

array get_class_vars ( string $class_name )

Liefert die Vorgabeeigenschaften der angegebenen Klasse.

Parameter-Liste

class_name

Der Klassenname

Rückgabewerte

Liefert ein assoziatives Array von deklarierten Eigenschaften, die im aktuellen Geltungsbereich sichtbar sind, mit ihren Vorgabewerten. Die Arrayeinträge haben dabei die Form varname => value. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.0.3 | get_class_vars() gibt nur diejenigen Eigenschaften zurück, auf die aus dem aktuellen Geltungsbereich zugegriffen werden kann.
5.0.2 | Der Aufruf von get_class_vars() zeigt nun alle Eigenschaften als ein Array, im Gegensatz zu früherem Verhalten, wo geschützten und privaten Eigenschaften Null-Bytes vorangestellt waren.
5.0.1 | Der Aufruf von get_class_vars() liefert nun alle Eigenschaften, so wie wenn ein Objekt zu einem Array konvertiert wird.

Beispiele

Beispiel #1 get_class_vars() Beispiel

<?php

class myclass {

    var $var1; // kein Defaultwert
    var $var2 = "xyz";
    var $var3 = 100;
    private $var4;

    // Konstruktor
    function myclass() {
        // Änderung einiger Werte
        $this->var1 = "foo";
        $this->var2 = "bar";
        return true;
    }

}

$my_class = new myclass();

$class_vars = get_class_vars(get_class($my_class));

foreach ($class_vars as $name => $value) {
    echo "$name : $value\n";
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

var1 :
var2 : xyz
var3 : 100

Beispiel #2 get_class_vars() und geltungsbereichsabhängiges Verhalten

<?php
function format($array)
{
    return implode('|', array_keys($array)) . "\r\n";
}

class TestCase
{
    public $a    = 1;
    protected $b = 2;
    private $c   = 3;

    public static function expose()
    {
        echo format(get_class_vars(__CLASS__));
    }
}

TestCase::expose();
echo format(get_class_vars('TestCase'));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

// 5.0.0
a| * b| TestCase c
a| * b| TestCase c

// 5.0.1 - 5.0.2
a|b|c
a|b|c

// 5.0.3 +
a|b|c
a

Siehe auch

  • get_class_methods() - Ermittelt die Namen der definierten Methoden einer Klasse
  • get_object_vars() - Liefert die öffentlichen Elemente eines Objekts

get_class_methods
get_class
Klassen- und Objekt-Funktionen


Ermittelt den Klassennamen eines Objekts

get_class_vars
get_declared_classes
Klassen- und Objekt-Funktionen
PHP Manual

get_class

(PHP 4, PHP 5, PHP 7)

get_class — Ermittelt den Klassennamen eines Objekts

Beschreibung

string get_class ([ object $object = NULL ] )

Ermittelt den Klassennamen für das übergebene object.

Parameter-Liste

object

Das gewünschte Objekt. Dieser Parameter kann innerhalb einer Klasse ausgelassen werden.

Rückgabewerte

Liefert den Namen der Klasse deren Instanz object ist. Ist object kein Objekt, so wird FALSE zurückgegeben.

Wenn object innerhalb einer Klasse ausgelassen wird, wird der Name dieser Klasse zurück gegeben.

Fehler/Exceptions

Wenn get_class() mit etwas anderem als einem Objekt aufgerufen wird, wird ein Fehler der Stufe E_WARNING erzeugt.

Changelog

Version | Beschreibung
5.3.0 | NULL wurde der Standardwert von object, so dass nun die Übergabe von NULL an object das gleiche Ergebnis hat, wie keinen Wert zu übergeben.

Beispiele

Beispiel #1 get_class()-Beispiel

<?php

class foo {
    function name()
    {
        echo "Mein Name ist " , get_class($this) , "\n";
    }
}

// create an object
$bar = new foo();

// external call
echo "Der Name ist " , get_class($bar) , "\n";

// internal call
$bar->name();

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Der Name ist foo
Mein Name ist foo

Beispiel #2 Einsatz von get_class() in einer Elternklasse

<?php

abstract class bar {
    public function __construct()
    {
        var_dump(get_class($this));
        var_dump(get_class());
    }
}

class foo extends bar {
}

new foo;

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(3) "foo"
string(3) "bar"

Siehe auch

  • get_called_class() - the "Late Static Binding" class name
  • get_parent_class() - Gibt den Namen der Elternklasse eines Objektes zurück
  • gettype() - Liefert den Datentyp einer Variablen
  • is_subclass_of() - Prüft ob ein Objekt von der angegebenen Klasse abstammt oder sie implementiert

get_class_vars
get_declared_classes
Klassen- und Objekt-Funktionen


Ermittelt die Namen der definierten Klassen

get_class
get_declared_interfaces
Klassen- und Objekt-Funktionen
PHP Manual

get_declared_classes

(PHP 4, PHP 5, PHP 7)

get_declared_classes — Ermittelt die Namen der definierten Klassen

Beschreibung

array get_declared_classes ( void )

Ermittelt die Namen der definierten Klassen

Rückgabewerte

Liefert ein Array mit den Namen der zur Zeit definierten Klassen.

Hinweis:

Bitte beachten Sie, dass je nachdem, welche Extensions in Ihrer PHP-Installation einkompiliert oder geladen sind, weitere Klassen vordefiniert sein können. Dies bedeutet, dass Sie keine eigenen Klassen mit dem gleichen Namen anlegen können. Eine Liste der möglicherweise vordefinierten Klassen finden Sie im Anhang Predefined Classes

Beispiele

Beispiel #1 get_declared_classes()-Beispiel

<?php
print_r(get_declared_classes());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [0] => stdClass
    [1] => __PHP_Incomplete_Class
    [2] => Directory
)

Siehe auch

  • class_exists() - Checks if the class has been defined
  • get_declared_interfaces() - Gibt ein Array mit allen definierten Interfaces zurück
  • get_declared_functions()

get_class
get_declared_interfaces
Klassen- und Objekt-Funktionen


Gibt ein Array mit allen definierten Interfaces zurück

get_declared_classes
get_declared_traits
Klassen- und Objekt-Funktionen
PHP Manual

get_declared_interfaces

(PHP 5, PHP 7)

get_declared_interfaces — Gibt ein Array mit allen definierten Interfaces zurück

Beschreibung

array get_declared_interfaces ( void )

Liefert die definierten Interfaces.

Rückgabewerte

Gibt ein Array der Namen aller definierten Interfaces des aktuellen Scripts zurück.

Beispiele

Beispiel #1 get_declared_interfaces() Beispiel

<?php
print_r(get_declared_interfaces());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [0] => Traversable
    [1] => IteratorAggregate
    [2] => Iterator
    [3] => ArrayAccess
    [4] => reflector
    [5] => RecursiveIterator
    [6] => SeekableIterator
)

Siehe auch

  • interface_exists() - Prüft ob ein bestimmtes Interface definiert wurde
  • get_declared_classes() - Ermittelt die Namen der definierten Klassen
  • class_implements() - Return the interfaces which are implemented by the given class or interface

get_declared_classes
get_declared_traits
Klassen- und Objekt-Funktionen


Returns an array of all declared traits

get_declared_interfaces
get_object_vars
Klassen- und Objekt-Funktionen
PHP Manual

get_declared_traits

(PHP 5 >= 5.4.0, PHP 7)

get_declared_traits — Returns an array of all declared traits

Beschreibung

array get_declared_traits ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array with names of all declared traits in values. Returns NULL in case of a failure.

Siehe auch

  • class_uses() - Return the traits used by the given class

get_declared_interfaces
get_object_vars
Klassen- und Objekt-Funktionen


Liefert die öffentlichen Elemente eines Objekts

get_declared_traits
get_parent_class
Klassen- und Objekt-Funktionen
PHP Manual

get_object_vars

(PHP 4, PHP 5, PHP 7)

get_object_vars — Liefert die öffentlichen Elemente eines Objekts

Beschreibung

array get_object_vars ( object $object )

Liefert die öffentlich zugreifbaren nichtstatischen Properties des gegebenen Objekts object entsprechend der Sichtbarkeitsregeln.

Parameter-Liste

object

Eine Objektinstanz.

Rückgabewerte

Gibt ein assoziatives Array der definierten nicht-statischen Elemente des mit object spezifizierten Objekts zurück, auf die im aktuellen Sichtbarkeitsbereich zugegriffen werden kann. Wenn einem Element kein Wert zugewiesen wurde, wird es mit einem NULL-Wert zurückgegeben.

Changelog

Version | Beschreibung
5.3.0 | Diese Funktion gibt nun NULL zurück, wenn object kein Objekt ist. Zuvor wurde FALSE zurück gegeben.

Beispiele

Beispiel #1 Nutzung der get_object_vars()-Funktion

<?php

class foo {
    private $a;
    public $b = 1;
    public $c;
    private $d;
    static $e;

    public function test() {
      var_dump(get_object_vars($this));
    }
}

$test = new foo;
var_dump(get_object_vars($test));

$test->test();

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  ["b"]=>
  int(1)
  ["c"]=>
  NULL
}
array(4) {
  ["a"]=>
  NULL
  ["b"]=>
  int(1)
  ["c"]=>
  NULL
  ["d"]=>
  NULL
}

Siehe auch

  • get_class_methods() - Ermittelt die Namen der definierten Methoden einer Klasse
  • get_class_vars() - Liefert die Vorgabeeigenschaften einer Klasse

get_declared_traits
get_parent_class
Klassen- und Objekt-Funktionen


Gibt den Namen der Elternklasse eines Objektes zurück

get_object_vars
interface_exists
Klassen- und Objekt-Funktionen
PHP Manual

get_parent_class

(PHP 4, PHP 5, PHP 7)

get_parent_class — Gibt den Namen der Elternklasse eines Objektes zurück

Beschreibung

string get_parent_class ([ mixed $object ] )

Gibt den Namen der Elternklasse eines Objekts oder einer Klasse zurück.

Parameter-Liste

object

Das untersuchte Objekt oder der untersuchte Klassenname. Der Parameter ist optional, falls die Funktion von einer Methode des Objekts aufgerufen wird.

Rückgabewerte

Gibt den Namen der Elternklasse der Klasse zurück, von der object eine Instanz oder der Name ist.

Hinweis:

Falls das Objekt keine Elternklasse hat oder die angegebene Klasse nicht existiert, wird FALSE zurückgegeben.

Falls die Funktion außerhalb eines Objekts ohne Parameter aufgerufen wird, gibt sie FALSE zurück.

Changelog

Version | Beschreibung
5.1.0 | Falls die Funktion außerhalb eines Objekts ohne Parameter aufgerufen wurde, gab sie NULL und eine Warnung zurück. Jetzt gibt sie FALSE zurück.

Beispiele

Beispiel #1 Die Verwendung von get_parent_class()

<?php

class vater {
  function vater()
  {
  // implementiert etwas Logik
  }
}

class kind extends vater {
  function kind()
  {
    echo "Ich bin das Kind von " , get_parent_class($this) , "\n";
  }
}

class kind2 extends vater {
  function kind2()
  {
    echo "Ich bin ebenfalls das Kind von " , get_parent_class('kind2') , "\n";
  }
}

$foo = new kind();
$bar = new kind2();

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Ich bin das Kind von vater
Ich bin ebenfalls das Kind von vater

Siehe auch

  • get_class() - Ermittelt den Klassennamen eines Objekts
  • is_subclass_of() - Prüft ob ein Objekt von der angegebenen Klasse abstammt oder sie implementiert

get_object_vars
interface_exists
Klassen- und Objekt-Funktionen


Prüft ob ein bestimmtes Interface definiert wurde

get_parent_class
is_a
Klassen- und Objekt-Funktionen
PHP Manual

interface_exists

(PHP 5 >= 5.0.2, PHP 7)

interface_exists — Prüft ob ein bestimmtes Interface definiert wurde

Beschreibung

bool interface_exists ( string $interface_name [, bool $autoload = true ] )

Prüft ob das übergebene Interface definiert wurde.

Parameter-Liste

interface_name

Name des Interface

autoload

Bestimmt ob __autoload automatisch ausgeführt werden soll.

Rückgabewerte

Gibt TRUE zurück wenn das durch interface_name bezeichnete Interface definiert ist, sonst FALSE.

Beispiele

Beispiel #1 interface_exists() Beispiel

<?php
// Prüft ob ein Interface existiert bevor es benutzt wird
if (interface_exists('MyInterface')) {
    class MyClass implements MyInterface
    {
        // Methoden
    }
}

?>

Siehe auch

  • get_declared_interfaces() - Gibt ein Array mit allen definierten Interfaces zurück
  • class_implements() - Return the interfaces which are implemented by the given class or interface
  • class_exists() - Checks if the class has been defined

get_parent_class
is_a
Klassen- und Objekt-Funktionen


Checks if the object is of this class or has this class as one of its parents

interface_exists
is_subclass_of
Klassen- und Objekt-Funktionen
PHP Manual

is_a

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

is_a — Checks if the object is of this class or has this class as one of its parents

Beschreibung

bool is_a ( object $object , string $class_name [, bool $allow_string = FALSE ] )

Checks if the given object is of this class or has this class as one of its parents.

Parameter-Liste

object

The tested object

class_name

The class name

allow_string

If this parameter set to FALSE, string class name as object is not allowed. This also prevents from calling autoloader if the class doesn't exist.

Rückgabewerte

Returns TRUE if the object is of this class or has this class as one of its parents, FALSE otherwise.

Changelog

Version | Beschreibung
5.3.9 | Added allow_string parameter
5.3.0 | This function is no longer deprecated, and will therefore no longer throw E_STRICT warnings.
5.0.0 | This function became deprecated in favour of the instanceof operator. Calling this function will result in an E_STRICT warning.

Beispiele

Beispiel #1 is_a() example

<?php
// define a class
class WidgetFactory
{
  var $oink = 'moo';
}

// create a new object
$WF = new WidgetFactory();

if (is_a($WF, 'WidgetFactory')) {
  echo "yes, \$WF is still a WidgetFactory\n";
}
?>

Beispiel #2 Using the instanceof operator in PHP 5

<?php
if ($WF instanceof WidgetFactory) {
    echo 'Yes, $WF is a WidgetFactory';
}
?>

Siehe auch

  • get_class() - Ermittelt den Klassennamen eines Objekts
  • get_parent_class() - Gibt den Namen der Elternklasse eines Objektes zurück
  • is_subclass_of() - Prüft ob ein Objekt von der angegebenen Klasse abstammt oder sie implementiert

interface_exists
is_subclass_of
Klassen- und Objekt-Funktionen


Prüft ob ein Objekt von der angegebenen Klasse abstammt oder sie implementiert

is_a
method_exists
Klassen- und Objekt-Funktionen
PHP Manual

is_subclass_of

(PHP 4, PHP 5, PHP 7)

is_subclass_of — Prüft ob ein Objekt von der angegebenen Klasse abstammt oder sie implementiert

Beschreibung

bool is_subclass_of ( mixed $object , string $class_name [, bool $allow_string = TRUE ] )

Diese Funktion prüft ob das Objekt objekt von der Klasse class_name abstammt oder sie implementiert.

Parameter-Liste

object

Ein Klassenname oder eine Objektinstanz. Es wird kein Fehler generiert, wenn die Klasse nicht existiert.

class_name

Ein Klassenname

allow_string

Wenn dieser Parameter false ist, ist ein Zeichenketten-Klassenname als object nicht erlaubt. Dies verhindert ebenso den Aufruf vom Autoloader, wenn die Klasse nicht existiert.

Rückgabewerte

Die Funktion liefert TRUE wenn die Klasse des Objekts object eine Unterklasse von class_name ist, sonst FALSE.

Changelog

Version | Beschreibung
5.3.9 | allow_string Parameter hinzugefügt
5.3.7 | class_name kann nun auch der Name eines Interfaces sein
5.0.3 | Als object kann nun auch ein Klassenname anstelle einer Objektinstanz übergeben werden.

Beispiele

Beispiel #1 is_subclass_of() Beispiel

<?php
// Definition einer Klasse
class WidgetFactory
{
  var $oink = 'moo';
}

// Definition einer Kindklasse
class WidgetFactory_Child extends WidgetFactory
{
  var $oink = 'oink';
}

// Erzeugung von Objekten
$WF = new WidgetFactory();
$WFC = new WidgetFactory_Child();

if (is_subclass_of($WFC, 'WidgetFactory')) {
  echo "Ja, \$WFC ist eine Unterklasse von WidgetFactory\n";
} else {
  echo "Nein, \$WFC ist keine Unterklasse von WidgetFactory\n";
}

if (is_subclass_of($WF, 'WidgetFactory')) {
  echo "Ja, \$WF ist eine Unterklasse von WidgetFactory\n";
} else {
  echo "Nein, \$WF ist keine Unterklasse von WidgetFactory\n";
}

// ab PHP 5.0.3 funktioniert auch
if (is_subclass_of('WidgetFactory_Child', 'WidgetFactory')) {
  echo "Ja, WidgetFactory_Child ist eine Unterklasse von WidgetFactory\n";
} else {
  echo "Nein, WidgetFactory_Child ist keine Unterklasse von WidgetFactory\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Ja, $WFC ist eine Unterklasse von WidgetFactory
Nein, $WF ist keine Unterklasse von WidgetFactory
Ja, WidgetFactory_Child ist eine Unterklasse von WidgetFactory

Beispiel #2 Verwendung von is_subclass_of() mit einem Interface

<?php
// Definition des Interface
interface MyInterface
{
  public function MyFunction();
}

// Definition der Klassenimplementierung des Interface
class MyClass implements MyInterface
{
  public function MyFunction()
  {
    return "MyClass implementiert MyInterface!";
  }
}

// Objekt-Erzeugung
$my_object = new MyClass;

// Funktioniert seit 5.3.7

// Prüfung unter Verwendung des Objektexemplars der Klasse
if (is_subclass_of($my_object, 'MyInterface')) {
  echo "Ja, \$my_object ist eine Unterklasse von MyInterface\n";
} else {
  echo "Nein, \$my_object ist keine Unterklasse von MyInterface\n";
}

// Prüfung unter Verwendung des Klassennamens als Zeichenkette
if (is_subclass_of('MyClass', 'MyInterface')) {
  echo "Ja, MyClass ist eine Unterklasse von MyInterface\n";
} else {
  echo "Nein, MyClass ist keine Unterklasse von MyInterface\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Ja, $my_object ist eine Unterklasse von MyInterface
Ja, MyClass ist eine Unterklasse von MyInterface

Anmerkungen

Hinweis:

Die Verwendung dieser Funktion wird jegliche registrierte Autoloader verwenden, falls die Klasse nicht bereits bekannt ist.

Siehe auch

  • get_class() - Ermittelt den Klassennamen eines Objekts
  • get_parent_class() - Gibt den Namen der Elternklasse eines Objektes zurück
  • is_a() - Checks if the object is of this class or has this class as one of its parents
  • class_parents() - Return the parent classes of the given class

is_a
method_exists
Klassen- und Objekt-Funktionen


Prüft ob eine Methode innerhalb eines Objekts existiert

is_subclass_of
property_exists
Klassen- und Objekt-Funktionen
PHP Manual

method_exists

(PHP 4, PHP 5, PHP 7)

method_exists — Prüft ob eine Methode innerhalb eines Objekts existiert

Beschreibung

bool method_exists ( mixed $object , string $method_name )

Prüft ob eine Methode mit Namen method_name im Objekt objekt definiert ist.

Parameter-Liste

object

Eine Objektinstanz oder ein Klassenname

method_name

Der gewünschte Methodenname

Rückgabewerte

Liefert TRUE wenn die Methode method_name im Objekt objekt definiert ist, sonst FALSE.

Anmerkungen

Hinweis:

Die Verwendung dieser Funktion wird jegliche registrierte Autoloader verwenden, falls die Klasse nicht bereits bekannt ist.

Beispiele

Beispiel #1 method_exists() Beispiel

<?php
$directory = new Directory('.');
var_dump(method_exists($directory,'read'));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)

Beispiel #2 Statisches method_exists() Beispiel

<?php
var_dump(method_exists('Directory','read'));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)

Siehe auch

  • function_exists() - Falls die angegebene Funktion definiert ist, wird TRUE zurück gegeben
  • is_callable() - Prüft ob der Inhalt einer Variable als Funktion aufgerufen werden kann
  • class_exists() - Checks if the class has been defined

is_subclass_of
property_exists
Klassen- und Objekt-Funktionen


Prüft auf die Existenz einer Eigenschaft eines Objektes bzw. einer Klasse

method_exists
trait_exists
Klassen- und Objekt-Funktionen
PHP Manual

property_exists

(PHP 5 >= 5.1.0, PHP 7)

property_exists — Prüft auf die Existenz einer Eigenschaft eines Objektes bzw. einer Klasse

Beschreibung

bool property_exists ( mixed $class , string $property )

Prüft ob die Eigenschaft property in der angegebenen Klasse existiert.

Hinweis:

Anders als isset() gibt property_exists() auch dann TRUE zurück wenn eine Eigenschaft den Wert NULL hat.

Parameter-Liste

class

Objektinstanz oder Name einer Klasse.

property

Name der zu prüfenden Eigenschaft.

Rückgabewerte

Gibt TRUE zurück wenn die Eigenschaft existiert, FALSE wenn nicht, und NULL im Fehlerfall.

Anmerkungen

Hinweis:

Die Verwendung dieser Funktion wird jegliche registrierte Autoloader verwenden, falls die Klasse nicht bereits bekannt ist.

Hinweis:

Die property_exists() Funktion kann keine Eigenschaften erkennen die über die 'magische' Methode __get implementiert sind.

Changelog

Version | Beschreibung
5.3.0 | Die Funktion prüft auf die Existenz der Eigenschaft unabhängig von den Zugriffsberechtigungen.

Beispiele

Beispiel #1 Ein property_exists() Beispiel

<?php

class myClass {
    public $mine;
    private $xpto;
    static protected $test;

    static function test() {
        var_dump(property_exists('myClass', 'xpto')); //true
    }
}

var_dump(property_exists('myClass', 'mine'));   //true
var_dump(property_exists(new myClass, 'mine')); //true
var_dump(property_exists('myClass', 'xpto'));   //true  ab PHP 5.3.0
var_dump(property_exists('myClass', 'bar'));    //false
var_dump(property_exists('myClass', 'test'));   //true ab PHP 5.3.0
myClass::test();

?>

Siehe auch

  • method_exists() - Prüft ob eine Methode innerhalb eines Objekts existiert

method_exists
trait_exists
Klassen- und Objekt-Funktionen


Checks if the trait exists

property_exists
Classkit
Klassen- und Objekt-Funktionen
PHP Manual

trait_exists

(PHP 5 >= 5.4.0, PHP 7)

trait_exists — Checks if the trait exists

Beschreibung

bool trait_exists ( string $traitname [, bool $autoload ] )

Parameter-Liste

traitname

Name of the trait to check

autoload

Whether to autoload if not already loaded.

Rückgabewerte

Returns TRUE if trait exists, FALSE if not, NULL in case of an error.

property_exists
Classkit
Klassen- und Objekt-Funktionen


Classkit

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Classkit Funktionen
    • classkit_import — Import new class method definitions from a file
    • classkit_method_add — Dynamically adds a new method to a given class
    • classkit_method_copy — Copies a method from class to another
    • classkit_method_redefine — Dynamically changes the code of the given method
    • classkit_method_remove — Dynamically removes the given method
    • classkit_method_rename — Dynamically changes the name of the given method
trait_exists
Einführung
Variablen- und typbezogene Erweiterungen


Einführung

These functions allow the dynamic manipulation of PHP classes, at runtime.

Hinweis:

This extension has been replaced by runkit, which is not limited to class manipulation but has function manipulation, as well.

Classkit
Installation/Konfiguration
Classkit


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Classkit


Installation

Diese Erweiterung wird als nicht mehr gepflegt betrachtet und es gibt dort keine Aktivität mehr. Der Quellcode für diese Erweiterung steht jedoch weiterhin innerhalb des PECL SVN hier zur Verfügung: » http://svn.php.net/viewvc/pecl/classkit.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

CLASSKIT_ACC_PRIVATE (int)
Marks the method private
CLASSKIT_ACC_PROTECTED (int)
Marks the method protected
CLASSKIT_ACC_PUBLIC (int)
Marks the method public

Ressource-Typen
Classkit Funktionen
Classkit


Classkit Funktionen

Inhaltsverzeichnis

  • classkit_import — Import new class method definitions from a file
  • classkit_method_add — Dynamically adds a new method to a given class
  • classkit_method_copy — Copies a method from class to another
  • classkit_method_redefine — Dynamically changes the code of the given method
  • classkit_method_remove — Dynamically removes the given method
  • classkit_method_rename — Dynamically changes the name of the given method
Vordefinierte Konstanten
classkit_import
Classkit


Import new class method definitions from a file

Classkit Funktionen
classkit_method_add
Classkit Funktionen
PHP Manual

classkit_import

(PECL classkit >= 0.3)

classkit_import — Import new class method definitions from a file

Beschreibung

array classkit_import ( string $filename )

Hinweis: Diese Funktion kann nicht genutzt werden, um die aktuell ausgeführte (oder verkette) Methode zu manipulieren.

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Parameter-Liste

filename

The filename of the class method definitions to import

Rückgabewerte

Associative array of imported methods

Beispiele

Beispiel #1 classkit_import() example

<?php
// file: newclass.php
class Example {
    function foo() {
        return "bar!\n";
    }
}
?>
<?php
// requires newclass.php (see above)
class Example {
    function foo() {
        return "foo!\n";
    }
}

$e = new Example();

// output original
echo $e->foo();

// import replacement method
classkit_import('newclass.php');

// output imported
echo $e->foo();

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

foo!
bar!

Siehe auch

  • classkit_method_add() - Dynamically adds a new method to a given class
  • classkit_method_copy() - Copies a method from class to another

Classkit Funktionen
classkit_method_add
Classkit Funktionen


Dynamically adds a new method to a given class

classkit_import
classkit_method_copy
Classkit Funktionen
PHP Manual

classkit_method_add

(PECL classkit >= 0.1)

classkit_method_add — Dynamically adds a new method to a given class

Beschreibung

bool classkit_method_add ( string $classname , string $methodname , string $args , string $code [, int $flags = CLASSKIT_ACC_PUBLIC ] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Parameter-Liste

classname

The class to which this method will be added

methodname

The name of the method to add

args

Comma-delimited list of arguments for the newly-created method

code

The code to be evaluated when methodname is called

flags

The type of method to create, can be CLASSKIT_ACC_PUBLIC, CLASSKIT_ACC_PROTECTED or CLASSKIT_ACC_PRIVATE

Hinweis:

This parameter is only used as of PHP 5, because, prior to this, all methods were public.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 classkit_method_add() example

<?php
class Example {
    function foo() {
        echo "foo!\n";
    }
}

// create an Example object
$e = new Example();

// Add a new public method
classkit_method_add(
    'Example',
    'add',
    '$num1, $num2',
    'return $num1 + $num2;',
    CLASSKIT_ACC_PUBLIC
);

// add 12 + 4
echo $e->add(12, 4);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

16

Siehe auch

  • classkit_method_copy() - Copies a method from class to another
  • classkit_method_redefine() - Dynamically changes the code of the given method
  • classkit_method_remove() - Dynamically removes the given method
  • classkit_method_rename() - Dynamically changes the name of the given method
  • create_function() - Erzeugen einer anonymen (Lambda-Stil) Funktion

classkit_import
classkit_method_copy
Classkit Funktionen


Copies a method from class to another

classkit_method_add
classkit_method_redefine
Classkit Funktionen
PHP Manual

classkit_method_copy

(PECL classkit >= 0.2)

classkit_method_copy — Copies a method from class to another

Beschreibung

bool classkit_method_copy ( string $dClass , string $dMethod , string $sClass [, string $sMethod ] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Parameter-Liste

dClass

Destination class for copied method

dMethod

Destination method name

sClass

Source class of the method to copy

sMethod

Name of the method to copy from the source class. If this parameter is omitted, the value of dMethod is assumed.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 classkit_method_copy() example

<?php
class Foo {
    function example() {
        return "foo!\n";
    }
}

class Bar {
    // initially, no methods
}

// copy the example() method from the Foo class to the Bar class, as baz()
classkit_method_copy('Bar', 'baz', 'Foo', 'example');

// output copied function
echo Bar::baz();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

foo!

Siehe auch

  • classkit_method_add() - Dynamically adds a new method to a given class
  • classkit_method_redefine() - Dynamically changes the code of the given method
  • classkit_method_remove() - Dynamically removes the given method
  • classkit_method_rename() - Dynamically changes the name of the given method

classkit_method_add
classkit_method_redefine
Classkit Funktionen


Dynamically changes the code of the given method

classkit_method_copy
classkit_method_remove
Classkit Funktionen
PHP Manual

classkit_method_redefine

(PECL classkit >= 0.1)

classkit_method_redefine — Dynamically changes the code of the given method

Beschreibung

bool classkit_method_redefine ( string $classname , string $methodname , string $args , string $code [, int $flags = CLASSKIT_ACC_PUBLIC ] )

Hinweis: Diese Funktion kann nicht genutzt werden, um die aktuell ausgeführte (oder verkette) Methode zu manipulieren.

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Parameter-Liste

classname

The class in which to redefine the method

methodname

The name of the method to redefine

args

Comma-delimited list of arguments for the redefined method

code

The new code to be evaluated when methodname is called

flags

The redefined method can be CLASSKIT_ACC_PUBLIC, CLASSKIT_ACC_PROTECTED or CLASSKIT_ACC_PRIVATE

Hinweis:

This parameter is only used as of PHP 5, because, prior to this, all methods were public.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 classkit_method_redefine() example

<?php
class Example {
    function foo() {
        return "foo!\n";
    }
}

// create an Example object
$e = new Example();

// output Example::foo() (before redefine)
echo "Before: " . $e->foo();

// Redefine the 'foo' method
classkit_method_redefine(
    'Example',
    'foo',
    '',
    'return "bar!\n";',
    CLASSKIT_ACC_PUBLIC
);

// output Example::foo() (after redefine)
echo "After: " . $e->foo();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Before: foo!
After: bar!

Siehe auch

  • classkit_method_add() - Dynamically adds a new method to a given class
  • classkit_method_copy() - Copies a method from class to another
  • classkit_method_remove() - Dynamically removes the given method
  • classkit_method_rename() - Dynamically changes the name of the given method

classkit_method_copy
classkit_method_remove
Classkit Funktionen


Dynamically removes the given method

classkit_method_redefine
classkit_method_rename
Classkit Funktionen
PHP Manual

classkit_method_remove

(PECL classkit >= 0.1)

classkit_method_remove — Dynamically removes the given method

Beschreibung

bool classkit_method_remove ( string $classname , string $methodname )

Hinweis: Diese Funktion kann nicht genutzt werden, um die aktuell ausgeführte (oder verkette) Methode zu manipulieren.

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Parameter-Liste

classname

The class in which to remove the method

methodname

The name of the method to remove

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 classkit_method_remove() example

<?php
class Example {
    function foo() {
        return "foo!\n";
    }

    function bar() {
        return "bar!\n";
    }
}

// Remove the 'foo' method
classkit_method_remove(
    'Example',
    'foo'
);

echo implode(' ', get_class_methods('Example'));

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bar

Siehe auch

  • classkit_method_add() - Dynamically adds a new method to a given class
  • classkit_method_copy() - Copies a method from class to another
  • classkit_method_redefine() - Dynamically changes the code of the given method
  • classkit_method_rename() - Dynamically changes the name of the given method

classkit_method_redefine
classkit_method_rename
Classkit Funktionen


Dynamically changes the name of the given method

classkit_method_remove
Ctype
Classkit Funktionen
PHP Manual

classkit_method_rename

(PECL classkit >= 0.1)

classkit_method_rename — Dynamically changes the name of the given method

Beschreibung

bool classkit_method_rename ( string $classname , string $methodname , string $newname )

Hinweis: Diese Funktion kann nicht genutzt werden, um die aktuell ausgeführte (oder verkette) Methode zu manipulieren.

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Parameter-Liste

classname

The class in which to rename the method

methodname

The name of the method to rename

newname

The new name to give to the renamed method

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 classkit_method_rename() example

<?php
class Example {
    function foo() {
        return "foo!\n";
    }
}

// Rename the 'foo' method to 'bar'
classkit_method_rename(
    'Example',
    'foo',
    'bar'
);

// output renamed function
echo Example::bar();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

foo!

Siehe auch

  • classkit_method_add() - Dynamically adds a new method to a given class
  • classkit_method_copy() - Copies a method from class to another
  • classkit_method_redefine() - Dynamically changes the code of the given method
  • classkit_method_remove() - Dynamically removes the given method

classkit_method_remove
Ctype
Classkit Funktionen


Zeichentypprüfung

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Ctype Funktionen
    • ctype_alnum — Auf alphanumerische Zeichen überprüfen
    • ctype_alpha — Auf Buchstabe(n) überprüfen
    • ctype_cntrl — Auf Steuerzeichen überprüfen
    • ctype_digit — Auf Ziffern überprüfen
    • ctype_graph — Auf druckbare Zeichen (außer Leerzeichen) überprüfen
    • ctype_lower — Auf Kleinbuchstaben überprüfen
    • ctype_print — Auf druckbare Zeichen überprüfen
    • ctype_punct — Prüft auf Sonderzeichem, d.h. auf druckbare Zeichen die weder Buchstaben noch Ziffern noch Leerzeichen sind.
    • ctype_space — Auf Leerzeichen überprüfen
    • ctype_upper — Auf Großbuchstaben prüfen
    • ctype_xdigit — Auf Hexadezimalziffern überprüfen
classkit_method_rename
Einführung
Variablen- und typbezogene Erweiterungen


Einführung

Die Funktionen dieser Extension überprüfen, ob ein Zeichen oder eine Zeichenkette in eine bestimmte Zeichenklasse fällt, unter Berücksichtigung der momentanen locale-Einstellung (Siehe auch setlocale()).

Beim Aufruf mit einem Integer-Argument verhalten sich diese Funktionen exakt wie ihre C-Gegenstücke aus ctype.h, d.h. das Integer-Parameter zwischen 0 und 255 als ASCII-Codes interpretiert und das entsprechende Zeichen geprüft wird. Für Werte zwischen -128 und -1 wird vor der Prüfungen 256 addiert.

Beim Aufruf mit einem String-Argument überprüfen Sie jedes einzelne Zeichen und geben nur TRUE zurück, wenn jedes einzelne Zeichen die angeforderten entsprechenden Kriterien erfüllt. Beim Aufruf mit einer leeren Zeichenkette wird in PHP < 5.1 immer TRUE zurückgegeben, ab PHP 5.1 FALSE.

Sobald irgendetwas anderes als ein String oder Integer als Argument übergeben wird, wird sofort FALSE zurückgegeben.

Die ctype Funktionen sind grundsätzlich performanter als die entsprechenden regular Expressions und oft auch schneller als die equivalenten str_* und is_* Funktionen da sie direkt in C geschrieben und optimiert sind.

Hinweis:

Diese Funktionen sind in keiner Weise mit der Python "ctypes" Bibliothek verwandt. Der Name der Erweiterung stammt von der ctype.h C Header-Datei an, in der ihre Equivalente definiert sind.

Diese Erweiterung ist auch älter als Python "ctypes", so dass jegliche Verwirrung, die durch diese Namensgebung verursacht wird, kaum unser Fehler ist ...

Ctype
Installation/Konfiguration
Ctype


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Ctype


Anforderungen

Keine außer der Funktionen aus der C-Standardbibliothek die immer verfügbar sind.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Seit PHP 4.2.0 sind diese Funktionen standardmäßig aktiviert. In älteren Versionen müssen Sie PHP mit --enable-ctype konfigurieren. Sie können die cytpe-Unterstützung mit --disable-ctype abschalten.

Die Windowsversion von PHP enthält diese Erweiterung. Um diese Funktionen zu verwenden, müssen Sie keine zusätzlichen Erweiterungen aktivieren.

Hinweis: Ab PHP 4.3.0 ist eine integrierte ctype-Unterstützung vorhanden.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
Ctype Funktionen
Ctype


Ctype Funktionen

Inhaltsverzeichnis

  • ctype_alnum — Auf alphanumerische Zeichen überprüfen
  • ctype_alpha — Auf Buchstabe(n) überprüfen
  • ctype_cntrl — Auf Steuerzeichen überprüfen
  • ctype_digit — Auf Ziffern überprüfen
  • ctype_graph — Auf druckbare Zeichen (außer Leerzeichen) überprüfen
  • ctype_lower — Auf Kleinbuchstaben überprüfen
  • ctype_print — Auf druckbare Zeichen überprüfen
  • ctype_punct — Prüft auf Sonderzeichem, d.h. auf druckbare Zeichen die weder Buchstaben noch Ziffern noch Leerzeichen sind.
  • ctype_space — Auf Leerzeichen überprüfen
  • ctype_upper — Auf Großbuchstaben prüfen
  • ctype_xdigit — Auf Hexadezimalziffern überprüfen
Vordefinierte Konstanten
ctype_alnum
Ctype


Auf alphanumerische Zeichen überprüfen

Ctype Funktionen
ctype_alpha
Ctype Funktionen
PHP Manual

ctype_alnum

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

ctype_alnum — Auf alphanumerische Zeichen überprüfen

Beschreibung

bool ctype_alnum ( string $text )

Gibt TRUE zurück, wenn alle Zeichen in text entweder ein Buchstabe oder eine Ziffer sind. Anderenfalls wird FALSE zurückgegeben.

Parameter-Liste

text

Der zu prüfende String.

Rückgabewerte

Liefert TRUE wenn jedes Zeichen in text ein Buchstabe oder eine Ziffer ist, sonst FALSE.

Beispiele

Beispiel #1 ctype_alnum() Beispiel (standard-locale vorausgesetzt)

<?php
$strings = array('AbCd1zyZ9', 'foo!#$bar');
foreach ($strings as $testcase) {
    if (ctype_alnum($testcase)) {
        echo "Der String $testcase enthält nur Buchstaben und Ziffern.\n";
    } else {
        echo "Der String $testcase besteht nicht nur aus Buchstaben und Ziffern.\n";
    }
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Der String AbCd1zyZ9 enthält nur Buchstaben und Ziffern.
Der String foo!#$bar besteht nicht nur aus Buchstaben und Ziffern.

Anmerkungen

Hinweis:

Wenn ein integer zwischen -128 und 255 (inklusive) übergeben wird, wird dieser als ASCII Wert eines einzelnen Buchstabens interpretiert (zu negativen Werten wird 256 dazu addiert, um Buchstaben des Erweiterten ASCII Zeichensatzes zu erlauben). Alle anderen Integer werden wie ein String interpretiert, welcher die dezimalen Ziffern des Integers enthält.

Siehe auch

  • ctype_alpha() - Auf Buchstabe(n) überprüfen
  • ctype_digit() - Auf Ziffern überprüfen
  • setlocale() - Legt regionale (locale) Einstellungen fest

Ctype Funktionen
ctype_alpha
Ctype Funktionen


Auf Buchstabe(n) überprüfen

ctype_alnum
ctype_cntrl
Ctype Funktionen
PHP Manual

ctype_alpha

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

ctype_alpha — Auf Buchstabe(n) überprüfen

Beschreibung

bool ctype_alpha ( string $text )

Gibt TRUE zurück, wenn alle Zeichen in text Buchstaben im Sinne der aktuellen locale-Einstellung sind. Anderenfalls wird FALSE zurückgegeben. In der Standardeinstellung für locale C gelten nur [A-Za-z] als Buchstaben und ctype_alpha() ist gleichbedeutend zu (ctype_upper($text) || ctype_lower($text)), wenn $text nur ein Zeichen enthält. Es gibt jedoch auch Sprachen, in denen einzelne Buchstaben weder als groß- noch als kleingeschrieben gelten.

Parameter-Liste

text

Der zu prüfende String.

Rückgabewerte

Liefert TRUE wenn jedes Zeichen in text ein Buchstabe ist, sonst FALSE.

Beispiele

Beispiel #1 ctype_alpha()-Beispiel (standard-locale vorausgesetzt)

<?php
$strings = array('KjgWZC', 'arf12');
foreach ($strings as $testcase) {
    if (ctype_alpha($testcase)) {
        echo "Der String $testcase besteht nur aus Buchstaben.\n";
    } else {
        echo "Der String $testcase enthält nicht nur Buchstaben.\n";
    }
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Der String KjgWZC besteht nur aus Buchstaben.
Der String arf12 enthält nicht nur Buchstaben.

Anmerkungen

Hinweis:

Wenn ein integer zwischen -128 und 255 (inklusive) übergeben wird, wird dieser als ASCII Wert eines einzelnen Buchstabens interpretiert (zu negativen Werten wird 256 dazu addiert, um Buchstaben des Erweiterten ASCII Zeichensatzes zu erlauben). Alle anderen Integer werden wie ein String interpretiert, welcher die dezimalen Ziffern des Integers enthält.

Siehe auch

  • ctype_upper() - Auf Großbuchstaben prüfen
  • ctype_lower() - Auf Kleinbuchstaben überprüfen
  • setlocale() - Legt regionale (locale) Einstellungen fest

ctype_alnum
ctype_cntrl
Ctype Funktionen


Auf Steuerzeichen überprüfen

ctype_alpha
ctype_digit
Ctype Funktionen
PHP Manual

ctype_cntrl

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

ctype_cntrl — Auf Steuerzeichen überprüfen

Beschreibung

bool ctype_cntrl ( string $text )

Prüft ob alle Zeichen des übergebenen Strings Steuerzeichen sind. Steuerzeichen sind z.B. Zeilenumbruch, Tabulator, Escape.

Parameter-Liste

text

Der zu prüfende String.

Rückgabewerte

Liefert TRUE wenn jedes Zeichen in text ein Steuerzeichen ist, sonst FALSE.

Beispiele

Beispiel #1 ctype_cntrl() Beispiel

<?php
$strings = array('string1' => "\n\r\t", 'string2' => 'arf12');
foreach ($strings as $name => $testcase) {
    if (ctype_cntrl($testcase)) {
        echo "Der String '$name' besteht nur aus Steuerzeichen.\n";
    } else {
        echo "Der String '$name' enthält nicht nur Steuerzeichen.\n";
    }
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Der String 'string1' besteht nur aus Steuerzeichen.
Der String 'string2' enthält nicht nur Steuerzeichen.

Anmerkungen

Hinweis:

Wenn ein integer zwischen -128 und 255 (inklusive) übergeben wird, wird dieser als ASCII Wert eines einzelnen Buchstabens interpretiert (zu negativen Werten wird 256 dazu addiert, um Buchstaben des Erweiterten ASCII Zeichensatzes zu erlauben). Alle anderen Integer werden wie ein String interpretiert, welcher die dezimalen Ziffern des Integers enthält.

Siehe auch

  • ctype_print() - Auf druckbare Zeichen überprüfen

ctype_alpha
ctype_digit
Ctype Funktionen


Auf Ziffern überprüfen

ctype_cntrl
ctype_graph
Ctype Funktionen
PHP Manual

ctype_digit

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

ctype_digit — Auf Ziffern überprüfen

Beschreibung

bool ctype_digit ( string $text )

Prüft ob der übergebene String nur aus Ziffern besteht.

Parameter-Liste

text

Der zu prüfende String.

Rückgabewerte

Liefert TRUE wenn jedes Zeichen in text eine Ziffer ist, ansonsten FALSE.

Changelog

Version | Beschreibung
5.1.0 | Vor PHP 5.1.0 gab die Funktion auch TRUE zurück wenn der Eingabestring komplett leer war.

Beispiele

Beispiel #1 ctype_digit() Beispiel

<?php
$strings = array('1820.20', '10002', 'wsl!12');
foreach ($strings as $testcase) {
    if (ctype_digit($testcase)) {
        echo "Der String $testcase besteht aus Ziffern.\n";
    } else {
        echo "Der String $testcase enthält nicht nur Ziffern.\n";
    }
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Der String 1820.20 enthält nicht nur Ziffern.
Der String 10002 besteht aus Ziffern.
Der String wsl!12 enthält nicht nur Ziffern.

Beispiel #2 A ctype_digit() example comparing strings with integers

<?php

$numeric_string = '42';
$integer        = 42;

ctype_digit($numeric_string);  // true
ctype_digit($integer);         // false

is_numeric($numeric_string);   // true
is_numeric($integer);          // true
?>

Anmerkungen

Hinweis:

Diese Funktion ist nur sinnvoll wenn der Eingabeparameter ein string ist, ein integer Wert als Eingabe wird immer FALSE als Ergebnis liefern. Da auch numerische HTML-Formulareingaben immer als String übergeben werden hat die Funktion hier dennoch ihren Sinn. Siehe auch den types Abschnitt des Handbuchs.

Hinweis:

Wenn ein integer zwischen -128 und 255 (inklusive) übergeben wird, wird dieser als ASCII Wert eines einzelnen Buchstabens interpretiert (zu negativen Werten wird 256 dazu addiert, um Buchstaben des Erweiterten ASCII Zeichensatzes zu erlauben). Alle anderen Integer werden wie ein String interpretiert, welcher die dezimalen Ziffern des Integers enthält.

Siehe auch

  • ctype_alnum() - Auf alphanumerische Zeichen überprüfen
  • ctype_xdigit() - Auf Hexadezimalziffern überprüfen
  • is_numeric() - Prüft, ob eine Variable eine Zahl oder ein numerischer String ist
  • is_int() - Prüft, ob eine Variable vom Typ int ist
  • is_string() - Prüft, ob Variable vom Typ string ist

ctype_cntrl
ctype_graph
Ctype Funktionen


Auf druckbare Zeichen (außer Leerzeichen) überprüfen

ctype_digit
ctype_lower
Ctype Funktionen
PHP Manual

ctype_graph

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

ctype_graph — Auf druckbare Zeichen (außer Leerzeichen) überprüfen

Beschreibung

bool ctype_graph ( string $text )

Prüft ob jedes Zeichen in text druckbar ist und tatsächlich eine sichtbare Ausgabe produziert (kein Leerzeichen).

Parameter-Liste

text

Der zu prüfende String.

Rückgabewerte

Liefert TRUE wenn jedes Zeichen in text druckbar ist und eine sichtbare Ausgabe produziert (keine Leerzeichen), ansonsten FALSE.

Beispiele

Beispiel #1 ctype_graph() Beispiel

<?php
$strings = array('string1' => "asdf\n\r\t", 'string2' => 'arf12', 'string3' => 'LKA#@%.54');
foreach ($strings as $name => $testcase) {
    if (ctype_graph($testcase)) {
        echo "Der String '$name' besteht aus druckbaren Zeichen.\n";
    } else {
        echo "Der String '$name' enthält nicht nur druckbare Zeichen.\n";
    }
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Der String 'string1' enthält nicht nur druckbare Zeichen.
Der String 'string2' besteht aus druckbaren Zeichen.
Der String 'string3' besteht aus druckbaren Zeichen.

Anmerkungen

Hinweis:

Wenn ein integer zwischen -128 und 255 (inklusive) übergeben wird, wird dieser als ASCII Wert eines einzelnen Buchstabens interpretiert (zu negativen Werten wird 256 dazu addiert, um Buchstaben des Erweiterten ASCII Zeichensatzes zu erlauben). Alle anderen Integer werden wie ein String interpretiert, welcher die dezimalen Ziffern des Integers enthält.

Siehe auch

  • ctype_alnum() - Auf alphanumerische Zeichen überprüfen
  • ctype_print() - Auf druckbare Zeichen überprüfen
  • ctype_punct() - Prüft auf Sonderzeichem, d.h. auf druckbare Zeichen die weder Buchstaben noch Ziffern noch Leerzeichen sind.

ctype_digit
ctype_lower
Ctype Funktionen


Auf Kleinbuchstaben überprüfen

ctype_graph
ctype_print
Ctype Funktionen
PHP Manual

ctype_lower

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

ctype_lower — Auf Kleinbuchstaben überprüfen

Beschreibung

bool ctype_lower ( string $text )

Prüft ob jedes Zeichen in text ein Kleinbuchstabe im Sinne der aktuellen locale-Einstellung ist.

Parameter-Liste

text

Der zu prüfende String.

Rückgabewerte

Liefert TRUE wenn jedes Zeichen in text in den aktuellen Locale-Einstellungen ein Kleinbuchstabe ist.

Beispiele

Beispiel #1 ctype_lower() Beispiel

<?php
$strings = array('aac123', 'qiutoas', 'QASsdks');
foreach ($strings as $testcase) {
    if (ctype_lower($testcase)) {
        echo "Der String $testcase besteht aus Kleinbuchstaben.\n";
    } else {
        echo "Der String $testcase enthält nicht nur Kleinbuchstaben.\n";
    }
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Der String aac123 enthält nicht nur Kleinbuchstaben.
Der String qiutoas besteht aus Kleinbuchstaben.
Der String QASsdks enthält nicht nur Kleinbuchstaben.

Anmerkungen

Hinweis:

Wenn ein integer zwischen -128 und 255 (inklusive) übergeben wird, wird dieser als ASCII Wert eines einzelnen Buchstabens interpretiert (zu negativen Werten wird 256 dazu addiert, um Buchstaben des Erweiterten ASCII Zeichensatzes zu erlauben). Alle anderen Integer werden wie ein String interpretiert, welcher die dezimalen Ziffern des Integers enthält.

Siehe auch

  • ctype_alpha() - Auf Buchstabe(n) überprüfen
  • ctype_upper() - Auf Großbuchstaben prüfen
  • setlocale() - Legt regionale (locale) Einstellungen fest

ctype_graph
ctype_print
Ctype Funktionen


Auf druckbare Zeichen überprüfen

ctype_lower
ctype_punct
Ctype Funktionen
PHP Manual

ctype_print

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

ctype_print — Auf druckbare Zeichen überprüfen

Beschreibung

bool ctype_print ( string $text )

Prüft ob jedes Zeichen in text tatsächtlich eine Ausgabe bewirkt (inkl. Leerzeichen). Wenn text Steuerzeichen oder Zeichen, die keine Ausgabe- oder Steuerungsfunktion haben, enthält, wird FALSE zurückgegeben.

Parameter-Liste

text

Der zu prüfende String.

Rückgabewerte

Liefert TRUE wenn alle Zeichen in text druckbar sind, sonst FALSE.

Beispiele

Beispiel #1 ctype_print() Beispiel

<?php
$strings = array('string1' => "asdf\n\r\t", 'string2' => 'arf12', 'string3' => 'LKA#@%.54');
foreach ($strings as $name => $testcase) {
    if (ctype_print($testcase)) {
        echo "Der String '$name' besteht aus druckbaren Zeichen.\n";
    } else {
        echo "Der String '$name' enthält nicht nur druckbare Zeichen.\n";
    }
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Der String 'string1' enthält nicht nur druckbare Zeichen.
Der String 'string2' besteht aus printable druckbare Zeichen.
Der String 'string3' besteht aus printable druckbare Zeichen.

Anmerkungen

Hinweis:

Wenn ein integer zwischen -128 und 255 (inklusive) übergeben wird, wird dieser als ASCII Wert eines einzelnen Buchstabens interpretiert (zu negativen Werten wird 256 dazu addiert, um Buchstaben des Erweiterten ASCII Zeichensatzes zu erlauben). Alle anderen Integer werden wie ein String interpretiert, welcher die dezimalen Ziffern des Integers enthält.

Siehe auch

  • ctype_cntrl() - Auf Steuerzeichen überprüfen
  • ctype_graph() - Auf druckbare Zeichen (außer Leerzeichen) überprüfen
  • ctype_punct() - Prüft auf Sonderzeichem, d.h. auf druckbare Zeichen die weder Buchstaben noch Ziffern noch Leerzeichen sind.

ctype_lower
ctype_punct
Ctype Funktionen


Prüft auf Sonderzeichem, d.h. auf druckbare Zeichen die weder Buchstaben noch Ziffern noch Leerzeichen sind.

ctype_print
ctype_space
Ctype Funktionen
PHP Manual

ctype_punct

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

ctype_punct — Prüft auf Sonderzeichem, d.h. auf druckbare Zeichen die weder Buchstaben noch Ziffern noch Leerzeichen sind.

Beschreibung

bool ctype_punct ( string $text )

Prüft ob alle Zeichen des Strings text Sonderzeichem, d.h. auf druckbare Zeichen die weder Buchstaben noch Ziffern noch Leerzeichen sind.

Parameter-Liste

text

Der zu prüfende String.

Rückgabewerte

Liefert TRUE wenn alle Zeichen in text Sonderzeichen sind, sonst FALSE.

Beispiele

Beispiel #1 ctype_punct() Beispiel

<?php
$strings = array('ABasdk!@!$#', '!@ # $', '*&$()');
foreach ($strings as $testcase) {
    if (ctype_punct($testcase)) {
        echo "Der String $testcase enthält ausschließlich Sonderzeichen.\n";
    } else {
        echo "Der String $testcase enthält nicht nur Sonderzeichen.\n";
    }
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Der String ABasdk!@!$# enthält nicht nur Sonderzeichen.
Der String !@ # $ enthält nicht nur Sonderzeichen.
Der String *&$() enthält ausschließlich Sonderzeichen.

Anmerkungen

Hinweis:

Wenn ein integer zwischen -128 und 255 (inklusive) übergeben wird, wird dieser als ASCII Wert eines einzelnen Buchstabens interpretiert (zu negativen Werten wird 256 dazu addiert, um Buchstaben des Erweiterten ASCII Zeichensatzes zu erlauben). Alle anderen Integer werden wie ein String interpretiert, welcher die dezimalen Ziffern des Integers enthält.

Siehe auch

  • ctype_cntrl() - Auf Steuerzeichen überprüfen
  • ctype_graph() - Auf druckbare Zeichen (außer Leerzeichen) überprüfen

ctype_print
ctype_space
Ctype Funktionen


Auf Leerzeichen überprüfen

ctype_punct
ctype_upper
Ctype Funktionen
PHP Manual

ctype_space

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

ctype_space — Auf Leerzeichen überprüfen

Description

bool ctype_space ( string $text )

Prüft ob jedes Zeichen in text irgendeine Art Leerzeichen erzeugt. Neben dem eigentlichen Leerzeichen schließt das auch TAB, Zeilenvorschub, Carriage Return und Formularvorschub mit ein.

Parameter-Liste

text

Der zu prüfende String.

Rückgabewerte

Liefert TRUE wenn jedes Zeichen in text ein Leerzeichen ist (space, tab, linefeed ...), sonst FALSE.

Beispiele

Beispiel #1 ctype_space() Beispiel

<?php
$strings = array('string1' => "\n\r\t", 'string2' => "\narf12", 'string3' => '\n\r\t');
foreach ($strings as $name => $testcase) {
    if (ctype_space($testcase)) {
        echo "Der String '$name' besteht aus Leerzeichen.\n";
    } else {
        echo "Der String '$name' enthält nicht nur Leerzeichen.\n";
    }
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Der String 'string1' besteht aus Leerzeichen.
Der String 'string2' enthält nicht nur Leerzeichen.
Der String 'string3' enthält nicht nur Leerzeichen.

Anmerkungen

Hinweis:

Wenn ein integer zwischen -128 und 255 (inklusive) übergeben wird, wird dieser als ASCII Wert eines einzelnen Buchstabens interpretiert (zu negativen Werten wird 256 dazu addiert, um Buchstaben des Erweiterten ASCII Zeichensatzes zu erlauben). Alle anderen Integer werden wie ein String interpretiert, welcher die dezimalen Ziffern des Integers enthält.

Siehe auch

  • ctype_cntrl() - Auf Steuerzeichen überprüfen
  • ctype_graph() - Auf druckbare Zeichen (außer Leerzeichen) überprüfen
  • ctype_punct() - Prüft auf Sonderzeichem, d.h. auf druckbare Zeichen die weder Buchstaben noch Ziffern noch Leerzeichen sind.

ctype_punct
ctype_upper
Ctype Funktionen


Auf Großbuchstaben prüfen

ctype_space
ctype_xdigit
Ctype Funktionen
PHP Manual

ctype_upper

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

ctype_upper — Auf Großbuchstaben prüfen

Beschreibung

bool ctype_upper ( string $text )

Prüft ob jedes Zeichen in text ein Großbuchstabe im Sinne der aktuellen locale-Einstellung ist.

Parameter-Liste

text

Der zu prüfende String.

Rückgabewerte

Liefert TRUE wenn jedes Zeichen in text im aktuellen Locale ein Großbuchstabe ist, sonst FALSE.

Beispiele

Beispiel #1 ctype_upper() Beispiel (using the default locale)

<?php
$strings = array('AKLWC139', 'LMNSDO', 'akwSKWsm');
foreach ($strings as $testcase) {
    if (ctype_upper($testcase)) {
        echo "Der String $testcase besteht aus Großbochstaben.\n";
    } else {
        echo "Der String $testcase enthält nicht nur Großbuchstaben.\n";
    }
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Der String AKLWC139 enthält nicht nur Großbuchstaben.
Der String LMNSDO besteht aus Großbuchstaben.
Der String akwSKWsm enthält nicht nur Großbuchstaben.

Anmerkungen

Hinweis:

Wenn ein integer zwischen -128 und 255 (inklusive) übergeben wird, wird dieser als ASCII Wert eines einzelnen Buchstabens interpretiert (zu negativen Werten wird 256 dazu addiert, um Buchstaben des Erweiterten ASCII Zeichensatzes zu erlauben). Alle anderen Integer werden wie ein String interpretiert, welcher die dezimalen Ziffern des Integers enthält.

Siehe auch

  • ctype_alpha() - Auf Buchstabe(n) überprüfen
  • ctype_lower() - Auf Kleinbuchstaben überprüfen
  • setlocale() - Legt regionale (locale) Einstellungen fest

ctype_space
ctype_xdigit
Ctype Funktionen


Auf Hexadezimalziffern überprüfen

ctype_upper
Data Structures
Ctype Funktionen
PHP Manual

ctype_xdigit

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

ctype_xdigit — Auf Hexadezimalziffern überprüfen

Beschreibung

bool ctype_xdigit ( string $text )

Prüft jedes Zeichen in text eine Hexadezimalziffer ist, also eine Dezimalziffer oder ein Zeichen aus [A-Fa-f].

Parameter-Liste

text

Der zu prüfende String.

Rückgabewerte

Liefert TRUE wenn jedes Zeichen in text eine Hexadezimalziffer ist, sonst FALSE.

Beispiele

Beispiel #1 ctype_xdigit() Beispiel

<?php
$strings = array('AB10BC99', 'AR1012', 'ab12bc99');
foreach ($strings as $testcase) {
    if (ctype_xdigit($testcase)) {
        echo "Der String $testcase besteht aus Hexadezimalziffern.\n";
    } else {
        echo "Der String $testcase enthält nicht nur Hexadezimalziffern.\n";
    }
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Der String AB10BC99 besteht aus Hexadezimalziffern.
Der String AR1012 enthält nicht nur Hexadezimalziffern.
Der String ab12bc99 besteht aus Hexadezimalziffern.

Anmerkungen

Hinweis:

Wenn ein integer zwischen -128 und 255 (inklusive) übergeben wird, wird dieser als ASCII Wert eines einzelnen Buchstabens interpretiert (zu negativen Werten wird 256 dazu addiert, um Buchstaben des Erweiterten ASCII Zeichensatzes zu erlauben). Alle anderen Integer werden wie ein String interpretiert, welcher die dezimalen Ziffern des Integers enthält.

Siehe auch

  • ctype_digit() - Auf Ziffern überprüfen

ctype_upper
Data Structures
Ctype Funktionen


Data Structures

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
  • Vordefinierte Konstanten
  • Beispiele
  • Collection — The Collection interface
    • Ds\Collection::clear — Removes all values.
    • Ds\Collection::copy — Returns a shallow copy of the collection.
    • Ds\Collection::isEmpty — Returns whether the collection is empty
    • Ds\Collection::toArray — Converts the collection to an array.
  • Hashable — The Hashable interface
    • Ds\Hashable::equals — Determines whether an object is equal to the current instance.
    • Ds\Hashable::hash — Returns a scalar value to be used as a hash value.
  • Sequence — The Sequence interface
    • Ds\Sequence::allocate — Allocates enough memory for a required capacity.
    • Ds\Sequence::apply — Updates all values by applying a callback function to each value.
    • Ds\Sequence::capacity — Returns the current capacity.
    • Ds\Sequence::contains — Determines if the sequence contains given values.
    • Ds\Sequence::filter — Creates a new sequence using a callable to determine which values to include.
    • Ds\Sequence::find — Attempts to find a value's index.
    • Ds\Sequence::first — Returns the first value in the sequence.
    • Ds\Sequence::get — Returns the value at a given index.
    • Ds\Sequence::insert — Inserts values at a given index.
    • Ds\Sequence::join — Joins all values together as a string.
    • Ds\Sequence::last — Returns the last value.
    • Ds\Sequence::map — Returns the result of applying a callback to each value.
    • Ds\Sequence::merge — Returns the result of adding all given values to the sequence.
    • Ds\Sequence::pop — Removes and returns the last value.
    • Ds\Sequence::push — Adds values to the end of the sequence.
    • Ds\Sequence::reduce — Reduces the sequence to a single value using a callback function.
    • Ds\Sequence::remove — Removes and returns a value by index.
    • Ds\Sequence::reverse — Reverses the sequence in-place.
    • Ds\Sequence::reversed — Returns a reversed copy.
    • Ds\Sequence::rotate — Rotates the sequence by a given number of rotations.
    • Ds\Sequence::set — Updates a value at a given index.
    • Ds\Sequence::shift — Removes and returns the first value.
    • Ds\Sequence::slice — Returns a sub-sequence of a given range.
    • Ds\Sequence::sort — Sorts the sequence in-place.
    • Ds\Sequence::sorted — Returns a sorted copy.
    • Ds\Sequence::sum — Returns the sum of all values in the sequence.
    • Ds\Sequence::unshift — Adds values to the front of the sequence.
  • Vector — The Vector class
    • Ds\Vector::allocate — Allocates enough memory for a required capacity.
    • Ds\Vector::apply — Updates all values by applying a callback function to each value.
    • Ds\Vector::capacity — Returns the current capacity.
    • Ds\Vector::clear — Removes all values.
    • Ds\Vector::__construct — Creates a new instance.
    • Ds\Vector::contains — Determines if the vector contains given values.
    • Ds\Vector::copy — Returns a shallow copy of the vector.
    • Ds\Vector::count — Returns the number of values in the collection.
    • Ds\Vector::filter — Creates a new vector using a callable to determine which values to include.
    • Ds\Vector::find — Attempts to find a value's index.
    • Ds\Vector::first — Returns the first value in the vector.
    • Ds\Vector::get — Returns the value at a given index.
    • Ds\Vector::insert — Inserts values at a given index.
    • Ds\Vector::isEmpty — Returns whether the vector is empty
    • Ds\Vector::join — Joins all values together as a string.
    • Ds\Vector::jsonSerialize — Returns a representation that can be converted to JSON.
    • Ds\Vector::last — Returns the last value.
    • Ds\Vector::map — Returns the result of applying a callback to each value.
    • Ds\Vector::merge — Returns the result of adding all given values to the vector.
    • Ds\Vector::pop — Removes and returns the last value.
    • Ds\Vector::push — Adds values to the end of the vector.
    • Ds\Vector::reduce — Reduces the vector to a single value using a callback function.
    • Ds\Vector::remove — Removes and returns a value by index.
    • Ds\Vector::reverse — Reverses the vector in-place.
    • Ds\Vector::reversed — Returns a reversed copy.
    • Ds\Vector::rotate — Rotates the vector by a given number of rotations.
    • Ds\Vector::set — Updates a value at a given index.
    • Ds\Vector::shift — Removes and returns the first value.
    • Ds\Vector::slice — Returns a sub-vector of a given range.
    • Ds\Vector::sort — Sorts the vector in-place.
    • Ds\Vector::sorted — Returns a sorted copy.
    • Ds\Vector::sum — Returns the sum of all values in the vector.
    • Ds\Vector::toArray — Converts the vector to an array.
    • Ds\Vector::unshift — Adds values to the front of the vector.
  • Deque — The Deque class
    • Ds\Deque::allocate — Allocates enough memory for a required capacity.
    • Ds\Deque::apply — Updates all values by applying a callback function to each value.
    • Ds\Deque::capacity — Returns the current capacity.
    • Ds\Deque::clear — Removes all values from the deque.
    • Ds\Deque::__construct — Creates a new instance.
    • Ds\Deque::contains — Determines if the deque contains given values.
    • Ds\Deque::copy — Returns a shallow copy of the deque.
    • Ds\Deque::count — Returns the number of values in the collection.
    • Ds\Deque::filter — Creates a new deque using a callable to determine which values to include.
    • Ds\Deque::find — Attempts to find a value's index.
    • Ds\Deque::first — Returns the first value in the deque.
    • Ds\Deque::get — Returns the value at a given index.
    • Ds\Deque::insert — Inserts values at a given index.
    • Ds\Deque::isEmpty — Returns whether the deque is empty
    • Ds\Deque::join — Joins all values together as a string.
    • Ds\Deque::jsonSerialize — Returns a representation that can be converted to JSON.
    • Ds\Deque::last — Returns the last value.
    • Ds\Deque::map — Returns the result of applying a callback to each value.
    • Ds\Deque::merge — Returns the result of adding all given values to the deque.
    • Ds\Deque::pop — Removes and returns the last value.
    • Ds\Deque::push — Adds values to the end of the deque.
    • Ds\Deque::reduce — Reduces the deque to a single value using a callback function.
    • Ds\Deque::remove — Removes and returns a value by index.
    • Ds\Deque::reverse — Reverses the deque in-place.
    • Ds\Deque::reversed — Returns a reversed copy.
    • Ds\Deque::rotate — Rotates the deque by a given number of rotations.
    • Ds\Deque::set — Updates a value at a given index.
    • Ds\Deque::shift — Removes and returns the first value.
    • Ds\Deque::slice — Returns a sub-deque of a given range.
    • Ds\Deque::sort — Sorts the deque in-place.
    • Ds\Deque::sorted — Returns a sorted copy.
    • Ds\Deque::sum — Returns the sum of all values in the deque.
    • Ds\Deque::toArray — Converts the deque to an array.
    • Ds\Deque::unshift — Adds values to the front of the deque.
  • Map — The Map class
    • Ds\Map::allocate — Allocates enough memory for a required capacity.
    • Ds\Map::apply — Updates all values by applying a callback function to each value.
    • Ds\Map::capacity — Returns the current capacity.
    • Ds\Map::clear — Removes all values.
    • Ds\Map::__construct — Creates a new instance.
    • Ds\Map::copy — Returns a shallow copy of the map.
    • Ds\Map::count — Returns the number of values in the map.
    • Ds\Map::diff — Creates a new map using keys that aren't in another map.
    • Ds\Map::filter — Creates a new map using a callable to determine which pairs to include.
    • Ds\Map::first — Returns the first pair in the map.
    • Ds\Map::get — Returns the value for a given key.
    • Ds\Map::hasKey — Determines whether the map contains a given key.
    • Ds\Map::hasValue — Determines whether the map contains a given value.
    • Ds\Map::intersect — Creates a new map by intersecting keys with another map.
    • Ds\Map::isEmpty — Returns whether the map is empty
    • Ds\Map::jsonSerialize — Returns a representation that can be converted to JSON.
    • Ds\Map::keys — Returns a set of the map's keys.
    • Ds\Map::ksort — Sorts the map in-place by key.
    • Ds\Map::ksorted — Returns a copy, sorted by key.
    • Ds\Map::last — Returns the last pair of the map.
    • Ds\Map::map — Returns the result of applying a callback to each value.
    • Ds\Map::merge — Returns the result of adding all given associations.
    • Ds\Map::pairs — Returns a sequence containing all the pairs of the map.
    • Ds\Map::put — Associates a key with a value.
    • Ds\Map::putAll — Associates all key-value pairs of a traversable object or array.
    • Ds\Map::reduce — Reduces the map to a single value using a callback function.
    • Ds\Map::remove — Removes and returns a value by key.
    • Ds\Map::reverse — Reverses the map in-place.
    • Ds\Map::reversed — Returns a reversed copy.
    • Ds\Map::skip — Returns the pair at a given positional index.
    • Ds\Map::slice — Returns a subset of the map defined by a starting index and length.
    • Ds\Map::sort — Sorts the map in-place by value.
    • Ds\Map::sorted — Returns a copy, sorted by value.
    • Ds\Map::sum — Returns the sum of all values in the map.
    • Ds\Map::toArray — Converts the map to an array.
    • Ds\Map::union — Creates a new map using values from the current instance and another map.
    • Ds\Map::values — Returns a sequence of the map's values.
    • Ds\Map::xor — Creates a new map using keys of either the current instance or of another map, but not of both.
  • Pair — The Pair class
    • Ds\Pair::clear — Removes all values.
    • Ds\Pair::__construct — Creates a new instance.
    • Ds\Pair::copy — Returns a shallow copy of the pair.
    • Ds\Pair::isEmpty — Returns whether the pair is empty
    • Ds\Pair::jsonSerialize — Returns a representation that can be converted to JSON.
    • Ds\Pair::toArray — Converts the pair to an array.
  • Set — The Set class
    • Ds\Set::add — Adds values to the set.
    • Ds\Set::allocate — Allocates enough memory for a required capacity.
    • Ds\Set::capacity — Returns the current capacity.
    • Ds\Set::clear — Removes all values.
    • Ds\Set::__construct — Creates a new instance.
    • Ds\Set::contains — Determines if the set contains all values.
    • Ds\Set::copy — Returns a shallow copy of the set.
    • Ds\Set::count — Returns the number of values in the set.
    • Ds\Set::diff — Creates a new set using values that aren't in another set.
    • Ds\Set::filter — Creates a new set using a callable to determine which values to include.
    • Ds\Set::first — Returns the first value in the set.
    • Ds\Set::get — Returns the value at a given index.
    • Ds\Set::intersect — Creates a new set by intersecting values with another set.
    • Ds\Set::isEmpty — Returns whether the set is empty
    • Ds\Set::join — Joins all values together as a string.
    • Ds\Set::jsonSerialize — Returns a representation that can be converted to JSON.
    • Ds\Set::last — Returns the last value in the set.
    • Ds\Set::merge — Returns the result of adding all given values to the set.
    • Ds\Set::reduce — Reduces the set to a single value using a callback function.
    • Ds\Set::remove — Removes all given values from the set.
    • Ds\Set::reverse — Reverses the set in-place.
    • Ds\Set::reversed — Returns a reversed copy.
    • Ds\Set::slice — Returns a sub-set of a given range.
    • Ds\Set::sort — Sorts the set in-place.
    • Ds\Set::sorted — Returns a sorted copy.
    • Ds\Set::sum — Returns the sum of all values in the set.
    • Ds\Set::toArray — Converts the set to an array.
    • Ds\Set::union — Creates a new set using values from the current instance and another set.
    • Ds\Set::xor — Creates a new set using values in either the current instance or in another set, but not in both.
  • Stack — The Stack class
    • Ds\Stack::allocate — Allocates enough memory for a required capacity.
    • Ds\Stack::capacity — Returns the current capacity.
    • Ds\Stack::clear — Removes all values.
    • Ds\Stack::__construct — Creates a new instance.
    • Ds\Stack::copy — Returns a shallow copy of the stack.
    • Ds\Stack::count — Returns the number of values in the stack.
    • Ds\Stack::isEmpty — Returns whether the stack is empty
    • Ds\Stack::jsonSerialize — Returns a representation that can be converted to JSON.
    • Ds\Stack::peek — Returns the value at the top of the stack.
    • Ds\Stack::pop — Removes and returns the value at the top of the stack.
    • Ds\Stack::push — Pushes values onto the stack.
    • Ds\Stack::toArray — Converts the stack to an array.
  • Queue — The Queue class
    • Ds\Queue::allocate — Allocates enough memory for a required capacity.
    • Ds\Queue::capacity — Returns the current capacity.
    • Ds\Queue::clear — Removes all values.
    • Ds\Queue::__construct — Creates a new instance.
    • Ds\Queue::copy — Returns a shallow copy of the queue.
    • Ds\Queue::count — Returns the number of values in the queue.
    • Ds\Queue::isEmpty — Returns whether the queue is empty
    • Ds\Queue::jsonSerialize — Returns a representation that can be converted to JSON.
    • Ds\Queue::peek — Returns the value at the front of the queue.
    • Ds\Queue::pop — Removes and returns the value at the front of the queue.
    • Ds\Queue::push — Pushes values into the queue.
    • Ds\Queue::toArray — Converts the queue to an array.
  • PriorityQueue — The PriorityQueue class
    • Ds\PriorityQueue::allocate — Allocates enough memory for a required capacity.
    • Ds\PriorityQueue::capacity — Returns the current capacity.
    • Ds\PriorityQueue::clear — Removes all values.
    • Ds\PriorityQueue::__construct — Creates a new instance.
    • Ds\PriorityQueue::copy — Returns a shallow copy of the queue.
    • Ds\PriorityQueue::count — Returns the number of values in the queue.
    • Ds\PriorityQueue::isEmpty — Returns whether the queue is empty
    • Ds\PriorityQueue::jsonSerialize — Returns a representation that can be converted to JSON.
    • Ds\PriorityQueue::peek — Returns the value at the front of the queue.
    • Ds\PriorityQueue::pop — Removes and returns the value with the highest priority.
    • Ds\PriorityQueue::push — Pushes values into the queue.
    • Ds\PriorityQueue::toArray — Converts the queue to an array.
ctype_xdigit
Einführung
Variablen- und typbezogene Erweiterungen


Einführung

Efficient data structures for PHP 7, provided as an alternative to the array.

See » this blog post for benchmarks, discussion and frequently asked questions.

Data Structures
Installation/Konfiguration
Data Structures


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
Einführung
Anforderungen
Data Structures


Anforderungen

PHP 7 is required by both the extension and the compatibility polyfill.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

The easiest way to install the extension is via » PECL

pecl install ds

You can also build directly from source:

# Dependencies you might need to install
# sudo apt-get install git build-essential php7.0-dev

git clone https://github.com/php-ds/extension "php-ds"
cd php-ds

# Build and install the extension
phpize
./configure
make
make install

# Clean up the build files
make clean
phpize --clean

If you're on Windows, you can » download a compiled .dll on PECL

Hinweis:

If you're using Composer, it's highly recommended that you include » php-ds/php-ds in your project so that your code is still functional in an environment where the extension is not installed. The extension will take priority if installed.

Anforderungen
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Installation
Beispiele
Data Structures


Beispiele

Beispiel #1 Vector

<?php

$vector = new \Ds\Vector();

$vector->push('a');
$vector->push('b', 'c');

$vector[] = 'd';

print_r($vector);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Vector Object
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
)

Beispiel #2 Map

<?php

$map = new \Ds\Map();

$map->put('a', 1);
$map->put('b', 2);

$map['c'] = 3;

print_r($map);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 3
        )

)
Vordefinierte Konstanten
Collection
Data Structures


The Collection interface

(No version information available, might only be in Git)

Einführung

Collection is the base interface which covers functionality common to all the data structures in this library. It guarantees that all structures are traversable, countable, and can be converted to json using json_encode().

Interface-Übersicht

Ds\Collection implements Traversable , Countable , JsonSerializable {
/* Methoden */
abstract public void clear ( void )
abstract public Ds\Collection copy ( void )
abstract public bool isEmpty ( void )
abstract public array toArray ( void )
}

Inhaltsverzeichnis

  • Ds\Collection::clear — Removes all values.
  • Ds\Collection::copy — Returns a shallow copy of the collection.
  • Ds\Collection::isEmpty — Returns whether the collection is empty
  • Ds\Collection::toArray — Converts the collection to an array.
Beispiele
Ds\Collection::clear
Data Structures


Removes all values.

Collection
Ds\Collection::copy
Collection
PHP Manual

Ds\Collection::clear

(PECL ds >= 1.0.0)

Ds\Collection::clear — Removes all values.

Beschreibung

abstract public void Ds\Collection::clear ( void )

Removes all values from the collection.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Collection::clear() example

<?php
$collection = new \Ds\Vector([1, 2, 3]);
print_r($collection);

$collection->clear();
print_r($collection);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
Ds\Vector Object
(
)
Collection
Ds\Collection::copy
Collection


Returns a shallow copy of the collection.

Ds\Collection::clear
Ds\Collection::isEmpty
Collection
PHP Manual

Ds\Collection::copy

(PECL ds >= 1.0.0)

Ds\Collection::copy — Returns a shallow copy of the collection.

Beschreibung

abstract public Ds\Collection Ds\Collection::copy ( void )

Returns a shallow copy of the collection.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a shallow copy of the collection.

Beispiele

Beispiel #1 Ds\Collection::copy() example

<?php
$a = new \Ds\Vector([1, 2, 3]);
$b = $a->copy();

$b->push(4);

print_r($a);
print_r($b);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
)
Ds\Collection::clear
Ds\Collection::isEmpty
Collection


Returns whether the collection is empty

Ds\Collection::copy
Ds\Collection::toArray
Collection
PHP Manual

Ds\Collection::isEmpty

(PECL ds >= 1.0.0)

Ds\Collection::isEmpty — Returns whether the collection is empty

Beschreibung

abstract public bool Ds\Collection::isEmpty ( void )

Returns whether the collection is empty.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the collection is empty, FALSE otherwise.

Beispiele

Beispiel #1 Ds\Collection::isEmpty() example

<?php
$a = new \Ds\Vector([1, 2, 3]);
$b = new \Ds\Vector();

var_dump($a->isEmpty());
var_dump($b->isEmpty());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(false)
bool(true)
Ds\Collection::copy
Ds\Collection::toArray
Collection


Converts the collection to an array.

Ds\Collection::isEmpty
Hashable
Collection
PHP Manual

Ds\Collection::toArray

(PECL ds >= 1.0.0)

Ds\Collection::toArray — Converts the collection to an array.

Beschreibung

abstract public array Ds\Collection::toArray ( void )

Converts the collection to an array.

Hinweis:

Casting to an array is not supported yet.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An array containing all the values in the same order as the collection.

Beispiele

Beispiel #1 Ds\Collection::toArray() example

<?php
$collection = new \Ds\Vector([1, 2, 3]);

var_dump($collection->toArray());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}
Ds\Collection::isEmpty
Hashable
Collection


The Hashable interface

(No version information available, might only be in Git)

Einführung

Hashable is an interface which allows objects to be used as keys. It’s an alternative to spl_object_hash(), which determines an object’s hash based on its handle: this means that two objects that are considered equal by an implicit definition would not treated as equal because they are not the same instance.

hash() is used to return a scalar value to be used as the object's hash value, which determines where it goes in the hash table. While this value does not have to be unique, objects which are equal must have the same hash value.

equals() is used to determine if two objects are equal. It's guaranteed that the comparing object will be an instance of the same class as the subject.

Interface-Übersicht

Ds\Hashable {
/* Methoden */
abstract public bool equals ( object $obj )
abstract public mixed hash ( void )
}

Inhaltsverzeichnis

  • Ds\Hashable::equals — Determines whether an object is equal to the current instance.
  • Ds\Hashable::hash — Returns a scalar value to be used as a hash value.
Ds\Collection::toArray
Ds\Hashable::equals
Data Structures


Determines whether an object is equal to the current instance.

Hashable
Ds\Hashable::hash
Hashable
PHP Manual

Ds\Hashable::equals

(PECL ds >= 1.0.0)

Ds\Hashable::equals — Determines whether an object is equal to the current instance.

Beschreibung

abstract public bool Ds\Hashable::equals ( object $obj )

Determines whether another object is equal to the current instance.

This method allows objects to be used as keys in structures such as Ds\Map and Ds\Set, or any other lookup structure that honors this interface.

Hinweis:

It's guaranteed that obj is an instance of the same class.

Achtung

It's important that objects which are equal also have the same hash value. See Ds\Hashable::hash().

Parameter-Liste

obj

The object to compare the current instance to, which is always an instance of the same class.

Rückgabewerte

TRUE if equal, FALSE otherwise.

Hashable
Ds\Hashable::hash
Hashable


Returns a scalar value to be used as a hash value.

Ds\Hashable::equals
Sequence
Hashable
PHP Manual

Ds\Hashable::hash

(PECL ds >= 1.0.0)

Ds\Hashable::hash — Returns a scalar value to be used as a hash value.

Beschreibung

abstract public mixed Ds\Hashable::hash ( void )

Returns a scalar value to be used as the hash value of the objects.

While the hash value does not define equality, all objects that are equal according to Ds\Hashable::equals() must have the same hash value. Hash values of equal objects don't have to be unique, for example you could just return TRUE for all objects and nothing would break - the only implication would be that hash tables then turn into linked lists because all your objects will be hashed to the same bucket. It's therefore very important that you pick a good hash value, such as an ID or email address.

This method allows objects to be used as keys in structures such as Ds\Map and Ds\Set, or any other lookup structure that honors this interface.

Achtung

Do not pick a value that might change within the object, such as a public property. Hash table lookups would fail because the hash has changed.

Achtung

All objects that are equal must have the same hash value.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A scalar value to be used as this object's hash value.

Beispiele

Beispiel #1 Ds\Hashable::hash() example

<?php
class HashableObject implements \Ds\Hashable
{
    private $name;
    private $email;

    public function __construct($name, $email)
    {
        $this->name  = $name;
        $this->email = $email;
    }

    /**
     * Should return the same value for all equal objects, but doesn't have to
     * be unique. This value will not be used to determine equality.
     */
    public function hash()
    {
        return $this->email;
    }

    /**
     * This determines equality, usually during a hash table lookup to determine
     * if the bucket's key matches the lookup key. The hash has to be equal if
     * the objects are equal, otherwise this determination wouldn't be reached.
     */
    public function equals($obj): bool
    {
        return $this->name  === $obj->name
            && $this->email === $obj->email;
    }
}
?>
Ds\Hashable::equals
Sequence
Hashable


The Sequence interface

(No version information available, might only be in Git)

Einführung

A Sequence describes the behaviour of values arranged in a single, linear dimension. Some languages refer to this as a "List". It’s similar to an array that uses incremental integer keys, with the exception of a few characteristics:

  • Values will always be indexed as [0, 1, 2, …, size - 1].
  • Only allowed to access values by index in the range [0, size - 1].

Use cases:

  • Wherever you would use an array as a list (not concerned with keys).
  • A more efficient alternative to SplDoublyLinkedList and SplFixedArray.

Interface-Übersicht

Ds\Sequence implements Ds\Collection {
/* Methoden */
abstract public void allocate ( int $capacity )
abstract public void apply ( callable $callback )
abstract public int capacity ( void )
abstract public bool contains ([ mixed $...values ] )
abstract public Ds\Sequence filter ([ callable $callback ] )
abstract public mixed find ( mixed $value )
abstract public mixed first ( void )
abstract public mixed get ( int $index )
abstract public void insert ( int $index [, mixed $...values ] )
abstract public string join ([ string $glue ] )
abstract public mixed last ( void )
abstract public Ds\Sequence map ( callable $callback )
abstract public Ds\Sequence merge ( mixed $values )
abstract public mixed pop ( void )
abstract public void push ([ mixed $...values ] )
abstract public mixed reduce ( callable $callback [, mixed $initial ] )
abstract public mixed remove ( int $index )
abstract public void reverse ( void )
abstract public Ds\Sequence reversed ( void )
abstract public void rotate ( int $rotations )
abstract public void set ( int $index , mixed $value )
abstract public mixed shift ( void )
abstract public Ds\Sequence slice ( int $index [, int $length ] )
abstract public void sort ([ callable $comparator ] )
abstract public Ds\Sequence sorted ([ callable $comparator ] )
abstract public number sum ( void )
abstract public void unshift ([ mixed $values ] )
}

Inhaltsverzeichnis

  • Ds\Sequence::allocate — Allocates enough memory for a required capacity.
  • Ds\Sequence::apply — Updates all values by applying a callback function to each value.
  • Ds\Sequence::capacity — Returns the current capacity.
  • Ds\Sequence::contains — Determines if the sequence contains given values.
  • Ds\Sequence::filter — Creates a new sequence using a callable to determine which values to include.
  • Ds\Sequence::find — Attempts to find a value's index.
  • Ds\Sequence::first — Returns the first value in the sequence.
  • Ds\Sequence::get — Returns the value at a given index.
  • Ds\Sequence::insert — Inserts values at a given index.
  • Ds\Sequence::join — Joins all values together as a string.
  • Ds\Sequence::last — Returns the last value.
  • Ds\Sequence::map — Returns the result of applying a callback to each value.
  • Ds\Sequence::merge — Returns the result of adding all given values to the sequence.
  • Ds\Sequence::pop — Removes and returns the last value.
  • Ds\Sequence::push — Adds values to the end of the sequence.
  • Ds\Sequence::reduce — Reduces the sequence to a single value using a callback function.
  • Ds\Sequence::remove — Removes and returns a value by index.
  • Ds\Sequence::reverse — Reverses the sequence in-place.
  • Ds\Sequence::reversed — Returns a reversed copy.
  • Ds\Sequence::rotate — Rotates the sequence by a given number of rotations.
  • Ds\Sequence::set — Updates a value at a given index.
  • Ds\Sequence::shift — Removes and returns the first value.
  • Ds\Sequence::slice — Returns a sub-sequence of a given range.
  • Ds\Sequence::sort — Sorts the sequence in-place.
  • Ds\Sequence::sorted — Returns a sorted copy.
  • Ds\Sequence::sum — Returns the sum of all values in the sequence.
  • Ds\Sequence::unshift — Adds values to the front of the sequence.
Ds\Hashable::hash
Ds\Sequence::allocate
Data Structures


Allocates enough memory for a required capacity.

Sequence
Ds\Sequence::apply
Sequence
PHP Manual

Ds\Sequence::allocate

(PECL ds >= 1.0.0)

Ds\Sequence::allocate — Allocates enough memory for a required capacity.

Beschreibung

abstract public void Ds\Sequence::allocate ( int $capacity )

Ensures that enough memory is allocated for a required capacity. This removes the need to reallocate the internal as values are added.

Parameter-Liste

capacity

The number of values for which capacity should be allocated.

Hinweis:

Capacity will stay the same if this value is less than or equal to the current capacity.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Sequence::allocate() example

<?php
$sequence = new \Ds\Vector();
var_dump($sequence->capacity());

$vector->allocate(100);
var_dump($sequence->capacity());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(10)
int(100)
Sequence
Ds\Sequence::apply
Sequence


Updates all values by applying a callback function to each value.

Ds\Sequence::allocate
Ds\Sequence::capacity
Sequence
PHP Manual

Ds\Sequence::apply

(PECL ds >= 1.0.0)

Ds\Sequence::apply — Updates all values by applying a callback function to each value.

Beschreibung

abstract public void Ds\Sequence::apply ( callable $callback )

Updates all values by applying a callback function to each value in the sequence.

Parameter-Liste

callback

mixed callback ( mixed $value )

A callable to apply to each value in the sequence.

The callback should return what the value should be replaced by.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Sequence::apply() example

<?php
$sequence = new \Ds\Sequence([1, 2, 3]);
$sequence->apply(function($value) { return $value * 2; });

print_r($sequence);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Vector Object
(
    [0] => 2
    [1] => 4
    [2] => 6
)
Ds\Sequence::allocate
Ds\Sequence::capacity
Sequence


Returns the current capacity.

Ds\Sequence::apply
Ds\Sequence::contains
Sequence
PHP Manual

Ds\Sequence::capacity

(PECL ds >= 1.0.0)

Ds\Sequence::capacity — Returns the current capacity.

Beschreibung

abstract public int Ds\Sequence::capacity ( void )

Returns the current capacity.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current capacity.

Beispiele

Beispiel #1 Ds\Sequence::capacity() example

<?php
$sequence = new \Ds\Vector();
var_dump($sequence->capacity());

$sequence->push(...range(1, 50));
var_dump($sequence->capacity());

$sequence[] = "a";
var_dump($sequence->capacity());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(10)
int(50)
int(75)
Ds\Sequence::apply
Ds\Sequence::contains
Sequence


Determines if the sequence contains given values.

Ds\Sequence::capacity
Ds\Sequence::filter
Sequence
PHP Manual

Ds\Sequence::contains

(PECL ds >= 1.0.0)

Ds\Sequence::contains — Determines if the sequence contains given values.

Beschreibung

abstract public bool Ds\Sequence::contains ([ mixed $...values ] )

Determines if the sequence contains all values.

Parameter-Liste

values

Values to check.

Rückgabewerte

FALSE if any of the provided values are not in the sequence, TRUE otherwise.

Beispiele

Beispiel #1 Ds\Sequence::contains() example

<?php
$sequence = new \Ds\Vector(['a', 'b', 'c', 1, 2, 3]);

var_dump($sequence->contains('a'));                // true
var_dump($sequence->contains('a', 'b'));           // true
var_dump($sequence->contains('c', 'd'));           // false

var_dump($sequence->contains(...['c', 'b', 'a'])); // true

// Always strict
var_dump($sequence->contains(1));                  // true
var_dump($sequence->contains('1'));                // false

var_dump($sequece->contains(...[]));               // true
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(true)
bool(true)
bool(false)
bool(true)
bool(true)
bool(false)
bool(true)
Ds\Sequence::capacity
Ds\Sequence::filter
Sequence


Creates a new sequence using a callable to determine which values to include.

Ds\Sequence::contains
Ds\Sequence::find
Sequence
PHP Manual

Ds\Sequence::filter

(PECL ds >= 1.0.0)

Ds\Sequence::filter — Creates a new sequence using a callable to determine which values to include.

Beschreibung

abstract public Ds\Sequence Ds\Sequence::filter ([ callable $callback ] )

Creates a new sequence using a callable to determine which values to include.

Parameter-Liste

callback

bool callback ( mixed $value )

Optional callable which returns TRUE if the value should be included, FALSE otherwise.

If a callback is not provided, only values which are TRUE (see converting to boolean) will be included.

Rückgabewerte

A new sequence containing all the values for which either the callback returned TRUE, or all values that convert to TRUE if a callback was not provided.

Beispiele

Beispiel #1 Ds\Sequence::filter() example using callback function

<?php
$sequence = new \Ds\Vector([1, 2, 3, 4, 5]);

var_dump($sequence->filter(function($value) {
    return $value % 2 == 0;
}));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Vector)#3 (2) {
  [0]=>
  int(2)
  [1]=>
  int(4)
}

Beispiel #2 Ds\Sequence::filter() example without a callback function

<?php
$sequence = new \Ds\Vector([0, 1, 'a', true, false]);

var_dump($sequence->filter());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Vector)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  string(1) "a"
  [2]=>
  bool(true)
}
Ds\Sequence::contains
Ds\Sequence::find
Sequence


Attempts to find a value's index.

Ds\Sequence::filter
Ds\Sequence::first
Sequence
PHP Manual

Ds\Sequence::find

(PECL ds >= 1.0.0)

Ds\Sequence::find — Attempts to find a value's index.

Beschreibung

abstract public mixed Ds\Sequence::find ( mixed $value )

Returns the index of the value, or FALSE if not found.

Parameter-Liste

value

The value to find.

Rückgabewerte

The index of the value, or FALSE if not found.

Hinweis:

Values will be compared by value and by type.

Beispiele

Beispiel #1 Ds\Sequence::find() example

<?php
$sequence = new \Ds\Vector(["a", 1, true]);

var_dump($sequence->find("a")); // 0
var_dump($sequence->find("b")); // false
var_dump($sequence->find("1")); // false
var_dump($sequence->find(1));   // 1
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(0)
bool(false)
bool(false)
int(1)
Ds\Sequence::filter
Ds\Sequence::first
Sequence


Returns the first value in the sequence.

Ds\Sequence::find
Ds\Sequence::get
Sequence
PHP Manual

Ds\Sequence::first

(PECL ds >= 1.0.0)

Ds\Sequence::first — Returns the first value in the sequence.

Beschreibung

abstract public mixed Ds\Sequence::first ( void )

Returns the first value in the sequence.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The first value in the sequence.

Fehler/Exceptions

UnderflowException if empty.

Beispiele

Beispiel #1 Ds\Sequence::first() example

<?php
$sequence = new \Ds\Vector([1, 2, 3]);
var_dump($sequence->first());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(1)
Ds\Sequence::find
Ds\Sequence::get
Sequence


Returns the value at a given index.

Ds\Sequence::first
Ds\Sequence::insert
Sequence
PHP Manual

Ds\Sequence::get

(PECL ds >= 1.0.0)

Ds\Sequence::get — Returns the value at a given index.

Beschreibung

abstract public mixed Ds\Sequence::get ( int $index )

Returns the value at a given index.

Parameter-Liste

index

The index to access, starting at 0.

Rückgabewerte

The value at the requested index.

Fehler/Exceptions

OutOfRangeException if the index is not valid.

Beispiele

Beispiel #1 Ds\Sequence::get() example

<?php
$sequence = new \Ds\Vector(["a", "b", "c"]);

var_dump($sequence->get(0));
var_dump($sequence->get(1));
var_dump($sequence->get(2));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(1) "a"
string(1) "b"
string(1) "c"

Beispiel #2 Ds\Sequence::get() example using array syntax

<?php
$sequence = new \Ds\Vector(["a", "b", "c"]);

var_dump($sequence[0]);
var_dump($sequence[1]);
var_dump($sequence[2]);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(1) "a"
string(1) "b"
string(1) "c"
Ds\Sequence::first
Ds\Sequence::insert
Sequence


Inserts values at a given index.

Ds\Sequence::get
Ds\Sequence::join
Sequence
PHP Manual

Ds\Sequence::insert

(PECL ds >= 1.0.0)

Ds\Sequence::insert — Inserts values at a given index.

Beschreibung

abstract public void Ds\Sequence::insert ( int $index [, mixed $...values ] )

Inserts values into the sequence at a given index.

Parameter-Liste

index

The index at which to insert. 0 <= index <= count

Hinweis:

You can insert at the index equal to the number of values.

values

The value or values to insert.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

OutOfRangeException if the index is not valid.

Beispiele

Beispiel #1 Ds\Sequence::insert() example

<?php
$sequence = new \Ds\Vector();

$sequence->insert(0, "e");             // [e]
$sequence->insert(1, "f");             // [e, f]
$sequence->insert(2, "g");             // [e, f, g]
$sequence->insert(0, "a", "b");        // [a, b, e, f, g]
$sequence->insert(2, ...["c", "d"]);   // [a, b, c, d, e, f, g]

var_dump($sequence);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Vector)#1 (7) {
  [0]=>
  string(1) "a"
  [1]=>
  string(1) "b"
  [2]=>
  string(1) "c"
  [3]=>
  string(1) "d"
  [4]=>
  string(1) "e"
  [5]=>
  string(1) "f"
  [6]=>
  string(1) "g"
}
Ds\Sequence::get
Ds\Sequence::join
Sequence


Joins all values together as a string.

Ds\Sequence::insert
Ds\Sequence::last
Sequence
PHP Manual

Ds\Sequence::join

(PECL ds >= 1.0.0)

Ds\Sequence::join — Joins all values together as a string.

Beschreibung

abstract public string Ds\Sequence::join ([ string $glue ] )

Joins all values together as a string using an optional separator between each value.

Parameter-Liste

glue

An optional string to separate each value.

Rückgabewerte

All values of the sequence joined together as a string.

Beispiele

Beispiel #1 Ds\Sequence::join() example using a separator string

<?php
$sequence = new \Ds\Vector(["a", "b", "c", 1, 2, 3]);

var_dump($sequence->join("|"));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(11) "a|b|c|1|2|3"

Beispiel #2 Ds\Sequence::join() example without a separator string

<?php
$sequence = new \Ds\Vector(["a", "b", "c", 1, 2, 3]);

var_dump($sequence->join());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(11) "abc123"
Ds\Sequence::insert
Ds\Sequence::last
Sequence


Returns the last value.

Ds\Sequence::join
Ds\Sequence::map
Sequence
PHP Manual

Ds\Sequence::last

(PECL ds >= 1.0.0)

Ds\Sequence::last — Returns the last value.

Beschreibung

abstract public mixed Ds\Sequence::last ( void )

Returns the last value in the sequence.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The last value in the sequence.

Fehler/Exceptions

UnderflowException if empty.

Beispiele

Beispiel #1 Ds\Sequence::last() example

<?php
$sequence = new \Ds\Vector([1, 2, 3]);
var_dump($sequence->last());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(3)
Ds\Sequence::join
Ds\Sequence::map
Sequence


Returns the result of applying a callback to each value.

Ds\Sequence::last
Ds\Sequence::merge
Sequence
PHP Manual

Ds\Sequence::map

(PECL ds >= 1.0.0)

Ds\Sequence::map — Returns the result of applying a callback to each value.

Beschreibung

abstract public Ds\Sequence Ds\Sequence::map ( callable $callback )

Returns the result of applying a callback function to each value in the sequence.

Parameter-Liste

callback

mixed callback ( mixed $value )

A callable to apply to each value in the sequence.

The callable should return what the new value will be in the new sequence.

Rückgabewerte

The result of applying a callback to each value in the sequence.

Hinweis:

The values of the current instance won't be affected.

Beispiele

Beispiel #1 Ds\Sequence::map() example

<?php
$sequence = new \Ds\Vector([1, 2, 3]);

print_r($sequence->map(function($value) { return $value * 2; }));
print_r($sequence);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Vector Object
(
    [0] => 2
    [1] => 4
    [2] => 6
)
Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
Ds\Sequence::last
Ds\Sequence::merge
Sequence


Returns the result of adding all given values to the sequence.

Ds\Sequence::map
Ds\Sequence::pop
Sequence
PHP Manual

Ds\Sequence::merge

(PECL ds >= 1.0.0)

Ds\Sequence::merge — Returns the result of adding all given values to the sequence.

Beschreibung

abstract public Ds\Sequence Ds\Sequence::merge ( mixed $values )

Returns the result of adding all given values to the sequence.

Parameter-Liste

values

A traversable object or an array.

Rückgabewerte

The result of adding all given values to the sequence, effectively the same as adding the values to a copy, then returning that copy.

Hinweis:

The current instance won't be affected.

Beispiele

Beispiel #1 Ds\Sequence::merge() example

<?php
$sequence = new \Ds\Vector([1, 2, 3]);

var_dump($sequence->merge([4, 5, 6]));
var_dump($sequence);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Vector)#2 (6) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  [3]=>
  int(4)
  [4]=>
  int(5)
  [5]=>
  int(6)
}
object(Ds\Vector)#1 (3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}
Ds\Sequence::map
Ds\Sequence::pop
Sequence


Removes and returns the last value.

Ds\Sequence::merge
Ds\Sequence::push
Sequence
PHP Manual

Ds\Sequence::pop

(PECL ds >= 1.0.0)

Ds\Sequence::pop — Removes and returns the last value.

Beschreibung

abstract public mixed Ds\Sequence::pop ( void )

Removes and returns the last value.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The removed last value.

Fehler/Exceptions

UnderflowException if empty.

Beispiele

Beispiel #1 Ds\Sequence::pop() example

<?php
$sequence = new \Ds\Vector([1, 2, 3]);

var_dump($sequence->pop());
var_dump($sequence->pop());
var_dump($sequence->pop());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(3)
int(2)
int(1)
Ds\Sequence::merge
Ds\Sequence::push
Sequence


Adds values to the end of the sequence.

Ds\Sequence::pop
Ds\Sequence::reduce
Sequence
PHP Manual

Ds\Sequence::push

(PECL ds >= 1.0.0)

Ds\Sequence::push — Adds values to the end of the sequence.

Beschreibung

abstract public void Ds\Sequence::push ([ mixed $...values ] )

Adds values to the end of the sequence.

Parameter-Liste

values

The values to add.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Sequence::push() example

<?php
$sequence = new \Ds\Vector();

$sequence->push("a");
$sequence->push("b");
$sequence->push("c", "d");
$sequence->push(...["e", "f"]);

print_r($sequence);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Vector Object
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
    [5] => f
)
Ds\Sequence::pop
Ds\Sequence::reduce
Sequence


Reduces the sequence to a single value using a callback function.

Ds\Sequence::push
Ds\Sequence::remove
Sequence
PHP Manual

Ds\Sequence::reduce

(PECL ds >= 1.0.0)

Ds\Sequence::reduce — Reduces the sequence to a single value using a callback function.

Beschreibung

abstract public mixed Ds\Sequence::reduce ( callable $callback [, mixed $initial ] )

Reduces the sequence to a single value using a callback function.

Parameter-Liste

callback
mixed callback ( mixed $carry , mixed $value )
carry

The return value of the previous callback, or initial if it's the first iteration.

value

The value of the current iteration.

initial

The initial value of the carry value. Can be NULL.

Rückgabewerte

The return value of the final callback.

Beispiele

Beispiel #1 Ds\Sequence::reduce() with initial value example

<?php
$sequence = new \Ds\Vector([1, 2, 3]);

$callback = function($carry, $value) {
    return $carry * $value;
};

var_dump($sequence->reduce($callback, 5));

// Iterations:
//
// $carry = $initial = 5
//
// $carry = $carry * 1 =  5
// $carry = $carry * 2 = 10
// $carry = $carry * 3 = 30
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(30)

Beispiel #2 Ds\Sequence::reduce() without an initial value example

<?php
$sequence = new \Ds\Vector([1, 2, 3]);

var_dump($sequence->reduce(function($carry, $value) {
    return $carry + $value + 5;
}));

// Iterations:
//
// $carry = $initial = null
//
// $carry = $carry + 1 + 5 =  6
// $carry = $carry + 2 + 5 = 13
// $carry = $carry + 3 + 5 = 21
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(21)
Ds\Sequence::push
Ds\Sequence::remove
Sequence


Removes and returns a value by index.

Ds\Sequence::reduce
Ds\Sequence::reverse
Sequence
PHP Manual

Ds\Sequence::remove

(PECL ds >= 1.0.0)

Ds\Sequence::remove — Removes and returns a value by index.

Beschreibung

abstract public mixed Ds\Sequence::remove ( int $index )

Removes and returns a value by index.

Parameter-Liste

index

The index of the value to remove.

Rückgabewerte

The value that was removed.

Fehler/Exceptions

OutOfRangeException if the index is not valid.

Beispiele

Beispiel #1 Ds\Sequence::remove() example

<?php
$sequence = new \Ds\Vector(["a", "b", "c"]);

var_dump($sequence->remove(1));
var_dump($sequence->remove(0));
var_dump($sequence->remove(0));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(1) "b"
string(1) "a"
string(1) "c"
Ds\Sequence::reduce
Ds\Sequence::reverse
Sequence


Reverses the sequence in-place.

Ds\Sequence::remove
Ds\Sequence::reversed
Sequence
PHP Manual

Ds\Sequence::reverse

(PECL ds >= 1.0.0)

Ds\Sequence::reverse — Reverses the sequence in-place.

Beschreibung

abstract public void Ds\Sequence::reverse ( void )

Reverses the sequence in-place.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Sequence::reverse() example

<?php
$sequence = new \Ds\Vector(["a", "b", "c"]);
$sequence->reverse();

print_r($sequence);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Vector Object
(
    [0] => c
    [1] => b
    [2] => a
)
Ds\Sequence::remove
Ds\Sequence::reversed
Sequence


Returns a reversed copy.

Ds\Sequence::reverse
Ds\Sequence::rotate
Sequence
PHP Manual

Ds\Sequence::reversed

(PECL ds >= 1.0.0)

Ds\Sequence::reversed — Returns a reversed copy.

Beschreibung

abstract public Ds\Sequence Ds\Sequence::reversed ( void )

Returns a reversed copy of the sequence.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A reversed copy of the sequence.

Hinweis:

The current instance is not affected.

Beispiele

Beispiel #1 Ds\Sequence::reversed() example

<?php
$sequence = new \Ds\Vector(["a", "b", "c"]);

print_r($sequence->reversed());
print_r($sequence);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Vector Object
(
    [0] => c
    [1] => b
    [2] => a
)
Ds\Vector Object
(
    [0] => a
    [1] => b
    [2] => c
)
Ds\Sequence::reverse
Ds\Sequence::rotate
Sequence


Rotates the sequence by a given number of rotations.

Ds\Sequence::reversed
Ds\Sequence::set
Sequence
PHP Manual

Ds\Sequence::rotate

(PECL ds >= 1.0.0)

Ds\Sequence::rotate — Rotates the sequence by a given number of rotations.

Beschreibung

abstract public void Ds\Sequence::rotate ( int $rotations )

Rotates the sequence by a given number of rotations, which is equivalent to successively calling $sequence->push($sequence->shift()) if the number of rotations is positive, or $sequence->unshift($sequence->pop()) if negative.

Parameter-Liste

rotations

The number of times the sequence should be rotated.

Rückgabewerte

Es wird kein Wert zurückgegeben.. The sequence of the current instance will be rotated.

Beispiele

Beispiel #1 Ds\Sequence::rotate() example

<?php
$sequence = new \Ds\Vector(["a", "b", "c", "d"]);

$sequence->rotate(1);  // "a" is shifted, then pushed.
print_r($sequence);

$sequence->rotate(2);  // "b" and "c" are both shifted, the pushed.
print_r($sequence);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

(
    [0] => b
    [1] => c
    [2] => d
    [3] => a
)
Ds\Vector Object
(
    [0] => d
    [1] => a
    [2] => b
    [3] => c
)
Ds\Sequence::reversed
Ds\Sequence::set
Sequence


Updates a value at a given index.

Ds\Sequence::rotate
Ds\Sequence::shift
Sequence
PHP Manual

Ds\Sequence::set

(PECL ds >= 1.0.0)

Ds\Sequence::set — Updates a value at a given index.

Beschreibung

abstract public void Ds\Sequence::set ( int $index , mixed $value )

Updates a value at a given index.

Parameter-Liste

index

The index of the value to update.

value

The new value.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

OutOfRangeException if the index is not valid.

Beispiele

Beispiel #1 Ds\Sequence::set() example

<?php
$sequence = new \Ds\Vector(["a", "b", "c"]);

$sequence->set(1, "_");
print_r($sequence);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Vector Object
(
    [0] => a
    [1] => _
    [2] => c
)

Beispiel #2 Ds\Sequence::set() example using array syntax

<?php
$sequence = new \Ds\Vector(["a", "b", "c"]);

$sequence[1] = "_";
print_r($sequence);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Vector Object
(
    [0] => a
    [1] => _
    [2] => c
)
Ds\Sequence::rotate
Ds\Sequence::shift
Sequence


Removes and returns the first value.

Ds\Sequence::set
Ds\Sequence::slice
Sequence
PHP Manual

Ds\Sequence::shift

(PECL ds >= 1.0.0)

Ds\Sequence::shift — Removes and returns the first value.

Beschreibung

abstract public mixed Ds\Sequence::shift ( void )

Removes and returns the first value.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The first value, which was removed.

Fehler/Exceptions

UnderflowException if empty.

Beispiele

Beispiel #1 Ds\Sequence::shift() example

<?php
$sequence = new \Ds\Vector(["a", "b", "c"]);

var_dump($sequence->shift());
var_dump($sequence->shift());
var_dump($sequence->shift());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(1) "a"
string(1) "b"
string(1) "c"
Ds\Sequence::set
Ds\Sequence::slice
Sequence


Returns a sub-sequence of a given range.

Ds\Sequence::shift
Ds\Sequence::sort
Sequence
PHP Manual

Ds\Sequence::slice

(PECL ds >= 1.0.0)

Ds\Sequence::slice — Returns a sub-sequence of a given range.

Beschreibung

abstract public Ds\Sequence Ds\Sequence::slice ( int $index [, int $length ] )

Creates a sub-sequence of a given range.

Parameter-Liste

index

The index at which the sub-sequence starts.

If positive, the sequence will start at that index in the sequence. If negative, the sequence will start that far from the end.

length

If a length is given and is positive, the resulting sequence will have up to that many values in it. If the length results in an overflow, only values up to the end of the sequence will be included. If a length is given and is negative, the sequence will stop that many values from the end. If a length is not provided, the resulting sequence will contain all values between the index and the end of the sequence.

Rückgabewerte

A sub-sequence of the given range.

Beispiele

Beispiel #1 Ds\Sequence::slice() example

<?php
$sequence = new \Ds\Vector(["a", "b", "c", "d", "e"]);

// Slice from 2 onwards
print_r($sequence->slice(2));

// Slice from 1, for a length of 3
print_r($sequence->slice(1, 3));

// Slice from 1 onwards
print_r($sequence->slice(1));

// Slice from 2 from the end onwards
print_r($sequence->slice(-2));

// Slice from 1 to 1 from the end
print_r($sequence->slice(1, -1));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Vector Object
(
    [0] => c
    [1] => d
    [2] => e
)
Ds\Vector Object
(
    [0] => b
    [1] => c
    [2] => d
)
Ds\Vector Object
(
    [0] => b
    [1] => c
    [2] => d
    [3] => e
)
Ds\Vector Object
(
    [0] => d
    [1] => e
)
Ds\Vector Object
(
    [0] => b
    [1] => c
    [2] => d
)
Ds\Sequence::shift
Ds\Sequence::sort
Sequence


Sorts the sequence in-place.

Ds\Sequence::slice
Ds\Sequence::sorted
Sequence
PHP Manual

Ds\Sequence::sort

(PECL ds >= 1.0.0)

Ds\Sequence::sort — Sorts the sequence in-place.

Beschreibung

abstract public void Ds\Sequence::sort ([ callable $comparator ] )

Sorts the sequence in-place, using an optional comparator function.

Parameter-Liste

comparator

Die Vergleichsfunktion muss einen Integer kleiner als, gleich oder größer als Null zurückgeben, wenn das erste Argument respektive kleiner, gleich oder größer als das zweite ist.

int callback ( mixed $a, mixed $b )
Achtung

Returning non-integer values from the comparison function, such as float, will result in an internal cast to integer of the callback's return value. So values such as 0.99 and 0.1 will both be cast to an integer value of 0, which will compare such values as equal.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Sequence::sort() example

<?php
$sequence = new \Ds\Vector([4, 5, 1, 3, 2]);
$sequence->sort();

print_r($sequence);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Beispiel #2 Ds\Sequence::sort() example using a comparator

<?php
$sequence = new \Ds\Vector([4, 5, 1, 3, 2]);

$sequence->sort(function($a, $b) {
    return $b <=> $a;
});

print_r($sequence);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Vector Object
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)
Ds\Sequence::slice
Ds\Sequence::sorted
Sequence


Returns a sorted copy.

Ds\Sequence::sort
Ds\Sequence::sum
Sequence
PHP Manual

Ds\Sequence::sorted

(PECL ds >= 1.0.0)

Ds\Sequence::sorted — Returns a sorted copy.

Beschreibung

abstract public Ds\Sequence Ds\Sequence::sorted ([ callable $comparator ] )

Returns a sorted copy, using an optional comparator function.

Parameter-Liste

comparator

Die Vergleichsfunktion muss einen Integer kleiner als, gleich oder größer als Null zurückgeben, wenn das erste Argument respektive kleiner, gleich oder größer als das zweite ist.

int callback ( mixed $a, mixed $b )
Achtung

Returning non-integer values from the comparison function, such as float, will result in an internal cast to integer of the callback's return value. So values such as 0.99 and 0.1 will both be cast to an integer value of 0, which will compare such values as equal.

Rückgabewerte

Returns a sorted copy of the sequence.

Beispiele

Beispiel #1 Ds\Sequence::sorted() example

<?php
$sequence = new \Ds\Vector([4, 5, 1, 3, 2]);

print_r($sequence->sorted());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Beispiel #2 Ds\Sequence::sorted() example using a comparator

<?php
$sequence = new \Ds\Vector([4, 5, 1, 3, 2]);

$sorted = $sequence->sorted(function($a, $b) {
    return $b <=> $a;
});

print_r($sorted);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Vector Object
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)
Ds\Sequence::sort
Ds\Sequence::sum
Sequence


Returns the sum of all values in the sequence.

Ds\Sequence::sorted
Ds\Sequence::unshift
Sequence
PHP Manual

Ds\Sequence::sum

(PECL ds >= 1.0.0)

Ds\Sequence::sum — Returns the sum of all values in the sequence.

Beschreibung

abstract public number Ds\Sequence::sum ( void )

Returns the sum of all values in the sequence.

Hinweis:

Arrays and objects are considered equal to zero when calculating the sum.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The sum of all the values in the sequence as either a float or int depending on the values in the sequence.

Beispiele

Beispiel #1 Ds\Sequence::sum() integer example

<?php
$sequence = new \Ds\Vector([1, 2, 3]);
var_dump($sequence->sum());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(6)

Beispiel #2 Ds\Sequence::sum() float example

<?php
$sequence = new \Ds\Vector([1, 2.5, 3]);
var_dump($sequence->sum());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

float(6.5)
Ds\Sequence::sorted
Ds\Sequence::unshift
Sequence


Adds values to the front of the sequence.

Ds\Sequence::sum
Vector
Sequence
PHP Manual

Ds\Sequence::unshift

(PECL ds >= 1.0.0)

Ds\Sequence::unshift — Adds values to the front of the sequence.

Beschreibung

abstract public void Ds\Sequence::unshift ([ mixed $values ] )

Adds values to the front of the sequence, moving all the current values forward to make room for the new values.

Parameter-Liste

values

The values to add to the front of the sequence.

Hinweis:

Multiple values will be added in the same order that they are passed.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Sequence::unshift() example

<?php
$sequence = new \Ds\Vector([1, 2, 3]);

$sequence->unshift("a");
$sequence->unshift("b", "c");

print_r($sequence);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Vector Object
(
    [0] => b
    [1] => c
    [2] => a
    [3] => 1
    [4] => 2
    [5] => 3
)
Ds\Sequence::sum
Vector
Sequence


The Vector class

(No version information available, might only be in Git)

Einführung

A Vector is a sequence of values in a contiguous buffer that grows and shrinks automatically. It’s the most efficient sequential structure because a value’s index is a direct mapping to its index in the buffer, and the growth factor isn't bound to a specific multiple or exponent.

Strengths

  • Supports array syntax (square brackets).
  • Uses less overall memory than an array for the same number of values.
  • Automatically frees allocated memory when its size drops low enough.
  • Capacity does not have to be a power of 2.
  • get(),
set(),
push(),
pop() are all O(1).

Weaknesses

  • shift(),
unshift(),
insert() and
remove() are all O(n).

Klassenbeschreibung

Ds\Vector implements Ds\Sequence {
/* Constants */
const int MIN_CAPACITY = 10 ;
/* Methoden */
public void allocate ( int $capacity )
public void apply ( callable $callback )
public int capacity ( void )
public void clear ( void )
public bool contains ([ mixed $...values ] )
public Ds\Vector copy ( void )
public Ds\Vector filter ([ callable $callback ] )
public mixed find ( mixed $value )
public mixed first ( void )
public mixed get ( int $index )
public void insert ( int $index [, mixed $...values ] )
public bool isEmpty ( void )
public string join ([ string $glue ] )
public mixed last ( void )
public Ds\Vector map ( callable $callback )
public Ds\Vector merge ( mixed $values )
public mixed pop ( void )
public void push ([ mixed $...values ] )
public mixed reduce ( callable $callback [, mixed $initial ] )
public mixed remove ( int $index )
public void reverse ( void )
public Ds\Vector reversed ( void )
public void rotate ( int $rotations )
public void set ( int $index , mixed $value )
public mixed shift ( void )
public Ds\Vector slice ( int $index [, int $length ] )
public void sort ([ callable $comparator ] )
public Ds\Vector sorted ([ callable $comparator ] )
public number sum ( void )
public array toArray ( void )
public void unshift ([ mixed $values ] )
}

Vordefinierte Konstanten

Ds\Vector::MIN_CAPACITY

Inhaltsverzeichnis

  • Ds\Vector::allocate — Allocates enough memory for a required capacity.
  • Ds\Vector::apply — Updates all values by applying a callback function to each value.
  • Ds\Vector::capacity — Returns the current capacity.
  • Ds\Vector::clear — Removes all values.
  • Ds\Vector::__construct — Creates a new instance.
  • Ds\Vector::contains — Determines if the vector contains given values.
  • Ds\Vector::copy — Returns a shallow copy of the vector.
  • Ds\Vector::count — Returns the number of values in the collection.
  • Ds\Vector::filter — Creates a new vector using a callable to determine which values to include.
  • Ds\Vector::find — Attempts to find a value's index.
  • Ds\Vector::first — Returns the first value in the vector.
  • Ds\Vector::get — Returns the value at a given index.
  • Ds\Vector::insert — Inserts values at a given index.
  • Ds\Vector::isEmpty — Returns whether the vector is empty
  • Ds\Vector::join — Joins all values together as a string.
  • Ds\Vector::jsonSerialize — Returns a representation that can be converted to JSON.
  • Ds\Vector::last — Returns the last value.
  • Ds\Vector::map — Returns the result of applying a callback to each value.
  • Ds\Vector::merge — Returns the result of adding all given values to the vector.
  • Ds\Vector::pop — Removes and returns the last value.
  • Ds\Vector::push — Adds values to the end of the vector.
  • Ds\Vector::reduce — Reduces the vector to a single value using a callback function.
  • Ds\Vector::remove — Removes and returns a value by index.
  • Ds\Vector::reverse — Reverses the vector in-place.
  • Ds\Vector::reversed — Returns a reversed copy.
  • Ds\Vector::rotate — Rotates the vector by a given number of rotations.
  • Ds\Vector::set — Updates a value at a given index.
  • Ds\Vector::shift — Removes and returns the first value.
  • Ds\Vector::slice — Returns a sub-vector of a given range.
  • Ds\Vector::sort — Sorts the vector in-place.
  • Ds\Vector::sorted — Returns a sorted copy.
  • Ds\Vector::sum — Returns the sum of all values in the vector.
  • Ds\Vector::toArray — Converts the vector to an array.
  • Ds\Vector::unshift — Adds values to the front of the vector.
Ds\Sequence::unshift
Ds\Vector::allocate
Data Structures


Allocates enough memory for a required capacity.

Vector
Ds\Vector::apply
Vector
PHP Manual

Ds\Vector::allocate

(PECL ds >= 1.0.0)

Ds\Vector::allocate — Allocates enough memory for a required capacity.

Beschreibung

public void Ds\Vector::allocate ( int $capacity )

Ensures that enough memory is allocated for a required capacity. This removes the need to reallocate the internal as values are added.

Parameter-Liste

capacity

The number of values for which capacity should be allocated.

Hinweis:

Capacity will stay the same if this value is less than or equal to the current capacity.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Vector::allocate() example

<?php
$vector = new \Ds\Vector();
var_dump($vector->capacity());

$vector->allocate(100);
var_dump($vector->capacity());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(10)
int(100)
Vector
Ds\Vector::apply
Vector


Updates all values by applying a callback function to each value.

Ds\Vector::allocate
Ds\Vector::capacity
Vector
PHP Manual

Ds\Vector::apply

(PECL ds >= 1.0.0)

Ds\Vector::apply — Updates all values by applying a callback function to each value.

Beschreibung

public void Ds\Vector::apply ( callable $callback )

Updates all values by applying a callback function to each value in the vector.

Parameter-Liste

callback

mixed callback ( mixed $value )

A callable to apply to each value in the vector.

The callback should return what the value should be replaced by.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Vector::apply() example

<?php
$vector = new \Ds\Vector([1, 2, 3]);
$vector->apply(function($value) { return $value * 2; });

print_r($vector);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Vector Object
(
    [0] => 2
    [1] => 4
    [2] => 6
)
Ds\Vector::allocate
Ds\Vector::capacity
Vector


Returns the current capacity.

Ds\Vector::apply
Ds\Vector::clear
Vector
PHP Manual

Ds\Vector::capacity

(PECL ds >= 1.0.0)

Ds\Vector::capacity — Returns the current capacity.

Beschreibung

public int Ds\Vector::capacity ( void )

Returns the current capacity.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current capacity.

Beispiele

Beispiel #1 Ds\Vector::capacity() example

<?php
$vector = new \Ds\Vector();
var_dump($vector->capacity());

$vector->push(...range(1, 50));
var_dump($vector->capacity());

$vector[] = "a";
var_dump($vector->capacity());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(10)
int(50)
int(75)
Ds\Vector::apply
Ds\Vector::clear
Vector


Removes all values.

Ds\Vector::capacity
Ds\Vector::__construct
Vector
PHP Manual

Ds\Vector::clear

(PECL ds >= 1.0.0)

Ds\Vector::clear — Removes all values.

Beschreibung

public void Ds\Vector::clear ( void )

Removes all values from the vector.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Vector::clear() example

<?php
$vector = new \Ds\Vector([1, 2, 3]);
print_r($vector);

$vector->clear();
print_r($vector);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
Ds\Vector Object
(
)
Ds\Vector::capacity
Ds\Vector::__construct
Vector


Creates a new instance.

Ds\Vector::clear
Ds\Vector::contains
Vector
PHP Manual

Ds\Vector::__construct

(PECL ds >= 1.0.0)

Ds\Vector::__construct — Creates a new instance.

Beschreibung

public Ds\Vector::__construct ([ mixed $values ] )

Creates a new instance, using either a traversable object or an array for the initial values.

Parameter-Liste

values

A traversable object or an array to use for the initial values.

Beispiele

Beispiel #1 Ds\Vector::__construct() example

<?php
$vector = new \Ds\Vector();
var_dump($vector);

$vector = new \Ds\Vector([1, 2, 3]);
var_dump($vector);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Vector)#2 (0) {
}
object(Ds\Vector)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}
Ds\Vector::clear
Ds\Vector::contains
Vector


Determines if the vector contains given values.

Ds\Vector::__construct
Ds\Vector::copy
Vector
PHP Manual

Ds\Vector::contains

(PECL ds >= 1.0.0)

Ds\Vector::contains — Determines if the vector contains given values.

Beschreibung

public bool Ds\Vector::contains ([ mixed $...values ] )

Determines if the vector contains all values.

Parameter-Liste

values

Values to check.

Rückgabewerte

FALSE if any of the provided values are not in the vector, TRUE otherwise.

Beispiele

Beispiel #1 Ds\Vector::contains() example

<?php
$vector = new \Ds\Vector(['a', 'b', 'c', 1, 2, 3]);

var_dump($vector->contains('a'));                // true
var_dump($vector->contains('a', 'b'));           // true
var_dump($vector->contains('c', 'd'));           // false

var_dump($vector->contains(...['c', 'b', 'a'])); // true

// Always strict
var_dump($vector->contains(1));                  // true
var_dump($vector->contains('1'));                // false

var_dump($sequece->contains(...[]));               // true
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(true)
bool(true)
bool(false)
bool(true)
bool(true)
bool(false)
bool(true)
Ds\Vector::__construct
Ds\Vector::copy
Vector


Returns a shallow copy of the vector.

Ds\Vector::contains
Ds\Vector::count
Vector
PHP Manual

Ds\Vector::copy

(PECL ds >= 1.0.0)

Ds\Vector::copy — Returns a shallow copy of the vector.

Beschreibung

public Ds\Vector Ds\Vector::copy ( void )

Returns a shallow copy of the vector.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a shallow copy of the vector.

Beispiele

Beispiel #1 Ds\Vector::copy() example

<?php
$a = new \Ds\Vector([1, 2, 3]);
$b = $a->copy();

// Updating the copy doesn't affect the original
$b->push(4);

print_r($a);
print_r($b);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
)
Ds\Vector::contains
Ds\Vector::count
Vector


Returns the number of values in the collection.

Ds\Vector::copy
Ds\Vector::filter
Vector
PHP Manual

Ds\Vector::count

(PECL ds >= 1.0.0)

Ds\Vector::count — Returns the number of values in the collection.

See Countable::count()

Ds\Vector::copy
Ds\Vector::filter
Vector


Creates a new vector using a callable to determine which values to include.

Ds\Vector::count
Ds\Vector::find
Vector
PHP Manual

Ds\Vector::filter

(PECL ds >= 1.0.0)

Ds\Vector::filter — Creates a new vector using a callable to determine which values to include.

Beschreibung

public Ds\Vector Ds\Vector::filter ([ callable $callback ] )

Creates a new vector using a callable to determine which values to include.

Parameter-Liste

callback

bool callback ( mixed $value )

Optional callable which returns TRUE if the value should be included, FALSE otherwise.

If a callback is not provided, only values which are TRUE (see converting to boolean) will be included.

Rückgabewerte

A new vector containing all the values for which either the callback returned TRUE, or all values that convert to TRUE if a callback was not provided.

Beispiele

Beispiel #1 Ds\Vector::filter() example using callback function

<?php
$vector = new \Ds\Vector([1, 2, 3, 4, 5]);

var_dump($vector->filter(function($value) {
    return $value % 2 == 0;
}));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Vector)#3 (2) {
  [0]=>
  int(2)
  [1]=>
  int(4)
}

Beispiel #2 Ds\Vector::filter() example without a callback function

<?php
$vector = new \Ds\Vector([0, 1, 'a', true, false]);

var_dump($vector->filter());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Vector)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  string(1) "a"
  [2]=>
  bool(true)
}
Ds\Vector::count
Ds\Vector::find
Vector


Attempts to find a value's index.

Ds\Vector::filter
Ds\Vector::first
Vector
PHP Manual

Ds\Vector::find

(PECL ds >= 1.0.0)

Ds\Vector::find — Attempts to find a value's index.

Beschreibung

public mixed Ds\Vector::find ( mixed $value )

Returns the index of the value, or FALSE if not found.

Parameter-Liste

value

The value to find.

Rückgabewerte

The index of the value, or FALSE if not found.

Hinweis:

Values will be compared by value and by type.

Beispiele

Beispiel #1 Ds\Vector::find() example

<?php
$vector = new \Ds\Vector(["a", 1, true]);

var_dump($vector->find("a")); // 0
var_dump($vector->find("b")); // false
var_dump($vector->find("1")); // false
var_dump($vector->find(1));   // 1
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(0)
bool(false)
bool(false)
int(1)
Ds\Vector::filter
Ds\Vector::first
Vector


Returns the first value in the vector.

Ds\Vector::find
Ds\Vector::get
Vector
PHP Manual

Ds\Vector::first

(PECL ds >= 1.0.0)

Ds\Vector::first — Returns the first value in the vector.

Beschreibung

public mixed Ds\Vector::first ( void )

Returns the first value in the vector.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The first value in the vector.

Fehler/Exceptions

UnderflowException if empty.

Beispiele

Beispiel #1 Ds\Vector::first() example

<?php
$vector = new \Ds\Vector([1, 2, 3]);
var_dump($vector->first());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(1)
Ds\Vector::find
Ds\Vector::get
Vector


Returns the value at a given index.

Ds\Vector::first
Ds\Vector::insert
Vector
PHP Manual

Ds\Vector::get

(PECL ds >= 1.0.0)

Ds\Vector::get — Returns the value at a given index.

Beschreibung

public mixed Ds\Vector::get ( int $index )

Returns the value at a given index.

Parameter-Liste

index

The index to access, starting at 0.

Rückgabewerte

The value at the requested index.

Fehler/Exceptions

OutOfRangeException if the index is not valid.

Beispiele

Beispiel #1 Ds\Vector::get() example

<?php
$vector = new \Ds\Vector(["a", "b", "c"]);

var_dump($vector->get(0));
var_dump($vector->get(1));
var_dump($vector->get(2));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(1) "a"
string(1) "b"
string(1) "c"

Beispiel #2 Ds\Vector::get() example using array syntax

<?php
$vector = new \Ds\Vector(["a", "b", "c"]);

var_dump($vector[0]);
var_dump($vector[1]);
var_dump($vector[2]);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(1) "a"
string(1) "b"
string(1) "c"
Ds\Vector::first
Ds\Vector::insert
Vector


Inserts values at a given index.

Ds\Vector::get
Ds\Vector::isEmpty
Vector
PHP Manual

Ds\Vector::insert

(PECL ds >= 1.0.0)

Ds\Vector::insert — Inserts values at a given index.

Beschreibung

public void Ds\Vector::insert ( int $index [, mixed $...values ] )

Inserts values into the vector at a given index.

Parameter-Liste

index

The index at which to insert. 0 <= index <= count

Hinweis:

You can insert at the index equal to the number of values.

values

The value or values to insert.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

OutOfRangeException if the index is not valid.

Beispiele

Beispiel #1 Ds\Vector::insert() example

<?php
$vector = new \Ds\Vector();

$vector->insert(0, "e");             // [e]
$vector->insert(1, "f");             // [e, f]
$vector->insert(2, "g");             // [e, f, g]
$vector->insert(0, "a", "b");        // [a, b, e, f, g]
$vector->insert(2, ...["c", "d"]);   // [a, b, c, d, e, f, g]

var_dump($vector);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Vector)#1 (7) {
  [0]=>
  string(1) "a"
  [1]=>
  string(1) "b"
  [2]=>
  string(1) "c"
  [3]=>
  string(1) "d"
  [4]=>
  string(1) "e"
  [5]=>
  string(1) "f"
  [6]=>
  string(1) "g"
}
Ds\Vector::get
Ds\Vector::isEmpty
Vector


Returns whether the vector is empty

Ds\Vector::insert
Ds\Vector::join
Vector
PHP Manual

Ds\Vector::isEmpty

(PECL ds >= 1.0.0)

Ds\Vector::isEmpty — Returns whether the vector is empty

Beschreibung

public bool Ds\Vector::isEmpty ( void )

Returns whether the vector is empty.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the vector is empty, FALSE otherwise.

Beispiele

Beispiel #1 Ds\Vector::isEmpty() example

<?php
$a = new \Ds\Vector([1, 2, 3]);
$b = new \Ds\Vector();

var_dump($a->isEmpty());
var_dump($b->isEmpty());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(false)
bool(true)
Ds\Vector::insert
Ds\Vector::join
Vector


Joins all values together as a string.

Ds\Vector::isEmpty
Ds\Vector::jsonSerialize
Vector
PHP Manual

Ds\Vector::join

(PECL ds >= 1.0.0)

Ds\Vector::join — Joins all values together as a string.

Beschreibung

public string Ds\Vector::join ([ string $glue ] )

Joins all values together as a string using an optional separator between each value.

Parameter-Liste

glue

An optional string to separate each value.

Rückgabewerte

All values of the vector joined together as a string.

Beispiele

Beispiel #1 Ds\Vector::join() example using a separator string

<?php
$vector = new \Ds\Vector(["a", "b", "c", 1, 2, 3]);

var_dump($vector->join("|"));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(11) "a|b|c|1|2|3"

Beispiel #2 Ds\Vector::join() example without a separator string

<?php
$vector = new \Ds\Vector(["a", "b", "c", 1, 2, 3]);

var_dump($vector->join());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(11) "abc123"
Ds\Vector::isEmpty
Ds\Vector::jsonSerialize
Vector


Returns a representation that can be converted to JSON.

Ds\Vector::join
Ds\Vector::last
Vector
PHP Manual

Ds\Vector::jsonSerialize

(PECL ds >= 1.0.0)

Ds\Vector::jsonSerialize — Returns a representation that can be converted to JSON.

See JsonSerializable::jsonSerialize()

Hinweis:

You should never need to call this directly.

Ds\Vector::join
Ds\Vector::last
Vector


Returns the last value.

Ds\Vector::jsonSerialize
Ds\Vector::map
Vector
PHP Manual

Ds\Vector::last

(PECL ds >= 1.0.0)

Ds\Vector::last — Returns the last value.

Beschreibung

public mixed Ds\Vector::last ( void )

Returns the last value in the vector.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The last value in the vector.

Fehler/Exceptions

UnderflowException if empty.

Beispiele

Beispiel #1 Ds\Vector::last() example

<?php
$vector = new \Ds\Vector([1, 2, 3]);
var_dump($vector->last());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(3)
Ds\Vector::jsonSerialize
Ds\Vector::map
Vector


Returns the result of applying a callback to each value.

Ds\Vector::last
Ds\Vector::merge
Vector
PHP Manual

Ds\Vector::map

(PECL ds >= 1.0.0)

Ds\Vector::map — Returns the result of applying a callback to each value.

Beschreibung

public Ds\Vector Ds\Vector::map ( callable $callback )

Returns the result of applying a callback function to each value in the vector.

Parameter-Liste

callback

mixed callback ( mixed $value )

A callable to apply to each value in the vector.

The callable should return what the new value will be in the new vector.

Rückgabewerte

The result of applying a callback to each value in the vector.

Hinweis:

The values of the current instance won't be affected.

Beispiele

Beispiel #1 Ds\Vector::map() example

<?php
$vector = new \Ds\Vector([1, 2, 3]);

print_r($vector->map(function($value) { return $value * 2; }));
print_r($vector);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Vector Object
(
    [0] => 2
    [1] => 4
    [2] => 6
)
Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
Ds\Vector::last
Ds\Vector::merge
Vector


Returns the result of adding all given values to the vector.

Ds\Vector::map
Ds\Vector::pop
Vector
PHP Manual

Ds\Vector::merge

(PECL ds >= 1.0.0)

Ds\Vector::merge — Returns the result of adding all given values to the vector.

Beschreibung

public Ds\Vector Ds\Vector::merge ( mixed $values )

Returns the result of adding all given values to the vector.

Parameter-Liste

values

A traversable object or an array.

Rückgabewerte

The result of adding all given values to the vector, effectively the same as adding the values to a copy, then returning that copy.

Hinweis:

The current instance won't be affected.

Beispiele

Beispiel #1 Ds\Vector::merge() example

<?php
$vector = new \Ds\Vector([1, 2, 3]);

var_dump($vector->merge([4, 5, 6]));
var_dump($vector);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Vector)#2 (6) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  [3]=>
  int(4)
  [4]=>
  int(5)
  [5]=>
  int(6)
}
object(Ds\Vector)#1 (3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}
Ds\Vector::map
Ds\Vector::pop
Vector


Removes and returns the last value.

Ds\Vector::merge
Ds\Vector::push
Vector
PHP Manual

Ds\Vector::pop

(PECL ds >= 1.0.0)

Ds\Vector::pop — Removes and returns the last value.

Beschreibung

public mixed Ds\Vector::pop ( void )

Removes and returns the last value.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The removed last value.

Fehler/Exceptions

UnderflowException if empty.

Beispiele

Beispiel #1 Ds\Vector::pop() example

<?php
$vector = new \Ds\Vector([1, 2, 3]);

var_dump($vector->pop());
var_dump($vector->pop());
var_dump($vector->pop());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(3)
int(2)
int(1)
Ds\Vector::merge
Ds\Vector::push
Vector


Adds values to the end of the vector.

Ds\Vector::pop
Ds\Vector::reduce
Vector
PHP Manual

Ds\Vector::push

(PECL ds >= 1.0.0)

Ds\Vector::push — Adds values to the end of the vector.

Beschreibung

public void Ds\Vector::push ([ mixed $...values ] )

Adds values to the end of the vector.

Parameter-Liste

values

The values to add.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Vector::push() example

<?php
$vector = new \Ds\Vector();

$vector->push("a");
$vector->push("b");
$vector->push("c", "d");
$vector->push(...["e", "f"]);

print_r($vector);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Vector Object
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
    [5] => f
)
Ds\Vector::pop
Ds\Vector::reduce
Vector


Reduces the vector to a single value using a callback function.

Ds\Vector::push
Ds\Vector::remove
Vector
PHP Manual

Ds\Vector::reduce

(PECL ds >= 1.0.0)

Ds\Vector::reduce — Reduces the vector to a single value using a callback function.

Beschreibung

public mixed Ds\Vector::reduce ( callable $callback [, mixed $initial ] )

Reduces the vector to a single value using a callback function.

Parameter-Liste

callback
mixed callback ( mixed $carry , mixed $value )
carry

The return value of the previous callback, or initial if it's the first iteration.

value

The value of the current iteration.

initial

The initial value of the carry value. Can be NULL.

Rückgabewerte

The return value of the final callback.

Beispiele

Beispiel #1 Ds\Vector::reduce() with initial value example

<?php
$vector = new \Ds\Vector([1, 2, 3]);

$callback = function($carry, $value) {
    return $carry * $value;
};

var_dump($vector->reduce($callback, 5));

// Iterations:
//
// $carry = $initial = 5
//
// $carry = $carry * 1 =  5
// $carry = $carry * 2 = 10
// $carry = $carry * 3 = 30
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(30)

Beispiel #2 Ds\Vector::reduce() without an initial value example

<?php
$vector = new \Ds\Vector([1, 2, 3]);

var_dump($vector->reduce(function($carry, $value) {
    return $carry + $value + 5;
}));

// Iterations:
//
// $carry = $initial = null
//
// $carry = $carry + 1 + 5 =  6
// $carry = $carry + 2 + 5 = 13
// $carry = $carry + 3 + 5 = 21
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(21)
Ds\Vector::push
Ds\Vector::remove
Vector


Removes and returns a value by index.

Ds\Vector::reduce
Ds\Vector::reverse
Vector
PHP Manual

Ds\Vector::remove

(PECL ds >= 1.0.0)

Ds\Vector::remove — Removes and returns a value by index.

Beschreibung

public mixed Ds\Vector::remove ( int $index )

Removes and returns a value by index.

Parameter-Liste

index

The index of the value to remove.

Rückgabewerte

The value that was removed.

Fehler/Exceptions

OutOfRangeException if the index is not valid.

Beispiele

Beispiel #1 Ds\Vector::remove() example

<?php
$vector = new \Ds\Vector(["a", "b", "c"]);

var_dump($vector->remove(1));
var_dump($vector->remove(0));
var_dump($vector->remove(0));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(1) "b"
string(1) "a"
string(1) "c"
Ds\Vector::reduce
Ds\Vector::reverse
Vector


Reverses the vector in-place.

Ds\Vector::remove
Ds\Vector::reversed
Vector
PHP Manual

Ds\Vector::reverse

(PECL ds >= 1.0.0)

Ds\Vector::reverse — Reverses the vector in-place.

Beschreibung

public void Ds\Vector::reverse ( void )

Reverses the vector in-place.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Vector::reverse() example

<?php
$vector = new \Ds\Vector(["a", "b", "c"]);
$vector->reverse();

print_r($vector);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Vector Object
(
    [0] => c
    [1] => b
    [2] => a
)
Ds\Vector::remove
Ds\Vector::reversed
Vector


Returns a reversed copy.

Ds\Vector::reverse
Ds\Vector::rotate
Vector
PHP Manual

Ds\Vector::reversed

(PECL ds >= 1.0.0)

Ds\Vector::reversed — Returns a reversed copy.

Beschreibung

public Ds\Vector Ds\Vector::reversed ( void )

Returns a reversed copy of the vector.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A reversed copy of the vector.

Hinweis:

The current instance is not affected.

Beispiele

Beispiel #1 Ds\Vector::reversed() example

<?php
$vector = new \Ds\Vector(["a", "b", "c"]);

print_r($vector->reversed());
print_r($vector);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Vector Object
(
    [0] => c
    [1] => b
    [2] => a
)
Ds\Vector Object
(
    [0] => a
    [1] => b
    [2] => c
)
Ds\Vector::reverse
Ds\Vector::rotate
Vector


Rotates the vector by a given number of rotations.

Ds\Vector::reversed
Ds\Vector::set
Vector
PHP Manual

Ds\Vector::rotate

(PECL ds >= 1.0.0)

Ds\Vector::rotate — Rotates the vector by a given number of rotations.

Beschreibung

public void Ds\Vector::rotate ( int $rotations )

Rotates the vector by a given number of rotations, which is equivalent to successively calling $vector->push($vector->shift()) if the number of rotations is positive, or $vector->unshift($vector->pop()) if negative.

Parameter-Liste

rotations

The number of times the vector should be rotated.

Rückgabewerte

Es wird kein Wert zurückgegeben.. The vector of the current instance will be rotated.

Beispiele

Beispiel #1 Ds\Vector::rotate() example

<?php
$vector = new \Ds\Vector(["a", "b", "c", "d"]);

$vector->rotate(1);  // "a" is shifted, then pushed.
print_r($vector);

$vector->rotate(2);  // "b" and "c" are both shifted, the pushed.
print_r($vector);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

(
    [0] => b
    [1] => c
    [2] => d
    [3] => a
)
Ds\Vector Object
(
    [0] => d
    [1] => a
    [2] => b
    [3] => c
)
Ds\Vector::reversed
Ds\Vector::set
Vector


Updates a value at a given index.

Ds\Vector::rotate
Ds\Vector::shift
Vector
PHP Manual

Ds\Vector::set

(PECL ds >= 1.0.0)

Ds\Vector::set — Updates a value at a given index.

Beschreibung

public void Ds\Vector::set ( int $index , mixed $value )

Updates a value at a given index.

Parameter-Liste

index

The index of the value to update.

value

The new value.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

OutOfRangeException if the index is not valid.

Beispiele

Beispiel #1 Ds\Vector::set() example

<?php
$vector = new \Ds\Vector(["a", "b", "c"]);

$vector->set(1, "_");
print_r($vector);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Vector Object
(
    [0] => a
    [1] => _
    [2] => c
)

Beispiel #2 Ds\Vector::set() example using array syntax

<?php
$vector = new \Ds\Vector(["a", "b", "c"]);

$vector[1] = "_";
print_r($vector);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Vector Object
(
    [0] => a
    [1] => _
    [2] => c
)
Ds\Vector::rotate
Ds\Vector::shift
Vector


Removes and returns the first value.

Ds\Vector::set
Ds\Vector::slice
Vector
PHP Manual

Ds\Vector::shift

(PECL ds >= 1.0.0)

Ds\Vector::shift — Removes and returns the first value.

Beschreibung

public mixed Ds\Vector::shift ( void )

Removes and returns the first value.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The first value, which was removed.

Fehler/Exceptions

UnderflowException if empty.

Beispiele

Beispiel #1 Ds\Vector::shift() example

<?php
$vector = new \Ds\Vector(["a", "b", "c"]);

var_dump($vector->shift());
var_dump($vector->shift());
var_dump($vector->shift());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(1) "a"
string(1) "b"
string(1) "c"
Ds\Vector::set
Ds\Vector::slice
Vector


Returns a sub-vector of a given range.

Ds\Vector::shift
Ds\Vector::sort
Vector
PHP Manual

Ds\Vector::slice

(PECL ds >= 1.0.0)

Ds\Vector::slice — Returns a sub-vector of a given range.

Beschreibung

public Ds\Vector Ds\Vector::slice ( int $index [, int $length ] )

Creates a sub-vector of a given range.

Parameter-Liste

index

The index at which the sub-vector starts.

If positive, the vector will start at that index in the vector. If negative, the vector will start that far from the end.

length

If a length is given and is positive, the resulting vector will have up to that many values in it. If the length results in an overflow, only values up to the end of the vector will be included. If a length is given and is negative, the vector will stop that many values from the end. If a length is not provided, the resulting vector will contain all values between the index and the end of the vector.

Rückgabewerte

A sub-vector of the given range.

Beispiele

Beispiel #1 Ds\Vector::slice() example

<?php
$vector = new \Ds\Vector(["a", "b", "c", "d", "e"]);

// Slice from 2 onwards
print_r($vector->slice(2));

// Slice from 1, for a length of 3
print_r($vector->slice(1, 3));

// Slice from 1 onwards
print_r($vector->slice(1));

// Slice from 2 from the end onwards
print_r($vector->slice(-2));

// Slice from 1 to 1 from the end
print_r($vector->slice(1, -1));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Vector Object
(
    [0] => c
    [1] => d
    [2] => e
)
Ds\Vector Object
(
    [0] => b
    [1] => c
    [2] => d
)
Ds\Vector Object
(
    [0] => b
    [1] => c
    [2] => d
    [3] => e
)
Ds\Vector Object
(
    [0] => d
    [1] => e
)
Ds\Vector Object
(
    [0] => b
    [1] => c
    [2] => d
)
Ds\Vector::shift
Ds\Vector::sort
Vector


Sorts the vector in-place.

Ds\Vector::slice
Ds\Vector::sorted
Vector
PHP Manual

Ds\Vector::sort

(PECL ds >= 1.0.0)

Ds\Vector::sort — Sorts the vector in-place.

Beschreibung

public void Ds\Vector::sort ([ callable $comparator ] )

Sorts the vector in-place, using an optional comparator function.

Parameter-Liste

comparator

Die Vergleichsfunktion muss einen Integer kleiner als, gleich oder größer als Null zurückgeben, wenn das erste Argument respektive kleiner, gleich oder größer als das zweite ist.

int callback ( mixed $a, mixed $b )
Achtung

Returning non-integer values from the comparison function, such as float, will result in an internal cast to integer of the callback's return value. So values such as 0.99 and 0.1 will both be cast to an integer value of 0, which will compare such values as equal.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Vector::sort() example

<?php
$vector = new \Ds\Vector([4, 5, 1, 3, 2]);
$vector->sort();

print_r($vector);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Beispiel #2 Ds\Vector::sort() example using a comparator

<?php
$vector = new \Ds\Vector([4, 5, 1, 3, 2]);

$vector->sort(function($a, $b) {
    return $b <=> $a;
});

print_r($vector);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Vector Object
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)
Ds\Vector::slice
Ds\Vector::sorted
Vector


Returns a sorted copy.

Ds\Vector::sort
Ds\Vector::sum
Vector
PHP Manual

Ds\Vector::sorted

(PECL ds >= 1.0.0)

Ds\Vector::sorted — Returns a sorted copy.

Beschreibung

public Ds\Vector Ds\Vector::sorted ([ callable $comparator ] )

Returns a sorted copy, using an optional comparator function.

Parameter-Liste

comparator

Die Vergleichsfunktion muss einen Integer kleiner als, gleich oder größer als Null zurückgeben, wenn das erste Argument respektive kleiner, gleich oder größer als das zweite ist.

int callback ( mixed $a, mixed $b )
Achtung

Returning non-integer values from the comparison function, such as float, will result in an internal cast to integer of the callback's return value. So values such as 0.99 and 0.1 will both be cast to an integer value of 0, which will compare such values as equal.

Rückgabewerte

Returns a sorted copy of the vector.

Beispiele

Beispiel #1 Ds\Vector::sorted() example

<?php
$vector = new \Ds\Vector([4, 5, 1, 3, 2]);

print_r($vector->sorted());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Beispiel #2 Ds\Vector::sorted() example using a comparator

<?php
$vector = new \Ds\Vector([4, 5, 1, 3, 2]);

$sorted = $vector->sorted(function($a, $b) {
    return $b <=> $a;
});

print_r($sorted);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Vector Object
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)
Ds\Vector::sort
Ds\Vector::sum
Vector


Returns the sum of all values in the vector.

Ds\Vector::sorted
Ds\Vector::toArray
Vector
PHP Manual

Ds\Vector::sum

(PECL ds >= 1.0.0)

Ds\Vector::sum — Returns the sum of all values in the vector.

Beschreibung

public number Ds\Vector::sum ( void )

Returns the sum of all values in the vector.

Hinweis:

Arrays and objects are considered equal to zero when calculating the sum.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The sum of all the values in the vector as either a float or int depending on the values in the vector.

Beispiele

Beispiel #1 Ds\Vector::sum() integer example

<?php
$vector = new \Ds\Vector([1, 2, 3]);
var_dump($vector->sum());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(6)

Beispiel #2 Ds\Vector::sum() float example

<?php
$vector = new \Ds\Vector([1, 2.5, 3]);
var_dump($vector->sum());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

float(6.5)
Ds\Vector::sorted
Ds\Vector::toArray
Vector


Converts the vector to an array.

Ds\Vector::sum
Ds\Vector::unshift
Vector
PHP Manual

Ds\Vector::toArray

(PECL ds >= 1.0.0)

Ds\Vector::toArray — Converts the vector to an array.

Beschreibung

public array Ds\Vector::toArray ( void )

Converts the vector to an array.

Hinweis:

Casting to an array is not supported yet.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An array containing all the values in the same order as the vector.

Beispiele

Beispiel #1 Ds\Vector::toArray() example

<?php
$vector = new \Ds\Vector([1, 2, 3]);

var_dump($vector->toArray());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}
Ds\Vector::sum
Ds\Vector::unshift
Vector


Adds values to the front of the vector.

Ds\Vector::toArray
Deque
Vector
PHP Manual

Ds\Vector::unshift

(PECL ds >= 1.0.0)

Ds\Vector::unshift — Adds values to the front of the vector.

Beschreibung

public void Ds\Vector::unshift ([ mixed $values ] )

Adds values to the front of the vector, moving all the current values forward to make room for the new values.

Parameter-Liste

values

The values to add to the front of the vector.

Hinweis:

Multiple values will be added in the same order that they are passed.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Vector::unshift() example

<?php
$vector = new \Ds\Vector([1, 2, 3]);

$vector->unshift("a");
$vector->unshift("b", "c");

print_r($vector);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Vector Object
(
    [0] => b
    [1] => c
    [2] => a
    [3] => 1
    [4] => 2
    [5] => 3
)
Ds\Vector::toArray
Deque
Vector


The Deque class

(No version information available, might only be in Git)

Einführung

A Deque (pronounced “deck”) is a sequence of values in a contiguous buffer that grows and shrinks automatically. The name is a common abbreviation of “double-ended queue” and is used internally by Ds\Queue.

Two pointers are used to keep track of a head and a tail. The pointers can “wrap around” the end of the buffer, which avoids the need to move other values around to make room. This makes shift and unshift very fast?—? something a Ds\Vector can’t compete with.

Accessing a value by index requires a translation between the index and its corresponding position in the buffer: ((head + position) % capacity).

Strengths

  • Supports array syntax (square brackets).
  • Uses less overall memory than an array for the same number of values.
  • Automatically frees allocated memory when its size drops low enough.
  • get(),
set(),
push(),
pop(),
shift(), and
unshift() are all O(1).

Weaknesses

  • Capacity must be a power of 2.
  • insert() and remove() are O(n).

Klassenbeschreibung

Ds\Deque implements Ds\Sequence {
/* Constants */
const int MIN_CAPACITY = 8 ;
/* Methoden */
public void allocate ( int $capacity )
public void apply ( callable $callback )
public int capacity ( void )
public void clear ( void )
public bool contains ([ mixed $...values ] )
public Ds\Deque copy ( void )
public Ds\Deque filter ([ callable $callback ] )
public mixed find ( mixed $value )
public mixed first ( void )
public mixed get ( int $index )
public void insert ( int $index [, mixed $...values ] )
public bool isEmpty ( void )
public string join ([ string $glue ] )
public mixed last ( void )
public Ds\Deque map ( callable $callback )
public Ds\Deque merge ( mixed $values )
public mixed pop ( void )
public void push ([ mixed $...values ] )
public mixed reduce ( callable $callback [, mixed $initial ] )
public mixed remove ( int $index )
public void reverse ( void )
public Ds\Deque reversed ( void )
public void rotate ( int $rotations )
public void set ( int $index , mixed $value )
public mixed shift ( void )
public Ds\Deque slice ( int $index [, int $length ] )
public void sort ([ callable $comparator ] )
public Ds\Deque sorted ([ callable $comparator ] )
public number sum ( void )
public array toArray ( void )
public void unshift ([ mixed $values ] )
}

Vordefinierte Konstanten

Ds\Deque::MIN_CAPACITY

Inhaltsverzeichnis

  • Ds\Deque::allocate — Allocates enough memory for a required capacity.
  • Ds\Deque::apply — Updates all values by applying a callback function to each value.
  • Ds\Deque::capacity — Returns the current capacity.
  • Ds\Deque::clear — Removes all values from the deque.
  • Ds\Deque::__construct — Creates a new instance.
  • Ds\Deque::contains — Determines if the deque contains given values.
  • Ds\Deque::copy — Returns a shallow copy of the deque.
  • Ds\Deque::count — Returns the number of values in the collection.
  • Ds\Deque::filter — Creates a new deque using a callable to determine which values to include.
  • Ds\Deque::find — Attempts to find a value's index.
  • Ds\Deque::first — Returns the first value in the deque.
  • Ds\Deque::get — Returns the value at a given index.
  • Ds\Deque::insert — Inserts values at a given index.
  • Ds\Deque::isEmpty — Returns whether the deque is empty
  • Ds\Deque::join — Joins all values together as a string.
  • Ds\Deque::jsonSerialize — Returns a representation that can be converted to JSON.
  • Ds\Deque::last — Returns the last value.
  • Ds\Deque::map — Returns the result of applying a callback to each value.
  • Ds\Deque::merge — Returns the result of adding all given values to the deque.
  • Ds\Deque::pop — Removes and returns the last value.
  • Ds\Deque::push — Adds values to the end of the deque.
  • Ds\Deque::reduce — Reduces the deque to a single value using a callback function.
  • Ds\Deque::remove — Removes and returns a value by index.
  • Ds\Deque::reverse — Reverses the deque in-place.
  • Ds\Deque::reversed — Returns a reversed copy.
  • Ds\Deque::rotate — Rotates the deque by a given number of rotations.
  • Ds\Deque::set — Updates a value at a given index.
  • Ds\Deque::shift — Removes and returns the first value.
  • Ds\Deque::slice — Returns a sub-deque of a given range.
  • Ds\Deque::sort — Sorts the deque in-place.
  • Ds\Deque::sorted — Returns a sorted copy.
  • Ds\Deque::sum — Returns the sum of all values in the deque.
  • Ds\Deque::toArray — Converts the deque to an array.
  • Ds\Deque::unshift — Adds values to the front of the deque.
Ds\Vector::unshift
Ds\Deque::allocate
Data Structures


Allocates enough memory for a required capacity.

Deque
Ds\Deque::apply
Deque
PHP Manual

Ds\Deque::allocate

(PECL ds >= 1.0.0)

Ds\Deque::allocate — Allocates enough memory for a required capacity.

Beschreibung

public void Ds\Deque::allocate ( int $capacity )

Ensures that enough memory is allocated for a required capacity. This removes the need to reallocate the internal as values are added.

Parameter-Liste

capacity

The number of values for which capacity should be allocated.

Hinweis:

Capacity will stay the same if this value is less than or equal to the current capacity.

Hinweis:

Capacity will always be rounded up to the nearest power of 2.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Deque::allocate() example

<?php
$deque = new \Ds\Deque();
var_dump($deque->capacity());

$deque->allocate(100);
var_dump($deque->capacity());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(8)
int(128)
Deque
Ds\Deque::apply
Deque


Updates all values by applying a callback function to each value.

Ds\Deque::allocate
Ds\Deque::capacity
Deque
PHP Manual

Ds\Deque::apply

(PECL ds >= 1.0.0)

Ds\Deque::apply — Updates all values by applying a callback function to each value.

Beschreibung

public void Ds\Deque::apply ( callable $callback )

Updates all values by applying a callback function to each value in the deque.

Parameter-Liste

callback

mixed callback ( mixed $value )

A callable to apply to each value in the deque.

The callback should return what the value should be replaced by.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Deque::apply() example

<?php
$deque = new \Ds\Deque([1, 2, 3]);
$deque->apply(function($value) { return $value * 2; });

print_r($deque);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Deque Object
(
    [0] => 2
    [1] => 4
    [2] => 6
)
Ds\Deque::allocate
Ds\Deque::capacity
Deque


Returns the current capacity.

Ds\Deque::apply
Ds\Deque::clear
Deque
PHP Manual

Ds\Deque::capacity

(PECL ds >= 1.0.0)

Ds\Deque::capacity — Returns the current capacity.

Beschreibung

public int Ds\Deque::capacity ( void )

Returns the current capacity.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current capacity.

Beispiele

Beispiel #1 Ds\Deque::capacity() example

<?php
$deque = new \Ds\Deque();
var_dump($deque->capacity());

$deque->push(...range(1, 50));
var_dump($deque->capacity());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(8)
int(64)
Ds\Deque::apply
Ds\Deque::clear
Deque


Removes all values from the deque.

Ds\Deque::capacity
Ds\Deque::__construct
Deque
PHP Manual

Ds\Deque::clear

(PECL ds >= 1.0.0)

Ds\Deque::clear — Removes all values from the deque.

Beschreibung

public void Ds\Deque::clear ( void )

Removes all values from the deque.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Deque::clear() example

<?php
$deque = new \Ds\Deque([1, 2, 3]);
print_r($deque);

$deque->clear();
print_r($deque);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Deque Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
Ds\Deque Object
(
)
Ds\Deque::capacity
Ds\Deque::__construct
Deque


Creates a new instance.

Ds\Deque::clear
Ds\Deque::contains
Deque
PHP Manual

Ds\Deque::__construct

(PECL ds >= 1.0.0)

Ds\Deque::__construct — Creates a new instance.

Beschreibung

public Ds\Deque::__construct ([ mixed $values ] )

Creates a new instance, using either a traversable object or an array for the initial values.

Parameter-Liste

values

A traversable object or an array to use for the initial values.

Beispiele

Beispiel #1 Ds\Deque::__construct() example

<?php
$deque = new \Ds\Deque();
var_dump($deque);

$deque = new \Ds\Deque([1, 2, 3]);
var_dump($deque);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Deque)#2 (0) {
}
object(Ds\Deque)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}
Ds\Deque::clear
Ds\Deque::contains
Deque


Determines if the deque contains given values.

Ds\Deque::__construct
Ds\Deque::copy
Deque
PHP Manual

Ds\Deque::contains

(PECL ds >= 1.0.0)

Ds\Deque::contains — Determines if the deque contains given values.

Beschreibung

public bool Ds\Deque::contains ([ mixed $...values ] )

Determines if the deque contains all values.

Parameter-Liste

values

Values to check.

Rückgabewerte

FALSE if any of the provided values are not in the deque, TRUE otherwise.

Beispiele

Beispiel #1 Ds\Deque::contains() example

<?php
$deque = new \Ds\Deque(['a', 'b', 'c', 1, 2, 3]);

var_dump($deque->contains('a'));                // true
var_dump($deque->contains('a', 'b'));           // true
var_dump($deque->contains('c', 'd'));           // false

var_dump($deque->contains(...['c', 'b', 'a'])); // true

// Always strict
var_dump($deque->contains(1));                  // true
var_dump($deque->contains('1'));                // false

var_dump($sequece->contains(...[]));               // true
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(true)
bool(true)
bool(false)
bool(true)
bool(true)
bool(false)
bool(true)
Ds\Deque::__construct
Ds\Deque::copy
Deque


Returns a shallow copy of the deque.

Ds\Deque::contains
Ds\Deque::count
Deque
PHP Manual

Ds\Deque::copy

(PECL ds >= 1.0.0)

Ds\Deque::copy — Returns a shallow copy of the deque.

Beschreibung

public Ds\Deque Ds\Deque::copy ( void )

Returns a shallow copy of the deque.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A shallow copy of the deque.

Beispiele

Beispiel #1 Ds\Deque::copy() example

<?php
$a = new \Ds\Deque([1, 2, 3]);
$b = $a->copy();

$b->push(4);

print_r($a);
print_r($b);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Deque Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
Ds\Deque Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
)
Ds\Deque::contains
Ds\Deque::count
Deque


Returns the number of values in the collection.

Ds\Deque::copy
Ds\Deque::filter
Deque
PHP Manual

Ds\Deque::count

(PECL ds >= 1.0.0)

Ds\Deque::count — Returns the number of values in the collection.

See Countable::count()

Ds\Deque::copy
Ds\Deque::filter
Deque


Creates a new deque using a callable to determine which values to include.

Ds\Deque::count
Ds\Deque::find
Deque
PHP Manual

Ds\Deque::filter

(PECL ds >= 1.0.0)

Ds\Deque::filter — Creates a new deque using a callable to determine which values to include.

Beschreibung

public Ds\Deque Ds\Deque::filter ([ callable $callback ] )

Creates a new deque using a callable to determine which values to include.

Parameter-Liste

callback

bool callback ( mixed $value )

Optional callable which returns TRUE if the value should be included, FALSE otherwise.

If a callback is not provided, only values which are TRUE (see converting to boolean) will be included.

Rückgabewerte

A new deque containing all the values for which either the callback returned TRUE, or all values that convert to TRUE if a callback was not provided.

Beispiele

Beispiel #1 Ds\Deque::filter() example using callback function

<?php
$deque = new \Ds\Deque([1, 2, 3, 4, 5]);

var_dump($deque->filter(function($value) {
    return $value % 2 == 0;
}));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Deque)#3 (2) {
  [0]=>
  int(2)
  [1]=>
  int(4)
}

Beispiel #2 Ds\Deque::filter() example without a callback function

<?php
$deque = new \Ds\Deque([0, 1, 'a', true, false]);

var_dump($deque->filter());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Deque)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  string(1) "a"
  [2]=>
  bool(true)
}
Ds\Deque::count
Ds\Deque::find
Deque


Attempts to find a value's index.

Ds\Deque::filter
Ds\Deque::first
Deque
PHP Manual

Ds\Deque::find

(PECL ds >= 1.0.0)

Ds\Deque::find — Attempts to find a value's index.

Beschreibung

public mixed Ds\Deque::find ( mixed $value )

Returns the index of the value, or FALSE if not found.

Parameter-Liste

value

The value to find.

Rückgabewerte

The index of the value, or FALSE if not found.

Hinweis:

Values will be compared by value and by type.

Beispiele

Beispiel #1 Ds\Deque::find() example

<?php
$deque = new \Ds\Deque(["a", 1, true]);

var_dump($deque->find("a")); // 0
var_dump($deque->find("b")); // false
var_dump($deque->find("1")); // false
var_dump($deque->find(1));   // 1
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(0)
bool(false)
bool(false)
int(1)
Ds\Deque::filter
Ds\Deque::first
Deque


Returns the first value in the deque.

Ds\Deque::find
Ds\Deque::get
Deque
PHP Manual

Ds\Deque::first

(PECL ds >= 1.0.0)

Ds\Deque::first — Returns the first value in the deque.

Beschreibung

public mixed Ds\Deque::first ( void )

Returns the first value in the deque.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The first value in the deque.

Fehler/Exceptions

UnderflowException if empty.

Beispiele

Beispiel #1 Ds\Deque::first() example

<?php
$deque = new \Ds\Deque([1, 2, 3]);
var_dump($deque->first());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(1)
Ds\Deque::find
Ds\Deque::get
Deque


Returns the value at a given index.

Ds\Deque::first
Ds\Deque::insert
Deque
PHP Manual

Ds\Deque::get

(PECL ds >= 1.0.0)

Ds\Deque::get — Returns the value at a given index.

Beschreibung

public mixed Ds\Deque::get ( int $index )

Returns the value at a given index.

Parameter-Liste

index

The index to access, starting at 0.

Rückgabewerte

The value at the requested index.

Fehler/Exceptions

OutOfRangeException if the index is not valid.

Beispiele

Beispiel #1 Ds\Deque::get() example

<?php
$deque = new \Ds\Deque(["a", "b", "c"]);

var_dump($deque->get(0));
var_dump($deque->get(1));
var_dump($deque->get(2));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(1) "a"
string(1) "b"
string(1) "c"

Beispiel #2 Ds\Deque::get() example using array syntax

<?php
$deque = new \Ds\Deque(["a", "b", "c"]);

var_dump($deque[0]);
var_dump($deque[1]);
var_dump($deque[2]);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(1) "a"
string(1) "b"
string(1) "c"
Ds\Deque::first
Ds\Deque::insert
Deque


Inserts values at a given index.

Ds\Deque::get
Ds\Deque::isEmpty
Deque
PHP Manual

Ds\Deque::insert

(PECL ds >= 1.0.0)

Ds\Deque::insert — Inserts values at a given index.

Beschreibung

public void Ds\Deque::insert ( int $index [, mixed $...values ] )

Inserts values into the deque at a given index.

Parameter-Liste

index

The index at which to insert. 0 <= index <= count

Hinweis:

You can insert at the index equal to the number of values.

values

The value or values to insert.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

OutOfRangeException if the index is not valid.

Beispiele

Beispiel #1 Ds\Deque::insert() example

<?php
$deque = new \Ds\Deque();

$deque->insert(0, "e");             // [e]
$deque->insert(1, "f");             // [e, f]
$deque->insert(2, "g");             // [e, f, g]
$deque->insert(0, "a", "b");        // [a, b, e, f, g]
$deque->insert(2, ...["c", "d"]);   // [a, b, c, d, e, f, g]

var_dump($deque);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Deque)#1 (7) {
  [0]=>
  string(1) "a"
  [1]=>
  string(1) "b"
  [2]=>
  string(1) "c"
  [3]=>
  string(1) "d"
  [4]=>
  string(1) "e"
  [5]=>
  string(1) "f"
  [6]=>
  string(1) "g"
}
Ds\Deque::get
Ds\Deque::isEmpty
Deque


Returns whether the deque is empty

Ds\Deque::insert
Ds\Deque::join
Deque
PHP Manual

Ds\Deque::isEmpty

(PECL ds >= 1.0.0)

Ds\Deque::isEmpty — Returns whether the deque is empty

Beschreibung

public bool Ds\Deque::isEmpty ( void )

Returns whether the deque is empty.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the deque is empty, FALSE otherwise.

Beispiele

Beispiel #1 Ds\Deque::isEmpty() example

<?php
$a = new \Ds\Deque([1, 2, 3]);
$b = new \Ds\Deque();

var_dump($a->isEmpty());
var_dump($b->isEmpty());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(false)
bool(true)
Ds\Deque::insert
Ds\Deque::join
Deque


Joins all values together as a string.

Ds\Deque::isEmpty
Ds\Deque::jsonSerialize
Deque
PHP Manual

Ds\Deque::join

(PECL ds >= 1.0.0)

Ds\Deque::join — Joins all values together as a string.

Beschreibung

public string Ds\Deque::join ([ string $glue ] )

Joins all values together as a string using an optional separator between each value.

Parameter-Liste

glue

An optional string to separate each value.

Rückgabewerte

All values of the deque joined together as a string.

Beispiele

Beispiel #1 Ds\Deque::join() example using a separator string

<?php
$deque = new \Ds\Deque(["a", "b", "c", 1, 2, 3]);

var_dump($deque->join("|"));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(11) "a|b|c|1|2|3"

Beispiel #2 Ds\Deque::join() example without a separator string

<?php
$deque = new \Ds\Deque(["a", "b", "c", 1, 2, 3]);

var_dump($deque->join());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(11) "abc123"
Ds\Deque::isEmpty
Ds\Deque::jsonSerialize
Deque


Returns a representation that can be converted to JSON.

Ds\Deque::join
Ds\Deque::last
Deque
PHP Manual

Ds\Deque::jsonSerialize

(PECL ds >= 1.0.0)

Ds\Deque::jsonSerialize — Returns a representation that can be converted to JSON.

See JsonSerializable::jsonSerialize()

Hinweis:

You should never need to call this directly.

Ds\Deque::join
Ds\Deque::last
Deque


Returns the last value.

Ds\Deque::jsonSerialize
Ds\Deque::map
Deque
PHP Manual

Ds\Deque::last

(PECL ds >= 1.0.0)

Ds\Deque::last — Returns the last value.

Beschreibung

public mixed Ds\Deque::last ( void )

Returns the last value in the deque.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The last value in the deque.

Fehler/Exceptions

UnderflowException if empty.

Beispiele

Beispiel #1 Ds\Deque::last() example

<?php
$deque = new \Ds\Deque([1, 2, 3]);
var_dump($deque->last());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(3)
Ds\Deque::jsonSerialize
Ds\Deque::map
Deque


Returns the result of applying a callback to each value.

Ds\Deque::last
Ds\Deque::merge
Deque
PHP Manual

Ds\Deque::map

(PECL ds >= 1.0.0)

Ds\Deque::map — Returns the result of applying a callback to each value.

Beschreibung

public Ds\Deque Ds\Deque::map ( callable $callback )

Returns the result of applying a callback function to each value in the deque.

Parameter-Liste

callback

mixed callback ( mixed $value )

A callable to apply to each value in the deque.

The callable should return what the new value will be in the new deque.

Rückgabewerte

The result of applying a callback to each value in the deque.

Hinweis:

The values of the current instance won't be affected.

Beispiele

Beispiel #1 Ds\Deque::map() example

<?php
$deque = new \Ds\Deque([1, 2, 3]);

print_r($deque->map(function($value) { return $value * 2; }));
print_r($deque);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Deque Object
(
    [0] => 2
    [1] => 4
    [2] => 6
)
Ds\Deque Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
Ds\Deque::last
Ds\Deque::merge
Deque


Returns the result of adding all given values to the deque.

Ds\Deque::map
Ds\Deque::pop
Deque
PHP Manual

Ds\Deque::merge

(PECL ds >= 1.0.0)

Ds\Deque::merge — Returns the result of adding all given values to the deque.

Beschreibung

public Ds\Deque Ds\Deque::merge ( mixed $values )

Returns the result of adding all given values to the deque.

Parameter-Liste

values

A traversable object or an array.

Rückgabewerte

The result of adding all given values to the deque, effectively the same as adding the values to a copy, then returning that copy.

Hinweis:

The current instance won't be affected.

Beispiele

Beispiel #1 Ds\Deque::merge() example

<?php
$deque = new \Ds\Deque([1, 2, 3]);

var_dump($deque->merge([4, 5, 6]));
var_dump($deque);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Deque)#2 (6) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  [3]=>
  int(4)
  [4]=>
  int(5)
  [5]=>
  int(6)
}
object(Ds\Deque)#1 (3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}
Ds\Deque::map
Ds\Deque::pop
Deque


Removes and returns the last value.

Ds\Deque::merge
Ds\Deque::push
Deque
PHP Manual

Ds\Deque::pop

(PECL ds >= 1.0.0)

Ds\Deque::pop — Removes and returns the last value.

Beschreibung

public mixed Ds\Deque::pop ( void )

Removes and returns the last value.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The removed last value.

Fehler/Exceptions

UnderflowException if empty.

Beispiele

Beispiel #1 Ds\Deque::pop() example

<?php
$deque = new \Ds\Deque([1, 2, 3]);

var_dump($deque->pop());
var_dump($deque->pop());
var_dump($deque->pop());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(3)
int(2)
int(1)
Ds\Deque::merge
Ds\Deque::push
Deque


Adds values to the end of the deque.

Ds\Deque::pop
Ds\Deque::reduce
Deque
PHP Manual

Ds\Deque::push

(PECL ds >= 1.0.0)

Ds\Deque::push — Adds values to the end of the deque.

Beschreibung

public void Ds\Deque::push ([ mixed $...values ] )

Adds values to the end of the deque.

Parameter-Liste

values

The values to add.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Deque::push() example

<?php
$deque = new \Ds\Deque();

$deque->push("a");
$deque->push("b");
$deque->push("c", "d");
$deque->push(...["e", "f"]);

print_r($deque);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Deque Object
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
    [5] => f
)
Ds\Deque::pop
Ds\Deque::reduce
Deque


Reduces the deque to a single value using a callback function.

Ds\Deque::push
Ds\Deque::remove
Deque
PHP Manual

Ds\Deque::reduce

(PECL ds >= 1.0.0)

Ds\Deque::reduce — Reduces the deque to a single value using a callback function.

Beschreibung

public mixed Ds\Deque::reduce ( callable $callback [, mixed $initial ] )

Reduces the deque to a single value using a callback function.

Parameter-Liste

callback
mixed callback ( mixed $carry , mixed $value )
carry

The return value of the previous callback, or initial if it's the first iteration.

value

The value of the current iteration.

initial

The initial value of the carry value. Can be NULL.

Rückgabewerte

The return value of the final callback.

Beispiele

Beispiel #1 Ds\Deque::reduce() with initial value example

<?php
$deque = new \Ds\Deque([1, 2, 3]);

$callback = function($carry, $value) {
    return $carry * $value;
};

var_dump($deque->reduce($callback, 5));

// Iterations:
//
// $carry = $initial = 5
//
// $carry = $carry * 1 =  5
// $carry = $carry * 2 = 10
// $carry = $carry * 3 = 30
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(30)

Beispiel #2 Ds\Deque::reduce() without an initial value example

<?php
$deque = new \Ds\Deque([1, 2, 3]);

var_dump($deque->reduce(function($carry, $value) {
    return $carry + $value + 5;
}));

// Iterations:
//
// $carry = $initial = null
//
// $carry = $carry + 1 + 5 =  6
// $carry = $carry + 2 + 5 = 13
// $carry = $carry + 3 + 5 = 21
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(21)
Ds\Deque::push
Ds\Deque::remove
Deque


Removes and returns a value by index.

Ds\Deque::reduce
Ds\Deque::reverse
Deque
PHP Manual

Ds\Deque::remove

(PECL ds >= 1.0.0)

Ds\Deque::remove — Removes and returns a value by index.

Beschreibung

public mixed Ds\Deque::remove ( int $index )

Removes and returns a value by index.

Parameter-Liste

index

The index of the value to remove.

Rückgabewerte

The value that was removed.

Fehler/Exceptions

OutOfRangeException if the index is not valid.

Beispiele

Beispiel #1 Ds\Deque::remove() example

<?php
$deque = new \Ds\Deque(["a", "b", "c"]);

var_dump($deque->remove(1));
var_dump($deque->remove(0));
var_dump($deque->remove(0));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(1) "b"
string(1) "a"
string(1) "c"
Ds\Deque::reduce
Ds\Deque::reverse
Deque


Reverses the deque in-place.

Ds\Deque::remove
Ds\Deque::reversed
Deque
PHP Manual

Ds\Deque::reverse

(PECL ds >= 1.0.0)

Ds\Deque::reverse — Reverses the deque in-place.

Beschreibung

public void Ds\Deque::reverse ( void )

Reverses the deque in-place.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Deque::reverse() example

<?php
$deque = new \Ds\Deque(["a", "b", "c"]);
$deque->reverse();

print_r($deque);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Deque Object
(
    [0] => c
    [1] => b
    [2] => a
)
Ds\Deque::remove
Ds\Deque::reversed
Deque


Returns a reversed copy.

Ds\Deque::reverse
Ds\Deque::rotate
Deque
PHP Manual

Ds\Deque::reversed

(PECL ds >= 1.0.0)

Ds\Deque::reversed — Returns a reversed copy.

Beschreibung

public Ds\Deque Ds\Deque::reversed ( void )

Returns a reversed copy of the deque.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A reversed copy of the deque.

Hinweis:

The current instance is not affected.

Beispiele

Beispiel #1 Ds\Deque::reversed() example

<?php
$deque = new \Ds\Deque(["a", "b", "c"]);

print_r($deque->reversed());
print_r($deque);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Deque Object
(
    [0] => c
    [1] => b
    [2] => a
)
Ds\Deque Object
(
    [0] => a
    [1] => b
    [2] => c
)
Ds\Deque::reverse
Ds\Deque::rotate
Deque


Rotates the deque by a given number of rotations.

Ds\Deque::reversed
Ds\Deque::set
Deque
PHP Manual

Ds\Deque::rotate

(PECL ds >= 1.0.0)

Ds\Deque::rotate — Rotates the deque by a given number of rotations.

Beschreibung

public void Ds\Deque::rotate ( int $rotations )

Rotates the deque by a given number of rotations, which is equivalent to successively calling $deque->push($deque->shift()) if the number of rotations is positive, or $deque->unshift($deque->pop()) if negative.

Parameter-Liste

rotations

The number of times the deque should be rotated.

Rückgabewerte

Es wird kein Wert zurückgegeben.. The deque of the current instance will be rotated.

Beispiele

Beispiel #1 Ds\Deque::rotate() example

<?php
$deque = new \Ds\Deque(["a", "b", "c", "d"]);

$deque->rotate(1);  // "a" is shifted, then pushed.
print_r($deque);

$deque->rotate(2);  // "b" and "c" are both shifted, the pushed.
print_r($deque);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

(
    [0] => b
    [1] => c
    [2] => d
    [3] => a
)
Ds\Deque Object
(
    [0] => d
    [1] => a
    [2] => b
    [3] => c
)
Ds\Deque::reversed
Ds\Deque::set
Deque


Updates a value at a given index.

Ds\Deque::rotate
Ds\Deque::shift
Deque
PHP Manual

Ds\Deque::set

(PECL ds >= 1.0.0)

Ds\Deque::set — Updates a value at a given index.

Beschreibung

public void Ds\Deque::set ( int $index , mixed $value )

Updates a value at a given index.

Parameter-Liste

index

The index of the value to update.

value

The new value.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

OutOfRangeException if the index is not valid.

Beispiele

Beispiel #1 Ds\Deque::set() example

<?php
$deque = new \Ds\Deque(["a", "b", "c"]);

$deque->set(1, "_");
print_r($deque);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Deque Object
(
    [0] => a
    [1] => _
    [2] => c
)

Beispiel #2 Ds\Deque::set() example using array syntax

<?php
$deque = new \Ds\Deque(["a", "b", "c"]);

$deque[1] = "_";
print_r($deque);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Deque Object
(
    [0] => a
    [1] => _
    [2] => c
)
Ds\Deque::rotate
Ds\Deque::shift
Deque


Removes and returns the first value.

Ds\Deque::set
Ds\Deque::slice
Deque
PHP Manual

Ds\Deque::shift

(PECL ds >= 1.0.0)

Ds\Deque::shift — Removes and returns the first value.

Beschreibung

public mixed Ds\Deque::shift ( void )

Removes and returns the first value.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The first value, which was removed.

Fehler/Exceptions

UnderflowException if empty.

Beispiele

Beispiel #1 Ds\Deque::shift() example

<?php
$deque = new \Ds\Deque(["a", "b", "c"]);

var_dump($deque->shift());
var_dump($deque->shift());
var_dump($deque->shift());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(1) "a"
string(1) "b"
string(1) "c"
Ds\Deque::set
Ds\Deque::slice
Deque


Returns a sub-deque of a given range.

Ds\Deque::shift
Ds\Deque::sort
Deque
PHP Manual

Ds\Deque::slice

(PECL ds >= 1.0.0)

Ds\Deque::slice — Returns a sub-deque of a given range.

Beschreibung

public Ds\Deque Ds\Deque::slice ( int $index [, int $length ] )

Creates a sub-deque of a given range.

Parameter-Liste

index

The index at which the sub-deque starts.

If positive, the deque will start at that index in the deque. If negative, the deque will start that far from the end.

length

If a length is given and is positive, the resulting deque will have up to that many values in it. If the length results in an overflow, only values up to the end of the deque will be included. If a length is given and is negative, the deque will stop that many values from the end. If a length is not provided, the resulting deque will contain all values between the index and the end of the deque.

Rückgabewerte

A sub-deque of the given range.

Beispiele

Beispiel #1 Ds\Deque::slice() example

<?php
$deque = new \Ds\Deque(["a", "b", "c", "d", "e"]);

// Slice from 2 onwards
print_r($deque->slice(2));

// Slice from 1, for a length of 3
print_r($deque->slice(1, 3));

// Slice from 1 onwards
print_r($deque->slice(1));

// Slice from 2 from the end onwards
print_r($deque->slice(-2));

// Slice from 1 to 1 from the end
print_r($deque->slice(1, -1));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Deque Object
(
    [0] => c
    [1] => d
    [2] => e
)
Ds\Deque Object
(
    [0] => b
    [1] => c
    [2] => d
)
Ds\Deque Object
(
    [0] => b
    [1] => c
    [2] => d
    [3] => e
)
Ds\Deque Object
(
    [0] => d
    [1] => e
)
Ds\Deque Object
(
    [0] => b
    [1] => c
    [2] => d
)
Ds\Deque::shift
Ds\Deque::sort
Deque


Sorts the deque in-place.

Ds\Deque::slice
Ds\Deque::sorted
Deque
PHP Manual

Ds\Deque::sort

(PECL ds >= 1.0.0)

Ds\Deque::sort — Sorts the deque in-place.

Beschreibung

public void Ds\Deque::sort ([ callable $comparator ] )

Sorts the deque in-place, using an optional comparator function.

Parameter-Liste

comparator

Die Vergleichsfunktion muss einen Integer kleiner als, gleich oder größer als Null zurückgeben, wenn das erste Argument respektive kleiner, gleich oder größer als das zweite ist.

int callback ( mixed $a, mixed $b )
Achtung

Returning non-integer values from the comparison function, such as float, will result in an internal cast to integer of the callback's return value. So values such as 0.99 and 0.1 will both be cast to an integer value of 0, which will compare such values as equal.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Deque::sort() example

<?php
$deque = new \Ds\Deque([4, 5, 1, 3, 2]);
$deque->sort();

print_r($deque);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Deque Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Beispiel #2 Ds\Deque::sort() example using a comparator

<?php
$deque = new \Ds\Deque([4, 5, 1, 3, 2]);

$deque->sort(function($a, $b) {
    return $b <=> $a;
});

print_r($deque);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Deque Object
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)
Ds\Deque::slice
Ds\Deque::sorted
Deque


Returns a sorted copy.

Ds\Deque::sort
Ds\Deque::sum
Deque
PHP Manual

Ds\Deque::sorted

(PECL ds >= 1.0.0)

Ds\Deque::sorted — Returns a sorted copy.

Beschreibung

public Ds\Deque Ds\Deque::sorted ([ callable $comparator ] )

Returns a sorted copy, using an optional comparator function.

Parameter-Liste

comparator

Die Vergleichsfunktion muss einen Integer kleiner als, gleich oder größer als Null zurückgeben, wenn das erste Argument respektive kleiner, gleich oder größer als das zweite ist.

int callback ( mixed $a, mixed $b )
Achtung

Returning non-integer values from the comparison function, such as float, will result in an internal cast to integer of the callback's return value. So values such as 0.99 and 0.1 will both be cast to an integer value of 0, which will compare such values as equal.

Rückgabewerte

Returns a sorted copy of the deque.

Beispiele

Beispiel #1 Ds\Deque::sorted() example

<?php
$deque = new \Ds\Deque([4, 5, 1, 3, 2]);

print_r($deque->sorted());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Deque Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Beispiel #2 Ds\Deque::sorted() example using a comparator

<?php
$deque = new \Ds\Deque([4, 5, 1, 3, 2]);

$sorted = $deque->sorted(function($a, $b) {
    return $b <=> $a;
});

print_r($sorted);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Deque Object
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)
Ds\Deque::sort
Ds\Deque::sum
Deque


Returns the sum of all values in the deque.

Ds\Deque::sorted
Ds\Deque::toArray
Deque
PHP Manual

Ds\Deque::sum

(PECL ds >= 1.0.0)

Ds\Deque::sum — Returns the sum of all values in the deque.

Beschreibung

public number Ds\Deque::sum ( void )

Returns the sum of all values in the deque.

Hinweis:

Arrays and objects are considered equal to zero when calculating the sum.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The sum of all the values in the deque as either a float or int depending on the values in the deque.

Beispiele

Beispiel #1 Ds\Deque::sum() integer example

<?php
$deque = new \Ds\Deque([1, 2, 3]);
var_dump($deque->sum());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(6)

Beispiel #2 Ds\Deque::sum() float example

<?php
$deque = new \Ds\Deque([1, 2.5, 3]);
var_dump($deque->sum());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

float(6.5)
Ds\Deque::sorted
Ds\Deque::toArray
Deque


Converts the deque to an array.

Ds\Deque::sum
Ds\Deque::unshift
Deque
PHP Manual

Ds\Deque::toArray

(PECL ds >= 1.0.0)

Ds\Deque::toArray — Converts the deque to an array.

Beschreibung

public array Ds\Deque::toArray ( void )

Converts the deque to an array.

Hinweis:

Casting to an array is not supported yet.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An array containing all the values in the same order as the deque.

Beispiele

Beispiel #1 Ds\Deque::toArray() example

<?php
$deque = new \Ds\Deque([1, 2, 3]);

var_dump($deque->toArray());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}
Ds\Deque::sum
Ds\Deque::unshift
Deque


Adds values to the front of the deque.

Ds\Deque::toArray
Map
Deque
PHP Manual

Ds\Deque::unshift

(PECL ds >= 1.0.0)

Ds\Deque::unshift — Adds values to the front of the deque.

Beschreibung

public void Ds\Deque::unshift ([ mixed $values ] )

Adds values to the front of the deque, moving all the current values forward to make room for the new values.

Parameter-Liste

values

The values to add to the front of the deque.

Hinweis:

Multiple values will be added in the same order that they are passed.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Deque::unshift() example

<?php
$deque = new \Ds\Deque([1, 2, 3]);

$deque->unshift("a");
$deque->unshift("b", "c");

print_r($deque);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Deque Object
(
    [0] => b
    [1] => c
    [2] => a
    [3] => 1
    [4] => 2
    [5] => 3
)
Ds\Deque::toArray
Map
Deque


The Map class

(No version information available, might only be in Git)

Einführung

A Map is a sequential collection of key-value pairs, almost identical to an array used in a similar context. Keys can be any type, but must be unique. Values are replaced if added to the map using the same key.

Strengths

  • Keys and values can be any type, including objects.
  • Supports array syntax (square brackets).
  • Insertion order is preserved.
  • Performance and memory efficiency is very similar to an array.
  • Automatically frees allocated memory when its size drops low enough.

Weaknesses

  • Can’t be converted to an array when objects are used as keys.

Klassenbeschreibung

Ds\Map implements Ds\Collection {
/* Constants */
const int MIN_CAPACITY = 16 ;
/* Methoden */
public void allocate ( int $capacity )
public void apply ( callable $callback )
public int capacity ( void )
public void clear ( void )
public Ds\Map copy ( void )
public Ds\Map diff ( Ds\Map $map )
public Ds\Map filter ([ callable $callback ] )
public Ds\Pair first ( void )
public mixed get ( mixed $key [, mixed $default ] )
public bool hasKey ( mixed $key )
public bool hasValue ( mixed $value )
public Ds\Map intersect ( Ds\Map $map )
public bool isEmpty ( void )
public Ds\Set keys ( void )
public void ksort ([ callable $comparator ] )
public Ds\Map ksorted ([ callable $comparator ] )
public Ds\Pair last ( void )
public Ds\Map map ( callable $callback )
public Ds\Map merge ( mixed $values )
public Ds\Sequence pairs ( void )
public void put ( mixed $key , mixed $value )
public void putAll ( mixed $pairs )
public mixed reduce ( callable $callback [, mixed $initial ] )
public mixed remove ( mixed $key [, mixed $default ] )
public void reverse ( void )
public Ds\Map reversed ( void )
public Ds\Pair skip ( int $position )
public Ds\Map slice ( int $index [, int $length ] )
public void sort ([ callable $comparator ] )
public Ds\Map sorted ([ callable $comparator ] )
public number sum ( void )
public array toArray ( void )
public Ds\Map union ( Ds\Map $map )
public Ds\Sequence values ( void )
public Ds\Map xor ( Ds\Map $map )
}

Vordefinierte Konstanten

Ds\Map::MIN_CAPACITY

Inhaltsverzeichnis

  • Ds\Map::allocate — Allocates enough memory for a required capacity.
  • Ds\Map::apply — Updates all values by applying a callback function to each value.
  • Ds\Map::capacity — Returns the current capacity.
  • Ds\Map::clear — Removes all values.
  • Ds\Map::__construct — Creates a new instance.
  • Ds\Map::copy — Returns a shallow copy of the map.
  • Ds\Map::count — Returns the number of values in the map.
  • Ds\Map::diff — Creates a new map using keys that aren't in another map.
  • Ds\Map::filter — Creates a new map using a callable to determine which pairs to include.
  • Ds\Map::first — Returns the first pair in the map.
  • Ds\Map::get — Returns the value for a given key.
  • Ds\Map::hasKey — Determines whether the map contains a given key.
  • Ds\Map::hasValue — Determines whether the map contains a given value.
  • Ds\Map::intersect — Creates a new map by intersecting keys with another map.
  • Ds\Map::isEmpty — Returns whether the map is empty
  • Ds\Map::jsonSerialize — Returns a representation that can be converted to JSON.
  • Ds\Map::keys — Returns a set of the map's keys.
  • Ds\Map::ksort — Sorts the map in-place by key.
  • Ds\Map::ksorted — Returns a copy, sorted by key.
  • Ds\Map::last — Returns the last pair of the map.
  • Ds\Map::map — Returns the result of applying a callback to each value.
  • Ds\Map::merge — Returns the result of adding all given associations.
  • Ds\Map::pairs — Returns a sequence containing all the pairs of the map.
  • Ds\Map::put — Associates a key with a value.
  • Ds\Map::putAll — Associates all key-value pairs of a traversable object or array.
  • Ds\Map::reduce — Reduces the map to a single value using a callback function.
  • Ds\Map::remove — Removes and returns a value by key.
  • Ds\Map::reverse — Reverses the map in-place.
  • Ds\Map::reversed — Returns a reversed copy.
  • Ds\Map::skip — Returns the pair at a given positional index.
  • Ds\Map::slice — Returns a subset of the map defined by a starting index and length.
  • Ds\Map::sort — Sorts the map in-place by value.
  • Ds\Map::sorted — Returns a copy, sorted by value.
  • Ds\Map::sum — Returns the sum of all values in the map.
  • Ds\Map::toArray — Converts the map to an array.
  • Ds\Map::union — Creates a new map using values from the current instance and another map.
  • Ds\Map::values — Returns a sequence of the map's values.
  • Ds\Map::xor — Creates a new map using keys of either the current instance or of another map, but not of both.
Ds\Deque::unshift
Ds\Map::allocate
Data Structures


Allocates enough memory for a required capacity.

Map
Ds\Map::apply
Map
PHP Manual

Ds\Map::allocate

(PECL ds >= 1.0.0)

Ds\Map::allocate — Allocates enough memory for a required capacity.

Beschreibung

public void Ds\Map::allocate ( int $capacity )

Allocates enough memory for a required capacity.

Parameter-Liste

capacity

The number of values for which capacity should be allocated.

Hinweis:

Capacity will stay the same if this value is less than or equal to the current capacity.

Hinweis:

Capacity will always be rounded up to the nearest power of 2.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Map::allocate() example

<?php
$map = new \Ds\Map();
var_dump($map->capacity());

$map->allocate(100);
var_dump($map->capacity());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(16)
int(128)
Map
Ds\Map::apply
Map


Updates all values by applying a callback function to each value.

Ds\Map::allocate
Ds\Map::capacity
Map
PHP Manual

Ds\Map::apply

(PECL ds >= 1.0.0)

Ds\Map::apply — Updates all values by applying a callback function to each value.

Beschreibung

public void Ds\Map::apply ( callable $callback )

Updates all values by applying a callback function to each value in the map.

Parameter-Liste

callback

mixed callback ( mixed $key , mixed $value )

A callable to apply to each value in the map.

The callback should return what the value should be replaced by.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Map::apply() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
$map->apply(function($key, $value) { return $value * 2; });

print_r($map);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 2
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 4
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 6
        )

)
Ds\Map::allocate
Ds\Map::capacity
Map


Returns the current capacity.

Ds\Map::apply
Ds\Map::clear
Map
PHP Manual

Ds\Map::capacity

(PECL ds >= 1.0.0)

Ds\Map::capacity — Returns the current capacity.

Beschreibung

public int Ds\Map::capacity ( void )

Returns the current capacity.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current capacity.

Beispiele

Beispiel #1 Ds\Map::capacity() example

<?php
$map = new \Ds\Map();
var_dump($map->capacity());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(16)
Ds\Map::apply
Ds\Map::clear
Map


Removes all values.

Ds\Map::capacity
Ds\Map::__construct
Map
PHP Manual

Ds\Map::clear

(PECL ds >= 1.0.0)

Ds\Map::clear — Removes all values.

Beschreibung

public void Ds\Map::clear ( void )

Removes all values from the map.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Map::clear() example

<?php
$map = new \Ds\Map([
    "a" => 1,
    "b" => 2,
    "c" => 3,
]);
print_r($map);

$map->clear();
print_r($map);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 3
        )

)
Ds\Map Object
(
)
Ds\Map::capacity
Ds\Map::__construct
Map


Creates a new instance.

Ds\Map::clear
Ds\Map::copy
Map
PHP Manual

Ds\Map::__construct

(PECL ds >= 1.0.0)

Ds\Map::__construct — Creates a new instance.

Beschreibung

public Ds\Map::__construct ([ mixed $...values ] )

Creates a new instance, using either a traversable object or an array for the initial values.

Parameter-Liste

values

A traversable object or an array to use for the initial values.

Beispiele

Beispiel #1 Ds\Map::__construct() example

<?php
$map = new \Ds\Map();
var_dump($map);

$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
var_dump($map);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Map)#1 (0) {
}
object(Ds\Map)#2 (3) {
  [0]=>
  object(Ds\Pair)#1 (2) {
    ["key"]=>
    string(1) "a"
    ["value"]=>
    int(1)
  }
  [1]=>
  object(Ds\Pair)#3 (2) {
    ["key"]=>
    string(1) "b"
    ["value"]=>
    int(2)
  }
  [2]=>
  object(Ds\Pair)#4 (2) {
    ["key"]=>
    string(1) "c"
    ["value"]=>
    int(3)
  }
}
Ds\Map::clear
Ds\Map::copy
Map


Returns a shallow copy of the map.

Ds\Map::__construct
Ds\Map::count
Map
PHP Manual

Ds\Map::copy

(PECL ds >= 1.0.0)

Ds\Map::copy — Returns a shallow copy of the map.

Beschreibung

public Ds\Map Ds\Map::copy ( void )

Returns a shallow copy of the map.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a shallow copy of the map.

Beispiele

Beispiel #1 Ds\Map::copy() example

<?php
$map = new \Ds\Map([
    "a" => 1,
    "b" => 2,
    "c" => 3,
]);

print_r($map->copy());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 3
        )

)
Ds\Map::__construct
Ds\Map::count
Map


Returns the number of values in the map.

Ds\Map::copy
Ds\Map::diff
Map
PHP Manual

Ds\Map::count

(PECL ds >= 1.0.0)

Ds\Map::count — Returns the number of values in the map.

See Countable::count()

Ds\Map::copy
Ds\Map::diff
Map


Creates a new map using keys that aren't in another map.

Ds\Map::count
Ds\Map::filter
Map
PHP Manual

Ds\Map::diff

(PECL ds >= 1.0.0)

Ds\Map::diff — Creates a new map using keys that aren't in another map.

Beschreibung

public Ds\Map Ds\Map::diff ( Ds\Map $map )

Returns the result of removing all keys from the current instance that are present in a given map.

A \ B = {x ? A | x ? B}

Parameter-Liste

map

The map containing the keys to exclude in the resulting map.

Rückgabewerte

The result of removing all keys from the current instance that are present in a given map.

See Also

  • » Compliment on Wikipedia

Beispiele

Beispiel #1 Ds\Map::diff() example

<?php
$a = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
$b = new \Ds\Map(["b" => 4, "c" => 5, "d" => 6]);

var_dump($a->diff($b));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Map)#3 (1) {
  [0]=>
  object(Ds\Pair)#4 (2) {
    ["key"]=>
    string(1) "a"
    ["value"]=>
    int(1)
  }
}
Ds\Map::count
Ds\Map::filter
Map


Creates a new map using a callable to determine which pairs to include.

Ds\Map::diff
Ds\Map::first
Map
PHP Manual

Ds\Map::filter

(PECL ds >= 1.0.0)

Ds\Map::filter — Creates a new map using a callable to determine which pairs to include.

Beschreibung

public Ds\Map Ds\Map::filter ([ callable $callback ] )

Creates a new map using a callable to determine which pairs to include.

Parameter-Liste

callback

bool callback ( mixed $key , mixed $value )

Optional callable which returns TRUE if the pair should be included, FALSE otherwise.

If a callback is not provided, only values which are TRUE (see converting to boolean) will be included.

Rückgabewerte

A new map containing all the pairs for which either the callback returned TRUE, or all values that convert to TRUE if a callback was not provided.

Beispiele

Beispiel #1 Ds\Map::filter() example using callback function

<?php
$map = new \Ds\Map(["a", "b", "c", "d", "e"]);

var_dump($map->filter(function($key, $value) {
    return $key % 2 == 0;
}));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Map)#3 (3) {
  [0]=>
  object(Ds\Pair)#2 (2) {
    ["key"]=>
    int(0)
    ["value"]=>
    string(1) "a"
  }
  [1]=>
  object(Ds\Pair)#4 (2) {
    ["key"]=>
    int(2)
    ["value"]=>
    string(1) "c"
  }
  [2]=>
  object(Ds\Pair)#5 (2) {
    ["key"]=>
    int(4)
    ["value"]=>
    string(1) "e"
  }
}

Beispiel #2 Ds\Map::filter() example without a callback function

<?php
$map = new \Ds\Map(["a" => 0, "b" => 1, "c" => true, "d" => false]);

var_dump($map->filter());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Map)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  string(1) "a"
  [2]=>
  bool(true)
}
Ds\Map::diff
Ds\Map::first
Map


Returns the first pair in the map.

Ds\Map::filter
Ds\Map::get
Map
PHP Manual

Ds\Map::first

(PECL ds >= 1.0.0)

Ds\Map::first — Returns the first pair in the map.

Beschreibung

public Ds\Pair Ds\Map::first ( void )

Returns the first pair in the map.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The first pair in the map.

Fehler/Exceptions

UnderflowException if empty.

Beispiele

Beispiel #1 Ds\Map::first() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
var_dump($map->first());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Pair)#2 (2) {
  ["key"]=>
  string(1) "a"
  ["value"]=>
  int(1)
}
Ds\Map::filter
Ds\Map::get
Map


Returns the value for a given key.

Ds\Map::first
Ds\Map::hasKey
Map
PHP Manual

Ds\Map::get

(PECL ds >= 1.0.0)

Ds\Map::get — Returns the value for a given key.

Beschreibung

public mixed Ds\Map::get ( mixed $key [, mixed $default ] )

Returns the value for a given key, or an optional default value if the key could not be found.

Hinweis:

Keys of type object are supported. If an object implements Ds\Hashable, equality will be determined by the object's equals function. If an object does not implement Ds\Hashable, objects must be references to the same instance to be considered equal.

Hinweis:

You can also use array syntax to access values by key, eg. $map["key"].

Achtung

Be careful when using array syntax. Scalar keys will be coerced to integers by the engine. For example, $map["1"] will attempt to access int(1), while $map->get("1") will correctly look up the string key.

See Arrays.

Parameter-Liste

key

The key to look up.

default

The optional default value, returned if the key could not be found.

Rückgabewerte

The value mapped to the given key, or the default value if provided and the key could not be found in the map.

Fehler/Exceptions

OutOfBoundsException if the key could not be found and a default value was not provided.

Beispiele

Beispiel #1 Ds\Map::get() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

var_dump($map->get("a"));       // 1
var_dump($map->get("d", 10));   // 10 (default used)
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(1)
int(10)

Beispiel #2 Ds\Map::get() example using array syntax

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

var_dump($map["a"])); // 1
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(1)
Ds\Map::first
Ds\Map::hasKey
Map


Determines whether the map contains a given key.

Ds\Map::get
Ds\Map::hasValue
Map
PHP Manual

Ds\Map::hasKey

(PECL ds >= 1.0.0)

Ds\Map::hasKey — Determines whether the map contains a given key.

Beschreibung

public bool Ds\Map::hasKey ( mixed $key )

Determines whether the map contains a given key.

Parameter-Liste

key

The key to look for.

Rückgabewerte

Returns TRUE if the key could found, FALSE otherwise.

Beispiele

Beispiel #1 Ds\Map::hasKey() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

var_dump($map->hasKey("a")); // true
var_dump($map->hasKey("e")); // false
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(true)
bool(false)
Ds\Map::get
Ds\Map::hasValue
Map


Determines whether the map contains a given value.

Ds\Map::hasKey
Ds\Map::intersect
Map
PHP Manual

Ds\Map::hasValue

(PECL ds >= 1.0.0)

Ds\Map::hasValue — Determines whether the map contains a given value.

Beschreibung

public bool Ds\Map::hasValue ( mixed $value )

Determines whether the map contains a given value.

Parameter-Liste

value

The value to look for.

Rückgabewerte

Returns TRUE if the value could found, FALSE otherwise.

Beispiele

Beispiel #1 Ds\Map::hasValue() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

var_dump($map->hasValue(1)); // true
var_dump($map->hasValue(4)); // false
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(true)
bool(false)
Ds\Map::hasKey
Ds\Map::intersect
Map


Creates a new map by intersecting keys with another map.

Ds\Map::hasValue
Ds\Map::isEmpty
Map
PHP Manual

Ds\Map::intersect

(PECL ds >= 1.0.0)

Ds\Map::intersect — Creates a new map by intersecting keys with another map.

Beschreibung

public Ds\Map Ds\Map::intersect ( Ds\Map $map )

Creates a new map containing the pairs of the current instance whose keys are also present in the given map. In other words, returns a copy of the current instance with all keys removed that are not also in the other map.

A n B = {x : x ? A ? x ? B}

Hinweis:

Values from the current instance will be kept.

Parameter-Liste

map

The other map, containing the keys to intersect with.

Rückgabewerte

The key intersection of the current instance and another map.

See Also

  • » Intersection on Wikipedia

Beispiele

Beispiel #1 Ds\Map::intersect() example

<?php
$a = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
$b = new \Ds\Map(["b" => 4, "c" => 5, "d" => 6]);

var_dump($a->intersect($b));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Map)#3 (2) {
  [0]=>
  object(Ds\Pair)#4 (2) {
    ["key"]=>
    string(1) "b"
    ["value"]=>
    int(2)
  }
  [1]=>
  object(Ds\Pair)#5 (2) {
    ["key"]=>
    string(1) "c"
    ["value"]=>
    int(3)
  }
}
Ds\Map::hasValue
Ds\Map::isEmpty
Map


Returns whether the map is empty

Ds\Map::intersect
Ds\Map::jsonSerialize
Map
PHP Manual

Ds\Map::isEmpty

(PECL ds >= 1.0.0)

Ds\Map::isEmpty — Returns whether the map is empty

Beschreibung

public bool Ds\Map::isEmpty ( void )

Returns whether the map is empty.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the map is empty, FALSE otherwise.

Beispiele

Beispiel #1 Ds\Map::isEmpty() example

<?php
$a = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
$b = new \Ds\Map();

var_dump($a->isEmpty());
var_dump($b->isEmpty());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(false)
bool(true)
Ds\Map::intersect
Ds\Map::jsonSerialize
Map


Returns a representation that can be converted to JSON.

Ds\Map::isEmpty
Ds\Map::keys
Map
PHP Manual

Ds\Map::jsonSerialize

(PECL ds >= 1.0.0)

Ds\Map::jsonSerialize — Returns a representation that can be converted to JSON.

See JsonSerializable::jsonSerialize()

Hinweis:

You should never need to call this directly.

Ds\Map::isEmpty
Ds\Map::keys
Map


Returns a set of the map's keys.

Ds\Map::jsonSerialize
Ds\Map::ksort
Map
PHP Manual

Ds\Map::keys

(PECL ds >= 1.0.0)

Ds\Map::keys — Returns a set of the map's keys.

Beschreibung

public Ds\Set Ds\Map::keys ( void )

Returns a set containing all the keys of the map, in the same order.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A Ds\Set containing all the keys of the map.

Beispiele

Beispiel #1 Ds\Map::keys() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
var_dump($map->keys());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Set)#2 (3) {
  [0]=>
  string(1) "a"
  [1]=>
  string(1) "b"
  [2]=>
  string(1) "c"
}
Ds\Map::jsonSerialize
Ds\Map::ksort
Map


Sorts the map in-place by key.

Ds\Map::keys
Ds\Map::ksorted
Map
PHP Manual

Ds\Map::ksort

(PECL ds >= 1.0.0)

Ds\Map::ksort — Sorts the map in-place by key.

Beschreibung

public void Ds\Map::ksort ([ callable $comparator ] )

Sorts the map in-place by key, using an optional comparator function.

Parameter-Liste

comparator

Die Vergleichsfunktion muss einen Integer kleiner als, gleich oder größer als Null zurückgeben, wenn das erste Argument respektive kleiner, gleich oder größer als das zweite ist.

int callback ( mixed $a, mixed $b )
Achtung

Returning non-integer values from the comparison function, such as float, will result in an internal cast to integer of the callback's return value. So values such as 0.99 and 0.1 will both be cast to an integer value of 0, which will compare such values as equal.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Map::ksort() example

<?php
$map = new \Ds\Map(["b" => 2, "c" => 3, "a" => 1]);
$map->ksort();

print_r($map);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 3
        )

)

Beispiel #2 Ds\Map::ksort() example using a comparator

<?php
$map = new \Ds\Map([1 => "x", 2 => "y", 0 => "z"]);

// Reverse
$map->ksort(function($a, $b) {
    return $b <=> $a;
});

print_r($map);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Map Object
Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => 2
            [value] => y
        )

    [1] => Ds\Pair Object
        (
            [key] => 1
            [value] => x
        )

    [2] => Ds\Pair Object
        (
            [key] => 0
            [value] => z
        )

)
Ds\Map::keys
Ds\Map::ksorted
Map


Returns a copy, sorted by key.

Ds\Map::ksort
Ds\Map::last
Map
PHP Manual

Ds\Map::ksorted

(No version information available, might only be in Git)

Ds\Map::ksorted — Returns a copy, sorted by key.

Beschreibung

public Ds\Map Ds\Map::ksorted ([ callable $comparator ] )

Returns a copy sorted by key, using an optional comparator function.

Parameter-Liste

comparator

Die Vergleichsfunktion muss einen Integer kleiner als, gleich oder größer als Null zurückgeben, wenn das erste Argument respektive kleiner, gleich oder größer als das zweite ist.

int callback ( mixed $a, mixed $b )
Achtung

Returning non-integer values from the comparison function, such as float, will result in an internal cast to integer of the callback's return value. So values such as 0.99 and 0.1 will both be cast to an integer value of 0, which will compare such values as equal.

Rückgabewerte

Returns a copy of the map, sorted by key.

Beispiele

Beispiel #1 Ds\Map::ksorted() example

<?php
$map = new \Ds\Map(["b" => 2, "c" => 3, "a" => 1]);

print_r($map->ksorted());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Map Object
Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 3
        )

)

Beispiel #2 Ds\Map::ksorted() example using a comparator

<?php
$map = new \Ds\Map([1 => "x", 2 => "y", 0 => "z"]);

// Reverse
$sorted = $map->ksorted(function($a, $b) {
    return $b <=> $a;
});

print_r($sorted);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Map Object
Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => 2
            [value] => y
        )

    [1] => Ds\Pair Object
        (
            [key] => 1
            [value] => x
        )

    [2] => Ds\Pair Object
        (
            [key] => 0
            [value] => z
        )

)
Ds\Map::ksort
Ds\Map::last
Map


Returns the last pair of the map.

Ds\Map::ksorted
Ds\Map::map
Map
PHP Manual

Ds\Map::last

(PECL ds >= 1.0.0)

Ds\Map::last — Returns the last pair of the map.

Beschreibung

public Ds\Pair Ds\Map::last ( void )

Returns the last pair of the map.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The last pair of the map.

Fehler/Exceptions

UnderflowException if empty.

Beispiele

Beispiel #1 Ds\Map::last() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
var_dump($map->last());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Pair)#2 (2) {
  ["key"]=>
  string(1) "c"
  ["value"]=>
  int(3)
}
Ds\Map::ksorted
Ds\Map::map
Map


Returns the result of applying a callback to each value.

Ds\Map::last
Ds\Map::merge
Map
PHP Manual

Ds\Map::map

(PECL ds >= 1.0.0)

Ds\Map::map — Returns the result of applying a callback to each value.

Beschreibung

public Ds\Map Ds\Map::map ( callable $callback )

Returns the result of applying a callback function to each value of the map.

Parameter-Liste

callback

mixed callback ( mixed $key , mixed $value )

A callable to apply to each value in the map.

The callable should return what the key will be mapped to in the resulting map.

Rückgabewerte

The result of applying a callback to each value in the map.

Hinweis:

The keys and values of the current instance won't be affected.

Beispiele

Beispiel #1 Ds\Map::map() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

print_r($map->map(function($key, $value) { return $value * 2; }));
print_r($map);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 2
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 4
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 6
        )

)
Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 3
        )

)
Ds\Map::last
Ds\Map::merge
Map


Returns the result of adding all given associations.

Ds\Map::map
Ds\Map::pairs
Map
PHP Manual

Ds\Map::merge

(PECL ds >= 1.0.0)

Ds\Map::merge — Returns the result of adding all given associations.

Beschreibung

public Ds\Map Ds\Map::merge ( mixed $values )

Returns the result of associating all keys of a given traversable object or array with their corresponding values, combined with the current instance.

Hinweis:

Values of the current instance will be overwritten by those provided where keys are equal.

Parameter-Liste

values

A traversable object or an array.

Rückgabewerte

The result of associating all keys of a given traversable object or array with their corresponding values, combined with the current instance.

Hinweis:

The current instance won't be affected.

Beispiele

Beispiel #1 Ds\Map::merge() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

print_r($map->merge(["a" => 10, "e" => 50]));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 10
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 3
        )

    [3] => Ds\Pair Object
        (
            [key] => e
            [value] => 50
        )

)
Ds\Map::map
Ds\Map::pairs
Map


Returns a sequence containing all the pairs of the map.

Ds\Map::merge
Ds\Map::put
Map
PHP Manual

Ds\Map::pairs

(PECL ds >= 1.0.0)

Ds\Map::pairs — Returns a sequence containing all the pairs of the map.

Beschreibung

public Ds\Sequence Ds\Map::pairs ( void )

Returns a Ds\Sequence containing all the pairs of the map.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Ds\Sequence containing all the pairs of the map.

Beispiele

Beispiel #1 Ds\Map::pairs() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

var_dump($map->pairs());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Map)#8 (3) {
  [0]=>
  object(Ds\Pair)#5 (2) {
    ["key"]=>
    string(1) "a"
    ["value"]=>
    int(1)
  }
  [1]=>
  object(Ds\Pair)#6 (2) {
    ["key"]=>
    string(1) "b"
    ["value"]=>
    int(2)
  }
  [2]=>
  object(Ds\Pair)#7 (2) {
    ["key"]=>
    string(1) "c"
    ["value"]=>
    int(3)
  }
}
p
Ds\Map::merge
Ds\Map::put
Map


Associates a key with a value.

Ds\Map::pairs
Ds\Map::putAll
Map
PHP Manual

Ds\Map::put

(PECL ds >= 1.0.0)

Ds\Map::put — Associates a key with a value.

Beschreibung

public void Ds\Map::put ( mixed $key , mixed $value )

Associates a key with a value, overwriting a previous association if one exists.

Hinweis:

Keys of type object are supported. If an object implements Ds\Hashable, equality will be determined by the object's equals function. If an object does not implement Ds\Hashable, objects must be references to the same instance to be considered equal.

Hinweis:

You can also use array syntax to associate values by key, eg. $map["key"] = $value.

Achtung

Be careful when using array syntax. Scalar keys will be coerced to integers by the engine. For example, $map["1"] will attempt to access int(1), while $map->get("1") will correctly look up the string key.

See Arrays.

Parameter-Liste

key

The key to associate the value with.

value

The value to be associated with the key.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Map::put() example

<?php
$map = new \Ds\Map();

$map->put("a", 1);
$map->put("b", 2);
$map->put("c", 3);

print_r($map);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 3
        )

)

Beispiel #2 Ds\Map::put() example using objects as keys

<?php
class HashableObject implements \Ds\Hashable
{
    /**
     * An arbitrary value to use as the hash value. Does not define equality.
     */
    private $value;

    public function __construct($value)
    {
        $this->value = $value;
    }

    public function hash()
    {
        return $this->value;
    }

    public function equals($obj): bool
    {
        return $this->value === $obj->value;
    }
}

$map = new \Ds\Map();

$obj = new \ArrayIterator([]);

// Using the same instance multiple times will overwrite the previous value.
$map->put($obj, 1);
$map->put($obj, 2);

// Using multiple instances of the same object will create new associations.
$map->put(new \stdClass(), 3);
$map->put(new \stdClass(), 4);

// Using multiple instances of equal hashable objects will overwrite previous values.
$map->put(new \HashableObject(1), 5);
$map->put(new \HashableObject(1), 6);
$map->put(new \HashableObject(2), 7);
$map->put(new \HashableObject(2), 8);

var_dump($map);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Map)#1 (5) {
  [0]=>
  object(Ds\Pair)#7 (2) {
    ["key"]=>
    object(ArrayIterator)#2 (1) {
      ["storage":"ArrayIterator":private]=>
      array(0) {
      }
    }
    ["value"]=>
    int(2)
  }
  [1]=>
  object(Ds\Pair)#8 (2) {
    ["key"]=>
    object(stdClass)#3 (0) {
    }
    ["value"]=>
    int(3)
  }
  [2]=>
  object(Ds\Pair)#9 (2) {
    ["key"]=>
    object(stdClass)#4 (0) {
    }
    ["value"]=>
    int(4)
  }
  [3]=>
  object(Ds\Pair)#10 (2) {
    ["key"]=>
    object(HashableObject)#5 (1) {
      ["value":"HashableObject":private]=>
      int(1)
    }
    ["value"]=>
    int(6)
  }
  [4]=>
  object(Ds\Pair)#11 (2) {
    ["key"]=>
    object(HashableObject)#6 (1) {
      ["value":"HashableObject":private]=>
      int(2)
    }
    ["value"]=>
    int(8)
  }
}
Ds\Map::pairs
Ds\Map::putAll
Map


Associates all key-value pairs of a traversable object or array.

Ds\Map::put
Ds\Map::reduce
Map
PHP Manual

Ds\Map::putAll

(PECL ds >= 1.0.2)

Ds\Map::putAll — Associates all key-value pairs of a traversable object or array.

Beschreibung

public void Ds\Map::putAll ( mixed $pairs )

Associates all key-value pairs of a traversable object or array.

Hinweis:

Keys of type object are supported. If an object implements Ds\Hashable, equality will be determined by the object's equals function. If an object does not implement Ds\Hashable, objects must be references to the same instance to be considered equal.

Parameter-Liste

pairs

traversable object or array.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Map::putAll() example

<?php
$map = new \Ds\Map();

$map->putAll([
    "a" => 1,
    "b" => 2,
    "c" => 3,
]);

print_r($map);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 3
        )

)
Ds\Map::put
Ds\Map::reduce
Map


Reduces the map to a single value using a callback function.

Ds\Map::putAll
Ds\Map::remove
Map
PHP Manual

Ds\Map::reduce

(PECL ds >= 1.0.0)

Ds\Map::reduce — Reduces the map to a single value using a callback function.

Beschreibung

public mixed Ds\Map::reduce ( callable $callback [, mixed $initial ] )

Reduces the map to a single value using a callback function.

Parameter-Liste

callback
mixed callback ( mixed $carry , mixed $key , mixed $value )
carry

The return value of the previous callback, or initial if it's the first iteration.

key

The key of the current iteration.

value

The value of the current iteration.

initial

The initial value of the carry value. Can be NULL.

Rückgabewerte

The return value of the final callback.

Beispiele

Beispiel #1 Ds\Map::reduce() with initial value example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

$callback = function($carry, $key, $value) {
    return $carry * $value;
};

var_dump($map->reduce($callback, 5));

// Iterations:
//
// $carry = $initial = 5
//
// $carry = $carry * 1 =  5
// $carry = $carry * 2 = 10
// $carry = $carry * 3 = 30
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(30)

Beispiel #2 Ds\Map::reduce() without an initial value example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

var_dump($map->reduce(function($carry, $key, $value) {
    return $carry + $value + 5;
}));

// Iterations:
//
// $carry = $initial = null
//
// $carry = $carry + 1 + 5 =  6
// $carry = $carry + 2 + 5 = 13
// $carry = $carry + 3 + 5 = 21
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(21)
Ds\Map::putAll
Ds\Map::remove
Map


Removes and returns a value by key.

Ds\Map::reduce
Ds\Map::reverse
Map
PHP Manual

Ds\Map::remove

(PECL ds >= 1.0.0)

Ds\Map::remove — Removes and returns a value by key.

Beschreibung

public mixed Ds\Map::remove ( mixed $key [, mixed $default ] )

Removes and returns a value by key, or return an optional default value if the key could not be found.

Hinweis:

Keys of type object are supported. If an object implements Ds\Hashable, equality will be determined by the object's equals function. If an object does not implement Ds\Hashable, objects must be references to the same instance to be considered equal.

Hinweis:

You can also use array syntax to access values by key, eg. $map["key"].

Achtung

Be careful when using array syntax. Scalar keys will be coerced to integers by the engine. For example, $map["1"] will attempt to access int(1), while $map->get("1") will correctly look up the string key.

See Arrays.

Parameter-Liste

key

The key to remove.

default

The optional default value, returned if the key could not be found.

Rückgabewerte

The value that was removed, or the default value if provided and the key could not be found in the map.

Fehler/Exceptions

OutOfBoundsException if the key could not be found and a default value was not provided.

Beispiele

Beispiel #1 Ds\Map::remove() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

var_dump($map->remove("a"));      //  1
var_dump($map->remove("e", 10));  // 10 (default used)
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(1)
int(10)
Ds\Map::reduce
Ds\Map::reverse
Map


Reverses the map in-place.

Ds\Map::remove
Ds\Map::reversed
Map
PHP Manual

Ds\Map::reverse

(PECL ds >= 1.0.0)

Ds\Map::reverse — Reverses the map in-place.

Beschreibung

public void Ds\Map::reverse ( void )

Reverses the map in-place.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Map::reverse() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
$map->reverse();

print_r($map);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => c
            [value] => 3
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

)
Ds\Map::remove
Ds\Map::reversed
Map


Returns a reversed copy.

Ds\Map::reverse
Ds\Map::skip
Map
PHP Manual

Ds\Map::reversed

(PECL ds >= 1.0.0)

Ds\Map::reversed — Returns a reversed copy.

Beschreibung

public Ds\Map Ds\Map::reversed ( void )

Returns a reversed copy of the map.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A reversed copy of the map.

Hinweis:

The current instance is not affected.

Beispiele

Beispiel #1 Ds\Map::reversed() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

print_r($map->reversed());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => c
            [value] => 3
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

)
Ds\Map::reverse
Ds\Map::skip
Map


Returns the pair at a given positional index.

Ds\Map::reversed
Ds\Map::slice
Map
PHP Manual

Ds\Map::skip

(PECL ds >= 1.0.0)

Ds\Map::skip — Returns the pair at a given positional index.

Beschreibung

public Ds\Pair Ds\Map::skip ( int $position )

Returns the pair at a given zero-based position.

Parameter-Liste

position

The zero-based positional index to return.

Rückgabewerte

Returns the Ds\Pair at the given position.

Fehler/Exceptions

OutOfRangeException if the position is not valid.

Beispiele

Beispiel #1 Ds\Map::skip() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

var_dump($map->skip(1));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Pair)#2 (2) {
  ["key"]=>
  string(1) "b"
  ["value"]=>
  int(2)
}
Ds\Map::reversed
Ds\Map::slice
Map


Returns a subset of the map defined by a starting index and length.

Ds\Map::skip
Ds\Map::sort
Map
PHP Manual

Ds\Map::slice

(PECL ds >= 1.0.0)

Ds\Map::slice — Returns a subset of the map defined by a starting index and length.

Beschreibung

public Ds\Map Ds\Map::slice ( int $index [, int $length ] )

Returns a subset of the map defined by a starting index and length.

Parameter-Liste

index

The index at which the range starts.

If positive, the range will start at that index in the map. If negative, the range will start that far from the end.

length

If a length is given and is positive, the resulting map will have up to that many pairs in it. If a length is given and is negative, the range will stop that many pairs from the end. If the length results in an overflow, only pairs up to the end of the map will be included. If a length is not provided, the resulting map will contain all pairs between the index and the end of the map.

Rückgabewerte

A subset of the map defined by a starting index and length.

Beispiele

Beispiel #1 Ds\Map::slice() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3, "d" => 4, "e" => 5]);

// Slice from 2 onwards
print_r($map->slice(2)->toArray());

// Slice from 1, for a length of 3
print_r($map->slice(1, 3)->toArray());

// Slice from 1 onwards
print_r($map->slice(1)->toArray());

// Slice from 2 from the end onwards
print_r($map->slice(-2)->toArray());

// Slice from 1 to 1 from the end
print_r($map->slice(1, -1)->toArray());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [c] => 3
    [d] => 4
    [e] => 5
)
Array
(
    [b] => 2
    [c] => 3
    [d] => 4
)
Array
(
    [b] => 2
    [c] => 3
    [d] => 4
    [e] => 5
)
Array
(
    [d] => 4
    [e] => 5
)
Array
(
    [b] => 2
    [c] => 3
    [d] => 4
)
Ds\Map::skip
Ds\Map::sort
Map


Sorts the map in-place by value.

Ds\Map::slice
Ds\Map::sorted
Map
PHP Manual

Ds\Map::sort

(PECL ds >= 1.0.0)

Ds\Map::sort — Sorts the map in-place by value.

Beschreibung

public void Ds\Map::sort ([ callable $comparator ] )

Sorts the map in-place by value, using an optional comparator function.

Parameter-Liste

comparator

Die Vergleichsfunktion muss einen Integer kleiner als, gleich oder größer als Null zurückgeben, wenn das erste Argument respektive kleiner, gleich oder größer als das zweite ist.

int callback ( mixed $a, mixed $b )
Achtung

Returning non-integer values from the comparison function, such as float, will result in an internal cast to integer of the callback's return value. So values such as 0.99 and 0.1 will both be cast to an integer value of 0, which will compare such values as equal.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Map::sort() example

<?php
$map = new \Ds\Map(["a" => 2, "b" => 3, "c" => 1]);
$map->sort();

print_r($map);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => c
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => a
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => b
            [value] => 3
        )

)

Beispiel #2 Ds\Map::sort() example using a comparator

<?php
$map = new \Ds\Map(["a" => 2, "b" => 3, "c" => 1]);

$map->sort(function($a, $b) {
    return $b <=> $a;
});

print_r($map);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => b
            [value] => 3
        )

    [1] => Ds\Pair Object
        (
            [key] => a
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 1
        )

)
Ds\Map::slice
Ds\Map::sorted
Map


Returns a copy, sorted by value.

Ds\Map::sort
Ds\Map::sum
Map
PHP Manual

Ds\Map::sorted

(PECL ds >= 1.0.0)

Ds\Map::sorted — Returns a copy, sorted by value.

Beschreibung

public Ds\Map Ds\Map::sorted ([ callable $comparator ] )

Returns a copy, sorted by value using an optional comparator function.

Parameter-Liste

comparator

Die Vergleichsfunktion muss einen Integer kleiner als, gleich oder größer als Null zurückgeben, wenn das erste Argument respektive kleiner, gleich oder größer als das zweite ist.

int callback ( mixed $a, mixed $b )
Achtung

Returning non-integer values from the comparison function, such as float, will result in an internal cast to integer of the callback's return value. So values such as 0.99 and 0.1 will both be cast to an integer value of 0, which will compare such values as equal.

Rückgabewerte

Returns a copy of the map, sorted by value.

Beispiele

Beispiel #1 Ds\Map::sort() example

<?php
$map = new \Ds\Map(["a" => 2, "b" => 3, "c" => 1]);

print_r($map->sorted());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => c
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => a
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => b
            [value] => 3
        )

)

Beispiel #2 Ds\Map::sort() example using a comparator

<?php
$map = new \Ds\Map(["a" => 2, "b" => 3, "c" => 1]);

// Reverse
$sorted = $map->sorted(function($a, $b) {
    return $b <=> $a;
});

print_r($sorted);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => b
            [value] => 3
        )

    [1] => Ds\Pair Object
        (
            [key] => a
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 1
        )

)
Ds\Map::sort
Ds\Map::sum
Map


Returns the sum of all values in the map.

Ds\Map::sorted
Ds\Map::toArray
Map
PHP Manual

Ds\Map::sum

(No version information available, might only be in Git)

Ds\Map::sum — Returns the sum of all values in the map.

Beschreibung

public number Ds\Map::sum ( void )

Returns the sum of all values in the map.

Hinweis:

Arrays and objects are considered equal to zero when calculating the sum.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The sum of all the values in the map as either a float or int depending on the values in the map.

Beispiele

Beispiel #1 Ds\Map::sum() integer example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
var_dump($map->sum());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(6)

Beispiel #2 Ds\Map::sum() float example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2.5, "c" => 3]);
var_dump($map->sum());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

float(6.5)
Ds\Map::sorted
Ds\Map::toArray
Map


Converts the map to an array.

Ds\Map::sum
Ds\Map::union
Map
PHP Manual

Ds\Map::toArray

(PECL ds >= 1.0.0)

Ds\Map::toArray — Converts the map to an array.

Beschreibung

public array Ds\Map::toArray ( void )

Converts the map to an array.

Achtung

Maps where non-scalar keys are can't be converted to an array.

Achtung

An array will treat all numeric keys as integers, eg. "1" and 1 as keys in the map will only result in 1 being included in the array.

Hinweis:

Casting to an array is not supported yet.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An array containing all the values in the same order as the map.

Beispiele

Beispiel #1 Ds\Map::toArray() example

<?php
$map = new \Ds\Map([
    "a" => 1,
    "b" => 2,
    "c" => 3,
]);

var_dump($map->toArray());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(3) {
  ["a"]=>
  int(1)
  ["b"]=>
  int(2)
  ["c"]=>
  int(3)
}
Ds\Map::sum
Ds\Map::union
Map


Creates a new map using values from the current instance and another map.

Ds\Map::toArray
Ds\Map::values
Map
PHP Manual

Ds\Map::union

(PECL ds >= 1.0.0)

Ds\Map::union — Creates a new map using values from the current instance and another map.

Beschreibung

public Ds\Map Ds\Map::union ( Ds\Map $map )

Creates a new map that contains the pairs of the current instance as well as the pairs of another map.

A ? B = {x: x ? A ? x ? B}

Hinweis:

Values of the current instance will be overwritten by those provided where keys are equal.

Parameter-Liste

map

The other map, to combine with the current instance.

Rückgabewerte

A new map containing all the pairs of the current instance as well as another map.

See Also

  • » Union on Wikipedia

Beispiele

Beispiel #1 Ds\Map::union() example

<?php
$a = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
$b = new \Ds\Map(["b" => 3, "c" => 4, "d" => 5]);

print_r($a->union($b));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 3
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 4
        )

    [3] => Ds\Pair Object
        (
            [key] => d
            [value] => 5
        )

)
Ds\Map::toArray
Ds\Map::values
Map


Returns a sequence of the map's values.

Ds\Map::union
Ds\Map::xor
Map
PHP Manual

Ds\Map::values

(PECL ds >= 1.0.0)

Ds\Map::values — Returns a sequence of the map's values.

Beschreibung

public Ds\Sequence Ds\Map::values ( void )

Returns a sequence containing all the values of the map, in the same order.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A Ds\Sequence containing all the values of the map.

Beispiele

Beispiel #1 Ds\Map::values() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
var_dump($map->values());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Map)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}
Ds\Map::union
Ds\Map::xor
Map


Creates a new map using keys of either the current instance or of another map, but not of both.

Ds\Map::values
Pair
Map
PHP Manual

Ds\Map::xor

(PECL ds >= 1.0.0)

Ds\Map::xor — Creates a new map using keys of either the current instance or of another map, but not of both.

Beschreibung

public Ds\Map Ds\Map::xor ( Ds\Map $map )

Creates a new map containing keys of the current instance as well as another map, but not of both.

A ? B = {x : x ? (A \ B) ? (B \ A)}

Parameter-Liste

map

The other map.

Rückgabewerte

A new map containing keys in the current instance as well as another map, but not in both.

See Also

  • » Symmetric Difference on Wikipedia

Beispiele

Beispiel #1 Ds\Map::xor() example

<?php
$a = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
$b = new \Ds\Map(["b" => 4, "c" => 5, "d" => 6]);

print_r($a->xor($b));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => d
            [value] => 6
        )

)
Ds\Map::values
Pair
Map


The Pair class

(No version information available, might only be in Git)

Einführung

A pair is used by Ds\Map to pair keys with values.

Klassenbeschreibung

Ds\Pair implements JsonSerializable {
/* Methoden */
public __construct ([ mixed $key [, mixed $value ]] )
}

Inhaltsverzeichnis

  • Ds\Pair::clear — Removes all values.
  • Ds\Pair::__construct — Creates a new instance.
  • Ds\Pair::copy — Returns a shallow copy of the pair.
  • Ds\Pair::isEmpty — Returns whether the pair is empty
  • Ds\Pair::jsonSerialize — Returns a representation that can be converted to JSON.
  • Ds\Pair::toArray — Converts the pair to an array.
Ds\Map::xor
Ds\Pair::clear
Data Structures


Removes all values.

Pair
Ds\Pair::__construct
Pair
PHP Manual

Ds\Pair::clear

(No version information available, might only be in Git)

Ds\Pair::clear — Removes all values.

Beschreibung

public void Ds\Pair::clear ( void )

Removes all values from the pair.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Pair::clear() example

<?php
$pair = new \Ds\Pair("a", 1);
print_r($pair);

$pair->clear();
print_r($pair);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Pair Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
Ds\Pair Object
(
)
Pair
Ds\Pair::__construct
Pair


Creates a new instance.

Ds\Pair::clear
Ds\Pair::copy
Pair
PHP Manual

Ds\Pair::__construct

(PECL ds >= 1.0.0)

Ds\Pair::__construct — Creates a new instance.

Beschreibung

public Ds\Pair::__construct ([ mixed $key [, mixed $value ]] )

Creates a new instance using a given key and value.

Parameter-Liste

key

The key.

value

The value.

Ds\Pair::clear
Ds\Pair::copy
Pair


Returns a shallow copy of the pair.

Ds\Pair::__construct
Ds\Pair::isEmpty
Pair
PHP Manual

Ds\Pair::copy

(No version information available, might only be in Git)

Ds\Pair::copy — Returns a shallow copy of the pair.

Beschreibung

public Ds\Pair Ds\Pair::copy ( void )

Returns a shallow copy of the pair.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a shallow copy of the pair.

Beispiele

Beispiel #1 Ds\Pair::copy() example

<?php
$a = new \Ds\Pair("a", 1);
$b = $a->copy();

$a->key = "x";

print_r($a);
print_r($b);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Pair Object
(
    [key] => x
    [value] => 1
)
Ds\Pair Object
(
    [key] => a
    [value] => 1
)
Ds\Pair::__construct
Ds\Pair::isEmpty
Pair


Returns whether the pair is empty

Ds\Pair::copy
Ds\Pair::jsonSerialize
Pair
PHP Manual

Ds\Pair::isEmpty

(No version information available, might only be in Git)

Ds\Pair::isEmpty — Returns whether the pair is empty

Beschreibung

public bool Ds\Pair::isEmpty ( void )

Returns whether the pair is empty.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the pair is empty, FALSE otherwise.

Beispiele

Beispiel #1 Ds\Pair::isEmpty() example

<?php
$a = new \Ds\Pair("a", 1);
$b = new \Ds\Pair();

var_dump($a->isEmpty());
var_dump($b->isEmpty());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(false)
bool(true)
Ds\Pair::copy
Ds\Pair::jsonSerialize
Pair


Returns a representation that can be converted to JSON.

Ds\Pair::isEmpty
Ds\Pair::toArray
Pair
PHP Manual

Ds\Pair::jsonSerialize

(PECL ds >= 1.0.0)

Ds\Pair::jsonSerialize — Returns a representation that can be converted to JSON.

See JsonSerializable::jsonSerialize()

Hinweis:

You should never need to call this directly.

Ds\Pair::isEmpty
Ds\Pair::toArray
Pair


Converts the pair to an array.

Ds\Pair::jsonSerialize
Set
Pair
PHP Manual

Ds\Pair::toArray

(PECL ds >= 1.0.0)

Ds\Pair::toArray — Converts the pair to an array.

Beschreibung

public array Ds\Pair::toArray ( void )

Converts the pair to an array.

Hinweis:

Casting to an array is not supported yet.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An array containing all the values in the same order as the pair.

Beispiele

Beispiel #1 Ds\Pair::toArray() example

<?php
$pair = new \Ds\Pair("a", 1);

var_dump($pair->toArray());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(2) {
  ["key"]=>
  string(1) "a"
  ["value"]=>
  int(1)
}
Ds\Pair::jsonSerialize
Set
Pair


The Set class

(No version information available, might only be in Git)

Einführung

A Set is a sequence of unique values. This implementation uses the same hash table as Ds\Map, where values are used as keys and the mapped value is ignored.

Strengths

  • Values can be any type, including objects.
  • Supports array syntax (square brackets).
  • Insertion order is preserved.
  • Automatically frees allocated memory when its size drops low enough.
  • add(),
remove() and
contains() are all O(1).

Weaknesses

  • Doesn’t support
                push(),
                pop(),
                insert(),
                shift(), or
                unshift().
  • get() is O(n) if there are deleted values in the buffer before the accessed index, O(1) otherwise.

Klassenbeschreibung

Ds\Set implements Ds\Collection {
/* Constants */
const int MIN_CAPACITY = 16 ;
/* Methoden */
public void add ([ mixed $...values ] )
public void allocate ( int $capacity )
public int capacity ( void )
public void clear ( void )
public bool contains ([ mixed $...values ] )
public Ds\Set copy ( void )
public Ds\Set diff ( Ds\Set $set )
public Ds\Set filter ([ callable $callback ] )
public void first ( void )
public mixed get ( int $index )
public Ds\Set intersect ( Ds\Set $set )
public bool isEmpty ( void )
public string join ([ string $glue ] )
public void last ( void )
public Ds\Set merge ( mixed $values )
public mixed reduce ( callable $callback [, mixed $initial ] )
public void remove ([ mixed $...values ] )
public void reverse ( void )
public Ds\Set reversed ( void )
public Ds\Set slice ( int $index [, int $length ] )
public void sort ([ callable $comparator ] )
public Ds\Set sorted ([ callable $comparator ] )
public number sum ( void )
public array toArray ( void )
public Ds\Set union ( Ds\Set $set )
public Ds\Set xor ( Ds\Set $set )
}

Vordefinierte Konstanten

Ds\Set::MIN_CAPACITY

Inhaltsverzeichnis

  • Ds\Set::add — Adds values to the set.
  • Ds\Set::allocate — Allocates enough memory for a required capacity.
  • Ds\Set::capacity — Returns the current capacity.
  • Ds\Set::clear — Removes all values.
  • Ds\Set::__construct — Creates a new instance.
  • Ds\Set::contains — Determines if the set contains all values.
  • Ds\Set::copy — Returns a shallow copy of the set.
  • Ds\Set::count — Returns the number of values in the set.
  • Ds\Set::diff — Creates a new set using values that aren't in another set.
  • Ds\Set::filter — Creates a new set using a callable to determine which values to include.
  • Ds\Set::first — Returns the first value in the set.
  • Ds\Set::get — Returns the value at a given index.
  • Ds\Set::intersect — Creates a new set by intersecting values with another set.
  • Ds\Set::isEmpty — Returns whether the set is empty
  • Ds\Set::join — Joins all values together as a string.
  • Ds\Set::jsonSerialize — Returns a representation that can be converted to JSON.
  • Ds\Set::last — Returns the last value in the set.
  • Ds\Set::merge — Returns the result of adding all given values to the set.
  • Ds\Set::reduce — Reduces the set to a single value using a callback function.
  • Ds\Set::remove — Removes all given values from the set.
  • Ds\Set::reverse — Reverses the set in-place.
  • Ds\Set::reversed — Returns a reversed copy.
  • Ds\Set::slice — Returns a sub-set of a given range.
  • Ds\Set::sort — Sorts the set in-place.
  • Ds\Set::sorted — Returns a sorted copy.
  • Ds\Set::sum — Returns the sum of all values in the set.
  • Ds\Set::toArray — Converts the set to an array.
  • Ds\Set::union — Creates a new set using values from the current instance and another set.
  • Ds\Set::xor — Creates a new set using values in either the current instance or in another set, but not in both.
Ds\Pair::toArray
Ds\Set::add
Data Structures


Adds values to the set.

Set
Ds\Set::allocate
Set
PHP Manual

Ds\Set::add

(PECL ds >= 1.0.0)

Ds\Set::add — Adds values to the set.

Beschreibung

public void Ds\Set::add ([ mixed $...values ] )

Adds all given values to the set that haven't already been added.

Hinweis:

Values of type object are supported. If an object implements Ds\Hashable, equality will be determined by the object's equals function. If an object does not implement Ds\Hashable, objects must be references to the same instance to be considered equal.

Achtung

All comparisons are strict (type and value).

Parameter-Liste

values

Values to add to the set.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Set::add() example using integers

<?php
$set = new \Ds\Set();

$set->add(1);
$set->add(1);
$set->add(2);
$set->add(3);

// Strict comparison would not treat these the same as int(1)
$set->add("1");
$set->add(true);

var_dump($set);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Set)#1 (5) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  [3]=>
  string(1) "1"
  [4]=>
  bool(true)
}

Beispiel #2 Ds\Set::add() example using objects

<?php
class HashableObject implements \Ds\Hashable
{
    /**
     * An arbitrary value to use as the hash value. Does not define equality.
     */
    private $value;

    public function __construct($value)
    {
        $this->value = $value;
    }

    public function hash()
    {
        return $this->value;
    }

    public function equals($obj): bool
    {
        return $this->value === $obj->value;
    }
}

$set = new \Ds\Set();

$obj = new \ArrayIterator([]);

// Adding the same instance multiple times will only add the first.
$set->add($obj);
$set->add($obj);

// Adding multiple instances of the same object will add them all.
$set->add(new \stdClass());
$set->add(new \stdClass());

// Adding multiple instances of equal hashable objects will only add the first.
$set->add(new \HashableObject(1));
$set->add(new \HashableObject(1));
$set->add(new \HashableObject(2));
$set->add(new \HashableObject(2));

var_dump($set);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Set)#1 (5) {
  [0]=>
  object(ArrayIterator)#2 (1) {
    ["storage":"ArrayIterator":private]=>
    array(0) {
    }
  }
  [1]=>
  object(stdClass)#3 (0) {
  }
  [2]=>
  object(stdClass)#4 (0) {
  }
  [3]=>
  object(HashableObject)#5 (1) {
    ["value":"HashableObject":private]=>
    int(1)
  }
  [4]=>
  object(HashableObject)#6 (1) {
    ["value":"HashableObject":private]=>
    int(2)
  }
}
Set
Ds\Set::allocate
Set


Allocates enough memory for a required capacity.

Ds\Set::add
Ds\Set::capacity
Set
PHP Manual

Ds\Set::allocate

(PECL ds >= 1.0.0)

Ds\Set::allocate — Allocates enough memory for a required capacity.

Beschreibung

public void Ds\Set::allocate ( int $capacity )

Allocates enough memory for a required capacity.

Parameter-Liste

capacity

The number of values for which capacity should be allocated.

Hinweis:

Capacity will stay the same if this value is less than or equal to the current capacity.

Hinweis:

Capacity will always be rounded up to the nearest power of 2.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Set::allocate() example

<?php
$set = new \Ds\Set();
var_dump($set->capacity());

$set->allocate(100);
var_dump($set->capacity());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(16)
int(128)
Ds\Set::add
Ds\Set::capacity
Set


Returns the current capacity.

Ds\Set::allocate
Ds\Set::clear
Set
PHP Manual

Ds\Set::capacity

(PECL ds >= 1.0.0)

Ds\Set::capacity — Returns the current capacity.

Beschreibung

public int Ds\Set::capacity ( void )

Returns the current capacity.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current capacity.

Beispiele

Beispiel #1 Ds\Set::capacity() example

<?php
$set = new \Ds\Set();
var_dump($set->capacity());

$set->push(...range(1, 50));
var_dump($set->capacity());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(16)
int(64)
Ds\Set::allocate
Ds\Set::clear
Set


Removes all values.

Ds\Set::capacity
Ds\Set::__construct
Set
PHP Manual

Ds\Set::clear

(PECL ds >= 1.0.0)

Ds\Set::clear — Removes all values.

Beschreibung

public void Ds\Set::clear ( void )

Removes all values from the set.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Set::clear() example

<?php
$set = new \Ds\Set([1, 2, 3]);
print_r($set);

$set->clear();
print_r($set);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Set Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
Ds\Set Object
(
)
Ds\Set::capacity
Ds\Set::__construct
Set


Creates a new instance.

Ds\Set::clear
Ds\Set::contains
Set
PHP Manual

Ds\Set::__construct

(PECL ds >= 1.0.0)

Ds\Set::__construct — Creates a new instance.

Beschreibung

public Ds\Set::__construct ([ mixed $...values ] )

Creates a new instance, using either a traversable object or an array for the initial values.

Parameter-Liste

values

A traversable object or an array to use for the initial values.

Beispiele

Beispiel #1 Ds\Set::__construct() example

<?php
$set = new \Ds\Set();
var_dump($set);

$set = new \Ds\Set([1, 2, 3]);
var_dump($set);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Set)#1 (0) {
}
object(Ds\Set)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}
Ds\Set::clear
Ds\Set::contains
Set


Determines if the set contains all values.

Ds\Set::__construct
Ds\Set::copy
Set
PHP Manual

Ds\Set::contains

(PECL ds >= 1.0.0)

Ds\Set::contains — Determines if the set contains all values.

Beschreibung

public bool Ds\Set::contains ([ mixed $...values ] )

Determines if the set contains all values.

Hinweis:

Values of type object are supported. If an object implements Ds\Hashable, equality will be determined by the object's equals function. If an object does not implement Ds\Hashable, objects must be references to the same instance to be considered equal.

Achtung

All comparisons are strict (type and value).

Parameter-Liste

values

Values to check.

Rückgabewerte

FALSE if any of the provided values are not in the set, TRUE otherwise.

Beispiele

Beispiel #1 Ds\Set::contains() example

<?php
$set = new \Ds\Set([1, 2, 3]);

var_dump($set->contains(1));                // true
var_dump($set->contains(1, 2));             // true
var_dump($set->contains(...[1, 2]));        // true

var_dump($set->contains("1"));              // false
var_dump($set->contains(...[1, 2, 3, 4]));  // false

var_dump($set->contains(...[]));            // true
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(true)
bool(true)
bool(true)
bool(false)
bool(false)
bool(true)
Ds\Set::__construct
Ds\Set::copy
Set


Returns a shallow copy of the set.

Ds\Set::contains
Ds\Set::count
Set
PHP Manual

Ds\Set::copy

(PECL ds >= 1.0.0)

Ds\Set::copy — Returns a shallow copy of the set.

Beschreibung

public Ds\Set Ds\Set::copy ( void )

Returns a shallow copy of the set.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a shallow copy of the set.

Beispiele

Beispiel #1 Ds\Set::copy() example

<?php
$a = new \Ds\Set([1, 2, 3]);
$b = $a->copy();

// Updating the copy doesn't affect the original
$b->add(4);

print_r($a);
print_r($b);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Set Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
Ds\Set Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
)
Ds\Set::contains
Ds\Set::count
Set


Returns the number of values in the set.

Ds\Set::copy
Ds\Set::diff
Set
PHP Manual

Ds\Set::count

(PECL ds >= 1.0.0)

Ds\Set::count — Returns the number of values in the set.

See Countable::count()

Ds\Set::copy
Ds\Set::diff
Set


Creates a new set using values that aren't in another set.

Ds\Set::count
Ds\Set::filter
Set
PHP Manual

Ds\Set::diff

(PECL ds >= 1.0.0)

Ds\Set::diff — Creates a new set using values that aren't in another set.

Beschreibung

public Ds\Set Ds\Set::diff ( Ds\Set $set )

Creates a new set using values that aren't in another set.

A \ B = {x ? A | x ? B}

Parameter-Liste

set

Set containing the values to exclude.

Rückgabewerte

A new set containing all values that were not in the other set.

See Also

  • » Compliment on Wikipedia

Beispiele

Beispiel #1 Ds\Set::diff() example

<?php
$a = new \Ds\Set([1, 2, 3]);
$b = new \Ds\Set([3, 4, 5]);

var_dump($a->diff($b));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Set)#3 (2) {
  [0]=>
  int(1)
  [1]=>
  int(2)
}
Ds\Set::count
Ds\Set::filter
Set


Creates a new set using a callable to determine which values to include.

Ds\Set::diff
Ds\Set::first
Set
PHP Manual

Ds\Set::filter

(PECL ds >= 1.0.0)

Ds\Set::filter — Creates a new set using a callable to determine which values to include.

Beschreibung

public Ds\Set Ds\Set::filter ([ callable $callback ] )

Creates a new set using a callable to determine which values to include.

Parameter-Liste

callback

bool callback ( mixed $value )

Optional callable which returns TRUE if the value should be included, FALSE otherwise.

If a callback is not provided, only values which are TRUE (see converting to boolean) will be included.

Rückgabewerte

A new set containing all the values for which either the callback returned TRUE, or all values that convert to TRUE if a callback was not provided.

Beispiele

Beispiel #1 Ds\Set::filter() example using callback function

<?php
$set = new \Ds\Set([1, 2, 3, 4, 5]);

var_dump($set->filter(function($value) {
    return $value % 2 == 0;
}));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Set)#3 (2) {
  [0]=>
  int(2)
  [1]=>
  int(4)
}

Beispiel #2 Ds\Set::filter() example without a callback function

<?php
$set = new \Ds\Set([0, 1, 'a', true, false]);

var_dump($set->filter());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Set)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  string(1) "a"
  [2]=>
  bool(true)
}
Ds\Set::diff
Ds\Set::first
Set


Returns the first value in the set.

Ds\Set::filter
Ds\Set::get
Set
PHP Manual

Ds\Set::first

(PECL ds >= 1.0.0)

Ds\Set::first — Returns the first value in the set.

Beschreibung

public void Ds\Set::first ( void )

Returns the first value in the set.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The first value in the set.

Fehler/Exceptions

UnderflowException if empty.

Beispiele

Beispiel #1 Ds\Set::first() example

<?php
$set = new \Ds\Set([1, 2, 3]);
var_dump($set->first());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(1)
Ds\Set::filter
Ds\Set::get
Set


Returns the value at a given index.

Ds\Set::first
Ds\Set::intersect
Set
PHP Manual

Ds\Set::get

(PECL ds >= 1.0.0)

Ds\Set::get — Returns the value at a given index.

Beschreibung

public mixed Ds\Set::get ( int $index )

Returns the value at a given index.

Parameter-Liste

index

The index to access, starting at 0.

Rückgabewerte

The value at the requested index.

Fehler/Exceptions

OutOfRangeException if the index is not valid.

Beispiele

Beispiel #1 Ds\Set::get() example

<?php
$set = new \Ds\Set(["a", "b", "c"]);

var_dump($set->get(0));
var_dump($set->get(1));
var_dump($set->get(2));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(1) "a"
string(1) "b"
string(1) "c"

Beispiel #2 Ds\Set::get() example using array syntax

<?php
$set = new \Ds\Set(["a", "b", "c"]);

var_dump($set[0]);
var_dump($set[1]);
var_dump($set[2]);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(1) "a"
string(1) "b"
string(1) "c"
Ds\Set::first
Ds\Set::intersect
Set


Creates a new set by intersecting values with another set.

Ds\Set::get
Ds\Set::isEmpty
Set
PHP Manual

Ds\Set::intersect

(PECL ds >= 1.0.0)

Ds\Set::intersect — Creates a new set by intersecting values with another set.

Beschreibung

public Ds\Set Ds\Set::intersect ( Ds\Set $set )

Creates a new set using values common to both the current instance and another set. In other words, returns a copy of the current instance with all values removed that are not in the other set.

A n B = {x : x ? A ? x ? B}

Parameter-Liste

set

The other set.

Rückgabewerte

The intersection of the current instance and another set.

See Also

  • » Intersection on Wikipedia

Beispiele

Beispiel #1 Ds\Set::intersect() example

<?php
$a = new \Ds\Set([1, 2, 3]);
$b = new \Ds\Set([3, 4, 5]);

var_dump($a->intersect($b));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Set)#3 (1) {
  [0]=>
  int(3)
}
Ds\Set::get
Ds\Set::isEmpty
Set


Returns whether the set is empty

Ds\Set::intersect
Ds\Set::join
Set
PHP Manual

Ds\Set::isEmpty

(PECL ds >= 1.0.0)

Ds\Set::isEmpty — Returns whether the set is empty

Beschreibung

public bool Ds\Set::isEmpty ( void )

Returns whether the set is empty.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the set is empty, FALSE otherwise.

Beispiele

Beispiel #1 Ds\Set::isEmpty() example

<?php
$a = new \Ds\Set([1, 2, 3]);
$b = new \Ds\Set();

var_dump($a->isEmpty());
var_dump($b->isEmpty());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(false)
bool(true)
Ds\Set::intersect
Ds\Set::join
Set


Joins all values together as a string.

Ds\Set::isEmpty
Ds\Set::jsonSerialize
Set
PHP Manual

Ds\Set::join

(PECL ds >= 1.0.0)

Ds\Set::join — Joins all values together as a string.

Beschreibung

public string Ds\Set::join ([ string $glue ] )

Joins all values together as a string using an optional separator between each value.

Parameter-Liste

glue

An optional string to separate each value.

Rückgabewerte

All values of the set joined together as a string.

Beispiele

Beispiel #1 Ds\Set::join() example using a separator string

<?php
$set = new \Ds\Set(["a", "b", "c", 1, 2, 3]);

var_dump($set->join("|"));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(11) "a|b|c|1|2|3"

Beispiel #2 Ds\Set::join() example without a separator string

<?php
$set = new \Ds\Set(["a", "b", "c", 1, 2, 3]);

var_dump($set->join());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(11) "abc123"
Ds\Set::isEmpty
Ds\Set::jsonSerialize
Set


Returns a representation that can be converted to JSON.

Ds\Set::join
Ds\Set::last
Set
PHP Manual

Ds\Set::jsonSerialize

(PECL ds >= 1.0.0)

Ds\Set::jsonSerialize — Returns a representation that can be converted to JSON.

See JsonSerializable::jsonSerialize()

Hinweis:

You should never need to call this directly.

Ds\Set::join
Ds\Set::last
Set


Returns the last value in the set.

Ds\Set::jsonSerialize
Ds\Set::merge
Set
PHP Manual

Ds\Set::last

(PECL ds >= 1.0.0)

Ds\Set::last — Returns the last value in the set.

Beschreibung

public void Ds\Set::last ( void )

Returns the last value in the set.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The last value in the set.

Fehler/Exceptions

UnderflowException if empty.

Beispiele

Beispiel #1 Ds\Set::last() example

<?php
$set = new \Ds\Set([1, 2, 3]);
var_dump($set->last());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(3)
Ds\Set::jsonSerialize
Ds\Set::merge
Set


Returns the result of adding all given values to the set.

Ds\Set::last
Ds\Set::reduce
Set
PHP Manual

Ds\Set::merge

(PECL ds >= 1.0.3)

Ds\Set::merge — Returns the result of adding all given values to the set.

Beschreibung

public Ds\Set Ds\Set::merge ( mixed $values )

Returns the result of adding all given values to the set.

Parameter-Liste

values

A traversable object or an array.

Rückgabewerte

The result of adding all given values to the set, effectively the same as adding the values to a copy, then returning that copy.

Hinweis:

The current instance won't be affected.

Beispiele

Beispiel #1 Ds\Set::merge() example

<?php
$set = new \Ds\Set([1, 2, 3]);

var_dump($set->merge([3, 4, 5]));
var_dump($set);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Set)#2 (6) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  [3]=>
  int(4)
  [4]=>
  int(5)
}
object(Ds\Set)#1 (3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}
Ds\Set::last
Ds\Set::reduce
Set


Reduces the set to a single value using a callback function.

Ds\Set::merge
Ds\Set::remove
Set
PHP Manual

Ds\Set::reduce

(PECL ds >= 1.0.0)

Ds\Set::reduce — Reduces the set to a single value using a callback function.

Beschreibung

public mixed Ds\Set::reduce ( callable $callback [, mixed $initial ] )

Reduces the set to a single value using a callback function.

Parameter-Liste

callback
mixed callback ( mixed $carry , mixed $value )
carry

The return value of the previous callback, or initial if it's the first iteration.

value

The value of the current iteration.

initial

The initial value of the carry value. Can be NULL.

Rückgabewerte

The return value of the final callback.

Beispiele

Beispiel #1 Ds\Set::reduce() with initial value example

<?php
$set = new \Ds\Set([1, 2, 3]);

$callback = function($carry, $value) {
    return $carry * $value;
};

var_dump($set->reduce($callback, 5));

// Iterations:
//
// $carry = $initial = 5
//
// $carry = $carry * 1 =  5
// $carry = $carry * 2 = 10
// $carry = $carry * 3 = 30
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(30)

Beispiel #2 Ds\Set::reduce() without an initial value example

<?php
$set = new \Ds\Set([1, 2, 3]);

var_dump($set->reduce(function($carry, $value) {
    return $carry + $value + 5;
}));

// Iterations:
//
// $carry = $initial = null
//
// $carry = $carry + 1 + 5 =  6
// $carry = $carry + 2 + 5 = 13
// $carry = $carry + 3 + 5 = 21
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(21)
Ds\Set::merge
Ds\Set::remove
Set


Removes all given values from the set.

Ds\Set::reduce
Ds\Set::reverse
Set
PHP Manual

Ds\Set::remove

(PECL ds >= 1.0.0)

Ds\Set::remove — Removes all given values from the set.

Beschreibung

public void Ds\Set::remove ([ mixed $...values ] )

Removes all given values from the set, ignoring any that are not in the set.

Parameter-Liste

values

The values to remove.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Set::remove() example

<?php
$set = new \Ds\Set([1, 2, 3, 4, 5]);

$set->remove(1);            // Remove 1
$set->remove(1, 2);         // Can't find 1, but remove 2
$set->remove(...[3, 4]);    // Remove 3 and 4

var_dump($set);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Set)#1 (1) {
  [0]=>
  int(5)
}
Ds\Set::reduce
Ds\Set::reverse
Set


Reverses the set in-place.

Ds\Set::remove
Ds\Set::reversed
Set
PHP Manual

Ds\Set::reverse

(PECL ds >= 1.0.0)

Ds\Set::reverse — Reverses the set in-place.

Beschreibung

public void Ds\Set::reverse ( void )

Reverses the set in-place.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Set::reverse() example

<?php
$set = new \Ds\Set(["a", "b", "c"]);
$set->reverse();

print_r($set);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Set Object
(
    [0] => c
    [1] => b
    [2] => a
)
Ds\Set::remove
Ds\Set::reversed
Set


Returns a reversed copy.

Ds\Set::reverse
Ds\Set::slice
Set
PHP Manual

Ds\Set::reversed

(PECL ds >= 1.0.0)

Ds\Set::reversed — Returns a reversed copy.

Beschreibung

public Ds\Set Ds\Set::reversed ( void )

Returns a reversed copy of the set.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A reversed copy of the set.

Hinweis:

The current instance is not affected.

Beispiele

Beispiel #1 Ds\Set::reversed() example

<?php
$set = new \Ds\Set(["a", "b", "c"]);

print_r($set->reversed());
print_r($set);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Set Object
(
    [0] => c
    [1] => b
    [2] => a
)
Ds\Set Object
(
    [0] => a
    [1] => b
    [2] => c
)
Ds\Set::reverse
Ds\Set::slice
Set


Returns a sub-set of a given range.

Ds\Set::reversed
Ds\Set::sort
Set
PHP Manual

Ds\Set::slice

(PECL ds >= 1.0.0)

Ds\Set::slice — Returns a sub-set of a given range.

Beschreibung

public Ds\Set Ds\Set::slice ( int $index [, int $length ] )

Creates a sub-set of a given range.

Parameter-Liste

index

The index at which the sub-set starts.

If positive, the set will start at that index in the set. If negative, the set will start that far from the end.

length

If a length is given and is positive, the resulting set will have up to that many values in it. If the length results in an overflow, only values up to the end of the set will be included. If a length is given and is negative, the set will stop that many values from the end. If a length is not provided, the resulting set will contain all values between the index and the end of the set.

Rückgabewerte

A sub-set of the given range.

Beispiele

Beispiel #1 Ds\Set::slice() example

<?php
$set = new \Ds\Set(["a", "b", "c", "d", "e"]);

// Slice from 2 onwards
print_r($set->slice(2));

// Slice from 1, for a length of 3
print_r($set->slice(1, 3));

// Slice from 1 onwards
print_r($set->slice(1));

// Slice from 2 from the end onwards
print_r($set->slice(-2));

// Slice from 1 to 1 from the end
print_r($set->slice(1, -1));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Set Object
(
    [0] => c
    [1] => d
    [2] => e
)
Ds\Set Object
(
    [0] => b
    [1] => c
    [2] => d
)
Ds\Set Object
(
    [0] => b
    [1] => c
    [2] => d
    [3] => e
)
Ds\Set Object
(
    [0] => d
    [1] => e
)
Ds\Set Object
(
    [0] => b
    [1] => c
    [2] => d
)
Ds\Set::reversed
Ds\Set::sort
Set


Sorts the set in-place.

Ds\Set::slice
Ds\Set::sorted
Set
PHP Manual

Ds\Set::sort

(PECL ds >= 1.0.0)

Ds\Set::sort — Sorts the set in-place.

Beschreibung

public void Ds\Set::sort ([ callable $comparator ] )

Sorts the set in-place, using an optional comparator function.

Parameter-Liste

comparator

Die Vergleichsfunktion muss einen Integer kleiner als, gleich oder größer als Null zurückgeben, wenn das erste Argument respektive kleiner, gleich oder größer als das zweite ist.

int callback ( mixed $a, mixed $b )
Achtung

Returning non-integer values from the comparison function, such as float, will result in an internal cast to integer of the callback's return value. So values such as 0.99 and 0.1 will both be cast to an integer value of 0, which will compare such values as equal.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Set::sort() example

<?php
$set = new \Ds\Set([4, 5, 1, 3, 2]);
$set->sort();

print_r($set);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Set Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Beispiel #2 Ds\Set::sort() example using a comparator

<?php
$set = new \Ds\Set([4, 5, 1, 3, 2]);

$set->sort(function($a, $b) {
    return $b <=> $a;
});

print_r($set);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Set Object
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)
Ds\Set::slice
Ds\Set::sorted
Set


Returns a sorted copy.

Ds\Set::sort
Ds\Set::sum
Set
PHP Manual

Ds\Set::sorted

(PECL ds >= 1.0.0)

Ds\Set::sorted — Returns a sorted copy.

Beschreibung

public Ds\Set Ds\Set::sorted ([ callable $comparator ] )

Returns a sorted copy, using an optional comparator function.

Parameter-Liste

comparator

Die Vergleichsfunktion muss einen Integer kleiner als, gleich oder größer als Null zurückgeben, wenn das erste Argument respektive kleiner, gleich oder größer als das zweite ist.

int callback ( mixed $a, mixed $b )
Achtung

Returning non-integer values from the comparison function, such as float, will result in an internal cast to integer of the callback's return value. So values such as 0.99 and 0.1 will both be cast to an integer value of 0, which will compare such values as equal.

Rückgabewerte

Returns a sorted copy of the set.

Beispiele

Beispiel #1 Ds\Set::sorted() example

<?php
$set = new \Ds\Set([4, 5, 1, 3, 2]);

print_r($set->sorted());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Set Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Beispiel #2 Ds\Set::sorted() example using a comparator

<?php
$set = new \Ds\Set([4, 5, 1, 3, 2]);

$sorted = $set->sorted(function($a, $b) {
    return $b <=> $a;
});

print_r($sorted);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Set Object
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)
Ds\Set::sort
Ds\Set::sum
Set


Returns the sum of all values in the set.

Ds\Set::sorted
Ds\Set::toArray
Set
PHP Manual

Ds\Set::sum

(PECL ds >= 1.0.0)

Ds\Set::sum — Returns the sum of all values in the set.

Beschreibung

public number Ds\Set::sum ( void )

Returns the sum of all values in the set.

Hinweis:

Arrays and objects are considered equal to zero when calculating the sum.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The sum of all the values in the set as either a float or int depending on the values in the set.

Beispiele

Beispiel #1 Ds\Set::sum() integer example

<?php
$set = new \Ds\Set([1, 2, 3]);
var_dump($set->sum());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(6)

Beispiel #2 Ds\Set::sum() float example

<?php
$set = new \Ds\Set([1, 2.5, 3]);
var_dump($set->sum());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

float(6.5)
Ds\Set::sorted
Ds\Set::toArray
Set


Converts the set to an array.

Ds\Set::sum
Ds\Set::union
Set
PHP Manual

Ds\Set::toArray

(PECL ds >= 1.0.0)

Ds\Set::toArray — Converts the set to an array.

Beschreibung

public array Ds\Set::toArray ( void )

Converts the set to an array.

Hinweis:

Casting to an array is not supported yet.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An array containing all the values in the same order as the set.

Beispiele

Beispiel #1 Ds\Set::toArray() example

<?php
$set = new \Ds\Set([1, 2, 3]);

var_dump($set->toArray());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}
Ds\Set::sum
Ds\Set::union
Set


Creates a new set using values from the current instance and another set.

Ds\Set::toArray
Ds\Set::xor
Set
PHP Manual

Ds\Set::union

(PECL ds >= 1.0.0)

Ds\Set::union — Creates a new set using values from the current instance and another set.

Beschreibung

public Ds\Set Ds\Set::union ( Ds\Set $set )

Creates a new set that contains the values of the current instance as well as the values of another set.

A ? B = {x: x ? A ? x ? B}

Parameter-Liste

set

The other set, to combine with the current instance.

Rückgabewerte

A new set containing all the values of the current instance as well as another set.

See Also

  • » Union on Wikipedia

Beispiele

Beispiel #1 Ds\Set::union() example

<?php
$a = new \Ds\Set([1, 2, 3]);
$b = new \Ds\Set([3, 4, 5]);

var_dump($a->union($b));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Set)#3 (5) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  [3]=>
  int(4)
  [4]=>
  int(5)
}
Ds\Set::toArray
Ds\Set::xor
Set


Creates a new set using values in either the current instance or in another set, but not in both.

Ds\Set::union
Stack
Set
PHP Manual

Ds\Set::xor

(PECL ds >= 1.0.0)

Ds\Set::xor — Creates a new set using values in either the current instance or in another set, but not in both.

Beschreibung

public Ds\Set Ds\Set::xor ( Ds\Set $set )

Creates a new set containing values in the current instance as well as another set, but not in both.

A ? B = {x : x ? (A \ B) ? (B \ A)}

Parameter-Liste

set

The other set.

Rückgabewerte

A new set containing values in the current instance as well as another set, but not in both.

See Also

  • » Symmetric Difference on Wikipedia

Beispiele

Beispiel #1 Ds\Set::xor() example

<?php
$a = new \Ds\Set([1, 2, 3]);
$b = new \Ds\Set([3, 4, 5]);

var_dump($a->xor($b));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Set)#3 (4) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(4)
  [3]=>
  int(5)
}
Ds\Set::union
Stack
Set


The Stack class

(No version information available, might only be in Git)

Einführung

A Stack is a “last in, first out” or “LIFO” collection that only allows access to the value at the top of the structure and iterates in that order, destructively.

Uses a Ds\Vector internally.

Klassenbeschreibung

Ds\Stack implements Ds\Collection {
/* Methoden */
public void allocate ( int $capacity )
public int capacity ( void )
public void clear ( void )
public Ds\Stack copy ( void )
public bool isEmpty ( void )
public mixed peek ( void )
public mixed pop ( void )
public void push ([ mixed $...values ] )
public array toArray ( void )
}

Inhaltsverzeichnis

  • Ds\Stack::allocate — Allocates enough memory for a required capacity.
  • Ds\Stack::capacity — Returns the current capacity.
  • Ds\Stack::clear — Removes all values.
  • Ds\Stack::__construct — Creates a new instance.
  • Ds\Stack::copy — Returns a shallow copy of the stack.
  • Ds\Stack::count — Returns the number of values in the stack.
  • Ds\Stack::isEmpty — Returns whether the stack is empty
  • Ds\Stack::jsonSerialize — Returns a representation that can be converted to JSON.
  • Ds\Stack::peek — Returns the value at the top of the stack.
  • Ds\Stack::pop — Removes and returns the value at the top of the stack.
  • Ds\Stack::push — Pushes values onto the stack.
  • Ds\Stack::toArray — Converts the stack to an array.
Ds\Set::xor
Ds\Stack::allocate
Data Structures


Allocates enough memory for a required capacity.

Stack
Ds\Stack::capacity
Stack
PHP Manual

Ds\Stack::allocate

(PECL ds >= 1.0.0)

Ds\Stack::allocate — Allocates enough memory for a required capacity.

Beschreibung

public void Ds\Stack::allocate ( int $capacity )

Ensures that enough memory is allocated for a required capacity. This removes the need to reallocate the internal as values are added.

Parameter-Liste

capacity

The number of values for which capacity should be allocated.

Hinweis:

Capacity will stay the same if this value is less than or equal to the current capacity.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Stack
Ds\Stack::capacity
Stack


Returns the current capacity.

Ds\Stack::allocate
Ds\Stack::clear
Stack
PHP Manual

Ds\Stack::capacity

(PECL ds >= 1.0.0)

Ds\Stack::capacity — Returns the current capacity.

Beschreibung

public int Ds\Stack::capacity ( void )

Returns the current capacity.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current capacity.

Ds\Stack::allocate
Ds\Stack::clear
Stack


Removes all values.

Ds\Stack::capacity
Ds\Stack::__construct
Stack
PHP Manual

Ds\Stack::clear

(PECL ds >= 1.0.0)

Ds\Stack::clear — Removes all values.

Beschreibung

public void Ds\Stack::clear ( void )

Removes all values from the stack.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Stack::clear() example

<?php
$stack = new \Ds\Stack([1, 2, 3]);
print_r($stack);

$stack->clear();
print_r($stack);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Stack Object
(
    [0] => 3
    [1] => 2
    [2] => 1
)
Ds\Stack Object
(
)
Ds\Stack::capacity
Ds\Stack::__construct
Stack


Creates a new instance.

Ds\Stack::clear
Ds\Stack::copy
Stack
PHP Manual

Ds\Stack::__construct

(PECL ds >= 1.0.0)

Ds\Stack::__construct — Creates a new instance.

Beschreibung

public Ds\Stack::__construct ([ mixed $values ] )

Creates a new instance, using either a traversable object or an array for the initial values.

Parameter-Liste

values

A traversable object or an array to use for the initial values.

Beispiele

Beispiel #1 Ds\Stack::__construct() example

<?php
$stack = new \Ds\Stack();
print_r($stack);

$stack = new \Ds\Stack([1, 2, 3]);
print_r($stack);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Stack Object
(
)
Ds\Stack Object
(
    [0] => 3
    [1] => 2
    [2] => 1
)
Ds\Stack::clear
Ds\Stack::copy
Stack


Returns a shallow copy of the stack.

Ds\Stack::__construct
Ds\Stack::count
Stack
PHP Manual

Ds\Stack::copy

(PECL ds >= 1.0.0)

Ds\Stack::copy — Returns a shallow copy of the stack.

Beschreibung

public Ds\Stack Ds\Stack::copy ( void )

Returns a shallow copy of the stack.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a shallow copy of the stack.

Beispiele

Beispiel #1 Ds\Stack::copy() example

<?php
$a = new \Ds\Stack([1, 2, 3]);
$b = $a->copy();

// Updating the copy doesn't affect the original
$b->push(4);

print_r($a);
print_r($b);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Stack Object
(
    [0] => 3
    [1] => 2
    [2] => 1
)
Ds\Stack Object
(
    [0] => 4
    [1] => 3
    [2] => 2
    [3] => 1
)
Ds\Stack::__construct
Ds\Stack::count
Stack


Returns the number of values in the stack.

Ds\Stack::copy
Ds\Stack::isEmpty
Stack
PHP Manual

Ds\Stack::count

(PECL ds >= 1.0.0)

Ds\Stack::count — Returns the number of values in the stack.

See Countable::count()

Ds\Stack::copy
Ds\Stack::isEmpty
Stack


Returns whether the stack is empty

Ds\Stack::count
Ds\Stack::jsonSerialize
Stack
PHP Manual

Ds\Stack::isEmpty

(PECL ds >= 1.0.0)

Ds\Stack::isEmpty — Returns whether the stack is empty

Beschreibung

public bool Ds\Stack::isEmpty ( void )

Returns whether the stack is empty.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the stack is empty, FALSE otherwise.

Beispiele

Beispiel #1 Ds\Stack::isEmpty() example

<?php
$a = new \Ds\Stack([1, 2, 3]);
$b = new \Ds\Stack();

var_dump($a->isEmpty());
var_dump($b->isEmpty());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(false)
bool(true)
Ds\Stack::count
Ds\Stack::jsonSerialize
Stack


Returns a representation that can be converted to JSON.

Ds\Stack::isEmpty
Ds\Stack::peek
Stack
PHP Manual

Ds\Stack::jsonSerialize

(PECL ds >= 1.0.0)

Ds\Stack::jsonSerialize — Returns a representation that can be converted to JSON.

See JsonSerializable::jsonSerialize()

Hinweis:

You should never need to call this directly.

Ds\Stack::isEmpty
Ds\Stack::peek
Stack


Returns the value at the top of the stack.

Ds\Stack::jsonSerialize
Ds\Stack::pop
Stack
PHP Manual

Ds\Stack::peek

(PECL ds >= 1.0.0)

Ds\Stack::peek — Returns the value at the top of the stack.

Beschreibung

public mixed Ds\Stack::peek ( void )

Returns the value at the top of the stack, but does not remove it.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The value at the top of the stack.

Fehler/Exceptions

UnderflowException if empty.

Beispiele

Beispiel #1 Ds\Stack::peek() example

<?php
$stack = new \Ds\Stack();

$stack->push("a");
$stack->push("b");
$stack->push("c");

var_dump($stack->peek());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(1) "c"
Ds\Stack::jsonSerialize
Ds\Stack::pop
Stack


Removes and returns the value at the top of the stack.

Ds\Stack::peek
Ds\Stack::push
Stack
PHP Manual

Ds\Stack::pop

(PECL ds >= 1.0.0)

Ds\Stack::pop — Removes and returns the value at the top of the stack.

Beschreibung

public mixed Ds\Stack::pop ( void )

Removes and returns the value at the top of the stack.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The removed value which was at the top of the stack.

Fehler/Exceptions

UnderflowException if empty.

Beispiele

Beispiel #1 Ds\Stack::pop() example

<?php
$stack = new \Ds\Stack();

$stack->push("a");
$stack->push("b");
$stack->push("c");

var_dump($stack->pop());
var_dump($stack->pop());
var_dump($stack->pop());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(1) "c"
string(1) "b"
string(1) "a"
Ds\Stack::peek
Ds\Stack::push
Stack


Pushes values onto the stack.

Ds\Stack::pop
Ds\Stack::toArray
Stack
PHP Manual

Ds\Stack::push

(PECL ds >= 1.0.0)

Ds\Stack::push — Pushes values onto the stack.

Beschreibung

public void Ds\Stack::push ([ mixed $...values ] )

Pushes values onto the stack.

Parameter-Liste

values

The values to push onto the stack.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Stack::push() example

<?php
$stack = new \Ds\Stack();

$stack->push("a");
$stack->push("b");
$stack->push("c", "d");
$stack->push(...["e", "f"]);

print_r($stack);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Stack Object
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
    [5] => f
)
Ds\Stack::pop
Ds\Stack::toArray
Stack


Converts the stack to an array.

Ds\Stack::push
Queue
Stack
PHP Manual

Ds\Stack::toArray

(PECL ds >= 1.0.0)

Ds\Stack::toArray — Converts the stack to an array.

Beschreibung

public array Ds\Stack::toArray ( void )

Converts the stack to an array.

Hinweis:

Casting to an array is not supported yet.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An array containing all the values in the same order as the stack.

Beispiele

Beispiel #1 Ds\Stack::toArray() example

<?php
$stack = new \Ds\Stack([1, 2, 3]);

var_dump($stack->toArray());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(3) {
  [0]=>
  int(3)
  [1]=>
  int(2)
  [2]=>
  int(1)
}
Ds\Stack::push
Queue
Stack


The Queue class

(No version information available, might only be in Git)

Einführung

A Queue is a “first in, first out” or “FIFO” collection that only allows access to the value at the front of the queue and iterates in that order, destructively.

Klassenbeschreibung

Ds\Queue implements Ds\Collection {
/* Constants */
const int MIN_CAPACITY = 8 ;
/* Methoden */
public void allocate ( int $capacity )
public int capacity ( void )
public void clear ( void )
public Ds\Queue copy ( void )
public bool isEmpty ( void )
public mixed peek ( void )
public mixed pop ( void )
public void push ([ mixed $...values ] )
public array toArray ( void )
}

Vordefinierte Konstanten

Ds\Queue::MIN_CAPACITY

Inhaltsverzeichnis

  • Ds\Queue::allocate — Allocates enough memory for a required capacity.
  • Ds\Queue::capacity — Returns the current capacity.
  • Ds\Queue::clear — Removes all values.
  • Ds\Queue::__construct — Creates a new instance.
  • Ds\Queue::copy — Returns a shallow copy of the queue.
  • Ds\Queue::count — Returns the number of values in the queue.
  • Ds\Queue::isEmpty — Returns whether the queue is empty
  • Ds\Queue::jsonSerialize — Returns a representation that can be converted to JSON.
  • Ds\Queue::peek — Returns the value at the front of the queue.
  • Ds\Queue::pop — Removes and returns the value at the front of the queue.
  • Ds\Queue::push — Pushes values into the queue.
  • Ds\Queue::toArray — Converts the queue to an array.
Ds\Stack::toArray
Ds\Queue::allocate
Data Structures


Allocates enough memory for a required capacity.

Queue
Ds\Queue::capacity
Queue
PHP Manual

Ds\Queue::allocate

(PECL ds >= 1.0.0)

Ds\Queue::allocate — Allocates enough memory for a required capacity.

Beschreibung

public void Ds\Queue::allocate ( int $capacity )

Ensures that enough memory is allocated for a required capacity. This removes the need to reallocate the internal as values are added.

Hinweis:

Capacity will always be rounded up to the nearest power of 2.

Parameter-Liste

capacity

The number of values for which capacity should be allocated.

Hinweis:

Capacity will stay the same if this value is less than or equal to the current capacity.

Hinweis:

Capacity will always be rounded up to the nearest power of 2.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Queue::allocate() example

<?php
$queue = new \Ds\Queue();
var_dump($queue->capacity());

$queue->allocate(100);
var_dump($queue->capacity());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(8)
int(128)
Queue
Ds\Queue::capacity
Queue


Returns the current capacity.

Ds\Queue::allocate
Ds\Queue::clear
Queue
PHP Manual

Ds\Queue::capacity

(PECL ds >= 1.0.0)

Ds\Queue::capacity — Returns the current capacity.

Beschreibung

public int Ds\Queue::capacity ( void )

Returns the current capacity.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current capacity.

Beispiele

Beispiel #1 Ds\Queue::capacity() example

<?php
$queue = new \Ds\Queue();
var_dump($queue->capacity());

$queue->push(...range(1, 50));
var_dump($queue->capacity());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(8)
int(64)
Ds\Queue::allocate
Ds\Queue::clear
Queue


Removes all values.

Ds\Queue::capacity
Ds\Queue::__construct
Queue
PHP Manual

Ds\Queue::clear

(PECL ds >= 1.0.0)

Ds\Queue::clear — Removes all values.

Beschreibung

public void Ds\Queue::clear ( void )

Removes all values from the queue.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Queue::clear() example

<?php
$queue = new \Ds\Queue([1, 2, 3]);
print_r($queue);

$queue->clear();
print_r($queue);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Queue Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
Ds\Queue Object
(
)
Ds\Queue::capacity
Ds\Queue::__construct
Queue


Creates a new instance.

Ds\Queue::clear
Ds\Queue::copy
Queue
PHP Manual

Ds\Queue::__construct

(PECL ds >= 1.0.0)

Ds\Queue::__construct — Creates a new instance.

Beschreibung

public Ds\Queue::__construct ([ mixed $values ] )

Creates a new instance, using either a traversable object or an array for the initial values.

Parameter-Liste

values

A traversable object or an array to use for the initial values.

Beispiele

Beispiel #1 Ds\Queue::__construct() example

<?php
$queue = new \Ds\Queue();
var_dump($queue);

$queue = new \Ds\Queue([1, 2, 3]);
var_dump($queue);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\Queue)#2 (0) {
}
object(Ds\Queue)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}
Ds\Queue::clear
Ds\Queue::copy
Queue


Returns a shallow copy of the queue.

Ds\Queue::__construct
Ds\Queue::count
Queue
PHP Manual

Ds\Queue::copy

(PECL ds >= 1.0.0)

Ds\Queue::copy — Returns a shallow copy of the queue.

Beschreibung

public Ds\Queue Ds\Queue::copy ( void )

Returns a shallow copy of the queue.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a shallow copy of the queue.

Beispiele

Beispiel #1 Ds\Queue::copy() example

<?php
$a = new \Ds\Queue([1, 2, 3]);
$b = $a->copy();

// Updating the copy doesn't affect the original
$b->push(4);

print_r($a);
print_r($b);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Queue Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
Ds\Queue Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
)
Ds\Queue::__construct
Ds\Queue::count
Queue


Returns the number of values in the queue.

Ds\Queue::copy
Ds\Queue::isEmpty
Queue
PHP Manual

Ds\Queue::count

(PECL ds >= 1.0.0)

Ds\Queue::count — Returns the number of values in the queue.

See Countable::count()

Ds\Queue::copy
Ds\Queue::isEmpty
Queue


Returns whether the queue is empty

Ds\Queue::count
Ds\Queue::jsonSerialize
Queue
PHP Manual

Ds\Queue::isEmpty

(PECL ds >= 1.0.0)

Ds\Queue::isEmpty — Returns whether the queue is empty

Beschreibung

public bool Ds\Queue::isEmpty ( void )

Returns whether the queue is empty.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the queue is empty, FALSE otherwise.

Beispiele

Beispiel #1 Ds\Queue::isEmpty() example

<?php
$a = new \Ds\Queue([1, 2, 3]);
$b = new \Ds\Queue();

var_dump($a->isEmpty());
var_dump($b->isEmpty());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(false)
bool(true)
Ds\Queue::count
Ds\Queue::jsonSerialize
Queue


Returns a representation that can be converted to JSON.

Ds\Queue::isEmpty
Ds\Queue::peek
Queue
PHP Manual

Ds\Queue::jsonSerialize

(PECL ds >= 1.0.0)

Ds\Queue::jsonSerialize — Returns a representation that can be converted to JSON.

See JsonSerializable::jsonSerialize()

Hinweis:

You should never need to call this directly.

Ds\Queue::isEmpty
Ds\Queue::peek
Queue


Returns the value at the front of the queue.

Ds\Queue::jsonSerialize
Ds\Queue::pop
Queue
PHP Manual

Ds\Queue::peek

(PECL ds >= 1.0.0)

Ds\Queue::peek — Returns the value at the front of the queue.

Beschreibung

public mixed Ds\Queue::peek ( void )

Returns the value at the front of the queue, but does not remove it.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The value at the front of the queue.

Fehler/Exceptions

UnderflowException if empty.

Beispiele

Beispiel #1 Ds\Queue::peek() example

<?php
$queue = new \Ds\Queue();

$queue->push("a");
$queue->push("b");
$queue->push("c");

var_dump($queue->peek());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(1) "a"
Ds\Queue::jsonSerialize
Ds\Queue::pop
Queue


Removes and returns the value at the front of the queue.

Ds\Queue::peek
Ds\Queue::push
Queue
PHP Manual

Ds\Queue::pop

(PECL ds >= 1.0.0)

Ds\Queue::pop — Removes and returns the value at the front of the queue.

Beschreibung

public mixed Ds\Queue::pop ( void )

Removes and returns the value at the front of the queue.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The removed value which was at the front of the queue.

Fehler/Exceptions

UnderflowException if empty.

Beispiele

Beispiel #1 Ds\Queue::pop() example

<?php
$queue = new \Ds\Queue();

$queue->push("a");
$queue->push("b");
$queue->push("c");

var_dump($queue->pop());
var_dump($queue->pop());
var_dump($queue->pop());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(1) "a"
string(1) "b"
string(1) "c"
Ds\Queue::peek
Ds\Queue::push
Queue


Pushes values into the queue.

Ds\Queue::pop
Ds\Queue::toArray
Queue
PHP Manual

Ds\Queue::push

(PECL ds >= 1.0.0)

Ds\Queue::push — Pushes values into the queue.

Beschreibung

public void Ds\Queue::push ([ mixed $...values ] )

Pushes values into the queue.

Parameter-Liste

values

The values to push into the queue.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\Queue::push() example

<?php
$queue = new \Ds\Queue();

$queue->push("a");
$queue->push("b");
$queue->push("c", "d");
$queue->push(...["e", "f"]);

print_r($queue);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\Queue Object
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
    [5] => f
)
Ds\Queue::pop
Ds\Queue::toArray
Queue


Converts the queue to an array.

Ds\Queue::push
PriorityQueue
Queue
PHP Manual

Ds\Queue::toArray

(PECL ds >= 1.0.0)

Ds\Queue::toArray — Converts the queue to an array.

Beschreibung

public array Ds\Queue::toArray ( void )

Converts the queue to an array.

Hinweis:

Casting to an array is not supported yet.

Hinweis:

This method is not destructive.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An array containing all the values in the same order as the queue.

Beispiele

Beispiel #1 Ds\Queue::toArray() example

<?php
$queue = new \Ds\Queue([1, 2, 3]);

var_dump($queue->toArray());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}
Ds\Queue::push
PriorityQueue
Queue


The PriorityQueue class

(No version information available, might only be in Git)

Einführung

A PriorityQueue is very similar to a Queue. Values are pushed into the queue with an assigned priority, and the value with the highest priority will always be at the front of the queue.

Implemented using a max heap.

Hinweis:

"First in, first out" ordering is preserved for values with the same priority.

Hinweis:

Iterating over a PriorityQueue is destructive, equivalent to successive pop operations until the queue is empty.

Klassenbeschreibung

Ds\PriorityQueue implements Ds\Collection {
/* Constants */
const int MIN_CAPACITY = 8 ;
/* Methoden */
public void allocate ( int $capacity )
public int capacity ( void )
public void clear ( void )
public Ds\PriorityQueue copy ( void )
public bool isEmpty ( void )
public mixed peek ( void )
public mixed pop ( void )
public void push ( mixed $value , int $priority )
public array toArray ( void )
}

Vordefinierte Konstanten

Ds\PriorityQueue::MIN_CAPACITY

Inhaltsverzeichnis

  • Ds\PriorityQueue::allocate — Allocates enough memory for a required capacity.
  • Ds\PriorityQueue::capacity — Returns the current capacity.
  • Ds\PriorityQueue::clear — Removes all values.
  • Ds\PriorityQueue::__construct — Creates a new instance.
  • Ds\PriorityQueue::copy — Returns a shallow copy of the queue.
  • Ds\PriorityQueue::count — Returns the number of values in the queue.
  • Ds\PriorityQueue::isEmpty — Returns whether the queue is empty
  • Ds\PriorityQueue::jsonSerialize — Returns a representation that can be converted to JSON.
  • Ds\PriorityQueue::peek — Returns the value at the front of the queue.
  • Ds\PriorityQueue::pop — Removes and returns the value with the highest priority.
  • Ds\PriorityQueue::push — Pushes values into the queue.
  • Ds\PriorityQueue::toArray — Converts the queue to an array.
Ds\Queue::toArray
Ds\PriorityQueue::allocate
Data Structures


Allocates enough memory for a required capacity.

PriorityQueue
Ds\PriorityQueue::capacity
PriorityQueue
PHP Manual

Ds\PriorityQueue::allocate

(PECL ds >= 1.0.0)

Ds\PriorityQueue::allocate — Allocates enough memory for a required capacity.

Beschreibung

public void Ds\PriorityQueue::allocate ( int $capacity )

Ensures that enough memory is allocated for a required capacity. This removes the need to reallocate the internal as values are added.

Parameter-Liste

capacity

The number of values for which capacity should be allocated.

Hinweis:

Capacity will stay the same if this value is less than or equal to the current capacity.

Hinweis:

Capacity will always be rounded up to the nearest power of 2.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\PriorityQueue::allocate() example

<?php
$queue = new \Ds\PriorityQueue();
var_dump($queue->capacity());

$queue->allocate(100);
var_dump($queue->capacity());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(8)
int(128)
PriorityQueue
Ds\PriorityQueue::capacity
PriorityQueue


Returns the current capacity.

Ds\PriorityQueue::allocate
Ds\PriorityQueue::clear
PriorityQueue
PHP Manual

Ds\PriorityQueue::capacity

(PECL ds >= 1.0.0)

Ds\PriorityQueue::capacity — Returns the current capacity.

Beschreibung

public int Ds\PriorityQueue::capacity ( void )

Returns the current capacity.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current capacity.

Beispiele

Beispiel #1 Ds\PriorityQueue::capacity() example

<?php
$queue = new \Ds\PriorityQueue();
var_dump($queue->capacity());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(8)
Ds\PriorityQueue::allocate
Ds\PriorityQueue::clear
PriorityQueue


Removes all values.

Ds\PriorityQueue::capacity
Ds\PriorityQueue::__construct
PriorityQueue
PHP Manual

Ds\PriorityQueue::clear

(PECL ds >= 1.0.0)

Ds\PriorityQueue::clear — Removes all values.

Beschreibung

public void Ds\PriorityQueue::clear ( void )

Removes all values from the queue.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\PriorityQueue::clear() example

<?php
$queue = new \Ds\PriorityQueue();

$queue->push("a",  5);
$queue->push("b", 15);
$queue->push("c", 10);

$queue->clear();
print_r($queue);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\PriorityQueue Object
(
)
Ds\PriorityQueue::capacity
Ds\PriorityQueue::__construct
PriorityQueue


Creates a new instance.

Ds\PriorityQueue::clear
Ds\PriorityQueue::copy
PriorityQueue
PHP Manual

Ds\PriorityQueue::__construct

(PECL ds >= 1.0.0)

Ds\PriorityQueue::__construct — Creates a new instance.

Beschreibung

public Ds\PriorityQueue::__construct ( void )

Creates a new instance.

Beispiele

Beispiel #1 Ds\PriorityQueue::__construct() example

<?php
$queue = new \Ds\PriorityQueue();
var_dump($queue);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(Ds\PriorityQueue)#1 (0) {
}
Ds\PriorityQueue::clear
Ds\PriorityQueue::copy
PriorityQueue


Returns a shallow copy of the queue.

Ds\PriorityQueue::__construct
Ds\PriorityQueue::count
PriorityQueue
PHP Manual

Ds\PriorityQueue::copy

(PECL ds >= 1.0.0)

Ds\PriorityQueue::copy — Returns a shallow copy of the queue.

Beschreibung

public Ds\PriorityQueue Ds\PriorityQueue::copy ( void )

Returns a shallow copy of the queue.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a shallow copy of the queue.

Beispiele

Beispiel #1 Ds\PriorityQueue::copy() example

<?php
$queue = new \Ds\PriorityQueue();

$queue->push("a",  5);
$queue->push("b", 15);
$queue->push("c", 10);

print_r($queue->copy());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ds\PriorityQueue Object
(
    [0] => b
    [1] => c
    [2] => a
)
Ds\PriorityQueue::__construct
Ds\PriorityQueue::count
PriorityQueue


Returns the number of values in the queue.

Ds\PriorityQueue::copy
Ds\PriorityQueue::isEmpty
PriorityQueue
PHP Manual

Ds\PriorityQueue::count

(PECL ds >= 1.0.0)

Ds\PriorityQueue::count — Returns the number of values in the queue.

See Countable::count()

Ds\PriorityQueue::copy
Ds\PriorityQueue::isEmpty
PriorityQueue


Returns whether the queue is empty

Ds\PriorityQueue::count
Ds\PriorityQueue::jsonSerialize
PriorityQueue
PHP Manual

Ds\PriorityQueue::isEmpty

(PECL ds >= 1.0.0)

Ds\PriorityQueue::isEmpty — Returns whether the queue is empty

Beschreibung

public bool Ds\PriorityQueue::isEmpty ( void )

Returns whether the queue is empty.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the queue is empty, FALSE otherwise.

Beispiele

Beispiel #1 Ds\PriorityQueue::isEmpty() example

<?php
$a = new \Ds\PriorityQueue();
$b = new \Ds\PriorityQueue();

$a->push("a",  5);
$a->push("b", 15);
$a->push("c", 10);

var_dump($a->isEmpty());
var_dump($b->isEmpty());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(false)
bool(true)
Ds\PriorityQueue::count
Ds\PriorityQueue::jsonSerialize
PriorityQueue


Returns a representation that can be converted to JSON.

Ds\PriorityQueue::isEmpty
Ds\PriorityQueue::peek
PriorityQueue
PHP Manual

Ds\PriorityQueue::jsonSerialize

(PECL ds >= 1.0.0)

Ds\PriorityQueue::jsonSerialize — Returns a representation that can be converted to JSON.

See JsonSerializable::jsonSerialize()

Hinweis:

You should never need to call this directly.

Ds\PriorityQueue::isEmpty
Ds\PriorityQueue::peek
PriorityQueue


Returns the value at the front of the queue.

Ds\PriorityQueue::jsonSerialize
Ds\PriorityQueue::pop
PriorityQueue
PHP Manual

Ds\PriorityQueue::peek

(PECL ds >= 1.0.0)

Ds\PriorityQueue::peek — Returns the value at the front of the queue.

Beschreibung

public mixed Ds\PriorityQueue::peek ( void )

Returns the value at the front of the queue, but does not remove it.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The value at the front of the queue.

Fehler/Exceptions

UnderflowException if empty.

Beispiele

Beispiel #1 Ds\PriorityQueue::peek() example

<?php
$queue = new \Ds\PriorityQueue();

$queue->push("a",  5);
$queue->push("b", 15);
$queue->push("c", 10);

var_dump($queue->peek());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(1) "b"
Ds\PriorityQueue::jsonSerialize
Ds\PriorityQueue::pop
PriorityQueue


Removes and returns the value with the highest priority.

Ds\PriorityQueue::peek
Ds\PriorityQueue::push
PriorityQueue
PHP Manual

Ds\PriorityQueue::pop

(PECL ds >= 1.0.0)

Ds\PriorityQueue::pop — Removes and returns the value with the highest priority.

Beschreibung

public mixed Ds\PriorityQueue::pop ( void )

Removes and returns the value at the front of the queue, ie. the value with the highest priority.

Hinweis:

Values with equal priority fall back to FIFO (first in first out).

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The removed value which was at the front of the queue.

Fehler/Exceptions

UnderflowException if empty.

Beispiele

Beispiel #1 Ds\PriorityQueue::pop() example

<?php
$queue = new \Ds\PriorityQueue();

$queue->push("a",  5);
$queue->push("b", 15);
$queue->push("c", 10);

print_r($queue->pop());
print_r($queue->pop());
print_r($queue->pop());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(1) "a"
string(1) "b"
string(1) "c"
Ds\PriorityQueue::peek
Ds\PriorityQueue::push
PriorityQueue


Pushes values into the queue.

Ds\PriorityQueue::pop
Ds\PriorityQueue::toArray
PriorityQueue
PHP Manual

Ds\PriorityQueue::push

(PECL ds >= 1.0.0)

Ds\PriorityQueue::push — Pushes values into the queue.

Beschreibung

public void Ds\PriorityQueue::push ( mixed $value , int $priority )

Pushes a value with a given priority into the queue.

Parameter-Liste

value

The value to push into the queue.

priority

The priority associated with the value.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Ds\PriorityQueue::push() example

<?php
$queue = new \Ds\PriorityQueue();

$queue->push("a",  5);
$queue->push("b", 15);
$queue->push("c", 10);

print_r($queue->pop());
print_r($queue->pop());
print_r($queue->pop());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(1) "b"
string(1) "c"
string(1) "a"
Ds\PriorityQueue::pop
Ds\PriorityQueue::toArray
PriorityQueue


Converts the queue to an array.

Ds\PriorityQueue::push
Filter
PriorityQueue
PHP Manual

Ds\PriorityQueue::toArray

(PECL ds >= 1.0.0)

Ds\PriorityQueue::toArray — Converts the queue to an array.

Beschreibung

public array Ds\PriorityQueue::toArray ( void )

Converts the queue to an array.

Hinweis:

This method is not destructive.

Hinweis:

Casting to an array is not supported yet.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An array containing all the values in the same order as the queue.

Beispiele

Beispiel #1 Ds\PriorityQueue::toArray() example

<?php
$queue = new \Ds\PriorityQueue();

$queue->push("a",  5);
$queue->push("b", 15);
$queue->push("c", 10);

var_dump($queue->toArray());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(3) {
  [0]=>
  string(1) "b"
  [1]=>
  string(1) "c"
  [2]=>
  string(1) "a"
}
Ds\PriorityQueue::push
Filter
PriorityQueue


Datenfilterung

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Types of filters
    • Validate filters
    • Sanitize filters
    • Other filters
    • Filter flags
  • Vordefinierte Konstanten
  • Beispiele
    • Validation
    • Sanitization
  • Filter-Funktionen
    • filter_has_var — Prüft, ob eine Variable des angegebenen Typs existiert
    • filter_id — Liefert die Filter-ID zu einem Filternamen
    • filter_input_array — Nimmt mehrere Variablen von Außen entgegen und filtert sie optional
    • filter_input — Nimmt eine Variable von Außen entgegen und filtert sie optional
    • filter_list — Liefert eine Liste aller unterstützten Filter
    • filter_var_array — Nimmt mehrere Variablen entgegen und filtert sie optional
    • filter_var — Filtern einer Variablen mit einem angegebenen Filter
Ds\PriorityQueue::toArray
Einführung
Variablen- und typbezogene Erweiterungen


Einführung

Diese Erweiterung filtert Daten, indem sie diese entweder validiert oder säubert. Dies ist besonders nützlich, wenn die Datenquelle unbekannte (oder fremde) Daten enthält, wie eine Eingabe vom Nutzer. Zum Beispiel können diese Daten aus einem HTML-Formular stammen.

Es gibt zwei Haupttypen der Filterung: Validierung und Säuberung.

Validierung wird genutzt, um zu prüfen, ob die Daten gewisse Bedingungen erfüllen. Zum Beispiel führt die Angabe von FILTER_VALIDATE_EMAIL dazu, dass entschieden wird, ob die Daten eine gültige E-Mail-Adresse bilden, aber es wird keine Änderung an den Daten selbst vorgenommen.

Säuberung wird die Daten säubern, indem es sie so verändert, dass unerwünschte Zeichen entfernt werden. Zum Beispiel führt die Angabe von FILTER_SANITIZE_EMAIL dazu, dass Zeichen entfernt werden, die nicht in einer E-Mail-Adresse enthalten sein sollten. Das bedeutet, dass die Daten nicht validiert werden.

Flags werden optional sowohl bei der Validierung als auch bei der Säuberung genutzt, um das Verhalten an Ihre Anforderungen anzupassen. Zum Beispiel führt die Angabe von FILTER_FLAG_PATH_REQUIRED bei der Filterung eines URL dazu, dass ein Pfad (wie /foo in http://example.org/foo) erzwungen wird.

Filter
Installation/Konfiguration
Filter


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Filter


Installation

Die Filter-Erweiterung ist seit PHP 5.2.0 standardmäßig aktiviert. Vorher wurde eine experimentelle PECL-Erweiterung verwendet, die aber nicht mehr empfohlen und auch nicht mehr aktualisiert wird.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Filter-Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
filter.default | "unsafe_raw" | PHP_INI_PERDIR | PHP_INI_ALL in filter <= 0.9.4. Verfügbar seit PHP 5.2.0.
filter.default_flags | NULL | PHP_INI_PERDIR | PHP_INI_ALL in filter <= 0.9.4. Verfügbar seit PHP 5.2.0.
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

filter.default string

Filtere alle $_GET-, $_POST-, $_COOKIE-, $_REQUEST- und $_SERVER-Daten mit diesem Filter. Auf die Originaldaten kann mit filter_input() zugegriffen werden.

Akzeptiert den Namen des Filters, der standardmäßig verwendet werden soll. Die Namen der verfügbaren Filter können Sie der Liste der existierenden Filter entnehmen.

Hinweis:

Seien Sie vorsichtig bezüglich der Standardflags für die Standardfilter. Sie sollten diese explizit auf den gewünschten Wert setzen. Um zum Beispiel den Standardfilter zu konfigurieren, so dass er sich genau wie htmlspecialchars() verhält, müssen Sie die Standardflags auf 0 setzen, wie weiter unten gezeigt.

Beispiel #1 Einstellen des Standardfilters, so dass er sich wie htmlspecialchars verhält

filter.default = full_special_chars
filter.default_flags = 0

filter.default_flags integer

Anzuwendende Standardflags, wenn der Standardfilter eingestellt ist. Aus Gründen der Abwärtskompatibilität ist der Vorgabewert FILTER_FLAG_NO_ENCODE_QUOTES . Alle verfügbaren Flagnamen sind in der Flag-Liste zu finden.

Installation
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

Diese Erweiterung definiert keine Ressource-Typen.

Laufzeit-Konfiguration
Types of filters
Installation/Konfiguration


Types of filters

Inhaltsverzeichnis

  • Validate filters
  • Sanitize filters
  • Other filters
  • Filter flags
Ressource-Typen
Validate filters
Filter


Validate filters

Liste der Filter für die Validierung
ID | Name | Optionen | Flags | Beschreibung
FILTER_VALIDATE_BOOLEAN | "boolean" | default | FILTER_NULL_ON_FAILURE | Gibt TRUE für die Werte "1", "true", "on" und "yes" zurück. Sonst FALSE. If FILTER_NULL_ON_FAILURE is set, FALSE is returned only for "0", "false", "off", "no", and "", and NULL is returned for all non-boolean values.
FILTER_VALIDATE_EMAIL | "validate_email" | default |  | Prüft ob der Wert eine gültige Email Adresse ist.
FILTER_VALIDATE_FLOAT | "float" | default, decimal | FILTER_FLAG_ALLOW_THOUSAND | Prüft ob der Wert ein Float Wert ist.
FILTER_VALIDATE_INT | "int" | default, min_range, max_range | FILTER_FLAG_ALLOW_OCTAL, FILTER_FLAG_ALLOW_HEX | Prüft ob der Wert ein Integer Wert ist, optional ob der Wert in der definierten Spanne liegt.
FILTER_VALIDATE_IP | "validate_ip" | default | FILTER_FLAG_IPV4, FILTER_FLAG_IPV6, FILTER_FLAG_NO_PRIV_RANGE, FILTER_FLAG_NO_RES_RANGE | Prüft ob der Wert eine gültige IP Adresse ist. Optional kann angegeben werden ob der Wert eine IPv4, IPv6 Adresse sein soll. Oder das die IP Adresse nicht aus einem Privaten oder Reservierten Bereich stammen soll.
FILTER_VALIDATE_REGEXP | "validate_regexp" | default, regexp |  | Validates value against regexp, a Perl-compatible regular expression.
FILTER_VALIDATE_URL | "validate_url" | default | FILTER_FLAG_PATH_REQUIRED, FILTER_FLAG_QUERY_REQUIRED | Validates value as URL (according to » http://www.faqs.org/rfcs/rfc2396), optionally with required components. Beware a valid URL may not specify the HTTP protocol http:// so further validation may be required to determine the URL uses an expected protocol, e.g. ssh:// or mailto:. Note that the function will only find ASCII URLs to be valid; internationalized domain names (containing non-ASCII characters) will fail.

Hinweis:

As of PHP 5.4.11, the numbers +0 and -0 validate as both integers as well as floats (using FILTER_VALIDATE_FLOAT and FILTER_VALIDATE_INT). Before PHP 5.4.11 they only validated as floats (using FILTER_VALIDATE_FLOAT).

When default is set to option, default's value is used if value is not validated.

Types of filters
Sanitize filters
Types of filters


Sanitize filters

List of filters for sanitization
ID | Name | Options | Flags | Description
FILTER_SANITIZE_EMAIL | "email" |  |  | Remove all characters except letters, digits and !#$%&'*+-/=?^_`{|}~@.[].
FILTER_SANITIZE_ENCODED | "encoded" |  | FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH | URL-encode string, optionally strip or encode special characters.
FILTER_SANITIZE_MAGIC_QUOTES | "magic_quotes" |  |  | Apply addslashes().
FILTER_SANITIZE_NUMBER_FLOAT | "number_float" |  | FILTER_FLAG_ALLOW_FRACTION, FILTER_FLAG_ALLOW_THOUSAND, FILTER_FLAG_ALLOW_SCIENTIFIC | Remove all characters except digits, +- and optionally .,eE.
FILTER_SANITIZE_NUMBER_INT | "number_int" |  |  | Remove all characters except digits, plus and minus sign.
FILTER_SANITIZE_SPECIAL_CHARS | "special_chars" |  | FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_HIGH | HTML-escape '"<>& and characters with ASCII value less than 32, optionally strip or encode other special characters.
FILTER_SANITIZE_FULL_SPECIAL_CHARS | "full_special_chars" |  | FILTER_FLAG_NO_ENCODE_QUOTES, | Equivalent to calling htmlspecialchars() with ENT_QUOTES set. Encoding quotes can be disabled by setting FILTER_FLAG_NO_ENCODE_QUOTES. Like htmlspecialchars(), this filter is aware of the default_charset and if a sequence of bytes is detected that makes up an invalid character in the current character set then the entire string is rejected resulting in a 0-length string. When using this filter as a default filter, see the warning below about setting the default flags to 0.
FILTER_SANITIZE_STRING | "string" |  | FILTER_FLAG_NO_ENCODE_QUOTES, FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH, FILTER_FLAG_ENCODE_AMP | Strip tags, optionally strip or encode special characters.
FILTER_SANITIZE_STRIPPED | "stripped" |  |  | Alias of "string" filter.
FILTER_SANITIZE_URL | "url" |  |  | Remove all characters except letters, digits and $-_.+!*'(),{}|\\^~[]`<>#%";/?:@&=.
FILTER_UNSAFE_RAW | "unsafe_raw" |  | FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH, FILTER_FLAG_ENCODE_AMP | Do nothing, optionally strip or encode special characters.

Warnung

When using one of these filters as a default filter either through your ini file or through your web server's configuration, the default flags is set to FILTER_FLAG_NO_ENCODE_QUOTES. You need to explicitly set filter.default_flags to 0 to have quotes encoded by default. Like this:

Beispiel #1 Configuring the default filter to act like htmlspecialchars

filter.default = full_special_chars
filter.default_flags = 0

Validate filters
Other filters
Types of filters


Other filters

List of miscellaneous filters
ID | Name | Options | Flags | Description
FILTER_CALLBACK | "callback" | callable function or method |  | Call user-defined function to filter data.

Sanitize filters
Filter flags
Types of filters


Filter flags

List of filter flags
ID | Used with | Description
FILTER_FLAG_STRIP_LOW | FILTER_SANITIZE_ENCODED, FILTER_SANITIZE_SPECIAL_CHARS, FILTER_SANITIZE_STRING, FILTER_UNSAFE_RAW | Strips characters that has a numerical value <32.
FILTER_FLAG_STRIP_HIGH | FILTER_SANITIZE_ENCODED, FILTER_SANITIZE_SPECIAL_CHARS, FILTER_SANITIZE_STRING, FILTER_UNSAFE_RAW | Strips characters that has a numerical value >127.
FILTER_FLAG_ALLOW_FRACTION | FILTER_SANITIZE_NUMBER_FLOAT | Allows a period (.) as a fractional separator in numbers.
FILTER_FLAG_ALLOW_THOUSAND | FILTER_SANITIZE_NUMBER_FLOAT, FILTER_VALIDATE_FLOAT | Allows a comma (,) as a thousands separator in numbers.
FILTER_FLAG_ALLOW_SCIENTIFIC | FILTER_SANITIZE_NUMBER_FLOAT | Allows an e or E for scientific notation in numbers.
FILTER_FLAG_NO_ENCODE_QUOTES | FILTER_SANITIZE_STRING | If this flag is present, single (') and double (") quotes will not be encoded.
FILTER_FLAG_ENCODE_LOW | FILTER_SANITIZE_ENCODED, FILTER_SANITIZE_STRING, FILTER_SANITIZE_RAW | Encodes all characters with a numerical value <32.
FILTER_FLAG_ENCODE_HIGH | FILTER_SANITIZE_ENCODED, FILTER_SANITIZE_SPECIAL_CHARS, FILTER_SANITIZE_STRING, FILTER_SANITIZE_RAW | Encodes all characters with a numerical value >127.
FILTER_FLAG_ENCODE_AMP | FILTER_SANITIZE_STRING, FILTER_SANITIZE_RAW | Encodes ampersands (&).
FILTER_NULL_ON_FAILURE | FILTER_VALIDATE_BOOLEAN | Returns NULL for unrecognized boolean values.
FILTER_FLAG_ALLOW_OCTAL | FILTER_VALIDATE_INT | Regards inputs starting with a zero (0) as octal numbers. This only allows the succeeding digits to be 0-7.
FILTER_FLAG_ALLOW_HEX | FILTER_VALIDATE_INT | Regards inputs starting with 0x or 0X as hexadecimal numbers. This only allows succeeding characters to be a-fA-F0-9.
FILTER_FLAG_IPV4 | FILTER_VALIDATE_IP | Allows the IP address to be in IPv4 format.
FILTER_FLAG_IPV6 | FILTER_VALIDATE_IP | Allows the IP address to be in IPv6 format.
FILTER_FLAG_NO_PRIV_RANGE | FILTER_VALIDATE_IP | Fails validation for the following private IPv4 ranges: 10.0.0.0/8, 172.16.0.0/12 and 192.168.0.0/16. Fails validation for the IPv6 addresses starting with FD or FC.
FILTER_FLAG_NO_RES_RANGE | FILTER_VALIDATE_IP | Fails validation for the following reserved IPv4 ranges: 0.0.0.0/8, 169.254.0.0/16, 192.0.2.0/24 and 224.0.0.0/4. This flag does not apply to IPv6 addresses.
FILTER_FLAG_PATH_REQUIRED | FILTER_VALIDATE_URL | Requires the URL to contain a path part.
FILTER_FLAG_QUERY_REQUIRED | FILTER_VALIDATE_URL | Requires the URL to contain a query string.

Other filters
Vordefinierte Konstanten
Types of filters


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

INPUT_POST (integer)
POST-Variablen.
INPUT_GET (integer)
GET-Variablen.
INPUT_COOKIE (integer)
COOKIE-Variablen.
INPUT_ENV (integer)
ENV-Variablen.
INPUT_SERVER (integer)
SERVER-Variablen.
INPUT_SESSION (integer)
SESSION-Variablen. (noch nicht implementiert)
INPUT_REQUEST (integer)
REQUEST-Variablen. (noch nicht implementiert)
FILTER_FLAG_NONE (integer)
Keine Flags.
FILTER_REQUIRE_SCALAR (integer)
Flag fordert skalare Werte als Eingabe.
FILTER_REQUIRE_ARRAY (integer)
Fordert ein Array als Eingabe.
FILTER_FORCE_ARRAY (integer)
Gibt immer ein Array zurück.
FILTER_NULL_ON_FAILURE (integer)
NULL anstelle von FALSE bei Fehlern verwenden.
FILTER_VALIDATE_INT (integer)
ID des "int"-Filters.
FILTER_VALIDATE_BOOLEAN (integer)
ID des "boolean"-Filters.
FILTER_VALIDATE_FLOAT (integer)
ID des "float"-Filters.
FILTER_VALIDATE_REGEXP (integer)
ID des "validate_regexp"-Filters.
FILTER_VALIDATE_URL (integer)
ID des "validate_url"-Filters.
FILTER_VALIDATE_EMAIL (integer)
ID des "validate_email"-Filters.
FILTER_VALIDATE_IP (integer)
ID des "validate_ip"-Filters.
FILTER_VALIDATE_MAC (integer)
ID des "validate_mac_address"-Filters. (Verfügbar ab PHP 5.5.0)
FILTER_DEFAULT (integer)
ID des Standard-Filters ("string"). Das ist gleichwertig zu FILTER_UNSAFE_RAW.
FILTER_UNSAFE_RAW (integer)
ID des "unsafe_raw"-Filters.
FILTER_SANITIZE_STRING (integer)
ID des "string"-Filters.
FILTER_SANITIZE_STRIPPED (integer)
ID des "stripped"-Filters.
FILTER_SANITIZE_ENCODED (integer)
ID des "encoded"-Filters.
FILTER_SANITIZE_SPECIAL_CHARS (integer)
ID des "special_chars"-Filters.
FILTER_SANITIZE_EMAIL (integer)
ID des "email"-Filters.
FILTER_SANITIZE_URL (integer)
ID des "url"-Filters.
FILTER_SANITIZE_NUMBER_INT (integer)
ID des "number_int"-Filters.
FILTER_SANITIZE_NUMBER_FLOAT (integer)
ID des "number_float"-Filters.
FILTER_SANITIZE_MAGIC_QUOTES (integer)
ID des "magic_quotes"-Filters.
FILTER_CALLBACK (integer)
ID des "callback"-Filters.
FILTER_FLAG_ALLOW_OCTAL (integer)
Oktale Notation (0[0-7]+) im "int"-Filter erlauben.
FILTER_FLAG_ALLOW_HEX (integer)
Hexadezimale Notation (0x[0-9a-fA-F]+) im "int"-Filter erlauben.
FILTER_FLAG_STRIP_LOW (integer)
Zeichen mit einem ASCII-Wert kleiner 32 entfernen.
FILTER_FLAG_STRIP_HIGH (integer)
Zeichen mit einem ASCII-Wert größer 127 entfernen.
FILTER_FLAG_ENCODE_LOW (integer)
Zeichen mit einem ASCII-Wert kleiner 32 kodieren.
FILTER_FLAG_ENCODE_HIGH (integer)
Zeichen mit einem ASCII-Wert größer 127 kodieren.
FILTER_FLAG_ENCODE_AMP (integer)
& kodieren.
FILTER_FLAG_NO_ENCODE_QUOTES (integer)
' und " nicht kodieren.
FILTER_FLAG_EMPTY_STRING_NULL (integer)
(Aktuell ohne Verwendung.)
FILTER_FLAG_ALLOW_FRACTION (integer)
Brüche im "number_float"-Filter erlauben.
FILTER_FLAG_ALLOW_THOUSAND (integer)
Tausender-Trenner (,) im "number_float"-Filter erlauben.
FILTER_FLAG_ALLOW_SCIENTIFIC (integer)
Exponentialschreibweise (e, E) im "number_float"-Filter erlauben.
FILTER_FLAG_PATH_REQUIRED (integer)
Fordert Pfad im "validate_url"-Filter.
FILTER_FLAG_QUERY_REQUIRED (integer)
Fordert Abfrage im "validate_url"-Filter.
FILTER_FLAG_IPV4 (integer)
Nur IPv4-Adressen im "validate_ip"-Filter erlauben.
FILTER_FLAG_IPV6 (integer)
Nur IPv6-Adressen im "validate_ip"-Filter erlauben.
FILTER_FLAG_NO_RES_RANGE (integer)
Reservierte Adressen im "validate_ip"-Filter verweigern.
FILTER_FLAG_NO_PRIV_RANGE (integer)
Private Adressen im "validate_ip"-Filter verweigern.
Filter flags
Beispiele
Filter


Beispiele

Inhaltsverzeichnis

  • Validation
  • Sanitization
Vordefinierte Konstanten
Validation
Filter


Validation

Beispiel #1 Validating email addresses with filter_var()

<?php
$email_a = 'joe@example.com';
$email_b = 'bogus';

if (filter_var($email_a, FILTER_VALIDATE_EMAIL)) {
    echo "This ($email_a) email address is considered valid.\n";
}
if (filter_var($email_b, FILTER_VALIDATE_EMAIL)) {
    echo "This ($email_b) email address is considered valid.\n";
} else {
    echo "This ($email_b) email address is considered invalid.\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

This (joe@example.com) email address is considered valid.
This (bogus) email address is considered invalid.

Beispiel #2 Validating IP addresses with filter_var()

<?php
$ip_a = '127.0.0.1';
$ip_b = '42.42';

if (filter_var($ip_a, FILTER_VALIDATE_IP)) {
    echo "This (ip_a) IP address is considered valid.";
}
if (filter_var($ip_b, FILTER_VALIDATE_IP)) {
    echo "This (ip_b) IP address is considered valid.";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

This (ip_a) IP address is considered valid.

Beispiel #3 Passing options to filter_var()

<?php
$int_a = '1';
$int_b = '-1';
$int_c = '4';
$options = array(
    'options' => array(
                      'min_range' => 0,
                      'max_range' => 3,
                      )
);
if (filter_var($int_a, FILTER_VALIDATE_INT, $options) !== FALSE) {
    echo "This (int_a) integer is considered valid (between 0 and 3).\n";
}
if (filter_var($int_b, FILTER_VALIDATE_INT, $options) !== FALSE) {
    echo "This (int_b) integer is considered valid (between 0 and 3).\n";
}
if (filter_var($int_c, FILTER_VALIDATE_INT, $options) !== FALSE) {
    echo "This (int_c) integer is considered valid (between 0 and 3).\n";
}

$options['options']['default'] = 1;
if (($int_c = filter_var($int_c, FILTER_VALIDATE_INT, $options)) !== FALSE) {
    echo "This (int_c) integer is considered valid (between 0 and 3) and is $int_c.";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

This (int_a) integer is considered valid (between 0 and 3).
This (int_c) integer is considered valid (between 0 and 3) and is 1.

Beispiele
Sanitization
Beispiele


Sanitization

Beispiel #1 Sanitizing and validating email addresses

<?php
$a = 'joe@example.org';
$b = 'bogus - at - example dot org';
$c = '(bogus@example.org)';

$sanitized_a = filter_var($a, FILTER_SANITIZE_EMAIL);
if (filter_var($sanitized_a, FILTER_VALIDATE_EMAIL)) {
    echo "This (a) sanitized email address is considered valid.\n";
}

$sanitized_b = filter_var($b, FILTER_SANITIZE_EMAIL);
if (filter_var($sanitized_b, FILTER_VALIDATE_EMAIL)) {
    echo "This sanitized email address is considered valid.";
} else {
    echo "This (b) sanitized email address is considered invalid.\n";
}

$sanitized_c = filter_var($c, FILTER_SANITIZE_EMAIL);
if (filter_var($sanitized_c, FILTER_VALIDATE_EMAIL)) {
    echo "This (c) sanitized email address is considered valid.\n";
    echo "Before: $c\n";
    echo "After:  $sanitized_c\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

This (a) sanitized email address is considered valid.
This (b) sanitized email address is considered invalid.
This (c) sanitized email address is considered valid.
Before: (bogus@example.org)
After: bogus@example.org

Beispiel #2 Configuring a default filter

filter.default = full_special_chars
filter.default_flags = 0

Validation
Filter-Funktionen
Beispiele


Filter-Funktionen

Inhaltsverzeichnis

  • filter_has_var — Prüft, ob eine Variable des angegebenen Typs existiert
  • filter_id — Liefert die Filter-ID zu einem Filternamen
  • filter_input_array — Nimmt mehrere Variablen von Außen entgegen und filtert sie optional
  • filter_input — Nimmt eine Variable von Außen entgegen und filtert sie optional
  • filter_list — Liefert eine Liste aller unterstützten Filter
  • filter_var_array — Nimmt mehrere Variablen entgegen und filtert sie optional
  • filter_var — Filtern einer Variablen mit einem angegebenen Filter
Sanitization
filter_has_var
Filter


Prüft, ob eine Variable des angegebenen Typs existiert

Filter-Funktionen
filter_id
Filter-Funktionen
PHP Manual

filter_has_var

(PHP 5 >= 5.2.0, PHP 7)

filter_has_var — Prüft, ob eine Variable des angegebenen Typs existiert

Beschreibung

bool filter_has_var ( int $type , string $variable_name )

Parameter-Liste

type

Einer von INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER oder INPUT_ENV.

variable_name

Name der Variablen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Filter-Funktionen
filter_id
Filter-Funktionen


Liefert die Filter-ID zu einem Filternamen

filter_has_var
filter_input_array
Filter-Funktionen
PHP Manual

filter_id

(PHP 5 >= 5.2.0, PHP 7)

filter_id — Liefert die Filter-ID zu einem Filternamen

Beschreibung

int filter_id ( string $filtername )

Parameter-Liste

filtername

Name des Filters.

Rückgabewerte

ID des Filters bei Erfolg oder FALSE, wenn keine gefunden wurde.

Siehe auch

  • filter_list() - Liefert eine Liste aller unterstützten Filter

filter_has_var
filter_input_array
Filter-Funktionen


Nimmt mehrere Variablen von Außen entgegen und filtert sie optional

filter_id
filter_input
Filter-Funktionen
PHP Manual

filter_input_array

(PHP 5 >= 5.2.0, PHP 7)

filter_input_array — Nimmt mehrere Variablen von Außen entgegen und filtert sie optional

Beschreibung

mixed filter_input_array ( int $type [, mixed $definition [, bool $add_empty = true ]] )

Diese Funktion ist nützlich, um mehrere Werte abzufragen ohne wiederholend filter_input() aufrufen zu müssen.

Parameter-Liste

type

Einer von INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER, INPUT_SESSION oder INPUT_ENV.

definition

Array dass die Argumente enthält. Ein gültiger Key ist ein string der einen Variablennamen enthält und ein gültiger Wert ist entweder ein Filter oder ein array welches den Filter, seine Flags und Optionen spezifiziert. Wenn der Wert ein Array ist, sind gültige Keys filter der den Filtertyp definiert, flags welches jegliche Flags die den Filter spezifizieren enthält und options welches die Optionen enthält die den Filter beschreiben. Für ein besseres Verständnis sehen Sie sich das Beispiel an.

Der Parameter kann auch ein Integer sein der eine Filterkonstante beschreibt. Dann werden alle Werte des Eingabearrays durch diesen Filter gefiltert.

add_empty

Füge dem Rückgabewert fehlende Keys als NULL hinzu.

Rückgabewerte

Bei Erfolg wird ein Array zurückgegeben, welches alle Werte der angefragten Variablen enthält oder FALSE im Fehlerfall. Ein einzelner Array-Wert ist FALSE, wenn das Filtern fehlgeschlagen ist oder NULL, wenn die Variable nicht gesetzt ist. Wenn das Flag FILTER_NULL_ON_FAILURE benutzt wurde, wird FALSE zurückgegeben, wenn die Variable nicht gesetzt ist und NULL, wenn das Filtern fehlgeschlagen ist.

Beispiele

Beispiel #1 filter_input_array() Beispiel

<?php
error_reporting(E_ALL | E_STRICT);
/* data actually came from POST
$_POST = array(
    'product_id'    => 'libgd<script>',
    'component'     => '10',
    'versions'      => '2.0.33',
    'testscalar'    => array('2', '23', '10', '12'),
    'testarray'     => '2',
);
*/

$args = array(
    'product_id'   => FILTER_SANITIZE_ENCODED,
    'component'    => array('filter'    => FILTER_VALIDATE_INT,
                            'flags'     => FILTER_REQUIRE_ARRAY,
                            'options'   => array('min_range' => 1, 'max_range' => 10)
                           ),
    'versions'     => FILTER_SANITIZE_ENCODED,
    'doesnotexist' => FILTER_VALIDATE_INT,
    'testscalar'   => array(
                            'filter' => FILTER_VALIDATE_INT,
                            'flags'  => FILTER_REQUIRE_SCALAR,
                           ),
    'testarray'    => array(
                            'filter' => FILTER_VALIDATE_INT,
                            'flags'  => FILTER_REQUIRE_ARRAY,
                           )

);

$myinputs = filter_input_array(INPUT_POST, $args);

var_dump($myinputs);
echo "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(6) {
  ["product_id"]=>
  string(17) "libgd%3Cscript%3E"
  ["component"]=>
  array(1) {
    [0]=>
    int(10)
  }
  ["versions"]=>
  string(6) "2.0.33"
  ["doesnotexist"]=>
  NULL
  ["testscalar"]=>
  bool(false)
  ["testarray"]=>
  array(1) {
    [0]=>
    int(2)
  }
}

Changelog

Version | Beschreibung
5.4.0 | Der Paramter add_empty wurde hinzugefügt.

Anmerkungen

Hinweis:

Es gibt keinen REQUEST_TIME Key im INPUT_SERVER Array, weil dieser erst später in $_SERVER eingefügt wird.

Siehe auch

  • filter_input() - Nimmt eine Variable von Außen entgegen und filtert sie optional
  • filter_var_array() - Nimmt mehrere Variablen entgegen und filtert sie optional
  • Types of filters

filter_id
filter_input
Filter-Funktionen


Nimmt eine Variable von Außen entgegen und filtert sie optional

filter_input_array
filter_list
Filter-Funktionen
PHP Manual

filter_input

(PHP 5 >= 5.2.0, PHP 7)

filter_input — Nimmt eine Variable von Außen entgegen und filtert sie optional

Beschreibung

mixed filter_input ( int $type , string $variable_name [, int $filter = FILTER_DEFAULT [, mixed $options ]] )

Parameter-Liste

type

Entweder INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER oder INPUT_ENV.

variable_name

Name der Variablen.

filter

Die ID des anzuwendenden Filters. Die Handbuchseite Types of filters zeigt die verfügbaren Filter auf.

Falls dieser Parameter ausgelassen wird, so wird FILTER_DEFAULT verwendet, was zu FILTER_UNSAFE_RAW äquivalent ist. Dies wird dazu führen, dass keine Filterung stattfindet.

options

Assoziatives Array mit Optionen oder bitweise Disjunktion von Flags. Wenn der Filter Optionen akzeptiert, können Flags auch im "flags" Feld des Arrays angegeben werden.

Rückgabewerte

Bei Erfolg wird der Wert zurückgegeben, FALSE im Fehlerfall oder NULL, wenn die Variable variable_name nicht gesetzt ist. Wenn das Flag FILTER_NULL_ON_FAILURE benutzt wurde, wird FALSE zurückgegeben, wenn die Variable nicht gesetzt ist und NULL, wenn das Filtern fehlgeschlagen ist.

Beispiele

Beispiel #1 filter_input() Beispiel

<?php
$search_html = filter_input(INPUT_GET, 'search', FILTER_SANITIZE_SPECIAL_CHARS);
$search_url = filter_input(INPUT_GET, 'search', FILTER_SANITIZE_ENCODED);
echo "Sie haben nach $search_html gesucht.\n";
echo "<a href='?search=$search_url'>Erneut suchen.</a>";
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Sie haben nach Ich &#38 Sohn gesucht.
<a href='?search=Ich%20%26%20Sohn'>Erneut suchen.</a>

Siehe auch

  • filter_var() - Filtern einer Variablen mit einem angegebenen Filter
  • filter_input_array() - Nimmt mehrere Variablen von Außen entgegen und filtert sie optional
  • filter_var_array() - Nimmt mehrere Variablen entgegen und filtert sie optional
  • Types of filters

filter_input_array
filter_list
Filter-Funktionen


Liefert eine Liste aller unterstützten Filter

filter_input
filter_var_array
Filter-Funktionen
PHP Manual

filter_list

(PHP 5 >= 5.2.0, PHP 7)

filter_list — Liefert eine Liste aller unterstützten Filter

Beschreibung

array filter_list ( void )

Rückgabewerte

Liefert ein Array mit den Namen aller unterstützter Filter oder ein leeres Array, wenn keine Filter zur Verfügung stehen. Der Index des Arrays entspricht nicht der Filter-ID, diese kann durch die Funktion filter_id() ermittelt werden.

Beispiele

Beispiel #1 filter_list() Beispiel

<?php
print_r(filter_list());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [0] => int
    [1] => boolean
    [2] => float
    [3] => validate_regexp
    [4] => validate_url
    [5] => validate_email
    [6] => validate_ip
    [7] => string
    [8] => stripped
    [9] => encoded
    [10] => special_chars
    [11] => unsafe_raw
    [12] => email
    [13] => url
    [14] => number_int
    [15] => number_float
    [16] => magic_quotes
    [17] => callback
)

filter_input
filter_var_array
Filter-Funktionen


Nimmt mehrere Variablen entgegen und filtert sie optional

filter_list
filter_var
Filter-Funktionen
PHP Manual

filter_var_array

(PHP 5 >= 5.2.0, PHP 7)

filter_var_array — Nimmt mehrere Variablen entgegen und filtert sie optional

Beschreibung

mixed filter_var_array ( array $data [, mixed $definition ] )

Diese Funktion ist sinnvoll um mehrere Werte abzufragen ohne wiederholend filter_var() aufrufen zu müssen.

Parameter-Liste

data

Ein Array mit String-Keys, welches die zu filternden Daten enthält.

definition

Array dass die Argumente enthält. Ein gültiger Key ist ein string der einen Variablennamen enthält und ein gültiger Wert ist entweder ein Filter oder ein array welches den Filter, seine Flags und Optionen spezifiziert. Wenn der Wert ein Array ist, sind gültige Keys filter der den Filtertyp definiert, flags welches jegliche Flags die den Filter spezifizieren enthält und options welches die Optionen enthält to den Filter beschreiben. Für ein besseres Verständnis sehen Sie sich das Beispiel an.

Der Parameter kann auch ein Integer sein der eine Filterkonstante beschreibt. Dann werden alle Werte des Arrays durch diesen Filter gefiltert.

Rückgabewerte

Bei Erfolg wird ein Array zurückgegeben, welches alle Werte der angefragten Variablen enthält oder FALSE im Fehlerfall. Ein einzelner Array-Wert ist FALSE, wenn das Filtern fehlgeschlagen ist oder NULL, wenn die Variable nicht gesetzt ist.

Beispiele

Beispiel #1 filter_var_array() Beispiel

<?php
error_reporting(E_ALL | E_STRICT);
$data = array(
    'product_id'    => 'libgd<script>',
    'component'     => '10',
    'versions'      => '2.0.33',
    'testscalar'    => array('2', '23', '10', '12'),
    'testarray'     => '2',
);

$args = array(
    'product_id'   => FILTER_SANITIZE_ENCODED,
    'component'    => array('filter'    => FILTER_VALIDATE_INT,
                            'flags'     => FILTER_FORCE_ARRAY,
                            'options'   => array('min_range' => 1, 'max_range' => 10)
                           ),
    'versions'     => FILTER_SANITIZE_ENCODED,
    'doesnotexist' => FILTER_VALIDATE_INT,
    'testscalar'   => array(
                            'filter' => FILTER_VALIDATE_INT,
                            'flags'  => FILTER_REQUIRE_SCALAR,
                           ),
    'testarray'    => array(
                            'filter' => FILTER_VALIDATE_INT,
                            'flags'  => FILTER_FORCE_ARRAY,
                           )

);

$myinputs = filter_var_array($data, $args);

var_dump($myinputs);
echo "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(6) {
  ["product_id"]=>
  array(1) {
    [0]=>
    string(17) "libgd%3Cscript%3E"
  }
  ["component"]=>
  array(1) {
    [0]=>
    int(10)
  }
  ["versions"]=>
  array(1) {
    [0]=>
    string(6) "2.0.33"
  }
  ["doesnotexist"]=>
  NULL
  ["testscalar"]=>
  bool(false)
  ["testarray"]=>
  array(1) {
    [0]=>
    int(2)
  }
}

Siehe auch

  • filter_input_array() - Nimmt mehrere Variablen von Außen entgegen und filtert sie optional
  • filter_var() - Filtern einer Variablen mit einem angegebenen Filter
  • filter_input() - Nimmt eine Variable von Außen entgegen und filtert sie optional

filter_list
filter_var
Filter-Funktionen


Filtern einer Variablen mit einem angegebenen Filter

filter_var_array
Function Handling
Filter-Funktionen
PHP Manual

filter_var

(PHP 5 >= 5.2.0, PHP 7)

filter_var — Filtern einer Variablen mit einem angegebenen Filter

Beschreibung

mixed filter_var ( mixed $variable [, int $filter = FILTER_DEFAULT [, mixed $options ]] )

Parameter-Liste

variable

Wert, der gefiltert werden soll. Es ist zu beachten, dass skalare Werte vor dem Filtern intern nach String konvertiert werden.

filter

Die ID des anzuwendenden Filters. Die Handbuchseite Types of filters zeigt die verfügbaren Filter auf.

Falls dieser Parameter ausgelassen wird, so wird FILTER_DEFAULT verwendet, was zu FILTER_UNSAFE_RAW äquivalent ist. Dies wird dazu führen, dass keine Filterung stattfindet.

options

Assoziatives Array mit Optionen oder bitweise Disjunktion von Flags. Wenn der Filter Optionen akzeptiert, können Flags im "flags" Feld des Arrays angegeben werden. Für "callback" Filter sollte der callback-Typ angegeben werden. Der Callback muss den zu filternden Wert als einziges Argument akzeptieren und den gefilterten/bereinigten Wert zurückgeben.

<?php
// für Filter, die Optionen zulassen, verwenden Sie dieses Format
$options = array(
    'options' => array(
        'default' => 3, // Rückgabewert, falls der Filter fehlschlägt
        // andere Optionen hier
        'min_range' => 0
    ),
    'flags' => FILTER_FLAG_ALLOW_OCTAL,
);
$var = filter_var('0755', FILTER_VALIDATE_INT, $options);

// für Filter, die nur Flags zulassen, können Sie diese direkt übergeben
$var = filter_var('oops', FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE);

// für Filter, die nur Flags zulassen, können Sie sie ebenfalls als Array übergeben
$var = filter_var('oops', FILTER_VALIDATE_BOOLEAN,
                  array('flags' => FILTER_NULL_ON_FAILURE));

// Callback-Validierungsfilter
function foo($value)
{
    // Erwartetes Format: Nachname, Vornamen
    if (strpos($value, ", ") === false) return false;
    list($surname, $givennames) = explode(", ", $value, 2);
    $empty = (empty($surname) || empty($givennames));
    $notstrings = (!is_string($surname) || !is_string($givennames));
    if ($empty || $notstrings) {
        return false;
    } else {
        return $value;
    }
}
$var = filter_var('Doe, Jane Sue', FILTER_CALLBACK, array('options' => 'foo'));
?>

Rückgabewerte

Gibt die gefilterten Daten zurück oder FALSE wenn fehlgeschlagen.

Beispiele

Beispiel #1 filter_var()-Beispiel

<?php
var_dump(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL));
var_dump(filter_var('http://example.com', FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(15) "bob@example.com"
bool(false)

Siehe auch

  • filter_var_array() - Nimmt mehrere Variablen entgegen und filtert sie optional
  • filter_input() - Nimmt eine Variable von Außen entgegen und filtert sie optional
  • filter_input_array() - Nimmt mehrere Variablen von Außen entgegen und filtert sie optional
  • Types of filters
  • Informationen über den Callback-Typ

filter_var_array
Function Handling
Filter-Funktionen


Function Handling

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Function handling Funktionen
    • call_user_func_array — Call a callback with an array of parameters
    • call_user_func — Aufruf der Callback-Funktion die als erster Parameter übergeben wurde
    • create_function — Erzeugen einer anonymen (Lambda-Stil) Funktion
    • forward_static_call_array — Call a static method and pass the arguments as array
    • forward_static_call — Call a static method
    • func_get_arg — Liefert ein bestimmtes Funktionsargument
    • func_get_args — Liefert Funktionsargumente als Array
    • func_num_args — Liefert die Anzahl der an eine Funktion übergebenen Argumente
    • function_exists — Falls die angegebene Funktion definiert ist, wird TRUE zurück gegeben
    • get_defined_functions — Liefert ein Array aller definierten Funktionen
    • register_shutdown_function — Registriert eine Funktion zur Ausführung beim Skript-Abschluss
    • register_tick_function — Register a function for execution on each tick
    • unregister_tick_function — De-register a function for execution on each tick
filter_var
Einführung
Variablen- und typbezogene Erweiterungen


Einführung

Alle hier aufgeführten Funktionen führen Aufgaben im Umgang mit Funktionen selbst aus.

Function Handling
Installation/Konfiguration
Function Handling


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Function Handling


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
Function handling Funktionen
Function Handling


Function handling Funktionen

Inhaltsverzeichnis

  • call_user_func_array — Call a callback with an array of parameters
  • call_user_func — Aufruf der Callback-Funktion die als erster Parameter übergeben wurde
  • create_function — Erzeugen einer anonymen (Lambda-Stil) Funktion
  • forward_static_call_array — Call a static method and pass the arguments as array
  • forward_static_call — Call a static method
  • func_get_arg — Liefert ein bestimmtes Funktionsargument
  • func_get_args — Liefert Funktionsargumente als Array
  • func_num_args — Liefert die Anzahl der an eine Funktion übergebenen Argumente
  • function_exists — Falls die angegebene Funktion definiert ist, wird TRUE zurück gegeben
  • get_defined_functions — Liefert ein Array aller definierten Funktionen
  • register_shutdown_function — Registriert eine Funktion zur Ausführung beim Skript-Abschluss
  • register_tick_function — Register a function for execution on each tick
  • unregister_tick_function — De-register a function for execution on each tick
Vordefinierte Konstanten
call_user_func_array
Function Handling


Call a callback with an array of parameters

Function handling Funktionen
call_user_func
Function handling Funktionen
PHP Manual

call_user_func_array

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

call_user_func_array — Call a callback with an array of parameters

Beschreibung

mixed call_user_func_array ( callable $callback , array $param_arr )

Calls the callback given by the first parameter with the parameters in param_arr.

Parameter-Liste

callback

The callable to be called.

param_arr

The parameters to be passed to the callback, as an indexed array.

Rückgabewerte

Returns the return value of the callback, or FALSE on error.

Changelog

Version | Beschreibung
5.3.0 | The interpretation of object oriented keywords like parent and self has changed. Previously, calling them using the double colon syntax would emit an E_STRICT warning because they were interpreted as static.

Beispiele

Beispiel #1 call_user_func_array() example

<?php
function foobar($arg, $arg2) {
    echo __FUNCTION__, " got $arg and $arg2\n";
}
class foo {
    function bar($arg, $arg2) {
        echo __METHOD__, " got $arg and $arg2\n";
    }
}

// Call the foobar() function with 2 arguments
call_user_func_array("foobar", array("one", "two"));

// Call the $foo->bar() method with 2 arguments
$foo = new foo;
call_user_func_array(array($foo, "bar"), array("three", "four"));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

foobar got one and two
foo::bar got three and four

Beispiel #2 call_user_func_array() using namespace name

<?php

namespace Foobar;

class Foo {
    static public function test($name) {
        print "Hello {$name}!\n";
    }
}

// As of PHP 5.3.0
call_user_func_array(__NAMESPACE__ .'\Foo::test', array('Hannes'));

// As of PHP 5.3.0
call_user_func_array(array(__NAMESPACE__ .'\Foo', 'test'), array('Philip'));

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Hello Hannes!
Hello Philip!

Beispiel #3 Using lambda function

<?php

$func = function($arg1, $arg2) {
    return $arg1 * $arg2;
};

var_dump(call_user_func_array($func, array(2, 4))); /* As of PHP 5.3.0 */

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(8)

Beispiel #4 Passing values by reference

<?php

function mega(&$a){
    $a = 55;
    echo "function mega \$a=$a\n";
}
$bar = 77;
call_user_func_array('mega',array(&$bar));
echo "global \$bar=$bar\n";

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

function mega $a=55
global $bar=55

Anmerkungen

Hinweis:

Before PHP 5.4, referenced variables in param_arr are passed to the function by reference, regardless of whether the function expects the respective parameter to be passed by reference. This form of call-time pass by reference does not emit a deprecation notice, but it is nonetheless deprecated, and has been removed in PHP 5.4. Furthermore, this does not apply to internal functions, for which the function signature is honored. Passing by value when the function expects a parameter by reference results in a warning and having call_user_func() return FALSE (there is, however, an exception for passed values with reference count = 1, such as in literals, as these can be turned into references without ill effects — but also without writes to that value having any effect —; do not rely in this behavior, though, as the reference count is an implementation detail and the soundness of this behavior is questionable).

Hinweis:

Callbacks, die für Funktionen wie call_user_func() und call_user_func_array() registriert sind, werden nicht mehr ausgeführt, wenn in einem vorherigen Callback eine Exception geworfen und nicht gefangen wurde.

Siehe auch

  • call_user_func() - Aufruf der Callback-Funktion die als erster Parameter übergeben wurde
  • Informationen über den Callback-Typ
  • ReflectionFunction::invokeArgs() - Invokes function args
  • ReflectionMethod::invokeArgs() - Invoke args

Function handling Funktionen
call_user_func
Function handling Funktionen


Aufruf der Callback-Funktion die als erster Parameter übergeben wurde

call_user_func_array
create_function
Function handling Funktionen
PHP Manual

call_user_func

(PHP 4, PHP 5, PHP 7)

call_user_func — Aufruf der Callback-Funktion die als erster Parameter übergeben wurde

Beschreibung

mixed call_user_func ( callable $callback [, mixed $parameter [, mixed $... ]] )

Ruft die Funktion Callback die als erster Parameter übergeben wurde auf und über gibt dieser alle weiteren Parameter als Argumente.

Parameter-Liste

callback

Das aufzurufende callable.

parameter

Null oder mehr Parameter, die an die Callback-Funktion übergeben werden sollen

Hinweis:

Beachten Sie, dass die Parameter von call_user_func() nicht als Referenzen übergeben werden.

Beispiel #1 call_user_func()-Beispiel und Referenzen

<?php
error_reporting(E_ALL);
function increment(&$var)
{
    $var++;
}

$a = 0;
call_user_func('increment', $a);
echo $a."\n";

// Stattdessen kann dies verwendet werden
call_user_func_array('increment', array(&$a));
echo $a."\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

0
1

Rückgabewerte

Gibt den Rückgabewert des Callbacks zurück oder im Fehlerfall FALSE

Changelog

Version | Beschreibung
5.3.0 | Die Interpretation von objektorientierten Schlüsselwörtern wie parent oder self hat sich geändert. In früheren Versionen hat ein Aufruf davon mit einem Doppel-Doppelpunkt eine Warnung der Stufe E_STRICT hervorgerufen, weil diese als statisch interpretiert wurden.

Beispiele

Beispiel #2 call_user_func()-Beispiel

<?php
function friseur($type)
{
    echo "Sie möchten einen $type-Kopf, kein Problem\n";
}
call_user_func('friseur', "Bubi");
call_user_func('friseur', "Pilz");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Sie möchten einen Bubi-Kopf, kein Problem
Sie möchten einen Pilz-Kopf, kein Problem

Beispiel #3 call_user_func() mit Namespacenamen

<?php

namespace Foobar;

class Foo {
    static public function test() {
        print "Hello world!\n";
    }
}

call_user_func(__NAMESPACE__ .'\Foo::test'); // Seit PHP 5.3.0
call_user_func(array(__NAMESPACE__ .'\Foo', 'test')); // Seit PHP 5.3.0

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Hello world!
Hello world!

Beispiel #4 Verwenden einer Klassenmethode mit call_user_func()

<?php

class myclass {
    static function say_hello()
    {
        echo "Hello!\n";
    }
}

$classname = "myclass";

call_user_func(array($classname, 'say_hello'));
call_user_func($classname .'::say_hello'); // Seit 5.2.3

$myobject = new myclass();

call_user_func(array($myobject, 'say_hello'));

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Hello!
Hello!
Hello!

Beispiel #5 Verwendung von Lambdafunktionen mit call_user_func()

<?php
call_user_func(function($arg) { print "[$arg]\n"; }, 'test'); /* Seit PHP 5.3.0 */
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

[test]

Anmerkungen

Hinweis:

Callbacks, die für Funktionen wie call_user_func() und call_user_func_array() registriert sind, werden nicht mehr ausgeführt, wenn in einem vorherigen Callback eine Exception geworfen und nicht gefangen wurde.

Siehe auch

  • call_user_func_array() - Call a callback with an array of parameters
  • is_callable() - Prüft ob der Inhalt einer Variable als Funktion aufgerufen werden kann
  • Informationen über den Callback-Typ
  • ReflectionFunction::invoke() - Invokes function
  • ReflectionMethod::invoke() - Invoke

call_user_func_array
create_function
Function handling Funktionen


Erzeugen einer anonymen (Lambda-Stil) Funktion

call_user_func
forward_static_call_array
Function handling Funktionen
PHP Manual

create_function

(PHP 4 >= 4.0.1, PHP 5, PHP 7)

create_function — Erzeugen einer anonymen (Lambda-Stil) Funktion

Beschreibung

string create_function ( string $args , string $code )

Erzeugt eine anonyme Funktion anhand der übergebenen Parameter und gibt einen eindeutigen Namen für diese zurück.

Achtung

Diese Funktion führt intern eval() aus und hat daher die gleichen Sicherheitsprobleme die eval() hat. Außerdem zeigt diese Funktion schlechtes Verhalten in anbetracht von Ausführungsgeschwindigkeit und Speicherverbrauch.

Wenn Sie PHP 5.3.0 oder neuer einsetzen sollten Sie stattdessen die nativ vorhandenen anonymen Funktionen verwenden.

Parameter-Liste

Normalerweise werden die Parameter als mit einfachen Anführungszeichen begrenzte Strings übergeben. Der Grund für die Verwendung von einfachen Anführungszeichen ist der Schutz der Variablen vor dem Parsen. Falls sie doppelte Anführungszeichen verwenden, müssen sie die Variablen-Namen escapen, wie z.B. \$avar.

args

Die Funktionsparameter.

code

Der Code der Funktion.

Rückgabewerte

Gibt einen eindeutigen Funktionsnamen als String oder FALSE im Fehlerfall zurück.

Beispiele

Beispiel #1 Erzeugen einer anonymen Funktion per create_function()

Dieser Befehl kann z.B. verwendet werden, um eine Funktion anhand von Informationen zu erzeugen, die erst zur Laufzeit vorliegen.

<?php
$newfunc = create_function('$a,$b', 'return "ln($a) + ln($b) = " . log($a * $b);');
echo "Neue anonyme Funktion: $newfunc\n";
echo $newfunc(2, M_E) . "\n";
// Ausgabe:
// Neue anonyme Funktion: lambda_1
// ln(2) + ln(2.718281828459) = 1.6931471805599
?>

Sie können auch eine allgemeine Handler-Funktion erstellen, die einen mehr oder weniger große Anzahl an Operationen mit einer Liste von Parametern durchführt:

Beispiel #2 Erzeugung einer generellen Bearbeitungsfunktion mit create_function()

<?php
function process($var1, $var2, $farr)
{
    foreach ($farr as $f) {
        echo $f($var1, $var2) . "\n";
    }
}

// Nun erzeugen wir eine Sammlung von mathematischen Funktionen
$f1 = 'if ($a >=0) {return "b*a^2 = ".$b*sqrt($a);} else {return false;}';
$f2 = "return \"min(b^2+a, a^2,b) = \".min(\$a*\$a+\$b,\$b*\$b+\$a);";
$f3 = 'if ($a > 0 && $b != 0) {return "ln(a)/b = ".log($a)/$b; } else { return false; }';
$farr = array(
    create_function('$x,$y', 'return "etwas Trigonometrie: ".(sin($x) + $x*cos($y));'),
    create_function('$x,$y', 'return "eine Hypotenuse: ".sqrt($x*$x + $y*$y);'),
    create_function('$a,$b', $f1),
    create_function('$a,$b', $f2),
    create_function('$a,$b', $f3)
    );

echo "\nWir benutzen nun das erste Array mit anonymen Funktionen\n";
echo "Parameter: 2.3445, M_PI\n";
process(2.3445, M_PI, $farr);

// Nun erzeugen wir eine Sammlung von Funktionen zur Bearbeitung von Zeichenketten
$garr = array(
    create_function('$b,$a', 'if (strncmp($a, $b, 3) == 0) return "** \"$a\" '.
    'und \"$b\"\n** Sehen für mich ähnlich aus! (unter Betrachtung der ersten 3 Zeichen)";'),
    create_function('$a,$b', '; return "CRCs: " . crc32($a) . ", ".crc32($b);'),
    create_function('$a,$b', '; return "similar(a,b) = " . similar_text($a, $b, &$p) . "($p%)";')
    );
echo "\nWir benutzen nun das zweite Array mit anonymen Funktionen\n";
process("Twas brilling and the slithy toves", "Twas the night", $garr);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Wir benutzen nun das erste Array mit anonymen Funktionen
Parameter: 2.3445, M_PI
etwas Trigonometrie: -1.6291725057799
eine Hypotenuse: 3.9199852871011
b*a^2 = 4.8103313314525
min(b^2+a, a^2,b) = 8.6382729035898
ln(a)/b = 0.27122299212594

Wir benutzen nun das zweite Array mit anonymen Funktionen
** "Twas the night" und "Twas brilling and the slithy toves"
** Sehen für mich ähnlich aus! (unter Betrachtung der ersten 3 Zeichen)
CRCs: -725381282, 342550513
similar(a,b) = 11(45.833333333333%)

Aber wahrscheinlich liegt der häufigste Anwendungsfall für Funktionen im Lambda-Stil (anonym) bei den Callback-Funktionen, also z.B. beim Gebrauch von array_walk() oder usort().

Beispiel #3 Gebrauch der anonymen Funktionen als Callback-Funktion

<?php
$av = array("the ", "a ", "that ", "this ");
array_walk($av, create_function('&$v,$k', '$v = $v . "mango";'));
print_r($av);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
  [0] => the mango
  [1] => a mango
  [2] => that mango
  [3] => this mango
)

Ein Array con Zeichenketten sortiert von der kürzesten zur längsten

<?php

$sv = array("small", "larger", "a big string", "it is a string thing");
print_r($sv);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
  [0] => small
  [1] => larger
  [2] => a big string
  [3] => it is a string thing
)

Sortiert von der Längsten zur Kürzesten

<?php

usort($sv, create_function('$a,$b','return strlen($b) - strlen($a);'));
print_r($sv);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
  [0] => it is a string thing
  [1] => a big string
  [2] => larger
  [3] => small
)

Siehe auch

  • Anonyme Funktionen

call_user_func
forward_static_call_array
Function handling Funktionen


Call a static method and pass the arguments as array

create_function
forward_static_call
Function handling Funktionen
PHP Manual

forward_static_call_array

(PHP 5 >= 5.3.0, PHP 7)

forward_static_call_array — Call a static method and pass the arguments as array

Beschreibung

mixed forward_static_call_array ( callable $function , array $parameters )

Calls a user defined function or method given by the function parameter. This function must be called within a method context, it can't be used outside a class. It uses the late static binding. All arguments of the forwarded method are passed as values, and as an array, similarly to call_user_func_array().

Parameter-Liste

function

The function or method to be called. This parameter may be an array, with the name of the class, and the method, or a string, with a function name.

parameter

One parameter, gathering all the method parameter in one array.

Hinweis:

Note that the parameters for forward_static_call_array() are not passed by reference.

Rückgabewerte

Returns the function result, or FALSE on error.

Beispiele

Beispiel #1 forward_static_call_array() example

<?php

class A
{
    const NAME = 'A';
    public static function test() {
        $args = func_get_args();
        echo static::NAME, " ".join(',', $args)." \n";
    }
}

class B extends A
{
    const NAME = 'B';

    public static function test() {
        echo self::NAME, "\n";
        forward_static_call_array(array('A', 'test'), array('more', 'args'));
        forward_static_call_array( 'test', array('other', 'args'));
    }
}

B::test('foo');

function test() {
        $args = func_get_args();
        echo "C ".join(',', $args)." \n";
    }

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

B
B more,args
C other,args

Siehe auch

  • forward_static_call() - Call a static method
  • call_user_func() - Aufruf der Callback-Funktion die als erster Parameter übergeben wurde
  • call_user_func_array() - Call a callback with an array of parameters
  • is_callable() - Prüft ob der Inhalt einer Variable als Funktion aufgerufen werden kann
  • Informationen über den Callback-Typ

create_function
forward_static_call
Function handling Funktionen


Call a static method

forward_static_call_array
func_get_arg
Function handling Funktionen
PHP Manual

forward_static_call

(PHP 5 >= 5.3.0, PHP 7)

forward_static_call — Call a static method

Beschreibung

mixed forward_static_call ( callable $function [, mixed $parameter [, mixed $... ]] )

Calls a user defined function or method given by the function parameter, with the following arguments. This function must be called within a method context, it can't be used outside a class. It uses the late static binding.

Parameter-Liste

function

The function or method to be called. This parameter may be an array, with the name of the class, and the method, or a string, with a function name.

parameter

Zero or more parameters to be passed to the function.

Rückgabewerte

Returns the function result, or FALSE on error.

Beispiele

Beispiel #1 forward_static_call() example

<?php

class A
{
    const NAME = 'A';
    public static function test() {
        $args = func_get_args();
        echo static::NAME, " ".join(',', $args)." \n";
    }
}

class B extends A
{
    const NAME = 'B';

    public static function test() {
        echo self::NAME, "\n";
        forward_static_call(array('A', 'test'), 'more', 'args');
        forward_static_call( 'test', 'other', 'args');
    }
}

B::test('foo');

function test() {
        $args = func_get_args();
        echo "C ".join(',', $args)." \n";
    }

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

B
B more,args
C other,args

Siehe auch

  • forward_static_call_array() - Call a static method and pass the arguments as array
  • call_user_func_array() - Call a callback with an array of parameters
  • call_user_func() - Aufruf der Callback-Funktion die als erster Parameter übergeben wurde
  • is_callable() - Prüft ob der Inhalt einer Variable als Funktion aufgerufen werden kann
  • Informationen über den Callback-Typ

forward_static_call_array
func_get_arg
Function handling Funktionen


Liefert ein bestimmtes Funktionsargument

forward_static_call
func_get_args
Function handling Funktionen
PHP Manual

func_get_arg

(PHP 4, PHP 5, PHP 7)

func_get_arg — Liefert ein bestimmtes Funktionsargument

Beschreibung

mixed func_get_arg ( int $arg_num )

Liefert das mit arg_num angegebene Argument aus der Liste der Argumente einer benutzerdefinierten Funktion.

Diese Funktion kann zusammen mit func_get_args() und func_num_args() genutzt werden um benutzerdefinierte Funktionen mit einer variablen Anzahl von Argumenten zu implementieren.

Parameter-Liste

arg_num

Der Offset des Arguments. Funktionsargumente werden mit 0 beginnend gezählt.

Rückgabewerte

Liefert das gewünschte Argument oder FALSE bei Fehlern.

Changelog

Version | Beschreibung
5.3.0 | Diese Funktion kann nun auch in Parameterlisten genutzt werden.
5.3.0 | Wird diese Funktion aus dem äußersten Geltungsbereich einer Datei aufgerufen, die durch den Aufruf von include oder require innerhalb einer Funktion in der aufrufenden Datei inkludiert wurde, wird nun eine Warnung generiert und FALSE zurückgegeben.

Fehler/Exceptions

Die Funktion generiert eine Warnung wenn sie außerhalb einer benutzerdefinierten Funktion aufgerufen wird oder wenn arg_num größer ist als die Anzahl der tatsächlich übergebenen Argumente.

Beispiele

Beispiel #1 func_get_arg() Beispiel

<?php
function foo()
{
     $numargs = func_num_args();
     echo "Anzahl der Funktionsargumente: $numargs\n";
     if ($numargs >= 2) {
         echo "Das zweite Argument ist: " . func_get_arg(1) . "\n";
     }
}

foo(1, 2, 3);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Anzahl der Funktionsargumente: 3
Das zweite Argument ist: 2

Beispiel #2 func_get_arg() Beispiel vor and nach PHP 5.3

test.php
<?php
function foo() {
    include './fga.inc';
}

foo('Erstes Argument', 'Zweites Argument');
?>

fga.inc
<?php

$arg = func_get_arg(1);
var_export($arg);

?>

Ausgabe vor PHP 5.3:

'Zweites Argument'

Ausgabe in PHP 5.3 und neuer:

Warning: func_get_arg():  Called from the global scope - no function
context in /home/torben/Desktop/code/ml/fga.inc on line 3
false

Beispiel #3 func_get_arg() Beispiel zu byref und byval Argumenten

<?php
function byVal($arg) {
    echo 'Wie übergeben : ', var_export(func_get_arg(0)), PHP_EOL;
    $arg = 'baz';
    echo 'Nach Änderung : ', var_export(func_get_arg(0)), PHP_EOL;
}

function byRef(&$arg) {
    echo 'Wie übergeben : ', var_export(func_get_arg(0)), PHP_EOL;
    $arg = 'baz';
    echo 'Nach Änderung : ', var_export(func_get_arg(0)), PHP_EOL;
}

$arg = 'bar';
byVal($arg);
byRef($arg);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Wie übergeben : 'bar'
Nach Änderung : 'bar'
Wie übergeben : 'bar'
Nach Änderung : 'baz'

Anmerkungen

Hinweis:

Da diese Funktion bei der Ermittlung der Parameterdetails von dem aktuellen Ausführungskontext abhängt, kann sie in PHP-Versionen vor 5.3.0 selbst nicht als Funktionsparameter genutzt werden. Wenn Sie ihre Ergebnisse tatsächlich weitergeben müssen, so müssen Sie diese zunächst einer Variablen zuweisen und dann diese Variable übergeben

Hinweis:

Wenn die Parameter als Referenzen übergeben werden, so finden sich alle Änderungen an diesen Parametern in den Rückgabewerten dieser Funktion wieder.

Hinweis: Diese Funktion liefert eine Kopie des übergebenen Arguments. Sie hat nur Zugriff auf tatsächlich übergebene Argumente, Vorgabewerte von Parametern sind für sie nicht sichtbar.

Siehe auch

  • ... syntax in PHP 5.6+
  • func_get_args()
  • func_num_args()

forward_static_call
func_get_args
Function handling Funktionen


Liefert Funktionsargumente als Array

func_get_arg
func_num_args
Function handling Funktionen
PHP Manual

func_get_args

(PHP 4, PHP 5, PHP 7)

func_get_args — Liefert Funktionsargumente als Array

Beschreibung

array func_get_args ( void )

Liefert die der aufrufenden Funktion übergebenen Argumente als Array.

Die Funktion kann zusammen mit func_get_arg() und func_get_args() genutzt werden um Funktionen mit einer variablen Anzahl von Argumenten zu implementieren.

Rückgabewerte

Liefert ein Array mit Kopien aller Argumente mit denen die aufrufende Funktion aufgerufen wurde.

Changelog

Version | Beschreibung
5.3.0 | Diese Funktion kann nun auch in Parameterlisten genutzt werden.

Fehler/Exceptions

Die Funktion generiert eine Warnung wenn sie außerhalb einer benutzerdefinierten Funktion aufgerufen wird.

Beispiele

Beispiel #1 func_get_args() Beispiel

<?php
function foo()
{
    $numargs = func_num_args();
    echo "Anzahl der Argumente: $numargs<br />\n";
    if ($numargs >= 2) {
        echo "Das zweite Argument ist: " . func_get_arg(1) . "<br />\n";
    }
    $arg_list = func_get_args();
    for ($i = 0; $i < $numargs; $i++) {
        echo "Argument $i ist: " . $arg_list[$i] . "<br />\n";
    }
}

foo(1, 2, 3);
?>

Anmerkungen

Hinweis:

Da diese Funktion bei der Ermittlung der Parameterdetails von dem aktuellen Ausführungskontext abhängt, kann sie in PHP-Versionen vor 5.3.0 selbst nicht als Funktionsparameter genutzt werden. Wenn Sie ihre Ergebnisse tatsächlich weitergeben müssen, so müssen Sie diese zunächst einer Variablen zuweisen und dann diese Variable übergeben

Hinweis: This function returns a copy of the passed arguments only, and does not account for default (non-passed) arguments.

Siehe auch

  • func_get_arg() - Liefert ein bestimmtes Funktionsargument
  • func_num_args() - Liefert die Anzahl der an eine Funktion übergebenen Argumente

func_get_arg
func_num_args
Function handling Funktionen


Liefert die Anzahl der an eine Funktion übergebenen Argumente

func_get_args
function_exists
Function handling Funktionen
PHP Manual

func_num_args

(PHP 4, PHP 5, PHP 7)

func_num_args — Liefert die Anzahl der an eine Funktion übergebenen Argumente

Beschreibung

int func_num_args ( void )

Liefert die Anzahl der Argumente die an die aufrufende Funktion übergeben wurden.

Diese Funktion kann zusammen mit func_get_arg() und func_get_args() genutzt werden um Funktionen mit einer variablen Anzahl von Argumenten zu implementieren.

Rückgabewerte

Liefert die Anzahl der Argumente die beim Aufruf an die aufrufenden Funktion übergeben wurden.

Changelog

Version | Beschreibung
5.3.0 | Diese Funktion kann nun auch in Parameterlisten genutzt werden.

Fehler/Exceptions

Die Funktion generiert eine Warnung wenn sie von außerhalb einer benutzerdefinierten Funktion aufgerufen wird.

Beispiele

Beispiel #1 func_num_args() Beispiel

<?php
function foo()
{
    $numargs = func_num_args();
    echo "Anzahl der Argumente: $numargs\n";
}

foo(1, 2, 3);    // Ergebnis: 'Anzahl der Argumente: 3'
?>

Anmerkungen

Hinweis:

Da diese Funktion bei der Ermittlung der Parameterdetails von dem aktuellen Ausführungskontext abhängt, kann sie in PHP-Versionen vor 5.3.0 selbst nicht als Funktionsparameter genutzt werden. Wenn Sie ihre Ergebnisse tatsächlich weitergeben müssen, so müssen Sie diese zunächst einer Variablen zuweisen und dann diese Variable übergeben

Siehe auch

  • func_get_arg() - Liefert ein bestimmtes Funktionsargument
  • func_get_args() - Liefert Funktionsargumente als Array

func_get_args
function_exists
Function handling Funktionen


Falls die angegebene Funktion definiert ist, wird TRUE zurück gegeben

func_num_args
get_defined_functions
Function handling Funktionen
PHP Manual

function_exists

(PHP 4, PHP 5, PHP 7)

function_exists — Falls die angegebene Funktion definiert ist, wird TRUE zurück gegeben

Beschreibung

bool function_exists ( string $function_name )

Prüft in der Liste der definierten Funktionen (enthält sowohl die in PHP eingebauten als auch die vom Benutzer selbst geschriebenen Funktionen), ob eine Funktion mit dem Namen function_name existiert.

Parameter-Liste

function_name

Der Funktionsname (als String).

Rückgabewerte

Gibt TRUE zurück, wenn function_name existiert und es sich um eine Funktion handelt, sonst FALSE.

Hinweis:

Diese Funktion gibt FALSE für Sprachkonstrukte wie include_once und echo zurück.

Beispiele

Beispiel #1 function_exists()-Beispiel

<?php
if (function_exists('imap_open')) {
    echo "IMAP-Funktionen sind verfügbar.<br />\n";
} else {
    echo "IMAP-Funktionen sind nicht verfügbar.<br />\n";
}
?>

Anmerkungen

Hinweis:

Bitte beachten Sie, dass ein Funktionsname existieren kann, auch wenn die Funktion selbst nicht genutzt werden kann, weil Konfigurations- oder Kompilierungsoptionen dies verhindern können (z.B. kann dies der Fall bei den Grafik-Funktionen sein).

Siehe auch

  • method_exists() - Prüft ob eine Methode innerhalb eines Objekts existiert
  • is_callable() - Prüft ob der Inhalt einer Variable als Funktion aufgerufen werden kann
  • get_defined_functions() - Liefert ein Array aller definierten Funktionen
  • class_exists() - Checks if the class has been defined
  • extension_loaded() - Prüft ob eine Extension geladen ist

func_num_args
get_defined_functions
Function handling Funktionen


Liefert ein Array aller definierten Funktionen

function_exists
register_shutdown_function
Function handling Funktionen
PHP Manual

get_defined_functions

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

get_defined_functions — Liefert ein Array aller definierten Funktionen

Beschreibung

array get_defined_functions ( void )

Liefert ein Array aller definierten Funktionen

Rückgabewerte

Liefert ein multidimensionales Array mit der Liste aller definierten internen und benutzerdefinierten Funktionen. Die internen Funktionen finden sich im Unterarray $arr["internal"], die benutzerdefinierten in $arr["user"] (siehe auch das folgende Beispiel). below).

Beispiele

Beispiel #1 get_defined_functions() Beispiel

<?php
function myrow($id, $data)
{
    return "<tr><th>$id</th><td>$data</td></tr>\n";
}

$arr = get_defined_functions();

print_r($arr);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [internal] => Array
        (
            [0] => zend_version
            [1] => func_num_args
            [2] => func_get_arg
            [3] => func_get_args
            [4] => strlen
            [5] => strcmp
            [6] => strncmp
            ...
            [750] => bcscale
            [751] => bccomp
        )

    [user] => Array
        (
            [0] => myrow
        )

)

Siehe auch

  • function_exists() - Falls die angegebene Funktion definiert ist, wird TRUE zurück gegeben
  • get_defined_vars() - Gibt ein Array aller definierten Variablen zurück
  • get_defined_constants() - Returns an associative array with the names of all the constants and their values
  • get_declared_classes() - Ermittelt die Namen der definierten Klassen

function_exists
register_shutdown_function
Function handling Funktionen


Registriert eine Funktion zur Ausführung beim Skript-Abschluss

get_defined_functions
register_tick_function
Function handling Funktionen
PHP Manual

register_shutdown_function

(PHP 4, PHP 5, PHP 7)

register_shutdown_function — Registriert eine Funktion zur Ausführung beim Skript-Abschluss

Beschreibung

void register_shutdown_function ( callable $callback [, mixed $parameter [, mixed $... ]] )

Registriert ein callback, welches ausgeführt werden soll, sobald die Ausführung des Scripts beendet ist oder exit() aufgerufen wurde.

register_shutdown_function() kann mehrmals hintereinander aufgerufen werden, in welchem Fall die Callbacks später in der selben Reihenfolge aufgerufen werden, wie sie registriert wurden. Wenn exit() innerhalb eines Shutdown Callbacks aufgerufen wird, bricht die Ausführung vollständig ab und keine weiteren Callbacks werden ausgeführt.

Parameter-Liste

callback

Das Shutdown Callback, welches registriert werden soll.

Die Callbacks werden als Teil der Anfrage ausgeführt, d.h. es ist möglich Ausgaben zu machen und auf Output Buffer zuzugreifen.

parameter

Alle weiteren Argumente, die dieser Funktion übergeben werden, werden auch den Callbacks beim Aufruf übergeben.

...

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

Wenn das übergebene Callback nicht aufrufbar ist, wird ein E_WARNING geworfen.

Beispiele

Beispiel #1 register_shutdown_function() Beispiel

<?php
function shutdown()
{
    // Das ist unsere Shutdown Funktion, in welcher
    // wir noch letzte Anweisungen ausführen können
    // bevor die Ausführung beendet wird.

    echo 'Script executed with success', PHP_EOL;
}

register_shutdown_function('shutdown');
?>

Anmerkungen

Hinweis:

Das Arbeitsverzeichnis des Scripts kann sich bei manchen Webservern wie Apache innerhalb des Shutdown Callbacks ändern.

Hinweis:

Shutdown-Funktionen werden nicht ausgeführt, wenn der Prozess mit einem SIGTERM oder SIGKILL Signal terminiert wurde. Während es nicht möglich ist ein SIGKILL Signal abzufangen, kann die pcntl_signal() genutzt werden, um einen Handler für SIGTERM zu registrieren.

Siehe auch

  • auto_append_file
  • exit() - Gibt eine Meldung aus und beendet das aktuelle Skript
  • Die Sektion über Verbindungssteuerung

get_defined_functions
register_tick_function
Function handling Funktionen


Register a function for execution on each tick

register_shutdown_function
unregister_tick_function
Function handling Funktionen
PHP Manual

register_tick_function

(PHP 4 >= 4.0.3, PHP 5, PHP 7)

register_tick_function — Register a function for execution on each tick

Beschreibung

bool register_tick_function ( callable $function [, mixed $arg [, mixed $... ]] )

Registers the given function to be executed when a tick is called.

Parameter-Liste

function

The function name as a string, or an array consisting of an object and a method.

arg

...

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 register_tick_function() example

<?php
declare(ticks=1);

// using a function as the callback
register_tick_function('my_function', true);

// using an object->method
$object = new my_class();
register_tick_function(array(&$object, 'my_method'), true);
?>

Changelog

Version | Beschreibung
5.3.0 | Ticks are now supported on threaded web server modules.

Anmerkungen

Warnung

register_tick_function() should not be used with threaded web server modules with PHP 5.2 or lower.

Siehe auch

  • declare
  • unregister_tick_function() - De-register a function for execution on each tick

register_shutdown_function
unregister_tick_function
Function handling Funktionen


De-register a function for execution on each tick

register_tick_function
Quickhash
Function handling Funktionen
PHP Manual

unregister_tick_function

(PHP 4 >= 4.0.3, PHP 5, PHP 7)

unregister_tick_function — De-register a function for execution on each tick

Beschreibung

void unregister_tick_function ( string $function_name )

De-registers the function named by function_name so it is no longer executed when a tick is called.

Parameter-Liste

function_name

The function name, as a string.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • register_tick_function() - Register a function for execution on each tick

register_tick_function
Quickhash
Function handling Funktionen


Quickhash

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
  • Vordefinierte Konstanten
  • Beispiele
  • QuickHashIntSet — The QuickHashIntSet class
    • QuickHashIntSet::add — This method adds a new entry to the set
    • QuickHashIntSet::__construct — Creates a new QuickHashIntSet object
    • QuickHashIntSet::delete — This method deletes an entry from the set
    • QuickHashIntSet::exists — This method checks whether a key is part of the set
    • QuickHashIntSet::getSize — Returns the number of elements in the set
    • QuickHashIntSet::loadFromFile — This factory method creates a set from a file
    • QuickHashIntSet::loadFromString — This factory method creates a set from a string
    • QuickHashIntSet::saveToFile — This method stores an in-memory set to disk
    • QuickHashIntSet::saveToString — This method returns a serialized version of the set
  • QuickHashIntHash — The QuickHashIntHash class
    • QuickHashIntHash::add — This method adds a new entry to the hash
    • QuickHashIntHash::__construct — Creates a new QuickHashIntHash object
    • QuickHashIntHash::delete — This method deletes am entry from the hash
    • QuickHashIntHash::exists — This method checks whether a key is part of the hash
    • QuickHashIntHash::get — This method retrieves a value from the hash by its key
    • QuickHashIntHash::getSize — Returns the number of elements in the hash
    • QuickHashIntHash::loadFromFile — This factory method creates a hash from a file
    • QuickHashIntHash::loadFromString — This factory method creates a hash from a string
    • QuickHashIntHash::saveToFile — This method stores an in-memory hash to disk
    • QuickHashIntHash::saveToString — This method returns a serialized version of the hash
    • QuickHashIntHash::set — This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist
    • QuickHashIntHash::update — This method updates an entry in the hash with a new value
  • QuickHashStringIntHash — The QuickHashStringIntHash class
    • QuickHashStringIntHash::add — This method adds a new entry to the hash
    • QuickHashStringIntHash::__construct — Creates a new QuickHashStringIntHash object
    • QuickHashStringIntHash::delete — This method deletes am entry from the hash
    • QuickHashStringIntHash::exists — This method checks whether a key is part of the hash
    • QuickHashStringIntHash::get — This method retrieves a value from the hash by its key
    • QuickHashStringIntHash::getSize — Returns the number of elements in the hash
    • QuickHashStringIntHash::loadFromFile — This factory method creates a hash from a file
    • QuickHashStringIntHash::loadFromString — This factory method creates a hash from a string
    • QuickHashStringIntHash::saveToFile — This method stores an in-memory hash to disk
    • QuickHashStringIntHash::saveToString — This method returns a serialized version of the hash
    • QuickHashStringIntHash::set — This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist
    • QuickHashStringIntHash::update — This method updates an entry in the hash with a new value
  • QuickHashIntStringHash — The QuickHashIntStringHash class
    • QuickHashIntStringHash::add — This method adds a new entry to the hash
    • QuickHashIntStringHash::__construct — Creates a new QuickHashIntStringHash object
    • QuickHashIntStringHash::delete — This method deletes am entry from the hash
    • QuickHashIntStringHash::exists — This method checks whether a key is part of the hash
    • QuickHashIntStringHash::get — This method retrieves a value from the hash by its key
    • QuickHashIntStringHash::getSize — Returns the number of elements in the hash
    • QuickHashIntStringHash::loadFromFile — This factory method creates a hash from a file
    • QuickHashIntStringHash::loadFromString — This factory method creates a hash from a string
    • QuickHashIntStringHash::saveToFile — This method stores an in-memory hash to disk
    • QuickHashIntStringHash::saveToString — This method returns a serialized version of the hash
    • QuickHashIntStringHash::set — This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist
    • QuickHashIntStringHash::update — This method updates an entry in the hash with a new value
unregister_tick_function
Einführung
Variablen- und typbezogene Erweiterungen


Einführung

The quickhash extension contains a set of specific strongly-typed classes to deal with specific set and hash implementations.

Quickhash
Installation/Konfiguration
Quickhash


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
Einführung
Anforderungen
Quickhash


Anforderungen

This extension requires no additional libraries.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/quickhash

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Laufzeit-Konfiguration
Beispiele
Quickhash


Beispiele

Beispiel #1 Quickhash Example

<?php
$set = new QuickHashIntSet( 1024, QuickHashIntSet::CHECK_FOR_DUPES );
$set->add( 1 );
$set->add( 3 );

var_dump( $set->exists( 3 ) );
var_dump( $set->exists( 4 ) );

$set->saveToFile( "/tmp/test-set.set" );

$newSet = QuickHashIntSet::loadFromFile(
    "/tmp/test-set.set"
);

var_dump( $newSet->exists( 3 ) );
var_dump( $newSet->exists( 4 ) );
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(true)
bool(false)
bool(true)
bool(false)

Beispiel #2 Quickhash ArrayAccess Example

<?php
$hash = new QuickHashIntHash( 64 );

// Adding and updating hash entries.
$hash[3] = 145926;
$hash[3] = 1415926;
$hash[2] = 72;

// Checking if keys exist
var_dump( isset( $hash[3] ) );

// Removing hash entries
unset( $hash[2] );

// Retrieving the value stored for a hash
echo $hash[3], "\n";
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(true)
1415926

Beispiel #3 Quickhash Iterator Example

<?php
$hash = new QuickHashIntHash( 64 );

// Adding hash entries.
$hash[1] = 145926;
$hash[2] = 1415926;
$hash[3] = 72;
$hash[4] = 712314;
$hash[5] = -4234;

foreach( $hash as $key => $value )
{
    echo $key, ' => ', $value, "\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

5 => -4234
4 => 712314
1 => 145926
2 => 1415926
3 => 72

Beispiel #4 Quickhash String Values Example

<?php
$hash = new QuickHashIntStringHash( 64 );

// Adding hash entries.
$hash[1] = "one million four hundred fifteen thousand nine hundred twenty six";
$hash->add( 2, "one more" );

foreach( $hash as $key => $value )
{
    echo $key, ' => ', $value, "\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

1 => one million four hundred fifteen thousand nine hundred twenty six
2 => one more
Vordefinierte Konstanten
QuickHashIntSet
Quickhash


The QuickHashIntSet class

(PECL quickhash >= Unknown)

Einführung

This class wraps around a set containing integer numbers.

Sets can also be iterated over with foreach as the Iterator interface is implemented as well. The order of which elements are returned in is not guaranteed.

Klassenbeschreibung

QuickHashIntSet {
/* Constants */
const integer CHECK_FOR_DUPES = 1 ;
const integer DO_NOT_USE_ZEND_ALLOC = 2 ;
const integer HASHER_NO_HASH = 256 ;
const integer HASHER_JENKINS1 = 512 ;
const integer HASHER_JENKINS2 = 1024 ;
/* Methods */
public bool add ( int $key )
public __construct ( int $size [, int $options ] )
public bool delete ( int $key )
public bool exists ( int $key )
publicint getSize ( void )
public static QuickHashIntSet loadFromFile ( string $filename [, int $size [, int $options ]] )
public static QuickHashIntSet loadFromString ( string $contents [, int $size [, int $options ]] )
public void saveToFile ( string $filename )
public string saveToString ( void )
}

Vordefinierte Konstanten

QuickHashIntSet::CHECK_FOR_DUPES

If enabled, adding duplicate elements to a set (through either add() or loadFromFile()) will result in those elements to be dropped from the set. This will take up extra time, so only used when it is required.

QuickHashIntSet::DO_NOT_USE_ZEND_ALLOC

Disables the use of PHP's internal memory manager for internal set structures. With this option enabled, internal allocations will not count towards the memory_limit settings.

QuickHashIntSet::HASHER_NO_HASH

Selects to not use a hashing function, but merely use a modulo to find the bucket list index. This is not faster than normal hashing, and gives more collisions.

QuickHashIntSet::HASHER_JENKINS1

This is the default hashing function to turn the integer hashes into bucket list indexes.

QuickHashIntSet::HASHER_JENKINS2

Selects a variant hashing algorithm.

Inhaltsverzeichnis

  • QuickHashIntSet::add — This method adds a new entry to the set
  • QuickHashIntSet::__construct — Creates a new QuickHashIntSet object
  • QuickHashIntSet::delete — This method deletes an entry from the set
  • QuickHashIntSet::exists — This method checks whether a key is part of the set
  • QuickHashIntSet::getSize — Returns the number of elements in the set
  • QuickHashIntSet::loadFromFile — This factory method creates a set from a file
  • QuickHashIntSet::loadFromString — This factory method creates a set from a string
  • QuickHashIntSet::saveToFile — This method stores an in-memory set to disk
  • QuickHashIntSet::saveToString — This method returns a serialized version of the set
Beispiele
QuickHashIntSet::add
Quickhash


This method adds a new entry to the set

QuickHashIntSet
QuickHashIntSet::__construct
QuickHashIntSet
PHP Manual

QuickHashIntSet::add

(PECL quickhash >= Unknown)

QuickHashIntSet::add — This method adds a new entry to the set

Beschreibung

public bool QuickHashIntSet::add ( int $key )

This method adds a new entry to the set, and returns whether the entry was added. Entries are by default always added unless QuickHashIntSet::CHECK_FOR_DUPES has been passed when the set was created.

Parameter-Liste

key

The key of the entry to add.

Rückgabewerte

TRUE when the entry was added, and FALSE if the entry was not added.

Beispiele

Beispiel #1 QuickHashIntSet::add() example

<?php
echo "without dupe checking\n";
$set = new QuickHashIntSet( 1024 );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );

echo "\nwith dupe checking\n";
$set = new QuickHashIntSet( 1024, QuickHashIntSet::CHECK_FOR_DUPES );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

without dupe checking
bool(false)
bool(true)
bool(true)
bool(true)

with dupe checking
bool(false)
bool(true)
bool(true)
bool(false)

QuickHashIntSet
QuickHashIntSet::__construct
QuickHashIntSet


Creates a new QuickHashIntSet object

QuickHashIntSet::add
QuickHashIntSet::delete
QuickHashIntSet
PHP Manual

QuickHashIntSet::__construct

(PECL quickhash >= Unknown)

QuickHashIntSet::__construct — Creates a new QuickHashIntSet object

Beschreibung

public QuickHashIntSet::__construct ( int $size [, int $options ] )

This constructor creates a new QuickHashIntSet. The size is the amount of bucket lists to create. The more lists there are, the less collisions you will have. Options are also supported.

Parameter-Liste

size

The amount of bucket lists to configure. The number you pass in will be automatically rounded up to the next power of two. It is also automatically limited from 4 to 4194304.

options

The options that you can pass in are: QuickHashIntSet::CHECK_FOR_DUPES, which makes sure no duplicate entries are added to the set; QuickHashIntSet::DO_NOT_USE_ZEND_ALLOC to not use PHP's internal memory manager as well as one of QuickHashIntSet::HASHER_NO_HASH, QuickHashIntSet::HASHER_JENKINS1 or QuickHashIntSet::HASHER_JENKINS2. These last three configure which hashing algorithm to use. All options can be combined using bitmasks.

Rückgabewerte

Returns a new QuickHashIntSet object.

Beispiele

Beispiel #1 QuickHashIntSet::__construct() example

<?php
var_dump( new QuickHashIntSet( 1024 ) );
var_dump( new QuickHashIntSet( 1024, QuickHashIntSet::CHECK_FOR_DUPES ) );
var_dump(
    new QuickHashIntSet(
        1024,
        QuickHashIntSet::DO_NOT_USE_ZEND_ALLOC | QuickHashIntSet::HASHER_JENKINS2
    )
);
?>

QuickHashIntSet::add
QuickHashIntSet::delete
QuickHashIntSet


This method deletes an entry from the set

QuickHashIntSet::__construct
QuickHashIntSet::exists
QuickHashIntSet
PHP Manual

QuickHashIntSet::delete

(PECL quickhash >= Unknown)

QuickHashIntSet::delete — This method deletes an entry from the set

Beschreibung

public bool QuickHashIntSet::delete ( int $key )

This method deletes an entry from the set, and returns whether the entry was deleted or not. Associated memory structures will not be freed immediately, but rather when the set itself is freed.

Parameter-Liste

key

The key of the entry to delete.

Rückgabewerte

TRUE when the entry was deleted, and FALSE if the entry was not deleted.

Beispiele

Beispiel #1 QuickHashIntSet::delete() example

<?php
$set = new QuickHashIntSet( 1024 );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );
var_dump( $set->delete( 4 ) );
var_dump( $set->exists( 4 ) );
var_dump( $set->delete( 4 ) );
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(false)
bool(true)
bool(true)
bool(false)
bool(false)

QuickHashIntSet::__construct
QuickHashIntSet::exists
QuickHashIntSet


This method checks whether a key is part of the set

QuickHashIntSet::delete
QuickHashIntSet::getSize
QuickHashIntSet
PHP Manual

QuickHashIntSet::exists

(PECL quickhash >= Unknown)

QuickHashIntSet::exists — This method checks whether a key is part of the set

Beschreibung

public bool QuickHashIntSet::exists ( int $key )

This method checks whether an entry with the provided key exists in the set.

Parameter-Liste

key

The key of the entry to check for whether it exists in the set.

Rückgabewerte

Returns TRUE when the entry was found, or FALSE when the entry is not found.

Beispiele

Beispiel #1 QuickHashIntSet::exists() example

<?php
//generate 200000 elements
$array = range( 0, 199999 );
$existingEntries = array_rand( array_flip( $array ), 180000 );
$testForEntries = array_rand( array_flip( $array ), 1000 );
$foundCount = 0;

echo "Creating set: ", microtime( true ), "\n";
$set = new QuickHashIntSet( 100000 );
echo "Adding elements: ", microtime( true ), "\n";
foreach( $existingEntries as $key )
{
     $set->add( $key );
}

echo "Doing 1000 tests: ", microtime( true ), "\n";
foreach( $testForEntries as $key )
{
     $foundCount += $set->exists( $key );
}
echo "Done, $foundCount found: ", microtime( true ), "\n";
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Creating set: 1263588703.0748
Adding elements: 1263588703.0757
Doing 1000 tests: 1263588703.7851
Done, 898 found: 1263588703.7897

QuickHashIntSet::delete
QuickHashIntSet::getSize
QuickHashIntSet


Returns the number of elements in the set

QuickHashIntSet::exists
QuickHashIntSet::loadFromFile
QuickHashIntSet
PHP Manual

QuickHashIntSet::getSize

(PECL quickhash >= Unknown)

QuickHashIntSet::getSize — Returns the number of elements in the set

Beschreibung

publicint QuickHashIntSet::getSize ( void )

Returns the number of elements in the set.

Parameter-Liste

key

The key of the entry to add.

Rückgabewerte

The number of elements in the set.

Beispiele

Beispiel #1 QuickHashIntSet::getSize() example

<?php
$set = new QuickHashIntSet( 8 );
var_dump( $set->add( 2 ) );
var_dump( $set->add( 3 ) );
var_dump( $set->getSize() );
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(true)
bool(true)
int(2)

QuickHashIntSet::exists
QuickHashIntSet::loadFromFile
QuickHashIntSet


This factory method creates a set from a file

QuickHashIntSet::getSize
QuickHashIntSet::loadFromString
QuickHashIntSet
PHP Manual

QuickHashIntSet::loadFromFile

(PECL quickhash >= Unknown)

QuickHashIntSet::loadFromFile — This factory method creates a set from a file

Beschreibung

public static QuickHashIntSet QuickHashIntSet::loadFromFile ( string $filename [, int $size [, int $options ]] )

This factory method creates a new set from a definition file on disk. The file format consists of 32 bit signed integers packed together in the Endianness that the system that the code runs on uses.

Parameter-Liste

filename

The filename of the file to read the set from.

size

The amount of bucket lists to configure. The number you pass in will be automatically rounded up to the next power of two. It is also automatically limited from 4 to 4194304.

options

The same options that the class' constructor takes; except that the size option is ignored. It is automatically calculated to be the same as the number of entries in the set, rounded up to the nearest power of two with a maximum limit of 4194304.

Rückgabewerte

Returns a new QuickHashIntSet.

Beispiele

Beispiel #1 QuickHashIntSet::loadFromFile() example

<?php
$file = dirname( __FILE__ ) . "/simple.set";
$set = QuickHashIntSet::loadFromFile(
    $file,
    QuickHashIntSet::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $key )
{
    printf( "Key %3d (%2x) is %s\n",
        $key, $key,
        $set->exists( $key ) ? 'set' : 'unset'
    );
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Key   0 ( 0) is unset
Key   1 ( 1) is set
Key   2 ( 2) is set
Key   3 ( 3) is set
Key   4 ( 4) is unset
Key   5 ( 5) is set
Key   6 ( 6) is unset
Key   7 ( 7) is set
Key   8 ( 8) is unset
Key   9 ( 9) is unset
Key  10 ( a) is unset
Key  11 ( b) is set
Key  12 ( c) is unset
Key  13 ( d) is set
Key  14 ( e) is unset
Key  15 ( f) is unset

QuickHashIntSet::getSize
QuickHashIntSet::loadFromString
QuickHashIntSet


This factory method creates a set from a string

QuickHashIntSet::loadFromFile
QuickHashIntSet::saveToFile
QuickHashIntSet
PHP Manual

QuickHashIntSet::loadFromString

(PECL quickhash >= Unknown)

QuickHashIntSet::loadFromString — This factory method creates a set from a string

Beschreibung

public static QuickHashIntSet QuickHashIntSet::loadFromString ( string $contents [, int $size [, int $options ]] )

This factory method creates a new set from a definition in a string. The file format consists of 32 bit signed integers packed together in the Endianness that the system that the code runs on uses.

Parameter-Liste

contents

The string containing a serialized format of the set.

size

The amount of bucket lists to configure. The number you pass in will be automatically rounded up to the next power of two. It is also automatically limited from 4 to 4194304.

options

The same options that the class' constructor takes; except that the size option is ignored. It is automatically calculated to be the same as the number of entries in the set, rounded up to the nearest power of two automatically limited from 64 to 4194304.

Rückgabewerte

Returns a new QuickHashIntSet.

Beispiele

Beispiel #1 QuickHashIntSet::loadFromString() example

<?php
$contents = file_get_contents( dirname( __FILE__ ) . "/simple.set" );
$set = QuickHashIntSet::loadFromString(
    $contents,
    QuickHashIntSet::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $key )
{
    printf( "Key %3d (%2x) is %s\n",
        $key, $key,
        $set->exists( $key ) ? 'set' : 'unset'
    );
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Key   0 ( 0) is unset
Key   1 ( 1) is set
Key   2 ( 2) is set
Key   3 ( 3) is set
Key   4 ( 4) is unset
Key   5 ( 5) is set
Key   6 ( 6) is unset
Key   7 ( 7) is set
Key   8 ( 8) is unset
Key   9 ( 9) is unset
Key  10 ( a) is unset
Key  11 ( b) is set
Key  12 ( c) is unset
Key  13 ( d) is set
Key  14 ( e) is unset
Key  15 ( f) is unset

QuickHashIntSet::loadFromFile
QuickHashIntSet::saveToFile
QuickHashIntSet


This method stores an in-memory set to disk

QuickHashIntSet::loadFromString
QuickHashIntSet::saveToString
QuickHashIntSet
PHP Manual

QuickHashIntSet::saveToFile

(PECL quickhash >= Unknown)

QuickHashIntSet::saveToFile — This method stores an in-memory set to disk

Beschreibung

public void QuickHashIntSet::saveToFile ( string $filename )

This method stores an existing set to a file on disk, in the same format that loadFromFile() can read.

Parameter-Liste

filename

The filename of the file to store the hash in.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 QuickHashIntSet::saveToFile() example

<?php
$set = new QuickHashIntSet( 1024 );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );

$set->saveToFile( '/tmp/test.set' );
?>

QuickHashIntSet::loadFromString
QuickHashIntSet::saveToString
QuickHashIntSet


This method returns a serialized version of the set

QuickHashIntSet::saveToFile
QuickHashIntHash
QuickHashIntSet
PHP Manual

QuickHashIntSet::saveToString

(PECL quickhash >= Unknown)

QuickHashIntSet::saveToString — This method returns a serialized version of the set

Beschreibung

public string QuickHashIntSet::saveToString ( void )

This method returns a serialized version of the set in the same format that loadFromString() can read.

Rückgabewerte

This method returns a string containing a serialized format of the set. Each element is stored as a four byte value in the Endianness that the current system uses.

Beispiele

Beispiel #1 QuickHashIntSet::saveToString() example

<?php
$set = new QuickHashIntSet( 1024 );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );

var_dump( $set->saveToString() );
?>

QuickHashIntSet::saveToFile
QuickHashIntHash
QuickHashIntSet


The QuickHashIntHash class

(PECL quickhash >= Unknown)

Einführung

This class wraps around a hash containing integer numbers, where the values are also integer numbers. Hashes are also available as implementation of the ArrayAccess interface.

Hashes can also be iterated over with foreach as the Iterator interface is implemented as well. The order of which elements are returned in is not guaranteed.

Klassenbeschreibung

QuickHashIntHash {
/* Constants */
const integer CHECK_FOR_DUPES = 1 ;
const integer DO_NOT_USE_ZEND_ALLOC = 2 ;
const integer HASHER_NO_HASH = 256 ;
const integer HASHER_JENKINS1 = 512 ;
const integer HASHER_JENKINS2 = 1024 ;
/* Methods */
public bool add ( int $key [, int $value ] )
public __construct ( int $size [, int $options ] )
public bool delete ( int $key )
public bool exists ( int $key )
public int get ( int $key )
public int getSize ( void )
public static QuickHashIntHash loadFromFile ( string $filename [, int $options ] )
public static QuickHashIntHash loadFromString ( string $contents [, int $options ] )
public void saveToFile ( string $filename )
public string saveToString ( void )
public bool set ( int $key , int $value )
public bool update ( int $key , int $value )
}

Vordefinierte Konstanten

QuickHashIntHash::CHECK_FOR_DUPES

If enabled, adding duplicate elements to a set (through either add() or loadFromFile()) will result in those elements to be dropped from the set. This will take up extra time, so only used when it is required.

QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC

Disables the use of PHP's internal memory manager for internal set structures. With this option enabled, internal allocations will not count towards the memory_limit settings.

QuickHashIntHash::HASHER_NO_HASH

Selects to not use a hashing function, but merely use a modulo to find the bucket list index. This is not faster than normal hashing, and gives more collisions.

QuickHashIntHash::HASHER_JENKINS1

This is the default hashing function to turn the integer hashes into bucket list indexes.

QuickHashIntHash::HASHER_JENKINS2

Selects a variant hashing algorithm.

Inhaltsverzeichnis

  • QuickHashIntHash::add — This method adds a new entry to the hash
  • QuickHashIntHash::__construct — Creates a new QuickHashIntHash object
  • QuickHashIntHash::delete — This method deletes am entry from the hash
  • QuickHashIntHash::exists — This method checks whether a key is part of the hash
  • QuickHashIntHash::get — This method retrieves a value from the hash by its key
  • QuickHashIntHash::getSize — Returns the number of elements in the hash
  • QuickHashIntHash::loadFromFile — This factory method creates a hash from a file
  • QuickHashIntHash::loadFromString — This factory method creates a hash from a string
  • QuickHashIntHash::saveToFile — This method stores an in-memory hash to disk
  • QuickHashIntHash::saveToString — This method returns a serialized version of the hash
  • QuickHashIntHash::set — This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist
  • QuickHashIntHash::update — This method updates an entry in the hash with a new value
QuickHashIntSet::saveToString
QuickHashIntHash::add
Quickhash


This method adds a new entry to the hash

QuickHashIntHash
QuickHashIntHash::__construct
QuickHashIntHash
PHP Manual

QuickHashIntHash::add

(PECL quickhash >= Unknown)

QuickHashIntHash::add — This method adds a new entry to the hash

Beschreibung

public bool QuickHashIntHash::add ( int $key [, int $value ] )

This method adds a new entry to the hash, and returns whether the entry was added. Entries are by default always added unless QuickHashIntHash::CHECK_FOR_DUPES has been passed when the hash was created.

Parameter-Liste

key

The key of the entry to add.

value

The optional value of the entry to add. If no value is specified, 1 will be used.

Rückgabewerte

TRUE when the entry was added, and FALSE if the entry was not added.

Beispiele

Beispiel #1 QuickHashIntHash::add() example

<?php
echo "without dupe checking\n";
$hash = new QuickHashIntHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, 22 ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, 12 ) );

echo "\nwith dupe checking\n";
$hash = new QuickHashIntHash( 1024, QuickHashIntHash::CHECK_FOR_DUPES );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, 78 ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, 9 ) );

echo "\ndefault value\n";
var_dump( $hash->add( 5 ) );
var_dump( $hash->get( 5 ) );
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

without dupe checking
bool(false)
bool(false)
bool(true)
bool(true)
int(22)
bool(true)

with dupe checking
bool(false)
bool(false)
bool(true)
bool(true)
int(78)
bool(false)

default value
bool(true)
int(1)

QuickHashIntHash
QuickHashIntHash::__construct
QuickHashIntHash


Creates a new QuickHashIntHash object

QuickHashIntHash::add
QuickHashIntHash::delete
QuickHashIntHash
PHP Manual

QuickHashIntHash::__construct

(PECL quickhash >= Unknown)

QuickHashIntHash::__construct — Creates a new QuickHashIntHash object

Beschreibung

public QuickHashIntHash::__construct ( int $size [, int $options ] )

This constructor creates a new QuickHashIntHash. The size is the amount of bucket lists to create. The more lists there are, the less collisions you will have. Options are also supported.

Parameter-Liste

size

The amount of bucket lists to configure. The number you pass in will be automatically rounded up to the next power of two. It is also automatically limited from 64 to 4194304.

options

The options that you can pass in are: QuickHashIntHash::CHECK_FOR_DUPES, which makes sure no duplicate entries are added to the hash; QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC to not use PHP's internal memory manager as well as one of QuickHashIntHash::HASHER_NO_HASH, QuickHashIntHash::HASHER_JENKINS1 or QuickHashIntHash::HASHER_JENKINS2. These last three configure which hashing algorithm to use. All options can be combined using bitmasks.

Rückgabewerte

Returns a new QuickHashIntHash object.

Beispiele

Beispiel #1 QuickHashIntHash::__construct() example

<?php
var_dump( new QuickHashIntHash( 1024 ) );
var_dump( new QuickHashIntHash( 1024, QuickHashIntHash::CHECK_FOR_DUPES ) );
var_dump(
    new QuickHashIntHash(
        1024,
        QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC | QuickHashIntHash::HASHER_JENKINS2
    )
);
?>

QuickHashIntHash::add
QuickHashIntHash::delete
QuickHashIntHash


This method deletes am entry from the hash

QuickHashIntHash::__construct
QuickHashIntHash::exists
QuickHashIntHash
PHP Manual

QuickHashIntHash::delete

(PECL quickhash >= Unknown)

QuickHashIntHash::delete — This method deletes am entry from the hash

Beschreibung

public bool QuickHashIntHash::delete ( int $key )

This method deletes an entry from the hash, and returns whether the entry was deleted or not. Associated memory structures will not be freed immediately, but rather when the hash itself is freed.

Elements can not be deleted when the hash is used in an iterator. The method will not throw an exception, but simply return FALSE like would happen with any other deletion failure.

Parameter-Liste

key

The key of the entry to delete.

Rückgabewerte

TRUE when the entry was deleted, and FALSE if the entry was not deleted.

Beispiele

Beispiel #1 QuickHashIntHash::delete() example

<?php
$hash = new QuickHashIntHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, 5 ) );
var_dump( $hash->delete( 4 ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->delete( 4 ) );
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(false)
bool(true)
bool(true)
bool(false)
bool(false)

QuickHashIntHash::__construct
QuickHashIntHash::exists
QuickHashIntHash


This method checks whether a key is part of the hash

QuickHashIntHash::delete
QuickHashIntHash::get
QuickHashIntHash
PHP Manual

QuickHashIntHash::exists

(PECL quickhash >= Unknown)

QuickHashIntHash::exists — This method checks whether a key is part of the hash

Beschreibung

public bool QuickHashIntHash::exists ( int $key )

This method checks whether an entry with the provided key exists in the hash.

Parameter-Liste

key

The key of the entry to check for whether it exists in the hash.

Rückgabewerte

Returns TRUE when the entry was found, or FALSE when the entry is not found.

Beispiele

Beispiel #1 QuickHashIntHash::exists() example

<?php
//generate 200000 elements
$array = range( 0, 199999 );
$existingEntries = array_rand( array_flip( $array ), 180000 );
$testForEntries = array_rand( array_flip( $array ), 1000 );
$foundCount = 0;

echo "Creating hash: ", microtime( true ), "\n";
$hash = new QuickHashIntHash( 100000 );
echo "Adding elements: ", microtime( true ), "\n";
foreach( $existingEntries as $key )
{
     $hash->add( $key, 56 );
}

echo "Doing 1000 tests: ", microtime( true ), "\n";
foreach( $testForEntries as $key )
{
     $foundCount += $hash->exists( $key );
}
echo "Done, $foundCount found: ", microtime( true ), "\n";
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Creating hash: 1263588703.0748
Adding elements: 1263588703.0757
Doing 1000 tests: 1263588703.7851
Done, 898 found: 1263588703.7897

QuickHashIntHash::delete
QuickHashIntHash::get
QuickHashIntHash


This method retrieves a value from the hash by its key

QuickHashIntHash::exists
QuickHashIntHash::getSize
QuickHashIntHash
PHP Manual

QuickHashIntHash::get

(PECL quickhash >= Unknown)

QuickHashIntHash::get — This method retrieves a value from the hash by its key

Beschreibung

public int QuickHashIntHash::get ( int $key )

This method retrieves a value from the hash by its key.

Parameter-Liste

key

The key of the entry to add.

Rückgabewerte

The value if the key exists, or NULL if the key wasn't part of the hash.

Beispiele

Beispiel #1 QuickHashIntHash::get() example

<?php
$hash = new QuickHashIntHash( 8 );
var_dump( $hash->get( 1 ) );

var_dump( $hash->add( 2 ) );
var_dump( $hash->get( 2 ) );

var_dump( $hash->add( 3, 5 ) );
var_dump( $hash->get( 3 ) );
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(false)
bool(true)
int(1)
bool(true)
int(5)

QuickHashIntHash::exists
QuickHashIntHash::getSize
QuickHashIntHash


Returns the number of elements in the hash

QuickHashIntHash::get
QuickHashIntHash::loadFromFile
QuickHashIntHash
PHP Manual

QuickHashIntHash::getSize

(PECL quickhash >= Unknown)

QuickHashIntHash::getSize — Returns the number of elements in the hash

Beschreibung

public int QuickHashIntHash::getSize ( void )

Returns the number of elements in the hash.

Parameter-Liste

key

The key of the entry to add.

Rückgabewerte

The number of elements in the hash.

Beispiele

Beispiel #1 QuickHashIntHash::getSize() example

<?php
$hash = new QuickHashIntHash( 8 );
var_dump( $hash->add( 2 ) );
var_dump( $hash->add( 3, 5 ) );
var_dump( $hash->getSize() );
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(true)
bool(true)
int(2)

QuickHashIntHash::get
QuickHashIntHash::loadFromFile
QuickHashIntHash


This factory method creates a hash from a file

QuickHashIntHash::getSize
QuickHashIntHash::loadFromString
QuickHashIntHash
PHP Manual

QuickHashIntHash::loadFromFile

(PECL quickhash >= Unknown)

QuickHashIntHash::loadFromFile — This factory method creates a hash from a file

Beschreibung

public static QuickHashIntHash QuickHashIntHash::loadFromFile ( string $filename [, int $options ] )

This factory method creates a new hash from a definition file on disk. The file format consists of a signature 'QH\0x11\0', the number of elements as a 32 bit signed integer in system Endianness, followed by 32 bit signed integers packed together in the Endianness that the system that the code runs on uses. For each hash element there are two 32 bit signed integers stored. The first of each element is the key, and the second is the value belonging to the key. An example could be:

Beispiel #1 QuickHash IntHash file format

00000000  51 48 11 00 02 00 00 00  01 00 00 00 01 00 00 00  |QH..............|
00000010  03 00 00 00 09 00 00 00                           |........|
00000018

Beispiel #2 QuickHash IntHash file format

header signature ('QH'; key type: 1; value type: 1; filler: \0x00)
00000000  51 48 11 00

number of elements:
00000004  02 00 00 00

data string:
00000000  01 00 00 00 01 00 00 00  03 00 00 00 09 00 00 00

key/value 1 (key = 1, value = 1)
01 00 00 00  01 00 00 00

key/value 2 (key = 3, value = 9)
03 00 00 00  09 00 00 00

Parameter-Liste

filename

The filename of the file to read the hash from.

options

The same options that the class' constructor takes; except that the size option is ignored. It is automatically calculated to be the same as the number of entries in the hash, rounded up to the nearest power of two with a maximum limit of 4194304.

Rückgabewerte

Returns a new QuickHashIntHash.

Beispiele

Beispiel #3 QuickHashIntHash::loadFromFile() example

<?php
$file = dirname( __FILE__ ) . "/simple.hash";
$hash = QuickHashIntHash::loadFromFile(
    $file,
    QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $key )
{
    printf( "Key %3d (%2x) is %s\n",
        $key, $key,
        $hash->exists( $key ) ? 'set' : 'unset'
    );
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Key   0 ( 0) is unset
Key   1 ( 1) is set
Key   2 ( 2) is set
Key   3 ( 3) is set
Key   4 ( 4) is unset
Key   5 ( 5) is set
Key   6 ( 6) is unset
Key   7 ( 7) is set
Key   8 ( 8) is unset
Key   9 ( 9) is unset
Key  10 ( a) is unset
Key  11 ( b) is set
Key  12 ( c) is unset
Key  13 ( d) is set
Key  14 ( e) is unset
Key  15 ( f) is unset

QuickHashIntHash::getSize
QuickHashIntHash::loadFromString
QuickHashIntHash


This factory method creates a hash from a string

QuickHashIntHash::loadFromFile
QuickHashIntHash::saveToFile
QuickHashIntHash
PHP Manual

QuickHashIntHash::loadFromString

(PECL quickhash >= Unknown)

QuickHashIntHash::loadFromString — This factory method creates a hash from a string

Beschreibung

public static QuickHashIntHash QuickHashIntHash::loadFromString ( string $contents [, int $options ] )

This factory method creates a new hash from a definition in a string. The file format consists of 32 bit signed integers packed together in the Endianness that the system that the code runs on uses. For each element there are two 32 bit signed integers stored. The first of each element is the key, and the second is the value belonging to the key.

Parameter-Liste

contents

The string containing a serialized format of the hash.

options

The same options that the class' constructor takes; except that the size option is ignored. It is automatically calculated to be the same as the number of entries in the hash, rounded up to the nearest power of two with a maximum limit of 4194304.

Rückgabewerte

Returns a new QuickHashIntHash.

Beispiele

Beispiel #1 QuickHashIntHash::loadFromString() example

<?php
$contents = file_get_contents( dirname( __FILE__ ) . "/simple.hash" );
$hash = QuickHashIntHash::loadFromString(
    $contents,
    QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $key )
{
    printf( "Key %3d (%2x) is %s\n",
        $key, $key,
        $hash->exists( $key ) ? 'set' : 'unset'
    );
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Key   0 ( 0) is unset
Key   1 ( 1) is set
Key   2 ( 2) is set
Key   3 ( 3) is set
Key   4 ( 4) is unset
Key   5 ( 5) is set
Key   6 ( 6) is unset
Key   7 ( 7) is set
Key   8 ( 8) is unset
Key   9 ( 9) is unset
Key  10 ( a) is unset
Key  11 ( b) is set
Key  12 ( c) is unset
Key  13 ( d) is set
Key  14 ( e) is unset
Key  15 ( f) is unset

QuickHashIntHash::loadFromFile
QuickHashIntHash::saveToFile
QuickHashIntHash


This method stores an in-memory hash to disk

QuickHashIntHash::loadFromString
QuickHashIntHash::saveToString
QuickHashIntHash
PHP Manual

QuickHashIntHash::saveToFile

(PECL quickhash >= Unknown)

QuickHashIntHash::saveToFile — This method stores an in-memory hash to disk

Beschreibung

public void QuickHashIntHash::saveToFile ( string $filename )

This method stores an existing hash to a file on disk, in the same format that loadFromFile() can read.

Parameter-Liste

filename

The filename of the file to store the hash in.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 QuickHashIntHash::saveToFile() example

<?php
$hash = new QuickHashIntHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, 43 ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, 52 ) );

$hash->saveToFile( '/tmp/test.hash' );
?>

QuickHashIntHash::loadFromString
QuickHashIntHash::saveToString
QuickHashIntHash


This method returns a serialized version of the hash

QuickHashIntHash::saveToFile
QuickHashIntHash::set
QuickHashIntHash
PHP Manual

QuickHashIntHash::saveToString

(PECL quickhash >= Unknown)

QuickHashIntHash::saveToString — This method returns a serialized version of the hash

Beschreibung

public string QuickHashIntHash::saveToString ( void )

This method returns a serialized version of the hash in the same format that loadFromString() can read.

Rückgabewerte

This method returns a string containing a serialized format of the hash. Each element is stored as a four byte value in the Endianness that the current system uses.

Beispiele

Beispiel #1 QuickHashIntHash::saveToString() example

<?php
$hash = new QuickHashIntHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, 34 ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, 55 ) );

var_dump( $hash->saveToString() );
?>

QuickHashIntHash::saveToFile
QuickHashIntHash::set
QuickHashIntHash


This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist

QuickHashIntHash::saveToString
QuickHashIntHash::update
QuickHashIntHash
PHP Manual

QuickHashIntHash::set

(PECL quickhash >= Unknown)

QuickHashIntHash::set — This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist

Beschreibung

public bool QuickHashIntHash::set ( int $key , int $value )

This method tries to update an entry with a new value. In case the entry did not yet exist, it will instead add a new entry. It returns whether the entry was added or update. If there are duplicate keys, only the first found element will get an updated value. Use QuickHashIntHash::CHECK_FOR_DUPES during hash creation to prevent duplicate keys from being part of the hash.

Parameter-Liste

key

The key of the entry to add or update.

value

The new value to set the entry with.

Rückgabewerte

2 if the entry was found and updated, 1 if the entry was newly added or 0 if there was an error.

Beispiele

Beispiel #1 QuickHashIntHash::set() example

<?php
$hash = new QuickHashIntHash( 1024 );

echo "Set->Add\n";
var_dump( $hash->get( 46692 ) );
var_dump( $hash->set( 46692, 16091 ) );
var_dump( $hash->get( 46692 ) );

echo "Set->Update\n";
var_dump( $hash->set( 46692, 29906 ) );
var_dump( $hash->get( 46692 ) );
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(false)
int(2)
int(16091)
Set->Update
int(1)
int(29906)

QuickHashIntHash::saveToString
QuickHashIntHash::update
QuickHashIntHash


This method updates an entry in the hash with a new value

QuickHashIntHash::set
QuickHashStringIntHash
QuickHashIntHash
PHP Manual

QuickHashIntHash::update

(PECL quickhash >= Unknown)

QuickHashIntHash::update — This method updates an entry in the hash with a new value

Beschreibung

public bool QuickHashIntHash::update ( int $key , int $value )

This method updates an entry with a new value, and returns whether the entry was update. If there are duplicate keys, only the first found element will get an updated value. Use QuickHashIntHash::CHECK_FOR_DUPES during hash creation to prevent duplicate keys from being part of the hash.

Parameter-Liste

key

The key of the entry to add.

value

The new value to update the entry with.

Rückgabewerte

TRUE when the entry was found and updated, and FALSE if the entry was not part of the hash already.

Beispiele

Beispiel #1 QuickHashIntHash::update() example

<?php
$hash = new QuickHashIntHash( 1024 );

var_dump( $hash->add( 141421, 173205 ) );
var_dump( $hash->update( 141421, 223606 ) );
var_dump( $hash->get( 141421 ) );
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(true)
bool(true)
int(223606)

QuickHashIntHash::set
QuickHashStringIntHash
QuickHashIntHash


The QuickHashStringIntHash class

(No version information available, might only be in Git)

Einführung

This class wraps around a hash containing strings, where the values are integer numbers. Hashes are also available as implementation of the ArrayAccess interface.

Hashes can also be iterated over with foreach as the Iterator interface is implemented as well. The order of which elements are returned in is not guaranteed.

Klassenbeschreibung

QuickHashStringIntHash {
/* Constants */
const integer CHECK_FOR_DUPES = 1 ;
const integer DO_NOT_USE_ZEND_ALLOC = 2 ;
/* Methods */
public bool add ( string $key , int $value )
public __construct ( int $size [, int $options = 0 ] )
public bool delete ( string $key )
public bool exists ( string $key )
public mixed get ( string $key )
public int getSize ( void )
public static QuickHashStringIntHash loadFromFile ( string $filename [, int $size = 0 [, int $options = 0 ]] )
public static QuickHashStringIntHash loadFromString ( string $contents [, int $size = 0 [, int $options = 0 ]] )
public void saveToFile ( string $filename )
public string saveToString ( void )
public int set ( string $key , int $value )
public bool update ( string $key , int $value )
}

Vordefinierte Konstanten

QuickHashStringIntHash::CHECK_FOR_DUPES

If enabled, adding duplicate elements to a set (through either add() or loadFromFile()) will result in those elements to be dropped from the set. This will take up extra time, so only used when it is required.

QuickHashStringIntHash::DO_NOT_USE_ZEND_ALLOC

Disables the use of PHP's internal memory manager for internal set structures. With this option enabled, internal allocations will not count towards the memory_limit settings.

Inhaltsverzeichnis

  • QuickHashStringIntHash::add — This method adds a new entry to the hash
  • QuickHashStringIntHash::__construct — Creates a new QuickHashStringIntHash object
  • QuickHashStringIntHash::delete — This method deletes am entry from the hash
  • QuickHashStringIntHash::exists — This method checks whether a key is part of the hash
  • QuickHashStringIntHash::get — This method retrieves a value from the hash by its key
  • QuickHashStringIntHash::getSize — Returns the number of elements in the hash
  • QuickHashStringIntHash::loadFromFile — This factory method creates a hash from a file
  • QuickHashStringIntHash::loadFromString — This factory method creates a hash from a string
  • QuickHashStringIntHash::saveToFile — This method stores an in-memory hash to disk
  • QuickHashStringIntHash::saveToString — This method returns a serialized version of the hash
  • QuickHashStringIntHash::set — This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist
  • QuickHashStringIntHash::update — This method updates an entry in the hash with a new value
QuickHashIntHash::update
QuickHashStringIntHash::add
Quickhash


This method adds a new entry to the hash

QuickHashStringIntHash
QuickHashStringIntHash::__construct
QuickHashStringIntHash
PHP Manual

QuickHashStringIntHash::add

(No version information available, might only be in Git)

QuickHashStringIntHash::add — This method adds a new entry to the hash

Beschreibung

public bool QuickHashStringIntHash::add ( string $key , int $value )

This method adds a new entry to the hash, and returns whether the entry was added. Entries are by default always added unless QuickHashStringIntHash::CHECK_FOR_DUPES has been passed when the hash was created.

Parameter-Liste

key

The key of the entry to add.

value

The value of the entry to add.

Rückgabewerte

TRUE when the entry was added, and FALSE if the entry was not added.

Beispiele

Beispiel #1 QuickHashStringIntHash::add() example

<?php
echo "without dupe checking\n";
$hash = new QuickHashStringIntHash( 1024 );
var_dump( $hash );
var_dump( $hash->exists( "four" ) );
var_dump( $hash->get( "four" ) );
var_dump( $hash->add( "four", 22 ) );
var_dump( $hash->exists( "four" ) );
var_dump( $hash->get( "four" ) );
var_dump( $hash->add( "four", 12 ) );

echo "\nwith dupe checking\n";
$hash = new QuickHashStringIntHash( 1024, QuickHashStringIntHash::CHECK_FOR_DUPES );
var_dump( $hash );
var_dump( $hash->exists( "four" ) );
var_dump( $hash->get( "four" ) );
var_dump( $hash->add( "four", 78 ) );
var_dump( $hash->exists( "four" ) );
var_dump( $hash->get( "four" ) );
var_dump( $hash->add( "four", 9 ) );
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

without dupe checking
object(QuickHashStringIntHash)#1 (0) {
}
bool(false)
bool(false)
bool(true)
bool(true)
int(22)
bool(true)

with dupe checking
object(QuickHashStringIntHash)#2 (0) {
}
bool(false)
bool(false)
bool(true)
bool(true)
int(78)
bool(false)

QuickHashStringIntHash
QuickHashStringIntHash::__construct
QuickHashStringIntHash


Creates a new QuickHashStringIntHash object

QuickHashStringIntHash::add
QuickHashStringIntHash::delete
QuickHashStringIntHash
PHP Manual

QuickHashStringIntHash::__construct

(No version information available, might only be in Git)

QuickHashStringIntHash::__construct — Creates a new QuickHashStringIntHash object

Beschreibung

public QuickHashStringIntHash::__construct ( int $size [, int $options = 0 ] )

This constructor creates a new QuickHashStringIntHash. The size is the amount of bucket lists to create. The more lists there are, the less collisions you will have. Options are also supported.

Parameter-Liste

size

The amount of bucket lists to configure. The number you pass in will be automatically rounded up to the next power of two. It is also automatically limited from 64 to 4194304.

options

The options that you can pass in are: QuickHashStringIntHash::CHECK_FOR_DUPES, which makes sure no duplicate entries are added to the hash and QuickHashStringIntHash::DO_NOT_USE_ZEND_ALLOC to not use PHP's internal memory manager.

Rückgabewerte

Returns a new QuickHashStringIntHash object.

Beispiele

Beispiel #1 QuickHashStringIntHash::__construct() example

<?php
var_dump( new QuickHashStringIntHash( 1024 ) );
var_dump( new QuickHashStringIntHash( 1024, QuickHashStringIntHash::CHECK_FOR_DUPES ) );
?>

QuickHashStringIntHash::add
QuickHashStringIntHash::delete
QuickHashStringIntHash


This method deletes am entry from the hash

QuickHashStringIntHash::__construct
QuickHashStringIntHash::exists
QuickHashStringIntHash
PHP Manual

QuickHashStringIntHash::delete

(No version information available, might only be in Git)

QuickHashStringIntHash::delete — This method deletes am entry from the hash

Beschreibung

public bool QuickHashStringIntHash::delete ( string $key )

This method deletes an entry from the hash, and returns whether the entry was deleted or not. Associated memory structures will not be freed immediately, but rather when the hash itself is freed.

Elements can not be deleted when the hash is used in an iterator. The method will not throw an exception, but simply return FALSE like would happen with any other deletion failure.

Parameter-Liste

key

The key of the entry to delete.

Rückgabewerte

TRUE when the entry was deleted, and FALSE if the entry was not deleted.

Beispiele

Beispiel #1 QuickHashStringIntHash::delete() example

<?php
$hash = new QuickHashStringIntHash( 1024 );
var_dump( $hash->exists( 'four' ) );
var_dump( $hash->add( 'four', 5 ) );
var_dump( $hash->get( 'four' ) );
var_dump( $hash->delete( 'four' ) );
var_dump( $hash->exists( 'four' ) );
var_dump( $hash->get( 'four' ) );
var_dump( $hash->delete( 'four' ) );
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(false)
bool(true)
int(5)
bool(true)
bool(false)
bool(false)
bool(false)

QuickHashStringIntHash::__construct
QuickHashStringIntHash::exists
QuickHashStringIntHash


This method checks whether a key is part of the hash

QuickHashStringIntHash::delete
QuickHashStringIntHash::get
QuickHashStringIntHash
PHP Manual

QuickHashStringIntHash::exists

(No version information available, might only be in Git)

QuickHashStringIntHash::exists — This method checks whether a key is part of the hash

Beschreibung

public bool QuickHashStringIntHash::exists ( string $key )

This method checks whether an entry with the provided key exists in the hash.

Parameter-Liste

key

The key of the entry to check for whether it exists in the hash.

Rückgabewerte

Returns TRUE when the entry was found, or FALSE when the entry is not found.

QuickHashStringIntHash::delete
QuickHashStringIntHash::get
QuickHashStringIntHash


This method retrieves a value from the hash by its key

QuickHashStringIntHash::exists
QuickHashStringIntHash::getSize
QuickHashStringIntHash
PHP Manual

QuickHashStringIntHash::get

(No version information available, might only be in Git)

QuickHashStringIntHash::get — This method retrieves a value from the hash by its key

Beschreibung

public mixed QuickHashStringIntHash::get ( string $key )

This method retrieves a value from the hash by its key.

Parameter-Liste

key

The key of the entry to add.

Rückgabewerte

The value if the key exists, or NULL if the key wasn't part of the hash.

Beispiele

Beispiel #1 QuickHashStringIntHash::get() example

<?php
$hash = new QuickHashStringIntHash( 8 );
var_dump( $hash->get( "one" ) );

var_dump( $hash->add( "two", 2 ) );
var_dump( $hash->get( "two" ) );
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(false)
bool(true)
int(2)

QuickHashStringIntHash::exists
QuickHashStringIntHash::getSize
QuickHashStringIntHash


Returns the number of elements in the hash

QuickHashStringIntHash::get
QuickHashStringIntHash::loadFromFile
QuickHashStringIntHash
PHP Manual

QuickHashStringIntHash::getSize

(No version information available, might only be in Git)

QuickHashStringIntHash::getSize — Returns the number of elements in the hash

Beschreibung

public int QuickHashStringIntHash::getSize ( void )

Returns the number of elements in the hash.

Parameter-Liste

key

The key of the entry to add.

Rückgabewerte

The number of elements in the hash.

Beispiele

Beispiel #1 QuickHashStringIntHash::getSize() example

<?php
$hash = new QuickHashStringIntHash( 8 );
var_dump( $hash->add( "two", 2 ) );
var_dump( $hash->add( "three", 5 ) );
var_dump( $hash->getSize() );
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(true)
bool(true)
int(2)

QuickHashStringIntHash::get
QuickHashStringIntHash::loadFromFile
QuickHashStringIntHash


This factory method creates a hash from a file

QuickHashStringIntHash::getSize
QuickHashStringIntHash::loadFromString
QuickHashStringIntHash
PHP Manual

QuickHashStringIntHash::loadFromFile

(No version information available, might only be in Git)

QuickHashStringIntHash::loadFromFile — This factory method creates a hash from a file

Beschreibung

public static QuickHashStringIntHash QuickHashStringIntHash::loadFromFile ( string $filename [, int $size = 0 [, int $options = 0 ]] )

This factory method creates a new hash from a definition file on disk. The file format consists of a signature 'QH\0x21\0', the number of elements as a 32 bit signed integer in system Endianness, an unsigned 32 bit integer containing the number of element data to follow in characters. This element data contains all the strings. The follows another signed 32 bit integer containing the number of bucket lists. After the header and the strings, the elements follow. They are ordered by bucket list so that the keys don't have to be hashed in order to restore the hash. For each bucket list, the following information is stored (all as 32 bit integers): the bucket list index, the number of elements in that list, and then in pairs of two unsigned 32 bit integers the elements, where the first one is the index into the string list containing the keys, and the second one the value. An example could be:

Beispiel #1 QuickHash StringIntHash file format

00000000  51 48 21 00 02 00 00 00  09 00 00 00 40 00 00 00  |QH!.........@...|
00000010  4f 4e 45 00 4e 49 4e 45  00 07 00 00 00 01 00 00  |ONE.NINE........|
00000020  00 00 00 00 00 01 00 00  00 2f 00 00 00 01 00 00  |........./......|
00000030  00 04 00 00 00 03 00 00  00                       |.........|
00000039

Beispiel #2 QuickHash IntHash file format

header signature ('QH'; key type: 2; value type: 1; filler: \0x00)
00000000  51 48 21 00

number of elements:
00000004  02 00 00 00

length of string values (9 characters):
00000008  09 00 00 00

number of hash bucket lists (this is configured for hashes as argument to the
constructor normally, 64 in this case):
0000000C  40 00 00 00

string values:
00000010  4f 4e 45 00 4e 49 4e 45  00

bucket lists:
  bucket list 1 (with key 7, and 1 element):
    header:
    07 00 00 00 01 00 00 00
    elements (key index: 0 ('ONE'), value = 0):
    00 00 00 00 01 00 00 00
  bucket list 2 (with key 0x2f, and 1 element):
    header:
    2f 00 00 00 01 00 00 00
    elements (key index: 4 ('NINE'), value = 3):
    04 00 00 00 03 00 00 00

Parameter-Liste

filename

The filename of the file to read the hash from.

size

The amount of bucket lists to configure. The number you pass in will be automatically rounded up to the next power of two. It is also automatically limited from 4 to 4194304.

options

The same options that the class' constructor takes; except that the size option is ignored. It is read from the file format (unlike the QuickHashIntHash and QuickHashIntStringHash classes, where it is automatically calculated from the number of entries in the hash.)

Rückgabewerte

Returns a new QuickHashStringIntHash.

Beispiele

Beispiel #3 QuickHashStringIntHash::loadFromFile() example

<?php
$file = dirname( __FILE__ ) . "/simple.hash.string";
$hash = QuickHashStringIntHash::loadFromFile(
    $file,
    QuickHashStringIntHash::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $key )
{
    $i = 48712 + $key * 1631;
    $k = base_convert( $i, 10, 36 );
    echo $k, ' => ', $hash->get( $k ), "\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

11l4 => 48712
12uf => 50343
143q => 51974
15d1 => 53605
16mc => 55236
17vn => 56867
194y => 58498
1ae9 => 60129
1bnk => 61760
1cwv => 63391
1e66 => 65022
1ffh => 66653
1gos => 68284
1hy3 => 69915
1j7e => 71546
1kgp => 73177

QuickHashStringIntHash::getSize
QuickHashStringIntHash::loadFromString
QuickHashStringIntHash


This factory method creates a hash from a string

QuickHashStringIntHash::loadFromFile
QuickHashStringIntHash::saveToFile
QuickHashStringIntHash
PHP Manual

QuickHashStringIntHash::loadFromString

(No version information available, might only be in Git)

QuickHashStringIntHash::loadFromString — This factory method creates a hash from a string

Beschreibung

public static QuickHashStringIntHash QuickHashStringIntHash::loadFromString ( string $contents [, int $size = 0 [, int $options = 0 ]] )

This factory method creates a new hash from a definition in a string. The format is the same as the one used in "loadFromFile".

Parameter-Liste

contents

The string containing a serialized format of the hash.

size

The amount of bucket lists to configure. The number you pass in will be automatically rounded up to the next power of two. It is also automatically limited from 4 to 4194304.

options

The same options that the class' constructor takes; except that the size option is ignored. It is automatically calculated to be the same as the number of entries in the hash, rounded up to the nearest power of two with a maximum limit of 4194304.

Rückgabewerte

Returns a new QuickHashStringIntHash.

Beispiele

Beispiel #1 QuickHashStringIntHash::loadFromString() example

<?php
$contents = file_get_contents( dirname( __FILE__ ) . "/simple.hash.string" );
$hash = QuickHashStringIntHash::loadFromString(
    $contents,
    QuickHashStringIntHash::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $key )
{
    $i = 48712 + $key * 1631;
    $k = base_convert( $i, 10, 36 );
    echo $k, ' => ', $hash->get( $k ), "\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

11l4 => 48712
12uf => 50343
143q => 51974
15d1 => 53605
16mc => 55236
17vn => 56867
194y => 58498
1ae9 => 60129
1bnk => 61760
1cwv => 63391
1e66 => 65022
1ffh => 66653
1gos => 68284
1hy3 => 69915
1j7e => 71546
1kgp => 73177

QuickHashStringIntHash::loadFromFile
QuickHashStringIntHash::saveToFile
QuickHashStringIntHash


This method stores an in-memory hash to disk

QuickHashStringIntHash::loadFromString
QuickHashStringIntHash::saveToString
QuickHashStringIntHash
PHP Manual

QuickHashStringIntHash::saveToFile

(No version information available, might only be in Git)

QuickHashStringIntHash::saveToFile — This method stores an in-memory hash to disk

Beschreibung

public void QuickHashStringIntHash::saveToFile ( string $filename )

This method stores an existing hash to a file on disk, in the same format that loadFromFile() can read.

Parameter-Liste

filename

The filename of the file to store the hash in.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 QuickHashStringIntHash::saveToFile() example

<?php
$hash = new QuickHashStringIntHash( 1024 );
var_dump( $hash->add( "fourty three", 42 ) );
var_dump( $hash->add( "fifty two", 52 ) );

$hash->saveToFile( '/tmp/test.hash.string' );
?>

QuickHashStringIntHash::loadFromString
QuickHashStringIntHash::saveToString
QuickHashStringIntHash


This method returns a serialized version of the hash

QuickHashStringIntHash::saveToFile
QuickHashStringIntHash::set
QuickHashStringIntHash
PHP Manual

QuickHashStringIntHash::saveToString

(No version information available, might only be in Git)

QuickHashStringIntHash::saveToString — This method returns a serialized version of the hash

Beschreibung

public string QuickHashStringIntHash::saveToString ( void )

This method returns a serialized version of the hash in the same format that loadFromString() can read.

Rückgabewerte

This method returns a serialized format of an existing hash, in the same format that loadFromString() can read.

Beispiele

Beispiel #1 QuickHashStringIntHash::saveToString() example

<?php
$hash = new QuickHashStringIntHash( 1024 );
var_dump( $hash->add( "fourty three", 42 ) );
var_dump( $hash->add( "fifty two", 52 ) );

var_dump( $hash->saveToString() );
?>

QuickHashStringIntHash::saveToFile
QuickHashStringIntHash::set
QuickHashStringIntHash


This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist

QuickHashStringIntHash::saveToString
QuickHashStringIntHash::update
QuickHashStringIntHash
PHP Manual

QuickHashStringIntHash::set

(No version information available, might only be in Git)

QuickHashStringIntHash::set — This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist

Beschreibung

public int QuickHashStringIntHash::set ( string $key , int $value )

This method tries to update an entry with a new value. In case the entry did not yet exist, it will instead add a new entry. It returns whether the entry was added or update. If there are duplicate keys, only the first found element will get an updated value. Use QuickHashStringIntHash::CHECK_FOR_DUPES during hash creation to prevent duplicate keys from being part of the hash.

Parameter-Liste

key

The key of the entry to add or update.

value

The value of the entry to add. If a non-string is passed, it will be converted to a string automatically if possible.

Rückgabewerte

2 if the entry was found and updated, 1 if the entry was newly added or 0 if there was an error.

Beispiele

Beispiel #1 QuickHashStringIntHash::set() example

<?php
$hash = new QuickHashStringIntHash( 1024 );

echo "Set->Add\n";
var_dump( $hash->get( "fourty six thousand six hundred ninety two" ) );
var_dump( $hash->set( "fourty six thousand six hundred ninety two", 16091 ) );
var_dump( $hash->get( "fourty six thousand six hundred ninety two" ) );

echo "Set->Update\n";
var_dump( $hash->set( "fourty six thousand six hundred ninety two", 29906 ) );
var_dump( $hash->get( "fourty six thousand six hundred ninety two" ) );
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Set->Add
bool(false)
int(2)
int(16091)
Set->Update
int(1)
int(29906)

QuickHashStringIntHash::saveToString
QuickHashStringIntHash::update
QuickHashStringIntHash


This method updates an entry in the hash with a new value

QuickHashStringIntHash::set
QuickHashIntStringHash
QuickHashStringIntHash
PHP Manual

QuickHashStringIntHash::update

(No version information available, might only be in Git)

QuickHashStringIntHash::update — This method updates an entry in the hash with a new value

Beschreibung

public bool QuickHashStringIntHash::update ( string $key , int $value )

This method updates an entry with a new value, and returns whether the entry was update. If there are duplicate keys, only the first found element will get an updated value. Use QuickHashStringIntHash::CHECK_FOR_DUPES during hash creation to prevent duplicate keys from being part of the hash.

Parameter-Liste

key

The key of the entry to add.

value

The new value for the entry. If a non-string is passed, it will be converted to a string automatically if possible.

Rückgabewerte

TRUE when the entry was found and updated, and FALSE if the entry was not part of the hash already.

Beispiele

Beispiel #1 QuickHashStringIntHash::update() example

<?php
$hash = new QuickHashStringIntHash( 1024 );

$hash->add( 'six', 314159265 );
$hash->add( "a lot", 314159265 );

echo $hash->get( 'six' ), "\n";
echo $hash->get( 'a lot' ), "\n";

var_dump( $hash->update( 'a lot', 314159266 ) );
var_dump( $hash->update( "a lot plus one", 314159999 ) );

echo $hash->get( 'six' ), "\n";
echo $hash->get( 'a lot' ), "\n";
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

314159265
314159265
bool(true)
bool(false)
314159265
314159266

QuickHashStringIntHash::set
QuickHashIntStringHash
QuickHashStringIntHash


The QuickHashIntStringHash class

(PECL quickhash >= Unknown)

Einführung

This class wraps around a hash containing integer numbers, where the values are strings. Hashes are also available as implementation of the ArrayAccess interface.

Hashes can also be iterated over with foreach as the Iterator interface is implemented as well. The order of which elements are returned in is not guaranteed.

Klassenbeschreibung

QuickHashIntStringHash {
/* Constants */
const integer CHECK_FOR_DUPES = 1 ;
const integer DO_NOT_USE_ZEND_ALLOC = 2 ;
const integer HASHER_NO_HASH = 256 ;
const integer HASHER_JENKINS1 = 512 ;
const integer HASHER_JENKINS2 = 1024 ;
/* Methods */
public bool add ( int $key , string $value )
public __construct ( int $size [, int $options = 0 ] )
public bool delete ( int $key )
public bool exists ( int $key )
public mixed get ( int $key )
public int getSize ( void )
public static QuickHashIntStringHash loadFromFile ( string $filename [, int $size = 0 [, int $options = 0 ]] )
public static QuickHashIntStringHash loadFromString ( string $contents [, int $size = 0 [, int $options = 0 ]] )
public void saveToFile ( string $filename )
public string saveToString ( void )
public int set ( int $key , string $value )
public bool update ( int $key , string $value )
}

Vordefinierte Konstanten

QuickHashIntStringHash::CHECK_FOR_DUPES

If enabled, adding duplicate elements to a set (through either add() or loadFromFile()) will result in those elements to be dropped from the set. This will take up extra time, so only used when it is required.

QuickHashIntStringHash::DO_NOT_USE_ZEND_ALLOC

Disables the use of PHP's internal memory manager for internal set structures. With this option enabled, internal allocations will not count towards the memory_limit settings.

QuickHashIntStringHash::HASHER_NO_HASH

Selects to not use a hashing function, but merely use a modulo to find the bucket list index. This is not faster than normal hashing, and gives more collisions.

QuickHashIntStringHash::HASHER_JENKINS1

This is the default hashing function to turn the integer hashes into bucket list indexes.

QuickHashIntStringHash::HASHER_JENKINS2

Selects a variant hashing algorithm.

Inhaltsverzeichnis

  • QuickHashIntStringHash::add — This method adds a new entry to the hash
  • QuickHashIntStringHash::__construct — Creates a new QuickHashIntStringHash object
  • QuickHashIntStringHash::delete — This method deletes am entry from the hash
  • QuickHashIntStringHash::exists — This method checks whether a key is part of the hash
  • QuickHashIntStringHash::get — This method retrieves a value from the hash by its key
  • QuickHashIntStringHash::getSize — Returns the number of elements in the hash
  • QuickHashIntStringHash::loadFromFile — This factory method creates a hash from a file
  • QuickHashIntStringHash::loadFromString — This factory method creates a hash from a string
  • QuickHashIntStringHash::saveToFile — This method stores an in-memory hash to disk
  • QuickHashIntStringHash::saveToString — This method returns a serialized version of the hash
  • QuickHashIntStringHash::set — This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist
  • QuickHashIntStringHash::update — This method updates an entry in the hash with a new value
QuickHashStringIntHash::update
QuickHashIntStringHash::add
Quickhash


This method adds a new entry to the hash

QuickHashIntStringHash
QuickHashIntStringHash::__construct
QuickHashIntStringHash
PHP Manual

QuickHashIntStringHash::add

(PECL quickhash >= Unknown)

QuickHashIntStringHash::add — This method adds a new entry to the hash

Beschreibung

public bool QuickHashIntStringHash::add ( int $key , string $value )

This method adds a new entry to the hash, and returns whether the entry was added. Entries are by default always added unless QuickHashIntStringHash::CHECK_FOR_DUPES has been passed when the hash was created.

Parameter-Liste

key

The key of the entry to add.

value

The value of the entry to add. If a non-string is passed, it will be converted to a string automatically if possible.

Rückgabewerte

TRUE when the entry was added, and FALSE if the entry was not added.

Beispiele

Beispiel #1 QuickHashIntStringHash::add() example

<?php
echo "without dupe checking\n";
$hash = new QuickHashIntStringHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, "twenty two" ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, "twelve" ) );

echo "\nwith dupe checking\n";
$hash = new QuickHashIntStringHash( 1024, QuickHashIntStringHash::CHECK_FOR_DUPES );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, "seventy eight" ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, "nine" ) );
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

without dupe checking
bool(false)
bool(false)
bool(true)
bool(true)
string(10) "twenty two"
bool(true)

with dupe checking
bool(false)
bool(false)
bool(true)
bool(true)
string(13) "seventy eight"
bool(false)

QuickHashIntStringHash
QuickHashIntStringHash::__construct
QuickHashIntStringHash


Creates a new QuickHashIntStringHash object

QuickHashIntStringHash::add
QuickHashIntStringHash::delete
QuickHashIntStringHash
PHP Manual

QuickHashIntStringHash::__construct

(PECL quickhash >= Unknown)

QuickHashIntStringHash::__construct — Creates a new QuickHashIntStringHash object

Beschreibung

public QuickHashIntStringHash::__construct ( int $size [, int $options = 0 ] )

This constructor creates a new QuickHashIntStringHash. The size is the amount of bucket lists to create. The more lists there are, the less collisions you will have. Options are also supported.

Parameter-Liste

size

The amount of bucket lists to configure. The number you pass in will be automatically rounded up to the next power of two. It is also automatically limited from 64 to 4194304.

options

The options that you can pass in are: QuickHashIntStringHash::CHECK_FOR_DUPES, which makes sure no duplicate entries are added to the hash; QuickHashIntStringHash::DO_NOT_USE_ZEND_ALLOC to not use PHP's internal memory manager as well as one of QuickHashIntStringHash::HASHER_NO_HASH, QuickHashIntStringHash::HASHER_JENKINS1 or QuickHashIntStringHash::HASHER_JENKINS2. These last three configure which hashing algorithm to use. All options can be combined using bitmasks.

Rückgabewerte

Returns a new QuickHashIntStringHash object.

Beispiele

Beispiel #1 QuickHashIntStringHash::__construct() example

<?php
var_dump( new QuickHashIntStringHash( 1024 ) );
var_dump( new QuickHashIntStringHash( 1024, QuickHashIntStringHash::CHECK_FOR_DUPES ) );
var_dump(
    new QuickHashIntStringHash(
        1024,
        QuickHashIntStringHash::DO_NOT_USE_ZEND_ALLOC | QuickHashIntStringHash::HASHER_JENKINS2
    )
);
?>

QuickHashIntStringHash::add
QuickHashIntStringHash::delete
QuickHashIntStringHash


This method deletes am entry from the hash

QuickHashIntStringHash::__construct
QuickHashIntStringHash::exists
QuickHashIntStringHash
PHP Manual

QuickHashIntStringHash::delete

(PECL quickhash >= Unknown)

QuickHashIntStringHash::delete — This method deletes am entry from the hash

Beschreibung

public bool QuickHashIntStringHash::delete ( int $key )

This method deletes an entry from the hash, and returns whether the entry was deleted or not. Associated memory structures will not be freed immediately, but rather when the hash itself is freed.

Elements can not be deleted when the hash is used in an iterator. The method will not throw an exception, but simply return FALSE like would happen with any other deletion failure.

Parameter-Liste

key

The key of the entry to delete.

Rückgabewerte

TRUE when the entry was deleted, and FALSE if the entry was not deleted.

Beispiele

Beispiel #1 QuickHashIntStringHash::delete() example

<?php
$hash = new QuickHashIntStringHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, "five" ) );
var_dump( $hash->delete( 4 ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->delete( 4 ) );
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(false)
bool(true)
bool(true)
bool(false)
bool(false)

QuickHashIntStringHash::__construct
QuickHashIntStringHash::exists
QuickHashIntStringHash


This method checks whether a key is part of the hash

QuickHashIntStringHash::delete
QuickHashIntStringHash::get
QuickHashIntStringHash
PHP Manual

QuickHashIntStringHash::exists

(PECL quickhash >= Unknown)

QuickHashIntStringHash::exists — This method checks whether a key is part of the hash

Beschreibung

public bool QuickHashIntStringHash::exists ( int $key )

This method checks whether an entry with the provided key exists in the hash.

Parameter-Liste

key

The key of the entry to check for whether it exists in the hash.

Rückgabewerte

Returns TRUE when the entry was found, or FALSE when the entry is not found.

QuickHashIntStringHash::delete
QuickHashIntStringHash::get
QuickHashIntStringHash


This method retrieves a value from the hash by its key

QuickHashIntStringHash::exists
QuickHashIntStringHash::getSize
QuickHashIntStringHash
PHP Manual

QuickHashIntStringHash::get

(PECL quickhash >= Unknown)

QuickHashIntStringHash::get — This method retrieves a value from the hash by its key

Beschreibung

public mixed QuickHashIntStringHash::get ( int $key )

This method retrieves a value from the hash by its key.

Parameter-Liste

key

The key of the entry to add.

Rückgabewerte

The value if the key exists, or NULL if the key wasn't part of the hash.

Beispiele

Beispiel #1 QuickHashIntStringHash::get() example

<?php
$hash = new QuickHashIntStringHash( 8 );
var_dump( $hash->get( 1 ) );

var_dump( $hash->add( 2, "two" ) );
var_dump( $hash->get( 2 ) );

var_dump( $hash->add( 3, 5 ) );
var_dump( $hash->get( 3 ) );
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(false)
bool(true)
string(3) "two"
bool(true)
string(1) "5"

QuickHashIntStringHash::exists
QuickHashIntStringHash::getSize
QuickHashIntStringHash


Returns the number of elements in the hash

QuickHashIntStringHash::get
QuickHashIntStringHash::loadFromFile
QuickHashIntStringHash
PHP Manual

QuickHashIntStringHash::getSize

(PECL quickhash >= Unknown)

QuickHashIntStringHash::getSize — Returns the number of elements in the hash

Beschreibung

public int QuickHashIntStringHash::getSize ( void )

Returns the number of elements in the hash.

Rückgabewerte

The number of elements in the hash.

Beispiele

Beispiel #1 QuickHashIntStringHash::getSize() example

<?php
$hash = new QuickHashIntStringHash( 8 );
var_dump( $hash->add( 2, "two" ) );
var_dump( $hash->add( 3, 5 ) );
var_dump( $hash->getSize() );
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(true)
bool(true)
int(2)

QuickHashIntStringHash::get
QuickHashIntStringHash::loadFromFile
QuickHashIntStringHash


This factory method creates a hash from a file

QuickHashIntStringHash::getSize
QuickHashIntStringHash::loadFromString
QuickHashIntStringHash
PHP Manual

QuickHashIntStringHash::loadFromFile

(PECL quickhash >= Unknown)

QuickHashIntStringHash::loadFromFile — This factory method creates a hash from a file

Beschreibung

public static QuickHashIntStringHash QuickHashIntStringHash::loadFromFile ( string $filename [, int $size = 0 [, int $options = 0 ]] )

This factory method creates a new hash from a definition file on disk. The file format consists of a signature 'QH\0x12\0', the number of elements as a 32 bit signed integer in system Endianness, an unsigned 32 bit integer containing the number of element data to follow in characters. This element data contains all the strings. After the header and the strings, the elements follow in pairs of two unsigned 32 bit integers where the first one is the key, and the second one the index in the element data string. An example could be:

Beispiel #1 QuickHash IntString file format

00000000  51 48 12 00 02 00 00 00  09 00 00 00 4f 4e 45 00  |QH..........ONE.|
00000010  4e 49 4e 45 00 01 00 00  00 00 00 00 00 03 00 00  |NINE............|
00000020  00 04 00 00 00                                    |.....|
00000025

Beispiel #2 QuickHash IntString file format

header signature ('QH'; key type: 1; value type: 2; filler: \0x00)
00000000  51 48 12 00

number of elements:
00000004  02 00 00 00

length of string values (9 characters):
00000008  09 00 00 00

string values:
0000000C  4f 4e 45 00 4e 49 4e 45  00

data string:
00000015  01 00 00 00 00 00 00 00  03 00 00 00 04 00 00 00

key/value 1 (key = 1, string index = 0 ("ONE")):
01 00 00 00  00 00 00 00

key/value 2 (key = 3, string index = 4 ("NINE")):
03 00 00 00  04 00 00 00

Parameter-Liste

filename

The filename of the file to read the hash from.

size

The amount of bucket lists to configure. The number you pass in will be automatically rounded up to the next power of two. It is also automatically limited from 4 to 4194304.

options

The same options that the class' constructor takes; except that the size option is ignored. It is automatically calculated to be the same as the number of entries in the hash, rounded up to the nearest power of two with a maximum limit of 4194304.

Rückgabewerte

Returns a new QuickHashIntStringHash.

Beispiele

Beispiel #3 QuickHashIntStringHash::loadFromFile() example

<?php
$file = dirname( __FILE__ ) . "/simple.string.hash";
$hash = QuickHashIntStringHash::loadFromFile(
    $file,
    QuickHashIntStringHash::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $key )
{
    printf( "Key %3d (%2x) is %s\n",
        $key, $key,
        $hash->exists( $key ) ? 'set' : 'unset'
    );
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Key   0 ( 0) is unset
Key   1 ( 1) is set
Key   2 ( 2) is set
Key   3 ( 3) is set
Key   4 ( 4) is unset
Key   5 ( 5) is set
Key   6 ( 6) is unset
Key   7 ( 7) is set
Key   8 ( 8) is unset
Key   9 ( 9) is unset
Key  10 ( a) is unset
Key  11 ( b) is set
Key  12 ( c) is unset
Key  13 ( d) is set
Key  14 ( e) is unset
Key  15 ( f) is unset

QuickHashIntStringHash::getSize
QuickHashIntStringHash::loadFromString
QuickHashIntStringHash


This factory method creates a hash from a string

QuickHashIntStringHash::loadFromFile
QuickHashIntStringHash::saveToFile
QuickHashIntStringHash
PHP Manual

QuickHashIntStringHash::loadFromString

(PECL quickhash >= Unknown)

QuickHashIntStringHash::loadFromString — This factory method creates a hash from a string

Beschreibung

public static QuickHashIntStringHash QuickHashIntStringHash::loadFromString ( string $contents [, int $size = 0 [, int $options = 0 ]] )

This factory method creates a new hash from a definition in a string. The format is the same as the one used in "loadFromFile".

Parameter-Liste

contents

The string containing a serialized format of the hash.

size

The amount of bucket lists to configure. The number you pass in will be automatically rounded up to the next power of two. It is also automatically limited from 4 to 4194304.

options

The same options that the class' constructor takes; except that the size option is ignored. It is automatically calculated to be the same as the number of entries in the hash, rounded up to the nearest power of two with a maximum limit of 4194304.

Rückgabewerte

Returns a new QuickHashIntStringHash.

Beispiele

Beispiel #1 QuickHashIntStringHash::loadFromString() example

<?php
$contents = file_get_contents( dirname( __FILE__ ) . "/simple.hash" );
$hash = QuickHashIntStringHash::loadFromString(
    $contents,
    QuickHashIntStringHash::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $key )
{
    printf( "Key %3d (%2x) is %s\n",
        $key, $key,
        $hash->exists( $key ) ? 'set' : 'unset'
    );
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Key   0 ( 0) is unset
Key   1 ( 1) is set
Key   2 ( 2) is set
Key   3 ( 3) is set
Key   4 ( 4) is unset
Key   5 ( 5) is set
Key   6 ( 6) is unset
Key   7 ( 7) is set
Key   8 ( 8) is unset
Key   9 ( 9) is unset
Key  10 ( a) is unset
Key  11 ( b) is set
Key  12 ( c) is unset
Key  13 ( d) is set
Key  14 ( e) is unset
Key  15 ( f) is unset

QuickHashIntStringHash::loadFromFile
QuickHashIntStringHash::saveToFile
QuickHashIntStringHash


This method stores an in-memory hash to disk

QuickHashIntStringHash::loadFromString
QuickHashIntStringHash::saveToString
QuickHashIntStringHash
PHP Manual

QuickHashIntStringHash::saveToFile

(PECL quickhash >= Unknown)

QuickHashIntStringHash::saveToFile — This method stores an in-memory hash to disk

Beschreibung

public void QuickHashIntStringHash::saveToFile ( string $filename )

This method stores an existing hash to a file on disk, in the same format that loadFromFile() can read.

Parameter-Liste

filename

The filename of the file to store the hash in.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 QuickHashIntStringHash::saveToFile() example

<?php
$hash = new QuickHashIntStringHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, "fourty three" ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, "fifty two" ) );

$hash->saveToFile( '/tmp/test.string.hash' );
?>

QuickHashIntStringHash::loadFromString
QuickHashIntStringHash::saveToString
QuickHashIntStringHash


This method returns a serialized version of the hash

QuickHashIntStringHash::saveToFile
QuickHashIntStringHash::set
QuickHashIntStringHash
PHP Manual

QuickHashIntStringHash::saveToString

(PECL quickhash >= Unknown)

QuickHashIntStringHash::saveToString — This method returns a serialized version of the hash

Beschreibung

public string QuickHashIntStringHash::saveToString ( void )

This method returns a serialized version of the hash in the same format that loadFromString() can read.

Rückgabewerte

This method returns a string containing a serialized format of the hash. Each element is stored as a four byte value in the Endianness that the current system uses.

Beispiele

Beispiel #1 QuickHashIntStringHash::saveToString() example

<?php
$hash = new QuickHashIntStringHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, "thirty four" ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 5, "fifty five" ) );

var_dump( $hash->saveToString() );
?>

QuickHashIntStringHash::saveToFile
QuickHashIntStringHash::set
QuickHashIntStringHash


This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist

QuickHashIntStringHash::saveToString
QuickHashIntStringHash::update
QuickHashIntStringHash
PHP Manual

QuickHashIntStringHash::set

(PECL quickhash >= Unknown)

QuickHashIntStringHash::set — This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist

Beschreibung

public int QuickHashIntStringHash::set ( int $key , string $value )

This method tries to update an entry with a new value. In case the entry did not yet exist, it will instead add a new entry. It returns whether the entry was added or update. If there are duplicate keys, only the first found element will get an updated value. Use QuickHashIntStringHash::CHECK_FOR_DUPES during hash creation to prevent duplicate keys from being part of the hash.

Parameter-Liste

key

The key of the entry to add or update.

value

The value of the entry to add. If a non-string is passed, it will be converted to a string automatically if possible.

Rückgabewerte

2 if the entry was found and updated, 1 if the entry was newly added or 0 if there was an error.

Beispiele

Beispiel #1 QuickHashIntStringHash::set() example

<?php
$hash = new QuickHashIntStringHash( 1024 );

echo "Set->Add\n";
var_dump( $hash->get( 46692 ) );
var_dump( $hash->set( 46692, "sixteen thousand ninety one" ) );
var_dump( $hash->get( 46692 ) );

echo "Set->Update\n";
var_dump( $hash->set( 46692, "twenty nine thousand nine hundred six" ) );
var_dump( $hash->get( 46692 ) );
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Set->Add
bool(false)
int(2)
string(27) "sixteen thousand ninety one"
Set->Update
int(1)
string(37) "twenty nine thousand nine hundred six"

QuickHashIntStringHash::saveToString
QuickHashIntStringHash::update
QuickHashIntStringHash


This method updates an entry in the hash with a new value

QuickHashIntStringHash::set
Reflection
QuickHashIntStringHash
PHP Manual

QuickHashIntStringHash::update

(PECL quickhash >= Unknown)

QuickHashIntStringHash::update — This method updates an entry in the hash with a new value

Beschreibung

public bool QuickHashIntStringHash::update ( int $key , string $value )

This method updates an entry with a new value, and returns whether the entry was update. If there are duplicate keys, only the first found element will get an updated value. Use QuickHashIntStringHash::CHECK_FOR_DUPES during hash creation to prevent duplicate keys from being part of the hash.

Parameter-Liste

key

The key of the entry to add.

value

The new value for the entry. If a non-string is passed, it will be converted to a string automatically if possible.

Rückgabewerte

TRUE when the entry was found and updated, and FALSE if the entry was not part of the hash already.

Beispiele

Beispiel #1 QuickHashIntStringHash::update() example

<?php
$hash->add( 161803398, "--" );
$hash->add( 314159265, "a lot" );

echo $hash->get( 161803398 ), "\n";
echo $hash->get( 314159265 ), "\n";

var_dump( $hash->update( 314159265, "a lot plus one" ) );
var_dump( $hash->update( 314159999, "a lot plus one" ) );

echo $hash->get( 161803398 ), "\n";
echo $hash->get( 314159265 ), "\n";
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

--
a lot
bool(true)
bool(false)
--
a lot plus one

QuickHashIntStringHash::set
Reflection
QuickHashIntStringHash


Reflection

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
  • Extending
  • Reflection — The Reflection class
    • Reflection::export — Exports
    • Reflection::getModifierNames — Gets modifier names
  • ReflectionClass — The ReflectionClass class
    • ReflectionClass::__construct — Constructs a ReflectionClass
    • ReflectionClass::export — Exports a class
    • ReflectionClass::getConstant — Gets defined constant
    • ReflectionClass::getConstants — Gets constants
    • ReflectionClass::getConstructor — Gets the constructor of the class
    • ReflectionClass::getDefaultProperties — Gets default properties
    • ReflectionClass::getDocComment — Gets doc comments
    • ReflectionClass::getEndLine — Gets end line
    • ReflectionClass::getExtension — Gets a ReflectionExtension object for the extension which defined the class
    • ReflectionClass::getExtensionName — Gets the name of the extension which defined the class
    • ReflectionClass::getFileName — Gets the filename of the file in which the class has been defined
    • ReflectionClass::getInterfaceNames — Gets the interface names
    • ReflectionClass::getInterfaces — Gets the interfaces
    • ReflectionClass::getMethod — Gets a ReflectionMethod for a class method.
    • ReflectionClass::getMethods — Gets an array of methods
    • ReflectionClass::getModifiers — Gets modifiers
    • ReflectionClass::getName — Gets class name
    • ReflectionClass::getNamespaceName — Gets namespace name
    • ReflectionClass::getParentClass — Gets parent class
    • ReflectionClass::getProperties — Gets properties
    • ReflectionClass::getProperty — Gets a ReflectionProperty for a class's property
    • ReflectionClass::getShortName — Gets short name
    • ReflectionClass::getStartLine — Gets starting line number
    • ReflectionClass::getStaticProperties — Gets static properties
    • ReflectionClass::getStaticPropertyValue — Gets static property value
    • ReflectionClass::getTraitAliases — Returns an array of trait aliases
    • ReflectionClass::getTraitNames — Returns an array of names of traits used by this class
    • ReflectionClass::getTraits — Returns an array of traits used by this class
    • ReflectionClass::hasConstant — Checks if constant is defined
    • ReflectionClass::hasMethod — Checks if method is defined
    • ReflectionClass::hasProperty — Checks if property is defined
    • ReflectionClass::implementsInterface — Implements interface
    • ReflectionClass::inNamespace — Checks if in namespace
    • ReflectionClass::isAbstract — Checks if class is abstract
    • ReflectionClass::isAnonymous — Checks if class is anonymous
    • ReflectionClass::isCloneable — Returns whether this class is cloneable
    • ReflectionClass::isFinal — Checks if class is final
    • ReflectionClass::isInstance — Checks class for instance
    • ReflectionClass::isInstantiable — Checks if the class is instantiable
    • ReflectionClass::isInterface — Checks if the class is an interface
    • ReflectionClass::isInternal — Checks if class is defined internally by an extension, or the core
    • ReflectionClass::isIterateable — Checks if iterateable
    • ReflectionClass::isSubclassOf — Checks if a subclass
    • ReflectionClass::isTrait — Returns whether this is a trait
    • ReflectionClass::isUserDefined — Checks if user defined
    • ReflectionClass::newInstance — Creates a new class instance from given arguments.
    • ReflectionClass::newInstanceArgs — Creates a new class instance from given arguments.
    • ReflectionClass::newInstanceWithoutConstructor — Creates a new class instance without invoking the constructor.
    • ReflectionClass::setStaticPropertyValue — Sets static property value
    • ReflectionClass::__toString — Returns the string representation of the ReflectionClass object.
  • ReflectionZendExtension — The ReflectionZendExtension class
    • ReflectionZendExtension::__clone — Clone handler
    • ReflectionZendExtension::__construct — Constructor
    • ReflectionZendExtension::export — Export
    • ReflectionZendExtension::getAuthor — Gets author
    • ReflectionZendExtension::getCopyright — Gets copyright
    • ReflectionZendExtension::getName — Gets name
    • ReflectionZendExtension::getURL — Gets URL
    • ReflectionZendExtension::getVersion — Gets version
    • ReflectionZendExtension::__toString — To string handler
  • ReflectionExtension — The ReflectionExtension class
    • ReflectionExtension::__clone — Clones
    • ReflectionExtension::__construct — Constructs a ReflectionExtension
    • ReflectionExtension::export — Export
    • ReflectionExtension::getClasses — Gets classes
    • ReflectionExtension::getClassNames — Gets class names
    • ReflectionExtension::getConstants — Gets constants
    • ReflectionExtension::getDependencies — Gets dependencies
    • ReflectionExtension::getFunctions — Gets extension functions
    • ReflectionExtension::getINIEntries — Gets extension ini entries
    • ReflectionExtension::getName — Gets extension name
    • ReflectionExtension::getVersion — Gets extension version
    • ReflectionExtension::info — Print extension info
    • ReflectionExtension::isPersistent — Returns whether this extension is persistent
    • ReflectionExtension::isTemporary — Returns whether this extension is temporary
    • ReflectionExtension::__toString — To string
  • ReflectionFunction — The ReflectionFunction class
    • ReflectionFunction::__construct — Constructs a ReflectionFunction object
    • ReflectionFunction::export — Exports function
    • ReflectionFunction::getClosure — Returns a dynamically created closure for the function
    • ReflectionFunction::invoke — Invokes function
    • ReflectionFunction::invokeArgs — Invokes function args
    • ReflectionFunction::isDisabled — Checks if function is disabled
    • ReflectionFunction::__toString — To string
  • ReflectionFunctionAbstract — The ReflectionFunctionAbstract class
    • ReflectionFunctionAbstract::__clone — Clones function
    • ReflectionFunctionAbstract::getClosureScopeClass — Returns the scope associated to the closure
    • ReflectionFunctionAbstract::getClosureThis — Returns this pointer bound to closure
    • ReflectionFunctionAbstract::getDocComment — Gets doc comment
    • ReflectionFunctionAbstract::getEndLine — Gets end line number
    • ReflectionFunctionAbstract::getExtension — Gets extension info
    • ReflectionFunctionAbstract::getExtensionName — Gets extension name
    • ReflectionFunctionAbstract::getFileName — Gets file name
    • ReflectionFunctionAbstract::getName — Gets function name
    • ReflectionFunctionAbstract::getNamespaceName — Gets namespace name
    • ReflectionFunctionAbstract::getNumberOfParameters — Gets number of parameters
    • ReflectionFunctionAbstract::getNumberOfRequiredParameters — Gets number of required parameters
    • ReflectionFunctionAbstract::getParameters — Gets parameters
    • ReflectionFunctionAbstract::getReturnType — Gets the specified return type of a function
    • ReflectionFunctionAbstract::getShortName — Gets function short name
    • ReflectionFunctionAbstract::getStartLine — Gets starting line number
    • ReflectionFunctionAbstract::getStaticVariables — Gets static variables
    • ReflectionFunctionAbstract::hasReturnType — Checks if the function has a specified return type
    • ReflectionFunctionAbstract::inNamespace — Checks if function in namespace
    • ReflectionFunctionAbstract::isClosure — Checks if closure
    • ReflectionFunctionAbstract::isDeprecated — Checks if deprecated
    • ReflectionFunctionAbstract::isGenerator — Returns whether this function is a generator
    • ReflectionFunctionAbstract::isInternal — Checks if is internal
    • ReflectionFunctionAbstract::isUserDefined — Checks if user defined
    • ReflectionFunctionAbstract::isVariadic — Checks if the function is variadic
    • ReflectionFunctionAbstract::returnsReference — Checks if returns reference
    • ReflectionFunctionAbstract::__toString — To string
  • ReflectionMethod — The ReflectionMethod class
    • ReflectionMethod::__construct — Constructs a ReflectionMethod
    • ReflectionMethod::export — Export a reflection method.
    • ReflectionMethod::getClosure — Returns a dynamically created closure for the method
    • ReflectionMethod::getDeclaringClass — Gets declaring class for the reflected method.
    • ReflectionMethod::getModifiers — Gets the method modifiers
    • ReflectionMethod::getPrototype — Gets the method prototype (if there is one).
    • ReflectionMethod::invoke — Invoke
    • ReflectionMethod::invokeArgs — Invoke args
    • ReflectionMethod::isAbstract — Checks if method is abstract
    • ReflectionMethod::isConstructor — Checks if method is a constructor
    • ReflectionMethod::isDestructor — Checks if method is a destructor
    • ReflectionMethod::isFinal — Checks if method is final
    • ReflectionMethod::isPrivate — Checks if method is private
    • ReflectionMethod::isProtected — Checks if method is protected
    • ReflectionMethod::isPublic — Checks if method is public
    • ReflectionMethod::isStatic — Checks if method is static
    • ReflectionMethod::setAccessible — Set method accessibility
    • ReflectionMethod::__toString — Returns the string representation of the Reflection method object.
  • ReflectionObject — The ReflectionObject class
    • ReflectionObject::__construct — Constructs a ReflectionObject
    • ReflectionObject::export — Export
  • ReflectionParameter — The ReflectionParameter class
    • ReflectionParameter::allowsNull — Checks if null is allowed
    • ReflectionParameter::canBePassedByValue — Returns whether this parameter can be passed by value
    • ReflectionParameter::__clone — Clone
    • ReflectionParameter::__construct — Construct
    • ReflectionParameter::export — Exports
    • ReflectionParameter::getClass — Get the type hinted class
    • ReflectionParameter::getDeclaringClass — Gets declaring class
    • ReflectionParameter::getDeclaringFunction — Gets declaring function
    • ReflectionParameter::getDefaultValue — Gets default parameter value
    • ReflectionParameter::getDefaultValueConstantName — Returns the default value's constant name if default value is constant or null
    • ReflectionParameter::getName — Gets parameter name
    • ReflectionParameter::getPosition — Gets parameter position
    • ReflectionParameter::getType — Gets a parameter's type
    • ReflectionParameter::hasType — Checks if parameter has a type
    • ReflectionParameter::isArray — Checks if parameter expects an array
    • ReflectionParameter::isCallable — Returns whether parameter MUST be callable
    • ReflectionParameter::isDefaultValueAvailable — Checks if a default value is available
    • ReflectionParameter::isDefaultValueConstant — Returns whether the default value of this parameter is constant
    • ReflectionParameter::isOptional — Checks if optional
    • ReflectionParameter::isPassedByReference — Checks if passed by reference
    • ReflectionParameter::isVariadic — Checks if the parameter is variadic
    • ReflectionParameter::__toString — To string
  • ReflectionProperty — The ReflectionProperty class
    • ReflectionProperty::__clone — Clone
    • ReflectionProperty::__construct — Construct a ReflectionProperty object
    • ReflectionProperty::export — Export
    • ReflectionProperty::getDeclaringClass — Gets declaring class
    • ReflectionProperty::getDocComment — Gets the property doc comment
    • ReflectionProperty::getModifiers — Gets modifiers
    • ReflectionProperty::getName — Gets property name
    • ReflectionProperty::getValue — Gets value
    • ReflectionProperty::isDefault — Checks if property is a default property
    • ReflectionProperty::isPrivate — Checks if property is private
    • ReflectionProperty::isProtected — Checks if property is protected
    • ReflectionProperty::isPublic — Checks if property is public
    • ReflectionProperty::isStatic — Checks if property is static
    • ReflectionProperty::setAccessible — Set property accessibility
    • ReflectionProperty::setValue — Set property value
    • ReflectionProperty::__toString — To string
  • ReflectionType — The ReflectionType class
    • ReflectionType::allowsNull — Checks if null is allowed
    • ReflectionType::isBuiltin — Checks if it is a built-in type
    • ReflectionType::__toString — To string
  • ReflectionGenerator — The ReflectionGenerator class
    • ReflectionGenerator::__construct — Constructs a ReflectionGenerator object
    • ReflectionGenerator::getExecutingFile — Gets the file name of the currently executing generator
    • ReflectionGenerator::getExecutingGenerator — Gets the executing Generator object
    • ReflectionGenerator::getExecutingLine — Gets the currently executing line of the generator
    • ReflectionGenerator::getFunction — Gets the function name of the generator
    • ReflectionGenerator::getThis — Gets the $this value of the generator
    • ReflectionGenerator::getTrace — Gets the trace of the executing generator
  • Reflector — The Reflector interface
    • Reflector::export — Exports
    • Reflector::__toString — To string
  • ReflectionException — The ReflectionException class
QuickHashIntStringHash::update
Einführung
Variablen- und typbezogene Erweiterungen


Einführung

PHP 5 comes with a complete reflection API that adds the ability to reverse-engineer classes, interfaces, functions, methods and extensions. Additionally, the reflection API offers ways to retrieve doc comments for functions, classes and methods.

Please note that certain parts of the internal API are missing the necessary code to work with the Reflection extension. E.g., an internal PHP class might be missing reflection data for properties. These few cases are considered bugs, however, so they should be discovered and fixed.

Reflection
Installation/Konfiguration
Reflection


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Reflection


Vordefinierte Konstanten

Each class describes its own constants.

Ressource-Typen
Beispiele
Reflection


Beispiele

Many examples exist within the Reflection documentation, typically within the __construct documentation for each class.

Beispiel #1 Reflection Example from Shell (a Terminal)

$ php --rf strlen
$ php --rc finfo
$ php --re json
$ php --ri dom

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Function [ <internal:Core> function strlen ] {

  - Parameters [1] {
    Parameter #0 [ <required> $str ]
  }
}

Class [ <internal:fileinfo> class finfo ] {

  - Constants [0] {
  }

  - Static properties [0] {
  }

  - Static methods [0] {
  }

  - Properties [0] {
  }

  - Methods [4] {
    Method [ <internal:fileinfo, ctor> public method finfo ] {

      - Parameters [2] {
        Parameter #0 [ <optional> $options ]
        Parameter #1 [ <optional> $arg ]
      }
    }

    Method [ <internal:fileinfo> public method set_flags ] {

      - Parameters [1] {
        Parameter #0 [ <required> $options ]
      }
    }

    Method [ <internal:fileinfo> public method file ] {

      - Parameters [3] {
        Parameter #0 [ <required> $filename ]
        Parameter #1 [ <optional> $options ]
        Parameter #2 [ <optional> $context ]
      }
    }

    Method [ <internal:fileinfo> public method buffer ] {

      - Parameters [3] {
        Parameter #0 [ <required> $string ]
        Parameter #1 [ <optional> $options ]
        Parameter #2 [ <optional> $context ]
      }
    }
  }
}

Extension [ <persistent> extension #23 json version 1.2.1 ] {

  - Constants [10] {
    Constant [ integer JSON_HEX_TAG ] { 1 }
    Constant [ integer JSON_HEX_AMP ] { 2 }
    Constant [ integer JSON_HEX_APOS ] { 4 }
    Constant [ integer JSON_HEX_QUOT ] { 8 }
    Constant [ integer JSON_FORCE_OBJECT ] { 16 }
    Constant [ integer JSON_ERROR_NONE ] { 0 }
    Constant [ integer JSON_ERROR_DEPTH ] { 1 }
    Constant [ integer JSON_ERROR_STATE_MISMATCH ] { 2 }
    Constant [ integer JSON_ERROR_CTRL_CHAR ] { 3 }
    Constant [ integer JSON_ERROR_SYNTAX ] { 4 }
  }

  - Functions {
    Function [ <internal:json> function json_encode ] {

      - Parameters [2] {
        Parameter #0 [ <required> $value ]
        Parameter #1 [ <optional> $options ]
      }
    }
    Function [ <internal:json> function json_decode ] {

      - Parameters [3] {
        Parameter #0 [ <required> $json ]
        Parameter #1 [ <optional> $assoc ]
        Parameter #2 [ <optional> $depth ]
      }
    }
    Function [ <internal:json> function json_last_error ] {

      - Parameters [0] {
      }
    }
  }
}

dom

DOM/XML => enabled
DOM/XML API Version => 20031129
libxml Version => 2.7.3
HTML Support => enabled
XPath Support => enabled
XPointer Support => enabled
Schema Support => enabled
RelaxNG Support => enabled
Vordefinierte Konstanten
Extending
Reflection


Extending

If you want to create specialized versions of the built-in classes (say, for creating colorized HTML when being exported, having easy-access member variables instead of methods or having utility methods), you may go ahead and extend them.

Beispiel #1 Extending the built-in classes

<?php
/**
 * My Reflection_Method class
 */
class My_Reflection_Method extends ReflectionMethod
{
    public $visibility = array();

    public function __construct($o, $m)
    {
        parent::__construct($o, $m);
        $this->visibility = Reflection::getModifierNames($this->getModifiers());
    }
}

/**
 * Demo class #1
 *
 */
class T {
    protected function x() {}
}

/**
 * Demo class #2
 *
 */
class U extends T {
    function x() {}
}

// Print out information
var_dump(new My_Reflection_Method('U', 'x'));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(My_Reflection_Method)#1 (3) {
  ["visibility"]=>
  array(1) {
    [0]=>
    string(6) "public"
  }
  ["name"]=>
  string(1) "x"
  ["class"]=>
  string(1) "U"
}
Achtung

If you're overwriting the constructor, remember to call the parent's constructor before any code you insert. Failing to do so will result in the following: Fatal error: Internal error: Failed to retrieve the reflection object

Beispiele
Reflection
Reflection


The Reflection class

(PHP 5, PHP 7)

Einführung

The reflection class.

Klassenbeschreibung

Reflection {
/* Methoden */
public static string export ( Reflector $reflector [, bool $return = false ] )
public static array getModifierNames ( int $modifiers )
}

Inhaltsverzeichnis

  • Reflection::export — Exports
  • Reflection::getModifierNames — Gets modifier names
Extending
Reflection::export
Reflection


Exports

Reflection
Reflection::getModifierNames
Reflection
PHP Manual

Reflection::export

(PHP 5, PHP 7)

Reflection::export — Exports

Beschreibung

public static string Reflection::export ( Reflector $reflector [, bool $return = false ] )

Exports a reflection.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

reflector

Die Reflection, die exportiert werden soll.

return

Wird dies auf TRUE gesetzt, so wird der Export zurückgegeben anstelle ihn auszugeben. Wird dies auf FALSE gesetzt (der Standardwert), wird das Gegenteil passieren.

Rückgabewerte

Falls der Parameter return auf TRUE gesetzt ist, so wird der Export als ein String zurückgegeben, andernfalls wird NULL zurückgegeben.

Siehe auch

  • Reflection::getModifierNames() - Gets modifier names

Reflection
Reflection::getModifierNames
Reflection


Gets modifier names

Reflection::export
ReflectionClass
Reflection
PHP Manual

Reflection::getModifierNames

(PHP 5, PHP 7)

Reflection::getModifierNames — Gets modifier names

Beschreibung

public static array Reflection::getModifierNames ( int $modifiers )

Gets modifier names.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

modifiers

The modifiers to get, which is from a numeric value.

Rückgabewerte

An array of modifier names.

Siehe auch

  • Reflection::export() - Exports

Reflection::export
ReflectionClass
Reflection


The ReflectionClass class

(PHP 5, PHP 7)

Einführung

The ReflectionClass class reports information about a class.

Klassenbeschreibung

ReflectionClass implements Reflector {
/* Konstanten */
const integer IS_IMPLICIT_ABSTRACT = 16 ;
const integer IS_EXPLICIT_ABSTRACT = 32 ;
const integer IS_FINAL = 64 ;
/* Eigenschaften */
public $name ;
/* Methoden */
public __construct ( mixed $argument )
public static string export ( mixed $argument [, bool $return = false ] )
public mixed getConstant ( string $name )
public array getConstants ( void )
public ReflectionMethod getConstructor ( void )
public array getDefaultProperties ( void )
public string getDocComment ( void )
public int getEndLine ( void )
public ReflectionExtension getExtension ( void )
public string getExtensionName ( void )
public string getFileName ( void )
public array getInterfaceNames ( void )
public array getInterfaces ( void )
public ReflectionMethod getMethod ( string $name )
public array getMethods ([ int $filter ] )
public int getModifiers ( void )
public string getName ( void )
public string getNamespaceName ( void )
public ReflectionClass getParentClass ( void )
public array getProperties ([ int $filter ] )
public ReflectionProperty getProperty ( string $name )
public string getShortName ( void )
public int getStartLine ( void )
public array getStaticProperties ( void )
public mixed getStaticPropertyValue ( string $name [, mixed &$def_value ] )
public array getTraitAliases ( void )
public array getTraitNames ( void )
public array getTraits ( void )
public bool hasConstant ( string $name )
public bool hasMethod ( string $name )
public bool hasProperty ( string $name )
public bool implementsInterface ( string $interface )
public bool inNamespace ( void )
public bool isAbstract ( void )
public bool isAnonymous ( void )
public bool isCloneable ( void )
public bool isFinal ( void )
public bool isInstance ( object $object )
public bool isInstantiable ( void )
public bool isInterface ( void )
public bool isInternal ( void )
public bool isIterateable ( void )
public bool isSubclassOf ( string $class )
public bool isTrait ( void )
public bool isUserDefined ( void )
public object newInstance ( mixed $args [, mixed $... ] )
public object newInstanceArgs ([ array $args ] )
public object newInstanceWithoutConstructor ( void )
public void setStaticPropertyValue ( string $name , string $value )
public string __toString ( void )
}

Eigenschaften

name

Name of the class. Read-only, throws ReflectionException in attempt to write.

Vordefinierte Konstanten

ReflectionClass Modifiers

ReflectionClass::IS_IMPLICIT_ABSTRACT

Indicates class that is abstract because it has some abstract methods.

ReflectionClass::IS_EXPLICIT_ABSTRACT

Indicates class that is abstract because of its definition.

ReflectionClass::IS_FINAL

Indicates final class.

Inhaltsverzeichnis

  • ReflectionClass::__construct — Constructs a ReflectionClass
  • ReflectionClass::export — Exports a class
  • ReflectionClass::getConstant — Gets defined constant
  • ReflectionClass::getConstants — Gets constants
  • ReflectionClass::getConstructor — Gets the constructor of the class
  • ReflectionClass::getDefaultProperties — Gets default properties
  • ReflectionClass::getDocComment — Gets doc comments
  • ReflectionClass::getEndLine — Gets end line
  • ReflectionClass::getExtension — Gets a ReflectionExtension object for the extension which defined the class
  • ReflectionClass::getExtensionName — Gets the name of the extension which defined the class
  • ReflectionClass::getFileName — Gets the filename of the file in which the class has been defined
  • ReflectionClass::getInterfaceNames — Gets the interface names
  • ReflectionClass::getInterfaces — Gets the interfaces
  • ReflectionClass::getMethod — Gets a ReflectionMethod for a class method.
  • ReflectionClass::getMethods — Gets an array of methods
  • ReflectionClass::getModifiers — Gets modifiers
  • ReflectionClass::getName — Gets class name
  • ReflectionClass::getNamespaceName — Gets namespace name
  • ReflectionClass::getParentClass — Gets parent class
  • ReflectionClass::getProperties — Gets properties
  • ReflectionClass::getProperty — Gets a ReflectionProperty for a class's property
  • ReflectionClass::getShortName — Gets short name
  • ReflectionClass::getStartLine — Gets starting line number
  • ReflectionClass::getStaticProperties — Gets static properties
  • ReflectionClass::getStaticPropertyValue — Gets static property value
  • ReflectionClass::getTraitAliases — Returns an array of trait aliases
  • ReflectionClass::getTraitNames — Returns an array of names of traits used by this class
  • ReflectionClass::getTraits — Returns an array of traits used by this class
  • ReflectionClass::hasConstant — Checks if constant is defined
  • ReflectionClass::hasMethod — Checks if method is defined
  • ReflectionClass::hasProperty — Checks if property is defined
  • ReflectionClass::implementsInterface — Implements interface
  • ReflectionClass::inNamespace — Checks if in namespace
  • ReflectionClass::isAbstract — Checks if class is abstract
  • ReflectionClass::isAnonymous — Checks if class is anonymous
  • ReflectionClass::isCloneable — Returns whether this class is cloneable
  • ReflectionClass::isFinal — Checks if class is final
  • ReflectionClass::isInstance — Checks class for instance
  • ReflectionClass::isInstantiable — Checks if the class is instantiable
  • ReflectionClass::isInterface — Checks if the class is an interface
  • ReflectionClass::isInternal — Checks if class is defined internally by an extension, or the core
  • ReflectionClass::isIterateable — Checks if iterateable
  • ReflectionClass::isSubclassOf — Checks if a subclass
  • ReflectionClass::isTrait — Returns whether this is a trait
  • ReflectionClass::isUserDefined — Checks if user defined
  • ReflectionClass::newInstance — Creates a new class instance from given arguments.
  • ReflectionClass::newInstanceArgs — Creates a new class instance from given arguments.
  • ReflectionClass::newInstanceWithoutConstructor — Creates a new class instance without invoking the constructor.
  • ReflectionClass::setStaticPropertyValue — Sets static property value
  • ReflectionClass::__toString — Returns the string representation of the ReflectionClass object.
Reflection::getModifierNames
ReflectionClass::__construct
Reflection


Constructs a ReflectionClass

ReflectionClass
ReflectionClass::export
ReflectionClass
PHP Manual

ReflectionClass::__construct

(PHP 5, PHP 7)

ReflectionClass::__construct — Constructs a ReflectionClass

Beschreibung

public ReflectionClass::__construct ( mixed $argument )

Constructs a new ReflectionClass object.

Parameter-Liste

argument

Either a string containing the name of the class to reflect, or an object.

Rückgabewerte

Returns constructed ReflectionClass instance.

Fehler/Exceptions

Throws ReflectionException if the class to reflect does not exist.

Beispiele

Beispiel #1 Basic usage ReflectionClass

<?php
Reflection::export(new ReflectionClass('Exception'));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Class [ <internal:Core> class Exception ] {

  - Constants [0] {
  }

  - Static properties [0] {
  }

  - Static methods [0] {
  }

  - Properties [7] {
    Property [ <default> protected $message ]
    Property [ <default> private $string ]
    Property [ <default> protected $code ]
    Property [ <default> protected $file ]
    Property [ <default> protected $line ]
    Property [ <default> private $trace ]
    Property [ <default> private $previous ]
  }

  - Methods [10] {
    Method [ <internal:Core> final private method __clone ] {
    }

    Method [ <internal:Core, ctor> public method __construct ] {

      - Parameters [3] {
        Parameter #0 [ <optional> $message ]
        Parameter #1 [ <optional> $code ]
        Parameter #2 [ <optional> $previous ]
      }
    }

    Method [ <internal:Core> final public method getMessage ] {
    }

    Method [ <internal:Core> final public method getCode ] {
    }

    Method [ <internal:Core> final public method getFile ] {
    }

    Method [ <internal:Core> final public method getLine ] {
    }

    Method [ <internal:Core> final public method getTrace ] {
    }

    Method [ <internal:Core> final public method getPrevious ] {
    }

    Method [ <internal:Core> final public method getTraceAsString ] {
    }

    Method [ <internal:Core> public method __toString ] {
    }
  }
}

Siehe auch

  • ReflectionObject::__construct() - Constructs a ReflectionObject
  • Constructors

ReflectionClass
ReflectionClass::export
ReflectionClass


Exports a class

ReflectionClass::__construct
ReflectionClass::getConstant
ReflectionClass
PHP Manual

ReflectionClass::export

(PHP 5, PHP 7)

ReflectionClass::export — Exports a class

Beschreibung

public static string ReflectionClass::export ( mixed $argument [, bool $return = false ] )

Exports a reflected class.

Parameter-Liste

argument

Die Reflection, die exportiert werden soll.

return

Wird dies auf TRUE gesetzt, so wird der Export zurückgegeben anstelle ihn auszugeben. Wird dies auf FALSE gesetzt (der Standardwert), wird das Gegenteil passieren.

Rückgabewerte

Falls der Parameter return auf TRUE gesetzt ist, so wird der Export als ein String zurückgegeben, andernfalls wird NULL zurückgegeben.

Beispiele

Beispiel #1 Basic usage of ReflectionClass::export()

<?php
class Apple {
    public $var1;
    public $var2 = 'Orange';

    public function type() {
        return 'Apple';
    }
}
ReflectionClass::export('Apple');
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Class [ <user> class Apple ] {
  @@ php shell code 1-8

  - Constants [0] {
  }

  - Static properties [0] {
  }

  - Static methods [0] {
  }

  - Properties [2] {
    Property [ <default> public $var1 ]
    Property [ <default> public $var2 ]
  }

  - Methods [1] {
    Method [ <user> public method type ] {
      @@ php shell code 5 - 7
    }
  }
}

Siehe auch

  • ReflectionClass::getName() - Gets class name

ReflectionClass::__construct
ReflectionClass::getConstant
ReflectionClass


Gets defined constant

ReflectionClass::export
ReflectionClass::getConstants
ReflectionClass
PHP Manual

ReflectionClass::getConstant

(PHP 5, PHP 7)

ReflectionClass::getConstant — Gets defined constant

Beschreibung

public mixed ReflectionClass::getConstant ( string $name )

Gets the defined constant.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

name

Name of the constant.

Rückgabewerte

Value of the constant.

Siehe auch

  • ReflectionClass::getConstants() - Gets constants

ReflectionClass::export
ReflectionClass::getConstants
ReflectionClass


Gets constants

ReflectionClass::getConstant
ReflectionClass::getConstructor
ReflectionClass
PHP Manual

ReflectionClass::getConstants

(PHP 5, PHP 7)

ReflectionClass::getConstants — Gets constants

Beschreibung

public array ReflectionClass::getConstants ( void )

Gets defined constants from a class.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An array of constants. Constant name in key, constant value in value.

Siehe auch

  • ReflectionClass::getConstant() - Gets defined constant

ReflectionClass::getConstant
ReflectionClass::getConstructor
ReflectionClass


Gets the constructor of the class

ReflectionClass::getConstants
ReflectionClass::getDefaultProperties
ReflectionClass
PHP Manual

ReflectionClass::getConstructor

(PHP 5, PHP 7)

ReflectionClass::getConstructor — Gets the constructor of the class

Beschreibung

public ReflectionMethod ReflectionClass::getConstructor ( void )

Gets the constructor of the reflected class.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A ReflectionMethod object reflecting the class' constructor, or NULL if the class has no constructor.

Beispiele

Beispiel #1 Basic usage of ReflectionClass::getConstructor()

<?php
$class = new ReflectionClass('ReflectionClass');
$constructor = $class->getConstructor();
var_dump($constructor);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(ReflectionMethod)#2 (2) {
  ["name"]=>
  string(11) "__construct"
  ["class"]=>
  string(15) "ReflectionClass"
}

Siehe auch

  • ReflectionClass::getName() - Gets class name

ReflectionClass::getConstants
ReflectionClass::getDefaultProperties
ReflectionClass


Gets default properties

ReflectionClass::getConstructor
ReflectionClass::getDocComment
ReflectionClass
PHP Manual

ReflectionClass::getDefaultProperties

(PHP 5, PHP 7)

ReflectionClass::getDefaultProperties — Gets default properties

Beschreibung

public array ReflectionClass::getDefaultProperties ( void )

Gets default properties from a class (including inherited properties).

Hinweis:

This method only works for static properties when used on internal classes. The default value of a static class property can not be tracked when using this method on user defined classes.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An array of default properties, with the key being the name of the property and the value being the default value of the property or NULL if the property doesn't have a default value. The function does not distinguish between static and non static properties and does not take visibility modifiers into account.

Beispiele

Beispiel #1 ReflectionClass::getDefaultProperties() example

<?php
class Bar {
    protected $inheritedProperty = 'inheritedDefault';
}

class Foo extends Bar {
    public $property = 'propertyDefault';
    private $privateProperty = 'privatePropertyDefault';
    public static $staticProperty = 'staticProperty';
    public $defaultlessProperty;
}

$reflectionClass = new ReflectionClass('Foo');
var_dump($reflectionClass->getDefaultProperties());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(5) {
   ["staticProperty"]=>
   string(14) "staticProperty"
   ["property"]=>
   string(15) "propertyDefault"
   ["privateProperty"]=>
   string(22) "privatePropertyDefault"
   ["defaultlessProperty"]=>
   NULL
   ["inheritedProperty"]=>
   string(16) "inheritedDefault"
}

Siehe auch

  • ReflectionClass::getProperties() - Gets properties
  • ReflectionClass::getStaticProperties() - Gets static properties
  • ReflectionClass::getProperty() - Gets a ReflectionProperty for a class's property

ReflectionClass::getConstructor
ReflectionClass::getDocComment
ReflectionClass


Gets doc comments

ReflectionClass::getDefaultProperties
ReflectionClass::getEndLine
ReflectionClass
PHP Manual

ReflectionClass::getDocComment

(PHP 5 >= 5.1.0, PHP 7)

ReflectionClass::getDocComment — Gets doc comments

Beschreibung

public string ReflectionClass::getDocComment ( void )

Gets doc comments from a class.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The doc comment if it exists, otherwise FALSE

Beispiele

Beispiel #1 ReflectionClass::getDocComment() example

<?php
/**
* A test class
*
* @param  foo bar
* @return baz
*/
class TestClass { }

$rc = new ReflectionClass('TestClass');
var_dump($rc->getDocComment())
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(55) "/**
* A test class
*
* @param  foo bar
* @return baz
*/"

Siehe auch

  • ReflectionClass::getName() - Gets class name

ReflectionClass::getDefaultProperties
ReflectionClass::getEndLine
ReflectionClass


Gets end line

ReflectionClass::getDocComment
ReflectionClass::getExtension
ReflectionClass
PHP Manual

ReflectionClass::getEndLine

(PHP 5, PHP 7)

ReflectionClass::getEndLine — Gets end line

Beschreibung

public int ReflectionClass::getEndLine ( void )

Gets end line number from a user-defined class definition.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The ending line number of the user defined class, or FALSE if unknown.

Beispiele

Beispiel #1 ReflectionClass::getEndLine() example

<?php
// Test Class
class TestClass { }

$rc = new ReflectionClass('TestClass');

echo $rc->getEndLine();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

3

Siehe auch

  • ReflectionClass::getStartLine() - Gets starting line number

ReflectionClass::getDocComment
ReflectionClass::getExtension
ReflectionClass


Gets a ReflectionExtension object for the extension which defined the class

ReflectionClass::getEndLine
ReflectionClass::getExtensionName
ReflectionClass
PHP Manual

ReflectionClass::getExtension

(PHP 5, PHP 7)

ReflectionClass::getExtension — Gets a ReflectionExtension object for the extension which defined the class

Beschreibung

public ReflectionExtension ReflectionClass::getExtension ( void )

Gets a ReflectionExtension object for the extension which defined the class.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A ReflectionExtension object representing the extension which defined the class, or NULL for user-defined classes.

Beispiele

Beispiel #1 Basic usage of ReflectionClass::getExtension()

<?php
$class = new ReflectionClass('ReflectionClass');
$extension = $class->getExtension();
var_dump($extension);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(ReflectionExtension)#2 (1) {
  ["name"]=>
  string(10) "Reflection"
}

Siehe auch

  • ReflectionClass::getExtensionName() - Gets the name of the extension which defined the class

ReflectionClass::getEndLine
ReflectionClass::getExtensionName
ReflectionClass


Gets the name of the extension which defined the class

ReflectionClass::getExtension
ReflectionClass::getFileName
ReflectionClass
PHP Manual

ReflectionClass::getExtensionName

(PHP 5, PHP 7)

ReflectionClass::getExtensionName — Gets the name of the extension which defined the class

Beschreibung

public string ReflectionClass::getExtensionName ( void )

Gets the name of the extension which defined the class.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The name of the extension which defined the class, or FALSE for user-defined classes.

Beispiele

Beispiel #1 Basic usage of ReflectionClass::getExtensionName()

<?php
$class = new ReflectionClass('ReflectionClass');
$extension = $class->getExtensionName();
var_dump($extension);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(10) "Reflection"

Siehe auch

  • ReflectionClass::getExtension() - Gets a ReflectionExtension object for the extension which defined the class

ReflectionClass::getExtension
ReflectionClass::getFileName
ReflectionClass


Gets the filename of the file in which the class has been defined

ReflectionClass::getExtensionName
ReflectionClass::getInterfaceNames
ReflectionClass
PHP Manual

ReflectionClass::getFileName

(PHP 5, PHP 7)

ReflectionClass::getFileName — Gets the filename of the file in which the class has been defined

Beschreibung

public string ReflectionClass::getFileName ( void )

Gets the filename of the file in which the class has been defined.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the filename of the file in which the class has been defined. If the class is defined in the PHP core or in a PHP extension, FALSE is returned.

Siehe auch

  • ReflectionClass::getExtensionName() - Gets the name of the extension which defined the class

ReflectionClass::getExtensionName
ReflectionClass::getInterfaceNames
ReflectionClass


Gets the interface names

ReflectionClass::getFileName
ReflectionClass::getInterfaces
ReflectionClass
PHP Manual

ReflectionClass::getInterfaceNames

(PHP 5 >= 5.2.0, PHP 7)

ReflectionClass::getInterfaceNames — Gets the interface names

Beschreibung

public array ReflectionClass::getInterfaceNames ( void )

Get the interface names.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A numerical array with interface names as the values.

Beispiele

Beispiel #1 ReflectionClass::getInterfaceNames() example

<?php
interface Foo { }

interface Bar { }

class Baz implements Foo, Bar { }

$rc1 = new ReflectionClass("Baz");

print_r($rc1->getInterfaceNames());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [0] => Foo
    [1] => Bar
)

Siehe auch

  • ReflectionClass::getInterfaces() - Gets the interfaces

ReflectionClass::getFileName
ReflectionClass::getInterfaces
ReflectionClass


Gets the interfaces

ReflectionClass::getInterfaceNames
ReflectionClass::getMethod
ReflectionClass
PHP Manual

ReflectionClass::getInterfaces

(PHP 5, PHP 7)

ReflectionClass::getInterfaces — Gets the interfaces

Beschreibung

public array ReflectionClass::getInterfaces ( void )

Gets the interfaces.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An associative array of interfaces, with keys as interface names and the array values as ReflectionClass objects.

Beispiele

Beispiel #1 ReflectionClass::getInterfaces() example

<?php
interface Foo { }

interface Bar { }

class Baz implements Foo, Bar { }

$rc1 = new ReflectionClass("Baz");

print_r($rc1->getInterfaces());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [Foo] => ReflectionClass Object
        (
            [name] => Foo
        )

    [Bar] => ReflectionClass Object
        (
            [name] => Bar
        )

)

Siehe auch

  • ReflectionClass::getInterfaceNames() - Gets the interface names

ReflectionClass::getInterfaceNames
ReflectionClass::getMethod
ReflectionClass


Gets a ReflectionMethod for a class method.

ReflectionClass::getInterfaces
ReflectionClass::getMethods
ReflectionClass
PHP Manual

ReflectionClass::getMethod

(PHP 5, PHP 7)

ReflectionClass::getMethod — Gets a ReflectionMethod for a class method.

Beschreibung

public ReflectionMethod ReflectionClass::getMethod ( string $name )

Gets a ReflectionMethod for a class method.

Parameter-Liste

name

The method name to reflect.

Rückgabewerte

A ReflectionMethod.

Fehler/Exceptions

A ReflectionException if the method does not exist.

Beispiele

Beispiel #1 Basic usage of ReflectionClass::getMethod()

<?php
$class = new ReflectionClass('ReflectionClass');
$method = $class->getMethod('getMethod');
var_dump($method);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(ReflectionMethod)#2 (2) {
  ["name"]=>
  string(9) "getMethod"
  ["class"]=>
  string(15) "ReflectionClass"
}

Siehe auch

  • ReflectionClass::getMethods() - Gets an array of methods

ReflectionClass::getInterfaces
ReflectionClass::getMethods
ReflectionClass


Gets an array of methods

ReflectionClass::getMethod
ReflectionClass::getModifiers
ReflectionClass
PHP Manual

ReflectionClass::getMethods

(PHP 5, PHP 7)

ReflectionClass::getMethods — Gets an array of methods

Beschreibung

public array ReflectionClass::getMethods ([ int $filter ] )

Gets an array of methods for the class.

Parameter-Liste

filter

Filter the results to include only methods with certain attributes. Defaults to no filtering.

Any bitwise disjunction of ReflectionMethod::IS_STATIC,
ReflectionMethod::IS_PUBLIC,
ReflectionMethod::IS_PROTECTED,
ReflectionMethod::IS_PRIVATE,
ReflectionMethod::IS_ABSTRACT,
ReflectionMethod::IS_FINAL,
so that all methods with any of the given
attributes will be returned.

Hinweis: Note that other bitwise operations, for instance ~ will not work as expected. In other words, it is not possible to retrieve all non-static methods, for example.

Rückgabewerte

An array of ReflectionMethod objects reflecting each method.

Beispiele

Beispiel #1 Basic usage of ReflectionClass::getMethods()

<?php
class Apple {
    public function firstMethod() { }
    final protected function secondMethod() { }
    private static function thirdMethod() { }
}

$class = new ReflectionClass('Apple');
$methods = $class->getMethods();
var_dump($methods);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(3) {
  [0]=>
  &object(ReflectionMethod)#2 (2) {
    ["name"]=>
    string(11) "firstMethod"
    ["class"]=>
    string(5) "Apple"
  }
  [1]=>
  &object(ReflectionMethod)#3 (2) {
    ["name"]=>
    string(12) "secondMethod"
    ["class"]=>
    string(5) "Apple"
  }
  [2]=>
  &object(ReflectionMethod)#4 (2) {
    ["name"]=>
    string(11) "thirdMethod"
    ["class"]=>
    string(5) "Apple"
  }
}

Beispiel #2 Filtering results from ReflectionClass::getMethods()

<?php
class Apple {
    public function firstMethod() { }
    final protected function secondMethod() { }
    private static function thirdMethod() { }
}

$class = new ReflectionClass('Apple');
$methods = $class->getMethods(ReflectionMethod::IS_STATIC | ReflectionMethod::IS_FINAL);
var_dump($methods);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  [0]=>
  &object(ReflectionMethod)#2 (2) {
    ["name"]=>
    string(12) "secondMethod"
    ["class"]=>
    string(5) "Apple"
  }
  [1]=>
  &object(ReflectionMethod)#3 (2) {
    ["name"]=>
    string(11) "thirdMethod"
    ["class"]=>
    string(5) "Apple"
  }
}

Siehe auch

  • ReflectionClass::getMethod() - Gets a ReflectionMethod for a class method.
  • get_class_methods() - Ermittelt die Namen der definierten Methoden einer Klasse

ReflectionClass::getMethod
ReflectionClass::getModifiers
ReflectionClass


Gets modifiers

ReflectionClass::getMethods
ReflectionClass::getName
ReflectionClass
PHP Manual

ReflectionClass::getModifiers

(PHP 5, PHP 7)

ReflectionClass::getModifiers — Gets modifiers

Beschreibung

public int ReflectionClass::getModifiers ( void )

Returns a bitfield of the access modifiers for this class.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns bitmask of modifier constants.

Siehe auch

  • ReflectionClass::getProperties() - Gets properties

ReflectionClass::getMethods
ReflectionClass::getName
ReflectionClass


Gets class name

ReflectionClass::getModifiers
ReflectionClass::getNamespaceName
ReflectionClass
PHP Manual

ReflectionClass::getName

(PHP 5, PHP 7)

ReflectionClass::getName — Gets class name

Beschreibung

public string ReflectionClass::getName ( void )

Gets the class name.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The class name.

Beispiele

Beispiel #1 ReflectionClass::getName() example

<?php
namespace A\B;

class Foo { }

$function = new \ReflectionClass('stdClass');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());

$function = new \ReflectionClass('A\\B\\Foo');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
string(8) "stdClass"
string(0) ""
string(8) "stdClass"

bool(true)
string(7) "A\B\Foo"
string(3) "A\B"
string(3) "Foo"

Siehe auch

  • ReflectionClass::getNamespaceName() - Gets namespace name

ReflectionClass::getModifiers
ReflectionClass::getNamespaceName
ReflectionClass


Gets namespace name

ReflectionClass::getName
ReflectionClass::getParentClass
ReflectionClass
PHP Manual

ReflectionClass::getNamespaceName

(PHP 5 >= 5.3.0, PHP 7)

ReflectionClass::getNamespaceName — Gets namespace name

Beschreibung

public string ReflectionClass::getNamespaceName ( void )

Gets the namespace name.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The namespace name.

Beispiele

Beispiel #1 ReflectionClass::getNamespaceName() example

<?php
namespace A\B;

class Foo { }

$class = new \ReflectionClass('stdClass');

var_dump($class->inNamespace());
var_dump($class->getName());
var_dump($class->getNamespaceName());
var_dump($class->getShortName());

$class = new \ReflectionClass('A\\B\\Foo');

var_dump($class->inNamespace());
var_dump($class->getName());
var_dump($class->getNamespaceName());
var_dump($class->getShortName());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
string(8) "stdClass"
string(0) ""
string(8) "stdClass"

bool(true)
string(7) "A\B\Foo"
string(3) "A\B"
string(3) "Foo"

Siehe auch

  • ReflectionClass::getParentClass() - Gets parent class
  • namespaces

ReflectionClass::getName
ReflectionClass::getParentClass
ReflectionClass


Gets parent class

ReflectionClass::getNamespaceName
ReflectionClass::getProperties
ReflectionClass
PHP Manual

ReflectionClass::getParentClass

(PHP 5, PHP 7)

ReflectionClass::getParentClass — Gets parent class

Beschreibung

public ReflectionClass ReflectionClass::getParentClass ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A ReflectionClass.

Siehe auch

  • ReflectionClass::__construct() - Constructs a ReflectionClass

ReflectionClass::getNamespaceName
ReflectionClass::getProperties
ReflectionClass


Gets properties

ReflectionClass::getParentClass
ReflectionClass::getProperty
ReflectionClass
PHP Manual

ReflectionClass::getProperties

(PHP 5, PHP 7)

ReflectionClass::getProperties — Gets properties

Beschreibung

public array ReflectionClass::getProperties ([ int $filter ] )

Retrieves reflected properties.

Parameter-Liste

filter

The optional filter, for filtering desired property types. It's configured using the ReflectionProperty constants, and defaults to all property types.

Rückgabewerte

An array of ReflectionProperty objects.

Beispiele

Beispiel #1 ReflectionClass::getProperties() filtering example

This example demonstrates usage of the optional filter parameter, where it essentially skips private properties.

<?php
class Foo {
    public    $foo  = 1;
    protected $bar  = 2;
    private   $baz  = 3;
}

$foo = new Foo();

$reflect = new ReflectionClass($foo);
$props   = $reflect->getProperties(ReflectionProperty::IS_PUBLIC | ReflectionProperty::IS_PROTECTED);

foreach ($props as $prop) {
    print $prop->getName() . "\n";
}

var_dump($props);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

foo
bar
array(2) {
  [0]=>
  object(ReflectionProperty)#3 (2) {
    ["name"]=>
    string(3) "foo"
    ["class"]=>
    string(3) "Foo"
  }
  [1]=>
  object(ReflectionProperty)#4 (2) {
    ["name"]=>
    string(3) "bar"
    ["class"]=>
    string(3) "Foo"
  }
}

Siehe auch

  • ReflectionClass::getProperty() - Gets a ReflectionProperty for a class's property
  • ReflectionProperty
  • ReflectionProperty modifier constants

ReflectionClass::getParentClass
ReflectionClass::getProperty
ReflectionClass


Gets a ReflectionProperty for a class's property

ReflectionClass::getProperties
ReflectionClass::getShortName
ReflectionClass
PHP Manual

ReflectionClass::getProperty

(PHP 5, PHP 7)

ReflectionClass::getProperty — Gets a ReflectionProperty for a class's property

Beschreibung

public ReflectionProperty ReflectionClass::getProperty ( string $name )

Gets a ReflectionProperty for a class's property.

Parameter-Liste

name

The property name.

Rückgabewerte

A ReflectionProperty.

Beispiele

Beispiel #1 Basic usage of ReflectionClass::getProperty()

<?php
$class = new ReflectionClass('ReflectionClass');
$property = $class->getProperty('name');
var_dump($property);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(ReflectionProperty)#2 (2) {
  ["name"]=>
  string(4) "name"
  ["class"]=>
  string(15) "ReflectionClass"
}

Siehe auch

  • ReflectionClass::getProperties() - Gets properties

ReflectionClass::getProperties
ReflectionClass::getShortName
ReflectionClass


Gets short name

ReflectionClass::getProperty
ReflectionClass::getStartLine
ReflectionClass
PHP Manual

ReflectionClass::getShortName

(PHP 5 >= 5.3.0, PHP 7)

ReflectionClass::getShortName — Gets short name

Beschreibung

public string ReflectionClass::getShortName ( void )

Gets the short name of the class, the part without the namespace.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The class short name.

Beispiele

Beispiel #1 ReflectionClass::getShortName() example

<?php
namespace A\B;

class Foo { }

$function = new \ReflectionClass('stdClass');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());

$function = new \ReflectionClass('A\\B\\Foo');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
string(8) "stdClass"
string(0) ""
string(8) "stdClass"

bool(true)
string(7) "A\B\Foo"
string(3) "A\B"
string(3) "Foo"

Siehe auch

  • ReflectionClass::getName() - Gets class name

ReflectionClass::getProperty
ReflectionClass::getStartLine
ReflectionClass


Gets starting line number

ReflectionClass::getShortName
ReflectionClass::getStaticProperties
ReflectionClass
PHP Manual

ReflectionClass::getStartLine

(PHP 5, PHP 7)

ReflectionClass::getStartLine — Gets starting line number

Beschreibung

public int ReflectionClass::getStartLine ( void )

Get the starting line number.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The starting line number, as an integer.

Siehe auch

  • ReflectionClass::getEndLine() - Gets end line

ReflectionClass::getShortName
ReflectionClass::getStaticProperties
ReflectionClass


Gets static properties

ReflectionClass::getStartLine
ReflectionClass::getStaticPropertyValue
ReflectionClass
PHP Manual

ReflectionClass::getStaticProperties

(PHP 5, PHP 7)

ReflectionClass::getStaticProperties — Gets static properties

Beschreibung

public array ReflectionClass::getStaticProperties ( void )

Get the static properties.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The static properties, as an array.

Siehe auch

  • ReflectionClass::getStaticPropertyValue() - Gets static property value
  • ReflectionClass::setStaticPropertyValue() - Sets static property value

ReflectionClass::getStartLine
ReflectionClass::getStaticPropertyValue
ReflectionClass


Gets static property value

ReflectionClass::getStaticProperties
ReflectionClass::getTraitAliases
ReflectionClass
PHP Manual

ReflectionClass::getStaticPropertyValue

(PHP 5 >= 5.1.0, PHP 7)

ReflectionClass::getStaticPropertyValue — Gets static property value

Beschreibung

public mixed ReflectionClass::getStaticPropertyValue ( string $name [, mixed &$def_value ] )

Gets the value of a static property on this class.

Parameter-Liste

name

The name of the static property for which to return a value.

def_value

A default value to return in case the class does not declare a static property with the given name. If the property does not exist and this argument is omitted, a ReflectionException is thrown.

Rückgabewerte

The value of the static property.

Beispiele

Beispiel #1 Basic usage of ReflectionClass::getStaticPropertyValue()

<?php
class Apple {
    public static $color = 'Red';
}

$class = new ReflectionClass('Apple');
var_dump($class->getStaticPropertyValue('color'));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(3) "Red"

Siehe auch

  • ReflectionClass::getStaticProperties() - Gets static properties
  • ReflectionClass::setStaticPropertyValue() - Sets static property value

ReflectionClass::getStaticProperties
ReflectionClass::getTraitAliases
ReflectionClass


Returns an array of trait aliases

ReflectionClass::getStaticPropertyValue
ReflectionClass::getTraitNames
ReflectionClass
PHP Manual

ReflectionClass::getTraitAliases

(PHP >= 5.4.0)

ReflectionClass::getTraitAliases — Returns an array of trait aliases

Beschreibung

public array ReflectionClass::getTraitAliases ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array with new method names in keys and original names (in the format "TraitName::original") in values. Returns NULL in case of an error.

ReflectionClass::getStaticPropertyValue
ReflectionClass::getTraitNames
ReflectionClass


Returns an array of names of traits used by this class

ReflectionClass::getTraitAliases
ReflectionClass::getTraits
ReflectionClass
PHP Manual

ReflectionClass::getTraitNames

(PHP >= 5.4.0)

ReflectionClass::getTraitNames — Returns an array of names of traits used by this class

Beschreibung

public array ReflectionClass::getTraitNames ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array with trait names in values. Returns NULL in case of an error.

ReflectionClass::getTraitAliases
ReflectionClass::getTraits
ReflectionClass


Returns an array of traits used by this class

ReflectionClass::getTraitNames
ReflectionClass::hasConstant
ReflectionClass
PHP Manual

ReflectionClass::getTraits

(PHP >= 5.4.0)

ReflectionClass::getTraits — Returns an array of traits used by this class

Beschreibung

public array ReflectionClass::getTraits ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array with trait names in keys and instances of trait's ReflectionClass in values. Returns NULL in case of an error.

ReflectionClass::getTraitNames
ReflectionClass::hasConstant
ReflectionClass


Checks if constant is defined

ReflectionClass::getTraits
ReflectionClass::hasMethod
ReflectionClass
PHP Manual

ReflectionClass::hasConstant

(PHP 5 >= 5.1.0, PHP 7)

ReflectionClass::hasConstant — Checks if constant is defined

Beschreibung

public bool ReflectionClass::hasConstant ( string $name )

Checks whether the class has a specific constant defined or not.

Parameter-Liste

name

The name of the constant being checked for.

Rückgabewerte

TRUE if the constant is defined, otherwise FALSE.

Beispiele

Beispiel #1 ReflectionClass::hasConstant() example

<?php
class Foo {
    const c1 = 1;
}

$class = new ReflectionClass("Foo");

var_dump($class->hasConstant("c1"));
var_dump($class->hasConstant("c2"));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(true)
bool(false)

Siehe auch

  • ReflectionClass::hasMethod() - Checks if method is defined
  • ReflectionClass::hasProperty() - Checks if property is defined

ReflectionClass::getTraits
ReflectionClass::hasMethod
ReflectionClass


Checks if method is defined

ReflectionClass::hasConstant
ReflectionClass::hasProperty
ReflectionClass
PHP Manual

ReflectionClass::hasMethod

(PHP 5 >= 5.1.0, PHP 7)

ReflectionClass::hasMethod — Checks if method is defined

Beschreibung

public bool ReflectionClass::hasMethod ( string $name )

Checks whether a specific method is defined in a class.

Parameter-Liste

name

Name of the method being checked for.

Rückgabewerte

TRUE if it has the method, otherwise FALSE

Beispiele

Beispiel #1 ReflectionClass::hasMethod() example

<?php
Class C {
    public function publicFoo() {
        return true;
    }

    protected function protectedFoo() {
        return true;
    }

    private function privateFoo() {
        return true;
    }

    static function staticFoo() {
        return true;
    }
}

$rc = new ReflectionClass("C");

var_dump($rc->hasMethod('publicFoo'));

var_dump($rc->hasMethod('protectedFoo'));

var_dump($rc->hasMethod('privateFoo'));

var_dump($rc->hasMethod('staticFoo'));

// C should not have method bar
var_dump($rc->hasMethod('bar'));

// Method names are case insensitive
var_dump($rc->hasMethod('PUBLICfOO'));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(true)
bool(true)
bool(true)
bool(false)
bool(true)

Siehe auch

  • ReflectionClass::hasConstant() - Checks if constant is defined
  • ReflectionClass::hasProperty() - Checks if property is defined

ReflectionClass::hasConstant
ReflectionClass::hasProperty
ReflectionClass


Checks if property is defined

ReflectionClass::hasMethod
ReflectionClass::implementsInterface
ReflectionClass
PHP Manual

ReflectionClass::hasProperty

(PHP 5 >= 5.1.0, PHP 7)

ReflectionClass::hasProperty — Checks if property is defined

Beschreibung

public bool ReflectionClass::hasProperty ( string $name )

Checks whether the specified property is defined.

Parameter-Liste

name

Name of the property being checked for.

Rückgabewerte

TRUE if it has the property, otherwise FALSE

Beispiele

Beispiel #1 ReflectionClass::hasProperty() example

<?php
class Foo {
    public    $p1;
    protected $p2;
    private   $p3;

}

$obj = new ReflectionObject(new Foo());

var_dump($obj->hasProperty("p1"));
var_dump($obj->hasProperty("p2"));
var_dump($obj->hasProperty("p3"));
var_dump($obj->hasProperty("p4"));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(true)
bool(true)
bool(true)
bool(false)

Siehe auch

  • ReflectionClass::hasConstant() - Checks if constant is defined
  • ReflectionClass::hasMethod() - Checks if method is defined

ReflectionClass::hasMethod
ReflectionClass::implementsInterface
ReflectionClass


Implements interface

ReflectionClass::hasProperty
ReflectionClass::inNamespace
ReflectionClass
PHP Manual

ReflectionClass::implementsInterface

(PHP 5, PHP 7)

ReflectionClass::implementsInterface — Implements interface

Beschreibung

public bool ReflectionClass::implementsInterface ( string $interface )

Checks whether it implements an interface.

Parameter-Liste

interface

The interface name.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ReflectionClass::isInterface() - Checks if the class is an interface
  • ReflectionClass::isSubclassOf() - Checks if a subclass
  • interface_exists() - Prüft ob ein bestimmtes Interface definiert wurde
  • Object Interfaces

ReflectionClass::hasProperty
ReflectionClass::inNamespace
ReflectionClass


Checks if in namespace

ReflectionClass::implementsInterface
ReflectionClass::isAbstract
ReflectionClass
PHP Manual

ReflectionClass::inNamespace

(PHP 5 >= 5.3.0, PHP 7)

ReflectionClass::inNamespace — Checks if in namespace

Beschreibung

public bool ReflectionClass::inNamespace ( void )

Checks if this class is defined in a namespace.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 ReflectionClass::inNamespace() example

<?php
namespace A\B;

class Foo { }

$function = new \ReflectionClass('stdClass');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());

$function = new \ReflectionClass('A\\B\\Foo');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
string(8) "stdClass"
string(0) ""
string(8) "stdClass"

bool(true)
string(7) "A\B\Foo"
string(3) "A\B"
string(3) "Foo"

Siehe auch

  • ReflectionClass::getNamespaceName() - Gets namespace name
  • PHP Namespaces

ReflectionClass::implementsInterface
ReflectionClass::isAbstract
ReflectionClass


Checks if class is abstract

ReflectionClass::inNamespace
ReflectionClass::isAnonymous
ReflectionClass
PHP Manual

ReflectionClass::isAbstract

(PHP 5, PHP 7)

ReflectionClass::isAbstract — Checks if class is abstract

Beschreibung

public bool ReflectionClass::isAbstract ( void )

Checks if the class is abstract.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 ReflectionClass::isAbstract() example

<?php
class          TestClass { }
abstract class TestAbstractClass { }

$testClass     = new ReflectionClass('TestClass');
$abstractClass = new ReflectionClass('TestAbstractClass');

var_dump($testClass->isAbstract());
var_dump($abstractClass->isAbstract());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(true)

Siehe auch

  • ReflectionClass::isInterface() - Checks if the class is an interface
  • Class Abstraction

ReflectionClass::inNamespace
ReflectionClass::isAnonymous
ReflectionClass


Checks if class is anonymous

ReflectionClass::isAbstract
ReflectionClass::isCloneable
ReflectionClass
PHP Manual

ReflectionClass::isAnonymous

(PHP 7)

ReflectionClass::isAnonymous — Checks if class is anonymous

Beschreibung

public bool ReflectionClass::isAnonymous ( void )

Checks if a class is an anonymous class.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 ReflectionClass::isAnonymous() example

<?php
class TestClass {}
$anonClass = new class {};

$normalClass = new ReflectionClass('TestClass');
$anonClass  = new ReflectionClass($anonClass);

var_dump($normalClass->isAnonymous());
var_dump($anonClass->isAnonymous());

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(true)

Siehe auch

  • ReflectionClass::isFinal() - Checks if class is final

ReflectionClass::isAbstract
ReflectionClass::isCloneable
ReflectionClass


Returns whether this class is cloneable

ReflectionClass::isAnonymous
ReflectionClass::isFinal
ReflectionClass
PHP Manual

ReflectionClass::isCloneable

(PHP >= 5.4.0)

ReflectionClass::isCloneable — Returns whether this class is cloneable

Beschreibung

public bool ReflectionClass::isCloneable ( void )

Returns whether this class is cloneable.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the class is cloneable, FALSE otherwise.

Beispiele

Beispiel #1 Basic usage of ReflectionClass::isCloneable()

<?php
class NotCloneable {
    public $var1;

    private function __clone() {
    }
}

class Cloneable {
    public $var1;
}

$notCloneable = new ReflectionClass('NotCloneable');
$cloneable = new ReflectionClass('Cloneable');

var_dump($notCloneable->isCloneable());
var_dump($cloneable->isCloneable());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(true)

ReflectionClass::isAnonymous
ReflectionClass::isFinal
ReflectionClass


Checks if class is final

ReflectionClass::isCloneable
ReflectionClass::isInstance
ReflectionClass
PHP Manual

ReflectionClass::isFinal

(PHP 5, PHP 7)

ReflectionClass::isFinal — Checks if class is final

Beschreibung

public bool ReflectionClass::isFinal ( void )

Checks if a class is final.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 ReflectionClass::isFinal() example

<?php
class       TestClass { }
final class TestFinalClass { }

$normalClass = new ReflectionClass('TestClass');
$finalClass  = new ReflectionClass('TestFinalClass');

var_dump($normalClass->isFinal());
var_dump($finalClass->isFinal());

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(true)

Siehe auch

  • ReflectionClass::isAbstract() - Checks if class is abstract
  • Final Keyword

ReflectionClass::isCloneable
ReflectionClass::isInstance
ReflectionClass


Checks class for instance

ReflectionClass::isFinal
ReflectionClass::isInstantiable
ReflectionClass
PHP Manual

ReflectionClass::isInstance

(PHP 5, PHP 7)

ReflectionClass::isInstance — Checks class for instance

Beschreibung

public bool ReflectionClass::isInstance ( object $object )

Checks if an object is an instance of a class.

Parameter-Liste

object

The object being compared to.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 ReflectionClass::isInstance() related examples

<?php
// Example usage
$class = new ReflectionClass('Foo');

if ($class->isInstance($arg)) {
    echo "Yes";
}

// Equivalent to
if ($arg instanceof Foo) {
    echo "Yes";
}

// Equivalent to
if (is_a($arg, 'Foo')) {
    echo "Yes";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Yes
Yes
Yes

Siehe auch

  • ReflectionClass::isInterface() - Checks if the class is an interface
  • Type operators (instanceof)
  • Object Interfaces
  • is_a() - Checks if the object is of this class or has this class as one of its parents

ReflectionClass::isFinal
ReflectionClass::isInstantiable
ReflectionClass


Checks if the class is instantiable

ReflectionClass::isInstance
ReflectionClass::isInterface
ReflectionClass
PHP Manual

ReflectionClass::isInstantiable

(PHP 5, PHP 7)

ReflectionClass::isInstantiable — Checks if the class is instantiable

Beschreibung

public bool ReflectionClass::isInstantiable ( void )

Checks if the class is instantiable.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 ReflectionClass::isInstantiable() example

<?php
class C { }

interface iface {
    function f1();
}

class ifaceImpl implements iface {
    function f1() {}
}

abstract class abstractClass {
    function f1() { }
    abstract function f2();
}

class D extends abstractClass {
    function f2() { }
}

class privateConstructor {
    private function __construct() { }
}

$classes = array(
    "C",
    "iface",
    "ifaceImpl",
    "abstractClass",
    "D",
    "privateConstructor",
);

foreach($classes  as $class ) {
    $reflectionClass = new ReflectionClass($class);
    echo "Is $class instantiable?  ";
    var_dump($reflectionClass->IsInstantiable());
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Is C instantiable?  bool(true)
Is iface instantiable?  bool(false)
Is ifaceImpl instantiable?  bool(true)
Is abstractClass instantiable?  bool(false)
Is D instantiable?  bool(true)
Is privateConstructor instantiable?  bool(false)

Siehe auch

  • ReflectionClass::isInstance() - Checks class for instance

ReflectionClass::isInstance
ReflectionClass::isInterface
ReflectionClass


Checks if the class is an interface

ReflectionClass::isInstantiable
ReflectionClass::isInternal
ReflectionClass
PHP Manual

ReflectionClass::isInterface

(PHP 5, PHP 7)

ReflectionClass::isInterface — Checks if the class is an interface

Beschreibung

public bool ReflectionClass::isInterface ( void )

Checks whether the class is an interface.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Basic usage of ReflectionClass::isInterface()

<?php
interface SomeInterface {
    public function interfaceMethod();
}

$class = new ReflectionClass('SomeInterface');
var_dump($class->isInterface());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)

Siehe auch

  • ReflectionClass::isInstance() - Checks class for instance

ReflectionClass::isInstantiable
ReflectionClass::isInternal
ReflectionClass


Checks if class is defined internally by an extension, or the core

ReflectionClass::isInterface
ReflectionClass::isIterateable
ReflectionClass
PHP Manual

ReflectionClass::isInternal

(PHP 5, PHP 7)

ReflectionClass::isInternal — Checks if class is defined internally by an extension, or the core

Beschreibung

public bool ReflectionClass::isInternal ( void )

Checks if the class is defined internally by an extension, or the core, as opposed to user-defined.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Basic usage of ReflectionClass::isInternal()

<?php
$internalclass = new ReflectionClass('ReflectionClass');

class Apple {}
$userclass = new ReflectionClass('Apple');

var_dump($internalclass->isInternal());
var_dump($userclass->isInternal());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(false)

Siehe auch

  • ReflectionClass::isUserDefined() - Checks if user defined

ReflectionClass::isInterface
ReflectionClass::isIterateable
ReflectionClass


Checks if iterateable

ReflectionClass::isInternal
ReflectionClass::isSubclassOf
ReflectionClass
PHP Manual

ReflectionClass::isIterateable

(PHP 5, PHP 7)

ReflectionClass::isIterateable — Checks if iterateable

Beschreibung

public bool ReflectionClass::isIterateable ( void )

Checks whether the class is iterateable.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 ReflectionClass::isIterateable() example

<?php

class IteratorClass implements Iterator {
    public function __construct() { }
    public function key() { }
    public function current() { }
    function next() { }
    function valid() { }
    function rewind() { }
}
class DerivedClass extends IteratorClass { }
class NonIterator { }

function dump_iterateable($class) {
    $reflection = new ReflectionClass($class);
    var_dump($reflection->isIterateable());
}

$classes = array("ArrayObject", "IteratorClass", "DerivedClass", "NonIterator");

foreach ($classes as $class) {
    echo "Is $class iterateable? ";
    dump_iterateable($class);
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Is ArrayObject iterateable? bool(true)
Is IteratorClass iterateable? bool(true)
Is DerivedClass iterateable? bool(true)
Is NonIterator iterateable? bool(false)

Siehe auch

  • ReflectionClass::__construct() - Constructs a ReflectionClass

ReflectionClass::isInternal
ReflectionClass::isSubclassOf
ReflectionClass


Checks if a subclass

ReflectionClass::isIterateable
ReflectionClass::isTrait
ReflectionClass
PHP Manual

ReflectionClass::isSubclassOf

(PHP 5, PHP 7)

ReflectionClass::isSubclassOf — Checks if a subclass

Beschreibung

public bool ReflectionClass::isSubclassOf ( string $class )

Checks if the class is a subclass of a specified class or implements a specified interface.

Parameter-Liste

class

The class name being checked against.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ReflectionClass::isInterface() - Checks if the class is an interface
  • ReflectionClass::implementsInterface() - Implements interface
  • is_subclass_of() - Prüft ob ein Objekt von der angegebenen Klasse abstammt oder sie implementiert
  • get_parent_class() - Gibt den Namen der Elternklasse eines Objektes zurück

ReflectionClass::isIterateable
ReflectionClass::isTrait
ReflectionClass


Returns whether this is a trait

ReflectionClass::isSubclassOf
ReflectionClass::isUserDefined
ReflectionClass
PHP Manual

ReflectionClass::isTrait

(PHP >= 5.4.0)

ReflectionClass::isTrait — Returns whether this is a trait

Beschreibung

public bool ReflectionClass::isTrait ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if this is a trait, FALSE otherwise. Returns NULL in case of an error.

ReflectionClass::isSubclassOf
ReflectionClass::isUserDefined
ReflectionClass


Checks if user defined

ReflectionClass::isTrait
ReflectionClass::newInstance
ReflectionClass
PHP Manual

ReflectionClass::isUserDefined

(PHP 5, PHP 7)

ReflectionClass::isUserDefined — Checks if user defined

Beschreibung

public bool ReflectionClass::isUserDefined ( void )

Checks whether the class is user-defined, as opposed to internal.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • ReflectionClass::isInternal() - Checks if class is defined internally by an extension, or the core

ReflectionClass::isTrait
ReflectionClass::newInstance
ReflectionClass


Creates a new class instance from given arguments.

ReflectionClass::isUserDefined
ReflectionClass::newInstanceArgs
ReflectionClass
PHP Manual

ReflectionClass::newInstance

(PHP 5, PHP 7)

ReflectionClass::newInstance — Creates a new class instance from given arguments.

Beschreibung

public object ReflectionClass::newInstance ( mixed $args [, mixed $... ] )

Creates a new instance of the class. The given arguments are passed to the class constructor.

Parameter-Liste

args

Accepts a variable number of arguments which are passed to the class constructor, much like call_user_func().

Rückgabewerte

Fehler/Exceptions

A ReflectionException if the class constructor is not public.

A ReflectionException if the class does not have a constructor and the args parameter contains one or more parameters.

Siehe auch

  • ReflectionClass::newInstanceArgs() - Creates a new class instance from given arguments.
  • ReflectionClass::newInstanceWithoutConstructor() - Creates a new class instance without invoking the constructor.

ReflectionClass::isUserDefined
ReflectionClass::newInstanceArgs
ReflectionClass


Creates a new class instance from given arguments.

ReflectionClass::newInstance
ReflectionClass::newInstanceWithoutConstructor
ReflectionClass
PHP Manual

ReflectionClass::newInstanceArgs

(PHP 5 >= 5.1.3, PHP 7)

ReflectionClass::newInstanceArgs — Creates a new class instance from given arguments.

Beschreibung

public object ReflectionClass::newInstanceArgs ([ array $args ] )

Creates a new instance of the class, the given arguments are passed to the class constructor.

Parameter-Liste

args

The parameters to be passed to the class constructor as an array.

Rückgabewerte

Returns a new instance of the class.

Beispiele

Beispiel #1 Basic usage of ReflectionClass::newInstanceArgs()

<?php
$class = new ReflectionClass('ReflectionFunction');
$instance = $class->newInstanceArgs(array('substr'));
var_dump($instance);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(ReflectionFunction)#2 (1) {
  ["name"]=>
  string(6) "substr"
}

Fehler/Exceptions

A ReflectionException if the class constructor is not public.

A ReflectionException if the class does not have a constructor and the args parameter contains one or more parameters.

Siehe auch

  • ReflectionClass::newInstance() - Creates a new class instance from given arguments.
  • ReflectionClass::newInstanceWithoutConstructor() - Creates a new class instance without invoking the constructor.

ReflectionClass::newInstance
ReflectionClass::newInstanceWithoutConstructor
ReflectionClass


Creates a new class instance without invoking the constructor.

ReflectionClass::newInstanceArgs
ReflectionClass::setStaticPropertyValue
ReflectionClass
PHP Manual

ReflectionClass::newInstanceWithoutConstructor

(PHP >= 5.4.0)

ReflectionClass::newInstanceWithoutConstructor — Creates a new class instance without invoking the constructor.

Beschreibung

public object ReflectionClass::newInstanceWithoutConstructor ( void )

Creates a new instance of the class without invoking the constructor.

Parameter-Liste

Rückgabewerte

Changelog

Version | Beschreibung
5.6.0 | All internal classes can now be instantiated except for those declared final.

Fehler/Exceptions

A ReflectionException if the class is an internal class that cannot be instantiated without invoking the constructor. In PHP 5.6.0 onwards, this exception is limited only to internal classes that are final.

Siehe auch

  • ReflectionClass::newInstance() - Creates a new class instance from given arguments.
  • ReflectionClass::newInstanceArgs() - Creates a new class instance from given arguments.

ReflectionClass::newInstanceArgs
ReflectionClass::setStaticPropertyValue
ReflectionClass


Sets static property value

ReflectionClass::newInstanceWithoutConstructor
ReflectionClass::__toString
ReflectionClass
PHP Manual

ReflectionClass::setStaticPropertyValue

(PHP 5 >= 5.1.0, PHP 7)

ReflectionClass::setStaticPropertyValue — Sets static property value

Beschreibung

public void ReflectionClass::setStaticPropertyValue ( string $name , string $value )

Sets static property value.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

name

Property name.

value

New property value.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • ReflectionClass::getStaticPropertyValue() - Gets static property value

ReflectionClass::newInstanceWithoutConstructor
ReflectionClass::__toString
ReflectionClass


Returns the string representation of the ReflectionClass object.

ReflectionClass::setStaticPropertyValue
ReflectionZendExtension
ReflectionClass
PHP Manual

ReflectionClass::__toString

(PHP 5, PHP 7)

ReflectionClass::__toString — Returns the string representation of the ReflectionClass object.

Beschreibung

public string ReflectionClass::__toString ( void )

Returns the string representation of the ReflectionClass object.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A string representation of this ReflectionClass instance.

Beispiele

Beispiel #1 ReflectionClass::__toString() example

<?php
$reflectionClass = new ReflectionClass('Exception');
echo $reflectionClass->__toString();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Class [ <internal:Core> class Exception ] {

  - Constants [0] {
  }

  - Static properties [0] {
  }

  - Static methods [0] {
  }

  - Properties [7] {
    Property [ <default> protected $message ]
    Property [ <default> private $string ]
    Property [ <default> protected $code ]
    Property [ <default> protected $file ]
    Property [ <default> protected $line ]
    Property [ <default> private $trace ]
    Property [ <default> private $previous ]
  }

  - Methods [10] {
    Method [ <internal:Core> final private method __clone ] {
    }

    Method [ <internal:Core, ctor> public method __construct ] {

      - Parameters [3] {
        Parameter #0 [ <optional> $message ]
        Parameter #1 [ <optional> $code ]
        Parameter #2 [ <optional> $previous ]
      }
    }

    Method [ <internal:Core> final public method getMessage ] {
    }

    Method [ <internal:Core> final public method getCode ] {
    }

    Method [ <internal:Core> final public method getFile ] {
    }

    Method [ <internal:Core> final public method getLine ] {
    }

    Method [ <internal:Core> final public method getTrace ] {
    }

    Method [ <internal:Core> final public method getPrevious ] {
    }

    Method [ <internal:Core> final public method getTraceAsString ] {
    }

    Method [ <internal:Core> public method __toString ] {
    }
  }
}

Siehe auch

  • ReflectionClass::export() - Exports a class
  • __toString()

ReflectionClass::setStaticPropertyValue
ReflectionZendExtension
ReflectionClass


The ReflectionZendExtension class

(PHP >= 5.4.0)

Einführung

Klassenbeschreibung

ReflectionZendExtension implements Reflector {
/* Eigenschaften */
public $name ;
/* Methoden */
final private void __clone ( void )
public __construct ( string $name )
public static string export ( string $name [, string $return ] )
public string getAuthor ( void )
public string getCopyright ( void )
public string getName ( void )
public string getURL ( void )
public string getVersion ( void )
public string __toString ( void )
}

Eigenschaften

name

Name of the extension. Read-only, throws ReflectionException in attempt to write.

Inhaltsverzeichnis

  • ReflectionZendExtension::__clone — Clone handler
  • ReflectionZendExtension::__construct — Constructor
  • ReflectionZendExtension::export — Export
  • ReflectionZendExtension::getAuthor — Gets author
  • ReflectionZendExtension::getCopyright — Gets copyright
  • ReflectionZendExtension::getName — Gets name
  • ReflectionZendExtension::getURL — Gets URL
  • ReflectionZendExtension::getVersion — Gets version
  • ReflectionZendExtension::__toString — To string handler
ReflectionClass::__toString
ReflectionZendExtension::__clone
Reflection


Clone handler

ReflectionZendExtension
ReflectionZendExtension::__construct
ReflectionZendExtension
PHP Manual

ReflectionZendExtension::__clone

(PHP >= 5.4.0)

ReflectionZendExtension::__clone — Clone handler

Beschreibung

final private void ReflectionZendExtension::__clone ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

ReflectionZendExtension
ReflectionZendExtension::__construct
ReflectionZendExtension


Constructor

ReflectionZendExtension::__clone
ReflectionZendExtension::export
ReflectionZendExtension
PHP Manual

ReflectionZendExtension::__construct

(PHP >= 5.4.0)

ReflectionZendExtension::__construct — Constructor

Beschreibung

public ReflectionZendExtension::__construct ( string $name )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

name

Rückgabewerte

ReflectionZendExtension::__clone
ReflectionZendExtension::export
ReflectionZendExtension


Export

ReflectionZendExtension::__construct
ReflectionZendExtension::getAuthor
ReflectionZendExtension
PHP Manual

ReflectionZendExtension::export

(PHP >= 5.4.0)

ReflectionZendExtension::export — Export

Beschreibung

public static string ReflectionZendExtension::export ( string $name [, string $return ] )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

name

return

Rückgabewerte

ReflectionZendExtension::__construct
ReflectionZendExtension::getAuthor
ReflectionZendExtension


Gets author

ReflectionZendExtension::export
ReflectionZendExtension::getCopyright
ReflectionZendExtension
PHP Manual

ReflectionZendExtension::getAuthor

(PHP >= 5.4.0)

ReflectionZendExtension::getAuthor — Gets author

Beschreibung

public string ReflectionZendExtension::getAuthor ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

ReflectionZendExtension::export
ReflectionZendExtension::getCopyright
ReflectionZendExtension


Gets copyright

ReflectionZendExtension::getAuthor
ReflectionZendExtension::getName
ReflectionZendExtension
PHP Manual

ReflectionZendExtension::getCopyright

(PHP >= 5.4.0)

ReflectionZendExtension::getCopyright — Gets copyright

Beschreibung

public string ReflectionZendExtension::getCopyright ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

ReflectionZendExtension::getAuthor
ReflectionZendExtension::getName
ReflectionZendExtension


Gets name

ReflectionZendExtension::getCopyright
ReflectionZendExtension::getURL
ReflectionZendExtension
PHP Manual

ReflectionZendExtension::getName

(PHP >= 5.4.0)

ReflectionZendExtension::getName — Gets name

Beschreibung

public string ReflectionZendExtension::getName ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

ReflectionZendExtension::getCopyright
ReflectionZendExtension::getURL
ReflectionZendExtension


Gets URL

ReflectionZendExtension::getName
ReflectionZendExtension::getVersion
ReflectionZendExtension
PHP Manual

ReflectionZendExtension::getURL

(PHP >= 5.4.0)

ReflectionZendExtension::getURL — Gets URL

Beschreibung

public string ReflectionZendExtension::getURL ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

ReflectionZendExtension::getName
ReflectionZendExtension::getVersion
ReflectionZendExtension


Gets version

ReflectionZendExtension::getURL
ReflectionZendExtension::__toString
ReflectionZendExtension
PHP Manual

ReflectionZendExtension::getVersion

(PHP >= 5.4.0)

ReflectionZendExtension::getVersion — Gets version

Beschreibung

public string ReflectionZendExtension::getVersion ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

ReflectionZendExtension::getURL
ReflectionZendExtension::__toString
ReflectionZendExtension


To string handler

ReflectionZendExtension::getVersion
ReflectionExtension
ReflectionZendExtension
PHP Manual

ReflectionZendExtension::__toString

(PHP >= 5.4.0)

ReflectionZendExtension::__toString — To string handler

Beschreibung

public string ReflectionZendExtension::__toString ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

ReflectionZendExtension::getVersion
ReflectionExtension
ReflectionZendExtension


The ReflectionExtension class

(PHP 5, PHP 7)

Einführung

The ReflectionExtension class reports information about an extension.

Klassenbeschreibung

ReflectionExtension implements Reflector {
/* Eigenschaften */
public $name ;
/* Methoden */
final private void __clone ( void )
public __construct ( string $name )
public static string export ( string $name [, string $return = false ] )
public array getClasses ( void )
public array getClassNames ( void )
public array getConstants ( void )
public array getDependencies ( void )
public array getFunctions ( void )
public array getINIEntries ( void )
public string getName ( void )
public string getVersion ( void )
public void info ( void )
public void isPersistent ( void )
public void isTemporary ( void )
public string __toString ( void )
}

Eigenschaften

name

Name of the extension, same as calling the ReflectionExtension::getName() method.

Inhaltsverzeichnis

  • ReflectionExtension::__clone — Clones
  • ReflectionExtension::__construct — Constructs a ReflectionExtension
  • ReflectionExtension::export — Export
  • ReflectionExtension::getClasses — Gets classes
  • ReflectionExtension::getClassNames — Gets class names
  • ReflectionExtension::getConstants — Gets constants
  • ReflectionExtension::getDependencies — Gets dependencies
  • ReflectionExtension::getFunctions — Gets extension functions
  • ReflectionExtension::getINIEntries — Gets extension ini entries
  • ReflectionExtension::getName — Gets extension name
  • ReflectionExtension::getVersion — Gets extension version
  • ReflectionExtension::info — Print extension info
  • ReflectionExtension::isPersistent — Returns whether this extension is persistent
  • ReflectionExtension::isTemporary — Returns whether this extension is temporary
  • ReflectionExtension::__toString — To string
ReflectionZendExtension::__toString
ReflectionExtension::__clone
Reflection


Clones

ReflectionExtension
ReflectionExtension::__construct
ReflectionExtension
PHP Manual

ReflectionExtension::__clone

(PHP 5, PHP 7)

ReflectionExtension::__clone — Clones

Beschreibung

final private void ReflectionExtension::__clone ( void )

The clone method prevents an object from being cloned. Reflection objects cannot be cloned.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

No value is returned, if called a fatal error will occur.

Siehe auch

  • ReflectionExtension::__construct() - Constructs a ReflectionExtension
  • Object cloning

ReflectionExtension
ReflectionExtension::__construct
ReflectionExtension


Constructs a ReflectionExtension

ReflectionExtension::__clone
ReflectionExtension::export
ReflectionExtension
PHP Manual

ReflectionExtension::__construct

(PHP 5, PHP 7)

ReflectionExtension::__construct — Constructs a ReflectionExtension

Beschreibung

public ReflectionExtension::__construct ( string $name )

Construct a ReflectionExtension object.

Parameter-Liste

name

Name of the extension.

Rückgabewerte

A ReflectionExtension object.

Beispiele

Beispiel #1 ReflectionExtension example

<?php
$ext = new ReflectionExtension('Reflection');

printf('Extension: %s (version: %s)', $ext->getName(), $ext->getVersion());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Extension: Reflection (version: $Revision: 330543 $)

Siehe auch

  • ReflectionExtension::info() - Print extension info
  • Constructors

ReflectionExtension::__clone
ReflectionExtension::export
ReflectionExtension


Export

ReflectionExtension::__construct
ReflectionExtension::getClasses
ReflectionExtension
PHP Manual

ReflectionExtension::export

(PHP 5, PHP 7)

ReflectionExtension::export — Export

Beschreibung

public static string ReflectionExtension::export ( string $name [, string $return = false ] )

Exports a reflected extension. The output format of this function is the same as the CLI argument --re [extension].

Parameter-Liste

name

Die Reflection, die exportiert werden soll.

return

Wird dies auf TRUE gesetzt, so wird der Export zurückgegeben anstelle ihn auszugeben. Wird dies auf FALSE gesetzt (der Standardwert), wird das Gegenteil passieren.

Rückgabewerte

Falls der Parameter return auf TRUE gesetzt ist, so wird der Export als ein String zurückgegeben, andernfalls wird NULL zurückgegeben.

Siehe auch

  • ReflectionExtension::info() - Print extension info

ReflectionExtension::__construct
ReflectionExtension::getClasses
ReflectionExtension


Gets classes

ReflectionExtension::export
ReflectionExtension::getClassNames
ReflectionExtension
PHP Manual

ReflectionExtension::getClasses

(PHP 5, PHP 7)

ReflectionExtension::getClasses — Gets classes

Beschreibung

public array ReflectionExtension::getClasses ( void )

Gets a list of classes from an extension.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An array of ReflectionClass objects, one for each class within the extension. If no classes are defined, an empty array is returned.

Beispiele

Beispiel #1 ReflectionExtension::getClasses() example

<?php
$ext = new ReflectionExtension('XMLWriter');
var_dump($ext->getClasses());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(1) {
  ["XMLWriter"]=>
  &object(ReflectionClass)#2 (1) {
    ["name"]=>
    string(9) "XMLWriter"
  }
}

Siehe auch

  • ReflectionExtension::getClassNames() - Gets class names

ReflectionExtension::export
ReflectionExtension::getClassNames
ReflectionExtension


Gets class names

ReflectionExtension::getClasses
ReflectionExtension::getConstants
ReflectionExtension
PHP Manual

ReflectionExtension::getClassNames

(PHP 5, PHP 7)

ReflectionExtension::getClassNames — Gets class names

Beschreibung

public array ReflectionExtension::getClassNames ( void )

Gets a listing of class names as defined in the extension.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An array of class names, as defined in the extension. If no classes are defined, an empty array is returned.

Beispiele

Beispiel #1 ReflectionExtension::getClassNames() example

<?php
$ext = new ReflectionExtension('XMLWriter');
var_dump($ext->getClassNames());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(1) {
  [0]=>
  string(9) "XMLWriter"
}

Siehe auch

  • ReflectionExtension::getClasses() - Gets classes
  • ReflectionExtension::getName() - Gets extension name

ReflectionExtension::getClasses
ReflectionExtension::getConstants
ReflectionExtension


Gets constants

ReflectionExtension::getClassNames
ReflectionExtension::getDependencies
ReflectionExtension
PHP Manual

ReflectionExtension::getConstants

(PHP 5, PHP 7)

ReflectionExtension::getConstants — Gets constants

Beschreibung

public array ReflectionExtension::getConstants ( void )

Get defined constants from an extension.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An associative array with constant names as keys.

Beispiele

Beispiel #1 ReflectionExtension::getConstants() example

<?php
$ext = new ReflectionExtension('DOM');

print_r($ext->getConstants());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [XML_ELEMENT_NODE] => 1
    [XML_ATTRIBUTE_NODE] => 2
    [XML_TEXT_NODE] => 3
    [XML_CDATA_SECTION_NODE] => 4
    [XML_ENTITY_REF_NODE] => 5
    [XML_ENTITY_NODE] => 6
    [XML_PI_NODE] => 7
    [XML_COMMENT_NODE] => 8
    [XML_DOCUMENT_NODE] => 9
    [XML_DOCUMENT_TYPE_NODE] => 10
    [XML_DOCUMENT_FRAG_NODE] => 11
    [XML_NOTATION_NODE] => 12
    [XML_HTML_DOCUMENT_NODE] => 13
    [XML_DTD_NODE] => 14
    [XML_ELEMENT_DECL_NODE] => 15
    [XML_ATTRIBUTE_DECL_NODE] => 16
    [XML_ENTITY_DECL_NODE] => 17
    [XML_NAMESPACE_DECL_NODE] => 18
    [XML_LOCAL_NAMESPACE] => 18
    [XML_ATTRIBUTE_CDATA] => 1
    [XML_ATTRIBUTE_ID] => 2
    [XML_ATTRIBUTE_IDREF] => 3
    [XML_ATTRIBUTE_IDREFS] => 4
    [XML_ATTRIBUTE_ENTITY] => 6
    [XML_ATTRIBUTE_NMTOKEN] => 7
    [XML_ATTRIBUTE_NMTOKENS] => 8
    [XML_ATTRIBUTE_ENUMERATION] => 9
    [XML_ATTRIBUTE_NOTATION] => 10
    [DOM_PHP_ERR] => 0
    [DOM_INDEX_SIZE_ERR] => 1
    [DOMSTRING_SIZE_ERR] => 2
    [DOM_HIERARCHY_REQUEST_ERR] => 3
    [DOM_WRONG_DOCUMENT_ERR] => 4
    [DOM_INVALID_CHARACTER_ERR] => 5
    [DOM_NO_DATA_ALLOWED_ERR] => 6
    [DOM_NO_MODIFICATION_ALLOWED_ERR] => 7
    [DOM_NOT_FOUND_ERR] => 8
    [DOM_NOT_SUPPORTED_ERR] => 9
    [DOM_INUSE_ATTRIBUTE_ERR] => 10
    [DOM_INVALID_STATE_ERR] => 11
    [DOM_SYNTAX_ERR] => 12
    [DOM_INVALID_MODIFICATION_ERR] => 13
    [DOM_NAMESPACE_ERR] => 14
    [DOM_INVALID_ACCESS_ERR] => 15
    [DOM_VALIDATION_ERR] => 16
)

Siehe auch

  • ReflectionExtension::getINIEntries() - Gets extension ini entries

ReflectionExtension::getClassNames
ReflectionExtension::getDependencies
ReflectionExtension


Gets dependencies

ReflectionExtension::getConstants
ReflectionExtension::getFunctions
ReflectionExtension
PHP Manual

ReflectionExtension::getDependencies

(PHP 5, PHP 7)

ReflectionExtension::getDependencies — Gets dependencies

Beschreibung

public array ReflectionExtension::getDependencies ( void )

Gets dependencies, by listing both required and conflicting dependencies.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An associative array with dependencies as keys and either Required, Optional or Conflicts as the values.

Beispiele

Beispiel #1 ReflectionExtension::getDependencies() example

<?php
$dom = new ReflectionExtension('dom');

print_r($dom->getDependencies());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [libxml] => Required
    [domxml] => Conflicts
)

Siehe auch

  • ReflectionClass::getVersion()

ReflectionExtension::getConstants
ReflectionExtension::getFunctions
ReflectionExtension


Gets extension functions

ReflectionExtension::getDependencies
ReflectionExtension::getINIEntries
ReflectionExtension
PHP Manual

ReflectionExtension::getFunctions

(PHP 5, PHP 7)

ReflectionExtension::getFunctions — Gets extension functions

Beschreibung

public array ReflectionExtension::getFunctions ( void )

Get defined functions from an extension.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An associative array of ReflectionFunction objects, for each function defined in the extension with the keys being the function names. If no function are defined, an empty array is returned.

Beispiele

Beispiel #1 ReflectionExtension::getFunctions() example

<?php
$dom = new ReflectionExtension('SimpleXML');

print_r($dom->getFunctions());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [simplexml_load_file] => ReflectionFunction Object
        (
            [name] => simplexml_load_file
        )

    [simplexml_load_string] => ReflectionFunction Object
        (
            [name] => simplexml_load_string
        )

    [simplexml_import_dom] => ReflectionFunction Object
        (
            [name] => simplexml_import_dom
        )

)

Siehe auch

  • ReflectionExtension::getClasses() - Gets classes
  • get_extension_funcs() - Liefert die Namen der Funktionen einer Extension

ReflectionExtension::getDependencies
ReflectionExtension::getINIEntries
ReflectionExtension


Gets extension ini entries

ReflectionExtension::getFunctions
ReflectionExtension::getName
ReflectionExtension
PHP Manual

ReflectionExtension::getINIEntries

(PHP 5, PHP 7)

ReflectionExtension::getINIEntries — Gets extension ini entries

Beschreibung

public array ReflectionExtension::getINIEntries ( void )

Get the ini entries for an extension.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An associative array with the ini entries as keys, with their defined values as values.

Beispiele

Beispiel #1 ReflectionExtension::getINIEntries() example

<?php
$ext = new ReflectionExtension('mysql');

print_r($ext->getINIEntries());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [mysql.allow_persistent] => 1
    [mysql.max_persistent] => -1
    [mysql.max_links] => -1
    [mysql.default_host] =>
    [mysql.default_user] =>
    [mysql.default_password] =>
    [mysql.default_port] =>
    [mysql.default_socket] =>
    [mysql.connect_timeout] => 60
    [mysql.trace_mode] =>
    [mysql.allow_local_infile] => 1
    [mysql.cache_size] => 2000
)

Siehe auch

  • ini_get_all() - Gets all configuration options
  • ReflectionExtension::getConstants() - Gets constants

ReflectionExtension::getFunctions
ReflectionExtension::getName
ReflectionExtension


Gets extension name

ReflectionExtension::getINIEntries
ReflectionExtension::getVersion
ReflectionExtension
PHP Manual

ReflectionExtension::getName

(PHP 5, PHP 7)

ReflectionExtension::getName — Gets extension name

Beschreibung

public string ReflectionExtension::getName ( void )

Gets the extensions name.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The extensions name.

Beispiele

Beispiel #1 ReflectionExtension::getName() example

<?php
$ext = new ReflectionExtension('mysqli');
var_dump($ext->getName());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(6) "mysqli"

Siehe auch

  • ReflectionExtension::getClassNames() - Gets class names

ReflectionExtension::getINIEntries
ReflectionExtension::getVersion
ReflectionExtension


Gets extension version

ReflectionExtension::getName
ReflectionExtension::info
ReflectionExtension
PHP Manual

ReflectionExtension::getVersion

(PHP 5, PHP 7)

ReflectionExtension::getVersion — Gets extension version

Beschreibung

public string ReflectionExtension::getVersion ( void )

Gets the version of the extension.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The version of the extension.

Beispiele

Beispiel #1 ReflectionExtension::getVersion() example

<?php
$ext = new ReflectionExtension('mysqli');
var_dump($ext->getVersion());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(3) "0.1"

Siehe auch

  • ReflectionExtension::info() - Print extension info

ReflectionExtension::getName
ReflectionExtension::info
ReflectionExtension


Print extension info

ReflectionExtension::getVersion
ReflectionExtension::isPersistent
ReflectionExtension
PHP Manual

ReflectionExtension::info

(PHP 5, PHP 7)

ReflectionExtension::info — Print extension info

Beschreibung

public void ReflectionExtension::info ( void )

Prints out the "phpinfo()" snippet for the given extension.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Information about the extension.

Beispiele

Beispiel #1 ReflectionExtension::info() example

<?php
$ext = new ReflectionExtension('mysqli');
$ext->info();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

mysqli

MysqlI Support => enabled
Client API library version => mysqlnd 5.0.5-dev - 081106 - $Revision: 315808 $
Active Persistent Links => 0
Inactive Persistent Links => 0
Active Links => 0
Persistent cache => enabled
put_hits => 0
put_misses => 0
get_hits => 0
get_misses => 0
size => 2000
free_items => 2000
references => 2

Directive => Local Value => Master Value
mysqli.max_links => Unlimited => Unlimited
mysqli.max_persistent => Unlimited => Unlimited
mysqli.allow_persistent => On => On
mysqli.default_host => no value => no value
mysqli.default_user => no value => no value
mysqli.default_pw => no value => no value
mysqli.default_port => 3306 => 3306
mysqli.default_socket => no value => no value
mysqli.reconnect => Off => Off
mysqli.allow_local_infile => On => On
mysqli.cache_size => 2000 => 2000

Siehe auch

  • ReflectionExtension::getName() - Gets extension name
  • phpinfo() - Gibt Informationen zur PHP-Konfiguration aus

ReflectionExtension::getVersion
ReflectionExtension::isPersistent
ReflectionExtension


Returns whether this extension is persistent

ReflectionExtension::info
ReflectionExtension::isTemporary
ReflectionExtension
PHP Manual

ReflectionExtension::isPersistent

(PHP >= 5.4.0)

ReflectionExtension::isPersistent — Returns whether this extension is persistent

Beschreibung

public void ReflectionExtension::isPersistent ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE for extensions loaded by extension, FALSE otherwise.

Siehe auch

  • ReflectionExtension::isTemporary() - Returns whether this extension is temporary

ReflectionExtension::info
ReflectionExtension::isTemporary
ReflectionExtension


Returns whether this extension is temporary

ReflectionExtension::isPersistent
ReflectionExtension::__toString
ReflectionExtension
PHP Manual

ReflectionExtension::isTemporary

(PHP >= 5.4.0)

ReflectionExtension::isTemporary — Returns whether this extension is temporary

Beschreibung

public void ReflectionExtension::isTemporary ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE for extensions loaded by dl(), FALSE otherwise.

Siehe auch

  • ReflectionExtension::isPersistent() - Returns whether this extension is persistent

ReflectionExtension::isPersistent
ReflectionExtension::__toString
ReflectionExtension


To string

ReflectionExtension::isTemporary
ReflectionFunction
ReflectionExtension
PHP Manual

ReflectionExtension::__toString

(PHP 5, PHP 7)

ReflectionExtension::__toString — To string

Beschreibung

public string ReflectionExtension::__toString ( void )

Exports a reflected extension and returns it as a string. This is the same as the ReflectionExtension::export() with the return set to TRUE.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the exported extension as a string, in the same way as the ReflectionExtension::export().

Siehe auch

  • ReflectionExtension::__construct() - Constructs a ReflectionExtension
  • ReflectionExtension::export() - Export
  • __toString()

ReflectionExtension::isTemporary
ReflectionFunction
ReflectionExtension


The ReflectionFunction class

(PHP 5, PHP 7)

Einführung

The ReflectionFunction class reports information about a function.

Klassenbeschreibung

ReflectionFunction extends ReflectionFunctionAbstract implements Reflector {
/* Konstanten */
const integer IS_DEPRECATED = 262144 ;
/* Eigenschaften */
public $name ;
/* Methoden */
public __construct ( mixed $name )
public static string export ( string $name [, string $return ] )
public Closure getClosure ( void )
public mixed invoke ([ mixed $parameter [, mixed $... ]] )
public mixed invokeArgs ( array $args )
public bool isDisabled ( void )
public string __toString ( void )
/* Geerbte Methoden */
final private void ReflectionFunctionAbstract::__clone ( void )
public ReflectionClass ReflectionFunctionAbstract::getClosureScopeClass ( void )
public object ReflectionFunctionAbstract::getClosureThis ( void )
public string ReflectionFunctionAbstract::getDocComment ( void )
public int ReflectionFunctionAbstract::getEndLine ( void )
public ReflectionExtension ReflectionFunctionAbstract::getExtension ( void )
public string ReflectionFunctionAbstract::getExtensionName ( void )
public string ReflectionFunctionAbstract::getFileName ( void )
public string ReflectionFunctionAbstract::getName ( void )
public string ReflectionFunctionAbstract::getNamespaceName ( void )
public int ReflectionFunctionAbstract::getNumberOfParameters ( void )
public int ReflectionFunctionAbstract::getNumberOfRequiredParameters ( void )
public array ReflectionFunctionAbstract::getParameters ( void )
public ReflectionType ReflectionFunctionAbstract::getReturnType ( void )
public string ReflectionFunctionAbstract::getShortName ( void )
public int ReflectionFunctionAbstract::getStartLine ( void )
public array ReflectionFunctionAbstract::getStaticVariables ( void )
public bool ReflectionFunctionAbstract::hasReturnType ( void )
public bool ReflectionFunctionAbstract::inNamespace ( void )
public bool ReflectionFunctionAbstract::isClosure ( void )
public bool ReflectionFunctionAbstract::isDeprecated ( void )
public bool ReflectionFunctionAbstract::isGenerator ( void )
public bool ReflectionFunctionAbstract::isInternal ( void )
public bool ReflectionFunctionAbstract::isUserDefined ( void )
public bool ReflectionFunctionAbstract::isVariadic ( void )
public bool ReflectionFunctionAbstract::returnsReference ( void )
abstract public void ReflectionFunctionAbstract::__toString ( void )
}

Eigenschaften

name

Name of the function. Read-only, throws ReflectionException in attempt to write.

Vordefinierte Konstanten

ReflectionFunction Modifiers

ReflectionFunction::IS_DEPRECATED

Indicates deprecated functions.

Inhaltsverzeichnis

  • ReflectionFunction::__construct — Constructs a ReflectionFunction object
  • ReflectionFunction::export — Exports function
  • ReflectionFunction::getClosure — Returns a dynamically created closure for the function
  • ReflectionFunction::invoke — Invokes function
  • ReflectionFunction::invokeArgs — Invokes function args
  • ReflectionFunction::isDisabled — Checks if function is disabled
  • ReflectionFunction::__toString — To string
ReflectionExtension::__toString
ReflectionFunction::__construct
Reflection


Constructs a ReflectionFunction object

ReflectionFunction
ReflectionFunction::export
ReflectionFunction
PHP Manual

ReflectionFunction::__construct

(PHP 5, PHP 7)

ReflectionFunction::__construct — Constructs a ReflectionFunction object

Beschreibung

public ReflectionFunction::__construct ( mixed $name )

Constructs a ReflectionFunction object.

Parameter-Liste

name

The name of the function to reflect or a closure.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

A ReflectionException if the name parameter does not contain a valid function.

Changelog

Version | Beschreibung
5.3.0 | name can now be a closure.

Beispiele

Beispiel #1 ReflectionFunction::__construct() example

<?php
/**
 * A simple counter
 *
 * @return    int
 */
function counter1()
{
    static $c = 0;
    return ++$c;
}

/**
 * Another simple counter
 *
 * @return    int
 */
$counter2 = function()
{
    static $d = 0;
    return ++$d;

};

function dumpReflectionFunction($func)
{
    // Print out basic information
    printf(
        "\n\n===> The %s function '%s'\n".
        "     declared in %s\n".
        "     lines %d to %d\n",
        $func->isInternal() ? 'internal' : 'user-defined',
        $func->getName(),
        $func->getFileName(),
        $func->getStartLine(),
        $func->getEndline()
    );

    // Print documentation comment
    printf("---> Documentation:\n %s\n", var_export($func->getDocComment(), 1));

    // Print static variables if existant
    if ($statics = $func->getStaticVariables())
    {
        printf("---> Static variables: %s\n", var_export($statics, 1));
    }
}

// Create an instance of the ReflectionFunction class
dumpReflectionFunction(new ReflectionFunction('counter1'));
dumpReflectionFunction(new ReflectionFunction($counter2));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

===> The user-defined function 'counter1'
     declared in Z:\reflectcounter.php
     lines 7 to 11
---> Documentation:
 '/**
 * A simple counter
 *
 * @return    int
 */'
---> Static variables: array (
  'c' => 0,
)

===> The user-defined function '{closure}'
     declared in Z:\reflectcounter.php
     lines 18 to 23
---> Documentation:
 '/**
 * Another simple counter
 *
 * @return    int
 */'
---> Static variables: array (
  'd' => 0,
)

Siehe auch

  • ReflectionMethod::__construct() - Constructs a ReflectionMethod
  • Constructors

ReflectionFunction
ReflectionFunction::export
ReflectionFunction


Exports function

ReflectionFunction::__construct
ReflectionFunction::getClosure
ReflectionFunction
PHP Manual

ReflectionFunction::export

(PHP 5, PHP 7)

ReflectionFunction::export — Exports function

Beschreibung

public static string ReflectionFunction::export ( string $name [, string $return ] )

Exports a Reflected function.

Parameter-Liste

name

Die Reflection, die exportiert werden soll.

return

Wird dies auf TRUE gesetzt, so wird der Export zurückgegeben anstelle ihn auszugeben. Wird dies auf FALSE gesetzt (der Standardwert), wird das Gegenteil passieren.

Rückgabewerte

Falls der Parameter return auf TRUE gesetzt ist, so wird der Export als ein String zurückgegeben, andernfalls wird NULL zurückgegeben.

Siehe auch

  • ReflectionFunction::invoke() - Invokes function

ReflectionFunction::__construct
ReflectionFunction::getClosure
ReflectionFunction


Returns a dynamically created closure for the function

ReflectionFunction::export
ReflectionFunction::invoke
ReflectionFunction
PHP Manual

ReflectionFunction::getClosure

(PHP >= 5.4.0)

ReflectionFunction::getClosure — Returns a dynamically created closure for the function

Beschreibung

public Closure ReflectionFunction::getClosure ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns Closure. Returns NULL in case of an error.

ReflectionFunction::export
ReflectionFunction::invoke
ReflectionFunction


Invokes function

ReflectionFunction::getClosure
ReflectionFunction::invokeArgs
ReflectionFunction
PHP Manual

ReflectionFunction::invoke

(PHP 5, PHP 7)

ReflectionFunction::invoke — Invokes function

Beschreibung

public mixed ReflectionFunction::invoke ([ mixed $parameter [, mixed $... ]] )

Invokes a reflected function.

Parameter-Liste

args

The passed in argument list. It accepts a variable number of arguments which are passed to the function much like call_user_func() is.

Rückgabewerte

Returns the result of the invoked function call.

Beispiele

Beispiel #1 ReflectionFunction::invoke() example

<?php
function title($title, $name)
{
    return sprintf("%s. %s\r\n", $title, $name);
}

$function = new ReflectionFunction('title');

echo $function->invoke('Dr', 'Phil');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Dr. Phil

Anmerkungen

Hinweis:

Wenn die Funktion einige Argumente per Referenz akzeptiert, so müssen diese als Referenzen in die Argument-Liste gegeben werden.

Siehe auch

  • ReflectionFunction::export() - Exports function
  • __invoke()
  • call_user_func() - Aufruf der Callback-Funktion die als erster Parameter übergeben wurde

ReflectionFunction::getClosure
ReflectionFunction::invokeArgs
ReflectionFunction


Invokes function args

ReflectionFunction::invoke
ReflectionFunction::isDisabled
ReflectionFunction
PHP Manual

ReflectionFunction::invokeArgs

(PHP 5 >= 5.1.0, PHP 7)

ReflectionFunction::invokeArgs — Invokes function args

Beschreibung

public mixed ReflectionFunction::invokeArgs ( array $args )

Invokes the function and pass its arguments as array.

Parameter-Liste

args

The passed arguments to the function as an array, much like call_user_func_array() works.

Rückgabewerte

Returns the result of the invoked function

Beispiele

Beispiel #1 ReflectionFunction::invokeArgs() example

<?php
function title($title, $name)
{
    return sprintf("%s. %s\r\n", $title, $name);
}

$function = new ReflectionFunction('title');

echo $function->invokeArgs(array('Dr', 'Phil'));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Dr. Phil

Beispiel #2 ReflectionFunction::invokeArgs() with references example

<?php
function get_false_conditions(array $conditions, array &$false_conditions)
{
    foreach ($conditions as $condition) {
        if (!$condition) {
            $false_conditions[] = $condition;
        }
    }
}

$function_ref     = new ReflectionFunction('get_false_conditions');

$conditions       = array(true, false, -1, 0, 1);
$false_conditions = array();

$function_ref->invokeArgs(array($conditions, &$false_conditions));

var_dump($false_conditions);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(2) {
  [0]=>
  bool(false)
  [1]=>
  int(0)
}

Anmerkungen

Hinweis:

Wenn die Funktion einige Argumente per Referenz akzeptiert, so müssen diese als Referenzen in die Argument-Liste gegeben werden.

Siehe auch

  • ReflectionFunction::invoke() - Invokes function
  • ReflectionFunctionAbstract::getNumberOfParameters() - Gets number of parameters
  • __invoke()
  • call_user_func_array() - Call a callback with an array of parameters

ReflectionFunction::invoke
ReflectionFunction::isDisabled
ReflectionFunction


Checks if function is disabled

ReflectionFunction::invokeArgs
ReflectionFunction::__toString
ReflectionFunction
PHP Manual

ReflectionFunction::isDisabled

(PHP 5, PHP 7)

ReflectionFunction::isDisabled — Checks if function is disabled

Beschreibung

public bool ReflectionFunction::isDisabled ( void )

Checks if the function is disabled, via the disable_functions directive.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if it's disable, otherwise FALSE

Siehe auch

  • ReflectionFunctionAbstract::isUserDefined() - Checks if user defined
  • disable_functions directive

ReflectionFunction::invokeArgs
ReflectionFunction::__toString
ReflectionFunction


To string

ReflectionFunction::isDisabled
ReflectionFunctionAbstract
ReflectionFunction
PHP Manual

ReflectionFunction::__toString

(PHP 5, PHP 7)

ReflectionFunction::__toString — To string

Beschreibung

public string ReflectionFunction::__toString ( void )

To string.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns ReflectionFunction::export()-like output for the function.

Beispiele

Beispiel #1 ReflectionFunction::__toString() example

<?php
function title($title, $name)
{
    return sprintf("%s. %s\r\n", $title, $name);
}

echo new ReflectionFunction('title');
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Function [ <user> function title ] {
  @@ Command line code 1 - 1

  - Parameters [2] {
    Parameter #0 [ <required> $title ]
    Parameter #1 [ <required> $name ]
  }
}

Siehe auch

  • ReflectionFunction::export() - Exports function
  • ReflectionClass::clone()
  • __toString()

ReflectionFunction::isDisabled
ReflectionFunctionAbstract
ReflectionFunction


The ReflectionFunctionAbstract class

(PHP 5, PHP 7)

Einführung

A parent class to ReflectionFunction, read its description for details.

Klassenbeschreibung

ReflectionFunctionAbstract implements Reflector {
/* Eigenschaften */
public $name ;
/* Methoden */
final private void __clone ( void )
public ReflectionClass getClosureScopeClass ( void )
public object getClosureThis ( void )
public string getDocComment ( void )
public int getEndLine ( void )
public ReflectionExtension getExtension ( void )
public string getExtensionName ( void )
public string getFileName ( void )
public string getName ( void )
public string getNamespaceName ( void )
public int getNumberOfParameters ( void )
public int getNumberOfRequiredParameters ( void )
public array getParameters ( void )
public ReflectionType getReturnType ( void )
public string getShortName ( void )
public int getStartLine ( void )
public array getStaticVariables ( void )
public bool hasReturnType ( void )
public bool inNamespace ( void )
public bool isClosure ( void )
public bool isDeprecated ( void )
public bool isGenerator ( void )
public bool isInternal ( void )
public bool isUserDefined ( void )
public bool isVariadic ( void )
public bool returnsReference ( void )
abstract public void __toString ( void )
}

Eigenschaften

name

Name of the function. Read-only, throws ReflectionException in attempt to write.

Inhaltsverzeichnis

  • ReflectionFunctionAbstract::__clone — Clones function
  • ReflectionFunctionAbstract::getClosureScopeClass — Returns the scope associated to the closure
  • ReflectionFunctionAbstract::getClosureThis — Returns this pointer bound to closure
  • ReflectionFunctionAbstract::getDocComment — Gets doc comment
  • ReflectionFunctionAbstract::getEndLine — Gets end line number
  • ReflectionFunctionAbstract::getExtension — Gets extension info
  • ReflectionFunctionAbstract::getExtensionName — Gets extension name
  • ReflectionFunctionAbstract::getFileName — Gets file name
  • ReflectionFunctionAbstract::getName — Gets function name
  • ReflectionFunctionAbstract::getNamespaceName — Gets namespace name
  • ReflectionFunctionAbstract::getNumberOfParameters — Gets number of parameters
  • ReflectionFunctionAbstract::getNumberOfRequiredParameters — Gets number of required parameters
  • ReflectionFunctionAbstract::getParameters — Gets parameters
  • ReflectionFunctionAbstract::getReturnType — Gets the specified return type of a function
  • ReflectionFunctionAbstract::getShortName — Gets function short name
  • ReflectionFunctionAbstract::getStartLine — Gets starting line number
  • ReflectionFunctionAbstract::getStaticVariables — Gets static variables
  • ReflectionFunctionAbstract::hasReturnType — Checks if the function has a specified return type
  • ReflectionFunctionAbstract::inNamespace — Checks if function in namespace
  • ReflectionFunctionAbstract::isClosure — Checks if closure
  • ReflectionFunctionAbstract::isDeprecated — Checks if deprecated
  • ReflectionFunctionAbstract::isGenerator — Returns whether this function is a generator
  • ReflectionFunctionAbstract::isInternal — Checks if is internal
  • ReflectionFunctionAbstract::isUserDefined — Checks if user defined
  • ReflectionFunctionAbstract::isVariadic — Checks if the function is variadic
  • ReflectionFunctionAbstract::returnsReference — Checks if returns reference
  • ReflectionFunctionAbstract::__toString — To string
ReflectionFunction::__toString
ReflectionFunctionAbstract::__clone
Reflection


Clones function

ReflectionFunctionAbstract
ReflectionFunctionAbstract::getClosureScopeClass
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::__clone

(PHP 5, PHP 7)

ReflectionFunctionAbstract::__clone — Clones function

Beschreibung

final private void ReflectionFunctionAbstract::__clone ( void )

Clones a function.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Siehe auch

  • Object cloning

ReflectionFunctionAbstract
ReflectionFunctionAbstract::getClosureScopeClass
ReflectionFunctionAbstract


Returns the scope associated to the closure

ReflectionFunctionAbstract::__clone
ReflectionFunctionAbstract::getClosureThis
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getClosureScopeClass

(PHP >= 5.4.0)

ReflectionFunctionAbstract::getClosureScopeClass — Returns the scope associated to the closure

Beschreibung

public ReflectionClass ReflectionFunctionAbstract::getClosureScopeClass ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the class on success or NULL on failure.

ReflectionFunctionAbstract::__clone
ReflectionFunctionAbstract::getClosureThis
ReflectionFunctionAbstract


Returns this pointer bound to closure

ReflectionFunctionAbstract::getClosureScopeClass
ReflectionFunctionAbstract::getDocComment
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getClosureThis

(PHP >= 5.4.0)

ReflectionFunctionAbstract::getClosureThis — Returns this pointer bound to closure

Beschreibung

public object ReflectionFunctionAbstract::getClosureThis ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns $this pointer. Returns NULL in case of an error.

ReflectionFunctionAbstract::getClosureScopeClass
ReflectionFunctionAbstract::getDocComment
ReflectionFunctionAbstract


Gets doc comment

ReflectionFunctionAbstract::getClosureThis
ReflectionFunctionAbstract::getEndLine
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getDocComment

(PHP 5 >= 5.1.0, PHP 7)

ReflectionFunctionAbstract::getDocComment — Gets doc comment

Beschreibung

public string ReflectionFunctionAbstract::getDocComment ( void )

Get a Doc comment from a function.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The doc comment if it exists, otherwise FALSE

Siehe auch

  • ReflectionFunctionAbstract::getStartLine() - Gets starting line number

ReflectionFunctionAbstract::getClosureThis
ReflectionFunctionAbstract::getEndLine
ReflectionFunctionAbstract


Gets end line number

ReflectionFunctionAbstract::getDocComment
ReflectionFunctionAbstract::getExtension
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getEndLine

(PHP 5, PHP 7)

ReflectionFunctionAbstract::getEndLine — Gets end line number

Beschreibung

public int ReflectionFunctionAbstract::getEndLine ( void )

Get the ending line number.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The ending line number of the user defined function, or FALSE if unknown.

Siehe auch

  • ReflectionFunctionAbstract::getStartLine() - Gets starting line number

ReflectionFunctionAbstract::getDocComment
ReflectionFunctionAbstract::getExtension
ReflectionFunctionAbstract


Gets extension info

ReflectionFunctionAbstract::getEndLine
ReflectionFunctionAbstract::getExtensionName
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getExtension

(PHP 5, PHP 7)

ReflectionFunctionAbstract::getExtension — Gets extension info

Beschreibung

public ReflectionExtension ReflectionFunctionAbstract::getExtension ( void )

Get the extension information of a function.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The extension information, as a ReflectionExtension object.

Siehe auch

  • ReflectionFunctionAbstract::getExtensionName() - Gets extension name

ReflectionFunctionAbstract::getEndLine
ReflectionFunctionAbstract::getExtensionName
ReflectionFunctionAbstract


Gets extension name

ReflectionFunctionAbstract::getExtension
ReflectionFunctionAbstract::getFileName
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getExtensionName

(PHP 5, PHP 7)

ReflectionFunctionAbstract::getExtensionName — Gets extension name

Beschreibung

public string ReflectionFunctionAbstract::getExtensionName ( void )

Get the extensions name.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The extensions name.

Siehe auch

  • ReflectionFunctionAbstract::getExtension() - Gets extension info

ReflectionFunctionAbstract::getExtension
ReflectionFunctionAbstract::getFileName
ReflectionFunctionAbstract


Gets file name

ReflectionFunctionAbstract::getExtensionName
ReflectionFunctionAbstract::getName
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getFileName

(PHP 5, PHP 7)

ReflectionFunctionAbstract::getFileName — Gets file name

Beschreibung

public string ReflectionFunctionAbstract::getFileName ( void )

Gets the file name from a user-defined function.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The file name.

Siehe auch

  • ReflectionFunctionAbstract::getNamespaceName() - Gets namespace name

ReflectionFunctionAbstract::getExtensionName
ReflectionFunctionAbstract::getName
ReflectionFunctionAbstract


Gets function name

ReflectionFunctionAbstract::getFileName
ReflectionFunctionAbstract::getNamespaceName
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getName

(PHP 5, PHP 7)

ReflectionFunctionAbstract::getName — Gets function name

Beschreibung

public string ReflectionFunctionAbstract::getName ( void )

Get the name of the function.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The name of the function.

Siehe auch

  • ReflectionFunctionAbstract::getExtensionName() - Gets extension name
  • ReflectionFunctionAbstract::isUserDefined() - Checks if user defined

ReflectionFunctionAbstract::getFileName
ReflectionFunctionAbstract::getNamespaceName
ReflectionFunctionAbstract


Gets namespace name

ReflectionFunctionAbstract::getName
ReflectionFunctionAbstract::getNumberOfParameters
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getNamespaceName

(PHP 5 >= 5.3.0, PHP 7)

ReflectionFunctionAbstract::getNamespaceName — Gets namespace name

Beschreibung

public string ReflectionFunctionAbstract::getNamespaceName ( void )

Get the namespace name where the class is defined.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The namespace name.

Siehe auch

  • ReflectionFunctionAbstract::getFileName() - Gets file name
  • namespaces

ReflectionFunctionAbstract::getName
ReflectionFunctionAbstract::getNumberOfParameters
ReflectionFunctionAbstract


Gets number of parameters

ReflectionFunctionAbstract::getNamespaceName
ReflectionFunctionAbstract::getNumberOfRequiredParameters
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getNumberOfParameters

(PHP 5 >= 5.0.3, PHP 7)

ReflectionFunctionAbstract::getNumberOfParameters — Gets number of parameters

Beschreibung

public int ReflectionFunctionAbstract::getNumberOfParameters ( void )

Get the number of parameters that a function defines, both optional and required.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The number of parameters.

Siehe auch

  • ReflectionFunctionAbstract::getNumberOfRequiredParameters() - Gets number of required parameters
  • func_num_args() - Liefert die Anzahl der an eine Funktion übergebenen Argumente

ReflectionFunctionAbstract::getNamespaceName
ReflectionFunctionAbstract::getNumberOfRequiredParameters
ReflectionFunctionAbstract


Gets number of required parameters

ReflectionFunctionAbstract::getNumberOfParameters
ReflectionFunctionAbstract::getParameters
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getNumberOfRequiredParameters

(PHP 5 >= 5.0.3, PHP 7)

ReflectionFunctionAbstract::getNumberOfRequiredParameters — Gets number of required parameters

Beschreibung

public int ReflectionFunctionAbstract::getNumberOfRequiredParameters ( void )

Get the number of required parameters that a function defines.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The number of required parameters.

Siehe auch

  • ReflectionFunctionAbstract::getNumberOfParameters() - Gets number of parameters

ReflectionFunctionAbstract::getNumberOfParameters
ReflectionFunctionAbstract::getParameters
ReflectionFunctionAbstract


Gets parameters

ReflectionFunctionAbstract::getNumberOfRequiredParameters
ReflectionFunctionAbstract::getReturnType
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getParameters

(PHP 5, PHP 7)

ReflectionFunctionAbstract::getParameters — Gets parameters

Beschreibung

public array ReflectionFunctionAbstract::getParameters ( void )

Get the parameters as an array of ReflectionParameter.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The parameters, as a ReflectionParameter object.

Siehe auch

  • ReflectionFunctionAbstract::getNumberOfParameters() - Gets number of parameters
  • func_get_args() - Liefert Funktionsargumente als Array

ReflectionFunctionAbstract::getNumberOfRequiredParameters
ReflectionFunctionAbstract::getReturnType
ReflectionFunctionAbstract


Gets the specified return type of a function

ReflectionFunctionAbstract::getParameters
ReflectionFunctionAbstract::getShortName
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getReturnType

(PHP 7)

ReflectionFunctionAbstract::getReturnType — Gets the specified return type of a function

Beschreibung

public ReflectionType ReflectionFunctionAbstract::getReturnType ( void )

Gets the specified return type of a reflected function.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a ReflectionType object if a return type is specified, NULL otherwise.

Beispiele

Beispiel #1 ReflectionFunctionAbstract::getReturnType() example

<?php

function to_int($param) : int {
    return (int) $param;
}

$reflection1 = new ReflectionFunction('to_int');
echo $reflection1->getReturnType();

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int

Beispiel #2 Usage on built-in functions

<?php

$reflection2 = new ReflectionFunction('array_merge');

var_dump($reflection2->getReturnType());

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

null

This is because many internal functions do not have types specified for their parameters or return values. It is therefore best to avoid using this method on built-in functions.

Siehe auch

  • ReflectionFunctionAbstract::hasReturnType() - Checks if the function has a specified return type
  • ReflectionType::__toString() - To string

ReflectionFunctionAbstract::getParameters
ReflectionFunctionAbstract::getShortName
ReflectionFunctionAbstract


Gets function short name

ReflectionFunctionAbstract::getReturnType
ReflectionFunctionAbstract::getStartLine
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getShortName

(PHP 5 >= 5.3.0, PHP 7)

ReflectionFunctionAbstract::getShortName — Gets function short name

Beschreibung

public string ReflectionFunctionAbstract::getShortName ( void )

Get the short name of the function (without the namespace part).

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The short name of the function.

Siehe auch

  • ReflectionFunctionAbstract::getNamespaceName() - Gets namespace name
  • namespaces

ReflectionFunctionAbstract::getReturnType
ReflectionFunctionAbstract::getStartLine
ReflectionFunctionAbstract


Gets starting line number

ReflectionFunctionAbstract::getShortName
ReflectionFunctionAbstract::getStaticVariables
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getStartLine

(PHP 5, PHP 7)

ReflectionFunctionAbstract::getStartLine — Gets starting line number

Beschreibung

public int ReflectionFunctionAbstract::getStartLine ( void )

Gets the starting line number of the function.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The starting line number.

Siehe auch

  • ReflectionFunctionAbstract::getEndLine() - Gets end line number

ReflectionFunctionAbstract::getShortName
ReflectionFunctionAbstract::getStaticVariables
ReflectionFunctionAbstract


Gets static variables

ReflectionFunctionAbstract::getStartLine
ReflectionFunctionAbstract::hasReturnType
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getStaticVariables

(PHP 5, PHP 7)

ReflectionFunctionAbstract::getStaticVariables — Gets static variables

Beschreibung

public array ReflectionFunctionAbstract::getStaticVariables ( void )

Get the static variables.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An array of static variables.

Siehe auch

  • ReflectionFunctionAbstract::getParameters() - Gets parameters

ReflectionFunctionAbstract::getStartLine
ReflectionFunctionAbstract::hasReturnType
ReflectionFunctionAbstract


Checks if the function has a specified return type

ReflectionFunctionAbstract::getStaticVariables
ReflectionFunctionAbstract::inNamespace
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::hasReturnType

(PHP 7)

ReflectionFunctionAbstract::hasReturnType — Checks if the function has a specified return type

Beschreibung

public bool ReflectionFunctionAbstract::hasReturnType ( void )

Checks whether the reflected function has a return type specified.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the function is a specified return type, otherwise FALSE.

Beispiele

Beispiel #1 ReflectionFunctionAbstract::hasReturnType() example

<?php

function to_int($param) : int {
    return (int) $param;
}

$reflection1 = new ReflectionFunction('to_int');
var_dump($reflection1->hasReturnType());

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)

Beispiel #2 Usage on built-in functions

<?php

$reflection2 = new ReflectionFunction('array_merge');

var_dump($reflection2->hasReturnType());

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)

This is because many internal functions do not have types specified for their parameters or return values. It is therefore best to avoid using this method on built-in functions.

Siehe auch

  • ReflectionFunctionAbstract::getReturnType() - Gets the specified return type of a function

ReflectionFunctionAbstract::getStaticVariables
ReflectionFunctionAbstract::inNamespace
ReflectionFunctionAbstract


Checks if function in namespace

ReflectionFunctionAbstract::hasReturnType
ReflectionFunctionAbstract::isClosure
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::inNamespace

(PHP 5 >= 5.3.0, PHP 7)

ReflectionFunctionAbstract::inNamespace — Checks if function in namespace

Beschreibung

public bool ReflectionFunctionAbstract::inNamespace ( void )

Checks whether a function is defined in a namespace.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if it's in a namespace, otherwise FALSE

Siehe auch

  • ReflectionFunctionAbstract::getNamespaceName() - Gets namespace name
  • namespaces

ReflectionFunctionAbstract::hasReturnType
ReflectionFunctionAbstract::isClosure
ReflectionFunctionAbstract


Checks if closure

ReflectionFunctionAbstract::inNamespace
ReflectionFunctionAbstract::isDeprecated
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::isClosure

(PHP 5 >= 5.3.0, PHP 7)

ReflectionFunctionAbstract::isClosure — Checks if closure

Beschreibung

public bool ReflectionFunctionAbstract::isClosure ( void )

Checks whether the reflected function is a Closure.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the function is a Closure, otherwise FALSE.

Beispiele

Beispiel #1 ReflectionFunctionAbstract::isClosure() example

<?php
// Non-closure
$function1 = 'str_replace';
$reflection1 = new ReflectionFunction($function1);
var_dump($reflection1->isClosure());

// Closure
$function2 = function () {};
$reflection2 = new ReflectionFunction($function2);
var_dump($reflection2->isClosure());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(true)

Siehe auch

  • ReflectionFunctionAbstract::isGenerator() - Returns whether this function is a generator

ReflectionFunctionAbstract::inNamespace
ReflectionFunctionAbstract::isDeprecated
ReflectionFunctionAbstract


Checks if deprecated

ReflectionFunctionAbstract::isClosure
ReflectionFunctionAbstract::isGenerator
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::isDeprecated

(PHP 5, PHP 7)

ReflectionFunctionAbstract::isDeprecated — Checks if deprecated

Beschreibung

public bool ReflectionFunctionAbstract::isDeprecated ( void )

Checks whether the function is deprecated.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if it's deprecated, otherwise FALSE

Beispiele

Beispiel #1 ReflectionFunctionAbstract::isDeprecated() example

<?php
$rf = new ReflectionFunction('ereg');
var_dump($rf->isDeprecated());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)

Siehe auch

  • ReflectionFunctionAbstract::getDocComment() - Gets doc comment

ReflectionFunctionAbstract::isClosure
ReflectionFunctionAbstract::isGenerator
ReflectionFunctionAbstract


Returns whether this function is a generator

ReflectionFunctionAbstract::isDeprecated
ReflectionFunctionAbstract::isInternal
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::isGenerator

(PHP 5 >= 5.5.0, PHP 7)

ReflectionFunctionAbstract::isGenerator — Returns whether this function is a generator

Beschreibung

public bool ReflectionFunctionAbstract::isGenerator ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the function is generator, FALSE if it is not or NULL on failure.

ReflectionFunctionAbstract::isDeprecated
ReflectionFunctionAbstract::isInternal
ReflectionFunctionAbstract


Checks if is internal

ReflectionFunctionAbstract::isGenerator
ReflectionFunctionAbstract::isUserDefined
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::isInternal

(PHP 5, PHP 7)

ReflectionFunctionAbstract::isInternal — Checks if is internal

Beschreibung

public bool ReflectionFunctionAbstract::isInternal ( void )

Checks whether the function is internal, as opposed to user-defined.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if it's internal, otherwise FALSE

Siehe auch

  • ReflectionFunctionAbstract::isUserDefined() - Checks if user defined

ReflectionFunctionAbstract::isGenerator
ReflectionFunctionAbstract::isUserDefined
ReflectionFunctionAbstract


Checks if user defined

ReflectionFunctionAbstract::isInternal
ReflectionFunctionAbstract::isVariadic
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::isUserDefined

(PHP 5, PHP 7)

ReflectionFunctionAbstract::isUserDefined — Checks if user defined

Beschreibung

public bool ReflectionFunctionAbstract::isUserDefined ( void )

Checks whether the function is user-defined, as opposed to internal.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if it's user-defined, otherwise false;

Siehe auch

  • ReflectionFunctionAbstract::isInternal() - Checks if is internal

ReflectionFunctionAbstract::isInternal
ReflectionFunctionAbstract::isVariadic
ReflectionFunctionAbstract


Checks if the function is variadic

ReflectionFunctionAbstract::isUserDefined
ReflectionFunctionAbstract::returnsReference
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::isVariadic

(PHP 5 >= 5.6.0, PHP 7)

ReflectionFunctionAbstract::isVariadic — Checks if the function is variadic

Beschreibung

public bool ReflectionFunctionAbstract::isVariadic ( void )

Checks if the function is variadic.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the function is variadic, otherwise FALSE.

ReflectionFunctionAbstract::isUserDefined
ReflectionFunctionAbstract::returnsReference
ReflectionFunctionAbstract


Checks if returns reference

ReflectionFunctionAbstract::isVariadic
ReflectionFunctionAbstract::__toString
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::returnsReference

(PHP 5, PHP 7)

ReflectionFunctionAbstract::returnsReference — Checks if returns reference

Beschreibung

public bool ReflectionFunctionAbstract::returnsReference ( void )

Checks whether the function returns a reference.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if it returns a reference, otherwise FALSE

Siehe auch

  • ReflectionFunctionAbstract::isClosure() - Checks if closure

ReflectionFunctionAbstract::isVariadic
ReflectionFunctionAbstract::__toString
ReflectionFunctionAbstract


To string

ReflectionFunctionAbstract::returnsReference
ReflectionMethod
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::__toString

(PHP 5, PHP 7)

ReflectionFunctionAbstract::__toString — To string

Beschreibung

abstract public void ReflectionFunctionAbstract::__toString ( void )

To string.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The string.

Siehe auch

  • ReflectionClass::clone()
  • __toString()

ReflectionFunctionAbstract::returnsReference
ReflectionMethod
ReflectionFunctionAbstract


The ReflectionMethod class

(PHP 5, PHP 7)

Einführung

The ReflectionMethod class reports information about a method.

Klassenbeschreibung

ReflectionMethod extends ReflectionFunctionAbstract implements Reflector {
/* Konstanten */
const integer IS_STATIC = 1 ;
const integer IS_PUBLIC = 256 ;
const integer IS_PROTECTED = 512 ;
const integer IS_PRIVATE = 1024 ;
const integer IS_ABSTRACT = 2 ;
const integer IS_FINAL = 4 ;
/* Eigenschaften */
public $name ;
public $class ;
/* Methoden */
public __construct ( mixed $class , string $name )
public static string export ( string $class , string $name [, bool $return = false ] )
public Closure getClosure ( object $object )
public ReflectionClass getDeclaringClass ( void )
public int getModifiers ( void )
public ReflectionMethod getPrototype ( void )
public mixed invoke ( object $object [, mixed $parameter [, mixed $... ]] )
public mixed invokeArgs ( object $object , array $args )
public bool isAbstract ( void )
public bool isConstructor ( void )
public bool isDestructor ( void )
public bool isFinal ( void )
public bool isPrivate ( void )
public bool isProtected ( void )
public bool isPublic ( void )
public bool isStatic ( void )
public void setAccessible ( bool $accessible )
public string __toString ( void )
/* Geerbte Methoden */
final private void ReflectionFunctionAbstract::__clone ( void )
public ReflectionClass ReflectionFunctionAbstract::getClosureScopeClass ( void )
public object ReflectionFunctionAbstract::getClosureThis ( void )
public string ReflectionFunctionAbstract::getDocComment ( void )
public int ReflectionFunctionAbstract::getEndLine ( void )
public ReflectionExtension ReflectionFunctionAbstract::getExtension ( void )
public string ReflectionFunctionAbstract::getExtensionName ( void )
public string ReflectionFunctionAbstract::getFileName ( void )
public string ReflectionFunctionAbstract::getName ( void )
public string ReflectionFunctionAbstract::getNamespaceName ( void )
public int ReflectionFunctionAbstract::getNumberOfParameters ( void )
public int ReflectionFunctionAbstract::getNumberOfRequiredParameters ( void )
public array ReflectionFunctionAbstract::getParameters ( void )
public ReflectionType ReflectionFunctionAbstract::getReturnType ( void )
public string ReflectionFunctionAbstract::getShortName ( void )
public int ReflectionFunctionAbstract::getStartLine ( void )
public array ReflectionFunctionAbstract::getStaticVariables ( void )
public bool ReflectionFunctionAbstract::hasReturnType ( void )
public bool ReflectionFunctionAbstract::inNamespace ( void )
public bool ReflectionFunctionAbstract::isClosure ( void )
public bool ReflectionFunctionAbstract::isDeprecated ( void )
public bool ReflectionFunctionAbstract::isGenerator ( void )
public bool ReflectionFunctionAbstract::isInternal ( void )
public bool ReflectionFunctionAbstract::isUserDefined ( void )
public bool ReflectionFunctionAbstract::isVariadic ( void )
public bool ReflectionFunctionAbstract::returnsReference ( void )
abstract public void ReflectionFunctionAbstract::__toString ( void )
}

Eigenschaften

name

Method name

class

Class name

Vordefinierte Konstanten

ReflectionMethod Modifiers

ReflectionMethod::IS_STATIC

Indicates that the method is static.

ReflectionMethod::IS_PUBLIC

Indicates that the method is public.

ReflectionMethod::IS_PROTECTED

Indicates that the method is protected.

ReflectionMethod::IS_PRIVATE

Indicates that the method is private.

ReflectionMethod::IS_ABSTRACT

Indicates that the method is abstract.

ReflectionMethod::IS_FINAL

Indicates that the method is final.

Inhaltsverzeichnis

  • ReflectionMethod::__construct — Constructs a ReflectionMethod
  • ReflectionMethod::export — Export a reflection method.
  • ReflectionMethod::getClosure — Returns a dynamically created closure for the method
  • ReflectionMethod::getDeclaringClass — Gets declaring class for the reflected method.
  • ReflectionMethod::getModifiers — Gets the method modifiers
  • ReflectionMethod::getPrototype — Gets the method prototype (if there is one).
  • ReflectionMethod::invoke — Invoke
  • ReflectionMethod::invokeArgs — Invoke args
  • ReflectionMethod::isAbstract — Checks if method is abstract
  • ReflectionMethod::isConstructor — Checks if method is a constructor
  • ReflectionMethod::isDestructor — Checks if method is a destructor
  • ReflectionMethod::isFinal — Checks if method is final
  • ReflectionMethod::isPrivate — Checks if method is private
  • ReflectionMethod::isProtected — Checks if method is protected
  • ReflectionMethod::isPublic — Checks if method is public
  • ReflectionMethod::isStatic — Checks if method is static
  • ReflectionMethod::setAccessible — Set method accessibility
  • ReflectionMethod::__toString — Returns the string representation of the Reflection method object.
ReflectionFunctionAbstract::__toString
ReflectionMethod::__construct
Reflection


Constructs a ReflectionMethod

ReflectionMethod
ReflectionMethod::export
ReflectionMethod
PHP Manual

ReflectionMethod::__construct

(PHP 5, PHP 7)

ReflectionMethod::__construct — Constructs a ReflectionMethod

Beschreibung

public ReflectionMethod::__construct ( mixed $class , string $name )
public ReflectionMethod::__construct ( string $class_method )

Constructs a new ReflectionMethod.

Parameter-Liste

class

Classname or object (instance of the class) that contains the method.

name

Name of the method.

class_method

Class name and method name delimited by ::.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

A ReflectionException is thrown if the given method does not exist.

Beispiele

Beispiel #1 ReflectionMethod::__construct() example

<?php
class Counter
{
    private static $c = 0;

    /**
     * Increment counter
     *
     * @final
     * @static
     * @access  public
     * @return  int
     */
    final public static function increment()
    {
        return ++self::$c;
    }
}

// Create an instance of the ReflectionMethod class
$method = new ReflectionMethod('Counter', 'increment');

// Print out basic information
printf(
    "===> The %s%s%s%s%s%s%s method '%s' (which is %s)\n" .
    "     declared in %s\n" .
    "     lines %d to %d\n" .
    "     having the modifiers %d[%s]\n",
        $method->isInternal() ? 'internal' : 'user-defined',
        $method->isAbstract() ? ' abstract' : '',
        $method->isFinal() ? ' final' : '',
        $method->isPublic() ? ' public' : '',
        $method->isPrivate() ? ' private' : '',
        $method->isProtected() ? ' protected' : '',
        $method->isStatic() ? ' static' : '',
        $method->getName(),
        $method->isConstructor() ? 'the constructor' : 'a regular method',
        $method->getFileName(),
        $method->getStartLine(),
        $method->getEndline(),
        $method->getModifiers(),
        implode(' ', Reflection::getModifierNames($method->getModifiers()))
);

// Print documentation comment
printf("---> Documentation:\n %s\n", var_export($method->getDocComment(), 1));

// Print static variables if existant
if ($statics= $method->getStaticVariables()) {
    printf("---> Static variables: %s\n", var_export($statics, 1));
}

// Invoke the method
printf("---> Invocation results in: ");
var_dump($method->invoke(NULL));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

===> The user-defined final public static method 'increment' (which is a regular method)
     declared in /Users/philip/cvs/phpdoc/test.php
     lines 14 to 17
     having the modifiers 261[final public static]
---> Documentation:
 '/**
     * Increment counter
     *
     * @final
     * @static
     * @access  public
     * @return  int
     */'
---> Invocation results in: int(1)

Siehe auch

  • ReflectionMethod::export() - Export a reflection method.
  • Constructors

ReflectionMethod
ReflectionMethod::export
ReflectionMethod


Export a reflection method.

ReflectionMethod::__construct
ReflectionMethod::getClosure
ReflectionMethod
PHP Manual

ReflectionMethod::export

(PHP 5, PHP 7)

ReflectionMethod::export — Export a reflection method.

Beschreibung

public static string ReflectionMethod::export ( string $class , string $name [, bool $return = false ] )

Exports a ReflectionMethod.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

class

The class name.

name

The name of the method.

return

Wird dies auf TRUE gesetzt, so wird der Export zurückgegeben anstelle ihn auszugeben. Wird dies auf FALSE gesetzt (der Standardwert), wird das Gegenteil passieren.

Rückgabewerte

Falls der Parameter return auf TRUE gesetzt ist, so wird der Export als ein String zurückgegeben, andernfalls wird NULL zurückgegeben.

Siehe auch

  • ReflectionMethod::__construct() - Constructs a ReflectionMethod
  • ReflectionMethod::__toString() - Returns the string representation of the Reflection method object.

ReflectionMethod::__construct
ReflectionMethod::getClosure
ReflectionMethod


Returns a dynamically created closure for the method

ReflectionMethod::export
ReflectionMethod::getDeclaringClass
ReflectionMethod
PHP Manual

ReflectionMethod::getClosure

(PHP >= 5.4.0)

ReflectionMethod::getClosure — Returns a dynamically created closure for the method

Beschreibung

public Closure ReflectionMethod::getClosure ( object $object )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

object

Forbidden for static methods, required for other methods.

Rückgabewerte

Returns Closure. Returns NULL in case of an error.

ReflectionMethod::export
ReflectionMethod::getDeclaringClass
ReflectionMethod


Gets declaring class for the reflected method.

ReflectionMethod::getClosure
ReflectionMethod::getModifiers
ReflectionMethod
PHP Manual

ReflectionMethod::getDeclaringClass

(PHP 5, PHP 7)

ReflectionMethod::getDeclaringClass — Gets declaring class for the reflected method.

Beschreibung

public ReflectionClass ReflectionMethod::getDeclaringClass ( void )

Gets the declaring class for the reflected method.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A ReflectionClass object of the class that the reflected method is part of.

Beispiele

Beispiel #1 ReflectionMethod::getDeclaringClass() example

<?php
class HelloWorld {

    protected function sayHelloTo($name) {
        return 'Hello ' . $name;
    }

}

$reflectionMethod = new ReflectionMethod(new HelloWorld(), 'sayHelloTo');
var_dump($reflectionMethod->getDeclaringClass());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(ReflectionClass)#2 (1) {
  ["name"]=>
  string(10) "HelloWorld"
}

Siehe auch

  • ReflectionMethod::isAbstract() - Checks if method is abstract

ReflectionMethod::getClosure
ReflectionMethod::getModifiers
ReflectionMethod


Gets the method modifiers

ReflectionMethod::getDeclaringClass
ReflectionMethod::getPrototype
ReflectionMethod
PHP Manual

ReflectionMethod::getModifiers

(PHP 5, PHP 7)

ReflectionMethod::getModifiers — Gets the method modifiers

Beschreibung

public int ReflectionMethod::getModifiers ( void )

Returns a bitfield of the access modifiers for this method.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A numeric representation of the modifiers. The modifiers are listed below. The actual meanings of these modifiers are described in the predefined constants.

Beispiele

Beispiel #1 ReflectionMethod::getModifiers() example

<?php
class Testing
{
    final public static function foo()
    {
        return;
    }
    public function bar()
    {
        return;
    }
}

$foo = new ReflectionMethod('Testing', 'foo');

echo "Modifiers for method foo():\n";
echo $foo->getModifiers() . "\n";
echo implode(' ', Reflection::getModifierNames($foo->getModifiers())) . "\n";

$bar = new ReflectionMethod('Testing', 'bar');

echo "Modifiers for method bar():\n";
echo $bar->getModifiers() . "\n";
echo implode(' ', Reflection::getModifierNames($bar->getModifiers()));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Modifiers for method foo():
261
final public static
Modifiers for method bar():
65792
public

Siehe auch

  • Reflection::getModifierNames() - Gets modifier names

ReflectionMethod::getDeclaringClass
ReflectionMethod::getPrototype
ReflectionMethod


Gets the method prototype (if there is one).

ReflectionMethod::getModifiers
ReflectionMethod::invoke
ReflectionMethod
PHP Manual

ReflectionMethod::getPrototype

(PHP 5, PHP 7)

ReflectionMethod::getPrototype — Gets the method prototype (if there is one).

Beschreibung

public ReflectionMethod ReflectionMethod::getPrototype ( void )

Returns the methods prototype.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A ReflectionMethod instance of the method prototype.

Fehler/Exceptions

A ReflectionException exception is thrown if the method does not have a prototype.

Beispiele

Beispiel #1 ReflectionMethod::getPrototype() example

<?php
class Hello {

    public function sayHelloTo($name) {
        return 'Hello ' . $name;
    }

}
class HelloWorld extends Hello {

    public function sayHelloTo($name) {
        return 'Hello world: ' . $name;
    }

}

$reflectionMethod = new ReflectionMethod('HelloWorld', 'sayHelloTo');
var_dump($reflectionMethod->getPrototype());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(ReflectionMethod)#2 (2) {
  ["name"]=>
  string(10) "sayHelloTo"
  ["class"]=>
  string(5) "Hello"
}

Siehe auch

  • ReflectionMethod::getModifiers() - Gets the method modifiers

ReflectionMethod::getModifiers
ReflectionMethod::invoke
ReflectionMethod


Invoke

ReflectionMethod::getPrototype
ReflectionMethod::invokeArgs
ReflectionMethod
PHP Manual

ReflectionMethod::invoke

(PHP 5, PHP 7)

ReflectionMethod::invoke — Invoke

Beschreibung

public mixed ReflectionMethod::invoke ( object $object [, mixed $parameter [, mixed $... ]] )

Invokes a reflected method.

Parameter-Liste

object

The object to invoke the method on. For static methods, pass null to this parameter.

parameter

Zero or more parameters to be passed to the method. It accepts a variable number of parameters which are passed to the method.

Rückgabewerte

Returns the method result.

Fehler/Exceptions

A ReflectionException if the object parameter does not contain an instance of the class that this method was declared in.

A ReflectionException if the method invocation failed.

Beispiele

Beispiel #1 ReflectionMethod::invoke() example

<?php
class HelloWorld {

    public function sayHelloTo($name) {
        return 'Hello ' . $name;
    }

}

$reflectionMethod = new ReflectionMethod('HelloWorld', 'sayHelloTo');
echo $reflectionMethod->invoke(new HelloWorld(), 'Mike');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Hello Mike

Anmerkungen

Hinweis:

Wenn die Funktion einige Argumente per Referenz akzeptiert, so müssen diese als Referenzen in die Argument-Liste gegeben werden.

Siehe auch

  • ReflectionMethod::invokeArgs() - Invoke args
  • __invoke()
  • call_user_func() - Aufruf der Callback-Funktion die als erster Parameter übergeben wurde

ReflectionMethod::getPrototype
ReflectionMethod::invokeArgs
ReflectionMethod


Invoke args

ReflectionMethod::invoke
ReflectionMethod::isAbstract
ReflectionMethod
PHP Manual

ReflectionMethod::invokeArgs

(PHP 5 >= 5.1.0, PHP 7)

ReflectionMethod::invokeArgs — Invoke args

Beschreibung

public mixed ReflectionMethod::invokeArgs ( object $object , array $args )

Invokes the reflected method and pass its arguments as array.

Parameter-Liste

object

The object to invoke the method on. In case of static methods, you can pass null to this parameter.

args

The parameters to be passed to the function, as an array.

Rückgabewerte

Returns the method result.

Fehler/Exceptions

A ReflectionException if the object parameter does not contain an instance of the class that this method was declared in.

A ReflectionException if the method invocation failed.

Beispiele

Beispiel #1 ReflectionMethod::invokeArgs() example

<?php
class HelloWorld {

    public function sayHelloTo($name) {
        return 'Hello ' . $name;
    }

}

$reflectionMethod = new ReflectionMethod('HelloWorld', 'sayHelloTo');
echo $reflectionMethod->invokeArgs(new HelloWorld(), array('Mike'));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Hello Mike

Anmerkungen

Hinweis:

Wenn die Funktion einige Argumente per Referenz akzeptiert, so müssen diese als Referenzen in die Argument-Liste gegeben werden.

Siehe auch

  • ReflectionMethod::invoke() - Invoke
  • __invoke()
  • call_user_func_array() - Call a callback with an array of parameters

ReflectionMethod::invoke
ReflectionMethod::isAbstract
ReflectionMethod


Checks if method is abstract

ReflectionMethod::invokeArgs
ReflectionMethod::isConstructor
ReflectionMethod
PHP Manual

ReflectionMethod::isAbstract

(PHP 5, PHP 7)

ReflectionMethod::isAbstract — Checks if method is abstract

Beschreibung

public bool ReflectionMethod::isAbstract ( void )

Checks if the method is abstract.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if the method is abstract, otherwise FALSE

Siehe auch

  • ReflectionMethod::getDeclaringClass() - Gets declaring class for the reflected method.

ReflectionMethod::invokeArgs
ReflectionMethod::isConstructor
ReflectionMethod


Checks if method is a constructor

ReflectionMethod::isAbstract
ReflectionMethod::isDestructor
ReflectionMethod
PHP Manual

ReflectionMethod::isConstructor

(PHP 5, PHP 7)

ReflectionMethod::isConstructor — Checks if method is a constructor

Beschreibung

public bool ReflectionMethod::isConstructor ( void )

Checks if the method is a constructor.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if the method is a constructor, otherwise FALSE

Siehe auch

  • ReflectionMethod::__construct() - Constructs a ReflectionMethod
  • ReflectionMethod::isAbstract() - Checks if method is abstract
  • ReflectionMethod::isDestructor() - Checks if method is a destructor

ReflectionMethod::isAbstract
ReflectionMethod::isDestructor
ReflectionMethod


Checks if method is a destructor

ReflectionMethod::isConstructor
ReflectionMethod::isFinal
ReflectionMethod
PHP Manual

ReflectionMethod::isDestructor

(PHP 5, PHP 7)

ReflectionMethod::isDestructor — Checks if method is a destructor

Beschreibung

public bool ReflectionMethod::isDestructor ( void )

Checks if the method is a destructor.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if the method is a destructor, otherwise FALSE

Siehe auch

  • ReflectionMethod::isConstructor() - Checks if method is a constructor

ReflectionMethod::isConstructor
ReflectionMethod::isFinal
ReflectionMethod


Checks if method is final

ReflectionMethod::isDestructor
ReflectionMethod::isPrivate
ReflectionMethod
PHP Manual

ReflectionMethod::isFinal

(PHP 5, PHP 7)

ReflectionMethod::isFinal — Checks if method is final

Beschreibung

public bool ReflectionMethod::isFinal ( void )

Checks if the method is final.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if the method is final, otherwise FALSE

Siehe auch

  • ReflectionMethod::isStatic() - Checks if method is static

ReflectionMethod::isDestructor
ReflectionMethod::isPrivate
ReflectionMethod


Checks if method is private

ReflectionMethod::isFinal
ReflectionMethod::isProtected
ReflectionMethod
PHP Manual

ReflectionMethod::isPrivate

(PHP 5, PHP 7)

ReflectionMethod::isPrivate — Checks if method is private

Beschreibung

public bool ReflectionMethod::isPrivate ( void )

Checks if the method is private.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if the method is private, otherwise FALSE

Siehe auch

  • ReflectionMethod::isPublic() - Checks if method is public

ReflectionMethod::isFinal
ReflectionMethod::isProtected
ReflectionMethod


Checks if method is protected

ReflectionMethod::isPrivate
ReflectionMethod::isPublic
ReflectionMethod
PHP Manual

ReflectionMethod::isProtected

(PHP 5, PHP 7)

ReflectionMethod::isProtected — Checks if method is protected

Beschreibung

public bool ReflectionMethod::isProtected ( void )

Checks if the method is protected.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if the method is protected, otherwise FALSE

Siehe auch

  • ReflectionMethod::isPrivate() - Checks if method is private

ReflectionMethod::isPrivate
ReflectionMethod::isPublic
ReflectionMethod


Checks if method is public

ReflectionMethod::isProtected
ReflectionMethod::isStatic
ReflectionMethod
PHP Manual

ReflectionMethod::isPublic

(PHP 5, PHP 7)

ReflectionMethod::isPublic — Checks if method is public

Beschreibung

public bool ReflectionMethod::isPublic ( void )

Checks if the method is public.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if the method is public, otherwise FALSE

Siehe auch

  • ReflectionMethod::isPrivate() - Checks if method is private

ReflectionMethod::isProtected
ReflectionMethod::isStatic
ReflectionMethod


Checks if method is static

ReflectionMethod::isPublic
ReflectionMethod::setAccessible
ReflectionMethod
PHP Manual

ReflectionMethod::isStatic

(PHP 5, PHP 7)

ReflectionMethod::isStatic — Checks if method is static

Beschreibung

public bool ReflectionMethod::isStatic ( void )

Checks if the method is static.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if the method is static, otherwise FALSE

Siehe auch

  • ReflectionMethod::isFinal() - Checks if method is final

ReflectionMethod::isPublic
ReflectionMethod::setAccessible
ReflectionMethod


Set method accessibility

ReflectionMethod::isStatic
ReflectionMethod::__toString
ReflectionMethod
PHP Manual

ReflectionMethod::setAccessible

(PHP 5 >= 5.3.2, PHP 7)

ReflectionMethod::setAccessible — Set method accessibility

Beschreibung

public void ReflectionMethod::setAccessible ( bool $accessible )

Sets a method to be accessible. For example, it may allow protected and private methods to be invoked.

Parameter-Liste

accessible

TRUE to allow accessibility, or FALSE.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • ReflectionMethod::isPrivate() - Checks if method is private
  • ReflectionMethod::isProtected() - Checks if method is protected

ReflectionMethod::isStatic
ReflectionMethod::__toString
ReflectionMethod


Returns the string representation of the Reflection method object.

ReflectionMethod::setAccessible
ReflectionObject
ReflectionMethod
PHP Manual

ReflectionMethod::__toString

(PHP 5, PHP 7)

ReflectionMethod::__toString — Returns the string representation of the Reflection method object.

Beschreibung

public string ReflectionMethod::__toString ( void )

Returns the string representation of the Reflection method object.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A string representation of this ReflectionMethod instance.

Beispiele

Beispiel #1 ReflectionMethod::__toString() example

<?php
class HelloWorld {

    public function sayHelloTo($name) {
        return 'Hello ' . $name;
    }

}

$reflectionMethod = new ReflectionMethod(new HelloWorld(), 'sayHelloTo');
echo $reflectionMethod;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Method [ <user> public method sayHelloTo ] {
  @@ /var/www/examples/reflection.php 16 - 18

  - Parameters [1] {
    Parameter #0 [ <required> $name ]
  }
}

Siehe auch

  • ReflectionMethod::export() - Export a reflection method.
  • __toString()

ReflectionMethod::setAccessible
ReflectionObject
ReflectionMethod


The ReflectionObject class

(PHP 5, PHP 7)

Einführung

The ReflectionObject class reports information about an object.

Klassenbeschreibung

ReflectionObject extends ReflectionClass implements Reflector {
/* Konstanten */
const integer IS_IMPLICIT_ABSTRACT = 16 ;
const integer IS_EXPLICIT_ABSTRACT = 32 ;
const integer IS_FINAL = 64 ;
/* Eigenschaften */
public $name ;
/* Methoden */
public __construct ( object $argument )
public static string export ( string $argument [, bool $return ] )
/* Geerbte Methoden */
public ReflectionClass::__construct ( mixed $argument )
public static string ReflectionClass::export ( mixed $argument [, bool $return = false ] )
public mixed ReflectionClass::getConstant ( string $name )
public array ReflectionClass::getConstants ( void )
public ReflectionMethod ReflectionClass::getConstructor ( void )
public array ReflectionClass::getDefaultProperties ( void )
public string ReflectionClass::getDocComment ( void )
public int ReflectionClass::getEndLine ( void )
public ReflectionExtension ReflectionClass::getExtension ( void )
public string ReflectionClass::getExtensionName ( void )
public string ReflectionClass::getFileName ( void )
public array ReflectionClass::getInterfaceNames ( void )
public array ReflectionClass::getInterfaces ( void )
public ReflectionMethod ReflectionClass::getMethod ( string $name )
public array ReflectionClass::getMethods ([ int $filter ] )
public int ReflectionClass::getModifiers ( void )
public string ReflectionClass::getName ( void )
public string ReflectionClass::getNamespaceName ( void )
public ReflectionClass ReflectionClass::getParentClass ( void )
public array ReflectionClass::getProperties ([ int $filter ] )
public ReflectionProperty ReflectionClass::getProperty ( string $name )
public string ReflectionClass::getShortName ( void )
public int ReflectionClass::getStartLine ( void )
public array ReflectionClass::getStaticProperties ( void )
public mixed ReflectionClass::getStaticPropertyValue ( string $name [, mixed &$def_value ] )
public array ReflectionClass::getTraitAliases ( void )
public array ReflectionClass::getTraitNames ( void )
public array ReflectionClass::getTraits ( void )
public bool ReflectionClass::hasConstant ( string $name )
public bool ReflectionClass::hasMethod ( string $name )
public bool ReflectionClass::hasProperty ( string $name )
public bool ReflectionClass::implementsInterface ( string $interface )
public bool ReflectionClass::inNamespace ( void )
public bool ReflectionClass::isAbstract ( void )
public bool ReflectionClass::isAnonymous ( void )
public bool ReflectionClass::isCloneable ( void )
public bool ReflectionClass::isFinal ( void )
public bool ReflectionClass::isInstance ( object $object )
public bool ReflectionClass::isInstantiable ( void )
public bool ReflectionClass::isInterface ( void )
public bool ReflectionClass::isInternal ( void )
public bool ReflectionClass::isIterateable ( void )
public bool ReflectionClass::isSubclassOf ( string $class )
public bool ReflectionClass::isTrait ( void )
public bool ReflectionClass::isUserDefined ( void )
public object ReflectionClass::newInstance ( mixed $args [, mixed $... ] )
public object ReflectionClass::newInstanceArgs ([ array $args ] )
public object ReflectionClass::newInstanceWithoutConstructor ( void )
public void ReflectionClass::setStaticPropertyValue ( string $name , string $value )
public string ReflectionClass::__toString ( void )
}

Eigenschaften

name

Name of the object's class. Read-only, throws ReflectionException in attempt to write.

Inhaltsverzeichnis

  • ReflectionObject::__construct — Constructs a ReflectionObject
  • ReflectionObject::export — Export
ReflectionMethod::__toString
ReflectionObject::__construct
Reflection


Constructs a ReflectionObject

ReflectionObject
ReflectionObject::export
ReflectionObject
PHP Manual

ReflectionObject::__construct

(PHP 5, PHP 7)

ReflectionObject::__construct — Constructs a ReflectionObject

Beschreibung

public ReflectionObject::__construct ( object $argument )

Constructs a ReflectionObject.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

argument

An object instance.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • ReflectionObject::export() - Export
  • Constructors

ReflectionObject
ReflectionObject::export
ReflectionObject


Export

ReflectionObject::__construct
ReflectionParameter
ReflectionObject
PHP Manual

ReflectionObject::export

(PHP 5, PHP 7)

ReflectionObject::export — Export

Beschreibung

public static string ReflectionObject::export ( string $argument [, bool $return ] )

Exports a reflection.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

argument

Die Reflection, die exportiert werden soll.

return

Wird dies auf TRUE gesetzt, so wird der Export zurückgegeben anstelle ihn auszugeben. Wird dies auf FALSE gesetzt (der Standardwert), wird das Gegenteil passieren.

Rückgabewerte

Falls der Parameter return auf TRUE gesetzt ist, so wird der Export als ein String zurückgegeben, andernfalls wird NULL zurückgegeben.

Siehe auch

  • ReflectionObject::__construct() - Constructs a ReflectionObject

ReflectionObject::__construct
ReflectionParameter
ReflectionObject


The ReflectionParameter class

(PHP 5, PHP 7)

Einführung

The ReflectionParameter class retrieves information about function's or method's parameters.

To introspect function parameters, first create an instance of the ReflectionFunction or ReflectionMethod classes and then use their ReflectionFunctionAbstract::getParameters() method to retrieve an array of parameters.

Klassenbeschreibung

ReflectionParameter implements Reflector {
/* Eigenschaften */
public $name ;
/* Methoden */
public bool allowsNull ( void )
public bool canBePassedByValue ( void )
final private void __clone ( void )
public __construct ( string $function , string $parameter )
public static string export ( string $function , string $parameter [, bool $return ] )
public ReflectionClass getClass ( void )
public ReflectionClass getDeclaringClass ( void )
public ReflectionFunctionAbstract getDeclaringFunction ( void )
public mixed getDefaultValue ( void )
public string getDefaultValueConstantName ( void )
public string getName ( void )
public int getPosition ( void )
public ReflectionType getType ( void )
public bool hasType ( void )
public bool isArray ( void )
public bool isCallable ( void )
public bool isDefaultValueAvailable ( void )
public bool isDefaultValueConstant ( void )
public bool isOptional ( void )
public bool isPassedByReference ( void )
public bool isVariadic ( void )
public string __toString ( void )
}

Eigenschaften

name

Name of the parameter. Read-only, throws ReflectionException in attempt to write.

Inhaltsverzeichnis

  • ReflectionParameter::allowsNull — Checks if null is allowed
  • ReflectionParameter::canBePassedByValue — Returns whether this parameter can be passed by value
  • ReflectionParameter::__clone — Clone
  • ReflectionParameter::__construct — Construct
  • ReflectionParameter::export — Exports
  • ReflectionParameter::getClass — Get the type hinted class
  • ReflectionParameter::getDeclaringClass — Gets declaring class
  • ReflectionParameter::getDeclaringFunction — Gets declaring function
  • ReflectionParameter::getDefaultValue — Gets default parameter value
  • ReflectionParameter::getDefaultValueConstantName — Returns the default value's constant name if default value is constant or null
  • ReflectionParameter::getName — Gets parameter name
  • ReflectionParameter::getPosition — Gets parameter position
  • ReflectionParameter::getType — Gets a parameter's type
  • ReflectionParameter::hasType — Checks if parameter has a type
  • ReflectionParameter::isArray — Checks if parameter expects an array
  • ReflectionParameter::isCallable — Returns whether parameter MUST be callable
  • ReflectionParameter::isDefaultValueAvailable — Checks if a default value is available
  • ReflectionParameter::isDefaultValueConstant — Returns whether the default value of this parameter is constant
  • ReflectionParameter::isOptional — Checks if optional
  • ReflectionParameter::isPassedByReference — Checks if passed by reference
  • ReflectionParameter::isVariadic — Checks if the parameter is variadic
  • ReflectionParameter::__toString — To string
ReflectionObject::export
ReflectionParameter::allowsNull
Reflection


Checks if null is allowed

ReflectionParameter
ReflectionParameter::canBePassedByValue
ReflectionParameter
PHP Manual

ReflectionParameter::allowsNull

(PHP 5, PHP 7)

ReflectionParameter::allowsNull — Checks if null is allowed

Beschreibung

public bool ReflectionParameter::allowsNull ( void )

Checks whether the parameter allows NULL.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if NULL is allowed, otherwise FALSE

Siehe auch

  • ReflectionParameter::isOptional() - Checks if optional

ReflectionParameter
ReflectionParameter::canBePassedByValue
ReflectionParameter


Returns whether this parameter can be passed by value

ReflectionParameter::allowsNull
ReflectionParameter::__clone
ReflectionParameter
PHP Manual

ReflectionParameter::canBePassedByValue

(PHP >= 5.4.0)

ReflectionParameter::canBePassedByValue — Returns whether this parameter can be passed by value

Beschreibung

public bool ReflectionParameter::canBePassedByValue ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the parameter can be passed by value, FALSE otherwise. Returns NULL in case of an error.

ReflectionParameter::allowsNull
ReflectionParameter::__clone
ReflectionParameter


Clone

ReflectionParameter::canBePassedByValue
ReflectionParameter::__construct
ReflectionParameter
PHP Manual

ReflectionParameter::__clone

(PHP 5, PHP 7)

ReflectionParameter::__clone — Clone

Beschreibung

final private void ReflectionParameter::__clone ( void )

Clones.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Siehe auch

  • ReflectionParameter::toString()
  • Object cloning

ReflectionParameter::canBePassedByValue
ReflectionParameter::__construct
ReflectionParameter


Construct

ReflectionParameter::__clone
ReflectionParameter::export
ReflectionParameter
PHP Manual

ReflectionParameter::__construct

(PHP 5, PHP 7)

ReflectionParameter::__construct — Construct

Beschreibung

public ReflectionParameter::__construct ( string $function , string $parameter )

Constructs a ReflectionParameter class.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

function

The function to reflect parameters from.

parameter

The parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Using the ReflectionParameter class

<?php
function foo($a, $b, $c) { }
function bar(Exception $a, &$b, $c) { }
function baz(ReflectionFunction $a, $b = 1, $c = null) { }
function abc() { }

$reflect = new ReflectionFunction('foo');

echo $reflect;

foreach ($reflect->getParameters() as $i => $param) {
    printf(
        "-- Parameter #%d: %s {\n".
        "   Class: %s\n".
        "   Allows NULL: %s\n".
        "   Passed to by reference: %s\n".
        "   Is optional?: %s\n".
        "}\n",
        $i, // $param->getPosition() can be used from PHP 5.2.3
        $param->getName(),
        var_export($param->getClass(), 1),
        var_export($param->allowsNull(), 1),
        var_export($param->isPassedByReference(), 1),
        $param->isOptional() ? 'yes' : 'no'
    );
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Function [ <user> function foo ] {
  @@ /Users/philip/cvs/phpdoc/a 2 - 2

  - Parameters [3] {
    Parameter #0 [ <required> $a ]
    Parameter #1 [ <required> $b ]
    Parameter #2 [ <required> $c ]
  }
}
-- Parameter #0: a {
   Class: NULL
   Allows NULL: true
   Passed to by reference: false
   Is optional?: no
}
-- Parameter #1: b {
   Class: NULL
   Allows NULL: true
   Passed to by reference: false
   Is optional?: no
}
-- Parameter #2: c {
   Class: NULL
   Allows NULL: true
   Passed to by reference: false
   Is optional?: no
}

Siehe auch

  • ReflectionFunction::__construct() - Constructs a ReflectionFunction object
  • ReflectionMethod::__construct() - Constructs a ReflectionMethod
  • Constructors

ReflectionParameter::__clone
ReflectionParameter::export
ReflectionParameter


Exports

ReflectionParameter::__construct
ReflectionParameter::getClass
ReflectionParameter
PHP Manual

ReflectionParameter::export

(PHP 5, PHP 7)

ReflectionParameter::export — Exports

Beschreibung

public static string ReflectionParameter::export ( string $function , string $parameter [, bool $return ] )

Exports.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

function

The function name.

parameter

The parameter name.

return

Wird dies auf TRUE gesetzt, so wird der Export zurückgegeben anstelle ihn auszugeben. Wird dies auf FALSE gesetzt (der Standardwert), wird das Gegenteil passieren.

Rückgabewerte

The exported reflection.

Siehe auch

  • ReflectionParameter::toString()

ReflectionParameter::__construct
ReflectionParameter::getClass
ReflectionParameter


Get the type hinted class

ReflectionParameter::export
ReflectionParameter::getDeclaringClass
ReflectionParameter
PHP Manual

ReflectionParameter::getClass

(PHP 5, PHP 7)

ReflectionParameter::getClass — Get the type hinted class

Beschreibung

public ReflectionClass ReflectionParameter::getClass ( void )

Gets the class type hinted for the parameter as a ReflectionClass object.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A ReflectionClass object.

Beispiele

Beispiel #1 Using the ReflectionParameter class

<?php
function foo(Exception $a) { }

$functionReflection = new ReflectionFunction('foo');
$parameters = $functionReflection->getParameters();
$aParameter = $parameters[0];

echo $aParameter->getClass()->name;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Exception

Siehe auch

  • ReflectionParameter::getDeclaringClass() - Gets declaring class

ReflectionParameter::export
ReflectionParameter::getDeclaringClass
ReflectionParameter


Gets declaring class

ReflectionParameter::getClass
ReflectionParameter::getDeclaringFunction
ReflectionParameter
PHP Manual

ReflectionParameter::getDeclaringClass

(PHP 5, PHP 7)

ReflectionParameter::getDeclaringClass — Gets declaring class

Beschreibung

public ReflectionClass ReflectionParameter::getDeclaringClass ( void )

Gets the declaring class.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A ReflectionClass object.

Beispiele

Beispiel #1 Getting the class that declared the method

<?php
class Foo
{
    public function bar(\DateTime $datetime)
    {
    }
}

class Baz extends Foo
{
}

$param = new \ReflectionParameter(['Baz', 'bar'], 0);

var_dump($param->getDeclaringClass());

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(ReflectionClass)#2 (1) {
  ["name"]=>
  string(3) "Foo"
}

Siehe auch

  • ReflectionParameter::getClass() - Get the type hinted class

ReflectionParameter::getClass
ReflectionParameter::getDeclaringFunction
ReflectionParameter


Gets declaring function

ReflectionParameter::getDeclaringClass
ReflectionParameter::getDefaultValue
ReflectionParameter
PHP Manual

ReflectionParameter::getDeclaringFunction

(PHP 5 >= 5.2.3, PHP 7)

ReflectionParameter::getDeclaringFunction — Gets declaring function

Beschreibung

public ReflectionFunctionAbstract ReflectionParameter::getDeclaringFunction ( void )

Gets the declaring function.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A ReflectionFunction object.

Siehe auch

  • ReflectionParameter::getDeclaringClass() - Gets declaring class

ReflectionParameter::getDeclaringClass
ReflectionParameter::getDefaultValue
ReflectionParameter


Gets default parameter value

ReflectionParameter::getDeclaringFunction
ReflectionParameter::getDefaultValueConstantName
ReflectionParameter
PHP Manual

ReflectionParameter::getDefaultValue

(PHP 5 >= 5.0.3, PHP 7)

ReflectionParameter::getDefaultValue — Gets default parameter value

Beschreibung

public mixed ReflectionParameter::getDefaultValue ( void )

Gets the default value of the parameter for a user-defined function or method. If the parameter is not optional a ReflectionException will be thrown.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The parameters default value.

Beispiele

Beispiel #1 Getting

<?php
function foo($test, $bar = 'baz')
{
    echo $test . $bar;
}

$function = new ReflectionFunction('foo');

foreach ($function->getParameters() as $param) {
    echo 'Name: ' . $param->getName() . PHP_EOL;
    if ($param->isOptional()) {
        echo 'Default value: ' . $param->getDefaultValue() . PHP_EOL;
    }
    echo PHP_EOL;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Name: test

Name: bar
Default value: baz

Anmerkungen

Hinweis:

Due to implementation details, it is not possible to get the default value of built-in functions or methods of built-in classes. Trying to do this will result a ReflectionException being thrown.

Siehe auch

  • ReflectionParameter::isOptional() - Checks if optional
  • ReflectionParameter::isPassedByReference() - Checks if passed by reference

ReflectionParameter::getDeclaringFunction
ReflectionParameter::getDefaultValueConstantName
ReflectionParameter


Returns the default value's constant name if default value is constant or null

ReflectionParameter::getDefaultValue
ReflectionParameter::getName
ReflectionParameter
PHP Manual

ReflectionParameter::getDefaultValueConstantName

(PHP 5 >= 5.4.6, PHP 7)

ReflectionParameter::getDefaultValueConstantName — Returns the default value's constant name if default value is constant or null

Beschreibung

public string ReflectionParameter::getDefaultValueConstantName ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns string on success or NULL on failure.

ReflectionParameter::getDefaultValue
ReflectionParameter::getName
ReflectionParameter


Gets parameter name

ReflectionParameter::getDefaultValueConstantName
ReflectionParameter::getPosition
ReflectionParameter
PHP Manual

ReflectionParameter::getName

(PHP 5, PHP 7)

ReflectionParameter::getName — Gets parameter name

Beschreibung

public string ReflectionParameter::getName ( void )

Gets the name of the parameter.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The name of the reflected parameter.

Siehe auch

  • ReflectionParameter::getValue()

ReflectionParameter::getDefaultValueConstantName
ReflectionParameter::getPosition
ReflectionParameter


Gets parameter position

ReflectionParameter::getName
ReflectionParameter::getType
ReflectionParameter
PHP Manual

ReflectionParameter::getPosition

(PHP 5 >= 5.2.3, PHP 7)

ReflectionParameter::getPosition — Gets parameter position

Beschreibung

public int ReflectionParameter::getPosition ( void )

Gets the position of the parameter.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The position of the parameter, left to right, starting at position #0.

Siehe auch

  • ReflectionParameter::getName() - Gets parameter name

ReflectionParameter::getName
ReflectionParameter::getType
ReflectionParameter


Gets a parameter's type

ReflectionParameter::getPosition
ReflectionParameter::hasType
ReflectionParameter
PHP Manual

ReflectionParameter::getType

(PHP 7)

ReflectionParameter::getType — Gets a parameter's type

Beschreibung

public ReflectionType ReflectionParameter::getType ( void )

Gets the associated type of a parameter.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a ReflectionType object if a parameter type is specified, NULL otherwise.

Beispiele

Beispiel #1 ReflectionParameter::getType() example

<?php
function someFunction(int $param, $param2) {}

$reflectionFunc = new ReflectionFunction('someFunction');
$reflectionParams = $reflectionFunc->getParameters();
$reflectionType1 = $reflectionParams[0]->getType();
$reflectionType2 = $reflectionParams[1]->getType();

echo $reflectionType1;
var_dump($reflectionType2);

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int
null

Siehe auch

  • ReflectionParameter::hasType() - Checks if parameter has a type
  • ReflectionType::__toString() - To string

ReflectionParameter::getPosition
ReflectionParameter::hasType
ReflectionParameter


Checks if parameter has a type

ReflectionParameter::getType
ReflectionParameter::isArray
ReflectionParameter
PHP Manual

ReflectionParameter::hasType

(PHP 7)

ReflectionParameter::hasType — Checks if parameter has a type

Beschreibung

public bool ReflectionParameter::hasType ( void )

Checks if the parameter has a type associated with it.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if a type is specified, FALSE otherwise.

Beispiele

Beispiel #1 ReflectionParameter::hasType() example

<?php
function someFunction(string $param, $param2 = null) {}

$reflectionFunc = new ReflectionFunction('someFunction');
$reflectionParams = $reflectionFunc->getParameters();

var_dump($reflectionParams[0]->hasType());
var_dump($reflectionParams[1]->hasType());

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(true)
bool(false)

Siehe auch

  • ReflectionParameter::getType() - Gets a parameter's type

ReflectionParameter::getType
ReflectionParameter::isArray
ReflectionParameter


Checks if parameter expects an array

ReflectionParameter::hasType
ReflectionParameter::isCallable
ReflectionParameter
PHP Manual

ReflectionParameter::isArray

(PHP 5 >= 5.1.0, PHP 7)

ReflectionParameter::isArray — Checks if parameter expects an array

Beschreibung

public bool ReflectionParameter::isArray ( void )

Checks if the parameter expects an array.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if an array is expected, FALSE otherwise.

Siehe auch

  • ReflectionParameter::isOptional() - Checks if optional

ReflectionParameter::hasType
ReflectionParameter::isCallable
ReflectionParameter


Returns whether parameter MUST be callable

ReflectionParameter::isArray
ReflectionParameter::isDefaultValueAvailable
ReflectionParameter
PHP Manual

ReflectionParameter::isCallable

(PHP 5 >= 5.4.0, PHP 7)

ReflectionParameter::isCallable — Returns whether parameter MUST be callable

Beschreibung

public bool ReflectionParameter::isCallable ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the parameter is callable, FALSE if it is not or NULL on failure.

ReflectionParameter::isArray
ReflectionParameter::isDefaultValueAvailable
ReflectionParameter


Checks if a default value is available

ReflectionParameter::isCallable
ReflectionParameter::isDefaultValueConstant
ReflectionParameter
PHP Manual

ReflectionParameter::isDefaultValueAvailable

(PHP 5 >= 5.0.3, PHP 7)

ReflectionParameter::isDefaultValueAvailable — Checks if a default value is available

Beschreibung

public bool ReflectionParameter::isDefaultValueAvailable ( void )

Checks if a default value for the parameter is available.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if a default value is available, otherwise FALSE

Siehe auch

  • ReflectionParameter::getDefaultValue() - Gets default parameter value
  • ReflectionParameter::getName() - Gets parameter name

ReflectionParameter::isCallable
ReflectionParameter::isDefaultValueConstant
ReflectionParameter


Returns whether the default value of this parameter is constant

ReflectionParameter::isDefaultValueAvailable
ReflectionParameter::isOptional
ReflectionParameter
PHP Manual

ReflectionParameter::isDefaultValueConstant

(PHP 5 >= 5.4.6, PHP 7)

ReflectionParameter::isDefaultValueConstant — Returns whether the default value of this parameter is constant

Beschreibung

public bool ReflectionParameter::isDefaultValueConstant ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the default value is constant, FALSE if it is not or NULL on failure.

ReflectionParameter::isDefaultValueAvailable
ReflectionParameter::isOptional
ReflectionParameter


Checks if optional

ReflectionParameter::isDefaultValueConstant
ReflectionParameter::isPassedByReference
ReflectionParameter
PHP Manual

ReflectionParameter::isOptional

(PHP 5 >= 5.0.3, PHP 7)

ReflectionParameter::isOptional — Checks if optional

Beschreibung

public bool ReflectionParameter::isOptional ( void )

Checks if the parameter is optional.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if the parameter is optional, otherwise FALSE

Siehe auch

  • ReflectionParameter::getName() - Gets parameter name

ReflectionParameter::isDefaultValueConstant
ReflectionParameter::isPassedByReference
ReflectionParameter


Checks if passed by reference

ReflectionParameter::isOptional
ReflectionParameter::isVariadic
ReflectionParameter
PHP Manual

ReflectionParameter::isPassedByReference

(PHP 5, PHP 7)

ReflectionParameter::isPassedByReference — Checks if passed by reference

Beschreibung

public bool ReflectionParameter::isPassedByReference ( void )

Checks if the parameter is passed in by reference.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if the parameter is passed in by reference, otherwise FALSE

Siehe auch

  • ReflectionParameter::getName() - Gets parameter name

ReflectionParameter::isOptional
ReflectionParameter::isVariadic
ReflectionParameter


Checks if the parameter is variadic

ReflectionParameter::isPassedByReference
ReflectionParameter::__toString
ReflectionParameter
PHP Manual

ReflectionParameter::isVariadic

(PHP 5 >= 5.6.0, PHP 7)

ReflectionParameter::isVariadic — Checks if the parameter is variadic

Beschreibung

public bool ReflectionParameter::isVariadic ( void )

Checks if the parameter was declared as a variadic parameter.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the parameter is variadic, otherwise FALSE.

ReflectionParameter::isPassedByReference
ReflectionParameter::__toString
ReflectionParameter


To string

ReflectionParameter::isVariadic
ReflectionProperty
ReflectionParameter
PHP Manual

ReflectionParameter::__toString

(PHP 5, PHP 7)

ReflectionParameter::__toString — To string

Beschreibung

public string ReflectionParameter::__toString ( void )

To string.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Siehe auch

  • ReflectionParameter::export() - Exports
  • __toString()

ReflectionParameter::isVariadic
ReflectionProperty
ReflectionParameter


The ReflectionProperty class

(PHP 5, PHP 7)

Einführung

The ReflectionProperty class reports information about classes properties.

Klassenbeschreibung

ReflectionProperty implements Reflector {
/* Konstanten */
const integer IS_STATIC = 1 ;
const integer IS_PUBLIC = 256 ;
const integer IS_PROTECTED = 512 ;
const integer IS_PRIVATE = 1024 ;
/* Eigenschaften */
public $name ;
public $class ;
/* Methoden */
final private void __clone ( void )
public __construct ( mixed $class , string $name )
public static string export ( mixed $class , string $name [, bool $return ] )
public ReflectionClass getDeclaringClass ( void )
public string getDocComment ( void )
public int getModifiers ( void )
public string getName ( void )
public mixed getValue ([ object $object ] )
public bool isDefault ( void )
public bool isPrivate ( void )
public bool isProtected ( void )
public bool isPublic ( void )
public bool isStatic ( void )
public void setAccessible ( bool $accessible )
public void setValue ( object $object , mixed $value )
public string __toString ( void )
}

Eigenschaften

name

Name of the property. Read-only, throws ReflectionException in attempt to write.

class

Name of the class where the property is defined. Read-only, throws ReflectionException in attempt to write.

Vordefinierte Konstanten

ReflectionProperty Modifiers

ReflectionProperty::IS_STATIC

Indicates static properties.

ReflectionProperty::IS_PUBLIC

Indicates public properties.

ReflectionProperty::IS_PROTECTED

Indicates protected properties.

ReflectionProperty::IS_PRIVATE

Indicates private properties.

Inhaltsverzeichnis

  • ReflectionProperty::__clone — Clone
  • ReflectionProperty::__construct — Construct a ReflectionProperty object
  • ReflectionProperty::export — Export
  • ReflectionProperty::getDeclaringClass — Gets declaring class
  • ReflectionProperty::getDocComment — Gets the property doc comment
  • ReflectionProperty::getModifiers — Gets modifiers
  • ReflectionProperty::getName — Gets property name
  • ReflectionProperty::getValue — Gets value
  • ReflectionProperty::isDefault — Checks if property is a default property
  • ReflectionProperty::isPrivate — Checks if property is private
  • ReflectionProperty::isProtected — Checks if property is protected
  • ReflectionProperty::isPublic — Checks if property is public
  • ReflectionProperty::isStatic — Checks if property is static
  • ReflectionProperty::setAccessible — Set property accessibility
  • ReflectionProperty::setValue — Set property value
  • ReflectionProperty::__toString — To string
ReflectionParameter::__toString
ReflectionProperty::__clone
Reflection


Clone

ReflectionProperty
ReflectionProperty::__construct
ReflectionProperty
PHP Manual

ReflectionProperty::__clone

(PHP 5, PHP 7)

ReflectionProperty::__clone — Clone

Beschreibung

final private void ReflectionProperty::__clone ( void )

Clones.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Siehe auch

  • ReflectionProperty::export() - Export
  • Object cloning

ReflectionProperty
ReflectionProperty::__construct
ReflectionProperty


Construct a ReflectionProperty object

ReflectionProperty::__clone
ReflectionProperty::export
ReflectionProperty
PHP Manual

ReflectionProperty::__construct

(PHP 5, PHP 7)

ReflectionProperty::__construct — Construct a ReflectionProperty object

Beschreibung

public ReflectionProperty::__construct ( mixed $class , string $name )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

class

The class name, that contains the property.

name

The name of the property being reflected.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

Trying to get or set private or protected class property's values will result in an exception being thrown.

Beispiele

Beispiel #1 ReflectionProperty::__construct() example

<?php
class Str
{
    public $length  = 5;
}

// Create an instance of the ReflectionProperty class
$prop = new ReflectionProperty('Str', 'length');

// Print out basic information
printf(
    "===> The%s%s%s%s property '%s' (which was %s)\n" .
    "     having the modifiers %s\n",
        $prop->isPublic() ? ' public' : '',
        $prop->isPrivate() ? ' private' : '',
        $prop->isProtected() ? ' protected' : '',
        $prop->isStatic() ? ' static' : '',
        $prop->getName(),
        $prop->isDefault() ? 'declared at compile-time' : 'created at run-time',
        var_export(Reflection::getModifierNames($prop->getModifiers()), 1)
);

// Create an instance of Str
$obj= new Str();

// Get current value
printf("---> Value is: ");
var_dump($prop->getValue($obj));

// Change value
$prop->setValue($obj, 10);
printf("---> Setting value to 10, new value is: ");
var_dump($prop->getValue($obj));

// Dump object
var_dump($obj);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

===> The public property 'length' (which was declared at compile-time)
     having the modifiers array (
  0 => 'public',
)
---> Value is: int(5)
---> Setting value to 10, new value is: int(10)
object(Str)#2 (1) {
  ["length"]=>
  int(10)
}

Beispiel #2 Getting value from private and protected properties using ReflectionProperty class

<?php

class Foo {
    public $x = 1;
    protected $y = 2;
    private $z = 3;
}

$obj = new Foo;

$prop = new ReflectionProperty('Foo', 'y');
$prop->setAccessible(true); /* As of PHP 5.3.0 */
var_dump($prop->getValue($obj)); // int(2)

$prop = new ReflectionProperty('Foo', 'z');
$prop->setAccessible(true); /* As of PHP 5.3.0 */
var_dump($prop->getValue($obj)); // int(2)

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(2)
int(3)

Siehe auch

  • ReflectionProperty::getName() - Gets property name
  • Constructors

ReflectionProperty::__clone
ReflectionProperty::export
ReflectionProperty


Export

ReflectionProperty::__construct
ReflectionProperty::getDeclaringClass
ReflectionProperty
PHP Manual

ReflectionProperty::export

(PHP 5, PHP 7)

ReflectionProperty::export — Export

Beschreibung

public static string ReflectionProperty::export ( mixed $class , string $name [, bool $return ] )

Exports a reflection.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

argument

Die Reflection, die exportiert werden soll.

name

The property name.

return

Wird dies auf TRUE gesetzt, so wird der Export zurückgegeben anstelle ihn auszugeben. Wird dies auf FALSE gesetzt (der Standardwert), wird das Gegenteil passieren.

Rückgabewerte

Siehe auch

  • ReflectionProperty::toString()

ReflectionProperty::__construct
ReflectionProperty::getDeclaringClass
ReflectionProperty


Gets declaring class

ReflectionProperty::export
ReflectionProperty::getDocComment
ReflectionProperty
PHP Manual

ReflectionProperty::getDeclaringClass

(PHP 5, PHP 7)

ReflectionProperty::getDeclaringClass — Gets declaring class

Beschreibung

public ReflectionClass ReflectionProperty::getDeclaringClass ( void )

Gets the declaring class.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A ReflectionClass object.

Siehe auch

  • ReflectionProperty::getName() - Gets property name

ReflectionProperty::export
ReflectionProperty::getDocComment
ReflectionProperty


Gets the property doc comment

ReflectionProperty::getDeclaringClass
ReflectionProperty::getModifiers
ReflectionProperty
PHP Manual

ReflectionProperty::getDocComment

(PHP 5 >= 5.1.0, PHP 7)

ReflectionProperty::getDocComment — Gets the property doc comment

Beschreibung

public string ReflectionProperty::getDocComment ( void )

Gets the doc comment for a property.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The property doc comment.

Beispiele

Beispiel #1 ReflectionProperty::getDocComment() example

<?php
class Str
{
    /**
     * @var int  The length of the string
     */
    public $length = 5;
}

$prop = new ReflectionProperty('Str', 'length');

var_dump($prop->getDocComment());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(53) "/**
     * @var int  The length of the string
     */"

Siehe auch

  • ReflectionProperty::getModifiers() - Gets modifiers
  • ReflectionProperty::getName() - Gets property name
  • ReflectionProperty::getValue() - Gets value

ReflectionProperty::getDeclaringClass
ReflectionProperty::getModifiers
ReflectionProperty


Gets modifiers

ReflectionProperty::getDocComment
ReflectionProperty::getName
ReflectionProperty
PHP Manual

ReflectionProperty::getModifiers

(PHP 5, PHP 7)

ReflectionProperty::getModifiers — Gets modifiers

Beschreibung

public int ReflectionProperty::getModifiers ( void )

Gets the modifiers.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A numeric representation of the modifiers.

Siehe auch

  • ReflectionProperty::isPrivate() - Checks if property is private
  • Reflection::getModifierNames() - Gets modifier names

ReflectionProperty::getDocComment
ReflectionProperty::getName
ReflectionProperty


Gets property name

ReflectionProperty::getModifiers
ReflectionProperty::getValue
ReflectionProperty
PHP Manual

ReflectionProperty::getName

(PHP 5, PHP 7)

ReflectionProperty::getName — Gets property name

Beschreibung

public string ReflectionProperty::getName ( void )

Gets the properties name.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The name of the reflected property.

Siehe auch

  • ReflectionProperty::getValue() - Gets value

ReflectionProperty::getModifiers
ReflectionProperty::getValue
ReflectionProperty


Gets value

ReflectionProperty::getName
ReflectionProperty::isDefault
ReflectionProperty
PHP Manual

ReflectionProperty::getValue

(PHP 5, PHP 7)

ReflectionProperty::getValue — Gets value

Beschreibung

public mixed ReflectionProperty::getValue ([ object $object ] )

Gets the property's value.

Parameter-Liste

object

If the property is non-static an object must be provided to fetch the property from. If you want to fetch the default property without providing an object use ReflectionClass::getDefaultProperties() instead.

Rückgabewerte

The current value of the property.

Fehler/Exceptions

Throws a ReflectionException if the property is inaccessible. You can make a protected or private property accessible using ReflectionProperty::setAccessible().

Beispiele

Beispiel #1 ReflectionProperty::getValue() example

<?php
class Foo {
    public static $staticProperty = 'foobar';

    public $property = 'barfoo';
    protected $privateProperty = 'foofoo';
}

$reflectionClass = new ReflectionClass('Foo');

var_dump($reflectionClass->getProperty('staticProperty')->getValue());
var_dump($reflectionClass->getProperty('property')->getValue(new Foo));

$reflectionProperty = $reflectionClass->getProperty('privateProperty');
$reflectionProperty->setAccessible(true);
var_dump($reflectionProperty->getValue(new Foo));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(6) "foobar"
string(6) "barfoo"
string(6) "foofoo"

Siehe auch

  • ReflectionProperty::setValue() - Set property value
  • ReflectionProperty::setAccessible() - Set property accessibility
  • ReflectionClass::getDefaultProperties() - Gets default properties
  • ReflectionClass::getStaticPropertyValue() - Gets static property value

ReflectionProperty::getName
ReflectionProperty::isDefault
ReflectionProperty


Checks if property is a default property

ReflectionProperty::getValue
ReflectionProperty::isPrivate
ReflectionProperty
PHP Manual

ReflectionProperty::isDefault

(PHP 5, PHP 7)

ReflectionProperty::isDefault — Checks if property is a default property

Beschreibung

public bool ReflectionProperty::isDefault ( void )

Checks whether the property was declared at compile-time, or whether the property was dynamically declared at run-time.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if the property was declared at compile-time, or FALSE if it was created at run-time.

Beispiele

Beispiel #1 ReflectionClass::isDefault() example

<?php
class Foo {
    public $bar;
}

$o = new Foo();
$o->bar = 42;
$o->baz = 42;

$ro = new ReflectionObject($o);
var_dump($ro->getProperty('bar')->isDefault());
var_dump($ro->getProperty('baz')->isDefault());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(false)

Siehe auch

  • ReflectionProperty::getValue() - Gets value

ReflectionProperty::getValue
ReflectionProperty::isPrivate
ReflectionProperty


Checks if property is private

ReflectionProperty::isDefault
ReflectionProperty::isProtected
ReflectionProperty
PHP Manual

ReflectionProperty::isPrivate

(PHP 5, PHP 7)

ReflectionProperty::isPrivate — Checks if property is private

Beschreibung

public bool ReflectionProperty::isPrivate ( void )

Checks whether the property is private.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if the property is private, FALSE otherwise.

Siehe auch

  • ReflectionProperty::isPublic() - Checks if property is public
  • ReflectionProperty::isProtected() - Checks if property is protected
  • ReflectionProperty::isStatic() - Checks if property is static

ReflectionProperty::isDefault
ReflectionProperty::isProtected
ReflectionProperty


Checks if property is protected

ReflectionProperty::isPrivate
ReflectionProperty::isPublic
ReflectionProperty
PHP Manual

ReflectionProperty::isProtected

(PHP 5, PHP 7)

ReflectionProperty::isProtected — Checks if property is protected

Beschreibung

public bool ReflectionProperty::isProtected ( void )

Checks whether the property is protected.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if the property is protected, FALSE otherwise.

Siehe auch

  • ReflectionProperty::isPublic() - Checks if property is public
  • ReflectionProperty::isPrivate() - Checks if property is private
  • ReflectionProperty::isStatic() - Checks if property is static

ReflectionProperty::isPrivate
ReflectionProperty::isPublic
ReflectionProperty


Checks if property is public

ReflectionProperty::isProtected
ReflectionProperty::isStatic
ReflectionProperty
PHP Manual

ReflectionProperty::isPublic

(PHP 5, PHP 7)

ReflectionProperty::isPublic — Checks if property is public

Beschreibung

public bool ReflectionProperty::isPublic ( void )

Checks whether the property is public.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if the property is public, FALSE otherwise.

Siehe auch

  • ReflectionProperty::isProtected() - Checks if property is protected
  • ReflectionProperty::isPrivate() - Checks if property is private
  • ReflectionProperty::isStatic() - Checks if property is static

ReflectionProperty::isProtected
ReflectionProperty::isStatic
ReflectionProperty


Checks if property is static

ReflectionProperty::isPublic
ReflectionProperty::setAccessible
ReflectionProperty
PHP Manual

ReflectionProperty::isStatic

(PHP 5, PHP 7)

ReflectionProperty::isStatic — Checks if property is static

Beschreibung

public bool ReflectionProperty::isStatic ( void )

Checks whether the property is static.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if the property is static, FALSE otherwise.

Siehe auch

  • ReflectionProperty::isPublic() - Checks if property is public
  • ReflectionProperty::isProtected() - Checks if property is protected
  • ReflectionProperty::isPrivate() - Checks if property is private

ReflectionProperty::isPublic
ReflectionProperty::setAccessible
ReflectionProperty


Set property accessibility

ReflectionProperty::isStatic
ReflectionProperty::setValue
ReflectionProperty
PHP Manual

ReflectionProperty::setAccessible

(PHP 5 >= 5.3.0, PHP 7)

ReflectionProperty::setAccessible — Set property accessibility

Beschreibung

public void ReflectionProperty::setAccessible ( bool $accessible )

Sets a property to be accessible. For example, it may allow protected and private properties to be accessed.

Parameter-Liste

accessible

TRUE to allow accessibility, or FALSE.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • ReflectionProperty::isPrivate() - Checks if property is private
  • ReflectionProperty::isProtected() - Checks if property is protected

ReflectionProperty::isStatic
ReflectionProperty::setValue
ReflectionProperty


Set property value

ReflectionProperty::setAccessible
ReflectionProperty::__toString
ReflectionProperty
PHP Manual

ReflectionProperty::setValue

(PHP 5, PHP 7)

ReflectionProperty::setValue — Set property value

Beschreibung

public void ReflectionProperty::setValue ( object $object , mixed $value )
public void ReflectionProperty::setValue ( mixed $value )

Sets (changes) the property's value.

Parameter-Liste

object

If the property is non-static an object must be provided to change the property on. If the property is static this parameter is left out and only value needs to be provided.

value

The new value.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

Throws a ReflectionException if the property is inaccessible. You can make a protected or private property accessible using ReflectionProperty::setAccessible().

Beispiele

Beispiel #1 ReflectionProperty::setValue() example

<?php
class Foo {
    public static $staticProperty;

    public $property;
    protected $privateProperty;
}

$reflectionClass = new ReflectionClass('Foo');

$reflectionClass->getProperty('staticProperty')->setValue('foo');
var_dump(Foo::$staticProperty);

$foo = new Foo;

$reflectionClass->getProperty('property')->setValue($foo, 'bar');
var_dump($foo->property);

$reflectionProperty = $reflectionClass->getProperty('privateProperty');
$reflectionProperty->setAccessible(true);
$reflectionProperty->setValue($foo, 'foobar');
var_dump($reflectionProperty->getValue($foo));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(3) "foo"
string(3) "bar"
string(6) "foobar"

Siehe auch

  • ReflectionProperty::getValue() - Gets value
  • ReflectionProperty::setAccessible() - Set property accessibility
  • ReflectionClass::setStaticPropertyValue() - Sets static property value

ReflectionProperty::setAccessible
ReflectionProperty::__toString
ReflectionProperty


To string

ReflectionProperty::setValue
ReflectionType
ReflectionProperty
PHP Manual

ReflectionProperty::__toString

(PHP 5, PHP 7)

ReflectionProperty::__toString — To string

Beschreibung

public string ReflectionProperty::__toString ( void )

To string.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Siehe auch

  • __toString()

ReflectionProperty::setValue
ReflectionType
ReflectionProperty


The ReflectionType class

(PHP 7)

Einführung

The ReflectionType class reports information about a function's return type.

Klassenbeschreibung

ReflectionType {
/* Methoden */
public bool allowsNull ( void )
public bool isBuiltin ( void )
public string __toString ( void )
}

Inhaltsverzeichnis

  • ReflectionType::allowsNull — Checks if null is allowed
  • ReflectionType::isBuiltin — Checks if it is a built-in type
  • ReflectionType::__toString — To string
ReflectionProperty::__toString
ReflectionType::allowsNull
Reflection


Checks if null is allowed

ReflectionType
ReflectionType::isBuiltin
ReflectionType
PHP Manual

ReflectionType::allowsNull

(PHP 7)

ReflectionType::allowsNull — Checks if null is allowed

Beschreibung

public bool ReflectionType::allowsNull ( void )

Checks whether the parameter allows NULL.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if NULL is allowed, otherwise FALSE

Beispiele

Beispiel #1 ReflectionType::allowsNull() example

<?php
function someFunction(string $param, StdClass $param2 = null) {}

$reflectionFunc = new ReflectionFunction('someFunction');
$reflectionParams = $reflectionFunc->getParameters();

var_dump($reflectionParams[0]->getType()->allowsNull());
var_dump($reflectionParams[1]->getType()->allowsNull());

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(false)
bool(true)

Siehe auch

  • ReflectionType::isBuiltin() - Checks if it is a built-in type
  • ReflectionType::__toString() - To string
  • ReflectionParameter::getType() - Gets a parameter's type

ReflectionType
ReflectionType::isBuiltin
ReflectionType


Checks if it is a built-in type

ReflectionType::allowsNull
ReflectionType::__toString
ReflectionType
PHP Manual

ReflectionType::isBuiltin

(PHP 7)

ReflectionType::isBuiltin — Checks if it is a built-in type

Beschreibung

public bool ReflectionType::isBuiltin ( void )

Checks if the type is a built-in type in PHP.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if it's a built-in type, otherwise FALSE

Beispiele

Beispiel #1 ReflectionType::isBuiltin() example

<?php
class SomeClass {}

function someFunction(string $param, SomeClass $param2, StdClass $param3) {}

$reflectionFunc = new ReflectionFunction('someFunction');
$reflectionParams = $reflectionFunc->getParameters();

var_dump($reflectionParams[0]->getType()->isBuiltin());
var_dump($reflectionParams[1]->getType()->isBuiltin());
var_dump($reflectionParams[2]->getType()->isBuiltin());

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(true)
bool(false)
bool(false)

Note that the ReflectionType::isBuiltin() method does not distinguish between internal and custom classes. To make this distinction, the ReflectionClass::isInternal() method should be used on the returned class name.

Siehe auch

  • ReflectionType::allowsNull() - Checks if null is allowed
  • ReflectionType::__toString() - To string
  • ReflectionClass::isInternal() - Checks if class is defined internally by an extension, or the core
  • ReflectionParameter::getType() - Gets a parameter's type

ReflectionType::allowsNull
ReflectionType::__toString
ReflectionType


To string

ReflectionType::isBuiltin
ReflectionGenerator
ReflectionType
PHP Manual

ReflectionType::__toString

(PHP 7)

ReflectionType::__toString — To string

Beschreibung

public string ReflectionType::__toString ( void )

Gets the parameter type name.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the type of the parameter.

Beispiele

Beispiel #1 ReflectionType::__toString() example

<?php
function someFunction(string $param) {}

$reflectionFunc = new ReflectionFunction('someFunction');
$reflectionParam = $reflectionFunc->getParameters()[0];

echo $reflectionParam->getType();

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string

Siehe auch

  • ReflectionType::allowsNull() - Checks if null is allowed
  • ReflectionType::isBuiltin() - Checks if it is a built-in type
  • ReflectionParameter::getType() - Gets a parameter's type

ReflectionType::isBuiltin
ReflectionGenerator
ReflectionType


The ReflectionGenerator class

(PHP 7)

Einführung

The ReflectionGenerator class reports information about a generator.

Klassenbeschreibung

ReflectionGenerator {
/* Methoden */
public __construct ( Generator $generator )
public string getExecutingFile ( void )
public Generator getExecutingGenerator ( void )
public int getExecutingLine ( void )
public ReflectionFunctionAbstract getFunction ( void )
public object getThis ( void )
public array getTrace ([ int $options = DEBUG_BACKTRACE_PROVIDE_OBJECT ] )
}

Inhaltsverzeichnis

  • ReflectionGenerator::__construct — Constructs a ReflectionGenerator object
  • ReflectionGenerator::getExecutingFile — Gets the file name of the currently executing generator
  • ReflectionGenerator::getExecutingGenerator — Gets the executing Generator object
  • ReflectionGenerator::getExecutingLine — Gets the currently executing line of the generator
  • ReflectionGenerator::getFunction — Gets the function name of the generator
  • ReflectionGenerator::getThis — Gets the $this value of the generator
  • ReflectionGenerator::getTrace — Gets the trace of the executing generator
ReflectionType::__toString
ReflectionGenerator::__construct
Reflection


Constructs a ReflectionGenerator object

ReflectionGenerator
ReflectionGenerator::getExecutingFile
ReflectionGenerator
PHP Manual

ReflectionGenerator::__construct

(PHP 7)

ReflectionGenerator::__construct — Constructs a ReflectionGenerator object

Beschreibung

public ReflectionGenerator::__construct ( Generator $generator )

Constructs a ReflectionGenerator object.

Parameter-Liste

generator

A generator object.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 ReflectionGenerator::__construct() example

<?php

function gen()
{
    yield 1;
}

$gen = gen();

$reflectionGen = new ReflectionGenerator($gen);

echo <<< output
{$reflectionGen->getFunction()->name}
Line: {$reflectionGen->getExecutingLine()}
File: {$reflectionGen->getExecutingFile()}
output;

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

gen
Line: 5
File: /path/to/file/example.php

Siehe auch

  • ReflectionGenerator::getFunction() - Gets the function name of the generator
  • ReflectionGenerator::getExecutingLine() - Gets the currently executing line of the generator
  • ReflectionGenerator::getExecutingFile() - Gets the file name of the currently executing generator

ReflectionGenerator
ReflectionGenerator::getExecutingFile
ReflectionGenerator


Gets the file name of the currently executing generator

ReflectionGenerator::__construct
ReflectionGenerator::getExecutingGenerator
ReflectionGenerator
PHP Manual

ReflectionGenerator::getExecutingFile

(PHP 7)

ReflectionGenerator::getExecutingFile — Gets the file name of the currently executing generator

Beschreibung

public string ReflectionGenerator::getExecutingFile ( void )

Get the full path and file name of the currently executing generator.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the full path and file name of the currently executing generator.

Beispiele

Beispiel #1 ReflectionGenerator::getExecutingFile() example

<?php

class GenExample
{
    public function gen()
    {
        yield 1;
    }
}

$gen = (new GenExample)->gen();

$reflectionGen = new ReflectionGenerator($gen);

echo "File: {$reflectionGen->getExecutingFile()}";

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

File: /path/to/file/example.php

Siehe auch

  • ReflectionGenerator::getExecutingLine() - Gets the currently executing line of the generator
  • ReflectionGenerator::getExecutingGenerator() - Gets the executing Generator object

ReflectionGenerator::__construct
ReflectionGenerator::getExecutingGenerator
ReflectionGenerator


Gets the executing Generator object

ReflectionGenerator::getExecutingFile
ReflectionGenerator::getExecutingLine
ReflectionGenerator
PHP Manual

ReflectionGenerator::getExecutingGenerator

(PHP 7)

ReflectionGenerator::getExecutingGenerator — Gets the executing Generator object

Beschreibung

public Generator ReflectionGenerator::getExecutingGenerator ( void )

Get the executing Generator object

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the currently executing Generator object.

Beispiele

Beispiel #1 ReflectionGenerator::getExecutingGenerator() example

<?php

class GenExample
{
    public function gen()
    {
        yield 1;
    }
}

$gen = (new GenExample)->gen();

$reflectionGen = new ReflectionGenerator($gen);

$gen2 = $reflectionGen->getExecutingGenerator();

var_dump($gen2 === $gen);
var_dump($gen2->current());

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

bool(true)
int(1);

Siehe auch

  • ReflectionGenerator::getExecutingLine() - Gets the currently executing line of the generator
  • ReflectionGenerator::getExecutingFile() - Gets the file name of the currently executing generator

ReflectionGenerator::getExecutingFile
ReflectionGenerator::getExecutingLine
ReflectionGenerator


Gets the currently executing line of the generator

ReflectionGenerator::getExecutingGenerator
ReflectionGenerator::getFunction
ReflectionGenerator
PHP Manual

ReflectionGenerator::getExecutingLine

(PHP 7)

ReflectionGenerator::getExecutingLine — Gets the currently executing line of the generator

Beschreibung

public int ReflectionGenerator::getExecutingLine ( void )

Get the currently executing line number of the generator.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the line number of the currently executing statement in the generator.

Beispiele

Beispiel #1 ReflectionGenerator::getExecutingLine() example

<?php

class GenExample
{
    public function gen()
    {
        yield 1;
    }
}

$gen = (new GenExample)->gen();

$reflectionGen = new ReflectionGenerator($gen);

echo "Line: {$reflectionGen->getExecutingLine()}";

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Line: 7

Siehe auch

  • ReflectionGenerator::getExecutingGenerator() - Gets the executing Generator object
  • ReflectionGenerator::getExecutingFile() - Gets the file name of the currently executing generator

ReflectionGenerator::getExecutingGenerator
ReflectionGenerator::getFunction
ReflectionGenerator


Gets the function name of the generator

ReflectionGenerator::getExecutingLine
ReflectionGenerator::getThis
ReflectionGenerator
PHP Manual

ReflectionGenerator::getFunction

(PHP 7)

ReflectionGenerator::getFunction — Gets the function name of the generator

Beschreibung

public ReflectionFunctionAbstract ReflectionGenerator::getFunction ( void )

Enables the function name of the generator to be obtained by returning a class derived from ReflectionFunctionAbstract.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a ReflectionFunctionAbstract class. This will be ReflectionFunction for functions, or ReflectionMethod for methods.

Beispiele

Beispiel #1 ReflectionGenerator::getFunction() example

<?php

function gen()
{
    yield 1;
}

$gen = gen();

$reflectionGen = new ReflectionGenerator($gen);

var_dump($reflectionGen->getFunction());

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(ReflectionFunction)#3 (1) {
  ["name"]=>
  string(3) "gen"
}

Siehe auch

  • ReflectionGenerator::getThis() - Gets the $this value of the generator
  • ReflectionGenerator::getTrace() - Gets the trace of the executing generator

ReflectionGenerator::getExecutingLine
ReflectionGenerator::getThis
ReflectionGenerator


Gets the $this value of the generator

ReflectionGenerator::getFunction
ReflectionGenerator::getTrace
ReflectionGenerator
PHP Manual

ReflectionGenerator::getThis

(PHP 7)

ReflectionGenerator::getThis — Gets the $this value of the generator

Beschreibung

public object ReflectionGenerator::getThis ( void )

Get the $this value that the generator has access to.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the $this value, or NULL if the generator was not created in a class context.

Beispiele

Beispiel #1 ReflectionGenerator::getThis() example

<?php

class GenExample
{
    public function gen()
    {
        yield 1;
    }
}

$gen = (new GenExample)->gen();

$reflectionGen = new ReflectionGenerator($gen);

var_dump($reflectionGen->getThis());

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(GenExample)#3 (0) {
}

Siehe auch

  • ReflectionGenerator::getFunction() - Gets the function name of the generator
  • ReflectionGenerator::getTrace() - Gets the trace of the executing generator

ReflectionGenerator::getFunction
ReflectionGenerator::getTrace
ReflectionGenerator


Gets the trace of the executing generator

ReflectionGenerator::getThis
Reflector
ReflectionGenerator
PHP Manual

ReflectionGenerator::getTrace

(PHP 7)

ReflectionGenerator::getTrace — Gets the trace of the executing generator

Beschreibung

public array ReflectionGenerator::getTrace ([ int $options = DEBUG_BACKTRACE_PROVIDE_OBJECT ] )

Get the trace of the currently executing generator.

Parameter-Liste

options

The value of options can be any of the following the following flags.

Available options
Option | Description
DEBUG_BACKTRACE_PROVIDE_OBJECT | Default.
DEBUG_BACKTRACE_IGNORE_ARGS | Don't include the argument information for functions in the stack trace.

Rückgabewerte

Returns the trace of the currently executing generator.

Beispiele

Beispiel #1 ReflectionGenerator::getTrace() example

<?php
function foo() {
    yield 1;
}

function bar()
{
    yield from foo();
}

function baz()
{
    yield from bar();
}

$gen = baz();
$gen->valid(); // start the generator

var_dump((new ReflectionGenerator($gen))->getTrace());

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(2) {
  [0]=>
  array(4) {
    ["file"]=>
    string(18) "example.php"
    ["line"]=>
    int(8)
    ["function"]=>
    string(3) "foo"
    ["args"]=>
    array(0) {
    }
  }
  [1]=>
  array(4) {
    ["file"]=>
    string(18) "example.php"
    ["line"]=>
    int(12)
    ["function"]=>
    string(3) "bar"
    ["args"]=>
    array(0) {
    }
  }
}

Siehe auch

  • ReflectionGenerator::getFunction() - Gets the function name of the generator
  • ReflectionGenerator::getThis() - Gets the $this value of the generator

ReflectionGenerator::getThis
Reflector
ReflectionGenerator


The Reflector interface

(PHP 5, PHP 7)

Einführung

Reflector is an interface implemented by all exportable Reflection classes.

Klassenbeschreibung

Reflector {
/* Methoden */
public static string export ( void )
public string __toString ( void )
}

Inhaltsverzeichnis

  • Reflector::export — Exports
  • Reflector::__toString — To string
ReflectionGenerator::getTrace
Reflector::export
Reflection


Exports

Reflector
Reflector::__toString
Reflector
PHP Manual

Reflector::export

(PHP 5, PHP 7)

Reflector::export — Exports

Beschreibung

public static string Reflector::export ( void )

Exports.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Siehe auch

  • Reflection::__toString()

Reflector
Reflector::__toString
Reflector


To string

Reflector::export
ReflectionException
Reflector
PHP Manual

Reflector::__toString

(PHP 5, PHP 7)

Reflector::__toString — To string

Beschreibung

public string Reflector::__toString ( void )

To string.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Siehe auch

  • ReflectionProperty::export() - Export
  • __toString()

Reflector::export
ReflectionException
Reflector


The ReflectionException class

(PHP 5, PHP 7)

Einführung

The ReflectionException class.

Klassenbeschreibung

ReflectionException extends Exception {
/* Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
Reflector::__toString
Variablenbehandlung
Reflection


Variablenbehandlung

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Funktionen zur Behandlung von Variablen
    • boolval — Get the boolean value of a variable
    • debug_zval_dump — Dumps a string representation of an internal zend value to output
    • doubleval — Alias von floatval
    • empty — Prüft, ob eine Variable einen Wert enthält
    • floatval — Konvertiert einen Wert nach float
    • get_defined_vars — Gibt ein Array aller definierten Variablen zurück
    • get_resource_type — Liefert den Typ einer Resource
    • gettype — Liefert den Datentyp einer Variablen
    • import_request_variables — Import GET/POST/Cookie variables into the global scope
    • intval — Konvertiert einen Wert nach integer
    • is_array — Prüft, ob die Variable ein Array ist
    • is_bool — Prüft, ob eine Variable vom Typ boolean ist
    • is_callable — Prüft ob der Inhalt einer Variable als Funktion aufgerufen werden kann
    • is_double — Alias von is_float
    • is_float — Prüft, ob eine Variable vom Typ float ist
    • is_int — Prüft, ob eine Variable vom Typ int ist
    • is_integer — Alias von is_int
    • is_long — Alias von is_int
    • is_null — Prüft ob eine Variable NULL enthält
    • is_numeric — Prüft, ob eine Variable eine Zahl oder ein numerischer String ist
    • is_object — Prüft, ob eine Variable vom Typ object ist
    • is_real — Alias von is_float
    • is_resource — Prüft, ob eine Variable vom Typ resource ist
    • is_scalar — Prüft ob eine Variable skalar ist
    • is_string — Prüft, ob Variable vom Typ string ist
    • isset — Prüft, ob eine Variable existiert und ob sie nicht NULL ist
    • print_r — Gibt Variablen-Informationen in lesbarer Form aus
    • serialize — Erzeugt eine speicherbare Repräsentation eines Wertes.
    • settype — Legt den Typ einer Variablen fest
    • strval — Ermittelt die String-Repräsentation einer Variable
    • unserialize — Erzeugt aus einem gespeicherten Datenformat einen Wert in PHP
    • unset — Löschen einer angegebenen Variablen
    • var_dump — Gibt alle Informationen zu einer Variablen aus
    • var_export — Gibt den Inhalt einer Variablen als parsbaren PHP-Code zurück
ReflectionException
Einführung
Variablen- und typbezogene Erweiterungen


Einführung

Wie sich Variablen verhalten, können Sie im Abschnitt über Variablen in der Sprachreferenz des Handbuchs nachlesen.

Variablenbehandlung
Installation/Konfiguration
Variablenbehandlung


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Variablenbehandlung


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Konfigurations-Optionen für Variablen
Name | Standard | Veränderbar | Changelog
unserialize_callback_func | NULL | PHP_INI_ALL | Verfügbar seit PHP 4.2.0.
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

unserialize_callback_func string

Die unserialize() Callback-Funktion wird (mit dem Namen der undefinierten Klasse als Parameter) aufgerufen, wenn die Deserialisierungsroutine eine undefinierte Klasse findet, die instanziiert werden soll. Es wird eine Warnung ausgegeben, wenn die angegebene Funktion nicht definiert ist oder die Funktion die fehlende Klasse nicht einbinden/implementieren kann. Setzen Sie diesen Wert daher nur, wenn Sie wirklich eine entsprechende Callback-Funktion implementieren wollen.

Siehe auch unserialize() und Autoloading Objects.

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
Funktionen zur Behandlung von Variablen
Variablenbehandlung


Funktionen zur Behandlung von Variablen

Inhaltsverzeichnis

  • boolval — Get the boolean value of a variable
  • debug_zval_dump — Dumps a string representation of an internal zend value to output
  • doubleval — Alias von floatval
  • empty — Prüft, ob eine Variable einen Wert enthält
  • floatval — Konvertiert einen Wert nach float
  • get_defined_vars — Gibt ein Array aller definierten Variablen zurück
  • get_resource_type — Liefert den Typ einer Resource
  • gettype — Liefert den Datentyp einer Variablen
  • import_request_variables — Import GET/POST/Cookie variables into the global scope
  • intval — Konvertiert einen Wert nach integer
  • is_array — Prüft, ob die Variable ein Array ist
  • is_bool — Prüft, ob eine Variable vom Typ boolean ist
  • is_callable — Prüft ob der Inhalt einer Variable als Funktion aufgerufen werden kann
  • is_double — Alias von is_float
  • is_float — Prüft, ob eine Variable vom Typ float ist
  • is_int — Prüft, ob eine Variable vom Typ int ist
  • is_integer — Alias von is_int
  • is_long — Alias von is_int
  • is_null — Prüft ob eine Variable NULL enthält
  • is_numeric — Prüft, ob eine Variable eine Zahl oder ein numerischer String ist
  • is_object — Prüft, ob eine Variable vom Typ object ist
  • is_real — Alias von is_float
  • is_resource — Prüft, ob eine Variable vom Typ resource ist
  • is_scalar — Prüft ob eine Variable skalar ist
  • is_string — Prüft, ob Variable vom Typ string ist
  • isset — Prüft, ob eine Variable existiert und ob sie nicht NULL ist
  • print_r — Gibt Variablen-Informationen in lesbarer Form aus
  • serialize — Erzeugt eine speicherbare Repräsentation eines Wertes.
  • settype — Legt den Typ einer Variablen fest
  • strval — Ermittelt die String-Repräsentation einer Variable
  • unserialize — Erzeugt aus einem gespeicherten Datenformat einen Wert in PHP
  • unset — Löschen einer angegebenen Variablen
  • var_dump — Gibt alle Informationen zu einer Variablen aus
  • var_export — Gibt den Inhalt einer Variablen als parsbaren PHP-Code zurück
Vordefinierte Konstanten
boolval
Variablenbehandlung


Get the boolean value of a variable

Funktionen zur Behandlung von Variablen
debug_zval_dump
Funktionen zur Behandlung von Variablen
PHP Manual

boolval

(PHP 5 >= 5.5.0, PHP 7)

boolval — Get the boolean value of a variable

Beschreibung

boolean boolval ( mixed $var )

Returns the boolean value of var.

Parameter-Liste

var

The scalar value being converted to a boolean.

Rückgabewerte

The boolean value of var.

Beispiele

Beispiel #1 boolval() examples

<?php
echo '0:        '.(boolval(0) ? 'true' : 'false')."\n";
echo '42:       '.(boolval(42) ? 'true' : 'false')."\n";
echo '0.0:      '.(boolval(0.0) ? 'true' : 'false')."\n";
echo '4.2:      '.(boolval(4.2) ? 'true' : 'false')."\n";
echo '"":       '.(boolval("") ? 'true' : 'false')."\n";
echo '"string": '.(boolval("string") ? 'true' : 'false')."\n";
echo '"0":      '.(boolval("0") ? 'true' : 'false')."\n";
echo '"1":      '.(boolval("1") ? 'true' : 'false')."\n";
echo '[1, 2]:   '.(boolval([1, 2]) ? 'true' : 'false')."\n";
echo '[]:       '.(boolval([]) ? 'true' : 'false')."\n";
echo 'stdClass: '.(boolval(new stdClass) ? 'true' : 'false')."\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

0:        false
42:       true
0.0:      false
4.2:      true
"":       false
"string": true
"0":      false
"1":      true
[1, 2]:   true
[]:       false
stdClass: true

Siehe auch

  • floatval() - Konvertiert einen Wert nach float
  • intval() - Konvertiert einen Wert nach integer
  • strval() - Ermittelt die String-Repräsentation einer Variable
  • settype() - Legt den Typ einer Variablen fest
  • is_bool() - Prüft, ob eine Variable vom Typ boolean ist
  • Type juggling

Funktionen zur Behandlung von Variablen
debug_zval_dump
Funktionen zur Behandlung von Variablen


Dumps a string representation of an internal zend value to output

boolval
doubleval
Funktionen zur Behandlung von Variablen
PHP Manual

debug_zval_dump

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

debug_zval_dump — Dumps a string representation of an internal zend value to output

Beschreibung

void debug_zval_dump ( mixed $variable [, mixed $... ] )

Dumps a string representation of an internal zend value to output.

Parameter-Liste

variable

The variable being evaluated.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 debug_zval_dump() example

<?php
$var1 = 'Hello World';
$var2 = '';

$var2 =& $var1;

debug_zval_dump(&$var1);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

&string(11) "Hello World" refcount(3)

Hinweis: Beware the refcount

The refcount value returned by this function is non-obvious in certain circumstances. For example, a developer might expect the above example to indicate a refcount of 2. The third reference is created when actually calling debug_zval_dump().

This behavior is further compounded when a variable is not passed to debug_zval_dump() by reference. To illustrate, consider a slightly modified version of the above example:

<?php
$var1 = 'Hello World';
$var2 = '';

$var2 =& $var1;

debug_zval_dump($var1); // not passed by reference, this time
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(11) "Hello World" refcount(1)

Why refcount(1)? Because a copy of $var1 is being made, when the function is called.

This function becomes even more confusing when a variable with a refcount of 1 is passed (by copy/value):

<?php
$var1 = 'Hello World';

debug_zval_dump($var1);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(11) "Hello World" refcount(2)

A refcount of 2, here, is extremely non-obvious. Especially considering the above examples. So what's happening?

When a variable has a single reference (as did $var1 before it was used as an argument to debug_zval_dump()), PHP's engine optimizes the manner in which it is passed to a function. Internally, PHP treats $var1 like a reference (in that the refcount is increased for the scope of this function), with the caveat that if the passed reference happens to be written to, a copy is made, but only at the moment of writing. This is known as "copy on write."

So, if debug_zval_dump() happened to write to its sole parameter (and it doesn't), then a copy would be made. Until then, the parameter remains a reference, causing the refcount to be incremented to 2 for the scope of the function call.

Siehe auch

  • var_dump() - Gibt alle Informationen zu einer Variablen aus
  • debug_backtrace() - Erzeugt Daten zur Ablaufverfolgung
  • References Explained
  • » References Explained (by Derick Rethans)

boolval
doubleval
Funktionen zur Behandlung von Variablen


Alias von floatval

debug_zval_dump
empty
Funktionen zur Behandlung von Variablen
PHP Manual

doubleval

(PHP 4, PHP 5, PHP 7)

doubleval — Alias von floatval()

Beschreibung

Diese Funktion ist ein Alias für: floatval().

debug_zval_dump
empty
Funktionen zur Behandlung von Variablen


Prüft, ob eine Variable einen Wert enthält

doubleval
floatval
Funktionen zur Behandlung von Variablen
PHP Manual

empty

(PHP 4, PHP 5, PHP 7)

empty — Prüft, ob eine Variable einen Wert enthält

Beschreibung

bool empty ( mixed $var )

Prüft, ob eine Variable leer ist. Eine Variable ist leer, wenn sie nicht existiert oder wenn ihr Wert gleich FALSE ist. empty() erzeugt keine Warnung, wenn die Variable nicht existiert.

Parameter-Liste

var

Die zu prüfende Variable.

Hinweis:

empty() überprüft nur Variablen, alles andere führt zu einem Parse-Error. Anders gesagt wird folgendes nicht funktionieren: empty(trim($name)). Statt dessen sollte trim($name) == false verwendet werden.

Es wird keine Warnung erzeugt, wenn die Variable nicht existiert. Das bedeutet, dass empty() im Wesentlichen das kurzgefasste Äquivalent zu !isset($var) || $var == false ist.

Rückgabewerte

Gibt FALSE zurück, wenn var existiert und einen nicht-leeren, von 0 verschiedenen Wert hat. Andernfalls wird TRUE zurück gegeben.

Folgende Dinge zählen als nicht mit einem Wert belegt:

  • "" (eine leere Zeichenkette)
  • 0 (0 als Integer)
  • 0.0 (0 als Fließkommazahl)
  • "0" (0 als Zeichenkette)
  • NULL
  • FALSE
  • array() (ein leeres Array)
  • var $var; (deklarierte, aber nicht belegte Variable)

Changelog

Version | Beschreibung
5.5.0 | empty() unterstützt nun Ausdrücke anstatt nur Variablen.
5.4.0 | Die Prüfung nicht numerischer Offsets von Zeichenketten gibt TRUE zurück.

Beispiele

Beispiel #1 Ein einfacher Vergleich von empty() / isset()

<?php
$var = 0;

// true, weil $var keinen Wert enthält
if (empty($var)) {
    echo '$var ist 0, nicht mit einem Wert belegt, oder nicht gesetzt';
}

// true, weil $var gesetzt wurde
if (isset($var)) {
    echo '$var ist gesetzt, enthält aber keinen Wert';
}
?>

Beispiel #2 empty() und Zeichenketten-Offsets

PHP 5.4 ändert das Verhalten von empty(), wenn Zeichenketten-Offsets übergeben werden.

<?php
$expected_array_got_string = 'einstring';
var_dump(empty($expected_array_got_string['ein_schluessel']));
var_dump(empty($expected_array_got_string[0]));
var_dump(empty($expected_array_got_string['0']));
var_dump(empty($expected_array_got_string[0.5]));
var_dump(empty($expected_array_got_string['0.5']));
var_dump(empty($expected_array_got_string['0 Mostel']));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 5.3:

bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)

Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 5.4:

bool(true)
bool(false)
bool(false)
bool(false)
bool(true)
bool(true)

Anmerkungen

Hinweis: Da dies ein Sprachkonstrukt und keine Funktion ist, können Sie dieses nicht mit Variablenfunktionen verwenden.

Hinweis:

Bei Aufruf von empty() auf nicht-öffentliche Objekteigenschaften wird die überladene Methode __isset aufgerufen, falls deklariert.

Siehe auch

  • isset() - Prüft, ob eine Variable existiert und ob sie nicht NULL ist
  • __isset
  • unset() - Löschen einer angegebenen Variablen
  • array_key_exists() - Prüft, ob ein Schlüssel in einem Array existiert
  • count() - Zählt alle Elemente eines Arrays oder etwas in einem Objekt
  • strlen() - Ermitteln der String-Länge
  • die Tabelle zum Typenvergleich

doubleval
floatval
Funktionen zur Behandlung von Variablen


Konvertiert einen Wert nach float

empty
get_defined_vars
Funktionen zur Behandlung von Variablen
PHP Manual

floatval

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

floatval — Konvertiert einen Wert nach float

Beschreibung

float floatval ( mixed $var )

Konvertiert var nach float.

Parameter-Liste

var

Kann jeder skalare Typ sein. floatval() sollte nicht auf Objekte angewandt werden, da dies eine Meldung vom Typ E_NOTICE erzeugt und den Wert 1 liefert.

Rückgabewerte

Der float-Wert der übergebenen Variable. Leere Arrays geben immer den Wert 0 zurück, nichtleere Arrays den Wert 1.

Zeichenketten geben aller Voraussicht nach 0 zurück, obwohl das von den ersten Zeichen der Zeichenkette abhängt. Es gelten die allgemeinen Regeln der Float-Umwandlung.

Beispiele

Beispiel #1 floatval()-Beispiel

<?php
$var = '122.34343The';
$float_value_of_var = floatval($var);
echo $float_value_of_var; // 122.34343
?>

Beispiel #2 floatval() nichtnumerische Anfangszeichen Beispiel

<?php
$var = 'Die122.34343';
$float_value_of_var = floatval($var);
echo $float_value_of_var; // 0
?>

Siehe auch

  • boolval() - Get the boolean value of a variable
  • intval() - Konvertiert einen Wert nach integer
  • strval() - Ermittelt die String-Repräsentation einer Variable
  • settype() - Legt den Typ einer Variablen fest
  • Typen-Tricks

empty
get_defined_vars
Funktionen zur Behandlung von Variablen


Gibt ein Array aller definierten Variablen zurück

floatval
get_resource_type
Funktionen zur Behandlung von Variablen
PHP Manual

get_defined_vars

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

get_defined_vars — Gibt ein Array aller definierten Variablen zurück

Beschreibung

array get_defined_vars ( void )

Diese Funktion gibt ein mehrdimensionales Array mit einer Liste aller definierten Variablen, seien sie aus der Umgebung, Server-Variablen oder benutzerdefiniert, innerhalb des Zugriffsbereichs, in dem get_defined_vars() aufgerufen wird, zurück.

Rückgabewerte

Ein mehrdimensionales Array mit allen Variablen.

Beispiele

Beispiel #1 get_defined_vars()-Beispiel

<?php
$b = array(1, 1, 2, 3, 5, 8);

$arr = get_defined_vars();

// $b ausgeben
print_r($arr["b"]);

/* Pfad zum PHP-Interpreter ausgeben (wenn als CGI benutzt)
 * z.B. /usr/local/bin/php */
echo $arr["_"];

// eventuelle Kommandozeilenparameter ausgegeben
print_r($arr["argv"]);

// alle Server-Variablen ausgeben
print_r($arr["_SERVER"]);

// alle verfügbaren Schlüssel der Arrays von Variablen ausgeben
print_r(array_keys(get_defined_vars()));
?>

Siehe auch

  • isset() - Prüft, ob eine Variable existiert und ob sie nicht NULL ist
  • get_defined_functions() - Liefert ein Array aller definierten Funktionen
  • get_defined_constants() - Returns an associative array with the names of all the constants and their values

floatval
get_resource_type
Funktionen zur Behandlung von Variablen


Liefert den Typ einer Resource

get_defined_vars
gettype
Funktionen zur Behandlung von Variablen
PHP Manual

get_resource_type

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

get_resource_type — Liefert den Typ einer Resource

Beschreibung

string get_resource_type ( resource $handle )

Diese Funktion ermittelt den Typ der übergebenen Resource.

Parameter-Liste

handle

Ein Resource Handle.

Rückgabewerte

Ist der Parameter handle eine Resource so gibt die Funktion eine textuelle Repräsentation des Resource-Typen zurück. Kann der Typ nicht von dieser Funktion ermittelt werden so wird der String Unknown zurückgegeben.

Die Funktion gibt FALSE zurück und erzeugt eine Fehlermeldung wenn handle nicht vom Typ resource ist.

Beispiele

Beispiel #1 get_resource_type() Beispiel

<?php
// Ergebnis: mysql link
$c = mysql_connect();
echo get_resource_type($c) . "\n";

// Ergebnis: stream
$fp = fopen("foo", "w");
echo get_resource_type($fp) . "\n";

// Ergebnis: domxml document
$doc = new_xmldoc("1.0");
echo get_resource_type($doc->doc) . "\n";
?>

get_defined_vars
gettype
Funktionen zur Behandlung von Variablen


Liefert den Datentyp einer Variablen

get_resource_type
import_request_variables
Funktionen zur Behandlung von Variablen
PHP Manual

gettype

(PHP 4, PHP 5, PHP 7)

gettype — Liefert den Datentyp einer Variablen

Beschreibung

string gettype ( mixed $var )

Liefert den Datentyp der Variablen var. Zur Typprüfung sollten die is_* Funktionen verwendet werden.

Parameter-Liste

var

Die Variable, deren Typ ermittelt werden soll.

Rückgabewerte

Mögliche Werte der zurückgegebenen Zeichenkette sind:

  • "boolean"
  • "integer"
  • "double" (aus historischen Gründen wird "double" im Fall eines float zurückgegeben, und nicht einfach float.
  • "string"
  • "array"
  • "object"
  • "resource"
  • "NULL"
  • "unknown type"

Beispiele

Beispiel #1 gettype()-Beispiel

<?php

$data = array(1, 1., NULL, new stdClass, 'foo');

foreach ($data as $value) {
    echo gettype($value), "\n";
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

integer
double
NULL
object
string

Siehe auch

  • settype() - Legt den Typ einer Variablen fest
  • get_class() - Ermittelt den Klassennamen eines Objekts
  • is_array() - Prüft, ob die Variable ein Array ist
  • is_bool() - Prüft, ob eine Variable vom Typ boolean ist
  • is_callable() - Prüft ob der Inhalt einer Variable als Funktion aufgerufen werden kann
  • is_float() - Prüft, ob eine Variable vom Typ float ist
  • is_int() - Prüft, ob eine Variable vom Typ int ist
  • is_null() - Prüft ob eine Variable NULL enthält
  • is_numeric() - Prüft, ob eine Variable eine Zahl oder ein numerischer String ist
  • is_object() - Prüft, ob eine Variable vom Typ object ist
  • is_resource() - Prüft, ob eine Variable vom Typ resource ist
  • is_scalar() - Prüft ob eine Variable skalar ist
  • is_string() - Prüft, ob Variable vom Typ string ist
  • function_exists() - Falls die angegebene Funktion definiert ist, wird TRUE zurück gegeben
  • method_exists() - Prüft ob eine Methode innerhalb eines Objekts existiert

get_resource_type
import_request_variables
Funktionen zur Behandlung von Variablen


Import GET/POST/Cookie variables into the global scope

gettype
intval
Funktionen zur Behandlung von Variablen
PHP Manual

import_request_variables

(PHP 4 >= 4.1.0, PHP 5 < 5.4.0)

import_request_variables — Import GET/POST/Cookie variables into the global scope

Beschreibung

bool import_request_variables ( string $types [, string $prefix ] )

Imports GET/POST/Cookie variables into the global scope. It is useful if you disabled register_globals, but would like to see some variables in the global scope.

If you're interested in importing other variables into the global scope, such as $_SERVER, consider using extract().

Warnung

Diese Funktion ist seit PHP 5.3.0 DEPRECATED (veraltet) und seit PHP 5.4.0 ENTFERNT.

Parameter-Liste

types

Using the types parameter, you can specify which request variables to import. You can use 'G', 'P' and 'C' characters respectively for GET, POST and Cookie. These characters are not case sensitive, so you can also use any combination of 'g', 'p' and 'c'. POST includes the POST uploaded file information.

Hinweis:

Note that the order of the letters matters, as when using "GP", the POST variables will overwrite GET variables with the same name. Any other letters than GPC are discarded.

prefix

Variable name prefix, prepended before all variable's name imported into the global scope. So if you have a GET value named "userid", and provide a prefix "pref_", then you'll get a global variable named $pref_userid.

Hinweis:

Although the prefix parameter is optional, you will get an E_NOTICE level error if you specify no prefix, or specify an empty string as a prefix. This is a possible security hazard. Notice level errors are not displayed using the default error reporting level.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 import_request_variables() example

<?php
// This will import GET and POST vars
// with an "rvar_" prefix
import_request_variables("gp", "rvar_");

echo $rvar_foo;
?>

Siehe auch

  • $_REQUEST
  • register_globals
  • Predefined Variables
  • extract() - Importiert Variablen eines Arrays in die aktuelle Symboltabelle

gettype
intval
Funktionen zur Behandlung von Variablen


Konvertiert einen Wert nach integer

import_request_variables
is_array
Funktionen zur Behandlung von Variablen
PHP Manual

intval

(PHP 4, PHP 5, PHP 7)

intval — Konvertiert einen Wert nach integer

Beschreibung

int intval ( mixed $var [, int $base = 10 ] )

Liefert den integer-Wert von var unter Benutzung der angegebenen Basis. (Standardwert ist base=10). intval() sollte nicht auf Objekte angewandt werden, da dies eine Meldung vom Typ E_NOTICE erzeugt und den Wert 1 zurückgibt.

Parameter-Liste

var

Der skalare Wert (das kann ein Ausdruck oder eine einfache Variable sein, nicht jedoch ein Array oder Objekt.), der nach integer konvertiert werden soll.

base

Die Basis der Konvertierung

Hinweis:

Wenn base 0 ist, wird die verwendete Basis durch das Format von var bestimmt:

  • wenn die Zeichenkette ein "0x" (oder "0X") Präfix enthält, ist die Basis 16 (hexadezimal); andernfalls,
  • wenn die Zeichenkette mit "0" beginnt, ist die Basis 8 (oktal); andernfalls,
  • ist die Basis 10 (dezimal).

Rückgabewerte

Der integer-Wert von var bei Erfolg, sonst 0. Leere Arrays geben den Wert 0 zurück, nichtleere Arrays den Wert 1.

Der Maximalwert hängt vom System ab. 32-Bit-Systeme haben einen maximalen Wertebereich für signed integer von -2147483648 bis 2147483647. Also wird beispielsweise auf solch einem System intval('1000000000000') 2147483647 zurückgeben. Der maximale signed integer-Wert auf 64-Bit-Systemen ist 9223372036854775807.

Zeichenketten werden meistens 0 zurückgeben, auch wenn das erste Zeichen hier entscheidend ist. Es gelten die normalen Regeln zur Umwandlung nach integer.

Beispiele

Beispiel #1 intval()-Beispiele

Die folgenden Beispiele beziehen sich auf ein 32-Bit-System

<?php
echo intval(42);                      // 42
echo intval(4.2);                     // 4
echo intval('42');                    // 42
echo intval('+42');                   // 42
echo intval('-42');                   // -42
echo intval(042);                     // 34
echo intval('042');                   // 42
echo intval(1e10);                    // 1410065408
echo intval('1e10');                  // 1
echo intval(0x1A);                    // 26
echo intval(42000000);                // 42000000
echo intval(420000000000000000000);   // 0
echo intval('420000000000000000000'); // 2147483647
echo intval(42, 8);                   // 42
echo intval('42', 8);                 // 34
echo intval(array());                 // 0
echo intval(array('foo', 'bar'));     // 1
?>

Anmerkungen

Hinweis:

Der base-Parameter hat keinerlei Auswirkung, wenn der var-Parameter kein String ist.

Changelog

Version | Beschreibung
5.1.0 | Erzeugt eine Meldung vom Type E_NOTICE und gibt den Wert 1 zurück, wenn ein Objekt als Parameter var übergeben wird.

Siehe auch

  • boolval() - Get the boolean value of a variable
  • floatval() - Konvertiert einen Wert nach float
  • strval() - Ermittelt die String-Repräsentation einer Variable
  • settype() - Legt den Typ einer Variablen fest
  • is_numeric() - Prüft, ob eine Variable eine Zahl oder ein numerischer String ist
  • Typen-Tricks
  • BCMath - Mathematische Funktionen mit beliebiger Genauigkeit

import_request_variables
is_array
Funktionen zur Behandlung von Variablen


Prüft, ob die Variable ein Array ist

intval
is_bool
Funktionen zur Behandlung von Variablen
PHP Manual

is_array

(PHP 4, PHP 5, PHP 7)

is_array — Prüft, ob die Variable ein Array ist

Beschreibung

bool is_array ( mixed $var )

Ermittelt, ob die gegebene Variable ein Array ist.

Parameter-Liste

var

Die zu untersuchende Variable.

Rückgabewerte

Gibt TRUE zurück, wenn var vom Typ array ist, andernfalls FALSE.

Beispiele

Beispiel #1 Überprüfen, ob die Variable ein Array ist

<?php
$yes = array('dies', 'ist', 'ein Array');

echo is_array($yes) ? 'Array' : 'kein Array';
echo "\n";

$no = 'dies ist ein String';

echo is_array($no) ? 'Array' : 'kein Array';
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
kein Array

Siehe auch

  • is_float() - Prüft, ob eine Variable vom Typ float ist
  • is_int() - Prüft, ob eine Variable vom Typ int ist
  • is_string() - Prüft, ob Variable vom Typ string ist
  • is_object() - Prüft, ob eine Variable vom Typ object ist

intval
is_bool
Funktionen zur Behandlung von Variablen


Prüft, ob eine Variable vom Typ boolean ist

is_array
is_callable
Funktionen zur Behandlung von Variablen
PHP Manual

is_bool

(PHP 4, PHP 5, PHP 7)

is_bool — Prüft, ob eine Variable vom Typ boolean ist

Beschreibung

bool is_bool ( mixed $var )

Prüft, ob die gegebene Variable ein Boolean ist.

Parameter-Liste

var

Die zu untersuchende Variable.

Rückgabewerte

Gibt TRUE zurück, wenn var vom Typ boolean ist, ansonsten FALSE.

Beispiele

Beispiel #1 is_bool()-Beispiele

<?php
$a = false;
$b = 0;

// Da $a ein Boolean ist, wird true zurückgegeben
if (is_bool($a) === true) {
    echo "Ja, das ist ein Boolean";
}

// Da $b kein Boolean ist, wird false zurückgegeben
if (is_bool($b) === false) {
    echo "Nein, dies ist kein Boolean";
}
?>

Siehe auch

  • is_float() - Prüft, ob eine Variable vom Typ float ist
  • is_int() - Prüft, ob eine Variable vom Typ int ist
  • is_string() - Prüft, ob Variable vom Typ string ist
  • is_object() - Prüft, ob eine Variable vom Typ object ist
  • is_array() - Prüft, ob die Variable ein Array ist

is_array
is_callable
Funktionen zur Behandlung von Variablen


Prüft ob der Inhalt einer Variable als Funktion aufgerufen werden kann

is_bool
is_double
Funktionen zur Behandlung von Variablen
PHP Manual

is_callable

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

is_callable — Prüft ob der Inhalt einer Variable als Funktion aufgerufen werden kann

Beschreibung

bool is_callable ( mixed $var [, bool $syntax_only = false [, string &$callable_name ]] )

Prüft ob der Inhalt einer Variable als Funktion aufgerufen werden kann. Es wird geprüft ob eine einfache Variable den Namen einer gültigen Funktion enthält, oder ob in einem Array ein gültig codierter Objekt- und Funktionsname enthalten ist.

Parameter-Liste

var

Kann entweder der Name einer Funktion als String oder ein Objekt und der Name einer seiner Methoden als Array in der Form

array($SomeObject, 'MethodName')
sein.

syntax_only

Wenn dieser Parameter auf TRUE gesetzt wird, so prüft die Funktion nur ob var möglicherweise eine Funktion oder Methode enthält. Einfache Variablen werden nur zurückgewiesen wenn sie keinen String enthalten. Arrays werden auf die richtige Struktur geprüft, d.g. dass das Array zwei Elemente hat von denen der erste ein Objekt oder String und der zweite ein String ist.

callable_name

Hier wird der "aufrufbare Name" abgelegt. Für das obige Beispiel ist dies "someClass::someMethod". Beachten Sie, dass dies keine statische Methode ist, auch wenn die Syntax das nahelegt.

Rückgabewerte

Liefet TRUE wenn var aufrufbar is, sonst FALSE.

Beispiele

Beispiel #1 is_callable() Beispiel

<?php
// Wie man prüft ob eine Variable als Funktion aufgerufen werden kann

//
//  Einfache Variable die eine Funktion enthält
//

function someFunction()
{
}

$functionVariable = 'someFunction';

var_dump(is_callable($functionVariable, false, $callable_name));  // bool(true)

echo $callable_name, "\n";  // someFunction

//
//  Array das eine Methode enthält
//

class someClass {

  function someMethod()
  {
  }

}

$anObject = new someClass();

$methodVariable = array($anObject, 'someMethod');

var_dump(is_callable($methodVariable, true, $callable_name));  //  bool(true)

echo $callable_name, "\n";  //  someClass::someMethod

?>

Siehe auch

  • function_exists() - Falls die angegebene Funktion definiert ist, wird TRUE zurück gegeben
  • method_exists() - Prüft ob eine Methode innerhalb eines Objekts existiert

is_bool
is_double
Funktionen zur Behandlung von Variablen


Alias von is_float

is_callable
is_float
Funktionen zur Behandlung von Variablen
PHP Manual

is_double

(PHP 4, PHP 5, PHP 7)

is_double — Alias von is_float()

Beschreibung

Diese Funktion ist ein Alias für: is_float().

is_callable
is_float
Funktionen zur Behandlung von Variablen


Prüft, ob eine Variable vom Typ float ist

is_double
is_int
Funktionen zur Behandlung von Variablen
PHP Manual

is_float

(PHP 4, PHP 5, PHP 7)

is_float — Prüft, ob eine Variable vom Typ float ist

Beschreibung

bool is_float ( mixed $var )

Prüft, ob eine Variable vom Typ float ist

Hinweis:

Um zu testen, ob eine Variable eine Zahl oder eine numerische Zeichenkette ist (wie zum Beispiel Formularangaben, die immer Zeichenketten sind), müssen Sie is_numeric() verwenden.

Parameter-Liste

var

Die auszuwertende Variable.

Rückgabewerte

Gibt TRUE zurück, wenn var vom Typ float ist, sonst FALSE.

Beispiele

Beispiel #1 is_float()-Beispiel

<?php
if(is_float(27.25)) {
    echo "is float\n";
}else {
    echo "is not float\n";
}
var_dump(is_float('abc'));
var_dump(is_float(23));
var_dump(is_float(23.5));
var_dump(is_float(1e7));  //Scientific Notation
var_dump(is_float(true));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

is float
bool(false)
bool(false)
bool(true)
bool(true)
bool(false)

Siehe auch

  • is_bool() - Prüft, ob eine Variable vom Typ boolean ist
  • is_int() - Prüft, ob eine Variable vom Typ int ist
  • is_numeric() - Prüft, ob eine Variable eine Zahl oder ein numerischer String ist
  • is_string() - Prüft, ob Variable vom Typ string ist
  • is_array() - Prüft, ob die Variable ein Array ist
  • is_object() - Prüft, ob eine Variable vom Typ object ist

is_double
is_int
Funktionen zur Behandlung von Variablen


Prüft, ob eine Variable vom Typ int ist

is_float
is_integer
Funktionen zur Behandlung von Variablen
PHP Manual

is_int

(PHP 4, PHP 5, PHP 7)

is_int — Prüft, ob eine Variable vom Typ int ist

Beschreibung

bool is_int ( mixed $var )

Prüft, ob eine Variable vom Typ integer ist.

Hinweis:

Um zu testen, ob eine Variable eine Zahl oder eine numerische Zeichenkette ist (wie zum Beispiel Formularangaben, die immer Zeichenketten sind), müssen Sie is_numeric() verwenden.

Parameter-Liste

var

Die auszuwertende Variable.

Rückgabewerte

Gibt TRUE zurück, wenn var vom Typ int ist, sonst FALSE.

Beispiele

Beispiel #1 is_int()-Beispiel

<?php
$values = array(23, "23", 23.5, "23.5", null, true, false);
foreach ($values as $value) {
    echo "is_int(";
    var_export($value);
    echo ") = ";
    var_dump(is_int($value));
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

is_int(23) = bool(true)
is_int('23') = bool(false)
is_int(23.5) = bool(false)
is_int('23.5') = bool(false)
is_int(NULL) = bool(false)
is_int(true) = bool(false)
is_int(false) = bool(false)

Siehe auch

  • is_bool() - Prüft, ob eine Variable vom Typ boolean ist
  • is_float() - Prüft, ob eine Variable vom Typ float ist
  • is_numeric() - Prüft, ob eine Variable eine Zahl oder ein numerischer String ist
  • is_string() - Prüft, ob Variable vom Typ string ist
  • is_array() - Prüft, ob die Variable ein Array ist
  • is_object() - Prüft, ob eine Variable vom Typ object ist

is_float
is_integer
Funktionen zur Behandlung von Variablen


Alias von is_int

is_int
is_long
Funktionen zur Behandlung von Variablen
PHP Manual

is_integer

(PHP 4, PHP 5, PHP 7)

is_integer — Alias von is_int()

Beschreibung

Diese Funktion ist ein Alias für: is_int().

is_int
is_long
Funktionen zur Behandlung von Variablen


Alias von is_int

is_integer
is_null
Funktionen zur Behandlung von Variablen
PHP Manual

is_long

(PHP 4, PHP 5, PHP 7)

is_long — Alias von is_int()

Beschreibung

Diese Funktion ist ein Alias für: is_int().

is_integer
is_null
Funktionen zur Behandlung von Variablen


Prüft ob eine Variable NULL enthält

is_long
is_numeric
Funktionen zur Behandlung von Variablen
PHP Manual

is_null

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

is_null — Prüft ob eine Variable NULL enthält

Beschreibung

bool is_null ( mixed $var )

Prüft ob die gegebene Variable NULL enthält

Parameter-Liste

var

Die zu prüfende Variable.

Rückgabewerte

Liefert TRUE wenn var null enthält, sonst FALSE.

Beispiele

Beispiel #1 is_null()-Beispiel

<?php

error_reporting(E_ALL);

$foo = NULL;
var_dump(is_null($inexistent), is_null($foo));

?>
Notice: Undefined variable: inexistent in ...
bool(true)
bool(true)

Siehe auch

  • Der NULL-Typ
  • isset() - Prüft, ob eine Variable existiert und ob sie nicht NULL ist
  • is_bool() - Prüft, ob eine Variable vom Typ boolean ist
  • is_numeric() - Prüft, ob eine Variable eine Zahl oder ein numerischer String ist
  • is_float() - Prüft, ob eine Variable vom Typ float ist
  • is_int() - Prüft, ob eine Variable vom Typ int ist
  • is_string() - Prüft, ob Variable vom Typ string ist
  • is_object() - Prüft, ob eine Variable vom Typ object ist
  • is_array() - Prüft, ob die Variable ein Array ist

is_long
is_numeric
Funktionen zur Behandlung von Variablen


Prüft, ob eine Variable eine Zahl oder ein numerischer String ist

is_null
is_object
Funktionen zur Behandlung von Variablen
PHP Manual

is_numeric

(PHP 4, PHP 5, PHP 7)

is_numeric — Prüft, ob eine Variable eine Zahl oder ein numerischer String ist

Beschreibung

bool is_numeric ( mixed $var )

Prüft, ob die gegebene Variable numerisch ist. Numerische Strings bestehen aus einem optionalen Vorzeichen, einer Anzahl Ziffern, einem optionalen Dezimalteil und einem optionalen Exponentialteil. Folglich ist +0123.45e6 ein gültiger numerischer Wert. Hexadezimale (z.B. 0xf4c3b00c) and binäre (z.B. 0b10100111001) Schreibweise sind nicht erlaubt.

Parameter-Liste

var

Die zu untersuchende Variable.

Rückgabewerte

Gibt TRUE zurück, wenn var eine Zahl oder ein numerischer String ist, ansonsten FALSE.

Beispiele

Beispiel #1 is_numeric()-Beispiele

<?php
$tests = array(
    "42",
    1337,
    0x539,
    02471,
    0b10100111001,
    1337e0,
    "nicht numerisch",
    array(),
    9.1
);

foreach($tests as $element) {
    if (is_numeric($element)) {
        echo "'{$element}' ist numerisch", PHP_EOL;
    } else {
        echo "'{$element}' ist NICHT numerisch", PHP_EOL;
    }
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

'42' ist numerisch
'1337' ist numerisch
'1337' ist numerisch
'1337' ist numerisch
'1337' ist numerisch
'1337' ist numerisch
'not numeric' ist NICHT numerisch
'Array' ist NICHT numerisch
'9.1' ist numerisch

Changelog

Version | Beschreibung
7.0.0 | Zeichenketten in hexadezimaler Notation (z.B. 0xf4c3b00c) werden nicht länger als numerische Zeichenketten angesehen, d.h. is_numeric() gibt nun FALSE zurück.

Siehe auch

  • ctype_digit() - Auf Ziffern überprüfen
  • is_bool() - Prüft, ob eine Variable vom Typ boolean ist
  • is_null() - Prüft ob eine Variable NULL enthält
  • is_float() - Prüft, ob eine Variable vom Typ float ist
  • is_int() - Prüft, ob eine Variable vom Typ int ist
  • is_string() - Prüft, ob Variable vom Typ string ist
  • is_object() - Prüft, ob eine Variable vom Typ object ist
  • is_array() - Prüft, ob die Variable ein Array ist

is_null
is_object
Funktionen zur Behandlung von Variablen


Prüft, ob eine Variable vom Typ object ist

is_numeric
is_real
Funktionen zur Behandlung von Variablen
PHP Manual

is_object

(PHP 4, PHP 5, PHP 7)

is_object — Prüft, ob eine Variable vom Typ object ist

Beschreibung

bool is_object ( mixed $var )

Prüft, ob die gegebene Variable ein Objekt ist.

Parameter-Liste

var

Die zu untersuchende Variable.

Rückgabewerte

Gibt TRUE zurück, wenn var vom Typ object ist, ansonsten FALSE.

Beispiele

Beispiel #1 is_object()-Beispiel

<?php
// Eine einfache Funktion deklarieren, die ein Array unseres Objekts zurückgibt
function get_students($obj)
{
    if (!is_object($obj)) {
        return false;
    }

    return $obj->students;
}

// Deklarieren einer neuen Instanz der Klasse und Befüllen mit Werten
$obj = new stdClass();
$obj->students = array('Kalle', 'Ross', 'Felipe');

var_dump(get_students(null));
var_dump(get_students($obj));
?>

Anmerkungen

Hinweis:

Die Funktion wird FALSE zurückgeben, wenn sie auf ein unserialisiertes Objekt angewendet wird, dessen Klassendefinition nicht geladen ist (auch wenn gettype() object zurückgibt).

Siehe auch

  • is_bool() - Prüft, ob eine Variable vom Typ boolean ist
  • is_int() - Prüft, ob eine Variable vom Typ int ist
  • is_float() - Prüft, ob eine Variable vom Typ float ist
  • is_string() - Prüft, ob Variable vom Typ string ist
  • is_array() - Prüft, ob die Variable ein Array ist

is_numeric
is_real
Funktionen zur Behandlung von Variablen


Alias von is_float

is_object
is_resource
Funktionen zur Behandlung von Variablen
PHP Manual

is_real

(PHP 4, PHP 5, PHP 7)

is_real — Alias von is_float()

Beschreibung

Diese Funktion ist ein Alias für: is_float().

is_object
is_resource
Funktionen zur Behandlung von Variablen


Prüft, ob eine Variable vom Typ resource ist

is_real
is_scalar
Funktionen zur Behandlung von Variablen
PHP Manual

is_resource

(PHP 4, PHP 5, PHP 7)

is_resource — Prüft, ob eine Variable vom Typ resource ist

Beschreibung

bool is_resource ( mixed $var )

Prüft, ob die gegebene Variable eine Ressource ist.

Parameter-Liste

var

Die zu untersuchende Variable.

Rückgabewerte

Gibt TRUE zurück, wenn var vom Typ resource ist, andernfalls FALSE.

Beispiele

Beispiel #1 is_resource()-Beispiel

<?php

$db_link = @mysql_connect('localhost', 'mysql_user', 'mysql_pass');
if (!is_resource($db_link)) {
    die('Verbindung konnte nicht hergestellt werden : ' . mysql_error());
}

?>

Anmerkungen

Hinweis:

is_resource() ist keine strikte Typprüfungsmethode: sie gibt FALSE zurück, wenn var eine Variable mit einer Ressource ist, die geschlossen wurde.

Siehe auch

  • Die Ressource-Typen Dokumentation
  • get_resource_type() - Liefert den Typ einer Resource

is_real
is_scalar
Funktionen zur Behandlung von Variablen


Prüft ob eine Variable skalar ist

is_resource
is_string
Funktionen zur Behandlung von Variablen
PHP Manual

is_scalar

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

is_scalar — Prüft ob eine Variable skalar ist

Beschreibung

bool is_scalar ( mixed $var )

Prüft ob die gegebene Variable skalar ist.

Unter skalaren Variablen versteht man solche die einen integer, float, string oder boolean Wert enthalten. Variablen vom Typ array, object und resource sind nicht skalar.

Hinweis:

is_scalar() betrachtet Variablen vom Typ resource nicht als skalar da Resourcen abstrakte Datentypen darstellen auch wenn sie zur Zeit als Integer repräsentiert sind. Sie sollten sich nicht auf dieses Implementationsdetail verlassen da es sich ändern kann.

Hinweis:

is_scalar() erachtet NULL nicht als skalar.

Parameter-Liste

var

Die zu prüfende Variable.

Rückgabewerte

Liefert TRUE wenn var skalar ist, sonst FALSE.

Beispiele

Beispiel #1 is_scalar() Example

<?php
function show_var($var)
{
    if (is_scalar($var)) {
        echo $var;
    } else {
        var_dump($var);
    }
}
$pi = 3.1416;
$proteins = array("Hämoglobin", "Cytochrom C Oxidase", "Ferredoxin");

show_var($pi);
show_var($proteins)

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

3.1416
array(3) {
  [0]=>
  string(10) "Hämoglobin"
  [1]=>
  string(20) "Cytochrome C Oxidase"
  [2]=>
  string(10) "Ferredoxin"
}

Siehe auch

  • is_float() - Prüft, ob eine Variable vom Typ float ist
  • is_int() - Prüft, ob eine Variable vom Typ int ist
  • is_numeric() - Prüft, ob eine Variable eine Zahl oder ein numerischer String ist
  • is_real() - Alias von is_float
  • is_string() - Prüft, ob Variable vom Typ string ist
  • is_bool() - Prüft, ob eine Variable vom Typ boolean ist
  • is_object() - Prüft, ob eine Variable vom Typ object ist
  • is_array() - Prüft, ob die Variable ein Array ist

is_resource
is_string
Funktionen zur Behandlung von Variablen


Prüft, ob Variable vom Typ string ist

is_scalar
isset
Funktionen zur Behandlung von Variablen
PHP Manual

is_string

(PHP 4, PHP 5, PHP 7)

is_string — Prüft, ob Variable vom Typ string ist

Beschreibung

bool is_string ( mixed $var )

Prüft, ob die gegebene Variable vom Typ String ist.

Parameter-Liste

var

Die zu untersuchende Variable.

Rückgabewerte

Gibt TRUE zurück, wenn var vom Typ string ist, andernfalls FALSE.

Beispiele

Beispiel #1 is_string()-Beispiel

<?php
$values = array(false, true, null, 'abc', '23', 23, '23.5', 23.5, '', ' ', '0', 0);
foreach ($values as $value) {
    echo "is_string(";
    var_export($value);
    echo ") = ";
    echo var_dump(is_string($value));
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

is_string(false) = bool(false)
is_string(true) = bool(false)
is_string(NULL) = bool(false)
is_string('abc') = bool(true)
is_string('23') = bool(true)
is_string(23) = bool(false)
is_string('23.5') = bool(true)
is_string(23.5) = bool(false)
is_string('') = bool(true)
is_string(' ') = bool(true)
is_string('0') = bool(true)
is_string(0) = bool(false)

Siehe auch

  • is_float() - Prüft, ob eine Variable vom Typ float ist
  • is_int() - Prüft, ob eine Variable vom Typ int ist
  • is_bool() - Prüft, ob eine Variable vom Typ boolean ist
  • is_object() - Prüft, ob eine Variable vom Typ object ist
  • is_array() - Prüft, ob die Variable ein Array ist

is_scalar
isset
Funktionen zur Behandlung von Variablen


Prüft, ob eine Variable existiert und ob sie nicht NULL ist

is_string
print_r
Funktionen zur Behandlung von Variablen
PHP Manual

isset

(PHP 4, PHP 5, PHP 7)

isset — Prüft, ob eine Variable existiert und ob sie nicht NULL ist

Beschreibung

bool isset ( mixed $var [, mixed $... ] )

Prüft, ob eine Variable existiert und nicht NULL ist.

Wenn eine Variable mittels unset() zurückgesetzt wird, gilt sie nicht länger als existent. isset() wird FALSE zurückgeben, wenn eine überprüfte Variable auf NULL gesetzt ist. Beachten Sie außerdem, dass ein Null-Zeichen ("\0") nicht äquivalent ist zur PHP-Konstante NULL.

Wenn mehrere Parameter übergeben werden, gibt isset() nur dann TRUE zurück, wenn alle Parameter belegt sind. Die Auswertung geht von links nach rechts und wird abgebrochen, sobald eine Variable nicht belegt ist.

Parameter-Liste

var

Die zu überprüfende Variable.

var

Eine weitere Variable ...

Rückgabewerte

Gibt TRUE zurück, wenn var existiert und einen von NULL verschiedenen Wert hat, andernfalls FALSE.

Changelog

Version | Beschreibung
5.4.0 | Die Prüfung nicht numerischer Zeichenketten-Offsets gibt nun FALSE zurück.

Beispiele

Beispiel #1 isset()-Beispiele

<?php

$var = '';

// Dieser Ausdruck wird zu TRUE ausgewertet, also wird der Text angezeigt
if (isset($var)) {
    echo "Die Variable ist gesetzt, also wird etwas ausgegeben.";
}

// In den nächsten Beispielen wird var_dump() benutzt, um den Rückgabewert von
// isset() auszugeben.

$a = "test";
$b = "anothertest";

var_dump(isset($a));     // TRUE
var_dump(isset($a, $b)); // TRUE

unset ($a);

var_dump(isset($a));     // FALSE
var_dump(isset($a, $b)); // FALSE

$foo = NULL;
var_dump(isset($foo));   // FALSE

?>

Die funktioniert ebenfalls für Arrayelemente:

<?php

$a = array ('test' => 1, 'hello' => NULL, 'pie' => array('a' => 'apple'));

var_dump(isset($a['test']));            // TRUE
var_dump(isset($a['foo']));             // FALSE
var_dump(isset($a['hello']));           // FALSE

// Der Schlüssel 'hello' hat den Wert NULL,
// daher wird sein Inhalt nicht betrachtet
// Wenn man herausfinden willen, ob ein
// Schlüssel mit dem Wert NULL vorhanden
// ist, verwendet man:
var_dump(array_key_exists('hello', $a)); // TRUE

// Tiefer verschachtelte Array-Strukturen prüfen:
var_dump(isset($a['pie']['a']));        // TRUE
var_dump(isset($a['pie']['b']));        // FALSE
var_dump(isset($a['cake']['a']['b']));  // FALSE
?>

Beispiel #2 isset() und Zeichenketten-Offsets

PHP 5.4 ändert das Verhalten von isset(), wenn Zeichenketten-Offsets übergeben werden.

<?php
$expected_array_got_string = 'einstring';
var_dump(isset($expected_array_got_string['ein_schluessel']));
var_dump(isset($expected_array_got_string[0]));
var_dump(isset($expected_array_got_string['0']));
var_dump(isset($expected_array_got_string[0.5]));
var_dump(isset($expected_array_got_string['0.5']));
var_dump(isset($expected_array_got_string['0 Mostel']));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 5.3:

bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)

Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 5.4:

bool(false)
bool(true)
bool(true)
bool(true)
bool(false)
bool(false)

Anmerkungen

Warnung

isset() funktioniert nur mit Variablen, da der Aufruf mit etwas anderem einen Parse-Error verursacht. Um zu überprüfen, ob Konstanten gesetzt sind, sollte die Funktion defined() benutzt werden.

Hinweis: Da dies ein Sprachkonstrukt und keine Funktion ist, können Sie dieses nicht mit Variablenfunktionen verwenden.

Hinweis:

Bei Aufruf von isset() auf nicht-öffentliche Objekteigenschaten wird die überladene Methode __isset aufgerufen, falls deklariert.

Siehe auch

  • empty() - Prüft, ob eine Variable einen Wert enthält
  • __isset
  • unset() - Löschen einer angegebenen Variablen
  • defined() - Prüft, ob eine benannte Konstante existiert
  • die Tabelle zum Typenvergleich
  • array_key_exists() - Prüft, ob ein Schlüssel in einem Array existiert
  • is_null() - Prüft ob eine Variable NULL enthält
  • Fehler-Kontroll-Operator @

is_string
print_r
Funktionen zur Behandlung von Variablen


Gibt Variablen-Informationen in lesbarer Form aus

isset
serialize
Funktionen zur Behandlung von Variablen
PHP Manual

print_r

(PHP 4, PHP 5, PHP 7)

print_r — Gibt Variablen-Informationen in lesbarer Form aus

Beschreibung

mixed print_r ( mixed $expression [, bool $return = false ] )

print_r() zeigt Informationen über eine Variable in menschenlesbarer Form an.

print_r(), var_dump() und var_export() zeigen mit PHP 5 auch private und geschützte Eigenschaften von Objekten an. Statische Klasseneigenschaften werden hingegen nicht angezeigt.

Parameter-Liste

expression

Der auszugebende Ausdruck.

return

Wenn Sie die Ausgabe von print_r() zum Weiterverarbeiten abfangen möchten, benutzen Sie dazu den Parameter return. Wenn dieser auf TRUE gesetzt ist, gibt print_r() die Information zurück, statt sie auszugeben.

Rückgabewerte

Wenn die Funktion für eine Variable vom Typ string, integer oder float aufgerufen wird, wird der Wert der Variablen angezeigt. Falls ein array übergeben wurde, werden die Werte in einem Format angezeigt, das sowohl die Schlüssel als auch die Elemente darstellt. Für Variablen vom Typ object gilt das Gleiche.

Wenn der Parameter return den Wert TRUE hat, gibt die Funktion einen String zurück. Andernfalls ist der Rückgabewert TRUE.

Anmerkungen

Hinweis:

Wenn der return Parameter verwendet wird, benutzt diese Funktion intern Ausgabepufferung und kann daher nicht in einer ob_start()-Callbackfunktion eingesetzt werden.

Beispiele

Beispiel #1 print_r()-Beispiel

<pre>
<?php
    $a = array ('a' => 'Apfel', 'b' => 'Banane', 'c' => array ('x', 'y', 'z'));
    print_r ($a);
?>
</pre>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<pre>
Array
(
    [a] => Apfel
    [b] => Banane
    [c] => Array
        (
            [0] => x
            [1] => y
            [2] => z
        )
)
</pre>

Beispiel #2 return-Parameter-Beispiel

<?php
$b = array ('a' => 'Affe', 'foo' => 'bar', 'x' => array ('x', 'y', 'z'));
$results = print_r($b, true); //$results enthaelt nun die Ausgabe von print_r
?>

Siehe auch

  • ob_start() - Ausgabepufferung aktivieren
  • var_dump() - Gibt alle Informationen zu einer Variablen aus
  • var_export() - Gibt den Inhalt einer Variablen als parsbaren PHP-Code zurück

isset
serialize
Funktionen zur Behandlung von Variablen


Erzeugt eine speicherbare Repräsentation eines Wertes.

print_r
settype
Funktionen zur Behandlung von Variablen
PHP Manual

serialize

(PHP 4, PHP 5, PHP 7)

serialize — Erzeugt eine speicherbare Repräsentation eines Wertes.

Beschreibung

string serialize ( mixed $value )

Erzeugt eine speicherbare Repräsentation eines Wertes.

Diese Funktion dient der Speicherung oder Übergabe von PHP-Werten, ohne dass diese ihren Typ oder ihre Struktur verlieren.

Um eine serialisierte Zeichenkette wieder als PHP-Wert verfügbar zu machen, verwenden Sie unserialize().

Parameter-Liste

value

Der zu serialisierende Wert. serialize() kann mit allen Typen umgehen, ausgenommen mit dem resource-Typ. Sie können sogar Arrays serialisieren, die Referenzen auf sich selbst enthalten. Zirkelbezüge innerhalb des Arrays/Objekts, das Sie serialisieren, werden ebenfalls gespeichert. Alle anderen Referenzen gehen verloren.

Wenn Objekte serialisiert werden, versucht PHP die Methode __sleep vor der Serialisierung aufzurufen. Dies erlaubt einem Objekt z.B. letzte "Aufräumaktionen", bevor es serialisiert wird. Ebenso wird die Methode __wakeup aufgerufen, wenn das Objekt mittels unserialize() wiederhergestellt wird.

Hinweis:

Den Namen der privaten Eigenschaften eines Objekts wird der Klassenname vorangestellt; den Namen geschützter Eigenschaften wird ein '*' vorangestellt. Diese vorangestellten Werte werden von Nullbytes umschlossen.

Rückgabewerte

Gibt einen String zurück, der eine Byte-Stream-Repräsentation von value enthält, die beliebig gespeichert werden kann.

Es ist zu beachten, dass dies ein Binärstring ist, der Null-Bytes enthalten kann, und als solcher gespeichert und behandelt werden muss. Zum Beispiel sollte die Ausgabe von serialize() grundsätzlich in einem BLOB- statt einem CHAR- oder TEXT-Feld in einer Datenbank gespeichert werden.

Beispiele

Beispiel #1 serialize()-Beispiel

<?php
// $session_data enthält ein mehrdimensionales Array mit Session-Informationen
// des aktuellen Benutzers. Wir benutzen serialize() um diese Infos am Ende
// der Anfrage in eine Datenbank zu speichern.

$conn = odbc_connect("webdb", "php", "chicken");
$stmt = odbc_prepare($conn,
      "UPDATE sessions SET data = ? WHERE id = ?");
$sqldata = array (serialize($session_data), $_SERVER['PHP_AUTH_USER']);
if (!odbc_execute($stmt, $sqldata)) {
    $stmt = odbc_prepare($conn,
     "INSERT INTO sessions (id, data) VALUES(?, ?)");
    if (!odbc_execute($stmt, $sqldata)) {
        /* Irgendwas ging schief ... */
    }
}
?>

Anmerkungen

Hinweis:

Beachte, dass viele eingebaute PHP Objekte nicht serialisiert werden können. Diejenigen mit dieser Eigenschaft implementieren entweder das Serializable Interface oder die magischen __sleep und __wakeup Methoden. Wenn eine eingebaute Klasse nicht mindestens eine dieser Voraussetzungen erfüllt, kann sie nicht verlässlich serialisiert werden.

Es gibt einige historische Ausnahmen dieser Regel, bei denen interne Objekte serialisiert werden konnten, ohne das Interface zu implementieren oder die Methoden offenzulegen. Namentlich ArrayObject vor PHP 5.2.0.

Warnung

Wenn serialize() Objekte serialisiert, ist zwecks größtmöglicher Kompatibilität der führende Backslash nicht im Namen von Klassen in Namensräumen enthalten.

Siehe auch

  • unserialize() - Erzeugt aus einem gespeicherten Datenformat einen Wert in PHP
  • var_export() - Gibt den Inhalt einer Variablen als parsbaren PHP-Code zurück
  • json_encode() - Gibt die JSON-Repräsentation eines Wertes zurück
  • Objekte serialisieren
  • __sleep
  • __wakeup

print_r
settype
Funktionen zur Behandlung von Variablen


Legt den Typ einer Variablen fest

serialize
strval
Funktionen zur Behandlung von Variablen
PHP Manual

settype

(PHP 4, PHP 5, PHP 7)

settype — Legt den Typ einer Variablen fest

Beschreibung

bool settype ( mixed &$var , string $type )

Legt den Typ der Variablen var als type fest.

Parameter-Liste

var

The variable being converted.

type

Mögliche Werte für type sind:

  • "boolean" (oder seit PHP 4.2.0 "bool")
  • "integer" (oder seit PHP 4.2.0 "int")
  • "float" (erst seit PHP 4.2.0 möglich, benutzen Sie bei älteren Versionen die veraltete Variante "double")
  • "string"
  • "array"
  • "object"
  • "null" (seit PHP 4.2.0)

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 settype()-Beispiel

<?php
$foo = "5bar"; // string
$bar = true;   // boolean

settype($foo, "integer"); // $foo ist jetzt 5   (integer)
settype($bar, "string");  // $bar ist jetzt "1" (string)
?>

Anmerkungen

Hinweis:

Maximum value for "int" is PHP_INT_MAX.

Siehe auch

  • gettype() - Liefert den Datentyp einer Variablen
  • Typ-Umwandlung
  • Typen-Tricks

serialize
strval
Funktionen zur Behandlung von Variablen


Ermittelt die String-Repräsentation einer Variable

settype
unserialize
Funktionen zur Behandlung von Variablen
PHP Manual

strval

(PHP 4, PHP 5, PHP 7)

strval — Ermittelt die String-Repräsentation einer Variable

Beschreibung

string strval ( mixed $var )

Gibt die String-Repräsentation einer Variablen zurück. Lesen Sie die Dokumentation über den Typ string, um weitere Informationen über das Konvertieren in Strings zu erhalten.

Diese Funktion führt keine Formatierung auf dem zurückgegebenen Wert durch. Wenn Sie nach einem Weg suchen, einen numerischen Wert als String zu formatieren, lesen Sie bitte die Dokumentation zu sprintf() oder number_format().

Parameter-Liste

var

Die nach string zu konvertierende Variable.

var darf jeder skalare Datentyp sein oder ein Objekt, das die __toString Methode implementiert. Sie können strval() jedoch nicht auf Arrays oder Objekte, welche keine __toString Methode implementieren, anwenden.

Rückgabewerte

Die String-Repräsentation des Wertes von var.

Beispiele

Beispiel #1 strval()-Beispiel für die Verwendung der magischen __toString Methode

<?php
class StrValTest
{
    public function __toString()
    {
        return __CLASS__;
    }
}

// Gibt 'StrValTest' aus
echo strval(new StrValTest);
?>

Siehe auch

  • boolval() - Get the boolean value of a variable
  • floatval() - Konvertiert einen Wert nach float
  • intval() - Konvertiert einen Wert nach integer
  • settype() - Legt den Typ einer Variablen fest
  • sprintf() - Gibt einen formatierten String zurück
  • number_format() - Formatiert eine Zahl mit Tausender-Trennzeichen
  • Typ-Veränderung
  • __toString

settype
unserialize
Funktionen zur Behandlung von Variablen


Erzeugt aus einem gespeicherten Datenformat einen Wert in PHP

strval
unset
Funktionen zur Behandlung von Variablen
PHP Manual

unserialize

(PHP 4, PHP 5, PHP 7)

unserialize — Erzeugt aus einem gespeicherten Datenformat einen Wert in PHP

Beschreibung

mixed unserialize ( string $str [, array $options ] )

unserialize() nimmt eine einzelne Variable aus einer serialisierten Datenmenge und wandelt sie in einen PHP-Wert zurück.

Parameter-Liste

str

Der serialisierte String.

Wenn die zu deserialisierende Variable ein Objekt ist, wird PHP nach der erfolgreichen Wiederherstellung des Objekts automatisch versuchen, die __wakeup-Methode aufzurufen (sofern diese existiert).

Hinweis: Die unserialize_callback_func-Direktive

Es ist möglich, eine Callback-Funktion anzugeben, die aufgerufen wird, wenn eine undefinierte Klasse während des Deserialisierens instanziiert werden soll (um dem Erhalt des unvollständigen object "__PHP_Incomplete_Class" vorzubeugen). Nutzen Sie Ihre php.ini, ini_set() oder .htaccess, um 'unserialize_callback_func' festzulegen. Jedesmal, wenn eine undefinierte Klasse instanziiert werden soll, wird diese Funktion aufgerufen. Um dieses Feature abzuschalten, muss die Einstellung nur ungefüllt sein.

options

Optionen, die unserialize() als assoziatives Array zur Verfügung gestellt werden sollen.

Gültige Optionen
Name | Typ | Beschreibung
allowed_classes | mixed | Entweder ein Array von Klassennamen, die akzeptiert werden sollen, oder FALSE um keine Klassen oder TRUE um alle Klassen zu akzeptieren. Ist diese Option angegeben und unserialize() trifft auf ein Objekt einer Klasse, die nicht akzeptierbar ist, wird das Objekt statt dessen als __PHP_Incomplete_Class instantiiert. Das Auslassen dieser Option hat die gleiche Wirkung wie sie als TRUE anzugeben: PHP wird versuchen Objekte beliebiger Klassen zu instantiieren.

Rückgabewerte

Der konvertierte Wert wird zurückgegeben und kann vom Typ boolean, integer, float, string, array oder object sein.

Falls der übergebene String nicht deserialisierbar ist, wird FALSE zurück gegeben und E_NOTICE produziert.

Changelog

Version | Beschreibung
7.0.0 | Der options Parameter wurde hinzugefügt.
5.6.0 | Die Manipulation der serialisierten Daten durch das Ersetzen von C: mit O: um die Objektinstanziierung ohne Aufruf des Konstruktors zu erzwingen, schlägt nun fehl.

Beispiele

Beispiel #1 unserialize()-Beispiel

<?php
// Als Beispiel benutzen wir unserialize(), um Daten aus einer Datenbank in das
// $session_data-Array zu laden. Das Beispiel vervollständigt das unter
// serialize() beschriebene.

$conn = odbc_connect("webdb", "php", "chicken");
$stmt = odbc_prepare($conn, "SELECT data FROM sessions WHERE id = ?");
$sqldata = array($_SERVER['PHP_AUTH_USER']);
if (!odbc_execute($stmt, $sqldata) || !odbc_fetch_into($stmt, $tmp)) {
    // wenn execute oder fetch fehlschlägt, initialisiere ein leeres Array
    $session_data = array();
} else {
    // die serialisierten Daten sollten nun in $tmp[0] stehen.
    $session_data = unserialize($tmp[0]);
    if (!is_array($session_data)) {
        // etwas ging schief, also wieder ein leeres Array initialisieren
        $session_data = array();
    }
}
?>

Beispiel #2 unserialize_callback_func-Beispiel

<?php
$serialized_object='O:1:"a":1:{s:5:"value";s:3:"100";}';

// unserialize_callback_func Direktive ist ab PHP 4.2.0 verfuegbar
ini_set('unserialize_callback_func', 'mycallback'); // Festlegen der callback_function

function mycallback($classname)
{
    // einfach ein File einbinden, dass die Klassendefinitionen enthaelt
    // Sie erhalten $classname, womit Sie herausfinden koennen, welche
    // Klassendefinition benoetigt wird
}
?>

Anmerkungen

Warnung

FALSE wird sowohl im Fehlerfall als auch bei einem serialisierten FALSE-Wert zurückgegeben. Es ist möglich, diesen speziellen Fall abzufangen, indem man str mit serialize(false) vergleicht oder prüft, ob ein E_NOTICE produziert wurde.

Warnung

Unvertrauenswürdige Benutzereingaben sollten nicht an unserialize() übergeben werden. Die Deserialisierung kann durch Objektinstanziierung und Autoloading dazu führen, dass Code geladen und ausgeführt wird, und ein böswilliger Anwender kann in der Lage sein das auszunutzen. Es ist ein sicheres, standardisiertes Austauschformat wie JSON (per json_decode() und json_encode()) zu verwenden, wenn serialisierte Daten an den Nutzer übergeben werden müssen.

Siehe auch

  • serialize() - Erzeugt eine speicherbare Repräsentation eines Wertes.
  • Autoloading von Klassen
  • unserialize_callback_func
  • __wakeup

strval
unset
Funktionen zur Behandlung von Variablen


Löschen einer angegebenen Variablen

unserialize
var_dump
Funktionen zur Behandlung von Variablen
PHP Manual

unset

(PHP 4, PHP 5, PHP 7)

unset — Löschen einer angegebenen Variablen

Beschreibung

void unset ( mixed $var [, mixed $... ] )

unset() löscht die angegebene Variable.

Das Verhalten von unset() innerhalb einer Funktion kann abhängig davon, was für einen Variablentyp Sie zu löschen versuchen, variieren.

Wenn eine globalisierte Variable innerhalb einer Funktion mit unset() behandelt wird, wird nur die lokale Variable gelöscht. Die Variable innerhalb der aufrufenden Umgebung behält den selben Wert wie vor dem Aufruf von unset().

<?php
function destroy_foo()
{
    global $foo;
    unset($foo);
}

$foo = 'bar';
destroy_foo();
echo $foo;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bar

Um eine globale Variable innerhalb einer Funktion zu löschen, kann das $GLOBALS-Array verwendet werden:

<?php
function foo()
{
    unset($GLOBALS['bar']);
}

$bar = "something";
foo();
?>

Wenn eine Variable, die als Referenz übergeben wird ("Passed by Reference"), innerhalb einer Funktion gelöscht wird, wird nur die lokale Variable gelöscht. Die Variable im aufrufenden Environment enthält den selben Wert wie vor dem Aufruf von unset().

<?php
function foo(&$bar)
{
    unset($bar);
    $bar = "blah";
}

$bar = 'something';
echo "$bar\n";

foo($bar);
echo "$bar\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

something
something

Wenn eine statische Variable innerhalb einer Funktion gelöscht wird, löscht unset() die Variable nur im Kontext des verbleibenden Funktionsablaufs. Die folgenden Aufrufe stellen den vorhergehenden Wert der Variablen wieder her.

<?php
function foo()
{
    static $bar;
    $bar++;
    echo "Vor unset: $bar, ";
    unset($bar);
    $bar = 23;
    echo "nach unset: $bar\n";
}

foo();
foo();
foo();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Vor unset: 1, nach unset: 23
Vor unset: 2, nach unset: 23
Vor unset: 3, nach unset: 23

Parameter-Liste

var

Die zu löschende Variable.

...

Eine weitere zu löschende Variable ...

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 unset()-Beispiel

<?php
// löscht eine einzelne Variable
unset($foo);

// löscht ein einzelnes Element eines Arrays
unset($bar['quux']);

// löscht mehr als eine Variable
unset($foo1, $foo2, $foo3);
?>

Beispiel #2 Verwendung von (unset) Casting

(unset) Casting wird häufig mit der unset() Function verwechselt. (unset) Casting dient nur als ein NULL-Typ-Cast, der Vollständigkeit halber. Es ändert nicht die gecastete Variable.

<?php
$name = 'Felipe';

var_dump((unset) $name);
var_dump($name);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

NULL
string(6) "Felipe"

Anmerkungen

Hinweis: Da dies ein Sprachkonstrukt und keine Funktion ist, können Sie dieses nicht mit Variablenfunktionen verwenden.

Hinweis:

Es ist möglich, sogar Objekteigenschaften zu löschen, die im aktuellen Kontext sichtbar sind.

Hinweis:

Es ist ab PHP 5 nicht mehr möglich, $this innerhalb einer Objektmethode zu löschen.

Hinweis:

Wenn unset() auf Objekteigenschaften angewendet wird, auf die nicht direkt zugegriffen werden kann, wird, sofern sie deklariert wurde, die Überladungsmethode __unset aufgerufen.

Siehe auch

  • isset() - Prüft, ob eine Variable existiert und ob sie nicht NULL ist
  • empty() - Prüft, ob eine Variable einen Wert enthält
  • __unset
  • array_splice() - Entfernt einen Teil eines Arrays und ersetzt ihn durch etwas anderes

unserialize
var_dump
Funktionen zur Behandlung von Variablen


Gibt alle Informationen zu einer Variablen aus

unset
var_export
Funktionen zur Behandlung von Variablen
PHP Manual

var_dump

(PHP 4, PHP 5, PHP 7)

var_dump — Gibt alle Informationen zu einer Variablen aus

Beschreibung

void var_dump ( mixed $expression [, mixed $... ] )

Die Funktion gibt strukturierte Informationen über einen oder mehrere Ausdrücke aus, darunter auch den entsprechenden Typ und Wert. Arrays und Objekte werden rekursiv durchlaufen und die jeweiligen Werte eingerückt dargestellt, um die Struktur zu verdeutlichen.

Alle öffentlichen (public), privaten (private) und geschützten (protected) Eigenschaften eines Objekts werden in der Ausgabe dargestellt, außer wenn das Objekt eine __debugInfo() Methode implementiert (eingeführt in PHP 5.6.0).

Tipp

Bei allem, dessen Ergebnisausgabe direkt im Browser angezeigt wird, können Sie die Funktionen zur Ausgabesteuerung verwenden. Damit lässt sich die Ausgabe dieser Funktion erfassen, und - zum Beispiel - in einem string speichern.

Parameter-Liste

expression

Die auszugebende Variable.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 var_dump()-Beispiel

<?php
$a = array(1, 2, array("a", "b", "c"));
var_dump($a);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  array(3) {
    [0]=>
    string(1) "a"
    [1]=>
    string(1) "b"
    [2]=>
    string(1) "c"
  }
}
<?php

$b = 3.1;
$c = true;
var_dump($b, $c);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

float(3.1)
bool(true)

Siehe auch

  • print_r() - Gibt Variablen-Informationen in lesbarer Form aus
  • debug_zval_dump() - Dumps a string representation of an internal zend value to output
  • var_export() - Gibt den Inhalt einer Variablen als parsbaren PHP-Code zurück
  • __debugInfo()

unset
var_export
Funktionen zur Behandlung von Variablen


Gibt den Inhalt einer Variablen als parsbaren PHP-Code zurück

var_dump
Web Services
Funktionen zur Behandlung von Variablen
PHP Manual

var_export

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

var_export — Gibt den Inhalt einer Variablen als parsbaren PHP-Code zurück

Beschreibung

mixed var_export ( mixed $expression [, bool $return = false ] )

var_export() liefert strukturierte Informationen zum Inhalt der übergebenen Variable. Das Verhalten ist ähnlich dem der var_dump(), allerdings ist hier das Ergebnis valider PHP-Code mit dem sich der Inhalt der Variable wieder herstellen lässt.

Parameter-Liste

expression

Die zu exportierende Variable.

return

Wird dieser Parameter auf TRUE gesetzt so wird das Ergebnis nicht direkt ausgegeben sondern als string zurückgegeben.

Rückgabewerte

Liefert die Repräsentation der Variablen als PHP-Code wenn der return-Parameter genutzt wird und als Wert TRUE ergibt. Anderenfalls gibt die Funktion NULL zurück.

Anmerkungen

Hinweis:

Wenn der return Parameter verwendet wird, benutzt diese Funktion intern Ausgabepufferung und kann daher nicht in einer ob_start()-Callbackfunktion eingesetzt werden.

Changelog

Version | Beschreibung
5.1.0 | Möglichkeit Klassen und Arrays die Klassen enthalten mit Hilfe der 'magischen' __set_state Methode zu exportieren.

Beispiele

Beispiel #1 var_export() Beispiel

<?php
$a = array (1, 2, array ("a", "b", "c"));
var_export($a);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array (
  0 => 1,
  1 => 2,
  2 =>
  array (
    0 => 'a',
    1 => 'b',
    2 => 'c',
  ),
)
<?php

$b = 3.1;
$v = var_export($b, true);
echo $v;

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

3.1

Beispiel #2 Export von Klassen ab PHP 5.1.0

<?php
class A { public $var; }
$a = new A;
$a->var = 5;
var_export($a);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

A::__set_state(array(
   'var' => 5,
))

Beispiel #3 Nutzung von __set_state (ab PHP 5.1.0)

<?php
class A
{
    public $var1;
    public $var2;

    public static function __set_state($an_array)
    {
        $obj = new A;
        $obj->var1 = $an_array['var1'];
        $obj->var2 = $an_array['var2'];
        return $obj;
    }
}

$a = new A;
$a->var1 = 5;
$a->var2 = 'foo';

eval('$b = ' . var_export($a, true) . ';'); // $b = A::__set_state(array(
                                            //    'var1' => 5,
                                            //    'var2' => 'foo',
                                            // ));
var_dump($b);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(A)#2 (2) {
  ["var1"]=>
  int(5)
  ["var2"]=>
  string(3) "foo"
}

Anmerkungen

Hinweis:

Variablen vom Typ resource können von dieser Funktion nicht exportiert werden.

Hinweis:

var_export() ist nicht in der Lage zirkuläre Referenzen aufzulösen da es annähernd unmöglich ist hierfür gültigen PHP-Code zu erzeugen. In solchen Fällen empfiehlt sich statt dessen die Nutzung der serialize() für eine vollständige Repräsentation von entsprechenden Arrays oder Objekten.

Warnung

Wenn var_export() Objekte exportiert, ist zwecks größtmöglicher Kompatibilität der führende Backslash nicht im Namen von Klassen in Namensräumen enthälten.

Hinweis:

Um das von var_export() erzeugte PHP ausführen zu können, müssen alle verarbeiteten Objekte die magische __set_state Methode implementieren. Es ist zu beachten, dass StdClass __set_state() nicht implementiert.

Siehe auch

  • print_r() - Gibt Variablen-Informationen in lesbarer Form aus
  • serialize() - Erzeugt eine speicherbare Repräsentation eines Wertes.
  • var_dump() - Gibt alle Informationen zu einer Variablen aus

var_dump
Web Services
Funktionen zur Behandlung von Variablen


Web Services

  • OAuth
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • OAuth Funktionen
    • OAuth — The OAuth class
    • OAuthProvider — The OAuthProvider class
    • OAuthException — OAuthException class
  • SCA
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • SCA Funktionen
  • SOAP
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • SOAP Funktionen
    • SoapClient — The SoapClient class
    • SoapServer — The SoapServer class
    • SoapFault — The SoapFault class
    • SoapHeader — The SoapHeader class
    • SoapParam — The SoapParam class
    • SoapVar — The SoapVar class
  • Yar — Yet Another RPC Framework
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Yar_Server — The Yar_Server class
    • Yar_Client — The Yar_Client class
    • Yar_Concurrent_Client — The Yar_Concurrent_Client class
    • Yar_Server_Exception — The Yar_Server_Exception class
    • Yar_Client_Exception — The Yar_Client_Exception class
  • XML-RPC
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • XML-RPC Funktionen
var_export
OAuth
Funktionsreferenz


OAuth

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • FireEagle
  • OAuth Funktionen
    • oauth_get_sbs — Generate a Signature Base String
    • oauth_urlencode — Kodiert eine URI nach RFC 3986
  • OAuth — The OAuth class
    • OAuth::__construct — Create a new OAuth object
    • OAuth::__destruct — The destructor
    • OAuth::disableDebug — Turn off verbose debugging
    • OAuth::disableRedirects — Turn off redirects
    • OAuth::disableSSLChecks — Turn off SSL checks
    • OAuth::enableDebug — Turn on verbose debugging
    • OAuth::enableRedirects — Turn on redirects
    • OAuth::enableSSLChecks — Turn on SSL checks
    • OAuth::fetch — Fetch an OAuth protected resource
    • OAuth::generateSignature — Generate a signature
    • OAuth::getAccessToken — Fetch an access token
    • OAuth::getCAPath — Gets CA information
    • OAuth::getLastResponse — Get the last response
    • OAuth::getLastResponseHeaders — Get headers for last response
    • OAuth::getLastResponseInfo — Get HTTP information about the last response
    • OAuth::getRequestHeader — Generate OAuth header string signature
    • OAuth::getRequestToken — Fetch a request token
    • OAuth::setAuthType — Set authorization type
    • OAuth::setCAPath — Set CA path and info
    • OAuth::setNonce — Set the nonce for subsequent requests
    • OAuth::setRequestEngine — The setRequestEngine purpose
    • OAuth::setRSACertificate — Set the RSA certificate
    • OAuth::setSSLChecks — Tweak specific SSL checks for requests.
    • OAuth::setTimestamp — Set the timestamp
    • OAuth::setToken — Sets the token and secret
    • OAuth::setVersion — Set the OAuth version
  • OAuthProvider — The OAuthProvider class
    • OAuthProvider::addRequiredParameter — Add required parameters
    • OAuthProvider::callconsumerHandler — Calls the consumerNonceHandler callback
    • OAuthProvider::callTimestampNonceHandler — Calls the timestampNonceHandler callback
    • OAuthProvider::calltokenHandler — Calls the tokenNonceHandler callback
    • OAuthProvider::checkOAuthRequest — Check an oauth request
    • OAuthProvider::__construct — Constructs a new OAuthProvider object
    • OAuthProvider::consumerHandler — Set the consumerHandler handler callback
    • OAuthProvider::generateToken — Generate a random token
    • OAuthProvider::is2LeggedEndpoint — is2LeggedEndpoint
    • OAuthProvider::isRequestTokenEndpoint — Sets isRequestTokenEndpoint
    • OAuthProvider::removeRequiredParameter — Remove a required parameter
    • OAuthProvider::reportProblem — Report a problem
    • OAuthProvider::setParam — Set a parameter
    • OAuthProvider::setRequestTokenPath — Set request token path
    • OAuthProvider::timestampNonceHandler — Set the timestampNonceHandler handler callback
    • OAuthProvider::tokenHandler — Set the tokenHandler handler callback
  • OAuthException — OAuthException class
Web Services
Einführung
Web Services


Einführung

This extension provides OAuth 1.0a consumer and provider bindings. OAuth is an authorization protocol built on top of HTTP which allows applications to securely access data without having to store usernames and passwords.

OAuth
Installation/Konfiguration
OAuth


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
OAuth


Anforderungen

PECL/oauth requires PHP 5.1 or newer, ext/hash and ext/pcre.

PECL/oauth may optionally require libcurl if selected at build time. If configured with libcurl, it must be built with HTTPS support.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pear.php.net/package/oauth

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

Most of these constants involve problems, which are also described within the official OAuth » Problem Reporting documentation. Note however, that these constant names are specific to PHP, although the naming scheme is similar.

OAUTH_SIG_METHOD_RSASHA1 (string)
OAuth RSA-SHA1 signature method.
OAUTH_SIG_METHOD_HMACSHA1 (string)

OAuth HMAC-SHA1 signature method.

OAUTH_SIG_METHOD_HMACSHA256 (string)
OAuth HMAC-SHA256 signature method.
OAUTH_AUTH_TYPE_AUTHORIZATION (string)

This constant represents putting OAuth parameters in the Authorization header.

OAUTH_AUTH_TYPE_NONE (string)

This constant indicates a NoAuth OAuth request.

OAUTH_AUTH_TYPE_URI (string)

This constant represents putting OAuth parameters in the request URI.

OAUTH_AUTH_TYPE_FORM (string)

This constant represents putting OAuth parameters as part of the HTTP POST body.

OAUTH_HTTP_METHOD_GET (string)

Use the GET method for the OAuth request.

OAUTH_HTTP_METHOD_POST (string)

Use the POST method for the OAuth request.

OAUTH_HTTP_METHOD_PUT (string)

Use the PUT method for the OAuth request.

OAUTH_HTTP_METHOD_HEAD (string)

Use the HEAD method for the OAuth request.

OAUTH_HTTP_METHOD_DELETE (string)
Use the DELETE method for the OAuth request.
OAUTH_REQENGINE_STREAMS (integer)
Used by OAuth::setRequestEngine() to set the engine to PHP streams, as opposed to OAUTH_REQENGINE_CURL for Curl.
OAUTH_REQENGINE_CURL (integer)
Used by OAuth::setRequestEngine() to set the engine to Curl, as opposed to OAUTH_REQENGINE_STREAMS for PHP streams.
OAUTH_OK (integer)
Life is good.
OAUTH_BAD_NONCE (integer)
The oauth_nonce value was used in a previous request, therefore it cannot be used now.
OAUTH_BAD_TIMESTAMP (integer)
The oauth_timestamp value was not accepted by the service provider. In this case, the response should also contain the oauth_acceptable_timestamps parameter.
OAUTH_CONSUMER_KEY_UNKNOWN (integer)
The oauth_consumer_key is temporarily unacceptable to the service provider. For example, the service provider may be throttling the consumer.
OAUTH_CONSUMER_KEY_REFUSED (integer)
The consumer key was refused.
OAUTH_INVALID_SIGNATURE (integer)
The oauth_signature is invalid, as it does not match the signature computed by the service provider.
OAUTH_TOKEN_USED (integer)
The oauth_token has been consumed. It can no longer be used because it has already been used in the previous request(s).
OAUTH_TOKEN_EXPIRED (integer)
The oauth_token has expired.
OAUTH_TOKEN_REVOKED (integer)
The oauth_token has been revoked, and will never be accepted.
OAUTH_TOKEN_REJECTED (integer)
The oauth_token was not accepted by the service provider. The reason is not known, but it might be because the token was never issued, already consumed, expired, and/or forgotten by the service provider.
OAUTH_VERIFIER_INVALID (integer)
The oauth_verifier is incorrect.
OAUTH_PARAMETER_ABSENT (integer)
A required parameter was not received. In this case, the response should also contain the oauth_parameters_absent parameter.
OAUTH_SIGNATURE_METHOD_REJECTED (integer)
The oauth_signature_method was not accepted by service provider.

Ressource-Typen
Beispiele
OAuth


Beispiele

Inhaltsverzeichnis

  • FireEagle
Vordefinierte Konstanten
FireEagle
OAuth


FireEagle

<?php
$req_url = 'https://fireeagle.yahooapis.com/oauth/request_token';
$authurl = 'https://fireeagle.yahoo.net/oauth/authorize';
$acc_url = 'https://fireeagle.yahooapis.com/oauth/access_token';
$api_url = 'https://fireeagle.yahooapis.com/api/0.1';
$conskey = 'your_consumer_key';
$conssec = 'your_consumer_secret';

session_start();

// In state=1 the next request should include an oauth_token.
// If it doesn't go back to 0
if(!isset($_GET['oauth_token']) && $_SESSION['state']==1) $_SESSION['state'] = 0;
try {
  $oauth = new OAuth($conskey,$conssec,OAUTH_SIG_METHOD_HMACSHA1,OAUTH_AUTH_TYPE_URI);
  $oauth->enableDebug();
  if(!isset($_GET['oauth_token']) && !$_SESSION['state']) {
    $request_token_info = $oauth->getRequestToken($req_url);
    $_SESSION['secret'] = $request_token_info['oauth_token_secret'];
    $_SESSION['state'] = 1;
    header('Location: '.$authurl.'?oauth_token='.$request_token_info['oauth_token']);
    exit;
  } else if($_SESSION['state']==1) {
    $oauth->setToken($_GET['oauth_token'],$_SESSION['secret']);
    $access_token_info = $oauth->getAccessToken($acc_url);
    $_SESSION['state'] = 2;
    $_SESSION['token'] = $access_token_info['oauth_token'];
    $_SESSION['secret'] = $access_token_info['oauth_token_secret'];
  }
  $oauth->setToken($_SESSION['token'],$_SESSION['secret']);
  $oauth->fetch("$api_url/user.json");
  $json = json_decode($oauth->getLastResponse());
  print_r($json);
} catch(OAuthException $E) {
  print_r($E);
}
?>

Beispiele
OAuth Funktionen
Beispiele


OAuth Funktionen

Inhaltsverzeichnis

  • oauth_get_sbs — Generate a Signature Base String
  • oauth_urlencode — Kodiert eine URI nach RFC 3986
FireEagle
oauth_get_sbs
OAuth


Generate a Signature Base String

OAuth Funktionen
oauth_urlencode
OAuth Funktionen
PHP Manual

oauth_get_sbs

(PECL OAuth >=0.99.7)

oauth_get_sbs — Generate a Signature Base String

Beschreibung

string oauth_get_sbs ( string $http_method , string $uri [, array $request_parameters ] )

Generates a Signature Base String according to pecl/oauth.

Parameter-Liste

http_method

The HTTP method.

uri

URI to encode.

request_parameters

Array of request parameters.

Rückgabewerte

Returns a Signature Base String.

OAuth Funktionen
oauth_urlencode
OAuth Funktionen


Kodiert eine URI nach RFC 3986

oauth_get_sbs
OAuth
OAuth Funktionen
PHP Manual

oauth_urlencode

(PECL OAuth >=0.99.2)

oauth_urlencode — Kodiert eine URI nach RFC 3986

Beschreibung

string oauth_urlencode ( string $uri )

Kodiert eine URI nach » RFC 3986.

Parameter-Liste

uri

URI die kodiert werden soll.

Rückgabewerte

Returnt einen mach » RFC 3986 kodierten String.

oauth_get_sbs
OAuth
OAuth Funktionen


The OAuth class

(PECL OAuth >= 0.99.1)

Einführung

The OAuth extension provides a simple interface to interact with data providers using the OAuth HTTP specification to protect private resources.

Klassenbeschreibung

OAuth {
/* Eigenschaften */
public $debug ;
public $sslChecks ;
public $debugInfo ;
/* Methoden */
public __construct ( string $consumer_key , string $consumer_secret [, string $signature_method = OAUTH_SIG_METHOD_HMACSHA1 [, int $auth_type = 0 ]] )
public void __destruct ( void )
public bool disableDebug ( void )
public bool disableRedirects ( void )
public bool disableSSLChecks ( void )
public bool enableDebug ( void )
public bool enableRedirects ( void )
public bool enableSSLChecks ( void )
public mixed fetch ( string $protected_resource_url [, array $extra_parameters [, string $http_method [, array $http_headers ]]] )
public string generateSignature ( string $http_method , string $url [, mixed $extra_parameters ] )
public array getAccessToken ( string $access_token_url [, string $auth_session_handle [, string $verifier_token [, string $http_method ]]] )
public array getCAPath ( void )
public string getLastResponse ( void )
public string getLastResponseHeaders ( void )
public array getLastResponseInfo ( void )
public string getRequestHeader ( string $http_method , string $url [, mixed $extra_parameters ] )
public array getRequestToken ( string $request_token_url [, string $callback_url [, string $http_method ]] )
public mixed setAuthType ( int $auth_type )
public mixed setCAPath ([ string $ca_path [, string $ca_info ]] )
public mixed setNonce ( string $nonce )
public void setRequestEngine ( int $reqengine )
public mixed setRSACertificate ( string $cert )
public bool setSSLChecks ( int $sslcheck )
public mixed setTimestamp ( string $timestamp )
public bool setToken ( string $token , string $token_secret )
public bool setVersion ( string $version )
}

Eigenschaften

debug

sslChecks

debugInfo

Inhaltsverzeichnis

  • OAuth::__construct — Create a new OAuth object
  • OAuth::__destruct — The destructor
  • OAuth::disableDebug — Turn off verbose debugging
  • OAuth::disableRedirects — Turn off redirects
  • OAuth::disableSSLChecks — Turn off SSL checks
  • OAuth::enableDebug — Turn on verbose debugging
  • OAuth::enableRedirects — Turn on redirects
  • OAuth::enableSSLChecks — Turn on SSL checks
  • OAuth::fetch — Fetch an OAuth protected resource
  • OAuth::generateSignature — Generate a signature
  • OAuth::getAccessToken — Fetch an access token
  • OAuth::getCAPath — Gets CA information
  • OAuth::getLastResponse — Get the last response
  • OAuth::getLastResponseHeaders — Get headers for last response
  • OAuth::getLastResponseInfo — Get HTTP information about the last response
  • OAuth::getRequestHeader — Generate OAuth header string signature
  • OAuth::getRequestToken — Fetch a request token
  • OAuth::setAuthType — Set authorization type
  • OAuth::setCAPath — Set CA path and info
  • OAuth::setNonce — Set the nonce for subsequent requests
  • OAuth::setRequestEngine — The setRequestEngine purpose
  • OAuth::setRSACertificate — Set the RSA certificate
  • OAuth::setSSLChecks — Tweak specific SSL checks for requests.
  • OAuth::setTimestamp — Set the timestamp
  • OAuth::setToken — Sets the token and secret
  • OAuth::setVersion — Set the OAuth version
oauth_urlencode
OAuth::__construct
OAuth


Create a new OAuth object

OAuth
OAuth::__destruct
OAuth
PHP Manual

OAuth::__construct

(PECL OAuth >= 0.99.1)

OAuth::__construct — Create a new OAuth object

Beschreibung

public OAuth::__construct ( string $consumer_key , string $consumer_secret [, string $signature_method = OAUTH_SIG_METHOD_HMACSHA1 [, int $auth_type = 0 ]] )

Creates a new OAuth object

Parameter-Liste

consumer_key

The consumer key provided by the service provider.

consumer_secret

The consumer secret provided by the service provider.

signature_method

This optional parameter defines which signature method to use, by default it is OAUTH_SIG_METHOD_HMACSHA1 (HMAC-SHA1).

auth_type

This optional parameter defines how to pass the OAuth parameters to a consumer, by default it is OAUTH_AUTH_TYPE_AUTHORIZATION (in the Authorization header).

OAuth
OAuth::__destruct
OAuth


The destructor

OAuth::__construct
OAuth::disableDebug
OAuth
PHP Manual

OAuth::__destruct

(PECL OAuth >= 0.99.9)

OAuth::__destruct — The destructor

Beschreibung

public void OAuth::__destruct ( void )

The destructor.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • OAuth::__construct() - Create a new OAuth object
OAuth::__construct
OAuth::disableDebug
OAuth


Turn off verbose debugging

OAuth::__destruct
OAuth::disableRedirects
OAuth
PHP Manual

OAuth::disableDebug

(PECL OAuth >= 0.99.3)

OAuth::disableDebug — Turn off verbose debugging

Beschreibung

public bool OAuth::disableDebug ( void )

Turns off verbose request information (off by default). Alternatively, the debug property can be set to a FALSE value to turn debug off.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE

Changelog

Version | Beschreibung
0.99.8 | The related debug property was added.

Siehe auch

  • OAuth::enableDebug() - Turn on verbose debugging

OAuth::__destruct
OAuth::disableRedirects
OAuth


Turn off redirects

OAuth::disableDebug
OAuth::disableSSLChecks
OAuth
PHP Manual

OAuth::disableRedirects

(PECL OAuth >= 0.99.9)

OAuth::disableRedirects — Turn off redirects

Beschreibung

public bool OAuth::disableRedirects ( void )

Disable redirects from being followed automatically, thus allowing the request to be manually redirected.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE

Siehe auch

  • OAuth::enableRedirects() - Turn on redirects
OAuth::disableDebug
OAuth::disableSSLChecks
OAuth


Turn off SSL checks

OAuth::disableRedirects
OAuth::enableDebug
OAuth
PHP Manual

OAuth::disableSSLChecks

(PECL OAuth >= 0.99.5)

OAuth::disableSSLChecks — Turn off SSL checks

Beschreibung

public bool OAuth::disableSSLChecks ( void )

Turns off the usual SSL peer certificate and host checks, this is not for production environments. Alternatively, the sslChecks member can be set to FALSE to turn SSL checks off.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE

Changelog

Version | Beschreibung
0.99.8 | The sslChecks member was added

Siehe auch

  • OAuth::enableSSLChecks() - Turn on SSL checks

OAuth::disableRedirects
OAuth::enableDebug
OAuth


Turn on verbose debugging

OAuth::disableSSLChecks
OAuth::enableRedirects
OAuth
PHP Manual

OAuth::enableDebug

(PECL OAuth >= 0.99.3)

OAuth::enableDebug — Turn on verbose debugging

Beschreibung

public bool OAuth::enableDebug ( void )

Turns on verbose request information useful for debugging, the debug information is stored in the debugInfo member. Alternatively, the debug member can be set to a non-FALSE value to turn debug on.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE

Changelog

Version | Beschreibung
0.99.8 | The debug and debugInfo members were added

Siehe auch

  • OAuth::disableDebug() - Turn off verbose debugging

OAuth::disableSSLChecks
OAuth::enableRedirects
OAuth


Turn on redirects

OAuth::enableDebug
OAuth::enableSSLChecks
OAuth
PHP Manual

OAuth::enableRedirects

(PECL OAuth >= 0.99.9)

OAuth::enableRedirects — Turn on redirects

Beschreibung

public bool OAuth::enableRedirects ( void )

Follow and sign redirects automatically, which is enabled by default.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE

Siehe auch

  • OAuth::disableRedirects() - Turn off redirects
OAuth::enableDebug
OAuth::enableSSLChecks
OAuth


Turn on SSL checks

OAuth::enableRedirects
OAuth::fetch
OAuth
PHP Manual

OAuth::enableSSLChecks

(PECL OAuth >= 0.99.5)

OAuth::enableSSLChecks — Turn on SSL checks

Beschreibung

public bool OAuth::enableSSLChecks ( void )

Turns on the usual SSL peer certificate and host checks (enabled by default). Alternatively, the sslChecks member can be set to a non-FALSE value to turn SSL checks off.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE

Changelog

Version | Beschreibung
0.99.8 | The sslChecks member was added

Siehe auch

  • OAuth::disableSSLChecks() - Turn off SSL checks

OAuth::enableRedirects
OAuth::fetch
OAuth


Fetch an OAuth protected resource

OAuth::enableSSLChecks
OAuth::generateSignature
OAuth
PHP Manual

OAuth::fetch

(PECL OAuth >= 0.99.1)

OAuth::fetch — Fetch an OAuth protected resource

Beschreibung

public mixed OAuth::fetch ( string $protected_resource_url [, array $extra_parameters [, string $http_method [, array $http_headers ]]] )

Fetch a resource.

Parameter-Liste

protected_resource_url

URL to the OAuth protected resource.

extra_parameters

Extra parameters to send with the request for the resource.

http_method

One of the OAUTH_HTTP_METHOD_* OAUTH constants, which includes GET, POST, PUT, HEAD, or DELETE.

HEAD (OAUTH_HTTP_METHOD_HEAD) can be useful for discovering information prior to the request (if OAuth credentials are in the Authorization header).

http_headers

HTTP client headers (such as User-Agent, Accept, etc.)

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
1.0.0 | Gab früher bei einem Fehler NULL anstelle von FALSE zurück.
0.99.5 | The http_method parameter was added
0.99.8 | The http_headers parameter was added

Beispiele

Beispiel #1 OAuth::fetch() example

<?php
try {
    $oauth = new OAuth("consumer_key","consumer_secret",OAUTH_SIG_METHOD_HMACSHA1,OAUTH_AUTH_TYPE_AUTHORIZATION);
    $oauth->setToken("access_token","access_token_secret");

    $oauth->fetch("http://photos.example.net/photo?file=vacation.jpg");

    $response_info = $oauth->getLastResponseInfo();
    header("Content-Type: {$response_info["content_type"]}");
    echo $oauth->getLastResponse();
} catch(OAuthException $E) {
    echo "Exception caught!\n";
    echo "Response: ". $E->lastResponse . "\n";
}
?>

Siehe auch

  • OAuth::getLastResponse() - Get the last response
  • OAuth::getLastResponseInfo() - Get HTTP information about the last response
  • OAuth::setToken() - Sets the token and secret

OAuth::enableSSLChecks
OAuth::generateSignature
OAuth


Generate a signature

OAuth::fetch
OAuth::getAccessToken
OAuth
PHP Manual

OAuth::generateSignature

(No version information available, might only be in Git)

OAuth::generateSignature — Generate a signature

Beschreibung

public string OAuth::generateSignature ( string $http_method , string $url [, mixed $extra_parameters ] )

Generate a signature based on the final HTTP method, URL and a string/array of parameters.

Parameter-Liste

http_method

HTTP method for request

url

URL for request

extra_parameters

String or array of additional parameters.

Rückgabewerte

A string containing the generated signatureIm Fehlerfall wird FALSE zurückgegeben.

OAuth::fetch
OAuth::getAccessToken
OAuth


Fetch an access token

OAuth::generateSignature
OAuth::getCAPath
OAuth
PHP Manual

OAuth::getAccessToken

(PECL OAuth >= 0.99.1)

OAuth::getAccessToken — Fetch an access token

Beschreibung

public array OAuth::getAccessToken ( string $access_token_url [, string $auth_session_handle [, string $verifier_token [, string $http_method ]]] )

Fetch an access token, secret and any additional response parameters from the service provider.

Parameter-Liste

access_token_url

URL to the access token API.

auth_session_handle

Authorization session handle, this parameter does not have any citation in the core OAuth 1.0 specification but may be implemented by large providers. » See ScalableOAuth for more information.

verifier_token

For service providers which support 1.0a, a verifier_token must be passed while exchanging the request token for the access token. If the verifier_token is present in $_GET or $_POST it is passed automatically and the caller does not need to specify a verifier_token (usually if the access token is exchanged at the oauth_callback URL). » See ScalableOAuth for more information.

http_method

HTTP method to use, e.g. GET or POST.

Rückgabewerte

Returns an array containing the parsed OAuth response on success or FALSE on failure.

Changelog

Version | Beschreibung
1.0.0 | Gab früher bei einem Fehler NULL anstelle von FALSE zurück.
0.99.9 | The verifier_token parameter was added

Beispiele

Beispiel #1 OAuth::getAccessToken() example

<?php
try {
    $oauth = new OAuth(OAUTH_CONSUMER_KEY,OAUTH_CONSUMER_SECRET);
    $oauth->setToken($request_token,$request_token_secret);
    $access_token_info = $oauth->getAccessToken("https://example.com/oauth/access_token");
    if(!empty($access_token_info)) {
        print_r($access_token_info);
    } else {
        print "Failed fetching access token, response was: " . $oauth->getLastResponse();
    }
} catch(OAuthException $E) {
    echo "Response: ". $E->lastResponse . "\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [oauth_token] => some_token
    [oauth_token_secret] => some_token_secret
)

Siehe auch

  • OAuth::getLastResponse() - Get the last response
  • OAuth::getLastResponseInfo() - Get HTTP information about the last response
  • OAuth::setToken() - Sets the token and secret

OAuth::generateSignature
OAuth::getCAPath
OAuth


Gets CA information

OAuth::getAccessToken
OAuth::getLastResponse
OAuth
PHP Manual

OAuth::getCAPath

(PECL OAuth >= 0.99.8)

OAuth::getCAPath — Gets CA information

Beschreibung

public array OAuth::getCAPath ( void )

Gets the Certificate Authority information, which includes the ca_path and ca_info set by OAuth::setCaPath().

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An array of Certificate Authority information, specifically as ca_path and ca_info keys within the returned associative array.

Siehe auch

  • OAuth::setCAPath() - Set CA path and info
  • OAuth::getLastResponseInfo() - Get HTTP information about the last response
OAuth::getAccessToken
OAuth::getLastResponse
OAuth


Get the last response

OAuth::getCAPath
OAuth::getLastResponseHeaders
OAuth
PHP Manual

OAuth::getLastResponse

(PECL OAuth >= 0.99.1)

OAuth::getLastResponse — Get the last response

Beschreibung

public string OAuth::getLastResponse ( void )

Get the raw response of the most recent request.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a string containing the last response.

Siehe auch

  • OAuth::getLastResponseInfo() - Get HTTP information about the last response
  • OAuth::fetch() - Fetch an OAuth protected resource

OAuth::getCAPath
OAuth::getLastResponseHeaders
OAuth


Get headers for last response

OAuth::getLastResponse
OAuth::getLastResponseInfo
OAuth
PHP Manual

OAuth::getLastResponseHeaders

(No version information available, might only be in Git)

OAuth::getLastResponseHeaders — Get headers for last response

Beschreibung

public string OAuth::getLastResponseHeaders ( void )

Get headers for last response.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A string containing the last response's headersIm Fehlerfall wird FALSE zurückgegeben.

OAuth::getLastResponse
OAuth::getLastResponseInfo
OAuth


Get HTTP information about the last response

OAuth::getLastResponseHeaders
OAuth::getRequestHeader
OAuth
PHP Manual

OAuth::getLastResponseInfo

(PECL OAuth >= 0.99.1)

OAuth::getLastResponseInfo — Get HTTP information about the last response

Beschreibung

public array OAuth::getLastResponseInfo ( void )

Get HTTP information about the last response.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns an array containing the response information for the last request. Constants from curl_getinfo() may be used.

Siehe auch

  • OAuth::fetch() - Fetch an OAuth protected resource
  • OAuth::getLastResponse() - Get the last response

OAuth::getLastResponseHeaders
OAuth::getRequestHeader
OAuth


Generate OAuth header string signature

OAuth::getLastResponseInfo
OAuth::getRequestToken
OAuth
PHP Manual

OAuth::getRequestHeader

(No version information available, might only be in Git)

OAuth::getRequestHeader — Generate OAuth header string signature

Beschreibung

public string OAuth::getRequestHeader ( string $http_method , string $url [, mixed $extra_parameters ] )

Generate OAuth header string signature based on the final HTTP method, URL and a string/array of parameters

Parameter-Liste

http_method

HTTP method for request.

url

URL for request.

extra_parameters

String or array of additional parameters.

Rückgabewerte

A string containing the generated request headerIm Fehlerfall wird FALSE zurückgegeben.

OAuth::getLastResponseInfo
OAuth::getRequestToken
OAuth


Fetch a request token

OAuth::getRequestHeader
OAuth::setAuthType
OAuth
PHP Manual

OAuth::getRequestToken

(PECL OAuth >= 0.99.1)

OAuth::getRequestToken — Fetch a request token

Beschreibung

public array OAuth::getRequestToken ( string $request_token_url [, string $callback_url [, string $http_method ]] )

Fetch a request token, secret and any additional response parameters from the service provider.

Parameter-Liste

request_token_url

URL to the request token API.

callback_url

OAuth callback URL. If callback_url is passed and is an empty value, it is set to "oob" to address the OAuth 2009.1 advisory.

http_method

HTTP method to use, e.g. GET or POST.

Rückgabewerte

Returns an array containing the parsed OAuth response on success or FALSE on failure.

Changelog

Version | Beschreibung
1.0.0 | Gab früher bei einem Fehler NULL anstelle von FALSE zurück.
0.99.9 | The callback_url parameter was added

Beispiele

Beispiel #1 OAuth::getRequestToken() example

<?php
try {
    $oauth = new OAuth(OAUTH_CONSUMER_KEY,OAUTH_CONSUMER_SECRET);
    $request_token_info = $oauth->getRequestToken("https://example.com/oauth/request_token");
    if(!empty($request_token_info)) {
        print_r($request_token_info);
    } else {
        print "Failed fetching request token, response was: " . $oauth->getLastResponse();
    }
} catch(OAuthException $E) {
    echo "Response: ". $E->lastResponse . "\n";
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [oauth_token] => some_token
    [oauth_token_secret] => some_token_secret
)

Siehe auch

  • OAuth::getLastResponse() - Get the last response
  • OAuth::getLastResponseInfo() - Get HTTP information about the last response

OAuth::getRequestHeader
OAuth::setAuthType
OAuth


Set authorization type

OAuth::getRequestToken
OAuth::setCAPath
OAuth
PHP Manual

OAuth::setAuthType

(PECL OAuth >= 0.99.1)

OAuth::setAuthType — Set authorization type

Beschreibung

public mixed OAuth::setAuthType ( int $auth_type )

Set where the OAuth parameters should be passed.

Parameter-Liste

auth_type

auth_type can be one of the following flags (in order of decreasing preference as per OAuth 1.0 section 5.2):

OAUTH_AUTH_TYPE_AUTHORIZATION
Pass the OAuth parameters in the HTTP Authorization header.
OAUTH_AUTH_TYPE_FORM
Append the OAuth parameters to the HTTP POST request body.
OAUTH_AUTH_TYPE_URI
Append the OAuth parameters to the request URI.
OAUTH_AUTH_TYPE_NONE
None.

Rückgabewerte

Returns TRUE if a parameter is correctly set, otherwise FALSE (e.g., if an invalid auth_type is passed in.)

Changelog

Version | Beschreibung
1.0.0 | Gab früher bei einem Fehler NULL anstelle von FALSE zurück.

OAuth::getRequestToken
OAuth::setCAPath
OAuth


Set CA path and info

OAuth::setAuthType
OAuth::setNonce
OAuth
PHP Manual

OAuth::setCAPath

(PECL OAuth >= 0.99.8)

OAuth::setCAPath — Set CA path and info

Beschreibung

public mixed OAuth::setCAPath ([ string $ca_path [, string $ca_info ]] )

Sets the Certificate Authority (CA), both for path and info.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

ca_path

The CA Path being set.

ca_info

The CA Info being set.

Rückgabewerte

Returns TRUE on success, or FALSE if either ca_path or ca_info are considered invalid.

Changelog

Version | Beschreibung
1.0.0 | Gab früher bei einem Fehler NULL anstelle von FALSE zurück.

Siehe auch

  • OAuth::getCaPath() - Gets CA information
OAuth::setAuthType
OAuth::setNonce
OAuth


Set the nonce for subsequent requests

OAuth::setCAPath
OAuth::setRequestEngine
OAuth
PHP Manual

OAuth::setNonce

(PECL OAuth >= 0.99.1)

OAuth::setNonce — Set the nonce for subsequent requests

Beschreibung

public mixed OAuth::setNonce ( string $nonce )

Sets the nonce for all subsequent requests.

Parameter-Liste

nonce

The value for oauth_nonce.

Rückgabewerte

Returns TRUE on success, or FALSE if the nonce is considered invalid.

Changelog

Version | Beschreibung
1.0.0 | Gab früher bei einem Fehler NULL anstelle von FALSE zurück.

Siehe auch

  • OAuth::setToken() - Sets the token and secret
  • OAuth::setAuthType() - Set authorization type
  • OAuth::setVersion() - Set the OAuth version

OAuth::setCAPath
OAuth::setRequestEngine
OAuth


The setRequestEngine purpose

OAuth::setNonce
OAuth::setRSACertificate
OAuth
PHP Manual

OAuth::setRequestEngine

(PECL OAuth >= 1.0.0)

OAuth::setRequestEngine — The setRequestEngine purpose

Beschreibung

public void OAuth::setRequestEngine ( int $reqengine )

Sets the Request Engine, that will be sending the HTTP requests.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

reqengine

The desired request engine. Set to OAUTH_REQENGINE_STREAMS to use PHP Streams, or OAUTH_REQENGINE_CURL to use Curl.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

Emits an OAuthException exception if an invalid request engine is chosen.

Beispiele

Beispiel #1 OAuth::setRequestEngine() example

<?php
$consumer = new OAuth();

$consumer->setRequestEngine(OAUTH_REQENGINE_STREAMS);
?>

Siehe auch

  • Curl
  • PHP streams
  • OAuthException
OAuth::setNonce
OAuth::setRSACertificate
OAuth


Set the RSA certificate

OAuth::setRequestEngine
OAuth::setSSLChecks
OAuth
PHP Manual

OAuth::setRSACertificate

(PECL OAuth >= 1.0.0)

OAuth::setRSACertificate — Set the RSA certificate

Beschreibung

public mixed OAuth::setRSACertificate ( string $cert )

Sets the RSA certificate.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

cert

The RSA certificate.

Rückgabewerte

Returns TRUE on success, or FALSE on failure (e.g., the RSA certificate cannot be parsed.)

Changelog

Version | Beschreibung
1.0.0 | Gab früher bei einem Fehler NULL anstelle von FALSE zurück.

Beispiele

Beispiel #1 An OAuth::setRsaCertificate() example

<?php
$consume = new OAuth('1234', '', OAUTH_SIG_METHOD_RSASHA1);

$consume->setRSACertificate(file_get_contents('test.pem'));
?>

Siehe auch

  • OAuth::setCaPath() - Set CA path and info
OAuth::setRequestEngine
OAuth::setSSLChecks
OAuth


Tweak specific SSL checks for requests.

OAuth::setRSACertificate
OAuth::setTimestamp
OAuth
PHP Manual

OAuth::setSSLChecks

(No version information available, might only be in Git)

OAuth::setSSLChecks — Tweak specific SSL checks for requests.

Beschreibung

public bool OAuth::setSSLChecks ( int $sslcheck )

Tweak specific SSL checks for requests.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

sslcheck

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

OAuth::setRSACertificate
OAuth::setTimestamp
OAuth


Set the timestamp

OAuth::setSSLChecks
OAuth::setToken
OAuth
PHP Manual

OAuth::setTimestamp

(PECL OAuth >= 1.0.0)

OAuth::setTimestamp — Set the timestamp

Beschreibung

public mixed OAuth::setTimestamp ( string $timestamp )

Sets the OAuth timestamp for subsequent requests.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

timestamp

The timestamp.

Rückgabewerte

Returns TRUE, unless the timestamp is invalid, in which case FALSE is returned.

Changelog

Version | Beschreibung
1.0.0 | Gab früher bei einem Fehler NULL anstelle von FALSE zurück.

Siehe auch

  • OAuth::setNonce() - Set the nonce for subsequent requests
OAuth::setSSLChecks
OAuth::setToken
OAuth


Sets the token and secret

OAuth::setTimestamp
OAuth::setVersion
OAuth
PHP Manual

OAuth::setToken

(PECL OAuth >= 0.99.1)

OAuth::setToken — Sets the token and secret

Beschreibung

public bool OAuth::setToken ( string $token , string $token_secret )

Set the token and secret for subsequent requests.

Parameter-Liste

token

The OAuth token.

token_secret

The OAuth token secret.

Rückgabewerte

TRUE

Beispiele

Beispiel #1 OAuth::setToken() example

<?php
$oauth = new OAuth(OAUTH_CONSUMER_KEY,OAUTH_CONSUMER_SECRET);
$oauth->setToken("token","token-secret");
?>

OAuth::setTimestamp
OAuth::setVersion
OAuth


Set the OAuth version

OAuth::setToken
OAuthProvider
OAuth
PHP Manual

OAuth::setVersion

(PECL OAuth >= 0.99.1)

OAuth::setVersion — Set the OAuth version

Beschreibung

public bool OAuth::setVersion ( string $version )

Sets the OAuth version for subsequent requests

Parameter-Liste

version

OAuth version, default value is always "1.0"

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

OAuth::setToken
OAuthProvider
OAuth


The OAuthProvider class

(PECL OAuth >= 1.0.0)

Einführung

Manages an OAuth provider class.

See also an external in-depth tutorial titled » Writing an OAuth Provider Service, which takes a hands-on approach to providing this service. There are also » OAuth provider examples within the OAuth extensions sources.

Klassenbeschreibung

OAuthProvider {
/* Methods */
final public bool addRequiredParameter ( string $req_params )
public void callconsumerHandler ( void )
public void callTimestampNonceHandler ( void )
public void calltokenHandler ( void )
public void checkOAuthRequest ([ string $uri [, string $method ]] )
public __construct ([ array $params_array ] )
public void consumerHandler ( callable $callback_function )
final public static string generateToken ( int $size [, bool $strong = false ] )
public void is2LeggedEndpoint ( mixed $params_array )
public void isRequestTokenEndpoint ( bool $will_issue_request_token )
final public bool removeRequiredParameter ( string $req_params )
final public static string reportProblem ( string $oauthexception [, bool $send_headers = true ] )
final public bool setParam ( string $param_key [, mixed $param_val ] )
final public bool setRequestTokenPath ( string $path )
public void timestampNonceHandler ( callable $callback_function )
public void tokenHandler ( callable $callback_function )
}

Inhaltsverzeichnis

  • OAuthProvider::addRequiredParameter — Add required parameters
  • OAuthProvider::callconsumerHandler — Calls the consumerNonceHandler callback
  • OAuthProvider::callTimestampNonceHandler — Calls the timestampNonceHandler callback
  • OAuthProvider::calltokenHandler — Calls the tokenNonceHandler callback
  • OAuthProvider::checkOAuthRequest — Check an oauth request
  • OAuthProvider::__construct — Constructs a new OAuthProvider object
  • OAuthProvider::consumerHandler — Set the consumerHandler handler callback
  • OAuthProvider::generateToken — Generate a random token
  • OAuthProvider::is2LeggedEndpoint — is2LeggedEndpoint
  • OAuthProvider::isRequestTokenEndpoint — Sets isRequestTokenEndpoint
  • OAuthProvider::removeRequiredParameter — Remove a required parameter
  • OAuthProvider::reportProblem — Report a problem
  • OAuthProvider::setParam — Set a parameter
  • OAuthProvider::setRequestTokenPath — Set request token path
  • OAuthProvider::timestampNonceHandler — Set the timestampNonceHandler handler callback
  • OAuthProvider::tokenHandler — Set the tokenHandler handler callback
OAuth::setVersion
OAuthProvider::addRequiredParameter
OAuth


Add required parameters

OAuthProvider
OAuthProvider::callconsumerHandler
OAuthProvider
PHP Manual

OAuthProvider::addRequiredParameter

(PECL OAuth >= 1.0.0)

OAuthProvider::addRequiredParameter — Add required parameters

Beschreibung

final public bool OAuthProvider::addRequiredParameter ( string $req_params )

Add required oauth provider parameters.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

req_params

The required parameters.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • OAuthProvider::removeRequiredParameter() - Remove a required parameter
OAuthProvider
OAuthProvider::callconsumerHandler
OAuthProvider


Calls the consumerNonceHandler callback

OAuthProvider::addRequiredParameter
OAuthProvider::callTimestampNonceHandler
OAuthProvider
PHP Manual

OAuthProvider::callconsumerHandler

(No version information available, might only be in Git)

OAuthProvider::callconsumerHandler — Calls the consumerNonceHandler callback

Beschreibung

public void OAuthProvider::callconsumerHandler ( void )

Calls the registered consumer handler callback function, which is set with OAuthProvider::consumerHandler().

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

Gibt einen Fehler der Stufe E_ERROR aus, wenn die Callback-Funktion nicht aufgerufen werden kann oder nicht angegeben wurde.

Siehe auch

  • OAuthProvider::consumerHandler() - Set the consumerHandler handler callback
OAuthProvider::addRequiredParameter
OAuthProvider::callTimestampNonceHandler
OAuthProvider


Calls the timestampNonceHandler callback

OAuthProvider::callconsumerHandler
OAuthProvider::calltokenHandler
OAuthProvider
PHP Manual

OAuthProvider::callTimestampNonceHandler

(PECL OAuth >= 1.0.0)

OAuthProvider::callTimestampNonceHandler — Calls the timestampNonceHandler callback

Beschreibung

public void OAuthProvider::callTimestampNonceHandler ( void )

Calls the registered timestamp handler callback function, which is set with OAuthProvider::timestampNonceHandler().

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

Gibt einen Fehler der Stufe E_ERROR aus, wenn die Callback-Funktion nicht aufgerufen werden kann oder nicht angegeben wurde.

Siehe auch

  • OAuthProvider::timestampNonceHandler() - Set the timestampNonceHandler handler callback
OAuthProvider::callconsumerHandler
OAuthProvider::calltokenHandler
OAuthProvider


Calls the tokenNonceHandler callback

OAuthProvider::callTimestampNonceHandler
OAuthProvider::checkOAuthRequest
OAuthProvider
PHP Manual

OAuthProvider::calltokenHandler

(PECL OAuth >= 1.0.0)

OAuthProvider::calltokenHandler — Calls the tokenNonceHandler callback

Beschreibung

public void OAuthProvider::calltokenHandler ( void )

Calls the registered token handler callback function, which is set with OAuthProvider::tokenHandler().

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

Gibt einen Fehler der Stufe E_ERROR aus, wenn die Callback-Funktion nicht aufgerufen werden kann oder nicht angegeben wurde.

Siehe auch

  • OAuthProvider::tokenHandler() - Set the tokenHandler handler callback
OAuthProvider::callTimestampNonceHandler
OAuthProvider::checkOAuthRequest
OAuthProvider


Check an oauth request

OAuthProvider::calltokenHandler
OAuthProvider::__construct
OAuthProvider
PHP Manual

OAuthProvider::checkOAuthRequest

(PECL OAuth >= 1.0.0)

OAuthProvider::checkOAuthRequest — Check an oauth request

Beschreibung

public void OAuthProvider::checkOAuthRequest ([ string $uri [, string $method ]] )

Checks an OAuth request.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

uri

The optional URI, or endpoint.

method

The HTTP method. Optionally pass in one of the OAUTH_HTTP_METHOD_* OAuth constants.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

Emits an E_ERROR level error if the HTTP method cannot be detected.

Siehe auch

  • OAuthProvider::reportProblem() - Report a problem
OAuthProvider::calltokenHandler
OAuthProvider::__construct
OAuthProvider


Constructs a new OAuthProvider object

OAuthProvider::checkOAuthRequest
OAuthProvider::consumerHandler
OAuthProvider
PHP Manual

OAuthProvider::__construct

(PECL OAuth >= 1.0.0)

OAuthProvider::__construct — Constructs a new OAuthProvider object

Beschreibung

public OAuthProvider::__construct ([ array $params_array ] )

Initiates a new OAuthProvider object.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

params_array

Setting these optional parameters is limited to the CLI SAPI.

Rückgabewerte

An OAuthProvider object.

Beispiele

Beispiel #1 OAuthProvider::__construct() example

<?php
try {

    $op = new OAuthProvider();

    // Uses user-defined callback functions
    $op->consumerHandler(array($this, 'lookupConsumer'));
    $op->timestampNonceHandler(array($this, 'timestampNonceChecker'));
    $op->tokenHandler(array($this, 'myTokenHandler'));

    // Ignore the foo_uri parameter
    $op->setParam('foo_uri', NULL);

    // No token needed for this end point
    $op->setRequestTokenPath('/v1/oauth/request_token');

    $op->checkOAuthRequest();

} catch (OAuthException $e) {

    echo OAuthProvider::reportProblem($e);
}
?>

Siehe auch

  • OAuthProvider::setParam() - Set a parameter
OAuthProvider::checkOAuthRequest
OAuthProvider::consumerHandler
OAuthProvider


Set the consumerHandler handler callback

OAuthProvider::__construct
OAuthProvider::generateToken
OAuthProvider
PHP Manual

OAuthProvider::consumerHandler

(PECL OAuth >= 1.0.0)

OAuthProvider::consumerHandler — Set the consumerHandler handler callback

Beschreibung

public void OAuthProvider::consumerHandler ( callable $callback_function )

Sets the consumer handler callback, which will later be called with OAuthProvider::callConsumerHandler().

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

callback_function

The callable functions name.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Example OAuthProvider::consumerHandler() callback

<?php
function lookupConsumer($provider) {

    if ($provider->consumer_key === 'unknown') {
        return OAUTH_CONSUMER_KEY_UNKNOWN;
    } else if($provider->consumer_key == 'blacklisted' || $provider->consumer_key === 'throttled') {
        return OAUTH_CONSUMER_KEY_REFUSED;
    }

    $provider->consumer_secret = "the_consumers_secret";

    return OAUTH_OK;
}
?>

Siehe auch

  • OAuthProvider::callConsumerHandler() - Calls the consumerNonceHandler callback
OAuthProvider::__construct
OAuthProvider::generateToken
OAuthProvider


Generate a random token

OAuthProvider::consumerHandler
OAuthProvider::is2LeggedEndpoint
OAuthProvider
PHP Manual

OAuthProvider::generateToken

(PECL OAuth >= 1.0.0)

OAuthProvider::generateToken — Generate a random token

Beschreibung

final public static string OAuthProvider::generateToken ( int $size [, bool $strong = false ] )

Generates a string of pseudo-random bytes.

Parameter-Liste

size

The desired token length, in terms of bytes.

strong

Setting to TRUE means /dev/random will be used for entropy, as otherwise the non-blocking /dev/urandom is used. This parameter is ignored on Windows.

Rückgabewerte

The generated token, as a string of bytes.

Fehler/Exceptions

If the strong parameter is TRUE, then an E_WARNING level error will be emitted when the fallback rand() implementation is used to fill the remaining random bytes (e.g., when not enough random data was found, initially).

Beispiele

Beispiel #1 OAuthProvider::generateToken() example

<?php
$p = new OAuthProvider();

$t = $p->generateToken(4);

echo strlen($t),  PHP_EOL;
echo bin2hex($t), PHP_EOL;

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

4
b6a82c27

Anmerkungen

Hinweis:

When not enough random data is available to the system, this function will fill the remaining random bytes using the internal PHP rand() implementation.

Siehe auch

  • openssl_random_pseudo_bytes() - Generate a pseudo-random string of bytes
  • mcrypt_create_iv() - Creates an initialization vector (IV) from a random source
OAuthProvider::consumerHandler
OAuthProvider::is2LeggedEndpoint
OAuthProvider


is2LeggedEndpoint

OAuthProvider::generateToken
OAuthProvider::isRequestTokenEndpoint
OAuthProvider
PHP Manual

OAuthProvider::is2LeggedEndpoint

(PECL OAuth >= 1.0.0)

OAuthProvider::is2LeggedEndpoint — is2LeggedEndpoint

Beschreibung

public void OAuthProvider::is2LeggedEndpoint ( mixed $params_array )

The 2-legged flow, or request signing. It does not require a token.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

params_array

Rückgabewerte

An OAuthProvider object.

Beispiele

Beispiel #1 OAuthProvider::is2LeggedEndpoint() example

<?php

$provider = new OAuthProvider();

$provider->is2LeggedEndpoint(true);

?>

Siehe auch

  • OAuthProvider::__construct() - Constructs a new OAuthProvider object
OAuthProvider::generateToken
OAuthProvider::isRequestTokenEndpoint
OAuthProvider


Sets isRequestTokenEndpoint

OAuthProvider::is2LeggedEndpoint
OAuthProvider::removeRequiredParameter
OAuthProvider
PHP Manual

OAuthProvider::isRequestTokenEndpoint

(PECL OAuth >= 1.0.0)

OAuthProvider::isRequestTokenEndpoint — Sets isRequestTokenEndpoint

Beschreibung

public void OAuthProvider::isRequestTokenEndpoint ( bool $will_issue_request_token )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

will_issue_request_token

Sets whether or not it will issue a request token, thus determining if OAuthProvider::tokenHandler() needs to be called.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • OAuthProvider::setRequestTokenPath() - Set request token path
  • OAuthProvider::reportProblem() - Report a problem
OAuthProvider::is2LeggedEndpoint
OAuthProvider::removeRequiredParameter
OAuthProvider


Remove a required parameter

OAuthProvider::isRequestTokenEndpoint
OAuthProvider::reportProblem
OAuthProvider
PHP Manual

OAuthProvider::removeRequiredParameter

(PECL OAuth >= 1.0.0)

OAuthProvider::removeRequiredParameter — Remove a required parameter

Beschreibung

final public bool OAuthProvider::removeRequiredParameter ( string $req_params )

Removes a required parameter.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

req_params

The required parameter to be removed.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • OAuthProvider::setParam() - Set a parameter
  • OAuthProvider::addRequiredParameter() - Add required parameters
OAuthProvider::isRequestTokenEndpoint
OAuthProvider::reportProblem
OAuthProvider


Report a problem

OAuthProvider::removeRequiredParameter
OAuthProvider::setParam
OAuthProvider
PHP Manual

OAuthProvider::reportProblem

(PECL OAuth >= 1.0.0)

OAuthProvider::reportProblem — Report a problem

Beschreibung

final public static string OAuthProvider::reportProblem ( string $oauthexception [, bool $send_headers = true ] )

Pass in a problem as an OAuthException, with possible problems listed in the OAuth constants section.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

oauthexception

The OAuthException.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • OAuthProvider::checkOAuthRequest() - Check an oauth request
  • OAuthProvider::isRequestTokenEndpoint() - Sets isRequestTokenEndpoint
OAuthProvider::removeRequiredParameter
OAuthProvider::setParam
OAuthProvider


Set a parameter

OAuthProvider::reportProblem
OAuthProvider::setRequestTokenPath
OAuthProvider
PHP Manual

OAuthProvider::setParam

(PECL OAuth >= 1.0.0)

OAuthProvider::setParam — Set a parameter

Beschreibung

final public bool OAuthProvider::setParam ( string $param_key [, mixed $param_val ] )

Sets a parameter.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

param_key

The parameter key.

param_val

The optional parameter value.

To exclude a parameter from signature verification, set its value to NULL.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • OAuthProvider::addRequiredParameter() - Add required parameters
OAuthProvider::reportProblem
OAuthProvider::setRequestTokenPath
OAuthProvider


Set request token path

OAuthProvider::setParam
OAuthProvider::timestampNonceHandler
OAuthProvider
PHP Manual

OAuthProvider::setRequestTokenPath

(PECL OAuth >= 1.0.0)

OAuthProvider::setRequestTokenPath — Set request token path

Beschreibung

final public bool OAuthProvider::setRequestTokenPath ( string $path )

Sets the request tokens path.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

path

The path.

Rückgabewerte

TRUE

Siehe auch

  • OAuthProvider::tokenHandler() - Set the tokenHandler handler callback
OAuthProvider::setParam
OAuthProvider::timestampNonceHandler
OAuthProvider


Set the timestampNonceHandler handler callback

OAuthProvider::setRequestTokenPath
OAuthProvider::tokenHandler
OAuthProvider
PHP Manual

OAuthProvider::timestampNonceHandler

(PECL OAuth >= 1.0.0)

OAuthProvider::timestampNonceHandler — Set the timestampNonceHandler handler callback

Beschreibung

public void OAuthProvider::timestampNonceHandler ( callable $callback_function )

Sets the timestamp nonce handler callback, which will later be called with OAuthProvider::callTimestampNonceHandler(). Errors related to timestamp/nonce are thrown to this callback.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

callback_function

The callable functions name.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Example OAuthProvider::timestampNonceHandler() callback

<?php
function timestampNonceChecker($provider) {

    if ($provider->nonce === 'bad') {
        return OAUTH_BAD_NONCE;
    } elseif ($provider->timestamp == '0') {
        return OAUTH_BAD_TIMESTAMP;
    }

    return OAUTH_OK;
}
?>

Siehe auch

  • OAuthProvider::callTimestampNonceHandler() - Calls the timestampNonceHandler callback
OAuthProvider::setRequestTokenPath
OAuthProvider::tokenHandler
OAuthProvider


Set the tokenHandler handler callback

OAuthProvider::timestampNonceHandler
OAuthException
OAuthProvider
PHP Manual

OAuthProvider::tokenHandler

(PECL OAuth >= 1.0.0)

OAuthProvider::tokenHandler — Set the tokenHandler handler callback

Beschreibung

public void OAuthProvider::tokenHandler ( callable $callback_function )

Sets the token handler callback, which will later be called with OAuthProvider::callTokenHandler().

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

callback_function

The callable functions name.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Example OAuthProvider::tokenHandler() callback

<?php
function tokenHandler($provider) {

    if ($provider->token === 'rejected') {
        return OAUTH_TOKEN_REJECTED;
    } elseif ($provider->token === 'revoked') {
        return OAUTH_TOKEN_REVOKED;
    }

    $provider->token_secret = "the_tokens_secret";
    return OAUTH_OK;
}
?>

Siehe auch

  • OAuthProvider::callTokenHandler() - Calls the tokenNonceHandler callback
OAuthProvider::timestampNonceHandler
OAuthException
OAuthProvider


OAuthException class

(PECL OAuth >= 0.99.1)

Einführung

This exception is thrown when exceptional errors occur while using the OAuth extension and contains useful debugging information.

Klassenbeschreibung

OAuthException extends Exception {
/* Eigenschaften */
public $lastResponse ;
public $debugInfo ;
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Eigenschaften

lastResponse

The response of the exception which occurred, if any

debugInfo

OAuthProvider::tokenHandler
SCA
OAuth


SCA

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • The structure of a Service Component
    • Obtaining a proxy for another Service Component
    • Calling another Service Component
    • Locating and calling services from a script which is not an SCA Component
    • Exposing a Service Component as a Web service
    • Deploying an SCA component
    • Obtaining the WSDL for an SCA component offering a Service as a Web service
    • Understanding how the WSDL is generated
    • Working with Data Structures
    • Error handling
  • SCA Funktionen
    • SCA::createDataObject — create an SDO
    • SCA::getService — Obtain a proxy for a service
    • SCA_LocalProxy::createDataObject — create an SDO
    • SCA_SoapProxy::createDataObject — create an SDO
OAuthException
Einführung
Web Services


Einführung

Warnung

Diese Erweiterung ist EXPERIMENTELL. Das Verhalten dieser Erweiterung, einschließlich der Funktionsnamen, und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Erweiterung auf eigenes Risiko.

SCA for PHP makes it possible for a PHP programmer to write reusable components, which can be called in a variety of ways, with an identical interface and with a minimum of fuss. At present components can call each other either locally or via Web services, but in the future it is expected that other ways will be possible. It provides the programmer with a way of doing this which will look as natural as possible in PHP.

SCA components use phpDocumentor-style (see http://www.phpdoc.org/) annotations to declare dependencies on other SCA components or Web services. The SCA for PHP runtime resolves these dependencies at runtime on behalf of the components, and thus allows the PHP programmer to focus on the business logic rather than on locating and obtaining references to dependencies.

The SCA for PHP programming model can be extended to support a number of service types, such as REST and Atompub. However, Web services (more accurately, WSDL defined, SOAP/HTTP services), are the only type currently specified.

Components also use annotations to define the interface which they expose as a service. The SCA for PHP runtime will automatically generate WSDL from these annotations, so that an SCA component is easily exposed as a web service. These annotations are a natural extension to those provided by phpDocumentor. Deploying a Web service can be as simple as placing a PHP component under the document root of a web server.

Components also use annotations to specify data structures (expressed using XML schema complex types) which are then handled using Service Data Objects (SDOs).

A PHP script which is not an SCA component and which contains no annotations can use the services of an SCA component. A PHP script or component can make calls to a web service that is not an SCA component, but using the same system of calls or annotations to obtain a reference.

First we show a single SCA component, ConvertedStockQuote which illustrates many of the features of SCA for PHP. It has one method, getQuote(), which given a stock "ticker" obtains a price quote for that stock, converted to a given currency. We shall be using this example as a basis for explaining the SCA for PHP throughout the rest of this document.

Beispiel #1 A sample SCA component

<?php

include "SCA/SCA.php";

/**
 * Calculate a stock price for a given ticker symbol in a given currency.
 *
 * @service
 * @binding.soap
 */
class ConvertedStockQuote {

    /**
     * The currency exchange rate service to use.
     *
     * @reference
     * @binding.php ../ExchangeRate/ExchangeRate.php
     */
    public $exchange_rate;

    /**
     * The stock quote service to use.
     *
     * @reference
     * @binding.soap ../StockQuote/StockQuote.wsdl
     */
    public $stock_quote;

    /**
     * Get a stock quote for a given ticker symbol in a given currency.
     *
     * @param string $ticker The ticker symbol.
     * @param string $currency What currency to convert the value to.
     * @return float The stock value is the target currency.
     */
    function getQuote($ticker, $currency)
    {
        $quote  = $this->stock_quote->getQuote($ticker);
        $rate   = $this->exchange_rate->getRate($currency);
        return  $rate * $quote;
    }
}
?>

In this example, we see that an SCA component is implemented by a script containing a PHP class and includes SCA.php. The class contains a mixture of business logic and references to other components or services. In the illustrated getQuote() method there is only business logic, but it relies on the instance variables $stock_quote and $exchange_rate having been initialized. These refer to two other components and will be initialized by the SCA runtime with proxies for these two services, whenever this component executes. The annotations for these two services show one to be a local component, which will be called within the same PHP runtime, and one to be a remote component which will be called via a SOAP request. This component also exposes the getQuote() method both locally and as a web service, so it in turn can be called either locally or remotely.

SCA
Installation/Konfiguration
SCA


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
SCA


Anforderungen

If you want to use SCA to consume or produce Web services then you need PHP 5.2.0 or later, built with the soap extension enabled. If you just want to use local components, and do not wish to use the Web service bindings, then this version of SCA for PHP will also run with PHP 5.1.6.

SCA is packaged along with SDO in one combined package on PECL. See http://www.php.net/sdo#sdo.installation for installing the SCA_SDO package from PECL. The SCA code must be on the include path of your PHP installation, for example if it is installed as /usr/local/lib/php/SCA, the include_path directive must include /usr/local/lib/php

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/sca.

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
Beispiele
SCA


Beispiele

Inhaltsverzeichnis

  • The structure of a Service Component
  • Obtaining a proxy for another Service Component
  • Calling another Service Component
  • Locating and calling services from a script which is not an SCA Component
  • Exposing a Service Component as a Web service
  • Deploying an SCA component
  • Obtaining the WSDL for an SCA component offering a Service as a Web service
  • Understanding how the WSDL is generated
  • Working with Data Structures
  • Error handling

The examples in the subsequent sections illustrate the following aspects of PHP for SCA:

  • How PHP annotations are used to define PHP classes as SCA components, and how annotations are used to define the services.

  • How an SCA component can be exposed as a Web service

  • How an SCA component can consume a Web service, whether provided by another SCA component or by some other service which knows nothing of SCA

  • How an SCA component can call another SCA component locally (within the same process and on the same call stack)

  • How a client script which is not an SCA component can use the getService call to obtain a proxy for an SCA component.

  • How data structures such as Addresses, or Puchase Orders, are represented as Service Data Objects, and handled.

  • How SCA components are deployed, and in particular how and when WSDL is generated for a service.

  • How parameters are always passed by value (and not by reference) between components, even when the calls are local. This ensures that the semantics of a call do not change depending on the location of a component.

  • How positional parameters to a service are supported, even when the underlying WSDL is document literal wrapped, and naturally supports only named parameters.

  • How business and runtime exceptions are handled.

Vordefinierte Konstanten
The structure of a Service Component
SCA


The structure of a Service Component

A service component is implemented by a class. To identify it as a service component, it contains an @service annotation. The SCA runtime will use the file name of the script to determine the component name, by convention. The class and script file must therefore share the same name.

PHP SCA components always expose a service, and there is no way for a component to be invoked other than to be called as a result of a Web service request, or called directly from another component or from a script. For this reason a valid PHP SCA component will always contain an @service annotation and at least one public method.

Each SCA Component requires that the SCA.php script is included. As well as containing the definition of the SCA class, this script contains executable PHP code that will run whenever the script is called, and which will be responsible for making the component behave as needed.

Achtung

It is very important that if your file contains other includes, they come before the include for SCA.php. If there are includes after the include for SCA.php, they will not have been processed when the SCA runtime runs your class.

The example below illustrates this overall structure

Beispiel #1 The structure of an SCA for PHP component

<?php

// any includes

include "SCA/SCA.php";

/**
 * @service
 */

class ConvertedStockQuote {

       // instance variables, business logic, including at least one public method

}
?>

Beispiele
Obtaining a proxy for another Service Component
Beispiele


Obtaining a proxy for another Service Component

One SCA component can call the service provided by another SCA component. The service a component provides is made up of all of its public methods. SCA for PHP currently provides two ways for one component to call another: either locally (i.e. within the same PHP run-time, and on the same call stack) or remotely if the called component exposes a Web service binding.

In order for one component to call another, the calling component needs a proxy for the called component. This proxy is usually provided as an instance variable in the calling component, though proxies can also be obtained with the SCA::getService() call, as we shall see later. When a component is constructed, proxies are constructed for any instance variable which refer to another component, and these proxies are "injected" into the instance variables. Proxies are always used, whether the component is local or remote, in order to provide identical calling behavior between remote and local calls (for example, local calls are made to always pass data by-value). The proxies know how to locate the required component and to pass the calls made on to them.

Instance variables which are intended to hold proxies for services are indicated by the two PHPDocumentor-style annotations, @reference and @binding. Both annotations are placed in the documentation section for a class instance variable, as shown by the code below.

The @reference annotation before an instance variable indicates that the instance variable is to be initialized with a proxy to a component.

The @binding annotation has two forms @binding.php and @binding.soap, and indicates that the proxy is either for a local component or for a Web service respectively. For both @binding.php and @binding.soap, the annotation gives a target URI.

At the moment, with the annotation-based method of specifying dependencies, the only way to alter the intended target of a reference is to alter the annotation within the component.

In our ConvertedStockQuote example, the $exchange_rate instance variable will be initialized with a proxy to the local ExchangeRate component whenever an instance of the ConvertedStockQuote is constructed.

Beispiel #1 Obtaining a proxy for a local PHP class

<?php
   /**
     * The currency exchange rate service to use.
     *
     * @reference
     * @binding.php ../ExchangeRate/ExchangeRate.php
     */
    public $exchange_rate;
?>

For @binding.php, the URI identifies the location of the script containing the implementation of the component. The component will be called locally. The service provided is the set of public methods of the component. The URI must be a simple pathname, either absolute or relative. The component will be loaded with the PHP include directive, after testing to see if it is already loaded with class_exists(). If the URI is a relative path, it is resolved relative to the component containing the annotation. Note that this is different from the normal PHP behaviour where scripts would be looked for along the PHP include_path, This is intended to provide some location-independence for cross-component references.

If this ExchangeRate service were remote and to be called as a Web service, only the @binding line changes. Instead of giving the location of a PHP class, it gives the location of the WSDL describing the web service. In our example component, this is illustrated by the second reference:

Beispiel #2 Obtaining a proxy for a web service

<?php
/**
     * The stock quote service to use.
     *
     * @reference
     * @binding.soap ../StockQuote/StockQuote.wsdl
     */
    public $stock_quote;
?>

The StockQuote component will be called via a Web service request. In this case the URI for the WSDL can be a simple pathname, or may contain a PHP wrapper and begin, for example, with file:// or http://. In the event that it is a simple pathname, it can be absolute or relative, and if relative will be resolved relative to the component containing the annotation. Note that this is like the behaviour for @binding.php, and different from the normal PHP behaviour where the file would be looked for relative to the PHP current working directory, which would usually be the location of the first script to be called. This behaviour is intended to give consistency across the different bindings and to provide some location-independence for references between components.

The structure of a Service Component
Calling another Service Component
Beispiele


Calling another Service Component

The ConvertedStockQuote example also calls the proxies for the two components to which it refers.

Beispiel #1 Calling services

<?php
$quote  = $this->stock_quote->getQuote($ticker);
$rate   = $this->exchange_rate->getRate($currency);
?>

The call to the StockQuote service is a call to a local service; the call to the ExchangeRate service is a call to a remote service. Note that the way the call is made looks the same regardless of whether the call is to a local service or a remote one.

The proxies which have been injected ensure that the way calls to components look and behave are the same way regardless of whether they are to a local or remote service, so that components are not sensitive to whether a call is to a local or a remote service. For example, the proxy for a local service takes copies of the arguments and passes only those copies, to ensure that calls are made to be pass-by-value, as they would be for a remote call. Also, the proxy for a remote service takes the arguments from a positional parameter list and ensures they are packaged properly in a SOAP request and converted back to a positional parameter list at the far end.

In the example above, the $ticker and $currency are clearly PHP scalar types. Components can pass the PHP scalar types string, integer, float and boolean, but data structures on service calls are always passed as Service Data Objects (SDOs). A later section describes how a component can create an SDO to pass on a local or Web service call, or how a component can create an SDO to return. The PHP SDO project documentation describes how to work with the SDO APIs (see the SDO pages).

Obtaining a proxy for another Service Component
Locating and calling services from a script which is not an SCA Component
Beispiele


Locating and calling services from a script which is not an SCA Component

SCA components obtain proxies for other components or services as instance variables annotated with @reference, but this is not possible for a script that is not itself also a component. A client script which is not a component must use the SCA::getService() static method to obtain a proxy for a service, whether local or remote. The getService() method takes a URI as the argument. Typically this is the location of a local PHP script containing a component, or of a wsdl file, and is used in exactly the same way as the targets of the @binding annotations described in the previous section: that is, relative URIs are resolved against the location of the client script and not against the PHP include_path or current working directory.

For example, a script that needed to obtain proxies for the ExchangeRate and StockQuote services but was not a component would use the getService() method as follows:

Beispiel #1 Obtaining a proxy using getService

<?php
$exchange_rate = SCA::getService('../ExchangeRate/ExchangeRate.php');
$stock_quote   = SCA::getService('../StockQuote/StockQuote.wsdl');
?>

Methods on services can then be called on the returned proxy, just as they can in a component.

Beispiel #2 Making calls on the proxy

<?php
$quote  = $stock_quote->getQuote($ticker);
$rate   = $exchange_rate->getRate($currency);
?>

Calling another Service Component
Exposing a Service Component as a Web service
Beispiele


Exposing a Service Component as a Web service

SCA for PHP can generate WSDL from the annotations within a service component, so that it can be easily deployed and exposed as a Web service. To provide SCA with the information it needs to generate the WSDL, it is necessary to add the annotation @binding.soap under the @service annotation and to specify the parameters and return values of the methods using the @param and @return annotations. These annotations will be read when WSDL is generated, and the order and types of the parameters determine the contents of the <schema> section of the WSDL.

SCA for PHP always generates document/literal wrapped WSDL for components that are exposing a Web service. Note that this does not stop components from consuming Web services which are not SCA components and which are documented with WSDL written in a different style.

The scalar types which can be used in the @param annotation are the four common PHP scalar types: boolean, integer, float and string. These are simply mapped to the XML schema types of the same name in the WSDL. The example below, which is a trivial implementation of the StockQuote service that the ConvertedStockQuote component calls, illustrates string and float types.

Beispiel #1 StockQuote Service

<?php

include "SCA/SCA.php";

/**
 * Scaffold implementation for a remote StockQuote Web service.
 *
 * @service
 * @binding.soap
 *
 */
class StockQuote {

    /**
     * Get a stock quote for a given ticker symbol.
     *
     * @param string $ticker The ticker symbol.
     * @return float The stock quote.
     */
    function getQuote($ticker) {
        return 80.9;
  }
}
?>

WSDL much like the following (though with a service location other than 'localhost', probably) would be generated from this service:

Beispiel #2 Generated WSDL

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xsi:type="tDefinitions"
    xmlns:tns2="http://StockQuote" xmlns:tns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:tns3="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" targetNamespace="http://StockQuote">
  <types>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
      targetNamespace="http://StockQuote">
      <xs:element name="getQuote">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ticker" type="xs:string"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="getQuoteResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="getQuoteReturn" type="xs:float"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:schema>
  </types>

  <message name="getQuoteRequest">
    <part name="getQuoteRequest" element="tns2:getQuote"/>
  </message>
  <message name="getQuoteResponse">
    <part name="return" element="tns2:getQuoteResponse"/>
  </message>
  <portType name="StockQuotePortType">
    <operation name="getQuote">
      <input message="tns2:getQuoteRequest"/>
      <output message="tns2:getQuoteResponse"/>
    </operation>
  </portType>
  <binding name="StockQuoteBinding" type="tns2:StockQuotePortType">
    <operation name="getQuote">
      <input>
        <tns3:body xsi:type="tBody" use="literal"/>
      </input>
      <output>
        <tns3:body xsi:type="tBody" use="literal"/>
      </output>
      <tns3:operation xsi:type="tOperation" soapAction=""/>
    </operation>
    <tns3:binding xsi:type="tBinding" transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
  </binding>
  <service name="StockQuoteService">
    <port name="StockQuotePort" binding="tns2:StockQuoteBinding">
      <tns3:address xsi:type="tAddress" location="http://localhost/StockQuote/StockQuote.php"/>
    </port>
  </service>
</definitions>

<!-- this line identifies this file as WSDL generated by SCA for PHP. Do not remove -->

Locating and calling services from a script which is not an SCA Component
Deploying an SCA component
Beispiele


Deploying an SCA component

There are no special steps needed to deploy a PHP SCA component. It is sufficient to place the component PHP script in its proper place under the web server document root, just like any other PHP script. It is the SCA::initComponent() executable line within each component that will be executed whenever the script is called, and which will be responsible for making the component respond appropriately to Web service calls, local calls, or requests for WSDL.

Exposing a Service Component as a Web service
Obtaining the WSDL for an SCA component offering a Service as a Web service
Beispiele


Obtaining the WSDL for an SCA component offering a Service as a Web service

SCA components that expose a Web service interface (i.e. have an @binding.soap annotation) will return their WSDL definition in response to an HTTP request with a get parameter of "wsdl". The usual way to obtain this is with "?wsdl" on the end of a URL. The example below uses file_get_contents() to obtain WSDL from a service and writes it to a temporary file before then obtaining a proxy for the service in the usual way. You could of course also obtain the WSDL in a browser, or by some other means, and save the file yourself.

Beispiel #1 Generated WSDL

<?php
$wsdl = file_get_contents('http://www.example.com/Services/Example.php?wsdl');
file_put_contents("service.wsdl",$wsdl); //write the wsdl to a file
$service = SCA::getService('service.wsdl');
?>

NOTE: If the wsdl requires imported xsds, these will need to be fetched separately.

Deploying an SCA component
Understanding how the WSDL is generated
Beispiele


Understanding how the WSDL is generated

SCA for PHP generates WSDL for components which contain an @binding.soap annotation after the @service annotation. To generate WSDL, the SCA runtime reflects on the component and examines the @param and @return annotations for each public method, as well as any @types annotations within the component. The information from the @param and @return annotations is used to build the <types> section of the WSDL. Any @types annotations which specify a separate schema file will result in an <import> element for that schema within the WSDL.

Location attribute of the <service> element

At the bottom of the WSDL is the <service> element which uses the location attribute to identify the URL of the service. For example this might look as follows:

Beispiel #1 location attribute

<service name="ConvertedStockQuote"
...
location="http://localhost/ConvertedStockQuote/ConvertedStockQuote.php"/>

Note that this location is relative to the document root of the web server, and cannot be worked out in advance. It can only be worked out once the component is in its proper place under a running web server, when the hostname and port can be known and placed in the WSDL. Detail from the URL that requests the WSDL is used, so for example if the WSDL is generated in response to a request to http://www.example.com:1111/ConvertedStockQuote/ConvertedStockQuote.php?wsdl, a location of http://www.example.com:1111/ConvertedStockQuote/ConvertedStockQuote.php is what will be inserted into the location attribute in the WSDL.

Document/literal wrapped WSDL and positional parameters

SCA for PHP generates WSDL in the document/literal wrapped style. This style encloses the parameters and return types of a method in 'wrappers' which are named after the corresponding method. The <types> element at the top of the WSDL defines each of these wrappers. If we consider the getQuote() method of the ConvertedStockQuote example:

Beispiel #2 method with two arguments

<?php
   /**
     * Get a stock quote for a given ticker symbol in a given currency.
     *
     * @param string $ticker The ticker symbol.
     * @param string $currency What currency to convert the value to.
     * @return float The stock value is the target currency.
     */
    function getQuote($ticker, $currency)
    {
        $quote  = $this->stock_quote->getQuote($ticker);
        $rate   = $this->exchange_rate->getRate($currency);
        return  $rate * $quote;
    }
?>

The WSDL generated to define this method will name both the method and the parameters, and give an XML schema type for the parameters. The types section of the WSDL looks like this:

Beispiel #3 types section illustrating named parameters

<types>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
      targetNamespace="http://ConvertedStockQuote">
      <xs:element name="getQuote">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ticker" type="xs:string"/>
            <xs:element name="currency" type="xs:string"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="getQuoteResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="getQuoteReturn" type="xs:float"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:schema>
  </types>

The SCA run-time has special processing to handle how positional parameter lists in the interface are converted to XML containing named parameters in the soap request, and then back to positional parameter lists again. To see why this matters, consider how a PHP script which used a different interface to make a SOAP call would need to construct the parameter list. A PHP script using the PHP SoapClient, for example, would need to pass the SoapClient a single parameter giving the values for "ticker" and "currency", perhaps as an associative array. To insist that SCA components construct parameter lists to make Web service calls in this way would be to make local and remote calls look different, so a different approach is needed.

When SCA generates WSDL for an SCA component it includes a comment in the WSDL which marks that WSDL as being the interface for an SCA component. In this case, when one SCA component calls another through a Web service, the SCA runtime on the calling end takes the positional parameter list from the call and assigns the values one by one to the named elements in the soap message. For example a call to the getQuote() method defined above that passes the values 'IBM' and 'USD' and looks like this:

<?php
  $quote = $remote_service->getQuote('IBM','USD');
?>

will result in a soap message containing the following:

<getQuote>
  <ticker>IBM</ticker>
  <currency>USD</currency>
</getQuote>

On the service-providing end, the SCA run-time takes the parameters one by one from the soap message and forms a positional parameter list from them, re-forming the argument list ('IBM','USD').

Achtung

At both ends the SCA runtime relies on the order in which the parameters appear in the soap message being the same as that in the target method's parameter list. This is ultimately determined by the order of the @param annotations: this determines the order in which the parameters appear in the WSDL and thereby the order in which they appear in the soap message. Therefore it is essential that the order of the @param annotations matches that of the parameters in the method's parameter list.

Obtaining the WSDL for an SCA component offering a Service as a Web service
Working with Data Structures
Beispiele


Working with Data Structures

SCA components can pass and return the four PHP scalar types boolean, integer, float and string, but to pass or return data structures, SCA components use Service Data Objects (SDOs). SDOs are described in much more detail in the SDO pages of this manual. Readers familiar with SDOs will know that they are suitable for representing the sort of structured and semi-structured data that is frequently modeled in XML, and that they serialize very naturally for passing between remote components, or in Web services. SDOs are presently the only supported way to pass and return data structures. It is not possible to pass or return PHP objects, or PHP arrays.

The SCA runtime always assures data is passed by-value, even for local calls. To do this, the SCA runtime copies any SDOs in the parameter list before passing them on, just as it does for scalar types.

How data structures are defined to SCA components

Currently the only mechanism for specifying the location of a data structure definition is by specifying the types in an XML schema file. However, in the future it may be possible to define types in other ways, such as based on PHP classes or interfaces, or based on definitions expressed as associative arrays.

To illustrate the use of SDOs we introduce a new component. The PortfolioMangement service below returns an SDO representing a stock portfolio for a given customer.

Beispiel #1 A Component that uses Data Structures

<?php

include "SCA/SCA.php";

/**
 * Manage the portfolio for a customer.
 *
 * @service
 * @binding.soap
 *
 * @types http://www.example.org/Portfolio PortfolioTypes.xsd
 *
 */
class PortfolioManagement {

    /**
     * Get the stock portfolio for a given customer.
     *
     * @param integer $customer_id The id for the customer
     * @return Portfolio http://www.example.org/Portfolio The stock portfolio (symbols and quantities)
     */
    function getPortfolio($customer_id) {
        // Pretend we just got this from a database
        $portfolio = SCA::createDataObject('http://www.example.org/Portfolio', 'Portfolio');
        $holding = $portfolio->createDataObject('holding');
        $holding->ticker = 'AAPL';
        $holding->number = 100.5;
        $holding = $portfolio->createDataObject('holding');
        $holding->ticker = 'INTL';
        $holding->number = 100.5;
        $holding = $portfolio->createDataObject('holding');
        $holding->ticker = 'IBM';
        $holding->number = 100.5;
        return $portfolio;
    }

}
?>

The @types annotation:

<?php
@types http://www.example.org/Portfolio PortfolioTypes.xsd
?>

indicates that types in the namespace http://www.example.org/Portfolio will be found in the schema file located by the URI PortfolioTypes.xsd. The generated WSDL would reproduce this information with an import statement as follows:

<xs:import schemaLocation="PortfolioTypes.xsd"
                      namespace="http://www.example.org/Portfolio"/>

so the URI, absolute or relative, must be one that can be resolved when included in the schemaLocation attribute.

Creating SDOs

Readers familiar with SDOs will know that they are always created according to a description of the permitted structure (sometimes referred to as the 'schema' or 'model') and that, rather than creating them directly using 'new', some form of data factory is needed. Often, an existing data object can be used as the data factory, but sometimes, and especially in order to get the first data object, something else must act as the data factory.

In SCA, either the SCA runtime class or the proxies for services, whether local or remote, can act as the data factories for SDOs. The choice of which to use, and when, is described in the next two sections.

We switch to a new example in order to illustrate the creation of SDOs, both to pass to a service, and to be returned from a service.

Creating an SDO to pass to a service

A caller of a service which requires a data structure to be passed in to it uses the proxy to the service as the data factory for the corresponding SDOs. For example, suppose a component makes use of a proxy for a service provided by a local AddressBook component.

<?php
/**
 * @reference
 * @binding.local AddressBook.php
 */
$address_book;
?>

The AddressBook component that it wishes to call is defined as follows:

<?php
/**
* @service
* @binding.soap
* @types http://addressbook ../AddressBook/AddressBook.xsd
*/
class AddressBook {

    /**
     * @param personType $person http://addressbook (a person object)
     * @return addressType http://addressbook (the address object for the person object)
     */
    function lookupAddress($person)  {
        ...
    }
}
?>

The AddressBook component provides a service method called lookupAddress() which uses types from the http://addressbook namespace. The lookupAddress method takes a personType data structure and returns an addressType. Both types are defined in the schema file addressbook.xsd.

Once the component that wishes to use the AddressBook component has been constructed, so that the $address_book instance variable contains a proxy for the service, the calling component can use the proxy in $address_book to create the person SDO, as shown below:

<?php
$william_shakespeare        = $address_book->createDataObject('http://addressbook','personType');
$william_shakespeare ->name = "William Shakespeare";
$address                    = $address_book->lookupAddress($william_shakespeare);
?>

Note, the use of the proxy as the means to create the SDO is not limited to SCA components. If a service is being called from a general PHP script, and the proxy was obtained with getService() then the same approach is used.

<?php
$address_book = SCA::getService('AddressBook.php');
$william_shakespeare = $address_book->createDataObject('http://addressbook','personType');
?>

Creating an SDO to return from a component

A component that needs to create a data object for return to a caller will not have a proxy to use as a data object, In this case it uses the createDataObject() static method on SCA.php. Hence if the AddressBook component described above needed to create an object of type addressType within the namespace http://addressbook, it might do so as follows:

<?php
$address = SCA::createDataObject('http://addressbook','addressType');
?>

Understanding how the WSDL is generated
Error handling
Beispiele


Error handling

This section describes how errors are handled. There are two types of errors:

  • SCA runtime exceptions are those that signal problems in the management of the execution of components, and in the interaction with remote services. These might occur due to network or configuration problems.

  • Business exceptions are those that are defined by the programmer. They extend the PHP Exception class, and are thrown and caught deliberately as part of the business logic.

Handling of Runtime exceptions

There are two types of SCA runtime exception:

  • SCA_RuntimeException - signals a problem found by or perhaps occurring within the SCA runtime. This can be thrown for a variety of reasons, many of which can occur regardless of whether a connection is being made to a local or a remote service: an error in one of the annotations within a component, a missing WSDL or php file, and so on. In the case of Web services, an SCA_RuntimeException can also be thrown if a SoapFault is received from a remote Web service and the fault code in the SoapFault indicates that a retry is unlikely to be successful.

  • SCA_ServiceUnavailableException - this is a subclass of SCA_RuntimeException and signals a problem in connecting to or using a remote service, but one which might succeed if retried. In the case of Web services, this exception is thrown if a SoapFault is received with a fault code that indicates that a retry might be successful.

Handling of Business exceptions

Business exceptions may be defined and thrown by a component in the normal way, regardless of whether the component has been called locally or remotely. The SCA runtime does not catch business exceptions that have been thrown by a component called locally, so they will be returned to a caller in the normal way. If a component has been called via a Web service, on the other hand, the SCA runtime on the service providing end does catch business exceptions, and will ensure these are passed back to the calling end and re-thrown. Assuming that the calling end has a definition of the exception (that is, is able to include a file containing the PHP class defining the exception) the re-thrown exception will contain the same details as the original, so that the getLine() and getFile() methods for example will contain the location where the exception was thrown within the business logic. The exception will be passed in the detail field of a soap fault with a fault code of "Client".

Working with Data Structures
SCA Funktionen
Beispiele


Error handling
SCA::createDataObject
SCA
PHP Manual

SCA Funktionen

Vordefinierte Klassen

Most of the interface to SCA is through the annotations within SCA components so there are few public classes and methods. The only SCA classes that scripts or components can call are the SCA class itself, and the proxy classes SCA_LocalProxy and SCA_SoapProxy.

SCA

Much of the work of the SCA class is performed when the file SCA.php is included within an SCA component. However, a PHP script may include SCA.php and call the getService() method on the SCA class in order to obtain a proxy for a service. A component will not need to do this as proxies are obtained instead by defining an instance variable with the @reference annotation.

Components that need to create an SDO to return to a caller will need a data factory to call. For this purpose the SCA class supports the createDataObject() method, which will create an SDO according to the model defined by the component's @types annotations. The arguments to createDataObject() are the same as those to SDO's XML Data Access Service.

Methoden

  • getService - obtain a proxy for a service

  • createDataObject - create an SDO

SCA_LocalProxy

When getService() is called with the target of a local PHP component, a local proxy is returned. A local proxy is also injected into the instance variables of a component that are defined with an @reference and an @binding.php anotation. When the script or component makes calls on the local proxy, they are passed on to the target component itself.

Components that need to create an SDO to pass to a component will need a data factory to call. For this purpose the SCA_LocalProxy class supports the createDataObject() method, which will create an SDO according to the model defined by the components' @types annotations. The arguments to the createDataObject() are the same as those to SDO's XML Data Access Service.

Methoden

  • createDataObject - create an SDO

SCA_SoapProxy

When getService() is called with the target of a WSDL file, a SOAP proxy is returned. A SOAP proxy is also injected into the instance variables of a component that are defined with an @reference and an @binding.soap anotations. When the script or component makes calls on the SOAP proxy, they are formed into Web service SOAP requests and passed on to the target component, with the help of the PHP Soap extension.

Components that need to create an SDO to pass to a component will need a data factory to call. For this purpose the SCA_SoapProxy class supports the createDataObject() method, which will create an SDO according to the model defined within the target WSDL. The arguments to the createDataObject() are the same as those to SDO's XML Data Access Service.

Methoden

  • createDataObject - create an SDO

Inhaltsverzeichnis

  • SCA::createDataObject — create an SDO
  • SCA::getService — Obtain a proxy for a service
  • SCA_LocalProxy::createDataObject — create an SDO
  • SCA_SoapProxy::createDataObject — create an SDO
Error handling
SCA::createDataObject
SCA
PHP Manual


create an SDO

SCA Funktionen
SCA::getService
SCA Funktionen
PHP Manual

SCA::createDataObject

(PECL SDO >= 0.5.0)

SCA::createDataObject — create an SDO

Beschreibung

SDO_DataObject SCA::createDataObject ( string $type_namespace_uri , string $type_name )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

This method is used inside an SCA component that needs to create an SDO to return. The parameters are the desired SDO's namespace URI and type name. The namespace and type must be defined in one of the schema files which are specified on the @types annotation within the component.

Parameter-Liste

type_namespace_uri

The namespace of the type.

type_name

The name of the type.

Rückgabewerte

Returns the newly created SDO_DataObject.

Fehler/Exceptions

SDO_TypeNotFoundException

Thrown if the namespaceURI and typeName do not correspond to a type in any of the schema files specified in the @types annotations.

SCA Funktionen
SCA::getService
SCA Funktionen


Obtain a proxy for a service

SCA::createDataObject
SCA_LocalProxy::createDataObject
SCA Funktionen
PHP Manual

SCA::getService

(PECL SDO >= 0.5.0)

SCA::getService — Obtain a proxy for a service

Beschreibung

mixed SCA::getService ( string $target [, string $binding [, array $config ]] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Examine the target and initialize and return a proxy of the appropriate sort. If the target is for a local PHP component the returned proxy will be an SCA_LocalProxy. If the target is for a WSDL file, the returned proxy will be a SCA_SoapProxy.

Parameter-Liste

target

An absolute or relative path to the target service or service description (e.g. a URL to a json-rpc service description, a PHP component, a WSDL file, and so on.). A relative path, if specified, is resolved relative to the location of the script issuing the getService() call, and not against the include_path or current working directory.

binding

The binding (i.e. protocol) to use to communicate with the service (e.g binding.jsonrpc for a json-rpc service). Note, some service types can be deduced from the target parameter (e.g. if the target parameter ends in .wsdl then SCA will assume binding.soap). Any binding which can be specified in an annotation can be specified here. For example 'binding.soap' is equivalent to the '@binding.soap' annotation.

config

Any additional configuration properties for the binding (e.g. array('location' => 'http://example.org')). Any binding configuration which can be specified in an annotation can be specified here. For example, 'location' is equivalent to the '@location' annotation to configure the location of a target soap service.

Rückgabewerte

The SCA_LocalProxy or SCA_SoapProxy.

Beispiele

Beispiel #1 An SCA::getService() example

This example shows how to get a proxy to an email soap service described by EmailService.wsdl and located at http://example.org.

<?php
include 'SCA/SCA.php';
$service = SCA::getService('EmailService.wsdl', 'binding.soap', array('location' => 'http://example.org'));
$service->send(...);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

SCA::createDataObject
SCA_LocalProxy::createDataObject
SCA Funktionen


create an SDO

SCA::getService
SCA_SoapProxy::createDataObject
SCA Funktionen
PHP Manual

SCA_LocalProxy::createDataObject

(PECL SDO >= 0.5.0)

SCA_LocalProxy::createDataObject — create an SDO

Beschreibung

SDO_DataObject SCA_LocalProxy::createDataObject ( string $type_namespace_uri , string $type_name )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

This method is used inside either an ordinary PHP script or an SCA component that needs to create an SDO to pass to a local service. The parameters are the desired SDO's namespace URI and type name. The namespace and type must be defined in the interface of the component that is to be called, so the namespace and type must be defined in one of the schema files which are specified on the @types annotation within the component for which the SCA_LocalProxy object is a proxy.

Parameter-Liste

type_namespace_uri

The namespace of the type.

type_name

The name of the type.

Rückgabewerte

Returns the newly created SDO_DataObject.

Fehler/Exceptions

SDO_TypeNotFoundException

Thrown if the namespaceURI and typeName do not correspond to a type in any of the schema files specified in the @types annotations within the component for which the SCA_LocalProxy object is a proxy..

SCA::getService
SCA_SoapProxy::createDataObject
SCA Funktionen


create an SDO

SCA_LocalProxy::createDataObject
SOAP
SCA Funktionen
PHP Manual

SCA_SoapProxy::createDataObject

(PECL SDO >= 0.5.0)

SCA_SoapProxy::createDataObject — create an SDO

Beschreibung

SDO_DataObject SCA_SoapProxy::createDataObject ( string $type_namespace_uri , string $type_name )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

This method is used inside either an ordinary PHP script or an SCA component that needs to create an SDO to pass to a web service. The parameters are the desired SDO's namespace URI and type name. The namespace and type must be defined in the interface of the component that is to be called, so the namespace and type must be defined within the WSDL for the web service. If the web service is also an SCA component then the types will have been defined within one of the schema files which are specified on the @types annotation within the component for which the SCA_SoapProxy object is a proxy.

Parameter-Liste

type_namespace_uri

The namespace of the type.

type_name

The name of the type.

Rückgabewerte

Returns the newly created SDO_DataObject.

Fehler/Exceptions

SDO_TypeNotFoundException

Thrown if the namespaceURI and typeName do not correspond to a type found in the WSDL that was used to initialise this SCA_SoapProxy.

SCA_LocalProxy::createDataObject
SOAP
SCA Funktionen


SOAP

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • SOAP Funktionen
    • is_soap_fault — Prüft, ob ein SOAP-Aufruf fehlgeschlagen ist
    • use_soap_error_handler — Definiert, ob SOAP-Errorhandler benutzt werden soll
  • SoapClient — The SoapClient class
    • SoapClient::__call — Ruft eine SOAP-Funktion auf (veraltet)
    • SoapClient::__construct — SoapClient-Konstruktor
    • SoapClient::__doRequest — Führt eine SOAP-Anfrage aus
    • SoapClient::__getFunctions — Gibt eine Liste verfügbarer SOAP-Funktionen zurück
    • SoapClient::__getLastRequest — Gibt die letzte SOAP-Anfrage zurück
    • SoapClient::__getLastRequestHeaders — Gibt die SOAP-Header der letzten Anfrage zurück
    • SoapClient::__getLastResponse — Gibt die letzte SOAP-Antwort zurück
    • SoapClient::__getLastResponseHeaders — Gibt die SOAP-Header der letzten Antwort zurück
    • SoapClient::__getTypes — Gibt eine Liste der SOAP-Typen zurück
    • SoapClient::__setCookie — Beschreibung
    • SoapClient::__setLocation — Bestimmt die Adresse des zu nutzenden Webservices
    • SoapClient::__setSoapHeaders — Setzt SOAP-Header für nachfolgende Aufrufe
    • SoapClient::__soapCall — Ruft eine SOAP-Funktion auf
    • SoapClient::SoapClient — SoapClient-Konstruktor
  • SoapServer — The SoapServer class
    • SoapServer->addFunction() — Fügt eine oder mehrere Funktionen hinzu, die SOAP-Anfragen bearbeiten sollen
    • SoapServer::addSoapHeader — Add a SOAP header to the response
    • SoapServer->__construct() — SoapServer-Konstruktor
    • SoapServer::fault — Erzeugt einen SoapServer-Fehler, der einen Fehlerzustand anzeigt
    • SoapServer->getFunctions() — Gibt eine Liste aller definierten Funktionen zurück
    • SoapServer->handle() — Verarbeitet SOAP-Anfragen
    • SoapServer->setClass() — Setzt die Klasse, welche SOAP-Anfragen verarbeitet
    • SoapServer::setObject — Sets the object which will be used to handle SOAP requests
    • SoapServer->setPersistence() — Versetzt einen SoapServer in den Persistenz-Modus
    • SoapServer::SoapServer — SoapServer constructor
  • SoapFault — The SoapFault class
    • SoapFault::__construct — SoapFault-Konstruktor
    • SoapFault::SoapFault — SoapFault constructor
    • SoapFault::__toString — Obtain a string representation of a SoapFault
  • SoapHeader — The SoapHeader class
    • SoapHeader->__construct() — SoapHeader-Konstruktor
    • SoapHeader::SoapHeader — SoapHeader constructor
  • SoapParam — The SoapParam class
    • SoapParam->__construct() — SoapParam-Konstruktor
    • SoapParam::SoapParam — SoapParam constructor
  • SoapVar — The SoapVar class
    • SoapVar::__construct — SoapVar-Konstruktor
    • SoapVar::SoapVar — SoapVar-Konstruktor
SCA_SoapProxy::createDataObject
Einführung
Web Services


Einführung

Die SOAP Eweiterung kann zum Erstellen von SOAP-Servern und -Clients verwendet werden. Sie unterstützt Untermengen der » SOAP 1.1-, » SOAP 1.2- und » WSDL 1.1-Spezifikationen.

SOAP
Installation/Konfiguration
SOAP


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
SOAP


Anforderungen

Diese Erweiterung erfordert die Erweiterung libxml. Das heißt, dass die Übergabe von --enable-libxml ebenfalls benötigt wird. Dies wird jedoch implizit erfüllt, da libxml standardmäßig aktiviert wird.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

To enable SOAP support, configure PHP with --enable-soap .

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

SOAP-Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
soap.wsdl_cache_enabled | 1 | PHP_INI_ALL |
soap.wsdl_cache_dir | /tmp | PHP_INI_ALL |
soap.wsdl_cache_ttl | 86400 | PHP_INI_ALL |
soap.wsdl_cache | 1 | PHP_INI_ALL |
soap.wsdl_cache_limit | 5 | PHP_INI_ALL |

Hier eine kurze Erklärung der Konfigurationsoptionen:

soap.wsdl_cache_enabled integer

Aktiviert oder deaktiviert das WSDL-Caching.

soap.wsdl_cache_dir string

Bestimmt den Verzeichnisnamen, in dem die SOAP-Extension Cache-Dateien ablegt.

soap.wsdl_cache_ttl integer

Bestimmt die Anzahl der Sekunden (time to live), während derer die Cache-Dateien anstelle der originalen verwendet werden.

soap.wsdl_cache integer

Wenn soap.wsdl_cache_enabled eingeschaltet ist, bestimmt diese Einstellung die Art des Cachings. Dies kann einer der folgenden Werte sein: WSDL_CACHE_NONE (0), WSDL_CACHE_DISK (1), WSDL_CACHE_MEMORY (2) oder WSDL_CACHE_BOTH (3). Der Wert kann außerdem mittels des options-Arrays im Konstruktor von SoapClient oder SoapServer bestimmt werden.

soap.wsdl_cache_limit integer

Maximale Anzahl der in-memory zwischengespeicherten WSDL-Dateien. Werden in einem vollen Memorycache weitere Dateien abgelegt, so werden dafür die ältesten Dateien gelöscht.

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

SOAP constants
Constant | Value | Description
SOAP_1_1 (integer) | 1 |
SOAP_1_2 (integer) | 2 |
SOAP_PERSISTENCE_SESSION (integer) | 1 |
SOAP_PERSISTENCE_REQUEST (integer) | 2 |
SOAP_FUNCTIONS_ALL (integer) | 999 |
SOAP_ENCODED (integer) | 1 |
SOAP_LITERAL (integer) | 2 |
SOAP_RPC (integer) | 1 |
SOAP_DOCUMENT (integer) | 2 |
SOAP_ACTOR_NEXT (integer) | 1 |
SOAP_ACTOR_NONE (integer) | 2 |
SOAP_ACTOR_UNLIMATERECEIVER (integer) | 3 |
SOAP_COMPRESSION_ACCEPT (integer) | 32 |
SOAP_COMPRESSION_GZIP (integer) | 0 |
SOAP_COMPRESSION_DEFLATE (integer) | 16 |
SOAP_AUTHENTICATION_BASIC (integer) | 0 |
SOAP_AUTHENTICATION_DIGEST (integer) | 1 |
SOAP_SSL_METHOD_TLS (integer) | 0 | Ab PHP 5.5.0.
SOAP_SSL_METHOD_SSLv2 (integer) | 1 | Ab PHP 5.5.0.
SOAP_SSL_METHOD_SSLv3 (integer) | 2 | Ab PHP 5.5.0.
SOAP_SSL_METHOD_SSLv23 (integer) | 3 | Ab PHP 5.5.0.
UNKNOWN_TYPE (integer) | 999998 |
XSD_STRING (integer) | 101 |
XSD_BOOLEAN (integer) | 102 |
XSD_DECIMAL (integer) | 103 |
XSD_FLOAT (integer) | 104 |
XSD_DOUBLE (integer) | 105 |
XSD_DURATION (integer) | 106 |
XSD_DATETIME (integer) | 107 |
XSD_TIME (integer) | 108 |
XSD_DATE (integer) | 109 |
XSD_GYEARMONTH (integer) | 110 |
XSD_GYEAR (integer) | 111 |
XSD_GMONTHDAY (integer) | 112 |
XSD_GDAY (integer) | 113 |
XSD_GMONTH (integer) | 114 |
XSD_HEXBINARY (integer) | 115 |
XSD_BASE64BINARY (integer) | 116 |
XSD_ANYURI (integer) | 117 |
XSD_QNAME (integer) | 118 |
XSD_NOTATION (integer) | 119 |
XSD_NORMALIZEDSTRING (integer) | 120 |
XSD_TOKEN (integer) | 121 |
XSD_LANGUAGE (integer) | 122 |
XSD_NMTOKEN (integer) | 123 |
XSD_NAME (integer) | 124 |
XSD_NCNAME (integer) | 125 |
XSD_ID (integer) | 126 |
XSD_IDREF (integer) | 127 |
XSD_IDREFS (integer) | 128 |
XSD_ENTITY (integer) | 129 |
XSD_ENTITIES (integer) | 130 |
XSD_INTEGER (integer) | 131 |
XSD_NONPOSITIVEINTEGER (integer) | 132 |
XSD_NEGATIVEINTEGER (integer) | 133 |
XSD_LONG (integer) | 134 |
XSD_INT (integer) | 135 |
XSD_SHORT (integer) | 136 |
XSD_BYTE (integer) | 137 |
XSD_NONNEGATIVEINTEGER (integer) | 138 |
XSD_UNSIGNEDLONG (integer) | 139 |
XSD_UNSIGNEDINT (integer) | 140 |
XSD_UNSIGNEDSHORT (integer) | 141 |
XSD_UNSIGNEDBYTE (integer) | 142 |
XSD_POSITIVEINTEGER (integer) | 143 |
XSD_NMTOKENS (integer) | 144 |
XSD_ANYTYPE (integer) | 145 |
XSD_ANYXML (integer) | 147 |
APACHE_MAP (integer) | 200 |
SOAP_ENC_OBJECT (integer) | 301 |
SOAP_ENC_ARRAY (integer) | 300 |
XSD_1999_TIMEINSTANT (integer) | 401 |
XSD_NAMESPACE (integer) | http://www.w3.org/2001/XMLSchema |
XSD_1999_NAMESPACE (integer) | http://www.w3.org/1999/XMLSchema |
SOAP_SINGLE_ELEMENT_ARRAYS (integer) | 1 |
SOAP_WAIT_ONE_WAY_CALLS (integer) | 2 |
SOAP_USE_XSI_ARRAY_TYPE (integer) | 4 |
WSDL_CACHE_NONE (integer) | 0 |
WSDL_CACHE_DISK (integer) | 1 |
WSDL_CACHE_MEMORY (integer) | 2 |
WSDL_CACHE_BOTH (integer) | 3 |
Ressource-Typen
SOAP Funktionen
SOAP


SOAP Funktionen

Inhaltsverzeichnis

  • is_soap_fault — Prüft, ob ein SOAP-Aufruf fehlgeschlagen ist
  • use_soap_error_handler — Definiert, ob SOAP-Errorhandler benutzt werden soll
Vordefinierte Konstanten
is_soap_fault
SOAP


Prüft, ob ein SOAP-Aufruf fehlgeschlagen ist

SOAP Funktionen
use_soap_error_handler
SOAP Funktionen
PHP Manual

is_soap_fault

(Unknown)

is_soap_fault — Prüft, ob ein SOAP-Aufruf fehlgeschlagen ist

Beschreibung

bool is_soap_fault ( mixed $object )

Diese Funktion is nützlich, um festzustellen, ob ein SOAP-Aufruf fehlgeschlagen ist aber keine Exceptions verwendet wurden. Um die Funktion zu verwenden, muss ein SoapClient-Objekt erzeugt und exceptions auf 0 oder FALSE gesetzt werden. In diesem Fall gibt die SOAP-Methode ein spezielles SoapFault-Objekt zurück, dass die Fehlerinformationen enthält (Fehlercode, Fehlerbeschreibung, Verursacher und Details).

Wenn exceptions nicht gesetzt ist, wirft der SOAP-Aufruf im Fehlerfall eine Exception. is_soap_fault() prüft, ob der gegebene Parameter ein SoapFault-Objekt ist.

Parameter-Liste

object

Das zu testende Objekt.

Rückgabewerte

Die Funktion gibt im Fehlerfall TRUE, ansonsten FALSE zurück.

Beispiele

Beispiel #1 is_soap_fault()-Beispiel

<?php
$client = new SoapClient("some.wsdl", array('exceptions' => 0));
$result = $client->EineFunktion();
if (is_soap_fault($result)) {
    trigger_error("SOAP-Fehler: (Fehlernummer: {$result->faultcode}, "
        ."Fehlermeldung: {$result->faultstring})", E_USER_ERROR);
}
?>

Beispiel #2 Die SOAP-Standardmethode zur Fehlerbehandlung ist das Werfen von Exceptions.

<?php
try {
    $client = new SoapClient("ein.wsdl");
    $result = $client->EineFunktion(/* ... */);
} catch (SoapFault $fault) {
    trigger_error("SOAP-Fehler: (Fehlernummer: {$fault->faultcode}, "
        ."Fehlermeldung: {$fault->faultstring})", E_USER_ERROR);
}
?>

Siehe auch

  • SoapClient::SoapClient() - SoapClient-Konstruktor
  • SoapFault::SoapFault() - SoapFault constructor

SOAP Funktionen
use_soap_error_handler
SOAP Funktionen


Definiert, ob SOAP-Errorhandler benutzt werden soll

is_soap_fault
SoapClient
SOAP Funktionen
PHP Manual

use_soap_error_handler

(Unknown)

use_soap_error_handler — Definiert, ob SOAP-Errorhandler benutzt werden soll

Beschreibung

bool use_soap_error_handler ([ bool $handler = true ] )

Diese Funktion bestimmt, ob der SOAP-Errorhandler im SOAP-Server verwendet werden soll oder nicht. Sie gibt den vorhergehenden Wert zurück. Ist die Einstellung auf TRUE gesetzt, werden die Fehlerdetails einer SoapServer-Anwendung als SOAP Fehlermeldung an den Client gesendet. Ist der Wert auf FALSE gesetzt, wird die normale PHP-Fehlerbehandlung verwendet. Standardmäßig wird die normale PHP-Fehlerbehandlung verwendet.

Parameter-Liste

handler

Muss auf TRUE gesetzt werden, um Fehlerdetails an Clients zu senden.

Rückgabewerte

Gibt den ursprünglichen Wert zurück.

Siehe auch

  • set_error_handler() - Bestimmt eine benutzerdefinierte Funktion zur Fehlerbehandlung
  • set_exception_handler() - Installiert einen benutzerdefinierten Exceptionhandler

is_soap_fault
SoapClient
SOAP Funktionen


The SoapClient class

(PHP 5 >= 5.0.1, PHP 7)

Einführung

The SoapClient class provides a client for » SOAP 1.1, » SOAP 1.2 servers. It can be used in WSDL or non-WSDL mode.

Klassenbeschreibung

SoapClient {
/* Methoden */
public mixed __call ( string $function_name , string $arguments )
public SoapClient ( mixed $wsdl [, array $options ] )
public string __doRequest ( string $request , string $location , string $action , int $version [, int $one_way = 0 ] )
public array __getFunctions ( void )
public string __getLastRequest ( void )
public string __getLastRequestHeaders ( void )
public string __getLastResponse ( void )
public string __getLastResponseHeaders ( void )
public array __getTypes ( void )
public void __setCookie ( string $name [, string $value ] )
public string __setLocation ([ string $new_location ] )
public bool __setSoapHeaders ([ mixed $soapheaders ] )
public mixed __soapCall ( string $function_name , array $arguments [, array $options [, mixed $input_headers [, array &$output_headers ]]] )
public SoapClient ( mixed $wsdl [, array $options ] )
}

Inhaltsverzeichnis

  • SoapClient::__call — Ruft eine SOAP-Funktion auf (veraltet)
  • SoapClient::__construct — SoapClient-Konstruktor
  • SoapClient::__doRequest — Führt eine SOAP-Anfrage aus
  • SoapClient::__getFunctions — Gibt eine Liste verfügbarer SOAP-Funktionen zurück
  • SoapClient::__getLastRequest — Gibt die letzte SOAP-Anfrage zurück
  • SoapClient::__getLastRequestHeaders — Gibt die SOAP-Header der letzten Anfrage zurück
  • SoapClient::__getLastResponse — Gibt die letzte SOAP-Antwort zurück
  • SoapClient::__getLastResponseHeaders — Gibt die SOAP-Header der letzten Antwort zurück
  • SoapClient::__getTypes — Gibt eine Liste der SOAP-Typen zurück
  • SoapClient::__setCookie — Beschreibung
  • SoapClient::__setLocation — Bestimmt die Adresse des zu nutzenden Webservices
  • SoapClient::__setSoapHeaders — Setzt SOAP-Header für nachfolgende Aufrufe
  • SoapClient::__soapCall — Ruft eine SOAP-Funktion auf
  • SoapClient::SoapClient — SoapClient-Konstruktor
use_soap_error_handler
SoapClient::__call
SOAP


Ruft eine SOAP-Funktion auf (veraltet)

SoapClient
SoapClient::__construct
SoapClient
PHP Manual

SoapClient::__call

(PHP 5 >= 5.0.1, PHP 7)

SoapClient::__call — Ruft eine SOAP-Funktion auf (veraltet)

Beschreibung

public mixed SoapClient::__call ( string $function_name , string $arguments )

Der Aufruf dieser Methode ist missbilligt. Normalerweise können SOAP Funktionen als Methoden des SoapClient Objekts aufgerufen werden; in Situationen wo das nicht möglich ist, oder zusätzliche Optionen benötigt werden, ist SoapClient::__soapCall() zu verwenden.

SoapClient
SoapClient::__construct
SoapClient


SoapClient-Konstruktor

SoapClient::__call
SoapClient::__doRequest
SoapClient
PHP Manual

SoapClient::__construct

(PHP 5 >= 5.0.1, PHP 7)

SoapClient::__construct — SoapClient-Konstruktor

Beschreibung

public SoapClient::SoapClient ( mixed $wsdl [, array $options ] )

Diese Funktion ist ein Alias für: SoapClient::SoapClient()

SoapClient::__call
SoapClient::__doRequest
SoapClient


Führt eine SOAP-Anfrage aus

SoapClient::__construct
SoapClient::__getFunctions
SoapClient
PHP Manual

SoapClient::__doRequest

(PHP 5 >= 5.0.1, PHP 7)

SoapClient::__doRequest — Führt eine SOAP-Anfrage aus

Beschreibung

public string SoapClient::__doRequest ( string $request , string $location , string $action , int $version [, int $one_way = 0 ] )

Führt eine SOAP-Anfrage über HTTP aus.

Diese Methode kann in einer vererbten Klasse überschrieben werden, um weitere Transportlayer, die Ausführung zusätzlichen XML-Processings oder andere Verwendungszwecke zu implementieren.

Parameter-Liste

request

Die XML-SOAP-Anfrage.

location

Der anzufragende URL.

action

Die SOAP-Aktion.

version

Die SOAP-Version.

one_way

Wenn one_way auf 1 gesetzt ist, gibt diese Methode nichts zurück. Verwenden Sie diesen Parameter, wenn Sie keine Antwort erwarten.

Rückgabewerte

Die XML-SOAP-Antwort.

Changelog

Version | Beschreibung
5.1.3 | Der Parameter one_way wurde hinzugefügt.

Beispiele

Beispiel #1 SoapClient::__doRequest()-Beispiel

<?php
function Add($x,$y) {
  return $x+$y;
}

class LocalSoapClient extends SoapClient {

  function __construct($wsdl, $options) {
    parent::__construct($wsdl, $options);
    $this->server = new SoapServer($wsdl, $options);
    $this->server->addFunction('Add');
  }

  function __doRequest($request, $location, $action, $version, $one_way = 0) {
    ob_start();
    $this->server->handle($request);
    $response = ob_get_contents();
    ob_end_clean();
    return $response;
  }

}

$x = new LocalSoapClient(NULL,array('location'=>'test://',
                                   'uri'=>'http://testuri.org'));
var_dump($x->Add(3,4));
?>

SoapClient::__construct
SoapClient::__getFunctions
SoapClient


Gibt eine Liste verfügbarer SOAP-Funktionen zurück

SoapClient::__doRequest
SoapClient::__getLastRequest
SoapClient
PHP Manual

SoapClient::__getFunctions

(PHP 5 >= 5.0.1, PHP 7)

SoapClient::__getFunctions — Gibt eine Liste verfügbarer SOAP-Funktionen zurück

Beschreibung

public array SoapClient::__getFunctions ( void )

Gibt ein Array der im WSDL beschriebenen Funktionen für den Web Service zurück.

Hinweis:

Diese Funktion funktioniert nur im WSDL-Modus.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Das Array der SOAP Funktionsprototypen mit detaillierter Angabe des Rückgabetyps, des Funktionsnamens und der Parameter inklusive Type Hints.

Beispiele

Beispiel #1 SoapClient::__getFunctions()-Beispiel

<?php
$client = new SoapClient('http://soap.amazon.com/schemas3/AmazonWebServices.wsdl');
var_dump($client->__getFunctions());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(26) {
  [0]=>
  string(70) "ProductInfo KeywordSearchRequest(KeywordRequest $KeywordSearchRequest)"
  [1]=>
  string(79) "ProductInfo TextStreamSearchRequest(TextStreamRequest $TextStreamSearchRequest)"
  [2]=>
  string(64) "ProductInfo PowerSearchRequest(PowerRequest $PowerSearchRequest)"
...
  [23]=>
  string(107) "ShoppingCart RemoveShoppingCartItemsRequest(RemoveShoppingCartItemsRequest $RemoveShoppingCartItemsRequest)"
  [24]=>
  string(107) "ShoppingCart ModifyShoppingCartItemsRequest(ModifyShoppingCartItemsRequest $ModifyShoppingCartItemsRequest)"
  [25]=>
  string(118) "GetTransactionDetailsResponse GetTransactionDetailsRequest(GetTransactionDetailsRequest $GetTransactionDetailsRequest)"
}

Siehe auch

  • SoapClient::SoapClient() - SoapClient-Konstruktor

SoapClient::__doRequest
SoapClient::__getLastRequest
SoapClient


Gibt die letzte SOAP-Anfrage zurück

SoapClient::__getFunctions
SoapClient::__getLastRequestHeaders
SoapClient
PHP Manual

SoapClient::__getLastRequest

(PHP 5 >= 5.0.1, PHP 7)

SoapClient::__getLastRequest — Gibt die letzte SOAP-Anfrage zurück

Beschreibung

public string SoapClient::__getLastRequest ( void )

Gibt das in der letzten SOAP-Anfrage gesendete XML zurück.

Hinweis:

Diese Methode funktioniert nur, wenn das SoapClient-Objekt mit der Option trace erstellt und diese auf TRUE gesetzt wurde.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Die letzte SOAP-Anfrage als XML-Zeichenkette.

Beispiele

Beispiel #1 SoapClient::__getLastRequest()-Beispiel

<?php
$client = new SoapClient("ein.wsdl", array('trace' => 1));
$result = $client->EineFunktion();
echo "ANFRAGE:\n" . $client->__getLastRequest() . "\n";
?>

Siehe auch

  • SoapClient::__getLastRequestHeaders() - Gibt die SOAP-Header der letzten Anfrage zurück
  • SoapClient::__getLastResponse() - Gibt die letzte SOAP-Antwort zurück
  • SoapClient::__getLastResponseHeaders() - Gibt die SOAP-Header der letzten Antwort zurück

SoapClient::__getFunctions
SoapClient::__getLastRequestHeaders
SoapClient


Gibt die SOAP-Header der letzten Anfrage zurück

SoapClient::__getLastRequest
SoapClient::__getLastResponse
SoapClient
PHP Manual

SoapClient::__getLastRequestHeaders

(PHP 5 >= 5.0.1, PHP 7)

SoapClient::__getLastRequestHeaders — Gibt die SOAP-Header der letzten Anfrage zurück

Beschreibung

public string SoapClient::__getLastRequestHeaders ( void )

Gibt die SOAP-Header der letzten Anfrage zurück.

Hinweis:

Diese Methode funktioniert nur, wenn das SoapClient-Objekt mit der auf TRUE gesetzten trace-Option erstellt wurde.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Die letzten SOAP-Requestheader.

Beispiele

Beispiel #1 SoapClient::__getLastRequestHeaders()-Beispiel

<?php
$client = SoapClient("ein.wsdl", array('trace' => 1));
$result = $client->EineFunktion();
echo "ANFRAGEHEADER:\n" . $client->__getLastRequestHeaders() . "\n";
?>

Siehe auch

  • SoapClient::__getLastResponseHeaders() - Gibt die SOAP-Header der letzten Antwort zurück
  • SoapClient::__getLastRequest() - Gibt die letzte SOAP-Anfrage zurück
  • SoapClient::__getLastResponse() - Gibt die letzte SOAP-Antwort zurück

SoapClient::__getLastRequest
SoapClient::__getLastResponse
SoapClient


Gibt die letzte SOAP-Antwort zurück

SoapClient::__getLastRequestHeaders
SoapClient::__getLastResponseHeaders
SoapClient
PHP Manual

SoapClient::__getLastResponse

(PHP 5 >= 5.0.1, PHP 7)

SoapClient::__getLastResponse — Gibt die letzte SOAP-Antwort zurück

Beschreibung

public string SoapClient::__getLastResponse ( void )

Gibt das XML zurück, das mit der letzten SOAP-Antwort gesendet wurde.

Hinweis:

Diese Methode funktioniert nur, wenn das SoapClient-Objekt mit trace=TRUE erstellt wurde.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Die letzte SOAP-Antwort als XML-Zeichenkette.

Beispiele

Beispiel #1 SoapClient::__getLastResponse()-Beispiel

<?php
$client = SoapClient("ein.wsdl", array('trace' => 1));
$result = $client->EineFunktion();
echo "Antwort:\n" . $client->__getLastResponse() . "\n";
?>

Siehe auch

  • SoapClient::__getLastResponseHeaders() - Gibt die SOAP-Header der letzten Antwort zurück
  • SoapClient::__getLastRequest() - Gibt die letzte SOAP-Anfrage zurück
  • SoapClient::__getLastRequestHeaders() - Gibt die SOAP-Header der letzten Anfrage zurück

SoapClient::__getLastRequestHeaders
SoapClient::__getLastResponseHeaders
SoapClient


Gibt die SOAP-Header der letzten Antwort zurück

SoapClient::__getLastResponse
SoapClient::__getTypes
SoapClient
PHP Manual

SoapClient::__getLastResponseHeaders

(PHP 5 >= 5.0.1, PHP 7)

SoapClient::__getLastResponseHeaders — Gibt die SOAP-Header der letzten Antwort zurück

Beschreibung

public string SoapClient::__getLastResponseHeaders ( void )

Gibt die SOAP-Header der letzten Anwort zurück.

Hinweis:

Diese Funktion funktioniert nur korrekt, wenn das SoapClient-Objekt mit trace=TRUE erstellt wurde.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Die letzten SOAP-Responseheader.

Beispiele

Beispiel #1 SoapClient::__getLastResponse()-Beispiel

<?php
$client = SoapClient("ein.wsdl", array('trace' => 1));
$result = $client->EineFunktion();
echo "RESPONSE HEADERS:\n" . $client->__getLastResponseHeaders() . "\n";
?>

Siehe auch

  • SoapClient::__getLastRequestHeaders() - Gibt die SOAP-Header der letzten Anfrage zurück
  • SoapClient::__getLastRequest() - Gibt die letzte SOAP-Anfrage zurück
  • SoapClient::__getLastResponse() - Gibt die letzte SOAP-Antwort zurück

SoapClient::__getLastResponse
SoapClient::__getTypes
SoapClient


Gibt eine Liste der SOAP-Typen zurück

SoapClient::__getLastResponseHeaders
SoapClient::__setCookie
SoapClient
PHP Manual

SoapClient::__getTypes

(PHP 5 >= 5.0.1, PHP 7)

SoapClient::__getTypes — Gibt eine Liste der SOAP-Typen zurück

Beschreibung

public array SoapClient::__getTypes ( void )

Gibt ein Array der Typen zurück, wie sie im WSDL des Webservices beschrieben sind.

Hinweis:

Diese Funktion funktioniert nur im WSDL-Modus.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Das Array der SOAP-Typen mit detaillierter Angabe aller Strukturen und Typen.

Beispiele

Beispiel #1 SoapClient::__getTypes()-Beispiel

<?php
$client = new SoapClient('http://soap.amazon.com/schemas3/AmazonWebServices.wsdl');
var_dump($client->__getTypes());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(88) {
  [0]=>
  string(30) "ProductLine ProductLineArray[]"
  [1]=>
  string(85) "struct ProductLine {
 string Mode;
 string RelevanceRank;
 ProductInfo ProductInfo;
}"
  [2]=>
  string(105) "struct ProductInfo {
 string TotalResults;
 string TotalPages;
 string ListName;
 DetailsArray Details;
}"
...
  [85]=>
  string(32) "ShortSummary ShortSummaryArray[]"
  [86]=>
  string(121) "struct GetTransactionDetailsRequest {
 string tag;
 string devtag;
 string key;
 OrderIdArray OrderIds;
 string locale;
}"
  [87]=>
  string(75) "struct GetTransactionDetailsResponse {
 ShortSummaryArray ShortSummaries;
}"
}

Siehe auch

  • SoapClient::SoapClient() - SoapClient-Konstruktor

SoapClient::__getLastResponseHeaders
SoapClient::__setCookie
SoapClient


SoapClient::__getTypes
SoapClient::__setLocation
SoapClient
PHP Manual

SoapClient::__setCookie

(PHP 5 >= 5.0.4, PHP 7)

SoapClient::__setCookie —

Beschreibung

public void SoapClient::__setCookie ( string $name [, string $value ] )

Definiert das Cookie, das bei einer SOAP-Anfrage gesendet werden soll.

Hinweis:

Das Aufrufen dieser Methode wirkt sich auf alle folgenden Aufrufe der SoapClient-Methoden aus.

Parameter-Liste

name

Name des Cookies.

value

Wert des Cookies. Wenn kein Wert angegeben wurde, wird der Cookie gelöscht.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SoapClient::__getTypes
SoapClient::__setLocation
SoapClient


Bestimmt die Adresse des zu nutzenden Webservices

SoapClient::__setCookie
SoapClient::__setSoapHeaders
SoapClient
PHP Manual

SoapClient::__setLocation

(PHP 5 >= 5.0.1, PHP 7)

SoapClient::__setLocation — Bestimmt die Adresse des zu nutzenden Webservices

Beschreibung

public string SoapClient::__setLocation ([ string $new_location ] )

Bestimmt den URL, der von den folgenden SOAP-Aufrufen angesprochen werden soll. Dies entspricht der Angabe der location-Option bei der Erstellung des SoapClients.

Hinweis:

Der Aufruf dieser Methode ist optional. Der SoapClient verwendet standardmäßig die Adresse aus dem WSDL.

Parameter-Liste

new_location

Der neue Ziel-URL.

Rückgabewerte

Der alte Ziel-URL.

Beispiele

Beispiel #1 SoapClient::__setLocation()-Beispiel

<?php
$client = new SoapClient('http://example.com/webservice.php?wsdl');

$client->__setLocation('http://www.somethirdparty.com');

$old_location = $client->__setLocation(); // löscht die location-Option

echo $old_location;

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

http://www.somethirdparty.com

Siehe auch

  • SoapClient::SoapClient() - SoapClient-Konstruktor

SoapClient::__setCookie
SoapClient::__setSoapHeaders
SoapClient


Setzt SOAP-Header für nachfolgende Aufrufe

SoapClient::__setLocation
SoapClient::__soapCall
SoapClient
PHP Manual

SoapClient::__setSoapHeaders

(PHP 5 >= 5.0.5, PHP 7)

SoapClient::__setSoapHeaders — Setzt SOAP-Header für nachfolgende Aufrufe

Beschreibung

public bool SoapClient::__setSoapHeaders ([ mixed $soapheaders ] )

Legt die Header fest, die mit den nächsten SOAP-Requests gesendet werden.

Hinweis:

Der Aufruf dieser Methode ersetzt alle vorherigen Werte.

Parameter-Liste

soapheaders

Die zu setzenden Header. Dies kann ein SoapHeader-Objekt oder ein Array von SoapHeader-Objekten sein. Ist der Parameter nicht angegeben oder hat er den Wert NULL, werden die Header gelöscht.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 SoapClient::__setSoapHeaders()-Beispiel

<?php

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));
$header = new SoapHeader('http://soapinterop.org/echoheader/',
                            'echoMeStringRequest',
                            'hello world');

$client->__setSoapHeaders($header);

$client->__soapCall("echoVoid", null);
?>

Beispiel #2 Mehrfachheader setzen

<?php

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));
$headers = array();

$headers[] = new SoapHeader('http://soapinterop.org/echoheader/',
                            'echoMeStringRequest',
                            'hello world');

$headers[] = new SoapHeader('http://soapinterop.org/echoheader/',
                            'echoMeStringRequest',
                            'hello world again');

$client->__setSoapHeaders($headers);

$client->__soapCall("echoVoid", null);
?>

SoapClient::__setLocation
SoapClient::__soapCall
SoapClient


Ruft eine SOAP-Funktion auf

SoapClient::__setSoapHeaders
SoapClient::SoapClient
SoapClient
PHP Manual

SoapClient::__soapCall

(PHP 5 >= 5.0.1, PHP 7)

SoapClient::__soapCall — Ruft eine SOAP-Funktion auf

Beschreibung

public mixed SoapClient::__soapCall ( string $function_name , array $arguments [, array $options [, mixed $input_headers [, array &$output_headers ]]] )

Es handelt sich um eine low-level-API-Funktion, um einen SOAP-Aufruf durchzuführen. Normalerweise können im WSDL-Modus SOAP-Funktionen als Methoden des SoapClient-Objekts aufgerufen werden. Diese Methode ist im nicht-WSDL-Modus nützlich, wenn die soapaction unbekannt ist, die uri vom Standard abweicht oder wenn SOAP-Header gesendet und/oder empfangen werden.

Im Fehlerfall kann der Aufruf einer SOAP-Funktion PHP veranlassen, eine Exception zu werfen oder ein SoapFault-Objekt zurückzugeben, wenn Exceptions deaktiviert wurden. Um zu prüfen, ob der Funktionsaufruf eine SoapFault-Exception nicht abgefangen hat, sollte die Rückgabe mit is_soap_fault() überprüft werden.

Parameter-Liste

function_name

Der Name der aufzurufenden SOAP-Funktion.

arguments

Ein Array aus Argumenten, die an die Funktion übergeben werden sollen. Dies kann entweder ein sortiertes oder ein assoziatives Array sein. Es ist zu beachten, dass die meisten SOAP Server die Angabe von Parameternamen erfordern, so dass in diesen Fällen ein assoziatives Array verwendet werden muss.

options

Ein assoziatives Array von Optionen, die an den Client übergeben werden sollen.

Die Option location enthält den URL des angesprochenen Webservices.

Die Option uri enthält den Zielnamensraum des SOAP-Services.

Die Option soapaction ist die aufzurufende Aktion.

input_headers

Ein Array von mit dem SOAP-Request zu sendenden Headern.

output_headers

Sofern vorhanden, wird dieses Array mit den Headern des SOAP-Response gefüllt.

Rückgabewerte

SOAP-Funktionen können einen oder mehrere Werte zurückgeben. Wenn nur ein Wert von der SOAP-Funktion zurückgegeben wurde, entspricht der Rückgabewert von __soapCall einem primitiven Datentyp (z.B. integer, string etc). Wenn mehrere Werte zurückgegeben werden, gibt __soapCall ein assoziatives Array mit benannten Parametern zurück.

Wenn das SoapClient-Objekt mit exceptions=FALSE erstellt wurde, wird bei einem Fehler ein SoapFault-Objekt zurückgegeben.

Beispiele

Beispiel #1 SoapClient::__soapCall()-Beispiel

<?php

$client = new SoapClient("ein.wsdl");
$client->EineFunktion($a, $b, $c);

$client->__soapCall("EineFunktion", array($a, $b, $c));
$client->__soapCall("EineFunktion", array($a, $b, $c), NULL,
                    new SoapHeader(), $output_headers);

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));
$client->EineFunktion($a, $b, $c);
$client->__soapCall("EineFunktion", array($a, $b, $c));
$client->__soapCall("EineFunktion", array($a, $b, $c),
                    array('soapaction' => 'some_action',
                          'uri'        => 'some_uri'));
?>

Siehe auch

  • SoapClient::SoapClient() - SoapClient-Konstruktor
  • SoapParam::SoapParam() - SoapParam constructor
  • SoapVar::SoapVar() - SoapVar-Konstruktor
  • SoapHeader::SoapHeader() - SoapHeader constructor
  • SoapFault::SoapFault() - SoapFault constructor
  • is_soap_fault() - Prüft, ob ein SOAP-Aufruf fehlgeschlagen ist

SoapClient::__setSoapHeaders
SoapClient::SoapClient
SoapClient


SoapClient-Konstruktor

SoapClient::__soapCall
SoapServer
SoapClient
PHP Manual

SoapClient::SoapClient

(PHP 5 >= 5.0.1, PHP 7)

SoapClient::SoapClient — SoapClient-Konstruktor

Beschreibung

public SoapClient::SoapClient ( mixed $wsdl [, array $options ] )

Der Konstruktor erstellt SoapClient-Objekte im WSDL- oder non-WSDL-Modus.

Parameter-Liste

wsdl

URI der WSDL-Datei oder NULL, wenn der non-WSDL-Modus verwendet werden soll.

Hinweis:

Während der Entwicklung sollte das WSDL-Caching durch die Verwendung der soap.wsdl_cache_ttl-Option in der php.ini ausgeschaltet werden. Andernfalls wirken sich Änderungen an der WSDL-Datei erst aus, wenn soap.wsdl_cache_ttl abgelaufen ist.

options

Ein Array aus Optionen. Wenn im WSDL-Modus gearbeitet wird, ist dieser Parameter optional. Im non-WSDL-Modus müssen die Optionen location und uri gesetzt sein. Dabei enthält location den URL des SOAP-Servers, an den die Anfrage gesendet werden soll, und uri den Zielnamensraum des SOAP-Dienstes.

Die Optionen style und use funktionieren nur im non-WSDL-Modus. Im WSDL-Modus werden sie durch das WSDL-File bestimmt.

Die Option soap_version sollte entweder SOAP_1_1 oder SOAP_1_2 sein, um SOAP 1.1 bzw. 1.2 zu wählen. Wird sie ausgelassen, wird 1.1 verwendet.

Die Optionen login und password können verwendet werden, um Daten für die HTTP-Authentifizierung zu übergeben. Um eine Verbindung über einen Proxy-Server herzustellen, stehen die Optionen proxy_host, proxy_port, proxy_login und proxy_password zur Verfügung. Für Authentifizierung über HTTPS-Client-Zertifikate nutzen Sie die Optionen local_cert und passphrase. Eine Authentifizierung kann in der authentication-Option mit Werten befüllt werden. Die Authentifizierungsmethode kann dabei entweder SOAP_AUTHENTICATION_BASIC (Standardvorgabe) oder SOAP_AUTHENTICATION_DIGEST sein.

HTTP-SOAP-Anfragen und -Antworten können mit Hilfe von compression komprimiert werden.

Die Option encoding definiert die intern verwendete Zeichenkodierung. Sie ändert nicht die Kodierung der SOAP-Anfrage selbst (die bleibt immer utf-8), es werden lediglich die Zeichenketten konvertiert.

Die trace-Option schaltet das Tracing von Anfragen ein. Damit können Fehler zurückverfolgt werden. Der Standardwert ist FALSE.

Die classmap-Option kann verwendet werden, um WSDL-Typen auf PHP-Klassen abzubilden. Die Option muss ein Array mit den WSDL-Typen als Schlüssel und den PHP-Klassennamen als Wert sein.

Das Setzen der trace-Option aktiviert den Gebrauch der Methoden SoapClient->__getLastRequest, SoapClient->__getLastRequestHeaders, SoapClient->__getLastResponse und SoapClient->__getLastResponseHeaders.

Die Option exceptions ist ein boolscher Wert. Sie definiert, ob bei SOAP-Fehlern Exceptions vom Typ SoapFault geworfen werden sollen.

Zeitüberschreitung in Sekunden für Verbindungen zu einem SOAP-Service können mit der Option connection_timeout angegeben werden. Diese Option definiert keine Zeitüberschreitung für Dienste mit langsamen Antwortzeiten. Um zu definieren, wie lange auf die Beendung einer Anfrage gewartet werden soll, steht die Einstellung default_socket_timeout zur Verfügung.

Die Option typemap ist ein Array mit Typabbildungen. Jede Abbildung ist ein Array mit den Schlüsseln type_name, type_ns (Namespace-URI), from_xml (Callback akzeptiert einen String-Parameter) und to_xml (callback akzeptiert einen Objekt-Parameter).

Die Option cache_wsdl ist eine der folgenden Konstanten: WSDL_CACHE_NONE, WSDL_CACHE_DISK, WSDL_CACHE_MEMORY oder WSDL_CACHE_BOTH.

Die Option user_agent gibt die Zeichenkette an, die im User-Agent-Header verwendet werden soll.

Die Option stream_context ist eine Ressource auf context.

The features option is a bitmask of SOAP_SINGLE_ELEMENT_ARRAYS, SOAP_USE_XSI_ARRAY_TYPE, SOAP_WAIT_ONE_WAY_CALLS.

Die keep_alive Option ist ein boolescher Wert, der definiert, ob der Connection: Keep-Alive oder Connection: close Header gesendet werden soll.

Die ssl_method Option ist entweder SOAP_SSL_METHOD_TLS, SOAP_SSL_METHOD_SSLv2, SOAP_SSL_METHOD_SSLv3 oder SOAP_SSL_METHOD_SSLv23.

Fehler/Exceptions

SoapClient::SoapClient() erzeugt einen E_ERROR Fehler, wenn die location und uri Optionen im non-WSDL Modus nicht angegeben wurden.

Eine SoapFault Exception wird ausgelöst, wenn der wsdl URI nicht geladen werden kann.

Changelog

Version | Beschreibung
5.5.0 | Neue ssl_method Option.
5.4.0 | Neue keep_alive Option.

Beispiele

Beispiel #1 SoapClient::SoapClient()-Beispiel

<?php

$client = new SoapClient("ein.wsdl");

$client = new SoapClient("ein.wsdl", array('soap_version'   => SOAP_1_2));

$client = new SoapClient("ein.wsdl", array('login'          => "ein_name",
                                           'password'       => "ein_passwort"));

$client = new SoapClient("ein.wsdl", array('proxy_host'     => "localhost",
                                           'proxy_port'     => 8080));

$client = new SoapClient("ein.wsdl", array('proxy_host'     => "localhost",
                                           'proxy_port'     => 8080,
                                           'proxy_login'    => "ein_name",
                                           'proxy_password' => "ein_passwort"));

$client = new SoapClient("ein.wsdl", array('local_cert'     => "cert_key.pem"));

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/",
                                     'style'    => SOAP_DOCUMENT,
                                     'use'      => SOAP_LITERAL));

$client = new SoapClient("ein.wsdl",
  array('compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP));

$server = new SoapClient("ein.wsdl", array('encoding'=>'ISO-8859-1'));

class MyBook {
    public $title;
    public $author;
}

$server = new SoapClient("books.wsdl", array('classmap' => array('book' => "MyBook")));

?>

SoapClient::__soapCall
SoapServer
SoapClient


The SoapServer class

(PHP 5 >= 5.0.1, PHP 7)

Einführung

The SoapServer class provides a server for the » SOAP 1.1 and » SOAP 1.2 protocols. It can be used with or without a WSDL service description.

Klassenbeschreibung

SoapServer {
/* Methoden */
public void addFunction ( mixed $functions )
public void addSoapHeader ( SoapHeader $object )
public void fault ( string $code , string $string [, string $actor [, string $details [, string $name ]]] )
public array getFunctions ( void )
public void handle ([ string $soap_request ] )
public void setClass ( string $class_name [, mixed $args [, mixed $... ]] )
public void setObject ( object $object )
public void setPersistence ( int $mode )
public SoapServer ( mixed $wsdl [, array $options ] )
}

Inhaltsverzeichnis

  • SoapServer->addFunction() — Fügt eine oder mehrere Funktionen hinzu, die SOAP-Anfragen bearbeiten sollen
  • SoapServer::addSoapHeader — Add a SOAP header to the response
  • SoapServer->__construct() — SoapServer-Konstruktor
  • SoapServer::fault — Erzeugt einen SoapServer-Fehler, der einen Fehlerzustand anzeigt
  • SoapServer->getFunctions() — Gibt eine Liste aller definierten Funktionen zurück
  • SoapServer->handle() — Verarbeitet SOAP-Anfragen
  • SoapServer->setClass() — Setzt die Klasse, welche SOAP-Anfragen verarbeitet
  • SoapServer::setObject — Sets the object which will be used to handle SOAP requests
  • SoapServer->setPersistence() — Versetzt einen SoapServer in den Persistenz-Modus
  • SoapServer::SoapServer — SoapServer constructor
SoapClient::SoapClient
SoapServer->addFunction()
SOAP


Fügt eine oder mehrere Funktionen hinzu, die SOAP-Anfragen bearbeiten sollen

SoapServer
SoapServer::addSoapHeader
SoapServer
PHP Manual

SoapServer->addFunction()

(PHP 5 >= 5.0.1, PHP 7)

SoapServer->addFunction() — Fügt eine oder mehrere Funktionen hinzu, die SOAP-Anfragen bearbeiten sollen

Beschreibung

public void SoapServer::addFunction ( mixed $functions )

Zur Verfügung stellen von ein oder mehreren Funktionen für entfernte Clients.

Parameter-Liste

Funktionen

Funktionsname als String übergeben, um eine Funktion hinzuzufügen.

Array mit Funktionsnamen übergeben, um mehrere Funktionen hinzuzufügen.

Spezielle Konstante SOAP_FUNCTIONS_ALL übergeben, um alle Funktionen zu exportieren.

Hinweis:

Funktionen müssen alle Argumente in der gleichen Reihenfolge entgegennehmen, wie sie in der WSDL-Datei beschrieben sind (es sollten keine Rückgabewerte als Argumente definiert werden) und ein oder mehrere Werte zurückgeben. Um mehrere Werte zurückzugeben, müssen sich die Werte benannt in einem assoziativen Array befinden.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 SoapServer::addFunction() Beispiel

<?php

function echoString($inputString)
{
    return $inputString;
}

$server->addFunction("echoString");

function echoTwoStrings($inputString1, $inputString2)
{
    return array("outputString1" => $inputString1,
                 "outputString2" => $inputString2);
}
$server->addFunction(array("echoString", "echoTwoStrings"));

$server->addFunction(SOAP_FUNCTIONS_ALL);

?>

Siehe auch

  • SoapServer::SoapServer() - SoapServer constructor
  • SoapServer::setClass()

SoapServer
SoapServer::addSoapHeader
SoapServer


Add a SOAP header to the response

SoapServer->addFunction()
SoapServer->__construct()
SoapServer
PHP Manual

SoapServer::addSoapHeader

(PHP 5 >= 5.0.1, PHP 7)

SoapServer::addSoapHeader — Add a SOAP header to the response

Beschreibung

public void SoapServer::addSoapHeader ( SoapHeader $object )

Adds a SOAP header to be returned with the response to the current request.

Parameter-Liste

object

The header to be returned.

Rückgabewerte

Es wird kein Wert zurückgegeben.

SoapServer->addFunction()
SoapServer->__construct()
SoapServer


SoapServer-Konstruktor

SoapServer::addSoapHeader
SoapServer::fault
SoapServer
PHP Manual

SoapServer->__construct()

(PHP 5 >= 5.0.1, PHP 7)

SoapServer->__construct() — SoapServer-Konstruktor

Beschreibung

__construct ( mixed $wsdl [, array $options ] )

Der Konstruktor erlaubt das Erzeugen eines SoapServer-Objekts in WSDL- oder nicht-WSDL-Modus.

Parameter-Liste

wsdl

Wenn der WSDL-Modus verwendet werden soll, muss die URI auf eine WSDL-Datei verweisen. Ansonsten muss er auf NULL gesetzt werden und die uri vewendet werden.

options

Erlaubt das Setzen der benutzten SOAP-Version (soap_version), der internen Zeichenkodierung (encoding), und URI (actor).

Die classmap Option kann genutzt werden, um WSDL-Typen auf PHP-Klassen abzubilden. Die Option muß ein Array sein mit den WSDL-Typen als Schlüssel und den PHP-Klassennamen als Wert.

Die Option typemap ist ein Array mit Typabbildungen. Jede Abbildung ist ein Array mit den Schlüsseln type_name, type_ns (Namespace URI), from_xml (callback akzeptiert einen String-Parameter) und to_xml (callback akzeptiert einen Objekt-Parameter).

Weitere Optionen sind features und cache_wsdl.

Beispiele

Beispiel #1 Beispiele

<?php

$server = new SoapServer("some.wsdl");

$server = new SoapServer("some.wsdl", array('soap_version' => SOAP_1_2));

$server = new SoapServer("some.wsdl", array('actor' => "http://example.org/ts-tests/C"));

$server = new SoapServer("some.wsdl", array('encoding'=>'ISO-8859-1'));

$server = new SoapServer(null, array('uri' => "http://test-uri/"));

class MyBook {
    public $title;
    public $author;
}

$server = new SoapServer("books.wsdl", array('classmap' => array('book' => "MyBook")));

?>

SoapServer::addSoapHeader
SoapServer::fault
SoapServer


Erzeugt einen SoapServer-Fehler, der einen Fehlerzustand anzeigt

SoapServer->__construct()
SoapServer->getFunctions()
SoapServer
PHP Manual

SoapServer::fault

(PHP 5 >= 5.0.1, PHP 7)

SoapServer::fault — Erzeugt einen SoapServer-Fehler, der einen Fehlerzustand anzeigt

Beschreibung

public void SoapServer::fault ( string $code , string $string [, string $actor [, string $details [, string $name ]]] )

Sendet dem Client der aktuellen Anfrage eine Antwort, die einen Fehler anzeigt.

Hinweis:

Diese Methode kann nur aufgerufen werden, wenn ein Request verarbeitet wird.

Parameter-Liste

code

Der Fehlercode, der übergeben werden soll

string

Eine kurze Beschreibung des Fehlers

actor

Eine Zeichenkette, die den Akteur identifiziert, der den Fehler verursacht hat.

details

Weitere Details zum Fehler

name

Der Name des Fehlers. Dies kann verwendet werden, um den Namen aus einer WSDL-Datei auszuwählen.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SoapFault::SoapFault() - SoapFault constructor

SoapServer->__construct()
SoapServer->getFunctions()
SoapServer


Gibt eine Liste aller definierten Funktionen zurück

SoapServer::fault
SoapServer->handle()
SoapServer
PHP Manual

SoapServer->getFunctions()

(PHP 5 >= 5.0.1, PHP 7)

SoapServer->getFunctions() — Gibt eine Liste aller definierten Funktionen zurück

Beschreibung

public array SoapServer::getFunctions ( void )

Gibt eine Liste aller Funktionen zurück die durch SoapServer::addFunction() oder SoapServer::setClass() hinzugefügt wurden.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Ein array aller definierten Funktionen.

Beispiele

Beispiel #1 SoapServer::getFunctions() Beispiel

<?php
$server = new SoapServer(NULL, array("uri" => "http://test-uri"));
$server->addFunction(SOAP_FUNCTIONS_ALL);
if ($_SERVER["REQUEST_METHOD"] == "POST") {
  $server->handle();
} else {
  echo "This SOAP server can handle following functions: ";
  $functions = $server->getFunctions();
  foreach($functions as $func) {
    echo $func . "\n";
  }
}
?>

Siehe auch

  • SoapServer::SoapServer() - SoapServer constructor
  • SoapServer::addFunction()
  • SoapServer::setClass()

SoapServer::fault
SoapServer->handle()
SoapServer


Verarbeitet SOAP-Anfragen

SoapServer->getFunctions()
SoapServer->setClass()
SoapServer
PHP Manual

SoapServer->handle()

(PHP 5 >= 5.0.1, PHP 7)

SoapServer->handle() — Verarbeitet SOAP-Anfragen

Beschreibung

public void SoapServer::handle ([ string $soap_request ] )

Verarbeitet eine SOAP-Anfrage, ruft benötigte Funktionen auf und schickt eine Antwort zurück.

Parameter-Liste

soap_request

SOAP-Anfrage. Wenn das Argument nicht gegeben ist, werden die originalen (raw) POST Daten der HTTP Anfrage genutzt.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Beispiele

<?php
function test($x)
{
    return $x;
}

$server = new SoapServer(null, array('uri' => "http://test-uri/"));
$server->addFunction("test");
$server->handle();
?>

Siehe auch

  • SoapServer::SoapServer() - SoapServer constructor

SoapServer->getFunctions()
SoapServer->setClass()
SoapServer


Setzt die Klasse, welche SOAP-Anfragen verarbeitet

SoapServer->handle()
SoapServer::setObject
SoapServer
PHP Manual

SoapServer->setClass()

(PHP 5 >= 5.0.1, PHP 7)

SoapServer->setClass() — Setzt die Klasse, welche SOAP-Anfragen verarbeitet

Beschreibung

public void SoapServer::setClass ( string $class_name [, mixed $args [, mixed $... ]] )

Exportiert alle Methoden der angegebenen Klasse.

Das Objekt kann für eine gegebene PHP-Session mit Hilfe der SoapServer::setPersistence() Methode persistent gemacht werden.

Parameter-Liste

class_name

Name der zu exportierenden Klasse.

args

Die optionalen Parameter werden zur Laufzeit dem Standardkonstruktor der Klasse übergeben.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SoapServer::SoapServer() - SoapServer constructor
  • SoapServer::addFunction()
  • SoapServer::setPersistence()

SoapServer->handle()
SoapServer::setObject
SoapServer


Sets the object which will be used to handle SOAP requests

SoapServer->setClass()
SoapServer->setPersistence()
SoapServer
PHP Manual

SoapServer::setObject

(PHP 5 >= 5.2.0, PHP 7)

SoapServer::setObject — Sets the object which will be used to handle SOAP requests

Beschreibung

public void SoapServer::setObject ( object $object )

This sets a specific object as the handler for SOAP requests, rather than just a class as in SoapServer::setClass().

Parameter-Liste

object

The object to handle the requests.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • SoapServer::setClass()

SoapServer->setClass()
SoapServer->setPersistence()
SoapServer


Versetzt einen SoapServer in den Persistenz-Modus

SoapServer::setObject
SoapServer::SoapServer
SoapServer
PHP Manual

SoapServer->setPersistence()

(PHP 5 >= 5.1.2, PHP 7)

SoapServer->setPersistence() — Versetzt einen SoapServer in den Persistenz-Modus

Beschreibung

public void SoapServer::setPersistence ( int $mode )

Diese Funktion erlaubt das Ändern des Persistenzzustands eines SoapServer Objekts zwischen Anfragen. Diese Funktion erlaubt das Speichern von Daten zwischen Anfragen durch Verwendung von PHP Sessions. Diese Methode hat nur Auswirkungen auf den SoapServer, nachdem er Funktionen unter Verwendung von SoapServer::setClass() exportiert hat.

Hinweis:

Die Option SOAP_PERSISTENCE_SESSION macht nur Objekte der angegebenen Klasse persistent, nicht aber ihre statischen Eigenschaften. Daher sollten sie $this->bar anstatt von self::$bar nutzen.

Hinweis:

SOAP_PERSISTENCE_SESSION serialisiert Daten des Klassenobjekts zwischen Anfragen. Damit Ressourcen (z.B. PDO) ordnungsgemäß verwendet werden können, sollten die magischen __wakeup() und __sleep() Methoden verwendet werden.

Parameter-Liste

mode

Eine der SOAP_PERSISTENCE_XXX Konstanten.

SOAP_PERSISTENCE_REQUEST - SoapServer Daten bleiben zwischen Anfragen nicht erhalten. Das ist das standardmäßige Verhalten von jedem SoapServer Objekt nachdem setClass aufgerufen wurde.

SOAP_PERSISTENCE_SESSION - SoapServer Daten bleiben zwischen Anfragen erhalten. Dies wird durch Serialisierung der SoapServer Klassendaten in $_SESSION['_bogus_session_name'] erreicht, weshalb session_start() aufgerufen werden muss, bevor dieser Persistenzmodus eingestellt wird.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 SoapServer::setPersistence() Beispiel

<?php
 class MyFirstPersistentSoapServer {
     private $resource; // (wie z.B. PDO, mysqli, usw.)
     public $myvar1;
     public $myvar2;

     public function __construct() {
         $this->__wakeup(); // Wir rufen unser wakeup auf, damit die Ressource verwendet werden kann
     }

     public function __wakeup() {
         $this->resource = CodeToStartOurResourceUp();
     }

     public function __sleep() {
         // Wir stellen sicher, dass $resource hier ausgelassen wird, damit
         // unsere Sessiondaten persistent bleiben. Versäumen wir dies, wird das
         // Deserialisieren der Daten bei der nächsten Anfrage fehlschlagen;
         // folglich wäre unser SoapObject nicht anfrageübergreifend persistent.
         return array('myvar1','myvar2');
     }
 }

 try {
     session_start();
     $server = new SoapServer(null, array('uri' => $_SERVER['REQUEST_URI']));
     $server->setClass('MyFirstPersistentSoapServer');
     // setPersistence MUSS nach setClass aufgerufen werden, weil setClass
     // SESSION_PERSISTENCE_REQUEST setzt sobald die Methode ausgeführt wird.
     $server->setPersistence(SOAP_PERSISTENCE_SESSION);
     $server->handle();
 } catch(SoapFault $e) {
     error_log("SOAP FEHLER: ". $e->getMessage());
 }
?>

Siehe auch

  • SoapServer::setClass()

SoapServer::setObject
SoapServer::SoapServer
SoapServer


SoapServer constructor

SoapServer->setPersistence()
SoapFault
SoapServer
PHP Manual

SoapServer::SoapServer

(PHP 5 >= 5.0.1, PHP 7)

SoapServer::SoapServer — SoapServer constructor

Beschreibung

public SoapServer::SoapServer ( mixed $wsdl [, array $options ] )

This constructor allows the creation of SoapServer objects in WSDL or non-WSDL mode.

Parameter-Liste

wsdl

To use the SoapServer in WSDL mode, pass the URI of a WSDL file. Otherwise, pass NULL and set the uri option to the target namespace for the server.

options

Allow setting a default SOAP version (soap_version), internal character encoding (encoding), and actor URI (actor).

The classmap option can be used to map some WSDL types to PHP classes. This option must be an array with WSDL types as keys and names of PHP classes as values.

The typemap option is an array of type mappings. Type mapping is an array with keys type_name, type_ns (namespace URI), from_xml (callback accepting one string parameter) and to_xml (callback accepting one object parameter).

The cache_wsdl option is one of WSDL_CACHE_NONE, WSDL_CACHE_DISK, WSDL_CACHE_MEMORY or WSDL_CACHE_BOTH.

There is also a features option which can be set to SOAP_WAIT_ONE_WAY_CALLS, SOAP_SINGLE_ELEMENT_ARRAYS, SOAP_USE_XSI_ARRAY_TYPE.

The send_errors option can be set to FALSE to sent a generic error message ("Internal error") instead of the specific error message sent otherwise.

Beispiele

Beispiel #1 SoapServer::SoapServer() example

<?php

$server = new SoapServer("some.wsdl");

$server = new SoapServer("some.wsdl", array('soap_version' => SOAP_1_2));

$server = new SoapServer("some.wsdl", array('actor' => "http://example.org/ts-tests/C"));

$server = new SoapServer("some.wsdl", array('encoding'=>'ISO-8859-1'));

$server = new SoapServer(null, array('uri' => "http://test-uri/"));

class MyBook {
    public $title;
    public $author;
}

$server = new SoapServer("books.wsdl", array('classmap' => array('book' => "MyBook")));

?>

Changelog

Version | Beschreibung
5.2.0 | Added the typemap option.

Siehe auch

  • SoapClient::SoapClient() - SoapClient-Konstruktor

SoapServer->setPersistence()
SoapFault
SoapServer


The SoapFault class

(PHP 5 >= 5.0.1, PHP 7)

Einführung

Represents a SOAP fault.

Klassenbeschreibung

SoapFault extends Exception {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Methoden */
__construct ( string $faultcode , string $faultstring [, string $faultactor [, string $detail [, string $faultname [, string $headerfault ]]]] )
SoapFault ( string $faultcode , string $faultstring [, string $faultactor [, string $detail [, string $faultname [, string $headerfault ]]]] )
public string __toString ( void )
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Inhaltsverzeichnis

  • SoapFault::__construct — SoapFault-Konstruktor
  • SoapFault::SoapFault — SoapFault constructor
  • SoapFault::__toString — Obtain a string representation of a SoapFault
SoapServer::SoapServer
SoapFault::__construct
SOAP


SoapFault-Konstruktor

SoapFault
SoapFault::SoapFault
SoapFault
PHP Manual

SoapFault::__construct

(PHP 5 >= 5.0.1, PHP 7)

SoapFault::__construct — SoapFault-Konstruktor

Beschreibung

SoapFault::__construct ( string $faultcode , string $faultstring [, string $faultactor [, string $detail [, string $faultname [, string $headerfault ]]]] )

Diese Funktion ist ein Alias für: SoapFault::SoapFault()

SoapFault
SoapFault::SoapFault
SoapFault


SoapFault constructor

SoapFault::__construct
SoapFault::__toString
SoapFault
PHP Manual

SoapFault::SoapFault

(PHP 5 >= 5.0.1, PHP 7)

SoapFault::SoapFault — SoapFault constructor

Beschreibung

SoapFault::SoapFault ( string $faultcode , string $faultstring [, string $faultactor [, string $detail [, string $faultname [, string $headerfault ]]]] )

This class is used to send SOAP fault responses from the PHP handler. faultcode, faultstring, faultactor and detail are standard elements of a SOAP Fault.

Parameter-Liste

faultcode

The error code of the SoapFault.

faultstring

The error message of the SoapFault.

faultactor

A string identifying the actor that caused the error.

detail

More details about the cause of the error.

faultname

Can be used to select the proper fault encoding from WSDL.

headerfault

Can be used during SOAP header handling to report an error in the response header.

Beispiele

Beispiel #1 Some examples

<?php
function test($x)
{
    return new SoapFault("Server", "Some error message");
}

$server = new SoapServer(null, array('uri' => "http://test-uri/"));
$server->addFunction("test");
$server->handle();
?>

It is possible to use PHP exception mechanism to throw SOAP Fault.

Beispiel #2 Some examples

<?php
function test($x)
{
    throw new SoapFault("Server", "Some error message");
}

$server = new SoapServer(null, array('uri' => "http://test-uri/"));
$server->addFunction("test");
$server->handle();
?>

Siehe auch

  • SoapServer::fault() - Erzeugt einen SoapServer-Fehler, der einen Fehlerzustand anzeigt
  • is_soap_fault() - Prüft, ob ein SOAP-Aufruf fehlgeschlagen ist

SoapFault::__construct
SoapFault::__toString
SoapFault


Obtain a string representation of a SoapFault

SoapFault::SoapFault
SoapHeader
SoapFault
PHP Manual

SoapFault::__toString

(PHP 5 >= 5.0.1, PHP 7)

SoapFault::__toString — Obtain a string representation of a SoapFault

Beschreibung

public string SoapFault::__toString ( void )

Returns a string representation of the SoapFault.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

A string describing the SoapFault.

SoapFault::SoapFault
SoapHeader
SoapFault


The SoapHeader class

(PHP 5 >= 5.0.1, PHP 7)

Einführung

Represents a SOAP header.

Klassenbeschreibung

SoapHeader {
/* Methoden */
SoapHeader ( string $namespace , string $name [, mixed $data [, bool $mustunderstand = false [, string $actor ]]] )
}

Inhaltsverzeichnis

  • SoapHeader->__construct() — SoapHeader-Konstruktor
  • SoapHeader::SoapHeader — SoapHeader constructor
SoapFault::__toString
SoapHeader->__construct()
SOAP


SoapHeader-Konstruktor

SoapHeader
SoapHeader::SoapHeader
SoapHeader
PHP Manual

SoapHeader->__construct()

(PHP 5 >= 5.0.1, PHP 7)

SoapHeader->__construct() — SoapHeader-Konstruktor

Beschreibung

__construct ( string $namespace , string $name [, mixed $data [, bool $mustUnderstand [, mixed $actor ]]] )

Erzeugt ein neues SoapHeader-Objekt.

Parameter-Liste

namespace

Namensraum des SOAP-Header-Elements.

name

Name des SOAP-Header-Elements.

data

SOAP-Header-Inhalt. Der Inhalt kann ein PHP-Wert oder auch ein SoapVar-Objekt sein.

mustUnderstand

Wert des mustUnderstand Attributes des SOAP-Header-Elements.

actor

Wert des actor Attributes des SOAP-Header-Elements.

Beispiele

Beispiel #1 Beispiele

<?php
$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));
$client->__soapCall("echoVoid", null, null,
                    new SoapHeader('http://soapinterop.org/echoheader/',
                                   'echoMeStringRequest',
                                   'hello world'));
?>

Siehe auch

  • SoapClient::__soapCall
  • SoapVar::__construct
  • SoapParam->__construct()

SoapHeader
SoapHeader::SoapHeader
SoapHeader


SoapHeader constructor

SoapHeader->__construct()
SoapParam
SoapHeader
PHP Manual

SoapHeader::SoapHeader

(PHP 5 >= 5.0.1, PHP 7)

SoapHeader::SoapHeader — SoapHeader constructor

Beschreibung

SoapHeader::SoapHeader ( string $namespace , string $name [, mixed $data [, bool $mustunderstand = false [, string $actor ]]] )

Constructs a new SoapHeader object.

Parameter-Liste

namespace

The namespace of the SOAP header element.

name

The name of the SoapHeader object.

data

A SOAP header's content. It can be a PHP value or a SoapVar object.

mustUnderstand

Value of the mustUnderstand attribute of the SOAP header element.

actor

Value of the actor attribute of the SOAP header element.

Beispiele

Beispiel #1 SoapHeader::SoapHeader() example

<?php
$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));
$client->__soapCall("echoVoid", null, null,
                new SoapHeader('http://soapinterop.org/echoheader/',
                               'echoMeStringRequest',
                               'hello world'));
?>

Siehe auch

  • SoapClient::__soapCall() - Ruft eine SOAP-Funktion auf
  • SoapVar::SoapVar() - SoapVar-Konstruktor
  • SoapParam::SoapParam() - SoapParam constructor
  • SoapServer::addSoapHeader() - Add a SOAP header to the response

SoapHeader->__construct()
SoapParam
SoapHeader


The SoapParam class

(PHP 5 >= 5.0.1, PHP 7)

Einführung

Represents parameter to a SOAP call.

Klassenbeschreibung

SoapParam {
/* Methoden */
SoapParam ( mixed $data , string $name )
}

Inhaltsverzeichnis

  • SoapParam->__construct() — SoapParam-Konstruktor
  • SoapParam::SoapParam — SoapParam constructor
SoapHeader::SoapHeader
SoapParam->__construct()
SOAP


SoapParam-Konstruktor

SoapParam
SoapParam::SoapParam
SoapParam
PHP Manual

SoapParam->__construct()

(PHP 5 >= 5.0.1, PHP 7)

SoapParam->__construct() — SoapParam-Konstruktor

Beschreibung

__construct ( mixed $data , string $name )

Erzeugt ein neues SoapParam-Objekt.

Parameter-Liste

data

Die Daten die übergeben oder zurückgegeben werden. Die Werte können auch direkt als PHP-Wert übergeben werden. In diesem Fall werden sie mittels paramN benannt und der SOAP-Service könnte Probleme mit der Interpretation bekommen.

name

Parametername.

Beispiele

Beispiel #1 Beispiele

<?php
$client = new SoapClient(null,array('location' => "http://localhost/soap.php",
                                    'uri'      => "http://test-uri/"));
$client->SomeFunction(new SoapParam($a, "a"),
                      new SoapParam($b, "b"),
                      new SoapParam($c, "c"));
?>

Siehe auch

  • SoapClient::__soapCall
  • SoapVar::__construct

SoapParam
SoapParam::SoapParam
SoapParam


SoapParam constructor

SoapParam->__construct()
SoapVar
SoapParam
PHP Manual

SoapParam::SoapParam

(PHP 5 >= 5.0.1, PHP 7)

SoapParam::SoapParam — SoapParam constructor

Beschreibung

SoapParam::SoapParam ( mixed $data , string $name )

Constructs a new SoapParam object.

Parameter-Liste

data

The data to pass or return. This parameter can be passed directly as PHP value, but in this case it will be named as paramN and the SOAP service may not understand it.

name

The parameter name.

Beispiele

Beispiel #1 SoapParam::SoapParam() example

<?php
$client = new SoapClient(null,array('location' => "http://localhost/soap.php",
                                    'uri'      => "http://test-uri/"));
$client->SomeFunction(new SoapParam($a, "a"),
                      new SoapParam($b, "b"),
                      new SoapParam($c, "c"));
?>

Siehe auch

  • SoapClient::__soapCall() - Ruft eine SOAP-Funktion auf
  • SoapVar::SoapVar() - SoapVar-Konstruktor

SoapParam->__construct()
SoapVar
SoapParam


The SoapVar class

(PHP 5 >= 5.0.1, PHP 7)

Einführung

A class representing a variable or object for use with SOAP services.

Klassenbeschreibung

SoapVar {
/* Methoden */
__construct ( string $data , string $encoding [, string $type_name [, string $type_namespace [, string $node_name [, string $node_namespace ]]]] )
SoapVar ( mixed $data , string $encoding [, string $type_name [, string $type_namespace [, string $node_name [, string $node_namespace ]]]] )
}

Inhaltsverzeichnis

  • SoapVar::__construct — SoapVar-Konstruktor
  • SoapVar::SoapVar — SoapVar-Konstruktor
SoapParam::SoapParam
SoapVar::__construct
SOAP


SoapVar-Konstruktor

SoapVar
SoapVar::SoapVar
SoapVar
PHP Manual

SoapVar::__construct

(PHP 5 >= 5.0.1, PHP 7)

SoapVar::__construct — SoapVar-Konstruktor

Beschreibung

SoapVar::__construct ( string $data , string $encoding [, string $type_name [, string $type_namespace [, string $node_name [, string $node_namespace ]]]] )

Diese Funktion ist ein Alias für: SoapVar::SoapVar()

SoapVar
SoapVar::SoapVar
SoapVar


SoapVar-Konstruktor

SoapVar::__construct
Yar
SoapVar
PHP Manual

SoapVar::SoapVar

(PHP 5 >= 5.0.1, PHP 7)

SoapVar::SoapVar — SoapVar-Konstruktor

Beschreibung

SoapVar::SoapVar ( mixed $data , string $encoding [, string $type_name [, string $type_namespace [, string $node_name [, string $node_namespace ]]]] )

Erstellt ein neues SoapVar-Objekt.

Parameter-Liste

data

Die zu übergebenden oder zurückzugebenden Daten.

encoding

Die Encoding-ID, eine der XSD_...-Konstanten.

type_name

Der Type-Name.

type_namespace

Der Type-Namespace.

node_name

Der XML-Nodename.

node_namespace

Der XML-Node-Namespace.

Beispiele

Beispiel #1 SoapVar::SoapVar()-Beispiel

<?php
class SOAPStruct {
    function SOAPStruct($s, $i, $f)
    {
        $this->varString = $s;
        $this->varInt = $i;
        $this->varFloat = $f;
    }
}
$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));
$struct = new SOAPStruct('arg', 34, 325.325);
$soapstruct = new SoapVar($struct, SOAP_ENC_OBJECT, "SOAPStruct", "http://soapinterop.org/xsd");
$client->echoStruct(new SoapParam($soapstruct, "inputStruct"));
?>

Siehe auch

  • SoapClient::__soapCall() - Ruft eine SOAP-Funktion auf
  • SoapParam::SoapParam() - SoapParam constructor

SoapVar::__construct
Yar
SoapVar


Yet Another RPC Framework

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
  • Yar_Server — The Yar_Server class
    • Yar_Server::__construct — Register a server
    • Yar_Server::handle — Start RPC Server
  • Yar_Client — The Yar_Client class
    • Yar_Client::__call — Call service
    • Yar_Client::__construct — Create a client
    • Yar_Client::setOpt — Set calling contexts
  • Yar_Concurrent_Client — The Yar_Concurrent_Client class
    • Yar_Concurrent_Client::call — Register a concurrent call
    • Yar_Concurrent_Client::loop — Send all calls
    • Yar_Concurrent_Client::reset — Clean all registered calls
  • Yar_Server_Exception — The Yar_Server_Exception class
    • Yar_Server_Exception::getType — The getType purpose
  • Yar_Client_Exception — The Yar_Client_Exception class
    • Yar_Client_Exception::getType — The getType purpose
SoapVar::SoapVar
Einführung
Web Services


Einführung

Yar is a RPC framework which aims to provide a simple and easy way to do communication between PHP applications It has the ability to concurrently call multiple remote services.

Yar
Installation/Konfiguration
Yar


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
Yar


Anforderungen

if you want to use msgpack as packager, you need compile Yar by your self with ./configure --enable-msgpack

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/yar.

Eine DLL-Datei für diese PECL-Erweiterung steht derzeit nicht zur Verfügung. Weitere Details finden Sie im Abschnitt zum Kompilieren für Windows.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Yar Konfigurationsoptionen
Name | Standard | Veränderbar | Changelog
yar.packager | php | PHP_INI_SYSTEM |
yar.debug | Off | PHP_INI_ALL |
yar.connect_timeout | 1000 | PHP_INI_ALL |
yar.timeout | 5000 | PHP_INI_ALL |
yar.expose_info | On | PHP_INI_SYS |

Hier eine kurze Erklärung der Konfigurationsoptionen:

yar.packager string

it could be php, json, and msgpack(require built with msgpack support)

yar.debug string

yar.connect_timeout integer

timeout in ms

yar.timeout integer

timeout in ms

yar.expose_info bool

whether expose the service info(when access the server via GET)

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

YAR_VERSION (string)
YAR_CLIENT_PROTOCOL_HTTP (integer)
YAR_CLIENT_OPT_PACKAGER (integer)
YAR_CLIENT_OPT_TIMEOUT (integer)
YAR_CLIENT_OPT_CONNECT_TIMEOUT (integer)
YAR_PACKAGER_PHP (string)
YAR_PACKAGER_JSON (string)
YAR_ERR_OKEY (integer)
YAR_ERR_OUTPUT (integer)
YAR_ERR_TRANSPORT (integer)
YAR_ERR_REQUEST (integer)
YAR_ERR_PROTOCOL (integer)
YAR_ERR_PACKAGER (integer)
YAR_ERR_EXCEPTION (integer)

Ressource-Typen
Beispiele
Yar


Beispiele

Beispiel #1 Yar Server Example

<?php

/* assume this page can be accessed by http://example.com/operator.php */

class Operator {

    /**
     * Add two operands
     * @param interge
     * @return interge
     */
    public function add($a, $b) {
        return $this->_add($a, $b);
    }

    /**
     * Sub
     */
    public function sub($a, $b) {
        return $a - $b;
    }

    /**
     * Mul
     */
    public function mul($a, $b) {
        return $a * $b;
    }

    /**
     * Protected methods will not be exposed
     * @param interge
     * @return interge
     */
    protected function _add($a, $b) {
        return $a + $b;
    }
}

$server = new Yar_Server(new Operator());
$server->handle();
?>

Beispiel #2 Access the server in borwser(GET request)

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Yar Server Info

Beispiel #3 Yar Client Example

<?php
$client = new yar_client("http://example.com/operator.php");

/* call directly */
var_dump($client->add(1, 2));

/* call via call */
var_dump($client->call("add", array(3, 2)));

/* __add can not be called */
var_dump($client->_add(1, 2));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

int(3)
int(5)
PHP Fatal error:  Uncaught exception 'Yar_Server_Exception' with message 'call to api Operator::_add() failed' in *

Beispiel #4 Yar Concurrent Client Example

<?php
function callback($ret, $callinfo) {
    echo $callinfo['method'] , " result: ", $ret , "\n";
}

/* register async call to remote services */
Yar_Concurrent_Client::call("http://example.com/operator.php", "add", array(1, 2), "callback");
Yar_Concurrent_Client::call("http://example.com/operator.php", "sub", array(2, 1), "callback");
Yar_Concurrent_Client::call("http://example.com/operator.php", "mul", array(2, 2), "callback");

/* sent all request and wait for response */
Yar_Concurrent_Client::loop();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

mul result: 4
sub result: 1
add result: 3
Vordefinierte Konstanten
Yar_Server
Yar


The Yar_Server class

(No version information available, might only be in Git)

Einführung

Klassenbeschreibung

Yar_Server {
/* Eigenschaften */
protected $_executor ;
/* Methoden */
final public __construct ( Object $obj )
public boolean handle ( void )
}

Eigenschaften

_executor

Inhaltsverzeichnis

  • Yar_Server::__construct — Register a server
  • Yar_Server::handle — Start RPC Server
Beispiele
Yar_Server::__construct
Yar


Register a server

Yar_Server
Yar_Server::handle
Yar_Server
PHP Manual

Yar_Server::__construct

(PECL yar >= 1.0.0)

Yar_Server::__construct — Register a server

Beschreibung

final public Yar_Server::__construct ( Object $obj )

Set up a Yar HTTP RPC Server, All the public methods of $obj will be register as a RPC service.

Parameter-Liste

obj

An Object, all public methods of its will be registered as RPC services.

Rückgabewerte

An instance of Yar_Server.

Beispiele

Beispiel #1 Yar_Server::__construct() example

<?php
class API {
    /**
     * the doc info will be generated automatically into service info page.
     * @params
     * @return
     */
    public function some_method($parameter, $option = "foo") {
         return "some_method";
    }

    protected function client_can_not_see() {
    }
}

$service = new Yar_Server(new API());
$service->handle();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Siehe auch

  • Yar_Server::handle() - Start RPC Server
    •

Yar_Server

Yar_Server::handle

Yar_Server


Start RPC Server

Yar_Server::__construct
Yar_Client
Yar_Server
PHP Manual

Yar_Server::handle

(PECL yar >= 1.0.0)

Yar_Server::handle — Start RPC Server

Beschreibung

public boolean Yar_Server::handle ( void )

Start a RPC HTTP server, and ready for accpet RPC requests.

Hinweis:

Usual RPC calls will be issued as HTTP POST requests. If a HTTP GET request is issued to the uri, the service information (commented section above) will be printed on the page

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

boolean

Beispiele

Beispiel #1 Yar_Server::handle() example

<?php
class API {
    /**
     * the doc info will be generated automatically into service info page.
     * @params
     * @return
     */
    public function some_method($parameter, $option = "foo") {
    }

    protected function client_can_not_see() {
    }
}

$service = new Yar_Server(new API());
$service->handle();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Siehe auch

  • Yar_Server::__construct() - Register a server
    •

Yar_Server::__construct

Yar_Client

Yar_Server


The Yar_Client class

(No version information available, might only be in Git)

Einführung

Klassenbeschreibung

Yar_Client {
/* Eigenschaften */
protected $_protocol ;
protected $_uri ;
protected $_options ;
protected $_running ;
/* Methoden */
public void __call ( string $method , array $parameters )
final public __construct ( string $url )
public boolean setOpt ( number $name , mixed $value )
}

Eigenschaften

_protocol

_uri

_options

_running

Inhaltsverzeichnis

  • Yar_Client::__call — Call service
  • Yar_Client::__construct — Create a client
  • Yar_Client::setOpt — Set calling contexts
Yar_Server::handle
Yar_Client::__call
Yar


Call service

Yar_Client
Yar_Client::__construct
Yar_Client
PHP Manual

Yar_Client::__call

(PECL yar >= 1.0.0)

Yar_Client::__call — Call service

Beschreibung

public void Yar_Client::__call ( string $method , array $parameters )

Issue a call to remote RPC method.

Parameter-Liste

method

Remote RPC method name.

parameters

Parameters.

Rückgabewerte

Beispiele

Beispiel #1 Yar_Client::__call() example

<?php

$client = new Yar_Client("http://host/api/");

/* call remote service */
$result = $client->some_method("parameter");
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Siehe auch

  • Yar_Client::setOpt() - Set calling contexts
    •

Yar_Client

Yar_Client::__construct

Yar_Client


Create a client

Yar_Client::__call
Yar_Client::setOpt
Yar_Client
PHP Manual

Yar_Client::__construct

(PECL yar >= 1.0.0)

Yar_Client::__construct — Create a client

Beschreibung

final public Yar_Client::__construct ( string $url )

Create a Yar_Client to a Yar_Server.

Parameter-Liste

url

Yar Server URL.

Rückgabewerte

Yar_Client instance.

Beispiele

Beispiel #1 Yar_Client::__construct() example

<?php
$client = new Yar_Client("http://host/api/");
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Siehe auch

  • Yar_Client::__call() - Call service
    •

  • Yar_Client::setOpt() - Set calling contexts
    •

Yar_Client::__call

Yar_Client::setOpt

Yar_Client


Set calling contexts

Yar_Client::__construct
Yar_Concurrent_Client
Yar_Client
PHP Manual

Yar_Client::setOpt

(PECL yar >= 1.0.0)

Yar_Client::setOpt — Set calling contexts

Beschreibung

public boolean Yar_Client::setOpt ( number $name , mixed $value )

Parameter-Liste

name

it can be: YAR_OPT_PACKAGER, YAR_OPT_PERSISTENT (Need server support), YAR_OPT_TIMEOUT, YAR_OPT_CONNECT_TIMEOUT

value

Rückgabewerte

Beispiele

Beispiel #1 Yar_Client::setOpt() example

<?php

$cient = new Yar_Client("http://host/api/");

//Set timeout to 1s
$client->SetOpt(YAR_OPT_CONNECT_TIMEOUT, 1000);

//Set packager to JSON
$client->SetOpt(YAR_OPT_PACKAGER, "json");

/* call remote service */
$result = $client->some_method("parameter");
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Siehe auch

  • Yar_Client::__call() - Call service
    •

Yar_Client::__construct

Yar_Concurrent_Client

Yar_Client


The Yar_Concurrent_Client class

(No version information available, might only be in Git)

Einführung

Klassenbeschreibung

Yar_Concurrent_Client {
/* Eigenschaften */
static $_callstack ;
static $_callback ;
static $_error_callback ;
/* Methoden */
public static int call ( string $uri , string $method , array $parameters [, callable $callback ] )
public static boolean loop ([ callable $callback [, callable $error_callback ]] )
public static boolean reset ( void )
}

Eigenschaften

_callstack

_callback

_error_callback

Inhaltsverzeichnis

  • Yar_Concurrent_Client::call — Register a concurrent call
  • Yar_Concurrent_Client::loop — Send all calls
  • Yar_Concurrent_Client::reset — Clean all registered calls
Yar_Client::setOpt
Yar_Concurrent_Client::call
Yar


Register a concurrent call

Yar_Concurrent_Client
Yar_Concurrent_Client::loop
Yar_Concurrent_Client
PHP Manual

Yar_Concurrent_Client::call

(PECL yar >= 1.0.0)

Yar_Concurrent_Client::call — Register a concurrent call

Beschreibung

public static int Yar_Concurrent_Client::call ( string $uri , string $method , array $parameters [, callable $callback ] )

Register a RPC call, but won't sent it immediately, it will be send while further call to Yar_Concurrent_Client::loop()

Parameter-Liste

uri

The RPC server URI(http, tcp)

method

Service name(aka the method name)

parameters

Parameters

callback

A function callback, which will be called while the response return.

Rückgabewerte

An unique id, can be used to identified which call it is.

Beispiele

Beispiel #1 Yar_Concurrent_Client::call() example

<?php
function callback($retval, $callinfo) {
     var_dump($retval);
}

function error_callback($type, $error, $callinfo) {
    error_log($error);
}

Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback");
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"));   // if the callback is not specificed,
                                                                               // callback in loop will be used
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback", NULL, array(YAR_OPT_PACKAGER => "json"));
                                                                               //this server accept json packager
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback", NULL, array(YAR_OPT_TIMEOUT=>1));
                                                                               //custom timeout

//The requests are not sent yet
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Siehe auch

  • Yar_Concurrent_Client::loop() - Send all calls
    •

  • Yar_Concurrent_Client::reset() - Clean all registered calls
    •

  • Yar_Server::__construct() - Register a server
    •

  • Yar_Server::handle() - Start RPC Server
    •

Yar_Concurrent_Client

Yar_Concurrent_Client::loop

Yar_Concurrent_Client


Send all calls

Yar_Concurrent_Client::call
Yar_Concurrent_Client::reset
Yar_Concurrent_Client
PHP Manual

Yar_Concurrent_Client::loop

(PECL yar >= 1.0.0)

Yar_Concurrent_Client::loop — Send all calls

Beschreibung

public static boolean Yar_Concurrent_Client::loop ([ callable $callback [, callable $error_callback ]] )

Send all registed remote RPC calls.

Parameter-Liste

callback

If this callback is set, then Yar will call this callback after all calls are sent and before any response return, with a $callinfo NULL.

Then, if user didn't specify callback when registering concurrent call, this callback will be used to handle response, otherwise, the callback specified while registering will be used.

error_callback

If this callback is set, then Yar will call this callback while error occurred.

Rückgabewerte

Beispiele

Beispiel #1 Yar_Concurrent_Client::loop() example

<?php
function callback($retval, $callinfo) {
     if ($callinfo == NULL) {
        echo "Now, all requests are sent, and no any response available\n";
     } else {
        echo "This is a remote call response, the method name is", $callinfo["method"],
             ". calling sequence is " , $callinfo["sequence"] , "\n";
        var_dump($retval);
     }
}

function error_callback($type, $error, $callinfo) {
    error_log($error);
}

Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback");
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"));   // if the callback is not specificed,
                                                                               // callback in loop will be used
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback", NULL, array(YAR_OPT_PACKAGER => "json"));
                                                                               //this server accept json packager
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback", NULL, array(YAR_OPT_TIMEOUT=>1));
                                                                               //custom timeout

Yar_Concurrent_Client::loop("callback", "error_callback"); //send the requests,
                                                           //the error_callback is optional
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Now, all requests are sent, and no any response available
This is a remote call response, the method name issome_method. calling sequence is 4
string(11) "some_method"
This is a remote call response, the method name issome_method. calling sequence is 1
string(11) "some_method"
This is a remote call response, the method name issome_method. calling sequence is 2
string(11) "some_method"
This is a remote call response, the method name issome_method. calling sequence is 3
string(11) "some_method"

Siehe auch

  • Yar_Concurrent_Client::call() - Register a concurrent call
  • Yar_Concurrent_Client::reset() - Clean all registered calls
  • Yar_Server::__construct() - Register a server
  • Yar_Server::handle() - Start RPC Server
Yar_Concurrent_Client::call
Yar_Concurrent_Client::reset
Yar_Concurrent_Client


Clean all registered calls

Yar_Concurrent_Client::loop
Yar_Server_Exception
Yar_Concurrent_Client
PHP Manual

Yar_Concurrent_Client::reset

(No version information available, might only be in Git)

Yar_Concurrent_Client::reset — Clean all registered calls

Beschreibung

public static boolean Yar_Concurrent_Client::reset ( void )

Clean all registered calls

Parameter-Liste

Rückgabewerte

Beispiele

Beispiel #1 Yar_Concurrent_Client::reset() example

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Siehe auch

  • Yar_Concurrent_Client::call() - Register a concurrent call
    •

  • Yar_Concurrent_Client::loop() - Send all calls
    •

  • Yar_Server::__construct() - Register a server
    •

  • Yar_Server::handle() - Start RPC Server
    •

Yar_Concurrent_Client::loop

Yar_Server_Exception

Yar_Concurrent_Client


The Yar_Server_Exception class

(No version information available, might only be in Git)

Einführung

If service threw exceptions, A Yar_Server_Exception will be threw in client side.

Klassenbeschreibung

Yar_Server_Exception extends Exception {
/* Eigenschaften */
protected $_type ;
/* Methoden */
public string getType ( void )
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Eigenschaften

message

code

file

line

_type

Inhaltsverzeichnis

  • Yar_Server_Exception::getType — The getType purpose
Yar_Concurrent_Client::reset
Yar_Server_Exception::getType
Yar


The getType purpose

Yar_Server_Exception
Yar_Client_Exception
Yar_Server_Exception
PHP Manual

Yar_Server_Exception::getType

(PECL yar >= 1.0.0)

Yar_Server_Exception::getType — The getType purpose

Beschreibung

public string Yar_Server_Exception::getType ( void )

Get the exception original type threw by server

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

string

Beispiele

Beispiel #1 Yar_Server_Exception::getType() example

//Server.php
<?php
class Custom_Exception extends Exception {};

class API {
    public function throw_exception($name) {
        throw new Custom_Exception($name);
    }
}

$service = new Yar_Server(new API());
$service->handle();
?>

//Client.php
<?php
$client = new Yar_Client("http://host/api.php");

try {
    $client->throw_exception("client");
} catch (Yar_Server_Exception $e) {
    var_dump($e->getType());
    var_dump($e->getMessage());
}

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

string(16) "Custom_Exception"
string(6) "client"

Siehe auch

Yar_Server_Exception
Yar_Client_Exception
Yar_Server_Exception


The Yar_Client_Exception class

(No version information available, might only be in Git)

Einführung

Klassenbeschreibung

Yar_Client_Exception extends Exception {
/* Eigenschaften */
/* Methoden */
public void getType ( void )
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Eigenschaften

message

code

file

line

Inhaltsverzeichnis

  • Yar_Client_Exception::getType — The getType purpose
Yar_Server_Exception::getType
Yar_Client_Exception::getType
Yar


The getType purpose

Yar_Client_Exception
XML-RPC
Yar_Client_Exception
PHP Manual

Yar_Client_Exception::getType

(PECL yar >= 1.0.0)

Yar_Client_Exception::getType — The getType purpose

Beschreibung

public void Yar_Client_Exception::getType ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Beispiele

Beispiel #1 Yar_Client_Exception::getType() example

<?php

/* ... */

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

...

Siehe auch

Yar_Client_Exception
XML-RPC
Yar_Client_Exception


XML-RPC

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • XML-RPC Funktionen
    • xmlrpc_decode_request — Decodes XML into native PHP types
    • xmlrpc_decode — Decodes XML into native PHP types
    • xmlrpc_encode_request — Generates XML for a method request
    • xmlrpc_encode — Generates XML for a PHP value
    • xmlrpc_get_type — Gets xmlrpc type for a PHP value
    • xmlrpc_is_fault — Determines if an array value represents an XMLRPC fault
    • xmlrpc_parse_method_descriptions — Decodes XML into a list of method descriptions
    • xmlrpc_server_add_introspection_data — Adds introspection documentation
    • xmlrpc_server_call_method — Parses XML requests and call methods
    • xmlrpc_server_create — Creates an xmlrpc server
    • xmlrpc_server_destroy — Destroys server resources
    • xmlrpc_server_register_introspection_callback — Register a PHP function to generate documentation
    • xmlrpc_server_register_method — Register a PHP function to resource method matching method_name
    • xmlrpc_set_type — Sets xmlrpc type, base64 or datetime, for a PHP string value
Yar_Client_Exception::getType
Einführung
Web Services


Einführung

These functions can be used to write XML-RPC servers and clients. You can find more information about XML-RPC at » http://www.xmlrpc.com/, and more documentation on this extension and its functions at » http://xmlrpc-epi.sourceforge.net/.

Warnung

Diese Erweiterung ist EXPERIMENTELL. Das Verhalten dieser Erweiterung, einschließlich der Funktionsnamen, und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Erweiterung auf eigenes Risiko.

XML-RPC
Installation/Konfiguration
XML-RPC


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
XML-RPC


Installation

XML-RPC support in PHP is not enabled by default. You will need to use the --with-xmlrpc[=DIR] configuration option when compiling PHP to enable XML-RPC support. This extension is bundled into PHP as of 4.1.0.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Ressource-Typen

This extension defines a XML-RPC server resource returned by xmlrpc_server_create().

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
XML-RPC Funktionen
XML-RPC


XML-RPC Funktionen

Inhaltsverzeichnis

  • xmlrpc_decode_request — Decodes XML into native PHP types
  • xmlrpc_decode — Decodes XML into native PHP types
  • xmlrpc_encode_request — Generates XML for a method request
  • xmlrpc_encode — Generates XML for a PHP value
  • xmlrpc_get_type — Gets xmlrpc type for a PHP value
  • xmlrpc_is_fault — Determines if an array value represents an XMLRPC fault
  • xmlrpc_parse_method_descriptions — Decodes XML into a list of method descriptions
  • xmlrpc_server_add_introspection_data — Adds introspection documentation
  • xmlrpc_server_call_method — Parses XML requests and call methods
  • xmlrpc_server_create — Creates an xmlrpc server
  • xmlrpc_server_destroy — Destroys server resources
  • xmlrpc_server_register_introspection_callback — Register a PHP function to generate documentation
  • xmlrpc_server_register_method — Register a PHP function to resource method matching method_name
  • xmlrpc_set_type — Sets xmlrpc type, base64 or datetime, for a PHP string value
Vordefinierte Konstanten
xmlrpc_decode_request
XML-RPC


Decodes XML into native PHP types

XML-RPC Funktionen
xmlrpc_decode
XML-RPC Funktionen
PHP Manual

xmlrpc_decode_request

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_decode_request — Decodes XML into native PHP types

Beschreibung

mixed xmlrpc_decode_request ( string $xml , string &$method [, string $encoding ] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

XML-RPC Funktionen
xmlrpc_decode
XML-RPC Funktionen


Decodes XML into native PHP types

xmlrpc_decode_request
xmlrpc_encode_request
XML-RPC Funktionen
PHP Manual

xmlrpc_decode

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_decode — Decodes XML into native PHP types

Beschreibung

mixed xmlrpc_decode ( string $xml [, string $encoding = "iso-8859-1" ] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Parameter-Liste

xml

XML response returned by XMLRPC method.

encoding

Input encoding supported by iconv.

Rückgabewerte

Returns either an array, or an integer, or a string, or a boolean according to the response returned by the XMLRPC method.

Beispiele

See example by xmlrpc_encode_request().

Siehe auch

  • xmlrpc_encode_request() - Generates XML for a method request
  • xmlrpc_is_fault() - Determines if an array value represents an XMLRPC fault

xmlrpc_decode_request
xmlrpc_encode_request
XML-RPC Funktionen


Generates XML for a method request

xmlrpc_decode
xmlrpc_encode
XML-RPC Funktionen
PHP Manual

xmlrpc_encode_request

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_encode_request — Generates XML for a method request

Beschreibung

string xmlrpc_encode_request ( string $method , mixed $params [, array $output_options ] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Parameter-Liste

method

Name of the method to call.

params

Method parameters compatible with method signature.

output_options

Array specifying output options may contain (default values are emphasised):

  • output_type: php, xml

  • verbosity: no_white_space, newlines_only, pretty

  • escaping: cdata, non-ascii, non-print, markup (may be a string with one value or an array with multiple values)

  • version: simple, xmlrpc, soap 1.1, auto

  • encoding: iso-8859-1, other character set supported by iconv

Rückgabewerte

Returns a string containing the XML representation of the request.

Beispiele

Beispiel #1 XMLRPC client functions example

<?php
$request = xmlrpc_encode_request("method", array(1, 2, 3));
$context = stream_context_create(array('http' => array(
    'method' => "POST",
    'header' => "Content-Type: text/xml",
    'content' => $request
)));
$file = file_get_contents("http://www.example.com/xmlrpc", false, $context);
$response = xmlrpc_decode($file);
if ($response && xmlrpc_is_fault($response)) {
    trigger_error("xmlrpc: $response[faultString] ($response[faultCode])");
} else {
    print_r($response);
}
?>

Siehe auch

  • stream_context_create() - Creates a stream context
  • file_get_contents() - Liest die gesamte Datei in einen String
  • xmlrpc_decode() - Decodes XML into native PHP types

xmlrpc_decode
xmlrpc_encode
XML-RPC Funktionen


Generates XML for a PHP value

xmlrpc_encode_request
xmlrpc_get_type
XML-RPC Funktionen
PHP Manual

xmlrpc_encode

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_encode — Generates XML for a PHP value

Beschreibung

string xmlrpc_encode ( mixed $value )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

xmlrpc_encode_request
xmlrpc_get_type
XML-RPC Funktionen


Gets xmlrpc type for a PHP value

xmlrpc_encode
xmlrpc_is_fault
XML-RPC Funktionen
PHP Manual

xmlrpc_get_type

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_get_type — Gets xmlrpc type for a PHP value

Beschreibung

string xmlrpc_get_type ( mixed $value )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

This function is especially useful for base64 and datetime strings.

Parameter-Liste

value

PHP value

Rückgabewerte

Returns the XML-RPC type.

Beispiele

Beispiel #1 XML-RPC type example

<?php
echo xmlrpc_get_type(null) . "\n"; // base64
echo xmlrpc_get_type(false) . "\n"; // boolean
echo xmlrpc_get_type(1) . "\n"; // int
echo xmlrpc_get_type(1.0) . "\n"; // double
echo xmlrpc_get_type("") . "\n"; // string
echo xmlrpc_get_type(array()) . "\n"; // array
echo xmlrpc_get_type(new stdClass) . "\n"; // array
echo xmlrpc_get_type(STDIN) . "\n"; // int
?>

Siehe auch

  • xmlrpc_set_type() - Sets xmlrpc type, base64 or datetime, for a PHP string value

xmlrpc_encode
xmlrpc_is_fault
XML-RPC Funktionen


Determines if an array value represents an XMLRPC fault

xmlrpc_get_type
xmlrpc_parse_method_descriptions
XML-RPC Funktionen
PHP Manual

xmlrpc_is_fault

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

xmlrpc_is_fault — Determines if an array value represents an XMLRPC fault

Beschreibung

bool xmlrpc_is_fault ( array $arg )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Parameter-Liste

arg

Array returned by xmlrpc_decode().

Rückgabewerte

Returns TRUE if the argument means fault, FALSE otherwise. Fault description is available in $arg["faultString"], fault code is in $arg["faultCode"].

Beispiele

See example by xmlrpc_encode_request().

Siehe auch

  • xmlrpc_decode() - Decodes XML into native PHP types

xmlrpc_get_type
xmlrpc_parse_method_descriptions
XML-RPC Funktionen


Decodes XML into a list of method descriptions

xmlrpc_is_fault
xmlrpc_server_add_introspection_data
XML-RPC Funktionen
PHP Manual

xmlrpc_parse_method_descriptions

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_parse_method_descriptions — Decodes XML into a list of method descriptions

Beschreibung

array xmlrpc_parse_method_descriptions ( string $xml )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

xmlrpc_is_fault
xmlrpc_server_add_introspection_data
XML-RPC Funktionen


Adds introspection documentation

xmlrpc_parse_method_descriptions
xmlrpc_server_call_method
XML-RPC Funktionen
PHP Manual

xmlrpc_server_add_introspection_data

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_server_add_introspection_data — Adds introspection documentation

Beschreibung

int xmlrpc_server_add_introspection_data ( resource $server , array $desc )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

xmlrpc_parse_method_descriptions
xmlrpc_server_call_method
XML-RPC Funktionen


Parses XML requests and call methods

xmlrpc_server_add_introspection_data
xmlrpc_server_create
XML-RPC Funktionen
PHP Manual

xmlrpc_server_call_method

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_server_call_method — Parses XML requests and call methods

Beschreibung

string xmlrpc_server_call_method ( resource $server , string $xml , mixed $user_data [, array $output_options ] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

xmlrpc_server_add_introspection_data
xmlrpc_server_create
XML-RPC Funktionen


Creates an xmlrpc server

xmlrpc_server_call_method
xmlrpc_server_destroy
XML-RPC Funktionen
PHP Manual

xmlrpc_server_create

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_server_create — Creates an xmlrpc server

Beschreibung

resource xmlrpc_server_create ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

xmlrpc_server_call_method
xmlrpc_server_destroy
XML-RPC Funktionen


Destroys server resources

xmlrpc_server_create
xmlrpc_server_register_introspection_callback
XML-RPC Funktionen
PHP Manual

xmlrpc_server_destroy

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_server_destroy — Destroys server resources

Beschreibung

int xmlrpc_server_destroy ( resource $server )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

xmlrpc_server_create
xmlrpc_server_register_introspection_callback
XML-RPC Funktionen


Register a PHP function to generate documentation

xmlrpc_server_destroy
xmlrpc_server_register_method
XML-RPC Funktionen
PHP Manual

xmlrpc_server_register_introspection_callback

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_server_register_introspection_callback — Register a PHP function to generate documentation

Beschreibung

bool xmlrpc_server_register_introspection_callback ( resource $server , string $function )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

xmlrpc_server_destroy
xmlrpc_server_register_method
XML-RPC Funktionen


Register a PHP function to resource method matching method_name

xmlrpc_server_register_introspection_callback
xmlrpc_set_type
XML-RPC Funktionen
PHP Manual

xmlrpc_server_register_method

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_server_register_method — Register a PHP function to resource method matching method_name

Beschreibung

bool xmlrpc_server_register_method ( resource $server , string $method_name , string $function )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

xmlrpc_server_register_introspection_callback
xmlrpc_set_type
XML-RPC Funktionen


Sets xmlrpc type, base64 or datetime, for a PHP string value

xmlrpc_server_register_method
Windowsbasierte Erweiterungen
XML-RPC Funktionen
PHP Manual

xmlrpc_set_type

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_set_type — Sets xmlrpc type, base64 or datetime, for a PHP string value

Beschreibung

bool xmlrpc_set_type ( string &$value , string $type )

Sets xmlrpc type, base64 or datetime, for a PHP string value.

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Parameter-Liste

value

Value to set the type

type

'base64' or 'datetime'

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. If successful, value is converted to an object.

Beispiele

Beispiel #1 A xmlrpc_set_type() example

<?php

$params = date("Ymd\TH:i:s", time());
xmlrpc_set_type($params, 'datetime');
echo xmlrpc_encode($params);

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

<?xml version="1.0" encoding="utf-8"?>
<params>
<param>
 <value>
  <dateTime.iso8601>20090322T23:43:03</dateTime.iso8601>
 </value>
</param>
</params>

Fehler/Exceptions

Issues E_WARNING with type unsupported by XMLRPC.

xmlrpc_server_register_method
Windowsbasierte Erweiterungen
XML-RPC Funktionen


Windowsbasierte Erweiterungen

  • COM — COM and .Net (Windows)
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Errors and error handling
    • Beispiele
    • COM — The COM class
    • DOTNET — The DOTNET class
    • VARIANT — VARIANT class
    • COM Funktionen
  • win32ps
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • win32ps Funktionen
  • win32service
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • win32service Funktionen
xmlrpc_set_type
COM
Funktionsreferenz


COM and .Net (Windows)

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Errors and error handling
  • Beispiele
    • For Each
    • Arrays and Array-style COM properties
  • COM — The COM class
  • DOTNET — The DOTNET class
  • VARIANT — VARIANT class
  • COM Funktionen
    • com_create_guid — Generate a globally unique identifier (GUID)
    • com_event_sink — Connect events from a COM object to a PHP object
    • com_get_active_object — Returns a handle to an already running instance of a COM object
    • com_load_typelib — Lädt eine Typelib
    • com_message_pump — Process COM messages, sleeping for up to timeoutms milliseconds
    • com_print_typeinfo — Print out a PHP class definition for a dispatchable interface
    • variant_abs — Returns the absolute value of a variant
    • variant_add — "Adds" two variant values together and returns the result
    • variant_and — Performs a bitwise AND operation between two variants
    • variant_cast — Convert a variant into a new variant object of another type
    • variant_cat — concatenates two variant values together and returns the result
    • variant_cmp — Compares two variants
    • variant_date_from_timestamp — Returns a variant date representation of a Unix timestamp
    • variant_date_to_timestamp — Converts a variant date/time value to Unix timestamp
    • variant_div — Returns the result from dividing two variants
    • variant_eqv — Performs a bitwise equivalence on two variants
    • variant_fix — Returns the integer portion of a variant
    • variant_get_type — Returns the type of a variant object
    • variant_idiv — Converts variants to integers and then returns the result from dividing them
    • variant_imp — Performs a bitwise implication on two variants
    • variant_int — Returns the integer portion of a variant
    • variant_mod — Divides two variants and returns only the remainder
    • variant_mul — Multiplies the values of the two variants
    • variant_neg — Performs logical negation on a variant
    • variant_not — Performs bitwise not negation on a variant
    • variant_or — Performs a logical disjunction on two variants
    • variant_pow — Returns the result of performing the power function with two variants
    • variant_round — Rounds a variant to the specified number of decimal places
    • variant_set_type — Convert a variant into another type "in-place"
    • variant_set — Assigns a new value for a variant object
    • variant_sub — Subtracts the value of the right variant from the left variant value
    • variant_xor — Performs a logical exclusion on two variants
Windowsbasierte Erweiterungen
Einführung
Windowsbasierte Erweiterungen


Einführung

COM is an acronym for Component Object Model; it is an object orientated layer (and associated services) on top of DCE RPC (an open standard) and defines a common calling convention that enables code written in any language to call and interoperate with code written in any other language (provided those languages are COM aware). Not only can the code be written in any language, but it need not even be part of the same executable; the code can be loaded from a DLL, be found in another process running on the same machine, or, with DCOM (Distributed COM), be found in another process on a remote machine, all without your code even needing to know where a component resides.

There is a subset of COM known as OLE Automation which comprises a set of COM interfaces that allow loose binding to COM objects, so that they can be introspected and called at run-time without compile-time knowledge of how the object works. The PHP COM extension utilizes the OLE Automation interfaces to allow you to create and call compatible objects from your scripts. Technically speaking, this should really be called the "OLE Automation Extension for PHP", since not all COM objects are OLE compatible.

Now, why would or should you use COM? COM is one of the main ways to glue applications and components together on the Windows platform; using COM you can launch Microsoft Word, fill in a document template and save the result as a Word document and send it to a visitor of your web site. You can also use COM to perform administrative tasks for your network and to configure your IIS; these are just the most common uses; you can do much more with COM.

Starting with PHP 5, this extension (and this documentation) was rewritten from scratch and much of the old confusing and bogus cruft has been removed. Additionally, we support the instantiation and creation of .Net assemblies using the COM interoperability layer provided by Microsoft.

Please read » this article for an overview of the changes in this extension in PHP 5.

COM
Installation/Konfiguration
COM


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
COM


Anforderungen

COM functions are only available for the Windows version of PHP.

.Net support requires PHP 5 and the .Net runtime.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

As of PHP 5.3.15 / 5.4.5, this extension requires php_com_dotnet.dll to be enabled inside of php.ini in order to use these functions. Previous versions of PHP enabled these extensions by default.

You are responsible for installing support for the various COM objects that you intend to use (such as MS Word); we don't and can't bundle all of those with PHP.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Com configuration options
Name | Standard | Veränderbar | Changelog
com.allow_dcom | "0" | PHP_INI_SYSTEM | Available since PHP 4.0.5.
com.autoregister_typelib | "0" | PHP_INI_ALL | PHP_INI_SYSTEM in PHP 4. Available since PHP 4.1.0.
com.autoregister_verbose | "0" | PHP_INI_ALL | PHP_INI_SYSTEM in PHP 4. Available since PHP 4.1.0.
com.autoregister_casesensitive | "1" | PHP_INI_ALL | PHP_INI_SYSTEM in PHP 4. Available since PHP 4.1.0.
com.code_page | "" | PHP_INI_ALL | Available since PHP 5.0.0.
com.typelib_file | "" | PHP_INI_SYSTEM | Available since PHP 4.0.5.
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

Hier eine kurze Erklärung der Konfigurationsoptionen:

com.allow_dcom

When this is turned on, PHP will be allowed to operate as a D-COM (Distributed COM) client and will allow the PHP script to instantiate COM objects on a remote server.

com.autoregister_typelib

When this is turned on, PHP will attempt to register constants from the typelibrary of objects that it instantiates, if those objects implement the interfaces required to obtain that information. The case sensitivity of the constants it registers is controlled by the configuration directive.

com.autoregister_verbose

When this is turned on, any problems with loading a typelibrary during object instantiation will be reported using the PHP error mechanism. The default is off, which does not emit any indication if there was an error finding or loading the type library.

com.autoregister_casesensitive

When this is turned on (the default), constants found in auto-loaded type libraries will be registered case sensitively. See com_load_typelib() for more details.

com.code_page

It controls the default character set code-page to use when passing strings to and from COM objects. If set to an empty string, PHP will assume that you want CP_ACP, which is the default system ANSI code page.

If the text in your scripts is encoded using a different encoding/character set by default, setting this directive will save you from having to pass the code page as a parameter to the COM class constructor. Please note that by using this directive (as with any PHP configuration directive), your PHP script becomes less portable; you should use the COM constructor parameter whenever possible.

Hinweis: This configuration directive was introduced with PHP 5.

com.typelib_file

When set, this should hold the path to a file that contains a list of typelibraries that should be loaded on startup. Each line of the file will be treated as the type library name and loaded as though you had called com_load_typelib(). The constants will be registered persistently, so that the library only needs to be loaded once. If a type library name ends with the string #cis or #case_insensitive, then the constants from that library will be registered case insensitively.

Installation
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

This extension defines a reference to a COM component returned by deprecated com_load() (this function does not exist in PHP 5; use the COM class instead).

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

COM constants
Constant | Value | Description | Notes
CLSCTX_INPROC_SERVER (integer) | 1 | The code that creates and manages objects of this class is a DLL that runs in the same process as the caller of the function specifying the class context. |
CLSCTX_INPROC_HANDLER (integer) | 2 | The code that manages objects of this class is an in-process handler. This is a DLL that runs in the client process and implements client-side structures of this class when instances of the class are accessed remotely. |
CLSCTX_LOCAL_SERVER (integer) | 4 | The EXE code that creates and manages objects of this class runs on same machine but is loaded in a separate process space. |
CLSCTX_REMOTE_SERVER (integer) | 16 | A remote context. The code that creates and manages objects of this class is run on a different computer. |
CLSCTX_SERVER (integer) | 21 | Indicates server code, whether in-process, local, or remote. This definition ORs CLSCTX_INPROC_SERVER, CLSCTX_LOCAL_SERVER, and CLSCTX_REMOTE_SERVER. |
CLSCTX_ALL (integer) | 23 | Indicates all class contexts. This definition ORs CLSCTX_INPROC_HANDLER and CLSCTX_SERVER. |
VT_NULL (integer) | 1 | NULL pointer reference. |
VT_EMPTY (integer) | 0 | A property with a type indicator of VT_EMPTY has no data associated with it; that is, the size of the value is zero. |
VT_UI1 (integer) | 17 | 1-byte unsigned integer. |
VT_I2 (integer) | 2 | Two bytes representing a 2-byte signed integer value. |
VT_I4 (integer) | 3 | 4-byte signed integer value. |
VT_R4 (integer) | 4 | 32-bit IEEE floating point value. |
VT_R8 (integer) | 5 | 64-bit IEEE floating point value. |
VT_BOOL (integer) | 11 | Boolean value. |
VT_ERROR (integer) | 10 | Error code; containing the status code associated with the error. |
VT_CY (integer) | 6 | 8-byte two's complement integer (scaled by 10,000). |
VT_DATE (integer) | 7 | A 64-bit floating point number representing the number of days (not seconds) since December 31, 1899. For example, January 1, 1900, is 2.0, January 2, 1900, is 3.0, and so on). This is stored in the same representation as VT_R8. |
VT_BSTR (integer) | 8 | Pointer to a null-terminated Unicode string. |
VT_DECIMAL (integer) | 14 | A decimal structure. |
VT_UNKNOWN (integer) | 13 | A pointer to an object that implements the IUnknown interface. |
VT_DISPATCH (integer) | 9 | A pointer to a pointer to an object was specified. |
VT_VARIANT (integer) | 12 | A type indicator followed by the corresponding value. VT_VARIANT can be used only with VT_BYREF. |
VT_I1 (integer) | 16 | 1-byte signed integer. |
VT_UI2 (integer) | 18 | 2-byte unsigned integer. |
VT_UI4 (integer) | 19 | 4-byte unsigned integer. |
VT_INT (integer) | 22 | 4-byte signed integer value (equivalent to VT_I4). |
VT_UINT (integer) | 23 | 4-byte unsigned integer (equivalent to VT_UI4). |
VT_ARRAY (integer) | 8192 | If the type indicator is combined with VT_ARRAY by an OR operator, the value is a pointer to a SAFEARRAY. VT_ARRAY can use the OR with the following data types: VT_I1, VT_UI1, VT_I2, VT_UI2, VT_I4, VT_UI4, VT_INT, VT_UINT, VT_R4, VT_R8, VT_BOOL, VT_DECIMAL, VT_ERROR, VT_CY, VT_DATE, VT_BSTR, VT_DISPATCH, VT_UNKNOWN and VT_VARIANT. |
VT_BYREF (integer) | 16384 | If the type indicator is combined with VT_BYREF by an OR operator, the value is a reference. Reference types are interpreted as a reference to data, similar to the reference type in C++. |
CP_ACP (integer) | 0 | Default to ANSI code page. |
CP_MACCP (integer) | 2 | Macintosh code page. |
CP_OEMCP (integer) | 1 | Default to OEM code page. |
CP_UTF7 (integer) | 65000 | Unicode (UTF-7). |
CP_UTF8 (integer) | 65001 | Unicode (UTF-8). |
CP_SYMBOL (integer) | 42 | SYMBOL translations. |
CP_THREAD_ACP (integer) | 3 | Current thread's ANSI code page |
VARCMP_LT (integer) | 0 | The left bstr is less than right bstr. |
VARCMP_EQ (integer) | 1 | The two parameters are equal. |
VARCMP_GT (integer) | 2 | The left bstr is greater than right bstr. |
VARCMP_NULL (integer) | 3 | Either expression is NULL. |
NORM_IGNORECASE (integer) | 1 | Ignore case sensitivity. |
NORM_IGNORENONSPACE (integer) | 2 | Ignore nonspacing characters. |
NORM_IGNORESYMBOLS (integer) | 4 | Ignore symbols. |
NORM_IGNOREWIDTH (integer) | 131072 | Ignore string width. |
NORM_IGNOREKANATYPE (integer) | 65536 | Ignore Kana type. |
NORM_IGNOREKASHIDA (integer) | 262144 | Ignore Arabic kashida characters. | Availability is dependent upon under lying library.
DISP_E_DIVBYZERO (integer) | -2147352558 | A return error that indicates a divide by zero error. |
DISP_E_OVERFLOW (integer) | -2147352566 | An error that indicates that a value could not be coerced to its expected representation. |
MK_E_UNAVAILABLE (integer) | -2147221021 | iMoniker COM status code, return on errors where the function call failed due to unavailability. |
Ressource-Typen
Errors and error handling
COM


Errors and error handling

Exceptions (PHP 5)

This extension will throw instances of the class com_exception whenever there is a potentially fatal error reported by COM. All COM exceptions have a well-defined code property that corresponds to the HRESULT return value from the various COM operations. You may use this code to make programmatic decisions on how to handle the exception.

Vordefinierte Konstanten
Beispiele
COM


Beispiele

Inhaltsverzeichnis

  • For Each
  • Arrays and Array-style COM properties
Errors and error handling
For Each
COM


For Each

Starting with PHP 5, you may use PHP's own foreach statement to iterate over the contents of a standard COM/OLE IEnumVariant. In layman's terms, this means that you can use foreach in places where you would have used For Each in VB/ASP code.

Beispiel #1 For Each in ASP

<%
Set domainObject = GetObject("WinNT://Domain")
For Each obj in domainObject
  Response.Write obj.Name & "<br />"
Next
%>

Beispiel #2 foreach in PHP

<?php
$domainObject = new COM("WinNT://Domain");
foreach ($domainObject as $obj) {
   echo $obj->Name . "<br />";
}
?>

Beispiele
Arrays and Array-style COM properties
Beispiele


Arrays and Array-style COM properties

Many COM objects expose their properties as arrays, or using array-style access. In PHP 4, you may use PHP array syntax to read/write such a property, but only a single dimension is allowed. If you want to read a multi-dimensional property, you could instead make the property access into a function call, with each parameter representing each dimension of the array access, but there is no way to write to such a property.

PHP 5 introduces the following new features to make your life easier:

  • Access multi-dimensional arrays, or COM properties that require multiple parameters using PHP array syntax. You can also write or set properties using this technique.

  • Iterate SafeArrays ("true" arrays) using the foreach control structure. This works because SafeArrays include information about their size. If an array-style property implements IEnumVariant then you can also use foreach for that property too; take a look at For Each for more information on this topic.

For Each
COM
Beispiele


The COM class

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

Description

The COM class allows you to instantiate an OLE compatible COM object and call its methods and access its properties.

$obj = new COM("Application.ID")

Methods

COM::__construct ( string $module_name [, mixed $server_name [, int $codepage [, string $typelib ]]] )

COM class constructor. The parameters have the following meanings:

module_name
Can be a ProgID, Class ID or Moniker that names the component to load. A ProgID is typically the application or DLL name, followed by a period, followed by the object name. e.g: Word.Application. A Class ID is the UUID that uniquely identifies a given class. A Moniker is a special form of naming, similar in concept to a URL scheme, that identifies a resource and specifies how it should be loaded. As an example, you could load up Word and get an object representing a word document by specifying the full path to the word document as the module name, or you can use LDAP: as a moniker to use the ADSI interface to LDAP.
server_name
The name of the DCOM server on which the component should be loaded and run. If NULL, the object is run using the default for the application. The default is typically to run it on the local machine, although the administrator might have configured the application to launch on a different machine. If you specify a non-NULL value for server, PHP will refuse to load the object unless the configuration option is set to TRUE.

If server_name is an array, it should contain the following elements (case sensitive!). Note that they are all optional (although you need to specify both Username and Password together); if you omit the Server setting, the default server will be used (as mentioned above), and the instantiation of the object will not be affected by the directive.

DCOM server name
server_name key | type | description
Server | string | The name of the server.
Username | string | The username to connect as.
Password | string | The password for Username.
Flags | integer | One or more of the following constants, logically OR'd together: CLSCTX_INPROC_SERVER, CLSCTX_INPROC_HANDLER, CLSCTX_LOCAL_SERVER, CLSCTX_REMOTE_SERVER, CLSCTX_SERVER and CLSCTX_ALL. The default value if not specified here is CLSCTX_SERVER if you also omit Server, or CLSCTX_REMOTE_SERVER if you do specify a server. You should consult the Microsoft documentation for CoCreateInstance for more information on the meaning of these constants; you will typically never have to use them.

codepage
Specifies the codepage that is used to convert strings to unicode-strings and vice versa. The conversion is applied whenever a PHP string is passed as a parameter or returned from a method of this COM object. The code page is sticky in PHP 5, which means that it will propagate to objects and variants returned from the object. Possible values are CP_ACP (use system default ANSI code page - the default if this parameter is omitted), CP_MACCP, CP_OEMCP, CP_SYMBOL, CP_THREAD_ACP (use codepage/locale set for the current executing thread), CP_UTF7 and CP_UTF8. You may also use the number for a given codepage; consult the Microsoft documentation for more details on codepages and their numeric values.

Overloaded Methods

The returned object is an overloaded object, which means that PHP does not see any fixed methods as it does with regular classes; instead, any property or method accesses are passed through to COM.

Starting with PHP 5, PHP will automatically detect methods that accept parameters by reference, and will automatically convert regular PHP variables to a form that can be passed by reference. This means that you can call the method very naturally; you needn't go to any extra effort in your code.

Pseudo Methods

In PHP versions prior to 5, a number of not very pleasant hacks meant that the following method names were not passed through to COM and were handled directly by PHP. PHP 5 eliminates these things; read the details below to determine how to fix your scripts. These magic method names are case insensitive.

void COM::AddRef ( void )

Artificially adds a reference count to the COM object.

Warnung

You should never need to use this method. It exists as a logical complement to the Release() method below.

void COM::Release ( void )

Artificially removes a reference count from the COM object.

Warnung

You should never need to use this method. Its existence in PHP is a bug designed to work around a bug that keeps COM objects running longer than they should.

Pseudo Methods for Iterating

These pseudo methods are only available if com_isenum() returns TRUE, in which case, they hide any methods with the same names that might otherwise be provided by the COM object. These methods have all been eliminated in PHP 5, and you should use For Each instead.

variant COM::All ( void )

Returns a variant representing a SafeArray that has 10 elements; each element will be an empty/null variant. This function was supposed to return an array containing all the elements from the iterator, but was never completed. Do not use.

variant COM::Next ( void )

Returns a variant representing the next element available from the iterator, or FALSE when there are no more elements.

variant COM::Prev ( void )

Returns a variant representing the previous element available from the iterator, or FALSE when there are no more elements.

void COM::Reset ( void )

Rewinds the iterator back to the start.

COM examples

Beispiel #1 COM example (1)

<?php
// starting word
$word = new COM("word.application") or die("Unable to instantiate Word");
echo "Loaded Word, version {$word->Version}\n";

//bring it to front
$word->Visible = 1;

//open an empty document
$word->Documents->Add();

//do some weird stuff
$word->Selection->TypeText("This is a test...");
$word->Documents[1]->SaveAs("Useless test.doc");

//closing word
$word->Quit();

//free the object
$word = null;
?>

Beispiel #2 COM example (2)

<?php

$conn = new COM("ADODB.Connection") or die("Cannot start ADO");
$conn->Open("Provider=SQLOLEDB; Data Source=localhost;
Initial Catalog=database; User ID=user; Password=password");

$rs = $conn->Execute("SELECT * FROM sometable");    // Recordset

$num_columns = $rs->Fields->Count();
echo $num_columns . "\n";

for ($i=0; $i < $num_columns; $i++) {
    $fld[$i] = $rs->Fields($i);
}

$rowcount = 0;
while (!$rs->EOF) {
    for ($i=0; $i < $num_columns; $i++) {
        echo $fld[$i]->value . "\t";
    }
    echo "\n";
    $rowcount++;            // increments rowcount
    $rs->MoveNext();
}

$rs->Close();
$conn->Close();

$rs = null;
$conn = null;

?>

Arrays and Array-style COM properties
DOTNET
COM


The DOTNET class

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

Description

The DOTNET class allows you to instantiate a class from a .Net assembly and call its methods and access its properties.

$obj = new DOTNET("assembly", "classname")

Methods

DOTNET::__construct ( string $assembly_name , string $class_name [, int $codepage ] )

DOTNET class constructor. assembly_name specifies which assembly should be loaded, and class_name specifices which class in that assembly to instantiate. You may optionally specify a codepage to use for unicode string transformations; see the COM class for more details on code pages.

The returned object is an overloaded object, which means that PHP does not see any fixed methods as it does with regular classes; instead, any property or method accesses are passed through to COM and from there to DOTNET. In other words, the .Net object is mapped through the COM interoperability layer provided by the .Net runtime.

Once you have created a DOTNET object, PHP treats it identically to any other COM object; all the same rules apply.

Beispiel #1 DOTNET example

<?php
 $stack = new DOTNET("mscorlib", "System.Collections.Stack");
 $stack->Push(".Net");
 $stack->Push("Hello ");
 echo $stack->Pop() . $stack->Pop();
?>

Hinweis:

You need to install the .Net runtime on your web server to take advantage of this feature.

COM
VARIANT
COM


VARIANT class

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

Description

The VARIANT is COM's equivalent of the PHP zval; it is a structure that can contain a value with a range of different possible types. The VARIANT class provided by the COM extension allows you to have more control over the way that PHP passes values to and from COM.

$vVar = new VARIANT($var)

Methods

VARIANT::__construct ([ mixed $value [, int $type [, int $codepage ]]] )

VARIANT class constructor. Parameters:

value
initial value. if omitted, or set to NULL an VT_EMPTY object is created.
type
specifies the content type of the VARIANT object. Possible values are one of the VT_XXX Vordefinierte Konstanten. In PHP versions prior to PHP 5, you could force PHP to pass a variant object by reference by OR'ing VT_BYREF with the type. In PHP 5, this hack is not supported; instead, PHP 5 can detect parameters passed by reference automatically; they do not even need to be passed as VARIANT objects. Consult the MSDN library for additional information on the VARIANT type.
codepage
specifies the codepage that is used to convert strings to unicode. See the parameter of the same name in the COM class for more information.

PHP versions prior to PHP 5 define a number of (undocumented) virtual properties for instances of the VARIANT class; these properties have all been removed in PHP 5 in favour of its more natural syntax; these differences are best highlighted by example:

Beispiel #1 Variant example, PHP 4.x style

<?php
$v = new VARIANT(42);
print "The type is " . $v->type . "<br/>";
print "The value is " . $v->value . "<br/>";
?>

Beispiel #2 Variant example, PHP 5 style

<?php
$v = new VARIANT(42);
print "The type is " . variant_get_type($v) . "<br/>";
print "The value is " . $v . "<br/>";
?>

The reason for the change is that, internally, the COM extension sees VARIANT, COM and DOTNET classes as the same thing, and the design philosophy for these classes is that all property and member accesses are passed through to COM with no interference. The new syntax is more natural and less effort, and most of the removed virtual properties didn't make any sense in a PHP context in any case.

Hinweis:

PHP 5 takes a much simpler approach to handling VARIANTs; when returning a value or fetching a variant property, the variant is converted to a PHP value only when there is a direct mapping between the types that would not result in a loss of information. In all other cases, the result is returned as an instance of the VARIANT class. You can force PHP to convert or evaluate the variant as a PHP native type by using a casting operator explicitly, or implicitly casting to a string by printing it. You may use the wide range of variant functions to perform arithmetic operations on variants without forcing a conversion or risking a loss of data.

See also variant_get_type().

DOTNET
COM Funktionen
COM


COM Funktionen

Siehe auch

For further information on COM read the » COM specification. You might find some additional useful information in our FAQ for PHP und COM. If you're thinking of using MS Office applications on the server side, you should read the information here: » Considerations for Server-Side Automation of Office.

Inhaltsverzeichnis

  • com_create_guid — Generate a globally unique identifier (GUID)
  • com_event_sink — Connect events from a COM object to a PHP object
  • com_get_active_object — Returns a handle to an already running instance of a COM object
  • com_load_typelib — Lädt eine Typelib
  • com_message_pump — Process COM messages, sleeping for up to timeoutms milliseconds
  • com_print_typeinfo — Print out a PHP class definition for a dispatchable interface
  • variant_abs — Returns the absolute value of a variant
  • variant_add — "Adds" two variant values together and returns the result
  • variant_and — Performs a bitwise AND operation between two variants
  • variant_cast — Convert a variant into a new variant object of another type
  • variant_cat — concatenates two variant values together and returns the result
  • variant_cmp — Compares two variants
  • variant_date_from_timestamp — Returns a variant date representation of a Unix timestamp
  • variant_date_to_timestamp — Converts a variant date/time value to Unix timestamp
  • variant_div — Returns the result from dividing two variants
  • variant_eqv — Performs a bitwise equivalence on two variants
  • variant_fix — Returns the integer portion of a variant
  • variant_get_type — Returns the type of a variant object
  • variant_idiv — Converts variants to integers and then returns the result from dividing them
  • variant_imp — Performs a bitwise implication on two variants
  • variant_int — Returns the integer portion of a variant
  • variant_mod — Divides two variants and returns only the remainder
  • variant_mul — Multiplies the values of the two variants
  • variant_neg — Performs logical negation on a variant
  • variant_not — Performs bitwise not negation on a variant
  • variant_or — Performs a logical disjunction on two variants
  • variant_pow — Returns the result of performing the power function with two variants
  • variant_round — Rounds a variant to the specified number of decimal places
  • variant_set_type — Convert a variant into another type "in-place"
  • variant_set — Assigns a new value for a variant object
  • variant_sub — Subtracts the value of the right variant from the left variant value
  • variant_xor — Performs a logical exclusion on two variants
VARIANT
com_create_guid
COM


Generate a globally unique identifier (GUID)

COM Funktionen
com_event_sink
COM Funktionen
PHP Manual

com_create_guid

(PHP 5, PHP 7)

com_create_guid — Generate a globally unique identifier (GUID)

Beschreibung

string com_create_guid ( void )

Generates a Globally Unique Identifier (GUID).

A GUID is generated in the same way as DCE UUID's, except that the Microsoft convention is to enclose a GUID in curly braces.

Rückgabewerte

Returns the GUID as a string.

Siehe auch

  • uuid_create() in the PECL uuid extension

COM Funktionen
com_event_sink
COM Funktionen


Connect events from a COM object to a PHP object

com_create_guid
com_get_active_object
COM Funktionen
PHP Manual

com_event_sink

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

com_event_sink — Connect events from a COM object to a PHP object

Beschreibung

bool com_event_sink ( variant $comobject , object $sinkobject [, mixed $sinkinterface ] )

Instructs COM to sink events generated by comobject into the PHP object sinkobject.

Be careful how you use this feature; if you are doing something similar to the example below, then it doesn't really make sense to run it in a web server context.

Parameter-Liste

comobject

sinkobject

sinkobject should be an instance of a class with methods named after those of the desired dispinterface; you may use com_print_typeinfo() to help generate a template class for this purpose.

sinkinterface

PHP will attempt to use the default dispinterface type specified by the typelibrary associated with comobject, but you may override this choice by setting sinkinterface to the name of the dispinterface that you want to use.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 COM event sink example

<?php
class IEEventSinker {
    var $terminated = false;

   function ProgressChange($progress, $progressmax) {
      echo "Download progress: $progress / $progressmax\n";
    }

    function DocumentComplete(&$dom, $url) {
      echo "Document $url complete\n";
    }

    function OnQuit() {
      echo "Quit!\n";
      $this->terminated = true;
    }
}
$ie = new COM("InternetExplorer.Application");
// note that you don't need the & for PHP 5!
$sink = new IEEventSinker();
com_event_sink($ie, $sink, "DWebBrowserEvents2");
$ie->Visible = true;
$ie->Navigate("http://www.example.org");
while(!$sink->terminated) {
  com_message_pump(4000);
}
$ie = null;
?>

Siehe auch

  • com_print_typeinfo() - Print out a PHP class definition for a dispatchable interface
  • com_message_pump() - Process COM messages, sleeping for up to timeoutms milliseconds

com_create_guid
com_get_active_object
COM Funktionen


Returns a handle to an already running instance of a COM object

com_event_sink
com_load_typelib
COM Funktionen
PHP Manual

com_get_active_object

(PHP 5, PHP 7)

com_get_active_object — Returns a handle to an already running instance of a COM object

Beschreibung

variant com_get_active_object ( string $progid [, int $code_page ] )

com_get_active_object() is similar to creating a new instance of a COM object, except that it will only return an object to your script if the object is already running. OLE applications use something known as the "Running Object Table" to allow well-known applications to be launched only once; this function exposes the COM library function GetActiveObject() to get a handle on a running instance.

Parameter-Liste

progid

progid must be either the ProgID or CLSID for the object that you want to access (for example Word.Application).

code_page

Acts in precisely the same way that it does for the COM class.

Rückgabewerte

If the requested object is running, it will be returned to your script just like any other COM object.

Fehler/Exceptions

There are a variety of reasons why this function might fail, the most common being that the object is not already running. In that situation, the exception error code will be MK_E_UNAVAILABLE; you can use the getCode method of the exception object to check the exception code.

Anmerkungen

Warnung

Using com_get_active_object() in a web server context is not always a smart idea. Most COM/OLE applications are not designed to handle more than one client concurrently, even (or especially!) Microsoft Office. You should read » Considerations for Server-Side Automation of Office for more information on the general issues involved.

com_event_sink
com_load_typelib
COM Funktionen


Lädt eine Typelib

com_get_active_object
com_message_pump
COM Funktionen
PHP Manual

com_load_typelib

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

com_load_typelib — Lädt eine Typelib

Beschreibung

bool com_load_typelib ( string $typelib_name [, bool $case_insensitive = true ] )

Lädt eine Type Library und registriert deren Konstanten in der Engine, als wären sie mittels define() definiert worden.

Beachten Sie, dass es effizienter ist, die -Konfigurationseinstellungen zum vorladen und registrieren der Konstanten zu verwenden, allerdings ist dieser Weg nicht so flexibel.

Wenn Sie eingeschaltet haben, wird PHP versuchen, automatisch die mit einem COM-Objekt assoziierten Konstanten zu registrieren, wenn Sie das Objekt initialisieren. Dies hängt von den Interfaces ab, die das COM-Objekt selbst unterstützt und ist nicht immer möglich.

Parameter-Liste

typelib_name

typelib_name kann eine der folgenden Angaben sein:

  • Der Dateiname der .tlb-Datei oder des ausführbaren Moduls, das die Type Library enthält.

  • Die GUID der Type Library, gefolgt von der Versionsnummer, z.B. {00000200-0000-0010-8000-00AA006D2EA4},2,0.

  • Der Name der Bibliothek, z.B. Microsoft OLE DB ActiveX Data Objects 1.0 Library.

PHP wird versuchen, die Type Library in dieser Reihenfolge abzuarbeiten, da der jeweils benötigte Aufwand und die dabei entstehenden "Kosten" mit jedem Punkt stärker steigen. Die Suche nach dem Namen einer Type Library erfolgt mittels physikalischer Iteration durch die Registry, bis ein Treffer gefunden wird.

case_insensitive

Der Parameter case_insensitive verhält sich wie der gleichnamige Parameter der define()-Funktion.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

com_get_active_object
com_message_pump
COM Funktionen


Process COM messages, sleeping for up to timeoutms milliseconds

com_load_typelib
com_print_typeinfo
COM Funktionen
PHP Manual

com_message_pump

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

com_message_pump — Process COM messages, sleeping for up to timeoutms milliseconds

Beschreibung

bool com_message_pump ([ int $timeoutms = 0 ] )

This function will sleep for up to timeoutms milliseconds, or until a message arrives in the queue.

The purpose of this function is to route COM calls between apartments and handle various synchronization issues. This allows your script to wait efficiently for events to be triggered, while still handling other events or running other code in the background. You should use it in a loop, as demonstrated by the example in the com_event_sink() function, until you are finished using event bound COM objects.

Parameter-Liste

timeoutms

The timeout, in milliseconds.

If you do not specify a value for timeoutms, then 0 will be assumed. A 0 value means that no waiting will be performed; if there are messages pending they will be dispatched as before; if there are no messages pending, the function will return FALSE immediately without sleeping.

Rückgabewerte

If a message or messages arrives before the timeout, they will be dispatched, and the function will return TRUE. If the timeout occurs and no messages were processed, the return value will be FALSE.

com_load_typelib
com_print_typeinfo
COM Funktionen


Print out a PHP class definition for a dispatchable interface

com_message_pump
variant_abs
COM Funktionen
PHP Manual

com_print_typeinfo

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

com_print_typeinfo — Print out a PHP class definition for a dispatchable interface

Beschreibung

bool com_print_typeinfo ( object $comobject [, string $dispinterface [, bool $wantsink = false ]] )

The purpose of this function is to help generate a skeleton class for use as an event sink. You may also use it to generate a dump of any COM object, provided that it supports enough of the introspection interfaces, and that you know the name of the interface you want to display.

Parameter-Liste

comobject

comobject should be either an instance of a COM object, or be the name of a typelibrary (which will be resolved according to the rules set out in com_load_typelib()).

dispinterface

The name of an IDispatch descendant interface that you want to display.

wantsink

If set to TRUE, the corresponding sink interface will be displayed instead.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • com_event_sink() - Connect events from a COM object to a PHP object
  • com_load_typelib() - Lädt eine Typelib

com_message_pump
variant_abs
COM Funktionen


Returns the absolute value of a variant

com_print_typeinfo
variant_add
COM Funktionen
PHP Manual

variant_abs

(PHP 5, PHP 7)

variant_abs — Returns the absolute value of a variant

Beschreibung

mixed variant_abs ( mixed $val )

Returns the absolute value of a variant.

Parameter-Liste

val

The variant.

Hinweis:

Wie bei allen arithmetischen Variantfunktionen, können die Parameter dieser Funktion entweder native PHP-Typen (Integer, String, Fließkomma, Boolean oder NULL) oder Instanzen einer COM-, VARIANT- oder DOTNET-Klasse sein. Native PHP-Typen werden nach den gleichen Regeln in Varianten umgewandelt wie auch im Konstruktor der VARIANT-Klasse. Für COM- und DOTNET-Objekte wird der Wert ihrer Standardeigenschaft genommen und als Variantenwert genutzt.

Die arithmetischen Variantenfunktionen sind Wrapper für die ähnlich benannten Funktionen der COM-Bibliothek, weiterführende Informationen hierzu finden sie in der MSDN-Bibliothek. Die PHP-Funktionen sind leicht abweichend benannt, so korrespondiert variant_add() in PHP zu VarAdd() in der MSDN-Dokumentation.

Rückgabewerte

Returns the absolute value of val.

Siehe auch

  • abs() - Absolutwert bzw. Betrag

com_print_typeinfo
variant_add
COM Funktionen


"Adds" two variant values together and returns the result

variant_abs
variant_and
COM Funktionen
PHP Manual

variant_add

(PHP 5, PHP 7)

variant_add — "Adds" two variant values together and returns the result

Beschreibung

mixed variant_add ( mixed $left , mixed $right )

Adds left to right using the following rules (taken from the MSDN library), which correspond to those of Visual Basic:

Variant Addition Rules
If | Then
Both expressions are of the string type | Concatenation
One expression is a string type and the other a character | Addition
One expression is numeric and the other is a string | Addition
Both expressions are numeric | Addition
Either expression is NULL | NULL is returned
Both expressions are empty | Integer subtype is returned

Parameter-Liste

left

The left operand.

right

The right operand.

Hinweis:

Wie bei allen arithmetischen Variantfunktionen, können die Parameter dieser Funktion entweder native PHP-Typen (Integer, String, Fließkomma, Boolean oder NULL) oder Instanzen einer COM-, VARIANT- oder DOTNET-Klasse sein. Native PHP-Typen werden nach den gleichen Regeln in Varianten umgewandelt wie auch im Konstruktor der VARIANT-Klasse. Für COM- und DOTNET-Objekte wird der Wert ihrer Standardeigenschaft genommen und als Variantenwert genutzt.

Die arithmetischen Variantenfunktionen sind Wrapper für die ähnlich benannten Funktionen der COM-Bibliothek, weiterführende Informationen hierzu finden sie in der MSDN-Bibliothek. Die PHP-Funktionen sind leicht abweichend benannt, so korrespondiert variant_add() in PHP zu VarAdd() in der MSDN-Dokumentation.

Rückgabewerte

Returns the result.

Siehe auch

  • variant_sub() - Subtracts the value of the right variant from the left variant value

variant_abs
variant_and
COM Funktionen


Performs a bitwise AND operation between two variants

variant_add
variant_cast
COM Funktionen
PHP Manual

variant_and

(PHP 5, PHP 7)

variant_and — Performs a bitwise AND operation between two variants

Beschreibung

mixed variant_and ( mixed $left , mixed $right )

Performs a bitwise AND operation. Note that this is slightly different from a regular AND operation.

Parameter-Liste

left

The left operand.

right

The right operand.

Hinweis:

Wie bei allen arithmetischen Variantfunktionen, können die Parameter dieser Funktion entweder native PHP-Typen (Integer, String, Fließkomma, Boolean oder NULL) oder Instanzen einer COM-, VARIANT- oder DOTNET-Klasse sein. Native PHP-Typen werden nach den gleichen Regeln in Varianten umgewandelt wie auch im Konstruktor der VARIANT-Klasse. Für COM- und DOTNET-Objekte wird der Wert ihrer Standardeigenschaft genommen und als Variantenwert genutzt.

Die arithmetischen Variantenfunktionen sind Wrapper für die ähnlich benannten Funktionen der COM-Bibliothek, weiterführende Informationen hierzu finden sie in der MSDN-Bibliothek. Die PHP-Funktionen sind leicht abweichend benannt, so korrespondiert variant_add() in PHP zu VarAdd() in der MSDN-Dokumentation.

Rückgabewerte

Variant AND Rules
If left is | If right is | then the result is
TRUE | TRUE | TRUE
TRUE | FALSE | FALSE
TRUE | NULL | NULL
FALSE | TRUE | FALSE
FALSE | FALSE | FALSE
FALSE | NULL | FALSE
NULL | TRUE | NULL
NULL | FALSE | FALSE
NULL | NULL | NULL

Siehe auch

  • variant_or() - Performs a logical disjunction on two variants

variant_add
variant_cast
COM Funktionen


Convert a variant into a new variant object of another type

variant_and
variant_cat
COM Funktionen
PHP Manual

variant_cast

(PHP 5, PHP 7)

variant_cast — Convert a variant into a new variant object of another type

Beschreibung

variant variant_cast ( variant $variant , int $type )

This function makes a copy of variant and then performs a variant cast operation to force the copy to have the type given by type.

This function wraps VariantChangeType() in the COM library; consult MSDN for more information.

Parameter-Liste

variant

The variant.

type

type should be one of the VT_XXX constants.

Rückgabewerte

Returns a variant of given type.

Siehe auch

  • variant_set_type() - Convert a variant into another type "in-place"

variant_and
variant_cat
COM Funktionen


concatenates two variant values together and returns the result

variant_cast
variant_cmp
COM Funktionen
PHP Manual

variant_cat

(PHP 5, PHP 7)

variant_cat — concatenates two variant values together and returns the result

Beschreibung

mixed variant_cat ( mixed $left , mixed $right )

Concatenates left with right and returns the result.

This function is notionally equivalent to $left . $right.

Parameter-Liste

left

The left operand.

right

The right operand.

Hinweis:

Wie bei allen arithmetischen Variantfunktionen, können die Parameter dieser Funktion entweder native PHP-Typen (Integer, String, Fließkomma, Boolean oder NULL) oder Instanzen einer COM-, VARIANT- oder DOTNET-Klasse sein. Native PHP-Typen werden nach den gleichen Regeln in Varianten umgewandelt wie auch im Konstruktor der VARIANT-Klasse. Für COM- und DOTNET-Objekte wird der Wert ihrer Standardeigenschaft genommen und als Variantenwert genutzt.

Die arithmetischen Variantenfunktionen sind Wrapper für die ähnlich benannten Funktionen der COM-Bibliothek, weiterführende Informationen hierzu finden sie in der MSDN-Bibliothek. Die PHP-Funktionen sind leicht abweichend benannt, so korrespondiert variant_add() in PHP zu VarAdd() in der MSDN-Dokumentation.

Rückgabewerte

Returns the result of the concatenation.

Siehe auch

  • Zeichenketten-Operatoren for the string concatenation operator

variant_cast
variant_cmp
COM Funktionen


Compares two variants

variant_cat
variant_date_from_timestamp
COM Funktionen
PHP Manual

variant_cmp

(PHP 5, PHP 7)

variant_cmp — Compares two variants

Beschreibung

int variant_cmp ( mixed $left , mixed $right [, int $lcid [, int $flags ]] )

Compares left with right.

This function will only compare scalar values, not arrays or variant records.

Parameter-Liste

left

The left operand.

right

The right operand.

lcid

A valid Locale Identifier to use when comparing strings (this affects string collation).

flags

flags can be one or more of the following values OR'd together, and affects string comparisons:

Variant Comparision Flags
value | meaning
NORM_IGNORECASE | Compare case insensitively
NORM_IGNORENONSPACE | Ignore nonspacing characters
NORM_IGNORESYMBOLS | Ignore symbols
NORM_IGNOREWIDTH | Ignore string width
NORM_IGNOREKANATYPE | Ignore Kana type
NORM_IGNOREKASHIDA | Ignore Arabic kashida characters

Hinweis:

Wie bei allen arithmetischen Variantfunktionen, können die Parameter dieser Funktion entweder native PHP-Typen (Integer, String, Fließkomma, Boolean oder NULL) oder Instanzen einer COM-, VARIANT- oder DOTNET-Klasse sein. Native PHP-Typen werden nach den gleichen Regeln in Varianten umgewandelt wie auch im Konstruktor der VARIANT-Klasse. Für COM- und DOTNET-Objekte wird der Wert ihrer Standardeigenschaft genommen und als Variantenwert genutzt.

Die arithmetischen Variantenfunktionen sind Wrapper für die ähnlich benannten Funktionen der COM-Bibliothek, weiterführende Informationen hierzu finden sie in der MSDN-Bibliothek. Die PHP-Funktionen sind leicht abweichend benannt, so korrespondiert variant_add() in PHP zu VarAdd() in der MSDN-Dokumentation.

Rückgabewerte

Returns one of the following:

Variant Comparision Results
value | meaning
VARCMP_LT | left is less than right
VARCMP_EQ | left is equal to right
VARCMP_GT | left is greater than right
VARCMP_NULL | Either left, right or both are NULL

variant_cat
variant_date_from_timestamp
COM Funktionen


Returns a variant date representation of a Unix timestamp

variant_cmp
variant_date_to_timestamp
COM Funktionen
PHP Manual

variant_date_from_timestamp

(PHP 5, PHP 7)

variant_date_from_timestamp — Returns a variant date representation of a Unix timestamp

Beschreibung

variant variant_date_from_timestamp ( int $timestamp )

Converts timestamp from a unix timestamp value into a variant of type VT_DATE. This allows easier interopability between the unix-ish parts of PHP and COM.

Parameter-Liste

timestamp

A unix timestamp.

Rückgabewerte

Returns a VT_DATE variant.

Siehe auch

  • variant_date_to_timestamp() - Converts a variant date/time value to Unix timestamp
  • mktime() - Gibt den Unix-Timestamp/Zeitstempel für ein Datum zurück
  • time() - Gibt den aktuellen Unix-Timestamp/Zeitstempel zurück

variant_cmp
variant_date_to_timestamp
COM Funktionen


Converts a variant date/time value to Unix timestamp

variant_date_from_timestamp
variant_div
COM Funktionen
PHP Manual

variant_date_to_timestamp

(PHP 5, PHP 7)

variant_date_to_timestamp — Converts a variant date/time value to Unix timestamp

Beschreibung

int variant_date_to_timestamp ( variant $variant )

Converts variant from a VT_DATE (or similar) value into a Unix timestamp. This allows easier interopability between the Unix-ish parts of PHP and COM.

Parameter-Liste

variant

The variant.

Rückgabewerte

Returns a unix timestamp.

Siehe auch

  • variant_date_from_timestamp() - Returns a variant date representation of a Unix timestamp
  • date() - Formatiert ein(e) angegebene(s) Ortszeit/Datum
  • strftime() - Formatiert eine Zeit-/Datumsangabe nach den lokalen Einstellungen

variant_date_from_timestamp
variant_div
COM Funktionen


Returns the result from dividing two variants

variant_date_to_timestamp
variant_eqv
COM Funktionen
PHP Manual

variant_div

(PHP 5, PHP 7)

variant_div — Returns the result from dividing two variants

Beschreibung

mixed variant_div ( mixed $left , mixed $right )

Divides left by right and returns the result.

Parameter-Liste

left

The left operand.

right

The right operand.

Hinweis:

Wie bei allen arithmetischen Variantfunktionen, können die Parameter dieser Funktion entweder native PHP-Typen (Integer, String, Fließkomma, Boolean oder NULL) oder Instanzen einer COM-, VARIANT- oder DOTNET-Klasse sein. Native PHP-Typen werden nach den gleichen Regeln in Varianten umgewandelt wie auch im Konstruktor der VARIANT-Klasse. Für COM- und DOTNET-Objekte wird der Wert ihrer Standardeigenschaft genommen und als Variantenwert genutzt.

Die arithmetischen Variantenfunktionen sind Wrapper für die ähnlich benannten Funktionen der COM-Bibliothek, weiterführende Informationen hierzu finden sie in der MSDN-Bibliothek. Die PHP-Funktionen sind leicht abweichend benannt, so korrespondiert variant_add() in PHP zu VarAdd() in der MSDN-Dokumentation.

Rückgabewerte

Variant Division Rules
If | Then
Both expressions are of the string, date, character, boolean type | Double is returned
One expression is a string type and the other a character | Division and a double is returned
One expression is numeric and the other is a string | Division and a double is returned.
Both expressions are numeric | Division and a double is returned
Either expression is NULL | NULL is returned
right is empty and left is anything but empty | A com_exception with code DISP_E_DIVBYZERO is thrown
left is empty and right is anything but empty. | 0 as type double is returned
Both expressions are empty | A com_exception with code DISP_E_OVERFLOW is thrown

Siehe auch

  • variant_idiv() - Converts variants to integers and then returns the result from dividing them

variant_date_to_timestamp
variant_eqv
COM Funktionen


Performs a bitwise equivalence on two variants

variant_div
variant_fix
COM Funktionen
PHP Manual

variant_eqv

(PHP 5, PHP 7)

variant_eqv — Performs a bitwise equivalence on two variants

Beschreibung

mixed variant_eqv ( mixed $left , mixed $right )

Performs a bitwise equivalence on two variants.

Parameter-Liste

left

The left operand.

right

The right operand.

Hinweis:

Wie bei allen arithmetischen Variantfunktionen, können die Parameter dieser Funktion entweder native PHP-Typen (Integer, String, Fließkomma, Boolean oder NULL) oder Instanzen einer COM-, VARIANT- oder DOTNET-Klasse sein. Native PHP-Typen werden nach den gleichen Regeln in Varianten umgewandelt wie auch im Konstruktor der VARIANT-Klasse. Für COM- und DOTNET-Objekte wird der Wert ihrer Standardeigenschaft genommen und als Variantenwert genutzt.

Die arithmetischen Variantenfunktionen sind Wrapper für die ähnlich benannten Funktionen der COM-Bibliothek, weiterführende Informationen hierzu finden sie in der MSDN-Bibliothek. Die PHP-Funktionen sind leicht abweichend benannt, so korrespondiert variant_add() in PHP zu VarAdd() in der MSDN-Dokumentation.

Rückgabewerte

If each bit in left is equal to the corresponding bit in right then TRUE is returned, otherwise FALSE is returned.

variant_div
variant_fix
COM Funktionen


Returns the integer portion of a variant

variant_eqv
variant_get_type
COM Funktionen
PHP Manual

variant_fix

(PHP 5, PHP 7)

variant_fix — Returns the integer portion of a variant

Beschreibung

mixed variant_fix ( mixed $variant )

Gets the integer portion of a variant.

Parameter-Liste

variant

The variant.

Hinweis:

Wie bei allen arithmetischen Variantfunktionen, können die Parameter dieser Funktion entweder native PHP-Typen (Integer, String, Fließkomma, Boolean oder NULL) oder Instanzen einer COM-, VARIANT- oder DOTNET-Klasse sein. Native PHP-Typen werden nach den gleichen Regeln in Varianten umgewandelt wie auch im Konstruktor der VARIANT-Klasse. Für COM- und DOTNET-Objekte wird der Wert ihrer Standardeigenschaft genommen und als Variantenwert genutzt.

Die arithmetischen Variantenfunktionen sind Wrapper für die ähnlich benannten Funktionen der COM-Bibliothek, weiterführende Informationen hierzu finden sie in der MSDN-Bibliothek. Die PHP-Funktionen sind leicht abweichend benannt, so korrespondiert variant_add() in PHP zu VarAdd() in der MSDN-Dokumentation.

Rückgabewerte

If variant is negative, then the first negative integer greater than or equal to the variant is returned, otherwise returns the integer portion of the value of variant.

Anmerkungen

Warnung

This documentation is based on the MSDN documentation; it appears that this function is either the same as variant_int(), or that there is an error in the MSDN documentation.

Siehe auch

  • variant_int() - Returns the integer portion of a variant
  • variant_round() - Rounds a variant to the specified number of decimal places
  • floor() - Abrunden
  • ceil() - Aufrunden
  • round() - Rundet einen Fließkommawert

variant_eqv
variant_get_type
COM Funktionen


Returns the type of a variant object

variant_fix
variant_idiv
COM Funktionen
PHP Manual

variant_get_type

(PHP 5, PHP 7)

variant_get_type — Returns the type of a variant object

Beschreibung

int variant_get_type ( variant $variant )

Returns the type of a variant object.

Parameter-Liste

variant

The variant object.

Rückgabewerte

This function returns an integer value that indicates the type of variant, which can be an instance of COM, DOTNET or VARIANT classes. The return value can be compared to one of the VT_XXX constants.

The return value for COM and DOTNET objects will usually be VT_DISPATCH; the only reason this function works for those classes is because COM and DOTNET are descendants of VARIANT.

In PHP versions prior to 5, you could obtain this information from instances of the VARIANT class ONLY, by reading a fake type property. See the VARIANT class for more information on this.

variant_fix
variant_idiv
COM Funktionen


Converts variants to integers and then returns the result from dividing them

variant_get_type
variant_imp
COM Funktionen
PHP Manual

variant_idiv

(PHP 5, PHP 7)

variant_idiv — Converts variants to integers and then returns the result from dividing them

Beschreibung

mixed variant_idiv ( mixed $left , mixed $right )

Converts left and right to integer values, and then performs integer division.

Parameter-Liste

left

The left operand.

right

The right operand.

Hinweis:

Wie bei allen arithmetischen Variantfunktionen, können die Parameter dieser Funktion entweder native PHP-Typen (Integer, String, Fließkomma, Boolean oder NULL) oder Instanzen einer COM-, VARIANT- oder DOTNET-Klasse sein. Native PHP-Typen werden nach den gleichen Regeln in Varianten umgewandelt wie auch im Konstruktor der VARIANT-Klasse. Für COM- und DOTNET-Objekte wird der Wert ihrer Standardeigenschaft genommen und als Variantenwert genutzt.

Die arithmetischen Variantenfunktionen sind Wrapper für die ähnlich benannten Funktionen der COM-Bibliothek, weiterführende Informationen hierzu finden sie in der MSDN-Bibliothek. Die PHP-Funktionen sind leicht abweichend benannt, so korrespondiert variant_add() in PHP zu VarAdd() in der MSDN-Dokumentation.

Rückgabewerte

Variant Integer Division Rules
If | Then
Both expressions are of the string, date, character, boolean type | Division and integer is returned
One expression is a string type and the other a character | Division
One expression is numeric and the other is a string | Division
Both expressions are numeric | Division
Either expression is NULL | NULL is returned
Both expressions are empty | A com_exception with code DISP_E_DIVBYZERO is thrown

Siehe auch

  • variant_div() - Returns the result from dividing two variants

variant_get_type
variant_imp
COM Funktionen


Performs a bitwise implication on two variants

variant_idiv
variant_int
COM Funktionen
PHP Manual

variant_imp

(PHP 5, PHP 7)

variant_imp — Performs a bitwise implication on two variants

Beschreibung

mixed variant_imp ( mixed $left , mixed $right )

Performs a bitwise implication operation.

Parameter-Liste

left

The left operand.

right

The right operand.

Hinweis:

Wie bei allen arithmetischen Variantfunktionen, können die Parameter dieser Funktion entweder native PHP-Typen (Integer, String, Fließkomma, Boolean oder NULL) oder Instanzen einer COM-, VARIANT- oder DOTNET-Klasse sein. Native PHP-Typen werden nach den gleichen Regeln in Varianten umgewandelt wie auch im Konstruktor der VARIANT-Klasse. Für COM- und DOTNET-Objekte wird der Wert ihrer Standardeigenschaft genommen und als Variantenwert genutzt.

Die arithmetischen Variantenfunktionen sind Wrapper für die ähnlich benannten Funktionen der COM-Bibliothek, weiterführende Informationen hierzu finden sie in der MSDN-Bibliothek. Die PHP-Funktionen sind leicht abweichend benannt, so korrespondiert variant_add() in PHP zu VarAdd() in der MSDN-Dokumentation.

Rückgabewerte

Variant Implication Table
If left is | If right is | then the result is
TRUE | TRUE | TRUE
TRUE | FALSE | TRUE
TRUE | NULL | TRUE
FALSE | TRUE | TRUE
FALSE | FALSE | TRUE
FALSE | NULL | TRUE
NULL | TRUE | TRUE
NULL | FALSE | NULL
NULL | NULL | NULL

variant_idiv
variant_int
COM Funktionen


Returns the integer portion of a variant

variant_imp
variant_mod
COM Funktionen
PHP Manual

variant_int

(PHP 5, PHP 7)

variant_int — Returns the integer portion of a variant

Beschreibung

mixed variant_int ( mixed $variant )

Gets the integer portion of a variant.

Parameter-Liste

variant

The variant.

Hinweis:

Wie bei allen arithmetischen Variantfunktionen, können die Parameter dieser Funktion entweder native PHP-Typen (Integer, String, Fließkomma, Boolean oder NULL) oder Instanzen einer COM-, VARIANT- oder DOTNET-Klasse sein. Native PHP-Typen werden nach den gleichen Regeln in Varianten umgewandelt wie auch im Konstruktor der VARIANT-Klasse. Für COM- und DOTNET-Objekte wird der Wert ihrer Standardeigenschaft genommen und als Variantenwert genutzt.

Die arithmetischen Variantenfunktionen sind Wrapper für die ähnlich benannten Funktionen der COM-Bibliothek, weiterführende Informationen hierzu finden sie in der MSDN-Bibliothek. Die PHP-Funktionen sind leicht abweichend benannt, so korrespondiert variant_add() in PHP zu VarAdd() in der MSDN-Dokumentation.

Rückgabewerte

If variant is negative, then the first negative integer greater than or equal to the variant is returned, otherwise returns the integer portion of the value of variant.

Siehe auch

  • variant_fix() - Returns the integer portion of a variant
  • variant_round() - Rounds a variant to the specified number of decimal places
  • floor() - Abrunden
  • ceil() - Aufrunden
  • round() - Rundet einen Fließkommawert

variant_imp
variant_mod
COM Funktionen


Divides two variants and returns only the remainder

variant_int
variant_mul
COM Funktionen
PHP Manual

variant_mod

(PHP 5, PHP 7)

variant_mod — Divides two variants and returns only the remainder

Beschreibung

mixed variant_mod ( mixed $left , mixed $right )

Divides left by right and returns the remainder.

Parameter-Liste

left

The left operand.

right

The right operand.

Hinweis:

Wie bei allen arithmetischen Variantfunktionen, können die Parameter dieser Funktion entweder native PHP-Typen (Integer, String, Fließkomma, Boolean oder NULL) oder Instanzen einer COM-, VARIANT- oder DOTNET-Klasse sein. Native PHP-Typen werden nach den gleichen Regeln in Varianten umgewandelt wie auch im Konstruktor der VARIANT-Klasse. Für COM- und DOTNET-Objekte wird der Wert ihrer Standardeigenschaft genommen und als Variantenwert genutzt.

Die arithmetischen Variantenfunktionen sind Wrapper für die ähnlich benannten Funktionen der COM-Bibliothek, weiterführende Informationen hierzu finden sie in der MSDN-Bibliothek. Die PHP-Funktionen sind leicht abweichend benannt, so korrespondiert variant_add() in PHP zu VarAdd() in der MSDN-Dokumentation.

Rückgabewerte

Returns the remainder of the division.

Siehe auch

  • variant_div() - Returns the result from dividing two variants
  • variant_idiv() - Converts variants to integers and then returns the result from dividing them

variant_int
variant_mul
COM Funktionen


Multiplies the values of the two variants

variant_mod
variant_neg
COM Funktionen
PHP Manual

variant_mul

(PHP 5, PHP 7)

variant_mul — Multiplies the values of the two variants

Beschreibung

mixed variant_mul ( mixed $left , mixed $right )

Multiplies left by right.

Parameter-Liste

left

The left operand.

right

The right operand.

Boolean values are converted to -1 for FALSE and 0 for TRUE.

Hinweis:

Wie bei allen arithmetischen Variantfunktionen, können die Parameter dieser Funktion entweder native PHP-Typen (Integer, String, Fließkomma, Boolean oder NULL) oder Instanzen einer COM-, VARIANT- oder DOTNET-Klasse sein. Native PHP-Typen werden nach den gleichen Regeln in Varianten umgewandelt wie auch im Konstruktor der VARIANT-Klasse. Für COM- und DOTNET-Objekte wird der Wert ihrer Standardeigenschaft genommen und als Variantenwert genutzt.

Die arithmetischen Variantenfunktionen sind Wrapper für die ähnlich benannten Funktionen der COM-Bibliothek, weiterführende Informationen hierzu finden sie in der MSDN-Bibliothek. Die PHP-Funktionen sind leicht abweichend benannt, so korrespondiert variant_add() in PHP zu VarAdd() in der MSDN-Dokumentation.

Rückgabewerte

Variant Multiplication Rules
If | Then
Both expressions are of the string, date, character, boolean type | Multiplication
One expression is a string type and the other a character | Multiplication
One expression is numeric and the other is a string | Multiplication
Both expressions are numeric | Multiplication
Either expression is NULL | NULL is returned
Both expressions are empty | Empty string is returned

Siehe auch

  • variant_div() - Returns the result from dividing two variants
  • variant_idiv() - Converts variants to integers and then returns the result from dividing them

variant_mod
variant_neg
COM Funktionen


Performs logical negation on a variant

variant_mul
variant_not
COM Funktionen
PHP Manual

variant_neg

(PHP 5, PHP 7)

variant_neg — Performs logical negation on a variant

Beschreibung

mixed variant_neg ( mixed $variant )

Performs logical negation of variant.

Parameter-Liste

variant

The variant.

Hinweis:

Wie bei allen arithmetischen Variantfunktionen, können die Parameter dieser Funktion entweder native PHP-Typen (Integer, String, Fließkomma, Boolean oder NULL) oder Instanzen einer COM-, VARIANT- oder DOTNET-Klasse sein. Native PHP-Typen werden nach den gleichen Regeln in Varianten umgewandelt wie auch im Konstruktor der VARIANT-Klasse. Für COM- und DOTNET-Objekte wird der Wert ihrer Standardeigenschaft genommen und als Variantenwert genutzt.

Die arithmetischen Variantenfunktionen sind Wrapper für die ähnlich benannten Funktionen der COM-Bibliothek, weiterführende Informationen hierzu finden sie in der MSDN-Bibliothek. Die PHP-Funktionen sind leicht abweichend benannt, so korrespondiert variant_add() in PHP zu VarAdd() in der MSDN-Dokumentation.

Rückgabewerte

Returns the result of the logical negation.

variant_mul
variant_not
COM Funktionen


Performs bitwise not negation on a variant

variant_neg
variant_or
COM Funktionen
PHP Manual

variant_not

(PHP 5, PHP 7)

variant_not — Performs bitwise not negation on a variant

Beschreibung

mixed variant_not ( mixed $variant )

Performs bitwise not negation on variant and returns the result.

Parameter-Liste

variant

The variant.

Hinweis:

Wie bei allen arithmetischen Variantfunktionen, können die Parameter dieser Funktion entweder native PHP-Typen (Integer, String, Fließkomma, Boolean oder NULL) oder Instanzen einer COM-, VARIANT- oder DOTNET-Klasse sein. Native PHP-Typen werden nach den gleichen Regeln in Varianten umgewandelt wie auch im Konstruktor der VARIANT-Klasse. Für COM- und DOTNET-Objekte wird der Wert ihrer Standardeigenschaft genommen und als Variantenwert genutzt.

Die arithmetischen Variantenfunktionen sind Wrapper für die ähnlich benannten Funktionen der COM-Bibliothek, weiterführende Informationen hierzu finden sie in der MSDN-Bibliothek. Die PHP-Funktionen sind leicht abweichend benannt, so korrespondiert variant_add() in PHP zu VarAdd() in der MSDN-Dokumentation.

Rückgabewerte

Returns the bitwise not negation. If variant is NULL, the result will also be NULL.

variant_neg
variant_or
COM Funktionen


Performs a logical disjunction on two variants

variant_not
variant_pow
COM Funktionen
PHP Manual

variant_or

(PHP 5, PHP 7)

variant_or — Performs a logical disjunction on two variants

Beschreibung

mixed variant_or ( mixed $left , mixed $right )

Performs a bitwise OR operation. Note that this is slightly different from a regular OR operation.

Parameter-Liste

left

The left operand.

right

The right operand.

Hinweis:

Wie bei allen arithmetischen Variantfunktionen, können die Parameter dieser Funktion entweder native PHP-Typen (Integer, String, Fließkomma, Boolean oder NULL) oder Instanzen einer COM-, VARIANT- oder DOTNET-Klasse sein. Native PHP-Typen werden nach den gleichen Regeln in Varianten umgewandelt wie auch im Konstruktor der VARIANT-Klasse. Für COM- und DOTNET-Objekte wird der Wert ihrer Standardeigenschaft genommen und als Variantenwert genutzt.

Die arithmetischen Variantenfunktionen sind Wrapper für die ähnlich benannten Funktionen der COM-Bibliothek, weiterführende Informationen hierzu finden sie in der MSDN-Bibliothek. Die PHP-Funktionen sind leicht abweichend benannt, so korrespondiert variant_add() in PHP zu VarAdd() in der MSDN-Dokumentation.

Rückgabewerte

Variant OR Rules
If left is | If right is | then the result is
TRUE | TRUE | TRUE
TRUE | FALSE | TRUE
TRUE | NULL | TRUE
FALSE | TRUE | TRUE
FALSE | FALSE | FALSE
FALSE | NULL | NULL
NULL | TRUE | TRUE
NULL | FALSE | NULL
NULL | NULL | NULL

Siehe auch

  • variant_and() - Performs a bitwise AND operation between two variants
  • variant_xor() - Performs a logical exclusion on two variants

variant_not
variant_pow
COM Funktionen


Returns the result of performing the power function with two variants

variant_or
variant_round
COM Funktionen
PHP Manual

variant_pow

(PHP 5, PHP 7)

variant_pow — Returns the result of performing the power function with two variants

Beschreibung

mixed variant_pow ( mixed $left , mixed $right )

Returns the result of left to the power of right.

Parameter-Liste

left

The left operand.

right

The right operand.

Hinweis:

Wie bei allen arithmetischen Variantfunktionen, können die Parameter dieser Funktion entweder native PHP-Typen (Integer, String, Fließkomma, Boolean oder NULL) oder Instanzen einer COM-, VARIANT- oder DOTNET-Klasse sein. Native PHP-Typen werden nach den gleichen Regeln in Varianten umgewandelt wie auch im Konstruktor der VARIANT-Klasse. Für COM- und DOTNET-Objekte wird der Wert ihrer Standardeigenschaft genommen und als Variantenwert genutzt.

Die arithmetischen Variantenfunktionen sind Wrapper für die ähnlich benannten Funktionen der COM-Bibliothek, weiterführende Informationen hierzu finden sie in der MSDN-Bibliothek. Die PHP-Funktionen sind leicht abweichend benannt, so korrespondiert variant_add() in PHP zu VarAdd() in der MSDN-Dokumentation.

Rückgabewerte

Returns the result of left to the power of right.

Siehe auch

  • pow() - Potenzfunktion

variant_or
variant_round
COM Funktionen


Rounds a variant to the specified number of decimal places

variant_pow
variant_set_type
COM Funktionen
PHP Manual

variant_round

(PHP 5, PHP 7)

variant_round — Rounds a variant to the specified number of decimal places

Beschreibung

mixed variant_round ( mixed $variant , int $decimals )

Returns the value of variant rounded to decimals decimal places.

Parameter-Liste

variant

The variant.

decimals

Number of decimal places.

Hinweis:

Wie bei allen arithmetischen Variantfunktionen, können die Parameter dieser Funktion entweder native PHP-Typen (Integer, String, Fließkomma, Boolean oder NULL) oder Instanzen einer COM-, VARIANT- oder DOTNET-Klasse sein. Native PHP-Typen werden nach den gleichen Regeln in Varianten umgewandelt wie auch im Konstruktor der VARIANT-Klasse. Für COM- und DOTNET-Objekte wird der Wert ihrer Standardeigenschaft genommen und als Variantenwert genutzt.

Die arithmetischen Variantenfunktionen sind Wrapper für die ähnlich benannten Funktionen der COM-Bibliothek, weiterführende Informationen hierzu finden sie in der MSDN-Bibliothek. Die PHP-Funktionen sind leicht abweichend benannt, so korrespondiert variant_add() in PHP zu VarAdd() in der MSDN-Dokumentation.

Rückgabewerte

Returns the rounded value.

Siehe auch

  • round() - Rundet einen Fließkommawert

variant_pow
variant_set_type
COM Funktionen


Convert a variant into another type "in-place"

variant_round
variant_set
COM Funktionen
PHP Manual

variant_set_type

(PHP 5, PHP 7)

variant_set_type — Convert a variant into another type "in-place"

Beschreibung

void variant_set_type ( variant $variant , int $type )

This function is similar to variant_cast() except that the variant is modified "in-place"; no new variant is created. The parameters for this function have identical meaning to those of variant_cast().

Parameter-Liste

variant

The variant.

type

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • variant_cast() - Convert a variant into a new variant object of another type

variant_round
variant_set
COM Funktionen


Assigns a new value for a variant object

variant_set_type
variant_sub
COM Funktionen
PHP Manual

variant_set

(PHP 5, PHP 7)

variant_set — Assigns a new value for a variant object

Beschreibung

void variant_set ( variant $variant , mixed $value )

Converts value to a variant and assigns it to the variant object; no new variant object is created, and the old value of variant is freed/released.

Parameter-Liste

variant

The variant.

value

Rückgabewerte

Es wird kein Wert zurückgegeben.

variant_set_type
variant_sub
COM Funktionen


Subtracts the value of the right variant from the left variant value

variant_set
variant_xor
COM Funktionen
PHP Manual

variant_sub

(PHP 5, PHP 7)

variant_sub — Subtracts the value of the right variant from the left variant value

Beschreibung

mixed variant_sub ( mixed $left , mixed $right )

Subtracts right from left.

Parameter-Liste

left

The left operand.

right

The right operand.

Hinweis:

Wie bei allen arithmetischen Variantfunktionen, können die Parameter dieser Funktion entweder native PHP-Typen (Integer, String, Fließkomma, Boolean oder NULL) oder Instanzen einer COM-, VARIANT- oder DOTNET-Klasse sein. Native PHP-Typen werden nach den gleichen Regeln in Varianten umgewandelt wie auch im Konstruktor der VARIANT-Klasse. Für COM- und DOTNET-Objekte wird der Wert ihrer Standardeigenschaft genommen und als Variantenwert genutzt.

Die arithmetischen Variantenfunktionen sind Wrapper für die ähnlich benannten Funktionen der COM-Bibliothek, weiterführende Informationen hierzu finden sie in der MSDN-Bibliothek. Die PHP-Funktionen sind leicht abweichend benannt, so korrespondiert variant_add() in PHP zu VarAdd() in der MSDN-Dokumentation.

Rückgabewerte

Variant Subtraction Rules
If | Then
Both expressions are of the string type | Subtraction
One expression is a string type and the other a character | Subtraction
One expression is numeric and the other is a string | Subtraction.
Both expressions are numeric | Subtraction
Either expression is NULL | NULL is returned
Both expressions are empty | Empty string is returned

Siehe auch

  • variant_add() - "Adds" two variant values together and returns the result

variant_set
variant_xor
COM Funktionen


Performs a logical exclusion on two variants

variant_sub
win32ps
COM Funktionen
PHP Manual

variant_xor

(PHP 5, PHP 7)

variant_xor — Performs a logical exclusion on two variants

Beschreibung

mixed variant_xor ( mixed $left , mixed $right )

Performs a logical exclusion.

Parameter-Liste

left

The left operand.

right

The right operand.

Hinweis:

Wie bei allen arithmetischen Variantfunktionen, können die Parameter dieser Funktion entweder native PHP-Typen (Integer, String, Fließkomma, Boolean oder NULL) oder Instanzen einer COM-, VARIANT- oder DOTNET-Klasse sein. Native PHP-Typen werden nach den gleichen Regeln in Varianten umgewandelt wie auch im Konstruktor der VARIANT-Klasse. Für COM- und DOTNET-Objekte wird der Wert ihrer Standardeigenschaft genommen und als Variantenwert genutzt.

Die arithmetischen Variantenfunktionen sind Wrapper für die ähnlich benannten Funktionen der COM-Bibliothek, weiterführende Informationen hierzu finden sie in der MSDN-Bibliothek. Die PHP-Funktionen sind leicht abweichend benannt, so korrespondiert variant_add() in PHP zu VarAdd() in der MSDN-Dokumentation.

Rückgabewerte

Variant XOR Rules
If left is | If right is | then the result is
TRUE | TRUE | FALSE
TRUE | FALSE | TRUE
FALSE | TRUE | TRUE
FALSE | FALSE | FALSE
NULL | NULL | NULL

Siehe auch

  • variant_or() - Performs a logical disjunction on two variants
  • variant_and() - Performs a bitwise AND operation between two variants

variant_sub
win32ps
COM Funktionen


win32ps

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • Win32ps examples
  • win32ps Funktionen
    • win32_ps_list_procs — List running processes
    • win32_ps_stat_mem — Stat memory utilization
    • win32_ps_stat_proc — Stat process
variant_xor
Einführung
Windowsbasierte Erweiterungen


Einführung

The win32ps extension is a Windows specific extension that allows PHP retrieve statistics about process and memory utilization.

win32ps
Installation/Konfiguration
win32ps


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
win32ps


Anforderungen

Windows NT, Windows 2000, Windows XP or Windows Server 2003. Any version of Windows derived from Windows NT should be compatible.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/win32ps.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
Beispiele
win32ps


Beispiele

Inhaltsverzeichnis

  • Win32ps examples
Vordefinierte Konstanten
Win32ps examples
win32ps


Win32ps examples

Beispiel #1 Statistics about the current PHP process

<?php
print_r(win32_ps_stat_proc());
/*
    Array
    (
        [pid] => 936
        [exe] => D:\Daten\Source\php-5.1\Debug_TS\php.exe
        [mem] => Array
            (
                [page_fault_count] => 2062
                [peak_working_set_size] => 8396800
                [working_set_size] => 8396800
                [quota_peak_paged_pool_usage] => 32080
                [quota_paged_pool_usage] => 31876
                [quota_peak_non_paged_pool_usage] => 4240
                [quota_non_paged_pool_usage] => 3888
                [pagefile_usage] => 5865472
                [peak_pagefile_usage] => 5865472
            )

        [tms] => Array
            (
                [created] => 0.093
                [kernel] => 0.015
                [user] => 0.062
            )

    )
*/
?>

Beispiel #2 Statistics about global memory utilization

<?php
print_r(win32_ps_stat_mem());
/*
    Array
    (
        [load] => 37
        [unit] => 1024
        [total_phys] => 1048096
        [avail_phys] => 649960
        [total_pagefile] => 2521368
        [avail_pagefile] => 2237940
        [total_virtual] => 2097024
        [avail_virtual] => 2057848
    )
*/
?>

Beispiele
win32ps Funktionen
Beispiele


win32ps Funktionen

Inhaltsverzeichnis

  • win32_ps_list_procs — List running processes
  • win32_ps_stat_mem — Stat memory utilization
  • win32_ps_stat_proc — Stat process
Win32ps examples
win32_ps_list_procs
win32ps


List running processes

win32ps Funktionen
win32_ps_stat_mem
win32ps Funktionen
PHP Manual

win32_ps_list_procs

(PECL win32ps >= 1.0.1)

win32_ps_list_procs — List running processes

Beschreibung

array win32_ps_list_procs ( void )

Retrieves statistics about all running processes.

Rückgabewerte

Returns FALSE on failure, or an array consisting of process statistics like win32_ps_stat_proc() returns for all running processes on success.

Siehe auch

  • win32_ps_stat_proc() - Stat process

win32ps Funktionen
win32_ps_stat_mem
win32ps Funktionen


Stat memory utilization

win32_ps_list_procs
win32_ps_stat_proc
win32ps Funktionen
PHP Manual

win32_ps_stat_mem

(PECL win32ps >= 1.0.1)

win32_ps_stat_mem — Stat memory utilization

Beschreibung

array win32_ps_stat_mem ( void )

Retrieves statistics about the global memory utilization.

Rückgabewerte

Returns FALSE on failure, or an array consisting of the following information on success:

load

The current memory load in percent of physical memory.

unit

This is always 1024, and indicates that the following values are the count of 1024 bytes.

total_phys

The amount of total physical memory.

avail_phys

The amount of still available physical memory.

total_pagefile

The amount of total pageable memory (physical memory + paging file).

avail_pagefile

The amount of still available pageable memory (physical memory + paging file).

total_virtual

The amount of total virtual memory for a process.

avail_virtual

The amount of still available virtual memory for a process.

win32_ps_list_procs
win32_ps_stat_proc
win32ps Funktionen


Stat process

win32_ps_stat_mem
win32service
win32ps Funktionen
PHP Manual

win32_ps_stat_proc

(PECL win32ps >= 1.0.1)

win32_ps_stat_proc — Stat process

Beschreibung

array win32_ps_stat_proc ([ int $pid = 0 ] )

Retrieves statistics about the process with the process id pid.

Parameter-Liste

pid

The process id of the process to stat. If omitted, the id of the current process.

Rückgabewerte

Returns FALSE on failure, or an array consisting of the following information on success:

pid

The process id.

exe

The path to the executable image.

mem

An array containing information about the following memory utilization indicators: page_fault_count, peak_working_set_size, working_set_size, quota_peak_paged_pool_usage, quota_paged_pool_usage, quota_peak_non_paged_pool_usage, quota_non_paged_pool_usage, pagefile_usage and peak_pagefile_usage.

tms

An array containing information about the following CPU time utilization indicators: created, kernel and user.

Siehe auch

  • win32_ps_list_procs() - List running processes

win32_ps_stat_mem
win32service
win32ps Funktionen


win32service

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
    • Win32Service Service Type Bitmasks
    • Win32Service Service Status Constants
    • Win32Service Service Control Message Constants
    • Win32Service Service Control Message Accepted Bitmasks
    • Win32Service Service Start Type Constants
    • Win32Service Service Error Control Constants
    • Win32Service Service Flag Constants
    • Win32 Error Codes
    • Win32 Base Priority Classes
  • Beispiele
  • win32service Funktionen
    • win32_continue_service — Resumes a paused service
    • win32_create_service — Creates a new service entry in the SCM database
    • win32_delete_service — Deletes a service entry from the SCM database
    • win32_get_last_control_message — Returns the last control message that was sent to this service
    • win32_pause_service — Pauses a service
    • win32_query_service_status — Queries the status of a service
    • win32_set_service_status — Update the service status
    • win32_start_service_ctrl_dispatcher — Registers the script with the SCM, so that it can act as the service with the given name
    • win32_start_service — Starts a service
    • win32_stop_service — Stops a service
win32_ps_stat_proc
Einführung
Windowsbasierte Erweiterungen


Einführung

The win32service extension is a Windows specific extension that allows PHP to communicate with the Service Control Manager to start, stop, register and unregister services, and even allows your PHP scripts to run as a service.

win32service
Installation/Konfiguration
win32service


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
win32service


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/win32service

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Inhaltsverzeichnis

  • Win32Service Service Type Bitmasks
  • Win32Service Service Status Constants
  • Win32Service Service Control Message Constants
  • Win32Service Service Control Message Accepted Bitmasks
  • Win32Service Service Start Type Constants
  • Win32Service Service Error Control Constants
  • Win32Service Service Flag Constants
  • Win32 Error Codes
  • Win32 Base Priority Classes

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

Ressource-Typen
Win32Service Service Type Bitmasks
win32service


Win32Service Service Type Bitmasks

Vordefinierte Konstanten
Win32Service Service Status Constants
Vordefinierte Konstanten
PHP Manual
Win32Service Service Type Bitmasks
Constant | Value | Description
WIN32_SERVICE_WIN32_OWN_PROCESS | 0x00000010 | The service runs in its own process.
WIN32_SERVICE_INTERACTIVE_PROCESS | 0x00000100 | The service can interact with the desktop. This option is not available on Windows Vista or later.
WIN32_SERVICE_WIN32_OWN_PROCESS_INTERACTIVE | 0x00000110 | The service runs in its own process and can interact with the desktop. This option is not available on Windows Vista or later.
Vordefinierte Konstanten
Win32Service Service Status Constants
Vordefinierte Konstanten


Win32Service Service Status Constants

Win32Service Service Type Bitmasks
Win32Service Service Control Message Constants
Vordefinierte Konstanten
PHP Manual
Win32Service Service Status Constants
Constant | Value | Description
WIN32_SERVICE_CONTINUE_PENDING | 0x00000005 | The service continue is pending.
WIN32_SERVICE_PAUSE_PENDING | 0x00000006 | The service pause is pending.
WIN32_SERVICE_PAUSED | 0x00000007 | The service is paused.
WIN32_SERVICE_RUNNING | 0x00000004 | The service is running.
WIN32_SERVICE_START_PENDING | 0x00000002 | The service is starting.
WIN32_SERVICE_STOP_PENDING | 0x00000003 | The service is stopping.
WIN32_SERVICE_STOPPED | 0x00000001 | The service is not running.
Win32Service Service Type Bitmasks
Win32Service Service Control Message Constants
Vordefinierte Konstanten


Win32Service Service Control Message Constants

Win32Service Service Status Constants
Win32Service Service Control Message Accepted Bitmasks
Vordefinierte Konstanten
PHP Manual
Win32Service Service Control Message Constants
Constant | Value | Description
WIN32_SERVICE_CONTROL_CONTINUE | 0x00000003 | Notifies a paused service that it should resume.
WIN32_SERVICE_CONTROL_INTERROGATE | 0x00000004 | Notifies a service that it should report its current status information to the service control manager.
WIN32_SERVICE_CONTROL_PAUSE | 0x00000002 | Notifies a service that it should pause.
WIN32_SERVICE_CONTROL_PRESHUTDOWN | 0x0000000F | Notifies a service that the system will be shutting down. A service that handles this notification blocks system shutdown until the service stops or the preshutdown time-out interval expires. This value is not supported by Windows Server 2003 and Windows XP/2000.
WIN32_SERVICE_CONTROL_SHUTDOWN | 0x00000005 | Notifies a service that the system is shutting down so the service can perform cleanup tasks. If a service accepts this control code, it must stop after it performs its cleanup tasks. After the SCM sends this control code, it will not send other control codes to the service.
WIN32_SERVICE_CONTROL_STOP | 0x00000001 | Notifies a service that it should stop.
Win32Service Service Status Constants
Win32Service Service Control Message Accepted Bitmasks
Vordefinierte Konstanten


Win32Service Service Control Message Accepted Bitmasks

Win32Service Service Control Message Constants
Win32Service Service Start Type Constants
Vordefinierte Konstanten
PHP Manual
Win32Service Service Control Message Accepted Bitmasks
Constant | Value | Description
WIN32_SERVICE_ACCEPT_PAUSE_CONTINUE | 0x00000002 | The service can be paused and continued. This control code allows the service to receive WIN32_SERVICE_CONTROL_PAUSE and WIN32_SERVICE_CONTROL_CONTINUE notifications.
WIN32_SERVICE_ACCEPT_PRESHUTDOWN | 0x00000100 | The service can perform preshutdown tasks. This control code enables the service to receive WIN32_SERVICE_CONTROL_PRESHUTDOWN notifications. This value is not supported by Windows Server 2003 and Windows XP/2000.
WIN32_SERVICE_ACCEPT_SHUTDOWN | 0x00000004 | The service is notified when system shutdown occurs. This control code allows the service to receive WIN32_SERVICE_CONTROL_SHUTDOWN notifications.
WIN32_SERVICE_ACCEPT_STOP | 0x00000001 | The service can be stopped. This control code allows the service to receive WIN32_SERVICE_CONTROL_STOP notifications.
Win32Service Service Control Message Constants
Win32Service Service Start Type Constants
Vordefinierte Konstanten


Win32Service Service Start Type Constants

Win32Service Service Control Message Accepted Bitmasks
Win32Service Service Error Control Constants
Vordefinierte Konstanten
PHP Manual
Win32Service Service Start Type Constants
Constant | Value | Description
WIN32_SERVICE_AUTO_START | 0x00000002 | A service started automatically by the service control manager during system startup.
WIN32_SERVICE_DEMAND_START | 0x00000003 | A service started by the service control manager when a process calls the StartService function.
WIN32_SERVICE_DISABLED | 0x00000004 | A service that cannot be started. Attempts to start the service result in the error code WIN32_ERROR_SERVICE_DISABLED.
Win32Service Service Control Message Accepted Bitmasks
Win32Service Service Error Control Constants
Vordefinierte Konstanten


Win32Service Service Error Control Constants

Win32Service Service Start Type Constants
Win32Service Service Flag Constants
Vordefinierte Konstanten
PHP Manual
Win32Service Service Error Control Constants
Constant | Value | Description
WIN32_SERVICE_ERROR_IGNORE | 0x00000000 | The startup program ignores the error and continues the startup operation.
WIN32_SERVICE_ERROR_NORMAL | 0x00000001 | The startup program logs the error in the event log but continues the startup operation.
Win32Service Service Start Type Constants
Win32Service Service Flag Constants
Vordefinierte Konstanten


Win32Service Service Flag Constants

Win32Service Service Error Control Constants
Win32 Error Codes
Vordefinierte Konstanten
PHP Manual
Win32Service Service Flag Constants
Constant | Value | Description
WIN32_SERVICE_RUNS_IN_SYSTEM_PROCESS | 0x00000001 | The service runs in a system process that must always be running.
Win32Service Service Error Control Constants
Win32 Error Codes
Vordefinierte Konstanten


Win32 Error Codes

Win32Service Service Flag Constants
Win32 Base Priority Classes
Vordefinierte Konstanten
PHP Manual
Win32 Error Codes
Constant | Value | Description
WIN32_ERROR_ACCESS_DENIED | 0x00000005 | The handle to the SCM database does not have the appropriate access rights.
WIN32_ERROR_CIRCULAR_DEPENDENCY | 0x00000423 | A circular service dependency was specified.
WIN32_ERROR_DATABASE_DOES_NOT_EXIST | 0x00000429 | The specified database does not exist.
WIN32_ERROR_DEPENDENT_SERVICES_RUNNING | 0x0000041B | The service cannot be stopped because other running services are dependent on it.
WIN32_ERROR_DUPLICATE_SERVICE_NAME | 0x00000436 | The display name already exists in the service control manager database either as a service name or as another display name.
WIN32_ERROR_FAILED_SERVICE_CONTROLLER_CONNECT | 0x00000427 | This error is returned if the program is being run as a console application rather than as a service. If the program will be run as a console application for debugging purposes, structure it such that service-specific code is not called.
WIN32_ERROR_INSUFFICIENT_BUFFER | 0x0000007A | The buffer is too small for the service status structure. Nothing was written to the structure.
WIN32_ERROR_INVALID_DATA | 0x0000000D | The specified service status structure is invalid.
WIN32_ERROR_INVALID_HANDLE | 0x00000006 | The handle to the specified service control manager database is invalid.
WIN32_ERROR_INVALID_LEVEL | 0x0000007C | The InfoLevel parameter contains an unsupported value.
WIN32_ERROR_INVALID_NAME | 0x0000007B | The specified service name is invalid.
WIN32_ERROR_INVALID_PARAMETER | 0x00000057 | A parameter that was specified is invalid.
WIN32_ERROR_INVALID_SERVICE_ACCOUNT | 0x00000421 | The user account name specified in the user parameter does not exist. See win32_create_service().
WIN32_ERROR_INVALID_SERVICE_CONTROL | 0x0000041C | The requested control code is not valid, or it is unacceptable to the service.
WIN32_ERROR_PATH_NOT_FOUND | 0x00000003 | The service binary file could not be found.
WIN32_ERROR_SERVICE_ALREADY_RUNNING | 0x00000420 | An instance of the service is already running.
WIN32_ERROR_SERVICE_CANNOT_ACCEPT_CTRL | 0x00000425 | The requested control code cannot be sent to the service because the state of the service is WIN32_SERVICE_STOPPED, WIN32_SERVICE_START_PENDING, or WIN32_SERVICE_STOP_PENDING.
WIN32_ERROR_SERVICE_DATABASE_LOCKED | 0x0000041F | The database is locked.
WIN32_ERROR_SERVICE_DEPENDENCY_DELETED | 0x00000433 | The service depends on a service that does not exist or has been marked for deletion.
WIN32_ERROR_SERVICE_DEPENDENCY_FAIL | 0x0000042C | The service depends on another service that has failed to start.
WIN32_ERROR_SERVICE_DISABLED | 0x00000422 | The service has been disabled.
WIN32_ERROR_SERVICE_DOES_NOT_EXIST | 0x00000424 | The specified service does not exist as an installed service.
WIN32_ERROR_SERVICE_EXISTS | 0x00000431 | The specified service already exists in this database.
WIN32_ERROR_SERVICE_LOGON_FAILED | 0x0000042D | The service did not start due to a logon failure. This error occurs if the service is configured to run under an account that does not have the "Log on as a service" right.
WIN32_ERROR_SERVICE_MARKED_FOR_DELETE | 0x00000430 | The specified service has already been marked for deletion.
WIN32_ERROR_SERVICE_NO_THREAD | 0x0000041E | A thread could not be created for the service.
WIN32_ERROR_SERVICE_NOT_ACTIVE | 0x00000426 | The service has not been started.
WIN32_ERROR_SERVICE_REQUEST_TIMEOUT | 0x0000041D | The process for the service was started, but it did not call StartServiceCtrlDispatcher, or the thread that called StartServiceCtrlDispatcher may be blocked in a control handler function.
WIN32_ERROR_SHUTDOWN_IN_PROGRESS | 0x0000045B | The system is shutting down; this function cannot be called.
WIN32_NO_ERROR | 0x00000000 | No error.
Win32Service Service Flag Constants
Win32 Base Priority Classes
Vordefinierte Konstanten


Win32 Base Priority Classes

Win32 Error Codes
Beispiele
Vordefinierte Konstanten
PHP Manual
Win32 Base Priority Classes
Constant | Value | Description
WIN32_ABOVE_NORMAL_PRIORITY_CLASS | 0x00008000 | Process that has priority above WIN32_NORMAL_PRIORITY_CLASS but below WIN32_HIGH_PRIORITY_CLASS.
WIN32_BELOW_NORMAL_PRIORITY_CLASS | 0x00004000 | Process that has priority above WIN32_IDLE_PRIORITY_CLASS but below WIN32_NORMAL_PRIORITY_CLASS.
WIN32_HIGH_PRIORITY_CLASS | 0x00000080 | Process that performs time-critical tasks that must be executed immediately. The threads of the process preempt the threads of normal or idle priority class processes. An example is the Task List, which must respond quickly when called by the user, regardless of the load on the operating system. Use extreme care when using the high-priority class, because a high-priority class application can use nearly all available CPU time.
WIN32_IDLE_PRIORITY_CLASS | 0x00000040 | Process whose threads run only when the system is idle. The threads of the process are preempted by the threads of any process running in a higher priority class. An example is a screen saver. The idle-priority class is inherited by child processes.
WIN32_NORMAL_PRIORITY_CLASS | 0x00000020 | Process with no special scheduling needs.
WIN32_REALTIME_PRIORITY_CLASS | 0x00000100 | Process that has the highest possible priority. The threads of the process preempt the threads of all other processes, including operating system processes performing important tasks. For example, a real-time process that executes for more than a very brief interval can cause disk caches not to flush or cause the mouse to be unresponsive.
Win32 Error Codes
Beispiele
Vordefinierte Konstanten


Beispiele

Beispiel #1 Registering a PHP script to run as a service

<?php
win32_create_service(array(
    'service'     => 'dummyphp',                                           # the name of your service
    'display'     => 'sample dummy PHP service',                           # short description
    'description' => 'This is a dummy Windows service created using PHP.', # long description
    'params'      => '"' . __FILE__ . '"  run',                            # path to the script and parameters
));
?>

Beispiel #2 Unregistering a service

<?php
win32_delete_service('dummyphp');
?>

Beispiel #3 Running as a service

<?php
if ($argv[1] == 'run') {
  win32_start_service_ctrl_dispatcher('dummyphp');

  while (WIN32_SERVICE_CONTROL_STOP != win32_get_last_control_message()) {
    # do your work here.
    # try not to take up more than 30 seconds before going around the loop
    # again
  }
}
?>

Win32 Base Priority Classes
win32service Funktionen
win32service


win32service Funktionen

Inhaltsverzeichnis

  • win32_continue_service — Resumes a paused service
  • win32_create_service — Creates a new service entry in the SCM database
  • win32_delete_service — Deletes a service entry from the SCM database
  • win32_get_last_control_message — Returns the last control message that was sent to this service
  • win32_pause_service — Pauses a service
  • win32_query_service_status — Queries the status of a service
  • win32_set_service_status — Update the service status
  • win32_start_service_ctrl_dispatcher — Registers the script with the SCM, so that it can act as the service with the given name
  • win32_start_service — Starts a service
  • win32_stop_service — Stops a service
Beispiele
win32_continue_service
win32service


Resumes a paused service

win32service Funktionen
win32_create_service
win32service Funktionen
PHP Manual

win32_continue_service

(PECL win32service SVN)

win32_continue_service — Resumes a paused service

Beschreibung

int win32_continue_service ( string $servicename [, string $machine ] )

Resumes a paused, named service. Requires administrative privileges.

Parameter-Liste

servicename

The short name of the service.

machine

Optional machine name. If omitted, the local machine is used.

Rückgabewerte

Gibt im Erfolgsfall WIN32_NO_ERROR zurück oder FALSE, wenn es ein Problem mit den Parametern gab oder einen Win32-Fehlercode im Fehlerfall.

Siehe auch

  • win32_start_service() - Starts a service
  • Win32 Error Codes

win32service Funktionen
win32_create_service
win32service Funktionen


Creates a new service entry in the SCM database

win32_continue_service
win32_delete_service
win32service Funktionen
PHP Manual

win32_create_service

(PECL win32service SVN)

win32_create_service — Creates a new service entry in the SCM database

Beschreibung

mixed win32_create_service ( array $details [, string $machine ] )

Parameter-Liste

details

An array of service details:

service

The short name of the service. This is the name that you will use to control the service using the net command. The service must be unique (no two services can share the same name), and, ideally, should avoid having spaces in the name.

display

The display name of the service. This is the name that you will see in the Services Applet.

description

The long description of the service. This is the description that you will see in the Services Applet.

user

The name of the user account under which you want the service to run. If omitted, the service will run as the LocalSystem account. If the username is specified, you must also provide a password.

password

The password that corresponds to the user.

path

The full path to the executable module that will be launched when the service is started. If omitted, the path to the current PHP process will be used.

params

Command line parameters to pass to the service when it starts. If you want to run a PHP script as the service, then the first parameter should be the full path to the PHP script that you intend to run. If the script name or path contains spaces, then wrap the full path to the PHP script with ".

load_order

Controls the load_order. This is not yet fully supported.

svc_type

Sets the service type. If omitted, the default value is WIN32_SERVICE_WIN32_OWN_PROCESS. Don't change this unless you know what you're doing.

start_type

Specifies how the service should be started. The default is WIN32_SERVICE_AUTO_START which means the service will be launched when the machine starts up.

error_control

Informs the SCM what it should do when it detects a problem with the service. The default is WIN32_SERVER_ERROR_IGNORE. Changing this value is not yet fully supported.

delayed_start

If delayed_start is set to TRUE, then this will inform the SCM that this service should be started after other auto-start services are started plus a short delay.

Any service can be marked as a delayed auto-start service; however, this setting has no effect unless the service's start_type is WIN32_SERVICE_AUTO_START.

This setting is only applicable on Windows Vista and Windows Server 2008 or greater.

base_priority

To reduce the impact on processor utilisation, it may be necessary to set a base priority lower than normal.

The base_priority can be set to one of the constants define in Win32 Base Priority Classes.

machine

The optional machine name on which you want to create a service. If omitted, it will use the local machine.

Rückgabewerte

Gibt im Erfolgsfall WIN32_NO_ERROR zurück oder FALSE, wenn es ein Problem mit den Parametern gab oder einen Win32-Fehlercode im Fehlerfall.

Beispiele

Beispiel #1 A win32_create_service() example

Create a service with the short name 'dummyphp'.

<?php
$x = win32_create_service(array(
    'service'     => 'dummyphp',                                           # the name of your service
    'display'     => 'sample dummy PHP service',                           # short description
    'description' => 'This is a dummy Windows service created using PHP.', # long description
    'params'      => '"' . __FILE__ . '"  run',                            # path to the script and parameters
));
debug_zval_dump($x);
?>

Siehe auch

  • win32_delete_service() - Deletes a service entry from the SCM database
  • Win32 Base Priority Classes
  • Win32 Error Codes

win32_continue_service
win32_delete_service
win32service Funktionen


Deletes a service entry from the SCM database

win32_create_service
win32_get_last_control_message
win32service Funktionen
PHP Manual

win32_delete_service

(PECL win32service SVN)

win32_delete_service — Deletes a service entry from the SCM database

Beschreibung

mixed win32_delete_service ( string $servicename [, string $machine ] )

Attempts to delete a service from the SCM database. Administrative privileges are required for this to succeed.

This function really just marks the service for deletion. If other processes (such as the Services Applet) are open, then the deletion will be deferred until those applications are closed. If a service is marked for deletion, further attempts to delete it will fail, and attempts to create a new service with that name will also fail.

Parameter-Liste

servicename

The short name of the service.

machine

The optional machine name. If omitted, the local machine will be used.

Rückgabewerte

Gibt im Erfolgsfall WIN32_NO_ERROR zurück oder FALSE, wenn es ein Problem mit den Parametern gab oder einen Win32-Fehlercode im Fehlerfall.

Beispiele

Beispiel #1 A win32_delete_service() example

Deletes the dummyphp service.

<?php
win32_delete_service('dummyphp');
?>

Siehe auch

  • win32_create_service() - Creates a new service entry in the SCM database
  • Win32 Error Codes

win32_create_service
win32_get_last_control_message
win32service Funktionen


Returns the last control message that was sent to this service

win32_delete_service
win32_pause_service
win32service Funktionen
PHP Manual

win32_get_last_control_message

(PECL win32service SVN)

win32_get_last_control_message — Returns the last control message that was sent to this service

Beschreibung

int win32_get_last_control_message ( void )

Returns the control code that was last sent to this service process. When running as a service you should periodically check this to determine if your service needs to stop running.

Rückgabewerte

Returns a control constant which will be one of the Win32Service Service Control Message Constants: WIN32_SERVICE_CONTROL_CONTINUE, WIN32_SERVICE_CONTROL_INTERROGATE, WIN32_SERVICE_CONTROL_PAUSE, WIN32_SERVICE_CONTROL_PRESHUTDOWN, WIN32_SERVICE_CONTROL_SHUTDOWN, WIN32_SERVICE_CONTROL_STOP.

Siehe auch

  • win32_start_service_ctrl_dispatcher() - Registers the script with the SCM, so that it can act as the service with the given name
  • Win32Service Service Control Message Constants

win32_delete_service
win32_pause_service
win32service Funktionen


Pauses a service

win32_get_last_control_message
win32_query_service_status
win32service Funktionen
PHP Manual

win32_pause_service

(PECL win32service SVN)

win32_pause_service — Pauses a service

Beschreibung

int win32_pause_service ( string $servicename [, string $machine ] )

Pauses a named service. Requires administrative privileges.

Parameter-Liste

servicename

The short name of the service.

machine

Optional machine name. If omitted, the local machine is used.

Rückgabewerte

Gibt im Erfolgsfall WIN32_NO_ERROR zurück oder FALSE, wenn es ein Problem mit den Parametern gab oder einen Win32-Fehlercode im Fehlerfall.

Siehe auch

  • win32_start_service() - Starts a service
  • Win32 Error Codes

win32_get_last_control_message
win32_query_service_status
win32service Funktionen


Queries the status of a service

win32_pause_service
win32_set_service_status
win32service Funktionen
PHP Manual

win32_query_service_status

(PECL win32service SVN)

win32_query_service_status — Queries the status of a service

Beschreibung

mixed win32_query_service_status ( string $servicename [, string $machine ] )

Queries the current status for a service, returning an array of information.

Parameter-Liste

servicename

The short name of the service.

machine

The optional machine name. If omitted, the local machine will be used.

Rückgabewerte

Returns an array consisting of the following information on success oder FALSE, wenn es ein Problem mit den Parametern gab oder einen Win32-Fehlercode im Fehlerfall.

ServiceType

The dwServiceType. See Win32Service Service Type Bitmasks.

CurrentState

The dwCurrentState. See Win32Service Service Status Constants.

ControlsAccepted

Which service controls are accepted by the service. See Win32Service Service Control Message Accepted Bitmasks.

Win32ExitCode

If the service exited, the return code from the process.

ServiceSpecificExitCode

If the service exited with an error condition, the service specific code that is logged in the event log is visible here.

CheckPoint

If the service is shutting down, holds the current check point number. This is used by the SCM as a kind of heart-beat to detect a wedged service process. The value of the check point is best interpreted in conjunction with the WaitHint value.

WaitHint

If the service is shutting down it will set WaitHint to a checkpoint value that will indicate 100% completion. This can be used to implement a progress indicator.

ProcessId

The Windows process identifier. If 0, the process is not running.

ServiceFlags

The dwServiceFlags. See Win32Service Service Service Flag Constants.

Siehe auch

  • Win32Service Predefined Constants

win32_pause_service
win32_set_service_status
win32service Funktionen


Update the service status

win32_query_service_status
win32_start_service_ctrl_dispatcher
win32service Funktionen
PHP Manual

win32_set_service_status

(PECL win32service SVN)

win32_set_service_status — Update the service status

Beschreibung

bool win32_set_service_status ( int $status [, int $checkpoint = 0 ] )

Informs the SCM of the current status of a running service. This call is only valid for a running service process.

Parameter-Liste

status

The service status code, one of WIN32_SERVICE_RUNNING, WIN32_SERVICE_STOPPED, WIN32_SERVICE_STOP_PENDING, WIN32_SERVICE_START_PENDING, WIN32_SERVICE_CONTINUE_PENDING, WIN32_SERVICE_PAUSE_PENDING, WIN32_SERVICE_PAUSED.

checkpoint

The checkpoint value the service increments periodically to report its progress during a lengthy start, stop, pause, or continue operation. For example, the service should increment this value as it completes each step of its initialization when it is starting up.

The checkpoint is only valid when the status is one of WIN32_SERVICE_STOP_PENDING, WIN32_SERVICE_START_PENDING, WIN32_SERVICE_CONTINUE_PENDING or WIN32_SERVICE_PAUSE_PENDING.

Rückgabewerte

Gibt im Erfolgsfall TRUE zurück oder FALSE, wenn es ein Problem mit den Parametern gab oder einen Win32-Fehlercode im Fehlerfall.

Siehe auch

  • win32_start_service_ctrl_dispatcher() - Registers the script with the SCM, so that it can act as the service with the given name
  • Win32Service Service Status Constants

win32_query_service_status
win32_start_service_ctrl_dispatcher
win32service Funktionen


Registers the script with the SCM, so that it can act as the service with the given name

win32_set_service_status
win32_start_service
win32service Funktionen
PHP Manual

win32_start_service_ctrl_dispatcher

(PECL win32service SVN)

win32_start_service_ctrl_dispatcher — Registers the script with the SCM, so that it can act as the service with the given name

Beschreibung

mixed win32_start_service_ctrl_dispatcher ( string $name )

When launched via the Service Control Manager, a service process is required to "check-in" with it to establish service monitoring and communication facilities. This function performs the check-in by spawning a thread to handle the lower-level communication with the service control manager.

Once started, the service process should do 2 things. The first is to tell the Service Control Manager that the service is running. This is achieved by calling win32_set_service_status() with the WIN32_SERVICE_RUNNING constant. If you need to perform some lengthy process before the service is actually running, then you can use the WIN32_SERVICE_START_PENDING constant. The second is to continue to check-in with the service control manager so that it can determine if it should terminate. This is achieved by periodically calling win32_get_last_control_message() and handling the return code appropriately.

Parameter-Liste

name

The short-name of the service, as registered by win32_create_service().

Rückgabewerte

Gibt im Erfolgsfall TRUE zurück oder FALSE, wenn es ein Problem mit den Parametern gab oder einen Win32-Fehlercode im Fehlerfall.

Beispiele

Beispiel #1 A win32_start_service_ctrl_dispatcher() example

Check if the service is runnig under the SCM.

<?php
if (!win32_start_service_ctrl_dispatcher('dummyphp')) {
  die("I'm probably not running under the service control manager");
}

win32_set_service_status(WIN32_SERVICE_START_PENDING);

// Some lengthy process to get this service up and running.

win32_set_service_status(WIN32_SERVICE_RUNNING);

while (WIN32_SERVICE_CONTROL_STOP != win32_get_last_control_message()) {
  # do some work here, trying not to take more than around 30 seconds
  # before coming back into the loop again
}
?>

Siehe auch

  • win32_set_service_status() - Update the service status
  • win32_get_last_control_message() - Returns the last control message that was sent to this service
  • Win32 Error Codes

win32_set_service_status
win32_start_service
win32service Funktionen


Starts a service

win32_start_service_ctrl_dispatcher
win32_stop_service
win32service Funktionen
PHP Manual

win32_start_service

(PECL win32service SVN)

win32_start_service — Starts a service

Beschreibung

int win32_start_service ( string $servicename [, string $machine ] )

Attempts to start the named service. Usually requires administrative privileges.

Parameter-Liste

servicename

The short name of the service.

machine

Optional machine name. If omitted, the local machine is used.

Rückgabewerte

Gibt im Erfolgsfall WIN32_NO_ERROR zurück oder FALSE, wenn es ein Problem mit den Parametern gab oder einen Win32-Fehlercode im Fehlerfall.

Siehe auch

  • win32_stop_service() - Stops a service
  • Win32 Error Codes

win32_start_service_ctrl_dispatcher
win32_stop_service
win32service Funktionen


Stops a service

win32_start_service
XML-Manipulation
win32service Funktionen
PHP Manual

win32_stop_service

(PECL win32service SVN)

win32_stop_service — Stops a service

Beschreibung

int win32_stop_service ( string $servicename [, string $machine ] )

Stops a named service. Requires administrative privileges.

Parameter-Liste

servicename

The short name of the service.

machine

Optional machine name. If omitted, the local machine is used.

Rückgabewerte

Gibt im Erfolgsfall WIN32_NO_ERROR zurück oder FALSE, wenn es ein Problem mit den Parametern gab oder einen Win32-Fehlercode im Fehlerfall.

Siehe auch

  • win32_start_service() - Starts a service
  • Win32 Error Codes

win32_start_service
XML-Manipulation
win32service Funktionen


XML-Manipulation

  • DOM — Document Object Model
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • DOMAttr — The DOMAttr class
    • DOMCdataSection — The DOMCdataSection class
    • DOMCharacterData — The DOMCharacterData class
    • DOMComment — The DOMComment class
    • DOMDocument — The DOMDocument class
    • DOMDocumentFragment — The DOMDocumentFragment class
    • DOMDocumentType — The DOMDocumentType class
    • DOMElement — The DOMElement class
    • DOMEntity — The DOMEntity class
    • DOMEntityReference — The DOMEntityReference class
    • DOMException — The DOMException class
    • DOMImplementation — The DOMImplementation class
    • DOMNamedNodeMap — The DOMNamedNodeMap class
    • DOMNode — The DOMNode class
    • DOMNodeList — The DOMNodeList class
    • DOMNotation — The DOMNotation class
    • DOMProcessingInstruction — The DOMProcessingInstruction class
    • DOMText — The DOMText class
    • DOMXPath — The DOMXPath class
    • DOM Funktionen
  • libxml
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • libXMLError — The libXMLError class
    • libxml Funktionen
  • SDO — Service Data Objects
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Limitations
    • Beispiele
    • SDO Funktionen
  • SDO-DAS-Relational — SDO Relational Data Access Service
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Limitations
    • SDO-DAS-Relational Funktionen
  • SDO DAS XML — SDO XML Data Access Service
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • SDO DAS XML Funktionen
  • SimpleXML
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • SimpleXMLElement — Die SimpleXMLElement-Klasse
    • SimpleXMLIterator — Die SimpleXMLIterator-Klasse
    • SimpleXML-Funktionen
  • WDDX
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • WDDX Funktionen
  • XMLDiff — XML diff and merge
    • Einführung
    • Installation/Konfiguration
    • XMLDiff\Base — The XMLDiff\Base class
    • XMLDiff\DOM — The XMLDiff\DOM class
    • XMLDiff\Memory — The XMLDiff\Memory class
    • XMLDiff\File — The XMLDiff\File class
  • XML Parser
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Event Handlers
    • Case Folding
    • Error Codes
    • Character Encoding
    • Beispiele
    • XML Parser Funktionen
  • XMLReader
    • Einführung
    • Installation/Konfiguration
    • XMLReader — Die XMLReader Klasse
  • XMLWriter
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • XMLWriter Funktionen
  • XSL
    • Einführung
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • XSLTProcessor — Die XSLTProcessor-Klasse
win32_stop_service
DOM
Funktionsreferenz


Document Object Model

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
  • DOMAttr — The DOMAttr class
    • DOMAttr::__construct — Creates a new DOMAttr object
    • DOMAttr::isId — Checks if attribute is a defined ID
  • DOMCdataSection — The DOMCdataSection class
    • DOMCdataSection::__construct — Constructs a new DOMCdataSection object
  • DOMCharacterData — The DOMCharacterData class
    • DOMCharacterData::appendData — Append the string to the end of the character data of the node
    • DOMCharacterData::deleteData — Remove a range of characters from the node
    • DOMCharacterData::insertData — Insert a string at the specified 16-bit unit offset
    • DOMCharacterData::replaceData — Replace a substring within the DOMCharacterData node
    • DOMCharacterData::substringData — Extracts a range of data from the node
  • DOMComment — The DOMComment class
    • DOMComment::__construct — Creates a new DOMComment object
  • DOMDocument — The DOMDocument class
    • DOMDocument::__construct — Creates a new DOMDocument object
    • DOMDocument::createAttribute — Create new attribute
    • DOMDocument::createAttributeNS — Create new attribute node with an associated namespace
    • DOMDocument::createCDATASection — Create new cdata node
    • DOMDocument::createComment — Create new comment node
    • DOMDocument::createDocumentFragment — Create new document fragment
    • DOMDocument::createElement — Create new element node
    • DOMDocument::createElementNS — Create new element node with an associated namespace
    • DOMDocument::createEntityReference — Create new entity reference node
    • DOMDocument::createProcessingInstruction — Creates new PI node
    • DOMDocument::createTextNode — Create new text node
    • DOMDocument::getElementById — Searches for an element with a certain id
    • DOMDocument::getElementsByTagName — Searches for all elements with given local tag name
    • DOMDocument::getElementsByTagNameNS — Searches for all elements with given tag name in specified namespace
    • DOMDocument::importNode — Import node into current document
    • DOMDocument::load — Load XML from a file
    • DOMDocument::loadHTML — Load HTML from a string
    • DOMDocument::loadHTMLFile — Load HTML from a file
    • DOMDocument::loadXML — Load XML from a string
    • DOMDocument::normalizeDocument — Normalizes the document
    • DOMDocument::registerNodeClass — Register extended class used to create base node type
    • DOMDocument::relaxNGValidate — Performs relaxNG validation on the document
    • DOMDocument::relaxNGValidateSource — Performs relaxNG validation on the document
    • DOMDocument::save — Dumps the internal XML tree back into a file
    • DOMDocument::saveHTML — Dumps the internal document into a string using HTML formatting
    • DOMDocument::saveHTMLFile — Dumps the internal document into a file using HTML formatting
    • DOMDocument::saveXML — Dumps the internal XML tree back into a string
    • DOMDocument::schemaValidate — Validates a document based on a schema
    • DOMDocument::schemaValidateSource — Validates a document based on a schema
    • DOMDocument::validate — Validates the document based on its DTD
    • DOMDocument::xinclude — Substitutes XIncludes in a DOMDocument Object
  • DOMDocumentFragment — The DOMDocumentFragment class
    • DOMDocumentFragment::appendXML — Append raw XML data
  • DOMDocumentType — The DOMDocumentType class
  • DOMElement — The DOMElement class
    • DOMElement::__construct — Creates a new DOMElement object
    • DOMElement::getAttribute — Returns value of attribute
    • DOMElement::getAttributeNode — Returns attribute node
    • DOMElement::getAttributeNodeNS — Returns attribute node
    • DOMElement::getAttributeNS — Returns value of attribute
    • DOMElement::getElementsByTagName — Gets elements by tagname
    • DOMElement::getElementsByTagNameNS — Get elements by namespaceURI and localName
    • DOMElement::hasAttribute — Checks to see if attribute exists
    • DOMElement::hasAttributeNS — Checks to see if attribute exists
    • DOMElement::removeAttribute — Removes attribute
    • DOMElement::removeAttributeNode — Removes attribute
    • DOMElement::removeAttributeNS — Removes attribute
    • DOMElement::setAttribute — Adds new attribute
    • DOMElement::setAttributeNode — Adds new attribute node to element
    • DOMElement::setAttributeNodeNS — Adds new attribute node to element
    • DOMElement::setAttributeNS — Adds new attribute
    • DOMElement::setIdAttribute — Declares the attribute specified by name to be of type ID
    • DOMElement::setIdAttributeNode — Declares the attribute specified by node to be of type ID
    • DOMElement::setIdAttributeNS — Declares the attribute specified by local name and namespace URI to be of type ID
  • DOMEntity — The DOMEntity class
  • DOMEntityReference — The DOMEntityReference class
    • DOMEntityReference::__construct — Creates a new DOMEntityReference object
  • DOMException — The DOMException class
  • DOMImplementation — The DOMImplementation class
    • DOMImplementation::__construct — Creates a new DOMImplementation object
    • DOMImplementation::createDocument — Creates a DOMDocument object of the specified type with its document element
    • DOMImplementation::createDocumentType — Creates an empty DOMDocumentType object
    • DOMImplementation::hasFeature — Test if the DOM implementation implements a specific feature
  • DOMNamedNodeMap — The DOMNamedNodeMap class
    • DOMNamedNodeMap::getNamedItem — Retrieves a node specified by name
    • DOMNamedNodeMap::getNamedItemNS — Retrieves a node specified by local name and namespace URI
    • DOMNamedNodeMap::item — Retrieves a node specified by index
  • DOMNode — The DOMNode class
    • DOMNode::appendChild — Adds new child at the end of the children
    • DOMNode::C14N — Canonicalize nodes to a string
    • DOMNode::C14NFile — Canonicalize nodes to a file
    • DOMNode::cloneNode — Clones a node
    • DOMNode::getLineNo — Get line number for a node
    • DOMNode::getNodePath — Get an XPath for a node
    • DOMNode::hasAttributes — Checks if node has attributes
    • DOMNode::hasChildNodes — Checks if node has children
    • DOMNode::insertBefore — Adds a new child before a reference node
    • DOMNode::isDefaultNamespace — Checks if the specified namespaceURI is the default namespace or not
    • DOMNode::isSameNode — Indicates if two nodes are the same node
    • DOMNode::isSupported — Checks if feature is supported for specified version
    • DOMNode::lookupNamespaceURI — Gets the namespace URI of the node based on the prefix
    • DOMNode::lookupPrefix — Gets the namespace prefix of the node based on the namespace URI
    • DOMNode::normalize — Normalizes the node
    • DOMNode::removeChild — Removes child from list of children
    • DOMNode::replaceChild — Replaces a child
  • DOMNodeList — The DOMNodeList class
    • DOMNodelist::item — Retrieves a node specified by index
  • DOMNotation — The DOMNotation class
  • DOMProcessingInstruction — The DOMProcessingInstruction class
    • DOMProcessingInstruction::__construct — Creates a new DOMProcessingInstruction object
  • DOMText — The DOMText class
    • DOMText::__construct — Creates a new DOMText object
    • DOMText::isWhitespaceInElementContent — Indicates whether this text node contains whitespace
    • DOMText::splitText — Breaks this node into two nodes at the specified offset
  • DOMXPath — The DOMXPath class
    • DOMXPath::__construct — Creates a new DOMXPath object
    • DOMXPath::evaluate — Evaluates the given XPath expression and returns a typed result if possible
    • DOMXPath::query — Evaluates the given XPath expression
    • DOMXPath::registerNamespace — Registers the namespace with the DOMXPath object
    • DOMXPath::registerPhpFunctions — Register PHP functions as XPath functions
  • DOM Funktionen
    • dom_import_simplexml — Ermittelt ein DOMElement-Objekt aus einem SimpleXMLElement-Objekt
XML-Manipulation
Einführung
XML-Manipulation


Einführung

Die DOM Erweiterung ermöglicht es, mit PHP durch die DOM API auf XML-Dokumente zuzugreifen.

Hinweis:

Die DOM-Erweiterung verwendet UTF-8 Kodierung. Verwenden Sie utf8_encode() und utf8_decode(), um mit Texten in ISO-8859-1 Kodierung zu arbeiten oder Iconv für andere Kodierungen.

DOM
Installation/Konfiguration
DOM


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
DOM


Installation

Diese Erweiterung ist standardmäßig aktiviert. Sie kann bei der Kompilierung mit der folgenden Option ausgeschaltet werden: --disable-dom

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

XML constants
Constant | Value | Description
XML_ELEMENT_NODE (integer) | 1 | Node is a DOMElement
XML_ATTRIBUTE_NODE (integer) | 2 | Node is a DOMAttr
XML_TEXT_NODE (integer) | 3 | Node is a DOMText
XML_CDATA_SECTION_NODE (integer) | 4 | Node is a DOMCharacterData
XML_ENTITY_REF_NODE (integer) | 5 | Node is a DOMEntityReference
XML_ENTITY_NODE (integer) | 6 | Node is a DOMEntity
XML_PI_NODE (integer) | 7 | Node is a DOMProcessingInstruction
XML_COMMENT_NODE (integer) | 8 | Node is a DOMComment
XML_DOCUMENT_NODE (integer) | 9 | Node is a DOMDocument
XML_DOCUMENT_TYPE_NODE (integer) | 10 | Node is a DOMDocumentType
XML_DOCUMENT_FRAG_NODE (integer) | 11 | Node is a DOMDocumentFragment
XML_NOTATION_NODE (integer) | 12 | Node is a DOMNotation
XML_HTML_DOCUMENT_NODE (integer) | 13 |
XML_DTD_NODE (integer) | 14 |
XML_ELEMENT_DECL_NODE (integer) | 15 |
XML_ATTRIBUTE_DECL_NODE (integer) | 16 |
XML_ENTITY_DECL_NODE (integer) | 17 |
XML_NAMESPACE_DECL_NODE (integer) | 18 |
XML_ATTRIBUTE_CDATA (integer) | 1 |
XML_ATTRIBUTE_ID (integer) | 2 |
XML_ATTRIBUTE_IDREF (integer) | 3 |
XML_ATTRIBUTE_IDREFS (integer) | 4 |
XML_ATTRIBUTE_ENTITY (integer) | 5 |
XML_ATTRIBUTE_NMTOKEN (integer) | 7 |
XML_ATTRIBUTE_NMTOKENS (integer) | 8 |
XML_ATTRIBUTE_ENUMERATION (integer) | 9 |
XML_ATTRIBUTE_NOTATION (integer) | 10 |
DOMException constants
Constant | Value | Description
DOM_PHP_ERR (integer) | 0 | Error code not part of the DOM specification. Meant for PHP errors.
DOM_INDEX_SIZE_ERR (integer) | 1 | If index or size is negative, or greater than the allowed value.
DOMSTRING_SIZE_ERR (integer) | 2 | If the specified range of text does not fit into a DOMString.
DOM_HIERARCHY_REQUEST_ERR (integer) | 3 | If any node is inserted somewhere it doesn't belong
DOM_WRONG_DOCUMENT_ERR (integer) | 4 | If a node is used in a different document than the one that created it.
DOM_INVALID_CHARACTER_ERR (integer) | 5 | If an invalid or illegal character is specified, such as in a name.
DOM_NO_DATA_ALLOWED_ERR (integer) | 6 | If data is specified for a node which does not support data.
DOM_NO_MODIFICATION_ALLOWED_ERR (integer) | 7 | If an attempt is made to modify an object where modifications are not allowed.
DOM_NOT_FOUND_ERR (integer) | 8 | If an attempt is made to reference a node in a context where it does not exist.
DOM_NOT_SUPPORTED_ERR (integer) | 9 | If the implementation does not support the requested type of object or operation.
DOM_INUSE_ATTRIBUTE_ERR (integer) | 10 | If an attempt is made to add an attribute that is already in use elsewhere.
DOM_INVALID_STATE_ERR (integer) | 11 | If an attempt is made to use an object that is not, or is no longer, usable.
DOM_SYNTAX_ERR (integer) | 12 | If an invalid or illegal string is specified.
DOM_INVALID_MODIFICATION_ERR (integer) | 13 | If an attempt is made to modify the type of the underlying object.
DOM_NAMESPACE_ERR (integer) | 14 | If an attempt is made to create or change an object in a way which is incorrect with regard to namespaces.
DOM_INVALID_ACCESS_ERR (integer) | 15 | If a parameter or an operation is not supported by the underlying object.
DOM_VALIDATION_ERR (integer) | 16 | If a call to a method such as insertBefore or removeChild would make the Node invalid with respect to "partial validity", this exception would be raised and the operation would not be done.
Ressource-Typen
Beispiele
DOM


Beispiele

Many examples in this reference require an XML file. We will use book.xml that contains the following:

Beispiel #1 book.xml

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
 "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
]>
<book id="listing">
 <title>My lists</title>
 <chapter id="books">
  <title>My books</title>
  <para>
   <informaltable>
    <tgroup cols="4">
     <thead>
      <row>
       <entry>Title</entry>
       <entry>Author</entry>
       <entry>Language</entry>
       <entry>ISBN</entry>
      </row>
     </thead>
     <tbody>
      <row>
       <entry>The Grapes of Wrath</entry>
       <entry>John Steinbeck</entry>
       <entry>en</entry>
       <entry>0140186409</entry>
      </row>
      <row>
       <entry>The Pearl</entry>
       <entry>John Steinbeck</entry>
       <entry>en</entry>
       <entry>014017737X</entry>
      </row>
      <row>
       <entry>Samarcande</entry>
       <entry>Amine Maalouf</entry>
       <entry>fr</entry>
       <entry>2253051209</entry>
      </row>
      <!-- TODO: I have a lot of remaining books to add.. -->
     </tbody>
    </tgroup>
   </informaltable>
  </para>
 </chapter>
</book>

Vordefinierte Konstanten
DOMAttr
DOM


The DOMAttr class

(PHP 5, PHP 7)

Einführung

DOMAttr represents an attribute in the DOMElement object.

Klassenbeschreibung

DOMAttr extends DOMNode {
/* Eigenschaften */
public readonly string $name ;
public readonly DOMElement $ownerElement ;
public readonly bool $schemaTypeInfo ;
public readonly bool $specified ;
public string $value ;
/* Methoden */
public __construct ( string $name [, string $value ] )
public bool isId ( void )
/* Geerbte Methoden */
public DOMNode DOMNode::appendChild ( DOMNode $newnode )
public string DOMNode::C14N ([ bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public int DOMNode::C14NFile ( string $uri [, bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
public string DOMNode::getNodePath ( void )
public bool DOMNode::hasAttributes ( void )
public bool DOMNode::hasChildNodes ( void )
public DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
public bool DOMNode::isDefaultNamespace ( string $namespaceURI )
public bool DOMNode::isSameNode ( DOMNode $node )
public bool DOMNode::isSupported ( string $feature , string $version )
public string DOMNode::lookupNamespaceURI ( string $prefix )
public string DOMNode::lookupPrefix ( string $namespaceURI )
public void DOMNode::normalize ( void )
public DOMNode DOMNode::removeChild ( DOMNode $oldnode )
public DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Eigenschaften

name

The name of the attribute

ownerElement

The element which contains the attribute

schemaTypeInfo

Not implemented yet, always is NULL

specified

Not implemented yet, always is NULL

value

The value of the attribute

Siehe auch

  • » W3C specification of Attr

Inhaltsverzeichnis

  • DOMAttr::__construct — Creates a new DOMAttr object
  • DOMAttr::isId — Checks if attribute is a defined ID
Beispiele
DOMAttr::__construct
DOM


Creates a new DOMAttr object

DOMAttr
DOMAttr::isId
DOMAttr
PHP Manual

DOMAttr::__construct

(PHP 5, PHP 7)

DOMAttr::__construct — Creates a new DOMAttr object

Beschreibung

public DOMAttr::__construct ( string $name [, string $value ] )

Creates a new DOMAttr object. This object is read only. It may be appended to a document, but additional nodes may not be appended to this node until the node is associated with a document. To create a writable node, use DOMDocument::createAttribute.

Parameter-Liste

name

The tag name of the attribute.

value

The value of the attribute.

Beispiele

Beispiel #1 Creating a new DOMAttr object

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');
$element = $dom->appendChild(new DOMElement('root'));
$attr = $element->setAttributeNode(new DOMAttr('attr', 'attrvalue'));
echo $dom->saveXML();

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<?xml version="1.0" encoding="utf-8"?>
<root attr="attrvalue" />

Siehe auch

  • DOMDocument::createAttribute() - Create new attribute

DOMAttr
DOMAttr::isId
DOMAttr


Checks if attribute is a defined ID

DOMAttr::__construct
DOMCdataSection
DOMAttr
PHP Manual

DOMAttr::isId

(PHP 5, PHP 7)

DOMAttr::isId — Checks if attribute is a defined ID

Beschreibung

public bool DOMAttr::isId ( void )

This function checks if the attribute is a defined ID.

According to the DOM standard this requires a DTD which defines the attribute ID to be of type ID. You need to validate your document with DOMDocument::validate or DOMDocument::validateOnParse before using this function.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 DOMAttr::isId() Example

<?php

$doc = new DomDocument;

// We need to validate our document before refering to the id
$doc->validateOnParse = true;
$doc->Load('book.xml');

// We retrieve the attribute named id of the chapter element
$attr = $doc->getElementsByTagName('chapter')->item(0)->getAttributeNode('id');

var_dump($attr->isId()); // bool(true)

?>

DOMAttr::__construct
DOMCdataSection
DOMAttr


The DOMCdataSection class

(PHP 5, PHP 7)

Einführung

The DOMCdataSection inherits from DOMText for textural representation of CData constructs.

Klassenbeschreibung

DOMCdataSection extends DOMText {
/* Methods */
public __construct ( string $value )
/* Inherited methods */
public bool DOMText::isWhitespaceInElementContent ( void )
public DOMText DOMText::splitText ( int $offset )
}

Inhaltsverzeichnis

  • DOMCdataSection::__construct — Constructs a new DOMCdataSection object
DOMAttr::isId
DOMCdataSection::__construct
DOM


Constructs a new DOMCdataSection object

DOMCdataSection
DOMCharacterData
DOMCdataSection
PHP Manual

DOMCdataSection::__construct

(PHP 5, PHP 7)

DOMCdataSection::__construct — Constructs a new DOMCdataSection object

Beschreibung

public DOMCdataSection::__construct ( string $value )

Constructs a new CDATA node. This works like the DOMText class.

Parameter-Liste

value

The value of the CDATA node. If not supplied, an empty CDATA node is created.

Beispiele

Beispiel #1 Creating a new DOMCdataSection object

<?php

$dom = new DOMDocument('1.0', 'utf-8');
$element = $dom->appendChild(new DOMElement('root'));
$text = $element->appendChild(new DOMCdataSection('root value'));
echo $dom->saveXML();

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<?xml version="1.0" encoding="utf-8"?>
<root><![CDATA[root value]]></root>

Siehe auch

  • DOMText::__construct() - Creates a new DOMText object
  • DOMDocument::createTextNode() - Create new text node

DOMCdataSection
DOMCharacterData
DOMCdataSection


The DOMCharacterData class

(PHP 5, PHP 7)

Einführung

Represents nodes with character data. No nodes directly correspond to this class, but other nodes do inherit from it.

Klassenbeschreibung

DOMCharacterData extends DOMNode {
/* Eigenschaften */
public string $data ;
readonly public int $length ;
/* Methoden */
void appendData ( string $data )
void deleteData ( int $offset , int $count )
void insertData ( int $offset , string $data )
void replaceData ( int $offset , int $count , string $data )
string substringData ( int $offset , int $count )
/* Geerbte Methoden */
public DOMNode DOMNode::appendChild ( DOMNode $newnode )
public string DOMNode::C14N ([ bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public int DOMNode::C14NFile ( string $uri [, bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
public string DOMNode::getNodePath ( void )
public bool DOMNode::hasAttributes ( void )
public bool DOMNode::hasChildNodes ( void )
public DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
public bool DOMNode::isDefaultNamespace ( string $namespaceURI )
public bool DOMNode::isSameNode ( DOMNode $node )
public bool DOMNode::isSupported ( string $feature , string $version )
public string DOMNode::lookupNamespaceURI ( string $prefix )
public string DOMNode::lookupPrefix ( string $namespaceURI )
public void DOMNode::normalize ( void )
public DOMNode DOMNode::removeChild ( DOMNode $oldnode )
public DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Eigenschaften

data

The contents of the node.

length

The length of the contents.

Siehe auch

  • » W3C specification of CharacterData

Inhaltsverzeichnis

  • DOMCharacterData::appendData — Append the string to the end of the character data of the node
  • DOMCharacterData::deleteData — Remove a range of characters from the node
  • DOMCharacterData::insertData — Insert a string at the specified 16-bit unit offset
  • DOMCharacterData::replaceData — Replace a substring within the DOMCharacterData node
  • DOMCharacterData::substringData — Extracts a range of data from the node
DOMCdataSection::__construct
DOMCharacterData::appendData
DOM


Append the string to the end of the character data of the node

DOMCharacterData
DOMCharacterData::deleteData
DOMCharacterData
PHP Manual

DOMCharacterData::appendData

(PHP 5, PHP 7)

DOMCharacterData::appendData — Append the string to the end of the character data of the node

Beschreibung

void DOMCharacterData::appendData ( string $data )

Append the string data to the end of the character data of the node.

Parameter-Liste

data

The string to append.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • DOMCharacterData::deleteData() - Remove a range of characters from the node
  • DOMCharacterData::insertData() - Insert a string at the specified 16-bit unit offset
  • DOMCharacterData::replaceData() - Replace a substring within the DOMCharacterData node
  • DOMCharacterData::substringData() - Extracts a range of data from the node

DOMCharacterData
DOMCharacterData::deleteData
DOMCharacterData


Remove a range of characters from the node

DOMCharacterData::appendData
DOMCharacterData::insertData
DOMCharacterData
PHP Manual

DOMCharacterData::deleteData

(PHP 5, PHP 7)

DOMCharacterData::deleteData — Remove a range of characters from the node

Beschreibung

void DOMCharacterData::deleteData ( int $offset , int $count )

Deletes count characters starting from position offset.

Parameter-Liste

offset

The offset from which to start removing.

count

The number of characters to delete. If the sum of offset and count exceeds the length, then all characters to the end of the data are deleted.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

DOM_INDEX_SIZE_ERR

Raised if offset is negative or greater than the number of 16-bit units in data, or if count is negative.

Siehe auch

  • DOMCharacterData::appendData() - Append the string to the end of the character data of the node
  • DOMCharacterData::insertData() - Insert a string at the specified 16-bit unit offset
  • DOMCharacterData::replaceData() - Replace a substring within the DOMCharacterData node
  • DOMCharacterData::substringData() - Extracts a range of data from the node

DOMCharacterData::appendData
DOMCharacterData::insertData
DOMCharacterData


Insert a string at the specified 16-bit unit offset

DOMCharacterData::deleteData
DOMCharacterData::replaceData
DOMCharacterData
PHP Manual

DOMCharacterData::insertData

(PHP 5, PHP 7)

DOMCharacterData::insertData — Insert a string at the specified 16-bit unit offset

Beschreibung

void DOMCharacterData::insertData ( int $offset , string $data )

Inserts string data at position offset.

Parameter-Liste

offset

The character offset at which to insert.

data

The string to insert.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

DOM_INDEX_SIZE_ERR

Raised if offset is negative or greater than the number of 16-bit units in data.

Siehe auch

  • DOMCharacterData::appendData() - Append the string to the end of the character data of the node
  • DOMCharacterData::deleteData() - Remove a range of characters from the node
  • DOMCharacterData::replaceData() - Replace a substring within the DOMCharacterData node
  • DOMCharacterData::substringData() - Extracts a range of data from the node

DOMCharacterData::deleteData
DOMCharacterData::replaceData
DOMCharacterData


Replace a substring within the DOMCharacterData node

DOMCharacterData::insertData
DOMCharacterData::substringData
DOMCharacterData
PHP Manual

DOMCharacterData::replaceData

(PHP 5, PHP 7)

DOMCharacterData::replaceData — Replace a substring within the DOMCharacterData node

Beschreibung

void DOMCharacterData::replaceData ( int $offset , int $count , string $data )

Replace count characters starting from position offset with data.

Parameter-Liste

offset

The offset from which to start replacing.

count

The number of characters to replace. If the sum of offset and count exceeds the length, then all characters to the end of the data are replaced.

data

The string with which the range must be replaced.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

DOM_INDEX_SIZE_ERR

Raised if offset is negative or greater than the number of 16-bit units in data, or if count is negative.

Siehe auch

  • DOMCharacterData::appendData() - Append the string to the end of the character data of the node
  • DOMCharacterData::deleteData() - Remove a range of characters from the node
  • DOMCharacterData::insertData() - Insert a string at the specified 16-bit unit offset
  • DOMCharacterData::substringData() - Extracts a range of data from the node

DOMCharacterData::insertData
DOMCharacterData::substringData
DOMCharacterData


Extracts a range of data from the node

DOMCharacterData::replaceData
DOMComment
DOMCharacterData
PHP Manual

DOMCharacterData::substringData

(PHP 5, PHP 7)

DOMCharacterData::substringData — Extracts a range of data from the node

Beschreibung

string DOMCharacterData::substringData ( int $offset , int $count )

Returns the specified substring.

Parameter-Liste

offset

Start offset of substring to extract.

count

The number of characters to extract.

Rückgabewerte

The specified substring. If the sum of offset and count exceeds the length, then all 16-bit units to the end of the data are returned.

Fehler/Exceptions

DOM_INDEX_SIZE_ERR

Raised if offset is negative or greater than the number of 16-bit units in data, or if count is negative.

Siehe auch

  • DOMCharacterData::appendData() - Append the string to the end of the character data of the node
  • DOMCharacterData::deleteData() - Remove a range of characters from the node
  • DOMCharacterData::insertData() - Insert a string at the specified 16-bit unit offset
  • DOMCharacterData::replaceData() - Replace a substring within the DOMCharacterData node

DOMCharacterData::replaceData
DOMComment
DOMCharacterData


The DOMComment class

(PHP 5, PHP 7)

Einführung

Represents comment nodes, characters delimited by <!-- and -->.

Klassenbeschreibung

DOMComment extends DOMCharacterData {
/* Methoden */
public __construct ([ string $value ] )
/* Geerbte Methoden */
void DOMCharacterData::appendData ( string $data )
void DOMCharacterData::deleteData ( int $offset , int $count )
void DOMCharacterData::insertData ( int $offset , string $data )
void DOMCharacterData::replaceData ( int $offset , int $count , string $data )
string DOMCharacterData::substringData ( int $offset , int $count )
public DOMNode DOMNode::appendChild ( DOMNode $newnode )
public string DOMNode::C14N ([ bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public int DOMNode::C14NFile ( string $uri [, bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
public string DOMNode::getNodePath ( void )
public bool DOMNode::hasAttributes ( void )
public bool DOMNode::hasChildNodes ( void )
public DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
public bool DOMNode::isDefaultNamespace ( string $namespaceURI )
public bool DOMNode::isSameNode ( DOMNode $node )
public bool DOMNode::isSupported ( string $feature , string $version )
public string DOMNode::lookupNamespaceURI ( string $prefix )
public string DOMNode::lookupPrefix ( string $namespaceURI )
public void DOMNode::normalize ( void )
public DOMNode DOMNode::removeChild ( DOMNode $oldnode )
public DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Siehe auch

  • » W3C specification of Comment

Inhaltsverzeichnis

  • DOMComment::__construct — Creates a new DOMComment object
DOMCharacterData::substringData
DOMComment::__construct
DOM


Creates a new DOMComment object

DOMComment
DOMDocument
DOMComment
PHP Manual

DOMComment::__construct

(PHP 5, PHP 7)

DOMComment::__construct — Creates a new DOMComment object

Beschreibung

public DOMComment::__construct ([ string $value ] )

Creates a new DOMComment object. This object is read only. It may be appended to a document, but additional nodes may not be appended to this node until the node is associated with a document. To create a writeable node, use DOMDocument::createComment.

Parameter-Liste

value

The value of the comment.

Beispiele

Beispiel #1 Creating a new DOMComment

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');
$element = $dom->appendChild(new DOMElement('root'));
$comment = $element->appendChild(new DOMComment('root comment'));
echo $dom->saveXML(); /* <?xml version="1.0" encoding="iso-8859-1"?><root><!--root comment--></root> */

?>

Siehe auch

  • DOMDocument::createComment() - Create new comment node

DOMComment
DOMDocument
DOMComment


The DOMDocument class

(PHP 5, PHP 7)

Einführung

Represents an entire HTML or XML document; serves as the root of the document tree.

Klassenbeschreibung

DOMDocument extends DOMNode {
/* Eigenschaften */
readonly public string $actualEncoding ;
readonly public DOMConfiguration $config ;
readonly public DOMDocumentType $doctype ;
readonly public DOMElement $documentElement ;
public string $documentURI ;
public string $encoding ;
public bool $formatOutput ;
readonly public DOMImplementation $implementation ;
public bool $preserveWhiteSpace = true ;
public bool $recover ;
public bool $resolveExternals ;
public bool $standalone ;
public bool $strictErrorChecking = true ;
public bool $substituteEntities ;
public bool $validateOnParse = false ;
public string $version ;
readonly public string $xmlEncoding ;
public bool $xmlStandalone ;
public string $xmlVersion ;
/* Methoden */
public __construct ([ string $version [, string $encoding ]] )
public DOMAttr createAttribute ( string $name )
public DOMAttr createAttributeNS ( string $namespaceURI , string $qualifiedName )
public DOMCDATASection createCDATASection ( string $data )
public DOMComment createComment ( string $data )
public DOMDocumentFragment createDocumentFragment ( void )
public DOMElement createElement ( string $name [, string $value ] )
public DOMElement createElementNS ( string $namespaceURI , string $qualifiedName [, string $value ] )
public DOMEntityReference createEntityReference ( string $name )
public DOMProcessingInstruction createProcessingInstruction ( string $target [, string $data ] )
public DOMText createTextNode ( string $content )
public DOMElement getElementById ( string $elementId )
public DOMNodeList getElementsByTagName ( string $name )
public DOMNodeList getElementsByTagNameNS ( string $namespaceURI , string $localName )
public DOMNode importNode ( DOMNode $importedNode [, bool $deep ] )
public mixed load ( string $filename [, int $options = 0 ] )
public bool loadHTML ( string $source [, int $options = 0 ] )
public bool loadHTMLFile ( string $filename [, int $options = 0 ] )
public mixed loadXML ( string $source [, int $options = 0 ] )
public void normalizeDocument ( void )
public bool registerNodeClass ( string $baseclass , string $extendedclass )
public bool relaxNGValidate ( string $filename )
public bool relaxNGValidateSource ( string $source )
public int save ( string $filename [, int $options ] )
public string saveHTML ([ DOMNode $node = NULL ] )
public int saveHTMLFile ( string $filename )
public string saveXML ([ DOMNode $node [, int $options ]] )
public bool schemaValidate ( string $filename [, int $flags ] )
public bool schemaValidateSource ( string $source [, int $flags ] )
public bool validate ( void )
public int xinclude ([ int $options ] )
/* Geerbte Methoden */
public DOMNode DOMNode::appendChild ( DOMNode $newnode )
public string DOMNode::C14N ([ bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public int DOMNode::C14NFile ( string $uri [, bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
public string DOMNode::getNodePath ( void )
public bool DOMNode::hasAttributes ( void )
public bool DOMNode::hasChildNodes ( void )
public DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
public bool DOMNode::isDefaultNamespace ( string $namespaceURI )
public bool DOMNode::isSameNode ( DOMNode $node )
public bool DOMNode::isSupported ( string $feature , string $version )
public string DOMNode::lookupNamespaceURI ( string $prefix )
public string DOMNode::lookupPrefix ( string $namespaceURI )
public void DOMNode::normalize ( void )
public DOMNode DOMNode::removeChild ( DOMNode $oldnode )
public DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Eigenschaften

actualEncoding

Deprecated. Actual encoding of the document, is a readonly equivalent to encoding.

config

Deprecated. Configuration used when DOMDocument::normalizeDocument() is invoked.

doctype

The Document Type Declaration associated with this document.

documentElement

This is a convenience attribute that allows direct access to the child node that is the document element of the document.

documentURI

The location of the document or NULL if undefined.

encoding

Encoding of the document, as specified by the XML declaration. This attribute is not present in the final DOM Level 3 specification, but is the only way of manipulating XML document encoding in this implementation.

formatOutput

Nicely formats output with indentation and extra space.

implementation

The DOMImplementation object that handles this document.

preserveWhiteSpace

Do not remove redundant white space. Default to TRUE.

recover

Proprietary. Enables recovery mode, i.e. trying to parse non-well formed documents. This attribute is not part of the DOM specification and is specific to libxml.

resolveExternals

Set it to TRUE to load external entities from a doctype declaration. This is useful for including character entities in your XML document.

standalone

Deprecated. Whether or not the document is standalone, as specified by the XML declaration, corresponds to xmlStandalone.

strictErrorChecking

Throws DOMException on errors. Default to TRUE.

substituteEntities

Proprietary. Whether or not to substitute entities. This attribute is not part of the DOM specification and is specific to libxml.

validateOnParse

Loads and validates against the DTD. Default to FALSE.

version

Deprecated. Version of XML, corresponds to xmlVersion.

xmlEncoding

An attribute specifying, as part of the XML declaration, the encoding of this document. This is NULL when unspecified or when it is not known, such as when the Document was created in memory.

xmlStandalone

An attribute specifying, as part of the XML declaration, whether this document is standalone. This is FALSE when unspecified.

xmlVersion

An attribute specifying, as part of the XML declaration, the version number of this document. If there is no declaration and if this document supports the "XML" feature, the value is "1.0".

Anmerkungen

Hinweis:

The DOM extension uses UTF-8 encoding. Use utf8_encode() and utf8_decode() to work with texts in ISO-8859-1 encoding or Iconv for other encodings.

Siehe auch

  • » W3C specification for Document

Inhaltsverzeichnis

  • DOMDocument::__construct — Creates a new DOMDocument object
  • DOMDocument::createAttribute — Create new attribute
  • DOMDocument::createAttributeNS — Create new attribute node with an associated namespace
  • DOMDocument::createCDATASection — Create new cdata node
  • DOMDocument::createComment — Create new comment node
  • DOMDocument::createDocumentFragment — Create new document fragment
  • DOMDocument::createElement — Create new element node
  • DOMDocument::createElementNS — Create new element node with an associated namespace
  • DOMDocument::createEntityReference — Create new entity reference node
  • DOMDocument::createProcessingInstruction — Creates new PI node
  • DOMDocument::createTextNode — Create new text node
  • DOMDocument::getElementById — Searches for an element with a certain id
  • DOMDocument::getElementsByTagName — Searches for all elements with given local tag name
  • DOMDocument::getElementsByTagNameNS — Searches for all elements with given tag name in specified namespace
  • DOMDocument::importNode — Import node into current document
  • DOMDocument::load — Load XML from a file
  • DOMDocument::loadHTML — Load HTML from a string
  • DOMDocument::loadHTMLFile — Load HTML from a file
  • DOMDocument::loadXML — Load XML from a string
  • DOMDocument::normalizeDocument — Normalizes the document
  • DOMDocument::registerNodeClass — Register extended class used to create base node type
  • DOMDocument::relaxNGValidate — Performs relaxNG validation on the document
  • DOMDocument::relaxNGValidateSource — Performs relaxNG validation on the document
  • DOMDocument::save — Dumps the internal XML tree back into a file
  • DOMDocument::saveHTML — Dumps the internal document into a string using HTML formatting
  • DOMDocument::saveHTMLFile — Dumps the internal document into a file using HTML formatting
  • DOMDocument::saveXML — Dumps the internal XML tree back into a string
  • DOMDocument::schemaValidate — Validates a document based on a schema
  • DOMDocument::schemaValidateSource — Validates a document based on a schema
  • DOMDocument::validate — Validates the document based on its DTD
  • DOMDocument::xinclude — Substitutes XIncludes in a DOMDocument Object
DOMComment::__construct
DOMDocument::__construct
DOM


Creates a new DOMDocument object

DOMDocument
DOMDocument::createAttribute
DOMDocument
PHP Manual

DOMDocument::__construct

(PHP 5, PHP 7)

DOMDocument::__construct — Creates a new DOMDocument object

Beschreibung

public DOMDocument::__construct ([ string $version [, string $encoding ]] )

Creates a new DOMDocument object.

Parameter-Liste

version

The version number of the document as part of the XML declaration.

encoding

The encoding of the document as part of the XML declaration.

Beispiele

Beispiel #1 Creating a new DOMDocument

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');

echo $dom->saveXML(); /* <?xml version="1.0" encoding="iso-8859-1"?> */

?>

Siehe auch

  • DOMImplementation::createDocument() - Creates a DOMDocument object of the specified type with its document element

DOMDocument
DOMDocument::createAttribute
DOMDocument


Create new attribute

DOMDocument::__construct
DOMDocument::createAttributeNS
DOMDocument
PHP Manual

DOMDocument::createAttribute

(PHP 5, PHP 7)

DOMDocument::createAttribute — Create new attribute

Beschreibung

public DOMAttr DOMDocument::createAttribute ( string $name )

This function creates a new instance of class DOMAttr. Dieser Knoten wird in Ihrem Dokument nicht sichtbar sein, bis dieser zum Beispiel mit der Funktion DOMNode::appendChild eingefügt wird.

Parameter-Liste

name

The name of the attribute.

Rückgabewerte

The new DOMAttr or FALSE if an error occurred.

Fehler/Exceptions

DOM_INVALID_CHARACTER_ERR

Raised if name contains an invalid character.

Siehe auch

  • DOMNode::appendChild() - Adds new child at the end of the children
  • DOMDocument::createAttributeNS() - Create new attribute node with an associated namespace
  • DOMDocument::createCDATASection() - Create new cdata node
  • DOMDocument::createComment() - Create new comment node
  • DOMDocument::createDocumentFragment() - Create new document fragment
  • DOMDocument::createElement() - Create new element node
  • DOMDocument::createElementNS() - Create new element node with an associated namespace
  • DOMDocument::createEntityReference() - Create new entity reference node
  • DOMDocument::createProcessingInstruction() - Creates new PI node
  • DOMDocument::createTextNode() - Create new text node

DOMDocument::__construct
DOMDocument::createAttributeNS
DOMDocument


Create new attribute node with an associated namespace

DOMDocument::createAttribute
DOMDocument::createCDATASection
DOMDocument
PHP Manual

DOMDocument::createAttributeNS

(PHP 5, PHP 7)

DOMDocument::createAttributeNS — Create new attribute node with an associated namespace

Beschreibung

public DOMAttr DOMDocument::createAttributeNS ( string $namespaceURI , string $qualifiedName )

This function creates a new instance of class DOMAttr. Dieser Knoten wird in Ihrem Dokument nicht sichtbar sein, bis dieser zum Beispiel mit der Funktion DOMNode::appendChild eingefügt wird.

Parameter-Liste

namespaceURI

The URI of the namespace.

qualifiedName

The tag name and prefix of the attribute, as prefix:tagname.

Rückgabewerte

The new DOMAttr or FALSE if an error occurred.

Fehler/Exceptions

DOM_INVALID_CHARACTER_ERR

Raised if qualifiedName contains an invalid character.

DOM_NAMESPACE_ERR

Raised if qualifiedName is a malformed qualified name, or if qualifiedName has a prefix and namespaceURI is NULL.

Siehe auch

  • DOMNode::appendChild() - Adds new child at the end of the children
  • DOMDocument::createAttribute() - Create new attribute
  • DOMDocument::createCDATASection() - Create new cdata node
  • DOMDocument::createComment() - Create new comment node
  • DOMDocument::createDocumentFragment() - Create new document fragment
  • DOMDocument::createElement() - Create new element node
  • DOMDocument::createElementNS() - Create new element node with an associated namespace
  • DOMDocument::createEntityReference() - Create new entity reference node
  • DOMDocument::createProcessingInstruction() - Creates new PI node
  • DOMDocument::createTextNode() - Create new text node

DOMDocument::createAttribute
DOMDocument::createCDATASection
DOMDocument


Create new cdata node

DOMDocument::createAttributeNS
DOMDocument::createComment
DOMDocument
PHP Manual

DOMDocument::createCDATASection

(PHP 5, PHP 7)

DOMDocument::createCDATASection — Create new cdata node

Beschreibung

public DOMCDATASection DOMDocument::createCDATASection ( string $data )

This function creates a new instance of class DOMCDATASection. Dieser Knoten wird in Ihrem Dokument nicht sichtbar sein, bis dieser zum Beispiel mit der Funktion DOMNode::appendChild eingefügt wird.

Parameter-Liste

data

The content of the cdata.

Rückgabewerte

The new DOMCDATASection or FALSE if an error occurred.

Siehe auch

  • DOMNode::appendChild() - Adds new child at the end of the children
  • DOMDocument::createAttribute() - Create new attribute
  • DOMDocument::createAttributeNS() - Create new attribute node with an associated namespace
  • DOMDocument::createComment() - Create new comment node
  • DOMDocument::createDocumentFragment() - Create new document fragment
  • DOMDocument::createElement() - Create new element node
  • DOMDocument::createElementNS() - Create new element node with an associated namespace
  • DOMDocument::createEntityReference() - Create new entity reference node
  • DOMDocument::createProcessingInstruction() - Creates new PI node
  • DOMDocument::createTextNode() - Create new text node

DOMDocument::createAttributeNS
DOMDocument::createComment
DOMDocument


Create new comment node

DOMDocument::createCDATASection
DOMDocument::createDocumentFragment
DOMDocument
PHP Manual

DOMDocument::createComment

(PHP 5, PHP 7)

DOMDocument::createComment — Create new comment node

Beschreibung

public DOMComment DOMDocument::createComment ( string $data )

This function creates a new instance of class DOMComment. Dieser Knoten wird in Ihrem Dokument nicht sichtbar sein, bis dieser zum Beispiel mit der Funktion DOMNode::appendChild eingefügt wird.

Parameter-Liste

data

The content of the comment.

Rückgabewerte

The new DOMComment or FALSE if an error occurred.

Siehe auch

  • DOMNode::appendChild() - Adds new child at the end of the children
  • DOMDocument::createAttribute() - Create new attribute
  • DOMDocument::createAttributeNS() - Create new attribute node with an associated namespace
  • DOMDocument::createCDATASection() - Create new cdata node
  • DOMDocument::createDocumentFragment() - Create new document fragment
  • DOMDocument::createElement() - Create new element node
  • DOMDocument::createElementNS() - Create new element node with an associated namespace
  • DOMDocument::createEntityReference() - Create new entity reference node
  • DOMDocument::createProcessingInstruction() - Creates new PI node
  • DOMDocument::createTextNode() - Create new text node

DOMDocument::createCDATASection
DOMDocument::createDocumentFragment
DOMDocument


Create new document fragment

DOMDocument::createComment
DOMDocument::createElement
DOMDocument
PHP Manual

DOMDocument::createDocumentFragment

(PHP 5, PHP 7)

DOMDocument::createDocumentFragment — Create new document fragment

Beschreibung

public DOMDocumentFragment DOMDocument::createDocumentFragment ( void )

This function creates a new instance of class DOMDocumentFragment. Dieser Knoten wird in Ihrem Dokument nicht sichtbar sein, bis dieser zum Beispiel mit der Funktion DOMNode::appendChild eingefügt wird.

Rückgabewerte

The new DOMDocumentFragment or FALSE if an error occurred.

Siehe auch

  • DOMNode::appendChild() - Adds new child at the end of the children
  • DOMDocument::createAttribute() - Create new attribute
  • DOMDocument::createAttributeNS() - Create new attribute node with an associated namespace
  • DOMDocument::createCDATASection() - Create new cdata node
  • DOMDocument::createComment() - Create new comment node
  • DOMDocument::createElement() - Create new element node
  • DOMDocument::createElementNS() - Create new element node with an associated namespace
  • DOMDocument::createEntityReference() - Create new entity reference node
  • DOMDocument::createProcessingInstruction() - Creates new PI node
  • DOMDocument::createTextNode() - Create new text node

DOMDocument::createComment
DOMDocument::createElement
DOMDocument


Create new element node

DOMDocument::createDocumentFragment
DOMDocument::createElementNS
DOMDocument
PHP Manual

DOMDocument::createElement

(PHP 5, PHP 7)

DOMDocument::createElement — Create new element node

Beschreibung

public DOMElement DOMDocument::createElement ( string $name [, string $value ] )

This function creates a new instance of class DOMElement. Dieser Knoten wird in Ihrem Dokument nicht sichtbar sein, bis dieser zum Beispiel mit der Funktion DOMNode::appendChild eingefügt wird.

Parameter-Liste

name

The tag name of the element.

value

The value of the element. By default, an empty element will be created. The value can also be set later with DOMElement::$nodeValue.

The value is used verbatim except that the < and > entity references will escaped. Note that & has to be manually escaped; otherwise it is regarded as starting an entity reference. Also " won't be escaped.

Rückgabewerte

Returns a new instance of class DOMElement or FALSE if an error occurred.

Fehler/Exceptions

DOM_INVALID_CHARACTER_ERR

Raised if name contains an invalid character.

Beispiele

Beispiel #1 Creating a new element and inserting it as root

<?php

$dom = new DOMDocument('1.0', 'utf-8');

$element = $dom->createElement('test', 'This is the root element!');

// We insert the new element as root (child of the document)
$dom->appendChild($element);

echo $dom->saveXML();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<?xml version="1.0" encoding="utf-8"?>
<test>This is the root element!</test>

Beispiel #2 Passing text containing an unescaped & as value

<?php
$dom = new DOMDocument('1.0', 'utf-8');
$element = $dom->createElement('foo', 'me & you');
$dom->appendChild($element);
echo $dom->saveXML();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Warning: DOMDocument::createElement(): unterminated entity reference             you in /in/BjTCg on line 4
<?xml version="1.0" encoding="utf-8"?>
<foo/>

Anmerkungen

Hinweis:

The value will not be escaped. Use DOMDocument::createTextNode() to create a text node with escaping support.

Siehe auch

  • DOMNode::appendChild() - Adds new child at the end of the children
  • DOMDocument::createAttribute() - Create new attribute
  • DOMDocument::createAttributeNS() - Create new attribute node with an associated namespace
  • DOMDocument::createCDATASection() - Create new cdata node
  • DOMDocument::createComment() - Create new comment node
  • DOMDocument::createDocumentFragment() - Create new document fragment
  • DOMDocument::createElementNS() - Create new element node with an associated namespace
  • DOMDocument::createEntityReference() - Create new entity reference node
  • DOMDocument::createProcessingInstruction() - Creates new PI node
  • DOMDocument::createTextNode() - Create new text node

DOMDocument::createDocumentFragment
DOMDocument::createElementNS
DOMDocument


Create new element node with an associated namespace

DOMDocument::createElement
DOMDocument::createEntityReference
DOMDocument
PHP Manual

DOMDocument::createElementNS

(PHP 5, PHP 7)

DOMDocument::createElementNS — Create new element node with an associated namespace

Beschreibung

public DOMElement DOMDocument::createElementNS ( string $namespaceURI , string $qualifiedName [, string $value ] )

This function creates a new element node with an associated namespace. Dieser Knoten wird in Ihrem Dokument nicht sichtbar sein, bis dieser zum Beispiel mit der Funktion DOMNode::appendChild eingefügt wird.

Parameter-Liste

namespaceURI

The URI of the namespace.

qualifiedName

The qualified name of the element, as prefix:tagname.

value

The value of the element. By default, an empty element will be created. You can also set the value later with DOMElement::$nodeValue.

Rückgabewerte

The new DOMElement or FALSE if an error occurred.

Fehler/Exceptions

DOM_INVALID_CHARACTER_ERR

Raised if qualifiedName contains an invalid character.

DOM_NAMESPACE_ERR

Raised if qualifiedName is a maformed qualified name.

Beispiele

Beispiel #1 Creating a new element and inserting it as root

<?php

$dom = new DOMDocument('1.0', 'utf-8');

$element = $dom->createElementNS('http://www.example.com/XFoo', 'xfoo:test', 'This is the root element!');

// We insert the new element as root (child of the document)
$dom->appendChild($element);

echo $dom->saveXML();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<?xml version="1.0" encoding="utf-8"?>
<xfoo:test xmlns:xfoo="http://www.example.com/XFoo">This is the root element!</xfoo:test>

Beispiel #2 A namespace prefix example

<?php
$doc  = new DOMDocument('1.0', 'utf-8');
$doc->formatOutput = true;
$root = $doc->createElementNS('http://www.w3.org/2005/Atom', 'element');
$doc->appendChild($root);
$root->setAttributeNS('http://www.w3.org/2000/xmlns/' ,'xmlns:g', 'http://base.google.com/ns/1.0');
$item = $doc->createElementNS('http://base.google.com/ns/1.0', 'g:item_type', 'house');
$root->appendChild($item);

echo $doc->saveXML(), "\n";

echo $item->namespaceURI, "\n"; // Outputs: http://base.google.com/ns/1.0
echo $item->prefix, "\n";       // Outputs: g
echo $item->localName, "\n";    // Outputs: item_type
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<?xml version="1.0" encoding="utf-8"?>
<element xmlns="http://www.w3.org/2005/Atom" xmlns:g="http://base.google.com/ns/1.0">
  <g:item_type>house</g:item_type>
</element>

http://base.google.com/ns/1.0
g
item_type

Siehe auch

  • DOMNode::appendChild() - Adds new child at the end of the children
  • DOMDocument::createAttribute() - Create new attribute
  • DOMDocument::createAttributeNS() - Create new attribute node with an associated namespace
  • DOMDocument::createCDATASection() - Create new cdata node
  • DOMDocument::createComment() - Create new comment node
  • DOMDocument::createDocumentFragment() - Create new document fragment
  • DOMDocument::createElement() - Create new element node
  • DOMDocument::createEntityReference() - Create new entity reference node
  • DOMDocument::createProcessingInstruction() - Creates new PI node
  • DOMDocument::createTextNode() - Create new text node

DOMDocument::createElement
DOMDocument::createEntityReference
DOMDocument


Create new entity reference node

DOMDocument::createElementNS
DOMDocument::createProcessingInstruction
DOMDocument
PHP Manual

DOMDocument::createEntityReference

(PHP 5, PHP 7)

DOMDocument::createEntityReference — Create new entity reference node

Beschreibung

public DOMEntityReference DOMDocument::createEntityReference ( string $name )

This function creates a new instance of class DOMEntityReference. Dieser Knoten wird in Ihrem Dokument nicht sichtbar sein, bis dieser zum Beispiel mit der Funktion DOMNode::appendChild eingefügt wird.

Parameter-Liste

name

The content of the entity reference, e.g. the entity reference minus the leading & and the trailing ; characters.

Rückgabewerte

The new DOMEntityReference or FALSE if an error occurred.

Fehler/Exceptions

DOM_INVALID_CHARACTER_ERR

Raised if name contains an invalid character.

Siehe auch

  • DOMNode::appendChild() - Adds new child at the end of the children
  • DOMDocument::createAttribute() - Create new attribute
  • DOMDocument::createAttributeNS() - Create new attribute node with an associated namespace
  • DOMDocument::createCDATASection() - Create new cdata node
  • DOMDocument::createComment() - Create new comment node
  • DOMDocument::createDocumentFragment() - Create new document fragment
  • DOMDocument::createElement() - Create new element node
  • DOMDocument::createElementNS() - Create new element node with an associated namespace
  • DOMDocument::createProcessingInstruction() - Creates new PI node
  • DOMDocument::createTextNode() - Create new text node

DOMDocument::createElementNS
DOMDocument::createProcessingInstruction
DOMDocument


Creates new PI node

DOMDocument::createEntityReference
DOMDocument::createTextNode
DOMDocument
PHP Manual

DOMDocument::createProcessingInstruction

(PHP 5, PHP 7)

DOMDocument::createProcessingInstruction — Creates new PI node

Beschreibung

public DOMProcessingInstruction DOMDocument::createProcessingInstruction ( string $target [, string $data ] )

This function creates a new instance of class DOMProcessingInstruction. Dieser Knoten wird in Ihrem Dokument nicht sichtbar sein, bis dieser zum Beispiel mit der Funktion DOMNode::appendChild eingefügt wird.

Parameter-Liste

target

The target of the processing instruction.

data

The content of the processing instruction.

Rückgabewerte

The new DOMProcessingInstruction or FALSE if an error occurred.

Fehler/Exceptions

DOM_INVALID_CHARACTER_ERR

Raised if target contains an invalid character.

Siehe auch

  • DOMNode::appendChild() - Adds new child at the end of the children
  • DOMDocument::createAttribute() - Create new attribute
  • DOMDocument::createAttributeNS() - Create new attribute node with an associated namespace
  • DOMDocument::createCDATASection() - Create new cdata node
  • DOMDocument::createComment() - Create new comment node
  • DOMDocument::createDocumentFragment() - Create new document fragment
  • DOMDocument::createElement() - Create new element node
  • DOMDocument::createElementNS() - Create new element node with an associated namespace
  • DOMDocument::createEntityReference() - Create new entity reference node
  • DOMDocument::createTextNode() - Create new text node

DOMDocument::createEntityReference
DOMDocument::createTextNode
DOMDocument


Create new text node

DOMDocument::createProcessingInstruction
DOMDocument::getElementById
DOMDocument
PHP Manual

DOMDocument::createTextNode

(PHP 5, PHP 7)

DOMDocument::createTextNode — Create new text node

Beschreibung

public DOMText DOMDocument::createTextNode ( string $content )

This function creates a new instance of class DOMText. Dieser Knoten wird in Ihrem Dokument nicht sichtbar sein, bis dieser zum Beispiel mit der Funktion DOMNode::appendChild eingefügt wird.

Parameter-Liste

content

The content of the text.

Rückgabewerte

The new DOMText or FALSE if an error occurred.

Siehe auch

  • DOMNode::appendChild() - Adds new child at the end of the children
  • DOMDocument::createAttribute() - Create new attribute
  • DOMDocument::createAttributeNS() - Create new attribute node with an associated namespace
  • DOMDocument::createCDATASection() - Create new cdata node
  • DOMDocument::createComment() - Create new comment node
  • DOMDocument::createDocumentFragment() - Create new document fragment
  • DOMDocument::createElement() - Create new element node
  • DOMDocument::createElementNS() - Create new element node with an associated namespace
  • DOMDocument::createEntityReference() - Create new entity reference node
  • DOMDocument::createProcessingInstruction() - Creates new PI node

DOMDocument::createProcessingInstruction
DOMDocument::getElementById
DOMDocument


Searches for an element with a certain id

DOMDocument::createTextNode
DOMDocument::getElementsByTagName
DOMDocument
PHP Manual

DOMDocument::getElementById

(PHP 5, PHP 7)

DOMDocument::getElementById — Searches for an element with a certain id

Beschreibung

public DOMElement DOMDocument::getElementById ( string $elementId )

This function is similar to DOMDocument::getElementsByTagName but searches for an element with a given id.

For this function to work, you will need either to set some ID attributes with DOMElement::setIdAttribute or a DTD which defines an attribute to be of type ID. In the later case, you will need to validate your document with DOMDocument::validate or DOMDocument::$validateOnParse before using this function.

Parameter-Liste

elementId

The unique id value for an element.

Rückgabewerte

Returns the DOMElement or NULL if the element is not found.

Beispiele

Beispiel #1 DOMDocument::getElementById() Example

Die folgenden Beispiele verwenden book.xml mit dem folgenden Inhalt:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE books [
  <!ELEMENT books   (book+)>
  <!ELEMENT book    (title, author+, xhtml:blurb?)>
  <!ELEMENT title   (#PCDATA)>
  <!ELEMENT blurb   (#PCDATA)>
  <!ELEMENT author  (#PCDATA)>
  <!ATTLIST books   xmlns        CDATA  #IMPLIED>
  <!ATTLIST books   xmlns:xhtml  CDATA  #IMPLIED>
  <!ATTLIST book    id           ID     #IMPLIED>
  <!ATTLIST author  email        CDATA  #IMPLIED>
]>
<?xml-stylesheet type="text/xsl" href="style.xsl"?>
<books xmlns="http://books.php/" xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <book id="php-basics">
    <title>PHP Basics</title>
    <author email="jim.smith@basics.php">Jim Smith</author>
    <author email="jane.smith@basics.php">Jane Smith</author>
    <xhtml:blurb><![CDATA[
<p><em>PHP Basics</em> provides an introduction to PHP.</p>
]]></xhtml:blurb>
  </book>
  <book id="php-advanced">
    <title>PHP Advanced Programming</title>
    <author email="jon.doe@advanced.php">Jon Doe</author>
  </book>
</books>
<?php

$doc = new DomDocument;

// We need to validate our document before refering to the id
$doc->validateOnParse = true;
$doc->Load('book.xml');

echo "The element whose id is 'php-basics' is: " . $doc->getElementById('php-basics')->tagName . "\n";

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

The element whose id is 'php-basics' is: book

Siehe auch

  • DOMDocument::getElementsByTagName() - Searches for all elements with given local tag name

DOMDocument::createTextNode
DOMDocument::getElementsByTagName
DOMDocument


Searches for all elements with given local tag name

DOMDocument::getElementById
DOMDocument::getElementsByTagNameNS
DOMDocument
PHP Manual

DOMDocument::getElementsByTagName

(PHP 5, PHP 7)

DOMDocument::getElementsByTagName — Searches for all elements with given local tag name

Beschreibung

public DOMNodeList DOMDocument::getElementsByTagName ( string $name )

This function returns a new instance of class DOMNodeList containing all the elements with a given local tag name.

Parameter-Liste

name

The local name (without namespace) of the tag to match on. The special value * matches all tags.

Rückgabewerte

A new DOMNodeList object containing all the matched elements.

Beispiele

Beispiel #1 Basic Usage Example

<?php
$xml = <<< XML
<?xml version="1.0" encoding="utf-8"?>
<books>
 <book>Patterns of Enterprise Application Architecture</book>
 <book>Design Patterns: Elements of Reusable Software Design</book>
 <book>Clean Code</book>
</books>
XML;

$dom = new DOMDocument;
$dom->loadXML($xml);
$books = $dom->getElementsByTagName('book');
foreach ($books as $book) {
    echo $book->nodeValue, PHP_EOL;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Patterns of Enterprise Application Architecture
Design Patterns: Elements of Reusable Software Design
Clean Code

Siehe auch

  • DOMDocument::getElementsByTagNameNS() - Searches for all elements with given tag name in specified namespace

DOMDocument::getElementById
DOMDocument::getElementsByTagNameNS
DOMDocument


Searches for all elements with given tag name in specified namespace

DOMDocument::getElementsByTagName
DOMDocument::importNode
DOMDocument
PHP Manual

DOMDocument::getElementsByTagNameNS

(PHP 5, PHP 7)

DOMDocument::getElementsByTagNameNS — Searches for all elements with given tag name in specified namespace

Beschreibung

public DOMNodeList DOMDocument::getElementsByTagNameNS ( string $namespaceURI , string $localName )

Returns a DOMNodeList of all elements with a given local name and a namespace URI.

Parameter-Liste

namespaceURI

The namespace URI of the elements to match on. The special value * matches all namespaces.

localName

The local name of the elements to match on. The special value * matches all local names.

Rückgabewerte

A new DOMNodeList object containing all the matched elements.

Beispiele

Beispiel #1 Get all the XInclude elements

<?php

$xml = <<<EOD
<?xml version="1.0" ?>
<chapter xmlns:xi="http://www.w3.org/2001/XInclude">
<title>Books of the other guy..</title>
<para>
 <xi:include href="book.xml">
  <xi:fallback>
   <error>xinclude: book.xml not found</error>
  </xi:fallback>
 </xi:include>
 <include>
  This is another namespace
 </include>
</para>
</chapter>
EOD;
$dom = new DOMDocument;

// load the XML string defined above
$dom->loadXML($xml);

foreach ($dom->getElementsByTagNameNS('http://www.w3.org/2001/XInclude', '*') as $element) {
    echo 'local name: ', $element->localName, ', prefix: ', $element->prefix, "\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

local name: include, prefix: xi
local name: fallback, prefix: xi

Siehe auch

  • DOMDocument::getElementsByTagName() - Searches for all elements with given local tag name

DOMDocument::getElementsByTagName
DOMDocument::importNode
DOMDocument


Import node into current document

DOMDocument::getElementsByTagNameNS
DOMDocument::load
DOMDocument
PHP Manual

DOMDocument::importNode

(PHP 5, PHP 7)

DOMDocument::importNode — Import node into current document

Beschreibung

public DOMNode DOMDocument::importNode ( DOMNode $importedNode [, bool $deep ] )

This function returns a copy of the node to import and associates it with the current document.

Parameter-Liste

importedNode

The node to import.

deep

If set to TRUE, this method will recursively import the subtree under the importedNode.

Hinweis:

To copy the nodes attributes deep needs to be set to TRUE

Rückgabewerte

The copied node or FALSE, if it cannot be copied.

Fehler/Exceptions

DOMException is thrown if node cannot be imported.

Beispiele

Beispiel #1 DOMDocument::importNode() example

Copying nodes between documents.

<?php

$orgdoc = new DOMDocument;
$orgdoc->loadXML("<root><element><child>text in child</child></element></root>");

// The node we want to import to a new document
$node = $orgdoc->getElementsByTagName("element")->item(0);

// Create a new document
$newdoc = new DOMDocument;
$newdoc->formatOutput = true;

// Add some markup
$newdoc->loadXML("<root><someelement>text in some element</someelement></root>");

echo "The 'new document' before copying nodes into it:\n";
echo $newdoc->saveXML();

// Import the node, and all its children, to the document
$node = $newdoc->importNode($node, true);
// And then append it to the "<root>" node
$newdoc->documentElement->appendChild($node);

echo "\nThe 'new document' after copying the nodes into it:\n";
echo $newdoc->saveXML();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

The 'new document' before copying nodes into it:
<?xml version="1.0"?>
<root>
  <someelement>text in some element</someelement>
</root>

The 'new document' after copying the nodes into it:
<?xml version="1.0"?>
<root>
  <someelement>text in some element</someelement>
  <element>
    <child>text in child</child>
  </element>
</root>

DOMDocument::getElementsByTagNameNS
DOMDocument::load
DOMDocument


Load XML from a file

DOMDocument::importNode
DOMDocument::loadHTML
DOMDocument
PHP Manual

DOMDocument::load

(PHP 5, PHP 7)

DOMDocument::load — Load XML from a file

Beschreibung

public mixed DOMDocument::load ( string $filename [, int $options = 0 ] )

Loads an XML document from a file.

Warnung

Unix style paths with forward slashes can cause significant performance degradation on Windows systems; be sure to call realpath() in such a case.

Parameter-Liste

filename

The path to the XML document.

options

Bitwise OR of the libxml option constants.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. If called statically, returns a DOMDocumentIm Fehlerfall wird FALSE zurückgegeben..

Fehler/Exceptions

If an empty string is passed as the filename or an empty file is named, a warning will be generated. This warning is not generated by libxml and cannot be handled using libxml's error handling functions.

Diese Methode kann statisch aufgerufen werden, dies wird aber einen E_STRICT-Fehler hervorrufen.

Beispiele

Beispiel #1 Creating a Document

<?php
$doc = new DOMDocument();
$doc->load('book.xml');
echo $doc->saveXML();
?>

Siehe auch

  • DOMDocument::loadXML() - Load XML from a string
  • DOMDocument::save() - Dumps the internal XML tree back into a file
  • DOMDocument::saveXML() - Dumps the internal XML tree back into a string

DOMDocument::importNode
DOMDocument::loadHTML
DOMDocument


Load HTML from a string

DOMDocument::load
DOMDocument::loadHTMLFile
DOMDocument
PHP Manual

DOMDocument::loadHTML

(PHP 5, PHP 7)

DOMDocument::loadHTML — Load HTML from a string

Beschreibung

public bool DOMDocument::loadHTML ( string $source [, int $options = 0 ] )

The function parses the HTML contained in the string source. Unlike loading XML, HTML does not have to be well-formed to load. This function may also be called statically to load and create a DOMDocument object. The static invocation may be used when no DOMDocument properties need to be set prior to loading.

Parameter-Liste

source

The HTML string.

options

Since PHP 5.4.0 and Libxml 2.6.0, you may also use the options parameter to specify additional Libxml parameters.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. If called statically, returns a DOMDocumentIm Fehlerfall wird FALSE zurückgegeben..

Fehler/Exceptions

If an empty string is passed as the source, a warning will be generated. This warning is not generated by libxml and cannot be handled using libxml's error handling functions.

Diese Methode kann statisch aufgerufen werden, dies wird aber einen E_STRICT-Fehler hervorrufen.

Auch wenn fehlerhaftes HTML erfolgreich laden sollte, kann diese Funktion dennoch E_WARNING Fehler generieren, wenn sie auf falsches Markup stößt. libxml's Fehlerbehandlungsfunktionen können genutzt werden, um diese Fehler zu behandeln.

Beispiele

Beispiel #1 Creating a Document

<?php
$doc = new DOMDocument();
$doc->loadHTML("<html><body>Test<br></body></html>");
echo $doc->saveHTML();
?>

Changelog

Version | Beschreibung
5.4.0 | Added options parameter.

Siehe auch

  • DOMDocument::loadHTMLFile() - Load HTML from a file
  • DOMDocument::saveHTML() - Dumps the internal document into a string using HTML formatting
  • DOMDocument::saveHTMLFile() - Dumps the internal document into a file using HTML formatting

DOMDocument::load
DOMDocument::loadHTMLFile
DOMDocument


Load HTML from a file

DOMDocument::loadHTML
DOMDocument::loadXML
DOMDocument
PHP Manual

DOMDocument::loadHTMLFile

(PHP 5, PHP 7)

DOMDocument::loadHTMLFile — Load HTML from a file

Beschreibung

public bool DOMDocument::loadHTMLFile ( string $filename [, int $options = 0 ] )

The function parses the HTML document in the file named filename. Unlike loading XML, HTML does not have to be well-formed to load.

Parameter-Liste

filename

The path to the HTML file.

options

Since PHP 5.4.0 and Libxml 2.6.0, you may also use the options parameter to specify additional Libxml parameters.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. If called statically, returns a DOMDocumentIm Fehlerfall wird FALSE zurückgegeben..

Fehler/Exceptions

If an empty string is passed as the filename or an empty file is named, a warning will be generated. This warning is not generated by libxml and cannot be handled using libxml's error handling functions.

Diese Methode kann statisch aufgerufen werden, dies wird aber einen E_STRICT-Fehler hervorrufen.

Auch wenn fehlerhaftes HTML erfolgreich laden sollte, kann diese Funktion dennoch E_WARNING Fehler generieren, wenn sie auf falsches Markup stößt. libxml's Fehlerbehandlungsfunktionen können genutzt werden, um diese Fehler zu behandeln.

Beispiele

Beispiel #1 Creating a Document

<?php
$doc = new DOMDocument();
$doc->loadHTMLFile("filename.html");
echo $doc->saveHTML();
?>

Changelog

Version | Beschreibung
5.4.0 | Added options parameter.

Siehe auch

  • DOMDocument::loadHTML() - Load HTML from a string
  • DOMDocument::saveHTML() - Dumps the internal document into a string using HTML formatting
  • DOMDocument::saveHTMLFile() - Dumps the internal document into a file using HTML formatting

DOMDocument::loadHTML
DOMDocument::loadXML
DOMDocument


Load XML from a string

DOMDocument::loadHTMLFile
DOMDocument::normalizeDocument
DOMDocument
PHP Manual

DOMDocument::loadXML

(PHP 5, PHP 7)

DOMDocument::loadXML — Load XML from a string

Beschreibung

public mixed DOMDocument::loadXML ( string $source [, int $options = 0 ] )

Loads an XML document from a string.

Parameter-Liste

source

The string containing the XML.

options

Bitwise OR of the libxml option constants.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. If called statically, returns a DOMDocumentIm Fehlerfall wird FALSE zurückgegeben..

Fehler/Exceptions

If an empty string is passed as the source, a warning will be generated. This warning is not generated by libxml and cannot be handled using libxml's error handling functions.

Diese Methode kann statisch aufgerufen werden, dies wird aber einen E_STRICT-Fehler hervorrufen.

Beispiele

Beispiel #1 Creating a Document

<?php
$doc = new DOMDocument();
$doc->loadXML('<root><node/></root>');
echo $doc->saveXML();
?>

Beispiel #2 Static invocation of loadXML

<?php
// Issues an E_STRICT error
$doc = DOMDocument::loadXML('<root><node/></root>');
echo $doc->saveXML();
?>

Siehe auch

  • DOMDocument::load() - Load XML from a file
  • DOMDocument::save() - Dumps the internal XML tree back into a file
  • DOMDocument::saveXML() - Dumps the internal XML tree back into a string

DOMDocument::loadHTMLFile
DOMDocument::normalizeDocument
DOMDocument


Normalizes the document

DOMDocument::loadXML
DOMDocument::registerNodeClass
DOMDocument
PHP Manual

DOMDocument::normalizeDocument

(PHP 5, PHP 7)

DOMDocument::normalizeDocument — Normalizes the document

Beschreibung

public void DOMDocument::normalizeDocument ( void )

This method acts as if you saved and then loaded the document, putting the document in a "normal" form.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • » The DOM Specification
  • DOMNode::normalize() - Normalizes the node

DOMDocument::loadXML
DOMDocument::registerNodeClass
DOMDocument


Register extended class used to create base node type

DOMDocument::normalizeDocument
DOMDocument::relaxNGValidate
DOMDocument
PHP Manual

DOMDocument::registerNodeClass

(PHP 5 >= 5.2.0, PHP 7)

DOMDocument::registerNodeClass — Register extended class used to create base node type

Beschreibung

public bool DOMDocument::registerNodeClass ( string $baseclass , string $extendedclass )

This method allows you to register your own extended DOM class to be used afterward by the PHP DOM extension.

This method is not part of the DOM standard.

Parameter-Liste

baseclass

The DOM class that you want to extend. You can find a list of these classes in the chapter introduction.

extendedclass

Your extended class name. If NULL is provided, any previously registered class extending baseclass will be removed.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.2.2 | Prior to 5.2.2, a previously registered extendedclass had to be unregistered before being able to register a new class extending the same baseclass.

Beispiele

Beispiel #1 Adding a new method to DOMElement to ease our code

<?php

class myElement extends DOMElement {
   function appendElement($name) {
      return $this->appendChild(new myElement($name));
   }
}

class myDocument extends DOMDocument {
   function setRoot($name) {
      return $this->appendChild(new myElement($name));
   }
}

$doc = new myDocument();
$doc->registerNodeClass('DOMElement', 'myElement');

// From now on, adding an element to another costs only one method call !
$root = $doc->setRoot('root');
$child = $root->appendElement('child');
$child->setAttribute('foo', 'bar');

echo $doc->saveXML();

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<?xml version="1.0"?>
<root><child foo="bar"/></root>

Beispiel #2 Retrieving elements as custom class

<?php
class myElement extends DOMElement {
    public function __toString() {
        return $this->nodeValue;
    }
}

$doc = new DOMDocument;
$doc->loadXML("<root><element><child>text in child</child></element></root>");
$doc->registerNodeClass("DOMElement", "myElement");

$element = $doc->getElementsByTagName("child")->item(0);
var_dump(get_class($element));

// And take advantage of the __toString method..
echo $element;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(9) "myElement"
text in child

Beispiel #3 Retrieving owner document

When instantiating a custom DOMDocument the ownerDocument property will refer to the instantiated class, meaning there is no need (and in fact not possible) to use DOMDocument::registerNodeClass() with DOMDocument

<?php
class myDOMDocument extends DOMDocument {
}

class myOtherDOMDocument extends DOMDocument {
}

// Create myDOMDocument with some XML
$doc = new myDOMDocument;
$doc->loadXML("<root><element><child>text in child</child></element></root>");

$child = $doc->getElementsByTagName("child")->item(0);

// The current owner of the node is myDOMDocument
var_dump(get_class($child->ownerDocument));

// Import a node from myDOMDocument
$newdoc = new myOtherDOMDocument;
$child = $newdoc->importNode($child);

// The new owner of the node has changed to myOtherDOMDocument
var_dump(get_class($child->ownerDocument));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(13) "myDOMDocument"
string(18) "myOtherDOMDocument"

DOMDocument::normalizeDocument
DOMDocument::relaxNGValidate
DOMDocument


Performs relaxNG validation on the document

DOMDocument::registerNodeClass
DOMDocument::relaxNGValidateSource
DOMDocument
PHP Manual

DOMDocument::relaxNGValidate

(PHP 5, PHP 7)

DOMDocument::relaxNGValidate — Performs relaxNG validation on the document

Beschreibung

public bool DOMDocument::relaxNGValidate ( string $filename )

Performs » relaxNG validation on the document based on the given RNG schema.

Parameter-Liste

filename

The RNG file.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • DOMDocument::relaxNGValidateSource() - Performs relaxNG validation on the document
  • DOMDocument::schemaValidate() - Validates a document based on a schema
  • DOMDocument::schemaValidateSource() - Validates a document based on a schema
  • DOMDocument::validate() - Validates the document based on its DTD

DOMDocument::registerNodeClass
DOMDocument::relaxNGValidateSource
DOMDocument


Performs relaxNG validation on the document

DOMDocument::relaxNGValidate
DOMDocument::save
DOMDocument
PHP Manual

DOMDocument::relaxNGValidateSource

(PHP 5, PHP 7)

DOMDocument::relaxNGValidateSource — Performs relaxNG validation on the document

Beschreibung

public bool DOMDocument::relaxNGValidateSource ( string $source )

Performs » relaxNG validation on the document based on the given RNG source.

Parameter-Liste

source

A string containing the RNG schema.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • DOMDocument::relaxNGValidate() - Performs relaxNG validation on the document
  • DOMDocument::schemaValidate() - Validates a document based on a schema
  • DOMDocument::schemaValidateSource() - Validates a document based on a schema
  • DOMDocument::validate() - Validates the document based on its DTD

DOMDocument::relaxNGValidate
DOMDocument::save
DOMDocument


Dumps the internal XML tree back into a file

DOMDocument::relaxNGValidateSource
DOMDocument::saveHTML
DOMDocument
PHP Manual

DOMDocument::save

(PHP 5, PHP 7)

DOMDocument::save — Dumps the internal XML tree back into a file

Beschreibung

public int DOMDocument::save ( string $filename [, int $options ] )

Creates an XML document from the DOM representation. This function is usually called after building a new dom document from scratch as in the example below.

Parameter-Liste

filename

The path to the saved XML document.

options

Additional Options. Currently only LIBXML_NOEMPTYTAG is supported.

Rückgabewerte

Returns the number of bytes written or FALSE if an error occurred.

Changelog

Version | Beschreibung
5.1.0 | Added the options parameter

Beispiele

Beispiel #1 Saving a DOM tree into a file

<?php

$doc = new DOMDocument('1.0');
// we want a nice output
$doc->formatOutput = true;

$root = $doc->createElement('book');
$root = $doc->appendChild($root);

$title = $doc->createElement('title');
$title = $root->appendChild($title);

$text = $doc->createTextNode('This is the title');
$text = $title->appendChild($text);

echo 'Wrote: ' . $doc->save("/tmp/test.xml") . ' bytes'; // Wrote: 72 bytes

?>

Siehe auch

  • DOMDocument::saveXML() - Dumps the internal XML tree back into a string
  • DOMDocument::load() - Load XML from a file
  • DOMDocument::loadXML() - Load XML from a string

DOMDocument::relaxNGValidateSource
DOMDocument::saveHTML
DOMDocument


Dumps the internal document into a string using HTML formatting

DOMDocument::save
DOMDocument::saveHTMLFile
DOMDocument
PHP Manual

DOMDocument::saveHTML

(PHP 5, PHP 7)

DOMDocument::saveHTML — Dumps the internal document into a string using HTML formatting

Beschreibung

public string DOMDocument::saveHTML ([ DOMNode $node = NULL ] )

Creates an HTML document from the DOM representation. This function is usually called after building a new dom document from scratch as in the example below.

Parameter-Liste

node

Optional parameter to output a subset of the document.

Rückgabewerte

Returns the HTML, or FALSE if an error occurred.

Changelog

Version | Beschreibung
5.3.6 | The node parameter was added.

Beispiele

Beispiel #1 Saving a HTML tree into a string

<?php

$doc = new DOMDocument('1.0');

$root = $doc->createElement('html');
$root = $doc->appendChild($root);

$head = $doc->createElement('head');
$head = $root->appendChild($head);

$title = $doc->createElement('title');
$title = $head->appendChild($title);

$text = $doc->createTextNode('This is the title');
$text = $title->appendChild($text);

echo $doc->saveHTML();

?>

Siehe auch

  • DOMDocument::saveHTMLFile() - Dumps the internal document into a file using HTML formatting
  • DOMDocument::loadHTML() - Load HTML from a string
  • DOMDocument::loadHTMLFile() - Load HTML from a file

DOMDocument::save
DOMDocument::saveHTMLFile
DOMDocument


Dumps the internal document into a file using HTML formatting

DOMDocument::saveHTML
DOMDocument::saveXML
DOMDocument
PHP Manual

DOMDocument::saveHTMLFile

(PHP 5, PHP 7)

DOMDocument::saveHTMLFile — Dumps the internal document into a file using HTML formatting

Beschreibung

public int DOMDocument::saveHTMLFile ( string $filename )

Creates an HTML document from the DOM representation. This function is usually called after building a new dom document from scratch as in the example below.

Parameter-Liste

filename

The path to the saved HTML document.

Rückgabewerte

Returns the number of bytes written or FALSE if an error occurred.

Beispiele

Beispiel #1 Saving a HTML tree into a file

<?php

$doc = new DOMDocument('1.0');
// we want a nice output
$doc->formatOutput = true;

$root = $doc->createElement('html');
$root = $doc->appendChild($root);

$head = $doc->createElement('head');
$head = $root->appendChild($head);

$title = $doc->createElement('title');
$title = $head->appendChild($title);

$text = $doc->createTextNode('This is the title');
$text = $title->appendChild($text);

echo 'Wrote: ' . $doc->saveHTMLFile("/tmp/test.html") . ' bytes'; // Wrote: 129 bytes

?>

Siehe auch

  • DOMDocument::saveHTML() - Dumps the internal document into a string using HTML formatting
  • DOMDocument::loadHTML() - Load HTML from a string
  • DOMDocument::loadHTMLFile() - Load HTML from a file

DOMDocument::saveHTML
DOMDocument::saveXML
DOMDocument


Dumps the internal XML tree back into a string

DOMDocument::saveHTMLFile
DOMDocument::schemaValidate
DOMDocument
PHP Manual

DOMDocument::saveXML

(PHP 5, PHP 7)

DOMDocument::saveXML — Dumps the internal XML tree back into a string

Beschreibung

public string DOMDocument::saveXML ([ DOMNode $node [, int $options ]] )

Creates an XML document from the DOM representation. This function is usually called after building a new dom document from scratch as in the example below.

Parameter-Liste

node

Use this parameter to output only a specific node without XML declaration rather than the entire document.

options

Additional Options. Currently only LIBXML_NOEMPTYTAG is supported.

Rückgabewerte

Returns the XML, or FALSE if an error occurred.

Fehler/Exceptions

DOM_WRONG_DOCUMENT_ERR

Raised if node is from another document.

Changelog

Version | Beschreibung
5.1.0 | Added the options parameter

Beispiele

Beispiel #1 Saving a DOM tree into a string

<?php

$doc = new DOMDocument('1.0');
// we want a nice output
$doc->formatOutput = true;

$root = $doc->createElement('book');
$root = $doc->appendChild($root);

$title = $doc->createElement('title');
$title = $root->appendChild($title);

$text = $doc->createTextNode('This is the title');
$text = $title->appendChild($text);

echo "Saving all the document:\n";
echo $doc->saveXML() . "\n";

echo "Saving only the title part:\n";
echo $doc->saveXML($title);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Saving all the document:
<?xml version="1.0"?>
<book>
  <title>This is the title</title>
</book>

Saving only the title part:
<title>This is the title</title>

Siehe auch

  • DOMDocument::save() - Dumps the internal XML tree back into a file
  • DOMDocument::load() - Load XML from a file
  • DOMDocument::loadXML() - Load XML from a string

DOMDocument::saveHTMLFile
DOMDocument::schemaValidate
DOMDocument


Validates a document based on a schema

DOMDocument::saveXML
DOMDocument::schemaValidateSource
DOMDocument
PHP Manual

DOMDocument::schemaValidate

(PHP 5, PHP 7)

DOMDocument::schemaValidate — Validates a document based on a schema

Beschreibung

public bool DOMDocument::schemaValidate ( string $filename [, int $flags ] )

Validates a document based on the given schema file.

Parameter-Liste

filename

The path to the schema.

flags

A bitmask of Libxml schema validation flags. Currently the only supported value is LIBXML_SCHEMA_CREATE. Available since PHP 5.5.2 and Libxml 2.6.14.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.5.2 | Added the flags parameter

Siehe auch

  • DOMDocument::schemaValidateSource() - Validates a document based on a schema
  • DOMDocument::relaxNGValidate() - Performs relaxNG validation on the document
  • DOMDocument::relaxNGValidateSource() - Performs relaxNG validation on the document
  • DOMDocument::validate() - Validates the document based on its DTD

DOMDocument::saveXML
DOMDocument::schemaValidateSource
DOMDocument


Validates a document based on a schema

DOMDocument::schemaValidate
DOMDocument::validate
DOMDocument
PHP Manual

DOMDocument::schemaValidateSource

(PHP 5, PHP 7)

DOMDocument::schemaValidateSource — Validates a document based on a schema

Beschreibung

public bool DOMDocument::schemaValidateSource ( string $source [, int $flags ] )

Validates a document based on a schema defined in the given string.

Parameter-Liste

source

A string containing the schema.

flags

A bitmask of Libxml schema validation flags. Currently the only supported value is LIBXML_SCHEMA_CREATE. Available since PHP 5.5.2 and Libxml 2.6.14.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.5.2 | Added the flags parameter

Siehe auch

  • DOMDocument::schemaValidate() - Validates a document based on a schema
  • DOMDocument::relaxNGValidate() - Performs relaxNG validation on the document
  • DOMDocument::relaxNGValidateSource() - Performs relaxNG validation on the document
  • DOMDocument::validate() - Validates the document based on its DTD

DOMDocument::schemaValidate
DOMDocument::validate
DOMDocument


Validates the document based on its DTD

DOMDocument::schemaValidateSource
DOMDocument::xinclude
DOMDocument
PHP Manual

DOMDocument::validate

(PHP 5, PHP 7)

DOMDocument::validate — Validates the document based on its DTD

Beschreibung

public bool DOMDocument::validate ( void )

Validates the document based on its DTD.

You can also use the validateOnParse property of DOMDocument to make a DTD validation.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. If the document have no DTD attached, this method will return FALSE.

Beispiele

Beispiel #1 Example of DTD validation

<?php
$dom = new DOMDocument;
$dom->load('book.xml');
if ($dom->validate()) {
    echo "This document is valid!\n";
}
?>

You can also validate your XML file while loading it:

<?php
$dom = new DOMDocument;
$dom->validateOnParse = true;
$dom->load('book.xml');
?>

Siehe auch

  • DOMDocument::schemaValidate() - Validates a document based on a schema
  • DOMDocument::schemaValidateSource() - Validates a document based on a schema
  • DOMDocument::relaxNGValidate() - Performs relaxNG validation on the document
  • DOMDocument::relaxNGValidateSource() - Performs relaxNG validation on the document

DOMDocument::schemaValidateSource
DOMDocument::xinclude
DOMDocument


Substitutes XIncludes in a DOMDocument Object

DOMDocument::validate
DOMDocumentFragment
DOMDocument
PHP Manual

DOMDocument::xinclude

(PHP 5, PHP 7)

DOMDocument::xinclude — Substitutes XIncludes in a DOMDocument Object

Beschreibung

public int DOMDocument::xinclude ([ int $options ] )

This method substitutes » XIncludes in a DOMDocument object.

Hinweis:

Due to libxml2 automatically resolving entities, this method will produce unexpected results if the included XML file have an attached DTD.

Parameter-Liste

options

libxml parameters. Available since PHP 5.1.0 and Libxml 2.6.7.

Rückgabewerte

Returns the number of XIncludes in the document, -1 if some processing failed, or FALSE if there were no substitutions.

Beispiele

Beispiel #1 DOMDocument::xinclude() example

<?php

$xml = <<<EOD
<?xml version="1.0" ?>
<chapter xmlns:xi="http://www.w3.org/2001/XInclude">
 <title>Books of the other guy..</title>
 <para>
  <xi:include href="book.xml">
   <xi:fallback>
    <error>xinclude: book.xml not found</error>
   </xi:fallback>
  </xi:include>
 </para>
</chapter>
EOD;

$dom = new DOMDocument;

// let's have a nice output
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;

// load the XML string defined above
$dom->loadXML($xml);

// substitute xincludes
$dom->xinclude();

echo $dom->saveXML();

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

<?xml version="1.0"?>
<chapter xmlns:xi="http://www.w3.org/2001/XInclude">
  <title>Books of the other guy..</title>
  <para>
    <row xml:base="/home/didou/book.xml">
       <entry>The Grapes of Wrath</entry>
       <entry>John Steinbeck</entry>
       <entry>en</entry>
       <entry>0140186409</entry>
      </row>
    <row xml:base="/home/didou/book.xml">
       <entry>The Pearl</entry>
       <entry>John Steinbeck</entry>
       <entry>en</entry>
       <entry>014017737X</entry>
      </row>
    <row xml:base="/home/didou/book.xml">
       <entry>Samarcande</entry>
       <entry>Amine Maalouf</entry>
       <entry>fr</entry>
       <entry>2253051209</entry>
      </row>
  </para>
</chapter>

DOMDocument::validate
DOMDocumentFragment
DOMDocument


The DOMDocumentFragment class

(PHP 5, PHP 7)

Klassenbeschreibung

DOMDocumentFragment extends DOMNode {
/* Eigenschaften */
/* Methoden */
public bool appendXML ( string $data )
/* Geerbte Methoden */
public DOMNode DOMNode::appendChild ( DOMNode $newnode )
public string DOMNode::C14N ([ bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public int DOMNode::C14NFile ( string $uri [, bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
public string DOMNode::getNodePath ( void )
public bool DOMNode::hasAttributes ( void )
public bool DOMNode::hasChildNodes ( void )
public DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
public bool DOMNode::isDefaultNamespace ( string $namespaceURI )
public bool DOMNode::isSameNode ( DOMNode $node )
public bool DOMNode::isSupported ( string $feature , string $version )
public string DOMNode::lookupNamespaceURI ( string $prefix )
public string DOMNode::lookupPrefix ( string $namespaceURI )
public void DOMNode::normalize ( void )
public DOMNode DOMNode::removeChild ( DOMNode $oldnode )
public DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Inhaltsverzeichnis

  • DOMDocumentFragment::appendXML — Append raw XML data
DOMDocument::xinclude
DOMDocumentFragment::appendXML
DOM


Append raw XML data

DOMDocumentFragment
DOMDocumentType
DOMDocumentFragment
PHP Manual

DOMDocumentFragment::appendXML

(PHP 5 >= 5.1.0, PHP 7)

DOMDocumentFragment::appendXML — Append raw XML data

Beschreibung

public bool DOMDocumentFragment::appendXML ( string $data )

Appends raw XML data to a DOMDocumentFragment.

This method is not part of the DOM standard. It was created as a simpler approach for appending an XML DocumentFragment in a DOMDocument.

If you want to stick to the standards, you will have to create a temporary DOMDocument with a dummy root and then loop through the child nodes of the root of your XML data to append them.

Parameter-Liste

data

XML to append.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Appending XML data to your document

<?php
$doc = new DOMDocument();
$doc->loadXML("<root/>");
$f = $doc->createDocumentFragment();
$f->appendXML("<foo>text</foo><bar>text2</bar>");
$doc->documentElement->appendChild($f);
echo $doc->saveXML();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<?xml version="1.0"?>
<root><foo>text</foo><bar>text2</bar></root>

DOMDocumentFragment
DOMDocumentType
DOMDocumentFragment


The DOMDocumentType class

(PHP 5, PHP 7)

Einführung

Each DOMDocument has a doctype attribute whose value is either NULL or a DOMDocumentType object.

Klassenbeschreibung

DOMDocumentType extends DOMNode {
/* Eigenschaften */
readonly public string $publicId ;
readonly public string $systemId ;
readonly public string $name ;
readonly public DOMNamedNodeMap $entities ;
readonly public DOMNamedNodeMap $notations ;
readonly public string $internalSubset ;
/* Geerbte Methoden */
public DOMNode DOMNode::appendChild ( DOMNode $newnode )
public string DOMNode::C14N ([ bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public int DOMNode::C14NFile ( string $uri [, bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
public string DOMNode::getNodePath ( void )
public bool DOMNode::hasAttributes ( void )
public bool DOMNode::hasChildNodes ( void )
public DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
public bool DOMNode::isDefaultNamespace ( string $namespaceURI )
public bool DOMNode::isSameNode ( DOMNode $node )
public bool DOMNode::isSupported ( string $feature , string $version )
public string DOMNode::lookupNamespaceURI ( string $prefix )
public string DOMNode::lookupPrefix ( string $namespaceURI )
public void DOMNode::normalize ( void )
public DOMNode DOMNode::removeChild ( DOMNode $oldnode )
public DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Eigenschaften

publicId

The public identifier of the external subset.

systemId

The system identifier of the external subset. This may be an absolute URI or not.

name

The name of DTD; i.e., the name immediately following the DOCTYPE keyword.

entities

A DOMNamedNodeMap containing the general entities, both external and internal, declared in the DTD.

notations

A DOMNamedNodeMap containing the notations declared in the DTD.

internalSubset

The internal subset as a string, or null if there is none. This does not contain the delimiting square brackets.

DOMDocumentFragment::appendXML
DOMElement
DOM


The DOMElement class

(PHP 5, PHP 7)

Klassenbeschreibung

DOMElement extends DOMNode {
/* Eigenschaften */
readonly public bool $schemaTypeInfo ;
readonly public string $tagName ;
/* Methoden */
public __construct ( string $name [, string $value [, string $namespaceURI ]] )
public string getAttribute ( string $name )
public DOMAttr getAttributeNode ( string $name )
public DOMAttr getAttributeNodeNS ( string $namespaceURI , string $localName )
public string getAttributeNS ( string $namespaceURI , string $localName )
public DOMNodeList getElementsByTagName ( string $name )
public DOMNodeList getElementsByTagNameNS ( string $namespaceURI , string $localName )
public bool hasAttribute ( string $name )
public bool hasAttributeNS ( string $namespaceURI , string $localName )
public bool removeAttribute ( string $name )
public bool removeAttributeNode ( DOMAttr $oldnode )
public bool removeAttributeNS ( string $namespaceURI , string $localName )
public DOMAttr setAttribute ( string $name , string $value )
public DOMAttr setAttributeNode ( DOMAttr $attr )
public DOMAttr setAttributeNodeNS ( DOMAttr $attr )
public void setAttributeNS ( string $namespaceURI , string $qualifiedName , string $value )
public void setIdAttribute ( string $name , bool $isId )
public void setIdAttributeNode ( DOMAttr $attr , bool $isId )
public void setIdAttributeNS ( string $namespaceURI , string $localName , bool $isId )
/* Geerbte Methoden */
public DOMNode DOMNode::appendChild ( DOMNode $newnode )
public string DOMNode::C14N ([ bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public int DOMNode::C14NFile ( string $uri [, bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
public string DOMNode::getNodePath ( void )
public bool DOMNode::hasAttributes ( void )
public bool DOMNode::hasChildNodes ( void )
public DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
public bool DOMNode::isDefaultNamespace ( string $namespaceURI )
public bool DOMNode::isSameNode ( DOMNode $node )
public bool DOMNode::isSupported ( string $feature , string $version )
public string DOMNode::lookupNamespaceURI ( string $prefix )
public string DOMNode::lookupPrefix ( string $namespaceURI )
public void DOMNode::normalize ( void )
public DOMNode DOMNode::removeChild ( DOMNode $oldnode )
public DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Eigenschaften

schemaTypeInfo

Not implemented yet, always return NULL

tagName

The element name

Anmerkungen

Hinweis:

The DOM extension uses UTF-8 encoding. Use utf8_encode() and utf8_decode() to work with texts in ISO-8859-1 encoding or Iconv for other encodings.

Inhaltsverzeichnis

  • DOMElement::__construct — Creates a new DOMElement object
  • DOMElement::getAttribute — Returns value of attribute
  • DOMElement::getAttributeNode — Returns attribute node
  • DOMElement::getAttributeNodeNS — Returns attribute node
  • DOMElement::getAttributeNS — Returns value of attribute
  • DOMElement::getElementsByTagName — Gets elements by tagname
  • DOMElement::getElementsByTagNameNS — Get elements by namespaceURI and localName
  • DOMElement::hasAttribute — Checks to see if attribute exists
  • DOMElement::hasAttributeNS — Checks to see if attribute exists
  • DOMElement::removeAttribute — Removes attribute
  • DOMElement::removeAttributeNode — Removes attribute
  • DOMElement::removeAttributeNS — Removes attribute
  • DOMElement::setAttribute — Adds new attribute
  • DOMElement::setAttributeNode — Adds new attribute node to element
  • DOMElement::setAttributeNodeNS — Adds new attribute node to element
  • DOMElement::setAttributeNS — Adds new attribute
  • DOMElement::setIdAttribute — Declares the attribute specified by name to be of type ID
  • DOMElement::setIdAttributeNode — Declares the attribute specified by node to be of type ID
  • DOMElement::setIdAttributeNS — Declares the attribute specified by local name and namespace URI to be of type ID
DOMDocumentType
DOMElement::__construct
DOM


Creates a new DOMElement object

DOMElement
DOMElement::getAttribute
DOMElement
PHP Manual

DOMElement::__construct

(PHP 5, PHP 7)

DOMElement::__construct — Creates a new DOMElement object

Beschreibung

public DOMElement::__construct ( string $name [, string $value [, string $namespaceURI ]] )

Creates a new DOMElement object. This object is read only. It may be appended to a document, but additional nodes may not be appended to this node until the node is associated with a document. To create a writeable node, use DOMDocument::createElement or DOMDocument::createElementNS.

Parameter-Liste

name

The tag name of the element. When also passing in namespaceURI, the element name may take a prefix to be associated with the URI.

value

The value of the element.

namespaceURI

A namespace URI to create the element within a specific namespace.

Beispiele

Beispiel #1 Creating a new DOMElement

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');
$element = $dom->appendChild(new DOMElement('root'));
$element_ns = new DOMElement('pr:node1', 'thisvalue', 'http://xyz');
$element->appendChild($element_ns);
echo $dom->saveXML(); /* <?xml version="1.0" encoding="utf-8"?>
<root><pr:node1 xmlns:pr="http://xyz">thisvalue</pr:node1></root> */

?>

Siehe auch

  • DOMDocument::createElement() - Create new element node
  • DOMDocument::createElementNS() - Create new element node with an associated namespace

DOMElement
DOMElement::getAttribute
DOMElement


Returns value of attribute

DOMElement::__construct
DOMElement::getAttributeNode
DOMElement
PHP Manual

DOMElement::getAttribute

(PHP 5, PHP 7)

DOMElement::getAttribute — Returns value of attribute

Beschreibung

public string DOMElement::getAttribute ( string $name )

Gets the value of the attribute with name name for the current node.

Parameter-Liste

name

The name of the attribute.

Rückgabewerte

The value of the attribute, or an empty string if no attribute with the given name is found.

Siehe auch

  • DOMElement::hasAttribute() - Checks to see if attribute exists
  • DOMElement::setAttribute() - Adds new attribute
  • DOMElement::removeAttribute() - Removes attribute

DOMElement::__construct
DOMElement::getAttributeNode
DOMElement


Returns attribute node

DOMElement::getAttribute
DOMElement::getAttributeNodeNS
DOMElement
PHP Manual

DOMElement::getAttributeNode

(PHP 5, PHP 7)

DOMElement::getAttributeNode — Returns attribute node

Beschreibung

public DOMAttr DOMElement::getAttributeNode ( string $name )

Returns the attribute node with name name for the current element.

Parameter-Liste

name

The name of the attribute.

Rückgabewerte

The attribute node. Note that for XML namespace declarations (xmlns and xmlns:* attributes) an instance of DOMNameSpaceNode is returned instead of a DOMAttr.

Siehe auch

  • DOMElement::hasAttribute() - Checks to see if attribute exists
  • DOMElement::setAttributeNode() - Adds new attribute node to element
  • DOMElement::removeAttributeNode() - Removes attribute

DOMElement::getAttribute
DOMElement::getAttributeNodeNS
DOMElement


Returns attribute node

DOMElement::getAttributeNode
DOMElement::getAttributeNS
DOMElement
PHP Manual

DOMElement::getAttributeNodeNS

(PHP 5, PHP 7)

DOMElement::getAttributeNodeNS — Returns attribute node

Beschreibung

public DOMAttr DOMElement::getAttributeNodeNS ( string $namespaceURI , string $localName )

Returns the attribute node in namespace namespaceURI with local name localName for the current node.

Parameter-Liste

namespaceURI

The namespace URI.

localName

The local name.

Rückgabewerte

The attribute node. Note that for XML namespace declarations (xmlns and xmlns:* attributes) an instance of DOMNameSpaceNode is returned instead of a DOMAttr.

Siehe auch

  • DOMElement::hasAttributeNS() - Checks to see if attribute exists
  • DOMElement::setAttributeNodeNS() - Adds new attribute node to element
  • DOMElement::removeAttributeNode() - Removes attribute

DOMElement::getAttributeNode
DOMElement::getAttributeNS
DOMElement


Returns value of attribute

DOMElement::getAttributeNodeNS
DOMElement::getElementsByTagName
DOMElement
PHP Manual

DOMElement::getAttributeNS

(PHP 5, PHP 7)

DOMElement::getAttributeNS — Returns value of attribute

Beschreibung

public string DOMElement::getAttributeNS ( string $namespaceURI , string $localName )

Gets the value of the attribute in namespace namespaceURI with local name localName for the current node.

Parameter-Liste

namespaceURI

The namespace URI.

localName

The local name.

Rückgabewerte

The value of the attribute, or an empty string if no attribute with the given localName and namespaceURI is found.

Siehe auch

  • DOMElement::hasAttributeNS() - Checks to see if attribute exists
  • DOMElement::setAttributeNS() - Adds new attribute
  • DOMElement::removeAttributeNS() - Removes attribute

DOMElement::getAttributeNodeNS
DOMElement::getElementsByTagName
DOMElement


Gets elements by tagname

DOMElement::getAttributeNS
DOMElement::getElementsByTagNameNS
DOMElement
PHP Manual

DOMElement::getElementsByTagName

(PHP 5, PHP 7)

DOMElement::getElementsByTagName — Gets elements by tagname

Beschreibung

public DOMNodeList DOMElement::getElementsByTagName ( string $name )

This function returns a new instance of the class DOMNodeList of all descendant elements with a given tag name, in the order in which they are encountered in a preorder traversal of this element tree.

Parameter-Liste

name

The tag name. Use * to return all elements within the element tree.

Rückgabewerte

This function returns a new instance of the class DOMNodeList of all matched elements.

Siehe auch

  • DOMElement::getElementsByTagNameNS() - Get elements by namespaceURI and localName

DOMElement::getAttributeNS
DOMElement::getElementsByTagNameNS
DOMElement


Get elements by namespaceURI and localName

DOMElement::getElementsByTagName
DOMElement::hasAttribute
DOMElement
PHP Manual

DOMElement::getElementsByTagNameNS

(PHP 5, PHP 7)

DOMElement::getElementsByTagNameNS — Get elements by namespaceURI and localName

Beschreibung

public DOMNodeList DOMElement::getElementsByTagNameNS ( string $namespaceURI , string $localName )

This function fetch all the descendant elements with a given localName and namespaceURI.

Parameter-Liste

namespaceURI

The namespace URI.

localName

The local name. Use * to return all elements within the element tree.

Rückgabewerte

This function returns a new instance of the class DOMNodeList of all matched elements in the order in which they are encountered in a preorder traversal of this element tree.

Siehe auch

  • DOMElement::getElementsByTagName() - Gets elements by tagname

DOMElement::getElementsByTagName
DOMElement::hasAttribute
DOMElement


Checks to see if attribute exists

DOMElement::getElementsByTagNameNS
DOMElement::hasAttributeNS
DOMElement
PHP Manual

DOMElement::hasAttribute

(PHP 5, PHP 7)

DOMElement::hasAttribute — Checks to see if attribute exists

Beschreibung

public bool DOMElement::hasAttribute ( string $name )

Indicates whether attribute named name exists as a member of the element.

Parameter-Liste

name

The attribute name.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • DOMElement::hasAttributeNS() - Checks to see if attribute exists
  • DOMElement::getAttribute() - Returns value of attribute
  • DOMElement::setAttribute() - Adds new attribute
  • DOMElement::removeAttribute() - Removes attribute

DOMElement::getElementsByTagNameNS
DOMElement::hasAttributeNS
DOMElement


Checks to see if attribute exists

DOMElement::hasAttribute
DOMElement::removeAttribute
DOMElement
PHP Manual

DOMElement::hasAttributeNS

(PHP 5, PHP 7)

DOMElement::hasAttributeNS — Checks to see if attribute exists

Beschreibung

public bool DOMElement::hasAttributeNS ( string $namespaceURI , string $localName )

Indicates whether attribute in namespace namespaceURI named localName exists as a member of the element.

Parameter-Liste

namespaceURI

The namespace URI.

localName

The local name.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • DOMElement::hasAttribute() - Checks to see if attribute exists
  • DOMElement::getAttributeNS() - Returns value of attribute
  • DOMElement::setAttributeNS() - Adds new attribute
  • DOMElement::removeAttributeNS() - Removes attribute

DOMElement::hasAttribute
DOMElement::removeAttribute
DOMElement


Removes attribute

DOMElement::hasAttributeNS
DOMElement::removeAttributeNode
DOMElement
PHP Manual

DOMElement::removeAttribute

(PHP 5, PHP 7)

DOMElement::removeAttribute — Removes attribute

Beschreibung

public bool DOMElement::removeAttribute ( string $name )

Removes attribute named name from the element.

Parameter-Liste

name

The name of the attribute.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

Siehe auch

  • DOMElement::hasAttribute() - Checks to see if attribute exists
  • DOMElement::getAttribute() - Returns value of attribute
  • DOMElement::setAttribute() - Adds new attribute

DOMElement::hasAttributeNS
DOMElement::removeAttributeNode
DOMElement


Removes attribute

DOMElement::removeAttribute
DOMElement::removeAttributeNS
DOMElement
PHP Manual

DOMElement::removeAttributeNode

(PHP 5, PHP 7)

DOMElement::removeAttributeNode — Removes attribute

Beschreibung

public bool DOMElement::removeAttributeNode ( DOMAttr $oldnode )

Removes attribute oldnode from the element.

Parameter-Liste

oldnode

The attribute node.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

DOM_NOT_FOUND_ERROR

Raised if oldnode is not an attribute of the element.

Siehe auch

  • DOMElement::hasAttribute() - Checks to see if attribute exists
  • DOMElement::getAttributeNode() - Returns attribute node
  • DOMElement::setAttributeNode() - Adds new attribute node to element

DOMElement::removeAttribute
DOMElement::removeAttributeNS
DOMElement


Removes attribute

DOMElement::removeAttributeNode
DOMElement::setAttribute
DOMElement
PHP Manual

DOMElement::removeAttributeNS

(PHP 5, PHP 7)

DOMElement::removeAttributeNS — Removes attribute

Beschreibung

public bool DOMElement::removeAttributeNS ( string $namespaceURI , string $localName )

Removes attribute is namespace namespaceURI named localName from the element.

Parameter-Liste

namespaceURI

The namespace URI.

localName

The local name.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

Siehe auch

  • DOMElement::hasAttributeNS() - Checks to see if attribute exists
  • DOMElement::getAttributeNS() - Returns value of attribute
  • DOMElement::setAttributeNS() - Adds new attribute

DOMElement::removeAttributeNode
DOMElement::setAttribute
DOMElement


Adds new attribute

DOMElement::removeAttributeNS
DOMElement::setAttributeNode
DOMElement
PHP Manual

DOMElement::setAttribute

(PHP 5, PHP 7)

DOMElement::setAttribute — Adds new attribute

Beschreibung

public DOMAttr DOMElement::setAttribute ( string $name , string $value )

Sets an attribute with name name to the given value. If the attribute does not exist, it will be created.

Parameter-Liste

name

The name of the attribute.

value

The value of the attribute.

Rückgabewerte

The new DOMAttr or FALSE if an error occurred.

Fehler/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

Beispiele

Beispiel #1 Setting an attribute

<?php
$doc = new DOMDocument("1.0");
$node = $doc->createElement("para");
$newnode = $doc->appendChild($node);
$newnode->setAttribute("align", "left");
?>

Siehe auch

  • DOMElement::hasAttribute() - Checks to see if attribute exists
  • DOMElement::getAttribute() - Returns value of attribute
  • DOMElement::removeAttribute() - Removes attribute

DOMElement::removeAttributeNS
DOMElement::setAttributeNode
DOMElement


Adds new attribute node to element

DOMElement::setAttribute
DOMElement::setAttributeNodeNS
DOMElement
PHP Manual

DOMElement::setAttributeNode

(PHP 5, PHP 7)

DOMElement::setAttributeNode — Adds new attribute node to element

Beschreibung

public DOMAttr DOMElement::setAttributeNode ( DOMAttr $attr )

Adds new attribute node attr to element.

Parameter-Liste

attr

The attribute node.

Rückgabewerte

Returns old node if the attribute has been replaced or NULL.

Fehler/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

Siehe auch

  • DOMElement::hasAttribute() - Checks to see if attribute exists
  • DOMElement::getAttributeNode() - Returns attribute node
  • DOMElement::removeAttributeNode() - Removes attribute

DOMElement::setAttribute
DOMElement::setAttributeNodeNS
DOMElement


Adds new attribute node to element

DOMElement::setAttributeNode
DOMElement::setAttributeNS
DOMElement
PHP Manual

DOMElement::setAttributeNodeNS

(PHP 5, PHP 7)

DOMElement::setAttributeNodeNS — Adds new attribute node to element

Beschreibung

public DOMAttr DOMElement::setAttributeNodeNS ( DOMAttr $attr )

Adds new attribute node attr to element.

Parameter-Liste

attr

The attribute node.

Rückgabewerte

Returns the old node if the attribute has been replaced.

Fehler/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

Siehe auch

  • DOMElement::hasAttributeNS() - Checks to see if attribute exists
  • DOMElement::getAttributeNodeNS() - Returns attribute node
  • DOMElement::removeAttributeNode() - Removes attribute

DOMElement::setAttributeNode
DOMElement::setAttributeNS
DOMElement


Adds new attribute

DOMElement::setAttributeNodeNS
DOMElement::setIdAttribute
DOMElement
PHP Manual

DOMElement::setAttributeNS

(PHP 5, PHP 7)

DOMElement::setAttributeNS — Adds new attribute

Beschreibung

public void DOMElement::setAttributeNS ( string $namespaceURI , string $qualifiedName , string $value )

Sets an attribute with namespace namespaceURI and name name to the given value. If the attribute does not exist, it will be created.

Parameter-Liste

namespaceURI

The namespace URI.

qualifiedName

The qualified name of the attribute, as prefix:tagname.

value

The value of the attribute.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

DOM_NAMESPACE_ERR

Raised if qualifiedName is a malformed qualified name, or if qualifiedName has a prefix and namespaceURI is NULL.

Siehe auch

  • DOMElement::hasAttributeNS() - Checks to see if attribute exists
  • DOMElement::getAttributeNS() - Returns value of attribute
  • DOMElement::removeAttributeNS() - Removes attribute

DOMElement::setAttributeNodeNS
DOMElement::setIdAttribute
DOMElement


Declares the attribute specified by name to be of type ID

DOMElement::setAttributeNS
DOMElement::setIdAttributeNode
DOMElement
PHP Manual

DOMElement::setIdAttribute

(PHP 5, PHP 7)

DOMElement::setIdAttribute — Declares the attribute specified by name to be of type ID

Beschreibung

public void DOMElement::setIdAttribute ( string $name , bool $isId )

Declares the attribute name to be of type ID.

Parameter-Liste

name

The name of the attribute.

isId

Set it to TRUE if you want name to be of type ID, FALSE otherwise.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

DOM_NOT_FOUND

Raised if name is not an attribute of this element.

Siehe auch

  • DOMDocument::getElementById() - Searches for an element with a certain id
  • DOMElement::setIdAttributeNode() - Declares the attribute specified by node to be of type ID
  • DOMElement::setIdAttributeNS() - Declares the attribute specified by local name and namespace URI to be of type ID

DOMElement::setAttributeNS
DOMElement::setIdAttributeNode
DOMElement


Declares the attribute specified by node to be of type ID

DOMElement::setIdAttribute
DOMElement::setIdAttributeNS
DOMElement
PHP Manual

DOMElement::setIdAttributeNode

(PHP 5, PHP 7)

DOMElement::setIdAttributeNode — Declares the attribute specified by node to be of type ID

Beschreibung

public void DOMElement::setIdAttributeNode ( DOMAttr $attr , bool $isId )

Declares the attribute specified by attr to be of type ID.

Parameter-Liste

attr

The attribute node.

isId

Set it to TRUE if you want name to be of type ID, FALSE otherwise.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

DOM_NOT_FOUND

Raised if name is not an attribute of this element.

Siehe auch

  • DOMDocument::getElementById() - Searches for an element with a certain id
  • DOMElement::setIdAttribute() - Declares the attribute specified by name to be of type ID
  • DOMElement::setIdAttributeNS() - Declares the attribute specified by local name and namespace URI to be of type ID

DOMElement::setIdAttribute
DOMElement::setIdAttributeNS
DOMElement


Declares the attribute specified by local name and namespace URI to be of type ID

DOMElement::setIdAttributeNode
DOMEntity
DOMElement
PHP Manual

DOMElement::setIdAttributeNS

(PHP 5, PHP 7)

DOMElement::setIdAttributeNS — Declares the attribute specified by local name and namespace URI to be of type ID

Beschreibung

public void DOMElement::setIdAttributeNS ( string $namespaceURI , string $localName , bool $isId )

Declares the attribute specified by localName and namespaceURI to be of type ID.

Parameter-Liste

namespaceURI

The namespace URI of the attribute.

localName

The local name of the attribute, as prefix:tagname.

isId

Set it to TRUE if you want name to be of type ID, FALSE otherwise.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

DOM_NOT_FOUND

Raised if name is not an attribute of this element.

Siehe auch

  • DOMDocument::getElementById() - Searches for an element with a certain id
  • DOMElement::setIdAttribute() - Declares the attribute specified by name to be of type ID
  • DOMElement::setIdAttributeNode() - Declares the attribute specified by node to be of type ID

DOMElement::setIdAttributeNode
DOMEntity
DOMElement


The DOMEntity class

(PHP 5, PHP 7)

Einführung

This interface represents a known entity, either parsed or unparsed, in an XML document.

Klassenbeschreibung

DOMEntity extends DOMNode {
/* Eigenschaften */
readonly public string $publicId ;
readonly public string $systemId ;
readonly public string $notationName ;
public string $actualEncoding ;
readonly public string $encoding ;
readonly public string $version ;
/* Geerbte Methoden */
public DOMNode DOMNode::appendChild ( DOMNode $newnode )
public string DOMNode::C14N ([ bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public int DOMNode::C14NFile ( string $uri [, bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
public string DOMNode::getNodePath ( void )
public bool DOMNode::hasAttributes ( void )
public bool DOMNode::hasChildNodes ( void )
public DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
public bool DOMNode::isDefaultNamespace ( string $namespaceURI )
public bool DOMNode::isSameNode ( DOMNode $node )
public bool DOMNode::isSupported ( string $feature , string $version )
public string DOMNode::lookupNamespaceURI ( string $prefix )
public string DOMNode::lookupPrefix ( string $namespaceURI )
public void DOMNode::normalize ( void )
public DOMNode DOMNode::removeChild ( DOMNode $oldnode )
public DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Eigenschaften

publicId

The public identifier associated with the entity if specified, and NULL otherwise.

systemId

The system identifier associated with the entity if specified, and NULL otherwise. This may be an absolute URI or not.

notationName

For unparsed entities, the name of the notation for the entity. For parsed entities, this is NULL.

actualEncoding

An attribute specifying the encoding used for this entity at the time of parsing, when it is an external parsed entity. This is NULL if it an entity from the internal subset or if it is not known.

encoding

An attribute specifying, as part of the text declaration, the encoding of this entity, when it is an external parsed entity. This is NULL otherwise.

version

An attribute specifying, as part of the text declaration, the version number of this entity, when it is an external parsed entity. This is NULL otherwise.

DOMElement::setIdAttributeNS
DOMEntityReference
DOM


The DOMEntityReference class

(PHP 5, PHP 7)

Klassenbeschreibung

DOMEntityReference extends DOMNode {
/* Eigenschaften */
/* Methoden */
public __construct ( string $name )
/* Geerbte Methoden */
public DOMNode DOMNode::appendChild ( DOMNode $newnode )
public string DOMNode::C14N ([ bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public int DOMNode::C14NFile ( string $uri [, bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
public string DOMNode::getNodePath ( void )
public bool DOMNode::hasAttributes ( void )
public bool DOMNode::hasChildNodes ( void )
public DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
public bool DOMNode::isDefaultNamespace ( string $namespaceURI )
public bool DOMNode::isSameNode ( DOMNode $node )
public bool DOMNode::isSupported ( string $feature , string $version )
public string DOMNode::lookupNamespaceURI ( string $prefix )
public string DOMNode::lookupPrefix ( string $namespaceURI )
public void DOMNode::normalize ( void )
public DOMNode DOMNode::removeChild ( DOMNode $oldnode )
public DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Inhaltsverzeichnis

  • DOMEntityReference::__construct — Creates a new DOMEntityReference object
DOMEntity
DOMEntityReference::__construct
DOM


Creates a new DOMEntityReference object

DOMEntityReference
DOMException
DOMEntityReference
PHP Manual

DOMEntityReference::__construct

(PHP 5, PHP 7)

DOMEntityReference::__construct — Creates a new DOMEntityReference object

Beschreibung

public DOMEntityReference::__construct ( string $name )

Creates a new DOMEntityReference object.

Parameter-Liste

name

The name of the entity reference.

Beispiele

Beispiel #1 Creating a new DOMEntityReference

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');
$element = $dom->appendChild(new DOMElement('root'));
$entity = $element->appendChild(new DOMEntityReference('nbsp'));
echo $dom->saveXML(); /* <?xml version="1.0" encoding="iso-8859-1"?><root>&nbsp;</root> */

?>

Siehe auch

  • DOMDocument::createEntityReference() - Create new entity reference node

DOMEntityReference
DOMException
DOMEntityReference


The DOMException class

(PHP 5, PHP 7)

Einführung

DOM operations raise exceptions under particular circumstances, i.e., when an operation is impossible to perform for logical reasons.

See also Ausnahmebehandlung (Exception-Handling).

Klassenbeschreibung

DOMException extends Exception {
/* Eigenschaften */
readonly public int $code ;
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Eigenschaften

code

An integer indicating the type of error generated

DOMEntityReference::__construct
DOMImplementation
DOM


The DOMImplementation class

(PHP 5, PHP 7)

Einführung

The DOMImplementation interface provides a number of methods for performing operations that are independent of any particular instance of the document object model.

Klassenbeschreibung

DOMImplementation {
/* Eigenschaften */
/* Methoden */
__construct ( void )
public DOMDocument createDocument ([ string $namespaceURI = NULL [, string $qualifiedName = NULL [, DOMDocumentType $doctype = NULL ]]] )
public DOMDocumentType createDocumentType ([ string $qualifiedName = NULL [, string $publicId = NULL [, string $systemId = NULL ]]] )
public bool hasFeature ( string $feature , string $version )
}

Inhaltsverzeichnis

  • DOMImplementation::__construct — Creates a new DOMImplementation object
  • DOMImplementation::createDocument — Creates a DOMDocument object of the specified type with its document element
  • DOMImplementation::createDocumentType — Creates an empty DOMDocumentType object
  • DOMImplementation::hasFeature — Test if the DOM implementation implements a specific feature
DOMException
DOMImplementation::__construct
DOM


Creates a new DOMImplementation object

DOMImplementation
DOMImplementation::createDocument
DOMImplementation
PHP Manual

DOMImplementation::__construct

(PHP 5, PHP 7)

DOMImplementation::__construct — Creates a new DOMImplementation object

Beschreibung

DOMImplementation::__construct ( void )

Creates a new DOMImplementation object.

DOMImplementation
DOMImplementation::createDocument
DOMImplementation


Creates a DOMDocument object of the specified type with its document element

DOMImplementation::__construct
DOMImplementation::createDocumentType
DOMImplementation
PHP Manual

DOMImplementation::createDocument

(PHP 5, PHP 7)

DOMImplementation::createDocument — Creates a DOMDocument object of the specified type with its document element

Beschreibung

public DOMDocument DOMImplementation::createDocument ([ string $namespaceURI = NULL [, string $qualifiedName = NULL [, DOMDocumentType $doctype = NULL ]]] )

Creates a DOMDocument object of the specified type with its document element.

Parameter-Liste

namespaceURI

The namespace URI of the document element to create.

qualifiedName

The qualified name of the document element to create.

doctype

The type of document to create or NULL.

Rückgabewerte

A new DOMDocument object. If namespaceURI, qualifiedName, and doctype are null, the returned DOMDocument is empty with no document element

Fehler/Exceptions

DOM_WRONG_DOCUMENT_ERR

Raised if doctype has already been used with a different document or was created from a different implementation.

DOM_NAMESPACE_ERR

Raised if there is an error with the namespace, as determined by namespaceURI and qualifiedName.

Diese Methode kann statisch aufgerufen werden, dies wird aber einen E_STRICT-Fehler hervorrufen.

Siehe auch

  • DOMDocument::__construct() - Creates a new DOMDocument object
  • DOMImplementation::createDocumentType() - Creates an empty DOMDocumentType object

DOMImplementation::__construct
DOMImplementation::createDocumentType
DOMImplementation


Creates an empty DOMDocumentType object

DOMImplementation::createDocument
DOMImplementation::hasFeature
DOMImplementation
PHP Manual

DOMImplementation::createDocumentType

(PHP 5, PHP 7)

DOMImplementation::createDocumentType — Creates an empty DOMDocumentType object

Beschreibung

public DOMDocumentType DOMImplementation::createDocumentType ([ string $qualifiedName = NULL [, string $publicId = NULL [, string $systemId = NULL ]]] )

Creates an empty DOMDocumentType object. Entity declarations and notations are not made available. Entity reference expansions and default attribute additions do not occur.

Parameter-Liste

qualifiedName

The qualified name of the document type to create.

publicId

The external subset public identifier.

systemId

The external subset system identifier.

Rückgabewerte

A new DOMDocumentType node with its ownerDocument set to NULL.

Fehler/Exceptions

DOM_NAMESPACE_ERR

Raised if there is an error with the namespace, as determined by qualifiedName.

Diese Methode kann statisch aufgerufen werden, dies wird aber einen E_STRICT-Fehler hervorrufen.

Beispiele

Beispiel #1 Creating a document with an attached DTD

<?php

// Creates an instance of the DOMImplementation class
$imp = new DOMImplementation;

// Creates a DOMDocumentType instance
$dtd = $imp->createDocumentType('graph', '', 'graph.dtd');

// Creates a DOMDocument instance
$dom = $imp->createDocument("", "", $dtd);

// Set other properties
$dom->encoding = 'UTF-8';
$dom->standalone = false;

// Create an empty element
$element = $dom->createElement('graph');

// Append the element
$dom->appendChild($element);

// Retrieve and print the document
echo $dom->saveXML();

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE graph SYSTEM "graph.dtd">
<graph/>

Siehe auch

  • DOMImplementation::createDocument() - Creates a DOMDocument object of the specified type with its document element

DOMImplementation::createDocument
DOMImplementation::hasFeature
DOMImplementation


Test if the DOM implementation implements a specific feature

DOMImplementation::createDocumentType
DOMNamedNodeMap
DOMImplementation
PHP Manual

DOMImplementation::hasFeature

(PHP 5, PHP 7)

DOMImplementation::hasFeature — Test if the DOM implementation implements a specific feature

Beschreibung

public bool DOMImplementation::hasFeature ( string $feature , string $version )

Test if the DOM implementation implements a specific feature.

You can find a list of all features in the » Conformance section of the DOM specification.

Parameter-Liste

feature

The feature to test.

version

The version number of the feature to test. In level 2, this can be either 2.0 or 1.0.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Diese Methode kann statisch aufgerufen werden, dies wird aber einen E_STRICT-Fehler hervorrufen.

Beispiele

Beispiel #1 Testing your DOM Implementation

<?php

$features = array(
  'Core'           => 'Core module',
  'XML'            => 'XML module',
  'HTML'           => 'HTML module',
  'Views'          => 'Views module',
  'Stylesheets'    => 'Style Sheets module',
  'CSS'            => 'CSS module',
  'CSS2'           => 'CSS2 module',
  'Events'         => 'Events module',
  'UIEvents'       => 'User interface Events module',
  'MouseEvents'    => 'Mouse Events module',
  'MutationEvents' => 'Mutation Events module',
  'HTMLEvents'     => 'HTML Events module',
  'Range'          => 'Range module',
  'Traversal'      => 'Traversal module'
);

foreach ($features as $key => $name) {
  if (DOMImplementation::hasFeature($key, '2.0')) {
    echo "Has feature $name\n";
  } else {
    echo "Missing feature $name\n";
  }
}

?>

Siehe auch

  • DOMNode::isSupported() - Checks if feature is supported for specified version

DOMImplementation::createDocumentType
DOMNamedNodeMap
DOMImplementation


The DOMNamedNodeMap class

(PHP 5, PHP 7)

Klassenbeschreibung

DOMNamedNodeMap implements Traversable {
/* Eigenschaften */
readonly public int $length ;
/* Methoden */
DOMNode getNamedItem ( string $name )
DOMNode getNamedItemNS ( string $namespaceURI , string $localName )
DOMNode item ( int $index )
}

Eigenschaften

length

The number of nodes in the map. The range of valid child node indices is 0 to length - 1 inclusive.

Inhaltsverzeichnis

  • DOMNamedNodeMap::getNamedItem — Retrieves a node specified by name
  • DOMNamedNodeMap::getNamedItemNS — Retrieves a node specified by local name and namespace URI
  • DOMNamedNodeMap::item — Retrieves a node specified by index
DOMImplementation::hasFeature
DOMNamedNodeMap::getNamedItem
DOM


Retrieves a node specified by name

DOMNamedNodeMap
DOMNamedNodeMap::getNamedItemNS
DOMNamedNodeMap
PHP Manual

DOMNamedNodeMap::getNamedItem

(PHP 5, PHP 7)

DOMNamedNodeMap::getNamedItem — Retrieves a node specified by name

Beschreibung

DOMNode DOMNamedNodeMap::getNamedItem ( string $name )

Retrieves a node specified by its nodeName.

Parameter-Liste

name

The nodeName of the node to retrieve.

Rückgabewerte

A node (of any type) with the specified nodeName, or NULL if no node is found.

Siehe auch

  • DOMNamedNodeMap::getNamedItemNS() - Retrieves a node specified by local name and namespace URI

DOMNamedNodeMap
DOMNamedNodeMap::getNamedItemNS
DOMNamedNodeMap


Retrieves a node specified by local name and namespace URI

DOMNamedNodeMap::getNamedItem
DOMNamedNodeMap::item
DOMNamedNodeMap
PHP Manual

DOMNamedNodeMap::getNamedItemNS

(PHP 5, PHP 7)

DOMNamedNodeMap::getNamedItemNS — Retrieves a node specified by local name and namespace URI

Beschreibung

DOMNode DOMNamedNodeMap::getNamedItemNS ( string $namespaceURI , string $localName )

Retrieves a node specified by localName and namespaceURI.

Parameter-Liste

namespaceURI

The namespace URI of the node to retrieve.

localName

The local name of the node to retrieve.

Rückgabewerte

A node (of any type) with the specified local name and namespace URI, or NULL if no node is found.

Siehe auch

  • DOMNamedNodeMap::getNamedItem() - Retrieves a node specified by name

DOMNamedNodeMap::getNamedItem
DOMNamedNodeMap::item
DOMNamedNodeMap


Retrieves a node specified by index

DOMNamedNodeMap::getNamedItemNS
DOMNode
DOMNamedNodeMap
PHP Manual

DOMNamedNodeMap::item

(PHP 5, PHP 7)

DOMNamedNodeMap::item — Retrieves a node specified by index

Beschreibung

DOMNode DOMNamedNodeMap::item ( int $index )

Retrieves a node specified by index within the DOMNamedNodeMap object.

Parameter-Liste

index

Index into this map.

Rückgabewerte

The node at the indexth position in the map, or NULL if that is not a valid index (greater than or equal to the number of nodes in this map).

DOMNamedNodeMap::getNamedItemNS
DOMNode
DOMNamedNodeMap


The DOMNode class

(PHP 5, PHP 7)

Klassenbeschreibung

DOMNode {
/* Eigenschaften */
public readonly string $nodeName ;
public string $nodeValue ;
public readonly int $nodeType ;
public readonly DOMNode $parentNode ;
public readonly DOMNodeList $childNodes ;
public readonly DOMNode $firstChild ;
public readonly DOMNode $lastChild ;
public readonly DOMNode $previousSibling ;
public readonly DOMNode $nextSibling ;
public readonly DOMNamedNodeMap $attributes ;
public readonly DOMDocument $ownerDocument ;
public readonly string $namespaceURI ;
public string $prefix ;
public readonly string $localName ;
public readonly string $baseURI ;
public string $textContent ;
/* Methoden */
public DOMNode appendChild ( DOMNode $newnode )
public string C14N ([ bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public int C14NFile ( string $uri [, bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public DOMNode cloneNode ([ bool $deep ] )
public int getLineNo ( void )
public string getNodePath ( void )
public bool hasAttributes ( void )
public bool hasChildNodes ( void )
public DOMNode insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
public bool isDefaultNamespace ( string $namespaceURI )
public bool isSameNode ( DOMNode $node )
public bool isSupported ( string $feature , string $version )
public string lookupNamespaceURI ( string $prefix )
public string lookupPrefix ( string $namespaceURI )
public void normalize ( void )
public DOMNode removeChild ( DOMNode $oldnode )
public DOMNode replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Eigenschaften

nodeName

Returns the most accurate name for the current node type

nodeValue

The value of this node, depending on its type. Contrary to the W3C specification, the node value of DOMElement nodes is equal to DOMNode::textContent instead of NULL.

nodeType

Gets the type of the node. One of the predefined XML_xxx_NODE constants

parentNode

The parent of this node. If there is no such node, this returns NULL.

childNodes

A DOMNodeList that contains all children of this node. If there are no children, this is an empty DOMNodeList.

firstChild

The first child of this node. If there is no such node, this returns NULL.

lastChild

The last child of this node. If there is no such node, this returns NULL.

previousSibling

The node immediately preceding this node. If there is no such node, this returns NULL.

nextSibling

The node immediately following this node. If there is no such node, this returns NULL.

attributes

A DOMNamedNodeMap containing the attributes of this node (if it is a DOMElement) or NULL otherwise.

ownerDocument

The DOMDocument object associated with this node.

namespaceURI

The namespace URI of this node, or NULL if it is unspecified.

prefix

The namespace prefix of this node, or NULL if it is unspecified.

localName

Returns the local part of the qualified name of this node.

baseURI

The absolute base URI of this node or NULL if the implementation wasn't able to obtain an absolute URI.

textContent

The text content of this node and its descendants.

Anmerkungen

Hinweis:

The DOM extension uses UTF-8 encoding. Use utf8_encode() and utf8_decode() to work with texts in ISO-8859-1 encoding or Iconv for other encodings.

Changelog

Version | Beschreibung
5.6.1 | The textContent property has been made writable (formerly it has been readonly).

Siehe auch

  • » W3C specification of Node

Inhaltsverzeichnis

  • DOMNode::appendChild — Adds new child at the end of the children
  • DOMNode::C14N — Canonicalize nodes to a string
  • DOMNode::C14NFile — Canonicalize nodes to a file
  • DOMNode::cloneNode — Clones a node
  • DOMNode::getLineNo — Get line number for a node
  • DOMNode::getNodePath — Get an XPath for a node
  • DOMNode::hasAttributes — Checks if node has attributes
  • DOMNode::hasChildNodes — Checks if node has children
  • DOMNode::insertBefore — Adds a new child before a reference node
  • DOMNode::isDefaultNamespace — Checks if the specified namespaceURI is the default namespace or not
  • DOMNode::isSameNode — Indicates if two nodes are the same node
  • DOMNode::isSupported — Checks if feature is supported for specified version
  • DOMNode::lookupNamespaceURI — Gets the namespace URI of the node based on the prefix
  • DOMNode::lookupPrefix — Gets the namespace prefix of the node based on the namespace URI
  • DOMNode::normalize — Normalizes the node
  • DOMNode::removeChild — Removes child from list of children
  • DOMNode::replaceChild — Replaces a child
DOMNamedNodeMap::item
DOMNode::appendChild
DOM


Adds new child at the end of the children

DOMNode
DOMNode::C14N
DOMNode
PHP Manual

DOMNode::appendChild

(PHP 5, PHP 7)

DOMNode::appendChild — Adds new child at the end of the children

Beschreibung

public DOMNode DOMNode::appendChild ( DOMNode $newnode )

This function appends a child to an existing list of children or creates a new list of children. The child can be created with e.g. DOMDocument::createElement(), DOMDocument::createTextNode() etc. or simply by using any other node.

Parameter-Liste

newnode

The appended child.

Rückgabewerte

The node added.

Fehler/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if this node is readonly or if the previous parent of the node being inserted is readonly.

DOM_HIERARCHY_REQUEST_ERR

Raised if this node is of a type that does not allow children of the type of the newnode node, or if the node to append is one of this node's ancestors or this node itself.

DOM_WRONG_DOCUMENT_ERR

Raised if newnode was created from a different document than the one that created this node.

Beispiele

The following example will add a new element node to a fresh document.

Beispiel #1 Adding a child

<?php

$doc = new DOMDocument;

$node = $doc->createElement("para");
$newnode = $doc->appendChild($node);

echo $doc->saveXML();
?>

Siehe auch

  • DOMNode::insertBefore() - Adds a new child before a reference node
  • DOMNode::removeChild() - Removes child from list of children
  • DOMNode::replaceChild() - Replaces a child

DOMNode
DOMNode::C14N
DOMNode


Canonicalize nodes to a string

DOMNode::appendChild
DOMNode::C14NFile
DOMNode
PHP Manual

DOMNode::C14N

(PHP 5 >= 5.2.0, PHP 7)

DOMNode::C14N — Canonicalize nodes to a string

Beschreibung

public string DOMNode::C14N ([ bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )

Canonicalize nodes to a string

Parameter-Liste

exclusive

Enable exclusive parsing of only the nodes matched by the provided xpath or namespace prefixes.

with_comments

Retain comments in output.

xpath

An array of xpaths to filter the nodes by.

ns_prefixes

An array of namespace prefixes to filter the nodes by.

Rückgabewerte

Returns canonicalized nodes as a stringIm Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • DOMNode::C14NFile() - Canonicalize nodes to a file

DOMNode::appendChild
DOMNode::C14NFile
DOMNode


Canonicalize nodes to a file

DOMNode::C14N
DOMNode::cloneNode
DOMNode
PHP Manual

DOMNode::C14NFile

(PHP 5 >= 5.2.0, PHP 7)

DOMNode::C14NFile — Canonicalize nodes to a file

Beschreibung

public int DOMNode::C14NFile ( string $uri [, bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )

Canonicalize nodes to a file.

Parameter-Liste

uri

Path to write the output to.

exclusive

Enable exclusive parsing of only the nodes matched by the provided xpath or namespace prefixes.

with_comments

Retain comments in output.

xpath

An array of xpaths to filter the nodes by.

ns_prefixes

An array of namespace prefixes to filter the nodes by.

Rückgabewerte

Number of bytes writtenIm Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • DOMNode::C14N() - Canonicalize nodes to a string

DOMNode::C14N
DOMNode::cloneNode
DOMNode


Clones a node

DOMNode::C14NFile
DOMNode::getLineNo
DOMNode
PHP Manual

DOMNode::cloneNode

(PHP 5, PHP 7)

DOMNode::cloneNode — Clones a node

Beschreibung

public DOMNode DOMNode::cloneNode ([ bool $deep ] )

Creates a copy of the node.

Parameter-Liste

deep

Indicates whether to copy all descendant nodes. This parameter is defaulted to FALSE.

Rückgabewerte

The cloned node.

DOMNode::C14NFile
DOMNode::getLineNo
DOMNode


Get line number for a node

DOMNode::cloneNode
DOMNode::getNodePath
DOMNode
PHP Manual

DOMNode::getLineNo

(PHP 5 >= 5.3.0, PHP 7)

DOMNode::getLineNo — Get line number for a node

Beschreibung

public int DOMNode::getLineNo ( void )

Gets line number for where the node is defined.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Always returns the line number where the node was defined in.

Beispiele

Beispiel #1 DOMNode::getLineNo() example

<?php
// XML dump for below example
$xml = <<<XML
<?xml version="1.0" encoding="utf-8"?>
<root>
    <node />
</root>
XML;

// Create a new DOMDocument instance
$dom = new DOMDocument;

// Load the XML
$dom->loadXML($xml);

// Print where the line where the 'node' element was defined in
printf('The <node> tag is defined on line %d', $dom->getElementsByTagName('node')->item(0)->getLineNo());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

The <node> tag is defined in line 3

DOMNode::cloneNode
DOMNode::getNodePath
DOMNode


Get an XPath for a node

DOMNode::getLineNo
DOMNode::hasAttributes
DOMNode
PHP Manual

DOMNode::getNodePath

(PHP 5 >= 5.2.0, PHP 7)

DOMNode::getNodePath — Get an XPath for a node

Beschreibung

public string DOMNode::getNodePath ( void )

Gets an XPath location path for the node.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a string containing the XPath, or NULL in case of an error.

Beispiele

Beispiel #1 DOMNode::getNodePath() example

<?php
// Create a new DOMDocument instance
$dom = new DOMDocument;

// Load the XML
$dom->loadXML('
<fruits>
 <apples>
  <apple>braeburn</apple>
  <apple>granny smith</apple>
 </apples>
 <pears>
  <pear>conference</pear>
 </pears>
</fruits>
');

// Print XPath for each element
foreach ($dom->getElementsByTagName('*') as $node) {
    echo $node->getNodePath() . "\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

/fruits
/fruits/apples
/fruits/apples/apple[1]
/fruits/apples/apple[2]
/fruits/pears
/fruits/pears/pear

Siehe auch

  • DOMXPath

DOMNode::getLineNo
DOMNode::hasAttributes
DOMNode


Checks if node has attributes

DOMNode::getNodePath
DOMNode::hasChildNodes
DOMNode
PHP Manual

DOMNode::hasAttributes

(PHP 5, PHP 7)

DOMNode::hasAttributes — Checks if node has attributes

Beschreibung

public bool DOMNode::hasAttributes ( void )

This method checks if the node has attributes. The tested node has to be an XML_ELEMENT_NODE.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • DOMNode::hasChildNodes() - Checks if node has children

DOMNode::getNodePath
DOMNode::hasChildNodes
DOMNode


Checks if node has children

DOMNode::hasAttributes
DOMNode::insertBefore
DOMNode
PHP Manual

DOMNode::hasChildNodes

(PHP 5, PHP 7)

DOMNode::hasChildNodes — Checks if node has children

Beschreibung

public bool DOMNode::hasChildNodes ( void )

This function checks if the node has children.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • DOMNode::hasAttributes() - Checks if node has attributes

DOMNode::hasAttributes
DOMNode::insertBefore
DOMNode


Adds a new child before a reference node

DOMNode::hasChildNodes
DOMNode::isDefaultNamespace
DOMNode
PHP Manual

DOMNode::insertBefore

(PHP 5, PHP 7)

DOMNode::insertBefore — Adds a new child before a reference node

Beschreibung

public DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )

This function inserts a new node right before the reference node. If you plan to do further modifications on the appended child you must use the returned node.

Parameter-Liste

newnode

The new node.

refnode

The reference node. If not supplied, newnode is appended to the children.

Rückgabewerte

The inserted node.

Fehler/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if this node is readonly or if the previous parent of the node being inserted is readonly.

DOM_HIERARCHY_REQUEST_ERR

Raised if this node is of a type that does not allow children of the type of the newnode node, or if the node to append is one of this node's ancestors or this node itself.

DOM_WRONG_DOCUMENT_ERR

Raised if newnode was created from a different document than the one that created this node.

DOM_NOT_FOUND

Raised if refnode is not a child of this node.

Siehe auch

  • DOMNode::appendChild() - Adds new child at the end of the children

DOMNode::hasChildNodes
DOMNode::isDefaultNamespace
DOMNode


Checks if the specified namespaceURI is the default namespace or not

DOMNode::insertBefore
DOMNode::isSameNode
DOMNode
PHP Manual

DOMNode::isDefaultNamespace

(PHP 5, PHP 7)

DOMNode::isDefaultNamespace — Checks if the specified namespaceURI is the default namespace or not

Beschreibung

public bool DOMNode::isDefaultNamespace ( string $namespaceURI )

Tells whether namespaceURI is the default namespace.

Parameter-Liste

namespaceURI

The namespace URI to look for.

Rückgabewerte

Return TRUE if namespaceURI is the default namespace, FALSE otherwise.

DOMNode::insertBefore
DOMNode::isSameNode
DOMNode


Indicates if two nodes are the same node

DOMNode::isDefaultNamespace
DOMNode::isSupported
DOMNode
PHP Manual

DOMNode::isSameNode

(PHP 5, PHP 7)

DOMNode::isSameNode — Indicates if two nodes are the same node

Beschreibung

public bool DOMNode::isSameNode ( DOMNode $node )

This function indicates if two nodes are the same node. The comparison is not based on content

Parameter-Liste

node

The compared node.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

DOMNode::isDefaultNamespace
DOMNode::isSupported
DOMNode


Checks if feature is supported for specified version

DOMNode::isSameNode
DOMNode::lookupNamespaceURI
DOMNode
PHP Manual

DOMNode::isSupported

(PHP 5, PHP 7)

DOMNode::isSupported — Checks if feature is supported for specified version

Beschreibung

public bool DOMNode::isSupported ( string $feature , string $version )

Checks if the asked feature is supported for the specified version.

Parameter-Liste

feature

The feature to test. See the example of DOMImplementation::hasFeature() for a list of features.

version

The version number of the feature to test.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • DOMImplementation::hasFeature() - Test if the DOM implementation implements a specific feature

DOMNode::isSameNode
DOMNode::lookupNamespaceURI
DOMNode


Gets the namespace URI of the node based on the prefix

DOMNode::isSupported
DOMNode::lookupPrefix
DOMNode
PHP Manual

DOMNode::lookupNamespaceURI

(PHP 5, PHP 7)

DOMNode::lookupNamespaceURI — Gets the namespace URI of the node based on the prefix

Beschreibung

public string DOMNode::lookupNamespaceURI ( string $prefix )

Gets the namespace URI of the node based on the prefix.

Parameter-Liste

prefix

The prefix of the namespace.

Rückgabewerte

The namespace URI of the node.

Siehe auch

  • DOMNode::lookupPrefix() - Gets the namespace prefix of the node based on the namespace URI

DOMNode::isSupported
DOMNode::lookupPrefix
DOMNode


Gets the namespace prefix of the node based on the namespace URI

DOMNode::lookupNamespaceURI
DOMNode::normalize
DOMNode
PHP Manual

DOMNode::lookupPrefix

(PHP 5, PHP 7)

DOMNode::lookupPrefix — Gets the namespace prefix of the node based on the namespace URI

Beschreibung

public string DOMNode::lookupPrefix ( string $namespaceURI )

Gets the namespace prefix of the node based on the namespace URI.

Parameter-Liste

namespaceURI

The namespace URI.

Rückgabewerte

The prefix of the namespace.

Siehe auch

  • DOMNode::lookupNamespaceURI() - Gets the namespace URI of the node based on the prefix

DOMNode::lookupNamespaceURI
DOMNode::normalize
DOMNode


Normalizes the node

DOMNode::lookupPrefix
DOMNode::removeChild
DOMNode
PHP Manual

DOMNode::normalize

(PHP 5, PHP 7)

DOMNode::normalize — Normalizes the node

Beschreibung

public void DOMNode::normalize ( void )

Remove empty text nodes and merge adjacent text nodes in this node and all its children.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • » The DOM Specification
  • DOMDocument::normalizeDocument() - Normalizes the document

DOMNode::lookupPrefix
DOMNode::removeChild
DOMNode


Removes child from list of children

DOMNode::normalize
DOMNode::replaceChild
DOMNode
PHP Manual

DOMNode::removeChild

(PHP 5, PHP 7)

DOMNode::removeChild — Removes child from list of children

Beschreibung

public DOMNode DOMNode::removeChild ( DOMNode $oldnode )

This functions removes a child from a list of children.

Parameter-Liste

oldnode

The removed child.

Rückgabewerte

If the child could be removed the function returns the old child.

Fehler/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if this node is readonly.

DOM_NOT_FOUND

Raised if oldnode is not a child of this node.

Beispiele

The following example will delete the chapter element of our XML document.

Beispiel #1 Removing a child

<?php

$doc = new DOMDocument;
$doc->load('book.xml');

$book = $doc->documentElement;

// we retrieve the chapter and remove it from the book
$chapter = $book->getElementsByTagName('chapter')->item(0);
$oldchapter = $book->removeChild($chapter);

echo $doc->saveXML();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
          "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<book id="listing">
 <title>My lists</title>

</book>

Siehe auch

  • DOMNode::appendChild() - Adds new child at the end of the children
  • DOMNode::replaceChild() - Replaces a child

DOMNode::normalize
DOMNode::replaceChild
DOMNode


Replaces a child

DOMNode::removeChild
DOMNodeList
DOMNode
PHP Manual

DOMNode::replaceChild

(PHP 5, PHP 7)

DOMNode::replaceChild — Replaces a child

Beschreibung

public DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )

This function replaces the child oldnode with the passed new node. If the newnode is already a child it will not be added a second time. If the replacement succeeds the old node is returned.

Parameter-Liste

newnode

The new node. It must be a member of the target document, i.e. created by one of the DOMDocument->createXXX() methods or imported in the document by DOMDocument::importNode.

oldnode

The old node.

Rückgabewerte

The old node or FALSE if an error occur.

Fehler/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if this node is readonly or if the previous parent of the node being inserted is readonly.

DOM_HIERARCHY_REQUEST_ERR

Raised if this node is of a type that does not allow children of the type of the newnode node, or if the node to put in is one of this node's ancestors or this node itself.

DOM_WRONG_DOCUMENT_ERR

Raised if newnode was created from a different document than the one that created this node.

DOM_NOT_FOUND

Raised if oldnode is not a child of this node.

Siehe auch

  • DOMNode::appendChild() - Adds new child at the end of the children
  • DOMNode::removeChild() - Removes child from list of children

DOMNode::removeChild
DOMNodeList
DOMNode


The DOMNodeList class

(PHP 5, PHP 7)

Klassenbeschreibung

DOMNodeList implements Traversable {
/* Eigenschaften */
readonly public int $length ;
/* Methoden */
DOMElement DOMNodelist::item ( int $index )
}

Eigenschaften

length

The number of nodes in the list. The range of valid child node indices is 0 to length - 1 inclusive.

Siehe auch

  • » W3C specification of NodeList

Inhaltsverzeichnis

  • DOMNodelist::item — Retrieves a node specified by index
DOMNode::replaceChild
DOMNodelist::item
DOM


Retrieves a node specified by index

DOMNodeList
DOMNotation
DOMNodeList
PHP Manual

DOMNodelist::item

(PHP 5, PHP 7)

DOMNodelist::item — Retrieves a node specified by index

Beschreibung

DOMElement DOMNodelist::item ( int $index )

Retrieves a node specified by index within the DOMNodeList object.

Tipp

If you need to know the number of nodes in the collection, use the length property of the DOMNodeList object.

Parameter-Liste

index

Index of the node into the collection.

Rückgabewerte

The node at the indexth position in the DOMNodeList, or NULL if that is not a valid index.

Beispiele

Beispiel #1 Traversing all the entries of the table

<?php

$doc = new DOMDocument;
$doc->load('book.xml');

$items = $doc->getElementsByTagName('entry');

for ($i = 0; $i < $items->length; $i++) {
    echo $items->item($i)->nodeValue . "\n";
}

?>

Alternatively, you can use foreach, which is a much more convenient way:

<?php

foreach ($items as $item) {
    echo $item->nodeValue . "\n";
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Title
Author
Language
ISBN
The Grapes of Wrath
John Steinbeck
en
0140186409
The Pearl
John Steinbeck
en
014017737X
Samarcande
Amine Maalouf
fr
2253051209

DOMNodeList
DOMNotation
DOMNodeList


The DOMNotation class

(PHP 5, PHP 7)

Klassenbeschreibung

DOMNotation extends DOMNode {
/* Eigenschaften */
readonly public string $publicId ;
readonly public string $systemId ;
/* Geerbte Methoden */
public DOMNode DOMNode::appendChild ( DOMNode $newnode )
public string DOMNode::C14N ([ bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public int DOMNode::C14NFile ( string $uri [, bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
public string DOMNode::getNodePath ( void )
public bool DOMNode::hasAttributes ( void )
public bool DOMNode::hasChildNodes ( void )
public DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
public bool DOMNode::isDefaultNamespace ( string $namespaceURI )
public bool DOMNode::isSameNode ( DOMNode $node )
public bool DOMNode::isSupported ( string $feature , string $version )
public string DOMNode::lookupNamespaceURI ( string $prefix )
public string DOMNode::lookupPrefix ( string $namespaceURI )
public void DOMNode::normalize ( void )
public DOMNode DOMNode::removeChild ( DOMNode $oldnode )
public DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Eigenschaften

publicId

systemId

DOMNodelist::item
DOMProcessingInstruction
DOM


The DOMProcessingInstruction class

(PHP 5, PHP 7)

Klassenbeschreibung

DOMProcessingInstruction extends DOMNode {
/* Eigenschaften */
readonly public string $target ;
public string $data ;
/* Methoden */
public __construct ( string $name [, string $value ] )
/* Geerbte Methoden */
public DOMNode DOMNode::appendChild ( DOMNode $newnode )
public string DOMNode::C14N ([ bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public int DOMNode::C14NFile ( string $uri [, bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
public string DOMNode::getNodePath ( void )
public bool DOMNode::hasAttributes ( void )
public bool DOMNode::hasChildNodes ( void )
public DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
public bool DOMNode::isDefaultNamespace ( string $namespaceURI )
public bool DOMNode::isSameNode ( DOMNode $node )
public bool DOMNode::isSupported ( string $feature , string $version )
public string DOMNode::lookupNamespaceURI ( string $prefix )
public string DOMNode::lookupPrefix ( string $namespaceURI )
public void DOMNode::normalize ( void )
public DOMNode DOMNode::removeChild ( DOMNode $oldnode )
public DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Eigenschaften

target

data

Inhaltsverzeichnis

  • DOMProcessingInstruction::__construct — Creates a new DOMProcessingInstruction object
DOMNotation
DOMProcessingInstruction::__construct
DOM


Creates a new DOMProcessingInstruction object

DOMProcessingInstruction
DOMText
DOMProcessingInstruction
PHP Manual

DOMProcessingInstruction::__construct

(PHP 5, PHP 7)

DOMProcessingInstruction::__construct — Creates a new DOMProcessingInstruction object

Beschreibung

public DOMProcessingInstruction::__construct ( string $name [, string $value ] )

Creates a new DOMProcessingInstruction object. This object is read only. It may be appended to a document, but additional nodes may not be appended to this node until the node is associated with a document. To create a writeable node, use DOMDocument::createProcessingInstruction.

Parameter-Liste

name

The tag name of the processing instruction.

value

The value of the processing instruction.

Beispiele

Beispiel #1 Creating a new DOMProcessingInstruction object

<?php

$dom = new DOMDocument('1.0', 'UTF-8');
$html = $dom->appendChild(new DOMElement('html'));
$body = $html->appendChild(new DOMElement('body'));
$pinode = new DOMProcessingInstruction('php', 'echo "Hello World"; ');
$body->appendChild($pinode);
echo $dom->saveXML();

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<?xml version="1.0" encoding="UTF-8"?>
<html><body><?php echo "Hello World"; ?></body></html>

Siehe auch

  • DOMDocument::createProcessingInstruction() - Creates new PI node

DOMProcessingInstruction
DOMText
DOMProcessingInstruction


The DOMText class

(PHP 5, PHP 7)

Einführung

The DOMText class inherits from DOMCharacterData and represents the textual content of a DOMElement or DOMAttr.

Klassenbeschreibung

DOMText extends DOMCharacterData {
/* Eigenschaften */
readonly public string $wholeText ;
/* Methoden */
public __construct ([ string $value ] )
public bool isWhitespaceInElementContent ( void )
public DOMText splitText ( int $offset )
/* Geerbte Methoden */
public DOMNode DOMNode::appendChild ( DOMNode $newnode )
public string DOMNode::C14N ([ bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public int DOMNode::C14NFile ( string $uri [, bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
public DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
public string DOMNode::getNodePath ( void )
public bool DOMNode::hasAttributes ( void )
public bool DOMNode::hasChildNodes ( void )
public DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
public bool DOMNode::isDefaultNamespace ( string $namespaceURI )
public bool DOMNode::isSameNode ( DOMNode $node )
public bool DOMNode::isSupported ( string $feature , string $version )
public string DOMNode::lookupNamespaceURI ( string $prefix )
public string DOMNode::lookupPrefix ( string $namespaceURI )
public void DOMNode::normalize ( void )
public DOMNode DOMNode::removeChild ( DOMNode $oldnode )
public DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Eigenschaften

wholeText

Holds all the text of logically-adjacent (not separated by Element, Comment or Processing Instruction) Text nodes.

Inhaltsverzeichnis

  • DOMText::__construct — Creates a new DOMText object
  • DOMText::isWhitespaceInElementContent — Indicates whether this text node contains whitespace
  • DOMText::splitText — Breaks this node into two nodes at the specified offset
DOMProcessingInstruction::__construct
DOMText::__construct
DOM


Creates a new DOMText object

DOMText
DOMText::isWhitespaceInElementContent
DOMText
PHP Manual

DOMText::__construct

(PHP 5, PHP 7)

DOMText::__construct — Creates a new DOMText object

Beschreibung

public DOMText::__construct ([ string $value ] )

Creates a new DOMText object.

Parameter-Liste

value

The value of the text node. If not supplied an empty text node is created.

Beispiele

Beispiel #1 Creating a new DOMText

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');
$element = $dom->appendChild(new DOMElement('root'));
$text = $element->appendChild(new DOMText('root value'));
echo $dom->saveXML(); /* <?xml version="1.0" encoding="iso-8859-1"?><root>root value</root> */

?>

Siehe auch

  • DOMDocument::createTextNode() - Create new text node

DOMText
DOMText::isWhitespaceInElementContent
DOMText


Indicates whether this text node contains whitespace

DOMText::__construct
DOMText::splitText
DOMText
PHP Manual

DOMText::isWhitespaceInElementContent

(PHP 5, PHP 7)

DOMText::isWhitespaceInElementContent — Indicates whether this text node contains whitespace

Beschreibung

public bool DOMText::isWhitespaceInElementContent ( void )

Indicates whether this text node contains only whitespace or it is empty. The text node is determined to contain whitespace in element content during the load of the document.

Rückgabewerte

Returns TRUE if node contains zero or more whitespace characters and nothing else. Returns FALSE otherwise.

DOMText::__construct
DOMText::splitText
DOMText


Breaks this node into two nodes at the specified offset

DOMText::isWhitespaceInElementContent
DOMXPath
DOMText
PHP Manual

DOMText::splitText

(PHP 5, PHP 7)

DOMText::splitText — Breaks this node into two nodes at the specified offset

Beschreibung

public DOMText DOMText::splitText ( int $offset )

Breaks this node into two nodes at the specified offset, keeping both in the tree as siblings.

After being split, this node will contain all the content up to the offset. If the original node had a parent node, the new node is inserted as the next sibling of the original node. When the offset is equal to the length of this node, the new node has no data.

Parameter-Liste

offset

The offset at which to split, starting from 0.

Rückgabewerte

The new node of the same type, which contains all the content at and after the offset.

DOMText::isWhitespaceInElementContent
DOMXPath
DOMText


The DOMXPath class

(PHP 5, PHP 7)

Einführung

Supports XPath 1.0

Klassenbeschreibung

DOMXPath {
/* Eigenschaften */
public DOMDocument $document ;
/* Methoden */
public __construct ( DOMDocument $doc )
public mixed evaluate ( string $expression [, DOMNode $contextnode [, bool $registerNodeNS = true ]] )
public DOMNodeList query ( string $expression [, DOMNode $contextnode [, bool $registerNodeNS = true ]] )
public bool registerNamespace ( string $prefix , string $namespaceURI )
public void registerPhpFunctions ([ mixed $restrict ] )
}

Eigenschaften

document

Inhaltsverzeichnis

  • DOMXPath::__construct — Creates a new DOMXPath object
  • DOMXPath::evaluate — Evaluates the given XPath expression and returns a typed result if possible
  • DOMXPath::query — Evaluates the given XPath expression
  • DOMXPath::registerNamespace — Registers the namespace with the DOMXPath object
  • DOMXPath::registerPhpFunctions — Register PHP functions as XPath functions
DOMText::splitText
DOMXPath::__construct
DOM


Creates a new DOMXPath object

DOMXPath
DOMXPath::evaluate
DOMXPath
PHP Manual

DOMXPath::__construct

(PHP 5, PHP 7)

DOMXPath::__construct — Creates a new DOMXPath object

Beschreibung

public DOMXPath::__construct ( DOMDocument $doc )

Creates a new DOMXPath object.

Parameter-Liste

doc

The DOMDocument associated with the DOMXPath.

DOMXPath
DOMXPath::evaluate
DOMXPath


Evaluates the given XPath expression and returns a typed result if possible

DOMXPath::__construct
DOMXPath::query
DOMXPath
PHP Manual

DOMXPath::evaluate

(PHP 5 >= 5.1.0, PHP 7)

DOMXPath::evaluate — Evaluates the given XPath expression and returns a typed result if possible

Beschreibung

public mixed DOMXPath::evaluate ( string $expression [, DOMNode $contextnode [, bool $registerNodeNS = true ]] )

Executes the given XPath expression and returns a typed result if possible.

Parameter-Liste

expression

The XPath expression to execute.

contextnode

The optional contextnode can be specified for doing relative XPath queries. By default, the queries are relative to the root element.

registerNodeNS

The optional registerNodeNS can be specified to disable automatic registration of the context node.

Rückgabewerte

Returns a typed result if possible or a DOMNodeList containing all nodes matching the given XPath expression.

If the expression is malformed or the contextnode is invalid, DOMXPath::evaluate() returns FALSE.

Changelog

Version | Beschreibung
5.3.3 | The registerNodeNS parameter was added.

Beispiele

Beispiel #1 Getting the count of all the english books

<?php

$doc = new DOMDocument;

$doc->load('book.xml');

$xpath = new DOMXPath($doc);

$tbody = $doc->getElementsByTagName('tbody')->item(0);

// our query is relative to the tbody node
$query = 'count(row/entry[. = "en"])';

$entries = $xpath->evaluate($query, $tbody);
echo "There are $entries english books\n";

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

There are 2 english books

Siehe auch

  • DOMXPath::query() - Evaluates the given XPath expression

DOMXPath::__construct
DOMXPath::query
DOMXPath


Evaluates the given XPath expression

DOMXPath::evaluate
DOMXPath::registerNamespace
DOMXPath
PHP Manual

DOMXPath::query

(PHP 5, PHP 7)

DOMXPath::query — Evaluates the given XPath expression

Beschreibung

public DOMNodeList DOMXPath::query ( string $expression [, DOMNode $contextnode [, bool $registerNodeNS = true ]] )

Executes the given XPath expression.

Parameter-Liste

expression

The XPath expression to execute.

contextnode

The optional contextnode can be specified for doing relative XPath queries. By default, the queries are relative to the root element.

registerNodeNS

The optional registerNodeNS can be specified to disable automatic registration of the context node.

Rückgabewerte

Returns a DOMNodeList containing all nodes matching the given XPath expression. Any expression which does not return nodes will return an empty DOMNodeList.

If the expression is malformed or the contextnode is invalid, DOMXPath::query() returns FALSE.

Changelog

Version | Beschreibung
5.3.3 | The registerNodeNS parameter was added.

Beispiele

Beispiel #1 Getting all the english books

<?php

$doc = new DOMDocument;

// We don't want to bother with white spaces
$doc->preserveWhiteSpace = false;

$doc->Load('book.xml');

$xpath = new DOMXPath($doc);

// We starts from the root element
$query = '//book/chapter/para/informaltable/tgroup/tbody/row/entry[. = "en"]';

$entries = $xpath->query($query);

foreach ($entries as $entry) {
    echo "Found {$entry->previousSibling->previousSibling->nodeValue}," .
         " by {$entry->previousSibling->nodeValue}\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Found The Grapes of Wrath, by John Steinbeck
Found The Pearl, by John Steinbeck

We can also use the contextnode parameter to shorten our expression:

<?php

$doc = new DOMDocument;
$doc->preserveWhiteSpace = false;

$doc->load('book.xml');

$xpath = new DOMXPath($doc);

$tbody = $doc->getElementsByTagName('tbody')->item(0);

// our query is relative to the tbody node
$query = 'row/entry[. = "en"]';

$entries = $xpath->query($query, $tbody);

foreach ($entries as $entry) {
    echo "Found {$entry->previousSibling->previousSibling->nodeValue}," .
         " by {$entry->previousSibling->nodeValue}\n";
}
?>

Siehe auch

  • DOMXPath::evaluate() - Evaluates the given XPath expression and returns a typed result if possible

DOMXPath::evaluate
DOMXPath::registerNamespace
DOMXPath


Registers the namespace with the DOMXPath object

DOMXPath::query
DOMXPath::registerPhpFunctions
DOMXPath
PHP Manual

DOMXPath::registerNamespace

(PHP 5, PHP 7)

DOMXPath::registerNamespace — Registers the namespace with the DOMXPath object

Beschreibung

public bool DOMXPath::registerNamespace ( string $prefix , string $namespaceURI )

Registers the namespaceURI and prefix with the DOMXPath object.

Parameter-Liste

prefix

The prefix.

namespaceURI

The URI of the namespace.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

DOMXPath::query
DOMXPath::registerPhpFunctions
DOMXPath


Register PHP functions as XPath functions

DOMXPath::registerNamespace
DOM Funktionen
DOMXPath
PHP Manual

DOMXPath::registerPhpFunctions

(PHP 5 >= 5.3.0, PHP 7)

DOMXPath::registerPhpFunctions — Register PHP functions as XPath functions

Beschreibung

public void DOMXPath::registerPhpFunctions ([ mixed $restrict ] )

This method enables the ability to use PHP functions within XPath expressions.

Parameter-Liste

restrict

Use this parameter to only allow certain functions to be called from XPath.

This parameter can be either a string (a function name) or an array of function names.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

The following examples use book.xml which contains the following:

Beispiel #1 book.xml

<?xml version="1.0" encoding="UTF-8"?>
<books>
 <book>
  <title>PHP Basics</title>
  <author>Jim Smith</author>
  <author>Jane Smith</author>
 </book>
 <book>
  <title>PHP Secrets</title>
  <author>Jenny Smythe</author>
 </book>
 <book>
  <title>XML basics</title>
  <author>Joe Black</author>
 </book>
</books>

Beispiel #2 DOMXPath::registerPHPFunctions() with php:functionString

<?php
$doc = new DOMDocument;
$doc->load('book.xml');

$xpath = new DOMXPath($doc);

// Register the php: namespace (required)
$xpath->registerNamespace("php", "http://php.net/xpath");

// Register PHP functions (no restrictions)
$xpath->registerPHPFunctions();

// Call substr function on the book title
$nodes = $xpath->query('//book[php:functionString("substr", title, 0, 3) = "PHP"]');

echo "Found {$nodes->length} books starting with 'PHP':\n";
foreach ($nodes as $node) {
    $title  = $node->getElementsByTagName("title")->item(0)->nodeValue;
    $author = $node->getElementsByTagName("author")->item(0)->nodeValue;
    echo "$title by $author\n";
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Found 2 books starting with 'PHP':
PHP Basics by Jim Smith
PHP Secrets by Jenny Smythe

Beispiel #3 DOMXPath::registerPHPFunctions() with php:function

<?php
$doc = new DOMDocument;
$doc->load('book.xml');

$xpath = new DOMXPath($doc);

// Register the php: namespace (required)
$xpath->registerNamespace("php", "http://php.net/xpath");

// Register PHP functions (has_multiple only)
$xpath->registerPHPFunctions("has_multiple");

function has_multiple($nodes) {
    // Return true if more than one author
    return count($nodes) > 1;
}
// Filter books with multiple authors
$books = $xpath->query('//book[php:function("has_multiple", author)]');

echo "Books with multiple authors:\n";
foreach ($books as $book) {
    echo $book->getElementsByTagName("title")->item(0)->nodeValue . "\n";
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Books with multiple authors:
PHP Basics

Siehe auch

  • DOMXPath::registerNamespace() - Registers the namespace with the DOMXPath object
  • DOMXPath::query() - Evaluates the given XPath expression
  • DOMXPath::evaluate() - Evaluates the given XPath expression and returns a typed result if possible

DOMXPath::registerNamespace
DOM Funktionen
DOMXPath


DOM Funktionen

Inhaltsverzeichnis

  • dom_import_simplexml — Ermittelt ein DOMElement-Objekt aus einem SimpleXMLElement-Objekt
DOMXPath::registerPhpFunctions
dom_import_simplexml
DOM


Ermittelt ein DOMElement-Objekt aus einem SimpleXMLElement-Objekt

DOM Funktionen
libxml
DOM Funktionen
PHP Manual

dom_import_simplexml

(PHP 5, PHP 7)

dom_import_simplexml — Ermittelt ein DOMElement-Objekt aus einem SimpleXMLElement-Objekt

Beschreibung

DOMElement dom_import_simplexml ( SimpleXMLElement $node )

Diese Funktion verwendet den Knoten node der Klasse SimpleXML und macht ihn zu einem DOMElement-Knoten. Dieses neue Objekt kann als nativer DOMElement-Knoten verwendet werden..

Parameter-Liste

node

Der SimpleXMLElement-Knoten.

Rückgabewerte

Der hinzugefügte DOMElement-Knoten oder FALSE falls irgendein Fehler aufgetreten ist.

Beispiele

Beispiel #1 Importiert SimpleXML in DOM mit der Funktion dom_import_simplexml()

<?php

$sxe = simplexml_load_string('<books><book><title>blah</title></book></books>');

if ($sxe === false) {
    echo 'Fehler beim Parsen des Dokumentes';
    exit;
}

$dom_sxe = dom_import_simplexml($sxe);
if (!$dom_sxe) {
    echo 'Fehler bei Konvertierung zu XML';
    exit;
}

$dom = new DOMDocument('1.0');
$dom_sxe = $dom->importNode($dom_sxe, true);
$dom_sxe = $dom->appendChild($dom_sxe);

echo $dom->saveXML();

?>

Siehe auch

  • simplexml_import_dom() - Erzeugt ein SimpleXMLElement-Objekt aus einem DOM-Knoten

DOM Funktionen
libxml
DOM Funktionen


libxml

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • libXMLError — The libXMLError class
  • libxml Funktionen
    • libxml_clear_errors — Clear libxml error buffer
    • libxml_disable_entity_loader — Disable the ability to load external entities
    • libxml_get_errors — Retrieve array of errors
    • libxml_get_last_error — Retrieve last error from libxml
    • libxml_set_external_entity_loader — Changes the default external entity loader
    • libxml_set_streams_context — Set the streams context for the next libxml document load or write
    • libxml_use_internal_errors — Disable libxml errors and allow user to fetch error information as needed
dom_import_simplexml
Einführung
XML-Manipulation


Einführung

These functions/constants are available as of PHP 5.1.0, and the following core extensions rely on this libxml extension: DOM, libxml, SimpleXML, SOAP, WDDX, XSL, XML, XMLReader, XMLRPC und XMLWriter.

libxml
Installation/Konfiguration
libxml


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
libxml


Anforderungen

This extension requires » libxml >= 2.6.0.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

The libxml extension is enabled by default, although it may be disabled with --disable-libxml .

The optional --with-libxml-dir directive is used to specify the location of libxml on the system that PHP is being compiled on, otherwise only the default locations are scanned. The configure process checks for libxml (specifically, xml2-config) in the following order:

  1. The location ([DIR]) specified with --with-libxml-dir ([DIR]=/bin/xml2-config)

  2. /usr/local/bin/xml2-config

  3. /usr/bin/xml2-config

If configure cannot find xml2-config in the directory specified by --with-libxml-dir , then it'll continue on and check the default locations.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

LIBXML_BIGLINES (integer)
Allows line numbers greater than 65535 to be reported correctly.

Hinweis:

Only available as of PHP 7.0.0 with Libxml >= 2.9.0

LIBXML_COMPACT (integer)
Activate small nodes allocation optimization. This may speed up your application without needing to change the code.

Hinweis:

Only available in Libxml >= 2.6.21

LIBXML_DTDATTR (integer)
Default DTD attributes
LIBXML_DTDLOAD (integer)
Load the external subset
LIBXML_DTDVALID (integer)
Validate with the DTD
LIBXML_HTML_NOIMPLIED (integer)
Sets HTML_PARSE_NOIMPLIED flag, which turns off the automatic adding of implied html/body... elements.

Hinweis:

Only available in Libxml >= 2.7.7 (as of PHP >= 5.4.0)

LIBXML_HTML_NODEFDTD (integer)
Sets HTML_PARSE_NODEFDTD flag, which prevents a default doctype being added when one is not found.

Hinweis:

Only available in Libxml >= 2.7.8 (as of PHP >= 5.4.0)

LIBXML_NOBLANKS (integer)
Remove blank nodes
LIBXML_NOCDATA (integer)
Merge CDATA as text nodes
LIBXML_NOEMPTYTAG (integer)
Expand empty tags (e.g. <br/> to <br></br>)

Hinweis:

This option is currently just available in the DOMDocument::save and DOMDocument::saveXML functions.

LIBXML_NOENT (integer)
Substitute entities
LIBXML_NOERROR (integer)
Suppress error reports
LIBXML_NONET (integer)
Disable network access when loading documents
LIBXML_NOWARNING (integer)
Suppress warning reports
LIBXML_NOXMLDECL (integer)
Drop the XML declaration when saving a document

Hinweis:

Only available in Libxml >= 2.6.21

LIBXML_NSCLEAN (integer)
Remove redundant namespace declarations
LIBXML_PARSEHUGE (integer)
Sets XML_PARSE_HUGE flag, which relaxes any hardcoded limit from the parser. This affects limits like maximum depth of a document or the entity recursion, as well as limits of the size of text nodes.

Hinweis:

Only available in Libxml >= 2.7.0 (as of PHP >= 5.3.2 and PHP >= 5.2.12)

LIBXML_PEDANTIC (integer)
Sets XML_PARSE_PEDANTIC flag, which enables pedantic error reporting.

Hinweis:

Available as of PHP >= 5.4.0

LIBXML_XINCLUDE (integer)
Implement XInclude substitution
LIBXML_ERR_ERROR (integer)
A recoverable error
LIBXML_ERR_FATAL (integer)
A fatal error
LIBXML_ERR_NONE (integer)
No errors
LIBXML_ERR_WARNING (integer)
A simple warning
LIBXML_VERSION (integer)
libxml version like 20605 or 20617
LIBXML_DOTTED_VERSION (string)
libxml version like 2.6.5 or 2.6.17
LIBXML_SCHEMA_CREATE (integer)
Create default/fixed value nodes during XSD schema validation

Hinweis:

Only available in Libxml >= 2.6.14 (as of PHP >= 5.5.2)

Ressource-Typen
libXMLError
libxml


The libXMLError class

(PHP 5 >= 5.1.0, PHP 7)

Einführung

Contains various information about errors thrown by libxml. The error codes are described within the official » xmlError API documentation.

Klassenbeschreibung

libXMLError {
/* Eigenschaften */
public int $level ;
public int $code ;
public int $column ;
public string $message ;
public string $file ;
public int $line ;
}

Eigenschaften

level

the severity of the error (one of the following constants: LIBXML_ERR_WARNING, LIBXML_ERR_ERROR or LIBXML_ERR_FATAL)

code

The error's code.

column

The column where the error occurred.

Hinweis:

This property isn't entirely implemented in libxml and therefore 0 is often returned.

message

The error message, if any.

file

The filename, or empty if the XML was loaded from a string.

line

The line where the error occurred.

Vordefinierte Konstanten
libxml Funktionen
libxml


libxml Funktionen

Inhaltsverzeichnis

  • libxml_clear_errors — Clear libxml error buffer
  • libxml_disable_entity_loader — Disable the ability to load external entities
  • libxml_get_errors — Retrieve array of errors
  • libxml_get_last_error — Retrieve last error from libxml
  • libxml_set_external_entity_loader — Changes the default external entity loader
  • libxml_set_streams_context — Set the streams context for the next libxml document load or write
  • libxml_use_internal_errors — Disable libxml errors and allow user to fetch error information as needed
libXMLError
libxml_clear_errors
libxml


Clear libxml error buffer

libxml Funktionen
libxml_disable_entity_loader
libxml Funktionen
PHP Manual

libxml_clear_errors

(PHP 5 >= 5.1.0, PHP 7)

libxml_clear_errors — Clear libxml error buffer

Beschreibung

void libxml_clear_errors ( void )

libxml_clear_errors() clears the libxml error buffer.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

  • libxml_get_errors() - Retrieve array of errors
  • libxml_get_last_error() - Retrieve last error from libxml

libxml Funktionen
libxml_disable_entity_loader
libxml Funktionen


Disable the ability to load external entities

libxml_clear_errors
libxml_get_errors
libxml Funktionen
PHP Manual

libxml_disable_entity_loader

(PHP 5 >= 5.2.11, PHP 7)

libxml_disable_entity_loader — Disable the ability to load external entities

Beschreibung

bool libxml_disable_entity_loader ([ bool $disable = true ] )

Disable/enable the ability to load external entities.

Parameter-Liste

disable

Disable (TRUE) or enable (FALSE) libxml extensions (such as DOM, XMLWriter and XMLReader) to load external entities.

Rückgabewerte

Returns the previous value.

Siehe auch

  • libxml_use_internal_errors() - Disable libxml errors and allow user to fetch error information as needed
  • The LIBXML_NONET constant

libxml_clear_errors
libxml_get_errors
libxml Funktionen


Retrieve array of errors

libxml_disable_entity_loader
libxml_get_last_error
libxml Funktionen
PHP Manual

libxml_get_errors

(PHP 5 >= 5.1.0, PHP 7)

libxml_get_errors — Retrieve array of errors

Beschreibung

array libxml_get_errors ( void )

Retrieve array of errors.

Rückgabewerte

Returns an array with LibXMLError objects if there are any errors in the buffer, or an empty array otherwise.

Beispiele

Beispiel #1 A libxml_get_errors() example

This example demonstrates how to build a simple libxml error handler.

<?php

libxml_use_internal_errors(true);

$xmlstr = <<< XML
<?xml version='1.0' standalone='yes'?>
<movies>
 <movie>
  <titles>PHP: Behind the Parser</title>
 </movie>
</movies>
XML;

$doc = simplexml_load_string($xmlstr);
$xml = explode("\n", $xmlstr);

if ($doc === false) {
    $errors = libxml_get_errors();

    foreach ($errors as $error) {
        echo display_xml_error($error, $xml);
    }

    libxml_clear_errors();
}

function display_xml_error($error, $xml)
{
    $return  = $xml[$error->line - 1] . "\n";
    $return .= str_repeat('-', $error->column) . "^\n";

    switch ($error->level) {
        case LIBXML_ERR_WARNING:
            $return .= "Warning $error->code: ";
            break;
         case LIBXML_ERR_ERROR:
            $return .= "Error $error->code: ";
            break;
        case LIBXML_ERR_FATAL:
            $return .= "Fatal Error $error->code: ";
            break;
    }

    $return .= trim($error->message) .
               "\n  Line: $error->line" .
               "\n  Column: $error->column";

    if ($error->file) {
        $return .= "\n  File: $error->file";
    }

    return "$return\n\n--------------------------------------------\n\n";
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

  <titles>PHP: Behind the Parser</title>
----------------------------------------------^
Fatal Error 76: Opening and ending tag mismatch: titles line 4 and title
  Line: 4
  Column: 46

--------------------------------------------

Siehe auch

  • libxml_get_last_error() - Retrieve last error from libxml
  • libxml_clear_errors() - Clear libxml error buffer

libxml_disable_entity_loader
libxml_get_last_error
libxml Funktionen


Retrieve last error from libxml

libxml_get_errors
libxml_set_external_entity_loader
libxml Funktionen
PHP Manual

libxml_get_last_error

(PHP 5 >= 5.1.0, PHP 7)

libxml_get_last_error — Retrieve last error from libxml

Beschreibung

LibXMLError libxml_get_last_error ( void )

Retrieve last error from libxml.

Rückgabewerte

Returns a LibXMLError object if there is any error in the buffer, FALSE otherwise.

Siehe auch

  • libxml_get_errors() - Retrieve array of errors
  • libxml_clear_errors() - Clear libxml error buffer

libxml_get_errors
libxml_set_external_entity_loader
libxml Funktionen


Changes the default external entity loader

libxml_get_last_error
libxml_set_streams_context
libxml Funktionen
PHP Manual

libxml_set_external_entity_loader

(PHP 5 >= 5.4.0, PHP 7)

libxml_set_external_entity_loader — Changes the default external entity loader

Beschreibung

void libxml_set_external_entity_loader ( callable $resolver_function )

Changes the default external entity loader.

Parameter-Liste

resolver_function

A callable that takes three arguments. Two strings, a public id and system id, and a context (an array with four keys) as the third argument. This callback should return a resource, a string from which a resource can be opened, or NULL.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 libxml_set_external_entity_loader() example

<?php
$xml = <<<XML
<!DOCTYPE foo PUBLIC "-//FOO/BAR" "http://example.com/foobar">
<foo>bar</foo>
XML;

$dtd = <<<DTD
<!ELEMENT foo (#PCDATA)>
DTD;

libxml_set_external_entity_loader(
    function ($public, $system, $context) use($dtd) {
        var_dump($public);
        var_dump($system);
        var_dump($context);
        $f = fopen("php://temp", "r+");
        fwrite($f, $dtd);
        rewind($f);
        return $f;
    }
);

$dd = new DOMDocument;
$r  = $dd->loadXML($xml);

var_dump($dd->validate());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(10) "-//FOO/BAR"
string(25) "http://example.com/foobar"
array(4) {
    ["directory"]    => NULL
    ["intSubName"]   => NULL
    ["extSubURI"]    => NULL
    ["extSubSystem"] => NULL
}
bool(true)

Siehe auch

  • libxml_disable_entity_loader() - Disable the ability to load external entities

libxml_get_last_error
libxml_set_streams_context
libxml Funktionen


Set the streams context for the next libxml document load or write

libxml_set_external_entity_loader
libxml_use_internal_errors
libxml Funktionen
PHP Manual

libxml_set_streams_context

(PHP 5, PHP 7)

libxml_set_streams_context — Set the streams context for the next libxml document load or write

Beschreibung

void libxml_set_streams_context ( resource $streams_context )

Sets the streams context for the next libxml document load or write.

Parameter-Liste

streams_context

The stream context resource (created with stream_context_create())

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 A libxml_set_streams_context() example

<?php

$opts = array(
    'http' => array(
        'user_agent' => 'PHP libxml agent',
    )
);

$context = stream_context_create($opts);
libxml_set_streams_context($context);

// request a file through HTTP
$doc = DOMDocument::load('http://www.example.com/file.xml');

?>

Siehe auch

  • stream_context_create() - Creates a stream context

libxml_set_external_entity_loader
libxml_use_internal_errors
libxml Funktionen


Disable libxml errors and allow user to fetch error information as needed

libxml_set_streams_context
SDO
libxml Funktionen
PHP Manual

libxml_use_internal_errors

(PHP 5 >= 5.1.0, PHP 7)

libxml_use_internal_errors — Disable libxml errors and allow user to fetch error information as needed

Beschreibung

bool libxml_use_internal_errors ([ bool $use_errors = false ] )

libxml_use_internal_errors() allows you to disable standard libxml errors and enable user error handling.

Parameter-Liste

use_errors

Enable (TRUE) user error handling or disable (FALSE) user error handling. Disabling will also clear any existing libxml errors.

Rückgabewerte

This function returns the previous value of use_errors.

Beispiele

Beispiel #1 A libxml_use_internal_errors() example

This example demonstrates the basic usage of libxml errors and the value returned by this function.

<?php

// enable user error handling
var_dump(libxml_use_internal_errors(true));

// load the document
$doc = new DOMDocument;

if (!$doc->load('file.xml')) {
    foreach (libxml_get_errors() as $error) {
        // handle errors here
    }

    libxml_clear_errors();
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)

Siehe auch

  • libxml_clear_errors() - Clear libxml error buffer
  • libxml_get_errors() - Retrieve array of errors

libxml_set_streams_context
SDO
libxml Funktionen


Service Data Objects

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Limitations
  • Beispiele
    • Basic usage
    • Setting and Getting Property Values
    • Working with Sequenced Data Objects
    • Reflecting on Service Data Objects
  • SDO Funktionen
    • SDO_DAS_ChangeSummary::beginLogging — Begin change logging
    • SDO_DAS_ChangeSummary::endLogging — End change logging
    • SDO_DAS_ChangeSummary::getChangeType — Get the type of change made to an SDO_DataObject
    • SDO_DAS_ChangeSummary::getChangedDataObjects — Get the changed data objects from a change summary
    • SDO_DAS_ChangeSummary::getOldContainer — Get the old container for a deleted SDO_DataObject
    • SDO_DAS_ChangeSummary::getOldValues — Get the old values for a given changed SDO_DataObject
    • SDO_DAS_ChangeSummary::isLogging — Test to see whether change logging is switched on
    • SDO_DAS_DataFactory::addPropertyToType — Adds a property to a type
    • SDO_DAS_DataFactory::addType — Add a new type to a model
    • SDO_DAS_DataFactory::getDataFactory — Get a data factory instance
    • SDO_DAS_DataObject::getChangeSummary — Get a data object's change summary
    • SDO_DAS_Setting::getListIndex — Get the list index for a changed many-valued property
    • SDO_DAS_Setting::getPropertyIndex — Get the property index for a changed property
    • SDO_DAS_Setting::getPropertyName — Get the property name for a changed property
    • SDO_DAS_Setting::getValue — Get the old value for the changed property
    • SDO_DAS_Setting::isSet — Test whether a property was set prior to being modified
    • SDO_DataFactory::create — Create an SDO_DataObject
    • SDO_DataObject::clear — Clear an SDO_DataObject's properties
    • SDO_DataObject::createDataObject — Create a child SDO_DataObject
    • SDO_DataObject::getContainer — Get a data object's container
    • SDO_DataObject::getSequence — Get the sequence for a data object
    • SDO_DataObject::getTypeName — Return the name of the type for a data object.
    • SDO_DataObject::getTypeNamespaceURI — Return the namespace URI of the type for a data object.
    • SDO_Exception::getCause — Get the cause of the exception.
    • SDO_List::insert — Insert into a list
    • SDO_Model_Property::getContainingType — Get the SDO_Model_Type which contains this property
    • SDO_Model_Property::getDefault — Get the default value for the property
    • SDO_Model_Property::getName — Get the name of the SDO_Model_Property
    • SDO_Model_Property::getType — Get the SDO_Model_Type of the property
    • SDO_Model_Property::isContainment — Test to see if the property defines a containment relationship
    • SDO_Model_Property::isMany — Test to see if the property is many-valued
    • SDO_Model_ReflectionDataObject::__construct — Construct an SDO_Model_ReflectionDataObject
    • SDO_Model_ReflectionDataObject::export — Get a string describing the SDO_DataObject.
    • SDO_Model_ReflectionDataObject::getContainmentProperty — Get the property which defines the containment relationship to the data object
    • SDO_Model_ReflectionDataObject::getInstanceProperties — Get the instance properties of the SDO_DataObject
    • SDO_Model_ReflectionDataObject::getType — Get the SDO_Model_Type for the SDO_DataObject
    • SDO_Model_Type::getBaseType — Get the base type for this type
    • SDO_Model_Type::getName — Get the name of the type
    • SDO_Model_Type::getNamespaceURI — Get the namespace URI of the type
    • SDO_Model_Type::getProperties — Get the SDO_Model_Property objects defined for the type
    • SDO_Model_Type::getProperty — Get an SDO_Model_Property of the type
    • SDO_Model_Type::isAbstractType — Test to see if this SDO_Model_Type is an abstract data type
    • SDO_Model_Type::isDataType — Test to see if this SDO_Model_Type is a primitive data type
    • SDO_Model_Type::isInstance — Test for an SDO_DataObject being an instance of this SDO_Model_Type
    • SDO_Model_Type::isOpenType — Test to see if this type is an open type
    • SDO_Model_Type::isSequencedType — Test to see if this is a sequenced type
    • SDO_Sequence::getProperty — Return the property for the specified sequence index.
    • SDO_Sequence::insert — Insert into a sequence
    • SDO_Sequence::move — Move an item to another sequence position
libxml_use_internal_errors
Einführung
XML-Manipulation


Einführung

Service Data Objects (SDOs) enable PHP applications to work with data from different sources (like a database query, an XML file, and a spreadsheet) using a single interface.

Each different kind of data source requires a Data Access Service (DAS) to provide access to the data in the data source. In your PHP application, you use a DAS to create an SDO instance that represents some data in the data source. You can then set and get values in the SDO instance using the standard SDO interface. Finally, you use a DAS to write the modified data back to a data source, typically the same one.

See the list of Data Access Services for details on those currently available. In addition to the provided DASs, SDO also provides interfaces to enable others to be implemented (see the section on SDO Data Access Services Interface for more details).

This extension is derived from concepts taken from the » Service Data Objects specification. It includes a version of the » Apache Tuscany SDO for C++ project.

The Structure of a Service Data Object

A Service Data Object instance is made up of a tree of data objects. The tree is defined by containment relationships between the data objects. For example, a Company data object might consist of a number of Department data objects and therefore the Company would have a containment relationship to the Departments.

An SDO may also have non-containment references between data objects in the tree. For example, one Employee data object might reference another Employee to identify a career mentor.

As well as data objects referencing each other, they can also have primitive properties. For example, the Company data object might have a property called "name" of type string, for holding the name of the company (for example, "Acme").

Each of these properties of a data object - containment relationships, non-containment references, or primitive properties - may be many-valued or single-valued. In the above examples, Departments is many-valued and the Company name is single-valued.

In PHP, each SDO data object is represented as a PHP object. The properties of the data object can be accessed using either object syntax or associative array syntax. We'll see some examples of this later.

SDO
Installation/Konfiguration
SDO


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
SDO


Anforderungen

The SDO extension requires PHP 5.1.0 or higher. It also requires the libxml2 library. Normally libxml2 will already be installed, but if not, it can be downloaded from » http://www.xmlsoft.org/.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/sca_sdo.

Hinweis:

Earlier versions of the SDO extension required a separate shared library for the XML DAS. This is now obsolete and any references to php_sdo_das_xml.dll or sdo_das_xml.so should be removed from your php.ini.

Unix systems

  1. The three SDO components - the SDO core, the XML DAS and the Relational DAS - are packaged together with Service Component Architecture (SCA) into one PECL project, SCA_SDO, so you can download SCA and all three parts of SDO with the command:

    pecl install SCA_SDO

    This command will build the SDO shared library as well as installing the PHP files that make up SCA and the SDO Relational DAS.

    If you want to use the latest beta version, then instead run:

    pecl install SCA_SDO-beta

  2. The pecl command automatically installs the SDO module into your PHP extensions directory. To enable the SDO extension you must add the following line to php.ini:

    extension=sdo.so

    For more information about building PECL packages, consult the PECL installation section of the manual.

Building SDO on Linux

This section describes how to build the SDO core and XML DAS on Linux. You would only need to know how to do this if you wish to build a recent version that you have checked out of SVN.

  1. Change to the main extension directory: cd < wherever your sdo code is >

  2. Run phpize, which will set up the environment to compile SDO.

  3. Next, run ./configure; make; make install. Please note, you may need to login as root to install the extension.

  4. Make sure that the module is loaded by PHP, by adding extension=sdo.so to your php.ini file.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

SDO_DAS_ChangeSummary::NONE=0 (integer)
Represents a change type of 'none'.
SDO_DAS_ChangeSummary::MODIFICATION=1 (integer)
Represents a change type of 'modification'.
SDO_DAS_ChangeSummary::ADDITION=2 (integer)
Represents a change type of 'addition'.
SDO_DAS_ChangeSummary::DELETION=3 (integer)
Represents a change type of 'deletion'.
Ressource-Typen
Limitations
SDO


Limitations

Implementation Limitations

The following are limitations in the current SDO implementation:

  1. There is no support for multi-byte character sets. This will be considered, depending on community requirements, in a Unicode-enabled version of PHP.

SDO Limitations

The following SDO 2.0 concepts are not supported in the current PHP implementation. It is not necessarily the case that these will all be added over time. Their inclusion will depend on community requirements.

  1. Bi-directional relationships.

  2. Type and property alias names.

  3. Read-only properties.

  4. The Helper classes defined in SDO 2.0 are not directly implemented. However equivalent function is provided in a more natural way for PHP. For example the function of CopyHelper::copy() is provided by applying the PHP clone keyword to a data object.

Vordefinierte Konstanten
Beispiele
SDO


Beispiele

Inhaltsverzeichnis

  • Basic usage
  • Setting and Getting Property Values
  • Working with Sequenced Data Objects
  • Reflecting on Service Data Objects
Limitations
Basic usage
SDO


Basic usage

The examples below assume an SDO created with the schema and instance information shown below, using the XML Data Access Service.

The instance document below describes a single company, called 'MegaCorp', which contains a single department, called 'Advanced Technologies'. The Advanced Technologies department contains three employees. The company employeeOfTheMonth is referencing the second employee, 'Jane Doe'.

<?xml version="1.0" encoding="UTF-8" ?>
<company xmlns="companyNS" name="MegaCorp"
  employeeOfTheMonth="E0003">
  <departments name="Advanced Technologies" location="NY" number="123">
    <employees name="John Jones" SN="E0001"/>
    <employees name="Jane Doe" SN="E0003"/>
    <employees name="Al Smith" SN="E0004" manager="true"/>
  </departments>
</company>

The root element of the schema is a company. The company contains departments, and each department contains employees. Each element has a number of attributes to store things like name, serial number, and so on. Finally, the company also has an IDREF attribute which identifies one of the employees as the 'employeeOfTheMonth'.

<xsd:schema
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:sdo="commonj.sdo"
  xmlns:sdoxml="commonj.sdo/xml"
  xmlns:company="companyNS"
  targetNamespace="companyNS">
  <xsd:element name="company" type="company:CompanyType"/>
  <xsd:complexType name="CompanyType">
    <xsd:sequence>
      <xsd:element name="departments" type="company:DepartmentType"
        maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attribute name="name" type="xsd:string"/>
    <xsd:attribute name="employeeOfTheMonth" type="xsd:IDREF"
      sdoxml:propertyType="company:EmployeeType"/>
  </xsd:complexType>
  <xsd:complexType name="DepartmentType">
    <xsd:sequence>
      <xsd:element name="employees" type="company:EmployeeType"
        maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attribute name="name" type="xsd:string"/>
    <xsd:attribute name="location" type="xsd:string"/>
    <xsd:attribute name="number" type="xsd:int"/>
  </xsd:complexType>
  <xsd:complexType name="EmployeeType">
    <xsd:attribute name="name" type="xsd:string"/>
    <xsd:attribute name="SN" type="xsd:ID"/>
    <xsd:attribute name="manager" type="xsd:boolean"/>
  </xsd:complexType>
</xsd:schema>

The XML Data Access Service maps the schema to an SDO. Attributes such as "name" become primitive properties, the sequence of employees becomes a many-valued containment relationship, and so on. Note that the containment relationships are expressed as one complex type within another, whereas non-containment references are expressed in terms of ID and IDREF, with a special sdoxml:propertyType attribute specifying the type of the non-containment reference.

Beispiele
Setting and Getting Property Values
Beispiele


Setting and Getting Property Values

The following examples assume $company is the root of a tree of data objects created from the schema and instance document shown above.

Beispiel #1 Access via property name

Data object properties can be accessed using the object property access syntax. The following sets the company name to 'Acme'.

<?php
$company->name = 'Acme';
?>

Beispiel #2 Access via property name as array index

We can also access properties using associative array syntax. The simplest form of this uses the property name as the array index. For example, the following sets the company name and gets the employeeOfTheMonth.

<?php
$company['name'] = 'UltraCorp';
$eotm = $company['employeeOfTheMonth'];
?>

Beispiel #3 Data Object iteration

We can iterate over the properties of a data object using foreach. The following iterates over the properties of the employee of the month.

<?php
  $eotm = $company->employeeOfTheMonth;
  foreach ($eotm as $name => $value) {
      echo "$name: $value\n";
  }
?>

which will output:

name: Jane Doe
SN: E0003

The 'manager' property is not output, because it has not been set.

Beispiel #4 Access many-valued property by name

Many-valued data object properties can also be accessed using the object property name syntax. The following gets the list of departments.

<?php
$departments = $company->departments;
?>

Beispiel #5 Many-valued element access

We can access individual elements of many-valued properties using array syntax. The following accesses the first department in the company.

<?php
$ad_tech_dept = $company->departments[0];
?>

Beispiel #6 Many-valued property iteration

Many-valued properties can also be iterated over using foreach. The following iterates over the company's departments.

<?php
  foreach ($company->departments as $department) {
    // ...
  }
?>

Each iteration will assign the next department in the list to the variable $department.

Beispiel #7 Chained property access

We can chain property references on a single line. The following sets and gets the name of the first department.

<?php
  $company->departments[0]->name = 'Emerging Technologies';
  $dept_name = $company->departments[0]->name;
?>

Using the associative array syntax, this is equivalent to

<?php
  $company['departments'][0]['name'] = 'Emerging Technologies';
  $dept_name = $company['departments'][0]['name'];
?>

In either case, the dept_name variable is set to 'Emerging Technologies'.

Beispiel #8 XPath navigation

The associative array index can be an XPath-like expression. Valid expressions are defined by an augmented sub-set of XPath.

Two forms of indexing into many-valued properties are supported. The first is the standard XPath array syntax with the indexing starting at one, the second is an SDO extension to XPath with an index starting at zero. The standard syntax is:

<?php
  $jane_doe = $company["departments[1]/employees[2]"];
?>

and the SDO XPath extension syntax is:

<?php
  $jane_doe = $company["departments.0/employees.1"];
?>

Both these examples get the second employee from the first department.

Beispiel #9 XPath querying

We can use XPath to query and identify parts of a data object based on instance data. The following retrieves the manager from the 'Advanced Technologies' department.

<?php
 $ad_tech_mgr =
  $company["departments[name='Advanced Technologies']/employees[manager=true]"];
?>

Beispiel #10 Creating child data objects

A data object can be a factory for its child data objects. A child data object is automatically part of the data graph. The following add a new employee to the 'Advanced Technologies' department.

<?php
  $ad_tech_dept = $company["departments[name='Advanced Technologies']"];
  $new_hire = $ad_tech_dept->createDataObject('employees');
  $new_hire->name = 'John Johnson';
  $new_hire->SN = 'E0005';
  $new_hire->manager = false;
?>

Beispiel #11 Unset a primitive property

We can use the isset() and unset() functions to test and remove items from the data object.

The following clears the name of the first department.

<?php
  unset($company->departments[0]->name);
?>

Beispiel #12 Unset a data object

unset can also be used to remove a data object from the tree. The following example shows John Jones leaving the company.

<?php
  unset($company->departments[0]->employees[0]);
?>

Beispiel #13 Unset a referenced data object

The following removes the 'employeeOfTheMonth' from the company. If this were a containment relationship then the employee would be removed from the company (probably not a good idea to sack your best employee each month!), but since this is a non-containment reference, the employee being referenced will remain in the department in the company, but will no longer be accessible via the employeeOfTheMonth property.

<?php
  if (isset($company->employeeOfTheMonth)) {
    unset($company->employeeOfTheMonth);
  }
?>

Beispiel #14 Access via property index

Data object properties can be accessed via their property index using array syntax. The property index is the position at which the property's definition appears in the model (in this case the xml schema). We can see from the schema listing above that the company name attribute is the second company property (the SDO interface makes no distinction between XML attributes and elements). The following sets the company name to 'Acme', with the same result as Access via property name

<?php
  $company[1] = 'Acme';
?>

Using the index directly in this way is likely to be fragile. Normally the property name syntax should be preferred, but the property index may be required in special cases.

Basic usage
Working with Sequenced Data Objects
Beispiele


Working with Sequenced Data Objects

Sequenced data objects are SDOs which can track property ordering across the properties of a data object. They can also contain unstructured text elements (text element which do not belong to any of the SDO's properties). Sequenced data objects are useful for working with XML documents which allow unstructured text (i.e. mixed=true) or if the elements can be interleaved (

<A/><B/><A/>
). This can occur for example when the schema defines maxOccurs>1 on a element which is a complexType with a choice order indicator.

The examples below assume an SDO created with the following schema and instance information, using the XML Data Access Service.

The schema below describes the format of a letter. The letter can optionally contain three properties; date, firstName, and lastName. The schema states mixed="true" which means that unstructured text can be interspersed between the three properties.

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:letter="http://letterSchema"
  targetNamespace="http://letterSchema">
  <xsd:element name="letters" type="letter:FormLetter"/>
  <xsd:complexType name="FormLetter" mixed="true">
    <xsd:sequence>
      <xsd:element name="date" minOccurs="0" type="xsd:string"/>
      <xsd:element name="firstName" minOccurs="0" type="xsd:string"/>
      <xsd:element name="lastName" minOccurs="0" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:schema>

The following is an instance letter document. It contains the three letter properties; date, firstName and lastName, and has unstructured text elements for the address and letter body.

<letter:letters xmlns:letter="http://letterSchema">
  <date>March 1, 2005</date>
  Mutual of Omaha
  Wild Kingdom, USA
  Dear
  <firstName>Casy</firstName>
  <lastName>Crocodile</lastName>
  Please buy more shark repellent.
  Your premium is past due.
</letter:letters>

When loaded, the letter data object will have the sequence and property indices shown in the table below:

Sequence Index | Property Index:Name | Value
0 | 0:date | March 1, 2005
1 | - | Mutual of Omaha
2 | - | Wild Kingdom, USA
3 | - | Dear
4 | 1:firstName | Casy
5 | 2:lastName | Crocodile
6 | - | Please buy more shark repellent.
7 | - | Your premium is past due.

To ensure sequence indices are maintained, sequenced data objects should be manipulated through the SDO_Sequence interface. This allows the data object's instance data to be manipulated in terms of the sequence index as opposed to the property index (shown in the table above). The following examples assume the letter instance has been loaded into a data object referenced by the variable $letter.

Beispiel #1 Getting the SDO_Sequence interface

We obtain a data object's sequence using the getSequence() method. The follow gets the sequence for the letter data object.

<?php
  $letter_seq = $letter->getSequence();
?>

All subsequent examples assume that the $letter_seq variable has been assigned the sequence for the letter data object.

Beispiel #2 Get/set sequence values

We can get and set individual values (including unstructured text) using the sequence index. The following sets the firstName to 'Snappy' and gets the last sequence values (the unstructured text, 'Your premium is past due.').

<?php
  $letter_seq[4] = 'Snappy';
  $text = $letter_seq[count($letter_seq) - 1];
?>

Beispiel #3 Sequence iteration

We can iterate through the individual sequence values using foreach. The following runs through the individual values in sequence order.

<?php
foreach ($letter->getSequence() as $value) {
    // ...
}
?>

Beispiel #4 Sequence versus Data Object

Setting values through the data object interface may result in the value not being part of the sequence. A value set through the data object will only be accessible through the sequence if the property was already part of the sequence. The following example sets the lastName through the data object and gets it through the sequence. This is fine because lastName already exists in the sequence. If it had not previously been set, then lastName would be set to 'Smith', but would not be part of the sequence.

<?php
  $letter[2] = 'Smith';
  $last_name = $letter_seq[5];
?>

Beispiel #5 Adding to a sequence

We can add new values to a sequence using the SDO_Sequence::insert() method. The following examples assume that the 'firstName' and 'lastName' properties are initially unset.

<?php
  // Append a firstName value to the sequence
  // value: 'Smith'
  // sequence index: NULL (append)
  // propertyIdentifier: 1 (firtName property index)
  $letter_seq->insert('Smith', NULL, 1);

  // Append a lastName value to the sequence
  // value: 'Jones'
  // sequence index: NULL (append)
  // propertyIdentifier: 'lastName' (lastName property name)
  $letter_seq->insert('Jones', NULL, 'lastName');

  // Append unstructured text
  // value: 'Cancel Subscription.'
  // sequence index: absent (append)
  // propertyIdentifier: absent (unstructured text)
  $letter_seq->insert('Cancel Subscription.');

  // Insert new unstructured text.  Subsequent sequence values
  // are shifted up.
  // value: 'Care of:'
  // sequence index: 1 (insert as second element)
  // propertyIdentifier: absent (unstructured text)
  $letter_seq->insert('Care of:', 1);
?>

Beispiel #6 Removing from a sequence

We can use the isset() and unset() functions to test and remove items from the sequence (Note: unset() currently leaves the values in the data object, but this behaviour is likely to change to also remove the data from the data object). A sequence behaves like a contiguous list; therefore, removing items from the middle will shift entries at higher indices down. The following example tests to see if the first sequence element is set and unsets it if is.

<?php
  if (isset($letter_seq[0])) {
    unset($letter_seq[0]);
  }
?>

Setting and Getting Property Values
Reflecting on Service Data Objects
Beispiele


Reflecting on Service Data Objects

SDOs have a knowledge of the structure they have been created to represent (the model). For example, a Company SDO created using the Company XML schema above would only be permitted to contain DepartmentType data objects which in turn could only contain EmployeeType data objects.

Sometimes it is useful to be able to access this model information at runtime. For example, this could be used to automatically generate a user interface for populating a data object. The model information is accessed using reflection.

Beispiel #1 Reflecting on a Data Object

The following example shows how we can reflect on an empty Employee data object.

<?php
  // Create the employee data object (e.g. from an XML Data Access Service)
  $employee = ...;
  $reflection = new SDO_Model_ReflectionDataObject($employee);
  print($reflection);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(SDO_Model_ReflectionDataObject)#4 { - ROOT OBJECT - Type {
companyNS:EmployeeType[3] { commonj.sdo:String $name;
commonj.sdo:String $SN; commonj.sdo:Boolean $manager; } }

Using print on the SDO_Model_ReflectionDataObject writes out the data object's model. We can see from the output how the type companyNS:EmployeeType has three properties and we can see the names of the properties along with their types. Note, the primitive types are listed as SDO types (e.g. commonj.sdo namespace, String type). It is worth noting that this is the SDO model and when these are surfaced to an application they can be treated as the PHP equivalent types (e.g. string and boolean).

Beispiel #2 Accessing the type information

We can query the type information of a data object using reflection. The following example checks the type corresponds to a data object rather than a primitive and then iterates through the properties of the type, writing out the name of each property ($type and $property are SDO_Model_Type and SDO_Model_Property objects, respectively).

<?php
    // Create the employee data object (e.g. from an XML Data Access Service)
    $employee = ...;
    $reflection = new SDO_Model_ReflectionDataObject($employee);
    $type = $reflection->getType();
    if (! $type->isDataType()) {
        foreach ($type->getProperties() as $property) {
            print $property->getName() . "\n";
        }
    }
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

name
SN
manager

Working with Sequenced Data Objects
SDO Funktionen
Beispiele


SDO Funktionen

Data Access Services

The table below lists the currently provided SDO Data Access Services:

DAS Name | Description
SDO_DAS_XML | An XML Data Access Service supporting reading/writing SDOs as XML documents.
SDO_DAS_Relational | A PDO-based Data Access Service supporting reading/writing SDO to relational databases. Implements an optimistic concurrency policy for updates.

Vordefinierte Klassen

SDO consists of three sets of interfaces. The first set covers those interfaces for use by typical SDO applications. These are identified by the package prefix 'SDO_'. The second set is those used to reflect on, and work with, the model of a data object. These are identified by the package prefix 'SDO_Model_'. Finally, the third set are those use by Data Access Service implementations and are identified by the package prefix 'SDO_DAS_'. The majority of SDO users will not need to use or understand the 'SDO_Model_' and 'SDO_DAS_' interfaces.

SDO Application Programmer Interface

SDO_DataObject

The main interface through which data objects are manipulated. In addition to the methods below, SDO_DataObject extends the ArrayAccess, SDO_PropertyAccess (defines __get() / __set() methods for property access overloading), Iterator, and Countable interfaces.

Methoden

  • getSequence - get the sequence for the data object

  • createDataObject - create a child data object

  • clear - unset the properties of a data object

  • getContainer - get the container (also known as 'parent') of this data object

  • getTypeName - get the name of the type for this data object

  • getTypeNamespaceURI - get the namespace URI of the type for this data object

SDO_Sequence

The interface through which sequenced data objects can be accessed to preserve ordering across a data object's properties and to allow unstructured text. SDO_Sequence preserves contiguous indices and therefore inserting or removing elements may shift other elements up or down. In addition to the methods below, SDO_Sequence extends the ArrayAccess, Iterator and Countable interface.

Methoden

  • getProperty - get the property for a given sequence index

  • move - move an element from one property index to another

  • insert - insert a new value into the sequence

SDO_List

The interface through which many-valued properties are manipulated. In addition to the method defined below, SDO_List extends ArrayAccess, Iterator and Countable. SDO_List preserves contiguous indices and therefore inserting or removing elements may shift other elements up or down.

Methoden

  • insert - insert a new value into the list

SDO_DataFactory

The interface through which data objects can be created. A Data Access Service is responsible for populating the model (i.e. configuring the data factory with the type and structure information for the data objects it can create.) for the factory and can then optionally return an instance of, or implement, the SDO_DataFactory interface.

Methoden

  • create - create a new data object

SDO_Exception

An SDO_Exception is thrown when the caller's request cannot be completed. The subclasses of SDO_Exception are:

  • SDO_PropertyNotSetException - the property specified exists but has not been set or does not have a default value

  • SDO_PropertyNotFoundException - the property specified is not part of the data object's type

  • SDO_TypeNotFoundException - the specified namespace URI or type name is unknown

  • SDO_InvalidConversionException - conversion between the types of the assignment is not possible

  • SDO_IndexOutOfBoundsException - the numeric index into a data object, sequence or list is not in the valid range

  • SDO_UnsupportedOperationException - the request cannot be completed because it is not allowed, for example an attempt to set a read-only property.

Methoden

One method is added to those inherited from the built in Exception class:

  • getCause - get the cause of this SDO_Exception

SDO Reflection Application Programmer Interfaces

SDO_Model_ReflectionDataObject

The main interface used to reflect on a data object instance to obtain its model type and property information. It is designed to follow the reflection pattern introduced in PHP 5.

Konstruktor

  • __construct - construct a new SDO_Model_ReflectionDataObject.

Methoden

  • export - get a string describing the data object.

  • getType - get the SDO_Model_Type for the data object.

  • getInstanceProperties - get the instance properties of the data object.

  • getContainmentProperty - get the property which defines the containment relationship to the data object.

SDO_Model_Type

The interface through which a data object's type information can be retrieved. This interface can be used to find out the type name and namespace URI of the type, whether the type allow open content, and so on.

Methoden

  • getName - get the name of the type.

  • getNamespaceURI - get the namespace URI of the type.

  • isInstance - test for a data object being an instance of the type.

  • getProperties - get the properties of the type.

  • getProperty - get a property of the type.

  • isDataType - test to see if this type is a primitive scalar type.

  • isSequencedType - test to see if this is a sequenced type.

  • isOpenType - test to see if this is an open type.

  • isAbstractType - test to see if this is an abstract type.

  • getBaseType - get the base type of this type (if one exists).

SDO_Model_Property

The interface through which a data object's property information can be retrieved. This interface can be used to find out the type of a property, whether a property has a default value, whether the property is contained or reference by its parent, its cardinality, and so on.

Methoden

  • getName - get the name of the property.

  • getType - get the type of the property.

  • isMany - test to see if the property is many-valued.

  • isContainment - test to see if the property describes a containment relationship.

  • getContainingType - get the type which contains this property.

  • getDefault - get the default value for a property.

SDO Data Access Service Developer Interfaces

SDO_DAS_DataObject

The interface through which a Data Access Service can access a data object's SDO_DAS_ChangeSummary. The change summary is used by the Data Access Service to check for conflicts when applying changes back to a data source.

Methoden

  • getChangeSummary - get the change summary for a data object

SDO_DAS_ChangeSummary

The interface through which the change history of a data object is accessed. The change summary holds information for any modifications on a data object which occurred since logging was activated. In the case of deletions and modifications, the old values are also held in the change summary.

If logging is no longer active then the change summary only holds changes made up to the point when logging was deactivated. Reactivating logging clears the change summary. This is useful when a set of changes have been written out by a DAS and the data object is to be reused.

Methoden

  • beginLogging - begin logging changes made to a data object

  • endLogging - end logging changes made to a data object

  • isLogging - test to see if change logging is on

  • getChangedDataObjects - get a list of the data objects which have been changed

  • getChangeType - get the type of change which has been made to a data object

  • getOldValues - get a list of old values for a data object

  • getOldContainer - get the old container data object for a deleted data object

SDO_DAS_Setting

The interface through which the old value for a property is accessed. A list of settings is returned by the change summary method getOldValues.

Methoden

  • getPropertyIndex - get the property index for the changed property

  • getPropertyName - get the property name for the changed property

  • getValue - get the old value for the changed property

  • getListIndex - get the list index for the old value if it was part of a many-valued property

  • isSet - test to see if the property was set prior to being modified

SDO_DAS_DataFactory

The interface for constructing the model for an SDO_DataObject. The SDO_DAS_DataFactory is an abstract class providing a static method which returns a concrete data factory implementation. The implementation is used by Data Access Services to create an SDO model from their model. For example, a Relational Data Access Service might create and populate an SDO_DAS_DataFactory model based on a schema for a relational database.

Methoden

  • getDataFactory - static methods for getting a concrete data factory instance

  • addType - add a new type to the SDO model

  • addPropertyToType - add a new property to a type definition in the SDO model

Inhaltsverzeichnis

  • SDO_DAS_ChangeSummary::beginLogging — Begin change logging
  • SDO_DAS_ChangeSummary::endLogging — End change logging
  • SDO_DAS_ChangeSummary::getChangeType — Get the type of change made to an SDO_DataObject
  • SDO_DAS_ChangeSummary::getChangedDataObjects — Get the changed data objects from a change summary
  • SDO_DAS_ChangeSummary::getOldContainer — Get the old container for a deleted SDO_DataObject
  • SDO_DAS_ChangeSummary::getOldValues — Get the old values for a given changed SDO_DataObject
  • SDO_DAS_ChangeSummary::isLogging — Test to see whether change logging is switched on
  • SDO_DAS_DataFactory::addPropertyToType — Adds a property to a type
  • SDO_DAS_DataFactory::addType — Add a new type to a model
  • SDO_DAS_DataFactory::getDataFactory — Get a data factory instance
  • SDO_DAS_DataObject::getChangeSummary — Get a data object's change summary
  • SDO_DAS_Setting::getListIndex — Get the list index for a changed many-valued property
  • SDO_DAS_Setting::getPropertyIndex — Get the property index for a changed property
  • SDO_DAS_Setting::getPropertyName — Get the property name for a changed property
  • SDO_DAS_Setting::getValue — Get the old value for the changed property
  • SDO_DAS_Setting::isSet — Test whether a property was set prior to being modified
  • SDO_DataFactory::create — Create an SDO_DataObject
  • SDO_DataObject::clear — Clear an SDO_DataObject's properties
  • SDO_DataObject::createDataObject — Create a child SDO_DataObject
  • SDO_DataObject::getContainer — Get a data object's container
  • SDO_DataObject::getSequence — Get the sequence for a data object
  • SDO_DataObject::getTypeName — Return the name of the type for a data object.
  • SDO_DataObject::getTypeNamespaceURI — Return the namespace URI of the type for a data object.
  • SDO_Exception::getCause — Get the cause of the exception.
  • SDO_List::insert — Insert into a list
  • SDO_Model_Property::getContainingType — Get the SDO_Model_Type which contains this property
  • SDO_Model_Property::getDefault — Get the default value for the property
  • SDO_Model_Property::getName — Get the name of the SDO_Model_Property
  • SDO_Model_Property::getType — Get the SDO_Model_Type of the property
  • SDO_Model_Property::isContainment — Test to see if the property defines a containment relationship
  • SDO_Model_Property::isMany — Test to see if the property is many-valued
  • SDO_Model_ReflectionDataObject::__construct — Construct an SDO_Model_ReflectionDataObject
  • SDO_Model_ReflectionDataObject::export — Get a string describing the SDO_DataObject.
  • SDO_Model_ReflectionDataObject::getContainmentProperty — Get the property which defines the containment relationship to the data object
  • SDO_Model_ReflectionDataObject::getInstanceProperties — Get the instance properties of the SDO_DataObject
  • SDO_Model_ReflectionDataObject::getType — Get the SDO_Model_Type for the SDO_DataObject
  • SDO_Model_Type::getBaseType — Get the base type for this type
  • SDO_Model_Type::getName — Get the name of the type
  • SDO_Model_Type::getNamespaceURI — Get the namespace URI of the type
  • SDO_Model_Type::getProperties — Get the SDO_Model_Property objects defined for the type
  • SDO_Model_Type::getProperty — Get an SDO_Model_Property of the type
  • SDO_Model_Type::isAbstractType — Test to see if this SDO_Model_Type is an abstract data type
  • SDO_Model_Type::isDataType — Test to see if this SDO_Model_Type is a primitive data type
  • SDO_Model_Type::isInstance — Test for an SDO_DataObject being an instance of this SDO_Model_Type
  • SDO_Model_Type::isOpenType — Test to see if this type is an open type
  • SDO_Model_Type::isSequencedType — Test to see if this is a sequenced type
  • SDO_Sequence::getProperty — Return the property for the specified sequence index.
  • SDO_Sequence::insert — Insert into a sequence
  • SDO_Sequence::move — Move an item to another sequence position
Reflecting on Service Data Objects
SDO_DAS_ChangeSummary::beginLogging
SDO


Begin change logging

SDO Funktionen
SDO_DAS_ChangeSummary::endLogging
SDO Funktionen
PHP Manual

SDO_DAS_ChangeSummary::beginLogging

(^)

SDO_DAS_ChangeSummary::beginLogging — Begin change logging

Beschreibung

void SDO_DAS_ChangeSummary::beginLogging ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Begin logging changes made to the SDO_DataObject.

Parameter-Liste

None.

Rückgabewerte

None.

SDO Funktionen
SDO_DAS_ChangeSummary::endLogging
SDO Funktionen


End change logging

SDO_DAS_ChangeSummary::beginLogging
SDO_DAS_ChangeSummary::getChangeType
SDO Funktionen
PHP Manual

SDO_DAS_ChangeSummary::endLogging

(^)

SDO_DAS_ChangeSummary::endLogging — End change logging

Beschreibung

void SDO_DAS_ChangeSummary::endLogging ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

End logging changes made to an SDO_DataObject.

Parameter-Liste

None.

Rückgabewerte

None.

SDO_DAS_ChangeSummary::beginLogging
SDO_DAS_ChangeSummary::getChangeType
SDO Funktionen


Get the type of change made to an SDO_DataObject

SDO_DAS_ChangeSummary::endLogging
SDO_DAS_ChangeSummary::getChangedDataObjects
SDO Funktionen
PHP Manual

SDO_DAS_ChangeSummary::getChangeType

(^)

SDO_DAS_ChangeSummary::getChangeType — Get the type of change made to an SDO_DataObject

Beschreibung

int SDO_DAS_ChangeSummary::getChangeType ( SDO_DataObject $dataObject )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Get the type of change which has been made to the supplied SDO_DataObject.

Parameter-Liste

dataObject

The SDO_DataObject which has been changed.

Rückgabewerte

The type of change which has been made. The change type is expressed as an enumeration and will be one of the following four values:

  • SDO_DAS_ChangeSummary::NONE

  • SDO_DAS_ChangeSummary::MODIFICATION

  • SDO_DAS_ChangeSummary::ADDITION

  • SDO_DAS_ChangeSummary::DELETION

SDO_DAS_ChangeSummary::endLogging
SDO_DAS_ChangeSummary::getChangedDataObjects
SDO Funktionen


Get the changed data objects from a change summary

SDO_DAS_ChangeSummary::getChangeType
SDO_DAS_ChangeSummary::getOldContainer
SDO Funktionen
PHP Manual

SDO_DAS_ChangeSummary::getChangedDataObjects

(^)

SDO_DAS_ChangeSummary::getChangedDataObjects — Get the changed data objects from a change summary

Beschreibung

SDO_List SDO_DAS_ChangeSummary::getChangedDataObjects ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Get an SDO_List of the SDO_DataObjects which have been changed. These data objects can then be used to identify the types of change made to each, along with the old values.

Parameter-Liste

None.

Rückgabewerte

Returns an SDO_List of SDO_DataObjects.

SDO_DAS_ChangeSummary::getChangeType
SDO_DAS_ChangeSummary::getOldContainer
SDO Funktionen


Get the old container for a deleted SDO_DataObject

SDO_DAS_ChangeSummary::getChangedDataObjects
SDO_DAS_ChangeSummary::getOldValues
SDO Funktionen
PHP Manual

SDO_DAS_ChangeSummary::getOldContainer

(^)

SDO_DAS_ChangeSummary::getOldContainer — Get the old container for a deleted SDO_DataObject

Beschreibung

SDO_DataObject SDO_DAS_ChangeSummary::getOldContainer ( SDO_DataObject $data_object )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Get the old container (SDO_DataObject) for a deleted SDO_DataObject.

Parameter-Liste

data_object

The SDO_DataObject which has been deleted and whose container we wish to identify.

Rückgabewerte

The old containing data object of the deleted SDO_DataObject.

SDO_DAS_ChangeSummary::getChangedDataObjects
SDO_DAS_ChangeSummary::getOldValues
SDO Funktionen


Get the old values for a given changed SDO_DataObject

SDO_DAS_ChangeSummary::getOldContainer
SDO_DAS_ChangeSummary::isLogging
SDO Funktionen
PHP Manual

SDO_DAS_ChangeSummary::getOldValues

(^)

SDO_DAS_ChangeSummary::getOldValues — Get the old values for a given changed SDO_DataObject

Beschreibung

SDO_List SDO_DAS_ChangeSummary::getOldValues ( SDO_DataObject $data_object )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Get a list of the old values for a given changed SDO_DataObject. Returns a list of SDO_DAS_Settings describing the old values for the changed properties of the SDO_DataObject.

Parameter-Liste

data_object

The data object which has been changed.

Rückgabewerte

A list of SDO_DAS_Settings describing the old values for the changed properties of the SDO_DataObject. If the change type is SDO_DAS_ChangeSummary::ADDITION, this list is empty.

SDO_DAS_ChangeSummary::getOldContainer
SDO_DAS_ChangeSummary::isLogging
SDO Funktionen


Test to see whether change logging is switched on

SDO_DAS_ChangeSummary::getOldValues
SDO_DAS_DataFactory::addPropertyToType
SDO Funktionen
PHP Manual

SDO_DAS_ChangeSummary::isLogging

(^)

SDO_DAS_ChangeSummary::isLogging — Test to see whether change logging is switched on

Beschreibung

bool SDO_DAS_ChangeSummary::isLogging ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Test to see whether change logging is switched on.

Parameter-Liste

None.

Rückgabewerte

Returns TRUE if change logging is on, otherwise returns FALSE.

SDO_DAS_ChangeSummary::getOldValues
SDO_DAS_DataFactory::addPropertyToType
SDO Funktionen


Adds a property to a type

SDO_DAS_ChangeSummary::isLogging
SDO_DAS_DataFactory::addType
SDO Funktionen
PHP Manual

SDO_DAS_DataFactory::addPropertyToType

(^)

SDO_DAS_DataFactory::addPropertyToType — Adds a property to a type

Beschreibung

void SDO_DAS_DataFactory::addPropertyToType ( string $parent_type_namespace_uri , string $parent_type_name , string $property_name , string $type_namespace_uri , string $type_name [, array $options ] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Adds a property to a type. The type must already be known to the SDO_DAS_DataFactory (i.e. have been added using addType()). The property becomes a property of the type. This is how the graph model for the structure of an SDO_DataObject is built.

Parameter-Liste

parent_type_namespace_uri

The namespace URI for the parent type.

parent_type_name

The type name for the parent type.

property_name

The name by which the property will be known in the parent type.

type_namespace_uri

The namespace URI for the type of the property.

type_name

The type name for the type of the property

options

This array holds one or more key=>value pairs to set attribute values for the property. The optional keywords are:

many

A flag to say whether the property is many-valued. A value of 'true' adds the property as a many-valued property (default is 'false').

readOnly

A flag to say whether the property is read-only. A value of 'true' means the property value cannot be modified through the SDO application APIs (default is 'false').

containment

A flag to say whether the property is contained by the parent. A value of 'true' means the property is contained by the parent. A value of 'false' results in a non-containment reference (default is 'true'). This flag is only interpreted when adding properties which are data object types, otherwise it is ignored.

default

A default value for the property. Omitting this key means that the property does not have a default value. A property can only have a default value if it is a single-valued data type (primitive).

Rückgabewerte

None.

Changelog

Version | Beschreibung
0.5.2 | Optional parameters many, readOnly, and containment deprecated in favour of the options array.

Beispiele

Beispiel #1 A SDO_DAS_DataFactory::addPropertyToType() example

The following adds an 'addressline' property to a Person type. The person type is identified by its namespace, 'PersonNS', and type name, 'PersonType'. The type of the 'addressline' property is a many-valued SDO data type (primitive) with namespace 'commonj.sdo' and type name 'String'.

<?php
  $df->addPropertyToType('PersonNS', 'PersonType',
    'addressline', 'commonj.sdo', 'String', array('many'=>true));
?>

SDO_DAS_ChangeSummary::isLogging
SDO_DAS_DataFactory::addType
SDO Funktionen


Add a new type to a model

SDO_DAS_DataFactory::addPropertyToType
SDO_DAS_DataFactory::getDataFactory
SDO Funktionen
PHP Manual

SDO_DAS_DataFactory::addType

(^)

SDO_DAS_DataFactory::addType — Add a new type to a model

Beschreibung

void SDO_DAS_DataFactory::addType ( string $type_namespace_uri , string $type_name [, array $options ] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Add a new type to the SDO_DAS_DataFactory, defined by its namespace and type name. The type becomes part of the model of data objects that the data factory can create.

Parameter-Liste

type_namespace_uri

The namespace of the type.

type_name

The name of the type.

options

This array holds one or more key=>value pairs to set attribute values for the type. The optional keywords are:

open

A flag to say whether the type is open. An SDO_DataObject whose type is open can have properties added to them which are not described by the type. This capability is used to support working with XML documents whose schema support open content such as that described by an <xsd:any> element. The default value is 'false'.

sequenced

A flag to say whether the type is sequenced. Sequenced types can have the ordering across properties preserved and can contain unstructured text. The default value is 'false'. For more information on sequenced types see the section on Working with Sequenced Data Objects.

basetype

If specified, an array of namespace URI and type name strings for the type from which this type is derived. An example of the use of base types is when a type derived in an XML schema inherits from another type by using <extension base="...">.

Rückgabewerte

None.

Beispiele

Beispiel #1 A SDO_DAS_DataFactory::addType() example

The following adds a new data object type of 'CompanyType' where that type belongs to the namespace 'CompanyNS'.

<?php
  $df->addType('CompanyNS', 'CompanyType');
?>

SDO_DAS_DataFactory::addPropertyToType
SDO_DAS_DataFactory::getDataFactory
SDO Funktionen


Get a data factory instance

SDO_DAS_DataFactory::addType
SDO_DAS_DataObject::getChangeSummary
SDO Funktionen
PHP Manual

SDO_DAS_DataFactory::getDataFactory

(^)

SDO_DAS_DataFactory::getDataFactory — Get a data factory instance

Beschreibung

SDO_DAS_DataFactory SDO_DAS_DataFactory::getDataFactory ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Static method to get an instance of an SDO_DAS_DataFactory. This instance is initially only configured with the basic SDO types. A Data Access Service is responsible for populating the data factory model and then allowing PHP applications to create SDOs based on the model through the SDO_DataFactory interface. PHP applications should always obtain a data factory from a configured Data Access Service, not through this interface.

Parameter-Liste

None.

Rückgabewerte

Returns an SDO_DAS_DataFactory.

SDO_DAS_DataFactory::addType
SDO_DAS_DataObject::getChangeSummary
SDO Funktionen


Get a data object's change summary

SDO_DAS_DataFactory::getDataFactory
SDO_DAS_Setting::getListIndex
SDO Funktionen
PHP Manual

SDO_DAS_DataObject::getChangeSummary

(^)

SDO_DAS_DataObject::getChangeSummary — Get a data object's change summary

Beschreibung

SDO_DAS_ChangeSummary SDO_DAS_DataObject::getChangeSummary ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Get the SDO_DAS_ChangeSummary for an SDO_DAS_DataObject, or NULL if it does not have one.

Parameter-Liste

None.

Rückgabewerte

Returns the SDO_DAS_ChangeSummary for an SDO_DAS_DataObject, or NULL if it does not have one.

SDO_DAS_DataFactory::getDataFactory
SDO_DAS_Setting::getListIndex
SDO Funktionen


Get the list index for a changed many-valued property

SDO_DAS_DataObject::getChangeSummary
SDO_DAS_Setting::getPropertyIndex
SDO Funktionen
PHP Manual

SDO_DAS_Setting::getListIndex

(^)

SDO_DAS_Setting::getListIndex — Get the list index for a changed many-valued property

Beschreibung

int SDO_DAS_Setting::getListIndex ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Get the list index for a modification made to an element of a many-valued property. For example, if we modified the third element of a many-valued property we could obtain an SDO_DAS_Setting from the change summary corresponding to that modification. A call to getListIndex() on that setting would return the value 2 (lists are indexed from zero).

Parameter-Liste

None.

Rückgabewerte

The list index for the element of the many-valued property which has been changed.

SDO_DAS_DataObject::getChangeSummary
SDO_DAS_Setting::getPropertyIndex
SDO Funktionen


Get the property index for a changed property

SDO_DAS_Setting::getListIndex
SDO_DAS_Setting::getPropertyName
SDO Funktionen
PHP Manual

SDO_DAS_Setting::getPropertyIndex

(^)

SDO_DAS_Setting::getPropertyIndex — Get the property index for a changed property

Beschreibung

int SDO_DAS_Setting::getPropertyIndex ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Returns the property index for the changed property. This index identifies the property which was modified in data object.

Parameter-Liste

None.

Rückgabewerte

The property index for a changed property.

SDO_DAS_Setting::getListIndex
SDO_DAS_Setting::getPropertyName
SDO Funktionen


Get the property name for a changed property

SDO_DAS_Setting::getPropertyIndex
SDO_DAS_Setting::getValue
SDO Funktionen
PHP Manual

SDO_DAS_Setting::getPropertyName

(^)

SDO_DAS_Setting::getPropertyName — Get the property name for a changed property

Beschreibung

string SDO_DAS_Setting::getPropertyName ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Returns the property name for the changed property. This name identifies the property which was modified in data object.

Parameter-Liste

None.

Rückgabewerte

The property name for a changed property.

SDO_DAS_Setting::getPropertyIndex
SDO_DAS_Setting::getValue
SDO Funktionen


Get the old value for the changed property

SDO_DAS_Setting::getPropertyName
SDO_DAS_Setting::isSet
SDO Funktionen
PHP Manual

SDO_DAS_Setting::getValue

(^)

SDO_DAS_Setting::getValue — Get the old value for the changed property

Beschreibung

mixed SDO_DAS_Setting::getValue ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Returns the old value for the changed property. This can be used by a Data Access Service when writing updates to a data source. The DAS uses the old value to detect conflicts by comparing it with the current value in the data source. If they do not match, then the data source has been updated since the data object was originally populated, and therefore writing any new updates risks compromising the integrity of the data.

Parameter-Liste

None.

Rückgabewerte

Returns the old value of the changed property.

SDO_DAS_Setting::getPropertyName
SDO_DAS_Setting::isSet
SDO Funktionen


Test whether a property was set prior to being modified

SDO_DAS_Setting::getValue
SDO_DataFactory::create
SDO Funktionen
PHP Manual

SDO_DAS_Setting::isSet

(^)

SDO_DAS_Setting::isSet — Test whether a property was set prior to being modified

Beschreibung

bool SDO_DAS_Setting::isSet ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Test whether a property was set prior to being modified. If it was set prior to being modified then the SDO_DAS_Setting will also contain the old value.

Parameter-Liste

None.

Rückgabewerte

Returns TRUE if the property was set prior to being modified, otherwise returns FALSE.

SDO_DAS_Setting::getValue
SDO_DataFactory::create
SDO Funktionen


Create an SDO_DataObject

SDO_DAS_Setting::isSet
SDO_DataObject::clear
SDO Funktionen
PHP Manual

SDO_DataFactory::create

(^)

SDO_DataFactory::create — Create an SDO_DataObject

Beschreibung

void SDO_DataFactory::create ( string $type_namespace_uri , string $type_name )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Create a new SDO_DataObject given the data object's namespace URI and type name.

Parameter-Liste

type_namespace_uri

The namespace of the type.

type_name

The name of the type.

Rückgabewerte

Returns the newly created SDO_DataObject.

Fehler/Exceptions

SDO_TypeNotFoundException

Thrown if the namespaceURI and typeName do not correspond to a type known to this data factory.

SDO_DAS_Setting::isSet
SDO_DataObject::clear
SDO Funktionen


Clear an SDO_DataObject's properties

SDO_DataFactory::create
SDO_DataObject::createDataObject
SDO Funktionen
PHP Manual

SDO_DataObject::clear

(^)

SDO_DataObject::clear — Clear an SDO_DataObject's properties

Beschreibung

void SDO_DataObject::clear ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Clear an SDO_DataObject's properties. Read-only properties are unaffected. Subsequent calls to isset() for the data object will return FALSE.

Parameter-Liste

None.

Rückgabewerte

No return values.

SDO_DataFactory::create
SDO_DataObject::createDataObject
SDO Funktionen


Create a child SDO_DataObject

SDO_DataObject::clear
SDO_DataObject::getContainer
SDO Funktionen
PHP Manual

SDO_DataObject::createDataObject

(^)

SDO_DataObject::createDataObject — Create a child SDO_DataObject

Beschreibung

SDO_DataObject SDO_DataObject::createDataObject ( mixed $identifier )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Create a child SDO_DataObject of the default type for the property identified. The data object is automatically inserted into the tree and a reference to it is returned.

Parameter-Liste

identifier

Identifies the property for the data object type to be created. Can be either a property name (string), a property index (int), or an SDO_Model_Property.

Rückgabewerte

Returns the newly created SDO_DataObject.

Fehler/Exceptions

SDO_PropertyNotFoundException

Thrown if the identifier does not correspond to a property of the data object.

SDO_DataObject::clear
SDO_DataObject::getContainer
SDO Funktionen


Get a data object's container

SDO_DataObject::createDataObject
SDO_DataObject::getSequence
SDO Funktionen
PHP Manual

SDO_DataObject::getContainer

(^)

SDO_DataObject::getContainer — Get a data object's container

Beschreibung

SDO_DataObject SDO_DataObject::getContainer ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Get the data object which contains this data object.

Parameter-Liste

None.

Rückgabewerte

Returns the SDO_DataObject which contains this SDO_DataObject, or returns NULL if this is a root SDO_DataObject (i.e. it has no container).

SDO_DataObject::createDataObject
SDO_DataObject::getSequence
SDO Funktionen


Get the sequence for a data object

SDO_DataObject::getContainer
SDO_DataObject::getTypeName
SDO Funktionen
PHP Manual

SDO_DataObject::getSequence

(^)

SDO_DataObject::getSequence — Get the sequence for a data object

Beschreibung

SDO_Sequence SDO_DataObject::getSequence ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Return the SDO_Sequence for this SDO_DataObject. Accessing the SDO_DataObject through the SDO_Sequence interface acts on the same SDO_DataObject instance data, but preserves ordering across properties.

Parameter-Liste

None.

Rückgabewerte

The SDO_Sequence for this SDO_DataObject, or returns NULL if the SDO_DataObject is not of a type which can have a sequence.

SDO_DataObject::getContainer
SDO_DataObject::getTypeName
SDO Funktionen


Return the name of the type for a data object.

SDO_DataObject::getSequence
SDO_DataObject::getTypeNamespaceURI
SDO Funktionen
PHP Manual

SDO_DataObject::getTypeName

(^)

SDO_DataObject::getTypeName — Return the name of the type for a data object.

Beschreibung

string SDO_DataObject::getTypeName ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Return the name of the type for a data object. A convenience method corresponding to SDO_Model_ReflectionDataObject::getType().getName().

Parameter-Liste

None.

Rückgabewerte

The name of the type for the data object.

SDO_DataObject::getSequence
SDO_DataObject::getTypeNamespaceURI
SDO Funktionen


Return the namespace URI of the type for a data object.

SDO_DataObject::getTypeName
SDO_Exception::getCause
SDO Funktionen
PHP Manual

SDO_DataObject::getTypeNamespaceURI

(^)

SDO_DataObject::getTypeNamespaceURI — Return the namespace URI of the type for a data object.

Beschreibung

string SDO_DataObject::getTypeNamespaceURI ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Return the namespace URI of the type for a data object. A convenience method corresponding to SDO_Model_ReflectionDataObject::getType().getNamespaceURI().

Parameter-Liste

None.

Rückgabewerte

The namespace URI of the type for the data object.

SDO_DataObject::getTypeName
SDO_Exception::getCause
SDO Funktionen


Get the cause of the exception.

SDO_DataObject::getTypeNamespaceURI
SDO_List::insert
SDO Funktionen
PHP Manual

SDO_Exception::getCause

(^)

SDO_Exception::getCause — Get the cause of the exception.

Beschreibung

mixed SDO_Exception::getCause ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Returns the cause of this exception or NULL if the cause is nonexistent or unknown. Typically the cause will be an SDO_CPPException object, which may be used to obtain additional diagnostic information.

Parameter-Liste

None.

Rückgabewerte

Returns the cause of this exception or NULL if the cause is nonexistent or unknown.

SDO_DataObject::getTypeNamespaceURI
SDO_List::insert
SDO Funktionen


Insert into a list

SDO_Exception::getCause
SDO_Model_Property::getContainingType
SDO Funktionen
PHP Manual

SDO_List::insert

(^)

SDO_List::insert — Insert into a list

Beschreibung

void SDO_List::insert ( mixed $value [, int $index ] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Insert a new element at a specified position in the list. All subsequent list items are moved up.

Parameter-Liste

value

The new value to be inserted. This can be either a primitive or an SDO_DataObject.

index

The position at which to insert the new element. If this argument is not specified then the new value will be appended.

Rückgabewerte

None.

Fehler/Exceptions

SDO_IndexOutOfBoundsException

Thrown if the list index is less than zero or greater than the size of the list.

SDO_InvalidConversionException

Thrown if the type of the new value does not match the type for the list (e.g. the type of the many-valued property that the list represents).

SDO_Exception::getCause
SDO_Model_Property::getContainingType
SDO Funktionen


Get the SDO_Model_Type which contains this property

SDO_List::insert
SDO_Model_Property::getDefault
SDO Funktionen
PHP Manual

SDO_Model_Property::getContainingType

(^)

SDO_Model_Property::getContainingType — Get the SDO_Model_Type which contains this property

Beschreibung

SDO_Model_Type SDO_Model_Property::getContainingType ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Returns the SDO_Model_Type which contains this property.

Parameter-Liste

None.

Rückgabewerte

Returns the SDO_Model_Type which contains this property.

SDO_List::insert
SDO_Model_Property::getDefault
SDO Funktionen


Get the default value for the property

SDO_Model_Property::getContainingType
SDO_Model_Property::getName
SDO Funktionen
PHP Manual

SDO_Model_Property::getDefault

(^)

SDO_Model_Property::getDefault — Get the default value for the property

Beschreibung

mixed SDO_Model_Property::getDefault ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Returns the default value for the property. Only primitive data type properties can have default values.

Parameter-Liste

None.

Rückgabewerte

Returns the default value for the property.

SDO_Model_Property::getContainingType
SDO_Model_Property::getName
SDO Funktionen


Get the name of the SDO_Model_Property

SDO_Model_Property::getDefault
SDO_Model_Property::getType
SDO Funktionen
PHP Manual

SDO_Model_Property::getName

(^)

SDO_Model_Property::getName — Get the name of the SDO_Model_Property

Beschreibung

string SDO_Model_Property::getName ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Returns the name of the SDO_Model_Property.

Parameter-Liste

None.

Rückgabewerte

Returns the name of the SDO_Model_Property.

SDO_Model_Property::getDefault
SDO_Model_Property::getType
SDO Funktionen


Get the SDO_Model_Type of the property

SDO_Model_Property::getName
SDO_Model_Property::isContainment
SDO Funktionen
PHP Manual

SDO_Model_Property::getType

(^)

SDO_Model_Property::getType — Get the SDO_Model_Type of the property

Beschreibung

SDO_Model_Type SDO_Model_Property::getType ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Get the SDO_Model_Type of the property. The SDO_Model_Type describes the type information for the property, such as its type name, namespace URI, whether it is a primitive data type, and so on.

Parameter-Liste

None.

Rückgabewerte

Returns the SDO_Model_Type describing the property's type information.

SDO_Model_Property::getName
SDO_Model_Property::isContainment
SDO Funktionen


Test to see if the property defines a containment relationship

SDO_Model_Property::getType
SDO_Model_Property::isMany
SDO Funktionen
PHP Manual

SDO_Model_Property::isContainment

(^)

SDO_Model_Property::isContainment — Test to see if the property defines a containment relationship

Beschreibung

bool SDO_Model_Property::isContainment ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Test to see if the property corresponds to a containment relationship. Returns TRUE if the property defines a containment relationship, or FALSE if it is reference.

Parameter-Liste

None.

Rückgabewerte

Returns TRUE if the property defines a containment relationship, or FALSE if it is reference.

SDO_Model_Property::getType
SDO_Model_Property::isMany
SDO Funktionen


Test to see if the property is many-valued

SDO_Model_Property::isContainment
SDO_Model_ReflectionDataObject::__construct
SDO Funktionen
PHP Manual

SDO_Model_Property::isMany

(^)

SDO_Model_Property::isMany — Test to see if the property is many-valued

Beschreibung

bool SDO_Model_Property::isMany ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Test to see if the property is many-valued. Returns TRUE if this is a many-valued property, otherwise returns FALSE.

Parameter-Liste

None.

Rückgabewerte

Returns TRUE if this is a many-valued property, otherwise returns FALSE.

SDO_Model_Property::isContainment
SDO_Model_ReflectionDataObject::__construct
SDO Funktionen


Construct an SDO_Model_ReflectionDataObject

SDO_Model_Property::isMany
SDO_Model_ReflectionDataObject::export
SDO Funktionen
PHP Manual

SDO_Model_ReflectionDataObject::__construct

(^)

SDO_Model_ReflectionDataObject::__construct — Construct an SDO_Model_ReflectionDataObject

Beschreibung

SDO_Model_ReflectionDataObject::__construct ( SDO_DataObject $data_object )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Construct an SDO_Model_ReflectionDataObject to reflect on an SDO_DataObject. Reflecting on an SDO_DataObject gives access to information about its model. The model contains information such as the data object's type, and whether that type is sequenced (preserves ordering across properties) or open (each instance can have its model extended). The model also holds information about the data object's properties, any default values they may have, and so on.

Parameter-Liste

data_object

The SDO_DataObject being reflected upon.

Rückgabewerte

None.

SDO_Model_Property::isMany
SDO_Model_ReflectionDataObject::export
SDO Funktionen


Get a string describing the SDO_DataObject.

SDO_Model_ReflectionDataObject::__construct
SDO_Model_ReflectionDataObject::getContainmentProperty
SDO Funktionen
PHP Manual

SDO_Model_ReflectionDataObject::export

(^)

SDO_Model_ReflectionDataObject::export — Get a string describing the SDO_DataObject.

Beschreibung

mixed SDO_Model_ReflectionDataObject::export ( SDO_Model_ReflectionDataObject $rdo [, bool $return ] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Get a string describing the SDO_DataObject. The default behaviour is to print the output, but if TRUE is specified for return, it is returned as a string.

Parameter-Liste

rdo

An SDO_Model_ReflectionDataObject.

return

If TRUE, return the output as a string, otherwise print it.

Rückgabewerte

Returns the output if TRUE is specified for return, otherwise NULL.

SDO_Model_ReflectionDataObject::__construct
SDO_Model_ReflectionDataObject::getContainmentProperty
SDO Funktionen


Get the property which defines the containment relationship to the data object

SDO_Model_ReflectionDataObject::export
SDO_Model_ReflectionDataObject::getInstanceProperties
SDO Funktionen
PHP Manual

SDO_Model_ReflectionDataObject::getContainmentProperty

(^)

SDO_Model_ReflectionDataObject::getContainmentProperty — Get the property which defines the containment relationship to the data object

Beschreibung

SDO_Model_Property SDO_Model_ReflectionDataObject::getContainmentProperty ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Get the SDO_Model_Property that contains the SDO_DataObject. This method is used to navigate up to the parent's property which contains the data object which has been reflected upon.

Parameter-Liste

None.

Rückgabewerte

Returns the container's SDO_Model_Property which references the SDO_DataObject, or NULL if it is a root SDO_DataObject.

SDO_Model_ReflectionDataObject::export
SDO_Model_ReflectionDataObject::getInstanceProperties
SDO Funktionen


Get the instance properties of the SDO_DataObject

SDO_Model_ReflectionDataObject::getContainmentProperty
SDO_Model_ReflectionDataObject::getType
SDO Funktionen
PHP Manual

SDO_Model_ReflectionDataObject::getInstanceProperties

(^)

SDO_Model_ReflectionDataObject::getInstanceProperties — Get the instance properties of the SDO_DataObject

Beschreibung

array SDO_Model_ReflectionDataObject::getInstanceProperties ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Get the instance properties for the SDO_DataObject. The instance properties consist of all the properties defined on the data object's type, plus any instance properties from open content (if the data object is an open type).

Parameter-Liste

None.

Rückgabewerte

An array of SDO_Model_Property objects.

SDO_Model_ReflectionDataObject::getContainmentProperty
SDO_Model_ReflectionDataObject::getType
SDO Funktionen


Get the SDO_Model_Type for the SDO_DataObject

SDO_Model_ReflectionDataObject::getInstanceProperties
SDO_Model_Type::getBaseType
SDO Funktionen
PHP Manual

SDO_Model_ReflectionDataObject::getType

(^)

SDO_Model_ReflectionDataObject::getType — Get the SDO_Model_Type for the SDO_DataObject

Beschreibung

SDO_Model_Type SDO_Model_ReflectionDataObject::getType ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Returns the SDO_Model_Type for the SDO_DataObject. The SDO_Model_Type holds all the information about the data object's type, such as namespace URI, type name, whether it is a primitive data type, and so on.

Parameter-Liste

None.

Rückgabewerte

Returns the SDO_Model_Type for the SDO_DataObject.

SDO_Model_ReflectionDataObject::getInstanceProperties
SDO_Model_Type::getBaseType
SDO Funktionen


Get the base type for this type

SDO_Model_ReflectionDataObject::getType
SDO_Model_Type::getName
SDO Funktionen
PHP Manual

SDO_Model_Type::getBaseType

(^)

SDO_Model_Type::getBaseType — Get the base type for this type

Beschreibung

SDO_Model_Type SDO_Model_Type::getBaseType ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Get the base type for this type. Returns the SDO_Model_Type for the base type if this type inherits from another, otherwise returns NULL. An example of when base types occur is when a type defined in XML schema inherits from another type by using

<extension base="...">
.

Parameter-Liste

None.

Rückgabewerte

Returns the SDO_Model_Type for the base type if this type inherits from another, otherwise returns NULL.

SDO_Model_ReflectionDataObject::getType
SDO_Model_Type::getName
SDO Funktionen


Get the name of the type

SDO_Model_Type::getBaseType
SDO_Model_Type::getNamespaceURI
SDO Funktionen
PHP Manual

SDO_Model_Type::getName

(^)

SDO_Model_Type::getName — Get the name of the type

Beschreibung

string SDO_Model_Type::getName ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Returns the name of the type. The combination of type name and namespace URI is used to uniquely identify the type.

Parameter-Liste

None.

Rückgabewerte

Returns the name of the type.

SDO_Model_Type::getBaseType
SDO_Model_Type::getNamespaceURI
SDO Funktionen


Get the namespace URI of the type

SDO_Model_Type::getName
SDO_Model_Type::getProperties
SDO Funktionen
PHP Manual

SDO_Model_Type::getNamespaceURI

(^)

SDO_Model_Type::getNamespaceURI — Get the namespace URI of the type

Beschreibung

string SDO_Model_Type::getNamespaceURI ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Returns the namespace URI of the type. The combination of namespace URI and type name is used to uniquely identify the type.

Parameter-Liste

None.

Rückgabewerte

Returns the namespace URI of the type.

SDO_Model_Type::getName
SDO_Model_Type::getProperties
SDO Funktionen


Get the SDO_Model_Property objects defined for the type

SDO_Model_Type::getNamespaceURI
SDO_Model_Type::getProperty
SDO Funktionen
PHP Manual

SDO_Model_Type::getProperties

(^)

SDO_Model_Type::getProperties — Get the SDO_Model_Property objects defined for the type

Beschreibung

array SDO_Model_Type::getProperties ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Get an array of SDO_Model_Property objects describing the properties defined for the SDO_Model_Type. Each SDO_Model_Property holds information such as the property name, default value, and so on.

Parameter-Liste

None.

Rückgabewerte

Returns an array of SDO_Model_Property objects.

SDO_Model_Type::getNamespaceURI
SDO_Model_Type::getProperty
SDO Funktionen


Get an SDO_Model_Property of the type

SDO_Model_Type::getProperties
SDO_Model_Type::isAbstractType
SDO Funktionen
PHP Manual

SDO_Model_Type::getProperty

(^)

SDO_Model_Type::getProperty — Get an SDO_Model_Property of the type

Beschreibung

SDO_Model_Property SDO_Model_Type::getProperty ( mixed $identifier )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Get an SDO_Model_Property of the type, identified by its property index or property name.

Parameter-Liste

identifier

The property index or property name.

Rückgabewerte

Returns the SDO_Model_Property.

SDO_Model_Type::getProperties
SDO_Model_Type::isAbstractType
SDO Funktionen


Test to see if this SDO_Model_Type is an abstract data type

SDO_Model_Type::getProperty
SDO_Model_Type::isDataType
SDO Funktionen
PHP Manual

SDO_Model_Type::isAbstractType

(^)

SDO_Model_Type::isAbstractType — Test to see if this SDO_Model_Type is an abstract data type

Beschreibung

bool SDO_Model_Type::isAbstractType ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Test to see if this SDO_Model_Type is an abstract data type. Returns TRUE if this type is abstract, that is, no SDO_DataObject of this type can be instantiated, though other types may inherit from it.

Parameter-Liste

None.

Rückgabewerte

Returns TRUE if this type is an abstract data type, otherwise returns FALSE.

SDO_Model_Type::getProperty
SDO_Model_Type::isDataType
SDO Funktionen


Test to see if this SDO_Model_Type is a primitive data type

SDO_Model_Type::isAbstractType
SDO_Model_Type::isInstance
SDO Funktionen
PHP Manual

SDO_Model_Type::isDataType

(^)

SDO_Model_Type::isDataType — Test to see if this SDO_Model_Type is a primitive data type

Beschreibung

bool SDO_Model_Type::isDataType ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Test to see if this SDO_Model_Type is a primitive data type. Returns TRUE if this type is a primitive data type, otherwise returns FALSE.

Parameter-Liste

None.

Rückgabewerte

Returns TRUE if this type is a primitive data type, otherwise returns FALSE.

SDO_Model_Type::isAbstractType
SDO_Model_Type::isInstance
SDO Funktionen


Test for an SDO_DataObject being an instance of this SDO_Model_Type

SDO_Model_Type::isDataType
SDO_Model_Type::isOpenType
SDO Funktionen
PHP Manual

SDO_Model_Type::isInstance

(^)

SDO_Model_Type::isInstance — Test for an SDO_DataObject being an instance of this SDO_Model_Type

Beschreibung

bool SDO_Model_Type::isInstance ( SDO_DataObject $data_object )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Test for an SDO_DataObject being an instance of this SDO_Model_Type. Returns TRUE if the SDO_DataObject provided is an instance of this SDO_Model_Type, or a derived type, otherwise returns FALSE.

Parameter-Liste

data_object

The SDO_DataObject to be tested.

Rückgabewerte

Returns TRUE if the SDO_DataObject provided is an instance of this SDO_Model_Type, or a derived type, otherwise returns FALSE.

SDO_Model_Type::isDataType
SDO_Model_Type::isOpenType
SDO Funktionen


Test to see if this type is an open type

SDO_Model_Type::isInstance
SDO_Model_Type::isSequencedType
SDO Funktionen
PHP Manual

SDO_Model_Type::isOpenType

(^)

SDO_Model_Type::isOpenType — Test to see if this type is an open type

Beschreibung

bool SDO_Model_Type::isOpenType ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Test to see if this type is open. Returns TRUE if this type is open, otherwise returns FALSE. An SDO_DataObject whose type is open can have properties added to them which are not described by the type. This capability is used to support working with XML documents whose schema support open content, such as that defined by an

<xsd:any>
element.

Parameter-Liste

None.

Rückgabewerte

Returns TRUE if this type is open, otherwise returns FALSE.

SDO_Model_Type::isInstance
SDO_Model_Type::isSequencedType
SDO Funktionen


Test to see if this is a sequenced type

SDO_Model_Type::isOpenType
SDO_Sequence::getProperty
SDO Funktionen
PHP Manual

SDO_Model_Type::isSequencedType

(^)

SDO_Model_Type::isSequencedType — Test to see if this is a sequenced type

Beschreibung

bool SDO_Model_Type::isSequencedType ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Test to see if this is a sequenced type. Returns TRUE if this type is sequence, otherwise returns FALSE. Sequenced types can have the ordering across properties preserved and can contain unstructured text. For more information on sequenced types see the section on Working with Sequenced Data Objects.

Parameter-Liste

None.

Rückgabewerte

Returns TRUE if this type is sequence, otherwise return FALSE.

SDO_Model_Type::isOpenType
SDO_Sequence::getProperty
SDO Funktionen


Return the property for the specified sequence index.

SDO_Model_Type::isSequencedType
SDO_Sequence::insert
SDO Funktionen
PHP Manual

SDO_Sequence::getProperty

(^)

SDO_Sequence::getProperty — Return the property for the specified sequence index.

Beschreibung

SDO_Model_Property SDO_Sequence::getProperty ( int $sequence_index )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Return the property for the specified sequence index.

Parameter-Liste

sequence_index

The position of the element in the sequence.

Rückgabewerte

An SDO_Model_Property. A return value of NULL means the sequence element does not belong to a property and must therefore be unstructured text.

Fehler/Exceptions

SDO_IndexOutOfBoundsException

Thrown if the sequence index is less than zero or greater than the size of the sequence.

SDO_Model_Type::isSequencedType
SDO_Sequence::insert
SDO Funktionen


Insert into a sequence

SDO_Sequence::getProperty
SDO_Sequence::move
SDO Funktionen
PHP Manual

SDO_Sequence::insert

(^)

SDO_Sequence::insert — Insert into a sequence

Beschreibung

void SDO_Sequence::insert ( mixed $value [, int $sequenceIndex [, mixed $propertyIdentifier ]] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Insert a new element at a specified position in the sequence. All subsequent sequence items are moved up.

Parameter-Liste

value

The new value to be inserted. This can be either a primitive or an SDO_DataObject.

sequenceIndex

The position at which to insert the new element. Default is NULL, which results in the new value being appended to the sequence.

propertyIdentifier

Either a property index, a property name, or an SDO_Model_Property, used to identify a property in the sequence's corresponding SDO_DataObject. A value of NULL signifies unstructured text.

Rückgabewerte

None.

Fehler/Exceptions

SDO_IndexOutOfBoundsException

Thrown if the sequence index is less than zero or greater than the size of the sequence.

SDO_InvalidConversionException

Thrown if the type of the new value cannot be juggled to match the type for the specified data object property.

SDO_Sequence::getProperty
SDO_Sequence::move
SDO Funktionen


Move an item to another sequence position

SDO_Sequence::insert
SDO-DAS-Relational
SDO Funktionen
PHP Manual

SDO_Sequence::move

(^)

SDO_Sequence::move — Move an item to another sequence position

Beschreibung

void SDO_Sequence::move ( int $toIndex, int $fromIndex )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Modify the position of the item in the sequence, without altering the value of the property in the SDO_DataObject.

Parameter-Liste

toIndex

The destination sequence index. If this index is less than zero or greater than the size of the sequence then the value is appended.

fromIndex

The source sequence index.

Rückgabewerte

None.

Fehler/Exceptions

SDO_IndexOutOfBoundsException

Thrown if the fromIndex sequence index is less than zero or greater than the size of the sequence.

SDO_Sequence::insert
SDO-DAS-Relational
SDO Funktionen


SDO Relational Data Access Service

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • Creating, retrieving, updating and deleting data
    • Specifying the metadata
    • One-table examples
    • Two-table examples
    • Three-table example
  • Limitations
  • SDO-DAS-Relational Funktionen
    • SDO_DAS_Relational::applyChanges — Applies the changes made to a data graph back to the database.
    • SDO_DAS_Relational::__construct — Creates an instance of a Relational Data Access Service
    • SDO_DAS_Relational::createRootDataObject — Returns the special root object in an otherwise empty data graph. Used when creating a data graph from scratch.
    • SDO_DAS_Relational::executePreparedQuery — Executes an SQL query passed as a prepared statement, with a list of values to substitute for placeholders, and return the results as a normalised data graph.
    • SDO_DAS_Relational::executeQuery — Executes a given SQL query against a relational database and returns the results as a normalised data graph.
SDO_Sequence::move
Einführung
XML-Manipulation


Einführung

Warnung

Diese Erweiterung ist EXPERIMENTELL. Das Verhalten dieser Erweiterung, einschließlich der Funktionsnamen, und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Erweiterung auf eigenes Risiko.

In order to use the Relational Data Access Service for Service Data Objects, you will need to understand some of the concepts behind SDO: the data graph, the data object, the disconnected way of working, the change summary, XPath and property expressions, and so on. If you are not familiar with these ideas, you might want to look first at the section on SDO. In addition, the Relational DAS makes use of the PDO extension to isolate itself from specifics of different back-end relational databases. In order to use the Relational DAS you will need to be able to create and pass a PDO database connection; for this reason you might also want to take a look at the section on PDO.

The job of the Relational DAS is to move data between the application and a relational database. In order to do this it needs to be told the mapping between the database entities - tables, columns, primary keys and foreign keys - and the elements of the SDO model - types, properties, containment relationships and so on. You specify this information as metadata when you construct the Relational DAS.

Overview of Operation

  1. The first step is to call the Relational DAS's constructor, passing the metadata that defines the mapping between database and SDO model. There are examples of this below.

  2. The next step might be to call the executeQuery() or executePreparedQuery() methods on the Relational DAS, passing either a literal SQL statement for the DAS to prepare and execute, or a prepared statement with placeholders and a list of values to be inserted. You may also need to specify a small amount of metadata about the query itself, so that the Relational DAS knows exactly what columns will be returned from the database and in what order. You will also need to pass a PDO database connection.

    The return value from executeQuery() or executePreparedQuery() is a normalised data graph containing all the data from the result set. For a query that returns data obtained from a number of tables, this graph will contain a number of data objects, linked by SDO containment relationships. There may also be SDO non-containment references within the data.

    Once the query has been executed and the data graph constructed, there is no need for either that instance of the Relational DAS or the database connection. There are no locks held on the database. Both the Relational DAS and the PDO database connection can be garbage collected.

  3. Quite possibly the data in the data graph will go through a number of modifications. The data graph can be serialised into the PHP session and so may have a lifetime beyond just one client-server interaction. Data objects can be created and added to the graph, the data objects already in the graph can be deleted, and data objects in the graph can be modified.

  4. Finally, the changes made to the data graph can be applied back to the database using the applyChanges() method of the Relational DAS. For this, another instance of the Relational DAS must be constructed, using the same metadata, and another connection to the database obtained. The connection and the data graph are passed to applyChanges(). At this point the Relational DAS examines the change summary and generates the necessary INSERT, UPDATE and DELETE SQL statements to apply the changes. Any UPDATE and DELETE statements are qualified with the original values of the data so that should the data have changed in the database in the meantime this will be detected. Assuming no such collisions have occurred the changes will be committed to the database. The application can then continue to work with the data graph, make more changes and apply them, or can discard it.

There are other ways of working with the data in the database: it is possible to just create data objects and write them to the database without a preliminary call to executeQuery(), for example. This scenario and others are explored in the Examples section below.

SDO-DAS-Relational
Installation/Konfiguration
SDO-DAS-Relational


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
SDO-DAS-Relational


Anforderungen

The Relational DAS requires that the SDO extension be installed. The SDO extension requires a version of PHP 5.1, and the Relational DAS requires a recent version that contains an important fix for PDO. The most up-to-date information about required levels of PHP should be found in the changelog for the package on PECL. At the time of writing, though, the Relational DAS requires the most recent beta level of PHP 5.1, that is PHP 5.1.0.

The Relational DAS uses PDO to access the relational database, and so should run with a variety of different relational databases. At the time of writing it has been tested in the following configurations

  • MySQL 4.1.14, on Windows. The Relational DAS operates correctly with the php_pdo_mysql driver that comes with the pre-built binaries for PHP 5.1.0.

  • MySQL 4.1.13, on Linux. It is necessary to have the most up-to-date PDO driver for MySQL, which comes built in to PHP 5.1.0. It may be necessary to uninstall the usual driver that would have come from PECL using pear uninstall pdo_mysql. You will need to configure PHP with the --with-pdo-mysql option.

  • DB2 8.2 Personal Edition, on Windows. The Relational DAS operates correctly with the php_pdo_odbc driver that comes with the pre-built binaries for PHP 5.1.0.

  • DB2 8.2 Personal Developer's Edition, on Linux. The Developer's Edition is needed because it contains the include files needed when PHP is configured and built. You will need to configure PHP with the --with-pdo-odbc=ibm-db2 option.

The Relational DAS applies changes to the database within a user-delimited transaction: that is, it issues a call to PDO::beginTransaction() before beginning to apply changes, and PDO::commit() or PDO::rollback() on completion. Whichever database is chosen, the database and the PDO driver for the database must support these calls.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

The installation instructions for all the SDO components are in the SDO install section of the SDO documentation.

In any case, the essential facts are that the Relational DAS is written in PHP and it should be placed somewhere on the PHP include_path.

Your application will of course need to include the Relational DAS with a statement like this:

<?php
require_once 'SDO/DAS/Relational.php';
?>

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Diese Erweiterung definiert keine Konfigurationseinstellungen in der php.ini.

Tracing

You may be interested in seeing the SQL statements that are generated in order to apply changes back to the database. At the top of the SDO/DAS/Relational.php you will find a number of constants which control whether the process of constructing and executing the SQL statements is to be traced. Try setting DEBUG_EXECUTE_PLAN to TRUE to see the generated SQL statements.

Installation
Ressource-Typen
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

The Relational DAS introduces no predefined constants.

Ressource-Typen
Beispiele
SDO-DAS-Relational


Beispiele

Inhaltsverzeichnis

  • Creating, retrieving, updating and deleting data
  • Specifying the metadata
  • One-table examples
  • Two-table examples
  • Three-table example
Vordefinierte Konstanten
Creating, retrieving, updating and deleting data
SDO-DAS-Relational


Creating, retrieving, updating and deleting data

This section illustrates how the Relational DAS can be used to create, retrieve, update and delete data in a relational database. Many of the examples are illustrated with a three-table database that contains companies, departments within those companies, and employees that work in those departments. This example is used in a number of places within the SDO literature. See the examples section of the » Service Data Objects specification or the Examples section of the documentation for the SDO extension.

The Relational DAS is constructed with metadata that defines the relational database and how it should be mapped to SDO. The long section that follows describes this metadata and how to construct the Relational DAS. The examples that follow it all assume that this metadata is in an included php file.

The examples below and others can all be found in the Scenarios directory in the Relational DAS package.

The Relational DAS throws exceptions in the event that it finds errors in the metadata or errors when executing SQL statements against the database. For brevity the examples below all omit the use of try/catch blocks around the calls to the Relational DAS.

These examples all differ from the expected use of SDO in two important respects.

First, they show all interactions with the database completed within one script. In this respect these scenarios are not realistic but are chosen to illustrate just the use of the Relational DAS. It is expected that interactions with the database will be separated in time and the data graph serialized and deserialized into the PHP session one or more times as the application interacts with an end user.

Second, all queries executed against the database use hard-coded queries with no variables substituted. In this case it is safe to use the simple executeQuery() call, and this is what the examples illustrate. In practice, though, it is unlikely that the SQL statement is known entirely ahead of time. In order to allow variables to be safely substituted into the SQL queries, without running the risk of injecting SQL with unknown effects, it is safer to use the executePreparedQuery() which takes a prepared SQL statement containing placeholders and a list of values to be substituted.

Beispiele
Specifying the metadata
Beispiele


Specifying the metadata

This first long section describes in detail how the metadata describing the database and the required SDO model is supplied to the Relational DAS.

When the constructor for the Relational DAS is invoked, it needs to be passed several pieces of information. The bulk of the information, passed as an associative array in the first argument to the constructor, tells the Relational DAS what it needs to know about the relational database. It describes the names of the tables, columns, primary keys and foreign keys. It should be fairly easy to understand what is required, and once written it can be placed in a php file and included when needed. The remainder of the information, passed in the second and third arguments to the constructor, tells the Relational DAS what it needs to know about the relationships between objects and the shape of the data graph; it ultimately determines how the data from the database is to be normalized into a graph.

Database metadata

The first argument to the constructor describes the target relational database.

Each table is described by an associative array with up to four keys.

Key | Value
name | The name of the table.
columns | An array listing the names of the columns, in any order.
PK | The name of the column containing the primary key.
FK | An array with two entries, 'from' and 'to', which define a column containing a foreign key, and a table to which the foreign key points. If there are no foreign keys in the table then the 'FK' entry does not need to be specified. Only one foreign key can be specified. Only a foreign key pointing to the primary key of a table can be specified.

<?php
/*****************************************************************
* METADATA DEFINING THE DATABASE
******************************************************************/
$company_table = array (
  'name' => 'company',
  'columns' => array('id', 'name',  'employee_of_the_month'),
  'PK' => 'id',
  'FK' => array (
      'from' => 'employee_of_the_month',
      'to' => 'employee',
      ),
  );
$department_table = array (
  'name' => 'department',
  'columns' => array('id', 'name', 'location', 'number', 'co_id'),
  'PK' => 'id',
  'FK' => array (
      'from' => 'co_id',
      'to' => 'company',
      )
  );
$employee_table = array (
  'name' => 'employee',
  'columns' => array('id', 'name', 'SN', 'manager', 'dept_id'),
  'PK' => 'id',
  'FK' => array (
      'from' => 'dept_id',
      'to' => 'department',
      )
  );
$database_metadata = array($company_table, $department_table, $employee_table);
?>

This metadata corresponds to a relational database that might have been defined to MySQL as:

create table company (
 id integer auto_increment,
 name char(20),
 employee_of_the_month integer,
 primary key(id)
);
create table department (
 id integer auto_increment,
 name char(20),
 location char(10),
 number integer(3),
 co_id integer,
 primary key(id)
);
create table employee (
 id integer auto_increment,
 name char(20),
 SN char(4),
 manager tinyint(1),
 dept_id integer,
 primary key(id)
);

or to DB2 as:

create table company ( \
  id integer not null generated by default as identity,  \
  name varchar(20), \
  employee_of_the_month integer, \
  primary key(id) )
create table department ( \
  id integer not null generated by default as identity, \
  name varchar(20), \
  location varchar(10), \
  number integer, \
  co_id integer, \
  primary key(id) )
create table employee ( \
  id integer not null generated by default as identity, \
  name varchar(20), \
  SN char(4), \
  manager smallint, \
  dept_id integer, \
  primary key(id) )

Note that although in this example there are no foreign keys specified to the database and so the database is not expected to enforce referential integrity, the intention behind the co_id column on the department table and the dept_id column on the employee table is they should contain the primary key of their containing company or department record, respectively. So these two columns are acting as foreign keys.

There is a third foreign key in this example, that from the employee_of_the_month column of the company record to a single row of the employee table. Note the difference in intent between this foreign key and the other two. The employee_of_the_month column represents a single-valued relationship: there can be only one employee of the month for a given company. The co_id and dept_id columns represent multi-valued relationships: a company can contain many departments and a department can contain many employees. This distinction will become evident when the remainder of the metadata picks out the company-department and department-employee relationships as containment relationships.

There are a few simple rules to be followed when constructing the database metadata:

  • All tables must have primary keys, and the primary keys must be specified in the metadata. Without primary keys it is not possible to keep track of object identities. As you can see from the SQL statements that create the tables, primary keys can be auto-generated, that is, generated and assigned by the database when a record is inserted. In this case the auto-generated primary key is obtained from the database and inserted into the data object immediately after the row is inserted into the database.

  • It is not necessary to specify in the metadata all the columns that exist in the database, only those that will be used. For example, if the company table had another column that the application did not want to access with SDO, this need not be specified in the metadata. On the other hand it would have done no harm to specify it: if specified in the metadata but never retrieved, or assigned to by the application, then the unused column will not affect anything.

  • In the database metadata note that the foreign key definitions identify not the destination column in the table which is pointed to, but the table name itself. Strictly, the relational model permits the destination of a foreign key to be a non-primary key. Only foreign keys that point to a primary key are useful for constructing the SDO model, so the metadata specifies the table name. It is understood that the foreign key points to the primary key of the given table.

Given these rules, and given the SQL statements that define the database, the database metadata should be easy to construct.

What the Relational DAS does with the metadata

The Relational DAS uses the database metadata to form most of the SDO model. For each table in the database metadata, an SDO type is defined. Each column which can represent a primitive value (columns which are not defined as foreign keys) are added as properties to the SDO type.

All primitive properties are given a type of string in the SDO model, regardless of their SQL type. When writing values back to the database the Relational DAS will create SQL statements that treat the values as strings, and the database will convert them to the appropriate type.

Foreign keys are interpreted in one of two ways, depending on the metadata in the third argument to the constructor that defines the SDO containment relationships. A discussion of this is therefore deferred until the section on SDO containment relationships below.

Specifying the application root type

The second argument to the constructor is the application root type. The true root of each data graph is an object of a special root type and all application data objects come somewhere below that. Of the various application types in the SDO model, one has to be the application type immediately below the root of the data graph. If there is only one table in the database metadata, the application root type can be inferred, and this argument can be omitted.

Specifying the SDO containment relationships

The third argument to the constructor defines how the types in the model are to be linked together to form a graph. It identifies the parent-child relationships between the types which collectively form a graph. The relationships need to be supported by foreign keys to be found in the data, in a way shortly to be described.

The metadata is an array containing one or more associative arrays, each of which identifies a parent and a child. The example below shows a parent-child relationship from company to department, and another from department to employee. Each of these will become an SDO property defining a multi-valued containment relationship in the SDO model.

<?php
$department_containment = array( 'parent' => 'company', 'child' => 'department');
$employee_containment = array( 'parent' => 'department', 'child' => 'employee');

$SDO_containment_metadata = array($department_containment, $employee_containment);
?>

Foreign keys in the database metadata are interpreted as properties with either multi-valued containment relationships or single-valued non-containment references, depending on whether they have a corresponding SDO containment relationship specified in the metadata. In the example here, the foreign keys from department to company (the co_id column in the department table) and from employee to department (the dept_id column in the employee table) are interpreted as supporting the SDO containment relationships. Each containment relationship mentioned in the SDO containment relationships metadata must have a corresponding foreign key present in the database and defined in the database metadata. The values of the foreign key columns for containment relationships do not appear in the data objects, instead each is represented by a containment relationship from the parent to the child. So the co_id column in the department row in the database, for example, does not appear as a property on the department type, but instead as a containment relationship called department on the company type. Note that the foreign key and the parent-child relationship appear to have opposite senses: the foreign key points from the department to the company, but the parent-child relationship points from company to department.

The third foreign key in this example, the employee_of_the_month , is handled differently. This is not mentioned in the SDO containment relationships metadata. As a consequence this is interpreted in the second way: it becomes a single-valued non-containment reference on the company object, to which can be assigned references to SDO data objects of the employee type. It does appear as a property on the company type. The way to assign a value to it in the SDO data graph is to have a graph that contains an employee object through the containment relationships, and to assign the object to it. This is illustrated in the later examples below.

Creating, retrieving, updating and deleting data
One-table examples
Beispiele


One-table examples

The following set of examples all use the Relational DAS to work with a data graph containing just one application data object, a single company and the data just to be found the company table. These examples do not exercise the power of SDO or the Relational DAS and of course the same result could be achieved more economically with direct SQL statements but they are intended to illustrate how to work with the Relational DAS.

For this very simple scenario it would be possible to simplify the database metadata to include just the company table - if that were done the second and third arguments to the constructor and the column specifier used in the query example would become optional.

Beispiel #1 Creating a data object

The simplest example is that of creating a single data object and writing it to the database. In this example a single company object is created, its name is set to 'Acme', and the Relational DAS is called to write the changes to the database. The company name is set here using the property name method. See the Examples section on the SDO extension for other ways of accessing the properties of an object.

Data objects can only be created when you have a data object to start with, however. It is for that reason that the first call to the Relational DAS here is to obtain a root object. This is in effect how to ask for an empty data graph - the special root object is the true root of the tree. The company data object is then created with a call to createDataObject() on the root object. This creates the company data object and inserts it in the graph by inserting into a multi-valued containment property on the root object called 'company'.

When the Relational DAS is called to apply the changes a simple insert statement 'INSERT INTO company (name) VALUES ("Acme");' will be constructed and executed. The auto-generated primary key will be set into the data object and the change summary will be reset, so that it would be possible to continue working with the same data object, modify it, and apply the newer changes a second time.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
* Construct the DAS with the metadata
***************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);

/**************************************************************
* Obtain a root object and create a company object underneath.
* Make a simple change to the data object.
***************************************************************/
$root = $das  -> createRootDataObject();
$acme = $root -> createDataObject('company');

$acme->name = "Acme";

/**************************************************************
* Get a database connection and write the object to the database
***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);
$das -> applyChanges($dbh, $root);
?>

Beispiel #2 Retrieving a data object

In this example a single data object is retrieved from the database - or possibly more than one if there is more than one company called 'Acme'. For each company returned, the name and id properties are echoed.

In this example the third argument to executeQuery(), the column specifier is needed as there are other tables in the metadata with column names of name and id. If there were no possible ambiguity it could be omitted.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
* Construct the DAS with the metadata
***************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);

/**************************************************************
* Get a database connection
***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

/**************************************************************
* Issue a query to obtain a company object - possibly more if they exist
***************************************************************/
$root = $das->executeQuery($dbh,
         'select name, id from company where name="Acme"',
          array('company.name', 'company.id') );

/**************************************************************
* Echo name and id
***************************************************************/
foreach ($root['company'] as $company) {
  echo "Company obtained from the database has name = " .
  $company['name'] . " and id " . $company['id'] . "\n";
}
?>

Beispiel #3 Updating a data object

This example combines the previous two, in the sense that in order to be updated the object must first be retrieved. The application code reverses the company name (so 'Acme' becomes 'emcA') and then the changes are written back to the database in the same way that they were when the object was created. Because the query searches for the name both ways round the program can be run repeatedly to find the company and reverse its name each time.

In this example the same instance of the Relational DAS is reused for the applyChanges(), as is the PDO database handle. This is quite alright; it also alright to allow the previous instances to be garbage collected and to obtain new instances. No state data regarding the graph is held the Relational DAS once it has returned a data graph to the application. All necessary data is either within the graph itself, or can be reconstructed from the metadata.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
* Construct the DAS with the metadata
***************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);

/**************************************************************
* Get a database connection
***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

/**************************************************************
* Issue a query to obtain a company object - possibly more if they exist
***************************************************************/
$root = $das->executeQuery($dbh,
  'select name, id from company where name="Acme" or name="emcA"',
  array('company.name', 'company.id') );

/**************************************************************
* Alter the name of just the first company
***************************************************************/
$company = $root['company'][0];
echo "obtained a company with name of " . $company->name . "\n";
$company->name = strrev($company->name);

/**************************************************************
* Write the change back
***************************************************************/
$das->applyChanges($dbh,$root);
?>

Beispiel #4 Deleting a data object

Any companies called 'Acme' or its reverse 'emcA' are retrieved. They are then all deleted from the graph with unset.

In this example they are all deleted in one go by unsetting the containing property (the property defining the containment relationship). It is also possible to delete them individually.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
* Construct the DAS with the metadata
***************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);

/**************************************************************
* Get a database connection
***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

/**************************************************************
* Issue a query to obtain a company object - possibly more if they exist
***************************************************************/
$root = $das->executeQuery($dbh,
  'select name, id from company where name="Acme" or name="emcA"',
  array('company.name', 'company.id') );

/**************************************************************
* Delete any companies found from the data graph
***************************************************************/
unset($root['company']);

/**************************************************************
* Write the change(s) back
***************************************************************/
$das->applyChanges($dbh,$root);
?>

Specifying the metadata
Two-table examples
Beispiele


Two-table examples

The following set of examples all use two tables from the company database: the company and department tables. These examples exercise more of the function of the Relational DAS.

In this series of examples a company and department are created, retrieved, updated, and finally deleted. This illustrates the lifecycle for a data graph containing more than one object. Note that this example clears out the company and department tables at the start so that the exact results of the queries can be known.

You can find these examples combined into one script called 1cd-CRUD in the Scenarios directory in the Relational DAS package.

Beispiel #1 One company, one department - Create

As in the earlier example of creating just one company data object, the first action after constructing the Relational DAS is to call createRootDataObject() to obtain the special root object of the otherwise empty data graph. The company object is then created as a child of the root object, and the department object as a child of the company object.

When it comes to applying the changes, the Relational DAS has to perform special processing to maintain the foreign keys that support the containment relationships, especially if auto-generated primary keys are involved. In this example, the relationship between the auto-generated primary key id in the company table and the co_id column in the department table must be maintained. When inserting a company and department for the first time the Relational DAS has to first insert the company row, then call PDO's getLastInsertId() method to obtain the auto-generated primary key, then add that as the value of the co_id column when inserting the department row.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/*************************************************************************************
* Empty out the two tables
*************************************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);
$pdo_stmt = $dbh->prepare('DELETE FROM COMPANY;');
$rows_affected = $pdo_stmt->execute();
$pdo_stmt = $dbh->prepare('DELETE FROM DEPARTMENT;');
$rows_affected = $pdo_stmt->execute();

/**************************************************************
* Create a company with name Acme and one department, the Shoe department
***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);

$root = $das -> createRootDataObject();

$acme = $root -> createDataObject('company');
$acme -> name = "Acme";

$shoe = $acme->createDataObject('department');
$shoe->name = 'Shoe';

$das -> applyChanges($dbh, $root);

?>

Beispiel #2 One company, one department - Retrieve and Update

In this case the SQL query passed to executeQuery() performs an inner join to join the data from the company and department tables. Primary keys for both the company and department tables must be included in the query. The result set is re-normalised to form a normalised data graph. Note that a column specifier is passed as the third argument to the executeQuery() call enabling the Relational DAS to know which column is which in the result set.

Note that the co_id column although used in the query is not needed in the result set. In order to understand what the Relational DAS is doing when it builds the data graph it may be helpful to visualise what the result set looks like. Although the data in the database is normalised, so that multiple department rows can point through their foreign key to one company row, the data in the result set is non-normalised: that is, if there is one company and multiple departments, the values for the company are repeated in each row. The Relational DAS has to reverse this process and turn the result set back into a normalised data graph, with just one company object.

In this example the Relational DAS will examine the result set and column specifier, find data for both the company and department tables, find primary keys for both, and interpret each row as containing data for a department and its parent company. If it has not seen data for that company before (it uses the primary key to check) it creates a company object and then a department object underneath it. If it has seen data for that company before and has already created the company object it just creates the department object underneath.

In this way the Relational DAS can retrieve and renormalise data for multiple companies and multiple departments underneath them.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
* Retrieve the company and Shoe department, then delete Shoe and add IT
***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);

$root = $das->executeQuery($dbh,
'select c.id, c.name, d.id, d.name from company c, department d where d.co_id = c.id',
array('company.id','company.name','department.id','department.name'));

$acme = $root['company'][0];            // get the first company - will be 'Acme'
$shoe = $acme['department'][0];         // get the first department underneath - will be 'Shoe'

unset($acme['department'][0]);

$it = $acme->createDataObject('department');
$it->name = 'IT';

$das -> applyChanges($dbh, $root);
?>

Beispiel #3 One company, two departments - Retrieve and Delete

In this example the company and department are retrieved and then deleted. It is not necessary to delete them individually (although that would be possible) - deleting the company object from the data graph also deletes any departments underneath it.

Note the way that the company object is actually deleted using the PHP unset call. The unset has to be performed on the containing property which in this case is the company property on the special root object. You must use:

<?php
unset($root['company'][0]);
?>
and not:
<?php
unset($acme); //WRONG
?>
Simply unsetting $acme would destroy the variable but leave the data in the data graph untouched.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
* Retrieve the company and IT department, then delete the whole company
***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);

$root = $das->executeQuery($dbh,
'select c.id, c.name, d.id, d.name from company c, department d where d.co_id = c.id',
array('company.id','company.name','department.id','department.name'));

$acme = $root['company'][0];
$it = $acme['department'][0];

unset($root['company'][0]);

$das -> applyChanges($dbh, $root);

?>

One-table examples
Three-table example
Beispiele


Three-table example

The following examples use all three tables from the company database: the company, department, and employee tables. These introduce the final piece of function not exercised by the examples above: the non-containment reference employee_of_the_month.

Like the examples above for company and department, this set of examples is intended to illustrate the full lifecycle of such a data graph.

Beispiel #1 One company, one department, one employee - Create

In this example a company is created containing one department and just one employee. Note that this example clears out all three tables at the start so that the exact results of the queries can be known.

Note how once the company, department and employee have been created, the employee_of_the_month property of the company can be made to point at the new employee. As this is a non-containment reference, this cannot be done until the employee object has been created within the graph. Non-containment references need to be managed carefully. For example if the employee were now deleted from under the department, it would not be correct to try to save the graph without first clearing or re-assigning the employee_of_the_month property. The closure rule for SDO data graphs requires that any object pointed at by a non-containment reference must also be reachable by containment relationships.

When it comes to inserting the graph into the database, the procedure is similar to the example of inserting the company and department, but employee_of_the_month introduces an extra complexity. The Relational DAS needs to insert the objects working down the tree formed by containment relationships, so company, then department, then employee. This is necessary so that it always has the auto-generated primary key of a parent on hand to include in a child row. But when the company row is inserted the employee who is employee of the month has not yet been inserted and the primary key is not known. The procedure is that after the employee record is inserted and its primary key known, a final step is performed in which the company record is updated with the employee's primary key.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/*************************************************************************************
* Empty out the three tables
*************************************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);
$pdo_stmt = $dbh->prepare('DELETE FROM COMPANY;');
$rows_affected = $pdo_stmt->execute();
$pdo_stmt = $dbh->prepare('DELETE FROM DEPARTMENT;');
$rows_affected = $pdo_stmt->execute();
$pdo_stmt = $dbh->prepare('DELETE FROM EMPLOYEE;');
$rows_affected = $pdo_stmt->execute();

/*************************************************************************************
* Create a tiny but complete company.
* The company name is Acme.
* There is one department, Shoe.
* There is one employee, Sue.
* The employee of the month is Sue.
*************************************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

$root             = $das  -> createRootDataObject();
$acme             = $root -> createDataObject('company');
$acme -> name     = "Acme";
$shoe             = $acme -> createDataObject('department');
$shoe -> name     = 'Shoe';
$shoe -> location = 'A-block';
$sue              = $shoe -> createDataObject('employee');
$sue -> name      = 'Sue';
$acme -> employee_of_the_month = $sue;

$das -> applyChanges($dbh, $root);

echo "Wrote back Acme with one department and one employee\n";
?>

Beispiel #2 One company, one department, one employee - Retrieve and update

The SQL statement passed to the Relational DAS is this time an inner join that retrieves data from all three tables. Otherwise this example introduces nothing that has not appeared in a previous example.

The graph is updated by the addition of a new department and employee and some alterations to the name properties of the existing objects in the graph. The combined changes are then written back. The Relational DAS will process and apply an arbitrary mixture of additions, modifications and deletions to and from the data graph.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/*************************************************************************************
* Find the company again and change various aspects.
* Change the name of the company, department and employee.
* Add a second department and a new employee.
* Change the employee of the month.
*************************************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

$root = $das->executeQuery($dbh,
  "select c.id, c.name, c.employee_of_the_month, d.id, d.name, e.id, e.name " .
  "from company c, department d, employee e " .
  "where e.dept_id = d.id and d.co_id = c.id and c.name='Acme'",
   array('company.id','company.name','company.employee_of_the_month',
   'department.id','department.name','employee.id','employee.name'));
$acme         = $root['company'][0];

$shoe         = $acme->department[0];
$sue          = $shoe -> employee[0];

$it           = $acme->createDataObject('department');
$it->name     = 'IT';
$it->location = 'G-block';
$billy        = $it->createDataObject('employee');
$billy->name  = 'Billy';

$acme->name   = 'MegaCorp';
$shoe->name   = 'Footwear';
$sue->name    = 'Susan';

$acme->employee_of_the_month = $billy;
$das -> applyChanges($dbh, $root);
echo "Wrote back company with extra department and employee and all the names changed (Megacorp/Footwear/Susan)\n";

?>

Beispiel #3 One company, two departments, two employees - Retrieve and delete

The company is retrieved as a complete data graph containing five data objects - the company, two departments and two employees. They are all deleted by deleting the company object. Deleting an object from the graph deletes all the object beneath it in the graph. Five SQL DELETE statements will be generated and executed. As always they will be qualified with a WHERE clause that contains all of the fields that were retrieved, so that any updates to the data in the database in the meantime by another process will be detected.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/*************************************************************************************
* Now read it one more time and delete it.
* You can delete part, apply the changes, then carry on working with the same graph but
* care is needed to keep closure - you cannot delete the employee who is eotm without
* reassigning. For safety here we delete the company all in one go.
*************************************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

$root = $das->executeQuery($dbh,
  "select c.id, c.name, c.employee_of_the_month, d.id, d.name, e.id, e.name " .
  "from company c, department d, employee e " .
  "where e.dept_id = d.id and d.co_id = c.id and c.name='MegaCorp';",
   array('company.id','company.name','company.employee_of_the_month',
   'department.id','department.name','employee.id','employee.name'));
$megacorp = $root['company'][0];

unset($root['company']);
$das -> applyChanges($dbh, $root);

echo "Deleted the company, departments and employees all in one go.\n";

?>

Two-table examples
Limitations
Beispiele


Limitations

There are the following limitations in the current release of the Relational DAS:

  • No support for nulls. There is no support for SQL NULL type. It is not legal to assign PHP NULL to a data object property and the Relational DAS will not write that back as a NULL to the database. If nulls are found in the database on a query, the property will remain unset.

  • Only two types of SDO relationship. The metadata described below allows the Relational DAS to model just two types of SDO relationship: multi-valued containment relationships and single-valued non-containment references. In SDO, whether a property describes a single- or multi-valued relationship, and whether it is containment or non-containment, are independent. The full range of possibilities that SDO allows cannot all be defined. There may be relationships that it would be useful to model but which the current implementation cannot manage. One example is a single-valued containment relationship.

  • No support for the full range of SDO data types. The Relational DAS defines all primitive properties in the SDO model as being of type string. SDO defines a richer set of types containing various integer, float, boolean and data and time types. String is adequate for the purposes of the Relational DAS since the combination of PHP, PDO and the database will ensure that values passed as strings will be converted to the proper type before being put in the database. This does affect some scenarios in which the Relational DAS has to work with a data graph that has come from or will go to a different DAS.

  • Only one foreign key per table. The metadata only provides the means to specify one foreign key per table. This foreign key may be mapped to one of the two types of SDO relationship supported. Obviously there are some scenarios that cannot be described under this limitation - it is not possible to have two non-containment references from one table to another for example.

Three-table example
SDO-DAS-Relational Funktionen
SDO-DAS-Relational


SDO-DAS-Relational Funktionen

Vordefinierte Klassen

The Relational DAS provides two classes: the Relational DAS itself and the subclass of Exception that can be thrown. The Relational DAS has four publicly useful calls: the constructor, the createRootDataObject() call to obtain the root object of an empty data graph, the executeQuery() call to obtain a data graph containing data from a relational database, and the applyChanges() call to write changes made to a data graph back to the relational database.

SDO_DAS_Relational

The only object other than an SDO_DAS_Relational_Exception with which the application is expected to interact.

Methoden

  • __construct - construct the Relational DAS with a model derived from the passed metadata

  • createRootDataObject - obtain an otherwise empty data graph containing just the special root object

  • executeQuery - execute an SQL query passed as a literal string and return the results as a normalised data graph

  • executePreparedQuery - execute an SQL query passed as a prepared statement, with a list of values to substitute for placeholders, and return the results as a normalised data graph

  • applyChanges - examine the change summary in the data graph and apply those changes back to the database, subject to an assumption of optimistic concurrency

SDO_DAS_Relational_Exception

Is a subclass of PHP's Exception. It adds no behaviour to Exception. Thrown, with useful descriptive text, to signal errors in the metadata or unexpected failures to perform SQL operations.

Inhaltsverzeichnis

  • SDO_DAS_Relational::applyChanges — Applies the changes made to a data graph back to the database.
  • SDO_DAS_Relational::__construct — Creates an instance of a Relational Data Access Service
  • SDO_DAS_Relational::createRootDataObject — Returns the special root object in an otherwise empty data graph. Used when creating a data graph from scratch.
  • SDO_DAS_Relational::executePreparedQuery — Executes an SQL query passed as a prepared statement, with a list of values to substitute for placeholders, and return the results as a normalised data graph.
  • SDO_DAS_Relational::executeQuery — Executes a given SQL query against a relational database and returns the results as a normalised data graph.
Limitations
SDO_DAS_Relational::applyChanges
SDO-DAS-Relational


Applies the changes made to a data graph back to the database.

SDO-DAS-Relational Funktionen
SDO_DAS_Relational::__construct
SDO-DAS-Relational Funktionen
PHP Manual

SDO_DAS_Relational::applyChanges

(^)

SDO_DAS_Relational::applyChanges — Applies the changes made to a data graph back to the database.

Beschreibung

void SDO_DAS_Relational::applyChanges ( PDO $database_handle , SDODataObject $root_data_object )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Given a PDO database handle and the special root object of a data graph, examine the change summary in the datagraph and applies the changes to the database. The changes that it can apply can be creations of data objects, deletes of data objects, and modifications to properties of data objects.

Parameter-Liste

PDO_database_handle

Constructed using the PDO extension. A typical line to construct a PDO database handle might look like this:

$dbh = new PDO("mysql:dbname=COMPANYDB;host=localhost",DATABASE_USER,DATABASE_PASSWORD);

root_data_object

The special root object which is at the top of every SDO data graph.

Rückgabewerte

None. Note however that the datagraph that was passed is still intact and usable. Furthermore, if data objects were created and written back to a table with autogenerated primary keys, then those primary keys will now be set in the data objects. If the changes were successfully written, then the change summary associated with the datagraph will have been cleared, so that it is possible to now make further changes to the data graph and apply those changes in turn. In this way it is possible to work with the same data graph and apply changes repeatedly.

Fehler/Exceptions

SDO_DAS_Relational::applyChanges() can throw an SDO_DAS_Relational_Exception if it is unable to apply all the changes correctly.

The Relational DAS starts a database transaction before beginning to apply the changes and will commit the transaction only if they are all successful. The Relational DAS generates qualified update and delete statements which contain a where clause that specifies that the row to be updated or deleted must contain the same values that it did when the data was first retrieved. This is how the optimistic concurrency is implemented. If any of the qualified update or delete statements fails to update or delete their target row, it may be because the data has been altered in the database in the meantime. In any event, if any update fails for any reason, the transaction is rolled back and an exception thrown. The exception will contain the generated SQL statement that failed.

The Relational DAS also catches any PDO exceptions and obtains PDO diagnostic information which it includes in an SDO_DAS_Relational_Exception which it then throws.

Beispiele

Please see the Examples section in the general information about the Relational DAS for many examples of calling this method. Please see also the section on Tracing to see how you can see what SQL statements are generated by the Relational DAS.

SDO-DAS-Relational Funktionen
SDO_DAS_Relational::__construct
SDO-DAS-Relational Funktionen


Creates an instance of a Relational Data Access Service

SDO_DAS_Relational::applyChanges
SDO_DAS_Relational::createRootDataObject
SDO-DAS-Relational Funktionen
PHP Manual

SDO_DAS_Relational::__construct

(^)

SDO_DAS_Relational::__construct — Creates an instance of a Relational Data Access Service

Beschreibung

SDO_DAS_Relational::__construct ( array $database_metadata [, string $application_root_type [, array $SDO_containment_references_metadata ]] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Constructs an instance of a Relational Data Access Service from the passed metadata.

Parameter-Liste

database_metadata

An array containing one or more table definitions, each of which is an associative array containing the keys name, columns, PK, and optionally, FK. For a full discussion of the metadata, see the metadata section in the general information about the Relational DAS.

application_root_type

The root of each data graph is an object of a special root type and the application data objects come below that. Of the various application types in the SDO model, one has to be the application type immediately below the root of the data graph. If there is only one table in the database metadata, so the application root type can be inferred, this argument can be omitted.

SDO_containment_references_metadata

An array containing one or more definitions of a containment relation, each of which is an associative array containing the keys parent and child. The containment relations describe how the types in the model are connected to form a tree. The type specified as the application root type must be present as one of the parent types in the containment references. If the application only needs to work with one table at a time, and there are no containment relations in the model, this argument can be omitted. For a full discussion of the metadata, see the metadata section in the general information about the Relational DAS.

Rückgabewerte

Returns an SDO_DAS_Relational object on success.

Fehler/Exceptions

SDO_DAS_Relational::__construct() throws a SDO_DAS_Relational_Exception if any problems are found in the metadata.

Beispiele

For a full discussion of the metadata, see the metadata section in the general information about the Relational DAS.

SDO_DAS_Relational::applyChanges
SDO_DAS_Relational::createRootDataObject
SDO-DAS-Relational Funktionen


Returns the special root object in an otherwise empty data graph. Used when creating a data graph from scratch.

SDO_DAS_Relational::__construct
SDO_DAS_Relational::executePreparedQuery
SDO-DAS-Relational Funktionen
PHP Manual

SDO_DAS_Relational::createRootDataObject

(^)

SDO_DAS_Relational::createRootDataObject — Returns the special root object in an otherwise empty data graph. Used when creating a data graph from scratch.

Beschreibung

SDODataObject SDO_DAS_Relational::createRootDataObject ( void )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Returns the special root object at the top of an otherwise empty data graph. This call is used when the application wants to create a data graph from scratch, without having called executeQuery() to create a data graph.

The special root object has one multi-valued containment property, with a name of the application root type that was passed when the Relational DAS was constructed. The property can take values of only that type. The only thing that the application can usefully do with the root type is to call createDataObject() on it, passing the name of the application root type, in order to create a data object of their own application type.

Parameter-Liste

None.

Rückgabewerte

The root object.

Fehler/Exceptions

None.

Beispiele

Please see the Examples section in the general information about the Relational DAS for many examples of calling this method.

SDO_DAS_Relational::__construct
SDO_DAS_Relational::executePreparedQuery
SDO-DAS-Relational Funktionen


Executes an SQL query passed as a prepared statement, with a list of values to substitute for placeholders, and return the results as a normalised data graph.

SDO_DAS_Relational::createRootDataObject
SDO_DAS_Relational::executeQuery
SDO-DAS-Relational Funktionen
PHP Manual

SDO_DAS_Relational::executePreparedQuery

(^)

SDO_DAS_Relational::executePreparedQuery — Executes an SQL query passed as a prepared statement, with a list of values to substitute for placeholders, and return the results as a normalised data graph.

Beschreibung

SDODataObject SDO_DAS_Relational::executePreparedQuery ( PDO $database_handle , PDOStatement $prepared_statement , array $value_list [, array $column_specifier ] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Executes a given query against the relational database, using the supplied PDO database handle. Differs from the simpler executeQuery() in that it takes a prepared statement and a list of values. This is the appropriate call to use either when the statement is to executed a number of times with different arguments, and there is therefore a performance benefit to be had from preparing the statement only once, or when the SQL statement is to contain varying values taken from a source that cannot be completely trusted. In this latter case it may be unsafe to construct the SQL statement by simply concatenating the parts of the statement together, since the values may contain pieces of SQL. To guard against this, a so-called SQL injection attack, it is safer to prepare the SQL statement with placeholders (also known as parameter markers, denoted by '?') and supply a list of the values to be substituted as a separate argument. Otherwise this function is the same as executeQuery() in that it uses the model that it built from the metadata to interpret the result set and returns a data graph.

Parameter-Liste

PDO_database_handle

Constructed using the PDO extension. A typical line to construct a PDO database handle might look like this:

$dbh = new PDO("mysql:dbname=COMPANYDB;host=localhost",DATABASE_USER,DATABASE_PASSWORD);

prepared_statement

A prepared SQL statement to be executed against the database. This will have been prepared by PDO's prepare() method.

value_list

An array of the values to be substituted into the SQL statement in place of the placeholders. In the event that there are no placeholders or parameter markers in the SQL statement then this argument can be specified as NULL or as an empty array;

column_specifier

The Relational DAS needs to examine the result set and for every column, know which table and which column of that table it came from. In some circumstances it can find this information for itself, but sometimes it cannot. In these cases a column specifier is needed, which is an array that identifies the columns. Each entry in the array is simply a string in the form table-name.column_name.

The column specifier is needed when there are duplicate column names in the database metadata, For example, in the database used within the examples, all the tables have both a id and a name column. When the Relational DAS fetches the result set from PDO it can do so with the PDO_FETCH_ASSOC attribute, which will cause the columns in the results set to be labelled with the column name, but will not distinguish duplicates. So this will only work when there are no duplicates possible in the results set.

To summarise, specify a column specifier array whenever there is any uncertainty about which column could be from which table and only omit it when every column name in the database metadata is unique.

All of the examples in the Examples use a column specifier. There is one example in the Scenarios directory of the installation that does not: that which works with just the employee table, and because it works with just one table, there can not exist duplicate column names.

Rückgabewerte

Returns a data graph. Specifically, it returns a root object of a special type. Under this root object will be the data from the result set. The root object will have a multi-valued containment property with the same name as the application root type specified on the constructor, and that property will contain one or more data objects of the application root type.

In the event that the query returns no data, the special root object will still be returned but the containment property for the application root type will be empty.

Fehler/Exceptions

SDO_DAS_Relational::executePreparedQuery() can throw an SDO_DAS_Relational_Exception if it is unable to construct the data graph correctly. This can occur for a number of reasons: for example if it finds that it does not have primary keys in the result set for all the objects. It also catches any PDO exceptions and obtains PDO diagnostic information which it includes in an SDO_DAS_Relational_Exception which it then throws.

Beispiele

Beispiel #1 Retrieving a data object using executePreparedQuery()

In this example a single data object is retrieved from the database - or possibly more than one if there is more than one company called 'Acme'. For each company returned, the name and id properties are echoed.

Other examples of the use of executePreparedQuery() can be found in the example code supplied in sdo/DAS/Relational/Scenarios.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
 * Construct the DAS with the metadata
 ***************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_reference_metadata);

/**************************************************************
 * Get a database connection
 ***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

/**************************************************************
 * Issue a query to obtain a company object - possibly more if they exist
 * Use a prepared query with a placeholder.
 ***************************************************************/
$name = 'Acme';
$pdo_stmt = $dbh->prepare('select name, id from company where name=?');
$root = $das->executePreparedQuery(
    $dbh,
    $pdo_stmt,
    array($name),
    array('company.name', 'company.id'));

/**************************************************************
 * Echo name and id
 ***************************************************************/
foreach ($root['company'] as $company) {
    echo "Company obtained from the database has name = " .
    $company['name'] . " and id " . $company['id'] . "\n";
}
?>

SDO_DAS_Relational::createRootDataObject
SDO_DAS_Relational::executeQuery
SDO-DAS-Relational Funktionen


Executes a given SQL query against a relational database and returns the results as a normalised data graph.

SDO_DAS_Relational::executePreparedQuery
SDO DAS XML
SDO-DAS-Relational Funktionen
PHP Manual

SDO_DAS_Relational::executeQuery

(^)

SDO_DAS_Relational::executeQuery — Executes a given SQL query against a relational database and returns the results as a normalised data graph.

Beschreibung

SDODataObject SDO_DAS_Relational::executeQuery ( PDO $database_handle , string $SQL_statement [, array $column_specifier ] )
Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Executes a given query against the relational database, using the supplied PDO database handle. Uses the model that it built from the metadata to interpret the result set. Returns a data graph.

Parameter-Liste

PDO_database_handle

Constructed using the PDO extension. A typical line to construct a PDO database handle might look like this:

$dbh = new PDO("mysql:dbname=COMPANYDB;host=localhost",DATABASE_USER,DATABASE_PASSWORD);

SQL_statement

The SQL statement to be executed against the database.

column_specifier

The Relational DAS needs to examine the result set and for every column, know which table and which column of that table it came from. In some circumstances it can find this information for itself, but sometimes it cannot. In these cases a column specifier is needed, which is an array that identifies the columns. Each entry in the array is simply a string in the form table-name.column_name.

The column specifier is needed when there are duplicate column names in the database metadata. For example, in the database used within the examples, all the tables have both a id and a name column. When the Relational DAS fetches the result set from PDO it can do so with the PDO_FETCH_ASSOC attribute, which will cause the columns in the results set to be labelled with the column name, but will not distinguish duplicates. So this will only work when there are no duplicates possible in the results set.

To summarise, specify a column specifier array whenever there is any uncertainty about which column could be from which table and only omit it when every column name in the database metadata is unique.

All of the examples in the Examples use a column specifier. There is one example in the Scenarios directory of the installation that does not: that which works with just the employee table, and because it works with just one table, there can not exist duplicate column names.

Rückgabewerte

Returns a data graph. Specifically, it returns a root object of a special type. Under this root object will be the data from the result set. The root object will have a multi-valued containment property with the same name as the application root type specified on the constructor, and that property will contain one or more data objects of the application root type.

In the event that the query returns no data, the special root object will still be returned but the containment property for the application root type will be empty.

Fehler/Exceptions

SDO_DAS_Relational::executeQuery() can throw an SDO_DAS_Relational_Exception if it is unable to construct the data graph correctly. This can occur for a number of reasons: for example if it finds that it does not have primary keys in the result set for all the objects. It also catches any PDO exceptions and obtains PDO diagnostic information which it includes in an SDO_DAS_Relational_Exception which it then throws.

Beispiele

Please see the Examples section in the general information about the Relational DAS for many examples of calling this method.

SDO_DAS_Relational::executePreparedQuery
SDO DAS XML
SDO-DAS-Relational Funktionen


SDO XML Data Access Service

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
  • SDO DAS XML Funktionen
    • SDO_DAS_XML::addTypes — To load a second or subsequent schema file to a SDO_DAS_XML object
    • SDO_DAS_XML::create — To create SDO_DAS_XML object for a given schema file
    • SDO_DAS_XML::createDataObject — Creates SDO_DataObject for a given namespace URI and type name
    • SDO_DAS_XML::createDocument — Creates an XML Document object from scratch, without the need to load a document from a file or string.
    • SDO_DAS_XML::loadFile — Returns SDO_DAS_XML_Document object for a given path to xml instance document
    • SDO_DAS_XML::loadString — Returns SDO_DAS_XML_Document for a given xml instance string
    • SDO_DAS_XML::saveFile — Saves the SDO_DAS_XML_Document object to a file
    • SDO_DAS_XML::saveString — Saves the SDO_DAS_XML_Document object to a string
    • SDO_DAS_XML_Document::getRootDataObject — Returns the root SDO_DataObject
    • SDO_DAS_XML_Document::getRootElementName — Returns root element's name
    • SDO_DAS_XML_Document::getRootElementURI — Returns root element's URI string
    • SDO_DAS_XML_Document::setEncoding — Sets the given string as encoding
    • SDO_DAS_XML_Document::setXMLDeclaration — Sets the xml declaration
    • SDO_DAS_XML_Document::setXMLVersion — Sets the given string as xml version
SDO_DAS_Relational::executeQuery
Einführung
XML-Manipulation


Einführung

In order to use the XML Data Access Service for Service Data Objects, you will need to understand some of the concepts behind SDO: the data graph, the data object, XPath and property expressions, and so on. If you are not familiar with these ideas, you might want to look first at the section on SDO.

The job of the XML DAS is to move data between the application and an XML data source, which can be either a file or a URL. SDOs are always created and maintained according to a model which defines type names and what property names each type may have. For data which is from XML, this SDO model is built from a schema file written in XML schema language (an xsd file). This schema file is usually passed to the create method when the XMLDAS is initialised. The » SDO 2.0 specification defines the mapping between XML types and SDO types. There are a number of small limitations in the PHP support - not everything which is in the specification can be done - and these limitations are summarised in a later section.

SDO DAS XML
Installation/Konfiguration
SDO DAS XML


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
SDO DAS XML


Anforderungen

The SDO XML Data Access Service requires PHP 5.1.0 or higher. It is packaged with the SDO extension and requires SDO to have been installed. See the SDO installation instructions for the details of how to do this.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

The XML Data Access Service is packaged and installed as part of the SDO extension. Please Refer SDO installation instructions.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
Beispiele
SDO DAS XML


Beispiele

Several of the following examples are based on the letter example described in the SDO documentation. The examples assume the XML Schema for the letter is contained in a file letter.xsd and the letter instance is in the file letter.xml. These two files are reproduced here:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:letter="http://letterSchema"
  targetNamespace="http://letterSchema">
  <xsd:element name="letters" type="letter:FormLetter"/>
  <xsd:complexType name="FormLetter" mixed="true">
    <xsd:sequence>
      <xsd:element name="date" minOccurs="0" type="xsd:string"/>
      <xsd:element name="firstName" minOccurs="0" type="xsd:string"/>
      <xsd:element name="lastName" minOccurs="0" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:schema>

<letter:letters xmlns:letter="http://letterSchema">
  <date>March 1, 2005</date>
  Mutual of Omaha
  Wild Kingdom, USA
  Dear
  <firstName>Casy</firstName>
  <lastName>Crocodile</lastName>
  Please buy more shark repellent.
  Your premium is past due.
</letter:letters>

Beispiel #1 Loading, altering, and saving an XML document

The following example shows how an XML document can be loaded from a file, altered, and written back.

<?php
/**
 * Load, update, and save an XML document
 */
try {
   $xmldas = SDO_DAS_XML::create("letter.xsd");
   $document = $xmldas->loadFile("letter.xml");
   $root_data_object = $document->getRootDataObject();
   $root_data_object->date = "September 03, 2004";
   $root_data_object->firstName = "Anantoju";
   $root_data_object->lastName = "Madhu";
   $xmldas->saveFile($document, "letter-out.xml");
   echo "New file has been written:\n";
   print file_get_contents("letter-out.xml");
} catch (SDO_Exception $e) {
   print($e->getMessage());
}
?>

An instance of the XML DAS is first obtained from the SDO_DAS_XML::create() method, which is a static method of the SDO_DAS_XML class. The location of the xsd is passed as a parameter. Once we have an instance of the XML DAS initialised with a given schema, we can use it to load the instance document using the loadFile() method. There is also a loadString() method if you want to load an XML instance document from a string. If the instance document loads successfully, you will be returned an object of type SDO_DAS_XML_Document, on which you can call the getRootDataObject() method to get the SDO data object which is the root of the SDO data graph. You can then use SDO operations to change the graph. In this example we alter the date, firstName, and lastName properties. Then we use the saveFile() method to write the changed document back to the file system. The saveFile method has an optional extra integer argument which if specified will cause the XML DAS to format the XML, using the integer as the amount to indent by at each change in level on the document.

This will write the following to letter-out.xml.

<?xml version="1.0" encoding="UTF-8"?>
<FormLetter xmlns="http://letterSchema" xsi:type="FormLetter" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <date>September 03, 2004</date>
  Mutual of Omaha
  Wild Kingdom, USA
  Dear
  <firstName>Anantoju</firstName>
  <lastName>Madhu</lastName>
  Please buy more shark repellent.
  Your premium is past due.
</FormLetter>

Beispiel #2 Creating a new XML document

The previous example loaded the document from a file. This example shows how to create an SDO data graph in memory. In this example it is then saved to an XML string. Furthermore, because the letter contains both structured and unstructured content, it uses the Sequence API as well assignments to properties to construct the data graph.

<?php
/**
 * Create an XML document from scratch
 */
try {
   $xmldas = SDO_DAS_XML::create("letter.xsd");
   try {
       $doc = $xmldas->createDocument();
       $rdo = $doc->getRootDataObject();
       $seq = $rdo->getSequence();
       $seq->insert("April 09, 2005", NULL, 'date');
       $seq->insert("Acme Inc. ", NULL, NULL);
       $seq->insert("United Kingdom. ");
       $seq->insert("Dear", NULL, NULL);
       $seq->insert("Tarun", NULL, "firstName");
       $seq->insert("Nayaraaa", NULL, "lastName");
       $rdo->lastName = "Nayar";
       $seq->insert("Please note that your order number ");
       $seq->insert(12345);
       $seq->insert(" has been dispatched today. Thanks for your business with us.");
       print($xmldas->saveString($doc));
   } catch (SDO_Exception $e) {
       print($e);
   }
} catch (SDO_Exception $e) {
   print("Problem creating an XML document: " . $e->getMessage());
}
?>

The createDocument() method on the XML DAS returns a document object with a single root data object corresponding to an empty document element. The element name of the document element is known from the schema file. If there is any ambiguity about what the document element is, as there can be when more than one schema has been loaded into the same XML DAS, the element name and the namespace URI can be passed to the createDocument() method.

This will emit the following output (line breaks have been inserted for readability):

<?xml version="1.0" encoding="UTF-8"?>
<FormLetter xmlns="http://letterSchema" xsi:type="FormLetter"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<date>April 09, 2005</date>
Acme Inc. United Kingdom.
Dear
<firstName>Tarun</firstName>
<lastName>Nayar</lastName>
Please note that your order number 12345 has been
dispatched today. Thanks for your business with us.
</FormLetter>

Beispiel #3 Setting XML document properties

This third example shows you how to set the XML version and encoding on the document object. These will be used when the XML is written out. If no XML declaration is wanted at all (perhaps you want to generate the XML as a string to embed in something) then you can use the setXMLDeclaration() method to suppress it.

<?php
/**
 * Illustrate the calls that control the XML declaration
 */
   $xmldas = SDO_DAS_XML::create("letter.xsd");
   $document = $xmldas->loadFile("letter.xml");
   $document->setXMLVersion("1.1");
   $document->setEncoding("ISO-8859-1");
   print($xmldas->saveString($document));
?>

The XML version and encoding are set in the XML declaration at the top of the XML document.

<?xml version="1.1" encoding="utf-8"?>
.../...

Beispiel #4 Using an open type

This fourth example illustrates the use of an SDO open type and the use of the createDataObject() method. For this example we use the following two schema:

<schema
  xmlns="http://www.w3.org/2001/XMLSchema">

  <element name="jungle">
    <complexType>
      <sequence>
        <any minOccurs="0" maxOccurs="unbounded"/>
      </sequence>
    </complexType>
  </element>

</schema>

Note the presence of the any element in the definition. This first schema defines the jungle complex type as containing a sequence of any other type. The other types that the example will use are defined in a second schema file:

<schema xmlns= "http://www.w3.org/2001/XMLSchema">

   <complexType name="snakeType">
     <sequence>
       <element name= "name" type="string"/>
       <element name= "length" type="positiveInteger" />
     </sequence>
   </complexType>

   <complexType name="bearType">
     <sequence>
       <element name= "name" type="string"/>
       <element name= "weight" type="positiveInteger" />
     </sequence>
   </complexType>

   <complexType name="pantherType">
     <sequence>
       <element name= "name" type="string"/>
       <element name= "colour" type="string" />
     </sequence>
   </complexType>

</schema>

Here is the example PHP code that uses these two schema files:

<?php

/**
 * Illustrate open types and the use of the addTypes() method
 */

$xmldas = SDO_DAS_XML::create();
$xmldas->addTypes("jungle.xsd"); // this is an open type i.e. the xsd specifies it can contain "any" type
$xmldas->addTypes('animalTypes.xsd');

$baloo            = $xmldas->createDataObject('','bearType');
$baloo->name      = "Baloo";
$baloo->weight    = 800;

$bagheera         = $xmldas->createDataObject('','pantherType');
$bagheera->name   = "Bagheera";
$bagheera->colour = 'inky black';

$kaa              = $xmldas->createDataObject('','snakeType');
$kaa->name        = "Kaa";
$kaa->length      = 25;

$document         = $xmldas->createDocument();
$do               = $document->getRootDataObject();
$do->bear         = $baloo;
$do->panther      = $bagheera;
$do->snake        = $kaa;

print($xmldas->saveString($document,2));

?>

These two schema files are loaded into the XML DAS with first the create() and addTypes() methods. The createDataObject() method is used to create three separate data objects. In each case the namespaceURI and typename of the type are passed to the createDataObject() method: in this example the namespace URI is blank because no namespace is used in the schema. Once the three data objects - representing a bear, a panther and a snake - have been created, a document object is created with the createDocument() method. In this case there is no ambiguity about what the document element of the document should be - as the second schema file only defines complex types, the document element can only be the global jungle element defined in the first schema. This document will have a single root data object corresponding to an empty document element jungle. As this is an open type, properties can be added at will. When the first assignment is made to $do->bear, a property bear is added to the root data object: likewise for the next two assignments. When the document is written out by the saveString() method, the resulting document is:

<?xml version="1.0" encoding="UTF-8"?>
<jungle xsi:type="jungle" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <bear xsi:type="bearType">
    <name>Baloo</name>
    <weight>800</weight>
  </bear>
  <panther xsi:type="pantherType">
    <name>Bagheera</name>
    <colour>inky black</colour>
  </panther>
  <snake xsi:type="snakeType">
    <name>Kaa</name>
    <length>25</length>
  </snake>
</jungle>

Beispiel #5 Finding out what you can from the document

This example is intended to illustrate how you can find the element name and namespace of the document element from the XML Document object, and the SDO type and namespace from the root data object of the XML data object, and how they relate to one another. This can be difficult to understand because there are four method calls: two can be made against the Document object, and two that can be made against any data object including the root data object. Because of the rules that define how the SDO model is derived from the XML model, when the data object concerned is the root object that represents the document object for the document, only three possible values can come back from these four method calls.

The two method calls that can be made against the document are getRootElementName() and getRootEelementURI(). These return the element name and namespace of the document element, respectively.

The two method calls that can be made against any data object are getTypeName() and getTypeNamespaceURI(). These return the SDO type name and type namespace of the data object, respectively.

Always, calling getRootElementURI() on the document object will return the same value as calling getNamespaceURI() on the root data object. Essentially, the information is all derived from the first few lines of the schema file, where there are three distinct pieces of information. For illustration, here again are the first few lines of the letter.xsd that we used above.

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns:letter="http://letterSchema"
            targetNamespace="http://letterSchema">

  <xsd:element name="letters" type="letter:FormLetter"/>

  <xsd:complexType name="FormLetter" mixed="true">
    .../...

The three important values are:

  • letters, the name of the document element

  • FormLetter, the name of the complex type of the document element. This is also the name of the SDO type of the root data object.

  • http://letterSchema, the namespace to which the document element belongs. This is also the namespaceURI of the SDO type of the root data object.

It is part of the XML-SDO mapping rules that when the SDO model is built from the schema file, the typename and namespaceURI of the SDO types for the root element are taken from those of the complex type of the document element, where it exists. Hence in this example the typename of the root data object is FormLetter. In the event that there is no separate complex type definition for the document element, when the type is defined inline and is anonymous, the SDO type name will be the same as the element name.

The following program loads the letter document and checks the return values from each of the four calls.

<?php
/**
 * Finding out what you can about the document and document element
 * This can be quite hard to understand because there are four calls
 * Two calls are made against the document
 * Two calls are made against the root data object and its model
 * Because of the SDO-XML mapping rules and how the SDO model is derived
 * from the XML model, only three possible values can come back from these four calls.
 * Always, $document->getRootElementURI() == (type of root data object)->namespaceURI
 * Essentially, it all comes form the first few lines of the xsd:
 * <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 *   xmlns:letter="http://letterSchema"
 *   targetNamespace="http://letterSchema">
 *   <xsd:element name="letters" type="letter:FormLetter"/>
 */

$xmldas = SDO_DAS_XML::create("letter.xsd");
$document = $xmldas->loadFile("letter.xml");
$root_do = $document->getRootDataObject();

/**
 * The "root element name" is the element name of the document element
 * in this case 'letters'
 * This matches the 'name' attribute of the document element in the xsd and matches
 * the element name from the xml
 */
echo "The document element name is " . $document->getRootElementName() . "\n";
assert($document->getRootElementName() == 'letters'); // a property of the document

/**
 * The "root element URI" is the namespace part of the element name of the document element
 * in this case 'http://letterSchema' since 'letters' is in that namespace
 * This is taken from the xsd and matches the namespace picked up from the xml
 */
echo "The document element is in the namespace " . $document->getRootElementURI() . "\n";
assert($document->getRootElementURI() == 'http://letterSchema'); // a property of the document

/**
 * The type name is taken from the SDO model
 * The XML-SDO mapping rules make this either:
 *   The name of the complexType if there is one (in this case there is)
 *   The document element name if there no complexType
 * This is taken from the xsd
 */
echo "The type name of the root data object is " . $root_do->getTypeName() . "\n";
assert($root_do->getTypeName() == 'FormLetter');

/**
 * The type's namespaceURI is taken from the SDO model
 * The XML-SDO mapping rules ensure that this will always be the same as
 * the namepace URI of the document element
 */
echo "The namespaceURI of the root data object is " . $root_do->getTypeNamespaceURI() . "\n";
assert($root_do->getTypeNamespaceURI() == 'http://letterSchema');

?>

The output from this program is as follows:

The document element name is letters
The document element is in the namespace http://letterSchema
The type name of the root data object is FormLetter
The namespaceURI of the root data object is http://letterSchema

Beispiel #6 Printing the SDO model

The XML DAS provides a simple means to see what types and properties have been loaded. The php "print" or "echo" instruction will print out the types and properties.

<?php
/**
 * Illustrate printing out the model
 */

$xmldas = SDO_DAS_XML::create("letter.xsd");
print $xmldas;

?>

The output from this program is as follows:

object(SDO_XML_DAS)#1 {
18 types have been defined. The types and their properties are::
1. commonj.sdo:BigDecimal
2. commonj.sdo:BigInteger
3. commonj.sdo:Boolean
4. commonj.sdo:Byte
5. commonj.sdo:Bytes
6. commonj.sdo:ChangeSummary
7. commonj.sdo:Character
8. commonj.sdo:DataObject
9. commonj.sdo:Date
10. commonj.sdo:Double
11. commonj.sdo:Float
12. commonj.sdo:Integer
13. commonj.sdo:Long
14. commonj.sdo:Short
15. commonj.sdo:String
16. commonj.sdo:URI
17. http://letterSchema:FormLetter
    - date (commonj.sdo:String)
    - firstName (commonj.sdo:String)
    - lastName (commonj.sdo:String)
18. http://letterSchema:RootType
    - letters (http://letterSchema:FormLetter)
Vordefinierte Konstanten
SDO DAS XML Funktionen
SDO DAS XML


SDO DAS XML Funktionen

Vordefinierte Klassen

The XML DAS provides two main classes. The first is SDO_DAS_XML which is the main class used to fetch the data from the XML source and used to write the data back. The second is the SDO_DAS_XML_Document class, which represents the data in the XML document.

There are also some exception classes which can be thrown if errors are found when looking for or parsing the xsd or xml files.

SDO_DAS_XML

This is the main class of the XML DAS, which is used fetch the data from the xml source and also used to write the data back. Other than the methods to load and save xml files,

Methoden

  • create This is a static method available in the SDO_DAS_XML class. Used to construct an SDO_DAS_XML object.

  • addTypes Works in much the same way as create() but used to add the contents of a second or subsequent schema file to an XML DAS that has already been created.

  • createDataObject Can be used to construct an SDO data object of a given type.

  • createDocument Can be used to construct an XML Document object from scratch.

  • loadFile Loads the xml instance document from a file. This file can be at local file system or it can be on a remote host.

  • loadString same as the above method. Loads the xml instance which is available as string.

  • saveFile save SDO_DAS_XML_Document object as a xml file.

  • saveString save SDO_DAS_XML_Document object as a xml string.

SDO_DAS_XML_Document

This class can be used to get to the name and namespace of the document element, and to get to the root data object of the document. Lastly, it can also be used to set the XML version and encoding of a document on output.

Methoden

  • getRootDataObject gets the root DataObject.

  • getRootElementName gets the root DataObject's name.

  • getRootElementURI gets the root DataObject's URI.

  • setEncoding sets the encoding string with the given value.

  • setXMLDeclaraion to set/unset the xml declaration.

  • setXMLVersion sets the xml version with the given value.

SDO_DAS_XML_ParserException

Is a subclass of SDO_Exception. Thrown for any parser errors while loading the xsd/xml file.

SDO_DAS_XML_FileException

Is a subclass of SDO_Exception. Thrown by any of the methods that load data from a file, when the file cannot be found.

Limitations compared with SDO 2.0 specification

The » SDO 2.0 specification defines the mapping between XML types and SDO types. With Java SDO, this mapping is implemented by the XMLHelper. With SDO for PHP, this mapping is implemented by the XML Data Access Service. The XML DAS implements the mapping described in the SDO 2.0 specification with some restrictions. A detailed list is of the limitations is:

XML Simple Types

  1. Simple Type with sdoJava:instanceClass - no PHP equivalent provided.

  2. Simple Type with sdoJava:extendedInstanceClass - no PHP equivalent provided.

  3. Simple Type with list of itemType.

  4. Simple Type with union.

XML Complex Types

  1. Complex Type with sdo:aliasName - no PHP support for SDO Type aliases.

XSD Attribute

  1. Attribute with sdo:aliasName - no PHP support for SDO property aliases.

  2. Attribute with default value - no PHP support for SDO property defaults.

  3. Attribute with fixed value - no PHP support for SDO read-only properties or default values.

  4. Attribute referencing a DataObject with sdo:propertyType - no support for sdo:propertyType="...".

  5. Attribute with bi-directional property to a DataObject with sdo:oppositeProperty and sdo:propertyType - no PHP support for SDO opposite.

XSD Elements

  1. Element with sdo:aliasName - no PHP support for SDO property aliases.

  2. Element with substitution group.

XSD Elements with Simple Type

  1. Element of SimpleType with default - no PHP support for SDO defaults

  2. Element of SimpleType with fixed value - no PHP support for SDO read-only properties or default values.

  3. Element of SimpleType with sdo:string - no support for sdo:string="true".

  4. Element referencing a DataObject with sdo:propertyType - no support for sdo:propertyType="..."

  5. Element with bi-directional reference to a DataObject with sdo:oppositeProperty and sdo:propertyType - no PHP support for SDO opposite.

Inhaltsverzeichnis

  • SDO_DAS_XML::addTypes — To load a second or subsequent schema file to a SDO_DAS_XML object
  • SDO_DAS_XML::create — To create SDO_DAS_XML object for a given schema file
  • SDO_DAS_XML::createDataObject — Creates SDO_DataObject for a given namespace URI and type name
  • SDO_DAS_XML::createDocument — Creates an XML Document object from scratch, without the need to load a document from a file or string.
  • SDO_DAS_XML::loadFile — Returns SDO_DAS_XML_Document object for a given path to xml instance document
  • SDO_DAS_XML::loadString — Returns SDO_DAS_XML_Document for a given xml instance string
  • SDO_DAS_XML::saveFile — Saves the SDO_DAS_XML_Document object to a file
  • SDO_DAS_XML::saveString — Saves the SDO_DAS_XML_Document object to a string
  • SDO_DAS_XML_Document::getRootDataObject — Returns the root SDO_DataObject
  • SDO_DAS_XML_Document::getRootElementName — Returns root element's name
  • SDO_DAS_XML_Document::getRootElementURI — Returns root element's URI string
  • SDO_DAS_XML_Document::setEncoding — Sets the given string as encoding
  • SDO_DAS_XML_Document::setXMLDeclaration — Sets the xml declaration
  • SDO_DAS_XML_Document::setXMLVersion — Sets the given string as xml version
Beispiele
SDO_DAS_XML::addTypes
SDO DAS XML


To load a second or subsequent schema file to a SDO_DAS_XML object

SDO DAS XML Funktionen
SDO_DAS_XML::create
SDO DAS XML Funktionen
PHP Manual

SDO_DAS_XML::addTypes

(^)

SDO_DAS_XML::addTypes — To load a second or subsequent schema file to a SDO_DAS_XML object

Beschreibung

void SDO_DAS_XML::addTypes ( string $xsd_file )

Load a second or subsequent schema file to an XML DAS that has already been created with the static method create(). Although the file may be any valid schema file, a likely reason for using this method is to add a schema file containing definitions of extra complex types, hence the name. See Example 4 of the parent document for an example.

Parameter-Liste

xsd_file

Path to XSD Schema file.

Rückgabewerte

None if successful, otherwise throws an exception as described below.

Fehler/Exceptions

SDO_TypeNotFoundException

Thrown if a type is not defined in the underlying model.

SDO_DAS_XML_ParserException

Thrown for any problems while parsing the given XSD File.

SDO_DAS_XML_FileException

Thrown if the specified file cannot be found.

SDO DAS XML Funktionen
SDO_DAS_XML::create
SDO DAS XML Funktionen


To create SDO_DAS_XML object for a given schema file

SDO_DAS_XML::addTypes
SDO_DAS_XML::createDataObject
SDO DAS XML Funktionen
PHP Manual

SDO_DAS_XML::create

(^)

SDO_DAS_XML::create — To create SDO_DAS_XML object for a given schema file

Beschreibung

SDO_DAS_XML SDO_DAS_XML::create ([ mixed $xsd_file [, string $key ]] )

This is the only static method of SDO_DAS_XML class. Used to instantiate SDO_DAS_XML object.

Parameter-Liste

xsd_file

Path to XSD Schema file. This is optional. If omitted a DAS will be created that only has the SDO base types defined. Schema files can then be loaded with the addTypes() method. Can be string or array of values.

key

Rückgabewerte

Returns SDO_DAS_XML object on success otherwise throws an exception as described below.

Fehler/Exceptions

SDO_TypeNotFoundException

Thrown if a type is not defined in the underlying model.

SDO_DAS_XML_ParserException

Thrown for any problems while parsing the given XSD File.

SDO_DAS_XML_FileException

Thrown if the specified file cannot be found.

SDO_DAS_XML::addTypes
SDO_DAS_XML::createDataObject
SDO DAS XML Funktionen


Creates SDO_DataObject for a given namespace URI and type name

SDO_DAS_XML::create
SDO_DAS_XML::createDocument
SDO DAS XML Funktionen
PHP Manual

SDO_DAS_XML::createDataObject

(^)

SDO_DAS_XML::createDataObject — Creates SDO_DataObject for a given namespace URI and type name

Beschreibung

SDO_DataObject SDO_DAS_XML::createDataObject ( string $namespace_uri , string $type_name )

Creates SDO_DataObject for a given namespace URI and type name. The type should be defined in the underlying model otherwise SDO_TypeNotFoundException will be thrown.

Parameter-Liste

namespace_uri

Namespace URI of the type name.

type_name

Type Name.

Rückgabewerte

Returns SDO_DataObject on success.

Fehler/Exceptions

SDO_TypeNotFoundException

Thrown if a type is not defined in the underlying model.

SDO_DAS_XML::create
SDO_DAS_XML::createDocument
SDO DAS XML Funktionen


Creates an XML Document object from scratch, without the need to load a document from a file or string.

SDO_DAS_XML::createDataObject
SDO_DAS_XML::loadFile
SDO DAS XML Funktionen
PHP Manual

SDO_DAS_XML::createDocument

(^)

SDO_DAS_XML::createDocument — Creates an XML Document object from scratch, without the need to load a document from a file or string.

Beschreibung

SDO_DAS_XML_Document SDO_DAS_XML::createDocument ([ string $document_element_name ] )
SDO_DAS_XML_Document SDO_DAS_XML::createDocument ( string $document_element_namespace_URI , string $document_element_name [, SDO_DataObject $dataobject ] )

Creates an XML Document object. This will contain just one empty root element on which none of the properties will have been set. The purpose of this call is to allow an application to create an XML document from scratch without the need to load a document from a file or string. The document that is created will be as if a document had been loaded that contained just a single empty document element with no attributes set or elements within it.

createDocument() may need to be told what the document element is. This will not be necessary in simple cases. When there is no ambiguity then no parameter need be passed to the method. However it is possible to load more than one schema file into the same XML DAS and in this case there may be more than one possible document element defined: furthermore it is even possible that there are two possible document elements that differ only in the namespace. To cope with these cases it is possible to specify either the document element name, or both the document element name and namespace to the method.

Parameter-Liste

document_element_name

The name of the document element. Only needed if there is more than one possibility.

document_element_namespace_URI

The namespace part of the document element name. Only needed if there is more than one possible document element with the same name.

dataobject

Rückgabewerte

Returns an SDO_XML_DAS_Document object on success.

Fehler/Exceptions

SDO_UnsupportedOperationException

Thrown if an element name or element name and namespace URI is passed, but not found in the underlying model.

SDO_DAS_XML::createDataObject
SDO_DAS_XML::loadFile
SDO DAS XML Funktionen


Returns SDO_DAS_XML_Document object for a given path to xml instance document

SDO_DAS_XML::createDocument
SDO_DAS_XML::loadString
SDO DAS XML Funktionen
PHP Manual

SDO_DAS_XML::loadFile

(^)

SDO_DAS_XML::loadFile — Returns SDO_DAS_XML_Document object for a given path to xml instance document

Beschreibung

SDO_XMLDocument SDO_DAS_XML::loadFile ( string $xml_file )

Constructs the tree of SDO_DataObjects from the given address to xml instance document. Returns SDO_DAS_XML_Document Object. Use SDO_DAS_XML_Document::getRootDataObject method to get root data object.

Parameter-Liste

xml_file

Path to Instance document. This can be a path to a local file or it can be a URL.

Rückgabewerte

Returns SDO_DAS_XML_Document object on Success or throws exception as described.

Fehler/Exceptions

SDO_TypeNotFoundException

Thrown if a type is not defined by the underlying model.

SDO_PropertyNotFoundException

Thrown if a property within a type is not defined in the underlying model.

SDO_DAS_XML_ParserException

Thrown for any problems while parsing the given XSD File.

SDO_DAS_XML_FileException

Thrown if the specified file cannot be found.

SDO_DAS_XML::createDocument
SDO_DAS_XML::loadString
SDO DAS XML Funktionen


Returns SDO_DAS_XML_Document for a given xml instance string

SDO_DAS_XML::loadFile
SDO_DAS_XML::saveFile
SDO DAS XML Funktionen
PHP Manual

SDO_DAS_XML::loadString

(^)

SDO_DAS_XML::loadString — Returns SDO_DAS_XML_Document for a given xml instance string

Beschreibung

SDO_DAS_XML_Document SDO_DAS_XML::loadString ( string $xml_string )

Constructs the tree of SDO_DataObjects from the given xml instance string. Returns SDO_DAS_XML_Document Object. Use SDO_DAS_XML_Document::getRootDataObject method to get root data object.

Parameter-Liste

xml_string

xml string.

Rückgabewerte

Returns SDO_DAS_XML_Document object on Success or throws exception as described.

Fehler/Exceptions

SDO_TypeNotFoundException

Thrown if a type is not defined by the underlying model.

SDO_PropertyNotFoundException

Thrown if the a property within a type is not defined in the underlying model.

SDO_DAS_XML_ParserException

Thrown for any problems while parsing the given XSD File.

SDO_DAS_XML::loadFile
SDO_DAS_XML::saveFile
SDO DAS XML Funktionen


Saves the SDO_DAS_XML_Document object to a file

SDO_DAS_XML::loadString
SDO_DAS_XML::saveString
SDO DAS XML Funktionen
PHP Manual

SDO_DAS_XML::saveFile

(^)

SDO_DAS_XML::saveFile — Saves the SDO_DAS_XML_Document object to a file

Beschreibung

void SDO_DAS_XML::saveFile ( SDO_XMLDocument $xdoc , string $xml_file [, int $indent ] )

Saves the SDO_DAS_XML_Document object to a file.

Parameter-Liste

xdoc

SDO_DAS_XML_Document object.

xml_file

xml file.

indent

Optional argument to specify that the xml should be formatted. A non-negative integer is the amount to indent each level of the xml. So, the integer 2, for example, will indent the xml so that each contained element is two spaces further to the right than its containing element. The integer 0 will cause the xml to be completely left-aligned. The integer -1 means no formatting - the xml will come out on one long line.

Rückgabewerte

None.

Fehler/Exceptions

SDO_DAS_XML_FileException

Thrown if the specified file cannot be found.

SDO_DAS_XML::loadString
SDO_DAS_XML::saveString
SDO DAS XML Funktionen


Saves the SDO_DAS_XML_Document object to a string

SDO_DAS_XML::saveFile
SDO_DAS_XML_Document::getRootDataObject
SDO DAS XML Funktionen
PHP Manual

SDO_DAS_XML::saveString

(^)

SDO_DAS_XML::saveString — Saves the SDO_DAS_XML_Document object to a string

Beschreibung

string SDO_DAS_XML::saveString ( SDO_XMLDocument $xdoc [, int $indent ] )

Saves the SDO_DAS_XML_Document object to string.

Parameter-Liste

xdoc

SDO_DAS_XML_Document object.

indent

Optional argument to specify that the xml should be formatted. A non-negative integer is the amount to indent each level of the xml. So, the integer 2, for example, will indent the xml so that each contained element is two spaces further to the right than its containing element. The integer 0 will cause the xml to be completely left-aligned. The integer -1 means no formatting - the xml will come out on one long line.

Rückgabewerte

xml string.

SDO_DAS_XML::saveFile
SDO_DAS_XML_Document::getRootDataObject
SDO DAS XML Funktionen


Returns the root SDO_DataObject

SDO_DAS_XML::saveString
SDO_DAS_XML_Document::getRootElementName
SDO DAS XML Funktionen
PHP Manual

SDO_DAS_XML_Document::getRootDataObject

(^)

SDO_DAS_XML_Document::getRootDataObject — Returns the root SDO_DataObject

Beschreibung

SDO_DataObject SDO_DAS_XML_Document::getRootDataObject ( void )

Returns the root SDO_DataObject.

Parameter-Liste

Rückgabewerte

Returns the root SDO_DataObject.

SDO_DAS_XML::saveString
SDO_DAS_XML_Document::getRootElementName
SDO DAS XML Funktionen


Returns root element's name

SDO_DAS_XML_Document::getRootDataObject
SDO_DAS_XML_Document::getRootElementURI
SDO DAS XML Funktionen
PHP Manual

SDO_DAS_XML_Document::getRootElementName

(^)

SDO_DAS_XML_Document::getRootElementName — Returns root element's name

Beschreibung

string SDO_DAS_XML_Document::getRootElementName ( void )

Returns root element's name.

Parameter-Liste

Rückgabewerte

Returns root element's name.

SDO_DAS_XML_Document::getRootDataObject
SDO_DAS_XML_Document::getRootElementURI
SDO DAS XML Funktionen


Returns root element's URI string

SDO_DAS_XML_Document::getRootElementName
SDO_DAS_XML_Document::setEncoding
SDO DAS XML Funktionen
PHP Manual

SDO_DAS_XML_Document::getRootElementURI

(^)

SDO_DAS_XML_Document::getRootElementURI — Returns root element's URI string

Beschreibung

string SDO_DAS_XML_Document::getRootElementURI ( void )

Returns root element's URI string.

Parameter-Liste

Rückgabewerte

Returns root element's URI string.

SDO_DAS_XML_Document::getRootElementName
SDO_DAS_XML_Document::setEncoding
SDO DAS XML Funktionen


Sets the given string as encoding

SDO_DAS_XML_Document::getRootElementURI
SDO_DAS_XML_Document::setXMLDeclaration
SDO DAS XML Funktionen
PHP Manual

SDO_DAS_XML_Document::setEncoding

(^)

SDO_DAS_XML_Document::setEncoding — Sets the given string as encoding

Beschreibung

void SDO_DAS_XML_Document::setEncoding ( string $encoding )

Sets the given string as encoding.

Parameter-Liste

encoding

Encoding string.

Rückgabewerte

None.

SDO_DAS_XML_Document::getRootElementURI
SDO_DAS_XML_Document::setXMLDeclaration
SDO DAS XML Funktionen


Sets the xml declaration

SDO_DAS_XML_Document::setEncoding
SDO_DAS_XML_Document::setXMLVersion
SDO DAS XML Funktionen
PHP Manual

SDO_DAS_XML_Document::setXMLDeclaration

(^)

SDO_DAS_XML_Document::setXMLDeclaration — Sets the xml declaration

Beschreibung

void SDO_DAS_XML_Document::setXMLDeclaration ( bool $xmlDeclatation )

Controls whether an XML declaration will be generated at the start of the XML document. Set to TRUE to generate the XML declaration, or FALSE to suppress it.

Parameter-Liste

xmlDeclatation

Boolean value to set the XML declaration.

Rückgabewerte

None.

SDO_DAS_XML_Document::setEncoding
SDO_DAS_XML_Document::setXMLVersion
SDO DAS XML Funktionen


Sets the given string as xml version

SDO_DAS_XML_Document::setXMLDeclaration
SimpleXML
SDO DAS XML Funktionen
PHP Manual

SDO_DAS_XML_Document::setXMLVersion

(^)

SDO_DAS_XML_Document::setXMLVersion — Sets the given string as xml version

Beschreibung

void SDO_DAS_XML_Document::setXMLVersion ( string $xmlVersion )

Sets the given string as xml version.

Parameter-Liste

xmlVersion

xml version string.

Rückgabewerte

None.

SDO_DAS_XML_Document::setXMLDeclaration
SimpleXML
SDO DAS XML Funktionen


SimpleXML

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • Grundlegende SimpleXML Verwendung
    • Behandlung von XML-Fehlern
  • SimpleXMLElement — Die SimpleXMLElement-Klasse
    • SimpleXMLElement::addAttribute — Fügt einem SimpleXML-Element ein Attribut hinzu
    • SimpleXMLElement::addChild — Fügt dem XML-Knoten ein Kind-Element hinzu
    • SimpleXMLElement::asXML — Gibt einen wohlgeformten XML String zurück, der auf einem SimpleXML-Element basiert
    • SimpleXMLElement::attributes — Identifiziert die Attribute eines Elements
    • SimpleXMLElement::children — Findet Kindelemente des gegebenen Knotens
    • SimpleXMLElement::__construct — Erstellt ein neues SimpleXMLElement-Objekt
    • SimpleXMLElement::count — Counts the children of an element
    • SimpleXMLElement::getDocNamespaces — Gibt die im Dokument vorhandenen Namespaces zurück
    • SimpleXMLElement::getName — Ermittelt den Namen eines XML-Elements
    • SimpleXMLElement::getNamespaces — Gibt die im Dokument verwendeten Namespaces zurück
    • SimpleXMLElement::registerXPathNamespace — Erzeugt einen Prefix/Namespace-Kontext für den nächsten XPath-Query
    • SimpleXMLElement::saveXML — Alias von SimpleXMLElement::asXML
    • SimpleXMLElement::__toString — Returns the string content
    • SimpleXMLElement::xpath — Führt ein XPath Query auf XML-Daten aus
  • SimpleXMLIterator — Die SimpleXMLIterator-Klasse
    • SimpleXMLIterator::current — Returns the current element
    • SimpleXMLIterator::getChildren — Returns the sub-elements of the current element
    • SimpleXMLIterator::hasChildren — Checks whether the current element has sub elements.
    • SimpleXMLIterator::key — Return current key
    • SimpleXMLIterator::next — Move to next element
    • SimpleXMLIterator::rewind — Rewind to the first element
    • SimpleXMLIterator::valid — Check whether the current element is valid
  • SimpleXML-Funktionen
    • simplexml_import_dom — Erzeugt ein SimpleXMLElement-Objekt aus einem DOM-Knoten
    • simplexml_load_file — Übersetzt ein XML-File in ein Objekt
    • simplexml_load_string — Übersetzt einen XML-String in ein Objekt
SDO_DAS_XML_Document::setXMLVersion
Einführung
XML-Manipulation


Einführung

Die SimpleXML-Extension bietet ein besonders einfaches und leicht zu handhabendes Toolset, um XML in ein Objekt zu konvertieren, das mit normalen Eigenschafts-Selektoren und Array-Iteratoren bearbeitet werden kann.

SimpleXML
Installation/Konfiguration
SimpleXML


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
SimpleXML


Anforderungen

Diese Erweiterung erfordert die Erweiterung libxml. Das heißt, dass die Übergabe von --enable-libxml ebenfalls benötigt wird. Dies wird jedoch implizit erfüllt, da libxml standardmäßig aktiviert wird.

Die SimpleXML-Extension setzt PHP 5 voraus.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese Erweiterung ist standardmäßig aktiviert. Sie kann bei der Kompilierung mit der folgenden Option ausgeschaltet werden: --disable-simplexml

Zu beachten ist: Vor PHP 5.1.2 musste diese Erweiterung über --enable-simplexml aktiviert werden.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
Beispiele
SimpleXML


Beispiele

Inhaltsverzeichnis

  • Grundlegende SimpleXML Verwendung
  • Behandlung von XML-Fehlern
Vordefinierte Konstanten
Grundlegende SimpleXML Verwendung
SimpleXML


Grundlegende SimpleXML Verwendung

Viele Beispiele in dieser Referenz benötigen einen XML-String. Anstatt diesen String in jedem Beispiel zu wiederholen, haben wir ihn als File abgelegt, das wir in den Beispielen inkludieren. Diese eingebundene Datei zeigen wir Ihnen im folgenden Beispiel. Alternativ dazu können Sie ein XML-Dokument erstellen und es mit simplexml_load_file() einlesen.

Beispiel #1 Einzubindende Datei example.php mit XML-String

<?php
$xmlstr = <<<XML
<?xml version='1.0' standalone='yes'?>
<movies>
 <movie>
  <title>PHP: Behind the Parser</title>
  <characters>
   <character>
    <name>Ms. Coder</name>
    <actor>Onlivia Actora</actor>
   </character>
   <character>
    <name>Mr. Coder</name>
    <actor>El Act&#211;r</actor>
   </character>
  </characters>
  <plot>
   So, this language. It's like, a programming language. Or is it a
   scripting language? All is revealed in this thrilling horror spoof
   of a documentary.
  </plot>
  <great-lines>
   <line>PHP solves all my web problems</line>
  </great-lines>
  <rating type="thumbs">7</rating>
  <rating type="stars">5</rating>
 </movie>
</movies>
XML;
?>

Die Einfachheit von SimpleXML ist besonders deutlich erkennbar, wenn man einen String oder eine Zahl aus einem XML Dokument extrahieren will.

Beispiel #2 <plot> ermitteln

<?php
include 'example.php';

$movies = new SimpleXMLElement($xmlstr);

echo $movies->movie[0]->plot;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

   So, this language. It's like, a programming language. Or is it a
   scripting language? All is revealed in this thrilling horror spoof
   of a documentary.

Um auf Elemente in einem XML-Dokument zuzugreifen, die Zeichen enthalten, die nicht dem PHP-Benennungsstandard entsprechen (z.B. der Bindestrich), können Sie den Elementnamen zwischen geschweifte Klammern und einfachen Anführungszeichen einschließen.

Beispiel #3 Auf <line> zugreifen

<?php
include 'example.php';

$movies = new SimpleXMLElement($xmlstr);

echo $movies->movie->{'great-lines'}->line;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

PHP solves all my web problems

Beispiel #4 Auf nicht-eindeutige Elemente per SimpleXML zugreifen

Existieren mehrere Instanzen eines Elements als Kinder eines einzigen Elternelements, lassen sich normale iterative Techniken einsetzen.

<?php
include 'example.php';

$movies = new SimpleXMLElement($xmlstr);

/* Für jeden <character> Knoten geben wir ein separates <name> aus. */
foreach ($movies->movie->characters->character as $character) {
   echo $character->name, ' played by ', $character->actor, PHP_EOL;
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Ms. Coder played by Onlivia Actora
Mr. Coder played by El ActÓr

Hinweis:

Eigenschaften ($movies->movie im vorherigen Beispiel) sind keine Arrays. Sie sind iterierbare und zugreifbare Objekte.

Beispiel #5 Attribute verwenden

Bis jetzt haben wir nur das Auslesen von Elementnamen und ihrer Werte betrachtet. SimpleXML kann aber auch auf die Attribute eines Elements zugreifen. Der Zugriff auf die Attribute eines Elements funktioniert genauso, als würden Sie die Elemente eines Array ansprechen.

<?php
include 'example.php';

$movies = new SimpleXMLElement($xmlstr);

/* Zugriff auf die <rating> Knoten des ersten Films
 * Die Bewertungsskala wird zusätzlich ausgegeben. */
foreach ($movies->movie[0]->rating as $rating) {
    switch((string) $rating['type']) { // Verwende Attribute als Element-Indizes
    case 'thumbs':
        echo $rating, ' Daumen hoch';
        break;
    case 'stars':
        echo $rating, ' Sterne';
        break;
    }
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

7 Daumen hoch5 Sterne

Beispiel #6 Vergleichen von Elementen und Attributen mit Text

Um ein Element oder ein Attribut mit einem String zu vergleichen oder an eine Funktion zu übergeben, die einen String als Parameter benötigt, müssen Sie das Element respektive das Attribut in einen String casten. Verwenden Sie dafür (string), ansonsten behandelt PHP das Element als Objekt.

<?php
include 'example.php';

$movies = new SimpleXMLElement($xmlstr);

if ((string) $movies->movie->title == 'PHP: Behind the Parser') {
    print 'Mein Lieblingsfilm.';
}

echo htmlentities((string) $movies->movie->title);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

My favorite movie.PHP: Behind the Parser

Beispiel #7 Zwei Elemente vergleichen

Zwei SimpleXMLElements können ab PHP 5.2.0 auch dann als unterschiedlich betrachtet werden, wenn sie auf das gleiche Element zeigen.

<?php
include 'example.php';

$movies1 = new SimpleXMLElement($xmlstr);
$movies2 = new SimpleXMLElement($xmlstr);
var_dump($movies1 == $movies2); // false ab PHP 5.2.0
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)

Beispiel #8 XPath verwenden

SimpleXML verfügt über einen eingebauten XPath-Support. So finden Sie alle <character> Elemente:

<?php
include 'example.php';

$movies = new SimpleXMLElement($xmlstr);

foreach ($movies->xpath('//character') as $character) {
    echo $character->name, ' gespielt von ', $character->actor, PHP_EOL;
}
?>

'//' wird hier als Wildcard verwendet. Um absolute Pfadangaben zu verwenden, lassen Sie einen der Slashe weg.

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Ms. Coder gespielt von Onlivia Actora
Mr. Coder gespielt von El ActÓr

Beispiel #9 Werte setzen

Die Daten in SimpleXML müssen nicht konstant sein. Das Objekt erlaubt die Veränderung all seiner Elemente.

<?php
include 'example.php';
$movies = new SimpleXMLElement($xmlstr);

$movies->movie[0]->characters->character[0]->name = 'Miss Coder';

echo $movies->asXML();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<?xml version="1.0" standalone="yes"?>
<movies>
 <movie>
  <title>PHP: Behind the Parser</title>
  <characters>
   <character>
    <name>Miss Coder</name>
    <actor>Onlivia Actora</actor>
   </character>
   <character>
    <name>Mr. Coder</name>
    <actor>El Act&#xD3;r</actor>
   </character>
  </characters>
  <plot>
   So, this language. It's like, a programming language. Or is it a
   scripting language? All is revealed in this thrilling horror spoof
   of a documentary.
  </plot>
  <great-lines>
   <line>PHP solves all my web problems</line>
  </great-lines>
  <rating type="thumbs">7</rating>
  <rating type="stars">5</rating>
 </movie>
</movies>

Beispiel #10 Elemente und Attribute hinzufügen

Seit PHP 5.1.3 verfügt SimpleXML über eine vereinfachte Möglichkeit, Kindelemente und Attribute hinzuzufügen.

<?php
include 'example.php';
$movies = new SimpleXMLElement($xmlstr);

$character = $movies->movie[0]->characters->addChild('character');
$character->addChild('name', 'Mr. Parser');
$character->addChild('actor', 'John Doe');

$rating = $movies->movie[0]->addChild('rating', 'PG');
$rating->addAttribute('type', 'mpaa');

echo $movies->asXML();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

<?xml version="1.0" standalone="yes"?>
<movies>
 <movie>
  <title>PHP: Behind the Parser</title>
  <characters>
   <character>
    <name>Ms. Coder</name>
    <actor>Onlivia Actora</actor>
   </character>
   <character>
    <name>Mr. Coder</name>
    <actor>El Act&#xD3;r</actor>
   </character>
  <character><name>Mr. Parser</name><actor>John Doe</actor></character></characters>
  <plot>
   So, this language. It's like, a programming language. Or is it a
   scripting language? All is revealed in this thrilling horror spoof
   of a documentary.
  </plot>
  <great-lines>
   <line>PHP solves all my web problems</line>
  </great-lines>
  <rating type="thumbs">7</rating>
  <rating type="stars">5</rating>
 <rating type="mpaa">PG</rating></movie>
</movies>

Beispiel #11 DOM Interoperabilität

PHP hat einen Mechanismus, um XML-Knoten zwischen dem SimpleXML und dem DOM Format zu konvertieren. Das Beispiel zeigt, wie man ein DOM Element in SimpleXML verwandelt.

<?php
$dom = new DOMDocument;
$dom->loadXML('<books><book><title>blah</title></book></books>');
if (!$dom) {
     echo 'Fehler beim Parsen des Dokuments';
     exit;
}

$books = simplexml_import_dom($dom);

echo $books->book[0]->title;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

blah

Beispiele
Behandlung von XML-Fehlern
Beispiele


Behandlung von XML-Fehlern

Die Behandlung von XML-Fehlern beim Laden von Dokumenten ist eine sehr einfache Sache. Durch die Verwendung der libxml-Funktionalität ist es möglich, alle XML-Fehlermeldungen beim Laden des Dokuments zu unterdrücken und danach über die aufgetretenen Meldungen zu iterieren.

Das libXMLError-Objekt, das von libxml_get_errors() zurückgegeben wird, hat verschiedene Eigenschaften. Dazu gehören message, line und column (Position) des jeweiligen Fehlers.

Beispiel #1 Laden eines defekten XML-Strings

<?php
libxml_use_internal_errors(true);
$sxe = simplexml_load_string("<?xml version='1.0'><broken><xml></broken>");
if ($sxe === false) {
    echo "Laden des XML fehlgeschlagen\n";
    foreach(libxml_get_errors() as $error) {
        echo "\t", $error->message;
    }
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Laden des XML fehlgeschlagen
    Blank needed here
    parsing XML declaration: '?>' expected
    Opening and ending tag mismatch: xml line 1 and broken
    Premature end of data in tag broken line 1

Siehe auch

  • libxml_use_internal_errors()
  • libxml_get_errors()
  • libXMLError

Grundlegende SimpleXML Verwendung
SimpleXMLElement
Beispiele


Die SimpleXMLElement-Klasse

(PHP 5 >= 5.0.1, PHP 7)

Einführung

Stellt ein Element in einem XML-Dokument dar.

Klassenbeschreibung

SimpleXMLElement implements Traversable {
/* Methoden */
__construct ( string $data [, int $options [, bool $data_is_url [, string $ns [, bool $is_prefix ]]]] )
void addAttribute ( string $name , string $value [, string $namespace ] )
SimpleXMLElement addChild ( string $name [, string $value [, string $namespace ]] )
mixed asXML ([ string $filename ] )
SimpleXMLElement attributes ([ string $ns [, bool $is_prefix ]] )
SimpleXMLElement children ([ string $ns [, bool $is_prefix ]] )
public int count ( void )
array getDocNamespaces ([ bool $recursive ] )
string getName ( void )
array getNamespaces ([ bool $recursive ] )
bool registerXPathNamespace ( string $prefix , string $ns )
public string __toString ( void )
array xpath ( string $path )
}

Inhaltsverzeichnis

  • SimpleXMLElement::addAttribute — Fügt einem SimpleXML-Element ein Attribut hinzu
  • SimpleXMLElement::addChild — Fügt dem XML-Knoten ein Kind-Element hinzu
  • SimpleXMLElement::asXML — Gibt einen wohlgeformten XML String zurück, der auf einem SimpleXML-Element basiert
  • SimpleXMLElement::attributes — Identifiziert die Attribute eines Elements
  • SimpleXMLElement::children — Findet Kindelemente des gegebenen Knotens
  • SimpleXMLElement::__construct — Erstellt ein neues SimpleXMLElement-Objekt
  • SimpleXMLElement::count — Counts the children of an element
  • SimpleXMLElement::getDocNamespaces — Gibt die im Dokument vorhandenen Namespaces zurück
  • SimpleXMLElement::getName — Ermittelt den Namen eines XML-Elements
  • SimpleXMLElement::getNamespaces — Gibt die im Dokument verwendeten Namespaces zurück
  • SimpleXMLElement::registerXPathNamespace — Erzeugt einen Prefix/Namespace-Kontext für den nächsten XPath-Query
  • SimpleXMLElement::saveXML — Alias von SimpleXMLElement::asXML
  • SimpleXMLElement::__toString — Returns the string content
  • SimpleXMLElement::xpath — Führt ein XPath Query auf XML-Daten aus
Behandlung von XML-Fehlern
SimpleXMLElement::addAttribute
SimpleXML


Fügt einem SimpleXML-Element ein Attribut hinzu

SimpleXMLElement
SimpleXMLElement::addChild
SimpleXMLElement
PHP Manual

SimpleXMLElement::addAttribute

(PHP 5 >= 5.1.3, PHP 7)

SimpleXMLElement::addAttribute — Fügt einem SimpleXML-Element ein Attribut hinzu

Beschreibung

void addAttribute ( string $name , string $value [, string $namespace ] )

Fügt einem SimpleXML-Element ein Attribut hinzu.

Parameter-Liste

name

Der Name des hinzuzufügenden Attributs.

value

Der Wert des Attributs.

namespace

Wenn angegeben, der Namespace, zu dem das Attribut gehört.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Hinzufügen von Attributen und Kindern zu einem SimpleXML-Element

<?php

include 'example.php';

$sxe = new SimpleXMLElement($xmlstr);
$sxe->addAttribute('type', 'documentary');

$movie = $sxe->addChild('movie');
$movie->addChild('title', 'PHP2: Noch mehr Parser-Geschichten');
$movie->addChild('plot', 'Alles ueber die Leute, die das Kind am Leben erhalten.');

$characters = $movie->addChild('characters');
$character  = $characters->addChild('character');
$character->addChild('name', 'Mr. Parser');
$character->addChild('actor', 'John Doe');

$rating = $movie->addChild('rating', '5');
$rating->addAttribute('type', 'stars');

echo $sxe->asXML();

?>

Siehe auch

  • SimpleXMLElement::addChild() - Fügt dem XML-Knoten ein Kind-Element hinzu

SimpleXMLElement
SimpleXMLElement::addChild
SimpleXMLElement


Fügt dem XML-Knoten ein Kind-Element hinzu

SimpleXMLElement::addAttribute
SimpleXMLElement::asXML
SimpleXMLElement
PHP Manual

SimpleXMLElement::addChild

(PHP 5 >= 5.1.3, PHP 7)

SimpleXMLElement::addChild — Fügt dem XML-Knoten ein Kind-Element hinzu

Beschreibung

SimpleXMLElement addChild ( string $name [, string $value [, string $namespace ]] )

Fügt ein Kind-Element an den Knoten und gibt ein SimpleXMLElement des Kindes zurück.

Parameter-Liste

name

Der Name des hinzuzufügenden Kind-Elements.

value

Wenn angegeben, der Wert des Kind-Elements.

namespace

Wenn angegeben, der Namespace, zu dem das Kind-Element gehört.

Rückgabewerte

Die addChild-Methode gibt ein SimpleXMLElement-Objekt zurück, das das zum XML-Knoten hinzugefügte Kind repräsentiert.

Beispiele

Beispiel #1 Hinzufügen von Attributen und Kindern zu einem SimpleXML-Element

<?php

include 'example.php';

$sxe = new SimpleXMLElement($xmlstr);
$sxe->addAttribute('type', 'documentary');

$movie = $sxe->addChild('movie');
$movie->addChild('title', 'PHP2: Noch mehr Parser-Geschichten');
$movie->addChild('plot', 'Alles ueber die Leute, die das Kind am Leben erhalten.');

$characters = $movie->addChild('characters');
$character  = $characters->addChild('character');
$character->addChild('name', 'Mr. Parser');
$character->addChild('actor', 'John Doe');

$rating = $movie->addChild('rating', '5');
$rating->addAttribute('type', 'stars');

echo $sxe->asXML();

?>

Siehe auch

  • SimpleXMLElement::addAttribute() - Fügt einem SimpleXML-Element ein Attribut hinzu

SimpleXMLElement::addAttribute
SimpleXMLElement::asXML
SimpleXMLElement


Gibt einen wohlgeformten XML String zurück, der auf einem SimpleXML-Element basiert

SimpleXMLElement::addChild
SimpleXMLElement::attributes
SimpleXMLElement
PHP Manual

SimpleXMLElement::asXML

(PHP 5 >= 5.0.1, PHP 7)

SimpleXMLElement::asXML — Gibt einen wohlgeformten XML String zurück, der auf einem SimpleXML-Element basiert

Beschreibung

mixed asXML ([ string $filename ] )

Die asXML Methode formatiert den Inhalt des Elternobjekts als XML Version 1.0.

Parameter-Liste

filename

Sofern angegeben, schreibt die Funktion die Daten in das File anstatt sie direkt zurück zu geben.

Rückgabewerte

Ist der Parameter filename nicht angegeben, gibt die Funktion einen String bei erfolgreicher Umwandlung oder FALSE bei einem Fehler zurück. Ist der Parameter angegeben, wird TRUE zurückgegeben, wenn die Datei erfolgreich erstellt werden konnte; ansonsten ist der Rückgabewert FALSE.

Beispiele

Beispiel #1 XML erstellen

<?php
$string = <<<XML
<a>
 <b>
  <c>text</c>
  <c>zeugs</c>
 </b>
 <d>
  <c>code</c>
 </d>
</a>
XML;

$xml = new SimpleXMLElement($string);

echo $xml->asXML(); // <?xml ... <a><b><c>text</c><c>zeugs</c> ...

?>

asXML lässt sich ebenfalls auf Xpath-Ergebnisse anwenden:

Beispiel #2 Anwendung von asXML() auf SimpleXMLElement::xpath()-Ergebnisse

<?php
// Fortsetzung des obigen Beispiels

/* Suche nach <a><b><c> */
$result = $xml->xpath('/a/b/c');

while(list( , $node) = each($result)) {
    echo $node->asXML(); // <c>text</c> and <c>zeugs</c>
}
?>

SimpleXMLElement::addChild
SimpleXMLElement::attributes
SimpleXMLElement


Identifiziert die Attribute eines Elements

SimpleXMLElement::asXML
SimpleXMLElement::children
SimpleXMLElement
PHP Manual

SimpleXMLElement::attributes

(PHP 5 >= 5.0.1, PHP 7)

SimpleXMLElement::attributes — Identifiziert die Attribute eines Elements

Beschreibung

SimpleXMLElement attributes ([ string $ns [, bool $is_prefix ]] )

Die Funktion liefert die Attribute und Werte, die innerhalb eines XML-Tags definiert wurden.

Hinweis: SimpleXML definiert für die meisten Methoden Regeln für das Hinzufügen von iterativen Eigenschaften. Diese können weder mit var_dump() oder auf andere Weise angezeigt werden.

Parameter-Liste

ns

Ein optionaler Namespace für das abgefragte Attribut.

is_prefix

Standardmäßig auf FALSE gesetzt.

Rückgabewerte

Beispiele

Beispiel #1 Einen XML-String auswerten

<?php
$string = <<<XML
<a xmlns:b>
 <foo name="one" game="lonely">1</foo>
</a>
XML;

$xml = simplexml_load_string($string);
foreach($xml->foo[0]->attributes() as $a => $b) {
    echo $a,'="',$b,"\"\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

name="one"
game="lonely"

SimpleXMLElement::asXML
SimpleXMLElement::children
SimpleXMLElement


Findet Kindelemente des gegebenen Knotens

SimpleXMLElement::attributes
SimpleXMLElement::__construct
SimpleXMLElement
PHP Manual

SimpleXMLElement::children

(PHP 5 >= 5.0.1, PHP 7)

SimpleXMLElement::children — Findet Kindelemente des gegebenen Knotens

Beschreibung

SimpleXMLElement children ([ string $ns [, bool $is_prefix ]] )

Die Methode findet Kinder des Elements, dem es angehört. Das Ergebnis entspricht den normalen Iterierungsregeln.

Hinweis: SimpleXML definiert für die meisten Methoden Regeln für das Hinzufügen von iterativen Eigenschaften. Diese können weder mit var_dump() oder auf andere Weise angezeigt werden.

Parameter-Liste

ns

is_prefix

Standardmäßig auf FALSE gesetzt.

Rückgabewerte

Changelog

Version | Beschreibung
5.2.0 | Der optionale Parameter is_prefix wurde hinzugefügt.

Beispiele

Beispiel #1 Durch ein children() Pseudo-Array traversieren

<?php
$xml = new SimpleXMLElement(
'<person>
 <child role="Sohn">
  <child role="Tochter"/>
 </child>
 <child role="Tochter">
  <child role="Sohn">
   <child role="Sohn"/>
  </child>
 </child>
</person>');

foreach ($xml->children() as $second_gen) {
    echo ' Die Person zeugte eine/n ' . $second_gen['role'];

    foreach ($second_gen->children() as $third_gen) {
        echo ', die/der eine/n ' . $third_gen['role'] . ' zeugte;';

        foreach ($third_gen->children() as $fourth_gen) {
            echo ' und diese/r ' . $third_gen['role'] .
                ' zeugte eine/n ' . $fourth_gen['role'];
        }
    }
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

 Die Person zeugte eine/n Sohn, die/der eine/n Tochter zeugte; Die Person zeugte
 eine/n Tochter, die/der eine/n Sohn zeugte; und diese/r Sohn zeugte eine/n Sohn

SimpleXMLElement::attributes
SimpleXMLElement::__construct
SimpleXMLElement


Erstellt ein neues SimpleXMLElement-Objekt

SimpleXMLElement::children
SimpleXMLElement::count
SimpleXMLElement
PHP Manual

SimpleXMLElement::__construct

(PHP 5 >= 5.0.1, PHP 7)

SimpleXMLElement::__construct — Erstellt ein neues SimpleXMLElement-Objekt

Beschreibung

__construct ( string $data [, int $options [, bool $data_is_url [, string $ns [, bool $is_prefix ]]]] )

Erstellt ein neues SimpleXMLElement-Objekt.

Parameter-Liste

data

Ein wohlgeformter XML-String, oder der Pfad oder URL zu einem XML-Dokument, wenn data_is_url TRUE ist.

options

Optional zu verwenden, um weitere Libxml Parameter anzugeben.

data_is_url

Standardmäßig ist data_is_url FALSE. Verwenden Sie TRUE, um data als Pfad oder URL zu einem XML-Dokument an Stelle eines Daten-Strings anzugeben.

ns

is_prefix

Rückgabewerte

Gibt ein SimpleXMLElement-Objekt zurück, das data repräsentiert.

Fehler/Exceptions

Erzeugt eine E_WARNING-Fehlermeldung für jeden gefundenen Fehler in den XML-Daten und wirft eine Exception, sobald ein solcher Fehler festgestellt wurde.

Tipp

libxml_use_internal_errors() kann verwendet werden, um alle XML-Fehler zu unterdrücken, und libxml_get_errors(), um danach über diese zu iterieren.

Beispiele

Beispiel #1 Erstellen eines SimpleXMLElement-Objekts

<?php

include 'example.php';

$sxe = new SimpleXMLElement($xmlstr);
echo $sxe->movie[0]->title;

?>

Beispiel #2 Erstellen eines SimpleXMLElement-Objekts von einem URL

<?php

$sxe = new SimpleXMLElement('http://example.org/document.xml', NULL, TRUE);
echo $sxe->asXML();

?>

Siehe auch

  • simplexml_load_string() - Übersetzt einen XML-String in ein Objekt
  • simplexml_load_file() - Übersetzt ein XML-File in ein Objekt
  • Behandlung von XML-Fehlern
  • libxml_use_internal_errors() - Disable libxml errors and allow user to fetch error information as needed

SimpleXMLElement::children
SimpleXMLElement::count
SimpleXMLElement


Counts the children of an element

SimpleXMLElement::__construct
SimpleXMLElement::getDocNamespaces
SimpleXMLElement
PHP Manual

SimpleXMLElement::count

(PHP 5 >= 5.3.0, PHP 7)

SimpleXMLElement::count — Counts the children of an element

Beschreibung

public int SimpleXMLElement::count ( void )

This method counts the number of children of an element.

Rückgabewerte

Returns the number of elements of an element.

Beispiele

Beispiel #1 Counting the number of children

<?php
$xml = <<<EOF
<people>
 <person name="Person 1">
  <child/>
  <child/>
  <child/>
 </person>
 <person name="Person 2">
  <child/>
  <child/>
  <child/>
  <child/>
  <child/>
 </person>
</people>
EOF;

$elem = new SimpleXMLElement($xml);

foreach ($elem as $person) {
    printf("%s has got %d children.\n", $person['name'], $person->count());
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Person 1 has got 3 children.
Person 2 has got 5 children.

Siehe auch

  • SimpleXMLElement::children() - Findet Kindelemente des gegebenen Knotens

SimpleXMLElement::__construct
SimpleXMLElement::getDocNamespaces
SimpleXMLElement


Gibt die im Dokument vorhandenen Namespaces zurück

SimpleXMLElement::count
SimpleXMLElement::getName
SimpleXMLElement
PHP Manual

SimpleXMLElement::getDocNamespaces

(PHP 5 >= 5.1.2, PHP 7)

SimpleXMLElement::getDocNamespaces — Gibt die im Dokument vorhandenen Namespaces zurück

Beschreibung

array getDocNamespaces ([ bool $recursive ] )

Gibt die im Dokument vorhandenen Namespaces zurück.

Parameter-Liste

recursive

Sofern angegeben, werden alle Namespaces zurückgegeben, die in Eltern- und Kindknoten deklariert wurden. Andernfalls werden nur die im Wurzelknoten deklarierten Namespaces zurückgegeben.

Rückgabewerte

Die getDocNamespaces-Methode gibt ein Array der Namespaces mit den ihnen zugeordneten URIs zurück.

Beispiele

Beispiel #1 Ermitteln der Dokument-Namespaces

<?php

$xml = <<<XML
<?xml version="1.0" standalone="yes"?>
<people xmlns:p="http://example.org/ns">
    <p:person id="1">John Doe</p:person>
    <p:person id="2">Susie Q. Public</p:person>
</people>
XML;

$sxe = new SimpleXMLElement($xml);

$namespaces = $sxe->getDocNamespaces();
var_dump($namespaces);

?>

Beispiel #2 Arbeiten mit multiplen Namespaces

<?php

$xml = <<<XML
<?xml version="1.0" standalone="yes"?>
<people xmlns:p="http://example.org/ns" xmlns:t="http://example.org/test">
    <p:person t:id="1">John Doe</p:person>
    <p:person t:id="2" a:addr="123 Street" xmlns:a="http://example.org/addr">
        Susie Q. Public
    </p:person>
</people>
XML;

$sxe = new SimpleXMLElement($xml);

$namespaces = $sxe->getDocNamespaces(TRUE);
var_dump($namespaces);

?>

Siehe auch

  • SimpleXMLElement::getNamespaces() - Gibt die im Dokument verwendeten Namespaces zurück
  • SimpleXMLElement::registerXPathNamespace() - Erzeugt einen Prefix/Namespace-Kontext für den nächsten XPath-Query

SimpleXMLElement::count
SimpleXMLElement::getName
SimpleXMLElement


Ermittelt den Namen eines XML-Elements

SimpleXMLElement::getDocNamespaces
SimpleXMLElement::getNamespaces
SimpleXMLElement
PHP Manual

SimpleXMLElement::getName

(PHP 5 >= 5.1.3, PHP 7)

SimpleXMLElement::getName — Ermittelt den Namen eines XML-Elements

Beschreibung

string getName ( void )

Ermittelt den Namen eines XML-Elements.

Rückgabewerte

Die getName-Methode gibt den Namen des durch das SimpleXMLElement-Objekt referenzierte XML-Tag als String zurück.

Beispiele

Beispiel #1 Ermitteln des XML-Element-Namens

<?php

$sxe = new SimpleXMLElement($xmlstr);

echo $sxe->getName() . "\n";

foreach ($sxe->children() as $child)
{
    echo $child->getName() . "\n";
}

?>

SimpleXMLElement::getDocNamespaces
SimpleXMLElement::getNamespaces
SimpleXMLElement


Gibt die im Dokument verwendeten Namespaces zurück

SimpleXMLElement::getName
SimpleXMLElement::registerXPathNamespace
SimpleXMLElement
PHP Manual

SimpleXMLElement::getNamespaces

(PHP 5 >= 5.1.2, PHP 7)

SimpleXMLElement::getNamespaces — Gibt die im Dokument verwendeten Namespaces zurück

Beschreibung

array getNamespaces ([ bool $recursive ] )

Gibt die im Dokument verwendeten Namespaces zurück

Parameter-Liste

recursive

Sofern angegeben, werden alle Namespaces, die in Eltern- und Kindknoten verwendet werden, zurückgegeben. Ansonsten werden nur die Namespaces des Wurzelknoten zurückgegeben.

Rückgabewerte

Die getNamespaces-Methode gibt ein Array der Namespaces mit ihren zugehörigen URIs zurück.

Beispiele

Beispiel #1 Verwendete Dokument-Namespaces zurückgeben

<?php

$xml = <<<XML
<?xml version="1.0" standalone="yes"?>
<people xmlns:p="http://example.org/ns" xmlns:t="http://example.org/test">
    <p:person id="1">John Doe</p:person>
    <p:person id="2">Susie Q. Public</p:person>
</people>
XML;

$sxe = new SimpleXMLElement($xml);

$namespaces = $sxe->getNamespaces(true);
var_dump($namespaces);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(1) {
  ["p"]=>
  string(21) "http://example.org/ns"
}

Siehe auch

  • SimpleXMLElement::getDocNamespaces() - Gibt die im Dokument vorhandenen Namespaces zurück
  • SimpleXMLElement::registerXPathNamespace() - Erzeugt einen Prefix/Namespace-Kontext für den nächsten XPath-Query

SimpleXMLElement::getName
SimpleXMLElement::registerXPathNamespace
SimpleXMLElement


Erzeugt einen Prefix/Namespace-Kontext für den nächsten XPath-Query

SimpleXMLElement::getNamespaces
SimpleXMLElement::saveXML
SimpleXMLElement
PHP Manual

SimpleXMLElement::registerXPathNamespace

(PHP 5 >= 5.2.0, PHP 7)

SimpleXMLElement::registerXPathNamespace — Erzeugt einen Prefix/Namespace-Kontext für den nächsten XPath-Query

Beschreibung

bool registerXPathNamespace ( string $prefix , string $ns )

Erzeugt einen Prefix/Namespace-Kontext für den nächsten XPath-Query. Dies ist besonders hilfreich, wenn der Anbieter des übergebenen XML-Dokuments die Namespace-Prefixe verändert hat. registerXPathNamespace erzeugt einen Prefix für die dazugehörigen Namespaces, die das Abfragen der Knoten in diesem Namespace erlauben, ohne dass der Code verändert werden muss, um die vom Anbieter diktierten neuen Prefixes zu erlauben.

Parameter-Liste

prefix

Der Namespace-Prefix der im XPath-Query für den angegebenen Namespace verwendet werden soll. ns.

ns

Der Namespace, der für den XPath-Query verwendet wird. Dies muss einem Namespace entsprechen, der im XML-Dokument oder im XPath-Query verwendet wird.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Einen Namespace-Prefix zur Verwendung in einem XPath-Query setzen

<?php

$xml = <<<EOD
<book xmlns:chap="http://example.org/chapter-title">
    <title>My Book</title>
    <chapter id="1">
        <chap:title>Chapter 1</chap:title>
        <para>Donec velit. Nullam eget tellus vitae tortor gravida scelerisque.
            In orci lorem, cursus imperdiet, ultricies non, hendrerit et, orci.
            Nulla facilisi. Nullam velit nisl, laoreet id, condimentum ut,
            ultricies id, mauris.</para>
    </chapter>
    <chapter id="2">
        <chap:title>Chapter 2</chap:title>
        <para>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin
            gravida. Phasellus tincidunt massa vel urna. Proin adipiscing quam
            vitae odio. Sed dictum. Ut tincidunt lorem ac lorem. Duis eros
            tellus, pharetra id, faucibus eu, dapibus dictum, odio.</para>
    </chapter>
</book>
EOD;

$sxe = new SimpleXMLElement($xml);

$sxe->registerXPathNamespace('c', 'http://example.org/chapter-title');
$result = $sxe->xpath('//c:title');

foreach ($result as $title) {
  echo $title . "\n";
}

?>

Beachten Sie wie das im Beispiel vorgestellte XML-Dokument die Namespaces mit dem Prefix chap verwendet. Stellen Sie sich vor, dass dieses Dokument (oder ein anderes dieser Art) in der Vergangenheit den Prefix c für den selben Namespace verwendete. Seit dieser Änderung gibt der XPath-Query keine gültigen Resultate mehr zurück und der Query benötigt eine Überarbeitung. Die Verwendung von registerXPathNamespace bewahrt Sie vor zukünftigen Modifikationen des Querys, auch wenn der Anbieter die Namespace-Prefixes verändert.

Siehe auch

  • SimpleXMLElement::getDocNamespaces() - Gibt die im Dokument vorhandenen Namespaces zurück
  • SimpleXMLElement::getNamespaces() - Gibt die im Dokument verwendeten Namespaces zurück

SimpleXMLElement::getNamespaces
SimpleXMLElement::saveXML
SimpleXMLElement


Alias von SimpleXMLElement::asXML

SimpleXMLElement::registerXPathNamespace
SimpleXMLElement::__toString
SimpleXMLElement
PHP Manual

SimpleXMLElement::saveXML

(PHP 5 >= 5.2.0, PHP 7)

SimpleXMLElement::saveXML — Alias von SimpleXMLElement::asXML()

Beschreibung

Diese Methode ist ein Alias für: SimpleXMLElement::asXML()

SimpleXMLElement::registerXPathNamespace
SimpleXMLElement::__toString
SimpleXMLElement


Returns the string content

SimpleXMLElement::saveXML
SimpleXMLElement::xpath
SimpleXMLElement
PHP Manual

SimpleXMLElement::__toString

(No version information available, might only be in Git)

SimpleXMLElement::__toString — Returns the string content

Beschreibung

public string SimpleXMLElement::__toString ( void )

Returns text content that is directly in this element. Does not return text content that is inside this element's children.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the string content on success or an empty string on failure.

Beispiele

Beispiel #1 Get string content

<?php
$xml = new SimpleXMLElement('<a>1 <b>2 </b>3</a>');
echo $xml;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1 3

Siehe auch

  • SimpleXMLElement::asXML() - Gibt einen wohlgeformten XML String zurück, der auf einem SimpleXML-Element basiert

SimpleXMLElement::saveXML
SimpleXMLElement::xpath
SimpleXMLElement


Führt ein XPath Query auf XML-Daten aus

SimpleXMLElement::__toString
SimpleXMLIterator
SimpleXMLElement
PHP Manual

SimpleXMLElement::xpath

(PHP 5 >= 5.2.0, PHP 7)

SimpleXMLElement::xpath — Führt ein XPath Query auf XML-Daten aus

Beschreibung

array xpath ( string $path )

Die xpath-Methode durchsucht den SimpleXML-Knoten nach Kind-Elementen, die der XPath path-Anfrage entsprechen.

Parameter-Liste

path

Eine XPath Pfad-Anfrage

Rückgabewerte

Die Funktion gibt ein Array von SimpleXMLElement-Objekten oder im Fehlerfall FALSE zurück.

Beispiele

Beispiel #1 Xpath

<?php
$string = <<<XML
<a>
 <b>
  <c>text</c>
  <c>zeugs</c>
 </b>
 <d>
  <c>code</c>
 </d>
</a>
XML;

$xml = new SimpleXMLElement($string);

/* Suche nach <a><b><c> */
$result = $xml->xpath('/a/b/c');

while(list( , $node) = each($result)) {
    echo '/a/b/c: ',$node,"\n";
}

/* Relative Pfade funktionieren ebenfalls ... */
$result = $xml->xpath('b/c');

while(list( , $node) = each($result)) {
    echo 'b/c: ',$node,"\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

/a/b/c: text
/a/b/c: zeugs
b/c: text
b/c: zeugs

Beachten Sie, dass beide Ergebnisse gleich sind.

SimpleXMLElement::__toString
SimpleXMLIterator
SimpleXMLElement


Die SimpleXMLIterator-Klasse

(PHP 5 >= 5.1.0, PHP 7)

Einführung

Der SimpleXMLIterator verwaltet rekursive Interation über alle Knotenpunkte eines SimpleXMLElement-Objektes.

Klassenbeschreibung

SimpleXMLIterator extends SimpleXMLElement implements RecursiveIterator , Countable {
/* Methoden */
public mixed current ( void )
public SimpleXMLIterator getChildren ( void )
public bool hasChildren ( void )
public mixed key ( void )
public void next ( void )
public void rewind ( void )
public bool valid ( void )
/* Geerbte Methoden */
__construct ( string $data [, int $options [, bool $data_is_url [, string $ns [, bool $is_prefix ]]]] )
void addAttribute ( string $name , string $value [, string $namespace ] )
SimpleXMLElement addChild ( string $name [, string $value [, string $namespace ]] )
mixed asXML ([ string $filename ] )
SimpleXMLElement attributes ([ string $ns [, bool $is_prefix ]] )
SimpleXMLElement children ([ string $ns [, bool $is_prefix ]] )
public int SimpleXMLElement::count ( void )
array getDocNamespaces ([ bool $recursive ] )
string getName ( void )
array getNamespaces ([ bool $recursive ] )
bool registerXPathNamespace ( string $prefix , string $ns )
public string SimpleXMLElement::__toString ( void )
array xpath ( string $path )
}

Inhaltsverzeichnis

  • SimpleXMLIterator::current — Returns the current element
  • SimpleXMLIterator::getChildren — Returns the sub-elements of the current element
  • SimpleXMLIterator::hasChildren — Checks whether the current element has sub elements.
  • SimpleXMLIterator::key — Return current key
  • SimpleXMLIterator::next — Move to next element
  • SimpleXMLIterator::rewind — Rewind to the first element
  • SimpleXMLIterator::valid — Check whether the current element is valid
SimpleXMLElement::xpath
SimpleXMLIterator::current
SimpleXML


Returns the current element

SimpleXMLIterator
SimpleXMLIterator::getChildren
SimpleXMLIterator
PHP Manual

SimpleXMLIterator::current

(PHP 5 >= 5.1.0, PHP 7)

SimpleXMLIterator::current — Returns the current element

Beschreibung

public mixed SimpleXMLIterator::current ( void )

This method returns the current element as a SimpleXMLIterator object or NULL.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the current element as a SimpleXMLIterator object or NULL on failure.

Beispiele

Beispiel #1 Return the current element

<?php
$xmlIterator = new SimpleXMLIterator('<books><book>PHP basics</book><book>XML basics</book></books>');
var_dump($xmlIterator->current());

$xmlIterator->rewind(); // rewind to first element
var_dump($xmlIterator->current());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

NULL
object(SimpleXMLIterator)#2 (1) {
  [0]=>
  string(10) "PHP basics"
}

Siehe auch

  • SimpleXMLIterator::key() - Return current key
  • SimpleXMLIterator::next() - Move to next element
  • SimpleXMLIterator::rewind() - Rewind to the first element
  • SimpleXMLIterator::valid() - Check whether the current element is valid
  • SimpleXMLElement

SimpleXMLIterator
SimpleXMLIterator::getChildren
SimpleXMLIterator


Returns the sub-elements of the current element

SimpleXMLIterator::current
SimpleXMLIterator::hasChildren
SimpleXMLIterator
PHP Manual

SimpleXMLIterator::getChildren

(PHP 5 >= 5.1.0, PHP 7)

SimpleXMLIterator::getChildren — Returns the sub-elements of the current element

Beschreibung

public SimpleXMLIterator SimpleXMLIterator::getChildren ( void )

This method returns a SimpleXMLIterator object containing sub-elements of the current SimpleXMLIterator element.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns a SimpleXMLIterator object containing the sub-elements of the current element.

Beispiele

Beispiel #1 Return the sub-elements of the current element

<?php
$xml = <<<XML
<books>
    <book>
        <title>PHP Basics</title>
        <author>Jim Smith</author>
    </book>
    <book>XML basics</book>
</books>
XML;

$xmlIterator = new SimpleXMLIterator($xml);
for( $xmlIterator->rewind(); $xmlIterator->valid(); $xmlIterator->next() ) {
    foreach($xmlIterator->getChildren() as $name => $data) {
    echo "The $name is '$data' from the class " . get_class($data) . "\n";
    }
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

The title is 'PHP Basics' from the class SimpleXMLIterator
The author is 'Jim Smith' from the class SimpleXMLIterator

SimpleXMLIterator::current
SimpleXMLIterator::hasChildren
SimpleXMLIterator


Checks whether the current element has sub elements.

SimpleXMLIterator::getChildren
SimpleXMLIterator::key
SimpleXMLIterator
PHP Manual

SimpleXMLIterator::hasChildren

(PHP 5 >= 5.1.0, PHP 7)

SimpleXMLIterator::hasChildren — Checks whether the current element has sub elements.

Beschreibung

public bool SimpleXMLIterator::hasChildren ( void )

This method checks whether the current SimpleXMLIterator element has sub-elements.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if the current element has sub-elements, otherwise FALSE

Beispiele

Beispiel #1 Check whether the current element has sub-elements

<?php
$xml = <<<XML
<books>
    <book>
        <title>PHP Basics</title>
        <author>Jim Smith</author>
    </book>
    <book>XML basics</book>
</books>
XML;

$xmlIterator = new SimpleXMLIterator( $xml );
for( $xmlIterator->rewind(); $xmlIterator->valid(); $xmlIterator->next() ) {
    if($xmlIterator->hasChildren()) {
        var_dump($xmlIterator->current());
    }
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(SimpleXMLIterator)#2 (2) {
  ["title"]=>
  string(10) "PHP Basics"
  ["author"]=>
  string(9) "Jim Smith"
}

SimpleXMLIterator::getChildren
SimpleXMLIterator::key
SimpleXMLIterator


Return current key

SimpleXMLIterator::hasChildren
SimpleXMLIterator::next
SimpleXMLIterator
PHP Manual

SimpleXMLIterator::key

(PHP 5 >= 5.1.0, PHP 7)

SimpleXMLIterator::key — Return current key

Beschreibung

public mixed SimpleXMLIterator::key ( void )

This method gets the XML tag name of the current element.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the XML tag name of the element referenced by the current SimpleXMLIterator object or FALSE

Beispiele

Beispiel #1 Get the current XML tag key

<?php
$xmlIterator = new SimpleXMLIterator('<books><book>PHP basics</book><book>XML basics</book></books>');

echo var_dump($xmlIterator->key());
$xmlIterator->rewind(); // rewind to the first element
echo var_dump($xmlIterator->key());

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
string(4) "book"

SimpleXMLIterator::hasChildren
SimpleXMLIterator::next
SimpleXMLIterator


Move to next element

SimpleXMLIterator::key
SimpleXMLIterator::rewind
SimpleXMLIterator
PHP Manual

SimpleXMLIterator::next

(PHP 5 >= 5.1.0, PHP 7)

SimpleXMLIterator::next — Move to next element

Beschreibung

public void SimpleXMLIterator::next ( void )

This method moves the SimpleXMLIterator to the next element.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Move to the next element

<?php
$xmlIterator = new SimpleXMLIterator('<books><book>PHP Basics</book><book>XML basics</book></books>');
$xmlIterator->rewind(); // rewind to the first element
$xmlIterator->next();

var_dump($xmlIterator->current());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(SimpleXMLIterator)#2 (1) {
  [0]=>
  string(10) "XML basics"
}

SimpleXMLIterator::key
SimpleXMLIterator::rewind
SimpleXMLIterator


Rewind to the first element

SimpleXMLIterator::next
SimpleXMLIterator::valid
SimpleXMLIterator
PHP Manual

SimpleXMLIterator::rewind

(PHP 5 >= 5.1.0, PHP 7)

SimpleXMLIterator::rewind — Rewind to the first element

Beschreibung

public void SimpleXMLIterator::rewind ( void )

This method rewinds the SimpleXMLIterator to the first element.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Rewind to the first element

<?php
$xmlIterator = new SimpleXMLIterator('<books><book>PHP Basics</book><book>XML Basics</book></books>');
$xmlIterator->rewind();

var_dump($xmlIterator->current());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(SimpleXMLIterator)#2 (1) {
  [0]=>
  string(10) "PHP Basics"
}

SimpleXMLIterator::next
SimpleXMLIterator::valid
SimpleXMLIterator


Check whether the current element is valid

SimpleXMLIterator::rewind
SimpleXML-Funktionen
SimpleXMLIterator
PHP Manual

SimpleXMLIterator::valid

(PHP 5 >= 5.1.0, PHP 7)

SimpleXMLIterator::valid — Check whether the current element is valid

Beschreibung

public bool SimpleXMLIterator::valid ( void )

This method checks if the current element is valid after calls to SimpleXMLIterator::rewind() or SimpleXMLIterator::next().

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns TRUE if the current element is valid, otherwise FALSE

Beispiele

Beispiel #1 Check whether the current element is valid

<?php
$xmlIterator = new SimpleXMLIterator('<books><book>SQL Basics</book></books>');

$xmlIterator->rewind(); // rewind to the first element
echo var_dump($xmlIterator->valid()); // bool(true)

$xmlIterator->next(); // advance to the next element
echo var_dump($xmlIterator->valid()); // bool(false) because there is only one element
?>

SimpleXMLIterator::rewind
SimpleXML-Funktionen
SimpleXMLIterator


SimpleXML-Funktionen

Inhaltsverzeichnis

  • simplexml_import_dom — Erzeugt ein SimpleXMLElement-Objekt aus einem DOM-Knoten
  • simplexml_load_file — Übersetzt ein XML-File in ein Objekt
  • simplexml_load_string — Übersetzt einen XML-String in ein Objekt
SimpleXMLIterator::valid
simplexml_import_dom
SimpleXML


Erzeugt ein SimpleXMLElement-Objekt aus einem DOM-Knoten

SimpleXML-Funktionen
simplexml_load_file
SimpleXML-Funktionen
PHP Manual

simplexml_import_dom

(PHP 5, PHP 7)

simplexml_import_dom — Erzeugt ein SimpleXMLElement-Objekt aus einem DOM-Knoten

Beschreibung

SimpleXMLElement simplexml_import_dom ( DOMNode $node [, string $class_name = "SimpleXMLElement" ] )

Die Funktion wandelt einen Knoten eines DOM-Dokuments in einen SimpleXML-Knoten. Das neue Objekt kann wie ein normales SimpleXML-Element verwendet werden.

Parameter-Liste

node

Ein DOM-Element-Knoten.

class_name

Sie können diesen optionalen Parameter verwenden, damit simplexml_import_dom() ein Objekt der angegebenen Klasse zurückgibt. Diese Klasse sollte die SimpleXMLElement-Klasse erweitern.

Rückgabewerte

Gibt ein SimpleXMLElement zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 DOM Import

<?php
$dom = new DOMDocument;
$dom->loadXML('<buecher><buch><titel>blah</titel></buch></buecher>');
if (!$dom) {
    echo 'Fehler beim Parsen des Dokuments';
    exit;
}

$s = simplexml_import_dom($dom);

echo $s->buch[0]->titel;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

blah

Siehe auch

  • dom_import_simplexml() - Ermittelt ein DOMElement-Objekt aus einem SimpleXMLElement-Objekt
  • Grundlegende SimpleXML Verwendung

SimpleXML-Funktionen
simplexml_load_file
SimpleXML-Funktionen


Übersetzt ein XML-File in ein Objekt

simplexml_import_dom
simplexml_load_string
SimpleXML-Funktionen
PHP Manual

simplexml_load_file

(PHP 5, PHP 7)

simplexml_load_file — Übersetzt ein XML-File in ein Objekt

Beschreibung

SimpleXMLElement simplexml_load_file ( string $filename [, string $class_name = "SimpleXMLElement" [, int $options = 0 [, string $ns = "" [, bool $is_prefix = false ]]]] )

Die Funktion wandelt das übergebene wohlgeformte (well-formed) XML-Dokument in ein Objekt um.

Parameter-Liste

filename

Pfad zur XML-Datei.

Hinweis:

Libxml 2 demaskiert den URI, wollen Sie also zum Beispiel b&c als Wert für den URI Parameter a verwenden, müssen Sie die Funktion wie folgt aufrufen: simplexml_load_file(rawurlencode('http://example.com/?a=' . urlencode('b&c'))). Seit PHP 5.1.0 wird Ihnen dieser Schritt von PHP abgenommen.

class_name

Sie können den optionalen Parameter class_name verwenden, wenn simple_load_file() ein Objekt der spezifischen Klasse zurückgeben soll. Die gewählte Klasse sollte von der Klasse SimpleXMLElement abgeleitet sein.

options

Seit PHP 5.1.0 und Libxml 2.6.0 können Sie zusätzlich den Parameter options verwenden, um weitere Libxml-Parameter anzugeben.

ns

Namespace Präfix oder URI.

is_prefix

TRUE wenn ns ein Präfix ist, FALSE wenn er eine URI ist. Standardwert ist FALSE.

Rückgabewerte

Gibt ein object der Klasse SimpleXMLElement zurück, dessen Eigenschaften die Daten des XML-Dokuments enthalten. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Generiert eine Fehlermeldung vom Typ E_WARNING für jeden in den XML-Daten gefundenen Fehler.

Tipp

Verwendet libxml_use_internal_errors(), um alle XML-Fehlermeldungen auszublenden, und libxml_get_errors(), um danach darüber zu iterieren.

Beispiele

Beispiel #1 Ein XML-Dokument auswerten

<?php
// Die Datei test.xml enthält ein XML-Dokument mit einem Wurzel-Element
// und mindestens einem Element /[root]/title.

if (file_exists('test.xml')) {
    $xml = simplexml_load_file('test.xml');

    print_r($xml);
} else {
    exit('Konnte test.xml nicht öffnen.');
}
?>

Das Skript gibt nach erfolgreichem Laden folgendes aus:

SimpleXMLElement Object
(
  [title] => Beispiel-Titel
  ...
)

Ab diesem Punkt können Sie $xml->title und andere Elemente verwenden.

Siehe auch

  • simplexml_load_string() - Übersetzt einen XML-String in ein Objekt
  • SimpleXMLElement::__construct() - Erstellt ein neues SimpleXMLElement-Objekt
  • Behandlung von XML-Fehlern
  • libxml_use_internal_errors() - Disable libxml errors and allow user to fetch error information as needed
  • Grundlegende SimpleXML Verwendung

simplexml_import_dom
simplexml_load_string
SimpleXML-Funktionen


Übersetzt einen XML-String in ein Objekt

simplexml_load_file
WDDX
SimpleXML-Funktionen
PHP Manual

simplexml_load_string

(PHP 5, PHP 7)

simplexml_load_string — Übersetzt einen XML-String in ein Objekt

Beschreibung

SimpleXMLElement simplexml_load_string ( string $data [, string $class_name = "SimpleXMLElement" [, int $options = 0 [, string $ns = "" [, bool $is_prefix = false ]]]] )

Die Funktion erwartet einen wohlgeformten (well-formed) XML-String und gibt ihn als Objekt zurück.

Parameter-Liste

data

Ein wohlgeformter XML-String.

class_name

Sie können den optionalen Parameter class_name verwenden, wenn simple_load_string() ein Objekt der spezifischen Klasse zurückgeben soll. Die gewählte Klasse sollte von der Klasse SimpleXMLElement abgeleitet sein.

options

Seit PHP 5.1.0 und Libxml 2.6.0 können Sie zusätzlich den Parameter options verwenden, um weitere Libxml-Parameter anzugeben.

ns

Namespace Präfix oder URI.

is_prefix

TRUE wenn ns ein Präfix ist, FALSE wenn er eine URI ist. Standardwert ist FALSE.

Rückgabewerte

Gibt ein Objekt der Klasse SimpleXMLElement zurück, dessen Eigenschaften die Daten beinhalten, wie sie im XML-Dokument abgebildet sind. Tritt ein Fehler auf, wird FALSE zurück gegeben.

Fehler/Exceptions

Generiert eine Fehlermeldung vom Typ E_WARNING für jeden in den XML-Daten gefundenen Fehler.

Tipp

Verwendet libxml_use_internal_errors(), um alle XML-Fehlermeldungen auszublenden, und libxml_get_errors(), um danach darüber zu iterieren.

Beispiele

Beispiel #1 Einen XML-String auswerten

<?php
$string = <<<XML
<?xml version='1.0'?>
<document>
 <title>Zweiundvierz...?</title>
 <from>Joe</from>
 <to>Jane</to>
 <body>
  Ich kenne die Antwort -- aber was ist die Frage?
 </body>
</document>
XML;

$xml = simplexml_load_string($string);

print_r($xml);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

SimpleXMLElement Object
(
  [title] => Zweiundvierz...?
  [from] => Joe
  [to] => Jane
  [body] =>
   Ich kenne die Antwort -- aber was ist die Frage?
)

Ab diesem Punkt können Sie $xml->body etc. verwenden.

Siehe auch

  • simplexml_load_file() - Übersetzt ein XML-File in ein Objekt
  • SimpleXMLElement::__construct() - Erstellt ein neues SimpleXMLElement-Objekt
  • Behandlung von XML-Fehlern
  • libxml_use_internal_errors() - Disable libxml errors and allow user to fetch error information as needed
  • Grundlegende SimpleXML Verwendung

simplexml_load_file
WDDX
SimpleXML-Funktionen


WDDX

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • wddx examples
  • WDDX Funktionen
    • wddx_add_vars — Fügt dem WDDX-Paket mit der übergebenen ID Werte hinzu
    • wddx_deserialize — Deserialisiert ein WDDX Paket
    • wddx_packet_end — Schließt das WDDX-Paket mit der angegebenen ID
    • wddx_packet_start — Beginnt ein neues WDDX-Paket mit einer 'Structure'
    • wddx_serialize_value — Serialisiert einen einzelnen Wert in ein WDDX-Paket
    • wddx_serialize_vars — Serialisiert Variablen in WDDX Pakete
simplexml_load_string
Einführung
XML-Manipulation


Einführung

These functions are intended for work with » WDDX.

WDDX
Installation/Konfiguration
WDDX


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
WDDX


Anforderungen

Diese Erweiterung erfordert die Erweiterung libxml. Das heißt, dass die Übergabe von --enable-libxml ebenfalls benötigt wird. Dies wird jedoch implizit erfüllt, da libxml standardmäßig aktiviert wird.

In order to use WDDX, you will need to install the expat library (which comes with Apache 1.3.7 or higher).

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

After installing the required expat library, compile PHP with --enable-wddx , and use --with-libexpat-dir for expat.

Die Windowsversion von PHP enthält diese Erweiterung. Um diese Funktionen zu verwenden, müssen Sie keine zusätzlichen Erweiterungen aktivieren.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Ressource-Typen

This extension defines a WDDX packet identifier returned by wddx_packet_start().

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
Beispiele
WDDX


Beispiele

Inhaltsverzeichnis

  • wddx examples
Vordefinierte Konstanten
wddx examples
WDDX


wddx examples

All the functions that serialize variables use the first element of an array to determine whether the array is to be serialized into an array or structure. If the first element has string key, then it is serialized into a structure, otherwise, into an array.

Beispiel #1 Serializing a single value with WDDX

<?php
echo wddx_serialize_value("PHP to WDDX packet example", "PHP packet");
?>

This example will produce:

<wddxPacket version='1.0'><header comment='PHP packet'/><data>
<string>PHP to WDDX packet example</string></data></wddxPacket>

Beispiel #2 Using incremental packets with WDDX

<?php
$pi = 3.1415926;
$packet_id = wddx_packet_start("PHP");
wddx_add_vars($packet_id, "pi");

/* Suppose $cities came from database */
$cities = array("Austin", "Novato", "Seattle");
wddx_add_vars($packet_id, "cities");

$packet = wddx_packet_end($packet_id);
echo $packet;
?>

This example will produce:

<wddxPacket version='1.0'><header comment='PHP'/><data><struct>
<var name='pi'><number>3.1415926</number></var><var name='cities'>
<array length='3'><string>Austin</string><string>Novato</string>
<string>Seattle</string></array></var></struct></data></wddxPacket>

Hinweis:

If you want to serialize non-ASCII characters you have to convert your data to UTF-8 first (see utf8_encode() and iconv()).

Beispiele
WDDX Funktionen
Beispiele


WDDX Funktionen

Inhaltsverzeichnis

  • wddx_add_vars — Fügt dem WDDX-Paket mit der übergebenen ID Werte hinzu
  • wddx_deserialize — Deserialisiert ein WDDX Paket
  • wddx_packet_end — Schließt das WDDX-Paket mit der angegebenen ID
  • wddx_packet_start — Beginnt ein neues WDDX-Paket mit einer 'Structure'
  • wddx_serialize_value — Serialisiert einen einzelnen Wert in ein WDDX-Paket
  • wddx_serialize_vars — Serialisiert Variablen in WDDX Pakete
wddx examples
wddx_add_vars
WDDX


Fügt dem WDDX-Paket mit der übergebenen ID Werte hinzu

WDDX Funktionen
wddx_deserialize
WDDX Funktionen
PHP Manual

wddx_add_vars

(PHP 4, PHP 5, PHP 7)

wddx_add_vars — Fügt dem WDDX-Paket mit der übergebenen ID Werte hinzu

Beschreibung

wddx_add_vars ( int $packet_id , mixed $name_var [, mixed $... ] )

wddx_add_vars() wird verwendet, um die übergebenen Werte zu serialisieren und diese an das durch den Parameter packet_id referenzierte Paket anzuhängen. Die Werteübergabe funktioniert genauso wie bei wddx_serialize_vars().

WDDX Funktionen
wddx_deserialize
WDDX Funktionen


Deserialisiert ein WDDX Paket

wddx_add_vars
wddx_packet_end
WDDX Funktionen
PHP Manual

wddx_deserialize

(PHP 4, PHP 5, PHP 7)

wddx_deserialize — Deserialisiert ein WDDX Paket

Beschreibung

mixed wddx_deserialize ( string $packet )

wddx_deserialize() übernimmt einen packet String and deserialisiert diesen. Es wird entweder ein String, eine Zahl oder ein Array zurückgegeben. 'Structures' werden in assoziative Arrays deserialisiert.

wddx_add_vars
wddx_packet_end
WDDX Funktionen


Schließt das WDDX-Paket mit der angegebenen ID

wddx_deserialize
wddx_packet_start
WDDX Funktionen
PHP Manual

wddx_packet_end

(PHP 4, PHP 5, PHP 7)

wddx_packet_end — Schließt das WDDX-Paket mit der angegebenen ID

Beschreibung

string wddx_packet_end ( int $packet_id )

wddx_packet_end() schließt das WDDX-Paket, welches mit packet_id identifiziert wird und gibt einen String, der das erzeugte WDDX-Paket enthält, zurück.

wddx_deserialize
wddx_packet_start
WDDX Funktionen


Beginnt ein neues WDDX-Paket mit einer 'Structure'

wddx_packet_end
wddx_serialize_value
WDDX Funktionen
PHP Manual

wddx_packet_start

(PHP 4, PHP 5, PHP 7)

wddx_packet_start — Beginnt ein neues WDDX-Paket mit einer 'Structure'

Beschreibung

int wddx_packet_start ([ string $kommentar ] )

wddx_packet_start() wird verwendet um ein neues WDDX-Paket zu erzeugen, zu welchem Variablen hinzugefügt werden können. Ein optionaler Parameter kommentar vom Typ String kann angegeben werden. Zurückgegeben wird eine Paket-ID, die in den folgenden Funktionen referenziert wird. Desweiteren wird automatisch eine 'Structure' zur Aufnahme der Variablen angelegt.

wddx_packet_end
wddx_serialize_value
WDDX Funktionen


Serialisiert einen einzelnen Wert in ein WDDX-Paket

wddx_packet_start
wddx_serialize_vars
WDDX Funktionen
PHP Manual

wddx_serialize_value

(PHP 4, PHP 5, PHP 7)

wddx_serialize_value — Serialisiert einen einzelnen Wert in ein WDDX-Paket

Beschreibung

string wddx_serialize_value ( mixed $wert [, string $kommentar ] )

wddx_serialize_value() wird verwendet um einen einzelnen Wert in ein WDDX-Paket zu serialisieren. Übergeben wird der Wert in wert und ein optionaler Parameter kommentar, der im Header des WDDX-Pakets erscheinen wird. Zurückgegeben wird das entsprechende WDDX-Paket.

wddx_packet_start
wddx_serialize_vars
WDDX Funktionen


Serialisiert Variablen in WDDX Pakete

wddx_serialize_value
XMLDiff
WDDX Funktionen
PHP Manual

wddx_serialize_vars

(PHP 4, PHP 5, PHP 7)

wddx_serialize_vars — Serialisiert Variablen in WDDX Pakete

Beschreibung

string wddx_serialize_vars ( mixed $var_name [, mixed $... ] )

wddx_serialize_vars() wird verwendet um ein WDDX-Paket mit einer 'Structure' zu erzeugen, welches eine serialisierte Repräsentation der übergebenen Variablen enthält.

wddx_serialize_vars() akzeptiert eine variable Zahl von Argumenten. Diese können entweder einzelne Namen von Variablen oder Arrays mit Variablennamen bzw. weiteren Arrays sein.

Beispiel #1 wddx_serialize_vars-Beispiel

<?php
$a = 1;
$b = 5.5;
$c = array("blue", "orange", "violet");
$d = "colors";

$clvars = array("c", "d");
print wddx_serialize_vars("a", "b", $clvars);
?>

Das obige Script erzeugt:

<wddxPacket version='1.0'><header/><data><struct><var name='a'><number>1</number></var>
<var name='b'><number>5.5</number></var><var name='c'><array length='3'>
<string>blue</string><string>orange</string><string>violet</string></array></var>
<var name='d'><string>colors</string></var></struct></data></wddxPacket>

wddx_serialize_value
XMLDiff
WDDX Funktionen


XML diff and merge

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
  • XMLDiff\Base — The XMLDiff\Base class
    • XMLDiff\Base::__construct — Constructor
    • XMLDiff\Base::diff — Produce diff of two XML documents
    • XMLDiff\Base::merge — Produce new XML document based on diff
  • XMLDiff\DOM — The XMLDiff\DOM class
    • XMLDiff\DOM::diff — Diff two DOMDocument objects
    • XMLDiff\DOM::merge — Produce merged DOMDocument
  • XMLDiff\Memory — The XMLDiff\Memory class
    • XMLDiff\Memory::diff — Diff two XML documents
    • XMLDiff\Memory::merge — Produce merged XML document
  • XMLDiff\File — The XMLDiff\File class
    • XMLDiff\File::diff — Diff two XML files
    • XMLDiff\File::merge — Produce merged XML document
wddx_serialize_vars
Einführung
XML-Manipulation


Einführung

The extension is able to produce diffs of two XML documents and then to apply the difference to the source document. The diff is a XML document containing copy/insert/delete instruction nodes in human readable format. DOMDocument objects, local files and strings in memory can be processed.

XMLDiff
Installation/Konfiguration
XMLDiff


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
Einführung
Anforderungen
XMLDiff


Anforderungen

libdiffmark - version 0.10 is bundled with the extension. If diffmark is available from your system packages, its usage is strongly encouraged.

libxml extension

DOM extension

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/xmldiff.

A DLL for this PECL extension is available under » http://windows.php.net/downloads/pecl/releases/xmldiff/.

Anforderungen
XMLDiff\Base
Installation/Konfiguration


The XMLDiff\Base class

(PECL xmldiff >= 0.8.0)

Einführung

Base abstract class for all the comparsion classes in the extension.

Klassenbeschreibung

XMLDiff\Base {
/* Methoden */
public __construct ( string $nsname )
abstract public mixed diff ( mixed $from , mixed $to )
abstract public mixed merge ( mixed $src , mixed $diff )
}

Inhaltsverzeichnis

  • XMLDiff\Base::__construct — Constructor
  • XMLDiff\Base::diff — Produce diff of two XML documents
  • XMLDiff\Base::merge — Produce new XML document based on diff
Installation
XMLDiff\Base::__construct
XMLDiff


Constructor

XMLDiff\Base
XMLDiff\Base::diff
XMLDiff\Base
PHP Manual

XMLDiff\Base::__construct

(PECL xmldiff >= 0.8.0)

XMLDiff\Base::__construct — Constructor

Beschreibung

public XMLDiff\Base::__construct ( string $nsname )

Base constructor for all the worker classes in the xmldiff extension.

Parameter-Liste

nsname

Custom namespace name for the diff document. The default namespace is http://www.locus.cz/diffmark and that's enough to avoid namespace conflicts. Use this parameter if you want to change it for some reason.

Rückgabewerte

XMLDiff\Base
XMLDiff\Base::diff
XMLDiff\Base


Produce diff of two XML documents

XMLDiff\Base::__construct
XMLDiff\Base::merge
XMLDiff\Base
PHP Manual

XMLDiff\Base::diff

(PECL xmldiff >= 0.8.0)

XMLDiff\Base::diff — Produce diff of two XML documents

Beschreibung

abstract public mixed XMLDiff\Base::diff ( mixed $from , mixed $to )

Abstract diff method to be implemented by inheriting classes.

The basic purpose of this method is to produce diff of the two documents. The param order matters and will produce different output.

Parameter-Liste

from

Source XML document.

to

Target XML document.

Rückgabewerte

Implementation dependent.

XMLDiff\Base::__construct
XMLDiff\Base::merge
XMLDiff\Base


Produce new XML document based on diff

XMLDiff\Base::diff
XMLDiff\DOM
XMLDiff\Base
PHP Manual

XMLDiff\Base::merge

(PECL xmldiff >= 0.8.0)

XMLDiff\Base::merge — Produce new XML document based on diff

Beschreibung

abstract public mixed XMLDiff\Base::merge ( mixed $src , mixed $diff )

Abstract merge method to be implemented by inheriting classes.

Basically the method purpose is to produce a new XML document based on the diff information.

Parameter-Liste

src

Source XML document.

diff

Document produced by the diff method.

Rückgabewerte

Implementation dependent.

XMLDiff\Base::diff
XMLDiff\DOM
XMLDiff\Base


The XMLDiff\DOM class

(PECL xmldiff >= 0.8.0)

Einführung

Klassenbeschreibung

XMLDiff\DOM extends XMLDiff\Base {
/* Methoden */
public DOMDocument diff ( DOMDocument $from , DOMDocument $to )
public DOMDocument merge ( DOMDocument $src , DOMDocument $diff )
/* Geerbte Methoden */
public XMLDiff\Base::__construct ( string $nsname )
abstract public mixed XMLDiff\Base::diff ( mixed $from , mixed $to )
abstract public mixed XMLDiff\Base::merge ( mixed $src , mixed $diff )
}

Inhaltsverzeichnis

  • XMLDiff\DOM::diff — Diff two DOMDocument objects
  • XMLDiff\DOM::merge — Produce merged DOMDocument
XMLDiff\Base::merge
XMLDiff\DOM::diff
XMLDiff


Diff two DOMDocument objects

XMLDiff\DOM
XMLDiff\DOM::merge
XMLDiff\DOM
PHP Manual

XMLDiff\DOM::diff

(PECL xmldiff >= 0.8.0)

XMLDiff\DOM::diff — Diff two DOMDocument objects

Beschreibung

public DOMDocument XMLDiff\DOM::diff ( DOMDocument $from , DOMDocument $to )

Diff two DOMDocument instances and produce the new one containing the diff information.

Parameter-Liste

from

Source DOMDocument object.

to

Target DOMDocument object.

Rückgabewerte

DOMDocument with the diff information or NULL.

XMLDiff\DOM
XMLDiff\DOM::merge
XMLDiff\DOM


Produce merged DOMDocument

XMLDiff\DOM::diff
XMLDiff\Memory
XMLDiff\DOM
PHP Manual

XMLDiff\DOM::merge

(PECL xmldiff >= 0.8.0)

XMLDiff\DOM::merge — Produce merged DOMDocument

Beschreibung

public DOMDocument XMLDiff\DOM::merge ( DOMDocument $src , DOMDocument $diff )

Create new DOMDocument based on the diff.

Parameter-Liste

src

Source DOMDocument object.

diff

DOMDocument object containing the diff information.

Rückgabewerte

Merged DOMDocument or NULL.

XMLDiff\DOM::diff
XMLDiff\Memory
XMLDiff\DOM


The XMLDiff\Memory class

(PECL xmldiff >= 0.8.0)

Einführung

Klassenbeschreibung

XMLDiff\Memory extends XMLDiff\Base {
/* Methoden */
public string diff ( string $from , string $to )
public string merge ( string $src , string $diff )
/* Geerbte Methoden */
public XMLDiff\Base::__construct ( string $nsname )
abstract public mixed XMLDiff\Base::diff ( mixed $from , mixed $to )
abstract public mixed XMLDiff\Base::merge ( mixed $src , mixed $diff )
}

Inhaltsverzeichnis

  • XMLDiff\Memory::diff — Diff two XML documents
  • XMLDiff\Memory::merge — Produce merged XML document
XMLDiff\DOM::merge
XMLDiff\Memory::diff
XMLDiff


Diff two XML documents

XMLDiff\Memory
XMLDiff\Memory::merge
XMLDiff\Memory
PHP Manual

XMLDiff\Memory::diff

(PECL xmldiff >= 0.8.0)

XMLDiff\Memory::diff — Diff two XML documents

Beschreibung

public string XMLDiff\Memory::diff ( string $from , string $to )

Diff two strings containing XML documents and produce the diff information.

Parameter-Liste

from

Source XML document.

to

Target XML document.

Rückgabewerte

String with the XML document containing the diff information or NULL.

XMLDiff\Memory
XMLDiff\Memory::merge
XMLDiff\Memory


Produce merged XML document

XMLDiff\Memory::diff
XMLDiff\File
XMLDiff\Memory
PHP Manual

XMLDiff\Memory::merge

(PECL xmldiff >= 0.8.0)

XMLDiff\Memory::merge — Produce merged XML document

Beschreibung

public string XMLDiff\Memory::merge ( string $src , string $diff )

Create new XML document based on diffs and source document.

Parameter-Liste

src

Source XML document.

diff

XML document containing diff information.

Rückgabewerte

String with the new XML document or NULL.

XMLDiff\Memory::diff
XMLDiff\File
XMLDiff\Memory


The XMLDiff\File class

(PECL xmldiff >= 0.8.0)

Einführung

Klassenbeschreibung

XMLDiff\File extends XMLDiff\Base {
/* Methoden */
public string diff ( string $from , string $to )
public string merge ( string $src , string $diff )
/* Geerbte Methoden */
public XMLDiff\Base::__construct ( string $nsname )
abstract public mixed XMLDiff\Base::diff ( mixed $from , mixed $to )
abstract public mixed XMLDiff\Base::merge ( mixed $src , mixed $diff )
}

Inhaltsverzeichnis

  • XMLDiff\File::diff — Diff two XML files
  • XMLDiff\File::merge — Produce merged XML document
XMLDiff\Memory::merge
XMLDiff\File::diff
XMLDiff


Diff two XML files

XMLDiff\File
XMLDiff\File::merge
XMLDiff\File
PHP Manual

XMLDiff\File::diff

(PECL xmldiff >= 0.8.0)

XMLDiff\File::diff — Diff two XML files

Beschreibung

public string XMLDiff\File::diff ( string $from , string $to )

Diff two local XML files and produce string with the diff information.

Parameter-Liste

from

Path to the source document.

to

Path to the target document.

Rückgabewerte

String with the XML document containing the diff information or NULL.

XMLDiff\File
XMLDiff\File::merge
XMLDiff\File


Produce merged XML document

XMLDiff\File::diff
XML Parser
XMLDiff\File
PHP Manual

XMLDiff\File::merge

(PECL xmldiff >= 0.8.0)

XMLDiff\File::merge — Produce merged XML document

Beschreibung

public string XMLDiff\File::merge ( string $src , string $diff )

Create new XML document based on diffs and source document.

Parameter-Liste

src

Path to the source XML document.

diff

Path to the XML document with the diff information.

Rückgabewerte

String with the new XML document or NULL.

XMLDiff\File::diff
XML Parser
XMLDiff\File


XML Parser

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Event Handlers
  • Case Folding
  • Error Codes
  • Character Encoding
  • Beispiele
    • XML Element Structure Example
    • XML Tag Mapping Example
    • XML External Entity Example
  • XML Parser Funktionen
    • utf8_decode — Konvertiert eine als UTF-8 kodierte ISO-8859-1-Zeichenkette in eine einfache ISO-8859-1-Zeichenkette
    • utf8_encode — Konvertiert eine ISO-8859-1-Zeichenkette in UTF-8
    • xml_error_string — Get XML parser error string
    • xml_get_current_byte_index — Get current byte index for an XML parser
    • xml_get_current_column_number — Get current column number for an XML parser
    • xml_get_current_line_number — Get current line number for an XML parser
    • xml_get_error_code — Get XML parser error code
    • xml_parse_into_struct — Parse XML data into an array structure
    • xml_parse — Start parsing an XML document
    • xml_parser_create_ns — Create an XML parser with namespace support
    • xml_parser_create — Create an XML parser
    • xml_parser_free — Free an XML parser
    • xml_parser_get_option — Get options from an XML parser
    • xml_parser_set_option — Set options in an XML parser
    • xml_set_character_data_handler — Set up character data handler
    • xml_set_default_handler — Set up default handler
    • xml_set_element_handler — Set up start and end element handlers
    • xml_set_end_namespace_decl_handler — Set up end namespace declaration handler
    • xml_set_external_entity_ref_handler — Set up external entity reference handler
    • xml_set_notation_decl_handler — Set up notation declaration handler
    • xml_set_object — Use XML Parser within an object
    • xml_set_processing_instruction_handler — Set up processing instruction (PI) handler
    • xml_set_start_namespace_decl_handler — Set up start namespace declaration handler
    • xml_set_unparsed_entity_decl_handler — Set up unparsed entity declaration handler
XMLDiff\File::merge
Einführung
XML-Manipulation


Einführung

XML (eXtensible Markup Language) is a data format for structured document interchange on the Web. It is a standard defined by The World Wide Web consortium (W3C). Information about XML and related technologies can be found at » http://www.w3.org/XML/.

This PHP extension implements support for James Clark's expat in PHP. This toolkit lets you parse, but not validate, XML documents. It supports three source character encodings also provided by PHP: US-ASCII, ISO-8859-1 and UTF-8. UTF-16 is not supported.

This extension lets you create XML parsers and then define handlers for different XML events. Each XML parser also has a few parameters you can adjust.

XML Parser
Installation/Konfiguration
XML Parser


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
XML Parser


Anforderungen

Diese Erweiterung erfordert die Erweiterung libxml. Das heißt, dass die Übergabe von --enable-libxml ebenfalls benötigt wird. Dies wird jedoch implizit erfüllt, da libxml standardmäßig aktiviert wird.

This extension uses an expat compat layer by default. It can use also expat, which can be found at » http://www.jclark.com/xml/expat.html. The Makefile that comes with expat does not build a library by default, you can use this make rule for that:

libexpat.a: $(OBJS)
    ar -rc $@ $(OBJS)
    ranlib $@
A source RPM package of expat can be found at » http://sourceforge.net/projects/expat/.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese Erweiterung ist standardmäßig aktiviert. Sie kann bei der Kompilierung mit der folgenden Option ausgeschaltet werden: --disable-xml

These functions are enabled by default, using the bundled expat library. You can disable XML support with --disable-xml . If you compile PHP as a module for Apache 1.3.9 or later, PHP will automatically use the bundled expat library from Apache. If you don't want to use the bundled expat library, configure PHP with --with-expat-dir=DIR , where DIR should point to the base installation directory of expat.

Die Windowsversion von PHP enthält diese Erweiterung. Um diese Funktionen zu verwenden, müssen Sie keine zusätzlichen Erweiterungen aktivieren.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Ressource-Typen

The xml resource as returned by xml_parser_create() and xml_parser_create_ns() references an xml parser instance to be used with the functions provided by this extension.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

XML_ERROR_NONE (integer)
XML_ERROR_NO_MEMORY (integer)
XML_ERROR_SYNTAX (integer)
XML_ERROR_NO_ELEMENTS (integer)
XML_ERROR_INVALID_TOKEN (integer)
XML_ERROR_UNCLOSED_TOKEN (integer)
XML_ERROR_PARTIAL_CHAR (integer)
XML_ERROR_TAG_MISMATCH (integer)
XML_ERROR_DUPLICATE_ATTRIBUTE (integer)
XML_ERROR_JUNK_AFTER_DOC_ELEMENT (integer)
XML_ERROR_PARAM_ENTITY_REF (integer)
XML_ERROR_UNDEFINED_ENTITY (integer)
XML_ERROR_RECURSIVE_ENTITY_REF (integer)
XML_ERROR_ASYNC_ENTITY (integer)
XML_ERROR_BAD_CHAR_REF (integer)
XML_ERROR_BINARY_ENTITY_REF (integer)
XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF (integer)
XML_ERROR_MISPLACED_XML_PI (integer)
XML_ERROR_UNKNOWN_ENCODING (integer)
XML_ERROR_INCORRECT_ENCODING (integer)
XML_ERROR_UNCLOSED_CDATA_SECTION (integer)
XML_ERROR_EXTERNAL_ENTITY_HANDLING (integer)
XML_OPTION_CASE_FOLDING (integer)
XML_OPTION_TARGET_ENCODING (integer)
XML_OPTION_SKIP_TAGSTART (integer)
XML_OPTION_SKIP_WHITE (integer)
XML_SAX_IMPL (string)
Holds the SAX implementation method. Can be libxml or expat.
Ressource-Typen
Event Handlers
XML Parser


Event Handlers

The XML event handlers defined are:

Supported XML handlers
PHP function to set handler | Event description
xml_set_element_handler() | Element events are issued whenever the XML parser encounters start or end tags. There are separate handlers for start tags and end tags.
xml_set_character_data_handler() | Character data is roughly all the non-markup contents of XML documents, including whitespace between tags. Note that the XML parser does not add or remove any whitespace, it is up to the application (you) to decide whether whitespace is significant.
xml_set_processing_instruction_handler() | PHP programmers should be familiar with processing instructions (PIs) already. <?php ?> is a processing instruction, where php is called the "PI target". The handling of these are application-specific, except that all PI targets starting with "XML" are reserved.
xml_set_default_handler() | What goes not to another handler goes to the default handler. You will get things like the XML and document type declarations in the default handler.
xml_set_unparsed_entity_decl_handler() | This handler will be called for declaration of an unparsed (NDATA) entity.
xml_set_notation_decl_handler() | This handler is called for declaration of a notation.
xml_set_external_entity_ref_handler() | This handler is called when the XML parser finds a reference to an external parsed general entity. This can be a reference to a file or URL, for example. See the external entity example for a demonstration.
xml_set_start_namespace_decl_handler() | This handler is called for the start of a namespace declaration.
xml_set_end_namespace_decl_handler() | This handler is called for the end of a namespace declaration. Note that this event is not triggered by libXML.

Vordefinierte Konstanten
Case Folding
XML Parser


Case Folding

The element handler functions may get their element names case-folded. Case-folding is defined as "a process applied to a sequence of characters, in which those identified as non-uppercase are replaced by their uppercase equivalents". In other words, when it comes to XML, case-folding simply means uppercasing.

By default, all the element names that are passed to the handler functions are case-folded. This behaviour can be queried and controlled per XML parser with the xml_parser_get_option() and xml_parser_set_option() functions, respectively.

Event Handlers
Error Codes
XML Parser


Error Codes

The following constants are defined for XML error codes (as returned by xml_parse()):

  • XML_ERROR_NONE
  • XML_ERROR_NO_MEMORY
  • XML_ERROR_SYNTAX
  • XML_ERROR_NO_ELEMENTS
  • XML_ERROR_INVALID_TOKEN
  • XML_ERROR_UNCLOSED_TOKEN
  • XML_ERROR_PARTIAL_CHAR
  • XML_ERROR_TAG_MISMATCH
  • XML_ERROR_DUPLICATE_ATTRIBUTE
  • XML_ERROR_JUNK_AFTER_DOC_ELEMENT
  • XML_ERROR_PARAM_ENTITY_REF
  • XML_ERROR_UNDEFINED_ENTITY
  • XML_ERROR_RECURSIVE_ENTITY_REF
  • XML_ERROR_ASYNC_ENTITY
  • XML_ERROR_BAD_CHAR_REF
  • XML_ERROR_BINARY_ENTITY_REF
  • XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF
  • XML_ERROR_MISPLACED_XML_PI
  • XML_ERROR_UNKNOWN_ENCODING
  • XML_ERROR_INCORRECT_ENCODING
  • XML_ERROR_UNCLOSED_CDATA_SECTION
  • XML_ERROR_EXTERNAL_ENTITY_HANDLING

Case Folding
Character Encoding
XML Parser


Character Encoding

PHP's XML extension supports the » Unicode character set through different character encodings. There are two types of character encodings, source encoding and target encoding. PHP's internal representation of the document is always encoded with UTF-8.

Source encoding is done when an XML document is parsed. Upon creating an XML parser, a source encoding can be specified (this encoding can not be changed later in the XML parser's lifetime). The supported source encodings are ISO-8859-1, US-ASCII and UTF-8. The former two are single-byte encodings, which means that each character is represented by a single byte. UTF-8 can encode characters composed by a variable number of bits (up to 21) in one to four bytes. The default source encoding used by PHP is ISO-8859-1.

Target encoding is done when PHP passes data to XML handler functions. When an XML parser is created, the target encoding is set to the same as the source encoding, but this may be changed at any point. The target encoding will affect character data as well as tag names and processing instruction targets.

If the XML parser encounters characters outside the range that its source encoding is capable of representing, it will return an error.

If PHP encounters characters in the parsed XML document that can not be represented in the chosen target encoding, the problem characters will be "demoted". Currently, this means that such characters are replaced by a question mark.

Error Codes
Beispiele
XML Parser


Beispiele

Inhaltsverzeichnis

  • XML Element Structure Example
  • XML Tag Mapping Example
  • XML External Entity Example
Character Encoding
XML Element Structure Example
XML Parser


XML Element Structure Example

This first example displays the structure of the start elements in a document with indentation.

Beispiel #1 Show XML Element Structure

<?php
$file = "data.xml";
$depth = array();

function startElement($parser, $name, $attrs)
{
    global $depth;

    if (!isset($depth[$parser])) {
        $depth[$parser] = 0;
    }

    for ($i = 0; $i < $depth[$parser]; $i++) {
        echo "  ";
    }
    echo "$name\n";
    $depth[$parser]++;
}

function endElement($parser, $name)
{
    global $depth;
    $depth[$parser]--;
}

$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
if (!($fp = fopen($file, "r"))) {
    die("could not open XML input");
}

while ($data = fread($fp, 4096)) {
    if (!xml_parse($xml_parser, $data, feof($fp))) {
        die(sprintf("XML error: %s at line %d",
                    xml_error_string(xml_get_error_code($xml_parser)),
                    xml_get_current_line_number($xml_parser)));
    }
}
xml_parser_free($xml_parser);
?>

Beispiele
XML Tag Mapping Example
Beispiele


XML Tag Mapping Example

Beispiel #1 Map XML to HTML

This example maps tags in an XML document directly to HTML tags. Elements not found in the "map array" are ignored. Of course, this example will only work with a specific XML document type.

<?php
$file = "data.xml";
$map_array = array(
    "BOLD"     => "B",
    "EMPHASIS" => "I",
    "LITERAL"  => "TT"
);

function startElement($parser, $name, $attrs)
{
    global $map_array;
    if (isset($map_array[$name])) {
        echo "<$map_array[$name]>";
    }
}

function endElement($parser, $name)
{
    global $map_array;
    if (isset($map_array[$name])) {
        echo "</$map_array[$name]>";
    }
}

function characterData($parser, $data)
{
    echo $data;
}

$xml_parser = xml_parser_create();
// use case-folding so we are sure to find the tag in $map_array
xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, true);
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
if (!($fp = fopen($file, "r"))) {
    die("could not open XML input");
}

while ($data = fread($fp, 4096)) {
    if (!xml_parse($xml_parser, $data, feof($fp))) {
        die(sprintf("XML error: %s at line %d",
                    xml_error_string(xml_get_error_code($xml_parser)),
                    xml_get_current_line_number($xml_parser)));
    }
}
xml_parser_free($xml_parser);
?>

XML Element Structure Example
XML External Entity Example
Beispiele


XML External Entity Example

This example highlights XML code. It illustrates how to use an external entity reference handler to include and parse other documents, as well as how PIs can be processed, and a way of determining "trust" for PIs containing code.

XML documents that can be used for this example are found below the example (xmltest.xml and xmltest2.xml.)

Beispiel #1 External Entity Example

<?php
$file = "xmltest.xml";

function trustedFile($file)
{
    // only trust local files owned by ourselves
    if (!preg_match("@^([a-z][a-z0-9+.-]*)\:\/\/@i", $file)
        && fileowner($file) == getmyuid()) {
            return true;
    }
    return false;
}

function startElement($parser, $name, $attribs)
{
    echo "&lt;<font color=\"#0000cc\">$name</font>";
    if (count($attribs)) {
        foreach ($attribs as $k => $v) {
            echo " <font color=\"#009900\">$k</font>=\"<font
                   color=\"#990000\">$v</font>\"";
        }
    }
    echo "&gt;";
}

function endElement($parser, $name)
{
    echo "&lt;/<font color=\"#0000cc\">$name</font>&gt;";
}

function characterData($parser, $data)
{
    echo "<b>$data</b>";
}

function PIHandler($parser, $target, $data)
{
    switch (strtolower($target)) {
        case "php":
            global $parser_file;
            // If the parsed document is "trusted", we say it is safe
            // to execute PHP code inside it.  If not, display the code
            // instead.
            if (trustedFile($parser_file[$parser])) {
                eval($data);
            } else {
                printf("Untrusted PHP code: <i>%s</i>",
                        htmlspecialchars($data));
            }
            break;
    }
}

function defaultHandler($parser, $data)
{
    if (substr($data, 0, 1) == "&" && substr($data, -1, 1) == ";") {
        printf('<font color="#aa00aa">%s</font>',
                htmlspecialchars($data));
    } else {
        printf('<font size="-1">%s</font>',
                htmlspecialchars($data));
    }
}

function externalEntityRefHandler($parser, $openEntityNames, $base, $systemId,
                                  $publicId) {
    if ($systemId) {
        if (!list($parser, $fp) = new_xml_parser($systemId)) {
            printf("Could not open entity %s at %s\n", $openEntityNames,
                   $systemId);
            return false;
        }
        while ($data = fread($fp, 4096)) {
            if (!xml_parse($parser, $data, feof($fp))) {
                printf("XML error: %s at line %d while parsing entity %s\n",
                       xml_error_string(xml_get_error_code($parser)),
                       xml_get_current_line_number($parser), $openEntityNames);
                xml_parser_free($parser);
                return false;
            }
        }
        xml_parser_free($parser);
        return true;
    }
    return false;
}

function new_xml_parser($file)
{
    global $parser_file;

    $xml_parser = xml_parser_create();
    xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, 1);
    xml_set_element_handler($xml_parser, "startElement", "endElement");
    xml_set_character_data_handler($xml_parser, "characterData");
    xml_set_processing_instruction_handler($xml_parser, "PIHandler");
    xml_set_default_handler($xml_parser, "defaultHandler");
    xml_set_external_entity_ref_handler($xml_parser, "externalEntityRefHandler");

    if (!($fp = @fopen($file, "r"))) {
        return false;
    }
    if (!is_array($parser_file)) {
        settype($parser_file, "array");
    }
    $parser_file[$xml_parser] = $file;
    return array($xml_parser, $fp);
}

if (!(list($xml_parser, $fp) = new_xml_parser($file))) {
    die("could not open XML input");
}

echo "<pre>";
while ($data = fread($fp, 4096)) {
    if (!xml_parse($xml_parser, $data, feof($fp))) {
        die(sprintf("XML error: %s at line %d\n",
                    xml_error_string(xml_get_error_code($xml_parser)),
                    xml_get_current_line_number($xml_parser)));
    }
}
echo "</pre>";
echo "parse complete\n";
xml_parser_free($xml_parser);

?>

Beispiel #2 xmltest.xml

<?xml version='1.0'?>
<!DOCTYPE chapter SYSTEM "/just/a/test.dtd" [
<!ENTITY plainEntity "FOO entity">
<!ENTITY systemEntity SYSTEM "xmltest2.xml">
]>
<chapter>
 <TITLE>Title &plainEntity;</TITLE>
 <para>
  <informaltable>
   <tgroup cols="3">
    <tbody>
     <row><entry>a1</entry><entry morerows="1">b1</entry><entry>c1</entry></row>
     <row><entry>a2</entry><entry>c2</entry></row>
     <row><entry>a3</entry><entry>b3</entry><entry>c3</entry></row>
    </tbody>
   </tgroup>
  </informaltable>
 </para>
 &systemEntity;
 <section id="about">
  <title>About this Document</title>
  <para>
   <!-- this is a comment -->
   <?php echo 'Hi!  This is PHP version ' . phpversion(); ?>
  </para>
 </section>
</chapter>

This file is included from xmltest.xml:

Beispiel #3 xmltest2.xml

<?xml version="1.0"?>
<!DOCTYPE foo [
<!ENTITY testEnt "test entity">
]>
<foo>
   <element attrib="value"/>
   &testEnt;
   <?php echo "This is some more PHP code being executed."; ?>
</foo>

XML Tag Mapping Example
XML Parser Funktionen
Beispiele


XML Parser Funktionen

Inhaltsverzeichnis

  • utf8_decode — Konvertiert eine als UTF-8 kodierte ISO-8859-1-Zeichenkette in eine einfache ISO-8859-1-Zeichenkette
  • utf8_encode — Konvertiert eine ISO-8859-1-Zeichenkette in UTF-8
  • xml_error_string — Get XML parser error string
  • xml_get_current_byte_index — Get current byte index for an XML parser
  • xml_get_current_column_number — Get current column number for an XML parser
  • xml_get_current_line_number — Get current line number for an XML parser
  • xml_get_error_code — Get XML parser error code
  • xml_parse_into_struct — Parse XML data into an array structure
  • xml_parse — Start parsing an XML document
  • xml_parser_create_ns — Create an XML parser with namespace support
  • xml_parser_create — Create an XML parser
  • xml_parser_free — Free an XML parser
  • xml_parser_get_option — Get options from an XML parser
  • xml_parser_set_option — Set options in an XML parser
  • xml_set_character_data_handler — Set up character data handler
  • xml_set_default_handler — Set up default handler
  • xml_set_element_handler — Set up start and end element handlers
  • xml_set_end_namespace_decl_handler — Set up end namespace declaration handler
  • xml_set_external_entity_ref_handler — Set up external entity reference handler
  • xml_set_notation_decl_handler — Set up notation declaration handler
  • xml_set_object — Use XML Parser within an object
  • xml_set_processing_instruction_handler — Set up processing instruction (PI) handler
  • xml_set_start_namespace_decl_handler — Set up start namespace declaration handler
  • xml_set_unparsed_entity_decl_handler — Set up unparsed entity declaration handler
XML External Entity Example
utf8_decode
XML Parser


Konvertiert eine als UTF-8 kodierte ISO-8859-1-Zeichenkette in eine einfache ISO-8859-1-Zeichenkette

XML Parser Funktionen
utf8_encode
XML Parser Funktionen
PHP Manual

utf8_decode

(PHP 4, PHP 5, PHP 7)

utf8_decode — Konvertiert eine als UTF-8 kodierte ISO-8859-1-Zeichenkette in eine einfache ISO-8859-1-Zeichenkette

Beschreibung

string utf8_decode ( string $data )

Diese Funktion konvertiert die Zeichenkette data von der UTF-8 Kodierung nach ISO-8859-1. Bytes in der Zeichenkette, die kein gültiges UTF-8 sind, und UTF-8 Zeichen, die nicht in ISO-8859-1 existieren (also Zeichen größer als U+00FF), werden durch ? ersetzt.

Hinweis:

Viele Webseiten, die ausgewiesen sind die ISO-8859-1 Zeichenkodierung zu verwenden, nutzen in Wirklichkeit die ähnliche Windows-1252 Kodierung, und Webbrowser interpretieren ISO-8859-1 Webseiten als Windows-1252. Windows-1252 ermöglicht zusätzliche druckbare Zeichen, so wie das Euro-Zeichen (€) und geschweifte Anführungszeichen (“”) anstelle von bestimmten ISO-8859-1 Kontrollzeichen. Diese Funktion konvertiert solche Windows-1252 Zeichen nicht korrekt. Verwenden Sie eine andere Funktion, wenn Windows-1252 Konvertierung erforderlich ist.

Parameter-Liste

data

Eine UTF-8-kodierte Zeichenkette.

Rückgabewerte

Gibt die ISO-8859-1-Übersetzung von data zurück.

Siehe auch

  • utf8_encode() - Konvertiert eine ISO-8859-1-Zeichenkette in UTF-8 - Führt die umgekehrte Konvertierung durch
  • mb_convert_encoding() - Convert character encoding - Konvertiert zwischen verschiedenen Zeichenkodierungen, einschließlich UTF-8, ISO-8859-1 und Windows-1252
  • iconv() - Konvertiert Zeichenketten in einen anderen Zeichensatz - Konvertiert zwischen verschiedenen Zeichenkodierungen
  • recode_string() - Umkodierung eines Strings entsprechend einer Recode-Anweisung - Konvertiert zwischen verschiedenen Zeichenkodierungen

XML Parser Funktionen
utf8_encode
XML Parser Funktionen


Konvertiert eine ISO-8859-1-Zeichenkette in UTF-8

utf8_decode
xml_error_string
XML Parser Funktionen
PHP Manual

utf8_encode

(PHP 4, PHP 5, PHP 7)

utf8_encode — Konvertiert eine ISO-8859-1-Zeichenkette in UTF-8

Beschreibung

string utf8_encode ( string $data )

Diese Funktion konvertiert die Zeichenkette data von der ISO-8859-1 Kodierung nach UTF-8.

Hinweis:

Viele Webseiten, die ausgewiesen sind die ISO-8859-1 Zeichenkodierung zu verwenden, nutzen in Wirklichkeit die ähnliche Windows-1252 Kodierung, und Webbrowser interpretieren ISO-8859-1 Webseiten als Windows-1252. Windows-1252 ermöglicht zusätzliche druckbare Zeichen, so wie das Euro-Zeichen (€) und geschweifte Anführungszeichen (“”) anstelle von bestimmten ISO-8859-1 Kontrollzeichen. Diese Funktion konvertiert solche Windows-1252 Zeichen nicht korrekt. Verwenden Sie eine andere Funktion, wenn Windows-1252 Konvertierung erforderlich ist.

Parameter-Liste

data

Eine ISO-8859-1 -kodierte Zeichenkette.

Rückgabewerte

Gibt die UTF-8-Übersetzung von data zurück.

Siehe auch

  • utf8_decode() - Konvertiert eine als UTF-8 kodierte ISO-8859-1-Zeichenkette in eine einfache ISO-8859-1-Zeichenkette - Führt die umgekehrte Konvertierung durch
  • mb_convert_encoding() - Convert character encoding - Konvertiert zwischen verschiedenen Zeichenkodierungen, einschließlich UTF-8, ISO-8859-1 und Windows-1252
  • iconv() - Konvertiert Zeichenketten in einen anderen Zeichensatz - Konvertiert zwischen verschiedenen Zeichenkodierungen
  • recode_string() - Umkodierung eines Strings entsprechend einer Recode-Anweisung - Konvertiert zwischen verschiedenen Zeichenkodierungen

utf8_decode
xml_error_string
XML Parser Funktionen


Get XML parser error string

utf8_encode
xml_get_current_byte_index
XML Parser Funktionen
PHP Manual

xml_error_string

(PHP 4, PHP 5, PHP 7)

xml_error_string — Get XML parser error string

Beschreibung

string xml_error_string ( int $code )

Gets the XML parser error string associated with the given code.

Parameter-Liste

code

An error code from xml_get_error_code().

Rückgabewerte

Returns a string with a textual description of the error code, or FALSE if no description was found.

Siehe auch

  • xml_get_error_code() - Get XML parser error code

utf8_encode
xml_get_current_byte_index
XML Parser Funktionen


Get current byte index for an XML parser

xml_error_string
xml_get_current_column_number
XML Parser Funktionen
PHP Manual

xml_get_current_byte_index

(PHP 4, PHP 5, PHP 7)

xml_get_current_byte_index — Get current byte index for an XML parser

Beschreibung

int xml_get_current_byte_index ( resource $parser )

Gets the current byte index of the given XML parser.

Parameter-Liste

parser

A reference to the XML parser to get byte index from.

Rückgabewerte

This function returns FALSE if parser does not refer to a valid parser, or else it returns which byte index the parser is currently at in its data buffer (starting at 0).

Anmerkungen

Warnung

This function returns byte index according to UTF-8 encoded text disregarding if input is in another encoding.

Siehe auch

  • xml_get_current_column_number() - Get current column number for an XML parser
  • xml_get_current_line_number() - Get current line number for an XML parser

xml_error_string
xml_get_current_column_number
XML Parser Funktionen


Get current column number for an XML parser

xml_get_current_byte_index
xml_get_current_line_number
XML Parser Funktionen
PHP Manual

xml_get_current_column_number

(PHP 4, PHP 5, PHP 7)

xml_get_current_column_number — Get current column number for an XML parser

Beschreibung

int xml_get_current_column_number ( resource $parser )

Gets the current column number of the given XML parser.

Parameter-Liste

parser

A reference to the XML parser to get column number from.

Rückgabewerte

This function returns FALSE if parser does not refer to a valid parser, or else it returns which column on the current line (as given by xml_get_current_line_number()) the parser is currently at.

Siehe auch

  • xml_get_current_byte_index() - Get current byte index for an XML parser
  • xml_get_current_line_number() - Get current line number for an XML parser

xml_get_current_byte_index
xml_get_current_line_number
XML Parser Funktionen


Get current line number for an XML parser

xml_get_current_column_number
xml_get_error_code
XML Parser Funktionen
PHP Manual

xml_get_current_line_number

(PHP 4, PHP 5, PHP 7)

xml_get_current_line_number — Get current line number for an XML parser

Beschreibung

int xml_get_current_line_number ( resource $parser )

Gets the current line number for the given XML parser.

Parameter-Liste

parser

A reference to the XML parser to get line number from.

Rückgabewerte

This function returns FALSE if parser does not refer to a valid parser, or else it returns which line the parser is currently at in its data buffer.

Siehe auch

  • xml_get_current_column_number() - Get current column number for an XML parser
  • xml_get_current_byte_index() - Get current byte index for an XML parser

xml_get_current_column_number
xml_get_error_code
XML Parser Funktionen


Get XML parser error code

xml_get_current_line_number
xml_parse_into_struct
XML Parser Funktionen
PHP Manual

xml_get_error_code

(PHP 4, PHP 5, PHP 7)

xml_get_error_code — Get XML parser error code

Beschreibung

int xml_get_error_code ( resource $parser )

Gets the XML parser error code.

Parameter-Liste

parser

A reference to the XML parser to get error code from.

Rückgabewerte

This function returns FALSE if parser does not refer to a valid parser, or else it returns one of the error codes listed in the error codes section.

Siehe auch

  • xml_error_string() - Get XML parser error string

xml_get_current_line_number
xml_parse_into_struct
XML Parser Funktionen


Parse XML data into an array structure

xml_get_error_code
xml_parse
XML Parser Funktionen
PHP Manual

xml_parse_into_struct

(PHP 4, PHP 5, PHP 7)

xml_parse_into_struct — Parse XML data into an array structure

Beschreibung

int xml_parse_into_struct ( resource $parser , string $data , array &$values [, array &$index ] )

This function parses an XML string into 2 parallel array structures, one (index) containing pointers to the location of the appropriate values in the values array. These last two parameters must be passed by reference.

Parameter-Liste

parser

A reference to the XML parser.

data

A string containing the XML data.

values

An array containing the values of the XML data

index

An array containing pointers to the location of the appropriate values in the $values.

Rückgabewerte

xml_parse_into_struct() returns 0 for failure and 1 for success. This is not the same as FALSE and TRUE, be careful with operators such as ===.

Beispiele

Below is an example that illustrates the internal structure of the arrays being generated by the function. We use a simple note tag embedded inside a para tag, and then we parse this and print out the structures generated:

Beispiel #1 xml_parse_into_struct() example

<?php
$simple = "<para><note>simple note</note></para>";
$p = xml_parser_create();
xml_parse_into_struct($p, $simple, $vals, $index);
xml_parser_free($p);
echo "Index array\n";
print_r($index);
echo "\nVals array\n";
print_r($vals);
?>

When we run that code, the output will be:

Index array
Array
(
    [PARA] => Array
        (
            [0] => 0
            [1] => 2
        )

    [NOTE] => Array
        (
            [0] => 1
        )

)

Vals array
Array
(
    [0] => Array
        (
            [tag] => PARA
            [type] => open
            [level] => 1
        )

    [1] => Array
        (
            [tag] => NOTE
            [type] => complete
            [level] => 2
            [value] => simple note
        )

    [2] => Array
        (
            [tag] => PARA
            [type] => close
            [level] => 1
        )

)

Event-driven parsing (based on the expat library) can get complicated when you have an XML document that is complex. This function does not produce a DOM style object, but it generates structures amenable of being transversed in a tree fashion. Thus, we can create objects representing the data in the XML file easily. Let's consider the following XML file representing a small database of aminoacids information:

Beispiel #2 moldb.xml - small database of molecular information

<?xml version="1.0"?>
<moldb>

  <molecule>
      <name>Alanine</name>
      <symbol>ala</symbol>
      <code>A</code>
      <type>hydrophobic</type>
  </molecule>

  <molecule>
      <name>Lysine</name>
      <symbol>lys</symbol>
      <code>K</code>
      <type>charged</type>
  </molecule>

</moldb>
And some code to parse the document and generate the appropriate objects:

Beispiel #3 parsemoldb.php - parses moldb.xml into an array of molecular objects

<?php

class AminoAcid {
    var $name;  // aa name
    var $symbol;    // three letter symbol
    var $code;  // one letter code
    var $type;  // hydrophobic, charged or neutral

    function AminoAcid ($aa)
    {
        foreach ($aa as $k=>$v)
            $this->$k = $aa[$k];
    }
}

function readDatabase($filename)
{
    // read the XML database of aminoacids
    $data = implode("", file($filename));
    $parser = xml_parser_create();
    xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
    xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
    xml_parse_into_struct($parser, $data, $values, $tags);
    xml_parser_free($parser);

    // loop through the structures
    foreach ($tags as $key=>$val) {
        if ($key == "molecule") {
            $molranges = $val;
            // each contiguous pair of array entries are the
            // lower and upper range for each molecule definition
            for ($i=0; $i < count($molranges); $i+=2) {
                $offset = $molranges[$i] + 1;
                $len = $molranges[$i + 1] - $offset;
                $tdb[] = parseMol(array_slice($values, $offset, $len));
            }
        } else {
            continue;
        }
    }
    return $tdb;
}

function parseMol($mvalues)
{
    for ($i=0; $i < count($mvalues); $i++) {
        $mol[$mvalues[$i]["tag"]] = $mvalues[$i]["value"];
    }
    return new AminoAcid($mol);
}

$db = readDatabase("moldb.xml");
echo "** Database of AminoAcid objects:\n";
print_r($db);

?>
After executing parsemoldb.php, the variable $db contains an array of AminoAcid objects, and the output of the script confirms that:
** Database of AminoAcid objects:
Array
(
    [0] => aminoacid Object
        (
            [name] => Alanine
            [symbol] => ala
            [code] => A
            [type] => hydrophobic
        )

    [1] => aminoacid Object
        (
            [name] => Lysine
            [symbol] => lys
            [code] => K
            [type] => charged
        )

)

xml_get_error_code
xml_parse
XML Parser Funktionen


Start parsing an XML document

xml_parse_into_struct
xml_parser_create_ns
XML Parser Funktionen
PHP Manual

xml_parse

(PHP 4, PHP 5, PHP 7)

xml_parse — Start parsing an XML document

Beschreibung

int xml_parse ( resource $parser , string $data [, bool $is_final = false ] )

xml_parse() parses an XML document. The handlers for the configured events are called as many times as necessary.

Parameter-Liste

parser

A reference to the XML parser to use.

data

Chunk of data to parse. A document may be parsed piece-wise by calling xml_parse() several times with new data, as long as the is_final parameter is set and TRUE when the last data is parsed.

is_final

If set and TRUE, data is the last piece of data sent in this parse.

Rückgabewerte

Returns 1 on success or 0 on failure.

For unsuccessful parses, error information can be retrieved with
xml_get_error_code(),
xml_error_string(),
xml_get_current_line_number(),
xml_get_current_column_number() and
xml_get_current_byte_index().

Hinweis:

Entity errors are reported at the end of the data thus only if is_final is set and TRUE.

xml_parse_into_struct
xml_parser_create_ns
XML Parser Funktionen


Create an XML parser with namespace support

xml_parse
xml_parser_create
XML Parser Funktionen
PHP Manual

xml_parser_create_ns

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

xml_parser_create_ns — Create an XML parser with namespace support

Beschreibung

resource xml_parser_create_ns ([ string $encoding [, string $separator = ":" ]] )

xml_parser_create_ns() creates a new XML parser with XML namespace support and returns a resource handle referencing it to be used by the other XML functions.

Parameter-Liste

encoding

The input encoding is automatically detected, so that the encoding parameter specifies only the output encoding. In PHP 5.0.0 and 5.0.1, the default output charset is ISO-8859-1, while in PHP 5.0.2 and upper is UTF-8. The supported encodings are ISO-8859-1, UTF-8 and US-ASCII.

separator

With a namespace aware parser tag parameters passed to the various handler functions will consist of namespace and tag name separated by the string specified in separator.

Rückgabewerte

Returns a resource handle for the new XML parser.

Siehe auch

  • xml_parser_create() - Create an XML parser
  • xml_parser_free() - Free an XML parser

xml_parse
xml_parser_create
XML Parser Funktionen


Create an XML parser

xml_parser_create_ns
xml_parser_free
XML Parser Funktionen
PHP Manual

xml_parser_create

(PHP 4, PHP 5, PHP 7)

xml_parser_create — Create an XML parser

Beschreibung

resource xml_parser_create ([ string $encoding ] )

xml_parser_create() creates a new XML parser and returns a resource handle referencing it to be used by the other XML functions.

Parameter-Liste

encoding

The optional encoding specifies the character encoding for the input/output in PHP 4. Starting from PHP 5, the input encoding is automatically detected, so that the encoding parameter specifies only the output encoding. In PHP 4, the default output encoding is the same as the input charset. If empty string is passed, the parser attempts to identify which encoding the document is encoded in by looking at the heading 3 or 4 bytes. In PHP 5.0.0 and 5.0.1, the default output charset is ISO-8859-1, while in PHP 5.0.2 and upper is UTF-8. The supported encodings are ISO-8859-1, UTF-8 and US-ASCII.

Rückgabewerte

Returns a resource handle for the new XML parser.

Siehe auch

  • xml_parser_create_ns() - Create an XML parser with namespace support
  • xml_parser_free() - Free an XML parser

xml_parser_create_ns
xml_parser_free
XML Parser Funktionen


Free an XML parser

xml_parser_create
xml_parser_get_option
XML Parser Funktionen
PHP Manual

xml_parser_free

(PHP 4, PHP 5, PHP 7)

xml_parser_free — Free an XML parser

Beschreibung

bool xml_parser_free ( resource $parser )

Frees the given XML parser.

Parameter-Liste

parser
A reference to the XML parser to free.

Rückgabewerte

This function returns FALSE if parser does not refer to a valid parser, or else it frees the parser and returns TRUE.

xml_parser_create
xml_parser_get_option
XML Parser Funktionen


Get options from an XML parser

xml_parser_free
xml_parser_set_option
XML Parser Funktionen
PHP Manual

xml_parser_get_option

(PHP 4, PHP 5, PHP 7)

xml_parser_get_option — Get options from an XML parser

Beschreibung

mixed xml_parser_get_option ( resource $parser , int $option )

Gets an option value from an XML parser.

Parameter-Liste

parser
A reference to the XML parser to get an option from.
option
Which option to fetch. XML_OPTION_CASE_FOLDING and XML_OPTION_TARGET_ENCODING are available. See xml_parser_set_option() for their description.

Rückgabewerte

This function returns FALSE if parser does not refer to a valid parser or if option isn't valid (generates also a E_WARNING). Else the option's value is returned.

xml_parser_free
xml_parser_set_option
XML Parser Funktionen


Set options in an XML parser

xml_parser_get_option
xml_set_character_data_handler
XML Parser Funktionen
PHP Manual

xml_parser_set_option

(PHP 4, PHP 5, PHP 7)

xml_parser_set_option — Set options in an XML parser

Beschreibung

bool xml_parser_set_option ( resource $parser , int $option , mixed $value )

Sets an option in an XML parser.

Parameter-Liste

parser

A reference to the XML parser to set an option in.

option

Which option to set. See below.

The following options are available:

XML parser options
Option constant | Data type | Description
XML_OPTION_CASE_FOLDING | integer | Controls whether case-folding is enabled for this XML parser. Enabled by default.
XML_OPTION_SKIP_TAGSTART | integer | Specify how many characters should be skipped in the beginning of a tag name.
XML_OPTION_SKIP_WHITE | integer | Whether to skip values consisting of whitespace characters.
XML_OPTION_TARGET_ENCODING | string | Sets which target encoding to use in this XML parser.By default, it is set to the same as the source encoding used by xml_parser_create(). Supported target encodings are ISO-8859-1, US-ASCII and UTF-8.

value

The option's new value.

Rückgabewerte

This function returns FALSE if parser does not refer to a valid parser, or if the option could not be set. Else the option is set and TRUE is returned.

xml_parser_get_option
xml_set_character_data_handler
XML Parser Funktionen


Set up character data handler

xml_parser_set_option
xml_set_default_handler
XML Parser Funktionen
PHP Manual

xml_set_character_data_handler

(PHP 4, PHP 5, PHP 7)

xml_set_character_data_handler — Set up character data handler

Beschreibung

bool xml_set_character_data_handler ( resource $parser , callable $handler )

Sets the character data handler function for the XML parser parser.

Parameter-Liste

parser

A reference to the XML parser to set up character data handler function.

handler

handler is a string containing the name of a function that must exist when xml_parse() is called for parser.

The function named by handler must accept two parameters:

handler ( resource $parser , string $data )
parser
The first parameter, parser, is a reference to the XML parser calling the handler.
data
The second parameter, data, contains the character data as a string.

Character data handler is called for every piece of a text in the XML document. It can be called multiple times inside each fragment (e.g. for non-ASCII strings).

If a handler function is set to an empty string, or FALSE, the handler in question is disabled.

Hinweis: Anstelle eines Funktionsnamens kann auch ein Array mit einer Objekt-Referenz und dem Namen einer Methode angegeben werden.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

xml_parser_set_option
xml_set_default_handler
XML Parser Funktionen


Set up default handler

xml_set_character_data_handler
xml_set_element_handler
XML Parser Funktionen
PHP Manual

xml_set_default_handler

(PHP 4, PHP 5, PHP 7)

xml_set_default_handler — Set up default handler

Beschreibung

bool xml_set_default_handler ( resource $parser , callable $handler )

Sets the default handler function for the XML parser parser.

Parameter-Liste

parser

A reference to the XML parser to set up default handler function.

handler

handler is a string containing the name of a function that must exist when xml_parse() is called for parser.

The function named by handler must accept two parameters:

handler ( resource $parser , string $data )
parser
The first parameter, parser, is a reference to the XML parser calling the handler.
data
The second parameter, data, contains the character data.This may be the XML declaration, document type declaration, entities or other data for which no other handler exists.

If a handler function is set to an empty string, or FALSE, the handler in question is disabled.

Hinweis: Anstelle eines Funktionsnamens kann auch ein Array mit einer Objekt-Referenz und dem Namen einer Methode angegeben werden.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

xml_set_character_data_handler
xml_set_element_handler
XML Parser Funktionen


Set up start and end element handlers

xml_set_default_handler
xml_set_end_namespace_decl_handler
XML Parser Funktionen
PHP Manual

xml_set_element_handler

(PHP 4, PHP 5, PHP 7)

xml_set_element_handler — Set up start and end element handlers

Beschreibung

bool xml_set_element_handler ( resource $parser , callable $start_element_handler , callable $end_element_handler )

Sets the element handler functions for the XML parser. start_element_handler and end_element_handler are strings containing the names of functions that must exist when xml_parse() is called for parser.

Parameter-Liste

parser

A reference to the XML parser to set up start and end element handler functions.

start_element_handler

The function named by start_element_handler must accept three parameters:

start_element_handler ( resource $parser , string $name , array $attribs )
parser
The first parameter, parser, is a reference to the XML parser calling the handler.
name
The second parameter, name, contains the name of the element for which this handler is called.If case-folding is in effect for this parser, the element name will be in uppercase letters.
attribs
The third parameter, attribs, contains an associative array with the element's attributes (if any).The keys of this array are the attribute names, the values are the attribute values.Attribute names are case-folded on the same criteria as element names.Attribute values are not case-folded. The original order of the attributes can be retrieved by walking through attribs the normal way, using each().The first key in the array was the first attribute, and so on.

Hinweis: Anstelle eines Funktionsnamens kann auch ein Array mit einer Objekt-Referenz und dem Namen einer Methode angegeben werden.

end_element_handler

The function named by end_element_handler must accept two parameters:

end_element_handler ( resource $parser , string $name )
parser
The first parameter, parser, is a reference to the XML parser calling the handler.
name
The second parameter, name, contains the name of the element for which this handler is called.If case-folding is in effect for this parser, the element name will be in uppercase letters.

If a handler function is set to an empty string, or FALSE, the handler in question is disabled.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

xml_set_default_handler
xml_set_end_namespace_decl_handler
XML Parser Funktionen


Set up end namespace declaration handler

xml_set_element_handler
xml_set_external_entity_ref_handler
XML Parser Funktionen
PHP Manual

xml_set_end_namespace_decl_handler

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

xml_set_end_namespace_decl_handler — Set up end namespace declaration handler

Beschreibung

bool xml_set_end_namespace_decl_handler ( resource $parser , callable $handler )

Set a handler to be called when leaving the scope of a namespace declaration. This will be called, for each namespace declaration, after the handler for the end tag of the element in which the namespace was declared.

Achtung

This event is not supported under libXML, so a registered handler wouldn't be called.

Parameter-Liste

parser

A reference to the XML parser.

handler

handler is a string containing the name of a function that must exist when xml_parse() is called for parser.

The function named by handler must accept two parameters, and should return an integer value. If the value returned from the handler is FALSE (which it will be if no value is returned), the XML parser will stop parsing and xml_get_error_code() will return XML_ERROR_EXTERNAL_ENTITY_HANDLING.

handler ( resource $parser , string $prefix )
parser
The first parameter, parser, is a reference to the XML parser calling the handler.
prefix
The prefix is a string used to reference the namespace within an XML object.

If a handler function is set to an empty string, or FALSE, the handler in question is disabled.

Hinweis: Anstelle eines Funktionsnamens kann auch ein Array mit einer Objekt-Referenz und dem Namen einer Methode angegeben werden.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • xml_set_start_namespace_decl_handler() - Set up start namespace declaration handler

xml_set_element_handler
xml_set_external_entity_ref_handler
XML Parser Funktionen


Set up external entity reference handler

xml_set_end_namespace_decl_handler
xml_set_notation_decl_handler
XML Parser Funktionen
PHP Manual

xml_set_external_entity_ref_handler

(PHP 4, PHP 5, PHP 7)

xml_set_external_entity_ref_handler — Set up external entity reference handler

Beschreibung

bool xml_set_external_entity_ref_handler ( resource $parser , callable $handler )

Sets the external entity reference handler function for the XML parser parser.

Parameter-Liste

parser

A reference to the XML parser to set up external entity reference handler function.

handler

handler is a string containing the name of a function that must exist when xml_parse() is called for parser.

The function named by handler must accept five parameters, and should return an integer value.If the value returned from the handler is FALSE (which it will be if no value is returned), the XML parser will stop parsing and xml_get_error_code() will return XML_ERROR_EXTERNAL_ENTITY_HANDLING.

handler ( resource $parser , string $open_entity_names , string $base , string $system_id , string $public_id )
parser
The first parameter, parser, is a reference to the XML parser calling the handler.
open_entity_names
The second parameter, open_entity_names, is a space-separated list of the names of the entities that are open for the parse of this entity (including the name of the referenced entity).
base
This is the base for resolving the system identifier (system_id) of the external entity.Currently this parameter will always be set to an empty string.
system_id
The fourth parameter, system_id, is the system identifier as specified in the entity declaration.
public_id
The fifth parameter, public_id, is the public identifier as specified in the entity declaration, or an empty string if none was specified; the whitespace in the public identifier will have been normalized as required by the XML spec.

If a handler function is set to an empty string, or FALSE, the handler in question is disabled.

Hinweis: Anstelle eines Funktionsnamens kann auch ein Array mit einer Objekt-Referenz und dem Namen einer Methode angegeben werden.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

xml_set_end_namespace_decl_handler
xml_set_notation_decl_handler
XML Parser Funktionen


Set up notation declaration handler

xml_set_external_entity_ref_handler
xml_set_object
XML Parser Funktionen
PHP Manual

xml_set_notation_decl_handler

(PHP 4, PHP 5, PHP 7)

xml_set_notation_decl_handler — Set up notation declaration handler

Beschreibung

bool xml_set_notation_decl_handler ( resource $parser , callable $handler )

Sets the notation declaration handler function for the XML parser parser.

A notation declaration is part of the document's DTD and has the following format:

<!NOTATION <parameter>name</parameter>
{ <parameter>systemId</parameter> | <parameter>publicId</parameter>?>
See » section 4.7 of the XML 1.0 spec for the definition of notation declarations.

Parameter-Liste

parser

A reference to the XML parser to set up notation declaration handler function.

handler

handler is a string containing the name of a function that must exist when xml_parse() is called for parser.

The function named by handler must accept five parameters:

handler ( resource $parser , string $notation_name , string $base , string $system_id , string $public_id )
parser
The first parameter, parser, is a reference to the XML parser calling the handler.
notation_name
This is the notation's name, as per the notation format described above.
base
This is the base for resolving the system identifier (system_id) of the notation declaration. Currently this parameter will always be set to an empty string.
system_id
System identifier of the external notation declaration.
public_id
Public identifier of the external notation declaration.

If a handler function is set to an empty string, or FALSE, the handler in question is disabled.

Hinweis: Anstelle eines Funktionsnamens kann auch ein Array mit einer Objekt-Referenz und dem Namen einer Methode angegeben werden.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

xml_set_external_entity_ref_handler
xml_set_object
XML Parser Funktionen


Use XML Parser within an object

xml_set_notation_decl_handler
xml_set_processing_instruction_handler
XML Parser Funktionen
PHP Manual

xml_set_object

(PHP 4, PHP 5, PHP 7)

xml_set_object — Use XML Parser within an object

Beschreibung

bool xml_set_object ( resource $parser , object &$object )

This function allows to use parser inside object. All callback functions could be set with xml_set_element_handler() etc and assumed to be methods of object.

Achtung

In addition to calling xml_parser_free() when the parsing is finished, as of PHP 7.0.0 it is necessary to also explicitly unset the reference to parser to avoid memory leaks.

Parameter-Liste

parser

A reference to the XML parser to use inside the object.

object

The object where to use the XML parser.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 xml_set_object() example

<?php
class XMLParser
{
    private $parser;

    function __construct()
    {
        $this->parser = xml_parser_create();

        xml_set_object($this->parser, $this);
        xml_set_element_handler($this->parser, "tag_open", "tag_close");
        xml_set_character_data_handler($this->parser, "cdata");
    }

    function __destruct()
    {
        xml_parser_free($this->parser);
        unset($this->parser);
    }

    function parse($data)
    {
        xml_parse($this->parser, $data);
    }

    function tag_open($parser, $tag, $attributes)
    {
        var_dump($tag, $attributes);
    }

    function cdata($parser, $cdata)
    {
        var_dump($cdata);
    }

    function tag_close($parser, $tag)
    {
        var_dump($tag);
    }
}

$xml_parser = new XMLParser();
$xml_parser->parse("<A ID='hallo'>PHP</A>");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(1) "A"
array(1) {
  ["ID"]=>
  string(5) "hallo"
}
string(3) "PHP"
string(1) "A"

xml_set_notation_decl_handler
xml_set_processing_instruction_handler
XML Parser Funktionen


Set up processing instruction (PI) handler

xml_set_object
xml_set_start_namespace_decl_handler
XML Parser Funktionen
PHP Manual

xml_set_processing_instruction_handler

(PHP 4, PHP 5, PHP 7)

xml_set_processing_instruction_handler — Set up processing instruction (PI) handler

Beschreibung

bool xml_set_processing_instruction_handler ( resource $parser , callable $handler )

Sets the processing instruction (PI) handler function for the XML parser parser.

A processing instruction has the following format:

<?
target data
?>
You can put PHP code into such a tag, but be aware of one limitation: in an XML PI, the PI end tag (?>) can not be quoted, so this character sequence should not appear in the PHP code you embed with PIs in XML documents.If it does, the rest of the PHP code, as well as the "real" PI end tag, will be treated as character data.

Parameter-Liste

parser

A reference to the XML parser to set up processing instruction (PI) handler function.

handler

handler is a string containing the name of a function that must exist when xml_parse() is called for parser.

The function named by handler must accept three parameters:

handler ( resource $parser , string $target , string $data )
parser
The first parameter, parser, is a reference to the XML parser calling the handler.
target
The second parameter, target, contains the PI target.
data
The third parameter, data, contains the PI data.

If a handler function is set to an empty string, or FALSE, the handler in question is disabled.

Hinweis: Anstelle eines Funktionsnamens kann auch ein Array mit einer Objekt-Referenz und dem Namen einer Methode angegeben werden.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

xml_set_object
xml_set_start_namespace_decl_handler
XML Parser Funktionen


Set up start namespace declaration handler

xml_set_processing_instruction_handler
xml_set_unparsed_entity_decl_handler
XML Parser Funktionen
PHP Manual

xml_set_start_namespace_decl_handler

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

xml_set_start_namespace_decl_handler — Set up start namespace declaration handler

Beschreibung

bool xml_set_start_namespace_decl_handler ( resource $parser , callable $handler )

Set a handler to be called when a namespace is declared. Namespace declarations occur inside start tags. But the namespace declaration start handler is called before the start tag handler for each namespace declared in that start tag.

Parameter-Liste

parser

A reference to the XML parser.

handler

handler is a string containing the name of a function that must exist when xml_parse() is called for parser.

The function named by handler must accept three parameters, and should return an integer value. If the value returned from the handler is FALSE (which it will be if no value is returned), the XML parser will stop parsing and xml_get_error_code() will return XML_ERROR_EXTERNAL_ENTITY_HANDLING.

handler ( resource $parser , string $prefix , string $uri )
parser
The first parameter, parser, is a reference to the XML parser calling the handler.
prefix
The prefix is a string used to reference the namespace within an XML object.
uri
Uniform Resource Identifier (URI) of namespace.

If a handler function is set to an empty string, or FALSE, the handler in question is disabled.

Hinweis: Anstelle eines Funktionsnamens kann auch ein Array mit einer Objekt-Referenz und dem Namen einer Methode angegeben werden.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • xml_set_end_namespace_decl_handler() - Set up end namespace declaration handler

xml_set_processing_instruction_handler
xml_set_unparsed_entity_decl_handler
XML Parser Funktionen


Set up unparsed entity declaration handler

xml_set_start_namespace_decl_handler
XMLReader
XML Parser Funktionen
PHP Manual

xml_set_unparsed_entity_decl_handler

(PHP 4, PHP 5, PHP 7)

xml_set_unparsed_entity_decl_handler — Set up unparsed entity declaration handler

Beschreibung

bool xml_set_unparsed_entity_decl_handler ( resource $parser , callable $handler )

Sets the unparsed entity declaration handler function for the XML parser parser.

The handler will be called if the XML parser encounters an external entity declaration with an NDATA declaration, like the following:

<!ENTITY <parameter>name</parameter> {<parameter>publicId</parameter> | <parameter>systemId</parameter>}
        NDATA <parameter>notationName</parameter>

See » section 4.2.2 of the XML 1.0 spec for the definition of notation declared external entities.

Parameter-Liste

parser

A reference to the XML parser to set up unparsed entity declaration handler function.

handler

handler is a string containing the name of a function that must exist when xml_parse() is called for parser.

The function named by handler must accept six parameters:

handler ( resource $parser , string $entity_name , string $base , string $system_id , string $public_id , string $notation_name )
parser
The first parameter, parser, is a reference to the XML parser calling the handler.
entity_name
The name of the entity that is about to be defined.
base
This is the base for resolving the system identifier (systemId) of the external entity.Currently this parameter will always be set to an empty string.
system_id
System identifier for the external entity.
public_id
Public identifier for the external entity.
notation_name
Name of the notation of this entity (see xml_set_notation_decl_handler()).

If a handler function is set to an empty string, or FALSE, the handler in question is disabled.

Hinweis: Anstelle eines Funktionsnamens kann auch ein Array mit einer Objekt-Referenz und dem Namen einer Methode angegeben werden.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

xml_set_start_namespace_decl_handler
XMLReader
XML Parser Funktionen


XMLReader

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • XMLReader — Die XMLReader Klasse
    • XMLReader::close — XMLReader-Eingabe beenden
    • XMLReader::expand — Gibt eine Kopie des aktuellen Knotens als DOM-Objekt zurück
    • XMLReader::getAttribute — Gibt den Wert eines Attributes nach Namen zurück
    • XMLReader::getAttributeNo — Gibt den Wert eines Attributes nach Position zurück
    • XMLReader::getAttributeNs — Gibt den Wert eines Attributes nach lokalem Namen und URI zurück
    • XMLReader::getParserProperty — Zeigt an, ob die angegebene Eigenschaft gesetzt wurde
    • XMLReader::isValid — Zeigt an, ob das geparste Dokument valide ist
    • XMLReader::lookupNamespace — Prüfen, ob ein Namensbereich für einen Präfix vorhanden ist
    • XMLReader::moveToAttribute — Zeiger auf benanntes Attribut setzen
    • XMLReader::moveToAttributeNo — Move cursor to an attribute by index
    • XMLReader::moveToAttributeNs — Move cursor to a named attribute
    • XMLReader->moveToElement — Zeiger positionieren auf das Elternelement des aktuellen Attributes
    • XMLReader::moveToFirstAttribute — Zeiger auf erstes Attribut setzen
    • XMLReader::moveToNextAttribute — Zeiger auf nächstes Attribut setzen
    • XMLReader::next — Zeiger auf nächstes Element setzen und Kinder überspringen
    • XMLReader::open — URI angeben, die auf XML-Inhalt verweist, der geparst werden soll
    • XMLReader::read — Zeiger auf das nächste Element setzen
    • XMLReader::readInnerXML — Erhalte XML des aktuellen Knotens
    • XMLReader::readOuterXML — Liest XML des aktuellen Knotens, inklusive den Knoten selbst
    • XMLReader::readString — Liest den Inhalt des aktuellen Knotens als Zeichenkette
    • XMLReader::setParserProperty — Parser-Optionen setzen
    • XMLReader::setRelaxNGSchema — Dateiname oder URI des RelaxNG-Schema setzen
    • XMLReader::setRelaxNGSchemaSource — Zeichenkette setzen, die RelaxNG-Schemadaten enthält
    • XMLReader::setSchema — Validiert Dokument gegen XSD
    • XMLReader::XML — Zeichenkette setzen, deren Inhalt geparst werden soll
xml_set_unparsed_entity_decl_handler
Einführung
XML-Manipulation


Einführung

Die XMLReader-Erweiterung ist ein fortschreitender XML-Parser. Der Reader agiert wie ein Zeiger, der einen Datenstrom durchläuft und jeden vorbeikommenden Knoten der Reihe nach verarbeitet.

Encoding

Es ist wichtig zu beachten, dass die libxml intern die UTF-8 Kodierung verwendet und der gewonnene Inhalt daher immer in UTF-8 Kodierung vorliegt.

XMLReader
Installation/Konfiguration
XMLReader


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
XMLReader


Installation

Die XMLReader-Erweiterung steht für PHP 5.0.0 unter PECL zur Verfügung. Ab PHP 5.1.0 ist sie standardmäßig mitgeliefert und seit PHP 5.1.2 standardmäßig aktiviert.

Diese Erweiterung ist standardmäßig aktiviert. Sie kann bei der Kompilierung mit der folgenden Option ausgeschaltet werden: --disable-xmlreader

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Ressource-Typen

Diese Erweiterung definiert keine Ressource-Typen.

Laufzeit-Konfiguration
XMLReader
Installation/Konfiguration


Die XMLReader Klasse

(PHP 5 >= 5.1.0, PHP 7)

Einführung

Die XMLReader-Erweiterung ist ein fortschreitender XML-Parser. Der Reader agiert wie ein Zeiger, der einen Datenstrom durchläuft und jeden vorbeikommenden Knoten der Reihe nach verarbeitet.

Klassenbeschreibung

XMLReader {
/* Konstanten */
const int NONE = 0 ;
const int ELEMENT = 1 ;
const int ATTRIBUTE = 2 ;
const int TEXT = 3 ;
const int CDATA = 4 ;
const int ENTITY_REF = 5 ;
const int ENTITY = 6 ;
const int PI = 7 ;
const int COMMENT = 8 ;
const int DOC = 9 ;
const int DOC_TYPE = 10 ;
const int DOC_FRAGMENT = 11 ;
const int NOTATION = 12 ;
const int WHITESPACE = 13 ;
const int SIGNIFICANT_WHITESPACE = 14 ;
const int END_ELEMENT = 15 ;
const int END_ENTITY = 16 ;
const int XML_DECLARATION = 17 ;
const int LOADDTD = 1 ;
const int DEFAULTATTRS = 2 ;
const int VALIDATE = 3 ;
const int SUBST_ENTITIES = 4 ;
/* Eigenschaften */
public readonly int $attributeCount ;
public readonly string $baseURI ;
public readonly int $depth ;
public readonly bool $hasAttributes ;
public readonly bool $hasValue ;
public readonly bool $isDefault ;
public readonly bool $isEmptyElement ;
public readonly string $localName ;
public readonly string $name ;
public readonly string $namespaceURI ;
public readonly int $nodeType ;
public readonly string $prefix ;
public readonly string $value ;
public readonly string $xmlLang ;
/* Methoden */
public bool close ( void )
public DOMNode expand ([ DOMNode $basenode ] )
public string getAttribute ( string $name )
public string getAttributeNo ( int $index )
public string getAttributeNs ( string $localName , string $namespaceURI )
public bool getParserProperty ( int $property )
public bool isValid ( void )
public string lookupNamespace ( string $prefix )
public bool moveToAttribute ( string $name )
public bool moveToAttributeNo ( int $index )
public bool moveToAttributeNs ( string $localName , string $namespaceURI )
public bool moveToElement ( void )
public bool moveToFirstAttribute ( void )
public bool moveToNextAttribute ( void )
public bool next ([ string $localname ] )
public bool open ( string $URI [, string $encoding [, int $options = 0 ]] )
public bool read ( void )
public string readInnerXML ( void )
public string readOuterXML ( void )
public string readString ( void )
public bool setParserProperty ( int $property , bool $value )
public bool setRelaxNGSchema ( string $filename )
public bool setRelaxNGSchemaSource ( string $source )
public bool setSchema ( string $filename )
public bool xml ( string $source [, string $encoding [, int $options = 0 ]] )
}

Eigenschaften

attributeCount

Anzahl der Attribute des aktuellen Knotens

baseURI

Die Basis URI des Knotens

depth

Tiefe des Knotens im Baum, beginnend mit 0

hasAttributes

Ob der Knoten Attribute besitzt

hasValue

Ob der Knoten einen Text-Wert besitzt

isDefault

Ob das Attribute als Standard aus der DTD übernommen wurde

isEmptyElement

Ob das Element leer ist

localName

Der lokale Name des Knotens

name

Der qualifizierte Name des Knotens

namespaceURI

Die URI des Namespaces, welcher mit dem Knoten assoziiert ist

nodeType

Der Typ des Knotens

prefix

Der Präfix, welcher mit dem Namespaces des Knotens assoziiert wird

value

Der Text-Wert des Knotens

xmlLang

Der xml:lang Scope des Knotens

Vordefinierte Konstanten

XMLReader Node Typen

XMLReader::NONE

Kein Typ

XMLReader::ELEMENT

Startendes Element

XMLReader::ATTRIBUTE

Attribut

XMLReader::TEXT

Text

XMLReader::CDATA

CDATA Abschnitt

XMLReader::ENTITY_REF

Entität-Referenz

XMLReader::ENTITY

Entität-Deklaration

XMLReader::PI

Verarbeitungsanweisung

XMLReader::COMMENT

Kommentar

XMLReader::DOC

Dokument Knoten

XMLReader::DOC_TYPE

Dokument Typ

XMLReader::DOC_FRAGMENT

Dokument Fragment Knoten

XMLReader::NOTATION

Notation

XMLReader::WHITESPACE

Leerzeichen

XMLReader::SIGNIFICANT_WHITESPACE

Signifikante Leerzeichen

XMLReader::END_ELEMENT

Schließendes Element

XMLReader::END_ENTITY

Entitätsende

XMLReader::XML_DECLARATION

XML Deklaration

XMLReader Parser Optionen

XMLReader::LOADDTD

DTD laden aber nicht validieren

XMLReader::DEFAULTATTRS

DTD und Standardattribute laden aber nicht validieren

XMLReader::VALIDATE

DTD laden und beim Parsen validieren

XMLReader::SUBST_ENTITIES

Entitäten ersetzen und Referenzen erweitern

Inhaltsverzeichnis

  • XMLReader::close — XMLReader-Eingabe beenden
  • XMLReader::expand — Gibt eine Kopie des aktuellen Knotens als DOM-Objekt zurück
  • XMLReader::getAttribute — Gibt den Wert eines Attributes nach Namen zurück
  • XMLReader::getAttributeNo — Gibt den Wert eines Attributes nach Position zurück
  • XMLReader::getAttributeNs — Gibt den Wert eines Attributes nach lokalem Namen und URI zurück
  • XMLReader::getParserProperty — Zeigt an, ob die angegebene Eigenschaft gesetzt wurde
  • XMLReader::isValid — Zeigt an, ob das geparste Dokument valide ist
  • XMLReader::lookupNamespace — Prüfen, ob ein Namensbereich für einen Präfix vorhanden ist
  • XMLReader::moveToAttribute — Zeiger auf benanntes Attribut setzen
  • XMLReader::moveToAttributeNo — Move cursor to an attribute by index
  • XMLReader::moveToAttributeNs — Move cursor to a named attribute
  • XMLReader->moveToElement — Zeiger positionieren auf das Elternelement des aktuellen Attributes
  • XMLReader::moveToFirstAttribute — Zeiger auf erstes Attribut setzen
  • XMLReader::moveToNextAttribute — Zeiger auf nächstes Attribut setzen
  • XMLReader::next — Zeiger auf nächstes Element setzen und Kinder überspringen
  • XMLReader::open — URI angeben, die auf XML-Inhalt verweist, der geparst werden soll
  • XMLReader::read — Zeiger auf das nächste Element setzen
  • XMLReader::readInnerXML — Erhalte XML des aktuellen Knotens
  • XMLReader::readOuterXML — Liest XML des aktuellen Knotens, inklusive den Knoten selbst
  • XMLReader::readString — Liest den Inhalt des aktuellen Knotens als Zeichenkette
  • XMLReader::setParserProperty — Parser-Optionen setzen
  • XMLReader::setRelaxNGSchema — Dateiname oder URI des RelaxNG-Schema setzen
  • XMLReader::setRelaxNGSchemaSource — Zeichenkette setzen, die RelaxNG-Schemadaten enthält
  • XMLReader::setSchema — Validiert Dokument gegen XSD
  • XMLReader::XML — Zeichenkette setzen, deren Inhalt geparst werden soll
Ressource-Typen
XMLReader::close
XMLReader


XMLReader-Eingabe beenden

XMLReader
XMLReader::expand
XMLReader
PHP Manual

XMLReader::close

(PHP 5 >= 5.1.0, PHP 7)

XMLReader::close — XMLReader-Eingabe beenden

Beschreibung

public bool XMLReader::close ( void )

Beenden der Eingabe die das XMLReader-Objekt gerade parst.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLReader::open() - URI angeben, die auf XML-Inhalt verweist, der geparst werden soll
  • XMLReader::xml() - Zeichenkette setzen, deren Inhalt geparst werden soll

XMLReader
XMLReader::expand
XMLReader


Gibt eine Kopie des aktuellen Knotens als DOM-Objekt zurück

XMLReader::close
XMLReader::getAttribute
XMLReader
PHP Manual

XMLReader::expand

(PHP 5 >= 5.1.0, PHP 7)

XMLReader::expand — Gibt eine Kopie des aktuellen Knotens als DOM-Objekt zurück

Beschreibung

public DOMNode XMLReader::expand ([ DOMNode $basenode ] )

Diese Methode kopiert den aktuellen Knoten und gibt ihn als entsprechendes DOM-Objekt zurück.

Parameter-Liste

basenode

Ein DOMNode, der das DOMDocument Ziel für das erzeugte DOM Objekt definiert.

Rückgabewerte

Entsprechendes DOMNode oder FALSE bei Fehlern.

Changelog

Version | Beschreibung
5.3.0 | Der Parameter basenode wurde hinzugefügt.

XMLReader::close
XMLReader::getAttribute
XMLReader


Gibt den Wert eines Attributes nach Namen zurück

XMLReader::expand
XMLReader::getAttributeNo
XMLReader
PHP Manual

XMLReader::getAttribute

(PHP 5 >= 5.1.0, PHP 7)

XMLReader::getAttribute — Gibt den Wert eines Attributes nach Namen zurück

Beschreibung

public string XMLReader::getAttribute ( string $name )

Der Wert des Attributes mit entsprechendem Namen oder NULL, wenn das Attribut nicht existiert oder der Cursor derzeitig nicht über einem Elementknoten positioniert ist.

Parameter-Liste

name

Der Name des Attributes.

Rückgabewerte

Der Wert des Attributes oder NULL, wenn kein Attribut name im aktuellen Element gefunden wurde oder der Cursor derzeitig nicht über einem Elementknoten positioniert ist.

Changelog

Version | Beschreibung
5.1.3 | Es wird NULL zurückgegeben, wenn das Attribut nicht gefunden wurde. Vorher wurde ein leerer String zurückgegeben.

Siehe auch

  • XMLReader::getAttributeNo() - Gibt den Wert eines Attributes nach Position zurück
  • XMLReader::getAttributeNs() - Gibt den Wert eines Attributes nach lokalem Namen und URI zurück

XMLReader::expand
XMLReader::getAttributeNo
XMLReader


Gibt den Wert eines Attributes nach Position zurück

XMLReader::getAttribute
XMLReader::getAttributeNs
XMLReader
PHP Manual

XMLReader::getAttributeNo

(PHP 5 >= 5.1.0, PHP 7)

XMLReader::getAttributeNo — Gibt den Wert eines Attributes nach Position zurück

Beschreibung

public string XMLReader::getAttributeNo ( int $index )

Der Wert des Attributes an der angegebenen Position oder eine leere Zeichenkette, wenn das Attribut nicht existiert oder keinem Elementknoten zugeordnet ist.

Parameter-Liste

index

Position des Attributes.

Rückgabewerte

Der Wert des Attributes oder eine leere Zeichenkette (vor PHP 5.6) oder NULL (von PHP 5.6 an), wenn kein Attribut an der Position index im aktuellen Element gefunden wurde.

Changelog

Version | Beschreibung
5.6.0 | XMLReader::getAttributeNo() gibt nun NULL zurück, wenn das Attribut nicht existiert.

Siehe auch

  • XMLReader::getAttribute() - Gibt den Wert eines Attributes nach Namen zurück
  • XMLReader::getAttributeNs() - Gibt den Wert eines Attributes nach lokalem Namen und URI zurück

XMLReader::getAttribute
XMLReader::getAttributeNs
XMLReader


Gibt den Wert eines Attributes nach lokalem Namen und URI zurück

XMLReader::getAttributeNo
XMLReader::getParserProperty
XMLReader
PHP Manual

XMLReader::getAttributeNs

(PHP 5 >= 5.1.0, PHP 7)

XMLReader::getAttributeNs — Gibt den Wert eines Attributes nach lokalem Namen und URI zurück

Beschreibung

public string XMLReader::getAttributeNs ( string $localName , string $namespaceURI )

Der Wert des Attributes mit entsprechendem Namen und Namensraum (URI) oder eine leere Zeichenkette, wenn das Attribut nicht existiert oder der Cursor sich derzeitig nicht über einem Element befindet.

Parameter-Liste

localName

Der lokale Name des Attributes.

namespaceURI

Die URI des Namensraum.

Rückgabewerte

Der Wert des Attributes oder eine leere Zeichenkette (vor PHP 5.6) oder NULL (von PHP 5.6 an), wenn kein Attribut mit den Parametern localName und namespaceURI im aktuellen Element gefunden wurde oder der Cursor sich derzeitig nicht über einem Element befindet.

Changelog

Version | Beschreibung
5.6.0 | XMLReader::getAttributeNS() gibt nun NULL zurück, wenn das Attribut nicht existiert.

Siehe auch

  • XMLReader::getAttribute() - Gibt den Wert eines Attributes nach Namen zurück
  • XMLReader::getAttributeNo() - Gibt den Wert eines Attributes nach Position zurück

XMLReader::getAttributeNo
XMLReader::getParserProperty
XMLReader


Zeigt an, ob die angegebene Eigenschaft gesetzt wurde

XMLReader::getAttributeNs
XMLReader::isValid
XMLReader
PHP Manual

XMLReader::getParserProperty

(PHP 5 >= 5.1.0, PHP 7)

XMLReader::getParserProperty — Zeigt an, ob die angegebene Eigenschaft gesetzt wurde

Beschreibung

public bool XMLReader::getParserProperty ( int $property )

Zeigt an, ob die angegebene Eigenschaft gesetzt wurde.

Parameter-Liste

property

Eine der Parser-Optionskonstanten.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLReader::setParserProperty() - Parser-Optionen setzen

XMLReader::getAttributeNs
XMLReader::isValid
XMLReader


Zeigt an, ob das geparste Dokument valide ist

XMLReader::getParserProperty
XMLReader::lookupNamespace
XMLReader
PHP Manual

XMLReader::isValid

(PHP 5 >= 5.1.0, PHP 7)

XMLReader::isValid — Zeigt an, ob das geparste Dokument valide ist

Beschreibung

public bool XMLReader::isValid ( void )

Gibt einen boolschen Wert zurück, der anzeigt, ob das geparste Dokument sich aktuell in einem validen Zustand befindet.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Validierung von XML

<?php
$xml = XMLReader::open('test.xml');

// VALIDATE Option muss gesetzt werden, damit diese Methode ordnungsgemäß funktioniert
$xml->setParserProperty(XMLReader::VALIDATE, true);

var_dump($xml->isValid());
?>

Anmerkungen

Hinweis: Dies überprüft den aktuellen Knoten, nicht das gesamte Dokument.

Siehe auch

  • XMLReader::setParserProperty() - Parser-Optionen setzen
  • XMLReader::setRelaxNGSchema() - Dateiname oder URI des RelaxNG-Schema setzen
  • XMLReader::setRelaxNGSchemaSource() - Zeichenkette setzen, die RelaxNG-Schemadaten enthält
  • XMLReader::setSchema() - Validiert Dokument gegen XSD

XMLReader::getParserProperty
XMLReader::lookupNamespace
XMLReader


Prüfen, ob ein Namensbereich für einen Präfix vorhanden ist

XMLReader::isValid
XMLReader::moveToAttribute
XMLReader
PHP Manual

XMLReader::lookupNamespace

(PHP 5 >= 5.1.0, PHP 7)

XMLReader::lookupNamespace — Prüfen, ob ein Namensbereich für einen Präfix vorhanden ist

Beschreibung

public string XMLReader::lookupNamespace ( string $prefix )

Prüfen, ob ein Namensbereich für den angegebenen Präfix vorhanden ist.

Parameter-Liste

prefix

Zeichenkette mit Präfix.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

XMLReader::isValid
XMLReader::moveToAttribute
XMLReader


Zeiger auf benanntes Attribut setzen

XMLReader::lookupNamespace
XMLReader::moveToAttributeNo
XMLReader
PHP Manual

XMLReader::moveToAttribute

(PHP 5 >= 5.1.0, PHP 7)

XMLReader::moveToAttribute — Zeiger auf benanntes Attribut setzen

Beschreibung

public bool XMLReader::moveToAttribute ( string $name )

Zeiger auf benanntes Attribut setzen.

Parameter-Liste

name

Name des Attributes.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLReader::moveToElement() - Zeiger positionieren auf das Elternelement des aktuellen Attributes
  • XMLReader::moveToAttributeNo() - Move cursor to an attribute by index
  • XMLReader::moveToAttributeNs() - Move cursor to a named attribute
  • XMLReader::moveToFirstAttribute() - Zeiger auf erstes Attribut setzen

XMLReader::lookupNamespace
XMLReader::moveToAttributeNo
XMLReader


Move cursor to an attribute by index

XMLReader::moveToAttribute
XMLReader::moveToAttributeNs
XMLReader
PHP Manual

XMLReader::moveToAttributeNo

(PHP 5 >= 5.1.0, PHP 7)

XMLReader::moveToAttributeNo — Move cursor to an attribute by index

Beschreibung

public bool XMLReader::moveToAttributeNo ( int $index )

Positions cursor on attribute based on its position.

Parameter-Liste

index

The position of the attribute.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLReader::moveToElement() - Zeiger positionieren auf das Elternelement des aktuellen Attributes
  • XMLReader::moveToAttribute() - Zeiger auf benanntes Attribut setzen
  • XMLReader::moveToAttributeNs() - Move cursor to a named attribute
  • XMLReader::moveToFirstAttribute() - Zeiger auf erstes Attribut setzen

XMLReader::moveToAttribute
XMLReader::moveToAttributeNs
XMLReader


Move cursor to a named attribute

XMLReader::moveToAttributeNo
XMLReader->moveToElement
XMLReader
PHP Manual

XMLReader::moveToAttributeNs

(PHP 5 >= 5.1.0, PHP 7)

XMLReader::moveToAttributeNs — Move cursor to a named attribute

Beschreibung

public bool XMLReader::moveToAttributeNs ( string $localName , string $namespaceURI )

Positions cursor on the named attribute in specified namespace.

Parameter-Liste

localName

The local name.

namespaceURI

The namespace URI.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLReader::moveToElement() - Zeiger positionieren auf das Elternelement des aktuellen Attributes
  • XMLReader::moveToAttribute() - Zeiger auf benanntes Attribut setzen
  • XMLReader::moveToAttributeNo() - Move cursor to an attribute by index
  • XMLReader::moveToFirstAttribute() - Zeiger auf erstes Attribut setzen

XMLReader::moveToAttributeNo
XMLReader->moveToElement
XMLReader


Zeiger positionieren auf das Elternelement des aktuellen Attributes

XMLReader::moveToAttributeNs
XMLReader::moveToFirstAttribute
XMLReader
PHP Manual

XMLReader->moveToElement

(PHP 5 >= 5.1.0, PHP 7)

XMLReader->moveToElement — Zeiger positionieren auf das Elternelement des aktuellen Attributes

Beschreibung

public bool XMLReader::moveToElement ( void )

Setzt Zeiger auf das Elternelement des aktuellen Attributes.

Rückgabewerte

Gibt bei Erfolg TRUE zurück und FALSE, wenn es fehlgeschlagen ist oder die Methode aufgerufen wird, wenn der Zeiger nicht auf ein Attribut zeigt.

Siehe auch

  • XMLReader::moveToAttribute() - Zeiger auf benanntes Attribut setzen
  • XMLReader::moveToAttributeNo() - Move cursor to an attribute by index
  • XMLReader::moveToAttributeNs() - Move cursor to a named attribute
  • XMLReader::moveToFirstAttribute() - Zeiger auf erstes Attribut setzen

XMLReader::moveToAttributeNs
XMLReader::moveToFirstAttribute
XMLReader


Zeiger auf erstes Attribut setzen

XMLReader->moveToElement
XMLReader::moveToNextAttribute
XMLReader
PHP Manual

XMLReader::moveToFirstAttribute

(PHP 5 >= 5.1.0, PHP 7)

XMLReader::moveToFirstAttribute — Zeiger auf erstes Attribut setzen

Beschreibung

public bool XMLReader::moveToFirstAttribute ( void )

Setzt den Zeiger auf das erste Attribut im Element.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLReader::moveToElement() - Zeiger positionieren auf das Elternelement des aktuellen Attributes
  • XMLReader::moveToAttribute() - Zeiger auf benanntes Attribut setzen
  • XMLReader::moveToAttributeNo() - Move cursor to an attribute by index
  • XMLReader::moveToAttributeNs() - Move cursor to a named attribute
  • XMLReader::moveToNextAttribute() - Zeiger auf nächstes Attribut setzen

XMLReader->moveToElement
XMLReader::moveToNextAttribute
XMLReader


Zeiger auf nächstes Attribut setzen

XMLReader::moveToFirstAttribute
XMLReader::next
XMLReader
PHP Manual

XMLReader::moveToNextAttribute

(PHP 5 >= 5.1.0, PHP 7)

XMLReader::moveToNextAttribute — Zeiger auf nächstes Attribut setzen

Beschreibung

public bool XMLReader::moveToNextAttribute ( void )

Setzt den Zeiger auf das nächste Attribut, wenn er auf ein Attribut verweist oder auf's erste Attribut, wenn er auf ein Element verweist.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLReader::moveToElement() - Zeiger positionieren auf das Elternelement des aktuellen Attributes
  • XMLReader::moveToAttribute() - Zeiger auf benanntes Attribut setzen
  • XMLReader::moveToAttributeNo() - Move cursor to an attribute by index
  • XMLReader::moveToAttributeNs() - Move cursor to a named attribute
  • XMLReader::moveToFirstAttribute() - Zeiger auf erstes Attribut setzen

XMLReader::moveToFirstAttribute
XMLReader::next
XMLReader


Zeiger auf nächstes Element setzen und Kinder überspringen

XMLReader::moveToNextAttribute
XMLReader::open
XMLReader
PHP Manual

XMLReader::next

(PHP 5 >= 5.1.0, PHP 7)

XMLReader::next — Zeiger auf nächstes Element setzen und Kinder überspringen

Beschreibung

public bool XMLReader::next ([ string $localname ] )

Setzt den Zeiger auf das nächste Element und überspringt dabei Kindelemente.

Parameter-Liste

localname

Name des nächsten Elements.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLReader::moveToNextAttribute() - Zeiger auf nächstes Attribut setzen
  • XMLReader::moveToElement() - Zeiger positionieren auf das Elternelement des aktuellen Attributes
  • XMLReader::moveToAttribute() - Zeiger auf benanntes Attribut setzen

XMLReader::moveToNextAttribute
XMLReader::open
XMLReader


URI angeben, die auf XML-Inhalt verweist, der geparst werden soll

XMLReader::next
XMLReader::read
XMLReader
PHP Manual

XMLReader::open

(PHP 5 >= 5.1.0, PHP 7)

XMLReader::open — URI angeben, die auf XML-Inhalt verweist, der geparst werden soll

Beschreibung

public bool XMLReader::open ( string $URI [, string $encoding [, int $options = 0 ]] )

URI angeben, die auf XML-Inhalt verweist, der geparst werden soll.

Parameter-Liste

URI

URI die auf den XML-Inhalt verweist.

encoding

Dokumentkodierung oder NULL.

options

Bitmaske bestehend aus LIBXML_* Konstanten.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. Wenn die Methode statisch aufgerufen wird, wird eine XMLReader Instanz zurückgegeben oder im Fehlerfall FALSE.

Fehler/Exceptions

Diese Methode kann statisch aufgerufen werden, dies wird aber einen E_STRICT-Fehler hervorrufen.

Changelog

Version | Beschreibung
5.2.0 | encoding und options wurden ergänzt.

Siehe auch

  • XMLReader::xml() - Zeichenkette setzen, deren Inhalt geparst werden soll
  • XMLReader::close() - XMLReader-Eingabe beenden

XMLReader::next
XMLReader::read
XMLReader


Zeiger auf das nächste Element setzen

XMLReader::open
XMLReader::readInnerXML
XMLReader
PHP Manual

XMLReader::read

(PHP 5 >= 5.1.0, PHP 7)

XMLReader::read — Zeiger auf das nächste Element setzen

Beschreibung

public bool XMLReader::read ( void )

Zeiger auf das nächste Element im Dokument setzen.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLReader::moveToElement() - Zeiger positionieren auf das Elternelement des aktuellen Attributes
  • XMLReader::moveToAttribute() - Zeiger auf benanntes Attribut setzen
  • XMLReader::next() - Zeiger auf nächstes Element setzen und Kinder überspringen

XMLReader::open
XMLReader::readInnerXML
XMLReader


Erhalte XML des aktuellen Knotens

XMLReader::read
XMLReader::readOuterXML
XMLReader
PHP Manual

XMLReader::readInnerXML

(PHP 5 >= 5.2.0, PHP 7)

XMLReader::readInnerXML — Erhalte XML des aktuellen Knotens

Beschreibung

public string XMLReader::readInnerXML ( void )

Liest den Inhalt des aktuellen Knoten, inklusive der Kind-Knoten und Markup.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt Inhalt des aktuellen Knotens als Zeichenkette zurück; im Fehlerfall eine leere Zeichenkette.

Anmerkungen

Achtung

Diese Funktion ist nur verfügbar, wenn PHP mit libxml 20620 oder später kompiliert wurde.

Siehe auch

  • XMLReader::readString() - Liest den Inhalt des aktuellen Knotens als Zeichenkette
  • XMLReader::readOuterXML() - Liest XML des aktuellen Knotens, inklusive den Knoten selbst
  • XMLReader::expand() - Gibt eine Kopie des aktuellen Knotens als DOM-Objekt zurück

XMLReader::read
XMLReader::readOuterXML
XMLReader


Liest XML des aktuellen Knotens, inklusive den Knoten selbst

XMLReader::readInnerXML
XMLReader::readString
XMLReader
PHP Manual

XMLReader::readOuterXML

(PHP 5 >= 5.2.0, PHP 7)

XMLReader::readOuterXML — Liest XML des aktuellen Knotens, inklusive den Knoten selbst

Beschreibung

public string XMLReader::readOuterXML ( void )

Liest den Inhalt des aktuellen Knotens, inklusive den Knoten selbst.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt Inhalt des aktuellen Knotens inklusive dem Knoten selbst als Zeichenkette zurück; im Fehlerfall eine leere Zeichenkette.

Anmerkungen

Achtung

Diese Funktion ist nur verfügbar, wenn PHP mit libxml 20620 oder später kompiliert wurde.

Siehe auch

  • XMLReader::readString() - Liest den Inhalt des aktuellen Knotens als Zeichenkette
  • XMLReader::readInnerXML() - Erhalte XML des aktuellen Knotens
  • XMLReader::expand() - Gibt eine Kopie des aktuellen Knotens als DOM-Objekt zurück

XMLReader::readInnerXML
XMLReader::readString
XMLReader


Liest den Inhalt des aktuellen Knotens als Zeichenkette

XMLReader::readOuterXML
XMLReader::setParserProperty
XMLReader
PHP Manual

XMLReader::readString

(PHP 5 >= 5.2.0, PHP 7)

XMLReader::readString — Liest den Inhalt des aktuellen Knotens als Zeichenkette

Beschreibung

public string XMLReader::readString ( void )

Liest den Inhalt des aktuellen Knotens als Zeichenkette.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Gibt den Inhalt des aktuellen Knotens als Zeichenkette zurück; im Fehlerfall eine leere Zeichenkette.

Anmerkungen

Achtung

Diese Funktion ist nur verfügbar, wenn PHP mit libxml 20620 oder später kompiliert wurde.

Siehe auch

  • XMLReader::readOuterXML() - Liest XML des aktuellen Knotens, inklusive den Knoten selbst
  • XMLReader::readInnerXML() - Erhalte XML des aktuellen Knotens
  • XMLReader::expand() - Gibt eine Kopie des aktuellen Knotens als DOM-Objekt zurück

XMLReader::readOuterXML
XMLReader::setParserProperty
XMLReader


Parser-Optionen setzen

XMLReader::readString
XMLReader::setRelaxNGSchema
XMLReader
PHP Manual

XMLReader::setParserProperty

(PHP 5 >= 5.1.0, PHP 7)

XMLReader::setParserProperty — Parser-Optionen setzen

Beschreibung

public bool XMLReader::setParserProperty ( int $property , bool $value )

Setzen von Optionen für den Parser. Die Optionen müssen definiert werden nachdem XMLReader::open() oder XMLReader::xml() verwendet werden und bevor der erste XMLReader::read() Aufruf stattfindet.

Parameter-Liste

property

Eine der Parser-Optionskonstanten.

value

Wenn die Option auf TRUE gesetzt, wird sie aktiviert, sonst deaktiviert.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

XMLReader::readString
XMLReader::setRelaxNGSchema
XMLReader


Dateiname oder URI des RelaxNG-Schema setzen

XMLReader::setParserProperty
XMLReader::setRelaxNGSchemaSource
XMLReader
PHP Manual

XMLReader::setRelaxNGSchema

(PHP 5 >= 5.2.0, PHP 7)

XMLReader::setRelaxNGSchema — Dateiname oder URI des RelaxNG-Schema setzen

Beschreibung

public bool XMLReader::setRelaxNGSchema ( string $filename )

Dateiname oder URI des RelaxNG-Schemas setzen, das zur Validierung verwendet werden soll.

Parameter-Liste

filename

Dateiname oder URI des RelaxNG-Schemas.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLReader::setRelaxNGSchemaSource() - Zeichenkette setzen, die RelaxNG-Schemadaten enthält
  • XMLReader::setSchema() - Validiert Dokument gegen XSD
  • XMLReader::isValid() - Zeigt an, ob das geparste Dokument valide ist

XMLReader::setParserProperty
XMLReader::setRelaxNGSchemaSource
XMLReader


Zeichenkette setzen, die RelaxNG-Schemadaten enthält

XMLReader::setRelaxNGSchema
XMLReader::setSchema
XMLReader
PHP Manual

XMLReader::setRelaxNGSchemaSource

(PHP 5 >= 5.1.0, PHP 7)

XMLReader::setRelaxNGSchemaSource — Zeichenkette setzen, die RelaxNG-Schemadaten enthält

Beschreibung

public bool XMLReader::setRelaxNGSchemaSource ( string $source )

Zeichenkette setzen, die RelaxNG-Schemadaten enthält, gegen die validiert werden soll.

Parameter-Liste

source

Zeichenkette die RelaxNG Schemadaten enthält.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLReader::setRelaxNGSchema() - Dateiname oder URI des RelaxNG-Schema setzen
  • XMLReader::setSchema() - Validiert Dokument gegen XSD
  • XMLReader::isValid() - Zeigt an, ob das geparste Dokument valide ist

XMLReader::setRelaxNGSchema
XMLReader::setSchema
XMLReader


Validiert Dokument gegen XSD

XMLReader::setRelaxNGSchemaSource
XMLReader::XML
XMLReader
PHP Manual

XMLReader::setSchema

(PHP 5 >= 5.2.0, PHP 7)

XMLReader::setSchema — Validiert Dokument gegen XSD

Beschreibung

public bool XMLReader::setSchema ( string $filename )

Nutzen Sie W3C XSD Schema um das Dokument während der Verarbeitung zu validieren. Die Aktivierung ist nur vor dem ersten Read() Aufruf möglich.

Parameter-Liste

filename

Der Dateiname des XSD Schema.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Gibt E_WARNING aus, falls libxml ohne Schema Unterstützung kompiliert wurde, das Schema Fehler enthält oder wenn XMLReader::read() schon aufgerufen wurde.

Anmerkungen

Achtung

Diese Funktion ist nur verfügbar, wenn PHP mit libxml 20620 oder später kompiliert wurde.

Siehe auch

  • XMLReader::setRelaxNGSchema() - Dateiname oder URI des RelaxNG-Schema setzen
  • XMLReader::setRelaxNGSchemaSource() - Zeichenkette setzen, die RelaxNG-Schemadaten enthält
  • XMLReader::isValid() - Zeigt an, ob das geparste Dokument valide ist

XMLReader::setRelaxNGSchemaSource
XMLReader::XML
XMLReader


Zeichenkette setzen, deren Inhalt geparst werden soll

XMLReader::setSchema
XMLWriter
XMLReader
PHP Manual

XMLReader::XML

(PHP 5 >= 5.1.0, PHP 7)

XMLReader::XML — Zeichenkette setzen, deren Inhalt geparst werden soll

Beschreibung

public bool XMLReader::xml ( string $source [, string $encoding [, int $options = 0 ]] )

Zeichenkette mit XML-Inhalt setzen, der geparst werden soll.

Parameter-Liste

source

Zeichenkette mit XML-Inhalt, der geparst werden soll.

encoding

Dokumentkodierung oder NULL.

options

Bitmaske bestehend aus LIBXML_* Konstanten.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben. Wenn die Methode statisch aufgerufen wird, wird eine XMLReader Instanz zurückgegeben oder im Fehlerfall FALSE.

Fehler/Exceptions

Diese Methode kann statisch aufgerufen werden, dies wird aber einen E_STRICT-Fehler hervorrufen.

Changelog

Version | Beschreibung
5.2.0 | encoding und options wurden ergänzt.

Siehe auch

  • XMLReader::open() - URI angeben, die auf XML-Inhalt verweist, der geparst werden soll
  • XMLReader::close() - XMLReader-Eingabe beenden

XMLReader::setSchema
XMLWriter
XMLReader


XMLWriter

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • XMLWriter Funktionen
    • XMLWriter::endAttribute — Attribute beenden
    • XMLWriter::endCData — Beendet CDATA-Block
    • XMLWriter::endComment — Beendet Kommentar
    • XMLWriter::endDocument — Beendet Dokument
    • XMLWriter::endDTDAttlist — Beendet DTD-Attributliste
    • XMLWriter::endDTDElement — Beendet DTD-Element
    • XMLWriter::endDTDEntity — Beendet DTD-Entität
    • XMLWriter->endDTD — Beendet DTD
    • XMLWriter->endElement — Beendet Element
    • XMLWriter->endPI — Beendet Verarbeitungsvorschrift
    • XMLWriter->flush — Puffer schreiben
    • XMLWriter->fullEndElement — Beendet Element
    • XMLWriter::openMemory — Erzeugt einen neuen XMLWriter, der Stringausgaben in den Speicher schreibt
    • XMLWriter->openURI — Erzeugt neuen XMLWriter, der URI für Ausgabe verwendet
    • XMLWriter->outputMemory — Gibt Puffer zurück
    • XMLWriter->setIndentString — Setzt Zeichenkette, die zur Einrückung verwendet wird
    • XMLWriter->setIndent — Einrückung ein-/ausschalten
    • XMLWriter->startAttributeNS — Namensraum-Attribut beginnen
    • XMLWriter->startAttribute — Attribut beginnen
    • XMLWriter->startCData — CDATA-Block beginnen
    • XMLWriter->startComment — Kommentar beginnen
    • XMLWriter->startDocument — Dokument beginnen
    • XMLWriter->startDTDAttlist — DTD-Attributliste beginnen
    • XMLWriter->startDTDElement — DTD-Element beginnen
    • XMLWriter->startDTDEntity — DTD-Entität beginnen
    • XMLWriter->startDTD — DTD beginnen
    • XMLWriter->startElementNS — Element mit Namensraum beginnen
    • XMLWriter->startElement — Element beginnen
    • XMLWriter->startPI — Verarbeitungsvorschrift beginnen
    • XMLWriter->text — Text schreiben
    • XMLWriter->writeAttributeNS — Komplettes Attribute mit Namensraum schreiben
    • XMLWriter->writeAttribute — Komplettes Attribut schreiben
    • XMLWriter->writeCData — Kompletten CDATA-Block schreiben
    • XMLWriter->writeComment — Kompletten Kommentar schreiben
    • XMLWriter->writeDTDAttlist — Komplette DTD-Attributliste schreiben
    • XMLWriter->writeDTDElement — Komplettes DTD-Element schreiben
    • XMLWriter->writeDTDEntity — Komplette DTD-Entität schreiben
    • XMLWriter->writeDTD — Komplettes DTD-Tag schreiben
    • XMLWriter->writeElementNS — Komplettes Element mit Namensraum schreiben
    • XMLWriter->writeElement — Komplettes Element schreiben
    • XMLWriter->writePI — Komplette Verarbeitungsvorschrift-Tag schreiben
    • XMLWriter->writeRaw — Reines XML schreiben
XMLReader::XML
Einführung
XML-Manipulation


Einführung

Die XMLWriter-Erweiterung ist ein Wrapper für die libxml xmlWriter-API.

Diese Erweiterung bietet einen nicht zwischenspeichernden, fortschreitenden Schreiber zum Erzeugen von Datenströmen oder Dateien mit XML-Inhalten.

Diese Erweiterung kann sowohl objektorientier als auch prozedural verwendet werden. Jede dokumentierte Methode beschreibt auch den entsprechenden prozeduralen Aufruf.

XMLWriter
Installation/Konfiguration
XMLWriter


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
XMLWriter


Installation

Die XMLWriter-Extension war ursprünglich eine Erweiterung aus PECL für PHP 5. Sie wurde ab der PHP Version 5.1.2 dem PHP Core Code hinzugefügt. Diese Erweiterung ist standardmäßig aktiviert.

Diese Erweiterung ist standardmäßig aktiviert. Sie kann bei der Kompilierung mit der folgenden Option ausgeschaltet werden: --disable-xmlwriter

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Ressource-Typen

In der prozeduralen Version der XMLWriter-Extension wird nur eine Ressource verwendet. Diese wird von xmlwriter_open_memory() oder xmlwriter_open_uri() zurückgegeben.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Ressource-Typen
XMLWriter Funktionen
XMLWriter


XMLWriter Funktionen

Inhaltsverzeichnis

  • XMLWriter::endAttribute — Attribute beenden
  • XMLWriter::endCData — Beendet CDATA-Block
  • XMLWriter::endComment — Beendet Kommentar
  • XMLWriter::endDocument — Beendet Dokument
  • XMLWriter::endDTDAttlist — Beendet DTD-Attributliste
  • XMLWriter::endDTDElement — Beendet DTD-Element
  • XMLWriter::endDTDEntity — Beendet DTD-Entität
  • XMLWriter->endDTD — Beendet DTD
  • XMLWriter->endElement — Beendet Element
  • XMLWriter->endPI — Beendet Verarbeitungsvorschrift
  • XMLWriter->flush — Puffer schreiben
  • XMLWriter->fullEndElement — Beendet Element
  • XMLWriter::openMemory — Erzeugt einen neuen XMLWriter, der Stringausgaben in den Speicher schreibt
  • XMLWriter->openURI — Erzeugt neuen XMLWriter, der URI für Ausgabe verwendet
  • XMLWriter->outputMemory — Gibt Puffer zurück
  • XMLWriter->setIndentString — Setzt Zeichenkette, die zur Einrückung verwendet wird
  • XMLWriter->setIndent — Einrückung ein-/ausschalten
  • XMLWriter->startAttributeNS — Namensraum-Attribut beginnen
  • XMLWriter->startAttribute — Attribut beginnen
  • XMLWriter->startCData — CDATA-Block beginnen
  • XMLWriter->startComment — Kommentar beginnen
  • XMLWriter->startDocument — Dokument beginnen
  • XMLWriter->startDTDAttlist — DTD-Attributliste beginnen
  • XMLWriter->startDTDElement — DTD-Element beginnen
  • XMLWriter->startDTDEntity — DTD-Entität beginnen
  • XMLWriter->startDTD — DTD beginnen
  • XMLWriter->startElementNS — Element mit Namensraum beginnen
  • XMLWriter->startElement — Element beginnen
  • XMLWriter->startPI — Verarbeitungsvorschrift beginnen
  • XMLWriter->text — Text schreiben
  • XMLWriter->writeAttributeNS — Komplettes Attribute mit Namensraum schreiben
  • XMLWriter->writeAttribute — Komplettes Attribut schreiben
  • XMLWriter->writeCData — Kompletten CDATA-Block schreiben
  • XMLWriter->writeComment — Kompletten Kommentar schreiben
  • XMLWriter->writeDTDAttlist — Komplette DTD-Attributliste schreiben
  • XMLWriter->writeDTDElement — Komplettes DTD-Element schreiben
  • XMLWriter->writeDTDEntity — Komplette DTD-Entität schreiben
  • XMLWriter->writeDTD — Komplettes DTD-Tag schreiben
  • XMLWriter->writeElementNS — Komplettes Element mit Namensraum schreiben
  • XMLWriter->writeElement — Komplettes Element schreiben
  • XMLWriter->writePI — Komplette Verarbeitungsvorschrift-Tag schreiben
  • XMLWriter->writeRaw — Reines XML schreiben
Vordefinierte Konstanten
XMLWriter::endAttribute
XMLWriter


Attribute beenden

XMLWriter Funktionen
XMLWriter::endCData
XMLWriter Funktionen
PHP Manual

XMLWriter::endAttribute

xmlwriter_end_attribute

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter::endAttribute -- xmlwriter_end_attribute — Attribute beenden

Beschreibung

Objektorientierter Stil

bool XMLWriter::endAttribute ( void )

Prozeduraler Stil

bool xmlwriter_end_attribute ( resource $xmlwriter )

Beendet das aktuelle Attribut.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLWriter::startAttribute() - Attribut beginnen
  • XMLWriter::startAttributeNS() - Namensraum-Attribut beginnen
  • XMLWriter::writeAttribute() - Komplettes Attribut schreiben
  • XMLWriter::writeAttributeNS() - Komplettes Attribute mit Namensraum schreiben

XMLWriter Funktionen
XMLWriter::endCData
XMLWriter Funktionen


Beendet CDATA-Block

XMLWriter::endAttribute
XMLWriter::endComment
XMLWriter Funktionen
PHP Manual

XMLWriter::endCData

xmlwriter_end_cdata

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter::endCData -- xmlwriter_end_cdata — Beendet CDATA-Block

Beschreibung

Objektorientierter Stil

bool XMLWriter::endCData ( void )

Prozeduraler Stil

bool xmlwriter_end_cdata ( resource $xmlwriter )

Beendet den aktuellen CDATA-Block.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLWriter::startCData() - CDATA-Block beginnen
  • XMLWriter::writeCData() - Kompletten CDATA-Block schreiben

XMLWriter::endAttribute
XMLWriter::endComment
XMLWriter Funktionen


Beendet Kommentar

XMLWriter::endCData
XMLWriter::endDocument
XMLWriter Funktionen
PHP Manual

XMLWriter::endComment

xmlwriter_end_comment

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 1.0.0)

XMLWriter::endComment -- xmlwriter_end_comment — Beendet Kommentar

Beschreibung

Objektorientierter Stil

bool XMLWriter::endComment ( void )

Prozeduraler Stil

bool xmlwriter_end_comment ( resource $xmlwriter )

Beendet aktuellen Kommentar.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLWriter::startComment() - Kommentar beginnen
  • XMLWriter::writeComment() - Kompletten Kommentar schreiben

XMLWriter::endCData
XMLWriter::endDocument
XMLWriter Funktionen


Beendet Dokument

XMLWriter::endComment
XMLWriter::endDTDAttlist
XMLWriter Funktionen
PHP Manual

XMLWriter::endDocument

xmlwriter_end_document

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter::endDocument -- xmlwriter_end_document — Beendet Dokument

Beschreibung

Objektorientierter Stil

bool XMLWriter::endDocument ( void )

Prozeduraler Stil

bool xmlwriter_end_document ( resource $xmlwriter )

Beendet das aktuelle Dokument.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLWriter::startDocument() - Dokument beginnen

XMLWriter::endComment
XMLWriter::endDTDAttlist
XMLWriter Funktionen


Beendet DTD-Attributliste

XMLWriter::endDocument
XMLWriter::endDTDElement
XMLWriter Funktionen
PHP Manual

XMLWriter::endDTDAttlist

xmlwriter_end_dtd_attlist

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter::endDTDAttlist -- xmlwriter_end_dtd_attlist — Beendet DTD-Attributliste

Beschreibung

Objektorientierter Stil

bool XMLWriter::endDTDAttlist ( void )

Prozeduraler Stil

bool xmlwriter_end_dtd_attlist ( resource $xmlwriter )

Beendet die aktuelle DTD-Attributlist.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLWriter::startDTDAttlist() - DTD-Attributliste beginnen
  • XMLWriter::writeDTDAttlist() - Komplette DTD-Attributliste schreiben

XMLWriter::endDocument
XMLWriter::endDTDElement
XMLWriter Funktionen


Beendet DTD-Element

XMLWriter::endDTDAttlist
XMLWriter::endDTDEntity
XMLWriter Funktionen
PHP Manual

XMLWriter::endDTDElement

xmlwriter_end_dtd_element

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter::endDTDElement -- xmlwriter_end_dtd_element — Beendet DTD-Element

Beschreibung

Objektorientierter Stil

bool XMLWriter::endDTDElement ( void )

Prozeduraler Stil

bool xmlwriter_end_dtd_element ( resource $xmlwriter )

Beendet das aktuelle DTD-Element.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLWriter::startDTDElement() - DTD-Element beginnen
  • XMLWriter::writeDTDElement() - Komplettes DTD-Element schreiben

XMLWriter::endDTDAttlist
XMLWriter::endDTDEntity
XMLWriter Funktionen


Beendet DTD-Entität

XMLWriter::endDTDElement
XMLWriter->endDTD
XMLWriter Funktionen
PHP Manual

XMLWriter::endDTDEntity

xmlwriter_end_dtd_entity

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter::endDTDEntity -- xmlwriter_end_dtd_entity — Beendet DTD-Entität

Beschreibung

Objektorientierter Stil

bool XMLWriter::endDTDEntity ( void )

Prozeduraler Stil

bool xmlwriter_end_dtd_entity ( resource $xmlwriter )

Beendet die aktuelle DTD-Entität.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLWriter::startDTDEntity() - DTD-Entität beginnen
  • XMLWriter::writeDTDEntity() - Komplette DTD-Entität schreiben

XMLWriter::endDTDElement
XMLWriter->endDTD
XMLWriter Funktionen


Beendet DTD

XMLWriter::endDTDEntity
XMLWriter->endElement
XMLWriter Funktionen
PHP Manual

XMLWriter->endDTD

xmlwriter_end_dtd

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter->endDTD -- xmlwriter_end_dtd — Beendet DTD

Beschreibung

Objektorientierter Stil

bool XMLWriter::endDTD ( void )

Prozeduraler Stil

bool xmlwriter_end_dtd ( resource $xmlwriter )

Beendet die DTD des Dokuments.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLWriter::startDTD() - DTD beginnen
  • XMLWriter::writeDTD() - Komplettes DTD-Tag schreiben

XMLWriter::endDTDEntity
XMLWriter->endElement
XMLWriter Funktionen


Beendet Element

XMLWriter->endDTD
XMLWriter->endPI
XMLWriter Funktionen
PHP Manual

XMLWriter->endElement

xmlwriter_end_element

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter->endElement -- xmlwriter_end_element — Beendet Element

Beschreibung

Objektorientierter Stil

bool XMLWriter::endElement ( void )

Prozeduraler Stil

bool xmlwriter_end_element ( resource $xmlwriter )

Beendet das aktuelle Element.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLWriter::startElement() - Element beginnen
  • XMLWriter::writeElement() - Komplettes Element schreiben

XMLWriter->endDTD
XMLWriter->endPI
XMLWriter Funktionen


Beendet Verarbeitungsvorschrift

XMLWriter->endElement
XMLWriter->flush
XMLWriter Funktionen
PHP Manual

XMLWriter->endPI

xmlwriter_end_pi

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter->endPI -- xmlwriter_end_pi — Beendet Verarbeitungsvorschrift

Beschreibung

Objektorientierter Stil

bool XMLWriter::endPI ( void )

Prozeduraler Stil

bool xmlwriter_end_pi ( resource $xmlwriter )

Beendet die aktuelle Verarbeitungsvorschrift.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLWriter::startPI() - Verarbeitungsvorschrift beginnen
  • XMLWriter::writePI() - Komplette Verarbeitungsvorschrift-Tag schreiben

XMLWriter->endElement
XMLWriter->flush
XMLWriter Funktionen


Puffer schreiben

XMLWriter->endPI
XMLWriter->fullEndElement
XMLWriter Funktionen
PHP Manual

XMLWriter->flush

xmlwriter_flush

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 1.0.0)

XMLWriter->flush -- xmlwriter_flush — Puffer schreiben

Beschreibung

Objektorientierter Stil

mixed XMLWriter::flush ([ bool $empty = true ] )

Prozeduraler Stil

mixed xmlwriter_flush ( resource $xmlwriter [, bool $empty = true ] )

Schreibt den aktuellen Puffer.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

empty

Ob der Puffer geleert werden soll oder nicht. Standard ist TRUE.

Rückgabewerte

Wenn der XMLWriter den Speicher verwendet, wird das erzeugte XML zurückgegeben, sonst, wenn er einen URI verwendet, werden die Daten geschrieben und die geschriebenen Bytes zurückgegeben.

XMLWriter->endPI
XMLWriter->fullEndElement
XMLWriter Funktionen


Beendet Element

XMLWriter->flush
XMLWriter::openMemory
XMLWriter Funktionen
PHP Manual

XMLWriter->fullEndElement

xmlwriter_full_end_element

(PHP 5 >= 5.2.0, PHP 7, PECL xmlwriter >= 2.0.4)

XMLWriter->fullEndElement -- xmlwriter_full_end_element — Beendet Element

Beschreibung

Objektorientierter Stil

bool XMLWriter::fullEndElement ( void )

Prozeduraler Stil

bool xmlwriter_full_end_element ( resource $xmlwriter )

Beendet das aktuelle XML-Element. Schreibt einen schließenden Tag, auch, wenn das Element leer ist.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLWriter::endElement() - Beendet Element

XMLWriter->flush
XMLWriter::openMemory
XMLWriter Funktionen


Erzeugt einen neuen XMLWriter, der Stringausgaben in den Speicher schreibt

XMLWriter->fullEndElement
XMLWriter->openURI
XMLWriter Funktionen
PHP Manual

XMLWriter::openMemory

xmlwriter_open_memory

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter::openMemory -- xmlwriter_open_memory — Erzeugt einen neuen XMLWriter, der Stringausgaben in den Speicher schreibt

Beschreibung

Objektorientierter Stil

bool XMLWriter::openMemory ( void )

Prozeduraler Stil

resource xmlwriter_open_memory ( void )

Erzeugt einen neuen XMLWriter, der Stringausgaben in den Speicher schreibt.

Parameter-Liste

Rückgabewerte

Objektorientierter Stil: Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Prozeduraler Stil: Gibt bei Erfolg eine neue XMLWriter-Ressource zurück, die später für XMLWriter-Funktionen verwendet werden kann. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLWriter::openURI() - Erzeugt neuen XMLWriter, der URI für Ausgabe verwendet

XMLWriter->fullEndElement
XMLWriter->openURI
XMLWriter Funktionen


Erzeugt neuen XMLWriter, der URI für Ausgabe verwendet

XMLWriter::openMemory
XMLWriter->outputMemory
XMLWriter Funktionen
PHP Manual

XMLWriter->openURI

xmlwriter_open_uri

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter->openURI -- xmlwriter_open_uri — Erzeugt neuen XMLWriter, der URI für Ausgabe verwendet

Beschreibung

Objektorientierter Stil

bool XMLWriter::openURI ( string $uri )

Prozeduraler Stil

resource xmlwriter_open_uri ( string $uri )

Erzeugt einen neuen XMLWriter, der ein uri zum Erzeugen verwendet.

Parameter-Liste

uri

Der Ressource-URI, der zur Ausgabe verwendet wird.

Rückgabewerte

Objektorientierter Stil: Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben..

Prozeduraler Stil: Gibt eine neue XMLWriter Ressource zurück, die bei Erfolg für die späteren Funktionsaufrufe verwendet werden kann. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLWriter::openMemory() - Erzeugt einen neuen XMLWriter, der Stringausgaben in den Speicher schreibt

XMLWriter::openMemory
XMLWriter->outputMemory
XMLWriter Funktionen


Gibt Puffer zurück

XMLWriter->openURI
XMLWriter->setIndentString
XMLWriter Funktionen
PHP Manual

XMLWriter->outputMemory

xmlwriter_output_memory

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter->outputMemory -- xmlwriter_output_memory — Gibt Puffer zurück

Beschreibung

Objektorientierter Stil

string XMLWriter::outputMemory ([ bool $flush = true ] )

Prozeduraler Stil

string xmlwriter_output_memory ( resource $xmlwriter [, bool $flush = true ] )

Gibt den aktuellen Puffer-Inhalt zurück.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

flush

Ob der Puffer geleert werden soll oder nicht. Standard ist TRUE.

Rückgabewerte

Gibt den aktuellen Puffer-Inhalt als Zeichenkette zurück.

Siehe auch

  • XMLWriter::flush() - Puffer schreiben

XMLWriter->openURI
XMLWriter->setIndentString
XMLWriter Funktionen


Setzt Zeichenkette, die zur Einrückung verwendet wird

XMLWriter->outputMemory
XMLWriter->setIndent
XMLWriter Funktionen
PHP Manual

XMLWriter->setIndentString

xmlwriter_set_indent_string

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter->setIndentString -- xmlwriter_set_indent_string — Setzt Zeichenkette, die zur Einrückung verwendet wird

Beschreibung

Objektorientierter Stil

bool XMLWriter::setIndentString ( string $indentString )

Prozeduraler Stil

bool xmlwriter_set_indent_string ( resource $xmlwriter , string $indentString )

Setzt eine Zeichenkette, die zum Einrücken von Elementen und Attributen im erzeugten XML verwendet wird.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

indentString

Einrückung.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLWriter::setIndent() - Einrückung ein-/ausschalten

XMLWriter->outputMemory
XMLWriter->setIndent
XMLWriter Funktionen


Einrückung ein-/ausschalten

XMLWriter->setIndentString
XMLWriter->startAttributeNS
XMLWriter Funktionen
PHP Manual

XMLWriter->setIndent

xmlwriter_set_indent

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter->setIndent -- xmlwriter_set_indent — Einrückung ein-/ausschalten

Beschreibung

Objektorientierter Stil

bool XMLWriter::setIndent ( bool $indent )

Prozeduraler Stil

bool xmlwriter_set_indent ( resource $xmlwriter , bool $indent )

Einrückung ein- oder ausschalten.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

indent

Ob Einrückungen verwendet werden sollen. Standard ist FALSE.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLWriter::setIndentString() - Setzt Zeichenkette, die zur Einrückung verwendet wird

XMLWriter->setIndentString
XMLWriter->startAttributeNS
XMLWriter Funktionen


Namensraum-Attribut beginnen

XMLWriter->setIndent
XMLWriter->startAttribute
XMLWriter Funktionen
PHP Manual

XMLWriter->startAttributeNS

xmlwriter_start_attribute_ns

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter->startAttributeNS -- xmlwriter_start_attribute_ns — Namensraum-Attribut beginnen

Beschreibung

>Objektorientierter Stil

bool XMLWriter::startAttributeNS ( string $prefix , string $name , string $uri )

Prozeduraler Stil

bool xmlwriter_start_attribute_ns ( resource $xmlwriter , string $prefix , string $name , string $uri )

Beginnt ein neues Attribut im definierten Namensraum.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

prefix

Namensraum-Präfix.

name

Attributname.

uri

Namensraum-URI.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLWriter::startAttribute() - Attribut beginnen
  • XMLWriter::endAttribute() - Attribute beenden
  • XMLWriter::writeAttribute() - Komplettes Attribut schreiben
  • XMLWriter::writeAttributeNS() - Komplettes Attribute mit Namensraum schreiben

XMLWriter->setIndent
XMLWriter->startAttribute
XMLWriter Funktionen


Attribut beginnen

XMLWriter->startAttributeNS
XMLWriter->startCData
XMLWriter Funktionen
PHP Manual

XMLWriter->startAttribute

xmlwriter_start_attribute

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter->startAttribute -- xmlwriter_start_attribute — Attribut beginnen

Beschreibung

Objektorientierter Stil

bool XMLWriter::startAttribute ( string $name )

Prozeduraler Stil

bool xmlwriter_start_attribute ( resource $xmlwriter , string $name )

Beginnt ein neues Attribut.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

name

Attributname.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLWriter::startAttributeNS() - Namensraum-Attribut beginnen
  • XMLWriter::endAttribute() - Attribute beenden
  • XMLWriter::writeAttribute() - Komplettes Attribut schreiben
  • XMLWriter::writeAttributeNS() - Komplettes Attribute mit Namensraum schreiben

XMLWriter->startAttributeNS
XMLWriter->startCData
XMLWriter Funktionen


CDATA-Block beginnen

XMLWriter->startAttribute
XMLWriter->startComment
XMLWriter Funktionen
PHP Manual

XMLWriter->startCData

xmlwriter_start_cdata

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter->startCData -- xmlwriter_start_cdata — CDATA-Block beginnen

Beschreibung

Objektorientierter Stil

bool XMLWriter::startCData ( void )

Prozeduraler Stil

bool xmlwriter_start_cdata ( resource $xmlwriter )

Beginnt einen CDATA-Block.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLWriter::endCData() - Beendet CDATA-Block
  • XMLWriter::writeCData() - Kompletten CDATA-Block schreiben

XMLWriter->startAttribute
XMLWriter->startComment
XMLWriter Funktionen


Kommentar beginnen

XMLWriter->startCData
XMLWriter->startDocument
XMLWriter Funktionen
PHP Manual

XMLWriter->startComment

xmlwriter_start_comment

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 1.0.0)

XMLWriter->startComment -- xmlwriter_start_comment — Kommentar beginnen

Beschreibung

Objektorientierter Stil

bool XMLWriter::startComment ( void )

Prozeduraler Stil

bool xmlwriter_start_comment ( resource $xmlwriter )

Beginnt ein Kommentar.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLWriter::endComment() - Beendet Kommentar
  • XMLWriter::writeComment() - Kompletten Kommentar schreiben

XMLWriter->startCData
XMLWriter->startDocument
XMLWriter Funktionen


Dokument beginnen

XMLWriter->startComment
XMLWriter->startDTDAttlist
XMLWriter Funktionen
PHP Manual

XMLWriter->startDocument

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter->startDocument — Dokument beginnen

Beschreibung

Objektorientierter Stil

bool XMLWriter::startDocument ([ string $version = 1.0 [, string $encoding = NULL [, string $standalone ]]] )

Prozeduraler Stil

bool xmlwriter_start_document ( resource $xmlwriter [, string $version = 1.0 [, string $encoding = NULL [, string $standalone ]]] )

Beginnt ein neues Dokument.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

version

Versionsnummer des Dokuments als Teil der XML-Deklaration.

encoding

Kodierung des Dokuments als Teil der XML-Deklaration.

standalone

yes oder no. Standardmäßig NULL.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLWriter::endDocument() - Beendet Dokument

XMLWriter->startComment
XMLWriter->startDTDAttlist
XMLWriter Funktionen


DTD-Attributliste beginnen

XMLWriter->startDocument
XMLWriter->startDTDElement
XMLWriter Funktionen
PHP Manual

XMLWriter->startDTDAttlist

xmlwriter_start_dtd_attlist

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter->startDTDAttlist -- xmlwriter_start_dtd_attlist — DTD-Attributliste beginnen

Beschreibung

Objektorientierter Stil

bool XMLWriter::startDTDAttlist ( string $name )

Prozeduraler Stil

bool xmlwriter_start_dtd_attlist ( resource $xmlwriter , string $name )

Beginnt eine DTD-Attributliste.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

name

Name der Attributliste.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLWriter::endDTDAttlist() - Beendet DTD-Attributliste
  • XMLWriter::writeDTDAttlist() - Komplette DTD-Attributliste schreiben

XMLWriter->startDocument
XMLWriter->startDTDElement
XMLWriter Funktionen


DTD-Element beginnen

XMLWriter->startDTDAttlist
XMLWriter->startDTDEntity
XMLWriter Funktionen
PHP Manual

XMLWriter->startDTDElement

xmlwriter_start_dtd_element

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter->startDTDElement -- xmlwriter_start_dtd_element — DTD-Element beginnen

Beschreibung

Objektorientierter Stil

bool XMLWriter::startDTDElement ( string $qualifiedName )

Prozeduraler Stil

bool xmlwriter_start_dtd_element ( resource $xmlwriter , string $qualifiedName )

Beginnt ein DTD-Element.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

qualifiedName

Qualifizierter Name des zu erstellenden Dokumententyps.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLWriter::endDTDElement() - Beendet DTD-Element
  • XMLWriter::writeDTDElement() - Komplettes DTD-Element schreiben

XMLWriter->startDTDAttlist
XMLWriter->startDTDEntity
XMLWriter Funktionen


DTD-Entität beginnen

XMLWriter->startDTDElement
XMLWriter->startDTD
XMLWriter Funktionen
PHP Manual

XMLWriter->startDTDEntity

xmlwriter_start_dtd_entity

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter->startDTDEntity -- xmlwriter_start_dtd_entity — DTD-Entität beginnen

Beschreibung

Objektorientierter Stil

bool XMLWriter::startDTDEntity ( string $name , bool $isparam )

Prozeduraler Stil

bool xmlwriter_start_dtd_entity ( resource $xmlwriter , string $name , bool $isparam )

Beginnt eine DTD-Entität.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

name

Name der Entität.

isparam

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLWriter::endDTDEntity() - Beendet DTD-Entität
  • XMLWriter::writeDTDEntity() - Komplette DTD-Entität schreiben

XMLWriter->startDTDElement
XMLWriter->startDTD
XMLWriter Funktionen


DTD beginnen

XMLWriter->startDTDEntity
XMLWriter->startElementNS
XMLWriter Funktionen
PHP Manual

XMLWriter->startDTD

xmlwriter_start_dtd

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter->startDTD -- xmlwriter_start_dtd — DTD beginnen

Beschreibung

Objektorientierter Stil

bool XMLWriter::startDTD ( string $qualifiedName [, string $publicId [, string $systemId ]] )

Prozeduraler Stil

bool xmlwriter_start_dtd ( resource $xmlwriter , string $qualifiedName [, string $publicId [, string $systemId ]] )

Beginnt DTD.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

qualifiedName

Qualifizierter Name des zu erstellenden Dokumententyps.

publicId

Public Identifier für PUBLIC.

systemId

Public Identifier für SYSTEM.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLWriter::endDTD() - Beendet DTD
  • XMLWriter::writeDTD() - Komplettes DTD-Tag schreiben

XMLWriter->startDTDEntity
XMLWriter->startElementNS
XMLWriter Funktionen


Element mit Namensraum beginnen

XMLWriter->startDTD
XMLWriter->startElement
XMLWriter Funktionen
PHP Manual

XMLWriter->startElementNS

xmlwriter_start_element_ns

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter->startElementNS -- xmlwriter_start_element_ns — Element mit Namensraum beginnen

Beschreibung

Objektorientierter Stil

bool XMLWriter::startElementNS ( string $prefix , string $name , string $uri )

Prozeduraler Stil

bool xmlwriter_start_element_ns ( resource $xmlwriter , string $prefix , string $name , string $uri )

Beginnt ein Element im angegebenen Namensraum.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

prefix

Präfix des Namensraum.

name

Elementname.

uri

URI des Namensraum.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLWriter::endElement() - Beendet Element
  • XMLWriter::writeElementNS() - Komplettes Element mit Namensraum schreiben

XMLWriter->startDTD
XMLWriter->startElement
XMLWriter Funktionen


Element beginnen

XMLWriter->startElementNS
XMLWriter->startPI
XMLWriter Funktionen
PHP Manual

XMLWriter->startElement

xmlwriter_start_element

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter->startElement -- xmlwriter_start_element — Element beginnen

Beschreibung

Objektorientierter Stil

bool XMLWriter::startElement ( string $name )

Prozeduraler Stil

bool xmlwriter_start_element ( resource $xmlwriter , string $name )

Beginnt ein Element.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

name

Elementname.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLWriter::endElement() - Beendet Element
  • XMLWriter::writeElement() - Komplettes Element schreiben

XMLWriter->startElementNS
XMLWriter->startPI
XMLWriter Funktionen


Verarbeitungsvorschrift beginnen

XMLWriter->startElement
XMLWriter->text
XMLWriter Funktionen
PHP Manual

XMLWriter->startPI

xmlwriter_start_pi

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter->startPI -- xmlwriter_start_pi — Verarbeitungsvorschrift beginnen

Beschreibung

Objektorientierter Stil

bool XMLWriter::startPI ( string $target )

Prozeduraler Stil

bool xmlwriter_start_pi ( resource $xmlwriter , string $target )

Beginnt eine Verarbeitungsvorschrift.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

target

Ziel der Verarbeitungsvorschrift.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLWriter::endPI() - Beendet Verarbeitungsvorschrift
  • XMLWriter::writePI() - Komplette Verarbeitungsvorschrift-Tag schreiben

XMLWriter->startElement
XMLWriter->text
XMLWriter Funktionen


Text schreiben

XMLWriter->startPI
XMLWriter->writeAttributeNS
XMLWriter Funktionen
PHP Manual

XMLWriter->text

xmlwriter_text

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter->text -- xmlwriter_text — Text schreiben

Beschreibung

Objektorientierter Stil

bool XMLWriter::text ( string $content )

Prozeduraler Stil

bool xmlwriter_text ( resource $xmlwriter , string $content )

Schreibt einen Text.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

content

Textinhalt.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

XMLWriter->startPI
XMLWriter->writeAttributeNS
XMLWriter Funktionen


Komplettes Attribute mit Namensraum schreiben

XMLWriter->text
XMLWriter->writeAttribute
XMLWriter Funktionen
PHP Manual

XMLWriter->writeAttributeNS

xmlwriter_write_attribute_ns

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter->writeAttributeNS -- xmlwriter_write_attribute_ns — Komplettes Attribute mit Namensraum schreiben

Beschreibung

Objektorientierter Stil

bool XMLWriter::writeAttributeNS ( string $prefix , string $name , string $uri , string $content )

Prozeduraler Stil

bool xmlwriter_write_attribute_ns ( resource $xmlwriter , string $prefix , string $name , string $uri , string $content )

Schreibt ein vollständiges Attribute mit Namensraum.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

prefix

Präfix des Namensraum.

name

Name des Attributs.

uri

URI des Namensraum.

content

Wert des Attributs.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLWriter::writeAttribute() - Komplettes Attribut schreiben
  • XMLWriter::startAttribute() - Attribut beginnen
  • XMLWriter::startAttributeNS() - Namensraum-Attribut beginnen
  • XMLWriter::endAttribute() - Attribute beenden

XMLWriter->text
XMLWriter->writeAttribute
XMLWriter Funktionen


Komplettes Attribut schreiben

XMLWriter->writeAttributeNS
XMLWriter->writeCData
XMLWriter Funktionen
PHP Manual

XMLWriter->writeAttribute

xmlwriter_write_attribute

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter->writeAttribute -- xmlwriter_write_attribute — Komplettes Attribut schreiben

Beschreibung

Objektorientierter Stil

bool XMLWriter::writeAttribute ( string $name , string $value )

Prozeduraler Stil

bool xmlwriter_write_attribute ( resource $xmlwriter , string $name , string $value )

Schreibt ein vollständiges Attribut.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

name

Name des Attributs.

value

Wert des Attributs.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLWriter::writeAttributeNS() - Komplettes Attribute mit Namensraum schreiben
  • XMLWriter::startAttribute() - Attribut beginnen
  • XMLWriter::startAttributeNS() - Namensraum-Attribut beginnen
  • XMLWriter::endAttribute() - Attribute beenden

XMLWriter->writeAttributeNS
XMLWriter->writeCData
XMLWriter Funktionen


Kompletten CDATA-Block schreiben

XMLWriter->writeAttribute
XMLWriter->writeComment
XMLWriter Funktionen
PHP Manual

XMLWriter->writeCData

xmlwriter_write_cdata

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter->writeCData -- xmlwriter_write_cdata — Kompletten CDATA-Block schreiben

Beschreibung

Objektorientierter Stil

bool XMLWriter::writeCData ( string $content )

Prozeduraler Stil

bool xmlwriter_write_cdata ( resource $xmlwriter , string $content )

Schreibt einen vollständigen CDATA-Block.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

content

Inhalt des CDATA-Blocks.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLWriter::startCData() - CDATA-Block beginnen
  • XMLWriter::endCData() - Beendet CDATA-Block

XMLWriter->writeAttribute
XMLWriter->writeComment
XMLWriter Funktionen


Kompletten Kommentar schreiben

XMLWriter->writeCData
XMLWriter->writeDTDAttlist
XMLWriter Funktionen
PHP Manual

XMLWriter->writeComment

xmlwriter_write_comment

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter->writeComment -- xmlwriter_write_comment — Kompletten Kommentar schreiben

Beschreibung

Objektorientierter Stil

bool XMLWriter::writeComment ( string $content )

Prozeduraler Stil

bool xmlwriter_write_comment ( resource $xmlwriter , string $content )

Schreibt einen vollständigen Kommentar.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

content

Inhalt des Kommentars.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLWriter::startComment() - Kommentar beginnen
  • XMLWriter::endComment() - Beendet Kommentar

XMLWriter->writeCData
XMLWriter->writeDTDAttlist
XMLWriter Funktionen


Komplette DTD-Attributliste schreiben

XMLWriter->writeComment
XMLWriter->writeDTDElement
XMLWriter Funktionen
PHP Manual

XMLWriter->writeDTDAttlist

xmlwriter_write_dtd_attlist

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter->writeDTDAttlist -- xmlwriter_write_dtd_attlist — Komplette DTD-Attributliste schreiben

Beschreibung

Objektorientierter Stil

bool XMLWriter::writeDTDAttlist ( string $name , string $content )

Prozeduraler Stil

bool xmlwriter_write_dtd_attlist ( resource $xmlwriter , string $name , string $content )

Schreibt eine vollständige DTD-Attributliste.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

name

Name der DTD-Attributliste.

content

Inhalt der DTD-Attributliste.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLWriter::startDTDAttlist() - DTD-Attributliste beginnen
  • XMLWriter::endDTDAttlist() - Beendet DTD-Attributliste

XMLWriter->writeComment
XMLWriter->writeDTDElement
XMLWriter Funktionen


Komplettes DTD-Element schreiben

XMLWriter->writeDTDAttlist
XMLWriter->writeDTDEntity
XMLWriter Funktionen
PHP Manual

XMLWriter->writeDTDElement

xmlwriter_write_dtd_element

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter->writeDTDElement -- xmlwriter_write_dtd_element — Komplettes DTD-Element schreiben

Beschreibung

Objektorientierter Stil

bool XMLWriter::writeDTDElement ( string $name , string $content )

Prozeduraler Stil

bool xmlwriter_write_dtd_element ( resource $xmlwriter , string $name , string $content )

Schreibt ein vollständiges DTD-Element.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

name

Name des DTD-Elements.

content

Inhalt des DTD-Elements.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLWriter::startDTDElement() - DTD-Element beginnen
  • XMLWriter::endDTDElement() - Beendet DTD-Element

XMLWriter->writeDTDAttlist
XMLWriter->writeDTDEntity
XMLWriter Funktionen


Komplette DTD-Entität schreiben

XMLWriter->writeDTDElement
XMLWriter->writeDTD
XMLWriter Funktionen
PHP Manual

XMLWriter->writeDTDEntity

xmlwriter_write_dtd_entity

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter->writeDTDEntity -- xmlwriter_write_dtd_entity — Komplette DTD-Entität schreiben

Beschreibung

Objektorientierter Stil

bool XMLWriter::writeDTDEntity ( string $name , string $content , bool $pe , string $pubid , string $sysid , string $ndataid )

Prozeduraler Stil

bool xmlwriter_write_dtd_entity ( resource $xmlwriter , string $name , string $content , bool $pe , string $pubid , string $sysid , string $ndataid )

Schreibt eine vollständige DTD-Entität.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

name

Name der Entität.

content

Inhalt der Entität.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLWriter::startDTDEntity() - DTD-Entität beginnen
  • XMLWriter::endDTDEntity() - Beendet DTD-Entität

XMLWriter->writeDTDElement
XMLWriter->writeDTD
XMLWriter Funktionen


Komplettes DTD-Tag schreiben

XMLWriter->writeDTDEntity
XMLWriter->writeElementNS
XMLWriter Funktionen
PHP Manual

XMLWriter->writeDTD

xmlwriter_write_dtd

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter->writeDTD -- xmlwriter_write_dtd — Komplettes DTD-Tag schreiben

Beschreibung

Objektorientierter Stil

bool XMLWriter::writeDTD ( string $name [, string $publicId [, string $systemId [, string $subset ]]] )

Prozeduraler Stil

bool xmlwriter_write_dtd ( resource $xmlwriter , string $name [, string $publicId [, string $systemId [, string $subset ]]] )

Schreibt einen vollständigen DTD-Tag.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

name

DTD-Name.

publicId

Public Identifier für PUBLIC.

systemId

Public Identifier für SYSTEM.

subset

Inhalt des DTD-Tags.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLWriter::startDTD() - DTD beginnen
  • XMLWriter::endDTD() - Beendet DTD

XMLWriter->writeDTDEntity
XMLWriter->writeElementNS
XMLWriter Funktionen


Komplettes Element mit Namensraum schreiben

XMLWriter->writeDTD
XMLWriter->writeElement
XMLWriter Funktionen
PHP Manual

XMLWriter->writeElementNS

xmlwriter_write_element_ns

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter->writeElementNS -- xmlwriter_write_element_ns — Komplettes Element mit Namensraum schreiben

Beschreibung

Objektorientierter Stil

bool XMLWriter::writeElementNS ( string $prefix , string $name , string $uri [, string $content ] )

Prozeduraler Stil

bool xmlwriter_write_element_ns ( resource $xmlwriter , string $prefix , string $name , string $uri [, string $content ] )

Schreibt ein vollständiges Element mit Namensraum.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

prefix

Präfix des Namensraum.

name

Name des Elements.

uri

URI des Namensraum.

content

Inhalt des Elements.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.2.3 | Der Parameter content wurde optional.

Siehe auch

  • XMLWriter::startElementNS() - Element mit Namensraum beginnen
  • XMLWriter::endElement() - Beendet Element
  • XMLWriter::writeElement() - Komplettes Element schreiben

XMLWriter->writeDTD
XMLWriter->writeElement
XMLWriter Funktionen


Komplettes Element schreiben

XMLWriter->writeElementNS
XMLWriter->writePI
XMLWriter Funktionen
PHP Manual

XMLWriter->writeElement

xmlwriter_write_element

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter->writeElement -- xmlwriter_write_element — Komplettes Element schreiben

Beschreibung

Objektorientierter Stil

bool XMLWriter::writeElement ( string $name [, string $content ] )

Prozeduraler Stil

bool xmlwriter_write_element ( resource $xmlwriter , string $name [, string $content ] )

Schreibt ein vollständiges Element.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

name

Name des Elements.

content

Inhalt des Elements.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.2.3 | Der Parameter content wurde optional.

Siehe auch

  • XMLWriter::startElement() - Element beginnen
  • XMLWriter::endElement() - Beendet Element
  • XMLWriter::writeElementNS() - Komplettes Element mit Namensraum schreiben

XMLWriter->writeElementNS
XMLWriter->writePI
XMLWriter Funktionen


Komplette Verarbeitungsvorschrift-Tag schreiben

XMLWriter->writeElement
XMLWriter->writeRaw
XMLWriter Funktionen
PHP Manual

XMLWriter->writePI

xmlwriter_write_pi

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter->writePI -- xmlwriter_write_pi — Komplette Verarbeitungsvorschrift-Tag schreiben

Beschreibung

Objektorientierter Stil

bool XMLWriter::writePI ( string $target , string $content )

Prozeduraler Stil

bool xmlwriter_write_pi ( resource $xmlwriter , string $target , string $content )

Schreibt einen vollständigen Verarbeitungsvorschrift-Tag.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

target

Ziel der Verarbeitungsvorschrift.

content

Inhalt der Verarbeitungsvorschrift.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLWriter::startPI() - Verarbeitungsvorschrift beginnen
  • XMLWriter::endPI() - Beendet Verarbeitungsvorschrift

XMLWriter->writeElement
XMLWriter->writeRaw
XMLWriter Funktionen


Reines XML schreiben

XMLWriter->writePI
XSL
XMLWriter Funktionen
PHP Manual

XMLWriter->writeRaw

xmlwriter_write_raw

(PHP 5 >= 5.2.0, PHP 7, PECL xmlwriter >= 2.0.4)

XMLWriter->writeRaw -- xmlwriter_write_raw — Reines XML schreiben

Beschreibung

Objektorientierter Stil

bool XMLWriter::writeRaw ( string $content )

Prozeduraler Stil

bool xmlwriter_write_raw ( resource $xmlwriter , string $content )

Schreibt reinen XML Inhalt.

Parameter-Liste

xmlwriter

Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.

content

Zeichenkette, die geschrieben werden soll.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XMLWriter::text() - Text schreiben

XMLWriter->writePI
XSL
XMLWriter Funktionen


XSL

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
    • Laufzeit-Konfiguration
    • Ressource-Typen
  • Vordefinierte Konstanten
  • Beispiele
    • Die Beispieldateien collection.xml und collection.xsl
    • Fehlerbehandlung mit den Funktionen der libxml
  • XSLTProcessor — Die XSLTProcessor-Klasse
    • XSLTProcessor::__construct — Erzeugt ein neues XSLTProcessor-Objekt
    • XSLTProcessor::getParameter — Liefert den Wert eines Parameters
    • XsltProcessor::getSecurityPrefs — Liefert die Sicherheitseinstellungen
    • XSLTProcessor::hasExsltSupport — Prüft, ob die EXSLT-Unterstützung aktiviert ist
    • XSLTProcessor::importStylesheet — Importiert ein Stylesheet
    • XSLTProcessor::registerPHPFunctions — Aktiviert die Nutzbarkeit von PHP-Funktionen als XSLT-Funktionen
    • XSLTProcessor::removeParameter — Löscht einen Parameter
    • XSLTProcessor::setParameter — Setzt den Wert für einen Parameter
    • XSLTProcessor::setProfiling — Setzt den Dateinamen für die Ausgaben des Profilers
    • XsltProcessor::setSecurityPrefs — Setzt die Sicherheitseinstellungen
    • XSLTProcessor::transformToDoc — Transformierung in ein neues DOMDocument
    • XSLTProcessor::transformToURI — Transformierung zu einer URI
    • XSLTProcessor::transformToXML — Transformierung zu einem XML-String
XMLWriter->writeRaw
Einführung
XML-Manipulation


Einführung

Die XSL Erweiterung implementiert den XSL-Standard und erlaubt » XSLT Transformationen unter Verwendung der » libxslt-Bibliothek.

XSL
Installation/Konfiguration
XSL


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
  • Laufzeit-Konfiguration
  • Ressource-Typen
Einführung
Anforderungen
XSL


Anforderungen

Diese Erweiterung erfordert die Erweiterung libxml. Das heißt, dass die Übergabe von --enable-libxml ebenfalls benötigt wird. Dies wird jedoch implizit erfüllt, da libxml standardmäßig aktiviert wird.

Um diese Erweiterung verwenden zu können, muß die Bibliothek libxslt in der Version 1.1.0 oder höher installiert sein. Sie steht unter » http://xmlsoft.org/XSLT/ zum Download bereit.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Die Erweiterung XSL ist seit PHP 5 in der Distribution enthalten und kann über die Option --with-xsl[=DIR] in Ihrer Build-Konfiguration aktiviert werden. Dabei steht DIR für das Installationsverzeichnis der libxslt-Bibliothek.

Anforderungen
Laufzeit-Konfiguration
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

XSL_CLONE_AUTO (integer)
XSL_CLONE_NEVER (integer)
XSL_CLONE_ALWAYS (integer)
LIBXSLT_VERSION (integer)
Version der libxslt als Zahl, beispielsweise 10117. Verfügbar seit PHP 5.1.2.
LIBXSLT_DOTTED_VERSION (string)
Version der libxslt als String, beispielsweise 1.1.17. Verfügbar seit PHP 5.1.2.
LIBEXSLT_VERSION (integer)
Version der libexslt als Zahl, beispielsweise 813. Verfügbar seit PHP 5.1.2.
LIBEXSLT_DOTTED_VERSION (string)
Version der libexslt als String, beispielsweise 1.1.17. Verfügbar seit PHP 5.1.2.
XSL_SECPREF_NONE (integer)
Schaltet sämtliche Sicherheitsrestriktionen aus
XSL_SECPREF_READ_FILE (integer)
Verbietet den lesenden Zugriff auf Dateien
XSL_SECPREF_WRITE_FILE (integer)
Verbietet den schreibenden Zugriff auf Dateien
XSL_SECPREF_CREATE_DIRECTORY (integer)
Verbietet das Erzeugen von Verzeichnissen
XSL_SECPREF_READ_NETWORK (integer)
Verbietet den lesenden Zugriff auf Dateien über das Netzwerk
XSL_SECPREF_WRITE_NETWORK (integer)
Verbietet den schreibenden Zugriff auf Dateien über das Netzwerk
XSL_SECPREF_DEFAULT (integer)
Verbietet sämtliche Schreibzugriffe, identisch mit der Bitmaske von XSL_SECPREF_WRITE_NETWORK | XSL_SECPREF_CREATE_DIRECTORY | XSL_SECPREF_WRITE_FILE.
Ressource-Typen
Beispiele
XSL


Beispiele

Inhaltsverzeichnis

  • Die Beispieldateien collection.xml und collection.xsl
  • Fehlerbehandlung mit den Funktionen der libxml
Vordefinierte Konstanten
Die Beispieldateien collection.xml und collection.xsl
XSL


Die Beispieldateien collection.xml und collection.xsl

Viele Beispiele in dieser Referenz erfordern sowohl eine XML- als auch XSL-Datei. Die Dateien collection.xml und collection.xsl bestehen jeweils aus folgendem Inhalt:

Beispiel #1 collection.xml

<collection>
 <cd>
  <title>Fight for your mind</title>
  <artist>Ben Harper</artist>
  <year>1995</year>
 </cd>
 <cd>
  <title>Electric Ladyland</title>
  <artist>Jimi Hendrix</artist>
  <year>1997</year>
 </cd>
</collection>

Beispiel #2 collection.xsl

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:param name="owner" select="'Nicolas Eliaszewicz'"/>
 <xsl:output method="html" encoding="iso-8859-1" indent="no"/>
 <xsl:template match="collection">
  Hey! Welcome to <xsl:value-of select="$owner"/>'s sweet CD collection!
  <xsl:apply-templates/>
 </xsl:template>
 <xsl:template match="cd">
  <h1><xsl:value-of select="title"/></h1>
  <h2>by <xsl:value-of select="artist"/> - <xsl:value-of select="year"/></h2>
  <hr />
 </xsl:template>
</xsl:stylesheet>

Beispiele
Fehlerbehandlung mit den Funktionen der libxml
Beispiele


Fehlerbehandlung mit den Funktionen der libxml

libxml bietet Funktionen zur Verarbeitung von Fehlern, die auch dafür verwendet werden können Fehler bei der Verarbeitung von XSLT abzufangen.

Beispiel #1 fruits.xml

Eine gültige XML-Datei.

<fruits>
 <fruit>Apple</fruit>
 <fruit>Banana</fruit>
 <fruit>Cherry</fruit>
</fruits>

Beispiel #2 fruits.xsl

Enthält einen ungültigen Ausdruck im select.

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output method="html" encoding="utf-8" indent="no"/>
 <xsl:template match="fruits">
  <ul>
   <xsl:apply-templates/>
  </ul>
 </xsl:template>
 <xsl:template match="fruit">
  <li><xsl:value-of select="THIS IS A DELIBERATE ERROR!"/></li>
 </xsl:template>
</xsl:stylesheet>

Beispiel #3 Sammel und ausgaben der Fehler

Das Beispiel unten sammelt die Fehlermeldungen die beim Aufruf des fehlerhaften Stylesheets mittels XSLTProcessor::importStyleSheet() durch libxml erzeugt werden und gibt sie kontrolliert aus.

<?php

$xmldoc = new DOMDocument();
$xsldoc = new DOMDocument();
$xsl = new XSLTProcessor();

$xmldoc->loadXML('fruits.xml');
$xsldoc->loadXML('fruits.xsl');

libxml_use_internal_errors(true);
$result = $xsl->importStyleSheet($xsldoc);
if (!$result) {
    foreach (libxml_get_errors() as $error) {
        echo "Libxml error: {$error->message}\n";
    }
}
libxml_use_internal_errors(false);

if ($result) {
    echo $xsl->transformToXML($xmldoc);
}

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Libxml error: Invalid expression

Libxml error: compilation error: file fruits.xsl line 9 element value-of
Libxml error: xsl:value-of : could not compile select expression 'THIS IS A DELIBERATE ERROR!'

Die Beispieldateien collection.xml und collection.xsl
XSLTProcessor
Beispiele


Die XSLTProcessor-Klasse

(PHP 5, PHP 7)

Einführung

Klassenbeschreibung

XSLTProcessor {
/* Methoden */
string getParameter ( string $namespaceURI , string $localName )
public int XsltProcessor::getSecurityPrefs ( void )
bool hasExsltSupport ( void )
public bool importStylesheet ( object $stylesheet )
void registerPHPFunctions ([ mixed $restrict ] )
bool removeParameter ( string $namespaceURI , string $localName )
bool setParameter ( string $namespace , string $name , string $value )
bool setProfiling ( string $filename )
public int XsltProcessor::setSecurityPrefs ( int $securityPrefs )
DOMDocument transformToDoc ( DOMNode $doc )
int transformToURI ( DOMDocument $doc , string $uri )
string transformToXML ( object $doc )
}

Inhaltsverzeichnis

  • XSLTProcessor::__construct — Erzeugt ein neues XSLTProcessor-Objekt
  • XSLTProcessor::getParameter — Liefert den Wert eines Parameters
  • XsltProcessor::getSecurityPrefs — Liefert die Sicherheitseinstellungen
  • XSLTProcessor::hasExsltSupport — Prüft, ob die EXSLT-Unterstützung aktiviert ist
  • XSLTProcessor::importStylesheet — Importiert ein Stylesheet
  • XSLTProcessor::registerPHPFunctions — Aktiviert die Nutzbarkeit von PHP-Funktionen als XSLT-Funktionen
  • XSLTProcessor::removeParameter — Löscht einen Parameter
  • XSLTProcessor::setParameter — Setzt den Wert für einen Parameter
  • XSLTProcessor::setProfiling — Setzt den Dateinamen für die Ausgaben des Profilers
  • XsltProcessor::setSecurityPrefs — Setzt die Sicherheitseinstellungen
  • XSLTProcessor::transformToDoc — Transformierung in ein neues DOMDocument
  • XSLTProcessor::transformToURI — Transformierung zu einer URI
  • XSLTProcessor::transformToXML — Transformierung zu einem XML-String
Fehlerbehandlung mit den Funktionen der libxml
XSLTProcessor::__construct
XSL


Erzeugt ein neues XSLTProcessor-Objekt

XSLTProcessor
XSLTProcessor::getParameter
XSLTProcessor
PHP Manual

XSLTProcessor::__construct

(PHP 5, PHP 7)

XSLTProcessor::__construct — Erzeugt ein neues XSLTProcessor-Objekt

Beschreibung

XSLTProcessor::__construct ( void )

Erzeugt ein neues XSLTProcessor-Objekt.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Verwendung von XSLTProcessor

<?php

$xsldoc = new DOMDocument();
$xsldoc->load($xsl_filename);

$xmldoc = new DOMDocument();
$xmldoc->load($xml_filename);

$xsl = new XSLTProcessor();
$xsl->importStyleSheet($xsldoc);
echo $xsl->transformToXML($xmldoc);

?>

XSLTProcessor
XSLTProcessor::getParameter
XSLTProcessor


Liefert den Wert eines Parameters

XSLTProcessor::__construct
XsltProcessor::getSecurityPrefs
XSLTProcessor
PHP Manual

XSLTProcessor::getParameter

(PHP 5, PHP 7)

XSLTProcessor::getParameter — Liefert den Wert eines Parameters

Beschreibung

string XSLTProcessor::getParameter ( string $namespaceURI , string $localName )

Liefert den Wert eines mittels XSLTProcessor::setParameter() gesetzten Parameters.

Parameter-Liste

namespaceURI

Die Namespace-URI des XSLT-Parameters.

localName

Der lokale Name des Parameters.

Rückgabewerte

Der Wert des Parameters (als String) oder FALSE falls kein Wert gesetzt ist.

Siehe auch

  • XSLTProcessor::setParameter() - Setzt den Wert für einen Parameter
  • XSLTProcessor::removeParameter() - Löscht einen Parameter

XSLTProcessor::__construct
XsltProcessor::getSecurityPrefs
XSLTProcessor


Liefert die Sicherheitseinstellungen

XSLTProcessor::getParameter
XSLTProcessor::hasExsltSupport
XSLTProcessor
PHP Manual

XsltProcessor::getSecurityPrefs

(PHP >= 5.4.0)

XsltProcessor::getSecurityPrefs — Liefert die Sicherheitseinstellungen

Beschreibung

public int XsltProcessor::getSecurityPrefs ( void )

Liefert die Sicherheitseinstellungen

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Eine Bitmaske bestehend aus XSL_SECPREF_READ_FILE, XSL_SECPREF_WRITE_FILE, XSL_SECPREF_CREATE_DIRECTORY, XSL_SECPREF_READ_NETWORK, XSL_SECPREF_WRITE_NETWORK.

XSLTProcessor::getParameter
XSLTProcessor::hasExsltSupport
XSLTProcessor


Prüft, ob die EXSLT-Unterstützung aktiviert ist

XsltProcessor::getSecurityPrefs
XSLTProcessor::importStylesheet
XSLTProcessor
PHP Manual

XSLTProcessor::hasExsltSupport

(PHP 5 >= 5.0.4, PHP 7)

XSLTProcessor::hasExsltSupport — Prüft, ob die EXSLT-Unterstützung aktiviert ist

Beschreibung

bool XSLTProcessor::hasExsltSupport ( void )

Diese Methode ermittelt, ob PHP mit Unterstützung für die » EXSLT-Bibliothek kompiliert wurde.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Prüfen auf EXSLT-Unterstützung

<?php

$proc = new XSLTProcessor;
if (!$proc->hasExsltSupport()) {
    die('EXSLT nicht verfügbar');
}

// Weitere Verarbeitung ..

?>

XsltProcessor::getSecurityPrefs
XSLTProcessor::importStylesheet
XSLTProcessor


Importiert ein Stylesheet

XSLTProcessor::hasExsltSupport
XSLTProcessor::registerPHPFunctions
XSLTProcessor
PHP Manual

XSLTProcessor::importStylesheet

(PHP 5, PHP 7)

XSLTProcessor::importStylesheet — Importiert ein Stylesheet

Beschreibung

public bool XSLTProcessor::importStylesheet ( object $stylesheet )

Diese Methode importiert ein Stylesheet in das XSLTProcessor-Objekt zur Transformierung.

Parameter-Liste

stylesheet

Das zu importierende Stylesheet in Form eines DOMDocument- oder SimpleXMLElement-Objekts.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version | Beschreibung
5.2.8 | Erlaubt wieder die Übergabe von SimpleXMLElement (Defekt ab PHP 5.2.6)

XSLTProcessor::hasExsltSupport
XSLTProcessor::registerPHPFunctions
XSLTProcessor


Aktiviert die Nutzbarkeit von PHP-Funktionen als XSLT-Funktionen

XSLTProcessor::importStylesheet
XSLTProcessor::removeParameter
XSLTProcessor
PHP Manual

XSLTProcessor::registerPHPFunctions

(PHP 5 >= 5.0.4, PHP 7)

XSLTProcessor::registerPHPFunctions — Aktiviert die Nutzbarkeit von PHP-Funktionen als XSLT-Funktionen

Beschreibung

void XSLTProcessor::registerPHPFunctions ([ mixed $restrict ] )

Diese Methode aktiviert die Nutzbarkeit von PHP-Funktionen als XSLT-Funktionen innerhalb eines XSL Stylesheets.

Parameter-Liste

restrict

Dieser Parameter ermöglicht es, die via XSL aufrufbaren Funktionen einzuschränken.

Der übergebene Wert kann entweder ein String (der Name einer Funktion) oder ein Array mit Funktionsnamen sein.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 Einfacher Aufruf einer PHP-Funktion durch ein Stylesheet

<?php
$xml = <<<EOB
<allusers>
 <user>
  <uid>bob</uid>
 </user>
 <user>
  <uid>joe</uid>
 </user>
</allusers>
EOB;
$xsl = <<<EOB
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     xmlns:php="http://php.net/xsl">
<xsl:output method="html" encoding="utf-8" indent="yes"/>
 <xsl:template match="allusers">
  <html><body>
    <h2>Benutzer</h2>
    <table>
    <xsl:for-each select="user">
      <tr><td>
        <xsl:value-of
             select="php:function('ucfirst',string(uid))"/>
      </td></tr>
    </xsl:for-each>
    </table>
  </body></html>
 </xsl:template>
</xsl:stylesheet>
EOB;
$xmldoc = DOMDocument::loadXML($xml);
$xsldoc = DOMDocument::loadXML($xsl);

$proc = new XSLTProcessor();
$proc->registerPHPFunctions();
$proc->importStyleSheet($xsldoc);
echo $proc->transformToXML($xmldoc);
?>

Changelog

Version | Beschreibung
5.1.0 | Der Parameter restrict wurde eingeführt.

XSLTProcessor::importStylesheet
XSLTProcessor::removeParameter
XSLTProcessor


Löscht einen Parameter

XSLTProcessor::registerPHPFunctions
XSLTProcessor::setParameter
XSLTProcessor
PHP Manual

XSLTProcessor::removeParameter

(PHP 5, PHP 7)

XSLTProcessor::removeParameter — Löscht einen Parameter

Beschreibung

bool XSLTProcessor::removeParameter ( string $namespaceURI , string $localName )

Löscht, wenn gesetzt, den Wert eines Parameters. Sofern im Stylesheet mit Standardwert definiert, wird vom Prozessor dieser verwendet.

Parameter-Liste

namespaceURI

Die Namespace-URI des XSLT-Parameters.

localName

Der lokale Name des Parameters.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • XSLTProcessor::setParameter() - Setzt den Wert für einen Parameter
  • XSLTProcessor::getParameter() - Liefert den Wert eines Parameters

XSLTProcessor::registerPHPFunctions
XSLTProcessor::setParameter
XSLTProcessor


Setzt den Wert für einen Parameter

XSLTProcessor::removeParameter
XSLTProcessor::setProfiling
XSLTProcessor
PHP Manual

XSLTProcessor::setParameter

(PHP 5, PHP 7)

XSLTProcessor::setParameter — Setzt den Wert für einen Parameter

Beschreibung

bool XSLTProcessor::setParameter ( string $namespace , string $name , string $value )
bool XSLTProcessor::setParameter ( string $namespace , array $options )

Setzt den Wert von einem oder mehreren Parametern zur Verwendung bei Transformationen mittels XSLTProcessor. Falls ein Parameter im Stylesheet nicht existiert wird der angegebene Wert ignoriert.

Parameter-Liste

namespace

Die Namespace-URI des XSLT-Parameters.

name

Der lokale Name des Parameters.

value

Der neue Wert für den XSLT-Parameter.

options

Ein assoziatives Array mit name => wert-Paaren. Diese Schreibweise wird seit PHP 5.1.0 unterstützt.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Ändern des Parameters "owner" vor der Transformation

<?php

$collections = array(
    'Marc Rutkowski' => 'marc',
    'Olivier Parmentier' => 'olivier'
);

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Prozessor konfigurieren
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // Stylesheet anhängen

foreach ($collections as $name => $file) {
    // Load the XML source
    $xml = new DOMDocument;
    $xml->load('collection_' . $file . '.xml');

    $proc->setParameter('', 'owner', $name);
    $proc->transformToURI($xml, 'file:///tmp/' . $file . '.html');
}

?>

Siehe auch

  • XSLTProcessor::getParameter() - Liefert den Wert eines Parameters
  • XSLTProcessor::removeParameter() - Löscht einen Parameter

XSLTProcessor::removeParameter
XSLTProcessor::setProfiling
XSLTProcessor


Setzt den Dateinamen für die Ausgaben des Profilers

XSLTProcessor::setParameter
XsltProcessor::setSecurityPrefs
XSLTProcessor
PHP Manual

XSLTProcessor::setProfiling

(PHP >= 5.3.0)

XSLTProcessor::setProfiling — Setzt den Dateinamen für die Ausgaben des Profilers

Beschreibung

bool XSLTProcessor::setProfiling ( string $filename )

Setzt den Dateinamen für die Ausgaben des Profilers während der Verarbeitung eines Stylesheets.

Parameter-Liste

filename

Pfad zur Datei, in die die Informationen geschrieben werden

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Ausgabe des Profilers

<?php
// Laden der XML/XSL-Quelldokomente
$xml = new DOMDocument;
$xml->load('collection.xml');

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Prozessor instantiieren und konfigurieren
$proc = new XSLTProcessor;
$proc->setProfiling('profiling.txt');
$proc->importStyleSheet($xsl);

echo trim($proc->transformToDoc($xml)->firstChild->wholeText);
?>

Der obige Quelltext erzeugt ungefähr die nachfolgende Ausgabe in der angegebenen Zieldatei:

number               match                name      mode  Calls Tot 100us Avg

    0                   cd                                    2      3      1
    1           collection                                    1      1      1

                         Total                                3      4

XSLTProcessor::setParameter
XsltProcessor::setSecurityPrefs
XSLTProcessor


Setzt die Sicherheitseinstellungen

XSLTProcessor::setProfiling
XSLTProcessor::transformToDoc
XSLTProcessor
PHP Manual

XsltProcessor::setSecurityPrefs

(PHP >= 5.4.0)

XsltProcessor::setSecurityPrefs — Setzt die Sicherheitseinstellungen

Beschreibung

public int XsltProcessor::setSecurityPrefs ( int $securityPrefs )

Setzt die Sicherheitseinstellungen.

Parameter-Liste

securityPrefs

Die neuen Sicherheitseinstellungen. Die folgenden Konstanten können per OR verbunden werden: XSL_SECPREF_READ_FILE, XSL_SECPREF_WRITE_FILE, XSL_SECPREF_CREATE_DIRECTORY, XSL_SECPREF_READ_NETWORK, XSL_SECPREF_WRITE_NETWORK. Alternativ kann auch, XSL_SECPREF_NONE oder XSL_SECPREF_DEFAULT übergeben werden.

Rückgabewerte

Liefert die vorherigen Sicherheitseinstellungen zurück.

XSLTProcessor::setProfiling
XSLTProcessor::transformToDoc
XSLTProcessor


Transformierung in ein neues DOMDocument

XsltProcessor::setSecurityPrefs
XSLTProcessor::transformToURI
XSLTProcessor
PHP Manual

XSLTProcessor::transformToDoc

(PHP 5, PHP 7)

XSLTProcessor::transformToDoc — Transformierung in ein neues DOMDocument

Beschreibung

DOMDocument XSLTProcessor::transformToDoc ( DOMNode $doc )

Transformiert die Quellnode unter Verwendung des mittels XSLTProcessor::importStylesheet() importierten Stylesheets in ein neues DOMDocument.

Parameter-Liste

doc

Die zu verarbeitende Node.

Rückgabewerte

Das erzeugte DOMDocument oder FALSE im Falle eines Fehlers bei der Verarbeitung.

Beispiele

Beispiel #1 Transformierung in ein DOMDocument

<?php

// Laden der XML/XSL-Quelldokomente
$xml = new DOMDocument;
$xml->load('collection.xml');

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Prozessor instanziieren und konfigurieren
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // XSL Document importieren

echo trim($proc->transformToDoc($xml)->firstChild->wholeText);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Hey! Welcome to Nicolas Eliaszewicz's sweet CD collection!

Siehe auch

  • XSLTProcessor::transformToUri() - Transformierung zu einer URI
  • XSLTProcessor::transformToXml() - Transformierung zu einem XML-String

XsltProcessor::setSecurityPrefs
XSLTProcessor::transformToURI
XSLTProcessor


Transformierung zu einer URI

XSLTProcessor::transformToDoc
XSLTProcessor::transformToXML
XSLTProcessor
PHP Manual

XSLTProcessor::transformToURI

(PHP 5, PHP 7)

XSLTProcessor::transformToURI — Transformierung zu einer URI

Beschreibung

int XSLTProcessor::transformToURI ( DOMDocument $doc , string $uri )

Transformiert die Quell-Node unter Verwendung des mittels XSLTProcessor::importStylesheet()-Methode importierten Stylesheets zu einer gegebene URI.

Parameter-Liste

doc

Das zu verarbeitende Dokument.

uri

Die URI für das Ziel der Transformation.

Rückgabewerte

Liefert die Anzahl geschriebener Bytes zurück oder FALSE falls ein Fehler aufgetreten ist.

Beispiele

Beispiel #1 Transformierung in eine HTML-Datei

<?php

// XML-Quellen laden
$xml = new DOMDocument;
$xml->load('collection.xml');

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Prozessor instanziieren und konfigurieren
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // XSL Document importieren

$proc->transformToURI($xml, 'file:///tmp/out.html');

?>

Siehe auch

  • XSLTProcessor::transformToDoc() - Transformierung in ein neues DOMDocument
  • XSLTProcessor::transformToXml() - Transformierung zu einem XML-String

XSLTProcessor::transformToDoc
XSLTProcessor::transformToXML
XSLTProcessor


Transformierung zu einem XML-String

XSLTProcessor::transformToURI
GUI Erweiterungen
XSLTProcessor
PHP Manual

XSLTProcessor::transformToXML

(PHP 5, PHP 7)

XSLTProcessor::transformToXML — Transformierung zu einem XML-String

Beschreibung

string XSLTProcessor::transformToXML ( object $doc )

Transformiert die Quell-Node unter Verwendung des mittels xsltprocessor::importStylesheet() importierten Stylesheets in einen String.

Parameter-Liste

doc

Das zu transformierende DOMDocument oder SimpleXMLElement Objekt.

Rückgabewerte

Das Ergebnis der Transformierung als String oder FALSE im Fehlerfall.

Beispiele

Beispiel #1 Transformierung in einen String

<?php

// XML-Quellen laden
$xml = new DOMDocument;
$xml->load('collection.xml');

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Prozessor instanziieren und konfigurieren
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // XSL Document importieren

echo $proc->transformToXML($xml);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Hey! Welcome to Nicolas Eliaszewicz's sweet CD collection!

<h1>Fight for your mind</h1><h2>by Ben Harper - 1995</h2><hr>
<h1>Electric Ladyland</h1><h2>by Jimi Hendrix - 1997</h2><hr>

Siehe auch

  • XSLTProcessor::transformToDoc() - Transformierung in ein neues DOMDocument
  • XSLTProcessor::transformToUri() - Transformierung zu einer URI

XSLTProcessor::transformToURI
GUI Erweiterungen
XSLTProcessor


GUI Erweiterungen

  • UI
    • Einführung
    • Installation/Konfiguration
    • UI\Point — Represents a position (x,y)
    • UI\Size — Represents dimenstions (width, height)
    • UI\Window — Window
    • UI\Control — Control
    • UI\Menu — Menu
    • UI\MenuItem — Menu Item
    • UI\Area — Area
    • UI\Executor — Execution Scheduler
    • UI\Controls\Tab — Tab Control
    • UI\Controls\Check — Check Control
    • UI\Controls\Button — Button Control
    • UI\Controls\ColorButton — ColorButton Control
    • UI\Controls\Label — Label Control
    • UI\Controls\Entry — Entry Control
    • UI\Controls\MultilineEntry — MultilineEntry Control
    • UI\Controls\Spin — Spin Control
    • UI\Controls\Slider — Slider Control
    • UI\Controls\Progress — Progress Control
    • UI\Controls\Separator — Control Separator
    • UI\Controls\Combo — Combo Control
    • UI\Controls\EditableCombo — EdiableCombo Control
    • UI\Controls\Radio — Radio Control
    • UI\Controls\Picker — Picker Control
    • UI\Controls\Form — Control Form (Arrangement)
    • UI\Controls\Grid — Control Grid (Arrangement)
    • UI\Controls\Group — Control Group (Arrangement)
    • UI\Controls\Box — Control Box (Arrangement)
    • UI\Draw\Pen — Draw Pen
    • UI\Draw\Path — Draw Path
    • UI\Draw\Matrix — Draw Matrix
    • UI\Draw\Color — Color Representation
    • UI\Draw\Stroke — Draw Stroke
    • UI\Draw\Brush — Brushes
    • UI\Draw\Brush\Gradient — Gradient Brushes
    • UI\Draw\Brush\LinearGradient — Linear Gradient
    • UI\Draw\Brush\RadialGradient — Radial Gradient
    • UI\Draw\Text\Layout — Represents Text Layout
    • UI\Draw\Text\Font — Represents a Font
    • UI\Draw\Text\Font\Descriptor — Font Descriptor
    • UI Funktionen
    • UI\Draw\Text\Font\Weight — Font Weight Settings
    • UI\Draw\Text\Font\Italic — Italic Font Settings
    • UI\Draw\Text\Font\Stretch — Font Stretch Settings
    • UI\Draw\Line\Cap — Line Cap Settings
    • UI\Draw\Line\Join — Line Join Settings
    • UI\Key — Key Identifiers
    • UI\Exception\InvalidArgumentException — InvalidArgumentException
    • UI\Exception\RuntimeException — RuntimeException
XSLTProcessor::transformToXML
UI
Funktionsreferenz


UI

  • Einführung
  • Installation/Konfiguration
    • Anforderungen
    • Installation
  • UI\Point — Represents a position (x,y)
    • UI\Point::at — Size Coercion
    • UI\Point::__construct — Construct a new Point
    • UI\Point::getX — Retrieves X
    • UI\Point::getY — Retrieves Y
    • UI\Point::setX — Set X
    • UI\Point::setY — Set Y
  • UI\Size — Represents dimenstions (width, height)
    • UI\Size::__construct — Construct a new Size
    • UI\Size::getHeight — Retrieves Height
    • UI\Size::getWidth — Retrives Width
    • UI\Size::of — Point Coercion
    • UI\Size::setHeight — Set Height
    • UI\Size::setWidth — Set Width
  • UI\Window — Window
    • UI\Window::add — Add a Control
    • UI\Window::__construct — Construct a new Window
    • UI\Window::error — Show Error Box
    • UI\Window::getSize — Get Window Size
    • UI\Window::getTitle — Get Title
    • UI\Window::hasBorders — Border Detection
    • UI\Window::hasMargin — Margin Detection
    • UI\Window::isFullScreen — Full Screen Detection
    • UI\Window::msg — Show Message Box
    • UI\Window::onClosing — Closing Callback
    • UI\Window::open — Open Dialog
    • UI\Window::save — Save Dialog
    • UI\Window::setBorders — Border Use
    • UI\Window::setFullScreen — Full Screen Use
    • UI\Window::setMargin — Margin Use
    • UI\Window::setSize — Set Size
    • UI\Window::setTitle — Window Title
  • UI\Control — Control
    • UI\Control::destroy — Destroy Control
    • UI\Control::disable — Disable Control
    • UI\Control::enable — Enable Control
    • UI\Control::getParent — Get Parent Control
    • UI\Control::getTopLevel — Get Top Level
    • UI\Control::hide — Hide Control
    • UI\Control::isEnabled — Determine if Control is enabled
    • UI\Control::isVisible — Determine if Control is visible
    • UI\Control::setParent — Set Parent Control
    • UI\Control::show — Control Show
  • UI\Menu — Menu
    • UI\Menu::append — Append Menu Item
    • UI\Menu::appendAbout — Append About Menu Item
    • UI\Menu::appendCheck — Append Checkable Menu Item
    • UI\Menu::appendPreferences — Append Preferences Menu Item
    • UI\Menu::appendQuit — Append Quit Menu Item
    • UI\Menu::appendSeparator — Append Menu Item Separator
    • UI\Menu::__construct — Construct a new Menu
  • UI\MenuItem — Menu Item
    • UI\MenuItem::disable — Disable Menu Item
    • UI\MenuItem::enable — Enable Menu Item
    • UI\MenuItem::isChecked — Detect Checked
    • UI\MenuItem::onClick — On Click Callback
    • UI\MenuItem::setChecked — Set Checked
  • UI\Area — Area
    • UI\Area::onDraw — Draw Callback
    • UI\Area::onKey — Key Callback
    • UI\Area::onMouse — Mouse Callback
    • UI\Area::redraw — Redraw Area
    • UI\Area::scrollTo — Area Scroll
    • UI\Area::setSize — Set Size
  • UI\Executor — Execution Scheduler
    • UI\Executor::__construct — Construct a new Executor
    • UI\Executor::kill — Stop Executor
    • UI\Executor::onExecute — Execution Callback
    • UI\Executor::setInterval — Interval Manipulation
  • UI\Controls\Tab — Tab Control
    • UI\Controls\Tab::append — Append Page
    • UI\Controls\Tab::delete — Delete Page
    • UI\Controls\Tab::hasMargin — Margin Detection
    • UI\Controls\Tab::insertAt — Insert Page
    • UI\Controls\Tab::pages — Page Count
    • UI\Controls\Tab::setMargin — Set Margin
  • UI\Controls\Check — Check Control
    • UI\Controls\Check::__construct — Construct a new Check
    • UI\Controls\Check::getText — Get Text
    • UI\Controls\Check::isChecked — Checked Detection
    • UI\Controls\Check::onToggle — Toggle Callback
    • UI\Controls\Check::setChecked — Set Checked
    • UI\Controls\Check::setText — Set Text
  • UI\Controls\Button — Button Control
    • UI\Controls\Button::__construct — Construct a new Button
    • UI\Controls\Button::getText — Get Text
    • UI\Controls\Button::onClick — Click Handler
    • UI\Controls\Button::setText — Set Text
  • UI\Controls\ColorButton — ColorButton Control
    • UI\Controls\ColorButton::getColor — Get Color
    • UI\Controls\ColorButton::onChange — Change Handler
    • UI\Controls\ColorButton::setColor — Set Color
  • UI\Controls\Label — Label Control
    • UI\Controls\Label::__construct — Construct a new Label
    • UI\Controls\Label::getText — Get Text
    • UI\Controls\Label::setText — Set Text
  • UI\Controls\Entry — Entry Control
    • UI\Controls\Entry::__construct — Construct a new Entry
    • UI\Controls\Entry::getText — Get Text
    • UI\Controls\Entry::isReadOnly — Detect Read Only
    • UI\Controls\Entry::onChange — Change Handler
    • UI\Controls\Entry::setReadOnly — Set Read Only
    • UI\Controls\Entry::setText — Set Text
  • UI\Controls\MultilineEntry — MultilineEntry Control
    • UI\Controls\MultilineEntry::append — Append Text
    • UI\Controls\MultilineEntry::__construct — Construct a new Multiline Entry
    • UI\Controls\MultilineEntry::getText — Get Text
    • UI\Controls\MultilineEntry::isReadOnly — Read Only Detection
    • UI\Controls\MultilineEntry::onChange — Change Handler
    • UI\Controls\MultilineEntry::setReadOnly — Set Read Only
    • UI\Controls\MultilineEntry::setText — Set Text
  • UI\Controls\Spin — Spin Control
    • UI\Controls\Spin::__construct — Construct a new Spin
    • UI\Controls\Spin::getValue — Get Value
    • UI\Controls\Spin::onChange — Change Handler
    • UI\Controls\Spin::setValue — Set Value
  • UI\Controls\Slider — Slider Control
    • UI\Controls\Slider::__construct — Construct a new Slider
    • UI\Controls\Slider::getValue — Get Value
    • UI\Controls\Slider::onChange — Change Handler
    • UI\Controls\Slider::setValue — Set Value
  • UI\Controls\Progress — Progress Control
    • UI\Controls\Progress::getValue — Get Value
    • UI\Controls\Progress::setValue — Set Value
  • UI\Controls\Separator — Control Separator
    • UI\Controls\Separator::__construct — Construct a new Separator
  • UI\Controls\Combo — Combo Control
    • UI\Controls\Combo::append — Append Option
    • UI\Controls\Combo::getSelected — Get Selected Option
    • UI\Controls\Combo::onSelected — Selected Handler
    • UI\Controls\Combo::setSelected — Set Selected Option
  • UI\Controls\EditableCombo — EdiableCombo Control
    • UI\Controls\EditableCombo::append — Append Option
    • UI\Controls\EditableCombo::getText — Get Text
    • UI\Controls\EditableCombo::onChange — Change Handler
    • UI\Controls\EditableCombo::setText — Set Text
  • UI\Controls\Radio — Radio Control
    • UI\Controls\Radio::append — Append Option
    • UI\Controls\Radio::getSelected — Get Selected Option
    • UI\Controls\Radio::onSelected — Selected Handler
    • UI\Controls\Radio::setSelected — Set Selected Option
  • UI\Controls\Picker — Picker Control
    • UI\Controls\Picker::__construct — Construct a new Picker
  • UI\Controls\Form — Control Form (Arrangement)
    • UI\Controls\Form::append — Append Control
    • UI\Controls\Form::delete — Delete Control
    • UI\Controls\Form::isPadded — Padding Detection
    • UI\Controls\Form::setPadded — Set Padding
  • UI\Controls\Grid — Control Grid (Arrangement)
    • UI\Controls\Grid::append — Append Control
    • UI\Controls\Grid::isPadded — Padding Detection
    • UI\Controls\Grid::setPadded — Set Padding
  • UI\Controls\Group — Control Group (Arrangement)
    • UI\Controls\Group::append — Append Control
    • UI\Controls\Group::__construct — Construct a new Group
    • UI\Controls\Group::getTitle — Get Title
    • UI\Controls\Group::hasMargin — Margin Detection
    • UI\Controls\Group::setMargin — Set Margin
    • UI\Controls\Group::setTitle — Set Title
  • UI\Controls\Box — Control Box (Arrangement)
    • UI\Controls\Box::append — Append Control
    • UI\Controls\Box::__construct — Construct a new Box
    • UI\Controls\Box::delete — Delete Control
    • UI\Controls\Box::getOrientation — Get Orientation
    • UI\Controls\Box::isPadded — Padding Detection
    • UI\Controls\Box::setPadded — Set Padding
  • UI\Draw\Pen — Draw Pen
    • UI\Draw\Pen::clip — Clip a Path
    • UI\Draw\Pen::fill — Fill a Path
    • UI\Draw\Pen::restore — Restore
    • UI\Draw\Pen::save — Save
    • UI\Draw\Pen::stroke — Stroke a Path
    • UI\Draw\Pen::transform — Matrix Transform
    • UI\Draw\Pen::write — Draw Text at Point
  • UI\Draw\Path — Draw Path
    • UI\Draw\Path::addRectangle — Draw a Rectangle
    • UI\Draw\Path::arcTo — Draw an Arc
    • UI\Draw\Path::bezierTo — Draw Bezier Curve
    • UI\Draw\Path::closeFigure — Close Figure
    • UI\Draw\Path::__construct — Construct a new Path
    • UI\Draw\Path::end — Finalize Path
    • UI\Draw\Path::lineTo — Draw a Line
    • UI\Draw\Path::newFigure — Draw Figure
    • UI\Draw\Path::newFigureWithArc — Draw Figure with Arc
  • UI\Draw\Matrix — Draw Matrix
    • UI\Draw\Matrix::invert — Invert Matrix
    • UI\Draw\Matrix::isInvertible — Invertible Detection
    • UI\Draw\Matrix::multiply — Multiply Matrix
    • UI\Draw\Matrix::rotate — Rotate Matrix
    • UI\Draw\Matrix::scale — Scale Matrix
    • UI\Draw\Matrix::skew — Skew Matrix
    • UI\Draw\Matrix::translate — Translate Matrix
  • UI\Draw\Color — Color Representation
    • UI\Draw\Color::__construct — Construct new Color
    • UI\Draw\Color::getChannel — Color Manipulation
    • UI\Draw\Color::setChannel — Color Manipulation
  • UI\Draw\Stroke — Draw Stroke
    • UI\Draw\Stroke::__construct — Construct a new Stroke
    • UI\Draw\Stroke::getCap — Get Line Cap
    • UI\Draw\Stroke::getJoin — Get Line Join
    • UI\Draw\Stroke::getMiterLimit — Get Miter Limit
    • UI\Draw\Stroke::getThickness — Get Thickness
    • UI\Draw\Stroke::setCap — Set Line Cap
    • UI\Draw\Stroke::setJoin — Set Line Join
    • UI\Draw\Stroke::setMiterLimit — Set Miter Limit
    • UI\Draw\Stroke::setThickness — Set Thickness
  • UI\Draw\Brush — Brushes
    • UI\Draw\Brush::__construct — Construct a new Brush
    • UI\Draw\Brush::getColor — Get Color
    • UI\Draw\Brush::setColor — Set Color
  • UI\Draw\Brush\Gradient — Gradient Brushes
    • UI\Draw\Brush\Gradient::addStop — Stop Manipulation
    • UI\Draw\Brush\Gradient::delStop — Stop Manipulation
    • UI\Draw\Brush\Gradient::setStop — Stop Manipulation
  • UI\Draw\Brush\LinearGradient — Linear Gradient
    • UI\Draw\Brush\LinearGradient::__construct — Construct a Linear Gradient
  • UI\Draw\Brush\RadialGradient — Radial Gradient
    • UI\Draw\Brush\RadialGradient::__construct — Construct a new Radial Gradient
  • UI\Draw\Text\Layout — Represents Text Layout
    • UI\Draw\Text\Layout::__construct — Construct a new Text Layout
    • UI\Draw\Text\Layout::setColor — Set Color
    • UI\Draw\Text\Layout::setWidth — Set Width
  • UI\Draw\Text\Font — Represents a Font
    • UI\Draw\Text\Font::__construct — Construct a new Font
    • UI\Draw\Text\Font::getAscent — Font Metrics
    • UI\Draw\Text\Font::getDescent — Font Metrics
    • UI\Draw\Text\Font::getLeading — Font Metrics
    • UI\Draw\Text\Font::getUnderlinePosition — Font Metrics
    • UI\Draw\Text\Font::getUnderlineThickness — Font Metrics
  • UI\Draw\Text\Font\Descriptor — Font Descriptor
    • UI\Draw\Text\Font\Descriptor::__construct — Construct a new Font Descriptor
    • UI\Draw\Text\Font\Descriptor::getFamily — Get Font Family
    • UI\Draw\Text\Font\Descriptor::getItalic — Style Detection
    • UI\Draw\Text\Font\Descriptor::getSize — Size Detection
    • UI\Draw\Text\Font\Descriptor::getStretch — Style Detection
    • UI\Draw\Text\Font\Descriptor::getWeight — Weight Detection
  • UI Funktionen
    • UI\Draw\Text\Font\fontFamilies — Retrieve Font Families
    • UI\quit — Quit UI Loop
    • UI\run — Enter UI Loop
  • UI\Draw\Text\Font\Weight — Font Weight Settings
  • UI\Draw\Text\Font\Italic — Italic Font Settings
  • UI\Draw\Text\Font\Stretch — Font Stretch Settings
  • UI\Draw\Line\Cap — Line Cap Settings
  • UI\Draw\Line\Join — Line Join Settings
  • UI\Key — Key Identifiers
  • UI\Exception\InvalidArgumentException — InvalidArgumentException
  • UI\Exception\RuntimeException — RuntimeException
GUI Erweiterungen
Einführung
GUI Erweiterungen


Einführung

This extension wraps libui to provide an OO API for the cross platform development of native look-and-feel user interfaces .

UI
Installation/Konfiguration
UI


Installation/Konfiguration

Inhaltsverzeichnis

  • Anforderungen
  • Installation
Einführung
Anforderungen
UI


Anforderungen

Installation requires the libui library, and PHP 7 or newer.

This extension requires the » libui library version 0.1.0 or higher to be installed. See the libui documentation for a list of prerequisites.

Installation/Konfiguration
Installation
Installation/Konfiguration


Installation

Diese » PECL-Extension ist nicht Teil von PHP.

Information zur Installation dieser PECL-Extension finden sie im Kapitel Installation von PECL-Extensions. Zusätzliche Informationen wie neue Releases, Downloads, Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: » http://pecl.php.net/package/ui.

Windows binaries (DLL files) for this PECL extension are available from the PECL website.

Anforderungen
UI\Point
Installation/Konfiguration


Represents a position (x,y)

(PHP 7, UI 0.9.9)

Einführung

Points are used throughout UI to represent co-ordinates on a screen, control, or area.

Klassenbeschreibung

final UI\Point {
/* Eigenschaften */
public $x ;
public $y ;
/* Constructor */
public __construct ( float $x , float $y )
/* Methoden */
public static UI\Point at ( float $point )
public static UI\Point at ( UI\Size $size )
public float getX ( void )
public float getY ( void )
public setX ( float $point )
public setY ( float $point )
}

Eigenschaften

x

Holds the X co-ordinate, can be read/written directly

y

Holds the Y co-ordinate, can be read/written directly

Inhaltsverzeichnis

  • UI\Point::at — Size Coercion
  • UI\Point::__construct — Construct a new Point
  • UI\Point::getX — Retrieves X
  • UI\Point::getY — Retrieves Y
  • UI\Point::setX — Set X
  • UI\Point::setY — Set Y
Installation
UI\Point::at
UI


Size Coercion

UI\Point
UI\Point::__construct
UI\Point
PHP Manual

UI\Point::at

(PHP 7, UI 1.0.2)

UI\Point::at — Size Coercion

Beschreibung

public static UI\Point UI\Point::at ( float $point )
public static UI\Point UI\Point::at ( UI\Size $size )

Shall return a UI\Point object where x and y are equal to those supplied, either in float or UI\Size form

Parameter-Liste

point

The value for x and y

size

The Size to convert

Rückgabewerte

The resulting Point

UI\Point
UI\Point::__construct
UI\Point


Construct a new Point

UI\Point::at
UI\Point::getX
UI\Point
PHP Manual

UI\Point::__construct

(PHP 7, UI 0.9.9)

UI\Point::__construct — Construct a new Point

Beschreibung

public UI\Point::__construct ( float $x , float $y )

Construct a new Point using new co-ordinates

Parameter-Liste

x

The new X co-ordinate

y

The new Y co-ordinate

UI\Point::at
UI\Point::getX
UI\Point


Retrieves X

UI\Point::__construct
UI\Point::getY
UI\Point
PHP Manual

UI\Point::getX

(PHP 7, UI 0.9.9)

UI\Point::getX — Retrieves X

Beschreibung

public float UI\Point::getX ( void )

Retrieves the X co-ordinate

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current X co-ordinate

UI\Point::__construct
UI\Point::getY
UI\Point


Retrieves Y

UI\Point::getX
UI\Point::setX
UI\Point
PHP Manual

UI\Point::getY

(PHP 7, UI 0.9.9)

UI\Point::getY — Retrieves Y

Beschreibung

public float UI\Point::getY ( void )

Retrieves the Y co-ordinate

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current Y co-ordinate

UI\Point::getX
UI\Point::setX
UI\Point


Set X

UI\Point::getY
UI\Point::setY
UI\Point
PHP Manual

UI\Point::setX

(PHP 7, UI 0.9.9)

UI\Point::setX — Set X

Beschreibung

public UI\Point::setX ( float $point )

Set the X co-ordinate

Parameter-Liste

point

The new X co-ordinate

Rückgabewerte

UI\Point::getY
UI\Point::setY
UI\Point


Set Y

UI\Point::setX
UI\Size
UI\Point
PHP Manual

UI\Point::setY

(PHP 7, UI 0.9.9)

UI\Point::setY — Set Y

Beschreibung

public UI\Point::setY ( float $point )

Set the Y co-ordinate

Parameter-Liste

point

The new Y co-ordinate

Rückgabewerte

UI\Point::setX
UI\Size
UI\Point


Represents dimenstions (width, height)

(PHP 7, UI 0.9.9)

Einführung

Sizes are used throughout UI to represent the size of a screen, control, or area.

Klassenbeschreibung

final UI\Size {
/* Eigenschaften */
public $width ;
public $height ;
/* Constructor */
public __construct ( float $width , float $height )
/* Methoden */
public float getHeight ( void )
public float getWidth ( void )
public static UI\Size of ( float $size )
public static UI\Size of ( UI\Point $point )
public setHeight ( float $size )
public setWidth ( float $size )
}

Eigenschaften

width

Holds the width, can be read/written directly

height

Holds the height, can be read/written directly

Inhaltsverzeichnis

  • UI\Size::__construct — Construct a new Size
  • UI\Size::getHeight — Retrieves Height
  • UI\Size::getWidth — Retrives Width
  • UI\Size::of — Point Coercion
  • UI\Size::setHeight — Set Height
  • UI\Size::setWidth — Set Width
UI\Point::setY
UI\Size::__construct
UI


Construct a new Size

UI\Size
UI\Size::getHeight
UI\Size
PHP Manual

UI\Size::__construct

(PHP 7, UI 0.9.9)

UI\Size::__construct — Construct a new Size

Beschreibung

public UI\Size::__construct ( float $width , float $height )

Construct a new Size using new width and height

Parameter-Liste

width

The new width

height

The new height

UI\Size
UI\Size::getHeight
UI\Size


Retrieves Height

UI\Size::__construct
UI\Size::getWidth
UI\Size
PHP Manual

UI\Size::getHeight

(PHP 7, UI 0.9.9)

UI\Size::getHeight — Retrieves Height

Beschreibung

public float UI\Size::getHeight ( void )

Retrieves the Height

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current Height

UI\Size::__construct
UI\Size::getWidth
UI\Size


Retrives Width

UI\Size::getHeight
UI\Size::of
UI\Size
PHP Manual

UI\Size::getWidth

(PHP 7, UI 0.9.9)

UI\Size::getWidth — Retrives Width

Beschreibung

public float UI\Size::getWidth ( void )

Retrieves the Width

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current Width

UI\Size::getHeight
UI\Size::of
UI\Size


Point Coercion

UI\Size::getWidth
UI\Size::setHeight
UI\Size
PHP Manual

UI\Size::of

(PHP 7, UI 1.0.2)

UI\Size::of — Point Coercion

Beschreibung

public static UI\Size UI\Size::of ( float $size )
public static UI\Size UI\Size::of ( UI\Point $point )

Shall return a UI\Size object where width and height are equal to those supplied, either in float or UI\Point form

Parameter-Liste

size

The value for width and height

point

The Point to convert

Rückgabewerte

The resulting Size

UI\Size::getWidth
UI\Size::setHeight
UI\Size


Set Height

UI\Size::of
UI\Size::setWidth
UI\Size
PHP Manual

UI\Size::setHeight

(PHP 7, UI 0.9.9)

UI\Size::setHeight — Set Height

Beschreibung

public UI\Size::setHeight ( float $size )

Set new Height

Parameter-Liste

size

The new Height

Rückgabewerte

UI\Size::of
UI\Size::setWidth
UI\Size


Set Width

UI\Size::setHeight
UI\Window
UI\Size
PHP Manual

UI\Size::setWidth

(PHP 7, UI 0.9.9)

UI\Size::setWidth — Set Width

Beschreibung

public UI\Size::setWidth ( float $size )

Set new Width

Parameter-Liste

size

The new Width

Rückgabewerte

UI\Size::setHeight
UI\Window
UI\Size


Window

(PHP 7, UI 0.9.9)

Einführung

Represents a UI Window

Klassenbeschreibung

UI\Window extends UI\Control {
/* Eigenschaften */
protected $controls ;
/* Constructor */
public __construct ( string $title , Size $size [, boolean $menu = false ] )
/* Methoden */
public add ( UI\Control $control )
public error ( string $title , string $msg )
public UI\Size getSize ( void )
public string getTitle ( void )
public bool hasBorders ( void )
public bool hasMargin ( void )
public bool isFullScreen ( void )
public msg ( string $title , string $msg )
protected int onClosing ( void )
public string open ( void )
public string save ( void )
public setBorders ( boolean $borders )
public setFullScreen ( boolean $full )
public setMargin ( boolean $margin )
public setSize ( UI\Size $size )
public setTitle ( string $title )
/* Geerbte Methoden */
public UI\Control::destroy ( void )
public UI\Control::disable ( void )
public UI\Control::enable ( void )
public UI\Control UI\Control::getParent ( void )
public int UI\Control::getTopLevel ( void )
public UI\Control::hide ( void )
public bool UI\Control::isEnabled ( void )
public bool UI\Control::isVisible ( void )
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( void )
}

Eigenschaften

controls

Contains controls, should not be manipulated directly

Inhaltsverzeichnis

  • UI\Window::add — Add a Control
  • UI\Window::__construct — Construct a new Window
  • UI\Window::error — Show Error Box
  • UI\Window::getSize — Get Window Size
  • UI\Window::getTitle — Get Title
  • UI\Window::hasBorders — Border Detection
  • UI\Window::hasMargin — Margin Detection
  • UI\Window::isFullScreen — Full Screen Detection
  • UI\Window::msg — Show Message Box
  • UI\Window::onClosing — Closing Callback
  • UI\Window::open — Open Dialog
  • UI\Window::save — Save Dialog
  • UI\Window::setBorders — Border Use
  • UI\Window::setFullScreen — Full Screen Use
  • UI\Window::setMargin — Margin Use
  • UI\Window::setSize — Set Size
  • UI\Window::setTitle — Window Title
UI\Size::setWidth
UI\Window::add
UI


Add a Control

UI\Window
UI\Window::__construct
UI\Window
PHP Manual

UI\Window::add

(PHP 7, UI 0.9.9)

UI\Window::add — Add a Control

Beschreibung

public UI\Window::add ( UI\Control $control )

Shall add a Control to this Window

Parameter-Liste

control

The Control to add

Rückgabewerte

UI\Window
UI\Window::__construct
UI\Window


Construct a new Window

UI\Window::add
UI\Window::error
UI\Window
PHP Manual

UI\Window::__construct

(PHP 7, UI 0.9.9)

UI\Window::__construct — Construct a new Window

Beschreibung

public UI\Window::__construct ( string $title , Size $size [, boolean $menu = false ] )

Shall construct a new Window

Parameter-Liste

title

The title of the Window

size

The size of the Window

menu

Menu switch

UI\Window::add
UI\Window::error
UI\Window


Show Error Box

UI\Window::__construct
UI\Window::getSize
UI\Window
PHP Manual

UI\Window::error

(PHP 7, UI 0.9.9)

UI\Window::error — Show Error Box

Beschreibung

public UI\Window::error ( string $title , string $msg )

Shall show an error box

Parameter-Liste

title

The title of the error box

msg

The message for the error box

UI\Window::__construct
UI\Window::getSize
UI\Window


Get Window Size

UI\Window::error
UI\Window::getTitle
UI\Window
PHP Manual

UI\Window::getSize

(PHP 7, UI 0.9.9)

UI\Window::getSize — Get Window Size

Beschreibung

public UI\Size UI\Window::getSize ( void )

Shall return the size of this Window

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UI\Window::error
UI\Window::getTitle
UI\Window


Get Title

UI\Window::getSize
UI\Window::hasBorders
UI\Window
PHP Manual

UI\Window::getTitle

(PHP 7, UI 0.9.9)

UI\Window::getTitle — Get Title

Beschreibung

public string UI\Window::getTitle ( void )

Shall retrieve the title of this Window

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UI\Window::getSize
UI\Window::hasBorders
UI\Window


Border Detection

UI\Window::getTitle
UI\Window::hasMargin
UI\Window
PHP Manual

UI\Window::hasBorders

(PHP 7, UI 0.9.9)

UI\Window::hasBorders — Border Detection

Beschreibung

public bool UI\Window::hasBorders ( void )

Shall detect if borders are used on this Window

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UI\Window::getTitle
UI\Window::hasMargin
UI\Window


Margin Detection

UI\Window::hasBorders
UI\Window::isFullScreen
UI\Window
PHP Manual

UI\Window::hasMargin

(PHP 7, UI 0.9.9)

UI\Window::hasMargin — Margin Detection

Beschreibung

public bool UI\Window::hasMargin ( void )

Shall detect if margins are used on this Window

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UI\Window::hasBorders
UI\Window::isFullScreen
UI\Window


Full Screen Detection

UI\Window::hasMargin
UI\Window::msg
UI\Window
PHP Manual

UI\Window::isFullScreen

(PHP 7, UI 0.9.9)

UI\Window::isFullScreen — Full Screen Detection

Beschreibung

public bool UI\Window::isFullScreen ( void )

Shall detect if this Window us using the whole screen

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UI\Window::hasMargin
UI\Window::msg
UI\Window


Show Message Box

UI\Window::isFullScreen
UI\Window::onClosing
UI\Window
PHP Manual

UI\Window::msg

(PHP 7, UI 0.9.9)

UI\Window::msg — Show Message Box

Beschreibung

public UI\Window::msg ( string $title , string $msg )

Shall show a message box

Parameter-Liste

title

The title of the message box

msg

The message

UI\Window::isFullScreen
UI\Window::onClosing
UI\Window


Closing Callback

UI\Window::msg
UI\Window::open
UI\Window
PHP Manual

UI\Window::onClosing

(PHP 7, UI 0.9.9)

UI\Window::onClosing — Closing Callback

Beschreibung

protected int UI\Window::onClosing ( void )

Should gracefully destroy this Window

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UI\Window::msg
UI\Window::open
UI\Window


Open Dialog

UI\Window::onClosing
UI\Window::save
UI\Window
PHP Manual

UI\Window::open

(PHP 7, UI 0.9.9)

UI\Window::open — Open Dialog

Beschreibung

public string UI\Window::open ( void )

Shall show an open file dialog

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the name of the file selected for opening

UI\Window::onClosing
UI\Window::save
UI\Window


Save Dialog

UI\Window::open
UI\Window::setBorders
UI\Window
PHP Manual

UI\Window::save

(PHP 7, UI 0.9.9)

UI\Window::save — Save Dialog

Beschreibung

public string UI\Window::save ( void )

Shall show a save dialog

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

Returns the file name selecting for saving

UI\Window::open
UI\Window::setBorders
UI\Window


Border Use

UI\Window::save
UI\Window::setFullScreen
UI\Window
PHP Manual

UI\Window::setBorders

(PHP 7, UI 0.9.9)

UI\Window::setBorders — Border Use

Beschreibung

public UI\Window::setBorders ( boolean $borders )

Shall enable or disable the use of borders on this Window

Parameter-Liste

borders

UI\Window::save
UI\Window::setFullScreen
UI\Window


Full Screen Use

UI\Window::setBorders
UI\Window::setMargin
UI\Window
PHP Manual

UI\Window::setFullScreen

(PHP 7, UI 0.9.9)

UI\Window::setFullScreen — Full Screen Use

Beschreibung

public UI\Window::setFullScreen ( boolean $full )

Shall enable or disable the use of the full screen for this Window

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

full

UI\Window::setBorders
UI\Window::setMargin
UI\Window


Margin Use

UI\Window::setFullScreen
UI\Window::setSize
UI\Window
PHP Manual

UI\Window::setMargin

(PHP 7, UI 0.9.9)

UI\Window::setMargin — Margin Use

Beschreibung

public UI\Window::setMargin ( boolean $margin )

Shall enable or disable the use of margins for this Window

Parameter-Liste

margin

UI\Window::setFullScreen
UI\Window::setSize
UI\Window


Set Size

UI\Window::setMargin
UI\Window::setTitle
UI\Window
PHP Manual

UI\Window::setSize

(PHP 7, UI 0.9.9)

UI\Window::setSize — Set Size

Beschreibung

public UI\Window::setSize ( UI\Size $size )

Shall set the size of this Window

Parameter-Liste

size

Rückgabewerte

UI\Window::setMargin
UI\Window::setTitle
UI\Window


Window Title

UI\Window::setSize
UI\Control
UI\Window
PHP Manual

UI\Window::setTitle

(PHP 7, UI 0.9.9)

UI\Window::setTitle — Window Title

Beschreibung

public UI\Window::setTitle ( string $title )

Shall set the title for this Window

Parameter-Liste

title

The new title

UI\Window::setSize
UI\Control
UI\Window


Control

(PHP 7, UI 0.9.9)

Einführung

This is the closed base class for all UI Controls.

Klassenbeschreibung

final UI\Control {
/* Methoden */
public destroy ( void )
public disable ( void )
public enable ( void )
public UI\Control getParent ( void )
public int getTopLevel ( void )
public hide ( void )
public bool isEnabled ( void )
public bool isVisible ( void )
public setParent ( UI\Control $parent )
public show ( void )
}

Inhaltsverzeichnis

  • UI\Control::destroy — Destroy Control
  • UI\Control::disable — Disable Control
  • UI\Control::enable — Enable Control
  • UI\Control::getParent — Get Parent Control
  • UI\Control::getTopLevel — Get Top Level
  • UI\Control::hide — Hide Control
  • UI\Control::isEnabled — Determine if Control is enabled
  • UI\Control::isVisible — Determine if Control is visible
  • UI\Control::setParent — Set Parent Control
  • UI\Control::show — Control Show
UI\Window::setTitle
UI\Control::destroy
UI


Destroy Control

UI\Control
UI\Control::disable
UI\Control
PHP Manual

UI\Control::destroy

(PHP 7, UI 0.9.9)

UI\Control::destroy — Destroy Control

Beschreibung

public UI\Control::destroy ( void )

Shall destroy this Control

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UI\Control
UI\Control::disable
UI\Control


Disable Control

UI\Control::destroy
UI\Control::enable
UI\Control
PHP Manual

UI\Control::disable

(PHP 7, UI 0.9.9)

UI\Control::disable — Disable Control

Beschreibung

public UI\Control::disable ( void )

Shall disable this Control

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UI\Control::destroy
UI\Control::enable
UI\Control


Enable Control

UI\Control::disable
UI\Control::getParent
UI\Control
PHP Manual

UI\Control::enable

(PHP 7, UI 0.9.9)

UI\Control::enable — Enable Control

Beschreibung

public UI\Control::enable ( void )

Shall enable this Control

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UI\Control::disable
UI\Control::getParent
UI\Control


Get Parent Control

UI\Control::enable
UI\Control::getTopLevel
UI\Control
PHP Manual

UI\Control::getParent

(PHP 7, UI 0.9.9)

UI\Control::getParent — Get Parent Control

Beschreibung

public UI\Control UI\Control::getParent ( void )

Shall return the parent Control

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UI\Control::enable
UI\Control::getTopLevel
UI\Control


Get Top Level

UI\Control::getParent
UI\Control::hide
UI\Control
PHP Manual

UI\Control::getTopLevel

(PHP 7, UI 0.9.9)

UI\Control::getTopLevel — Get Top Level

Beschreibung

public int UI\Control::getTopLevel ( void )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UI\Control::getParent
UI\Control::hide
UI\Control


Hide Control

UI\Control::getTopLevel
UI\Control::isEnabled
UI\Control
PHP Manual

UI\Control::hide

(PHP 7, UI 0.9.9)

UI\Control::hide — Hide Control

Beschreibung

public UI\Control::hide ( void )

Shall hide this Control

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UI\Control::getTopLevel
UI\Control::isEnabled
UI\Control


Determine if Control is enabled

UI\Control::hide
UI\Control::isVisible
UI\Control
PHP Manual

UI\Control::isEnabled

(PHP 7, UI 0.9.9)

UI\Control::isEnabled — Determine if Control is enabled

Beschreibung

public bool UI\Control::isEnabled ( void )

Shall detect if this Control is enabled

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UI\Control::hide
UI\Control::isVisible
UI\Control


Determine if Control is visible

UI\Control::isEnabled
UI\Control::setParent
UI\Control
PHP Manual

UI\Control::isVisible

(PHP 7, UI 0.9.9)

UI\Control::isVisible — Determine if Control is visible

Beschreibung

public bool UI\Control::isVisible ( void )

Shall detect if this Control is visible

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UI\Control::isEnabled
UI\Control::setParent
UI\Control


Set Parent Control

UI\Control::isVisible
UI\Control::show
UI\Control
PHP Manual

UI\Control::setParent

(PHP 7, UI 0.9.9)

UI\Control::setParent — Set Parent Control

Beschreibung

public UI\Control::setParent ( UI\Control $parent )

Shall set the parent Control of this Control

Parameter-Liste

parent

The parent Control

Rückgabewerte

UI\Control::isVisible
UI\Control::show
UI\Control


Control Show

UI\Control::setParent
UI\Menu
UI\Control
PHP Manual

UI\Control::show

(PHP 7, UI 0.9.9)

UI\Control::show — Control Show

Beschreibung

public UI\Control::show ( void )

Shall show this Control

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UI\Control::setParent
UI\Menu
UI\Control


Menu

(PHP 7, UI 0.9.9)

Einführung

Menus must be constructed before the first Window, and can be shown on any Window

Klassenbeschreibung

UI\Menu {
/* Constructor */
public __construct ( string $name )
/* Methoden */
public UI\MenuItem append ( string $name [, string $type = UI\MenuItem::class ] )
public UI\MenuItem appendAbout ([ string $type = UI\MenuItem::class ] )
public UI\MenuItem appendCheck ( string $name [, string $type = UI\MenuItem::class ] )
public UI\MenuItem appendPreferences ([ string $type = UI\MenuItem::class ] )
public UI\MenuItem appendQuit ([ string $type = UI\MenuItem::class ] )
public appendSeparator ( void )
}

Inhaltsverzeichnis

  • UI\Menu::append — Append Menu Item
  • UI\Menu::appendAbout — Append About Menu Item
  • UI\Menu::appendCheck — Append Checkable Menu Item
  • UI\Menu::appendPreferences — Append Preferences Menu Item
  • UI\Menu::appendQuit — Append Quit Menu Item
  • UI\Menu::appendSeparator — Append Menu Item Separator
  • UI\Menu::__construct — Construct a new Menu
UI\Control::show
UI\Menu::append
UI


Append Menu Item

UI\Menu
UI\Menu::appendAbout
UI\Menu
PHP Manual

UI\Menu::append

(PHP 7, UI 0.9.9)

UI\Menu::append — Append Menu Item

Beschreibung

public UI\MenuItem UI\Menu::append ( string $name [, string $type = UI\MenuItem::class ] )

Shall append a new Menu Item

Parameter-Liste

name

The name (text) for the new item

type

The type for the new item

Rückgabewerte

A constructed object of the given type

UI\Menu
UI\Menu::appendAbout
UI\Menu


Append About Menu Item

UI\Menu::append
UI\Menu::appendCheck
UI\Menu
PHP Manual

UI\Menu::appendAbout

(PHP 7, UI 0.9.9)

UI\Menu::appendAbout — Append About Menu Item

Beschreibung

public UI\MenuItem UI\Menu::appendAbout ([ string $type = UI\MenuItem::class ] )

Shall append an About menu item

Parameter-Liste

type

The type for the new item

Rückgabewerte

A constructed About menu item of the given type

UI\Menu::append
UI\Menu::appendCheck
UI\Menu


Append Checkable Menu Item

UI\Menu::appendAbout
UI\Menu::appendPreferences
UI\Menu
PHP Manual

UI\Menu::appendCheck

(PHP 7, UI 0.9.9)

UI\Menu::appendCheck — Append Checkable Menu Item

Beschreibung

public UI\MenuItem UI\Menu::appendCheck ( string $name [, string $type = UI\MenuItem::class ] )

Shall append a checkable menu item

Parameter-Liste

name

The name (text) for the new item

type

The type for the new item

Rückgabewerte

A constructed checkable menu item of the given type

UI\Menu::appendAbout
UI\Menu::appendPreferences
UI\Menu


Append Preferences Menu Item

UI\Menu::appendCheck
UI\Menu::appendQuit
UI\Menu
PHP Manual

UI\Menu::appendPreferences

(PHP 7, UI 0.9.9)

UI\Menu::appendPreferences — Append Preferences Menu Item

Beschreibung

public UI\MenuItem UI\Menu::appendPreferences ([ string $type = UI\MenuItem::class ] )

Shall append a Preferences menu item

Parameter-Liste

type

The type for the new item

Rückgabewerte

A constructed Preferences menu item of the given type

UI\Menu::appendCheck
UI\Menu::appendQuit
UI\Menu


Append Quit Menu Item

UI\Menu::appendPreferences
UI\Menu::appendSeparator
UI\Menu
PHP Manual

UI\Menu::appendQuit

(PHP 7, UI 0.9.9)

UI\Menu::appendQuit — Append Quit Menu Item

Beschreibung

public UI\MenuItem UI\Menu::appendQuit ([ string $type = UI\MenuItem::class ] )

Shall append a Quit menu item

Parameter-Liste

type

The type for the new item

Rückgabewerte

A constructed Quit menu item of the given type

UI\Menu::appendPreferences
UI\Menu::appendSeparator
UI\Menu


Append Menu Item Separator

UI\Menu::appendQuit
UI\Menu::__construct
UI\Menu
PHP Manual

UI\Menu::appendSeparator

(PHP 7, UI 0.9.9)

UI\Menu::appendSeparator — Append Menu Item Separator

Beschreibung

public UI\Menu::appendSeparator ( void )

Shall append a separator

Parameter-Liste

Diese Funktion hat keine Parameter.

UI\Menu::appendQuit
UI\Menu::__construct
UI\Menu


Construct a new Menu

UI\Menu::appendSeparator
UI\MenuItem
UI\Menu
PHP Manual

UI\Menu::__construct

(PHP 7, UI 0.9.9)

UI\Menu::__construct — Construct a new Menu

Beschreibung

public UI\Menu::__construct ( string $name )

Shall construct a new Menu

Parameter-Liste

name

The name (text) for the menu

UI\Menu::appendSeparator
UI\MenuItem
UI\Menu


Menu Item

(PHP 7, UI 0.9.9)

Einführung

Menu Items should only be created by the Menu

Klassenbeschreibung

UI\MenuItem {
/* Methoden */
public disable ( void )
public enable ( void )
public bool isChecked ( void )
protected onClick ( void )
public setChecked ( boolean $checked )
}

Inhaltsverzeichnis

  • UI\MenuItem::disable — Disable Menu Item
  • UI\MenuItem::enable — Enable Menu Item
  • UI\MenuItem::isChecked — Detect Checked
  • UI\MenuItem::onClick — On Click Callback
  • UI\MenuItem::setChecked — Set Checked
UI\Menu::__construct
UI\MenuItem::disable
UI


Disable Menu Item

UI\MenuItem
UI\MenuItem::enable
UI\MenuItem
PHP Manual

UI\MenuItem::disable

(PHP 7, UI 0.9.9)

UI\MenuItem::disable — Disable Menu Item

Beschreibung

public UI\MenuItem::disable ( void )

Shall disable this Menu Item

Parameter-Liste

Diese Funktion hat keine Parameter.

UI\MenuItem
UI\MenuItem::enable
UI\MenuItem


Enable Menu Item

UI\MenuItem::disable
UI\MenuItem::isChecked
UI\MenuItem
PHP Manual

UI\MenuItem::enable

(PHP 7, UI 0.9.9)

UI\MenuItem::enable — Enable Menu Item

Beschreibung

public UI\MenuItem::enable ( void )

Shall enable this Menu Item

Parameter-Liste

Diese Funktion hat keine Parameter.

UI\MenuItem::disable
UI\MenuItem::isChecked
UI\MenuItem


Detect Checked

UI\MenuItem::enable
UI\MenuItem::onClick
UI\MenuItem
PHP Manual

UI\MenuItem::isChecked

(PHP 7, UI 0.9.9)

UI\MenuItem::isChecked — Detect Checked

Beschreibung

public bool UI\MenuItem::isChecked ( void )

Shall detect if this Menu Item is checked

Parameter-Liste

Diese Funktion hat keine Parameter.

UI\MenuItem::enable
UI\MenuItem::onClick
UI\MenuItem


On Click Callback

UI\MenuItem::isChecked
UI\MenuItem::setChecked
UI\MenuItem
PHP Manual

UI\MenuItem::onClick

(PHP 7, UI 0.9.9)

UI\MenuItem::onClick — On Click Callback

Beschreibung

protected UI\MenuItem::onClick ( void )

Shall be executed when this Menu Item is clicked

Parameter-Liste

Diese Funktion hat keine Parameter.

UI\MenuItem::isChecked
UI\MenuItem::setChecked
UI\MenuItem


Set Checked

UI\MenuItem::onClick
UI\Area
UI\MenuItem
PHP Manual

UI\MenuItem::setChecked

(PHP 7, UI 0.9.9)

UI\MenuItem::setChecked — Set Checked

Beschreibung

public UI\MenuItem::setChecked ( boolean $checked )

Shall set the checked status of this Menu Item

Parameter-Liste

checked

The new status

UI\MenuItem::onClick
UI\Area
UI\MenuItem


Area

(PHP 7, UI 0.9.9)

Einführung

An Area represents a canvas which can be used to draw, and respond to mouse and key events.

Klassenbeschreibung

UI\Area extends UI\Control {
/* Constants */
const integer Ctrl ;
const integer Alt ;
const integer Shift ;
const integer Super ;
const integer Down ;
const integer Up ;
/* Methoden */
protected onDraw ( UI\Draw\Pen $pen , UI\Size $areaSize , UI\Point $clipPoint , UI\Size $clipSize )
protected onKey ( string $key , integer $ext , integer $flags )
protected onMouse ( UI\Point $areaPoint , UI\Size $areaSize , integer $flags )
public redraw ( void )
public scrollTo ( UI\Point $point , UI\Size $size )
public setSize ( UI\Size $size )
/* Geerbte Methoden */
public UI\Control::destroy ( void )
public UI\Control::disable ( void )
public UI\Control::enable ( void )
public UI\Control UI\Control::getParent ( void )
public int UI\Control::getTopLevel ( void )
public UI\Control::hide ( void )
public bool UI\Control::isEnabled ( void )
public bool UI\Control::isVisible ( void )
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( void )
}

Vordefinierte Konstanten

UI\Area::Ctrl

Shall be set in the modifiers passed to key and mouse events when the CTRL key is active

UI\Area::Alt

Shall be set in the modifiers passed to key and mouse events when the ALT key is active

UI\Area::Shift

Shall be set in the modifiers passed to key and mouse events when the SHIFT key is active

UI\Area::Super

UI\Area::Down

Shall be set in the modifiers passed to key and mouse events

UI\Area::Up

Shall be set in the modifiers passed to key and mouse events

Inhaltsverzeichnis

  • UI\Area::onDraw — Draw Callback
  • UI\Area::onKey — Key Callback
  • UI\Area::onMouse — Mouse Callback
  • UI\Area::redraw — Redraw Area
  • UI\Area::scrollTo — Area Scroll
  • UI\Area::setSize — Set Size
UI\MenuItem::setChecked
UI\Area::onDraw
UI


Draw Callback

UI\Area
UI\Area::onKey
UI\Area
PHP Manual

UI\Area::onDraw

(PHP 7, UI 0.9.9)

UI\Area::onDraw — Draw Callback

Beschreibung

protected UI\Area::onDraw ( UI\Draw\Pen $pen , UI\Size $areaSize , UI\Point $clipPoint , UI\Size $clipSize )

Shall be invoked when this Area requires redrawing

Parameter-Liste

pen

A Pen suitable for drawing in this Area

areaSize

The size of the Area

clipPoint

The clip point of the Area

clipSize

The clip size of the Area

UI\Area
UI\Area::onKey
UI\Area


Key Callback

UI\Area::onDraw
UI\Area::onMouse
UI\Area
PHP Manual

UI\Area::onKey

(PHP 7, UI 0.9.9)

UI\Area::onKey — Key Callback

Beschreibung

protected UI\Area::onKey ( string $key , integer $ext , integer $flags )

Shall be executed on key events

Parameter-Liste

key

The key pressed

ext

The extended key pressed

flags

Event modifiers

Rückgabewerte

UI\Area::onDraw
UI\Area::onMouse
UI\Area


Mouse Callback

UI\Area::onKey
UI\Area::redraw
UI\Area
PHP Manual

UI\Area::onMouse

(PHP 7, UI 0.9.9)

UI\Area::onMouse — Mouse Callback

Beschreibung

protected UI\Area::onMouse ( UI\Point $areaPoint , UI\Size $areaSize , integer $flags )

Shall be executed on mouse events

Parameter-Liste

areaPoint

The co-ordinates of the event

areaSize

The size of the area of the event

flags

Event modifiers

UI\Area::onKey
UI\Area::redraw
UI\Area


Redraw Area

UI\Area::onMouse
UI\Area::scrollTo
UI\Area
PHP Manual

UI\Area::redraw

(PHP 7, UI 0.9.9)

UI\Area::redraw — Redraw Area

Beschreibung

public UI\Area::redraw ( void )

Requests that this Area is redrawn

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UI\Area::onMouse
UI\Area::scrollTo
UI\Area


Area Scroll

UI\Area::redraw
UI\Area::setSize
UI\Area
PHP Manual

UI\Area::scrollTo

(PHP 7, UI 0.9.9)

UI\Area::scrollTo — Area Scroll

Beschreibung

public UI\Area::scrollTo ( UI\Point $point , UI\Size $size )

Scroll this Area

Parameter-Liste

point

The point to scroll to

size

The size of the scroll pane

UI\Area::redraw
UI\Area::setSize
UI\Area


Set Size

UI\Area::scrollTo
UI\Executor
UI\Area
PHP Manual

UI\Area::setSize

(PHP 7, UI 0.9.9)

UI\Area::setSize — Set Size

Beschreibung

public UI\Area::setSize ( UI\Size $size )

Sets the size of this Area

Parameter-Liste

size

The new size

UI\Area::scrollTo
UI\Executor
UI\Area


Execution Scheduler

(PHP 7, UI 2.0.0)

Einführung

This facility schedules repetitive execution of a callback, useful for animations and other such activities.

Klassenbeschreibung

abstract UI\Executor {
/* Constructor */
public __construct ( void )
public __construct ( integer $microseconds )
public __construct ( integer $seconds , integer $microseconds )
/* Methoden */
public void kill ( void )
abstract protected void onExecute ( void )
public bool setInterval ( integer $microseconds )
public bool setInterval ( integer $seconds , integer $microseconds )
}

Inhaltsverzeichnis

  • UI\Executor::__construct — Construct a new Executor
  • UI\Executor::kill — Stop Executor
  • UI\Executor::onExecute — Execution Callback
  • UI\Executor::setInterval — Interval Manipulation
UI\Area::setSize
UI\Executor::__construct
UI


Construct a new Executor

UI\Executor
UI\Executor::kill
UI\Executor
PHP Manual

UI\Executor::__construct

(PHP 7, UI 2.0.0)

UI\Executor::__construct — Construct a new Executor

Beschreibung

public UI\Executor::__construct ( void )
public UI\Executor::__construct ( integer $microseconds )
public UI\Executor::__construct ( integer $seconds , integer $microseconds )

Shall construct an executor with the given interval, will not start executing until main loop is entered

Parameter-Liste

seconds

Seconds between executions

microseconds

Microseconds between executions

UI\Executor
UI\Executor::kill
UI\Executor


Stop Executor

UI\Executor::__construct
UI\Executor::onExecute
UI\Executor
PHP Manual

UI\Executor::kill

(PHP 7, UI 2.0.0)

UI\Executor::kill — Stop Executor

Beschreibung

public void UI\Executor::kill ( void )

Shall stop an executor, the executor cannot be restarted

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UI\Executor::__construct
UI\Executor::onExecute
UI\Executor


Execution Callback

UI\Executor::kill
UI\Executor::setInterval
UI\Executor
PHP Manual

UI\Executor::onExecute

(PHP 7, UI 2.0.0)

UI\Executor::onExecute — Execution Callback

Beschreibung

abstract protected void UI\Executor::onExecute ( void )

Shall be repetitively queued for execution in the main thread

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UI\Executor::kill
UI\Executor::setInterval
UI\Executor


Interval Manipulation

UI\Executor::onExecute
UI\Controls\Tab
UI\Executor
PHP Manual

UI\Executor::setInterval

(PHP 7, UI 2.0.0)

UI\Executor::setInterval — Interval Manipulation

Beschreibung

public bool UI\Executor::setInterval ( integer $microseconds )
public bool UI\Executor::setInterval ( integer $seconds , integer $microseconds )

Shall set the new interval. An interval of 0 will pause the executor until a new interval has been set

Parameter-Liste

seconds

microseconds

Rückgabewerte

Indication of success

UI\Executor::onExecute
UI\Controls\Tab
UI\Executor


Tab Control

(PHP 7, UI 0.9.9)

Einführung

A Tab can contain many pages of Controls, each with a title, each selectable by the user.

Klassenbeschreibung

UI\Controls\Tab extends UI\Control {
/* Eigenschaften */
protected $controls ;
/* Methoden */
public integer append ( string $name , UI\Control $control )
public boolean delete ( integer $index )
public bool hasMargin ( integer $page )
public insertAt ( string $name , integer $page , UI\Control $control )
public integer pages ( void )
public setMargin ( integer $page , boolean $margin )
/* Geerbte Methoden */
public UI\Control::destroy ( void )
public UI\Control::disable ( void )
public UI\Control::enable ( void )
public UI\Control UI\Control::getParent ( void )
public int UI\Control::getTopLevel ( void )
public UI\Control::hide ( void )
public bool UI\Control::isEnabled ( void )
public bool UI\Control::isVisible ( void )
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( void )
}

Eigenschaften

controls

Contains controls, should not be manipulated directly

Inhaltsverzeichnis

  • UI\Controls\Tab::append — Append Page
  • UI\Controls\Tab::delete — Delete Page
  • UI\Controls\Tab::hasMargin — Margin Detection
  • UI\Controls\Tab::insertAt — Insert Page
  • UI\Controls\Tab::pages — Page Count
  • UI\Controls\Tab::setMargin — Set Margin
UI\Executor::setInterval
UI\Controls\Tab::append
UI


Append Page

UI\Controls\Tab
UI\Controls\Tab::delete
UI\Controls\Tab
PHP Manual

UI\Controls\Tab::append

(PHP 7, UI 0.9.9)

UI\Controls\Tab::append — Append Page

Beschreibung

public integer UI\Controls\Tab::append ( string $name , UI\Control $control )

Append a new page to this Tab

Parameter-Liste

name

The name for the new page

control

The control for the new page

Rückgabewerte

Shall return the index of the appended control, may be 0

UI\Controls\Tab
UI\Controls\Tab::delete
UI\Controls\Tab


Delete Page

UI\Controls\Tab::append
UI\Controls\Tab::hasMargin
UI\Controls\Tab
PHP Manual

UI\Controls\Tab::delete

(PHP 7, UI 0.9.9)

UI\Controls\Tab::delete — Delete Page

Beschreibung

public boolean UI\Controls\Tab::delete ( integer $index )

Shall remove the selected page from this Tab

Parameter-Liste

index

The index of the page to remove

Rückgabewerte

Indication of success

UI\Controls\Tab::append
UI\Controls\Tab::hasMargin
UI\Controls\Tab


Margin Detection

UI\Controls\Tab::delete
UI\Controls\Tab::insertAt
UI\Controls\Tab
PHP Manual

UI\Controls\Tab::hasMargin

(PHP 7, UI 0.9.9)

UI\Controls\Tab::hasMargin — Margin Detection

Beschreibung

public bool UI\Controls\Tab::hasMargin ( integer $page )

Shall detect if the given page has a margin.

Parameter-Liste

page

The index of the page

Rückgabewerte

UI\Controls\Tab::delete
UI\Controls\Tab::insertAt
UI\Controls\Tab


Insert Page

UI\Controls\Tab::hasMargin
UI\Controls\Tab::pages
UI\Controls\Tab
PHP Manual

UI\Controls\Tab::insertAt

(PHP 7, UI 0.9.9)

UI\Controls\Tab::insertAt — Insert Page

Beschreibung

public UI\Controls\Tab::insertAt ( string $name , integer $page , UI\Control $control )

Shall insert a new page into this Tab

Parameter-Liste

name

The name for the new page

page

The index to perform the insertion before

control

The control for the new page

UI\Controls\Tab::hasMargin
UI\Controls\Tab::pages
UI\Controls\Tab


Page Count

UI\Controls\Tab::insertAt
UI\Controls\Tab::setMargin
UI\Controls\Tab
PHP Manual

UI\Controls\Tab::pages

(PHP 7, UI 0.9.9)

UI\Controls\Tab::pages — Page Count

Beschreibung

public integer UI\Controls\Tab::pages ( void )

Shall return the number of pages in this Tab

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The number of pages in this Tab

UI\Controls\Tab::insertAt
UI\Controls\Tab::setMargin
UI\Controls\Tab


Set Margin

UI\Controls\Tab::pages
UI\Controls\Check
UI\Controls\Tab
PHP Manual

UI\Controls\Tab::setMargin

(PHP 7, UI 0.9.9)

UI\Controls\Tab::setMargin — Set Margin

Beschreibung

public UI\Controls\Tab::setMargin ( integer $page , boolean $margin )

Shall enable or disable margins on the selected page

Parameter-Liste

page

The page to select

margin

Margin switch

UI\Controls\Tab::pages
UI\Controls\Check
UI\Controls\Tab


Check Control

(PHP 7, UI 0.9.9)

Einführung

A Check is a labelled checkable box

Klassenbeschreibung

UI\Controls\Check extends UI\Control {
/* Constructor */
public __construct ( string $text )
/* Methoden */
public string getText ( void )
public bool isChecked ( void )
protected onToggle ( void )
public setChecked ( boolean $checked )
public setText ( string $text )
/* Geerbte Methoden */
public UI\Control::destroy ( void )
public UI\Control::disable ( void )
public UI\Control::enable ( void )
public UI\Control UI\Control::getParent ( void )
public int UI\Control::getTopLevel ( void )
public UI\Control::hide ( void )
public bool UI\Control::isEnabled ( void )
public bool UI\Control::isVisible ( void )
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( void )
}

Inhaltsverzeichnis

  • UI\Controls\Check::__construct — Construct a new Check
  • UI\Controls\Check::getText — Get Text
  • UI\Controls\Check::isChecked — Checked Detection
  • UI\Controls\Check::onToggle — Toggle Callback
  • UI\Controls\Check::setChecked — Set Checked
  • UI\Controls\Check::setText — Set Text
UI\Controls\Tab::setMargin
UI\Controls\Check::__construct
UI


Construct a new Check

UI\Controls\Check
UI\Controls\Check::getText
UI\Controls\Check
PHP Manual

UI\Controls\Check::__construct

(PHP 7, UI 0.9.9)

UI\Controls\Check::__construct — Construct a new Check

Beschreibung

public UI\Controls\Check::__construct ( string $text )

Shall construct a new Check

Parameter-Liste

text

The text (label) for the Check box

UI\Controls\Check
UI\Controls\Check::getText
UI\Controls\Check


Get Text

UI\Controls\Check::__construct
UI\Controls\Check::isChecked
UI\Controls\Check
PHP Manual

UI\Controls\Check::getText

(PHP 7, UI 0.9.9)

UI\Controls\Check::getText — Get Text

Beschreibung

public string UI\Controls\Check::getText ( void )

Shall return the text (label) for this Check

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current text (label)

UI\Controls\Check::__construct
UI\Controls\Check::isChecked
UI\Controls\Check


Checked Detection

UI\Controls\Check::getText
UI\Controls\Check::onToggle
UI\Controls\Check
PHP Manual

UI\Controls\Check::isChecked

(PHP 7, UI 0.9.9)

UI\Controls\Check::isChecked — Checked Detection

Beschreibung

public bool UI\Controls\Check::isChecked ( void )

Shall detect the status of this Check

Parameter-Liste

Diese Funktion hat keine Parameter.

UI\Controls\Check::getText
UI\Controls\Check::onToggle
UI\Controls\Check


Toggle Callback

UI\Controls\Check::isChecked
UI\Controls\Check::setChecked
UI\Controls\Check
PHP Manual

UI\Controls\Check::onToggle

(PHP 7, UI 0.9.9)

UI\Controls\Check::onToggle — Toggle Callback

Beschreibung

protected UI\Controls\Check::onToggle ( void )

Shall be executed when the status of this Check is changed

Parameter-Liste

Diese Funktion hat keine Parameter.

UI\Controls\Check::isChecked
UI\Controls\Check::setChecked
UI\Controls\Check


Set Checked

UI\Controls\Check::onToggle
UI\Controls\Check::setText
UI\Controls\Check
PHP Manual

UI\Controls\Check::setChecked

(PHP 7, UI 0.9.9)

UI\Controls\Check::setChecked — Set Checked

Beschreibung

public UI\Controls\Check::setChecked ( boolean $checked )

Shall change the status of this Check

Parameter-Liste

checked

The new status

UI\Controls\Check::onToggle
UI\Controls\Check::setText
UI\Controls\Check


Set Text

UI\Controls\Check::setChecked
UI\Controls\Button
UI\Controls\Check
PHP Manual

UI\Controls\Check::setText

(PHP 7, UI 0.9.9)

UI\Controls\Check::setText — Set Text

Beschreibung

public UI\Controls\Check::setText ( string $text )

Shall set the text (label) for this Check

Parameter-Liste

text

The new text (label)

UI\Controls\Check::setChecked
UI\Controls\Button
UI\Controls\Check


Button Control

(PHP 7, UI 0.9.9)

Einführung

Represents a labelled clickable button

Klassenbeschreibung

UI\Controls\Button extends UI\Control {
/* Constructor */
public __construct ( string $text )
/* Methoden */
public string getText ( void )
protected onClick ( void )
public setText ( string $text )
/* Geerbte Methoden */
public UI\Control::destroy ( void )
public UI\Control::disable ( void )
public UI\Control::enable ( void )
public UI\Control UI\Control::getParent ( void )
public int UI\Control::getTopLevel ( void )
public UI\Control::hide ( void )
public bool UI\Control::isEnabled ( void )
public bool UI\Control::isVisible ( void )
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( void )
}

Inhaltsverzeichnis

  • UI\Controls\Button::__construct — Construct a new Button
  • UI\Controls\Button::getText — Get Text
  • UI\Controls\Button::onClick — Click Handler
  • UI\Controls\Button::setText — Set Text
UI\Controls\Check::setText
UI\Controls\Button::__construct
UI


Construct a new Button

UI\Controls\Button
UI\Controls\Button::getText
UI\Controls\Button
PHP Manual

UI\Controls\Button::__construct

(PHP 7, UI 0.9.9)

UI\Controls\Button::__construct — Construct a new Button

Beschreibung

public UI\Controls\Button::__construct ( string $text )

Shall construct a new Button

Parameter-Liste

text

The text (label) for this Button

UI\Controls\Button
UI\Controls\Button::getText
UI\Controls\Button


Get Text

UI\Controls\Button::__construct
UI\Controls\Button::onClick
UI\Controls\Button
PHP Manual

UI\Controls\Button::getText

(PHP 7, UI 0.9.9)

UI\Controls\Button::getText — Get Text

Beschreibung

public string UI\Controls\Button::getText ( void )

Shall retrieve the text (label) for this Button

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current text (label)

UI\Controls\Button::__construct
UI\Controls\Button::onClick
UI\Controls\Button


Click Handler

UI\Controls\Button::getText
UI\Controls\Button::setText
UI\Controls\Button
PHP Manual

UI\Controls\Button::onClick

(PHP 7, UI 0.9.9)

UI\Controls\Button::onClick — Click Handler

Beschreibung

protected UI\Controls\Button::onClick ( void )

Shall be executed when this Button is clicked

Parameter-Liste

Diese Funktion hat keine Parameter.

UI\Controls\Button::getText
UI\Controls\Button::setText
UI\Controls\Button


Set Text

UI\Controls\Button::onClick
UI\Controls\ColorButton
UI\Controls\Button
PHP Manual

UI\Controls\Button::setText

(PHP 7, UI 0.9.9)

UI\Controls\Button::setText — Set Text

Beschreibung

public UI\Controls\Button::setText ( string $text )

Shall set the text (label) for this Button

Parameter-Liste

text

The new text (label)

UI\Controls\Button::onClick
UI\Controls\ColorButton
UI\Controls\Button


ColorButton Control

(PHP 7, UI 0.9.9)

Einführung

A Color Button is a button which displays a color picker when clicked

Klassenbeschreibung

UI\Controls\ColorButton extends UI\Control {
/* Methoden */
public UI\Color getColor ( void )
protected onChange ( void )
public setColor ( UI\Draw\Color $color )
public setColor ( integer $color )
/* Geerbte Methoden */
public UI\Control::destroy ( void )
public UI\Control::disable ( void )
public UI\Control::enable ( void )
public UI\Control UI\Control::getParent ( void )
public int UI\Control::getTopLevel ( void )
public UI\Control::hide ( void )
public bool UI\Control::isEnabled ( void )
public bool UI\Control::isVisible ( void )
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( void )
}

Inhaltsverzeichnis

  • UI\Controls\ColorButton::getColor — Get Color
  • UI\Controls\ColorButton::onChange — Change Handler
  • UI\Controls\ColorButton::setColor — Set Color
UI\Controls\Button::setText
UI\Controls\ColorButton::getColor
UI


Get Color

UI\Controls\ColorButton
UI\Controls\ColorButton::onChange
UI\Controls\ColorButton
PHP Manual

UI\Controls\ColorButton::getColor

(PHP 7, UI 0.9.9)

UI\Controls\ColorButton::getColor — Get Color

Beschreibung

public UI\Color UI\Controls\ColorButton::getColor ( void )

Shall retrieve the currently selected Color

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UI\Controls\ColorButton
UI\Controls\ColorButton::onChange
UI\Controls\ColorButton


Change Handler

UI\Controls\ColorButton::getColor
UI\Controls\ColorButton::setColor
UI\Controls\ColorButton
PHP Manual

UI\Controls\ColorButton::onChange

(PHP 7, UI 0.9.9)

UI\Controls\ColorButton::onChange — Change Handler

Beschreibung

protected UI\Controls\ColorButton::onChange ( void )

Shall be executed when the selected Color is changed

Parameter-Liste

Diese Funktion hat keine Parameter.

UI\Controls\ColorButton::getColor
UI\Controls\ColorButton::setColor
UI\Controls\ColorButton


Set Color

UI\Controls\ColorButton::onChange
UI\Controls\Label
UI\Controls\ColorButton
PHP Manual

UI\Controls\ColorButton::setColor

(PHP 7, UI 0.9.9)

UI\Controls\ColorButton::setColor — Set Color

Beschreibung

public UI\Controls\ColorButton::setColor ( UI\Draw\Color $color )
public UI\Controls\ColorButton::setColor ( integer $color )

Shall set the currently selected Color

Parameter-Liste

color

The new color

UI\Controls\ColorButton::onChange
UI\Controls\Label
UI\Controls\ColorButton


Label Control

(PHP 7, UI 0.9.9)

Einführung

A Label is a single line of text, meant to identify, for the user, some element of the interface.

Klassenbeschreibung

UI\Controls\Label extends UI\Control {
/* Constructor */
public __construct ( string $text )
/* Methoden */
public string getText ( void )
public setText ( string $text )
/* Geerbte Methoden */
public UI\Control::destroy ( void )
public UI\Control::disable ( void )
public UI\Control::enable ( void )
public UI\Control UI\Control::getParent ( void )
public int UI\Control::getTopLevel ( void )
public UI\Control::hide ( void )
public bool UI\Control::isEnabled ( void )
public bool UI\Control::isVisible ( void )
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( void )
}

Inhaltsverzeichnis

  • UI\Controls\Label::__construct — Construct a new Label
  • UI\Controls\Label::getText — Get Text
  • UI\Controls\Label::setText — Set Text
UI\Controls\ColorButton::setColor
UI\Controls\Label::__construct
UI


Construct a new Label

UI\Controls\Label
UI\Controls\Label::getText
UI\Controls\Label
PHP Manual

UI\Controls\Label::__construct

(PHP 7, UI 0.9.9)

UI\Controls\Label::__construct — Construct a new Label

Beschreibung

public UI\Controls\Label::__construct ( string $text )

Shall construct a new Label

Parameter-Liste

text

The text for this label

UI\Controls\Label
UI\Controls\Label::getText
UI\Controls\Label


Get Text

UI\Controls\Label::__construct
UI\Controls\Label::setText
UI\Controls\Label
PHP Manual

UI\Controls\Label::getText

(PHP 7, UI 0.9.9)

UI\Controls\Label::getText — Get Text

Beschreibung

public string UI\Controls\Label::getText ( void )

Shall return the current text for this Label

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UI\Controls\Label::__construct
UI\Controls\Label::setText
UI\Controls\Label


Set Text

UI\Controls\Label::getText
UI\Controls\Entry
UI\Controls\Label
PHP Manual

UI\Controls\Label::setText

(PHP 7, UI 0.9.9)

UI\Controls\Label::setText — Set Text

Beschreibung

public UI\Controls\Label::setText ( string $text )

Shall set the text for this Label

Parameter-Liste

text

The new text

UI\Controls\Label::getText
UI\Controls\Entry
UI\Controls\Label


Entry Control

(PHP 7, UI 0.9.9)

Einführung

An Entry is a text entry control, suitable for entering plain text, passwords, or search terms.

Klassenbeschreibung

UI\Controls\Entry extends UI\Control {
/* Constants */
const integer Normal ;
const integer Password ;
const integer Search ;
/* Constructor */
public __construct ([ integer $type = UI\Controls\Entry::Normal ] )
/* Methoden */
public string getText ( void )
public bool isReadOnly ( void )
protected onChange ( void )
public setReadOnly ( boolean $readOnly )
public setText ( string $text )
/* Geerbte Methoden */
public UI\Control::destroy ( void )
public UI\Control::disable ( void )
public UI\Control::enable ( void )
public UI\Control UI\Control::getParent ( void )
public int UI\Control::getTopLevel ( void )
public UI\Control::hide ( void )
public bool UI\Control::isEnabled ( void )
public bool UI\Control::isVisible ( void )
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( void )
}

Vordefinierte Konstanten

UI\Controls\Entry::Normal

A normal single line entry

UI\Controls\Entry::Password

A password entry

UI\Controls\Entry::Search

A search entry

Inhaltsverzeichnis

  • UI\Controls\Entry::__construct — Construct a new Entry
  • UI\Controls\Entry::getText — Get Text
  • UI\Controls\Entry::isReadOnly — Detect Read Only
  • UI\Controls\Entry::onChange — Change Handler
  • UI\Controls\Entry::setReadOnly — Set Read Only
  • UI\Controls\Entry::setText — Set Text
UI\Controls\Label::setText
UI\Controls\Entry::__construct
UI


Construct a new Entry

UI\Controls\Entry
UI\Controls\Entry::getText
UI\Controls\Entry
PHP Manual

UI\Controls\Entry::__construct

(PHP 7, UI 0.9.9)

UI\Controls\Entry::__construct — Construct a new Entry

Beschreibung

public UI\Controls\Entry::__construct ([ integer $type = UI\Controls\Entry::Normal ] )

Construct a new entry of the given type

Parameter-Liste

type

Entry::Normal, Entry::Password, or Entry::Search

UI\Controls\Entry
UI\Controls\Entry::getText
UI\Controls\Entry


Get Text

UI\Controls\Entry::__construct
UI\Controls\Entry::isReadOnly
UI\Controls\Entry
PHP Manual

UI\Controls\Entry::getText

(PHP 7, UI 0.9.9)

UI\Controls\Entry::getText — Get Text

Beschreibung

public string UI\Controls\Entry::getText ( void )

Shall return the current text from this Entry

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current text

UI\Controls\Entry::__construct
UI\Controls\Entry::isReadOnly
UI\Controls\Entry


Detect Read Only

UI\Controls\Entry::getText
UI\Controls\Entry::onChange
UI\Controls\Entry
PHP Manual

UI\Controls\Entry::isReadOnly

(PHP 7, UI 0.9.9)

UI\Controls\Entry::isReadOnly — Detect Read Only

Beschreibung

public bool UI\Controls\Entry::isReadOnly ( void )

Shall detect if this Entry is read only

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UI\Controls\Entry::getText
UI\Controls\Entry::onChange
UI\Controls\Entry


Change Handler

UI\Controls\Entry::isReadOnly
UI\Controls\Entry::setReadOnly
UI\Controls\Entry
PHP Manual

UI\Controls\Entry::onChange

(PHP 7, UI 0.9.9)

UI\Controls\Entry::onChange — Change Handler

Beschreibung

protected UI\Controls\Entry::onChange ( void )

Shall be executed when the text in this Entry changes

Parameter-Liste

Diese Funktion hat keine Parameter.

UI\Controls\Entry::isReadOnly
UI\Controls\Entry::setReadOnly
UI\Controls\Entry


Set Read Only

UI\Controls\Entry::onChange
UI\Controls\Entry::setText
UI\Controls\Entry
PHP Manual

UI\Controls\Entry::setReadOnly

(PHP 7, UI 0.9.9)

UI\Controls\Entry::setReadOnly — Set Read Only

Beschreibung

public UI\Controls\Entry::setReadOnly ( boolean $readOnly )

Shall enable or disable read only for this Entry

Parameter-Liste

readOnly

UI\Controls\Entry::onChange
UI\Controls\Entry::setText
UI\Controls\Entry


Set Text

UI\Controls\Entry::setReadOnly
UI\Controls\MultilineEntry
UI\Controls\Entry
PHP Manual

UI\Controls\Entry::setText

(PHP 7, UI 0.9.9)

UI\Controls\Entry::setText — Set Text

Beschreibung

public UI\Controls\Entry::setText ( string $text )

Shall set the text for this Entry

Parameter-Liste

text

The new text

UI\Controls\Entry::setReadOnly
UI\Controls\MultilineEntry
UI\Controls\Entry


MultilineEntry Control

(PHP 7, UI 0.9.9)

Einführung

A Multiline Entry is a text entry control able to hold multiple lines of text, with or without wrapping.

Klassenbeschreibung

UI\Controls\MultilineEntry extends UI\Control {
/* Constants */
const integer Wrap ;
const integer NoWrap ;
/* Constructor */
public __construct ([ integer $type ] )
/* Methoden */
public append ( string $text )
public string getText ( void )
public bool isReadOnly ( void )
protected onChange ( void )
public setReadOnly ( boolean $readOnly )
public setText ( string $text )
/* Geerbte Methoden */
public UI\Control::destroy ( void )
public UI\Control::disable ( void )
public UI\Control::enable ( void )
public UI\Control UI\Control::getParent ( void )
public int UI\Control::getTopLevel ( void )
public UI\Control::hide ( void )
public bool UI\Control::isEnabled ( void )
public bool UI\Control::isVisible ( void )
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( void )
}

Vordefinierte Konstanten

UI\Controls\MultilineEntry::Wrap

Allow lines to wrap

UI\Controls\MultilineEntry::NoWrap

Do not allow lines to wrap

Inhaltsverzeichnis

  • UI\Controls\MultilineEntry::append — Append Text
  • UI\Controls\MultilineEntry::__construct — Construct a new Multiline Entry
  • UI\Controls\MultilineEntry::getText — Get Text
  • UI\Controls\MultilineEntry::isReadOnly — Read Only Detection
  • UI\Controls\MultilineEntry::onChange — Change Handler
  • UI\Controls\MultilineEntry::setReadOnly — Set Read Only
  • UI\Controls\MultilineEntry::setText — Set Text
UI\Controls\Entry::setText
UI\Controls\MultilineEntry::append
UI


Append Text

UI\Controls\MultilineEntry
UI\Controls\MultilineEntry::__construct
UI\Controls\MultilineEntry
PHP Manual

UI\Controls\MultilineEntry::append

(PHP 7, UI 0.9.9)

UI\Controls\MultilineEntry::append — Append Text

Beschreibung

public UI\Controls\MultilineEntry::append ( string $text )

Shall append the given text to the text in this Multiline Entry

Parameter-Liste

text

The text to append

UI\Controls\MultilineEntry
UI\Controls\MultilineEntry::__construct
UI\Controls\MultilineEntry


Construct a new Multiline Entry

UI\Controls\MultilineEntry::append
UI\Controls\MultilineEntry::getText
UI\Controls\MultilineEntry
PHP Manual

UI\Controls\MultilineEntry::__construct

(PHP 7, UI 0.9.9)

UI\Controls\MultilineEntry::__construct — Construct a new Multiline Entry

Beschreibung

public UI\Controls\MultilineEntry::__construct ([ integer $type ] )

Shall construct a new Multiline Entry of the given type

Parameter-Liste

type

MultilineEntry::Wrap or MultilineEntry::NoWrap

UI\Controls\MultilineEntry::append
UI\Controls\MultilineEntry::getText
UI\Controls\MultilineEntry


Get Text

UI\Controls\MultilineEntry::__construct
UI\Controls\MultilineEntry::isReadOnly
UI\Controls\MultilineEntry
PHP Manual

UI\Controls\MultilineEntry::getText

(PHP 7, UI 0.9.9)

UI\Controls\MultilineEntry::getText — Get Text

Beschreibung

public string UI\Controls\MultilineEntry::getText ( void )

Shall return the text in this Multiline Entry

Parameter-Liste

Diese Funktion hat keine Parameter.

UI\Controls\MultilineEntry::__construct
UI\Controls\MultilineEntry::isReadOnly
UI\Controls\MultilineEntry


Read Only Detection

UI\Controls\MultilineEntry::getText
UI\Controls\MultilineEntry::onChange
UI\Controls\MultilineEntry
PHP Manual

UI\Controls\MultilineEntry::isReadOnly

(PHP 7, UI 0.9.9)

UI\Controls\MultilineEntry::isReadOnly — Read Only Detection

Beschreibung

public bool UI\Controls\MultilineEntry::isReadOnly ( void )

Shall detect if this Multiline Entry is read only

Parameter-Liste

Diese Funktion hat keine Parameter.

UI\Controls\MultilineEntry::getText
UI\Controls\MultilineEntry::onChange
UI\Controls\MultilineEntry


Change Handler

UI\Controls\MultilineEntry::isReadOnly
UI\Controls\MultilineEntry::setReadOnly
UI\Controls\MultilineEntry
PHP Manual

UI\Controls\MultilineEntry::onChange

(PHP 7, UI 0.9.9)

UI\Controls\MultilineEntry::onChange — Change Handler

Beschreibung

protected UI\Controls\MultilineEntry::onChange ( void )

Shall be executed when the text in this Multiline Entry is changed

Parameter-Liste

Diese Funktion hat keine Parameter.

UI\Controls\MultilineEntry::isReadOnly
UI\Controls\MultilineEntry::setReadOnly
UI\Controls\MultilineEntry


Set Read Only

UI\Controls\MultilineEntry::onChange
UI\Controls\MultilineEntry::setText
UI\Controls\MultilineEntry
PHP Manual

UI\Controls\MultilineEntry::setReadOnly

(PHP 7, UI 0.9.9)

UI\Controls\MultilineEntry::setReadOnly — Set Read Only

Beschreibung

public UI\Controls\MultilineEntry::setReadOnly ( boolean $readOnly )

Shall enable or disable read only on this Multiline Entry

Parameter-Liste

readOnly

UI\Controls\MultilineEntry::onChange
UI\Controls\MultilineEntry::setText
UI\Controls\MultilineEntry


Set Text

UI\Controls\MultilineEntry::setReadOnly
UI\Controls\Spin
UI\Controls\MultilineEntry
PHP Manual

UI\Controls\MultilineEntry::setText

(PHP 7, UI 0.9.9)

UI\Controls\MultilineEntry::setText — Set Text

Beschreibung

public UI\Controls\MultilineEntry::setText ( string $text )

Shall set the text in this Multiline Entry

Parameter-Liste

text

The new text

UI\Controls\MultilineEntry::setReadOnly
UI\Controls\Spin
UI\Controls\MultilineEntry


Spin Control

(PHP 7, UI 0.9.9)

Einführung

A Spin box is a text box with an up-down control which changes the integer value in the box, within a defined range

Klassenbeschreibung

UI\Controls\Spin extends UI\Control {
/* Constructor */
public __construct ( integer $min , integer $max )
/* Methoden */
public int getValue ( void )
protected onChange ( void )
public setValue ( integer $value )
/* Geerbte Methoden */
public UI\Control::destroy ( void )
public UI\Control::disable ( void )
public UI\Control::enable ( void )
public UI\Control UI\Control::getParent ( void )
public int UI\Control::getTopLevel ( void )
public UI\Control::hide ( void )
public bool UI\Control::isEnabled ( void )
public bool UI\Control::isVisible ( void )
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( void )
}

Inhaltsverzeichnis

  • UI\Controls\Spin::__construct — Construct a new Spin
  • UI\Controls\Spin::getValue — Get Value
  • UI\Controls\Spin::onChange — Change Handler
  • UI\Controls\Spin::setValue — Set Value
UI\Controls\MultilineEntry::setText
UI\Controls\Spin::__construct
UI


Construct a new Spin

UI\Controls\Spin
UI\Controls\Spin::getValue
UI\Controls\Spin
PHP Manual

UI\Controls\Spin::__construct

(PHP 7, UI 0.9.9)

UI\Controls\Spin::__construct — Construct a new Spin

Beschreibung

public UI\Controls\Spin::__construct ( integer $min , integer $max )

Constructs a new Spin with the given range

Parameter-Liste

min

The minimum value allowed

max

The maximum value allowed

UI\Controls\Spin
UI\Controls\Spin::getValue
UI\Controls\Spin


Get Value

UI\Controls\Spin::__construct
UI\Controls\Spin::onChange
UI\Controls\Spin
PHP Manual

UI\Controls\Spin::getValue

(PHP 7, UI 0.9.9)

UI\Controls\Spin::getValue — Get Value

Beschreibung

public int UI\Controls\Spin::getValue ( void )

Get the value in this Spin

Parameter-Liste

Diese Funktion hat keine Parameter.

UI\Controls\Spin::__construct
UI\Controls\Spin::onChange
UI\Controls\Spin


Change Handler

UI\Controls\Spin::getValue
UI\Controls\Spin::setValue
UI\Controls\Spin
PHP Manual

UI\Controls\Spin::onChange

(PHP 7, UI 0.9.9)

UI\Controls\Spin::onChange — Change Handler

Beschreibung

protected UI\Controls\Spin::onChange ( void )

Shall be executed when the value in this Spin changes

Parameter-Liste

Diese Funktion hat keine Parameter.

UI\Controls\Spin::getValue
UI\Controls\Spin::setValue
UI\Controls\Spin


Set Value

UI\Controls\Spin::onChange
UI\Controls\Slider
UI\Controls\Spin
PHP Manual

UI\Controls\Spin::setValue

(PHP 7, UI 0.9.9)

UI\Controls\Spin::setValue — Set Value

Beschreibung

public UI\Controls\Spin::setValue ( integer $value )

Set the value in this Spin

Parameter-Liste

value

The new value

UI\Controls\Spin::onChange
UI\Controls\Slider
UI\Controls\Spin


Slider Control

(PHP 7, UI 0.9.9)

Einführung

A Slider is a control which represents a range, and a current value in the range. The sliding element of the control (sometimes called the "thumb") reflects the value, and can be adjusted within the range.

Klassenbeschreibung

UI\Controls\Slider extends UI\Control {
/* Constructor */
public __construct ( integer $min , integer $max )
/* Methoden */
public integer getValue ( void )
protected onChange ( void )
public setValue ( integer $value )
/* Geerbte Methoden */
public UI\Control::destroy ( void )
public UI\Control::disable ( void )
public UI\Control::enable ( void )
public UI\Control UI\Control::getParent ( void )
public int UI\Control::getTopLevel ( void )
public UI\Control::hide ( void )
public bool UI\Control::isEnabled ( void )
public bool UI\Control::isVisible ( void )
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( void )
}

Inhaltsverzeichnis

  • UI\Controls\Slider::__construct — Construct a new Slider
  • UI\Controls\Slider::getValue — Get Value
  • UI\Controls\Slider::onChange — Change Handler
  • UI\Controls\Slider::setValue — Set Value
UI\Controls\Spin::setValue
UI\Controls\Slider::__construct
UI


Construct a new Slider

UI\Controls\Slider
UI\Controls\Slider::getValue
UI\Controls\Slider
PHP Manual

UI\Controls\Slider::__construct

(PHP 7, UI 0.9.9)

UI\Controls\Slider::__construct — Construct a new Slider

Beschreibung

public UI\Controls\Slider::__construct ( integer $min , integer $max )

Construct a new Slider with the given range

Parameter-Liste

min

The minimum allowed value

max

The maximum allowed value

UI\Controls\Slider
UI\Controls\Slider::getValue
UI\Controls\Slider


Get Value

UI\Controls\Slider::__construct
UI\Controls\Slider::onChange
UI\Controls\Slider
PHP Manual

UI\Controls\Slider::getValue

(PHP 7, UI 0.9.9)

UI\Controls\Slider::getValue — Get Value

Beschreibung

public integer UI\Controls\Slider::getValue ( void )

Get the value from this Slider

Parameter-Liste

Diese Funktion hat keine Parameter.

UI\Controls\Slider::__construct
UI\Controls\Slider::onChange
UI\Controls\Slider


Change Handler

UI\Controls\Slider::getValue
UI\Controls\Slider::setValue
UI\Controls\Slider
PHP Manual

UI\Controls\Slider::onChange

(PHP 7, UI 0.9.9)

UI\Controls\Slider::onChange — Change Handler

Beschreibung

protected UI\Controls\Slider::onChange ( void )

Shall be executed when the value of this Slider changes

Parameter-Liste

Diese Funktion hat keine Parameter.

UI\Controls\Slider::getValue
UI\Controls\Slider::setValue
UI\Controls\Slider


Set Value

UI\Controls\Slider::onChange
UI\Controls\Progress
UI\Controls\Slider
PHP Manual

UI\Controls\Slider::setValue

(PHP 7, UI 0.9.9)

UI\Controls\Slider::setValue — Set Value

Beschreibung

public UI\Controls\Slider::setValue ( integer $value )

Shall set the value for this Slider

Parameter-Liste

value

The new value

UI\Controls\Slider::onChange
UI\Controls\Progress
UI\Controls\Slider


Progress Control

(PHP 7, UI 0.9.9)

Einführung

A Progress control is a familiar Progress bar: It represents progress as a percentage, with a possible range of 0 to 100 (inclusive).

Klassenbeschreibung

UI\Controls\Progress extends UI\Control {
/* Methoden */
public int getValue ( void )
public setValue ( integer $value )
/* Geerbte Methoden */
public UI\Control::destroy ( void )
public UI\Control::disable ( void )
public UI\Control::enable ( void )
public UI\Control UI\Control::getParent ( void )
public int UI\Control::getTopLevel ( void )
public UI\Control::hide ( void )
public bool UI\Control::isEnabled ( void )
public bool UI\Control::isVisible ( void )
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( void )
}

Inhaltsverzeichnis

  • UI\Controls\Progress::getValue — Get Value
  • UI\Controls\Progress::setValue — Set Value
UI\Controls\Slider::setValue
UI\Controls\Progress::getValue
UI


Get Value

UI\Controls\Progress
UI\Controls\Progress::setValue
UI\Controls\Progress
PHP Manual

UI\Controls\Progress::getValue

(PHP 7, UI 0.9.9)

UI\Controls\Progress::getValue — Get Value

Beschreibung

public int UI\Controls\Progress::getValue ( void )

Shall retrieve the current value of this Progress bar

Parameter-Liste

Diese Funktion hat keine Parameter.

UI\Controls\Progress
UI\Controls\Progress::setValue
UI\Controls\Progress


Set Value

UI\Controls\Progress::getValue
UI\Controls\Separator
UI\Controls\Progress
PHP Manual

UI\Controls\Progress::setValue

(PHP 7, UI 0.9.9)

UI\Controls\Progress::setValue — Set Value

Beschreibung

public UI\Controls\Progress::setValue ( integer $value )

Shall set the value for this Progress bar

Parameter-Liste

value

An integer between 0 and 100 (inclusive)

UI\Controls\Progress::getValue
UI\Controls\Separator
UI\Controls\Progress


Control Separator

(PHP 7, UI 0.9.9)

Einführung

A Separator represents a control separator, it has no other function.

Klassenbeschreibung

UI\Controls\Separator extends UI\Control {
/* Constants */
const integer Horizontal ;
const integer Vertical ;
/* Constructor */
public __construct ([ integer $type = UI\Controls\Separator::Horizontal ] )
/* Geerbte Methoden */
public UI\Control::destroy ( void )
public UI\Control::disable ( void )
public UI\Control::enable ( void )
public UI\Control UI\Control::getParent ( void )
public int UI\Control::getTopLevel ( void )
public UI\Control::hide ( void )
public bool UI\Control::isEnabled ( void )
public bool UI\Control::isVisible ( void )
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( void )
}

Vordefinierte Konstanten

UI\Controls\Separator::Horizontal

A Horizontal Separator

UI\Controls\Separator::Vertical

A Vertical Separator

Inhaltsverzeichnis

  • UI\Controls\Separator::__construct — Construct a new Separator
UI\Controls\Progress::setValue
UI\Controls\Separator::__construct
UI


Construct a new Separator

UI\Controls\Separator
UI\Controls\Combo
UI\Controls\Separator
PHP Manual

UI\Controls\Separator::__construct

(PHP 7, UI 0.9.9)

UI\Controls\Separator::__construct — Construct a new Separator

Beschreibung

public UI\Controls\Separator::__construct ([ integer $type = UI\Controls\Separator::Horizontal ] )

Shall construct a new Separator of the given type

Parameter-Liste

type

Separator::Horizonal or Separator::Vertical

UI\Controls\Separator
UI\Controls\Combo
UI\Controls\Separator


Combo Control

(PHP 7, UI 0.9.9)

Einführung

A Combo control represents a list of options, like the familiar select HTML element.

Klassenbeschreibung

UI\Controls\Combo extends UI\Control {
/* Methoden */
public append ( string $text )
public integer getSelected ( void )
protected onSelected ( void )
public setSelected ( integer $index )
/* Geerbte Methoden */
public UI\Control::destroy ( void )
public UI\Control::disable ( void )
public UI\Control::enable ( void )
public UI\Control UI\Control::getParent ( void )
public int UI\Control::getTopLevel ( void )
public UI\Control::hide ( void )
public bool UI\Control::isEnabled ( void )
public bool UI\Control::isVisible ( void )
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( void )
}

Inhaltsverzeichnis

  • UI\Controls\Combo::append — Append Option
  • UI\Controls\Combo::getSelected — Get Selected Option
  • UI\Controls\Combo::onSelected — Selected Handler
  • UI\Controls\Combo::setSelected — Set Selected Option
UI\Controls\Separator::__construct
UI\Controls\Combo::append
UI


Append Option

UI\Controls\Combo
UI\Controls\Combo::getSelected
UI\Controls\Combo
PHP Manual

UI\Controls\Combo::append

(PHP 7, UI 0.9.9)

UI\Controls\Combo::append — Append Option

Beschreibung

public UI\Controls\Combo::append ( string $text )

Append an option to this Combo

Parameter-Liste

text

The text for the new option

UI\Controls\Combo
UI\Controls\Combo::getSelected
UI\Controls\Combo


Get Selected Option

UI\Controls\Combo::append
UI\Controls\Combo::onSelected
UI\Controls\Combo
PHP Manual

UI\Controls\Combo::getSelected

(PHP 7, UI 0.9.9)

UI\Controls\Combo::getSelected — Get Selected Option

Beschreibung

public integer UI\Controls\Combo::getSelected ( void )

Shall retrieve the index of the option selected in this Combo

Parameter-Liste

Diese Funktion hat keine Parameter.

UI\Controls\Combo::append
UI\Controls\Combo::onSelected
UI\Controls\Combo


Selected Handler

UI\Controls\Combo::getSelected
UI\Controls\Combo::setSelected
UI\Controls\Combo
PHP Manual

UI\Controls\Combo::onSelected

(PHP 7, UI 0.9.9)

UI\Controls\Combo::onSelected — Selected Handler

Beschreibung

protected UI\Controls\Combo::onSelected ( void )

Shall be executed when an option is selected in this Combo

Parameter-Liste

Diese Funktion hat keine Parameter.

UI\Controls\Combo::getSelected
UI\Controls\Combo::setSelected
UI\Controls\Combo


Set Selected Option

UI\Controls\Combo::onSelected
UI\Controls\EditableCombo
UI\Controls\Combo
PHP Manual

UI\Controls\Combo::setSelected

(PHP 7, UI 0.9.9)

UI\Controls\Combo::setSelected — Set Selected Option

Beschreibung

public UI\Controls\Combo::setSelected ( integer $index )

Shall set the currently selected option in this Combo

Parameter-Liste

index

The index of the option to select

UI\Controls\Combo::onSelected
UI\Controls\EditableCombo
UI\Controls\Combo


EdiableCombo Control

(PHP 7, UI 0.9.9)

Einführung

An Editable Combo is a Combo which allows the user to enter custom options

Klassenbeschreibung

UI\Controls\EditableCombo extends UI\Control {
/* Methoden */
public append ( string $text )
public string getText ( void )
protected onChange ( void )
public setText ( string $text )
/* Geerbte Methoden */
public UI\Control::destroy ( void )
public UI\Control::disable ( void )
public UI\Control::enable ( void )
public UI\Control UI\Control::getParent ( void )
public int UI\Control::getTopLevel ( void )
public UI\Control::hide ( void )
public bool UI\Control::isEnabled ( void )
public bool UI\Control::isVisible ( void )
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( void )
}

Inhaltsverzeichnis

  • UI\Controls\EditableCombo::append — Append Option
  • UI\Controls\EditableCombo::getText — Get Text
  • UI\Controls\EditableCombo::onChange — Change Handler
  • UI\Controls\EditableCombo::setText — Set Text
UI\Controls\Combo::setSelected
UI\Controls\EditableCombo::append
UI


Append Option

UI\Controls\EditableCombo
UI\Controls\EditableCombo::getText
UI\Controls\EditableCombo
PHP Manual

UI\Controls\EditableCombo::append

(PHP 7, UI 0.9.9)

UI\Controls\EditableCombo::append — Append Option

Beschreibung

public UI\Controls\EditableCombo::append ( string $text )

Shall append a new option to this Editable Combo

Parameter-Liste

text

The text for the new option

UI\Controls\EditableCombo
UI\Controls\EditableCombo::getText
UI\Controls\EditableCombo


Get Text

UI\Controls\EditableCombo::append
UI\Controls\EditableCombo::onChange
UI\Controls\EditableCombo
PHP Manual

UI\Controls\EditableCombo::getText

(PHP 7, UI 0.9.9)

UI\Controls\EditableCombo::getText — Get Text

Beschreibung

public string UI\Controls\EditableCombo::getText ( void )

Get the value of the currently selected option in this Editable Combo

Parameter-Liste

Diese Funktion hat keine Parameter.

UI\Controls\EditableCombo::append
UI\Controls\EditableCombo::onChange
UI\Controls\EditableCombo


Change Handler

UI\Controls\EditableCombo::getText
UI\Controls\EditableCombo::setText
UI\Controls\EditableCombo
PHP Manual

UI\Controls\EditableCombo::onChange

(PHP 7, UI 0.9.9)

UI\Controls\EditableCombo::onChange — Change Handler

Beschreibung

protected UI\Controls\EditableCombo::onChange ( void )

Shall be executed when the value of this Editable Combobox changes

Parameter-Liste

Diese Funktion hat keine Parameter.

UI\Controls\EditableCombo::getText
UI\Controls\EditableCombo::setText
UI\Controls\EditableCombo


Set Text

UI\Controls\EditableCombo::onChange
UI\Controls\Radio
UI\Controls\EditableCombo
PHP Manual

UI\Controls\EditableCombo::setText

(PHP 7, UI 0.9.9)

UI\Controls\EditableCombo::setText — Set Text

Beschreibung

public UI\Controls\EditableCombo::setText ( string $text )

Shall set the text of the currently selected option in this Editable Combo

Parameter-Liste

text

The new text

UI\Controls\EditableCombo::onChange
UI\Controls\Radio
UI\Controls\EditableCombo


Radio Control

(PHP 7, UI 0.9.9)

Einführung

A Radio is similar to the radio input type familiar from HTML

Klassenbeschreibung

UI\Controls\Radio extends UI\Control {
/* Methoden */
public append ( string $text )
public integer getSelected ( void )
protected onSelected ( void )
public setSelected ( integer $index )
/* Geerbte Methoden */
public UI\Control::destroy ( void )
public UI\Control::disable ( void )
public UI\Control::enable ( void )
public UI\Control UI\Control::getParent ( void )
public int UI\Control::getTopLevel ( void )
public UI\Control::hide ( void )
public bool UI\Control::isEnabled ( void )
public bool UI\Control::isVisible ( void )
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( void )
}

Inhaltsverzeichnis

  • UI\Controls\Radio::append — Append Option
  • UI\Controls\Radio::getSelected — Get Selected Option
  • UI\Controls\Radio::onSelected — Selected Handler
  • UI\Controls\Radio::setSelected — Set Selected Option
UI\Controls\EditableCombo::setText
UI\Controls\Radio::append
UI


Append Option

UI\Controls\Radio
UI\Controls\Radio::getSelected
UI\Controls\Radio
PHP Manual

UI\Controls\Radio::append

(PHP 7, UI 0.9.9)

UI\Controls\Radio::append — Append Option

Beschreibung

public UI\Controls\Radio::append ( string $text )

Shall append a new option to this Radio

Parameter-Liste

text

The text (label) for the option

UI\Controls\Radio
UI\Controls\Radio::getSelected
UI\Controls\Radio


Get Selected Option

UI\Controls\Radio::append
UI\Controls\Radio::onSelected
UI\Controls\Radio
PHP Manual

UI\Controls\Radio::getSelected

(PHP 7, UI 0.9.9)

UI\Controls\Radio::getSelected — Get Selected Option

Beschreibung

public integer UI\Controls\Radio::getSelected ( void )

Shall retrieve the index of the currently selected option in this Radio

Parameter-Liste

Diese Funktion hat keine Parameter.

UI\Controls\Radio::append
UI\Controls\Radio::onSelected
UI\Controls\Radio


Selected Handler

UI\Controls\Radio::getSelected
UI\Controls\Radio::setSelected
UI\Controls\Radio
PHP Manual

UI\Controls\Radio::onSelected

(PHP 7, UI 0.9.9)

UI\Controls\Radio::onSelected — Selected Handler

Beschreibung

protected UI\Controls\Radio::onSelected ( void )

Shall be executed when the option selected in this Radio changes

Parameter-Liste

Diese Funktion hat keine Parameter.

UI\Controls\Radio::getSelected
UI\Controls\Radio::setSelected
UI\Controls\Radio


Set Selected Option

UI\Controls\Radio::onSelected
UI\Controls\Picker
UI\Controls\Radio
PHP Manual

UI\Controls\Radio::setSelected

(PHP 7, UI 0.9.9)

UI\Controls\Radio::setSelected — Set Selected Option

Beschreibung

public UI\Controls\Radio::setSelected ( integer $index )

Shall set the currently selected option in this Radio

Parameter-Liste

index

The index of the option to select

UI\Controls\Radio::onSelected
UI\Controls\Picker
UI\Controls\Radio


Picker Control

(PHP 7, UI 0.9.9)

Einführung

A Picker represents a button which when clicked presents a native Date/Time/DateTime Picker interface to the user.

Klassenbeschreibung

UI\Controls\Picker extends UI\Control {
/* Constants */
const integer Date ;
const integer Time ;
const integer DateTime ;
/* Constructor */
public __construct ([ integer $type = UI\Controls\Picker::Date ] )
/* Geerbte Methoden */
public UI\Control::destroy ( void )
public UI\Control::disable ( void )
public UI\Control::enable ( void )
public UI\Control UI\Control::getParent ( void )
public int UI\Control::getTopLevel ( void )
public UI\Control::hide ( void )
public bool UI\Control::isEnabled ( void )
public bool UI\Control::isVisible ( void )
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( void )
}

Vordefinierte Konstanten

UI\Controls\Picker::Date

A Date Picker

UI\Controls\Picker::Time

A Time Picker

UI\Controls\Picker::DateTime

A Date and Time Picker

Inhaltsverzeichnis

  • UI\Controls\Picker::__construct — Construct a new Picker
UI\Controls\Radio::setSelected
UI\Controls\Picker::__construct
UI


Construct a new Picker

UI\Controls\Picker
UI\Controls\Form
UI\Controls\Picker
PHP Manual

UI\Controls\Picker::__construct

(PHP 7, UI 0.9.9)

UI\Controls\Picker::__construct — Construct a new Picker

Beschreibung

public UI\Controls\Picker::__construct ([ integer $type = UI\Controls\Picker::Date ] )

Construct a new Picker of the given type

Parameter-Liste

type

Picker::Date, Picker::Time, or Picker::DateTime

UI\Controls\Picker
UI\Controls\Form
UI\Controls\Picker


Control Form (Arrangement)

(PHP 7, UI 0.9.9)

Einführung

A Form is a control which allows the arrangement of other controls into a familiar layout (the form).

Klassenbeschreibung

UI\Controls\Form extends UI\Control {
/* Eigenschaften */
protected $controls ;
/* Methoden */
public integer append ( string $label , UI\Control $control [, boolean $stretchy = false ] )
public boolean delete ( integer $index )
public bool isPadded ( void )
public setPadded ( boolean $padded )
/* Geerbte Methoden */
public UI\Control::destroy ( void )
public UI\Control::disable ( void )
public UI\Control::enable ( void )
public UI\Control UI\Control::getParent ( void )
public int UI\Control::getTopLevel ( void )
public UI\Control::hide ( void )
public bool UI\Control::isEnabled ( void )
public bool UI\Control::isVisible ( void )
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( void )
}

Eigenschaften

controls

Contains controls, should not be manipulated directly

Inhaltsverzeichnis

  • UI\Controls\Form::append — Append Control
  • UI\Controls\Form::delete — Delete Control
  • UI\Controls\Form::isPadded — Padding Detection
  • UI\Controls\Form::setPadded — Set Padding
UI\Controls\Picker::__construct
UI\Controls\Form::append
UI


Append Control

UI\Controls\Form
UI\Controls\Form::delete
UI\Controls\Form
PHP Manual

UI\Controls\Form::append

(PHP 7, UI 0.9.9)

UI\Controls\Form::append — Append Control

Beschreibung

public integer UI\Controls\Form::append ( string $label , UI\Control $control [, boolean $stretchy = false ] )

Shall append the control to the form, and set the label

Parameter-Liste

label

The text for the label

control

A control

stretchy

Should be set true to stretch the control

Rückgabewerte

Shall return the index of the appended control, may be 0

UI\Controls\Form
UI\Controls\Form::delete
UI\Controls\Form


Delete Control

UI\Controls\Form::append
UI\Controls\Form::isPadded
UI\Controls\Form
PHP Manual

UI\Controls\Form::delete

(PHP 7, UI 0.9.9)

UI\Controls\Form::delete — Delete Control

Beschreibung

public boolean UI\Controls\Form::delete ( integer $index )

Shall delete the control at the given index in this Form

Parameter-Liste

index

The index of the control to remove

Rückgabewerte

Indication of succcess

UI\Controls\Form::append
UI\Controls\Form::isPadded
UI\Controls\Form


Padding Detection

UI\Controls\Form::delete
UI\Controls\Form::setPadded
UI\Controls\Form
PHP Manual

UI\Controls\Form::isPadded

(PHP 7, UI 0.9.9)

UI\Controls\Form::isPadded — Padding Detection

Beschreibung

public bool UI\Controls\Form::isPadded ( void )

Shall detect if padding is enabled on this Form

Parameter-Liste

Diese Funktion hat keine Parameter.

UI\Controls\Form::delete
UI\Controls\Form::setPadded
UI\Controls\Form


Set Padding

UI\Controls\Form::isPadded
UI\Controls\Grid
UI\Controls\Form
PHP Manual

UI\Controls\Form::setPadded

(PHP 7, UI 0.9.9)

UI\Controls\Form::setPadded — Set Padding

Beschreibung

public UI\Controls\Form::setPadded ( boolean $padded )

Shall enable or disable padding on this Form

Parameter-Liste

padded

UI\Controls\Form::isPadded
UI\Controls\Grid
UI\Controls\Form


Control Grid (Arrangement)

(PHP 7, UI 0.9.9)

Einführung

A Grid is a control which is allows the arrangement of children into a grid

Klassenbeschreibung

UI\Controls\Grid extends UI\Control {
/* Constants */
const integer Fill ;
const integer Start ;
const integer Center ;
const integer End ;
const integer Leading ;
const integer Top ;
const integer Trailing ;
const integer Bottom ;
/* Eigenschaften */
protected $controls ;
/* Methoden */
public append ( UI\Control $control , integer $left , integer $top , integer $xspan , integer $yspan , boolean $hexpand , integer $halign , boolean $vexpand , integer $valign )
public bool isPadded ( void )
public setPadded ( boolean $padding )
/* Geerbte Methoden */
public UI\Control::destroy ( void )
public UI\Control::disable ( void )
public UI\Control::enable ( void )
public UI\Control UI\Control::getParent ( void )
public int UI\Control::getTopLevel ( void )
public UI\Control::hide ( void )
public bool UI\Control::isEnabled ( void )
public bool UI\Control::isVisible ( void )
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( void )
}

Vordefinierte Konstanten

UI\Controls\Grid::Fill

UI\Controls\Grid::Start

UI\Controls\Grid::Center

UI\Controls\Grid::End

UI\Controls\Grid::Leading

UI\Controls\Grid::Top

UI\Controls\Grid::Trailing

UI\Controls\Grid::Bottom

Eigenschaften

controls

Contains controls, should not be manipulated directly

Inhaltsverzeichnis

  • UI\Controls\Grid::append — Append Control
  • UI\Controls\Grid::isPadded — Padding Detection
  • UI\Controls\Grid::setPadded — Set Padding
UI\Controls\Form::setPadded
UI\Controls\Grid::append
UI


Append Control

UI\Controls\Grid
UI\Controls\Grid::isPadded
UI\Controls\Grid
PHP Manual

UI\Controls\Grid::append

(PHP 7, UI 0.9.9)

UI\Controls\Grid::append — Append Control

Beschreibung

public UI\Controls\Grid::append ( UI\Control $control , integer $left , integer $top , integer $xspan , integer $yspan , boolean $hexpand , integer $halign , boolean $vexpand , integer $valign )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

control

The Control to append

left

top

xspan

yspan

hexpand

halign

vexpand

valign

Rückgabewerte

UI\Controls\Grid
UI\Controls\Grid::isPadded
UI\Controls\Grid


Padding Detection

UI\Controls\Grid::append
UI\Controls\Grid::setPadded
UI\Controls\Grid
PHP Manual

UI\Controls\Grid::isPadded

(PHP 7, UI 0.9.9)

UI\Controls\Grid::isPadded — Padding Detection

Beschreibung

public bool UI\Controls\Grid::isPadded ( void )

Shall detect if padding is enabled on this Grid

Parameter-Liste

Diese Funktion hat keine Parameter.

UI\Controls\Grid::append
UI\Controls\Grid::setPadded
UI\Controls\Grid


Set Padding

UI\Controls\Grid::isPadded
UI\Controls\Group
UI\Controls\Grid
PHP Manual

UI\Controls\Grid::setPadded

(PHP 7, UI 0.9.9)

UI\Controls\Grid::setPadded — Set Padding

Beschreibung

public UI\Controls\Grid::setPadded ( boolean $padding )

Shall enable or disable padding for this Grid

Parameter-Liste

padding

UI\Controls\Grid::isPadded
UI\Controls\Group
UI\Controls\Grid


Control Group (Arrangement)

(PHP 7, UI 0.9.9)

Einführung

A Group is a titled container for child controls

Klassenbeschreibung

UI\Controls\Group extends UI\Control {
/* Eigenschaften */
protected $controls ;
/* Constructor */
public __construct ( string $title )
/* Methoden */
public append ( UI\Control $control )
public string getTitle ( void )
public bool hasMargin ( void )
public setMargin ( boolean $margin )
public setTitle ( string $title )
/* Geerbte Methoden */
public UI\Control::destroy ( void )
public UI\Control::disable ( void )
public UI\Control::enable ( void )
public UI\Control UI\Control::getParent ( void )
public int UI\Control::getTopLevel ( void )
public UI\Control::hide ( void )
public bool UI\Control::isEnabled ( void )
public bool UI\Control::isVisible ( void )
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( void )
}

Eigenschaften

controls

Contains controls, should not be manipulated directly

Inhaltsverzeichnis

  • UI\Controls\Group::append — Append Control
  • UI\Controls\Group::__construct — Construct a new Group
  • UI\Controls\Group::getTitle — Get Title
  • UI\Controls\Group::hasMargin — Margin Detection
  • UI\Controls\Group::setMargin — Set Margin
  • UI\Controls\Group::setTitle — Set Title
UI\Controls\Grid::setPadded
UI\Controls\Group::append
UI


Append Control

UI\Controls\Group
UI\Controls\Group::__construct
UI\Controls\Group
PHP Manual

UI\Controls\Group::append

(No version information available, might only be in Git)

UI\Controls\Group::append — Append Control

Beschreibung

public UI\Controls\Group::append ( UI\Control $control )

Shall append a control to this Group

Parameter-Liste

control

The control to append

UI\Controls\Group
UI\Controls\Group::__construct
UI\Controls\Group


Construct a new Group

UI\Controls\Group::append
UI\Controls\Group::getTitle
UI\Controls\Group
PHP Manual

UI\Controls\Group::__construct

(PHP 7, UI 0.9.9)

UI\Controls\Group::__construct — Construct a new Group

Beschreibung

public UI\Controls\Group::__construct ( string $title )

Shall construct a new Group with the given title

Parameter-Liste

title

The text for the title label

UI\Controls\Group::append
UI\Controls\Group::getTitle
UI\Controls\Group


Get Title

UI\Controls\Group::__construct
UI\Controls\Group::hasMargin
UI\Controls\Group
PHP Manual

UI\Controls\Group::getTitle

(PHP 7, UI 0.9.9)

UI\Controls\Group::getTitle — Get Title

Beschreibung

public string UI\Controls\Group::getTitle ( void )

Shall return the current title for this Group

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current title

UI\Controls\Group::__construct
UI\Controls\Group::hasMargin
UI\Controls\Group


Margin Detection

UI\Controls\Group::getTitle
UI\Controls\Group::setMargin
UI\Controls\Group
PHP Manual

UI\Controls\Group::hasMargin

(PHP 7, UI 0.9.9)

UI\Controls\Group::hasMargin — Margin Detection

Beschreibung

public bool UI\Controls\Group::hasMargin ( void )

Shall detect if this Group has a margin

Parameter-Liste

Diese Funktion hat keine Parameter.

UI\Controls\Group::getTitle
UI\Controls\Group::setMargin
UI\Controls\Group


Set Margin

UI\Controls\Group::hasMargin
UI\Controls\Group::setTitle
UI\Controls\Group
PHP Manual

UI\Controls\Group::setMargin

(PHP 7, UI 0.9.9)

UI\Controls\Group::setMargin — Set Margin

Beschreibung

public UI\Controls\Group::setMargin ( boolean $margin )

Shall enable or disable margins for this Group

Parameter-Liste

margin

UI\Controls\Group::hasMargin
UI\Controls\Group::setTitle
UI\Controls\Group


Set Title

UI\Controls\Group::setMargin
UI\Controls\Box
UI\Controls\Group
PHP Manual

UI\Controls\Group::setTitle

(PHP 7, UI 0.9.9)

UI\Controls\Group::setTitle — Set Title

Beschreibung

public UI\Controls\Group::setTitle ( string $title )

Shall set the title for this Group

Parameter-Liste

title

The text for the new title

UI\Controls\Group::setMargin
UI\Controls\Box
UI\Controls\Group


Control Box (Arrangement)

(PHP 7, UI 0.9.9)

Einführung

A Box allows the arrangement of other controls

Klassenbeschreibung

UI\Controls\Box extends UI\Control {
/* Constants */
const integer Vertical ;
const integer Horizontal ;
/* Eigenschaften */
protected $controls ;
/* Constructor */
public __construct ([ integer $orientation = UI\Controls\Box::Horizontal ] )
/* Methoden */
public integer append ( Control $control [, boolean $stretchy = false ] )
public boolean delete ( integer $index )
public integer getOrientation ( void )
public bool isPadded ( void )
public setPadded ( boolean $padded )
/* Geerbte Methoden */
public UI\Control::destroy ( void )
public UI\Control::disable ( void )
public UI\Control::enable ( void )
public UI\Control UI\Control::getParent ( void )
public int UI\Control::getTopLevel ( void )
public UI\Control::hide ( void )
public bool UI\Control::isEnabled ( void )
public bool UI\Control::isVisible ( void )
public UI\Control::setParent ( UI\Control $parent )
public UI\Control::show ( void )
}

Eigenschaften

controls

Contains controls, should not be manipulated directly

Vordefinierte Konstanten

UI\Controls\Box::Vertical

UI\Controls\Box::Horizontal

Inhaltsverzeichnis

  • UI\Controls\Box::append — Append Control
  • UI\Controls\Box::__construct — Construct a new Box
  • UI\Controls\Box::delete — Delete Control
  • UI\Controls\Box::getOrientation — Get Orientation
  • UI\Controls\Box::isPadded — Padding Detection
  • UI\Controls\Box::setPadded — Set Padding
UI\Controls\Group::setTitle
UI\Controls\Box::append
UI


Append Control

UI\Controls\Box
UI\Controls\Box::__construct
UI\Controls\Box
PHP Manual

UI\Controls\Box::append

(PHP 7, UI 0.9.9)

UI\Controls\Box::append — Append Control

Beschreibung

public integer UI\Controls\Box::append ( Control $control [, boolean $stretchy = false ] )

Shall append the given control to this Box

Parameter-Liste

control

The control to append

stretchy

Set true to stretch the control

Rückgabewerte

Shall return the index of the appended control, may be 0

UI\Controls\Box
UI\Controls\Box::__construct
UI\Controls\Box


Construct a new Box

UI\Controls\Box::append
UI\Controls\Box::delete
UI\Controls\Box
PHP Manual

UI\Controls\Box::__construct

(PHP 7, UI 0.9.9)

UI\Controls\Box::__construct — Construct a new Box

Beschreibung

public UI\Controls\Box::__construct ([ integer $orientation = UI\Controls\Box::Horizontal ] )

Shall construct a new box

Parameter-Liste

orientation

Box::Horizontal or Box::Vertical

UI\Controls\Box::append
UI\Controls\Box::delete
UI\Controls\Box


Delete Control

UI\Controls\Box::__construct
UI\Controls\Box::getOrientation
UI\Controls\Box
PHP Manual

UI\Controls\Box::delete

(PHP 7, UI 0.9.9)

UI\Controls\Box::delete — Delete Control

Beschreibung

public boolean UI\Controls\Box::delete ( integer $index )

Shall delete the control at the given index from this Box

Parameter-Liste

index

The index of the control to delete

Rückgabewerte

Indication of success

UI\Controls\Box::__construct
UI\Controls\Box::getOrientation
UI\Controls\Box


Get Orientation

UI\Controls\Box::delete
UI\Controls\Box::isPadded
UI\Controls\Box
PHP Manual

UI\Controls\Box::getOrientation

(PHP 7, UI 0.9.9)

UI\Controls\Box::getOrientation — Get Orientation

Beschreibung

public integer UI\Controls\Box::getOrientation ( void )

Shall retrieve the orientation of this Box

Parameter-Liste

Diese Funktion hat keine Parameter.

UI\Controls\Box::delete
UI\Controls\Box::isPadded
UI\Controls\Box


Padding Detection

UI\Controls\Box::getOrientation
UI\Controls\Box::setPadded
UI\Controls\Box
PHP Manual

UI\Controls\Box::isPadded

(PHP 7, UI 0.9.9)

UI\Controls\Box::isPadded — Padding Detection

Beschreibung

public bool UI\Controls\Box::isPadded ( void )

Shall detect if padding is enabled on this Box

Parameter-Liste

Diese Funktion hat keine Parameter.

UI\Controls\Box::getOrientation
UI\Controls\Box::setPadded
UI\Controls\Box


Set Padding

UI\Controls\Box::isPadded
UI\Draw\Pen
UI\Controls\Box
PHP Manual

UI\Controls\Box::setPadded

(PHP 7, UI 0.9.9)

UI\Controls\Box::setPadded — Set Padding

Beschreibung

public UI\Controls\Box::setPadded ( boolean $padded )

Shall enable or disable padding on this Box

Parameter-Liste

padded

UI\Controls\Box::isPadded
UI\Draw\Pen
UI\Controls\Box


Draw Pen

(PHP 7, UI 0.9.9)

Einführung

The Pen is passed to the Area Draw event handler, it is used for clipping, filling, stroking, and writing to Draw Paths.

Klassenbeschreibung

final UI\Draw\Pen {
/* Methoden */
public clip ( UI\Draw\Path $path )
public fill ( UI\Draw\Path $path , UI\Draw\Brush $with )
public fill ( UI\Draw\Path $path , UI\Draw\Color $with )
public fill ( UI\Draw\Path $path , integer $with )
public restore ( void )
public save ( void )
public stroke ( UI\Draw\Path $path , UI\Draw\Brush $with , UI\Draw\Stroke $stroke )
public stroke ( UI\Draw\Path $path , UI\Draw\Color $with , UI\Draw\Stroke $stroke )
public stroke ( UI\Draw\Path $path , integer $with , UI\Draw\Stroke $stroke )
public transform ( UI\Draw\Matrix $matrix )
public write ( UI\Point $point , UI\Draw\Text\Layout $layout )
}

Inhaltsverzeichnis

  • UI\Draw\Pen::clip — Clip a Path
  • UI\Draw\Pen::fill — Fill a Path
  • UI\Draw\Pen::restore — Restore
  • UI\Draw\Pen::save — Save
  • UI\Draw\Pen::stroke — Stroke a Path
  • UI\Draw\Pen::transform — Matrix Transform
  • UI\Draw\Pen::write — Draw Text at Point
UI\Controls\Box::setPadded
UI\Draw\Pen::clip
UI


Clip a Path

UI\Draw\Pen
UI\Draw\Pen::fill
UI\Draw\Pen
PHP Manual

UI\Draw\Pen::clip

(PHP 7, UI 0.9.9)

UI\Draw\Pen::clip — Clip a Path

Beschreibung

public UI\Draw\Pen::clip ( UI\Draw\Path $path )

Shall clip the given Path

Parameter-Liste

path

The path to clip

UI\Draw\Pen
UI\Draw\Pen::fill
UI\Draw\Pen


Fill a Path

UI\Draw\Pen::clip
UI\Draw\Pen::restore
UI\Draw\Pen
PHP Manual

UI\Draw\Pen::fill

(PHP 7, UI 0.9.9)

UI\Draw\Pen::fill — Fill a Path

Beschreibung

public UI\Draw\Pen::fill ( UI\Draw\Path $path , UI\Draw\Brush $with )
public UI\Draw\Pen::fill ( UI\Draw\Path $path , UI\Draw\Color $with )
public UI\Draw\Pen::fill ( UI\Draw\Path $path , integer $with )

Shall fill the given path

Parameter-Liste

path

The path to fill

with

The color or brush to fill with

UI\Draw\Pen::clip
UI\Draw\Pen::restore
UI\Draw\Pen


Restore

UI\Draw\Pen::fill
UI\Draw\Pen::save
UI\Draw\Pen
PHP Manual

UI\Draw\Pen::restore

(PHP 7, UI 0.9.9)

UI\Draw\Pen::restore — Restore

Beschreibung

public UI\Draw\Pen::restore ( void )

Shall restore a previously saved Pen

Parameter-Liste

Diese Funktion hat keine Parameter.

UI\Draw\Pen::fill
UI\Draw\Pen::save
UI\Draw\Pen


Save

UI\Draw\Pen::restore
UI\Draw\Pen::stroke
UI\Draw\Pen
PHP Manual

UI\Draw\Pen::save

(PHP 7, UI 0.9.9)

UI\Draw\Pen::save — Save

Beschreibung

public UI\Draw\Pen::save ( void )

Shall save the Pen

Parameter-Liste

Diese Funktion hat keine Parameter.

UI\Draw\Pen::restore
UI\Draw\Pen::stroke
UI\Draw\Pen


Stroke a Path

UI\Draw\Pen::save
UI\Draw\Pen::transform
UI\Draw\Pen
PHP Manual

UI\Draw\Pen::stroke

(PHP 7, UI 0.9.9)

UI\Draw\Pen::stroke — Stroke a Path

Beschreibung

public UI\Draw\Pen::stroke ( UI\Draw\Path $path , UI\Draw\Brush $with , UI\Draw\Stroke $stroke )
public UI\Draw\Pen::stroke ( UI\Draw\Path $path , UI\Draw\Color $with , UI\Draw\Stroke $stroke )
public UI\Draw\Pen::stroke ( UI\Draw\Path $path , integer $with , UI\Draw\Stroke $stroke )

Shall stroke the given path

Parameter-Liste

path

The path to stroke

with

The color or brush to stroke with

stroke

The configuration of the stroke

UI\Draw\Pen::save
UI\Draw\Pen::transform
UI\Draw\Pen


Matrix Transform

UI\Draw\Pen::stroke
UI\Draw\Pen::write
UI\Draw\Pen
PHP Manual

UI\Draw\Pen::transform

(PHP 7, UI 0.9.9)

UI\Draw\Pen::transform — Matrix Transform

Beschreibung

public UI\Draw\Pen::transform ( UI\Draw\Matrix $matrix )

Shall perform matrix transformation

Parameter-Liste

matrix

The matrix to use

UI\Draw\Pen::stroke
UI\Draw\Pen::write
UI\Draw\Pen


Draw Text at Point

UI\Draw\Pen::transform
UI\Draw\Path
UI\Draw\Pen
PHP Manual

UI\Draw\Pen::write

(PHP 7, UI 0.9.9)

UI\Draw\Pen::write — Draw Text at Point

Beschreibung

public UI\Draw\Pen::write ( UI\Point $point , UI\Draw\Text\Layout $layout )

Shall draw the given text layout at the given point

Parameter-Liste

point

The point to perform the drawing

layout

The layout of the text to draw

UI\Draw\Pen::transform
UI\Draw\Path
UI\Draw\Pen


Draw Path

(PHP 7, UI 0.9.9)

Einführung

A Draw Path guides a Draw Pen, telling the Pen where to draw on an Area.

Klassenbeschreibung

UI\Draw\Path {
/* Constants */
const integer Winding ;
const integer Alternate ;
/* Constructor */
public __construct ([ integer $mode = UI\Draw\Path::Winding ] )
/* Methoden */
public addRectangle ( UI\Point $point , UI\Size $size )
public arcTo ( UI\Point $point , float $radius , float $angle , float $sweep , float $negative )
public bezierTo ( UI\Point $point , float $radius , float $angle , float $sweep , float $negative )
public closeFigure ( void )
public end ( void )
public lineTo ( UI\Point $point , float $radius , float $angle , float $sweep , float $negative )
public newFigure ( UI\Point $point )
public newFigureWithArc ( UI\Point $point , float $radius , float $angle , float $sweep , float $negative )
}

Vordefinierte Konstanten

UI\Draw\Path::Winding

This is the default draw path mode

UI\Draw\Path::Alternate

This is the alternate draw path mode

Inhaltsverzeichnis

  • UI\Draw\Path::addRectangle — Draw a Rectangle
  • UI\Draw\Path::arcTo — Draw an Arc
  • UI\Draw\Path::bezierTo — Draw Bezier Curve
  • UI\Draw\Path::closeFigure — Close Figure
  • UI\Draw\Path::__construct — Construct a new Path
  • UI\Draw\Path::end — Finalize Path
  • UI\Draw\Path::lineTo — Draw a Line
  • UI\Draw\Path::newFigure — Draw Figure
  • UI\Draw\Path::newFigureWithArc — Draw Figure with Arc
UI\Draw\Pen::write
UI\Draw\Path::addRectangle
UI


Draw a Rectangle

UI\Draw\Path
UI\Draw\Path::arcTo
UI\Draw\Path
PHP Manual

UI\Draw\Path::addRectangle

(PHP 7, UI 0.9.9)

UI\Draw\Path::addRectangle — Draw a Rectangle

Beschreibung

public UI\Draw\Path::addRectangle ( UI\Point $point , UI\Size $size )

Shall map the path of a rectangle of the given size, at the given point

Parameter-Liste

point

The point to begin the shape

size

The size of the rectangle

UI\Draw\Path
UI\Draw\Path::arcTo
UI\Draw\Path


Draw an Arc

UI\Draw\Path::addRectangle
UI\Draw\Path::bezierTo
UI\Draw\Path
PHP Manual

UI\Draw\Path::arcTo

(PHP 7, UI 0.9.9)

UI\Draw\Path::arcTo — Draw an Arc

Beschreibung

public UI\Draw\Path::arcTo ( UI\Point $point , float $radius , float $angle , float $sweep , float $negative )

Shall map the path for an arc

Parameter-Liste

point

The point to begin mapping

radius

The radius of the arc

angle

The angle of the arc

sweep

The sweep of the arc

negative

Rückgabewerte

UI\Draw\Path::addRectangle
UI\Draw\Path::bezierTo
UI\Draw\Path


Draw Bezier Curve

UI\Draw\Path::arcTo
UI\Draw\Path::closeFigure
UI\Draw\Path
PHP Manual

UI\Draw\Path::bezierTo

(PHP 7, UI 0.9.9)

UI\Draw\Path::bezierTo — Draw Bezier Curve

Beschreibung

public UI\Draw\Path::bezierTo ( UI\Point $point , float $radius , float $angle , float $sweep , float $negative )

Shall draw a bezier curve

Parameter-Liste

point

The point at which to begin mapping

radius

The radius of the curve

angle

The angle of the curve

sweep

The sweep of the curve

negative

UI\Draw\Path::arcTo
UI\Draw\Path::closeFigure
UI\Draw\Path


Close Figure

UI\Draw\Path::bezierTo
UI\Draw\Path::__construct
UI\Draw\Path
PHP Manual

UI\Draw\Path::closeFigure

(PHP 7, UI 0.9.9)

UI\Draw\Path::closeFigure — Close Figure

Beschreibung

public UI\Draw\Path::closeFigure ( void )

Shall close the current figure

Parameter-Liste

Diese Funktion hat keine Parameter.

UI\Draw\Path::bezierTo
UI\Draw\Path::__construct
UI\Draw\Path


Construct a new Path

UI\Draw\Path::closeFigure
UI\Draw\Path::end
UI\Draw\Path
PHP Manual

UI\Draw\Path::__construct

(PHP 7, UI 0.9.9)

UI\Draw\Path::__construct — Construct a new Path

Beschreibung

public UI\Draw\Path::__construct ([ integer $mode = UI\Draw\Path::Winding ] )

Shall construct a new path in the given mode

Parameter-Liste

mode

Path::Winding or Path::Alternate

UI\Draw\Path::closeFigure
UI\Draw\Path::end
UI\Draw\Path


Finalize Path

UI\Draw\Path::__construct
UI\Draw\Path::lineTo
UI\Draw\Path
PHP Manual

UI\Draw\Path::end

(PHP 7, UI 0.9.9)

UI\Draw\Path::end — Finalize Path

Beschreibung

public UI\Draw\Path::end ( void )

Shall finalize this Path

Parameter-Liste

Diese Funktion hat keine Parameter.

UI\Draw\Path::__construct
UI\Draw\Path::lineTo
UI\Draw\Path


Draw a Line

UI\Draw\Path::end
UI\Draw\Path::newFigure
UI\Draw\Path
PHP Manual

UI\Draw\Path::lineTo

(PHP 7, UI 0.9.9)

UI\Draw\Path::lineTo — Draw a Line

Beschreibung

public UI\Draw\Path::lineTo ( UI\Point $point , float $radius , float $angle , float $sweep , float $negative )

Shall map the path for a line

Parameter-Liste

point

The point to begin mapping

radius

angle

sweep

negative

Rückgabewerte

UI\Draw\Path::end
UI\Draw\Path::newFigure
UI\Draw\Path


Draw Figure

UI\Draw\Path::lineTo
UI\Draw\Path::newFigureWithArc
UI\Draw\Path
PHP Manual

UI\Draw\Path::newFigure

(PHP 7, UI 0.9.9)

UI\Draw\Path::newFigure — Draw Figure

Beschreibung

public UI\Draw\Path::newFigure ( UI\Point $point )

Shall map a new figure at the given point

Parameter-Liste

point

The point to begin mapping

UI\Draw\Path::lineTo
UI\Draw\Path::newFigureWithArc
UI\Draw\Path


Draw Figure with Arc

UI\Draw\Path::newFigure
UI\Draw\Matrix
UI\Draw\Path
PHP Manual

UI\Draw\Path::newFigureWithArc

(PHP 7, UI 0.9.9)

UI\Draw\Path::newFigureWithArc — Draw Figure with Arc

Beschreibung

public UI\Draw\Path::newFigureWithArc ( UI\Point $point , float $radius , float $angle , float $sweep , float $negative )

Parameter-Liste

point

radius

angle

sweep

negative

Rückgabewerte

UI\Draw\Path::newFigure
UI\Draw\Matrix
UI\Draw\Path


Draw Matrix

(PHP 7, UI 0.9.9)

Einführung

Klassenbeschreibung

UI\Draw\Matrix {
/* Methoden */
public invert ( void )
public bool isInvertible ( void )
public UI\Draw\Matrix multiply ( UI\Draw\Matrix $matrix )
public rotate ( UI\Point $point , float $amount )
public scale ( UI\Point $center , UI\Point $point )
public skew ( UI\Point $point , UI\Point $amount )
public translate ( UI\Point $point )
}

Inhaltsverzeichnis

  • UI\Draw\Matrix::invert — Invert Matrix
  • UI\Draw\Matrix::isInvertible — Invertible Detection
  • UI\Draw\Matrix::multiply — Multiply Matrix
  • UI\Draw\Matrix::rotate — Rotate Matrix
  • UI\Draw\Matrix::scale — Scale Matrix
  • UI\Draw\Matrix::skew — Skew Matrix
  • UI\Draw\Matrix::translate — Translate Matrix
UI\Draw\Path::newFigureWithArc
UI\Draw\Matrix::invert
UI


Invert Matrix

UI\Draw\Matrix
UI\Draw\Matrix::isInvertible
UI\Draw\Matrix
PHP Manual

UI\Draw\Matrix::invert

(PHP 7, UI 0.9.9)

UI\Draw\Matrix::invert — Invert Matrix

Beschreibung

public UI\Draw\Matrix::invert ( void )

Shall invert this matrix

Parameter-Liste

Diese Funktion hat keine Parameter.

UI\Draw\Matrix
UI\Draw\Matrix::isInvertible
UI\Draw\Matrix


Invertible Detection

UI\Draw\Matrix::invert
UI\Draw\Matrix::multiply
UI\Draw\Matrix
PHP Manual

UI\Draw\Matrix::isInvertible

(PHP 7, UI 0.9.9)

UI\Draw\Matrix::isInvertible — Invertible Detection

Beschreibung

public bool UI\Draw\Matrix::isInvertible ( void )

Shall detect if this Matrix may be inverted

Parameter-Liste

Diese Funktion hat keine Parameter.

UI\Draw\Matrix::invert
UI\Draw\Matrix::multiply
UI\Draw\Matrix


Multiply Matrix

UI\Draw\Matrix::isInvertible
UI\Draw\Matrix::rotate
UI\Draw\Matrix
PHP Manual

UI\Draw\Matrix::multiply

(PHP 7, UI 0.9.9)

UI\Draw\Matrix::multiply — Multiply Matrix

Beschreibung

public UI\Draw\Matrix UI\Draw\Matrix::multiply ( UI\Draw\Matrix $matrix )

Shall multiply this matrix with the given matrix

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The new Matrix

UI\Draw\Matrix::isInvertible
UI\Draw\Matrix::rotate
UI\Draw\Matrix


Rotate Matrix

UI\Draw\Matrix::multiply
UI\Draw\Matrix::scale
UI\Draw\Matrix
PHP Manual

UI\Draw\Matrix::rotate

(PHP 7, UI 0.9.9)

UI\Draw\Matrix::rotate — Rotate Matrix

Beschreibung

public UI\Draw\Matrix::rotate ( UI\Point $point , float $amount )

Shall rotate this Matrix

Parameter-Liste

point

amount

UI\Draw\Matrix::multiply
UI\Draw\Matrix::scale
UI\Draw\Matrix


Scale Matrix

UI\Draw\Matrix::rotate
UI\Draw\Matrix::skew
UI\Draw\Matrix
PHP Manual

UI\Draw\Matrix::scale

(PHP 7, UI 0.9.9)

UI\Draw\Matrix::scale — Scale Matrix

Beschreibung

public UI\Draw\Matrix::scale ( UI\Point $center , UI\Point $point )

Shall scale this Matrix

Parameter-Liste

center

point

UI\Draw\Matrix::rotate
UI\Draw\Matrix::skew
UI\Draw\Matrix


Skew Matrix

UI\Draw\Matrix::scale
UI\Draw\Matrix::translate
UI\Draw\Matrix
PHP Manual

UI\Draw\Matrix::skew

(PHP 7, UI 0.9.9)

UI\Draw\Matrix::skew — Skew Matrix

Beschreibung

public UI\Draw\Matrix::skew ( UI\Point $point , UI\Point $amount )

Shall skew this Matrix

Parameter-Liste

point

amount

UI\Draw\Matrix::scale
UI\Draw\Matrix::translate
UI\Draw\Matrix


Translate Matrix

UI\Draw\Matrix::skew
UI\Draw\Color
UI\Draw\Matrix
PHP Manual

UI\Draw\Matrix::translate

(PHP 7, UI 0.9.9)

UI\Draw\Matrix::translate — Translate Matrix

Beschreibung

public UI\Draw\Matrix::translate ( UI\Point $point )

Shall translate this Matrix

Parameter-Liste

point

UI\Draw\Matrix::skew
UI\Draw\Color
UI\Draw\Matrix


Color Representation

(PHP 7, UI 0.9.9)

Einführung

Represents RGBA colours, individual channels are accessible via public properties.

Klassenbeschreibung

UI\Draw\Color {
/* Constants */
const integer Red ;
const integer Green ;
const integer Blue ;
const integer Alpha ;
/* Eigenschaften */
public $r ;
public $g ;
public $b ;
public $a ;
/* Constructor */
public __construct ([ UI\Draw\Color $color ] )
public __construct ([ integer $color ] )
/* Methoden */
public float getChannel ( integer $channel )
public void setChannel ( integer $channel , float $value )
}

Eigenschaften

r

Provides access to the red channel

g

Provides access to the green channel

b

Provides access to the blue channel

a

Provides access to the alpha channel

Vordefinierte Konstanten

UI\Draw\Color::Red

Identifies the red channel

UI\Draw\Color::Green

Identifies the green channel

UI\Draw\Color::Blue

Identifies the blue channel

UI\Draw\Color::Alpha

Identifies the alpha channel

Inhaltsverzeichnis

  • UI\Draw\Color::__construct — Construct new Color
  • UI\Draw\Color::getChannel — Color Manipulation
  • UI\Draw\Color::setChannel — Color Manipulation
UI\Draw\Matrix::translate
UI\Draw\Color::__construct
UI


Construct new Color

UI\Draw\Color
UI\Draw\Color::getChannel
UI\Draw\Color
PHP Manual

UI\Draw\Color::__construct

(PHP 7, UI 0.9.9)

UI\Draw\Color::__construct — Construct new Color

Beschreibung

public UI\Draw\Color::__construct ([ UI\Draw\Color $color ] )
public UI\Draw\Color::__construct ([ integer $color ] )

Shall construct a new color

Parameter-Liste

color

May be UI\Draw\Color or RRGGBBAA

UI\Draw\Color
UI\Draw\Color::getChannel
UI\Draw\Color


Color Manipulation

UI\Draw\Color::__construct
UI\Draw\Color::setChannel
UI\Draw\Color
PHP Manual

UI\Draw\Color::getChannel

(PHP 7, UI 0.9.9)

UI\Draw\Color::getChannel — Color Manipulation

Beschreibung

public float UI\Draw\Color::getChannel ( integer $channel )

Shall retrieve the value for a channel

Parameter-Liste

channel

Constant channel identity

Rückgabewerte

The current value of the requested channel

UI\Draw\Color::__construct
UI\Draw\Color::setChannel
UI\Draw\Color


Color Manipulation

UI\Draw\Color::getChannel
UI\Draw\Stroke
UI\Draw\Color
PHP Manual

UI\Draw\Color::setChannel

(PHP 7, UI 0.9.9)

UI\Draw\Color::setChannel — Color Manipulation

Beschreibung

public void UI\Draw\Color::setChannel ( integer $channel , float $value )

Shall set the selected channel to the given value

Parameter-Liste

channel

Constant channel identity

value

The new value for the selected channel

Rückgabewerte

UI\Draw\Color::getChannel
UI\Draw\Stroke
UI\Draw\Color


Draw Stroke

(PHP 7, UI 0.9.9)

Einführung

Holds the configuration for the Pen to perform a stroke

Klassenbeschreibung

UI\Draw\Stroke {
/* Constructor */
public __construct ([ integer $cap = UI\Draw\Line\Cap::Flat [, integer $join = UI\Draw\Line\Join::Miter [, float $thickness = 1 [, float $miterLimit = 10 ]]]] )
/* Methoden */
public integer getCap ( void )
public integer getJoin ( void )
public float getMiterLimit ( void )
public float getThickness ( void )
public setCap ( integer $cap )
public setJoin ( integer $join )
public setMiterLimit ( float $limit )
public setThickness ( float $thickness )
}

Inhaltsverzeichnis

  • UI\Draw\Stroke::__construct — Construct a new Stroke
  • UI\Draw\Stroke::getCap — Get Line Cap
  • UI\Draw\Stroke::getJoin — Get Line Join
  • UI\Draw\Stroke::getMiterLimit — Get Miter Limit
  • UI\Draw\Stroke::getThickness — Get Thickness
  • UI\Draw\Stroke::setCap — Set Line Cap
  • UI\Draw\Stroke::setJoin — Set Line Join
  • UI\Draw\Stroke::setMiterLimit — Set Miter Limit
  • UI\Draw\Stroke::setThickness — Set Thickness
UI\Draw\Color::setChannel
UI\Draw\Stroke::__construct
UI


Construct a new Stroke

UI\Draw\Stroke
UI\Draw\Stroke::getCap
UI\Draw\Stroke
PHP Manual

UI\Draw\Stroke::__construct

(PHP 7, UI 0.9.9)

UI\Draw\Stroke::__construct — Construct a new Stroke

Beschreibung

public UI\Draw\Stroke::__construct ([ integer $cap = UI\Draw\Line\Cap::Flat [, integer $join = UI\Draw\Line\Join::Miter [, float $thickness = 1 [, float $miterLimit = 10 ]]]] )

Shall construct a new Stroke

Parameter-Liste

cap

UI\Draw\Line\Cap::Flat, UI\Draw\Line\Cap::Round, or UI\Draw\Line\Cap::Square

join

UI\Draw\Line\Join::Miter, UI\Draw\Line\Join::Round, or UI\Draw\Line\Join::Bevel

thickness

The thickness of the stroke

miterLimit

Miter limit (default is sensible for all supported platforms)

UI\Draw\Stroke
UI\Draw\Stroke::getCap
UI\Draw\Stroke


Get Line Cap

UI\Draw\Stroke::__construct
UI\Draw\Stroke::getJoin
UI\Draw\Stroke
PHP Manual

UI\Draw\Stroke::getCap

(PHP 7, UI 0.9.9)

UI\Draw\Stroke::getCap — Get Line Cap

Beschreibung

public integer UI\Draw\Stroke::getCap ( void )

Shall retrieve the line cap setting of this Stroke

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UI\Draw\Line\Cap::Flat, UI\Draw\Line\Cap::Round, or UI\Draw\Line\Cap::Square

UI\Draw\Stroke::__construct
UI\Draw\Stroke::getJoin
UI\Draw\Stroke


Get Line Join

UI\Draw\Stroke::getCap
UI\Draw\Stroke::getMiterLimit
UI\Draw\Stroke
PHP Manual

UI\Draw\Stroke::getJoin

(PHP 7, UI 0.9.9)

UI\Draw\Stroke::getJoin — Get Line Join

Beschreibung

public integer UI\Draw\Stroke::getJoin ( void )

Shall retrieve the line join setting of this Stroke

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UI\Draw\Line\Join::Miter, UI\Draw\Line\Join::Round, or UI\Draw\Line\Join::Bevel

UI\Draw\Stroke::getCap
UI\Draw\Stroke::getMiterLimit
UI\Draw\Stroke


Get Miter Limit

UI\Draw\Stroke::getJoin
UI\Draw\Stroke::getThickness
UI\Draw\Stroke
PHP Manual

UI\Draw\Stroke::getMiterLimit

(PHP 7, UI 0.9.9)

UI\Draw\Stroke::getMiterLimit — Get Miter Limit

Beschreibung

public float UI\Draw\Stroke::getMiterLimit ( void )

Shall retrieve the miter limit of this Stroke

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current miter limit

UI\Draw\Stroke::getJoin
UI\Draw\Stroke::getThickness
UI\Draw\Stroke


Get Thickness

UI\Draw\Stroke::getMiterLimit
UI\Draw\Stroke::setCap
UI\Draw\Stroke
PHP Manual

UI\Draw\Stroke::getThickness

(PHP 7, UI 0.9.9)

UI\Draw\Stroke::getThickness — Get Thickness

Beschreibung

public float UI\Draw\Stroke::getThickness ( void )

Shall retrieve the thickness of this Stroke

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current thickness

UI\Draw\Stroke::getMiterLimit
UI\Draw\Stroke::setCap
UI\Draw\Stroke


Set Line Cap

UI\Draw\Stroke::getThickness
UI\Draw\Stroke::setJoin
UI\Draw\Stroke
PHP Manual

UI\Draw\Stroke::setCap

(PHP 7, UI 0.9.9)

UI\Draw\Stroke::setCap — Set Line Cap

Beschreibung

public UI\Draw\Stroke::setCap ( integer $cap )

Shall set the line cap setting for this Stroke

Parameter-Liste

cap

UI\Draw\Line\Cap::Flat, UI\Draw\Line\Cap::Round, or UI\Draw\Line\Cap::Square

UI\Draw\Stroke::getThickness
UI\Draw\Stroke::setJoin
UI\Draw\Stroke


Set Line Join

UI\Draw\Stroke::setCap
UI\Draw\Stroke::setMiterLimit
UI\Draw\Stroke
PHP Manual

UI\Draw\Stroke::setJoin

(PHP 7, UI 0.9.9)

UI\Draw\Stroke::setJoin — Set Line Join

Beschreibung

public UI\Draw\Stroke::setJoin ( integer $join )

Shall set the line join setting for this Stroke

Parameter-Liste

join

UI\Draw\Line\Join::Miter, UI\Draw\Line\Join::Round, or UI\Draw\Line\Join::Bevel

Rückgabewerte

UI\Draw\Stroke::setCap
UI\Draw\Stroke::setMiterLimit
UI\Draw\Stroke


Set Miter Limit

UI\Draw\Stroke::setJoin
UI\Draw\Stroke::setThickness
UI\Draw\Stroke
PHP Manual

UI\Draw\Stroke::setMiterLimit

(PHP 7, UI 0.9.9)

UI\Draw\Stroke::setMiterLimit — Set Miter Limit

Beschreibung

public UI\Draw\Stroke::setMiterLimit ( float $limit )

Set the miter limit for this Stroke

Parameter-Liste

limit

The new limit

UI\Draw\Stroke::setJoin
UI\Draw\Stroke::setThickness
UI\Draw\Stroke


Set Thickness

UI\Draw\Stroke::setMiterLimit
UI\Draw\Brush
UI\Draw\Stroke
PHP Manual

UI\Draw\Stroke::setThickness

(PHP 7, UI 0.9.9)

UI\Draw\Stroke::setThickness — Set Thickness

Beschreibung

public UI\Draw\Stroke::setThickness ( float $thickness )

Shall set the thickness for this Stroke

Parameter-Liste

thickness

The new thickness

UI\Draw\Stroke::setMiterLimit
UI\Draw\Brush
UI\Draw\Stroke


Brushes

(PHP 7, UI 0.9.9)

Einführung

Represents a solid color brush

Klassenbeschreibung

UI\Draw\Brush {
/* Constructor */
public __construct ( UI\Draw\Color $color )
public __construct ( integer $color )
/* Methoden */
public UI\Draw\Color getColor ( void )
public void setColor ( UI\Draw\Color $color )
public void setColor ( integer $color )
}

Inhaltsverzeichnis

  • UI\Draw\Brush::__construct — Construct a new Brush
  • UI\Draw\Brush::getColor — Get Color
  • UI\Draw\Brush::setColor — Set Color
UI\Draw\Stroke::setThickness
UI\Draw\Brush::__construct
UI


Construct a new Brush

UI\Draw\Brush
UI\Draw\Brush::getColor
UI\Draw\Brush
PHP Manual

UI\Draw\Brush::__construct

(PHP 7, UI 0.9.9)

UI\Draw\Brush::__construct — Construct a new Brush

Beschreibung

public UI\Draw\Brush::__construct ( UI\Draw\Color $color )
public UI\Draw\Brush::__construct ( integer $color )

Shall construct a solid brush using the given color

Parameter-Liste

color

Can be a UI\Draw\Color or RRGGBBAA

UI\Draw\Brush
UI\Draw\Brush::getColor
UI\Draw\Brush


Get Color

UI\Draw\Brush::__construct
UI\Draw\Brush::setColor
UI\Draw\Brush
PHP Manual

UI\Draw\Brush::getColor

(PHP 7, UI 0.9.9)

UI\Draw\Brush::getColor — Get Color

Beschreibung

public UI\Draw\Color UI\Draw\Brush::getColor ( void )

Shall return a UI\Draw\Color for this brush

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

The current color of the brush

UI\Draw\Brush::__construct
UI\Draw\Brush::setColor
UI\Draw\Brush


Set Color

UI\Draw\Brush::getColor
UI\Draw\Brush\Gradient
UI\Draw\Brush
PHP Manual

UI\Draw\Brush::setColor

(PHP 7, UI 0.9.9)

UI\Draw\Brush::setColor — Set Color

Beschreibung

public void UI\Draw\Brush::setColor ( UI\Draw\Color $color )
public void UI\Draw\Brush::setColor ( integer $color )

Shall set the color of this brush to the color provided

Parameter-Liste

color

Can be a UI\Draw\Color or RRGGBBAA

Rückgabewerte

UI\Draw\Brush::getColor
UI\Draw\Brush\Gradient
UI\Draw\Brush


Gradient Brushes

(PHP 7, UI 2.0.0)

Einführung

Abstract for gradient brushes

Klassenbeschreibung

abstract UI\Draw\Brush\Gradient extends UI\Draw\Brush {
/* Methoden */
public integer addStop ( float $position , UI\Draw\Color $color )
public integer addStop ( float $position , integer $color )
public integer delStop ( integer $index )
public boolean setStop ( integer $index , float $position , UI\Draw\Color $color )
public boolean setStop ( integer $index , float $position , integer $color )
/* Geerbte Methoden */
public UI\Draw\Color UI\Draw\Brush::getColor ( void )
public void UI\Draw\Brush::setColor ( UI\Draw\Color $color )
public void UI\Draw\Brush::setColor ( integer $color )
}

Inhaltsverzeichnis

  • UI\Draw\Brush\Gradient::addStop — Stop Manipulation
  • UI\Draw\Brush\Gradient::delStop — Stop Manipulation
  • UI\Draw\Brush\Gradient::setStop — Stop Manipulation
UI\Draw\Brush::setColor
UI\Draw\Brush\Gradient::addStop
UI


Stop Manipulation

UI\Draw\Brush\Gradient
UI\Draw\Brush\Gradient::delStop
UI\Draw\Brush\Gradient
PHP Manual

UI\Draw\Brush\Gradient::addStop

(PHP 7, UI 2.0.0)

UI\Draw\Brush\Gradient::addStop — Stop Manipulation

Beschreibung

public integer UI\Draw\Brush\Gradient::addStop ( float $position , UI\Draw\Color $color )
public integer UI\Draw\Brush\Gradient::addStop ( float $position , integer $color )

Shall at a stop of the given color at the given position

Parameter-Liste

position

The position for the new stop

color

The color for the new stop, may be UI\Draw\Color or RRGGBBAA

Rückgabewerte

Total number of stops

UI\Draw\Brush\Gradient
UI\Draw\Brush\Gradient::delStop
UI\Draw\Brush\Gradient


Stop Manipulation

UI\Draw\Brush\Gradient::addStop
UI\Draw\Brush\Gradient::setStop
UI\Draw\Brush\Gradient
PHP Manual

UI\Draw\Brush\Gradient::delStop

(PHP 7, UI 2.0.0)

UI\Draw\Brush\Gradient::delStop — Stop Manipulation

Beschreibung

public integer UI\Draw\Brush\Gradient::delStop ( integer $index )

Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

Parameter-Liste

index

Rückgabewerte

Total number of stops

UI\Draw\Brush\Gradient::addStop
UI\Draw\Brush\Gradient::setStop
UI\Draw\Brush\Gradient


Stop Manipulation

UI\Draw\Brush\Gradient::delStop
UI\Draw\Brush\LinearGradient
UI\Draw\Brush\Gradient
PHP Manual

UI\Draw\Brush\Gradient::setStop

(PHP 7, UI 2.0.0)

UI\Draw\Brush\Gradient::setStop — Stop Manipulation

Beschreibung

public boolean UI\Draw\Brush\Gradient::setStop ( integer $index , float $position , UI\Draw\Color $color )
public boolean UI\Draw\Brush\Gradient::setStop ( integer $index , float $position , integer $color )

Parameter-Liste

index

The index of the stop to set

position

The position for the stop

color

The color for the stop, may be UI\Draw\Color or RRGGBBAA

Rückgabewerte

Indication of success

UI\Draw\Brush\Gradient::delStop
UI\Draw\Brush\LinearGradient
UI\Draw\Brush\Gradient


Linear Gradient

(PHP 7, UI 2.0.0)

Einführung

Klassenbeschreibung

UI\Draw\Brush\LinearGradient extends UI\Draw\Brush\Gradient {
/* Constructor */
public __construct ( UI\Point $start , UI\Point $end )
/* Geerbte Methoden */
public integer UI\Draw\Brush\Gradient::addStop ( float $position , UI\Draw\Color $color )
public integer UI\Draw\Brush\Gradient::addStop ( float $position , integer $color )
public integer UI\Draw\Brush\Gradient::delStop ( integer $index )
public boolean UI\Draw\Brush\Gradient::setStop ( integer $index , float $position , UI\Draw\Color $color )
public boolean UI\Draw\Brush\Gradient::setStop ( integer $index , float $position , integer $color )
}

Inhaltsverzeichnis

  • UI\Draw\Brush\LinearGradient::__construct — Construct a Linear Gradient
UI\Draw\Brush\Gradient::setStop
UI\Draw\Brush\LinearGradient::__construct
UI


Construct a Linear Gradient

UI\Draw\Brush\LinearGradient
UI\Draw\Brush\RadialGradient
UI\Draw\Brush\LinearGradient
PHP Manual

UI\Draw\Brush\LinearGradient::__construct

(PHP 7, UI 2.0.0)

UI\Draw\Brush\LinearGradient::__construct — Construct a Linear Gradient

Beschreibung

public UI\Draw\Brush\LinearGradient::__construct ( UI\Point $start , UI\Point $end )

Shall construct a new linear gradient

Parameter-Liste

start

end

UI\Draw\Brush\LinearGradient
UI\Draw\Brush\RadialGradient
UI\Draw\Brush\LinearGradient


Radial Gradient

(PHP 7, UI 2.0.0)

Einführung

Klassenbeschreibung

UI\Draw\Brush\RadialGradient extends UI\Draw\Brush\Gradient {
/* Constructor */
public __construct ( UI\Point $start , UI\Point $outer , float $radius )
/* Geerbte Methoden */
public integer UI\Draw\Brush\Gradient::addStop ( float $position , UI\Draw\Color $color )
public integer UI\Draw\Brush\Gradient::addStop ( float $position , integer $color )
public integer UI\Draw\Brush\Gradient::delStop ( integer $index )
public boolean UI\Draw\Brush\Gradient::setStop ( integer $index , float $position , UI\Draw\Color $color )
public boolean UI\Draw\Brush\Gradient::setStop ( integer $index , float $position , integer $color )
}

Inhaltsverzeichnis

  • UI\Draw\Brush\RadialGradient::__construct — Construct a new Radial Gradient
UI\Draw\Brush\LinearGradient::__construct
UI\Draw\Brush\RadialGradient::__construct
UI


Construct a new Radial Gradient

UI\Draw\Brush\RadialGradient
UI\Draw\Text\Layout
UI\Draw\Brush\RadialGradient
PHP Manual

UI\Draw\Brush\RadialGradient::__construct

(PHP 7, UI 2.0.0)

UI\Draw\Brush\RadialGradient::__construct — Construct a new Radial Gradient

Beschreibung

public UI\Draw\Brush\RadialGradient::__construct ( UI\Point $start , UI\Point $outer , float $radius )

Shall construct a new radial gradient

Parameter-Liste

start

outer

radius

UI\Draw\Brush\RadialGradient
UI\Draw\Text\Layout
UI\Draw\Brush\RadialGradient


Represents Text Layout

(PHP 7, UI 0.9.9)

Einführung

A Text Layout represents the layout of text which will be drawn by the Pen

Klassenbeschreibung

UI\Draw\Text\Layout {
/* Constructor */
public __construct ( string $text , UI\Draw\Text\Font $font , float $width )
/* Methoden */
public setColor ( UI\Draw\Color $color [, integer $start = 0 [, integer $end ]] )
public setColor ( integer $color [, integer $start = 0 [, integer $end ]] )
public setWidth ( float $width )
}

Inhaltsverzeichnis

  • UI\Draw\Text\Layout::__construct — Construct a new Text Layout
  • UI\Draw\Text\Layout::setColor — Set Color
  • UI\Draw\Text\Layout::setWidth — Set Width
UI\Draw\Brush\RadialGradient::__construct
UI\Draw\Text\Layout::__construct
UI


Construct a new Text Layout

UI\Draw\Text\Layout
UI\Draw\Text\Layout::setColor
UI\Draw\Text\Layout
PHP Manual

UI\Draw\Text\Layout::__construct

(PHP 7, UI 0.9.9)

UI\Draw\Text\Layout::__construct — Construct a new Text Layout

Beschreibung

public UI\Draw\Text\Layout::__construct ( string $text , UI\Draw\Text\Font $font , float $width )

Shall construct a new Text Layout

Parameter-Liste

text

The text for the layout

font

The font to use for writing

width

The width of the layout

UI\Draw\Text\Layout
UI\Draw\Text\Layout::setColor
UI\Draw\Text\Layout


Set Color

UI\Draw\Text\Layout::__construct
UI\Draw\Text\Layout::setWidth
UI\Draw\Text\Layout
PHP Manual

UI\Draw\Text\Layout::setColor

(PHP 7, UI 0.9.9)

UI\Draw\Text\Layout::setColor — Set Color

Beschreibung

public UI\Draw\Text\Layout::setColor ( UI\Draw\Color $color [, integer $start = 0 [, integer $end ]] )
public UI\Draw\Text\Layout::setColor ( integer $color [, integer $start = 0 [, integer $end ]] )

Shall set the Color for all of, or a range of the text in the Layout

Parameter-Liste

color

The color to use

start

The starting character

end

The ending character, by default the end of the string

UI\Draw\Text\Layout::__construct
UI\Draw\Text\Layout::setWidth
UI\Draw\Text\Layout


Set Width

UI\Draw\Text\Layout::setColor
UI\Draw\Text\Font
UI\Draw\Text\Layout
PHP Manual

UI\Draw\Text\Layout::setWidth

(PHP 7, UI 0.9.9)

UI\Draw\Text\Layout::setWidth — Set Width

Beschreibung

public UI\Draw\Text\Layout::setWidth ( float $width )

Shall set the width of this Text Layout

Parameter-Liste

width

The new width

UI\Draw\Text\Layout::setColor
UI\Draw\Text\Font
UI\Draw\Text\Layout


Represents a Font

(PHP 7, UI 0.9.9)

Einführung

Loads a described font

Klassenbeschreibung

UI\Draw\Text\Font {
/* Constructor */
public __construct ( UI\Draw\Text\Font\Descriptor $descriptor )
/* Methoden */
public float getAscent ( void )
public float getDescent ( void )
public float getLeading ( void )
public float getUnderlinePosition ( void )
public float getUnderlineThickness ( void )
}

Inhaltsverzeichnis

  • UI\Draw\Text\Font::__construct — Construct a new Font
  • UI\Draw\Text\Font::getAscent — Font Metrics
  • UI\Draw\Text\Font::getDescent — Font Metrics
  • UI\Draw\Text\Font::getLeading — Font Metrics
  • UI\Draw\Text\Font::getUnderlinePosition — Font Metrics
  • UI\Draw\Text\Font::getUnderlineThickness — Font Metrics
UI\Draw\Text\Layout::setWidth
UI\Draw\Text\Font::__construct
UI


Construct a new Font

UI\Draw\Text\Font
UI\Draw\Text\Font::getAscent
UI\Draw\Text\Font
PHP Manual

UI\Draw\Text\Font::__construct

(PHP 7, UI 0.9.9)

UI\Draw\Text\Font::__construct — Construct a new Font

Beschreibung

public UI\Draw\Text\Font::__construct ( UI\Draw\Text\Font\Descriptor $descriptor )

Shall construct a new Font using the given descriptor

Parameter-Liste

descriptor

The descriptor for the Font

UI\Draw\Text\Font
UI\Draw\Text\Font::getAscent
UI\Draw\Text\Font


Font Metrics

UI\Draw\Text\Font::__construct
UI\Draw\Text\Font::getDescent
UI\Draw\Text\Font
PHP Manual

UI\Draw\Text\Font::getAscent

(PHP 7, UI 1.0.3)

UI\Draw\Text\Font::getAscent — Font Metrics

Beschreibung

public float UI\Draw\Text\Font::getAscent ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UI\Draw\Text\Font::__construct
UI\Draw\Text\Font::getDescent
UI\Draw\Text\Font


Font Metrics

UI\Draw\Text\Font::getAscent
UI\Draw\Text\Font::getLeading
UI\Draw\Text\Font
PHP Manual

UI\Draw\Text\Font::getDescent

(PHP 7, UI 1.0.3)

UI\Draw\Text\Font::getDescent — Font Metrics

Beschreibung

public float UI\Draw\Text\Font::getDescent ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UI\Draw\Text\Font::getAscent
UI\Draw\Text\Font::getLeading
UI\Draw\Text\Font


Font Metrics

UI\Draw\Text\Font::getDescent
UI\Draw\Text\Font::getUnderlinePosition
UI\Draw\Text\Font
PHP Manual

UI\Draw\Text\Font::getLeading

(PHP 7, UI 1.0.3)

UI\Draw\Text\Font::getLeading — Font Metrics

Beschreibung

public float UI\Draw\Text\Font::getLeading ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UI\Draw\Text\Font::getDescent
UI\Draw\Text\Font::getUnderlinePosition
UI\Draw\Text\Font


Font Metrics

UI\Draw\Text\Font::getLeading
UI\Draw\Text\Font::getUnderlineThickness
UI\Draw\Text\Font
PHP Manual

UI\Draw\Text\Font::getUnderlinePosition

(PHP 7, UI 1.0.3)

UI\Draw\Text\Font::getUnderlinePosition — Font Metrics

Beschreibung

public float UI\Draw\Text\Font::getUnderlinePosition ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UI\Draw\Text\Font::getLeading
UI\Draw\Text\Font::getUnderlineThickness
UI\Draw\Text\Font


Font Metrics

UI\Draw\Text\Font::getUnderlinePosition
UI\Draw\Text\Font\Descriptor
UI\Draw\Text\Font
PHP Manual

UI\Draw\Text\Font::getUnderlineThickness

(PHP 7, UI 1.0.3)

UI\Draw\Text\Font::getUnderlineThickness — Font Metrics

Beschreibung

public float UI\Draw\Text\Font::getUnderlineThickness ( void )

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UI\Draw\Text\Font::getUnderlinePosition
UI\Draw\Text\Font\Descriptor
UI\Draw\Text\Font


Font Descriptor

(PHP 7, UI 0.9.9)

Einführung

Describes a font

Klassenbeschreibung

UI\Draw\Text\Font\Descriptor {
/* Constructor */
public __construct ( string $family , float $size [, integer $weight = UI\Draw\Text\Font\Weight::Normal [, integer $italic = UI\Draw\Text\Font\Italic::Normal [, integer $stretch = UI\Draw\Text\Font\Stretch::Normal ]]] )
/* Methoden */
public string getFamily ( void )
public int getItalic ( void )
public float getSize ( void )
public int getStretch ( void )
public int getWeight ( void )
}

Inhaltsverzeichnis

  • UI\Draw\Text\Font\Descriptor::__construct — Construct a new Font Descriptor
  • UI\Draw\Text\Font\Descriptor::getFamily — Get Font Family
  • UI\Draw\Text\Font\Descriptor::getItalic — Style Detection
  • UI\Draw\Text\Font\Descriptor::getSize — Size Detection
  • UI\Draw\Text\Font\Descriptor::getStretch — Style Detection
  • UI\Draw\Text\Font\Descriptor::getWeight — Weight Detection
UI\Draw\Text\Font::getUnderlineThickness
UI\Draw\Text\Font\Descriptor::__construct
UI


Construct a new Font Descriptor

UI\Draw\Text\Font\Descriptor
UI\Draw\Text\Font\Descriptor::getFamily
UI\Draw\Text\Font\Descriptor
PHP Manual

UI\Draw\Text\Font\Descriptor::__construct

(PHP 7, UI 0.9.9)

UI\Draw\Text\Font\Descriptor::__construct — Construct a new Font Descriptor

Beschreibung

public UI\Draw\Text\Font\Descriptor::__construct ( string $family , float $size [, integer $weight = UI\Draw\Text\Font\Weight::Normal [, integer $italic = UI\Draw\Text\Font\Italic::Normal [, integer $stretch = UI\Draw\Text\Font\Stretch::Normal ]]] )

Shall construct a new Font Descriptor

Parameter-Liste

family

The name of a valid family of fonts

size

The preferred size

weight

UI\Draw\Text\Font\Weight constant

italic

UI\Draw\Text\Font\Italic constant

stretch

UI\Draw\Text\Font\Stretch constant

UI\Draw\Text\Font\Descriptor
UI\Draw\Text\Font\Descriptor::getFamily
UI\Draw\Text\Font\Descriptor


Get Font Family

UI\Draw\Text\Font\Descriptor::__construct
UI\Draw\Text\Font\Descriptor::getItalic
UI\Draw\Text\Font\Descriptor
PHP Manual

UI\Draw\Text\Font\Descriptor::getFamily

(PHP 7, UI 1.0.3)

UI\Draw\Text\Font\Descriptor::getFamily — Get Font Family

Beschreibung

public string UI\Draw\Text\Font\Descriptor::getFamily ( void )

Shall return the requested font family

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UI\Draw\Text\Font\Descriptor::__construct
UI\Draw\Text\Font\Descriptor::getItalic
UI\Draw\Text\Font\Descriptor


Style Detection

UI\Draw\Text\Font\Descriptor::getFamily
UI\Draw\Text\Font\Descriptor::getSize
UI\Draw\Text\Font\Descriptor
PHP Manual

UI\Draw\Text\Font\Descriptor::getItalic

(PHP 7, UI 1.0.3)

UI\Draw\Text\Font\Descriptor::getItalic — Style Detection

Beschreibung

public int UI\Draw\Text\Font\Descriptor::getItalic ( void )

Shall return constant setting

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UI\Draw\Text\Font\Descriptor::getFamily
UI\Draw\Text\Font\Descriptor::getSize
UI\Draw\Text\Font\Descriptor


Size Detection

UI\Draw\Text\Font\Descriptor::getItalic
UI\Draw\Text\Font\Descriptor::getStretch
UI\Draw\Text\Font\Descriptor
PHP Manual

UI\Draw\Text\Font\Descriptor::getSize

(PHP 7, UI 1.0.3)

UI\Draw\Text\Font\Descriptor::getSize — Size Detection

Beschreibung

public float UI\Draw\Text\Font\Descriptor::getSize ( void )

Shall return the requested size

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UI\Draw\Text\Font\Descriptor::getItalic
UI\Draw\Text\Font\Descriptor::getStretch
UI\Draw\Text\Font\Descriptor


Style Detection

UI\Draw\Text\Font\Descriptor::getSize
UI\Draw\Text\Font\Descriptor::getWeight
UI\Draw\Text\Font\Descriptor
PHP Manual

UI\Draw\Text\Font\Descriptor::getStretch

(PHP 7, UI 1.0.3)

UI\Draw\Text\Font\Descriptor::getStretch — Style Detection

Beschreibung

public int UI\Draw\Text\Font\Descriptor::getStretch ( void )

Shall return requested stretch

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UI\Draw\Text\Font\Descriptor::getSize
UI\Draw\Text\Font\Descriptor::getWeight
UI\Draw\Text\Font\Descriptor


Weight Detection

UI\Draw\Text\Font\Descriptor::getStretch
UI Funktionen
UI\Draw\Text\Font\Descriptor
PHP Manual

UI\Draw\Text\Font\Descriptor::getWeight

(PHP 7, UI 1.0.3)

UI\Draw\Text\Font\Descriptor::getWeight — Weight Detection

Beschreibung

public int UI\Draw\Text\Font\Descriptor::getWeight ( void )

Shall return requested weight

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UI\Draw\Text\Font\Descriptor::getStretch
UI Funktionen
UI\Draw\Text\Font\Descriptor


UI Funktionen

Inhaltsverzeichnis

  • UI\Draw\Text\Font\fontFamilies — Retrieve Font Families
  • UI\quit — Quit UI Loop
  • UI\run — Enter UI Loop
UI\Draw\Text\Font\Descriptor::getWeight
UI\Draw\Text\Font\fontFamilies
UI


Retrieve Font Families

UI Funktionen
UI\quit
UI Funktionen
PHP Manual

UI\Draw\Text\Font\fontFamilies

(PHP 7, UI 0.9.9)

UI\Draw\Text\Font\fontFamilies — Retrieve Font Families

Beschreibung

array UI\Draw\Text\Font\fontFamilies ( void )

Returns an array of valid font families for the current system

Parameter-Liste

Diese Funktion hat keine Parameter.

UI Funktionen
UI\quit
UI Funktionen


Quit UI Loop

UI\Draw\Text\Font\fontFamilies
UI\run
UI Funktionen
PHP Manual

UI\quit

(PHP 7, UI 2.0.0)

UI\quit — Quit UI Loop

Beschreibung

void UI\quit ( void )

Shall cause the main loop to be exited

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

UI\Draw\Text\Font\fontFamilies
UI\run
UI Funktionen


Enter UI Loop

UI\quit
UI\Draw\Text\Font\Weight
UI Funktionen
PHP Manual

UI\run

(PHP 7, UI 2.0.0)

UI\run — Enter UI Loop

Beschreibung

void UI\run ([ integer $flags ] )

Shall cause PHP to enter into the main loop, by default control will not be returned to the caller

Parameter-Liste

flags

Set UI\Loop to return control, and UI\Wait to return control after waiting

Rückgabewerte

UI\quit
UI\Draw\Text\Font\Weight
UI Funktionen


Font Weight Settings

(PHP 7, UI 0.9.9)

Einführung

Klassenbeschreibung

final UI\Draw\Text\Font\Weight {
/* Constants */
const integer Thin ;
const integer UltraLight ;
const integer Light ;
const integer Book ;
const integer Normal ;
const integer Medium ;
const integer SemiBold ;
const integer Bold ;
const integer UltraBold ;
const integer Heavy ;
const integer UltraHeavy ;
}
UI\run
UI\Draw\Text\Font\Italic
UI


Italic Font Settings

(PHP 7, UI 0.9.9)

Einführung

Klassenbeschreibung

final UI\Draw\Text\Font\Italic {
/* Constants */
const integer Normal = 0 ;
const integer Oblique = 1 ;
const integer Italic = 2 ;
}
UI\Draw\Text\Font\Weight
UI\Draw\Text\Font\Stretch
UI


Font Stretch Settings

(PHP 7, UI 0.9.9)

Einführung

Klassenbeschreibung

final UI\Draw\Text\Font\Stretch {
/* Constants */
const integer UltraCondensed = 0 ;
const integer ExtraCondensed = 1 ;
const integer Condensed = 2 ;
const integer SemiCondensed = 3 ;
const integer Normal = 4 ;
const integer SemiExpanded = 5 ;
const integer Expanded = 6 ;
const integer ExtraExpanded = 7 ;
const integer UltraExpanded = 8 ;
}
UI\Draw\Text\Font\Italic
UI\Draw\Line\Cap
UI


Line Cap Settings

(PHP 7, UI 0.9.9)

Einführung

Klassenbeschreibung

final UI\Draw\Line\Cap {
/* Constants */
const integer Flat ;
const integer Round ;
const integer Square ;
}
UI\Draw\Text\Font\Stretch
UI\Draw\Line\Join
UI


Line Join Settings

(PHP 7, UI 0.9.9)

Einführung

Klassenbeschreibung

final UI\Draw\Line\Join {
/* Constants */
const integer Miter ;
const integer Round ;
const integer Bevel ;
}
UI\Draw\Line\Cap
UI\Key
UI


Key Identifiers

(PHP 7, UI 1.0.0)

Einführung

Klassenbeschreibung

final UI\Key {
/* Constants */
const integer Escape ;
const integer Insert ;
const integer Delete ;
const integer Home ;
const integer End ;
const integer PageUp ;
const integer PageDown ;
const integer Up ;
const integer Down ;
const integer Left ;
const integer Right ;
const integer F1 ;
const integer F2 ;
const integer F3 ;
const integer F4 ;
const integer F5 ;
const integer F6 ;
const integer F7 ;
const integer F8 ;
const integer F9 ;
const integer F10 ;
const integer F11 ;
const integer F12 ;
const integer N0 ;
const integer N1 ;
const integer N2 ;
const integer N3 ;
const integer N4 ;
const integer N5 ;
const integer N6 ;
const integer N7 ;
const integer N8 ;
const integer N9 ;
const integer NDot ;
const integer NEnter ;
const integer NAdd ;
const integer NSubtract ;
const integer NMultiply ;
const integer NDivide ;
}
UI\Draw\Line\Join
UI\Exception\InvalidArgumentException
UI


InvalidArgumentException

(PHP 7, UI 1.0.3)

Einführung

Klassenbeschreibung

UI\Exception\InvalidArgumentException extends InvalidArgumentException implements Throwable {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
UI\Key
UI\Exception\RuntimeException
UI


RuntimeException

(PHP 7, UI 1.0.3)

Einführung

Klassenbeschreibung

UI\Exception\RuntimeException extends RuntimeException implements Throwable {
/* Geerbte Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Geerbte Methoden */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
UI\Exception\InvalidArgumentException
PHP im Kern: Das Entwicklerhandbuch für die Zend Engine
UI


PHP im Kern: Das Entwicklerhandbuch für die Zend Engine

  • Preface
  • Memory management
    • Basic memory management
    • Data persistence
    • Thread-Safe Resource Manager
  • Working with Variables
    • Introduction to Variables
    • Working with Arrays
    • Working with HashTable
    • Working with Objects
  • Writing Functions
  • Writing Classes
  • Working with Resources
  • Working with INI settings
  • Working with streams
  • The "counter" Extension - A Continuing Example
    • Installation/Konfiguration
    • Vordefinierte Konstanten
    • Beispiele
    • Counter — The Counter class
    • Basic — The basic interface
    • Extended — The extended interface
  • The PHP 5 build system
    • Building PHP for extension development
    • The ext_skel script
    • Talking to the UNIX build system: config.m4
    • Talking to the Windows build system: config.w32
  • Extension structure
    • Files which make up an extension
    • Basic constructs
    • The zend_module structure
    • Extension globals
    • Life cycle of an extension
    • Testing an extension
  • PDO Driver How-To
    • Prerequisites
    • Preparation and Housekeeping
    • Fleshing out your skeleton
    • Building
    • Testing
    • Packaging and distribution
    • pdo_dbh_t definition
    • pdo_stmt_t definition
    • Constants
    • Error handling
  • Extension FAQs
  • Zend Engine 2 API reference
  • Zend Engine 2 Opcodes
    • Opcode Descriptions and Examples
  • Zend Engine 1
    • Old introduction
    • Streams API for PHP Extension Authors
    • Zend API: Hacking the Core of PHP
    • TSRM API
UI\Exception\RuntimeException
Preface
PHP-Handbuch


Preface

This section of the manual is written for the Hacker: someone thinking about getting their hands dirty, someone who wants an understanding of internals in order to advance their PHP skills, or maybe someone looking to write the next best extension. Whatever the reason, this section will seek to provide a good understanding of the internals of PHP, how to write extensions, how to understand existing code containing mystical macros. All of the important internal functionality is documented here, enough anyway to convince you to read the source.

Out of necessity, this section assumes the reader has a working knowledge of the C programming language, and associated tools, like compilers and terminal emulators and the like. You don't need to be the next Alan Turing, but a working knowledge is none the less essential for this section to be of any use. With just that working knowledge, this section should be enough to get you well on the way to earning the title Hacker, and you do have to earn it.

The documentation in this section is current as of PHP 5.3.3, deviations in API functionality are duly noted in the appropriate sections.

Warnung

This documentation is still under development. The original Zend documentation is preserved in its entirety in the Zend Engine 1 section for those who need it before this documentation is completed.

PHP im Kern: Das Entwicklerhandbuch für die Zend Engine
Memory management
PHP im Kern: Das Entwicklerhandbuch für die Zend Engine


Memory management

Inhaltsverzeichnis

  • Basic memory management
  • Data persistence
  • Thread-Safe Resource Manager

Memory management in the Zend Engine is deceptively simple. There are some APIs to learn, and some concepts behind them to understand, but that's about all.

Preface
Basic memory management
PHP im Kern: Das Entwicklerhandbuch für die Zend Engine


Basic memory management

The engine's memory management is implemented with features important to a system like PHP. The exact functionality of the engine's memory management and the optimizations performed are out of the scope of this document. However, a good understanding of its functionality provides a basis for a good understanding of the rest of the Hacker's Guide, and introduce you to terminology and functionality used throughout PHP.

The most important of its features for the Hacker, and the first thing to mention is tracking allocations. Tracking allocations allow the memory manager to avoid leaks, a thorn in the side of most Hackers. When PHP is built in debug mode (--enable-debug), detected leaks are reported, in a perfect world they would never get to deployment.

While tracking allocations is an important, and highly useful feature, the Hacker should not become lazy! Always attempt to resolve leaks before deploying your code, a memory leak in a SAPI environment can become a very big problem, very quickly.

Another, perhaps more incidental but still noteworthy, feature is that the memory manager is the part that allows a hard limit on memory usage for each instance of PHP. As we all know, there is no such thing as unlimited. If some code is running out of memory, it is likely to be written wrong, either by the Hacker, or the programmer of PHP. Limiting the memory therefore is not a restriction on the language that is supposed to be experienced in production, it is simply a way from stopping development environments from spiraling out of control when mistakes are made, and equally, when bugs are found in production.

From the Hacker's perspective, the memory management API looks very much like libc's (or whoever the Hacker prefers !) malloc implementation.

Main memory APIs
Prototype | Description
void *emalloc(size_t size) | Allocate size bytes of memory.
void *ecalloc(size_t nmemb, size_t size) | Allocate a buffer for nmemb elements of size bytes and makes sure it is initialized with zeros.
void *erealloc(void *ptr, size_t size) | Resize the buffer ptr, which was allocated using emalloc to hold size bytes of memory.
void efree(void *ptr) | Free the buffer pointed by ptr. The buffer had to be allocated by emalloc.
void *safe_emalloc(size_t nmemb, size_t size, size_t offset) | Allocate a buffer for holding nmemb blocks of each size bytes and an additional offset bytes. This is similar to emalloc(nmemb * size + offset) but adds a special protection against overflows.
char *estrdup(const char *s) | Allocate a buffer that can hold the NULL-terminated string s and copy the s into that buffer.
char *estrndup(const char *s, unsigned int length) | Similar to estrdup while the length of the NULL-terminated string is already known.

Hinweis: The engines memory management functions do not return NULL upon failure, if memory cannot be allocated at runtime, the engine bails and raises an error.

Achtung

Always use valgrind before deploying code and as a normal part of the Hacker's process. The engine can only report and detect leaks where it has allocated the memory. All of PHP is only a thin wrapper around third parties, those third parties do not use the engines memory management. Additionally, valgrind will catch errors that do not always halt or even have an apparent effect at execution time, it is just as important that there should be no errors, as it is important that avoidable leaks should be avoided.

Hinweis: Some leaks are unavoidable, some libraries rely on the end of a process to free some of their structures, this is normal under some circumstances and acceptable where it is out of the Hacker's control.

While executing in a debug environment, configured with --enable-debug, the leak function used in the next example is actually implemented by the engine and is available to call in userland.

Beispiel #1 Leak Detection in Action

ZEND_FUNCTION(leak)
{
    long leakbytes = 3;

    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|l", &leakbytes) == FAILURE) {
        return;
    }

    emalloc(leakbytes);
}

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

[Thu Oct 22 02:14:57 2009]  Script:  '-'
/home/johannes/src/PHP_5_3/Zend/zend_builtin_functions.c(1377) :  Freeing 0x088888D4 (3 bytes), script=-
=== Total 1 memory leaks detected ===

Hinweis: USE_ZEND_ALLOC=0 in the environment will stop the memory manager from functioning, all allocations fall back on the default system allocators which can be useful for debugging leaks, and should only be used for this purpose.

Memory management
Data persistence
Memory management


Data persistence

In this context, data persistence is taken to mean any data that is intended to survive the current request. The memory management within the engine is very focused on request bound allocations, but this is not always practical or appropriate. Persistent memory is sometimes required in order to satisfy requirements of external libraries, it can also be useful while Hacking.

A common use of persistent memory is to enable persistent SQL server connections, though this practice is frowned upon, it is none the less the most common use of this feature.

Hinweis: All of the following functions take the additional persistent parameter, should this be false, the engine will use its regular allocators (emalloc) and the memory should not be considered persistent. Where memory is allocated as persistent, system allocators are invoked, under most circumstances they are still not able to return NULL pointers just as the Main memory APIs.

Persistent memory APIs
Prototype | Description
void *pemalloc(size_t size, zend_bool persistent) | Allocate size bytes of memory.
void *pecalloc(size_t nmemb, size_t size, zend_bool persistent) | Allocate a buffer for nmemb elements of size bytes and makes sure it is initialized with zeros.
void *perealloc(void *ptr, size_t size, zend_bool persistent) | Resize the buffer ptr, which was allocated using emalloc to hold size bytes of memory.
void pefree(void *ptr, zend_bool persistent) | Free the buffer pointed by ptr. The buffer had to be allocated by pemalloc.
void *safe_pemalloc(size_t nmemb, size_t size, size_t offset, zend_bool persistent) | Allocate a buffer for holding nmemb blocks of each size bytes and an additional offset bytes. This is similar to pemalloc(nmemb * size + offset) but adds a special protection against overflows.
char *pestrdup(const char *s, zend_bool persistent) | Allocate a buffer that can hold the NULL-terminated string s and copy the s into that buffer.
char *pestrndup(const char *s, unsigned int length, zend_bool persistent) | Similar to pestrdup while the length of the NULL-terminated string is already known.
Achtung

It is important to remember that memory allocated to be persistent is not optimized or tracked by the engine; it is not subject to memory_limit, additionally, all variables that are created by the Hacker for the engine must not use persistent memory.

Basic memory management
Thread-Safe Resource Manager
Memory management


Thread-Safe Resource Manager

When PHP is built with Thread Safety enabled, the engine requires a way to isolate contexts from one another, such that the threads of a process may service individual requests without interference. TSRM is omnipotent within PHP, extension authors have to do very little in order to make sure their extensions can function in both a Thread Safe and Non Thread Safe architecture.

Beispiel #1 Accessor macros for per-module globals

#ifdef ZTS
#define COUNTER_G(v) TSRMG(counter_globals_id, zend_counter_globals *, v)
#else
#define COUNTER_G(v) (counter_globals.v)
#endif

The snippet above shows how an extension author is expected to define their global accessors. The TSRMG macro takes an identifier, type cast and element name. The identifier is assigned by TSRM during initialization of the module. Declaring global accessors in this way ensures that an extension can operate safely in a Thread Safe and Non Thread Safe architecture using the same logic.

TSRM manages the isolation and safety of all global structures within PHP, from executor globals to extension globals, a pointer to the isolated storage is also passed around with most, or many of the API functions. The macros TSRMLS_C and TSRMLS_CC translate to "thread safe local storage" and "thread safe local storage prefixed with a comma" respectively.

If a function requires a pointer to TSRM, it is declared with the macro TSRMLS_D or TSRMLS_DC in it's prototype, which translates to "thread safe local storage only" and "thread safe local storage prefixed with a comma" respectively. Many macros within the engine reference TSRM, so it is a good idea to declare most things to accept TSRM, such that if they need to call upon TSRM they do not have to fetch a pointer during execution.

Because TSRM is thread local, and some functions (for compatibility reasons) are not able to accept TSRM directly, the macro TSRMLS_FETCH exists, which requests that TSRM fetches the pointer to the thread local storage. This should be avoided wherever it can be, as it is not without cost in a Thread Safe setup.

Hinweis: While developing extensions, build errors that contain "tsrm_ls is undefined" or errors to that effect stem from the fact that TSRMLS is undefined in the current scope, to fix this, declare the function to accept TSRMLS with the appropriate macro, if the prototype of the function in question cannot be changed, you must call TSRMLS_FETCH within the function body.

The functionality documented hereafter is aimed at advanced use of TSRM. It is not ordinary for extensions to have to interact with TSRM directly, the pecl programmer should use API's above TSRM such as the Module Globals API.

TSRM Internals
Prototype | Description
typedef int ts_rsrc_id | The type definition to represent a resource by numeric identifiers
int tsrm_startup(int expected_threads, int expected_resources, int debug_level, char *debug_filename) | expected_threads and expected_resources are not hard limits. debug_level and debug_filename only have an effect on windows in Debug mode or when TSRM_DEBUG is defined. Called once per process in ZTS mode during server startup.
void tsrm_shutdown(void) | Should be the last thing called in the process to destroy and free all storage TSRM storage in ZTS mode.
ts_rsrc_id ts_allocate_id(ts_rsrc_id *rsrc_id, size_t size, ts_allocate_ctor ctor, ts_allocate_dtor dtor) | Allocates and thread safe pointer of size bytes, calling ctor on the pointer, assigning (and returning) the id to rsrc_id, the dtor is called when the resource is free'd. Module globals are isolated in ZTS mode using this API.
void *ts_resource_ex(ts_rsrc_id id, THREAD_T *th_id) | Fetches a resource by previously allocated id from the entries created by the specified thread identifed by th_id.
void *ts_resource(ts_rsrc_id id) | Fetches a resource by previously allocated id from the entries created by the calling thread.
void ts_free_thread(void) | Destroys and frees the entries for the calling thread, currently this API is only used by ISAPI module.
void ts_free_id(ts_rsrc_id id) | Destroys the resource identified by previously allocated id. Module globals are cleaned up in ZTS mode using this API.

Hinweis: There are more TSRM API functions to enable the creation and destruction of interpreter contexts, the usage of such functionality is out of the scope of this documentation, please see TSRM/TSRM.h for more information.

TSRM Mutex API
Prototype | Description
MUTEX_T tsrm_mutex_alloc(void) | Allocates and returns a suitable MUTEX_T for the environment.
int tsrm_mutex_lock(MUTEX_T mutexp) | Locks mutexp for the calling thread.
int tsrm_mutex_unlock(MUTEX_T mutexp) | Unlocks mutexp for the calling thread.
void tsrm_mutex_free(MUTEX_T mutexp); | Destroys and frees the (unlocked) and previously allocated mutexp.

Hinweis: The mutex API is exposed by TSRM. However, its internal usage is far too wide to document usefully here, none the less, basic functionality and prototypes are documented here.

Data persistence
Working with Variables
Memory management


Working with Variables

Inhaltsverzeichnis

  • Introduction to Variables
  • Working with Arrays
  • Working with HashTable
  • Working with Objects
Thread-Safe Resource Manager
Introduction to Variables
PHP im Kern: Das Entwicklerhandbuch für die Zend Engine


Introduction to Variables

A good understanding of how variables are stored and manipulated is essential to becoming a Hacker. The engine attempts to cover up the complexity of the concept of a variable that can be any type by providing a uniform and intuitive set of macros for accessing the structures various fields. As the Hacker works through this chapter, they should become comfortable with the terminology and concepts involved with Variables in PHP.

Hinweis:

PHP is a dynamic, loosely typed language, that uses copy-on-write and reference counting.

To clarify what exactly is meant by the statement above: PHP is a high level language, weak typing is implicit of the engines preference to convert, or coerce variables into the required type at execution time. Reference counting is the means by which the engine can deduce when a variable no longer has any references in the users code, and so is able to free the structures associated with the variable.

All variables in PHP are represented by one structure, the zval:

typedef struct _zval_struct {
    zvalue_value value;        /* variable value */
    zend_uint refcount__gc;    /* reference counter */
    zend_uchar type;           /* value type */
    zend_uchar is_ref__gc;     /* reference flag */
} zval;

The zval_value is a union which can represent all types a variable may hold:

typedef union _zvalue_value {
    long lval;                 /* long value */
    double dval;               /* double value */
    struct {
        char *val;
        int len;               /* this will always be set for strings */
    } str;                     /* string (always has length) */
    HashTable *ht;             /* an array */
    zend_object_value obj;     /* stores an object store handle, and handlers */
} zvalue_value;

It should be clear from the structures above that a variable can be of one type, the variable data is represented by the appropriate field in the zval_value union. The zval itself holds the type, reference count and a flag to indicate if a variable is a reference.

Native Type Constants
Constant | Mapping
IS_NULL | no value is set in this case
IS_LONG | lval
IS_DOUBLE | dval
IS_BOOL | lval
IS_RESOURCE | lval
IS_STRING | str
IS_ARRAY | ht
IS_OBJECT | obj

Hinweis:

There are additional constants that help to identify internal types such as constant arrays and callable objects, their usage is outside the scope of this part of the documentation.

The following table defines the macros exposed by the engine for working with zval values:

Accessor Macros
Prototype | Accesses | Description
zend_uchar Z_TYPE(zval zv) | type | returns the type of the value
long Z_LVAL(zval zv) | value.lval |
zend_bool Z_BVAL(zval zv) | value.lval | cast long value to zend_bool
double Z_DVAL(zval zv) | value.dval |
long Z_RESVAL(zval zv) | value.lval | returns the resource list identifier for value
char* Z_STRVAL(zval zv) | value.str.val | return the string value
int Z_STRLEN(zval zv) | value.str.len | return the length of the string value
HashTable* Z_ARRVAL(zval zv) | value.ht | return the HashTable (array) value
zend_object_value Z_OBJVAL(zval zv) | value.obj | returns object value
uint Z_OBJ_HANDLE(zval zv) | value.obj.handle | returns the object handle for object value
zend_object_handlers* Z_OBJ_HT_P(zval zv) | value.obj.handlers | returns the handler table for object value
zend_class_entry* Z_OBJCE(zval zv) | value.obj | returns the class entry for object value
HashTable* Z_OBJPROP(zval zv) | value.obj | returns the properties of object value
HashTable* Z_OBJPROP(zval zv) | value.obj | returns the properties of object value
HashTable* Z_OBJDEBUG(zval zv) | value.obj | if an object has the get_debug_info handler set, it is called, else Z_OBJPROP is called

Please check the Reference Counting Basics chapter for details how reference counting and references work in detail.

Reference Count Manipulation
Prototype | Description
zend_uint Z_REFCOUNT(zval zv) | returns the reference count of the value
zend_uint Z_SET_REFCOUNT(zval zv) | sets the reference count of the value, returning it
zend_uint Z_ADDREF(zval zv) | pre-increments the reference count of value, returning it
zend_uint Z_DELREF(zval zv) | pre-decrements the reference count of value, returning it
zend_bool Z_ISREF(zval zv) | tells if the zval is a reference
void Z_UNSET_ISREF(zval zv) | set is_ref__gc to 0
void Z_SET_ISREF(zval zv) | set is_ref__gc to 1
void Z_SET_ISREF_TO(zval zv, zend_uchar to) | set is_ref__gc to to

Hinweis:

The Z_* macros above all take a zval, they are all defined again suffixed with _P to take a pointer to a zval, for example zend_uchar Z_TYPE_P(zval* pzv), and again suffixed with _PP to take a pointer to a pointer to a zval, for example zend_uchar Z_TYPE_PP(zval** ppzv)

Creation, Destruction, Separation and Copying
Prototype | Description
ALLOC_ZVAL(zval* pzval) | emallocs pzval
ALLOC_INIT_ZVAL(zval* pzval) | emallocs pzval, and points pzval at a null typed zval for sanity
MAKE_STD_ZVAL(zval* pzval) | emallocs pzval, setting the refcount to 1
ZVAL_COPY_VALUE(zval* dst, zval* src) | sets the value and type of dst from the value and type of src
INIT_PZVAL_COPY(zval* dst, zval*dst) | performs ZVAL_COPY_VALUE, setting refcount of dst to 1, and setting is_ref__gc to 0
SEPARATE_ZVAL(zval** ppzval) | if the refcount of ppzval is >1, redirects *ppzval to a newly emalloc'd, copied, and constructed zval of the same type and value
SEPARATE_ZVAL_IF_NOT_REF(zval** ppzval) | if *ppzval is not a reference, will perform SEPARATE_ZVAL on ppzval
SEPARATE_ZVAL_TO_MAKE_IS_REF(zval** ppzval) | if *ppzval is not a reference, performs SEPARATE_ZVAL then Z_SET_ISREF_PP on ppzval
COPY_PZVAL_TO_ZVAL(zval dst, zval** src) | results in dst being a copy of src without affecting the refcount of src
MAKE_COPY_ZVAL(zval** src, zval* dst) | performs INIT_PZVAL_COPY, then zval_copy_ctor on the new zval
void zval_copy_ctor(zval** pzval) | performs maintenance of reference counts, used widely throughout the engine
void zval_ptr_dtor(zval* pzval) | decrements the refcount for the variable, if no refcounts remain the variable is destroyed
FREE_ZVAL(zval* pzval) | efrees pzval

Hinweis:

Objects and Resources have a reference count as part of their respective structures, when zval_ptr_dtor is called on either, their appropriate del_ref method is executed. See Working with Objects and Working with Resources for more information.

If the Hacker only has room to remember two more functions, they should be zval_copy_ctor and zval_ptr_dtor, these are at the basis of the engines reference counting mechanisms and it is important to note that zval_copy_ctor does not actually result in any copying occuring under normal circumstances, it simply increases the reference count. By the same token, zval_ptr_dtor only really destroys a variable when there are no references remaining to it and the refcount is at 0.

PHP is weakly typed, as such the engine provides API functions for converting variables from one type to another.

Type Conversion
Prototype
void convert_to_long(zval* pzval)
void convert_to_double(zval* pzval)
void convert_to_long_base(zval* pzval, int base)
void convert_to_null(zval* pzval)
void convert_to_boolean(zval* pzval)
void convert_to_array(zval* pzval)
void convert_to_object(zval* pzval)
void convert_object_to_type(zval* pzval, convert_func_t converter)

Hinweis:

convert_func_t functions should have the prototype (void) (zval* pzval)

By now you should have a good understanding of: the types that are native to the engine, how to detect types and read zval values, how to manipulate refcounts, and other zval flags

Working with Variables
Working with Arrays
Working with Variables


Working with Arrays

Arrays are stored in HashTable strucures, and have the zval type IS_ARRAY. The API functions for creating, destroying and manipulating these structures as variables are documented here and can be found in Zend/zend_API.h

HashTable as Variable API
Prototype | Description
void array_init(zval* pzval) | initializes the variable as a HashTable, setting type and appropriate destructor function for the HashTable
void array_init_size(zval* pzval) | initializes the variable as array_init with a minimum of size buckets

Hinweis:

Do not squint too hard looking for array_destroy: to destroy a variable array you should call zval_ptr_dtor on the variable, if there are no other references to the variable it will result in the array being destroyed.

Indexed Arrays API
Prototype
int add_index_long(zval* pzval, ulong index, long value)
int add_index_null(zval* pzval, ulong index)
int add_index_bool(zval* pzval, ulong index, zend_bool value)
int add_index_bool(zval* pzval, ulong index, zend_bool value)
int add_index_resource(zval* pzval, ulong index, uint value)
int add_index_double(zval* pzval, ulong index, double value)
int add_index_string(zval* pzval, ulong index, char* string, zend_bool duplicate)
int add_index_stringl(zval* pzval, ulong index, char* string, uint length, zend_bool duplicate)
int add_index_zval(zval* pzval, ulong index, zval* value)
int add_next_index_long(zval* pzval, long value)
int add_next_index_null(zval* pzval)
int add_next_index_bool(zval* pzval, zend_bool value)
int add_next_index_resource(zval* pzval, uint value)
int add_next_index_double(zval* pzval, double value)
int add_next_index_string(zval* pzval, const char* string, zend_bool dulpicate)
int add_next_index_stringl(zval* pzval, const char* string, uint length, zend_bool duplicate)
int add_next_index_zval(zval* pzval, zval* value)
Associative Arrays API
Prototype
int add_assoc_long(zval* pzval, const char* key, long value)
int add_assoc_long_ex(zval* pzval, const char* key, uint klen, long value)
int add_assoc_null(zval* pzval, const char* key)
int add_assoc_null_ex(zval* pzval, const char* key, uint klen)
int add_assoc_bool(zval* pzval, const char* key, zend_bool value)
int add_assoc_bool(zval* pzval, const char* key, zend_bool value)
int add_assoc_bool_ex(zval* pzval, const char* key, uint klen, zend_bool value)
int add_assoc_resource(zval* pzval, const char* key, uint value)
int add_assoc_resource_ex(zval* pzval, const char* key, uint klen, uint value)
int add_assoc_double(zval* pzval, const char* key, double value)
int add_assoc_double_ex(zval* pzval, const char* key, uint klen, double value)
int add_assoc_string(zval* pzval, const char* key, const char* value)
int add_assoc_string_ex(zval* pzval, const char* key, uint klen, const char* value)
int add_assoc_stringl(zval* pzval, const char* key, const char* value, uint vlen, zend_bool duplicate)
int add_assoc_stringl_ex(zval* pzval, const char* key, uint klen, const char* value, uint vlen, zend_bool duplicate)
int add_assoc_zval(zval* pzval, const char* key, zval* value)
int add_assoc_zval_ex(zval* pzval, const char* key, uint klen, zval* value)

Hinweis:

add_*_string functions that accept a parameter named duplicate, will duplicate the string with estrndup when duplicate is true

Hinweis:

add_*_zval functions do not adjust the refcount of the value parameter

To perform more advanced operations on array variables we must use the HashTable API directly.

Introduction to Variables
Working with HashTable
Working with Variables


Working with HashTable

The HashTable structure serves many purposes in PHP and can be found everywhere, a good understanding of it's functionality is a preqrequisite of being a good Hacker.

The HashTable implemented by the engine is a standard HashTable, that is to say, a key => value based store, where the keys are always strings, whose hashes are calculated with a built in hashing algorithm zend_inline_hash_func(const char* key, uint length), which results in good distribution, and reasonable usage.

The internal structure and exact operation of HashTable is out of the scope of this document, this document serves to inform you of the API's available and how best to use them. For a more detailed picture of the HashTable see Zend/zend_hash.h.

Unless otherwise stated, these functions all return FAILURE if the requested operation fails for any reason, otherwise SUCCESS is returned.

Hinweis:

It is important to remember that ordinarily HashTable API functions expect key lengths to be the length of the null terminated string, including the null termination, in other words they expect strlen(key) + 1

Below are some typedefs you should know when interacting with HashTable. They are mostly self explanitory and will allow the Hacker to fully understand the prototypes below properly.

typedef ulong (*hash_func_t)(const char *arKey, uint nKeyLength); /* mostly redundant */
typedef int  (*compare_func_t)(const void *, const void * TSRMLS_DC); /* comparison function */
typedef void (*sort_func_t)(void *, size_t, register size_t, compare_func_t TSRMLS_DC); /* sorting function */
typedef void (*dtor_func_t)(void *pDest); /* destructor function */
typedef void (*copy_ctor_func_t)(void *pElement); /* copy constructor */
typedef void (*copy_ctor_param_func_t)(void *pElement, void *pParam); /* copy with argument constructor */
typedef int (*apply_func_t)(void *pDest TSRMLS_DC); /* apply function */
typedef int (*apply_func_arg_t)(void *pDest, void *argument TSRMLS_DC); /* apply with argument function */
typedef int (*apply_func_args_t)(void *pDest TSRMLS_DC, int num_args, va_list args, zend_hash_key *hash_key); /* apply with multiple arguments function */
HashTable API
int zend_hash_init(HashTable* ht, uint size, hash_func_t hash, dtor_func_t destructor, zend_bool persistent)
Initializes the hash table to hold at least size elements, hash exists for historical reasons and is always ignored, zend_inline_hash_func is always used as the hashing function. destructor may be NULL.
int zend_hash_add(HashTable* ht, const char* key, uint klen, void* data, uint dlen, void** dest)
adds data to the table using the specified key, where the key is length bytes long (and will be copied from key to the table). If the key is set FAILURE will be returned.
int zend_hash_update(HashTable* ht, const char* key, uint klen, void* data, uint dlen, void** dest)
adds data to the table using the specified key, where the key is length bytes long (and will be copied from key to the table). If the key has been set previously the old data has dtor_func_t called on it and the existing data is replaced with data
int zend_hash_find(HashTable* ht, const char* key, uint klen, void** data)
searches the table for key, setting *data and returning SUCCESS if it is found.
zend_bool zend_hash_exists(HashTable* ht, const char* key, uint klen)
returns positively if key is found in ht
int zend_hash_del(HashTable* ht, const char* key, uint klen)
removes the entry identified by key from the table if found
int zend_hash_index_update(HashTable* ht, ulong index, void* data, uint dsize, void** dest)
updates the entry at index in ht, with the data at data
int zend_hash_index_del(HashTable* ht, ulong index)
deletes the entry at index from ht
int zend_hash_index_find(HashTable* ht, ulong index, void** data)
redirects *data to the data identified by index in ht
int zend_hash_index_exists(HashTable* ht, ulong index)
returns positively if index is found in ht
ulong zend_hash_next_free_element(HashTable* ht)
returns the index of the next free element in ht
Achtung

zend_hash_* functions that accept void* data should normally cast it to (void**) (ie, (void**) &data)

Traversing the HashTable is often necessary, to do this you provide a pointer to a HashTable, with an optional HashPosition - a structure internal to the HashTable API that allows traversal not to affect the internal position of HashTable. The following traversal functions are provided, and an example usage found below.

HashTable Traversal API
int zend_hash_internal_pointer_reset(HashTable* ht)
resets the internal pointer of ht to the start
int zend_hash_internal_pointer_reset_ex(HashTable* ht, HashPosition position)
sets position the the start of ht
int zend_hash_get_current_data(HashTable* ht, void* data)
gets the data at the current position in ht, data should be cast to void**, ie: (void**) &data
int zend_hash_get_current_data_ex(HashTable* ht, void* data, HashPosition position)
sets data to the data at position in ht
int zend_hash_get_current_key(HashTable* ht, void* data, char**key, uint klen, ulong index, zend_bool duplicate)
sets key, klen, and index from the key information at the current position. The possible return values HASH_KEY_IS_STRING and HASH_KEY_IS_LONG are indicative of the kind of key found at the current posision.
int zend_hash_get_current_key_ex(HashTable* ht, void* data, char**key, uint klen, ulong index, zend_bool duplicate, HashPosition position)
sets key, klen, and index from the key information at position. The possible return values HASH_KEY_IS_STRING and HASH_KEY_IS_LONG are indicative of the kind of key found at position.
int zend_hash_move_forward(HashTable* ht)
moves the internal pointer of ht to the next entry in ht
int zend_hash_move_forward_ex(HashTable* ht, HashPosition position)
moves position to the next entry in ht

The functions above allow traversal over a HashTable to be much like a normal loop, which will look something like:

HashPosition position;
zval **data = NULL;

for (zend_hash_internal_pointer_reset_ex(ht, &position);
     zend_hash_get_current_data_ex(ht, (void**) &data, &position) == SUCCESS;
     zend_hash_move_forward_ex(ht, &position)) {

     /* by now we have data set and can use Z_ macros for accessing type and variable data */

     char *key = NULL;
     uint  klen;
     ulong index;

     if (zend_hash_get_current_key_ex(ht, &key, &klen, &index, 0, &position) == HASH_KEY_IS_STRING) {
         /* the key is a string, key and klen will be set */
     } else {
         /* we assume the key to be long, index will be set */
     }
}

Hinweis:

If a HashTable has been passed into the engine, it is a good idea to use the zend_hash_*_ex API to avoid unexpected behaviour in userland.

Hinweis:

If a duplicate of the key is requested and HAS_KEY_IS_STRING is returned the caller must efree the duplicated key

In addition to traversal, the engine provides API functions for merging, copying, and comparing HashTables. These are all concepts that the Hacker should be familiar with. A concept possibly not in the repertoire of the Hacker is applying, which is lamens terms is functionality of the HashTable API allowing the Hacker to pass a callback function to be executed on every entry in a HashTable.

Copying, Merging and Sorting
void zend_hash_copy(HashTable *target, HashTable *source, copy_ctor_func_t pCopyConstructor, void *tmp, uint size)
Copies the contents of source to target. tmp should be an unallocated temporary pointer of the appropriate type, used during copying. size is the size of each element.
void zend_hash_merge(HashTable *target, HashTable *source, copy_ctor_func_t pCopyConstructor, void *tmp, uint size, zend_bool overwrite)
Merges the contents of source into destination, replacing existing entries only where overwrite is true.
void int zend_hash_sort(HashTable *ht, sort_func_t sort_func, compare_func_t compare_func, int renumber TSRMLS_DC)
renumber controls if indexes should be preserved, see the typedefs at the start of this section for more information

Hinweis:

When a function accepts a copy_ctor_func_t pCopyConstructor, the function passed with be executed upon creation of every new entry in the HashTable. The most common copy constructor used within the engine is a wrapper around zval_copy_ctor, the macro ZVAL_COPY_CTOR.

Working with Arrays
Working with Objects
Working with Variables


Working with Objects

Working with HashTable
Writing Functions
Working with Variables


Writing Functions

Functions and Methods in PHP take much the same form, a method is simply a function with a specific scope; the scope of their class entry. The Hacker will read about class entries in other sections of the Hacker's guide. The purpose of this section is to introduce the Hacker to the anatomy of a function or method; the Hacker will learn how to define functions, how to accept variables and how to return variables to the programmer of PHP.

The anatomy of a function could not be simpler:

PHP_FUNCTION(hackers_function) {
  /* your accepted arguments here */
  long number;

  /* accepting arguments */
  if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &number) != SUCCESS) {
      return;
  }

  /* do some work on the input */
  number *= 2;

  /* set return value */
  RETURN_LONG(number);
}

The PHP_FUNCTION(hackers_function) preprocessor instruction will result in the following declaration:

void zif_hackers_function(INTERNAL_FUNCTION_PARAMETERS)

INTERNAL_FUNCTION_PARAMETERS is defined as a macro and explained in the following table:

INTERNAL_FUNCTION_PARAMETERS
Name and type | Description | Access macros
int ht | Number of actual parameters passed by user | ZEND_NUM_ARGS()
zval *return_value | Pointer to a PHP variable that can be filled with the return value passed to the user. The default type is IS_NULL. | RETVAL_*, RETURN_*
zval **return_value_ptr | When returning references to PHP set this to a pointer to your variable. It is not suggested to return references. |
zval *this_ptr | If this is a method call, points to the PHP variable holding the $this object. | getThis()
int return_value_used | Flag indicating whether the returned value will be used by the caller. |

For clarity, the fully expanded declaration for PHP_FUNCTION(hackers_function) looks like:

void zif_hackers_function(int ht, zval* return_value, zval** return_value_ptr, zval* this_ptr, int return_value_used)

The presence of this_ptr may be confusing, classes are covered in detail in later sections, suffice to say that PHP_METHOD(MyClass, hackersFunction) would result in the following declaration:

void zim_MyClass_hackersFunction(INTERNAL_FUNCTION_PARAMETERS)

hackers_function doesn't do anything useful, it accepts a number using the zend_parse_parameters API, doubles it, and returns it to the engine. It is obvious that a normal function would have to do something more complex than double the input, for the purposes of education we are keeping it simple. On entry to the function return_value is allocated and initialized to null, making null the default return value of any function in PHP.

If zend_parse_parameters does not recieve what is specified by the Hacker as the correct arguments, and the arguments recieved cannot be converted to conform with type_spec an error will be raised, and by convention, the Hacker should return immediately.

Hinweis:

Arrays, Objects, and Resources cannot be converted.

Parsing Parameters Prototypes
int zend_parse_parameters(int num_args TSRMLS_DC, char *type_spec, ...)
int zend_parse_parameters_ex(int flags, int num_args TSRMLS_DC, char *type_spec, ...)
int zend_parse_parameter(int flags, int arg_num TSRMLS_DC, zval **arg, const char *spec, ...)

Hinweis:

zend_parse_parameter is available from version 5.5, it behaves like zend_parse_parameters_ex except that instead of reading the arguments from the stack, it receives a single zval to convert, which may be changed in place.

Hinweis:

flags is intended to be a mask, currently only ZEND_PARSE_PARAMS_QUIET will have any impact (supress warnings)

The variable arguments recieved by these API functions are expected to be the address of C variables, and should be considered the output of the zend_parse_parameters API functions.

Type Specifiers
Spec | Type | Locals
a | array | zval*
A | array or object | zval*
b | boolean | zend_bool
C | class | zend_class_entry*
d | double | double
f | function | zend_fcall_info*, zend_fcall_info_cache*
h | array | HashTable*
H | array or object | HashTable*
l | long | long
L | long (limits out-of-range LONG_MAX/LONG_MIN) | long
o | object | zval*
O | object (of specified zend_class_entry) | zval*, zend_class_entry*
p | string (a valid path) | char*, int
r | resource | zval*
s | string | char*, int
z | mixed | zval*
Z | mixed | zval**

Hinweis:

Where the type specifier is O, the local zend_class_entry* is to be considered input (part of the type spec) to zend_parse_parameter

Advanced Type Specifiers
Spec | Description
* | a variable number of argument of the preceeding type, 0 or more
+ | a variable number of argument of the preceeding type, 1 or more
| | indicates that the remaining parameters are optional
/ | SEPARATE_ZVAL_IF_NOT_REF on the parameter it follows
! | the preceeding parameter can be of the specified type or null For 'b', 'l' and 'd', an extra argument of type zend_bool* must be passed after the corresponding bool*, long* or double* addresses which will be set true if null is recieved.

Hinweis:

Consult README.PARAMETER_PARSING_API included in source distributions for more information on parsing parameters

Once the Hacker's function has executed whatever it was implemented to execute, it is time to set the return_value for the engine. The RETURN_ and RETVAL_ macros are just wrappers around Z_*_P macros that work with return_value.

Hinweis:

RETURN_ macros cause execution to leave the function immediately (ie: return;), while RETVAL_ macros allow execution to continue after return_value has been set.

The Hacker should now have a reasonable understanding of the anatomy of a function, and to some degree, the anatomy of a method.

Working with Objects
Writing Classes
PHP im Kern: Das Entwicklerhandbuch für die Zend Engine


Writing Classes

Writing Functions
Working with Resources
PHP im Kern: Das Entwicklerhandbuch für die Zend Engine


Working with Resources

This section will serve to introduce the Hacker to the concept and usage of Resources in PHP.

Writing Classes
Working with INI settings
PHP im Kern: Das Entwicklerhandbuch für die Zend Engine


Working with INI settings

Working with Resources
Working with streams
PHP im Kern: Das Entwicklerhandbuch für die Zend Engine


Working with streams

Hinweis:

Information on using streams within the PHP source code can be found in the Streams API for PHP Extension Authors reference.

Working with INI settings
The "counter" Extension - A Continuing Example
PHP im Kern: Das Entwicklerhandbuch für die Zend Engine


The "counter" Extension - A Continuing Example

Inhaltsverzeichnis

  • Installation/Konfiguration
  • Vordefinierte Konstanten
  • Beispiele
  • Counter
  • Basic
  • Extended

Preface

Throughout this Zend documentation, references are made to an example module in order to illustrate various concepts. The "counter" extension is this example, a fictional yet functional Zend module which strives to use as much of the Zend API as is reasonably possible. This short chapter describes the userland interface to the completed extension.

Hinweis: "counter" serves no practical purpose whatsoever, as the functionality it provides is far more effectively implemented by appropriate userland code.

Working with streams
Installation/Konfiguration
PHP im Kern: Das Entwicklerhandbuch für die Zend Engine


Installation/Konfiguration

Inhaltsverzeichnis

  • Einführung
  • Laufzeit-Konfiguration
  • Ressource-Typen
The "counter" Extension - A Continuing Example
Einführung
The "counter" Extension - A Continuing Example


Einführung

The "counter" extension provides any number of counters to PHP code using it which reset at times determined by the caller.

There are three interfaces to "counter": basic, extended, and objective. The basic interface provides a single counter controlled by INI settings and function calls. The extended interface provides an arbitrary number of named counter resources which may optionally persist beyond the lifetime of a single PHP request. The objective interface combines both the basic and extended interfaces into a Counter class.

Installation/Konfiguration
Laufzeit-Konfiguration
Installation/Konfiguration


Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Counter configuration options
Name | Default | Changeable | Changelog
counter.reset_time | COUNTER_RESET_PER_REQUEST | PHP_INI_ALL |
counter.save_path | "" | PHP_INI_ALL |
counter.initial_value | "0" | PHP_INI_ALL |

Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

counter.reset_time integer
counter.reset_time tells "counter" to reset the counter used by the basic interface. It may be any of the COUNTER_RESET_* constants (see below).
counter.save_path string
Tells "counter" where to save data that has to persist between invocations of PHP (i.e. any counter that has COUNTER_RESET_NEVER or COUNTER_FLAG_SAVE). A file will be created at this path, which must be readable and writable to whatever user PHP is running as.
counter.initial_value integer
Sets the initial value of the counter used by the basic interface whenever it is reset.
Einführung
Ressource-Typen
Installation/Konfiguration


Ressource-Typen

The "counter" extension defines one resource type: a counter.

Laufzeit-Konfiguration
Vordefinierte Konstanten
Installation/Konfiguration


Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

COUNTER_FLAG_PERSIST (integer)
A counter with this flag will be created as a persistent resource.
COUNTER_FLAG_SAVE (integer)
A counter with this flag will be saved between invocations of PHP.
COUNTER_FLAG_NO_OVERWRITE (integer)
This flag causes counter_create() to avoid overwriting an existing named counter with a new one.
COUNTER_META_NAME (string)
Pass this constant to get the name of a counter resource or object.
COUNTER_META_IS_PERISTENT (string)
Pass this constant to determine whether a counter resource or object is persistent (has the COUNTER_FLAG_PERSIST flag).
COUNTER_RESET_NEVER (integer)
The counter will never be reset.
COUNTER_RESET_PER_LOAD (integer)
The counter will be reset on each invocation of PHP.
COUNTER_RESET_PER_REQUEST (integer)
The counter will be reset on each request.
Ressource-Typen
Beispiele
The "counter" Extension - A Continuing Example


Beispiele

Inhaltsverzeichnis

  • Basic interface
  • Extended interface
  • Objective interface
Vordefinierte Konstanten
Basic interface
The "counter" Extension - A Continuing Example


Basic interface

The basic interface provides three simple functions, illustrated here:

Beispiel #1 "counter"'s basic interface

<?php
$starting_counter_value = counter_get();
counter_bump(1);
$second_counter_value = counter_get();
counter_reset();
$final_counter_value = counter_get();
printf("%3d %3d %3d", $starting_counter_value, $second_counter_value, $final_counter_value);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

  0   1   0

The basic interface also provides a number of INI settings.

Beispiele
Extended interface
Beispiele


Extended interface

The extended interface provides a small suite of functions that allow the user to define an arbitrary number of named counters with unique settings. The basic interface can be used in parallel with the extended interface.

Beispiel #1 "counter"'s extended interface

<?php
function print_counter_info($counter)
{
    if (is_resource($counter)) {
        printf("Counter's name is '%s' and is%s persistent. Its current value is %d.\n",
            counter_get_meta($counter, COUNTER_META_NAME),
            counter_get_meta($counter, COUNTER_META_IS_PERSISTENT) ? '' : ' not',
            counter_get_value($counter));
    } else {
      print "Not a valid counter!\n";
    }
}

if (($counter_one = counter_get_named("one")) === NULL) {
    $counter_one = counter_create("one", 0, COUNTER_FLAG_PERSIST);
}
counter_bump_value($counter_one, 2);
$counter_two = counter_create("two", 5);
$counter_three = counter_get_named("three");
$counter_four = counter_create("four", 2, COUNTER_FLAG_PERSIST | COUNTER_FLAG_SAVE | COUNTER_FLAG_NO_OVERWRITE);
counter_bump_value($counter_four, 1);

print_counter_info($counter_one);
print_counter_info($counter_two);
print_counter_info($counter_three);
print_counter_info($counter_four);
?>

When run once, the above example outputs:

Counter's name is 'one' and is persistent. Its current value is 2.
Counter's name is 'two' and is not persistent. Its current value is 5.
Not a valid counter!
Counter's name is 'four' and is persistent. Its current value is 3.

If run a second time within the same instance of PHP, it outputs:

Counter's name is 'one' and is persistent. Its current value is 4.
Counter's name is 'two' and is not persistent. Its current value is 5.
Not a valid counter!
Counter's name is 'four' and is persistent. Its current value is 4.

If then run a third time in a different instance of PHP, it outputs:

Counter's name is 'one' and is persistent. Its current value is 2.
Counter's name is 'two' and is not persistent. Its current value is 5.
Not a valid counter!
Counter's name is 'four' and is persistent. Its current value is 5.
Basic interface
Objective interface
Beispiele


Objective interface

The objective interface provides an object-oriented way to access the extended interfaces. The following example shows how the above one would be implemented using the objective interface. The output of this example is exactly the same, except that instead of printing "Not a valid counter!", this will instead issue a PHP warning that the variable $counter_three is not an object. This example shows that it is possible to subclass the Counter class defined by the extension, as well as that the counter's value is maintained using an instance variable rather than method access.

Beispiel #1 "counter"'s objective interface

<?php
class MyCounter extends Counter
{
    public function printCounterInfo() {
        printf("Counter's name is '%s' and is%s persistent. Its current value is %d.\n",
            $this->getMeta(COUNTER_META_NAME),
            $this->getMeta(COUNTER_META_IS_PERSISTENT) ? '' : ' not',
            $this->value);
    }
}

Counter::setCounterClass("MyCounter");
if (($counter_one = Counter::getNamed("one")) === NULL) {
    $counter_one = new Counter("one", 0, COUNTER_FLAG_PERSIST);
}
$counter_one->bumpValue(2); // we aren't allowed to "set" the value directly
$counter_two = new Counter("two", 5);
$counter_three = Counter::getNamed("three");
$counter_four = new Counter("four", 2, COUNTER_FLAG_PERSIST | COUNTER_FLAG_SAVE | COUNTER_FLAG_NO_OVERWRITE);
$counter_four->bumpValue(1);

$counter_one->printCounterInfo();
$counter_two->printCounterInfo();
$counter_three->printCounterInfo();
$counter_four->printCounterInfo();
?>
Extended interface
Counter
Beispiele


The Counter class

Einführung

Represents a single counter object.

Klassenbeschreibung

Counter {
__construct ( string $name [, integer $initial_value [, integer $flags ]] )
integer getValue ( void )
bumpValue ( integer $offset )
voidresetValue ( void )
mixed getMeta ( integer $attribute )
static Counter getNamed ( string $name )
static voidsetCounterClass ( string $name )
}

Inhaltsverzeichnis

  • Counter::__construct — Creates an instance of a Counter which maintains a single numeric value.
  • Counter::getValue — Get the current value of a counter.
  • Counter::bumpValue — Change the current value of a counter.
  • Counter::resetValue — Reset the current value of a counter.
  • Counter::getMeta — Return a piece of metainformation about a counter.
  • Counter::getNamed — Retrieve an existing named counter.
  • Counter::setCounterClass — Set the class returned by Counter::getNamed.
Objective interface
Counter::__construct
The "counter" Extension - A Continuing Example


Creates an instance of a Counter which maintains a single numeric value.

Counter
Counter::getValue
Counter
PHP Manual

Counter::__construct

Counter::__construct — Creates an instance of a Counter which maintains a single numeric value.

Beschreibung

Counter::__construct ( string $name [, integer $initial_value [, integer $flags ]] )

Creates an instance of a Counter which maintains a single numeric value.

Parameter-Liste

name
The new counter's name.
initial_value
The initial value of the counter. Defaults to zero (0).
flags
Flags for the new counter, chosen from the COUNTER_FLAG_* constants.

Rückgabewerte

Returns a Counter object on success.

Fehler/Exceptions

Counter::__construct() throws an Exception if something goes wrong.

Counter
Counter::getValue
Counter


Get the current value of a counter.

Counter::__construct
Counter::bumpValue
Counter
PHP Manual

Counter::getValue

Counter::getValue — Get the current value of a counter.

Beschreibung

integer Counter::getValue ( void )

Counter::getValue() returns the current value of a counter.

Rückgabewerte

Counter::getValue() returns an integer.

Siehe auch

  • Counter::bumpValue() - Change the current value of a counter.
  • Counter::resetValue() - Reset the current value of a counter.
Counter::__construct
Counter::bumpValue
Counter


Change the current value of a counter.

Counter::getValue
Counter::resetValue
Counter
PHP Manual

Counter::bumpValue

Counter::bumpValue — Change the current value of a counter.

Beschreibung

Counter::bumpValue ( integer $offset )

Counter::bumpValue() updates the current value of a counter.

Parameter-Liste

offset
The amount by which to change the counter's value. Can be negative.

Siehe auch

  • Counter::getValue() - Get the current value of a counter.
  • Counter::resetValue() - Reset the current value of a counter.
Counter::getValue
Counter::resetValue
Counter


Reset the current value of a counter.

Counter::bumpValue
Counter::getMeta
Counter
PHP Manual

Counter::resetValue

Counter::resetValue — Reset the current value of a counter.

Beschreibung

voidCounter::resetValue ( void )

Counter::resetValue() resets the current value of a counter to its original initial value.

Siehe auch

  • Counter::getValue() - Get the current value of a counter.
  • Counter::bumpValue() - Change the current value of a counter.
Counter::bumpValue
Counter::getMeta
Counter


Return a piece of metainformation about a counter.

Counter::resetValue
Counter::getNamed
Counter
PHP Manual

Counter::getMeta

Counter::getMeta — Return a piece of metainformation about a counter.

Beschreibung

mixed Counter::getMeta ( integer $attribute )

Counter::getMeta() returns metainformation about a counter.

Parameter-Liste

attribute
The metainformation to retrieve.

Rückgabewerte

Counter::getMeta() returns values of varying types based on which metainformation was requested.

Counter::resetValue
Counter::getNamed
Counter


Retrieve an existing named counter.

Counter::getMeta
Counter::setCounterClass
Counter
PHP Manual

Counter::getNamed

Counter::getNamed — Retrieve an existing named counter.

Beschreibung

static Counter Counter::getNamed ( string $name )

Counter::getNamed() returns an existing counter by name if that name exists, or NULL otherwise. This is a static function.

Parameter-Liste

name
The counter name to search for.

Rückgabewerte

Counter::getNamed() returns an existing counter by name if that name exists, or NULL otherwise.

Counter::getMeta
Counter::setCounterClass
Counter


Set the class returned by Counter::getNamed.

Counter::getNamed
Basic
Counter
PHP Manual

Counter::setCounterClass

Counter::setCounterClass — Set the class returned by Counter::getNamed().

Beschreibung

static voidCounter::setCounterClass ( string $name )

Counter::setCounterClass() changes the class of objects returned by Counter::getNamed(). The class being set must not have a public constructor and must be a subclass of Counter. If these conditions are not met, a fatal error is raised. This is a static function.

Parameter-Liste

name
The name of the class to use.
Counter::getNamed
Basic
Counter


The basic interface

Inhaltsverzeichnis

  • counter_get — Get the current value of the basic counter.
  • counter_bump — Update the current value of the basic counter.
  • counter_reset — Reset the current value of the basic counter.
Counter::setCounterClass
counter_get
The "counter" Extension - A Continuing Example


Get the current value of the basic counter.

Basic
counter_bump
Basic
PHP Manual

counter_get

counter_get — Get the current value of the basic counter.

Beschreibung

integer counter_get ( void )

counter_get() returns the current value of the basic interface's counter.

Rückgabewerte

counter_get() returns an integer.

Siehe auch

  • counter_bump() - Update the current value of the basic counter.
  • counter_reset() - Reset the current value of the basic counter.
Basic
counter_bump
Basic


Update the current value of the basic counter.

counter_get
counter_reset
Basic
PHP Manual

counter_bump

counter_bump — Update the current value of the basic counter.

Beschreibung

voidcounter_bump ( integer $offset )

counter_bump() updates the current value of the basic interface's counter.

Parameter-Liste

offset
The amount by which to change the counter's value. Can be negative.

Siehe auch

  • counter_get() - Get the current value of the basic counter.
  • counter_reset() - Reset the current value of the basic counter.
counter_get
counter_reset
Basic


Reset the current value of the basic counter.

counter_bump
Extended
Basic
PHP Manual

counter_reset

counter_reset — Reset the current value of the basic counter.

Beschreibung

voidcounter_reset ( void )

counter_reset() resets the current value of the basic interface's counter to its original initial value.

Siehe auch

  • counter_get() - Get the current value of the basic counter.
  • counter_bump() - Update the current value of the basic counter.
counter_bump
Extended
Basic


The extended interface

Inhaltsverzeichnis

  • counter_create — Creates a counter which maintains a single numeric value.
  • counter_get_value — Get the current value of a counter resource.
  • counter_bump_value — Change the current value of a counter resource.
  • counter_reset_value — Reset the current value of a counter resource.
  • counter_get_meta — Return a piece of metainformation about a counter resource.
  • counter_get_named — Retrieve an existing named counter as a resource.
counter_reset
counter_create
The "counter" Extension - A Continuing Example


Creates a counter which maintains a single numeric value.

Extended
counter_get_value
Extended
PHP Manual

counter_create

counter_create — Creates a counter which maintains a single numeric value.

Beschreibung

resource counter_create ( string $name [, integer $initial_value [, integer $flags ]] )

Creates a counter which maintains a single numeric value.

Parameter-Liste

name
The new counter's name.
initial_value
The initial value of the counter. Defaults to zero (0).
flags
Flags for the new counter, chosen from the COUNTER_FLAG_* constants.

Rückgabewerte

Returns a counter resource.

Extended
counter_get_value
Extended


Get the current value of a counter resource.

counter_create
counter_bump_value
Extended
PHP Manual

counter_get_value

counter_get_value — Get the current value of a counter resource.

Beschreibung

integer counter_get_value ( resource $counter )

counter_get_value() returns the current value of a counter resource.

Parameter-Liste

counter
The counter resource to operate on.

Rückgabewerte

counter_get_value() returns an integer.

Siehe auch

  • counter_bump_value() - Change the current value of a counter resource.
  • counter_reset_value() - Reset the current value of a counter resource.
counter_create
counter_bump_value
Extended


Change the current value of a counter resource.

counter_get_value
counter_reset_value
Extended
PHP Manual

counter_bump_value

counter_bump_value — Change the current value of a counter resource.

Beschreibung

voidcounter_bump_value ( resource $counter , integer $offset )

counter_bump_value() updates the current value of a counter resource.

Parameter-Liste

counter
The counter resource to operate on.
offset
The amount by which to change the counter's value. Can be negative.

Siehe auch

  • counter_get_value() - Get the current value of a counter resource.
  • counter_reset_value() - Reset the current value of a counter resource.
counter_get_value
counter_reset_value
Extended


Reset the current value of a counter resource.

counter_bump_value
counter_get_meta
Extended
PHP Manual

counter_reset_value

counter_reset_value — Reset the current value of a counter resource.

Beschreibung

voidcounter_reset_value ( resource $counter )

counter_reset_value() resets the current value of a counter resource to its original initial value.

Parameter-Liste

counter
The counter resource to operate on.

Siehe auch

  • counter_get_value() - Get the current value of a counter resource.
  • counter_bump_value() - Change the current value of a counter resource.
counter_bump_value
counter_get_meta
Extended


Return a piece of metainformation about a counter resource.

counter_reset_value
counter_get_named
Extended
PHP Manual

counter_get_meta

counter_get_meta — Return a piece of metainformation about a counter resource.

Beschreibung

mixed counter_get_meta ( resource $counter , integer $attribute )

counter_get_meta() returns metainformation about a counter resource.

Parameter-Liste

counter
The counter resource to operate on.
attribute
The metainformation to retrieve.

Rückgabewerte

counter_get_meta() returns values of varying types based on which metainformation was requested.

counter_reset_value
counter_get_named
Extended


Retrieve an existing named counter as a resource.

counter_get_meta
The PHP 5 build system
Extended
PHP Manual

counter_get_named

counter_get_named — Retrieve an existing named counter as a resource.

Beschreibung

resource Counter::getNamed ( string $name )

counter_get_named() returns an existing counter by name if that name exists, or NULL otherwise.

Parameter-Liste

name
The counter name to search for.

Rückgabewerte

counter_get_name() returns an existing counter by name if that name exists, or NULL otherwise.

counter_get_meta
The PHP 5 build system
Extended


The PHP 5 build system

Inhaltsverzeichnis

  • Building PHP for extension development
  • The ext_skel script
  • Talking to the UNIX build system: config.m4
  • Talking to the Windows build system: config.w32

With all the functionality and flexibility available in PHP 5, it is no surprise that it consists of several thousand files and over one million lines of source code. Equally unsurprising is the necessity of a build system to manage so much data. This section describes how to set PHP up for extension development, the layout of an extension within the PHP source tree, and how to interface your extension with the build system.

counter_get_named
Building PHP for extension development
PHP im Kern: Das Entwicklerhandbuch für die Zend Engine


Building PHP for extension development

In a typical PHP installation, the need for high performance almost always results in optimization at the cost of debugging facilities. This is a reasonable tradeoff for production use, but when developing an extension it falls short. What we need is a build of PHP which will give us some hints what has gone wrong when something does.

The Zend Engine provides a memory manager which is capable of tracking memory leaks in extensions and providing detailed debugging information. This tracking is disabled by default, as is thread-safety. To turn them on, pass the --enable-debug and --enable-maintainer-zts options to configure, along with whatever options you typically use. For instructions on building PHP from source, see the instructions at Generelle Überlegungen. A typical configure line might look like this:

$ ./configure --prefix=/where/to/install/php --enable-debug --enable-maintainer-zts --enable-cgi --enable-cli --with-mysql=/path/to/mysql

The PHP 5 build system
The ext_skel script
The PHP 5 build system


The ext_skel script

A PHP extension is composed of several files common to all extensions. As the details of many of those files are similar from extension to extension, it can be laborious to duplicate the content for each one. Fortunately, there is a script which can do all of the initial setup for you. It's called ext_skel, and it's been distributed with PHP since 4.0.

Running ext_skel with no parameters produces this output in PHP 5.2.2:

php-5.2.2/ext$ ./ext_skel
./ext_skel --extname=module [--proto=file] [--stubs=file] [--xml[=file]]
           [--skel=dir] [--full-xml] [--no-help]

  --extname=module   module is the name of your extension
  --proto=file       file contains prototypes of functions to create
  --stubs=file       generate only function stubs in file
  --xml              generate xml documentation to be added to phpdoc-cvs
  --skel=dir         path to the skeleton directory
  --full-xml         generate xml documentation for a self-contained extension
                     (not yet implemented)
  --no-help          don't try to be nice and create comments in the code
                     and helper functions to test if the module compiled
Generally, when developing a new extension the only parameters you will be interested in are --extname and --no-help. Unless you are already experienced with the structure of an extension, you will not want to use --no-help; specifying it causes ext_skel to leave out many helpful comments in the files it generates.

This leaves you with --extname, which tells ext_skel what the name of your extension is. This "name" is an all-lowercase identifier containing only letters and underscores which is unique among everything in the ext/ folder of your PHP distribution.

The --proto option is intended to allow the developer to specify a header file from which a set of PHP functions will be created, ostensibly for the purpose of developing an extension based on a library, but it often functions poorly with most modern header files. A test run on the zlib.h header resulted in a very large number of empty and nonsense prototypes in the ext_skel output files. The --xml and --full-xml options are entirely nonfunctional thus far. The --skel option can be used to specify a modified set of skeleton files to work from, a topic which is beyond the scope of this section.

Building PHP for extension development
Talking to the UNIX build system: config.m4
The PHP 5 build system


Talking to the UNIX build system: config.m4

The config.m4 file for an extension tells the UNIX build system what configure options your extension supports, what external libraries and includes you require, and what source files are to be compiled as part of it. A reference to all the commonly used autoconf macros, both PHP-specific and those built into autoconf, is given in the Zend Engine 2 API reference section.

Tipp

The version of autoconf you have installed makes a difference when developing an extension. For PHP 5.3 and earlier, you will have the best results with autoconf version 2.13 but versions up to and including 2.59 will work. For PHP 5.4 and later the oldest autoconf version you can use is 2.59 and you will have better results with later versions.

Beispiel #1 An example config.m4 file

dnl $Id$
dnl config.m4 for extension example
PHP_ARG_WITH(example, for example support,
[  --with-example[=FILE]       Include example support. File is the optional path to example-config])
PHP_ARG_ENABLE(example-debug, whether to enable debugging support in example,
[  --enable-example-debug        example: Enable debugging support in example], no, no)
PHP_ARG_WITH(example-extra, for extra libraries for example,
[  --with-example-extra=DIR      example: Location of extra libraries for example], no, no)

dnl Check whether the extension is enabled at all
if test "$PHP_EXAMPLE" != "no"; then

  dnl Check for example-config. First try any path that was given to us, then look in $PATH
  AC_MSG_CHECKING([for example-config])
  EXAMPLE_CONFIG="example-config"
  if test "$PHP_EXAMPLE" != "yes"; then
    EXAMPLE_PATH=$PHP_EXAMPLE
  else
    EXAMPLE_PATH=`$php_shtool path $EXAMPLE_CONFIG`
  fi

  dnl If a usable example-config was found, use it
  if test -f "$EXAMPLE_PATH" && test -x "$EXAMPLE_PATH" && $EXAMPLE_PATH --version > /dev/null 2>&1; then
    AC_MSG_RESULT([$EXAMPLE_PATH])
    EXAMPLE_LIB_NAME=`$EXAMPLE_PATH --libname`
    EXAMPLE_INCDIRS=`$EXAMPLE_PATH --incdirs`
    EXAMPLE_LIBS=`$EXAMPLE_PATH --libs`

    dnl Check that the library works properly
    PHP_CHECK_LIBRARY($EXAMPLE_LIB_NAME, example_critical_function,
    [
      dnl Add the necessary include dirs
      PHP_EVAL_INCLINE($EXAMPLE_INCDIRS)
      dnl Add the necessary libraries and library dirs
      PHP_EVAL_LIBLINE($EXAMPLE_LIBS, EXAMPLE_SHARED_LIBADD)
    ],[
      dnl Bail out
      AC_MSG_ERROR([example library not found. Check config.log for more information.])
    ],[$EXAMPLE_LIBS]
    )
  else
    dnl No usable example-config, bail
    AC_MSG_RESULT([not found])
    AC_MSG_ERROR([Please check your example installation.])
  fi

  dnl Check whether to enable debugging
  if test "$PHP_EXAMPLE_DEBUG" != "no"; then
    dnl Yes, so set the C macro
    AC_DEFINE(USE_EXAMPLE_DEBUG,1,[Include debugging support in example])
  fi

  dnl Check for the extra support
  if test "$PHP_EXAMPLE_EXTRA" != "no"; then
    if test "$PHP_EXAMPLE_EXTRA" == "yes"; then
      AC_MSG_ERROR([You must specify a path when using --with-example-extra])
    fi

    PHP_CHECK_LIBRARY(example-extra, example_critical_extra_function,
    [
      dnl Add the neccessary paths
      PHP_ADD_INCLUDE($PHP_EXAMPLE_EXTRA/include)
      PHP_ADD_LIBRARY_WITH_PATH(example-extra, $PHP_EXAMPLE_EXTRA/lib, EXAMPLE_SHARED_LIBADD)
      AC_DEFINE(HAVE_EXAMPLEEXTRALIB,1,[Whether example-extra support is present and requested])
      EXAMPLE_SOURCES="$EXAMPLE_SOURCES example_extra.c"
    ],[
      AC_MSG_ERROR([example-extra lib not found. See config.log for more information.])
    ],[-L$PHP_EXAMPLE_EXTRA/lib]
    )
  fi

  dnl Finally, tell the build system about the extension and what files are needed
  PHP_NEW_EXTENSION(example, example.c $EXAMPLE_SOURCES, $ext_shared)
  PHP_SUBST(EXAMPLE_SHARED_LIBADD)
fi

A short introduction to autoconf syntax

config.m4 files are written using the GNU autoconf syntax. It can be described in a nutshell as shell scripting augmented by a powerful macro language. Comments are delimited by the string dnl, and strings are quoted using left and right brackets (e.g. [ and ]). Quoting of strings can be nested as many times as needed. A full reference to the syntax can be found in the autoconf manual at » http://www.gnu.org/software/autoconf/manual/.

PHP_ARG_*: Giving users the option

The very first thing seen in the example config.m4 above, aside from a couple of comments, are three lines using PHP_ARG_WITH() and PHP_ARG_ENABLE(). These provide configure with the options and help text seen when running ./configure --help. As the names suggest, the difference between the two is whether they create a --with-* option or an --enable-* option. Every extension should provide at least one or the other with the extension name, so that users can choose whether or not to build the extension into PHP. By convention, PHP_ARG_WITH() is used for an option which takes a parameter, such as the location of a library or program required by an extension, while PHP_ARG_ENABLE() is used for an option which represents a simple flag.

Beispiel #2 Sample configure output

$ ./configure --help
...
  --with-example[=FILE]       Include example support. FILE is the optional path to example-config
  --enable-example-debug        example: Enable debugging support in example
  --with-example-extra=DIR      example: Location of extra libraries for example
...

$ ./configure --with-example=/some/library/path/example-config --disable-example-debug --with-example-extra=/another/library/path
...
checking for example support... yes
checking whether to enable debugging support in example... no
checking for extra libraries for example... /another/library/path
...

Hinweis:

Regardless of the order in which options are specified on the command line when configure is called, the checks will be run in the order they are specified in config.m4.

Processing the user's choices

Now that config.m4 can provide the user with some choices of what to do, it's time to act upon those choices. In the example above, the obvious default for all three options, if any of them are unspecified, is "no". As a matter of convention, it is best to use this as the default for the option which enables the extension, as it will be overridden by phpize for extensions built separately, and should not clutter the extension space by default when being built into PHP. The code to process the three options is by far the most complicated.

Handling the --with-example[=FILE] option

The first check made of the --with-example[=FILE] option is whether it was set at all. As this option controls the inclusion of the entire extension, if it was unspecified, given in the negative form (--without-example ), or given the value "no", nothing else is done at all. In the example above, it is specified with the value /some/library/path/example-config, so the first test succeeds.

Next, the code calls AC_MSG_CHECKING(), an autoconf macro which outputs a standard "checking for something" line, and checks whether the user gave an explicit path to the fictional example-config. In this example, PHP_EXAMPLE got the value /some/library/path/example-config, which is now copied into the EXAMPLE_PATH variable. Had the user specified only --with-example , the code would have executed $php_shtool path $EXAMPLE_CONFIG, which would try to guess the location of example-config using the user's current PATH. Either way, the next step is to check whether the chosen EXAMPLE_PATH is a regular file, is executable, and can be run successfully. If so, AC_MSG_RESULT() is called, which completes the output line started by AC_MSG_CHECKING(). Otherwise, AC_MSG_ERROR() is called, which prints the given message and halts configure immediately.

The code now determines some site-specific configuration information by running example-config several times. The next call is to PHP_CHECK_LIBRARY(), a macro provided by the PHP buildsystem as a wrapper around autoconf's AC_CHECK_LIB(). PHP_CHECK_LIBRARY() attempts to compile, link, and run a program which calls the symbol specified by the second parameter in the library specified by the first, using the string given in the fifth as extra linker options. If the attempt succeeds, the script given in the third parameter is run. This script tells the PHP buildsystem to extract include paths, library paths, and library names from the raw option strings example-config provided. If the attempt fails, the script in the fourth parameter is run instead. In this case, AC_MSG_ERROR() is called to stop processing.

Handling the --enable-example-debug option

Processing the --enable-example-debug is much simpler. A simple check for its truth value is performed. If that check succeeds, AC_DEFINE() is called to make the C macro USE_EXAMPLE_DEBUG available to the source of the extension. The third parameter is a comment string for config.h; it is safe to leave this empty, and often is.

Handling the --with-example-extra=DIR option

For the sake of this example, the fictional "extra" functionality requested by the --with-example-extra=DIR option does not share the fictional example-config program, nor does it have any default paths to search. Therefore, the user is required to provide the installation prefix of the necessary library. This setup is somewhat unlikely in a real-world extension, but is considered illustrative.

The code begins in a now-familiar way by checking the truth value of PHP_EXAMPLE_EXTRA. If a negative form was provided, no further processing is done; the user did not request extra functionality. If a positive form was provided without a parameter, AC_MSG_ERROR() is called to halt processing. The next step is another invocation of PHP_CHECK_LIBRARY(). This time, since there is no set of predefined compiler options provided, PHP_ADD_INCLUDE() and PHP_ADD_LIBRARY_WITH_PATH() are used to construct the necessary include paths, library paths, and library flags for the extra functionality. AC_DEFINE() is also called to indicate to the code that the extra functionality was both requested and available, and a variable is set to tell later code that there are extra source files to build. If the check fails, the familiar AC_MSG_ERROR() is called. A different way to handle the failure would have been to call AC_MSG_WARNING() instead, e.g.:

AC_MSG_WARNING([example-extra lib not found. example will be built without extra functionality.])

In this case, configure would print a warning message rather than an error, and continue processing. Which way such failures are handled is a design decision left to the extension developer.

Telling the buildsystem what was decided

With all the necessary includes and libraries specified, with all the options processed and macros defined, one more thing remains to be done: The build system must be told to build the extension itself, and which files are to be used for that. To do this, the PHP_NEW_EXTENSION() macro is called. The first parameter is the name of the extension, which is the same as the name of the directory containing it. The second parameter is the list of all source files which are part of the extension. See PHP_ADD_BUILD_DIR() for information about adding source files in subdirectories to the build process. The third parameter should always be $ext_shared, a value which was determined by configure when PHP_ARG_WITH() was called for --with-example[=FILE] . The fourth parameter specifies a "SAPI class", and is only useful for extensions which require the CGI or CLI SAPIs specifically. It should be left empty in all other cases. The fifth parameter specifies a list of flags to be added to CFLAGS while building the extension; the sixth is a boolean value which, if "yes", will force the entire extension to be built using $CXX instead of $CC. All parameters after the third are optional. Finally, PHP_SUBST() is called to enable shared builds of the extension. See Extension FAQs for more information on disabling support for building an extension in shared mode.

The counter extension's config.m4 file

The counter extension previously documented has a much simpler config.m4 file than that described above, as it doesn't make use of many buildsystem features. This is a preferred method of operation for any extension that doesn't use an external or bundled library.

Beispiel #3 counter's config.m4 file

dnl
$
Id$
dnl config.m4 for extension counter

PHP_ARG_ENABLE(counter, for counter support,
[  --enable-counter            Include counter support])

dnl Check whether the extension is enabled at all
if test "$PHP_COUNTER" != "no"; then
  dnl Finally, tell the build system about the extension and what files are needed
  PHP_NEW_EXTENSION(counter, counter.c counter_util.c, $ext_shared)
  PHP_SUBST(COUNTER_SHARED_LIBADD)
fi
The ext_skel script
Talking to the Windows build system: config.w32
The PHP 5 build system


Talking to the Windows build system: config.w32

An extension's config.w32 file is similar in usage to the config.m4 file, with two critical differences: first, it is used for Windows builds, and second, it is written in JavaScript. This section makes no attempt to cover JavaScript syntax. For the moment, this section is incomplete in lieu of a Win32 testbed, and an experimental-only port of the example config.m4 is the only example provided.

Beispiel #1 An example config.w32 file

// $Id$
// vim:ft=javascript
ARG_WITH("example", "for example support", "no");
ARG_ENABLE("example-debug", "for debugging support in example", "no")
ARG_WITH("example-extra", "for extra functionality in example", "no")
if (PHP_EXAMPLE != "no") {
    if (CHECK_LIB("libexample.lib", "example", PHP_EXAMPLE) &&
        CHECK_HEADER_ADD_INCLUDE("example.h", "CFLAGS_EXAMPLE", PHP_EXAMPLE + "\\include")) {

        if (PHP_EXAMPLE_DEBUG != "no") {
            AC_DEFINE('USE_EXAMPLE_DEBUG', 1, 'Debug support in example');
        }

        if (PHP_EXAMPLE_EXTRA != "no" &&
            CHECK_LIB("libexample-extra.lib", "example", PHP_EXAMPLE) &&
            CHECK_HEADER_ADD_INCLUDE("example-extra.h", "CFLAGS_EXAMPLE", PHP_EXAMPLE + ";" + PHP_PHP_BUILD + "\\include") {
            AC_DEFINE('HAVE_EXAMPLEEXTRA', 1, 'Extra functionality in example');
            HAVE_EXTRA = 1;
        } else {
            WARNING( "extra example functionality not enabled, lib not found" );
        }

        EXTENSION("example", "example.c");
        if (HAVE_EXTRA == 1) {
            ADD_SOURCES("example-extra.c");
        }
    } else {
        WARNING( "example not enabled; libraries not found" );
    }
}

The counter extension's config.w32 file

The counter extension previously documented has a much simpler config.w32 file than that described above, as it doesn't make use of many buildsystem features.

Beispiel #2 counter's config.w32 file

// $Id$
// vim:ft=javascript
ARG_ENABLE("counter", "for counter support", "no");
if (PHP_COUNTER != "no") {
    EXTENSION("counter", "counter.c");
    ADD_SOURCE("counter-util.c");
}
Talking to the UNIX build system: config.m4
Extension structure
The PHP 5 build system


Extension structure

Inhaltsverzeichnis

  • Files which make up an extension
  • Basic constructs
  • The zend_module structure
  • Extension globals
  • Life cycle of an extension
  • Testing an extension

Many extension-writing guides focus on simple examples first and ignore the requirements of more complex implementations until later. Often such guides must repeat themselves over and over in order to describe these new features. This section describes extension structure from the perspective of a mature, practical implementation, in order to prepare users for needs and issues they will almost always encounter in the process of extension development.

Talking to the Windows build system: config.w32
Files which make up an extension
PHP im Kern: Das Entwicklerhandbuch für die Zend Engine


Files which make up an extension

Whether created by hand, using ext_skel, or by an alternate extension generator, such as » CodeGen, all extensions will have at least four files:

config.m4

UNIX build system configuration (see Talking to the UNIX build system: config.m4)

config.w32

Windows buildsystem configuration (see Talking to the Windows build system: config.w32)

php_counter.h

When building an extension as static module into the PHP binary the build system expects a header file with php_ prepended to the extension name which includes a declaration for a pointer to the extension's module structure. This file usually contains additional macros, prototypes, and globals, just like any header.

counter.c

Main extension source file. By convention, the name of this file is the extension name, but this is not a requirement. This file contains the module structure declaration, INI entries, management functions, userspace functions, and other requirements of an extension.

The buildsystem files are discussed elsewhere; this section concentrates on the rest. These four files make up the bare minimum for an extension, which may also contain any number of headers, source files, unit tests, and other support files. The list of files in the counter extension might look like this:

Beispiel #1 Files in the counter extension, in no particular order

ext/
 counter/
  .svnignore
  config.m4
  config.w32
  counter_util.h
  counter_util.c
  php_counter.h
  counter.c
  package.xml
  CREDITS
  tests/
   critical_function_001.phpt
   critical_function_002.phpt
   optional_function_001.phpt
   optional_function_002.phpt

Non-source files

The .svnignore file is used for extensions which are checked into the PHP Subversion repository (usually » PECL); the one generated by ext_skel contains:

.deps
*.lo
*.la

These lines tell Subversion to ignore interim files generated by the PHP buildsystem. This is only a convenience, and can be omitted completely without ill effect.

The CREDITS file lists the contributors and/or maintainers of the extension in plain text format. The main purpose of this file is generating the credits information for bundled extensions as used by phpcredits(). By convention the first line of the file should hold the name of the extension, the second a comma separated list of contributors. The contributors are usually ordered by the chronological order of their contributions. In a » PECL package, this information is already maintained in package.xml, for example. This is another file which can be omitted without ill effect.

The package.xml file is specific to » PECL-based extensions; it is a metainformation file which gives details about an extension's dependencies, authors, installation requirements, and other tidbits. In an extension not being hosted in » PECL, this file is extraneous.

Extension structure
Basic constructs
Extension structure


Basic constructs

C is a very low-level language by modern definitions. This means that it has no built-in support for many features that PHP takes for granted, such as reflection, dynamic module loading, bounds checking, threadsafe data management and various useful data structures including linked lists and hash tables. At the same time, C is a common denominator of language support and functionality. Given enough work, none of these concepts are impossible; the Zend Engine uses them all.

A lot of effort has gone into making the Zend API both extensible and understandable, but C forces certain necessary declarations upon any extension that to an inexperienced eye seem redundant or plain unnecessary. All of those constructs, detailed in this section, are "write once and forget" in Zend Engine 2 and 3. Here are some excerpts from the pre-generated php_counter.h and counter.c files created by PHP 5.3's ext_skel, showing the pre-generated declarations:

Hinweis: The astute reader will notice that there are several declarations in the real files that aren't shown here. Those declarations are specific to various Zend subsystems and are discussed elsewhere as appropriate.

extern zend_module_entry counter_module_entry;
#define phpext_counter_ptr &counter_module_entry

#ifdef PHP_WIN32
#    define PHP_COUNTER_API __declspec(dllexport)
#elif defined(__GNUC__) && __GNUC__ >= 4
#    define PHP_COUNTER_API __attribute__ ((visibility("default")))
#else
#    define PHP_COUNTER_API
#endif

#ifdef ZTS
#include "TSRM.h"
#endif

#ifdef HAVE_CONFIG_H
#include "config.h"
#endif

#include "php.h"
#include "php_ini.h"
#include "ext/standard/info.h"
#include "php_counter.h"

/* ... */

#ifdef COMPILE_DL_COUNTER
ZEND_GET_MODULE(counter)
#endif
  • The lines concerning counter_module_entry declare a global variable, and a macroed pointer to it, which contains the zend_module_entry for the extension. Despite the later discussion regarding the drawbacks of "true" globals, this usage is intentional; Zend takes precautions to avoid misusing this variable.
  • PHP_COUNTER_API is declared for use by non-PHP functions the module intends to export for the use of other modules. The counter extension doesn't declare any of these, and in the final version of the header file, this macro has been removed. The PHPAPI macro is declared identically elsewhere and is used by the standard extension to make the phpinfo() utility functions available to other extensions.
  • The include of TSRM.h is skipped if PHP, or the extension, isn't being compiled with thread-safety, since in that case TSRM isn't used.
  • A standard list of includes, especially the extension's own php_counter.h, is given. config.h gives the extension access to determinations made by configure. php.h is the gateway to the entire PHP and Zend APIs. php_ini.h adds the APIs for runtime configuration (INI) entries. Not all extensions will use this. Finally, ext/standard/info.h imports the aforementioned phpinfo() utility API.
  • COMPILE_DL_COUNTER will only be defined by configure if the counter extension is both enabled and wants to be built as a dynamically loadable module instead of being statically linked into PHP. ZEND_GET_MODULE defines a tiny function which Zend can use to get the extension's zend_module_entry at runtime.

    Hinweis: The astute reader who has peeked into main/php_config.h after trying to build with the counter module enabled statically may have noticed that there is also a HAVE_COUNTER constant defined that the source code doesn't check for. There's a simple reason this check isn't done: It's unnecessary. If the extension isn't enabled, the source file will never be compiled.

Files which make up an extension
The zend_module structure
Extension structure


The zend_module structure

The main source file of a PHP extension contains several new constructs for a C programmer. The most important of these, the one touched first when starting a new extension, is the zend_module structure. This structure contains a wealth of information that tells the Zend Engine about the extension's dependencies, version, callbacks, and other critical data. The structure has mutated considerably over time; this section will focus on the structure as it has appeared since PHP 5.2, and will identify the very few parts which have changed in PHP 5.3.

The zend_module declaration from counter.c looks like this before any code has been written. The example file was generated by ext_skel --extname=counter, with some obsolete constructs removed:

Beispiel #1 zend_module declaration in the counter extension

/* {{{ counter_module_entry
 */
zend_module_entry counter_module_entry = {
    STANDARD_MODULE_HEADER,
    "counter",
    counter_functions,
    PHP_MINIT(counter),
    PHP_MSHUTDOWN(counter),
    PHP_RINIT(counter),        /* Replace with NULL if there's nothing to do at request start */
    PHP_RSHUTDOWN(counter),    /* Replace with NULL if there's nothing to do at request end */
    PHP_MINFO(counter),
    "0.1", /* Replace with version number for your extension */
    STANDARD_MODULE_PROPERTIES
};
/* }}} */

This may look a bit daunting at first glance, but most of it is very simple to understand. Here's the declaration of zend_module from zend_modules.h in PHP 5.3:

Beispiel #2 zend_module definition in PHP 5.3

struct _zend_module_entry {
    unsigned short size;
    unsigned int zend_api;
    unsigned char zend_debug;
    unsigned char zts;
    const struct _zend_ini_entry *ini_entry;
    const struct _zend_module_dep *deps;
    const char *name;
    const struct _zend_function_entry *functions;
    int (*module_startup_func)(INIT_FUNC_ARGS);
    int (*module_shutdown_func)(SHUTDOWN_FUNC_ARGS);
    int (*request_startup_func)(INIT_FUNC_ARGS);
    int (*request_shutdown_func)(SHUTDOWN_FUNC_ARGS);
    void (*info_func)(ZEND_MODULE_INFO_FUNC_ARGS);
    const char *version;
    size_t globals_size;
#ifdef ZTS
    ts_rsrc_id* globals_id_ptr;
#else
    void* globals_ptr;
#endif
    void (*globals_ctor)(void *global TSRMLS_DC);
    void (*globals_dtor)(void *global TSRMLS_DC);
    int (*post_deactivate_func)(void);
    int module_started;
    unsigned char type;
    void *handle;
    int module_number;
};

Many of these fields will never be touched by an extension writer. There are a number of standard macros that set them to their proper values automatically. The macro STANDARD_MODULE_HEADER fills in everything up to the deps field. Alternatively, the STANDARD_MODULE_HEADER_EX will leave the deps field empty for the developer's use. The developer is always responsible for everything from name to version. After that, the STANDARD_MODULE_PROPERTIES macro will fill in the rest of the structure, or the STANDARD_MODULE_PROPERTIES_EX macro can be used to leave the extension globals and post-deactivation function fields unfilled. Most modern extensions will make use of module globals.

Hinweis:

This table gives the values that each field would have if the developer were to fill in the structure entirely by hand, without recourse to any of the shortcut macros. This is not recommended. The "correct" values for many fields may change. Use the macros whenever possible.

Module structure field values
Field | Value | Description
size [1] [2] [3] | sizeof(zend_module_entry) | The size in bytes of the structure.
zend_api [1] [2] [3] | ZEND_MODULE_API_NO | The version of the Zend API this module was compiled against.
zend_debug [1] [2] [3] | ZEND_DEBUG | A flag indicating whether the module was compiled with debugging turned on.
zts [1] [2] [3] | USING_ZTS | A flag indicating whether the module was compiled with ZTS (TSRM) enabled (see Memory management).
ini_entry [1] [3] | NULL | This pointer is used internally by Zend to keep a non-local reference to any INI entries declared for the module.
deps [3] | NULL | A pointer to a list of dependencies for the module.
name | "mymodule" | The name of the module. This is the short name, such as "spl" or "standard".
functions | mymodule_functions | A pointer to the module's function table, which Zend uses to expose functions in the module to user space.
module_startup_func | PHP_MINIT(mymodule) | A callback function that Zend will call the first time a module is loaded into a particular instance of PHP.
module_shutdown_func | PHP_MSHUTDOWN(mymodule) | A callback function that Zend will call the when a module is unloaded from a particular instance of PHP, typically during final shutdown.
request_startup_func | PHP_RINIT(mymodule) | A callback function that Zend will call at the beginning of each request. This should be as short as possible or NULL as calling this has costs on every request.
request_shutdown_func | PHP_RSHUTDOWN(mymodule) | A callback function that Zend will call at the end of each request. This should be as short as possible or NULL as calling this has costs on every request.
info_func | PHP_MINFO(mymodule) | A callback function that Zend will call when the phpinfo() function is called.
version | NO_VERSION_YET | A string giving the version of the module, as specified by the module developer. It is recommended that the version number be either in the format expected by version_compare() (e.g. "1.0.5-dev"), or a CVS or SVN revision number (e.g. "$Rev: 322138 $").
globals_size [1] [4] [5] [6] | sizeof(zend_mymodule_globals) | The size of the data structure containing the module's globals, if any.
globals_id_ptr [1] [4] [5] [6] [7] | &mymodule_globals_id | Only one of these two fields will exist, depending upon whether the USING_ZTS constant is TRUE. The former is an index into TSRM's allocation table for the module's globals, and the latter is a pointer directly to the globals.
globals_ptr [1] [4] [5] [6] [8] | &mymodule_globals
globals_ctor [4] [5] [6] | PHP_GINIT(mymodule) | This funtion is called to initialize a module's globals before any module_startup_func.
globals_dtor [4] [5] [6] | PHP_GSHUTDOWN(mymodule) | This funtion is called to deallocate a module's globals after any module_shutdown_func.
post_deactivate_func [4] | ZEND_MODULE_POST_ZEND_DEACTIVATE_N(mymodule) | This function is called by Zend after request shutdown. It is rarely used.
module_started [1] [9] [4] | 0 | These fields are used for Zend's internal tracking information.
type [1] [9] [4] | 0
handle [1] [9] [4] | NULL
module_number [1] [9] [4] | 0
[1] This field is not intended for use by module developers. [2] This field is filled in by STANDARD_MODULE_HEADER_EX. [3] This field is filled in by STANDARD_MODULE_HEADER. [4] This field is filled in by STANDARD_MODULE_PROPERTIES. [5] This field is filled in by NO_MODULE_GLOBALS. [6] This field is filled in by PHP_MODULE_GLOBALS. [7] This field only exists when USING_ZTS is TRUE. [8] This field only exists when USING_ZTS is FALSE. [9] This field is filled in by STANDARD_MODULE_PROPERTIES_EX.

Filling in the structure in a practical situation

With all these fields to play with, it can be confusing to know which to use for what purpose. Here is the zend_module definition from the "counter" example extension after updating it to its final form.

Beispiel #3 Counter extension module definition

/* {{{ counter_module_entry
 */
zend_module_entry counter_module_entry = {
    STANDARD_MODULE_HEADER,
    "counter",
    counter_functions,
    PHP_MINIT(counter),
    PHP_MSHUTDOWN(counter),
    PHP_RINIT(counter),
    PHP_RSHUTDOWN(counter),
    PHP_MINFO(counter),
    NO_VERSION_YET,
    PHP_MODULE_GLOBALS(counter),
    PHP_GINIT(counter),
    PHP_GSHUTDOWN(counter),
    NULL,
    STANDARD_MODULE_PROPERTIES_EX
};
/* }}} */
  • STANDARD_MODULE_HEADER is used since this module doesn't define any dependencies.
  • "counter" is the extension's name, and is used to define the various callback functions the module passes to Zend. "counter" uses module, globals, and request functions at startup and shutdown times, and provides information to phpinfo(), so all seven callbacks are defined.
  • It is assumed that there is a variable of type zend_function_entry * named counter_functions earlier in the file that contains the module definition, listing the functions the module exports to userspace.
  • NO_VERSION_YET is a particularly nice way of telling Zend the module doesn't have a version. It might have been more correct to place "1.0" here instead in a real module.
  • "counter" uses per-module globals, so PHP_MODULE_GLOBALS is used
  • This module has no post-deactivate function, so NULL is used.
  • Since this module does use globals, STANDARD_MODULE_PROPERTIES_EX is used to finish the structure.

What's changed between 5.2 and 5.3?

Nothing. The only differences in the zend_module structure between PHP 5.2 and PHP 5.3 are a few const keywords.

Basic constructs
Extension globals
Extension structure


Extension globals

Introduction to globals in a PHP extension

In a language such as C, a "global" variable is a variable that can be accessed from any function without any extra declaration. These traditional globals have a few drawbacks:

  • Barring any special options passed to the compiler, a global variable can be accessed and changed by any piece of code anywhere in the program, whether or not that code should be doing so.
  • A typical global variable is not thread safe.
  • The names of global variables are as global as the variables themselves.

A PHP extension's globals are more properly called the "extension state", since most modules must remember what they're doing between function calls. The "counter" extension is a perfect example of this need: The basic interface calls for a counter with a persistent value. A programmer new to Zend and PHP might do something like this in counter.c to store that value:

Beispiel #1 The wrong way to store the basic counter interface's value

/* ... */
static long basic_counter_value;

/* ... */

PHP_FUNCTION(counter_get)
{
    RETURN_LONG(basic_counter_value);
}

On the surface this appears a viable solution, and indeed in a simple test it would function correctly. However, there are a number of situations in which more than one copy of PHP is running in the same thread, which means more than one instance of the counter module. Suddenly these multiple threads are sharing the same counter value, which is clearly undesirable. Another problem shows itself when considering that another extension might someday happen to have a global with the same name, and due to the rules of C scoping, this has the potential to cause a compile failure, or worse, a runtime error. Something more elaborate is needed, and so exists Zend's support for thread-safe per-module globals.

Declaring module globals

Whether a module uses only a single global or dozens, they must be defined in a structure, and that structure must be declared. There are some macros that assist with doing so in a way that avoids name conflicts between modules: ZEND_BEGIN_MODULE_GLOBALS(), ZEND_END_MODULE_GLOBALS(), and ZEND_DECLARE_MODULE_GLOBALS(). All three take as a parameter the short name of the module, which in the case of the counter module is simply "counter". Here is the global structure declaration from php_counter.h:

Beispiel #2 The counter module's globals

ZEND_BEGIN_MODULE_GLOBALS(counter)
    long        basic_counter_value;
ZEND_END_MODULE_GLOBALS(counter)

And this is the declaration from counter.c:

Beispiel #3 The counter module's global structure declaration

ZEND_DECLARE_MODULE_GLOBALS(counter)

Accessing module globals

As discussed above, per-module globals are declared inside a C structure whose name is obscured by Zend macros. As a result, the ideal way to access members of this structure is by the use of further macros. Accordingly, most if not all extensions which have globals have a declaration like this somewhere in their header file:

Beispiel #4 Accessor macros for per-module globals

#ifdef ZTS
#define COUNTER_G(v) TSRMG(counter_globals_id, zend_counter_globals *, v)
#else
#define COUNTER_G(v) (counter_globals.v)
#endif

Hinweis: This could have been generalized into a macro of its own by the Zend API, but as of PHP 5.3 (and PHP 6 at the time of this writing), that hasn't happened. The global accessor construct is written into the header by ext_skel and thus is generally left alone by extension writers, unless they wish to change the name of the accessor macro.

Hinweis: COUNTER_G was the name given to the macro by ext_skel, but it's not necessary for it to have that name and could just as easily be called FOO instead.

Any code in the counter extension that accesses a global must thus wrap it in the macro COUNTER_G.

Warnung

Any function which accesses globals must either be declared by Zend macros, have TSRMLS_DC as its last argument, or call the macro TSRMLS_FETCH before accessing the globals. See the TSRM documentation for more information.

So with all of that in mind, here is our new version of the counter_get():

Beispiel #5 The right way to store the basic counter interface's value

/* php_counter.h */
ZEND_BEGIN_MODULE_GLOBALS(counter)
    long        basic_counter_value;
ZEND_END_MODULE_GLOBALS(counter)

#ifdef ZTS
#define COUNTER_G(v) TSRMG(counter_globals_id, zend_counter_globals *, v)
#else
#define COUNTER_G(v) (counter_globals.v)
#endif

/* counter.c */
ZEND_DECLARE_MODULE_GLOBALS(counter)

/* ... */

PHP_FUNCTION(counter_get)
{
    RETURN_LONG(COUNTER_G(basic_counter_value));
}

This is a correct implementation. It is not, however, a complete one. The section Life cycle of an extension explains why.

The zend_module structure
Life cycle of an extension
Extension structure


Life cycle of an extension

A PHP extension goes through several phases during its lifetime. All of these phases are opportunities for the developer to perform various initialization, termination, or informational functions. The Zend API allows for hooks into five separate phases of an extension's existence, apart from calls by PHP functions.

Loading, unloading, and requests

As the Zend engine runs, it processes one or more "requests" from its client. In the traditional CGI implementation, this corresponds to one execution of a process. However, many other implementations, most notably the Apache module, can map many requests onto a single PHP process. A PHP extension may thus see many requests in its lifetime.

Overview

  • In the Zend API, a module is loaded into memory only once when the associated PHP process starts up. Each module receives a call to the "module initialization" function specified in its zend_module structure as it is loaded.
  • Whenever the associated PHP process starts to handle a request from its client - i.e. whenever the PHP interpreter is told to start working - each module receives a call to the "request initialization" function specified in its zend_module structure.
  • Whenever the associated PHP process is done handling a request, each module receives a call to the "request termination" function specified in its zend_module structure.
  • A given module is unloaded from memory when its associated PHP process is shut down in an orderly manner. The module receives a call to the "module termination" function specified in its zend_module structure at this time.

What to do, and when to do it

There are many tasks that might be performed at any of these four points. This table details where many common initialization and termination tasks belong.

What to do, and when to do it
Module initialization/termination | Request initialization/termination
Allocate/deallocate and initialize module global variables | Allocate/deallocate and initialize request-specific variables
Register/unregister class entries |
Register/unregister INI entries |
Register constants |

The phpinfo() callback

Aside from globals initialization and certain rarely-used callbacks, there is one more part of a module's lifecycle to examine: A call to phpinfo(). The output a user sees from this call, whether text or HTML or anything else, is generated by each individual extension that is loaded into the PHP interpreter at the time the call is made.

To provide for format-neutral output, the header "ext/standard/info.h" provides an array of functions to produce standardized display elements. Specifically, several functions which create the familiar tables exist:

php_info_print_table_start()
Open a table in phpinfo() output. Takes no parameters.
php_info_print_table_header()
Print a table header in phpinfo() output. Takes one parameter, the number of columns, plus the same number of char * parameters which are the texts for each column heading.
php_info_print_table_row()
Print a table row in phpinfo() output. Takes one parameter, the number of columns, plus the same number of char * parameters which are the texts for each column content.
php_info_print_table_end()
Close a table formerly opened by php_info_print_table_start(). Takes no parameters.

Using these four functions, it is possible to produce status information for nearly any combination of features in an extension. Here is the information callback from the counter extension:

Beispiel #1 counter's PHP_MINFO function

/* {{{ PHP_MINFO(counter) */
PHP_MINFO_FUNCTION(counter)
{
    char        buf[10];

    php_info_print_table_start();
    php_info_print_table_row(2, "counter support", "enabled");
    snprintf(buf, sizeof(buf), "%ld", COUNTER_G(basic_counter_value));
    php_info_print_table_row(2, "Basic counter value", buf);
    php_info_print_table_end();
}
/* }}} */
Extension globals
Testing an extension
Extension structure


Testing an extension

One of the accepted requirements of good programming is testing. PHP provides a test harness for unit regression tests, in the form of a script called run-tests.php.

Tests for a particular module are stored in the tests/ subdirectory of the module's folder, and have a .phpt extension. For details of the PHPT format, see » http://qa.php.net/.

Life cycle of an extension
PDO Driver How-To
Extension structure


PDO Driver How-To

Inhaltsverzeichnis

  • Prerequisites
  • Preparation and Housekeeping
  • Fleshing out your skeleton
  • Building
  • Testing
  • Packaging and distribution
  • pdo_dbh_t definition
  • pdo_stmt_t definition
  • Constants
  • Error handling

The purpose of this How-To is to provide a basic understanding of the steps required to write a database driver that interfaces with the PDO layer. Please note that this is still an evolving API and as such, subject to change. This document was prepared based on version 0.3 of PDO. The learning curve is steep; expect to spend a lot of time on the prerequisites.

Testing an extension
Prerequisites
PHP im Kern: Das Entwicklerhandbuch für die Zend Engine


Prerequisites

The following is list of prerequisites and assumptions needed for writing a PDO database driver:

  1. A working target database, examples, demos, etc. working as per vendor specifications;

  2. A working development environment:

    1. Linux: standard development tools, gcc, ld, make, autoconf, automake, etc., versions dependent on distribution;

    2. Other Unix: standard development tools supplied by vendor plus the GNU development tool set;

    3. Win32: Visual Studio compiler suite;

  3. A working PHP environment version 5.0.3 or higher with a working PEAR extension version 1.3.5 or higher;

  4. A working PDO environment (can be installed using 'sudo pecl install PDO'), including the headers which will be needed to access the PDO type definitions and function declarations;

  5. A good working knowledge of the C programming language;

  6. A good working knowledge of the way to write a PHP extension; George Schlossnagle's Advanced PHP Programming (published by Developer's Library, chapters 21 and 22) is recommended;

  7. Finally, a familiarity with the Zend API that forms the heart of PHP, in particular paying attention to the memory management aspects.

PDO Driver How-To
Preparation and Housekeeping
PDO Driver How-To


Preparation and Housekeeping

Source directory layout

The source directory for a typical PDO driver is laid out as follows, where SKEL represents a shortened form of the name of the database that the driver is going to connect to. Even though SKEL is presented here in uppercase (for clarity), the convention is to use lowercase characters.

pdo_SKEL/
  config.m4                  # unix build script
  config.w32                 # win32 build script
  CREDITS
  package.xml                # meta information about the package
  pdo_SKEL.c                 # standard PHP extension glue
  php_pdo_SKEL.h
  php_pdo_SKEL_int.h         # driver private header
  SKEL_dbh.c                 # contains the implementation of the PDO driver interface
  SKEL_stmt.c                # contains the implementation of the PDO statement interface
  tests/

The contents of these files are defined later in this document.

Creating a skeleton

The easiest way to get started is to use the ext_skel shell script found in the PHP build tree in the ext directory. This will build a skeleton directory containing a lot of the files listed above. It can be build by executing the following command from within the ext directory:

./ext_skel --extname=pdo_SKEL

This will generate a directory called pdo_SKEL containing the skeleton files that you can then modify. This directory should then be moved out of the php extension directory. PDO is a PECL extension and should not be included in the standard extension directory. As long as you have PHP and PDO installed, you should be able to build from any directory.

Standard Includes

Build Specific Headers

The header file config.h is generated by the configure process for the platform for the which the driver is being built. If this header is present, the HAVE_CONFIG_H compiler variable is set. This variable should be tested for and if set, the file config.h should be included in the compilation unit.

PHP Headers

The following standard public php headers should be included in each source module:

  1. php.h

  2. php_ini.h

  3. ext/standard/info.h

PDO Interface Headers

The following standard public PDO header files are also included in each source module:

pdo/php_pdo.h

This header file contains definitions of the initialization and shutdown functions in the main driver as well as definitions of global PDO variables.

pdo/php_pdo_driver.h

This header contains the types and API contracts that are used to write a PDO driver. It also contains method signature for calling back into the PDO layer and registering/unregistering your driver with PDO. Most importantly, this header file contains the type definitions for PDO database handles and statements. The two main structures a driver has to deal with, pdo_dbh_t and pdo_stmt_t, are described in more detail in Appendix A and B.

Driver Specific Headers

The typical PDO driver has two header files that are specific to the database implementation. This does not preclude the use of more depending on the implementation. The following two headers are, by convention, standard:

php_pdo_SKEL.h

This header file is virtually an exact duplicate in functionality and content of the previously defined pdo/php_pdo.h that has been specifically tailored for your database. If your driver requires the use of global variables they should be defined using the ZEND_BEGIN_MODULE_GLOBALS and ZEND_END_MODULE_GLOBALS macros. Macros are then used to access these variables. This macro is usually named PDO_SKEL_G(v) where v is global variable to be accessed. Consult the Zend programmer documentation for more information.

php_pdo_SKEL_int.h

This header file typically contains type definitions and function declarations specific to the driver implementation. It also should contain the db specific definitions of a pdo_SKEL_handle and pdo_SKEL_stmt structures. These are the names of the private data structures that are then referenced by the driver_data members of the handle and statement structures.

Optional Headers

Depending on the implementation details for a particular driver it may be necessary to include the following header:

#include <zend_exceptions.h>
Prerequisites
Fleshing out your skeleton
PDO Driver How-To


Fleshing out your skeleton

Major Structures and Attributes

The major structures, pdo_dbh_t and pdo_stmt_t are defined and explained in Appendix A and B respectively. Database and Statement attributes are defined in Appendix C. Error handling is explained in Appendix D.

pdo_SKEL.c: PHP extension glue

function entries

static function_entry pdo_SKEL_functions[] = {
  { NULL, NULL, NULL }
};

This structure is used to register functions into the global php function namespace. PDO drivers should try to avoid doing this, so it is recommended that you leave this structure initialized to NULL, as shown in the synopsis above.

Module entry

/* {{{ pdo_SKEL_module_entry */
#if ZEND_EXTENSION_API_NO >= 220050617
static zend_module_dep pdo_SKEL_deps[] = {
    ZEND_MOD_REQUIRED("pdo")
    {NULL, NULL, NULL}
};
#endif
/* }}} */

zend_module_entry pdo_SKEL_module_entry = {
#if ZEND_EXTENSION_API_NO >= 220050617
    STANDARD_MODULE_HEADER_EX, NULL,
    pdo_SKEL_deps,
#else
    STANDARD_MODULE_HEADER,
#endif
    "pdo_SKEL",
    pdo_SKEL_functions,
    PHP_MINIT(pdo_SKEL),
    PHP_MSHUTDOWN(pdo_SKEL),
    NULL,
    NULL,
    PHP_MINFO(pdo_SKEL),
    PHP_PDO_<DB>_MODULE_VERSION,
    STANDARD_MODULE_PROPERTIES
};
/* }}} */

#ifdef COMPILE_DL_PDO_<DB>
ZEND_GET_MODULE(pdo_db)
#endif

A structure of type zend_module_entry called pdo_SKEL_module_entry must be declared and should include reference to the pdo_SKEL_functions table defined previously.

Standard PHP Module Extension Functions

PHP_MINIT_FUNCTION
/* {{{ PHP_MINIT_FUNCTION */
PHP_MINIT_FUNCTION(pdo_SKEL)
{
    return php_pdo_register_driver(&pdo_SKEL_driver);
}
/* }}} */

This standard PHP extension function should be used to register your driver with the PDO layer. This is done by calling the php_pdo_register_driver() function passing a pointer to a structure of type pdo_driver_t typically named pdo_SKEL_driver. A pdo_driver_t contains a header that is generated using the PDO_DRIVER_HEADER(SKEL) macro and pdo_SKEL_handle_factory() function pointer. The actual function is described during the discussion of the SKEL_dbh.c unit.

PHP_MSHUTDOWN_FUNCTION
/* {{{ PHP_MSHUTDOWN_FUNCTION */
PHP_MSHUTDOWN_FUNCTION(pdo_SKEL)
{
    php_pdo_unregister_driver(&pdo_SKEL_driver);
    return SUCCESS;
}
/* }}} */

This standard PHP extension function is used to unregister your driver from the PDO layer. This is done by calling the php_pdo_unregister_driver() function, passing the same pdo_SKEL_driver structure that was passed in the init function above.

PHP_MINFO_FUNCTION

This is again a standard PHP extension function. Its purpose is to display information regarding the module when the phpinfo() is called from a script. The convention is to display the version of the module and also what version of the db you are dependent on, along with any other configuration style information that might be relevant.

SKEL_driver.c: Driver implementation

This unit implements all of the database handling methods that support the PDO database handle object. It also contains the error fetching routines. All of these functions will typically need to access the global variable pool. Therefore, it is necessary to use the Zend macro TSRMLS_DC macro at the end of each of these statements. Consult the Zend programmer documentation for more information on this macro.

pdo_SKEL_error

static int pdo_SKEL_error(pdo_dbh_t *dbh,
  pdo_stmt_t *stmt, const char *file, int line TSRMLS_DC)

The purpose of this function is to be used as a generic error handling function within the driver. It is called by the driver when an error occurs within the driver. If an error occurs that is not related to SQLSTATE, the driver should set either dbh->error_code or stmt->error_code to an SQLSTATE that most closely matches the error or the generic SQLSTATE error "HY000". The file pdo_sqlstate.c in the PDO source contains a table of commonly used SQLSTATE codes that the PDO code explicitly recognizes. This setting of the error code should be done prior to calling this function.; This function should set the global pdo_err variable to the error found in either the dbh or the stmt (if the variable stmt is not NULL).

dbh

Pointer to the database handle initialized by the handle factory

stmt

Pointer to the current statement or NULL. If NULL, the error is derived by error code found in the dbh.

file

The source file where the error occurred or NULL if not available.

line

The line number within the source file if available.

If the dbh member methods is NULL (which implies that the error is being raised from within the PDO constructor), this function should call the zend_throw_exception_ex() function otherwise it should return the error code. This function is usually called using a helper macro that customizes the calling sequence for either database handling errors or statement handling errors.

Beispiel #1 Example macros for invoking pdo_SKEL_error

#define pdo_SKEL_drv_error(what) \
    pdo_SKEL_error(dbh, NULL, what, __FILE__, __LINE__ TSRMLS_CC)
#define pdo_SKEL_drv_error(what) \
    pdo_SKEL_error(dbh, NULL, what, __FILE__, __LINE__ TSRMLS_CC)

For more info on error handling, see Error handling.

Hinweis:

Despite being documented here, the PDO driver interface does not specify that this function be present; it is merely a convenient way to handle errors, and it just happens to be equally convenient for the majority of database client library APIs to structure your driver implementation in this way.

pdo_SKEL_fetch_error_func

static int pdo_SKEL_fetch_error_func(pdo_dbh_t *dbh, pdo_stmt_t *stmt,
    zval *info TSRMLS_DC)

The purpose of this function is to obtain additional information about the last error that was triggered. This includes the driver specific error code and a human readable string. It may also include additional information if appropriate. This function is called as a result of the PHP script calling the PDO::errorInfo() method.

dbh

Pointer to the database handle initialized by the handle factory

stmt

Pointer to the most current statement or NULL. If NULL, the error translated is derived by error code found in the dbh.

info

A hash table containing error codes and messages.

The error_func should return two pieces of information as successive array elements. The first item is expected to be a numeric error code, the second item is a descriptive string. The best way to set this item is by using add_next_index. Note that the type of the first argument need not be long; use whichever type most closely matches the error code returned by the underlying database API.

/* now add the error information. */
/* These need to be added in a specific order */
add_next_index_long(info, error_code);   /* driver specific error code */
add_next_index_string(info, message, 0); /* readable error message */

This function should return 1 if information is available, 0 if the driver does not have additional info.

SKEL_handle_closer

static int SKEL_handle_closer(pdo_dbh_t *dbh TSRMLS_DC)

This function will be called by PDO to close an open database.

dbh

Pointer to the database handle initialized by the handle factory

This should do whatever database specific activity that needs to be accomplished to close the open database. PDO ignores the return value from this function.

SKEL_handle_preparer

static int SKEL_handle_preparer(pdo_dbh_t *dbh, const char *sql,
long sql_len, pdo_stmt_t *stmt, zval *driver_options TSRMLS_DC)

This function will be called by PDO in response to PDO::query() and PDO::prepare() calls from the PHP script. The purpose of the function is to prepare raw SQL for execution, storing whatever state is appropriate into the stmt that is passed in.

dbh

Pointer to the database handle initialized by the handle factory

sql

Pointer to a character string containing the SQL statement to be prepared.

sql_len

The length of the SQL statement.

Stmt

Pointer to the returned statement or NULL if an error occurs.

driver_options

Any driver specific/defined options.

This function is essentially the constructor for a stmt object. This function is responsible for processing statement options, and setting driver-specific option fields in the pdo_stmt_t structure.

PDO does not process any statement options on the driver's behalf before calling the preparer function. It is your responsibility to process them before you return, raising an error for any unknown options that are passed.

One very important responsibility of this function is the processing of SQL statement parameters. At the time of this call, PDO does not know if your driver supports binding parameters into prepared statements, nor does it know if it supports named or positional parameter naming conventions.

Your driver is responsible for setting stmt->supports_placeholders as appropriate for the underlying database. This may involve some run-time determination on the part of your driver, if this setting depends on the version of the database server to which it is connected. If your driver doesn't directly support both named and positional parameter conventions, you should use the pdo_parse_params() API to have PDO rewrite the query to take advantage of the support provided by your database.

Beispiel #2 Using pdo_parse_params

int ret;
    char *nsql = NULL;
    int nsql_len = 0;

    /* before we prepare, we need to peek at the query; if it uses named parameters,
     * we want PDO to rewrite them for us */
    stmt->supports_placeholders = PDO_PLACEHOLDER_POSITIONAL;
    ret = pdo_parse_params(stmt, (char*)sql, sql_len, &nsql, &nsql_len TSRMLS_CC);

    if (ret == 1) {
        /* query was re-written */
        sql = nsql;
    } else if (ret == -1) {
        /* couldn't grok it */
        strcpy(dbh->error_code, stmt->error_code);
        return 0;
    }

    /* now proceed to prepare the query in "sql" */

Possible values for supports_placeholders are: PDO_PLACEHOLDER_NAMED, PDO_PLACEHOLDER_POSITIONAL and PDO_PLACEHOLDER_NONE. If the driver doesn't support prepare statements at all, then this function should simply allocate any state that it might need, and then return:

Beispiel #3 Implementing preparer for drivers that don't support native prepared statements

static int SKEL_handle_preparer(pdo_dbh_t *dbh, const char *sql,
    long sql_len, pdo_stmt_t *stmt, zval *driver_options TSRMLS_DC)
{
    pdo_SKEL_db_handle *H = (pdo_SKEL_db_handle *)dbh->driver_data;
    pdo_SKEL_stmt *S = ecalloc(1, sizeof(pdo_SKEL_stmt));

    S->H = H;
    stmt->driver_data = S;
    stmt->methods = &SKEL_stmt_methods;
    stmt->supports_placeholders = PDO_PLACEHOLDER_NONE;

    return 1;
}

This function returns 1 on success or 0 on failure.

SKEL_handle_doer

static long SKEL_handle_doer(pdo_dbh_t *dbh, const char *sql, long sql_len TSRMLS_DC)

This function will be called by PDO to execute a raw SQL statement. No pdo_stmt_t is created.

dbh

Pointer to the database handle initialized by the handle factory

sql

Pointer to a character string containing the SQL statement to be prepared.

sql_len

The length of the SQL statement.

This function returns 1 on success or 0 on failure.

SKEL_handle_quoter

static int SKEL_handle_quoter(pdo_dbh_t *dbh, const char *unquoted,
  int unquoted_len, char **quoted, int quoted_len, enum pdo_param_type param_type TSRMLS_DC)

This function will be called by PDO to turn an unquoted string into a quoted string for use in a query.

dbh

Pointer to the database handle initialized by the handle factory

unquoted

Pointer to a character string containing the string to be quoted.

unquoted_len

The length of the string to be quoted.

quoted

Pointer to the address where a pointer to the newly quoted string will be returned.

quoted_len

The length of the new string.

param_type

A driver specific hint for driver that have alternate quoting styles

This function is called in response to a call to PDO::quote() or when the driver has set supports_placeholder to PDO_PLACEHOLDER_NONE. The purpose is to quote a parameter when building SQL statements.

If your driver does not support native prepared statements, implementation of this function is required.

This function returns 1 if the quoting process reformatted the string, and 0 if it was not necessary to change the string. The original string will be used unchanged with a 0 return.

SKEL_handle_begin

static int SKEL_handle_begin(pdo_dbh_t *dbh TSRMLS_DC)

This function will be called by PDO to begin a database transaction.

dbh

Pointer to the database handle initialized by the handle factory

This should do whatever database specific activity that needs to be accomplished to begin a transaction. This function returns 1 for success or 0 if an error occurred.

SKEL_handle_commit

static int SKEL_handle_commit(pdo_dbh_t *dbh TSRMLS_DC)

This function will be called by PDO to end a database transaction.

dbh

Pointer to the database handle initialized by the handle factory

This should do whatever database specific activity that needs to be accomplished to commit a transaction. This function returns 1 for success or 0 if an error occurred.

SKEL_handle_rollback

static int SKEL_handle_rollback( pdo_dbh_t *dbh TSRMLS_DC)

This function will be called by PDO to rollback a database transaction.

dbh

Pointer to the database handle initialized by the handle factory

This should do whatever database specific activity that needs to be accomplished to rollback a transaction. This function returns 1 for success or 0 if an error occurred.

SKEL_handle_get_attribute

static int SKEL_handle_get_attribute(pdo_dbh_t *dbh, long attr, zval *return_value TSRMLS_DC)

This function will be called by PDO to retrieve a database attribute.

dbh

Pointer to the database handle initialized by the handle factory

attr

long value of one of the PDO_ATTR_xxxx types. See Database and Statement Attributes Table for valid attributes.

return_value

The returned value for the attribute.

It is up to the driver to decide which attributes will be supported for a particular implementation. It is not necessary for a driver to supply this function. PDO driver handles the PDO_ATTR_PERSISTENT, PDO_ATTR_CASE, PDO_ATTR_ORACLE_NULLS, and PDO_ATTR_ERRMODE attributes directly.

This function returns 1 on success or 0 on failure.

SKEL_handle_set_attribute

static int SKEL_handle_set_attribute(pdo_dbh_t *dbh, long attr, zval *val TSRMLS_DC)

This function will be called by PDO to set a database attribute, usually in response to a script calling PDO::setAttribute().

dbh

Pointer to the database handle initialized by the handle factory

attr

long value of one of the PDO_ATTR_xxxx types. See Database and Statement Attributes Table for valid attributes.

val

The new value for the attribute.

It is up to the driver to decide which attributes will be supported for a particular implementation. It is not necessary for a driver to provide this function if it does not need to support additional attributes. The PDO driver handles the PDO_ATTR_CASE, PDO_ATTR_ORACLE_NULLS, and PDO_ATTR_ERRMODE attributes directly.

This function returns 1 on success or 0 on failure.

SKEL_handle_last_id

static char * SKEL_handle_last_id(pdo_dbh_t *dbh, const char *name, unsigned int len TSRMLS_DC)

This function will be called by PDO to retrieve the ID of the last inserted row.

dbh

Pointer to the database handle initialized by the handle factory

name

string representing a table or sequence name.

len

the length of the name parameter.

This function returns a character string containing the id of the last inserted row on success or NULL on failure. This is an optional function.

SKEL_check_liveness

static int SKEL_check_liveness(pdo_dbh_t *dbh TSRMLS_DC)

This function will be called by PDO to test whether or not a persistent connection to a database is alive and ready for use.

dbh

Pointer to the database handle initialized by the handle factory

This function returns 1 if the database connection is alive and ready for use, otherwise it should return 0 to indicate failure or lack of support.

Hinweis:

This is an optional function.

SKEL_get_driver_methods

static function_entry *SKEL_get_driver_methods(pdo_dbh_t *dbh, int kind TSRMLS_DC)

This function will be called by PDO in response to a call to any method that is not a part of either the PDO or PDOStatement classes. It's purpose is to allow the driver to provide additional driver specific methods to those classes.

dbh

Pointer to the database handle initialized by the handle factory

kind

One of the following:

PDO_DBH_DRIVER_METHOD_KIND_DBH

Set when the method call was attempted on an instance of the PDO class. The driver should return a pointer a function_entry table for any methods it wants to add to that class, or NULL if there are none.

PDO_DBH_DRIVER_METHOD_KIND_STMT

Set when the method call was attempted on an instance of the PDOStatement class. The driver should return a pointer to a function_entry table for any methods it wants to add to that class, or NULL if there are none.

This function returns a pointer to the function_entry table requested, or NULL there are no driver specific methods.

SKEL_handle_factory

static int SKEL_handle_factory(pdo_dbh_t *dbh, zval *driver_options TSRMLS_DC)

This function will be called by PDO to create a database handle. For most databases this involves establishing a connection to the database. In some cases, a persistent connection may be requested, in other cases connection pooling may be requested. All of these are database/driver dependent.

dbh

Pointer to the database handle initialized by the handle factory

driver_options

An array of driver options, keyed by integer option number. See Database and Statement Attributes Table for a list of possible attributes.

This function should fill in the passed database handle structure with its driver specific information on success and return 1, otherwise it should return 0 to indicate failure.

PDO processes the AUTOCOMMIT and PERSISTENT driver options before calling the handle_factory. It is the handle factory's responsibility to process other options.

Driver method table

A static structure of type pdo_dbh_methods named SKEL_methods must be declared and initialized to the function pointers for each defined function. If a function is not supported or not implemented the value for that function pointer should be set to NULL.

pdo_SKEL_driver

A structure of type pdo_driver_t named pdo_SKEL_driver should be declared. The PDO_DRIVER_HEADER(SKEL) macro should be used to declare the header and the function pointer to the handle factory function should set.

SKEL_statement.c: Statement implementation

This unit implements all of the database statement handling methods that support the PDO statement object.

SKEL_stmt_dtor

static int SKEL_stmt_dtor(pdo_stmt_t *stmt TSRMLS_DC)

This function will be called by PDO to destroy a previously constructed statement object.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

This should do whatever is necessary to free up any driver specific storage allocated for the statement. The return value from this function is ignored.

SKEL_stmt_execute

static int SKEL_stmt_execute(pdo_stmt_t *stmt TSRMLS_DC)

This function will be called by PDO to execute the prepared SQL statement in the passed statement object.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

This function returns 1 for success or 0 in the event of failure.

SKEL_stmt_fetch

static int SKEL_stmt_fetch(pdo_stmt_t *stmt, enum pdo_fetch_orientation ori,
   long offset TSRMLS_DC)

This function will be called by PDO to fetch a row from a previously executed statement object.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

ori

One of PDO_FETCH_ORI_xxx which will determine which row will be fetched.

offset

If ori is set to PDO_FETCH_ORI_ABS or PDO_FETCH_ORI_REL, offset represents the row desired or the row relative to the current position, respectively. Otherwise, this value is ignored.

The results of this fetch are driver dependent and the data is usually stored in the driver_data member of the pdo_stmt_t object. The ori and offset parameters are only meaningful if the statement represents a scrollable cursor. This function returns 1 for success or 0 in the event of failure.

SKEL_stmt_param_hook

static int SKEL_stmt_param_hook(pdo_stmt_t *stmt,
  struct pdo_bound_param_data *param, enum pdo_param_event event_type TSRMLS_DC)

This function will be called by PDO for handling of both bound parameters and bound columns.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

param

The structure describing either a statement parameter or a bound column.

event_type

The type of event to occur for this parameter, one of the following:

PDO_PARAM_EVT_ALLOC

Called when PDO allocates the binding. Occurs as part of PDOStatement::bindParam(), PDOStatement::bindValue() or as part of an implicit bind when calling PDOStatement::execute(). This is your opportunity to take some action at this point; drivers that implement native prepared statements will typically want to query the parameter information, reconcile the type with that requested by the script, allocate an appropriately sized buffer and then bind the parameter to that buffer. You should not rely on the type or value of the zval at param->parameter at this point in time.

PDO_PARAM_EVT_FREE

Called once per parameter as part of cleanup. You should release any resources associated with that parameter now.

PDO_PARAM_EXEC_PRE

Called once for each parameter immediately before calling SKEL_stmt_execute; take this opportunity to make any final adjustments ready for execution. In particular, you should note that variables bound via PDOStatement::bindParam() are only legal to touch now, and not any sooner.

PDO_PARAM_EXEC_POST

Called once for each parameter immediately after calling SKEL_stmt_execute; take this opportunity to make any post-execution actions that might be required by your driver.

PDO_PARAM_FETCH_PRE

Called once for each parameter immediately prior to calling SKEL_stmt_fetch.

PDO_PARAM_FETCH_POST

Called once for each parameter immediately after calling SKEL_stmt_fetch.

This hook will be called for each bound parameter and bound column in the statement. For ALLOC and FREE events, a single call will be made for each parameter or column. The param structure contains a driver_data field that the driver can use to store implementation specific information about each of the parameters.

For all other events, PDO may call you multiple times as the script issues PDOStatement::execute() and PDOStatement::fetch() calls.

If this is a bound parameter, the is_param flag in the param structure is set, otherwise the param structure refers to a bound column.

This function returns 1 for success or 0 in the event of failure.

SKEL_stmt_describe_col

static int SKEL_stmt_describe_col(pdo_stmt_t *stmt, int colno TSRMLS_DC)

This function will be called by PDO to query information about a particular column.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

colno

The column number to be queried.

The driver should populate the pdo_stmt_t member columns(colno) with the appropriate information. This function returns 1 for success or 0 in the event of failure.

SKEL_stmt_get_col_data

static int SKEL_stmt_get_col_data(pdo_stmt_t *stmt, int colno,
  char **ptr, unsigned long *len, int *caller_frees TSRMLS_DC)

This function will be called by PDO to retrieve data from the specified column.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

colno

The column number to be queried.

ptr

Pointer to the retrieved data.

len

The length of the data pointed to by ptr.

caller_frees

If set, ptr should point to emalloc'd memory and the main PDO driver will free it as soon as it is done with it. Otherwise, it will be the responsibility of the driver to free any allocated memory as a result of this call.

The driver should return the resultant data and length of that data in the ptr and len variables respectively. It should be noted that the main PDO driver expects the driver to manage the lifetime of the data. This function returns 1 for success or 0 in the event of failure.

SKEL_stmt_set_attr

static int SKEL_stmt_set_attr(pdo_stmt_t *stmt, long attr, zval *val TSRMLS_DC)

This function will be called by PDO to allow the setting of driver specific attributes for a statement object.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

attr

long value of one of the PDO_ATTR_xxxx types. See Database and Statement Attributes Table for valid attributes.

val

The new value for the attribute.

This function is driver dependent and allows the driver the capability to set database specific attributes for a statement. This function returns 1 for success or 0 in the event of failure. This is an optional function. If the driver does not support additional settable attributes, it can be NULLed in the method table. The PDO driver does not handle any settable attributes on the database driver's behalf.

SKEL_stmt_get_attr

static int SKEL_stmt_get_attr(pdo_stmt_t *stmt, long attr, zval
   *return_value TSRMLS_DC)

This function will be called by PDO to allow the retrieval of driver specific attributes for a statement object.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

attr

long value of one of the PDO_ATTR_xxxx types. See Database and Statement Attributes Table for valid attributes.

return_value

The returned value for the attribute.

This function is driver dependent and allows the driver the capability to retrieve a previously set database specific attribute for a statement. This function returns 1 for success or 0 in the event of failure. This is an optional function. If the driver does not support additional gettable attributes, it can be NULLed in the method table. The PDO driver does not handle any settable attributes on the database driver's behalf.

SKEL_stmt_get_col_meta

static int SKEL_stmt_get_col_meta(pdo_stmt_t *stmt, int colno,
   zval *return_value TSRMLS_DC)
Warnung

This function is not well defined and is subject to change.

This function will be called by PDO to retrieve meta data from the specified column.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

colno

The column number for which data is to be retrieved.

return_value

Holds the returned meta data.

The driver author should consult the documentation for this function that can be found in the php_pdo_driver.h header as this will be the most current. This function returns 1 for success or 0 in the event of failure. The database driver does not need to provide this function.

Statement handling method table

A static structure of type pdo_stmt_methods named SKEL_stmt_methods should be declared and initialized to the function pointers for each defined function. If a function is not supported or not implemented the value for that function pointer should be set to NULL.

Preparation and Housekeeping
Building
PDO Driver How-To


Building

The build process is designed to work with PEAR (see » http://pear.php.net/ for more information about PEAR). There are two files that are used to assist in configuring your package for building. The first is config.m4 which is the autoconf configuration file for all platforms except Win32. The second is config.w32 which is a build configuration file for use on Win32. Skeleton files for these are built for you when you first set up your project. You then need to customize them to fit the needs of your project. Once you've customized your config files, you can build your driver using the following sequence of commands:

Before first build:

$ sudo pecl install PDO

For each build:

$ cd pdo_SKEL
$ phpize
$ ./configure
$ make
$ sudo make install

The process can then be repeated as necessary during the development process.

Fleshing out your skeleton
Testing
PDO Driver How-To


Testing

PDO has a set of "core" tests that all drivers should pass before being released. They're designed to run from the PHP source distribution, so running the tests for your driver requires moving things around a bit. The suggested procedure is to obtain the latest PHP 5.1 snapshot and perform the following step:

$ cp -r pdo_SKEL /path/to/php-5.1/ext

This will allow the test harness to run your tests. The next thing you need to do is create a test that will redirect into the PDO common core tests. The convention is to name this file common.phpt; it should be placed in the tests subdirectory that was created by ext_skel when you created your extension skeleton. The content of this file should look something like the following:

--TEST--
SKEL
--SKIPIF--
<?php # vim:ft=php
if (!extension_loaded('pdo_SKEL')) print 'skip'; ?>
--REDIRECTTEST--
if (false !== getenv('PDO_SKEL_TEST_DSN')) {
# user set them from their shell
   $config['ENV']['PDOTEST_DSN'] = getenv('PDO_SKEL_TEST_DSN');
   $config['ENV']['PDOTEST_USER'] = getenv('PDO_SKEL_TEST_USER');
   $config['ENV']['PDOTEST_PASS'] = getenv('PDO_SKEL_TEST_PASS');
   if (false !== getenv('PDO_SKEL_TEST_ATTR')) {
      $config['ENV']['PDOTEST_ATTR'] = getenv('PDO_SKEL_TEST_ATTR');
   }
   return $config;
}
return array(
   'ENV' => array(
           'PDOTEST_DSN' => 'SKEL:dsn',
           'PDOTEST_USER' => 'username',
           'PDOTEST_PASS' => 'password'
       ),
   'TESTS' => 'ext/pdo/tests'
   );

This will cause the common core tests to be run, passing the values of PDOTEST_DSN, PDOTEST_USER and PDOTEST_PASS to the PDO constructor as the dsn, username and password parameters. It will first check the environment, so that appropriate values can be passed in when the test harness is run, rather than hard-coding the database credentials into the test file.

The test harness can be invoked as follows:

$ cd /path/to/php-5.1
$ make TESTS=ext/pdo_SKEL/tests PDO_SKEL_TEST_DSN="skel:dsn" \
 PDO_SKEL_TEST_USER=user PDO_SKEL_TEST_PASS=pass test
Building
Packaging and distribution
PDO Driver How-To


Packaging and distribution

Creating a package

PDO drivers are released via PECL; all the usual rules for PECL extensions apply. Packaging is accomplished by creating a valid package.xml file and then running:

$ pecl package

This will create a tarball named PDO_SKEL-X.Y.Z.tgz.

Before releasing the package, you should test that it builds correctly; if you've made a mistake in your config.m4 or package.xml files, the package may not function correctly. You can test the build, without installing anything, using the following invocation:

$ pecl build package.xml

Once this is proven to work, you can test installation:

$ pecl package
$ sudo pecl install PDO_SKEL-X.Y.X.tgz

Full details about package.xml can be found in the PEAR Programmer's documentation (» http://pear.php.net/manual/).

Releasing the package

A PDO driver is released via the PHP Extension Community Library (PECL). Information about PECL can be found at » http://pecl.php.net/.

Testing
pdo_dbh_t definition
PDO Driver How-To


pdo_dbh_t definition

All fields should be treated as read-only by the driver, unless explicitly stated otherwise.

pdo_dbh_t

/* represents a connection to a database */
struct _pdo_dbh_t {
    /* driver specific methods */
    struct pdo_dbh_methods *methods;
*
/* driver specific data */
    void *driver_data;
**
/* credentials */
    char *username, *password;
***
/* if true, then data stored and pointed at by this handle must all be
     * persistently allocated */
    unsigned is_persistent:1;
****
/* if true, driver should act as though a COMMIT were executed between
     * each executed statement; otherwise, COMMIT must be carried out manually
     * */
    unsigned auto_commit:1;
*****
/* if true, the driver requires that memory be allocated explicitly for
     * the columns that are returned */
    unsigned alloc_own_columns:1;
******
/* if true, commit or rollBack is allowed to be called */
    unsigned in_txn:1;

    /* max length a single character can become after correct quoting */
    unsigned max_escaped_char_length:3;
*******
/* data source string used to open this handle */
    const char *data_source;
********
unsigned long data_source_len;

    /* the global error code. */
    pdo_error_type error_code;
*********
enum pdo_case_conversion native_case
**********
, desired_case;
};
*

The driver must set this during SKEL_handle_factory().

**

This item is for use by the driver; the intended usage is to store a pointer (during SKEL_handle_factory()) to whatever instance data is required to maintain a connection to the database.

***

The username and password that were passed into the PDO constructor. The driver should use these values when it initiates a connection to the database.

****

If this is set to 1, then any data that is referenced by the dbh, including whatever structure your driver allocates, MUST be allocated persistently. This is easy to achieve; rather than using the usual emalloc() simply use pemalloc() and pass the value of this flag as the last parameter. Failure to use the appropriate kind of memory can lead to serious memory faults, resulting (in the best case) a hard crash, and in the worst case, an exploitable memory problem.

If, for whatever reason, your driver is not suitable to run persistently, you MUST check this flag in your SKEL_handle_factory() and raise an appropriate error.

*****

You should check this value in your SKEL_handle_doer() and SKEL_stmt_execute() functions; if it evaluates to true, you must attempt to commit the query now. Most database implementations offer an auto-commit mode that handles this automatically.

******

If your database client library API operates by fetching data into a caller-supplied buffer, you should set this flag to 1 during your SKEL_handle_factory(). When set, PDO will call your SKEL_stmt_describer() earlier than it would otherwise. This early call allows you to determine those buffer sizes and issue appropriate calls to the database client library.

If your database client library API simply returns pointers to its own internal buffers for you to copy after each fetch call, you should leave this value set to 0.

*******

If your driver doesn't support native prepared statements (supports_placeholders is set to PDO_PLACEHOLDER_NONE), you must set this value to the maximum length that can be taken up by a single character when it is quoted by your SKEL_handle_quoter() function. This value is used to calculate the amount of buffer space required when PDO executes the statement.

********

This holds the value of the DSN that was passed into the PDO constructor. If your driver implementation needed to modify the DSN for whatever reason, it should update this member during SKEL_handle_factory(). Modifying this member should be avoided. If you do change it, you must ensure that data_source_len is also correct.

*********

Whenever an error occurs during a call to one of your driver methods, you should set this member to the SQLSTATE code that best describes the error and return an error. In this HOW-TO, the suggested practice is to call SKEL_handle_error() when an error is detected, and have it set the error code.

**********

Your driver should set this during SKEL_handle_factory(); the value should reflect how the database returns the names of the columns in result sets. If the name matches the case that was used in the query, set it to PDO_CASE_NATURAL (this is actually the default). If the column names are always returned in upper case, set it to PDO_CASE_UPPER. If the column names are always returned in lower case, set it to PDO_CASE_LOWER. The value you set is used to determine if PDO should perform case folding when the user sets the PDO_ATTR_CASE attribute.

Packaging and distribution
pdo_stmt_t definition
PDO Driver How-To


pdo_stmt_t definition

All fields should be treated as read-only unless explicitly stated otherwise.

pdo_stmt_t

/* represents a prepared statement */
struct _pdo_stmt_t {
    /* driver specifics */
    struct pdo_stmt_methods *methods;
*
void *driver_data;
**
/* if true, we've already successfully executed this statement at least
     * once */
    unsigned executed:1;
***
/* if true, the statement supports placeholders and can implement
     * bindParam() for its prepared statements, if false, PDO should
     * emulate prepare and bind on its behalf */
    unsigned supports_placeholders:2;
****
/* the number of columns in the result set; not valid until after
     * the statement has been executed at least once.  In some cases, might
     * not be valid until fetch (at the driver level) has been called at least once.
     * */
    int column_count;
*****
struct pdo_column_data *columns;
******
/* points at the dbh that this statement was prepared on */
    pdo_dbh_t *dbh;

    /* keep track of bound input parameters.  Some drivers support
     * input/output parameters, but you can't rely on that working */
    HashTable *bound_params;
    /* When rewriting from named to positional, this maps positions to names */
    HashTable *bound_param_map;
    /* keep track of PHP variables bound to named (or positional) columns
     * in the result set */
    HashTable *bound_columns;

    /* not always meaningful */
    long row_count;

    /* used to hold the statement's current query */
    char *query_string;
    int query_stringlen;

    /* the copy of the query with expanded binds ONLY for emulated-prepare drivers */
    char *active_query_string;
    int active_query_stringlen;

    /* the cursor specific error code. */
    pdo_error_type error_code;

    /* used by the query parser for driver specific
     * parameter naming (see pgsql driver for example) */
    const char *named_rewrite_template;
};
* | The driver must set this during SKEL_handle_preparer().
** | This item is for use by the driver; the intended usage is to store a pointer (during SKEL_handle_factory()) to whatever instance data is required to maintain a connection to the database.
*** | This is set by PDO after the statement has been executed for the first time. Your driver can inspect this value to determine if it can skip one-time actions as an optimization.
**** | Discussed in more detail in SKEL_handle_preparer.
***** | Your driver is responsible for setting this field to the number of columns available in a result set. This is usually set during SKEL_stmt_execute() but with some database implementations, the column count may not be available until SKEL_stmt_fetch() has been called at least once. Drivers that implement SKEL_stmt_next_rowset() should update the column count when a new rowset is available.
****** | PDO will allocate this field based on the value that you set for the column count. You are responsible for populating each column during SKEL_stmt_describe(). You must set the precision, maxlen, name, namelen and param_type members for each column. The name is expected to be allocated using emalloc(); PDO will call efree() at the appropriate time.
pdo_dbh_t definition
Constants
PDO Driver How-To


Constants

Database and Statement Attributes Table

Attribute

Valid value(s)

PDO_ATTR_AUTOCOMMIT

BOOL

TRUE if autocommit is set, FALSE otherwise.

dbh->auto_commit contains value. Processed by PDO directly.

PDO_ATTR_PREFETCH

LONG

Value of the prefetch size in drivers that support it.

PDO_ATTR_TIMEOUT

LONG

How long to wait for a db operation before timing out.

PDO_ATTR_ERRMODE

LONG

Processed and handled by PDO

PDO_ATTR_SERVER_VERSION

STRING

The "human-readable" string representing the Server/Version this driver is currently connected to.

PDO_ATTR_CLIENT_VERSION

STRING

The "human-readable" string representing the Client/Version this driver supports.

PDO_ATTR_SERVER_INFO

STRING

The "human-readable" description of the Server.

PDO_ATTR_CONNECTION_STATUS

LONG

Values not yet defined

PDO_ATTR_CASE

LONG

Processed and handled by PDO.

PDO_ATTR_CURSOR_NAME

STRING

String representing the name for a database cursor for use in "where current in <name>" SQL statements.

PDO_ATTR_CURSOR

LONG

PDO_CURSOR_FWDONLY

Forward only cursor

PDO_CURSOR_SCROLL

Scrollable cursor

The values for the attributes above are all defined in terms of the Zend API. The Zend API contains macros that can be used to convert a *zval to a value. These macros are defined in the Zend header file, zend_API.h in the Zend directory of your PHP build directory. Some of these attributes can be used with the statement attribute handlers such as the PDO_ATTR_CURSOR and PDO_ATTR_CURSOR_NAME. See the statement attribute handling functions for more information.

pdo_stmt_t definition
Error handling
PDO Driver How-To


Error handling

Error handling is implemented using a hand-shaking protocol between PDO and the database driver code. The database driver code signals PDO that an error has occurred via a failure (0) return from any of the interface functions. If a zero is returned, set the field error_code in the control block appropriate to the context (either the pdo_dbh_t or pdo_stmt_t block). In practice, it is probably a good idea to set the field in both blocks to the same value to ensure the correct one is getting used.

The error_mode field is a six-byte field containing a 5 character ASCIIZ SQLSTATE identifier code. This code drives the error message process. The SQLSTATE code is used to look up an error message in the internal PDO error message table (see pdo_sqlstate.c for a list of error codes and their messages). If the code is not known to PDO, a default "Unknown Message" value will be used.

In addition to the SQLSTATE code and error message, PDO will call the driver-specific fetch_err() routine to obtain supplemental data for the particular error condition. This routine is passed an array into which the driver may place additional information. This array has slot positions assigned to particular types of supplemental info:

  1. A native error code. This will frequently be an error code obtained from the database API.

  2. A descriptive string. This string can contain any additional information related to the failure. Database drivers typically include information such as an error message, code location of the failure, and any additional descriptive information the driver developer feels worthy of inclusion. It is generally a good idea to include all diagnostic information obtainable from the database interface at the time of the failure. For driver-detected errors (such as memory allocation problems), the driver developer can define whatever error information that seems appropriate.

Constants
Extension FAQs
PDO Driver How-To


Extension FAQs

Error handling
Zend Engine 2 API reference
PHP im Kern: Das Entwicklerhandbuch für die Zend Engine


Zend Engine 2 API reference

Extension FAQs
Zend Engine 2 Opcodes
PHP im Kern: Das Entwicklerhandbuch für die Zend Engine


Zend Engine 2 Opcodes

Inhaltsverzeichnis

  • Opcode Descriptions and Examples

When parsing PHP files, Zend Engine 2 generates a series of operation codes, commonly known as "opcodes", representing the function of the code. This part of the manual details those opcodes and their behaviour.

Opcodes may be dumped for a given PHP file using the vld extension (see » http://pecl.php.net/package/vld).

Opcode List
Number | Name | Has sample code?
0 | NOP | yes
1 | ADD | yes
2 | SUB | yes
3 | MUL | yes
4 | DIV | yes
5 | MOD | yes
6 | SL | yes
7 | SR | yes
8 | CONCAT | yes
9 | BW_OR | yes
10 | BW_AND | yes
11 | BW_XOR | yes
12 | BW_NOT | yes
13 | BOOL_NOT | yes
14 | BOOL_XOR | yes
15 | IS_IDENTICAL | yes
16 | IS_NOT_IDENTICAL | yes
17 | IS_EQUAL | yes
18 | IS_NOT_EQUAL | yes
19 | IS_SMALLER | yes
20 | IS_SMALLER_OR_EQUAL | yes
21 | CAST | yes
22 | QM_ASSIGN | yes
23 | ASSIGN_ADD | yes
24 | ASSIGN_SUB | yes
25 | ASSIGN_MUL | yes
26 | ASSIGN_DIV | yes
27 | ASSIGN_MOD | yes
28 | ASSIGN_SL | yes
29 | ASSIGN_SR | yes
30 | ASSIGN_CONCAT | yes
31 | ASSIGN_BW_OR | yes
32 | ASSIGN_BW_AND | yes
33 | ASSIGN_BW_XOR | yes
34 | PRE_INC | yes
35 | PRE_DEC | yes
36 | POST_INC | yes
37 | POST_DEC | yes
38 | ASSIGN | yes
39 | ASSIGN_REF | yes
40 | ECHO | yes
41 | PRINT | yes
42 | JMP | yes
43 | JMPZ | yes
44 | JMPNZ | yes
45 | JMPZNZ | yes
46 | JMPZ_EX | yes
47 | JMPNZ_EX | yes
48 | CASE | yes
49 | SWITCH_FREE | yes
50 | BRK | yes
51 | CONT | yes
52 | BOOL | yes
53 | INIT_STRING | yes
54 | ADD_CHAR | yes
55 | ADD_STRING | yes
56 | ADD_VAR | yes
57 | BEGIN_SILENCE | yes
58 | END_SILENCE | yes
59 | INIT_FCALL_BY_NAME | yes
60 | DO_FCALL | yes
61 | DO_FCALL_BY_NAME | yes
62 | RETURN | yes
63 | RECV | yes
64 | RECV_INIT | yes
65 | SEND_VAL | yes
66 | SEND_VAR | yes
67 | SEND_REF | yes
68 | NEW | yes
69 | INIT_NS_FCALL_BY_NAME | no
70 | FREE | yes
71 | INIT_ARRAY | yes
72 | ADD_ARRAY_ELEMENT | yes
73 | INCLUDE_OR_EVAL | yes
74 | UNSET_VAR | yes
75 | UNSET_DIM | yes
76 | UNSET_OBJ | yes
77 | FE_RESET | yes
78 | FE_FETCH | yes
79 | EXIT | yes
80 | FETCH_R | yes
81 | FETCH_DIM_R | yes
82 | FETCH_OBJ_R | yes
83 | FETCH_W | yes
84 | FETCH_DIM_W | yes
85 | FETCH_OBJ_W | yes
86 | FETCH_RW | yes
87 | FETCH_DIM_RW | yes
88 | FETCH_OBJ_RW | yes
89 | FETCH_IS | yes
90 | FETCH_DIM_IS | no
91 | FETCH_OBJ_IS | no
92 | FETCH_FUNC_ARG | yes
93 | FETCH_DIM_FUNC_ARG | yes
94 | FETCH_OBJ_FUNC_ARG | yes
95 | FETCH_UNSET | no
96 | FETCH_DIM_UNSET | no
97 | FETCH_OBJ_UNSET | no
98 | FETCH_DIM_TMP_VAR | yes
99 | FETCH_CONSTANT | yes
100 | GOTO | no
101 | EXT_STMT | yes
102 | EXT_FCALL_BEGIN | no
103 | EXT_FCALL_END | no
104 | EXT_NOP | no
105 | TICKS | yes
106 | SEND_VAR_NO_REF | no
107 | CATCH | yes
108 | THROW | yes
109 | FETCH_CLASS | yes
110 | CLONE | yes
111 | RETURN_BY_REF | no
112 | INIT_METHOD_CALL | yes
113 | INIT_STATIC_METHOD_CALL | yes
114 | ISSET_ISEMPTY_VAR | yes
115 | ISSET_ISEMPTY_DIM_OBJ | yes
116 | not documented | no
117 | not documented | no
118 | not documented | no
119 | not documented | no
120 | not documented | no
121 | not documented | no
122 | not documented | no
123 | not documented | no
124 | not documented | no
125 | not documented | no
126 | not documented | no
127 | not documented | no
128 | not documented | no
129 | not documented | no
130 | not documented | no
131 | not documented | no
132 | PRE_INC_OBJ | yes
133 | PRE_DEC_OBJ | yes
134 | POST_INC_OBJ | yes
135 | POST_DEC_OBJ | yes
136 | ASSIGN_OBJ | yes
137 | not documented | no
138 | INSTANCEOF | yes
139 | DECLARE_CLASS | yes
140 | DECLARE_INHERITED_CLASS | yes
141 | DECLARE_FUNCTION | yes
142 | RAISE_ABSTRACT_ERROR | yes
143 | DECLARE_CONST | no
144 | ADD_INTERFACE | no
145 | DECLARE_INHERITED_CLASS_DELAYED | no
146 | VERIFY_ABSTRACT_CLASS | no
147 | ASSIGN_DIM | yes
148 | ISSET_ISEMPTY_PROP_OBJ | yes
149 | HANDLE_EXCEPTION | yes
150 | USER_OPCODE | no
152 | ZEND_JMP_SET | no
153 | ZEND_DECLARE_LAMBDA_FUNCTION | no
154 | ZEND_ADD_TRAIT | no
155 | ZEND_BIND_TRAITS | no
156 | ZEND_SEPARATE | no
157 | ZEND_FETCH_CLASS_NAME | no
158 | ZEND_CALL_TRAMPOLINE | no
159 | ZEND_DISCARD_EXCEPTION | no
160 | ZEND_YIELD | no
161 | ZEND_GENERATOR_RETURN | no
162 | ZEND_FAST_CALL | no
163 | ZEND_FAST_RET | no
164 | ZEND_RECV_VARIADIC | no
165 | ZEND_SEND_UNPACK | no
166 | ZEND_POW | no
167 | ZEND_ASSIGN_POW | no
168 | ZEND_BIND_GLOBAL | no
169 | ZEND_COALESCE | no
170 | ZEND_SPACESHIP | no
171 | ZEND_DECLARE_ANON_CLASS | no
172 | ZEND_DECLARE_ANON_INHERITED_CLASS | no
Zend Engine 2 API reference
Opcode Descriptions and Examples
PHP im Kern: Das Entwicklerhandbuch für die Zend Engine


Opcode Descriptions and Examples

Inhaltsverzeichnis

  • ADD
  • ADD_ARRAY_ELEMENT
  • ADD_CHAR
  • ADD_INTERFACE
  • ADD_STRING
  • ADD_VAR
  • ASSIGN
  • ASSIGN_ADD
  • ASSIGN_BW_AND
  • ASSIGN_BW_OR
  • ASSIGN_BW_XOR
  • ASSIGN_CONCAT
  • ASSIGN_DIM
  • ASSIGN_DIV
  • ASSIGN_MOD
  • ASSIGN_MUL
  • ASSIGN_OBJ
  • ASSIGN_REF
  • ASSIGN_SL
  • ASSIGN_SR
  • ASSIGN_SUB
  • BEGIN_SILENCE
  • BOOL
  • BOOL_NOT
  • BOOL_XOR
  • BRK
  • BW_AND
  • BW_NOT
  • BW_OR
  • BW_XOR
  • CASE
  • CAST
  • CATCH
  • CLONE
  • CONCAT
  • CONT
  • DECLARE_CLASS
  • DECLARE_CONST
  • DECLARE_FUNCTION
  • DECLARE_INHERITED_CLASS
  • DECLARE_INHERITED_CLASS_DELAYED
  • DIV
  • DO_FCALL
  • DO_FCALL_BY_NAME
  • ECHO
  • END_SILENCE
  • EXIT
  • EXT_FCALL_BEGIN
  • EXT_FCALL_END
  • EXT_NOP
  • EXT_STMT
  • FE_FETCH
  • FE_RESET
  • FETCH_CLASS
  • FETCH_CONSTANT
  • FETCH_DIM_FUNC_ARG
  • FETCH_DIM_IS
  • FETCH_DIM_R
  • FETCH_DIM_RW
  • FETCH_DIM_TMP_VAR
  • FETCH_DIM_UNSET
  • FETCH_DIM_W
  • FETCH_FUNC_ARG
  • FETCH_IS
  • FETCH_OBJ_FUNC_ARG
  • FETCH_OBJ_IS
  • FETCH_OBJ_R
  • FETCH_OBJ_RW
  • FETCH_OBJ_UNSET
  • FETCH_OBJ_W
  • FETCH_R
  • FETCH_RW
  • FETCH_UNSET
  • FETCH_W
  • FREE
  • GOTO
  • HANDLE_EXCEPTION
  • INCLUDE_OR_EVAL
  • INIT_ARRAY
  • INIT_FCALL_BY_NAME
  • INIT_METHOD_CALL
  • INIT_NS_FCALL_BY_NAME
  • INIT_STATIC_METHOD_CALL
  • INIT_STRING
  • INSTANCEOF
  • IS_EQUAL
  • IS_IDENTICAL
  • IS_NOT_EQUAL
  • IS_NOT_IDENTICAL
  • IS_SMALLER
  • IS_SMALLER_OR_EQUAL
  • ISSET_ISEMPTY_DIM_OBJ
  • ISSET_ISEMPTY_PROP_OBJ
  • ISSET_ISEMPTY_VAR
  • JMP
  • JMPNZ
  • JMPNZ_EX
  • JMPZ
  • JMPZ_EX
  • JMPZNZ
  • MOD
  • MUL
  • NEW
  • NOP
  • POST_DEC
  • POST_DEC_OBJ
  • POST_INC
  • POST_INC_OBJ
  • PRE_DEC
  • PRE_DEC_OBJ
  • PRE_INC
  • PRE_INC_OBJ
  • PRINT
  • QM_ASSIGN
  • RAISE_ABSTRACT_ERROR
  • RECV
  • RECV_INIT
  • RETURN
  • RETURN_BY_REF
  • SEND_REF
  • SEND_VAL
  • SEND_VAR
  • SEND_VAR_NO_REF
  • SL
  • SR
  • SUB
  • SWITCH_FREE
  • THROW
  • TICKS
  • UNSET_DIM
  • UNSET_OBJ
  • UNSET_VAR
  • USER_OPCODE
  • VERIFY_ABSTRACT_CLASS
  • ZEND_DECLARE_LAMBDA_FUNCTION
  • ZEND_JMP_SET
Zend Engine 2 Opcodes
ADD
Zend Engine 2 Opcodes


ADD

PHP code

<?php
/*
 * Adds "value1" to "value2" and stores the result into "result".
 * opcode number: 1
 */
echo 1 + 2;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | ADD |  |  | ~0 | 1,2
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
Opcode Descriptions and Examples
ADD_ARRAY_ELEMENT
Opcode Descriptions and Examples


ADD_ARRAY_ELEMENT

PHP code

<?php
/*
 * Add elem-value as an element to array-value
 * opcode number: 72
 */
$a = array(1,2,3);
print_r($a);
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 1
 | 1 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 3 | ASSIGN |  |  |  | !0,~0
7 | 4 | SEND_VAR |  |  |  | !0
 | 5 | DO_FCALL |  | 1 |  | 'print_r'
8 | 6 | RETURN |  |  |  | 1
ADD
ADD_CHAR
Opcode Descriptions and Examples


ADD_CHAR

PHP code

<?php
/*
 * add regular characters in encapsed string
 * opcode number: 54
 */
echo "$a ";
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ADD_VAR |  |  |  | !0
 | 1 | ADD_CHAR |  |  |  | 32
 | 2 | ECHO |  |  |  |
 | 3 | RETURN |  |  |  | 1
ADD_ARRAY_ELEMENT
ADD_INTERFACE
Opcode Descriptions and Examples


ADD_INTERFACE

PHP code

<?php
/*
 * adds an implemented interface to a class declaration
 * opcode number: 144
 */
interface iA {
}

class A implements iA {
}
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
 | 1 | DECLARE_CLASS |  |  |  | 'a'
 | 2 | ADD_INTERFACE |  |  |  | 'iA'
 | 3 | VERIFY_ABSTRACT_CLASS |  |  |  |
 | 3 | RETURN |  |  |  | 1
ADD_CHAR
ADD_STRING
Opcode Descriptions and Examples


ADD_STRING

PHP code

<?php
/*
 * add string value2 to string value2 and store in result
 * opcode number: 55
 */
echo "hello$a world";
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ADD_STRING |  |  | ~0 | 'hello'
 | 1 | ADD_VAR |  |  | ~0 | ~0,!0
 | 2 | ADD_STRING |  |  | ~0 | ~0,'+world'
 | 3 | ECHO |  |  |  | ~0
7 | 4 | RETURN |  |  |  | 1
ADD_INTERFACE
ADD_VAR
Opcode Descriptions and Examples


ADD_VAR

PHP code

<?php
/*
 * add contents of variable in value2 to string value1 and store in result
 * opcode number: 56
 */
echo "hello$a world";
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ADD_STRING |  |  | ~0 | 'hello'
 | 1 | ADD_VAR |  |  | ~0 | ~0,!0
 | 2 | ADD_STRING |  |  | ~0 | ~0,'+world'
 | 3 | ECHO |  |  |  | ~0
7 | 4 | RETURN |  |  |  | 1
ADD_STRING
ASSIGN
Opcode Descriptions and Examples


ASSIGN

PHP code

<?php
/*
 * assigns value1 to result
 * opcode number: 38
 */
$a=1;
$a='a';
$a=new A();
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,1
7 | 1 | ASSIGN |  |  |  | !0,'a'
8 | 2 | ZEND_FETCH_CLASS |  |  | :2 | 'A'
 | 3 | NEW |  |  | $3 | :2
 | 4 | DO_FCALL_BY_NAME |  | 0 |  |
 | 5 | ASSIGN |  |  |  | !0,$3
9 | 6 | RETURN |  |  |  | 1
ADD_VAR
ASSIGN_ADD
Opcode Descriptions and Examples


ASSIGN_ADD

PHP code

<?php
/*
 * Add value1 to value2 and store in variable indicated by value1
 * opcode number: 23
 */
$a+=3;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_ADD |  |  |  | !0,3
7 | 1 | RETURN |  |  |  | 1
ASSIGN
ASSIGN_BW_AND
Opcode Descriptions and Examples


ASSIGN_BW_AND

PHP code

<?php
/*
 * Performs binary AND on result and value1 and stores in variable indicated by result.
 * opcode number: 32
 */
$a &= 64;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_BW_AND |  |  |  | !0,64
7 | 1 | RETURN |  |  |  | 1
ASSIGN_ADD
ASSIGN_BW_OR
Opcode Descriptions and Examples


ASSIGN_BW_OR

PHP code

<?php
/*
 * Performs binary OR on result and value1 and stores in variable indicated by result.
 * opcode number: 31
 */
$a |= 64;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_BW_OR |  |  |  | !0,64
7 | 1 | RETURN |  |  |  | 1
ASSIGN_BW_AND
ASSIGN_BW_XOR
Opcode Descriptions and Examples


ASSIGN_BW_XOR

PHP code

<?php
/*
 * Performs binary XOR on result and value1and stores in variable indicated by result.
 * opcode number: 33
 */
$a ^= 64;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_BW_XOR |  |  |  | !0,64
7 | 1 | RETURN |  |  |  | 1
ASSIGN_BW_OR
ASSIGN_CONCAT
Opcode Descriptions and Examples


ASSIGN_CONCAT

PHP code

<?php
/*
 * Concats string values result and value1 and store in variable indicated by result
 * opcode number: 30
 */
$a .= 'z';
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_CONCAT |  |  |  | !0,'z'
7 | 1 | RETURN |  |  |  | 1
ASSIGN_BW_XOR
ASSIGN_DIM
Opcode Descriptions and Examples


ASSIGN_DIM

PHP code

<?php
/*
 *
 * opcode number: 147
 */
$b = 1;
$a[1][2] = $b;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$b, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,1
7 | 1 | FETCH_DIM_W |  |  | $1 | !1,1
 | 2 | ZEND_ASSIGN_DIM |  |  |  | $1,2
 | 3 | ZEND_OP_DATA |  |  |  | !0,$3
8 | 4 | RETURN |  |  |  | 1
ASSIGN_CONCAT
ASSIGN_DIV
Opcode Descriptions and Examples


ASSIGN_DIV

PHP code

<?php
/*
 * Divide result by value1and store in variable indicated by result.
 * opcode number: 26
 */
$a/=3;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_DIV |  |  |  | !0,3
7 | 1 | RETURN |  |  |  | 1
ASSIGN_DIM
ASSIGN_MOD
Opcode Descriptions and Examples


ASSIGN_MOD

PHP code

<?php
/*
 * Perform result mod value1 and store in variable indicated by result
 * opcode number: 27
 */
$a %= 3;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_MOD |  |  |  | !0,3
7 | 1 | RETURN |  |  |  | 1
ASSIGN_DIV
ASSIGN_MUL
Opcode Descriptions and Examples


ASSIGN_MUL

PHP code

<?php
/*
 * Multiply result by value1 and store in variable indicated by result
 * opcode number: 25
 */
$a*=3;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_MUL |  |  |  | !0,3
7 | 1 | RETURN |  |  |  | 1
ASSIGN_MOD
ASSIGN_OBJ
Opcode Descriptions and Examples


ASSIGN_OBJ

PHP code

<?php
/*
 *
 * opcode number: 136
 */
$obj->a = $otherobj;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj, !1=$otherobj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_ASSIGN_OBJ |  |  |  | !0,'a'
 | 1 | ZEND_OP_DATA |  |  |  | !1
7 | 2 | RETURN |  |  |  | 1
ASSIGN_MUL
ASSIGN_REF
Opcode Descriptions and Examples


ASSIGN_REF

PHP code

<?php
/*
 * indicates that variable indicated by value1 is to be treated in the global scope for the remainder of the current scope.
 * opcode number: 39
 */
global $a;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | FETCH_W | globallock |  | $0 | 'a'
 | 1 | ASSIGN_REF |  |  |  | !0,$0
7 | 2 | RETURN |  |  |  | 1
ASSIGN_OBJ
ASSIGN_SL
Opcode Descriptions and Examples


ASSIGN_SL

PHP code

<?php
/*
 * Shift result by value1 bits to left and store in variable indicated by result
 * opcode number: 28
 */
$a <<= 3;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_SL |  |  |  | !0,3
7 | 1 | RETURN |  |  |  | 1
ASSIGN_REF
ASSIGN_SR
Opcode Descriptions and Examples


ASSIGN_SR

PHP code

<?php
/*
 * Shift result by value1 bits to right and store in variable indicated by result
 * opcode number: 29
 */
$a >>= 3;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_SR |  |  |  | !0,3
7 | 1 | RETURN |  |  |  | 1
ASSIGN_SL
ASSIGN_SUB
Opcode Descriptions and Examples


ASSIGN_SUB

PHP code

<?php
/*
 * Subtract value1 from value2 and store in variable indicated by value1
 * opcode number: 24
 */
$a-=3;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_SUB |  |  |  | !0,3
7 | 1 | RETURN |  |  |  | 1
ASSIGN_SR
BEGIN_SILENCE
Opcode Descriptions and Examples


BEGIN_SILENCE

PHP code

<?php
/*
 * prepare to perform function call without displaying error messages
 * opcode number: 57
 */
/* Intentional file error */
$my_file = @file ('non_existent_file') or
   die ("error:'$php_errormsg'");
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$my_file, !1=$php_errormsg

line | # | op | fetch | ext | return | operands
7 | 0 | BEGIN_SILENCE |  |  | ~0 |
 | 1 | SEND_VAL |  |  |  | 'non_existent_file'
 | 2 | DO_FCALL |  | 1 |  | 'file'
 | 3 | END_SILENCE |  |  |  | ~0
 | 4 | ASSIGN |  |  | $2 | !0,$1
 | 5 | JMPNZ_EX |  |  | ~3 | $2,->11
8 | 6 | ADD_STRING |  |  | ~4 | 'error%3A%27'
 | 7 | ADD_VAR |  |  | ~4 | ~4,!1
 | 8 | ADD_CHAR |  |  | ~4 | ~4,39
 | 9 | EXIT |  |  |  | ~4
 | 10 | BOOL |  |  | ~3 | true
 | 11 | FREE |  |  |  | ~3
9 | 12 | RETURN |  |  |  | 1
ASSIGN_SUB
BOOL
Opcode Descriptions and Examples


BOOL

PHP code

<?php
/*
 * convert value1 to boolean and store in result??????????
 * opcode number: 52
 */
if (1 || 2 || 1) echo "foo";
//$a = true;
//if($a) echo "foo";
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | JMPNZ_EX |  |  | ~0 | 1,->2
 | 1 | BOOL |  |  | ~0 | 2
 | 2 | JMPNZ_EX |  |  | ~0 | ~0,->4
 | 3 | BOOL |  |  | ~0 | 1
 | 4 | JMPZ |  |  |  | ~0,->7
 | 5 | ECHO |  |  |  | 'foo'
 | 6 | JMP |  |  |  | ->7
9 | 7 | RETURN |  |  |  | 1
BEGIN_SILENCE
BOOL_NOT
Opcode Descriptions and Examples


BOOL_NOT

PHP code

<?php
/*
 * Boolean (logical) not of "value"
 * opcode number: 13
 */
echo !1;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | BOOL_NOT |  |  | ~0 | 1
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
BOOL
BOOL_XOR
Opcode Descriptions and Examples


BOOL_XOR

PHP code

<?php
/*
 * Boolean (logical) xor of value1
 * opcode number: 14
 */
echo 1 xor 2;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | BOOL_XOR |  |  | ~0 | 1,2
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
BOOL_NOT
BRK
Opcode Descriptions and Examples


BRK

PHP code

<?php
/*
 * ???  End of a case block exists the current switch block.  Followed by JMP?
 * opcode number: 50
 */
$x = 0;
while(1) {
    if($x == 0) break;
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,0
7 | 1 | JMPZ |  |  |  | 1,->7
8 | 2 | IS_EQUAL |  |  | ~1 | !0,0
 | 3 | JMPZ |  |  |  | ~1,->6
 | 4 | BRK |  |  |  | 1
 | 5 | JMP |  |  |  | ->6
9 | 6 | JMP |  |  |  | ->1
10 | 7 | RETURN |  |  |  | 1
BOOL_XOR
BW_AND
Opcode Descriptions and Examples


BW_AND

PHP code

<?php
/*
 * Bit-wise and of value1 and value2
 * opcode number: 10
 */
echo 1&2;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | BW_AND |  |  | ~0 | 1,2
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
BRK
BW_NOT
Opcode Descriptions and Examples


BW_NOT

PHP code

<?php
/*
 * Bit-wise not of "value"
 * opcode number: 12
 */
echo ~15;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | BW_NOT |  |  | ~0 | 15
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
BW_AND
BW_OR
Opcode Descriptions and Examples


BW_OR

PHP code

<?php
/*
 * Bit-wise or of value1 and value2
 * opcode number: 9
 */
echo 1|2;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | BW_OR |  |  | ~0 | 1,2
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
BW_NOT
BW_XOR
Opcode Descriptions and Examples


BW_XOR

PHP code

<?php
/*
 * Bit-wise xor of value1 and value2
 * opcode number: 11
 */
echo 1^2;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | BW_XOR |  |  | ~0 | 1,2
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
BW_OR
CASE
Opcode Descriptions and Examples


CASE

PHP code

<?php
/*
 * Set result to true if value1 equals value2.  The value2 must be a constant value?
 * opcode number: 48
 */
$i=0;
switch ($i) {
   case 0:
         echo "i=0";
         break;
   case 1:
         echo "i=1";
         break;
   case 2:
         echo "i=2";
         break;
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$i

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,0
8 | 1 | CASE |  |  | ~1 | !0,0
 | 2 | JMPZ |  |  |  | ~1,->6
9 | 3 | ECHO |  |  |  | 'i%3D0'
10 | 4 | BRK |  |  |  | 1
11 | 5 | JMP |  |  |  | ->8
 | 6 | CASE |  |  | ~1 | !0,1
 | 7 | JMPZ |  |  |  | ~1,->11
12 | 8 | ECHO |  |  |  | 'i%3D1'
13 | 9 | BRK |  |  |  | 1
14 | 10 | JMP |  |  |  | ->13
 | 11 | CASE |  |  | ~1 | !0,2
 | 12 | JMPZ |  |  |  | ~1,->16
15 | 13 | ECHO |  |  |  | 'i%3D2'
16 | 14 | BRK |  |  |  | 1
17 | 15 | JMP |  |  |  | ->16
18 | 16 | RETURN |  |  |  | 1
BW_XOR
CAST
Opcode Descriptions and Examples


CAST

PHP code

<?php
/*
 * casts value1 as type value2 (type in extended_value)
 * opcode number: 21
 */
echo (int)1;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | CAST |  | 4 | ~0 | 1
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
CASE
CATCH
Opcode Descriptions and Examples


CATCH

PHP code

<?php
/*
 *
 * opcode number: 107
 */
try {
    $error = 'Always throw this error';
    throw new Exception($error);

    // Code following an exception is not executed.
    echo 'Never executed';

} catch (Exception $e) {
    echo 'Caught exception: ',  $e->getMessage(), "\n";
}

// Continue execution
echo 'Hello World';
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$error, !1=$e

line | # | op | fetch | ext | return | operands
7 | 0 | ASSIGN |  |  |  | !0,'Always+throw+this+error'
8 | 1 | ZEND_FETCH_CLASS |  |  | :1 | 'Exception'
 | 2 | NEW |  |  | $2 | :1
 | 3 | SEND_VAR |  |  |  | !0
 | 4 | DO_FCALL_BY_NAME |  | 1 |  |
 | 5 | ZEND_THROW |  | 0 |  | $2
11 | 6 | ECHO |  |  |  | 'Never+executed'
13 | 7 | JMP |  |  |  | ->15
 | 8 | ZEND_FETCH_CLASS |  |  | :4 | 'Exception'
 | 9 | ZEND_CATCH |  | 15 |  | $4,!1
14 | 10 | ECHO |  |  |  | 'Caught+exception%3A+'
 | 11 | ZEND_INIT_METHOD_CALL |  |  |  | !1,'getMessage'
 | 12 | DO_FCALL_BY_NAME |  | 0 |  |
 | 13 | ECHO |  |  |  | $6
 | 14 | ECHO |  |  |  | '%0A'
18 | 15 | ECHO |  |  |  | 'Hello+World'
19 | 16 | RETURN |  |  |  | 1
CAST
CLONE
Opcode Descriptions and Examples


CLONE

PHP code

<?php
/*
 *
 * opcode number: 110
 */
$obj = new A();
$copy = clone $obj;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj, !1=$copy

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | ZEND_CLONE |  |  | $4 | !0
 | 5 | ASSIGN |  |  |  | !1,$4
8 | 6 | RETURN |  |  |  | 1
CATCH
CONCAT
Opcode Descriptions and Examples


CONCAT

PHP code

<?php
/*
 * Concats string values string1 and string2
 * opcode number: 8
 */
echo "hello" . "world";
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | CONCAT |  |  | ~0 | 'hello','world'
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
CLONE
CONT
Opcode Descriptions and Examples


CONT

PHP code

<?php
/*
 * Continue next iteration of current loop level
 * opcode number: 51
 */
$foo = false;
while(!$foo) {
    $foo = true;
    continue;
}
?>

PHP opcodes

Function name: (null)

compiled vars: !0 = $foo

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0, false
7 | 1 | BOOL_NOT |  |  | ~1 | !0
 | 2 | JMPZ |  |  |  | ~1, ->5
8 | 3 | ASSIGN |  |  |  | !0, true
9 | 4 | CONT |  |  |  | 1
10 | 5 | JMP |  |  |  | ->1
12 | 6 | RETURN |  |  |  | 1
CONCAT
DECLARE_CLASS
Opcode Descriptions and Examples


DECLARE_CLASS

PHP code

<?php
/*
 * Declare a class with the name of class-name as the implementation specified by ID.
 * opcode number: 139
 */
class A {
    function methodA(){
        echo "hello world";
    }
}
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
11 | 1 | RETURN |  |  |  | 1

Function name: methodA

Compiled variables: none

line | # | op | fetch | ext | return | operands
8 | 0 | ECHO |  |  |  | 'hello+world'
9 | 1 | RETURN |  |  |  | null
CONT
DECLARE_CONST
Opcode Descriptions and Examples


DECLARE_CONST

PHP code

<?php
/*
 *
 * opcode number: 143
 * No sample PHP yet */
?>
DECLARE_CLASS
DECLARE_FUNCTION
Opcode Descriptions and Examples


DECLARE_FUNCTION

PHP code

<?php
/*
 *
 * opcode number: 141
 */
class A{
 function funcA(){
 }
}
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
10 | 1 | RETURN |  |  |  | 1

Function name: funcA

Compiled variables: none

line | # | op | fetch | ext | return | operands
8 | 0 | RETURN |  |  |  | null
DECLARE_CONST
DECLARE_INHERITED_CLASS
Opcode Descriptions and Examples


DECLARE_INHERITED_CLASS

PHP code

<?php
/*
 *
 * opcode number: 140
 */
 if($b){
 class Foo {
  public static $my_static = 'foo';
  public function staticValue() {
    return self::$my_static;
  }
 }

 class Bar extends Foo {
  public function fooStatic() {
     echo parent::$my_static;
  }
 }
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$b

line | # | op | fetch | ext | return | operands
6 | 0 | JMPZ |  |  |  | !0,->5
7 | 1 | ZEND_DECLARE_CLASS |  |  | $0 | '%00foo%2Fmnt%2Fworkspace%2Fws_phpscripts%2FPHPopcodes%2Fphpsamples%2FDECLARE_INHERITED_CLASS.php0xb7be503b','foo'
14 | 2 | ZEND_FETCH_CLASS |  |  | :1 | 'Foo'
 | 3 | ZEND_DECLARE_INHERITED_CLASS |  |  | $2 | '%00bar%2Fmnt%2Fworkspace%2Fws_phpscripts%2FPHPopcodes%2Fphpsamples%2FDECLARE_INHERITED_CLASS.php0xb7be50bc','bar'
19 | 4 | JMP |  |  |  | ->5
20 | 5 | RETURN |  |  |  | 1

Function name: staticValue

Compiled variables: !0=$my_static

line | # | op | fetch | ext | return | operands
10 | 0 | ZEND_FETCH_CLASS |  |  |  |
 | 1 | FETCH_R | staticmember |  | $1 | 'my_static'
 | 2 | RETURN |  |  |  | $1
11 | 3 | RETURN |  |  |  | null

Function name: fooStatic

Compiled variables: !0=$my_static

line | # | op | fetch | ext | return | operands
16 | 0 | ZEND_FETCH_CLASS |  |  | :0 |
 | 1 | FETCH_R | staticmember |  | $1 | 'my_static'
 | 2 | ECHO |  |  |  | $1
17 | 3 | RETURN |  |  |  | null
DECLARE_FUNCTION
DECLARE_INHERITED_CLASS_DELAYED
Opcode Descriptions and Examples


DECLARE_INHERITED_CLASS_DELAYED

PHP code

<?php
/*
 *
 * opcode number: 145
 * No sample PHP yet */
?>
DECLARE_INHERITED_CLASS
DIV
Opcode Descriptions and Examples


DIV

PHP code

<?php
/*
 * Divides "value1" by "value2" and stores the result into "result".
 * opcode number: 4
 */
echo 6/3;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | DIV |  |  | ~0 | 6,3
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
DECLARE_INHERITED_CLASS_DELAYED
DO_FCALL
Opcode Descriptions and Examples


DO_FCALL

PHP code

<?php
/*
 * Call a function.  Following multiple SEND_VAL, SEND_VAR or SEND_REF.
 * opcode number: 60
 */
$a = phpinfo();
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | DO_FCALL |  | 0 |  | 'phpinfo'
 | 1 | ASSIGN |  |  |  | !0,$0
7 | 2 | RETURN |  |  |  | 1
DIV
DO_FCALL_BY_NAME
Opcode Descriptions and Examples


DO_FCALL_BY_NAME

PHP code

<?php
/*
 * Call a function by name.  Following INIT_FCALL_BY_NAME and multiple SEND_VAL, SEND_VAR or SEND_REF.
 * opcode number: 61
 */
$x = 'phpinfo';
$a = $x();
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,'phpinfo'
7 | 1 | INIT_FCALL_BY_NAME |  |  |  | !0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !1,$1
8 | 4 | RETURN |  |  |  | 1
DO_FCALL
ECHO
Opcode Descriptions and Examples


ECHO

PHP code

<?php
/*
 * Dump text
 * opcode number: 40
 */
echo "hello world";
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | ECHO |  |  |  | 'hello+world'
7 | 1 | RETURN |  |  |  | 1
DO_FCALL_BY_NAME
END_SILENCE
Opcode Descriptions and Examples


END_SILENCE

PHP code

<?php
/*
 * no longer surpress error messages
 * opcode number: 58
 */
$my_file = @file ('non_existent_file') or
   die ("error:'$php_errormsg'");
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$my_file, !1=$php_errormsg

line | # | op | fetch | ext | return | operands
6 | 0 | BEGIN_SILENCE |  |  | ~0 |
 | 1 | SEND_VAL |  |  |  | 'non_existent_file'
 | 2 | DO_FCALL |  | 1 |  | 'file'
 | 3 | END_SILENCE |  |  |  | ~0
 | 4 | ASSIGN |  |  | $2 | !0,$1
 | 5 | JMPNZ_EX |  |  | ~3 | $2,->11
7 | 6 | ADD_STRING |  |  | ~4 | 'error%3A%27'
 | 7 | ADD_VAR |  |  | ~4 | ~4,!1
 | 8 | ADD_CHAR |  |  | ~4 | ~4,39
 | 9 | EXIT |  |  |  | ~4
 | 10 | BOOL |  |  | ~3 | true
 | 11 | FREE |  |  |  | ~3
8 | 12 | RETURN |  |  |  | 1
ECHO
EXIT
Opcode Descriptions and Examples


EXIT

PHP code

<?php
/*
 * Exit running after dumping "message".
 * opcode number: 79
 */
die("foobar");
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | EXIT |  |  |  | 'foobar'
7 | 1 | RETURN |  |  |  | 1
END_SILENCE
EXT_FCALL_BEGIN
Opcode Descriptions and Examples


EXT_FCALL_BEGIN

PHP code

<?php
/*
 *
 * opcode number: 102
 * No sample PHP yet */
?>
EXIT
EXT_FCALL_END
Opcode Descriptions and Examples


EXT_FCALL_END

PHP code

<?php
/*
 *
 * opcode number: 103
 * No sample PHP yet */
?>
EXT_FCALL_BEGIN
EXT_NOP
Opcode Descriptions and Examples


EXT_NOP

PHP code

<?php
/*
 *
 * opcode number: 104
 * No sample PHP yet */
?>
EXT_FCALL_END
EXT_STMT
Opcode Descriptions and Examples


EXT_STMT

PHP code

<?php
/*
 *
 * opcode number: 101
 */
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
7 | 0 | EXT_STMT |  |  |  |
8 | 1 | RETURN |  |  |  | 1
EXT_NOP
FE_FETCH
Opcode Descriptions and Examples


FE_FETCH

PHP code

<?php
/*
 * Fetch an element from iterator.  If no element is available, jump to address.  Followed by OP_DATA?
 * opcode number: 78
 */
$a = array(1,2,3);
foreach($a as $num){
    print $num;
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a, !1=$num

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 1
 | 1 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 3 | ASSIGN |  |  |  | !0,~0
7 | 4 | FE_RESET |  |  | $2 | !0,->11
 | 5 | FE_FETCH |  |  | $3 | $2,->11
 | 6 | ZEND_OP_DATA |  |  |  |
 | 7 | ASSIGN |  |  |  | !1,$3
8 | 8 | PRINT |  |  | ~5 | !1
 | 9 | FREE |  |  |  | ~5
9 | 10 | JMP |  |  |  | ->5
 | 11 | SWITCH_FREE |  |  |  | $2
10 | 12 | RETURN |  |  |  | 1
EXT_STMT
FE_RESET
Opcode Descriptions and Examples


FE_RESET

PHP code

<?php
/*
 * Initialize an iterator on array-value.  If the array is empty, jump to address.  Followed by FE_FETCH.
 * opcode number: 77
 */
$a = array(1,2,3);
foreach($a as $num){
    print $num;
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a, !1=$num

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 1
 | 1 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 3 | ASSIGN |  |  |  | !0,~0
7 | 4 | FE_RESET |  |  | $2 | !0,->11
 | 5 | FE_FETCH |  |  | $3 | $2,->11
 | 6 | ZEND_OP_DATA |  |  |  |
 | 7 | ASSIGN |  |  |  | !1,$3
8 | 8 | PRINT |  |  | ~5 | !1
 | 9 | FREE |  |  |  | ~5
9 | 10 | JMP |  |  |  | ->5
 | 11 | SWITCH_FREE |  |  |  | $2
10 | 12 | RETURN |  |  |  | 1
FE_FETCH
FETCH_CLASS
Opcode Descriptions and Examples


FETCH_CLASS

PHP code

<?php
/*
 *
 * opcode number: 109
 */
$obj = new A();
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | RETURN |  |  |  | 1
FE_RESET
FETCH_CONSTANT
Opcode Descriptions and Examples


FETCH_CONSTANT

PHP code

<?php
/*
 * Fetch the constant value bound to the specified name (name) and stores it into a variable (result).
 * opcode number: 99
 */
define("FOO", "something");
echo FOO;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | SEND_VAL |  |  |  | 'FOO'
 | 1 | SEND_VAL |  |  |  | 'something'
 | 2 | DO_FCALL |  | 2 |  | 'define'
7 | 3 | FETCH_CONSTANT |  |  | ~1 | 'FOO'
 | 4 | ECHO |  |  |  | ~1
8 | 5 | RETURN |  |  |  | 1
FETCH_CLASS
FETCH_DIM_FUNC_ARG
Opcode Descriptions and Examples


FETCH_DIM_FUNC_ARG

PHP code

<?php
/*
 *
 * opcode number: 93
 */

function foo(&$x)
{
  print($x);
}

$x = array(0, 1, 2, 3, 4, 5);
$z = "foo";

$z($x[0]);

?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$z

line | # | op | fetch | ext | return | operands
7 | 0 | NOP |  |  |  |
12 | 1 | INIT_ARRAY |  |  | ~0 | 0
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 1
 | 3 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 4 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 5 | ADD_ARRAY_ELEMENT |  |  | ~0 | 4
 | 6 | ADD_ARRAY_ELEMENT |  |  | ~0 | 5
 | 7 | ASSIGN |  |  |  | !0,~0
13 | 8 | ASSIGN |  |  |  | !1,'foo'
15 | 9 | INIT_FCALL_BY_NAME |  |  |  | !1
 | 10 | FETCH_DIM_FUNC_ARG |  |  | $3 | !0,0
 | 11 | SEND_VAR |  |  |  | $3
 | 12 | DO_FCALL_BY_NAME |  | 1 |  |
17 | 13 | RETURN |  |  |  | 1

Function name: foo

Compiled variables: !0=$x

line | # | op | fetch | ext | return | operands
7 | 0 | RECV |  |  |  | 1
9 | 1 | PRINT |  |  | ~0 | !0
 | 2 | FREE |  |  |  | ~0
10 | 3 | RETURN |  |  |  | null
FETCH_CONSTANT
FETCH_DIM_IS
Opcode Descriptions and Examples


FETCH_DIM_IS

PHP code

<?php
/*
 *
 * opcode number: 90
 * No sample PHP yet */
?>
FETCH_DIM_FUNC_ARG
FETCH_DIM_R
Opcode Descriptions and Examples


FETCH_DIM_R

PHP code

<?php
/*
 * Fetch the value of the element at "index" in "array-value" to store it in "result".  Read-only?
 * opcode number: 81
 */
$x = array(1,2,3);
$a = 'x';
echo $$a[0];
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 1
 | 1 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 3 | ASSIGN |  |  |  | !0,~0
7 | 4 | ASSIGN |  |  |  | !1,'x'
8 | 5 | FETCH_DIM_R |  |  | $3 | !1,0
 | 6 | FETCH_R | local |  | $4 | $3
 | 7 | ECHO |  |  |  | $4
9 | 8 | RETURN |  |  |  | 1
FETCH_DIM_IS
FETCH_DIM_RW
Opcode Descriptions and Examples


FETCH_DIM_RW

PHP code

<?php
/*
 * Fetch the value of the element at "index" in "array-value" to store it in "result".
 * opcode number: 87
 */
$x = array(1,2,3);
$a = 'x';
$$a[0]++;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 1
 | 1 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 3 | ASSIGN |  |  |  | !0,~0
7 | 4 | ASSIGN |  |  |  | !1,'x'
8 | 5 | FETCH_DIM_R |  |  | $3 | !1,0
 | 6 | FETCH_RW | local |  | $4 | $3
 | 7 | POST_INC |  |  | ~5 | $4
 | 8 | FREE |  |  |  | ~5
9 | 9 | RETURN |  |  |  | 1
FETCH_DIM_R
FETCH_DIM_TMP_VAR
Opcode Descriptions and Examples


FETCH_DIM_TMP_VAR

PHP code

<?php
/*
 * Fetch an entry of an array from a temporal variable?
 * opcode number: 98
 */
list($x) = array("X");
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 'X'
 | 1 | FETCH_DIM_TMP_VAR |  |  | $1 | ~0,0
 | 2 | ASSIGN |  |  |  | !0,$1
 | 3 | FREE |  |  |  | ~0
7 | 4 | RETURN |  |  |  | 1
FETCH_DIM_RW
FETCH_DIM_UNSET
Opcode Descriptions and Examples


FETCH_DIM_UNSET

PHP code

<?php
/*
 * Fetch an entry of an array variable for the purpose of unset() operation.
 * opcode number: 96
 * No sample PHP yet */
?>
FETCH_DIM_TMP_VAR
FETCH_DIM_W
Opcode Descriptions and Examples


FETCH_DIM_W

PHP code

<?php
/*
 * Fetch the value of the element at "index" in "array-value" to store it in "result".  Write-only?
 * opcode number: 84
 */
$a = 1;
while($a > 0){
    $a = 0;
}
/*$input =array(1,2,3);
while (list($var,) = @each($input)){
    unset($$var);
}*/
/*$a = array(1,2,3);
$x = 'a';
$$x[0] = 1;*/

/*while ($b = each($a)) {
  print $b;
}*/

?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,1
7 | 1 | IS_SMALLER |  |  | ~1 | 0,!0
 | 2 | JMPZ |  |  |  | ~1,->5
8 | 3 | ASSIGN |  |  |  | !0,0
9 | 4 | JMP |  |  |  | ->1
23 | 5 | RETURN |  |  |  | 1
FETCH_DIM_UNSET
FETCH_FUNC_ARG
Opcode Descriptions and Examples


FETCH_FUNC_ARG

PHP code

<?php
/*
 *
 * opcode number: 92
 */
function foo($x)
{
}

$x = 1;
$y = "x";
$z = "foo";

$z($$y);

?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$y, !2=$z

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
10 | 1 | ASSIGN |  |  |  | !0,1
11 | 2 | ASSIGN |  |  |  | !1,'x'
12 | 3 | ASSIGN |  |  |  | !2,'foo'
14 | 4 | INIT_FCALL_BY_NAME |  |  |  | !2
 | 5 | FETCH_FUNC_ARG | local |  | $3 | !1
 | 6 | SEND_VAR |  |  |  | $3
 | 7 | DO_FCALL_BY_NAME |  | 1 |  |
16 | 8 | RETURN |  |  |  | 1

Function name: foo

Compiled variables: !0=$x

line | # | op | fetch | ext | return | operands
6 | 0 | RECV |  |  |  | 1
8 | 1 | RETURN |  |  |  | null
FETCH_DIM_W
FETCH_IS
Opcode Descriptions and Examples


FETCH_IS

PHP code

<?php
/*
 * Fetch the value from variable which is to be used to test if it is set or not, through isset()/isempty().
 * opcode number: 89
 */
echo isset($_SESSION['userid']);
echo isset($_SESSION['userid'][1]);
echo isset($_SESSION->prop->prop);
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | FETCH_IS |  |  | $0 | '_SESSION'
 | 1 | ZEND_ISSET_ISEMPTY_DIM_OBJ |  | 1 | ~1 | $0,'userid'
 | 2 | ECHO |  |  |  | ~1
7 | 3 | FETCH_IS |  |  | $2 | '_SESSION'
 | 4 | FETCH_DIM_IS |  |  | $3 | $2,'userid'
 | 5 | ZEND_ISSET_ISEMPTY_DIM_OBJ |  | 1 | ~4 | $3,1
 | 6 | ECHO |  |  |  | ~4
8 | 7 | FETCH_IS |  |  | $5 | '_SESSION'
 | 8 | FETCH_OBJ_IS |  |  | $6 | $5,'prop'
 | 9 | ZEND_ISSET_ISEMPTY_PROP_OBJ |  |  | ~7 | $6,'prop'
 | 10 | ECHO |  |  |  | ~7
9 | 11 | RETURN |  |  |  | 1
FETCH_FUNC_ARG
FETCH_OBJ_FUNC_ARG
Opcode Descriptions and Examples


FETCH_OBJ_FUNC_ARG

PHP code

<?php
/*
 *
 * opcode number: 94
 */
include './classA.php';

function foo(&$x)
{
  print($x);
}

$z = "foo";

$obj = new A();
print $obj->num;
$z($obj->num);

?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$z, !1=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | INCLUDE_OR_EVAL |  |  |  | '.%2FclassA.php',INCLUDE
8 | 1 | NOP |  |  |  |
13 | 2 | ASSIGN |  |  |  | !0,'foo'
15 | 3 | ZEND_FETCH_CLASS |  |  | :2 | 'A'
 | 4 | NEW |  |  | $3 | :2
 | 5 | DO_FCALL_BY_NAME |  | 0 |  |
 | 6 | ASSIGN |  |  |  | !1,$3
16 | 7 | FETCH_OBJ_R |  |  | $6 | !1,'num'
 | 8 | PRINT |  |  | ~7 | $6
 | 9 | FREE |  |  |  | ~7
17 | 10 | INIT_FCALL_BY_NAME |  |  |  | !0
 | 11 | FETCH_OBJ_FUNC_ARG |  |  | $8 | !1,'num'
 | 12 | SEND_VAR |  |  |  | $8
 | 13 | DO_FCALL_BY_NAME |  | 1 |  |
19 | 14 | RETURN |  |  |  | 1

Function name: foo

Compiled variables: !0=$x

line | # | op | fetch | ext | return | operands
8 | 0 | RECV |  |  |  | 1
10 | 1 | PRINT |  |  | ~0 | !0
 | 2 | FREE |  |  |  | ~0
11 | 3 | RETURN |  |  |  | null

Function name: foo

Compiled variables: !0=$x

line | # | op | fetch | ext | return | operands
8 | 0 | RECV |  |  |  | 1
10 | 1 | PRINT |  |  | ~0 | !0
 | 2 | FREE |  |  |  | ~0
11 | 3 | RETURN |  |  |  | null
FETCH_IS
FETCH_OBJ_IS
Opcode Descriptions and Examples


FETCH_OBJ_IS

PHP code

<?php
/*
 *
 * opcode number: 91
 * No sample PHP yet */
?>
FETCH_OBJ_FUNC_ARG
FETCH_OBJ_R
Opcode Descriptions and Examples


FETCH_OBJ_R

PHP code

<?php
/*
 * Fetch the "prop-name" property value of this object.  Read-only?
 * opcode number: 82
 */
$x = new A();
$a = 'x';
echo $$a->num;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | ASSIGN |  |  |  | !1,'x'
8 | 5 | FETCH_R | local |  | $5 | !1
 | 6 | FETCH_OBJ_R |  |  | $6 | $5,'num'
 | 7 | ECHO |  |  |  | $6
9 | 8 | RETURN |  |  |  | 1
FETCH_OBJ_IS
FETCH_OBJ_RW
Opcode Descriptions and Examples


FETCH_OBJ_RW

PHP code

<?php
/*
 * Fetch the "prop-name" property value of this object.
 * opcode number: 88
 */
$x = new A();
$a = 'x';
$$a->num++;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | ASSIGN |  |  |  | !1,'x'
8 | 5 | FETCH_RW | local |  | $5 | !1
 | 6 | ZEND_POST_INC_OBJ |  |  | ~7 | $5,'num'
 | 7 | FREE |  |  |  | ~7
9 | 8 | RETURN |  |  |  | 1
FETCH_OBJ_R
FETCH_OBJ_UNSET
Opcode Descriptions and Examples


FETCH_OBJ_UNSET

PHP code

<?php
/*
 * Fetch a property of an object variable for the purpose of unset() operation.
 * opcode number: 97
 * No sample PHP yet */
?>
FETCH_OBJ_RW
FETCH_OBJ_W
Opcode Descriptions and Examples


FETCH_OBJ_W

PHP code

<?php
/*
 * Fetch an object from the property of this object and write to the property of the fectched object.
 * opcode number: 85
 */
$foo = new stdclass;
$foo->bar = new stdclass;
$foo->bar->baz = 'quix';
?>

PHP opcodes

Function name: (null)

Compiled variables: !0 = $foo

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  | 4 | :0 | 'stdclass'
 | 1 | NEW |  |  |  | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0
7 | 4 | ZEND_FETCH_CLASS |  | 4 | :5 | 'stdclass'
 | 5 | NEW |  |  |  | :5
 | 6 | DO_FCALL_BY_NAME |  | 0 |  |
 | 7 | ZEND_ASSIGN_OBJ |  |  |  | !0, 'bar'
 | 8 | ZEND_OP_DATA |  |  |  |
8 | 9 | FETCH_OBJ_W |  |  |  | !0, 'bar'
 | 10 | ZEND_ASSIGN_OBJ |  |  |  | 'baz'
 | 11 | ZEND_OP_DATA |  |  |  | 'quix'
9 | 12 | RETURN |  |  |  | 1
FETCH_OBJ_UNSET
FETCH_R
Opcode Descriptions and Examples


FETCH_R

PHP code

<?php
/*
 * Fetch the value of the varible of "name" to assign it to a variable?  Read-only?
 * opcode number: 80
 */
$x = 1;
$a = 'x';
echo $$a;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,1
7 | 1 | ASSIGN |  |  |  | !1,'x'
8 | 2 | FETCH_R | local |  | $2 | !1
 | 3 | ECHO |  |  |  | $2
9 | 4 | RETURN |  |  |  | 1
FETCH_OBJ_W
FETCH_RW
Opcode Descriptions and Examples


FETCH_RW

PHP code

<?php
/*
 * Fetch the value of the varible of "name" to assign it to a variable?
 * opcode number: 86
 */
$x = 1;
$a = 'x';
$$a++;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,1
7 | 1 | ASSIGN |  |  |  | !1,'x'
8 | 2 | FETCH_RW | local |  | $2 | !1
 | 3 | POST_INC |  |  | ~3 | $2
 | 4 | FREE |  |  |  | ~3
9 | 5 | RETURN |  |  |  | 1
FETCH_R
FETCH_UNSET
Opcode Descriptions and Examples


FETCH_UNSET

PHP code

<?php
/*
 * Fetch a variable for the purpose of unset() operation.
 * opcode number: 95
 * No sample PHP yet */
?>
FETCH_RW
FETCH_W
Opcode Descriptions and Examples


FETCH_W

PHP code

<?php
/*
 * Fetch the value of the varible of "name" to assign it to a variable?  Write-only?
 * opcode number: 83
 */
$x = 1;
$a = 'x';
$$a = 2;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,1
7 | 1 | ASSIGN |  |  |  | !1,'x'
8 | 2 | FETCH_W | local |  | $2 | !1
 | 3 | ASSIGN |  |  |  | $2,2
9 | 4 | RETURN |  |  |  | 1
FETCH_UNSET
FREE
Opcode Descriptions and Examples


FREE

PHP code

<?php
/*
 * Release the allocated space of the value.
 * opcode number: 70
 */
 print "Hello World";
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | PRINT |  |  | ~0 | 'Hello+World'
 | 1 | FREE |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
FETCH_W
GOTO
Opcode Descriptions and Examples


GOTO

PHP code

<?php
/*
 *
 * opcode number: 100
 * No sample PHP yet */
?>
FREE
HANDLE_EXCEPTION
Opcode Descriptions and Examples


HANDLE_EXCEPTION

PHP code

<?php
/*
 *
 * opcode number: 149
 */
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | RETURN |  |  |  | 1
GOTO
INCLUDE_OR_EVAL
Opcode Descriptions and Examples


INCLUDE_OR_EVAL

PHP code

<?php
/*
 * Include the file specified by filename and eval it.
 * opcode number: 73
 */
include("test.php");
eval("test.php");
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | INCLUDE_OR_EVAL |  |  |  | 'test.php',INCLUDE
7 | 1 | INCLUDE_OR_EVAL |  |  |  | 'test.php',EVAL
8 | 2 | RETURN |  |  |  | 1

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
2 | 0 | DO_FCALL |  | 0 |  | 'phpinfo'
3 | 1 | RETURN |  |  |  | 1
HANDLE_EXCEPTION
INIT_ARRAY
Opcode Descriptions and Examples


INIT_ARRAY

PHP code

<?php
/*
 * Allocate a new array with elem-value as the first element of the array.  Followed by ADD_ARRAY_ELEMENT.
 * opcode number: 71
 */
$a = array(1,2,3);
print_r($a);
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 1
 | 1 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 3 | ASSIGN |  |  |  | !0,~0
7 | 4 | SEND_VAR |  |  |  | !0
 | 5 | DO_FCALL |  | 1 |  | 'print_r'
8 | 6 | RETURN |  |  |  | 1
INCLUDE_OR_EVAL
INIT_FCALL_BY_NAME
Opcode Descriptions and Examples


INIT_FCALL_BY_NAME

PHP code

<?php
/*
 * prepare for a function call to function value1
 * opcode number: 59
 */
$x = 'phpinfo';
$a = $x();
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,'phpinfo'
7 | 1 | INIT_FCALL_BY_NAME |  |  |  | !0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !1,$1
8 | 4 | RETURN |  |  |  | 1
INIT_ARRAY
INIT_METHOD_CALL
Opcode Descriptions and Examples


INIT_METHOD_CALL

PHP code

<?php
/*
 * Prepare for a method call.  Followed by DO_FCALL.
 * opcode number: 112
 */
class A {
  var $num;
    function incrementNum(){
    $num++;
  }
}

$obj = new A();
$obj->incrementNum();

?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
13 | 1 | ZEND_FETCH_CLASS |  |  | :1 | 'A'
 | 2 | NEW |  |  | $2 | :1
 | 3 | DO_FCALL_BY_NAME |  | 0 |  |
 | 4 | ASSIGN |  |  |  | !0,$2
14 | 5 | ZEND_INIT_METHOD_CALL |  |  |  | !0,'incrementNum'
 | 6 | DO_FCALL_BY_NAME |  | 0 |  |
16 | 7 | RETURN |  |  |  | 1

Function name: incrementNum

Compiled variables: !0=$num

line | # | op | fetch | ext | return | operands
9 | 0 | POST_INC |  |  | ~0 | !0
 | 1 | FREE |  |  |  | ~0
10 | 2 | RETURN |  |  |  | null
INIT_FCALL_BY_NAME
INIT_NS_FCALL_BY_NAME
Opcode Descriptions and Examples


INIT_NS_FCALL_BY_NAME

PHP code

<?php
/*
 *
 * opcode number: 69
 * No sample PHP yet */
?>
INIT_METHOD_CALL
INIT_STATIC_METHOD_CALL
Opcode Descriptions and Examples


INIT_STATIC_METHOD_CALL

PHP code

<?php
/*
 *
 * opcode number: 113
 */
class Foo {
    public static function aStaticMethod() {
            echo "hello world\n";
    }
}

Foo::aStaticMethod();
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
12 | 1 | ZEND_INIT_STATIC_METHOD_CALL |  |  |  | 'Foo','aStaticMethod'
 | 2 | ZEND_OP_DATA |  |  |  | 'foo%3A%3Aastaticmethod'
 | 3 | DO_FCALL_BY_NAME |  | 0 |  |
13 | 4 | RETURN |  |  |  | 1

Function name: aStaticMethod

Compiled variables: none

line | # | op | fetch | ext | return | operands
8 | 0 | ECHO |  |  |  | 'hello+world%0A'
9 | 1 | RETURN |  |  |  | null
INIT_NS_FCALL_BY_NAME
INIT_STRING
Opcode Descriptions and Examples


INIT_STRING

PHP code

<?php
/*
 * appears to create a string variable in result
 * opcode number: 53
 */
echo "hello$a world";
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ADD_STRING |  |  | ~0 | 'hello'
 | 1 | ADD_VAR |  |  | ~0 | ~0,!0
 | 2 | ADD_STRING |  |  | ~0 | ~0,'+world'
 | 3 | ECHO |  |  |  | ~0
7 | 4 | RETURN |  |  |  | 1
INIT_STATIC_METHOD_CALL
INSTANCEOF
Opcode Descriptions and Examples


INSTANCEOF

PHP code

<?php
/*
 *
 * opcode number: 138
 */
$obj = new A();

if ($obj instanceof A) {
   echo 'A';
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
8 | 4 | ZEND_FETCH_CLASS |  |  | :4 | 'A'
 | 5 | ZEND_INSTANCEOF |  |  | ~5 | !0,$4
 | 6 | JMPZ |  |  |  | ~5,->9
9 | 7 | ECHO |  |  |  | 'A'
10 | 8 | JMP |  |  |  | ->9
11 | 9 | RETURN |  |  |  | 1
INIT_STRING
IS_EQUAL
Opcode Descriptions and Examples


IS_EQUAL

PHP code

<?php
/*
 * compares if value1 and value2 are equal
 * opcode number: 17
 */
echo (1 == 1);
echo (1 == 'c');
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | IS_EQUAL |  |  | ~0 | 1,1
 | 1 | ECHO |  |  |  | ~0
7 | 2 | IS_EQUAL |  |  | ~1 | 1,'c'
 | 3 | ECHO |  |  |  | ~1
8 | 4 | RETURN |  |  |  | 1
INSTANCEOF
IS_IDENTICAL
Opcode Descriptions and Examples


IS_IDENTICAL

PHP code

<?php
/*
 * Compares value1 and value2 to see if they are equal AND have the same type
 * opcode number: 15
 */
echo (1===1);
echo (1==='a');
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | IS_IDENTICAL |  |  | ~0 | 1,1
 | 1 | ECHO |  |  |  | ~0
7 | 2 | IS_IDENTICAL |  |  | ~1 | 1,'a'
 | 3 | ECHO |  |  |  | ~1
8 | 4 | RETURN |  |  |  | 1
IS_EQUAL
IS_NOT_EQUAL
Opcode Descriptions and Examples


IS_NOT_EQUAL

PHP code

<?php
/*
 * compares if value1 and value2 are not equal
 * opcode number: 18
 */
echo (1 != 1);
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | IS_NOT_EQUAL |  |  | ~0 | 1,1
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
IS_IDENTICAL
IS_NOT_IDENTICAL
Opcode Descriptions and Examples


IS_NOT_IDENTICAL

PHP code

<?php
/*
 * compares value1 and value2 to see if they are unequal or of different types
 * opcode number: 16
 */
echo (1 !== 1);
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | IS_NOT_IDENTICAL |  |  | ~0 | 1,1
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
IS_NOT_EQUAL
IS_SMALLER
Opcode Descriptions and Examples


IS_SMALLER

PHP code

<?php
/*
 * compares if value1 is less than value2
 * opcode number: 19
 */
echo (1 < 2);
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | IS_SMALLER |  |  | ~0 | 1,2
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
IS_NOT_IDENTICAL
IS_SMALLER_OR_EQUAL
Opcode Descriptions and Examples


IS_SMALLER_OR_EQUAL

PHP code

<?php
/*
 * compares if value1 is less than or equal to value2
 * opcode number: 20
 */
echo (2 <= 1);
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | IS_SMALLER_OR_EQUAL |  |  | ~0 | 2,1
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
IS_SMALLER
ISSET_ISEMPTY_DIM_OBJ
Opcode Descriptions and Examples


ISSET_ISEMPTY_DIM_OBJ

PHP code

<?php
/*
 * Tests if the entry of an array is set or not.
 * opcode number: 115
 */
if(isset($a[0])) return 0;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_ISSET_ISEMPTY_DIM_OBJ |  | 1 | ~0 | !0,0
 | 1 | JMPZ |  |  |  | ~0,->4
 | 2 | RETURN |  |  |  | 0
 | 3 | JMP |  |  |  | ->4
7 | 4 | RETURN |  |  |  | 1
IS_SMALLER_OR_EQUAL
ISSET_ISEMPTY_PROP_OBJ
Opcode Descriptions and Examples


ISSET_ISEMPTY_PROP_OBJ

PHP code

<?php
/*
 *
 * opcode number: 148
 */
$obj = new A();
if(empty($obj->num)) return 0;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | ZEND_ISSET_ISEMPTY_PROP_OBJ |  |  | ~4 | !0,'num'
 | 5 | JMPZ |  |  |  | ~4,->8
 | 6 | RETURN |  |  |  | 0
 | 7 | JMP |  |  |  | ->8
8 | 8 | RETURN |  |  |  | 1
ISSET_ISEMPTY_DIM_OBJ
ISSET_ISEMPTY_VAR
Opcode Descriptions and Examples


ISSET_ISEMPTY_VAR

PHP code

<?php
/*
 * Tests if the value of a variable is set or not.
 * opcode number: 114
 */
if(isset($a)){ return 0;}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_ISSET_ISEMPTY_VAR |  | 5 | ~0 | !0
 | 1 | JMPZ |  |  |  | ~0,->4
 | 2 | RETURN |  |  |  | 0
 | 3 | JMP |  |  |  | ->4
7 | 4 | RETURN |  |  |  | 1
ISSET_ISEMPTY_PROP_OBJ
JMP
Opcode Descriptions and Examples


JMP

PHP code

<?php
/*
 * Unconditonally jump to the address
 * opcode number: 42
 */
$foo = false;
while(!$foo) {
    $foo = true;
}
?>

PHP opcodes

Function name: (null)

compiled vars: !0 = $foo

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0, false
7 | 1 | BOOL_NOT |  |  | ~1 | !0
 | 2 | JMPZ |  |  |  | ~1, ->5
8 | 3 | ASSIGN |  |  |  | !0, true
9 | 4 | JMP |  |  |  | ->1
11 | 5 | RETURN |  |  |  | 1
ISSET_ISEMPTY_VAR
JMPNZ
Opcode Descriptions and Examples


JMPNZ

PHP code

<?php
/*
 * Jump to the address if the value is not zero
 * opcode number: 44
 */
for($i=0; $i<3; $i++){
    echo "hi";
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$i

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,0
 | 1 | IS_SMALLER |  |  | ~1 | !0,3
 | 2 | JMPZNZ |  | 6 |  | ~1,->8
 | 3 | POST_INC |  |  | ~2 | !0
 | 4 | FREE |  |  |  | ~2
 | 5 | JMP |  |  |  | ->1
7 | 6 | ECHO |  |  |  | 'hi'
8 | 7 | JMP |  |  |  | ->3
9 | 8 | RETURN |  |  |  | 1
JMP
JMPNZ_EX
Opcode Descriptions and Examples


JMPNZ_EX

PHP code

<?php
/*
 * Jump to the address if the xor of value1 and value2 is zero .. ???
 * opcode number: 47
 */
if(1^2) return;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | BW_XOR |  |  | ~0 | 1,2
 | 1 | JMPZ |  |  |  | ~0,->4
 | 2 | RETURN |  |  |  | null
 | 3 | JMP |  |  |  | ->4
7 | 4 | RETURN |  |  |  | 1
JMPNZ
JMPZ
Opcode Descriptions and Examples


JMPZ

PHP code

<?php
/*
 * Jump to the address if the value is zero
 * opcode number: 43
 */
if($a != 0) echo "foo";
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | IS_NOT_EQUAL |  |  | ~0 | !0,0
 | 1 | JMPZ |  |  |  | ~0,->4
 | 2 | ECHO |  |  |  | 'foo'
 | 3 | JMP |  |  |  | ->4
7 | 4 | RETURN |  |  |  | 1
JMPNZ_EX
JMPZ_EX
Opcode Descriptions and Examples


JMPZ_EX

PHP code

<?php
/*
 * Jump to the address if the xor of value1 and value2 is zero .. ???
 * opcode number: 46
 */

?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
7 | 0 | RETURN |  |  |  | 1
JMPZ
JMPZNZ
Opcode Descriptions and Examples


JMPZNZ

PHP code

<?php
/*
 * Jump to the address given in the operands if the value is zero;
 * jump to the address given in extended data if nonzero.
 * opcode number: 45
 */
for($i=0; $i<3; $i++){
    echo "hi";
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$i

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,0
 | 1 | IS_SMALLER |  |  | ~1 | !0,3
 | 2 | JMPZNZ |  | 6 |  | ~1,->8
 | 3 | POST_INC |  |  | ~2 | !0
 | 4 | FREE |  |  |  | ~2
 | 5 | JMP |  |  |  | ->1
7 | 6 | ECHO |  |  |  | 'hi'
8 | 7 | JMP |  |  |  | ->3
9 | 8 | RETURN |  |  |  | 1
JMPZ_EX
MOD
Opcode Descriptions and Examples


MOD

PHP code

<?php
/*
 * Makes the value of "result" congruent to "value1" modulo "value2".
 * opcode number: 5
 */
echo 6 % 3;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | MOD |  |  | ~0 | 6,3
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
JMPZNZ
MUL
Opcode Descriptions and Examples


MUL

PHP code

<?php
/*
 * Multiplys "value1" by "value2" and stores the result into "result".
 * opcode number: 3
 */
echo 2*3;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | MUL |  |  | ~0 | 2,3
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
MOD
NEW
Opcode Descriptions and Examples


NEW

PHP code

<?php
/*
 * Construct an instance of "type" and store the reference to the object into "result".
 * opcode number: 68
 */
$obj = new A();
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | RETURN |  |  |  | 1
MUL
NOP
Opcode Descriptions and Examples


NOP

PHP code

<?php
/*
 * no operation
 * opcode number: 0
 */
function A(){};
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
7 | 1 | RETURN |  |  |  | 1

Function name: A

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | RETURN |  |  |  | null
NEW
POST_DEC
Opcode Descriptions and Examples


POST_DEC

PHP code

<?php
/*
 * decrements variable indicated by value1 by 1 (after performing other operations) and stores in result
 * opcode number: 37
 */
$a--;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | POST_DEC |  |  | ~0 | !0
 | 1 | FREE |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
NOP
POST_DEC_OBJ
Opcode Descriptions and Examples


POST_DEC_OBJ

PHP code

<?php
/*
 *
 * opcode number: 135
 */
$obj = new A();
$obj->num--;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | ZEND_POST_DEC_OBJ |  |  | ~5 | !0,'num'
 | 5 | FREE |  |  |  | ~5
8 | 6 | RETURN |  |  |  | 1
POST_DEC
POST_INC
Opcode Descriptions and Examples


POST_INC

PHP code

<?php
/*
 * increments variable indicated by value1 by 1 (after performing other operations) and stores in result
 * opcode number: 36
 */
$a++;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | POST_INC |  |  | ~0 | !0
 | 1 | FREE |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
POST_DEC_OBJ
POST_INC_OBJ
Opcode Descriptions and Examples


POST_INC_OBJ

PHP code

<?php
/*
 * Increment the property value specified by prop-name and store the original value into result.
 * opcode number: 134
 */
$obj = new A();
$obj->num++;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | ZEND_POST_INC_OBJ |  |  | ~5 | !0,'num'
 | 5 | FREE |  |  |  | ~5
8 | 6 | RETURN |  |  |  | 1
POST_INC
PRE_DEC
Opcode Descriptions and Examples


PRE_DEC

PHP code

<?php
/*
 * decrements variable indicated by value1 by 1 (before performing other operations) and stores in results
 * opcode number: 35
 */
--$a;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | PRE_DEC |  |  |  | !0
7 | 1 | RETURN |  |  |  | 1
POST_INC_OBJ
PRE_DEC_OBJ
Opcode Descriptions and Examples


PRE_DEC_OBJ

PHP code

<?php
/*
 *
 * opcode number: 133
 */
$obj = new A();
--$obj->num;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | ZEND_PRE_DEC_OBJ |  |  |  | !0,'num'
8 | 5 | RETURN |  |  |  | 1
PRE_DEC
PRE_INC
Opcode Descriptions and Examples


PRE_INC

PHP code

<?php
/*
 * increments variable indicated by value1 by 1 (before performing other operations) and stores in result
 * opcode number: 34
 */
++$a;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | PRE_INC |  |  |  | !0
7 | 1 | RETURN |  |  |  | 1
PRE_DEC_OBJ
PRE_INC_OBJ
Opcode Descriptions and Examples


PRE_INC_OBJ

PHP code

<?php
/*
 *
 * opcode number: 132
 */
$obj = new A();
++$obj->num;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | ZEND_PRE_INC_OBJ |  |  |  | !0,'num'
8 | 5 | RETURN |  |  |  | 1
PRE_INC
PRINT
Opcode Descriptions and Examples


PRINT

PHP code

<?php
/*
 *
 * opcode number: 41
 */
print "Hello World";
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | PRINT |  |  | ~0 | 'Hello+World'
 | 1 | FREE |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
PRE_INC_OBJ
QM_ASSIGN
Opcode Descriptions and Examples


QM_ASSIGN

PHP code

<?php
/*
 * Question Mark Assign, used twice inside a question mark assign to temporarily assign result as value1  (this is followed up with an ASSIGN bytecode)
 * opcode number: 22
 */
function A(){
 echo 1?2:3;
}

function B(){
 $b = 0;
 $a = $b > 1 ? 10: 11;
}
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
10 | 1 | NOP |  |  |  |
14 | 2 | RETURN |  |  |  | 1

Function name: A

Compiled variables: none

line | # | op | fetch | ext | return | operands
7 | 0 | JMPZ |  |  |  | 1,->3
 | 1 | QM_ASSIGN |  |  | ~0 | 2
 | 2 | JMP |  |  |  | ->4
 | 3 | QM_ASSIGN |  |  | ~0 | 3
 | 4 | ECHO |  |  |  | ~0
8 | 5 | RETURN |  |  |  | null

Function name: B

Compiled variables: !0=$b, !1=$a

line | # | op | fetch | ext | return | operands
11 | 0 | ASSIGN |  |  |  | !0,0
12 | 1 | IS_SMALLER |  |  | ~1 | 1,!0
 | 2 | JMPZ |  |  |  | ~1,->5
 | 3 | QM_ASSIGN |  |  | ~2 | 10
 | 4 | JMP |  |  |  | ->6
 | 5 | QM_ASSIGN |  |  | ~2 | 11
 | 6 | ASSIGN |  |  |  | !1,~2
13 | 7 | RETURN |  |  |  | null
PRINT
RAISE_ABSTRACT_ERROR
Opcode Descriptions and Examples


RAISE_ABSTRACT_ERROR

PHP code

<?php
/*
 *
 * opcode number: 142
 */

abstract class fail {
    abstract function show();
}

class pass extends fail {
    function show() {
        echo "Call to function show()\n";
    }
}

$t2 = new pass();
$t2->show();

$t = new fail();
$t->show();

echo "Done\n"; // shouldn't be displayed
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$t2, !1=$t

line | # | op | fetch | ext | return | operands
7 | 0 | NOP |  |  |  |
11 | 1 | NOP |  |  |  |
 | 2 | NOP |  |  |  |
17 | 3 | ZEND_FETCH_CLASS |  |  | :3 | 'pass'
 | 4 | NEW |  |  | $4 | :3
 | 5 | DO_FCALL_BY_NAME |  | 0 |  |
 | 6 | ASSIGN |  |  |  | !0,$4
18 | 7 | ZEND_INIT_METHOD_CALL |  |  |  | !0,'show'
 | 8 | DO_FCALL_BY_NAME |  | 0 |  |
20 | 9 | ZEND_FETCH_CLASS |  |  | :9 | 'fail'
 | 10 | NEW |  |  | $10 | :9
 | 11 | DO_FCALL_BY_NAME |  | 0 |  |
 | 12 | ASSIGN |  |  |  | !1,$10
21 | 13 | ZEND_INIT_METHOD_CALL |  |  |  | !1,'show'
 | 14 | DO_FCALL_BY_NAME |  | 0 |  |
23 | 15 | ECHO |  |  |  | 'Done%0A'
24 | 16 | RETURN |  |  |  | 1

Function name: show

Compiled variables: none

line | # | op | fetch | ext | return | operands
8 | 0 | ZEND_RAISE_ABSTRACT_ERROR |  |  |  |
 | 1 | RETURN |  |  |  | null

Function name: show

Compiled variables: none

line | # | op | fetch | ext | return | operands
13 | 0 | ECHO |  |  |  | 'Call+to+function+show%28%29%0A'
14 | 1 | RETURN |  |  |  | null
QM_ASSIGN
RECV
Opcode Descriptions and Examples


RECV

PHP code

<?php
/*
 * Receive a functoin argument of "argument-number" and store the argument value into a variable of "argument-number".  (e.g. $1 for 1)
 * opcode number: 63
 */
function hello($a){}
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
7 | 1 | RETURN |  |  |  | 1

Function name: hello

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | RECV |  |  |  | 1
 | 1 | RETURN |  |  |  | null
RAISE_ABSTRACT_ERROR
RECV_INIT
Opcode Descriptions and Examples


RECV_INIT

PHP code

<?php
/*
 * Initialize a function argument with "value" if not received from caller.  Otherwise same as RECV.
 * opcode number: 64
 */
function hello($a=5){}
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
7 | 1 | RETURN |  |  |  | 1

Function name: hello

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | RECV_INIT |  |  |  | 1,5
 | 1 | RETURN |  |  |  | null
RECV
RETURN
Opcode Descriptions and Examples


RETURN

PHP code

<?php
/*
 * Return value from a funciton.
 * opcode number: 62
 */
return 1;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | RETURN |  |  |  | 1
7 | 1 | RETURN |  |  |  | 1
RECV_INIT
RETURN_BY_REF
Opcode Descriptions and Examples


RETURN_BY_REF

PHP code

<?php
/*
 *
 * opcode number: 111
 * No sample PHP yet */
?>
RETURN
SEND_REF
Opcode Descriptions and Examples


SEND_REF

PHP code

<?php
/*
 * Pass the reference value as an actual parameter to a function.  DO_FCALL follows.
 * opcode number: 67
 */
@each($input);
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | BEGIN_SILENCE |  |  | ~0 |
 | 1 | FETCH_W | local |  | $1 | 'input'
 | 2 | SEND_REF |  |  |  | $1
 | 3 | DO_FCALL |  | 1 |  | 'each'
 | 4 | END_SILENCE |  |  |  | ~0
7 | 5 | RETURN |  |  |  | 1
RETURN_BY_REF
SEND_VAL
Opcode Descriptions and Examples


SEND_VAL

PHP code

<?php
/*
 * Pass the constant value as an actual parameter to a function.  DO_FCALL follows.
 * opcode number: 65
 */
function funcA($msg){
    print $msg;
}

funcA('HELLO');

defined('IN_PHPBB');
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
10 | 1 | SEND_VAL |  |  |  | 'HELLO'
 | 2 | DO_FCALL |  | 1 |  | 'funca'
12 | 3 | SEND_VAL |  |  |  | 'IN_PHPBB'
 | 4 | DO_FCALL |  | 1 |  | 'defined'
13 | 5 | RETURN |  |  |  | 1

Function name: funcA

Compiled variables: !0=$msg

line | # | op | fetch | ext | return | operands
6 | 0 | RECV |  |  |  | 1
7 | 1 | PRINT |  |  | ~0 | !0
 | 2 | FREE |  |  |  | ~0
8 | 3 | RETURN |  |  |  | null
SEND_REF
SEND_VAR
Opcode Descriptions and Examples


SEND_VAR

PHP code

<?php
/*
 * Pass the variable value as an actual parameter to a function.  DO_FCALL follows.
 * opcode number: 66
 */
$a = array(1,2,3);
if(is_array($a)){ return 0; }
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 1
 | 1 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 3 | ASSIGN |  |  |  | !0,~0
7 | 4 | SEND_VAR |  |  |  | !0
 | 5 | DO_FCALL |  | 1 |  | 'is_array'
 | 6 | JMPZ |  |  |  | $2,->9
 | 7 | RETURN |  |  |  | 0
 | 8 | JMP |  |  |  | ->9
8 | 9 | RETURN |  |  |  | 1
SEND_VAL
SEND_VAR_NO_REF
Opcode Descriptions and Examples


SEND_VAR_NO_REF

PHP code

<?php
/*
 *
 * opcode number: 106
 * No sample PHP yet */
?>
SEND_VAR
SL
Opcode Descriptions and Examples


SL

PHP code

<?php
/*
 * Shift bits of value1 to the left value2 steps (each step means "multiply by two")
 * opcode number: 6
 */
echo 8 << 2;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | SL |  |  | ~0 | 8,2
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
SEND_VAR_NO_REF
SR
Opcode Descriptions and Examples


SR

PHP code

<?php
/*
 * Shift bits of value1 to the right value2 steps (each step means "divide by two")
 * opcode number: 7
 */
echo 8 >> 2;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | SR |  |  | ~0 | 8,2
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
SL
SUB
Opcode Descriptions and Examples


SUB

PHP code

<?php
/*
 * Subtracts "value2" from "value1" and stores the result into "result".
 * opcode number: 2
 */
echo 1-2;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | SUB |  |  | ~0 | 1,2
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
SR
SWITCH_FREE
Opcode Descriptions and Examples


SWITCH_FREE

PHP code

<?php
/*
 * Release the allocated space of "value"?
 * opcode number: 49
 */
$a = array(1,2,3);
foreach($a as $num){
    print $num;
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a, !1=$num

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 1
 | 1 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 3 | ASSIGN |  |  |  | !0,~0
7 | 4 | FE_RESET |  |  | $2 | !0,->11
 | 5 | FE_FETCH |  |  | $3 | $2,->11
 | 6 | ZEND_OP_DATA |  |  |  |
 | 7 | ASSIGN |  |  |  | !1,$3
8 | 8 | PRINT |  |  | ~5 | !1
 | 9 | FREE |  |  |  | ~5
9 | 10 | JMP |  |  |  | ->5
 | 11 | SWITCH_FREE |  |  |  | $2
10 | 12 | RETURN |  |  |  | 1
SUB
THROW
Opcode Descriptions and Examples


THROW

PHP code

<?php
/*
 *
 * opcode number: 108
 */
try {
    $error = 'Always throw this error';
    throw new Exception($error);

    // Code following an exception is not executed.
    echo 'Never executed';

} catch (Exception $e) {
    echo 'Caught exception: ',  $e->getMessage(), "\n";
}

// Continue execution
echo 'Hello World';
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$error, !1=$e

line | # | op | fetch | ext | return | operands
7 | 0 | ASSIGN |  |  |  | !0,'Always+throw+this+error'
8 | 1 | ZEND_FETCH_CLASS |  |  | :1 | 'Exception'
 | 2 | NEW |  |  | $2 | :1
 | 3 | SEND_VAR |  |  |  | !0
 | 4 | DO_FCALL_BY_NAME |  | 1 |  |
 | 5 | ZEND_THROW |  | 0 |  | $2
11 | 6 | ECHO |  |  |  | 'Never+executed'
13 | 7 | JMP |  |  |  | ->15
 | 8 | ZEND_FETCH_CLASS |  |  | :4 | 'Exception'
 | 9 | ZEND_CATCH |  | 15 |  | $4,!1
14 | 10 | ECHO |  |  |  | 'Caught+exception%3A+'
 | 11 | ZEND_INIT_METHOD_CALL |  |  |  | !1,'getMessage'
 | 12 | DO_FCALL_BY_NAME |  | 0 |  |
 | 13 | ECHO |  |  |  | $6
 | 14 | ECHO |  |  |  | '%0A'
18 | 15 | ECHO |  |  |  | 'Hello+World'
19 | 16 | RETURN |  |  |  | 1
SWITCH_FREE
TICKS
Opcode Descriptions and Examples


TICKS

PHP code

<?php
/*
 *
 * opcode number: 105
 */
// A function that records the time when it is called
function profile()
{
   echo "profile function is called\n";
}

// Set up a tick handler
register_tick_function("profile");

// Initialize the function before the declare block
profile();

// Run a block of code, throw a tick every 2nd statement
declare(ticks=2) {
   for ($x = 0; $x < 10; ++$x) {
         echo "hello world\n";
   }
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x

line | # | op | fetch | ext | return | operands
7 | 0 | NOP |  |  |  |
13 | 1 | SEND_VAL |  |  |  | 'profile'
 | 2 | DO_FCALL |  | 1 |  | 'register_tick_function'
16 | 3 | DO_FCALL |  | 0 |  | 'profile'
20 | 4 | ASSIGN |  |  |  | !0,0
 | 5 | IS_SMALLER |  |  | ~3 | !0,10
 | 6 | JMPZNZ |  | 9 |  | ~3,->13
 | 7 | PRE_INC |  |  |  | !0
 | 8 | JMP |  |  |  | ->5
21 | 9 | ECHO |  |  |  | 'hello+world%0A'
 | 10 | TICKS |  |  |  | 2
22 | 11 | TICKS |  |  |  | 2
 | 12 | JMP |  |  |  | ->7
 | 13 | TICKS |  |  |  | 2
23 | 14 | TICKS |  |  |  | 2
24 | 15 | RETURN |  |  |  | 1

Function name: profile

Compiled variables: none

line | # | op | fetch | ext | return | operands
9 | 0 | ECHO |  |  |  | 'profile+function+is+called%0A'
10 | 1 | RETURN |  |  |  | null
THROW
UNSET_DIM
Opcode Descriptions and Examples


UNSET_DIM

PHP code

<?php
/*
 * Unset the entry of array-value, which is specified by index, and store the original element value into "result".
 * opcode number: 75
 */
$a = array(1,2,3);
unset($a[0]);
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 1
 | 1 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 3 | ASSIGN |  |  |  | !0,~0
7 | 4 | UNSET_DIM |  |  | $2 | !0,0
8 | 5 | RETURN |  |  |  | 1
TICKS
UNSET_OBJ
Opcode Descriptions and Examples


UNSET_OBJ

PHP code

<?php
/*
 * Unset the property of the current object (this) and store the original value into "result".
 * opcode number: 76
 */
$obj = new A();
unset($obj->num);
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | UNSET_OBJ |  |  | $4 | !0,'num'
8 | 5 | RETURN |  |  |  | 1
UNSET_DIM
UNSET_VAR
Opcode Descriptions and Examples


UNSET_VAR

PHP code

<?php
/*
 * Unset the variable and store the original value into "result".
 * opcode number: 74
 */
$x = 1;
$a='x';
unset($$a);
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,1
7 | 1 | ASSIGN |  |  |  | !1,'x'
8 | 2 | UNSET_VAR |  |  | $2 | !1
9 | 3 | RETURN |  |  |  | 1
UNSET_OBJ
USER_OPCODE
Opcode Descriptions and Examples


USER_OPCODE

PHP code

<?php
/*
 *
 * opcode number: 150
 * No sample PHP yet */
?>
UNSET_VAR
VERIFY_ABSTRACT_CLASS
Opcode Descriptions and Examples


VERIFY_ABSTRACT_CLASS

PHP code

<?php
/*
 *
 * opcode number: 146
 * No sample PHP yet */
?>
USER_OPCODE
ZEND_DECLARE_LAMBDA_FUNCTION
Opcode Descriptions and Examples


ZEND_DECLARE_LAMBDA_FUNCTION

PHP code

<?php
/*
 *
 * opcode number: 153
 * No sample PHP yet */
?>
VERIFY_ABSTRACT_CLASS
ZEND_JMP_SET
Opcode Descriptions and Examples


ZEND_JMP_SET

PHP code

<?php
/*
 *
 * opcode number: 152
 * No sample PHP yet */
?>
ZEND_DECLARE_LAMBDA_FUNCTION
Zend Engine 1
Opcode Descriptions and Examples


Zend Engine 1

Inhaltsverzeichnis

  • Old introduction
  • Streams API for PHP Extension Authors
  • Zend API: Hacking the Core of PHP
  • TSRM API

Zend Engine 1 is the internal engine used by PHP for the entire version 4 release line. It is no longer considered active, but the old ZE1 documentation is preserved here exactly as it was.

ZEND_JMP_SET
Old introduction
PHP im Kern: Das Entwicklerhandbuch für die Zend Engine


Old introduction

If you are about to begin developing PHP or Zend extensions, you need to prepare yourself for the programming environment provided by the various APIs. This part of the documentation tries to introduce the APIs provided by the different PHP and Zend Engine versions available. Since most of the information available here is somewhat outdated, you'll want to read various files found in the PHP source, files such as README.SELF-CONTAINED-EXTENSIONS and README.EXT_SKEL in addition to the manual.

Zend Engine 1
Streams API for PHP Extension Authors
Zend Engine 1


Streams API for PHP Extension Authors

Hinweis:

The functions in this chapter are for use in the PHP source code and are not PHP functions. Information on userland stream functions can be found in the Stream Reference.

Overview

The PHP Streams API introduces a unified approach to the handling of files and sockets in PHP extension. Using a single API with standard functions for common operations, the streams API allows your extension to access files, sockets, URLs, memory and script-defined objects. Streams is a run-time extensible API that allows dynamically loaded modules (and scripts!) to register new streams.

The aim of the Streams API is to make it comfortable for developers to open files, URLs and other streamable data sources with a unified API that is easy to understand. The API is more or less based on the ANSI C stdio family of functions (with identical semantics for most of the main functions), so C programmers will have a feeling of familiarity with streams.

The streams API operates on a couple of different levels: at the base level, the API defines php_stream objects to represent streamable data sources. On a slightly higher level, the API defines php_stream_wrapper objects which "wrap" around the lower level API to provide support for retrieving data and meta-data from URLs. An additional context parameter, accepted by most stream creation functions, is passed to the wrapper's stream_opener method to fine-tune the behavior of the wrapper.

Any stream, once opened, can also have any number of filters applied to it, which process data as it is read from/written to the stream.

Streams can be cast (converted) into other types of file-handles, so that they can be used with third-party libraries without a great deal of trouble. This allows those libraries to access data directly from URL sources. If your system has the fopencookie() or funopen() function, you can even pass any PHP stream to any library that uses ANSI stdio!

Streams Basics

Using streams is very much like using ANSI stdio functions. The main difference is in how you obtain the stream handle to begin with. In most cases, you will use php_stream_open_wrapper() to obtain the stream handle. This function works very much like fopen, as can be seen from the example below:

Beispiel #1 simple stream example that displays the PHP home page

php_stream * stream = php_stream_open_wrapper("http://www.php.net", "rb", REPORT_ERRORS, NULL);
if (stream) {
    while(!php_stream_eof(stream)) {
        char buf[1024];

        if (php_stream_gets(stream, buf, sizeof(buf))) {
            printf(buf);
        } else {
            break;
        }
    }
    php_stream_close(stream);
}

The table below shows the Streams equivalents of the more common ANSI stdio functions. Unless noted otherwise, the semantics of the functions are identical.

ANSI stdio equivalent functions in the Streams API
ANSI Stdio Function | PHP Streams Function | Notes
fopen | php_stream_open_wrapper | Streams includes additional parameters
fclose | php_stream_close |
fgets | php_stream_gets |
fread | php_stream_read | The nmemb parameter is assumed to have a value of 1, so the prototype looks more like read(2)
fwrite | php_stream_write | The nmemb parameter is assumed to have a value of 1, so the prototype looks more like write(2)
fseek | php_stream_seek |
ftell | php_stream_tell |
rewind | php_stream_rewind |
feof | php_stream_eof |
fgetc | php_stream_getc |
fputc | php_stream_putc |
fflush | php_stream_flush |
puts | php_stream_puts | Same semantics as puts, NOT fputs
fstat | php_stream_stat | Streams has a richer stat structure

Streams as Resources

All streams are registered as resources when they are created. This ensures that they will be properly cleaned up even if there is some fatal error. All of the filesystem functions in PHP operate on streams resources - that means that your extensions can accept regular PHP file pointers as parameters to, and return streams from their functions. The streams API makes this process as painless as possible:

Beispiel #2 How to accept a stream as a parameter

PHP_FUNCTION(example_write_hello)
{
    zval *zstream;
    php_stream *stream;

    if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &zstream))
        return;

    php_stream_from_zval(stream, &zstream);

    /* you can now use the stream.  However, you do not "own" the
        stream, the script does.  That means you MUST NOT close the
        stream, because it will cause PHP to crash! */

    php_stream_write(stream, "hello\n");

    RETURN_TRUE();
}

Beispiel #3 How to return a stream from a function

PHP_FUNCTION(example_open_php_home_page)
{
    php_stream *stream;

    stream = php_stream_open_wrapper("http://www.php.net", "rb", REPORT_ERRORS, NULL);

    php_stream_to_zval(stream, return_value);

    /* after this point, the stream is "owned" by the script.
        If you close it now, you will crash PHP! */
}

Since streams are automatically cleaned up, it's tempting to think that we can get away with being sloppy programmers and not bother to close the streams when we are done with them. Although such an approach might work, it is not a good idea for a number of reasons: streams hold locks on system resources while they are open, so leaving a file open after you have finished with it could prevent other processes from accessing it. If a script deals with a large number of files, the accumulation of the resources used, both in terms of memory and the sheer number of open files, can cause web server requests to fail. Sounds bad, doesn't it? The streams API includes some magic that helps you to keep your code clean - if a stream is not closed by your code when it should be, you will find some helpful debugging information in you web server error log.

Hinweis: Always use a debug build of PHP when developing an extension (--enable-debug when running configure), as a lot of effort has been made to warn you about memory and stream leaks.

In some cases, it is useful to keep a stream open for the duration of a request, to act as a log or trace file for example. Writing the code to safely clean up such a stream is not difficult, but it's several lines of code that are not strictly needed. To save yourself the trouble of writing the code, you can mark a stream as being OK for auto cleanup. What this means is that the streams API will not emit a warning when it is time to auto-cleanup a stream. To do this, you can use php_stream_auto_cleanup().

Streams open options

These constants affect the operation of stream factory functions.

IGNORE_PATH
This is the default option for streams; it requests that the include_path is not to be searched for the requested file.
USE_PATH
Requests that the include_path is to be searched for the requested file.
IGNORE_URL
Requests that registered URL wrappers are to be ignored when opening the stream. Other non-URL wrappers will be taken into consideration when decoding the path. There is no opposite form for this flag; the streams API will use all registered wrappers by default.
IGNORE_URL_WIN
On Windows systems, this is equivalent to IGNORE_URL. On all other systems, this flag has no effect.
ENFORCE_SAFE_MODE
Requests that the underlying stream implementation perform safe_mode checks on the file before opening the file. Omitting this flag will skip safe_mode checks and allow opening of any file that the PHP process has rights to access.
REPORT_ERRORS
If this flag is set, and there was an error during the opening of the file or URL, the streams API will call the php_error function for you. This is useful because the path may contain username/password information that should not be displayed in the browser output (it would be a security risk to do so). When the streams API raises the error, it first strips username/password information from the path, making the error message safe to display in the browser.
STREAM_MUST_SEEK
This flag is useful when your extension really must be able to randomly seek around in a stream. Some streams may not be seekable in their native form, so this flag asks the streams API to check to see if the stream does support seeking. If it does not, it will copy the stream into temporary storage (which may be a temporary file or a memory stream) which does support seeking. Please note that this flag is not useful when you want to seek the stream and write to it, because the stream you are accessing might not be bound to the actual resource you requested.

Hinweis: If the requested resource is network based, this flag will cause the opener to block until the whole contents have been downloaded.

STREAM_WILL_CAST
If your extension is using a third-party library that expects a FILE* or file descriptor, you can use this flag to request the streams API to open the resource but avoid buffering. You can then use php_stream_cast() to retrieve the FILE* or file descriptor that the library requires. The is particularly useful when accessing HTTP URLs where the start of the actual stream data is found after an indeterminate offset into the stream. Since this option disables buffering at the streams API level, you may experience lower performance when using streams functions on the stream; this is deemed acceptable because you have told streams that you will be using the functions to match the underlying stream implementation. Only use this option when you are sure you need it.

Old introduction
Zend API: Hacking the Core of PHP
Zend Engine 1


Zend API: Hacking the Core of PHP

Introduction

Those who know don't talk.

Those who talk don't know.

Sometimes, PHP "as is" simply isn't enough. Although these cases are rare for the average user, professional applications will soon lead PHP to the edge of its capabilities, in terms of either speed or functionality. New functionality cannot always be implemented natively due to language restrictions and inconveniences that arise when having to carry around a huge library of default code appended to every single script, so another method needs to be found for overcoming these eventual lacks in PHP.

As soon as this point is reached, it's time to touch the heart of PHP and take a look at its core, the C code that makes PHP go.

Warnung

This information is currently rather outdated, parts of it only cover early stages of the ZendEngine 1.0 API as it was used in early versions of PHP 4.

More recent information may be found in the various README files that come with the PHP source and the » Internals section on the Zend website.

Overview

"Extending PHP" is easier said than done. PHP has evolved to a full-fledged tool consisting of a few megabytes of source code, and to hack a system like this quite a few things have to be learned and considered. When structuring this chapter, we finally decided on the "learn by doing" approach. This is not the most scientific and professional approach, but the method that's the most fun and gives the best end results. In the following sections, you'll learn quickly how to get the most basic extensions to work almost instantly. After that, you'll learn about Zend's advanced API functionality. The alternative would have been to try to impart the functionality, design, tips, tricks, etc. as a whole, all at once, thus giving a complete look at the big picture before doing anything practical. Although this is the "better" method, as no dirty hacks have to be made, it can be very frustrating as well as energy- and time-consuming, which is why we've decided on the direct approach.

Note that even though this chapter tries to impart as much knowledge as possible about the inner workings of PHP, it's impossible to really give a complete guide to extending PHP that works 100% of the time in all cases. PHP is such a huge and complex package that its inner workings can only be understood if you make yourself familiar with it by practicing, so we encourage you to work with the source.

What Is Zend? and What Is PHP?

The name Zend refers to the language engine, PHP's core. The term PHP refers to the complete system as it appears from the outside. This might sound a bit confusing at first, but it's not that complicated ( see below). To implement a Web script interpreter, you need three parts:

  1. The interpreter part analyzes the input code, translates it, and executes it.

  2. The functionality part implements the functionality of the language (its functions, etc.).

  3. The interface part talks to the Web server, etc.

Zend takes part 1 completely and a bit of part 2; PHP takes parts 2 and 3. Together they form the complete PHP package. Zend itself really forms only the language core, implementing PHP at its very basics with some predefined functions. PHP contains all the modules that actually create the language's outstanding capabilities.
The internal structure of PHP.

The following sections discuss where PHP can be extended and how it's done.

Extension Possibilities

As shown above, PHP can be extended primarily at three points: external modules, built-in modules, and the Zend engine. The following sections discuss these options.

External Modules

External modules can be loaded at script runtime using the function dl(). This function loads a shared object from disk and makes its functionality available to the script to which it's being bound. After the script is terminated, the external module is discarded from memory. This method has both advantages and disadvantages, as described in the following table:

Advantages | Disadvantages
External modules don't require recompiling of PHP. | The shared objects need to be loaded every time a script is being executed (every hit), which is very slow.
The size of PHP remains small by "outsourcing" certain functionality. | External additional files clutter up the disk.
 |  | Every script that wants to use an external module's functionality has to specifically include a call to dl(), or the extension tag in php.ini needs to be modified (which is not always a suitable solution).
To sum up, external modules are great for third-party products, small additions to PHP that are rarely used, or just for testing purposes. To develop additional functionality quickly, external modules provide the best results. For frequent usage, larger implementations, and complex code, the disadvantages outweigh the advantages.

Third parties might consider using the extension tag in php.ini to create additional external modules to PHP. These external modules are completely detached from the main package, which is a very handy feature in commercial environments. Commercial distributors can simply ship disks or archives containing only their additional modules, without the need to create fixed and solid PHP binaries that don't allow other modules to be bound to them.

Built-in Modules

Built-in modules are compiled directly into PHP and carried around with every PHP process; their functionality is instantly available to every script that's being run. Like external modules, built-in modules have advantages and disadvantages, as described in the following table:

Advantages | Disadvantages
No need to load the module specifically; the functionality is instantly available. | Changes to built-in modules require recompiling of PHP.
No external files clutter up the disk; everything resides in the PHP binary. | The PHP binary grows and consumes more memory.
Built-in modules are best when you have a solid library of functions that remains relatively unchanged, requires better than poor-to-average performance, or is used frequently by many scripts on your site. The need to recompile PHP is quickly compensated by the benefit in speed and ease of use. However, built-in modules are not ideal when rapid development of small additions is required.

The Zend Engine

Of course, extensions can also be implemented directly in the Zend engine. This strategy is good if you need a change in the language behavior or require special functions to be built directly into the language core. In general, however, modifications to the Zend engine should be avoided. Changes here result in incompatibilities with the rest of the world, and hardly anyone will ever adapt to specially patched Zend engines. Modifications can't be detached from the main PHP sources and are overridden with the next update using the "official" source repositories. Therefore, this method is generally considered bad practice and, due to its rarity, is not covered in this book.

Source Layout

Hinweis:

Prior to working through the rest of this chapter, you should retrieve clean, unmodified source trees of your favorite Web server. We're working with Apache (available at » http://httpd.apache.org/) and, of course, with PHP (available at » http://www.php.net/ - does it need to be said?).

Make sure that you can compile a working PHP environment by yourself! We won't go into this issue here, however, as you should already have this most basic ability when studying this chapter.

Before we start discussing code issues, you should familiarize yourself with the source tree to be able to quickly navigate through PHP's files. This is a must-have ability to implement and debug extensions.

The following table describes the contents of the major directories.

Directory | Contents
php-src | Main PHP source files and main header files; here you'll find all of PHP's API definitions, macros, etc. (important). Everything else is below this directory.
php-src/ext | Repository for dynamic and built-in modules; by default, these are the "official" PHP modules that have been integrated into the main source tree. From PHP 4.0, it's possible to compile these standard extensions as dynamic loadable modules (at least, those that support it).
php-src/main | This directory contains the main php macros and definitions. (important)
php-src/pear | Directory for the PHP Extension and Application Repository. This directory contains core PEAR files.
php-src/sapi | Contains the code for the different server abstraction layers.
TSRM | Location of the "Thread Safe Resource Manager" (TSRM) for Zend and PHP.
ZendEngine2 | Location of the Zend Engine files; here you'll find all of Zend's API definitions, macros, etc. (important).

Discussing all the files included in the PHP package is beyond the scope of this chapter. However, you should take a close look at the following files:

  • php-src/main/php.h, located in the main PHP directory. This file contains most of PHP's macro and API definitions.

  • php-src/Zend/zend.h, located in the main Zend directory. This file contains most of Zend's macros and definitions.

  • php-src/Zend/zend_API.h, also located in the Zend directory, which defines Zend's API.

You should also follow some sub-inclusions from these files; for example, the ones relating to the Zend executor, the PHP initialization file support, and such. After reading these files, take the time to navigate around the package a little to see the interdependencies of all files and modules - how they relate to each other and especially how they make use of each other. This also helps you to adapt to the coding style in which PHP is authored. To extend PHP, you should quickly adapt to this style.

Extension Conventions

Zend is built using certain conventions; to avoid breaking its standards, you should follow the rules described in the following sections.

Macros

For almost every important task, Zend ships predefined macros that are extremely handy. The tables and figures in the following sections describe most of the basic functions, structures, and macros. The macro definitions can be found mainly in zend.h and zend_API.h. We suggest that you take a close look at these files after having studied this chapter. (Although you can go ahead and read them now, not everything will make sense to you yet.)

Memory Management

Resource management is a crucial issue, especially in server software. One of the most valuable resources is memory, and memory management should be handled with extreme care. Memory management has been partially abstracted in Zend, and you should stick to this abstraction for obvious reasons: Due to the abstraction, Zend gets full control over all memory allocations. Zend is able to determine whether a block is in use, automatically freeing unused blocks and blocks with lost references, and thus prevent memory leaks. The functions to be used are described in the following table:

Function | Description
emalloc() | Serves as replacement for malloc().
efree() | Serves as replacement for free().
estrdup() | Serves as replacement for strdup().
estrndup() | Serves as replacement for strndup(). Faster than estrdup() and binary-safe. This is the recommended function to use if you know the string length prior to duplicating it.
ecalloc() | Serves as replacement for calloc().
erealloc() | Serves as replacement for realloc().
emalloc(), estrdup(), estrndup(), ecalloc(), and erealloc() allocate internal memory; efree() frees these previously allocated blocks. Memory handled by the e*() functions is considered local to the current process and is discarded as soon as the script executed by this process is terminated.
Warnung

To allocate resident memory that survives termination of the current script, you can use malloc() and free(). This should only be done with extreme care, however, and only in conjunction with demands of the Zend API; otherwise, you risk memory leaks.

Zend also features a thread-safe resource manager to provide better native support for multithreaded Web servers. This requires you to allocate local structures for all of your global variables to allow concurrent threads to be run. Because the thread-safe mode of Zend was not finished back when this was written, it is not yet extensively covered here.

Directory and File Functions

The following directory and file functions should be used in Zend modules. They behave exactly like their C counterparts, but provide virtual working directory support on the thread level.

Zend Function | Regular C Function
V_GETCWD() | getcwd()
V_FOPEN() | fopen()
V_OPEN() | open()
V_CHDIR() | chdir()
V_GETWD() | getwd()
V_CHDIR_FILE() | Takes a file path as an argument and changes the current working directory to that file's directory.
V_STAT() | stat()
V_LSTAT() | lstat()

String Handling

Strings are handled a bit differently by the Zend engine than other values such as integers, Booleans, etc., which don't require additional memory allocation for storing their values. If you want to return a string from a function, introduce a new string variable to the symbol table, or do something similar, you have to make sure that the memory the string will be occupying has previously been allocated, using the aforementioned e*() functions for allocation. (This might not make much sense to you yet; just keep it somewhere in your head for now - we'll get back to it shortly.)

Complex Types

Complex types such as arrays and objects require different treatment. Zend features a single API for these types - they're stored using hash tables.

Hinweis:

To reduce complexity in the following source examples, we're only working with simple types such as integers at first. A discussion about creating more advanced types follows later in this chapter.

PHP's Automatic Build System

PHP 4 features an automatic build system that's very flexible. All modules reside in a subdirectory of the ext directory. In addition to its own sources, each module consists of a config.m4 file, for extension configuration. (for example, see » http://www.gnu.org/software/m4/)

All these stub files are generated automatically, along with .cvsignore, by a little shell script named ext_skel that resides in the ext directory. As argument it takes the name of the module that you want to create. The shell script then creates a directory of the same name, along with the appropriate stub files.

Step by step, the process looks like this:

:~/cvs/php4/ext:> ./ext_skel --extname=my_module
Creating directory my_module
Creating basic files: config.m4 .cvsignore my_module.c php_my_module.h CREDITS EXPERIMENTAL tests/001.phpt my_module.php [done].

To use your new extension, you will have to execute the following steps:

1.  $ cd ..
2.  $ vi ext/my_module/config.m4
3.  $ ./buildconf
4.  $ ./configure --[with|enable]-my_module
5.  $ make
6.  $ ./php -f ext/my_module/my_module.php
7.  $ vi ext/my_module/my_module.c
8.  $ make

Repeat steps 3-6 until you are satisfied with ext/my_module/config.m4 and
step 6 confirms that your module is compiled into PHP. Then, start writing
code and repeat the last two steps as often as necessary.
This instruction creates the aforementioned files. To include the new module in the automatic configuration and build process, you have to run buildconf, which regenerates the configure script by searching through the ext directory and including all found config.m4 files.

The default config.m4 shown in The default config.m4. is a bit more complex:

Beispiel #1 The default config.m4.

dnl $Id: build.xml 297078 2010-03-29 16:25:51Z degeberg $
dnl config.m4 for extension my_module

dnl Comments in this file start with the string 'dnl'.
dnl Remove where necessary. This file will not work
dnl without editing.

dnl If your extension references something external, use with:

dnl PHP_ARG_WITH(my_module, for my_module support,
dnl Make sure that the comment is aligned:
dnl [  --with-my_module             Include my_module support])

dnl Otherwise use enable:

dnl PHP_ARG_ENABLE(my_module, whether to enable my_module support,
dnl Make sure that the comment is aligned:
dnl [  --enable-my_module           Enable my_module support])

if test "$PHP_MY_MODULE" != "no"; then
  dnl Write more examples of tests here...

  dnl # --with-my_module -> check with-path
  dnl SEARCH_PATH="/usr/local /usr"     # you might want to change this
  dnl SEARCH_FOR="/include/my_module.h"  # you most likely want to change this
  dnl if test -r $PHP_MY_MODULE/; then # path given as parameter
  dnl   MY_MODULE_DIR=$PHP_MY_MODULE
  dnl else # search default path list
  dnl   AC_MSG_CHECKING([for my_module files in default path])
  dnl   for i in $SEARCH_PATH ; do
  dnl     if test -r $i/$SEARCH_FOR; then
  dnl       MY_MODULE_DIR=$i
  dnl       AC_MSG_RESULT(found in $i)
  dnl     fi
  dnl   done
  dnl fi
  dnl
  dnl if test -z "$MY_MODULE_DIR"; then
  dnl   AC_MSG_RESULT([not found])
  dnl   AC_MSG_ERROR([Please reinstall the my_module distribution])
  dnl fi

  dnl # --with-my_module -> add include path
  dnl PHP_ADD_INCLUDE($MY_MODULE_DIR/include)

  dnl # --with-my_module -> chech for lib and symbol presence
  dnl LIBNAME=my_module # you may want to change this
  dnl LIBSYMBOL=my_module # you most likely want to change this

  dnl PHP_CHECK_LIBRARY($LIBNAME,$LIBSYMBOL,
  dnl [
  dnl   PHP_ADD_LIBRARY_WITH_PATH($LIBNAME, $MY_MODULE_DIR/lib, MY_MODULE_SHARED_LIBADD)
  dnl   AC_DEFINE(HAVE_MY_MODULELIB,1,[ ])
  dnl ],[
  dnl   AC_MSG_ERROR([wrong my_module lib version or lib not found])
  dnl ],[
  dnl   -L$MY_MODULE_DIR/lib -lm -ldl
  dnl ])
  dnl
  dnl PHP_SUBST(MY_MODULE_SHARED_LIBADD)

  PHP_NEW_EXTENSION(my_module, my_module.c, $ext_shared)
fi

If you're unfamiliar with M4 files (now is certainly a good time to get familiar), this might be a bit confusing at first; but it's actually quite easy.

Note: Everything prefixed with dnl is treated as a comment and is not parsed.

The config.m4 file is responsible for parsing the command-line options passed to configure at configuration time. This means that it has to check for required external files and do similar configuration and setup tasks.

The default file creates two configuration directives in the configure script: --with-my_module and --enable-my_module. Use the first option when referring external files (such as the --with-apache directive that refers to the Apache directory). Use the second option when the user simply has to decide whether to enable your extension. Regardless of which option you use, you should uncomment the other, unnecessary one; that is, if you're using --enable-my_module, you should remove support for --with-my_module, and vice versa.

By default, the config.m4 file created by ext_skel accepts both directives and automatically enables your extension. Enabling the extension is done by using the PHP_EXTENSION macro. To change the default behavior to include your module into the PHP binary when desired by the user (by explicitly specifying --enable-my_module or --with-my_module), change the test for $PHP_MY_MODULE to == "yes":

if test "$PHP_MY_MODULE" == "yes"; then dnl
    Action.. PHP_EXTENSION(my_module, $ext_shared)
    fi
This would require you to use --enable-my_module each time when reconfiguring and recompiling PHP.

Note: Be sure to run buildconf every time you change config.m4!

We'll go into more details on the M4 macros available to your configuration scripts later in this chapter. For now, we'll simply use the default files.

Creating Extensions

We'll start with the creation of a very simple extension at first, which basically does nothing more than implement a function that returns the integer it receives as parameter. A simple extension. shows the source.

Beispiel #2 A simple extension.

/* include standard header */
#include "php.h"

/* declaration of functions to be exported */
ZEND_FUNCTION(first_module);

/* compiled function list so Zend knows what's in this module */
zend_function_entry firstmod_functions[] =
{
    ZEND_FE(first_module, NULL)
    ZEND_FE_END
};

/* compiled module information */
zend_module_entry firstmod_module_entry =
{
    STANDARD_MODULE_HEADER,
    "First Module",
    firstmod_functions,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NO_VERSION_YET,
    STANDARD_MODULE_PROPERTIES
};

/* implement standard "stub" routine to introduce ourselves to Zend */
#if COMPILE_DL_FIRST_MODULE
ZEND_GET_MODULE(firstmod)
#endif

/* implement function that is meant to be made available to PHP */
ZEND_FUNCTION(first_module)
{
    long parameter;

    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &parameter) == FAILURE) {
        return;
    }

    RETURN_LONG(parameter);
}

This code contains a complete PHP module. We'll explain the source code in detail shortly, but first we'd like to discuss the build process. (This will allow the impatient to experiment before we dive into API discussions.)

Hinweis:

The example source makes use of some features introduced with the Zend version used in PHP 4.1.0 and above, it won't compile with older PHP 4.0.x versions.

Compiling Modules

There are basically two ways to compile modules:

  • Use the provided "make" mechanism in the ext directory, which also allows building of dynamic loadable modules.

  • Compile the sources manually.

The first method should definitely be favored, since, as of PHP 4.0, this has been standardized into a sophisticated build process. The fact that it is so sophisticated is also its drawback, unfortunately - it's hard to understand at first. We'll provide a more detailed introduction to this later in the chapter, but first let's work with the default files.

The second method is good for those who (for some reason) don't have the full PHP source tree available, don't have access to all files, or just like to juggle with their keyboard. These cases should be extremely rare, but for the sake of completeness we'll also describe this method.

Compiling Using Make

To compile the sample sources using the standard mechanism, copy all their subdirectories to the ext directory of your PHP source tree. Then run buildconf, which will create an updated configure script containing appropriate options for the new extension. By default, all the sample sources are disabled, so you don't have to fear breaking your build process.

After you run buildconf, configure --help shows the following additional modules:

  --enable-array_experiments   BOOK: Enables array experiments
  --enable-call_userland       BOOK: Enables userland module
  --enable-cross_conversion    BOOK: Enables cross-conversion module
  --enable-first_module        BOOK: Enables first module
  --enable-infoprint           BOOK: Enables infoprint module
  --enable-reference_test      BOOK: Enables reference test module
  --enable-resource_test       BOOK: Enables resource test module
  --enable-variable_creation   BOOK: Enables variable-creation module

The module shown earlier in A simple extension. can be enabled with --enable-first_module or --enable-first_module=yes.

Compiling Manually

To compile your modules manually, you need the following commands:

Action | Command
Compiling | cc -fpic -DCOMPILE_DL_FIRST_MODULE=1 -I/usr/local/include -I. -I.. -I../Zend -c -o <your_object_file> <your_c_file>
Linking | cc -shared -L/usr/local/lib -rdynamic -o <your_module_file> <your_object_file(s)>
The command to compile the module simply instructs the compiler to generate position-independent code (-fpic shouldn't be omitted) and additionally defines the constant COMPILE_DL_FIRST_MODULE to tell the module code that it's compiled as a dynamically loadable module (the test module above checks for this; we'll discuss it shortly). After these options, it specifies a number of standard include paths that should be used as the minimal set to compile the source files.

Note: All include paths in the example are relative to the directory ext. If you're compiling from another directory, change the pathnames accordingly. Required items are the PHP directory, the Zend directory, and (if necessary), the directory in which your module resides.

The link command is also a plain vanilla command instructing linkage as a dynamic module.

You can include optimization options in the compilation command, although these have been omitted in this example (but some are included in the makefile template described in an earlier section).

Note: Compiling and linking manually as a static module into the PHP binary involves very long instructions and thus is not discussed here. (It's not very efficient to type all those commands.)

Using Extensions

Depending on the build process you selected, you should either end up with a new PHP binary to be linked into your Web server (or run as CGI), or with an .so (shared object) file. If you compiled the example file first_module.c as a shared object, your result file should be first_module.so. To use it, you first have to copy it to a place from which it's accessible to PHP. For a simple test procedure, you can copy it to your htdocs directory and try it with the source in A test file for first_module.so.. If you compiled it into the PHP binary, omit the call to dl(), as the module's functionality is instantly available to your scripts.

Warnung

For security reasons, you should not put your dynamic modules into publicly accessible directories. Even though it can be done and it simplifies testing, you should put them into a separate directory in production environments.

Beispiel #3 A test file for first_module.so.

<?php

// remove next comment if necessary
// dl("first_module.so");

$param = 2;
$return = first_module($param);

print("We sent '$param' and got '$return'");

?>

Calling this PHP file should output the following:

We sent '2' and got '2'

If required, the dynamic loadable module is loaded by calling the dl() function. This function looks for the specified shared object, loads it, and makes its functions available to PHP. The module exports the function first_module(), which accepts a single parameter, converts it to an integer, and returns the result of the conversion.

If you've gotten this far, congratulations! You just built your first extension to PHP.

Troubleshooting

Actually, not much troubleshooting can be done when compiling static or dynamic modules. The only problem that could arise is that the compiler will complain about missing definitions or something similar. In this case, make sure that all header files are available and that you specified their path correctly in the compilation command. To be sure that everything is located correctly, extract a clean PHP source tree and use the automatic build in the ext directory with the fresh files; this will guarantee a safe compilation environment. If this fails, try manual compilation.

PHP might also complain about missing functions in your module. (This shouldn't happen with the sample sources if you didn't modify them.) If the names of external functions you're trying to access from your module are misspelled, they'll remain as "unlinked symbols" in the symbol table. During dynamic loading and linkage by PHP, they won't resolve because of the typing errors - there are no corresponding symbols in the main binary. Look for incorrect declarations in your module file or incorrectly written external references. Note that this problem is specific to dynamic loadable modules; it doesn't occur with static modules. Errors in static modules show up at compile time.

Source Discussion

Now that you've got a safe build environment and you're able to include the modules into PHP files, it's time to discuss how everything works.

Module Structure

All PHP modules follow a common structure:

  • Header file inclusions (to include all required macros, API definitions, etc.)

  • C declaration of exported functions (required to declare the Zend function block)

  • Declaration of the Zend function block

  • Declaration of the Zend module block

  • Implementation of get_module()

  • Implementation of all exported functions

Header File Inclusions

The only header file you really have to include for your modules is php.h, located in the PHP directory. This file makes all macros and API definitions required to build new modules available to your code.

Tip: It's good practice to create a separate header file for your module that contains module-specific definitions. This header file should contain all the forward definitions for exported functions and include php.h. If you created your module using ext_skel you already have such a header file prepared.

Declaring Exported Functions

To declare functions that are to be exported (i.e., made available to PHP as new native functions), Zend provides a set of macros. A sample declaration looks like this:

ZEND_FUNCTION ( my_function );

ZEND_FUNCTION declares a new C function that complies with Zend's internal API. This means that the function is of type void and accepts INTERNAL_FUNCTION_PARAMETERS (another macro) as parameters. Additionally, it prefixes the function name with zif. The immediately expanded version of the above definitions would look like this:

void zif_my_function ( INTERNAL_FUNCTION_PARAMETERS );
Expanding INTERNAL_FUNCTION_PARAMETERS results in the following:
void zif_my_function( int ht
                    , zval * return_value
                    , zval * this_ptr
                    , int return_value_used
                    , zend_executor_globals * executor_globals
                    );

Since the interpreter and executor core have been separated from the main PHP package, a second API defining macros and function sets has evolved: the Zend API. As the Zend API now handles quite a few of the responsibilities that previously belonged to PHP, a lot of PHP functions have been reduced to macros aliasing to calls into the Zend API. The recommended practice is to use the Zend API wherever possible, as the old API is only preserved for compatibility reasons. For example, the types zval and pval are identical. zval is Zend's definition; pval is PHP's definition (actually, pval is an alias for zval now). As the macro INTERNAL_FUNCTION_PARAMETERS is a Zend macro, the above declaration contains zval. When writing code, you should always use zval to conform to the new Zend API.

The parameter list of this declaration is very important; you should keep these parameters in mind (see Zend's Parameters to Functions Called from PHP for descriptions).

Zend's Parameters to Functions Called from PHP
Parameter | Description
ht | The number of arguments passed to the Zend function. You should not touch this directly, but instead use ZEND_NUM_ARGS() to obtain the value.
return_value | This variable is used to pass any return values of your function back to PHP. Access to this variable is best done using the predefined macros. For a description of these see below.
this_ptr | Using this variable, you can gain access to the object in which your function is contained, if it's used within an object. Use the function getThis() to obtain this pointer.
return_value_used | This flag indicates whether an eventual return value from this function will actually be used by the calling script. 0 indicates that the return value is not used; 1 indicates that the caller expects a return value. Evaluation of this flag can be done to verify correct usage of the function as well as speed optimizations in case returning a value requires expensive operations (for an example, see how array.c makes use of this).
executor_globals | This variable points to global settings of the Zend engine. You'll find this useful when creating new variables, for example (more about this later). The executor globals can also be introduced to your function by using the macro TSRMLS_FETCH().

Declaration of the Zend Function Block

Now that you have declared the functions to be exported, you also have to introduce them to Zend. Introducing the list of functions is done by using an array of zend_function_entry. This array consecutively contains all functions that are to be made available externally, with the function's name as it should appear in PHP and its name as defined in the C source. Internally, zend_function_entry is defined as shown in Internal declaration of zend_function_entry..

Beispiel #4 Internal declaration of zend_function_entry.

typedef struct _zend_function_entry {
    char *fname;
    void (*handler)(INTERNAL_FUNCTION_PARAMETERS);
    unsigned char *func_arg_types;
} zend_function_entry;
Entry | Description
fname | Denotes the function name as seen in PHP (for example, fopen, mysql_connect, or, in our example, first_module).
handler | Pointer to the C function responsible for handling calls to this function. For example, see the standard macro INTERNAL_FUNCTION_PARAMETERS discussed earlier.
func_arg_types | Allows you to mark certain parameters so that they're forced to be passed by reference. You usually should set this to NULL.
In the example above, the declaration looks like this:
zend_function_entry firstmod_functions[] =
{
    ZEND_FE(first_module, NULL)
    ZEND_FE_END
};
You can see that the last entry in the list always has to be ZEND_FE_END. This marker has to be set for Zend to know when the end of the list of exported functions is reached.

The macro ZEND_FE (short for 'Zend Function Entry') simply expands to a structure entry in zend_function_entry. Note that these macros introduce a special naming scheme to your functions - your C functions will be prefixed with zif_, meaning that ZEND_FE(first_module) will refer to a C function zif_first_module(). If you want to mix macro usage with hand-coded entries (not a good practice), keep this in mind.

Tip: Compilation errors that refer to functions named zif_*() relate to functions defined with ZEND_FE.

Macros for Defining Functions shows a list of all the macros that you can use to define functions.

Macros for Defining Functions
Macro Name | Description
ZEND_FE(name, arg_types) | Defines a function entry of the name name in zend_function_entry. Requires a corresponding C function. arg_types needs to be set to NULL. This function uses automatic C function name generation by prefixing the PHP function name with zif_. For example, ZEND_FE("first_module", NULL) introduces a function first_module() to PHP and links it to the C function zif_first_module(). Use in conjunction with ZEND_FUNCTION.
ZEND_NAMED_FE(php_name, name, arg_types) | Defines a function that will be available to PHP by the name php_name and links it to the corresponding C function name. arg_types needs to be set to NULL. Use this function if you don't want the automatic name prefixing introduced by ZEND_FE. Use in conjunction with ZEND_NAMED_FUNCTION.
ZEND_FALIAS(name, alias, arg_types) | Defines an alias named alias for name. arg_types needs to be set to NULL. Doesn't require a corresponding C function; refers to the alias target instead.
PHP_FE(name, arg_types) | Old PHP API equivalent of ZEND_FE.
PHP_NAMED_FE(runtime_name, name, arg_types) | Old PHP API equivalent of ZEND_NAMED_FE.

Note: You can't use ZEND_FE in conjunction with PHP_FUNCTION, or PHP_FE in conjunction with ZEND_FUNCTION. However, it's perfectly legal to mix ZEND_FE and ZEND_FUNCTION with PHP_FE and PHP_FUNCTION when staying with the same macro set for each function to be declared. But mixing is not recommended; instead, you're advised to use the ZEND_* macros only.

Declaration of the Zend Module Block

This block is stored in the structure zend_module_entry and contains all necessary information to describe the contents of this module to Zend. You can see the internal definition of this module in Internal declaration of zend_module_entry..

Beispiel #5 Internal declaration of zend_module_entry.

typedef struct _zend_module_entry zend_module_entry;

    struct _zend_module_entry {
    unsigned short size;
    unsigned int zend_api;
    unsigned char zend_debug;
    unsigned char zts;
    char *name;
    zend_function_entry *functions;
    int (*module_startup_func)(INIT_FUNC_ARGS);
    int (*module_shutdown_func)(SHUTDOWN_FUNC_ARGS);
    int (*request_startup_func)(INIT_FUNC_ARGS);
    int (*request_shutdown_func)(SHUTDOWN_FUNC_ARGS);
    void (*info_func)(ZEND_MODULE_INFO_FUNC_ARGS);
    char *version;

[ Rest of the structure is not interesting here ]

};
Entry | Description
size, zend_api, zend_debug and zts | Usually filled with the "STANDARD_MODULE_HEADER", which fills these four members with the size of the whole zend_module_entry, the ZEND_MODULE_API_NO, whether it is a debug build or normal build (ZEND_DEBUG) and if ZTS is enabled (USING_ZTS).
name | Contains the module name (for example, "File functions", "Socket functions", "Crypt", etc.). This name will show up in phpinfo(), in the section "Additional Modules."
functions | Points to the Zend function block, discussed in the preceding section.
module_startup_func | This function is called once upon module initialization and can be used to do one-time initialization steps (such as initial memory allocation, etc.). To indicate a failure during initialization, return FAILURE; otherwise, SUCCESS. To mark this field as unused, use NULL. To declare a function, use the macro ZEND_MINIT.
module_shutdown_func | This function is called once upon module shutdown and can be used to do one-time deinitialization steps (such as memory deallocation). This is the counterpart to module_startup_func(). To indicate a failure during deinitialization, return FAILURE; otherwise, SUCCESS. To mark this field as unused, use NULL. To declare a function, use the macro ZEND_MSHUTDOWN.
request_startup_func | This function is called once upon every page request and can be used to do one-time initialization steps that are required to process a request. To indicate a failure here, return FAILURE; otherwise, SUCCESS. Note: As dynamic loadable modules are loaded only on page requests, the request startup function is called right after the module startup function (both initialization events happen at the same time). To mark this field as unused, use NULL. To declare a function, use the macro ZEND_RINIT.
request_shutdown_func | This function is called once after every page request and works as counterpart to request_startup_func(). To indicate a failure here, return FAILURE; otherwise, SUCCESS. Note: As dynamic loadable modules are loaded only on page requests, the request shutdown function is immediately followed by a call to the module shutdown handler (both deinitialization events happen at the same time). To mark this field as unused, use NULL. To declare a function, use the macro ZEND_RSHUTDOWN.
info_func | When phpinfo() is called in a script, Zend cycles through all loaded modules and calls this function. Every module then has the chance to print its own "footprint" into the output page. Generally this is used to dump environmental or statistical information. To mark this field as unused, use NULL. To declare a function, use the macro ZEND_MINFO.
version | The version of the module. You can use NO_VERSION_YET if you don't want to give the module a version number yet, but we really recommend that you add a version string here. Such a version string can look like this (in chronological order): "2.5-dev", "2.5RC1", "2.5" or "2.5pl3".
Remaining structure elements | These are used internally and can be prefilled by using the macro STANDARD_MODULE_PROPERTIES_EX. You should not assign any values to them. Use STANDARD_MODULE_PROPERTIES_EX only if you use global startup and shutdown functions; otherwise, use STANDARD_MODULE_PROPERTIES directly.

In our example, this structure is implemented as follows:

zend_module_entry firstmod_module_entry =
{
    STANDARD_MODULE_HEADER,
    "First Module",
    firstmod_functions,
    NULL, NULL, NULL, NULL, NULL,
    NO_VERSION_YET,
    STANDARD_MODULE_PROPERTIES,
};
This is basically the easiest and most minimal set of values you could ever use. The module name is set to First Module, then the function list is referenced, after which all startup and shutdown functions are marked as being unused.

For reference purposes, you can find a list of the macros involved in declared startup and shutdown functions in Macros to Declare Startup and Shutdown Functions. These are not used in our basic example yet, but will be demonstrated later on. You should make use of these macros to declare your startup and shutdown functions, as these require special arguments to be passed (INIT_FUNC_ARGS and SHUTDOWN_FUNC_ARGS), which are automatically included into the function declaration when using the predefined macros. If you declare your functions manually and the PHP developers decide that a change in the argument list is necessary, you'll have to change your module sources to remain compatible.

Macros to Declare Startup and Shutdown Functions
Macro | Description
ZEND_MINIT(module) | Declares a function for module startup. The generated name will be zend_minit_<module> (for example, zend_minit_first_module). Use in conjunction with ZEND_MINIT_FUNCTION.
ZEND_MSHUTDOWN(module) | Declares a function for module shutdown. The generated name will be zend_mshutdown_<module> (for example, zend_mshutdown_first_module). Use in conjunction with ZEND_MSHUTDOWN_FUNCTION.
ZEND_RINIT(module) | Declares a function for request startup. The generated name will be zend_rinit_<module> (for example, zend_rinit_first_module). Use in conjunction with ZEND_RINIT_FUNCTION.
ZEND_RSHUTDOWN(module) | Declares a function for request shutdown. The generated name will be zend_rshutdown_<module> (for example, zend_rshutdown_first_module). Use in conjunction with ZEND_RSHUTDOWN_FUNCTION.
ZEND_MINFO(module) | Declares a function for printing module information, used when phpinfo() is called. The generated name will be zend_info_<module> (for example, zend_info_first_module). Use in conjunction with ZEND_MINFO_FUNCTION.

Creation of get_module()

This function is special to all dynamic loadable modules. Take a look at the creation via the ZEND_GET_MODULE macro first:

#if COMPILE_DL_FIRSTMOD
     ZEND_GET_MODULE(firstmod)
#endif

The function implementation is surrounded by a conditional compilation statement. This is needed since the function get_module() is only required if your module is built as a dynamic extension. By specifying a definition of COMPILE_DL_FIRSTMOD in the compiler command (see above for a discussion of the compilation instructions required to build a dynamic extension), you can instruct your module whether you intend to build it as a dynamic extension or as a built-in module. If you want a built-in module, the implementation of get_module() is simply left out.

get_module() is called by Zend at load time of the module. You can think of it as being invoked by the dl() call in your script. Its purpose is to pass the module information block back to Zend in order to inform the engine about the module contents.

If you don't implement a get_module() function in your dynamic loadable module, Zend will compliment you with an error message when trying to access it.

Implementation of All Exported Functions

Implementing the exported functions is the final step. The example function in first_module looks like this:

ZEND_FUNCTION(first_module)
{
    long parameter;

    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &parameter) == FAILURE) {
        return;
    }

    RETURN_LONG(parameter);
}
The function declaration is done using ZEND_FUNCTION, which corresponds to ZEND_FE in the function entry table (discussed earlier).

After the declaration, code for checking and retrieving the function's arguments, argument conversion, and return value generation follows (more on this later).

Summary

That's it, basically - there's nothing more to implementing PHP modules. Built-in modules are structured similarly to dynamic modules, so, equipped with the information presented in the previous sections, you'll be able to fight the odds when encountering PHP module source files.

Now, in the following sections, read on about how to make use of PHP's internals to build powerful extensions.

Accepting Arguments

One of the most important issues for language extensions is accepting and dealing with data passed via arguments. Most extensions are built to deal with specific input data (or require parameters to perform their specific actions), and function arguments are the only real way to exchange data between the PHP level and the C level. Of course, there's also the possibility of exchanging data using predefined global values (which is also discussed later), but this should be avoided by all means, as it's extremely bad practice.

PHP doesn't make use of any formal function declarations; this is why call syntax is always completely dynamic and never checked for errors. Checking for correct call syntax is left to the user code. For example, it's possible to call a function using only one argument at one time and four arguments the next time - both invocations are syntactically absolutely correct.

Determining the Number of Arguments

Since PHP doesn't have formal function definitions with support for call syntax checking, and since PHP features variable arguments, sometimes you need to find out with how many arguments your function has been called. You can use the ZEND_NUM_ARGS macro in this case. In previous versions of PHP, this macro retrieved the number of arguments with which the function has been called based on the function's hash table entry, ht, which is passed in the INTERNAL_FUNCTION_PARAMETERS list. As ht itself now contains the number of arguments that have been passed to the function, ZEND_NUM_ARGS has been stripped down to a dummy macro (see its definition in zend_API.h). But it's still good practice to use it, to remain compatible with future changes in the call interface. Note: The old PHP equivalent of this macro is ARG_COUNT.

The following code checks for the correct number of arguments:

if(ZEND_NUM_ARGS() != 2) WRONG_PARAM_COUNT;
If the function is not called with two arguments, it exits with an error message. The code snippet above makes use of the tool macro WRONG_PARAM_COUNT, which can be used to generate a standard error message like:
"Warning: Wrong parameter count for firstmodule() in /home/www/htdocs/firstmod.php on line 5"

This macro prints a default error message and then returns to the caller. Its definition can also be found in zend_API.h and looks like this:

ZEND_API void wrong_param_count(void);

#define WRONG_PARAM_COUNT { wrong_param_count(); return; }
As you can see, it calls an internal function named wrong_param_count() that's responsible for printing the warning. For details on generating customized error messages, see the later section "Printing Information."

Retrieving Arguments

Hinweis: New parameter parsing API

This chapter documents the new Zend parameter parsing API introduced by Andrei Zmievski. It was introduced in the development stage between PHP 4.0.6 and 4.1.0.

Parsing parameters is a very common operation and it may get a bit tedious. It would also be nice to have standardized error checking and error messages. Since PHP 4.1.0, there is a way to do just that by using the new parameter parsing API. It greatly simplifies the process of receiving parameters, but it has a drawback in that it can't be used for functions that expect variable number of parameters. But since the vast majority of functions do not fall into those categories, this parsing API is recommended as the new standard way.

The prototype for parameter parsing function looks like this:

int zend_parse_parameters(int num_args TSRMLS_DC, char *type_spec, ...);
The first argument to this function is supposed to be the number of actual parameters passed to your function, so ZEND_NUM_ARGS() can be used for that. The second parameter should always be TSRMLS_CC macro. The third argument is a string that specifies the number and types of arguments your function is expecting, similar to how printf format string specifies the number and format of the output values it should operate on. And finally the rest of the arguments are pointers to variables which should receive the values from the parameters.

zend_parse_parameters() also performs type conversions whenever possible, so that you always receive the data in the format you asked for. Any type of scalar can be converted to another one, but conversions between complex types (arrays, objects, and resources) and scalar types are not allowed.

If the parameters could be obtained successfully and there were no errors during type conversion, the function will return SUCCESS, otherwise it will return FAILURE. The function will output informative error messages, if the number of received parameters does not match the requested number, or if type conversion could not be performed.

Here are some sample error messages:

Warning - ini_get_all() requires at most 1 parameter, 2 given
Warning - wddx_deserialize() expects parameter 1 to be string, array given
Of course each error message is accompanied by the filename and line number on which it occurs.

Here is the full list of type specifiers:

  • l - long

  • d - double

  • s - string (with possible null bytes) and its length

  • b - boolean

  • r - resource, stored in zval*

  • a - array, stored in zval*

  • o - object (of any class), stored in zval*

  • O - object (of class specified by class entry), stored in zval*

  • z - the actual zval*

The following characters also have a meaning in the specifier string:

  • | - indicates that the remaining parameters are optional. The storage variables corresponding to these parameters should be initialized to default values by the extension, since they will not be touched by the parsing function if the parameters are not passed.

  • / - the parsing function will call SEPARATE_ZVAL_IF_NOT_REF() on the parameter it follows, to provide a copy of the parameter, unless it's a reference.

  • ! - the parameter it follows can be of specified type or NULL (only applies to a, o, O, r, and z). If NULL value is passed by the user, the storage pointer will be set to NULL.

The best way to illustrate the usage of this function is through examples:

/* Gets a long, a string and its length, and a zval. */
long l;
char *s;
int s_len;
zval *param;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,
                          "lsz", &l, &s, &s_len, &param) == FAILURE) {
    return;
}

/* Gets an object of class specified by my_ce, and an optional double. */
zval *obj;
double d = 0.5;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,
                          "O|d", &obj, my_ce, &d) == FAILURE) {
    return;
}

/* Gets an object or null, and an array.
   If null is passed for object, obj will be set to NULL. */
zval *obj;
zval *arr;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "O!a", &obj, &arr) == FAILURE) {
    return;
}

/* Gets a separated array. */
zval *arr;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a/", &arr) == FAILURE) {
    return;
}

/* Get only the first three parameters (useful for varargs functions). */
zval *z;
zend_bool b;
zval *r;
if (zend_parse_parameters(3, "zbr!", &z, &b, &r) == FAILURE) {
    return;
}

Note that in the last example we pass 3 for the number of received parameters, instead of ZEND_NUM_ARGS(). What this lets us do is receive the least number of parameters if our function expects a variable number of them. Of course, if you want to operate on the rest of the parameters, you will have to use zend_get_parameters_array_ex() to obtain them.

The parsing function has an extended version that allows for an additional flags argument that controls its actions.

int zend_parse_parameters_ex(int flags, int num_args TSRMLS_DC, char *type_spec, ...);

The only flag you can pass currently is ZEND_PARSE_PARAMS_QUIET, which instructs the function to not output any error messages during its operation. This is useful for functions that expect several sets of completely different arguments, but you will have to output your own error messages.

For example, here is how you would get either a set of three longs or a string:

long l1, l2, l3;
char *s;
if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET,
                             ZEND_NUM_ARGS() TSRMLS_CC,
                             "lll", &l1, &l2, &l3) == SUCCESS) {
    /* manipulate longs */
} else if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET,
                                    ZEND_NUM_ARGS(), "s", &s, &s_len) == SUCCESS) {
    /* manipulate string */
} else {
    php_error(E_WARNING, "%s() takes either three long values or a string as argument",
              get_active_function_name(TSRMLS_C));
    return;
}

With all the abovementioned ways of receiving function parameters you should have a good handle on this process. For even more example, look through the source code for extensions that are shipped with PHP - they illustrate every conceivable situation.

Old way of retrieving arguments (deprecated)

Hinweis: Deprecated parameter parsing API

This API is deprecated and superseded by the new ZEND parameter parsing API.

After having checked the number of arguments, you need to get access to the arguments themselves. This is done with the help of zend_get_parameters_ex():

zval **parameter;

if(zend_get_parameters_ex(1, &parameter) != SUCCESS)
  WRONG_PARAM_COUNT;
All arguments are stored in a zval container, which needs to be pointed to twice. The snippet above tries to retrieve one argument and make it available to us via the parameter pointer.

zend_get_parameters_ex() accepts at least two arguments. The first argument is the number of arguments to retrieve (which should match the number of arguments with which the function has been called; this is why it's important to check for correct call syntax). The second argument (and all following arguments) are pointers to pointers to pointers to zvals. (Confusing, isn't it?) All these pointers are required because Zend works internally with **zval; to adjust a local **zval in our function,zend_get_parameters_ex() requires a pointer to it.

The return value of zend_get_parameters_ex() can either be SUCCESS or FAILURE, indicating (unsurprisingly) success or failure of the argument processing. A failure is most likely related to an incorrect number of arguments being specified, in which case you should exit with WRONG_PARAM_COUNT.

To retrieve more than one argument, you can use a similar snippet:

zval **param1, **param2, **param3, **param4;

if(zend_get_parameters_ex(4, &param1, &param2, &param3, &param4) != SUCCESS)
    WRONG_PARAM_COUNT;

zend_get_parameters_ex() only checks whether you're trying to retrieve too many parameters. If the function is called with five arguments, but you're only retrieving three of them with zend_get_parameters_ex(), you won't get an error but will get the first three parameters instead. Subsequent calls of zend_get_parameters_ex() won't retrieve the remaining arguments, but will get the same arguments again.

Dealing with a Variable Number of Arguments/Optional Parameters

If your function is meant to accept a variable number of arguments, the snippets just described are sometimes suboptimal solutions. You have to create a line calling zend_get_parameters_ex() for every possible number of arguments, which is often unsatisfying.

For this case, you can use the function zend_get_parameters_array_ex(), which accepts the number of parameters to retrieve and an array in which to store them:

zval **parameter_array[4];

/* get the number of arguments */
argument_count = ZEND_NUM_ARGS();

/* see if it satisfies our minimal request (2 arguments) */
/* and our maximal acceptance (4 arguments) */
if(argument_count < 2 || argument_count > 4)
    WRONG_PARAM_COUNT;

/* argument count is correct, now retrieve arguments */
if(zend_get_parameters_array_ex(argument_count, parameter_array) != SUCCESS)
    WRONG_PARAM_COUNT;
First, the number of arguments is checked to make sure that it's in the accepted range. After that, zend_get_parameters_array_ex() is used to fill parameter_array with valid pointers to the argument values.

A very clever implementation of this can be found in the code handling PHP's fsockopen() located in ext/standard/fsock.c, as shown in PHP's implementation of variable arguments in fsockopen().. Don't worry if you don't know all the functions used in this source yet; we'll get to them shortly.

Beispiel #6 PHP's implementation of variable arguments in fsockopen().

pval **args[5];
int *sock=emalloc(sizeof(int));
int *sockp;
int arg_count=ARG_COUNT(ht);
int socketd = -1;
unsigned char udp = 0;
struct timeval timeout = { 60, 0 };
unsigned short portno;
unsigned long conv;
char *key = NULL;
FLS_FETCH();

if (arg_count > 5 || arg_count < 2 || zend_get_parameters_array_ex(arg_count,args)==FAILURE) {
    CLOSE_SOCK(1);
    WRONG_PARAM_COUNT;
}

switch(arg_count) {
    case 5:
        convert_to_double_ex(args[4]);
        conv = (unsigned long) (Z_DVAL_PP(args[4]) * 1000000.0);
        timeout.tv_sec = conv / 1000000;
        timeout.tv_usec = conv % 1000000;
        /* fall-through */
    case 4:
        if (!PZVAL_IS_REF(*args[3])) {
            php_error(E_WARNING,"error string argument to fsockopen not passed by reference");
        }
        pval_copy_constructor(*args[3]);
        ZVAL_EMPTY_STRING(*args[3]);
        /* fall-through */
    case 3:
        if (!PZVAL_IS_REF(*args[2])) {
            php_error(E_WARNING,"error argument to fsockopen not passed by reference");
            return;
        }
        ZVAL_LONG(*args[2], 0);
        break;
}

convert_to_string_ex(args[0]);
convert_to_long_ex(args[1]);
portno = (unsigned short) Z_LVAL_P(args[1]);

key = emalloc(Z_STRLEN_P(args[0]) + 10);

fsockopen() accepts two, three, four, or five parameters. After the obligatory variable declarations, the function checks for the correct range of arguments. Then it uses a fall-through mechanism in a switch() statement to deal with all arguments. The switch() statement starts with the maximum number of arguments being passed (five). After that, it automatically processes the case of four arguments being passed, then three, by omitting the otherwise obligatory break keyword in all stages. After having processed the last case, it exits the switch() statement and does the minimal argument processing needed if the function is invoked with only two arguments.

This multiple-stage type of processing, similar to a stairway, allows convenient processing of a variable number of arguments.

Accessing Arguments

To access arguments, it's necessary for each argument to have a clearly defined type. Again, PHP's extremely dynamic nature introduces some quirks. Because PHP never does any kind of type checking, it's possible for a caller to pass any kind of data to your functions, whether you want it or not. If you expect an integer, for example, the caller might pass an array, and vice versa - PHP simply won't notice.

To work around this, you have to use a set of API functions to force a type conversion on every argument that's being passed (see Argument Conversion Functions).

Note: All conversion functions expect a **zval as parameter.

Argument Conversion Functions
Function | Description
convert_to_boolean_ex() | Forces conversion to a Boolean type. Boolean values remain untouched. Longs, doubles, and strings containing 0 as well as NULL values will result in Boolean 0 (FALSE). Arrays and objects are converted based on the number of entries or properties, respectively, that they have. Empty arrays and objects are converted to FALSE; otherwise, to TRUE. All other values result in a Boolean 1 (TRUE).
convert_to_long_ex() | Forces conversion to a long, the default integer type. NULL values, Booleans, resources, and of course longs remain untouched. Doubles are truncated. Strings containing an integer are converted to their corresponding numeric representation, otherwise resulting in 0. Arrays and objects are converted to 0 if empty, 1 otherwise.
convert_to_double_ex() | Forces conversion to a double, the default floating-point type. NULL values, Booleans, resources, longs, and of course doubles remain untouched. Strings containing a number are converted to their corresponding numeric representation, otherwise resulting in 0.0. Arrays and objects are converted to 0.0 if empty, 1.0 otherwise.
convert_to_string_ex() | Forces conversion to a string. Strings remain untouched. NULL values are converted to an empty string. Booleans containing TRUE are converted to "1", otherwise resulting in an empty string. Longs and doubles are converted to their corresponding string representation. Arrays are converted to the string "Array" and objects to the string "Object".
convert_to_array_ex(value) | Forces conversion to an array. Arrays remain untouched. Objects are converted to an array by assigning all their properties to the array table. All property names are used as keys, property contents as values. NULL values are converted to an empty array. All other values are converted to an array that contains the specific source value in the element with the key 0.
convert_to_object_ex(value) | Forces conversion to an object. Objects remain untouched. NULL values are converted to an empty object. Arrays are converted to objects by introducing their keys as properties into the objects and their values as corresponding property contents in the object. All other types result in an object with the property scalar , having the corresponding source value as content.
convert_to_null_ex(value) | Forces the type to become a NULL value, meaning empty.

Hinweis:

You can find a demonstration of the behavior in cross_conversion.php on the accompanying CD-ROM.

Cross-conversion behavior of PHP.

Using these functions on your arguments will ensure type safety for all data that's passed to you. If the supplied type doesn't match the required type, PHP forces dummy contents on the resulting value (empty strings, arrays, or objects, 0 for numeric values, FALSE for Booleans) to ensure a defined state.

Following is a quote from the sample module discussed previously, which makes use of the conversion functions:

zval **parameter;

if((ZEND_NUM_ARGS() != 1) || (zend_get_parameters_ex(1, &parameter) != SUCCESS))
{
    WRONG_PARAM_COUNT;
}

convert_to_long_ex(parameter);

RETURN_LONG(Z_LVAL_P(parameter));
After retrieving the parameter pointer, the parameter value is converted to a long (an integer), which also forms the return value of this function. Understanding access to the contents of the value requires a short discussion of the zval type, whose definition is shown in PHP/Zend zval type definition..

Beispiel #7 PHP/Zend zval type definition.

typedef pval zval;

typedef struct _zval_struct zval;

typedef union _zvalue_value {
    long lval;                 /* long value */
    double dval;               /* double value */
    struct {
        char *val;
        int len;
    } str;
    HashTable *ht;             /* hash table value */
    struct {
        zend_class_entry *ce;
        HashTable *properties;
    } obj;
} zvalue_value;

struct _zval_struct {
    /* Variable information */
    zvalue_value value;        /* value */
    unsigned char type;        /* active type */
    unsigned char is_ref;
    short refcount;
};

Actually, pval (defined in php.h) is only an alias of zval (defined in zend.h), which in turn refers to _zval_struct. This is a most interesting structure. _zval_struct is the "master" structure, containing the value structure, type, and reference information. The substructure zvalue_value is a union that contains the variable's contents. Depending on the variable's type, you'll have to access different members of this union. For a description of both structures, see Zend zval Structure, Zend zvalue_value Structure and Zend Variable Type Constants.

Zend zval Structure
Entry | Description
value | Union containing this variable's contents. See Zend zvalue_value Structure for a description.
type | Contains this variable's type. For a list of available types, see Zend Variable Type Constants.
is_ref | 0 means that this variable is not a reference; 1 means that this variable is a reference to another variable.
refcount | The number of references that exist for this variable. For every new reference to the value stored in this variable, this counter is increased by 1. For every lost reference, this counter is decreased by 1. When the reference counter reaches 0, no references exist to this value anymore, which causes automatic freeing of the value.
Zend zvalue_value Structure
Entry | Description
lval | Use this property if the variable is of the type IS_LONG, IS_BOOLEAN, or IS_RESOURCE.
dval | Use this property if the variable is of the type IS_DOUBLE.
str | This structure can be used to access variables of the type IS_STRING. The member len contains the string length; the member val points to the string itself. Zend uses C strings; thus, the string length contains a trailing 0x00.
ht | This entry points to the variable's hash table entry if the variable is an array.
obj | Use this property if the variable is of the type IS_OBJECT.
Zend Variable Type Constants
Constant | Description
IS_NULL | Denotes a NULL (empty) value.
IS_LONG | A long (integer) value.
IS_DOUBLE | A double (floating point) value.
IS_STRING | A string.
IS_ARRAY | Denotes an array.
IS_OBJECT | An object.
IS_BOOL | A Boolean value.
IS_RESOURCE | A resource (for a discussion of resources, see the appropriate section below).
IS_CONSTANT | A constant (defined) value.

To access a long you access zval.value.lval, to access a double you use zval.value.dval, and so on. Because all values are stored in a union, trying to access data with incorrect union members results in meaningless output.

Accessing arrays and objects is a bit more complicated and is discussed later.

Dealing with Arguments Passed by Reference

If your function accepts arguments passed by reference that you intend to modify, you need to take some precautions.

What we didn't say yet is that under the circumstances presented so far, you don't have write access to any zval containers designating function parameters that have been passed to you. Of course, you can change any zval containers that you created within your function, but you mustn't change any zvals that refer to Zend-internal data!

We've only discussed the so-called *_ex() API so far. You may have noticed that the API functions we've used are called zend_get_parameters_ex() instead of zend_get_parameters(), convert_to_long_ex() instead of convert_to_long(), etc. The *_ex() functions form the so-called new "extended" Zend API. They give a minor speed increase over the old API, but as a tradeoff are only meant for providing read-only access.

Because Zend works internally with references, different variables may reference the same value. Write access to a zval container requires this container to contain an isolated value, meaning a value that's not referenced by any other containers. If a zval container were referenced by other containers and you changed the referenced zval, you would automatically change the contents of the other containers referencing this zval (because they'd simply point to the changed value and thus change their own value as well).

zend_get_parameters_ex() doesn't care about this situation, but simply returns a pointer to the desired zval containers, whether they consist of references or not. Its corresponding function in the traditional API, zend_get_parameters(), immediately checks for referenced values. If it finds a reference, it creates a new, isolated zval container; copies the referenced data into this newly allocated space; and then returns a pointer to the new, isolated value.

This action is called zval separation (or pval separation). Because the *_ex() API doesn't perform zval separation, it's considerably faster, while at the same time disabling write access.

To change parameters, however, write access is required. Zend deals with this situation in a special way: Whenever a parameter to a function is passed by reference, it performs automatic zval separation. This means that whenever you're calling a function like this in PHP, Zend will automatically ensure that $parameter is being passed as an isolated value, rendering it to a write-safe state:

my_function(&$parameter);

But this is not the case with regular parameters! All other parameters that are not passed by reference are in a read-only state.

This requires you to make sure that you're really working with a reference - otherwise you might produce unwanted results. To check for a parameter being passed by reference, you can use the macro PZVAL_IS_REF. This macro accepts a zval* to check if it is a reference or not. Examples are given in in Testing for referenced parameter passing..

Beispiel #8 Testing for referenced parameter passing.

zval *parameter;

if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &parameter) == FAILURE)
    return;

/* check for parameter being passed by reference */
if (!PZVAL_IS_REF(parameter)) {
{
    zend_error(E_WARNING, "Parameter wasn't passed by reference");
    RETURN_NULL();
}

/* make changes to the parameter */
ZVAL_LONG(parameter, 10);
Testing for referenced parameter passing

Assuring Write Safety for Other Parameters

You might run into a situation in which you need write access to a parameter that's retrieved with zend_get_parameters_ex() but not passed by reference. For this case, you can use the macro SEPARATE_ZVAL, which does a zval separation on the provided container. The newly generated zval is detached from internal data and has only a local scope, meaning that it can be changed or destroyed without implying global changes in the script context:

zval **parameter;

/* retrieve parameter */
zend_get_parameters_ex(1, &parameter);

/* at this stage, <parameter> still is connected */
/* to Zend's internal data buffers */

/* make <parameter> write-safe */
SEPARATE_ZVAL(parameter);

/* now we can safely modify <parameter> */
/* without implying global changes */
SEPARATE_ZVAL uses emalloc() to allocate the new zval container, which means that even if you don't deallocate this memory yourself, it will be destroyed automatically upon script termination. However, doing a lot of calls to this macro without freeing the resulting containers will clutter up your RAM.

Note: As you can easily work around the lack of write access in the "traditional" API (with zend_get_parameters() and so on), this API seems to be obsolete, and is not discussed further in this chapter.

Creating Variables

When exchanging data from your own extensions with PHP scripts, one of the most important issues is the creation of variables. This section shows you how to deal with the variable types that PHP supports.

Overview

To create new variables that can be seen "from the outside" by the executing script, you need to allocate a new zval container, fill this container with meaningful values, and then introduce it to Zend's internal symbol table. This basic process is common to all variable creations:

zval *new_variable;

/* allocate and initialize new container */
MAKE_STD_ZVAL(new_variable);

/* set type and variable contents here, see the following sections */

/* introduce this variable by the name "new_variable_name" into the symbol table */
ZEND_SET_SYMBOL(EG(active_symbol_table), "new_variable_name", new_variable);

/* the variable is now accessible to the script by using $new_variable_name */

The macro MAKE_STD_ZVAL allocates a new zval container using ALLOC_ZVAL and initializes it using INIT_ZVAL. As implemented in Zend at the time of this writing, initializing means setting the reference count to 1 and clearing the is_ref flag, but this process could be extended later - this is why it's a good idea to keep using MAKE_STD_ZVAL instead of only using ALLOC_ZVAL. If you want to optimize for speed (and you don't have to explicitly initialize the zval container here), you can use ALLOC_ZVAL, but this isn't recommended because it doesn't ensure data integrity.

ZEND_SET_SYMBOL takes care of introducing the new variable to Zend's symbol table. This macro checks whether the value already exists in the symbol table and converts the new symbol to a reference if so (with automatic deallocation of the old zval container). This is the preferred method if speed is not a crucial issue and you'd like to keep memory usage low.

Note that ZEND_SET_SYMBOL makes use of the Zend executor globals via the macro EG. By specifying EG(active_symbol_table), you get access to the currently active symbol table, dealing with the active, local scope. The local scope may differ depending on whether the function was invoked from within a function.

If you need to optimize for speed and don't care about optimal memory usage, you can omit the check for an existing variable with the same value and instead force insertion into the symbol table by using zend_hash_update():

zval *new_variable;

/* allocate and initialize new container */
MAKE_STD_ZVAL(new_variable);

/* set type and variable contents here, see the following sections */

/* introduce this variable by the name "new_variable_name" into the symbol table */
zend_hash_update(
    EG(active_symbol_table),
    "new_variable_name",
    strlen("new_variable_name") + 1,
    &new_variable,
    sizeof(zval *),
    NULL
);
This is actually the standard method used in most modules.

The variables generated with the snippet above will always be of local scope, so they reside in the context in which the function has been called. To create new variables in the global scope, use the same method but refer to another symbol table:

zval *new_variable;

// allocate and initialize new container
MAKE_STD_ZVAL(new_variable);

//
// set type and variable contents here
//

// introduce this variable by the name "new_variable_name" into the global symbol table
ZEND_SET_SYMBOL(&EG(symbol_table), "new_variable_name", new_variable);
The macro ZEND_SET_SYMBOL is now being called with a reference to the main, global symbol table by referring EG(symbol_table).

Note: The active_symbol_table variable is a pointer, but symbol_table is not. This is why you have to use EG(active_symbol_table) and &EG(symbol_table) as parameters to ZEND_SET_SYMBOL - it requires a pointer.

Similarly, to get a more efficient version, you can hardcode the symbol table update:

zval *new_variable;

// allocate and initialize new container
MAKE_STD_ZVAL(new_variable);

//
// set type and variable contents here
//

// introduce this variable by the name "new_variable_name" into the global symbol table
zend_hash_update(
    &EG(symbol_table),
    "new_variable_name",
    strlen("new_variable_name") + 1,
    &new_variable,
    sizeof(zval *),
    NULL
);
Creating variables with different scopes. shows a sample source that creates two variables - local_variable with a local scope and global_variable with a global scope (see Figure 9.7). The full example can be found on the CD-ROM.

Note: You can see that the global variable is actually not accessible from within the function. This is because it's not imported into the local scope using global $global_variable; in the PHP source.

Beispiel #9 Creating variables with different scopes.

ZEND_FUNCTION(variable_creation)
{
    zval *new_var1, *new_var2;

    MAKE_STD_ZVAL(new_var1);
    MAKE_STD_ZVAL(new_var2);

    ZVAL_LONG(new_var1, 10);
    ZVAL_LONG(new_var2, 5);

    ZEND_SET_SYMBOL(EG(active_symbol_table), "local_variable", new_var1);
    ZEND_SET_SYMBOL(&EG(symbol_table), "global_variable", new_var2);

    RETURN_NULL();

}
Creating variables with different scopes

Longs (Integers)

Now let's get to the assignment of data to variables, starting with longs. Longs are PHP's integers and are very simple to store. Looking at the zval.value container structure discussed earlier in this chapter, you can see that the long data type is directly contained in the union, namely in the lval field. The corresponding type value for longs is IS_LONG (see Creation of a long.).

Beispiel #10 Creation of a long.

zval *new_long;

MAKE_STD_ZVAL(new_long);

new_long-&gt;type = IS_LONG;
new_long-&gt;value.lval = 10;
Alternatively, you can use the macro ZVAL_LONG:
zval *new_long;

MAKE_STD_ZVAL(new_long);
ZVAL_LONG(new_long, 10);

Doubles (Floats)

Doubles are PHP's floats and are as easy to assign as longs, because their value is also contained directly in the union. The member in the zval.value container is dval; the corresponding type is IS_DOUBLE.

zval *new_double;

MAKE_STD_ZVAL(new_double);

new_double-&gt;type = IS_DOUBLE;
new_double-&gt;value.dval = 3.45;
Alternatively, you can use the macro ZVAL_DOUBLE:
zval *new_double;

MAKE_STD_ZVAL(new_double);
ZVAL_DOUBLE(new_double, 3.45);

Strings

Strings need slightly more effort. As mentioned earlier, all strings that will be associated with Zend's internal data structures need to be allocated using Zend's own memory-management functions. Referencing of static strings or strings allocated with standard routines is not allowed. To assign strings, you have to access the structure str in the zval.value container. The corresponding type is IS_STRING:

zval *new_string;
char *string_contents = "This is a new string variable";

MAKE_STD_ZVAL(new_string);

new_string-&gt;type = IS_STRING;
new_string-&gt;value.str.len = strlen(string_contents);
new_string-&gt;value.str.val = estrdup(string_contents);
Note the usage of Zend's estrdup() here. Of course, you can also use the predefined macro ZVAL_STRING:
zval *new_string;
char *string_contents = "This is a new string variable";

MAKE_STD_ZVAL(new_string);
ZVAL_STRING(new_string, string_contents, 1);
ZVAL_STRING accepts a third parameter that indicates whether the supplied string contents should be duplicated (using estrdup()). Setting this parameter to 1 causes the string to be duplicated; 0 simply uses the supplied pointer for the variable contents. This is most useful if you want to create a new variable referring to a string that's already allocated in Zend internal memory.

If you want to truncate the string at a certain position or you already know its length, you can use ZVAL_STRINGL(zval, string, length, duplicate), which accepts an explicit string length to be set for the new string. This macro is faster than ZVAL_STRING and also binary-safe.

To create empty strings, set the string length to 0 and use empty_string as contents:

new_string-&gt;type = IS_STRING;
new_string-&gt;value.str.len = 0;
new_string-&gt;value.str.val = empty_string;
Of course, there's a macro for this as well (ZVAL_EMPTY_STRING):
MAKE_STD_ZVAL(new_string);
ZVAL_EMPTY_STRING(new_string);

Booleans

Booleans are created just like longs, but have the type IS_BOOL. Allowed values in lval are 0 and 1:

zval *new_bool;

MAKE_STD_ZVAL(new_bool);

new_bool-&gt;type = IS_BOOL;
new_bool-&gt;value.lval = 1;
The corresponding macros for this type are ZVAL_BOOL (allowing specification of the value) as well as ZVAL_TRUE and ZVAL_FALSE (which explicitly set the value to TRUE and FALSE, respectively).

Arrays

Arrays are stored using Zend's internal hash tables, which can be accessed using the zend_hash_*() API. For every array that you want to create, you need a new hash table handle, which will be stored in the ht member of the zval.value container.

There's a whole API solely for the creation of arrays, which is extremely handy. To start a new array, you call array_init().

zval *new_array;

MAKE_STD_ZVAL(new_array);

array_init(new_array);
array_init() always returns SUCCESS.

To add new elements to the array, you can use numerous functions, depending on what you want to do. Zend's API for Associative Arrays, Zend's API for Indexed Arrays, Part 1 and Zend's API for Indexed Arrays, Part 2 describe these functions. All functions return FAILURE on failure and SUCCESS on success.

Zend's API for Associative Arrays
Function | Description
add_assoc_long(zval *array, char *key, long n);() | Adds an element of type long.
add_assoc_unset(zval *array, char *key);() | Adds an unset element.
add_assoc_bool(zval *array, char *key, int b);() | Adds a Boolean element.
add_assoc_resource(zval *array, char *key, int r);() | Adds a resource to the array.
add_assoc_double(zval *array, char *key, double d);() | Adds a floating-point value.
add_assoc_string(zval *array, char *key, char *str, int duplicate);() | Adds a string to the array. The flag duplicate specifies whether the string contents have to be copied to Zend internal memory.
add_assoc_stringl(zval *array, char *key, char *str, uint length, int duplicate); () | Adds a string with the desired length length to the array. Otherwise, behaves like add_assoc_string().
add_assoc_zval(zval *array, char *key, zval *value);() | Adds a zval to the array. Useful for adding other arrays, objects, streams, etc...
Zend's API for Indexed Arrays, Part 1
Function | Description
add_index_long(zval *array, uint idx, long n);() | Adds an element of type long.
add_index_unset(zval *array, uint idx);() | Adds an unset element.
add_index_bool(zval *array, uint idx, int b);() | Adds a Boolean element.
add_index_resource(zval *array, uint idx, int r);() | Adds a resource to the array.
add_index_double(zval *array, uint idx, double d);() | Adds a floating-point value.
add_index_string(zval *array, uint idx, char *str, int duplicate);() | Adds a string to the array. The flag duplicate specifies whether the string contents have to be copied to Zend internal memory.
add_index_stringl(zval *array, uint idx, char *str, uint length, int duplicate);() | Adds a string with the desired length length to the array. This function is faster and binary-safe. Otherwise, behaves like add_index_string().
add_index_zval(zval *array, uint idx, zval *value);() | Adds a zval to the array. Useful for adding other arrays, objects, streams, etc...
Zend's API for Indexed Arrays, Part 2
Function | Description
add_next_index_long(zval *array, long n);() | Adds an element of type long.
add_next_index_unset(zval *array);() | Adds an unset element.
add_next_index_bool(zval *array, int b);() | Adds a Boolean element.
add_next_index_resource(zval *array, int r);() | Adds a resource to the array.
add_next_index_double(zval *array, double d);() | Adds a floating-point value.
add_next_index_string(zval *array, char *str, int duplicate);() | Adds a string to the array. The flag duplicate specifies whether the string contents have to be copied to Zend internal memory.
add_next_index_stringl(zval *array, char *str, uint length, int duplicate);() | Adds a string with the desired length length to the array. This function is faster and binary-safe. Otherwise, behaves like add_index_string().
add_next_index_zval(zval *array, zval *value);() | Adds a zval to the array. Useful for adding other arrays, objects, streams, etc...

All these functions provide a handy abstraction to Zend's internal hash API. Of course, you can also use the hash functions directly - for example, if you already have a zval container allocated that you want to insert into an array. This is done using zend_hash_update() for associative arrays (see Adding an element to an associative array.) and zend_hash_index_update() for indexed arrays (see Adding an element to an indexed array.):

Beispiel #11 Adding an element to an associative array.

zval *new_array, *new_element;
char *key = "element_key";

MAKE_STD_ZVAL(new_array);
MAKE_STD_ZVAL(new_element);

array_init(new_array);

ZVAL_LONG(new_element, 10);

if(zend_hash_update(new_array-&gt;value.ht, key, strlen(key) + 1, (void *)&new_element, sizeof(zval *), NULL) == FAILURE)
{
    // do error handling here
}

Beispiel #12 Adding an element to an indexed array.

zval *new_array, *new_element;
int key = 2;

MAKE_STD_ZVAL(new_array);
MAKE_STD_ZVAL(new_element);

array_init(new_array);

ZVAL_LONG(new_element, 10);

if(zend_hash_index_update(new_array-&gt;value.ht, key, (void *)&new_element, sizeof(zval *), NULL) == FAILURE)
{
    // do error handling here
}

To emulate the functionality of add_next_index_*(), you can use this:

zend_hash_next_index_insert(ht, zval **new_element, sizeof(zval *), NULL)

Note: To return arrays from a function, use array_init() and all following actions on the predefined variable return_value (given as argument to your exported function; see the earlier discussion of the call interface). You do not have to use MAKE_STD_ZVAL on this.

Tip: To avoid having to write new_array->value.ht every time, you can use HASH_OF(new_array), which is also recommended for compatibility and style reasons.

Objects

Since objects can be converted to arrays (and vice versa), you might have already guessed that they have a lot of similarities to arrays in PHP. Objects are maintained with the same hash functions, but there's a different API for creating them.

To initialize an object, you use the function object_init():

zval *new_object;

MAKE_STD_ZVAL(new_object);

if(object_init(new_object) != SUCCESS)
{
    // do error handling here
}
You can use the functions described in Zend's API for Object Creation to add members to your object.

Zend's API for Object Creation
Function | Description
add_property_long(zval *object, char *key, long l);() | Adds a long to the object.
add_property_unset(zval *object, char *key);() | Adds an unset property to the object.
add_property_bool(zval *object, char *key, int b);() | Adds a Boolean to the object.
add_property_resource(zval *object, char *key, long r);() | Adds a resource to the object.
add_property_double(zval *object, char *key, double d);() | Adds a double to the object.
add_property_string(zval *object, char *key, char *str, int duplicate);() | Adds a string to the object.
add_property_stringl(zval *object, char *key, char *str, uint length, int duplicate);() | Adds a string of the specified length to the object. This function is faster than add_property_string() and also binary-safe.
add_property_zval(zval *obect, char *key, zval *container):() | Adds a zval container to the object. This is useful if you have to add properties which aren't simple types like integers or strings but arrays or other objects.

Resources

Resources are a special kind of data type in PHP. The term resources doesn't really refer to any special kind of data, but to an abstraction method for maintaining any kind of information. Resources are kept in a special resource list within Zend. Each entry in the list has a correspondending type definition that denotes the kind of resource to which it refers. Zend then internally manages all references to this resource. Access to a resource is never possible directly - only via a provided API. As soon as all references to a specific resource are lost, a corresponding shutdown function is called.

For example, resources are used to store database links and file descriptors. The de facto standard implementation can be found in the MySQL module, but other modules such as the Oracle module also make use of resources.

Hinweis:

In fact, a resource can be a pointer to anything you need to handle in your functions (e.g. pointer to a structure) and the user only has to pass a single resource variable to your function.

To create a new resource you need to register a resource destruction handler for it. Since you can store any kind of data as a resource, Zend needs to know how to free this resource if its not longer needed. This works by registering your own resource destruction handler to Zend which in turn gets called by Zend whenever your resource can be freed (whether manually or automatically). Registering your resource handler within Zend returns you the resource type handle for that resource. This handle is needed whenever you want to access a resource of this type later and is most of time stored in a global static variable within your extension. There is no need to worry about thread safety here because you only register your resource handler once during module initialization.

The Zend function to register your resource handler is defined as:

ZEND_API int zend_register_list_destructors_ex(rsrc_dtor_func_t ld, rsrc_dtor_func_t pld, char *type_name, int module_number);

There are two different kinds of resource destruction handlers you can pass to this function: a handler for normal resources and a handler for persistent resources. Persistent resources are for example used for database connection. When registering a resource, either of these handlers must be given. For the other handler just pass NULL.

zend_register_list_destructors_ex() accepts the following parameters:

ld | Normal resource destruction handler callback
pld | Pesistent resource destruction handler callback
type_name | A string specifying the name of your resource. It's always a good thing to specify a unique name within PHP for the resource type so when the user for example calls var_dump($resource); he also gets the name of the resource.
module_number | The module_number is automatically available in your PHP_MINIT_FUNCTION function and therefore you just pass it over.
The return value is a unique integer ID for your resource type.

The resource destruction handler (either normal or persistent resources) has the following prototype:

void resource_destruction_handler(zend_rsrc_list_entry *rsrc TSRMLS_DC);
The passed rsrc is a pointer to the following structure:
typedef struct _zend_rsrc_list_entry {

    void *ptr;
    int type;
    int refcount;

} zend_rsrc_list_entry;
The member void *ptr is the actual pointer to your resource.

Now we know how to start things, we define our own resource we want register within Zend. It is only a simple structure with two integer members:

typedef struct {

    int resource_link;
    int resource_type;

} my_resource;
Our resource destruction handler is probably going to look something like this:
void my_destruction_handler(zend_rsrc_list_entry *rsrc TSRMLS_DC) {

    // You most likely cast the void pointer to your structure type

    my_resource *my_rsrc = (my_resource *) rsrc->ptr;

    // Now do whatever needs to be done with you resource. Closing
    // Files, Sockets, freeing additional memory, etc.
    // Also, don't forget to actually free the memory for your resource too!

    do_whatever_needs_to_be_done_with_the_resource(my_rsrc);
}

Hinweis:

One important thing to mention: If your resource is a rather complex structure which also contains pointers to memory you allocated during runtime you have to free them before freeing the resource itself!

Now that we have defined

  1. what our resource is and

  2. our resource destruction handler

we can go on and do the rest of the steps:

  1. create a global variable within the extension holding the resource ID so it can be accessed from every function which needs it

  2. define the resource name

  3. write the resource destruction handler

  4. and finally register the handler

// Somewhere in your extension, define the variable for your registered resources.
    // If you wondered what 'le' stands for: it simply means 'list entry'.
    static int le_myresource;

    // It's nice to define your resource name somewhere
    #define le_myresource_name  "My type of resource"

    [...]

    // Now actually define our resource destruction handler
    void my_destruction_handler(zend_rsrc_list_entry *rsrc TSRMLS_DC) {

        my_resource *my_rsrc = (my_resource *) rsrc->ptr;
        do_whatever_needs_to_be_done_with_the_resource(my_rsrc);
    }

    [...]

    PHP_MINIT_FUNCTION(my_extension) {

        // Note that 'module_number' is already provided through the
        // PHP_MINIT_FUNCTION() function definition.

        le_myresource = zend_register_list_destructors_ex(my_destruction_handler, NULL, le_myresource_name, module_number);

        // You can register additional resources, initialize
        // your global vars, constants, whatever.
    }

To actually register a new resource you use can either use the zend_register_resource() function or the ZEND_REGISTER_RESOURE() macro, both defined in zend_list.h. Although the arguments for both map 1:1 it's a good idea to always use macros to be upwards compatible:

int ZEND_REGISTER_RESOURCE(zval *rsrc_result, void *rsrc_pointer, int rsrc_type);
rsrc_result | This is an already initialized zval * container.
rsrc_pointer | Your resource pointer you want to store.
rsrc_type | The type which you received when you registered the resource destruction handler. If you followed the naming scheme this would be le_myresource.
The return value is a unique integer identifier for that resource.

What is really going on when you register a new resource is it gets inserted in an internal list in Zend and the result is just stored in the given zval * container:

rsrc_id = zend_list_insert(rsrc_pointer, rsrc_type);

    if (rsrc_result) {
        rsrc_result->value.lval = rsrc_id;
        rsrc_result->type = IS_RESOURCE;
    }

    return rsrc_id;
The returned rsrc_id uniquely identifies the newly registered resource. You can use the macro RETURN_RESOURE to return it to the user:
    RETURN_RESOURCE(rsrc_id)

Hinweis:

It is common practice that if you want to return the resource immediately to the user you specify the return_value as the zval * container.

Zend now keeps track of all references to this resource. As soon as all references to the resource are lost, the destructor that you previously registered for this resource is called. The nice thing about this setup is that you don't have to worry about memory leakages introduced by allocations in your module - just register all memory allocations that your calling script will refer to as resources. As soon as the script decides it doesn't need them anymore, Zend will find out and tell you.

Now that the user got his resource, at some point he is passing it back to one of your functions. The value.lval inside the zval * container contains the key to your resource and thus can be used to fetch the resource with the following macro: ZEND_FETCH_RESOURCE:

ZEND_FETCH_RESOURCE(rsrc, rsrc_type, rsrc_id, default_rsrc_id, resource_type_name, resource_type)
rsrc | This is your pointer which will point to your previously registered resource.
rsrc_type | This is the typecast argument for your pointer, e.g. myresource *.
rsrc_id | This is the address of the zval *container the user passed to your function, e.g. &z_resource if zval *z_resource is given.
default_rsrc_id | This integer specifies the default resource ID if no resource could be fetched or -1.
resource_type_name | This is the name of the requested resource. It's a string and is used when the resource can't be found or is invalid to form a meaningful error message.
resource_type | The resource_type you got back when registering the resource destruction handler. In our example this was le_myresource.
This macro has no return value. It is for the developers convenience and takes care of TSRMLS arguments passing and also does check if the resource could be fetched. It throws a warning message and returns the current PHP function with NULL if there was a problem retrieving the resource.

To force removal of a resource from the list, use the function zend_list_delete(). You can also force the reference count to increase if you know that you're creating another reference for a previously allocated value (for example, if you're automatically reusing a default database link). For this case, use the function zend_list_addref(). To search for previously allocated resource entries, use zend_list_find(). The complete API can be found in zend_list.h.

Macros for Automatic Global Variable Creation

In addition to the macros discussed earlier, a few macros allow easy creation of simple global variables. These are nice to know in case you want to introduce global flags, for example. This is somewhat bad practice, but Table Macros for Global Variable Creation describes macros that do exactly this task. They don't need any zval allocation; you simply have to supply a variable name and value.

Macros for Global Variable Creation
Macro | Description
SET_VAR_STRING(name, value) | Creates a new string.
SET_VAR_STRINGL(name, value, length) | Creates a new string of the specified length. This macro is faster than SET_VAR_STRING and also binary-safe.
SET_VAR_LONG(name, value) | Creates a new long.
SET_VAR_DOUBLE(name, value) | Creates a new double.

Creating Constants

Zend supports the creation of true constants (as opposed to regular variables). Constants are accessed without the typical dollar sign ($) prefix and are available in all scopes. Examples include TRUE and FALSE, to name just two.

To create your own constants, you can use the macros in Macros for Creating Constants. All the macros create a constant with the specified name and value.

You can also specify flags for each constant:

  • CONST_CS - This constant's name is to be treated as case sensitive.

  • CONST_PERSISTENT - This constant is persistent and won't be "forgotten" when the current process carrying this constant shuts down.

To use the flags, combine them using a inary OR:
 // register a new constant of type "long"
     REGISTER_LONG_CONSTANT("NEW_MEANINGFUL_CONSTANT", 324, CONST_CS |
     CONST_PERSISTENT);
There are two types of macros - REGISTER_*_CONSTANT andREGISTER_MAIN_*_CONSTANT. The first type creates constants bound to the current module. These constants are dumped from the symbol table as soon as the module that registered the constant is unloaded from memory. The second type creates constants that remain in the symbol table independently of the module.

Macros for Creating Constants
Macro | Description
REGISTER_LONG_CONSTANT(name, value, flags) REGISTER_MAIN_LONG_CONSTANT(name, value, flags) | Registers a new constant of type long.
REGISTER_DOUBLE_CONSTANT(name, value, flags) REGISTER_MAIN_DOUBLE_CONSTANT(name, value, flags) | Registers a new constant of type double.
REGISTER_STRING_CONSTANT(name, value, flags) REGISTER_MAIN_STRING_CONSTANT(name, value, flags) | Registers a new constant of type string. The specified string must reside in Zend's internal memory.
REGISTER_STRINGL_CONSTANT(name, value, length, flags) REGISTER_MAIN_STRINGL_CONSTANT(name, value, length, flags) | Registers a new constant of type string. The string length is explicitly set to length. The specified string must reside in Zend's internal memory.

Duplicating Variable Contents: The Copy Constructor

Sooner or later, you may need to assign the contents of one zval container to another. This is easier said than done, since the zval container doesn't contain only type information, but also references to places in Zend's internal data. For example, depending on their size, arrays and objects may be nested with lots of hash table entries. By assigning one zval to another, you avoid duplicating the hash table entries, using only a reference to them (at most).

To copy this complex kind of data, use the copy constructor. Copy constructors are typically defined in languages that support operator overloading, with the express purpose of copying complex types. If you define an object in such a language, you have the possibility of overloading the "=" operator, which is usually responsible for assigning the contents of the rvalue (result of the evaluation of the right side of the operator) to the lvalue (same for the left side).

Overloading means assigning a different meaning to this operator, and is usually used to assign a function call to an operator. Whenever this operator would be used on such an object in a program, this function would be called with the lvalue and rvalue as parameters. Equipped with that information, it can perform the operation it intends the "=" operator to have (usually an extended form of copying).

This same form of "extended copying" is also necessary for PHP's zval containers. Again, in the case of an array, this extended copying would imply re-creation of all hash table entries relating to this array. For strings, proper memory allocation would have to be assured, and so on.

Zend ships with such a function, called zend_copy_ctor() (the previous PHP equivalent was pval_copy_constructor()).

A most useful demonstration is a function that accepts a complex type as argument, modifies it, and then returns the argument:

zval *parameter;

if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &parameter) == FAILURE)
   return;
}

// do modifications to the parameter here

// now we want to return the modified container:
*return_value = *parameter;
zval_copy_ctor(return_value);

The first part of the function is plain-vanilla argument retrieval. After the (left out) modifications, however, it gets interesting: The container of parameter is assigned to the (predefined) return_value container. Now, in order to effectively duplicate its contents, the copy constructor is called. The copy constructor works directly with the supplied argument, and the standard return values are FAILURE on failure and SUCCESS on success.

If you omit the call to the copy constructor in this example, both parameter and return_value would point to the same internal data, meaning that return_value would be an illegal additional reference to the same data structures. Whenever changes occurred in the data that parameter points to, return_value might be affected. Thus, in order to create separate copies, the copy constructor must be used.

The copy constructor's counterpart in the Zend API, the destructor zval_dtor(), does the opposite of the constructor.

Returning Values

Returning values from your functions to PHP was described briefly in an earlier section; this section gives the details. Return values are passed via the return_value variable, which is passed to your functions as argument. The return_value argument consists of a zval container (see the earlier discussion of the call interface) that you can freely modify. The container itself is already allocated, so you don't have to run MAKE_STD_ZVAL on it. Instead, you can access its members directly.

To make returning values from functions easier and to prevent hassles with accessing the internal structures of the zval container, a set of predefined macros is available (as usual). These macros automatically set the correspondent type and value, as described in Predefined Macros for Returning Values from a Function and Predefined Macros for Setting the Return Value of a Function.

Hinweis:

The macros in Predefined Macros for Returning Values from a Function automatically return from your function, those in Predefined Macros for Setting the Return Value of a Function only set the return value; they don't return from your function.

Predefined Macros for Returning Values from a Function
Macro | Description
RETURN_RESOURCE(resource) | Returns a resource.
RETURN_BOOL(bool) | Returns a Boolean.
RETURN_NULL() | Returns nothing (a NULL value).
RETURN_LONG(long) | Returns a long.
RETURN_DOUBLE(double) | Returns a double.
RETURN_STRING(string, duplicate) | Returns a string. The duplicate flag indicates whether the string should be duplicated using estrdup().
RETURN_STRINGL(string, length, duplicate) | Returns a string of the specified length; otherwise, behaves like RETURN_STRING. This macro is faster and binary-safe, however.
RETURN_EMPTY_STRING() | Returns an empty string.
RETURN_FALSE | Returns Boolean false.
RETURN_TRUE | Returns Boolean true.
Predefined Macros for Setting the Return Value of a Function
Macro | Description
RETVAL_RESOURCE(resource) | Sets the return value to the specified resource.
RETVAL_BOOL(bool) | Sets the return value to the specified Boolean value.
RETVAL_NULL | Sets the return value to NULL.
RETVAL_LONG(long) | Sets the return value to the specified long.
RETVAL_DOUBLE(double) | Sets the return value to the specified double.
RETVAL_STRING(string, duplicate) | Sets the return value to the specified string and duplicates it to Zend internal memory if desired (see also RETURN_STRING).
RETVAL_STRINGL(string, length, duplicate) | Sets the return value to the specified string and forces the length to become length (see also RETVAL_STRING). This macro is faster and binary-safe, and should be used whenever the string length is known.
RETVAL_EMPTY_STRING | Sets the return value to an empty string.
RETVAL_FALSE | Sets the return value to Boolean false.
RETVAL_TRUE | Sets the return value to Boolean true.

Complex types such as arrays and objects can be returned by using array_init() and object_init(), as well as the corresponding hash functions on return_value. Since these types cannot be constructed of trivial information, there are no predefined macros for them.

Printing Information

Often it's necessary to print messages to the output stream from your module, just as print would be used within a script. PHP offers functions for most generic tasks, such as printing warning messages, generating output for phpinfo(), and so on. The following sections provide more details. Examples of these functions can be found on the CD-ROM.

zend_printf()

zend_printf() works like the standard printf(), except that it prints to Zend's output stream.

zend_error()

zend_error() can be used to generate error messages. This function accepts two arguments; the first is the error type (see zend_errors.h), and the second is the error message.

zend_error(E_WARNING, "This function has been called with empty arguments");
Zend's Predefined Error Messages. shows a list of possible values (see below). These values are also referred to in php.ini. Depending on which error type you choose, your messages will be logged.
Zend's Predefined Error Messages.
Error | Description
E_ERROR | Signals an error and terminates execution of the script immediately.
E_WARNING | Signals a generic warning. Execution continues.
E_PARSE | Signals a parser error. Execution continues.
E_NOTICE | Signals a notice. Execution continues. Note that by default the display of this type of error messages is turned off in php.ini.
E_CORE_ERROR | Internal error by the core; shouldn't be used by user-written modules.
E_COMPILE_ERROR | Internal error by the compiler; shouldn't be used by user-written modules.
E_COMPILE_WARNING | Internal warning by the compiler; shouldn't be used by user-written modules.
Display of warning messages in the browser.

Including Output in phpinfo()

After creating a real module, you'll want to show information about the module in phpinfo() (in addition to the module name, which appears in the module list by default). PHP allows you to create your own section in the phpinfo() output with the ZEND_MINFO() function. This function should be placed in the module descriptor block (discussed earlier) and is always called whenever a script calls phpinfo().

PHP automatically prints a section in phpinfo() for you if you specify the ZEND_MINFO function, including the module name in the heading. Everything else must be formatted and printed by you.

Typically, you can print an HTML table header using php_info_print_table_start() and then use the standard functions php_info_print_table_header() and php_info_print_table_row(). As arguments, both take the number of columns (as integers) and the column contents (as strings). Source code and screenshot for output in phpinfo. shows a source example and its output. To print the table footer, use php_info_print_table_end().

Beispiel #13 Source code and screenshot for output in phpinfo().

php_info_print_table_start();
php_info_print_table_header(2, "First column", "Second column");
php_info_print_table_row(2, "Entry in first row", "Another entry");
php_info_print_table_row(2, "Just to fill", "another row here");
php_info_print_table_end();
Output of phpinfo()

Execution Information

You can also print execution information, such as the current file being executed. The name of the function currently being executed can be retrieved using the function get_active_function_name(). This function returns a pointer to the function name and doesn't accept any arguments. To retrieve the name of the file currently being executed, use zend_get_executed_filename(). This function accesses the executor globals, which are passed to it using the TSRMLS_C macro. The executor globals are automatically available to every function that's called directly by Zend (they're part of the INTERNAL_FUNCTION_PARAMETERS described earlier in this chapter). If you want to access the executor globals in another function that doesn't have them available automatically, call the macro TSRMLS_FETCH() once in that function; this will introduce them to your local scope.

Finally, the line number currently being executed can be retrieved using the function zend_get_executed_lineno(). This function also requires the executor globals as arguments. For examples of these functions, see Printing execution information..

Beispiel #14 Printing execution information.

zend_printf("The name of the current function is %s&lt;br&gt;", get_active_function_name(TSRMLS_C));
zend_printf("The file currently executed is %s&lt;br&gt;", zend_get_executed_filename(TSRMLS_C));
zend_printf("The current line being executed is %i&lt;br&gt;", zend_get_executed_lineno(TSRMLS_C));
Printing execution information

Startup and Shutdown Functions

Startup and shutdown functions can be used for one-time initialization and deinitialization of your modules. As discussed earlier in this chapter (see the description of the Zend module descriptor block), there are module, and request startup and shutdown events.

The module startup and shutdown functions are called whenever a module is loaded and needs initialization; the request startup and shutdown functions are called every time a request is processed (meaning that a file is being executed).

For dynamic extensions, module and request startup/shutdown events happen at the same time.

Declaration and implementation of these functions can be done with macros; see the earlier section "Declaration of the Zend Module Block" for details.

Calling User Functions

You can call user functions from your own modules, which is very handy when implementing callbacks; for example, for array walking, searching, or simply for event-based programs.

User functions can be called with the function call_user_function_ex(). It requires a hash value for the function table you want to access, a pointer to an object (if you want to call a method), the function name, return value, number of arguments, argument array, and a flag indicating whether you want to perform zval separation.

ZEND_API int call_user_function_ex(HashTable *function_table, zval *object,
zval *function_name, zval **retval_ptr_ptr,
int param_count, zval **params[],
int no_separation);

Note that you don't have to specify both function_table and object; either will do. If you want to call a method, you have to supply the object that contains this method, in which case call_user_function()automatically sets the function table to this object's function table. Otherwise, you only need to specify function_table and can set object to NULL.

Usually, the default function table is the "root" function table containing all function entries. This function table is part of the compiler globals and can be accessed using the macro CG. To introduce the compiler globals to your function, call the macro TSRMLS_FETCH once.

The function name is specified in a zval container. This might be a bit surprising at first, but is quite a logical step, since most of the time you'll accept function names as parameters from calling functions within your script, which in turn are contained in zval containers again. Thus, you only have to pass your arguments through to this function. This zval must be of type IS_STRING.

The next argument consists of a pointer to the return value. You don't have to allocate memory for this container; the function will do so by itself. However, you have to destroy this container (using zval_dtor()) afterward!

Next is the parameter count as integer and an array containing all necessary parameters. The last argument specifies whether the function should perform zval separation - this should always be set to 0. If set to 1, the function consumes less memory but fails if any of the parameters need separation.

Calling user functions. shows a small demonstration of calling a user function. The code calls a function that's supplied to it as argument and directly passes this function's return value through as its own return value. Note the use of the constructor and destructor calls at the end - it might not be necessary to do it this way here (since they should be separate values, the assignment might be safe), but this is bulletproof.

Beispiel #15 Calling user functions.

zval **function_name;
zval *retval;

if((ZEND_NUM_ARGS() != 1) || (zend_get_parameters_ex(1, &function_name) != SUCCESS))
{
    WRONG_PARAM_COUNT;
}

if((*function_name)->type != IS_STRING)
{
    zend_error(E_ERROR, "Function requires string argument");
}

TSRMSLS_FETCH();

if(call_user_function_ex(CG(function_table), NULL, *function_name, &retval, 0, NULL, 0) != SUCCESS)
{
    zend_error(E_ERROR, "Function call failed");
}

zend_printf("We have %i as type\n", retval->type);

*return_value = *retval;
zval_copy_ctor(return_value);
zval_ptr_dtor(&retval);

<?php

dl("call_userland.so");

function test_function()
{
    echo "We are in the test function!\n";
    return 'hello';
}

$return_value = call_userland("test_function");

echo "Return value: '$return_value'";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

We are in the test function!
We have 3 as type
Return value: 'hello'

Initialization File Support

PHP 4 features a redesigned initialization file support. It's now possible to specify default initialization entries directly in your code, read and change these values at runtime, and create message handlers for change notifications.

To create an .ini section in your own module, use the macros PHP_INI_BEGIN() to mark the beginning of such a section and PHP_INI_END() to mark its end. In between you can use PHP_INI_ENTRY() to create entries.

PHP_INI_BEGIN()
PHP_INI_ENTRY("first_ini_entry",  "has_string_value", PHP_INI_ALL, NULL)
PHP_INI_ENTRY("second_ini_entry", "2",                PHP_INI_SYSTEM, OnChangeSecond)
PHP_INI_ENTRY("third_ini_entry",  "xyz",              PHP_INI_USER, NULL)
PHP_INI_END()
The PHP_INI_ENTRY() macro accepts four parameters: the entry name, the entry value, its change permissions, and a pointer to a change-notification handler. Both entry name and value must be specified as strings, regardless of whether they really are strings or integers.

The permissions are grouped into three sections:PHP_INI_SYSTEM allows a change only directly in the php.ini file; PHP_INI_USER allows a change to be overridden by a user at runtime using additional configuration files, such as .htaccess; and PHP_INI_ALL allows changes to be made without restrictions. There's also a fourth level, PHP_INI_PERDIR, for which we couldn't verify its behavior yet.

The fourth parameter consists of a pointer to a change-notification handler. Whenever one of these initialization entries is changed, this handler is called. Such a handler can be declared using the PHP_INI_MH macro:

PHP_INI_MH(OnChangeSecond);             // handler for ini-entry "second_ini_entry"

// specify ini-entries here

PHP_INI_MH(OnChangeSecond)
{

    zend_printf("Message caught, our ini entry has been changed to %s&lt;br&gt;", new_value);

    return(SUCCESS);

}
The new value is given to the change handler as string in the variable new_value. When looking at the definition of PHP_INI_MH, you actually have a few parameters to use:
#define PHP_INI_MH(name) int name(php_ini_entry *entry, char *new_value,
                                  uint new_value_length, void *mh_arg1,
                                  void *mh_arg2, void *mh_arg3)
All these definitions can be found in php_ini.h. Your message handler will have access to a structure that contains the full entry, the new value, its length, and three optional arguments. These optional arguments can be specified with the additional macros PHP_INI_ENTRY1 (allowing one additional argument), PHP_INI_ENTRY2 (allowing two additional arguments), and PHP_INI_ENTRY3 (allowing three additional arguments).

The change-notification handlers should be used to cache initialization entries locally for faster access or to perform certain tasks that are required if a value changes. For example, if a constant connection to a certain host is required by a module and someone changes the hostname, automatically terminate the old connection and attempt a new one.

Access to initialization entries can also be handled with the macros shown in Macros to Access Initialization Entries in PHP.

Macros to Access Initialization Entries in PHP
Macro | Description
INI_INT(name) | Returns the current value of entry name as integer (long).
INI_FLT(name) | Returns the current value of entry name as float (double).
INI_STR(name) | Returns the current value of entry name as string. Note: This string is not duplicated, but instead points to internal data. Further access requires duplication to local memory.
INI_BOOL(name) | Returns the current value of entry name as Boolean (defined as zend_bool, which currently means unsigned char).
INI_ORIG_INT(name) | Returns the original value of entry name as integer (long).
INI_ORIG_FLT(name) | Returns the original value of entry name as float (double).
INI_ORIG_STR(name) | Returns the original value of entry name as string. Note: This string is not duplicated, but instead points to internal data. Further access requires duplication to local memory.
INI_ORIG_BOOL(name) | Returns the original value of entry name as Boolean (defined as zend_bool, which currently means unsigned char).

Finally, you have to introduce your initialization entries to PHP. This can be done in the module startup and shutdown functions, using the macros REGISTER_INI_ENTRIES() and UNREGISTER_INI_ENTRIES():

ZEND_MINIT_FUNCTION(mymodule)
{

    REGISTER_INI_ENTRIES();

}

ZEND_MSHUTDOWN_FUNCTION(mymodule)
{

    UNREGISTER_INI_ENTRIES();

}

Where to Go from Here

You've learned a lot about PHP. You now know how to create dynamic loadable modules and statically linked extensions. You've learned how PHP and Zend deal with internal storage of variables and how you can create and access these variables. You know quite a set of tool functions that do a lot of routine tasks such as printing informational texts, automatically introducing variables to the symbol table, and so on.

Even though this chapter often had a mostly "referential" character, we hope that it gave you insight on how to start writing your own extensions. For the sake of space, we had to leave out a lot; we suggest that you take the time to study the header files and some modules (especially the ones in the ext/standard directory and the MySQL module, as these implement commonly known functionality). This will give you an idea of how other people have used the API functions - particularly those that didn't make it into this chapter.

Reference: Some Configuration Macros

config.m4

The file config.m4 is processed by buildconf and must contain all the instructions to be executed during configuration. For example, these can include tests for required external files, such as header files, libraries, and so on. PHP defines a set of macros that can be used in this process, the most useful of which are described in M4 Macros for config.m4.

M4 Macros for config.m4
Macro | Description
AC_MSG_CHECKING(message) | Prints a "checking <message>" text during configure.
AC_MSG_RESULT(value) | Gives the result to AC_MSG_CHECKING; should specify either yes or no as value.
AC_MSG_ERROR(message) | Prints message as error message during configure and aborts the script.
AC_DEFINE(name,value,description) | Adds #define to php_config.h with the value of value and a comment that says description (this is useful for conditional compilation of your module).
AC_ADD_INCLUDE(path) | Adds a compiler include path; for example, used if the module needs to add search paths for header files.
AC_ADD_LIBRARY_WITH_PATH(libraryname,librarypath) | Specifies an additional library to link.
AC_ARG_WITH(modulename,description,unconditionaltest,conditionaltest) | Quite a powerful macro, adding the module with description to the configure --help output. PHP checks whether the option --with-<modulename> is given to the configure script. If so, it runs the script unconditionaltest (for example, --with-myext=yes), in which case the value of the option is contained in the variable $withval. Otherwise, it executes conditionaltest.
PHP_EXTENSION(modulename, [shared]) | This macro is a must to call for PHP to configure your extension. You can supply a second argument in addition to your module name, indicating whether you intend compilation as a shared module. This will result in a definition at compile time for your source as COMPILE_DL_<modulename>.

API Macros

A set of macros was introduced into Zend's API that simplify access to zval containers (see API Macros for Accessing zval Containers).

API Macros for Accessing zval Containers
Macro | Refers to
Z_LVAL(zval) | (zval).value.lval
Z_DVAL(zval) | (zval).value.dval
Z_STRVAL(zval) | (zval).value.str.val
Z_STRLEN(zval) | (zval).value.str.len
Z_ARRVAL(zval) | (zval).value.ht
Z_LVAL_P(zval) | (*zval).value.lval
Z_DVAL_P(zval) | (*zval).value.dval
Z_STRVAL_P(zval_p) | (*zval).value.str.val
Z_STRLEN_P(zval_p) | (*zval).value.str.len
Z_ARRVAL_P(zval_p) | (*zval).value.ht
Z_LVAL_PP(zval_pp) | (**zval).value.lval
Z_DVAL_PP(zval_pp) | (**zval).value.dval
Z_STRVAL_PP(zval_pp) | (**zval).value.str.val
Z_STRLEN_PP(zval_pp) | (**zval).value.str.len
Z_ARRVAL_PP(zval_pp) | (**zval).value.ht
Streams API for PHP Extension Authors
TSRM API
Zend Engine 1


TSRM API

Zend API: Hacking the Core of PHP
FAQ
Zend Engine 1


FAQ: Frequently Asked Questions

  • Allgemeine Informationen
  • Mailing-Listen
  • PHP beziehen
  • PHP und Datenbanken
  • Installation
  • Probleme bei der Kompilierung
  • PHP benutzen
  • Password Hashing — Sicheres Password Hashing
  • PHP und HTML
  • PHP und COM
  • Verschiedene Fragen
TSRM API
Allgemeine Informationen
PHP-Handbuch


Allgemeine Informationen

Dieses Kapitel beinhaltet allgemeine Fragen zu PHP: Was es ist und was es tut.

  1. Was ist PHP?
  2. Für was steht PHP?
  3. Wie stehen die verschiedenen PHP-Versionen zueinander?
  4. Kann ich mehrere verschiedene PHP-Versionen zur selben Zeit laufen lassen?
  5. Ich glaube, ich habe einen Bug gefunden!
Was ist PHP?

Aus dem Vorwort des Handbuches:

PHP ist die Abkürzung für "PHP: Hypertext Preprocessor", eine weitverbreitete Open Source Skriptsprache speziell für Webentwicklungen. PHP läßt sich in HTML einbinden. Seine Syntax erinnert an C, Java und Perl und es ist einfach zu erlernen. Das Hauptziel dieser Sprache ist es, Webentwicklern die Möglichkeit zu geben, schnell dynamisch generierte Webseiten zu erzeugen.

Für was steht PHP?

PHP steht für PHP: Hypertext Preprocessor. Das verwirrt einige Menschen, da das erste Wort der Abkürzung die Abkürzung ist. Dieser Typ von Abkürzung wird rekursive Abkürzung genannt. Wer sich weiter für das Thema der rekursiven Abkürzungen interessiert, findet im » Free On-Line Dictionary of Computing oder der » Wikipedia. weitere Informationen dazu.

Wie stehen die verschiedenen PHP-Versionen zueinander?

PHP/FI 2.0 ist eine frühe und nicht mehr unterstützte Version von PHP. PHP 3 ist der Nachfolger von PHP/FI 2.0 und wesentlich besser. PHP 5 ist die aktuelle Generation von PHP, die die » Zend Engine 2 als Sprachkern, die neben weiteren Verbesserungen eine deutlich verbesserte Objektorientierung bietet.

Kann ich mehrere verschiedene PHP-Versionen zur selben Zeit laufen lassen?

Ja. Weitere Informationen dazu finden sich in der Datei INSTALL, die der Source-Distribution von PHP beiliegt.

Ich glaube, ich habe einen Bug gefunden!

Sie sollten die PHP Bug-Datenbank aufrufen und herausfinden, ob es sich bei dem Bug um einen bereits bekannten Bug handelt. Ist der Bug noch nicht bekannt, können Sie diesen über das Reportformular posten. Wenn Sie das Reportformular verwenden, bekommt ihr Bug automatisch eine Nummer zugewiesen, so das Sie später wiederkehren und Anhand der Nummer herausfinden können, ob der Bug gefixed wurde. Die Bug-Datenbank ist unter » http://bugs.php.net/ zu finden.

FAQ
Mailing-Listen
FAQ


Mailing-Listen

In dieser Rubrik finden Sie Informationen, wie Sie mit der PHP-Community in Kontakt treten können. Wir empfehlen Ihnen die Mailing-Listen.

  1. Gibt es PHP-Mailing-Listen?
  2. Gibt es auch andere Communities?
  3. Kann ich meine eigene PHP-Mailing-Liste starten?
  4. Hilfe! Ich kann eine der Mailing-Listen nicht abonnieren / abbestellen!
  5. Gibt es ein Archiv der Mailing-Listen?
  6. Was kann ich die Mailing-Listen fragen?
  7. Welche Informationen soll ich mitschicken, wenn ich an die Mailing-Liste schreibe?
Gibt es PHP-Mailing-Listen?

Natürlich! Es gibt eine ganze Reihe von Mailing-Listen für verschiedene Themen. Die wichtigsten Community-Mailing-Listen finden Sie auf unserer » Mailing-Listen-Seite.

Die allgemeinste Mailing-Liste ist php-general. Um diese Liste zu abonnieren, schicken Sie eine leere E-Mail an » php-general-subscribe@lists.php.net. Um die Liste abzubestellen, schicken Sie eine leere E-Mail an » php-general-unsubscribe@lists.php.net.

Sie können die Listen auch über das Web-Interface auf unserer » Mailing-Listen-Seite abonnieren oder abbestellen. Abmeldehinweise finden Sie auch im Fuß jeder Mailimg-Listen-Nachricht.

Gibt es auch andere Communities?

Auf der ganzen Welt gibt es unzählige Communities, die sich mit PHP beschäftigen. Links zu solchen Ressourcen (und weitergehende Informationen) finden Sie auf unserer » Support-Seite.

Kann ich meine eigene PHP-Mailing-Liste starten?

Ja. Genauer gesagt: Wir erlauben es nicht nur, wir unterstützen es sogar! Anderen durch das eigene Wissen und die eigene Erfahrung mit PHP zu helfen, hilft, das Wachstum und die Entwicklung der globalen PHP-Community und der Sprache selbst zu beschleunigen.

Hilfe! Ich kann eine der Mailing-Listen nicht abonnieren / abbestellen!

Wenn Sie Probleme haben, eine Mailing-Liste zu abonnieren oder abzubestellen, dann kann es daran liegen, dass die Mailing-Listen-Software nicht herausfinden kann, welche E-Mail-Adresse benutzt werden soll. Wenn Ihre E-Mail-Adresse joeblow@example.com lautet, und Sie php-general abonnieren möchten, können Sie Ihren Abo-Wunsch an php-general-subscribe-joeblow=example.com@lists.php.net schicken; falls Sie die Liste abbestellen möchten, können Sie eine E-Mail an php-general-unsubscribe-joeblow=example.com@lists.php.net schicken. Für die anderen Mailing-Listen können Sie ähnliche Adressen benutzen.

Der häufigste Grund dafür, dass die Leute Probleme haben, eine unserer Mailing-Listen abzubestellen, entsteht durch die Nutzung von E-Mail-Weiterleitungen. Wenn Ihre E-Mail-Adresse z.B. danbrown@example.com ist, aber Sie sich zur Mailing-Liste mit der Weiterleitung php-lists@example.com angemeldet haben und Sie diese Adresse an danbrown@example.com weiterleiten, so wird der Versuch, sich mit danbrown@example.com abzumelden, scheitern. Stattdessen müssen Sie die Adresse abmelden, an die die E-Mail gesendet wird - in diesem Fall also php-lists@example.com.

Gibt es ein Archiv der Mailing-Listen?

Ja, Sie finden eine Liste zu einigen Archiv-Seiten auf unserer » Mailing-Listen-Seite. Sie finden außerdem dutzende Seiten, die den Inhalt unserer Mailing-Liste archivieren und/oder syndizieren, indem Sie Ihre favorisierte Internet-Suchmaschine nutzen und nach "php mailing list archives" suchen.

Alle Mailing-Listen-Artikel werden auch als News-Postings archiviert. Den News-Server können Sie mit einem Newsreader unter » news://news.php.net/ erreichen. Es gibt auch ein experimentelles Web-Interface für den Newsserver unter » http://news.php.net/.

Was kann ich die Mailing-Listen fragen?

PHP wird immer umfangreicher und beliebter. Aus diesem Grund kann der Verkehr auf der php-general-Mailing-Liste sehr hoch sein. Zur Zeit werden täglich zwischen 75 und 200 Artikel versendet, manchmal sogar noch mehr. Daher ist es in jedermanns Sinn, wenn Sie die Liste nur dann nutzen, wenn Sie nirgendwo eine Antwort auf Ihre Frage gefunden haben.

Bevor Sie an die Liste schreiben, schauen Sie bitte in diese FAQ und das Handbuch, ob Sie dort vielleicht schon die gesuchte Antwort finden. Falls Sie dort nicht fündig werden, schauen Sie bitte in die Archive der Mailing-Listen (siehe oben). Wenn Sie Probleme mit der Installation oder Konfiguration von PHP haben, stellen Sie bitte sicher, dass Sie die mitgelieferte Dokumentation und die READMEs gelesen haben. Wenn Sie jetzt immer noch keine Antwort gefunden haben, können Sie Ihre Frage gerne an die passende Mailing-Liste schicken.

Um sicherzustellen, dass Sie die besten Antworten erhalten (und um die Wahrscheinlichkeit zu senken, dass Sie die anderen Entwickler frustrieren), prüfen Sie bitte, ob Sie Ihre Frage an die passende Mailing-Liste schicken. Wenn Sie z.B. Probleme mit der Installation von PHP haben, sollten Sie Ihre Frage an die php-install-Mailing-Liste schicken. Eine Warnung: Einige Listen haben ähnliche Name, aber komplett unterschiedliche Nutzungen; eine Frage zu PHP-Skripten unter Windows sollte an die Windows-PHP-Nutzer-Liste, aber nicht an die Windows-Internals-Liste geschickt werden.

Bevor Sie eine Frage stellen, schauen Sie sich bitte die Seite » How To Ask Questions The Smart Way an.

Welche Informationen soll ich mitschicken, wenn ich an die Mailing-Liste schreibe?

E-Mails wie "Hilfe, ich schaffe es nicht, PHP ans Laufen zu bekommen. Was habe ich falsch gemacht?" sollten unbedingt vermieden werden. Wenn Sie solche Probleme haben, müssen Sie das benutzte Betriebssystem und die PHP-Version, die Sie zu benutzen versuchen, sowie, wie Sie PHP erhalten haben (vorkompiliert, Git, RPMs etc.), angeben. Außerdem sollten Sie angeben, was Sie bisher schon versucht haben und welche Fehlermeldung sie erhalten haben.

Dies gilt auch für alle anderen Probleme. Sie müssen immer angeben, was Sie getan haben und was Sie zu tun versuchen. Außerdem müssen Sie alle erhaltenen Fehlermeldungen angeben. Wenn Sie Probleme mit Ihren Quelltexten haben, müssen Sie den Teil, der nicht funktioniert, mitschicken. Allerdings sollten Sie auch nicht mehr Code als nötig mitschicken! Dadurch würde Ihre E-Mail schlecht lesbar und viele Leute könnten Ihre Frage deswegen ignorieren. Falls Sie sich unsicher sind, wie viele Informationen Sie schicken sollen, schicken Sie so viel, wie Ihrer Meinung nach relevant für das aktuelle Problem relevant ist. Ggf. sollten Sie nach Anforderung weitere Informationen schicken.

Ein weiterer wichtiger Punkt ist auch, dass Sie Ihr Problem in der Betreff-Zeile zusammenfassen. Ein Betreff wie "Hilfe!" oder "Was ist das Problem hier?" wird mit Sicherheit von einem Großteil der Leser ignoriert werden.

Außerdem bitten wir Sie, die Seite » How To Ask Questions The Smart Way zu lesen, da dies auch für Sie selbst eine große Hilfe sein kann.

Allgemeine Informationen
PHP beziehen
FAQ


PHP beziehen

Diese Rubrik behandelt Downloadmöglichkeiten für die verschiedenen Betriebssysteme.

  1. Woher kann ich PHP beziehen?
  2. Sind kompilierte Binärversionen verfügbar?
  3. Woher bekommen ich die Bibliotheken, die benötigt werden, um einige der optionalen PHP-Erweiterungen zu kompilieren?
  4. Wie bekomme ich diese Bibliotheken zum Laufen?
  5. Ich habe die aktuellste Version des PHP-Quellcodes vom Git-Repository heruntergeladen. Was benötige ich jetzt, um PHP auf meinem Windowssystem zu kompilieren?
  6. Wo finde ich eine Browser Capabilities Datei?
  7. Was bedeutet "thread safety" beim Herunterladen von PHP?
Woher kann ich PHP beziehen?

Sie können PHP von jedem der Mitglieder des PHP-Netzwerks herunteraden. Diese finden Sie unter » http://www.php.net/. Sie können weiterhin mittels anonymem Git die allerneuste Version des Quellcodes herunterladen. Für weitere Informationen besuchen Sie diese Seite: » http://www.php.net/git.php.

Sind kompilierte Binärversionen verfügbar?

Wir bieten nur Binärversionen für Windowssysteme an, da wir PHP nicht für jede größere Linux/Unix-Plattform mit jeder vorstellbaren Kombination an Erweiterungen kompilieren können. Bitte beachten Sie auch, dass viele Linux-Distributionen heutzutage schon PHP integriert haben. Windows Binärdateien können von unserer » Downloadseite heruntergeladen werden, passende Linux-Binärversionen finden Sie auf der Webseite Ihrer Distribution.

Woher bekommen ich die Bibliotheken, die benötigt werden, um einige der optionalen PHP-Erweiterungen zu kompilieren?

Hinweis: Die mit einem * markierten Bibliotheken sind nach unserem Wissen nicht threadsicher; ihre Verwendung wird in einer multi-threaded Umgebung nicht empfohlen.

  • » LDAP (Unix).
  • » LDAP (Unix/Win) : Mozilla Directory (LDAP) SDK
  • » free LDAP server.
  • » Berkeley DB2 (Unix/Win) : http://www.sleepycat.com/.
  • » SNMP* (Unix): .
  • » GD (Unix/Win).
  • » mSQL* (Unix).
  • » PostgreSQL (Unix).
  • » IMAP* (Win/Unix).
  • » Sybase-CT* (Linux, libc5) : Available locally.
  • » FreeType (libttf):.
  • » ZLib (Unix/Win32).
  • » expat XML parser (Unix/Win32).
  • » PDFLib.
  • » mcrypt.
  • » mhash.
  • » t1lib.
  • » dmalloc.
  • » aspell.
  • » readline.

Wie bekomme ich diese Bibliotheken zum Laufen?

Sie sollten den Anweisungen, die mit der Bibliothek mitgeliefert werden, folgen. Manche dieser Bibliotheken (z.B. die GD Bibliothek) werden automatisch erkannt, wenn Sie das PHP 'configure'-Script ausführen. Andere müssen Sie mittels der '--with-EXTENSION'-Option von 'configure' aktivieren. 'configure --help' liefert Ihnen eine Auflistung.

Ich habe die aktuellste Version des PHP-Quellcodes vom Git-Repository heruntergeladen. Was benötige ich jetzt, um PHP auf meinem Windowssystem zu kompilieren?

Lesen Sie dazu den Abschnitt PHP unter Windows kompilieren.

Wo finde ich eine Browser Capabilities Datei?

Sie finden eine browscap.ini Datei unter » http://browscap.org/.

Was bedeutet "thread safety" beim Herunterladen von PHP?

Thread-Sicherheit bedeutet, dass PHP in einer einer Multithread-Webserver Umgebung wie z.B. Apache2 unter Windows funktioniert. Thread-Sicherheit funktioniert, indem eine lokale Kopie des Speichers in jedem Thread angelegt wird, so dass die Daten nicht mit anderen Threads kollidieren.

Was muss ich wählen? Wenn Sie PHP als CGI-Version ausgeführen wollen, dann benötigen Sie keine Thread-Sicherheit, da die Binärdatei bei jeder Anfrage aufgerufen wird. Für Multithread-Webserver, wie z.B. IIS5 und IIS6 sollten Sie die threadsichere Version von PHP nutzen.

Mailing-Listen
PHP und Datenbanken
FAQ


PHP und Datenbanken

Dieser Abschnitt enthält häufige Fragen über die Verbindung von PHP und Datenbanken. PHP kann in der Tat auf praktisch jede verfügbare Datenbank zugreifen.

  1. Ich habe gehört, dass es möglich ist, den Microsoft SQL-Server aus PHP anzusprechen. Wie?
  2. Kann ich auf Microsoft Access-Datenbanken zugreifen?
  3. Wieso wird von der Verwendung der MySQL-Erweiterung (ext/mysql), die ich seit über 10 Jahren verwendet habe, abgeraten? Ist diese veraltet? Was soll ist stattdessen tun? Wie kann ich umstellen?
  4. Wieso bekomme ich so eine Fehlermeldung: "Warning: 0 is not a MySQL result index in <file> on line <x>" or "Warning: Supplied argument is not a valid MySQL result resource in <file> on line <x>"?
Ich habe gehört, dass es möglich ist, den Microsoft SQL-Server aus PHP anzusprechen. Wie?

Auf Unix-Rechnern können Sie PDO_ODBC oder die Unified ODBC API verwenden.

Auf Windows-Rechnern können Sie ebenfalls PDO_SQLSRV oder SQLSRV verwenden.

Sehen Sie sich auch die Antwort auf die nächste Frage an.

Kann ich auf Microsoft Access-Datenbanken zugreifen?

Ja. Sie haben bereits alle nötigen Werkzeuge, wenn sie komplett unter Windows 9x/Me oder NT/2000 arbeiten, wo Sie ODBC und die ODBC-Treiber von Microsoft benutzen können, um auf Microsoft Access-Datenbanken zuzugreifen.

Wenn Sie PHP auf einem Unix-Rechner betreiben und auf MS Access auf einem Windows-Rechner zugreifen wollen, brauchen sie ODBC-Treiber für Unix. » OpenLink Software bietet Unix-basierte ODBC-Treiber an, die dazu geeignet sind.

Eine weitere Alternative ist es, einen SQL-Server zu benutzen, der ODBC-Treiber für Windows anbietet und diesen dann zu benutzen, um die Daten dort abzulegen, um sie dann von Microsoft Access (über ODBC) und PHP (mit den mitgelieferten Treibern) aus anzusprechen, oder ein dazwischengeschaltetetes Dateiformat zu benutzen, das sowohl Access als auch PHP verstehen, beispielsweise Plaintext oder dBase-Datenbanken. Zu diesem Punkt schreibt Tim Hayes von OpenLink Software:

Eine andere Datenbank als vermittelndes Element zu benutzen ist keine gute Idee, wenn Sie ODBC direkt von PHP aus zur Datenbank benutzen können - etwa mit den Openlink-Treibern. Wenn Sie wirklich ein zwischengeschaltetes Dateiformat benötigen, hat Openlink jetzt Virtuoso (eine virtuelle Datenbank) für NT, Linux und andere Unix-Plattformen herausgebracht. Bitte besuchen Sie unsere » Webseite, wenn Sie Virtuoso kostenlos herunterladen wollen.

Eine Möglichkeit, die sich als erfolgreich herausgestellt hat, ist die Benutzung von MySQL und den MyODBC-Treibern unter Windows, um die Datenbanken zu synchronisieren. Steve Lawrence schreibt dazu:

  • Installieren Sie MySQL wie in der Dokumentation beschrieben auf ihrem System. Die neueste Version finden Sie auf » www.mysql.com Es ist keine spezielle Konfiguration nötig, außer dass Sie beim Erzeugen einer Datenbank und der Einrichtung des Benutzeraccounts im Host-Feld ein % oder den Hostnamen des Windows-Computers, von dem aus Sie zugreifen möchten, eintragen sollten. Notieren Sie sich den Servernamen, Benutzernamen und das Passwort.
  • Laden Sie die MyODBC for Windows-Treiber von der MySQL-Seite herunter. Installieren Sie ihn auf ihrem Windows-Rechner. Sie können die Funktionsfähigkeit mit den mitgelieferten Programmen testen.
  • Erstellen Sie eine Benutzer- oder System-DSN in den ODBC-Optionen in der Systemsteuerung. Überlegen Sie sich einen DSN-Namen und geben Sie den Hostnamen, Benutzernamen, Passwort, Port, etc ihrer MySQL-Datenbank an, die Sie im 1. Schritt konfiguriert haben.
  • Installieren Sie Access als Vollinstallation. Das stellt sicher, dass Sie die richtigen Add-Ins haben. Zumindest benötigen Sie die ODBC-Unterstützung und den Linked-Table-Manager.
  • Jetzt zum lustigen Teil! Erstellen Sie eine neue Access-Datenbank. Rechtsklicken Sie im Tabellenfenster und wählen Sie Link Tables/Tabellen verknüpfen oder im Menü Datei den Punkt Get External Data und dann Link Tables/Tabellen verknüpfen. Wenn das Dateibrowser-Fenster erscheint, wählen Sie Dateien vom Typ: ODBC. Wählen Sie System-DSN und den Namen der DSN, die Sie in Schritt 3 erstellt haben. Wählen sie die zu verknüpfende Tabelle, klicken Sie auf OK und Sie können jetzt die Tabelle öffnen und Daten auf Ihrem MySQL-Server hinzufügen/löschen/ändern. Sie können auch Abfragen erzeugen, Tabellen importieren und exportieren und Formulare und Reports generieren, etc.

Tipps und Tricks:

  • Sie können Ihre Tabellen in Access erstellen und nach MySQL exportieren und Sie dann wieder verknüpfen. Das erleichtert das Erstellen von Tabellen.
  • Wenn Sie Tabellen in Access erstellen, müssen Sie einen Primärschlüssel definieren, wenn Sie über Access Schreibzugriff haben wollen. Vergewissern Sie sich, dass sie einen Primärschlüssel in MySQL erzeugen, bevor Sie die Tabelle in Access verknüpfen.
  • Wenn Sie ein Tabelle in MySQL ändern, müssen Sie sie in Access neu verknüpfen. Rufen Sie Tools>add-ins>linked table manager auf, suchen Sie ihre ODBC-DSN, und wählen Sie die Tabelle aus, die neu verknüpft werden soll. Sie können Ihre DSN-Quelle auch verschieben, wenn Sie die "always prompt for new location"-Checkbox ankreuzen, bevor Sie OK klicken.

Wieso wird von der Verwendung der MySQL-Erweiterung (ext/mysql), die ich seit über 10 Jahren verwendet habe, abgeraten? Ist diese veraltet? Was soll ist stattdessen tun? Wie kann ich umstellen?

Es gibt drei MySQL-Erweiterungen, die im Abschnitt Wählen einer MySQL-API beschrieben werden. Die alte API sollte nicht verwendet werden und ist seit PHP 5.5.0 als veraltet markiert und wurde mit PHP 7.0.0 nach PECL verschoben. Es wird stark dazu geraten beim Schreiben von neuem Code entweder mysqli oder PDO_MySQL zu verwenden.

Derzeit sind keine Migrationsskripte verfügbar, jedoch enthält die mysqli-API sowohl eine prozedurale als auch eine OOP-API. Die prozedurale Version ist dabei ähnlich zu ext/mysql.

Es ist nicht möglich die Erwieterungen zu mischen. Es wird beispielsweise nicht funktionieren eine mysqli-Verbindung an PDO_MySQL oder ext/mysql zu übergeben.

Wieso bekomme ich so eine Fehlermeldung: "Warning: 0 is not a MySQL result index in <file> on line <x>" or "Warning: Supplied argument is not a valid MySQL result resource in <file> on line <x>"?

Sie versuchen, einen result identifier zu benutzen, der 0 ist. Die 0 bedeutet, dass Ihre Abfrage aus irgend einem Grund fehlgeschlagen ist. Sie sollten auf Fehlermeldungen überprüfen, nachdem Sie Ihre Abfrage losgeschickt haben und bevor Sie versuchen, mit dem Ergebnis zu arbeiten. Dies kann mit diesem oder ähnlichem Code bewerkstelligt werden:

<?php

$result = mysql_query("SELECT * FROM tables_priv");
if (!$result) {
    echo mysql_error();
    exit;
}
?>
oder
<?php

$result = mysql_query("SELECT * FROM tables_priv")
    or die("Bad query: " . mysql_error());
?>

PHP beziehen
Installation
FAQ


Installation

In diesem Abschnitt geht es um übliche Fragen zur Installation von PHP. PHP gibt es für fast jedes Betriebssystem (außer vielleicht für Mac OS vor OS X) und fast jeden Webserver.

Um PHP zu installieren, folgen Sie bitte den Anweisungen im Installation und Konfiguration.

  1. Warum sollte ich Apache2 mit threaded MPM nicht in einer Produktionsumgebung verwenden?
  2. Unix/Windows: Wo sollte sich meine php.ini befinden?
  3. Unix: I habe PHP installiert, aber jedesmal, wenn ich eine Seite aufrufe, bekomme ich die Meldung 'Document Contains No Data'! Woran liegt das?
  4. Unix: Ich habe PHP mit RPM-Paketen installiert, aber Apache verarbeitet die PHP-Seiten nicht. Was ist da los?
  5. Unix: Ich habe Apache mit dem FrontPage-Erweiterungs-Patch versehen und plötzlich funktioniert PHP nicht mehr. Ist PHP zur FrontPage-Erweiterung für Apache inkompatibel?
  6. Unix/Windows: Ich habe PHP installiert, aber wenn ich versuche, mit meinem Browser ein PHP-Script aufzurufen, erhalte ich eine leere Seite.
  7. Unix/Windows: Ich habe PHP installiert, aber wenn ich versuche, mit meinem Browser ein PHP-Script aufzurufen, erhalte ich vom Server einen 500 Fehler.
  8. Manche Betriebssysteme: Ich habe PHP ohne Fehlermeldungen installiert, aber wenn ich versuche, Apache zu starten, erhalte ich Fehler wegen undefinierter Symbole: [mybox:user /src/php5] root# apachectl configtest apachectl: /usr/local/apache/bin/httpd Undefined symbols: _compress _uncompress
  9. Windows: Ich habe PHP installiert, aber wenn ich versuche, mit meinem Browser ein PHP-Script aufzurufen, erhalte ich die Fehlermeldung: cgi error: The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:
  10. Windows: Ich habe alle Anweisungen befolgt, aber ich erreiche keine Zusammenarbeit zwischen PHP und den IIS.
  11. Wenn Ich PHP mit IIS, PWS, OmniHTTPD oder Xitami als CGI laufen lasse, bekomme ich die folgende Fehlermeldung: Security Alert! PHP CGI cannot be accessed directly..
  12. Wie kann ich herausfinden, ob meine php.ini gefunden und gelesen wird? Anscheinend ist das nicht der Fall, weil meine Änderungen nicht übernommen werden.
  13. Wie füge ich unter Windows mein PHP-Verzeichnis zu PATH hinzu?
  14. Wie mache ich unter Windows die Datei php.ini für PHP verfügbar?
  15. Ist es möglich, die Apache Content-Negotiation (MultiViews Option) mit PHP zu verwenden?
  16. Ist PHP auf die Bearbeitung von Anfragen mit der GET- und POST-Methode beschränkt?
Warum sollte ich Apache2 mit threaded MPM nicht in einer Produktionsumgebung verwenden?

PHP ist Klebstoff. Es ist der Klebstoff, der verwendet wird, um coole Web-Anwendungen zu erstellen indem er dutzende von Bibliotheken von Drittanbietern zusammenklebt und sie über eine intuitiv und einfach erlernbare Schnittstelle als zusammenhängende Einheit erscheinen lässt. Die Flexibilität und die Mächtigkeit von PHP sind auf die Stabilität und Robustheit der zugrunde liegenden Plattform angewiesen. Es braucht ein funktionierendes Betriebssystem, einen funktionierenden Webserver und funktionierende Bibliotheken Dritter, um zusammen zu kleben. Wenn eines davon nicht mehr funktioniert, braucht PHP Wege, um die Probleme erkennen und schnell beheben zu können. Wenn Sie das zugrunde liegende Gerüst dadurch komplexer machen, dass Sie keine völlig voneinander getrennten Ausführungsthreads und Speichersegmente und keine starke Sandbox für jede einzelne Anfrage haben, lassen Sie weitere Schwachstellen ins System von PHP einfließen.

Falls Sie threaded MPM benutzen wollen, sollten Sie nach einer FastCGI-Konfiguration schauen, in der PHP in seinem eigenen Speicherbereich läuft.

Unix/Windows: Wo sollte sich meine php.ini befinden?

Unter Unix sollte sie standardmäßig in /usr/local/lib sein, was <install-path>/lib ist. Die Meisten werden das beim Übersetzen mit der Option --with-config-file-path ändern wollen. Sie können das, z.B. mit

--with-config-file-path=/etc
festlegen. Dann kopieren Sie die php.ini-development der Distribution nach /etc/php.ini und editieren sie, um alle gewünschten lokalen Änderungen vorzunehmen.

--with-config-file-scan-dir=PATH

Unter Windows ist der standardmäßige Pfad für die php.ini das Windows-Verzeichnis. Falls die den Apache Webserver verwenden, wird die php.ini zuerst im Apache-Installationsverzeichnis, z.B. c:\program files\apache group\apache, gesucht. Dadurch können Sie auf dem selben Rechner verschiedene php.ini-Dateien für verschiedene Apache-Versionen haben.

Siehe auch das Kapitel über die Konfigurationsdatei.

Unix: I habe PHP installiert, aber jedesmal, wenn ich eine Seite aufrufe, bekomme ich die Meldung 'Document Contains No Data'! Woran liegt das?

Das bedeutet wahrscheinlich, dass PHP irgend ein Problem hat und einen Core Dump (Speicherauszug) erzeugt. Schauen Sie in der Fehler-Logdatei Ihres Servers nach, ob das der Fall ist und versuchen Sie dann das Problem mit einem kleinen Test-Script zu reproduzieren. Falls Sie sich mit 'gdb' auskennen, ist es für die Entwickler beim Lokalisieren des Problems sehr hilfreich, wenn Sie Ihrem Fehlerbericht einen Backtrace hinzufügen. Falls Sie PHP als Apache-Modul verwenden, können Sie in etwa Folgendes versuchen:

  • Stoppen Sie Ihre httpd-Prozesse

  • gdb httpd

  • Stoppen Sie Ihre httpd-Prozesse

  • > run -X -f /pfad/zur/httpd.conf

  • Rufen Sie mit Ihrem Browser die URL auf, die das Problem verursacht

  • > run -X -f /path/to/httpd.conf

  • gdb sollte Sie jetzt darüber in Kenntnis setzen, falls Sie einen Core Dump bekommen

  • Geben Sie ein: bt

  • Sie sollten Ihren Backtrace in Ihren Fehlerbericht einfügen und diesen unter » http://bugs.php.net/ abgeben.

Falls Sie in Ihrem Script Funktionen regulärer Ausdrücke (preg_match() und Freunde) verwenden, sollten Sie sicherstellen, dass Sie PHP und Apache mit dem selben Programmpaket für reguläre Ausdrücke übersetzt haben. Mit PHP und Apache 1.3.x sollte das automatisch der Fall sein.

Unix: Ich habe PHP mit RPM-Paketen installiert, aber Apache verarbeitet die PHP-Seiten nicht. Was ist da los?

Unter der Annahme, dass Sie sowohl Apache als auch PHP mit RPM-Paketen installiert haben, müssen Sie einige oder alle der folgenden Zeilen in die Datei httpd.conf einfügen oder die Kommentarzeichen davor entfernen:

# Extra Modules
AddModule mod_php.c
AddModule mod_perl.c

# Extra Modules
LoadModule php_module         modules/mod_php.so
LoadModule php5_module        modules/libphp5.so
LoadModule perl_module        modules/libperl.so
Und fügen Sie
AddType application/x-httpd-php .php
... in die globalen Eigenschaften oder in die Eigenschaften der VirtualDomain, für die Sie PHP-Unterstützung benötigen, ein.

Unix: Ich habe Apache mit dem FrontPage-Erweiterungs-Patch versehen und plötzlich funktioniert PHP nicht mehr. Ist PHP zur FrontPage-Erweiterung für Apache inkompatibel?

Nein, PHP funktioniert bestens mit der FrontPage-Erweiterung. Das Problem liegt darin, dass der FrontPage-Patch mehrere Apache-Strukturen verändert, auf die sich PHP verlässt. Eine Neuübersetzung von PHP (mittels 'make clean ; make'), nachdem der Patch angewandt wurde, löst das Problem.

Unix/Windows: Ich habe PHP installiert, aber wenn ich versuche, mit meinem Browser ein PHP-Script aufzurufen, erhalte ich eine leere Seite.

Wenn Sie sich im Browser den Quelltext der Seite anschauen, werden Sie vermutlich den Quellcode Ihres PHP-Scripts sehen können. Das bedeutet, dass der Webserver das Script nicht zur Interpretation an PHP übergeben hat. Mit Ihrer Server-Konfiguration ist etwas nicht in Ordnung - überprüfen Sie Ihre Server-Konfiguration nochmal genau anhand der PHP-Installationsanleitung.

Unix/Windows: Ich habe PHP installiert, aber wenn ich versuche, mit meinem Browser ein PHP-Script aufzurufen, erhalte ich vom Server einen 500 Fehler.

Beim Versuch des Servers PHP zu starten ist etwas schiefgegangen. Wechseln Sie auf der Kommandozeile (in der Eingabeaufforderung) in das Verzeichnis, das die ausführbare PHP-Datei (unter Windows php.exe) enthält und lassen Sie php -i laufen, um eine sinnvolle Fehlermeldung zu bekommen. Falls PHP irgendwelche Probleme bei der Ausführung hat, werden entsprechende Fehlermeldungen ausgegeben, die Ihnen Hinweise darauf liefern, was zu tun ist. Falls sich der Bildschirm mit HTML-Quelltext füllt (die Ausgabe der Funktion phpinfo()), funktioniert PHP und Ihr Problem könnte mit Ihrer Server-Konfiguration zusammenhängen, die Sie dann nochmal genau überprüfen sollten.

Manche Betriebssysteme: Ich habe PHP ohne Fehlermeldungen installiert, aber wenn ich versuche, Apache zu starten, erhalte ich Fehler wegen undefinierter Symbole:
[mybox:user /src/php5] root# apachectl configtest
 apachectl: /usr/local/apache/bin/httpd Undefined symbols:
  _compress
  _uncompress

Das hat nichts mit PHP zu tun, sondern mit den MySQL-Client-Bibliotheken. Manche benötigen --with-zlib , manche nicht. Auf diese Frage wird in den MySQL FAQ eingegangen.

Windows: Ich habe PHP installiert, aber wenn ich versuche, mit meinem Browser ein PHP-Script aufzurufen, erhalte ich die Fehlermeldung:
cgi error:
 The specified CGI application misbehaved by not
 returning a complete set of HTTP headers.
 The headers it did return are:

Diese Fehlermeldung bedeutet, dass PHP daran gescheitert ist, überhaupt irgendwas auszugeben. Wechseln Sie auf der Kommandozeile (in der Eingabeaufforderung) in das Verzeichnis, das die ausführbare PHP-Datei (unter Windows php.exe) enthält und lassen Sie php -i laufen, um eine sinnvolle Fehlermeldung zu bekommen. Falls PHP irgendwelche Probleme bei der Ausführung hat, werden entsprechende Fehlermeldungen ausgegeben, die Ihnen Hinweise darauf liefern, was zu tun ist. Falls sich der Bildschirm mit HTML-Quelltext füllt (die Ausgabe der Funktion phpinfo()), funktioniert PHP.

Funktioniert PHP erst mal auf der Kommandozeile, versuchen Sie nochmal, das Script mit dem Browser aufzurufen. Falls das immer noch misslingt, könnte das eine der folgenden Ursachen haben:

  • Die Zugriffsberechtigungen Ihres PHP-Scripts, Ihrer php.exe, php5ts.dll, php.ini oder irgendeiner PHP-Erweiterung die Sie versuchen zu laden, sind für den anonymen Internetbenutzer ISUR_<machinename> nicht ausreichend.
  • Die Scriptdatei existiert nicht (oder ist vielleicht, bezogen auf Ihr Web-Wurzelverzeichnis, nicht da, wo Sie denken). Beachten Sie, dass Sie beim IIS diesen Fehler aufspüren können, wenn Sie im Internet Services Manager beim Einstellen der script mappings die Option 'check file exists' ankreuzen. Falls dann eine Scriptdatei nicht existiert gibt der Server stattdessen einen 404 Fehler zurück. Das hat außerdem den zusätzlichen Vorteil, dass der IIS die erforderlichen Authentisierungen an Ihrem Script auf Grundlage der NTLanMan-Berechtigungen für Sie durchführt.
Windows: Ich habe alle Anweisungen befolgt, aber ich erreiche keine Zusammenarbeit zwischen PHP und den IIS.

Stellen Sie sicher, dass jeder Benutzer, der ein PHP-Script ausführt, die Berechtigung hat php.exe auzuführen! Der IIS verwendet den Benutzer anonymous, der bei der Installation des IIS hinzugefügt wird. Dieser Benutzer benötigt die entsprechenden Berechtigungen für php.exe. Außerdem benötigt auch jeder angemeldete Benutzer die Berechtigung php.exe auszuführen. Dem IIS4 müssen Sie mitteilen, dass PHP eine Script-Engine ist. Lesen Sie auch diese FAQ.

Wenn Ich PHP mit IIS, PWS, OmniHTTPD oder Xitami als CGI laufen lasse, bekomme ich die folgende Fehlermeldung: Security Alert! PHP CGI cannot be accessed directly..

Sie müssen die cgi.force_redirect-Anweisung auf 0 setzen. Weil diese Anweisung standardmäßig auf 1 gesetzt ist, müssen Sie darauf achten, dass sie nicht mit einem ; auskommentiert ist. Wie alle Anweisungen wird auch diese in der php.ini gesetzt.

Wegen des standardmäßigen Werts von 1 ist es äußerst wichtig sicherzustellen, dass die richtige php.ini gelesen wird. Lesen Sie für Einzelheiten diese FAQ.

Wie kann ich herausfinden, ob meine php.ini gefunden und gelesen wird? Anscheinend ist das nicht der Fall, weil meine Änderungen nicht übernommen werden.

Rufen Sie phpinfo() auf, um zu überprüfen, ob Ihre php.ini von PHP gelesen wird. Fast ganz oben gibt es einen Punkt namens Configuration File (php.ini). Dort können Sie feststellen, wo PHP nach der php.ini sucht und ob sie gelesen wird oder nicht. Falls es dort nur einen VerzeichnisPFAD gibt, wird sie nicht gelesen und Sie sollten Ihre php.ini in dieses Verzeichnis legen. Falls der Pfad die php.ini beinhaltet, dann wird sie auch gelesen.

Wenn Ihre php.ini gelesen wird und Sie PHP als Modul benutzen, müssen Sie Ihren Webserver neu starten, nachdem Sie Änderungen an der php.ini vorgenommen haben.

Siehe auch php_ini_loaded_file().

Wie füge ich unter Windows mein PHP-Verzeichnis zu PATH hinzu?

Unter Windows 7, XP, Vista, 2008, 2012 und höher:

  • Gehen Sie in die Systemsteuerung und öffnen Sie das System-Icon (Start ? Systemsteuerung)

  • Gehen Sie zum Register 'Erweitert'

  • Klicken Sie auf den Button 'Umgebungsvariablen'

  • Schauen Sie in das Fenster 'Systemvariablen'

  • Suchen Sie nach dem Pfad-Eintrag PATH (Sie müssen evtl. blättern um ihn zu finden)

  • Doppelklicken Sie auf den Pfad-Eintrag

  • Geben Sie Ihr PHP-Verzeichnis mit vorangestelltem ';' am Ende ein (z.B. ;C:\php)

  • Drücken Sie auf OK

Unter Windows 98/Me müssen Sie die Datei autoexec.bat editieren:

  • Öffnen Sie den Editor (Start ? Ausführen und notepad eingeben)

  • Öffnen Sie die Datei C:\autoexec.bat

  • Finden Sie die Zeile mit PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;..... und fügen Sie ;C:\php am Ende der Zeile hinzu

  • Speichern Sie die Datei und starten Sie Ihren Computer neu

Hinweis: Führen Sie einen Neustart durch, nachdem Sie die obigen Schritte befolgt haben, um sicher zu stellen, dass die PATH-Änderungen übernommen werden.

Das PHP Handbuch hat früher empfohlen, Dateien ins Windows-Systemverzeichnis zu kopieren, weil sich dieses Verzeichnis (C:\Windows, C:\WINNT, etc.) standardmäßig im Pfad (PATH) des Systems befindet. Dateien ins Windows-Systemverzeichnis zu kopieren könnte Probleme verursachen und es wird schon lange davon abgeraten.

Wie mache ich unter Windows die Datei php.ini für PHP verfügbar?

Es gibt mehrere Möglichkeiten, das zu erreichen. Falls Sie Apache benutzen, lesen Sie die für die jeweilige Installation bestimmte Anleitung (Apache 1, Apache 2). Andernfalls müssen Sie die Umgebungsvariable PHPRC setzen:

Unter Windows NT, 2000, XP und 2003:

  • Gehen Sie in die Systemsteuerung und öffnen Sie das System-Icon (Start ? Einstellungen ? Systemsteuerung ? System oder bei Windows XP/2003 einfach Start ? Systemsteuerung ? System)

  • Gehen Sie zum Register 'Erweitert'

  • Klicken Sie auf den Button 'Umgebungsvariablen'

  • Schauen Sie in das Fenster 'Systemvariablen'

  • Klicken Sie auf 'Neu' und geben Sie 'PHPRC' als Name für die Variable ein und als Wert für die Variable das Verzeichnis, in dem sich die php.ini befindet (z.B. C:\php)

  • Drücken Sie auf OK und starten Sie Ihren Computer neu

Unter Windows 98/Me müssen Sie die Datei autoexec.bat editieren:

  • Öffnen Sie den Editor (Start ? Ausführen und notepad eingeben)

  • Öffnen Sie die Datei C:\autoexec.bat

  • Fügen Sie am Ende der Datei eine neue Zeile ein: set PHPRC=C:\php (ersetzen Sie C:\php mit dem Verzeichnis, in dem sich die php.ini befindet). Bitte beachten Sie, dass der Pfad keine Leerzeichen enthalten darf. Falls Sie PHP zum Beispiel in C:\Program Files\PHP installiert haben, müssen Sie stattdessen C:\PROGRA~1\PHP eingeben.

  • Speichern Sie die Datei und starten Sie Ihren Computer neu

Ist es möglich, die Apache Content-Negotiation (MultiViews Option) mit PHP zu verwenden?

If links to PHP files include extension, everything works perfect. This FAQ is only for the case when links to PHP files don't include extension and you want to use content negotiation to choose PHP files from URL with no extension. In this case, replace the line AddType application/x-httpd-php .php with:

AddHandler php5-script php
AddType text/html php
This solution doesn't work for Apache 1 as PHP module doesn't catch php-script.

Ist PHP auf die Bearbeitung von Anfragen mit der GET- und POST-Methode beschränkt?

Nein, es ist möglich, jede Anfragemethode zu bearbeiten, z.B. auch CONNECT. Ein korrekter Antwortstatus kann mit header() gesendet werden. Falls nur die Methoden GET und POST bearbeitet werden sollen, kann das mit dieser Apache-Konfiguration erreicht werden:

<LimitExcept GET POST>
Deny from all
</LimitExcept>

PHP und Datenbanken
Probleme bei der Kompilierung
FAQ


Probleme bei der Kompilierung

Diese Sektion behandelt die meistverbreiteten Fehler, die beim Kompilieren von PHP auftauchen.

  1. Ich habe mir die aktuelle Version von PHP mit Hilfe des anonymen Git-Dienstes besorgt, kann aber kein configure-Skript finden.
  2. Ich habe Probleme PHP für den Apache zu konfigurieren. Er beschwert sich, dass er die Datei httpd.h nicht finden kann, obwohl sie sich genau dort befindet, wo ich es angegeben habe.
  3. Sie werden während des Konfigurierens von PHP (./configure), mit einem Fehler wie dem Folgenden konfrontiert: checking lex output file root... ./configure: lex: command not found configure: error: cannot find output from lex; giving up
  4. Warum bekomme ich folgende Meldung, wenn ich versuche Apache zu starten? fatal: relocation error: file /path/to/libphp4.so: symbol ap_block_alarms: referenced symbol not found
  5. Wenn ich configure ausführe, bekomme ich die Fehlermeldung, dass die include-Dateien oder die GD-, gdbm- oder andere etc. Bibliotheken nicht gefunden werden konnten.
  6. Wenn die Datei language-parser.tab.c kompiliert wird, erscheinen Fehler mit der Meldung yytname undeclared.
  7. Wenn ich make ausführe, scheint alles normal zu verlaufen, aber sobald es versucht, die Applikation zu linken, beschwert es sich, einige Dateien nicht finden zu können.
  8. Wenn PHP gelinkt wird, beschwert es sich über undefinierte Referenzen.
  9. Wie wird PHP mit Apache 1.3.x kompiliert?
  10. Ich habe die Schritte, die zur Installation des Apache-Moduls unter Unix nötig sind, befolgt, aber meine PHP-Skripte sind im Browser zu sehen oder ich werde aufgefordert, die Dateien zu speichern.
  11. Es heißt, es muss --activate-module=src/modules/php4/libphp4.a benutzt werden, aber diese Datei existiert nicht, also habe ich es zu --activate-module=src/modules/php4/libmodphp4.a geändert, aber es funktioniert nicht.
  12. Wenn ich versuche, Apache mit PHP als statisches Modul mittels --activate-module=src/modules/php4/libphp4.a zu kompilieren, kommt die Fehlermeldung, mein kompiler sei nicht ANSI-konform.
  13. Wenn ich versuche, PHP mittels der Option --with-apxs zu kompilieren, bekomme ich komische Fehlermeldungen.
  14. Während make bekomme ich Fehler in microtime und jede Menge RUSAGE_-Zeugs.
  15. Beim Kompilieren von PHP mit MySQL läuft configure zwar ohne Probleme, aber beim Ausführen von make bekomme ich einen Fehler wie den Folgenden: ext/mysql/libmysqlclient/my_tempnam.o(.text+0x46): In function my_tempnam': /php4/ext/mysql/libmysqlclient/my_tempnam.c:103: the use of tempnam' is dangerous, better use mkstemp' Was habe ich falsch gemacht?
  16. Ich möchte mein PHP aktualisieren. Wo kann ich die ./configure-Zeile finden, die von meiner aktuellen PHP-Version verwendet wird?
  17. Wenn ich PHP mit der GD-Bibliothek kompiliere, tauchen seltsame Kompilerfehler auf oder PHP startet nicht (Segfault).
  18. Wenn ich PHP kompiliere habe ich den Eindruck zufällige Fehler zu bekommen. Ich verwende Solaris.
Ich habe mir die aktuelle Version von PHP mit Hilfe des anonymen Git-Dienstes besorgt, kann aber kein configure-Skript finden.

Sie müssen das GNU autoconf-Paket installiert haben, damit das Konfigurationsskript aus configure.in generiert werden kann. Führen Sie ./buildconf im Hauptverzeichnis der vom Git-Server geladenen Quellen aus, wird das configure-Skript generiert. (Solange Sie configure nicht mit der --enable-maintainer-mode-Option aufrufen, wird das Konfigurationsskript nicht neu erstellt, wenn die configure.in-Datei aktualisiert wird. Es sollte also darauf geachtet werden, dass das configure-Skript manuell neu generiert wird, wenn Sie feststellen, dass configure.in verändert wurde. Ein Symptom für eine solche Veränderung ist, wenn Dinge wie @VARIABLE@ im Makefile auftachen, nachdem configure oder config.status ausgeführt wurde.)

Ich habe Probleme PHP für den Apache zu konfigurieren. Er beschwert sich, dass er die Datei httpd.h nicht finden kann, obwohl sie sich genau dort befindet, wo ich es angegeben habe.

Sie müssen dem configure/setup-Skript den Top-Level-Pfad des Apache-Quellbaums mitteilen. Das bedeutet, dass z.B. --with-apache=/path/to/apache anstatt --with-apache=/path/to/apache/src angegeben werden muss.

Sie werden während des Konfigurierens von PHP (./configure), mit einem Fehler wie dem Folgenden konfrontiert:

checking lex output file root... ./configure: lex: command not found
configure: error: cannot find output from lex; giving up

Stellen Sie sicher, dass Sie Installation gründlich gelesen haben und beachten Sie, dass sowohl flex als auch bison zum Kompilieren von PHP installiert sein müssen. Abhängig von Ihrem System müssen Sie flex und bison entweder aus einer Quelle oder einem Paket wie z.B. RPM installieren.

Warum bekomme ich folgende Meldung, wenn ich versuche Apache zu starten?

fatal: relocation error: file /path/to/libphp4.so:
symbol ap_block_alarms: referenced symbol not found

Dieser Fehler tritt in der Regel auf, wenn man den Apache-Kern als gemeinsam verwendete DSO-Bibliothek kompiliert. Versuchen Sie Apache neu zu konfigurieren und stellen Sie sicher, dass zumindest die folgenden Flags gesetzt sind:

--enable-shared=max --enable-rule=SHARED_CORE

Für weitere Informationen lesen Sie die Apache-INSTALL-Datei oder die Apache-» DSO-Handbuchseite.

Wenn ich configure ausführe, bekomme ich die Fehlermeldung, dass die include-Dateien oder die GD-, gdbm- oder andere etc. Bibliotheken nicht gefunden werden konnten.

Es ist möglich, das configure-Skript so anzupassen, dass es nicht nur in Standard-Pfaden nach Headerdatei und Bibliotheken sucht, indem dem C-Präprozessor und -Linker zusätzliche Flags übergeben werden:

    CPPFLAGS=-I/path/to/include LDFLAGS=-L/path/to/library ./configure
Wenn Sie (aus welchem Grund auch immer) eine csh-Variante als Login-Shell verwenden, dann nutzen Sie folgende Flags:
    env CPPFLAGS=-I/path/to/include LDFLAGS=-L/path/to/library ./configure

Wenn die Datei language-parser.tab.c kompiliert wird, erscheinen Fehler mit der Meldung yytname undeclared.

Sie müssen Bison updaten. Die aktuelle Version findet sich unter » http://www.gnu.org/software/bison/bison.html.

Wenn ich make ausführe, scheint alles normal zu verlaufen, aber sobald es versucht, die Applikation zu linken, beschwert es sich, einige Dateien nicht finden zu können.

Einige alte Versionen von make platzieren die kompilierten Versionen der Dateien nicht in das functions-Verzeichnis im gleichen Verzeichnis. Versuchen Sie, cp *.o functions auszuführen und danach erneut make zu starten, um zu prüfen, ob sich das Problem so lösen lässt. Sollte es dann funktionieren, empfehlen wir, Ihre Version von GNU make zu aktualisieren.

Wenn PHP gelinkt wird, beschwert es sich über undefinierte Referenzen.

Schauen Sie sich die Link-Zeile an und stellen Sie sicher, dass alle nötigen Bibliotheken am Ende mit eingeschlossen werden. Häufig werden '-ldl' und Datenbankbibliotheken vergessen.

Einige Leute haben berichtet, dass sie '-ldl' unmittelbar nach libphp4.a einfügen mussten, wenn sie PHP mit Apache gelinkt haben.

Wie wird PHP mit Apache 1.3.x kompiliert?

Folgen Sie diesen Schritten:

  • Besorgen Sie sich die letzte Version von Apache unter » http://httpd.apache.org/download.cgi.
  • Entpacken Sie die Datei zum Beispiel unter /usr/local/src/apache-1.3.
  • Kompilieren Sie zunächst PHP, zum Beispiel mit ./configure --with-apache=/<path>/apache-1.3 (ersetzen Sie <path> mit dem Pfad zu Ihrem apache-1.3-Verzeichnis).
  • Führen Sie make gefolgt von einem make install aus, und kopieren Sie die benötigten Dateien in das Apache-Verzeichnis.
  • Wechseln Sie in das Verzeichnis /<path>/apache-1.3/src und bearbeiten Sie die Datei Configuration. Fügen Sie AddModule modules/php4/libphp4.a hinzu.
  • Führen Sie ./configure gefolgt von make aus.
  • Nun sollte eine lauffähige Version eines PHP-fähigen Apaches kompiliert sein.

Bitte beachten Sie: Sie können auch das neue Apache-./configure-Skript nutzen. Weitere Informationen dazu finden sie in der Datei README.configure, die der Apache-Distribution beiliegt. Auch in der Datei INSTALL Ihrer PHP-Distribution finden sich Informationen dazu.

Ich habe die Schritte, die zur Installation des Apache-Moduls unter Unix nötig sind, befolgt, aber meine PHP-Skripte sind im Browser zu sehen oder ich werde aufgefordert, die Dateien zu speichern.

Das bedeutet, dass das PHP-Modul nicht aufgerufen wird. Sie sollten folgende drei Dinge überprüfen:

  • Stellen Sie sicher, dass das httpd-Binary, das Sie ausführen, tatsächlich das neue httpd-Binary ist, das sie kompiliert haben. Um das zu tun versuchen Sie, /path/to/binary/httpd -l auszuführen. Wenn mod_php4.c nicht auftaucht, führen Sie nicht das korrekte Binary aus. Finden und installieren Sie das korrekte Binary.
  • Stellen Sie sicher, dass Sie den korrekten Mime-Type in einer Ihrer Apache .conf-Datei angegeben haben. Er sollte AddType application/x-httpd-php .php lauten. Stellen Sie ebenfalls sicher, dass diese AddType-Anweisung sich nicht in einem <Virtualhost>- oder <Directory>-Block befindet, da dies verhindern würde, dass sie sich auf das Verzeichnis Ihres Testskript auswirkt.
  • Der Standardort der Apache-Konfigurationsdateien hat sich von Apache 1.2 zu Apache 1.3 verändert. Sie sollten sicherstellen, dass die Konfigurationsdatei, zu der sie die AddType-Anweisung hinzugefügt haben, diejenige ist, die auch verarbeitet wird. Sie können einen offensichtlichen Syntaxfehler oder eine andere eindeutige Änderung in Ihre httpd.conf einfbauen, um dies zu überprüfen.

Es heißt, es muss --activate-module=src/modules/php4/libphp4.a benutzt werden, aber diese Datei existiert nicht, also habe ich es zu --activate-module=src/modules/php4/libmodphp4.a geändert, aber es funktioniert nicht.

Die Datei libphp4.a soll gar nicht existieren, Apache wird sie selbst generieren.

Wenn ich versuche, Apache mit PHP als statisches Modul mittels --activate-module=src/modules/php4/libphp4.a zu kompilieren, kommt die Fehlermeldung, mein kompiler sei nicht ANSI-konform.

Das ist eine irreführende Fehlermeldung des Apache, die in aktuellen Versionen behoben ist.

Wenn ich versuche, PHP mittels der Option --with-apxs zu kompilieren, bekomme ich komische Fehlermeldungen.

Hier sind drei Dinge zu überprüfen: Wenn Apache das apxs-Perl-Skript generiert, werden manchmal aus unerfindlichen Gründen nicht die richtigen Kompiler- und Variablen-Flags verwendet. Suchen Sie Ihr apxs-Skript (probieren Sie das Kommando which apxs); oft liegt es unter /usr/local/apache/bin/apxs oder /usr/sbin/apxs. Öffnen Sie es und überprüfen Sie es auf Zeilen, die ähnlich wie folgende aussehen:

my $CFG_CFLAGS_SHLIB  = ' ';          # substituted via Makefile.tmpl
my $CFG_LD_SHLIB      = ' ';          # substituted via Makefile.tmpl
my $CFG_LDFLAGS_SHLIB = ' ';          # substituted via Makefile.tmpl
Wenn Sie so etwas sehen, haben Sie Ihr Problem gefunden. Sie enthalten eventuell nur Leerzeichen oder anderen inkorrekte Werte, wie 'q()'. Ändern Sie die Zeilen wie folgt:
my $CFG_CFLAGS_SHLIB  = '-fpic -DSHARED_MODULE'; # substituted via Makefile.tmpl
my $CFG_LD_SHLIB      = 'gcc';                   # substituted via Makefile.tmpl
my $CFG_LDFLAGS_SHLIB = q(-shared);              # substituted via Makefile.tmpl
Das zweite mögliche Problem kann unter Red Hat 6.1 und 6.2 auftauchen. Das apxs-kcript, das Red Hat ausliefert, ist fehlerhaft. Suchen sie nach dieser Zeile:
my $CFG_LIBEXECDIR    = 'modules';         # substituted via APACI install
Falls Sie die Zeile sehen, ändern Sie diese in
my $CFG_LIBEXECDIR    = '/usr/lib/apache'; # substituted via APACI install
Zu guter Letzt, wenn sie Apache neu installieren, fügen Sie ein make clean nach dem ./configure und vor dem make ein.

Während make bekomme ich Fehler in microtime und jede Menge RUSAGE_-Zeugs.

Wenn während des make-Teils der Installation Probleme auftauchen, die wie folgt aussehen:

microtime.c: In function `php_if_getrusage':
microtime.c:94: storage size of `usg' isn't known
microtime.c:97: `RUSAGE_SELF' undeclared (first use in this function)
microtime.c:97: (Each undeclared identifier is reported only once
microtime.c:97: for each function it appears in.)
microtime.c:103: `RUSAGE_CHILDREN' undeclared (first use in this function)
make[3]: *** [microtime.lo] Error 1
make[3]: Leaving directory `/home/master/php-4.0.1/ext/standard'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/master/php-4.0.1/ext/standard'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/master/php-4.0.1/ext'
make: *** [all-recursive] Error 1

ist Ihr System beschädigt. Sie müssen Ihre /usr/include-Dateien reparieren, indem Sie ein glibc-devel-Paket installieren, dessen Version mit der Ihrer glibc übereinstimmt. Das hat absolut nichts mit PHP zu tun. Um sich selbst davon zu überzeugen, führen Sie folgenden einfachen Test durch:

$ cat >test.c <<X
#include <sys/resource.h>
X
$ gcc -E test.c >/dev/null
Wenn hier Fehler auftauchen, wissen sie, dass Ihre include-Dateien fehlen oder fehlerhaft sind.

Beim Kompilieren von PHP mit MySQL läuft configure zwar ohne Probleme, aber beim Ausführen von make bekomme ich einen Fehler wie den Folgenden: ext/mysql/libmysqlclient/my_tempnam.o(.text+0x46): In function my_tempnam': /php4/ext/mysql/libmysqlclient/my_tempnam.c:103: the use of tempnam' is dangerous, better use mkstemp' Was habe ich falsch gemacht?

Zuerst ist es wichtig, dass Sie sich darüber im Klaren sind, dass dies eine Warnung ist und kein Fehler. Weil dies aber oft die letzte sichtbare Ausgabe von make ist, sieht es oft wie ein Fehler aus. Natürlich bricht der Kompiler ab, falls Sie ihn so konfiguriert haben, dass er bei Warnungen abbrechen soll. Beachten Sie, dass die MySQL-Unterstützung standardmäßig aktiviert ist.

Hinweis:

Bei PHP 4.3.2 sehen Sie auch den folgenden Text nachdem das Kompilieren (make) beendet wurde:

Build complete.
(It is safe to ignore warnings about tempnam and tmpnam).

Ich möchte mein PHP aktualisieren. Wo kann ich die ./configure-Zeile finden, die von meiner aktuellen PHP-Version verwendet wird?

Entweder schauen Sie in die config.nice-Datei im Quellbaum Ihrer aktuellen PHP-Version nach, oder Sie führen folgendes Skript aus:

<?php phpinfo(); ?>
Zu Beginn der Ausgabe wird die ./configure-Zeile angezeigt.

Wenn ich PHP mit der GD-Bibliothek kompiliere, tauchen seltsame Kompilerfehler auf oder PHP startet nicht (Segfault).

Stellen Sie sicher, dass PHP und die GD-Bibliothek gegen die selben Bibliotheken wie libPNG gelinkt sind.

Wenn ich PHP kompiliere habe ich den Eindruck zufällige Fehler zu bekommen. Ich verwende Solaris.

Die Verwendung von nicht-GNU-Programmen beim Kompilieren kann Probleme verursachen. Verwenden sie GNU-Programme um sicherzustellen, dass das Kompilieren fehlerfrei klappt. Z.B. wird auf Solaris die Verwendung der SunOS-BSK-kompatiblen Version oder der Solaris-Version von sed nicht funktionieren. Verwenden Sie stattdessen die GNU- oder Sun-POSIX-(xpg4-)Version von sed. Links: » GNU sed, » GNU flex, und » GNU bison.

Installation
PHP benutzen
FAQ


PHP benutzen

Diese Rubrik behandelt viele Fehler, die möglicherweise beim Schreiben von PHP-Skripten auftreten.

  1. Ich kann mir die Reihenfolge der Parameter von PHP-Funktionen nicht merken - gibt es ein Schema?
  2. Ich möchte ein PHP-Skript schreiben, das Daten von beliebigen Formularen verarbeiten kann. Woher weiß ich, welche Variablen über die POST-Methode verfügbar sind?
  3. Ich möchte alle einfachen Anführungszeichen (') in einen Backslash gefolgt von einem einfachen Anführungszeichen (\') ersetzen lassen. Wie kann ich das mit einem regulären Ausdruck machen? Ich möchte außerdem " zu \" und \ zu \\ konvertieren.
  4. Alle meine " werden in \" und meine ' werden in \' konvertiert. Wie kann ich den nicht gewünschten Backslash entfernen? Warum und wie sind diese Zeichen überhaupt konvertiert worden?
  5. Welche Bedeutung hat die PHP-Direktive register_globals für mich?
  6. Wenn ich den folgenden Code ausführe, wird die Ausgabe in der falschen Reihenfolge ausgegeben: <?php function myfunc($argument) { echo $argument + 10; } $variable = 10; echo "myfunc($variable) = " . myfunc($variable); ?> Woran liegt das?
  7. Wo sind meine Zeilenumbrüche geblieben? <pre> <?php echo "Das soll die erste Zeile sein."; ?> <?php echo "Das soll nach dem obigen Zeilenumbruch erscheinen."; ?> </pre>
  8. Ich bekomme die Meldung 'Warning: Cannot send session cookie - headers already sent...' oder 'Cannot add header information - headers already sent...'.
  9. Wie kann ich auf Informationen aus dem Request-Header zugreifen?
  10. Wenn ich versuche, Authentifikation mit IIS zu nutzen, bekomme ich die Meldung 'No Input file specified'.
  11. Windows: Ich kann keine auf einem anderen Rechner freigegebenen Dateien aufrufen, wenn ich IIS benutze.
  12. Wie kann ich XML und PHP mischen? PHP beschwert sich über meine <?xml-Tags!
  13. Wo kann ich eine komplette Liste der mir zur Verfügung stehenden Variablen finden?
  14. Wie kann ich PDF-Datei generieren ohne die nicht-freie und kommerzielle Bibliothek PDFLib zu benutzen? Ich suche etwas, dass frei ist und keine externen PDF-Bibliotheken benötigt.
  15. Ich versuche, auf eine der Standard-CGI-Variablen (wie $DOCUMENT_ROOT oder $HTTP_REFERER) in einer selbst-definierten Funktion zuzugreifen, aber anscheinend kann ich nicht darauf zugreifen. Was mache ich falsch?
  16. Einige PHP-Direktiven akzeptieren nicht nur Integer-Byte-Werte, sondern auch abgekürzte Byte-Werte. Welche Abkürzungen gibt es? Kann ich diese außerhalb der php.ini benutzen?
  17. Windows: Ich bekomme Verbindungs-Timeouts, wenn ich localhost nutze, während "127.0.0.1" aber funktioniert?
Ich kann mir die Reihenfolge der Parameter von PHP-Funktionen nicht merken - gibt es ein Schema?

PHP besteht aus Hunderten externer Bibliotheken, so dass dies manchmal etwas durcheinander erscheint. Eine einfache Regel ist aber wie folgt:

Parameter von Array-Funktionen sind als "needle, haystack" (Nadel, Heuhaufen) geordnet, während die Parameter von String-Funktionen genau andersrum geordnet sind, also als "haystack, needle" (Heuhaufen, Nadel).

Ich möchte ein PHP-Skript schreiben, das Daten von beliebigen Formularen verarbeiten kann. Woher weiß ich, welche Variablen über die POST-Methode verfügbar sind?

PHP bietet viele vordefinierte Variablen, wie das superglobale $_POST. Sie können $_POST mit einer Schleife durchlaufen, da es sich um ein assoziatives Array mit allen über die POST-Methode übertragenen Variablen handelt. Als Beispiel benutzen wir die foreach-Schleife, um (mit der empty()-Funktion) auf leere Werte zu prüfen und geben diese Werte aus.

<?php
$empty = $post = array();
foreach ($_POST as $varname => $varvalue) {
    if (empty($varvalue)) {
        $empty[$varname] = $varvalue;
    } else {
        $post[$varname] = $varvalue;
    }
}

print "<pre>";
if (empty($empty)) {
    print "Keiner der POST-Werte ist leer. Die Werte sind:\n";
    var_dump($post);
} else {
    print "Wir haben " . count($empty) . " leere Werte:\n";
    print "Alle Werte:\n"; var_dump($post);
    print "Leer:\n";  var_dump($empty);
    exit;
}
?>

Ich möchte alle einfachen Anführungszeichen (') in einen Backslash gefolgt von einem einfachen Anführungszeichen (\') ersetzen lassen. Wie kann ich das mit einem regulären Ausdruck machen? Ich möchte außerdem " zu \" und \ zu \\ konvertieren.

Falls Sie dies für eine Datenbank tun möchten, sollten Sie den Maskierungsmechanismus nutzen, der für diese Datenbank vorgesehen ist. Z.B. sollten Sie mysql_real_escape_string() unter MySQL und pg_escape_string() unter PostgreSQL nutzen. Es gibt außerdem die generische Funktionen addslashes() und stripslashes(), die häufig in älterem PHP-Code genutzt werden.

Hinweis: Hinweis zu magic_quotes_gpc

Die PHP-Konfigurationsoption magic_quotes_gpc ist standardmäßig auf on gesetzt. Das bedeutet, dass addslashes() für alle GET-, POST- und COOKIE-Daten automatisch ausgeführt wird. Sie können stripslashes() verwenden, um diese Slashes zu entfernen.

Alle meine " werden in \" und meine ' werden in \' konvertiert. Wie kann ich den nicht gewünschten Backslash entfernen? Warum und wie sind diese Zeichen überhaupt konvertiert worden?

Mit großer Wahrscheinlichkeit existieren die Backslahes, weil die PHP-Direktive magic_quotes_gpc aktiviert ist. Dies ist eine alte Funktionalität von PHP, die nicht mehr aktiviert werden sollte und auf die man sich nicht mehr verlassen sollte. Die PHP-Funktion stripslashes() kann genutzt werden, um die Backslashes aus dem string zu entfernen.

Hinweis: Hinweis zu magic_quotes_gpc

Die PHP-Konfigurationsoption magic_quotes_gpc ist standardmäßig auf on gesetzt. Das bedeutet, dass addslashes() für alle GET-, POST- und COOKIE-Daten automatisch ausgeführt wird. Sie können stripslashes() verwenden, um diese Slashes zu entfernen.

Welche Bedeutung hat die PHP-Direktive register_globals für mich?
Warnung

Dieses Feature ist seit PHP 5.3.0 DEPRECATED (veraltet) und seit PHP 5.4.0 ENTFERNT.

Zunächst eine Erklärung zu dieser INI-Einstellung. Angenommen, Sie benutzen den folgenden URL: http://example.com/foo.php?animal=cat und Sie haben in foo.php den folgenden PHP-Code:

<?php
// die Benutzung von $_GET wird empfohlen
echo $_GET['animal'];

// damit $animal existiert, muss register_globals eingeschaltet sein
// NICHT EMPFOHLEN
echo $animal;

// dies gilt für alle Variablen, also auch für $_SERVER
echo $_SERVER['PHP_SELF'];

// damit $PHP_SELF existierst, muss register_globals eingeschaltet sein
// NICHT EMPFOHLEN
echo $PHP_SELF;
?>

Der obige Code zeigt, dass register_globals eine große Zahl von Variablen erzeugt. Diese Art der Programmierung wird seit vielen Jahren nicht mehr empfohlen und wurde deswegen standardmäßig deaktiviert. Obwohl auf den meisten Servern register_globals deaktiviert ist, existieren immer noch alte Artikel, Tutorials und Bücher, die davon ausgehen, dass dieses Feature aktiviert ist.

Weitere Informationen finden Sie auf den folgenden Seiten:

  • Die register_globals-Direktive
  • Das Sicherheitskapitel zu register_globals
  • Variablen aus externen Quellen
  • Benutzen Sie Superglobals stattdessen

Hinweis:

Im obigen Beispiel wird ein URL benutzt, der einen QUERY_STRING enthält. Solche Informationen werden über einen GET-HTTP-Request übergeben, weswegen das Superglobal $_GET benutzt wird.

Wenn ich den folgenden Code ausführe, wird die Ausgabe in der falschen Reihenfolge ausgegeben:
<?php
function myfunc($argument)
{
    echo $argument + 10;
}
$variable = 10;
echo "myfunc($variable) = " . myfunc($variable);
?>
Woran liegt das?

Um das Ergebnis Ihrer Funktion in einem Ausdruck verwenden zu können (um es z.B. wie im obigen Beispiel mit dem anderen String zu verbinden), müssen Sie den Wert mit return zurückgeben und ihn nicht mit echo ausgeben.

Wo sind meine Zeilenumbrüche geblieben?
<pre>
<?php echo "Das soll die erste Zeile sein."; ?>
<?php echo "Das soll nach dem obigen Zeilenumbruch erscheinen."; ?>
</pre>

In PHP können Code-Blöcke entweder mit "?>" oder mit "?>\n" enden (\n steht für Zeilenumbruch). Im obigen Beispiel sind die ausgegebenen Zeilen daher in einer Zeile, denn PHP lässt die Zeilenumbrüche nach den Block-Ende-Zeichen weg. Wenn Sie möchten, dass PHP einen Zeilenumbruch ausgibt, müssen Sie nach jedem Code-Block einen zusätzlichen Zeilenumbruch einfügen.

Warum macht PHP das so? Wenn Sie normales HTML formatieren, erleichert PHP Ihnen die Arbeit, da Sie meist diesen Zeilenumbruch gar nicht haben möchten. Würde PHP diesen Zeilenumbruch ausgeben, müssten Sie sehr lange Zeilen schreiben und Ihren Code damit unlesbar machen.

Ich bekomme die Meldung 'Warning: Cannot send session cookie - headers already sent...' oder 'Cannot add header information - headers already sent...'.

Die Funktionen header(), setcookie() und die Session-Funktionen müssen Header dem Output-Stream hinzufügen. Header können aber nur gesendet werden, wenn Sie vor allen anderen Daten gesendet werden. Vor dem Aufruf dieser Funktionen darf also keine Ausgabe (wie z.B. HTML-Code) stattfinden. Die Funktion headers_sent() prüft, ob Ihr Skript bereits Header gesendet hat. Nützlich sind in diesem Zusammenhang auch die Funktionen zur Ausgabesteuerung.

Wie kann ich auf Informationen aus dem Request-Header zugreifen?

Wenn Sie PHP als Apache-Modul laufen lassen, liefert Ihnen die getallheaders()-Funktion die gewünschten Informationen. Der folgende Code gibt alle Request-Header aus:

<?php
$headers = getallheaders();
foreach ($headers as $name => $content) {
    echo "headers[$name] = $content<br />\n";
}
?>

Siehe auch
apache_lookup_uri(),
apache_response_headers() und
fsockopen().

Wenn ich versuche, Authentifikation mit IIS zu nutzen, bekomme ich die Meldung 'No Input file specified'.

Das Sicherheitsmodell des IIS hat Unrecht. Dies ist ein Problem, das alle CGI-Programme, die unter dem IIS laufen, haben. Als Workaround können Sie eine leere HTML-Datei, die nicht von PHP geparst wird, als Eingangsseite in ein per Authenfikation geschütztes Verzeichnis erzeugen. Anschließend leiten Sie den Browser durch ein META-Tag auf die PHP-Seite weiter oder sie setzen einen Link auf die PHP-Seite. PHP erkennt dann die Authentifizierung korrekt. Dieses Problem tritt mit dem ISAPI-Modul nicht auf. Auch auf anderen NT-Web-Servern sollte dieses Problem nicht auftauchen. Weitere Informationen finden Sie auch hier: » http://support.microsoft.com/kb/q160422/. Lesen Sie auch den Manual-Abschnitt zur HTTP-Authentifizierung mit PHP.

Windows: Ich kann keine auf einem anderen Rechner freigegebenen Dateien aufrufen, wenn ich IIS benutze.

Sie müssen die Go to Internet Information Services ändern. Suchen Sie Ihre PHP-Datei und rufen Sie deren Eigenschaften auf. Wechseln Sie auf das Register File Security, klicken Sie dort auf Edit -< Anonymous access and authentication control.

Sie können das Problem beheben, indem Sie entweder den Haken bei Anonymous Access entfernen und ihn bei Integrated Window Authentication belassen, oder indem Sie Anonymous Access ankreuzen und dann die Berechtigungen der Benutzer, die keinen Zugriff bekommen sollen, anpassen.

Wie kann ich XML und PHP mischen? PHP beschwert sich über meine <?xml-Tags!

Um <?xml in Ihren PHP-Code einzufügen müssen Sie die Kurzform der öffnenden PHP-Tags abschalten, indem Sie in Ihrer php.ini short_tags auf 0 setzen. Sie können diese Direktive nicht mit der Funktion ini_set() setzen. Sie können unabhängig davon, ob short_open_tags aktiviert oder deaktiviert ist, z.B. <?php echo '<?xml'; ?> benutzen. Der Standardwert für diese Direktive ist On.

Wo kann ich eine komplette Liste der mir zur Verfügung stehenden Variablen finden?

Lesen Sie die Manual-Seite zu vordefinierten Variablen, die eine (unvollständige) Liste der vordefinierten Variablen, die Ihren Skripten zur Verfügung stehen, enthält. Eine komplette Liste der verfügbaren Variablen (und viele weitere Informationen) können Sie sehen, wenn Sie die Funktion phpinfo() aufrufen. Beachten Sie auch den Abschnitt zu Variablen außerhalb von PHP, der verschiedene Szenarien für externen Variablen wie HTML-Formulare, Cookies oder den URL beschreibt.

Hinweis: register_globals: Wichtiger Hinweis

Seit PHP 4.2.0 ist die Standardeinstellung für die Konfigurationsoption register_globals off. Die PHP-Community ermutigt alle, sich nicht auf diese Option zu verlassen und Alternativen wie superglobals zu verwenden.

Wie kann ich PDF-Datei generieren ohne die nicht-freie und kommerzielle Bibliothek PDFLib zu benutzen? Ich suche etwas, dass frei ist und keine externen PDF-Bibliotheken benötigt.

Es gibt einige in PHP geschriebene Alternativen wie » FPDF und » TCPDF.

Des Weiteren gibt es die Haru-Erweiterung, die die freie libHaru-Bibliothek benutzt.

Ich versuche, auf eine der Standard-CGI-Variablen (wie $DOCUMENT_ROOT oder $HTTP_REFERER) in einer selbst-definierten Funktion zuzugreifen, aber anscheinend kann ich nicht darauf zugreifen. Was mache ich falsch?

Es ist wichtig, zu verstehen, dass die PHP-Direktive register_globals auch Server- und Umgebungsvariablen betrifft. Wenn register_globals = off (Standardwert seit PHP 4.2.0), dann existiert $DOCUMENT_ROOT nicht. Stattdessen können Sie $_SERVER['DOCUMENT_ROOT'] benutzen. Wenn register_globals = on, dann existieren auch die Variablen $DOCUMENT_ROOT und $GLOBALS['DOCUMENT_ROOT'].

Wenn Sie sicher sind, dass register_globals = on, und sich wundern, warum $DOCUMENT_ROOT innerhalb von Funktionen nicht verfügbar ist: das liegt daran, dass es sich dabei um eine Variable wie jede andere handelt und sie deswegen innerhalb der Funktion zunächst global $DOCUMENT_ROOT benutzen müssen. Siehe auch die Manual-Seite zum Geltungsbereich von Variablen. Empfehlenswert ist, register_globals = off zu verwenden.

Einige PHP-Direktiven akzeptieren nicht nur Integer-Byte-Werte, sondern auch abgekürzte Byte-Werte. Welche Abkürzungen gibt es? Kann ich diese außerhalb der php.ini benutzen?

Die verfügbaren Abkürzungen sind K (für Kilobytes), M (für Megabytes) und G (für Gigabytes, verfügbar seit PHP 5.1.0), Groß-/Kleinschreibung spielt dabei keine Rolle. Alle anderen Werte werden als Byte-Werte erkannt. 1M entspricht z.B. einem Megabyte oder 1048576 Bytes. 1K entspricht einem Kilobyte oder 1024 Bytes. Sie können diese abgekürzten Schreibweise nicht außerhalb der php.ini verwenden. Vergleiche auch die Dokumentation von ini_get() für ein Beispiel, wie diese Werte konvertiert werden.

Hinweis: Kilobyte versus Kibibyte

Die PHP-Notation beschreibt ein Kilobyte als Entsprechung von 1024 Bytes, während der IEC-Standard dies als Kibibyte bezeichnet. Zusammenfassung: k und K = 1024 Bytes.

Windows: Ich bekomme Verbindungs-Timeouts, wenn ich localhost nutze, während "127.0.0.1" aber funktioniert?

Vor PHP 5.3.4 gab es einen Bug im Netzwerk-Auflösungs-Code von PHP, der dazu führte, dass localhost im Zusammenhang mit Streams fehlschlug, wenn IPv6 aktiviert war. Um dieses Problem zu umgehen, können Sie entweder "127.0.0.1" verwenden oder die Auflösung von IPv6 in der hosts-Datei deaktivieren.

Probleme bei der Kompilierung
Password Hashing
FAQ


Sicheres Password Hashing

Dieser Absatz erklärt, warum Hash Funktionen zur sicheren Passwortspeicherung benutzt werden, und wie dies am effektivsten bewerkstelligt werden kann.

  1. Warum sollte ich die Passwörter der User meiner Anwendung hashen?
  2. Warum sind verbreitete Hashfunktionen wie md5 und sha1 nicht für die Speicherung von Passwörtern geeignet?
  3. Wie sollte ich meine Passwörter hashen, wenn die üblichen Hashfunktionen unbrauchbar sind?
  4. Was ist ein Salt?
  5. Wie speichere ich meine Salts?
Warum sollte ich die Passwörter der User meiner Anwendung hashen?

Passworthashing ist eine der grundlegendsten Sicherheitsüberlegungen, die beim Design einer Anwendung bedacht werden müssen. Ohne Hashing können im Falle eines erfolgreichen Angriffs alle Userpasswörter in Ihrer Datenbank von einem Angreifer gestohlen und ohne Umwege in anderen Anwendungen (seien es Ihre oder die Anderer) benutzt werden. Dies ist oft der Fall, da viele User für verschiedene Dienste die gleichen Passwörter verwenden.

Wenn Sie Passwörter vor dem Abspeichern in der Datenbank hashen, machen Sie es einen Angreifer schwerer die ursprünglichen Passwörter herauszufinden. Sie haben jedoch weiterhin die Möglichkeit eingegebene Userpasswörter zu hashen und die Hashwerte zu vergleichen um herauszufinden, ob der User das richtige Passwort eingegeben hat.

Es ist jedoch wichtig zu wissen, dass Hashen nur das Auslesen der Passwörter aus dem Datenspeicher (z.B.: Datenbank oder Datei) erschwert. Sollte es einen Angreifer gelingen Code in Ihre Anwendung einzuschleusen, so kann er die Passwörter der User evtl. Auslesen bevor dieses gehasht werden.

Warum sind verbreitete Hashfunktionen wie md5() und sha1() nicht für die Speicherung von Passwörtern geeignet?

Hashalgorithmen wie MD5, SHA1 und SHA256 sind auf Geschwindigkeit und Effizienz optimiert. Mit modernen Techniken und leistungsstarker Hardware ist es aber trivial geworden diese Hashalgorithmen mit "brute force" Attacken anzugreifen.

Weil moderne Computer diese Hashalgorithmen leicht brechen können, werden diese von Sicherheitsspezialisten nicht für die Speicherung von Passwörtern empfohlen.

Wie sollte ich meine Passwörter hashen, wenn die üblichen Hashfunktionen unbrauchbar sind?

Wenn es um das Hashen von Passwörtern geht müssen zwei wichtige Sachen bedacht werden: Der Berechnungsaufwand und das Salt. Wenn es länger dauert einen Hash zu berechnen wird ein Brute Force Angriff stark verzögert. Jedoch ist zu beachten, dass der Berechnungsaufwand sich im normalen Betrieb nicht negativ auf die Performance der Anwendung auswirkt. Das Salt hingegen dient dazu, die Erstellung von vorberechneten Rainbowtables zu verhindern, da durch das Salt auch gleiche Passwörter unterschiedliche Hashes erhalten.

PHP 5.5 bietet eine native Passworthashing API die sich auf eine sichere Art um das Hashen und Verifizieren von Passwörtern kümmert. Ebenso existiert eine » native PHP kompatible Bibliothek für PHP Versionen ab 5.3.7.

Eine andere Option ist die crypt() Funktion, die mehrere Hashalgorithmen unterstützt. Diese existiert ab Version 5.3.7. Wenn diese Funktion benutzt wird, ist es garantiert, dass der Hashalgorithmus unterstützt wird, da PHP native Implementierungen für die Algorithmen besitzt, die benutzt werden, wenn von dem Betriebsystem nicht angebotene Algorithmen benutzt werden.

Der empfohlene Algorithmus für das Hashen von Passwörtern ist Blowfish, welcher auf als Standardalgorithmus von der Passwort Hashing API benutzt wird, da dieser einen signifikant höheren Berechnungsaufwand als MD5 oder SHA1 voraussetzt und trotzdem weiterhin skalierbar ist.

Bitte beachten Sie: Wenn Sie crypt() benutzen um Passwörter zu verifizieren müssen sie dafür sorgen, Timing Attacken zu verhindern. Dies kann durch Stringvergleiche mit konstanter Laufzeit geschehen. Jedoch bieten die PHP Vergleichsoperatoren == und === keine konstante Laufzeit. Da jedoch password_verify() eine konstante Laufzeit besitzt ist es stark empfohlen die native Passwort Hashing API zu benutzen, wenn dies möglich ist.

Was ist ein Salt?

Ein kryptografisches Salt sind Daten, die während des Hashens an das Passwort angefügt werden um die Möglichkeit des Angriffs über Rainbowtables zu erschweren. Rainbowtables sind bereits vorberechnete Paare (Schlüssel, Hash), die benutzt werden können, um für einen gegebenen Hash das vorberechnete Passwort nachzuschlagen.

In einfachen Worten: Ein Hash sind zusätzliche Daten, die es erschweren das Passwort zu knacken. Es gibt Onlinedienste bei denen man für einen gegebenen Hash das dazugehörige Passwort herrausfinden kann. Die Benutzung eines Salts macht es unpraktisch bis unmöglich das Passwort durch die Benutzung dieser Dienste zu finden.

Die Funktion password_hash() generiert ein zufälliges Salt, sollte beim Aufruf der Funktion keines übergeben werden. Dies ist generell der einfachste und sicherste Ansatz.

Wie speichere ich meine Salts?

Die Funktionen password_hash() oder crypt() geben den Salt als einen Teil des generierten Hashs zurück. Dieser Wert sollte unverändert abgespeichert werden, da er Informationen über den Hashalgorithmus enthält und direkt an die Funktion password_verify() oder crypt() übergeben werden kann um ein Passwort zu verifzieren.

Das folgende Diagramm zeigt das Format eines Rückgabewertes der Funktionen crypt() oder password_hash(). Wie sie sehen können, enthalten die Hashes alle Informationen über Hashalgorithmus und Salt, wie sie für die spätere Verifikation von Passwörtern benötigt werden.

Die Komponenten des Rückgabewerten von password_hash und crypt in dieser Reihenfolge: Der benutze Algorithmus, die Optionen des Algorithmus, das benutzte Salt und das gehashte Passwort.

PHP benutzen
PHP und HTML
FAQ


PHP und HTML

PHP und HTML interagieren stark: PHP kann HTML generieren und HTML kann Informationen an PHP weitergeben. Bevor Sie diese FAQ lesen, sollten Sie verstanden haben, wie Sie auf Variablen aus externen Quellen zugreifen können. Die Manual-Seite zu diesem Thema enthält viele Beispiele, die das Verständnis erleichtern.

  1. Wie muss ich kodieren/dekodieren, wenn ich einen Wert über ein Formular/einen URL weitergeben möchte?
  2. Ich versuche ein <input type="image">-Tag zu benutzen, aber die Variablen $foo.x and $foo.y sind nicht verfügbar. Auch $_GET['foo.x'] existiert nicht. Wo finde ich diese?
  3. Wie kann ich Array aus einem HTML-Formular erstellen?
  4. Wie bekomme ich alle Werte aus einem "select multiple"-HTML-Tag?
  5. Wie kann ich eine Variable von JavaScript an PHP übergeben?
Wie muss ich kodieren/dekodieren, wenn ich einen Wert über ein Formular/einen URL weitergeben möchte?

Es gibt mehrere Stufen, für die Encoding wichtig ist. Angenommen, Sie haben einen String $data, der den String, den Sie in nicht-kodierter Weise weitergeben möchten, enthält. Dann sind dies die relevanten Stufen:

  • HTML-Interpretation: Wenn Sie einen zufälligen String angeben wollen, müssen Sie ihn in die doppelte Anführungszeichen einschließen und htmlspecialchars() auf den gesamten Wert anwenden.

  • URL: Ein URL besteht aus mehreren Teilen. Wenn Sie wollen, dass Ihre Daten als ein Element interpretiert werden, dann müssen Sie Ihre Daten mit urlencode() kodieren.

Beispiel #1 Ein verstecktes HTML-Formularelement

<?php
    echo '<input type="hidden" value="' . htmlspecialchars($data) . '" />'."\n";
?>

Hinweis: Es wäre falsch, urlencode() auf $data anzuwenden, da es die Aufgabe des Browsers ist, die Daten zu kodieren. Alle populären Browser machen dies auch korrekt. Beachten Sie, dass dies unabhängig von der verwendeten Methode (also z.B. GET oder POST) geschieht. Feststellen werden Sie dies aber nur bei GET-Anfragen, da POST-Anfragen meist versteckt geschehen.

Beispiel #2 Daten, die vom Benutzer bearbeitet werden sollen

<?php
    echo "<textarea name='mydata'>\n";
    echo htmlspecialchars($data)."\n";
    echo "</textarea>";
?>

Hinweis: Die Daten werden wie Browser wie gewünscht ausgegeben, da der Browser die HTML-escapten Symbole interpretiert. Nach dem Abschicken, egal ob via GET oder POST, werden die Daten für den Transfer kodiert (mit urlencode()) und von PHP direkt wieder dekodiert (mit urldecode()). Sie müssen also für die Kodierung und Dekodierung nicht selbst sorgen, die Browser und PHP erledigen dies automatisch für Sie.

Beispiel #3 In einem URL

<?php
    echo '<a href="' . htmlspecialchars("/nextpage.php?stage=23&data=" .
        urlencode($data)) . '">'."\n";
?>

Hinweis: Hier wird eine HTML-GET-Anfrage gefakt, deswegen müssen Sie die Daten manuell mit urlencode() kodieren.

Hinweis: Sie müssen htmlspecialchars() auf den gesamten URL anwenden, da der URL als Wert eines HTML-Attributs auftritt. In diesem Fall wird der Browser zuerst etwas wie "un-htmlspecialchars()" auf den Wert anwenden und dann erst den URL weitergeben. PHP wird den URL korrekt verstehen, da Sie die Daten mit urlencode() kodiert haben. Sie werden feststellen, dass das & im URL durch &amp; ersetzt wird. Auch wenn die meisten Browser richtig arbeiten, falls Sie diese Ersetzung vergessen sollten, sollten Sie sich trotzdem nicht darauf verlassen. Das bedeutet, dass Sie - auch wenn Ihr URL nicht dynamisch ist - trotzdem htmlspecialchars() auf den URL anwenden müssen.

Ich versuche ein <input type="image">-Tag zu benutzen, aber die Variablen $foo.x and $foo.y sind nicht verfügbar. Auch $_GET['foo.x'] existiert nicht. Wo finde ich diese?

Wenn ein Formular abgeschickt werden soll, ist es möglich, ein Bild statt des Standard-Submit-Buttons zu verwenden, indem Sie ein Tag wie das folgende verwenden:

<input type="image" src="image.gif" name="foo" />
Wenn der Benutzer irgendwo auf das Bild klickt, wird das zugehörige Formular zusammen mit zwei zusätzlichen Variablen übertragen: foo.x und foo.y.

Da foo.x und foo.y in PHP ungültige Variablennamen erzeugen würden, werden Sie automatisch in $foo_x und $foo_y konvertiert. Die Punkte werden also durch Unterstriche ersetzt. Sie können auf diese Variablen also genauso wie im Abschnitt Variablen aus externen Quellen zugreifen, z.B. $_GET['foo_x'].

Hinweis:

Leerzeichen in Namen von Formularelementen werden in Unterstriche konvertiert.

Wie kann ich Array aus einem HTML-Formular erstellen?

Um die Formularwerte als Array im PHP-Skript zur Verfügung zu haben, müssen Sie die <input>, <select> or <textarea>-Felder wie folgt benennen:

<input name="MeinArray[]" />
<input name="MeinArray[]" />
<input name="MeinArray[]" />
<input name="MeinArray[]" />
Beachten Sie die eckigen Klammern hinter dem Variablen-Namen, denn dadurch wird das Array erst erzeugt. Sie können Felder in verschiedenen Arrays gruppieren, wenn Sie verschiedenen Feldern die gleichen Namen geben:
<input name="MeinArray[]" />
<input name="MeinArray[]" />
<input name="MeinAnderesArray[]" />
<input name="MeinAnderesArray[]" />
Daraus werden zwei Arrays, MeinArray und MeinAnderesArray erstellt. Es ist auch möglich, spezielle Schlüssel anzugeben:
<input name="AnderesArray[]" />
<input name="AnderesArray[]" />
<input name="AnderesArray[email]" />
<input name="AnderesArray[telefon]" />
Das Array AnderesArray enthält daraufhin die Schlüssel 0, 1, email und telefon.

Hinweis:

Die Angabe von Array-Schlüsseln ist in HTML optional. Wenn Sie keinen Schlüssel angeben, wird das Array in der Formular-Reihenfolge gefüllt. Im ersten Beispiel enthält also die Schlüssel 0, 1, 2 und 3.

Siehe auch: Array-Funktionen und Variablen aus externen Quellen.

Wie bekomme ich alle Werte aus einem "select multiple"-HTML-Tag?

Mit einem "select multiple"-Tag können Benutzer mehrere Werte aus einer Liste auswählen. Diese Werte werden dann an den "action handler" des Formulars (z.B. ein PHP-Skript) übergeben. Problematisch ist dabei, dass alle mit demselben Namen übergeben werden, z.B.:

<select name="var" multiple="yes">
Jede ausgewählte Option wird übergeben als:
var=option1
var=option2
var=option3
Jede Option wird den Inhalt der vorherigen $var-Variablen überschreiben. Die Lösung ist, die spezielle PHP-Lösung hierfür zu verwenden. Sie sollten das Tag wie folgt umschreiben:
<select name="var[]" multiple>
PHP weiß dann, dass $var als Array behandelt werden soll. Jede ausgewählte Wert wird dem Array hinzugefügt. Das erste Element wird zu $var[0], das nächste zu $var[1] etc. Die count()-Funktion kann benutzt werden, um herauszufinden, wie viele Optionen ausgewählt wurden. Mit der sort()-Funktion können Sie bei Bedarf das Array sortieren.

Beachten Sie, dass, falls Sie JavaScript benutzen, die eckigen Klammern [] im Feldnamen Probleme machen können, wenn Sie versuchen, über den Namen auf das Feld zu verweisen. Benutzen Sie stattdessen die numerische ID des Formularfelds oder schließen Sie den Variablennamen in einfache Anführungszeichen ein und benutzen Sie dies als den Index, z.B.:

variable = document.forms[0].elements['var[]'];

Wie kann ich eine Variable von JavaScript an PHP übergeben?

Da JavaScript (normalerweise) nur auf dem Client läuft, während PHP (normalerweise) auf Servern läuft, und da HTTP ein "status-loses" Protokoll ist, können zwischen den beiden Sprachen keine Variablen direkt ausgetauscht werden.

Allerdings ist es trotzdem möglich, Variablen zwischen den beiden zu übergeben. Eine Möglichkeit ist, den JavaScript-Code mit PHP zu generieren. Außerdem muss die angezeigte Seite sich regelmäßig selbst aktualisieren und dabei bestimmte Variablen an das PHP-Skript übergeben. Das folgende Beispiel zeigt wie Sie dies tun können -- es ermöglicht PHP, die Bildschirmauflösung (Höhe und Breite) zu ermitteln, was normalerweise nur Client-seitig möglich ist.

Beispiel #4 JavaScript mit PHP generieren

<?php
if (isset($_GET['width']) AND isset($_GET['height'])) {
  // Ausgabe der beiden Größenangaben
  echo "Die Bildschirmbreite ist: ". $_GET['width'] ."<br />\n";
  echo "Die Bildschirmhöhe ist: ". $_GET['height'] ."<br />\n";
} else {
  // Übergabe der Größenangaben
  // (der ursprüngliche 'QUERY_STRING' wird beibehalten;
  //  POST-Variablen müssen anders behandelt werden)

  echo "<script language='javascript'>\n";
  echo "  location.href=\"${_SERVER['SCRIPT_NAME']}?${_SERVER['QUERY_STRING']}"
            . "&width=\" + screen.width + \"&height=\" + screen.height;\n";
  echo "</script>\n";
  exit();
}
?>

Password Hashing
PHP und COM
FAQ


PHP und COM

PHP kann auf Win32 Platformen benutzt werden, um auf COM und DCOM Objekte zuzugreifen.

  1. Ich habe eine DLL-Datei erstellt, um etwas zu berechnen. Kann ich diese DLL-Datei auch in PHP benutzen?
  2. Was bedeutet 'Unsupported variant type: xxxx (0xxxxx)' ?
  3. Ist es möglich, visuelle Objekte in PHP zu verändern.
  4. Kann ich ein COM-Objekt in einer Session speichern ?
  5. Wie kann ich COM-Fehler erkennen?
  6. Kann ich DLL-Dateien in PHP-Skripten wie in Perl generieren ?
  7. Was bedeutet 'Unable to obtain IDispatch interface for CLSID {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}' ?
  8. Wie kann ich ein COM-Object von einem entfernten Server ausführen ?
  9. Ich bekomme die Meldung 'DCOM is disabled in C:\path...\scriptname.php on line 6' angezeigt, was kann ich tun ?
  10. Ist es möglich ein ActiveX-Objekt auf einer Seite mit PHP zu laden/modifizieren ?
  11. Ist es möglich, eine laufende Instanz einer Komponente zu erhalten ?
  12. Gibt es einen Weg, um ein Ereignis von einem COM-Objekt zu verarbeiten ?
  13. Ich habe Probleme, wenn ich versuche eine Methode eines COM-Objekts auszuführen, die mehr als ein Interface benutzt. Was kann ich tun ?
  14. PHP funktioniert mit COM, aber was ist mit COM+ ?
  15. Wenn PHP COM-Objekten manipulieren kann, könnten wir in Zukunft MTS in Verbindung mit PHP benutzen, um Komponenten-Resourcen zu verwalten ?
Ich habe eine DLL-Datei erstellt, um etwas zu berechnen. Kann ich diese DLL-Datei auch in PHP benutzen?

Wenn es eine einfache DLL-Datei ist, gibt es noch keinen Weg diese auch in PHP zu benutzen. Wenn die DLL-Datei aber einen COM-Server enthält, können Sie diese vielleicht benutzen, wenn sie das IDispatch Interface implementiert.

Was bedeutet 'Unsupported variant type: xxxx (0xxxxx)' ?

Es gibt dutzende VARIANT-Typen und Kombination. Viele werden schon unterstützt, aber es gibt immer noch einige, die noch implementiert werden müssen. Arrays werden zum Beispiel noch nicht vollständig unterstützt. Nur eindimensional indexierte Arrays können zwischen PHP und COM ausgetauscht werden. Wenn Sie andere Typen finden, die nicht unterstützt werden, melden Sie diese bitte als Bug (wenn sie nicht schon gemeldet wurden) und stellen so viele Information zur Verfügung wie möglich.

Ist es möglich, visuelle Objekte in PHP zu verändern.

Generell ja, aber da PHP normalerweise als Web-Skriptsprache verwendet wird, läuft es im Webserver Kontext, also werden visuelle Objekte niemals auf dem Desktop des Servers erscheinen. Wenn Sie PHP für Anwendungsskripting benutzen, zum Beispiel in Verbindung mit PHP-GTK, gibt es keine Limitation bei Zugriff und Veränderung von visuellen Objekten durch COM.

Kann ich ein COM-Objekt in einer Session speichern ?

Nein, können Sie nicht. COM-Instanzen werden als Resourcen behandelt und können somit nur in einem Skript benutzt werden.

Wie kann ich COM-Fehler erkennen?

Die COM-Erweiterung wirft eine com_exception , die Sie abfangen und dann den code-Member inspizieren können, um zu bestimmen wie fortzufahren ist.

Kann ich DLL-Dateien in PHP-Skripten wie in Perl generieren ?

Nein, leider gibt es kein Tool, das für PHP verfügbar ist.

Was bedeutet 'Unable to obtain IDispatch interface for CLSID {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}' ?

Dieser Fehler kann mehrere Gründe haben:

  • Die CLSID ist falsch
  • Die angeforderte DLL-Datei fehlt
  • Die angeforderte Kompinente hat das IDispatch Interface nicht implementiert.

Wie kann ich ein COM-Object von einem entfernten Server ausführen ?

Genauso, wie Sie lokale COM-Objekte ausführen. Sie müssen nur die IP der entfernten Maschine als zweiten Parameter zum COM-Konstruktor weitergeben.

Stellen Sie sicher, dass Sie com.allow_dcom =TRUE in der php.ini gesetzt haben.

Ich bekomme die Meldung 'DCOM is disabled in C:\path...\scriptname.php on line 6' angezeigt, was kann ich tun ?

Bearbeiten Sie die php.ini und setzen sie com.allow_dcom =TRUE.

Ist es möglich ein ActiveX-Objekt auf einer Seite mit PHP zu laden/modifizieren ?

Das hat nichts mit PHP zu tun. ActiveX-Objekte werden auf beim Benutzer geladen, wenn sie vom HTML-Dokument angefordert werden. Es gibt keine Verbindung zum PHP-Skript, also ist auch keine direkte Interaktion auf der Seite des Servers möglich.

Ist es möglich, eine laufende Instanz einer Komponente zu erhalten ?

Mithilfe von Moniker ist das möglich. Wenn Sie mehrere Referenzen zu der selben Word-Instanz erhalten möchten, können sie diese Instanzen erstellen, wie es hier beschrieben ist:

<?php
$word = new COM("C:\docs\word.doc");
?>

Dieser Code erstellt eine neue Instanz, wenn keine laufende Instanz verfügbar ist oder er gibt einen Handle zur laufenden Instanz, wenn diese verfügbar ist, zurück.

Gibt es einen Weg, um ein Ereignis von einem COM-Objekt zu verarbeiten ?

Sie können einen Listener definieren und ihn mithilfe von com_event_sink() binden. Sie können com_print_typeinfo() benutzen, um eine Listener-Skelettklasse von PHP erstellen zu lassen.

Ich habe Probleme, wenn ich versuche eine Methode eines COM-Objekts auszuführen, die mehr als ein Interface benutzt. Was kann ich tun ?

Die Antwort ist genauso einfach und unbefriedigend zugleich. Ich weiß es nicht genau, aber ich denke, Sie können nichts tun. Wenn jemand spezifischere Information darüber hat, lassen Sie es » mich wissen :)

PHP funktioniert mit COM, aber was ist mit COM+ ?

COM+ erweitert COM um ein Framework, um Komponenten über MTS und MSMQ zu verwalten, aber es gibt nichts Spezielles, das PHP unterstützen müsste, um solche Komponenten zu benutzen.

Wenn PHP COM-Objekten manipulieren kann, könnten wir in Zukunft MTS in Verbindung mit PHP benutzen, um Komponenten-Resourcen zu verwalten ?

PHP selbst verarbeitet Transaktionen noch nicht. Wenn also ein Fehler auftritt, wird kein Rollback gestartet. Wenn Sie Komponenten benutzen, die Transaktionen unterstützen, müssen Sie das Transaktions-Management selbst implementieren.

PHP und HTML
Verschiedene Fragen
FAQ


Verschiedene Fragen

Es gibt diverse Fragen, die in keine andere Kategorie passen. Diese Fragen finden Sie hier.

  1. Wie entpacke ich Manuals unter Windows, die mit bz2 komprimiert wurden?
  2. Was bedeutet & vor einem Parameter in eine Funktionsdeklarations wie z.B. bei asort?
  3. Wie gehe ich mit register_globalsi um?
Wie entpacke ich Manuals unter Windows, die mit bz2 komprimiert wurden?

Wenn Sie keinen Entpacker haben, der bz2 entpacken kann, » laden Sie sich das Kommandozeilenprogramm von Redhat herunter (siehe Informationen weiter unten).

Wenn Sie nicht das Kommandozeeilenprogramm verwenden wollen, dann können Sie kostenlose Tools wie den » Stuffit Expander, » UltimateZip, » 7-Zip, oder » Quick Zip verwenden. Wenn Sie » WinRAR oder » Power Archiver haben, können Sie die bz2-Dateien damit entpacken. Sollten Sie Total Commander (ehemals Windows Commander) verwenden, so gibt es dafür ein kostenloses bz2 Plugin auf der » Total Commander-Seite.

Das bzip2-Kommandozeilenprogramm von Redhat:

Benutzer von Win2k SP2 verwenden die aktuelle Version 1.0.2, alle anderen Windows-Benutzer sollten Version 1.00 nehmen. Nach dem Download sollten Sie die Datei in bzip2.exe umbenennen. Kopieren Sie diese zur leichteren Handhabung in ein Verzeichnis im Windows-Pfad, z.B. C:\Windows, wobei C: das Laufwerk Ihrer Windows Installation ist.

Anmerkung: lang steht für die Sprache und x für das Format, z.B. pdf. Zum entpacken von php_manual_lang.x.bz2 folgen Sie diesen einfachen Schritten:

  • Öffenen Sie die Eingabeaufforderung
  • Springen Sie mit cd in das Verzeichnis, in dem Sie die heruntergeladene Datei php_manual_lang.x.bz2 gespeichert haben
  • Mit bzip2 -d php_manual_lang.x.bz2, entpacken Sie die Datei php_manual_lang.x im selben Verzeichnis

Wenn Sie die Datei php_manual_lang.tar.bz2 heruntergeladen haben, die viele HTML-Dateien enthält, gehen Sie genauso vor. Der einzige Unterschied ist, dass Sie eine Datei namens php_manual_lang.tar erhalten. Die meisten Entpacker unter Windows verstehen das tar Format wie z.B. » WinZip.

Was bedeutet & vor einem Parameter in eine Funktionsdeklarations wie z.B. bei asort()?

Es bedeutet, dass eine Variable als Referenz übergeben wird und die Funktion höchstwahrscheinlich den Inhalt der übergebenen Variablen gemäß ihrem dokumentierten Zweck verändern wird. Sie können solchen Parameter nur Variablen übergeben und Sie müssen dem Parameter im Funktionsaufruf kein & vorausstellen (dieses Vorgehen ist sogar veraltet).

Wie gehe ich mit register_globalsi um?

Informationen zu den sicherheitsrelevanten Aspekten von register_globals finden Sie im Sicherheitskapitel unter Nutzung von register_globals.

Es wird empfohlen die Superglobalen Variablen zu benutzen und sich nicht darauf zu verlassen, dass register_globals aktiviert ist.

Wenn Sie auf einem Shared Host alte Applikationen einsetzen müssen, die erwarten, dass register_globals aktiv ist, obwohl es abgeschaltet ist, oder wenn es aktiv ist, Sie aber die damit verbundenen Sicherheitsrisiken vermeiden wollen, dann müssen Sie eventuell die jeweils andere Einstellung mit PHP emulieren. Es empfiehlt sich jeweils zunächst nachzufragen, ob die Einstellungen irgendwie geändert werden können, ist dies aber nicht möglich so können Sie die folgenden Kompatibilitätsbausteine verwenden.

Beispiel #1 Register Globals emulieren

Der folgende Code emuliert register_globals=On. Wenn Sie die variables_order Konfiguration ändern, sollten Sie in der Regel auch die $superglobals entsprechend anpassen.

<?php
// Emulate register_globals on
if (!ini_get('register_globals')) {
    $superglobals = array($_SERVER, $_ENV,
        $_FILES, $_COOKIE, $_POST, $_GET);
    if (isset($_SESSION)) {
        array_unshift($superglobals, $_SESSION);
    }
    foreach ($superglobals as $superglobal) {
        extract($superglobal, EXTR_SKIP);
    }
}
?>

Der folgende Code emuliert register_globals=Off. Beachten Sie, dass dieser Code entweder direkt am Anfang Ihres Scripts ausgeführt werden sollte oder nach dem Aufruf von session_start(), wenn Sie damit Ihre Sessions starten.

<?php
// Emulate register_globals off
function unregister_GLOBALS()
{
    if (!ini_get('register_globals')) {
        return;
    }

    // Might want to change this perhaps to a nicer error
    if (isset($_REQUEST['GLOBALS']) || isset($_FILES['GLOBALS'])) {
        die('GLOBALS overwrite attempt detected');
    }

    // Variables that shouldn't be unset
    $noUnset = array('GLOBALS',  '_GET',
                     '_POST',    '_COOKIE',
                     '_REQUEST', '_SERVER',
                     '_ENV',     '_FILES');

    $input = array_merge($_GET,    $_POST,
                         $_COOKIE, $_SERVER,
                         $_ENV,    $_FILES,
                         isset($_SESSION) && is_array($_SESSION) ? $_SESSION : array());

    foreach ($input as $k => $v) {
        if (!in_array($k, $noUnset) && isset($GLOBALS[$k])) {
            unset($GLOBALS[$k]);
        }
    }
}

unregister_GLOBALS();

?>

PHP und COM
Appendices
FAQ


Appendices

  • Die Geschichte von PHP und verwandten Projekten
    • Die Geschichte von PHP
    • Geschichte von PHP verwandten Projekten
    • Bücher über PHP
    • Publikationen über PHP
  • Migrating from PHP 7.0.x to PHP 7.1.x
    • New features
    • New functions
    • New global constants
    • Backward incompatible changes
    • Deprecated features in PHP 7.1.x
    • Changed functions
    • Other changes
    • Windows Support
  • Migrating from PHP 5.6.x to PHP 7.0.x
    • Backward incompatible changes
    • New features
    • Deprecated features in PHP 7.0.x
    • Changed functions
    • New functions
    • New Classes and Interfaces
    • New Global Constants
    • Changes in SAPI Modules
    • Removed Extensions and SAPIs
    • Other Changes
  • Migration von PHP 5.5.x auf PHP 5.6.x
    • Nicht abwärtskompatible Änderungen
    • Neue Features
    • Veraltete Features in PHP 5.6.x
    • Geänderte Funktionen
    • Neue Funktionen
    • OpenSSL Änderungen in PHP 5.6.x
    • Andere Änderungen bei Extensions
    • Neue globale Konstanten
  • Migrating from PHP 5.4.x to PHP 5.5.x
    • What has changed in PHP 5.5.x
    • Backward Incompatible Changes
    • New features
    • Deprecated features in PHP 5.5.x
    • Changed Functions
    • New Functions
    • New Classes and Interfaces
    • New Methods
    • Other changes to extensions
    • New Global Constants
    • Changes to INI file handling
    • Changes to PHP Internals
  • Migration von PHP 5.3.x auf PHP 5.4.x
    • Was hat sich in PHP 5.4.x geändert?
    • Nicht rückwärtskompatible Änderungen
    • Neue Features
    • Änderungen in SAPI Modulen
    • Deprecated features in PHP 5.4.x
    • New Parameters
    • New Functions
    • New Class Constants
    • New Methods
    • New Extensions
    • Removed Extensions
    • Other changes to extensions
    • New Classes
    • New Global Constants
    • Änderungen an der INI-Dateibehandlung
    • Weitere Änderungen
  • Migrating from PHP 5.2.x to PHP 5.3.x
    • What has changed in PHP 5.3.x
    • Backward Incompatible Changes
    • New features
    • Changes made to Windows support
    • Changes in SAPI modules
    • Deprecated features in PHP 5.3.x
    • Undeprecated features in PHP 5.3.x
    • New Parameters
    • New Functions
    • New stream wrappers
    • New stream filters
    • New Class Constants
    • New Methods
    • New Extensions
    • Removed Extensions
    • Other changes to extensions
    • New Classes
    • New Global Constants
    • Changes to INI file handling
    • Other changes
  • Migrating from PHP 5.1.x to PHP 5.2.x
    • What has changed in PHP 5.2.x
    • Backward Incompatible Changes
    • New Error Messages
    • Changes in PHP datetime support
    • New Parameters
    • New Functions
    • New Methods
    • Removed Extensions
    • New Extensions
    • New Classes
    • New Global Constants
    • New Class Constants
    • New INI Configuration Directives
    • Error Reporting
    • Other Enhancements
  • Migrating from PHP 5.0.x to PHP 5.1.x
    • Key PHP 5.1.x features
    • Changes in reference handling
    • Reading []
    • Integer values in function parameters
    • Class and object changes
    • Extensions
    • Date/time support
    • Changes in database support
    • Checking for E_STRICT
  • Migrating from PHP 4 to PHP 5.0.x
    • What has changed in PHP 5.0.x
    • Backward Incompatible Changes
    • CLI and CGI
    • Migrating Configuration Files
    • New Functions
    • New Directives
    • Databases
    • New Object Model
    • Error Reporting
  • PHP Debugging
    • Über Debugging in PHP
  • Configure options
    • List of core configure options
  • php.ini Richtlinien
    • Liste der php.ini-Direktiven
    • Liste der php.ini-Abschnitte
    • Beschreibung der php.ini-Direktiven des Sprachkerns
  • Extension-Liste/-Kategorisierung
    • Alphabetisch
    • Zugehörigkeit
    • Status
  • Liste der Funktions-Aliase
  • Liste der reservierten Wörter
    • Liste der Schlüsselworte
    • Vordefinierte Klassen
    • Vordefinierte Konstanten
    • Liste weiterer reservierter Wörter
  • Liste der Ressource-Typen
  • List of Available Filters
    • String Filters
    • Conversion Filters
    • Compression Filters
    • Encryption Filters
  • Liste der unterstützten Socket-Transporter
    • Internet Domain: TCP, UDP, SSL und TLS
    • Unix-Domain: Unix und UDG
  • Tabelle zu Typenvergleichen in PHP
  • Liste der Parsertoken
  • Userland Naming Guide
    • Globaler Namensraum
    • Regeln
    • Hinweise
  • Über das Handbuch
    • Formate
    • Über die Kommentare (User Notes)
    • Wie man eine Funktionsdefinition (Prototyp) liest
    • In diesem Handbuch beschriebene PHP-Versionen
    • Mehr Informationen über PHP finden
    • Wie man helfen kann, die Dokumentation zu verbessern
    • Wie wir die Formate generieren
    • Übersetzungen
  • Creative Commons Attribution 3.0
  • Verzeichnis der Inhaltsverzeichnisse
    • Funktions- und Methodenverzeichnis
    • Verzeichnis der Beispiele
  • Changelog
Verschiedene Fragen
Die Geschichte von PHP und verwandten Projekten
PHP-Handbuch


Die Geschichte von PHP und verwandten Projekten

Inhaltsverzeichnis

  • Die Geschichte von PHP
  • Geschichte von PHP verwandten Projekten
  • Bücher über PHP
  • Publikationen über PHP

PHP hat seit seiner Entstehung in der Mitte der 90er Jahre einen langen Weg hinter sich, um zu einer der bekanntesten Sprachen für das Web zu werden, war keine einfache Aufgabe. Wenn Sie daran interessiert sind kurz zu sehen, wie PHP zu dem gewachsen ist was es heute ist, dann lesen Sie weiter. Ältere Versionen von PHP finden Sie im » PHP Museum.

Appendices
Die Geschichte von PHP
Appendices


Die Geschichte von PHP

PHP/FI

PHP ist der Nachfolger eines älteren Produktes, PHP/FI. PHP/FI wurde 1995 von Rasmus Lerdorf geschaffen. Ursprünglich war PHP/FI ein Set von Perl Skripten zur Erfassung der Zugriffe auf seinen Webauftritt. Er nannte dieses Set von Skripten 'Personal Home Page Tools'. Als dann mehr Funktionalität benötigt wurde, schrieb Rasmus eine viel größere Umsetzung in C, welche auch mit Datenbanken kommunizieren konnte, und den Benutzern die Entwicklung einfacher dynamischer Webapplikationen ermöglichte. Rasmus entschloss sich, den Sourcecode von PHP/FI zu » veröffentlichen, sodass ihn jeder benutzen, von Fehlern bereinigen, und weiterentwicklen konnte.

PHP/FI stand für Personal Home Page / Forms Interpreter, und beinhaltete manches an Funktionalität des PHP wie wir es heute kennen. Es besaß Variablen wie in Perl, eine automatische Interpretation von Formularvariablen und eine in HTML eingebettete Syntax. Die Syntax selbst war der von Perl ähnlich, wenn auch viel eingeschränkter, einfach, und ziemlich inkonsistent.

1997 war PHP/FI 2.0, die zweite Überarbeitung der C Implementierung, Kult für einige tausend Benutzer weltweit (geschätzt). Etwa 50.000 Domains berichteten PHP/FI 2.0 installiert zu haben, was mit ca. 1% der Domains im Internet zu Buche schlug. Obwohl manche Leute diesem Projekt ein Stück Code beisteuerten, war es insgesamt immer noch ein Ein-Mann-Projekt.

PHP/FI 2.0 wurde im November 1997 offiziell freigegeben, nachdem es die meiste Zeit seines Lebenszyklus als verschiedene Betaversionen verbracht hatte. Es wurde kurz danach von den ersten Alphaversionen von PHP 3 abgelöst.

PHP 3

PHP 3.0 war die erste Version, die dem heutigen PHP sehr gleicht. Es wurde 1997 von Andi Gutmans und Zeev Suraski neu geschrieben, nachdem PHP/FI 2.0 ihrer Meinung nach für die Entwicklung ihrer eCommerce Applikation für ein Universitätsprojekt arbeiteten, viel zu schwach war. Auf die Basis der bestehenden Benutzer von PHP/FI aufbauend, entschieden sich Andi, Rasmus und Zeev zur Kooperation, und kündigten PHP 3.0 als den offiziellen Nachfolger von PHP/FI 2.0 an, und die Entwicklung von PHP/FI 2.0 wurde größtenteils eingestellt.

Eine der größten Stärken von PHP 3.0 waren die starken Erweiterungsmöglichkeiten. Zusätzlich zu der soliden Infrastruktur für eine Menge an Datenbanken, Protokollen und APIs, lockten vor allem die Erweiterungsmöglichkeiten von PHP 3 dutzende von Entwicklern an, welche sich beteiligten, und neue Erweiterungsmodule einbrachten. Möglicherweise war das der Schlüssel zu dem gewaltigen Erfolg von PHP 3.0. Weitere besondere Merkmale von PHP 3.0 waren die Unterstützung für objektorientierte Syntax und die viel bessere sowie konsistentere Sprachsyntax.

Die gesamte neue Sprache wurde unter einem neuen Namen veröffentlicht, welche die im Namen PHP/FI 2.0 vorhandene Implizierung einer eingeschränkten persönlichen Nutzung beseitigte. Es wurde einfach 'PHP' genannt, ein rekursives Akronym für PHP: Hypertext Preprocessor.

Gegen Ende 1998 wuchs PHP auf eine installierte Basis von (geschätzten) zehntausenden Benutzern und hunderttausenden Websites, auf denen PHP installiert war, heran. An seinem Höhepunkt war PHP 3.0 auf etwa 10% der Webserver im Internet installiert.

PHP 3.0 wurde im Juni 1998 nach einer neunmonatigen öffentlichen Testphase offiziell freigegeben.

PHP 4

Im Winter 1998, kurz nach der offiziellen Freigabe von PHP 3.0, begannen Andi Gutmans und Zeev Suraski den Kern von PHP umzuschreiben. Die Ziele waren eine verbesserte Leistung von komplexen Applikationen, und eine verbesserte Modularität des Basiscodes. Solche Applikationen wurden durch die neuen Leistungsmerkmale von PHP 3.0, der Unterstützung einer großen Auswahl von Datenbanken und APIs von Drittanbietern möglich gemacht, aber PHP 3.0 war nicht dafür entworfen, solche komplexen Applikationen auch effizient zu handhaben.

Die neue Engine, tituliert als 'Zend Engine' (aus den Vornamen Zeev und Andi gebildet), entsprach diesen Zielen im Design erfolgreich, und wurde zum ersten Mal Mitte 1999 eingeführt. PHP 4.0, das auf dieser Engine, verbunden mit einer großen Auswahl an zusätzlichen Leistungsmerkmalen basiert, wurde im Mai 2000 offiziell freigegeben, fast zwei Jahre nach seinem Vorgänger PHP 3.0. Zusätzlich zu der stark verbesserten Leistung, inkludierte PHP 4.0 andere wichtige Leistungsmerkmale, wie Unterstützung für viele weitere Webserver, HTTP-Sessions, Ausgabepufferung, sicherere Wege im Umgang mit Benutzereingaben, und verschiedene neue Sprachkonstrukte.

Heute wird PHP von (schätzungsweise) hunderttausenden Entwicklern verwendet, und es wird von mehreren Millionen Sites berichtet, auf welchen PHP installiert ist, was mit über 20% der Domains im Internet zu Buche schlägt.

Das Entwicklerteam von PHP besteht aus Dutzenden von Entwicklern, ergänzt durch Dutzende von weiteren Personen, die an verwandten Projekten wie PEAR oder dem Dokumentationsprojekt arbeiten.

PHP 5

PHP 5 wurde im Juli 2004 nach langer Entwicklung und mehreren Pre-Releases veröffentlicht. Der Kern von PHP 5 ist die Zend Engine 2.0, die ein neues Objektmodell und Dutzende anderer neuer Features einführt.

Die Geschichte von PHP und verwandten Projekten
Geschichte von PHP verwandten Projekten
Die Geschichte von PHP und verwandten Projekten


Geschichte von PHP verwandten Projekten

PEAR

» PEAR, das PHP Extension and Application Repository (ursprünglich PHP Extension and Add-on Repository) ist PHP's Version von fundamentalen Klassen, und könnte in der Zukunft zu einem der Hauptwege zur Verteilung von PHP Erweiterungen unter Entwicklern werden.

PEAR entstand in Diskussionen während des PHP Developers' Meeting (PDM) vom Januar 2000 in Tel Aviv. Es wurde von Stig S. Bakken geschaffen, und ist seiner erstgeborenen Tochter, Malin Bakken, gewidmet.

Seit Anfang 2000 ist PEAR zu einem großen, signifikanten Projekt mit vielen Entwicklern gewachsen, welche an der Implementierung von gemeinsamer, wiederverwendbarer Funktionalität zum Nutzen der gesamten PHP Gemeinschaft arbeiten. PEAR umfasst heute eine große Auswahl an infrastrukturellen Basisklassen, für Datenbankzugriff, Zwischenspeicherung von Inhalten, mathematischen Kalkulationen, eCommerce, und viel, viel mehr.

Weitere Informationen zu PEAR finden sie im » PEAR Manual.

PHP Initiative zur Qualitätssicherung

Die » PHP Initiative zur Qualitätssicherung wurde im Sommer 2000 als Reaktion auf die Kritik, dass PHP Releases für Produktionssysteme nicht genügend getestet würden. Das Team besteht nun aus einer Hauptgruppe von Entwicklern mit einem guten Verständnis der PHP Codebasis. Diese Entwickler stecken eine Menge ihrer Zeit in das auffinden und Beheben von Fehlern in PHP. Zusätzlich gibt es noch viele andere Teammitglieder, die diese Fehlerbehebungen auf den verschiedensten Plattformen testen, und Feedback geben.

PHP-GTK

» PHP-GTK ist die Lösung von PHP, um clientseitige GUI Applikationen zu schreiben. Andrei Zmievski erinnert sich an die Planungs- und Erstellungsphase von PHP-GTK:

GUI Programmierung hat mich immer schon interessiert und ich fand, dass Gtk+ ein sehr nettes Werkzeug ist, außer dass dessen Programmierung in C etwas langwierig ist. Nachdem ich die Implementierungen von PyGtk und GTK-Perl miterlebt habe, entschied ich mich zu sehen, ob PHP ebenfalls mit Gtk+ verbunden werden könnte, wenn auch minimal. Ab August 2000 hatte ich etwas mehr Freizeit, und begann zu experimentieren. Meine Hauptvorlage war die PyGTK Implementierung, denn sie war von den Leistungsmerkmalen her ziemlich komplett, und hatte eine nette objektorientierte Schnittstelle. James Henstridge, der Autor von PyGtk, hatte in diesen ersten Schritten immer hilfreichen Rat.

Die Schnittstellen zu all den Gtk+ Funktionen per Hand zu schreiben kam nicht in Frage, und so griff ich die Idee eines Code Generators auf, ähnlich wie es PyGTK tat. Der Code Generator ist ein PHP Programm, das eine Reihe von .defs Dateien mit den Gtk+ Klassen, Konstanten und Information über Methoden liest, und danach C Code generiert, der PHP mit ihnen verbindet. Was nicht automatisch generiert werden kann, wird händisch in eine .overrides Datei geschrieben.

Die Arbeit an dem Code Generator und der Infrastruktur dauerte einige Zeit, da ich im Herbst 2000 nur wenig Zeit für die Arbeit an PHP-GTK erübrigen konnte. Nachdem ich PHP-GTK Frank Kronman gezeigt hatte bekam er Interesse, und begann mir bei der Arbeit am Code Generator und der Win32 Implementierung zu helfen. Es war richtig aufregend, als wir das erste Hello World Programm schrieben und laufen ließen. Es dauerte noch einige Monate, bis wir das Projekt in einen vorzeigbaren Zustand brachten und am 1. März 2001 die erste Version freigeben konnten. Die Geschichte schlug prompt SlashDot.

In dem Gefühl, dass PHP-GTK umfangreich werden könnte, habe ich extra Mailinglisten und CVS Repositories dafür eingerichtet, wie auch mit Hilfe von Colin Viebrock die Website gtk.php.net. Die Dokumentation musste ebenfalls erstellt werden, und James Moore begann hierbei zu helfen.

Seit seiner Freigabe gewinnt PHP-GTK an Popularität. Wir haben unser eigenes Dokumentationsteam, das Handbuch wird weiter verbessert, die Leute beginnen Erweiterungen für PHP-GTK, und auch immer mehr Applikationen mit PHP-GTK zu schreiben.

Die Geschichte von PHP
Bücher über PHP
Die Geschichte von PHP und verwandten Projekten


Bücher über PHP

Seit PHP gewachsen ist, wurde auch begonnen, es als weltweit populäre Entwicklungsplattform anzuerkennen. Eine der Interessantesten Arten dies zu sehen war, die im Laufe der Jahre erscheinenden Bücher über PHP zu beobachten.

Unseres Wissens nach was das erste Buch über PHP 'PHP - tvorba interaktivních internetových aplikací', ein im im April 1999 erschienenes, von Jirka Kosek geschriebenes tschechisches Buch. Ein Monat später folgte ein von Egon Schmid, Christian Cartus und Richard Blume verfasstes deutsches Buch. Das erste englischsprachige Buch über PHP wurde kurz danach veröffentlicht, es war 'Core PHP Programming' von Leon Atkinson. Beide Bücher deckten PHP 3.0 ab.

Nachdem diese Bücher die ersten ihrer Art waren, folgte schnell eine große Anzahl Bücher von einer Menge Autoren und Verlegern. Es gibt über 40 englischsprachige Bücher, 50 Bücher in Deutsch, und über 20 Bücher in Französisch! Weiters gibt es Bücher über PHP in vielen anderen Sprachen, wie Spanisch, Koreanisch, Japanisch und Hebräisch.

Diese große Anzahl von Büchern, die von verschiedenen Autoren geschrieben, und vielen Verlegern veröffentlicht wurden, sowie deren Verfügbarkeit in so vielen Sprachen sind ein guter Beweis für den weltweiten Erfolg von PHP.

Geschichte von PHP verwandten Projekten
Publikationen über PHP
Die Geschichte von PHP und verwandten Projekten


Publikationen über PHP

Soweit wir wissen, erschien der erste Artikel über PHP in einem gedruckten Magazin gegen Ende 1998 in der tschechischen Ausgabe der Computerworld, und behandelte PHP 3.0. Wie auch bei den Büchern war dieser der erste von einer ganzen Serie von Artikeln über PHP, welche in verschiedenen populären Magazinen erschienen sind.

Artikel über PHP erschienen in Dr. Dobbs, Linux Enterprise, Linux Magazine und vielen mehr. Artikel über die Migration von ASP-basierten Applikationen nach PHP unter Windows tauchten sogar in Microsoft's eigenem MSDN auf!

Bücher über PHP
Migrating from PHP 7.0.x to PHP 7.1.x
Die Geschichte von PHP und verwandten Projekten


Migrating from PHP 7.0.x to PHP 7.1.x

Inhaltsverzeichnis

  • New features
  • New functions
  • New global constants
  • Backward incompatible changes
  • Deprecated features in PHP 7.1.x
  • Changed functions
  • Other changes
  • Windows Support

This new minor version brings with it a number of new features and a few incompatibilities that should be tested for before switching PHP versions in production environments.

Siehe auch die Migrationsleitfäden für PHP-Versionen 5.0.x, 5.1.x, 5.2.x, 5.3.x, 5.4.x, 5.5.x, 5.6.x and 7.0.x.

Publikationen über PHP
New features
Appendices


New features

Nullable types

Type declarations for parameters and return values can now be marked as nullable by prefixing the type name with a question mark. This signifies that as well as the specified type, null can be passed as an argument, or returned as a value, respectively.

<?php

function testReturn(): ?string
{
    return 'elePHPant';
}

var_dump(testReturn());

function testReturn(): ?string
{
    return null;
}

var_dump(testReturn());

function test(?string $name)
{
    var_dump($name);
}

test('elePHPant');
test(null);
test();

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(10) "elePHPant"
NULL
string(10) "elePHPant"
NULL
Uncaught Error: Too few arguments to function test(), 0 passed in...

Void functions

A void return type has been introduced. Functions declared with void as their return type must either omit their return statement altogether, or use an empty return statement. null is not a valid return value for a void function.

<?php
function swap(&$left, &$right): void
{
    if ($left === $right) {
        return;
    }

    $tmp = $left;
    $left = $right;
    $right = $tmp;
}

$a = 1;
$b = 2;
var_dump(swap($a, $b), $a, $b);

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

null
int(2)
int(1)

Attempting to use a void function's return value simply evaluates to null, with no warnings emitted. The reason for this is because warnings would implicate the use of generic higher order functions.

Symmetric array destructuring

The shorthand array syntax ([]) may now be used to destructure arrays for assignments (including within foreach), as an alternative to the existing list() syntax, which is still supported.

<?php
$data = [
    [1, 'Tom'],
    [2, 'Fred'],
];

// list() style
list($id1, $name1) = $data[0];

// [] style
[$id1, $name1] = $data[0];

// list() style
foreach ($data as list($id, $name)) {
    // logic here with $id and $name
}

// [] style
foreach ($data as [$id, $name]) {
    // logic here with $id and $name
}

Class constant visibility

Support for specifying the visibility of class constants has been added.

<?php
class ConstDemo
{
    const PUBLIC_CONST_A = 1;
    public const PUBLIC_CONST_B = 2;
    protected const PROTECTED_CONST = 3;
    private const PRIVATE_CONST = 4;
}

iterable pseudo-type

A new pseudo-type (similar to callable) called iterable has been introduced. It may be used in parameter and return types, where it accepts either arrays or objects that implement the Traversable interface. With respect to subtyping, parameter types of child classes may broaden a parent's declaration of array or Traversable to iterable. With return types, child classes may narrow a parent's return type of iterable to array or an object that implements Traversable.

<?php
function iterator(iterable $iter)
{
    foreach ($iter as $val) {
        //
    }
}

Multi catch exception handling

Multiple exceptions per catch block may now be specified using the pipe character (|). This is useful for when different exceptions from different class hierarchies are handled the same.

<?php
try {
    // some code
} catch (FirstException | SecondException $e) {
    // handle first and second exceptions
}

Support for keys in list()

You can now specify keys in list(), or its new shorthand [] syntax. This enables destructuring of arrays with non-integer or non-sequential keys.

<?php
$data = [
    ["id" => 1, "name" => 'Tom'],
    ["id" => 2, "name" => 'Fred'],
];

// list() style
list("id" => $id1, "name" => $name1) = $data[0];

// [] style
["id" => $id1, "name" => $name1] = $data[0];

// list() style
foreach ($data as list("id" => $id, "name" => $name)) {
    // logic here with $id and $name
}

// [] style
foreach ($data as ["id" => $id, "name" => $name]) {
    // logic here with $id and $name
}

Support for negative string offsets

Support for negative string offsets has been added to the string manipulation functions accepting offsets, as well as to string indexing with [] or {}. In such cases, a negative offset is interpreted as being an offset from the end of the string.

<?php
var_dump("abcdef"[-2]);
var_dump(strpos("aabbcc", "b", -3));

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string (1) "e"
int(3)

Negative string and array offsets are now also supported in the simple variable parsing syntax inside of strings.

<?php
$string = 'bar';
echo "The last character of '$string' is '$string[-1]'.\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

The last character of 'bar' is 'r'.

Support for AEAD in ext/openssl

Support for AEAD (modes GCM and CCM) have been added by extending the openssl_encrypt() and openssl_decrypt() functions with additional parameters.

Convert callables to Closures with Closure::fromCallable()

A new static method has been introduced to the Closure class to allow for callables to be easily converted into Closure objects.

<?php
class Test
{
    public function exposeFunction()
    {
        return Closure::fromCallable([$this, 'privateFunction']);
    }

    private function privateFunction($param)
    {
        var_dump($param);
    }
}

$privFunc = (new Test)->exposeFunction();
$privFunc('some value');

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(10) "some value"

Asynchronous signal handling

A new function called pcntl_async_signals() has been introduced to enable asynchronous signal handling without using ticks (which introduce a lot of overhead).

<?php
pcntl_async_signals(true); // turn on async signals

pcntl_signal(SIGHUP,  function($sig) {
    echo "SIGHUP\n";
});

posix_kill(posix_getpid(), SIGHUP);

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

SIGHUP

HTTP/2 server push support in ext/curl

Support for server push has been added to the CURL extension (requires version 7.46 and above). This can be leveraged through the curl_multi_setopt() function with the new CURLMOPT_PUSHFUNCTION constant. The constants CURL_PUSH_OK and CURL_PUSH_DENY have also been added so that the execution of the server push callback can either be approved or denied.

Migrating from PHP 7.0.x to PHP 7.1.x
New functions
Migrating from PHP 7.0.x to PHP 7.1.x


New functions

PHP Core

  • sapi_windows_cp_get()
  • sapi_windows_cp_set()
  • sapi_windows_cp_conv()
  • sapi_windows_cp_is_utf8()

Closure

  • Closure::fromCallable()

CURL

  • curl_multi_errno()
  • curl_share_errno()
  • curl_share_strerror()

Session

  • session_create_id()
  • session_gc()

SPL

  • is_iterable()

PCNTL

  • pcntl_async_signals()
  • pcntl_signal_get_handler()
New features
New global constants
Migrating from PHP 7.0.x to PHP 7.1.x


New global constants

Core Predefined Constants

  • PHP_FD_SETSIZE

CURL

  • CURLMOPT_PUSHFUNCTION
  • CURL_PUSH_OK
  • CURL_PUSH_DENY

Data Filtering

  • FILTER_FLAG_EMAIL_UNICODE

Image Processing and GD

  • IMAGETYPE_WEBP

JSON

  • JSON_UNESCAPED_LINE_TERMINATORS

LDAP

  • LDAP_OPT_X_SASL_NOCANON
  • LDAP_OPT_X_SASL_USERNAME
  • LDAP_OPT_X_TLS_CACERTDIR
  • LDAP_OPT_X_TLS_CACERTFILE
  • LDAP_OPT_X_TLS_CERTFILE
  • LDAP_OPT_X_TLS_CIPHER_SUITE
  • LDAP_OPT_X_TLS_KEYFILE
  • LDAP_OPT_X_TLS_RANDOM_FILE
  • LDAP_OPT_X_TLS_CRLCHECK
  • LDAP_OPT_X_TLS_CRL_NONE
  • LDAP_OPT_X_TLS_CRL_PEER
  • LDAP_OPT_X_TLS_CRL_ALL
  • LDAP_OPT_X_TLS_DHFILE
  • LDAP_OPT_X_TLS_CRLFILE
  • LDAP_OPT_X_TLS_PROTOCOL_MIN
  • LDAP_OPT_X_TLS_PROTOCOL_SSL2
  • LDAP_OPT_X_TLS_PROTOCOL_SSL3
  • LDAP_OPT_X_TLS_PROTOCOL_TLS1_0
  • LDAP_OPT_X_TLS_PROTOCOL_TLS1_1
  • LDAP_OPT_X_TLS_PROTOCOL_TLS1_2
  • LDAP_OPT_X_TLS_PACKAGE
  • LDAP_OPT_X_KEEPALIVE_IDLE
  • LDAP_OPT_X_KEEPALIVE_PROBES
  • LDAP_OPT_X_KEEPALIVE_INTERVAL

PostgreSQL

  • PGSQL_NOTICE_LAST
  • PGSQL_NOTICE_ALL
  • PGSQL_NOTICE_CLEAR

SPL

  • MT_RAND_PHP
New functions
Backward incompatible changes
Migrating from PHP 7.0.x to PHP 7.1.x


Backward incompatible changes

Throw on passing too few function arguments

Previously, a warning would be emitted for invoking user-defined functions with too few arguments. Now, this warning has been promoted to an Error exception. This change only applies to user-defined functions, not internal functions. For example:

<?php
function test($param){}
test();

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Fatal error: Uncaught ArgumentCountError: Too few arguments to function test(), 0 passed in %s on line %d and exactly 1 expected in %s:%d

Forbid dynamic calls to scope introspection functions

Dynamic calls for certain functions have been forbidden (in the form of $func() or array_map('extract', ...), etc). These functions either inspect or modify another scope, and present with them ambiguous and unreliable behavior. The functions are as follows:

  • assert() - with a string as the first argument
  • compact()
  • extract()
  • func_get_args()
  • func_get_arg()
  • func_num_args()
  • get_defined_vars()
  • mb_parse_str() - with one arg
  • parse_str() - with one arg
<?php
(function () {
    $func = 'func_num_args';
    $func();
})();

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Warning: Cannot call func_num_args() dynamically in %s on line %d

Invalid class, interface, and trait names

The following names cannot be used to name classes, interfaces, or traits:

  • void
  • iterable

Numerical string conversions now respect scientific notation

Integer operations and conversions on numerical strings now respect scientific notation. This also includes the (int) cast operation, and the following functions: intval() (where the base is 10), settype(), decbin(), decoct(), and dechex().

Fixes to mt_rand() algorithm

mt_rand() will now default to using the fixed version of the Mersenne Twister algorithm. If deterministic output from mt_srand() was relied upon, then the MT_RAND_PHP with the ability to preserve the old (incorrect) implementation via an additional optional second parameter to mt_srand().

rand() aliased to mt_rand() and srand() aliased to mt_srand()

rand() and srand() have now been made aliases to mt_rand() and mt_srand(), respectively. This means that the output for the following functions have changes: rand(), shuffle(), str_shuffle(), and array_rand().

Disallow the ASCII delete control character in identifiers

The ASCII delete control character (0x7F) can no longer be used in identifiers that are not quoted.

error_log changes with syslog value

If the error_log ini setting is set to syslog, the PHP error levels are mapped to the syslog error levels. This brings finer differentiation in the error logs in contrary to the previous approach where all the errors are logged with the notice level only.

Do not call destructors on incomplete objects

Destructors are now never called for objects that throw an exception during the execution of their constructor. In previous versions this behavior depended on whether the object was referenced outside the construcor (e.g. by an exception backtrace).

call_user_func() handling of reference arguments

call_user_func() will now always generate a warning upon calls to functions that expect references as arguments. Previously this depended on whether the call was fully qualified.

Additionally, call_user_func() and call_user_func_array() will no longer abort the function call in this case. The "expected reference" warning will be emitted, but the call will proceed as usual.

The empty index operator is not supported for strings anymore

Applying the empty index operator to a string (e.g. $str[] = $x) throws a fatal error instead of converting silently to array.

Removed ini directives

The following ini directives have been removed:

  • session.entropy_file
  • session.entropy_length
  • session.hash_function
  • session.hash_bits_per_character

Array ordering when elements are automatically created during by reference assignments has changed

The order of the elements in an array has changed when those elements have been automatically created by referencing them in a by reference assignment. For example:

<?php
$array = [];
$array["a"] =& $array["b"];
$array["b"] = 1;
var_dump($array);
?>

Output of the above example in PHP 7.0:

array(2) {
  ["a"]=>
  &int(1)
  ["b"]=>
  &int(1)
}

Output of the above example in PHP 7.1:

array(2) {
  ["b"]=>
  &int(1)
  ["a"]=>
  &int(1)
}

Sort order of equal elements

The internal sorting algorithm has been improved, what may result in different sort order of elements, which compare as equal, than before.

Hinweis:

Don't rely on the order of elements which compare as equal; it might change anytime.

Error message for E_RECOVERABLE errors

The error message for E_RECOVERABLE errors has been changed from "Catchable fatal error" to "Recoverable fatal error".

$options parameter of unserialize()

The allowed_classes element of the $options parameter of unserialize() is now strictly typed, i.e. if anything other than an array or a boolean is given, unserialize() returns FALSE and issues an E_WARNING.

DateTime constructor incorporates microseconds

DateTime and DateTimeImmutable now properly incorporate microseconds when constructed from the current time, either explicitly or with a relative string (e.g. "first day of next month"). This means that naive comparisons of two newly created instances will now more likely return FALSE instead of TRUE:

<?php
new DateTime() == new DateTime();
?>

Fatal errors to Error exceptions conversions

In the Date extension, invalid serialization data for DateTime or DatePeriod classes, or timezone initialization failure from serialized data, will now throw an Error exception from the __wakeup() or __set_state() methods, instead of resulting in a fatal error.

In the DBA extension, data modification functions (such as dba_insert()) will now throw an Error exception instead of triggering a catchable fatal error if the key does not contain exactly two elements.

In the DOM extension, invalid schema or RelaxNG validation contexts will now throw an Error exception instead of resulting in a fatal error. Similarly, attempting to register a node class that does not extend the appropriate base class, or attempting to read an invalid property or write to a readonly property, will also now throw an Error exception.

In the IMAP extension, email addresses longer than 16385 bytes will throw an Error exception instead of resulting in a fatal error.

In the Intl extension, failing to call the parent constructor in a class extending Collator before invoking the parent methods will now throw an Error instead of resulting in a recoverable fatal error. Also, cloning a Transliterator object will now throw an Error exception on failure to clone the internal transliterator instead of resulting in a fatal error.

In the LDAP extension, providing an unknown modification type to ldap_batch_modify() will now throw an Error exception instead of resulting in a fatal error.

In the mbstring extension, the mb_ereg() and mb_eregi() functions will now throw a ParseError exception if an invalid PHP expression is provided and the 'e' option is used.

In the Mcrypt extension, the mcrypt_encrypt() and mcrypt_decrypt() will now throw an Error exception instead of resulting in a fatal error if mcrypt cannot be initialized.

In the mysqli extension, attempting to read an invalid property or write to a readonly property will now throw an Error exception instead of resulting in a fatal error.

In the Reflection extension, failing to retrieve a reflection object or retrieve an object property will now throw an Error exception instead of resulting in a fatal error.

In the Session extension, custom session handlers that do not return strings for session IDs will now throw an Error exception instead of resulting in a fatal error when a function is called that must generate a session ID.

In the SimpleXML extension, creating an unnamed or duplicate attribute will now throw an Error exception instead of resulting in a fatal error.

In the SPL extension, attempting to clone an SplDirectory object will now throw an Error exception instead of resulting in a fatal error. Similarly, calling ArrayIterator::append() when iterating over an object will also now throw an Error exception.

In the standard extension, the assert() function, when provided with a string argument as its first parameter, will now throw a ParseError exception instead of resulting in a catchable fatal error if the PHP code is invalid. Similarly, calling forward_static_call() outside of a class scope will now throw an Error exception.

In the Tidy extension, creating a tidyNode manually will now throw an Error exception instead of resulting in a fatal error.

In the WDDX extension, a circular reference when serializing will now throw an Error exception instead of resulting in a fatal error.

In the XML-RPC extension, a circular reference when serializing will now throw an instance of Error exception instead of resulting in a fatal error.

In the Zip extension, the ZipArchive::addGlob() method will now throw an Error exception instead of resulting in a fatal error if glob support is not available.

Lexically bound variables cannot reuse names

Variables bound to a closure via the use construct cannot use the same name as any superglobals, $this, or any parameter. For example, all of these function definition will result in a fatal error:

<?php
$f = function () use ($_SERVER) {};
$f = function () use ($this) {};
$f = function ($param) use ($param) {};

JSON encoding and decoding

The serialize_precision ini setting now controls the serialization precision when encoding doubles.

Decoding an empty key now results in an empty property name, rather than _empty_ as a property name.

<?php
var_dump(json_decode(json_encode(['' => 1])));

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

object(stdClass)#1 (1) {
  [""]=>
  int(1)
}

When supplying the JSON_UNESCAPED_UNICODE flag to json_encode(), the sequences U+2028 and U+2029 are now escaped.

Changes to mb_ereg() and mb_eregi() parameter semantics

The third paramter to the mb_ereg() and mb_eregi() functions (regs) will now be set to an empty array if nothing was matched. Formely, the parameter would not have been modified.

Drop support for the sslv2 stream

The sslv2 stream has now been dropped in OpenSSL.

New global constants
Deprecated features in PHP 7.1.x
Migrating from PHP 7.0.x to PHP 7.1.x


Deprecated features in PHP 7.1.x

ext/mcrypt

The mcrypt extension has been abandonware for nearly a decade now, and was also fairly complex to use. It has therefore been deprecated in favour of OpenSSL, where it will be removed from the core and into PECL in PHP 7.2.

Eval option for mb_ereg_replace() and mb_eregi_replace()

The e pattern modifier has been deprecated for the mb_ereg_replace() and mb_eregi_replace() functions.

Backward incompatible changes
Changed functions
Migrating from PHP 7.0.x to PHP 7.1.x


Changed functions

PHP Core

  • getopt() has an optional third parameter that exposes the index of the next element in the argument vector list to be processed. This is done via a by-ref parameter.
  • getenv() no longer requires its parameter. If the parameter is omitted, then the current environment variables will be returned as an associative array.
  • get_headers() now has an additional parameter to enable for the passing of custom stream contexts.
  • long2ip() now also accepts an integer as a parameter.
  • output_reset_rewrite_vars() no longer resets session URL rewrite variables.
  • parse_url() is now more restrictive and supports RFC3986.
  • unpack() now accepts an optional third parameter to specify the offset to begin unpacking from.

File System

  • file_get_contents() now accepts a negative seek offset if the stream is seekable.
  • tempnam() now emits a notice when falling back to the system's temp directory.

JSON

  • json_encode() now accepts a new option, JSON_UNESCAPED_LINE_TERMINATORS, to disable the escaping of U+2028 and U+2029 characters when JSON_UNESCAPED_UNICODE is supplied.

Multibyte String

  • mb_ereg() now rejects illegal byte sequences.
  • mb_ereg_replace() now rejects illegal byte sequences.

PDO

  • PDO::lastInsertId() for PostgreSQL will now trigger an error when nextval has not been called for the current session (the postgres connection).

PostgreSQL

  • pg_last_notice() now accepts an optional parameter to specify an operation. This can be done with one of the following new constants: PGSQL_NOTICE_LAST, PGSQL_NOTICE_ALL, or PGSQL_NOTICE_CLEAR.
  • pg_fetch_all() now accepts an optional second parameter to specify the result type (similar to the third parameter of pg_fetch_array()).
  • pg_select() now accepts an optional fourth parameter to specify the result type (similar to the third parameter of pg_fetch_array()).
Deprecated features in PHP 7.1.x
Other changes
Migrating from PHP 7.0.x to PHP 7.1.x


Other changes

Notices and warnings on arithmetic with invalid strings

New E_WARNING and E_NOTICE errors have been introduced when invalid strings are coerced using operators expecting numbers (+ - * / ** % << >> | & ^) or their assignment equivalents. An E_NOTICE is emitted when the string begins with a numeric value but contains trailing non-numeric characters, and an E_WARNING is emitted when the string does not contain a numeric value.

<?php
'1b' + 'something';

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Notice: A non well formed numeric value encountered in %s on line %d
Warning: A non-numeric value encountered in %s on line %d

Warn on octal escape sequence overflow

Previously, 3-octet octal string escape sequences would overflow silently. Now, they will still overflow, but E_WARNING will be emitted.

<?php
var_dump("\500");

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Warning: Octal escape sequence overflow \500 is greater than \377 in %s on line %d
string(1) "@"

Inconsistency fixes to $this

Whilst $this is considered a special variable in PHP, it lacked proper checks to ensure it wasn't used as a variable name or reassigned. This has now been rectified to ensure that $this cannot be a user-defined variable, reassigned to a different value, or be globalised.

Session ID generation without hashing

Session IDs will no longer be hashed upon generation. With this change brings about the removal of the following four ini settings:

  • session.entropy_file
  • session.entropy_length
  • session.hash_function
  • session.hash_bits_per_character

And the addition of the following two ini settings:

  • session.sid_length - defines the length of the session ID, defaulting to 32 characters for backwards compatibility)
  • session.sid_bits_per_character - defines the number of bits to be stored per character (i.e. increases the range of characters that can be used in the session ID), defaulting to 4 for backwards compatibility

Changes to INI file handling

precision

If the value is set to -1, then the dtoa mode 0 is used. The default value is still 14.

serialize_precision

If the value is set to -1, then the dtoa mode 0 is used. The value -1 is now used by default.

gd.jpeg_ignore_warning

The default of this php.ini setting has been changed to 1, so by default libjpeg warnings are ignored.

Session ID generation with a CSPRNG only

Session IDs will now only be generated with a CSPRNG.

More informative TypeError messages when NULL is allowed

TypeError exceptions for arg_info type checks will now provide more informative error messages. If the parameter type or return type accepts NULL (by either having a default value of NULL or being a nullable type), then the error message will now mention this with a message of "must be ... or null" or "must ... or be null."

Changed functions
Windows Support
Migrating from PHP 7.0.x to PHP 7.1.x


Windows Support

readline

The readline extension is supported through the » WinEditLine library. Thereby, the interactive CLI shell is supported as well (php.exe -a).

Other changes
Migrating from PHP 5.6.x to PHP 7.0.x
Migrating from PHP 7.0.x to PHP 7.1.x


Migrating from PHP 5.6.x to PHP 7.0.x

Inhaltsverzeichnis

  • Backward incompatible changes
  • New features
  • Deprecated features in PHP 7.0.x
  • Changed functions
  • New functions
  • New Classes and Interfaces
  • New Global Constants
  • Changes in SAPI Modules
  • Removed Extensions and SAPIs
  • Other Changes

Despite the fact that PHP 7.0 is a new major version, efforts have been made to make migration as painless as possible. This release focuses mainly on removing functionality deprecated in previous versions and improving language consistency.

There are a few incompatibilities and new features that should be considered, and code should be tested before switching PHP versions in production environments.

Siehe auch die Migrationsleitfäden für PHP-Versionen 5.0.x, 5.1.x, 5.2.x, 5.3.x, 5.4.x, 5.5.x and 5.6.x.

Windows Support
Backward incompatible changes
Appendices


Backward incompatible changes

Changes to error and exception handling

Many fatal and recoverable fatal errors have been converted to exceptions in PHP 7. These error exceptions inherit from the Error class, which itself implements the Throwable interface (the new base interface all exceptions inherit).

This means that custom error handlers may no longer be triggered because exceptions may be thrown instead (causing new fatal errors for uncaught Error exceptions).

A fuller description of how errors operate in PHP 7 can be found on the PHP 7 errors page. This migration guide will merely enumerate the changes that affect backward compatibility.

set_exception_handler() is no longer guaranteed to receive Exception objects

Code that implements an exception handler registered with set_exception_handler() using a type declaration of Exception will cause a fatal error when an Error object is thrown.

If the handler needs to work on both PHP 5 and 7, you should remove the type declaration from the handler, while code that is being migrated to work on PHP 7 exclusively can simply replace the Exception type declaration with Throwable instead.

<?php
// PHP 5 era code that will break.
function handler(Exception $e) { ... }
set_exception_handler('handler');

// PHP 5 and 7 compatible.
function handler($e) { ... }

// PHP 7 only.
function handler(Throwable $e) { ... }
?>

Internal constructors always throw exceptions on failure

Previously, some internal classes would return NULL or an unusable object when the constructor failed. All internal classes will now throw an Exception in this case in the same way that user classes already had to.

Parse errors throw ParseError

Parser errors now throw a ParseError object. Error handling for eval() should now include a catch block that can handle this error.

E_STRICT notices severity changes

All of the E_STRICT notices have been reclassified to other levels. E_STRICT constant is retained, so calls like error_reporting(E_ALL|E_STRICT) will not cause an error.

E_STRICT notices severity changes
Situation | New level/behaviour
Indexing by a resource | E_NOTICE
Abstract static methods | Notice removed, triggers no error
"Redefining" a constructor | Notice removed, triggers no error
Signature mismatch during inheritance | E_WARNING
Same (compatible) property in two used traits | Notice removed, triggers no error
Accessing static property non-statically | E_NOTICE
Only variables should be assigned by reference | E_NOTICE
Only variables should be passed by reference | E_NOTICE
Calling non-static methods statically | E_DEPRECATED

Changes to variable handling

PHP 7 now uses an abstract syntax tree when parsing source files. This has permitted many improvements to the language which were previously impossible due to limitations in the parser used in earlier versions of PHP, but has resulted in the removal of a few special cases for consistency reasons, which has resulted in backward compatibility breaks. These cases are detailed in this section.

Changes to the handling of indirect variables, properties, and methods

Indirect access to variables, properties, and methods will now be evaluated strictly in left-to-right order, as opposed to the previous mix of special cases. The table below shows how the order of evaluation has changed.

Old and new evaluation of indirect expressions
Expression | PHP 5 interpretation | PHP 7 interpretation
$$foo['bar']['baz'] | ${$foo['bar']['baz']} | ($$foo)['bar']['baz']
$foo->$bar['baz'] | $foo->{$bar['baz']} | ($foo->$bar)['baz']
$foo->$bar['baz']() | $foo->{$bar['baz']}() | ($foo->$bar)['baz']()
Foo::$bar['baz']() | Foo::{$bar['baz']}() | (Foo::$bar)['baz']()

Code that used the old right-to-left evaluation order must be rewritten to explicitly use that evaluation order with curly braces (see the above middle column). This will make the code both forwards compatible with PHP 7.x and backwards compatible with PHP 5.x.

Changes to list() handling

list() no longer assigns variables in reverse order

list() will now assign values to variables in the order they are defined, rather than reverse order. In general, this only affects the case where list() is being used in conjunction with the array [] operator, as shown below:

<?php
list($a[], $a[], $a[]) = [1, 2, 3];
var_dump($a);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 5:

array(3) {
  [0]=>
  int(3)
  [1]=>
  int(2)
  [2]=>
  int(1)
}

Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 7:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}

In general, it is recommended not to rely on the order in which list() assignments occur, as this is an implementation detail that may change again in the future.

Empty list() assignments have been removed

list() constructs can no longer be empty. The following are no longer allowed:

<?php
list() = $a;
list(,,) = $a;
list($x, list(), $y) = $a;
?>
list() cannot unpack strings

list() can no longer unpack string variables. str_split() should be used instead.

Array ordering when elements are automatically created during by reference assignments has changed

The order of the elements in an array has changed when those elements have been automatically created by referencing them in a by reference assignment. For example:

<?php
$array = [];
$array["a"] =& $array["b"];
$array["b"] = 1;
var_dump($array);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 5:

array(2) {
  ["b"]=>
  &int(1)
  ["a"]=>
  &int(1)
}

Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 7:

array(2) {
  ["a"]=>
  &int(1)
  ["b"]=>
  &int(1)
}

global only accepts simple variables

Variable variables can no longer be used with the global keyword. The curly brace syntax can be used to emulate the previous behaviour if required:

<?php
function f() {
    // Valid in PHP 5 only.
    global $$foo->bar;

    // Valid in PHP 5 and 7.
    global ${$foo->bar};
}
?>

As a general principle, using anything other than a bare variable with global is discouraged.

Parentheses around function arguments no longer affect behaviour

In PHP 5, using redundant parentheses around a function argument could quiet strict standards warnings when the function argument was passed by reference. The warning will now always be issued.

<?php
function getArray() {
    return [1, 2, 3];
}

function squareArray(array &$a) {
    foreach ($a as &$v) {
        $v **= 2;
    }
}

// Generates a warning in PHP 7.
squareArray((getArray()));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Notice: Only variables should be passed by reference in /tmp/test.php on line 13

Changes to foreach

Minor changes have been made to the behaviour of the foreach control structure, primarily around the handling of the internal array pointer and modification of the array being iterated over.

foreach no longer changes the internal array pointer

Prior to PHP 7, the internal array pointer was modified while an array was being iterated over with foreach. This is no longer the case, as shown in the following example:

<?php
$array = [0, 1, 2];
foreach ($array as &$val) {
    var_dump(current($array));
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 5:

int(1)
int(2)
bool(false)

Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 7:

int(0)
int(0)
int(0)

foreach by-value operates on a copy of the array

When used in the default by-value mode, foreach will now operate on a copy of the array being iterated rather than the array itself. This means that changes to the array made during iteration will not affect the values that are iterated.

foreach by-reference has improved iteration behaviour

When iterating by-reference, foreach will now do a better job of tracking changes to the array made during iteration. For example, appending to an array while iterating will now result in the appended values being iterated over as well:

<?php
$array = [0];
foreach ($array as &$val) {
    var_dump($val);
    $array[1] = 1;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 5:

int(0)

Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 7:

int(0)
int(1)

Iteration of non-Traversable objects

Iterating over a non-Traversable object will now have the same behaviour as iterating over by-reference arrays. This results in the improved behaviour when modifying an array during iteration also being applied when properties are added to or removed from the object.

Changes to integer handling

Invalid octal literals

Previously, octal literals that contained invalid numbers were silently truncated (0128 was taken as 012). Now, an invalid octal literal will cause a parse error.

Negative bitshifts

Bitwise shifts by negative numbers will now throw an ArithmeticError:

<?php
var_dump(1 >> -1);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 5:

int(0)

Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 7:

Fatal error: Uncaught ArithmeticError: Bit shift by negative number in /tmp/test.php:2
Stack trace:
#0 {main}
  thrown in /tmp/test.php on line 2

Out of range bitshifts

Bitwise shifts (in either direction) beyond the bit width of an integer will always result in 0. Previously, the behaviour of such shifts was architecture dependent.

Changes to Division By Zero

Previously, when 0 was used as the divisor for either the divide (/) or modulus (%) operators, an E_WARNING would be emitted and false would be returned. Now, the divide operator returns a float as either +INF, -INF, or NAN, as specified by IEEE 754. The modulus operator E_WARNING has been removed and will throw a DivisionByZeroError exception.

<?php
var_dump(3/0);
var_dump(0/0);
var_dump(0%0);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 5:

Warning: Division by zero in %s on line %d
bool(false)

Warning: Division by zero in %s on line %d
bool(false)

Warning: Division by zero in %s on line %d
bool(false)

Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 7:

Warning: Division by zero in %s on line %d
float(INF)

Warning: Division by zero in %s on line %d
float(NAN)

PHP Fatal error:  Uncaught DivisionByZeroError: Modulo by zero in %s line %d

Changes to string handling

Hexadecimal strings are no longer considered numeric

Strings containing hexadecimal numbers are no longer considered to be numeric. For example:

<?php
var_dump("0x123" == "291");
var_dump(is_numeric("0x123"));
var_dump("0xe" + "0x1");
var_dump(substr("foo", "0x1"));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 5:

bool(true)
bool(true)
int(15)
string(2) "oo"

Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 7:

bool(false)
bool(false)
int(0)

Notice: A non well formed numeric value encountered in /tmp/test.php on line 5
string(3) "foo"

filter_var() can be used to check if a string contains a hexadecimal number, and also to convert a string of that type to an integer:

<?php
$str = "0xffff";
$int = filter_var($str, FILTER_VALIDATE_INT, FILTER_FLAG_ALLOW_HEX);
if (false === $int) {
    throw new Exception("Invalid integer!");
}
var_dump($int); // int(65535)
?>

\u{ may cause errors

Due to the addition of the new Unicode codepoint escape syntax, strings containing a literal \u{ followed by an invalid sequence will cause a fatal error. To avoid this, the leading backslash should be escaped.

Removed functions

call_user_method() and call_user_method_array()

These functions were deprecated in PHP 4.1.0 in favour of call_user_func() and call_user_func_array(). You may also want to consider using variable functions and/or the ... operator.

All ereg* functions

All ereg functions were removed. PCRE is a recommended alternative.

mcrypt aliases

The deprecated mcrypt_generic_end() function has been removed in favour of mcrypt_generic_deinit().

Additionally, the deprecated mcrypt_ecb(), mcrypt_cbc(), mcrypt_cfb() and mcrypt_ofb() functions have been removed in favour of using mcrypt_decrypt() with the appropriate MCRYPT_MODE_* constant.

All ext/mysql functions

All ext/mysql functions were removed. For details about choosing a different MySQL API, see Choosing a MySQL API.

All ext/mssql functions

All ext/mssql functions were removed. For a list of alternatives, see the MSSQL Introduction.

intl aliases

The deprecated datefmt_set_timezone_id() and
IntlDateFormatter::setTimeZoneID() aliases have been
removed in favour of datefmt_set_timezone() and
IntlDateFormatter::setTimeZone(), respectively.

set_magic_quotes_runtime()

set_magic_quotes_runtime(), along with its alias magic_quotes_runtime(), have been removed. They were deprecated in PHP 5.3.0, and became effectively non-functional with the removal of magic quotes in PHP 5.4.0.

set_socket_blocking()

The deprecated set_socket_blocking() alias has been removed in favour of stream_set_blocking().

dl() in PHP-FPM

dl() can no longer be used in PHP-FPM. It remains functional in the CLI and embed SAPIs.

GD Type1 functions

Support for PostScript Type1 fonts has been removed from the GD extension, resulting in the removal of the following functions:

  • imagepsbbox()
  • imagepsencodefont()
  • imagepsextendfont()
  • imagepsfreefont()
  • imagepsloadfont()
  • imagepsslantfont()
  • imagepstext()

Using TrueType fonts and their associated functions is recommended instead.

Removed INI directives

Removed features

The following INI directives have been removed as their associated features have also been removed:

  • always_populate_raw_post_data
  • asp_tags

xsl.security_prefs

The xsl.security_prefs directive has been removed. Instead, the XsltProcessor::setSecurityPrefs() method should be called to control the security preferences on a per-processor basis.

Other backward incompatible changes

New objects cannot be assigned by reference

The result of the new statement can no longer be assigned to a variable by reference:

<?php
class C {}
$c =& new C;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 5:

Deprecated: Assigning the return value of new by reference is deprecated in /tmp/test.php on line 3

Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 7:

Parse error: syntax error, unexpected 'new' (T_NEW) in /tmp/test.php on line 3

Invalid class, interface and trait names

The following names cannot be used to name classes, interfaces or traits:

  • bool
  • int
  • float
  • string
  • NULL
  • TRUE
  • FALSE

Furthermore, the following names should not be used. Although they will not generate an error in PHP 7.0, they are reserved for future use and should be considered deprecated.

  • resource
  • object
  • mixed
  • numeric

ASP and script PHP tags removed

Support for using ASP and script tags to delimit PHP code has been removed. The affected tags are:

Removed ASP and script tags
Opening tag | Closing tag
<% | %>
<%= | %>
<script language="php"> | </script>

Calls from incompatible context removed

Previously deprecated in PHP 5.6, static calls made to a non-static method with an incompatible context will now result in the called method having an undefined $this variable and a deprecation warning being issued.

<?php
class A {
    public function test() { var_dump($this); }
}

// Note: Does NOT extend A
class B {
    public function callNonStaticMethodOfA() { A::test(); }
}

(new B)->callNonStaticMethodOfA();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 5.6:

Deprecated: Non-static method A::test() should not be called statically, assuming $this from incompatible context in /tmp/test.php on line 8
object(B)#1 (0) {
}

Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 7:

Deprecated: Non-static method A::test() should not be called statically in /tmp/test.php on line 8

Notice: Undefined variable: this in /tmp/test.php on line 3
NULL

yield is now a right associative operator

The yield construct no longer requires parentheses, and has been changed to a right associative operator with precedence between print and =>. This can result in changed behaviour:

<?php
echo yield -1;
// Was previously interpreted as
echo (yield) - 1;
// And is now interpreted as
echo yield (-1);

yield $foo or die;
// Was previously interpreted as
yield ($foo or die);
// And is now interpreted as
(yield $foo) or die;
?>

Parentheses can be used to disambiguate those cases.

Functions cannot have multiple parameters with the same name

It is no longer possible to define two or more function parameters with the same name. For example, the following function will trigger an E_COMPILE_ERROR:

<?php
function foo($a, $b, $unused, $unused) {
    //
}
?>

Functions inspecting arguments report the current parameter value

func_get_arg(), func_get_args(), debug_backtrace() and exception backtraces will no longer report the original value that was passed to a parameter, but will instead provide the current value (which might have been modified).

<?php
function foo($x) {
    $x++;
    var_dump(func_get_arg(0));
}
foo(1);?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 5:

1

Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 7:

2

Switch statements cannot have multiple default blocks

It is no longer possible to define two or more default blocks in a switch statement. For example, the following switch statement will trigger an E_COMPILE_ERROR:

<?php
switch (1) {
    default:
    break;
    default:
    break;
}
?>

$HTTP_RAW_POST_DATA removed

$HTTP_RAW_POST_DATA is no longer available. The php://input stream should be used instead.

# comments in INI files removed

Support for prefixing comments with # in INI files has been removed. ; (semi-colon) should be used instead. This change applies to php.ini, as well as files handled by parse_ini_file() and parse_ini_string().

JSON extension replaced with JSOND

The JSON extension has been replaced with JSOND, causing three minor BC breaks. Firstly, a number must not end in a decimal point (i.e. 34. must be changed to either 34.0 or 34). Secondly, when using scientific notation, the e exponent must not immediately follow a decimal point (i.e. 3.e3 must be changed to either 3.0e3 or 3e3). Finally, an empty string is no longer considered valid JSON.

Internal function failure on overflow

Previously, internal functions would silently truncate numbers produced from float-to-integer coercions when the float was too large to represent as an integer. Now, an E_WARNING will be emitted and NULL will be returned.

Fixes to custom session handler return values

Any predicate functions implemented by custom session handlers that return either FALSE or -1 will be fatal errors. If any value from these functions other than a boolean, -1, or 0 is returned, then it will fail and an E_WARNING will be emitted.

Sort order of equal elements

The internal sorting algorithm has been improved, what may result in different sort order of elements, which compare as equal, than before.

Hinweis:

Don't rely on the order of elements which compare as equal; it might change anytime.

Migrating from PHP 5.6.x to PHP 7.0.x
New features
Migrating from PHP 5.6.x to PHP 7.0.x


New features

Scalar type declarations

Scalar type declarations come in two flavours: coercive (default) and strict. The following types for parameters can now be enforced (either coercively or strictly): strings (string), integers (int), floating-point numbers (float), and booleans (bool). They augment the other types introduced in PHP 5: class names, interfaces, array and callable.

<?php
// Coercive mode
function sumOfInts(int ...$ints)
{
    return array_sum($ints);
}

var_dump(sumOfInts(2, '3', 4.1));

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(9)

To enable strict mode, a single declare directive must be placed at the top of the file. This means that the strictness of typing for scalars is configured on a per-file basis. This directive not only affects the type declarations of parameters, but also a function's return type (see return type declarations, built-in PHP functions, and functions from loaded extensions.

Full documentation and examples of scalar type declarations can be found in the type declaration reference.

Return type declarations

PHP 7 adds support for return type declarations. Similarly to argument type declarations, return type declarations specify the type of the value that will be returned from a function. The same types are available for return type declarations as are available for argument type declarations.

<?php

function arraysSum(array ...$arrays): array
{
    return array_map(function(array $array): int {
        return array_sum($array);
    }, $arrays);
}

print_r(arraysSum([1,2,3], [4,5,6], [7,8,9]));

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => 6
    [1] => 15
    [2] => 24
)

Full documentation and examples of return type declarations can be found in the return type declarations. reference.

Null coalescing operator

The null coalescing operator (??) has been added as syntactic sugar for the common case of needing to use a ternary in conjunction with isset(). It returns its first operand if it exists and is not NULL; otherwise it returns its second operand.

<?php
// Fetches the value of $_GET['user'] and returns 'nobody'
// if it does not exist.
$username = $_GET['user'] ?? 'nobody';
// This is equivalent to:
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';

// Coalescing can be chained: this will return the first
// defined value out of $_GET['user'], $_POST['user'], and
// 'nobody'.
$username = $_GET['user'] ?? $_POST['user'] ?? 'nobody';
?>

Spaceship operator

The spaceship operator is used for comparing two expressions. It returns -1, 0 or 1 when $a is respectively less than, equal to, or greater than $b. Comparisons are performed according to PHP's usual type comparison rules.

<?php
// Integers
echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1

// Floats
echo 1.5 <=> 1.5; // 0
echo 1.5 <=> 2.5; // -1
echo 2.5 <=> 1.5; // 1

// Strings
echo "a" <=> "a"; // 0
echo "a" <=> "b"; // -1
echo "b" <=> "a"; // 1
?>

Constant arrays using define()

Array constants can now be defined with define(). In PHP 5.6, they could only be defined with const.

<?php
define('ANIMALS', [
    'dog',
    'cat',
    'bird'
]);

echo ANIMALS[1]; // outputs "cat"
?>

Anonymous classes

Support for anonymous classes has been added via new class. These can be used in place of full class definitions for throwaway objects:

<?php
interface Logger {
    public function log(string $msg);
}

class Application {
    private $logger;

    public function getLogger(): Logger {
         return $this->logger;
    }

    public function setLogger(Logger $logger) {
         $this->logger = $logger;
    }
}

$app = new Application;
$app->setLogger(new class implements Logger {
    public function log(string $msg) {
        echo $msg;
    }
});

var_dump($app->getLogger());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(class@anonymous)#2 (0) {
}

Full documentation can be found in the anonymous class reference.

Unicode codepoint escape syntax

This takes a Unicode codepoint in hexadecimal form, and outputs that codepoint in UTF-8 to a double-quoted string or a heredoc. Any valid codepoint is accepted, with leading 0's being optional.

echo "\u{aa}";
echo "\u{0000aa}";
echo "\u{9999}";

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

ª
ª (same as before but with optional leading 0's)
?

Closure::call()

Closure::call() is a more performant, shorthand way of temporarily binding an object scope to a closure and invoking it.

<?php
class A {private $x = 1;}

// Pre PHP 7 code
$getXCB = function() {return $this->x;};
$getX = $getXCB->bindTo(new A, 'A'); // intermediate closure
echo $getX();

// PHP 7+ code
$getX = function() {return $this->x;};
echo $getX->call(new A);

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1
1

Filtered unserialize()

This feature seeks to provide better security when unserializing objects on untrusted data. It prevents possible code injections by enabling the developer to whitelist classes that can be unserialized.

<?php

// converts all objects into __PHP_Incomplete_Class object
$data = unserialize($foo, ["allowed_classes" => false]);

// converts all objects into __PHP_Incomplete_Class object except those of MyClass and MyClass2
$data = unserialize($foo, ["allowed_classes" => ["MyClass", "MyClass2"]]);

// default behaviour (same as omitting the second argument) that accepts all classes
$data = unserialize($foo, ["allowed_classes" => true]);

IntlChar

The new IntlChar class seeks to expose additional ICU functionality. The class itself defines a number of static methods and constants that can be used to manipulate unicode characters.

<?php

printf('%x', IntlChar::CODEPOINT_MAX);
echo IntlChar::charName('@');
var_dump(IntlChar::ispunct('!'));

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

10ffff
COMMERCIAL AT
bool(true)

In order to use this class, the Intl extension must be installed.

Expectations

Expectations are a backwards compatible enhancement to the older assert() function. They allow for zero-cost assertions in production code, and provide the ability to throw custom exceptions when the assertion fails.

While the old API continues to be maintained for compatibility, assert() is now a language construct, allowing the first parameter to be an expression rather than just a string to be evaluated or a boolean value to be tested.

<?php
ini_set('assert.exception', 1);

class CustomError extends AssertionError {}

assert(false, new CustomError('Some error message'));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Fatal error: Uncaught CustomError: Some error message

Full details on this feature, including how to configure it in both development and production environments, can be found in the expectations section of the assert() reference.

Group use declarations

Classes, functions and constants being imported from the same namespace can now be grouped together in a single use statement.

<?php
// Pre PHP 7 code
use some\namespace\ClassA;
use some\namespace\ClassB;
use some\namespace\ClassC as C;

use function some\namespace\fn_a;
use function some\namespace\fn_b;
use function some\namespace\fn_c;

use const some\namespace\ConstA;
use const some\namespace\ConstB;
use const some\namespace\ConstC;

// PHP 7+ code
use some\namespace\{ClassA, ClassB, ClassC as C};
use function some\namespace\{fn_a, fn_b, fn_c};
use const some\namespace\{ConstA, ConstB, ConstC};
?>

Generator Return Expressions

This feature builds upon the generator functionality introduced into PHP 5.5. It enables for a return statement to be used within a generator to enable for a final expression to be returned (return by reference is not allowed). This value can be fetched using the new Generator::getReturn() method, which may only be used once the generator has finished yielding values.

<?php

$gen = (function() {
    yield 1;
    yield 2;

    return 3;
})();

foreach ($gen as $val) {
    echo $val, PHP_EOL;
}

echo $gen->getReturn(), PHP_EOL;

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1
2
3

Being able to explicitly return a final value from a generator is a handy ability to have. This is because it enables for a final value to be returned by a generator (from perhaps some form of coroutine computation) that can be specifically handled by the client code executing the generator. This is far simpler than forcing the client code to firstly check whether the final value has been yielded, and then if so, to handle that value specifically.

Generator delegation

Generators can now delegate to another generator, Traversable object or array automatically, without needing to write boilerplate in the outermost generator by using the yield from construct.

<?php
function gen()
{
    yield 1;
    yield 2;
    yield from gen2();
}

function gen2()
{
    yield 3;
    yield 4;
}

foreach (gen() as $val)
{
    echo $val, PHP_EOL;
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1
2
3
4

Integer division with intdiv()

The new intdiv() function performs an integer division of its operands and returns it.

<?php
var_dump(intdiv(10, 3));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(3)

Session options

session_start() now accepts an array of options that override the session configuration directives normally set in php.ini.

These options have also been expanded to support session.lazy_write, which is on by default and causes PHP to only overwrite any session file if the session data has changed, and read_and_close, which is an option that can only be passed to session_start() to indicate that the session data should be read and then the session should immediately be closed unchanged.

For example, to set session.cache_limiter to private and immediately close the session after reading it:

<?php
session_start([
    'cache_limiter' => 'private',
    'read_and_close' => true,
]);
?>

preg_replace_callback_array()

The new preg_replace_callback_array() function enables code to be written more cleanly when using the preg_replace_callback() function. Prior to PHP 7, callbacks that needed to be executed per regular expression required the callback function to be polluted with lots of branching.

Now, callbacks can be registered to each regular expression using an associative array, where the key is a regular expression and the value is a callback.

CSPRNG Functions

Two new functions have been added to generate cryptographically secure integers and strings in a cross platform way: random_bytes() and random_int().

list() can always unpack objects implementing ArrayAccess

Previously, list() was not guaranteed to operate correctly with objects implementing ArrayAccess. This has been fixed.

Other Features

  • Class member access on cloning has been added, e.g. (clone $foo)->bar().
Backward incompatible changes
Deprecated features in PHP 7.0.x
Migrating from PHP 5.6.x to PHP 7.0.x


Deprecated features in PHP 7.0.x

PHP 4 style constructors

PHP 4 style constructors (methods that have the same name as the class they are defined in) are deprecated, and will be removed in the future. PHP 7 will emit E_DEPRECATED if a PHP 4 constructor is the only constructor defined within a class. Classes that implement a __construct() method are unaffected.

<?php
class foo {
    function foo() {
        echo 'I am the constructor';
    }
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; foo has a deprecated constructor in example.php on line 3

Static calls to non-static methods

Static calls to methods that are not declared static are deprecated, and may be removed in the future.

<?php
class foo {
    function bar() {
        echo 'I am not static!';
    }
}

foo::bar();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Deprecated: Non-static method foo::bar() should not be called statically in - on line 8
I am not static!

password_hash() salt option

The salt option for the password_hash() function has been deprecated to prevent developers from generating their own (usually insecure) salts. The function itself generates a cryptographically secure salt when no salt is provided by the developer - therefore custom salt generation should not be needed.

capture_session_meta SSL context option

The capture_session_meta SSL context option has been deprecated. SSL metadata is now available through the stream_get_meta_data() function.

LDAP deprecations

The following function has been deprecated:

  • ldap_sort()
New features
Changed functions
Migrating from PHP 5.6.x to PHP 7.0.x


Changed functions

PHP Core

  • debug_zval_dump() now prints "int" instead of "long", and "float" instead of "double"
  • dirname() now optionally takes a second parameter, depth, to get the name of the directory depth levels up from the current directory.
  • getrusage() is now supported on Windows.
  • mktime() and gmmktime() functions no longer accept is_dst parameter.
  • preg_replace() function no longer supports "\e" (PREG_REPLACE_EVAL). preg_replace_callback() should be used instead.
  • setlocale() function no longer accepts category passed as string. LC_* constants must be used instead.
  • exec(), system() and passthru() functions have NULL byte protection now.
  • shmop_open() now returns a resource instead of an int, which has to be passed to shmop_size(), shmop_write(), shmop_read(), shmop_close() and shmop_delete().
  • substr() and iconv_substr() now return an empty string, if string is equal to start characters long.
  • xml_set_object() now requires to manually unset the $parser when finished, to avoid memory leaks.
Deprecated features in PHP 7.0.x
New functions
Migrating from PHP 5.6.x to PHP 7.0.x


New functions

Closure

  • Closure::call()

CSPRNG

  • random_bytes()
  • random_int()

Error Handling and Logging

  • error_clear_last()

Generator

  • Generator::getReturn()

GNU Multiple Precision

  • gmp_random_seed()

Math

  • intdiv()

PCRE

  • preg_replace_callback_array()

PHP Options/Info

  • gc_mem_caches()
  • get_resources()

POSIX

  • posix_setrlimit()

Reflection

  • ReflectionParameter::getType()
  • ReflectionParameter::hasType()
  • ReflectionFunctionAbstract::getReturnType()
  • ReflectionFunctionAbstract::hasReturnType()

Zip

  • ZipArchive::setCompressionIndex()
  • ZipArchive::setCompressionName()

Zlib Compression

  • inflate_add()
  • deflate_add()
  • inflate_init()
  • deflate_init()
Changed functions
New Classes and Interfaces
Migrating from PHP 5.6.x to PHP 7.0.x


New Classes and Interfaces

Intl

  • IntlChar

Reflection

  • ReflectionGenerator
  • ReflectionType

Session Handling

  • SessionUpdateTimestampHandlerInterface

Exception Hierarchy

  • Throwable
  • Error
  • TypeError
  • ParseError
  • AssertionError
  • ArithmeticError
  • DivisionByZeroError
New functions
New Global Constants
Migrating from PHP 5.6.x to PHP 7.0.x


New Global Constants

Core Predefined Constants

  • PHP_INT_MIN

GD

  • IMG_WEBP (as of PHP 7.0.10)

JSON

  • JSON_ERROR_INVALID_PROPERTY_NAME
  • JSON_ERROR_UTF16

LibXML

  • LIBXML_BIGLINES

PCRE

  • PREG_JIT_STACKLIMIT_ERROR

POSIX

  • POSIX_RLIMIT_AS
  • POSIX_RLIMIT_CORE
  • POSIX_RLIMIT_CPU
  • POSIX_RLIMIT_DATA
  • POSIX_RLIMIT_FSIZE
  • POSIX_RLIMIT_LOCKS
  • POSIX_RLIMIT_MEMLOCK
  • POSIX_RLIMIT_MSGQUEUE
  • POSIX_RLIMIT_NICE
  • POSIX_RLIMIT_NOFILE
  • POSIX_RLIMIT_NPROC
  • POSIX_RLIMIT_RSS
  • POSIX_RLIMIT_RTPRIO
  • POSIX_RLIMIT_RTTIME
  • POSIX_RLIMIT_SIGPENDING
  • POSIX_RLIMIT_STACK
  • POSIX_RLIMIT_INFINITY

Zlib

  • ZLIB_ENCODING_RAW
  • ZLIB_ENCODING_DEFLATE
  • ZLIB_ENCODING_GZIP
  • ZLIB_FILTERED
  • ZLIB_HUFFMAN_ONLY
  • ZLIB_FIXED
  • ZLIB_RLE
  • ZLIB_DEFAULT_STRATEGY
  • ZLIB_BLOCK
  • ZLIB_FINISH
  • ZLIB_FULL_FLUSH
  • ZLIB_NO_FLUSH
  • ZLIB_PARTIAL_FLUSH
  • ZLIB_SYNC_FLUSH
New Classes and Interfaces
Changes in SAPI Modules
Migrating from PHP 5.6.x to PHP 7.0.x


Changes in SAPI Modules

FPM

Unqualified listen ports now listen on both IPv4 and IPv6

In PHP 5, a listen directive with only a port number would listen on all interfaces, but only on IPv4. PHP 7 will now accept requests made via both IPv4 and IPv6.

This does not affect directives which include specific IP addresses; these will continue to only listen on that address and protocol.

New Global Constants
Removed Extensions and SAPIs
Migrating from PHP 5.6.x to PHP 7.0.x


Removed Extensions and SAPIs

Removed Extensions

  • ereg
  • mssql
  • mysql
  • sybase_ct

Removed SAPIs

  • aolserver
  • apache
  • apache_hooks
  • apache2filter
  • caudium
  • continuity
  • isapi
  • milter
  • nsapi
  • phttpd
  • pi3web
  • roxen
  • thttpd
  • tux
  • webjames
Changes in SAPI Modules
Other Changes
Migrating from PHP 5.6.x to PHP 7.0.x


Other Changes

Loosening Reserved Word Restrictions

Globally reserved words as property, constant, and method names within classes, interfaces, and traits are now allowed. This reduces the surface of BC breaks when new keywords are introduced and avoids naming restrictions on APIs.

This is particularly useful when creating internal DSLs with fluent interfaces:

<?php
// 'new', 'private', and 'for' were previously unusable
Project::new('Project Name')->private()->for('purpose here')->with('username here');
?>

The only limitation is that the class keyword still cannot be used as a constant name, otherwise it would conflict with the class name resolution syntax (ClassName::class).

Removal of date.timezone Warning

Previously, a warning was emitted if the date.timezone INI setting had not been set prior to using any date- or time-based functions. Now, this warning has been removed (with date.timezone still defaulting to UTC).

Removed Extensions and SAPIs
Migration von PHP 5.5.x auf PHP 5.6.x
Migrating from PHP 5.6.x to PHP 7.0.x


Migration von PHP 5.5.x auf PHP 5.6.x

Inhaltsverzeichnis

  • Nicht abwärtskompatible Änderungen
  • Neue Features
  • Veraltete Features in PHP 5.6.x
  • Geänderte Funktionen
  • Neue Funktionen
  • OpenSSL Änderungen in PHP 5.6.x
  • Andere Änderungen bei Extensions
  • Neue globale Konstanten

Die meisten Verbesserungen in PHP 5.6.x haben keinen Einfluss auf bereits bestehenden Code. Es gibt einige wenige Inkompatibilitäten und neue Features die berücksichtigt werden sollten und Code sollte getestet werden, bevor die PHP-Version in produktive Umgebungen geändert wird.

Siehe auch die Migrationsleitfäden für PHP-Versionen 5.0.x, 5.1.x, 5.2.x, 5.3.x, 5.4.x and 5.5.x.

Other Changes
Nicht abwärtskompatible Änderungen
Appendices


Nicht abwärtskompatible Änderungen

Obwohl der meiste bestehende PHP 5 Code ohne Änderungen funktionieren sollte beachten Sie bitte ein paar Änderungen, die nicht abwärtskompatibel sind:

Array-Schlüssel werden nicht überschrieben, wenn ein Array mittels Array-Literal als Eigenschaft einer Klasse definiert wird

Bisher konnten Elemente von Arrays, welche als Klasseneigenschaften mit expliziten und impliziten Schlüsseln definiert waren, überschrieben werden, wenn ein expliziter Schlüssel gleich mit einem sequenziellen impliziten Schlüssel war.

<?php
class C {
    const ONE = 1;
    public $array = [
        self::ONE => 'foo',
        'bar',
        'quux',
    ];
}

var_dump((new C)->array);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 5.5:

array(2) {
  [0]=>
  string(3) "bar"
  [1]=>
  string(4) "quux"
}

Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 5.6:

array(3) {
  [1]=>
  string(3) "foo"
  [2]=>
  string(3) "bar"
  [3]=>
  string(4) "quux"
}

Strenge von json_decode()

json_decode() weist nun nicht vollständig in Kleinbuchstaben geschriebene Varianten von true, false und null gemäß der JSON-Spezifikation zurück und setzt json_last_error() dem entsprechend. Bisher wurden auch Eingaben die nur aus einem dieser Werte bestanden mit Großbuchstaben akzeptiert.

Diese Änderung hat nur Einfluss auf Fälle in denen ungültiges JSON an json_decode() übergeben wurde. Gültiges JSON ist davon nicht betroffen und wird weiterhin normal verarbeitet.

Stream Wrapper verifizieren nun standardmäßig Zertifikate und Hostnamen bei Verwendung von SSL/TLS

Alle verschlüsselten Clientstreams verifizieren nun standardmäßig den Kommunikationspartner. Standardmäßig wird dafür das Standard-CA-Bundle von OpenSSL zur Verifikation des Peer-Zertifikates herangezogen. In den meisten Fällen sind keine Änderungen notwendig, um mit Servern mit gültigen SSL-Zertifikaten zu kommunizieren, da Distributoren üblicherweise OpenSSL mit vertrauenswürdigen CA-Bundles konfigurieren.

Das Standard-CA-Bundle kann global durch eine Änderung der konfigurationseinstellungen openssl.cafile oder openssl.capath überschrieben werden, oder für einzelne Requests durch die Verwendung der Kontextoptionen cafile oder capath.

Obwohl dies generell nicht empfehlenswert ist, kann die Verifikation der Peer-Zertifikate für einzelne Requests ausgeschaltet werden, indem die Kontextoption verify_peer auf FALSE gesetzt wird. Die Verifikation des Peer-Namen kann durch das Setzen von verify_peer_name auf FALSE ausgeschaltet werden.

GMP-Ressourcen sind nun Objekte

GMP-Ressourcen sind nun Objekte. Die funktionale API der GMP-Erweiterung hat sich nicht geändert und Code sollte ohne Änderungen funktionieren, es sei denn dieser prüft explizit auf eine Ressource mittels is_resource() oder Ähnlichem.

Mcrypt-Funktionen benötigen nun gültige Schlüssel und IVs

mcrypt_encrypt(), mcrypt_decrypt(), mcrypt_cbc(), mcrypt_cfb(), mcrypt_ecb(), mcrypt_generic() und mcrypt_ofb() akzeptieren nicht länger Schlüssel oder IVs mit falscher Länge und Blockschlüssel die IVs benötigen schlagen nun fehl, wenn kein IV übergeben wurde.

Migration von PHP 5.5.x auf PHP 5.6.x
Neue Features
Migration von PHP 5.5.x auf PHP 5.6.x


Neue Features

Ausdrücke für Konstanten

Es ist nun möglich einen skalaren Ausdruck mit numerischen oder String-Literalen und/oder Konstanten in Kontexten zu verwenden, in denen PHP bisher einen statischen Ausdruck erwartete, beispielsweise Deklarationen von Konstanten und Eigenschaften und Standardwerte von Parametern.

<?php
const EINS = 1;
const ZWEI = EINS * 2;

class C {
    const DREI = ZWEI + 1;
    const EIN_DRITTEL = EINS / self::DREI;
    const SATZ = 'Der Wert von DREI ist '.self::DREI;

    public function f($a = EINS + self::DREI) {
        return $a;
    }
}

echo (new C)->f()."\n";
echo C::SATZ;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

4
Der Wert von DREI ist 3

Es ist nun möglich, ein konstantes Array mit dem Schlüsselwort const zu definieren:

<?php
const ARR = ['a', 'b'];

echo ARR[0];
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

a

Variadische Funktionen mit ...

Variadische Funktionen können nun mit dem Operator ... implementiert werden, anstatt func_get_args() zu verwenden.

<?php
function f($req, $opt = null, ...$params) {
    // $params ist ein Array welches die übrigen Parameter enthält.
    printf('$req: %d; $opt: %d; Anzahl Parameter: %d'."\n",
           $req, $opt, count($params));
}

f(1);
f(1, 2);
f(1, 2, 3);
f(1, 2, 3, 4);
f(1, 2, 3, 4, 5);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

$req: 1; $opt: 0; Anzahl Parameter: 0
$req: 1; $opt: 2; Anzahl Parameter: 0
$req: 1; $opt: 2; Anzahl Parameter: 1
$req: 1; $opt: 2; Anzahl Parameter: 2
$req: 1; $opt: 2; Anzahl Parameter: 3

Entpacken von Argumenten mit ...

Arrays und Traversable-Objekte können in eine Liste von Parametern entpackt werden, indem der ... verwendet wird. Dies ist in anderen Sprachen, wie beispielsweise Ruby, auch als Splat-Operator bekannt.

<?php
function add($a, $b, $c) {
    return $a + $b + $c;
}

$operators = [2, 3];
echo add(1, ...$operators);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

6

Potenzieren mit **

Der rechtsassoziative Operator ** zum Potenzieren wurde gemeinsam mit dem abkürzenden Zuweisungsoperator **= hinzugefügt.

<?php
printf("2 ** 3 ==      %d\n", 2 ** 3);
printf("2 ** 3 ** 2 == %d\n", 2 ** 3 ** 2);

$a = 2;
$a **= 3;
printf("a ==           %d\n", $a);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

2 ** 3 ==      8
2 ** 3 ** 2 == 512
a ==           8

use function und use const

Der Operator use wurde um das Importieren von Funktionen und Konstanten zusätzlich zu Klassen erweitert. Dies kann jeweils entsprechend durch die Konstrukte use function oder use const erreicht werden.

<?php
namespace Name\Space {
    const FOO = 42;
    function f() { echo __FUNCTION__."\n"; }
}

namespace {
    use const Name\Space\FOO;
    use function Name\Space\f;

    echo FOO."\n";
    f();
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

42
Name\Space\f

phpdbg

PHP enthält nun einen interaktiven Debugger namens phpdbg, welcher als SAPI-Modul umgesetzt wurde. Weitere Informationen findet man in der » phpdbg-Dokumentation.

Standardzeichencodierung

default_charset wird nun als Standardzeichencodierung für die Funktionen htmlentities(), html_entity_decode() und htmlspecialchars() herangezogen. Falls die (nun veralteten) Einstellungen für die Zeichencodierung von iconv und mbstring gesetzt sind, haben diese Vorrang gegenüber default_charset für die jeweilige Funktion iconv beziehungsweise mbstring.

Die Standardeinstellung hierfür ist UTF-8.

php://input ist wiederverwendbar

php://input kann nun so oft wie nötig geöffnet und ausgelesen werden. Diese Änderung hat auch zu einer erheblichen Reduktion im Speicherverbrauch bei der Verarbeitung von POST-Daten geführt.

Große Dateiuploads

Es werden nun auch Dateien mit einer Größe von mehr als zwei Gigabyte angenommen.

GMP unterstützt Operatorüberladung

GMP-Objekte unterstützen nun Operatorüberladung und das Casten auf skalare Typen. Dies erlaubt besser lesbaren Code bei Verwendung von GMP:

<?php
$a = gmp_init(42);
$b = gmp_init(17);

// Code vor 5.6:
var_dump(gmp_add($a, $b));
var_dump(gmp_add($a, 17));
var_dump(gmp_add(42, $b));

// Neuer Code:
var_dump($a + $b);
var_dump($a + 17);
var_dump(42 + $b);
?>

hash_equals() für Stringvergleiche mit Schutz gegen Rechenzeitangriffe

Die Funktion hash_equals() wurde hinzugefügt, welche zwei Zeichenketten in konstanter Zeit vergleicht. Dies sollte verwendet werden, um Rechenzeitangriffe zu verhindern, beispielsweise wenn crypt()-Passworthashes geprüft werden (unter der Annahme, dass password_hash() und password_verify() nicht verwendet werden können, welche gegen Rechenzeitangriffe nicht anfällig sind).

<?php
$erwartet  = crypt('12345', '$2a$07$benutzeeinenlangenstringalssalt$');
$korrekt   = crypt('12345', '$2a$07$benutzeeinenlangenstringalssalt$');
$inkorrekt = crypt('1234',  '$2a$07$benutzeeinenlangenstringalssalt$');

var_dump(hash_equals($erwartet, $korrekt));
var_dump(hash_equals($erwartet, $inkorrekt));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(false)

__debugInfo()

Die magische Methode __debugInfo() wurde hinzugefügt, welche es Objekten erlaubt die Eigenschaften und Werte zu bestimmen, welche bei Verwendung von var_dump() ausgegeben werden.

<?php
class C {
    private $prop;

    public function __construct($val) {
        $this->prop = $val;
    }

    public function __debugInfo() {
        return [
            'propQuadrat' => $this->prop ** 2,
        ];
    }
}

var_dump(new C(42));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(C)#1 (1) {
  ["propQuadrat"]=>
  int(1764)
}

gost-crypto Hashalgorithmus

Der Hashalgorithmus gost-crypto wurde hinzugefügt. Dieser implementiert die GOST-Hash-Funktion unter Verwendung der CryptoPro S-box Tabellen, wie diese in » RFC 4357, Abschnitt 11.2 spezifiziert sind.

SSL/TLS-Verbesserungen

Eine große Zahl an Verbesserungen an der SSL/TLS-Unterstützung in PHP wurden mit PHP 5.6 vorgenommen. Dies umfasst die standardmäßige Aktivierung von Peer-Verifikation, Unterstützung von Zertifikat-Fingerabdrucksprüfung, Verhinderung von TLS-Renegotiation-Attacken und viele neue SSL Kontextoptionen, welche eine feiner granulare Kontrolle über Protokoll- und Verifikationseinstellungen bei Verwendung von verschlüsselten Streams erlauben.

Diese Änderungen werden im Abschnitt OpenSSL Änderungen in PHP 5.6.x detaillierter beschrieben.

Unterstützung für pgsql async

Die Erweiterung pgsql unterstützt nun asynchrone Verbindungen und Abfragen, womit nicht blockierendes Verhalten bei der Interaktion mit PostgreSQL-Datenbanken ermöglicht wird. Asynchrone Verbindungen können mittels der Konstante PGSQL_CONNECT_ASYNC aufgebaut werden und die neuen Funktionen pg_connect_poll(), pg_socket(), pg_consume_input() und pg_flush() behandeln asynchrone Verbindungen und Abfragen.

Nicht abwärtskompatible Änderungen
Veraltete Features in PHP 5.6.x
Migration von PHP 5.5.x auf PHP 5.6.x


Veraltete Features in PHP 5.6.x

Aufrufe aus inkompatiblem Kontext

Methodenaufrufe aus inkompatiblem Kontext sind nun veraltet und rufen einen Fehler der Stufe E_DEPRECATED hervor anstelle von E_STRICT. Unterstützung für derartige Aufrufe wird in einer zukünftigen Version von PHP entfernt.

Ein Beispiel für einen derartigen Aufruf:

<?php
class A {
    function f() { echo get_class($this); }
}

class B {
    function f() { A::f(); }
}

(new B)->f();
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Deprecated: Non-static method A::f() should not be called statically, assuming $this from incompatible context in - on line 7
B

$HTTP_RAW_POST_DATA und always_populate_raw_post_data

always_populate_raw_post_data ruft nun einen Fehler der Stufe E_DEPRECATED hervor, wenn $HTTP_RAW_POST_DATA befüllt wird. Neuer Code sollte php://input anstelle von $HTTP_RAW_POST_DATA verwenden, welches in einer zukünftigen Version entfernt wird. Es kann bereits jetzt das neue Verhalten (bei dem $HTTP_RAW_POST_DATA nie befüllt und damit kein E_DEPRECATED-Fehler hervorgerufen wird) verwendet werden, wenn always_populate_raw_post_data auf -1 gestellt wird.

Einstellungen zur Zeichencodierung von iconv und mbstring

Die Konfigurationseinstellungen für die Zeichencodierung der Funktionen iconv und mbstring werden nun zugunsten von default_charset als veraltet angesehen. Die veralteten Optionen sind:

  • iconv.input_encoding
  • iconv.output_encoding
  • iconv.internal_encoding
  • mbstring.http_input
  • mbstring.http_output
  • mbstring.internal_encoding
Neue Features
Geänderte Funktionen
Migration von PHP 5.5.x auf PHP 5.6.x


Geänderte Funktionen

PHP Core

  • crypt() ruft nun einen Fehler der Stufe E_NOTICE hervor, wenn der Parameter salt ausgelassen wird.
  • substr_compare() akzeptiert nun auch 0 als Wert für den Parameter length.
  • unserialize() schlägt nun fehl, wenn serialisierte Daten übergeben werden, welche so manipuliert wurden, dass ein Objekt erzeugt werden soll ohne dessen Konstruktor aufzurufen.

cURL

  • Uploads mittels der @file-Syntax werden nun nur noch unterstützt, wenn die Option CURLOPT_SAFE_UPLOAD auf FALSE gestellt wird. Es sollte stattdessen CURLFile verwendet werden.

Mcrypt

  • Der Parameter source von mcrypt_create_iv() hat nun einen Standardwert von MCRYPT_DEV_URANDOM anstelle von MCRYPT_DEV_RANDOM.

OpenSSL

  • Der Parameter crypto_type von stream_socket_enable_crypto() kann nun optional sein, wenn der SSL-Kontext des Streams die neue Option crypto_type enthält.

PostgreSQL

  • pg_insert(), pg_select(), pg_update() und pg_delete() sind nicht länger experimentell.
  • pg_send_execute(), pg_send_prepare(), pg_send_query() und pg_send_query_params() blockieren nicht mehr bis die Schreiboperation der Abfrage abgeschlossen ist, wenn der zugrunde liegende Socket-Stream der Datenbankverbindung auf einen nicht blockierenden Modus eingestellt ist.

Reflection

  • ReflectionClass::newInstanceWithoutConstructor() erlaubt nun die Instanziierung von Klassen, die nicht final und internal sind.

XMLReader

  • XMLReader::getAttributeNs() und
XMLReader::getAttributeNo() geben nun,
ähnlich wie XMLReader::getAttribute()
NULL zurück, wenn das Attribut nicht gefunden wurde.
Veraltete Features in PHP 5.6.x
Neue Funktionen
Migration von PHP 5.5.x auf PHP 5.6.x


Neue Funktionen

GMP

  • gmp_root()
  • gmp_rootrem()

Hash

  • hash_equals()

LDAP

  • ldap_escape()
  • ldap_modify_batch()

MySQLi

  • mysqli_get_links_stats()

OCI8

  • oci_get_implicit_resultset()

OpenSSL

  • openssl_get_cert_locations()
  • openssl_x509_fingerprint()
  • openssl_spki_new()
  • openssl_spki_verify()
  • openssl_spki_export_challenge()
  • openssl_spki_export()

PostgreSQL

  • pg_connect_poll()
  • pg_consume_input()
  • pg_flush()
  • pg_socket()

PDO_PGSQL

  • PDO::pgsqlGetNotify()
  • PDO::pgsqlGetPid()

Session

  • session_abort()
  • session_reset()

Zip

  • ZipArchive::setPassword()
Geänderte Funktionen
OpenSSL Änderungen in PHP 5.6.x
Migration von PHP 5.5.x auf PHP 5.6.x


OpenSSL Änderungen in PHP 5.6.x

Streamwrapper verifizieren nun standardmäßig Zertifikate und Hostnamen bei Verwendung von SSL/TLS

Alle verschlüsselten Clientstreams verifizieren nun standardmäßig den Kommunikationspartner. Standardmäßig wird dafür das Standard-CA-Bundle von OpenSSL zur Verifikation des Peer-Zertifikates herangezogen. In den meisten Fällen sind keine Änderungen notwendig, um mit Servern mit gültigen SSL-Zertifikaten zu kommunizieren, da Distributoren üblicherweise OpenSSL mit vertrauenswürdigen CA-Bundles konfigurieren.

Das Standard-CA-Bundle kann global durch eine Änderung der konfigurationseinstellungen openssl.cafile oder openssl.capath überschrieben werden, oder für einzelne Requests durch die Verwendung der Kontextoptionen cafile oder capath.

Obwohl dies generell nicht empfehlenswert ist, kann die Verifikation der Peer-Zertifikate für einzelne Requests ausgeschaltet werden, indem die Kontextoption verify_peer auf FALSE gesetzt wird. Die Verifikation des Peer-Namen kann durch das Setzen von verify_peer_name auf FALSE ausgeschaltet werden.

Fingerabdrücke von Zertifikaten

Es wurde Unterstützung für das Auslesen und Verifizieren von Fingerabdrücken von Zertifikaten hinzugefügt. openssl_x509_fingerprint() kam hinzu, um den Fingerabdruck aus X.509-Zertifikaten auszulesen und zwei neue SSL Streamkontext-Optionen wurden hinzugefügt: capture_peer_cert zum Auslesen des X.509- Zertifikats des Kommunikationspartners und peer_fingerprint zur Durchsetzung, dass das Zertifikat des Kommunikationspartners dem angegebenen Fingerabdruck entsprechen muss.

Aktualisierung der Standardchiffre

Die von PHP verwendeten Standardchiffre wurden auf eine sicherere Liste aktualisiert, basierend auf den » Mozilla Chiffreempfehlungen, mit zwei zusätzlichen Ausnahmen: anonyme Diffie-Hellman Chiffre und RC4.

Auf diese Liste kann mit der neuen Konstanten OPENSSL_DEFAULT_STREAM_CIPHERS zugegriffen und (wie in früheren PHP-Versionen) durch das Setzen der Kontextoption ciphers überschrieben werden.

Komprimierung standardmäßig deaktiviert

Komprimierung von SSL/TLS wurde standardmäßig deaktiviert, um die CRIME-Attacke zu umgehen. PHP 5.4.13 fügte die Kontextoption disable_compression hinzu, um die Komprimierung zu deaktivieren. Dies ist nun standardmäßig auf TRUE (d.h. Komprimierung deaktiviert) gesetzt.

Servern ist erlaubt die Reihenfolge bevorzugter Chiffre festzulegen

Die SSL Kontextoption honor_cipher_order wurde hinzugefügt, um Servern von verschlüsselten Streams die Umgehung der BEAST-Schwachstelle zu ermöglichen, indem die Chiffre des Servers gegenüber denen des Clients bevorzugt werden.

Zugriff auf ausgehandeltes Protokoll und Chiffre

Auf das Protokoll und den Chiffre, die für einen verschlüsselten Stream ausgehandelt wurden, kann nun mittels stream_get_meta_data() oder stream_context_get_options() zugegriffen werden, wenn die SSL-Kontextoption capture_session_meta auf TRUE gesetzt ist.

<?php
$ctx = stream_context_create(['ssl' => [
    'capture_session_meta' => TRUE
]]);

$html = file_get_contents('https://google.com/', FALSE, $ctx);
$meta = stream_context_get_options($ctx)['ssl']['session_meta'];
var_dump($meta);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(4) {
  ["protocol"]=>
  string(5) "TLSv1"
  ["cipher_name"]=>
  string(20) "ECDHE-RSA-AES128-SHA"
  ["cipher_bits"]=>
  int(128)
  ["cipher_version"]=>
  string(11) "TLSv1/SSLv3"
}

Neue Optionen für Perfect Forward Secrecy bei Servern für verschlüsselte Streams

Verschlüsselte Clientstreams unterstützen Perfect Forward Secrecy bereits, da dies üblicherweise vom Server kontrolliert wird. Es muss nichts zusätzlich unternommen werden, um PFS bei verschlüsselten PHP-Server-Streams zu aktivieren, die Zertifikate verwenden welche Perfect Forward Secrecy unterstützen. Es wurden jedoch einige neue SSL-Kontextoptionen hinzugefügt, welche mehr Kontrolle über PFS erlauben und eventuell auftretende Kompatibilitätsprobleme behandeln.

ecdh_curve

Diese Option erlaubt die Auswahl einer spezifischen Kurve für ECDH-Chiffre. Falls nicht angegeben wird prime256v1 verwendet.

dh_param

Pfad zu einer Datei welche Parameter für den Diffie-Hellman-Schlüsselaustausch enthalt, wie diese beispielsweise durch folgenden Befehl erzeugt würde:

openssl dhparam -out /pfad/zu/meinen/zertifikaten/dh-2048.pem 2048
single_dh_use

Ist dies auf TRUE gesetzt, wird ein neues Schlüsselpaar erzeugt, wenn Diffie-Hellman-Parameter verwendet werden, wodurch sich die Forward Secrecy verbessert.

single_ecdh_use

Ist dies auf TRUE gesetzt, wird immer ein neues Schlüsselpaar erzeugt, wenn ein ECDH-Chiffre ausgehandelt wird. Dies verbessert die Forward Secrecy.

SSL/TLS Versionsauswahl

Es ist nun möglich die spezifischen Versionen von SSL oder TLS mittels der SSL-Kontextoption crypto_method oder durch die Angabe eines spezifischen Transportes bei der Erzeugung des Streamwrappers auszuwählen (beispielsweise indem stream_socket_client() oder stream_socket_server() aufgerufen wird).

Die SSL-Kontextoption crypto_method enthält eine Bitmaske in der die erlaubten Protokolle aufgezählt sind. Der Parameter crypto_type von stream_socket_enable_crypto() verhält sich genauso.

Ausgewählte Protokollversionen und zugehörige Optionen
Protokoll(e) | Client-Flag | Server-Flag | Transport
Beliebige Version von TLS oder SSL | STREAM_CRYPTO_METHOD_ANY_CLIENT | STREAM_CRYPTO_METHOD_ANY_SERVER | ssl://
Beliebige TLS-Version | STREAM_CRYPTO_METHOD_TLS_CLIENT | STREAM_CRYPTO_METHOD_TLS_SERVER | tls://
TLS 1.0 | STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT | STREAM_CRYPTO_METHOD_TLSv1_0_SERVER | tlsv1.0://
TLS 1.1 | STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT | STREAM_CRYPTO_METHOD_TLSv1_1_SERVER | tlsv1.1://
TLS 1.2 | STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT | STREAM_CRYPTO_METHOD_TLSv1_2_SERVER | tlsv1.2://
SSL 3 | STREAM_CRYPTO_METHOD_SSLv3_CLIENT | STREAM_CRYPTO_METHOD_SSLv3_SERVER | sslv3://
<?php

// Voraussetzen von TLS 1.0 oder neuer bei Verwendung von
// file_get_contents():
$ctx = stream_context_create([
    'ssl' => [
        'crypto_method' => STREAM_CRYPTO_METHOD_TLS_CLIENT,
    ],
]);
$html = file_get_contents('https://google.com/', false, $ctx);

// TLS 1.1 oder 1.2 voraussetzen:
$ctx = stream_context_create([
    'ssl' => [
        'crypto_method' => STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT |
                           STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT,
    ],
]);
$html = file_get_contents('https://google.com/', false, $ctx);

// Verbindung mittels tlsv1.2:// Stream-Socket-Transport.
$sock = stream_socket_client('tlsv1.2://google.com:443/');

?>

openssl_get_cert_locations() hinzugefügt

Die Funktion openssl_get_cert_locations() wurde hinzugefügt: Sie gibt den Standard-Ablageort aus, der von PHP bei der Suche von CA-Bundles verwendet wird.

<?php
var_dump(openssl_get_cert_locations());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(8) {
  ["default_cert_file"]=>
  string(21) "/etc/pki/tls/cert.pem"
  ["default_cert_file_env"]=>
  string(13) "SSL_CERT_FILE"
  ["default_cert_dir"]=>
  string(18) "/etc/pki/tls/certs"
  ["default_cert_dir_env"]=>
  string(12) "SSL_CERT_DIR"
  ["default_private_dir"]=>
  string(20) "/etc/pki/tls/private"
  ["default_default_cert_area"]=>
  string(12) "/etc/pki/tls"
  ["ini_cafile"]=>
  string(0) ""
  ["ini_capath"]=>
  string(0) ""
}

SPKI-Unterstützung

Unterstützung für die Erzeugung, das Auslesen uns Verifizieren von Signed Public Key And Challenges wurde (SPKAC) wurde hinzugefügt. Die Funktionen openssl_spki_new(), openssl_spki_verify(), openssl_spki_export_challenge() und openssl_spki_export() wurden hinzugefügt, welche die durch ein KeyGen HTML5-Element erzeugten SPKACs erzeugen, verifizieren oder den PEM Public Key und zugehörige Challenge exportieren.

openssl_spki_new

Erzeugt eine neue SPKAC mit einem privaten Schlüssel, Challenge-String und Hashalgorithmus.

<?php
$pkey = openssl_pkey_new();
openssl_pkey_export($pkey, 'secret passphrase');

$spkac = openssl_spki_new($pkey, 'challenge string');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

SPKAC=MIIBXjCByDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA3L0IfUijj7+A8CPC8EmhcdNoe5fUAog7OrBdhn7EkxFButUp40P7+LiYiygYG1TmoI/a5EgsLU3s9twEz3hmgY9mYIqb/rb+SF8qlD/K6KVyUORC7Wlz1Df4L8O3DuRGzx6/+3jIW6cPBpfgH1sVuYS1vDBsP/gMMIxwTsKJ4P0CAwEAARYkYjViMzYxMTktNjY5YS00ZDljLWEyYzctMGZjNGFhMjVlMmE2MA0GCSqGSIb3DQEBAwUAA4GBAF7hu0ifzmjonhAak2FhhBRsKFDzXdKIkrWxVNe8e0bZzMrWOxFM/rqBgeH3/gtOUDRS5Fnzyq425UsTYbjfiKzxGeCYCQJb1KJ2V5Ij/mIJHZr53WYEXHQTNMGR8RPm7IxwVXVSHIgAfXsXZ9IXNbFbcaLRiSTr9/N4U+MXUWL7
openssl_spki_verify

Verifiziert eine angegebene SPKAC.

<?php
$pkey = openssl_pkey_new();
openssl_pkey_export($pkey, 'secret passphrase');

$spkac = openssl_spki_new($pkey, 'challenge string');
var_dump(openssl_spki_verify($spkac));
?>
openssl_spki_export_challenge

Exportiert eine zugehörige Challenge einer angegebenen SPKAC.

<?php
$pkey = openssl_pkey_new();
openssl_pkey_export($pkey, 'secret passphrase');

$spkac = openssl_spki_new($pkey, 'challenge string');
$challenge = openssl_spki_export_challenge($spkac):
echo $challenge;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

challenge string
openssl_spki_export

Exportiert den öffentlichen RSA-Schlüssel einer SPKAC in PEM-Format.

<?php
$pkey = openssl_pkey_new();
openssl_pkey_export($pkey, 'secret passphrase');

$spkac = openssl_spki_new($pkey, 'challenge string');
echo openssl_spki_export($spkac);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDcvQh9SKOPv4DwI8LwSaFx02h7
l9QCiDs6sF2GfsSTEUG61SnjQ/v4uJiLKBgbVOagj9rkSCwtTez23ATPeGaBj2Zg
ipv+tv5IXyqUP8ropXJQ5ELtbXPUN/gvw7cO5EbPHr/7eMhbpw8Gl+AfWxW5hLW8
MGw/+AwwjHBOwong/QIDAQAB
-----END PUBLIC KEY-----
Neue Funktionen
Andere Änderungen bei Extensions
Migration von PHP 5.5.x auf PHP 5.6.x


Andere Änderungen bei Extensions

cURL

Eine Reihe von als veraltet angesehenen Konstanten in der cURL-Bibliothek wurden nun entfernt:

  • CURLOPT_CLOSEPOLICY
  • CURLCLOSEPOLICY_CALLBACK
  • CURLCLOSEPOLICY_LEAST_RECENTLY_USED
  • CURLCLOSEPOLICY_LEAST_TRAFFIC
  • CURLCLOSEPOLICY_OLDEST
  • CURLCLOSEPOLICY_SLOWEST

OCI8

  • Unterstützung von impliziten Resultsets für Oracle Database 12c wurde durch die neue Funktion oci_get_implicit_resultset() hinzugefügt.
  • Die Verwendung von oci_execute($s, OCI_NO_AUTO_COMMIT) für ein SELECT ruft nicht mehr unnötigerweise ein internes ROLLBACK beim Schließen der Verbindung hervor.
  • DTrace-Probes wurden hinzugefügt, konfiguriert durch die Configure-Option --enable-dtrace.
  • oci_internal_debug() tut nichts mehr.
  • Das Ausgabeformat von phpinfo() im Bezug auf OCI8 hat sich geändert.

Zip

Eine Configure-Option --with-libzip wurde aufgenommen, welche die Verwendung einer vom System bereitgestellten libzip-Installation ermöglicht. Die libzip-Version 0.11 ist notwendig, 0.11.2 oder neuer werden empfohlen.

OpenSSL Änderungen in PHP 5.6.x
Neue globale Konstanten
Migration von PHP 5.5.x auf PHP 5.6.x


Neue globale Konstanten

LDAP

  • LDAP_ESCAPE_DN
  • LDAP_ESCAPE_FILTER

OpenSSL

  • OPENSSL_DEFAULT_STREAM_CIPHERS
  • STREAM_CRYPTO_METHOD_ANY_CLIENT
  • STREAM_CRYPTO_METHOD_ANY_SERVER
  • STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT
  • STREAM_CRYPTO_METHOD_TLSv1_0_SERVER
  • STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT
  • STREAM_CRYPTO_METHOD_TLSv1_1_SERVER
  • STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT
  • STREAM_CRYPTO_METHOD_TLSv1_2_SERVER

PostgreSQL

  • PGSQL_CONNECT_ASYNC
  • PGSQL_CONNECTION_AUTH_OK
  • PGSQL_CONNECTION_AWAITING_RESPONSE
  • PGSQL_CONNECTION_MADE
  • PGSQL_CONNECTION_SETENV
  • PGSQL_CONNECTION_SSL_STARTUP
  • PGSQL_CONNECTION_STARTED
  • PGSQL_DML_ESCAPE
  • PGSQL_POLLING_ACTIVE
  • PGSQL_POLLING_FAILED
  • PGSQL_POLLING_OK
  • PGSQL_POLLING_READING
  • PGSQL_POLLING_WRITING
Andere Änderungen bei Extensions
Migrating from PHP 5.4.x to PHP 5.5.x
Migration von PHP 5.5.x auf PHP 5.6.x


Migrating from PHP 5.4.x to PHP 5.5.x

Inhaltsverzeichnis

  • What has changed in PHP 5.5.x
  • Backward Incompatible Changes
  • New features
  • Deprecated features in PHP 5.5.x
  • Changed Functions
  • New Functions
  • New Classes and Interfaces
  • New Methods
  • Other changes to extensions
  • New Global Constants
  • Changes to INI file handling
  • Changes to PHP Internals

Siehe auch die Migrationsleitfäden für PHP-Versionen 5.0.x, 5.1.x, 5.2.x, 5.3.x, 5.4.x, 5.6.x, and 7.0.x.

Neue globale Konstanten
What has changed in PHP 5.5.x
Appendices


What has changed in PHP 5.5.x

Most improvements in PHP 5.5.x have no impact on existing code. There are a few incompatibilities and new features that should be considered, and code should be tested before switching PHP versions in production environments.

For systems being upgraded from an older version of PHP, the relevant documentation is available at:

  • Upgrade Notes for PHP 5.4.x.
  • Upgrade Notes for PHP 5.3.x.
  • Upgrade Notes for PHP 5.2.x.
  • Upgrade Notes for PHP 5.1.x.
  • Migrating from PHP 4 to PHP 5.
Migrating from PHP 5.4.x to PHP 5.5.x
Backward Incompatible Changes
Migrating from PHP 5.4.x to PHP 5.5.x


Backward Incompatible Changes

Although most existing PHP 5 code should work without changes, please take note of some backward incompatible changes:

Windows XP and 2003 support dropped

Support for Windows XP and 2003 has been dropped. Windows builds of PHP now require Windows Vista or newer.

Case insensitivity no longer locale specific

All case insensitive matching for function, class and constant names is now performed in a locale independent manner according to ASCII rules. This improves support for languages using the Latin alphabet with unusual collating rules, such as Turkish and Azeri.

This may cause issues for code that uses case insensitive matches for non-ASCII characters in multibyte character sets (including UTF-8), such as accented characters in many European languages. If you have a non-English, non-ASCII code base, then you will need to test that you are not inadvertently relying on this behaviour before deploying PHP 5.5 to production systems.

pack() and unpack() changes

Changes were made to pack() and unpack() to make them more compatible with Perl:

  • pack() now supports the "Z" format code, which behaves identically to "a".
  • unpack() now support the "Z" format code for NULL padded strings, and behaves as "a" did in previous versions: it will strip trailing NULL bytes.
  • unpack() now keeps trailing NULL bytes when the "a" format code is used.
  • unpack() now strips all trailing ASCII whitespace when the "A" format code is used.

Writing backward compatible code that uses the "a" format code with unpack() requires the use of version_compare(), due to the backward compatibility break.

For example:

<?php
// Old code:
$data = unpack('a5', $packed);

// New code:
if (version_compare(PHP_VERSION, '5.5.0-dev', '>=')) {
  $data = unpack('Z5', $packed);
} else {
  $data = unpack('a5', $packed);
}
?>

self, parent and static are now always case insensitive

Prior to PHP 5.5, cases existed where the self, parent, and static keywords were treated in a case sensitive fashion. These have now been resolved, and these keywords are always handled case insensitively: SELF::CONSTANT is now treated identically to self::CONSTANT.

PHP logo GUIDs removed

The GUIDs that previously resulted in PHP outputting various logos have been removed. This includes the removal of the functions to return those GUIDs. The removed functions are:

  • php_logo_guid()
  • php_egg_logo_guid()
  • php_real_logo_guid()
  • zend_logo_guid()

Internal execution changes

Extension authors should note that the zend_execute() function can no longer be overridden, and that numerous changes have been made to the execute_data struct and related function and method handling opcodes.

Most extension authors are unlikely to be affected, but those writing extensions that hook deeply into the Zend Engine should read the notes on these changes.

What has changed in PHP 5.5.x
New features
Migrating from PHP 5.4.x to PHP 5.5.x


New features

Generators added

Support for generators has been added via the yield keyword. Generators provide an easy way to implement simple iterators without the overhead or complexity of implementing a class that implements the Iterator interface.

A simple example that reimplements the range() function as a generator (at least for positive step values):

<?php
function xrange($start, $limit, $step = 1) {
    for ($i = $start; $i <= $limit; $i += $step) {
        yield $i;
    }
}

echo 'Single digit odd numbers: ';

/*
 * Note that an array is never created or returned,
 * which saves memory.
 */
foreach (xrange(1, 9, 2) as $number) {
    echo "$number ";
}

echo "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Single digit odd numbers: 1 3 5 7 9

finally keyword added

try-catch blocks now support a finally block for code that should be run regardless of whether an exception has been thrown or not.

New password hashing API

A new password hashing API that makes it easier to securely hash and manage passwords using the same underlying library as crypt() in PHP has been added. See the documentation for password_hash() for more detail.

foreach now supports list()

The foreach control structure now supports unpacking nested arrays into separate variables via the list() construct. For example:

<?php
$array = [
    [1, 2],
    [3, 4],
];

foreach ($array as list($a, $b)) {
    echo "A: $a; B: $b\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

A: 1; B: 2
A: 3; B: 4

Further documentation is available on the foreach manual page.

empty() supports arbitrary expressions

Passing an arbitrary expression instead of a variable to empty() is now supported. For example:

<?php
function always_false() {
    return false;
}

if (empty(always_false())) {
    echo "This will be printed.\n";
}

if (empty(true)) {
    echo "This will not be printed.\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

This will be printed.

array and string literal dereferencing

Array and string literals can now be dereferenced directly to access individual elements and characters:

<?php
echo 'Array dereferencing: ';
echo [1, 2, 3][0];
echo "\n";

echo 'String dereferencing: ';
echo 'PHP'[0];
echo "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array dereferencing: 1
String dereferencing: P

Class name resolution via ::class

It is possible to use ClassName::class to get a fully qualified name of class ClassName. For example:

<?php
namespace Name\Space;
class ClassName {}

echo ClassName::class;

echo "\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Name\Space\ClassName

OPcache extension added

The Zend Optimiser+ opcode cache has been added to PHP as the new OPcache extension. OPcache improves PHP performance by storing precompiled script bytecode in shared memory, thereby removing the need for PHP to load and parse scripts on each request. See the installation instructions for more detail on enabling and using OPcache.

foreach now supports non-scalar keys

foreach now supports keys of any type. While non-scalar keys cannot occur in native PHP arrays, it is possible for Iterator::key() to return a value of any type, and this will now be handled correctly.

Apache 2.4 handler supported on Windows

The Apache 2.4 handler SAPI is now supported on Windows.

Improvements to GD

Various improvements have been made to the GD extension, these include:

  • Flipping support using the new imageflip() function.
  • Advanced cropping support using the imagecrop() & imagecropauto() functions.
  • WebP read and write support using imagecreatefromwebp() & imagewebp() respectively.
Backward Incompatible Changes
Deprecated features in PHP 5.5.x
Migrating from PHP 5.4.x to PHP 5.5.x


Deprecated features in PHP 5.5.x

ext/mysql deprecation

The original MySQL extension is now deprecated, and will generate E_DEPRECATED errors when connecting to a database. Instead, use the MySQLi or PDO_MySQL extensions.

preg_replace() /e modifier

The preg_replace() /e modifier is now deprecated. Instead, use the preg_replace_callback() function.

intl deprecations

IntlDateFormatter::setTimeZoneID() and
datefmt_set_timezone_id() are now deprecated. Instead,
use the IntlDateFormatter::setTimeZone() method and
datefmt_set_timezone() function, respectively.

mcrypt deprecations

The following functions have been deprecated:

  • mcrypt_cbc()
  • mcrypt_cfb()
  • mcrypt_ecb()
  • mcrypt_ofb()
New features
Changed Functions
Migrating from PHP 5.4.x to PHP 5.5.x


Changed Functions

PHP Core

  • set_error_handler() can now be called with NULL as an argument to reset the error handler.
  • When called with NULL, set_error_handler() and set_exception_handler() now return the previous error or exception handler, respectively.
  • json_encode() now accepts depth parameter.
  • The behaviour of pack() and unpack() with the "a" and "A" format codes has changed. Detailed notes on these changes are available.

intl

  • MessageFormatter::format() and related functions now accept named arguments and mixed numeric and named arguments when PHP is linked to ICU 4.8 or later.
  • MessageFormatter::format() and related functions no longer error when an insufficient number of arguments have been provided. Instead, the placeholders will not be substituted.
  • MessageFormatter::format() and MessageFormatter::parse() are no longer limited to second precision when dealing with times.
  • IntlDateFormatter::__construct() and datefmt_create() now accept IntlTimeZone and DateTimeZone objects for the timezone argument, and IntlCalendar objects for the calendar argument. Furthermore, if the time zone is omitted and the calendar doesn't specify a time zone, PHP's default time zone from date_default_timezone_get() is now used instead of the default ICU time zone.
  • IntlDateFormatter::getCalendar() and datefmt_get_calendar() return false if the IntlDateFormatter object was created with an IntlCalendar instance instead of one of the IntlDateFormatter constants.
  • IntlDateFormatter::setCalendar() and datefmt_set_calendar() now accept IntlCalendar objects in addition to the IntlDateFormatter constants.
  • IntlDateFormatter::format() and datefmt_format() now accept IntlCalendar objects.
Deprecated features in PHP 5.5.x
New Functions
Migrating from PHP 5.4.x to PHP 5.5.x


New Functions

PHP Core

  • array_column()
  • boolval()
  • json_last_error_msg()
  • password_get_info()
  • password_hash()
  • password_needs_rehash()
  • password_verify()

Hash

  • hash_pbkdf2()

OpenSSL

  • openssl_pbkdf2()

cURL

  • curl_escape()
  • curl_file_create()
  • curl_multi_setopt()
  • curl_multi_strerror()
  • curl_pause()
  • curl_reset()
  • curl_share_close()
  • curl_share_init()
  • curl_share_setopt()
  • curl_strerror()
  • curl_unescape()

GD

  • imageaffinematrixconcat()
  • imageaffinematrixget()
  • imagecrop()
  • imagecropauto()
  • imageflip()
  • imagepalettetotruecolor()
  • imagescale()

MySQLi

  • mysqli_begin_transaction()
  • mysqli_release_savepoint()
  • mysqli_savepoint()

PostgreSQL

  • pg_escape_literal()
  • pg_escape_identifier()

Sockets

  • socket_sendmsg()
  • socket_recvmsg()
  • socket_cmsg_space()

CLI

  • cli_get_process_title()
  • cli_set_process_title()

Intl

  • datefmt_format_object()
  • datefmt_get_calendar_object()
  • datefmt_get_timezone()
  • datefmt_set_timezone()
  • datefmt_get_calendar_object()
  • intlcal_create_instance()
  • intlcal_get_keyword_values_for_locale()
  • intlcal_get_now()
  • intlcal_get_available_locales()
  • intlcal_get()
  • intlcal_get_time()
  • intlcal_set_time()
  • intlcal_add()
  • intlcal_set_time_zone()
  • intlcal_after()
  • intlcal_before()
  • intlcal_set()
  • intlcal_roll()
  • intlcal_clear()
  • intlcal_field_difference()
  • intlcal_get_actual_maximum()
  • intlcal_get_actual_minimum()
  • intlcal_get_day_of_week_type()
  • intlcal_get_first_day_of_week()
  • intlcal_get_greatest_minimum()
  • intlcal_get_least_maximum()
  • intlcal_get_locale()
  • intlcal_get_maximum()
  • intlcal_get_minimal_days_in_first_week()
  • intlcal_get_minimum()
  • intlcal_get_time_zone()
  • intlcal_get_type()
  • intlcal_get_weekend_transition()
  • intlcal_in_daylight_time()
  • intlcal_is_equivalent_to()
  • intlcal_is_lenient()
  • intlcal_is_set()
  • intlcal_is_weekend()
  • intlcal_set_first_day_of_week()
  • intlcal_set_lenient()
  • intlcal_equals()
  • intlcal_get_repeated_wall_time_option()
  • intlcal_get_skipped_wall_time_option()
  • intlcal_set_repeated_wall_time_option()
  • intlcal_set_skipped_wall_time_option()
  • intlcal_from_date_time()
  • intlcal_to_date_time()
  • intlcal_get_error_code()
  • intlcal_get_error_message()
  • intlgregcal_create_instance()
  • intlgregcal_set_gregorian_change()
  • intlgregcal_get_gregorian_change()
  • intlgregcal_is_leap_year()
  • intltz_create_time_zone()
  • intltz_create_default()
  • intltz_get_id()
  • intltz_get_gmt()
  • intltz_get_unknown()
  • intltz_create_enumeration()
  • intltz_count_equivalent_ids()
  • intltz_create_time_zone_id_enumeration()
  • intltz_get_canonical_id()
  • intltz_get_region()
  • intltz_get_tz_data_version()
  • intltz_get_equivalent_id()
  • intltz_use_daylight_time()
  • intltz_get_offset()
  • intltz_get_raw_offset()
  • intltz_has_same_rules()
  • intltz_get_display_name()
  • intltz_get_dst_savings()
  • intltz_from_date_time_zone()
  • intltz_to_date_time_zone()
  • intltz_get_error_code()
  • intltz_get_error_message()

SPL

  • SplFixedArray::__wakeup()
Changed Functions
New Classes and Interfaces
Migrating from PHP 5.4.x to PHP 5.5.x


New Classes and Interfaces

cURL

  • CURLFile

Date and Time

  • DateTimeImmutable
  • DateTimeInterface

Intl

  • IntlCalendar
  • IntlGregorianCalendar
  • IntlTimeZone
  • IntlBreakIterator
  • IntlRuleBasedBreakIterator
  • IntlCodePointBreakIterator
New Functions
New Methods
Migrating from PHP 5.4.x to PHP 5.5.x


New Methods

MySQLi

  • mysqli::begin_transaction()
  • mysqli::release_savepoint()
  • mysqli::savepoint()

Intl

  • IntlDateFormatter::formatObject()
  • IntlDateFormatter::getCalendarObject()
  • IntlDateFormatter::getTimeZone()
  • IntlDateFormatter::setTimeZone()
New Classes and Interfaces
Other changes to extensions
Migrating from PHP 5.4.x to PHP 5.5.x


Other changes to extensions

Intl

The intl extension now requires ICU 4.0 or later.

New Methods
New Global Constants
Migrating from PHP 5.4.x to PHP 5.5.x


New Global Constants

GD

  • IMG_AFFINE_TRANSLATE
  • IMG_AFFINE_SCALE
  • IMG_AFFINE_ROTATE
  • IMG_AFFINE_SHEAR_HORIZONTAL
  • IMG_AFFINE_SHEAR_VERTICAL
  • IMG_CROP_DEFAULT
  • IMG_CROP_TRANSPARENT
  • IMG_CROP_BLACK
  • IMG_CROP_WHITE
  • IMG_CROP_SIDES
  • IMG_FLIP_BOTH
  • IMG_FLIP_HORIZONTAL
  • IMG_FLIP_VERTICAL
  • IMG_BELL
  • IMG_BESSEL
  • IMG_BICUBIC
  • IMG_BICUBIC_FIXED
  • IMG_BLACKMAN
  • IMG_BOX
  • IMG_BSPLINE
  • IMG_CATMULLROM
  • IMG_GAUSSIAN
  • IMG_GENERALIZED_CUBIC
  • IMG_HERMITE
  • IMG_HAMMING
  • IMG_HANNING
  • IMG_MITCHELL
  • IMG_POWER
  • IMG_QUADRATIC
  • IMG_SINC
  • IMG_NEAREST_NEIGHBOUR
  • IMG_WEIGHTED4
  • IMG_TRIANGLE

JSON

  • JSON_ERROR_RECURSION
  • JSON_ERROR_INF_OR_NAN
  • JSON_ERROR_UNSUPPORTED_TYPE

MySQLi

The MYSQLI_SERVER_PUBLIC_KEY option has been added for use with mysqli_options().

Other changes to extensions
Changes to INI file handling
Migrating from PHP 5.4.x to PHP 5.5.x


Changes to INI file handling

Intl

The intl.use_exceptions configuration directive has been added, which controls the behaviour of intl when global errors occur in conjunction with the already extant intl.error_level configuration directive.

MySQLnd

The mysqlnd.sha256_server_public_key configuration directive has been added to allow mysqli to use the new MySQL authentication protocol.

New Global Constants
Changes to PHP Internals
Migrating from PHP 5.4.x to PHP 5.5.x


Changes to PHP Internals

  • Extensions cannot override zend_execute() any more and should override zend_execute_ex() instead. EG(current_execute_data) is already initialized in zend_execute_ex(), so for compatibility extensions may need to use EG(current_execute_data)->prev_execute_data instead.
  • Removed EG(arg_types_stack), EX(fbc), EX(called_scope) and EX(current_object).
  • Added op_array->nested_calls, which is calculated at compile time.
  • Added EX(call_slots), which is an array to store information about syntaticaly nested calls (e.g. foo(bar())) and is preallocated together with execute_data.
  • Added EX(call), which is a pointer to a current calling function, and is an element of EX(call_slots).
  • Opcodes INIT_METHOD_CALL, ZEND_INIT_STATIC_METHOD_CALL, ZEND_INIT_FCALL_BY_NAME and ZEND_INIT_NS_FCALL_BY_NAME use result.num as an index in EX(call_slots).
  • Opcode ZEND_NEW uses extended_value as an index in EX(call_slots).
  • Opcodes ZEND_DO_FCALL and ZEND_DO_FCALL_BY_NAME use op2.num as an index in EX(call_slots).
  • Added op_array->used_stack, which is calculated at compile time; the corresponding stack space is preallocated together with execute_data. As a result, the ZEND_SEND* and ZEND_DO_FCALL* opcodes no longer need to check for stack overflow.
  • Removed execute_data->Ts field. The VM temporary variables are always allocated immediately before the execute_data structure, and are now accessed by their offset from the execute_data base pointer instead of via execute_data->Ts. The compiler stores new offsets in op_array->opcodes[*].op?.num. The EX_TMP_VAR() and EX_TMP_VAR_NUM() macros can be used to access temporary variables by offset or number. You can convert the number to an offset using EX_TMP_VAR_NUM(0, num) or offset to number using (EX_TMP_VAR_NUM(0,0)-EX_TMP_VAR(0,offset)).
  • Removed the execute_data->CVs field. The VM compiled variables are always allocated immediately after the execute_data structure, and are now accessed by the offset from the execute_data base pointer instead of via execute_data->CVs. You can use the EX_CV_NUM() macro to access compiled variables by number.
Changes to INI file handling
Migration von PHP 5.3.x auf PHP 5.4.x
Migrating from PHP 5.4.x to PHP 5.5.x


Migration von PHP 5.3.x auf PHP 5.4.x

Inhaltsverzeichnis

  • Was hat sich in PHP 5.4.x geändert?
  • Nicht rückwärtskompatible Änderungen
  • Neue Features
  • Änderungen in SAPI Modulen
  • Deprecated features in PHP 5.4.x
  • New Parameters
  • New Functions
  • New Class Constants
  • New Methods
  • New Extensions
  • Removed Extensions
  • Other changes to extensions
  • New Classes
  • New Global Constants
  • Änderungen an der INI-Dateibehandlung
  • Weitere Änderungen

Siehe auch die Migrationsleitfäden für PHP-Versionen 5.0.x, 5.1.x, 5.2.x, 5.3.x und 5.5.x.

Changes to PHP Internals
Was hat sich in PHP 5.4.x geändert?
Appendices


Was hat sich in PHP 5.4.x geändert?

Die meisten Verbesserungen in PHP 5.4.x haben keine Auswirkungen auf existierenden Code. Es gibt ein paar Inkompatibilitäten und neue Features die beachtet werden sollten, und Code sollte vor dem Wechsel der PHP Version in Produktionsumgebungen getestet werden.

Für Systeme, die von älteren PHP-Versionen aktualisiert werden, findet man die relevante Dokumentation hier:

  • Upgrade Hinweise für PHP 5.3.x.
  • Upgrade Hinweise für PHP 5.2.x.
  • Upgrade Hinweise für PHP 5.1.x.
  • Migration von PHP 4 auf PHP 5.
Migration von PHP 5.3.x auf PHP 5.4.x
Nicht rückwärtskompatible Änderungen
Migration von PHP 5.3.x auf PHP 5.4.x


Nicht rückwärtskompatible Änderungen

Obwohl der meiste PHP 5 basierende Code ohne Änderungen funktionieren sollte, gibt einige nicht rückwärtskompatible Änderungen:

  • Safe mode wird nicht länger unterstützt. Alle Anwendungen, die sich auf safe mode verlassen, benötigen unter Umständen Anpassungen bezüglich der Sicherheit.
  • Magic quotes wurde entfernt. Anwendungen, die sich auf dieses Feature verlassen, müssen aktualisiert werden, um Sicherheitsprobleme zu vermeiden. get_magic_quotes_gpc() und get_magic_quotes_runtime() geben nun immer FALSE zurück. set_magic_quotes_runtime() erzeugt eine Fehler der Stufe E_CORE_ERROR, wenn versucht wird Magic quotes zu aktivieren.
  • Die register_globals und register_long_arrays php.ini Direktiven wurden entfernt.
  • Die mbstring.script_encoding Direktive wurde entfernt. Statt dessen ist zend.script_encoding zu verwenden.
  • Referenzübergabe zur Laufzeit wurde entfernt.
  • Die break und continue Anweisungen akzeptieren keine variablen Argumente mehr, d.h. es ist nicht möglich break 1 + foo() * $bar; zu schreiben. Statische Argumente wie break 2; funktionieren weiterhin. Als Nebeneffekt dieser Änderung sind break 0; und continue 0; nicht länger erlaubt.
  • Das Setzen der Zeitzone mit der TZ Umgebungsvariablen wird nicht länger von der Datum und Uhrzeit Extension unterstützt. Statt dessen muss eine Zeitzone unter Verwendung der date.timezone php.ini Option oder der date_default_timezone_set() Funktion angegeben werden. PHP wird nicht länger versuchen die Zeitzone zu erraten, sondern wird statt dessen auf "UTC" zurückfallen und eine E_WARNING erzeugen.
  • Nichtnumerische Zeichenkettenoffsets, z.B. $a['foo'], wobei $a eine Zeichenkette ist, geben nun false für isset() und true für empty() zurück, und erzeugen ein E_WARNING, wenn versucht wird, sie zu verwenden. Offsets der Typen double, bool und null erzeugen ein E_NOTICE. Numerische Zeichenketten (z.B. $a['2']) funktionieren wie bisher. Es ist zu beachten, dass Offsets wie '12.3' und '5 irgendwas' als nichtnumerisch angesehen werden, und ein E_WARNING erzeugen, aber aus Gründen der Abwärtskompatibilität zu 12 bzw. 5 konvertiert werden. Hinweis: der folgende Code gibt unterschiedliche Ergebnisse zurück. $str='abc';var_dump(isset($str['x'])); // false unter PHP 5.4 oder später, aber true unter 5.3 oder weniger
  • Konvertieren von Arrays zu String wird nun eine E_NOTICE verursachen, aber das Ergebnis der Umwandlung ist weiterhin "Array".
  • NULL, FALSE oder leere Zeichenketten durch Hinzufügen einer Eigenschaft in ein Objekt zu konvertieren wird nun einen Fehler der Stufe E_WARNING statt E_STRICT ausgeben.
  • Parameternamen, die Superglobale schattieren, verursachen nun einen fatalen Fehler. Das verbietet Code wie function foo($_GET, $_POST) {}.
  • Die Salsa10 und Salsa20 Hash-Algorithmen wurden entfernt.
  • array_combine() gibt nun array() anstatt FALSE zurück, wenn zwei leere Arrays als Parameter übergeben wurden.
  • Wird htmlentities() mit asiatischen Zeichensätzen verwendet, funktioniert es wie htmlspecialchars() - das war auch in früheren PHP Versionen so, aber nun wird ein Fehler der Stufe E_STRICT ausgegeben.
  • Der dritte Parameter von ob_start() wurde von boolean erase in integer flags geändert. Es ist zu beachten, dass Code der erase ausdrücklich auf FALSE setzt, sich unter PHP 5.4 nicht länger wie erwartet verhält; dieses Beispiel zeigt wie Code geschrieben wird, der kompatibel zu PHP 5.3 und PHP 5.4 ist.

Die folgenden Schlüsselwörter sind nun reserviert und dürfen nicht als Namen von Funktionen, Klassen usw. genutzt werden.

  • trait
  • callable
  • insteadof

Folgende Funktionen wurden von PHP entfernt:

  • define_syslog_variables()
  • import_request_variables()
  • session_is_registered(), session_register() und session_unregister().
  • Die Aliase
mysqli_bind_param(), mysqli_bind_result(),
mysqli_client_encoding(), mysqli_fetch(),
mysqli_param_count(), mysqli_get_metadata(),
mysqli_send_long_data(), mysqli::client_encoding() und mysqli_stmt::stmt().
Was hat sich in PHP 5.4.x geändert?
Neue Features
Migration von PHP 5.3.x auf PHP 5.4.x


Neue Features

PHP 5.4.0 bietet eine ganze Reihe neuer Features:

  • Unterstützung für Traits wurde hinzugefügt.
  • Die kurze Array-Syntax wurde hinzugefügt, z.B. $a = [1, 2, 3, 4]; oder $a = ['one' => 1, 'two' => 2, 'three' => 3, 'four' => 4];.
  • Das Dereferenzieren von Funktionen, die ein Array zurückgeben, wurde hinzugefügt, z.B. foo()[0].
  • Closures unterstützen nun $this.
  • <?= ist nun immer verfügbar, unabhängig von der short_open_tag php.ini Option.
  • Zugriff auf Klassenmitglieder bei der Instantiierung wurde hinzugefügt, z.B. (new Foo)->bar().
  • Class::{expr}() Syntax wird nun unterstützt.
  • Das binäre Zahlenformat wurde hinzugefügt, z.B. 0b001001101.
  • Parser-Fehlermeldungen und Warnung wegen inkompatibler Argumente wurden verbessert.
  • Die Session Extension kann nun den Upload-Fortschritt von Dateien verfolgen.
  • Einen eingebauter Webserver im CLI-Modus für die Entwicklung.
Nicht rückwärtskompatible Änderungen
Änderungen in SAPI Modulen
Migration von PHP 5.3.x auf PHP 5.4.x


Änderungen in SAPI Modulen

  • Ein neues SAPI Modul namens cli-server ist nun verfügbar.
  • CLI Option --rz hinzugefügt, die Information über die benannte Zend Extension anzeigt.
  • Kurzform #inisetting=value hinzugefügt, um ini Einstellungen zur Laufzeit im interaktiven Readline CLI zu ändern.
  • Apache kompatible Funktionen für die FastCGI SAPI hinzugefügt: apache_child_terminate(), getallheaders(), apache_request_headers() und apache_response_headers().
  • PHP-FPM: process.max Einstellung zur Steuerung der Anzahl der Prozesse, die FPM forken kann, hinzugefügt.
Neue Features
Deprecated features in PHP 5.4.x
Migration von PHP 5.3.x auf PHP 5.4.x


Deprecated features in PHP 5.4.x

Deprecated functions:

  • mysql_list_dbs()
Änderungen in SAPI Modulen
New Parameters
Migration von PHP 5.3.x auf PHP 5.4.x


New Parameters

Several functions were given new, optional parameters in PHP 5.4:

PHP Core:

  • Optionales Argument für debug_backtrace() und debug_print_backtrace() hinzugefügt, mit dem die Anzahl von zurückgegebenen Stack-Frames begrenzt werden kann
  • is_a() und is_subclass_of() haben nun einen dritten, boole'schen Parameter, der angibt, ob das erste Argument ein Klassenname als Zeichenkette sein kann.

OpenSSL:

  • Nicht-Füll-Option für openssl_encrypt() und openssl_decrypt() hinzugefügt

Intl:

  • idn_to_ascii() und idn_to_utf8() nehmen nun zwei zusätzliche Parameter entgegen; einer gibt die Variante an (IDNA 2003 or UTS #46), der andere der per Referenz übergeben wird, gibt Details über die Operation zurück, falls UTS #46 gewählt wurde.
Deprecated features in PHP 5.4.x
New Functions
Migration von PHP 5.3.x auf PHP 5.4.x


New Functions

PHP 5.4 introduced some new functions:

PHP Core:

  • hex2bin()
  • http_reponse_code()
  • get_declared_traits()
  • getimagesizefromstring()
  • stream_set_chunk_size()
  • socket_import_stream()
  • trait_exists()
  • header_register_callback()

SPL:

  • class_uses()

Session:

  • session_status() session_register_shutdown()

Mysqli:

  • mysqli_error_list() mysqli_stmt_error_list()

Libxml:

  • libxml_set_external_entity_loader()

LDAP:

  • ldap_control_paged_results() ldap_control_paged_results_response()

Intl:

  • transliterator_create()

transliterator_create_from_rules()

transliterator_create_inverse()

transliterator_get_error_code()

transliterator_get_error_message()

transliterator_list_ids()

transliterator_transliterate()
New Parameters
New Class Constants
Migration von PHP 5.3.x auf PHP 5.4.x


New Class Constants

Several new class constants were introduced in 5.4.0:

New Functions
New Methods
Migration von PHP 5.3.x auf PHP 5.4.x


New Methods

Several new methods were introduced in 5.4.0:

XSL:

  • XsltProcessor::setSecurityPrefs() und XsltProcessor::getSecurityPrefs()

SPL:

  • RegexIterator::getRegex()
SplObjectStorage::getHash()
DirectoryIterator::getExtension()
SplDoublyLinkedList::serialize()
SplDoublyLinkedList::unserialize()
SplFileInfo::getExtension()
SplFileObject::fputcsv()
SplQueue::serialize()
SplQueue::unserialize()
SplStack::serialize()
SplStack::unserialize()
SplTempFileObject::fputcsv()

Reflection:

  • ReflectionExtension::isPersistent()
ReflectionExtension::isTemporary()
ReflectionClass::isCloneable()

Closure:

  • Closure::bind() Closure::bindTo()

PDO_dblib:

  • PDO::newRowset()

StreamWrapper:

  • StreamWrapper::stream_metadata()
  • StreamWrapper::stream_truncate()
New Class Constants
New Extensions
Migration von PHP 5.3.x auf PHP 5.4.x


New Extensions

The following new extensions are added (by default) as of PHP 5.4.0:

New Methods
Removed Extensions
Migration von PHP 5.3.x auf PHP 5.4.x


Removed Extensions

These extensions have been moved to PECL and are no longer part of the PHP distribution. The PECL package versions of these extensions will be created according to user demand.

  • sqlite - Es ist zu beachten, dass ext/sqlite3 und ext/pdo_sqlite nicht betroffen sind
New Extensions
Other changes to extensions
Migration von PHP 5.3.x auf PHP 5.4.x


Other changes to extensions

The following extensions can no longer be disabled during build configuration:

Changes in extension behaviour, and new features:

  • mysqli - mysqli_result() implementiert nun Traversable
  • pdo_mysql - Unterstützung für das Verbinden mit MySQL Client Bibliotheken älter als 4.1 entfernt
  • Die MySQL Extensions mysql, mysqli und PDO_mysql verwenden nun mysqlnd als Standardbibliothek. Es ist weiterhin möglich libmysql zu verwenden, indem ein Pfad in den Konfigurationsoptionen angegeben wird.
  • mysqlnd - Unterstützung für benannte Pipes hinzugefügt
Removed Extensions
New Classes
Migration von PHP 5.3.x auf PHP 5.4.x


New Classes

The following classes were introduced in PHP 5.4.0:

SPL:

  • CallbackFilterIterator
  • RecursiveCallbackFilterIterator

Reflection:

  • ReflectionZendExtension

Json:

  • JsonSerializable Interface

Session:

  • SessionHandler Interface

Snmp:

  • SNMP

Intl:

  • Transliterator
  • Spoofchecker
Other changes to extensions
New Global Constants
Migration von PHP 5.3.x auf PHP 5.4.x


New Global Constants

PHP Core:

  • ENT_DISALLOWED
  • ENT_HTML401
  • ENT_HTML5
  • ENT_SUBSTITUTE
  • ENT_XML1
  • ENT_XHTML
  • IPPROTO_IP
  • IPPROTO_IPV6
  • IPV6_MULTICAST_HOPS
  • IPV6_MULTICAST_IF
  • IPV6_MULTICAST_LOOP
  • IP_MULTICAST_IF
  • IP_MULTICAST_LOOP
  • IP_MULTICAST_TTL
  • MCAST_JOIN_GROUP
  • MCAST_LEAVE_GROUP
  • MCAST_BLOCK_SOURCE
  • MCAST_UNBLOCK_SOURCE
  • MCAST_JOIN_SOURCE_GROUP
  • MCAST_LEAVE_SOURCE_GROUP

Curl:

  • CURLOPT_MAX_RECV_SPEED_LARGE
  • CURLOPT_MAX_SEND_SPEED_LARGE

LibXML:

  • LIBXML_HTML_NODEFDTD
  • LIBXML_HTML_NOIMPLIED
  • LIBXML_PEDANTIC

OpenSSL:

  • OPENSSL_CIPHER_AES_128_CBC
  • OPENSSL_CIPHER_AES_192_CBC
  • OPENSSL_CIPHER_AES_256_CBC
  • OPENSSL_RAW_DATA
  • OPENSSL_ZERO_PADDING

Output buffering:

  • PHP_OUTPUT_HANDLER_CLEAN
  • PHP_OUTPUT_HANDLER_CLEANABLE
  • PHP_OUTPUT_HANDLER_DISABLED
  • PHP_OUTPUT_HANDLER_FINAL
  • PHP_OUTPUT_HANDLER_FLUSH
  • PHP_OUTPUT_HANDLER_FLUSHABLE
  • PHP_OUTPUT_HANDLER_REMOVABLE
  • PHP_OUTPUT_HANDLER_STARTED
  • PHP_OUTPUT_HANDLER_STDFLAGS
  • PHP_OUTPUT_HANDLER_WRITE

Sessions:

  • PHP_SESSION_ACTIVE
  • PHP_SESSION_DISABLED
  • PHP_SESSION_NONE

Streams:

  • STREAM_META_ACCESS
  • STREAM_META_GROUP
  • STREAM_META_GROUP_NAME
  • STREAM_META_OWNER
  • STREAM_META_OWNER_NAME
  • STREAM_META_TOUCH

Zlib:

  • ZLIB_ENCODING_DEFLATE
  • ZLIB_ENCODING_GZIP
  • ZLIB_ENCODING_RAW

Intl:

  • U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR
  • IDNA_CHECK_BIDI
  • IDNA_CHECK_CONTEXTJ
  • IDNA_NONTRANSITIONAL_TO_ASCII
  • IDNA_NONTRANSITIONAL_TO_UNICODE
  • INTL_IDNA_VARIANT_2003
  • INTL_IDNA_VARIANT_UTS46
  • IDNA_ERROR_EMPTY_LABEL
  • IDNA_ERROR_LABEL_TOO_LONG
  • IDNA_ERROR_DOMAIN_NAME_TOO_LONG
  • IDNA_ERROR_LEADING_HYPHEN
  • IDNA_ERROR_TRAILING_HYPHEN
  • IDNA_ERROR_HYPHEN_3_4
  • IDNA_ERROR_LEADING_COMBINING_MARK
  • IDNA_ERROR_DISALLOWED
  • IDNA_ERROR_PUNYCODE
  • IDNA_ERROR_LABEL_HAS_DOT
  • IDNA_ERROR_INVALID_ACE_LABEL
  • IDNA_ERROR_BIDI
  • IDNA_ERROR_CONTEXTJ

Json:

  • JSON_PRETTY_PRINT
  • JSON_UNESCAPED_SLASHES
  • JSON_NUMERIC_CHECK
  • JSON_UNESCAPED_UNICODE
  • JSON_BIGINT_AS_STRING
New Classes
Änderungen an der INI-Dateibehandlung
Migration von PHP 5.3.x auf PHP 5.4.x


Änderungen an der INI-Dateibehandlung

Die folgenden ini Direktiven wurden entfernt:

  • register_globals und register_long_arrays
  • allow_call_time_pass_reference
  • define_syslog_variables und alle zugehörigen Funktionen
  • highlight.bg
  • session.bug_compat_42 und session.bug_compat_warn
  • y2k_compliance
  • safe_mode und alle zugehörigen Parameter
  • zend.ze1_compatibility_mode

Die folgenden ini Direktiven wurden hinzugefügt:

  • cli.pager und cli.prompt für die CLI SAPI in Verbindung mit Readline im interaktiven Modus.
  • max_input_vars - gibt an, wie viele GET/POST/COOKIE Eingabevariablen akzeptiert werden können.
  • zend.multibyte - um die neue Multibyte-Unterstützung zu steuern.
  • session.upload_progress.enabled, session.upload_progress.cleanup, session.upload_progress.prefix, session.upload_progress.name, session.upload_progress.freq, session.upload_progress.min_freq
  • enable_post_data_reading - Ist dies deaktiviert, werden POST Daten nicht gelesen (und verarbeitet)
  • windows_show_crt_warning

Die folgenden ini Direktiven wurden geändert:

  • default_charset ist nun standardmäßig UTF-8 anstelle von ISO-8859-1.
  • session.entropy_file ist nun standardmäßig /dev/random oder /dev/urandom in Abhängigkeit von der Ermittlung zur Kompilierzeit.
  • session.entropy_length ist nun standardmäßig 32.
New Global Constants
Weitere Änderungen
Migration von PHP 5.3.x auf PHP 5.4.x


Weitere Änderungen

  • Unterstützung für das Speichern der Upload-Fortschrittsrückmeldung in den Session-Daten hinzugefügt. session.entropy_file standardmäßig zu /dev/urandom oder /dev/arandom geändert, wenn eines der beiden zur Kompilierzeit vorhanden war.
  • E_ALL beinhaltet nun E_STRICT.
  • SNMP hat nun eine OOP API. Die Funktionen geben nun FALSE bei jeder Fehlerbedingung, einschließlich SNMP bezogenen (keine solche Instanz, Ende des MIB, usw.), zurück. Dies bricht insbesondere voriges Verhalten von get/walk Funktionen, die eine leere Zeichenkette bei SNMP bezogenen Fehlern zurückgaben. Multi-OID get/getnext/set Abfragen werden nun unterstützt. UCD-SNMP Kompatibilitätscode wurde verworfen; erwägen Sie ein Upgrade auf net-snmp v5.3+; Net-SNMP v5.4+ wird für die Windows-Version benötigt. Um Unterstützung für IPv6 hinzuzufügen, wird die DNS Namensauflösung von Remote-SNMP-Agents (Peer) nun durch die Extension durchgeführt, nicht mehr durch die Net-SNMP Bibliothek.
  • OpenSSL unterstützt nun AES.
  • CLI SAPI wird bei fatalen Fehlern nicht länger beendet, wenn der interaktive Modus mit Readline Unterstützung verwendet wird.
  • Fehlermeldungen des Parsers und Warnmeldungen für inkompatible Argumente in Funktionsaufrufen verbessert.
  • $_SERVER['REQUEST_TIME_FLOAT'] wurde hinzugefügt, um Mikrosekundenpräzision zu enthalten.
  • <?= ist nun immer verfügbar, unabhängig von der short_open_tag Einstellung
  • Unterstützung für Klassenmemberzugriff bei der Instanziierung (z.B. (new foo)->bar()) hinzugefügt
  • Neue Hash-Algorithmen hinzugefügt: fnv132, fnv164, joaat
  • Verkettete Zeichenkettenoffsets, z.B. $a[0][0], wobei $a eine Zeichenkette ist, sind nun möglich.
  • Binäres Zahlenformat wurde hinzugefügt, z.B. 0b001001101.
  • Kurze Array-Syntax wurde hinzugefügt, z.B. $a = [1, 2, 3, 4]; $a = ['eins' => 1, 'zwei' => 2, 'drei' => 3, 'vier' => 4];
  • Arrayzugriff auf Funktionsaufrufrückgabewerte: foo()[0]
  • Closures unterstützen nun Geltungsbereiche und $this.
  • Array-Casts von SimpleXMLElement enthalten nun immer alle Knoten anstatt nur des ersten passenden Knotens. Alle SimpleXMLElement Kinder werden nun immer angezeigt, wenn var_dump(), var_export() und print_r() verwendet werden.
  • Es ist nun möglich, die __construct Argumente von Klassen in einem abstrakten Konstruktor in der Basisklasse zu erzwingen.
Änderungen an der INI-Dateibehandlung
Migrating from PHP 5.2.x to PHP 5.3.x
Migration von PHP 5.3.x auf PHP 5.4.x


Migrating from PHP 5.2.x to PHP 5.3.x

Inhaltsverzeichnis

  • What has changed in PHP 5.3.x
  • Backward Incompatible Changes
  • New features
  • Changes made to Windows support
  • Changes in SAPI modules
  • Deprecated features in PHP 5.3.x
  • Undeprecated features in PHP 5.3.x
  • New Parameters
  • New Functions
  • New stream wrappers
  • New stream filters
  • New Class Constants
  • New Methods
  • New Extensions
  • Removed Extensions
  • Other changes to extensions
  • New Classes
  • New Global Constants
  • Changes to INI file handling
  • Other changes

Siehe auch die Migrationsleitfäden für PHP-Versionen 5.0.x, 5.1.x, 5.2.x, 5.4.x, 5.5.x and 5.6.x.

Weitere Änderungen
What has changed in PHP 5.3.x
Appendices


What has changed in PHP 5.3.x

Most improvements in PHP 5.3.x have no impact on existing code. There are a few incompatibilities and new features that should be considered, and code should be tested before switching PHP versions in production environments.

For systems being upgraded from an older version of PHP, the relevant documentation is available at:

  • Upgrade Notes for PHP 5.2.x.
  • Upgrade Notes for PHP 5.1.x.
  • Migrating from PHP 4 to PHP 5.
Migrating from PHP 5.2.x to PHP 5.3.x
Backward Incompatible Changes
Migrating from PHP 5.2.x to PHP 5.3.x


Backward Incompatible Changes

Although most existing PHP 5 code should work without changes, please take note of some backward incompatible changes:

  • The newer internal parameter parsing API has been applied across all the extensions bundled with PHP 5.3.x. This parameter parsing API causes functions to return NULL when passed incompatible parameters. There are some exceptions to this rule, such as the get_class() function, which will continue to return FALSE on error.
  • clearstatcache() no longer clears the realpath cache by default.
  • realpath() is now fully platform-independent. Consequence of this is that invalid relative paths such as __FILE__ . "/../x" do not work anymore.
  • The call_user_func() family of functions now propagate $this even if the callee is a parent class.
  • The array functions natsort(),
natcasesort(), usort(),
uasort(), uksort(),
array_flip(), and array_unique() no
longer accept objects passed as arguments. To apply these functions to an
object, cast the object to an array first.
  • The behaviour of functions with by-reference parameters called by value has changed. Where previously the function would accept the by-value argument, a fatal error is now emitted. Any previous code passing constants or literals to functions expecting references, will need altering to assign the value to a variable before calling the function.
  • The new mysqlnd library necessitates the use of MySQL 4.1's newer 41-byte password format. Continued use of the old 16-byte passwords will cause mysql_connect() and similar functions to emit the error, "mysqlnd cannot connect to MySQL 4.1+ using old authentication."
  • The new mysqlnd library does not read mysql configuration files (my.cnf/my.ini), as the older libmysqlclient library does. If your code relies on settings in the configuration file, you can load it explicitly with the mysqli_options() function. Note that this means the PDO specific constants PDO::MYSQL_ATTR_READ_DEFAULT_FILE and PDO::MYSQL_ATTR_READ_DEFAULT_GROUP are not defined if MySQL support in PDO is compiled with mysqlnd.
  • The trailing / has been removed from the SplFileInfo class and other related directory classes.
  • The __toString() magic method can no longer accept arguments.
  • The magic methods
__get(),
__set(),
__isset(),
__unset(), and
__call() must always
be public and can no longer be static. Method signatures are now enforced.
  • The __call() magic method is now invoked on access to private and protected methods.
  • func_get_arg(), func_get_args() and func_num_args() can no longer be called from the outermost scope of a file that has been included by calling include or require from within a function in the calling file.
  • An emulation layer for the MHASH extension to wrap around the Hash extension have been added. However not all the algorithms are covered, notable the s2k hashing algorithm. This means that s2k hashing is no longer available as of PHP 5.3.0.

The following keywords are now reserved and may not be used in function, class, etc. names.

  • goto
  • namespace
What has changed in PHP 5.3.x
New features
Migrating from PHP 5.2.x to PHP 5.3.x


New features

PHP 5.3.0 offers a wide range of new features:

  • Support for namespaces has been added.
  • Support for Late Static Bindings has been added.
  • Support for jump labels (limited goto) has been added.
  • Support for native Closures (Lambda/Anonymous functions) has been added.
  • There are two new magic methods, __callStatic() and __invoke().
  • Nowdoc syntax is now supported, similar to Heredoc syntax, but with single quotes.
  • It is now possible to use Heredocs to initialize static variables and class properties/constants.
  • Heredocs may now be declared using double quotes, complementing the Nowdoc syntax.
  • Constants can now be declared outside a class using the const keyword.
  • The ternary operator now has a shorthand form: ?:.
  • The HTTP stream wrapper now considers all status codes from 200 to 399 to be successful.
  • Dynamic access to static methods is now possible:
    <?php
    class C {
       public static     $foo = 123;
    }

    $a = "C";
    echo     $a::$foo;
    ?>

    Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

    123
  • Exceptions can now be nested:
    <?php
    class MyCustomException extends Exception {}

    try {
        throw new     MyCustomException("Exceptional", 112);
    } catch (    Exception $e) {
            /* Note the use of the third parameter to pass $e
         * into the RuntimeException. */
            throw new RuntimeException("Rethrowing", 911, $e);
    }
    ?>
  • A garbage collector for circular references has been added, and is enabled by default.
  • The mail() function now supports logging of sent email via the mail.log configuration directive. (Note: This only applies to email sent through this function.)
Backward Incompatible Changes
Changes made to Windows support
Migrating from PHP 5.2.x to PHP 5.3.x


Changes made to Windows support

Changes to the Windows releases:

  • The minimum Windows version is now Windows XP SP3; Windows 98, ME, 2000 and NT4 are no longer supported.
  • Windows binaries now target i586 and later. i386 and i486 are not supported.
  • There is now experimental support for x64 versions of PHP on Windows.
  • There is now compiler support for Visual C++ 9 (VC9), using Visual Studio 2008. Snapshots and releases will now also be available for VC9. Old binaries using VC6 are still supported and released in the line with VC9.
  • The PDO_OCI php_pdo_oci8.dll library (for use with Oracle version 8 client libraries) is no longer being built. Instead, use php_pdo_oci.dll (note no '8') with Oracle 10 or 11 client libraries. Connection to other database versions is still supported.
  • For the OCI8 extension, a new library php_oci8_11g.dll is available in addition to php_oci8.dll. Only one can be enabled at any time. Use php_oci8.dll with Oracle 10.2 client libraries. Use php_oci8_11g.dll with Oracle 11 or later client libraries. Connection to other database versions is still supported.

Windows support has been added for the following functions:

  • checkdnsrr()
  • dns_get_record()
  • fnmatch()
  • getmxrr()
  • getopt()
  • imagecolorclosesthwb()
  • inet_ntop()
  • inet_pton()
  • link()
  • linkinfo()
  • mcrypt_create_iv()
  • readlink()
  • socket_create_pair() - This function was previously available on Windows, but was disabled as of PHP 4.3.0 due to a bug.
  • stream_socket_pair()
  • symlink()
  • time_nanosleep()
  • time_sleep_until()

Other changes:

  • Improved portability of the stat(), touch(), filemtime(), filesize() functions, and other related functions (100% portable for the available data).
  • It is now possible to create hard links on Windows using the link() function, and symbolic links using the symlink() function. Hard links are available as of Windows 2000, and symbolic links as of Windows Vista.
  • The Windows version of PHP now exposes a set of constants prefixed PHP_WINDOWS_*. A list of these constants and their usage can be found at Vordefinierte Konstanten.
Warnung

Support for the ISAPI module has been dropped. Use the improved FastCGI SAPI module instead.

Hinweis: A new dedicated site for PHP on Windows is now available, including downloads, release candidates, and snapshots in various flavors (thread-safe/not-thread-safe, VC6/VC9, x86/x64). The URL of this site is » http://windows.php.net/.

New features
Changes in SAPI modules
Migrating from PHP 5.2.x to PHP 5.3.x


Changes in SAPI modules

  • A new SAPI module named litespeed is now available.
  • FastCGI support in the CGI SAPI is now always enabled and can not be disabled. See sapi/cgi/CHANGES for more details.
  • A new CGI SAPI option, -T, can be used to measure repeated execution time of a script.
  • CGI/FastCGI now has support for .htaccess-style user-defined php.ini files.
  • The dl() function is now disabled by default, and is now available only under the CLI, CGI, and embed SAPIs.
Changes made to Windows support
Deprecated features in PHP 5.3.x
Migrating from PHP 5.2.x to PHP 5.3.x


Deprecated features in PHP 5.3.x

PHP 5.3.0 introduces two new error levels: E_DEPRECATED and E_USER_DEPRECATED. The E_DEPRECATED error level is used to indicate that a function or feature has been deprecated. The E_USER_DEPRECATED level is intended for indicating deprecated features in user code, similarly to the E_USER_ERROR and E_USER_WARNING levels.

The following is a list of deprecated INI directives. Use of any of these INI directives will cause an E_DEPRECATED error to be thrown at startup.

  • define_syslog_variables
  • register_globals
  • register_long_arrays
  • safe_mode
  • magic_quotes_gpc
  • magic_quotes_runtime
  • magic_quotes_sybase
  • Comments starting with '#' are now deprecated in .INI files.

Deprecated functions:

  • call_user_method() (use call_user_func() instead)
  • call_user_method_array() (use call_user_func_array() instead)
  • define_syslog_variables()
  • dl()
  • ereg() (use preg_match() instead)
  • ereg_replace() (use preg_replace() instead)
  • eregi() (use preg_match() with the 'i' modifier instead)
  • eregi_replace() (use preg_replace() with the 'i' modifier instead)
  • mcrypt_generic_end()
  • set_magic_quotes_runtime() and its alias, magic_quotes_runtime()
  • session_register() (use the $_SESSION superglobal instead)
  • session_unregister() (use the $_SESSION superglobal instead)
  • session_is_registered() (use the $_SESSION superglobal instead)
  • set_socket_blocking() (use stream_set_blocking() instead)
  • split() (use preg_split() instead)
  • spliti() (use preg_split() with the 'i' modifier instead)
  • sql_regcase()
  • mysql_db_query() (use mysql_select_db() and mysql_query() instead)
  • mysql_escape_string() (use mysql_real_escape_string() instead)
  • Passing locale category names as strings is now deprecated. Use the LC_* family of constants instead.
  • The is_dst parameter to mktime(). Use the new timezone handling functions instead.

Deprecated features:

  • Assigning the return value of new by reference is now deprecated.
  • Call-time pass-by-reference is now deprecated.
Changes in SAPI modules
Undeprecated features in PHP 5.3.x
Migrating from PHP 5.2.x to PHP 5.3.x


Undeprecated features in PHP 5.3.x

The is_a() function has been undeprecated by popular request; it will no longer issue an E_STRICT error.

Deprecated features in PHP 5.3.x
New Parameters
Migrating from PHP 5.2.x to PHP 5.3.x


New Parameters

Several functions were given new, optional parameters in PHP 5.3:

PHP Core:

  • clearstatcache() - Added clear_realpath_cache and filename.
  • copy() - Added a stream context parameter, context.
  • fgetcsv() - Added escape.
  • ini_get_all() - Added details.
  • nl2br() - Added is_xhtml.
  • parse_ini_file() - Added scanner_mode.
  • round() - Added mode.
  • stream_context_create() - Added params.
  • strstr() and stristr() - Added before_needle.

json:

  • json_encode() - Added options.
  • json_decode() - Added depth.

Streams:

  • stream_select(),
stream_set_blocking(),
stream_set_timeout(), and
stream_set_write_buffer() now work with user-space
stream wrappers.

sybase_ct:

  • sybase_connect() - Added new.

New method parameters in PHP 5.3.0:

PHP Core:

  • Exception::__construct() - Added previous.
Undeprecated features in PHP 5.3.x
New Functions
Migrating from PHP 5.2.x to PHP 5.3.x


New Functions

PHP 5.3 introduced some new functions:

PHP Core:

  • array_replace() - Replaces elements from passed arrays into one array.
  • array_replace_recursive() - Recursively replaces elements from passed arrays into one array.
  • class_alias() - Creates an alias for a user defined class.
  • forward_static_call() - Call a user function from a method context.
  • forward_static_call_array() - Call a user function from a method context, with the arguments contained in an array.
  • gc_collect_cycles() - Forces collection of any existing garbage cycles.
  • gc_disable() - Deactivates the circular reference collector.
  • gc_enable() - Activates the circular reference collector.
  • gc_enabled() - Returns the status of the circular reference collector.
  • get_called_class() - Return the name of the class a static method is called in.
  • gethostname() - Return the current host name for the local machine.
  • header_remove() - Removes an HTTP header previously set using the header() function.
  • lcfirst() - Make a string's first character lowercase.
  • parse_ini_string() - Parse a configuration string.
  • quoted_printable_encode() - Convert an 8 bit string to a quoted-printable string.
  • str_getcsv() - Parse a CSV string into an array.
  • stream_context_set_default() - Set the default stream context.
  • stream_supports_lock() - Return TRUE if the stream supports locking.
  • stream_context_get_params() - Retrieve parameters from a stream context.
  • streamWrapper::stream_cast() - Retrieve the underlying stream resource.
  • streamWrapper::stream_set_option() - Change stream options

Date/Time:

  • date_add() - Adds an amount of days, months, years, hours, minutes and seconds to a DateTime object.
  • date_create_from_format() - Returns a new DateTime object formatted according to the given format.
  • date_diff() - Returns the difference between two DateTime objects.
  • date_get_last_errors() - Returns the warnings and errors from the last date/time operation.
  • date_parse_from_format() - Get information about a given date.
  • date_sub() - Subtracts an amount of days, months, years, hours, minutes and seconds from a DateTime object.
  • timezone_version_get() - Returns the version of the timezonedb.

GMP:

  • gmp_testbit() - Tests whether a bit is set.

Hash:

  • hash_copy() - Copy hashing context.

IMAP:

  • imap_gc() - Clears IMAP cache.
  • imap_utf8_to_mutf7() - Encode a UTF-8 string to modified UTF-7.
  • imap_mutf7_to_utf8() - Decode a modified UTF-7 string to UTF-8.

JSON:

  • json_last_error() - Returns the last JSON error that occurred.

MySQL Improved:

  • mysqli_fetch_all() - Fetches all result rows as an associative array, a numeric array, or both.
  • mysqli_get_connection_stats() - Returns statistics about the client connection.
  • mysqli_poll() - Poll connections.
  • mysqli_reap_async_query() - Get result from async query.

OpenSSL:

  • openssl_random_pseudo_bytes() - Returns a string of the given length specified, filled with pseudo-random bytes.

PCNTL:

  • pcntl_signal_dispatch() - Calls signal handlers for pending signals.
  • pcntl_sigprocmask() - Sets and retrieves blocked signals.
  • pcntl_sigtimedwait() - Wait for signals with a timeout.
  • pcntl_sigwaitinfo() - Wait for signals.

PCRE:

  • preg_filter() - Perform a regular expression search and replace, returning only results which matched the pattern.

Semaphore:

  • msg_queue_exists() - Check whether a message queue exists.
  • shm_has_var() - Checks whether a specific key exists inside a shared memory segment.

The following functions are now natively implemented, making them available on all operating systems which can run PHP:

  • acosh()
  • asinh()
  • atanh()
  • expm1()
  • log1p()
New Parameters
New stream wrappers
Migrating from PHP 5.2.x to PHP 5.3.x


New stream wrappers

The following stream wrappers were introduced in 5.3.0:

  • glob://
  • phar://
New Functions
New stream filters
Migrating from PHP 5.2.x to PHP 5.3.x


New stream filters

The following stream filters were introduced in 5.3.0:

  • dechunk (reverses HTTP chunked encoding)
  • The bz2.decompress filter now supports concatenation.
New stream wrappers
New Class Constants
Migrating from PHP 5.2.x to PHP 5.3.x


New Class Constants

Several new class constants were introduced in 5.3.0:

PDO_FIREBIRD:

  • PDO::FB_ATTR_DATE_FORMAT - Sets the format for dates.
  • PDO::FB_ATTR_TIME_FORMAT - Sets the format for time.
  • PDO::FB_ATTR_TIMESTAMP_FORMAT - Sets the format for timestamps.
New stream filters
New Methods
Migrating from PHP 5.2.x to PHP 5.3.x


New Methods

Several new methods were introduced in 5.3.0:

Date/Time:

  • DateTime::add() - Adds an amount of days, months, years, hours, minutes and seconds to a DateTime object.
  • DateTime::createFromFormat() - Returns a new DateTime object formatted according to the given format.
  • DateTime::diff() - Returns the difference between two DateTime objects.
  • DateTime::getLastErrors() - Returns the warnings and errors from the last date/time operation.
  • DateTime::sub() - Subtracts an amount of days, months, years, hours, minutes and seconds from a DateTime object.

Exception:

  • Exception::getPrevious() - Retrieves the previous exception.

DOM:

  • DOMNode::getLineNo() - Get the line number of a parsed node.

PDO_FIREBIRD:

  • PDO::setAttribute() - Sets an attribute.

Reflection:

  • ReflectionClass::getNamespaceName() - Returns the name of namespace where this class is defined.
  • ReflectionClass::getShortName() - Returns the short name of this class (without namespace part).
  • ReflectionClass::inNamespace() - Returns whether this class is defined in a namespace.
  • ReflectionFunction::getNamespaceName() - Returns the name of namespace where this function is defined.
  • ReflectionFunction::getShortName() - Returns the short name of the function (without namespace part).
  • ReflectionFunction::inNamespace() - Returns whether this function is defined in a namespace.
  • ReflectionProperty::setAccessible() - Sets whether non-public properties can be requested.

SPL:

  • SplObjectStorage::addAll() - Add all elements from another SplObjectStorage object.
  • SplObjectStorage::removeAll() - Remove all elements from another SplObjectStorage object.

XSL:

  • XSLTProcessor::setProfiling() - Sets the profiling output file.
New Class Constants
New Extensions
Migrating from PHP 5.2.x to PHP 5.3.x


New Extensions

The following new extensions are added (by default) as of PHP 5.3.0:

  • Enchant - An abstraction layer above various spelling libraries
  • Fileinfo - An improved and more solid replacement, featuring full BC, for the Mimetype extension, which has been removed.
  • INTL - Internationalization extension. INTL is a wrapper around the » ICU library.
  • Phar - Implementation of PHP-Archive files.
  • SQLite3 - Support for SQLite version 3 databases.

mysqlnd is a new core library shipped with PHP. It is a PHP-specific replacement for libmysqlclient. mysqlnd will be used to build the mysql, mysqli and PDO_MySQL extensions if libmysqlclient isn't found on the system. It may also be used instead of libmysqlclient even when libmysqlclient is present. mysqlnd is recommended for all PHP installations for performance reasons.

New Methods
Removed Extensions
Migrating from PHP 5.2.x to PHP 5.3.x


Removed Extensions

These extensions have been moved to PECL and are no longer part of the PHP distribution. The PECL package versions of these extensions will be created according to user demand.

  • dbase - No longer maintained
  • fbsql - No longer maintained
  • fdf - Maintained
  • ming - Maintained
  • msql - No longer maintained
  • ncurses - Maintained
  • sybase - Discontinued; use the sybase_ct extension instead
  • mhash - Discontinued; use the hash extension instead. hash has full mhash compatibility; all existing applications using the old functions will continue to work.
New Extensions
Other changes to extensions
Migrating from PHP 5.2.x to PHP 5.3.x


Other changes to extensions

The following extensions can no longer be disabled during build configuration:

  • PCRE
  • Reflection
  • SPL

Changes in extension behaviour, and new features:

  • Date and Time - The TZ environment variable is no longer used to guess the timezone
  • cURL - cURL now supports SSH
  • Network - dns_check_record() now returns an extra "entries" index, containing the TXT elements.
  • Hash - The SHA-224 and salsa hash algorithms are now supported.
  • mbstring - Now supports CP850 encoding.
  • OCI8 - A call to oci_close() on a persistent connection, or a variable referencing a persistent connection going out of scope, will now roll back any uncommitted transaction. To avoid unexpected behavior, explicitly issue a commit or roll back as needed. The old behavior can be enabled with the INI directive oci8.old_oci_close_semantics. Database Resident Connection Pooling (DRCP) and Fast Application Notification (FAN) are now supported. Oracle External Authentication is now supported (except on Windows). The oci_bind_by_name() function now supports SQLT_AFC (aka the CHAR datatype).
  • OpenSSL - OpenSSL digest and cipher functions are now supported. It is also now possible to access the internal values of DSA, RSA and DH keys.
  • Session - Sessions will no longer store session-files in "/tmp" when open_basedir restrictions apply, unless "/tmp" is explicitly added to the list of allowed paths.
  • SOAP Now supports sending user supplied HTTP headers.
  • MySQLi Now supports persistent connections, by prepending the hostname with "p:".
  • Image Processing and GD The "JPG Support" index returned from gd_info() has been renamed to "JPEG Support".
Removed Extensions
New Classes
Migrating from PHP 5.2.x to PHP 5.3.x


New Classes

The following classes were introduced in PHP 5.3.0:

Date/Time:

  • DateInterval
  • DatePeriod

Phar:

  • Phar
  • PharData
  • PharException
  • PharFileInfo

SPL:

  • FilesystemIterator
  • GlobIterator
  • MultipleIterator
  • RecursiveTreeIterator
  • SplDoublyLinkedList
  • SplFixedArray
  • SplHeap
  • SplMaxHeap
  • SplMinHeap
  • SplPriorityQueue
  • SplQueue
  • SplStack
Other changes to extensions
New Global Constants
Migrating from PHP 5.2.x to PHP 5.3.x


New Global Constants

PHP Core:

  • __DIR__
  • __NAMESPACE__
  • E_DEPRECATED
  • E_USER_DEPRECATED
  • INI_SCANNER_NORMAL
  • INI_SCANNER_RAW
  • PHP_MAXPATHLEN
  • PHP_WINDOWS_NT_DOMAIN_CONTROLLER
  • PHP_WINDOWS_NT_SERVER
  • PHP_WINDOWS_NT_WORKSTATION
  • PHP_WINDOWS_VERSION_BUILD
  • PHP_WINDOWS_VERSION_MAJOR
  • PHP_WINDOWS_VERSION_MINOR
  • PHP_WINDOWS_VERSION_PLATFORM
  • PHP_WINDOWS_VERSION_PRODUCTTYPE
  • PHP_WINDOWS_VERSION_SP_MAJOR
  • PHP_WINDOWS_VERSION_SP_MINOR
  • PHP_WINDOWS_VERSION_SUITEMASK

cURL:

  • CURLOPT_PROGRESSFUNCTION

GD:

  • IMG_FILTER_PIXELATE

JSON:

  • JSON_ERROR_CTRL_CHAR
  • JSON_ERROR_DEPTH
  • JSON_ERROR_NONE
  • JSON_ERROR_STATE_MISMATCH
  • JSON_ERROR_SYNTAX
  • JSON_FORCE_OBJECT
  • JSON_HEX_TAG
  • JSON_HEX_AMP
  • JSON_HEX_APOS
  • JSON_HEX_QUOT

LDAP:

  • LDAP_OPT_NETWORK_TIMEOUT

libxml:

  • LIBXML_LOADED_VERSION

PCRE:

  • PREG_BAD_UTF8_OFFSET_ERROR

PCNTL:

  • BUS_ADRALN
  • BUS_ADRERR
  • BUS_OBJERR
  • CLD_CONTIUNED
  • CLD_DUMPED
  • CLD_EXITED
  • CLD_KILLED
  • CLD_STOPPED
  • CLD_TRAPPED
  • FPE_FLTDIV
  • FPE_FLTINV
  • FPE_FLTOVF
  • FPE_FLTRES
  • FPE_FLTSUB
  • FPE_FLTUND
  • FPE_INTDIV
  • FPE_INTOVF
  • ILL_BADSTK
  • ILL_COPROC
  • ILL_ILLADR
  • ILL_ILLOPC
  • ILL_ILLOPN
  • ILL_ILLTRP
  • ILL_PRVOPC
  • ILL_PRVREG
  • POLL_ERR
  • POLL_HUP
  • POLL_IN
  • POLL_MSG
  • POLL_OUT
  • POLL_PRI
  • SEGV_ACCERR
  • SEGV_MAPERR
  • SI_ASYNCIO
  • SI_KERNEL
  • SI_MESGQ
  • SI_NOINFO
  • SI_QUEUE
  • SI_SIGIO
  • SI_TIMER
  • SI_TKILL
  • SI_USER
  • SIG_BLOCK
  • SIG_SETMASK
  • SIG_UNBLOCK
  • TRAP_BRKPT
  • TRAP_TRACE
New Classes
Changes to INI file handling
Migrating from PHP 5.2.x to PHP 5.3.x


Changes to INI file handling

PHP 5.3.0 has significantly improved performance and parsing of INI files, and adds several new syntax features.

  • The standard php.ini files have been re-organized and renamed. php.ini-development contains settings recommded for use in development environments. php.ini-production contains settings recommended for use in production environments.
  • There is now support for two special sections: [PATH=/opt/httpd/www.example.com/] and [HOST=www.example.com]. Directives set in these sections cannot be overridden by user-defined INI files or at runtime. More information about these sections can be found here.
  • zend_extension_debug, zend_extension_debug_ts and zend_extension_ts have been removed. Use the zend_extension directive to load all Zend Extensions.
  • zend.ze1_compatibility_mode has been removed. If this INI directive is set to On, an E_ERROR error is emitted at startup.
  • It is now possible to use the full path to load modules using the extension directive.
  • "ini-variables" can now be used almost anywhere in a php.ini file.
  • open_basedir restrictions may now be tighted at runtime, and the directive is now PHP_INI_ALL.
  • It is now possible to use alphanumeric or variable indices in INI option arrays.
  • get_cfg_var() is now able to return "array" INI options.
  • Two new mail directives: mail.add_x_header and mail.log, have been added.

The following new ini directives have been added:

  • user_ini.filename and user_ini.cache_ttl have been added to control the use of user INI files.
  • exit_on_timeout has been added to force Apache 1.x children to exit if a PHP execution timeout occurs.
  • Added mbstring.http_output_conv_mimetype. This directive specifies the regex pattern of content types for which mb_output_handler() is activated.
  • Added request_order. Allows controlling which external variables will be available in $_REQUEST.

The following ini directives have new default values:

  • session.use_only_cookies is now set to "1" (enabled) by default.
  • oci8.default_prefetch has changed from "10" to "100".
New Global Constants
Other changes
Migrating from PHP 5.2.x to PHP 5.3.x


Other changes

  • SplFileInfo::getpathinfo() now returns information about the path name.
  • SplObjectStorage now has ArrayAccess support. It is now also possible to store associative information with objects in SplObjectStorage.
  • In the GD extension, there is now pixelation support available through the imagefilter() function.
  • var_dump() output now includes private object properties.
  • session_start() now returns FALSE when session startup fails.
  • property_exists() now checks the existence of a property independent of accessibility (like method_exists()).
  • Stream wrappers can now be used by include_path.
  • The initial parameter for array_reduce() can now be of any type.
  • The directory functions opendir(), scandir(), and dir() now use the default stream context if no explicit context is passed.
  • crypt() now has Blowfish and extended DES support, and crypt() features are now 100% portable. PHP has its own internal crypt implementation which drops into place when support for crypt or crypt_r is not found.
  • getopt() now accepts "long options" on all platforms. Optional values and = as a separator for short options are now supported.
  • fopen() has a new mode option (n), which passes O_NONBLOCK to the underlying open() system call. Note that this mode is not currently supported on Windows.
  • getimagesize() now supports icon files (.ico).
  • The mhash extension have moved to PECL, but the Hash extension have been modified to support mhash if PHP is compiled with --with-mhash. Note that the Hash extension does not require the mhash library to be available whether or not the mhash emulation is enabled.
Changes to INI file handling
Migrating from PHP 5.1.x to PHP 5.2.x
Migrating from PHP 5.2.x to PHP 5.3.x


Migrating from PHP 5.1.x to PHP 5.2.x

Inhaltsverzeichnis

  • What has changed in PHP 5.2.x
  • Backward Incompatible Changes
  • New Error Messages
  • Changes in PHP datetime support
  • New Parameters
  • New Functions
  • New Methods
  • Removed Extensions
  • New Extensions
  • New Classes
  • New Global Constants
  • New Class Constants
  • New INI Configuration Directives
  • Error Reporting
  • Other Enhancements

Siehe auch die Migrationsleitfäden für PHP-Versionen 5.0.x, 5.1.x, 5.3.x, 5.4.x, 5.5.x and 5.6.x.

Other changes
What has changed in PHP 5.2.x
Appendices


What has changed in PHP 5.2.x

Most improvements in PHP 5.2.x have no impact on existing code. There are a few incompatibilities and new error messages that should be considered, and code should be tested before switching PHP versions in production environments.

If the system is being upgraded from PHP 5.0.x, the manual section titled Upgrade Notes for PHP 5.1.x should also be read.

Similarly, if the system is being upgraded from PHP 4, the manual section titled Migrating from PHP 4 to PHP 5 should be read as well.

Migrating from PHP 5.1.x to PHP 5.2.x
Backward Incompatible Changes
Migrating from PHP 5.1.x to PHP 5.2.x


Backward Incompatible Changes

Although most existing PHP 5 code should work without changes, you should pay attention to the following backward incompatible changes:

  • getrusage() returns NULL when passed incompatible arguments as of PHP 5.2.1.
  • ZipArchive::setCommentName() returns TRUE on success as of PHP 5.2.1.
  • ZipArchive::setCommentIndex() returns TRUE on success as of PHP 5.2.1.
  • SplFileObject::getFilename() returns the filename, not relative/path/to/file, as of PHP 5.2.1.
  • Changed priority of PHPRC environment variable on Win32 The PHPRC environment variable now takes priority over the path stored in the Windows registry.
  • CLI SAPI no longer checks cwd for php.ini or the php-cli.ini file In PHP 5.1.x an undocumented feature was added that made the CLI binary check the current working directory for a PHP configuration file, potentially leading to unpredictable behavior if an unexpected configuration file were read. This functionality was removed in 5.2.0, and PHP will no longer search CWD for the presence of php.ini or php-cli.ini files. See also the command line section of the manual.
  • Added a warning when performing modulus 0 operations In earlier versions of PHP, performing integer % 0 did not emit any warning messages, instead returning an unexpected return value of FALSE. As of PHP 5.2.0, this operation will emit an E_WARNING, as is the case in all other instances where division by zero is performed.
    <?php
    print 10 % 0;
    /* Warning:  Division by zero in filename on line n */
    ?>
  • Changed __toString() to be called wherever applicable. The magic method __toString() will now be called in a string context, that is, anywhere an object is used as a string. The fallback of returning a string that contains the object identifier was dropped in PHP 5.2.0. It became problematic because an object identifier cannot be considered unique. This change will mean that your application is flawed if you have relied on the object identifier as a return value. An attempt to use that value as a string will now result in a catchable fatal error.
    <?php
    class foo {}
    $foo = new foo;
    print     $foo;
    /* Catchable fatal error:  Object of class foo could
       not be converted to string in filename on line n */
    ?>
    Even with __toString(), objects cannot be used as array indices or keys. We may add built-in hash support for this at a later date, but as of PHP 5.2.x you will need to either provide your own hashing or use the new SPL function spl_object_hash(). Exceptions can not be thrown from __toString() methods.
    <?php
    class foo {
        public function     __toString() {
            throw new     Exception;
        }
    }

    try {
        print new     foo;
            /* Fatal error:  Method foo::__toString() must
           not throw an exception in filename on line n */
    } catch(Exception $e) {}
    ?>
  • Dropped abstract static class functions. Due to an oversight, PHP 5.0.x and 5.1.x allowed abstract static functions in classes. As of PHP 5.2.x, only interfaces can have them.
    <?php
    abstract class foo {
        abstract static function     bar();
            /* Strict Standards:  Static function foo::bar()
           should not be abstract in filename on line n */
    }
    ?>
  • Oracle extension requires at least Oracle 10 on Windows.
  • Added RFC2397 (data: stream) support. The introduction of the 'data' URL scheme has the potential to lead to a change of behavior under Windows. If you are working with a NTFS file system and making use of meta streams in your application, and if you just happen to be using a file with the name 'data:' that is accessed without any path information - it won't work any more. The fix is to use the 'file:' protocol when accessing it. See also » RFC 2397
    <?php
    /* when allow_url_include is OFF (default) */
    include "data:;base64,PD9waHAgcGhwaW5mbygpOz8+";
    /* Warning:  include(): URL file-access is disabled
       in the server configuration in filename on line n */
    ?>
  • Regression in glob() patterns In version 5.2.4 a security fix caused a regression for patterns of the form "/foo/*/bar/*". Since version 5.2.5 instead of raising a warning the glob() function will return FALSE when openbase_dir restrictions are violated.
What has changed in PHP 5.2.x
New Error Messages
Migrating from PHP 5.1.x to PHP 5.2.x


New Error Messages

Below are the new error messages that have not been discussed elsewhere in this document.

Beispiel #1 In PHP Core

<?php
echo " ";
session_regenerate_id();
/*  Warning:  session_regenerate_id(): Cannot regenerate
    session id - headers already sent in filename on line n */

str_word_count("string", 4);
/* Warning:  str_word_count(): Invalid format value 4
   in filename on line n */

strripos("foo", "f", 4);
/* Notice:  strripos(): Offset is greater than the
   length of haystack string in filename on line n */

strrpos("foo", "f", 4);
/* Notice:  strrpos(): Offset is greater than the
   length of haystack string in filename on line n */

/* As of PHP 5.2.1, when allow_url_include is OFF (default) */
include "php://input";
/* Warning:  include(): URL file-access is disabled
   in the server configuration in filename on line n */
?>

Beispiel #2 Object Oriented Code in PHP Core

<?php
interface foo {
}
class bar implements foo, foo {
}
/* Fatal error: Class bar cannot implement previously
   implemented interface foo in filename on line n */

class foo {
    public $bar;
    function __get($var)
    {
        return $this->bar;
    }
}

$foo = new foo;
$bar =& $foo->prop;
/* Notice: Indirect modification of overloaded property
   foo::$prop has no effect in filename on line n */

class foo implements iterator {
    public function current() {
    }
    public function next() {
    }
    public function key() {
    }
    public function valid() {
    }
    public function rewind() {
    }
}

$foo = new foo();
foreach($foo as &$ref) {}
/* Fatal error: An iterator cannot be used with foreach
   by reference in filename on line n */

class foo {
    private function __construct() {
    }
}
class bar extends foo {
    public function __construct() {
        parent::__construct();
        /* Fatal error:  Cannot call private
           foo::__construct() in filename on line n */
    }
}
new bar;

stream_filter_register("", "class");
/* Warning:  stream_filter_register(): Filter name
   cannot be empty in filename on line n */

stream_filter_register("filter", "");
/* Warning:  stream_filter_register(): Class name
   cannot be empty in filename on line n */
?>

Beispiel #3 In the bzip2 Extension

<?php
bzopen("", "w");
/* Warning:  bzopen(): filename cannot be empty
   in filename on line n */

bzopen("foo", "a");
/* Warning:  bzopen(): 'a' is not a valid mode for
   bzopen(). Only 'w' and 'r' are supported in
   filename on line n */

$fp = fopen("foo", "w");
bzopen($fp, "r");
/* Warning:  bzopen(): cannot read from a stream
   opened in write only mode in filename on line n */
?>

Beispiel #4 In the datetime Extension

<?php
strtotime("today", "now");
/* Warning:  strtotime() expects parameter 2 to be
   long, string given in filename on line n */

/* As of PHP 5.2.1 */
new DateTime(new stdclass);
/* Fatal error: Uncaught exception 'Exception' with
   message 'DateTime::__construct() expects parameter
   1 to be string, object given' in filename:n */
?>

Beispiel #5 In the dBase Extension

<?php
dbase_open("foo", -1);
/* Warning: Invalid access mode -1 in filename on line n */

/* As of PHP 5.2.1 */
dbase_open("foo", null);
/* Warning: The filename cannot be empty in filename on line n */
?>

Beispiel #6 In the mcrypt Extension

<?php
$key = "this is a secret key";
$td = mcrypt_module_open('tripledes', '', 'ecb', '');
$iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($td),
                        MCRYPT_RAND);
mcrypt_generic_init($td, $key, $iv);
$encrypted_data = mcrypt_generic($td, "");
/* Warning: mcrypt_generic(): An empty string was
   passed in filename on line n */
?>

Beispiel #7 In the oci8 Extension

<?php
oci_connect("user", "pass", "db", "bogus_charset");
/* Warning: Invalid character set name:
   bogus_charset in filename on line n */

$oci = oci_connect("user", "pass", "db");
oci_password_change($oci, "", "old", "new");
/* Warning: username cannot be empty in filename
   on line n */

oci_password_change($oci, "user", "", "new");
/* Warning: old password cannot be empty in filename
   on line n */

oci_password_change($oci, "user", "old", "");
/* Warning: new password cannot be empty in filename
   on line n */
?>

Beispiel #8 In the SPL Extension

<?php
$obj = new SplFileObject(__FILE__);
$obj->fgetcsv("foo");
/* Warning:  SplFileObject::fgetcsv(): delimiter must
   be a character in filename on line n */

$obj->fgetcsv(",", "foo");
/* Warning:  SplFileObject::fgetcsv(): enclosure must
   be a character in filename on line n */
?>

Beispiel #9 In the Semaphore (sysvmsg) extension

<?php
/* Warning:  maximum size of the message has to be
   greater then zero in filename on line n */
?>

Beispiel #10 A 5.2.1+ Zip Example

<?php
$obj = new ZipArchive();
$obj->open('archive.zip');
$obj->setCommentName('', 'comment');
/* Notice:  ZipArchive::setCommentName(): Empty string
   as entry name in filename on line n */

/* As of PHP 5.2.1 */
$obj->getCommentName('');
/* Notice:  ZipArchive::getCommentName(): Empty string
   as entry name in filename on line n */
?>

Backward Incompatible Changes
Changes in PHP datetime support
Migrating from PHP 5.1.x to PHP 5.2.x


Changes in PHP datetime support

Since PHP 5.1.0, there has been an extension named date in the PHP core. This is the new implementation of PHP's datetime support. Although it will attempt to guess your system's timezone setting, you should set the timezone manually. You can do this in any of three ways:

  • in your php.ini using the date.timezone INI directive
  • on your system using the TZ environmental variable
  • from your script using the convenience function date_default_timezone_set()

All supported timezones are listed in the PHP Manual.

With the advent of PHP 5.2.x, there are object representations of the date and timezone, named DateTime and DateTimeZone respectively. The methods map to existing procedural date functions.

New Error Messages
New Parameters
Migrating from PHP 5.1.x to PHP 5.2.x


New Parameters

Some functions were given new, optional, parameters in PHP 5.2.x:

PHP Core:

  • htmlentities() - added double_encode in PHP 5.2.3.
  • htmlspecialchars() - added double_encode in PHP 5.2.3.
  • base64_decode() - added strict
  • setcookie() - added httponly
  • setrawcookie() - added httponly
  • session_set_cookie_params() - added httponly
  • memory_get_usage() - added real_usage
  • get_loaded_extensions() - added zend_extensions in PHP 5.2.4

curl:

  • curl_multi_info_read() - added msgs_in_queue

datetime

  • date() - added "u" (milliseconds) format character in PHP 5.2.2

imap:

  • imap_open() - added n_retries
  • imap_reopen() - added n_retries

mbstring:

  • mb_strrpos() - added offset
    Warnung

    The offset parameter was put in the position the encoding parameter used to be. Backward compatibility has been provided by allowing encoding to be specified as the third parameter. Using this backward compatibility mode is not recommended because it will be removed in a future release of PHP.

ming:

  • SWFMovie::streamMP3() - added skip in PHP 5.2.1

openssl:

  • openssl_verify() - added signature_algo

pgsql:

  • pg_escape_bytea() - added connection
  • pg_escape_string() - added connection

simplexml:

  • SimpleXMLElement::__construct() - added is_prefix
  • SimpleXMLElement::attributes() - added is_prefix
  • SimpleXMLElement::children() - added is_prefix
  • simplexml_load_file() - added is_prefix
  • simplexml_load_string() - added is_prefix

spl:

  • array iterator_to_array(Traversable it [, bool use_keys = true]) - added use_keys in PHP 5.2.1

xmlreader:

  • XMLReader::open() - added encoding and options
  • XMLReader::XML() - added encoding and options

XMLWriter:

  • xmlwriter_write_element() - the content became optional in PHP 5.2.3
  • xmlwriter_write_element_ns() - the content became optional in PHP 5.2.3
Changes in PHP datetime support
New Functions
Migrating from PHP 5.1.x to PHP 5.2.x


New Functions

PHP 5.2.x introduced some new functions:

PHP Core:

  • array_fill_keys() - Create an array using the elements of the first parameter as keys, each initialized to val
  • error_get_last() - Get the last occurred error as associative array. Returns NULL if there hasn't been an error yet
  • image_type_to_extension() - Get file extension for image-type returned by getimagesize(), exif_read_data(), exif_thumbnail(), exif_imagetype()
  • memory_get_peak_usage() - Returns the peak allocated by PHP memory
  • sys_get_temp_dir() - Returns directory path used for temporary files. (Added in 5.2.1)
  • timezone_abbreviations_list() - Returns associative array containing DST, offset and the timezone name
  • timezone_identifiers_list() - Returns numerically indexed array with all timezone identifiers
  • timezone_name_from_abbr() - Returns the timezone name from abbreviation
  • stream_socket_shutdown() - Causes all or part of a full-duplex connection on the socket associated with stream to be shut down. As of PHP 5.2.1.

Image:

  • imagegrabscreen() - Grabs a screenshot of the whole screen. As of PHP 5.2.2.
  • imagegrabwindow() - Captures a window. As of PHP 5.2.2.

libXML:

  • libxml_disable_entity_loader() - Disable the ability to load external entities. As of PHP 5.2.11.

mbstring:

  • mb_stripos() - Finds position of first occurrence of a string within another, case insensitive
  • mb_stristr() - Finds first occurrence of a string within another, case insensitive
  • mb_strrchr() - Finds the last occurrence of a character in a string within another
  • mb_strrichr() - Finds the last occurrence of a character in a string within another, case insensitive
  • mb_strripos() - Finds position of last occurrence of a string within another, case insensitive
  • mb_strstr() - Finds first occurrence of a string within another

ming (As of PHP 5.2.1):

  • void ming_setSWFCompression(int num) - Sets output compression
  • void swfmovie::namedanchor(string name) - Creates anchor
  • void swfmovie::protect([string password]) - Protects

openssl:

  • openssl_csr_get_public_key() - Extracts public key from a CERT and prepares it for use
  • openssl_csr_get_subject() - Returns the subject of a CERT
  • openssl_pkey_get_details() - Returns an array with the key details (bits, pkey, type)

spl:

  • spl_object_hash() - Return hash id for given object
  • int iterator_apply(Traversable it, mixed function [, mixed params]) - Calls a function for every element in an iterator

pcre:

  • preg_last_error() - Returns the error code of the last regex execution

pgsql:

  • pg_field_table() - Returns the name of the table field belongs to, or table's oid if oid_only is TRUE

posix:

  • posix_initgroups() - Calculate the group access list for the user specified in name

gmp:

  • gmp_nextprime() - Finds next prime number

xmlwriter:

  • xmlwriter_full_end_element() - End current element - returns FALSE on error
  • xmlwriter_write_raw() - Write text - returns FALSE on error
  • xmlwriter_start_dtd_entity() - Create start DTD Entity - returns FALSE on error
  • xmlwriter_end_dtd_entity() - End current DTD Entity - returns FALSE on error
  • xmlwriter_write_dtd_entity() - Write full DTD Entity tag - returns FALSE on error
New Parameters
New Methods
Migrating from PHP 5.1.x to PHP 5.2.x


New Methods

New methods were introduced in 5.2.0:

dom:

  • DOMDocument::registerNodeClass() - Register extended class used to create base node type
  • DOMElement::setIDAttribute() - Declares the attribute specified by name to be of type ID
  • DOMElement::setIDAttributeNode() - Declares the attribute specified by node to be of type ID
  • DOMElement::setIDAttributeNS() - Declares the attribute specified by local name and namespace URI to be of type ID
  • DOMNode::C14N()([bool exclusive [, bool with_comments [, array xpath [, array ns_prefixes]]]]) - Canonicalize nodes to a string
  • DOMNode::C14NFile()(string uri [, bool exclusive [, bool with_comments [, array xpath [, array ns_prefixes]]]]) - Canonicalize nodes to a file
  • DOMNode::getNodePath()() - Gets an xpath for a node

soap:

  • SoapServer::setObject()(object obj) - Sets object which will handle SOAP requests

spl:

  • int ArrayObject::asort()(void) - Sort the entries by values
  • int ArrayObject::ksort()(void) - Sort the entries by key
  • int ArrayObject::natcasesort()(void) - Sort the entries by key using case insensitive "natural order" algorithm.
  • int ArrayObject::natsort()(void) - Sort the entries by values using "natural order" algorithm.
  • int ArrayObject::uasort()(callback cmp_function) - Sort the entries by values using a user defined function
  • int ArrayObject::uksort()(callback cmp_function) - Sort the entries by key using a user defined function.
  • ArrayIterator AppendIterator::getArrayIterator()() - Get access to inner ArrayIterator
  • int AppendIterator::getIteratorIndex()() - Get index of iterator
  • bool CachingIterator::getCache()() - Return the cache
  • int CachingIterator::getFlags()() - Return the internal flags
  • bool CachingIterator::offsetExists()(mixed index) - Returns TRUE if the requested index exists
  • string CachingIterator::offsetGet()(mixed index) - Return the internal cache if used
  • void CachingIterator::offsetSet()(mixed index, mixed newval) - Set given index in cache
  • void CachingIterator::offsetUnset()(mixed index) - Unset given index in cache
  • void CachingIterator::setFlags()() - Set the internal flags
  • array("delimiter" =>, "enclosure" =>) SplFileObject::getCsvControl()(void) - Get the delimiter and enclosure character used in fgetcsv()
  • void SplFileObject::setCsvControl()([string delimiter = ',' [, string enclosure = '"']]) - Set the delimiter and enclosure character used in fgetcsv()

Tidy

  • tidyNode tidyNode::getParent()() - Returns the parent node of the current node (Added in PHP 5.2.2)

XMLReader

  • boolean XMLReader::setSchema() - Use W3C XSD schema to validate the document as it is processed. Activation is only possible before the first XMLReader::read()

zip:

  • ZipArchive::addEmptyDir()() - Creates an empty directory in the archive
New Functions
Removed Extensions
Migrating from PHP 5.1.x to PHP 5.2.x


Removed Extensions

These extensions have been moved to PECL and are no longer part of the PHP distribution. The PECL package version of these extensions will be created according to user demand.

  • filePro
  • Hyperwave API
New Methods
New Extensions
Migrating from PHP 5.1.x to PHP 5.2.x


New Extensions

The following are new extensions added (by default) as of PHP 5.2.0:

  • Filter - validates and filters data, and is designed for use with insecure data such as user input. This extension is enabled by default; the default mode RAW does not impact input data in any way.
  • JSON - implements the JavaScript Object Notation (JSON) data interchange format. This extension is enabled by default.
  • Zip - enables you to transparently read or write ZIP compressed archives and the files inside them.
Removed Extensions
New Classes
Migrating from PHP 5.1.x to PHP 5.2.x


New Classes

The following classes were introduced in PHP 5.2.0:

  • DateTime
  • DateTimeZone
  • RegexIterator - extends FilterIterator; implements Iterator, Traversable, OuterIterator Constants:
    • RegexIterator::ALL_MATCHES
    • RegexIterator::GET_MATCH
    • RegexIterator::MATCH
    • RegexIterator::REPLACE
    • RegexIterator::SPLIT
    • RegexIterator::USE_KEY
    Properties:
    • public replacement
    Methods:
    • RegexIterator::__construct(Iterator it, string regex [, int mode [, int flags [, int preg_flags]]]) - Create an RegexIterator from another iterator and a regular expression
    • bool RegexIterator::accept() - Match (string)current() against regular expression
    • bool RegexIterator::getFlags() - Returns current operation flags
    • bool RegexIterator::getMode() - Returns current operation mode
    • bool RegexIterator::getPregFlags() - Returns current PREG flags (if in use or NULL)
    • bool RegexIterator::setFlags(int new_flags) - Set operation flags
    • bool RegexIterator::setMode(int new_mode) - Set new operation mode
    • bool RegexIterator::setPregFlags(int new_flags) - Set PREG flags
  • RecursiveRegexIterator Constants:
    • RecursiveRegexIterator::ALL_MATCHES
    • RecursiveRegexIterator::GET_MATCH
    • RecursiveRegexIterator::MATCH
    • RecursiveRegexIterator::REPLACE
    • RecursiveRegexIterator::SPLIT
    • RecursiveRegexIterator::USE_KEY
    Methods:
    • RecursiveRegexIterator::__construct(RecursiveIterator it, string regex [, int mode [, int flags [, int preg_flags]]]) - Create an RecursiveRegexIterator from another recursive iterator and a regular expression
    • RecursiveRegexIterator RecursiveRegexIterator::getChildren() - Return the inner iterator's children contained in a RecursiveRegexIterator
    • bool RecursiveRegexIterator::hasChildren() - Check whether the inner iterator's current element has children
New Extensions
New Global Constants
Migrating from PHP 5.1.x to PHP 5.2.x


New Global Constants

PHP Core:

  • M_EULER
  • M_LNPI
  • M_SQRT3
  • M_SQRTPI
  • PATHINFO_FILENAME
  • PREG_BACKTRACK_LIMIT_ERROR
  • PREG_BAD_UTF8_ERROR
  • PREG_INTERNAL_ERROR
  • PREG_NO_ERROR
  • PREG_RECURSION_LIMIT_ERROR
  • UPLOAD_ERR_EXTENSION
  • STREAM_SHUT_RD
  • STREAM_SHUT_WR
  • STREAM_SHUT_RDWR

curl:

  • CURLE_FILESIZE_EXCEEDED
  • CURLE_FTP_SSL_FAILED
  • CURLE_LDAP_INVALID_URL
  • CURLFTPAUTH_DEFAULT
  • CURLFTPAUTH_SSL
  • CURLFTPAUTH_TLS
  • CURLFTPSSL_ALL
  • CURLFTPSSL_CONTROL
  • CURLFTPSSL_NONE
  • CURLFTPSSL_TRY
  • CURLOPT_FTP_SSL
  • CURLOPT_FTPSSLAUTH
  • CURLOPT_TCP_NODELAY Added in PHP 5.2.1.
  • CURLOPT_TIMEOUT_MS Added in PHP 5.2.3
  • CURLOPT_CONNECTTIMEOUT_MS Added in PHP 5.2.3

GMP:

  • GMP_VERSION Added in PHP 5.2.2.

ming:

  • SWFTEXTFIELD_USEFONT
  • SWFTEXTFIELD_AUTOSIZE
  • SWF_SOUND_NOT_COMPRESSED
  • SWF_SOUND_ADPCM_COMPRESSED
  • SWF_SOUND_MP3_COMPRESSED
  • SWF_SOUND_NOT_COMPRESSED_LE
  • SWF_SOUND_NELLY_COMPRESSED
  • SWF_SOUND_5KHZ
  • SWF_SOUND_11KHZ
  • SWF_SOUND_22KHZ
  • SWF_SOUND_44KHZ
  • SWF_SOUND_8BITS
  • SWF_SOUND_16BITS
  • SWF_SOUND_MONO
  • SWF_SOUND_STEREO

openssl:

  • OPENSSL_VERSION_NUMBER
  • OPENSSL_VERSION_TEXT

snmp:

  • SNMP_OID_OUTPUT_FULL
  • SNMP_OID_OUTPUT_NUMERIC

Semaphore:

  • MSG_EAGAIN
  • MSG_ENOMSG
New Classes
New Class Constants
Migrating from PHP 5.1.x to PHP 5.2.x


New Class Constants

pdo:

  • PDO::ATTR_DEFAULT_FETCH_MODE
  • PDO::FETCH_PROPS_LATE
  • PDO::FETCH_KEY_PAIR Fetches a 2 column result set into an associated array. (Added in PHP 5.2.3)

spl:

  • CachingIterator::FULL_CACHE
  • CachingIterator::TOSTRING_USE_INNER
  • SplFileObject::READ_AHEAD
  • SplFileObject::READ_CSV
  • SplFileObject::SKIP_EMPTY
New Global Constants
New INI Configuration Directives
Migrating from PHP 5.1.x to PHP 5.2.x


New INI Configuration Directives

New php.ini directives introduced in PHP 5.2.0:

  • allow_url_include This useful option makes it possible to differentiate between standard file operations on remote files, and the inclusion of remote files. While the former is usually desirable, the latter can be a security risk if used naively. Starting with PHP 5.2.0, you can allow remote file operations while disallowing the inclusion of remote files in local scripts. In fact, this is the default configuration.
  • pcre.backtrack_limit PCRE's backtracking limit.
  • pcre.recursion_limit PCRE's recursion limit. Please note that if you set this value to a high number you may consume all the available process stack and eventually crash PHP (due to reaching the stack size limit imposed by the Operating System).
  • session.cookie_httponly Marks the cookie as accessible only through the HTTP protocol. This means that the cookie won't be accessible by scripting languages, such as JavaScript. This setting can effectively help to reduce identity theft through XSS attacks (although it is not supported by all browsers).

New directives in PHP 5.2.2:

  • max_input_nesting_level Limits how deep input variables can be nested, default is 64.
New Class Constants
Error Reporting
Migrating from PHP 5.1.x to PHP 5.2.x


Error Reporting

Some of the existing E_ERROR conditions have been converted to something that can be caught with a user-defined error handler. If an E_RECOVERABLE_ERROR is not handled, it will behave in the same way as E_ERROR behaves in all versions of PHP. Errors of this type are logged as Catchable fatal error.

This change means that the value of the E_ALL error_reporting constant is now 6143, where the previous value was 2047. Because PHP constants have no meaning outside of PHP, in some cases the integer value is used instead so these will need to be adjusted. So for example by setting the error_reporting mode from either the httpd.conf or the .htaccess files, the value has to be changed accordingly. The same applies when the numeric values are used rather than the constants in PHP scripts.

As a side-effect of a change made to prevent duplicate error messages when track_errors is On, it is now necessary to return FALSE from user defined error handlers in order to populate $php_errormsg. This provides a fine-grain control over the levels of messages stored.

New INI Configuration Directives
Other Enhancements
Migrating from PHP 5.1.x to PHP 5.2.x


Other Enhancements

  • Improved memory manager and increased default memory limit. The new memory manager allocates less memory and works faster than the previous incarnation. It allocates memory from the system in large blocks, and then manages the heap by itself. The memory_limit value in php.ini is checked, not for each emalloc() call (as before), but for actual blocks requested from the system. This means that memory_limit is far more accurate than it used to be, since the old memory manager didn't calculate all the memory overhead used by the malloc library. Thanks to this new-found accuracy memory usage may appear to have increased, although actually it has not. To accommodate this apparent increase, the default memory_limit setting was also increased - from 8 to 16 megabytes.
  • Added support for constructors in interfaces to force constructor signature checks in implementations. Starting with PHP 5.2.0, interfaces can have constructors. However, if you choose to declare a constructor in an interface, each class implementing that interface MUST include a constructor with a signature matching that of the base interface constructor. By 'signature' we mean the parameter and return type definitions, including any type hints and including whether the data is passed by reference or by value.
Error Reporting
Migrating from PHP 5.0.x to PHP 5.1.x
Migrating from PHP 5.1.x to PHP 5.2.x


Migrating from PHP 5.0.x to PHP 5.1.x

Inhaltsverzeichnis

  • Key PHP 5.1.x features
  • Changes in reference handling
  • Reading []
  • Integer values in function parameters
  • Class and object changes
  • Extensions
  • Date/time support
  • Changes in database support
  • Checking for E_STRICT

Siehe auch die Migrationsleitfäden für PHP-Versionen 5.0.x, 5.2.x, 5.3.x, 5.4.x, 5.5.x and 5.6.x.

Other Enhancements
Key PHP 5.1.x features
Appendices


Key PHP 5.1.x features

Some of the key features of PHP 5.1.x include:

  • A complete rewrite of date handling code, with improved timezone support.

  • Significant performance improvements compared to PHP 5.0.X.

  • PDO extension is now enabled by default.

  • Over 30 new functions in various extensions and built-in functionality.

  • Over 400 various bug fixes.

Migrating from PHP 5.0.x to PHP 5.1.x
Changes in reference handling
Migrating from PHP 5.0.x to PHP 5.1.x


Changes in reference handling

  • Overview

  • Code that worked under PHP 4.3.x, but now fails

  • Code that worked under PHP 4.3.x, but now throws an error

  • Code that failed under PHP 4.3.x, but now works

  • Code that should have worked under PHP 5.0.x

  • Warnings that came and went

Overview

From the PHP script writer's point of view, the change most likely to impact legacy code is in the way that references are handled in all PHP versions post-dating the PHP 4.4.0 release.

Until and including PHP 4.3, it was possible to send, assign or return variables by reference that should really be returned by value, such as a constant, a temporary value (e.g. the result of an expression), or the result of a function that had itself been returned by value, as here:

<?php
$foo = "123";

function return_value() {
    global $foo;
    return $foo;
}

$bar = &return_value();
?>

Although this code would usually work as expected under PHP 4.3, in the general case the result is undefined. The Zend Engine could not act correctly on these values as references. This bug could and did lead to various hard-to-reproduce memory corruption problems, particularly where the code base was large.

In PHP 4.4.0, PHP 5.0.4 and all subsequent PHP releases, the Engine was fixed to 'know' when the reference operation is being used on a value that should not be referenced. The actual value is now used in such cases, and a warning is emitted. The warning takes the form of an E_NOTICE in PHP 4.4.0 and up, and E_STRICT in PHP 5.0.4 and up.

Code that could potentially produce memory corruption can no longer do so. However, some legacy code might work differently as a result.

Code that worked under PHP 4.3, but now fails

<?php
function func(&$arraykey) {
    return $arraykey; // function returns by value!
}

$array = array('a', 'b', 'c');
foreach (array_keys($array) as $key) {
    $y = &func($array[$key]);
    $z[] =& $y;
}

var_dump($z);
?>
<

Running the above script under any version of PHP that pre-dates the reference fix would produce this output:

array(3) {
  [0]=>
  &string(1) "a"
  [1]=>
  &string(1) "b"
  [2]=>
  &string(1) "c"
}

Following the reference fix, the same code would result in:

array(3) {
  [0]=>
  &string(1) "c"
  [1]=>
  &string(1) "c"
  [2]=>
  &string(1) "c"
}

This is because, following the changes, func() assigns by value. The value of $y is re-assigned, and reference-binding is preserved from $z. Prior to the fix, the value was assigned by reference, leading $y to be re-bound on each assignment. The attempt to bind to a temporary value by reference was the cause of the memory corruption.

Such code can be made to work identically in both the pre-fix and the post-fix PHP versions. The signature of func() can be altered to return by reference, or the reference assignment can be removed from the result of func().

<?php
function func() {
    return 'function return';
}

$x = 'original value';
$y =& $x;
$y = &func();
echo $x;
?>

In PHP 4.3 $x would be 'original value', whereas after the changes it would be 'function return' - remember that where the function does not return by reference, the reference assignment is converted to a regular assignment. Again, this can be brought to a common base, either by forcing func() to return by reference or by eliminating the by-reference assignment.

Code that worked under PHP 4.3.x, but now throws an error

<?php
class Foo {

    function getThis() {
        return $this;
    }

    function destroyThis() {
        $baz =& $this->getThis();
    }
}

$bar = new Foo();
$bar->destroyThis();
var_dump($bar);
?>

In PHP 5.0.3, $bar evaluated to NULL instead of returning an object. That happened because getThis() returns by value, but the value here is assigned by reference. Although it now works in the expected way, this is actually invalid code which will throw an E_NOTICE under PHP 4.4 or an E_STRICT under PHP 5.0.4 and up.

Code that failed under PHP 4.3.x, but now works

<?php
function &f() {
    $x = "foo";
    var_dump($x);
    print "$x\n";
    return($a);
}

for ($i = 0; $i < 3; $i++) {
    $h = &f();
}
?>

In PHP 4.3 the third call to var_dump() produces NULL, due to the memory corruption caused by returning an uninitialized value by reference. This is valid code in PHP 5.0.4 and up, but threw errors in earlier releases of PHP.

<?php
$arr = array('a1' => array('alfa' => 'ok'));
$arr =& $arr['a1'];
echo '-'.$arr['alfa']."-\n";
?>

Until PHP 5.0.5, it wasn't possible to assign an array element by reference in this way. It now is.

Code that should have worked under PHP 5.0.x

There are a couple of instances of bugs reported under PHP 5.0 prior to the reference fixes which now 'work'. However, in both cases errors are thrown by PHP 5.1.x, because the code was invalid in the first place. Returning values by reference using self:: now works in the general case but throws an E_STRICT warning, and although your mileage may vary when assigning by reference to an overloaded object, you will still see an E_ERROR when you try it, even where the assignment itself appears to work.

Warnings that came and went

Nested calls to functions returning by reference are valid code under both PHP 4.3.x and PHP 5.1.x, but threw an unwarranted E_NOTICE or E_STRICT under the intervening PHP releases.

<?php
function & foo() {
    $var = 'ok';
    return $var;
}

function & bar() {
    return foo();
}

$a =& bar();
echo "$a\n";
?>
Key PHP 5.1.x features
Reading []
Migrating from PHP 5.0.x to PHP 5.1.x


Reading []

<?php
class XmlTest {

    function test_ref(&$test) {
        $test = "ok";
    }

    function test($test) { }

    function run() {
        $ar = array();
        $this->test_ref($ar[]);
        var_dump($ar);
        $this->test($ar[]);
    }
}

$o = new XmlTest();
$o->run();
?>

This should always have thrown a fatal E_ERROR, because [] cannot be used for reading in PHP. It is invalid code in PHP 4.4.2 and PHP 5.0.5 upward.

Changes in reference handling
Integer values in function parameters
Migrating from PHP 5.0.x to PHP 5.1.x


Integer values in function parameters

With the advent of PHP 5.0.x, a new parameter parsing API was introduced which is used by a large number of PHP functions. In all versions of PHP between 5.0.x and 5.1.x, the handling of integer values was very strict and would reject non-well formed numeric values when a PHP function expected an integer. These checks have now been relaxed to support non-well formed numeric strings such as " 123" and "123 ", and will no longer fail as they did under PHP 5.0.x. However, to promote code safety and input validation, PHP functions will now emit an E_NOTICE when such strings are passed as integers.

Reading []
Class and object changes
Migrating from PHP 5.0.x to PHP 5.1.x


Class and object changes

  • instanceof, is_a(), is_subclass_of() and catch

  • Abstract private methods

  • Access modifiers in interfaces

  • Changes in inheritance rules

  • Class constants

instanceof, is_a(), is_subclass_of() and catch

In PHP 5.0, is_a() was deprecated and replaced by the instanceof operator. There were some issues with the initial implementation of instanceof, which relied on __autoload() to search for missing classes. If the class was not present, instanceof would throw a fatal E_ERROR due to the failure of __autoload() to discover that class. The same behaviour occurred in the catch operator and the is_subclass_of() function, for the same reason.

None of these functions or operators call __autoload() in PHP 5.1.x, and the class_exists() workarounds used in code written for PHP 5.0.x, while not problematic in any way, are no longer necessary.

Abstract private methods

Abstract private methods were supported between PHP 5.0.0 and PHP 5.0.4, but were then disallowed on the grounds that the behaviours of private and abstract are mutually exclusive.

Access modifiers in interfaces

Under PHP 5.0, function declarations in interfaces were treated in exactly the same way as function declarations in classes. This has not been the case since October 2004, at which point only the public access modifier was allowed in interface function declarations. Since April 2005 - which pre-dates the PHP 5.0b1 release - the static modifier has also been allowed. However, the protected and private modifiers will now throw an E_ERROR, as will abstract. Note that this change should not affect your existing code, as none of these modifiers makes sense in the context of interfaces anyway.

Changes in inheritance rules

Under PHP 5.0, it was possible to have a function declaration in a derived class that did not match the declaration of the same function in the base class, e.g.

This code will cause an E_STRICT error to be emitted under PHP 5.1.x.

<?php
class Base {
    function &return_by_ref() {
        $r = 1;
        return $r;
    }
}

class Derived extends Base {
    function return_by_ref() {
        return 1;
    }
}
?>

Class constants

Under PHP 5.0.x, the following code was valid:

Under PHP 5.1.x, redefinition of a class constant will throw a fatal E_ERROR.

<?php
class test {
    const foobar = 'foo';
    const foobar = 'bar';
}

?>
Integer values in function parameters
Extensions
Migrating from PHP 5.0.x to PHP 5.1.x


Extensions

  • Extensions that are gone from the PHP core

  • Class constants in new PHP 5.1.x extensions

Extensions that are gone from the PHP core

One of the first things you're likely to notice when you download PHP 5.1.x is that several of the older extensions have disappeared. Those extensions that are still actively maintained are available in the PHP Extension Community Library (PECL), at » http://pecl.php.net/.

Removed extensions
Extension | Alternative/Status
ext/cpdf | pecl/pdflib
ext/dbx | pecl/dbx
ext/dio | pecl/dio
ext/fam | Not actively maintained
ext/ingres_ii | pecl/ingres
ext/ircg | Not actively maintained
ext/mcve | pecl/mcve
ext/mnogosearch | Not actively maintained
ext/oracle | ext/oci8 or ext/pdo_oci
ext/ovrimos | Not actively maintained
ext/pfpro | Not actively maintained
ext/w32api | » pecl/ffi
ext/yp | Not actively maintained
ext/activescript | » pecl/activescript

Modules in PECL that are not actively maintained (i.e. have not been supported for some time, have no active maintainer working on them currently, and do not have any PECL package releases), are still available in SVN at » http://svn.php.net/viewvc/pecl. However, unreleased PHP modules are by their nature unsupported, and your mileage may vary when attempting to install or use them.

Class constants in new PHP 5.1.x extensions

The Zend Engine 2.1 API allows extension developers to declare class constants in object oriented extensions. New extensions written for PHP 5.1.x, including SPL, PDO, XMLReader and date, have their constants in the format PDO::CLASS_CONSTANT rather than in the C format PDO_CLASS_CONSTANT in order to minimise pollution of the global namespace in PHP.

Class and object changes
Date/time support
Migrating from PHP 5.0.x to PHP 5.1.x


Date/time support

Date/time support has been fully rewritten in PHP 5.1.x, and no longer uses the system settings to 'know' the timezone in operation. It will instead utilize, in the following order:

  • The timezone set using the date_default_timezone_set() function (if any)

  • The TZ environment variable (if non empty)

  • "magical" guess (if the operating system supports it)

  • If none of the above options succeeds, UTC

To ensure accuracy (and avoid an E_STRICT warning), you will need to define your timezone in your php.ini using the following format:

date.timezone = Europe/London

The supported timezones are listed, in this format, in the timezones appendix.

Also note that strtotime() now returns FALSE on failure, instead of -1.

Extensions
Changes in database support
Migrating from PHP 5.0.x to PHP 5.1.x


Changes in database support

  • PDO overview

  • Changes in MySQL support

  • Changes in SQLite support

PDO overview

PHP Data Objects (PDO) were introduced as a PECL extension under PHP 5.0, and became part of the core PHP distribution in PHP 5.1.x. The PDO extension provides a consistent interface for database access, and is used alongside database-specific PDO drivers. Each driver may also have database-specific functions of its own, but basic data access functionality such as issuing queries and fetching data is covered by PDO functions, using the driver named in PDO::__construct().

Note that the PDO extension, and its drivers, are intended to be built as shared extensions. This will enable straightforward driver upgrades from PECL, without forcing you to rebuild all of PHP.

At the point of the PHP 5.1.x release, PDO is more than ready for widespread testing and could be adopted in most situations. However, it is important to understand that PDO and its drivers are comparatively young and may be missing certain database-specific features; evaluate PDO carefully before you use it in new projects.

Legacy code will generally rely on the pre-existing database extensions, which are still maintained.

Changes in MySQL support

In PHP 4, MySQL 3 support was built-in. With the release of PHP 5.0 there were two MySQL extensions, named 'mysql' and 'mysqli', which were designed to support MySQL < 4.1 and MySQL 4.1 and up, respectively. With the introduction of PDO, which provides a very fast interface to all the database APIs supported by PHP, the PDO_MYSQL driver can support any of the current versions (MySQL 3, 4 or 5) in PHP code written for PDO, depending on the MySQL library version used during compilation. The older MySQL extensions remain in place for reasons of back compatibility, but are not enabled by default.

Changes in SQLite support

In PHP 5.0.x, SQLite 2 support was provided by the built-in sqlite extension, which was also available as a PECL extension in PHP 4.3 and PHP 4.4. With the introduction of PDO, the sqlite extension doubles up to act as a 'sqlite2' driver for PDO; it is due to this that the sqlite extension in PHP 5.1.x has a dependency upon the PDO extension.

PHP 5.1.x ships with a number of alternative interfaces to sqlite:

The sqlite extension provides the "classic" sqlite procedural/OO API that you may have used in prior versions of PHP. It also provides the PDO 'sqlite2' driver, which allows you to access legacy SQLite 2 databases using the PDO API.

PDO_SQLITE provides the 'sqlite' version 3 driver. SQLite version 3 is vastly superior to SQLite version 2, but the file formats of the two versions are not compatible.

If your SQLite-based project is already written and working against earlier PHP versions, then you can continue to use ext/sqlite without problems, but will need to explicitly enable both PDO and sqlite. New projects should use PDO and the 'sqlite' (version 3) driver, as this is faster than SQLite 2, has improved locking concurrency, and supports both prepared statements and binary columns natively.

You must enable PDO to use the SQLite extension. If you want to build the PDO extension as a shared extension, then the SQLite extension must also be built shared. The same holds true for any extension that provides a PDO driver

Date/time support
Checking for E_STRICT
Migrating from PHP 5.0.x to PHP 5.1.x


Checking for E_STRICT

If you only have a single script to check, you can pick up E_STRICT errors using PHP's commandline lint facility:

php -d error_reporting=4095 -l script_to_check.php

For larger projects, the shell script below will achieve the same task:

#!/bin/sh

directory=$1

shift

# These extensions are checked
extensions="php inc"

check_file ()
{
  echo -ne "Doing PHP syntax check on $1 ..."

  # Options:
  ERRORS=`/www/php/bin/php -d display_errors=1 -d html_errors=0 -d error_prepend_string=" " -d error_append_string=" " -d error_reporting=4095 -l $1 | grep -v "No syntax errors detected"`

  if test -z "$ERRORS"; then
    echo -ne "OK."
  else
    echo -e "Errors found!\n$ERRORS"
  fi

  echo
}

# loop over remaining file args
for FILE in "$@" ; do
  for ext in $extensions; do
     if echo $FILE | grep "\.$ext$" > /dev/null; then
       if test -f $FILE; then
         check_file "$FILE"
       fi
     fi
  done
done
Changes in database support
Migrating from PHP 4 to PHP 5.0.x
Migrating from PHP 5.0.x to PHP 5.1.x


Migrating from PHP 4 to PHP 5.0.x

Inhaltsverzeichnis

  • What has changed in PHP 5.0.x
  • Backward Incompatible Changes
  • CLI and CGI
  • Migrating Configuration Files
  • New Functions
  • New Directives
  • Databases
  • New Object Model
  • Error Reporting

Siehe auch die Migrationsleitfäden für PHP-Versionen 5.1.x, 5.2.x, 5.3.x, 5.4.x, 5.5.x and 5.6.x.

Checking for E_STRICT
What has changed in PHP 5.0.x
Appendices


What has changed in PHP 5.0.x

PHP 5 and the integrated Zend Engine 2 have greatly improved PHP's performance and capabilities, but great care has been taken to break as little existing code as possible. So migrating your code from PHP 4 to 5 should be very easy. Most existing PHP 4 code should be ready to run without changes, but you should still know about the few differences and take care to test your code before switching versions in production environments.

Migrating from PHP 4 to PHP 5.0.x
Backward Incompatible Changes
Migrating from PHP 4 to PHP 5.0.x


Backward Incompatible Changes

Although most existing PHP 4 code should work without changes, you should pay attention to the following backward incompatible changes:

  • There are some new reserved keywords.
  • strrpos() and strripos() now use the entire string as a needle.
  • Illegal use of string offsets causes E_ERROR instead of E_WARNING. An example illegal use is: $str = 'abc'; unset($str[0]);.
  • array_merge() was changed to accept only arrays. If a non-array variable is passed, a E_WARNING will be thrown for every such parameter. Be careful because your code may start emitting E_WARNING out of the blue.
  • PATH_TRANSLATED server variable is no longer set implicitly under Apache2 SAPI in contrast to the situation in PHP 4, where it is set to the same value as the SCRIPT_FILENAME server variable when it is not populated by Apache. This change was made to comply with the » CGI/1.1 specification. Please refer to » bug #23610 for further information, and see also the $_SERVER['PATH_TRANSLATED'] description in the manual. This issue also affects PHP versions >= 4.3.2.
  • The T_ML_COMMENT constant is no longer defined by the Tokenizer extension. If error_reporting is set to E_ALL, PHP will generate a notice. Although the T_ML_COMMENT was never used at all, it was defined in PHP 4. In both PHP 4 and PHP 5 // and /* */ are resolved as the T_COMMENT constant. However the PHPDoc style comments /** */, which starting PHP 5 are parsed by PHP, are recognized as T_DOC_COMMENT.
  • $_SERVER should be populated with argc and argv if variables_order includes "S". If you have specifically configured your system to not create $_SERVER, then of course it shouldn't be there. The change was to always make argc and argv available in the CLI version regardless of the variables_order setting. As in, the CLI version will now always populate the global $argc and $argv variables.
  • An object with no properties is no longer considered "empty".
  • In some cases classes must be declared before use. It only happens if some of the new features of PHP 5 (such as interfaces) are used. Otherwise the behaviour is the old.
  • get_class(), get_parent_class() and get_class_methods() now return the name of the classes/methods as they were declared (case-sensitive) which may lead to problems in older scripts that rely on the previous behaviour (the class/method name was always returned lowercased). A possible solution is to search for those functions in all your scripts and use strtolower(). This case sensitivity change also applies to the magical predefined constants __CLASS__, __METHOD__, and __FUNCTION__. The values are returned exactly as they're declared (case-sensitive).
  • ip2long() now returns FALSE when an invalid IP address is passed as argument to the function, and no longer -1.
  • If there are functions defined in the included file, they can be used in the main file independent if they are before return or after. If the file is included twice, PHP 5 issues fatal error because functions were already declared, while PHP 4 doesn't complain about it. It is recommended to use include_once instead of checking if the file was already included and conditionally return inside the included file.
  • include_once and require_once first normalize the path of included file on Windows so that including A.php and a.php include the file just once.
  • Passing an array to a function by value no longer resets the array's internal pointer for array accesses made within the function. In other words, in PHP 4 when you passed an array to a function, its internal pointer inside the function would be reset, while in PHP 5, when you pass an array to a function, its array pointer within the function will be wherever it was when the array was passed to the function.

Beispiel #1 strrpos() and strripos() now use the entire string as a needle

<?php
var_dump(strrpos('ABCDEF','DEF')); //int(3)

var_dump(strrpos('ABCDEF','DAF')); //bool(false)
?>

Beispiel #2 An object with no properties is no longer considered "empty"

<?php
class test { }
$t = new test();

var_dump(empty($t)); // echo bool(false)

if ($t) {
    // Will be executed
}
?>

Beispiel #3 In some cases classes must be declared before used

<?php

//works with no errors:
$a = new a();
class a {
}

//throws an error:
$a = new b();

interface c{
}
class b implements c {
}

?>

What has changed in PHP 5.0.x
CLI and CGI
Migrating from PHP 4 to PHP 5.0.x


CLI and CGI

In PHP 5 there were some changes in CLI and CGI filenames. In PHP 5, the CGI version was renamed to php-cgi.exe (previously php.exe) and the CLI version now sits in the main directory (previously cli/php.exe).

In PHP 5 it was also introduced a new mode: php-win.exe. This is equal to the CLI version, except that php-win doesn't output anything and thus provides no console (no "dos box" appears on the screen). This behavior is similar to php-gtk.

In PHP 5, the CLI version will always populate the global $argv and $argc variables regardless of any php.ini directive setting. Even having register_argc_argv set to off will have no affect in CLI.

See also the command line reference.

Backward Incompatible Changes
Migrating Configuration Files
Migrating from PHP 4 to PHP 5.0.x


Migrating Configuration Files

Since the ISAPI modules changed their names, from php4xxx to php5xxx, you need to make some changes in the configuration files. There were also changes in the CLI and CGI filenames. Please refer to the corresponding section for more information.

Migrating the Apache configuration is extremely easy. See the example below to check the change you need to do:

Beispiel #1 Migrating Apache configuration files for PHP 5

# change this line:
LoadModule php4_module /php/sapi/php4apache2.dll

# with this one:
LoadModule php5_module /php/php5apache2.dll

If your web server is running PHP in CGI mode, you should note that the CGI version has changed its name from php.exe to php-cgi.exe. In Apache, you should do something like this:

Beispiel #2 Migrating Apache configuration files for PHP 5, CGI mode

# change this line:
Action application/x-httpd-php "/php/php.exe"

# with this one:
Action application/x-httpd-php "/php/php-cgi.exe"

In other web servers you need to change either the CGI or the ISAPI module filenames.

CLI and CGI
New Functions
Migrating from PHP 4 to PHP 5.0.x


New Functions

In PHP 5 there are some new functions. Here is the list of them:

Arrays:

  • array_combine() - Creates an array by using one array for keys and another for its values
  • array_diff_uassoc() - Computes the difference of arrays with additional index check which is performed by a user supplied callback function
  • array_udiff() - Computes the difference of arrays by using a callback function for data comparison
  • array_udiff_assoc() - Computes the difference of arrays with additional index check. The data is compared by using a callback function
  • array_udiff_uassoc() - Computes the difference of arrays with additional index check. The data is compared by using a callback function. The index check is done by a callback function also
  • array_walk_recursive() - Apply a user function recursively to every member of an array
  • array_uintersect_assoc() - Computes the intersection of arrays with additional index check. The data is compared by using a callback function
  • array_uintersect_uassoc() - Computes the intersection of arrays with additional index check. Both the data and the indexes are compared by using separate callback functions
  • array_uintersect() - Computes the intersection of arrays. The data is compared by using a callback function

InterBase:

  • ibase_affected_rows() - Return the number of rows that were affected by the previous query
  • ibase_backup() - Initiates a backup task in the service manager and returns immediately
  • ibase_commit_ret() - Commit a transaction without closing it
  • ibase_db_info() - Request statistics about a database
  • ibase_drop_db() - Drops a database
  • ibase_errcode() - Return an error code
  • ibase_free_event_handler() - Cancels a registered event handler
  • ibase_gen_id() - Increments the named generator and returns its new value
  • ibase_maintain_db() - Execute a maintenance command on the database server
  • ibase_name_result() - Assigns a name to a result set
  • ibase_num_params() - Return the number of parameters in a prepared query
  • ibase_param_info() - Return information about a parameter in a prepared query
  • ibase_restore() - Initiates a restore task in the service manager and returns immediately
  • ibase_rollback_ret() - Rollback transaction and retain the transaction context
  • ibase_server_info() - Request statistics about a database server
  • ibase_service_attach() - Connect to the service manager
  • ibase_service_detach() - Disconnect from the service manager
  • ibase_set_event_handler() - Register a callback function to be called when events are posted
  • ibase_wait_event() - Wait for an event to be posted by the database

iconv:

  • iconv_mime_decode() - Decodes a MIME header field
  • iconv_mime_decode_headers() - Decodes multiple MIME header fields at once
  • iconv_mime_encode() - Composes a MIME header field
  • iconv_strlen() - Returns the character count of string
  • iconv_strpos() - Finds position of first occurrence of a needle within a haystack
  • iconv_strrpos() - Finds the last occurrence of a needle within a haystack
  • iconv_substr() - Cut out part of a string

Streams:

  • stream_copy_to_stream() - Copies data from one stream to another
  • stream_get_line() - Gets line from stream resource up to a given delimiter
  • stream_socket_accept() - Accept a connection on a socket created by stream_socket_server()
  • stream_socket_client() - Open Internet or Unix domain socket connection
  • stream_socket_get_name() - Retrieve the name of the local or remote sockets
  • stream_socket_recvfrom() - Receives data from a socket, connected or not
  • stream_socket_sendto() - Sends a message to a socket, whether it is connected or not
  • stream_socket_server() - Create an Internet or Unix domain server socket

Date and time related:

  • idate() - Format a local time/date as integer
  • date_sunset() - Time of sunset for a given day and location
  • date_sunrise() - Time of sunrise for a given day and location
  • time_nanosleep() - Delay for a number of seconds and nanoseconds

Strings:

  • str_split() - Convert a string to an array
  • strpbrk() - Search a string for any of a set of characters
  • substr_compare() - Binary safe optionally case insensitive comparison of two strings from an offset, up to length characters

Other:

  • convert_uudecode() - decode a uuencoded string
  • convert_uuencode() - uuencode a string
  • curl_copy_handle() - Copy a cURL handle along with all of its preferences
  • dba_key_split() - Splits a key in string representation into array representation
  • dbase_get_header_info() - Get the header info of a dBase database
  • dbx_fetch_row() - Fetches rows from a query-result that had the DBX_RESULT_UNBUFFERED flag set
  • fbsql_set_password() - Change the password for a given user
  • file_put_contents() - Write a string to a file
  • ftp_alloc() - Allocates space for a file to be uploaded
  • get_declared_interfaces() - Returns an array of all declared interfaces
  • get_headers() - Fetches all the headers sent by the server in response to a HTTP request
  • headers_list() - Returns a list of response headers sent (or ready to send)
  • http_build_query() - Generate URL-encoded query string
  • image_type_to_extension() - Get file extension for
image-type returned by getimagesize(),
exif_read_data(),
exif_thumbnail(),
exif_imagetype()
  • imagefilter() - Applies a filter to an image using custom arguments
  • imap_getacl() - Gets the ACL for a given mailbox
  • ldap_sasl_bind() - Bind to LDAP directory using SASL
  • mb_list_encodings() - Returns an array of all supported encodings
  • pcntl_getpriority() - Get the priority of any process
  • pcntl_wait() - Waits on or returns the status of a forked child as defined by the waitpid() system call
  • pg_version() - Returns an array with client, protocol and server version (when available)
  • php_check_syntax() - Check the syntax of the specified file
  • php_strip_whitespace() - Return source with stripped comments and whitespace
  • proc_nice() - Change the priority of the current process
  • pspell_config_data_dir() - Change location of language data files
  • pspell_config_dict_dir() - Change location of the main word list
  • setrawcookie() - Send a cookie without URL-encoding the value
  • scandir() - List files and directories inside the specified path
  • snmp_read_mib() - Reads and parses a MIB file into the active MIB tree
  • sqlite_fetch_column_types() - Return an array of column types from a particular table

Hinweis:

The Tidy extension has also changed its API completely.

Migrating Configuration Files
New Directives
Migrating from PHP 4 to PHP 5.0.x


New Directives

There were some new php.ini directives introduced in PHP 5. Here is a list of them:

  • mail.force_extra_parameters - Force the addition of the specified parameters to be passed as extra parameters to the sendmail binary. These parameters will always replace the value of the 5th parameter to mail(), even in safe mode
  • register_long_arrays - allow/disallow PHP to register the deprecated long $HTTP_*_VARS
  • session.hash_function - select a hash function (MD5 or SHA-1)
  • session.hash_bits_per_character - define how many bits are stored in each character when converting the binary hash data to something readable (from 4 to 6)
  • zend.ze1_compatibility_mode - Enable compatibility mode with Zend Engine 1 (PHP 4)
New Functions
Databases
Migrating from PHP 4 to PHP 5.0.x


Databases

There were some changes in PHP 5 regarding databases (MySQL and SQLite).

In PHP 5 the MySQL client libraries are not bundled, because of license and maintenance problems. MySQL is supported with the only change being that MySQL support is no longer enabled by default in PHP 5. This essentially means that PHP doesn't include the --with-mysql option in the configure line so that you must now manually do this when compiling PHP. Windows users will need to edit php.ini and enable the php_mysql.dll DLL as in PHP 4 no such DLL existed, it was simply built into your Windows PHP binaries.

There is also a new extension, MySQLi (Improved MySQL), which is designed to work with MySQL 4.1 and above.

Since PHP 5, the SQLite extension is built-in PHP. SQLite is an embeddable SQL database engine and is not a client library used to connect to a big database server (like MySQL or PostgreSQL). The SQLite library reads and writes directly to and from the database files on disk.

New Directives
New Object Model
Migrating from PHP 4 to PHP 5.0.x


New Object Model

In PHP 5 there is a new Object Model. PHP's handling of objects has been completely rewritten, allowing for better performance and more features. In previous versions of PHP, objects were handled like primitive types (for instance integers and strings). The drawback of this method was that semantically the whole object was copied when a variable was assigned, or passed as a parameter to a method. In the new approach, objects are referenced by handle, and not by value (one can think of a handle as an object's identifier).

Many PHP programmers aren't even aware of the copying quirks of the old object model and, therefore, the majority of PHP applications will work out of the box, or with very few modifications.

The new Object Model is documented at the Language Reference.

In PHP 5, function with the name of a class is called as a constructor only if defined in the same class. In PHP 4, it is called also if defined in the parent class.

See also the zend.ze1_compatibility_mode directive for compatability with PHP 4.

Databases
Error Reporting
Migrating from PHP 4 to PHP 5.0.x


Error Reporting

As of PHP 5 the error reporting constant E_STRICT is available, with the value 2048. When enabled, messages will be issued to warn you about code usage which is deprecated or which may not be future-proof.

Hinweis: E_ALL does not include E_STRICT, so it's not enabled by default. You must explicitly set the error reporting level to include E_STRICT in order to see these messages.

See Predefined Constants for more information.

New Object Model
PHP Debugging
Migrating from PHP 4 to PHP 5.0.x


PHP Debugging

Inhaltsverzeichnis

  • Über Debugging in PHP
Error Reporting
Über Debugging in PHP
Appendices


Über Debugging in PHP

PHP 5.6 enthält den phpdbg interactive debugger PHP Versionen vor 5.6 haben jedoch keine integrierten Debuggingwerkzeuge. Sie können aber einen der externen Debugger verwenden. Die » Zend IDE enthält einen Debugger und es sind auch einige freie Debugger Extensions wie DBG (» http://www.php-debugger.com/dbg/i), » Advanced PHP Debugger (APD) oder » Xdebug verfügbar.

PHP Debugging
Configure options
PHP Debugging


Configure options

Inhaltsverzeichnis

  • List of core configure options
Über Debugging in PHP
List of core configure options
Appendices


List of core configure options

Below is a partial list of configure options used by the PHP configure scripts when compiling in Unix-like environments. Most configure options are listed in their appropriate locations on the extension reference pages and not here. For a complete up-to-date list of configure options, run ./configure --help in your PHP source directory after running autoconf (see also the Installation chapter). You may also be interested in reading the » GNU configure documentation for information on additional configure options such as --prefix=PREFIX.

Hinweis:

These are only used at compile time. If you want to alter PHP's runtime configuration, please see the chapter on Runtime Configuration.

  • Miscellaneous
  • PHP Behaviour
  • Server

Configure Options in PHP

Misc options

--enable-debug

Compile with debugging symbols.

--with-layout=TYPE

Sets how installed files will be laid out. Type is one of PHP (default) or GNU.

--with-pear=DIR

Install PEAR in DIR (default PREFIX/lib/php).

--without-pear

Do not install PEAR.

--enable-sigchild

Enable PHP's own SIGCHLD handler.

--disable-rpath

Disable passing additional runtime library search paths.

--enable-libgcc

Enable explicitly linking against libgcc.

--enable-php-streams

Include experimental PHP streams. Do not use unless you are testing the code!

--with-zlib-dir[=DIR]

Define the location of zlib install directory.

--with-tsrm-pthreads

Use POSIX threads (default).

--enable-shared[=PKGS]

Build shared libraries [default=yes].

--enable-static[=PKGS]

Build static libraries [default=yes].

--enable-fast-install[=PKGS]

Optimize for fast installation [default=yes].

--with-gnu-ld

Assume the C compiler uses GNU ld [default=no].

--disable-libtool-lock

Avoid locking (might break parallel builds).

--with-pic

Try to use only PIC/non-PIC objects [default=use both].

--enable-memory-limit

Compile with memory limit support. (not available since PHP 5.2.1 - always enabled)

--disable-url-fopen-wrapper

Disable the URL-aware fopen wrapper that allows accessing files via HTTP or FTP. (not available since PHP 5.2.5)

--enable-versioning

Export only required symbols. See INSTALL for more information.

PHP options

--enable-maintainer-mode

Aktiviert Makefile-Regeln und Abhängigkeiten die für den gewöhnlichen Anwender nicht nützlich (und manchmal auch verwirrend) sind.

--with-config-file-path=PATH

Setzt den Pfad in dem nach php.ini gesucht wird, Vorgabewert ist PREFIX/lib.

--enable-safe-mode

Der "safe mode" wird standardmäßig aktiviert.

Warnung

Dieses Feature ist seit PHP 5.3.0 DEPRECATED (veraltet) und seit PHP 5.4.0 ENTFERNT.

--with-exec-dir[=DIR]

Im "safe mode" dürfen nur ausführbare Dateien aus dem hier angegebenen Verzeichnis ausgeführt werden. Vorgabewert ist /usr/local/php/bin.

Warnung

Dieses Feature ist seit PHP 5.3.0 DEPRECATED (veraltet) und seit PHP 5.4.0 ENTFERNT.

--enable-magic-quotes

"Magic quotes" werden standardmäßig aktiviert.

Warnung

Dieses Feature ist seit PHP 5.3.0 DEPRECATED (veraltet) und seit PHP 5.4.0 ENTFERNT.

--disable-short-tags

Die Tag-Kurzform <? wird standardmäßig deaktiviert.

--enable-zend-multibyte

Enables multibyte code in the language parser and scanner to be executed. When PHP is compiled with this option, it also enables the encoding directive in the declare construct.

Warnung

Dieses Feature ist seit PHP 5.3.0 DEPRECATED (veraltet) und seit PHP 5.4.0 ENTFERNT.

--with-libdir

Specifies the directory where the libraries to build PHP exists on a Unix system. For 64bit systems, its needed to specify this argument to the lib64 directory like: --with-libdir=lib64.

SAPI options

The following list contains the available SAPI&s (Server Application Programming Interface) for PHP.

--with-aolserver=DIR

Specify path to the installed AOLserver.

--with-apxs[=FILE]

Build shared Apache module. FILE is the optional pathname to the Apache apxs tool; defaults to apxs. Make sure you specify the version of apxs that is actually installed on your system and NOT the one that is in the apache source tarball.

--with-apache[=DIR]

Build a static Apache module. DIR is the top-level Apache build directory, defaults to /usr/local/apache.

--with-mod_charset

Enable transfer tables for mod_charset (Russian Apache).

--with-apxs2[=FILE]

Build shared Apache 2.0 module. FILE is the optional pathname to the Apache apxs tool; defaults to apxs.

--with-caudium=DIR

Build PHP as a Pike module for use with Caudium. DIR is the Caudium server dir, with the default value /usr/local/caudium/server.

--disable-cli

Disable building the CLI version of PHP (this forces --without-pear). More information is available in the section about Using PHP from the command line.

--enable-phpdbg

Enable phpdbg interactive debugger SAPI module support in PHP 5.6.x or later.

--enable-embed[=TYPE]

Enable building of the embedded SAPI library. TYPE is either shared or static, which defaults to shared.

--with-isapi=DIR

Build PHP as an ISAPI module for use with Zeus.

--with-nsapi=DIR

Specify path to the installed Netscape/iPlanet/SunONE Webserver.

--with-phttpd=DIR

No information yet.

--with-pi3web=DIR

Build PHP as a module for use with Pi3Web.

--with-roxen=DIR

Build PHP as a Pike module. DIR is the base Roxen directory, normally /usr/local/roxen/server.

--enable-roxen-zts

Build the Roxen module using Zend Thread Safety.

--with-servlet[=DIR]

Include servlet support. DIR is the base install directory for the JSDK. This SAPI requires the java extension must be built as a shared dl.

--with-thttpd=SRCDIR

Build PHP as thttpd module.

--with-tux=MODULEDIR

Build PHP as a TUX module (Linux only).

--with-webjames=SRCDIR

Build PHP as a WebJames module (RISC OS only)

--disable-cgi

Disable building CGI version of PHP.

As of PHP 5.3.0 this argument enables FastCGI which previously had to be enabled using --enable-fastcgi.

--enable-force-cgi-redirect

Enable the security check for internal server redirects. You should use this if you are running the CGI version with Apache.

As of PHP 5.3.0 this argument is enabled by default and no longer exists. To disable this, the cgi.force_redirect ini directive should be set to 0.

--enable-discard-path

If this is enabled, the PHP CGI binary can safely be placed outside of the web tree and people will not be able to circumvent .htaccess security.

As of PHP 5.3.0 this argument is disabled by default and no longer exists. To enable this feature the cgi.discard_path ini directive must be set to 1.

--enable-fastcgi

If this is enabled, the CGI module will be built with support for FastCGI also.

As of PHP 5.3.0 this argument no longer exists and is enabled by --enable-cgi instead.

--disable-path-info-check

If this is disabled, paths such as /info.php/test?a=b will fail to work. For more information see the » Apache Manual.

Configure options
php.ini Richtlinien
Configure options


php.ini Richtlinien

Inhaltsverzeichnis

  • Liste der php.ini-Direktiven
  • Liste der php.ini-Abschnitte
  • Beschreibung der php.ini-Direktiven des Sprachkerns
List of core configure options
Liste der php.ini-Direktiven
Appendices


Liste der php.ini-Direktiven

Diese Liste enthält die php.ini-Direktiven die Sie zur Konfiguration Ihrer PHP Installation nutzen können.

Die "Änderbar" Spalte gibt an wann und wo die Direktive geändert werden kann. Siehe Liste der möglichen Modi.

Konfiguratinsoptionen
Name | Standard | Veränderbar | Changelog
allow_call_time_pass_reference | "1" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.0.0. Entfernt ab PHP 5.4.0.
allow_url_fopen | "1" | PHP_INI_SYSTEM | PHP_INI_ALL in PHP <= 4.3.4.
allow_url_include | "0" | PHP_INI_SYSTEM | Verfügbar seit PHP 5.2.0.
always_populate_raw_post_data | "0" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.2.3. Verfügbar seit PHP 4.1.0.
apc.cache_by_default | "1" | PHP_INI_ALL | PHP_INI_SYSTEM in APC <= 3.0.12. Verfügbar seit APC 3.0.0.
apc.enabled | "1" | PHP_INI_SYSTEM | PHP_INI_SYSTEM in APC 2. PHP_INI_ALL in APC <= 3.0.12.
apc.enable_cli | "0" | PHP_INI_SYSTEM | Verfügbar seit APC 3.0.7.
apc.file_update_protection | "2" | PHP_INI_SYSTEM | Verfügbar seit APC 3.0.6.
apc.filters | NULL | PHP_INI_SYSTEM |
apc.gc_ttl | "3600" | PHP_INI_SYSTEM |
apc.include_once_override | "0" | PHP_INI_SYSTEM | Verfügbar seit APC 3.0.12.
apc.localcache | "0" | PHP_INI_SYSTEM | Verfügbar seit APC 3.0.14.
apc.localcache.size | "512" | PHP_INI_SYSTEM | Verfügbar seit APC 3.0.14.
apc.max_file_size | "1M" | PHP_INI_SYSTEM | Verfügbar seit APC 3.0.7.
apc.mmap_file_mask | NULL | PHP_INI_SYSTEM |
apc.num_files_hint | "1000" | PHP_INI_SYSTEM |
apc.optimization | "0" | PHP_INI_ALL | PHP_INI_SYSTEM in APC 2. Entfernt ab APC 3.0.13.
apc.report_autofilter | "0" | PHP_INI_SYSTEM | Verfügbar seit APC 3.0.11.
apc.rfc1867 | "0" | PHP_INI_SYSTEM | Verfügbar seit APC 3.0.13.
apc.rfc1867_freq | "0" | PHP_INI_SYSTEM |
apc.rfc1867_name | "APC_UPLOAD_PROGRESS" | PHP_INI_SYSTEM |
apc.rfc1867_prefix | "upload_" | PHP_INI_SYSTEM |
apc.shm_segments | "1" | PHP_INI_SYSTEM |
apc.shm_size | "30" | PHP_INI_SYSTEM |
apc.slam_defense | "0" | PHP_INI_SYSTEM | Verfügbar seit APC 3.0.0.
apc.stat | "1" | PHP_INI_SYSTEM | Verfügbar seit APC 3.0.10.
apc.stat_ctime | "0" | PHP_INI_SYSTEM | Verfügbar seit APC 3.0.13.
apc.ttl | "0" | PHP_INI_SYSTEM | Verfügbar seit APC 3.0.0.
apc.user_entries_hint | "4096" | PHP_INI_SYSTEM | Verfügbar seit APC 3.0.0.
apc.user_ttl | "0" | PHP_INI_SYSTEM | Verfügbar seit APC 3.0.0.
apc.write_lock | "1" | PHP_INI_SYSTEM | Verfügbar seit APC 3.0.11.
apd.bitmask | "0" | PHP_INI_ALL | Entfernt ab apd 0.9.
apd.dumpdir | NULL | PHP_INI_ALL |
apd.statement_tracing | "0" | PHP_INI_ALL | Verfügbar seit apd 0.9.
arg_separator.input | "&" | PHP_INI_PERDIR | Verfügbar seit PHP 4.0.5.
arg_separator.output | "&" | PHP_INI_ALL | Verfügbar seit PHP 4.0.5.
asp_tags | "0" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.0.0.
assert.active | "1" | PHP_INI_ALL |
assert.bail | "0" | PHP_INI_ALL |
assert.callback | NULL | PHP_INI_ALL |
assert.exception | "0" | PHP_INI_ALL | Verfügbar seit PHP 7.0.0.
assert.quiet_eval | "0" | PHP_INI_ALL |
assert.warning | "1" | PHP_INI_ALL |
auto_append_file | NULL | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.2.3.
auto_detect_line_endings | "0" | PHP_INI_ALL | Verfügbar seit PHP 4.3.0.
auto_globals_jit | "1" | PHP_INI_PERDIR | Verfügbar seit PHP 5.0.0.
auto_prepend_file | NULL | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.2.3.
axis2.client_home | "~/work/axisc/c/deply" | PHP_INI_ALL |
axis2.enable_exception | "1" | PHP_INI_ALL |
axis2.enable_trace | "1" | PHP_INI_ALL |
axis2.log_path | "/tmp" | PHP_INI_ALL |
bcmath.scale | "0" | PHP_INI_ALL |
bcompiler.enabled | "1" | PHP_INI_ALL | Verfügbar seit bcompiler 0.8.
blenc.key_file | "/usr/local/etc/blenckeys" | PHP_INI_ALL |
browscap | NULL | PHP_INI_SYSTEM |
cgi.check_shebang_line | "1" | PHP_INI_SYSTEM | Verfügbar seit PHP 5.2.1.
cgi.discard_path | "0" | PHP_INI_SYSTEM | Verfügbar seit PHP 5.3.0.
cgi.fix_pathinfo | "1" | PHP_INI_SYSTEM | PHP_INI_ALL in PHP <= 5.2.0. Verfügbar seit PHP 4.3.0.
cgi.force_redirect | "1" | PHP_INI_SYSTEM | PHP_INI_ALL in PHP <= 5.2.0. Verfügbar seit PHP 4.2.0.
cgi.nph | "0" | PHP_INI_ALL | Verfügbar seit PHP 4.3.5.
cgi.redirect_status_env | NULL | PHP_INI_SYSTEM | PHP_INI_ALL in PHP <= 5.2.0. Verfügbar seit PHP 4.2.0.
cgi.rfc2616_headers | "0" | PHP_INI_ALL | Verfügbar seit PHP 4.3.0.
child_terminate | "0" | PHP_INI_ALL | Verfügbar seit PHP 4.0.5.
cli.pager | "" | PHP_INI_ALL | Verfügbar seit PHP 5.4.0.
cli.prompt | "\\b \\> " | PHP_INI_ALL | Verfügbar seit PHP 5.4.0.
cli_server.color | "0" | PHP_INI_ALL | Verfügbar seit PHP 5.4.0.
coin_acceptor.autoreset | "On" | PHP_INI_ALL | Entfernt ab coin_acceptor 0.2.
coin_acceptor.auto_initialize | "Off" | PHP_INI_ALL | Verfügbar seit coin_acceptor 0.2.
coin_acceptor.auto_reset | "On" | PHP_INI_ALL | Verfügbar seit coin_acceptor 0.2.
coin_acceptor.command_function | "Off" | PHP_INI_ALL | Verfügbar seit coin_acceptor 0.3.
coin_acceptor.delay | "53132" | PHP_INI_ALL | Entfernt ab coin_acceptor 0.2.
coin_acceptor.delay_coins | "53132" | PHP_INI_ALL | Verfügbar seit coin_acceptor 0.2.
coin_acceptor.delay_prom | "55748" | PHP_INI_ALL | Verfügbar seit coin_acceptor 0.2.
coin_acceptor.device | "/dev/ttyS1" | PHP_INI_ALL | Entfernt ab coin_acceptor 0.2.
coin_acceptor.lock_on_close | "Off" | PHP_INI_ALL | Verfügbar seit coin_acceptor 0.2.
coin_acceptor.start_unlocked | "On" | PHP_INI_ALL | Verfügbar seit coin_acceptor 0.2.
com.allow_dcom | "0" | PHP_INI_SYSTEM | Verfügbar seit PHP 4.0.5.
com.autoregister_casesensitive | "1" | PHP_INI_ALL | PHP_INI_SYSTEM in PHP 4. Verfügbar seit PHP 4.1.0.
com.autoregister_typelib | "0" | PHP_INI_ALL | PHP_INI_SYSTEM in PHP 4. Verfügbar seit PHP 4.1.0.
com.autoregister_verbose | "0" | PHP_INI_ALL | PHP_INI_SYSTEM in PHP 4. Verfügbar seit PHP 4.1.0.
com.code_page | "" | PHP_INI_ALL | Verfügbar seit PHP 5.0.0.
com.typelib_file | "" | PHP_INI_SYSTEM | Verfügbar seit PHP 4.0.5.
curl.cainfo | NULL | PHP_INI_SYSTEM | Verfügbar seit PHP 5.3.7.
daffodildb.default_host | "localhost" | PHP_INI_ALL |
daffodildb.default_password | "daffodil" | PHP_INI_ALL |
daffodildb.default_socket | NULL | PHP_INI_ALL |
daffodildb.default_user | "DAFFODIL" | PHP_INI_ALL |
daffodildb.port | "3456" | PHP_INI_ALL |
date.default_latitude | "31.7667" | PHP_INI_ALL | Verfügbar seit PHP 5.0.0.
date.default_longitude | "35.2333" | PHP_INI_ALL | Verfügbar seit PHP 5.0.0.
date.sunrise_zenith | "90.583333" | PHP_INI_ALL | Verfügbar seit PHP 5.0.0.
date.sunset_zenith | "90.583333" | PHP_INI_ALL | Verfügbar seit PHP 5.0.0.
date.timezone | "" | PHP_INI_ALL | Verfügbar seit PHP 5.1.0.
dba.default_handler | "" | PHP_INI_ALL | Verfügbar seit PHP 4.3.3.
dbx.colnames_case | "unchanged" | PHP_INI_SYSTEM | Verfügbar seit PHP 4.3.0. Entfernt ab PHP 5.1.0.
default_charset | "UTF-8" | PHP_INI_ALL | Standardmäßig "UTF-8" seit PHP 5.6.0, leer für PHP < 5.6.0.
default_mimetype | "text/html" | PHP_INI_ALL |
default_socket_timeout | "60" | PHP_INI_ALL | Verfügbar seit PHP 4.3.0.
define_syslog_variables | "0" | PHP_INI_ALL | Entfernt ab PHP 5.4.0.
detect_unicode | "1" | PHP_INI_ALL | Verfügbar seit PHP 5.1.0. Umbenannt zu zend.detect_unicode seit PHP 5.4.0.
disable_classes | "" | Nur php.ini | Verfügbar seit PHP 4.3.2.
disable_functions | "" | Nur php.ini | Verfügbar seit PHP 4.0.1.
display_errors | "1" | PHP_INI_ALL |
display_startup_errors | "0" | PHP_INI_ALL | Verfügbar seit PHP 4.0.3.
docref_ext | "" | PHP_INI_ALL | Verfügbar seit PHP 4.3.2.
docref_root | "" | PHP_INI_ALL | Verfügbar seit PHP 4.3.0.
doc_root | NULL | PHP_INI_SYSTEM |
enable_dl | "1" | PHP_INI_SYSTEM | Dieses veraltete Feature wird in der Zukunft sicherlich entfernt.
enable_post_data_reading | On | PHP_INI_PERDIR | Verfügbar seit PHP 5.4.0.
engine | "1" | PHP_INI_ALL | Verfügbar seit PHP 4.0.5.
error_append_string | NULL | PHP_INI_ALL |
error_log | NULL | PHP_INI_ALL |
error_prepend_string | NULL | PHP_INI_ALL |
error_reporting | NULL | PHP_INI_ALL |
exif.decode_jis_intel | "JIS" | PHP_INI_ALL | Verfügbar seit PHP 4.3.0.
exif.decode_jis_motorola | "JIS" | PHP_INI_ALL | Verfügbar seit PHP 4.3.0.
exif.decode_unicode_intel | "UCS-2LE" | PHP_INI_ALL | Verfügbar seit PHP 4.3.0.
exif.decode_unicode_motorola | "UCS-2BE" | PHP_INI_ALL | Verfügbar seit PHP 4.3.0.
exif.encode_jis | "" | PHP_INI_ALL | Verfügbar seit PHP 4.3.0.
exif.encode_unicode | "ISO-8859-15" | PHP_INI_ALL | Verfügbar seit PHP 4.3.0.
exit_on_timeout | "" | PHP_INI_ALL | Verfügbar seit PHP 5.3.0
expect.logfile | "" | PHP_INI_ALL |
expect.loguser | "1" | PHP_INI_ALL |
expect.timeout | "10" | PHP_INI_ALL |
expose_php | "1" | Nur php.ini |
extension | NULL | Nur php.ini |
extension_dir | "/path/to/php" | PHP_INI_SYSTEM |
fastcgi.impersonate | "0" | PHP_INI_SYSTEM | PHP_INI_ALL in PHP <= 5.2.0. Verfügbar seit PHP 4.3.0.
fastcgi.logging | "1" | PHP_INI_SYSTEM | PHP_INI_ALL in PHP <= 5.2.0. Verfügbar seit PHP 4.4.0.
fbsql.allow_persistent | "1" | PHP_INI_SYSTEM | Verfügbar seit PHP 4.2.0.
fbsql.autocommit | "1" | PHP_INI_SYSTEM | Verfügbar seit PHP 4.0.6.
fbsql.batchSize | "1000" | PHP_INI_SYSTEM | Verfügbar seit PHP 4.2.0. Entfernt ab PHP 5.1.0.
fbsql.batchsize | "1000" | PHP_INI_ALL | Verfügbar seit PHP 5.1.0.
fbsql.default_database | "" | PHP_INI_SYSTEM | Verfügbar seit PHP 4.0.6.
fbsql.default_database_password | "" | PHP_INI_SYSTEM | Verfügbar seit PHP 4.0.6.
fbsql.default_host | NULL | PHP_INI_SYSTEM | Verfügbar seit PHP 4.0.6.
fbsql.default_password | "" | PHP_INI_SYSTEM | Verfügbar seit PHP 4.0.6.
fbsql.default_user | "_SYSTEM" | PHP_INI_SYSTEM | Verfügbar seit PHP 4.0.6.
fbsql.generate_warnings | "0" | PHP_INI_SYSTEM | Verfügbar seit PHP 4.0.6.
fbsql.max_connections | "128" | PHP_INI_SYSTEM | Verfügbar seit PHP 4.0.6.
fbsql.max_links | "128" | PHP_INI_SYSTEM | Verfügbar seit PHP 4.0.6.
fbsql.max_persistent | "-1" | PHP_INI_SYSTEM | Verfügbar seit PHP 4.0.6.
fbsql.max_results | "128" | PHP_INI_SYSTEM | Verfügbar seit PHP 4.0.6.
fbsql.show_timestamp_decimals | "0" | PHP_INI_SYSTEM | Verfügbar seit PHP 5.1.5.
file_uploads | "1" | PHP_INI_SYSTEM | PHP_INI_ALL in PHP <= 4.2.3. Verfügbar seit PHP 4.0.3.
filter.default | "unsafe_raw" | PHP_INI_PERDIR | PHP_INI_ALL in filter <= 0.9.4. Verfügbar seit PHP 5.2.0.
filter.default_flags | NULL | PHP_INI_PERDIR | PHP_INI_ALL in filter <= 0.9.4. Verfügbar seit PHP 5.2.0.
from | "" | PHP_INI_ALL |
gd.jpeg_ignore_warning | "1" | PHP_INI_ALL | Verfügbar seit PHP 5.1.3.
geoip.custom_directory | NULL | PHP_INI_ALL | Verfügbar seit geoip 1.0.1.
geoip.database_standard | "GeoIP.dat" | PHP_INI_ALL | Entfernt ab geoip 1.0.1.
hidef.ini_path | (char*)default_ini_path | PHP_INI_SYSTEM |
highlight.bg | "#FFFFFF" | PHP_INI_ALL | Entfernt ab PHP 5.4.0.
highlight.comment | "#FF8000" | PHP_INI_ALL |
highlight.default | "#0000BB" | PHP_INI_ALL |
highlight.html | "#000000" | PHP_INI_ALL |
highlight.keyword | "#007700" | PHP_INI_ALL |
highlight.string | "#DD0000" | PHP_INI_ALL |
html_errors | "1" | PHP_INI_ALL | PHP_INI_SYSTEM in PHP <= 4.2.3. Verfügbar seit PHP 4.0.2.
htscanner.config_file | ".htaccess" | PHP_INI_SYSTEM |
htscanner.default_docroot | "/" | PHP_INI_SYSTEM |
htscanner.default_ttl | "300" | PHP_INI_SYSTEM | Verfügbar seit htscanner 0.6.0.
htscanner.stop_on_error | "0" | PHP_INI_SYSTEM | Verfügbar seit htscanner 0.7.0.
http.allowed_methods | "" | PHP_INI_ALL | Verfügbar seit pecl_http 0.4.0. Entfernt ab pecl_http 1.0.0.
http.allowed_methods_log | "" | PHP_INI_ALL | Verfügbar seit pecl_http 0.12.0. Entfernt ab pecl_http 1.0.0.
http.cache_log | "" | PHP_INI_ALL | Verfügbar seit pecl_http 0.8.0. Entfernt ab pecl_http 1.0.0.
http.composite_log | "" | PHP_INI_ALL | Verfügbar seit pecl_http 0.12.0. Entfernt ab pecl_http 1.0.0.
http.etag.mode | "MD5" | PHP_INI_ALL | Verfügbar seit pecl_http 1.0.0.
http.etag_mode | "MD5" | PHP_INI_ALL | Verfügbar seit pecl_http 0.12.0. Entfernt ab pecl_http 1.0.0.
http.force_exit | "1" | PHP_INI_ALL | Verfügbar seit pecl_http 0.18.0.
http.log.allowed_methods | "" | PHP_INI_ALL | Verfügbar seit pecl_http 1.0.0.
http.log.cache | "" | PHP_INI_ALL | Verfügbar seit pecl_http 1.0.0.
http.log.composite | "" | PHP_INI_ALL | Verfügbar seit pecl_http 1.0.0.
http.log.not_found | "" | PHP_INI_ALL | Verfügbar seit pecl_http 1.0.0.
http.log.redirect | "" | PHP_INI_ALL | Verfügbar seit pecl_http 1.0.0.
http.ob_deflate_auto | "0" | PHP_INI_PERDIR | Verfügbar seit pecl_http 0.21.0. Entfernt ab pecl_http 1.0.0.
http.ob_deflate_flags | "0" | PHP_INI_ALL | Verfügbar seit pecl_http 0.21.0. Entfernt ab pecl_http 1.0.0.
http.ob_inflate_auto | "0" | PHP_INI_PERDIR | Verfügbar seit pecl_http 0.21.0. Entfernt ab pecl_http 1.0.0.
http.ob_inflate_flags | "0" | PHP_INI_ALL | Verfügbar seit pecl_http 0.21.0. Entfernt ab pecl_http 1.0.0.
http.only_exceptions | "0" | PHP_INI_ALL | Verfügbar seit pecl_http 0.11.0.
http.persistent.handles.ident | "GLOBAL" | PHP_INI_ALL | Verfügbar seit pecl_http 1.5.0.
http.persistent.handles.limit | "-1" | PHP_INI_SYSTEM | Verfügbar seit pecl_http 1.5.0.
http.redirect_log | "" | PHP_INI_ALL | Verfügbar seit pecl_http 0.12.0. Entfernt ab pecl_http 1.0.0.
http.request.datashare.connect | "0" | PHP_INI_SYSTEM | Verfügbar seit pecl_http 1.3.0.
http.request.datashare.cookie | "0" | PHP_INI_SYSTEM | Verfügbar seit pecl_http 1.3.0.
http.request.datashare.dns | "1" | PHP_INI_SYSTEM | Verfügbar seit pecl_http 1.3.0.
http.request.datashare.ssl | "0" | PHP_INI_SYSTEM | Verfügbar seit pecl_http 1.3.0.
http.request.methods.allowed | "" | PHP_INI_ALL | Verfügbar seit pecl_http 1.0.0.
http.request.methods.custom | "" | PHP_INI_PERDIR | Verfügbar seit pecl_http 1.0.0.
http.send.deflate.start_auto | "0" | PHP_INI_PERDIR | Verfügbar seit pecl_http 1.0.0.
http.send.deflate.start_flags | "0" | PHP_INI_ALL | Verfügbar seit pecl_http 1.0.0.
http.send.inflate.start_auto | "0" | PHP_INI_PERDIR | Verfügbar seit pecl_http 1.0.0.
http.send.inflate.start_flags | "0" | PHP_INI_ALL | Verfügbar seit pecl_http 1.0.0.
http.send.not_found_404 | "1" | PHP_INI_ALL | Verfügbar seit pecl_http 1.0.0.
ibase.allow_persistent | "1" | PHP_INI_SYSTEM |
ibase.dateformat | "%Y-%m-%d" | PHP_INI_ALL |
ibase.default_charset | NULL | PHP_INI_ALL | Verfügbar seit PHP 5.0.0.
ibase.default_db | NULL | PHP_INI_SYSTEM | Verfügbar seit PHP 5.0.0.
ibase.default_password | NULL | PHP_INI_ALL |
ibase.default_user | NULL | PHP_INI_ALL |
ibase.max_links | "-1" | PHP_INI_SYSTEM |
ibase.max_persistent | "-1" | PHP_INI_SYSTEM |
ibase.timeformat | "%H:%M:%S" | PHP_INI_ALL |
ibase.timestampformat | "%Y-%m-%d %H:%M:%S" | PHP_INI_ALL |
ibm_db2.binmode | "1" | PHP_INI_ALL |
ibm_db2.i5_all_pconnect | "0" | PHP_INI_SYSTEM | Available since ibm_db2 1.6.5.
ibm_db2.i5_allow_commit | "0" | PHP_INI_SYSTEM | Available since ibm_db2 1.4.9.
ibm_db2.i5_dbcs_alloc | "0" | PHP_INI_SYSTEM | Available since ibm_db2 1.5.0.
ibm_db2.instance_name | NULL | PHP_INI_SYSTEM | Available since ibm_db2 1.0.2.
ibm_db2.i5_ignore_userid | "0" | PHP_INI_SYSTEM | Available since ibm_db2 1.8.0.
iconv.input_encoding | "ISO-8859-1" | PHP_INI_ALL | Verfügbar seit PHP 4.0.5.
iconv.internal_encoding | "ISO-8859-1" | PHP_INI_ALL | Verfügbar seit PHP 4.0.5.
iconv.output_encoding | "ISO-8859-1" | PHP_INI_ALL | Verfügbar seit PHP 4.0.5.
ifx.allow_persistent | "1" | PHP_INI_SYSTEM | Entfernt ab PHP 5.2.1.
ifx.blobinfile | "1" | PHP_INI_ALL | Entfernt ab PHP 5.2.1.
ifx.byteasvarchar | "0" | PHP_INI_ALL | Entfernt ab PHP 5.2.1.
ifx.charasvarchar | "0" | PHP_INI_ALL | Entfernt ab PHP 5.2.1.
ifx.default_host | NULL | PHP_INI_SYSTEM | Entfernt ab PHP 5.2.1.
ifx.default_password | NULL | PHP_INI_SYSTEM | Entfernt ab PHP 5.2.1.
ifx.default_user | NULL | PHP_INI_SYSTEM | Entfernt ab PHP 5.2.1.
ifx.max_links | "-1" | PHP_INI_SYSTEM | Entfernt ab PHP 5.2.1.
ifx.max_persistent | "-1" | PHP_INI_SYSTEM | Entfernt ab PHP 5.2.1.
ifx.nullformat | "0" | PHP_INI_ALL | Entfernt ab PHP 5.2.1.
ifx.textasvarchar | "0" | PHP_INI_ALL | Entfernt ab PHP 5.2.1.
ignore_repeated_errors | "0" | PHP_INI_ALL | Verfügbar seit PHP 4.3.0.
ignore_repeated_source | "0" | PHP_INI_ALL | Verfügbar seit PHP 4.3.0.
ignore_user_abort | "0" | PHP_INI_ALL |
imlib2.font_cache_max_size | "524288" | PHP_INI_ALL |
imlib2.font_path | "/usr/share/php/fonts/" | PHP_INI_ALL |
implicit_flush | "0" | PHP_INI_ALL | PHP_INI_PERDIR in PHP <= 4.2.3.
include_path | ".;/path/to/php/pear" | PHP_INI_ALL |
intl.default_locale | "" | PHP_INI_ALL | Verfügbar seit PHP 5.3.0.
intl.error_level | "0" | PHP_INI_ALL | Verfügbar seit PHP 5.3.0.
intl.use_exceptions | "0" | PHP_INI_ALL | Verfügbar seit PHP 5.5.0.
ingres.allow_persistent | "1" | PHP_INI_SYSTEM | Verfügbar seit Ingres 1.0.0
ingres.array_index_start | "1" | PHP_INI_ALL | Verfügbar seit Ingres 1.4.0
ingres.auto | "1" | PHP_INI_ALL | Verfügbar seit Ingres 2.0.0
ingres.blob_segment_length | "4096" | PHP_INI_ALL | Verfügbar seit Ingres 1.2.0
ingres.cursor_mode | "0" | PHP_INI_ALL | Verfügbar seit Ingres 1.1.0
ingres.default_database | NULL | PHP_INI_ALL | Verfügbar seit Ingres 1.0.0
ingres.default_password | NULL | PHP_INI_ALL | Verfügbar seit Ingres 1.0.0
ingres.default_user | NULL | PHP_INI_ALL | Verfügbar seit Ingres 1.0.0
ingres.describe | 1 | PHP_INI_ALL | Verfügbar seit Ingres 2.1.0
ingres.fetch_buffer_size | 100 | PHP_INI_ALL | Verfügbar seit Ingres 2.1.0
ingres.max_links | "-1" | PHP_INI_SYSTEM | Verfügbar seit Ingres 1.0.0
ingres.max_persistent | "-1" | PHP_INI_SYSTEM | Verfügbar seit Ingres 1.0.0
ingres.reuse_connection | "1" | PHP_INI_ALL | Verfügbar seit Ingres ingres 2.0.0
ingres.scrollable | "1" | PHP_INI_ALL | Verfügbar seit Ingres 2.0.0.
ingres.trace | "0" | PHP_INI_ALL | Verfügbar seit Ingres 2.0.0.
ingres.trace_connect | "0" | PHP_INI_ALL | Verfügbar seit Ingres 1.2.1.
ingres.utf8 | "1" | PHP_INI_ALL | Verfügbar seit Ingres 2.0.0.
last_modified | "0" | PHP_INI_ALL | Verfügbar seit PHP 4.0.5.
ldap.max_links | "-1" | PHP_INI_SYSTEM |
log_errors | "0" | PHP_INI_ALL |
log_errors_max_len | "1024" | PHP_INI_ALL | Verfügbar seit PHP 4.3.0.
magic_quotes_gpc | "1" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.2.3. Deprecated ab PHP 5.3.0. Removed in PHP 5.4.0.
magic_quotes_runtime | "0" | PHP_INI_ALL | Removed in PHP 5.4.0.
magic_quotes_sybase | "0" | PHP_INI_ALL | Removed in PHP 5.4.0.
mail.add_x_header | "0" | PHP_INI_PERDIR | Verfügbar seit PHP 5.3.0.
mail.force_extra_parameters | NULL | Nur php.ini | Verfügbar seit PHP 5.0.0.
mail.log | "" | PHP_INI_PERDIR | Verfügbar seit PHP 5.3.0 (PHP_INI_SYSTEM|PHP_INI_PERDIR)
maxdb.default_db | NULL | PHP_INI_ALL |
maxdb.default_host | NULL | PHP_INI_ALL |
maxdb.default_pw | NULL | PHP_INI_ALL |
maxdb.default_user | NULL | PHP_INI_ALL |
maxdb.long_readlen | "200" | PHP_INI_ALL |
max_execution_time | "30" | PHP_INI_ALL |
max_input_nesting_level | "64" | PHP_INI_PERDIR | Verfügbar seit PHP 4.4.8 und PHP 5.2.3.
max_input_vars | 1000 | PHP_INI_PERDIR | Verfügbar seit PHP 5.3.9.
max_input_time | "-1" | PHP_INI_PERDIR | Verfügbar seit PHP 4.3.0.
mbstring.detect_order | NULL | PHP_INI_ALL | Verfügbar seit PHP 4.0.6.
mbstring.encoding_translation | "0" | PHP_INI_PERDIR | Verfügbar seit PHP 4.3.0.
mbstring.func_overload | "0" | PHP_INI_SYSTEM | PHP_INI_SYSTEM in PHP <= 4.2.3. PHP_INI_SYSTEM | PHP_INI_PERDIR von PHP 4.3 bis 5.2.6. Verfügbar seit PHP 4.2.0.
mbstring.http_input | "pass" | PHP_INI_ALL | Verfügbar seit PHP 4.0.6.
mbstring.http_output | "pass" | PHP_INI_ALL | Verfügbar seit PHP 4.0.6.
mbstring.internal_encoding | NULL | PHP_INI_ALL | Verfügbar seit PHP 4.0.6.
mbstring.language | "neutral" | PHP_INI_ALL | Verfügbar seit PHP 4.3.0. PHP_INI_PERDIR in PHP <= 5.2.6
mbstring.script_encoding | NULL | PHP_INI_ALL | Verfügbar seit PHP 4.3.0. Entfernt in PHP 5.4.0. Verwenden Sie statt dessen zend.script_encoding.
mbstring.http_output_conv_mimetypes | "^(text/|application/xhtml\+xml)" | PHP_INI_ALL | Verfügbar seit PHP 5.3.0.
mbstring.strict_detection | "0" | PHP_INI_ALL | Verfügbar seit PHP 5.1.2.
mbstring.substitute_character | NULL | PHP_INI_ALL | Verfügbar seit PHP 4.0.6.
mcrypt.algorithms_dir | NULL | PHP_INI_ALL | Verfügbar seit PHP 4.0.2.
mcrypt.modes_dir | NULL | PHP_INI_ALL | Verfügbar seit PHP 4.0.2.
memcache.allow_failover | "1" | PHP_INI_ALL | Verfügbar seit memcache 2.0.2.
memcache.chunk_size | "8192" | PHP_INI_ALL | Verfügbar seit memcache 2.0.2.
memcache.default_port | "11211" | PHP_INI_ALL | Verfügbar seit memcache 2.0.2.
memcache.hash_function | "crc32" | PHP_INI_ALL | Verfügbar seit memcache 2.2.0.
memcache.hash_strategy | "standard" | PHP_INI_ALL | Verfügbar seit memcache 2.2.0.
memcache.max_failover_attempts | "20" | PHP_INI_ALL | Verfügbar seit memcache 2.1.0.
memory_limit | "128M" | PHP_INI_ALL |
mime_magic.debug | "0" | PHP_INI_SYSTEM | Verfügbar seit PHP 5.0.0.
mime_magic.magicfile | "/path/to/php/magic.mime" | PHP_INI_SYSTEM | Verfügbar seit PHP 4.3.0.
mongo.allow_empty_keys | 0 | PHP_INI_ALL |
mongo.allow_persistent | 1 | PHP_INI_ALL | Removed in 1.2.0
mongo.chunk_size | 262144 | PHP_INI_ALL |
mongo.cmd | "$" | PHP_INI_ALL |
mongo.default_host | "localhost" | PHP_INI_ALL |
mongo.default_port | 27017 | PHP_INI_ALL |
mongo.is_master_interval | 15 | PHP_INI_ALL | Added in 1.2.10, before 1.3.0 the default value was 60.
mongo.long_as_object | 0 | PHP_INI_ALL |
mongo.native_long | 1 | PHP_INI_ALL | Before 1.5.0, the default value was 0.
mongo.ping_interval | 5 | PHP_INI_ALL | Added in 1.2.10
mongo.utf8 | 1 | PHP_INI_ALL |
msql.allow_persistent | "1" | PHP_INI_ALL |
msql.max_links | "-1" | PHP_INI_ALL |
msql.max_persistent | "-1" | PHP_INI_ALL |
mssql.allow_persistent | "1" | PHP_INI_SYSTEM |
mssql.batchsize | "0" | PHP_INI_ALL | Verfügbar seit PHP 4.0.4.
mssql.charset | "" | PHP_INI_ALL | Verfügbar seit PHP 5.1.2.
mssql.compatability_mode | "0" | PHP_INI_ALL |
mssql.connect_timeout | "5" | PHP_INI_ALL |
mssql.datetimeconvert | "1" | PHP_INI_ALL | Verfügbar seit PHP 4.2.0.
mssql.max_links | "-1" | PHP_INI_SYSTEM |
mssql.max_persistent | "-1" | PHP_INI_SYSTEM |
mssql.max_procs | "-1" | PHP_INI_ALL | Verfügbar seit PHP 4.3.0.
mssql.min_error_severity | "10" | PHP_INI_ALL |
mssql.min_message_severity | "10" | PHP_INI_ALL |
mssql.secure_connection | "0" | PHP_INI_SYSTEM | Verfügbar seit PHP 4.3.0.
mssql.textlimit | "-1" | PHP_INI_ALL |
mssql.textsize | "-1" | PHP_INI_ALL |
mssql.timeout | "60" | PHP_INI_ALL | Verfügbar seit PHP 4.1.0.
mysql.allow_local_infile | "1" | PHP_INI_SYSTEM |
mysql.allow_persistent | "1" | PHP_INI_SYSTEM |
mysql.max_persistent | "-1" | PHP_INI_SYSTEM |
mysql.max_links | "-1" | PHP_INI_SYSTEM |
mysql.trace_mode | "0" | PHP_INI_ALL | Verfügbar ab PHP 4.3.0.
mysql.default_port | NULL | PHP_INI_ALL |
mysql.default_socket | NULL | PHP_INI_ALL | Verfügbar ab PHP 4.0.1.
mysql.default_host | NULL | PHP_INI_ALL |
mysql.default_user | NULL | PHP_INI_ALL |
mysql.default_password | NULL | PHP_INI_ALL |
mysql.connect_timeout | "60" | PHP_INI_ALL | PHP_INI_SYSTEM in PHP <= 4.3.2. Verfügbar ab PHP 4.3.0.
mysqli.allow_local_infile | "1" | PHP_INI_SYSTEM | verfügbar seit PHP 5.2.4
mysqli.allow_persistent | "1" | PHP_INI_SYSTEM | verfügbar seit PHP 5.3.0.
mysqli.max_persistent | "-1" | PHP_INI_SYSTEM | verfügbar seit PHP 5.3.0.
mysqli.max_links | "-1" | PHP_INI_SYSTEM | verfügbar seit PHP 5.0.0
mysqli.default_port | 3306 | PHP_INI_ALL | verfügbar seit PHP 5.0.0
mysqli.default_socket | NULL | PHP_INI_ALL | verfügbar seit PHP 5.0.0
mysqli.default_host | NULL | PHP_INI_ALL | verfügbar seit PHP 5.0.0
mysqli.default_user | NULL | PHP_INI_ALL | verfügbar seit PHP 5.0.0
mysqli.default_pw | NULL | PHP_INI_ALL | verfügbar seit PHP 5.0.0
mysqli.reconnect | "0" | PHP_INI_SYSTEM | verfügbar seit PHP 4.3.5
mysqli.cache_size | "2000" | PHP_INI_SYSTEM | verfügbar seit PHP 5.3.0
mysqlnd.collect_memory_statistics | "0" | PHP_INI_SYSTEM | Verfügbar seit PHP 5.3.0.
mysqlnd.collect_statistics | "1" | PHP_INI_ALL | Verfügbar seit PHP 5.3.0.
mysqlnd.debug | "" | PHP_INI_SYSTEM | Verfügbar seit PHP 5.3.0.
mysqlnd.log_mask | "0" | PHP_INI_ALL | Verfügbar seit PHP 5.4.0.
mysqlnd.mempool_default_size | "16000" | PHP_INI_ALL | Verfügbar seit PHP 5.4.0.
mysqlnd.net_cmd_buffer_size | "4096" | PHP_INI_ALL | Verfügbar seit PHP 5.4.0.
mysqlnd.net_read_buffer_size | "32768" | PHP_INI_ALL | Verfügbar seit PHP 5.3.0.
mysqlnd.net_read_timeout | "31536000" | PHP_INI_SYSTEM | Verfügbar seit PHP 5.4.0.
mysqlnd.sha256_server_public_key | "" | PHP_INI_PERDIR | Verfügbar seit PHP 5.5.0.
mysqlnd.trace_alloc | "" | PHP_INI_SYSTEM | Verfügbar seit PHP 5.5.0.
mysqlnd_memcache.enable | 1 | PHP_INI_SYSTEM | Available since 1.0.0
mysqlnd_ms.enable | 0 | PHP_INI_SYSTEM |
mysqlnd_ms.force_config_usage | 0 | PHP_INI_SYSTEM |
mysqlnd_ms.ini_file | "" | PHP_INI_SYSTEM |
mysqlnd_ms.config_file | "" | PHP_INI_SYSTEM |
mysqlnd_ms.collect_statistics | 0 | PHP_INI_SYSTEM |
mysqlnd_ms.multi_master | 0 | PHP_INI_SYSTEM |
mysqlnd_ms.disable_rw_split | 0 | PHP_INI_SYSTEM |
mysqlnd_mux.enable | 0 | PHP_INI_SYSTEM |
mysqlnd_qc.enable_qc | 1 | PHP_INI_SYSTEM |
mysqlnd_qc.ttl | 30 | PHP_INI_ALL |
mysqlnd_qc.cache_by_default | 0 | PHP_INI_ALL |
mysqlnd_qc.cache_no_table | 0 | PHP_INI_ALL |
mysqlnd_qc.use_request_time | 0 | PHP_INI_ALL |
mysqlnd_qc.time_statistics | 1 | PHP_INI_ALL |
mysqlnd_qc.collect_statistics | 0 | PHP_INI_ALL |
mysqlnd_qc.collect_statistics_log_file | /tmp/mysqlnd_qc.stats | PHP_INI_SYSTEM |
mysqlnd_qc.collect_query_trace | 0 | PHP_INI_SYSTEM |
mysqlnd_qc.query_trace_bt_depth | 3 | PHP_INI_SYSTEM |
mysqlnd_qc.collect_normalized_query_trace | 0 | PHP_INI_SYSTEM |
mysqlnd_qc.ignore_sql_comments | 1 | PHP_INI_ALL |
mysqlnd_qc.slam_defense | 0 | PHP_INI_SYSTEM |
mysqlnd_qc.slam_defense_ttl | 30 | PHP_INI_SYSTEM |
mysqlnd_qc.std_data_copy | 0 | PHP_INI_SYSTEM |
mysqlnd_qc.apc_prefix | qc_ | PHP_INI_ALL |
mysqlnd_qc.memc_server | 127.0.0.1 | PHP_INI_ALL |
mysqlnd_qc.memc_port | 11211 | PHP_INI_ALL |
mysqlnd_qc.sqlite_data_file | :memory: | PHP_INI_ALL |
mysqlnd_uh.enable | 1 | PHP_INI_SYSTEM |
mysqlnd_uh.report_wrong_types | 1 | PHP_INI_ALL |
nsapi.read_timeout | "60" | PHP_INI_ALL | Verfügbar seit PHP 4.3.3.
oci8.connection_class | "" | PHP_INI_ALL | Verfügbar seit PHP 5.3 (PECL OCI8 1.3).
oci8.default_prefetch | "10" | PHP_INI_SYSTEM | Verfügbar seit PHP 5.1.2.
oci8.events | Off | PHP_INI_SYSTEM | Verfügbar seit PHP 5.3 (PECL OCI8 1.3).
oci8.max_persistent | "-1" | PHP_INI_SYSTEM | Verfügbar seit PHP 5.1.2.
oci8.old_oci_close_semantics | "0" | PHP_INI_SYSTEM | Verfügbar seit PHP 5.1.2.
oci8.persistent_timeout | "-1" | PHP_INI_SYSTEM | Verfügbar seit PHP 5.1.2.
oci8.ping_interval | "60" | PHP_INI_SYSTEM | Verfügbar seit PHP 5.1.2.
oci8.privileged_connect | "0" | PHP_INI_SYSTEM | Verfügbar seit PHP 5.1.2.
oci8.statement_cache_size | "20" | PHP_INI_SYSTEM | Verfügbar seit PHP 5.1.2.
odbc.allow_persistent | "1" | PHP_INI_SYSTEM |
odbc.check_persistent | "1" | PHP_INI_SYSTEM |
odbc.defaultbinmode | "1" | PHP_INI_ALL |
odbc.defaultlrl | "4096" | PHP_INI_ALL |
odbc.default_db | NULL | PHP_INI_ALL |
odbc.default_cursortype | "3" | PHP_INI_ALL | Verfügbar seit PHP 5.3.0.
odbc.default_pw | NULL | PHP_INI_ALL |
odbc.default_user | NULL | PHP_INI_ALL |
odbc.max_links | "-1" | PHP_INI_SYSTEM |
odbc.max_persistent | "-1" | PHP_INI_SYSTEM |
odbtp.datetime_format | "object" | PHP_INI_ALL |
odbtp.detach_default_queries | "0" | PHP_INI_ALL |
odbtp.guid_format | "string" | PHP_INI_ALL | Verfügbar seit odbtp 1.1.3.
odbtp.interface_file | "/usr/local/share/odbtp.conf" | PHP_INI_ALL |
odbtp.truncation_errors | "1" | PHP_INI_ALL |
opendirectory.default_separator | "/" | PHP_INI_ALL | Entfernt ab opendirectory 0.2.2.
opendirectory.max_refs | "-1" | PHP_INI_ALL |
opendirectory.separator | "/" | PHP_INI_ALL | Verfügbar seit opendirectory 0.2.2.
open_basedir | NULL | PHP_INI_ALL | PHP_INI_SYSTEM in PHP < 5.2.3.
oracle.allow_persistent | "-1" | PHP_INI_ALL | Entfernt ab PHP 5.1.0.
oracle.max_links | "-1" | PHP_INI_ALL | Entfernt ab PHP 5.1.0.
oracle.max_persistent | "-1" | PHP_INI_ALL | Entfernt ab PHP 5.1.0.
output_buffering | "0" | PHP_INI_PERDIR |
output_handler | NULL | PHP_INI_PERDIR | Verfügbar seit PHP 4.0.4.
pam.servicename | "php" | PHP_INI_ALL |
pcre.backtrack_limit | "1000000" | PHP_INI_ALL | Verfügbar seit PHP 5.2.0.
pcre.recursion_limit | "100000" | PHP_INI_ALL | Verfügbar seit PHP 5.2.0.
pcre.jit | "1" | PHP_INI_ALL | Verfügbar seit PHP 7.0.0.
pdo.dsn.* |  | php.ini only | Verfügbar seit PHP 5.1.0.
pdo_odbc.connection_pooling | "strict" | PHP_INI_ALL | Verfügbar seit PHP 5.1.0.
pdo_odbc.db2_instance_name | NULL | PHP_INI_SYSTEM | Verfügbar seit PHP 5.1.1. Dieses veraltete Feature wird in der Zukunft sicherlich entfernt.
pfpro.defaulthost | "test-payflow.verisign.com" | PHP_INI_ALL | Verfügbar seit PHP 4.0.2. Entfernt ab PHP 5.1.0.
pfpro.defaultport | "443" | PHP_INI_ALL | Verfügbar seit PHP 4.0.2. Entfernt ab PHP 5.1.0.
pfpro.defaulttimeout | "30" | PHP_INI_ALL | Verfügbar seit PHP 4.0.2. Entfernt ab PHP 5.1.0.
pfpro.proxyaddress | "" | PHP_INI_ALL | Verfügbar seit PHP 4.0.2. Entfernt ab PHP 5.1.0.
pfpro.proxylogon | "" | PHP_INI_ALL | Verfügbar seit PHP 4.0.2. Entfernt ab PHP 5.1.0.
pfpro.proxypassword | "" | PHP_INI_ALL | Verfügbar seit PHP 4.0.2. Entfernt ab PHP 5.1.0.
pfpro.proxyport | "" | PHP_INI_ALL | Verfügbar seit PHP 4.0.2. Entfernt ab PHP 5.1.0.
pgsql.allow_persistent | "1" | PHP_INI_SYSTEM |
pgsql.auto_reset_persistent | "0" | PHP_INI_SYSTEM | Verfügbar seit PHP 4.2.0.
pgsql.ignore_notice | "0" | PHP_INI_ALL | Verfügbar seit PHP 4.3.0.
pgsql.log_notice | "0" | PHP_INI_ALL | Verfügbar seit PHP 4.3.0.
pgsql.max_links | "-1" | PHP_INI_SYSTEM |
pgsql.max_persistent | "-1" | PHP_INI_SYSTEM |
phar.cache_list | "" | PHP_INI_SYSTEM | Verfügbar seit PHP 5.4.0.
phar.extract_list | "" | PHP_INI_ALL | Verfügbar seit phar 1.1.0.
phar.readonly | "1" | PHP_INI_ALL |
phar.require_hash | "1" | PHP_INI_ALL |
post_max_size | "8M" | PHP_INI_PERDIR | PHP_INI_SYSTEM in PHP <= 4.2.3. Verfügbar seit PHP 4.0.3.
precision | "14" | PHP_INI_ALL |
python.append_path | "" | PHP_INI_ALL |
python.prepend_path | "." | PHP_INI_ALL |
realpath_cache_size | "16K" | PHP_INI_SYSTEM | Verfügbar seit PHP 5.1.0.
realpath_cache_ttl | "120" | PHP_INI_SYSTEM | Verfügbar seit PHP 5.1.0.
register_argc_argv | "1" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.2.3.
register_globals | "0" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.2.3. Veraltet (deprecated) ab PHP 5.3.0. Entfernt ab PHP 5.4.0.
register_long_arrays | "1" | PHP_INI_PERDIR | Verfügbar seit PHP 5.0.0. Deprecated ab PHP 5.3.0. Entfernt ab PHP 5.4.0.
report_memleaks | "1" | PHP_INI_ALL | Verfügbar seit PHP 4.3.0.
report_zend_debug | "1" | PHP_INI_ALL | Verfügbar seit PHP 5.0.0.
request_order | "" | PHP_INI_PERDIR | Verfügbar seit PHP 5.3.0
runkit.internal_override | "0" | PHP_INI_SYSTEM |
runkit.superglobal | "" | PHP_INI_PERDIR |
safe_mode | "0" | PHP_INI_SYSTEM | Entfernt ab PHP 5.4.0.
safe_mode_allowed_env_vars | "PHP_" | PHP_INI_SYSTEM | Entfernt ab PHP 5.4.0.
safe_mode_exec_dir | "" | PHP_INI_SYSTEM | Entfernt ab PHP 5.4.0.
safe_mode_gid | "0" | PHP_INI_SYSTEM | Verfügbar seit PHP 4.1.0. Entfernt ab PHP 5.4.0.
safe_mode_include_dir | NULL | PHP_INI_SYSTEM | Verfügbar seit PHP 4.1.0. Entfernt ab PHP 5.4.0.
safe_mode_protected_env_vars | "LD_LIBRARY_PATH" | PHP_INI_SYSTEM | Entfernt ab PHP 5.4.0.
sendmail_from | NULL | PHP_INI_ALL |
sendmail_path | "/usr/sbin/sendmail -t -i" | PHP_INI_SYSTEM |
serialize_precision | "-1" | PHP_INI_ALL | Verfügbar seit PHP 4.3.2. Bis PHP 5.3.5 war der Standardwert 100. Bis PHP 7.1.0 war der Standardwert 17.
session.auto_start | "0" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 5.4.19 und in PHP <= 5.5.1.
session.bug_compat_42 | "1" | PHP_INI_ALL | Verfügbar seit PHP 4.3.0. Entfernt ab PHP 5.4.0.
session.bug_compat_warn | "1" | PHP_INI_ALL | Verfügbar seit PHP 4.3.0. Entfernt ab PHP 5.4.0.
session.cache_expire | "180" | PHP_INI_ALL |
session.cache_limiter | "nocache" | PHP_INI_ALL |
session.cookie_domain | "" | PHP_INI_ALL |
session.cookie_httponly | "" | PHP_INI_ALL | Verfügbar seit PHP 5.2.0.
session.cookie_lifetime | "0" | PHP_INI_ALL |
session.cookie_path | "/" | PHP_INI_ALL |
session.cookie_secure | "" | PHP_INI_ALL | Verfügbar seit PHP 4.0.4.
session.entropy_file | "" | PHP_INI_ALL |
session.entropy_length | "0" | PHP_INI_ALL |
session.gc_divisor | "100" | PHP_INI_ALL | Verfügbar seit PHP 4.3.2.
session.gc_maxlifetime | "1440" | PHP_INI_ALL |
session.gc_probability | "1" | PHP_INI_ALL |
session.hash_bits_per_character | "4" | PHP_INI_ALL | Verfügbar seit PHP 5.0.0.
session.hash_function | "0" | PHP_INI_ALL | Verfügbar seit PHP 5.0.0.
session.lazy_write | "1" | PHP_INI_ALL | Verfügbar seit PHP 7.0.0.
session.name | "PHPSESSID" | PHP_INI_ALL |
session.referer_check | "" | PHP_INI_ALL |
session.save_handler | "files" | PHP_INI_ALL |
session.save_path | "" | PHP_INI_ALL |
session.serialize_handler | "php" | PHP_INI_ALL |
session.upload_progress.cleanup | "1" | PHP_INI_PERDIR | Verfügbar seit PHP 5.4.0.
session.upload_progress.enabled | "1" | PHP_INI_PERDIR | Verfügbar seit PHP 5.4.0.
session.upload_progress.freq | "1%" | PHP_INI_PERDIR | Verfügbar seit PHP 5.4.0.
session.upload_progress.min_freq | "1" | PHP_INI_PERDIR | Verfügbar seit PHP 5.4.0.
session.upload_progress.name | "PHP_SESSION_UPLOAD_PROGRESS" | PHP_INI_PERDIR | Verfügbar seit PHP 5.4.0.
session.upload_progress.prefix | "upload_progress_" | PHP_INI_PERDIR | Verfügbar seit PHP 5.4.0.
session.use_strict_mode | "0" | PHP_INI_ALL | Verfügbar seit PHP 5.5.2.
session.use_cookies | "1" | PHP_INI_ALL |
session.use_only_cookies | "1" | PHP_INI_ALL | Verfügbar seit PHP 4.3.0.
session.use_trans_sid | "0" | PHP_INI_ALL | PHP_INI_ALL in PHP <= 4.2.3. PHP_INI_PERDIR in PHP < 5. Verfügbar seit PHP 4.0.3.
session_pgsql.create_table | "1" | PHP_INI_SYSTEM |
session_pgsql.db | "host=localhost dbname=php_session user=nobody" | PHP_INI_SYSTEM |
session_pgsql.disable | "0" | PHP_INI_SYSTEM |
session_pgsql.failover_mode | "0" | PHP_INI_SYSTEM |
session_pgsql.gc_interval | "3600" | PHP_INI_SYSTEM |
session_pgsql.keep_expired | "0" | PHP_INI_SYSTEM |
session_pgsql.sem_file_name | "/tmp/php_session_pgsql" | PHP_INI_SYSTEM |
session_pgsql.serializable | "0" | PHP_INI_SYSTEM |
session_pgsql.short_circuit | "0" | PHP_INI_SYSTEM |
session_pgsql.use_app_vars | "0" | PHP_INI_SYSTEM |
session_pgsql.vacuum_interval | "21600" | PHP_INI_SYSTEM |
short_open_tag | "1" | PHP_INI_PERDIR | PHP_INI_ALL in PHP 4.0.0. PHP_INI_PERDIR in PHP >= 4.0.1.
SMTP | "localhost" | PHP_INI_ALL |
smtp_port | "25" | PHP_INI_ALL | Verfügbar seit PHP 4.3.0.
soap.wsdl_cache | "1" | PHP_INI_ALL | Verfügbar seit PHP 5.1.5.
soap.wsdl_cache_dir | "/tmp" | PHP_INI_ALL | Verfügbar seit PHP 5.0.0.
soap.wsdl_cache_enabled | "1" | PHP_INI_ALL | Verfügbar seit PHP 5.0.0.
soap.wsdl_cache_limit | "5" | PHP_INI_ALL | Verfügbar seit PHP 5.1.5.
soap.wsdl_cache_ttl | "86400" | PHP_INI_ALL | Verfügbar seit PHP 5.0.0.
sql.safe_mode | "0" | PHP_INI_SYSTEM |
sqlite.assoc_case | "0" | PHP_INI_ALL | Verfügbar seit PHP 5.0.0.
sqlite3.extension_dir | "" | PHP_INI_SYSTEM | Verfügbar seit PHP 5.3.11.
sybase.allow_persistent | "1" | PHP_INI_ALL | PHP_INI_ALL in PHP <= 4.0.2. PHP_INI_SYSTEM in PHP <= 4.0.3.
sybase.interface_file | "" | PHP_INI_ALL |
sybase.max_links | "-1" | PHP_INI_ALL | PHP_INI_ALL in PHP <= 4.0.2. PHP_INI_SYSTEM in PHP <= 4.0.3.
sybase.max_persistent | "-1" | PHP_INI_ALL | PHP_INI_ALL in PHP <= 4.0.2. PHP_INI_SYSTEM in PHP <= 4.0.3.
sybase.min_error_severity | "10" | PHP_INI_ALL |
sybase.min_message_severity | "10" | PHP_INI_ALL |
sybct.deadlock_retry_count | "0" | PHP_INI_ALL | Verfügbar seit PHP 4.3.0.
sybct.login_timeout | "-1" | PHP_INI_ALL | Verfügbar seit PHP 4.0.2.
sybct.packet_size | "0" | PHP_INI_ALL | Verfügbar seit PHP 4.3.5.
sybct.timeout | "0" | PHP_INI_ALL | Verfügbar seit PHP 4.0.2.
sys_temp_dir | "" | PHP_INI_SYSTEM | Verfügbar seit PHP 5.5.0.
sysvshm.init_mem | "10000" | PHP_INI_ALL |
tidy.clean_output | "0" | PHP_INI_USER | PHP_INI_PERDIR in PHP 5. Verfügbar seit PHP 5.0.0.
tidy.default_config | "" | PHP_INI_SYSTEM | Verfügbar seit PHP 5.0.0.
track_errors | "0" | PHP_INI_ALL |
unserialize_callback_func | NULL | PHP_INI_ALL | Verfügbar seit PHP 4.2.0.
uploadprogress.file.filename_template | "/tmp/upt_%s.txt" | PHP_INI_ALL |
upload_max_filesize | "2M" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.2.3.
max_file_uploads | 20 | PHP_INI_SYSTEM | Verfügbar seit PHP 5.2.12.
upload_tmp_dir | NULL | PHP_INI_SYSTEM |
url_rewriter.tags | "a=href,area=href,frame=src,form=,fieldset=" | PHP_INI_ALL | Verfügbar seit PHP 4.0.4.
user_agent | NULL | PHP_INI_ALL | Verfügbar seit PHP 4.3.0.
user_dir | NULL | PHP_INI_SYSTEM |
user_ini.cache_ttl | "300" | PHP_INI_SYSTEM | Verfügbar seit PHP 5.3.0.
user_ini.filename | ".user.ini" | PHP_INI_SYSTEM | Verfügbar seit PHP 5.3.0.
valkyrie.auto_validate | "0" | PHP_INI_ALL |
valkyrie.config_path | NULL | PHP_INI_ALL |
variables_order | "EGPCS" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 5.0.5.
vld.active | "0" | PHP_INI_SYSTEM |
vld.execute | "1" | PHP_INI_SYSTEM | Verfügbar seit vld 0.8.0.
vld.skip_append | "0" | PHP_INI_SYSTEM | Verfügbar seit vld 0.8.0.
vld.skip_prepend | "0" | PHP_INI_SYSTEM | Verfügbar seit vld 0.8.0.
windows.show_crt_warning | "0" | PHP_INI_ALL | Verfügbar seit PHP 5.4.0.
xbithack | "0" | PHP_INI_ALL | Verfügbar seit PHP 4.0.5.
xdebug.auto_profile | "0" | PHP_INI_ALL | Entfernt ab Xdebug 2.0.0.
xdebug.auto_profile_mode | "0" | PHP_INI_ALL | Entfernt ab Xdebug 2.0.0.
xdebug.auto_trace | "0" | PHP_INI_ALL |
xdebug.collect_includes | "1" | PHP_INI_ALL | Verfügbar seit Xdebug 2.0.0.
xdebug.collect_params | "0" | PHP_INI_ALL |
xdebug.collect_return | "0" | PHP_INI_ALL | Verfügbar seit Xdebug 2.0.0.
xdebug.collect_vars | "0" | PHP_INI_ALL | Verfügbar seit Xdebug 2.0.0.
xdebug.default_enable | "1" | PHP_INI_ALL | PHP_INI_SYSTEM in Xdebug 1.
xdebug.dump.COOKIE | NULL | PHP_INI_ALL |
xdebug.dump.ENV | NULL | PHP_INI_ALL |
xdebug.dump.FILES | NULL | PHP_INI_ALL |
xdebug.dump.GET | NULL | PHP_INI_ALL |
xdebug.dump.POST | NULL | PHP_INI_ALL |
xdebug.dump.REQUEST | NULL | PHP_INI_ALL |
xdebug.dump.SERVER | NULL | PHP_INI_ALL |
xdebug.dump.SESSION | NULL | PHP_INI_ALL |
xdebug.dump_globals | "1" | PHP_INI_ALL | Verfügbar seit Xdebug 2.0.0.
xdebug.dump_once | "1" | PHP_INI_ALL |
xdebug.dump_undefined | "0" | PHP_INI_ALL |
xdebug.extended_info | "1" | PHP_INI_SYSTEM | Verfügbar seit Xdebug 2.0.0.
xdebug.idekey | "" | PHP_INI_ALL | Verfügbar seit Xdebug 2.0.0.
xdebug.manual_url | "http://www.php.net" | PHP_INI_ALL |
xdebug.max_nesting_level | "100" | PHP_INI_ALL |
xdebug.output_dir | "/tmp" | PHP_INI_PERDIR | PHP_INI_SYSTEM in Xdebug <= 1.2.0. Entfernt ab Xdebug 2.0.0.
xdebug.profiler_aggregate | "0" | PHP_INI_PERDIR | Verfügbar seit Xdebug 2.0.0.
xdebug.profiler_append | "0" | PHP_INI_PERDIR | Verfügbar seit Xdebug 2.0.0.
xdebug.profiler_enable | "0" | PHP_INI_PERDIR | Verfügbar seit Xdebug 2.0.0.
xdebug.profiler_enable_trigger | "0" | PHP_INI_PERDIR | Verfügbar seit Xdebug 2.0.0.
xdebug.profiler_output_dir | "/tmp" | PHP_INI_PERDIR | Verfügbar seit Xdebug 2.0.0.
xdebug.profiler_output_name | "cachegrind.out.%p" | PHP_INI_PERDIR | Verfügbar seit Xdebug 2.0.0.
xdebug.remote_autostart | "0" | PHP_INI_ALL | Verfügbar seit Xdebug 2.0.0.
xdebug.remote_enable | "0" | PHP_INI_PERDIR |
xdebug.remote_handler | "dbgp" | PHP_INI_ALL |
xdebug.remote_host | "localhost" | PHP_INI_ALL |
xdebug.remote_log | "" | PHP_INI_ALL | Verfügbar seit Xdebug 2.0.0.
xdebug.remote_mode | "req" | PHP_INI_ALL |
xdebug.remote_port | "9000" | PHP_INI_ALL |
xdebug.show_exception_trace | "0" | PHP_INI_ALL | Verfügbar seit Xdebug 2.0.0.
xdebug.show_local_vars | "0" | PHP_INI_ALL | Verfügbar seit Xdebug 2.0.0.
xdebug.show_mem_delta | "0" | PHP_INI_ALL | Verfügbar seit Xdebug 2.0.0.
xdebug.trace_format | "0" | PHP_INI_ALL | Verfügbar seit Xdebug 2.0.0.
xdebug.trace_options | "0" | PHP_INI_ALL | Verfügbar seit Xdebug 2.0.0.
xdebug.trace_output_dir | "/tmp" | PHP_INI_ALL | Verfügbar seit Xdebug 2.0.0.
xdebug.trace_output_name | "trace.%c" | PHP_INI_ALL | Verfügbar seit Xdebug 2.0.0.
xdebug.var_display_max_children | "128" | PHP_INI_ALL | Verfügbar seit Xdebug 2.0.0.
xdebug.var_display_max_data | "512" | PHP_INI_ALL | Verfügbar seit Xdebug 2.0.0.
xdebug.var_display_max_depth | "3" | PHP_INI_ALL | Verfügbar seit Xdebug 2.0.0.
xmlrpc_errors | "0" | PHP_INI_SYSTEM | Verfügbar seit PHP 4.1.0.
xmlrpc_error_number | "0" | PHP_INI_ALL | Verfügbar seit PHP 4.1.0.
xmms.path | "/usr/bin/xmms" | PHP_INI_ALL |
xmms.session | "0" | PHP_INI_ALL |
xsl.security_prefs | "44" | PHP_INI_ALL | Verfügbar seit PHP 5.5.0.
y2k_compliance | "1" | PHP_INI_ALL | Removed in PHP 5.4.0.
yami.response.timeout | "5" | PHP_INI_ALL | Verfügbar seit yami 1.0.1.
yaz.keepalive | "120" | PHP_INI_ALL |
yaz.log_mask | NULL | PHP_INI_ALL | Verfügbar seit yaz 1.0.3.
zend.assertions | "1" | PHP_INI_ALL | Verfügbar seit PHP 7.0.0.
zend.detect_unicode | "1" | PHP_INI_ALL | Verfügbar seit PHP 5.4.0.
zend.enable_gc | "1" | PHP_INI_ALL | Verfügbar seit PHP 5.3.0.
zend.multibyte | "0" | PHP_INI_PERDIR | Verfügbar seit PHP 5.4.0.
zend.script_encoding | NULL | PHP_INI_ALL | Verfügbar seit PHP 5.4.0.
zend.signal_check | "0" | PHP_INI_SYSTEM | Verfügbar seit PHP 5.4.0.
zend.ze1_compatibility_mode | "0" | PHP_INI_ALL | Verfügbar seit PHP 5.0.0. Entfernt ab PHP 5.3.0.
zend_extension | NULL | Nur php.ini |
zend_extension_debug | NULL | Nur php.ini |
zend_extension_debug_ts | NULL | Nur php.ini |
zend_extension_ts | NULL | Nur php.ini |
zlib.output_compression | "0" | PHP_INI_ALL | Verfügbar seit PHP 4.0.5.
zlib.output_compression_level | "-1" | PHP_INI_ALL | Verfügbar seit PHP 4.3.0.
zlib.output_handler | "" | PHP_INI_ALL | Verfügbar seit PHP 4.3.0.

php.ini Richtlinien
Liste der php.ini-Abschnitte
php.ini Richtlinien


Liste der php.ini-Abschnitte

Diese Liste beinhaltet die php.ini Abschnitte die Sie für die Konfiguration auf Basis des Host- oder Pfadnames nutzen können. Diese Abschnitte sind optional.

Die Abschnitte selbst beeinflussen PHP nicht direkt. Sie werden genutzt um andere php.ini Direktiven zu gruppieren und sie für einen bestimmten Host- oder Pfadnamen anzuwenden.

Diese Abschnitte werden nur benutzt, wenn PHP über CGI/FastCGI operiert, und können extension und zend_extension nicht setzen.

Abschnitte
Name | Veränderbar | Changelog
[HOST=] | PHP_INI_SYSTEM | Hinzugefügt in PHP 5.3.0.
[PATH=] | PHP_INI_SYSTEM | Hinzugefügt in PHP 5.3.0.

Hier eine kurze Erklärung der Konfigurationsoptionen:

[HOST=<host>]

Dieser Abschnitt gestattet die Definition einer Gruppe von php.ini Direktiven die für einen bestimmten Host Anwendung finden sollen.

Beispiel #1 Aktiviere volle Fehlerausgaben im Browser für die dev. Domain

[HOST=dev.site.com]
error_reporting = E_ALL
display_errors = On

[PATH=<path>]

Dieser Abschnitt gestattet die Definition einer Gruppe von php.ini Direktiven die für einen bestimmten Pfad Anwendung finden sollen.

Beispiel #2 Binde für ein zu sicherndes Verzeichnis ein Sicherheitsscript hinzu

[PATH=/home/site/public/secure]
auto_prepend_file=security.php

Liste der php.ini-Direktiven
Beschreibung der php.ini-Direktiven des Sprachkerns
php.ini Richtlinien


Beschreibung der php.ini-Direktiven des Sprachkerns

Diese Liste enthält die php.ini Direktiven des PHP-Kerns die Sie in Ihrer Installation verwenden können. Direktiven, die von einer der Erweiterungen verarbeitet werden, werden in den Handbuchseiten der jeweiligen Erweiterung aufgelistet und im Detail beschrieben. So können z.B. die Direktiven zur Konfiguration von Sessions auf den Session-Handbuchseiten gefunden werden.

Hinweis:

Die Voreinstellungen, die hier aufgeführt werden, gelten, wenn php.ini nicht geladen wurde. Die Werte für die Produktions- und Entwicklungs-php.ini können anders sein.

Httpd-Optionen

Httpd-Optionen
Name | Standard | Veränderbar | Changelog
async_send | "0" | PHP_INI_ALL | Verfügbar seit PHP 4.2.0. Entfernt in PHP 4.3.0.

Sprachoptionen

Konfiguration der Sprache und verschiedene weitere Optionen
Name | Standard | Veränderbar | Changelog
short_open_tag | "1" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.0.0. PHP_INI_PERDIR in PHP >= 4.0.1.
asp_tags | "0" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.0.0. Entfernt in PHP 7.0.0.
precision | "14" | PHP_INI_ALL |
serialize_precision | "17" | PHP_INI_ALL | Verfügbar seit PHP 4.3.2. Bis PHP 5.3.5 war der Standardwert 100.
y2k_compliance | "1" | PHP_INI_ALL | Entfernt ab PHP 5.4.0.
allow_call_time_pass_reference | "1" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.0.0. Entfernt ab PHP 5.4.0.
disable_functions | "" | Nur PHP_INI_SYSTEM | Verfügbar seit PHP 4.0.1.
disable_classes | "" | Nur php.ini | Verfügbar seit PHP 4.3.2.
exit_on_timeout | "" | PHP_INI_ALL | Verfügbar seit PHP 5.3.0.
expose_php | "1" | Nur php.ini |
zend.multibyte | "0" | PHP_INI_ALL | Verfügbar seit PHP 5.4.0.
zend.script_encoding | NULL | PHP_INI_ALL | Verfügbar seit PHP 5.4.0.
zend.detect-unicode | NULL | PHP_INI_ALL | Verfügbar seit PHP 5.4.0
zend.signal_check | "0" | PHP_INI_SYSTEM | Verfügbar seit PHP 5.4.0.
zend.assertions | "1" | PHP_INI_ALL mit Einschränkungen | Verfügbar seit PHP 7.0.0.
zend.ze1_compatibility_mode | "0" | PHP_INI_ALL | Verfügbar seit PHP 5.0.0. Entfernt ab PHP 5.3.0
detect_unicode | "1" | PHP_INI_ALL | Verfügbar seit PHP 5.1.0. Umbenannt zu zend.detect-unicode ab PHP 5.4.0.

Hier eine kurze Erklärung der Konfigurationsoptionen:

short_open_tag boolean

Bestimmt, ob die Kurzform (<? ?>) des PHP-Öffnungs-Tags erlaubt werden soll. Wenn Sie PHP in Kombination mit XML benutzen wollen, dann deaktivieren Sie diese Option, um <?xml ?> nutzen zu können. Anderenfalls können Sie das Tag mit PHP ausgeben, z.B. <?php echo '<?xml version="1.0"'; ?>. Wenn diese Option deaktiviert ist, müssen Sie die Langform des PHP-Öffnungs-Tags (<?php ?>) benutzen.

Hinweis:

Vor PHP 5.4.0 betraf diese Option auch die Kurzform <?=, die zu <? echo identisch ist. Um diese Kurzform nutzen zu können, musste short_open_tag auf on gesetzt sein. Seit PHP 5.4.0 ist <?= immer verfügbar.

asp_tags boolean
Dieser Schalter aktiviert die Unterstützung von ASP <% %> Tags als Erweiterung zu den Üblichen <?php ?> Tags. Dieses beinhaltet auch die Kurzform der Variablenausgabe <%= $value %>. Weitere Informationen finden Sie hier: Den HTML-Bereich der Datei verlassen.

Changelog für asp_tags
Version | Beschreibung
7.0.0 | Von PHP entfernt.

precision integer
Die Anzahl der signifikanten Stellen, die in Fließkommazahlen dargestellt werden. -1 bedeutet, dass ein verbesserter Algorithmus zur Rundung solcher Zahlen verwendet wird.
serialize_precision integer
Die Anzahl der signifikanten Stellen, die gespeichert werden wenn Fließkommazahlen serialisiert werden. -1 bedeutet, dass ein verbesserter Algorithmus zur Rundung solcher Zahlen verwendet wird.
y2k_compliance boolean
Erzwingen der Jahr 2000-Kompatibilität (erzeugt eventuell Probleme mit nicht-kompatiblen Browsern).
allow_call_time_pass_reference boolean

Bestimmt, ob eine Warnung geworfen werden soll, wenn einer Funktion Argumente beim Aufruf als Referenz zu übergeben. Die empfohlene Methode zu bestimmen, welche Argumente per Referenz übergeben werden sollen, ist die Angabe in der Funktionsdeklaration. Wir empfehlen Ihnen, diese Option versuchsweise auf Off zu setzen und dann zu prüfen, ob Ihre Skripte noch korrekt laufen, um sicherzustellen, dass sie auch mit künftigen Versionen von PHP kompatibel sind (sie bekommen ein "Warning", wenn Sie diese Funktion trotzdem benutzen).

Die Übergabe von Argumenten per Referenz an eine Funktion beim Aufruf dieser Funktion wird aus Gründen der Lesbarkeit des Codes als veraltet angesehen. Eine Funktion kann die ihr übergebenen Argumente in einer undokumentierten und unerwünschten Weise verändern, wenn bei der Deklaration der Funktion nicht klar ist, welche Argumente als Referenz übergeben werden. Um unerwünschte Nebeneffekte zu vermeiden, ist es besser, Argumente die als Referenz übergeben werden sollen nur in der Funktionsdeklaration zu kennzeichnen.

Siehe auch Referenzen in PHP.

Changelog for allow_call_time_pass_reference
Version | Beschreibung
5.4.0 | Aus PHP entfernt.
5.3.0 | Wirft einen Fehler der Stufe E_DEPRECATED.
5.0.0 | Deprecated (veraltet) und wirft einen Fehler der Stufe E_COMPILE_WARNING.

expose_php boolean

Bestimmt, ob PHP die Tatsache, dass es auf dem Server installiert ist, über einen Header bekannt geben darf (z.B. X-Powered-By: PHP/5.3.7). Vor PHP 5.5.0 wurde weiterhin dadurch kontrolliert, ob das PHP-Logo durch das Anhängen eines speziellen URL-Segments erreichbar ist (z.B. » http://www.php.net/?=PHPE9568F34-D428-11d2-A769-00AA001ACF42). Dies beeinflusste die Ausgabe von phpinfo(), da bei ausgeschalteter Option das PHP-Logo und die Credits nicht angezeigt würden.

Hinweis:

Ab PHP 5.5.0 wurden diese GUIDs und die Funktion php_logo_guid() entfernt, und die GUIDs durch Data-URIs ersetzt. Daher kann nicht länger auf das PHP-Logo durch Anhängen der GUID an die URL zugegriffen werden. Entsprechend wird das Setzen von expose_php auf Off die Anzeige des PHP-Logos in phpinfo() nicht beeinflussen.

Weitere Informationen unter php_logo_guid() und phpcredits().

disable_functions string

Diese Direktive ermöglicht das Deaktivieren einzelner Funktionen aus Sicherheitsgründen. Die Funktionen werden als kommagetrennte Liste von Funktionsnamen übergeben. Die Direktive ist unabhängig vom Safe Mode.

Nur interne Funktionen können über diese Direktive deaktiviert werden. Nutzer definierte Funktionen sind nicht betroffen.

Diese Direktive muss in php.ini gesetzt werden. Sie kann nicht in beispielsweise httpd.conf gesetzt werden.

disable_classes string
Diese Direktive ermöglicht das Deaktivieren einzelner Klassen aus Sicherheitsgründen. Die Funktionen werden als kommagetrennte Liste von Klassennamen übergeben. Die Direktive ist unabhängig vom Safe Mode. Diese Direktive muss in php.ini gesetzt werden. Sie kann nicht in beispielsweise httpd.conf gesetzt werden.
zend.assertions integer
Falls 1, dann wird Assertion-Code erzeugt und ausgeführt (Entwicklungsmodus). Falls 0, dann wird Assertion-Code erzeugt, aber zur Laufzeit ausgelassen (nicht ausgeführt). Falls -1, dann wird Assertion-Code nicht erzeugt, so dass die Assertions keine Laufzeitkosten haben (Produktionsmodus).

Hinweis:

Wurde der Prozess im Produktionsmodus gestartet, kann zend.assertions nicht zur Laufzeit geändert werden, da der Assertion-Code nicht erzeugt wurde.

Wurde der Prozess im Entwicklungsmodus gestartet, kann zend.assertions zur Laufzeit nicht auf -1 gesetzt werden.

zend.ze1_compatibility_mode boolean

Aktiviert den Kompatibilätsmodus mit der Zend Engin 1 (PHP4). Diese Einstellung wirkt sich auf das Klonen, Casten und Vergleichen von Objekten aus. In diesem Modus werden Objekte standardmäßig als Werte anstelle von Referenzen übergeben.

Siehe auch den Abschnitt Von PHP 4 auf PHP 5 wechseln.

Warnung

Dieses Feature wurde in PHP 5.3.0 DEPRECATED und ENTFERNT.

zend.multibyte boolean

Erlaubt das Parsen von Source Code Dateien in Multibyte Encodings. Die Aktivierung von zend.multibyte ist erforderlich um Zeichenkodierungen wie SJIS, BIG5, usw. zu verwenden, die besondere Zeichen in multibyte Zeichenkettendaten enthalten. ISO-8859-1 kompatible Kodierungen wie UTF-8, EUC, usw. erfordern diese Option nicht.

Das Aktivieren von zend.multibyte erfordert die Verfügbarkeit der mbstring Extension.

zend.script_encoding string

Dieser Wert wird benutzt, sofern keine declare(encoding=...) Direktive am Anfang des Skriptes genutzt wird. Wird eine ISO-8859-1 inkompatible Kodierung verwendet, müssen sowohl zend.multibyte als auch zend.script_encoding verwendet werden.

Zeichenkettenliterale werden von zend.script_enconding in mbstring.internal_encoding übersetzt als ob mb_convert_encoding() aufgerufen worden wäre.

detect_unicode boolean

Erkenne, ob eine BOM (Byte Order Mark) vorhanden ist und prüfe ob die Datei valide Multibyte Zeichen enthält. Diese Erkennung wird vorgenommen bevor __halt_compiler() verarbeitet wird. Diese Option ist nur im Zend Multibyte Modus verfügbar.

zend.signal_check boolean

Ob während des Shutdowns geprüft werden soll, ob Signal Handler ersetzt wurden.

exit_on_timeout boolean

Diese Einstellung betrifft nur Apache1 mit mod_php. Sie zwingt den Apache Kind-Prozess sich zu beenden, wenn ein PHP Timeout auftritt. Solch ein Timeout verursacht einen internen longjmp() Aufruf, welches einige Erweiterungen in einem inkonsistenten Zustand hinterlassen kann. Durch das Beenden des Prozesses werden ausstehende Locks und allozierter Arbeitsspeicher freigegeben.

Limitierung von Ressourcen

Limitierung von Ressourcen
Name | Standard | Veränderbar | Changelog
memory_limit | "128M" | PHP_INI_ALL | "8M" vor PHP 5.2.0, "16M" in PHP 5.2.0

Hier eine kurze Erklärung der Konfigurationsoptionen:

memory_limit integer

Setzt den Maximalwert des Speichers in Byte, den ein Skript verbrauchen darf. Damit können schlecht geschriebene Skripte daran gehindert werden, den gesamten verfügbaren Speicher eines Servers "aufzufressen". Um keine Speicherobergrenze festzulegen, stellen Sie diese Direktive auf den Wert -1.

Um diese Direktive verwernden zu können, war es in PHP Versionen vor 5.2.1 notwendig, dass bei der Kompilierung in der Konfigurationszeile --enable-memory-limit verwendet wurde. Dies war außerdem notwendig, damit die Funktionen memory_get_usage() und memory_get_peak_usage() definiert wurden.

Wird ein integer-Wert verwendet, wird dieser Wert in Bytes gemessen. Sie können auch die Kurzschreibweise verwenden, wie in dieser FAQ beschrieben.

Siehe auch: max_execution_time.

Performancetuning

Performancetuning
Name | Standard | Veränderbar | Changelog
realpath_cache_size | "16K" | PHP_INI_SYSTEM | Verfügbar seit PHP 5.1.0.
realpath_cache_ttl | "120" | PHP_INI_SYSTEM | Verfügbar seit PHP 5.1.0.

Hier eine kurze Erklärung der Konfigurationsoptionen:

realpath_cache_size integer

Legt die Größe des von PHP nutzbaren realpath-Caches fest. Dieser Wert sollte auf Systemen erhöht werden, auf denen PHP viele Dateien öffnet, um die Anzahl von Dateioperationen widerzuspiegeln.

Die Größe stellt die Gesamtzahl von Bytes der gespeicherten Pfad-Zeichenketten dar, plus die Größe der Daten, die mit dem Cache-Eintrag verknüpft sind. Das bedeutet, dass der Cache größer sein muss, um längere Pfade im Cache zu speichern. Dieser Wert steuert nicht direkt die Anzahl der individuellen Pfade, die im Cache vorgehalten werden können.

Die benötigte Größe für die Cache-Eintragsdaten ist systemabhängig.

realpath_cache_ttl integer

Zeitspanne (in Sekunden) während der realpath Informationen einer Datei oder eines Verzeichnisses gecacht bleiben. Für Systeme, auf denen sich die Dateien kaum ändern, sollte man die Erhöhung dieses Wertes in Betracht ziehen.

Verarbeitung von Daten

Konfigurations-Optionen für die Verarbeitung von Daten
Name | Standard | Veränderbar | Changelog
arg_separator.output | "&" | PHP_INI_ALL | Verfügbar seit PHP 4.0.5.
arg_separator.input | "&" | PHP_INI_PERDIR | Verfügbar seit PHP 4.0.5.
variables_order | "EGPCS" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 5.0.5.
request_order | "" | PHP_INI_PERDIR | Verfügbar seit PHP 5.3.0
auto_globals_jitt | "1" | PHP_INI_PERDIR | Verfügbar seit PHP 5.0.0.
register_globals | "0" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.2.3. Entfernt ab PHP 5.4.0.
register_argc_argv | "1" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.2.3.
register_long_arrays | "1" | PHP_INI_PERDIR | Verfügbar seit PHP 5.0.0. Missbilligt in PHP 5.3.0. Entfernt in PHP 5.4.0.
enable_post_data_reading | "1" | PHP_INI_PERDIR | Verfügbar seit PHP 5.4.0
post_max_size | "8M" | PHP_INI_PERDIR | PHP_INI_SYSTEM in PHP <= 4.2.3. Verfügbar seit PHP 4.0.3.
auto_prepend_file | NULL | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.2.3.
auto_append_file | NULL | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.2.3.
default_mimetype | "text/html" | PHP_INI_ALL |
default_charset | "UTF-8" | PHP_INI_ALL | Standardmäßig "UTF-8" in PHP >= 5.6.0; leer in PHP < 5.6.0.
always_populate_raw_post_data | "0" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.2.3. Verfügbar seit PHP 4.1.0. Entfernt in PHP 7.0.0.

Hier eine kurze Erklärung der Konfigurationsoptionen:

arg_separator.output string

Das Trennzeichen, das in von PHP generierten URLs benutzt wird, um Argumente abzutrennen.

arg_separator.input string

Liste der Trennzeichen, die von PHP beim Parsen von URLs zu Variablen benutzt werden.

Hinweis:

Jeder Buchstabe in dieser Option wird als Trennzeichen interpretiert!

variables_order string

Legt die Reihenfolge der EGPCS (Environment (Umgebungsvariablen), Get, Post, Cookie und Server) Variablenverarbeitung fest. Wenn zum Beispiel variables_order auf "SP" eingestellt ist, wird PHP die superglobals $_SERVER und $_POST, nicht aber $_ENV, $_GET und $_COOKIE anlegen. Wird dieser Wert auf "" gesetzt, so werden keine superglobals erzeugt.

Falls die veraltete Einstellung register_globals eingeschaltet ist, dann legt variables_order ebenfalls die Reihenfolge fest, in der ENV, GET, POST, COOKIE und SERVER Variablen im globalen Namensraum veröffentlicht werden. Falls also zum Beispiel variables_order auf "EGPCS" eingestellt und register_globals eingeschaltet ist und ebenfalls sowohl $_GET['action'] als auch $_POST['action'] gesetzt sind, dann wird $action den Wert aus $_POST['action'] beinhalten, da P im Beispiel nach G erscheint.

Warnung

Sowohl im CGI als auch im FastCGI SAPI enthält $_SERVER immer auch Variablen aus dem Environment, S ist hier immer equvalent zu ES unabhängig davon ob E noch anderweitig in der Direktive benutzt wird.

Hinweis:

Der Inhalt und die Reihenfolge von $_REQUEST sind von dieser Direktive ebenfalls betroffen.

request_order string

Diese Direktive legt fest in welcher Reihenfolge PHP GET, POST und Cookie Variablen im _REQUEST Array ablegt. Die Registrierung erfolgt dabei von links nach rechts und neuere Einträge überscrheiben bisherige Werte gleichen Namens.

Ist diese Direktive nicht gesetzt so wird statt dessen variables_order für die Inhalte von $_REQUEST ausgewertet.

Beachten Sie, dass die Standard php.ini Dateien 'C' für Cookies aus Sicherheitsgründen nicht angeben.

auto_globals_jit boolean

Wenn eingeschaltet werden die Variablen SERVER und ENV erzeugt, sobald diese das erste mal verwendet werden (Just In Time) anstelle des Ausführungsbeginns des Skriptes. Wenn diese Variablen in einem Skript nicht verwendet werden wird das Einschalten dieser Einstellung einen Geschwindigkeitszuwachs hervorbringen.

Die PHP Einstellungen register_globals, register_long_arrays, und register_argc_argv müssen ausgeschaltet sein, damit diese Einstellung Wirkung zeigt. Seit PHP 5.1.3 ist es nicht mehr notwendig register_argc_argv auszuschalten.

Warnung

Ob SERVER und ENV Variablen benutzt werden wird bereits zur Kompilationszeit geprüft, ein Zugriff über variable Variablen führt daher nicht dazu das diese initialisiert werden.

register_globals boolean

Bestimmt, ob die EGPCS (Environment/Umgebung, GET, POST, Cookie, Server) Variablen als globale Variablen registriert werden sollen.

Seit » PHP 4.2.0 ist diese Einstellung standardmäßig ausgeschaltet.

Bitte lesen Sie auch das Sicherheits-Kapitel über die Benutzung von register_globals für weitere Informationen.

Bitte beachten Sie, dass register_globals nicht während der Laufzeit Ihrer Skripte gesetzt werden kann (ini_set()). Wenn Ihr Server es erlaubt, können Sie aber .htaccess wie oben beschrieben verwenden. Beispiel für einen .htaccess Eintrag: php_flag register_globals on.

Hinweis:

register_globals wird durch die Option variables_order beeinflusst.

Warnung

Dieses Feature ist seit PHP 5.3.0 DEPRECATED (veraltet) und seit PHP 5.4.0 ENTFERNT.

register_argc_argv boolean
Bestimmt, ob die argv- & argc-Variablen deklariert werden sollen (betrifft die GET-Informationen). Siehe auch Kommandozeile.
register_long_arrays boolean
Bestimmt, ob PHP die nicht mehr empfohlenen langen Varianten ($HTTP_*_VARS) der vordefinierten Variablen registrieren soll. Wenn On (Standardwert), dann werden PHP-Variablen wie $HTTP_GET_VARS definiert. Wenn Sie diese nicht nutzen, empfehlen wir Ihnen, diese Option aus Gründen der Performance auf "off" zu setzen. Benutzen Sie stattdessen die superglobalen Arrays wie $_GET. Diese Option ist seit PHP 5.0.0 verfügbar.
Warnung

Dieses Feature ist seit PHP 5.3.0 DEPRECATED (veraltet) und seit PHP 5.4.0 ENTFERNT.

enable_post_data_reading boolean
Wenn diese Option deaktiviert ist, werden $_POST und $_FILES nicht gefüllt. Der einzige Weg in diesem Fall die POST Daten zu lesen ist der php://input Stream Wrapper. Dies kann nützlich sein um Requests umzuleiten oder um die POST Daten Arbeitsspeicher-effizient zu verarbeiten.
post_max_size integer
Setzt die maximal erlaubte Größe von POST-Daten. Diese Option betrifft auch den Datei-Upload. Um größere Dateien hochzuladen, muss der Wert größer sein als upload_max_filesize. Allgemein sollte memory_limit größer als post_max_size sein. Wird ein integer-Wert verwendet, wird dieser Wert in Bytes gemessen. Sie können auch die Kurzschreibweise verwenden, wie in dieser FAQ beschrieben. Wenn die Größe der POST-Daten größer ist als post_max_size, werden die $_POST und $_FILES Superglobals leer sein. Dies kann auf verschiedene Weisen verfolgt werden, z.B. indem man die $_GET-Variable an das die Daten verarbeitende Skript weitergibt, d.h. <form action="edit.php?processed=1"> und daraufhin prüfen, ob $_GET['processed'] gesetzt ist.

Hinweis:

PHP gestattet die Angabe von K für kilo, M für mega und G für Giga bei der Angabe von Werten und rechnet diese automatisch um. Vermeiden Sie aber beim Einsatz von 32bit Versionen die Angabe von Werten die das Limit für vorzeichenbehaftete 32 bit Integer überschreiten da Ihre Skripte sonst fehlschlagen werden.

Changelog für post_max_size
Version | Beschreibung
5.3.4 | post_max_size = 0 deaktiviert die Begrenzung nicht, wenn der Content-Type application/x-www-form-urlencoded oder PHP nicht bekannt ist.
5.3.2 , 5.2.12 | Erlaubt unbegrenzte POST-Größe durch Setzen von post_max_size auf 0.

auto_prepend_file string

Hier können Sie eine Datei angeben, die automatisch vor der Hauptdatei aufgerufen wird. Die Datei wird in die aufgerufene Datei eingebettet, als wenn Sie sie mittels der require Funktion eingebunden hätten, dabei wird ein gesetzter include_path beachtet.

Der spezielle Wert none deaktiviert Auto-Prepending.

auto_append_file string

Hier können Sie eine Datei angeben, die automatisch nach der Hauptdatei aufgerufen wird. Die Datei wird in die aufgerufene Datei eingebettet, als wenn Sie sie mittels der require Funktion eingebunden hätten, dabei wird ein gesetzter include_path beachtet.

Der spezielle Wert none deaktiviert Auto-Appending.

Hinweis: Wird das Skript mit der Funktion exit() beendet, dann wird Auto-Appending nicht aktiv.

default_mimetype string

Standardmäßig gibt PHP den Media Type unter Verwendung des Content-Type Header aus. Um das zu unterbinden, ist diese Einstellung leer zu lassen.

PHP's eingebauter Media Type ist text/html.

default_charset string

Von PHP 5.6 an ist der Vorgabewert "UTF-8", und dieser Wert wird als Standard-Zeichenkodierung für htmlentities(), html_entity_decode() und htmlspecialchars() verwendet, wenn der encoding Parameter ausgelassen wird. Der Wert von default_charset wird ebenfalls verwendet, um den Standard-Zeichensatz für iconv Funktionen festzulegen, wenn die iconv.input_encoding, iconv.output_encoding und iconv.internal_encoding Konfigurationsoptionen nicht gesetzt sind, und für mbstring Funktionen, wenn die mbstring.internal_encoding, mbstring.http_input und mbstring.http_output Konfigurationsoptionen nicht gesetzt sind.

Alle Versionen von PHP verwenden diesen Wert als Zeichensatz im Standard-Content-Type Header, der von PHP gesendet wird, wenn der Header nicht durch einen Aufruf von header() übersteuert wurde.

default_charset auf einen leeren Wert zu setzen, wird nicht empfohlen.

input_encoding string

Verfügbar ab PHP 5.6.0. Diese Einstellung wird für Multibyte-Module wie mbstring und iconv verwenden. Standardwert ist leer.

output_encoding string

Verfügbar ab PHP 5.6.0. Diese Einstellung wird für Multibyte-Module wie mbstring und iconv verwenden. Standardwert ist leer.

internal_encoding string

Verfügbar ab PHP 5.6.0. Diese Einstellung wird für Multibyte-Module wie mbstring und iconv verwenden. Standardwert ist leer. Falls leer, dann wird default_charset verwendet.

always_populate_raw_post_data mixed
Warnung

Dieses Feature ist seit PHP 5.6.0 DEPRECATED (veraltet) und seit PHP 7.0.0 ENTFERNT.

Wird dies auf TRUE gesetzt, wird die Variable $HTTP_RAW_POST_DATA mit den unbehandelten POST Daten gefüllt. Andernfalls wird die Variable nur gefüllt, wenn der MIME Typ der Daten unbekannt ist.

Die bevorzugte Methode, um auf unbehandelte POST Daten zuzugreifen ist php://input, und $HTTP_RAW_POST_DATA ist von PHP 5.6.0 an missbilligt. Das Setzen von always_populate_raw_post_data auf -1 aktiviert das neue Verhalten, das in einer künftigen Version von PHP implementiert wird, wo $HTTP_RAW_POST_DATA nie definiert ist.

Unabhängig von der Einstellung, ist $HTTP_RAW_POST_DATA bei enctype="multipart/form-data" nicht verfügbar.

Siehe auch magic_quotes_gpc, magic-quotes-runtime und magic_quotes_sybase.

Pfade und Verzeichnisse

Konfigurations-Optionen für Pfade und Verzeichnisse
Name | Standard | Veränderbar | Changelog
include_path | ".;/path/to/php/pear" | PHP_INI_ALL |
open_basedir | NULL | PHP_INI_ALL | PHP_INI_SYSTEM in PHP < 5.3.0
doc_root | NULL | PHP_INI_SYSTEM |
user_dir | NULL | PHP_INI_SYSTEM |
extension_dir | "/path/to/php" | PHP_INI_SYSTEM |
extension | NULL | Nur php.ini |
zend_extension | NULL | Nur php.ini |
zend_extension_debug | NULL | Nur php.ini |
zend_extension_debug_ts | NULL | Nur php.ini |
zend_extension_ts | NULL | Nur php.ini |
cgi.check_shebang_line | "1" | PHP_INI_SYSTEM | Verfügbar seit PHP 5.2.0.
cgi.fix_pathinfo | "1" | PHP_INI_SYSTEM | Verfügbar seit PHP 4.3.0. Vor PHP 5.2.1 PHP_INI_ALL.
cgi.force_redirect | "1" | PHP_INI_SYSTEM | Verfügbar seit PHP 4.2.0. Vor PHP 5.2.1 PHP_INI_ALL.
cgi.redirect_status_env | NULL | PHP_INI_SYSTEM | Verfügbar seit PHP 4.2.0. Vor PHP 5.2.1 PHP_INI_ALL.
cgi.rfc2616_headers | "0" | PHP_INI_ALL | Verfügbar seit PHP 4.3.0.
fastcgi.impersonate | "0" | PHP_INI_SYSTEM | Verfügbar seit PHP 4.3.0. Vor PHP 5.2.1 PHP_INI_ALL.
fastcgi.logging | "1" | PHP_INI_SYSTEM | Verfügbar seit PHP 4.3.0. Vor PHP 5.2.1 PHP_INI_ALL.

Hier eine kurze Erklärung der Konfigurationsoptionen:

include_path string

Hier können Sie eine Liste von Verzeichnissen angeben, in dem die Funktionen require, include, fopen(), file(), readfile() und file_get_contents() nach Dateien suchen. Das Format ist ähnlich zur PATH-Umgebungsvariablen des jeweiligen Systems: Eine Liste von Verzeichnissen, getrennt durch einen Doppelpunkt unter Unix oder ein Semikolon unter Windows.

Wenn PHP eine Datei einbinden soll, geht es alle Einträge im include path einzeln durch. Zuerst wird der erste Pfad getestet und wenn die Datei dort nicht gefunden wird, wird der nächste Pfad überprüft, bis letztendlich entweder die Datei gefunden wird oder aber PHP ein Warning oder Error wirft. Der include path kann auch zur Laufzeit mit Hilfe der Funktion set_include_path() geändert werden.

Beispiel #1 include_path unter Unix

include_path=".:/php/includes"

Beispiel #2 include_path unter Windows

include_path=".;c:\php\includes"

Ein . in dieser Option ermöglicht, Dateien relativ zum aktuellen Verzeichnis einzubinden. Es ist jedoch effizienter explizit include './Datei' zu schreiben, anstatt PHP zu zwingen jedes Mal den include path zu nutzen.

Hinweis:

Auf ENV kann in .ini Dateien ebenfalls zugegriffen werden. Daher ist es möglich das Home-Verzeichnis durch ${LOGIN} und ${USER} zu referenzieren.

Umgebungsvariablen können zwischen verschiedenen Server APIs variieren, da diese Umgebungen unterschiedlich sein können.

Beispiel #3 include_path unter Unix unter Verwendung der ${USER} Umgebungsvariablen

include_path = ".:${USER}/pear/php"

open_basedir string

Begrenzt die Dateien, auf die von PHP zugegriffen werden kann, auf einen bestimmten Ordner inklusive seiner Unterordner. Diese Direktive ist wirksam, EGAL, ob Safe Mode an oder aus ist.

Wenn ein Skript versucht, auf eine Datei zuzugreifen, zum Beispiel mit include oder fopen(), wird der Ort der Datei geprüft. Wenn die Datei nicht im Verzeichnisbaum, der in open_basedir angegeben ist, liegt, wird PHP nicht auf die Datei zugreifen. Alle symbolischen Verknüpfungen werden aufgelöst, sodass es nicht möglich ist, diese Beschränkung mit einem Symlink zu umgehen. Wenn die Datei nicht existiert kann die Verknüpfung nicht aufgelöst werden und der Dateiname wird mit (einem aufgelösten) open_basedir verglichen.

open_basedir kann sich auf mehr als nur Dateisystemfunktionen auswirken; zum Beispiel ist, wenn MySQL konfiguriert ist mysqlnd Treiber zu verwenden, LOAD DATA INFILE von open_basedir betroffen. Viel der erweiterten Funktionalität von PHP verwendet open_basedir auf diese Weise.

Der spezielle Wert . gibt an, dass das Arbeitsverzeichnes des Skriptes das Basis-Verzeichnis ist. Dies ist gefährtlich, da das Arbeitsverzeichnis mit chdir() einfach geändert werden kann.

In der Konfigurationsdatei httpd.conf kann open_basedir geändert oder deaktiviert werden (z.B. für einige virtuelle Hosts), genau wie jede andere Direktive mit "php_admin_value open_basedir none".

Unter Windows müssen die Verzeichnisse mit einem Semikolon (;) getrennt werden, auf allen anderen Systemen mit einem Doppelpunkt. Wenn PHP als Apache-Modul läuft, erbt open_basedir seinen Pfad nun automatisch von übergeordneten Verzeichnissen.

Die Einschränkung durch open_basedir geschieht durch einen Prefix, nicht durch einen Verzeichnisnamen. Das heißt, dass "open_basedir = /dir/incl" das Verzeichnis "/dir/include" ebenso einschließt wie "/dir/incls", wenn beide existieren. Wenn die Einschränkung auf ein bestimmtes Verzeichnis begrenzt werden soll, muss der Pfad mit einem Schrägstrich enden. Beispiel: open_basedir = /dir/incl/

Standardmäßig dürfen alle Dateien geöffnet werden.

Hinweis:

Seit PHP 5.3.0 kann open_basedir zur Laufzeit weiter verengt werden. Das heißt, wenn open_basedir laut php.ini auf /www/ gesetzt ist, kann die Direktive zur Laufzeit mit ini_set() auf beispielsweise /www/tmp/ weiter begrenzt werden. Wenn mehrere Verzeichnisse aufgelistet werden, kann die PATH_SEPARATOR Konstante als vom Betriebssystem unabhängiges Trennzeichen verwendet werden.

doc_root string

Hier wird das Stammverzeichnis der PHP-Skripte angegeben. Diese Option wird nur benutzt, wenn ein Wert angegeben wird. Wenn PHP mit Safe Mode konfiguriert wurde, werden alle Dateien außerhalb dieses Verzeichnisses ignoriert. Wenn PHP nicht mit FORCE_REDIRECT kompiliert wurde, sollten Sie doc_root setzen, wenn Sie PHP als CGI-Version laufen lassen (betrifft alle Webserver außer IIS). Die Alternative ist, die Option cgi.force_redirect zu benutzen.

user_dir string

Der Basisname des Verzeichnisses, das für Benutzer-Verzeichnisse mit PHP-Dateien benutzt wird, z.B. public_html.

extension_dir string

Verzeichnis, in dem PHP dynamisch zu ladende Extensionen findet. Siehe auch enable_dl und dl().

extension string

Dynamisch zu ladende Extensionen, die geladen werden sollen, wenn PHP gestartet wird.

zend_extension string

Name einer dynamisch ladbaren Zend Extension (beispielsweise APD), welche geladen werden soll, wenn PHP startet.

zend_extension_debug string

Variante von zend_extension für Erweiterungen, die mit Debug-Informationen kompiliert wurden.

zend_extension_debug_ts string

Variante von zend_extension für Erweiterungen, die mit Debug-Informationen und Thread-Safety kompiliert wurden.

zend_extension_ts string

Variante von zend_extension für Erweiterungen, die mit Thread-Safety kompiliert wurden.

cgi.check_shebang_line boolean

Kontrolliert, ob die CGI-Version von PHP nach einer Zeile, die mit #! (Shebang) beginnt, am Anfang des auszuführenden Skriptes sucht. Diese Zeile könnte notwendig sein, wenn das Script sowohl die alleinestehende Ausführung als auch mittels PHP CGI unterstützt. PHP überspringt diese Zeile im CGI Modus und ignoriert ihren Inhalt, wenn diese Direktive eingeschaltet ist.

cgi.fix_pathinfo boolean

Stellt reale PATH_INFO/ PATH_TRANSLATED Informationen für CGI zur Verfügung. Das frühere Verhalten von PHP war PATH_TRANSLATED einfach auf SCRIPT_FILENAME zu setzen und nicht auf PATH_INFO. Für weitere Informationen zu PATH_INFO schauen Sie in die CGI-Spezifikation. Wenn Sie diesen Wert auf 1 setzen, hat dies zur Folge, dass PHP CGI seine Pfade entsprechend der Spezifikation anpasst. Bei einem Wert von Null verhält sich PHP entsprechend den früheren Versionen, was auch nachwievor das Standardverhalten ist. Es wird empfohlen, Ihre Skripte dahingehend anzupassen, statt PATH_TRANSLATED SCRIPT_FILENAME zu verwenden.

cgi.force_redirect boolean

cgi.force_redirect wird benötigt, um Sicherheit zu garantieren, wenn PHP als CGI-Version unter den meisten Webservern läuft. Wenn diese Option nicht angegeben wird, setzt PHP sie standardmäßig auf on. Auf Ihre eigene Gefahr hin können Sie dies ausschalten ("off").

Hinweis:

Windows-Benutzer: Unter IIS muss diese Option ausgeschaltet werden. Für OmniHTTPD und Xitami gilt selbiges.

cgi.redirect_status_env string

Wenn cgi.force_redirect eingeschaltet ist und Sie nicht den Apache- oder Netscape-Webserver (iPlanet) benutzen, müssen Sie eventuell eine Umgebungsvariable setzen, damit PHP weiß, ob es die Ausführung fortführen darf.

Hinweis:

Das Setzen dieser Variablen kann Sicherheitsrisiken verursachen, Sie sollten also genau wissen, was Sie tun.

cgi.rfc2616_headers int

Bestimmt, welcher Typ von Headern benutzt werden soll, wenn HTTP-Antwort-Codes gesendet werden. Wenn diese Option auf 0 gesetzt ist, sendet PHP einen » RFC 3875 "Status:"-Header, der von Apache und anderen Webservern unterstützt wird. Ist sie auf 1 gesetzt, sendet PHP einen zu » RFC 2616 konformen Header.

Ist diese Option aktiviert, und Sie führen PHP in einer CGI-Umgebung (z.B. PHP-FPM) aus, sollten Sie keine üblichen RFC 2616 HTTP Status-Response-Header verwenden; statt dessen sollten Sie ihre RFC 3875 Pendants nutzen, z.B. sollten Sie anstelle von header("HTTP/1.0 404 Not found"); header("Status: 404 Not Found"); verwenden.

Wenn Sie diese Option nicht verstehen, lassen Sie den Wert auf 0.

fastcgi.impersonate string

FastCGI unter IIS (auf WINNT-basierten Betriebssystemen) unterstützt die Möglichkeit, Sicherheitsmerkmale des aufrufenden Clients zu bestimmen. Dies ermöglicht es IIS, den Sicherheitskontext zu bestimmen, in dem der Zugriff läuft. mod_fastcgi unter Apache unterstützt zur Zeit diese Funktion nicht (17.03.2002). Setzen Sie diese Option auf 1, wenn Sie IIS benutzen. Der Standardwert ist 0.

fastcgi.logging boolean

Schaltet SAPI Logging an, wenn FastCGI benutzt wird. Standardmäßig ist Logging aktiviert.

Datei-Uploads

Konfigurations-Optionen für Datei-Uploads
Name | Standard | Veränderbar | Changelog
file_uploads | "1" | PHP_INI_SYSTEM | PHP_INI_ALL in PHP <= 4.2.3. Verfügbar seit PHP 4.0.3.
upload_tmp_dir | NULL | PHP_INI_SYSTEM |
max_input_nesting_level | 64 | PHP_INI_PERDIR | Verfügbar seit PHP 5.3.9.
max_input_vars | 1000 | PHP_INI_PERDIR | Verfügbar seit PHP 5.3.9.
upload_max_filesize | "2M" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.2.3.
max_file_uploads | 20 | PHP_INI_SYSTEM | Verfügbar seit PHP 5.2.12.

Hier eine kurze Erklärung der Konfigurationsoptionen:

file_uploads boolean

Bestimmt, ob Datei-Uploads per HTTP erlaubt sind. Siehe auch die Optionen upload_max_filesize, upload_tmp_dir und post_max_size.

upload_tmp_dir string

Temporäres Verzeichnis, in dem Dateien während des Uploads gespeichert werden. Für dieses Verzeichnis muss der Benutzer, unter dem PHP läuft, Schreibberechtigung haben. Wenn hier nichts angeben wird, benutzt PHP das Standardverzeichnis für temporäre Dateien auf Ihrem System.

Wenn das hier angegebene Verzeichnis nicht beschreibbar ist, nutzt PHP stattdessen das Standardverzeichnis für temporöre Dateien. Wenn open_basedir genutzt wird, muss dieses Standardverzeichnis erlaubt sein, ansonsten schlagen Uploads fehl.

upload_max_filesize integer

Maximale Größe, die eine hochgeladene Datei haben darf.

Wird ein integer-Wert verwendet, wird dieser Wert in Bytes gemessen. Sie können auch die Kurzschreibweise verwenden, wie in dieser FAQ beschrieben.
max_file_uploads integer

Die maximale Anzahl an Dateien, die gleichzeitig hochgeladen werden kann. Seit PHP 5.3.4 zählen Upload Formularfelder, die leer gelassen wurden nicht mehr zu diesem Limit.

Allgemeines SQL

Konfigurations-Optionen für allgemeines SQL
Name | Standard | Veränderbar | Changelog
sql.safe_mode | "0" | PHP_INI_SYSTEM |

Hier eine kurze Erklärung der Konfigurationsoptionen:

sql.safe_mode boolean

Wenn diese Option eingeschaltet wird, werden Datenbankverbindungsfunktionen, die Standardwerte vorgeben diese Werte anstelle der angegebenen Parameter verwenden. Zu Informationen über Standardwerte können Sie einen Blick auf die Dokumentation der Verbindungsfunktion der relevanten Datenbank werfen.

Windows spezifisch

Windows spezifische Optionen
Name | Standard | Veränderbar | Changelog
windows.show_crt_warning | "0" | PHP_INI_ALL | Verfügbar seit PHP 5.4.0.

Hier eine kurze Erklärung der Konfigurationsoptionen:

windows.show_crt_warning boolean

Wenn diese Direktive angeschaltet ist, werden Windows CRT Warnings angezeigt. Vor PHP 5.4.0 wurden diese immer angezeigt.

Liste der php.ini-Abschnitte
Extension-Liste/-Kategorisierung
php.ini Richtlinien


Extension-Liste/-Kategorisierung

Inhaltsverzeichnis

  • Alphabetisch
  • Zugehörigkeit
  • Status

Dieser Anhang kategorisiert über 150 im PHP-Handbuch dokumentierte Extensions nach verschiedenen Kriterien.

Beschreibung der php.ini-Direktiven des Sprachkerns
Alphabetisch
Appendices


Alphabetisch

  • Apache
  • APC
  • APCu
  • APD
  • Arrays
  • BBCode
  • BC Math
  • bcompiler
  • BLENC
  • Bzip2
  • Cairo
  • Kalender
  • chdb
  • Classkit
  • Klassen/Objekte
  • COM
  • Crack
  • CSPRNG
  • Ctype
  • CUBRID
  • cURL
  • Cyrus
  • Datum/Uhrzeit
  • DBA
  • dBase
  • DB++
  • dbx
  • Direct-IO
  • Verzeichnis-Funktionen
  • DOM
  • Data Structures
  • Eio
  • Enchant
  • Fehlerbehandlung
  • Ev
  • Event
  • Programmausführung
  • Exif
  • Expect
  • FAM
  • FANN
  • FrontBase
  • FDF
  • Fileinfo
  • filePro
  • Dateisystem
  • Filter
  • FastCGI Process Manager
  • FriBiDi
  • FTP
  • Function Handling
  • Gearman
  • Gender
  • GeoIP
  • Gettext
  • Gmagick
  • GMP
  • GnuPG
  • Gupnp
  • haru
  • Hash
  • HRTime
  • htscanner
  • Hyperwave API
  • Firebird/InterBase
  • IBM DB2
  • iconv
  • ID3
  • Informix
  • IIS
  • GD
  • ImageMagick
  • IMAP
  • inclued
  • PHP-Optionen/-Informationen
  • Ingres
  • Inotify
  • intl
  • JSON
  • Judy
  • KADM5
  • KTaglib
  • Lapack
  • LDAP
  • Libevent
  • libxml
  • Lua
  • LZF
  • Mail
  • Mailparse
  • Mathe
  • MaxDB
  • Multibyte String
  • Mcrypt
  • MCVE
  • Memcache
  • Memcached
  • Memtrack
  • Mhash
  • Mimetype
  • Ming
  • Misc.
  • mnoGoSearch
  • Mongo
  • MongoDB\Driver
  • mqseries
  • msession
  • mSQL
  • Mssql
  • MySQL (Original)
  • Mysqli
  • Mysqlnd
  • mysqlnd_memcache
  • mysqlnd_ms
  • mysqlnd_mux
  • mysqlnd_qc
  • mysqlnd_uh
  • Ncurses
  • Gopher
  • Network
  • Newt
  • YP/NIS
  • NSAPI
  • OAuth
  • OCI8
  • oggvorbis
  • OPcache
  • OpenAL
  • OpenSSL
  • Ausgabekontrolle
  • Paradox
  • Parsekit
  • Password Hashing
  • PCNTL
  • PCRE
  • PDF
  • PDO
  • 4D (PDO)
  • CUBRID (PDO)
  • MS SQL Server (PDO)
  • Firebird (PDO)
  • IBM (PDO)
  • Informix (PDO)
  • MySQL (PDO)
  • Oracle (PDO)
  • ODBC and DB2 (PDO)
  • PostgreSQL (PDO)
  • SQLite (PDO)
  • MS SQL Server (PDO)
  • PostgreSQL
  • Phar
  • POSIX
  • Proctitle
  • PS
  • Pspell
  • pthreads
  • Quickhash
  • Radius
  • Rar
  • Readline
  • Recode
  • Reflection
  • POSIX Regex
  • RPM Reader
  • RRD
  • runkit
  • SAM
  • SCA
  • scream
  • SDO
  • SDO DAS XML
  • SDO-DAS-Relational
  • Semaphore
  • Sessions
  • Session PgSQL
  • Shared Memory
  • SimpleXML
  • SNMP
  • SOAP
  • Sockets
  • Solr
  • Sphinx
  • SPL
  • SPL Types
  • SQLite
  • SQLite3
  • SQLSRV
  • ssdeep
  • SSH2
  • Statistics
  • Stomp
  • Streams
  • Zeichenketten
  • SVM
  • SVN
  • Swish
  • Sybase
  • Sync
  • Taint
  • TCP
  • Tidy
  • Tokenizer
  • tokyo_tyrant
  • Trader
  • UI
  • ODBC
  • uopz
  • URLs
  • V8js
  • Variablenbehandlung
  • Varnish
  • vpopmail
  • WDDX
  • Weakref
  • win32ps
  • win32service
  • WinCache
  • xattr
  • xdiff
  • Xhprof
  • XML Parser
  • XMLReader
  • XML-RPC
  • XMLWriter
  • XSL
  • Yaf
  • Yaml
  • Yar
  • YAZ
  • Zip
  • Zlib
  • 0MQ messaging
  • ZooKeeper
Extension-Liste/-Kategorisierung
Zugehörigkeit
Extension-Liste/-Kategorisierung


Zugehörigkeit

Kern-Extensions

Dies sind eigentlich keine Extensions. Sie sind Teil des PHP-Kerns und können nicht mittels Kompilierungsoptionen aus dem PHP-Binary weggelassen werden.

  • Arrays

  • Klassen/Objekte

  • Datum/Uhrzeit

  • Verzeichnis-Funktionen

  • Fehlerbehandlung

  • Programmausführung

  • Dateisystem

  • Filter

  • Function Handling

  • Hash

  • PHP-Optionen/-Informationen

  • Mail

  • Mathe

  • Misc.

  • Network

  • Ausgabekontrolle

  • Password Hashing

  • Phar

  • Reflection

  • POSIX Regex

  • Sessions

  • SPL

  • Streams

  • Zeichenketten

  • Tokenizer

  • URLs

  • Variablenbehandlung

Mitgelieferte Extensions

Diese Extensions werden mit PHP ausgeliefert.

  • Apache

  • BC Math

  • Kalender

  • COM

  • Ctype

  • DBA

  • Exif

  • Fileinfo

  • FTP

  • iconv

  • GD

  • intl

  • JSON

  • Multibyte String

  • NSAPI

  • PCNTL

  • PCRE

  • PDO

  • POSIX

  • Semaphore

  • Shared Memory

  • Sockets

  • SQLite3

  • XML-RPC

  • Zlib

Externe Extensions

Diese Extensions werden mit PHP ausgeliefert, aber um sie zu kompilieren, werden externe Bibliotheken benötigt.

  • Bzip2

  • cURL

  • dBase

  • DOM

  • Enchant

  • FrontBase

  • Gettext

  • GMP

  • Firebird/InterBase

  • Informix

  • IMAP

  • LDAP

  • libxml

  • Mcrypt

  • Mhash

  • mSQL

  • Mssql

  • MySQL (Original)

  • Mysqli

  • Mysqlnd

  • OCI8

  • OpenSSL

  • MS SQL Server (PDO)

  • Firebird (PDO)

  • MySQL (PDO)

  • Oracle (PDO)

  • ODBC and DB2 (PDO)

  • PostgreSQL (PDO)

  • SQLite (PDO)

  • PostgreSQL

  • Pspell

  • Readline

  • Recode

  • SimpleXML

  • SNMP

  • SOAP

  • Sybase

  • Tidy

  • ODBC

  • WDDX

  • XML Parser

  • XMLReader

  • XMLWriter

  • XSL

  • Zip

PECL-Extensions

Diese Extensions sind im » PECL verfügbar. Es existieren noch mehr PECL-Extensions, diese sind jedoch bisher nicht im PHP-Handbuch dokumentiert.

  • APC

  • APD

  • BBCode

  • bcompiler

  • Cairo

  • chdb

  • Classkit

  • Crack

  • CUBRID

  • Cyrus

  • DB++

  • dbx

  • Direct-IO

  • Eio

  • Ev

  • Event

  • Expect

  • FAM

  • FDF

  • filePro

  • FriBiDi

  • Gearman

  • Gender

  • GeoIP

  • Gmagick

  • GnuPG

  • Gupnp

  • haru

  • htscanner

  • Hyperwave API

  • IBM DB2

  • ID3

  • IIS

  • ImageMagick

  • inclued

  • Ingres

  • Inotify

  • Judy

  • KADM5

  • KTaglib

  • Lapack

  • Libevent

  • Lua

  • LZF

  • Mailparse

  • MaxDB

  • MCVE

  • Memcache

  • Memcached

  • Memtrack

  • Mimetype

  • Ming

  • mnoGoSearch

  • Mongo

  • mqseries

  • msession

  • mysqlnd_memcache

  • mysqlnd_ms

  • mysqlnd_mux

  • mysqlnd_qc

  • mysqlnd_uh

  • Ncurses

  • Gopher

  • Newt

  • YP/NIS

  • OAuth

  • oggvorbis

  • OpenAL

  • Paradox

  • Parsekit

  • PDF

  • 4D (PDO)

  • CUBRID (PDO)

  • IBM (PDO)

  • Informix (PDO)

  • MS SQL Server (PDO)

  • Proctitle

  • PS

  • pthreads

  • Quickhash

  • Radius

  • Rar

  • RPM Reader

  • RRD

  • runkit

  • SAM

  • SCA

  • scream

  • SDO

  • SDO DAS XML

  • SDO-DAS-Relational

  • Session PgSQL

  • Solr

  • Sphinx

  • SPL Types

  • SQLite

  • SQLSRV

  • ssdeep

  • SSH2

  • Statistics

  • Stomp

  • SVM

  • SVN

  • Swish

  • Taint

  • TCP

  • tokyo_tyrant

  • Trader

  • V8js

  • Varnish

  • vpopmail

  • Weakref

  • win32ps

  • win32service

  • WinCache

  • xattr

  • xdiff

  • Xhprof

  • Yaf

  • Yaml

  • YAZ

  • ZooKeeper

Alphabetisch
Status
Extension-Liste/-Kategorisierung


Status

Dieser Teil zählt Extensions auf, die nicht für den produktiven Einsatz gedacht sind - sie sind entweder zu "alt" (veraltet, nicht länger zur Verwendung empfohlen) oder zu "neu" (experimentell).

Veraltete Extensions

Diese Extensions sollten nicht mehr verwendet werden, normalerweise gibt es eine empfohlene andere Extension.

  • Memtrack

  • Mimetype

Experimentelle Extensions

Das Verhalten dieser Extensions - einschließlich der Namen ihrer Funktionen und alles andere über diese Extensions dokumentierte - kann sich in einer zukünftigen Version von PHP ohne Ankündigung ändern. Die Verwendung dieser Extensions geschieht auf eigenes Risko.

  • bcompiler

  • DB++

  • haru

  • Hash

  • ImageMagick

  • Ming

  • Ncurses

  • Newt

  • Paradox

  • MS SQL Server (PDO)

  • Firebird (PDO)

  • Oracle (PDO)

  • PS

  • SCA

  • SDO-DAS-Relational

  • Swish

  • vpopmail

  • XML-RPC

Zugehörigkeit
Liste der Funktions-Aliase
Extension-Liste/-Kategorisierung


Liste der Funktions-Aliase

Es gibt einige PHP-Funktionen, die unter mehr als einem Namen aufgerufen werden können. Für einige dieser Funktionen wie z.B. is_integer() und is_int() gibt es keinen bevorzugten Namen, so dass beide Varianten gleichberechtigt nebeneinander bestehen. Andererseits wurden viele Funktionen in der Vergangenheit im Rahmen von API-Änderungen oder aus anderen Gründen umbenannt und der alte Name nur zur Aufrechterhaltung der Rückwärtskompatibilität weiter unterstützt. Es ist daher nicht empfehlenswert, die ältere Namensform weiter zu benutzen, da dies auf lange Sicht zu nicht portablem Code führen kann. Die folgende Liste kann dabei helfen, alte Skripte auf einen aktuellen Stand zu bringen.

Aliase
Alias | Hauptfunktion | verwendete Extension
_ | gettext() | Gettext
add | swfmovie_add() | Ming (flash)
add | swfsprite_add() | Ming (flash)
addaction | swfbutton_addAction() | Ming (flash)
addcolor | swfdisplayitem_addColor() | Ming (flash)
addentry | swfgradient_addEntry() | Ming (flash)
addfill | swfshape_addfill() | Ming (flash)
addshape | swfbutton_addShape() | Ming (flash)
addstring | swftext_addString() | Ming (flash)
addstring | swftextfield_addString() | Ming (flash)
align | swftextfield_align() | Ming (flash)
chop | rtrim() | Base syntax
close | closedir() | Base syntax
com_get | com_propget() | COM
com_propset | com_propput() | COM
com_set | com_propput() | COM
die | exit() | Miscellaneous functions
diskfreespace | disk_free_space() | Filesystem
doubleval | floatval() | Base syntax
drawarc | swfshape_drawarc() | Ming (flash)
drawcircle | swfshape_drawcircle() | Ming (flash)
drawcubic | swfshape_drawcubic() | Ming (flash)
drawcubicto | swfshape_drawcubicto() | Ming (flash)
drawcurve | swfshape_drawcurve() | Ming (flash)
drawcurveto | swfshape_drawcurveto() | Ming (flash)
drawglyph | swfshape_drawglyph() | Ming (flash)
drawline | swfshape_drawline() | Ming (flash)
drawlineto | swfshape_drawlineto() | Ming (flash)
fbsql | fbsql_db_query() | FrontBase
fputs | fwrite() | Base syntax
getascent | swffont_getAscent() | Ming (flash)
getascent | swftext_getAscent() | Ming (flash)
getdescent | swffont_getDescent() | Ming (flash)
getdescent | swftext_getDescent() | Ming (flash)
getheight | swfbitmap_getHeight() | Ming (flash)
getleading | swffont_getLeading() | Ming (flash)
getleading | swftext_getLeading() | Ming (flash)
getshape1 | swfmorph_getShape1() | Ming (flash)
getshape2 | swfmorph_getShape2() | Ming (flash)
getwidth | swfbitmap_getWidth() | Ming (flash)
getwidth | swffont_getWidth() | Ming (flash)
getwidth | swftext_getWidth() | Ming (flash)
gzputs | gzwrite() | Zlib
i18n_convert | mb_convert_encoding() | Multi-bytes Strings
i18n_discover_encoding | mb_detect_encoding() | Multi-bytes Strings
i18n_http_input | mb_http_input() | Multi-bytes Strings
i18n_http_output | mb_http_output() | Multi-bytes Strings
i18n_internal_encoding | mb_internal_encoding() | Multi-bytes Strings
i18n_ja_jp_hantozen | mb_convert_kana() | Multi-bytes Strings
i18n_mime_header_decode | mb_decode_mimeheader() | Multi-bytes Strings
i18n_mime_header_encode | mb_encode_mimeheader() | Multi-bytes Strings
imap_create | imap_createmailbox() | IMAP
imap_fetchtext | imap_body() | IMAP
imap_getmailboxes | imap_list_full() | IMAP
imap_getsubscribed | imap_lsub_full() | IMAP
imap_header | imap_headerinfo() | IMAP
imap_listmailbox | imap_list() | IMAP
imap_listsubscribed | imap_lsub() | IMAP
imap_rename | imap_renamemailbox() | IMAP
imap_scan | imap_listscan() | IMAP
imap_scanmailbox | imap_listscan() | IMAP
ini_alter | ini_set() | Base syntax
is_double | is_float() | Base syntax
is_integer | is_int() | Base syntax
is_long | is_int() | Base syntax
is_real | is_float() | Base syntax
is_writeable | is_writable() | Base syntax
join | implode() | Base syntax
key_exists | array_key_exists() | Base syntax
labelframe | swfmovie_labelFrame() | Ming (flash)
labelframe | swfsprite_labelFrame() | Ming (flash)
ldap_close | ldap_unbind() | LDAP
magic_quotes_runtime | set_magic_quotes_runtime() | Base syntax
mbstrcut | mb_strcut() | Multi-bytes Strings
mbstrlen | mb_strlen() | Multi-bytes Strings
mbstrpos | mb_strpos() | Multi-bytes Strings
mbstrrpos | mb_strrpos() | Multi-bytes Strings
mbsubstr | mb_substr() | Multi-bytes Strings
ming_setcubicthreshold | ming_setCubicThreshold() | Ming (flash)
ming_setscale | ming_setScale() | Ming (flash)
move | swfdisplayitem_move() | Ming (flash)
movepen | swfshape_movepen() | Ming (flash)
movepento | swfshape_movepento() | Ming (flash)
moveto | swfdisplayitem_moveTo() | Ming (flash)
moveto | swffill_moveTo() | Ming (flash)
moveto | swftext_moveTo() | Ming (flash)
msql | msql_db_query() | mSQL
msql_createdb | msql_create_db() | mSQL
msql_dbname | msql_result() | mSQL
msql_dropdb | msql_drop_db() | mSQL
msql_fieldflags | msql_field_flags() | mSQL
msql_fieldlen | msql_field_len() | mSQL
msql_fieldname | msql_field_name() | mSQL
msql_fieldtable | msql_field_table() | mSQL
msql_fieldtype | msql_field_type() | mSQL
msql_freeresult | msql_free_result() | mSQL
msql_listdbs | msql_list_dbs() | mSQL
msql_listfields | msql_list_fields() | mSQL
msql_listtables | msql_list_tables() | mSQL
msql_numfields | msql_num_fields() | mSQL
msql_numrows | msql_num_rows() | mSQL
msql_regcase | sql_regcase() | mSQL
msql_selectdb | msql_select_db() | mSQL
msql_tablename | msql_result() | mSQL
mssql_affected_rows | sybase_affected_rows() | Sybase
mssql_affected_rows | sybase_affected_rows() | Sybase
mssql_close | sybase_close() | Sybase
mssql_close | sybase_close() | Sybase
mssql_connect | sybase_connect() | Sybase
mssql_connect | sybase_connect() | Sybase
mssql_data_seek | sybase_data_seek() | Sybase
mssql_data_seek | sybase_data_seek() | Sybase
mssql_fetch_array | sybase_fetch_array() | Sybase
mssql_fetch_array | sybase_fetch_array() | Sybase
mssql_fetch_field | sybase_fetch_field() | Sybase
mssql_fetch_field | sybase_fetch_field() | Sybase
mssql_fetch_object | sybase_fetch_object() | Sybase
mssql_fetch_object | sybase_fetch_object() | Sybase
mssql_fetch_row | sybase_fetch_row() | Sybase
mssql_fetch_row | sybase_fetch_row() | Sybase
mssql_field_seek | sybase_field_seek() | Sybase
mssql_field_seek | sybase_field_seek() | Sybase
mssql_free_result | sybase_free_result() | Sybase
mssql_free_result | sybase_free_result() | Sybase
mssql_get_last_message | sybase_get_last_message() | Sybase
mssql_get_last_message | sybase_get_last_message() | Sybase
mssql_min_client_severity | sybase_min_client_severity() | Sybase
mssql_min_error_severity | sybase_min_error_severity() | Sybase
mssql_min_message_severity | sybase_min_message_severity() | Sybase
mssql_min_server_severity | sybase_min_server_severity() | Sybase
mssql_num_fields | sybase_num_fields() | Sybase
mssql_num_fields | sybase_num_fields() | Sybase
mssql_num_rows | sybase_num_rows() | Sybase
mssql_num_rows | sybase_num_rows() | Sybase
mssql_pconnect | sybase_pconnect() | Sybase
mssql_pconnect | sybase_pconnect() | Sybase
mssql_query | sybase_query() | Sybase
mssql_query | sybase_query() | Sybase
mssql_result | sybase_result() | Sybase
mssql_result | sybase_result() | Sybase
mssql_select_db | sybase_select_db() | Sybase
mssql_select_db | sybase_select_db() | Sybase
multcolor | swfdisplayitem_multColor() | Ming (flash)
mysql | mysql_db_query() | MySQL
mysql_createdb | mysql_create_db() | MySQL
mysql_db_name | mysql_result() | MySQL
mysql_dbname | mysql_result() | MySQL
mysql_dropdb | mysql_drop_db() | MySQL
mysql_fieldflags | mysql_field_flags() | MySQL
mysql_fieldlen | mysql_field_len() | MySQL
mysql_fieldname | mysql_field_name() | MySQL
mysql_fieldtable | mysql_field_table() | MySQL
mysql_fieldtype | mysql_field_type() | MySQL
mysql_freeresult | mysql_free_result() | MySQL
mysql_listdbs | mysql_list_dbs() | MySQL
mysql_listfields | mysql_list_fields() | MySQL
mysql_listtables | mysql_list_tables() | MySQL
mysql_numfields | mysql_num_fields() | MySQL
mysql_numrows | mysql_num_rows() | MySQL
mysql_selectdb | mysql_select_db() | MySQL
mysql_tablename | mysql_result() | MySQL
nextframe | swfmovie_nextFrame() | Ming (flash)
nextframe | swfsprite_nextFrame() | Ming (flash)
ociassignelem | OCI-Collection::assignElem | OCI8
ocibindbyname | oci_bind_by_name() | OCI8
ocicancel | oci_cancel() | OCI8
ocicloselob | OCI-Lob::close | OCI8
ocicollappend | OCI-Collection::append | OCI8
ocicollassign | OCI-Collection::assign | OCI8
ocicollmax | OCI-Collection::max | OCI8
ocicollsize | OCI-Collection::size | OCI8
ocicolltrim | OCI-Collection::trim | OCI8
ocicolumnisnull | oci_field_is_null() | OCI8
ocicolumnname | oci_field_name() | OCI8
ocicolumnprecision | oci_field_precision() | OCI8
ocicolumnscale | oci_field_scale() | OCI8
ocicolumnsize | oci_field_size() | OCI8
ocicolumntype | oci_field_type() | OCI8
ocicolumntyperaw | oci_field_type_raw() | OCI8
ocicommit | oci_commit() | OCI8
ocidefinebyname | oci_define_by_name() | OCI8
ocierror | oci_error() | OCI8
ociexecute | oci_execute() | OCI8
ocifetch | oci_fetch() | OCI8
ocifetchinto | oci_fetch_array(), oci_fetch_row(), oci_fetch_assoc(), oci_fetch_object() | OCI8
ocifetchstatement | oci_fetch_all() | OCI8
ocifreecollection | OCI-Collection::free | OCI8
ocifreecursor | oci_free_statement() | OCI8
ocifreedesc | oci_free_descriptor() | OCI8
ocifreestatement | oci_free_statement() | OCI8
ocigetelem | OCI-Collection::getElem | OCI8
ociinternaldebug | oci_internal_debug() | OCI8
ociloadlob | OCI-Lob::load | OCI8
ocilogon | oci_connect() | OCI8
ocinewcollection | oci_new_collection() | OCI8
ocinewcursor | oci_new_cursor() | OCI8
ocinewdescriptor | oci_new_descriptor() | OCI8
ocinlogon | oci_new_connect() | OCI8
ocinumcols | oci_num_fields() | OCI8
ociparse | oci_parse() | OCI8
ocipasswordchange | oci_password_change() | OCI8
ociplogon | oci_pconnect() | OCI8
ociresult | oci_result() | OCI8
ocirollback | oci_rollback() | OCI8
ocisavelob | OCI-Lob::save | OCI8
ocisavelobfile | OCI-Lob::import | OCI8
ociserverversion | oci_server_version() | OCI8
ocisetprefetch | oci_set_prefetch() | OCI8
ocistatementtype | oci_statement_type() | OCI8
ociwritelobtofile | OCI-Lob::export | OCI8
ociwritetemporarylob | OCI-Lob::writeTemporary | OCI8
odbc_do | odbc_exec() | ODBC
odbc_field_precision | odbc_field_len() | ODBC
output | swfmovie_output() | Ming (flash)
pdf_add_outline | pdf_add_bookmark() | PDF
pg_clientencoding | pg_client_encoding() | PostgreSQL
pg_setclientencoding | pg_set_client_encoding() | PostgreSQL
pos | current() | Base syntax
recode | recode_string() | Recode
remove | swfmovie_remove() | Ming (flash)
remove | swfsprite_remove() | Ming (flash)
rotate | swfdisplayitem_rotate() | Ming (flash)
rotateto | swfdisplayitem_rotateTo() | Ming (flash)
rotateto | swffill_rotateTo() | Ming (flash)
save | swfmovie_save() | Ming (flash)
savetofile | swfmovie_saveToFile() | Ming (flash)
scale | swfdisplayitem_scale() | Ming (flash)
scaleto | swfdisplayitem_scaleTo() | Ming (flash)
scaleto | swffill_scaleTo() | Ming (flash)
setaction | swfbutton_setAction() | Ming (flash)
setbackground | swfmovie_setBackground() | Ming (flash)
setbounds | swftextfield_setBounds() | Ming (flash)
setcolor | swftext_setColor() | Ming (flash)
setcolor | swftextfield_setColor() | Ming (flash)
setdepth | swfdisplayitem_setDepth() | Ming (flash)
setdimension | swfmovie_setDimension() | Ming (flash)
setdown | swfbutton_setDown() | Ming (flash)
setfont | swftext_setFont() | Ming (flash)
setfont | swftextfield_setFont() | Ming (flash)
setframes | swfmovie_setFrames() | Ming (flash)
setframes | swfsprite_setFrames() | Ming (flash)
setheight | swftext_setHeight() | Ming (flash)
setheight | swftextfield_setHeight() | Ming (flash)
sethit | swfbutton_setHit() | Ming (flash)
setindentation | swftextfield_setIndentation() | Ming (flash)
setleftfill | swfshape_setleftfill() | Ming (flash)
setleftmargin | swftextfield_setLeftMargin() | Ming (flash)
setline | swfshape_setline() | Ming (flash)
setlinespacing | swftextfield_setLineSpacing() | Ming (flash)
setmargins | swftextfield_setMargins() | Ming (flash)
setmatrix | swfdisplayitem_setMatrix() | Ming (flash)
setname | swfdisplayitem_setName() | Ming (flash)
setname | swftextfield_setName() | Ming (flash)
setover | swfbutton_setOver() | Ming (flash)
setrate | swfmovie_setRate() | Ming (flash)
setratio | swfdisplayitem_setRatio() | Ming (flash)
setrightfill | swfshape_setrightfill() | Ming (flash)
setrightmargin | swftextfield_setRightMargin() | Ming (flash)
setspacing | swftext_setSpacing() | Ming (flash)
setup | swfbutton_setUp() | Ming (flash)
show_source | highlight_file () | Base syntax
sizeof | count() | Base syntax
skewx | swfdisplayitem_skewX() | Ming (flash)
skewxto | swfdisplayitem_skewXTo() | Ming (flash)
skewxto | swffill_skewXTo() | Ming (flash)
skewy | swfdisplayitem_skewY() | Ming (flash)
skewyto | swfdisplayitem_skewYTo() | Ming (flash)
skewyto | swffill_skewYTo() | Ming (flash)
snmpwalkoid | snmprealwalk() | SNMP
strchr | strstr() | Base syntax
streammp3 | swfmovie_streamMp3() | Ming (flash)
swfaction | swfaction_init() | Ming (flash)
swfbitmap | swfbitmap_init() | Ming (flash)
swfbutton | swfbutton_init() | Ming (flash)
swffill | swffill_init() | Ming (flash)
swffont | swffont_init() | Ming (flash)
swfgradient | swfgradient_init() | Ming (flash)
swfmorph | swfmorph_init() | Ming (flash)
swfmovie | swfmovie_init() | Ming (flash)
swfshape | swfshape_init() | Ming (flash)
swfsprite | swfsprite_init() | Ming (flash)
swftext | swftext_init() | Ming (flash)
swftextfield | swftextfield_init() | Ming (flash)
xptr_new_context | xpath_new_context() |

Status
Liste der reservierten Wörter
Appendices


Liste der reservierten Wörter

Inhaltsverzeichnis

  • Liste der Schlüsselworte
  • Vordefinierte Klassen
  • Vordefinierte Konstanten
  • Liste weiterer reservierter Wörter

Die folgenden Listen enthält in PHP vordefinierten Bezeichner. Sie sollten die reservierten Worte aus diesen Listen keinesfalls in eigenen Skripten als Bezeichner benutzen. Die Listen enthalten Schlüsselworte, vordefinierte Variablen, Konstanten und Klassennamen. Beachten Sie bitte auch, dass diese Listen nicht unbedingt vollständig sind.

Liste der Funktions-Aliase
Liste der Schlüsselworte
Appendices


Liste der Schlüsselworte

Die folgenden Begriffe haben in PHP eine spezielle Bedeutung. Einige von ihnen sehen aus wie Funktionen, Konstanten usw., in Wirklichkeit handelt es sich aber um Sprachkonstrukte. Keines der folgenden Worte kann als Name für eine benutzerdefinierte Konstante, Klasse, Funktion oder Methode genutzt werden. Die Nutzung als Variablenname ist in der Regel möglich, sollte aber unterlassen werden um Verwirrung zu vermeiden.

PHP Schlüsselworte
__halt_compiler() | abstract (ab PHP 5) | and | array() | as
break | callable (as of PHP 5.4) | case | catch | class
clone | const | continue | declare | default
die() | do | echo | else | elseif
empty() | enddeclare | endfor | endforeach | endif
endswitch | endwhile | eval() | exit() | extends
final | finally (as of PHP 5.5) | for | foreach | function
global | goto (ab PHP 5.3) | if | implements | include
include_once | instanceof | insteadof (as of PHP 5.4) | interface | isset()
list() | namespace (ab PHP 5.3) | new | or | print
private | protected | public | require | require_once
return | static | switch | throw | trait (as of PHP 5.4)
try | unset() | use | var | while
xor | yield |  |  |
Konstanten zur Kompilierzeit
__CLASS__ | __DIR__ (ab PHP 5.3) | __FILE__ | __FUNCTION__ | __LINE__ | __METHOD__
__NAMESPACE__ (ab PHP 5.3) | __TRAIT__ (ab PHP 5.4) |  |  |  |
Liste der reservierten Wörter
Vordefinierte Klassen
Liste der reservierten Wörter


Vordefinierte Klassen

Dieser Abschnitt listet vordefierte Klassen auf, welche von PHP selbst definiert werden. Von Erweiterungen definierte Klassen werden in den jeweiligen Abschnitten des Manuals beschrieben.

Standardmäßig definierte Klassen

Diese Klassen sind im Standard-Funktionsumfang einer PHP-Distribution enthalten.

Directory
Die Klasse die von dir() instanziiert wird.
stdClass
Erstellt beim Casten zu einem Objekt.
__PHP_Incomplete_Class
Wird unter Umständen von unserialize() erstellt.

Vordefinierte Klassen in PHP 5

Diese zusätzlichen vordefinierten Klassen wurden mit PHP 5.0.0 eingeführt.

Exception
ErrorException
Verfügbar seit PHP 5.1.0.
php_user_filter

Closure

Die vordefinierte finale Klasse Closure wurde in PHP 5.3.0 eingeführt. Sie wird benutzt um anonyme Funktionen darzustellen.

Weitere Informationen siehe Beschreibung der Klasse.

Generator

Die vordefinierte finale Klasse Generator wurde in PHP 5.5.0 eingeführt. Sie wird benutzt um Generatoren darzustellen.

Weitere Informationen siehe Beschreibung der Klasse.

Spezielle Klassen

Die folgenden Bezeichner können nicht als Klassenname genutzt werden, da sie eine besondere Bedeutung haben.

self
Aktuelle Klasse.
static
Aktuelle Klasse zur Laufzeit.
parent
Vaterklasse.
Liste der Schlüsselworte
Vordefinierte Konstanten
Liste der reservierten Wörter


Vordefinierte Konstanten

Vordefinierte Core-Konstanten

Diese Konstanten werden vom PHP-Core definiert. Diese beinhaltet PHP, die Zend-Engine- und SAPI-Module.

PHP_VERSION (string)
Die aktuelle PHP-Version als Zeichenkette im Format "Hauptversion.Unterversion.Release[Extra]".
PHP_MAJOR_VERSION (integer)
Die aktuelle "Hauptversion" von PHP als Ganzzahl (z.B. int(5) bei Version "5.2.7-extra"). Verfügbar seit PHP 5.2.7.
PHP_MINOR_VERSION (integer)
Die aktuelle "Unterversion" von PHP als Ganzzahl (z.B. int(2) bei Version "5.2.7-extra"). Verfügbar seit PHP 5.2.7.
PHP_RELEASE_VERSION (integer)
Die aktuelle "Release"-Version von PHP als Ganzzahl (z.B. int(7) bei Version "5.2.7-extra"). Verfügbar seit PHP 5.2.7.
PHP_VERSION_ID (integer)
Die aktuelle PHP-Version als Ganzzahl. Nützlich beispielsweise für Versionsvergleiche (z.B. int(50207) bei Version "5.2.7-extra"). Verfügbar seit PHP 5.2.7.
PHP_EXTRA_VERSION (string)
Die aktuelle "Extra"-Versionsnummer von PHP als Zeichenkette (z.B. '-extra' bei Version "5.2.7-extra"). Wird oft von Distributionsanbietern zur Angabe einer Paketversion verwendet. Verfügbar seit PHP 5.2.7.
PHP_ZTS (integer)
Verfügbar seit PHP 5.2.7.
PHP_DEBUG (integer)
Verfügbar seit PHP 5.2.7.
PHP_MAXPATHLEN (integer)
Die maximale Länge von Dateinamen (inklusive Pfad), die von diesem Build von PHP unterstützt wird. Verfügbar seit PHP 5.3.0.
PHP_OS (string)
PHP_SAPI (string)
Die Server-API dieses Builds von PHP. Siehe auch php_sapi_name().
PHP_EOL (string)
Das korrekte Zeilenendezeichen für diese Plattform. Verfügbar seit PHP 5.0.2.
PHP_INT_MAX (integer)
Die größtmögliche Ganzzahl die von diesem Build von PHP unterstützt wird. Üblicherweise int(2147483647). Verfügbar seit PHP 5.0.5.
PHP_INT_MIN (integer)
Die kleinsmögliche Ganzzahl die von diesem Build von PHP unterstützt wird. Üblicherweise int(-2147483648) auf 32-bit Systemen und int(-9223372036854775808) auf 64-bit Systemen. Verfügbar seit PHP 7.0.0.
PHP_INT_SIZE (integer)
Die Größe einer Ganzzahl in Bytes in diesem Build von PHP. Verfügbar seit PHP 5.0.5.
DEFAULT_INCLUDE_PATH (string)
PEAR_INSTALL_DIR (string)
PEAR_EXTENSION_DIR (string)
PHP_EXTENSION_DIR (string)
PHP_PREFIX (string)
Der Wert der für "--prefix" bei der Konfiguration angegeben wurde.
PHP_BINDIR (string)
Gibt an, wohin die Binärdateien installiert wurden.
PHP_BINARY (string)
Gibt den Pfad der Binärdatei von PHP zur Scriptlaufzeit an. Verfügbar seit PHP 5.4.
PHP_MANDIR (string)
Gibt den Ort an, an den die manpages installiert wurden. Verfügbar seit PHP 5.3.7.
PHP_LIBDIR (string)
PHP_DATADIR (string)
PHP_SYSCONFDIR (string)
PHP_LOCALSTATEDIR (string)
PHP_CONFIG_FILE_PATH (string)
PHP_CONFIG_FILE_SCAN_DIR (string)
PHP_SHLIB_SUFFIX (string)
Die Dateiendung für geteilte Bibliotheken der Build- Plattform, beispielsweise "so" (die meisten Unixe) oder "dll" (Windows").
E_ERROR (integer)
Error reporting Konstante
E_WARNING (integer)
E_PARSE (integer)
E_NOTICE (integer)
E_CORE_ERROR (integer)
E_CORE_WARNING (integer)
E_COMPILE_ERROR (integer)
E_COMPILE_WARNING (integer)
E_USER_ERROR (integer)
E_USER_WARNING (integer)
E_USER_NOTICE (integer)
E_DEPRECATED (integer)
Verfügbar seit PHP 5.3.0
E_USER_DEPRECATED (integer)
Verfügbar seit PHP 5.3.0
E_ALL (integer)
E_STRICT (integer)
__COMPILER_HALT_OFFSET__ (integer)
Verfügbar seit PHP 5.1.0
TRUE (boolean)
Siehe Booleans.
FALSE (boolean)
Siehe Booleans.
NULL (null)
Siehe Null.

Siehe auch: Magische Konstanten.

Vordefinierte Standard-Konstanten

Alle Konstanten der Kern-Extensions sind in PHP automatisch definiert.

Vordefinierte Klassen
Liste weiterer reservierter Wörter
Liste der reservierten Wörter


Liste weiterer reservierter Wörter

Diese Wörter können nicht verwendet werden um eine Klasse, ein Interface oder einen Trait zu benennen. Diese Wörter können ebenfalls nicht in Namespaces verwendet werden. Einige der Wörter sind reserviert, um zukünftige PHP Features zu ermöglichen ohne die Abwärtskompatibilität zu brechen.

Reservierte Wörter
int (ab PHP 7) | float (ab PHP 7) | bool (ab PHP 7) | string (ab PHP 7)
true (ab PHP 7) | false (ab PHP 7) | null (ab PHP 7) | resource (ab PHP 7)
object (ab PHP 7) | mixed (ab PHP 7) | numeric (ab PHP 7) |

Vordefinierte Konstanten
Liste der Ressource-Typen
Liste der reservierten Wörter


Liste der Ressource-Typen

Die folgende Liste enthält Funktionen, die PHP-Ressourcen anlegen, nutzen und wieder entfernen. Die Funktion is_resource() kann benutzt werden, um zu prüfen, ob es sich bei einem Variablenwert um eine Ressource handelt, und mit Hilfe der Funktion get_resource_type() kann der genaue Typ der Ressource ermittelt werden.

Ressource-Typen
Ressource-Typ-Name | Erzeugt von | Genutzt von | Entfernt von | Definition
aspell | aspell_new() | aspell_check(), aspell_check_raw(), aspell_suggest() | keine | Aspell-Wörterbuch
bzip2 | bzopen() | bzerrno(), bzerror(), bzerrstr(), bzflush(), bzread(), bzwrite() | bzclose() | Bzip2-komprimierte Datei
COM | com_load() | com_invoke(), com_propget(), com_get(), com_propput(), com_set(), com_propput() | keine | COM-Object-Reference
VARIANT
cpdf | cpdf_open() | cpdf_page_init(), cpdf_finalize_page(), cpdf_finalize(), cpdf_output_buffer(), cpdf_save_to_file(), cpdf_set_current_page(), cpdf_begin_text(), cpdf_end_text(), cpdf_show(), cpdf_show_xy(), cpdf_text(), cpdf_set_font(), cpdf_set_leading(), cpdf_set_text_rendering(), cpdf_set_horiz_scaling(), cpdf_set_text_rise(), cpdf_set_text_matrix(), cpdf_set_text_pos(), cpdf_set_text_pos(), cpdf_set_word_spacing(), cpdf_continue_text(), cpdf_stringwidth(), cpdf_save(), cpdf_translate(), cpdf_restore(), cpdf_scale(), cpdf_rotate(), cpdf_setflat(), cpdf_setlinejoin(), cpdf_setlinecap(), cpdf_setmiterlimit(), cpdf_setlinewidth(), cpdf_setdash(), cpdf_moveto(), cpdf_rmoveto(), cpdf_curveto(), cpdf_lineto(), cpdf_rlineto(), cpdf_circle(), cpdf_arc(), cpdf_rect(), cpdf_closepath(), cpdf_stroke(), cpdf_closepath_fill_stroke(), cpdf_fill_stroke(), cpdf_clip(), cpdf_fill(), cpdf_setgray_fill(), cpdf_setgray_stroke(), cpdf_setgray(), cpdf_setrgbcolor_fill(), cpdf_setrgbcolor_stroke(), cpdf_setrgbcolor(), cpdf_add_outline(), cpdf_set_page_animation(), cpdf_import_jpeg(), cpdf_place_inline_image(), cpdf_add_annotation() | cpdf_close() | Von der CPDF-Bibliothek verwaltetes PDF-Dokument
cpdf outline
cubrid connection | cubrid_connect() cubrid_connect_with_url() | cubrid_col_get() cubrid_col_size() cubrid_commit() cubrid_drop() cubrid_execute() cubrid_get_autocommit() cubrid_get_charset() cubrid_get_class_name() cubrid_get_db_parameter() cubrid_get_server_info() cubrid_get() cubrid_insert_id() cubrid_is_instance() cubrid_lob_export() cubrid_lob_get() cubrid_lob_send() cubrid_lock_read() cubrid_lock_write() cubrid_prepare() cubrid_put() cubrid_rollback() cubrid_schema() cubrid_seq_drop() cubrid_seq_insert() cubrid_seq_put() cubrid_set_add() cubrid_set_autocommit() cubrid_set_db_parameter() cubrid_set_drop() cubrid_affected_rows() cubrid_client_encoding() cubrid_errno() cubrid_error() cubrid_list_dbs() cubrid_ping() cubrid_query() cubrid_real_escape_string() cubrid_lob2_new() | cubrid_close() cubrid_disconnect() | Verbindung zur CUBRID Datenbank
persistent cubrid connection | cubrid_pconnect() cubrid_pconnect_with_url() | cubrid_col_get() cubrid_col_size() cubrid_commit() cubrid_drop() cubrid_execute() cubrid_get_autocommit() cubrid_get_charset() cubrid_get_class_name() cubrid_get_db_parameter() cubrid_get_server_info() cubrid_get() cubrid_insert_id() cubrid_is_instance() cubrid_lob_export() cubrid_lob_get() cubrid_lob_send() cubrid_lock_read() cubrid_lock_write() cubrid_prepare() cubrid_put() cubrid_rollback() cubrid_schema() cubrid_seq_drop() cubrid_seq_insert() cubrid_seq_put() cubrid_set_add() cubrid_set_autocommit() cubrid_set_db_parameter() cubrid_set_drop() cubrid_affected_rows() cubrid_client_encoding() cubrid_errno() cubrid_error() cubrid_list_dbs() cubrid_ping() cubrid_query() cubrid_real_escape_string() | Persistente Verbindung zur CUBRID Datenbank
cubrid request | cubrid_prepare() cubrid_execute() cubrid_query() cubrid_unbuffered_query() | cubrid_bind() cubrid_column_names() cubrid_column_types() cubrid_current_oid() cubrid_execute() cubrid_free_result() cubrid_get_query_timeout() cubrid_move_cursor() cubrid_next_result() cubrid_num_cols() cubrid_num_rows() cubrid_set_query_timeout() cubrid_data_seek() cubrid_fetch_array() cubrid_fetch_assoc() cubrid_fetch_field() cubrid_fetch_lengths() cubrid_fetch_object() cubrid_fetch_row() cubrid_field_flags() cubrid_field_len() cubrid_field_name() cubrid_field_seek() cubrid_field_table() cubrid_field_type() cubrid_num_fields() cubrid_result() cubrid_lob2_bind() | cubrid_close_prepare() cubrid_close_request() | CUBRID Anfrage
cubrid lob | cubrid_lob_get() | cubrid_lob_export() cubrid_lob_send() cubrid_lob_size() | cubrid_lob_close() | keine
cubrid lob2 | cubrid_lob2_new() cubrid_fetch() cubrid_fetch_row() cubrid_fetch_array() cubrid_fetch_assoc() cubrid_fetch_object() | cubrid_lob2_export() cubrid_lob2_import() cubrid_lob2_read() cubrid_lob2_write() cubrid_lob2_tell() cubrid_lob2_tell64() cubrid_lob2_seek() cubrid_lob2_seek64() cubrid_lob2_size() cubrid_lob2_size64() | cubrid_lob2_close() | keine
curl | curl_copy_handle(), curl_init() | curl_copy_handle(), curl_errno(), curl_error(), curl_exec(), curl_getinfo(), curl_setopt() | curl_close() | Curl Session
dbm | dbmopen() | dbmexists(), dbmfetch(), dbminsert(), dbmreplace(), dbmdelete(), dbmfirstkey(), dbmnextkey() | dbmclose() | Verweis auf eine DBM-Datenbank
dba | dba_open() | dba_delete(), dba_exists(), dba_fetch(), dba_firstkey(), dba_insert(), dba_nextkey(), dba_optimize(), dba_replace(), dba_sync() | dba_close() | Verweis auf eine DBA-Datenbank
dba persistent | dba_popen() | dba_delete(), dba_exists(), dba_fetch(), dba_firstkey(), dba_insert(), dba_nextkey(), dba_optimize(), dba_replace(), dba_sync() | keine | Persistenter Verweis auf eine DBA-Datenbank
dbase | dbase_open() | dbase_pack(), dbase_add_record(), dbase_replace_record(), dbase_delete_record(), dbase_get_record(), dbase_get_record_with_names(), dbase_numfields(), dbase_numrecords() | dbase_close() | Verweis auf eine Dbase-Datenbank
dbx_link_object | dbx_connect() | dbx_query() | dbx_close() | dbx connection
dbx_result_object | dbx_query() | keine | dbx result
xpath context
xpath object
fbsql link | fbsql_change_user(), fbsql_connect() | fbsql_autocommit(), fbsql_blob_size(), fbsql_clob_size(), fbsql_commit(), fbsql_change_user(), fbsql_create_blob(), fbsql_create_db(), fbsql_create_clob(), fbsql_data_seek(), fbsql_database_password(), fbsql_database(), fbsql_db_query(), fbsql_db_status(), fbsql_drop_db(), fbsql_errno(), fbsql_error(), fbsql_get_autostart_info(), fbsql_hostname(), fbsql_insert_id(), fbsql_list_dbs(), fbsql_password(), fbsql_read_blob(), fbsql_read_clob(), fbsql_rollback(), fbsql_select_db(), fbsql_set_password(), fbsql_set_transaction(), fbsql_start_db(), fbsql_stop_db(), fbsql_username() | fbsql_close() | Verweis auf eine fbsql-Datenbank
fbsql plink | fbsql_change_user(), fbsql_pconnect() | fbsql_autocommit(), fbsql_change_user(), fbsql_create_db(), fbsql_data_seek(), fbsql_db_query(), fbsql_drop_db(), fbsql_select_db(), fbsql_errno(), fbsql_error(), fbsql_insert_id(), fbsql_list_dbs() | keine | Persistenter Link auf eine fbsql-Datenbank
fbsql result | fbsql_db_query(), fbsql_list_dbs(), fbsql_query(), fbsql_list_fields(), fbsql_list_tables(), fbsql_tablename() | fbsql_affected_rows(), fbsql_fetch_array(), fbsql_fetch_assoc(), fbsql_fetch_field(), fbsql_fetch_lengths(), fbsql_fetch_object(), fbsql_fetch_row(), fbsql_field_flags(), fbsql_field_name(), fbsql_field_len(), fbsql_field_seek(), fbsql_field_table(), fbsql_field_type(), fbsql_next_result(), fbsql_num_fields(), fbsql_num_rows(), fbsql_result(), fbsql_num_rows() | fbsql_free_result() | fbsql result
fdf | fdf_open() | fdf_create(), fdf_save(), fdf_get_value(), fdf_set_value(), fdf_next_field_name(), fdf_set_ap(), fdf_set_status(), fdf_get_status(), fdf_set_file(), fdf_get_file(), fdf_set_flags(), fdf_set_opt(), fdf_set_submit_form_action(), fdf_set_javascript_action() | fdf_close() | FDF-Datei
ftp | ftp_connect(), ftp_ssl_connect() | ftp_login(), ftp_pwd(), ftp_cdup(), ftp_chdir(), ftp_mkdir(), ftp_rmdir(), ftp_nlist(), ftp_rawlist(), ftp_systype(), ftp_pasv(), ftp_get(), ftp_fget(), ftp_put(), ftp_fput(), ftp_size(), ftp_mdtm(), ftp_rename(), ftp_delete(), ftp_site(), ftp_alloc(), ftp_chmod(), ftp_exec(), ftp_get_option(), ftp_nb_continue(), ftp_nb_fget(), ftp_nb_fput(), ftp_nb_get(), ftp_nb_put(), ftp_raw(), ftp_set_option() | ftp_close() | FTP-Verbindung
gd | imagecreate(), imagecreatefromgd(), imagecreatefromgd2(), imagecreatefromgd2part(), imagecreatefromgif(), imagecreatefromjpeg(), imagecreatefrompng(), imagecreatefromwbmp(), imagecreatefromstring(), imagecreatefromxbm(), imagecreatefromxpm(), imagecreatetruecolor(), imagerotate() | imagearc(), imagechar(), imagecharup(), imagecolorallocate(), imagecolorat(), imagecolorclosest(), imagecolorexact(), imagecolorresolve(), imagegammacorrect(), imagegammacorrect(), imagecolorset(), imagecolorsforindex(), imagecolorstotal(), imagecolortransparent(), imagecopy(), imagecopyresized(), imagedashedline(), imagefill(), imagefilledpolygon(), imagefilledrectangle(), imagefilltoborder(), imagegif(), imagepng(), imagejpeg(), imagewbmp(), imageinterlace(), imageline(), imagepolygon(), imagepstext(), imagerectangle(), imagerotate(), imagesetpixel(), imagestring(), imagestringup(), imagesx(), imagesy(), imagettftext(), imagefilledarc(), imageellipse(), imagefilledellipse(), imagecolorclosestalpha(), imagecolorexactalpha(), imagecolorresolvealpha(), imagecopymerge(), imagecopymergegray(), imagecopyresampled(), imagetruecolortopalette(), imagesetbrush(), imagesettile(), imagesetthickness(), image2wbmp(), imagealphablending(), imageantialias(), imagecolorallocatealpha(), imagecolorclosesthwb(), imagecolordeallocate(), imagecolormatch(), imagefilter(), imagefttext(), imagegd(), imagegd2(), imageistruecolor(), imagelayereffect(), imagepalettecopy(), imagesavealpha(), imagesetstyle(), imagexbm() | imagedestroy() | GD-Image
gd font | imageloadfont() | imagechar(), imagecharup(), imagefontheight() | keine | GD-Zeichensatz
gd-PS-Encoding
gd-PS-Font | imagepsloadfont() | imagepstext(), imagepsslantfont(), imagepsextendfont(), imagepsencodefont(), imagepsbbox() | imagepsfreefont() | Postscript-Font für GD
GMP-Integer | gmp_init() | gmp_intval(), gmp_strval(), gmp_add(), gmp_sub(), gmp_mul(), gmp_div_q(), gmp_div_r(), gmp_div_qr(), gmp_div(), gmp_mod(), gmp_divexact(), gmp_cmp(), gmp_neg(), gmp_abs(), gmp_sign(), gmp_fact(), gmp_sqrt(), gmp_sqrtrm(), gmp_perfect_square(), gmp_pow(), gmp_powm(), gmp_prob_prime(), gmp_gcd(), gmp_gcdext(), gmp_invert(), gmp_legendre(), gmp_jacobi(), gmp_random(), gmp_and(), gmp_or(), gmp_xor(), gmp_setbit(), gmp_clrbit(), gmp_scan0(), gmp_scan1(), gmp_popcount(), gmp_hamdist() | keine | GMP-Number
hyperwave document | hw_cp(), hw_docbyanchor(), hw_getremote(), hw_getremotechildren() | hw_children(), hw_childrenobj(), hw_getparents(), hw_getparentsobj(), hw_getchildcoll(), hw_getchildcollobj(), hw_getremote(), hw_getsrcbydestobj(), hw_getandlock(), hw_gettext(), hw_getobjectbyquerycoll(), hw_getobjectbyquerycollobj(), hw_getchilddoccoll(), hw_getchilddoccollobj(), hw_getanchors(), hw_getanchorsobj(), hw_inscoll(), hw_pipedocument(), hw_unlock() | hw_deleteobject() | Hyperwave-Objekt
hyperwave-Link | hw_connect() | hw_children(), hw_childrenobj(), hw_cp(), hw_deleteobject(), hw_docbyanchor(), hw_docbyanchorobj(), hw_errormsg(), hw_edittext(), hw_error(), hw_getparents(), hw_getparentsobj(), hw_getchildcoll(), hw_getchildcollobj(), hw_getremote(), hw_getremotechildren(), hw_getsrcbydestobj(), hw_getobject(), hw_getandlock(), hw_gettext(), hw_getobjectbyquery(), hw_getobjectbyqueryobj(), hw_getobjectbyquerycoll(), hw_getobjectbyquerycollobj(), hw_getchilddoccoll(), hw_getchilddoccollobj(), hw_getanchors(), hw_getanchorsobj(), hw_mv(), hw_incollections(), hw_info(), hw_inscoll(), hw_insdoc(), hw_insertdocument(), hw_insertobject(), hw_mapid(), hw_modifyobject(), hw_pipedocument(), hw_unlock(), hw_who(), hw_getusername() | hw_close(), hw_free_document() | Verweis auf einen Hyperwave-Server
hyperwave link persistent | hw_pconnect() | hw_children(), hw_childrenobj(), hw_cp(), hw_deleteobject(), hw_docbyanchor(), hw_docbyanchorobj(), hw_errormsg(), hw_edittext(), hw_error(), hw_getparents(), hw_getparentsobj(), hw_getchildcoll(), hw_getchildcollobj(), hw_getremote(), hw_getremotechildren(), hw_getsrcbydestobj(), hw_getobject(), hw_getandlock(), hw_gettext(), hw_getobjectbyquery(), hw_getobjectbyqueryobj(), hw_getobjectbyquerycoll(), hw_getobjectbyquerycollobj(), hw_getchilddoccoll(), hw_getchilddoccollobj(), hw_getanchors(), hw_getanchorsobj(), hw_mv(), hw_incollections(), hw_info(), hw_inscoll(), hw_insdoc(), hw_insertdocument(), hw_insertobject(), hw_mapid(), hw_modifyobject(), hw_pipedocument(), hw_unlock(), hw_who(), hw_getusername() | keine | Persistenter Verweis auf einen Hyperwave-Server
icap | icap_open() | icap_fetch_event(), icap_list_events(), icap_store_event(), icap_snooze(), icap_list_alarms(), icap_delete_event() | icap_close() | Verweis auf einen icap-Server
imap | imap_open() | imap_append(), imap_body(), imap_check(), imap_createmailbox(), imap_delete(), imap_deletemailbox(), imap_expunge(), imap_fetchbody(), imap_fetchstructure(), imap_headerinfo(), imap_header(), imap_headers(), imap_listmailbox(), imap_getmailboxes(), imap_get_quota(), imap_status(), imap_listsubscribed(), imap_set_quota(), imap_set_quota(), imap_getsubscribed(), imap_mail_copy(), imap_mail_move(), imap_num_msg(), imap_num_recent(), imap_ping(), imap_renamemailbox(), imap_reopen(), imap_subscribe(), imap_undelete(), imap_unsubscribe(), imap_scanmailbox(), imap_mailboxmsginfo(), imap_fetchheader(), imap_uid(), imap_msgno(), imap_search(), imap_fetch_overview() | imap_close() | Verweis auf einen IMAP- oder POP3-Server
imap chain persistent
imap persistent
ingres | ingres_connect() | ingres_query(), ingres_num_rows(), ingres_num_fields(), ingres_field_name(), ingres_field_type(), ingres_field_nullable(), ingres_field_length(), ingres_field_precision(), ingres_field_scale(), ingres_fetch_array(), ingres_fetch_row(), ingres_fetch_object(), ingres_rollback(), ingres_commit(), ingres_autocommit() | ingres_close() | Verweis auf eine ingresII-Datenbank
ingres persistent | ingres_pconnect() | ingres_query(), ingres_num_rows(), ingres_num_fields(), ingres_field_name(), ingres_field_type(), ingres_field_nullable(), ingres_field_length(), ingres_field_precision(), ingres_field_scale(), ingres_fetch_array(), ingres_fetch_row(), ingres_fetch_object(), ingres_rollback(), ingres_commit(), ingres_autocommit() | keine | Persistenter Verweis auf eine ingresII-Datenbank
interbase blob
interbase link | ibase_connect() | ibase_query(), ibase_prepare(), ibase_trans() | ibase_close() | Verweis auf Interbase-Datenbank
interbase link persistent | ibase_pconnect() | ibase_query(), ibase_prepare(), ibase_trans() | keine | Persistenter Verweis auf eine Interbase-Datenbank
interbase query | ibase_prepare() | ibase_execute() | ibase_free_query() | Interbase Abfrage
interbase result | ibase_query() | ibase_fetch_row(), ibase_fetch_object(), ibase_field_info(), ibase_num_fields() | ibase_free_result() | Interbase-Ergebnis
interbase transaction | ibase_trans() | ibase_commit() | ibase_rollback() | Interbase-Transaktion
java
ldap link | ldap_connect(), ldap_search() | ldap_count_entries(), ldap_first_attribute(), ldap_first_entry(), ldap_get_attributes(), ldap_get_dn(), ldap_get_entries(), ldap_get_values(), ldap_get_values_len(), ldap_next_attribute(), ldap_next_entry() | ldap_close() | ldap-Verbindung
ldap result | ldap_read() | ldap_add(), ldap_compare(), ldap_bind(), ldap_count_entries(), ldap_delete(), ldap_errno(), ldap_error(), ldap_first_attribute(), ldap_first_entry(), ldap_get_attributes(), ldap_get_dn(), ldap_get_entries(), ldap_get_values(), ldap_get_values_len(), ldap_get_option(), ldap_list(), ldap_modify(), ldap_mod_add(), ldap_mod_replace(), ldap_next_attribute(), ldap_next_entry(), ldap_mod_del(), ldap_set_option(), ldap_unbind() | ldap_free_result() | ldap-Suchergebnis
ldap result entry
mcal | mcal_open(), mcal_popen() | mcal_create_calendar(), mcal_rename_calendar(), mcal_rename_calendar(), mcal_delete_calendar(), mcal_fetch_event(), mcal_list_events(), mcal_append_event(), mcal_store_event(), mcal_delete_event(), mcal_list_alarms(), mcal_event_init(), mcal_event_set_category(), mcal_event_set_title(), mcal_event_set_description(), mcal_event_set_start(), mcal_event_set_end(), mcal_event_set_alarm(), mcal_event_set_class(), mcal_next_recurrence(), mcal_event_set_recur_none(), mcal_event_set_recur_daily(), mcal_event_set_recur_weekly(), mcal_event_set_recur_monthly_mday(), mcal_event_set_recur_monthly_wday(), mcal_event_set_recur_yearly(), mcal_fetch_current_stream_event(), mcal_event_add_attribute(), mcal_expunge() | mcal_close() | Verweis auf einen calendar-Server
SWFAction
SWFBitmap
SWFButton
SWFDisplayItem
SWFFill
SWFFont
SWFGradient
SWFMorph
SWFMovie
SWFShape
SWFSprite
SWFText
SWFTextField
mnogosearch agent
mnogosearch result
msql link | msql_connect() | msql(), msql_create_db(), msql_createdb(), msql_drop_db(), msql_drop_db(), msql_select_db(), msql_select_db() | msql_close() | Veriweis auf eine mSQL-Datenbank
msql link persistent | msql_pconnect() | msql(), msql_create_db(), msql_createdb(), msql_drop_db(), msql_drop_db(), msql_select_db(), msql_select_db() | keine | Persistenter Verweis auf eine mSQL-Datenbank
msql query | msql_db_query(), msql_list_dbs(), msql_list_fields(), msql_list_tables(), msql_query() | msql(), msql_affected_rows(), msql_data_seek(), msql_dbname(), msql_fetch_array(), msql_fetch_field(), msql_fetch_object(), msql_fetch_row(), msql_field_seek(), msql_field_table(), msql_field_flags(), msql_field_len(), msql_field_name(), msql_field_type(), msql_num_fields(), msql_num_rows(), msql_numfields(), msql_numrows(), msql_result() | msql_free_result(), msql_free_result() | mSQL Ergebnis
mssql link | mssql_connect() | mssql_query(), mssql_select_db() | mssql_close() | Verweis auf eine Microsoft SQL Server-Datenbank
mssql link persistent | mssql_pconnect() | mssql_query(), mssql_select_db() | keine | Persistenter Verweis auf eine Microsoft SQL Server-Datenbank
mssql result | mssql_query() | mssql_data_seek(), mssql_fetch_array(), mssql_fetch_field(), mssql_fetch_object(), mssql_fetch_row(), mssql_field_length(), mssql_field_name(), mssql_field_seek(), mssql_field_type(), mssql_num_fields(), mssql_num_rows(), mssql_result() | mssql_free_result() | Microsoft SQL Server-Ergebnis
mysql link | mysql_connect() | mysql_affected_rows(), mysql_change_user(), mysql_create_db(), mysql_data_seek(), mysql_db_name(), mysql_db_query(), mysql_drop_db(), mysql_errno(), mysql_error(), mysql_insert_id(), mysql_list_dbs(), mysql_list_fields(), mysql_list_tables(), mysql_query(), mysql_result(), mysql_select_db(), mysql_tablename(), mysql_get_host_info(), mysql_get_proto_info(), mysql_get_server_info() | mysql_close() | Verweis auf eine MySQL-Datenbank
mysql link persistent | mysql_pconnect() | mysql_affected_rows(), mysql_change_user(), mysql_create_db(), mysql_data_seek(), mysql_db_name(), mysql_db_query(), mysql_drop_db(), mysql_errno(), mysql_error(), mysql_insert_id(), mysql_list_dbs(), mysql_list_fields(), mysql_list_tables(), mysql_query(), mysql_result(), mysql_select_db(), mysql_tablename(), mysql_get_host_info(), mysql_get_proto_info(), mysql_get_server_info() | keine | Persistenter Verweis auf eine MySQL-Datenbank
mysql result | mysql_db_query(), mysql_list_dbs(), mysql_list_fields(), mysql_list_processes(), mysql_list_tables(), mysql_query(), mysql_unbuffered_query() | mysql_data_seek(), mysql_db_name(), mysql_fetch_array(), mysql_fetch_assoc(), mysql_fetch_field(), mysql_fetch_lengths(), mysql_fetch_object(), mysql_fetch_row(), mysql_fetch_row(), mysql_field_flags(), mysql_field_name(), mysql_field_len(), mysql_field_seek(), mysql_field_table(), mysql_field_type(), mysql_num_fields(), mysql_num_rows(), mysql_result(), mysql_tablename() | mysql_free_result() | MySQL-Ergebnis
oci8 collection | oci_new_collection() | OCI-Collection::append(), OCI-Collection::assign(), OCI-Collection::assignElem(), OCI-Collection::getElem(), OCI-Collection::max(), OCI-Collection::size(), OCI-Collection::trim() | OCI-Collection::free() | Oracle Collection
oci8 connection | oci_connect(), oci_pconnect(), oci_new_connect() | oci_commit(), oci_error(), oci_new_cursor(), oci_parse(), oci_password_change() oci_rollback(), oci_server_version(), oci_set_action(), oci_set_client_identifier(), oci_set_client_info(), oci_set_module_name() | oci_close() | Verbindung zur Oracle-Datenbank
oci8 lob | oci_new_descriptor() | OCI-Lob::append(), OCI-Lob::close(), OCI-Lob::eof(), OCI-Lob::erase(), OCI-Lob::export(), OCI-Lob::flush(), OCI-Lob::getBuffering(), OCI-Lob::import(), OCI-Lob::load(), OCI-Lob::read(), OCI-Lob::rewind(), OCI-Lob::save(), OCI-Lob::saveFile(), OCI-Lob::seek(), OCI-Lob::setBuffering(), OCI-Lob::size(), OCI-Lob::tell(), OCI-Lob::truncate(), OCI-Lob::write(), OCI-Lob::writeTemporary(), OCI-Lob::writeToFile(), oci_lob_copy(), oci_lob_is_equal() | OCI-Lob::free() | Oracle Large Objects
oci8 statement | oci_parse() oci_new_cursor() | oci_bind_array_by_name(), oci_bind_by_name(), oci_cancel(), oci_define_by_name(), oci_error() oci_execute(), oci_fetch_all(), oci_fetch_array(), oci_fetch_assoc(), oci_fetch_object(), oci_fetch_row(), oci_fetch(), oci_field_is_null(), oci_field_name(), oci_field_precision(), oci_field_scale(), oci_field_size(), oci_field_type_raw(), oci_field_type(), oci_num_fields(), oci_num_rows(), oci_result(), oci_set_prefetch(), oci_statement_type() | oci_free_statement() | Oracle-Cursor
odbc link | odbc_connect() | odbc_autocommit(), odbc_commit(), odbc_error(), odbc_errormsg(), odbc_exec(), odbc_tables(), odbc_tableprivileges(), odbc_do(), odbc_prepare(), odbc_columns(), odbc_columnprivileges(), odbc_procedurecolumns(), odbc_specialcolumns(), odbc_rollback(), odbc_setoption(), odbc_gettypeinfo(), odbc_primarykeys(), odbc_foreignkeys(), odbc_procedures(), odbc_statistics() | odbc_close() | Verweis auf eine ODBC-Datenbank
odbc link persistent | odbc_pconnect() | odbc_autocommit(), odbc_commit(), odbc_error(), odbc_errormsg(), odbc_exec(), odbc_tables(), odbc_tableprivileges(), odbc_do(), odbc_prepare(), odbc_columns(), odbc_columnprivileges(), odbc_procedurecolumns(), odbc_specialcolumns(), odbc_rollback(), odbc_setoption(), odbc_gettypeinfo(), odbc_primarykeys(), odbc_foreignkeys(), odbc_procedures(), odbc_statistics() | keine | Persistenter Verweis auf eine ODBC-Datenbank
odbc result | odbc_prepare() | odbc_binmode(), odbc_cursor(), odbc_execute(), odbc_fetch_into(), odbc_fetch_row(), odbc_field_name(), odbc_field_num(), odbc_field_type(), odbc_field_len(), odbc_field_precision(), odbc_field_scale(), odbc_longreadlen(), odbc_num_fields(), odbc_num_rows(), odbc_result(), odbc_result_all(), odbc_setoption() | odbc_free_result() | ODBC-Ergebnis
birdstep link
birdstep result
OpenSSL key | openssl_get_privatekey(), openssl_get_publickey() | openssl_sign(), openssl_seal(), openssl_open(), openssl_verify() | openssl_free_key() | OpenSSL Schlüssel
OpenSSL X.509 | openssl_x509_read() | openssl_x509_parse(), openssl_x509_checkpurpose() | openssl_x509_free() | Public Key
pdf document | pdf_new() | pdf_add_bookmark(), pdf_add_launchlink(), pdf_add_locallink(), pdf_add_note(), pdf_add_pdflink(), pdf_add_weblink(), pdf_arc(), pdf_attach_file(), pdf_begin_page(), pdf_circle(), pdf_clip(), pdf_closepath(), pdf_closepath_fill_stroke(), pdf_closepath_stroke(), pdf_concat(), pdf_continue_text(), pdf_curveto(), pdf_end_page(), pdf_endpath(), pdf_fill(), pdf_fill_stroke(), pdf_findfont(), pdf_get_buffer(), pdf_get_image_height(), pdf_get_image_width(), pdf_get_parameter(), pdf_get_value(), pdf_lineto(), pdf_moveto(), pdf_open_ccitt(), pdf_open_file(), pdf_open_image_file(), pdf_place_image(), pdf_rect(), pdf_restore(), pdf_rotate(), pdf_save(), pdf_scale(), pdf_setdash(), pdf_setflat(), pdf_setfont(), pdf_setgray(), pdf_setgray_fill(), pdf_setgray_stroke(), pdf_setlinecap(), pdf_setlinejoin(), pdf_setlinewidth(), pdf_setmiterlimit(), pdf_setpolydash(), pdf_setrgbcolor(), pdf_setrgbcolor_fill(), pdf_setrgbcolor_stroke(), pdf_set_border_color(), pdf_set_border_dash(), pdf_set_border_style(), pdf_set_char_spacing(), pdf_set_duration(), pdf_set_font(), pdf_set_horiz_scaling(), pdf_set_parameter(), pdf_set_text_pos(), pdf_set_text_rendering(), pdf_set_value(), pdf_set_word_spacing(), pdf_show(), pdf_show_boxed(), pdf_show_xy(), pdf_skew(), pdf_stringwidth(), pdf_stroke(), pdf_translate(), pdf_add_thumbnail(), pdf_arcn(), pdf_begin_pattern(), pdf_begin_template(), pdf_end_pattern(), pdf_end_template(), pdf_initgraphics(), pdf_makespotcolor(), pdf_set_info(), pdf_setcolor(), pdf_setmatrix(), pdf_open_memory_image() | pdf_close(), pdf_delete() | PDF-Dokument
pdf image | pdf_open_image(), pdf_open_image_file(), pdf_open_memory_image() | pdf_get_image_height(), pdf_get_image_width(), pdf_open_CCITT(), pdf_place_image() | pdf_close_image() | Bild in einer PDF-Datei
pdf object
pdf outline
pgsql large object | pg_lo_open() | pg_lo_open(), pg_lo_create(), pg_lo_read(), pg_lo_read_all(), pg_lo_seek(), pg_lo_tell(), pg_lo_unlink(), pg_lo_write() | pg_lo_close() | PostgreSQL Large Object
pgsql link | pg_connect() | pg_affected_rows(), pg_query(), pg_send_query(), pg_get_result(), pg_connection_busy(), pg_connection_reset(), pg_connection_status(), pg_last_error(), pg_last_notice(), pg_lo_create(), pg_lo_export(), pg_lo_import(), pg_lo_open(), pg_lo_unlink(), pg_host(), pg_port(), pg_dbname(), pg_options(), pg_copy_from(), pg_copy_to(), pg_end_copy(), pg_put_line(), pg_tty(), pg_trace(), pg_untrace(), pg_set_client_encoding(), pg_client_encoding(), pg_metadata(), pg_convert(), pg_insert(), pg_select(), pg_delete(), pg_update() | pg_close() | Verweis auf eine PostgreSQL Datenbank
pgsql link persistent | pg_pconnect() | pg_affected_rows(), pg_query(), pg_send_query(), pg_get_result(), pg_connection_busy(), pg_connection_reset(), pg_connection_status(), pg_last_error(), pg_last_notice(), pg_lo_create(), pg_lo_export(), pg_lo_import(), pg_lo_open(), pg_lo_unlink(), pg_host(), pg_port(), pg_dbname(), pg_options(), pg_copy_from(), pg_copy_to(), pg_end_copy(), pg_put_line(), pg_tty(), pg_trace(), pg_untrace(), pg_set_client_encoding(), pg_client_encoding(), pg_metadata(), pg_convert(), pg_insert(), pg_select(), pg_delete(), pg_update() | keine | Persistenter Verweis auf eine PostgreSQL Datenbank
pgsql result | pg_execute(), pg_query(), pg_query_params(), pg_get_result() | pg_fetch_array(), pg_fetch_object(), pg_fetch_result(), pg_fetch_row(), pg_field_is_null(), pg_field_name(), pg_field_num(), pg_field_prtlen(), pg_field_size(), pg_field_type(), pg_last_oid(), pg_num_fields(), pg_num_rows(), pg_result_error(), pg_result_status() | pg_free_result() | PostgreSQL-Ergebnis
pgsql string
printer
printer brush
printer font
printer pen
pspell | pspell_new(), pspell_new_config(), pspell_new_personal() | pspell_add_to_personal(), pspell_add_to_session(), pspell_check(), pspell_clear_session(), pspell_config_ignore(), pspell_config_mode(), pspell_config_personal(), pspell_config_repl(), pspell_config_runtogether(), pspell_config_save_repl(), pspell_save_wordlist(), pspell_store_replacement(), pspell_suggest() | keine | pspell Wörterbuch
pspell config | pspell_config_create() | pspell_new_config() | keine | pspell Konfiguration
Sablotron XSLT | xslt_create() | xslt_closelog(), xslt_openlog(), xslt_run(), xslt_set_sax_handler(), xslt_errno(), xslt_error(), xslt_fetch_result(), xslt_free() | xslt_free() | XSLT Parser
shmop | shmop_open() | shmop_read(), shmop_write(), shmop_size(), shmop_delete() | shmop_close()
sockets file descriptor set | socket() | accept_connect(), bind(), connect(), listen(), read(), write() | close() | Socket
sockets i/o vector
stream | opendir() | readdir(), rewinddir() | closedir() | Verzeichnis Handle
stream | fopen(), tmpfile() | feof(), fflush(), fgetc(), fgetcsv(), fgets(), fgetss(), flock(), fpassthru(), fputs(), fwrite(), fread(), fseek(), ftell(), fstat(), ftruncate(), set_file_buffer(), rewind() | fclose() | File-Handle
stream | popen(), fsockopen(), pfsockopen() | feof(), fflush(), fgetc(), fgetcsv(), fgets(), fgetss(), fpassthru(), fputs(), fwrite(), fread() | pclose() | Process handle
socket | fflush(), fgetc(), fgetcsv(), fgets(), fgetss(), fpassthru(), fputs(), fwrite(), fread() | fclose() | Socket-Handle
sybase-db link | sybase_connect() | sybase_query(), sybase_select_db() | sybase_close() | Verweis auf eine Sybase-Datenbank über die DB-Bibliothek
sybase-db link persistent | sybase_pconnect() | sybase_query(), sybase_select_db() | keine | Persistenter Verweis auf eine Sybase-Datenbank über die DB-Bibliothek
sybase-db result | sybase_query(), sybase_unbuffered_query() | sybase_data_seek(), sybase_fetch_array(), sybase_fetch_field(), sybase_fetch_object(), sybase_fetch_row(), sybase_field_seek(), sybase_num_fields(), sybase_num_rows(), sybase_result() | sybase_free_result() | Sybase-Ergebnis (DB-Bibliothek)
sybase-ct link | sybase_connect() | sybase_affected_rows(), sybase_query(), sybase_select_db() | sybase_close() | Verweis auf eine Sybase-Datenbank (CT-Bibliothek)
sybase-ct link persistent | sybase_pconnect() | sybase_affected_rows(), sybase_query(), sybase_select_db() | keine | Persistenter Verweis auf eine Sybase-Datenbank (CT-Bibliothek)
sybase-ct result | sybase_query() | sybase_data_seek(), sybase_fetch_array(), sybase_fetch_field(), sybase_fetch_object(), sybase_fetch_row(), sybase_field_seek(), sybase_num_fields(), sybase_num_rows(), sybase_result() | sybase_free_result() | Sybase Ergebnis (CT Bibliothek)
sysvsem | sem_get() | sem_acquire() | sem_release() | System V Semaphore
sysvshm | shm_attach() | shm_remove(), shm_put_var(), shm_get_var(), shm_remove_var() | shm_detach() | System V Shared Memory
wddx | wddx_packet_start() | wddx_add_vars() | wddx_packet_end() | WDDX-Paket
xml | xml_parser_create(), xml_parser_create_ns() | xml_set_object(), xml_set_element_handler(), xml_set_character_data_handler(), xml_set_processing_instruction_handler(), xml_set_default_handler(), xml_set_unparsed_entity_decl_handler(), xml_set_notation_decl_handler(), xml_set_external_entity_ref_handler(), xml_parse(), xml_get_error_code(), xml_error_string(), xml_get_current_line_number(), xml_get_current_column_number(), xml_get_current_byte_index(), xml_parse_into_struct(), xml_parser_set_option(), xml_parser_get_option() | xml_parser_free() | XML-Parser
zlib | gzopen() | gzeof(), gzgetc(), gzgets(), gzgetss(), gzpassthru(), gzputs(), gzread(), gzrewind(), gzseek(), gztell(), gzwrite() | gzclose() | gz-komprimierte Datei

Liste weiterer reservierter Wörter
List of Available Filters
Appendices


List of Available Filters

Inhaltsverzeichnis

  • String Filters
  • Conversion Filters
  • Compression Filters
  • Encryption Filters

The following is a list of a few built-in stream filters for use with stream_filter_append(). Your version of PHP may have more filters (or fewer) than those listed here.

It is worth noting a slight asymmetry between stream_filter_append() and stream_filter_prepend(). Every PHP stream contains a small read buffer where it stores blocks of data retrieved from the filesystem or other resource in order to process data in the most efficient manner. As soon as data is pulled from the resource into the stream's internal buffer, it is immediately processed through any attached filters whether the PHP application is actually ready for the data or not. If data is sitting in the read buffer when a filter is appended, this data will be immediately processed through that filter making the fact that it was sitting in the buffer seem transparent. However, if data is sitting in the read buffer when a filter is prepended, this data will NOT be processed through that filter. It will instead wait until the next block of data is retrieved from the resource.

For a list of filters installed in your version of PHP use stream_get_filters().

Liste der Ressource-Typen
String Filters
Appendices


String Filters

Each of these filters does precisely what their name implies and correspond to the behavior of a built-in php string handling function. For more information on a given filter, refer to the manual page for the corresponding function.

string.rot13 Use of this filter is equivalent to processing all stream data through the str_rot13() function.

Beispiel #1 string.rot13

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.rot13');
fwrite($fp, "This is a test.\n");
/* Outputs:  Guvf vf n grfg.   */
?>

string.toupper Use of this filter is equivalent to processing all stream data through the strtoupper() function.

Beispiel #2 string.toupper

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.toupper');
fwrite($fp, "This is a test.\n");
/* Outputs:  THIS IS A TEST.   */
?>

string.tolower Use of this filter is equivalent to processing all stream data through the strtolower() function.

Beispiel #3 string.tolower

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.tolower');
fwrite($fp, "This is a test.\n");
/* Outputs:  this is a test.   */
?>

string.strip_tags (since PHP 5.0.0) Use of this filter is equivalent to processing all stream data through the strip_tags() function. It accepts parameters in one of two forms: Either as a string containing a list of tags similar to the second parameter of the strip_tags() function, or as an array of tag names.

Beispiel #4 string.strip_tags

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.strip_tags', STREAM_FILTER_WRITE, "<b><i><u>");
fwrite($fp, "<b>bolded text</b> enlarged to a <h1>level 1 heading</h1>\n");
fclose($fp);
/* Outputs:  <b>bolded text</b> enlarged to a level 1 heading   */

$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.strip_tags', STREAM_FILTER_WRITE, array('b','i','u'));
fwrite($fp, "<b>bolded text</b> enlarged to a <h1>level 1 heading</h1>\n");
fclose($fp);
/* Outputs:  <b>bolded text</b> enlarged to a level 1 heading   */
?>
List of Available Filters
Conversion Filters
List of Available Filters


Conversion Filters

Like the string.* filters, the convert.* filters perform actions similar to their names. The convert filters were added with PHP 5.0.0. For more information on a given filter, refer to the manual page for the corresponding function.

convert.base64-encode and convert.base64-decode Use of these filters are equivalent to processing all stream data through the base64_encode() and base64_decode() functions respectively. convert.base64-encode supports parameters given as an associative array. If line-length is given, the base64 output will be split into chunks of line-length characters each. If line-break-chars is given, each chunk will be delimited by the characters given. These parameters give the same effect as using base64_encode() with chunk_split().

Beispiel #1 convert.base64-encode & convert.base64-decode

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.base64-encode');
fwrite($fp, "This is a test.\n");
fclose($fp);
/* Outputs:  VGhpcyBpcyBhIHRlc3QuCg==  */

$param = array('line-length' => 8, 'line-break-chars' => "\r\n");
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.base64-encode', STREAM_FILTER_WRITE, $param);
fwrite($fp, "This is a test.\n");
fclose($fp);
/* Outputs:  VGhpcyBp
          :  cyBhIHRl
          :  c3QuCg==  */

$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.base64-decode');
fwrite($fp, "VGhpcyBpcyBhIHRlc3QuCg==");
fclose($fp);
/* Outputs:  This is a test.  */
?>

convert.quoted-printable-encode and convert.quoted-printable-decode Use of the decode version of this filter is equivalent to processing all stream data through the quoted_printable_decode() functions. There is no function equivalent to convert.quoted-printable-encode. convert.quoted-printable-encode supports parameters given as an associative array. In addition to the parameters supported by convert.base64-encode, convert.quoted-printable-encode also supports boolean arguments binary and force-encode-first. convert.base64-decode only supports the line-break-chars parameter as a type-hint for stripping from the encoded payload.

Beispiel #2 convert.quoted-printable-encode & convert.quoted-printable-decode

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.quoted-printable-encode');
fwrite($fp, "This is a test.\n");
/* Outputs:  =This is a test.=0A  */
?>
String Filters
Compression Filters
List of Available Filters


Compression Filters

While the Compression Wrappers provide a way of creating gzip and bz2 compatible files on the local filesystem, they do not provide a means for generalized compression over network streams, nor do they provide a means to begin with a non-compressed stream and transition to a compressed one. For this, a compression filter may be applied to any stream resource at any time.

Hinweis: Compression filters do not generate headers and trailers used by command line utilities such as gzip. They only compress and decompress the payload portions of compressed data streams.

zlib.deflate (compression) and zlib.inflate (decompression) are implementations of the compression methods described in » RFC 1951. The deflate filter takes up to three parameters passed as an associative array. level describes the compression strength to use (1-9). Higher numbers will generally yield smaller payloads at the cost of additional processing time. Two special compression levels also exist: 0 (for no compression at all), and -1 (zlib internal default -- currently 6). window is the base-2 log of the compression loopback window size. Higher values (up to 15 -- 32768 bytes) yield better compression at a cost of memory, while lower values (down to 9 -- 512 bytes) yield worse compression in a smaller memory footprint. Default window size is currently 15. memory is a scale indicating how much work memory should be allocated. Valid values range from 1 (minimal allocation) to 9 (maximum allocation). This memory allocation affects speed only and does not impact the size of the generated payload.

Hinweis: Because compression level is the most commonly used parameter, it may be alternatively provided as a simple integer value (rather than an array element).

zlib.* compression filters are available with PHP as of version 5.1.0 if zlib support is enabled. They are also available as a backport in version 5.0.x by installing the » zlib_filter package from » PECL.

Beispiel #1 zlib.deflate and zlib.inflate

<?php
$params = array('level' => 6, 'window' => 15, 'memory' => 9);

$original_text = "This is a test.\nThis is only a test.\nThis is not an important string.\n";
echo "The original text is " . strlen($original_text) . " characters long.\n";

$fp = fopen('test.deflated', 'w');
stream_filter_append($fp, 'zlib.deflate', STREAM_FILTER_WRITE, $params);
fwrite($fp, $original_text);
fclose($fp);

echo "The compressed file is " . filesize('test.deflated') . " bytes long.\n";
echo "The original text was:\n";
/* Use readfile and zlib.inflate to decompress on the fly */
readfile('php://filter/zlib.inflate/resource=test.deflated');

/* Generates output:

The original text is 70 characters long.
The compressed file is 56 bytes long.
The original text was:
This is a test.
This is only a test.
This is not an important string.

 */
?>

Beispiel #2 zlib.deflate simple

<?php
$original_text = "This is a test.\nThis is only a test.\nThis is not an important string.\n";
echo "The original text is " . strlen($original_text) . " characters long.\n";

$fp = fopen('test.deflated', 'w');
/* Here "6" indicates compression level 6 */
stream_filter_append($fp, 'zlib.deflate', STREAM_FILTER_WRITE, 6);
fwrite($fp, $original_text);
fclose($fp);

echo "The compressed file is " . filesize('test.deflated') . " bytes long.\n";

/* Generates output:

The original text is 70 characters long.
The compressed file is 56 bytes long.

 */
?>

bzip2.compress and bzip2.decompress work in the same manner as the zlib filters described above. The bzip2.compress filter accepts up to two parameters given as elements of an associative array: blocks is an integer value from 1 to 9 specifying the number of 100kbyte blocks of memory to allocate for workspace. work is also an integer value ranging from 0 to 250 indicating how much effort to expend using the normal compression method before falling back on a slower, but more reliable method. Tuning this parameter effects only compression speed. Neither size of compressed output nor memory usage are changed by this setting. A work factor of 0 instructs the bzip library to use an internal default. The bzip2.decompress filter only accepts one parameter, which can be passed as either an ordinary boolean value, or as the small element of an associative array. small, when set to a TRUE value, instructs the bzip library to perform decompression in a minimal memory footprint at the cost of speed.

bzip2.* compression filters are available with PHP as of version 5.1.0 if bz2 support is enabled. They are also available as a backport in version 5.0.x by installing the » bz2_filter package from » PECL.

Beispiel #3 bzip2.compress and bzip2.decompress

<?php
$param = array('blocks' => 9, 'work' => 0);

echo "The original file is " . filesize('LICENSE') . " bytes long.\n";

$fp = fopen('LICENSE.compressed', 'w');
stream_filter_append($fp, 'bzip2.compress', STREAM_FILTER_WRITE, $param);
fwrite($fp, file_get_contents('LICENSE'));
fclose($fp);

echo "The compressed file is " . filesize('LICENSE.compressed') . " bytes long.\n";

/* Generates output:

The original text is 3288 characters long.
The compressed file is 1488 bytes long.

 */
?>
Conversion Filters
Encryption Filters
List of Available Filters


Encryption Filters

mcrypt.* and mdecrypt.* provide symmetric encryption and decryption using libmcrypt. Both sets of filters support the same algorithms available to mcrypt extension in the form of mcrypt.ciphername where ciphername is the name of the cipher as it would be passed to mcrypt_module_open(). The following five filter parameters are also available:

mcrypt filter parameters
Parameter | Required? | Default | Sample Values
mode | Optional | cbc | cbc, cfb, ecb, nofb, ofb, stream
algorithms_dir | Optional | ini_get('mcrypt.algorithms_dir') | Location of algorithms modules
modes_dir | Optional | ini_get('mcrypt.modes_dir') | Location of modes modules
iv | Required | N/A | Typically 8, 16, or 32 bytes of binary data. Depends on cipher
key | Required | N/A | Typically 8, 16, or 32 bytes of binary data. Depends on cipher

Beispiel #1 Encrypting file output using 3DES

<?php
$passphrase = 'My secret';

/* Turn a human readable passphrase
 * into a reproducable iv/key pair
 */
$iv = substr(md5('iv'.$passphrase, true), 0, 8);
$key = substr(md5('pass1'.$passphrase, true) .
               md5('pass2'.$passphrase, true), 0, 24);
$opts = array('iv'=>$iv, 'key'=>$key);

$fp = fopen('secret-file.enc', 'wb');
stream_filter_append($fp, 'mcrypt.tripledes', STREAM_FILTER_WRITE, $opts);
fwrite($fp, 'Secret secret secret data');
fclose($fp);
?>

Beispiel #2 Reading an encrypted file

<?php
$passphrase = 'My secret';

/* Turn a human readable passphrase
 * into a reproducable iv/key pair
 */
$iv = substr(md5('iv'.$passphrase, true), 0, 8);
$key = substr(md5('pass1'.$passphrase, true) .
               md5('pass2'.$passphrase, true), 0, 24);
$opts = array('iv'=>$iv, 'key'=>$key);

$fp = fopen('secret-file.enc', 'rb');
stream_filter_append($fp, 'mdecrypt.tripledes', STREAM_FILTER_READ, $opts);
$data = rtrim(stream_get_contents($fp));
fclose($fp);

echo $data;
?>
Compression Filters
Liste der unterstützten Socket-Transporter
List of Available Filters


Liste der unterstützten Socket-Transporter

Inhaltsverzeichnis

  • Internet Domain: TCP, UDP, SSL und TLS
  • Unix-Domain: Unix und UDG

Die folgende Liste enthält die verschiedenen URL-Varianten für Socket-Transporter, die in PHP integriert sind und mit den streambasierenden Socket-Funktionen wie fsockopen() und stream_socket_client() genutzt werden können. Diese Transporter beziehen sich nicht auf die Sockets-Erweiterung.

Eine Liste der in Ihrer PHP-Installation unterstützten Transporter erhalten Sie mit Hilfe der Funktion stream_get_transports().

Encryption Filters
Internet Domain: TCP, UDP, SSL und TLS
Appendices


Internet Domain: TCP, UDP, SSL und TLS

PHP 4, PHP 5. ssl:// & tls:// since PHP 4.3.0 sslv2:// & sslv3:// since PHP 5.0.2

Hinweis: Wird kein Transporter angegeben, so wird tcp:// angenommen.

  • 127.0.0.1
  • fe80::1
  • www.example.com
  • tcp://127.0.0.1
  • tcp://fe80::1
  • tcp://www.example.com
  • udp://www.example.com
  • ssl://www.example.com
  • sslv2://www.example.com
  • sslv3://www.example.com
  • tls://www.example.com

Internet-Domain-Sockets erwarten zusätzlich zur Zieladresse eine Portnummer. Im Fall von fsockopen() wird diese als zweiter Parameter übergeben und beeinflusst so nicht die Formatierung der Transporter-URL. Bei stream_socket_client() und damit zusammenhängenden Funktionen wird die Portnummer dagegen, wie in URLs üblich, von einem Doppelpunkt getrennt an den URL angehängt.

  • tcp://127.0.0.1:80
  • tcp://[fe80::1]:80
  • tcp://www.example.com:80

Hinweis: Numerische IPv6-Adressen mit Portnummern
Während im vorangegangenen Beispiel an die IPv4- und Hostname-Einträge nur der Doppelpunkt und die Portnummer angehängt wurden, ist die IPv6-Adresse in der zweiten Zeile zusätzlich in eckige Klammern gesetzt worden: [fe80::1]. Dies dient dazu, zwischen den Doppelpunkten in der IPv6-Adresse selbst und dem Trennzeichen zwischen Adresse und Portnummer unterscheiden zu können.

Die ssl://- und tls://-Transporter erweitern den tcp://-Transporter um SSL-Verschlüsselung (nur verfügbar, wenn PHP mit OpenSSL-Unterstützung kompiliert wurde). Beginnend mit PHP 4.3.0 kann OpenSSL-Unterstützung statisch in PHP eingebunden werden, ab PHP 5.0.0 wahlweise auch als dynamisch ladbares Modul.

ssl:// versucht je nach Fähigkeiten und Vorlieben des Kommunikationspartners eine SSL-V2- oder -V3-Verbindung herzustellen. sslv2:// und sslv3: erzwingen explizit die Nutzung des SSL-V2-bzw. -V3-Protokolls.

Liste der unterstützten Socket-Transporter
Unix-Domain: Unix und UDG
Liste der unterstützten Socket-Transporter


Unix-Domain: Unix und UDG

unix:// und udg:// (udg:// ab PHP 5).

  • unix:///tmp/mysock
  • udg:///tmp/mysock

unix:// bietet Zugriff auf Socket-Verbindungen in der Unix-Domäne. udg:// bietet eine auf dem User-Datagram-Protokoll basierende Alternative zu Unix-Domain-Sockets. protocol.

Unix-Domain-Sockets erwarten im Gegensatz zu Internet-Domain-Sockets keine Portnummer. Bei Nutzung der fsockopen()-Funktion sollte daher der zweite Parameter portno für diese immer als 0 übergeben werden.

Internet Domain: TCP, UDP, SSL und TLS
Tabelle zu Typenvergleichen in PHP
Liste der unterstützten Socket-Transporter


Tabelle zu Typenvergleichen in PHP

Die folgenden Tabellen zeigen das Verhalten von Typen und Vergleichsoperatoren in PHP, sowohl für schwach und stark typisierte Vergleiche. Dieser Anhang steht im Zusammenhang mit dem Abschnitt zu Type juggling. Anregungen für diesen Abschnitt kamen aus verschiedenen Benutzerkommentaren und der Arbeit von » BlueShoes.

Bevor diese Tabellen verwendet werden ist es wichtig die Typen und ihre Bedeutungen zu verstehen. "42" ist zum Beispiel ein string, während 42 ein integer ist. FALSE ist ein boolean, obwohl "false" ein string ist.

Hinweis:

HTML-Formulare übergeben keine integer, float oder boolesche Werte, sie übertragen strings. Um herauszufinden, ob ein string numerisch ist kann man is_numeric() verwenden.

Hinweis:

Wenn man einfach if ($x) verwendet, obwohl $x undefiniert ist, so wird ein Fehler der Stufe E_NOTICE erzeugt. Verwenden sie stattdessen empty() oder isset() und/oder initialisiere sie die verwendeten Variablen.

Hinweis:

Einige numerische Operationen können ein Ergebnis erzeugen, welches durch die Konstante NAN represäntiert wird. Jeder schwach oder stark typisierte Vergleich dieses Wertes mit beliebigen anderen Werten, einschließlich der Konstante selbst, wird FALSE ergeben (d.h. NAN != NAN und NAN !== NAN). Beispiele für Operationen, die NAN ergeben sind u.a. sqrt(-1), asin(2), und asinh(0).

Vergleiche von $x mittels PHP-Funktionen
Ausdruck | gettype() | empty() | is_null() | isset() | boolean : if($x)
$x = ""; | string | TRUE | FALSE | TRUE | FALSE
$x = null; | NULL | TRUE | TRUE | FALSE | FALSE
var $x; | NULL | TRUE | TRUE | FALSE | FALSE
$x ist undefiniert | NULL | TRUE | TRUE | FALSE | FALSE
$x = array(); | array | TRUE | FALSE | TRUE | FALSE
$x = false; | boolean | TRUE | FALSE | TRUE | FALSE
$x = true; | boolean | FALSE | FALSE | TRUE | TRUE
$x = 1; | integer | FALSE | FALSE | TRUE | TRUE
$x = 42; | integer | FALSE | FALSE | TRUE | TRUE
$x = 0; | integer | TRUE | FALSE | TRUE | FALSE
$x = -1; | integer | FALSE | FALSE | TRUE | TRUE
$x = "1"; | string | FALSE | FALSE | TRUE | TRUE
$x = "0"; | string | TRUE | FALSE | TRUE | FALSE
$x = "-1"; | string | FALSE | FALSE | TRUE | TRUE
$x = "php"; | string | FALSE | FALSE | TRUE | TRUE
$x = "true"; | string | FALSE | FALSE | TRUE | TRUE
$x = "false"; | string | FALSE | FALSE | TRUE | TRUE

Typschwache Vergleiche mittels ==
 | TRUE | FALSE | 1 | 0 | -1 | "1" | "0" | "-1" | NULL | array() | "php" | ""
TRUE | TRUE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE
FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | TRUE
1 | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
0 | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE | TRUE
-1 | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE
"1" | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
"0" | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE
"-1" | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE
NULL | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE
array() | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE
"php" | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE
"" | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE

Typstarke Vergleiche mittels ===
 | TRUE | FALSE | 1 | 0 | -1 | "1" | "0" | "-1" | NULL | array() | "php" | ""
TRUE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
1 | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
0 | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
-1 | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
"1" | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
"0" | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE
"-1" | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE
NULL | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE
array() | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE
"php" | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE
"" | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE

Unix-Domain: Unix und UDG
Liste der Parsertoken
Appendices


Liste der Parsertoken

Verschiedene Teile der Sprache PHP werden intern durch Typen wie T_SR repräsentiert. PHP gibt Bezeichner wie diese in Parserfehlermeldungen wie "Parse error: unexpected T_SR, expecting ',' or ';' in script.php on line 10." aus.

You're supposed to know what T_SR means. For everybody who doesn't know that, here is a table with those identifiers, PHP-syntax and references to the appropriate places in the manual.

Token
Token | Syntax | Referenz
T_ABSTRACT | abstract | Klassenabstraktion (verfügbar ab PHP 5.0.0)
T_AND_EQUAL | &= | Zuweisungsoperatoren
T_ARRAY | array() | array(), array syntax
T_ARRAY_CAST | (array) | type-casting
T_AS | as | foreach
T_BAD_CHARACTER |  | Alle Zeichen unterhalb von ASCII 32 mit Ausnahme von \t (0x09), \n (0x0a) und \r (0x0d)
T_BOOLEAN_AND | && | Logische Operatoren
T_BOOLEAN_OR | || | Logische Operatoren
T_BOOL_CAST | (bool) or (boolean) | type-casting
T_BREAK | break | break
T_CASE | case | switch
T_CATCH | catch | Ausnahmebehandlung (Exception-Handling) (verfügbar ab PHP 5.0.0)
T_CHARACTER |  |
T_CLASS | class | Klassen und Objekte
T_CLASS_C | __CLASS__ | Magische Konstanten (verfügbar ab PHP 4.3.0)
T_CLONE | clone | Klassen und Objekte (verfügbar ab PHP 5.0.0)
T_CLOSE_TAG | ?> oder %> |
T_COMMENT | // oder #, und /* */ in PHP 5 | Kommentare
T_CONCAT_EQUAL | .= | Zuweisungsoperatoren
T_CONST | const |
T_CONSTANT_ENCAPSED_STRING | "foo" oder 'bar' | Stringsyntax
T_CONTINUE | continue |
T_CURLY_OPEN |  |
T_DEC | -- | Inkrement- bzw. Dekrementoperatoren
T_DECLARE | declare | declare
T_DEFAULT | default | switch
T_DIR | __DIR__ | Magische Konstanten (verfügbar ab PHP 5.3.0)
T_DIV_EQUAL | /= | Zuweisungsoperatoren
T_DNUMBER | 0.12, etc | Fließkommawerte
T_DOC_COMMENT | /** */ | Kommentare im PHPDoc Stil (verfügbar ab PHP 5.0.0)
T_DO | do | do..while
T_DOLLAR_OPEN_CURLY_BRACES | ${ | complex variable parsed syntax
T_DOUBLE_ARROW | => | Arraysyntax
T_DOUBLE_CAST | (real), (double) or (float) | Typumwandlung
T_DOUBLE_COLON | :: | Siehe T_PAAMAYIM_NEKUDOTAYIM weiter unten
T_ECHO | echo | echo
T_ELSE | else | else
T_ELSEIF | elseif | elseif
T_EMPTY | empty | empty()
T_ENCAPSED_AND_WHITESPACE |  |
T_ENDDECLARE | enddeclare | declare, Alternative Syntax
T_ENDFOR | endfor | for, Alternative Syntax
T_ENDFOREACH | endforeach | foreach, Alternative Syntax
T_ENDIF | endif | if, Alternative Syntax
T_ENDSWITCH | endswitch | switch, Alternative Syntax
T_ENDWHILE | endwhile | while, Alternative Syntax
T_END_HEREDOC |  | 'heredoc'-Syntax
T_EVAL | eval() | eval()
T_EXIT | exit oder die | exit(), die()
T_EXTENDS | extends | extends, Klassen und Objekte
T_FILE | __FILE__ | Magische Konstanten
T_FINAL | final | Final-Schlüsselwort (verfügbar ab PHP 5.0.0)
T_FOR | for | for
T_FOREACH | foreach | foreach
T_FUNCTION | function oder cfunction | Funktionen
T_FUNC_C | __FUNCTION__ | Magische Konstanten (verfügbar ab PHP 4.3.0)
T_GLOBAL | global | Geltungsbereich von Variablen
T_GOTO | goto | Undokumentiert (verfügbar ab PHP 5.3.0)
T_HALT_COMPILER | __halt_compiler() | __halt_compiler (verfügbar ab PHP 5.1.0)
T_IF | if | if
T_IMPLEMENTS | implements | Interfaces (verfügbar ab PHP 5.0.0)
T_INC | ++ | Inkrement- bzw. Dekrementoperatoren
T_INCLUDE | include() | include
T_INCLUDE_ONCE | include_once() | include_once
T_INLINE_HTML |  |
T_INSTANCEOF | instanceof | type operators (verfügbar ab PHP 5.0.0)
T_INT_CAST | (int) oder (integer) | Typumwandlung
T_INTERFACE | interface | Interfaces (verfügbar ab PHP 5.0.0)
T_ISSET | isset() | isset()
T_IS_EQUAL | == | Vergleichsoperator
T_IS_GREATER_OR_EQUAL | >= | Vergleichsoperator
T_IS_IDENTICAL | === | Vergleichsoperator
T_IS_NOT_EQUAL | != or <> | Vergleichsoperator
T_IS_NOT_IDENTICAL | !== | Vergleichsoperator
T_IS_SMALLER_OR_EQUAL | <= | Vergleichsoperator
T_LINE | __LINE__ | Magische Konstanten
T_LIST | list() | list()
T_LNUMBER | 123, 012, 0x1ac, etc | Integerwerte
T_LOGICAL_AND | and | Logische Operatoren
T_LOGICAL_OR | or | Logische Operatoren
T_LOGICAL_XOR | xor | Logische Operatoren
T_METHOD_C | __METHOD__ | Magische Konstanten (verfügbar ab PHP 5.0.0)
T_MINUS_EQUAL | -= | Zuweisungsoperatoren
T_ML_COMMENT | /* and */ | Kommentare (nur PHP 4)
T_MOD_EQUAL | %= | Zuweisungsoperatoren
T_MUL_EQUAL | *= | Zuweisungsoperatoren
T_NS_C | __NAMESPACE__ | namespaces. Auch definiert als T_NAMESPACE (verfügbar ab PHP 5.3.0)
T_NEW | new | Klassen und Objekte
T_NUM_STRING |  |
T_OBJECT_CAST | (object) | Typumwandlung
T_OBJECT_OPERATOR | -> | Klassen und Objekte
T_OLD_FUNCTION | old_function |
T_OPEN_TAG | <?php, <? or <% | HTML-Bereich der Datei verlassen
T_OPEN_TAG_WITH_ECHO | <?= or <%= | HTML-Bereich der Datei verlassen
T_OR_EQUAL | |= | Zuweisungsoperatoren
T_PAAMAYIM_NEKUDOTAYIM | :: | ::. Auch definiert als T_DOUBLE_COLON.
T_PLUS_EQUAL | += | Zuweisungsoperatoren
T_PRINT | print() | print
T_PRIVATE | private | Klassen und Objekte (verfügbar ab PHP 5.0.0)
T_PUBLIC | public | Klassen und Objekte (verfügbar ab PHP 5.0.0)
T_PROTECTED | protected | Klassen und Objekte (verfügbar ab PHP 5.0.0)
T_REQUIRE | require() | require
T_REQUIRE_ONCE | require_once() | require_once
T_RETURN | return | Rückgabe von Werten
T_SL | << | Bitweise Operatoren
T_SL_EQUAL | <<= | Zuweisungsoperatoren
T_SR | >> | Bitweise Operatoren
T_SR_EQUAL | >>= | Zuweisungsoperatoren
T_START_HEREDOC | <<< | 'heredoc'-Syntax
T_STATIC | static | Geltungsbereich von Variablen
T_STRING |  |
T_STRING_CAST | (string) | Typumwandlung
T_STRING_VARNAME |  |
T_SWITCH | switch | switch
T_THROW | throw | Ausnahmebehandlung (Exception-Handling) (verfügbar ab PHP 5.0.0)
T_TRY | try | Ausnahmebehandlung (Exception-Handling) (verfügbar ab PHP 5.0.0)
T_UNSET | unset() | unset()
T_UNSET_CAST | (unset) | Typumwandlung (verfügbar ab PHP 5.0.0)
T_USE | use | Namensräume (verfügbar ab PHP 5.3.0)
T_VAR | var | Klassen und Objekte
T_VARIABLE | $foo | Variablen
T_WHILE | while | while, do..while
T_WHITESPACE |  |
T_XOR_EQUAL | ^= | Zuweisungsoperatoren

Siehe auch token_name().

Tabelle zu Typenvergleichen in PHP
Userland Naming Guide
Appendices


Userland Naming Guide

Inhaltsverzeichnis

  • Globaler Namensraum
  • Regeln
  • Hinweise

Es folgen einige Vorgaben zur Namensgebung für Bezeichner in PHP Code. Diese Vorgaben sollten zumindest immer dann beachtet werden wenn Code Symbole im globalen Namensraum anleget um Konflikte zwischen ihrem Code und zukünftigen Versionen von PHP zu vermeiden.

Liste der Parsertoken
Globaler Namensraum
Appendices


Globaler Namensraum

Die folgende Liste bietet einen Überblick über die verschiedenen möglichen Programmkonstrukte im globalen Namensraum:

  • Funktionen

  • Klassen

  • Schnittstellen (interfaces)

  • Konstanten (aber keine Klassenkonstanten)

  • außerhalb von Funktionen oder Methoden definierte Variablen

Userland Naming Guide
Regeln
Userland Naming Guide


Regeln

Die folgende Liste gibt einen Überblick über die Rechte die das PHP Projekt bei der Auswahl von Namen für neue interne Bezeichner für sich selbst in Anspruch nimmt. Die definitiven Vorgaben finden sich in den offiziellen » CODING STANDARDS:

  • PHP ist Eigentümer des globalen Namensraumes, versucht aber vernünftige sprechende Namen zu finden und offensichtliche Konflikte zu vermeiden.

  • Funktionsnamen benutzten Unterstriche als Trennzeichen zwischen Worten während Klassennamen den camelCase und PascalCase Regeln folgen (die Benennung älterer Funktionen und Klassen kann hiervon abweichen).

  • PHP wird jedem globalen Symbol einer Erweiterung den Namen der Erweiterung voranstellen (in der Vergangenheit gab es allerdings zahlreiche Abweichungen von dieser Regel), z.B:

    • curl_close()

    • mysql_query()

    • PREG_SPLIT_DELIM_CAPTURE

    • new DOMDocument()

    • strpos() (Beispiel einer früheren Abweichung)

    • new SplFileObject()

  • Bei Iteratoren und Ausnahmen wird dagegen einfach ein "Iterator" oder "Exception" an den Namen angehängt, z.B.:

    • ArrayIterator

    • LogicException

  • PHP reserviert alle Symbole die mit zwei Unterstrichen __ beginnen für interne Zwecke. Sie sollten nur dann Namen mit __ beginnen lassen wenn Sie eine der dokumentierten "magischen" Funktionalitäten in PHP nutzen wollen, z.B:

    • __get()

    • __autoload()

Globaler Namensraum
Hinweise
Userland Naming Guide


Hinweise

In order to write future-proof code, it is recommended that you prefix (or suffix) anything that goes into the global namespace with an uncommon 3-4 letter prefix (or suffix) separated with an underscore. It is recommended that in order to prevent namespace clashes with other userland code that projects research existing prefixes (or suffixes) used in other projects and advertise their chosen prefix (or suffix) appropriately. Examples:

  • MyPx_someFunc()

  • Foo_Date

  • $asdf_dbh

Regeln
Über das Handbuch
Userland Naming Guide


Über das Handbuch

Inhaltsverzeichnis

  • Formate
  • Über die Kommentare (User Notes)
  • Wie man eine Funktionsdefinition (Prototyp) liest
  • In diesem Handbuch beschriebene PHP-Versionen
  • Mehr Informationen über PHP finden
  • Wie man helfen kann, die Dokumentation zu verbessern
  • Wie wir die Formate generieren
  • Übersetzungen
Hinweise
Formate
Appendices


Formate

Das PHP Handbuch wird in diversen Formaten zur Verfügung gestellt. Diese Formate lassen sich in zwei Gruppen aufteilen: Formate, die online lesbar sind und solche, die zum Download bereit stehen.

Hinweis:

Einige Verlage haben gedruckte Versionen dieses Handbuchs veröffentlicht. Wir können diese Bücher nicht empfehlen, da sie relativ schnell veraltet sind.

Sie können das Handbuch online auf der » PHP.net Webseite und zahllosen Mirrors lesen. Für ideale Geschwindigkeit sollten Sie den nächstgelegenen Mirror verwenden. Die online lesbare Version des PHP-Handbuches besitzt derzeit zwei CSS-Stylesheets, ein Web-freundliches und ein Drucker-freundliches Stylesheet.

Die beiden Vorteile des Onlinehandbuchs gegenüber den meisten Offlineformaten sind die Integration von Kommentaren (User Notes), die von Usern eingetragen werden, sowie die » URL shortcuts, die verwendet werden können, um schnell zu den gewünschten Teilen des Handbuchs zu gelangen. Ein offensichtlicher Nachteil ist, dass Sie online sein müssen, um das Onlinehandbuch anzusehen.

Es stehen diverse Offlineformate des Handbuchs zur Verfügung. Welches Format das Beste für Sie ist hängt davon ab, welches Betriebssystem Sie verwenden und welches Sie am liebsten lesen. Wenn Sie Informationen darüber suchen, wie das Handbuch in so vielen verschiedenen Formaten generiert wird, lesen Sie bitte den Abschnitt 'Wie wir die Formate generieren' in diesem Anhang.

Das plattformunabhängigste Format des Handbuchs ist die HTML-Version. Diese steht sowohl als einzelne HTML-Datei, als auch als Paket von mehren einzelnen Dateien für jedes Kapitel (welches mehrere tausend Dateien ergibt) zur Verfügung. Wir bieten beide Versionen komprimiert an, weshalb ein Dekomprimierungsprogramm benötigt wird, um an die Dateien innerhalb der Archive zu gelangen.

Für die Windows-Plattformen verbessert die Windows HTML Help Version das HTML Format für die Benutzung in der Windows HTML Help Anwendung. Diese Version beinhaltet eine Volltextsuche, einen kompletten Index und Lesezeichen. Viele bekannte PHP Entwicklungsumgebungen haben diese Version der Dokumentation für schnelleren Zugriff integriert. Außerdem sind CHM Betrachter für Linux-Desktops verfügbar. Zum Beispiel » xCHM oder » GnoCHM.

Außerdem ist eine » erweiterte CHM version verfügbar, die weniger häufig aktualisiert wird, aber viele zusätzliche Features anbietet. Diese funktioniert allerdings aufgrund der Technologien, die für den Aufbau der Hilfeseiten verwendet werden, nur zusammen mit Microsoft Windows.

Über das Handbuch
Über die Kommentare (User Notes)
Über das Handbuch


Über die Kommentare (User Notes)

Die Kommentare der Benutzer spielen eine wichtige Rolle in der Entwicklung des Handbuchs. Dadurch, dass Benutzern erlaubt wird, Beispiele, Warnungen und weitere Klärungen über ihren Browser beizusteuern, ist es uns möglich, diese Rückmeldungen in den Text des Handbuchs einzuarbeiten. Und bis die Kommentare eingearbeitet sind können sie online und in manchen Offlineformaten in der Form eingesehen werden, wie sie eingetragen wurden.

Hinweis:

Die Kommentare sind nicht moderiert bevor sie online erscheinen, also kann für die Qualität des Schriftstils und der Codebeispiele, ja sogar für die Richigkeit der Beiträge, nicht garantiert werden. (Nicht, dass es irgendeine Garantie für die Qualität oder Richtigkeit des Handbuchs an sich gibt.)

Hinweis:

Im Bezug auf die Lizenz der benutzerkommentare werden diese als Teil des PHP Handbuches betrachtet und unterliegen daher der selben Lizenz, die auch für das handbuch gilt (zur Zeit "Creative Commons Attribution"). Für nähere Informationen siehe auch Copyright des Handbuchs

Formate
Wie man eine Funktionsdefinition (Prototyp) liest
Über das Handbuch


Wie man eine Funktionsdefinition (Prototyp) liest

Jede Funktion im Handbuch ist für schnelles Nachschlagen dokumentiert. Zu wissen, wie man diesen Text liest und versteht, wird es viel einfacher machen, PHP zu lernen. Statt sich auf Beispiele und Auschneiden und Einfügen zu verlassen sollte jeder wissen, wie man eine Funktionsdefinition (Prototyp) liest. Lassen Sie uns anfangen:

Hinweis: Voraussetzung: Grundlegendes Verständnis der Typen

Obwohl PHP eine schwach typisierte Sprache ist, ist es wichtig, ein grundlegendes Verständnis von Typen zu besitzen, da sie eine wichtige Bedeutung haben.

Funktionsdefinitionen sagen uns, welcher Typ von Werten zurückgegeben wird. Lassen Sie uns die Definition von strlen() als unser erstes Beispiel nehmen:

strlen

(PHP 4, PHP 5)
strlen -- Ermitteln der String-Länge

Beschreibung
int strlen ( string $string )

Gibt die Länge der übergebenen Zeichenkette zurück.

Erklärung einer Funktionsdefinition
Teil | Beschreibung
strlen | Der Name der Funktion.
(PHP 4, PHP 5) | strlen() gab es in allen Versionen von PHP 4 und PHP 5
int | Type des Wertes, den diese Funktion zurückgibt, welche hier ein integer ist (d.h. die Länge einer Zeichenkette in Zahlen gemessen).
( string $string ) | Der erste (und in diesem Fall einzige) Parameter (Argument) dieser Funktion trägt den Namen string und ist ein String.

Wir könnten die oben angegebene Funktionsdefinition auf eine allgemeine Art umschreiben:

      Rückgabetyp    Funktionsname    ( Parametertyp   Parametername )

Viele Funktionen akzeptieren mehrere Parameter, z.B. in_array(). Ihr Prototyp sieht wie folgt aus:

      bool in_array ( mixed $needle, array $haystack [, bool $strict = FALSE])

Was bedeutet das? in_array() liefert einen boolean Wert zurück, TRUE im Erfolgsfall (falls needle in haystack gefunden wurde)Im Fehlerfall wird FALSE zurückgegeben. (falls needle nicht in haystack gefunden wurde). Der erste Parameter heißt needle und kann viele verschiedene Typen annehmen, weshalb wir ihn "mixed" nennen. Diese mixed needle (wonach wir suchen) kann entweder ein skalarer Wert sein (string, integer oder float) oder ein array. haystack (das Array das wir durchsuchen) ist der zweite Parameter. Der dritte, optionale Parameter wird strict genannt. Alle optionalen Parameter werden in [ Klammern ] dargestellt. Das Handbuch erklärt, dass der Parameter strict den Standardwert FALSE hat. Schauen Sie auf die Handbuchseite der jeweiligen Funktion, um nachzulesen, wie sie funktionieren.

Zusätzlich erlaubt das & (Kaufmanns-Und) Symbol, das einem Funktionsparameter vorangestellt wird, den Parameter als Referenz zu übergeben, wie hier zu sehen:

       int preg_match ( string $pattern , string $subject [, array &$matches
      [, int $flags = 0 [, int $offset = 0 ]]] )

Diesem Beispiel kann entnommen werden, dass der dritte optionale Parameter &$matches als Referenz übergeben wird.

Es gibt auch Funktionen mit komplexeren PHP Versionsangaben. Nehmen wir html_entity_decode() als Beispiel:

(PHP 4 >= 4.3.0, PHP 5)

Das heißt die Funktion ist nur in PHP Versionen ab PHP 4.3.0 verfügbar.

Über die Kommentare (User Notes)
In diesem Handbuch beschriebene PHP-Versionen
Über das Handbuch


In diesem Handbuch beschriebene PHP-Versionen

Diese Dokumentation beinhaltet Informationen über aktuelle und zukünftige PHP-Versionen. Änderungen im Verhalten sind als Notizen, Changelogs und innerhalb des Textes der Handbuchseiten dokumentiert. Die älteste dokumentierte Version ist PHP 5.0.0.

Existiert Dokumentation für die neueste (unveröffentlichte) Entwicklungsversion von PHP, wird sie entweder als "verfügbar in Git" oder "Entwicklungsversion" bezeichnet. Und obwohl man diese Änderungen einplanen sollte, können sie sich in seltenen Fällen ändern.

Die gesamte Entwicklung findet in Git statt, und kann wie auf der Seite » anonymous Git access angegeben, ausgecheckt werden.

Zur Klarstellung: das Handbuch bezieht sich auf Haupt-, Neben- und Revisionsnummern der PHP-Releases. Zum Beispiel bezieht sich bei PHP 5.3.1 die 5 auf die Hautpversion, 3 auf die Nebenversion, und 1 auf die Revision. Typischerweise fügt PHP nur neue Features zu Haupt- und Nebenversionen, and behebt Fehler in Revisionen. Allerdings trifft diese Konvention nicht immer zu.

Es ist ebenfalls zu beachten, dass das PHP-Handbuch im Präsenz, und nicht im Futur geschrieben ist, selbst für dokumentierte Features, die noch nicht verfügbar sind. Dies ist dadurch begründet, dass das Handbuch so leichter die Zeit überdauern kann, so dass keine lästigen grammatikalischen Updates bei jeder neuen PHP-Version erforderlich sind.

Das PHP Handbuch gibt oft "Standardwerte" für PHP Direktiven an. Diese Werte basieren darauf, wie sich PHP ohne eine php.ini Konfigurationsdatei verhält, so dass sich dies von den Werten, die in den ausgelieferten php.ini-development und php.ini-production Dateien zu finden sind, unterscheiden kann. Sie beziehen sich auch auf die aktuellste Version von PHP, wobei Changelogeinträge ältere Werte erwähnen. Werfen Sie einen Blick in den Anhang zu PHP Direktiven für Details zu diesen Werten und Änderungen daran.

Wie man eine Funktionsdefinition (Prototyp) liest
Mehr Informationen über PHP finden
Über das Handbuch


Mehr Informationen über PHP finden

Dieses Handbuch versucht nicht, Vorschriften über generelle Programmierpraktiken zu machen. Wer das erste mal programmiert oder Anfänger ist, könnte es schwer finden, PHP programmieren nur mit diesem Handbuch zu lernen. Suchen Sie sich lieber eine Anleitung, die auf Anfänger zugeschnitten ist.

Es gibt eine ganze Reihe von aktiven Mailinglisten, um über alle Aspekte der PHP-Programmierung zu diskutieren. Hängen Sie selber an einem Problem fest, erwägen Sie die Verwendung dieser Listen. Eine Liste von Hilfestellungen inklusive der Mailinglisten finden Sie auf der » PHP.net Unterstützungsseite.

In diesem Handbuch beschriebene PHP-Versionen
Wie man helfen kann, die Dokumentation zu verbessern
Über das Handbuch


Wie man helfen kann, die Dokumentation zu verbessern

Es gibt drei Möglichkeiten, die jeder ergreifen kann, diese Dokumentation zu verbessern.

Wenn Sie Fehler in diesem Handbuch finden, egal in welcher Sprache, bitte teilen Sie uns diese über das Bug System unter » http://bugs.php.net/ mit. Bezeichnen Sie den Bug als "Documentation Problem". Alle die Dokumentation betreffenden Probleme, einschließlich welcher mit den verschiedenen Handbuchformaten, sollten als Bugs berichtet werden.

Hinweis:

Bitte missbrauchen Sie das Bug System nicht, indem Sie Hilfegesuche absenden. Verwenden Sie stattdessen eine der vielen » Unterstützungsoptionen.

Durch Kommentare kann jeder anderen Lesern zusätzliche Codebeispiele, Warnungen und weitere Klärungen zur Verfügung stellen. Aber tragen Sie bitte keine Bugreports in das Kommentarsystem ein. Mehr über die Kommentarfuntkion können Sie im Abschnitt 'Über die Kommentare (User Notes)' dieses Anhangs lesen.

Das PHP Handbuch ist in viele Sprachen übersetzt. Wenn Sie Englisch und eine andere Sprachen beherrschen, dann können Sie das handbuch verbessern, indem Sie in einem Überstzungsteam mitarbeiten. Wollen Sie eine neue Übersetzung beginnen oder bei einem vorhandenen Übersetzungsteam beitreten, lesen Sie bitte » http://doc.php.net/tutorial/.

Das PHP Dokumentationsprojekt hat ebenfalls einen IRC Chatraum, in dem sich viele Autoren aufhalten. Schauen Sie doch mal in #php.doc auf irc.efnet.org vorbei und diskutieren Sie mit uns Wege, das Handbuch zu verbessern.

Mehr Informationen über PHP finden
Wie wir die Formate generieren
Über das Handbuch


Wie wir die Formate generieren

Dieses Handbuch ist in XML geschrieben, unter Verwendung der » DocBook XML DTD, und » PhD ([PH]P basierender [D]okumentationsrenderer) für die Wartung und Formatierung.

Die Verwendung von XML als Quellformat bietet die Möglichkeit, aus den Quelldateien sehr viele verschiedene Formate zu generieren, während nur ein Quelldokument für alle Formate gepflegen werden muß. Das Programm für die Formatierung der online lesbaren Version des Handbuches ist » PhD. » Microsoft HTML Help Workshop wird dazu verwendet, das Handbuch im Windows HTML Help Format zu erzeugen und natürlich auch PHP selbst, um einige zusätzliche Konvertierungen und Formatierungen durchzuführen.

Das Handbuch wird in vielen Sprachen und Formaten erzeugt. Sehen Sie » http://www.php.net/docs.php für zusätzliche Details. Der XML-Quellcode kann aus dem SVN-Projektarchiv heruntergeladen und unter » http://svn.php.net/viewvc/ eingesehen werden. Die Dokumentation befinden sich im Modul phpdoc.

Wie man helfen kann, die Dokumentation zu verbessern
Übersetzungen
Über das Handbuch


Übersetzungen

Das PHP Handbuch ist nicht nur in verschiedenen Formaten, sondern auch in verschiedenen Sprachen verfügbar. Der Inhalt wird zuerst auf englisch geschrieben, bevor er von Teams auf der ganzen Welt in ihre Muttersprache übersetzt wird. Wenn die Übersetzung einer bestimmten Funktion oder eines Kapitels noch nicht abgeschlossen ist, so wird die englische Version angezeigt.

Die Personen, die an der Handbuchübersetzung mitwirken, beginnen mit dem XML Quellcode, von » http://svn.php.net/viewvc/ und übersetzen diesen in ihre Muttersprache. Sie verwenden nicht die generierten Formate (wie HTML oder reinen Text), da sich das Build System sich um die Konvertierungen von XML in lesbare Formate kümmert.

Hinweis:

Wenn Sie bei der Übersetzung der Dokumentation mithelfen wollen, kontaktieren Sie bitte das Überetzungs- bzw. Dokumentationsteam, indem Sie die phpdoc Mailingliste abonnieren: Senden Sie eine Email an » phpdoc-subscribe@lists.php.net. Die Adresse der Mailingliste ist phpdoc@lists.php.net. Schreiben Sie, dass Sie interessiert sind, das Handbuch zu übersetzen und es wird sich sicher jemand bei Ihnen mit Feedback zum Anfangen einer neuen Überstzung melden oder das bestehenden Team für die gewünschte Sprache kontaktieren.

Im Moment ist das Handbuch (teilweise oder vollständig) in mehr als zehn Sprachen übersetzt.

Sämtliche Übersetzungen können hier heruntergeladen werden: » http://www.php.net/docs.php.

Wie wir die Formate generieren
Creative Commons Attribution 3.0
Über das Handbuch


Creative Commons Attribution 3.0

THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.

BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.

1. Definitions

  1. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License.
  2. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License.
  3. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership.
  4. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License.
  5. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work.
  6. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
  7. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images.
  8. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium.

2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws.

3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:

  1. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections;
  2. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified.";
  3. to Distribute and Publicly Perform the Work including as incorporated in Collections; and,
  4. to Distribute and Publicly Perform Adaptations.

  5. For the avoidance of doubt:

    1. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License;
    2. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and,
    3. Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License.

The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved.

4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:

  1. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(b), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(b), as requested.
  2. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and (iv) , consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4 (b) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties.
  3. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise.

5. Representations, Warranties and Disclaimer

UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.

6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

7. Termination.

  1. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
  2. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.

8. Miscellaneous

  1. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
  2. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
  3. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
  4. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent
  5. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
  6. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law.
Übersetzungen
Verzeichnis der Inhaltsverzeichnisse
Appendices


Verzeichnis der Inhaltsverzeichnisse

Inhaltsverzeichnis

  • Funktions- und Methodenverzeichnis
  • Verzeichnis der Beispiele
Creative Commons Attribution 3.0
Funktions- und Methodenverzeichnis
Appendices


Funktions- und Methodenverzeichnis

Verzeichnis aller Funktionen und Methoden im Handbuch

a b c d e f g h i j k l m n o p q r s t u v w x y z _

  • a
    • abs - Absolutwert bzw. Betrag
    • acos - Arkuskosinus
    • acosh - Areakosinus Hyperbolikus
    • addcslashes - Stellt bestimmten Zeichen eines Strings ein "\" voran (wie in C)
    • addslashes - Stellt bestimmten Zeichen eines Strings ein "\" voran
    • apache_child_terminate - Beendet einen Apacheprozess nach der Anfrage
    • apache_getenv - Liefert eine Apache-Subprocess_env-Variable
    • apache_get_modules - Liefert eine Liste der geladenen Apachemodule
    • apache_get_version - Liefert die Apacheversion
    • apache_lookup_uri - Führt eine Teilanfrage für einen angegebenen URI durch und liefert alle Informationen darüber zurück
    • apache_note - Setzt und liest Apache Request Notes
    • apache_request_headers - Liefert alle HTTP-Requestheader
    • apache_reset_timeout - Setzt den Apache Write-Time zurück
    • apache_response_headers - Liefert alle HTTP-Responseheader
    • apache_setenv - Setzt eine Apache-Subprocess_env-Variable
    • APCIterator::current - Get current item
    • APCIterator::getTotalCount - Get total count
    • APCIterator::getTotalHits - Get total cache hits
    • APCIterator::getTotalSize - Get total cache size
    • APCIterator::key - Get iterator key
    • APCIterator::next - Move pointer to next item
    • APCIterator::rewind - Rewinds iterator
    • APCIterator::valid - Checks if current position is valid
    • APCIterator::__construct - Constructs an APCIterator iterator object
    • APCUIterator::current - Get current item
    • APCUIterator::getTotalCount - Get total count
    • APCUIterator::getTotalHits - Get total cache hits
    • APCUIterator::getTotalSize - Get total cache size
    • APCUIterator::key - Get iterator key
    • APCUIterator::next - Move pointer to next item
    • APCUIterator::rewind - Rewinds iterator
    • APCUIterator::valid - Checks if current position is valid
    • APCUIterator::__construct - Constructs an APCUIterator iterator object
    • apcu_add - Cache a new variable in the data store
    • apcu_cache_info - Retrieves cached information from APCu's data store
    • apcu_cas - Updates an old value with a new value
    • apcu_clear_cache - Clears the APCu cache
    • apcu_dec - Decrease a stored number
    • apcu_delete - Removes a stored variable from the cache
    • apcu_entry - Atomically fetch or generate a cache entry
    • apcu_exists - Checks if entry exists
    • apcu_fetch - Fetch a stored variable from the cache
    • apcu_inc - Increase a stored number
    • apcu_sma_info - Retrieves APCu Shared Memory Allocation information
    • apcu_store - Cache a variable in the data store
    • apc_add - Cache a new variable in the data store
    • apc_bin_dump - Get a binary dump of the given files and user variables
    • apc_bin_dumpfile - Output a binary dump of cached files and user variables to a file
    • apc_bin_load - Load a binary dump into the APC file/user cache
    • apc_bin_loadfile - Load a binary dump from a file into the APC file/user cache
    • apc_cache_info - Retrieves cached information from APC's data store
    • apc_cas - Updates an old value with a new value
    • apc_clear_cache - Clears the APC cache
    • apc_compile_file - Speichert eine Datei im Bytecode Cache unter Umgehung aller Filter.
    • apc_dec - Decrease a stored number
    • apc_define_constants - Defines a set of constants for retrieval and mass-definition
    • apc_delete - Removes a stored variable from the cache
    • apc_delete_file - Deletes files from the opcode cache
    • apc_exists - Checks if APC key exists
    • apc_fetch - Fetch a stored variable from the cache
    • apc_inc - Increase a stored number
    • apc_load_constants - Loads a set of constants from the cache
    • apc_sma_info - Retrieves APC's Shared Memory Allocation information
    • apc_store - Cache a variable in the data store
    • apd_breakpoint - Stops the interpreter and waits on a CR from the socket
    • apd_callstack - Returns the current call stack as an array
    • apd_clunk - Throw a warning and a callstack
    • apd_continue - Restarts the interpreter
    • apd_croak - Throw an error, a callstack and then exit
    • apd_dump_function_table - Outputs the current function table
    • apd_dump_persistent_resources - Return all persistent resources as an array
    • apd_dump_regular_resources - Return all current regular resources as an array
    • apd_echo - Echo to the debugging socket
    • apd_get_active_symbols - Get an array of the current variables names in the local scope
    • apd_set_pprof_trace - Starts the session debugging
    • apd_set_session - Changes or sets the current debugging level
    • apd_set_session_trace - Starts the session debugging
    • apd_set_session_trace_socket - Starts the remote session debugging
    • AppendIterator::append - Appends an iterator
    • AppendIterator::current - Gets the current value
    • AppendIterator::getArrayIterator - Gets the ArrayIterator
    • AppendIterator::getInnerIterator - Gets the inner iterator
    • AppendIterator::getIteratorIndex - Gets an index of iterators
    • AppendIterator::key - Gets the current key
    • AppendIterator::next - Moves to the next element
    • AppendIterator::rewind - Rewinds the Iterator
    • AppendIterator::valid - Checks validity of the current element
    • AppendIterator::__construct - Constructs an AppendIterator
    • array - Erstellt ein Array
    • ArrayAccess::offsetExists - Prüft, ob ein Offset-Punkt existiert
    • ArrayAccess::offsetGet - Gibt den Wert eines Offset-Punkts zurück
    • ArrayAccess::offsetSet - Zuweisen eines Wertes an angegebenen Offset
    • ArrayAccess::offsetUnset - Löschen eines Offsets
    • ArrayIterator::append - Append an element
    • ArrayIterator::asort - Sort array by values
    • ArrayIterator::count - Count elements
    • ArrayIterator::current - Return current array entry
    • ArrayIterator::getArrayCopy - Get array copy
    • ArrayIterator::getFlags - Get flags
    • ArrayIterator::key - Return current array key
    • ArrayIterator::ksort - Sort array by keys
    • ArrayIterator::natcasesort - Sort an array naturally, case insensitive
    • ArrayIterator::natsort - Sort an array naturally
    • ArrayIterator::next - Move to next entry
    • ArrayIterator::offsetExists - Check if offset exists
    • ArrayIterator::offsetGet - Get value for an offset
    • ArrayIterator::offsetSet - Set value for an offset
    • ArrayIterator::offsetUnset - Unset value for an offset
    • ArrayIterator::rewind - Rewind array back to the start
    • ArrayIterator::seek - Seek to position
    • ArrayIterator::serialize - Serialize
    • ArrayIterator::setFlags - Set behaviour flags
    • ArrayIterator::uasort - User defined sort
    • ArrayIterator::uksort - User defined sort
    • ArrayIterator::unserialize - Unserialize
    • ArrayIterator::valid - Check whether array contains more entries
    • ArrayIterator::__construct - Construct an ArrayIterator
    • ArrayObject::append - Appends the value
    • ArrayObject::asort - Sort the entries by value
    • ArrayObject::count - Get the number of public properties in the ArrayObject
    • ArrayObject::exchangeArray - Exchange the array for another one.
    • ArrayObject::getArrayCopy - Creates a copy of the ArrayObject.
    • ArrayObject::getFlags - Gets the behavior flags.
    • ArrayObject::getIterator - Create a new iterator from an ArrayObject instance
    • ArrayObject::getIteratorClass - Gets the iterator classname for the ArrayObject.
    • ArrayObject::ksort - Sort the entries by key
    • ArrayObject::natcasesort - Sort an array using a case insensitive "natural order" algorithm
    • ArrayObject::natsort - Sort entries using a "natural order" algorithm
    • ArrayObject::offsetExists - Returns whether the requested index exists
    • ArrayObject::offsetGet - Returns the value at the specified index
    • ArrayObject::offsetSet - Sets the value at the specified index to newval
    • ArrayObject::offsetUnset - Unsets the value at the specified index
    • ArrayObject::serialize - Serialize an ArrayObject
    • ArrayObject::setFlags - Sets the behavior flags.
    • ArrayObject::setIteratorClass - Sets the iterator classname for the ArrayObject.
    • ArrayObject::uasort - Sort the entries with a user-defined comparison function and maintain key association
    • ArrayObject::uksort - Sort the entries by keys using a user-defined comparison function
    • ArrayObject::unserialize - Unserialize an ArrayObject
    • ArrayObject::__construct - Construct a new array object
    • array_change_key_case - Ändert die Groß- oder Kleinschreibung aller Schlüssel in einem Array
    • array_chunk - Splittet ein Array in Teile auf
    • array_column - Return the values from a single column in the input array
    • array_combine - Erzeugt ein Array, indem es ein Array für die Schlüssel und ein anderes für die Werte verwendet
    • array_count_values - Zählt die Werte eines Arrays
    • array_diff - Ermittelt die Unterschiede zwischen Arrays
    • array_diff_assoc - Berechnet den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung
    • array_diff_key - Berechnet den Unterschied zwischen Arrays, indem es die Schlüssel vergleicht
    • array_diff_uassoc - Berechnet den Unterschied von Arrays mit zusätzlicher Indexprüfung, welche durch eine benutzerdefinierte Callback-Funktion vorgenommen wird
    • array_diff_ukey - Berechnet den Unterschied zwischen Arrays mittels einer Callbackfunktion für den Vergleich der Schlüssel
    • array_fill - Füllt ein Array mit Werten
    • array_fill_keys - Befüllt ein Array mit Werten mit den übergebenen Schlüsseln
    • array_filter - Filtert Elemente eines Arrays mittels einer Callback-Funktion
    • array_flip - Vertauscht alle Schlüssel mit ihren zugehörigen Werten in einem Array
    • array_intersect - Ermittelt die Schnittmenge von Arrays
    • array_intersect_assoc - Ermittelt die Schnittmenge von Arrays mit Indexprüfung
    • array_intersect_key - Ermittelt die Schnittmenge von Arrays, indem es die Schlüssel vergleicht
    • array_intersect_uassoc - Ermittelt die Schnittmenge von Arrays mit Indexprüfung; vergleicht Indizes mit einer Callbackfunktion
    • array_intersect_ukey - Ermittelt die Schnittmenge zweier Arrays mittels eines durch eine Callbackfunktion durchgeführten Schlüsselvergleiches
    • array_keys - Liefert alle Schlüssel oder eine Teilmenge aller Schlüssel eines Arrays
    • array_key_exists - Prüft, ob ein Schlüssel in einem Array existiert
    • array_map - Wendet eine Callback-Funktion auf die Elemente von Arrays an
    • array_merge - Führt zwei oder mehr Arrays zusammen
    • array_merge_recursive - Führt ein oder mehrere Arrays rekursiv zusammen
    • array_multisort - Sortiert mehrere oder multidimensionale Arrays
    • array_pad - Füllt ein Array bis auf die angegebene Länge mit einem Wert auf
    • array_pop - Liefert und entfernt das letzte Element eines Arrays
    • array_product - Ermittelt das Produkt von Werten in einem Array
    • array_push - Fügt ein oder mehr Elemente an das Ende eines Arrays an
    • array_rand - Liefert einen oder mehrere zufällige Einträge eines Arrays
    • array_reduce - Iterative Reduktion eines Arrays zu einem Wert mittels einer Callbackfunktion
    • array_replace - Ersetzt Elemente von übergebenen Arrays im ersten Array
    • array_replace_recursive - Replaces elements from passed arrays into the first array recursively
    • array_reverse - Liefert ein Array mit umgekehrter Reihenfolge der Elemente
    • array_search - Durchsucht ein Array nach einem Wert und liefert bei Erfolg den zugehörigen Schlüssel
    • array_shift - Liefert und entfernt das erste Element eines Arrays
    • array_slice - Extrahiert einen Ausschnitt eines Arrays
    • array_splice - Entfernt einen Teil eines Arrays und ersetzt ihn durch etwas anderes
    • array_sum - Liefert die Summe der Werte in einem Array
    • array_udiff - Ermittelt den Unterschied zwischen Arrays mittels einer Callbackfunktion für den Datenvergleich
    • array_udiff_assoc - Ermittelt den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung, vergleicht mittels einer Callbackfunktion
    • array_udiff_uassoc - Ermittelt den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Indizes mittels einer Callbackfunktion
    • array_uintersect - Ermittelt die Schnittmenge von Arrays, vergleicht Daten mittels einer Callbackfunktion
    • array_uintersect_assoc - Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung, vergleicht Daten mittels einer Callbackfunktion
    • array_uintersect_uassoc - Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Schlüssel mittels separaten Callbackfunktionen
    • array_unique - Entfernt doppelte Werte aus einem Array
    • array_unshift - Fügt ein oder mehr Elemente am Anfang eines Arrays ein
    • array_values - Liefert alle Werte eines Arrays
    • array_walk - Wendet eine vom Benutzer gelieferte Funktion auf jedes Element eines Arrays an
    • array_walk_recursive - Wendet eine Benutzerfunktion rekursiv auf jedes Element eines Arrays an
    • arsort - Sortiert ein Array in umgekehrter Reihenfolge und erhält die Index-Assoziation
    • asin - Arkussinus
    • asinh - Areasinus Hyperbolikus
    • asort - Sortiert ein Array und erhält die Index-Assoziation
    • assert - Prüft ab, ob eine Zusicherung FALSE ist
    • assert_options - Setzt oder liefert die Assert-Optionen
    • atan - Arkustangens
    • atan2 - Arkustangens-Variante mit zwei Parametern
    • atanh - Areatangens Hyperbolikus
  • b
    • base64_decode - DekodiertMIME base64-kodierte Daten
    • base64_encode - Kodiert Daten MIME base64
    • basename - Gibt letzten Namensteil einer Pfadangabe zurück
    • base_convert - Konvertiert einen numerischen Wert zwischen verschiedenen Zahlensystemen
    • bbcode_add_element - Fügt ein bbcode Element hinzu
    • bbcode_add_smiley - Fügt dem Parser ein Smiley hinzu
    • bbcode_create - Erstellt eine BBCode Ressource
    • bbcode_destroy - Schliesst eine vorhandene BBCode_container Ressource
    • bbcode_parse - Parst einen String anhand einem vorgegeben Regelsatz
    • bbcode_set_arg_parser - Attach another parser in order to use another rule set for argument parsing
    • bbcode_set_flags - Set or alter parser options
    • bcadd - Addition zweier Zahlen beliebiger Genauigkeit
    • bccomp - Vergleich zweier Zahlen beliebiger Genauigkeit
    • bcdiv - Division zweier Zahlen beliebiger Genauigkeit
    • bcmod - Modulo zweier Zahlen mit beliebiger Genauigkeit
    • bcmul - Multiplikation zweier Zahlen beliebiger Genauigkeit
    • bcompiler_load - Reads and creates classes from a bz compressed file
    • bcompiler_load_exe - Reads and creates classes from a bcompiler exe file
    • bcompiler_parse_class - Reads the bytecodes of a class and calls back to a user function
    • bcompiler_read - Reads and creates classes from a filehandle
    • bcompiler_write_class - Writes a defined class as bytecodes
    • bcompiler_write_constant - Writes a defined constant as bytecodes
    • bcompiler_write_exe_footer - Writes the start pos, and sig to the end of a exe type file
    • bcompiler_write_file - Writes a php source file as bytecodes
    • bcompiler_write_footer - Writes the single character \x00 to indicate End of compiled data
    • bcompiler_write_function - Writes a defined function as bytecodes
    • bcompiler_write_functions_from_file - Writes all functions defined in a file as bytecodes
    • bcompiler_write_header - Writes the bcompiler header
    • bcompiler_write_included_filename - Writes an included file as bytecodes
    • bcpow - Potenz einer Zahl beliebiger Genauigkeit
    • bcpowmod - Potenz einer Zahl beliebiger Genauigkeit, vermindert um ein angegebenen Modulo
    • bcscale - Setzt die Genauigkeit aller BCmath-Funktionen
    • bcsqrt - Ermittelt die Quadratwurzel einer Zahl beliebiger Genauigkeit
    • bcsub - Subtrahiert zwei Zahlen beliebiger Genauigkeit
    • bin2hex - Wandelt Binär-Daten in ihre hexadezimale Entsprechung um
    • bindec - Umwandlung von binär zu dezimal
    • bindtextdomain - Setzt den Pfad für eine Domain
    • bind_textdomain_codeset - Gibt das Encoding an, in dem Texte aus der Übersetzungstabelle der DOMAIN zurückgegeben werden
    • blenc_encrypt - Encrypt a PHP script with BLENC.
    • boolval - Get the boolean value of a variable
    • bson_decode - Deserializes a BSON object into a PHP array
    • bson_encode - Serializes a PHP variable into a BSON string
    • bzclose - Schließt eine bzip2-Datei
    • bzcompress - Komprimiert eine Zeichenkette in bzip2-encodierte Daten
    • bzdecompress - Dekomprimiert bzip2-kodierte Daten
    • bzerrno - Gibt eine bzip2-Fehlernummer zurück
    • bzerror - Gibt die bzip2-Fehlernummer und die -Fehlermeldung in einem Array zurück
    • bzerrstr - Gibt eine bzip2-Fehlermeldung zurÃ¼ck
    • bzflush - Erzwingt das Schreiben aller gepufferten Daten
    • bzopen - Öffnet eine bzip2-komprimierte Datei
    • bzread - Binär-sicheres Lesen aus einer bzip2-Datei
    • bzwrite - Binär-sicheres Schreiben einer bzip2-Datei
  • c
    • CachingIterator::count - The number of elements in the iterator
    • CachingIterator::current - Return the current element
    • CachingIterator::getCache - Retrieve the contents of the cache
    • CachingIterator::getFlags - Get flags used
    • CachingIterator::getInnerIterator - Returns the inner iterator
    • CachingIterator::hasNext - Check whether the inner iterator has a valid next element
    • CachingIterator::key - Return the key for the current element
    • CachingIterator::next - Move the iterator forward
    • CachingIterator::offsetExists - The offsetExists purpose
    • CachingIterator::offsetGet - The offsetGet purpose
    • CachingIterator::offsetSet - The offsetSet purpose
    • CachingIterator::offsetUnset - The offsetUnset purpose
    • CachingIterator::rewind - Rewind the iterator
    • CachingIterator::setFlags - The setFlags purpose
    • CachingIterator::valid - Check whether the current element is valid
    • CachingIterator::__construct - Construct a new CachingIterator object for the iterator.
    • CachingIterator::__toString - Return the string representation of the current element
    • Cairo::availableFonts - Retrieves the availables font types
    • Cairo::availableSurfaces - Retrieves all available surfaces
    • Cairo::statusToString - Retrieves the current status as string
    • Cairo::version - Retrives cairo's library version
    • Cairo::versionString - Retrieves cairo version as string
    • CairoContext::appendPath - Appends a path to current path
    • CairoContext::arc - Adds a circular arc
    • CairoContext::arcNegative - Adds a negative arc
    • CairoContext::clip - Establishes a new clip region
    • CairoContext::clipExtents - Computes the area inside the current clip
    • CairoContext::clipPreserve - Establishes a new clip region from the current clip
    • CairoContext::clipRectangleList - Retrieves the current clip as a list of rectangles
    • CairoContext::closePath - Closes the current path
    • CairoContext::copyPage - Emits the current page
    • CairoContext::copyPath - Creates a copy of the current path
    • CairoContext::copyPathFlat - Gets a flattened copy of the current path
    • CairoContext::curveTo - Adds a curve
    • CairoContext::deviceToUser - Transform a coordinate
    • CairoContext::deviceToUserDistance - Transform a distance
    • CairoContext::fill - Fills the current path
    • CairoContext::fillExtents - Computes the filled area
    • CairoContext::fillPreserve - Fills and preserve the current path
    • CairoContext::fontExtents - Get the font extents
    • CairoContext::getAntialias - Retrives the current antialias mode
    • CairoContext::getCurrentPoint - The getCurrentPoint purpose
    • CairoContext::getDash - The getDash purpose
    • CairoContext::getDashCount - The getDashCount purpose
    • CairoContext::getFillRule - The getFillRule purpose
    • CairoContext::getFontFace - The getFontFace purpose
    • CairoContext::getFontMatrix - The getFontMatrix purpose
    • CairoContext::getFontOptions - The getFontOptions purpose
    • CairoContext::getGroupTarget - The getGroupTarget purpose
    • CairoContext::getLineCap - The getLineCap purpose
    • CairoContext::getLineJoin - The getLineJoin purpose
    • CairoContext::getLineWidth - The getLineWidth purpose
    • CairoContext::getMatrix - The getMatrix purpose
    • CairoContext::getMiterLimit - The getMiterLimit purpose
    • CairoContext::getOperator - The getOperator purpose
    • CairoContext::getScaledFont - The getScaledFont purpose
    • CairoContext::getSource - The getSource purpose
    • CairoContext::getTarget - The getTarget purpose
    • CairoContext::getTolerance - The getTolerance purpose
    • CairoContext::glyphPath - The glyphPath purpose
    • CairoContext::hasCurrentPoint - The hasCurrentPoint purpose
    • CairoContext::identityMatrix - The identityMatrix purpose
    • CairoContext::inFill - The inFill purpose
    • CairoContext::inStroke - The inStroke purpose
    • CairoContext::lineTo - The lineTo purpose
    • CairoContext::mask - The mask purpose
    • CairoContext::maskSurface - The maskSurface purpose
    • CairoContext::moveTo - The moveTo purpose
    • CairoContext::newPath - The newPath purpose
    • CairoContext::newSubPath - The newSubPath purpose
    • CairoContext::paint - The paint purpose
    • CairoContext::paintWithAlpha - The paintWithAlpha purpose
    • CairoContext::pathExtents - The pathExtents purpose
    • CairoContext::popGroup - The popGroup purpose
    • CairoContext::popGroupToSource - The popGroupToSource purpose
    • CairoContext::pushGroup - The pushGroup purpose
    • CairoContext::pushGroupWithContent - The pushGroupWithContent purpose
    • CairoContext::rectangle - The rectangle purpose
    • CairoContext::relCurveTo - The relCurveTo purpose
    • CairoContext::relLineTo - The relLineTo purpose
    • CairoContext::relMoveTo - The relMoveTo purpose
    • CairoContext::resetClip - The resetClip purpose
    • CairoContext::restore - The restore purpose
    • CairoContext::rotate - The rotate purpose
    • CairoContext::save - The save purpose
    • CairoContext::scale - The scale purpose
    • CairoContext::selectFontFace - The selectFontFace purpose
    • CairoContext::setAntialias - The setAntialias purpose
    • CairoContext::setDash - The setDash purpose
    • CairoContext::setFillRule - The setFillRule purpose
    • CairoContext::setFontFace - The setFontFace purpose
    • CairoContext::setFontMatrix - The setFontMatrix purpose
    • CairoContext::setFontOptions - The setFontOptions purpose
    • CairoContext::setFontSize - The setFontSize purpose
    • CairoContext::setLineCap - The setLineCap purpose
    • CairoContext::setLineJoin - The setLineJoin purpose
    • CairoContext::setLineWidth - The setLineWidth purpose
    • CairoContext::setMatrix - The setMatrix purpose
    • CairoContext::setMiterLimit - The setMiterLimit purpose
    • CairoContext::setOperator - The setOperator purpose
    • CairoContext::setScaledFont - The setScaledFont purpose
    • CairoContext::setSource - The setSource purpose
    • CairoContext::setSourceRGB - The setSourceRGB purpose
    • CairoContext::setSourceRGBA - The setSourceRGBA purpose
    • CairoContext::setSourceSurface - The setSourceSurface purpose
    • CairoContext::setTolerance - The setTolerance purpose
    • CairoContext::showPage - The showPage purpose
    • CairoContext::showText - The showText purpose
    • CairoContext::status - The status purpose
    • CairoContext::stroke - The stroke purpose
    • CairoContext::strokeExtents - The strokeExtents purpose
    • CairoContext::strokePreserve - The strokePreserve purpose
    • CairoContext::textExtents - The textExtents purpose
    • CairoContext::textPath - The textPath purpose
    • CairoContext::transform - The transform purpose
    • CairoContext::translate - The translate purpose
    • CairoContext::userToDevice - The userToDevice purpose
    • CairoContext::userToDeviceDistance - The userToDeviceDistance purpose
    • CairoContext::__construct - Creates a new CairoContext
    • CairoFontFace::getType - Retrieves the font face type
    • CairoFontFace::status - Check for CairoFontFace errors
    • CairoFontFace::__construct - Creates a new CairoFontFace object
    • CairoFontOptions::equal - The equal purpose
    • CairoFontOptions::getAntialias - The getAntialias purpose
    • CairoFontOptions::getHintMetrics - The getHintMetrics purpose
    • CairoFontOptions::getHintStyle - The getHintStyle purpose
    • CairoFontOptions::getSubpixelOrder - The getSubpixelOrder purpose
    • CairoFontOptions::hash - The hash purpose
    • CairoFontOptions::merge - The merge purpose
    • CairoFontOptions::setAntialias - The setAntialias purpose
    • CairoFontOptions::setHintMetrics - The setHintMetrics purpose
    • CairoFontOptions::setHintStyle - The setHintStyle purpose
    • CairoFontOptions::setSubpixelOrder - The setSubpixelOrder purpose
    • CairoFontOptions::status - The status purpose
    • CairoFontOptions::__construct - The __construct purpose
    • CairoFormat::strideForWidth - Provides an appropiate stride to use
    • CairoGradientPattern::addColorStopRgb - The addColorStopRgb purpose
    • CairoGradientPattern::addColorStopRgba - The addColorStopRgba purpose
    • CairoGradientPattern::getColorStopCount - The getColorStopCount purpose
    • CairoGradientPattern::getColorStopRgba - The getColorStopRgba purpose
    • CairoGradientPattern::getExtend - The getExtend purpose
    • CairoGradientPattern::setExtend - The setExtend purpose
    • CairoImageSurface::createForData - The createForData purpose
    • CairoImageSurface::createFromPng - Creates a new CairoImageSurface form a png image file
    • CairoImageSurface::getData - Gets the image data as string
    • CairoImageSurface::getFormat - Get the image format
    • CairoImageSurface::getHeight - Retrieves the height of the CairoImageSurface
    • CairoImageSurface::getStride - The getStride purpose
    • CairoImageSurface::getWidth - Retrieves the width of the CairoImageSurface
    • CairoImageSurface::__construct - Creates a new CairoImageSurface
    • CairoLinearGradient::getPoints - The getPoints purpose
    • CairoLinearGradient::__construct - The __construct purpose
    • CairoMatrix::initIdentity - Creates a new identity matrix
    • CairoMatrix::initRotate - Creates a new rotated matrix
    • CairoMatrix::initScale - Creates a new scaling matrix
    • CairoMatrix::initTranslate - Creates a new translation matrix
    • CairoMatrix::invert - The invert purpose
    • CairoMatrix::multiply - The multiply purpose
    • CairoMatrix::rotate - The rotate purpose
    • CairoMatrix::scale - Applies scaling to a matrix
    • CairoMatrix::transformDistance - The transformDistance purpose
    • CairoMatrix::transformPoint - The transformPoint purpose
    • CairoMatrix::translate - The translate purpose
    • CairoMatrix::__construct - Creates a new CairoMatrix object
    • CairoPattern::getMatrix - The getMatrix purpose
    • CairoPattern::getType - The getType purpose
    • CairoPattern::setMatrix - The setMatrix purpose
    • CairoPattern::status - The status purpose
    • CairoPattern::__construct - The __construct purpose
    • CairoPdfSurface::setSize - The setSize purpose
    • CairoPdfSurface::__construct - The __construct purpose
    • CairoPsSurface::dscBeginPageSetup - The dscBeginPageSetup purpose
    • CairoPsSurface::dscBeginSetup - The dscBeginSetup purpose
    • CairoPsSurface::dscComment - The dscComment purpose
    • CairoPsSurface::getEps - The getEps purpose
    • CairoPsSurface::getLevels - The getLevels purpose
    • CairoPsSurface::levelToString - The levelToString purpose
    • CairoPsSurface::restrictToLevel - The restrictToLevel purpose
    • CairoPsSurface::setEps - The setEps purpose
    • CairoPsSurface::setSize - The setSize purpose
    • CairoPsSurface::__construct - The __construct purpose
    • CairoRadialGradient::getCircles - The getCircles purpose
    • CairoRadialGradient::__construct - The __construct purpose
    • CairoScaledFont::extents - The extents purpose
    • CairoScaledFont::getCtm - The getCtm purpose
    • CairoScaledFont::getFontFace - The getFontFace purpose
    • CairoScaledFont::getFontMatrix - The getFontMatrix purpose
    • CairoScaledFont::getFontOptions - The getFontOptions purpose
    • CairoScaledFont::getScaleMatrix - The getScaleMatrix purpose
    • CairoScaledFont::getType - The getType purpose
    • CairoScaledFont::glyphExtents - The glyphExtents purpose
    • CairoScaledFont::status - The status purpose
    • CairoScaledFont::textExtents - The textExtents purpose
    • CairoScaledFont::__construct - The __construct purpose
    • CairoSolidPattern::getRgba - The getRgba purpose
    • CairoSolidPattern::__construct - The __construct purpose
    • CairoSurface::copyPage - The copyPage purpose
    • CairoSurface::createSimilar - The createSimilar purpose
    • CairoSurface::finish - The finish purpose
    • CairoSurface::flush - The flush purpose
    • CairoSurface::getContent - The getContent purpose
    • CairoSurface::getDeviceOffset - The getDeviceOffset purpose
    • CairoSurface::getFontOptions - The getFontOptions purpose
    • CairoSurface::getType - The getType purpose
    • CairoSurface::markDirty - The markDirty purpose
    • CairoSurface::markDirtyRectangle - The markDirtyRectangle purpose
    • CairoSurface::setDeviceOffset - The setDeviceOffset purpose
    • CairoSurface::setFallbackResolution - The setFallbackResolution purpose
    • CairoSurface::showPage - The showPage purpose
    • CairoSurface::status - The status purpose
    • CairoSurface::writeToPng - The writeToPng purpose
    • CairoSurface::__construct - The __construct purpose
    • CairoSurfacePattern::getExtend - The getExtend purpose
    • CairoSurfacePattern::getFilter - The getFilter purpose
    • CairoSurfacePattern::getSurface - The getSurface purpose
    • CairoSurfacePattern::setExtend - The setExtend purpose
    • CairoSurfacePattern::setFilter - The setFilter purpose
    • CairoSurfacePattern::__construct - The __construct purpose
    • CairoSvgSurface::getVersions - Used to retrieve a list of supported SVG versions
    • CairoSvgSurface::restrictToVersion - The restrictToVersion purpose
    • CairoSvgSurface::versionToString - The versionToString purpose
    • CairoSvgSurface::__construct - The __construct purpose
    • cairo_create - Returns a new CairoContext object on the requested surface.
    • cairo_font_face_get_type - Description
    • cairo_font_options_create - Description
    • cairo_font_options_equal - Description
    • cairo_font_options_get_antialias - Description
    • cairo_font_options_get_hint_metrics - Description
    • cairo_font_options_get_hint_style - Description
    • cairo_font_options_get_subpixel_order - Description
    • cairo_font_options_hash - Description
    • cairo_font_options_merge - Description
    • cairo_font_options_set_antialias - Description
    • cairo_font_options_set_hint_metrics - Description
    • cairo_font_options_set_hint_style - Description
    • cairo_font_options_set_subpixel_order - Description
    • cairo_font_options_status - Description
    • cairo_format_stride_for_width - Description
    • cairo_image_surface_create - Description
    • cairo_image_surface_create_for_data - Description
    • cairo_image_surface_create_from_png - Description
    • cairo_image_surface_get_data - Description
    • cairo_image_surface_get_format - Description
    • cairo_image_surface_get_height - Description
    • cairo_image_surface_get_stride - Description
    • cairo_image_surface_get_width - Description
    • cairo_matrix_create_translate - Alias von CairoMatrix::initTranslate
    • cairo_matrix_invert - Description
    • cairo_matrix_multiply - Description
    • cairo_matrix_rotate - Description
    • cairo_matrix_transform_distance - Description
    • cairo_matrix_transform_point - Description
    • cairo_matrix_translate - Description
    • cairo_pattern_add_color_stop_rgb - Description
    • cairo_pattern_add_color_stop_rgba - Description
    • cairo_pattern_create_for_surface - Description
    • cairo_pattern_create_linear - Description
    • cairo_pattern_create_radial - Description
    • cairo_pattern_create_rgb - Description
    • cairo_pattern_create_rgba - Description
    • cairo_pattern_get_color_stop_count - Description
    • cairo_pattern_get_color_stop_rgba - Description
    • cairo_pattern_get_extend - Description
    • cairo_pattern_get_filter - Description
    • cairo_pattern_get_linear_points - Description
    • cairo_pattern_get_matrix - Description
    • cairo_pattern_get_radial_circles - Description
    • cairo_pattern_get_rgba - Description
    • cairo_pattern_get_surface - Description
    • cairo_pattern_get_type - Description
    • cairo_pattern_set_extend - Description
    • cairo_pattern_set_filter - Description
    • cairo_pattern_set_matrix - Description
    • cairo_pattern_status - Description
    • cairo_pdf_surface_create - Description
    • cairo_pdf_surface_set_size - Description
    • cairo_ps_get_levels - Description
    • cairo_ps_level_to_string - Description
    • cairo_ps_surface_create - Description
    • cairo_ps_surface_dsc_begin_page_setup - Description
    • cairo_ps_surface_dsc_begin_setup - Description
    • cairo_ps_surface_dsc_comment - Description
    • cairo_ps_surface_get_eps - Description
    • cairo_ps_surface_restrict_to_level - Description
    • cairo_ps_surface_set_eps - Description
    • cairo_ps_surface_set_size - Description
    • cairo_scaled_font_create - Description
    • cairo_scaled_font_extents - Description
    • cairo_scaled_font_get_ctm - Description
    • cairo_scaled_font_get_font_face - Description
    • cairo_scaled_font_get_font_matrix - Description
    • cairo_scaled_font_get_font_options - Description
    • cairo_scaled_font_get_scale_matrix - Description
    • cairo_scaled_font_get_type - Description
    • cairo_scaled_font_glyph_extents - Description
    • cairo_scaled_font_status - Description
    • cairo_scaled_font_text_extents - Description
    • cairo_surface_copy_page - Description
    • cairo_surface_create_similar - Description
    • cairo_surface_finish - Description
    • cairo_surface_flush - Description
    • cairo_surface_get_content - Description
    • cairo_surface_get_device_offset - Description
    • cairo_surface_get_font_options - Description
    • cairo_surface_get_type - Description
    • cairo_surface_mark_dirty - Description
    • cairo_surface_mark_dirty_rectangle - Description
    • cairo_surface_set_device_offset - Description
    • cairo_surface_set_fallback_resolution - Description
    • cairo_surface_show_page - Description
    • cairo_surface_status - Description
    • cairo_surface_write_to_png - Description
    • cairo_svg_surface_create - Description
    • cairo_svg_surface_restrict_to_version - Description
    • cairo_svg_version_to_string - Description
    • CallbackFilterIterator::accept - Calls the callback with the current value, the current key and the inner iterator as arguments
    • CallbackFilterIterator::__construct - Create a filtered iterator from another iterator
    • call_user_func - Aufruf der Callback-Funktion die als erster Parameter übergeben wurde
    • call_user_func_array - Call a callback with an array of parameters
    • call_user_method - Ruft eine benannte Methode eines Objekts auf
    • call_user_method_array - Call a user method given with an array of parameters
    • cal_days_in_month - Gibt die Anzahl der Tage eines bestimmten Monats in einem bestimmten Jahr in einem bestimmten Kalender zurück
    • cal_from_jd - Konvertiert von Julian Day Count zu einem unterstützten Kalender
    • cal_info - Gibt Informationen zu einem bestimmten Kalender zurück
    • cal_to_jd - Konvertiert von einem unterstützten Kalenderformat in Julian-Format
    • ceil - Aufrunden
    • chdb::get - Gets the value associated with a key
    • chdb::__construct - Creates a chdb instance
    • chdb_create - Creates a chdb file
    • chdir - Wechseln des Verzeichnisses
    • checkdate - Prüft ein Gregorianisches Datum auf Gültigkeit
    • checkdnsrr - Prüft DNS-Einträge auf Übereinstimmung mit einem gegebenen Internet-Host-Namen oder einer IP-Adresse
    • chgrp - Wechselt die Gruppenzugehörigkeit einer Datei
    • chmod - Ändert die Zugriffsrechte einer Datei
    • chop - Alias von rtrim
    • chown - Ändert den Eigentümer einer Datei
    • chr - Gibt ein einzelnes Zeichen zurück
    • chroot - Wechselt das Root-Verzeichnis
    • chunk_split - Zerlegt einen String in Teile gleicher Länge
    • classkit_import - Import new class method definitions from a file
    • classkit_method_add - Dynamically adds a new method to a given class
    • classkit_method_copy - Copies a method from class to another
    • classkit_method_redefine - Dynamically changes the code of the given method
    • classkit_method_remove - Dynamically removes the given method
    • classkit_method_rename - Dynamically changes the name of the given method
    • class_alias - Creates an alias for a class
    • class_exists - Checks if the class has been defined
    • class_implements - Return the interfaces which are implemented by the given class or interface
    • class_parents - Return the parent classes of the given class
    • class_uses - Return the traits used by the given class
    • clearstatcache - Löscht den Status Cache
    • cli_get_process_title - Returns the current process title
    • cli_set_process_title - Sets the process title
    • closedir - Schließen eines Verzeichnis-Handles
    • closelog - Schließt die Verbindung zum System-Logger
    • Closure::bind - Duplicates a closure with a specific bound object and class scope
    • Closure::bindTo - Duplicates the closure with a new bound object and class scope
    • Closure::call - Binds and calls the closure
    • Closure::__construct - Constructor that disallows instantiation
    • Collator::asort - Sort array maintaining index association
    • Collator::compare - Compare two Unicode strings
    • Collator::create - Create a collator
    • Collator::getAttribute - Get collation attribute value
    • Collator::getErrorCode - Get collator's last error code
    • Collator::getErrorMessage - Get text for collator's last error code
    • Collator::getLocale - Get the locale name of the collator
    • Collator::getSortKey - Get sorting key for a string
    • Collator::getStrength - Get current collation strength
    • Collator::setAttribute - Set collation attribute
    • Collator::setStrength - Set collation strength
    • Collator::sort - Sort array using specified collator
    • Collator::sortWithSortKeys - Sort array using specified collator and sort keys
    • Collator::__construct - Create a collator
    • Collectable::isGarbage - Determine whether an object has been marked as garbage
    • Collectable::setGarbage - Mark an object as garbage
    • compact - Erstellt ein Array mit Variablen und deren Werten
    • com_create_guid - Generate a globally unique identifier (GUID)
    • com_event_sink - Connect events from a COM object to a PHP object
    • com_get_active_object - Returns a handle to an already running instance of a COM object
    • com_load_typelib - Lädt eine Typelib
    • com_message_pump - Process COM messages, sleeping for up to timeoutms milliseconds
    • com_print_typeinfo - Print out a PHP class definition for a dispatchable interface
    • Cond::broadcast - Broadcast a Condition
    • Cond::create - Create a Condition
    • Cond::destroy - Destroy a Condition
    • Cond::signal - Signal a Condition
    • Cond::wait - Wait for Condition
    • connection_aborted - Überprüft, ob die Verbindung zum Client beendet wurde
    • connection_status - Liefert den Verbindungsstatus als Bitfeld
    • constant - Liefert den Wert einer Konstante
    • Constants for PDO_4D - Constants for PDO_4D
    • convert_cyr_string - Konvertiert Strings von einem kyrillischen Zeichensatz in einen anderen
    • convert_uudecode - Dekodiert eine uukodierte Zeichenkette
    • convert_uuencode - UU-kodiert eine Zeichenkette
    • copy - Kopiert eine Datei
    • cos - Kosinus
    • cosh - Kosinus Hyperbolikus
    • count - Zählt alle Elemente eines Arrays oder etwas in einem Objekt
    • Countable::count - Anzahl der Elemente eines Objekts
    • Counter::bumpValue - Change the current value of a counter.
    • Counter::getMeta - Return a piece of metainformation about a counter.
    • Counter::getNamed - Retrieve an existing named counter.
    • Counter::getValue - Get the current value of a counter.
    • Counter::resetValue - Reset the current value of a counter.
    • Counter::setCounterClass - Set the class returned by Counter::getNamed.
    • Counter::__construct - Creates an instance of a Counter which maintains a single numeric value.
    • counter_bump - Update the current value of the basic counter.
    • counter_bump_value - Change the current value of a counter resource.
    • counter_create - Creates a counter which maintains a single numeric value.
    • counter_get - Get the current value of the basic counter.
    • counter_get_meta - Return a piece of metainformation about a counter resource.
    • counter_get_named - Retrieve an existing named counter as a resource.
    • counter_get_value - Get the current value of a counter resource.
    • counter_reset - Reset the current value of the basic counter.
    • counter_reset_value - Reset the current value of a counter resource.
    • count_chars - Gibt Informationen über die in einem String enthaltenen Zeichen zurück
    • crack_check - Führt eine Überprüfung des übergebenen Passwortes durch
    • crack_closedict - Schließt ein CrackLib-Wörterbuch
    • crack_getlastmessage - Gibt die Nachricht der letzten Überprüfung zurück
    • crack_opendict - Öffnet ein CrackLib-Wörterbuch
    • crc32 - Berechnet den polynomischen CRC32-Wert eines Strings
    • create_function - Erzeugen einer anonymen (Lambda-Stil) Funktion
    • crypt - Einweg-String-Hashing
    • ctype_alnum - Auf alphanumerische Zeichen überprüfen
    • ctype_alpha - Auf Buchstabe(n) überprüfen
    • ctype_cntrl - Auf Steuerzeichen überprüfen
    • ctype_digit - Auf Ziffern überprüfen
    • ctype_graph - Auf druckbare Zeichen (außer Leerzeichen) überprüfen
    • ctype_lower - Auf Kleinbuchstaben überprüfen
    • ctype_print - Auf druckbare Zeichen überprüfen
    • ctype_punct - Prüft auf Sonderzeichem, d.h. auf druckbare Zeichen die weder Buchstaben noch Ziffern noch Leerzeichen sind.
    • ctype_space - Auf Leerzeichen überprüfen
    • ctype_upper - Auf Großbuchstaben prüfen
    • ctype_xdigit - Auf Hexadezimalziffern überprüfen
    • cubrid_affected_rows - Return the number of rows affected by the last SQL statement
    • cubrid_bind - Bind variables to a prepared statement as parameters
    • cubrid_client_encoding - Return the current CUBRID connection charset
    • cubrid_close - Close CUBRID connection
    • cubrid_close_prepare - Close the request handle
    • cubrid_close_request - Close the request handle
    • cubrid_column_names - Get the column names in result
    • cubrid_column_types - Get column types in result
    • cubrid_col_get - Get contents of collection type column using OID
    • cubrid_col_size - Get the number of elements in collection type column using OID
    • cubrid_commit - Commit a transaction
    • cubrid_connect - Open a connection to a CUBRID Server
    • cubrid_connect_with_url - Establish the environment for connecting to CUBRID server
    • cubrid_current_oid - Get OID of the current cursor location
    • cubrid_data_seek - Move the internal row pointer of the CUBRID result
    • cubrid_db_name - Get db name from results of cubrid_list_dbs
    • cubrid_disconnect - Close a database connection
    • cubrid_drop - Delete an instance using OID
    • cubrid_errno - Return the numerical value of the error message from previous CUBRID operation
    • cubrid_error - Get the error message
    • cubrid_error_code - Get error code for the most recent function call
    • cubrid_error_code_facility - Get the facility code of error
    • cubrid_error_msg - Get last error message for the most recent function call
    • cubrid_execute - Execute a prepared SQL statement
    • cubrid_fetch - Fetch the next row from a result set
    • cubrid_fetch_array - Fetch a result row as an associative array, a numeric array, or both
    • cubrid_fetch_assoc - Return the associative array that corresponds to the fetched row
    • cubrid_fetch_field - Get column information from a result and return as an object
    • cubrid_fetch_lengths - Return an array with the lengths of the values of each field from the current row
    • cubrid_fetch_object - Fetch the next row and return it as an object
    • cubrid_fetch_row - Return a numerical array with the values of the current row
    • cubrid_field_flags - Return a string with the flags of the given field offset
    • cubrid_field_len - Get the maximum length of the specified field
    • cubrid_field_name - Return the name of the specified field index
    • cubrid_field_seek - Move the result set cursor to the specified field offset
    • cubrid_field_table - Return the name of the table of the specified field
    • cubrid_field_type - Return the type of the column corresponding to the given field offset
    • cubrid_free_result - Free the memory occupied by the result data
    • cubrid_get - Get a column using OID
    • cubrid_get_autocommit - Get auto-commit mode of the connection
    • cubrid_get_charset - Return the current CUBRID connection charset
    • cubrid_get_class_name - Get the class name using OID
    • cubrid_get_client_info - Return the client library version
    • cubrid_get_db_parameter - Returns the CUBRID database parameters
    • cubrid_get_query_timeout - Get the query timeout value of the request
    • cubrid_get_server_info - Return the CUBRID server version
    • cubrid_insert_id - Return the ID generated for the last updated AUTO_INCREMENT column
    • cubrid_is_instance - Check whether the instance pointed by OID exists
    • cubrid_list_dbs - Return an array with the list of all existing CUBRID databases
    • cubrid_load_from_glo - Read data from a GLO instance and save it in a file
    • cubrid_lob2_bind - Bind a lob object or a string as a lob object to a prepared statement as parameters.
    • cubrid_lob2_close - Close LOB object.
    • cubrid_lob2_export - Export the lob object to a file.
    • cubrid_lob2_import - Import BLOB/CLOB data from a file.
    • cubrid_lob2_new - Create a lob object.
    • cubrid_lob2_read - Read from BLOB/CLOB data.
    • cubrid_lob2_seek - Move the cursor of a lob object.
    • cubrid_lob2_seek64 - Move the cursor of a lob object.
    • cubrid_lob2_size - Get a lob object's size.
    • cubrid_lob2_size64 - Get a lob object's size.
    • cubrid_lob2_tell - Tell the cursor position of the LOB object.
    • cubrid_lob2_tell64 - Tell the cursor position of the LOB object.
    • cubrid_lob2_write - Write to a lob object.
    • cubrid_lob_close - Close BLOB/CLOB data
    • cubrid_lob_export - Export BLOB/CLOB data to file
    • cubrid_lob_get - Get BLOB/CLOB data
    • cubrid_lob_send - Read BLOB/CLOB data and send straight to browser
    • cubrid_lob_size - Get BLOB/CLOB data size
    • cubrid_lock_read - Set a read lock on the given OID
    • cubrid_lock_write - Set a write lock on the given OID
    • cubrid_move_cursor - Move the cursor in the result
    • cubrid_new_glo - Create a glo instance
    • cubrid_next_result - Get result of next query when executing multiple SQL statements
    • cubrid_num_cols - Return the number of columns in the result set
    • cubrid_num_fields - Return the number of columns in the result set
    • cubrid_num_rows - Get the number of rows in the result set
    • cubrid_pconnect - Open a persistent connection to a CUBRID server
    • cubrid_pconnect_with_url - Open a persistent connection to CUBRID server
    • cubrid_ping - Ping a server connection or reconnect if there is no connection
    • cubrid_prepare - Prepare a SQL statement for execution
    • cubrid_put - Update a column using OID
    • cubrid_query - Send a CUBRID query
    • cubrid_real_escape_string - Escape special characters in a string for use in an SQL statement
    • cubrid_result - Return the value of a specific field in a specific row
    • cubrid_rollback - Roll back a transaction
    • cubrid_save_to_glo - Save requested file in a GLO instance
    • cubrid_schema - Get the requested schema information
    • cubrid_send_glo - Read data from glo and send it to std output
    • cubrid_seq_drop - Delete an element from sequence type column using OID
    • cubrid_seq_insert - Insert an element to a sequence type column using OID
    • cubrid_seq_put - Update the element value of sequence type column using OID
    • cubrid_set_add - Insert a single element to set type column using OID
    • cubrid_set_autocommit - Set autocommit mode of the connection
    • cubrid_set_db_parameter - Sets the CUBRID database parameters
    • cubrid_set_drop - Delete an element from set type column using OID
    • cubrid_set_query_timeout - Set the timeout time of query execution
    • cubrid_unbuffered_query - Perform a query without fetching the results into memory
    • cubrid_version - Get the CUBRID PHP module's version
    • CURLFile::getFilename - Ermittelt den Dateinamen
    • CURLFile::getMimeType - Ermittelt den Mime-Typ
    • CURLFile::getPostFilename - Ermittelt den Dateinamen für POST
    • CURLFile::setMimeType - Setzt den Mime-Typ fest
    • CURLFile::setPostFilename - Setzt den Dateinamen für POST fest
    • CURLFile::__construct - Erstellt ein CURLFile Objekt
    • CURLFile::__wakeup - Benutzerausführung
    • CURL Kontextoptionen - Liste der CURL Kontextoptionen
    • curl_close - Eine cURL-Session beenden
    • curl_copy_handle - Kopieren eines cURL-Handles inklusiver aller Voreinstellungen
    • curl_errno - Gibt die letzte Fehlernummer zurück
    • curl_error - Gibt einen String zurück, der den letzten Fehler der aktuellen Session enthält
    • curl_escape - URL-kodiert den angegebenen String
    • curl_exec - Eine cURL-Session ausführen
    • curl_getinfo - Informationen zu einem bestimmten Transfer abfragen
    • curl_init - Eine cURL-Session initialisieren
    • curl_multi_add_handle - Fügt ein reguläres cURL-Handle einem cURL-Multi-Handle hinzu
    • curl_multi_close - Eine Gruppe von cURL-Handlern schließen
    • curl_multi_exec - Führt die Unter-Verbindungen des cURL-Handles aus
    • curl_multi_getcontent - Den Inhalt des cURL-Handles zurückgeben, falls CURLOPT_RETURNTRANSFER gesetzt ist
    • curl_multi_info_read - Informationen über die aktuellen Transfers abrufen
    • curl_multi_init - Gibt einen cURL-Multi-Handle zurück
    • curl_multi_remove_handle - Einen Multi-Handle von einer Menge aus cURL-Handles entfernen
    • curl_multi_select - Alle Sockets abfragen, die mit der cURL Erweiterung assoziiert sind und ausgewählt werden können
    • curl_multi_setopt - Setz eine Option für das cURL multi-Handle
    • curl_multi_strerror - Gibt einen den Fehler beschreibenden String zurück
    • curl_pause - Pausiert und setzt eine Verbindung fort
    • curl_reset - Reset all options of a libcurl session handle
    • curl_setopt - Eine Option für einen cURL Transfer setzen
    • curl_setopt_array - Mehrere Optionen für einen cURL-Transfer setzen
    • curl_share_close - Close a cURL share handle
    • curl_share_init - Initialize a cURL share handle
    • curl_share_setopt - Set an option for a cURL share handle.
    • curl_strerror - Return string describing the given error code
    • curl_unescape - Decodes the given URL encoded string
    • curl_version - Gibt die cURL-Version zurück
    • current - Liefert das aktuelle Element eines Arrays
    • cyrus_authenticate - Authenticate against a Cyrus IMAP server
    • cyrus_bind - Bind callbacks to a Cyrus IMAP connection
    • cyrus_close - Close connection to a Cyrus IMAP server
    • cyrus_connect - Connect to a Cyrus IMAP server
    • cyrus_query - Send a query to a Cyrus IMAP server
    • cyrus_unbind - Unbind ...
  • d
    • data:// - Data (RFC 2397)
    • date - Formatiert ein(e) angegebene(s) Ortszeit/Datum
    • DateInterval::createFromDateString - Bildet ein DateInterval aus relativen Teilen des Strings
    • DateInterval::format - Formats the interval
    • DateInterval::__construct - Erstellt ein neues DateInterval Objekt
    • DatePeriod::getDateInterval - Gets the interval
    • DatePeriod::getEndDate - Gets the end date
    • DatePeriod::getStartDate - Gets the start date
    • DatePeriod::__construct - Erstellt ein neues DatePeriod Objekt
    • DateTime::add - Addiert einen Wert von Tagen, Monaten, Jahren, Stunden, Minuten und Sekunden zu einem DateTime-Objekt
    • DateTime::createFromFormat - Parses a time string according to a specified format
    • DateTime::diff - Returns the difference between two DateTime objects
    • DateTime::format - Returns date formatted according to given format
    • DateTime::getLastErrors - Gibt die Warnungen und Fehler zurück
    • DateTime::getOffset - Returns the timezone offset
    • DateTime::getTimestamp - Gets the Unix timestamp
    • DateTime::getTimezone - Return time zone relative to given DateTime
    • DateTime::modify - Ändert den Zeitstempel
    • DateTime::setDate - Sets the date
    • DateTime::setISODate - Sets the ISO date
    • DateTime::setTime - Sets the time
    • DateTime::setTimestamp - Legt Datum und Zeit basierend auf einem Unix-Zeitstempel fest
    • DateTime::setTimezone - Legt die Zeitzone für ein DateTime Objekt fest
    • DateTime::sub - Subtrahiert eine Anzahl von Tagen, Monaten, Jahren, Stunden, Minuten und Sekunden von einem DateTime-Objekt.
    • DateTime::__construct - Returns new DateTime object
    • DateTime::__set_state - Der __set_state Handler
    • DateTime::__wakeup - The __wakeup handler
    • DateTimeImmutable::add - Adds an amount of days, months, years, hours, minutes and seconds
    • DateTimeImmutable::createFromFormat - Returns new DateTimeImmutable object formatted according to the specified format
    • DateTimeImmutable::createFromMutable - Returns new DateTimeImmutable object encapsulating the given DateTime object
    • DateTimeImmutable::getLastErrors - Returns the warnings and errors
    • DateTimeImmutable::modify - Creates a new object with modified timestamp
    • DateTimeImmutable::setDate - Sets the date
    • DateTimeImmutable::setISODate - Sets the ISO date
    • DateTimeImmutable::setTime - Sets the time
    • DateTimeImmutable::setTimestamp - Sets the date and time based on an Unix timestamp
    • DateTimeImmutable::setTimezone - Sets the time zone
    • DateTimeImmutable::sub - Subtracts an amount of days, months, years, hours, minutes and seconds
    • DateTimeImmutable::__construct - Returns new DateTimeImmutable object
    • DateTimeImmutable::__set_state - The __set_state handler
    • DateTimeZone::getLocation - Returns location information for a timezone
    • DateTimeZone::getName - Returns the name of the timezone
    • DateTimeZone::getOffset - Returns the timezone offset from GMT
    • DateTimeZone::getTransitions - Returns all transitions for the timezone
    • DateTimeZone::listAbbreviations - Returns associative array containing dst, offset and the timezone name
    • DateTimeZone::listIdentifiers - Returns a numerically indexed array containing all defined timezone identifiers
    • DateTimeZone::__construct - Erstellt neues DateTimeZone Objekt
    • date_add - Alias von DateTime::add
    • date_create - Alias von DateTime::__construct
    • date_create_from_format - Alias von DateTime::createFromFormat
    • date_create_immutable - Alias von DateTimeImmutable::__construct
    • date_create_immutable_from_format - Alias von DateTimeImmutable::createFromFormat
    • date_date_set - Alias von DateTime::setDate
    • date_default_timezone_get - Gets the default timezone used by all date/time functions in a script
    • date_default_timezone_set - Setzt die Standardzeitzone, die von allen Datums- und Zeitfunktionen benutzt wird.
    • date_diff - Alias von DateTime::diff
    • date_format - Alias von DateTime::format
    • date_get_last_errors - Alias von DateTime::getLastErrors
    • date_interval_create_from_date_string - Alias von DateInterval::createFromDateString
    • date_interval_format - Alias von DateInterval::format
    • date_isodate_set - Alias von DateTime::setISODate
    • date_modify - Alias von DateTime::modify
    • date_offset_get - Alias von DateTime::getOffset
    • date_parse - Returns associative array with detailed info about given date
    • date_parse_from_format - Get info about given date formatted according to the specified format
    • date_sub - Alias von DateTime::sub
    • date_sunrise - Returns time of sunrise for a given day and location
    • date_sunset - Returns time of sunset for a given day and location
    • date_sun_info - Returns an array with information about sunset/sunrise and twilight begin/end
    • date_timestamp_get - Alias von DateTime::getTimestamp
    • date_timestamp_set - Alias von DateTime::setTimestamp
    • date_timezone_get - Alias von DateTime::getTimezone
    • date_timezone_set - Alias von DateTime::setTimezone
    • date_time_set - Alias von DateTime::setTime
    • db2_autocommit - Returns or sets the AUTOCOMMIT state for a database connection
    • db2_bind_param - Binds a PHP variable to an SQL statement parameter
    • db2_client_info - Returns an object with properties that describe the DB2 database client
    • db2_close - Closes a database connection
    • db2_columns - Returns a result set listing the columns and associated metadata for a table
    • db2_column_privileges - Returns a result set listing the columns and associated privileges for a table
    • db2_commit - Commits a transaction
    • db2_connect - Returns a connection to a database
    • db2_conn_error - Returns a string containing the SQLSTATE returned by the last connection attempt
    • db2_conn_errormsg - Returns the last connection error message and SQLCODE value
    • db2_cursor_type - Returns the cursor type used by a statement resource
    • db2_escape_string - Used to escape certain characters
    • db2_exec - Executes an SQL statement directly
    • db2_execute - Executes a prepared SQL statement
    • db2_fetch_array - Returns an array, indexed by column position, representing a row in a result set
    • db2_fetch_assoc - Returns an array, indexed by column name, representing a row in a result set
    • db2_fetch_both - Returns an array, indexed by both column name and position, representing a row in a result set
    • db2_fetch_object - Returns an object with properties representing columns in the fetched row
    • db2_fetch_row - Sets the result set pointer to the next row or requested row
    • db2_field_display_size - Returns the maximum number of bytes required to display a column
    • db2_field_name - Returns the name of the column in the result set
    • db2_field_num - Returns the position of the named column in a result set
    • db2_field_precision - Returns the precision of the indicated column in a result set
    • db2_field_scale - Returns the scale of the indicated column in a result set
    • db2_field_type - Returns the data type of the indicated column in a result set
    • db2_field_width - Returns the width of the current value of the indicated column in a result set
    • db2_foreign_keys - Returns a result set listing the foreign keys for a table
    • db2_free_result - Frees resources associated with a result set
    • db2_free_stmt - Frees resources associated with the indicated statement resource
    • db2_get_option - Retrieves an option value for a statement resource or a connection resource
    • db2_last_insert_id - Returns the auto generated ID of the last insert query that successfully executed on this connection
    • db2_lob_read - Gets a user defined size of LOB files with each invocation
    • db2_next_result - Requests the next result set from a stored procedure
    • db2_num_fields - Returns the number of fields contained in a result set
    • db2_num_rows - Returns the number of rows affected by an SQL statement
    • db2_pclose - Closes a persistent database connection
    • db2_pconnect - Returns a persistent connection to a database
    • db2_prepare - Prepares an SQL statement to be executed
    • db2_primary_keys - Returns a result set listing primary keys for a table
    • db2_procedures - Returns a result set listing the stored procedures registered in a database
    • db2_procedure_columns - Returns a result set listing stored procedure parameters
    • db2_result - Returns a single column from a row in the result set
    • db2_rollback - Rolls back a transaction
    • db2_server_info - Returns an object with properties that describe the DB2 database server
    • db2_set_option - Set options for connection or statement resources
    • db2_special_columns - Returns a result set listing the unique row identifier columns for a table
    • db2_statistics - Returns a result set listing the index and statistics for a table
    • db2_stmt_error - Returns a string containing the SQLSTATE returned by an SQL statement
    • db2_stmt_errormsg - Returns a string containing the last SQL statement error message
    • db2_tables - Returns a result set listing the tables and associated metadata in a database
    • db2_table_privileges - Returns a result set listing the tables and associated privileges in a database
    • dbase_add_record - Hängt einen Datensatz an eine Datenbank an
    • dbase_close - Schließt eine Datenbank
    • dbase_create - Erzeugt eine Datenbank
    • dbase_delete_record - Markiert einen Datensatz als gelöscht
    • dbase_get_header_info - Liefert Informationen des Dateikopfs einer Datenbank
    • dbase_get_record - Liefert einen Datensatz aus einer Datenbank als indiziertes Array
    • dbase_get_record_with_names - Liefert einen Datensatz aus einer Datenbank als assoziatives Array
    • dbase_numfields - Liefert die Anzahl der Felder einer Datenbank
    • dbase_numrecords - Liefert die Anzahl der Datensätze einer Datenbank
    • dbase_open - Öffnet eine Datenbank
    • dbase_pack - Entfernt die als gelöscht markierten Datensätze aus einer Datenbank
    • dbase_replace_record - Ersetzt einen Datensatz in einer Datenbank
    • dba_close - Schließt eine DBA-Datenbank
    • dba_delete - Löscht den zum angegebenen Schlüssel gehörigen DBA-Eintrag
    • dba_exists - Überprüft, ob ein angegebener Schlüssel existiert
    • dba_fetch - Liest die Daten zu einem angegebenen Schlüssel aus
    • dba_firstkey - Liefert den ersten Schlüssel
    • dba_handlers - Listet alle verfügbaren Handler auf
    • dba_insert - Fügt einen Eintrag ein
    • dba_key_split - Zerlegt einen Schlüssel in Zeichenketten-Darstellung in eine Array-Darstellung
    • dba_list - Listet alle offenen Datenbank-Dateien auf
    • dba_nextkey - Liefert den nachfolgenden Schlüssel
    • dba_open - Öffnet eine Datenbank
    • dba_optimize - Optimiert eine Datenbank
    • dba_popen - Öffnet eine persistente Datenbank-Verbindung
    • dba_replace - Ersetzt einen Eintrag oder fügt ihn ein
    • dba_sync - Synchronisiert eine Datenbank
    • dbplus_add - Add a tuple to a relation
    • dbplus_aql - Perform AQL query
    • dbplus_chdir - Get/Set database virtual current directory
    • dbplus_close - Close a relation
    • dbplus_curr - Get current tuple from relation
    • dbplus_errcode - Get error string for given errorcode or last error
    • dbplus_errno - Get error code for last operation
    • dbplus_find - Set a constraint on a relation
    • dbplus_first - Get first tuple from relation
    • dbplus_flush - Flush all changes made on a relation
    • dbplus_freealllocks - Free all locks held by this client
    • dbplus_freelock - Release write lock on tuple
    • dbplus_freerlocks - Free all tuple locks on given relation
    • dbplus_getlock - Get a write lock on a tuple
    • dbplus_getunique - Get an id number unique to a relation
    • dbplus_info - Get information about a relation
    • dbplus_last - Get last tuple from relation
    • dbplus_lockrel - Request write lock on relation
    • dbplus_next - Get next tuple from relation
    • dbplus_open - Open relation file
    • dbplus_prev - Get previous tuple from relation
    • dbplus_rchperm - Change relation permissions
    • dbplus_rcreate - Creates a new DB++ relation
    • dbplus_rcrtexact - Creates an exact but empty copy of a relation including indices
    • dbplus_rcrtlike - Creates an empty copy of a relation with default indices
    • dbplus_resolve - Resolve host information for relation
    • dbplus_restorepos - Restore position
    • dbplus_rkeys - Specify new primary key for a relation
    • dbplus_ropen - Open relation file local
    • dbplus_rquery - Perform local (raw) AQL query
    • dbplus_rrename - Rename a relation
    • dbplus_rsecindex - Create a new secondary index for a relation
    • dbplus_runlink - Remove relation from filesystem
    • dbplus_rzap - Remove all tuples from relation
    • dbplus_savepos - Save position
    • dbplus_setindex - Set index
    • dbplus_setindexbynumber - Set index by number
    • dbplus_sql - Perform SQL query
    • dbplus_tcl - Execute TCL code on server side
    • dbplus_tremove - Remove tuple and return new current tuple
    • dbplus_undo - Undo
    • dbplus_undoprepare - Prepare undo
    • dbplus_unlockrel - Give up write lock on relation
    • dbplus_unselect - Remove a constraint from relation
    • dbplus_update - Update specified tuple in relation
    • dbplus_xlockrel - Request exclusive lock on relation
    • dbplus_xunlockrel - Free exclusive lock on relation
    • dbx_close - Schließt eine offene Verbindung/Datenbank
    • dbx_compare - Vergleicht zwei Reihen für Sortierzwecke
    • dbx_connect - Öffnet eine Verbindung/Datenbank
    • dbx_error - Liefert die Fehlermeldung des letzten Funktionsaufrufes in dem Modul
    • dbx_escape_string - Maskiert einen String, so dass er sicher in einem SQL-Statement verwendet werden kann
    • dbx_fetch_row - Liest Zeilen aus einem Abfrageergebnis, das das DBX_RESULT_UNBUFFERED-Flag gesetzt hat
    • dbx_query - Sendet eine Abfrage und holt alle Ergebnisse (falls vorhanden)
    • dbx_sort - Sortiert das Ergebnis eines dbx_query mittels einer benutzerdefinierten Sortierfunktion
    • dcgettext - Überschreibt die gesetzte Domain für eine einzelne Abfrage
    • dcngettext - Pluralversion von dcgettext
    • debug_backtrace - Erzeugt Daten zur Ablaufverfolgung
    • debug_print_backtrace - Gibt die Daten für eine Ablaufverfolgung aus
    • debug_zval_dump - Dumps a string representation of an internal zend value to output
    • decbin - Dezimal zu Binär Konvertierung
    • dechex - Dezimal zu Hexadezimal Umwandlung
    • decoct - Dezimal zu Oktal Umwandlung
    • define - Definiert eine benannte Konstante
    • defined - Prüft, ob eine benannte Konstante existiert
    • define_syslog_variables - Initialisiert alle SysLog-bezogenen Variablen
    • deflate_add - Incrementally deflate data
    • deflate_init - Initialize an incremental deflate context
    • deg2rad - Rechnet einen Winkel von Grad in Bogenmaß um
    • delete - Siehe unlink oder unset
    • dgettext - Überschreibt die aktuelle Domain
    • die - Entspricht exit
    • dio_close - Schließt eine Datei
    • dio_fcntl - Modifiziert einen Dateideskriptor
    • dio_open - Öffnet eine Datei (falls nötig, wird diese erzeugt) auf einem niedrigeren Level als es die C-Bibliotheks Ein-/Ausgabe-Stream-Funktionen erlauben.
    • dio_read - Liest von einem Dateideskriptor
    • dio_seek - Setzt den Dateizeiger
    • dio_stat - Liefert Statusinformationen über einen Dateideskriptor
    • dio_tcsetattr - Sets terminal attributes and baud rate for a serial port
    • dio_truncate - Schneidet eine Datei ab
    • dio_write - Schreibt Daten in eine Datei
    • dir - Gibt eine Instanz der Directory Klasse zurück
    • Directory::close - Schließt das Verzeichnis-Handle
    • Directory::read - Liest einen Eintrag vom Verzeichnis-Handle
    • Directory::rewind - Setzt das Verzeichnis-Handle zurück
    • DirectoryIterator::current - Return the current DirectoryIterator item.
    • DirectoryIterator::getATime - Get last access time of the current DirectoryIterator item
    • DirectoryIterator::getBasename - Get base name of current DirectoryIterator item.
    • DirectoryIterator::getCTime - Get inode change time of the current DirectoryIterator item
    • DirectoryIterator::getExtension - Gets the file extension
    • DirectoryIterator::getFilename - Return file name of current DirectoryIterator item.
    • DirectoryIterator::getGroup - Get group for the current DirectoryIterator item
    • DirectoryIterator::getInode - Get inode for the current DirectoryIterator item
    • DirectoryIterator::getMTime - Get last modification time of current DirectoryIterator item
    • DirectoryIterator::getOwner - Get owner of current DirectoryIterator item
    • DirectoryIterator::getPath - Get path of current Iterator item without filename
    • DirectoryIterator::getPathname - Return path and file name of current DirectoryIterator item
    • DirectoryIterator::getPerms - Get the permissions of current DirectoryIterator item
    • DirectoryIterator::getSize - Get size of current DirectoryIterator item
    • DirectoryIterator::getType - Determine the type of the current DirectoryIterator item
    • DirectoryIterator::isDir - Determine if current DirectoryIterator item is a directory
    • DirectoryIterator::isDot - Determine if current DirectoryIterator item is '.' or '..'
    • DirectoryIterator::isExecutable - Determine if current DirectoryIterator item is executable
    • DirectoryIterator::isFile - Determine if current DirectoryIterator item is a regular file
    • DirectoryIterator::isLink - Determine if current DirectoryIterator item is a symbolic link
    • DirectoryIterator::isReadable - Determine if current DirectoryIterator item can be read
    • DirectoryIterator::isWritable - Determine if current DirectoryIterator item can be written to
    • DirectoryIterator::key - Return the key for the current DirectoryIterator item
    • DirectoryIterator::next - Move forward to next DirectoryIterator item
    • DirectoryIterator::rewind - Rewind the DirectoryIterator back to the start
    • DirectoryIterator::seek - Seek to a DirectoryIterator item
    • DirectoryIterator::valid - Check whether current DirectoryIterator position is a valid file
    • DirectoryIterator::__construct - Constructs a new directory iterator from a path
    • DirectoryIterator::__toString - Get file name as a string
    • dirname - Gibt den Pfad des übergeordneten Verzeichnisses zurück
    • diskfreespace - Alias von disk_free_space
    • disk_free_space - Gibt verfügbaren Platz auf Dateisystem oder Partition zurück
    • disk_total_space - Gibt die Gesamtgröße eines Dateisystemes oder einer Partition zurück
    • dl - Lädt eine PHP-Erweiterung (Extension) zur Laufzeit
    • dngettext - Pluralversion von dgettext
    • dns_check_record - Alias von checkdnsrr
    • dns_get_mx - Alias von getmxrr
    • dns_get_record - Den DNS Resource Record für einen gegebenen Hostname finden.
    • DOMAttr::isId - Checks if attribute is a defined ID
    • DOMAttr::__construct - Creates a new DOMAttr object
    • DOMCdataSection::__construct - Constructs a new DOMCdataSection object
    • DOMCharacterData::appendData - Append the string to the end of the character data of the node
    • DOMCharacterData::deleteData - Remove a range of characters from the node
    • DOMCharacterData::insertData - Insert a string at the specified 16-bit unit offset
    • DOMCharacterData::replaceData - Replace a substring within the DOMCharacterData node
    • DOMCharacterData::substringData - Extracts a range of data from the node
    • DOMComment::__construct - Creates a new DOMComment object
    • DOMDocument::createAttribute - Create new attribute
    • DOMDocument::createAttributeNS - Create new attribute node with an associated namespace
    • DOMDocument::createCDATASection - Create new cdata node
    • DOMDocument::createComment - Create new comment node
    • DOMDocument::createDocumentFragment - Create new document fragment
    • DOMDocument::createElement - Create new element node
    • DOMDocument::createElementNS - Create new element node with an associated namespace
    • DOMDocument::createEntityReference - Create new entity reference node
    • DOMDocument::createProcessingInstruction - Creates new PI node
    • DOMDocument::createTextNode - Create new text node
    • DOMDocument::getElementById - Searches for an element with a certain id
    • DOMDocument::getElementsByTagName - Searches for all elements with given local tag name
    • DOMDocument::getElementsByTagNameNS - Searches for all elements with given tag name in specified namespace
    • DOMDocument::importNode - Import node into current document
    • DOMDocument::load - Load XML from a file
    • DOMDocument::loadHTML - Load HTML from a string
    • DOMDocument::loadHTMLFile - Load HTML from a file
    • DOMDocument::loadXML - Load XML from a string
    • DOMDocument::normalizeDocument - Normalizes the document
    • DOMDocument::registerNodeClass - Register extended class used to create base node type
    • DOMDocument::relaxNGValidate - Performs relaxNG validation on the document
    • DOMDocument::relaxNGValidateSource - Performs relaxNG validation on the document
    • DOMDocument::save - Dumps the internal XML tree back into a file
    • DOMDocument::saveHTML - Dumps the internal document into a string using HTML formatting
    • DOMDocument::saveHTMLFile - Dumps the internal document into a file using HTML formatting
    • DOMDocument::saveXML - Dumps the internal XML tree back into a string
    • DOMDocument::schemaValidate - Validates a document based on a schema
    • DOMDocument::schemaValidateSource - Validates a document based on a schema
    • DOMDocument::validate - Validates the document based on its DTD
    • DOMDocument::xinclude - Substitutes XIncludes in a DOMDocument Object
    • DOMDocument::__construct - Creates a new DOMDocument object
    • DOMDocumentFragment::appendXML - Append raw XML data
    • DOMElement::getAttribute - Returns value of attribute
    • DOMElement::getAttributeNode - Returns attribute node
    • DOMElement::getAttributeNodeNS - Returns attribute node
    • DOMElement::getAttributeNS - Returns value of attribute
    • DOMElement::getElementsByTagName - Gets elements by tagname
    • DOMElement::getElementsByTagNameNS - Get elements by namespaceURI and localName
    • DOMElement::hasAttribute - Checks to see if attribute exists
    • DOMElement::hasAttributeNS - Checks to see if attribute exists
    • DOMElement::removeAttribute - Removes attribute
    • DOMElement::removeAttributeNode - Removes attribute
    • DOMElement::removeAttributeNS - Removes attribute
    • DOMElement::setAttribute - Adds new attribute
    • DOMElement::setAttributeNode - Adds new attribute node to element
    • DOMElement::setAttributeNodeNS - Adds new attribute node to element
    • DOMElement::setAttributeNS - Adds new attribute
    • DOMElement::setIdAttribute - Declares the attribute specified by name to be of type ID
    • DOMElement::setIdAttributeNode - Declares the attribute specified by node to be of type ID
    • DOMElement::setIdAttributeNS - Declares the attribute specified by local name and namespace URI to be of type ID
    • DOMElement::__construct - Creates a new DOMElement object
    • DOMEntityReference::__construct - Creates a new DOMEntityReference object
    • DOMImplementation::createDocument - Creates a DOMDocument object of the specified type with its document element
    • DOMImplementation::createDocumentType - Creates an empty DOMDocumentType object
    • DOMImplementation::hasFeature - Test if the DOM implementation implements a specific feature
    • DOMImplementation::__construct - Creates a new DOMImplementation object
    • DOMNamedNodeMap::getNamedItem - Retrieves a node specified by name
    • DOMNamedNodeMap::getNamedItemNS - Retrieves a node specified by local name and namespace URI
    • DOMNamedNodeMap::item - Retrieves a node specified by index
    • DOMNode::appendChild - Adds new child at the end of the children
    • DOMNode::C14N - Canonicalize nodes to a string
    • DOMNode::C14NFile - Canonicalize nodes to a file
    • DOMNode::cloneNode - Clones a node
    • DOMNode::getLineNo - Get line number for a node
    • DOMNode::getNodePath - Get an XPath for a node
    • DOMNode::hasAttributes - Checks if node has attributes
    • DOMNode::hasChildNodes - Checks if node has children
    • DOMNode::insertBefore - Adds a new child before a reference node
    • DOMNode::isDefaultNamespace - Checks if the specified namespaceURI is the default namespace or not
    • DOMNode::isSameNode - Indicates if two nodes are the same node
    • DOMNode::isSupported - Checks if feature is supported for specified version
    • DOMNode::lookupNamespaceURI - Gets the namespace URI of the node based on the prefix
    • DOMNode::lookupPrefix - Gets the namespace prefix of the node based on the namespace URI
    • DOMNode::normalize - Normalizes the node
    • DOMNode::removeChild - Removes child from list of children
    • DOMNode::replaceChild - Replaces a child
    • DOMNodelist::item - Retrieves a node specified by index
    • DOMProcessingInstruction::__construct - Creates a new DOMProcessingInstruction object
    • DOMText::isWhitespaceInElementContent - Indicates whether this text node contains whitespace
    • DOMText::splitText - Breaks this node into two nodes at the specified offset
    • DOMText::__construct - Creates a new DOMText object
    • DOMXPath::evaluate - Evaluates the given XPath expression and returns a typed result if possible
    • DOMXPath::query - Evaluates the given XPath expression
    • DOMXPath::registerNamespace - Registers the namespace with the DOMXPath object
    • DOMXPath::registerPhpFunctions - Register PHP functions as XPath functions
    • DOMXPath::__construct - Creates a new DOMXPath object
    • dom_import_simplexml - Ermittelt ein DOMElement-Objekt aus einem SimpleXMLElement-Objekt
    • doubleval - Alias von floatval
    • Ds\Collection::clear - Removes all values.
    • Ds\Collection::copy - Returns a shallow copy of the collection.
    • Ds\Collection::isEmpty - Returns whether the collection is empty
    • Ds\Collection::toArray - Converts the collection to an array.
    • Ds\Deque::allocate - Allocates enough memory for a required capacity.
    • Ds\Deque::apply - Updates all values by applying a callback function to each value.
    • Ds\Deque::capacity - Returns the current capacity.
    • Ds\Deque::clear - Removes all values from the deque.
    • Ds\Deque::contains - Determines if the deque contains given values.
    • Ds\Deque::copy - Returns a shallow copy of the deque.
    • Ds\Deque::count - Returns the number of values in the collection.
    • Ds\Deque::filter - Creates a new deque using a callable to determine which values to include.
    • Ds\Deque::find - Attempts to find a value's index.
    • Ds\Deque::first - Returns the first value in the deque.
    • Ds\Deque::get - Returns the value at a given index.
    • Ds\Deque::insert - Inserts values at a given index.
    • Ds\Deque::isEmpty - Returns whether the deque is empty
    • Ds\Deque::join - Joins all values together as a string.
    • Ds\Deque::jsonSerialize - Returns a representation that can be converted to JSON.
    • Ds\Deque::last - Returns the last value.
    • Ds\Deque::map - Returns the result of applying a callback to each value.
    • Ds\Deque::merge - Returns the result of adding all given values to the deque.
    • Ds\Deque::pop - Removes and returns the last value.
    • Ds\Deque::push - Adds values to the end of the deque.
    • Ds\Deque::reduce - Reduces the deque to a single value using a callback function.
    • Ds\Deque::remove - Removes and returns a value by index.
    • Ds\Deque::reverse - Reverses the deque in-place.
    • Ds\Deque::reversed - Returns a reversed copy.
    • Ds\Deque::rotate - Rotates the deque by a given number of rotations.
    • Ds\Deque::set - Updates a value at a given index.
    • Ds\Deque::shift - Removes and returns the first value.
    • Ds\Deque::slice - Returns a sub-deque of a given range.
    • Ds\Deque::sort - Sorts the deque in-place.
    • Ds\Deque::sorted - Returns a sorted copy.
    • Ds\Deque::sum - Returns the sum of all values in the deque.
    • Ds\Deque::toArray - Converts the deque to an array.
    • Ds\Deque::unshift - Adds values to the front of the deque.
    • Ds\Deque::__construct - Creates a new instance.
    • Ds\Hashable::equals - Determines whether an object is equal to the current instance.
    • Ds\Hashable::hash - Returns a scalar value to be used as a hash value.
    • Ds\Map::allocate - Allocates enough memory for a required capacity.
    • Ds\Map::apply - Updates all values by applying a callback function to each value.
    • Ds\Map::capacity - Returns the current capacity.
    • Ds\Map::clear - Removes all values.
    • Ds\Map::copy - Returns a shallow copy of the map.
    • Ds\Map::count - Returns the number of values in the map.
    • Ds\Map::diff - Creates a new map using keys that aren't in another map.
    • Ds\Map::filter - Creates a new map using a callable to determine which pairs to include.
    • Ds\Map::first - Returns the first pair in the map.
    • Ds\Map::get - Returns the value for a given key.
    • Ds\Map::hasKey - Determines whether the map contains a given key.
    • Ds\Map::hasValue - Determines whether the map contains a given value.
    • Ds\Map::intersect - Creates a new map by intersecting keys with another map.
    • Ds\Map::isEmpty - Returns whether the map is empty
    • Ds\Map::jsonSerialize - Returns a representation that can be converted to JSON.
    • Ds\Map::keys - Returns a set of the map's keys.
    • Ds\Map::ksort - Sorts the map in-place by key.
    • Ds\Map::ksorted - Returns a copy, sorted by key.
    • Ds\Map::last - Returns the last pair of the map.
    • Ds\Map::map - Returns the result of applying a callback to each value.
    • Ds\Map::merge - Returns the result of adding all given associations.
    • Ds\Map::pairs - Returns a sequence containing all the pairs of the map.
    • Ds\Map::put - Associates a key with a value.
    • Ds\Map::putAll - Associates all key-value pairs of a traversable object or array.
    • Ds\Map::reduce - Reduces the map to a single value using a callback function.
    • Ds\Map::remove - Removes and returns a value by key.
    • Ds\Map::reverse - Reverses the map in-place.
    • Ds\Map::reversed - Returns a reversed copy.
    • Ds\Map::skip - Returns the pair at a given positional index.
    • Ds\Map::slice - Returns a subset of the map defined by a starting index and length.
    • Ds\Map::sort - Sorts the map in-place by value.
    • Ds\Map::sorted - Returns a copy, sorted by value.
    • Ds\Map::sum - Returns the sum of all values in the map.
    • Ds\Map::toArray - Converts the map to an array.
    • Ds\Map::union - Creates a new map using values from the current instance and another map.
    • Ds\Map::values - Returns a sequence of the map's values.
    • Ds\Map::xor - Creates a new map using keys of either the current instance or of another map, but not of both.
    • Ds\Map::__construct - Creates a new instance.
    • Ds\Pair::clear - Removes all values.
    • Ds\Pair::copy - Returns a shallow copy of the pair.
    • Ds\Pair::isEmpty - Returns whether the pair is empty
    • Ds\Pair::jsonSerialize - Returns a representation that can be converted to JSON.
    • Ds\Pair::toArray - Converts the pair to an array.
    • Ds\Pair::__construct - Creates a new instance.
    • Ds\PriorityQueue::allocate - Allocates enough memory for a required capacity.
    • Ds\PriorityQueue::capacity - Returns the current capacity.
    • Ds\PriorityQueue::clear - Removes all values.
    • Ds\PriorityQueue::copy - Returns a shallow copy of the queue.
    • Ds\PriorityQueue::count - Returns the number of values in the queue.
    • Ds\PriorityQueue::isEmpty - Returns whether the queue is empty
    • Ds\PriorityQueue::jsonSerialize - Returns a representation that can be converted to JSON.
    • Ds\PriorityQueue::peek - Returns the value at the front of the queue.
    • Ds\PriorityQueue::pop - Removes and returns the value with the highest priority.
    • Ds\PriorityQueue::push - Pushes values into the queue.
    • Ds\PriorityQueue::toArray - Converts the queue to an array.
    • Ds\PriorityQueue::__construct - Creates a new instance.
    • Ds\Queue::allocate - Allocates enough memory for a required capacity.
    • Ds\Queue::capacity - Returns the current capacity.
    • Ds\Queue::clear - Removes all values.
    • Ds\Queue::copy - Returns a shallow copy of the queue.
    • Ds\Queue::count - Returns the number of values in the queue.
    • Ds\Queue::isEmpty - Returns whether the queue is empty
    • Ds\Queue::jsonSerialize - Returns a representation that can be converted to JSON.
    • Ds\Queue::peek - Returns the value at the front of the queue.
    • Ds\Queue::pop - Removes and returns the value at the front of the queue.
    • Ds\Queue::push - Pushes values into the queue.
    • Ds\Queue::toArray - Converts the queue to an array.
    • Ds\Queue::__construct - Creates a new instance.
    • Ds\Sequence::allocate - Allocates enough memory for a required capacity.
    • Ds\Sequence::apply - Updates all values by applying a callback function to each value.
    • Ds\Sequence::capacity - Returns the current capacity.
    • Ds\Sequence::contains - Determines if the sequence contains given values.
    • Ds\Sequence::filter - Creates a new sequence using a callable to determine which values to include.
    • Ds\Sequence::find - Attempts to find a value's index.
    • Ds\Sequence::first - Returns the first value in the sequence.
    • Ds\Sequence::get - Returns the value at a given index.
    • Ds\Sequence::insert - Inserts values at a given index.
    • Ds\Sequence::join - Joins all values together as a string.
    • Ds\Sequence::last - Returns the last value.
    • Ds\Sequence::map - Returns the result of applying a callback to each value.
    • Ds\Sequence::merge - Returns the result of adding all given values to the sequence.
    • Ds\Sequence::pop - Removes and returns the last value.
    • Ds\Sequence::push - Adds values to the end of the sequence.
    • Ds\Sequence::reduce - Reduces the sequence to a single value using a callback function.
    • Ds\Sequence::remove - Removes and returns a value by index.
    • Ds\Sequence::reverse - Reverses the sequence in-place.
    • Ds\Sequence::reversed - Returns a reversed copy.
    • Ds\Sequence::rotate - Rotates the sequence by a given number of rotations.
    • Ds\Sequence::set - Updates a value at a given index.
    • Ds\Sequence::shift - Removes and returns the first value.
    • Ds\Sequence::slice - Returns a sub-sequence of a given range.
    • Ds\Sequence::sort - Sorts the sequence in-place.
    • Ds\Sequence::sorted - Returns a sorted copy.
    • Ds\Sequence::sum - Returns the sum of all values in the sequence.
    • Ds\Sequence::unshift - Adds values to the front of the sequence.
    • Ds\Set::add - Adds values to the set.
    • Ds\Set::allocate - Allocates enough memory for a required capacity.
    • Ds\Set::capacity - Returns the current capacity.
    • Ds\Set::clear - Removes all values.
    • Ds\Set::contains - Determines if the set contains all values.
    • Ds\Set::copy - Returns a shallow copy of the set.
    • Ds\Set::count - Returns the number of values in the set.
    • Ds\Set::diff - Creates a new set using values that aren't in another set.
    • Ds\Set::filter - Creates a new set using a callable to determine which values to include.
    • Ds\Set::first - Returns the first value in the set.
    • Ds\Set::get - Returns the value at a given index.
    • Ds\Set::intersect - Creates a new set by intersecting values with another set.
    • Ds\Set::isEmpty - Returns whether the set is empty
    • Ds\Set::join - Joins all values together as a string.
    • Ds\Set::jsonSerialize - Returns a representation that can be converted to JSON.
    • Ds\Set::last - Returns the last value in the set.
    • Ds\Set::merge - Returns the result of adding all given values to the set.
    • Ds\Set::reduce - Reduces the set to a single value using a callback function.
    • Ds\Set::remove - Removes all given values from the set.
    • Ds\Set::reverse - Reverses the set in-place.
    • Ds\Set::reversed - Returns a reversed copy.
    • Ds\Set::slice - Returns a sub-set of a given range.
    • Ds\Set::sort - Sorts the set in-place.
    • Ds\Set::sorted - Returns a sorted copy.
    • Ds\Set::sum - Returns the sum of all values in the set.
    • Ds\Set::toArray - Converts the set to an array.
    • Ds\Set::union - Creates a new set using values from the current instance and another set.
    • Ds\Set::xor - Creates a new set using values in either the current instance or in another set, but not in both.
    • Ds\Set::__construct - Creates a new instance.
    • Ds\Stack::allocate - Allocates enough memory for a required capacity.
    • Ds\Stack::capacity - Returns the current capacity.
    • Ds\Stack::clear - Removes all values.
    • Ds\Stack::copy - Returns a shallow copy of the stack.
    • Ds\Stack::count - Returns the number of values in the stack.
    • Ds\Stack::isEmpty - Returns whether the stack is empty
    • Ds\Stack::jsonSerialize - Returns a representation that can be converted to JSON.
    • Ds\Stack::peek - Returns the value at the top of the stack.
    • Ds\Stack::pop - Removes and returns the value at the top of the stack.
    • Ds\Stack::push - Pushes values onto the stack.
    • Ds\Stack::toArray - Converts the stack to an array.
    • Ds\Stack::__construct - Creates a new instance.
    • Ds\Vector::allocate - Allocates enough memory for a required capacity.
    • Ds\Vector::apply - Updates all values by applying a callback function to each value.
    • Ds\Vector::capacity - Returns the current capacity.
    • Ds\Vector::clear - Removes all values.
    • Ds\Vector::contains - Determines if the vector contains given values.
    • Ds\Vector::copy - Returns a shallow copy of the vector.
    • Ds\Vector::count - Returns the number of values in the collection.
    • Ds\Vector::filter - Creates a new vector using a callable to determine which values to include.
    • Ds\Vector::find - Attempts to find a value's index.
    • Ds\Vector::first - Returns the first value in the vector.
    • Ds\Vector::get - Returns the value at a given index.
    • Ds\Vector::insert - Inserts values at a given index.
    • Ds\Vector::isEmpty - Returns whether the vector is empty
    • Ds\Vector::join - Joins all values together as a string.
    • Ds\Vector::jsonSerialize - Returns a representation that can be converted to JSON.
    • Ds\Vector::last - Returns the last value.
    • Ds\Vector::map - Returns the result of applying a callback to each value.
    • Ds\Vector::merge - Returns the result of adding all given values to the vector.
    • Ds\Vector::pop - Removes and returns the last value.
    • Ds\Vector::push - Adds values to the end of the vector.
    • Ds\Vector::reduce - Reduces the vector to a single value using a callback function.
    • Ds\Vector::remove - Removes and returns a value by index.
    • Ds\Vector::reverse - Reverses the vector in-place.
    • Ds\Vector::reversed - Returns a reversed copy.
    • Ds\Vector::rotate - Rotates the vector by a given number of rotations.
    • Ds\Vector::set - Updates a value at a given index.
    • Ds\Vector::shift - Removes and returns the first value.
    • Ds\Vector::slice - Returns a sub-vector of a given range.
    • Ds\Vector::sort - Sorts the vector in-place.
    • Ds\Vector::sorted - Returns a sorted copy.
    • Ds\Vector::sum - Returns the sum of all values in the vector.
    • Ds\Vector::toArray - Converts the vector to an array.
    • Ds\Vector::unshift - Adds values to the front of the vector.
    • Ds\Vector::__construct - Creates a new instance.
  • e
    • each - Liefert das aktuelle Paar (Schlüssel und Wert) eines Arrays und rückt den Arrayzeiger vor
    • easter_date - Zeitpunkt des Osterfestes (0 Uhr) als Unix-Timestamp
    • easter_days - Anzahl der Tage zwischen dem 21. März und Ostersonntag
    • echo - Gibt einen oder mehrere Strings aus
    • eio_busy - Artificially increase load. Could be useful in tests, benchmarking.
    • eio_cancel - Cancels a request
    • eio_chmod - Change file/direcrory permissions.
    • eio_chown - Change file/direcrory permissions.
    • eio_close - Close file
    • eio_custom - Execute custom request like any other eio_* call.
    • eio_dup2 - Duplicate a file descriptor
    • eio_event_loop - Polls libeio until all requests proceeded
    • eio_fallocate - Allows the caller to directly manipulate the allocated disk space for a file
    • eio_fchmod - Change file permissions.
    • eio_fchown - Change file ownership
    • eio_fdatasync - Synchronize a file's in-core state with storage device.
    • eio_fstat - Get file status
    • eio_fstatvfs - Get file system statistics
    • eio_fsync - Synchronize a file's in-core state with storage device
    • eio_ftruncate - Truncate a file
    • eio_futime - Change file last access and modification times
    • eio_get_event_stream - Get stream representing a variable used in internal communications with libeio.
    • eio_get_last_error - Returns string describing the last error associated with a request resource
    • eio_grp - Creates a request group.
    • eio_grp_add - Adds a request to the request group.
    • eio_grp_cancel - Cancels a request group
    • eio_grp_limit - Set group limit
    • eio_init - (Re-)initialize Eio
    • eio_link - Create a hardlink for file
    • eio_lstat - Get file status
    • eio_mkdir - Create directory
    • eio_mknod - Create a special or ordinary file.
    • eio_nop - Does nothing, except go through the whole request cycle.
    • eio_npending - Returns number of finished, but unhandled requests
    • eio_nready - Returns number of not-yet handled requests
    • eio_nreqs - Returns number of requests to be processed
    • eio_nthreads - Returns number of threads currently in use
    • eio_open - Opens a file
    • eio_poll - Can be to be called whenever there are pending requests that need finishing.
    • eio_read - Read from a file descriptor at given offset.
    • eio_readahead - Perform file readahead into page cache
    • eio_readdir - Reads through a whole directory
    • eio_readlink - Read value of a symbolic link.
    • eio_realpath - Get the canonicalized absolute pathname.
    • eio_rename - Change the name or location of a file.
    • eio_rmdir - Remove a directory
    • eio_seek - Repositions the offset of the open file associated with the fd argument to the argument offset according to the directive whence
    • eio_sendfile - Transfer data between file descriptors
    • eio_set_max_idle - Set maximum number of idle threads.
    • eio_set_max_parallel - Set maximum parallel threads
    • eio_set_max_poll_reqs - Set maximum number of requests processed in a poll.
    • eio_set_max_poll_time - Set maximum poll time
    • eio_set_min_parallel - Set minimum parallel thread number
    • eio_stat - Get file status
    • eio_statvfs - Get file system statistics
    • eio_symlink - Create a symbolic link
    • eio_sync - Commit buffer cache to disk
    • eio_syncfs - Calls Linux' syncfs syscall, if available
    • eio_sync_file_range - Sync a file segment with disk
    • eio_truncate - Truncate a file
    • eio_unlink - Delete a name and possibly the file it refers to
    • eio_utime - Change file last access and modification times.
    • eio_write - Write to file
    • empty - Prüft, ob eine Variable einen Wert enthält
    • EmptyIterator::current - The current() method
    • EmptyIterator::key - The key() method
    • EmptyIterator::next - The next() method
    • EmptyIterator::rewind - The rewind() method
    • EmptyIterator::valid - The valid() method
    • enchant_broker_describe - Enumerates the Enchant providers
    • enchant_broker_dict_exists - Whether a dictionary exists or not. Using non-empty tag
    • enchant_broker_free - Free the broker resource and its dictionnaries
    • enchant_broker_free_dict - Free a dictionary resource
    • enchant_broker_get_dict_path - Get the directory path for a given backend
    • enchant_broker_get_error - Returns the last error of the broker
    • enchant_broker_init - create a new broker object capable of requesting
    • enchant_broker_list_dicts - Returns a list of available dictionaries
    • enchant_broker_request_dict - create a new dictionary using a tag
    • enchant_broker_request_pwl_dict - creates a dictionary using a PWL file
    • enchant_broker_set_dict_path - Set the directory path for a given backend
    • enchant_broker_set_ordering - Declares a preference of dictionaries to use for the language
    • enchant_dict_add_to_personal - add a word to personal word list
    • enchant_dict_add_to_session - add 'word' to this spell-checking session
    • enchant_dict_check - Check whether a word is correctly spelled or not
    • enchant_dict_describe - Describes an individual dictionary
    • enchant_dict_get_error - Returns the last error of the current spelling-session
    • enchant_dict_is_in_session - whether or not 'word' exists in this spelling-session
    • enchant_dict_quick_check - Check the word is correctly spelled and provide suggestions
    • enchant_dict_store_replacement - Add a correction for a word
    • enchant_dict_suggest - Will return a list of values if any of those pre-conditions are not met
    • end - Positioniert den internen Zeiger eines Arrays auf dessen letztes Element
    • ereg - Sucht Übereinstimmungen mit einem regulären Ausdruck
    • eregi - Sucht Übereinstimmung mit regulärem Ausdruck ohne Berücksichtigung von Groß-/Kleinschreibung
    • eregi_replace - Ersetzt einen regulären Ausdrück ohne Berücksichtigung von Groß-/Kleinschreibung
    • ereg_replace - Ersetzt einen regulären Ausdruck
    • ErrorException::getSeverity - Liefert die Schwere der Exception
    • ErrorException::__construct - Erstellt die Exception
    • error_clear_last - Clear the most recent error
    • error_get_last - Liefert den zuletzt aufgetretenen Fehler
    • error_log - Sendet eine Fehlermeldung an die definierten Fehlerbehandlungsroutinen
    • error_reporting - Gibt an, welche PHP-Fehlermeldungen gemeldet werden
    • escapeshellarg - Maskiert eine Zeichenkette (String), um sie als Shell-Argument benutzen zu können
    • escapeshellcmd - Maskiert Shell-Metazeichen
    • Ev::backend - Returns an integer describing the backend used by libev.
    • Ev::depth - Returns recursion depth
    • Ev::embeddableBackends - Returns the set of backends that are embeddable in other event loops.
    • Ev::feedSignal - Feed a signal event info Ev
    • Ev::feedSignalEvent - Feed signal event into the default loop
    • Ev::iteration - Return the number of times the default event loop has polled for new events.
    • Ev::now - Returns the time when the last iteration of the default event loop has started.
    • Ev::nowUpdate - Establishes the current time by querying the kernel, updating the time returned by Ev::now in the progress.
    • Ev::recommendedBackends - Returns a bit mask of recommended backends for current platform.
    • Ev::resume - Resume previously suspended default event loop
    • Ev::run - Begin checking for events and calling callbacks for the default loop
    • Ev::sleep - Block the process for the given number of seconds.
    • Ev::stop - Stops the default event loop
    • Ev::supportedBackends - Returns the set of backends supported by current libev configuration.
    • Ev::suspend - Suspend the default event loop
    • Ev::time - Returns the current time in fractional seconds since the epoch.
    • Ev::verify - Performs internal consistency checks(for debugging)
    • eval - Wertet eine Zeichenkette als PHP-Code aus
    • EvCheck::createStopped - Create instance of a stopped EvCheck watcher
    • EvCheck::__construct - Constructs the EvCheck watcher object
    • EvChild::createStopped - Create instance of a stopped EvCheck watcher
    • EvChild::set - Configures the watcher
    • EvChild::__construct - Constructs the EvChild watcher object
    • EvEmbed::createStopped - Create stopped EvEmbed watcher object
    • EvEmbed::set - Configures the watcher
    • EvEmbed::sweep - Make a single, non-blocking sweep over the embedded loop.
    • EvEmbed::__construct - Constructs the EvEmbed object
    • Event::add - Makes event pending
    • Event::addSignal - Makes signal event pending
    • Event::addTimer - Makes timer event pending
    • Event::del - Makes event non-pending
    • Event::delSignal - Makes signal event non-pending
    • Event::delTimer - Makes timer event non-pending
    • Event::free - Make event non-pending and free resources allocated for this event.
    • Event::getSupportedMethods - Returns array with of the names of the methods supported in this version of Libevent
    • Event::pending - Detects whether event is pending or scheduled
    • Event::set - Re-configures event
    • Event::setPriority - Set event priority
    • Event::setTimer - Re-configures timer event
    • Event::signal - Constructs signal event object
    • Event::timer - Constructs timer event object
    • Event::__construct - Constructs Event object
    • EventBase::dispatch - Dispatch pending events
    • EventBase::exit - Stop dispatching events
    • EventBase::free - Free resources allocated for this event base
    • EventBase::getFeatures - Returns bitmask of features supported
    • EventBase::getMethod - Returns event method in use
    • EventBase::getTimeOfDayCached - Returns the current event base time
    • EventBase::gotExit - Checks if the event loop was told to exit
    • EventBase::gotStop - Checks if the event loop was told to exit
    • EventBase::loop - Dispatch pending events
    • EventBase::priorityInit - Sets number of priorities per event base
    • EventBase::reInit - Re-initialize event base(after a fork).
    • EventBase::stop - Tells event_base to stop dispatching events
    • EventBase::__construct - Constructs EventBase object
    • EventBuffer::add - Append data to the end of an event buffer
    • EventBuffer::addBuffer - Move all data from a buffer provided to the current instance of EventBuffer
    • EventBuffer::appendFrom - Moves the specified number of bytes from a source buffer to the end of the current buffer
    • EventBuffer::copyout - Copies out specified number of bytes from the front of the buffer
    • EventBuffer::drain - Removes specified number of bytes from the front of the buffer without copying it anywhere
    • EventBuffer::enableLocking - Beschreibung
    • EventBuffer::expand - Reserves space in buffer
    • EventBuffer::freeze - Prevent calls that modify an event buffer from succeeding
    • EventBuffer::lock - Acquires a lock on buffer
    • EventBuffer::prepend - Prepend data to the front of the buffer
    • EventBuffer::prependBuffer - Moves all data from source buffer to the front of current buffer
    • EventBuffer::pullup - Linearizes data within buffer and returns it's contents as a string
    • EventBuffer::read - Read data from an evbuffer and drain the bytes read
    • EventBuffer::readFrom - Read data from a file onto the end of the buffer
    • EventBuffer::readLine - Extracts a line from the front of the buffer
    • EventBuffer::search - Scans the buffer for an occurrence of a string
    • EventBuffer::searchEol - Scans the buffer for an occurrence of an end of line
    • EventBuffer::substr - Substracts a portion of the buffer data
    • EventBuffer::unfreeze - Re-enable calls that modify an event buffer
    • EventBuffer::unlock - Releases lock acquired by EventBuffer::lock
    • EventBuffer::write - Schreibt den Inhalt des Puffers in eine Datei oder ein Socket
    • EventBuffer::__construct - Constructs EventBuffer object
    • EventBufferEvent::close - Closes file descriptor associated with the current buffer event
    • EventBufferEvent::connect - Connect buffer event's file descriptor to given address or UNIX socket
    • EventBufferEvent::connectHost - Connects to a hostname with optionally asyncronous DNS resolving
    • EventBufferEvent::createPair - Creates two buffer events connected to each other
    • EventBufferEvent::disable - Disable events read, write, or both on a buffer event.
    • EventBufferEvent::enable - Enable events read, write, or both on a buffer event.
    • EventBufferEvent::free - Free a buffer event
    • EventBufferEvent::getDnsErrorString - Returns string describing the last failed DNS lookup attempt
    • EventBufferEvent::getEnabled - Returns bitmask of events currently enabled on the buffer event
    • EventBufferEvent::getInput - Returns underlying input buffer associated with current buffer event
    • EventBufferEvent::getOutput - Returns underlying output buffer associated with current buffer event
    • EventBufferEvent::read - Read buffer's data
    • EventBufferEvent::readBuffer - Drains the entire contents of the input buffer and places them into buf
    • EventBufferEvent::setCallbacks - Assigns read, write and event(status) callbacks
    • EventBufferEvent::setPriority - Assign a priority to a bufferevent
    • EventBufferEvent::setTimeouts - Set the read and write timeout for a buffer event
    • EventBufferEvent::setWatermark - Adjusts read and/or write watermarks
    • EventBufferEvent::sslError - Returns most recent OpenSSL error reported on the buffer event
    • EventBufferEvent::sslFilter - Create a new SSL buffer event to send its data over another buffer event
    • EventBufferEvent::sslGetCipherInfo - Returns a textual description of the cipher.
    • EventBufferEvent::sslGetCipherName - Returns the current cipher name of the SSL connection.
    • EventBufferEvent::sslGetCipherVersion - Returns version of cipher used by current SSL connection.
    • EventBufferEvent::sslGetProtocol - Returns the name of the protocol used for current SSL connection.
    • EventBufferEvent::sslRenegotiate - Tells a bufferevent to begin SSL renegotiation.
    • EventBufferEvent::sslSocket - Creates a new SSL buffer event to send its data over an SSL on a socket
    • EventBufferEvent::write - Fügt Daten zum Ausgabepuffer eines Pufferereignises hinzu
    • EventBufferEvent::writeBuffer - Adds contents of the entire buffer to a buffer event's output buffer
    • EventBufferEvent::__construct - Constructs EventBufferEvent object
    • EventConfig::avoidMethod - Tells libevent to avoid specific event method
    • EventConfig::requireFeatures - Enters a required event method feature that the application demands
    • EventConfig::setMaxDispatchInterval - Prevents priority inversion
    • EventConfig::__construct - Constructs EventConfig object
    • EventDnsBase::addNameserverIp - Adds a nameserver to the DNS base
    • EventDnsBase::addSearch - Adds a domain to the list of search domains
    • EventDnsBase::clearSearch - Removes all current search suffixes
    • EventDnsBase::countNameservers - Gets the number of configured nameservers
    • EventDnsBase::loadHosts - Loads a hosts file (in the same format as /etc/hosts) from hosts file
    • EventDnsBase::parseResolvConf - Scans the resolv.conf-formatted file
    • EventDnsBase::setOption - Set the value of a configuration option
    • EventDnsBase::setSearchNdots - Set the 'ndots' parameter for searches
    • EventDnsBase::__construct - Constructs EventDnsBase object
    • EventHttp::accept - Makes an HTTP server accept connections on the specified socket stream or resource
    • EventHttp::addServerAlias - Adds a server alias to the HTTP server object
    • EventHttp::bind - Binds an HTTP server on the specified address and port
    • EventHttp::removeServerAlias - Removes server alias
    • EventHttp::setAllowedMethods - Sets the what HTTP methods are supported in requests accepted by this server, and passed to user callbacks
    • EventHttp::setCallback - Sets a callback for specified URI
    • EventHttp::setDefaultCallback - Sets default callback to handle requests that are not caught by specific callbacks
    • EventHttp::setMaxBodySize - Sets maximum request body size
    • EventHttp::setMaxHeadersSize - Sets maximum HTTP header size
    • EventHttp::setTimeout - Sets the timeout for an HTTP request
    • EventHttp::__construct - Constructs EventHttp object(the HTTP server)
    • EventHttpConnection::getBase - Returns event base associated with the connection
    • EventHttpConnection::getPeer - Gets the remote address and port associated with the connection
    • EventHttpConnection::makeRequest - Makes an HTTP request over the specified connection
    • EventHttpConnection::setCloseCallback - Set callback for connection close
    • EventHttpConnection::setLocalAddress - Sets the IP address from which HTTP connections are made
    • EventHttpConnection::setLocalPort - Sets the local port from which connections are made
    • EventHttpConnection::setMaxBodySize - Sets maximum body size for the connection
    • EventHttpConnection::setMaxHeadersSize - Sets maximum header size
    • EventHttpConnection::setRetries - Sets the retry limit for the connection
    • EventHttpConnection::setTimeout - Sets the timeout for the connection
    • EventHttpConnection::__construct - Constructs EventHttpConnection object
    • EventHttpRequest::addHeader - Adds an HTTP header to the headers of the request
    • EventHttpRequest::cancel - Cancels a pending HTTP request
    • EventHttpRequest::clearHeaders - Removes all output headers from the header list of the request
    • EventHttpRequest::closeConnection - Closes associated HTTP connection
    • EventHttpRequest::findHeader - Finds the value belonging a header
    • EventHttpRequest::free - Frees the object and removes associated events
    • EventHttpRequest::getBufferEvent - Returns EventBufferEvent object
    • EventHttpRequest::getCommand - Returns the request command(method)
    • EventHttpRequest::getConnection - Returns EventHttpConnection object
    • EventHttpRequest::getHost - Returns the request host
    • EventHttpRequest::getInputBuffer - Returns the input buffer
    • EventHttpRequest::getInputHeaders - Returns associative array of the input headers
    • EventHttpRequest::getOutputBuffer - Returns the output buffer of the request
    • EventHttpRequest::getOutputHeaders - Returns associative array of the output headers
    • EventHttpRequest::getResponseCode - Returns the response code
    • EventHttpRequest::getUri - Returns the request URI
    • EventHttpRequest::removeHeader - Removes an HTTP header from the headers of the request
    • EventHttpRequest::sendError - Send an HTML error message to the client
    • EventHttpRequest::sendReply - Send an HTML reply to the client
    • EventHttpRequest::sendReplyChunk - Send another data chunk as part of an ongoing chunked reply
    • EventHttpRequest::sendReplyEnd - Complete a chunked reply, freeing the request as appropriate
    • EventHttpRequest::sendReplyStart - Initiate a chunked reply
    • EventHttpRequest::__construct - Constructs EventHttpRequest object
    • EventListener::disable - Disables an event connect listener object
    • EventListener::enable - Enables an event connect listener object
    • EventListener::getBase - Returns event base associated with the event listener
    • EventListener::getSocketName - Retreives the current address to which the listener's socket is bound.
    • EventListener::setCallback - The setCallback purpose
    • EventListener::setErrorCallback - Set event listener's error callback
    • EventListener::__construct - Creates new connection listener associated with an event base
    • EventSslContext::__construct - Constructs an OpenSSL context for use with Event classes
    • EventUtil::getLastSocketErrno - Returns the most recent socket error number
    • EventUtil::getLastSocketError - Returns the most recent socket error
    • EventUtil::getSocketFd - Returns numeric file descriptor of a socket, or stream
    • EventUtil::getSocketName - Retreives the current address to which the socket is bound.
    • EventUtil::setSocketOption - Sets socket options
    • EventUtil::sslRandPoll - Generates entropy by means of OpenSSL's RAND_poll()
    • EventUtil::__construct - The abstract constructor
    • event_base_free - Destroy event base
    • event_base_loop - Handle events
    • event_base_loopbreak - Abort event loop
    • event_base_loopexit - Exit loop after a time
    • event_base_new - Create and initialize new event base
    • event_base_priority_init - Set the number of event priority levels
    • event_base_reinit - Reinitialize the event base after a fork
    • event_base_set - Associate event base with an event
    • event_buffer_base_set - Associate buffered event with an event base
    • event_buffer_disable - Disable a buffered event
    • event_buffer_enable - Enable a buffered event
    • event_buffer_fd_set - Change a buffered event file descriptor
    • event_buffer_free - Destroy buffered event
    • event_buffer_new - Create new buffered event
    • event_buffer_priority_set - Assign a priority to a buffered event
    • event_buffer_read - Read data from a buffered event
    • event_buffer_set_callback - Set or reset callbacks for a buffered event
    • event_buffer_timeout_set - Set read and write timeouts for a buffered event
    • event_buffer_watermark_set - Set the watermarks for read and write events
    • event_buffer_write - Write data to a buffered event
    • event_new - Create new event
    • event_priority_set - Assign a priority to an event.
    • event_timer_add - Alias von event_add
    • event_timer_del - Alias von event_del
    • event_timer_new - Alias von event_new
    • event_timer_set - Prepare a timer event
    • EvFork::createStopped - Creates a stopped instance of EvFork watcher class
    • EvFork::__construct - Constructs the EvFork watcher object
    • EvIdle::createStopped - Creates instance of a stopped EvIdle watcher object
    • EvIdle::__construct - Constructs the EvIdle watcher object
    • EvIo::createStopped - Create stopped EvIo watcher object
    • EvIo::set - Configures the watcher
    • EvIo::__construct - Constructs EvIo watcher object
    • EvLoop::backend - Returns an integer describing the backend used by libev.
    • EvLoop::check - Creates EvCheck object associated with the current event loop instance
    • EvLoop::child - Creates EvChild object associated with the current event loop
    • EvLoop::defaultLoop - Returns or creates the default event loop.
    • EvLoop::embed - Creates an instance of EvEmbed watcher associated with the current EvLoop object.
    • EvLoop::fork - Creates EvFork watcher object associated with the current event loop instance
    • EvLoop::idle - Creates EvIdle watcher object associated with the current event loop instance
    • EvLoop::invokePending - Invoke all pending watchers while resetting their pending state
    • EvLoop::io - Create EvIo watcher object associated with the current event loop instance
    • EvLoop::loopFork - Must be called after a fork
    • EvLoop::now - Returns the current "event loop time"
    • EvLoop::nowUpdate - Establishes the current time by querying the kernel, updating the time returned by EvLoop::now in the progress.
    • EvLoop::periodic - Creates EvPeriodic watcher object associated with the current event loop instance
    • EvLoop::prepare - Creates EvPrepare watcher object associated with the current event loop instance
    • EvLoop::resume - Resume previously suspended default event loop
    • EvLoop::run - Begin checking for events and calling callbacks for the loop
    • EvLoop::signal - Creates EvSignal watcher object associated with the current event loop instance
    • EvLoop::stat - Creates EvStat watcher object associated with the current event loop instance
    • EvLoop::stop - Stops the event loop
    • EvLoop::suspend - Suspend the loop
    • EvLoop::timer - Creates EvTimer watcher object associated with the current event loop instance
    • EvLoop::verify - Performs internal consistency checks(for debugging)
    • EvLoop::__construct - Constructs the event loop object
    • EvPeriodic::again - Simply stops and restarts the periodic watcher again.
    • EvPeriodic::at - Returns the absolute time that this watcher is supposed to trigger next
    • EvPeriodic::createStopped - Create a stopped EvPeriodic watcher
    • EvPeriodic::set - Configures the watcher
    • EvPeriodic::__construct - Constructs EvPeriodic watcher object
    • EvPrepare::createStopped - Creates a stopped instance of EvPrepare watcher
    • EvPrepare::__construct - Constructs EvPrepare watcher object
    • EvSignal::createStopped - Create stopped EvSignal watcher object
    • EvSignal::set - Configures the watcher
    • EvSignal::__construct - Constructs EvPeriodic watcher object
    • EvStat::attr - Returns the values most recently detected by Ev
    • EvStat::createStopped - Create a stopped EvStat watcher object
    • EvStat::prev - Returns the previous set of values returned by EvStat::attr
    • EvStat::set - Configures the watcher
    • EvStat::stat - Initiates the stat call
    • EvStat::__construct - Constructs EvStat watcher object
    • EvTimer::again - Restarts the timer watcher
    • EvTimer::createStopped - Creates EvTimer stopped watcher object
    • EvTimer::set - Configures the watcher
    • EvTimer::__construct - Constructs an EvTimer watcher object
    • EvWatcher::clear - Clear watcher pending status
    • EvWatcher::feed - Feeds the given revents set into the event loop
    • EvWatcher::getLoop - Returns the loop responsible for the watcher
    • EvWatcher::invoke - Invokes the watcher callback with the given received events bit mask
    • EvWatcher::keepalive - Configures whether to keep the loop from returning
    • EvWatcher::setCallback - Sets new callback for the watcher
    • EvWatcher::start - Starts the watcher
    • EvWatcher::stop - Stops the watcher
    • EvWatcher::__construct - Abstract constructor of a watcher object
    • Examples with PDO_4D - Examples PDO_4D
    • Exception::getCode - Gibt die Fehlernummer der Exception zurück
    • Exception::getFile - Gibt den Namen der Datei zurück, in der die Exception aufgetreten ist
    • Exception::getLine - Gibt die Zeile zurück, in der die Exception auftrat
    • Exception::getMessage - Gibt die Exceptionbeschreibung zurück
    • Exception::getPrevious - Gibt die vorhergehende Exception zurück
    • Exception::getTrace - Gibt den Stacktrace zurück
    • Exception::getTraceAsString - Gibt den Stacktrace als String zurück
    • Exception::__clone - Klont die Exception
    • Exception::__construct - Erstellt die Exception
    • Exception::__toString - Stringrepräsentation der Exception
    • exec - Führt ein externes Programm aus
    • exif_imagetype - Ermittelt den Bildtyp
    • exif_read_data - Liest die EXIF-Header von JPEG oder TIFF aus
    • exif_tagname - Gibt den Header-Namen für einen Index zurück
    • exif_thumbnail - Aufruf des eingebetteten Miniaturbildes eines TIFF- oder JPEG-Bildes
    • exit - Gibt eine Meldung aus und beendet das aktuelle Skript
    • exp - Exponentialfunktion
    • expect:// - Process Interaction Streams
    • expect_expectl - Waits until the output from a process matches one of the patterns, a specified time period has passed, or an EOF is seen
    • expect_popen - Execute command via Bourne shell, and open the PTY stream to the process
    • explode - Teilt einen String anhand einer Zeichenkette
    • expm1 - Exponentialfunktion mit erhöhter Genauigkeit
    • extension_loaded - Prüft ob eine Extension geladen ist
    • extract - Importiert Variablen eines Arrays in die aktuelle Symboltabelle
    • ezmlm_hash - Berechnet den Hash-Wert, der von EZMLM benötigt wird
  • f
    • fam_cancel_monitor - Terminate monitoring
    • fam_close - Close FAM connection
    • fam_monitor_collection - Monitor a collection of files in a directory for changes
    • fam_monitor_directory - Monitor a directory for changes
    • fam_monitor_file - Monitor a regular file for changes
    • fam_next_event - Get next pending FAM event
    • fam_open - Open connection to FAM daemon
    • fam_pending - Check for pending FAM events
    • fam_resume_monitor - Resume suspended monitoring
    • fam_suspend_monitor - Temporarily suspend monitoring
    • FANNConnection::getFromNeuron - Returns the postions of starting neuron.
    • FANNConnection::getToNeuron - Returns the postions of terminating neuron
    • FANNConnection::getWeight - Returns the connection weight
    • FANNConnection::setWeight - Sets the connections weight
    • FANNConnection::__construct - The connection constructor
    • fann_cascadetrain_on_data - Trains on an entire dataset, for a period of time using the Cascade2 training algorithm
    • fann_cascadetrain_on_file - Trains on an entire dataset read from file, for a period of time using the Cascade2 training algorithm.
    • fann_clear_scaling_params - Clears scaling parameters
    • fann_copy - Creates a copy of a fann structure
    • fann_create_from_file - Constructs a backpropagation neural network from a configuration file
    • fann_create_shortcut - Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections
    • fann_create_shortcut_array - Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections
    • fann_create_sparse - Creates a standard backpropagation neural network, which is not fully connected
    • fann_create_sparse_array - Creates a standard backpropagation neural network, which is not fully connected using an array of layer sizes
    • fann_create_standard - Creates a standard fully connected backpropagation neural network
    • fann_create_standard_array - Creates a standard fully connected backpropagation neural network using an array of layer sizes
    • fann_create_train - Creates an empty training data struct
    • fann_create_train_from_callback - Creates the training data struct from a user supplied function
    • fann_descale_input - Scale data in input vector after get it from ann based on previously calculated parameters
    • fann_descale_output - Scale data in output vector after get it from ann based on previously calculated parameters
    • fann_descale_train - Descale input and output data based on previously calculated parameters
    • fann_destroy - Destroys the entire network and properly freeing all the associated memory
    • fann_destroy_train - Destructs the training data
    • fann_duplicate_train_data - Returns an exact copy of a fann train data
    • fann_get_activation_function - Returns the activation function
    • fann_get_activation_steepness - Returns the activation steepness for supplied neuron and layer number
    • fann_get_bias_array - Get the number of bias in each layer in the network
    • fann_get_bit_fail - The number of fail bits
    • fann_get_bit_fail_limit - Returns the bit fail limit used during training
    • fann_get_cascade_activation_functions - Returns the cascade activation functions
    • fann_get_cascade_activation_functions_count - Returns the number of cascade activation functions
    • fann_get_cascade_activation_steepnesses - Returns the cascade activation steepnesses
    • fann_get_cascade_activation_steepnesses_count - The number of activation steepnesses
    • fann_get_cascade_candidate_change_fraction - Returns the cascade candidate change fraction
    • fann_get_cascade_candidate_limit - Return the candidate limit
    • fann_get_cascade_candidate_stagnation_epochs - Returns the number of cascade candidate stagnation epochs
    • fann_get_cascade_max_cand_epochs - Returns the maximum candidate epochs
    • fann_get_cascade_max_out_epochs - Returns the maximum out epochs
    • fann_get_cascade_min_cand_epochs - Returns the minimum candidate epochs
    • fann_get_cascade_min_out_epochs - Returns the minimum out epochs
    • fann_get_cascade_num_candidates - Returns the number of candidates used during training
    • fann_get_cascade_num_candidate_groups - Returns the number of candidate groups
    • fann_get_cascade_output_change_fraction - Returns the cascade output change fraction
    • fann_get_cascade_output_stagnation_epochs - Returns the number of cascade output stagnation epochs
    • fann_get_cascade_weight_multiplier - Returns the weight multiplier
    • fann_get_connection_array - Get connections in the network
    • fann_get_connection_rate - Get the connection rate used when the network was created
    • fann_get_errno - Returns the last error number
    • fann_get_errstr - Returns the last errstr
    • fann_get_layer_array - Get the number of neurons in each layer in the network
    • fann_get_learning_momentum - Returns the learning momentum
    • fann_get_learning_rate - Returns the learning rate
    • fann_get_MSE - Reads the mean square error from the network
    • fann_get_network_type - Get the type of neural network it was created as
    • fann_get_num_input - Get the number of input neurons
    • fann_get_num_layers - Get the number of layers in the neural network
    • fann_get_num_output - Get the number of output neurons
    • fann_get_quickprop_decay - Returns the decay which is a factor that weights should decrease in each iteration during quickprop training
    • fann_get_quickprop_mu - Returns the mu factor
    • fann_get_rprop_decrease_factor - Returns the increase factor used during RPROP training
    • fann_get_rprop_delta_max - Returns the maximum step-size
    • fann_get_rprop_delta_min - Returns the minimum step-size
    • fann_get_rprop_delta_zero - Returns the initial step-size
    • fann_get_rprop_increase_factor - Returns the increase factor used during RPROP training
    • fann_get_sarprop_step_error_shift - Returns the sarprop step error shift
    • fann_get_sarprop_step_error_threshold_factor - Returns the sarprop step error threshold factor
    • fann_get_sarprop_temperature - Returns the sarprop temperature
    • fann_get_sarprop_weight_decay_shift - Returns the sarprop weight decay shift
    • fann_get_total_connections - Get the total number of connections in the entire network
    • fann_get_total_neurons - Get the total number of neurons in the entire network
    • fann_get_training_algorithm - Returns the training algorithm
    • fann_get_train_error_function - Returns the error function used during training
    • fann_get_train_stop_function - Returns the stop function used during training
    • fann_init_weights - Initialize the weights using Widrow + Nguyen’s algorithm
    • fann_length_train_data - Returns the number of training patterns in the train data
    • fann_merge_train_data - Merges the train data
    • fann_num_input_train_data - Returns the number of inputs in each of the training patterns in the train data
    • fann_num_output_train_data - Returns the number of outputs in each of the training patterns in the train data
    • fann_print_error - Prints the error string
    • fann_randomize_weights - Give each connection a random weight between min_weight and max_weight
    • fann_read_train_from_file - Reads a file that stores training data
    • fann_reset_errno - Resets the last error number
    • fann_reset_errstr - Resets the last error string
    • fann_reset_MSE - Resets the mean square error from the network
    • fann_run - Will run input through the neural network
    • fann_save - Saves the entire network to a configuration file
    • fann_save_train - Save the training structure to a file
    • fann_scale_input - Scale data in input vector before feed it to ann based on previously calculated parameters
    • fann_scale_input_train_data - Scales the inputs in the training data to the specified range
    • fann_scale_output - Scale data in output vector before feed it to ann based on previously calculated parameters
    • fann_scale_output_train_data - Scales the outputs in the training data to the specified range
    • fann_scale_train - Scale input and output data based on previously calculated parameters
    • fann_scale_train_data - Scales the inputs and outputs in the training data to the specified range
    • fann_set_activation_function - Sets the activation function for supplied neuron and layer
    • fann_set_activation_function_hidden - Sets the activation function for all of the hidden layers
    • fann_set_activation_function_layer - Sets the activation function for all the neurons in the supplied layer.
    • fann_set_activation_function_output - Sets the activation function for the output layer
    • fann_set_activation_steepness - Sets the activation steepness for supplied neuron and layer number
    • fann_set_activation_steepness_hidden - Sets the steepness of the activation steepness for all neurons in the all hidden layers
    • fann_set_activation_steepness_layer - Sets the activation steepness for all of the neurons in the supplied layer number
    • fann_set_activation_steepness_output - Sets the steepness of the activation steepness in the output layer
    • fann_set_bit_fail_limit - Set the bit fail limit used during training
    • fann_set_callback - Sets the callback function for use during training
    • fann_set_cascade_activation_functions - Sets the array of cascade candidate activation functions
    • fann_set_cascade_activation_steepnesses - Sets the array of cascade candidate activation steepnesses
    • fann_set_cascade_candidate_change_fraction - Sets the cascade candidate change fraction
    • fann_set_cascade_candidate_limit - Sets the candidate limit
    • fann_set_cascade_candidate_stagnation_epochs - Sets the number of cascade candidate stagnation epochs
    • fann_set_cascade_max_cand_epochs - Sets the max candidate epochs
    • fann_set_cascade_max_out_epochs - Sets the maximum out epochs
    • fann_set_cascade_min_cand_epochs - Sets the min candidate epochs
    • fann_set_cascade_min_out_epochs - Sets the minimum out epochs
    • fann_set_cascade_num_candidate_groups - Sets the number of candidate groups
    • fann_set_cascade_output_change_fraction - Sets the cascade output change fraction
    • fann_set_cascade_output_stagnation_epochs - Sets the number of cascade output stagnation epochs
    • fann_set_cascade_weight_multiplier - Sets the weight multiplier
    • fann_set_error_log - Sets where the errors are logged to
    • fann_set_input_scaling_params - Calculate input scaling parameters for future use based on training data
    • fann_set_learning_momentum - Sets the learning momentum
    • fann_set_learning_rate - Sets the learning rate
    • fann_set_output_scaling_params - Calculate output scaling parameters for future use based on training data
    • fann_set_quickprop_decay - Sets the quickprop decay factor
    • fann_set_quickprop_mu - Sets the quickprop mu factor
    • fann_set_rprop_decrease_factor - Sets the decrease factor used during RPROP training
    • fann_set_rprop_delta_max - Sets the maximum step-size
    • fann_set_rprop_delta_min - Sets the minimum step-size
    • fann_set_rprop_delta_zero - Sets the initial step-size
    • fann_set_rprop_increase_factor - Sets the increase factor used during RPROP training
    • fann_set_sarprop_step_error_shift - Sets the sarprop step error shift
    • fann_set_sarprop_step_error_threshold_factor - Sets the sarprop step error threshold factor
    • fann_set_sarprop_temperature - Sets the sarprop temperature
    • fann_set_sarprop_weight_decay_shift - Sets the sarprop weight decay shift
    • fann_set_scaling_params - Calculate input and output scaling parameters for future use based on training data
    • fann_set_training_algorithm - Sets the training algorithm
    • fann_set_train_error_function - Sets the error function used during training
    • fann_set_train_stop_function - Sets the stop function used during training
    • fann_set_weight - Set a connection in the network
    • fann_set_weight_array - Set connections in the network
    • fann_shuffle_train_data - Shuffles training data, randomizing the order
    • fann_subset_train_data - Returns an copy of a subset of the train data
    • fann_test - Test with a set of inputs, and a set of desired outputs
    • fann_test_data - Test a set of training data and calculates the MSE for the training data
    • fann_train - Train one iteration with a set of inputs, and a set of desired outputs
    • fann_train_epoch - Train one epoch with a set of training data
    • fann_train_on_data - Trains on an entire dataset for a period of time
    • fann_train_on_file - Trains on an entire dataset, which is read from file, for a period of time
    • fastcgi_finish_request - Flushes all response data to the client
    • fbsql_affected_rows - Ermittelt die Anzahl der von der vorherigen FrontBase-Operation betroffenen Datensätze
    • fbsql_autocommit - Aktiviert oder deaktiviert Autocommit
    • fbsql_blob_size - Get the size of a BLOB
    • fbsql_change_user - Wechselt den eingeloggten Benutzer der aktiven Verbindung
    • fbsql_clob_size - Get the size of a CLOB
    • fbsql_close - Beendet eine FrontBase-Verbindung
    • fbsql_commit - Wendet eine Transaktion auf die Datenbank an
    • fbsql_connect - Öffnet eine Verbindung zu einem FrontBase-Server
    • fbsql_create_blob - Create a BLOB
    • fbsql_create_clob - Create a CLOB
    • fbsql_create_db - Erstellt eine FrontBase-Datenbank
    • fbsql_database - Lesen oder Setzen des Datenbanknamens, der mit einer Verbindung verwendet wird
    • fbsql_database_password - Sets or retrieves the password for a FrontBase database
    • fbsql_data_seek - Bewegt den internen Ergebnis-Zeiger
    • fbsql_db_query - Absetzen einer Anfrage an die Datenbank
    • fbsql_db_status - Ermittelt den Status einer angegebenen Datenbank
    • fbsql_drop_db - Löschen (DROP) einer FrontBase-Datenbank
    • fbsql_errno - Liefert die numerische Fehlermeldung der der letzten Operation zurück
    • fbsql_error - Liefert den Fehlertext der zuvor ausgeführten Operation
    • fbsql_fetch_array - Fetch a result row as an associative array, a numeric array, or both
    • fbsql_fetch_assoc - Fetch a result row as an associative array
    • fbsql_fetch_field - Liefert ein Objekt mit Feldinformationen aus einem Abfrageergebnis
    • fbsql_fetch_lengths - Get the length of each output in a result
    • fbsql_fetch_object - Fetch a result row as an object
    • fbsql_fetch_row - Liefert einen Datensatz als numerisches Array
    • fbsql_field_flags - Get the flags associated with the specified field in a result
    • fbsql_field_len - Returns the length of the specified field
    • fbsql_field_name - Liefert den Namen des angegebenen Feldes im Ergebnis
    • fbsql_field_seek - Setzt den Ergebniszeiger auf den angegebenen Feldoffset
    • fbsql_field_table - Liefert den Namen der Tabelle, die das genannte Feld enthält
    • fbsql_field_type - Liefert den Typ des angegebenen Feldes in einem Ergebnis
    • fbsql_free_result - Gibt vom Ergebnis belegten Speicher wieder frei
    • fbsql_get_autostart_info - Beschreibung
    • fbsql_hostname - Ermittelt oder setzt den mit einer Verbindung verwendeten Hostnamen
    • fbsql_insert_id - Get the id generated from the previous INSERT operation
    • fbsql_list_dbs - List databases available on a FrontBase server
    • fbsql_list_fields - List FrontBase result fields
    • fbsql_list_tables - List tables in a FrontBase database
    • fbsql_next_result - Setzt den internen Ergebniskennungszeiger auf das nächste Ergebnis
    • fbsql_num_fields - Ermittelt Anzahl der Felder im Ergebnis
    • fbsql_num_rows - Liefert die Anzahl der Datensätze in einem Ergebnis
    • fbsql_password - Liest oder setzt das Bentuzerpasswort für eine Verbindung
    • fbsql_pconnect - Öffnet eine persistente Verbindung zu einem FrontBase-Server
    • fbsql_query - Sendet eine FrontBase-Abfrage
    • fbsql_read_blob - Read a BLOB from the database
    • fbsql_read_clob - Read a CLOB from the database
    • fbsql_result - Liefert Ergebnisdaten
    • fbsql_rollback - Rollback a transaction to the database
    • fbsql_rows_fetched - Get the number of rows affected by the last statement
    • fbsql_select_db - Wählt eine FrontBase-Datenbank aus
    • fbsql_set_characterset - Change input/output character set
    • fbsql_set_lob_mode - Setzt den LOB-Lese-Modus für ein FrontBase-Ergebnis
    • fbsql_set_password - Change the password for a given user
    • fbsql_set_transaction - Set the transaction locking and isolation
    • fbsql_start_db - Startet eine Datenbank auf einem lokalen oder entfernten Server
    • fbsql_stop_db - Stoppt eine Datenbank auf einem lokalen oder entferneten Server
    • fbsql_tablename - Alias von fbsql_table_name
    • fbsql_username - Liest oder setzt den Benutzernamen für die Verbindung
    • fbsql_warnings - Aktivieren oder Deaktivieren von FrontBase-Warnungen
    • fclose - Schließt einen offenen Dateizeiger
    • fdf_add_doc_javascript - Fügt JavaScript Code in ein FDF Dokument ein.
    • fdf_add_template - Fügt dem FDF Dokument ein Template hinzu
    • fdf_close - Schließt ein FDF Dokument
    • fdf_create - Erzeugt ein neues FDF Dokument
    • fdf_enum_values - Ruft für jeden Dokumentwert eine benutzerdefinierte Funktion auf
    • fdf_errno - Gibt den Fehlercode der letzten FDF Operation zurück
    • fdf_error - Gibt die Beschrebung eines Fehlercodes zurück
    • fdf_get_ap - Get the appearance of a field
    • fdf_get_attachment - Extracts uploaded file embedded in the FDF
    • fdf_get_encoding - Liefert den Wert des /Encoding Schlüssels
    • fdf_get_file - Gibt den Wert des /F Schlüssels zurück
    • fdf_get_flags - Ermittelt die Flags eines Feldes
    • fdf_get_opt - Liefert einen Wert aus dem Optionsarray eines Feldes
    • fdf_get_status - Gibt den Wert des /STATUS Schlüssels zurück
    • fdf_get_value - Gibt den Wert eines Feldes zurück
    • fdf_get_version - Liefert die Versionsnummer einer FDF Datei oder des APIs
    • fdf_header - Setzt FDF-spezifische Header
    • fdf_next_field_name - Gibt den Namen des nächsten Feldes zurück
    • fdf_open - Öffnet ein FDF Dokument
    • fdf_open_string - Read a FDF document from a string
    • fdf_remove_item - Sets target frame for form
    • fdf_save - Speichern eines FDF Dokuments
    • fdf_save_string - Returns the FDF document as a string
    • fdf_set_ap - Legt das Aussehen eines Feldes fest
    • fdf_set_encoding - Legt die FDF Zeichenkodierung fest
    • fdf_set_file - Definiert ein PDF-Dokument, das FDF-Daten anzeigen soll
    • fdf_set_flags - Setzt Flags eines Feldes
    • fdf_set_javascript_action - Weist einem Feld eine JavaScript Aktion zu
    • fdf_set_on_import_javascript - Adds javascript code to be executed when Acrobat opens the FDF
    • fdf_set_opt - Legt eine Option eines Feldes fest
    • fdf_set_status - Setzt den Wert des /STATUS Schlüssels
    • fdf_set_submit_form_action - Setzt eine Submit-Form-Aktion für ein Feld
    • fdf_set_target_frame - Set target frame for form display
    • fdf_set_value - Legt den Wert eines Feldes fest
    • fdf_set_version - Sets version number for a FDF file
    • feof - Prüft, ob ein Dateizeiger am Ende der Datei steht
    • fflush - Schreibt den Ausgabepuffer in eine Datei
    • fgetc - Liest das Zeichen, auf welches der Dateizeiger zeigt
    • fgetcsv - Liest eine Zeile von der Position des Dateizeigers und prüft diese auf Komma-Separierte-Werte (CSV)
    • fgets - Liest eine Zeile von der Position des Dateizeigers
    • fgetss - Liest eine Zeile von der Position des Dateizeigers und entfernt HTML Tags.
    • file - Liest eine komplette Datei in ein Array
    • file:// - Accessing local filesystem
    • fileatime - Liefert Datum und Uhrzeit des letzten Zugriffs auf eine Datei
    • filectime - Liefert Datum und Uhrzeit der letzten Änderung des Datei Inode
    • filegroup - Liefert die Gruppenzugehörigkeit einer Datei
    • fileinode - Liefert die Inode-Nummer einer Datei
    • filemtime - Liefert Datum und Uhrzeit der letzten Dateiänderung
    • fileowner - Liefert den Dateieigentümer
    • fileperms - Liefert die Zugriffsrechte einer Datei
    • filepro - Liest und überprüft die Map-Datei
    • filepro_fieldcount - Bestimmt, wieviele Felder in einer filePro-Datenbank vorhanden sind
    • filepro_fieldname - Ermittelt den Namen eines Feldes
    • filepro_fieldtype - Ermittelt den Typ eines Feldes
    • filepro_fieldwidth - Ermittelt die Länge eines Feldes
    • filepro_retrieve - Holt Daten aus einer filePro-Datenbank
    • filepro_rowcount - bestimmt, wieviele Zeilen eine filePro-Datenbank enthält
    • filesize - Liefert die Größe einer Datei
    • FilesystemIterator::current - The current file
    • FilesystemIterator::getFlags - Get the handling flags
    • FilesystemIterator::key - Retrieve the key for the current file
    • FilesystemIterator::next - Move to the next file
    • FilesystemIterator::rewind - Rewinds back to the beginning
    • FilesystemIterator::setFlags - Sets handling flags
    • FilesystemIterator::__construct - Constructs a new filesystem iterator
    • filetype - Liefert den Typ einer Datei
    • file_exists - Prüft, ob eine Datei oder ein Verzeichnis existiert
    • file_get_contents - Liest die gesamte Datei in einen String
    • file_put_contents - Schreibt einen String in eine Datei
    • FilterIterator::accept - Check whether the current element of the iterator is acceptable
    • FilterIterator::current - Get the current element value
    • FilterIterator::getInnerIterator - Get the inner iterator
    • FilterIterator::key - Get the current key
    • FilterIterator::next - Move the iterator forward
    • FilterIterator::rewind - Rewind the iterator
    • FilterIterator::valid - Check whether the current element is valid
    • FilterIterator::__construct - Construct a filterIterator
    • filter_has_var - Prüft, ob eine Variable des angegebenen Typs existiert
    • filter_id - Liefert die Filter-ID zu einem Filternamen
    • filter_input - Nimmt eine Variable von Außen entgegen und filtert sie optional
    • filter_input_array - Nimmt mehrere Variablen von Außen entgegen und filtert sie optional
    • filter_list - Liefert eine Liste aller unterstützten Filter
    • filter_var - Filtern einer Variablen mit einem angegebenen Filter
    • filter_var_array - Nimmt mehrere Variablen entgegen und filtert sie optional
    • finfo::buffer - Alias von finfo_buffer()
    • finfo::file - Alias von finfo_file()
    • finfo::set_flags - Alias von finfo_set_flags()
    • finfo::__construct - Alias von finfo_open
    • finfo_close - Schließt eine fileinfo Ressource
    • finfo_open - Erstellt eine neue fileinfo Ressource
    • floatval - Konvertiert einen Wert nach float
    • flock - Portables Datei-Sperr-Verfahren (advisory locking)
    • floor - Abrunden
    • flush - Leert (sendet) den Ausgabepuffer
    • fmod - Rest einer Fließkommadivision
    • fnmatch - Match filename against a pattern
    • fopen - Öffnet eine Datei oder URL
    • forward_static_call - Call a static method
    • forward_static_call_array - Call a static method and pass the arguments as array
    • fpassthru - Gibt alle verbleibenden Daten eines Dateizeigers direkt aus.
    • fprintf - Schreibt einen formatierten String in einen Stream
    • fputcsv - Format line as CSV and write to file pointer
    • fputs - Alias von fwrite
    • fread - Liest Binärdaten aus einer Datei
    • frenchtojd - Konvertiert ein Datum des Französischen Revolutionskalenders zu einer julianischen Tageszahl
    • fribidi_log2vis - Einen logischen String in einen visuellen konvertieren
    • fscanf - Interpretiert den Input einer Datei entsprechend einem angegebenen Format
    • fseek - Positioniert den Dateizeiger
    • fsockopen - Stellt eine Internet- oder Unix-Domain-Socket-Verbindung her
    • fstat - Sammelt Informationen über eine Datei mittels eines offenen Dateizeigers
    • ftell - Ermittelt die aktuelle Position des Dateizeigers
    • ftok - Erzeugt aus einem Dateipfad und einem Projektbezeichner einen System V IPC Schlüssel
    • FTP-Kontextoptionen - Liste der FTP-Kontextoptionen
    • ftp:// - Accessing FTP(s) URLs
    • ftp_alloc - Reserviert Platz für eine hochzuladende Datei
    • ftp_cdup - Wechselt in das darüberliegende Verzeichnis
    • ftp_chdir - Verzeichnis-Wechsel auf einem FTP-Server
    • ftp_chmod - Ändert die Zugriffsrechte einer Datei über FTP
    • ftp_close - Schließt eine FTP-Verbindung
    • ftp_connect - Stellt eine FTP-Verbindung her
    • ftp_delete - Löscht eine Datei auf dem FTP-Server
    • ftp_exec - Fordert die Ausführung eines Programmes auf dem FTP-Server an
    • ftp_fget - Lädt eine Datei vom FTP-Server und speichert sie in eine geöffnete Datei
    • ftp_fput - Überträgt eine geöffnete Datei auf einen FTP-Server
    • ftp_get - Lädt eine Datei von einem FTP-Server herunter
    • ftp_get_option - Ruft diverse Laufzeitoptionen des angegebenen FTP-Streams ab
    • ftp_login - Anmelden einer FTP-Verbindung (Login)
    • ftp_mdtm - Gibt den Zeitpunkt der letzten Änderung der angegebenen Datei zurück
    • ftp_mkdir - Erzeugt ein Verzeichnis
    • ftp_nb_continue - Nimmt die Übertragung einer Datei wieder auf (nicht-blockierend)
    • ftp_nb_fget - Lädt eine Datei vom FTP-Server und schreibt sie in eine lokale Datei (nicht-blockierend)
    • ftp_nb_fput - Speichert eine geöffnete Datei auf den FTP-Server (nicht blockierend)
    • ftp_nb_get - Überträgt eine Datei von dem FTP-Server und speichert sie lokal (nicht blockierend)
    • ftp_nb_put - Speichert eine Datei auf dem FTP-Server (nicht-blockierend)
    • ftp_nlist - Gibt eine Liste der im angegebenen Verzeichnis enthaltenen Dateien zurück
    • ftp_pasv - Schaltet den passiven Modus ein oder aus
    • ftp_put - Lädt eine Datei auf einen FTP-Server
    • ftp_pwd - Gibt den aktuellen Verzeichnisnamen zurück
    • ftp_quit - Alias von ftp_close
    • ftp_raw - Sendet ein beliebiges Kommando an den FTP-Server
    • ftp_rawlist - Gibt eine detaillierte Liste der Dateien in einem angegebenen Verzeichnis zurück
    • ftp_rename - Benennt eine Datei auf dem FTP-Server um
    • ftp_rmdir - Löscht ein Verzeichnis
    • ftp_set_option - Setzt diverse FTP-Laufzeitoptionen
    • ftp_site - Sendet ein SITE-Kommando zum Server
    • ftp_size - Gibt die Größe der angegebenen Datei zurück
    • ftp_ssl_connect - Öffnet eine sichere SSL-FTP-Verbindung
    • ftp_systype - Gibt den Systemtyp des entfernten FTP-Servers zurück
    • ftruncate - Kürzt eine Datei auf die angegebene Länge
    • function_exists - Falls die angegebene Funktion definiert ist, wird TRUE zurück gegeben
    • func_get_arg - Liefert ein bestimmtes Funktionsargument
    • func_get_args - Liefert Funktionsargumente als Array
    • func_num_args - Liefert die Anzahl der an eine Funktion übergebenen Argumente
    • fwrite - Binär-sicheres Dateischreiben
  • g
    • gc_collect_cycles - Forces collection of any existing garbage cycles
    • gc_disable - Deactivates the circular reference collector
    • gc_enable - Activates the circular reference collector
    • gc_enabled - Returns status of the circular reference collector
    • gc_mem_caches - Reclaims memory used by the Zend Engine memory manager
    • gd_info - Ruft Informationen über die aktuell verwendete GD-Bibliothek ab
    • GearmanClient::addOptions - Add client options
    • GearmanClient::addServer - Add a job server to the client
    • GearmanClient::addServers - Add a list of job servers to the client
    • GearmanClient::addTask - Add a task to be run in parallel
    • GearmanClient::addTaskBackground - Add a background task to be run in parallel
    • GearmanClient::addTaskHigh - Add a high priority task to run in parallel
    • GearmanClient::addTaskHighBackground - Add a high priority background task to be run in parallel
    • GearmanClient::addTaskLow - Add a low priority task to run in parallel
    • GearmanClient::addTaskLowBackground - Add a low priority background task to be run in parallel
    • GearmanClient::addTaskStatus - Add a task to get status
    • GearmanClient::clearCallbacks - Clear all task callback functions
    • GearmanClient::clone - Create a copy of a GearmanClient object
    • GearmanClient::context - Get the application context
    • GearmanClient::data - Get the application data (deprecated)
    • GearmanClient::do - Run a single task and return a result [deprecated]
    • GearmanClient::doBackground - Run a task in the background
    • GearmanClient::doHigh - Run a single high priority task
    • GearmanClient::doHighBackground - Run a high priority task in the background
    • GearmanClient::doJobHandle - Get the job handle for the running task
    • GearmanClient::doLow - Run a single low priority task
    • GearmanClient::doLowBackground - Run a low priority task in the background
    • GearmanClient::doNormal - Run a single task and return a result
    • GearmanClient::doStatus - Get the status for the running task
    • GearmanClient::echo - Send data to all job servers to see if they echo it back [deprecated]
    • GearmanClient::error - Returns an error string for the last error encountered.
    • GearmanClient::getErrno - Get an errno value
    • GearmanClient::jobStatus - Get the status of a background job
    • GearmanClient::ping - Send data to all job servers to see if they echo it back
    • GearmanClient::removeOptions - Remove client options
    • GearmanClient::returnCode - Get the last Gearman return code
    • GearmanClient::runTasks - Run a list of tasks in parallel
    • GearmanClient::setClientCallback - Callback function when there is a data packet for a task (deprecated)
    • GearmanClient::setCompleteCallback - Set a function to be called on task completion
    • GearmanClient::setContext - Set application context
    • GearmanClient::setCreatedCallback - Set a callback for when a task is queued
    • GearmanClient::setData - Set application data (deprecated)
    • GearmanClient::setDataCallback - Callback function when there is a data packet for a task
    • GearmanClient::setExceptionCallback - Set a callback for worker exceptions
    • GearmanClient::setFailCallback - Set callback for job failure
    • GearmanClient::setOptions - Set client options
    • GearmanClient::setStatusCallback - Set a callback for collecting task status
    • GearmanClient::setTimeout - Set socket I/O activity timeout
    • GearmanClient::setWarningCallback - Set a callback for worker warnings
    • GearmanClient::setWorkloadCallback - Set a callback for accepting incremental data updates
    • GearmanClient::timeout - Get current socket I/O activity timeout value
    • GearmanClient::__construct - Create a GearmanClient instance
    • GearmanJob::complete - Send the result and complete status (deprecated)
    • GearmanJob::data - Send data for a running job (deprecated)
    • GearmanJob::exception - Send exception for running job (deprecated)
    • GearmanJob::fail - Send fail status (deprecated)
    • GearmanJob::functionName - Get function name
    • GearmanJob::handle - Get the job handle
    • GearmanJob::returnCode - Get last return code
    • GearmanJob::sendComplete - Send the result and complete status
    • GearmanJob::sendData - Send data for a running job
    • GearmanJob::sendException - Send exception for running job (exception)
    • GearmanJob::sendFail - Send fail status
    • GearmanJob::sendStatus - Send status
    • GearmanJob::sendWarning - Send a warning
    • GearmanJob::setReturn - Set a return value
    • GearmanJob::status - Send status (deprecated)
    • GearmanJob::unique - Get the unique identifier
    • GearmanJob::warning - Send a warning (deprecated)
    • GearmanJob::workload - Get workload
    • GearmanJob::workloadSize - Get size of work load
    • GearmanJob::__construct - Create a GearmanJob instance
    • GearmanTask::create - Create a task (deprecated)
    • GearmanTask::data - Get data returned for a task
    • GearmanTask::dataSize - Get the size of returned data
    • GearmanTask::function - Get associated function name (deprecated)
    • GearmanTask::functionName - Get associated function name
    • GearmanTask::isKnown - Determine if task is known
    • GearmanTask::isRunning - Test whether the task is currently running
    • GearmanTask::jobHandle - Get the job handle
    • GearmanTask::recvData - Read work or result data into a buffer for a task
    • GearmanTask::returnCode - Get the last return code
    • GearmanTask::sendData - Send data for a task (deprecated)
    • GearmanTask::sendWorkload - Send data for a task
    • GearmanTask::taskDenominator - Get completion percentage denominator
    • GearmanTask::taskNumerator - Get completion percentage numerator
    • GearmanTask::unique - Get the unique identifier for a task
    • GearmanTask::uuid - Get the unique identifier for a task (deprecated)
    • GearmanTask::__construct - Create a GearmanTask instance
    • GearmanWorker::addFunction - Register and add callback function
    • GearmanWorker::addOptions - Add worker options
    • GearmanWorker::addServer - Add a job server
    • GearmanWorker::addServers - Add job servers
    • GearmanWorker::clone - Create a copy of the worker
    • GearmanWorker::echo - Test job server response
    • GearmanWorker::error - Get the last error encountered
    • GearmanWorker::getErrno - Get errno
    • GearmanWorker::options - Get worker options
    • GearmanWorker::register - Register a function with the job server
    • GearmanWorker::removeOptions - Remove worker options
    • GearmanWorker::returnCode - Get last Gearman return code
    • GearmanWorker::setId - Give the worker an identifier so it can be tracked when asking gearmand for the list of available workers.
    • GearmanWorker::setOptions - Set worker options
    • GearmanWorker::setTimeout - Set socket I/O activity timeout
    • GearmanWorker::timeout - Get socket I/O activity timeout
    • GearmanWorker::unregister - Unregister a function name with the job servers
    • GearmanWorker::unregisterAll - Unregister all function names with the job servers
    • GearmanWorker::wait - Wait for activity from one of the job servers
    • GearmanWorker::work - Wait for and perform jobs
    • GearmanWorker::__construct - Create a GearmanWorker instance
    • Gender\Gender::connect - Connect to an external name dictionary.
    • Gender\Gender::country - Get textual country representation
    • Gender\Gender::get - Get gender of a name.
    • Gender\Gender::isNick - Check if the name0 is an alias of the name1.
    • Gender\Gender::similarNames - Get similar names.
    • Gender\Gender::__construct - Construct the Gender object.
    • Generator::current - Get the yielded value
    • Generator::getReturn - Get the return value of a generator
    • Generator::key - Get the yielded key
    • Generator::next - Resume execution of the generator
    • Generator::rewind - Rewind the iterator
    • Generator::send - Send a value to the generator
    • Generator::throw - Throw an exception into the generator
    • Generator::valid - Check if the iterator has been closed
    • Generator::__wakeup - Serialize callback
    • geoip_asnum_by_name - Get the Autonomous System Numbers (ASN)
    • geoip_continent_code_by_name - Get the two letter continent code
    • geoip_country_code3_by_name - Get the three letter country code
    • geoip_country_code_by_name - Get the two letter country code
    • geoip_country_name_by_name - Get the full country name
    • geoip_database_info - Get GeoIP Database information
    • geoip_db_avail - Determine if GeoIP Database is available
    • geoip_db_filename - Returns the filename of the corresponding GeoIP Database
    • geoip_db_get_all_info - Returns detailed information about all GeoIP database types
    • geoip_domain_by_name - Get the second level domain name
    • geoip_id_by_name - Get the Internet connection type
    • geoip_isp_by_name - Get the Internet Service Provider (ISP) name
    • geoip_netspeedcell_by_name - Get the Internet connection speed
    • geoip_org_by_name - Get the organization name
    • geoip_record_by_name - Returns the detailed City information found in the GeoIP Database
    • geoip_region_by_name - Get the country code and region
    • geoip_region_name_by_code - Returns the region name for some country and region code combo
    • geoip_setup_custom_directory - Set a custom directory for the GeoIP database.
    • geoip_time_zone_by_country_and_region - Returns the time zone for some country and region code combo
    • getallheaders - Liefert alle HTTP-Request-Header
    • getcwd - Ermittelt das aktuelle Arbeitsverzeichnis
    • getdate - Gibt Datums- und Zeitinformationen zurück
    • getenv - Liefert den Wert einer Umgebungsvariable
    • gethostbyaddr - Ermittelt den zur angegebenen IP-Adresse passenden Internet-Hostnamen
    • gethostbyname - Ermittelt die zum angegebenen Internet-Hostnamen passende IPv4-Adresse
    • gethostbynamel - Ermittelt eine Liste von IPv4-Adressen passend zum angegebenen Internet-Hostnamen
    • gethostname - Gets the host name
    • getimagesize - Ermittelt die Größe einer Grafik
    • getimagesizefromstring - Ermittelt die Größe einer Grafik von einem String
    • getlastmod - Uhrzeit der letzten Änderung eines Scripts
    • getmxrr - Ermittelt die zu einem Internet-Hostnamen passenden MX-Records
    • getmygid - Get PHP script owner's GID
    • getmyinode - Ermittelt den Inode eines Skripts
    • getmypid - Prozess-Id eines Scripts
    • getmyuid - Zeigt die User-ID des Besitzers eines PHP-Scripts
    • getopt - Gets options from the command line argument list
    • getprotobyname - Ermittelt die Protokollnummer anhand des Protokollnamens
    • getprotobynumber - Ermittelt den Protokollnamen anhand der Protokollnummer
    • getrandmax - Liefert die maximale Zufallszahl
    • getrusage - Zeigt den aktuellen Ressourcenverbrauch an
    • getservbyname - Ermittelt die Portnummer passend zu einem Internet-Dienst und Protokoll
    • getservbyport - Ermittelt einen Internet-Dienst passend zu einem Port und Protokoll
    • gettext - Sucht einen Text in der aktuellen Domain
    • gettimeofday - Ermittelt die aktuelle Zeit
    • gettype - Liefert den Datentyp einer Variablen
    • get_browser - Ermittelt die Fähigkeiten des Browsers eines Benutzers
    • get_called_class - the "Late Static Binding" class name
    • get_cfg_var - Ermittelt den Wert einer Konfigurationsoption
    • get_class - Ermittelt den Klassennamen eines Objekts
    • get_class_methods - Ermittelt die Namen der definierten Methoden einer Klasse
    • get_class_vars - Liefert die Vorgabeeigenschaften einer Klasse
    • get_current_user - Liefert den Benutzernamen des Besitzers des aktuellen PHP-Skripts
    • get_declared_classes - Ermittelt die Namen der definierten Klassen
    • get_declared_interfaces - Gibt ein Array mit allen definierten Interfaces zurück
    • get_declared_traits - Returns an array of all declared traits
    • get_defined_constants - Returns an associative array with the names of all the constants and their values
    • get_defined_functions - Liefert ein Array aller definierten Funktionen
    • get_defined_vars - Gibt ein Array aller definierten Variablen zurück
    • get_extension_funcs - Liefert die Namen der Funktionen einer Extension
    • get_headers - Ruft alle Header ab, die der Server als Antwort auf einen HTTP-Request versendet
    • get_html_translation_table - Gibt die Umwandlungs-Tabelle zurück, die von htmlspecialchars und htmlentities verwendet wird
    • get_included_files - Liefert ein Array mit den Namen der includierten Dateien
    • get_include_path - Gets the current include_path configuration option
    • get_loaded_extensions - Liefert ein Array mit den Namen aller einkompilierten und geladenen Extensions
    • get_magic_quotes_gpc - Zeigt die aktuelle Konfiguration von magic quotes gpc
    • get_magic_quotes_runtime - Zeigt die aktuelle Konfiguration von magic_quotes_runtime
    • get_meta_tags - Liest alle content-Attribute der Meta-Tags einer Datei aus und gibt ein Array zurück
    • get_object_vars - Liefert die öffentlichen Elemente eines Objekts
    • get_parent_class - Gibt den Namen der Elternklasse eines Objektes zurück
    • get_required_files - Alias von get_included_files
    • get_resources - Returns active resources
    • get_resource_type - Liefert den Typ einer Resource
    • glob - Findet Dateinamen, die mit einem Muster übereinstimmen
    • glob:// - Find pathnames matching pattern
    • GlobIterator::count - Get the number of directories and files
    • GlobIterator::__construct - Construct a directory using glob
    • Gmagick::addimage - Adds new image to Gmagick object image list
    • Gmagick::addnoiseimage - Adds random noise to the image
    • Gmagick::annotateimage - Annotates an image with text
    • Gmagick::blurimage - Adds blur filter to image
    • Gmagick::borderimage - Surrounds the image with a border
    • Gmagick::charcoalimage - Simulates a charcoal drawing
    • Gmagick::chopimage - Removes a region of an image and trims
    • Gmagick::clear - Clears all resources associated to Gmagick object
    • Gmagick::commentimage - Adds a comment to your image
    • Gmagick::compositeimage - Composite one image onto another
    • Gmagick::cropimage - Extracts a region of the image
    • Gmagick::cropthumbnailimage - Creates a crop thumbnail
    • Gmagick::current - The current purpose
    • Gmagick::cyclecolormapimage - Displaces an image's colormap
    • Gmagick::deconstructimages - Returns certain pixel differences between images
    • Gmagick::despeckleimage - The despeckleimage purpose
    • Gmagick::destroy - The destroy purpose
    • Gmagick::drawimage - Renders the GmagickDraw object on the current image
    • Gmagick::edgeimage - Enhance edges within the image
    • Gmagick::embossimage - Returns a grayscale image with a three-dimensional effect
    • Gmagick::enhanceimage - Improves the quality of a noisy image
    • Gmagick::equalizeimage - Equalizes the image histogram
    • Gmagick::flipimage - Creates a vertical mirror image
    • Gmagick::flopimage - The flopimage purpose
    • Gmagick::frameimage - Adds a simulated three-dimensional border
    • Gmagick::gammaimage - Gamma-corrects an image
    • Gmagick::getcopyright - Returns the GraphicsMagick API copyright as a string
    • Gmagick::getfilename - The filename associated with an image sequence
    • Gmagick::getimagebackgroundcolor - Returns the image background color
    • Gmagick::getimageblueprimary - Returns the chromaticy blue primary point
    • Gmagick::getimagebordercolor - Returns the image border color
    • Gmagick::getimagechanneldepth - Gets the depth for a particular image channel
    • Gmagick::getimagecolors - Returns the color of the specified colormap index
    • Gmagick::getimagecolorspace - Gets the image colorspace
    • Gmagick::getimagecompose - Returns the composite operator associated with the image
    • Gmagick::getimagedelay - Gets the image delay
    • Gmagick::getimagedepth - Gets the depth of the image
    • Gmagick::getimagedispose - Gets the image disposal method
    • Gmagick::getimageextrema - Gets the extrema for the image
    • Gmagick::getimagefilename - Returns the filename of a particular image in a sequence
    • Gmagick::getimageformat - Returns the format of a particular image in a sequence
    • Gmagick::getimagegamma - Gets the image gamma
    • Gmagick::getimagegreenprimary - Returns the chromaticy green primary point
    • Gmagick::getimageheight - Returns the image height
    • Gmagick::getimagehistogram - Gets the image histogram
    • Gmagick::getimageindex - Gets the index of the current active image
    • Gmagick::getimageinterlacescheme - Gets the image interlace scheme
    • Gmagick::getimageiterations - Gets the image iterations
    • Gmagick::getimagematte - Check if the image has a matte channel
    • Gmagick::getimagemattecolor - Returns the image matte color
    • Gmagick::getimageprofile - Returns the named image profile.
    • Gmagick::getimageredprimary - Returns the chromaticity red primary point
    • Gmagick::getimagerenderingintent - Gets the image rendering intent
    • Gmagick::getimageresolution - Gets the image X and Y resolution
    • Gmagick::getimagescene - Gets the image scene
    • Gmagick::getimagesignature - Generates an SHA-256 message digest
    • Gmagick::getimagetype - Gets the potential image type.
    • Gmagick::getimageunits - Gets the image units of resolution
    • Gmagick::getimagewhitepoint - Returns the chromaticity white point
    • Gmagick::getimagewidth - Returns the width of the image
    • Gmagick::getpackagename - Returns the GraphicsMagick package name.
    • Gmagick::getquantumdepth - Returns the Gmagick quantum depth as a string.
    • Gmagick::getreleasedate - Returns the GraphicsMagick release date as a string.
    • Gmagick::getsamplingfactors - Gets the horizontal and vertical sampling factor.
    • Gmagick::getsize - Returns the size associated with the Gmagick object
    • Gmagick::getversion - Returns the GraphicsMagick API version
    • Gmagick::hasnextimage - Checks if the object has more images
    • Gmagick::haspreviousimage - Checks if the object has a previous image
    • Gmagick::implodeimage - Creates a new image as a copy
    • Gmagick::labelimage - Adds a label to an image.
    • Gmagick::levelimage - Adjusts the levels of an image
    • Gmagick::magnifyimage - Scales an image proportionally 2x
    • Gmagick::mapimage - Replaces the colors of an image with the closest color from a reference image.
    • Gmagick::medianfilterimage - Applies a digital filter
    • Gmagick::minifyimage - Scales an image proportionally to half its size
    • Gmagick::modulateimage - Control the brightness, saturation, and hue
    • Gmagick::motionblurimage - Simulates motion blur
    • Gmagick::newimage - Creates a new image
    • Gmagick::nextimage - Moves to the next image
    • Gmagick::normalizeimage - Enhances the contrast of a color image
    • Gmagick::oilpaintimage - Simulates an oil painting
    • Gmagick::previousimage - Move to the previous image in the object
    • Gmagick::profileimage - Adds or removes a profile from an image
    • Gmagick::quantizeimage - Analyzes the colors within a reference image
    • Gmagick::quantizeimages - The quantizeimages purpose
    • Gmagick::queryfontmetrics - Returns an array representing the font metrics
    • Gmagick::queryfonts - Returns the configured fonts
    • Gmagick::queryformats - Returns formats supported by Gmagick.
    • Gmagick::radialblurimage - Radial blurs an image
    • Gmagick::raiseimage - Creates a simulated 3d button-like effect
    • Gmagick::read - Reads image from filename
    • Gmagick::readimage - Reads image from filename
    • Gmagick::readimageblob - Reads image from a binary string
    • Gmagick::readimagefile - The readimagefile purpose
    • Gmagick::reducenoiseimage - Smooths the contours of an image
    • Gmagick::removeimage - Removes an image from the image list
    • Gmagick::removeimageprofile - Removes the named image profile and returns it
    • Gmagick::resampleimage - Resample image to desired resolution
    • Gmagick::resizeimage - Scales an image
    • Gmagick::rollimage - Offsets an image
    • Gmagick::rotateimage - Rotates an image
    • Gmagick::scaleimage - Scales the size of an image
    • Gmagick::separateimagechannel - Separates a channel from the image
    • Gmagick::setCompressionQuality - Sets the object's default compression quality
    • Gmagick::setfilename - Sets the filename before you read or write the image
    • Gmagick::setimagebackgroundcolor - Sets the image background color.
    • Gmagick::setimageblueprimary - Sets the image chromaticity blue primary point.
    • Gmagick::setimagebordercolor - Sets the image border color.
    • Gmagick::setimagechanneldepth - Sets the depth of a particular image channel
    • Gmagick::setimagecolorspace - Sets the image colorspace
    • Gmagick::setimagecompose - Sets the image composite operator
    • Gmagick::setimagedelay - Sets the image delay
    • Gmagick::setimagedepth - Sets the image depth
    • Gmagick::setimagedispose - Sets the image disposal method
    • Gmagick::setimagefilename - Sets the filename of a particular image in a sequence
    • Gmagick::setimageformat - Sets the format of a particular image
    • Gmagick::setimagegamma - Sets the image gamma
    • Gmagick::setimagegreenprimary - Sets the image chromaticity green primary point.
    • Gmagick::setimageindex - Set the iterator to the position in the image list specified with the index parameter
    • Gmagick::setimageinterlacescheme - Sets the interlace scheme of the image.
    • Gmagick::setimageiterations - Sets the image iterations.
    • Gmagick::setimageprofile - Adds a named profile to the Gmagick object
    • Gmagick::setimageredprimary - Sets the image chromaticity red primary point.
    • Gmagick::setimagerenderingintent - Sets the image rendering intent
    • Gmagick::setimageresolution - Sets the image resolution
    • Gmagick::setimagescene - Sets the image scene
    • Gmagick::setimagetype - Sets the image type
    • Gmagick::setimageunits - Sets the image units of resolution.
    • Gmagick::setimagewhitepoint - Sets the image chromaticity white point.
    • Gmagick::setsamplingfactors - Sets the image sampling factors.
    • Gmagick::setsize - Sets the size of the Gmagick object
    • Gmagick::shearimage - Creating a parallelogram
    • Gmagick::solarizeimage - Applies a solarizing effect to the image
    • Gmagick::spreadimage - Randomly displaces each pixel in a block
    • Gmagick::stripimage - Strips an image of all profiles and comments
    • Gmagick::swirlimage - Swirls the pixels about the center of the image
    • Gmagick::thumbnailimage - Changes the size of an image
    • Gmagick::trimimage - Remove edges from the image
    • Gmagick::write - Alias von Gmagick::writeimage
    • Gmagick::writeimage - Writes an image to the specified filename
    • Gmagick::__construct - The Gmagick constructor
    • GmagickDraw::annotate - Draws text on the image
    • GmagickDraw::arc - Draws an arc
    • GmagickDraw::bezier - Draws a bezier curve
    • GmagickDraw::ellipse - Draws an ellipse on the image
    • GmagickDraw::getfillcolor - Returns the fill color
    • GmagickDraw::getfillopacity - Returns the opacity used when drawing
    • GmagickDraw::getfont - Returns the font
    • GmagickDraw::getfontsize - Returns the font pointsize
    • GmagickDraw::getfontstyle - Returns the font style
    • GmagickDraw::getfontweight - Returns the font weight
    • GmagickDraw::getstrokecolor - Returns the color used for stroking object outlines
    • GmagickDraw::getstrokeopacity - Returns the opacity of stroked object outlines
    • GmagickDraw::getstrokewidth - Returns the width of the stroke used to draw object outlines
    • GmagickDraw::gettextdecoration - Returns the text decoration
    • GmagickDraw::gettextencoding - Returns the code set used for text annotations
    • GmagickDraw::line - The line purpose
    • GmagickDraw::point - Draws a point
    • GmagickDraw::polygon - Draws a polygon
    • GmagickDraw::polyline - Draws a polyline
    • GmagickDraw::rectangle - Draws a rectangle
    • GmagickDraw::rotate - Applies the specified rotation to the current coordinate space
    • GmagickDraw::roundrectangle - Draws a rounded rectangle
    • GmagickDraw::scale - Adjusts the scaling factor
    • GmagickDraw::setfillcolor - Sets the fill color to be used for drawing filled objects.
    • GmagickDraw::setfillopacity - The setfillopacity purpose
    • GmagickDraw::setfont - Sets the fully-specified font to use when annotating with text.
    • GmagickDraw::setfontsize - Sets the font pointsize to use when annotating with text.
    • GmagickDraw::setfontstyle - Sets the font style to use when annotating with text
    • GmagickDraw::setfontweight - Sets the font weight
    • GmagickDraw::setstrokecolor - Sets the color used for stroking object outlines.
    • GmagickDraw::setstrokeopacity - Specifies the opacity of stroked object outlines.
    • GmagickDraw::setstrokewidth - Sets the width of the stroke used to draw object outlines.
    • GmagickDraw::settextdecoration - Specifies a decoration
    • GmagickDraw::settextencoding - Specifies the text code set
    • GmagickPixel::getcolor - Gibt die Farbe zurück
    • GmagickPixel::getcolorcount - Returns the color count associated with this color
    • GmagickPixel::getcolorvalue - Gets the normalized value of the provided color channel
    • GmagickPixel::setcolor - Sets the color
    • GmagickPixel::setcolorvalue - Sets the normalized value of one of the channels
    • GmagickPixel::__construct - Erstellt ein neues GmagickPixel Objekt
    • gmdate - Formatiert eine GMT/UTC Zeit-/Datumsangabe
    • gmmktime - Gibt einen Unix-Timestamp (Zeitstempel) für ein GMT Datum zurück
    • gmp_abs - Absolute value
    • gmp_add - Add numbers
    • gmp_and - Bitwise AND
    • gmp_clrbit - Clear bit
    • gmp_cmp - Compare numbers
    • gmp_com - Calculates one's complement
    • gmp_div - Alias von gmp_div_q
    • gmp_divexact - Exact division of numbers
    • gmp_div_q - Divide numbers
    • gmp_div_qr - Divide numbers and get quotient and remainder
    • gmp_div_r - Remainder of the division of numbers
    • gmp_export - Export to a binary string
    • gmp_fact - Factorial
    • gmp_gcd - Calculate GCD
    • gmp_gcdext - Calculate GCD and multipliers
    • gmp_hamdist - Hamming distance
    • gmp_import - Import from a binary string
    • gmp_init - Create GMP number
    • gmp_intval - Convert GMP number to integer
    • gmp_invert - Inverse by modulo
    • gmp_jacobi - Jacobi symbol
    • gmp_legendre - Legendre symbol
    • gmp_mod - Modulo operation
    • gmp_mul - Multiply numbers
    • gmp_neg - Negate number
    • gmp_nextprime - Find next prime number
    • gmp_or - Bitwise OR
    • gmp_perfect_square - Perfect square check
    • gmp_popcount - Population count
    • gmp_pow - Raise number into power
    • gmp_powm - Raise number into power with modulo
    • gmp_prob_prime - Check if number is "probably prime"
    • gmp_random - Random number
    • gmp_random_bits - Random number
    • gmp_random_range - Random number
    • gmp_random_seed - Sets the RNG seed
    • gmp_root - Take the integer part of nth root
    • gmp_rootrem - Take the integer part and remainder of nth root
    • gmp_scan0 - Scan for 0
    • gmp_scan1 - Scan for 1
    • gmp_setbit - Set bit
    • gmp_sign - Sign of number
    • gmp_sqrt - Calculate square root
    • gmp_sqrtrem - Square root with remainder
    • gmp_strval - Convert GMP number to string
    • gmp_sub - Subtract numbers
    • gmp_testbit - Tests if a bit is set
    • gmp_xor - Bitwise XOR
    • gmstrftime - Formatiert eine Datum-/Zeitangabe in GMT/UTC-Format entsprechend den lokalen Einstellungen
    • gnupg_adddecryptkey - Fügt einen Schlüssel für Entschlüsselung hinzu
    • gnupg_addencryptkey - Fügt einen Schlüssel zur Verschlüsselung hinzu
    • gnupg_addsignkey - Fügt einen Schlüssel für Signierung hinzu
    • gnupg_cleardecryptkeys - Entfernt alle Schlüssel, die vorher für Entschlüsselung hinterlegt wurden
    • gnupg_clearencryptkeys - Entfernt alle Schlüssel, die vorher zur Verschlüsselung hinterlegt wurden
    • gnupg_clearsignkeys - Entfernt alle Schlüssel die vorher zur Signierung hinterlegt wurden
    • gnupg_decrypt - Entschlüsselt einen gegebenen Text
    • gnupg_decryptverify - Entschlüsselt und vertifiziert einen gegebenen Text
    • gnupg_encrypt - Verschlüsselt einen gegebenen Text
    • gnupg_encryptsign - Verschlüsselt und signiert einen gegebenen Text
    • gnupg_export - Exportiert einen Schlüssel
    • gnupg_geterror - Gibt den Fehlertext zurück, wenn eine Funktion scheitert
    • gnupg_getprotocol - Gibt das aktuell für alle Operationen aktive Protokoll zurück
    • gnupg_import - Importiert einen Schlüssel
    • gnupg_init - Initialisiert eine Verbindung
    • gnupg_keyinfo - Gibt ein Array mit Informationen über alle Schlüssel zurück, die dem gegebenen Muster entsprechen
    • gnupg_setarmor - Gepanzerte Ausgabe umschalten
    • gnupg_seterrormode - Setzt den Modus für error_reporting
    • gnupg_setsignmode - Setzt den Signierungs-Modus
    • gnupg_sign - Signiert einen übergebenen Text
    • gnupg_verify - Verifiziert einen signierten Text
    • gopher_parsedir - Translate a gopher formatted directory entry into an associative array.
    • grapheme_extract - Function to extract a sequence of default grapheme clusters from a text buffer, which must be encoded in UTF-8.
    • grapheme_stripos - Find position (in grapheme units) of first occurrence of a case-insensitive string
    • grapheme_stristr - Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack.
    • grapheme_strlen - Get string length in grapheme units
    • grapheme_strpos - Find position (in grapheme units) of first occurrence of a string
    • grapheme_strripos - Find position (in grapheme units) of last occurrence of a case-insensitive string
    • grapheme_strrpos - Find position (in grapheme units) of last occurrence of a string
    • grapheme_strstr - Returns part of haystack string from the first occurrence of needle to the end of haystack.
    • grapheme_substr - Return part of a string
    • gregoriantojd - Konvertierung vom Gregorianischen Kalender zum Julianischen Datum
    • gupnp_context_get_host_ip - Get the IP address
    • gupnp_context_get_port - Get the port
    • gupnp_context_get_subscription_timeout - Get the event subscription timeout
    • gupnp_context_host_path - Start hosting
    • gupnp_context_new - Create a new context
    • gupnp_context_set_subscription_timeout - Sets the event subscription timeout
    • gupnp_context_timeout_add - Sets a function to be called at regular intervals
    • gupnp_context_unhost_path - Stop hosting
    • gupnp_control_point_browse_start - Start browsing
    • gupnp_control_point_browse_stop - Stop browsing
    • gupnp_control_point_callback_set - Set control point callback
    • gupnp_control_point_new - Create a new control point
    • gupnp_device_action_callback_set - Set device callback function
    • gupnp_device_info_get - Get info of root device
    • gupnp_device_info_get_service - Get the service with type
    • gupnp_root_device_get_available - Check whether root device is available
    • gupnp_root_device_get_relative_location - Get the relative location of root device.
    • gupnp_root_device_new - Create a new root device
    • gupnp_root_device_set_available - Set whether or not root_device is available
    • gupnp_root_device_start - Start main loop
    • gupnp_root_device_stop - Stop main loop
    • gupnp_service_action_get - Retrieves the specified action arguments
    • gupnp_service_action_return - Return successfully
    • gupnp_service_action_return_error - Return error code
    • gupnp_service_action_set - Sets the specified action return values
    • gupnp_service_freeze_notify - Freeze new notifications
    • gupnp_service_info_get - Get full info of service
    • gupnp_service_info_get_introspection - Get resource introspection of service
    • gupnp_service_introspection_get_state_variable - Returns the state variable data
    • gupnp_service_notify - Notifies listening clients
    • gupnp_service_proxy_action_get - Send action to the service and get value
    • gupnp_service_proxy_action_set - Send action to the service and set value
    • gupnp_service_proxy_add_notify - Sets up callback for variable change notification
    • gupnp_service_proxy_callback_set - Set service proxy callback for signal
    • gupnp_service_proxy_get_subscribed - Check whether subscription is valid to the service
    • gupnp_service_proxy_remove_notify - Cancels the variable change notification
    • gupnp_service_proxy_send_action - Send action with multiple parameters synchronously
    • gupnp_service_proxy_set_subscribed - (Un)subscribes to the service.
    • gupnp_service_thaw_notify - Sends out any pending notifications and stops queuing of new ones.
    • gzclose - Schließt eine geöffnete gz-Datei
    • gzcompress - Komprimiert einen String
    • gzdecode - Decodes a gzip compressed string
    • gzdeflate - Komprimiert eine Zeichenkette
    • gzencode - Create a gzip compressed string
    • gzeof - Prüfe auf EOF bei einem gz-Datei Descriptor
    • gzfile - Read entire gz-file into an array
    • gzgetc - Hole Zeichen von gz-Datei Deskriptor
    • gzgets - Get line from file pointer
    • gzgetss - Get line from gz-file pointer and strip HTML tags
    • gzinflate - Dekomprimiere (inflate) eine komprimierte (deflate) Zeichenkette
    • gzopen - Öffnet gz-Dateien
    • gzpassthru - Gibt alle verbleibenden Daten eines gz-Datei Deskriptors aus
    • gzputs - Alias von gzwrite
    • gzread - Liest binary-safe aus einer gz-Datei
    • gzrewind - Setzt die Dateiposition auf den Anfang zurück
    • gzseek - Positioniert innerhalb einer gz-Datei
    • gztell - Ermittelt die aktuelle Position in einer gz-Datei
    • gzuncompress - Dekomprimiert einen komprimierten String
    • gzwrite - Ausgabe in gz-komprimierte Dateien
  • h
    • HaruAnnotation::setBorderStyle - Set the border style of the annotation
    • HaruAnnotation::setHighlightMode - Set the highlighting mode of the annotation
    • HaruAnnotation::setIcon - Set the icon style of the annotation
    • HaruAnnotation::setOpened - Set the initial state of the annotation
    • HaruDestination::setFit - Set the appearance of the page to fit the window
    • HaruDestination::setFitB - Set the appearance of the page to fit the bounding box of the page within the window
    • HaruDestination::setFitBH - Set the appearance of the page to fit the width of the bounding box
    • HaruDestination::setFitBV - Set the appearance of the page to fit the height of the boudning box
    • HaruDestination::setFitH - Set the appearance of the page to fit the window width
    • HaruDestination::setFitR - Set the appearance of the page to fit the specified rectangle
    • HaruDestination::setFitV - Set the appearance of the page to fit the window height
    • HaruDestination::setXYZ - Set the appearance of the page
    • HaruDoc::addPage - Add new page to the document
    • HaruDoc::addPageLabel - Set the numbering style for the specified range of pages
    • HaruDoc::createOutline - Create a HaruOutline instance
    • HaruDoc::getCurrentEncoder - Get HaruEncoder currently used in the document
    • HaruDoc::getCurrentPage - Return current page of the document
    • HaruDoc::getEncoder - Get HaruEncoder instance for the specified encoding
    • HaruDoc::getFont - Get HaruFont instance
    • HaruDoc::getInfoAttr - Get current value of the specified document attribute
    • HaruDoc::getPageLayout - Get current page layout
    • HaruDoc::getPageMode - Get current page mode
    • HaruDoc::getStreamSize - Get the size of the temporary stream
    • HaruDoc::insertPage - Insert new page just before the specified page
    • HaruDoc::loadJPEG - Load a JPEG image
    • HaruDoc::loadPNG - Load PNG image and return HaruImage instance
    • HaruDoc::loadRaw - Load a RAW image
    • HaruDoc::loadTTC - Load the font with the specified index from TTC file
    • HaruDoc::loadTTF - Load TTF font file
    • HaruDoc::loadType1 - Load Type1 font
    • HaruDoc::output - Write the document data to the output buffer
    • HaruDoc::readFromStream - Read data from the temporary stream
    • HaruDoc::resetError - Reset error state of the document handle
    • HaruDoc::resetStream - Rewind the temporary stream
    • HaruDoc::save - Save the document into the specified file
    • HaruDoc::saveToStream - Save the document into a temporary stream
    • HaruDoc::setCompressionMode - Set compression mode for the document
    • HaruDoc::setCurrentEncoder - Set the current encoder for the document
    • HaruDoc::setEncryptionMode - Set encryption mode for the document
    • HaruDoc::setInfoAttr - Set the info attribute of the document
    • HaruDoc::setInfoDateAttr - Set the datetime info attributes of the document
    • HaruDoc::setOpenAction - Define which page is shown when the document is opened
    • HaruDoc::setPageLayout - Set how pages should be displayed
    • HaruDoc::setPageMode - Set how the document should be displayed
    • HaruDoc::setPagesConfiguration - Set the number of pages per set of pages
    • HaruDoc::setPassword - Set owner and user passwords for the document
    • HaruDoc::setPermission - Set permissions for the document
    • HaruDoc::useCNSEncodings - Enable Chinese simplified encodings
    • HaruDoc::useCNSFonts - Enable builtin Chinese simplified fonts
    • HaruDoc::useCNTEncodings - Enable Chinese traditional encodings
    • HaruDoc::useCNTFonts - Enable builtin Chinese traditional fonts
    • HaruDoc::useJPEncodings - Enable Japanese encodings
    • HaruDoc::useJPFonts - Enable builtin Japanese fonts
    • HaruDoc::useKREncodings - Enable Korean encodings
    • HaruDoc::useKRFonts - Enable builtin Korean fonts
    • HaruDoc::__construct - Construct new HaruDoc instance
    • HaruEncoder::getByteType - Get the type of the byte in the text
    • HaruEncoder::getType - Get the type of the encoder
    • HaruEncoder::getUnicode - Convert the specified character to unicode
    • HaruEncoder::getWritingMode - Get the writing mode of the encoder
    • HaruFont::getAscent - Get the vertical ascent of the font
    • HaruFont::getCapHeight - Get the distance from the baseline of uppercase letters
    • HaruFont::getDescent - Get the vertical descent of the font
    • HaruFont::getEncodingName - Get the name of the encoding
    • HaruFont::getFontName - Get the name of the font
    • HaruFont::getTextWidth - Get the total width of the text, number of characters, number of words and number of spaces
    • HaruFont::getUnicodeWidth - Get the width of the character in the font
    • HaruFont::getXHeight - Get the distance from the baseline of lowercase letters
    • HaruFont::measureText - Calculate the number of characters which can be included within the specified width
    • HaruImage::getBitsPerComponent - Get the number of bits used to describe each color component of the image
    • HaruImage::getColorSpace - Get the name of the color space
    • HaruImage::getHeight - Get the height of the image
    • HaruImage::getSize - Get size of the image
    • HaruImage::getWidth - Get the width of the image
    • HaruImage::setColorMask - Set the color mask of the image
    • HaruImage::setMaskImage - Set the image mask
    • HaruOutline::setDestination - Set the destination for the outline
    • HaruOutline::setOpened - Set the initial state of the outline
    • HaruPage::arc - Append an arc to the current path
    • HaruPage::beginText - Begin a text object and set the current text position to (0,0)
    • HaruPage::circle - Append a circle to the current path
    • HaruPage::closePath - Append a straight line from the current point to the start point of the path
    • HaruPage::concat - Concatenate current transformation matrix of the page and the specified matrix
    • HaruPage::createDestination - Create new HaruDestination instance
    • HaruPage::createLinkAnnotation - Create new HaruAnnotation instance
    • HaruPage::createTextAnnotation - Create new HaruAnnotation instance
    • HaruPage::createURLAnnotation - Create and return new HaruAnnotation instance
    • HaruPage::curveTo - Append a Bezier curve to the current path
    • HaruPage::curveTo2 - Append a Bezier curve to the current path
    • HaruPage::curveTo3 - Append a Bezier curve to the current path
    • HaruPage::drawImage - Show image at the page
    • HaruPage::ellipse - Append an ellipse to the current path
    • HaruPage::endPath - End current path object without filling and painting operations
    • HaruPage::endText - End current text object
    • HaruPage::eofill - Fill current path using even-odd rule
    • HaruPage::eoFillStroke - Fill current path using even-odd rule, then paint the path
    • HaruPage::fill - Fill current path using nonzero winding number rule
    • HaruPage::fillStroke - Fill current path using nonzero winding number rule, then paint the path
    • HaruPage::getCharSpace - Get the current value of character spacing
    • HaruPage::getCMYKFill - Get the current filling color
    • HaruPage::getCMYKStroke - Get the current stroking color
    • HaruPage::getCurrentFont - Get the currently used font
    • HaruPage::getCurrentFontSize - Get the current font size
    • HaruPage::getCurrentPos - Get the current position for path painting
    • HaruPage::getCurrentTextPos - Get the current position for text printing
    • HaruPage::getDash - Get the current dash pattern
    • HaruPage::getFillingColorSpace - Get the current filling color space
    • HaruPage::getFlatness - Get the flatness of the page
    • HaruPage::getGMode - Get the current graphics mode
    • HaruPage::getGrayFill - Get the current filling color
    • HaruPage::getGrayStroke - Get the current stroking color
    • HaruPage::getHeight - Get the height of the page
    • HaruPage::getHorizontalScaling - Get the current value of horizontal scaling
    • HaruPage::getLineCap - Get the current line cap style
    • HaruPage::getLineJoin - Get the current line join style
    • HaruPage::getLineWidth - Get the current line width
    • HaruPage::getMiterLimit - Get the value of miter limit
    • HaruPage::getRGBFill - Get the current filling color
    • HaruPage::getRGBStroke - Get the current stroking color
    • HaruPage::getStrokingColorSpace - Get the current stroking color space
    • HaruPage::getTextLeading - Get the current value of line spacing
    • HaruPage::getTextMatrix - Get the current text transformation matrix of the page
    • HaruPage::getTextRenderingMode - Get the current text rendering mode
    • HaruPage::getTextRise - Get the current value of text rising
    • HaruPage::getTextWidth - Get the width of the text using current fontsize, character spacing and word spacing
    • HaruPage::getTransMatrix - Get the current transformation matrix of the page
    • HaruPage::getWidth - Get the width of the page
    • HaruPage::getWordSpace - Get the current value of word spacing
    • HaruPage::lineTo - Draw a line from the current point to the specified point
    • HaruPage::measureText - Calculate the byte length of characters which can be included on one line of the specified width
    • HaruPage::moveTextPos - Move text position to the specified offset
    • HaruPage::moveTo - Set starting point for new drawing path
    • HaruPage::moveToNextLine - Move text position to the start of the next line
    • HaruPage::rectangle - Append a rectangle to the current path
    • HaruPage::setCharSpace - Set character spacing for the page
    • HaruPage::setCMYKFill - Set filling color for the page
    • HaruPage::setCMYKStroke - Set stroking color for the page
    • HaruPage::setDash - Set the dash pattern for the page
    • HaruPage::setFlatness - Set flatness for the page
    • HaruPage::setFontAndSize - Set font and fontsize for the page
    • HaruPage::setGrayFill - Set filling color for the page
    • HaruPage::setGrayStroke - Sets stroking color for the page
    • HaruPage::setHeight - Set height of the page
    • HaruPage::setHorizontalScaling - Set horizontal scaling for the page
    • HaruPage::setLineCap - Set the shape to be used at the ends of lines
    • HaruPage::setLineJoin - Set line join style for the page
    • HaruPage::setLineWidth - Set line width for the page
    • HaruPage::setMiterLimit - Set the current value of the miter limit of the page
    • HaruPage::setRGBFill - Set filling color for the page
    • HaruPage::setRGBStroke - Set stroking color for the page
    • HaruPage::setRotate - Set rotation angle of the page
    • HaruPage::setSize - Set size and direction of the page
    • HaruPage::setSlideShow - Set transition style for the page
    • HaruPage::setTextLeading - Set text leading (line spacing) for the page
    • HaruPage::setTextMatrix - Set the current text transformation matrix of the page
    • HaruPage::setTextRenderingMode - Set text rendering mode for the page
    • HaruPage::setTextRise - Set the current value of text rising
    • HaruPage::setWidth - Set width of the page
    • HaruPage::setWordSpace - Set word spacing for the page
    • HaruPage::showText - Print text at the current position of the page
    • HaruPage::showTextNextLine - Move the current position to the start of the next line and print the text
    • HaruPage::stroke - Paint current path
    • HaruPage::textOut - Print the text on the specified position
    • HaruPage::textRect - Print the text inside the specified region
    • hash - Berechnet den Hash einer Nachricht
    • hash_algos - Gibt einer Liste der verfügbaren Hashing-Algorithmen zurück
    • hash_copy - Dupliziert einen Hash-Kontext
    • hash_equals - Timing attack safe string comparison
    • hash_file - Berechnet den Hash des Inhalts einer Datei
    • hash_final - Schließt einen schrittweisen Hashing-Vorgang ab und gibt sein Ergebnis zurück
    • hash_hmac - Berechnet einen Hash mit Schlüssel unter Verwendung von HMAC
    • hash_hmac_file - Berechnet einen Hash einer Datei mit Schlüssel unter Verwendung von HMAC
    • hash_init - Initialisiert einen schrittweisen Hashing-Kontext
    • hash_pbkdf2 - Generate a PBKDF2 key derivation of a supplied password
    • hash_update - Fügt Daten an einen aktiven Hash-Kontext an
    • hash_update_file - Fügt Daten aus einer Datei an einen aktiven Hash-Kontext an
    • hash_update_stream - Fügt Daten aus einem Stream an einen aktiven Hash-Kontext an
    • header - Sendet einen HTTP-Header in Rohform
    • headers_list - Gibt eine Liste der gesendeten (oder zum Senden vorbereiteten) Response Header zurück
    • headers_sent - Prüft, ob oder wo die Header bereits gesendet wurden
    • header_register_callback - Call a header function
    • header_remove - Remove previously set headers
    • hebrev - Konvertiert logischen hebräischen Text in sichtbaren Text
    • hebrevc - Konvertiert (natürlichen) hebräischen Text in sichtbaren Text inkl. Anpassung von Zeilenumbrüchen
    • hex2bin - Dekodiert einen hexadezimal kodierten Binärstring
    • hexdec - Hexadezimal zu Dezimal Umwandlung
    • highlight_file - Syntax-Hervorhebung für eine Datei
    • highlight_string - Hervorhebung der Syntax eines Strings
    • HRTime\PerformanceCounter::getFrequency - Timer frequency in ticks per second
    • HRTime\PerformanceCounter::getTicks - Current ticks from the system
    • HRTime\PerformanceCounter::getTicksSince - Ticks elapsed since the given value
    • HRTime\StopWatch::getElapsedTicks - Get elapsed ticks for all intervals.
    • HRTime\StopWatch::getElapsedTime - Get elapsed time for all intervals.
    • HRTime\StopWatch::getLastElapsedTicks - Get elapsed ticks for the last interval.
    • HRTime\StopWatch::getLastElapsedTime - Get elapsed time for the last interval.
    • HRTime\StopWatch::isRunning - Whether the measurement is running.
    • HRTime\StopWatch::start - Start time measurement
    • HRTime\StopWatch::stop - Stop time measurement
    • htmlentities - Wandelt alle geeigneten Zeichen in entsprechende HTML-Codes um
    • htmlspecialchars - Wandelt Sonderzeichen in HTML-Codes um
    • htmlspecialchars_decode - Konvertiert besondere HTML-Auszeichnungen zurück in Buchstaben
    • html_entity_decode - Konvertiert alle benannten HTML-Zeichen in ihre entsprechenden Ursprungszeichen
    • http:// - Accessing HTTP(s) URLs
    • HTTP context options - HTTP context option listing
    • http_build_query - Erstellen eines URL-kodierten Query-Strings
    • http_response_code - Get or Set the HTTP response code
    • hwapi_attribute_new - Creates instance of class hw_api_attribute
    • hwapi_content_new - Create new instance of class hw_api_content
    • hwapi_hgcsp - Returns object of class hw_api
    • hwapi_object_new - Creates a new instance of class hwapi_object_new
    • hw_api::checkin - Checks in an object
    • hw_api::checkout - Checks out an object
    • hw_api::children - Returns children of an object
    • hw_api::content - Returns content of an object
    • hw_api::copy - Copies physically
    • hw_api::dbstat - Returns statistics about database server
    • hw_api::dcstat - Returns statistics about document cache server
    • hw_api::dstanchors - Returns a list of all destination anchors
    • hw_api::dstofsrcanchor - Returns destination of a source anchor
    • hw_api::find - Search for objects
    • hw_api::ftstat - Returns statistics about fulltext server
    • hw_api::hwstat - Returns statistics about Hyperwave server
    • hw_api::identify - Log into Hyperwave Server
    • hw_api::info - Returns information about server configuration
    • hw_api::insert - Inserts a new object
    • hw_api::insertanchor - Inserts a new object of type anchor
    • hw_api::insertcollection - Inserts a new object of type collection
    • hw_api::insertdocument - Inserts a new object of type document
    • hw_api::link - Creates a link to an object
    • hw_api::lock - Locks an object
    • hw_api::move - Moves object between collections
    • hw_api::object - Retrieve attribute information
    • hw_api::objectbyanchor - Returns the object an anchor belongs to
    • hw_api::parents - Returns parents of an object
    • hw_api::remove - Delete an object
    • hw_api::replace - Replaces an object
    • hw_api::setcommittedversion - Commits version other than last version
    • hw_api::srcanchors - Returns a list of all source anchors
    • hw_api::srcsofdst - Returns source of a destination object
    • hw_api::unlock - Unlocks a locked object
    • hw_api::user - Returns the own user object
    • hw_api::userlist - Returns a list of all logged in users
    • hw_api_attribute::key - Returns key of the attribute
    • hw_api_attribute::langdepvalue - Returns value for a given language
    • hw_api_attribute::value - Returns value of the attribute
    • hw_api_attribute::values - Returns all values of the attribute
    • hw_api_content::mimetype - Returns mimetype
    • hw_api_content::read - Read content
    • hw_api_error::count - Returns number of reasons
    • hw_api_error::reason - Returns reason of error
    • hw_api_object::assign - Clones object
    • hw_api_object::attreditable - Checks whether an attribute is editable
    • hw_api_object::count - Returns number of attributes
    • hw_api_object::insert - Inserts new attribute
    • hw_api_object::remove - Removes attribute
    • hw_api_object::title - Returns the title attribute
    • hw_api_object::value - Returns value of attribute
    • hw_api_reason::description - Returns description of reason
    • hw_api_reason::type - Returns type of reason
    • hypot - Länge der Hypotenuse eines rechtwinkligen Dreiecks
  • i
    • ibase_add_user - Add a user to a security database
    • ibase_affected_rows - Return the number of rows that were affected by the previous query
    • ibase_backup - Initiates a backup task in the service manager and returns immediately
    • ibase_blob_add - Add data into a newly created blob
    • ibase_blob_cancel - Cancel creating blob
    • ibase_blob_close - Close blob
    • ibase_blob_create - Create a new blob for adding data
    • ibase_blob_echo - Output blob contents to browser
    • ibase_blob_get - Get len bytes data from open blob
    • ibase_blob_import - Create blob, copy file in it, and close it
    • ibase_blob_info - Return blob length and other useful info
    • ibase_blob_open - Open blob for retrieving data parts
    • ibase_close - Schließt eine Verbindung zu einer InterBase-Datenbank
    • ibase_commit - Commit a transaction
    • ibase_commit_ret - Commit a transaction without closing it
    • ibase_connect - Öffnet eine Verbindung zu einer Datenbank
    • ibase_db_info - Request statistics about a database
    • ibase_delete_user - Delete a user from a security database
    • ibase_drop_db - Drops a database
    • ibase_errcode - Return an error code
    • ibase_errmsg - Return error messages
    • ibase_execute - Ausführen einer vorbereiteten Abfrage
    • ibase_fetch_assoc - Fetch a result row from a query as an associative array
    • ibase_fetch_object - Liest einen Datensatz einer InterBase-Datenbank als Objekt ein
    • ibase_fetch_row - Ruft eine Zeile aus einer InterBase-Datenbank ab
    • ibase_field_info - Get information about a field
    • ibase_free_event_handler - Cancels a registered event handler
    • ibase_free_query - Gibt den Speicher einer vorbereiteten Abfrage wieder frei
    • ibase_free_result - Gibt eine Ergebnismenge frei
    • ibase_gen_id - Increments the named generator and returns its new value
    • ibase_maintain_db - Execute a maintenance command on the database server
    • ibase_modify_user - Modify a user to a security database
    • ibase_name_result - Assigns a name to a result set
    • ibase_num_fields - Ermittelt die Anzahl der Felder einer Ergebnismenge
    • ibase_num_params - Return the number of parameters in a prepared query
    • ibase_param_info - Return information about a parameter in a prepared query
    • ibase_pconnect - Öffnet eine persistente Verbindung zu einer InterBase-Datenbank
    • ibase_prepare - Bereitet eine Abfrage für späteres Binden der Parameter-Platzhalter und Ausführung vor
    • ibase_query - Führt eine Abfrage auf einer InterBase Datenbank aus
    • ibase_restore - Initiates a restore task in the service manager and returns immediately
    • ibase_rollback - Roll back a transaction
    • ibase_rollback_ret - Roll back a transaction without closing it
    • ibase_server_info - Request information about a database server
    • ibase_service_attach - Connect to the service manager
    • ibase_service_detach - Disconnect from the service manager
    • ibase_set_event_handler - Register a callback function to be called when events are posted
    • ibase_trans - Begin a transaction
    • ibase_wait_event - Wait for an event to be posted by the database
    • iconv - Konvertiert Zeichenketten in einen anderen Zeichensatz
    • iconv_get_encoding - Aktuelle Einstellung für Zeichensatz-Konvertierung auslesen
    • iconv_mime_decode - Decodes a MIME header field
    • iconv_mime_decode_headers - Decodes multiple MIME header fields at once
    • iconv_mime_encode - Composes a MIME header field
    • iconv_set_encoding - Einstellungen für die Zeichensatzkonvertierung setzen
    • iconv_strlen - Returns the character count of string
    • iconv_strpos - Finds position of first occurrence of a needle within a haystack
    • iconv_strrpos - Finds the last occurrence of a needle within a haystack
    • iconv_substr - Cut out part of a string
    • id3_get_frame_long_name - Ermittelt den ausführlichen Namen eines ID3v2-Frames
    • id3_get_frame_short_name - Ermittelt den kurzen Namen eines ID3v2-Frames
    • id3_get_genre_id - Ermitteln der ID für ein Genre
    • id3_get_genre_list - Ermitteln aller möglichen Genres
    • id3_get_genre_name - Ermitteln eine Genrenamen anhand einer Genre-Id
    • id3_get_tag - Ermitteln aller Informationen in einem ID3-Tag
    • id3_get_version - Version eines ID3-Tags feststellen
    • id3_remove_tag - Entfernen eines vorhandenen ID3-Tags
    • id3_set_tag - Manipulation der Informationen in einem ID3-Tag
    • idate - Format a local time/date as integer
    • idn_to_ascii - Convert domain name to IDNA ASCII form.
    • idn_to_utf8 - Convert domain name from IDNA ASCII to Unicode.
    • ifxus_close_slob - Löscht ein Slob-Objekt
    • ifxus_create_slob - Erzeugt ein Slob-Objekt und öffnet es
    • ifxus_free_slob - Löscht ein Slob-Objekt
    • ifxus_open_slob - Öffnet ein Slob-Objekt
    • ifxus_read_slob - Liest nbytes aus einem Slob-Objekt
    • ifxus_seek_slob - Setzt die aktuelle Dateizeiger- oder Suchposition
    • ifxus_tell_slob - Gibt die aktuelle Dateizeiger- oder Suchposition zurück
    • ifxus_write_slob - Schreibt einen String in ein Slob-Objekt
    • ifx_affected_rows - Gibt die Anzahl der Datensätze zurück, die von einer Abfrage betroffen sind
    • ifx_blobinfile_mode - Setzt den Standardmodus für BLOBs bei allen SELECT Abfragen
    • ifx_byteasvarchar - Setzt den Standard Byte-Modus
    • ifx_close - Schließt eine Informix-Verbindung
    • ifx_connect - Öffnet eine Verbindung zu einem Informix Server
    • ifx_copy_blob - Dupliziert ein gegebenes BLOB (Binary Large Object)
    • ifx_create_blob - Erzeugt ein BLOB (Binary Large Object)
    • ifx_create_char - Erzeugt ein Zeichen-Objekt
    • ifx_do - Führt eine vorbereitete Abfrage aus
    • ifx_error - Gibt den Fehlercode des letzten Informix Aufrufs zurück
    • ifx_errormsg - Gibt die Fehlermeldung des zuletzt aufgetretenen Informix Fehlers zurück
    • ifx_fetch_row - Holt eine Zeile als assoziatives Array
    • ifx_fieldproperties - Gibt eine Liste mit den Feldeigenschaften zurück
    • ifx_fieldtypes - Gibt eine Liste der Informix SQL Felder zurück
    • ifx_free_blob - Löscht ein Blob Objekt
    • ifx_free_char - Löscht ein CHAR Objekt
    • ifx_free_result - Gibt den belegten Speicher einer Ergebnismenge wieder frei
    • ifx_getsqlca - Gibt den Inhalt von sqlca.sqlerrd[0..5] nach einer Abfrage zurück
    • ifx_get_blob - Gibt den Inhalt eines Large Objects zurück
    • ifx_get_char - Gibt den Inhalt eines Zeichen-Objekts zurück
    • ifx_htmltbl_result - Gibt alle Zeilen einer Abfrage als HTML-Tabelle formatiert zurück
    • ifx_nullformat - Setzt den aktuellen Rückgabewert für Nullwerte beim Lesen von Zeilen
    • ifx_num_fields - Gibt die Anzahl der Spalten einer Abfrage zurück
    • ifx_num_rows - Count the rows already fetched from a query
    • ifx_pconnect - Öffnet eine persistente Informix Verbindung
    • ifx_prepare - Bereitet eine Abfrage zur späteren Ausführung vor
    • ifx_query - Schickt eine Informix Abfrage an den Server
    • ifx_textasvarchar - Setzt den Standard-Textmodus
    • ifx_update_blob - Aktualisiert den Inhalt eines Blob-Objekts
    • ifx_update_char - Aktualisiert den Inhalt eines Char-Objekts
    • ignore_user_abort - Stellt ein, ob der Verbindungsabbruch eines Clients die Skript-Ausführung abbrechen soll
    • iis_add_server - Creates a new virtual web server
    • iis_get_dir_security - Gets Directory Security
    • iis_get_script_map - Gets script mapping on a virtual directory for a specific extension
    • iis_get_server_by_comment - Return the instance number associated with the Comment
    • iis_get_server_by_path - Return the instance number associated with the Path
    • iis_get_server_rights - Gets server rights
    • iis_get_service_state - Returns the state for the service defined by ServiceId
    • iis_remove_server - Removes the virtual web server indicated by ServerInstance
    • iis_set_app_settings - Creates application scope for a virtual directory
    • iis_set_dir_security - Sets Directory Security
    • iis_set_script_map - Sets script mapping on a virtual directory
    • iis_set_server_rights - Sets server rights
    • iis_start_server - Starts the virtual web server
    • iis_start_service - Starts the service defined by ServiceId
    • iis_stop_server - Stops the virtual web server
    • iis_stop_service - Stops the service defined by ServiceId
    • image2wbmp - Gibt das Bild im Browser oder einer Datei aus.
    • imageaffine - Return an image containing the affine transformed src image, using an optional clipping area
    • imageaffinematrixconcat - Concatenate two affine transformation matrices
    • imageaffinematrixget - Get an affine transformation matrix
    • imagealphablending - Set the blending mode for an image
    • imageantialias - Should antialias functions be used or not
    • imagearc - Zeichnet einen Bogen
    • imagebmp - Output a BMP image to browser or file
    • imagechar - Stellt ein Zeichen horizontal dar
    • imagecharup - Zeichnet einen vertikal ausgerichteten Charakter
    • imagecolorallocate - Bestimmt die Farbe einer Grafik
    • imagecolorallocatealpha - Allocate a color for an image
    • imagecolorat - Ermittelt den Farbwert eines Bildpunktes
    • imagecolorclosest - Ermittelt den Farbwert-Index, der den angegebenen Farben am nächsten liegt
    • imagecolorclosestalpha - Get the index of the closest color to the specified color + alpha
    • imagecolorclosesthwb - Get the index of the color which has the hue, white and blackness
    • imagecolordeallocate - Löscht eine Farbdefinition
    • imagecolorexact - Ermittelt den Index-Wert der angegebenen Farbe
    • imagecolorexactalpha - Get the index of the specified color + alpha
    • imagecolormatch - Makes the colors of the palette version of an image more closely match the true color version
    • imagecolorresolve - Ermittelt den Index-Wert der angegebenen Farbe oder die nächst mögliche Alternative dazu
    • imagecolorresolvealpha - Get the index of the specified color + alpha or its closest possible alternative
    • imagecolorset - Setzt die Farbe für den angegebenen Paletten-Index
    • imagecolorsforindex - Ermittelt die Farbwerte einer angegebenen Farb-Palette
    • imagecolorstotal - Ermittelt die Anzahl der definierten Farben eines Bildes
    • imagecolortransparent - Definiert eine Farbe als transparent
    • imageconvolution - Apply a 3x3 convolution matrix, using coefficient and offset
    • imagecopy - Kopiert einen Bildausschnitt
    • imagecopymerge - Copy and merge part of an image
    • imagecopymergegray - Copy and merge part of an image with gray scale
    • imagecopyresampled - Copy and resize part of an image with resampling
    • imagecopyresized - Kopieren und Ändern der Größe eines Bild-Teiles
    • imagecreate - Erzeugt ein neues Bild
    • imagecreatefrombmp - Erzeugt ein neues Bild aus einer Datei oder URL
    • imagecreatefromgd - Create a new image from GD file or URL
    • imagecreatefromgd2 - Create a new image from GD2 file or URL
    • imagecreatefromgd2part - Create a new image from a given part of GD2 file or URL
    • imagecreatefromgif - Erzeugt ein neues Bild aus einer Datei oder URL
    • imagecreatefromjpeg - Erzeugt ein neues Bild im JPEG-Format, welches aus einer Datei oder von einer URL gelesen wird
    • imagecreatefrompng - Erzeugt ein neues Bild im PNG-Format, welches aus einer Datei oder von einer URL gelesen wird
    • imagecreatefromstring - Create a new image from the image stream in the string
    • imagecreatefromwbmp - Erzeugt ein neues Bild aus einer Datei oder URL
    • imagecreatefromwebp - Erzeugt ein neues Bild aus einer Datei oder URL
    • imagecreatefromxbm - Erzeugt ein neues Bild aus einer Datei oder URL
    • imagecreatefromxpm - Erzeugt ein neues Bild aus einer Datei oder URL
    • imagecreatetruecolor - Create a new true color image
    • imagecrop - Crop an image to the given rectangle
    • imagecropauto - Crop an image automatically using one of the available modes
    • imagedashedline - Zeichnen einer gestrichelten Linie
    • imagedestroy - Löscht ein Bild
    • imageellipse - Draw an ellipse
    • imagefill - Füllen mit Farbe ("flood fill")
    • imagefilledarc - Draw a partial arc and fill it
    • imagefilledellipse - Draw a filled ellipse
    • imagefilledpolygon - Zeichnet ein gefülltes Vieleck (Polygon)
    • imagefilledrectangle - Zeichnet ein gefülltes Rechteck
    • imagefilltoborder - Flächen-Farbfüllung ("flood fill") mit einer angegebenen Farbe
    • imagefilter - Applies a filter to an image
    • imageflip - Flips an image using a given mode
    • imagefontheight - Ermittelt die Font-Höhe
    • imagefontwidth - Ermittelt die Font-Breite
    • imageftbbox - Give the bounding box of a text using fonts via freetype2
    • imagefttext - Write text to the image using fonts using FreeType 2
    • imagegammacorrect - Anwendung einer Gamma-Korrektur auf ein GD-Bild
    • imagegd - Output GD image to browser or file
    • imagegd2 - Output GD2 image to browser or file
    • imagegetclip - Get the clipping rectangle
    • imagegif - Gibt das Bild im Browser oder einer Datei aus.
    • imagegrabscreen - Captures the whole screen
    • imagegrabwindow - Captures a window
    • imageinterlace - Schaltet die Interlaced-Darstellung eines Bildes an oder aus
    • imageistruecolor - Finds whether an image is a truecolor image
    • imagejpeg - Gibt das Bild im Browser oder einer Datei aus.
    • imagelayereffect - Set the alpha blending flag to use layering effects
    • imageline - Zeichnen einer Linie
    • imageloadfont - Lädt einen neuen Font
    • imageopenpolygon - Draws an open polygon
    • imagepalettecopy - Copy the palette from one image to another
    • imagepalettetotruecolor - Converts a palette based image to true color
    • imagepng - Ausgabe eines Bildes im Browser oder als Datei im PNG-Format
    • imagepolygon - Zeichnen eines Vielecks (Polygon)
    • imagepsbbox - Ermittelt die Ausmaße des Rechtecks, das für die Ausgabe eines Textes unter Verwendung eines PostScript-Fonts (Typ 1) notwendig ist.
    • imagepsencodefont - Ändert die Vektor-Beschreibung eines Fonts
    • imagepsextendfont - Vergrößert oder komprimiert einen Font
    • imagepsfreefont - Gibt den durch einen Typ 1 PostScript-Font belegten Speicher wieder frei
    • imagepsloadfont - Lädt einen Typ 1 PostScript-Font aus einer Datei
    • imagepsslantfont - Setzt einen Font schräg
    • imagepstext - Ausgabe eines Textes auf einem Bild unter Verwendung von Typ 1 PostScript-Fonts
    • imagerectangle - Zeichnet ein Rechteck
    • imageresolution - Get or set the resolution of the image
    • imagerotate - Rotate an image with a given angle
    • imagesavealpha - Set the flag to save full alpha channel information (as opposed to single-color transparency) when saving PNG images
    • imagescale - Scale an image using the given new width and height
    • imagesetbrush - Set the brush image for line drawing
    • imagesetclip - Set the clipping rectangle
    • imagesetinterpolation - Set the interpolation method
    • imagesetpixel - Setzt ein einzelnes Pixel
    • imagesetstyle - Set the style for line drawing
    • imagesetthickness - Set the thickness for line drawing
    • imagesettile - Set the tile image for filling
    • imagestring - Zeichnet einen horizontalen String
    • imagestringup - Zeichnet einen vertikalen String
    • imagesx - Ermittelt die Bild-Breite
    • imagesy - Ermittelt die Bild-Höhe
    • imagetruecolortopalette - Convert a true color image to a palette image
    • imagettfbbox - Ermittelt die Rahmenmaße für die Ausgabe eines Textes im True-Type-Format
    • imagettftext - Erzeugt TTF-Text im Bild
    • imagetypes - Gibt die von der aktuell verwendeten PHP-Version unterstützten Grafik-Formate zurück
    • imagewbmp - Gibt das Bild im Browser oder einer Datei aus.
    • imagewebp - Output a WebP image to browser or file
    • imagexbm - Output an XBM image to browser or file
    • image_type_to_extension - Get file extension for image type
    • image_type_to_mime_type - Get Mime-Type for image-type returned by getimagesize, exif_read_data, exif_thumbnail, exif_imagetype
    • Imagick::adaptiveBlurImage - Adds adaptive blur filter to image
    • Imagick::adaptiveResizeImage - Adaptively resize image with data dependent triangulation
    • Imagick::adaptiveSharpenImage - Adaptively sharpen the image
    • Imagick::adaptiveThresholdImage - Selects a threshold for each pixel based on a range of intensity
    • Imagick::addImage - Adds new image to Imagick object image list
    • Imagick::addNoiseImage - Adds random noise to the image
    • Imagick::affineTransformImage - Transforms an image
    • Imagick::animateImages - Animates an image or images
    • Imagick::annotateImage - Annotates an image with text
    • Imagick::appendImages - Append a set of images
    • Imagick::autoLevelImage - Description
    • Imagick::averageImages - Average a set of images
    • Imagick::blackThresholdImage - Forces all pixels below the threshold into black
    • Imagick::blueShiftImage - Description
    • Imagick::blurImage - Adds blur filter to image
    • Imagick::borderImage - Surrounds the image with a border
    • Imagick::brightnessContrastImage - Description
    • Imagick::charcoalImage - Simulates a charcoal drawing
    • Imagick::chopImage - Removes a region of an image and trims
    • Imagick::clampImage - Description
    • Imagick::clear - Clears all resources associated to Imagick object
    • Imagick::clipImage - Clips along the first path from the 8BIM profile
    • Imagick::clipImagePath - Description
    • Imagick::clipPathImage - Clips along the named paths from the 8BIM profile
    • Imagick::clone - Makes an exact copy of the Imagick object
    • Imagick::clutImage - Replaces colors in the image
    • Imagick::coalesceImages - Composites a set of images
    • Imagick::colorFloodfillImage - Changes the color value of any pixel that matches target
    • Imagick::colorizeImage - Blends the fill color with the image
    • Imagick::colorMatrixImage - Description
    • Imagick::combineImages - Combines one or more images into a single image
    • Imagick::commentImage - Adds a comment to your image
    • Imagick::compareImageChannels - Returns the difference in one or more images
    • Imagick::compareImageLayers - Returns the maximum bounding region between images
    • Imagick::compareImages - Compares an image to a reconstructed image
    • Imagick::compositeImage - Composite one image onto another
    • Imagick::contrastImage - Change the contrast of the image
    • Imagick::contrastStretchImage - Enhances the contrast of a color image
    • Imagick::convolveImage - Applies a custom convolution kernel to the image
    • Imagick::count - Description
    • Imagick::cropImage - Extracts a region of the image
    • Imagick::cropThumbnailImage - Creates a crop thumbnail
    • Imagick::current - Returns a reference to the current Imagick object
    • Imagick::cycleColormapImage - Displaces an image's colormap
    • Imagick::decipherImage - Deciphers an image
    • Imagick::deconstructImages - Returns certain pixel differences between images
    • Imagick::deleteImageArtifact - Delete image artifact
    • Imagick::deleteImageProperty - Description
    • Imagick::deskewImage - Removes skew from the image
    • Imagick::despeckleImage - Reduces the speckle noise in an image
    • Imagick::destroy - Destroys the Imagick object
    • Imagick::displayImage - Displays an image
    • Imagick::displayImages - Displays an image or image sequence
    • Imagick::distortImage - Distorts an image using various distortion methods
    • Imagick::drawImage - Renders the ImagickDraw object on the current image
    • Imagick::edgeImage - Enhance edges within the image
    • Imagick::embossImage - Returns a grayscale image with a three-dimensional effect
    • Imagick::encipherImage - Enciphers an image
    • Imagick::enhanceImage - Improves the quality of a noisy image
    • Imagick::equalizeImage - Equalizes the image histogram
    • Imagick::evaluateImage - Applies an expression to an image
    • Imagick::exportImagePixels - Exports raw image pixels
    • Imagick::extentImage - Set image size
    • Imagick::filter - Description
    • Imagick::flattenImages - Merges a sequence of images
    • Imagick::flipImage - Creates a vertical mirror image
    • Imagick::floodFillPaintImage - Changes the color value of any pixel that matches target
    • Imagick::flopImage - Creates a horizontal mirror image
    • Imagick::forwardFourierTransformImage - Description
    • Imagick::frameImage - Adds a simulated three-dimensional border
    • Imagick::functionImage - Applies a function on the image
    • Imagick::fxImage - Evaluate expression for each pixel in the image
    • Imagick::gammaImage - Gamma-corrects an image
    • Imagick::gaussianBlurImage - Blurs an image
    • Imagick::getColorspace - Gets the colorspace
    • Imagick::getCompression - Gets the object compression type
    • Imagick::getCompressionQuality - Gets the object compression quality
    • Imagick::getCopyright - Returns the ImageMagick API copyright as a string
    • Imagick::getFilename - The filename associated with an image sequence
    • Imagick::getFont - Gets font
    • Imagick::getFormat - Returns the format of the Imagick object
    • Imagick::getGravity - Gets the gravity
    • Imagick::getHomeURL - Returns the ImageMagick home URL
    • Imagick::getImage - Returns a new Imagick object
    • Imagick::getImageAlphaChannel - Gets the image alpha channel
    • Imagick::getImageArtifact - Get image artifact
    • Imagick::getImageAttribute - Description
    • Imagick::getImageBackgroundColor - Returns the image background color
    • Imagick::getImageBlob - Returns the image sequence as a blob
    • Imagick::getImageBluePrimary - Returns the chromaticy blue primary point
    • Imagick::getImageBorderColor - Returns the image border color
    • Imagick::getImageChannelDepth - Gets the depth for a particular image channel
    • Imagick::getImageChannelDistortion - Compares image channels of an image to a reconstructed image
    • Imagick::getImageChannelDistortions - Gets channel distortions
    • Imagick::getImageChannelExtrema - Gets the extrema for one or more image channels
    • Imagick::getImageChannelKurtosis - The getImageChannelKurtosis purpose
    • Imagick::getImageChannelMean - Gets the mean and standard deviation
    • Imagick::getImageChannelRange - Gets channel range
    • Imagick::getImageChannelStatistics - Returns statistics for each channel in the image
    • Imagick::getImageClipMask - Gets image clip mask
    • Imagick::getImageColormapColor - Returns the color of the specified colormap index
    • Imagick::getImageColors - Gets the number of unique colors in the image
    • Imagick::getImageColorspace - Gets the image colorspace
    • Imagick::getImageCompose - Returns the composite operator associated with the image
    • Imagick::getImageCompression - Gets the current image's compression type
    • Imagick::getImageCompressionQuality - Gets the current image's compression quality
    • Imagick::getImageDelay - Gets the image delay
    • Imagick::getImageDepth - Gets the image depth
    • Imagick::getImageDispose - Gets the image disposal method
    • Imagick::getImageDistortion - Compares an image to a reconstructed image
    • Imagick::getImageExtrema - Gets the extrema for the image
    • Imagick::getImageFilename - Returns the filename of a particular image in a sequence
    • Imagick::getImageFormat - Returns the format of a particular image in a sequence
    • Imagick::getImageGamma - Gets the image gamma
    • Imagick::getImageGeometry - Gets the width and height as an associative array
    • Imagick::getImageGravity - Gets the image gravity
    • Imagick::getImageGreenPrimary - Returns the chromaticy green primary point
    • Imagick::getImageHeight - Returns the image height
    • Imagick::getImageHistogram - Gets the image histogram
    • Imagick::getImageIndex - Gets the index of the current active image
    • Imagick::getImageInterlaceScheme - Gets the image interlace scheme
    • Imagick::getImageInterpolateMethod - Returns the interpolation method
    • Imagick::getImageIterations - Gets the image iterations
    • Imagick::getImageLength - Returns the image length in bytes
    • Imagick::getImageMagickLicense - Returns a string containing the ImageMagick license
    • Imagick::getImageMatte - Return if the image has a matte channel
    • Imagick::getImageMatteColor - Returns the image matte color
    • Imagick::getImageMimeType - Description
    • Imagick::getImageOrientation - Gets the image orientation
    • Imagick::getImagePage - Returns the page geometry
    • Imagick::getImagePixelColor - Returns the color of the specified pixel
    • Imagick::getImageProfile - Returns the named image profile
    • Imagick::getImageProfiles - Returns the image profiles
    • Imagick::getImageProperties - Returns the image properties
    • Imagick::getImageProperty - Returns the named image property
    • Imagick::getImageRedPrimary - Returns the chromaticity red primary point
    • Imagick::getImageRegion - Extracts a region of the image
    • Imagick::getImageRenderingIntent - Gets the image rendering intent
    • Imagick::getImageResolution - Gets the image X and Y resolution
    • Imagick::getImagesBlob - Returns all image sequences as a blob
    • Imagick::getImageScene - Gets the image scene
    • Imagick::getImageSignature - Generates an SHA-256 message digest
    • Imagick::getImageSize - Returns the image length in bytes
    • Imagick::getImageTicksPerSecond - Gets the image ticks-per-second
    • Imagick::getImageTotalInkDensity - Gets the image total ink density
    • Imagick::getImageType - Gets the potential image type
    • Imagick::getImageUnits - Gets the image units of resolution
    • Imagick::getImageVirtualPixelMethod - Returns the virtual pixel method
    • Imagick::getImageWhitePoint - Returns the chromaticity white point
    • Imagick::getImageWidth - Returns the image width
    • Imagick::getInterlaceScheme - Gets the object interlace scheme
    • Imagick::getIteratorIndex - Gets the index of the current active image
    • Imagick::getNumberImages - Returns the number of images in the object
    • Imagick::getOption - Returns a value associated with the specified key
    • Imagick::getPackageName - Returns the ImageMagick package name
    • Imagick::getPage - Returns the page geometry
    • Imagick::getPixelIterator - Returns a MagickPixelIterator
    • Imagick::getPixelRegionIterator - Get an ImagickPixelIterator for an image section
    • Imagick::getPointSize - Gets point size
    • Imagick::getQuantum - Description
    • Imagick::getQuantumDepth - Gets the quantum depth
    • Imagick::getQuantumRange - Returns the Imagick quantum range
    • Imagick::getRegistry - Description
    • Imagick::getReleaseDate - Returns the ImageMagick release date
    • Imagick::getResource - Returns the specified resource's memory usage
    • Imagick::getResourceLimit - Returns the specified resource limit
    • Imagick::getSamplingFactors - Gets the horizontal and vertical sampling factor
    • Imagick::getSize - Returns the size associated with the Imagick object
    • Imagick::getSizeOffset - Returns the size offset
    • Imagick::getVersion - Returns the ImageMagick API version
    • Imagick::haldClutImage - Replaces colors in the image
    • Imagick::hasNextImage - Checks if the object has more images
    • Imagick::hasPreviousImage - Checks if the object has a previous image
    • Imagick::identifyFormat - Description
    • Imagick::identifyImage - Identifies an image and fetches attributes
    • Imagick::implodeImage - Creates a new image as a copy
    • Imagick::importImagePixels - Imports image pixels
    • Imagick::inverseFourierTransformImage - Description
    • Imagick::labelImage - Adds a label to an image
    • Imagick::levelImage - Adjusts the levels of an image
    • Imagick::linearStretchImage - Stretches with saturation the image intensity
    • Imagick::liquidRescaleImage - Animates an image or images
    • Imagick::listRegistry - Description
    • Imagick::magnifyImage - Scales an image proportionally 2x
    • Imagick::mapImage - Replaces the colors of an image with the closest color from a reference image.
    • Imagick::matteFloodfillImage - Changes the transparency value of a color
    • Imagick::medianFilterImage - Applies a digital filter
    • Imagick::mergeImageLayers - Merges image layers
    • Imagick::minifyImage - Scales an image proportionally to half its size
    • Imagick::modulateImage - Control the brightness, saturation, and hue
    • Imagick::montageImage - Creates a composite image
    • Imagick::morphImages - Method morphs a set of images
    • Imagick::morphology - Description
    • Imagick::mosaicImages - Forms a mosaic from images
    • Imagick::motionBlurImage - Simulates motion blur
    • Imagick::negateImage - Negates the colors in the reference image
    • Imagick::newImage - Creates a new image
    • Imagick::newPseudoImage - Creates a new image
    • Imagick::nextImage - Moves to the next image
    • Imagick::normalizeImage - Enhances the contrast of a color image
    • Imagick::oilPaintImage - Simulates an oil painting
    • Imagick::opaquePaintImage - Changes the color value of any pixel that matches target
    • Imagick::optimizeImageLayers - Removes repeated portions of images to optimize
    • Imagick::orderedPosterizeImage - Performs an ordered dither
    • Imagick::paintFloodfillImage - Changes the color value of any pixel that matches target
    • Imagick::paintOpaqueImage - Change any pixel that matches color
    • Imagick::paintTransparentImage - Changes any pixel that matches color with the color defined by fill
    • Imagick::pingImage - Abrufen von grundlegenden Merkmalen eines Bildes
    • Imagick::pingImageBlob - Quickly fetch attributes
    • Imagick::pingImageFile - Get basic image attributes in a lightweight manner
    • Imagick::polaroidImage - Simulates a Polaroid picture
    • Imagick::posterizeImage - Reduces the image to a limited number of color level
    • Imagick::previewImages - Quickly pin-point appropriate parameters for image processing
    • Imagick::previousImage - Move to the previous image in the object
    • Imagick::profileImage - Adds or removes a profile from an image
    • Imagick::quantizeImage - Analyzes the colors within a reference image
    • Imagick::quantizeImages - Analyzes the colors within a sequence of images
    • Imagick::queryFontMetrics - Returns an array representing the font metrics
    • Imagick::queryFonts - Returns the configured fonts
    • Imagick::queryFormats - Returns formats supported by Imagick
    • Imagick::radialBlurImage - Radial blurs an image
    • Imagick::raiseImage - Creates a simulated 3d button-like effect
    • Imagick::randomThresholdImage - Creates a high-contrast, two-color image
    • Imagick::readImage - Reads image from filename
    • Imagick::readImageBlob - Reads image from a binary string
    • Imagick::readImageFile - Reads image from open filehandle
    • Imagick::readimages - Description
    • Imagick::recolorImage - Recolors image
    • Imagick::reduceNoiseImage - Smooths the contours of an image
    • Imagick::remapImage - Remaps image colors
    • Imagick::removeImage - Removes an image from the image list
    • Imagick::removeImageProfile - Removes the named image profile and returns it
    • Imagick::render - Renders all preceding drawing commands
    • Imagick::resampleImage - Resample image to desired resolution
    • Imagick::resetImagePage - Reset image page
    • Imagick::resizeImage - Scales an image
    • Imagick::rollImage - Offsets an image
    • Imagick::rotateImage - Rotates an image
    • Imagick::rotationalBlurImage - Description
    • Imagick::roundCorners - Rounds image corners
    • Imagick::sampleImage - Scales an image with pixel sampling
    • Imagick::scaleImage - Scales the size of an image
    • Imagick::segmentImage - Segments an image
    • Imagick::selectiveBlurImage - Description
    • Imagick::separateImageChannel - Separates a channel from the image
    • Imagick::sepiaToneImage - Sepia tones an image
    • Imagick::setBackgroundColor - Sets the object's default background color
    • Imagick::setColorspace - Set colorspace
    • Imagick::setCompression - Sets the object's default compression type
    • Imagick::setCompressionQuality - Sets the object's default compression quality
    • Imagick::setFilename - Sets the filename before you read or write the image
    • Imagick::setFirstIterator - Sets the Imagick iterator to the first image
    • Imagick::setFont - Sets font
    • Imagick::setFormat - Sets the format of the Imagick object
    • Imagick::setGravity - Sets the gravity
    • Imagick::setImage - Replaces image in the object
    • Imagick::setImageAlphaChannel - Sets image alpha channel
    • Imagick::setImageArtifact - Set image artifact
    • Imagick::setImageAttribute - Description
    • Imagick::setImageBackgroundColor - Sets the image background color
    • Imagick::setImageBias - Sets the image bias for any method that convolves an image
    • Imagick::setImageBiasQuantum - Description
    • Imagick::setImageBluePrimary - Sets the image chromaticity blue primary point
    • Imagick::setImageBorderColor - Sets the image border color
    • Imagick::setImageChannelDepth - Sets the depth of a particular image channel
    • Imagick::setImageClipMask - Sets image clip mask
    • Imagick::setImageColormapColor - Sets the color of the specified colormap index
    • Imagick::setImageColorspace - Sets the image colorspace
    • Imagick::setImageCompose - Sets the image composite operator
    • Imagick::setImageCompression - Sets the image compression
    • Imagick::setImageCompressionQuality - Sets the image compression quality
    • Imagick::setImageDelay - Sets the image delay
    • Imagick::setImageDepth - Sets the image depth
    • Imagick::setImageDispose - Sets the image disposal method
    • Imagick::setImageExtent - Sets the image size
    • Imagick::setImageFilename - Sets the filename of a particular image
    • Imagick::setImageFormat - Sets the format of a particular image
    • Imagick::setImageGamma - Sets the image gamma
    • Imagick::setImageGravity - Sets the image gravity
    • Imagick::setImageGreenPrimary - Sets the image chromaticity green primary point
    • Imagick::setImageIndex - Set the iterator position
    • Imagick::setImageInterlaceScheme - Sets the image compression
    • Imagick::setImageInterpolateMethod - Sets the image interpolate pixel method
    • Imagick::setImageIterations - Sets the image iterations
    • Imagick::setImageMatte - Sets the image matte channel
    • Imagick::setImageMatteColor - Sets the image matte color
    • Imagick::setImageOpacity - Sets the image opacity level
    • Imagick::setImageOrientation - Sets the image orientation
    • Imagick::setImagePage - Sets the page geometry of the image
    • Imagick::setImageProfile - Adds a named profile to the Imagick object
    • Imagick::setImageProperty - Sets an image property
    • Imagick::setImageRedPrimary - Sets the image chromaticity red primary point
    • Imagick::setImageRenderingIntent - Sets the image rendering intent
    • Imagick::setImageResolution - Sets the image resolution
    • Imagick::setImageScene - Sets the image scene
    • Imagick::setImageTicksPerSecond - Sets the image ticks-per-second
    • Imagick::setImageType - Sets the image type
    • Imagick::setImageUnits - Sets the image units of resolution
    • Imagick::setImageVirtualPixelMethod - Sets the image virtual pixel method
    • Imagick::setImageWhitePoint - Sets the image chromaticity white point
    • Imagick::setInterlaceScheme - Sets the image compression
    • Imagick::setIteratorIndex - Set the iterator position
    • Imagick::setLastIterator - Sets the Imagick iterator to the last image
    • Imagick::setOption - Set an option
    • Imagick::setPage - Sets the page geometry of the Imagick object
    • Imagick::setPointSize - Sets point size
    • Imagick::setProgressMonitor - Description
    • Imagick::setRegistry - Description
    • Imagick::setResolution - Sets the image resolution
    • Imagick::setResourceLimit - Sets the limit for a particular resource in megabytes
    • Imagick::setSamplingFactors - Sets the image sampling factors
    • Imagick::setSize - Sets the size of the Imagick object
    • Imagick::setSizeOffset - Sets the size and offset of the Imagick object
    • Imagick::setType - Sets the image type attribute
    • Imagick::shadeImage - Creates a 3D effect
    • Imagick::shadowImage - Simulates an image shadow
    • Imagick::sharpenImage - Sharpens an image
    • Imagick::shaveImage - Shaves pixels from the image edges
    • Imagick::shearImage - Creating a parallelogram
    • Imagick::sigmoidalContrastImage - Adjusts the contrast of an image
    • Imagick::sketchImage - Simulates a pencil sketch
    • Imagick::smushImages - Description
    • Imagick::solarizeImage - Applies a solarizing effect to the image
    • Imagick::sparseColorImage - Interpolates colors
    • Imagick::spliceImage - Splices a solid color into the image
    • Imagick::spreadImage - Randomly displaces each pixel in a block
    • Imagick::statisticImage - Description
    • Imagick::steganoImage - Hides a digital watermark within the image
    • Imagick::stereoImage - Composites two images
    • Imagick::stripImage - Strips an image of all profiles and comments
    • Imagick::subImageMatch - Description
    • Imagick::swirlImage - Swirls the pixels about the center of the image
    • Imagick::textureImage - Repeatedly tiles the texture image
    • Imagick::thresholdImage - Changes the value of individual pixels based on a threshold
    • Imagick::thumbnailImage - Changes the size of an image
    • Imagick::tintImage - Applies a color vector to each pixel in the image
    • Imagick::transformImage - Convenience method for setting crop size and the image geometry
    • Imagick::transformImageColorspace - Transforms an image to a new colorspace.
    • Imagick::transparentPaintImage - Paints pixels transparent
    • Imagick::transposeImage - Creates a vertical mirror image
    • Imagick::transverseImage - Creates a horizontal mirror image
    • Imagick::trimImage - Remove edges from the image
    • Imagick::uniqueImageColors - Discards all but one of any pixel color
    • Imagick::unsharpMaskImage - Sharpens an image
    • Imagick::valid - Checks if the current item is valid
    • Imagick::vignetteImage - Adds vignette filter to the image
    • Imagick::waveImage - Applies wave filter to the image
    • Imagick::whiteThresholdImage - Force all pixels above the threshold into white
    • Imagick::writeImage - Writes an image to the specified filename
    • Imagick::writeImageFile - Writes an image to a filehandle
    • Imagick::writeImages - Writes an image or image sequence
    • Imagick::writeImagesFile - Writes frames to a filehandle
    • Imagick::__construct - The Imagick constructor
    • Imagick::__toString - Returns the image as a string.
    • ImagickDraw::affine - Adjusts the current affine transformation matrix
    • ImagickDraw::annotation - Draws text on the image
    • ImagickDraw::arc - Draws an arc
    • ImagickDraw::bezier - Draws a bezier curve
    • ImagickDraw::circle - Draws a circle
    • ImagickDraw::clear - Clears the ImagickDraw
    • ImagickDraw::clone - Makes an exact copy of the specified ImagickDraw object
    • ImagickDraw::color - Draws color on image
    • ImagickDraw::comment - Adds a comment
    • ImagickDraw::composite - Composites an image onto the current image
    • ImagickDraw::destroy - Frees all associated resources
    • ImagickDraw::ellipse - Draws an ellipse on the image
    • ImagickDraw::getClipPath - Obtains the current clipping path ID
    • ImagickDraw::getClipRule - Returns the current polygon fill rule
    • ImagickDraw::getClipUnits - Returns the interpretation of clip path units
    • ImagickDraw::getFillColor - Returns the fill color
    • ImagickDraw::getFillOpacity - Returns the opacity used when drawing
    • ImagickDraw::getFillRule - Returns the fill rule
    • ImagickDraw::getFont - Returns the font
    • ImagickDraw::getFontFamily - Returns the font family
    • ImagickDraw::getFontSize - Returns the font pointsize
    • ImagickDraw::getFontStretch - Description
    • ImagickDraw::getFontStyle - Returns the font style
    • ImagickDraw::getFontWeight - Returns the font weight
    • ImagickDraw::getGravity - Returns the text placement gravity
    • ImagickDraw::getStrokeAntialias - Returns the current stroke antialias setting
    • ImagickDraw::getStrokeColor - Returns the color used for stroking object outlines
    • ImagickDraw::getStrokeDashArray - Returns an array representing the pattern of dashes and gaps used to stroke paths
    • ImagickDraw::getStrokeDashOffset - Returns the offset into the dash pattern to start the dash
    • ImagickDraw::getStrokeLineCap - Returns the shape to be used at the end of open subpaths when they are stroked
    • ImagickDraw::getStrokeLineJoin - Returns the shape to be used at the corners of paths when they are stroked
    • ImagickDraw::getStrokeMiterLimit - Returns the stroke miter limit
    • ImagickDraw::getStrokeOpacity - Returns the opacity of stroked object outlines
    • ImagickDraw::getStrokeWidth - Returns the width of the stroke used to draw object outlines
    • ImagickDraw::getTextAlignment - Returns the text alignment
    • ImagickDraw::getTextAntialias - Returns the current text antialias setting
    • ImagickDraw::getTextDecoration - Returns the text decoration
    • ImagickDraw::getTextEncoding - Returns the code set used for text annotations
    • ImagickDraw::getTextInterlineSpacing - Description
    • ImagickDraw::getTextInterwordSpacing - Description
    • ImagickDraw::getTextKerning - Description
    • ImagickDraw::getTextUnderColor - Returns the text under color
    • ImagickDraw::getVectorGraphics - Returns a string containing vector graphics
    • ImagickDraw::line - Draws a line
    • ImagickDraw::matte - Paints on the image's opacity channel
    • ImagickDraw::pathClose - Adds a path element to the current path
    • ImagickDraw::pathCurveToAbsolute - Draws a cubic Bezier curve
    • ImagickDraw::pathCurveToQuadraticBezierAbsolute - Draws a quadratic Bezier curve
    • ImagickDraw::pathCurveToQuadraticBezierRelative - Draws a quadratic Bezier curve
    • ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute - Draws a quadratic Bezier curve
    • ImagickDraw::pathCurveToQuadraticBezierSmoothRelative - Draws a quadratic Bezier curve
    • ImagickDraw::pathCurveToRelative - Draws a cubic Bezier curve
    • ImagickDraw::pathCurveToSmoothAbsolute - Draws a cubic Bezier curve
    • ImagickDraw::pathCurveToSmoothRelative - Draws a cubic Bezier curve
    • ImagickDraw::pathEllipticArcAbsolute - Draws an elliptical arc
    • ImagickDraw::pathEllipticArcRelative - Draws an elliptical arc
    • ImagickDraw::pathFinish - Terminates the current path
    • ImagickDraw::pathLineToAbsolute - Draws a line path
    • ImagickDraw::pathLineToHorizontalAbsolute - Draws a horizontal line path
    • ImagickDraw::pathLineToHorizontalRelative - Draws a horizontal line
    • ImagickDraw::pathLineToRelative - Draws a line path
    • ImagickDraw::pathLineToVerticalAbsolute - Draws a vertical line
    • ImagickDraw::pathLineToVerticalRelative - Draws a vertical line path
    • ImagickDraw::pathMoveToAbsolute - Starts a new sub-path
    • ImagickDraw::pathMoveToRelative - Starts a new sub-path
    • ImagickDraw::pathStart - Declares the start of a path drawing list
    • ImagickDraw::point - Draws a point
    • ImagickDraw::polygon - Draws a polygon
    • ImagickDraw::polyline - Draws a polyline
    • ImagickDraw::pop - Destroys the current ImagickDraw in the stack, and returns to the previously pushed ImagickDraw
    • ImagickDraw::popClipPath - Terminates a clip path definition
    • ImagickDraw::popDefs - Terminates a definition list
    • ImagickDraw::popPattern - Terminates a pattern definition
    • ImagickDraw::push - Clones the current ImagickDraw and pushes it to the stack
    • ImagickDraw::pushClipPath - Starts a clip path definition
    • ImagickDraw::pushDefs - Indicates that following commands create named elements for early processing
    • ImagickDraw::pushPattern - Indicates that subsequent commands up to a ImagickDraw::opPattern() command comprise the definition of a named pattern
    • ImagickDraw::rectangle - Draws a rectangle
    • ImagickDraw::render - Renders all preceding drawing commands onto the image
    • ImagickDraw::resetVectorGraphics - Description
    • ImagickDraw::rotate - Applies the specified rotation to the current coordinate space
    • ImagickDraw::roundRectangle - Draws a rounded rectangle
    • ImagickDraw::scale - Adjusts the scaling factor
    • ImagickDraw::setClipPath - Associates a named clipping path with the image
    • ImagickDraw::setClipRule - Set the polygon fill rule to be used by the clipping path
    • ImagickDraw::setClipUnits - Sets the interpretation of clip path units
    • ImagickDraw::setFillAlpha - Sets the opacity to use when drawing using the fill color or fill texture
    • ImagickDraw::setFillColor - Sets the fill color to be used for drawing filled objects
    • ImagickDraw::setFillOpacity - Sets the opacity to use when drawing using the fill color or fill texture
    • ImagickDraw::setFillPatternURL - Sets the URL to use as a fill pattern for filling objects
    • ImagickDraw::setFillRule - Sets the fill rule to use while drawing polygons
    • ImagickDraw::setFont - Sets the fully-specified font to use when annotating with text
    • ImagickDraw::setFontFamily - Sets the font family to use when annotating with text
    • ImagickDraw::setFontSize - Sets the font pointsize to use when annotating with text
    • ImagickDraw::setFontStretch - Sets the font stretch to use when annotating with text
    • ImagickDraw::setFontStyle - Sets the font style to use when annotating with text
    • ImagickDraw::setFontWeight - Sets the font weight
    • ImagickDraw::setGravity - Sets the text placement gravity
    • ImagickDraw::setResolution - Description
    • ImagickDraw::setStrokeAlpha - Specifies the opacity of stroked object outlines
    • ImagickDraw::setStrokeAntialias - Controls whether stroked outlines are antialiased
    • ImagickDraw::setStrokeColor - Sets the color used for stroking object outlines
    • ImagickDraw::setStrokeDashArray - Specifies the pattern of dashes and gaps used to stroke paths
    • ImagickDraw::setStrokeDashOffset - Specifies the offset into the dash pattern to start the dash
    • ImagickDraw::setStrokeLineCap - Specifies the shape to be used at the end of open subpaths when they are stroked
    • ImagickDraw::setStrokeLineJoin - Specifies the shape to be used at the corners of paths when they are stroked
    • ImagickDraw::setStrokeMiterLimit - Specifies the miter limit
    • ImagickDraw::setStrokeOpacity - Specifies the opacity of stroked object outlines
    • ImagickDraw::setStrokePatternURL - Sets the pattern used for stroking object outlines
    • ImagickDraw::setStrokeWidth - Sets the width of the stroke used to draw object outlines
    • ImagickDraw::setTextAlignment - Specifies a text alignment
    • ImagickDraw::setTextAntialias - Controls whether text is antialiased
    • ImagickDraw::setTextDecoration - Specifies a decoration
    • ImagickDraw::setTextEncoding - Specifies the text code set
    • ImagickDraw::setTextInterlineSpacing - Description
    • ImagickDraw::setTextInterwordSpacing - Description
    • ImagickDraw::setTextKerning - Description
    • ImagickDraw::setTextUnderColor - Specifies the color of a background rectangle
    • ImagickDraw::setVectorGraphics - Sets the vector graphics
    • ImagickDraw::setViewbox - Sets the overall canvas size
    • ImagickDraw::skewX - Skews the current coordinate system in the horizontal direction
    • ImagickDraw::skewY - Skews the current coordinate system in the vertical direction
    • ImagickDraw::translate - Applies a translation to the current coordinate system
    • ImagickDraw::__construct - The ImagickDraw constructor
    • ImagickKernel::addKernel - Description
    • ImagickKernel::addUnityKernel - Description
    • ImagickKernel::fromBuiltIn - Description
    • ImagickKernel::fromMatrix - Description
    • ImagickKernel::getMatrix - Description
    • ImagickKernel::scale - Description
    • ImagickKernel::separate - Description
    • ImagickPixel::clear - Clears resources associated with this object
    • ImagickPixel::destroy - Deallocates resources associated with this object
    • ImagickPixel::getColor - Returns the color
    • ImagickPixel::getColorAsString - Returns the color as a string
    • ImagickPixel::getColorCount - Returns the color count associated with this color
    • ImagickPixel::getColorQuantum - Description
    • ImagickPixel::getColorValue - Gets the normalized value of the provided color channel
    • ImagickPixel::getColorValueQuantum - Description
    • ImagickPixel::getHSL - Returns the normalized HSL color of the ImagickPixel object
    • ImagickPixel::getIndex - Description
    • ImagickPixel::isPixelSimilar - Check the distance between this color and another
    • ImagickPixel::isPixelSimilarQuantum - Description
    • ImagickPixel::isSimilar - Check the distance between this color and another
    • ImagickPixel::setColor - Sets the color
    • ImagickPixel::setColorCount - Description
    • ImagickPixel::setColorValue - Sets the normalized value of one of the channels
    • ImagickPixel::setColorValueQuantum - Description
    • ImagickPixel::setHSL - Sets the normalized HSL color
    • ImagickPixel::setIndex - Description
    • ImagickPixel::__construct - The ImagickPixel constructor
    • ImagickPixelIterator::clear - Clear resources associated with a PixelIterator
    • ImagickPixelIterator::destroy - Deallocates resources associated with a PixelIterator
    • ImagickPixelIterator::getCurrentIteratorRow - Returns the current row of ImagickPixel objects
    • ImagickPixelIterator::getIteratorRow - Returns the current pixel iterator row
    • ImagickPixelIterator::getNextIteratorRow - Returns the next row of the pixel iterator
    • ImagickPixelIterator::getPreviousIteratorRow - Returns the previous row
    • ImagickPixelIterator::newPixelIterator - Returns a new pixel iterator
    • ImagickPixelIterator::newPixelRegionIterator - Returns a new pixel iterator
    • ImagickPixelIterator::resetIterator - Resets the pixel iterator
    • ImagickPixelIterator::setIteratorFirstRow - Sets the pixel iterator to the first pixel row
    • ImagickPixelIterator::setIteratorLastRow - Sets the pixel iterator to the last pixel row
    • ImagickPixelIterator::setIteratorRow - Set the pixel iterator row
    • ImagickPixelIterator::syncIterator - Syncs the pixel iterator
    • ImagickPixelIterator::__construct - The ImagickPixelIterator constructor
    • imap_8bit - Konvertiert einen 8bit String in einen quoted-printable String
    • imap_alerts - Liefert alle aufgetretenen IMAP Alarmnachrichten
    • imap_append - String als Nachricht in einem Postfach ablegen
    • imap_base64 - Dekodiert Base-64 kodierten Text
    • imap_binary - Konvertiert einen 8 Bit String in einen Base64 codierten String
    • imap_body - Liefert den Körper einer Nachricht
    • imap_bodystruct - Liefert die Struktur eines bestimmten Nachrichtenteils
    • imap_check - Informationen zum aktuellen Postfach
    • imap_clearflag_full - Löscht Flags einer Nachricht
    • imap_close - Schließt einen IMAP Stream
    • imap_create - Alias von imap_createmailbox
    • imap_createmailbox - Anlegen eines neuen Postfachs
    • imap_delete - Nachrichten im aktuellen Postfach zur Löschung markieren
    • imap_deletemailbox - Löscht ein Postfach
    • imap_errors - Diese Funktion liefert alle bisher aufgetretenen Fehlermeldungen
    • imap_expunge - Löscht alle zum Löschen markierte Nachrichten
    • imap_fetchbody - Liefert einen bestimmten Abschnitt aus dem Körper einer Nachricht
    • imap_fetchheader - Liefert den Kopf einer Nachricht
    • imap_fetchmime - Fetch MIME headers for a particular section of the message
    • imap_fetchstructure - Ermittelt die Struktur einer Nachricht
    • imap_fetchtext - Alias von imap_body
    • imap_fetch_overview - Liefert einen Auszug aus den Kopfdaten von Nachrichten
    • imap_gc - Leert den IMAP Cache
    • imap_getacl - Liste der Zugriffsrechte für ein Postfach bestimmen
    • imap_getmailboxes - Liefert detailierte Informationen zu allen verfügbaren Postfächern
    • imap_getsubscribed - Liste aller abonnierten Postfächer
    • imap_get_quota - Liefert Quota-Beschränkungen und Nutzungsstatistik der Postfächer
    • imap_get_quotaroot - Liefert die Quota-Beschränkungen für ein Benutzerpostfach
    • imap_header - Alias von imap_headerinfo
    • imap_headerinfo - Liest die Kopfdaten einer Nachricht
    • imap_headers - Liefert eine Zusammenfassung aller Nachrichtenköpfe eines Postfachs
    • imap_last_error - Liefert die letzte IMAP-Fehlermeldung für dieses Script
    • imap_list - Liste der Postfächer lesen
    • imap_listmailbox - Alias von imap_list
    • imap_listscan - Listet Postfächer nach Suchkriterien
    • imap_listsubscribed - Alias von imap_lsub
    • imap_lsub - Liste aller abonierten Postfächer
    • imap_mail - Sendet eine Email Nachricht
    • imap_mailboxmsginfo - Informationen zum aktuellen Postfach
    • imap_mail_compose - Erzeugt eine MIME-Nachricht aus Kopf- und Nachrichtenelementen
    • imap_mail_copy - Kopiert Nachrichten in ein Postfach
    • imap_mail_move - Verschiebt Nachrichten in ein anderes Postfach
    • imap_mime_header_decode - Dekodiert MIME-codierte Headerzeilen
    • imap_msgno - Liefert die Nachrichtennummer für eine gegebene UID
    • imap_num_msg - Anzahl der Nachrichten im aktuellen Postfach
    • imap_num_recent - Nummer der kürzlich eingetroffenen Nachrichten
    • imap_open - Öffnet eine Verbindung zu einem Mailserver-Postfach
    • imap_ping - Prüft einen IMAP-Stream auf Funktionalität
    • imap_qprint - Konvertiert einen quoted-printable kodierten String in einen 8 Bit String
    • imap_rename - Alias von imap_renamemailbox
    • imap_renamemailbox - Ändert den Namen eines Postfachs
    • imap_reopen - Wechselt das aktuelle Postfach der Verbindung
    • imap_rfc822_parse_adrlist - Zerlegt einen Mailadressstring
    • imap_rfc822_parse_headers - Email-Kopfzeilen aus einem String auslesen
    • imap_rfc822_write_address - Bildet aus Realnamen, Postfach und Server eine korrekt formatierte Mail-Adresse
    • imap_savebody - Speichert einen bestimmten Body-Abschnitt einer Nachricht als Datei
    • imap_scan - Alias von imap_listscan
    • imap_scanmailbox - Alias von imap_listscan
    • imap_search - Liefert ein Array von Nachrichten die den gegebenen Suchkriterien entsprechen
    • imap_setacl - Setzen der ACL für ein Postfach
    • imap_setflag_full - Setzt Nachrichtenflags
    • imap_set_quota - Setzt die Mengenbeschränkung für ein Postfach
    • imap_sort - Sortiert Nachrichten eines Postfachs
    • imap_status - Liefert Statusinformationen zum angegebenen Postfach
    • imap_subscribe - Abbonieren eines Postfachs
    • imap_thread - Liefert einen Baum zusammenhängender Nachrichten
    • imap_timeout - Imap Timeout setzen oder lesen
    • imap_uid - Liefert die UID für die gegebene Nachrichtennummer
    • imap_undelete - Nimmt eine bereits gesetzte Löschmarkierung einer Nachricht zurück
    • imap_unsubscribe - Abonnement eines Postfachs beenden
    • imap_utf7_decode - Dekodiert einem String im modifizierten UTF-7-Format
    • imap_utf7_encode - Kodiert ISO-8859-1 Text im modifizieren UTF-7-Format
    • imap_utf8 - Konvertiert Text zu UTF8
    • implode - Verbindet Array-Elemente zu einem String
    • import_request_variables - Import GET/POST/Cookie variables into the global scope
    • inclued_get_data - Gibt die Inclued-Daten aus
    • inet_ntop - Konvertiert eine komprimierte Internetadresse in ein menschenlesbares Format
    • inet_pton - Konvertiert eine IP-Adresse im menschenlesbaren Format in eine komprimierte in_addr-Repräsentation
    • InfiniteIterator::next - Moves the inner Iterator forward or rewinds it
    • InfiniteIterator::__construct - Constructs an InfiniteIterator
    • inflate_add - Incrementally inflate encoded data
    • inflate_init - Initialize an incremental inflate context
    • ingres_autocommit - Schaltet den autocommit-Modus an oder aus
    • ingres_autocommit_state - Prüft, ob die Verbindung im autocommit-Modus arbeitet
    • ingres_charset - Gibt den verwendeten Zeichensatz der Installation zurück
    • ingres_close - Schließt eine Ingres-II-Datenbankverbindung
    • ingres_commit - Beendet eine Transaktion
    • ingres_connect - Öffnet eine Verbindung zu einem Ingres-II-Datenbankserver
    • ingres_cursor - Gibt den Namen eines Cursors für die angegebene Ergebnis-Ressource zurück
    • ingres_errno - Gibt den letzten Ingres-Fehlercode zurück
    • ingres_error - Gibt eine textuelle Beschreibung des letzten Fehlercodes zurück
    • ingres_errsqlstate - Gibt den letzten Fehlercode von SQLSTATE zurück
    • ingres_escape_string - Maskiert Sonderzeichen in Datenbankabfragen
    • ingres_execute - Führt eine vorbereitete Abfrage aus
    • ingres_fetch_array - Liest eine Zeile der Ergebnismenge in ein Array ein
    • ingres_fetch_assoc - Fetch a row of result into an associative array
    • ingres_fetch_object - Gibt eine Zeile der Ergebnismenge als Objekt zurück
    • ingres_fetch_proc_return - Holt den Rückgabewert eines Prozeduraufrufs
    • ingres_fetch_row - Holt eine Zeile aus einer Ergebnismenge in ein numerisches Array
    • ingres_field_length - Gibt die Länge eines Feldes zurück
    • ingres_field_name - Holt den Namen eines Feldes in einer Ergebnismenge
    • ingres_field_nullable - Prüft, ob für ein Feld NULL-Werte zugelassen sind
    • ingres_field_precision - Gibt die Genauigkeit eines Feldes zurück
    • ingres_field_scale - Gibt die Größe eines skalaren Feldes zurück
    • ingres_field_type - Gibt den Typ eines Feldes in einer Ergebnismenge zurück
    • ingres_free_result - Gibt den durch ein Ergebnis belegten Speicher frei
    • ingres_next_error - Ermittelt den nächsten Ingres-Fehler
    • ingres_num_fields - Gibt die Anzahl der Felder der letzten Abfrage zurück
    • ingres_num_rows - Gibt die Anzahl der Datensätze der Ergebnismenge oder die Anzahl der von der letzten Abfrage betroffenen Datensätze zurück
    • ingres_pconnect - Öffnet eine persistente Verbindung zu einer Ingres-Datenbank
    • ingres_prepare - Bereitet eine Abfrage zur späteren Ausführung vor
    • ingres_query - Sendet eine SQL-Abfrage an den Ingres-Server
    • ingres_result_seek - Positioniert den Datensatzzeiger, bevor Daten geholt werden
    • ingres_rollback - Setzt eine Transaktion zurück
    • ingres_set_environment - Setzt Eigenschaften der Umgebung zur Ausgabesteuerung
    • ingres_unbuffered_query - Sendet eine SQL-Abfrage an Ingres, ohne die Ergebniszeilen zu puffern
    • ini_alter - Alias von ini_set
    • ini_get - Gets the value of a configuration option
    • ini_get_all - Gets all configuration options
    • ini_restore - Restores the value of a configuration option
    • ini_set - Sets the value of a configuration option
    • inotify_add_watch - Add a watch to an initialized inotify instance
    • inotify_init - Initialize an inotify instance
    • inotify_queue_len - Return a number upper than zero if there are pending events
    • inotify_read - Read events from an inotify instance
    • inotify_rm_watch - Remove an existing watch from an inotify instance
    • intdiv - Integer division
    • interface_exists - Prüft ob ein bestimmtes Interface definiert wurde
    • IntlBreakIterator::createCharacterInstance - Create break iterator for boundaries of combining character sequences
    • IntlBreakIterator::createCodePointInstance - Create break iterator for boundaries of code points
    • IntlBreakIterator::createLineInstance - Create break iterator for logically possible line breaks
    • IntlBreakIterator::createSentenceInstance - Create break iterator for sentence breaks
    • IntlBreakIterator::createTitleInstance - Create break iterator for title-casing breaks
    • IntlBreakIterator::createWordInstance - Create break iterator for word breaks
    • IntlBreakIterator::current - Get index of current position
    • IntlBreakIterator::first - Set position to the first character in the text
    • IntlBreakIterator::following - Advance the iterator to the first boundary following specified offset
    • IntlBreakIterator::getErrorCode - Get last error code on the object
    • IntlBreakIterator::getErrorMessage - Get last error message on the object
    • IntlBreakIterator::getLocale - Get the locale associated with the object
    • IntlBreakIterator::getPartsIterator - Create iterator for navigating fragments between boundaries
    • IntlBreakIterator::getText - Get the text being scanned
    • IntlBreakIterator::isBoundary - Tell whether an offset is a boundary's offset
    • IntlBreakIterator::last - Set the iterator position to index beyond the last character
    • IntlBreakIterator::next - Advance the iterator the next boundary
    • IntlBreakIterator::preceding - Set the iterator position to the first boundary before an offset
    • IntlBreakIterator::previous - Set the iterator position to the boundary immediately before the current
    • IntlBreakIterator::setText - Set the text being scanned
    • IntlBreakIterator::__construct - Private constructor for disallowing instantiation
    • IntlCalendar::add - Add a (signed) amount of time to a field
    • IntlCalendar::after - Whether this object's time is after that of the passed object
    • IntlCalendar::before - Whether this object's time is before that of the passed object
    • IntlCalendar::clear - Clear a field or all fields
    • IntlCalendar::createInstance - Create a new IntlCalendar
    • IntlCalendar::equals - Compare time of two IntlCalendar objects for equality
    • IntlCalendar::fieldDifference - Calculate difference between given time and this object's time
    • IntlCalendar::fromDateTime - Create an IntlCalendar from a DateTime object or string
    • IntlCalendar::get - Get the value for a field
    • IntlCalendar::getActualMaximum - The maximum value for a field, considering the object's current time
    • IntlCalendar::getActualMinimum - The minimum value for a field, considering the object's current time
    • IntlCalendar::getAvailableLocales - Get array of locales for which there is data
    • IntlCalendar::getDayOfWeekType - Tell whether a day is a weekday, weekend or a day that has a transition between the two
    • IntlCalendar::getErrorCode - Get last error code on the object
    • IntlCalendar::getErrorMessage - Get last error message on the object
    • IntlCalendar::getFirstDayOfWeek - Get the first day of the week for the calendar's locale
    • IntlCalendar::getGreatestMinimum - Get the largest local minimum value for a field
    • IntlCalendar::getKeywordValuesForLocale - Get set of locale keyword values
    • IntlCalendar::getLeastMaximum - Get the smallest local maximum for a field
    • IntlCalendar::getLocale - Get the locale associated with the object
    • IntlCalendar::getMaximum - Get the global maximum value for a field
    • IntlCalendar::getMinimalDaysInFirstWeek - Get minimal number of days the first week in a year or month can have
    • IntlCalendar::getMinimum - Get the global minimum value for a field
    • IntlCalendar::getNow - Get number representing the current time
    • IntlCalendar::getRepeatedWallTimeOption - Get behavior for handling repeating wall time
    • IntlCalendar::getSkippedWallTimeOption - Get behavior for handling skipped wall time
    • IntlCalendar::getTime - Get time currently represented by the object
    • IntlCalendar::getTimeZone - Get the object's timezone
    • IntlCalendar::getType - Get the calendar type
    • IntlCalendar::getWeekendTransition - Get time of the day at which weekend begins or ends
    • IntlCalendar::inDaylightTime - Whether the object's time is in Daylight Savings Time
    • IntlCalendar::isEquivalentTo - Whether another calendar is equal but for a different time
    • IntlCalendar::isLenient - Whether date/time interpretation is in lenient mode
    • IntlCalendar::isSet - Whether a field is set
    • IntlCalendar::isWeekend - Whether a certain date/time is in the weekend
    • IntlCalendar::roll - Add value to field without carrying into more significant fields
    • IntlCalendar::set - Set a time field or several common fields at once
    • IntlCalendar::setFirstDayOfWeek - Set the day on which the week is deemed to start
    • IntlCalendar::setLenient - Set whether date/time interpretation is to be lenient
    • IntlCalendar::setMinimalDaysInFirstWeek - Set minimal number of days the first week in a year or month can have
    • IntlCalendar::setRepeatedWallTimeOption - Set behavior for handling repeating wall times at negative timezone offset transitions
    • IntlCalendar::setSkippedWallTimeOption - Set behavior for handling skipped wall times at positive timezone offset transitions
    • IntlCalendar::setTime - Set the calendar time in milliseconds since the epoch
    • IntlCalendar::setTimeZone - Set the timezone used by this calendar
    • IntlCalendar::toDateTime - Convert an IntlCalendar into a DateTime object
    • IntlCalendar::__construct - Private constructor for disallowing instantiation
    • IntlChar::charAge - Get the "age" of the code point
    • IntlChar::charDigitValue - Get the decimal digit value of a decimal digit character
    • IntlChar::charDirection - Get bidirectional category value for a code point
    • IntlChar::charFromName - Find Unicode character by name and return its code point value
    • IntlChar::charMirror - Get the "mirror-image" character for a code point
    • IntlChar::charName - Retrieve the name of a Unicode character
    • IntlChar::charType - Get the general category value for a code point
    • IntlChar::chr - Return Unicode character by code point value
    • IntlChar::digit - Get the decimal digit value of a code point for a given radix
    • IntlChar::enumCharNames - Enumerate all assigned Unicode characters within a range
    • IntlChar::enumCharTypes - Enumerate all code points with their Unicode general categories
    • IntlChar::foldCase - Perform case folding on a code point
    • IntlChar::forDigit - Get character representation for a given digit and radix
    • IntlChar::getBidiPairedBracket - Get the paired bracket character for a code point
    • IntlChar::getBlockCode - Get the Unicode allocation block containing a code point
    • IntlChar::getCombiningClass - Get the combining class of a code point
    • IntlChar::getFC_NFKC_Closure - Get the FC_NFKC_Closure property for a code point
    • IntlChar::getIntPropertyMaxValue - Get the max value for a Unicode property
    • IntlChar::getIntPropertyMinValue - Get the min value for a Unicode property
    • IntlChar::getIntPropertyValue - Get the value for a Unicode property for a code point
    • IntlChar::getNumericValue - Get the numeric value for a Unicode code point
    • IntlChar::getPropertyEnum - Get the property constant value for a given property name
    • IntlChar::getPropertyName - Get the Unicode name for a property
    • IntlChar::getPropertyValueEnum - Get the property value for a given value name
    • IntlChar::getPropertyValueName - Get the Unicode name for a property value
    • IntlChar::getUnicodeVersion - Get the Unicode version
    • IntlChar::hasBinaryProperty - Check a binary Unicode property for a code point
    • IntlChar::isalnum - Check if code point is an alphanumeric character
    • IntlChar::isalpha - Check if code point is a letter character
    • IntlChar::isbase - Check if code point is a base character
    • IntlChar::isblank - Check if code point is a "blank" or "horizontal space" character
    • IntlChar::iscntrl - Check if code point is a control character
    • IntlChar::isdefined - Check whether the code point is defined
    • IntlChar::isdigit - Check if code point is a digit character
    • IntlChar::isgraph - Check if code point is a graphic character
    • IntlChar::isIDIgnorable - Check if code point is an ignorable character
    • IntlChar::isIDPart - Check if code point is permissible in an identifier
    • IntlChar::isIDStart - Check if code point is permissible as the first character in an identifier
    • IntlChar::isISOControl - Check if code point is an ISO control code
    • IntlChar::isJavaIDPart - Check if code point is permissible in a Java identifier
    • IntlChar::isJavaIDStart - Check if code point is permissible as the first character in a Java identifier
    • IntlChar::isJavaSpaceChar - Check if code point is a space character according to Java
    • IntlChar::islower - Check if code point is a lowercase letter
    • IntlChar::isMirrored - Check if code point has the Bidi_Mirrored property
    • IntlChar::isprint - Check if code point is a printable character
    • IntlChar::ispunct - Check if code point is punctuation character
    • IntlChar::isspace - Check if code point is a space character
    • IntlChar::istitle - Check if code point is a titlecase letter
    • IntlChar::isUAlphabetic - Check if code point has the Alphabetic Unicode property
    • IntlChar::isULowercase - Check if code point has the Lowercase Unicode property
    • IntlChar::isupper - Check if code point has the general category "Lu" (uppercase letter)
    • IntlChar::isUUppercase - Check if code point has the Uppercase Unicode property
    • IntlChar::isUWhiteSpace - Check if code point has the White_Space Unicode property
    • IntlChar::isWhitespace - Check if code point is a whitespace character according to ICU
    • IntlChar::isxdigit - Check if code point is a hexadecimal digit
    • IntlChar::ord - Return Unicode code point value of character
    • IntlChar::tolower - Make Unicode character lowercase
    • IntlChar::totitle - Make Unicode character titlecase
    • IntlChar::toupper - Make Unicode character uppercase
    • IntlCodePointBreakIterator::getLastCodePoint - Get last code point passed over after advancing or receding the iterator
    • IntlDateFormatter::create - Create a date formatter
    • IntlDateFormatter::format - Format the date/time value as a string
    • IntlDateFormatter::formatObject - Formats an object
    • IntlDateFormatter::getCalendar - Get the calendar type used for the IntlDateFormatter
    • IntlDateFormatter::getCalendarObject - Get copy of formatter's calendar object
    • IntlDateFormatter::getDateType - Get the datetype used for the IntlDateFormatter
    • IntlDateFormatter::getErrorCode - Get the error code from last operation
    • IntlDateFormatter::getErrorMessage - Get the error text from the last operation.
    • IntlDateFormatter::getLocale - Get the locale used by formatter
    • IntlDateFormatter::getPattern - Get the pattern used for the IntlDateFormatter
    • IntlDateFormatter::getTimeType - Get the timetype used for the IntlDateFormatter
    • IntlDateFormatter::getTimeZone - Get formatter's timezone
    • IntlDateFormatter::getTimeZoneId - Get the timezone-id used for the IntlDateFormatter
    • IntlDateFormatter::isLenient - Get the lenient used for the IntlDateFormatter
    • IntlDateFormatter::localtime - Parse string to a field-based time value
    • IntlDateFormatter::parse - Parse string to a timestamp value
    • IntlDateFormatter::setCalendar - Sets the calendar type used by the formatter
    • IntlDateFormatter::setLenient - Set the leniency of the parser
    • IntlDateFormatter::setPattern - Set the pattern used for the IntlDateFormatter
    • IntlDateFormatter::setTimeZone - Sets formatter's timezone
    • IntlDateFormatter::setTimeZoneId - Sets the time zone to use
    • IntlIterator::current - Get the current element
    • IntlIterator::key - Get the current key
    • IntlIterator::next - Move forward to the next element
    • IntlIterator::rewind - Rewind the iterator to the first element
    • IntlIterator::valid - Check if current position is valid
    • IntlPartsIterator::getBreakIterator - Get IntlBreakIterator backing this parts iterator
    • IntlRuleBasedBreakIterator::getBinaryRules - Get the binary form of compiled rules
    • IntlRuleBasedBreakIterator::getRules - Get the rule set used to create this object
    • IntlRuleBasedBreakIterator::getRuleStatus - Get the largest status value from the break rules that determined the current break position
    • IntlRuleBasedBreakIterator::getRuleStatusVec - Get the status values from the break rules that determined the current break position
    • IntlRuleBasedBreakIterator::__construct - Create iterator from ruleset
    • IntlTimeZone::countEquivalentIDs - Get the number of IDs in the equivalency group that includes the given ID
    • IntlTimeZone::createDefault - Create a new copy of the default timezone for this host
    • IntlTimeZone::createEnumeration - Get an enumeration over time zone IDs associated with the given country or offset
    • IntlTimeZone::createTimeZone - Create a timezone object for the given ID
    • IntlTimeZone::fromDateTimeZone - Create a timezone object from DateTimeZone
    • IntlTimeZone::getCanonicalID - Get the canonical system timezone ID or the normalized custom time zone ID for the given time zone ID
    • IntlTimeZone::getDisplayName - Get a name of this time zone suitable for presentation to the user
    • IntlTimeZone::getDSTSavings - Get the amount of time to be added to local standard time to get local wall clock time
    • IntlTimeZone::getEquivalentID - Get an ID in the equivalency group that includes the given ID
    • IntlTimeZone::getErrorCode - Get last error code on the object
    • IntlTimeZone::getErrorMessage - Get last error message on the object
    • IntlTimeZone::getGMT - Create GMT (UTC) timezone
    • IntlTimeZone::getID - Get timezone ID
    • IntlTimeZone::getOffset - Get the time zone raw and GMT offset for the given moment in time
    • IntlTimeZone::getRawOffset - Get the raw GMT offset (before taking daylight savings time into account
    • IntlTimeZone::getTZDataVersion - Get the timezone data version currently used by ICU
    • IntlTimeZone::hasSameRules - Check if this zone has the same rules and offset as another zone
    • IntlTimeZone::toDateTimeZone - Convert to DateTimeZone object
    • IntlTimeZone::useDaylightTime - Check if this time zone uses daylight savings time
    • intl_error_name - Get symbolic name for a given error code
    • intl_get_error_code - Get the last error code
    • intl_get_error_message - Get description of the last error
    • intl_is_failure - Check whether the given error code indicates failure
    • intval - Konvertiert einen Wert nach integer
    • in_array - Prüft, ob ein Wert in einem Array existiert
    • ip2long - Verwandelt eine gemäß IPv4-Protokoll angegebene Internet-Adresse vom Punkt-Format in die ausgeschriebene Adress-Angabe
    • iptcembed - Embeds binary IPTC data into a JPEG image
    • iptcparse - Parse a binary IPTC block into single tags.
    • isset - Prüft, ob eine Variable existiert und ob sie nicht NULL ist
    • is_a - Checks if the object is of this class or has this class as one of its parents
    • is_array - Prüft, ob die Variable ein Array ist
    • is_bool - Prüft, ob eine Variable vom Typ boolean ist
    • is_callable - Prüft ob der Inhalt einer Variable als Funktion aufgerufen werden kann
    • is_dir - Prüft, ob der angegebene Dateiname ein Verzeichnis ist
    • is_double - Alias von is_float
    • is_executable - Prüft, ob der Dateiname ausführbar ist
    • is_file - Prüft, ob der Dateiname eine reguläre Datei ist
    • is_finite - Prüft auf einen gültigen endlichen Wert
    • is_float - Prüft, ob eine Variable vom Typ float ist
    • is_infinite - Prüft ob ein Wert unendlich ist
    • is_int - Prüft, ob eine Variable vom Typ int ist
    • is_integer - Alias von is_int
    • is_link - Prüft, ob der Dateiname ein symbolischer Link ist
    • is_long - Alias von is_int
    • is_nan - Prüft ob ein Wert keine Zahl ist
    • is_null - Prüft ob eine Variable NULL enthält
    • is_numeric - Prüft, ob eine Variable eine Zahl oder ein numerischer String ist
    • is_object - Prüft, ob eine Variable vom Typ object ist
    • is_readable - Prüft, ob eine Datei existiert und lesbar ist
    • is_real - Alias von is_float
    • is_resource - Prüft, ob eine Variable vom Typ resource ist
    • is_scalar - Prüft ob eine Variable skalar ist
    • is_soap_fault - Prüft, ob ein SOAP-Aufruf fehlgeschlagen ist
    • is_string - Prüft, ob Variable vom Typ string ist
    • is_subclass_of - Prüft ob ein Objekt von der angegebenen Klasse abstammt oder sie implementiert
    • is_tainted - Checks whether a string is tainted
    • is_uploaded_file - Prüft, ob die Datei mittels HTTP-POST upgeloadet wurde
    • is_writable - Prüft, ob in eine Datei geschrieben werden kann
    • is_writeable - Alias von is_writable
    • Iterator::current - Gibt das aktuelle Element zurück
    • Iterator::key - Gibt den Schlüssel des aktuellen Elements zurück
    • Iterator::next - Rückt den Zeiger auf das nächste Element vor
    • Iterator::rewind - Setzt den Iterator auf das erste Element zurück
    • Iterator::valid - Prüft, ob die aktuelle Position zulässig ist
    • IteratorAggregate::getIterator - Holt einen externen Iterator
    • IteratorIterator::current - Get the current value
    • IteratorIterator::getInnerIterator - Get the inner iterator
    • IteratorIterator::key - Get the key of the current element
    • IteratorIterator::next - Forward to the next element
    • IteratorIterator::rewind - Rewind to the first element
    • IteratorIterator::valid - Checks if the iterator is valid
    • IteratorIterator::__construct - Create an iterator from anything that is traversable
    • iterator_apply - Call a function for every element in an iterator
    • iterator_count - Count the elements in an iterator
    • iterator_to_array - Copy the iterator into an array
  • j
    • jddayofweek - Bestimmt den Wochentag aus einem Julianischen Datum
    • jdmonthname - Bestimmt den Monat aus dem Julianischen Datum
    • jdtofrench - Konvertiert ein Julianisches Datum zum Kalender der Französischen Revolution
    • jdtogregorian - Konvertierung vom Julianischen Datum zum Gregorianischen Kalender
    • jdtojewish - Konvertierung vom Julianischen Datum zum Jüdischen Kalender
    • jdtojulian - Konvertierung vom Julianischen Datum zum Julianischen Kalender
    • jdtounix - Konvertiert Julianisches Datum in Unix-Timestamp
    • jewishtojd - Konvertiert vom Jüdischen Kalender zum Julianischen Datum
    • join - Alias von implode
    • jpeg2wbmp - Konvertiert eine JPEG-Bilddatei in eine WBMP-Bilddatei
    • JsonSerializable::jsonSerialize - Angegebene Daten, die in JSON serialisiert werden sollen
    • json_decode - Dekodiert eine JSON-Zeichenkette
    • json_encode - Gibt die JSON-Repräsentation eines Wertes zurück
    • json_last_error - Gibt den letzten aufgetretenen Fehler zurück
    • json_last_error_msg - Gibt die Fehlermeldung des letzten Aufrufs von json_encode oder json_decode() zurück
    • Judy::byCount - Locate the Nth index present in the Judy array
    • Judy::count - Count the number of elements in the Judy array
    • Judy::first - Search for the first index in the Judy array
    • Judy::firstEmpty - Search for the first absent index in the Judy array
    • Judy::free - Free the entire Judy array
    • Judy::getType - Return the type of the current Judy array
    • Judy::last - Search for the last index in the Judy array
    • Judy::lastEmpty - Search for the last absent index in the Judy array
    • Judy::memoryUsage - Return the memory used by the Judy array
    • Judy::next - Search for the next index in the Judy array
    • Judy::nextEmpty - Search for the next absent index in the Judy array
    • Judy::offsetExists - Whether a offset exists
    • Judy::offsetGet - Offset to retrieve
    • Judy::offsetSet - Offset to set
    • Judy::offsetUnset - Offset to unset
    • Judy::prev - Search for the previous index in the Judy array
    • Judy::prevEmpty - Search for the previous absent index in the Judy array
    • Judy::size - Return the size of the current Judy array
    • Judy::__construct - Construct a new Judy object
    • Judy::__destruct - Destruct a Judy object
    • judy_type - Return the type of a Judy array
    • judy_version - Return or print the current PHP Judy version
    • juliantojd - Konvertierung vom Julianischen Kalender zum Julianischen Datum
  • k
    • kadm5_chpass_principal - Changes the principal's password
    • kadm5_create_principal - Creates a kerberos principal with the given parameters
    • kadm5_delete_principal - Deletes a kerberos principal
    • kadm5_destroy - Closes the connection to the admin server and releases all related resources
    • kadm5_flush - Flush all changes to the Kerberos database
    • kadm5_get_policies - Gets all policies from the Kerberos database
    • kadm5_get_principal - Gets the principal's entries from the Kerberos database
    • kadm5_get_principals - Gets all principals from the Kerberos database
    • kadm5_init_with_password - Opens a connection to the KADM5 library
    • kadm5_modify_principal - Modifies a kerberos principal with the given parameters
    • key - Liefert einen Schlüssel eines Arrays
    • key_exists - Alias von array_key_exists
    • Kontextparameter - Liste der Kontextparameter
    • krsort - Sortiert ein Array nach Schlüsseln in umgekehrter Reihenfolge
    • ksort - Sortiert ein Array nach Schlüsseln
    • KTaglib_ID3v2_AttachedPictureFrame::getDescription - Returns a description for the picture in a picture frame
    • KTaglib_ID3v2_AttachedPictureFrame::getMimeType - Returns the mime type of the picture
    • KTaglib_ID3v2_AttachedPictureFrame::getType - Returns the type of the image
    • KTaglib_ID3v2_AttachedPictureFrame::savePicture - Saves the picture to a file
    • KTaglib_ID3v2_AttachedPictureFrame::setMimeType - Set's the mime type of the picture
    • KTaglib_ID3v2_AttachedPictureFrame::setPicture - Sets the frame picture to the given image
    • KTaglib_ID3v2_AttachedPictureFrame::setType - Set the type of the image
    • KTaglib_ID3v2_Frame::getSize - Returns the size of the frame in bytes
    • KTaglib_ID3v2_Frame::__toString - Returns a string representation of the frame
    • KTaglib_ID3v2_Tag::addFrame - Add a frame to the ID3v2 tag
    • KTaglib_ID3v2_Tag::getFrameList - Returns an array of ID3v2 frames, associated with the ID3v2 tag
    • KTaglib_MPEG_AudioProperties::getBitrate - Returns the bitrate of the MPEG file
    • KTaglib_MPEG_AudioProperties::getChannels - Returns the amount of channels of a MPEG file
    • KTaglib_MPEG_AudioProperties::getLayer - Returns the layer of a MPEG file
    • KTaglib_MPEG_AudioProperties::getLength - Returns the length of a MPEG file
    • KTaglib_MPEG_AudioProperties::getSampleBitrate - Returns the sample bitrate of a MPEG file
    • KTaglib_MPEG_AudioProperties::getVersion - Returns the version of a MPEG file
    • KTaglib_MPEG_AudioProperties::isCopyrighted - Returns the copyright status of an MPEG file
    • KTaglib_MPEG_AudioProperties::isOriginal - Returns if the file is marked as the original file
    • KTaglib_MPEG_AudioProperties::isProtectionEnabled - Returns if protection mechanisms of an MPEG file are enabled
    • KTaglib_MPEG_File::getAudioProperties - Returns an object that provides access to the audio properties
    • KTaglib_MPEG_File::getID3v1Tag - Returns an object representing an ID3v1 tag
    • KTaglib_MPEG_File::getID3v2Tag - Returns a ID3v2 object
    • KTaglib_MPEG_File::__construct - Opens a new file
    • KTaglib_Tag::getAlbum - Returns the title string from a ID3 tag
    • KTaglib_Tag::getArtist - Returns the artist string from a ID3 tag
    • KTaglib_Tag::getComment - Returns the comment from a ID3 tag
    • KTaglib_Tag::getGenre - Returns the genre from a ID3 tag
    • KTaglib_Tag::getTitle - Returns the title string from a ID3 tag
    • KTaglib_Tag::getTrack - Returns the track number from a ID3 tag
    • KTaglib_Tag::getYear - Returns the year from a ID3 tag
    • KTaglib_Tag::isEmpty - Returns true if the tag is empty
  • l
    • Lapack::eigenValues - This function returns the eigenvalues for a given square matrix
    • Lapack::identity - Return an identity matrix
    • Lapack::leastSquaresByFactorisation - Calculate the linear least squares solution of a matrix using QR factorisation
    • Lapack::leastSquaresBySVD - Solve the linear least squares problem, using SVD
    • Lapack::pseudoInverse - Calculate the inverse of a matrix
    • Lapack::singularValues - Calculated the singular values of a matrix
    • Lapack::solveLinearEquation - Solve a system of linear equations
    • lcfirst - Wandelt den ersten Buchstaben eines Strings in einen Kleinbuchstaben um
    • lcg_value - Kongruenzgenerator für Pseudozufallszahlen
    • lchgrp - Changes group ownership of symlink
    • lchown - Changes user ownership of symlink
    • ldap_8859_to_t61 - Übersetzt 8859 Zeichen nach t61 Zeichen
    • ldap_add - Einträge einem LDAP Verzeichnis hinzufügen
    • ldap_bind - Bindung zu einem LDAP Verzeichnis
    • ldap_close - Verbindung zum LDAP-Server schließen
    • ldap_compare - Vergleicht gefundenen Wert eines Merkmal in einem Eintrag, der durch Angabe von dn bestimmt wird.
    • ldap_connect - Verbindet zu einem LDAP Server
    • ldap_control_paged_result - Send LDAP pagination control
    • ldap_control_paged_result_response - Retrieve the LDAP pagination cookie
    • ldap_count_entries - Zählt die Anzahl der Einträge bei einer Suche
    • ldap_delete - Löscht einen Eintrag aus einem Verzeichnis
    • ldap_dn2ufn - Konvertiert DN in ein benutzerfreundliches Namensformat
    • ldap_err2str - Konvertiert eine LDAP Fehlernummer in einen Fehlertext
    • ldap_errno - Liefert die LDAP Fehlernummer des letzten LDAP Kommandos
    • ldap_error - Liefert die LDAP Fehlermeldung des letzten LDAP Kommandos
    • ldap_escape - Escape a string for use in an LDAP filter or DN
    • ldap_explode_dn - Aufteilung eines DN in seine Bestandteile
    • ldap_first_attribute - Liefert das erste Merkmal
    • ldap_first_entry - Liefert die Kennung des ersten Ergebnisses
    • ldap_first_reference - Liefert die erste Referenz
    • ldap_free_result - Gibt den belegten Speicher wieder frei
    • ldap_get_attributes - Liefert Merkmale eines Suchergebnis-Eintrags
    • ldap_get_dn - Liefert den DN eines Ergebnis-Eintrags
    • ldap_get_entries - Liefert alle Ergebnis-Einträge
    • ldap_get_option - Liefert den aktuellen Wert für eine gegebene Option
    • ldap_get_values - Liefert alle Werte eines Ergebnis-Eintrags
    • ldap_get_values_len - Liefert alle binären Werte eines Ergebnis-Eintrags
    • ldap_list - Einstufige Suche
    • ldap_modify - Verändern eines LDAP-Eintrags
    • ldap_modify_batch - Batch and execute modifications on an LDAP entry
    • ldap_mod_add - Hinzufügen von Merkmalswerten zu aktuellen Merkmalen
    • ldap_mod_del - Löschen von Merkmalswerten aktueller Merkmale
    • ldap_mod_replace - Ersetzen von Merkmalswerten mit neuen Merkmalswerten
    • ldap_next_attribute - Liefert das nächste Merkmal im Ergebnis
    • ldap_next_entry - Liefert den nächsten Eintrag des Ergebnisses
    • ldap_next_reference - Holt die nächste Referenz
    • ldap_parse_reference - Gewinnt Informationen aus einem Referenz-Eintrag
    • ldap_parse_result - Gewinnt Informationen aus einem Ergebnis
    • ldap_read - Lesen eines Eintrags
    • ldap_rename - Verändert den Namen eines Eintrags
    • ldap_sasl_bind - Bind to LDAP directory using SASL
    • ldap_search - Suche im LDAP Baum
    • ldap_set_option - Setzt den Wert der gegebenen Option
    • ldap_set_rebind_proc - Set a callback function to do re-binds on referral chasing.
    • ldap_sort - Sortiert LDAP Ergebniseinträge
    • ldap_start_tls - Startet TLS
    • ldap_t61_to_8859 - Übersetzt t61 Zeichen nach 8859 Zeichen
    • ldap_unbind - Unbind von einem LDAP Verzeichnis
    • levenshtein - Berechnet die Levenshtein-Distanz zwischen zwei Strings
    • libxml_clear_errors - Clear libxml error buffer
    • libxml_disable_entity_loader - Disable the ability to load external entities
    • libxml_get_errors - Retrieve array of errors
    • libxml_get_last_error - Retrieve last error from libxml
    • libxml_set_external_entity_loader - Changes the default external entity loader
    • libxml_set_streams_context - Set the streams context for the next libxml document load or write
    • libxml_use_internal_errors - Disable libxml errors and allow user to fetch error information as needed
    • LimitIterator::current - Get current element
    • LimitIterator::getInnerIterator - Get inner iterator
    • LimitIterator::getPosition - Return the current position
    • LimitIterator::key - Get current key
    • LimitIterator::next - Move the iterator forward
    • LimitIterator::rewind - Rewind the iterator to the specified starting offset
    • LimitIterator::seek - Seek to the given position
    • LimitIterator::valid - Check whether the current element is valid
    • LimitIterator::__construct - Construct a LimitIterator
    • link - Erzeugt einen harten Link
    • linkinfo - Liefert Informationen über einen Link
    • list - Weist Variablen zu, als wären sie ein Array
    • Locale::acceptFromHttp - Tries to find out best available locale based on HTTP "Accept-Language" header
    • Locale::canonicalize - Canonicalize the locale string
    • Locale::composeLocale - Returns a correctly ordered and delimited locale ID
    • Locale::filterMatches - Checks if a language tag filter matches with locale
    • Locale::getAllVariants - Gets the variants for the input locale
    • Locale::getDefault - Gets the default locale value from the INTL global 'default_locale'
    • Locale::getDisplayLanguage - Returns an appropriately localized display name for language of the inputlocale
    • Locale::getDisplayName - Returns an appropriately localized display name for the input locale
    • Locale::getDisplayRegion - Returns an appropriately localized display name for region of the input locale
    • Locale::getDisplayScript - Returns an appropriately localized display name for script of the input locale
    • Locale::getDisplayVariant - Returns an appropriately localized display name for variants of the input locale
    • Locale::getKeywords - Gets the keywords for the input locale
    • Locale::getPrimaryLanguage - Gets the primary language for the input locale
    • Locale::getRegion - Gets the region for the input locale
    • Locale::getScript - Gets the script for the input locale
    • Locale::lookup - Searches the language tag list for the best match to the language
    • Locale::parseLocale - Returns a key-value array of locale ID subtag elements.
    • Locale::setDefault - sets the default runtime locale
    • localeconv - Ermittelt die Formatierungsinformationen für Zahlen
    • localtime - Ermittelt die lokale Zeit
    • log - Logarithmus
    • log1p - Berechent log(1 + number) mit erhöhter Genauigkeit
    • log10 - Dekadischer Logarithmus
    • log_cmd_delete - Callback When Deleting Documents
    • log_cmd_insert - Callback When Inserting Documents
    • log_cmd_update - Callback When Updating Documents
    • log_getmore - Callback When Retrieving Next Cursor Batch
    • log_killcursor - Callback When Executing KILLCURSOR operations
    • log_reply - Callback When Reading the MongoDB reply
    • log_write_batch - Callback When Writing Batches
    • long2ip - Konvertiert eine (IPv4) Netzwerkadresse in einen String, der das Punkt-Format enthält ("Dotted-Format")
    • lstat - Sammelt Informationen über eine Datei oder einen symbolischen Link
    • ltrim - Entfernt Leerraum (oder andere Zeichen) vom Anfang eines Strings
    • Lua::assign - Assign a PHP variable to Lua
    • Lua::call - Call Lua functions
    • Lua::eval - Evaluate a string as Lua code
    • Lua::getVersion - The getversion purpose
    • Lua::include - Parse a Lua script file
    • Lua::registerCallback - Register a PHP function to Lua
    • Lua::__construct - Lua constructor
    • LuaClosure::__invoke - invoke luaclosure
    • lzf_compress - LZF compression
    • lzf_decompress - LZF decompression
    • lzf_optimized_for - Determines what LZF extension was optimized for
  • m
    • magic_quotes_runtime - Alias von set_magic_quotes_runtime
    • mail - E-Mails senden
    • mailparse_determine_best_xfer_encoding - Gets the best way of encoding
    • mailparse_msg_create - Create a mime mail resource
    • mailparse_msg_extract_part - Extracts/decodes a message section
    • mailparse_msg_extract_part_file - Extracts/decodes a message section
    • mailparse_msg_extract_whole_part_file - Extracts a message section including headers without decoding the transfer encoding
    • mailparse_msg_free - Frees a MIME resource
    • mailparse_msg_get_part - Returns a handle on a given section in a mimemessage
    • mailparse_msg_get_part_data - Returns an associative array of info about the message
    • mailparse_msg_get_structure - Returns an array of mime section names in the supplied message
    • mailparse_msg_parse - Incrementally parse data into buffer
    • mailparse_msg_parse_file - Parses a file
    • mailparse_rfc822_parse_addresses - Parse RFC 822 compliant addresses
    • mailparse_stream_encode - Streams data from source file pointer, apply encoding and write to destfp
    • mailparse_uudecode_all - Scans the data from fp and extract each embedded uuencoded file
    • main - Dummy for main
    • max - Maximalwert bestimmen
    • maxdb_affected_rows - Gets the number of affected rows in a previous MaxDB operation
    • maxdb_autocommit - Turns on or off auto-commiting database modifications
    • maxdb_bind_param - Alias von maxdb_stmt_bind_param
    • maxdb_bind_result - Alias von maxdb_stmt_bind_result
    • maxdb_change_user - Changes the user of the specified database connection
    • maxdb_character_set_name - Returns the default character set for the database connection
    • maxdb_client_encoding - Alias von maxdb_character_set_name
    • maxdb_close - Closes a previously opened database connection
    • maxdb_close_long_data - Alias von maxdb_stmt_close_long_data
    • maxdb_commit - Commits the current transaction
    • maxdb_connect - Open a new connection to the MaxDB server
    • maxdb_connect_errno - Returns the error code from last connect call
    • maxdb_connect_error - Returns a string description of the last connect error
    • maxdb_data_seek - Adjusts the result pointer to an arbitary row in the result
    • maxdb_debug - Performs debugging operations
    • maxdb_disable_reads_from_master - Disable reads from master
    • maxdb_disable_rpl_parse - Disable RPL parse
    • maxdb_dump_debug_info - Dump debugging information into the log
    • maxdb_embedded_connect - Open a connection to an embedded MaxDB server
    • maxdb_enable_reads_from_master - Enable reads from master
    • maxdb_enable_rpl_parse - Enable RPL parse
    • maxdb_errno - Returns the error code for the most recent function call
    • maxdb_error - Returns a string description of the last error
    • maxdb_escape_string - Alias von maxdb_real_escape_string
    • maxdb_execute - Alias von maxdb_stmt_execute
    • maxdb_fetch - Alias von maxdb_stmt_fetch
    • maxdb_fetch_array - Fetch a result row as an associative, a numeric array, or both
    • maxdb_fetch_assoc - Fetch a result row as an associative array
    • maxdb_fetch_field - Returns the next field in the result set
    • maxdb_fetch_fields - Returns an array of resources representing the fields in a result set
    • maxdb_fetch_field_direct - Fetch meta-data for a single field
    • maxdb_fetch_lengths - Returns the lengths of the columns of the current row in the result set
    • maxdb_fetch_object - Returns the current row of a result set as an object
    • maxdb_fetch_row - Get a result row as an enumerated array
    • maxdb_field_count - Returns the number of columns for the most recent query
    • maxdb_field_seek - Set result pointer to a specified field offset
    • maxdb_field_tell - Get current field offset of a result pointer
    • maxdb_free_result - Frees the memory associated with a result
    • maxdb_get_client_info - Returns the MaxDB client version as a string
    • maxdb_get_client_version - Get MaxDB client info
    • maxdb_get_host_info - Returns a string representing the type of connection used
    • maxdb_get_metadata - Alias von maxdb_stmt_result_metadata
    • maxdb_get_proto_info - Returns the version of the MaxDB protocol used
    • maxdb_get_server_info - Returns the version of the MaxDB server
    • maxdb_get_server_version - Returns the version of the MaxDB server as an integer
    • maxdb_info - Retrieves information about the most recently executed query
    • maxdb_init - Initializes MaxDB and returns an resource for use with maxdb_real_connect
    • maxdb_insert_id - Returns the auto generated id used in the last query
    • maxdb_kill - Disconnects from a MaxDB server
    • maxdb_master_query - Enforce execution of a query on the master in a master/slave setup
    • maxdb_more_results - Check if there any more query results from a multi query
    • maxdb_multi_query - Performs a query on the database
    • maxdb_next_result - Prepare next result from multi_query
    • maxdb_num_fields - Get the number of fields in a result
    • maxdb_num_rows - Gets the number of rows in a result
    • maxdb_options - Set options
    • maxdb_param_count - Alias von maxdb_stmt_param_count
    • maxdb_ping - Pings a server connection, or tries to reconnect if the connection has gone down
    • maxdb_prepare - Prepare an SQL statement for execution
    • maxdb_query - Performs a query on the database
    • maxdb_real_connect - Opens a connection to a MaxDB server
    • maxdb_real_escape_string - Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
    • maxdb_real_query - Execute an SQL query
    • maxdb_report - Enables or disables internal report functions
    • maxdb_rollback - Rolls back current transaction
    • maxdb_rpl_parse_enabled - Check if RPL parse is enabled
    • maxdb_rpl_probe - RPL probe
    • maxdb_rpl_query_type - Returns RPL query type
    • maxdb_select_db - Selects the default database for database queries
    • maxdb_send_long_data - Alias von maxdb_stmt_send_long_data
    • maxdb_send_query - Send the query and return
    • maxdb_server_end - Shut down the embedded server
    • maxdb_server_init - Initialize embedded server
    • maxdb_set_opt - Alias von maxdb_options
    • maxdb_sqlstate - Returns the SQLSTATE error from previous MaxDB operation
    • maxdb_ssl_set - Used for establishing secure connections using SSL
    • maxdb_stat - Gets the current system status
    • maxdb_stmt_affected_rows - Returns the total number of rows changed, deleted, or inserted by the last executed statement
    • maxdb_stmt_bind_param - Binds variables to a prepared statement as parameters
    • maxdb_stmt_bind_result - Binds variables to a prepared statement for result storage
    • maxdb_stmt_close - Closes a prepared statement
    • maxdb_stmt_close_long_data - Ends a sequence of maxdb_stmt_send_long_data
    • maxdb_stmt_data_seek - Seeks to an arbitray row in statement result set
    • maxdb_stmt_errno - Returns the error code for the most recent statement call
    • maxdb_stmt_error - Returns a string description for last statement error
    • maxdb_stmt_execute - Executes a prepared Query
    • maxdb_stmt_fetch - Fetch results from a prepared statement into the bound variables
    • maxdb_stmt_free_result - Frees stored result memory for the given statement handle
    • maxdb_stmt_init - Initializes a statement and returns an resource for use with maxdb_stmt_prepare
    • maxdb_stmt_num_rows - Return the number of rows in statements result set
    • maxdb_stmt_param_count - Returns the number of parameter for the given statement
    • maxdb_stmt_prepare - Prepare an SQL statement for execution
    • maxdb_stmt_reset - Resets a prepared statement
    • maxdb_stmt_result_metadata - Returns result set metadata from a prepared statement
    • maxdb_stmt_send_long_data - Send data in blocks
    • maxdb_stmt_sqlstate - Returns SQLSTATE error from previous statement operation
    • maxdb_stmt_store_result - Transfers a result set from a prepared statement
    • maxdb_store_result - Transfers a result set from the last query
    • maxdb_thread_id - Returns the thread ID for the current connection
    • maxdb_thread_safe - Returns whether thread safety is given or not
    • maxdb_use_result - Initiate a result set retrieval
    • maxdb_warning_count - Returns the number of warnings from the last query for the given link
    • mb_check_encoding - Check if the string is valid for the specified encoding
    • mb_convert_case - Perform case folding on a string
    • mb_convert_encoding - Convert character encoding
    • mb_convert_kana - Convert "kana" one from another ("zen-kaku", "han-kaku" and more)
    • mb_convert_variables - Convert character code in variable(s)
    • mb_decode_mimeheader - Decode string in MIME header field
    • mb_decode_numericentity - Decode HTML numeric string reference to character
    • mb_detect_encoding - Detect character encoding
    • mb_detect_order - Set/Get character encoding detection order
    • mb_encode_mimeheader - Encode string for MIME header
    • mb_encode_numericentity - Encode character to HTML numeric string reference
    • mb_encoding_aliases - Get aliases of a known encoding type
    • mb_ereg - Regular expression match with multibyte support
    • mb_eregi - Regular expression match ignoring case with multibyte support
    • mb_eregi_replace - Replace regular expression with multibyte support ignoring case
    • mb_ereg_match - Regular expression match for multibyte string
    • mb_ereg_replace - Replace regular expression with multibyte support
    • mb_ereg_replace_callback - Perform a regular expresssion seach and replace with multibyte support using a callback
    • mb_ereg_search - Multibyte regular expression match for predefined multibyte string
    • mb_ereg_search_getpos - Returns start point for next regular expression match
    • mb_ereg_search_getregs - Retrieve the result from the last multibyte regular expression match
    • mb_ereg_search_init - Setup string and regular expression for a multibyte regular expression match
    • mb_ereg_search_pos - Returns position and length of a matched part of the multibyte regular expression for a predefined multibyte string
    • mb_ereg_search_regs - Returns the matched part of a multibyte regular expression
    • mb_ereg_search_setpos - Set start point of next regular expression match
    • mb_get_info - Get internal settings of mbstring
    • mb_http_input - Detect HTTP input character encoding
    • mb_http_output - Set/Get HTTP output character encoding
    • mb_internal_encoding - Set/Get internal character encoding
    • mb_language - Set/Get current language
    • mb_list_encodings - Returns an array of all supported encodings
    • mb_output_handler - Callback function converts character encoding in output buffer
    • mb_parse_str - Parse GET/POST/COOKIE data and set global variable
    • mb_preferred_mime_name - Get MIME charset string
    • mb_regex_encoding - Set/Get character encoding for multibyte regex
    • mb_regex_set_options - Set/Get the default options for mbregex functions
    • mb_send_mail - Send encoded mail
    • mb_split - Split multibyte string using regular expression
    • mb_strcut - Get part of string
    • mb_strimwidth - Get truncated string with specified width
    • mb_stripos - Finds position of first occurrence of a string within another, case insensitive
    • mb_stristr - Finds first occurrence of a string within another, case insensitive
    • mb_strlen - Get string length
    • mb_strpos - Find position of first occurrence of string in a string
    • mb_strrchr - Finds the last occurrence of a character in a string within another
    • mb_strrichr - Finds the last occurrence of a character in a string within another, case insensitive
    • mb_strripos - Finds position of last occurrence of a string within another, case insensitive
    • mb_strrpos - Find position of last occurrence of a string in a string
    • mb_strstr - Finds first occurrence of a string within another
    • mb_strtolower - Make a string lowercase
    • mb_strtoupper - Make a string uppercase
    • mb_strwidth - Return width of string
    • mb_substitute_character - Set/Get substitution character
    • mb_substr - Get part of string
    • mb_substr_count - Count the number of substring occurrences
    • mcrypt_cbc - Entschlüsselt/Verschlüsselt Daten im CBC Modus
    • mcrypt_cfb - Encrypts/decrypts data in CFB mode
    • mcrypt_create_iv - Creates an initialization vector (IV) from a random source
    • mcrypt_decrypt - Decrypts crypttext with given parameters
    • mcrypt_ecb - Deprecated: Encrypts/decrypts data in ECB mode
    • mcrypt_encrypt - Encrypts plaintext with given parameters
    • mcrypt_enc_get_algorithms_name - Returns the name of the opened algorithm
    • mcrypt_enc_get_block_size - Returns the blocksize of the opened algorithm
    • mcrypt_enc_get_iv_size - Returns the size of the IV of the opened algorithm
    • mcrypt_enc_get_key_size - Returns the maximum supported keysize of the opened mode
    • mcrypt_enc_get_modes_name - Returns the name of the opened mode
    • mcrypt_enc_get_supported_key_sizes - Returns an array with the supported keysizes of the opened algorithm
    • mcrypt_enc_is_block_algorithm - Checks whether the algorithm of the opened mode is a block algorithm
    • mcrypt_enc_is_block_algorithm_mode - Checks whether the encryption of the opened mode works on blocks
    • mcrypt_enc_is_block_mode - Checks whether the opened mode outputs blocks
    • mcrypt_enc_self_test - Runs a self test on the opened module
    • mcrypt_generic - This function encrypts data
    • mcrypt_generic_deinit - This function deinitializes an encryption module
    • mcrypt_generic_end - This function terminates encryption
    • mcrypt_generic_init - This function initializes all buffers needed for encryption
    • mcrypt_get_block_size - Gets the block size of the specified cipher
    • mcrypt_get_cipher_name - Gets the name of the specified cipher
    • mcrypt_get_iv_size - Returns the size of the IV belonging to a specific cipher/mode combination
    • mcrypt_get_key_size - Gets the key size of the specified cipher
    • mcrypt_list_algorithms - Gets an array of all supported ciphers
    • mcrypt_list_modes - Gets an array of all supported modes
    • mcrypt_module_close - Closes the mcrypt module
    • mcrypt_module_get_algo_block_size - Returns the blocksize of the specified algorithm
    • mcrypt_module_get_algo_key_size - Returns the maximum supported keysize of the opened mode
    • mcrypt_module_get_supported_key_sizes - Returns an array with the supported keysizes of the opened algorithm
    • mcrypt_module_is_block_algorithm - This function checks whether the specified algorithm is a block algorithm
    • mcrypt_module_is_block_algorithm_mode - Returns if the specified module is a block algorithm or not
    • mcrypt_module_is_block_mode - Returns if the specified mode outputs blocks or not
    • mcrypt_module_open - Opens the module of the algorithm and the mode to be used
    • mcrypt_module_self_test - This function runs a self test on the specified module
    • mcrypt_ofb - Encrypts/decrypts data in OFB mode
    • md5 - Errechnet den MD5-Hash eines Strings
    • md5_file - Berechnet den MD5-Code einer Datei
    • mdecrypt_generic - Decrypts data
    • Memcache::add - Add an item to the server
    • Memcache::addServer - Add a memcached server to connection pool
    • Memcache::close - Close memcached server connection
    • Memcache::connect - Open memcached server connection
    • Memcache::decrement - Decrement item's value
    • Memcache::delete - Delete item from the server
    • Memcache::flush - Flush all existing items at the server
    • Memcache::get - Retrieve item from the server
    • Memcache::getExtendedStats - Get statistics from all servers in pool
    • Memcache::getServerStatus - Returns server status
    • Memcache::getStats - Get statistics of the server
    • Memcache::getVersion - Return version of the server
    • Memcache::increment - Increment item's value
    • Memcache::pconnect - Open memcached server persistent connection
    • Memcache::replace - Replace value of the existing item
    • Memcache::set - Store data at the server
    • Memcache::setCompressThreshold - Enable automatic compression of large values
    • Memcache::setServerParams - Changes server parameters and status at runtime
    • Memcached::add - Add an item under a new key
    • Memcached::addByKey - Add an item under a new key on a specific server
    • Memcached::addServer - Add a server to the server pool
    • Memcached::addServers - Add multiple servers to the server pool
    • Memcached::append - Append data to an existing item
    • Memcached::appendByKey - Append data to an existing item on a specific server
    • Memcached::cas - Compare and swap an item
    • Memcached::casByKey - Compare and swap an item on a specific server
    • Memcached::decrement - Decrement numeric item's value
    • Memcached::decrementByKey - Decrement numeric item's value, stored on a specific server
    • Memcached::delete - Delete an item
    • Memcached::deleteByKey - Delete an item from a specific server
    • Memcached::deleteMulti - Delete multiple items
    • Memcached::deleteMultiByKey - Delete multiple items from a specific server
    • Memcached::fetch - Fetch the next result
    • Memcached::fetchAll - Fetch all the remaining results
    • Memcached::flush - Invalidate all items in the cache
    • Memcached::get - Retrieve an item
    • Memcached::getAllKeys - Gets the keys stored on all the servers
    • Memcached::getByKey - Retrieve an item from a specific server
    • Memcached::getDelayed - Request multiple items
    • Memcached::getDelayedByKey - Request multiple items from a specific server
    • Memcached::getMulti - Retrieve multiple items
    • Memcached::getMultiByKey - Retrieve multiple items from a specific server
    • Memcached::getOption - Retrieve a Memcached option value
    • Memcached::getResultCode - Return the result code of the last operation
    • Memcached::getResultMessage - Return the message describing the result of the last operation
    • Memcached::getServerByKey - Map a key to a server
    • Memcached::getServerList - Get the list of the servers in the pool
    • Memcached::getStats - Get server pool statistics
    • Memcached::getVersion - Get server pool version info
    • Memcached::increment - Increment numeric item's value
    • Memcached::incrementByKey - Increment numeric item's value, stored on a specific server
    • Memcached::isPersistent - Check if a persitent connection to memcache is being used
    • Memcached::isPristine - Check if the instance was recently created
    • Memcached::prepend - Prepend data to an existing item
    • Memcached::prependByKey - Prepend data to an existing item on a specific server
    • Memcached::quit - Close any open connections
    • Memcached::replace - Replace the item under an existing key
    • Memcached::replaceByKey - Replace the item under an existing key on a specific server
    • Memcached::resetServerList - Clears all servers from the server list
    • Memcached::set - Store an item
    • Memcached::setByKey - Store an item on a specific server
    • Memcached::setMulti - Store multiple items
    • Memcached::setMultiByKey - Store multiple items on a specific server
    • Memcached::setOption - Set a Memcached option
    • Memcached::setOptions - Set Memcached options
    • Memcached::setSaslAuthData - Set the credentials to use for authentication
    • Memcached::touch - Set a new expiration on an item
    • Memcached::touchByKey - Set a new expiration on an item on a specific server
    • Memcached::__construct - Create a Memcached instance
    • memcache_debug - Turn debug output on/off
    • memory_get_peak_usage - Returns the peak of memory allocated by PHP
    • memory_get_usage - Returns the amount of memory allocated to PHP
    • MessageFormatter::create - Constructs a new Message Formatter
    • MessageFormatter::format - Format the message
    • MessageFormatter::formatMessage - Quick format message
    • MessageFormatter::getErrorCode - Get the error code from last operation
    • MessageFormatter::getErrorMessage - Get the error text from the last operation
    • MessageFormatter::getLocale - Get the locale for which the formatter was created.
    • MessageFormatter::getPattern - Get the pattern used by the formatter
    • MessageFormatter::parse - Parse input string according to pattern
    • MessageFormatter::parseMessage - Quick parse input string
    • MessageFormatter::setPattern - Set the pattern used by the formatter
    • metaphone - Berechnet den Metaphone-Schlüssel eines Strings
    • method_exists - Prüft ob eine Methode innerhalb eines Objekts existiert
    • mhash - Hash berechnen
    • mhash_count - Gibt die höchstmöglichen Hash-ID zurück
    • mhash_get_block_size - Gibt die Blockgröße von dem übergebenem Hash zurück
    • mhash_get_hash_name - Gibt den Namen eines Hashs zurück
    • mhash_keygen_s2k - Generates a key
    • microtime - Gibt den aktuellen Unix-Timestamp/Zeitstempel mit Mikrosekunden zurück
    • mime_content_type - Ermittelt den MIME-Typ des Inhalts einer Datei
    • min - Minimalwert bestimmen
    • ming_keypress - Returns the action flag for keyPress(char)
    • ming_setcubicthreshold - Set cubic threshold
    • ming_setscale - Set the global scaling factor.
    • ming_setswfcompression - Sets the SWF output compression
    • ming_useconstants - Use constant pool
    • ming_useswfversion - Sets the SWF version
    • mkdir - Erstellt ein Verzeichnis
    • mktime - Gibt den Unix-Timestamp/Zeitstempel für ein Datum zurück
    • money_format - Formatiert eine Zahl als Währungs-Zeichenkette
    • Mongo::connectUtil - Connects with a database server
    • Mongo::getPoolSize - Get pool size for connection pools
    • Mongo::getSlave - Returns the address being used by this for slaveOkay reads
    • Mongo::getSlaveOkay - Get slaveOkay setting for this connection
    • Mongo::poolDebug - Returns information about all connection pools.
    • Mongo::setPoolSize - Set the size for future connection pools.
    • Mongo::setSlaveOkay - Change slaveOkay setting for this connection
    • Mongo::switchSlave - Choose a new secondary for slaveOkay reads
    • Mongo::__construct - The __construct purpose
    • MongoBinData::__construct - Creates a new binary data object.
    • MongoBinData::__toString - The string representation of this binary data object.
    • MongoClient::close - Closes this connection
    • MongoClient::connect - Connects to a database server
    • MongoClient::dropDB - Drops a database [deprecated]
    • MongoClient::getConnections - Return info about all open connections
    • MongoClient::getHosts - Updates status for all associated hosts
    • MongoClient::getReadPreference - Get the read preference for this connection
    • MongoClient::getWriteConcern - Get the write concern for this connection
    • MongoClient::killCursor - Kills a specific cursor on the server
    • MongoClient::listDBs - Lists all of the databases available.
    • MongoClient::selectCollection - Gets a database collection
    • MongoClient::selectDB - Gets a database
    • MongoClient::setReadPreference - Set the read preference for this connection
    • MongoClient::setWriteConcern - Set the write concern for this connection
    • MongoClient::__construct - Creates a new database connection object
    • MongoClient::__get - Gets a database
    • MongoClient::__toString - String representation of this connection
    • MongoCode::__construct - Creates a new code object
    • MongoCode::__toString - Returns this code as a string
    • MongoCollection::aggregate - Perform an aggregation using the aggregation framework
    • MongoCollection::aggregateCursor - Execute an aggregation pipeline command and retrieve results through a cursor
    • MongoCollection::batchInsert - Inserts multiple documents into this collection
    • MongoCollection::count - Counts the number of documents in this collection
    • MongoCollection::createDBRef - Creates a database reference
    • MongoCollection::createIndex - Creates an index on the specified field(s) if it does not already exist.
    • MongoCollection::deleteIndex - Deletes an index from this collection
    • MongoCollection::deleteIndexes - Delete all indices for this collection
    • MongoCollection::distinct - Retrieve a list of distinct values for the given key across a collection.
    • MongoCollection::drop - Drops this collection
    • MongoCollection::ensureIndex - Creates an index on the specified field(s) if it does not already exist.
    • MongoCollection::find - Queries this collection, returning a MongoCursor for the result set
    • MongoCollection::findAndModify - Update a document and return it
    • MongoCollection::findOne - Queries this collection, returning a single element
    • MongoCollection::getDBRef - Fetches the document pointed to by a database reference
    • MongoCollection::getIndexInfo - Returns information about indexes on this collection
    • MongoCollection::getName - Returns this collection's name
    • MongoCollection::getReadPreference - Get the read preference for this collection
    • MongoCollection::getSlaveOkay - Get slaveOkay setting for this collection
    • MongoCollection::getWriteConcern - Get the write concern for this collection
    • MongoCollection::group - Performs an operation similar to SQL's GROUP BY command
    • MongoCollection::insert - Inserts a document into the collection
    • MongoCollection::parallelCollectionScan - Returns an array of cursors to iterator over a full collection in parallel
    • MongoCollection::remove - Remove records from this collection
    • MongoCollection::save - Saves a document to this collection
    • MongoCollection::setReadPreference - Set the read preference for this collection
    • MongoCollection::setSlaveOkay - Change slaveOkay setting for this collection
    • MongoCollection::setWriteConcern - Set the write concern for this database
    • MongoCollection::toIndexString - Converts keys specifying an index to its identifying string
    • MongoCollection::update - Update records based on a given criteria
    • MongoCollection::validate - Validates this collection
    • MongoCollection::__construct - Creates a new collection
    • MongoCollection::__get - Gets a collection
    • MongoCollection::__toString - String representation of this collection
    • MongoCommandCursor::batchSize - Limits the number of elements returned in one batch.
    • MongoCommandCursor::createFromDocument - Create a new command cursor from an existing command response document
    • MongoCommandCursor::current - Returns the current element
    • MongoCommandCursor::dead - Checks if there are results that have not yet been sent from the database
    • MongoCommandCursor::getReadPreference - Get the read preference for this command
    • MongoCommandCursor::info - Gets information about the cursor's creation and iteration
    • MongoCommandCursor::key - Returns the current result's index within the result set
    • MongoCommandCursor::next - Advances the cursor to the next result
    • MongoCommandCursor::rewind - Executes the command and resets the cursor to the start of the result set
    • MongoCommandCursor::setReadPreference - Set the read preference for this command
    • MongoCommandCursor::timeout - Sets a client-side timeout for this command
    • MongoCommandCursor::valid - Checks if the cursor is reading a valid result.
    • MongoCommandCursor::__construct - Create a new command cursor
    • MongoCursor::addOption - Adds a top-level key/value pair to a query
    • MongoCursor::awaitData - Sets whether this cursor will wait for a while for a tailable cursor to return more data
    • MongoCursor::batchSize - Limits the number of elements returned in one batch.
    • MongoCursor::count - Counts the number of results for this query
    • MongoCursor::current - Returns the current element
    • MongoCursor::dead - Checks if there are results that have not yet been sent from the database
    • MongoCursor::doQuery - Execute the query.
    • MongoCursor::explain - Return an explanation of the query, often useful for optimization and debugging
    • MongoCursor::fields - Sets the fields for a query
    • MongoCursor::getNext - Advances the cursor to the next result, and returns that result
    • MongoCursor::getReadPreference - Get the read preference for this query
    • MongoCursor::hasNext - Checks if there are any more elements in this cursor
    • MongoCursor::hint - Gives the database a hint about the query
    • MongoCursor::immortal - Sets whether this cursor will timeout
    • MongoCursor::info - Gets information about the cursor's creation and iteration
    • MongoCursor::key - Returns the current result's _id, or its index within the result set
    • MongoCursor::limit - Limits the number of results returned
    • MongoCursor::maxTimeMS - Sets a server-side timeout for this query
    • MongoCursor::next - Advances the cursor to the next result, and returns that result
    • MongoCursor::partial - If this query should fetch partial results from mongos if a shard is down
    • MongoCursor::reset - Clears the cursor
    • MongoCursor::rewind - Returns the cursor to the beginning of the result set
    • MongoCursor::setFlag - Sets arbitrary flags in case there is no method available the specific flag
    • MongoCursor::setReadPreference - Set the read preference for this query
    • MongoCursor::skip - Skips a number of results
    • MongoCursor::slaveOkay - Sets whether this query can be done on a secondary [deprecated]
    • MongoCursor::snapshot - Use snapshot mode for the query
    • MongoCursor::sort - Sorts the results by given fields
    • MongoCursor::tailable - Sets whether this cursor will be left open after fetching the last results
    • MongoCursor::timeout - Sets a client-side timeout for this query
    • MongoCursor::valid - Checks if the cursor is reading a valid result.
    • MongoCursor::__construct - Create a new cursor
    • MongoCursorException::getHost - The hostname of the server that encountered the error
    • MongoCursorInterface::batchSize - Limits the number of elements returned in one batch.
    • MongoCursorInterface::dead - Checks if there are results that have not yet been sent from the database
    • MongoCursorInterface::getReadPreference - Get the read preference for this query
    • MongoCursorInterface::info - Gets information about the cursor's creation and iteration
    • MongoCursorInterface::setReadPreference - Set the read preference for this query
    • MongoCursorInterface::timeout - Sets a client-side timeout for this query
    • MongoDate::toDateTime - Returns a DateTime object representing this date
    • MongoDate::__construct - Creates a new date.
    • MongoDate::__toString - Returns a string representation of this date
    • MongoDB::authenticate - Log in to this database
    • MongoDB::command - Execute a database command
    • MongoDB::createCollection - Creates a collection
    • MongoDB::createDBRef - Creates a database reference
    • MongoDB::drop - Drops this database
    • MongoDB::dropCollection - Drops a collection [deprecated]
    • MongoDB::execute - Runs JavaScript code on the database server [deprecated]
    • MongoDB::forceError - Creates a database error
    • MongoDB::getCollectionInfo - Returns information about collections in this database
    • MongoDB::getCollectionNames - Gets an array of names for all collections in this database
    • MongoDB::getDBRef - Fetches the document pointed to by a database reference
    • MongoDB::getGridFS - Fetches toolkit for dealing with files stored in this database
    • MongoDB::getProfilingLevel - Gets this database's profiling level
    • MongoDB::getReadPreference - Get the read preference for this database
    • MongoDB::getSlaveOkay - Get slaveOkay setting for this database
    • MongoDB::getWriteConcern - Get the write concern for this database
    • MongoDB::lastError - Check if there was an error on the most recent db operation performed
    • MongoDB::listCollections - Gets an array of MongoCollection objects for all collections in this database
    • MongoDB::prevError - Checks for the last error thrown during a database operation
    • MongoDB::repair - Repairs and compacts this database
    • MongoDB::resetError - Clears any flagged errors on the database
    • MongoDB::selectCollection - Gets a collection
    • MongoDB::setProfilingLevel - Sets this database's profiling level
    • MongoDB::setReadPreference - Set the read preference for this database
    • MongoDB::setSlaveOkay - Change slaveOkay setting for this database
    • MongoDB::setWriteConcern - Set the write concern for this database
    • MongoDB::__construct - Creates a new database
    • MongoDB::__get - Gets a collection
    • MongoDB::__toString - The name of this database
    • MongoDB context options - MongoDB context option listing
    • MongoDBRef::create - Creates a new database reference
    • MongoDBRef::get - Fetches the object pointed to by a reference
    • MongoDBRef::isRef - Checks if an array is a database reference
    • MongoDB\BSON\Binary::getData - Returns the Binary's data
    • MongoDB\BSON\Binary::getType - Returns the Binary's type
    • MongoDB\BSON\Binary::jsonSerialize - Returns a representation that can be converted to JSON
    • MongoDB\BSON\Binary::serialize - Serialize a Binary
    • MongoDB\BSON\Binary::unserialize - Unserialize a Binary
    • MongoDB\BSON\Binary::__construct - Construct a new Binary
    • MongoDB\BSON\Binary::__toString - Returns the Binary's data
    • MongoDB\BSON\Decimal128::jsonSerialize - Returns a representation that can be converted to JSON
    • MongoDB\BSON\Decimal128::serialize - Serialize a Decimal128
    • MongoDB\BSON\Decimal128::unserialize - Unserialize a Decimal128
    • MongoDB\BSON\Decimal128::__construct - Construct a new Decimal128
    • MongoDB\BSON\Decimal128::__toString - Returns the string representation of this Decimal128
    • MongoDB\BSON\fromJSON - Returns the BSON representation of a JSON value
    • MongoDB\BSON\fromPHP - Returns the BSON representation of a PHP value
    • MongoDB\BSON\Javascript::getCode - Returns the Javascript's code
    • MongoDB\BSON\Javascript::getScope - Returns the Javascript's scope document
    • MongoDB\BSON\Javascript::jsonSerialize - Returns a representation that can be converted to JSON
    • MongoDB\BSON\Javascript::serialize - Serialize a Javascript
    • MongoDB\BSON\Javascript::unserialize - Unserialize a Javascript
    • MongoDB\BSON\Javascript::__construct - Construct a new Javascript
    • MongoDB\BSON\Javascript::__toString - Returns the Javascript's code
    • MongoDB\BSON\MaxKey::jsonSerialize - Returns a representation that can be converted to JSON
    • MongoDB\BSON\MaxKey::serialize - Serialize a MaxKey
    • MongoDB\BSON\MaxKey::unserialize - Unserialize a MaxKey
    • MongoDB\BSON\MaxKey::__construct - Construct a new MaxKey
    • MongoDB\BSON\MinKey::jsonSerialize - Returns a representation that can be converted to JSON
    • MongoDB\BSON\MinKey::serialize - Serialize a MinKey
    • MongoDB\BSON\MinKey::unserialize - Unserialize a MinKey
    • MongoDB\BSON\MinKey::__construct - Construct a new MinKey
    • MongoDB\BSON\ObjectID::getTimestamp - Returns the timestamp component of this ObjectID
    • MongoDB\BSON\ObjectID::jsonSerialize - Returns a representation that can be converted to JSON
    • MongoDB\BSON\ObjectID::serialize - Serialize an ObjectID
    • MongoDB\BSON\ObjectID::unserialize - Unserialize an ObjectID
    • MongoDB\BSON\ObjectID::__construct - Construct a new ObjectID
    • MongoDB\BSON\ObjectID::__toString - Returns the hexidecimal representation of this ObjectID
    • MongoDB\BSON\Regex::getFlags - Returns the Regex's flags
    • MongoDB\BSON\Regex::getPattern - Returns the Regex's pattern
    • MongoDB\BSON\Regex::jsonSerialize - Returns a representation that can be converted to JSON
    • MongoDB\BSON\Regex::serialize - Serialize a Regex
    • MongoDB\BSON\Regex::unserialize - Unserialize a Regex
    • MongoDB\BSON\Regex::__construct - Construct a new Regex
    • MongoDB\BSON\Regex::__toString - Returns the string representation of this Regex
    • MongoDB\BSON\Serializable::bsonSerialize - Provides an array or document to serialize as BSON
    • MongoDB\BSON\Timestamp::jsonSerialize - Returns a representation that can be converted to JSON
    • MongoDB\BSON\Timestamp::serialize - Serialize a Timestamp
    • MongoDB\BSON\Timestamp::unserialize - Unserialize a Timestamp
    • MongoDB\BSON\Timestamp::__construct - Construct a new Timestamp
    • MongoDB\BSON\Timestamp::__toString - Returns the string representation of this Timestamp
    • MongoDB\BSON\toJSON - Returns the JSON representation of a BSON value
    • MongoDB\BSON\toPHP - Returns the PHP representation of a BSON value
    • MongoDB\BSON\Unserializable::bsonUnserialize - Constructs the object from a BSON array or document
    • MongoDB\BSON\UTCDateTime::jsonSerialize - Returns a representation that can be converted to JSON
    • MongoDB\BSON\UTCDateTime::serialize - Serialize a UTCDateTime
    • MongoDB\BSON\UTCDateTime::toDateTime - Returns the DateTime representation of this UTCDateTime
    • MongoDB\BSON\UTCDateTime::unserialize - Unserialize a UTCDateTime
    • MongoDB\BSON\UTCDateTime::__construct - Construct a new UTCDateTime
    • MongoDB\BSON\UTCDateTime::__toString - Returns the string representation of this UTCDateTime
    • MongoDB\Driver\BulkWrite::count - Count number of write operations in the bulk
    • MongoDB\Driver\BulkWrite::delete - Add a delete operation to the bulk
    • MongoDB\Driver\BulkWrite::insert - Add an insert operation to the bulk
    • MongoDB\Driver\BulkWrite::update - Add an update operation to the bulk
    • MongoDB\Driver\BulkWrite::__construct - Create a new BulkWrite
    • MongoDB\Driver\Command::__construct - Create a new Command
    • MongoDB\Driver\Cursor::getId - Returns the ID for this cursor
    • MongoDB\Driver\Cursor::getServer - Returns the server associated with this cursor
    • MongoDB\Driver\Cursor::isDead - Checks if the cursor is still open on the server
    • MongoDB\Driver\Cursor::setTypeMap - Sets a type map to use for BSON unserialization
    • MongoDB\Driver\Cursor::toArray - Returns an array containing all results for this cursor
    • MongoDB\Driver\Cursor::__construct - Create a new Cursor (not used)
    • MongoDB\Driver\CursorId::__construct - Create a new CursorId (not used)
    • MongoDB\Driver\CursorId::__toString - String representation of the cursor ID
    • MongoDB\Driver\Exception\WriteException::getWriteResult - Returns the WriteResult for the failed write operation
    • MongoDB\Driver\Manager::executeBulkWrite - Execute one or more write operations
    • MongoDB\Driver\Manager::executeCommand - Execute a database command
    • MongoDB\Driver\Manager::executeQuery - Execute a database query
    • MongoDB\Driver\Manager::getReadConcern - Return the ReadConcern for the Manager
    • MongoDB\Driver\Manager::getReadPreference - Return the ReadPreference for the Manager
    • MongoDB\Driver\Manager::getServers - Return the servers to which this manager is connected
    • MongoDB\Driver\Manager::getWriteConcern - Return the WriteConcern for the Manager
    • MongoDB\Driver\Manager::selectServer - Select a server matching a read preference
    • MongoDB\Driver\Manager::__construct - Create new MongoDB Manager
    • MongoDB\Driver\Query::__construct - Construct new Query
    • MongoDB\Driver\ReadConcern::bsonSerialize - Returns an object for BSON serialization
    • MongoDB\Driver\ReadConcern::getLevel - Returns the ReadConcern's "level" option
    • MongoDB\Driver\ReadConcern::__construct - Construct immutable ReadConcern
    • MongoDB\Driver\ReadPreference::bsonSerialize - Returns an object for BSON serialization
    • MongoDB\Driver\ReadPreference::getMaxStalenessSeconds - Returns the ReadPreference's "maxStalenessSeconds" option
    • MongoDB\Driver\ReadPreference::getMode - Returns the ReadPreference's "mode" option
    • MongoDB\Driver\ReadPreference::getTagSets - Returns the ReadPreference's "tagSets" option
    • MongoDB\Driver\ReadPreference::__construct - Construct immutable ReadPreference
    • MongoDB\Driver\Server::executeBulkWrite - Execute one or more write operations on this server
    • MongoDB\Driver\Server::executeCommand - Execute a database command on this server
    • MongoDB\Driver\Server::executeQuery - Execute a database query on this server
    • MongoDB\Driver\Server::getHost - Returns the hostname of this server
    • MongoDB\Driver\Server::getInfo - Returns an array of information about this server
    • MongoDB\Driver\Server::getLatency - Returns the latency of this server
    • MongoDB\Driver\Server::getPort - Returns the port on which this server is listening
    • MongoDB\Driver\Server::getTags - Returns an array of tags describing this server in a replica set
    • MongoDB\Driver\Server::getType - Returns an integer denoting the type of this server
    • MongoDB\Driver\Server::isArbiter - Checks if this server is an arbiter member of a replica set
    • MongoDB\Driver\Server::isHidden - Checks if this server is a hidden member of a replica set
    • MongoDB\Driver\Server::isPassive - Checks if this server is a passive member of a replica set
    • MongoDB\Driver\Server::isPrimary - Checks if this server is a primary member of a replica set
    • MongoDB\Driver\Server::isSecondary - Checks if this server is a secondary member of a replica set
    • MongoDB\Driver\Server::__construct - Create a new Server (not used)
    • MongoDB\Driver\WriteConcern::bsonSerialize - Returns an object for BSON serialization
    • MongoDB\Driver\WriteConcern::getJournal - Returns the WriteConcern's "journal" option
    • MongoDB\Driver\WriteConcern::getW - Returns the WriteConcern's "w" option
    • MongoDB\Driver\WriteConcern::getWtimeout - Returns the WriteConcern's "wtimeout" option
    • MongoDB\Driver\WriteConcern::__construct - Construct immutable WriteConcern
    • MongoDB\Driver\WriteConcernError::getCode - Returns the WriteConcernError's error code
    • MongoDB\Driver\WriteConcernError::getInfo - Returns additional metadata for the WriteConcernError
    • MongoDB\Driver\WriteConcernError::getMessage - Returns the WriteConcernError's error message
    • MongoDB\Driver\WriteError::getCode - Returns the WriteError's error code
    • MongoDB\Driver\WriteError::getIndex - Returns the index of the write operation corresponding to this WriteError
    • MongoDB\Driver\WriteError::getInfo - Returns additional metadata for the WriteError
    • MongoDB\Driver\WriteError::getMessage - Returns the WriteError's error message
    • MongoDB\Driver\WriteResult::getDeletedCount - Returns the number of documents deleted
    • MongoDB\Driver\WriteResult::getInsertedCount - Returns the number of documents inserted (excluding upserts)
    • MongoDB\Driver\WriteResult::getMatchedCount - Returns the number of documents selected for update
    • MongoDB\Driver\WriteResult::getModifiedCount - Returns the number of existing documents updated
    • MongoDB\Driver\WriteResult::getServer - Returns the server associated with this write result
    • MongoDB\Driver\WriteResult::getUpsertedCount - Returns the number of documents inserted by an upsert
    • MongoDB\Driver\WriteResult::getUpsertedIds - Returns an array of identifiers for upserted documents
    • MongoDB\Driver\WriteResult::getWriteConcernError - Returns any write concern error that occurred
    • MongoDB\Driver\WriteResult::getWriteErrors - Returns any write errors that occurred
    • MongoDB\Driver\WriteResult::isAcknowledged - Returns whether the write was acknowledged
    • MongoDeleteBatch::__construct - Description
    • MongoGridFS::delete - Remove a file and its chunks from the database
    • MongoGridFS::drop - Drops the files and chunks collections
    • MongoGridFS::find - Queries for files
    • MongoGridFS::findOne - Returns a single file matching the criteria
    • MongoGridFS::get - Ruft eine Datei von der Datenbank ab.
    • MongoGridFS::put - Speichert eine Datei in der Datenbank
    • MongoGridFS::remove - Remove files and their chunks from the database
    • MongoGridFS::storeBytes - Stores a string of bytes in the database
    • MongoGridFS::storeFile - Stores a file in the database
    • MongoGridFS::storeUpload - Stores an uploaded file in the database
    • MongoGridFS::__construct - Creates new file collections
    • MongoGridFSCursor::current - Returns the current file
    • MongoGridFSCursor::getNext - Return the next file to which this cursor points, and advance the cursor
    • MongoGridFSCursor::key - Returns the current result's filename
    • MongoGridFSCursor::__construct - Create a new cursor
    • MongoGridFSFile::getBytes - Returns this file's contents as a string of bytes
    • MongoGridFSFile::getFilename - Returns this file's filename
    • MongoGridFSFile::getResource - Returns a resource that can be used to read the stored file
    • MongoGridFSFile::getSize - Returns this file's size
    • MongoGridFSFile::write - Writes this file to the filesystem
    • MongoGridfsFile::__construct - Create a new GridFS file
    • MongoId::getHostname - Gets the hostname being used for this machine's ids
    • MongoId::getInc - Gets the incremented value to create this id
    • MongoId::getPID - Gets the process ID
    • MongoId::getTimestamp - Gets the number of seconds since the epoch that this id was created
    • MongoId::isValid - Check if a value is a valid ObjectId
    • MongoId::__construct - Creates a new id
    • MongoId::__set_state - Create a dummy MongoId
    • MongoId::__toString - Returns a hexidecimal representation of this id
    • MongoInsertBatch::__construct - Description
    • MongoInt32::__construct - Creates a new 32-bit integer.
    • MongoInt32::__toString - Returns the string representation of this 32-bit integer.
    • MongoInt64::__construct - Creates a new 64-bit integer.
    • MongoInt64::__toString - Returns the string representation of this 64-bit integer.
    • MongoLog::getCallback - Gets the previously set callback function
    • MongoLog::getLevel - Gets the level(s) currently being logged
    • MongoLog::getModule - Gets the module(s) currently being logged
    • MongoLog::setCallback - Sets a callback function to be invoked for events
    • MongoLog::setLevel - Sets the level(s) to be logged
    • MongoLog::setModule - Sets the module(s) to be logged
    • MongoPool::getSize - Get pool size for connection pools
    • MongoPool::info - Returns information about all connection pools.
    • MongoPool::setSize - Set the size for future connection pools.
    • MongoRegex::__construct - Creates a new regular expression
    • MongoRegex::__toString - A string representation of this regular expression
    • MongoResultException::getDocument - Retrieve the full result document
    • MongoTimestamp::__construct - Creates a new timestamp.
    • MongoTimestamp::__toString - Returns a string representation of this timestamp
    • MongoUpdateBatch::__construct - Description
    • MongoWriteBatch::add - Adds a write operation to a batch
    • MongoWriteBatch::execute - Executes a batch of write operations
    • MongoWriteBatch::__construct - Creates a new batch of write operations
    • MongoWriteConcernException::getDocument - Get the error document
    • move_uploaded_file - Verschiebt eine hochgeladene Datei an einen neuen Ort
    • mqseries_back - MQSeries MQBACK
    • mqseries_begin - MQseries MQBEGIN
    • mqseries_close - MQSeries MQCLOSE
    • mqseries_cmit - MQSeries MQCMIT
    • mqseries_conn - MQSeries MQCONN
    • mqseries_connx - MQSeries MQCONNX
    • mqseries_disc - MQSeries MQDISC
    • mqseries_get - MQSeries MQGET
    • mqseries_inq - MQSeries MQINQ
    • mqseries_open - MQSeries MQOPEN
    • mqseries_put - MQSeries MQPUT
    • mqseries_put1 - MQSeries MQPUT1
    • mqseries_set - MQSeries MQSET
    • mqseries_strerror - Returns the error message corresponding to a result code (MQRC).
    • msession_connect - Baut eine Verbindung zum msession-Server auf
    • msession_count - Gibt die Session-Zahl zurück
    • msession_create - Erstellt eine Session
    • msession_destroy - Zerstört eine Session
    • msession_disconnect - Schließt eine Verbindung zum msession-Server
    • msession_find - Sucht nach Sessions mit Name und Wert
    • msession_get - Gibt einen Wert aus der Session zurück
    • msession_get_array - Gibt ein Array mit msession-Variablen zurück
    • msession_get_data - Get data session unstructured data
    • msession_inc - Erhöht einen Wert innerhalb einer Session
    • msession_list - Liste aller Sessions
    • msession_listvar - Liste aller Sessions, die eine bestimmte Variable enthalten
    • msession_lock - Sperrt eine Session
    • msession_plugin - Ruft eine Escape-Funktion innerhalb des msession-Personality-Plugins auf
    • msession_randstr - Gibt eine Zufallszeichenkette zurück
    • msession_set - Setzt einen Wert in der Session
    • msession_set_array - Setzt msession-Variablen aus einem Array
    • msession_set_data - Set data session unstructured data
    • msession_timeout - Setzt/liefert Session-Timeout
    • msession_uniq - Gibt eine eindeutige ID zurück
    • msession_unlock - Entsperrt eine Session
    • msg_get_queue - Message Queue anlegen oder an existierende Queue anbinden
    • msg_queue_exists - Check whether a message queue exists
    • msg_receive - Receive a message from a message queue
    • msg_remove_queue - Entfernt eine Message Queue
    • msg_send - Send a message to a message queue
    • msg_set_queue - Setzt Metadaten in derMessage Queue Datenstruktur
    • msg_stat_queue - Liefert Informationen zu einer Message Queue
    • msql - Alias für msql_db_query
    • msql_affected_rows - Gibt die Anzahl der betroffenen Datensätze zurück
    • msql_close - Schließt eine mSQL-Verbindung
    • msql_connect - Öffnet eine mSQL-Verbindung
    • msql_createdb - Alias von msql_create_db
    • msql_create_db - Erzeugt eine mSQL Datenbank
    • msql_data_seek - Bewegt den internen Datensatzzeiger
    • msql_dbname - Alias von msql_result
    • msql_db_query - Sendet eine mSQL Abfrage an den Server
    • msql_drop_db - Löscht eine mSQL Datenbank
    • msql_error - Gibt die letzte mSQL-Fehlermeldung zurück
    • msql_fetch_array - Holt eine Zeile als Array
    • msql_fetch_field - Gibt Feldinformationen in einem Objekt zurück
    • msql_fetch_object - Holt eine Zeile als Objekt
    • msql_fetch_row - Holt eine Zeile als numerisches Array
    • msql_fieldflags - Alias für msql_field_flags
    • msql_fieldlen - Alias für msql_field_len
    • msql_fieldname - Alias für msql_field_name
    • msql_fieldtable - Alias für msql_field_table
    • msql_fieldtype - Alias für msql_field_type
    • msql_field_flags - Gibt alle Flags für das angegebene Feld zurück
    • msql_field_len - Gibt die Länge des angegebenen Feldes zurück
    • msql_field_name - Gibt den Feldnamen des bezeichneten Feldes zurück
    • msql_field_seek - Setzt den internen Feld-Zeiger auf den angegebenen Feldindex
    • msql_field_table - Gibt den Tabellennamen für ein Feld zurück
    • msql_field_type - Gibt den Datentyp des angegebenen Feldes zurück
    • msql_free_result - Gibt den durch Ergebnisse belegten Speicher frei
    • msql_list_dbs - Listet alle mSQL Datenbanken auf dem Server auf
    • msql_list_fields - Listet alle Felder einer Tabelle auf
    • msql_list_tables - Listet alle Tabellen einer mSQL-Datenbank auf
    • msql_numfields - Alias für msql_num_fields
    • msql_numrows - Alias für msql_num_rows
    • msql_num_fields - Gibt die Anzahl der Felder in einem Abfrageergebnis zurück
    • msql_num_rows - Gibt die Anzahl der Zeilen in einem Abfrageergebnis zurück
    • msql_pconnect - Öffnet eine persistente mSQL-Verbindung
    • msql_query - Schickt eine mSQL-Abfrage zum Server
    • msql_regcase - Alias für sql_regcase
    • msql_result - Holt den Wert eines einzelnen Feldes
    • msql_select_db - Wählt eine mSQL Datenbank aus
    • msql_tablename - Alias für msql_result
    • mssql_bind - Fügt einer Stored Procedure oder einer Remote Stored Procedure einen Parameter hinzu
    • mssql_close - Schließt die Verbindung zum MS SQL Server
    • mssql_connect - Baut eine Verbindung zum MS SQL Server auf
    • mssql_data_seek - Bewegt den internen Datensatzzeiger
    • mssql_execute - Führt eine Stored Procedure in einer MS SQL-Datenbank aus
    • mssql_fetch_array - Liefert einen Ergebnis-Datensatz als assoziatives Array, als numerisches Array oder beides
    • mssql_fetch_assoc - Liefert ein assoziatives Array des aktuellen Datensatzes aus dem Ergebnis, das durch die Ergebniskennung bestimmt ist
    • mssql_fetch_batch - Liefert den nächsten Stapel von Datensätzen
    • mssql_fetch_field - Liefert Informationen über ein Feld
    • mssql_fetch_object - Liefert einen Datensatz als Objekt
    • mssql_fetch_row - Liefert einen Datensatz als indiziertes Array
    • mssql_field_length - Liefert die Länge eines Feldes
    • mssql_field_name - Liefert den Namen eines Feldes
    • mssql_field_seek - Setzt einen Feld-Offset
    • mssql_field_type - Liefert den Typ eines Feldes
    • mssql_free_result - Gibt den Ergebnisspeicher frei
    • mssql_free_statement - Gibt den Anweisungsspeicher frei
    • mssql_get_last_message - Gibt die letzte Meldung des Servers zurück
    • mssql_guid_string - Wandelt eine binäre GUID mit 16 Bytes in eine Zeichenkette um
    • mssql_init - Initialisiert eine Stored Procedure oder eine Remote Stored Procedure
    • mssql_min_error_severity - Setzt die untere Fehlerschwelle
    • mssql_min_message_severity - Setzt die untere Schwelle für Meldungen
    • mssql_next_result - Bewegt den internen Ergebnis-Zeiger zum nächsten Ergebnis
    • mssql_num_fields - Liefert die Anzahl der Felder eines Ergebnisses
    • mssql_num_rows - Liefert die Anzahl der Datensätze eines Ergebnisses
    • mssql_pconnect - Baut eine persistente MS SQL Verbindung auf
    • mssql_query - Sendet eine MS SQL Anfrage
    • mssql_result - Liefert die bei einer Abfrage gefundenen Daten
    • mssql_rows_affected - Liefert die Anzahl der von einer Anfrage betroffenen Datensätze
    • mssql_select_db - Wählt eine MS SQL Datenbank aus
    • mt_getrandmax - Zeigt den größtmöglichen Zufallswert an
    • mt_rand - Erzeugt "bessere" Zufallszahlen
    • mt_srand - Setzt den besseren Zufallszahlengenerator
    • MultipleIterator::attachIterator - Attaches iterator information
    • MultipleIterator::containsIterator - Checks if an iterator is attached
    • MultipleIterator::countIterators - Gets the number of attached iterator instances
    • MultipleIterator::current - Gets the registered iterator instances
    • MultipleIterator::detachIterator - Detaches an iterator
    • MultipleIterator::getFlags - Gets the flag information
    • MultipleIterator::key - Gets the registered iterator instances
    • MultipleIterator::next - Moves all attached iterator instances forward
    • MultipleIterator::rewind - Rewinds all attached iterator instances
    • MultipleIterator::setFlags - Sets flags
    • MultipleIterator::valid - Checks the validity of sub iterators
    • MultipleIterator::__construct - Constructs a new MultipleIterator
    • Mutex::create - Create a Mutex
    • Mutex::destroy - Destroy Mutex
    • Mutex::lock - Acquire Mutex
    • Mutex::trylock - Attempt to Acquire Mutex
    • Mutex::unlock - Release Mutex
    • mysqli::$affected_rows - Ermittelt die Anzahl der betroffenen Zeilen in einem vorherigen MySQL Vorgang
    • mysqli::$client_info - Get MySQL client info
    • mysqli::$connect_errno - Returns the error code from last connect call
    • mysqli::$connect_error - Returns a string description of the last connect error
    • mysqli::$errno - Returns the error code for the most recent function call
    • mysqli::$error - Returns a string description of the last error
    • mysqli::$error_list - Returns a list of errors from the last command executed
    • mysqli::$field_count - Returns the number of columns for the most recent query
    • mysqli::$host_info - Returns a string representing the type of connection used
    • mysqli::$info - Retrieves information about the most recently executed query
    • mysqli::$insert_id - Returns the auto generated id used in the latest query
    • mysqli::$protocol_version - Returns the version of the MySQL protocol used
    • mysqli::$server_info - Returns the version of the MySQL server
    • mysqli::$server_version - Returns the version of the MySQL server as an integer
    • mysqli::$sqlstate - Returns the SQLSTATE error from previous MySQL operation
    • mysqli::$thread_id - Returns the thread ID for the current connection
    • mysqli::$warning_count - Gibt die Anzahl an Warnungen für den letzten Query der übergebenen Verbindung zurück.
    • mysqli::autocommit - Aktiviert oder deaktiviert automatisches Bestätigen von Datenbankänderungen
    • mysqli::begin_transaction - Starts a transaction
    • mysqli::change_user - Changes the user of the specified database connection
    • mysqli::character_set_name - Returns the default character set for the database connection
    • mysqli::close - Schließt die zuvor geöffnete Datenbankverbindung
    • mysqli::commit - Commits the current transaction
    • mysqli::debug - Performs debugging operations
    • mysqli::disable_reads_from_master - Disable reads from master
    • mysqli::dump_debug_info - Dump debugging information into the log
    • mysqli::get_charset - Returns a character set object
    • mysqli::get_client_info - Get MySQL client info
    • mysqli::get_connection_stats - Returns statistics about the client connection
    • mysqli::get_warnings - Get result of SHOW WARNINGS
    • mysqli::init - Initializes MySQLi and returns a resource for use with mysqli_real_connect()
    • mysqli::kill - Asks the server to kill a MySQL thread
    • mysqli::more_results - Check if there are any more query results from a multi query
    • mysqli::multi_query - Performs a query on the database
    • mysqli::next_result - Prepare next result from multi_query
    • mysqli::options - Set options
    • mysqli::ping - Pings a server connection, or tries to reconnect if the connection has gone down
    • mysqli::poll - Poll connections
    • mysqli::prepare - Prepare an SQL statement for execution
    • mysqli::query - Performs a query on the database
    • mysqli::real_connect - Opens a connection to a mysql server
    • mysqli::real_escape_string - Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
    • mysqli::real_query - Execute an SQL query
    • mysqli::reap_async_query - Get result from async query
    • mysqli::refresh - Refreshes
    • mysqli::release_savepoint - Removes the named savepoint from the set of savepoints of the current transaction
    • mysqli::rollback - Rolls back current transaction
    • mysqli::rpl_query_type - Returns RPL query type
    • mysqli::savepoint - Set a named transaction savepoint
    • mysqli::select_db - Selects the default database for database queries
    • mysqli::send_query - Send the query and return
    • mysqli::set_charset - Sets the default client character set
    • mysqli::set_local_infile_default - Unsets user defined handler for load local infile command
    • mysqli::set_local_infile_handler - Set callback function for LOAD DATA LOCAL INFILE command
    • mysqli::set_opt - Alias für mysqli_options
    • mysqli::ssl_set - Used for establishing secure connections using SSL
    • mysqli::stat - Liefert den aktuellen System Status
    • mysqli::stmt_init - Initializes a statement and returns an object for use with mysqli_stmt_prepare
    • mysqli::store_result - Transfers a result set from the last query
    • mysqli::thread_safe - Returns whether thread safety is given or not
    • mysqli::use_result - Initiate a result set retrieval
    • mysqli::__construct - Open a new connection to the MySQL server
    • mysqli_bind_param - Alias für mysqli_stmt_bind_param
    • mysqli_bind_result - Alias für mysqli_stmt_bind_result
    • mysqli_client_encoding - Alias für mysqli_character_set_name
    • mysqli_connect - Alias von mysqli::__construct
    • mysqli_disable_rpl_parse - Disable RPL parse
    • mysqli_driver::$report_mode - Enables or disables internal report functions
    • mysqli_driver::embedded_server_end - Stop embedded server
    • mysqli_driver::embedded_server_start - Initialize and start embedded server
    • mysqli_enable_reads_from_master - Enable reads from master
    • mysqli_enable_rpl_parse - Enable RPL parse
    • mysqli_escape_string - Alias von mysqli_real_escape_string
    • mysqli_execute - Alias für mysqli_stmt_execute
    • mysqli_fetch - Alias für mysqli_stmt_fetch
    • mysqli_get_cache_stats - Returns client Zval cache statistics
    • mysqli_get_client_stats - Returns client per-process statistics
    • mysqli_get_client_version - Returns the MySQL client version as an integer
    • mysqli_get_links_stats - Return information about open and cached links
    • mysqli_get_metadata - Alias für mysqli_stmt_result_metadata
    • mysqli_master_query - Führt einen Query auf dem Master in einer Master/Slaver Umegbung durch.
    • mysqli_param_count - Alias für mysqli_stmt_param_count
    • mysqli_report - Alias von für mysqli_driver->report_mode
    • mysqli_result::$current_field - Get current field offset of a result pointer
    • mysqli_result::$field_count - Get the number of fields in a result
    • mysqli_result::$lengths - Returns the lengths of the columns of the current row in the result set
    • mysqli_result::$num_rows - Gets the number of rows in a result
    • mysqli_result::data_seek - Adjusts the result pointer to an arbitrary row in the result
    • mysqli_result::fetch_all - Fetches all result rows as an associative array, a numeric array, or both
    • mysqli_result::fetch_array - Fetch a result row as an associative, a numeric array, or both
    • mysqli_result::fetch_assoc - Fetch a result row as an associative array
    • mysqli_result::fetch_field - Returns the next field in the result set
    • mysqli_result::fetch_fields - Returns an array of objects representing the fields in a result set
    • mysqli_result::fetch_field_direct - Fetch meta-data for a single field
    • mysqli_result::fetch_object - Returns the current row of a result set as an object
    • mysqli_result::fetch_row - Get a result row as an enumerated array
    • mysqli_result::field_seek - Set result pointer to a specified field offset
    • mysqli_result::free - Frees the memory associated with a result
    • mysqli_rpl_parse_enabled - Check if RPL parse is enabled
    • mysqli_rpl_probe - RPL probe
    • mysqli_send_long_data - Alias für mysqli_stmt_send_long_data
    • mysqli_slave_query - Führt einen Query auf dem Slave in einer Master/Slave Umgebung durch
    • mysqli_stmt::$affected_rows - gibt die gesamte Anzahl der Zeilen zurück, die bei der letzten ausgeführten Anweisung geändert, gelöscht oder eingefügt worden sind
    • mysqli_stmt::$errno - Returns the error code for the most recent statement call
    • mysqli_stmt::$error - Returns a string description for last statement error
    • mysqli_stmt::$error_list - Returns a list of errors from the last statement executed
    • mysqli_stmt::$field_count - Returns the number of field in the given statement
    • mysqli_stmt::$insert_id - Get the ID generated from the previous INSERT operation
    • mysqli_stmt::$num_rows - gibt die Anzahl der Zeilen einer Ergebnismenge zurück
    • mysqli_stmt::$param_count - Gibt die Anzahl der Parameter der gegebenen Anweisung zurück
    • mysqli_stmt::$sqlstate - Gibt den SQL-Status von der vorangegangenen Ausführung der Anweisung zurück
    • mysqli_stmt::attr_get - Wird verwendet, um den augenblicklichen Wert eines Attributs der Anweisung zu erhalten
    • mysqli_stmt::attr_set - Wird verwendet, um das Verhalten einer vorbereiteten Anweisung (prepared statement) zu verändern.
    • mysqli_stmt::bind_param - Bindet Variablen als Parameter an eine vorbereitete Anweisung (prepared statement)
    • mysqli_stmt::bind_result - Bindet Variablen an eine vorbereitete Anweisung (prepared statement), um das Ergebnis einer Abfrage abzulegen.
    • mysqli_stmt::close - Schließt eine vorbereitete Anweisung (prepared statement)
    • mysqli_stmt::data_seek - Geht zu einer beliebigen Zeile in der Ergebnismenge einer Abfrage.
    • mysqli_stmt::execute - Executes a prepared Query
    • mysqli_stmt::fetch - Fetch results from a prepared statement into the bound variables
    • mysqli_stmt::free_result - Frees stored result memory for the given statement handle
    • mysqli_stmt::get_result - Gets a result set from a prepared statement
    • mysqli_stmt::get_warnings - Get result of SHOW WARNINGS
    • mysqli_stmt::more_results - Prüft, ob es weitere Ergebnismengen bei einer Mehrfachabfrage gibt.
    • mysqli_stmt::next_result - Liest die nächste Ergebnismenge einer Mehrfachabfrage aus.
    • mysqli_stmt::prepare - Prepare an SQL statement for execution
    • mysqli_stmt::reset - Resets a prepared statement
    • mysqli_stmt::result_metadata - Returns result set metadata from a prepared statement
    • mysqli_stmt::send_long_data - Sendet Daten blockweise
    • mysqli_stmt::store_result - Holt die Ergebnismenge einer vorbereiteten Anweisung (Prepared Statement)
    • mysqli_stmt::__construct - Erzeugt ein neues mysqli_stmt Objekt
    • mysqli_warning::next - The next purpose
    • mysqli_warning::__construct - The __construct purpose
    • MysqlndUhConnection::changeUser - Changes the user of the specified mysqlnd database connection
    • MysqlndUhConnection::charsetName - Returns the default character set for the database connection
    • MysqlndUhConnection::close - Closes a previously opened database connection
    • MysqlndUhConnection::connect - Open a new connection to the MySQL server
    • MysqlndUhConnection::endPSession - End a persistent connection
    • MysqlndUhConnection::escapeString - Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
    • MysqlndUhConnection::getAffectedRows - Gets the number of affected rows in a previous MySQL operation
    • MysqlndUhConnection::getErrorNumber - Returns the error code for the most recent function call
    • MysqlndUhConnection::getErrorString - Returns a string description of the last error
    • MysqlndUhConnection::getFieldCount - Returns the number of columns for the most recent query
    • MysqlndUhConnection::getHostInformation - Returns a string representing the type of connection used
    • MysqlndUhConnection::getLastInsertId - Returns the auto generated id used in the last query.
    • MysqlndUhConnection::getLastMessage - Retrieves information about the most recently executed query
    • MysqlndUhConnection::getProtocolInformation - Returns the version of the MySQL protocol used
    • MysqlndUhConnection::getServerInformation - Returns the version of the MySQL server
    • MysqlndUhConnection::getServerStatistics - Gets the current system status
    • MysqlndUhConnection::getServerVersion - Returns the version of the MySQL server as an integer
    • MysqlndUhConnection::getSqlstate - Returns the SQLSTATE error from previous MySQL operation
    • MysqlndUhConnection::getStatistics - Returns statistics about the client connection.
    • MysqlndUhConnection::getThreadId - Returns the thread ID for the current connection
    • MysqlndUhConnection::getWarningCount - Returns the number of warnings from the last query for the given link
    • MysqlndUhConnection::init - Initialize mysqlnd connection
    • MysqlndUhConnection::killConnection - Asks the server to kill a MySQL thread
    • MysqlndUhConnection::listFields - List MySQL table fields
    • MysqlndUhConnection::listMethod - Wrapper for assorted list commands
    • MysqlndUhConnection::moreResults - Check if there are any more query results from a multi query
    • MysqlndUhConnection::nextResult - Prepare next result from multi_query
    • MysqlndUhConnection::ping - Pings a server connection, or tries to reconnect if the connection has gone down
    • MysqlndUhConnection::query - Performs a query on the database
    • MysqlndUhConnection::queryReadResultsetHeader - Read a result set header
    • MysqlndUhConnection::reapQuery - Get result from async query
    • MysqlndUhConnection::refreshServer - Flush or reset tables and caches
    • MysqlndUhConnection::restartPSession - Restart a persistent mysqlnd connection
    • MysqlndUhConnection::selectDb - Selects the default database for database queries
    • MysqlndUhConnection::sendClose - Sends a close command to MySQL
    • MysqlndUhConnection::sendQuery - Sends a query to MySQL
    • MysqlndUhConnection::serverDumpDebugInformation - Dump debugging information into the log for the MySQL server
    • MysqlndUhConnection::setAutocommit - Turns on or off auto-committing database modifications
    • MysqlndUhConnection::setCharset - Sets the default client character set
    • MysqlndUhConnection::setClientOption - Sets a client option
    • MysqlndUhConnection::setServerOption - Sets a server option
    • MysqlndUhConnection::shutdownServer - The shutdownServer purpose
    • MysqlndUhConnection::simpleCommand - Sends a basic COM_* command
    • MysqlndUhConnection::simpleCommandHandleResponse - Process a response for a basic COM_* command send to the client
    • MysqlndUhConnection::sslSet - Used for establishing secure connections using SSL
    • MysqlndUhConnection::stmtInit - Initializes a statement and returns a resource for use with mysqli_statement::prepare
    • MysqlndUhConnection::storeResult - Transfers a result set from the last query
    • MysqlndUhConnection::txCommit - Commits the current transaction
    • MysqlndUhConnection::txRollback - Rolls back current transaction
    • MysqlndUhConnection::useResult - Initiate a result set retrieval
    • MysqlndUhConnection::__construct - The __construct purpose
    • MysqlndUhPreparedStatement::execute - Executes a prepared Query
    • MysqlndUhPreparedStatement::prepare - Prepare an SQL statement for execution
    • MysqlndUhPreparedStatement::__construct - The __construct purpose
    • mysqlnd_memcache_get_config - Returns information about the plugin configuration
    • mysqlnd_memcache_set - Associate a MySQL connection with a Memcache connection
    • mysqlnd_ms_dump_servers - Returns a list of currently configured servers
    • mysqlnd_ms_fabric_select_global - Switch to global sharding server for a given table
    • mysqlnd_ms_fabric_select_shard - Switch to shard
    • mysqlnd_ms_get_last_gtid - Returns the latest global transaction ID
    • mysqlnd_ms_get_last_used_connection - Returns an array which describes the last used connection
    • mysqlnd_ms_get_stats - Returns query distribution and connection statistics
    • mysqlnd_ms_match_wild - Finds whether a table name matches a wildcard pattern or not
    • mysqlnd_ms_query_is_select - Find whether to send the query to the master, the slave or the last used MySQL server
    • mysqlnd_ms_set_qos - Sets the quality of service needed from the cluster
    • mysqlnd_ms_set_user_pick_server - Sets a callback for user-defined read/write splitting
    • mysqlnd_ms_xa_begin - Starts a distributed/XA transaction among MySQL servers
    • mysqlnd_ms_xa_commit - Commits a distributed/XA transaction among MySQL servers
    • mysqlnd_ms_xa_gc - Garbage collects unfinished XA transactions after severe errors
    • mysqlnd_ms_xa_rollback - Rolls back a distributed/XA transaction among MySQL servers
    • mysqlnd_qc_clear_cache - Flush all cache contents
    • mysqlnd_qc_get_available_handlers - Returns a list of available storage handler
    • mysqlnd_qc_get_cache_info - Returns information on the current handler, the number of cache entries and cache entries, if available
    • mysqlnd_qc_get_core_stats - Statistics collected by the core of the query cache
    • mysqlnd_qc_get_normalized_query_trace_log - Returns a normalized query trace log for each query inspected by the query cache
    • mysqlnd_qc_get_query_trace_log - Returns a backtrace for each query inspected by the query cache
    • mysqlnd_qc_set_cache_condition - Set conditions for automatic caching
    • mysqlnd_qc_set_is_select - Installs a callback which decides whether a statement is cached
    • mysqlnd_qc_set_storage_handler - Change current storage handler
    • mysqlnd_qc_set_user_handlers - Sets the callback functions for a user-defined procedural storage handler
    • mysqlnd_uh_convert_to_mysqlnd - Converts a MySQL connection handle into a mysqlnd connection handle
    • mysqlnd_uh_set_connection_proxy - Installs a proxy for mysqlnd connections
    • mysqlnd_uh_set_statement_proxy - Installs a proxy for mysqlnd statements
    • mysql_affected_rows - Liefert die Anzahl betroffener Datensätze einer vorhergehenden MySQL Operation
    • mysql_client_encoding - Liefert den Namen des Zeichensatzes
    • mysql_close - Schließt eine Verbindung zu MySQL
    • mysql_connect - Öffnet eine Verbindung zu einem MySQL-Server
    • mysql_create_db - Anlegen einer MySQL-Datenbank
    • mysql_data_seek - Bewegt den internen Ergebnis-Zeiger
    • mysql_db_name - Liefert Schema Namen vom Aufruf von mysql_list_dbs
    • mysql_db_query - Selektiert ein Schema und führt in ihm Anfrage aus
    • mysql_drop_db - Löschen eines Schemas
    • mysql_errno - Liefert die Nummer einer Fehlermeldung einer zuvor ausgeführten MySQL Operation
    • mysql_error - Liefert den Fehlertext der zuvor ausgeführten MySQL Operation
    • mysql_escape_string - Maskiert einen String zur Benutzung in einer MySQL Abfrage
    • mysql_fetch_array - Liefert einen Datensatz als assoziatives Array, als numerisches Array oder beides
    • mysql_fetch_assoc - Liefert einen Datensatz als assoziatives Array
    • mysql_fetch_field - Liefert ein Objekt mit Feldinformationen aus einem Anfrageergebnis
    • mysql_fetch_lengths - Liefert die Länge eines jeden Feldes in einem Ergebnis
    • mysql_fetch_object - Liefert eine Ergebniszeile als Objekt
    • mysql_fetch_row - Liefert einen Datensatz als indiziertes Array
    • mysql_field_flags - Liefert die Flags des spezifizierten Feldes in einem Anfrageergebnis
    • mysql_field_len - Liefert die Länge des angegebenen Feldes
    • mysql_field_name - Liefert den Namen eines Feldes in einem Ergebnis
    • mysql_field_seek - Setzt den Ergebniszeiger auf ein bestimmtes Feldoffset
    • mysql_field_table - Liefert den Namen der Tabelle, die das genannte Feld enthält
    • mysql_field_type - Liefert den Typ des spezifizierten Feldes in einem Ergebnis
    • mysql_free_result - Gibt belegten Speicher wieder frei
    • mysql_get_client_info - Liefert MySQL Clientinformationen
    • mysql_get_host_info - Liefert MySQL Host Informationen
    • mysql_get_proto_info - Liefert MySQL Protokollinformationen
    • mysql_get_server_info - Liefert MySQL Server Informationen
    • mysql_info - Liefert Informationen über die zuletzt ausgeführte Anfrage zurück
    • mysql_insert_id - Liefert die ID, die in der vorherigen Abfrage erzeugt wurde
    • mysql_list_dbs - Auflistung der verfügbaren Datenbanken (Schemata) auf einem MySQL Server
    • mysql_list_fields - Listet MySQL Tabellenfelder auf
    • mysql_list_processes - Zeigt die MySQL Prozesse an
    • mysql_list_tables - Listet Tabellen in einer MySQL Datenbank auf
    • mysql_num_fields - Liefert die Anzahl der Felder in einem Ergebnis
    • mysql_num_rows - Liefert die Anzahl der Zeilen im Ergebnis
    • mysql_pconnect - Öffnet eine persistente Verbindung zum MySQL Server
    • mysql_ping - Ping a server connection or reconnect if there is no connection
    • mysql_query - Sendet eine Anfrage an MySQL
    • mysql_real_escape_string - Maskiert spezielle Zeichen innerhalb eines Strings für die Verwendung in einer SQL-Anweisung
    • mysql_result - Liefert Ergebnis
    • mysql_select_db - Auswahl einer MySQL Datenbank
    • mysql_set_charset - Setzt den Verbindungszeichensatz
    • mysql_stat - Zeigt den momentanen Serverstatus an
    • mysql_tablename - Liefert den Namen einer Tabelle
    • mysql_thread_id - Zeigt die aktuelle Thread ID an
    • mysql_unbuffered_query - Sendet eine SQL Anfrage an MySQL, ohne Ergebniszeilen abzuholen und zu puffern
    • m_checkstatus - Check to see if a transaction has completed
    • m_completeauthorizations - Number of complete authorizations in queue, returning an array of their identifiers
    • m_connect - Establish the connection to MCVE
    • m_connectionerror - Get a textual representation of why a connection failed
    • m_deletetrans - Delete specified transaction from MCVE_CONN structure
    • m_destroyconn - Destroy the connection and MCVE_CONN structure
    • m_destroyengine - Free memory associated with IP/SSL connectivity
    • m_getcell - Get a specific cell from a comma delimited response by column name
    • m_getcellbynum - Get a specific cell from a comma delimited response by column number
    • m_getcommadelimited - Get the RAW comma delimited data returned from MCVE
    • m_getheader - Get the name of the column in a comma-delimited response
    • m_initconn - Create and initialize an MCVE_CONN structure
    • m_initengine - Ready the client for IP/SSL Communication
    • m_iscommadelimited - Checks to see if response is comma delimited
    • m_maxconntimeout - The maximum amount of time the API will attempt a connection to MCVE
    • m_monitor - Perform communication with MCVE (send/receive data) Non-blocking
    • m_numcolumns - Number of columns returned in a comma delimited response
    • m_numrows - Number of rows returned in a comma delimited response
    • m_parsecommadelimited - Parse the comma delimited response so m_getcell, etc will work
    • m_responsekeys - Returns array of strings which represents the keys that can be used for response parameters on this transaction
    • m_responseparam - Get a custom response parameter
    • m_returnstatus - Check to see if the transaction was successful
    • m_setblocking - Set blocking/non-blocking mode for connection
    • m_setdropfile - Set the connection method to Drop-File
    • m_setip - Set the connection method to IP
    • m_setssl - Set the connection method to SSL
    • m_setssl_cafile - Set SSL CA (Certificate Authority) file for verification of server certificate
    • m_setssl_files - Set certificate key files and certificates if server requires client certificate verification
    • m_settimeout - Set maximum transaction time (per trans)
    • m_sslcert_gen_hash - Generate hash for SSL client certificate verification
    • m_transactionssent - Check to see if outgoing buffer is clear
    • m_transinqueue - Number of transactions in client-queue
    • m_transkeyval - Add key/value pair to a transaction. Replaces deprecated transparam()
    • m_transnew - Start a new transaction
    • m_transsend - Finalize and send the transaction
    • m_uwait - Wait x microsecs
    • m_validateidentifier - Whether or not to validate the passed identifier on any transaction it is passed to
    • m_verifyconnection - Set whether or not to PING upon connect to verify connection
    • m_verifysslcert - Set whether or not to verify the server ssl certificate
  • n
    • natcasesort - Sortiert ein Array in "natürlicher Reihenfolge", Groß/Kleinschreibung wird ignoriert
    • natsort - Sortiert ein Array in "natürlicher Reihenfolge"
    • ncurses_addch - Add character at current position and advance cursor
    • ncurses_addchnstr - Add attributed string with specified length at current position
    • ncurses_addchstr - Add attributed string at current position
    • ncurses_addnstr - Add string with specified length at current position
    • ncurses_addstr - Output text at current position
    • ncurses_assume_default_colors - Define default colors for color 0
    • ncurses_attroff - Turn off the given attributes
    • ncurses_attron - Turn on the given attributes
    • ncurses_attrset - Set given attributes
    • ncurses_baudrate - Returns baudrate of terminal
    • ncurses_beep - Let the terminal beep
    • ncurses_bkgd - Set background property for terminal screen
    • ncurses_bkgdset - Control screen background
    • ncurses_border - Draw a border around the screen using attributed characters
    • ncurses_bottom_panel - Moves a visible panel to the bottom of the stack
    • ncurses_can_change_color - Checks if terminal color definitions can be changed
    • ncurses_cbreak - Switch off input buffering
    • ncurses_clear - Clear screen
    • ncurses_clrtobot - Clear screen from current position to bottom
    • ncurses_clrtoeol - Clear screen from current position to end of line
    • ncurses_color_content - Retrieves RGB components of a color
    • ncurses_color_set - Set active foreground and background colors
    • ncurses_curs_set - Set cursor state
    • ncurses_define_key - Define a keycode
    • ncurses_def_prog_mode - Saves terminals (program) mode
    • ncurses_def_shell_mode - Saves terminals (shell) mode
    • ncurses_delay_output - Delay output on terminal using padding characters
    • ncurses_delch - Delete character at current position, move rest of line left
    • ncurses_deleteln - Delete line at current position, move rest of screen up
    • ncurses_delwin - Delete a ncurses window
    • ncurses_del_panel - Remove panel from the stack and delete it (but not the associated window)
    • ncurses_doupdate - Write all prepared refreshes to terminal
    • ncurses_echo - Activate keyboard input echo
    • ncurses_echochar - Single character output including refresh
    • ncurses_end - Stop using ncurses, clean up the screen
    • ncurses_erase - Erase terminal screen
    • ncurses_erasechar - Returns current erase character
    • ncurses_filter - Set LINES for iniscr() and newterm() to 1
    • ncurses_flash - Flash terminal screen (visual bell)
    • ncurses_flushinp - Flush keyboard input buffer
    • ncurses_getch - Read a character from keyboard
    • ncurses_getmaxyx - Returns the size of a window
    • ncurses_getmouse - Reads mouse event
    • ncurses_getyx - Returns the current cursor position for a window
    • ncurses_halfdelay - Put terminal into halfdelay mode
    • ncurses_has_colors - Checks if terminal has color capabilities
    • ncurses_has_ic - Check for insert- and delete-capabilities
    • ncurses_has_il - Check for line insert- and delete-capabilities
    • ncurses_has_key - Check for presence of a function key on terminal keyboard
    • ncurses_hide_panel - Remove panel from the stack, making it invisible
    • ncurses_hline - Draw a horizontal line at current position using an attributed character and max. n characters long
    • ncurses_inch - Get character and attribute at current position
    • ncurses_init - Initialize ncurses
    • ncurses_init_color - Define a terminal color
    • ncurses_init_pair - Define a color pair
    • ncurses_insch - Insert character moving rest of line including character at current position
    • ncurses_insdelln - Insert lines before current line scrolling down (negative numbers delete and scroll up)
    • ncurses_insertln - Insert a line, move rest of screen down
    • ncurses_insstr - Insert string at current position, moving rest of line right
    • ncurses_instr - Reads string from terminal screen
    • ncurses_isendwin - Ncurses is in endwin mode, normal screen output may be performed
    • ncurses_keyok - Enable or disable a keycode
    • ncurses_keypad - Turns keypad on or off
    • ncurses_killchar - Returns current line kill character
    • ncurses_longname - Returns terminals description
    • ncurses_meta - Enables/Disable 8-bit meta key information
    • ncurses_mouseinterval - Set timeout for mouse button clicks
    • ncurses_mousemask - Sets mouse options
    • ncurses_mouse_trafo - Transforms coordinates
    • ncurses_move - Move output position
    • ncurses_move_panel - Moves a panel so that its upper-left corner is at [startx, starty]
    • ncurses_mvaddch - Move current position and add character
    • ncurses_mvaddchnstr - Move position and add attributed string with specified length
    • ncurses_mvaddchstr - Move position and add attributed string
    • ncurses_mvaddnstr - Move position and add string with specified length
    • ncurses_mvaddstr - Move position and add string
    • ncurses_mvcur - Move cursor immediately
    • ncurses_mvdelch - Move position and delete character, shift rest of line left
    • ncurses_mvgetch - Move position and get character at new position
    • ncurses_mvhline - Set new position and draw a horizontal line using an attributed character and max. n characters long
    • ncurses_mvinch - Move position and get attributed character at new position
    • ncurses_mvvline - Set new position and draw a vertical line using an attributed character and max. n characters long
    • ncurses_mvwaddstr - Add string at new position in window
    • ncurses_napms - Sleep
    • ncurses_newpad - Creates a new pad (window)
    • ncurses_newwin - Create a new window
    • ncurses_new_panel - Create a new panel and associate it with window
    • ncurses_nl - Translate newline and carriage return / line feed
    • ncurses_nocbreak - Switch terminal to cooked mode
    • ncurses_noecho - Switch off keyboard input echo
    • ncurses_nonl - Do not translate newline and carriage return / line feed
    • ncurses_noqiflush - Do not flush on signal characters
    • ncurses_noraw - Switch terminal out of raw mode
    • ncurses_pair_content - Retrieves foreground and background colors of a color pair
    • ncurses_panel_above - Returns the panel above panel
    • ncurses_panel_below - Returns the panel below panel
    • ncurses_panel_window - Returns the window associated with panel
    • ncurses_pnoutrefresh - Copies a region from a pad into the virtual screen
    • ncurses_prefresh - Copies a region from a pad into the virtual screen
    • ncurses_putp - Apply padding information to the string and output it
    • ncurses_qiflush - Flush on signal characters
    • ncurses_raw - Switch terminal into raw mode
    • ncurses_refresh - Refresh screen
    • ncurses_replace_panel - Replaces the window associated with panel
    • ncurses_resetty - Restores saved terminal state
    • ncurses_reset_prog_mode - Resets the prog mode saved by def_prog_mode
    • ncurses_reset_shell_mode - Resets the shell mode saved by def_shell_mode
    • ncurses_savetty - Saves terminal state
    • ncurses_scrl - Scroll window content up or down without changing current position
    • ncurses_scr_dump - Dump screen content to file
    • ncurses_scr_init - Initialize screen from file dump
    • ncurses_scr_restore - Restore screen from file dump
    • ncurses_scr_set - Inherit screen from file dump
    • ncurses_show_panel - Places an invisible panel on top of the stack, making it visible
    • ncurses_slk_attr - Returns current soft label key attribute
    • ncurses_slk_attroff - Turn off the given attributes for soft function-key labels
    • ncurses_slk_attron - Turn on the given attributes for soft function-key labels
    • ncurses_slk_attrset - Set given attributes for soft function-key labels
    • ncurses_slk_clear - Clears soft labels from screen
    • ncurses_slk_color - Sets color for soft label keys
    • ncurses_slk_init - Initializes soft label key functions
    • ncurses_slk_noutrefresh - Copies soft label keys to virtual screen
    • ncurses_slk_refresh - Copies soft label keys to screen
    • ncurses_slk_restore - Restores soft label keys
    • ncurses_slk_set - Sets function key labels
    • ncurses_slk_touch - Forces output when ncurses_slk_noutrefresh is performed
    • ncurses_standend - Stop using 'standout' attribute
    • ncurses_standout - Start using 'standout' attribute
    • ncurses_start_color - Initializes color functionality
    • ncurses_termattrs - Returns a logical OR of all attribute flags supported by terminal
    • ncurses_termname - Returns terminals (short)-name
    • ncurses_timeout - Set timeout for special key sequences
    • ncurses_top_panel - Moves a visible panel to the top of the stack
    • ncurses_typeahead - Specify different filedescriptor for typeahead checking
    • ncurses_ungetch - Put a character back into the input stream
    • ncurses_ungetmouse - Pushes mouse event to queue
    • ncurses_update_panels - Refreshes the virtual screen to reflect the relations between panels in the stack
    • ncurses_use_default_colors - Assign terminal default colors to color id -1
    • ncurses_use_env - Control use of environment information about terminal size
    • ncurses_use_extended_names - Control use of extended names in terminfo descriptions
    • ncurses_vidattr - Display the string on the terminal in the video attribute mode
    • ncurses_vline - Draw a vertical line at current position using an attributed character and max. n characters long
    • ncurses_waddch - Adds character at current position in a window and advance cursor
    • ncurses_waddstr - Outputs text at current postion in window
    • ncurses_wattroff - Turns off attributes for a window
    • ncurses_wattron - Turns on attributes for a window
    • ncurses_wattrset - Set the attributes for a window
    • ncurses_wborder - Draws a border around the window using attributed characters
    • ncurses_wclear - Clears window
    • ncurses_wcolor_set - Sets windows color pairings
    • ncurses_werase - Erase window contents
    • ncurses_wgetch - Reads a character from keyboard (window)
    • ncurses_whline - Draws a horizontal line in a window at current position using an attributed character and max. n characters long
    • ncurses_wmouse_trafo - Transforms window/stdscr coordinates
    • ncurses_wmove - Moves windows output position
    • ncurses_wnoutrefresh - Copies window to virtual screen
    • ncurses_wrefresh - Refresh window on terminal screen
    • ncurses_wstandend - End standout mode for a window
    • ncurses_wstandout - Enter standout mode for a window
    • ncurses_wvline - Draws a vertical line in a window at current position using an attributed character and max. n characters long
    • newt_bell - Send a beep to the terminal
    • newt_button - Create a new button
    • newt_button_bar - This function returns a grid containing the buttons created.
    • newt_centered_window - Open a centered window of the specified size
    • newt_checkbox - Beschreibung
    • newt_checkbox_get_value - Retreives value of checkox resource
    • newt_checkbox_set_flags - Configures checkbox resource
    • newt_checkbox_set_value - Sets the value of the checkbox
    • newt_checkbox_tree - Beschreibung
    • newt_checkbox_tree_add_item - Adds new item to the checkbox tree
    • newt_checkbox_tree_find_item - Finds an item in the checkbox tree
    • newt_checkbox_tree_get_current - Returns checkbox tree selected item
    • newt_checkbox_tree_get_entry_value - Beschreibung
    • newt_checkbox_tree_get_multi_selection - Beschreibung
    • newt_checkbox_tree_get_selection - Beschreibung
    • newt_checkbox_tree_multi - Beschreibung
    • newt_checkbox_tree_set_current - Beschreibung
    • newt_checkbox_tree_set_entry - Beschreibung
    • newt_checkbox_tree_set_entry_value - Beschreibung
    • newt_checkbox_tree_set_width - Beschreibung
    • newt_clear_key_buffer - Discards the contents of the terminal's input buffer without waiting for additional input
    • newt_cls - Beschreibung
    • newt_compact_button - Beschreibung
    • newt_component_add_callback - Beschreibung
    • newt_component_takes_focus - Beschreibung
    • newt_create_grid - Beschreibung
    • newt_cursor_off - Beschreibung
    • newt_cursor_on - Beschreibung
    • newt_delay - Beschreibung
    • newt_draw_form - Beschreibung
    • newt_draw_root_text - Displays the string text at the position indicated
    • newt_entry - Beschreibung
    • newt_entry_get_value - Beschreibung
    • newt_entry_set - Beschreibung
    • newt_entry_set_filter - Beschreibung
    • newt_entry_set_flags - Beschreibung
    • newt_finished - Uninitializes newt interface
    • newt_form - Create a form
    • newt_form_add_component - Adds a single component to the form
    • newt_form_add_components - Add several components to the form
    • newt_form_add_hot_key - Beschreibung
    • newt_form_destroy - Destroys a form
    • newt_form_get_current - Beschreibung
    • newt_form_run - Runs a form
    • newt_form_set_background - Beschreibung
    • newt_form_set_height - Beschreibung
    • newt_form_set_size - Beschreibung
    • newt_form_set_timer - Beschreibung
    • newt_form_set_width - Beschreibung
    • newt_form_watch_fd - Beschreibung
    • newt_get_screen_size - Fills in the passed references with the current size of the terminal
    • newt_grid_add_components_to_form - Beschreibung
    • newt_grid_basic_window - Beschreibung
    • newt_grid_free - Beschreibung
    • newt_grid_get_size - Beschreibung
    • newt_grid_h_close_stacked - Beschreibung
    • newt_grid_h_stacked - Beschreibung
    • newt_grid_place - Beschreibung
    • newt_grid_set_field - Beschreibung
    • newt_grid_simple_window - Beschreibung
    • newt_grid_v_close_stacked - Beschreibung
    • newt_grid_v_stacked - Beschreibung
    • newt_grid_wrapped_window - Beschreibung
    • newt_grid_wrapped_window_at - Beschreibung
    • newt_init - Initialize newt
    • newt_label - Beschreibung
    • newt_label_set_text - Beschreibung
    • newt_listbox - Beschreibung
    • newt_listbox_append_entry - Beschreibung
    • newt_listbox_clear - Beschreibung
    • newt_listbox_clear_selection - Beschreibung
    • newt_listbox_delete_entry - Beschreibung
    • newt_listbox_get_current - Beschreibung
    • newt_listbox_get_selection - Beschreibung
    • newt_listbox_insert_entry - Beschreibung
    • newt_listbox_item_count - Beschreibung
    • newt_listbox_select_item - Beschreibung
    • newt_listbox_set_current - Beschreibung
    • newt_listbox_set_current_by_key - Beschreibung
    • newt_listbox_set_data - Beschreibung
    • newt_listbox_set_entry - Beschreibung
    • newt_listbox_set_width - Beschreibung
    • newt_listitem - Beschreibung
    • newt_listitem_get_data - Beschreibung
    • newt_listitem_set - Beschreibung
    • newt_open_window - Open a window of the specified size and position
    • newt_pop_help_line - Replaces the current help line with the one from the stack
    • newt_pop_window - Removes the top window from the display
    • newt_push_help_line - Saves the current help line on a stack, and displays the new line
    • newt_radiobutton - Beschreibung
    • newt_radio_get_current - Beschreibung
    • newt_redraw_help_line - Beschreibung
    • newt_reflow_text - Beschreibung
    • newt_refresh - Updates modified portions of the screen
    • newt_resize_screen - Beschreibung
    • newt_resume - Resume using the newt interface after calling newt_suspend
    • newt_run_form - Runs a form
    • newt_scale - Beschreibung
    • newt_scale_set - Beschreibung
    • newt_scrollbar_set - Beschreibung
    • newt_set_help_callback - Beschreibung
    • newt_set_suspend_callback - Set a callback function which gets invoked when user presses the suspend key
    • newt_suspend - Tells newt to return the terminal to its initial state
    • newt_textbox - Beschreibung
    • newt_textbox_get_num_lines - Beschreibung
    • newt_textbox_reflowed - Beschreibung
    • newt_textbox_set_height - Beschreibung
    • newt_textbox_set_text - Beschreibung
    • newt_vertical_scrollbar - Beschreibung
    • newt_wait_for_key - Doesn't return until a key has been pressed
    • newt_win_choice - Beschreibung
    • newt_win_entries - Beschreibung
    • newt_win_menu - Beschreibung
    • newt_win_message - Beschreibung
    • newt_win_messagev - Beschreibung
    • newt_win_ternary - Beschreibung
    • next - Rückt den internen Zeiger eines Arrays vor
    • ngettext - Pluralversion von gettext
    • nl2br - Fügt vor allen Zeilenumbrüchen eines Strings HTML-Zeilenumbrüche ein
    • nl_langinfo - Query-Language und Locale Information
    • NoRewindIterator::current - Get the current value
    • NoRewindIterator::getInnerIterator - Get the inner iterator
    • NoRewindIterator::key - Get the current key
    • NoRewindIterator::next - Forward to the next element
    • NoRewindIterator::rewind - Prevents the rewind operation on the inner iterator.
    • NoRewindIterator::valid - Validates the iterator
    • NoRewindIterator::__construct - Construct a NoRewindIterator
    • Normalizer::isNormalized - Checks if the provided string is already in the specified normalization form.
    • Normalizer::normalize - Normalizes the input provided and returns the normalized string
    • nsapi_request_headers - Fetch all HTTP request headers
    • nsapi_response_headers - Fetch all HTTP response headers
    • nsapi_virtual - Perform an NSAPI sub-request
    • NumberFormatter::create - Create a number formatter
    • NumberFormatter::format - Format a number
    • NumberFormatter::formatCurrency - Format a currency value
    • NumberFormatter::getAttribute - Get an attribute
    • NumberFormatter::getErrorCode - Get formatter's last error code.
    • NumberFormatter::getErrorMessage - Get formatter's last error message.
    • NumberFormatter::getLocale - Get formatter locale
    • NumberFormatter::getPattern - Get formatter pattern
    • NumberFormatter::getSymbol - Get a symbol value
    • NumberFormatter::getTextAttribute - Get a text attribute
    • NumberFormatter::parse - Parse a number
    • NumberFormatter::parseCurrency - Parse a currency number
    • NumberFormatter::setAttribute - Set an attribute
    • NumberFormatter::setPattern - Set formatter pattern
    • NumberFormatter::setSymbol - Set a symbol value
    • NumberFormatter::setTextAttribute - Set a text attribute
    • number_format - Formatiert eine Zahl mit Tausender-Trennzeichen
  • o
    • OAuth::disableDebug - Turn off verbose debugging
    • OAuth::disableRedirects - Turn off redirects
    • OAuth::disableSSLChecks - Turn off SSL checks
    • OAuth::enableDebug - Turn on verbose debugging
    • OAuth::enableRedirects - Turn on redirects
    • OAuth::enableSSLChecks - Turn on SSL checks
    • OAuth::fetch - Fetch an OAuth protected resource
    • OAuth::generateSignature - Generate a signature
    • OAuth::getAccessToken - Fetch an access token
    • OAuth::getCAPath - Gets CA information
    • OAuth::getLastResponse - Get the last response
    • OAuth::getLastResponseHeaders - Get headers for last response
    • OAuth::getLastResponseInfo - Get HTTP information about the last response
    • OAuth::getRequestHeader - Generate OAuth header string signature
    • OAuth::getRequestToken - Fetch a request token
    • OAuth::setAuthType - Set authorization type
    • OAuth::setCAPath - Set CA path and info
    • OAuth::setNonce - Set the nonce for subsequent requests
    • OAuth::setRequestEngine - The setRequestEngine purpose
    • OAuth::setRSACertificate - Set the RSA certificate
    • OAuth::setSSLChecks - Tweak specific SSL checks for requests.
    • OAuth::setTimestamp - Set the timestamp
    • OAuth::setToken - Sets the token and secret
    • OAuth::setVersion - Set the OAuth version
    • OAuth::__construct - Create a new OAuth object
    • OAuth::__destruct - The destructor
    • OAuthProvider::addRequiredParameter - Add required parameters
    • OAuthProvider::callconsumerHandler - Calls the consumerNonceHandler callback
    • OAuthProvider::callTimestampNonceHandler - Calls the timestampNonceHandler callback
    • OAuthProvider::calltokenHandler - Calls the tokenNonceHandler callback
    • OAuthProvider::checkOAuthRequest - Check an oauth request
    • OAuthProvider::consumerHandler - Set the consumerHandler handler callback
    • OAuthProvider::generateToken - Generate a random token
    • OAuthProvider::is2LeggedEndpoint - is2LeggedEndpoint
    • OAuthProvider::isRequestTokenEndpoint - Sets isRequestTokenEndpoint
    • OAuthProvider::removeRequiredParameter - Remove a required parameter
    • OAuthProvider::reportProblem - Report a problem
    • OAuthProvider::setParam - Set a parameter
    • OAuthProvider::setRequestTokenPath - Set request token path
    • OAuthProvider::timestampNonceHandler - Set the timestampNonceHandler handler callback
    • OAuthProvider::tokenHandler - Set the tokenHandler handler callback
    • OAuthProvider::__construct - Constructs a new OAuthProvider object
    • oauth_get_sbs - Generate a Signature Base String
    • oauth_urlencode - Kodiert eine URI nach RFC 3986
    • ob_clean - Löscht den Ausgabepuffer
    • ob_end_clean - Löscht den Ausgabe-Puffer und deaktiviert die Ausgabe-Pufferung
    • ob_end_flush - Leert (schickt/sendet) den Ausgabe-Puffer und deaktiviert die Ausgabe-Pufferung
    • ob_flush - Leert (sendet) den Ausgabepuffer
    • ob_get_clean - Get current buffer contents and delete current output buffer
    • ob_get_contents - Gibt den Inhalt des Ausgabe-Puffers zurück
    • ob_get_flush - Flush the output buffer, return it as a string and turn off output buffering
    • ob_get_length - Return the length of the output buffer
    • ob_get_level - Anzahl der aktiven Ausgabepuffer
    • ob_get_status - Get status of output buffers
    • ob_gzhandler - ob_start callback function to gzip output buffer
    • ob_iconv_handler - Konvertiert Zeichensatzkodierung als Ausgabepuffer-Handler (output buffer handler)
    • ob_implicit_flush - Schaltet die implizite Ausgabe ein bzw. aus
    • ob_list_handlers - List all output handlers in use
    • ob_start - Ausgabepufferung aktivieren
    • ob_tidyhandler - ob_start callback function to repair the buffer
    • OCI-Collection::append - Appends element to the collection
    • OCI-Collection::assign - Assigns a value to the collection from another existing collection
    • OCI-Collection::assignElem - Assigns a value to the element of the collection
    • OCI-Collection::free - Frees the resources associated with the collection object
    • OCI-Collection::getElem - Returns value of the element
    • OCI-Collection::max - Returns the maximum number of elements in the collection
    • OCI-Collection::size - Returns size of the collection
    • OCI-Collection::trim - Trims elements from the end of the collection
    • OCI-Lob::append - Appends data from the large object to another large object
    • OCI-Lob::close - Closes LOB descriptor
    • OCI-Lob::eof - Tests for end-of-file on a large object's descriptor
    • OCI-Lob::erase - Erases a specified portion of the internal LOB data
    • OCI-Lob::export - Exports LOB's contents to a file
    • OCI-Lob::flush - Flushes/writes buffer of the LOB to the server
    • OCI-Lob::free - Frees resources associated with the LOB descriptor
    • OCI-Lob::getBuffering - Returns current state of buffering for the large object
    • OCI-Lob::import - Imports file data to the LOB
    • OCI-Lob::load - Returns large object's contents
    • OCI-Lob::read - Reads part of the large object
    • OCI-Lob::rewind - Moves the internal pointer to the beginning of the large object
    • OCI-Lob::save - Saves data to the large object
    • OCI-Lob::saveFile - Alias von OCI-Lob::import
    • OCI-Lob::seek - Sets the internal pointer of the large object
    • OCI-Lob::setBuffering - Changes current state of buffering for the large object
    • OCI-Lob::size - Returns size of large object
    • OCI-Lob::tell - Returns the current position of internal pointer of large object
    • OCI-Lob::truncate - Truncates large object
    • OCI-Lob::write - Writes data to the large object
    • OCI-Lob::writeTemporary - Writes a temporary large object
    • OCI-Lob::writeToFile - Alias von OCI-Lob::export
    • ocibindbyname - Alias von oci_bind_by_name
    • ocicancel - Alias von oci_cancel
    • ocicloselob - Alias von OCI-Lob::close
    • ocicollappend - Alias von OCI-Collection::append
    • ocicollassign - Alias von OCI-Collection::assign
    • ocicollassignelem - Alias von OCI-Collection::assignElem
    • ocicollgetelem - Alias von OCI-Collection::getElem
    • ocicollmax - Alias von OCI-Collection::max
    • ocicollsize - Alias von OCI-Collection::size
    • ocicolltrim - Alias von OCI-Collection::trim
    • ocicolumnisnull - Alias von oci_field_is_null
    • ocicolumnname - Alias von oci_field_name
    • ocicolumnprecision - Alias von oci_field_precision
    • ocicolumnscale - Alias von oci_field_scale
    • ocicolumnsize - Alias von oci_field_size
    • ocicolumntype - Alias von oci_field_type
    • ocicolumntyperaw - Alias von oci_field_type_raw
    • ocicommit - Alias von oci_commit
    • ocidefinebyname - Alias von oci_define_by_name
    • ocierror - Alias von oci_error
    • ociexecute - Alias von oci_execute
    • ocifetch - Alias von oci_fetch
    • ocifetchinto - Veraltete Variante von oci_fetch_array, oci_fetch_object, oci_fetch_assoc und oci_fetch_row
    • ocifetchstatement - Alias von oci_fetch_all
    • ocifreecollection - Alias von OCI-Collection::free
    • ocifreecursor - Alias von oci_free_statement
    • ocifreedesc - Alias von OCI-Lob::free
    • ocifreestatement - Alias von oci_free_statement
    • ociinternaldebug - Alias von oci_internal_debug
    • ociloadlob - Alias von OCI-Lob::load
    • ocilogoff - Alias von oci_close
    • ocilogon - Alias von oci_connect
    • ocinewcollection - Alias von oci_new_collection
    • ocinewcursor - Alias von oci_new_cursor
    • ocinewdescriptor - Alias von oci_new_descriptor
    • ocinlogon - Alias von oci_new_connect
    • ocinumcols - Alias von oci_num_fields
    • ociparse - Alias von oci_parse
    • ociplogon - Alias von oci_pconnect
    • ociresult - Alias von oci_result
    • ocirollback - Alias von oci_rollback
    • ocirowcount - Alias von oci_num_rows
    • ocisavelob - Alias von OCI-Lob::save
    • ocisavelobfile - Alias von OCI-Lob::import
    • ociserverversion - Alias von oci_server_version
    • ocisetprefetch - Alias von oci_set_prefetch
    • ocistatementtype - Alias von oci_statement_type
    • ociwritelobtofile - Alias von OCI-Lob::export
    • ociwritetemporarylob - Alias von OCI-Lob::writeTemporary
    • oci_bind_array_by_name - Bindet ein PHP-Array namentlich an ein Oracle-PL/SQL-Array
    • oci_bind_by_name - Bindet eine PHP-Variable an einen Oracle Platzhalter
    • oci_cancel - Bricht das Lesen eines Zeigers ab
    • oci_client_version - Returns the Oracle client library version
    • oci_close - Schließt eine Oracle-Verbindung
    • oci_commit - Commits the outstanding database transaction
    • oci_connect - Connect to an Oracle database
    • oci_define_by_name - Associates a PHP variable with a column for query fetches
    • oci_error - Liefert den letzten Fehler
    • oci_execute - Executes a statement
    • oci_fetch - Holt die nächste Reihe in den Ergebnispuffer
    • oci_fetch_all - Holt alle Reihen der Ergebnisdaten in ein Array
    • oci_fetch_array - Liefert die nächste Zeile der Ergebnisdaten als assoziatives und/oder numerisches Array
    • oci_fetch_assoc - Liefert die nächste Zeile der Ergebnisdaten als assoziatives Array
    • oci_fetch_object - Liefert die nächste Zeile der Ergebnisdaten als Objekt
    • oci_fetch_row - Liefert die nächste Zeile der Ergebnisdaten als numerisches Array
    • oci_field_is_null - Checks if a field in the currently fetched row is NULL
    • oci_field_name - Returns the name of a field from the statement
    • oci_field_precision - Tell the precision of a field
    • oci_field_scale - Tell the scale of the field
    • oci_field_size - Returns field's size
    • oci_field_type - Returns a field's data type name
    • oci_field_type_raw - Tell the raw Oracle data type of the field
    • oci_free_descriptor - Frees a descriptor
    • oci_free_statement - Gibt alle verknüpften Ressourcen eines Statements oder Zeigers frei.
    • oci_get_implicit_resultset - Returns the next child statement resource from a parent statement resource that has Oracle Database 12c Implicit Result Sets
    • oci_internal_debug - Enables or disables internal debug output
    • oci_lob_copy - Copies large object
    • oci_lob_is_equal - Compares two LOB/FILE locators for equality
    • oci_new_collection - Allocates new collection object
    • oci_new_connect - Connect to the Oracle server using a unique connection
    • oci_new_cursor - Allocates and returns a new cursor (statement handle)
    • oci_new_descriptor - Initializes a new empty LOB or FILE descriptor
    • oci_num_fields - Returns the number of result columns in a statement
    • oci_num_rows - Returns number of rows affected during statement execution
    • oci_parse - Prepares an Oracle statement for execution
    • oci_password_change - Changes password of Oracle's user
    • oci_pconnect - Connect to an Oracle database using a persistent connection
    • oci_result - Returns field's value from the fetched row
    • oci_rollback - Rolls back the outstanding database transaction
    • oci_server_version - Returns the Oracle Database version
    • oci_set_action - Sets the action name
    • oci_set_client_identifier - Sets the client identifier
    • oci_set_client_info - Sets the client information
    • oci_set_edition - Sets the database edition
    • oci_set_module_name - Sets the module name
    • oci_set_prefetch - Sets number of rows to be prefetched by queries
    • oci_statement_type - Returns the type of a statement
    • octdec - Oktal zu Dezimal Umwandlung
    • odbc_autocommit - Ändert das Autocommit-Verhalten
    • odbc_binmode - Die Behandlung von Binärdaten
    • odbc_close - Beendet eine ODBC-Verbindung
    • odbc_close_all - Beendet alle ODBC-Verbindungen
    • odbc_columnprivileges - Liefert eine Ergebnis-Resource zurück, die eine Liste von Spalten und damit verbundenen Rechten enthält.
    • odbc_columns - Lists the column names in specified tables
    • odbc_commit - Führt eine ODBC-Transaktion aus
    • odbc_connect - Baut die Verbindung zu einer ODBC-Datenquelle auf
    • odbc_cursor - Findet den Cursornamen heraus
    • odbc_data_source - Returns information about a current connection
    • odbc_do - Ein Synonym für odbc_exec
    • odbc_error - Get the last error code
    • odbc_errormsg - Get the last error message
    • odbc_exec - Bereitet einen SQL-Befehl auf und führt ihn aus
    • odbc_execute - Führt ein vorbereiteten SQL-Befehl aus
    • odbc_fetch_array - Fetch a result row as an associative array
    • odbc_fetch_into - Eine Ergebniszeile in ein Array stellen
    • odbc_fetch_object - Fetch a result row as an object
    • odbc_fetch_row - Liefert eine Datenzeile zurück
    • odbc_field_len - Bestimmt die Länge eines Feldes
    • odbc_field_name - Liefert die Spaltenbezeichnung
    • odbc_field_num - Liefert die Spaltennummer für eine Spaltenbezeichnung
    • odbc_field_precision - Alias von odbc_field_len
    • odbc_field_scale - Get the scale of a field
    • odbc_field_type - Liefert den Datentyp eines Feldes
    • odbc_foreignkeys - Retrieves a list of foreign keys
    • odbc_free_result - Gibt den durch ein Abfrageergebnis belegten Speicher wieder frei
    • odbc_gettypeinfo - Retrieves information about data types supported by the data source
    • odbc_longreadlen - Steuert die Nutzung von LONG-Spalten
    • odbc_next_result - Checks if multiple results are available
    • odbc_num_fields - Liefert die Anzahl der Ergebnisspalten
    • odbc_num_rows - Ergibt die Zeilenzahl des Abfrageergebnisses
    • odbc_pconnect - Öffnet eine persistente Datenbankverbindung
    • odbc_prepare - Stellt einen SQL-Befehl zur Ausführung bereit
    • odbc_primarykeys - Gets the primary keys for a table
    • odbc_procedurecolumns - Retrieve information about parameters to procedures
    • odbc_procedures - Get the list of procedures stored in a specific data source
    • odbc_result - Erlaubt den Zugriff auf die Ergebnisdaten
    • odbc_result_all - Gibt das aktuelle Abfrageergebnis als HTML-Tabelle aus
    • odbc_rollback - Hebt eine Transaktion wieder auf
    • odbc_setoption - Verändert die ODBC-Einstellungen
    • odbc_specialcolumns - Retrieves special columns
    • odbc_statistics - Retrieve statistics about a table
    • odbc_tableprivileges - Lists tables and the privileges associated with each table
    • odbc_tables - Get the list of table names stored in a specific data source
    • ogg:// - Audio streams
    • opcache_compile_file - Compiles and caches a PHP script without executing it
    • opcache_get_configuration - Get configuration information about the cache
    • opcache_get_status - Liefert den Status des OPcode Caches
    • opcache_invalidate - Invalidates a cached script
    • opcache_is_script_cached - Tells whether a script is cached in OPCache
    • opcache_reset - Resettet den Inhalt des OPcode Caches
    • openal_buffer_create - Generate OpenAL buffer
    • openal_buffer_data - Load a buffer with data
    • openal_buffer_destroy - Destroys an OpenAL buffer
    • openal_buffer_get - Retrieve an OpenAL buffer property
    • openal_buffer_loadwav - Load a .wav file into a buffer
    • openal_context_create - Create an audio processing context
    • openal_context_current - Make the specified context current
    • openal_context_destroy - Destroys a context
    • openal_context_process - Process the specified context
    • openal_context_suspend - Suspend the specified context
    • openal_device_close - Close an OpenAL device
    • openal_device_open - Initialize the OpenAL audio layer
    • openal_listener_get - Retrieve a listener property
    • openal_listener_set - Set a listener property
    • openal_source_create - Generate a source resource
    • openal_source_destroy - Destroy a source resource
    • openal_source_get - Retrieve an OpenAL source property
    • openal_source_pause - Pause the source
    • openal_source_play - Start playing the source
    • openal_source_rewind - Rewind the source
    • openal_source_set - Set source property
    • openal_source_stop - Stop playing the source
    • openal_stream - Begin streaming on a source
    • opendir - Öffnen eines Verzeichnis-Handles
    • openlog - Stellt eine Verbindung zum Log-Dienst des Systems her
    • openssl_cipher_iv_length - Gets the cipher iv length
    • openssl_csr_export - Exportiert einen CSR als Zeichenkette
    • openssl_csr_export_to_file - Exportiert ein CSR in eine Datei
    • openssl_csr_get_public_key - Gibt den öffentlichen Schlüssel eines CERT zurück
    • openssl_csr_get_subject - Gibt das Subject eines CERT zurück
    • openssl_csr_new - Erzeugt einen CSR
    • openssl_csr_sign - Signiert einen CSR mit einem anderen Zertifikat (oder sich selbst) und generiert ein Zertifikat
    • openssl_decrypt - Decrypts data
    • openssl_dh_compute_key - Computes shared secret for public value of remote DH key and local DH key
    • openssl_digest - Computes a digest
    • openssl_encrypt - Verschlüsselt Daten
    • openssl_error_string - Gibt eine openSSL Fehlermeldung zurück
    • openssl_free_key - Free key resource
    • openssl_get_cert_locations - Retrieve the available certificate locations
    • openssl_get_cipher_methods - Gets available cipher methods
    • openssl_get_md_methods - Gets available digest methods
    • openssl_get_privatekey - Alias von openssl_pkey_get_private
    • openssl_get_publickey - Alias von openssl_pkey_get_public
    • openssl_open - Öffnet versiegelte Daten
    • openssl_pbkdf2 - Generates a PKCS5 v2 PBKDF2 string, defaults to SHA-1
    • openssl_pkcs7_decrypt - Entschlüsseln einer S/MIME verschlüsselten Nachricht
    • openssl_pkcs7_encrypt - Verschlüsseln einer S/MIME Nachricht
    • openssl_pkcs7_sign - Signieren einer S/MIME message
    • openssl_pkcs7_verify - überprüft die Unterschrift einer mit S/MIME unterschriebenen Nachricht
    • openssl_pkcs12_export - Exportiert eine PKCS#12-kompatible Zertifikats-Datei in eine Variable
    • openssl_pkcs12_export_to_file - Exportiert eine PKCS#12-kompatible Zertifikats-Datei
    • openssl_pkcs12_read - Speichert ein PKCS#12 Zertifikat in einem Array
    • openssl_pkey_export - Liefert eine exportierbare Repräsentation eines Schlüssels in einem String
    • openssl_pkey_export_to_file - Liefert eine exportierbare Representation eines Schlüssels in einer Datei
    • openssl_pkey_free - Gibt einen privaten Schlüssel frei
    • openssl_pkey_get_details - Gibt ein Array mit den Schlüssel-Details zurück
    • openssl_pkey_get_private - Liefert einen privaten Schlüssel
    • openssl_pkey_get_public - Extrahiert einen öffentlichen Schlüssel aus einem Zertifikat und bereitet diesen zur Nutzung vor
    • openssl_pkey_new - Erzeugt einen neuen privaten Schlüssel
    • openssl_private_decrypt - Entschlüsselt Daten mit einem privaten Schlüssel
    • openssl_private_encrypt - Verschlüsselt Daten mit einem privaten Schlüssel
    • openssl_public_decrypt - Entschlüsselt Daten mit einem öffentlichen Schlüssel
    • openssl_public_encrypt - Verschlüsselt Daten mit einem öffentlichen Schlüssel
    • openssl_random_pseudo_bytes - Generate a pseudo-random string of bytes
    • openssl_seal - Versiegelt (verschlüsselt) Daten
    • openssl_sign - Erzeugen einer Signatur
    • openssl_spki_export - Exports a valid PEM formatted public key signed public key and challenge
    • openssl_spki_export_challenge - Exports the challenge assoicated with a signed public key and challenge
    • openssl_spki_new - Generate a new signed public key and challenge
    • openssl_spki_verify - Verifies a signed public key and challenge
    • openssl_verify - Überprüft eine Signatur
    • openssl_x509_checkpurpose - Überprüft, ob ein Zertifikat für einen bestimmten Zweck benutzt werden kann
    • openssl_x509_check_private_key - Überprüft, ob ein privater Schlüssel zu einem Zertifikat passt
    • openssl_x509_export - Exports a certificate as a string
    • openssl_x509_export_to_file - Exportiert ein Zertifikat in eine Datei
    • openssl_x509_fingerprint - Calculates the fingerprint, or digest, of a given X.509 certificate
    • openssl_x509_free - Freigabe einer Zertifikats Resource
    • openssl_x509_parse - Parst ein X.509-Zertifikat und liefert die Informationen als Array zurück
    • openssl_x509_read - Parst ein X.509-Zertitifikat und gibt eine Ressource zurück
    • ord - Gibt den ASCII-Wert eines Zeichens zurück
    • OuterIterator::getInnerIterator - Returns the inner iterator for the current entry.
    • output_add_rewrite_var - Setzt URL-Rewrite-Variablen
    • output_reset_rewrite_vars - Reset URL rewriter values
    • override_function - Overrides built-in functions
  • p
    • pack - Packt Daten in eine Binär-Zeichenkette
    • ParentIterator::accept - Determines acceptability
    • ParentIterator::getChildren - Return the inner iterator's children contained in a ParentIterator
    • ParentIterator::hasChildren - Check whether the inner iterator's current element has children
    • ParentIterator::next - Move the iterator forward
    • ParentIterator::rewind - Rewind the iterator
    • ParentIterator::__construct - Constructs a ParentIterator
    • parsekit_compile_file - Compile a PHP file and return the resulting op array
    • parsekit_compile_string - Compile a string of PHP code and return the resulting op array
    • parsekit_func_arginfo - Return information regarding function argument(s)
    • parse_ini_file - Parst eine Konfigurationsdatei
    • parse_ini_string - Analysiert einen Konfigurations-String
    • parse_str - Überträgt einen String in Variable
    • parse_url - Analysiert eine URL und gibt ihre Bestandteile zurück
    • passthru - Führt ein externes Programm aus und zeigt dessen Ausgabe an
    • password_get_info - Gibt Informationen über einen Hash zurück
    • password_hash - Erstellt einen Passwort-Hash
    • password_needs_rehash - Überprüft, ob der übergebene Hash mit den übergebenen Optionen übereinstimmt
    • password_verify - Überprüft, ob ein Passwort und ein Hash zusammenpassen
    • pathinfo - Liefert Informationen über einen Dateipfad
    • pclose - Schließt einen Prozess-Dateizeiger
    • pcntl_alarm - Setzt einen Zeitschalter für die Auslieferung eines Signals
    • pcntl_errno - Alias von pcntl_get_last_error
    • pcntl_exec - Führt ein angegebenes Programm im aktuellen Prozessraum aus
    • pcntl_fork - Verzweigt den laufenden Prozess
    • pcntl_getpriority - Liest die Priorität irgendeines Prozesses
    • pcntl_get_last_error - Retrieve the error number set by the last pcntl function which failed
    • pcntl_setpriority - Ändert die Priorität irgendeines Prozesses
    • pcntl_signal - Richtet eine Signalverarbeitung ein
    • pcntl_signal_dispatch - Calls signal handlers for pending signals
    • pcntl_signal_get_handler - Get the current handler for specified signal
    • pcntl_sigprocmask - Sets and retrieves blocked signals
    • pcntl_sigtimedwait - Waits for signals, with a timeout
    • pcntl_sigwaitinfo - Waits for signals
    • pcntl_strerror - Retrieve the system error message associated with the given errno
    • pcntl_wait - Wartet auf ein oder gibt den Status eines abgezweigten Kindes zurück
    • pcntl_waitpid - Wartet auf ein oder gibt den Status eines abgezweigten Kindes zurück
    • pcntl_wexitstatus - Gibt den Statuscode eines beendeten Kindes zurück
    • pcntl_wifexited - Gibt TRUE zurück, wenn der Statuscode ein erfolgreiches Beenden darstellt
    • pcntl_wifsignaled - Gibt TRUE zurück, wenn der Statuscode eine Terminierung wegen eines Signals angibt
    • pcntl_wifstopped - Gibt TRUE zurück, wenn der Kindprozess gerade gestoppt ist
    • pcntl_wstopsig - Gibt das Signal zurück, welches das Anhalten des Kindes verursachte
    • pcntl_wtermsig - Gibt das Signal zurück, welches das Beenden des Kindes verursachte
    • PDF_activate_item - Aktiviert ein Strukturelement oder einen anderen Dokumentbestandteil
    • PDF_add_annotation - Fügt Notiz hinzu [veraltet, nicht empfohlen]
    • PDF_add_bookmark - Fügt Lesezeichen für die aktuelle Seite ein [veraltet, nicht empfohlen]
    • PDF_add_launchlink - Fügt eine Webverknüpfung auf der aktuellen Seite ein [veraltet, nicht empfohlen]
    • PDF_add_locallink - Fügt Verknüpfung auf aktueller Seite ein [veraltet, nicht empfohlen]
    • PDF_add_nameddest - Erzeugt benanntes Sprungziel
    • PDF_add_note - Fügt Notiz auf aktueller Seite ein [veraltet, nicht empfohlen]
    • PDF_add_outline - Fügt Lesezeichen für aktuelle Seite ein [veraltet, nicht empfohlen]
    • PDF_add_pdflink - Fügt eine Dateiverknüpfung auf der aktuellen Seite ein [veraltet, nicht empfohlen]
    • PDF_add_table_cell - Fügt eine Zelle zu einer neuen oder vorhandenen Tabelle hinzu
    • PDF_add_textflow - Erzeugt ein Textflussobjekt oder fügt Text zu einem Textflussobjekt hinzu
    • PDF_add_thumbnail - Fügt ein verkleinertes Bild auf der aktuellen Seite ein
    • PDF_add_weblink - Fügt Web-Verknüpfung auf der aktuellen Seite ein [veraltet, nicht empfohlen]
    • PDF_arc - Zeichnet Kreissegment gegen Uhrzeigersinn
    • PDF_arcn - Zeichnet ein Kreissegment im Uhrzeigersinn
    • PDF_attach_file - Fügt einen Dateianhang auf der aktuellen Seite ein [veraltet, nicht empfohlen]
    • PDF_begin_document - Erstellt eine neue PDF-Datei
    • PDF_begin_font - Beginnt eine Typ-3-Schriftdefinition
    • PDF_begin_glyph - Beginnt eine Glyphendefinition für eine Typ-3-Schriftart
    • PDF_begin_item - Öffnet ein Strukturelement oder anderen Dokumentbestandteil
    • PDF_begin_layer - Beginnt eine Ebene
    • PDF_begin_page - Beginnt eine neue Seite [veraltet, nicht empfohlen]
    • PDF_begin_page_ext - Beginnt neue Seite
    • PDF_begin_pattern - Beginnt eine Füllmusterdefinition
    • PDF_begin_template - Beginnt Templatedefinition [veraltet, nicht empfohlen]
    • PDF_begin_template_ext - Beginnt eine Templatedefinition
    • PDF_circle - Zeichnet einen Kreis
    • PDF_clip - Setzt den aktuellen Pfad als Clipping-Pfad
    • PDF_close - Schließt die PDF-Ressource [veraltet, nicht empfohlen]
    • PDF_closepath - Schließt den aktuellen Pfad
    • PDF_closepath_fill_stroke - Schließt, füllt und umrandet den aktuellen Pfad
    • PDF_closepath_stroke - Schließt und umrandet den Pfad
    • PDF_close_image - Schließt das Bild
    • PDF_close_pdi - Schließt das PDF-Importdokument [veraltet, nicht empfohlen]
    • PDF_close_pdi_page - Schließt das Seitenhandle
    • PDF_concat - Verknüpft eine Matrix mit der CTM
    • PDF_continue_text - Gibt Text in der nächsten Zeile aus
    • PDF_create_3dview - Erzeugt einen 3D-View
    • PDF_create_action - Erzeugt Aktionen für Objekte und Events
    • PDF_create_annotation - Erzeugt eine rechteckige Anmerkung
    • PDF_create_bookmark - Erstellt ein Lesezeichen
    • PDF_create_field - Erstellt Formularfeld
    • PDF_create_fieldgroup - Erstellt Formularfeldgruppe
    • PDF_create_gstate - Erzeugt Grafikzustandsobjekt
    • PDF_create_pvf - Erzeugt virtuelle PDFlib-Datei
    • PDF_create_textflow - Erzeugt Textflussobjekt
    • PDF_curveto - Zeichnet Bézier-Kurve
    • PDF_define_layer - Erzeugt Ebenendefinition
    • PDF_delete - Löscht PDFlib-Objekt
    • PDF_delete_pvf - Löscht virtuelle PDFlib-Datei
    • PDF_delete_table - Löscht Tabellenobjekt
    • PDF_delete_textflow - Löscht Textflussobjekt
    • PDF_encoding_set_char - Fügt Glyphennamen und/oder Unicode-Wert hinzu
    • PDF_endpath - Beendet aktuellen Pfad
    • PDF_end_document - Schließt PDF-Datei
    • PDF_end_font - Beendet Type-3-Schriftdefinition
    • PDF_end_glyph - Beendet Type-3-Glyphendefinition
    • PDF_end_item - Schließt Strukturelement oder anderen Dokumentbestandteil
    • PDF_end_layer - Deaktiviert alle aktiven Ebenen
    • PDF_end_page - Beendet Seite
    • PDF_end_page_ext - Beendet Seite
    • PDF_end_pattern - Beendet Füllmuster
    • PDF_end_template - Beendet Template
    • PDF_fill - Füllt aktuellen Pfad
    • PDF_fill_imageblock - Füllt Image-Block mit variablen Daten
    • PDF_fill_pdfblock - Füllt PDF-Block mit variablen Daten
    • PDF_fill_stroke - Füllt und zeichnet Pfad
    • PDF_fill_textblock - Füllt Text-Block mit variablen Daten
    • PDF_findfont - Bereitet Schrift für spätere Verwendung vor [veraltet]
    • PDF_fit_image - Platziert Bild oder Template
    • PDF_fit_pdi_page - Platziert importierte PDF-Seite
    • PDF_fit_table - Platziert Tabelle auf der Seite
    • PDF_fit_textflow - Passt Textfluss in rechteckigen Bereich ein
    • PDF_fit_textline - Platziert einzelne Textzeile
    • PDF_get_apiname - Ermittelt Namen von gescheiterter API-Funktion
    • PDF_get_buffer - Holt PDF-Ausgabepuffer
    • PDF_get_errmsg - Ermittelt Fehlertext
    • PDF_get_errnum - Ermittelt Fehlernummer
    • PDF_get_font - Ermittelt Schrift [veraltet]
    • PDF_get_fontname - Ermittelt Schriftnamen [veraltet]
    • PDF_get_fontsize - Schriftbehandlung [veraltet]
    • PDF_get_image_height - Ermittelt Bildhöhe [veraltet]
    • PDF_get_image_width - Ermittelt Bildbreite [veraltet]
    • PDF_get_majorversion - Ermittelt Hauptversionsnummer [veraltet]
    • PDF_get_minorversion - Ermittelt Unterversionsnummer [veraltet]
    • PDF_get_parameter - Ermittelt String-Parameter
    • PDF_get_pdi_parameter - Ermittelt PDI String-Parameter [veraltet]
    • PDF_get_pdi_value - Ermittelt numerischen PDI-Parameter [veraltet]
    • PDF_get_value - Ermittelt numerischen Parameter
    • pdf_info_font - Fragt Einzelheiten zu geladenem Font ab
    • PDF_info_matchbox - Fragt Matchbox-Informationen ab
    • PDF_info_table - Fragt Tabellen-Informationen ab
    • PDF_info_textflow - Ermittelt Zustand eines Textflusses
    • PDF_info_textline - Formatiert Textzeile und ermittelt Metrikdaten
    • PDF_initgraphics - Setzt Grafikzustand zurück
    • PDF_lineto - Zeichnet Linie
    • PDF_load_3ddata - Öffnet 3D-Modell
    • PDF_load_font - Sucht und bereitet Schrift vor
    • PDF_load_iccprofile - Sucht und bereitet ICC-Profil vor
    • PDF_load_image - Öffnet Bilddatei
    • PDF_makespotcolor - Erstellt Schmuckfarbe
    • PDF_moveto - Setzt aktuelle Position
    • PDF_new - Erzeugt PDFlib-Objekt
    • PDF_open_ccitt - Öffnet CCITT-Rohbild [veraltet]
    • PDF_open_file - Erzeugt PDF-Datei [veraltet]
    • PDF_open_gif - Öffnet GIF-Bild [veraltet]
    • PDF_open_image - Verwendet Bilddaten [veraltet]
    • PDF_open_image_file - Liest Bild aus Datei [veraltet]
    • PDF_open_jpeg - Öffnet JPEG-Bild [veraltet]
    • PDF_open_memory_image - Öffnet mit PHP-Bildfunktionen erzeugtes Bild [nicht unterstützt]
    • PDF_open_pdi - Öffnet PDF-Datei [veraltet]
    • PDF_open_pdi_document - Bereited ein PDI Dokument vor
    • PDF_open_pdi_page - Bereitet Seite vor
    • PDF_open_tiff - Öffnet TIFF-Bild [veraltet]
    • PDF_pcos_get_number - Ermittelt Wert eines pCOS-Pfades vom Typ Zahl oder Boolean
    • PDF_pcos_get_stream - Ermittelt Inhalt eines pCOS-Pfades vom Typ stream, fstream oder string
    • PDF_pcos_get_string - Ermittelt Wert eines pCOS-Pfades vom Typ Name, String oder Boolean
    • PDF_place_image - Platziert Bild auf der Seite [veraltet]
    • PDF_place_pdi_page - Platziert PDF-Seite [veraltet]
    • PDF_process_pdi - Verarbeitet importiertes PDF-Dokument
    • PDF_rect - Zeichnet Rechteck
    • PDF_restore - Stellt Grafikzustand wieder her
    • PDF_resume_page - Setzt Seite fort
    • PDF_rotate - Dreht Koordinatensystem
    • PDF_save - Speichert Grafikzustand
    • PDF_scale - Skaliert Koordinatensystem
    • PDF_setcolor - Legt Füll- und Zeichenfarbe fest
    • PDF_setdash - Legt einfaches Strichmuster fest
    • PDF_setdashpattern - Legt Strichmuster fest
    • PDF_setflat - Legt Flatness-Parameter fest
    • PDF_setfont - Legt aktuelle Schrift fest
    • PDF_setgray - Legt Farbe als Grauwert fest [veraltet]
    • PDF_setgray_fill - Legt Füllfarbe als Grauwert fest [veraltet]
    • PDF_setgray_stroke - Left Zeichenfarbe als Grauwert fest [veraltet]
    • PDF_setlinecap - Legt linecap-Parameter fest
    • PDF_setlinejoin - Legt linejoin-Parameter fest
    • PDF_setlinewidth - Legt aktuelle Strichstärke fest
    • PDF_setmatrix - Legt aktuelle Transformationsmatrix fest
    • PDF_setmiterlimit - Legt Gehrungsgrenzwert fest
    • PDF_setpolydash - Legt komplexes Strichmuster fest [veraltet]
    • PDF_setrgbcolor - Legt Füll- und Zeichenfarbe in RGB fest [veraltet]
    • PDF_setrgbcolor_fill - Legt Füllfarbe in RGB fest [veraltet]
    • PDF_setrgbcolor_stroke - Legt Zeichenfarbe in RGB fest [veraltet]
    • PDF_set_border_color - Legt Randfarbe von Anmerkungen fest [veraltet]
    • PDF_set_border_dash - Legt Strichmuster für Rand von Anmerkungen fest [veraltet]
    • PDF_set_border_style - Legt Randstil von Anmerkungen fest [veraltet]
    • PDF_set_char_spacing - Legt den Zeichenabstand fest [veraltet]
    • PDF_set_duration - Legt Anzeigedauer von Seiten fest [veraltet]
    • PDF_set_gstate - Aktiviert Grafikzustandsobjekt
    • PDF_set_horiz_scaling - Legt horizontale Textskalierung fest [veraltet]
    • PDF_set_info - Füllt Dokumentinfofeld
    • PDF_set_info_author - Füllt Dokumentinfofeld für Verfasser [veraltet]
    • PDF_set_info_creator - Füllt Dokumentinfofeld für Anwendung [veraltet]
    • PDF_set_info_keywords - Füllt Dokumentinfofeld für Stichwörter [veraltet]
    • PDF_set_info_subject - Füllt Dokumentinfofeld für Thema [veraltet]
    • PDF_set_info_title - Füllt Dokumentinfofeld für Titel [veraltet]
    • PDF_set_layer_dependency - Definiert Beziehungen zwischen Ebenen
    • PDF_set_leading - Bestimmt Textzeilenabstand [veraltet]
    • PDF_set_parameter - Legt String-Parameter fest
    • PDF_set_text_matrix - Legt Textmatrix fest [veraltet]
    • PDF_set_text_pos - Legt aktuelle Textposition fest
    • PDF_set_text_rendering - Bestimmt Darstellungsmodus für Text [veraltet]
    • PDF_set_text_rise - Bestimmt vertikalen Textversatz [veraltet]
    • PDF_set_value - Legt numerischen Parameter fest
    • PDF_set_word_spacing - Legt Wortabstand fest [veraltet]
    • PDF_shading - Definiert Farbverlauf
    • PDF_shading_pattern - Definiert Farbverlaufsmuster
    • PDF_shfill - Füllt Bereich mit Farbverlauf
    • PDF_show - Gibt Text an der aktueller Position aus
    • PDF_show_boxed - Gibt Text in eine Box aus [veraltet, nicht empfohlen]
    • PDF_show_xy - Gibt Text an der angegebenen Position aus
    • PDF_skew - Verzerrt Koordinatensystem
    • PDF_stringwidth - Gibt Textbreite zurück
    • PDF_stroke - Zeichnet Pfad
    • PDF_suspend_page - Unterbricht Seite
    • PDF_translate - Verschiebt den Ursprung des Koordinatensystems
    • PDF_utf8_to_utf16 - Konvertiert String von UTF-8 nach UTF-16
    • PDF_utf16_to_utf8 - Konvertiert String von UTF-16 nach UTF-8
    • PDF_utf32_to_utf16 - Konvertiert String von UTF-32 nach UTF-16
    • PDO::beginTransaction - Initiates a transaction
    • PDO::commit - Commits a transaction
    • PDO::cubrid_schema - Get the requested schema information
    • PDO::errorCode - Fetch the SQLSTATE associated with the last operation on the database handle
    • PDO::errorInfo - Fetch extended error information associated with the last operation on the database handle
    • PDO::exec - Führt ein SQL Statement aus und gibt die Zahl der betroffenen Zeilen zurück
    • PDO::getAttribute - Retrieve a database connection attribute
    • PDO::getAvailableDrivers - Return an array of available PDO drivers
    • PDO::inTransaction - Checks if inside a transaction
    • PDO::lastInsertId - Returns the ID of the last inserted row or sequence value
    • PDO::pgsqlCopyFromArray - Copy data from PHP array into table
    • PDO::pgsqlCopyFromFile - Copy data from file into table
    • PDO::pgsqlCopyToArray - Copy data from database table into PHP array
    • PDO::pgsqlCopyToFile - Copy data from table into file
    • PDO::pgsqlGetNotify - Get asynchronous notification
    • PDO::pgsqlGetPid - Get the server PID
    • PDO::pgsqlLOBCreate - Creates a new large object
    • PDO::pgsqlLOBOpen - Opens an existing large object stream
    • PDO::pgsqlLOBUnlink - Deletes the large object
    • PDO::prepare - Prepares a statement for execution and returns a statement object
    • PDO::query - Executes an SQL statement, returning a result set as a PDOStatement object
    • PDO::quote - Quotes a string for use in a query.
    • PDO::rollBack - Rolls back a transaction
    • PDO::setAttribute - Set an attribute
    • PDO::sqliteCreateAggregate - Registers an aggregating User Defined Function for use in SQL statements
    • PDO::sqliteCreateCollation - Registers a User Defined Function for use as a collating function in SQL statements
    • PDO::sqliteCreateFunction - Registers a User Defined Function for use in SQL statements
    • PDO::__construct - Creates a PDO instance representing a connection to a database
    • PDOStatement::bindColumn - Bind a column to a PHP variable
    • PDOStatement::bindParam - Binds a parameter to the specified variable name
    • PDOStatement::bindValue - Binds a value to a parameter
    • PDOStatement::closeCursor - Closes the cursor, enabling the statement to be executed again.
    • PDOStatement::columnCount - Returns the number of columns in the result set
    • PDOStatement::debugDumpParams - Dump an SQL prepared command
    • PDOStatement::errorCode - Fetch the SQLSTATE associated with the last operation on the statement handle
    • PDOStatement::errorInfo - Fetch extended error information associated with the last operation on the statement handle
    • PDOStatement::execute - Executes a prepared statement
    • PDOStatement::fetch - Fetches the next row from a result set
    • PDOStatement::fetchAll - Returns an array containing all of the result set rows
    • PDOStatement::fetchColumn - Returns a single column from the next row of a result set
    • PDOStatement::fetchObject - Fetches the next row and returns it as an object.
    • PDOStatement::getAttribute - Retrieve a statement attribute
    • PDOStatement::getColumnMeta - Returns metadata for a column in a result set
    • PDOStatement::nextRowset - Advances to the next rowset in a multi-rowset statement handle
    • PDOStatement::rowCount - Returns the number of rows affected by the last SQL statement
    • PDOStatement::setAttribute - Set a statement attribute
    • PDOStatement::setFetchMode - Set the default fetch mode for this statement
    • PDO_4D DSN - Connecting to 4D SQL server
    • PDO_CUBRID DSN - Connecting to CUBRID databases
    • PDO_DBLIB DSN - Connecting to Microsoft SQL Server and Sybase databases
    • PDO_FIREBIRD DSN - Connecting to Firebird databases
    • PDO_IBM DSN - Connecting to IBM databases
    • PDO_INFORMIX DSN - Connecting to Informix databases
    • PDO_MYSQL DSN - Mit einer MySQL Datenbank verbinden
    • PDO_OCI DSN - Connecting to Oracle databases
    • PDO_ODBC DSN - Connecting to ODBC or DB2 databases
    • PDO_PGSQL DSN - Connecting to PostgreSQL databases
    • PDO_SQLITE DSN - Verbindungen zu SQLite-Datenbanken aufbauen
    • PDO_SQLSRV DSN - Connecting to MS SQL Server and SQL Azure databases
    • pfsockopen - Öffnet eine persistente Verbindung zum Internet oder zu einem Unix-Domainsocket
    • pg_affected_rows - Gibt die Anzahl betroffener Datensätze (Tupel) zurück
    • pg_cancel_query - Löscht eine asynchrone Abfrage
    • pg_client_encoding - Gibt die Kodierung des Clients zurück
    • pg_close - Schließt eine PostgreSQL-Verbindung
    • pg_connect - Öffnet eine PostgreSQL-Verbindung
    • pg_connection_busy - Gibt den Status der Verbindung zurück (busy/not busy)
    • pg_connection_reset - Setzt die Verbindung zurück und verbindet neu
    • pg_connection_status - Gibt den Verbindungsstatus zurück
    • pg_connect_poll - Poll the status of an in-progress asynchronous PostgreSQL connection attempt.
    • pg_consume_input - Reads input on the connection
    • pg_convert - Konvertiert die Werte eines assoziativen Arrays in passende Werte für SQL-Kommandos.
    • pg_copy_from - Fügt Datensätze aus einem Array in eine Tabelle ein
    • pg_copy_to - Kopiert eine Tabelle in ein Array
    • pg_dbname - Gibt den Namen der Datenbank zurück
    • pg_delete - Löscht Datensätze
    • pg_end_copy - Synchronisation mit dem PostgreSQL-Server
    • pg_escape_bytea - Maskiert Zeichenketten zum Einfügen in ein Feld vom Typ bytea
    • pg_escape_identifier - Escape a identifier for insertion into a text field
    • pg_escape_literal - Escape a literal for insertion into a text field
    • pg_escape_string - Maskiert einen String für Abfragen
    • pg_execute - Fordert den Datenankserver auf, eine vorbereitete Anfrage mit den angegebenen Parametern auszuführen und wartet auf das Ergebnis
    • pg_fetch_all - Gibt alle Zeilen eines Abfrageergebnisses als Array zurück
    • pg_fetch_all_columns - Gibt alle Werte einer bestimmten Spalte eines Abfrageergebnisses in einem Array zurück
    • pg_fetch_array - Holt eine Zeile als Array
    • pg_fetch_assoc - Holt eine Zeile als assoziatives Array
    • pg_fetch_object - Holt einen Datensatz als Objekt
    • pg_fetch_result - Liefert Werte aus einer Ergebnismenge
    • pg_fetch_row - Holt einen Datensatz als numerisches Array
    • pg_field_is_null - Prüft, ob ein Feld einen SQL NULL-Wert enthält
    • pg_field_name - Gibt den Namen eines Feldes zurück
    • pg_field_num - Gibt die Feldnummer des angegebenen Feldes zurück
    • pg_field_prtlen - Gibt die Länge des Feldes zurück
    • pg_field_size - Gibt den belegten Speicher für ein Feld zurück
    • pg_field_table - Gibt zu einem Feldnamen den Namen der Tabelle oder deren oid zurück, in der das Feld definiert ist
    • pg_field_type - Gibt den Datentyp eines Feldes zurück
    • pg_field_type_oid - Gibt die ID des PostgreSQL-Datentyps (OID) eines Feldes zurück
    • pg_flush - Flush outbound query data on the connection
    • pg_free_result - Gibt den durch Ergebnisse belegten Speicher frei
    • pg_get_notify - Gibt eine SQL NOTIFY-Nachricht zurück
    • pg_get_pid - Prüft die Datenbankverbindung
    • pg_get_result - Gibt asynchrone Abfrageergebnisse zurück
    • pg_host - Gibt den Namen des Host zurück, zu dem verbunden wurde
    • pg_insert - Überträgt Werte aus einem Array in eine Tabelle
    • pg_last_error - Gibt die letzte Fehlermeldung einer Verbindung zurück
    • pg_last_notice - Gibt die letzte NOTICE-Meldung des PostgreSQL-Servers zurück
    • pg_last_oid - Gibt den Objektbezeichner (OID) des zuletzt eingefügten Datensatzes zurück
    • pg_lo_close - Schließt ein Large Object
    • pg_lo_create - Erzeugt ein Large Object
    • pg_lo_export - Exportiert ein Large Object in eine Datei
    • pg_lo_import - Importiert ein Large Object aus einer Datei
    • pg_lo_open - Öffnet ein Large Object
    • pg_lo_read - Liest ein Large Object
    • pg_lo_read_all - Liest ein Large Object vollständig und reicht es direkt an den Browser weiter
    • pg_lo_seek - Setzt die Lese- oder Schreibposition in einem Large Object
    • pg_lo_tell - Gibt die aktuelle Lese- oder Schreibposition in einem Large Object zurück
    • pg_lo_truncate - Truncates a large object
    • pg_lo_unlink - Löscht ein Large Object
    • pg_lo_write - Schreibt in ein Large Object
    • pg_meta_data - Gibt Metadaten einer Tabelle als Array zurück
    • pg_num_fields - Gibt die Anzahl der Felder in einem Abfrageergebnis zurück
    • pg_num_rows - Gibt die Anzahl der Zeilen in einem Abfrageergebnis zurück
    • pg_options - Gibt die Verbindungsoptionen der aktuellen Verbindung zurück
    • pg_parameter_status - Gibt den Wert einer aktuellen Server-Einstellung zurück
    • pg_pconnect - Öffnet eine persistente PostgreSQL-Verbindung
    • pg_ping - Prüft die Datenbankverbindung
    • pg_port - Gibt die Portnummer zurück, über die die Verbindung aufgebaut wurde
    • pg_prepare - Sendet eine Aufforderung an den Server, eine vorbereitete Anfrage mit den übergebenen Parametern zu erzeugen und wartet auf ihre Beendigung.
    • pg_put_line - Sendet eine NULL-terminierte Zeichenkette zum PostgreSQL-Server
    • pg_query - Führt eine Abfrage aus
    • pg_query_params - Sendet ein Kommando zum Server und wartet seine Ausführung ab. Getrennt vom SQL-Kommando können dabei Parameter übergeben werden.
    • pg_result_error - Gibt die mit der Ergebniskennung verknüpfte Fehlermeldung zurück
    • pg_result_error_field - Gibt den Inhalt eines bestimmtes Feldes zu einer Fehlermeldung zurück
    • pg_result_seek - Setzt den internen Datensatzzeiger auf die angegebene Position in einem Abfrageergebnis
    • pg_result_status - Gibt den Status eines Abfrageergebnisses zurück
    • pg_select - Wählt Datensätze aus
    • pg_send_execute - Sendet eine Aufforderung an den Server, eine vorbereitete Abfrage mit den übergebenen Parametern auszuführen, ohne auf die Ergebnisse zu warten.
    • pg_send_prepare - Sendet eine Aufforderung an den Server, eine vorbereitete Abfrage mit den übergebenen Parametern zu erzeugen, ohne auf ihre Beendigung zu warten.
    • pg_send_query - Sendet eine asynchrone Abfrage
    • pg_send_query_params - Sendet ein Kommando und separate Parameter zum Server, ohne auf die Rückgabe der Ergebnisse zu warten
    • pg_set_client_encoding - Setzt die Kodierung des Clients
    • pg_set_error_verbosity - Bestimmt den Detaillierungsgrad von Fehlermeldungen, die von pg_last_error und pg_result_error zurückgegeben werden.
    • pg_socket - Get a read only handle to the socket underlying a PostgreSQL connection
    • pg_trace - Ermöglicht die Ablaufverfolgung einer Verbindung
    • pg_transaction_status - Gibt den aktuellen Transaktionsstatus des Servers zurück
    • pg_tty - Gibt den TTY Namen für die Verbindung zurück
    • pg_unescape_bytea - Entfernt Maskierungen für den Typ bytea
    • pg_untrace - Beendet die Ablaufverfolgung einer PostgreSQL-Verbindung
    • pg_update - Aktualisiert eine Tabelle
    • pg_version - Gibt ein Array zurück, das die Versionen von Client, Protokoll und Server enthält (falls verfügbar).
    • phar:// - PHP Archive
    • Phar::addEmptyDir - Add an empty directory to the phar archive
    • Phar::addFile - Add a file from the filesystem to the phar archive
    • Phar::addFromString - Add a file from a string to the phar archive
    • Phar::apiVersion - Returns the api version
    • Phar::buildFromDirectory - Construct a phar archive from the files within a directory.
    • Phar::buildFromIterator - Construct a phar archive from an iterator.
    • Phar::canCompress - Returns whether phar extension supports compression using either zlib or bzip2
    • Phar::canWrite - Returns whether phar extension supports writing and creating phars
    • Phar::compress - Compresses the entire Phar archive using Gzip or Bzip2 compression
    • Phar::compressAllFilesBZIP2 - Compresses all files in the current Phar archive using Bzip2 compression
    • Phar::compressAllFilesGZ - Compresses all files in the current Phar archive using Gzip compression
    • Phar::compressFiles - Compresses all files in the current Phar archive
    • Phar::convertToData - Convert a phar archive to a non-executable tar or zip file
    • Phar::convertToExecutable - Convert a phar archive to another executable phar archive file format
    • Phar::copy - Copy a file internal to the phar archive to another new file within the phar
    • Phar::count - Returns the number of entries (files) in the Phar archive
    • Phar::createDefaultStub - Create a phar-file format specific stub
    • Phar::decompress - Decompresses the entire Phar archive
    • Phar::decompressFiles - Decompresses all files in the current Phar archive
    • Phar::delete - Delete a file within a phar archive
    • Phar::delMetadata - Deletes the global metadata of the phar
    • Phar::extractTo - Extract the contents of a phar archive to a directory
    • Phar::getMetadata - Returns phar archive meta-data
    • Phar::getModified - Return whether phar was modified
    • Phar::getSignature - Return MD5/SHA1/SHA256/SHA512/OpenSSL signature of a Phar archive
    • Phar::getStub - Return the PHP loader or bootstrap stub of a Phar archive
    • Phar::getSupportedCompression - Return array of supported compression algorithms
    • Phar::getSupportedSignatures - Return array of supported signature types
    • Phar::getVersion - Return version info of Phar archive
    • Phar::hasMetadata - Returns whether phar has global meta-data
    • Phar::interceptFileFuncs - instructs phar to intercept fopen, file_get_contents, opendir, and all of the stat-related functions
    • Phar::isBuffering - Used to determine whether Phar write operations are being buffered, or are flushing directly to disk
    • Phar::isCompressed - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
    • Phar::isFileFormat - Returns true if the phar archive is based on the tar/phar/zip file format depending on the parameter
    • Phar::isValidPharFilename - Returns whether the given filename is a valid phar filename
    • Phar::isWritable - Returns true if the phar archive can be modified
    • Phar::loadPhar - Loads any phar archive with an alias
    • Phar::mapPhar - Reads the currently executed file (a phar) and registers its manifest
    • Phar::mount - Mount an external path or file to a virtual location within the phar archive
    • Phar::mungServer - Defines a list of up to 4 $_SERVER variables that should be modified for execution
    • Phar::offsetExists - determines whether a file exists in the phar
    • Phar::offsetGet - Gets a PharFileInfo object for a specific file
    • Phar::offsetSet - set the contents of an internal file to those of an external file
    • Phar::offsetUnset - remove a file from a phar
    • Phar::running - Returns the full path on disk or full phar URL to the currently executing Phar archive
    • Phar::setAlias - Set the alias for the Phar archive
    • Phar::setDefaultStub - Used to set the PHP loader or bootstrap stub of a Phar archive to the default loader
    • Phar::setMetadata - Sets phar archive meta-data
    • Phar::setSignatureAlgorithm - set the signature algorithm for a phar and apply it.
    • Phar::setStub - Used to set the PHP loader or bootstrap stub of a Phar archive
    • Phar::startBuffering - Start buffering Phar write operations, do not modify the Phar object on disk
    • Phar::stopBuffering - Stop buffering write requests to the Phar archive, and save changes to disk
    • Phar::uncompressAllFiles - Uncompresses all files in the current Phar archive
    • Phar::unlinkArchive - Completely remove a phar archive from disk and from memory
    • Phar::webPhar - mapPhar for web-based phars. front controller for web applications
    • Phar::__construct - Construct a Phar archive object
    • PharData::addEmptyDir - Add an empty directory to the tar/zip archive
    • PharData::addFile - Add a file from the filesystem to the tar/zip archive
    • PharData::addFromString - Add a file from the filesystem to the tar/zip archive
    • PharData::buildFromDirectory - Construct a tar/zip archive from the files within a directory.
    • PharData::buildFromIterator - Construct a tar or zip archive from an iterator.
    • PharData::compress - Compresses the entire tar/zip archive using Gzip or Bzip2 compression
    • PharData::compressFiles - Compresses all files in the current tar/zip archive
    • PharData::convertToData - Convert a phar archive to a non-executable tar or zip file
    • PharData::convertToExecutable - Convert a non-executable tar/zip archive to an executable phar archive
    • PharData::copy - Copy a file internal to the phar archive to another new file within the phar
    • PharData::decompress - Decompresses the entire Phar archive
    • PharData::decompressFiles - Decompresses all files in the current zip archive
    • PharData::delete - Delete a file within a tar/zip archive
    • PharData::delMetadata - Deletes the global metadata of a zip archive
    • PharData::extractTo - Extract the contents of a tar/zip archive to a directory
    • PharData::isWritable - Returns true if the tar/zip archive can be modified
    • PharData::offsetSet - set the contents of a file within the tar/zip to those of an external file or string
    • PharData::offsetUnset - remove a file from a tar/zip archive
    • PharData::setAlias - dummy function (Phar::setAlias is not valid for PharData)
    • PharData::setDefaultStub - dummy function (Phar::setDefaultStub is not valid for PharData)
    • PharData::setStub - dummy function (Phar::setStub is not valid for PharData)
    • PharData::__construct - Construct a non-executable tar or zip archive object
    • PharException - The PharException class provides a phar-specific exception class for try/catch blocks.
    • PharFileInfo::chmod - Sets file-specific permission bits
    • PharFileInfo::compress - Compresses the current Phar entry with either zlib or bzip2 compression
    • PharFileInfo::decompress - Decompresses the current Phar entry within the phar
    • PharFileInfo::delMetadata - Deletes the metadata of the entry
    • PharFileInfo::getCompressedSize - Returns the actual size of the file (with compression) inside the Phar archive
    • PharFileInfo::getCRC32 - Returns CRC32 code or throws an exception if CRC has not been verified
    • PharFileInfo::getMetadata - Returns file-specific meta-data saved with a file
    • PharFileInfo::getPharFlags - Returns the Phar file entry flags
    • PharFileInfo::hasMetadata - Returns the metadata of the entry
    • PharFileInfo::isCompressed - Returns whether the entry is compressed
    • PharFileInfo::isCompressedBZIP2 - Returns whether the entry is compressed using bzip2
    • PharFileInfo::isCompressedGZ - Returns whether the entry is compressed using gz
    • PharFileInfo::isCRCChecked - Returns whether file entry has had its CRC verified
    • PharFileInfo::setCompressedBZIP2 - Compresses the current Phar entry within the phar using Bzip2 compression
    • PharFileInfo::setCompressedGZ - Compresses the current Phar entry within the phar using gz compression
    • PharFileInfo::setMetadata - Sets file-specific meta-data saved with a file
    • PharFileInfo::setUncompressed - Uncompresses the current Phar entry within the phar, if it is compressed
    • PharFileInfo::__construct - Construct a Phar entry object
    • Phar Kontextoptionen - Liste der Phar Kontextoptionen
    • php:// - Accessing various I/O streams
    • phpcredits - Prints out the credits for PHP
    • phpinfo - Gibt Informationen zur PHP-Konfiguration aus
    • phpversion - Liefert die aktuelle PHP-Version
    • php_check_syntax - Überprüft die PHP Syntax der angegebenen Datei (und führt sie aus)
    • php_ini_loaded_file - Retrieve a path to the loaded php.ini file
    • php_ini_scanned_files - Liefert die Liste von analysierten .ini-Dateien aus einem zusätzlichen ini-Verzeichnis
    • php_logo_guid - Die GUID des PHP-Logos
    • php_sapi_name - Gibt das genutzte Interface zwischen PHP und dem Webserver zurück
    • php_strip_whitespace - Return source with stripped comments and whitespace
    • php_uname - Returns information about the operating system PHP is running on
    • php_user_filter::filter - Called when applying the filter
    • php_user_filter::onClose - Called when closing the filter
    • php_user_filter::onCreate - Called when creating the filter
    • pi - Liefert den Wert von Pi
    • png2wbmp - Convert PNG image file to WBMP image file
    • Pool::collect - Collect references to completed tasks
    • Pool::resize - Resize the Pool
    • Pool::shutdown - Shutdown all workers
    • Pool::submit - Submits an object for execution
    • Pool::submitTo - Submits a task to a specific worker for execution
    • Pool::__construct - Creates a new Pool of Workers
    • popen - Öffnet einen Prozesszeiger
    • pos - Alias von current
    • posix_access - Ermittelt die Zugriffsberechtigungen einer Datei
    • posix_ctermid - Liefert den Pfad des kontrollierenden Terminals
    • posix_errno - Alias von posix_get_last_error
    • posix_getcwd - Pfadname des aktuellen Verzeichnisses
    • posix_getegid - Liefert die effektive Gruppen-ID des aktuellen Prozesses
    • posix_geteuid - Liefert die effektive Benutzer-ID des aktuellen Prozesses
    • posix_getgid - Liefert die reale Gruppen-ID des aktuellen Prozesses
    • posix_getgrgid - Liefert zu einer Gruppen-ID Informationen über diese Gruppe
    • posix_getgrnam - Liefert zu einem Gruppennamen Informationen über diese Gruppe
    • posix_getgroups - Liefert die Gruppenliste des aktuellen Prozesses
    • posix_getlogin - Liefert den Loginnamen
    • posix_getpgid - Liefert die Prozessgruppenkennung (Process Group ID) für die Job-Kontrolle
    • posix_getpgrp - Liefert die Prozessgruppenkennung des aktuellen Prozesses
    • posix_getpid - Liefert die aktuelle Prozesskennung
    • posix_getppid - Liefert die Prozesskennung des Elternprozesses
    • posix_getpwnam - Liefert zu einem Benutzernamen Informationen über diesen Benutzer
    • posix_getpwuid - Liefert zu einer Benutzer-ID Informationen über diesen Benutzer
    • posix_getrlimit - Liefert Informationen über Systemressourcen-Limits
    • posix_getsid - Liefert die aktuelle Session-ID (sid) des Prozesses
    • posix_getuid - Liefert die reale Benutzer-ID des aktuellen Prozesses
    • posix_get_last_error - Liefert die von der letzten fehlgeschlagenen Posix-Funktion gesetzte Fehlernummer
    • posix_initgroups - Ermittelt die Gruppenzugriffsliste
    • posix_isatty - Ermittelt, ob ein Dateideskriptor ein interaktives Terminal ist
    • posix_kill - Sendet einem Prozess ein Signal
    • posix_mkfifo - Erzeugt eine "FIFO special"-Datei (named pipe)
    • posix_mknod - Erzeugt eine spezielle oder eine gewöhnliche Datei (POSIX.1)
    • posix_setegid - Setzt die effektive Gruppen-ID des aktuellen Prozesses
    • posix_seteuid - Setzt die effektive Benutzer-ID des aktuellen Prozesses
    • posix_setgid - Setzt die Gruppen-ID des aktuellen Prozesses
    • posix_setpgid - Setzt die Prozessgruppenkennung (Process Group ID) für die Job-Kontrolle
    • posix_setrlimit - Set system resource limits
    • posix_setsid - Macht den aktuellen Prozess zum Prozessgruppen-Führer
    • posix_setuid - Setzt die Benutzer-ID des aktuellen Prozesses
    • posix_strerror - Liefert die System-Fehlermeldung, die zur angegebenen Fehlernummer gehört
    • posix_times - Liefert Rechenzeiten
    • posix_ttyname - Ermittelt den Namen des Terminal-Devices
    • posix_uname - Liefert Auskunft über das System
    • pow - Potenzfunktion
    • preg_filter - Sucht und ersetzt mit regulären Ausdrücken
    • preg_grep - Liefert Array-Elemente, die auf ein Suchmuster passen
    • preg_last_error - Liefert den Fehlercode der letzten PCRE RegEx-Auswertung
    • preg_match - Führt eine Suche mit einem regulären Ausdruck durch
    • preg_match_all - Führt eine umfassende Suche nach Übereinstimmungen mit regulärem Ausdruck durch
    • preg_quote - Maskiert Zeichen regulärer Ausdrücke
    • preg_replace - Sucht und ersetzt mit regulären Ausdrücken
    • preg_replace_callback - Sucht und ersetzt mit regulären Ausdrücken unter Verwendung eines Callbacks
    • preg_replace_callback_array - Perform a regular expression search and replace using callbacks
    • preg_split - Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks
    • prev - Setzt den internen Zeiger eines Arrays um ein Element zurück
    • print - Ausgabe eines Strings
    • printf - Gibt einen formatierten String aus
    • print_r - Gibt Variablen-Informationen in lesbarer Form aus
    • proc_close - Schließt einen Prozess, der mit proc_open gestartet wurde und gibt den Exitcode dieses Prozesses zurück
    • proc_get_status - Liefert Informationen über einen mit proc_open gestarteten Prozess
    • proc_nice - Ändert die Priorität des aktuellen Prozesses
    • proc_open - Führt ein Kommando aus und öffnet Dateizeiger für die Ein- und Ausgabe
    • proc_terminate - Beendet einen von proc_open gestarteten Prozess
    • property_exists - Prüft auf die Existenz einer Eigenschaft eines Objektes bzw. einer Klasse
    • pspell_add_to_personal - Fügt der persönlichen Wortliste ein Wort hinzu
    • pspell_add_to_session - Fügt der Wortliste der aktuellen Sitzung ein Wort hinzu
    • pspell_check - Überprüft ein Wort
    • pspell_clear_session - Löscht die aktuelle Sitzung
    • pspell_config_create - Erzeugt eine Konfiguration zum Öffnen eines Wörterbuchs
    • pspell_config_data_dir - Ort der Dateien mit den Daten für die Sprachen
    • pspell_config_dict_dir - Ort der Haupt-Wortliste
    • pspell_config_ignore - Ignoriert Wörter mit weniger als N Buchstaben
    • pspell_config_mode - Ändert den Modus für die Anzahl gelieferter Vorschläge
    • pspell_config_personal - Legt die Datei fest, die die persönliche Wortliste enthält
    • pspell_config_repl - Legt die Datei fest, welche die Ersetzen-Paare enthält
    • pspell_config_runtogether - Betrachtet zusammengesetzte Wörter als gültige Verbindungen
    • pspell_config_save_repl - Bestimmt, ob Ersetzen-Paare zusammen mit der Wortliste gespeichert werden
    • pspell_new - Lädt ein neues Wörterbuch
    • pspell_new_config - Lädt ein neues Wörterbuch mit den Einstellungen einer angegebenen Konfiguration
    • pspell_new_personal - Lädt ein neues Wörterbuch mit persönlicher Wortliste
    • pspell_save_wordlist - Speichert die persönliche Wortliste in einer Datei
    • pspell_store_replacement - Speichert das Ersetzen-Paar für ein Wort
    • pspell_suggest - Macht Vorschläge für die Schreibweise eines Wortes
    • ps_add_bookmark - Add bookmark to current page
    • ps_add_launchlink - Adds link which launches file
    • ps_add_locallink - Adds link to a page in the same document
    • ps_add_note - Adds note to current page
    • ps_add_pdflink - Adds link to a page in a second pdf document
    • ps_add_weblink - Adds link to a web location
    • ps_arc - Draws an arc counterclockwise
    • ps_arcn - Draws an arc clockwise
    • ps_begin_page - Start a new page
    • ps_begin_pattern - Start a new pattern
    • ps_begin_template - Start a new template
    • ps_circle - Draws a circle
    • ps_clip - Clips drawing to current path
    • ps_close - Closes a PostScript document
    • ps_closepath - Closes path
    • ps_closepath_stroke - Closes and strokes path
    • ps_close_image - Closes image and frees memory
    • ps_continue_text - Continue text in next line
    • ps_curveto - Draws a curve
    • ps_delete - Deletes all resources of a PostScript document
    • ps_end_page - End a page
    • ps_end_pattern - End a pattern
    • ps_end_template - End a template
    • ps_fill - Fills the current path
    • ps_fill_stroke - Fills and strokes the current path
    • ps_findfont - Loads a font
    • ps_get_buffer - Fetches the full buffer containig the generated PS data
    • ps_get_parameter - Gets certain parameters
    • ps_get_value - Gets certain values
    • ps_hyphenate - Hyphenates a word
    • ps_include_file - Reads an external file with raw PostScript code
    • ps_lineto - Draws a line
    • ps_makespotcolor - Create spot color
    • ps_moveto - Sets current point
    • ps_new - Creates a new PostScript document object
    • ps_open_file - Opens a file for output
    • ps_open_image - Reads an image for later placement
    • ps_open_image_file - Opens image from file
    • ps_open_memory_image - Takes an GD image and returns an image for placement in a PS document
    • ps_place_image - Places image on the page
    • ps_rect - Draws a rectangle
    • ps_restore - Restore previously save context
    • ps_rotate - Sets rotation factor
    • ps_save - Save current context
    • ps_scale - Sets scaling factor
    • ps_setcolor - Sets current color
    • ps_setdash - Sets appearance of a dashed line
    • ps_setflat - Sets flatness
    • ps_setfont - Sets font to use for following output
    • ps_setgray - Sets gray value
    • ps_setlinecap - Sets appearance of line ends
    • ps_setlinejoin - Sets how contected lines are joined
    • ps_setlinewidth - Sets width of a line
    • ps_setmiterlimit - Sets the miter limit
    • ps_setoverprintmode - Sets overprint mode
    • ps_setpolydash - Sets appearance of a dashed line
    • ps_set_border_color - Sets color of border for annotations
    • ps_set_border_dash - Sets length of dashes for border of annotations
    • ps_set_border_style - Sets border style of annotations
    • ps_set_info - Sets information fields of document
    • ps_set_parameter - Sets certain parameters
    • ps_set_text_pos - Sets position for text output
    • ps_set_value - Sets certain values
    • ps_shading - Creates a shading for later use
    • ps_shading_pattern - Creates a pattern based on a shading
    • ps_shfill - Fills an area with a shading
    • ps_show - Output text
    • ps_show2 - Output a text at current position
    • ps_show_boxed - Output text in a box
    • ps_show_xy - Output text at given position
    • ps_show_xy2 - Output text at position
    • ps_stringwidth - Gets width of a string
    • ps_string_geometry - Gets geometry of a string
    • ps_stroke - Draws the current path
    • ps_symbol - Output a glyph
    • ps_symbol_name - Gets name of a glyph
    • ps_symbol_width - Gets width of a glyph
    • ps_translate - Sets translation
    • putenv - Setzt den Wert einer Umgebungsvariablen.
    • px_close - Closes a paradox database
    • px_create_fp - Create a new paradox database
    • px_date2string - Converts a date into a string.
    • px_delete - Deletes resource of paradox database
    • px_delete_record - Deletes record from paradox database
    • px_get_field - Returns the specification of a single field
    • px_get_info - Return lots of information about a paradox file
    • px_get_parameter - Gets a parameter
    • px_get_record - Returns record of paradox database
    • px_get_schema - Returns the database schema
    • px_get_value - Gets a value
    • px_insert_record - Inserts record into paradox database
    • px_new - Create a new paradox object
    • px_numfields - Returns number of fields in a database
    • px_numrecords - Returns number of records in a database
    • px_open_fp - Open paradox database
    • px_put_record - Stores record into paradox database
    • px_retrieve_record - Returns record of paradox database
    • px_set_blob_file - Sets the file where blobs are read from
    • px_set_parameter - Sets a parameter
    • px_set_tablename - Sets the name of a table (deprecated)
    • px_set_targetencoding - Sets the encoding for character fields (deprecated)
    • px_set_value - Sets a value
    • px_timestamp2string - Converts the timestamp into a string.
    • px_update_record - Updates record in paradox database
  • q
    • QuickHashIntHash::add - This method adds a new entry to the hash
    • QuickHashIntHash::delete - This method deletes am entry from the hash
    • QuickHashIntHash::exists - This method checks whether a key is part of the hash
    • QuickHashIntHash::get - This method retrieves a value from the hash by its key
    • QuickHashIntHash::getSize - Returns the number of elements in the hash
    • QuickHashIntHash::loadFromFile - This factory method creates a hash from a file
    • QuickHashIntHash::loadFromString - This factory method creates a hash from a string
    • QuickHashIntHash::saveToFile - This method stores an in-memory hash to disk
    • QuickHashIntHash::saveToString - This method returns a serialized version of the hash
    • QuickHashIntHash::set - This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist
    • QuickHashIntHash::update - This method updates an entry in the hash with a new value
    • QuickHashIntHash::__construct - Creates a new QuickHashIntHash object
    • QuickHashIntSet::add - This method adds a new entry to the set
    • QuickHashIntSet::delete - This method deletes an entry from the set
    • QuickHashIntSet::exists - This method checks whether a key is part of the set
    • QuickHashIntSet::getSize - Returns the number of elements in the set
    • QuickHashIntSet::loadFromFile - This factory method creates a set from a file
    • QuickHashIntSet::loadFromString - This factory method creates a set from a string
    • QuickHashIntSet::saveToFile - This method stores an in-memory set to disk
    • QuickHashIntSet::saveToString - This method returns a serialized version of the set
    • QuickHashIntSet::__construct - Creates a new QuickHashIntSet object
    • QuickHashIntStringHash::add - This method adds a new entry to the hash
    • QuickHashIntStringHash::delete - This method deletes am entry from the hash
    • QuickHashIntStringHash::exists - This method checks whether a key is part of the hash
    • QuickHashIntStringHash::get - This method retrieves a value from the hash by its key
    • QuickHashIntStringHash::getSize - Returns the number of elements in the hash
    • QuickHashIntStringHash::loadFromFile - This factory method creates a hash from a file
    • QuickHashIntStringHash::loadFromString - This factory method creates a hash from a string
    • QuickHashIntStringHash::saveToFile - This method stores an in-memory hash to disk
    • QuickHashIntStringHash::saveToString - This method returns a serialized version of the hash
    • QuickHashIntStringHash::set - This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist
    • QuickHashIntStringHash::update - This method updates an entry in the hash with a new value
    • QuickHashIntStringHash::__construct - Creates a new QuickHashIntStringHash object
    • QuickHashStringIntHash::add - This method adds a new entry to the hash
    • QuickHashStringIntHash::delete - This method deletes am entry from the hash
    • QuickHashStringIntHash::exists - This method checks whether a key is part of the hash
    • QuickHashStringIntHash::get - This method retrieves a value from the hash by its key
    • QuickHashStringIntHash::getSize - Returns the number of elements in the hash
    • QuickHashStringIntHash::loadFromFile - This factory method creates a hash from a file
    • QuickHashStringIntHash::loadFromString - This factory method creates a hash from a string
    • QuickHashStringIntHash::saveToFile - This method stores an in-memory hash to disk
    • QuickHashStringIntHash::saveToString - This method returns a serialized version of the hash
    • QuickHashStringIntHash::set - This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist
    • QuickHashStringIntHash::update - This method updates an entry in the hash with a new value
    • QuickHashStringIntHash::__construct - Creates a new QuickHashStringIntHash object
    • quoted_printable_decode - Konvertiert einen "quoted-printable"-String in einen 8-Bit-String
    • quoted_printable_encode - Wandelt einen 8Bit-String in sein 'Quoted Printable' Gegenstück
    • quotemeta - Quoten von Meta-Zeichen
  • r
    • rad2deg - Umrechnung von Bogenmaß in Grad
    • radius_acct_open - Creates a Radius handle for accounting
    • radius_add_server - Adds a server
    • radius_auth_open - Creates a Radius handle for authentication
    • radius_close - Frees all ressources
    • radius_config - Causes the library to read the given configuration file
    • radius_create_request - Create accounting or authentication request
    • radius_cvt_addr - Converts raw data to IP-Address
    • radius_cvt_int - Converts raw data to integer
    • radius_cvt_string - Converts raw data to string
    • radius_demangle - Demangles data
    • radius_demangle_mppe_key - Derives mppe-keys from mangled data
    • radius_get_attr - Extracts an attribute
    • radius_get_tagged_attr_data - Extracts the data from a tagged attribute
    • radius_get_tagged_attr_tag - Extracts the tag from a tagged attribute
    • radius_get_vendor_attr - Extracts a vendor specific attribute
    • radius_put_addr - Attaches an IP address attribute
    • radius_put_attr - Attaches a binary attribute
    • radius_put_int - Attaches an integer attribute
    • radius_put_string - Attaches a string attribute
    • radius_put_vendor_addr - Attaches a vendor specific IP address attribute
    • radius_put_vendor_attr - Attaches a vendor specific binary attribute
    • radius_put_vendor_int - Attaches a vendor specific integer attribute
    • radius_put_vendor_string - Attaches a vendor specific string attribute
    • radius_request_authenticator - Returns the request authenticator
    • radius_salt_encrypt_attr - Salt-encrypts a value
    • radius_send_request - Sends the request and waites for a reply
    • radius_server_secret - Returns the shared secret
    • radius_strerror - Returns an error message
    • rand - Erzeugt eine zufällige Zahl
    • random_bytes - Generates cryptographically secure pseudo-random bytes
    • random_int - Generates cryptographically secure pseudo-random integers
    • range - Erstellt ein Array mit einem Bereich von Elementen
    • rar:// - RAR
    • RarArchive::close - Close RAR archive and free all resources
    • RarArchive::getComment - Get comment text from the RAR archive
    • RarArchive::getEntries - Get full list of entries from the RAR archive
    • RarArchive::getEntry - Get entry object from the RAR archive
    • RarArchive::isBroken - Test whether an archive is broken (incomplete)
    • RarArchive::isSolid - Check whether the RAR archive is solid
    • RarArchive::open - Open RAR archive
    • RarArchive::setAllowBroken - Whether opening broken archives is allowed
    • RarArchive::__toString - Get text representation
    • RarEntry::extract - Extract entry from the archive
    • RarEntry::getAttr - Get attributes of the entry
    • RarEntry::getCrc - Get CRC of the entry
    • RarEntry::getFileTime - Get entry last modification time
    • RarEntry::getHostOs - Get entry host OS
    • RarEntry::getMethod - Get pack method of the entry
    • RarEntry::getName - Get name of the entry
    • RarEntry::getPackedSize - Get packed size of the entry
    • RarEntry::getStream - Get file handler for entry
    • RarEntry::getUnpackedSize - Get unpacked size of the entry
    • RarEntry::getVersion - Get minimum version of RAR program required to unpack the entry
    • RarEntry::isDirectory - Test whether an entry represents a directory
    • RarEntry::isEncrypted - Test whether an entry is encrypted
    • RarEntry::__toString - Get text representation of entry
    • RarException::isUsingExceptions - Check whether error handling with exceptions is in use
    • RarException::setUsingExceptions - Activate and deactivate error handling with exceptions
    • rar_wrapper_cache_stats - Cache hits and misses for the URL wrapper
    • rawurldecode - Dekodiert URL-kodierte Strings
    • rawurlencode - URL-Kodierung nach RFC 3986
    • readdir - Liest einen Eintrag aus einem Verzeichnis-Handle
    • readfile - Gibt eine Datei aus
    • readgzfile - Gibt eine gz-komprimierte Datei aus
    • readline - Liest eine Zeile
    • readline_add_history - Fügt eine Zeile zur History hinzu
    • readline_callback_handler_install - Initialisiert das readline-Callback-Interface und das Terminal, gibt den Prompt aus und springt direkt zurück
    • readline_callback_handler_remove - Entfernt den letztdefinierten Callbackhandler und setzt die Terminalumgebung auf die Ursprungswerte zurück
    • readline_callback_read_char - Liest ein Zeichen und informiert das readline-Callback-Interface, wenn die Eingabezeile abgeschlossen wurde
    • readline_clear_history - Löscht die History
    • readline_completion_function - Registriert eine Vervollständigungsfunktion
    • readline_info - Liest/Setzt verschiedene interne readline-Variablen
    • readline_list_history - Auflistung der History
    • readline_on_new_line - Informiert readline, dass der Cursor in eine neue Zeile bewegt wurde
    • readline_read_history - Liest die History
    • readline_redisplay - Zeichnet den Bildschirm neu
    • readline_write_history - Schreibt die History
    • readlink - Liefert das Ziel eines symbolischen Links
    • read_exif_data - Alias von exif_read_data
    • realpath - Löst einen Pfad in einen absoluten und eindeutigen auf
    • realpath_cache_get - Get realpath cache entries
    • realpath_cache_size - Get realpath cache size
    • recode - Alias von recode_string
    • recode_file - Umkodierung von Dateien entsprechend der Recode-Anweisung
    • recode_string - Umkodierung eines Strings entsprechend einer Recode-Anweisung
    • RecursiveArrayIterator::getChildren - Returns an iterator for the current entry if it is an array or an object.
    • RecursiveArrayIterator::hasChildren - Returns whether current entry is an array or an object.
    • RecursiveCachingIterator::getChildren - Return the inner iterator's children as a RecursiveCachingIterator
    • RecursiveCachingIterator::hasChildren - Check whether the current element of the inner iterator has children
    • RecursiveCachingIterator::__construct - Construct
    • RecursiveCallbackFilterIterator::getChildren - Return the inner iterator's children contained in a RecursiveCallbackFilterIterator
    • RecursiveCallbackFilterIterator::hasChildren - Check whether the inner iterator's current element has children
    • RecursiveCallbackFilterIterator::__construct - Create a RecursiveCallbackFilterIterator from a RecursiveIterator
    • RecursiveDirectoryIterator::getChildren - Returns an iterator for the current entry if it is a directory
    • RecursiveDirectoryIterator::getSubPath - Get sub path
    • RecursiveDirectoryIterator::getSubPathname - Get sub path and name
    • RecursiveDirectoryIterator::hasChildren - Returns whether current entry is a directory and not '.' or '..'
    • RecursiveDirectoryIterator::key - Return path and filename of current dir entry
    • RecursiveDirectoryIterator::next - Zum nächsten Eintrag bewegen
    • RecursiveDirectoryIterator::rewind - Rewind dir back to the start
    • RecursiveDirectoryIterator::__construct - Constructs a RecursiveDirectoryIterator
    • RecursiveFilterIterator::getChildren - Return the inner iterator's children contained in a RecursiveFilterIterator
    • RecursiveFilterIterator::hasChildren - Check whether the inner iterator's current element has children
    • RecursiveFilterIterator::__construct - Create a RecursiveFilterIterator from a RecursiveIterator
    • RecursiveIterator::getChildren - Returns an iterator for the current entry.
    • RecursiveIterator::hasChildren - Returns if an iterator can be created fot the current entry.
    • RecursiveIteratorIterator::beginChildren - Begin children
    • RecursiveIteratorIterator::beginIteration - Begin Iteration
    • RecursiveIteratorIterator::callGetChildren - Get children
    • RecursiveIteratorIterator::callHasChildren - Has children
    • RecursiveIteratorIterator::current - Access the current element value
    • RecursiveIteratorIterator::endChildren - End children
    • RecursiveIteratorIterator::endIteration - End Iteration
    • RecursiveIteratorIterator::getDepth - Get the current depth of the recursive iteration
    • RecursiveIteratorIterator::getInnerIterator - Get inner iterator
    • RecursiveIteratorIterator::getMaxDepth - Get max depth
    • RecursiveIteratorIterator::getSubIterator - The current active sub iterator
    • RecursiveIteratorIterator::key - Access the current key
    • RecursiveIteratorIterator::next - Move forward to the next element
    • RecursiveIteratorIterator::nextElement - Next element
    • RecursiveIteratorIterator::rewind - Rewind the iterator to the first element of the top level inner iterator
    • RecursiveIteratorIterator::setMaxDepth - Set max depth
    • RecursiveIteratorIterator::valid - Check whether the current position is valid
    • RecursiveIteratorIterator::__construct - Construct a RecursiveIteratorIterator
    • RecursiveRegexIterator::getChildren - Returns an iterator for the current entry.
    • RecursiveRegexIterator::hasChildren - Returns whether an iterator can be obtained for the current entry.
    • RecursiveRegexIterator::__construct - Creates a new RecursiveRegexIterator.
    • RecursiveTreeIterator::beginChildren - Begin children
    • RecursiveTreeIterator::beginIteration - Begin iteration
    • RecursiveTreeIterator::callGetChildren - Get children
    • RecursiveTreeIterator::callHasChildren - Has children
    • RecursiveTreeIterator::current - Get current element
    • RecursiveTreeIterator::endChildren - End children
    • RecursiveTreeIterator::endIteration - End iteration
    • RecursiveTreeIterator::getEntry - Get current entry
    • RecursiveTreeIterator::getPostfix - Get the postfix
    • RecursiveTreeIterator::getPrefix - Get the prefix
    • RecursiveTreeIterator::key - Get the key of the current element
    • RecursiveTreeIterator::next - Move to next element
    • RecursiveTreeIterator::nextElement - Next element
    • RecursiveTreeIterator::rewind - Rewind iterator
    • RecursiveTreeIterator::setPrefixPart - Set a part of the prefix
    • RecursiveTreeIterator::valid - Check validity
    • RecursiveTreeIterator::__construct - Construct a RecursiveTreeIterator
    • Reflection::export - Exports
    • Reflection::getModifierNames - Gets modifier names
    • ReflectionClass::export - Exports a class
    • ReflectionClass::getConstant - Gets defined constant
    • ReflectionClass::getConstants - Gets constants
    • ReflectionClass::getConstructor - Gets the constructor of the class
    • ReflectionClass::getDefaultProperties - Gets default properties
    • ReflectionClass::getDocComment - Gets doc comments
    • ReflectionClass::getEndLine - Gets end line
    • ReflectionClass::getExtension - Gets a ReflectionExtension object for the extension which defined the class
    • ReflectionClass::getExtensionName - Gets the name of the extension which defined the class
    • ReflectionClass::getFileName - Gets the filename of the file in which the class has been defined
    • ReflectionClass::getInterfaceNames - Gets the interface names
    • ReflectionClass::getInterfaces - Gets the interfaces
    • ReflectionClass::getMethod - Gets a ReflectionMethod for a class method.
    • ReflectionClass::getMethods - Gets an array of methods
    • ReflectionClass::getModifiers - Gets modifiers
    • ReflectionClass::getName - Gets class name
    • ReflectionClass::getNamespaceName - Gets namespace name
    • ReflectionClass::getParentClass - Gets parent class
    • ReflectionClass::getProperties - Gets properties
    • ReflectionClass::getProperty - Gets a ReflectionProperty for a class's property
    • ReflectionClass::getShortName - Gets short name
    • ReflectionClass::getStartLine - Gets starting line number
    • ReflectionClass::getStaticProperties - Gets static properties
    • ReflectionClass::getStaticPropertyValue - Gets static property value
    • ReflectionClass::getTraitAliases - Returns an array of trait aliases
    • ReflectionClass::getTraitNames - Returns an array of names of traits used by this class
    • ReflectionClass::getTraits - Returns an array of traits used by this class
    • ReflectionClass::hasConstant - Checks if constant is defined
    • ReflectionClass::hasMethod - Checks if method is defined
    • ReflectionClass::hasProperty - Checks if property is defined
    • ReflectionClass::implementsInterface - Implements interface
    • ReflectionClass::inNamespace - Checks if in namespace
    • ReflectionClass::isAbstract - Checks if class is abstract
    • ReflectionClass::isAnonymous - Checks if class is anonymous
    • ReflectionClass::isCloneable - Returns whether this class is cloneable
    • ReflectionClass::isFinal - Checks if class is final
    • ReflectionClass::isInstance - Checks class for instance
    • ReflectionClass::isInstantiable - Checks if the class is instantiable
    • ReflectionClass::isInterface - Checks if the class is an interface
    • ReflectionClass::isInternal - Checks if class is defined internally by an extension, or the core
    • ReflectionClass::isIterateable - Checks if iterateable
    • ReflectionClass::isSubclassOf - Checks if a subclass
    • ReflectionClass::isTrait - Returns whether this is a trait
    • ReflectionClass::isUserDefined - Checks if user defined
    • ReflectionClass::newInstance - Creates a new class instance from given arguments.
    • ReflectionClass::newInstanceArgs - Creates a new class instance from given arguments.
    • ReflectionClass::newInstanceWithoutConstructor - Creates a new class instance without invoking the constructor.
    • ReflectionClass::setStaticPropertyValue - Sets static property value
    • ReflectionClass::__construct - Constructs a ReflectionClass
    • ReflectionClass::__toString - Returns the string representation of the ReflectionClass object.
    • ReflectionExtension::export - Export
    • ReflectionExtension::getClasses - Gets classes
    • ReflectionExtension::getClassNames - Gets class names
    • ReflectionExtension::getConstants - Gets constants
    • ReflectionExtension::getDependencies - Gets dependencies
    • ReflectionExtension::getFunctions - Gets extension functions
    • ReflectionExtension::getINIEntries - Gets extension ini entries
    • ReflectionExtension::getName - Gets extension name
    • ReflectionExtension::getVersion - Gets extension version
    • ReflectionExtension::info - Print extension info
    • ReflectionExtension::isPersistent - Returns whether this extension is persistent
    • ReflectionExtension::isTemporary - Returns whether this extension is temporary
    • ReflectionExtension::__clone - Clones
    • ReflectionExtension::__construct - Constructs a ReflectionExtension
    • ReflectionExtension::__toString - To string
    • ReflectionFunction::export - Exports function
    • ReflectionFunction::getClosure - Returns a dynamically created closure for the function
    • ReflectionFunction::invoke - Invokes function
    • ReflectionFunction::invokeArgs - Invokes function args
    • ReflectionFunction::isDisabled - Checks if function is disabled
    • ReflectionFunction::__construct - Constructs a ReflectionFunction object
    • ReflectionFunction::__toString - To string
    • ReflectionFunctionAbstract::getClosureScopeClass - Returns the scope associated to the closure
    • ReflectionFunctionAbstract::getClosureThis - Returns this pointer bound to closure
    • ReflectionFunctionAbstract::getDocComment - Gets doc comment
    • ReflectionFunctionAbstract::getEndLine - Gets end line number
    • ReflectionFunctionAbstract::getExtension - Gets extension info
    • ReflectionFunctionAbstract::getExtensionName - Gets extension name
    • ReflectionFunctionAbstract::getFileName - Gets file name
    • ReflectionFunctionAbstract::getName - Gets function name
    • ReflectionFunctionAbstract::getNamespaceName - Gets namespace name
    • ReflectionFunctionAbstract::getNumberOfParameters - Gets number of parameters
    • ReflectionFunctionAbstract::getNumberOfRequiredParameters - Gets number of required parameters
    • ReflectionFunctionAbstract::getParameters - Gets parameters
    • ReflectionFunctionAbstract::getReturnType - Gets the specified return type of a function
    • ReflectionFunctionAbstract::getShortName - Gets function short name
    • ReflectionFunctionAbstract::getStartLine - Gets starting line number
    • ReflectionFunctionAbstract::getStaticVariables - Gets static variables
    • ReflectionFunctionAbstract::hasReturnType - Checks if the function has a specified return type
    • ReflectionFunctionAbstract::inNamespace - Checks if function in namespace
    • ReflectionFunctionAbstract::isClosure - Checks if closure
    • ReflectionFunctionAbstract::isDeprecated - Checks if deprecated
    • ReflectionFunctionAbstract::isGenerator - Returns whether this function is a generator
    • ReflectionFunctionAbstract::isInternal - Checks if is internal
    • ReflectionFunctionAbstract::isUserDefined - Checks if user defined
    • ReflectionFunctionAbstract::isVariadic - Checks if the function is variadic
    • ReflectionFunctionAbstract::returnsReference - Checks if returns reference
    • ReflectionFunctionAbstract::__clone - Clones function
    • ReflectionFunctionAbstract::__toString - To string
    • ReflectionGenerator::getExecutingFile - Gets the file name of the currently executing generator
    • ReflectionGenerator::getExecutingGenerator - Gets the executing Generator object
    • ReflectionGenerator::getExecutingLine - Gets the currently executing line of the generator
    • ReflectionGenerator::getFunction - Gets the function name of the generator
    • ReflectionGenerator::getThis - Gets the $this value of the generator
    • ReflectionGenerator::getTrace - Gets the trace of the executing generator
    • ReflectionGenerator::__construct - Constructs a ReflectionGenerator object
    • ReflectionMethod::export - Export a reflection method.
    • ReflectionMethod::getClosure - Returns a dynamically created closure for the method
    • ReflectionMethod::getDeclaringClass - Gets declaring class for the reflected method.
    • ReflectionMethod::getModifiers - Gets the method modifiers
    • ReflectionMethod::getPrototype - Gets the method prototype (if there is one).
    • ReflectionMethod::invoke - Invoke
    • ReflectionMethod::invokeArgs - Invoke args
    • ReflectionMethod::isAbstract - Checks if method is abstract
    • ReflectionMethod::isConstructor - Checks if method is a constructor
    • ReflectionMethod::isDestructor - Checks if method is a destructor
    • ReflectionMethod::isFinal - Checks if method is final
    • ReflectionMethod::isPrivate - Checks if method is private
    • ReflectionMethod::isProtected - Checks if method is protected
    • ReflectionMethod::isPublic - Checks if method is public
    • ReflectionMethod::isStatic - Checks if method is static
    • ReflectionMethod::setAccessible - Set method accessibility
    • ReflectionMethod::__construct - Constructs a ReflectionMethod
    • ReflectionMethod::__toString - Returns the string representation of the Reflection method object.
    • ReflectionObject::export - Export
    • ReflectionObject::__construct - Constructs a ReflectionObject
    • ReflectionParameter::allowsNull - Checks if null is allowed
    • ReflectionParameter::canBePassedByValue - Returns whether this parameter can be passed by value
    • ReflectionParameter::export - Exports
    • ReflectionParameter::getClass - Get the type hinted class
    • ReflectionParameter::getDeclaringClass - Gets declaring class
    • ReflectionParameter::getDeclaringFunction - Gets declaring function
    • ReflectionParameter::getDefaultValue - Gets default parameter value
    • ReflectionParameter::getDefaultValueConstantName - Returns the default value's constant name if default value is constant or null
    • ReflectionParameter::getName - Gets parameter name
    • ReflectionParameter::getPosition - Gets parameter position
    • ReflectionParameter::getType - Gets a parameter's type
    • ReflectionParameter::hasType - Checks if parameter has a type
    • ReflectionParameter::isArray - Checks if parameter expects an array
    • ReflectionParameter::isCallable - Returns whether parameter MUST be callable
    • ReflectionParameter::isDefaultValueAvailable - Checks if a default value is available
    • ReflectionParameter::isDefaultValueConstant - Returns whether the default value of this parameter is constant
    • ReflectionParameter::isOptional - Checks if optional
    • ReflectionParameter::isPassedByReference - Checks if passed by reference
    • ReflectionParameter::isVariadic - Checks if the parameter is variadic
    • ReflectionParameter::__clone - Clone
    • ReflectionParameter::__construct - Construct
    • ReflectionParameter::__toString - To string
    • ReflectionProperty::export - Export
    • ReflectionProperty::getDeclaringClass - Gets declaring class
    • ReflectionProperty::getDocComment - Gets the property doc comment
    • ReflectionProperty::getModifiers - Gets modifiers
    • ReflectionProperty::getName - Gets property name
    • ReflectionProperty::getValue - Gets value
    • ReflectionProperty::isDefault - Checks if property is a default property
    • ReflectionProperty::isPrivate - Checks if property is private
    • ReflectionProperty::isProtected - Checks if property is protected
    • ReflectionProperty::isPublic - Checks if property is public
    • ReflectionProperty::isStatic - Checks if property is static
    • ReflectionProperty::setAccessible - Set property accessibility
    • ReflectionProperty::setValue - Set property value
    • ReflectionProperty::__clone - Clone
    • ReflectionProperty::__construct - Construct a ReflectionProperty object
    • ReflectionProperty::__toString - To string
    • ReflectionType::allowsNull - Checks if null is allowed
    • ReflectionType::isBuiltin - Checks if it is a built-in type
    • ReflectionType::__toString - To string
    • ReflectionZendExtension::export - Export
    • ReflectionZendExtension::getAuthor - Gets author
    • ReflectionZendExtension::getCopyright - Gets copyright
    • ReflectionZendExtension::getName - Gets name
    • ReflectionZendExtension::getURL - Gets URL
    • ReflectionZendExtension::getVersion - Gets version
    • ReflectionZendExtension::__clone - Clone handler
    • ReflectionZendExtension::__construct - Constructor
    • ReflectionZendExtension::__toString - To string handler
    • Reflector::export - Exports
    • Reflector::__toString - To string
    • RegexIterator::accept - Get accept status
    • RegexIterator::getFlags - Get flags
    • RegexIterator::getMode - Returns operation mode.
    • RegexIterator::getPregFlags - Returns the regular expression flags.
    • RegexIterator::getRegex - Returns current regular expression
    • RegexIterator::setFlags - Sets the flags.
    • RegexIterator::setMode - Sets the operation mode.
    • RegexIterator::setPregFlags - Sets the regular expression flags.
    • RegexIterator::__construct - Create a new RegexIterator
    • register_shutdown_function - Registriert eine Funktion zur Ausführung beim Skript-Abschluss
    • register_tick_function - Register a function for execution on each tick
    • rename - Benennt eine Datei oder ein Verzeichnis um
    • rename_function - Renames orig_name to new_name in the global function table
    • reset - Setzt den internen Zeiger eines Arrays auf sein erstes Element
    • ResourceBundle::count - Get number of elements in the bundle
    • ResourceBundle::create - Create a resource bundle
    • ResourceBundle::get - Get data from the bundle
    • ResourceBundle::getErrorCode - Get bundle's last error code.
    • ResourceBundle::getErrorMessage - Get bundle's last error message.
    • ResourceBundle::getLocales - Get supported locales
    • restore_error_handler - Rekonstruiert die zuvor benutzte Fehlerbehandlungsfunktion
    • restore_exception_handler - Stellt den vorherigen Exceptionhandler wieder her
    • restore_include_path - Restores the value of the include_path configuration option
    • rewind - Setzt die Position eines Dateizeigers auf den Anfang
    • rewinddir - Zurücksetzen des Verzeichnis-Handles
    • rmdir - Löscht ein Verzeichnis
    • round - Rundet einen Fließkommawert
    • rpm_close - Closes an RPM file
    • rpm_get_tag - Retrieves a header tag from an RPM file
    • rpm_is_valid - Tests a filename for validity as an RPM file
    • rpm_open - Opens an RPM file
    • rpm_version - Returns a string representing the current version of the rpmreader extension
    • RRDCreator::addArchive - Adds RRA - archive of data values for each data source.
    • RRDCreator::addDataSource - Adds data source definition for RRD database.
    • RRDCreator::save - Saves the RRD database to a file
    • RRDCreator::__construct - Creates new RRDCreator instance
    • rrdc_disconnect - Close any outstanding connection to rrd caching daemon
    • RRDGraph::save - Saves the result of query into image
    • RRDGraph::saveVerbose - Saves the RRD database query into image and returns the verbose information about generated graph.
    • RRDGraph::setOptions - Sets the options for rrd graph export
    • RRDGraph::__construct - Creates new RRDGraph instance
    • RRDUpdater::update - Update the RRD database file
    • RRDUpdater::__construct - Creates new RRDUpdater instance
    • rrd_create - Creates rrd database file
    • rrd_error - Gets latest error message.
    • rrd_fetch - Fetch the data for graph as array.
    • rrd_first - Gets the timestamp of the first sample from rrd file.
    • rrd_graph - Creates image from a data.
    • rrd_info - Gets information about rrd file
    • rrd_last - Gets unix timestamp of the last sample.
    • rrd_lastupdate - Gets information about last updated data.
    • rrd_restore - Restores the RRD file from XML dump.
    • rrd_tune - Tunes some RRD database file header options.
    • rrd_update - Updates the RRD database.
    • rrd_version - Gets information about underlying rrdtool library
    • rrd_xport - Exports the information about RRD database.
    • rsort - Sortiert ein Array in umgekehrter Reihenfolge
    • rtrim - Entfernt Leerraum (oder andere Zeichen) vom Ende eines Strings
    • runkit_class_adopt - Convert a base class to an inherited class, add ancestral methods when appropriate
    • runkit_class_emancipate - Convert an inherited class to a base class, removes any method whose scope is ancestral
    • runkit_constant_add - Similar to define(), but allows defining in class definitions as well
    • runkit_constant_redefine - Redefine an already defined constant
    • runkit_constant_remove - Remove/Delete an already defined constant
    • runkit_function_add - Add a new function, similar to create_function
    • runkit_function_copy - Copy a function to a new function name
    • runkit_function_redefine - Replace a function definition with a new implementation
    • runkit_function_remove - Remove a function definition
    • runkit_function_rename - Change a function's name
    • runkit_import - Process a PHP file importing function and class definitions, overwriting where appropriate
    • runkit_lint - Check the PHP syntax of the specified php code
    • runkit_lint_file - Check the PHP syntax of the specified file
    • runkit_method_add - Dynamically adds a new method to a given class
    • runkit_method_copy - Copies a method from class to another
    • runkit_method_redefine - Dynamically changes the code of the given method
    • runkit_method_remove - Dynamically removes the given method
    • runkit_method_rename - Dynamically changes the name of the given method
    • runkit_return_value_used - Determines if the current functions return value will be used
    • Runkit_Sandbox - Runkit Sandbox Class -- PHP Virtual Machine
    • runkit_sandbox_output_handler - Specify a function to capture and/or process output from a runkit sandbox
    • Runkit_Sandbox_Parent - Runkit Anti-Sandbox Class
    • runkit_superglobals - Return numerically indexed array of registered superglobals
  • s
    • SAMConnection::commit - Commits (completes) the current unit of work.
    • SAMConnection::connect - Establishes a connection to a Messaging Server
    • SAMConnection::disconnect - Disconnects from a Messaging Server
    • SAMConnection::errno - Contains the unique numeric error code of the last executed SAM operation.
    • SAMConnection::error - Contains the text description of the last failed SAM operation.
    • SAMConnection::isConnected - Queries whether a connection is established to a Messaging Server
    • SAMConnection::peek - Read a message from a queue without removing it from the queue.
    • SAMConnection::peekAll - Read one or more messages from a queue without removing it from the queue.
    • SAMConnection::receive - Receive a message from a queue or subscription.
    • SAMConnection::remove - Remove a message from a queue.
    • SAMConnection::rollback - Cancels (rolls back) an in-flight unit of work.
    • SAMConnection::send - Send a message to a queue or publish an item to a topic.
    • SAMConnection::setDebug - Turn on or off additional debugging output.
    • SAMConnection::subscribe - Create a subscription to a specified topic.
    • SAMConnection::unsubscribe - Cancel a subscription to a specified topic.
    • SAMConnection::__construct - Creates a new connection to a Messaging Server
    • SAMMessage::body - The body of the message.
    • SAMMessage::header - The header properties of the message.
    • SAMMessage::__construct - Creates a new Message object
    • SCA::createDataObject - create an SDO
    • SCA::getService - Obtain a proxy for a service
    • scandir - Listet Dateien und Verzeichnisse innerhalb eines angegebenen Pfades auf
    • SCA_LocalProxy::createDataObject - create an SDO
    • SCA_SoapProxy::createDataObject - create an SDO
    • SDO_DAS_ChangeSummary::beginLogging - Begin change logging
    • SDO_DAS_ChangeSummary::endLogging - End change logging
    • SDO_DAS_ChangeSummary::getChangedDataObjects - Get the changed data objects from a change summary
    • SDO_DAS_ChangeSummary::getChangeType - Get the type of change made to an SDO_DataObject
    • SDO_DAS_ChangeSummary::getOldContainer - Get the old container for a deleted SDO_DataObject
    • SDO_DAS_ChangeSummary::getOldValues - Get the old values for a given changed SDO_DataObject
    • SDO_DAS_ChangeSummary::isLogging - Test to see whether change logging is switched on
    • SDO_DAS_DataFactory::addPropertyToType - Adds a property to a type
    • SDO_DAS_DataFactory::addType - Add a new type to a model
    • SDO_DAS_DataFactory::getDataFactory - Get a data factory instance
    • SDO_DAS_DataObject::getChangeSummary - Get a data object's change summary
    • SDO_DAS_Relational::applyChanges - Applies the changes made to a data graph back to the database.
    • SDO_DAS_Relational::createRootDataObject - Returns the special root object in an otherwise empty data graph. Used when creating a data graph from scratch.
    • SDO_DAS_Relational::executePreparedQuery - Executes an SQL query passed as a prepared statement, with a list of values to substitute for placeholders, and return the results as a normalised data graph.
    • SDO_DAS_Relational::executeQuery - Executes a given SQL query against a relational database and returns the results as a normalised data graph.
    • SDO_DAS_Relational::__construct - Creates an instance of a Relational Data Access Service
    • SDO_DAS_Setting::getListIndex - Get the list index for a changed many-valued property
    • SDO_DAS_Setting::getPropertyIndex - Get the property index for a changed property
    • SDO_DAS_Setting::getPropertyName - Get the property name for a changed property
    • SDO_DAS_Setting::getValue - Get the old value for the changed property
    • SDO_DAS_Setting::isSet - Test whether a property was set prior to being modified
    • SDO_DAS_XML::addTypes - To load a second or subsequent schema file to a SDO_DAS_XML object
    • SDO_DAS_XML::create - To create SDO_DAS_XML object for a given schema file
    • SDO_DAS_XML::createDataObject - Creates SDO_DataObject for a given namespace URI and type name
    • SDO_DAS_XML::createDocument - Creates an XML Document object from scratch, without the need to load a document from a file or string.
    • SDO_DAS_XML::loadFile - Returns SDO_DAS_XML_Document object for a given path to xml instance document
    • SDO_DAS_XML::loadString - Returns SDO_DAS_XML_Document for a given xml instance string
    • SDO_DAS_XML::saveFile - Saves the SDO_DAS_XML_Document object to a file
    • SDO_DAS_XML::saveString - Saves the SDO_DAS_XML_Document object to a string
    • SDO_DAS_XML_Document::getRootDataObject - Returns the root SDO_DataObject
    • SDO_DAS_XML_Document::getRootElementName - Returns root element's name
    • SDO_DAS_XML_Document::getRootElementURI - Returns root element's URI string
    • SDO_DAS_XML_Document::setEncoding - Sets the given string as encoding
    • SDO_DAS_XML_Document::setXMLDeclaration - Sets the xml declaration
    • SDO_DAS_XML_Document::setXMLVersion - Sets the given string as xml version
    • SDO_DataFactory::create - Create an SDO_DataObject
    • SDO_DataObject::clear - Clear an SDO_DataObject's properties
    • SDO_DataObject::createDataObject - Create a child SDO_DataObject
    • SDO_DataObject::getContainer - Get a data object's container
    • SDO_DataObject::getSequence - Get the sequence for a data object
    • SDO_DataObject::getTypeName - Return the name of the type for a data object.
    • SDO_DataObject::getTypeNamespaceURI - Return the namespace URI of the type for a data object.
    • SDO_Exception::getCause - Get the cause of the exception.
    • SDO_List::insert - Insert into a list
    • SDO_Model_Property::getContainingType - Get the SDO_Model_Type which contains this property
    • SDO_Model_Property::getDefault - Get the default value for the property
    • SDO_Model_Property::getName - Get the name of the SDO_Model_Property
    • SDO_Model_Property::getType - Get the SDO_Model_Type of the property
    • SDO_Model_Property::isContainment - Test to see if the property defines a containment relationship
    • SDO_Model_Property::isMany - Test to see if the property is many-valued
    • SDO_Model_ReflectionDataObject::export - Get a string describing the SDO_DataObject.
    • SDO_Model_ReflectionDataObject::getContainmentProperty - Get the property which defines the containment relationship to the data object
    • SDO_Model_ReflectionDataObject::getInstanceProperties - Get the instance properties of the SDO_DataObject
    • SDO_Model_ReflectionDataObject::getType - Get the SDO_Model_Type for the SDO_DataObject
    • SDO_Model_ReflectionDataObject::__construct - Construct an SDO_Model_ReflectionDataObject
    • SDO_Model_Type::getBaseType - Get the base type for this type
    • SDO_Model_Type::getName - Get the name of the type
    • SDO_Model_Type::getNamespaceURI - Get the namespace URI of the type
    • SDO_Model_Type::getProperties - Get the SDO_Model_Property objects defined for the type
    • SDO_Model_Type::getProperty - Get an SDO_Model_Property of the type
    • SDO_Model_Type::isAbstractType - Test to see if this SDO_Model_Type is an abstract data type
    • SDO_Model_Type::isDataType - Test to see if this SDO_Model_Type is a primitive data type
    • SDO_Model_Type::isInstance - Test for an SDO_DataObject being an instance of this SDO_Model_Type
    • SDO_Model_Type::isOpenType - Test to see if this type is an open type
    • SDO_Model_Type::isSequencedType - Test to see if this is a sequenced type
    • SDO_Sequence::getProperty - Return the property for the specified sequence index.
    • SDO_Sequence::insert - Insert into a sequence
    • SDO_Sequence::move - Move an item to another sequence position
    • SeekableIterator::seek - Seeks to a position
    • sem_acquire - Zugriff auf Semaphor anfordern
    • sem_get - Zugriff auf ein Semaphor anfordern
    • sem_release - Semaphor freigeben
    • sem_remove - Semaphor entfernen
    • Serializable::serialize - Stringrepräsentation eines Objekts
    • Serializable::unserialize - Erstellt das Objekt
    • serialize - Erzeugt eine speicherbare Repräsentation eines Wertes.
    • SessionHandler::close - Close the session
    • SessionHandler::create_sid - Return a new session ID
    • SessionHandler::destroy - Destroy a session
    • SessionHandler::gc - Cleanup old sessions
    • SessionHandler::open - Initialize session
    • SessionHandler::read - Read session data
    • SessionHandler::write - Write session data
    • SessionHandlerInterface::close - Close the session
    • SessionHandlerInterface::destroy - Destroy a session
    • SessionHandlerInterface::gc - Cleanup old sessions
    • SessionHandlerInterface::open - Initialize session
    • SessionHandlerInterface::read - Read session data
    • SessionHandlerInterface::write - Write session data
    • session_abort - Discard session array changes and finish session
    • session_cache_expire - Liefert die aktuelle Cache-Verfallszeit
    • session_cache_limiter - Liefert und/oder setzt die aktuelle Cacheverwaltung
    • session_commit - Alias von session_write_close
    • session_create_id - Create new session id
    • session_decode - Dekodiert die Daten einer Session aus einer session-kodierten Zeichenkette
    • session_destroy - Löscht alle in einer Session registrierten Daten
    • session_encode - Kodiert die Daten der aktuellen Session als session-kodierte Zeichenkette
    • session_gc - Perform session data garbage collection
    • session_get_cookie_params - Liefert die Session-Cookie Parameter
    • session_id - Liefert und/oder setzt die aktuelle Session-ID
    • session_is_registered - Überprüft, ob eine globale Variable in einer Session registriert ist
    • session_module_name - Liefert und/oder setzt das aktuelle Session-Modul
    • session_name - Liefert und/oder setzt den Namen der aktuellen Session
    • session_pgsql_add_error - Increments error counts and sets last error message
    • session_pgsql_get_error - Returns number of errors and last error message
    • session_pgsql_get_field - Get custom field value
    • session_pgsql_reset - Reset connection to session database servers
    • session_pgsql_set_field - Set custom field value
    • session_pgsql_status - Get current save handler status
    • session_regenerate_id - Ersetzt die aktuelle Session-ID durch eine neu erzeugte
    • session_register - Registriert eine oder mehrere globale Variablen in der aktuellen Session
    • session_register_shutdown - Funktion zum Schließen von Sitzungen
    • session_reset - Re-initialize session array with original values
    • session_save_path - Liefert und/oder setzt den aktuellen Speicherpfad der Session
    • session_set_cookie_params - Setzt die Session-Cookie-Parameter
    • session_set_save_handler - Setzt benutzerdefinierte Session-Speicherfunktionen
    • session_start - Erzeugt eine neue Session oder setzt eine vorhandene fort
    • session_status - Gibt den Status der aktuellen Sitzung zurück
    • session_unregister - Hebt die Registrierung einer globalen Variablen in der aktuellen Session auf
    • session_unset - Löscht alle Session-Variablen
    • session_write_close - Speichert die Session-Daten und beendet die Session
    • setcookie - Sendet ein Cookie
    • setlocale - Legt regionale (locale) Einstellungen fest
    • setproctitle - Set the process title
    • setrawcookie - Sendet ein Cookie, ohne seinen Wert zu URL-kodieren
    • setthreadtitle - Set the thread title
    • settype - Legt den Typ einer Variablen fest
    • set_error_handler - Bestimmt eine benutzerdefinierte Funktion zur Fehlerbehandlung
    • set_exception_handler - Installiert einen benutzerdefinierten Exceptionhandler
    • set_file_buffer - Alias von stream_set_write_buffer
    • set_include_path - Sets the include_path configuration option
    • set_magic_quotes_runtime - Setzt magic_quotes_runtime
    • set_socket_blocking - Alias von stream_set_blocking
    • set_time_limit - Beschränkt die maximale Ausführungszeit
    • sha1 - Berechnet den SHA1-Hash eines Strings
    • sha1_file - Berechnet den SHA1-Hash einer Datei
    • shell_exec - Führt ein Kommando auf der Shell aus und gibt den kompletten Output als String zurück
    • shmop_close - Schließt einen gemeinsamen Speicherblock
    • shmop_delete - Einen gemeinsamen Speicherblock löschen
    • shmop_open - Erstellt oder öffnet einen gemeinsamen Speicherblock
    • shmop_read - Liest Daten aus einem gemeinsam genutzten Speicherbereich
    • shmop_size - Gibt die Größe des gemeinsamen Speicherblocks zurück
    • shmop_write - Schreibt Daten in einen gemeinsamen Speicherblock
    • shm_attach - Shared Memory Segment anlegen oder anbinden
    • shm_detach - Anbindung an ein Shared Memory-Segment beenden
    • shm_get_var - Liest eine Variable aus dem Shared Memory
    • shm_has_var - Check whether a specific entry exists
    • shm_put_var - Aktualisiert eine Variable im Shared Memory
    • shm_remove - Entfernt ein Shared Memory-Segment unter UNIX
    • shm_remove_var - Entfernt eine Variable aus dem Shared Memory
    • show_source - Alias von highlight_file
    • shuffle - Mischt die Elemente eines Arrays
    • similar_text - Berechnet die Ähnlichkeit zweier Zeichenketten
    • SimpleXMLElement::addAttribute - Fügt einem SimpleXML-Element ein Attribut hinzu
    • SimpleXMLElement::addChild - Fügt dem XML-Knoten ein Kind-Element hinzu
    • SimpleXMLElement::asXML - Gibt einen wohlgeformten XML String zurück, der auf einem SimpleXML-Element basiert
    • SimpleXMLElement::attributes - Identifiziert die Attribute eines Elements
    • SimpleXMLElement::children - Findet Kindelemente des gegebenen Knotens
    • SimpleXMLElement::count - Counts the children of an element
    • SimpleXMLElement::getDocNamespaces - Gibt die im Dokument vorhandenen Namespaces zurück
    • SimpleXMLElement::getName - Ermittelt den Namen eines XML-Elements
    • SimpleXMLElement::getNamespaces - Gibt die im Dokument verwendeten Namespaces zurück
    • SimpleXMLElement::registerXPathNamespace - Erzeugt einen Prefix/Namespace-Kontext für den nächsten XPath-Query
    • SimpleXMLElement::saveXML - Alias von SimpleXMLElement::asXML
    • SimpleXMLElement::xpath - Führt ein XPath Query auf XML-Daten aus
    • SimpleXMLElement::__construct - Erstellt ein neues SimpleXMLElement-Objekt
    • SimpleXMLElement::__toString - Returns the string content
    • SimpleXMLIterator::current - Returns the current element
    • SimpleXMLIterator::getChildren - Returns the sub-elements of the current element
    • SimpleXMLIterator::hasChildren - Checks whether the current element has sub elements.
    • SimpleXMLIterator::key - Return current key
    • SimpleXMLIterator::next - Move to next element
    • SimpleXMLIterator::rewind - Rewind to the first element
    • SimpleXMLIterator::valid - Check whether the current element is valid
    • simplexml_import_dom - Erzeugt ein SimpleXMLElement-Objekt aus einem DOM-Knoten
    • simplexml_load_file - Übersetzt ein XML-File in ein Objekt
    • simplexml_load_string - Übersetzt einen XML-String in ein Objekt
    • sin - Sinus
    • sinh - Sinus Hyperbolikus
    • sizeof - Alias von count
    • sleep - Programmverzögerung
    • snmp2_get - Fetch an SNMP object
    • snmp2_getnext - Fetch the SNMP object which follows the given object id
    • snmp2_real_walk - Return all objects including their respective object ID within the specified one
    • snmp2_set - Set the value of an SNMP object
    • snmp2_walk - Fetch all the SNMP objects from an agent
    • snmp3_get - Fetch an SNMP object
    • snmp3_getnext - Fetch the SNMP object which follows the given object id
    • snmp3_real_walk - Return all objects including their respective object ID within the specified one
    • snmp3_set - Set the value of an SNMP object
    • snmp3_walk - Fetch all the SNMP objects from an agent
    • SNMP::close - Close SNMP session
    • SNMP::get - Fetch an SNMP object
    • SNMP::getErrno - Get last error code
    • SNMP::getError - Get last error message
    • SNMP::getnext - Fetch an SNMP object which follows the given object id
    • SNMP::set - Set the value of an SNMP object
    • SNMP::setSecurity - Configures security-related SNMPv3 session parameters
    • SNMP::walk - Fetch SNMP object subtree
    • SNMP::__construct - Creates SNMP instance representing session to remote SNMP agent
    • snmpget - Ein SNMP Objekt holen
    • snmpgetnext - Fetch the SNMP object which follows the given object id
    • snmprealwalk - Return all objects including their respective object ID within the specified one
    • snmpset - Setzt ein SNMP Objekt
    • snmpwalk - Holt alle SNMP Objekte eines Agenten
    • snmpwalkoid - Abfrage über einen Baum einer Netzwerkeinheit.
    • snmp_get_quick_print - Holt den aktuellen Wert der quick_print Einstellung der UCD Bibliothek
    • snmp_get_valueretrieval - Return the method how the SNMP values will be returned
    • snmp_read_mib - Reads and parses a MIB file into the active MIB tree
    • snmp_set_enum_print - Return all values that are enums with their enum value instead of the raw integer
    • snmp_set_oid_numeric_print - Set the OID output format
    • snmp_set_oid_output_format - Set the OID output format
    • snmp_set_quick_print - Setzt den Wert von quick_print innerhalb der UCD SNMP Bibliothek.
    • snmp_set_valueretrieval - Specify the method how the SNMP values will be returned
    • SoapClient::SoapClient - SoapClient-Konstruktor
    • SoapClient::__call - Ruft eine SOAP-Funktion auf (veraltet)
    • SoapClient::__construct - SoapClient-Konstruktor
    • SoapClient::__doRequest - Führt eine SOAP-Anfrage aus
    • SoapClient::__getFunctions - Gibt eine Liste verfügbarer SOAP-Funktionen zurück
    • SoapClient::__getLastRequest - Gibt die letzte SOAP-Anfrage zurück
    • SoapClient::__getLastRequestHeaders - Gibt die SOAP-Header der letzten Anfrage zurück
    • SoapClient::__getLastResponse - Gibt die letzte SOAP-Antwort zurück
    • SoapClient::__getLastResponseHeaders - Gibt die SOAP-Header der letzten Antwort zurück
    • SoapClient::__getTypes - Gibt eine Liste der SOAP-Typen zurück
    • SoapClient::__setCookie - Beschreibung
    • SoapClient::__setLocation - Bestimmt die Adresse des zu nutzenden Webservices
    • SoapClient::__setSoapHeaders - Setzt SOAP-Header für nachfolgende Aufrufe
    • SoapClient::__soapCall - Ruft eine SOAP-Funktion auf
    • SoapFault::SoapFault - SoapFault constructor
    • SoapFault::__construct - SoapFault-Konstruktor
    • SoapFault::__toString - Obtain a string representation of a SoapFault
    • SoapHeader->__construct() - SoapHeader-Konstruktor
    • SoapHeader::SoapHeader - SoapHeader constructor
    • SoapParam->__construct() - SoapParam-Konstruktor
    • SoapParam::SoapParam - SoapParam constructor
    • SoapServer->addFunction() - Fügt eine oder mehrere Funktionen hinzu, die SOAP-Anfragen bearbeiten sollen
    • SoapServer->getFunctions() - Gibt eine Liste aller definierten Funktionen zurück
    • SoapServer->handle() - Verarbeitet SOAP-Anfragen
    • SoapServer->setClass() - Setzt die Klasse, welche SOAP-Anfragen verarbeitet
    • SoapServer->setPersistence() - Versetzt einen SoapServer in den Persistenz-Modus
    • SoapServer->__construct() - SoapServer-Konstruktor
    • SoapServer::addSoapHeader - Add a SOAP header to the response
    • SoapServer::fault - Erzeugt einen SoapServer-Fehler, der einen Fehlerzustand anzeigt
    • SoapServer::setObject - Sets the object which will be used to handle SOAP requests
    • SoapServer::SoapServer - SoapServer constructor
    • SoapVar::SoapVar - SoapVar-Konstruktor
    • SoapVar::__construct - SoapVar-Konstruktor
    • Socket context options - Socket context option listing
    • socket_accept - Akzeptiert eine Verbindung an einem Socket
    • socket_bind - Verknüpft einen Socket mit einem Namen
    • socket_clear_error - Löscht entweder einen Fehler oder den letzten Fehlercode eines Sockets
    • socket_close - Schließt eine Socket-Verbindung
    • socket_cmsg_space - Calculate message buffer size
    • socket_connect - Baut eine Verbindung über einen Socket auf
    • socket_create - Erzeugt einen Socket (Endpunkt für die Kommunikation)
    • socket_create_listen - Öffnet einen Socket, um Verbindungen über einem gegebenen Port aufzubauen
    • socket_create_pair - Erzeugt ein Paar nicht zu unterscheidender Sockets und speichert sie in einem Array
    • socket_getopt - Alias von socket_get_option
    • socket_getpeername - Fragt das entfernte Ende eines gegebenen Sockets ab. Das Ergebnis ist vom Typ abhängig und ist entweder das Paar host/port oder ein Pfad des Unix-Dateisystems
    • socket_getsockname - Fragt das lokale Ende eines gegebenen Sockets ab. Das Ergebnis ist vom Typ abhängig und ist entweder das Paar host/port oder ein Pfad des Unix-Dateisystems
    • socket_get_option - Holt die Socket-Optionen für einen Socket
    • socket_get_status - Alias von stream_get_meta_data
    • socket_import_stream - Import a stream
    • socket_last_error - Gibt den letzten Fehler zurück, der an einem Socket aufgetreten ist
    • socket_listen - Hört einen Socket nach Verbindungsanforderungen ab
    • socket_read - Liest höchstens die angegebene Anzahl Bytes von einem Socket
    • socket_recv - Empfängt Daten von einem verbundenen Socket
    • socket_recvfrom - Empfängt Daten von einem Socket, egal, ob verbindungsorientiert oder nicht
    • socket_recvmsg - Read a message
    • socket_select - Führt einen select()-Systemaufruf auf den gegebenen Socket-Arrays aus, wobei ein Zeitlimit bestimmt wird
    • socket_send - Sendet Daten an einen verbundenen Socket
    • socket_sendmsg - Send a message
    • socket_sendto - Sendet eine Nachricht an einen Socket, egal ob dieser verbunden ist oder nicht
    • socket_setopt - Alias von socket_set_option
    • socket_set_block - Setzt einen Socket auf den blockieren-Modus
    • socket_set_blocking - Alias von stream_set_blocking
    • socket_set_nonblock - Setzt den nonblocking-Modus für den Datei-Deskriptor fd
    • socket_set_option - Setzt die Optionen für einen Socket
    • socket_set_timeout - Alias von stream_set_timeout
    • socket_shutdown - Schließt einen Socket der zum Senden, Empfangen oder beidem geöffnet wurde
    • socket_strerror - Gibt einen String zurück, der einen socket-Fehler beschreibt
    • socket_write - Schreibt in einen Socket
    • SolrClient::addDocument - Adds a document to the index
    • SolrClient::addDocuments - Adds a collection of SolrInputDocument instances to the index
    • SolrClient::commit - Finalizes all add/deletes made to the index
    • SolrClient::deleteById - Delete by Id
    • SolrClient::deleteByIds - Deletes by Ids
    • SolrClient::deleteByQueries - Removes all documents matching any of the queries
    • SolrClient::deleteByQuery - Deletes all documents matching the given query
    • SolrClient::getById - Get Document By Id. Utilizes Solr Realtime Get (RTG).
    • SolrClient::getByIds - Get Documents by their Ids. Utilizes Solr Realtime Get (RTG).
    • SolrClient::getDebug - Returns the debug data for the last connection attempt
    • SolrClient::getOptions - Returns the client options set internally
    • SolrClient::optimize - Defragments the index
    • SolrClient::ping - Checks if Solr server is still up
    • SolrClient::query - Sends a query to the server
    • SolrClient::request - Sends a raw update request
    • SolrClient::rollback - Rollbacks all add/deletes made to the index since the last commit
    • SolrClient::setResponseWriter - Sets the response writer used to prepare the response from Solr
    • SolrClient::setServlet - Changes the specified servlet type to a new value
    • SolrClient::system - Retrieve Solr Server information
    • SolrClient::threads - Checks the threads status
    • SolrClient::__construct - Constructor for the SolrClient object
    • SolrClient::__destruct - Destructor for SolrClient
    • SolrClientException::getInternalInfo - Returns internal information where the Exception was thrown
    • SolrCollapseFunction::getField - Returns the field that is being collapsed on.
    • SolrCollapseFunction::getHint - Returns collapse hint
    • SolrCollapseFunction::getMax - Returns max parameter
    • SolrCollapseFunction::getMin - Returns min parameter
    • SolrCollapseFunction::getNullPolicy - Returns null policy
    • SolrCollapseFunction::getSize - Returns size parameter
    • SolrCollapseFunction::setField - Sets the field to collapse on
    • SolrCollapseFunction::setHint - Sets collapse hint
    • SolrCollapseFunction::setMax - Selects the group heads by the max value of a numeric field or function query.
    • SolrCollapseFunction::setMin - Sets the initial size of the collapse data structures when collapsing on a numeric field only
    • SolrCollapseFunction::setNullPolicy - Sets the NULL Policy
    • SolrCollapseFunction::setSize - Sets the initial size of the collapse data structures when collapsing on a numeric field only.
    • SolrCollapseFunction::__construct - Constructor
    • SolrCollapseFunction::__toString - Returns a string representing the constructed collapse function
    • SolrDisMaxQuery::addBigramPhraseField - Adds a Phrase Bigram Field (pf2 parameter)
    • SolrDisMaxQuery::addBoostQuery - Adds a boost query field with value and optional boost (bq parameter)
    • SolrDisMaxQuery::addPhraseField - Adds a Phrase Field (pf parameter)
    • SolrDisMaxQuery::addQueryField - Add a query field with optional boost (qf parameter)
    • SolrDisMaxQuery::addTrigramPhraseField - Adds a Trigram Phrase Field (pf3 parameter)
    • SolrDisMaxQuery::addUserField - Adds a field to User Fields Parameter (uf)
    • SolrDisMaxQuery::removeBigramPhraseField - Removes phrase bigram field (pf2 parameter)
    • SolrDisMaxQuery::removeBoostQuery - Removes a boost query partial by field name (bq)
    • SolrDisMaxQuery::removePhraseField - Removes a Phrase Field (pf parameter)
    • SolrDisMaxQuery::removeQueryField - Removes a Query Field (qf parameter)
    • SolrDisMaxQuery::removeTrigramPhraseField - Removes a Trigram Phrase Field (pf3 parameter)
    • SolrDisMaxQuery::removeUserField - Removes a field from The User Fields Parameter (uf)
    • SolrDisMaxQuery::setBigramPhraseFields - Sets Bigram Phrase Fields and their boosts (and slops) using pf2 parameter
    • SolrDisMaxQuery::setBigramPhraseSlop - Sets Bigram Phrase Slop (ps2 parameter)
    • SolrDisMaxQuery::setBoostFunction - Sets a Boost Function (bf parameter).
    • SolrDisMaxQuery::setBoostQuery - Directly Sets Boost Query Parameter (bq)
    • SolrDisMaxQuery::setMinimumMatch - Set Minimum "Should" Match (mm)
    • SolrDisMaxQuery::setPhraseFields - Sets Phrase Fields and their boosts (and slops) using pf2 parameter
    • SolrDisMaxQuery::setPhraseSlop - Sets the default slop on phrase queries (ps parameter)
    • SolrDisMaxQuery::setQueryAlt - Set Query Alternate (q.alt parameter)
    • SolrDisMaxQuery::setQueryPhraseSlop - specifies the amount of slop permitted on phrase queries explicitly included in the user's query string (qf parameter)
    • SolrDisMaxQuery::setTieBreaker - Sets Tie Breaker parameter (tie parameter)
    • SolrDisMaxQuery::setTrigramPhraseFields - Directly Sets Trigram Phrase Fields (pf3 parameter)
    • SolrDisMaxQuery::setTrigramPhraseSlop - Sets Trigram Phrase Slop (ps3 parameter)
    • SolrDisMaxQuery::setUserFields - Sets User Fields parameter (uf)
    • SolrDisMaxQuery::useDisMaxQueryParser - Switch QueryParser to be DisMax Query Parser
    • SolrDisMaxQuery::useEDisMaxQueryParser - Switch QueryParser to be EDisMax
    • SolrDisMaxQuery::__construct - Class Constructor
    • SolrDocument::addField - Adds a field to the document
    • SolrDocument::clear - Drops all the fields in the document
    • SolrDocument::current - Retrieves the current field
    • SolrDocument::deleteField - Removes a field from the document
    • SolrDocument::fieldExists - Checks if a field exists in the document
    • SolrDocument::getChildDocuments - Returns an array of child documents (SolrDocument)
    • SolrDocument::getChildDocumentsCount - Returns the number of child documents
    • SolrDocument::getField - Retrieves a field by name
    • SolrDocument::getFieldCount - Returns the number of fields in this document
    • SolrDocument::getFieldNames - Returns an array of fields names in the document
    • SolrDocument::getInputDocument - Returns a SolrInputDocument equivalent of the object
    • SolrDocument::hasChildDocuments - Checks whether the document has any child documents
    • SolrDocument::key - Retrieves the current key
    • SolrDocument::merge - Merges source to the current SolrDocument
    • SolrDocument::next - Moves the internal pointer to the next field
    • SolrDocument::offsetExists - Checks if a particular field exists
    • SolrDocument::offsetGet - Retrieves a field
    • SolrDocument::offsetSet - Adds a field to the document
    • SolrDocument::offsetUnset - Removes a field
    • SolrDocument::reset - This is an alias to SolrDocument::clear()
    • SolrDocument::rewind - Resets the internal pointer to the beginning
    • SolrDocument::serialize - Used for custom serialization
    • SolrDocument::sort - Sorts the fields in the document
    • SolrDocument::toArray - Returns an array representation of the document
    • SolrDocument::unserialize - Custom serialization of SolrDocument objects
    • SolrDocument::valid - Checks if the current position internally is still valid
    • SolrDocument::__clone - Creates a copy of a SolrDocument object
    • SolrDocument::__construct - Constructor
    • SolrDocument::__destruct - Destructor
    • SolrDocument::__get - Access the field as a property
    • SolrDocument::__isset - Checks if a field exists
    • SolrDocument::__set - Adds another field to the document
    • SolrDocument::__unset - Removes a field from the document
    • SolrDocumentField::__construct - Constructor
    • SolrDocumentField::__destruct - Destructor
    • SolrException::getInternalInfo - Returns internal information where the Exception was thrown
    • SolrGenericResponse::__construct - Constructor
    • SolrGenericResponse::__destruct - Destructor
    • SolrIllegalArgumentException::getInternalInfo - Returns internal information where the Exception was thrown
    • SolrIllegalOperationException::getInternalInfo - Returns internal information where the Exception was thrown
    • SolrInputDocument::addChildDocument - Adds a child document for block indexing
    • SolrInputDocument::addChildDocuments - Adds an array of child documents
    • SolrInputDocument::addField - Adds a field to the document
    • SolrInputDocument::clear - Resets the input document
    • SolrInputDocument::deleteField - Removes a field from the document
    • SolrInputDocument::fieldExists - Checks if a field exists
    • SolrInputDocument::getBoost - Retrieves the current boost value for the document
    • SolrInputDocument::getChildDocuments - Returns an array of child documents (SolrInputDocument)
    • SolrInputDocument::getChildDocumentsCount - Returns the number of child documents
    • SolrInputDocument::getField - Retrieves a field by name
    • SolrInputDocument::getFieldBoost - Retrieves the boost value for a particular field
    • SolrInputDocument::getFieldCount - Returns the number of fields in the document
    • SolrInputDocument::getFieldNames - Returns an array containing all the fields in the document
    • SolrInputDocument::hasChildDocuments - Returns true if the document has any child documents
    • SolrInputDocument::merge - Merges one input document into another
    • SolrInputDocument::reset - This is an alias of SolrInputDocument::clear
    • SolrInputDocument::setBoost - Sets the boost value for this document
    • SolrInputDocument::setFieldBoost - Sets the index-time boost value for a field
    • SolrInputDocument::sort - Sorts the fields within the document
    • SolrInputDocument::toArray - Returns an array representation of the input document
    • SolrInputDocument::__clone - Creates a copy of a SolrDocument
    • SolrInputDocument::__construct - Constructor
    • SolrInputDocument::__destruct - Destructor
    • SolrModifiableParams::__construct - Constructor
    • SolrModifiableParams::__destruct - Destructor
    • SolrObject::getPropertyNames - Returns an array of all the names of the properties
    • SolrObject::offsetExists - Checks if the property exists
    • SolrObject::offsetGet - Used to retrieve a property
    • SolrObject::offsetSet - Sets the value for a property
    • SolrObject::offsetUnset - Unsets the value for the property
    • SolrObject::__construct - Creates Solr object
    • SolrObject::__destruct - Destructor
    • SolrParams::add - This is an alias for SolrParams::addParam
    • SolrParams::addParam - Adds a parameter to the object
    • SolrParams::get - This is an alias for SolrParams::getParam
    • SolrParams::getParam - Returns a parameter value
    • SolrParams::getParams - Returns an array of non URL-encoded parameters
    • SolrParams::getPreparedParams - Returns an array of URL-encoded parameters
    • SolrParams::serialize - Used for custom serialization
    • SolrParams::set - An alias of SolrParams::setParam
    • SolrParams::setParam - Sets the parameter to the specified value
    • SolrParams::toString - Returns all the name-value pair parameters in the object
    • SolrParams::unserialize - Used for custom serialization
    • SolrPingResponse::getResponse - Returns the response from the server
    • SolrPingResponse::__construct - Constructor
    • SolrPingResponse::__destruct - Destructor
    • SolrQuery::addExpandFilterQuery - Overrides main filter query, determines which documents to include in the main group.
    • SolrQuery::addExpandSortField - Orders the documents within the expanded groups (expand.sort parameter).
    • SolrQuery::addFacetDateField - Maps to facet.date
    • SolrQuery::addFacetDateOther - Adds another facet.date.other parameter
    • SolrQuery::addFacetField - Adds another field to the facet
    • SolrQuery::addFacetQuery - Adds a facet query
    • SolrQuery::addField - Specifies which fields to return in the result
    • SolrQuery::addFilterQuery - Specifies a filter query
    • SolrQuery::addGroupField - Add a field to be used to group results.
    • SolrQuery::addGroupFunction - Allows grouping results based on the unique values of a function query (group.func parameter).
    • SolrQuery::addGroupQuery - Allows grouping of documents that match the given query.
    • SolrQuery::addGroupSortField - Add a group sort field (group.sort parameter).
    • SolrQuery::addHighlightField - Maps to hl.fl
    • SolrQuery::addMltField - Sets a field to use for similarity
    • SolrQuery::addMltQueryField - Maps to mlt.qf
    • SolrQuery::addSortField - Used to control how the results should be sorted
    • SolrQuery::addStatsFacet - Requests a return of sub results for values within the given facet
    • SolrQuery::addStatsField - Maps to stats.field parameter
    • SolrQuery::collapse - Collapses the result set to a single document per group
    • SolrQuery::getExpand - Returns true if group expanding is enabled
    • SolrQuery::getExpandFilterQueries - Returns the expand filter queries
    • SolrQuery::getExpandQuery - Returns the expand query expand.q parameter
    • SolrQuery::getExpandRows - Returns The number of rows to display in each group (expand.rows)
    • SolrQuery::getExpandSortFields - Returns an array of fields
    • SolrQuery::getFacet - Returns the value of the facet parameter
    • SolrQuery::getFacetDateEnd - Returns the value for the facet.date.end parameter
    • SolrQuery::getFacetDateFields - Returns all the facet.date fields
    • SolrQuery::getFacetDateGap - Returns the value of the facet.date.gap parameter
    • SolrQuery::getFacetDateHardEnd - Returns the value of the facet.date.hardend parameter
    • SolrQuery::getFacetDateOther - Returns the value for the facet.date.other parameter
    • SolrQuery::getFacetDateStart - Returns the lower bound for the first date range for all date faceting on this field
    • SolrQuery::getFacetFields - Returns all the facet fields
    • SolrQuery::getFacetLimit - Returns the maximum number of constraint counts that should be returned for the facet fields
    • SolrQuery::getFacetMethod - Returns the value of the facet.method parameter
    • SolrQuery::getFacetMinCount - Returns the minimum counts for facet fields should be included in the response
    • SolrQuery::getFacetMissing - Returns the current state of the facet.missing parameter
    • SolrQuery::getFacetOffset - Returns an offset into the list of constraints to be used for pagination
    • SolrQuery::getFacetPrefix - Returns the facet prefix
    • SolrQuery::getFacetQueries - Returns all the facet queries
    • SolrQuery::getFacetSort - Returns the facet sort type
    • SolrQuery::getFields - Returns the list of fields that will be returned in the response
    • SolrQuery::getFilterQueries - Returns an array of filter queries
    • SolrQuery::getGroup - Returns true if grouping is enabled
    • SolrQuery::getGroupCachePercent - Returns group cache percent value
    • SolrQuery::getGroupFacet - Returns the group.facet parameter value
    • SolrQuery::getGroupFields - Returns group fields (group.field parameter values)
    • SolrQuery::getGroupFormat - Returns the group.format value
    • SolrQuery::getGroupFunctions - Returns group functions (group.func parameter values)
    • SolrQuery::getGroupLimit - Returns the group.limit value
    • SolrQuery::getGroupMain - Returns the group.main value
    • SolrQuery::getGroupNGroups - Returns the group.ngroups value
    • SolrQuery::getGroupOffset - Returns the group.offset value
    • SolrQuery::getGroupQueries - Returns all the group.query parameter values
    • SolrQuery::getGroupSortFields - Returns the group.sort value
    • SolrQuery::getGroupTruncate - Returns the group.truncate value
    • SolrQuery::getHighlight - Returns the state of the hl parameter
    • SolrQuery::getHighlightAlternateField - Returns the highlight field to use as backup or default
    • SolrQuery::getHighlightFields - Returns all the fields that Solr should generate highlighted snippets for
    • SolrQuery::getHighlightFormatter - Returns the formatter for the highlighted output
    • SolrQuery::getHighlightFragmenter - Returns the text snippet generator for highlighted text
    • SolrQuery::getHighlightFragsize - Returns the number of characters of fragments to consider for highlighting
    • SolrQuery::getHighlightHighlightMultiTerm - Returns whether or not to enable highlighting for range/wildcard/fuzzy/prefix queries
    • SolrQuery::getHighlightMaxAlternateFieldLength - Returns the maximum number of characters of the field to return
    • SolrQuery::getHighlightMaxAnalyzedChars - Returns the maximum number of characters into a document to look for suitable snippets
    • SolrQuery::getHighlightMergeContiguous - Returns whether or not the collapse contiguous fragments into a single fragment
    • SolrQuery::getHighlightRegexMaxAnalyzedChars - Returns the maximum number of characters from a field when using the regex fragmenter
    • SolrQuery::getHighlightRegexPattern - Returns the regular expression for fragmenting
    • SolrQuery::getHighlightRegexSlop - Returns the deviation factor from the ideal fragment size
    • SolrQuery::getHighlightRequireFieldMatch - Returns if a field will only be highlighted if the query matched in this particular field
    • SolrQuery::getHighlightSimplePost - Returns the text which appears after a highlighted term
    • SolrQuery::getHighlightSimplePre - Returns the text which appears before a highlighted term
    • SolrQuery::getHighlightSnippets - Returns the maximum number of highlighted snippets to generate per field
    • SolrQuery::getHighlightUsePhraseHighlighter - Returns the state of the hl.usePhraseHighlighter parameter
    • SolrQuery::getMlt - Returns whether or not MoreLikeThis results should be enabled
    • SolrQuery::getMltBoost - Returns whether or not the query will be boosted by the interesting term relevance
    • SolrQuery::getMltCount - Returns the number of similar documents to return for each result
    • SolrQuery::getMltFields - Returns all the fields to use for similarity
    • SolrQuery::getMltMaxNumQueryTerms - Returns the maximum number of query terms that will be included in any generated query
    • SolrQuery::getMltMaxNumTokens - Returns the maximum number of tokens to parse in each document field that is not stored with TermVector support
    • SolrQuery::getMltMaxWordLength - Returns the maximum word length above which words will be ignored
    • SolrQuery::getMltMinDocFrequency - Returns the treshold frequency at which words will be ignored which do not occur in at least this many docs
    • SolrQuery::getMltMinTermFrequency - Returns the frequency below which terms will be ignored in the source document
    • SolrQuery::getMltMinWordLength - Returns the minimum word length below which words will be ignored
    • SolrQuery::getMltQueryFields - Returns the query fields and their boosts
    • SolrQuery::getQuery - Returns the main query
    • SolrQuery::getRows - Returns the maximum number of documents
    • SolrQuery::getSortFields - Returns all the sort fields
    • SolrQuery::getStart - Returns the offset in the complete result set
    • SolrQuery::getStats - Returns whether or not stats is enabled
    • SolrQuery::getStatsFacets - Returns all the stats facets that were set
    • SolrQuery::getStatsFields - Returns all the statistics fields
    • SolrQuery::getTerms - Returns whether or not the TermsComponent is enabled
    • SolrQuery::getTermsField - Returns the field from which the terms are retrieved
    • SolrQuery::getTermsIncludeLowerBound - Returns whether or not to include the lower bound in the result set
    • SolrQuery::getTermsIncludeUpperBound - Returns whether or not to include the upper bound term in the result set
    • SolrQuery::getTermsLimit - Returns the maximum number of terms Solr should return
    • SolrQuery::getTermsLowerBound - Returns the term to start at
    • SolrQuery::getTermsMaxCount - Returns the maximum document frequency
    • SolrQuery::getTermsMinCount - Returns the minimum document frequency to return in order to be included
    • SolrQuery::getTermsPrefix - Returns the term prefix
    • SolrQuery::getTermsReturnRaw - Whether or not to return raw characters
    • SolrQuery::getTermsSort - Returns an integer indicating how terms are sorted
    • SolrQuery::getTermsUpperBound - Returns the term to stop at
    • SolrQuery::getTimeAllowed - Returns the time in milliseconds allowed for the query to finish
    • SolrQuery::removeExpandFilterQuery - Removes an expand filter query
    • SolrQuery::removeExpandSortField - Removes an expand sort field from the expand.sort parameter.
    • SolrQuery::removeFacetDateField - Removes one of the facet date fields
    • SolrQuery::removeFacetDateOther - Removes one of the facet.date.other parameters
    • SolrQuery::removeFacetField - Removes one of the facet.date parameters
    • SolrQuery::removeFacetQuery - Removes one of the facet.query parameters
    • SolrQuery::removeField - Removes a field from the list of fields
    • SolrQuery::removeFilterQuery - Removes a filter query
    • SolrQuery::removeHighlightField - Removes one of the fields used for highlighting
    • SolrQuery::removeMltField - Removes one of the moreLikeThis fields
    • SolrQuery::removeMltQueryField - Removes one of the moreLikeThis query fields
    • SolrQuery::removeSortField - Removes one of the sort fields
    • SolrQuery::removeStatsFacet - Removes one of the stats.facet parameters
    • SolrQuery::removeStatsField - Removes one of the stats.field parameters
    • SolrQuery::setEchoHandler - Toggles the echoHandler parameter
    • SolrQuery::setEchoParams - Determines what kind of parameters to include in the response
    • SolrQuery::setExpand - Enables/Disables the Expand Component
    • SolrQuery::setExpandQuery - Sets the expand.q parameter
    • SolrQuery::setExpandRows - Sets the number of rows to display in each group (expand.rows). Server Default 5
    • SolrQuery::setExplainOther - Sets the explainOther common query parameter
    • SolrQuery::setFacet - Maps to the facet parameter. Enables or disables facetting
    • SolrQuery::setFacetDateEnd - Maps to facet.date.end
    • SolrQuery::setFacetDateGap - Maps to facet.date.gap
    • SolrQuery::setFacetDateHardEnd - Maps to facet.date.hardend
    • SolrQuery::setFacetDateStart - Maps to facet.date.start
    • SolrQuery::setFacetEnumCacheMinDefaultFrequency - Sets the minimum document frequency used for determining term count
    • SolrQuery::setFacetLimit - Maps to facet.limit
    • SolrQuery::setFacetMethod - Specifies the type of algorithm to use when faceting a field
    • SolrQuery::setFacetMinCount - Maps to facet.mincount
    • SolrQuery::setFacetMissing - Maps to facet.missing
    • SolrQuery::setFacetOffset - Sets the offset into the list of constraints to allow for pagination
    • SolrQuery::setFacetPrefix - Specifies a string prefix with which to limits the terms on which to facet
    • SolrQuery::setFacetSort - Determines the ordering of the facet field constraints
    • SolrQuery::setGroup - Enable/Disable result grouping (group parameter)
    • SolrQuery::setGroupCachePercent - Enables caching for result grouping
    • SolrQuery::setGroupFacet - Sets group.facet parameter
    • SolrQuery::setGroupFormat - Sets the group format, result structure (group.format parameter).
    • SolrQuery::setGroupLimit - Specifies the number of results to return for each group. The server default value is 1.
    • SolrQuery::setGroupMain - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple.
    • SolrQuery::setGroupNGroups - If true, Solr includes the number of groups that have matched the query in the results.
    • SolrQuery::setGroupOffset - Sets the group.offset parameter.
    • SolrQuery::setGroupTruncate - If true, facet counts are based on the most relevant document of each group matching the query.
    • SolrQuery::setHighlight - Enables or disables highlighting
    • SolrQuery::setHighlightAlternateField - Specifies the backup field to use
    • SolrQuery::setHighlightFormatter - Specify a formatter for the highlight output
    • SolrQuery::setHighlightFragmenter - Sets a text snippet generator for highlighted text
    • SolrQuery::setHighlightFragsize - The size of fragments to consider for highlighting
    • SolrQuery::setHighlightHighlightMultiTerm - Use SpanScorer to highlight phrase terms
    • SolrQuery::setHighlightMaxAlternateFieldLength - Sets the maximum number of characters of the field to return
    • SolrQuery::setHighlightMaxAnalyzedChars - Specifies the number of characters into a document to look for suitable snippets
    • SolrQuery::setHighlightMergeContiguous - Whether or not to collapse contiguous fragments into a single fragment
    • SolrQuery::setHighlightRegexMaxAnalyzedChars - Specify the maximum number of characters to analyze
    • SolrQuery::setHighlightRegexPattern - Specify the regular expression for fragmenting
    • SolrQuery::setHighlightRegexSlop - Sets the factor by which the regex fragmenter can stray from the ideal fragment size
    • SolrQuery::setHighlightRequireFieldMatch - Require field matching during highlighting
    • SolrQuery::setHighlightSimplePost - Sets the text which appears after a highlighted term
    • SolrQuery::setHighlightSimplePre - Sets the text which appears before a highlighted term
    • SolrQuery::setHighlightSnippets - Sets the maximum number of highlighted snippets to generate per field
    • SolrQuery::setHighlightUsePhraseHighlighter - Whether to highlight phrase terms only when they appear within the query phrase
    • SolrQuery::setMlt - Enables or disables moreLikeThis
    • SolrQuery::setMltBoost - Set if the query will be boosted by the interesting term relevance
    • SolrQuery::setMltCount - Set the number of similar documents to return for each result
    • SolrQuery::setMltMaxNumQueryTerms - Sets the maximum number of query terms included
    • SolrQuery::setMltMaxNumTokens - Specifies the maximum number of tokens to parse
    • SolrQuery::setMltMaxWordLength - Sets the maximum word length
    • SolrQuery::setMltMinDocFrequency - Sets the mltMinDoc frequency
    • SolrQuery::setMltMinTermFrequency - Sets the frequency below which terms will be ignored in the source docs
    • SolrQuery::setMltMinWordLength - Sets the minimum word length
    • SolrQuery::setOmitHeader - Exclude the header from the returned results
    • SolrQuery::setQuery - Sets the search query
    • SolrQuery::setRows - Specifies the maximum number of rows to return in the result
    • SolrQuery::setShowDebugInfo - Flag to show debug information
    • SolrQuery::setStart - Specifies the number of rows to skip
    • SolrQuery::setStats - Enables or disables the Stats component
    • SolrQuery::setTerms - Enables or disables the TermsComponent
    • SolrQuery::setTermsField - Sets the name of the field to get the Terms from
    • SolrQuery::setTermsIncludeLowerBound - Include the lower bound term in the result set
    • SolrQuery::setTermsIncludeUpperBound - Include the upper bound term in the result set
    • SolrQuery::setTermsLimit - Sets the maximum number of terms to return
    • SolrQuery::setTermsLowerBound - Specifies the Term to start from
    • SolrQuery::setTermsMaxCount - Sets the maximum document frequency
    • SolrQuery::setTermsMinCount - Sets the minimum document frequency
    • SolrQuery::setTermsPrefix - Restrict matches to terms that start with the prefix
    • SolrQuery::setTermsReturnRaw - Return the raw characters of the indexed term
    • SolrQuery::setTermsSort - Specifies how to sort the returned terms
    • SolrQuery::setTermsUpperBound - Sets the term to stop at
    • SolrQuery::setTimeAllowed - The time allowed for search to finish
    • SolrQuery::__construct - Constructor
    • SolrQuery::__destruct - Destructor
    • SolrQueryResponse::__construct - Constructor
    • SolrQueryResponse::__destruct - Destructor
    • SolrResponse::getDigestedResponse - Returns the XML response as serialized PHP data
    • SolrResponse::getHttpStatus - Returns the HTTP status of the response
    • SolrResponse::getHttpStatusMessage - Returns more details on the HTTP status
    • SolrResponse::getRawRequest - Returns the raw request sent to the Solr server
    • SolrResponse::getRawRequestHeaders - Returns the raw request headers sent to the Solr server
    • SolrResponse::getRawResponse - Returns the raw response from the server
    • SolrResponse::getRawResponseHeaders - Returns the raw response headers from the server
    • SolrResponse::getRequestUrl - Returns the full URL the request was sent to
    • SolrResponse::getResponse - Returns a SolrObject representing the XML response from the server
    • SolrResponse::setParseMode - Sets the parse mode
    • SolrResponse::success - Was the request a success
    • SolrServerException::getInternalInfo - Returns internal information where the Exception was thrown
    • SolrUpdateResponse::__construct - Constructor
    • SolrUpdateResponse::__destruct - Destructor
    • SolrUtils::digestXmlResponse - Parses an response XML string into a SolrObject
    • SolrUtils::escapeQueryChars - Escapes a lucene query string
    • SolrUtils::getSolrVersion - Returns the current version of the Solr extension
    • SolrUtils::queryPhrase - Prepares a phrase from an unescaped lucene string
    • solr_get_version - Returns the current version of the Apache Solr extension
    • sort - Sortiert ein Array
    • soundex - Berechnet die Laut-Ähnlichkeit eines Strings
    • SphinxClient::addQuery - Add query to multi-query batch
    • SphinxClient::buildExcerpts - Build text snippets
    • SphinxClient::buildKeywords - Extract keywords from query
    • SphinxClient::close - Closes previously opened persistent connection
    • SphinxClient::escapeString - Escape special characters
    • SphinxClient::getLastError - Get the last error message
    • SphinxClient::getLastWarning - Get the last warning
    • SphinxClient::open - Opens persistent connection to the server
    • SphinxClient::query - Execute search query
    • SphinxClient::resetFilters - Clear all filters
    • SphinxClient::resetGroupBy - Clear all group-by settings
    • SphinxClient::runQueries - Run a batch of search queries
    • SphinxClient::setArrayResult - Change the format of result set array
    • SphinxClient::setConnectTimeout - Set connection timeout
    • SphinxClient::setFieldWeights - Set field weights
    • SphinxClient::setFilter - Add new integer values set filter
    • SphinxClient::setFilterFloatRange - Add new float range filter
    • SphinxClient::setFilterRange - Add new integer range filter
    • SphinxClient::setGeoAnchor - Set anchor point for a geosphere distance calculations
    • SphinxClient::setGroupBy - Set grouping attribute
    • SphinxClient::setGroupDistinct - Set attribute name for per-group distinct values count calculations
    • SphinxClient::setIDRange - Set a range of accepted document IDs
    • SphinxClient::setIndexWeights - Set per-index weights
    • SphinxClient::setLimits - Set offset and limit of the result set
    • SphinxClient::setMatchMode - Set full-text query matching mode
    • SphinxClient::setMaxQueryTime - Set maximum query time
    • SphinxClient::setOverride - Sets temporary per-document attribute value overrides
    • SphinxClient::setRankingMode - Set ranking mode
    • SphinxClient::setRetries - Set retry count and delay
    • SphinxClient::setSelect - Set select clause
    • SphinxClient::setServer - Set searchd host and port
    • SphinxClient::setSortMode - Set matches sorting mode
    • SphinxClient::status - Queries searchd status
    • SphinxClient::updateAttributes - Update document attributes
    • SphinxClient::__construct - Create a new SphinxClient object
    • SplDoublyLinkedList::add - Add/insert a new value at the specified index
    • SplDoublyLinkedList::bottom - Peeks at the node from the beginning of the doubly linked list
    • SplDoublyLinkedList::count - Counts the number of elements in the doubly linked list.
    • SplDoublyLinkedList::current - Return current array entry
    • SplDoublyLinkedList::getIteratorMode - Returns the mode of iteration
    • SplDoublyLinkedList::isEmpty - Checks whether the doubly linked list is empty.
    • SplDoublyLinkedList::key - Return current node index
    • SplDoublyLinkedList::next - Move to next entry
    • SplDoublyLinkedList::offsetExists - Returns whether the requested $index exists
    • SplDoublyLinkedList::offsetGet - Returns the value at the specified $index
    • SplDoublyLinkedList::offsetSet - Sets the value at the specified $index to $newval
    • SplDoublyLinkedList::offsetUnset - Unsets the value at the specified $index
    • SplDoublyLinkedList::pop - Pops a node from the end of the doubly linked list
    • SplDoublyLinkedList::prev - Move to previous entry
    • SplDoublyLinkedList::push - Pushes an element at the end of the doubly linked list
    • SplDoublyLinkedList::rewind - Rewind iterator back to the start
    • SplDoublyLinkedList::serialize - Serializes the storage
    • SplDoublyLinkedList::setIteratorMode - Sets the mode of iteration
    • SplDoublyLinkedList::shift - Shifts a node from the beginning of the doubly linked list
    • SplDoublyLinkedList::top - Peeks at the node from the end of the doubly linked list
    • SplDoublyLinkedList::unserialize - Unserializes the storage
    • SplDoublyLinkedList::unshift - Prepends the doubly linked list with an element
    • SplDoublyLinkedList::valid - Check whether the doubly linked list contains more nodes
    • SplDoublyLinkedList::__construct - Constructs a new doubly linked list
    • SplEnum::getConstList - Returns all consts (possible values) as an array.
    • SplFileInfo::getATime - Gets last access time of the file
    • SplFileInfo::getBasename - Gets the base name of the file
    • SplFileInfo::getCTime - Gets the inode change time
    • SplFileInfo::getExtension - Gets the file extension
    • SplFileInfo::getFileInfo - Gets an SplFileInfo object for the file
    • SplFileInfo::getFilename - Gets the filename
    • SplFileInfo::getGroup - Gets the file group
    • SplFileInfo::getInode - Gets the inode for the file
    • SplFileInfo::getLinkTarget - Gets the target of a link
    • SplFileInfo::getMTime - Gets the last modified time
    • SplFileInfo::getOwner - Gets the owner of the file
    • SplFileInfo::getPath - Gets the path without filename
    • SplFileInfo::getPathInfo - Gets an SplFileInfo object for the path
    • SplFileInfo::getPathname - Gets the path to the file
    • SplFileInfo::getPerms - Gets file permissions
    • SplFileInfo::getRealPath - Gets absolute path to file
    • SplFileInfo::getSize - Gets file size
    • SplFileInfo::getType - Gets file type
    • SplFileInfo::isDir - Tells if the file is a directory
    • SplFileInfo::isExecutable - Tells if the file is executable
    • SplFileInfo::isFile - Tells if the object references a regular file
    • SplFileInfo::isLink - Tells if the file is a link
    • SplFileInfo::isReadable - Tells if file is readable
    • SplFileInfo::isWritable - Tells if the entry is writable
    • SplFileInfo::openFile - Gets an SplFileObject object for the file
    • SplFileInfo::setFileClass - Sets the class used with SplFileInfo::openFile
    • SplFileInfo::setInfoClass - Sets the class used with SplFileInfo::getFileInfo and SplFileInfo::getPathInfo
    • SplFileInfo::__construct - Construct a new SplFileInfo object
    • SplFileInfo::__toString - Returns the path to the file as a string
    • SplFileObject::current - Retrieve current line of file
    • SplFileObject::eof - Reached end of file
    • SplFileObject::fflush - Flushes the output to the file
    • SplFileObject::fgetc - Gets character from file
    • SplFileObject::fgetcsv - Gets line from file and parse as CSV fields
    • SplFileObject::fgets - Gets line from file
    • SplFileObject::fgetss - Gets line from file and strip HTML tags
    • SplFileObject::flock - Portable file locking
    • SplFileObject::fpassthru - Output all remaining data on a file pointer
    • SplFileObject::fputcsv - Write a field array as a CSV line
    • SplFileObject::fread - Read from file
    • SplFileObject::fscanf - Parses input from file according to a format
    • SplFileObject::fseek - Seek to a position
    • SplFileObject::fstat - Gets information about the file
    • SplFileObject::ftell - Return current file position
    • SplFileObject::ftruncate - Truncates the file to a given length
    • SplFileObject::fwrite - Write to file
    • SplFileObject::getChildren - No purpose
    • SplFileObject::getCsvControl - Get the delimiter, enclosure and escape character for CSV
    • SplFileObject::getCurrentLine - Alias of SplFileObject::fgets
    • SplFileObject::getFlags - Gets flags for the SplFileObject
    • SplFileObject::getMaxLineLen - Get maximum line length
    • SplFileObject::hasChildren - SplFileObject does not have children
    • SplFileObject::key - Get line number
    • SplFileObject::next - Read next line
    • SplFileObject::rewind - Rewind the file to the first line
    • SplFileObject::seek - Seek to specified line
    • SplFileObject::setCsvControl - Set the delimiter, enclosure and escape character for CSV
    • SplFileObject::setFlags - Sets flags for the SplFileObject
    • SplFileObject::setMaxLineLen - Set maximum line length
    • SplFileObject::valid - Not at EOF
    • SplFileObject::__construct - Construct a new file object.
    • SplFileObject::__toString - Alias of SplFileObject::current
    • SplFixedArray::count - Returns the size of the array
    • SplFixedArray::current - Return current array entry
    • SplFixedArray::fromArray - Import a PHP array in a SplFixedArray instance
    • SplFixedArray::getSize - Gets the size of the array
    • SplFixedArray::key - Return current array index
    • SplFixedArray::next - Move to next entry
    • SplFixedArray::offsetExists - Returns whether the requested index exists
    • SplFixedArray::offsetGet - Returns the value at the specified index
    • SplFixedArray::offsetSet - Sets a new value at a specified index
    • SplFixedArray::offsetUnset - Unsets the value at the specified $index
    • SplFixedArray::rewind - Rewind iterator back to the start
    • SplFixedArray::setSize - Change the size of an array
    • SplFixedArray::toArray - Returns a PHP array from the fixed array
    • SplFixedArray::valid - Check whether the array contains more elements
    • SplFixedArray::__construct - Constructs a new fixed array
    • SplFixedArray::__wakeup - Reinitialises the array after being unserialised
    • SplHeap::compare - Compare elements in order to place them correctly in the heap while sifting up.
    • SplHeap::count - Counts the number of elements in the heap.
    • SplHeap::current - Return current node pointed by the iterator
    • SplHeap::extract - Extracts a node from top of the heap and sift up.
    • SplHeap::insert - Inserts an element in the heap by sifting it up.
    • SplHeap::isEmpty - Checks whether the heap is empty.
    • SplHeap::key - Return current node index
    • SplHeap::next - Move to the next node
    • SplHeap::recoverFromCorruption - Recover from the corrupted state and allow further actions on the heap.
    • SplHeap::rewind - Rewind iterator back to the start (no-op)
    • SplHeap::top - Peeks at the node from the top of the heap
    • SplHeap::valid - Check whether the heap contains more nodes
    • SplHeap::__construct - Constructs a new empty heap
    • split - Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks in ein Array
    • spliti - Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks ohne Berücksichtigung von Groß-/Kleinschreibung in ein Array
    • SplMaxHeap::compare - Compare elements in order to place them correctly in the heap while sifting up.
    • SplMinHeap::compare - Compare elements in order to place them correctly in the heap while sifting up.
    • SplObjectStorage::addAll - Adds all objects from another storage
    • SplObjectStorage::attach - Adds an object in the storage
    • SplObjectStorage::contains - Checks if the storage contains a specific object
    • SplObjectStorage::count - Returns the number of objects in the storage
    • SplObjectStorage::current - Returns the current storage entry
    • SplObjectStorage::detach - Removes an object from the storage
    • SplObjectStorage::getHash - Calculate a unique identifier for the contained objects
    • SplObjectStorage::getInfo - Returns the data associated with the current iterator entry
    • SplObjectStorage::key - Returns the index at which the iterator currently is
    • SplObjectStorage::next - Move to the next entry
    • SplObjectStorage::offsetExists - Checks whether an object exists in the storage
    • SplObjectStorage::offsetGet - Returns the data associated with an object
    • SplObjectStorage::offsetSet - Associates data to an object in the storage
    • SplObjectStorage::offsetUnset - Removes an object from the storage
    • SplObjectStorage::removeAll - Removes objects contained in another storage from the current storage
    • SplObjectStorage::removeAllExcept - Removes all objects except for those contained in another storage from the current storage
    • SplObjectStorage::rewind - Rewind the iterator to the first storage element
    • SplObjectStorage::serialize - Serializes the storage
    • SplObjectStorage::setInfo - Sets the data associated with the current iterator entry
    • SplObjectStorage::unserialize - Unserializes a storage from its string representation
    • SplObjectStorage::valid - Returns if the current iterator entry is valid
    • SplObserver::update - Receive update from subject
    • SplPriorityQueue::compare - Compare priorities in order to place elements correctly in the heap while sifting up.
    • SplPriorityQueue::count - Counts the number of elements in the queue.
    • SplPriorityQueue::current - Return current node pointed by the iterator
    • SplPriorityQueue::extract - Extracts a node from top of the heap and shift up.
    • SplPriorityQueue::insert - Inserts an element in the queue by sifting it up.
    • SplPriorityQueue::isEmpty - Checks whether the queue is empty.
    • SplPriorityQueue::key - Return current node index
    • SplPriorityQueue::next - Move to the next node
    • SplPriorityQueue::recoverFromCorruption - Recover from the corrupted state and allow further actions on the queue.
    • SplPriorityQueue::rewind - Rewind iterator back to the start (no-op)
    • SplPriorityQueue::setExtractFlags - Sets the mode of extraction
    • SplPriorityQueue::top - Peeks at the node from the top of the queue
    • SplPriorityQueue::valid - Check whether the queue contains more nodes
    • SplPriorityQueue::__construct - Constructs a new empty queue
    • SplQueue::dequeue - Dequeues a node from the queue
    • SplQueue::enqueue - Adds an element to the queue.
    • SplQueue::setIteratorMode - Sets the mode of iteration
    • SplQueue::__construct - Constructs a new queue implemented using a doubly linked list
    • SplStack::setIteratorMode - Sets the mode of iteration
    • SplStack::__construct - Constructs a new stack implemented using a doubly linked list
    • SplSubject::attach - Attach an SplObserver
    • SplSubject::detach - Detach an observer
    • SplSubject::notify - Notify an observer
    • SplTempFileObject::__construct - Construct a new temporary file object
    • SplType::__construct - Creates a new value of some type
    • spl_autoload - Default implementation for __autoload()
    • spl_autoload_call - Try all registered __autoload() function to load the requested class
    • spl_autoload_extensions - Registriert und gibt die voreingestellten Dateiendungen für spl_autoload zurück
    • spl_autoload_functions - Liefert alle registrierten __autoload() Funktionen
    • spl_autoload_register - Register given function as __autoload() implementation
    • spl_autoload_unregister - Unregister given function as __autoload() implementation
    • spl_classes - Return available SPL classes
    • spl_object_hash - Return hash id for given object
    • Spoofchecker::areConfusable - Checks if given strings can be confused
    • Spoofchecker::isSuspicious - Checks if a given text contains any suspicious characters
    • Spoofchecker::setAllowedLocales - Locales to use when running checks
    • Spoofchecker::setChecks - Set the checks to run
    • Spoofchecker::__construct - Constructor
    • sprintf - Gibt einen formatierten String zurück
    • SQL acceptable by 4D - PDO and SQL 4D
    • SQLite3::busyTimeout - Sets the busy connection handler
    • SQLite3::changes - Gibt die Anzahl der Datenbankreihen zurück, die durch die letzte SQL-Anfrage verändert, gelöscht oder hinzugefügt wurden.
    • SQLite3::close - Beendet eine Datenbankverbindung
    • SQLite3::createAggregate - Registriert eine PHP-Funktion zum Gebrauch als SQL-Aggregat-Funktion
    • SQLite3::createCollation - Registers a PHP function for use as an SQL collating function
    • SQLite3::createFunction - Registriert eine PHP-Funktion, die als SQL-Skalar-Funktion genutzt werden kann
    • SQLite3::enableExceptions - Enable throwing exceptions
    • SQLite3::escapeString - Gibt eine passend maskierte Zeichenkette zurück
    • SQLite3::exec - Führt eine ergebnislose Anfrage gegen den Datenbank-Server aus
    • SQLite3::lastErrorCode - Gibt den numerischen Ergebniscode der letzten fehlgeschlagenen SQLite-Anweisung zurück
    • SQLite3::lastErrorMsg - Gibt einen englischen Text zurück, der die letzten fehlgeschlagenen SQLite-Anfrage beschreibt.
    • SQLite3::lastInsertRowID - Gibt die Datensatz-Id des zuletzt getätigten INSERT in die Datenbank zurück
    • SQLite3::loadExtension - Attempts to load an SQLite extension library
    • SQLite3::open - Öffnet eine SQlite Datenbank
    • SQLite3::openBlob - Opens a stream resource to read a BLOB
    • SQLite3::prepare - Bereitet eine SQL-Anweisung für die Ausführung vor
    • SQLite3::query - Führt eine SQL-Anfrage aus
    • SQLite3::querySingle - Executes a query and returns a single result
    • SQLite3::version - Returns the SQLite3 library version as a string constant and as a number
    • SQLite3::__construct - Instantiiert ein SQLite3 Objekt und öffnet eine SQLite3 Datenbank
    • SQLite3Result::columnName - Returns the name of the nth column
    • SQLite3Result::columnType - Returns the type of the nth column
    • SQLite3Result::fetchArray - Fetches a result row as an associative or numerically indexed array or both
    • SQLite3Result::finalize - Closes the result set
    • SQLite3Result::numColumns - Returns the number of columns in the result set
    • SQLite3Result::reset - Resets the result set back to the first row
    • SQLite3Stmt::bindParam - Binds a parameter to a statement variable
    • SQLite3Stmt::bindValue - Binds the value of a parameter to a statement variable
    • SQLite3Stmt::clear - Clears all current bound parameters
    • SQLite3Stmt::close - Closes the prepared statement
    • SQLite3Stmt::execute - Executes a prepared statement and returns a result set object
    • SQLite3Stmt::paramCount - Returns the number of parameters within the prepared statement
    • SQLite3Stmt::readOnly() - Returns whether a statement is definitely read only
    • SQLite3Stmt::reset - Resets the prepared statement
    • sqlite_array_query - Führt eine Datenbankabfrage durch und liefert das gesamte Abfrageergebnis als Liste zurück
    • sqlite_busy_timeout - Setzt die maximale Dauer für das Warten auf die Freigabe einer Datenbank, oder sperrt das Warten selbst
    • sqlite_changes - Liefert die Anzahl der vom letzten SQL-Befehl geänderten Datenbankeinträge.
    • sqlite_close - Schließt eine SQLite-Datenbankverbindung
    • sqlite_column - Holt eine Spalte des aktuellen Ergebnissatzes
    • sqlite_create_aggregate - Registriert eine benutzerdefinierte Funktion, um SQL-Abfragen zu aggregieren
    • sqlite_create_function - Registriert eine "reguläre" nutzerdefinierte Funktion für den Gebrauch in SQL-Befehlen
    • sqlite_current - Holt die aktuelle Zeile als Array aus dem Abfrageergebnis
    • sqlite_error_string - Liefert eine textuelle Beschreibung eines Fehler-Codes
    • sqlite_escape_string - Bereitet einen String für die Verwendung als SQL-Parameter auf
    • sqlite_exec - Führt eine ergebnislose Abfrage in einer definierten Datenbank aus
    • sqlite_factory - Öffnet eine SQLite-Datenbank und gibt ein SQLiteDatabase-Objekt zurück
    • sqlite_fetch_all - Holt sich alle Reihen eines Abfrageergebnisses und liefert sie als Array im Array zurück
    • sqlite_fetch_array - Liest die nächste Zeile aus dem Datenbankergebnis und gibt sie als Array zurück
    • sqlite_fetch_column_types - Liefert ein Array mit den Spaltentypen einer bestimmten Tabelle
    • sqlite_fetch_object - Holt sich die nächste Reihe des Ergebnisses und gibt diese als Objekt zurück
    • sqlite_fetch_single - Holt sich die erste Spalte eines Abfrageergebnisses als String
    • sqlite_fetch_string - Alias von sqlite_fetch_single
    • sqlite_field_name - Gibt den Namen eines Feldes zurück
    • sqlite_has_more - Findet heraus, ob noch Reihen im Ergebnis vorhanden sind
    • sqlite_has_prev - Gibt zurück, ob eine vorige Reihe existiert oder nicht
    • sqlite_key - Liefert den aktuellen Zeilenindex
    • sqlite_last_error - Liefert den Fehlercode des letzten Fehlers einer Datenbank
    • sqlite_last_insert_rowid - Liefert die Zeilenidentifikation der zuletzt eingefügten Reihe zurück
    • sqlite_libencoding - Liefert die Kodierung der verwendeten SQLite-Bibliothek zurück
    • sqlite_libversion - Liefert die Version der genutzten SQLite-Bibliothek
    • sqlite_next - Wechselt zu der nächsten Zeilennummer
    • sqlite_num_fields - Liefert die Anzahl der Felder eines Abfrageergebnisses zurück
    • sqlite_num_rows - Liefert die Anzahl an Reihen eines gepufferten Abfrageergebnisses zurück
    • sqlite_open - Öffnet eine SQLite-Datenbank und erzeugt die Datenbank, wenn diese nicht existiert.
    • sqlite_popen - Öffnet eine persistente Verbindung zu einer SQLite-Datenbank und erzeugt diese im Bedarfsfall
    • sqlite_prev - Springt zur vorige Zeile
    • sqlite_query - Führt auf einer Datenbank eine Abfrage durch und liefert das Abfrageergebnis zurück
    • sqlite_rewind - Springt zur ersten Zeile
    • sqlite_seek - Wechselt zu einer Reihe in einem gepufferten Abfrageergebnis
    • sqlite_single_query - Führt eine Query aus und liefert ein Array für eine einzige Spalte oder den Wert der ersten Reihe.
    • sqlite_udf_decode_binary - Dekodiert Binärdaten und reicht diese als Parameter weiter zu einer benutzerdefinierten Funktion (UDF)
    • sqlite_udf_encode_binary - Kodiert Binärdaten bevor sie von einer benutzerdefinierten Funktion (UDF) zurückgegeben werden
    • sqlite_unbuffered_query - Führt eine Abfrage aus, aber übernimmt die Daten nicht gleich ins PHP
    • sqlite_valid - Gibt an, ob weitere Zeilen zur Verfügung stehen
    • sqlsrv_begin_transaction - Begins a database transaction
    • sqlsrv_cancel - Cancels a statement
    • sqlsrv_client_info - Returns information about the client and specified connection
    • sqlsrv_close - Closes an open connection and releases resourses associated with the connection
    • sqlsrv_commit - Commits a transaction that was begun with sqlsrv_begin_transaction
    • sqlsrv_configure - Changes the driver error handling and logging configurations
    • sqlsrv_connect - Opens a connection to a Microsoft SQL Server database
    • sqlsrv_errors - Returns error and warning information about the last SQLSRV operation performed
    • sqlsrv_execute - Executes a statement prepared with sqlsrv_prepare
    • sqlsrv_fetch - Makes the next row in a result set available for reading
    • sqlsrv_fetch_array - Returns a row as an array
    • sqlsrv_fetch_object - Retrieves the next row of data in a result set as an object
    • sqlsrv_field_metadata - Retrieves metadata for the fields of a statement prepared by sqlsrv_prepare or sqlsrv_query
    • sqlsrv_free_stmt - Frees all resources for the specified statement
    • sqlsrv_get_config - Returns the value of the specified configuration setting
    • sqlsrv_get_field - Gets field data from the currently selected row
    • sqlsrv_has_rows - Indicates whether the specified statement has rows
    • sqlsrv_next_result - Makes the next result of the specified statement active
    • sqlsrv_num_fields - Retrieves the number of fields (columns) on a statement
    • sqlsrv_num_rows - Retrieves the number of rows in a result set
    • sqlsrv_prepare - Prepares a query for execution
    • sqlsrv_query - Prepares and executes a query.
    • sqlsrv_rollback - Rolls back a transaction that was begun with sqlsrv_begin_transaction
    • sqlsrv_rows_affected - Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed
    • sqlsrv_send_stream_data - Sends data from parameter streams to the server
    • sqlsrv_server_info - Returns information about the server
    • SQL types with PDO_4D and PHP - SQL types with PDO_4D and PHP
    • sql_regcase - Erstellt einen regulären Ausdruck für eine Suche nach Übereinstimmungen ohne Berücksichtigung von Groß-/Kleinschreibung
    • sqrt - Quadratwurzel
    • srand - Anfangswert für Zufallsgenerator festlegen
    • sscanf - Überträgt einen String in ein angegebenes Format
    • ssdeep_fuzzy_compare - Calculates the match score between two fuzzy hash signatures
    • ssdeep_fuzzy_hash - Create a fuzzy hash from a string
    • ssdeep_fuzzy_hash_filename - Create a fuzzy hash from a file
    • ssh2:// - Secure Shell 2
    • ssh2_auth_agent - Authenticate over SSH using the ssh agent
    • ssh2_auth_hostbased_file - Authenticate using a public hostkey
    • ssh2_auth_none - Authenticate as "none"
    • ssh2_auth_password - Authenticate over SSH using a plain password
    • ssh2_auth_pubkey_file - Authenticate using a public key
    • ssh2_connect - Connect to an SSH server
    • ssh2_exec - Execute a command on a remote server
    • ssh2_fetch_stream - Fetch an extended data stream
    • ssh2_fingerprint - Retrieve fingerprint of remote server
    • ssh2_methods_negotiated - Return list of negotiated methods
    • ssh2_publickey_add - Add an authorized publickey
    • ssh2_publickey_init - Initialize Publickey subsystem
    • ssh2_publickey_list - List currently authorized publickeys
    • ssh2_publickey_remove - Remove an authorized publickey
    • ssh2_scp_recv - Request a file via SCP
    • ssh2_scp_send - Send a file via SCP
    • ssh2_sftp - Initialize SFTP subsystem
    • ssh2_sftp_chmod - Changes file mode
    • ssh2_sftp_lstat - Stat a symbolic link
    • ssh2_sftp_mkdir - Create a directory
    • ssh2_sftp_readlink - Return the target of a symbolic link
    • ssh2_sftp_realpath - Resolve the realpath of a provided path string
    • ssh2_sftp_rename - Rename a remote file
    • ssh2_sftp_rmdir - Remove a directory
    • ssh2_sftp_stat - Stat a file on a remote filesystem
    • ssh2_sftp_symlink - Create a symlink
    • ssh2_sftp_unlink - Delete a file
    • ssh2_shell - Request an interactive shell
    • ssh2_tunnel - Open a tunnel through a remote server
    • SSL-Kontext-Optionen - Auflistung der Optionen für SSL-Kontexte
    • stat - Sammelt Informationen über eine Datei
    • stats_absolute_deviation - Returns the absolute deviation of an array of values
    • stats_cdf_beta - CDF function for BETA Distribution. Calculates any one parameter of the beta distribution given values for the others.
    • stats_cdf_binomial - Calculates any one parameter of the binomial distribution given values for the others.
    • stats_cdf_cauchy - Not documented
    • stats_cdf_chisquare - Calculates any one parameter of the chi-square distribution given values for the others.
    • stats_cdf_exponential - Not documented
    • stats_cdf_f - Calculates any one parameter of the F distribution given values for the others.
    • stats_cdf_gamma - Calculates any one parameter of the gamma distribution given values for the others.
    • stats_cdf_laplace - Not documented
    • stats_cdf_logistic - Not documented
    • stats_cdf_negative_binomial - Calculates any one parameter of the negative binomial distribution given values for the others.
    • stats_cdf_noncentral_chisquare - Calculates any one parameter of the non-central chi-square distribution given values for the others.
    • stats_cdf_noncentral_f - Calculates any one parameter of the Non-central F distribution given values for the others.
    • stats_cdf_poisson - Calculates any one parameter of the Poisson distribution given values for the others.
    • stats_cdf_t - Calculates any one parameter of the T distribution given values for the others.
    • stats_cdf_uniform - Not documented
    • stats_cdf_weibull - Not documented
    • stats_covariance - Computes the covariance of two data sets
    • stats_dens_beta - Not documented
    • stats_dens_cauchy - Not documented
    • stats_dens_chisquare - Not documented
    • stats_dens_exponential - Not documented
    • stats_dens_f - Beschreibung
    • stats_dens_gamma - Not documented
    • stats_dens_laplace - Not documented
    • stats_dens_logistic - Not documented
    • stats_dens_negative_binomial - Not documented
    • stats_dens_normal - Not documented
    • stats_dens_pmf_binomial - Not documented
    • stats_dens_pmf_hypergeometric - Beschreibung
    • stats_dens_pmf_poisson - Not documented
    • stats_dens_t - Not documented
    • stats_dens_weibull - Not documented
    • stats_den_uniform - Not documented
    • stats_harmonic_mean - Returns the harmonic mean of an array of values
    • stats_kurtosis - Computes the kurtosis of the data in the array
    • stats_rand_gen_beta - Generates beta random deviate
    • stats_rand_gen_chisquare - Generates random deviate from the distribution of a chisquare with "df" degrees of freedom random variable.
    • stats_rand_gen_exponential - Generates a single random deviate from an exponential distribution with mean "av"
    • stats_rand_gen_f - Generates a random deviate
    • stats_rand_gen_funiform - Generates uniform float between low (exclusive) and high (exclusive)
    • stats_rand_gen_gamma - Generates random deviates from a gamma distribution
    • stats_rand_gen_ibinomial - Generates a single random deviate from a binomial distribution whose number of trials is "n" (n >= 0) and whose probability of an event in each trial is "pp" ([0;1]). Method : algorithm BTPE
    • stats_rand_gen_ibinomial_negative - Generates a single random deviate from a negative binomial distribution. Arguments : n - the number of trials in the negative binomial distribution from which a random deviate is to be generated (n > 0), p - the probability of an event (0 < p < 1)).
    • stats_rand_gen_int - Generates random integer between 1 and 2147483562
    • stats_rand_gen_ipoisson - Generates a single random deviate from a Poisson distribution with mean "mu" (mu >= 0.0).
    • stats_rand_gen_iuniform - Generates integer uniformly distributed between LOW (inclusive) and HIGH (inclusive)
    • stats_rand_gen_noncenral_chisquare - Generates random deviate from the distribution of a noncentral chisquare with "df" degrees of freedom and noncentrality parameter "xnonc". d must be >= 1.0, xnonc must >= 0.0
    • stats_rand_gen_noncentral_f - Generates a random deviate from the noncentral F (variance ratio) distribution with "dfn" degrees of freedom in the numerator, and "dfd" degrees of freedom in the denominator, and noncentrality parameter "xnonc". Method : directly generates ratio of noncentral numerator chisquare variate to central denominator chisquare variate.
    • stats_rand_gen_noncentral_t - Generates a single random deviate from a noncentral T distribution
    • stats_rand_gen_normal - Generates a single random deviate from a normal distribution with mean, av, and standard deviation, sd (sd >= 0). Method : Renames SNORM from TOMS as slightly modified by BWB to use RANF instead of SUNIF.
    • stats_rand_gen_t - Generates a single random deviate from a T distribution
    • stats_rand_get_seeds - Not documented
    • stats_rand_phrase_to_seeds - generate two seeds for the RGN random number generator
    • stats_rand_ranf - Returns a random floating point number from a uniform distribution over 0 - 1 (endpoints of this interval are not returned) using the current generator
    • stats_rand_setall - Not documented
    • stats_skew - Computes the skewness of the data in the array
    • stats_standard_deviation - Returns the standard deviation
    • stats_stat_binomial_coef - Not documented
    • stats_stat_correlation - Not documented
    • stats_stat_gennch - Not documented
    • stats_stat_independent_t - Not documented
    • stats_stat_innerproduct - Beschreibung
    • stats_stat_noncentral_t - Calculates any one parameter of the noncentral t distribution give values for the others.
    • stats_stat_paired_t - Not documented
    • stats_stat_percentile - Not documented
    • stats_stat_powersum - Not documented
    • stats_variance - Returns the population variance
    • Stomp::abort - Rolls back a transaction in progress
    • Stomp::ack - Acknowledges consumption of a message
    • Stomp::begin - Starts a transaction
    • Stomp::commit - Commits a transaction in progress
    • Stomp::error - Gets the last stomp error
    • Stomp::getReadTimeout - Gets read timeout
    • Stomp::getSessionId - Gets the current stomp session ID
    • Stomp::hasFrame - Indicates whether or not there is a frame ready to read
    • Stomp::readFrame - Reads the next frame
    • Stomp::send - Sends a message
    • Stomp::setReadTimeout - Sets read timeout
    • Stomp::subscribe - Registers to listen to a given destination
    • Stomp::unsubscribe - Removes an existing subscription
    • Stomp::__construct - Opens a connection
    • Stomp::__destruct - Closes stomp connection
    • StompException::getDetails - Get exception details
    • StompFrame::__construct - Constructor
    • stomp_connect_error - Returns a string description of the last connect error
    • stomp_version - Gets the current stomp extension version
    • strcasecmp - Vergleich von Zeichenketten ohne Unterscheidung der Groß- und Kleinschreibung (Binary safe)
    • strchr - Alias von strstr
    • strcmp - Vergleich zweier Strings (Binary safe)
    • strcoll - Locale-basierter Zeichenkettenvergleich
    • strcspn - Ermittelt die Anzahl der nicht übereinstimmenden Zeichen
    • streamWrapper::dir_closedir - Close directory handle
    • streamWrapper::dir_opendir - Open directory handle
    • streamWrapper::dir_readdir - Read entry from directory handle
    • streamWrapper::dir_rewinddir - Rewind directory handle
    • streamWrapper::mkdir - Create a directory
    • streamWrapper::rename - Renames a file or directory
    • streamWrapper::rmdir - Removes a directory
    • streamWrapper::stream_cast - Retrieve the underlaying resource
    • streamWrapper::stream_close - Close a resource
    • streamWrapper::stream_eof - Tests for end-of-file on a file pointer
    • streamWrapper::stream_flush - Flushes the output
    • streamWrapper::stream_lock - Advisory file locking
    • streamWrapper::stream_metadata - Change stream metadata
    • streamWrapper::stream_open - Opens file or URL
    • streamWrapper::stream_read - Read from stream
    • streamWrapper::stream_seek - Seeks to specific location in a stream
    • streamWrapper::stream_set_option - Change stream options
    • streamWrapper::stream_stat - Retrieve information about a file resource
    • streamWrapper::stream_tell - Retrieve the current position of a stream
    • streamWrapper::stream_truncate - Truncate stream
    • streamWrapper::stream_write - Write to stream
    • streamWrapper::unlink - Delete a file
    • streamWrapper::url_stat - Retrieve information about a file
    • streamWrapper::__construct - Constructs a new stream wrapper
    • streamWrapper::__destruct - Destructs an existing stream wrapper
    • stream_bucket_append - Append bucket to brigade
    • stream_bucket_make_writeable - Return a bucket object from the brigade for operating on
    • stream_bucket_new - Create a new bucket for use on the current stream
    • stream_bucket_prepend - Prepend bucket to brigade
    • stream_context_create - Creates a stream context
    • stream_context_get_default - Retrieve the default stream context
    • stream_context_get_options - Retrieve options for a stream/wrapper/context
    • stream_context_get_params - Retrieves parameters from a context
    • stream_context_set_default - Set the default stream context
    • stream_context_set_option - Sets an option for a stream/wrapper/context
    • stream_context_set_params - Set parameters for a stream/wrapper/context
    • stream_copy_to_stream - Copies data from one stream to another
    • stream_encoding - Set character set for stream encoding
    • stream_filter_append - Attach a filter to a stream
    • stream_filter_prepend - Attach a filter to a stream
    • stream_filter_register - Register a user defined stream filter
    • stream_filter_remove - Remove a filter from a stream
    • stream_get_contents - Reads remainder of a stream into a string
    • stream_get_filters - Retrieve list of registered filters
    • stream_get_line - Gets line from stream resource up to a given delimiter
    • stream_get_meta_data - Retrieves header/meta data from streams/file pointers
    • stream_get_transports - Retrieve list of registered socket transports
    • stream_get_wrappers - Retrieve list of registered streams
    • stream_is_local - Checks if a stream is a local stream
    • stream_notification_callback - A callback function for the notification context parameter
    • stream_register_wrapper - Alias von stream_wrapper_register
    • stream_resolve_include_path - Resolve filename against the include path
    • stream_select - Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec
    • stream_set_blocking - Set blocking/non-blocking mode on a stream
    • stream_set_chunk_size - Set the stream chunk size
    • stream_set_read_buffer - Set read file buffering on the given stream
    • stream_set_timeout - Set timeout period on a stream
    • stream_set_write_buffer - Sets write file buffering on the given stream
    • stream_socket_accept - Accept a connection on a socket created by stream_socket_server
    • stream_socket_client - Open Internet or Unix domain socket connection
    • stream_socket_enable_crypto - Turns encryption on/off on an already connected socket
    • stream_socket_get_name - Retrieve the name of the local or remote sockets
    • stream_socket_pair - Creates a pair of connected, indistinguishable socket streams
    • stream_socket_recvfrom - Receives data from a socket, connected or not
    • stream_socket_sendto - Sends a message to a socket, whether it is connected or not
    • stream_socket_server - Create an Internet or Unix domain server socket
    • stream_socket_shutdown - Shutdown a full-duplex connection
    • stream_supports_lock - Tells whether the stream supports locking.
    • stream_wrapper_register - Register a URL wrapper implemented as a PHP class
    • stream_wrapper_restore - Restores a previously unregistered built-in wrapper
    • stream_wrapper_unregister - Unregister a URL wrapper
    • strftime - Formatiert eine Zeit-/Datumsangabe nach den lokalen Einstellungen
    • stripcslashes - Entfernt Quotes aus mit addcslashes behandelten Strings
    • stripos - Findet das erste Vorkommen eines Teilstrings in einem String, unabhängig von Groß- und Kleinschreibung
    • stripslashes - Entfernt Maskierungszeichen aus einem String
    • strip_tags - Entfernt HTML- und PHP-Tags aus einem String
    • stristr - Wie strstr, aber unabhängig von Groß- bzw. Kleinschreibung
    • strlen - Ermitteln der String-Länge
    • strnatcasecmp - String-Vergleich "natürlicher Ordnung" ohne Unterscheidung der Schreibweise
    • strnatcmp - String-Vergleich unter Verwendung einer "natürlichen Ordnung"
    • strncasecmp - Binärdaten-sicherer und groß- und kleinschreibungs-unabhängiger Stringvergleich der ersten n Zeichen
    • strncmp - String-Vergleich der ersten n Zeichen (Binary safe)
    • strpbrk - Durchsucht einen String nach einem Zeichen aus einer Gruppe von Zeichen
    • strpos - Sucht das erste Vorkommen des Suchstrings
    • strptime - Parse a time/date generated with strftime
    • strrchr - Sucht das letzte Vorkommen eines Zeichens in einem String
    • strrev - Kehrt einen String um
    • strripos - Findet das letzte Vorkommen der gesuchten Zeichenkette in einem String, unabhängig von Groß- und Kleinschreibung
    • strrpos - Findet die Position des letzten Vorkommens eines Teilstrings innerhalb einer Zeichenkette
    • strspn - Ermittelt die Länge des initialen Abschnitts einer Zeichenkette, der ausschließlich aus Zeichen besteht, die in einer übergebenen Maske enthalten sind.
    • strstr - Findet das erste Vorkommen eines Strings
    • strtok - Zerlegt einen String
    • strtolower - Setzt einen String in Kleinbuchstaben um
    • strtotime - Wandelt ein beliebiges in englischer Textform angegebenes Datum in einen UNIX-Zeitstempel (Timestamp) um
    • strtoupper - Wandelt alle Zeichen eines Strings in Großbuchstaben um
    • strtr - Tauscht Zeichen aus oder ersetzt Zeichenketten
    • strval - Ermittelt die String-Repräsentation einer Variable
    • str_getcsv - Parst einen CSV-String in ein Array
    • str_ireplace - Groß- und kleinschreibungsunabhängige Version von str_replace
    • str_pad - Erweitert einen String unter Verwendung eines anderen Strings auf eine bestimmte Länge
    • str_repeat - Wiederholt einen String
    • str_replace - Ersetzt alle Vorkommen des Suchstrings durch einen anderen String
    • str_rot13 - Führt die ROT13-Transformation auf einen String aus
    • str_shuffle - Mischt einen String nach dem Zufallsprinzip
    • str_split - Konvertiert einen String in ein Array
    • str_word_count - Gibt Informationen über in einem String verwendete Worte zurück
    • substr - Gibt einen Teil eines Strings zurück
    • substr_compare - Binärdaten-sicherer Vergleich zweier Strings, beginnend an einer bestimmten Position und endend nach einer festgelegten Länge
    • substr_count - Ermittelt, wie oft eine Zeichenkette in einem String vorkommt
    • substr_replace - Ersetzt Text innerhalb einer Zeichenkette
    • SVM::crossvalidate - Test training params on subsets of the training data.
    • SVM::getOptions - Return the current training parameters
    • SVM::setOptions - Set training parameters
    • SVM::train - Create a SVMModel based on training data
    • SVM::__construct - Construct a new SVM object
    • SVMModel::checkProbabilityModel - Returns true if the model has probability information
    • SVMModel::getLabels - Get the labels the model was trained on
    • SVMModel::getNrClass - Returns the number of classes the model was trained with
    • SVMModel::getSvmType - Get the SVM type the model was trained with
    • SVMModel::getSvrProbability - Get the sigma value for regression types
    • SVMModel::load - Load a saved SVM Model
    • SVMModel::predict - Predict a value for previously unseen data
    • SVMModel::predict_probability - Return class probabilities for previous unseen data
    • SVMModel::save - Save a model to a file
    • SVMModel::__construct - Construct a new SVMModel
    • svn_add - Schedules the addition of an item in a working directory
    • svn_auth_get_parameter - Retrieves authentication parameter
    • svn_auth_set_parameter - Sets an authentication parameter
    • svn_blame - Get the SVN blame for a file
    • svn_cat - Returns the contents of a file in a repository
    • svn_checkout - Checks out a working copy from the repository
    • svn_cleanup - Recursively cleanup a working copy directory, finishing incomplete operations and removing locks
    • svn_client_version - Returns the version of the SVN client libraries
    • svn_commit - Sends changes from the local working copy to the repository
    • svn_delete - Delete items from a working copy or repository.
    • svn_diff - Recursively diffs two paths
    • svn_export - Export the contents of a SVN directory
    • svn_fs_abort_txn - Abort a transaction, returns true if everything is okay, false otherwise
    • svn_fs_apply_text - Creates and returns a stream that will be used to replace
    • svn_fs_begin_txn2 - Create a new transaction
    • svn_fs_change_node_prop - Return true if everything is ok, false otherwise
    • svn_fs_check_path - Determines what kind of item lives at path in a given repository fsroot
    • svn_fs_contents_changed - Return true if content is different, false otherwise
    • svn_fs_copy - Copies a file or a directory, returns true if all is ok, false otherwise
    • svn_fs_delete - Deletes a file or a directory, return true if all is ok, false otherwise
    • svn_fs_dir_entries - Enumerates the directory entries under path; returns a hash of dir names to file type
    • svn_fs_file_contents - Returns a stream to access the contents of a file from a given version of the fs
    • svn_fs_file_length - Returns the length of a file from a given version of the fs
    • svn_fs_is_dir - Return true if the path points to a directory, false otherwise
    • svn_fs_is_file - Return true if the path points to a file, false otherwise
    • svn_fs_make_dir - Creates a new empty directory, returns true if all is ok, false otherwise
    • svn_fs_make_file - Creates a new empty file, returns true if all is ok, false otherwise
    • svn_fs_node_created_rev - Returns the revision in which path under fsroot was created
    • svn_fs_node_prop - Returns the value of a property for a node
    • svn_fs_props_changed - Return true if props are different, false otherwise
    • svn_fs_revision_prop - Fetches the value of a named property
    • svn_fs_revision_root - Get a handle on a specific version of the repository root
    • svn_fs_txn_root - Creates and returns a transaction root
    • svn_fs_youngest_rev - Returns the number of the youngest revision in the filesystem
    • svn_import - Imports an unversioned path into a repository
    • svn_log - Returns the commit log messages of a repository URL
    • svn_ls - Returns list of directory contents in repository URL, optionally at revision number
    • svn_mkdir - Creates a directory in a working copy or repository
    • svn_repos_create - Create a new subversion repository at path
    • svn_repos_fs - Gets a handle on the filesystem for a repository
    • svn_repos_fs_begin_txn_for_commit - Create a new transaction
    • svn_repos_fs_commit_txn - Commits a transaction and returns the new revision
    • svn_repos_hotcopy - Make a hot-copy of the repos at repospath; copy it to destpath
    • svn_repos_open - Open a shared lock on a repository.
    • svn_repos_recover - Run recovery procedures on the repository located at path.
    • svn_revert - Revert changes to the working copy
    • svn_status - Returns the status of working copy files and directories
    • svn_update - Update working copy
    • SWFAction::__construct - Creates a new SWFAction
    • SWFBitmap::getHeight - Returns the bitmap's height
    • SWFBitmap::getWidth - Returns the bitmap's width
    • SWFBitmap::__construct - Loads Bitmap object
    • SWFButton::addAction - Adds an action
    • SWFButton::addASound - Associates a sound with a button transition
    • SWFButton::addShape - Adds a shape to a button
    • SWFButton::setAction - Sets the action
    • SWFButton::setDown - Alias for addShape(shape, SWFBUTTON_DOWN)
    • SWFButton::setHit - Alias for addShape(shape, SWFBUTTON_HIT)
    • SWFButton::setMenu - enable track as menu button behaviour
    • SWFButton::setOver - Alias for addShape(shape, SWFBUTTON_OVER)
    • SWFButton::setUp - Alias for addShape(shape, SWFBUTTON_UP)
    • SWFButton::__construct - Creates a new Button
    • SWFDisplayItem::addAction - Adds this SWFAction to the given SWFSprite instance
    • SWFDisplayItem::addColor - Adds the given color to this item's color transform
    • SWFDisplayItem::endMask - Another way of defining a MASK layer
    • SWFDisplayItem::getRot - Beschreibung
    • SWFDisplayItem::getX - Beschreibung
    • SWFDisplayItem::getXScale - Beschreibung
    • SWFDisplayItem::getXSkew - Beschreibung
    • SWFDisplayItem::getY - Beschreibung
    • SWFDisplayItem::getYScale - Beschreibung
    • SWFDisplayItem::getYSkew - Beschreibung
    • SWFDisplayItem::move - Moves object in relative coordinates
    • SWFDisplayItem::moveTo - Moves object in global coordinates
    • SWFDisplayItem::multColor - Multiplies the item's color transform
    • SWFDisplayItem::remove - Removes the object from the movie
    • SWFDisplayItem::rotate - Rotates in relative coordinates
    • SWFDisplayItem::rotateTo - Rotates the object in global coordinates
    • SWFDisplayItem::scale - Scales the object in relative coordinates
    • SWFDisplayItem::scaleTo - Scales the object in global coordinates
    • SWFDisplayItem::setDepth - Sets z-order
    • SWFDisplayItem::setMaskLevel - Defines a MASK layer at level
    • SWFDisplayItem::setMatrix - Sets the item's transform matrix
    • SWFDisplayItem::setName - Sets the object's name
    • SWFDisplayItem::setRatio - Sets the object's ratio
    • SWFDisplayItem::skewX - Sets the X-skew
    • SWFDisplayItem::skewXTo - Sets the X-skew
    • SWFDisplayItem::skewY - Sets the Y-skew
    • SWFDisplayItem::skewYTo - Sets the Y-skew
    • SWFFill::moveTo - Moves fill origin
    • SWFFill::rotateTo - Sets fill's rotation
    • SWFFill::scaleTo - Sets fill's scale
    • SWFFill::skewXTo - Sets fill x-skew
    • SWFFill::skewYTo - Sets fill y-skew
    • SWFFont::getAscent - Returns the ascent of the font, or 0 if not available
    • SWFFont::getDescent - Returns the descent of the font, or 0 if not available
    • SWFFont::getLeading - Returns the leading of the font, or 0 if not available
    • SWFFont::getShape - Returns the glyph shape of a char as a text string
    • SWFFont::getUTF8Width - Calculates the width of the given string in this font at full height
    • SWFFont::getWidth - Returns the string's width
    • SWFFont::__construct - Loads a font definition
    • SWFFontChar::addChars - Adds characters to a font for exporting font
    • SWFFontChar::addUTF8Chars - Adds characters to a font for exporting font
    • SWFGradient::addEntry - Adds an entry to the gradient list
    • SWFGradient::__construct - Creates a gradient object
    • SWFMorph::getShape1 - Gets a handle to the starting shape
    • SWFMorph::getShape2 - Gets a handle to the ending shape
    • SWFMorph::__construct - Creates a new SWFMorph object
    • SWFMovie::add - Adds any type of data to a movie
    • SWFMovie::addExport - Beschreibung
    • SWFMovie::addFont - Beschreibung
    • SWFMovie::importChar - Beschreibung
    • SWFMovie::importFont - Beschreibung
    • SWFMovie::labelFrame - Labels a frame
    • SWFMovie::nextFrame - Moves to the next frame of the animation
    • SWFMovie::output - Dumps your lovingly prepared movie out
    • SWFMovie::remove - Removes the object instance from the display list
    • SWFMovie::save - Saves the SWF movie in a file
    • SWFMovie::saveToFile - Beschreibung
    • SWFMovie::setbackground - Sets the background color
    • SWFMovie::setDimension - Sets the movie's width and height
    • SWFMovie::setFrames - Sets the total number of frames in the animation
    • SWFMovie::setRate - Sets the animation's frame rate
    • SWFMovie::startSound - Beschreibung
    • SWFMovie::stopSound - Beschreibung
    • SWFMovie::streamMP3 - Streams a MP3 file
    • SWFMovie::writeExports - Beschreibung
    • SWFMovie::__construct - Creates a new movie object, representing an SWF version 4 movie
    • SWFPrebuiltClip::__construct - Returns a SWFPrebuiltClip object
    • SWFShape::addFill - Adds a solid fill to the shape
    • SWFShape::drawArc - Draws an arc of radius r centered at the current location, from angle startAngle to angle endAngle measured clockwise from 12 o'clock
    • SWFShape::drawCircle - Draws a circle of radius r centered at the current location, in a counter-clockwise fashion
    • SWFShape::drawCubic - Draws a cubic bezier curve using the current position and the three given points as control points
    • SWFShape::drawCubicTo - Draws a cubic bezier curve using the current position and the three given points as control points
    • SWFShape::drawCurve - Draws a curve (relative)
    • SWFShape::drawCurveTo - Draws a curve
    • SWFShape::drawGlyph - Draws the first character in the given string into the shape using the glyph definition from the given font
    • SWFShape::drawLine - Draws a line (relative)
    • SWFShape::drawLineTo - Draws a line
    • SWFShape::movePen - Moves the shape's pen (relative)
    • SWFShape::movePenTo - Moves the shape's pen
    • SWFShape::setLeftFill - Sets left rasterizing color
    • SWFShape::setLine - Sets the shape's line style
    • SWFShape::setRightFill - Sets right rasterizing color
    • SWFShape::__construct - Creates a new shape object
    • SWFSound::__construct - Returns a new SWFSound object from given file
    • SWFSoundInstance::loopCount - Beschreibung
    • SWFSoundInstance::loopInPoint - Beschreibung
    • SWFSoundInstance::loopOutPoint - Beschreibung
    • SWFSoundInstance::noMultiple - Beschreibung
    • SWFSprite::add - Adds an object to a sprite
    • SWFSprite::labelFrame - Labels frame
    • SWFSprite::nextFrame - Moves to the next frame of the animation
    • SWFSprite::remove - Removes an object to a sprite
    • SWFSprite::setFrames - Sets the total number of frames in the animation
    • SWFSprite::startSound - Beschreibung
    • SWFSprite::stopSound - Beschreibung
    • SWFSprite::__construct - Creates a movie clip (a sprite)
    • SWFText::addString - Draws a string
    • SWFText::addUTF8String - Writes the given text into this SWFText object at the current pen position, using the current font, height, spacing, and color
    • SWFText::getAscent - Returns the ascent of the current font at its current size, or 0 if not available
    • SWFText::getDescent - Returns the descent of the current font at its current size, or 0 if not available
    • SWFText::getLeading - Returns the leading of the current font at its current size, or 0 if not available
    • SWFText::getUTF8Width - calculates the width of the given string in this text objects current font and size
    • SWFText::getWidth - Computes string's width
    • SWFText::moveTo - Moves the pen
    • SWFText::setColor - Sets the current text color
    • SWFText::setFont - Sets the current font
    • SWFText::setHeight - Sets the current font height
    • SWFText::setSpacing - Sets the current font spacing
    • SWFText::__construct - Creates a new SWFText object
    • SWFTextField::addChars - adds characters to a font that will be available within a textfield
    • SWFTextField::addString - Concatenates the given string to the text field
    • SWFTextField::align - Sets the text field alignment
    • SWFTextField::setBounds - Sets the text field width and height
    • SWFTextField::setColor - Sets the color of the text field
    • SWFTextField::setFont - Sets the text field font
    • SWFTextField::setHeight - Sets the font height of this text field font
    • SWFTextField::setIndentation - Sets the indentation of the first line
    • SWFTextField::setLeftMargin - Sets the left margin width of the text field
    • SWFTextField::setLineSpacing - Sets the line spacing of the text field
    • SWFTextField::setMargins - Sets the margins width of the text field
    • SWFTextField::setName - Sets the variable name
    • SWFTextField::setPadding - Sets the padding of this textfield
    • SWFTextField::setRightMargin - Sets the right margin width of the text field
    • SWFTextField::__construct - Creates a text field object
    • SWFVideoStream::getNumFrames - Returns the number of frames in the video
    • SWFVideoStream::setDimension - Sets video dimension
    • SWFVideoStream::__construct - Returns a SWFVideoStream object
    • Swish::getMetaList - Get the list of meta entries for the index
    • Swish::getPropertyList - Get the list of properties for the index
    • Swish::prepare - Prepare a search query
    • Swish::query - Execute a query and return results object
    • Swish::__construct - Construct a Swish object
    • SwishResult::getMetaList - Get a list of meta entries
    • SwishResult::stem - Stems the given word
    • SwishResults::getParsedWords - Get an array of parsed words
    • SwishResults::getRemovedStopwords - Get an array of stopwords removed from the query
    • SwishResults::nextResult - Get the next search result
    • SwishResults::seekResult - Set current seek pointer to the given position
    • SwishSearch::execute - Execute the search and get the results
    • SwishSearch::resetLimit - Reset the search limits
    • SwishSearch::setLimit - Set the search limits
    • SwishSearch::setPhraseDelimiter - Set the phrase delimiter
    • SwishSearch::setSort - Set the sort order
    • SwishSearch::setStructure - Set the structure flag in the search object
    • sybase_affected_rows - Gets number of affected rows in last query
    • sybase_close - Closes a Sybase connection
    • sybase_connect - Opens a Sybase server connection
    • sybase_data_seek - Moves internal row pointer
    • sybase_deadlock_retry_count - Sets the deadlock retry count
    • sybase_fetch_array - Fetch row as array
    • sybase_fetch_assoc - Fetch a result row as an associative array
    • sybase_fetch_field - Get field information from a result
    • sybase_fetch_object - Fetch a row as an object
    • sybase_fetch_row - Get a result row as an enumerated array
    • sybase_field_seek - Sets field offset
    • sybase_free_result - Frees result memory
    • sybase_get_last_message - Returns the last message from the server
    • sybase_min_client_severity - Sets minimum client severity
    • sybase_min_error_severity - Sets minimum error severity
    • sybase_min_message_severity - Sets minimum message severity
    • sybase_min_server_severity - Sets minimum server severity
    • sybase_num_fields - Gets the number of fields in a result set
    • sybase_num_rows - Get number of rows in a result set
    • sybase_pconnect - Open persistent Sybase connection
    • sybase_query - Sends a Sybase query
    • sybase_result - Get result data
    • sybase_select_db - Selects a Sybase database
    • sybase_set_message_handler - Sets the handler called when a server message is raised
    • sybase_unbuffered_query - Send a Sybase query and do not block
    • symlink - Erzeugt einen symbolischen Link
    • SyncEvent::fire - Fires/sets the event
    • SyncEvent::reset - Resets a manual event
    • SyncEvent::wait - Waits for the event to be fired/set
    • SyncEvent::__construct - Constructs a new SyncEvent object
    • SyncMutex::lock - Waits for an exclusive lock
    • SyncMutex::unlock - Unlocks the mutex
    • SyncMutex::__construct - Constructs a new SyncMutex object
    • SyncReaderWriter::readlock - Waits for a read lock
    • SyncReaderWriter::readunlock - Releases a read lock
    • SyncReaderWriter::writelock - Waits for an exclusive write lock
    • SyncReaderWriter::writeunlock - Releases a write lock
    • SyncReaderWriter::__construct - Constructs a new SyncReaderWriter object
    • SyncSemaphore::lock - Decreases the count of the semaphore or waits
    • SyncSemaphore::unlock - Increases the count of the semaphore
    • SyncSemaphore::__construct - Constructs a new SyncSemaphore object
    • SyncSharedMemory::first - Check to see if the object is the first instance system-wide of named shared memory
    • SyncSharedMemory::read - Copy data from named shared memory
    • SyncSharedMemory::size - Returns the size of the named shared memory
    • SyncSharedMemory::write - Copy data to named shared memory
    • SyncSharedMemory::__construct - Constructs a new SyncSharedMemory object
    • syslog - Erzeugt eine Meldung im System-Logging
    • system - Führt ein externes Programm aus und zeigt dessen Ausgabe an
    • sys_getloadavg - Ermittelt durchschnittliche Systemlast
    • sys_get_temp_dir - Returns directory path used for temporary files
  • t
    • taint - Taint a string
    • tan - Tangens
    • tanh - Tangens Hyperbolikus
    • tcpwrap_check - Performs a tcpwrap check
    • tempnam - Erzeugt eine Datei mit eindeutigem Dateinamen
    • textdomain - Setzt die Standarddomain
    • Thread::detach - Execution
    • Thread::getCreatorId - Identification
    • Thread::getCurrentThread - Identification
    • Thread::getCurrentThreadId - Identification
    • Thread::getThreadId - Identification
    • Thread::globally - Execution
    • Thread::isJoined - State Detection
    • Thread::isStarted - State Detection
    • Thread::join - Synchronization
    • Thread::kill - Execution
    • Thread::start - Execution
    • Threaded::chunk - Manipulation
    • Threaded::count - Manipulation
    • Threaded::extend - Runtime Manipulation
    • Threaded::from - Creation
    • Threaded::getTerminationInfo - Error Detection
    • Threaded::isRunning - State Detection
    • Threaded::isTerminated - State Detection
    • Threaded::isWaiting - State Detection
    • Threaded::lock - Synchronization
    • Threaded::merge - Manipulation
    • Threaded::notify - Synchronization
    • Threaded::pop - Manipulation
    • Threaded::run - Execution
    • Threaded::shift - Manipulation
    • Threaded::synchronized - Synchronization
    • Threaded::unlock - Synchronization
    • Threaded::wait - Synchronization
    • tidy::$errorBuffer - Return warnings and errors which occurred parsing the specified document
    • tidy::body - Returns a tidyNode object starting from the <body> tag of the tidy parse tree
    • tidy::cleanRepair - Execute configured cleanup and repair operations on parsed markup
    • tidy::diagnose - Run configured diagnostics on parsed and repaired markup
    • tidy::getConfig - Get current Tidy configuration
    • tidy::getHtmlVer - Get the Detected HTML version for the specified document
    • tidy::getOpt - Returns the value of the specified configuration option for the tidy document
    • tidy::getOptDoc - Returns the documentation for the given option name
    • tidy::getRelease - Get release date (version) for Tidy library
    • tidy::getStatus - Get status of specified document
    • tidy::head - Returns a tidyNode object starting from the <head> tag of the tidy parse tree
    • tidy::html - Returns a tidyNode object starting from the <html> tag of the tidy parse tree
    • tidy::isXhtml - Indicates if the document is a XHTML document
    • tidy::isXml - Indicates if the document is a generic (non HTML/XHTML) XML document
    • tidy::parseFile - Parse markup in file or URI
    • tidy::parseString - Parse a document stored in a string
    • tidy::repairFile - Repair a file and return it as a string
    • tidy::repairString - Repair a string using an optionally provided configuration file
    • tidy::root - Returns a tidyNode object representing the root of the tidy parse tree
    • tidy::__construct - Constructs a new tidy object
    • tidyNode::getParent - Returns the parent node of the current node
    • tidyNode::hasChildren - Checks if a node has children
    • tidyNode::hasSiblings - Checks if a node has siblings
    • tidyNode::isAsp - Checks if this node is ASP
    • tidyNode::isComment - Checks if a node represents a comment
    • tidyNode::isHtml - Checks if a node is part of a HTML document
    • tidyNode::isJste - Checks if this node is JSTE
    • tidyNode::isPhp - Checks if a node is PHP
    • tidyNode::isText - Checks if a node represents text (no markup)
    • tidy_access_count - Returns the Number of Tidy accessibility warnings encountered for specified document
    • tidy_config_count - Returns the Number of Tidy configuration errors encountered for specified document
    • tidy_error_count - Returns the Number of Tidy errors encountered for specified document
    • tidy_get_output - Return a string representing the parsed tidy markup
    • tidy_load_config - Load an ASCII Tidy configuration file with the specified encoding
    • tidy_reset_config - Restore Tidy configuration to default values
    • tidy_save_config - Save current settings to named file
    • tidy_setopt - Updates the configuration settings for the specified tidy document
    • tidy_set_encoding - Set the input/output character encoding for parsing markup
    • tidy_warning_count - Returns the Number of Tidy warnings encountered for specified document
    • time - Gibt den aktuellen Unix-Timestamp/Zeitstempel zurück
    • timezone_abbreviations_list - Alias von DateTimeZone::listAbbreviations
    • timezone_identifiers_list - Alias von DateTimeZone::listIdentifiers
    • timezone_location_get - Alias von DateTimeZone::getLocation
    • timezone_name_from_abbr - Gibt den Namen der Zeitzonenabkürzung zurück
    • timezone_name_get - Alias von DateTimeZone::getName
    • timezone_offset_get - Alias von DateTimeZone::getOffset
    • timezone_open - Alias von DateTimeZone::__construct
    • timezone_transitions_get - Alias von DateTimeZone::getTransitions
    • timezone_version_get - Gets the version of the timezonedb
    • time_nanosleep - Verzögert die Ausführung um die gegebene Anzahl Sekunden und Nanosekunden
    • time_sleep_until - Lässt das Skript bis zur angegebenen Zeit schlafen
    • tmpfile - Erstellt eine temporäre Datei
    • token_get_all - Spaltet angegebenen PHP-Quelltext in PHP-Tokens auf
    • token_name - Gibt Bezeichner für ein PHP-Token zurück
    • TokyoTyrant::add - Adds to a numeric key
    • TokyoTyrant::connect - Connect to a database
    • TokyoTyrant::connectUri - Connects to a database
    • TokyoTyrant::copy - Copies the database
    • TokyoTyrant::ext - Execute a remote script
    • TokyoTyrant::fwmKeys - Returns the forward matching keys
    • TokyoTyrant::get - The get purpose
    • TokyoTyrant::getIterator - Get an iterator
    • TokyoTyrant::num - Number of records in the database
    • TokyoTyrant::out - Removes records
    • TokyoTyrant::put - Puts values
    • TokyoTyrant::putCat - Concatenates to a record
    • TokyoTyrant::putKeep - Puts a record
    • TokyoTyrant::putNr - Puts value
    • TokyoTyrant::putShl - Concatenates to a record
    • TokyoTyrant::restore - Restore the database
    • TokyoTyrant::setMaster - Set the replication master
    • TokyoTyrant::size - Returns the size of the value
    • TokyoTyrant::stat - Get statistics
    • TokyoTyrant::sync - Synchronize the database
    • TokyoTyrant::tune - Tunes connection values
    • TokyoTyrant::vanish - Empties the database
    • TokyoTyrant::__construct - Construct a new TokyoTyrant object
    • TokyoTyrantIterator::current - Get the current value
    • TokyoTyrantIterator::key - Returns the current key
    • TokyoTyrantIterator::next - Move to next key
    • TokyoTyrantIterator::rewind - Rewinds the iterator
    • TokyoTyrantIterator::valid - Rewinds the iterator
    • TokyoTyrantIterator::__construct - Construct an iterator
    • TokyoTyrantQuery::addCond - Adds a condition to the query
    • TokyoTyrantQuery::count - Counts records
    • TokyoTyrantQuery::current - Returns the current element
    • TokyoTyrantQuery::hint - Get the hint string of the query
    • TokyoTyrantQuery::key - Returns the current key
    • TokyoTyrantQuery::metaSearch - Retrieve records with multiple queries
    • TokyoTyrantQuery::next - Moves the iterator to next entry
    • TokyoTyrantQuery::out - Removes records based on query
    • TokyoTyrantQuery::rewind - Rewinds the iterator
    • TokyoTyrantQuery::search - Searches records
    • TokyoTyrantQuery::setLimit - Limit results
    • TokyoTyrantQuery::setOrder - Orders results
    • TokyoTyrantQuery::valid - Checks the validity of current item
    • TokyoTyrantQuery::__construct - Construct a new query
    • TokyoTyrantTable::add - Adds a record
    • TokyoTyrantTable::genUid - Generate unique id
    • TokyoTyrantTable::get - Get a row
    • TokyoTyrantTable::getIterator - Get an iterator
    • TokyoTyrantTable::getQuery - Get a query object
    • TokyoTyrantTable::out - Remove records
    • TokyoTyrantTable::put - Store a row
    • TokyoTyrantTable::putCat - Concatenates to a row
    • TokyoTyrantTable::putKeep - Put a new record
    • TokyoTyrantTable::putNr - Puts value
    • TokyoTyrantTable::putShl - Concatenates to a record
    • TokyoTyrantTable::setIndex - Sets index
    • touch - Setzt die Zugriffs- und Modifikationszeit einer Datei
    • trader_acos - Vector Trigonometric ACos
    • trader_ad - Chaikin A/D Line
    • trader_add - Vector Arithmetic Add
    • trader_adosc - Chaikin A/D Oscillator
    • trader_adx - Average Directional Movement Index
    • trader_adxr - Average Directional Movement Index Rating
    • trader_apo - Absolute Price Oscillator
    • trader_aroon - Aroon
    • trader_aroonosc - Aroon Oscillator
    • trader_asin - Vector Trigonometric ASin
    • trader_atan - Vector Trigonometric ATan
    • trader_atr - Average True Range
    • trader_avgprice - Average Price
    • trader_bbands - Bollinger Bands
    • trader_beta - Beta
    • trader_bop - Balance Of Power
    • trader_cci - Commodity Channel Index
    • trader_cdl2crows - Two Crows
    • trader_cdl3blackcrows - Three Black Crows
    • trader_cdl3inside - Three Inside Up/Down
    • trader_cdl3linestrike - Three-Line Strike
    • trader_cdl3outside - Three Outside Up/Down
    • trader_cdl3starsinsouth - Three Stars In The South
    • trader_cdl3whitesoldiers - Three Advancing White Soldiers
    • trader_cdlabandonedbaby - Abandoned Baby
    • trader_cdladvanceblock - Advance Block
    • trader_cdlbelthold - Belt-hold
    • trader_cdlbreakaway - Breakaway
    • trader_cdlclosingmarubozu - Closing Marubozu
    • trader_cdlconcealbabyswall - Concealing Baby Swallow
    • trader_cdlcounterattack - Counterattack
    • trader_cdldarkcloudcover - Dark Cloud Cover
    • trader_cdldoji - Doji
    • trader_cdldojistar - Doji Star
    • trader_cdldragonflydoji - Dragonfly Doji
    • trader_cdlengulfing - Engulfing Pattern
    • trader_cdleveningdojistar - Evening Doji Star
    • trader_cdleveningstar - Evening Star
    • trader_cdlgapsidesidewhite - Up/Down-gap side-by-side white lines
    • trader_cdlgravestonedoji - Gravestone Doji
    • trader_cdlhammer - Hammer
    • trader_cdlhangingman - Hanging Man
    • trader_cdlharami - Harami Pattern
    • trader_cdlharamicross - Harami Cross Pattern
    • trader_cdlhighwave - High-Wave Candle
    • trader_cdlhikkake - Hikkake Pattern
    • trader_cdlhikkakemod - Modified Hikkake Pattern
    • trader_cdlhomingpigeon - Homing Pigeon
    • trader_cdlidentical3crows - Identical Three Crows
    • trader_cdlinneck - In-Neck Pattern
    • trader_cdlinvertedhammer - Inverted Hammer
    • trader_cdlkicking - Kicking
    • trader_cdlkickingbylength - Kicking - bull/bear determined by the longer marubozu
    • trader_cdlladderbottom - Ladder Bottom
    • trader_cdllongleggeddoji - Long Legged Doji
    • trader_cdllongline - Long Line Candle
    • trader_cdlmarubozu - Marubozu
    • trader_cdlmatchinglow - Matching Low
    • trader_cdlmathold - Mat Hold
    • trader_cdlmorningdojistar - Morning Doji Star
    • trader_cdlmorningstar - Morning Star
    • trader_cdlonneck - On-Neck Pattern
    • trader_cdlpiercing - Piercing Pattern
    • trader_cdlrickshawman - Rickshaw Man
    • trader_cdlrisefall3methods - Rising/Falling Three Methods
    • trader_cdlseparatinglines - Separating Lines
    • trader_cdlshootingstar - Shooting Star
    • trader_cdlshortline - Short Line Candle
    • trader_cdlspinningtop - Spinning Top
    • trader_cdlstalledpattern - Stalled Pattern
    • trader_cdlsticksandwich - Stick Sandwich
    • trader_cdltakuri - Takuri (Dragonfly Doji with very long lower shadow)
    • trader_cdltasukigap - Tasuki Gap
    • trader_cdlthrusting - Thrusting Pattern
    • trader_cdltristar - Tristar Pattern
    • trader_cdlunique3river - Unique 3 River
    • trader_cdlupsidegap2crows - Upside Gap Two Crows
    • trader_cdlxsidegap3methods - Upside/Downside Gap Three Methods
    • trader_ceil - Vector Ceil
    • trader_cmo - Chande Momentum Oscillator
    • trader_correl - Pearson's Correlation Coefficient (r)
    • trader_cos - Vector Trigonometric Cos
    • trader_cosh - Vector Trigonometric Cosh
    • trader_dema - Double Exponential Moving Average
    • trader_div - Vector Arithmetic Div
    • trader_dx - Directional Movement Index
    • trader_ema - Exponential Moving Average
    • trader_errno - Get error code
    • trader_exp - Vector Arithmetic Exp
    • trader_floor - Vector Floor
    • trader_get_compat - Get compatibility mode
    • trader_get_unstable_period - Get unstable period
    • trader_ht_dcperiod - Hilbert Transform - Dominant Cycle Period
    • trader_ht_dcphase - Hilbert Transform - Dominant Cycle Phase
    • trader_ht_phasor - Hilbert Transform - Phasor Components
    • trader_ht_sine - Hilbert Transform - SineWave
    • trader_ht_trendline - Hilbert Transform - Instantaneous Trendline
    • trader_ht_trendmode - Hilbert Transform - Trend vs Cycle Mode
    • trader_kama - Kaufman Adaptive Moving Average
    • trader_linearreg - Linear Regression
    • trader_linearreg_angle - Linear Regression Angle
    • trader_linearreg_intercept - Linear Regression Intercept
    • trader_linearreg_slope - Linear Regression Slope
    • trader_ln - Vector Log Natural
    • trader_log10 - Vector Log10
    • trader_ma - Moving average
    • trader_macd - Moving Average Convergence/Divergence
    • trader_macdext - MACD with controllable MA type
    • trader_macdfix - Moving Average Convergence/Divergence Fix 12/26
    • trader_mama - MESA Adaptive Moving Average
    • trader_mavp - Moving average with variable period
    • trader_max - Highest value over a specified period
    • trader_maxindex - Index of highest value over a specified period
    • trader_medprice - Median Price
    • trader_mfi - Money Flow Index
    • trader_midpoint - MidPoint over period
    • trader_midprice - Midpoint Price over period
    • trader_min - Lowest value over a specified period
    • trader_minindex - Index of lowest value over a specified period
    • trader_minmax - Lowest and highest values over a specified period
    • trader_minmaxindex - Indexes of lowest and highest values over a specified period
    • trader_minus_di - Minus Directional Indicator
    • trader_minus_dm - Minus Directional Movement
    • trader_mom - Momentum
    • trader_mult - Vector Arithmetic Mult
    • trader_natr - Normalized Average True Range
    • trader_obv - On Balance Volume
    • trader_plus_di - Plus Directional Indicator
    • trader_plus_dm - Plus Directional Movement
    • trader_ppo - Percentage Price Oscillator
    • trader_roc - Rate of change : ((price/prevPrice)-1)*100
    • trader_rocp - Rate of change Percentage: (price-prevPrice)/prevPrice
    • trader_rocr - Rate of change ratio: (price/prevPrice)
    • trader_rocr100 - Rate of change ratio 100 scale: (price/prevPrice)*100
    • trader_rsi - Relative Strength Index
    • trader_sar - Parabolic SAR
    • trader_sarext - Parabolic SAR - Extended
    • trader_set_compat - Set compatibility mode
    • trader_set_unstable_period - Set unstable period
    • trader_sin - Vector Trigonometric Sin
    • trader_sinh - Vector Trigonometric Sinh
    • trader_sma - Simple Moving Average
    • trader_sqrt - Vector Square Root
    • trader_stddev - Standard Deviation
    • trader_stoch - Stochastic
    • trader_stochf - Stochastic Fast
    • trader_stochrsi - Stochastic Relative Strength Index
    • trader_sub - Vector Arithmetic Subtraction
    • trader_sum - Summation
    • trader_t3 - Triple Exponential Moving Average (T3)
    • trader_tan - Vector Trigonometric Tan
    • trader_tanh - Vector Trigonometric Tanh
    • trader_tema - Triple Exponential Moving Average
    • trader_trange - True Range
    • trader_trima - Triangular Moving Average
    • trader_trix - 1-day Rate-Of-Change (ROC) of a Triple Smooth EMA
    • trader_tsf - Time Series Forecast
    • trader_typprice - Typical Price
    • trader_ultosc - Ultimate Oscillator
    • trader_var - Variance
    • trader_wclprice - Weighted Close Price
    • trader_willr - Williams' %R
    • trader_wma - Weighted Moving Average
    • trait_exists - Checks if the trait exists
    • Transliterator::create - Create a transliterator
    • Transliterator::createFromRules - Create transliterator from rules
    • Transliterator::createInverse - Create an inverse transliterator
    • Transliterator::getErrorCode - Get last error code
    • Transliterator::getErrorMessage - Get last error message
    • Transliterator::listIDs - Get transliterator IDs
    • Transliterator::transliterate - Transliterate a string
    • Transliterator::__construct - Private constructor to deny instantiation
    • trigger_error - Erzeugt eine benutzerdefinierte Fehlermeldung/Warnung/Benachrichtigung
    • trim - Entfernt Whitespaces (oder andere Zeichen) am Anfang und Ende eines Strings
  • u
    • uasort - Sortiert ein Array mittels einer benutzerdefinierten Vergleichsfunktion und behält Indexassoziationen bei
    • ucfirst - Verwandelt das erste Zeichen eines Strings in einen Großbuchstaben
    • UConverter::convert - Convert string from one charset to another
    • UConverter::fromUCallback - Default "from" callback function
    • UConverter::getAliases - Get the aliases of the given name
    • UConverter::getAvailable - Get the available canonical converter names
    • UConverter::getDestinationEncoding - Get the destination encoding
    • UConverter::getDestinationType - Get the destination converter type
    • UConverter::getErrorCode - Get last error code on the object
    • UConverter::getErrorMessage - Get last error message on the object
    • UConverter::getSourceEncoding - Get the source encoding
    • UConverter::getSourceType - Get the source convertor type
    • UConverter::getStandards - Get standards associated to converter names
    • UConverter::getSubstChars - Get substitution chars
    • UConverter::reasonText - Get string representation of the callback reason
    • UConverter::setDestinationEncoding - Set the destination encoding
    • UConverter::setSourceEncoding - Set the source encoding
    • UConverter::setSubstChars - Set the substitution chars
    • UConverter::toUCallback - Default "to" callback function
    • UConverter::transcode - Convert string from one charset to another
    • UConverter::__construct - Create UConverter object
    • ucwords - Wandelt jeden ersten Buchstaben eines Wortes innerhalb eines Strings in einen Großbuchstaben
    • udm_add_search_limit - Verschiedene Beschränkungen bei der Suche anwenden
    • udm_alloc_agent - Allocate mnoGoSearch session
    • udm_alloc_agent_array - Allocate mnoGoSearch session
    • udm_api_version - Gibt die Version der mnoGoSearch API zurück.
    • udm_cat_list - Liefert alle Kategorien auf der selben Ebene wie der aktuellen zurück.
    • udm_cat_path - Liefert den Pfad zur aktuellen Kategorie zurück.
    • udm_check_charset - Überprüft, ob der übergebene Zeichensatz mnoGoSearch bekannt ist
    • udm_clear_search_limits - Löscht alle mnoGoSearch Suchrestriktionen
    • udm_crc32 - Gibt eine CRC32-Prüfsumme des übergebenen Strings zurück.
    • udm_errno - Liefert den mnoGoSearch Fehlercode zurück.
    • udm_error - Liefert eine mnoGoSearch Fehlermeldung zurück.
    • udm_find - Führe eine Suche durch.
    • udm_free_agent - Löscht eine mnoGoSearch Session
    • udm_free_ispell_data - Gibt den Speicher frei, der für ISpell alloziiert wurde
    • udm_free_res - Löscht ein mnoGoSearch-Ergebis
    • udm_get_doc_count - Liefert die Anzahl aller Dokumente in der Datenbank zurück
    • udm_get_res_field - Erhalte ein mnoGoSearch Ergebenisfeld
    • udm_get_res_param - Liefert die mnoGoSearch Ergbnisparameter zurück.
    • udm_hash32 - Return Hash32 checksum of given string
    • udm_load_ispell_data - Lade ISpell-Daten
    • udm_set_agent_param - Setzt die Parameter der aktuellen mnoGoSearch Session
    • UI\Area::onDraw - Draw Callback
    • UI\Area::onKey - Key Callback
    • UI\Area::onMouse - Mouse Callback
    • UI\Area::redraw - Redraw Area
    • UI\Area::scrollTo - Area Scroll
    • UI\Area::setSize - Set Size
    • UI\Control::destroy - Destroy Control
    • UI\Control::disable - Disable Control
    • UI\Control::enable - Enable Control
    • UI\Control::getParent - Get Parent Control
    • UI\Control::getTopLevel - Get Top Level
    • UI\Control::hide - Hide Control
    • UI\Control::isEnabled - Determine if Control is enabled
    • UI\Control::isVisible - Determine if Control is visible
    • UI\Control::setParent - Set Parent Control
    • UI\Control::show - Control Show
    • UI\Controls\Box::append - Append Control
    • UI\Controls\Box::delete - Delete Control
    • UI\Controls\Box::getOrientation - Get Orientation
    • UI\Controls\Box::isPadded - Padding Detection
    • UI\Controls\Box::setPadded - Set Padding
    • UI\Controls\Box::__construct - Construct a new Box
    • UI\Controls\Button::getText - Get Text
    • UI\Controls\Button::onClick - Click Handler
    • UI\Controls\Button::setText - Set Text
    • UI\Controls\Button::__construct - Construct a new Button
    • UI\Controls\Check::getText - Get Text
    • UI\Controls\Check::isChecked - Checked Detection
    • UI\Controls\Check::onToggle - Toggle Callback
    • UI\Controls\Check::setChecked - Set Checked
    • UI\Controls\Check::setText - Set Text
    • UI\Controls\Check::__construct - Construct a new Check
    • UI\Controls\ColorButton::getColor - Get Color
    • UI\Controls\ColorButton::onChange - Change Handler
    • UI\Controls\ColorButton::setColor - Set Color
    • UI\Controls\Combo::append - Append Option
    • UI\Controls\Combo::getSelected - Get Selected Option
    • UI\Controls\Combo::onSelected - Selected Handler
    • UI\Controls\Combo::setSelected - Set Selected Option
    • UI\Controls\EditableCombo::append - Append Option
    • UI\Controls\EditableCombo::getText - Get Text
    • UI\Controls\EditableCombo::onChange - Change Handler
    • UI\Controls\EditableCombo::setText - Set Text
    • UI\Controls\Entry::getText - Get Text
    • UI\Controls\Entry::isReadOnly - Detect Read Only
    • UI\Controls\Entry::onChange - Change Handler
    • UI\Controls\Entry::setReadOnly - Set Read Only
    • UI\Controls\Entry::setText - Set Text
    • UI\Controls\Entry::__construct - Construct a new Entry
    • UI\Controls\Form::append - Append Control
    • UI\Controls\Form::delete - Delete Control
    • UI\Controls\Form::isPadded - Padding Detection
    • UI\Controls\Form::setPadded - Set Padding
    • UI\Controls\Grid::append - Append Control
    • UI\Controls\Grid::isPadded - Padding Detection
    • UI\Controls\Grid::setPadded - Set Padding
    • UI\Controls\Group::append - Append Control
    • UI\Controls\Group::getTitle - Get Title
    • UI\Controls\Group::hasMargin - Margin Detection
    • UI\Controls\Group::setMargin - Set Margin
    • UI\Controls\Group::setTitle - Set Title
    • UI\Controls\Group::__construct - Construct a new Group
    • UI\Controls\Label::getText - Get Text
    • UI\Controls\Label::setText - Set Text
    • UI\Controls\Label::__construct - Construct a new Label
    • UI\Controls\MultilineEntry::append - Append Text
    • UI\Controls\MultilineEntry::getText - Get Text
    • UI\Controls\MultilineEntry::isReadOnly - Read Only Detection
    • UI\Controls\MultilineEntry::onChange - Change Handler
    • UI\Controls\MultilineEntry::setReadOnly - Set Read Only
    • UI\Controls\MultilineEntry::setText - Set Text
    • UI\Controls\MultilineEntry::__construct - Construct a new Multiline Entry
    • UI\Controls\Picker::__construct - Construct a new Picker
    • UI\Controls\Progress::getValue - Get Value
    • UI\Controls\Progress::setValue - Set Value
    • UI\Controls\Radio::append - Append Option
    • UI\Controls\Radio::getSelected - Get Selected Option
    • UI\Controls\Radio::onSelected - Selected Handler
    • UI\Controls\Radio::setSelected - Set Selected Option
    • UI\Controls\Separator::__construct - Construct a new Separator
    • UI\Controls\Slider::getValue - Get Value
    • UI\Controls\Slider::onChange - Change Handler
    • UI\Controls\Slider::setValue - Set Value
    • UI\Controls\Slider::__construct - Construct a new Slider
    • UI\Controls\Spin::getValue - Get Value
    • UI\Controls\Spin::onChange - Change Handler
    • UI\Controls\Spin::setValue - Set Value
    • UI\Controls\Spin::__construct - Construct a new Spin
    • UI\Controls\Tab::append - Append Page
    • UI\Controls\Tab::delete - Delete Page
    • UI\Controls\Tab::hasMargin - Margin Detection
    • UI\Controls\Tab::insertAt - Insert Page
    • UI\Controls\Tab::pages - Page Count
    • UI\Controls\Tab::setMargin - Set Margin
    • UI\Draw\Brush::getColor - Get Color
    • UI\Draw\Brush::setColor - Set Color
    • UI\Draw\Brush::__construct - Construct a new Brush
    • UI\Draw\Brush\Gradient::addStop - Stop Manipulation
    • UI\Draw\Brush\Gradient::delStop - Stop Manipulation
    • UI\Draw\Brush\Gradient::setStop - Stop Manipulation
    • UI\Draw\Brush\LinearGradient::__construct - Construct a Linear Gradient
    • UI\Draw\Brush\RadialGradient::__construct - Construct a new Radial Gradient
    • UI\Draw\Color::getChannel - Color Manipulation
    • UI\Draw\Color::setChannel - Color Manipulation
    • UI\Draw\Color::__construct - Construct new Color
    • UI\Draw\Matrix::invert - Invert Matrix
    • UI\Draw\Matrix::isInvertible - Invertible Detection
    • UI\Draw\Matrix::multiply - Multiply Matrix
    • UI\Draw\Matrix::rotate - Rotate Matrix
    • UI\Draw\Matrix::scale - Scale Matrix
    • UI\Draw\Matrix::skew - Skew Matrix
    • UI\Draw\Matrix::translate - Translate Matrix
    • UI\Draw\Path::addRectangle - Draw a Rectangle
    • UI\Draw\Path::arcTo - Draw an Arc
    • UI\Draw\Path::bezierTo - Draw Bezier Curve
    • UI\Draw\Path::closeFigure - Close Figure
    • UI\Draw\Path::end - Finalize Path
    • UI\Draw\Path::lineTo - Draw a Line
    • UI\Draw\Path::newFigure - Draw Figure
    • UI\Draw\Path::newFigureWithArc - Draw Figure with Arc
    • UI\Draw\Path::__construct - Construct a new Path
    • UI\Draw\Pen::clip - Clip a Path
    • UI\Draw\Pen::fill - Fill a Path
    • UI\Draw\Pen::restore - Restore
    • UI\Draw\Pen::save - Save
    • UI\Draw\Pen::stroke - Stroke a Path
    • UI\Draw\Pen::transform - Matrix Transform
    • UI\Draw\Pen::write - Draw Text at Point
    • UI\Draw\Stroke::getCap - Get Line Cap
    • UI\Draw\Stroke::getJoin - Get Line Join
    • UI\Draw\Stroke::getMiterLimit - Get Miter Limit
    • UI\Draw\Stroke::getThickness - Get Thickness
    • UI\Draw\Stroke::setCap - Set Line Cap
    • UI\Draw\Stroke::setJoin - Set Line Join
    • UI\Draw\Stroke::setMiterLimit - Set Miter Limit
    • UI\Draw\Stroke::setThickness - Set Thickness
    • UI\Draw\Stroke::__construct - Construct a new Stroke
    • UI\Draw\Text\Font::getAscent - Font Metrics
    • UI\Draw\Text\Font::getDescent - Font Metrics
    • UI\Draw\Text\Font::getLeading - Font Metrics
    • UI\Draw\Text\Font::getUnderlinePosition - Font Metrics
    • UI\Draw\Text\Font::getUnderlineThickness - Font Metrics
    • UI\Draw\Text\Font::__construct - Construct a new Font
    • UI\Draw\Text\Font\Descriptor::getFamily - Get Font Family
    • UI\Draw\Text\Font\Descriptor::getItalic - Style Detection
    • UI\Draw\Text\Font\Descriptor::getSize - Size Detection
    • UI\Draw\Text\Font\Descriptor::getStretch - Style Detection
    • UI\Draw\Text\Font\Descriptor::getWeight - Weight Detection
    • UI\Draw\Text\Font\Descriptor::__construct - Construct a new Font Descriptor
    • UI\Draw\Text\Font\fontFamilies - Retrieve Font Families
    • UI\Draw\Text\Layout::setColor - Set Color
    • UI\Draw\Text\Layout::setWidth - Set Width
    • UI\Draw\Text\Layout::__construct - Construct a new Text Layout
    • UI\Executor::kill - Stop Executor
    • UI\Executor::onExecute - Execution Callback
    • UI\Executor::setInterval - Interval Manipulation
    • UI\Executor::__construct - Construct a new Executor
    • UI\Menu::append - Append Menu Item
    • UI\Menu::appendAbout - Append About Menu Item
    • UI\Menu::appendCheck - Append Checkable Menu Item
    • UI\Menu::appendPreferences - Append Preferences Menu Item
    • UI\Menu::appendQuit - Append Quit Menu Item
    • UI\Menu::appendSeparator - Append Menu Item Separator
    • UI\Menu::__construct - Construct a new Menu
    • UI\MenuItem::disable - Disable Menu Item
    • UI\MenuItem::enable - Enable Menu Item
    • UI\MenuItem::isChecked - Detect Checked
    • UI\MenuItem::onClick - On Click Callback
    • UI\MenuItem::setChecked - Set Checked
    • UI\Point::at - Size Coercion
    • UI\Point::getX - Retrieves X
    • UI\Point::getY - Retrieves Y
    • UI\Point::setX - Set X
    • UI\Point::setY - Set Y
    • UI\Point::__construct - Construct a new Point
    • UI\quit - Quit UI Loop
    • UI\run - Enter UI Loop
    • UI\Size::getHeight - Retrieves Height
    • UI\Size::getWidth - Retrives Width
    • UI\Size::of - Point Coercion
    • UI\Size::setHeight - Set Height
    • UI\Size::setWidth - Set Width
    • UI\Size::__construct - Construct a new Size
    • UI\Window::add - Add a Control
    • UI\Window::error - Show Error Box
    • UI\Window::getSize - Get Window Size
    • UI\Window::getTitle - Get Title
    • UI\Window::hasBorders - Border Detection
    • UI\Window::hasMargin - Margin Detection
    • UI\Window::isFullScreen - Full Screen Detection
    • UI\Window::msg - Show Message Box
    • UI\Window::onClosing - Closing Callback
    • UI\Window::open - Open Dialog
    • UI\Window::save - Save Dialog
    • UI\Window::setBorders - Border Use
    • UI\Window::setFullScreen - Full Screen Use
    • UI\Window::setMargin - Margin Use
    • UI\Window::setSize - Set Size
    • UI\Window::setTitle - Window Title
    • UI\Window::__construct - Construct a new Window
    • uksort - Sortiert ein Array nach Schlüsseln mittels einer benutzerdefinierten Vergleichsfunktion
    • umask - Changes the current umask
    • uniqid - Erzeugt eine eindeutige ID
    • unixtojd - Konvertiert Unix-Timestamp in Julianisches Datum
    • unlink - Löscht eine Datei
    • unpack - Entpackt die Daten eines Binär-Strings
    • unregister_tick_function - De-register a function for execution on each tick
    • unserialize - Erzeugt aus einem gespeicherten Datenformat einen Wert in PHP
    • unset - Löschen einer angegebenen Variablen
    • untaint - Untaint strings
    • uopz_backup - Backup a function
    • uopz_compose - Compose a class
    • uopz_copy - Copy a function
    • uopz_delete - Delete a function
    • uopz_extend - Extend a class at runtime
    • uopz_flags - Get or set flags on function or class
    • uopz_function - Creates a function at runtime
    • uopz_implement - Implements an interface at runtime
    • uopz_overload - Overload a VM opcode
    • uopz_redefine - Redefine a constant
    • uopz_rename - Rename a function at runtime
    • uopz_restore - Restore a previously backed up function
    • uopz_undefine - Undefine a constant
    • urldecode - Dekodiert eine URL-kodierte Zeichenkette
    • urlencode - URL-kodiert einen String
    • user_error - Alias von trigger_error
    • use_soap_error_handler - Definiert, ob SOAP-Errorhandler benutzt werden soll
    • usleep - Programm-Verzögerung in Mikrosekunden
    • usort - Sortiert ein Array nach Werten mittels einer benutzerdefinierten Vergleichsfunktion
    • utf8_decode - Konvertiert eine als UTF-8 kodierte ISO-8859-1-Zeichenkette in eine einfache ISO-8859-1-Zeichenkette
    • utf8_encode - Konvertiert eine ISO-8859-1-Zeichenkette in UTF-8
  • v
    • V8Js::executeString - Führt JavaScript-Code aus
    • V8Js::getExtensions - Gibt ein Array der registrierten Erweiterungen zurück
    • V8Js::getPendingException - Gibt ausstehende ungefangene JavaScript-Exception zurück.
    • V8Js::registerExtension - Registriert JavaScript-Erweiterungen für V8Js
    • V8Js::__construct - Erstellt ein neues V8Js-Objekt
    • V8JsException::getJsFileName - The getJsFileName purpose
    • V8JsException::getJsLineNumber - The getJsLineNumber purpose
    • V8JsException::getJsSourceLine - The getJsSourceLine purpose
    • V8JsException::getJsTrace - The getJsTrace purpose
    • variant_abs - Returns the absolute value of a variant
    • variant_add - "Adds" two variant values together and returns the result
    • variant_and - Performs a bitwise AND operation between two variants
    • variant_cast - Convert a variant into a new variant object of another type
    • variant_cat - concatenates two variant values together and returns the result
    • variant_cmp - Compares two variants
    • variant_date_from_timestamp - Returns a variant date representation of a Unix timestamp
    • variant_date_to_timestamp - Converts a variant date/time value to Unix timestamp
    • variant_div - Returns the result from dividing two variants
    • variant_eqv - Performs a bitwise equivalence on two variants
    • variant_fix - Returns the integer portion of a variant
    • variant_get_type - Returns the type of a variant object
    • variant_idiv - Converts variants to integers and then returns the result from dividing them
    • variant_imp - Performs a bitwise implication on two variants
    • variant_int - Returns the integer portion of a variant
    • variant_mod - Divides two variants and returns only the remainder
    • variant_mul - Multiplies the values of the two variants
    • variant_neg - Performs logical negation on a variant
    • variant_not - Performs bitwise not negation on a variant
    • variant_or - Performs a logical disjunction on two variants
    • variant_pow - Returns the result of performing the power function with two variants
    • variant_round - Rounds a variant to the specified number of decimal places
    • variant_set - Assigns a new value for a variant object
    • variant_set_type - Convert a variant into another type "in-place"
    • variant_sub - Subtracts the value of the right variant from the left variant value
    • variant_xor - Performs a logical exclusion on two variants
    • VarnishAdmin::auth - Authenticate on a varnish instance
    • VarnishAdmin::ban - Ban URLs using a VCL expression
    • VarnishAdmin::banUrl - Ban an URL using a VCL expression
    • VarnishAdmin::clearPanic - Clear varnish instance panic messages
    • VarnishAdmin::connect - Connect to a varnish instance administration interface
    • VarnishAdmin::disconnect - Disconnect from a varnish instance administration interface
    • VarnishAdmin::getPanic - Get the last panic message on a varnish instance
    • VarnishAdmin::getParams - Fetch current varnish instance configuration parameters
    • VarnishAdmin::isRunning - Check if the varnish slave process is currently running
    • VarnishAdmin::setCompat - Set the class compat configuration param
    • VarnishAdmin::setHost - Set the class host configuration param
    • VarnishAdmin::setIdent - Set the class ident configuration param
    • VarnishAdmin::setParam - Set configuration param on the current varnish instance
    • VarnishAdmin::setPort - Set the class port configuration param
    • VarnishAdmin::setSecret - Set the class secret configuration param
    • VarnishAdmin::setTimeout - Set the class timeout configuration param
    • VarnishAdmin::start - Start varnish worker process
    • VarnishAdmin::stop - Stop varnish worker process
    • VarnishAdmin::__construct - VarnishAdmin constructor
    • VarnishLog::getLine - Get next log line
    • VarnishLog::getTagName - Get the log tag string representation by its index
    • VarnishLog::__construct - Varnishlog constructor
    • VarnishStat::getSnapshot - Get the current varnish instance statistics snapshot
    • VarnishStat::__construct - VarnishStat constructor
    • var_dump - Gibt alle Informationen zu einer Variablen aus
    • var_export - Gibt den Inhalt einer Variablen als parsbaren PHP-Code zurück
    • version_compare - Vergleicht zwei Versionsnummern im PHP-Stil
    • vfprintf - Schreibt einen formatierten String in einen Stream
    • virtual - Führt eine Apache-Unteranfrage durch
    • vpopmail_add_alias_domain - Add an alias for a virtual domain
    • vpopmail_add_alias_domain_ex - Add alias to an existing virtual domain
    • vpopmail_add_domain - Add a new virtual domain
    • vpopmail_add_domain_ex - Add a new virtual domain
    • vpopmail_add_user - Add a new user to the specified virtual domain
    • vpopmail_alias_add - Insert a virtual alias
    • vpopmail_alias_del - Deletes all virtual aliases of a user
    • vpopmail_alias_del_domain - Deletes all virtual aliases of a domain
    • vpopmail_alias_get - Get all lines of an alias for a domain
    • vpopmail_alias_get_all - Get all lines of an alias for a domain
    • vpopmail_auth_user - Attempt to validate a username/domain/password
    • vpopmail_del_domain - Delete a virtual domain
    • vpopmail_del_domain_ex - Delete a virtual domain
    • vpopmail_del_user - Delete a user from a virtual domain
    • vpopmail_error - Get text message for last vpopmail error
    • vpopmail_passwd - Change a virtual user's password
    • vpopmail_set_user_quota - Sets a virtual user's quota
    • vprintf - Gibt einen formatierten String aus
    • vsprintf - Gibt einen formatierten String zurück
  • w
    • wddx_add_vars - Fügt dem WDDX-Paket mit der übergebenen ID Werte hinzu
    • wddx_deserialize - Deserialisiert ein WDDX Paket
    • wddx_packet_end - Schließt das WDDX-Paket mit der angegebenen ID
    • wddx_packet_start - Beginnt ein neues WDDX-Paket mit einer 'Structure'
    • wddx_serialize_value - Serialisiert einen einzelnen Wert in ein WDDX-Paket
    • wddx_serialize_vars - Serialisiert Variablen in WDDX Pakete
    • WeakMap::count - Counts the number of live entries in the map
    • WeakMap::current - Returns the current value under iteration
    • WeakMap::key - Returns the current key under iteration.
    • WeakMap::next - Advances to the next map element
    • WeakMap::offsetExists - Checks whether a certain object is in the map
    • WeakMap::offsetGet - Returns the value pointed to by a certain object
    • WeakMap::offsetSet - Updates the map with a new key-value pair
    • WeakMap::offsetUnset - Removes an entry from the map
    • WeakMap::rewind - Rewinds the iterator to the beginning of the map
    • WeakMap::valid - Returns whether the iterator is still on a valid map element
    • WeakMap::__construct - Constructs a new map
    • Weakref::acquire - Acquires a strong reference on that object
    • Weakref::get - Returns the object pointed to by the weak reference
    • Weakref::release - Releases a previously acquired reference
    • Weakref::valid - Checks whether the object referenced still exists
    • Weakref::__construct - Constructs a new weak reference
    • win32_continue_service - Resumes a paused service
    • win32_create_service - Creates a new service entry in the SCM database
    • win32_delete_service - Deletes a service entry from the SCM database
    • win32_get_last_control_message - Returns the last control message that was sent to this service
    • win32_pause_service - Pauses a service
    • win32_ps_list_procs - List running processes
    • win32_ps_stat_mem - Stat memory utilization
    • win32_ps_stat_proc - Stat process
    • win32_query_service_status - Queries the status of a service
    • win32_set_service_status - Update the service status
    • win32_start_service - Starts a service
    • win32_start_service_ctrl_dispatcher - Registers the script with the SCM, so that it can act as the service with the given name
    • win32_stop_service - Stops a service
    • wincache_fcache_fileinfo - Retrieves information about files cached in the file cache
    • wincache_fcache_meminfo - Retrieves information about file cache memory usage
    • wincache_lock - Acquires an exclusive lock on a given key
    • wincache_ocache_fileinfo - Retrieves information about files cached in the opcode cache
    • wincache_ocache_meminfo - Retrieves information about opcode cache memory usage
    • wincache_refresh_if_changed - Refreshes the cache entries for the cached files
    • wincache_rplist_fileinfo - Retrieves information about resolve file path cache
    • wincache_rplist_meminfo - Retrieves information about memory usage by the resolve file path cache
    • wincache_scache_info - Retrieves information about files cached in the session cache
    • wincache_scache_meminfo - Retrieves information about session cache memory usage
    • wincache_ucache_add - Adds a variable in user cache only if variable does not already exist in the cache
    • wincache_ucache_cas - Compares the variable with old value and assigns new value to it
    • wincache_ucache_clear - Deletes entire content of the user cache
    • wincache_ucache_dec - Decrements the value associated with the key
    • wincache_ucache_delete - Deletes variables from the user cache
    • wincache_ucache_exists - Checks if a variable exists in the user cache
    • wincache_ucache_get - Gets a variable stored in the user cache
    • wincache_ucache_inc - Increments the value associated with the key
    • wincache_ucache_info - Retrieves information about data stored in the user cache
    • wincache_ucache_meminfo - Retrieves information about user cache memory usage
    • wincache_ucache_set - Adds a variable in user cache and overwrites a variable if it already exists in the cache
    • wincache_unlock - Releases an exclusive lock on a given key
    • wordwrap - Bricht einen String nach einer bestimmten Anzahl Zeichen um
    • Worker::collect - Collect references to completed tasks
    • Worker::getStacked - Gets the remaining stack size
    • Worker::isShutdown - State Detection
    • Worker::isWorking - State Detection
    • Worker::shutdown - Shutdown the worker
    • Worker::stack - Stacking work
    • Worker::unstack - Unstacking work
  • x
    • xattr_get - Get an extended attribute
    • xattr_list - Get a list of extended attributes
    • xattr_remove - Remove an extended attribute
    • xattr_set - Set an extended attribute
    • xattr_supported - Check if filesystem supports extended attributes
    • xdiff_file_bdiff - Make binary diff of two files
    • xdiff_file_bdiff_size - Read a size of file created by applying a binary diff
    • xdiff_file_bpatch - Patch a file with a binary diff
    • xdiff_file_diff - Make unified diff of two files
    • xdiff_file_diff_binary - Alias of xdiff_file_bdiff
    • xdiff_file_merge3 - Merge 3 files into one
    • xdiff_file_patch - Patch a file with an unified diff
    • xdiff_file_patch_binary - Alias of xdiff_file_bpatch
    • xdiff_file_rabdiff - Make binary diff of two files using the Rabin's polynomial fingerprinting algorithm
    • xdiff_string_bdiff - Make binary diff of two strings
    • xdiff_string_bdiff_size - Read a size of file created by applying a binary diff
    • xdiff_string_bpatch - Patch a string with a binary diff
    • xdiff_string_diff - Make unified diff of two strings
    • xdiff_string_diff_binary - Alias of xdiff_string_bdiff
    • xdiff_string_merge3 - Merge 3 strings into one
    • xdiff_string_patch - Patch a string with an unified diff
    • xdiff_string_patch_binary - Alias of xdiff_string_bpatch
    • xdiff_string_rabdiff - Make binary diff of two strings using the Rabin's polynomial fingerprinting algorithm
    • xhprof_disable - Stops xhprof profiler
    • xhprof_enable - Start xhprof profiler
    • xhprof_sample_disable - Stops xhprof sample profiler
    • xhprof_sample_enable - Start XHProf profiling in sampling mode
    • XMLDiff\Base::diff - Produce diff of two XML documents
    • XMLDiff\Base::merge - Produce new XML document based on diff
    • XMLDiff\Base::__construct - Constructor
    • XMLDiff\DOM::diff - Diff two DOMDocument objects
    • XMLDiff\DOM::merge - Produce merged DOMDocument
    • XMLDiff\File::diff - Diff two XML files
    • XMLDiff\File::merge - Produce merged XML document
    • XMLDiff\Memory::diff - Diff two XML documents
    • XMLDiff\Memory::merge - Produce merged XML document
    • XMLReader->moveToElement - Zeiger positionieren auf das Elternelement des aktuellen Attributes
    • XMLReader::close - XMLReader-Eingabe beenden
    • XMLReader::expand - Gibt eine Kopie des aktuellen Knotens als DOM-Objekt zurück
    • XMLReader::getAttribute - Gibt den Wert eines Attributes nach Namen zurück
    • XMLReader::getAttributeNo - Gibt den Wert eines Attributes nach Position zurück
    • XMLReader::getAttributeNs - Gibt den Wert eines Attributes nach lokalem Namen und URI zurück
    • XMLReader::getParserProperty - Zeigt an, ob die angegebene Eigenschaft gesetzt wurde
    • XMLReader::isValid - Zeigt an, ob das geparste Dokument valide ist
    • XMLReader::lookupNamespace - Prüfen, ob ein Namensbereich für einen Präfix vorhanden ist
    • XMLReader::moveToAttribute - Zeiger auf benanntes Attribut setzen
    • XMLReader::moveToAttributeNo - Move cursor to an attribute by index
    • XMLReader::moveToAttributeNs - Move cursor to a named attribute
    • XMLReader::moveToFirstAttribute - Zeiger auf erstes Attribut setzen
    • XMLReader::moveToNextAttribute - Zeiger auf nächstes Attribut setzen
    • XMLReader::next - Zeiger auf nächstes Element setzen und Kinder überspringen
    • XMLReader::open - URI angeben, die auf XML-Inhalt verweist, der geparst werden soll
    • XMLReader::read - Zeiger auf das nächste Element setzen
    • XMLReader::readInnerXML - Erhalte XML des aktuellen Knotens
    • XMLReader::readOuterXML - Liest XML des aktuellen Knotens, inklusive den Knoten selbst
    • XMLReader::readString - Liest den Inhalt des aktuellen Knotens als Zeichenkette
    • XMLReader::setParserProperty - Parser-Optionen setzen
    • XMLReader::setRelaxNGSchema - Dateiname oder URI des RelaxNG-Schema setzen
    • XMLReader::setRelaxNGSchemaSource - Zeichenkette setzen, die RelaxNG-Schemadaten enthält
    • XMLReader::setSchema - Validiert Dokument gegen XSD
    • XMLReader::XML - Zeichenkette setzen, deren Inhalt geparst werden soll
    • xmlrpc_decode - Decodes XML into native PHP types
    • xmlrpc_decode_request - Decodes XML into native PHP types
    • xmlrpc_encode - Generates XML for a PHP value
    • xmlrpc_encode_request - Generates XML for a method request
    • xmlrpc_get_type - Gets xmlrpc type for a PHP value
    • xmlrpc_is_fault - Determines if an array value represents an XMLRPC fault
    • xmlrpc_parse_method_descriptions - Decodes XML into a list of method descriptions
    • xmlrpc_server_add_introspection_data - Adds introspection documentation
    • xmlrpc_server_call_method - Parses XML requests and call methods
    • xmlrpc_server_create - Creates an xmlrpc server
    • xmlrpc_server_destroy - Destroys server resources
    • xmlrpc_server_register_introspection_callback - Register a PHP function to generate documentation
    • xmlrpc_server_register_method - Register a PHP function to resource method matching method_name
    • xmlrpc_set_type - Sets xmlrpc type, base64 or datetime, for a PHP string value
    • XMLWriter->endDTD - Beendet DTD
    • XMLWriter->endElement - Beendet Element
    • XMLWriter->endPI - Beendet Verarbeitungsvorschrift
    • XMLWriter->flush - Puffer schreiben
    • XMLWriter->fullEndElement - Beendet Element
    • XMLWriter->openURI - Erzeugt neuen XMLWriter, der URI für Ausgabe verwendet
    • XMLWriter->outputMemory - Gibt Puffer zurück
    • XMLWriter->setIndent - Einrückung ein-/ausschalten
    • XMLWriter->setIndentString - Setzt Zeichenkette, die zur Einrückung verwendet wird
    • XMLWriter->startAttribute - Attribut beginnen
    • XMLWriter->startAttributeNS - Namensraum-Attribut beginnen
    • XMLWriter->startCData - CDATA-Block beginnen
    • XMLWriter->startComment - Kommentar beginnen
    • XMLWriter->startDocument - Dokument beginnen
    • XMLWriter->startDTD - DTD beginnen
    • XMLWriter->startDTDAttlist - DTD-Attributliste beginnen
    • XMLWriter->startDTDElement - DTD-Element beginnen
    • XMLWriter->startDTDEntity - DTD-Entität beginnen
    • XMLWriter->startElement - Element beginnen
    • XMLWriter->startElementNS - Element mit Namensraum beginnen
    • XMLWriter->startPI - Verarbeitungsvorschrift beginnen
    • XMLWriter->text - Text schreiben
    • XMLWriter->writeAttribute - Komplettes Attribut schreiben
    • XMLWriter->writeAttributeNS - Komplettes Attribute mit Namensraum schreiben
    • XMLWriter->writeCData - Kompletten CDATA-Block schreiben
    • XMLWriter->writeComment - Kompletten Kommentar schreiben
    • XMLWriter->writeDTD - Komplettes DTD-Tag schreiben
    • XMLWriter->writeDTDAttlist - Komplette DTD-Attributliste schreiben
    • XMLWriter->writeDTDElement - Komplettes DTD-Element schreiben
    • XMLWriter->writeDTDEntity - Komplette DTD-Entität schreiben
    • XMLWriter->writeElement - Komplettes Element schreiben
    • XMLWriter->writeElementNS - Komplettes Element mit Namensraum schreiben
    • XMLWriter->writePI - Komplette Verarbeitungsvorschrift-Tag schreiben
    • XMLWriter->writeRaw - Reines XML schreiben
    • XMLWriter::endAttribute - Attribute beenden
    • XMLWriter::endCData - Beendet CDATA-Block
    • XMLWriter::endComment - Beendet Kommentar
    • XMLWriter::endDocument - Beendet Dokument
    • XMLWriter::endDTDAttlist - Beendet DTD-Attributliste
    • XMLWriter::endDTDElement - Beendet DTD-Element
    • XMLWriter::endDTDEntity - Beendet DTD-Entität
    • XMLWriter::openMemory - Erzeugt einen neuen XMLWriter, der Stringausgaben in den Speicher schreibt
    • xml_error_string - Get XML parser error string
    • xml_get_current_byte_index - Get current byte index for an XML parser
    • xml_get_current_column_number - Get current column number for an XML parser
    • xml_get_current_line_number - Get current line number for an XML parser
    • xml_get_error_code - Get XML parser error code
    • xml_parse - Start parsing an XML document
    • xml_parser_create - Create an XML parser
    • xml_parser_create_ns - Create an XML parser with namespace support
    • xml_parser_free - Free an XML parser
    • xml_parser_get_option - Get options from an XML parser
    • xml_parser_set_option - Set options in an XML parser
    • xml_parse_into_struct - Parse XML data into an array structure
    • xml_set_character_data_handler - Set up character data handler
    • xml_set_default_handler - Set up default handler
    • xml_set_element_handler - Set up start and end element handlers
    • xml_set_end_namespace_decl_handler - Set up end namespace declaration handler
    • xml_set_external_entity_ref_handler - Set up external entity reference handler
    • xml_set_notation_decl_handler - Set up notation declaration handler
    • xml_set_object - Use XML Parser within an object
    • xml_set_processing_instruction_handler - Set up processing instruction (PI) handler
    • xml_set_start_namespace_decl_handler - Set up start namespace declaration handler
    • xml_set_unparsed_entity_decl_handler - Set up unparsed entity declaration handler
    • XSLTProcessor::getParameter - Liefert den Wert eines Parameters
    • XsltProcessor::getSecurityPrefs - Liefert die Sicherheitseinstellungen
    • XSLTProcessor::hasExsltSupport - Prüft, ob die EXSLT-Unterstützung aktiviert ist
    • XSLTProcessor::importStylesheet - Importiert ein Stylesheet
    • XSLTProcessor::registerPHPFunctions - Aktiviert die Nutzbarkeit von PHP-Funktionen als XSLT-Funktionen
    • XSLTProcessor::removeParameter - Löscht einen Parameter
    • XSLTProcessor::setParameter - Setzt den Wert für einen Parameter
    • XSLTProcessor::setProfiling - Setzt den Dateinamen für die Ausgaben des Profilers
    • XsltProcessor::setSecurityPrefs - Setzt die Sicherheitseinstellungen
    • XSLTProcessor::transformToDoc - Transformierung in ein neues DOMDocument
    • XSLTProcessor::transformToURI - Transformierung zu einer URI
    • XSLTProcessor::transformToXML - Transformierung zu einem XML-String
    • XSLTProcessor::__construct - Erzeugt ein neues XSLTProcessor-Objekt
  • y
    • Yaf_Action_Abstract::execute - Action entry point
    • Yaf_Action_Abstract::getController - Retrieve controller object
    • Yaf_Application::app - Retrieve an Application instance
    • Yaf_Application::bootstrap - Call bootstrap
    • Yaf_Application::clearLastError - Clear the last error info
    • Yaf_Application::environ - Retrive environ
    • Yaf_Application::execute - Execute a callback
    • Yaf_Application::getAppDirectory - Get the application directory
    • Yaf_Application::getConfig - Retrive the config instance
    • Yaf_Application::getDispatcher - Get Yaf_Dispatcher instance
    • Yaf_Application::getLastErrorMsg - Get message of the last occurred error
    • Yaf_Application::getLastErrorNo - Get code of last occurred error
    • Yaf_Application::getModules - Get defined module names
    • Yaf_Application::run - Start Yaf_Application
    • Yaf_Application::setAppDirectory - Change the application directory
    • Yaf_Application::__clone - Yaf_Application can not be cloned
    • Yaf_Application::__construct - Yaf_Application constructor
    • Yaf_Application::__destruct - The __destruct purpose
    • Yaf_Application::__sleep - Yaf_Application can not be serialized
    • Yaf_Application::__wakeup - Yaf_Application can not be unserialized
    • Yaf_Config_Abstract::get - Getter
    • Yaf_Config_Abstract::readonly - Find a config whether readonly
    • Yaf_Config_Abstract::set - Setter
    • Yaf_Config_Abstract::toArray - Cast to array
    • Yaf_Config_Ini::count - The count purpose
    • Yaf_Config_Ini::current - The current purpose
    • Yaf_Config_Ini::key - The key purpose
    • Yaf_Config_Ini::next - The next purpose
    • Yaf_Config_Ini::offsetExists - The offsetExists purpose
    • Yaf_Config_Ini::offsetGet - The offsetGet purpose
    • Yaf_Config_Ini::offsetSet - The offsetSet purpose
    • Yaf_Config_Ini::offsetUnset - The offsetUnset purpose
    • Yaf_Config_Ini::readonly - The readonly purpose
    • Yaf_Config_Ini::rewind - The rewind purpose
    • Yaf_Config_Ini::toArray - Returns a PHP array
    • Yaf_Config_Ini::valid - The valid purpose
    • Yaf_Config_Ini::__construct - Yaf_Config_Ini constructor
    • Yaf_Config_Ini::__get - The __get purpose
    • Yaf_Config_Ini::__isset - The __isset purpose
    • Yaf_Config_Ini::__set - The __set purpose
    • Yaf_Config_Simple::count - The count purpose
    • Yaf_Config_Simple::current - The current purpose
    • Yaf_Config_Simple::key - The key purpose
    • Yaf_Config_Simple::next - The next purpose
    • Yaf_Config_Simple::offsetExists - The offsetExists purpose
    • Yaf_Config_Simple::offsetGet - The offsetGet purpose
    • Yaf_Config_Simple::offsetSet - The offsetSet purpose
    • Yaf_Config_Simple::offsetUnset - The offsetUnset purpose
    • Yaf_Config_Simple::readonly - The readonly purpose
    • Yaf_Config_Simple::rewind - The rewind purpose
    • Yaf_Config_Simple::toArray - Returns a PHP array
    • Yaf_Config_Simple::valid - The valid purpose
    • Yaf_Config_Simple::__construct - The __construct purpose
    • Yaf_Config_Simple::__get - The __get purpose
    • Yaf_Config_Simple::__isset - The __isset purpose
    • Yaf_Config_Simple::__set - The __set purpose
    • Yaf_Controller_Abstract::display - The display purpose
    • Yaf_Controller_Abstract::forward - foward to another action
    • Yaf_Controller_Abstract::getInvokeArg - The getInvokeArg purpose
    • Yaf_Controller_Abstract::getInvokeArgs - The getInvokeArgs purpose
    • Yaf_Controller_Abstract::getModuleName - Get module name
    • Yaf_Controller_Abstract::getRequest - Retrieve current request object
    • Yaf_Controller_Abstract::getResponse - Retrieve current response object
    • Yaf_Controller_Abstract::getView - Retrieve the view engine
    • Yaf_Controller_Abstract::getViewpath - The getViewpath purpose
    • Yaf_Controller_Abstract::init - Controller initializer
    • Yaf_Controller_Abstract::initView - The initView purpose
    • Yaf_Controller_Abstract::redirect - Redirect to a URL
    • Yaf_Controller_Abstract::render - Render view template
    • Yaf_Controller_Abstract::setViewpath - The setViewpath purpose
    • Yaf_Controller_Abstract::__clone - Yaf_Controller_Abstract can not be cloned
    • Yaf_Controller_Abstract::__construct - Yaf_Controller_Abstract constructor
    • Yaf_Dispatcher::autoRender - Switch on/off autorendering
    • Yaf_Dispatcher::catchException - Switch on/off exception catching
    • Yaf_Dispatcher::disableView - Disable view rendering
    • Yaf_Dispatcher::dispatch - Dispatch a request
    • Yaf_Dispatcher::enableView - enable view rendering
    • Yaf_Dispatcher::flushInstantly - Switch on/off the instant flushing
    • Yaf_Dispatcher::getApplication - Retrive the application
    • Yaf_Dispatcher::getInstance - Retrive the dispatcher instance
    • Yaf_Dispatcher::getRequest - Retrive the request instance
    • Yaf_Dispatcher::getRouter - Retrive router instance
    • Yaf_Dispatcher::initView - Initialize view and return it
    • Yaf_Dispatcher::registerPlugin - Register a plugin
    • Yaf_Dispatcher::returnResponse - The returnResponse purpose
    • Yaf_Dispatcher::setDefaultAction - Change default action name
    • Yaf_Dispatcher::setDefaultController - Change default controller name
    • Yaf_Dispatcher::setDefaultModule - Change default module name
    • Yaf_Dispatcher::setErrorHandler - Set error handler
    • Yaf_Dispatcher::setRequest - The setRequest purpose
    • Yaf_Dispatcher::setView - Set a custom view engine
    • Yaf_Dispatcher::throwException - Switch on/off exception throwing
    • Yaf_Dispatcher::__clone - Yaf_Dispatcher can not be cloned
    • Yaf_Dispatcher::__construct - Yaf_Dispatcher constructor
    • Yaf_Dispatcher::__sleep - Yaf_Dispatcher can not be serialized
    • Yaf_Dispatcher::__wakeup - Yaf_Dispatcher can not be unserialized
    • Yaf_Exception::getPrevious - The getPrevious purpose
    • Yaf_Exception::__construct - The __construct purpose
    • Yaf_Loader::autoload - The autoload purpose
    • Yaf_Loader::clearLocalNamespace - The clearLocalNamespace purpose
    • Yaf_Loader::getInstance - The getInstance purpose
    • Yaf_Loader::getLibraryPath - get the library path
    • Yaf_Loader::getLocalNamespace - The getLocalNamespace purpose
    • Yaf_Loader::import - The import purpose
    • Yaf_Loader::isLocalName - The isLocalName purpose
    • Yaf_Loader::registerLocalNamespace - register local class prefix
    • Yaf_Loader::setLibraryPath - Change the library path
    • Yaf_Loader::__clone - The __clone purpose
    • Yaf_Loader::__construct - The __construct purpose
    • Yaf_Loader::__sleep - The __sleep purpose
    • Yaf_Loader::__wakeup - The __wakeup purpose
    • Yaf_Plugin_Abstract::dispatchLoopShutdown - The dispatchLoopShutdown purpose
    • Yaf_Plugin_Abstract::dispatchLoopStartup - The dispatchLoopStartup purpose
    • Yaf_Plugin_Abstract::postDispatch - The postDispatch purpose
    • Yaf_Plugin_Abstract::preDispatch - The preDispatch purpose
    • Yaf_Plugin_Abstract::preResponse - The preResponse purpose
    • Yaf_Plugin_Abstract::routerShutdown - The routerShutdown purpose
    • Yaf_Plugin_Abstract::routerStartup - RouterStartup hook
    • Yaf_Registry::del - Remove an item from registry
    • Yaf_Registry::get - Retrieve an item from registry
    • Yaf_Registry::has - Check whether an item exists
    • Yaf_Registry::set - Add an item into registry
    • Yaf_Registry::__clone - The __clone purpose
    • Yaf_Registry::__construct - Yaf_Registry implements singleton
    • Yaf_Request_Abstract::getActionName - The getActionName purpose
    • Yaf_Request_Abstract::getBaseUri - The getBaseUri purpose
    • Yaf_Request_Abstract::getControllerName - The getControllerName purpose
    • Yaf_Request_Abstract::getEnv - Retrieve ENV varialbe
    • Yaf_Request_Abstract::getException - The getException purpose
    • Yaf_Request_Abstract::getLanguage - The getLanguage purpose
    • Yaf_Request_Abstract::getMethod - The getMethod purpose
    • Yaf_Request_Abstract::getModuleName - The getModuleName purpose
    • Yaf_Request_Abstract::getParam - The getParam purpose
    • Yaf_Request_Abstract::getParams - The getParams purpose
    • Yaf_Request_Abstract::getRequestUri - The getRequestUri purpose
    • Yaf_Request_Abstract::getServer - Retrieve SERVER variable
    • Yaf_Request_Abstract::isCli - The isCli purpose
    • Yaf_Request_Abstract::isDispatched - The isDispatched purpose
    • Yaf_Request_Abstract::isGet - The isGet purpose
    • Yaf_Request_Abstract::isHead - The isHead purpose
    • Yaf_Request_Abstract::isOptions - The isOptions purpose
    • Yaf_Request_Abstract::isPost - The isPost purpose
    • Yaf_Request_Abstract::isPut - The isPut purpose
    • Yaf_Request_Abstract::isRouted - The isRouted purpose
    • Yaf_Request_Abstract::isXmlHttpRequest - The isXmlHttpRequest purpose
    • Yaf_Request_Abstract::setActionName - The setActionName purpose
    • Yaf_Request_Abstract::setBaseUri - set base URI
    • Yaf_Request_Abstract::setControllerName - The setControllerName purpose
    • Yaf_Request_Abstract::setDispatched - The setDispatched purpose
    • Yaf_Request_Abstract::setModuleName - The setModuleName purpose
    • Yaf_Request_Abstract::setParam - The setParam purpose
    • Yaf_Request_Abstract::setRequestUri - The setRequestUri purpose
    • Yaf_Request_Abstract::setRouted - The setRouted purpose
    • Yaf_Request_Http::get - Retrieve variable from client
    • Yaf_Request_Http::getCookie - Retrieve Cookie variable
    • Yaf_Request_Http::getFiles - The getFiles purpose
    • Yaf_Request_Http::getPost - Retrieve POST variable
    • Yaf_Request_Http::getQuery - Fetch a query parameter
    • Yaf_Request_Http::getRequest - The getRequest purpose
    • Yaf_Request_Http::isXmlHttpRequest - Whether a Ajax Request
    • Yaf_Request_Http::__clone - The __clone purpose
    • Yaf_Request_Http::__construct - Constructor of Yaf_Request_Http
    • Yaf_Request_Simple::get - The get purpose
    • Yaf_Request_Simple::getCookie - The getCookie purpose
    • Yaf_Request_Simple::getFiles - The getFiles purpose
    • Yaf_Request_Simple::getPost - The getPost purpose
    • Yaf_Request_Simple::getQuery - The getQuery purpose
    • Yaf_Request_Simple::getRequest - The getRequest purpose
    • Yaf_Request_Simple::isXmlHttpRequest - The isXmlHttpRequest purpose
    • Yaf_Request_Simple::__clone - The __clone purpose
    • Yaf_Request_Simple::__construct - Constructor of Yaf_Request_Simple
    • Yaf_Response_Abstract::appendBody - append to body
    • Yaf_Response_Abstract::clearBody - The clearBody purpose
    • Yaf_Response_Abstract::clearHeaders - The clearHeaders purpose
    • Yaf_Response_Abstract::getBody - Retrieve a exists content
    • Yaf_Response_Abstract::getHeader - The getHeader purpose
    • Yaf_Response_Abstract::prependBody - The prependBody purpose
    • Yaf_Response_Abstract::response - send response
    • Yaf_Response_Abstract::setAllHeaders - The setAllHeaders purpose
    • Yaf_Response_Abstract::setBody - Set content to response
    • Yaf_Response_Abstract::setHeader - The setHeader purpose
    • Yaf_Response_Abstract::setRedirect - The setRedirect purpose
    • Yaf_Response_Abstract::__clone - The __clone purpose
    • Yaf_Response_Abstract::__construct - The __construct purpose
    • Yaf_Response_Abstract::__destruct - The __destruct purpose
    • Yaf_Response_Abstract::__toString - The __toString purpose
    • Yaf_Router::addConfig - Add config-defined routes into Router
    • Yaf_Router::addRoute - Add new Route into Router
    • Yaf_Router::getCurrentRoute - Get the effective route name
    • Yaf_Router::getRoute - Retrieve a route by name
    • Yaf_Router::getRoutes - Retrieve registered routes
    • Yaf_Router::route - The route purpose
    • Yaf_Router::__construct - Yaf_Router constructor
    • Yaf_Route_Interface::assemble - assemble a request
    • Yaf_Route_Interface::route - route a request
    • Yaf_Route_Map::assemble - Assemble a url
    • Yaf_Route_Map::route - The route purpose
    • Yaf_Route_Map::__construct - The __construct purpose
    • Yaf_Route_Regex::assemble - Assemble a url
    • Yaf_Route_Regex::route - The route purpose
    • Yaf_Route_Regex::__construct - Yaf_Route_Regex constructor
    • Yaf_Route_Rewrite::assemble - Assemble a url
    • Yaf_Route_Rewrite::route - The route purpose
    • Yaf_Route_Rewrite::__construct - Yaf_Route_Rewrite constructor
    • Yaf_Route_Simple::assemble - Assemble a url
    • Yaf_Route_Simple::route - Route a request
    • Yaf_Route_Simple::__construct - Yaf_Route_Simple constructor
    • Yaf_Route_Static::assemble - Assemble a url
    • Yaf_Route_Static::match - The match purpose
    • Yaf_Route_Static::route - Route a request
    • Yaf_Route_Supervar::assemble - Assemble a url
    • Yaf_Route_Supervar::route - The route purpose
    • Yaf_Route_Supervar::__construct - The __construct purpose
    • Yaf_Session::count - The count purpose
    • Yaf_Session::current - The current purpose
    • Yaf_Session::del - The del purpose
    • Yaf_Session::getInstance - The getInstance purpose
    • Yaf_Session::has - The has purpose
    • Yaf_Session::key - The key purpose
    • Yaf_Session::next - The next purpose
    • Yaf_Session::offsetExists - The offsetExists purpose
    • Yaf_Session::offsetGet - The offsetGet purpose
    • Yaf_Session::offsetSet - The offsetSet purpose
    • Yaf_Session::offsetUnset - The offsetUnset purpose
    • Yaf_Session::rewind - The rewind purpose
    • Yaf_Session::start - The start purpose
    • Yaf_Session::valid - The valid purpose
    • Yaf_Session::__clone - The __clone purpose
    • Yaf_Session::__construct - Constructor of Yaf_Session
    • Yaf_Session::__get - The __get purpose
    • Yaf_Session::__isset - The __isset purpose
    • Yaf_Session::__set - The __set purpose
    • Yaf_Session::__sleep - The __sleep purpose
    • Yaf_Session::__unset - The __unset purpose
    • Yaf_Session::__wakeup - The __wakeup purpose
    • Yaf_View_Interface::assign - Assign value to View engine
    • Yaf_View_Interface::display - Render and output a template
    • Yaf_View_Interface::getScriptPath - The getScriptPath purpose
    • Yaf_View_Interface::render - Render a template
    • Yaf_View_Interface::setScriptPath - The setScriptPath purpose
    • Yaf_View_Simple::assign - Assign values
    • Yaf_View_Simple::assignRef - The assignRef purpose
    • Yaf_View_Simple::clear - Clear Assigned values
    • Yaf_View_Simple::display - Render and display
    • Yaf_View_Simple::eval - Render template
    • Yaf_View_Simple::getScriptPath - Get templates directory
    • Yaf_View_Simple::render - Render template
    • Yaf_View_Simple::setScriptPath - Set tempaltes directory
    • Yaf_View_Simple::__construct - Constructor of Yaf_View_Simple
    • Yaf_View_Simple::__get - Retrieve assigned variable
    • Yaf_View_Simple::__isset - The __isset purpose
    • Yaf_View_Simple::__set - Set value to engine
    • yaml_emit - Returns the YAML representation of a value
    • yaml_emit_file - Send the YAML representation of a value to a file
    • yaml_parse - Parse a YAML stream
    • yaml_parse_file - Parse a YAML stream from a file
    • yaml_parse_url - Parse a Yaml stream from a URL
    • Yar_Client::setOpt - Set calling contexts
    • Yar_Client::__call - Call service
    • Yar_Client::__construct - Create a client
    • Yar_Client_Exception::getType - The getType purpose
    • Yar_Concurrent_Client::call - Register a concurrent call
    • Yar_Concurrent_Client::loop - Send all calls
    • Yar_Concurrent_Client::reset - Clean all registered calls
    • Yar_Server::handle - Start RPC Server
    • Yar_Server::__construct - Register a server
    • Yar_Server_Exception::getType - The getType purpose
    • yaz_addinfo - Returns additional error information
    • yaz_ccl_conf - Configure CCL parser
    • yaz_ccl_parse - Invoke CCL Parser
    • yaz_close - Close YAZ connection
    • yaz_connect - Prepares for a connection to a Z39.50 server
    • yaz_database - Specifies the databases within a session
    • yaz_element - Specifies Element-Set Name for retrieval
    • yaz_errno - Returns error number
    • yaz_error - Returns error description
    • yaz_es - Prepares for an Extended Service Request
    • yaz_es_result - Inspects Extended Services Result
    • yaz_get_option - Returns value of option for connection
    • yaz_hits - Returns number of hits for last search
    • yaz_itemorder - Prepares for Z39.50 Item Order with an ILL-Request package
    • yaz_present - Prepares for retrieval (Z39.50 present)
    • yaz_range - Specifies a range of records to retrieve
    • yaz_record - Returns a record
    • yaz_scan - Prepares for a scan
    • yaz_scan_result - Returns Scan Response result
    • yaz_schema - Specifies schema for retrieval
    • yaz_search - Prepares for a search
    • yaz_set_option - Sets one or more options for connection
    • yaz_sort - Sets sorting criteria
    • yaz_syntax - Specifies the preferred record syntax for retrieval
    • yaz_wait - Wait for Z39.50 requests to complete
    • yp_all - Traverse the map and call a function on each entry
    • yp_cat - Return an array containing the entire map
    • yp_errno - Returns the error code of the previous operation
    • yp_err_string - Returns the error string associated with the previous operation
    • yp_first - Gibt das erste Schlüssel-Wert-Paar der angegebenen Map zurück
    • yp_get_default_domain - Gibt die voreingestellte NIS-Domäne der aktuellen Maschine zurück
    • yp_master - Gibt den Namen des Hauptservers für eine NIS-Map zurück
    • yp_match - Gibt die übereinstimmende Zeile zurück
    • yp_next - Gibt das nächste Schlüssel-Wert-Paar in der angegebenen Map zurück
    • yp_order - Gibt die Ordnungsnummer einer Map zurück
  • z
    • zend_logo_guid - Die GUID des Zend Logos
    • zend_thread_id - Returns a unique identifier for the current thread
    • zend_version - Liefert die aktuelle Version der Zend Engine
    • ZipArchive::addEmptyDir - Fügt ein neues Verzeichnis hinzu
    • ZipArchive::addFile - Fügt eine Datei von einem gegebenen Pfad zu einem ZIP-Archiv hinzu
    • ZipArchive::addFromString - Fügt eine Datei unter Verwendung ihres Inhalts zu einem ZIP-Archiv hinzu
    • ZipArchive::addGlob - Add files from a directory by glob pattern
    • ZipArchive::addPattern - Add files from a directory by PCRE pattern
    • ZipArchive::close - Schließt das aktive Archiv (geöffnet oder neu erstellt)
    • ZipArchive::deleteIndex - Löscht einen Archiveintrag unter Verwendung seines Index
    • ZipArchive::deleteName - Löscht einen Archiveintrag unter Verwendung seines Namens
    • ZipArchive::extractTo - Extrahiert den Archivinhalt
    • ZipArchive::getArchiveComment - Gibt den ZIP-Archiv-Kommentar zurück
    • ZipArchive::getCommentIndex - Gibt den Kommentar zu einem Eintrag unter Verwendung des Eintragsindex zurück
    • ZipArchive::getCommentName - Gibt den Kommentar zu einem Eintrag unter Verwendung des Eintragsnamens zurück
    • ZipArchive::getExternalAttributesIndex - Retrieve the external attributes of an entry defined by its index
    • ZipArchive::getExternalAttributesName - Retrieve the external attributes of an entry defined by its name
    • ZipArchive::getFromIndex - Gibt den Inhalt eines Eintrags unter Verwendung seines Index zurück
    • ZipArchive::getFromName - Gibt den Inhalt eines Eintrags unter Verwendung seines Namens zurück
    • ZipArchive::getNameIndex - Gibt den Namen eines Eintrags unter Verwendung seines Index zurück
    • ZipArchive::getStatusString - Gibt die Statusfehlermeldung sowie die System- oder ZIP-Meldung zurück
    • ZipArchive::getStream - Erzeugt einen Dateizeiger zu dem per Name bestimmten Eintrag (read only)
    • ZipArchive::locateName - Gibt den Index eines Archiveintrags zurück
    • ZipArchive::open - Öffnet ein ZIP-Dateiarchiv
    • ZipArchive::renameIndex - Benennt einen durch seinen Index bestimmten Eintrag um
    • ZipArchive::renameName - Benennt einen durch seinen Namen bestimmten Eintrag um
    • ZipArchive::setArchiveComment - Setzt einen Kommentar zu einem ZIP-Archiv
    • ZipArchive::setCommentIndex - Setzt einen Eintragskommentar, der via Eintragsindex bestimmt wird
    • ZipArchive::setCommentName - Setzt einen Eintragskommentar, der via Eintragsnamen bestimmt wird
    • ZipArchive::setCompressionIndex - Set the compression method of an entry defined by its index
    • ZipArchive::setCompressionName - Set the compression method of an entry defined by its name
    • ZipArchive::setExternalAttributesIndex - Set the external attributes of an entry defined by its index
    • ZipArchive::setExternalAttributesName - Set the external attributes of an entry defined by its name
    • ZipArchive::setPassword - Set the password for the active archive
    • ZipArchive::statIndex - Gibt die Details eines via Index bestimmten Eintrags zurück
    • ZipArchive::statName - Gibt die Details eines via Namen bestimmten Eintrags zurück
    • ZipArchive::unchangeAll - Setzt alle im Archiv durchgeführten Änderungen zurück
    • ZipArchive::unchangeArchive - Nimmt alle globalen Änderungen zurück, die im Archiv durchgeführt wurden
    • ZipArchive::unchangeIndex - Nimmt alle Änderungen zurück, die auf dem Eintrag mit dem gegebenen Index gemacht wurden
    • ZipArchive::unchangeName - Nimmt alle Änderungen zurück, die auf dem Eintrag mit dem gegebenen Namen gemacht wurden
    • zip_close - Schließt ein ZIP-Archiv
    • zip_entry_close - Schließt einen Verzeichniseintrag
    • zip_entry_compressedsize - Ermittelt die komprimierte Größe eines Verzeichniseintrages
    • zip_entry_compressionmethod - Ermittelt die Komprimierungsmethode eines Verzeichniseintrags
    • zip_entry_filesize - Ermittelt die effektive Größe eines Verzeichniseintrages
    • zip_entry_name - Gibt den Namen eines Verzeichniseintrages zurück
    • zip_entry_open - Öffnet einen Verzeichniseintrag für den Lesezugriff
    • zip_entry_read - Liest einen geöffneten Verzeichniseintrag aus
    • zip_open - Öffnet ein ZIP-Archiv
    • zip_read - Liest den nächsten Eintrag innerhalb des ZIP Archivs
    • zlib:// - Compression Streams
    • zlib_decode - raw/gzip/zlib kodierte Daten dekomprimieren
    • zlib_encode - Komprimiert Daten mit der gewählten Kodierung
    • zlib_get_coding_type - Gibt die für Ausgabekomprimierung genutze Methode zurück
    • ZMQ::__construct - ZMQ constructor
    • ZMQContext::getOpt - Get context option
    • ZMQContext::getSocket - Create a new socket
    • ZMQContext::isPersistent - Whether the context is persistent
    • ZMQContext::setOpt - Set a socket option
    • ZMQContext::__construct - Construct a new ZMQContext object
    • ZMQDevice::getIdleTimeout - Get the idle timeout
    • ZMQDevice::getTimerTimeout - Get the timer timeout
    • ZMQDevice::run - Run the new device
    • ZMQDevice::setIdleCallback - Set the idle callback function
    • ZMQDevice::setIdleTimeout - Set the idle timeout
    • ZMQDevice::setTimerCallback - Set the timer callback function
    • ZMQDevice::setTimerTimeout - Set the timer timeout
    • ZMQDevice::__construct - Construct a new device
    • ZMQPoll::add - Add item to the poll set
    • ZMQPoll::clear - Clear the poll set
    • ZMQPoll::count - Count items in the poll set
    • ZMQPoll::getLastErrors - Get poll errors
    • ZMQPoll::poll - Poll the items
    • ZMQPoll::remove - Remove item from poll set
    • ZMQSocket::bind - Bind the socket
    • ZMQSocket::connect - Connect the socket
    • ZMQSocket::disconnect - Disconnect a socket
    • ZMQSocket::getEndpoints - Get list of endpoints
    • ZMQSocket::getPersistentId - Get the persistent id
    • ZMQSocket::getSocketType - Get the socket type
    • ZMQSocket::getSockOpt - Get socket option
    • ZMQSocket::isPersistent - Whether the socket is persistent
    • ZMQSocket::recv - Receives a message
    • ZMQSocket::recvMulti - Receives a multipart message
    • ZMQSocket::send - Sends a message
    • ZMQSocket::sendmulti - Sends a multipart message
    • ZMQSocket::setSockOpt - Set a socket option
    • ZMQSocket::unbind - Unbind the socket
    • ZMQSocket::__construct - Construct a new ZMQSocket
    • Zookeeper::addAuth - Specify application credentials.
    • Zookeeper::connect - Create a handle to used communicate with zookeeper.
    • Zookeeper::create - Create a node synchronously.
    • Zookeeper::delete - Delete a node in zookeeper synchronously.
    • Zookeeper::exists - Checks the existence of a node in zookeeper synchronously.
    • Zookeeper::get - Gets the data associated with a node synchronously.
    • Zookeeper::getAcl - Gets the acl associated with a node synchronously.
    • Zookeeper::getClientId - return the client session id, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE)
    • Zookeeper::getRecvTimeout - Return the timeout for this session, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE). This value may change after a server re-connect.
    • Zookeeper::getState - Get the state of the zookeeper connection.
    • Zookeeper::isRecoverable - Checks if the current zookeeper connection state can be recovered.
    • Zookeeper::set - Sets the data associated with a node.
    • Zookeeper::setAcl - Sets the acl associated with a node synchronously.
    • Zookeeper::setDebugLevel - Sets the debugging level for the library.
    • Zookeeper::setDeterministicConnOrder - Enable/disable quorum endpoint order randomization.
    • Zookeeper::setLogStream - Sets the stream to be used by the library for logging.
    • Zookeeper::setWatcher - Set a watcher function.
    • Zookeeper::__construct - Create a handle to used communicate with zookeeper.
  • _
    • __autoload - Attempt to load undefined class
    • __halt_compiler - Beendet die Kompilerausführung
Verzeichnis der Inhaltsverzeichnisse
Verzeichnis der Beispiele
Verzeichnis der Inhaltsverzeichnisse


Verzeichnis der Beispiele

Verzeichnis aller Beispiele im Handbuch

  • Example#0 - Ein einführendes Beispiel
  • Example#1 - Unser erstes PHP-Skript: hallo.php
  • Example#2 - Anzeigen von Systeminformationen mit PHP
  • Example#3 - Variable ausgeben (Array-Element)
  • Example#4 - Beispiel, das Kontrollstrukturen und Funktionen benutzt
  • Example#5 - HTML- und PHP-Modus vermischt
  • Example#6 - Ein einfaches HTML-Formular
  • Example#7 - Daten des Formulars ausgeben
  • Example#8 - Installationsanweisungen (Apache Shared Module Version) für PHP
  • Example#9 - Installationsanweisungen (Statische Modulinstallation für Apache) für PHP
  • Example#10 - Beispielbefehle, um Apache neu zu starten
  • Example#11 -
  • Example#12 -
  • Example#13 -
  • Example#14 -
  • Example#15 -
  • Example#16 -
  • Example#17 -
  • Example#18 -
  • Example#19 -
  • Example#20 -
  • Example#21 -
  • Example#22 -
  • Example#23 -
  • Example#24 -
  • Example#25 -
  • Example#26 -
  • Example#27 -
  • Example#28 -
  • Example#29 -
  • Example#30 -
  • Example#31 -
  • Example#32 -
  • Example#33 -
  • Example#34 -
  • Example#35 -
  • Example#36 -
  • Example#37 -
  • Example#38 -
  • Example#39 - Partial lighttpd.conf
  • Example#40 - Spawning FastCGI Responders
  • Example#41 - Verbindung zu entferten php-fastcgi Instanzen
  • Example#42 - OpenBSD Package Install Example
  • Example#43 - Debian-Installations-Beispiel mit Apache 2
  • Example#44 - Stoppen und Starten von Apache nach der Installation von PHP
  • Example#45 - Methoden zur Anzeige weiterer PHP-5-Pakete
  • Example#46 - PHP mit MySQL und cURL installieren
  • Example#47 - Recommended OpCache configuration
  • Example#48 - Recommended WinCache configuration
  • Example#49 - Command line to configure IIS and PHP
  • Example#50 - PHP 5 package structure
  • Example#51 - CGI and FastCGI settings in php.ini
  • Example#52 - Configuring FastCGI extension to handle PHP requests
  • Example#53 - Configuring file access permissions
  • Example#54 - Configuring FastCGI and PHP recycling
  • Example#55 - Configuring FastCGI timeout settings
  • Example#56 - Changing the location of php.ini file
  • Example#57 - CGI and FastCGI settings in php.ini
  • Example#58 - Creating IIS FastCGI process pool
  • Example#59 - Creating handler mapping for PHP requests
  • Example#60 - Determining the account used as IIS anonymous identity
  • Example#61 - Configuring file access permissions
  • Example#62 - Set index.php as a default document in IIS
  • Example#63 - Configuring FastCGI and PHP recycling
  • Example#64 - Configuring FastCGI timeout settings
  • Example#65 - Changing the location of php.ini file
  • Example#66 - PHP as an Apache 1.3.x module
  • Example#67 - PHP and Apache 1.3.x as CGI
  • Example#68 - PHP and Apache 2.x as handler
  • Example#69 -
  • Example#70 - PHP and Apache 2.x as CGI
  • Example#71 - Configure Apache to run PHP as FastCGI
  • Example#72 - ISAPI configuration of Sambar
  • Example#73 - Enable Bzip2 extension for PHP-Windows
  • Example#74 - Registry changes
  • Example#75 - Übergabe von Umgebungsvariablen und PHP Einstellungen an einen Pool
  • Example#76 - Festlegen von PHP-Einstellungen in nginx.conf
  • Example#77 - phpinfo call
  • Example#78 - php.ini Umgebungsvariablen
  • Example#79 - php.ini-Beispiel
  • Example#80 - Apache-Konfigurationsbeispiel
  • Example#81 - Fortgeschrittene Ausgabe unter Verwendung von Bedingungen
  • Example#82 - Die öffnenden und schließenden Tags
  • Example#83 - Integer literals
  • Example#84 - Integer overflow on a 32-bit system
  • Example#85 - Integer overflow on a 64-bit system
  • Example#86 - Ungültiges Beispiel
  • Example#87 - Heredoc string quoting example
  • Example#88 - Nowdoc string quoting example
  • Example#89 - Static data example
  • Example#90 - Some string examples
  • Example#91 - Ein einfaches Array
  • Example#92 - Beispiel für Typenumwandlung und Überschreibung
  • Example#93 - Gemischte Integer und String Schlüssel
  • Example#94 - Indizierte Arrays ohne Schlüssel
  • Example#95 - Schlüssel nicht bei allen Elementen
  • Example#96 - Zugriff auf Array-Elemente
  • Example#97 - Array-Dereferenzierung
  • Example#98 - Verwendung von array()
  • Example#99 - Collection
  • Example#100 - Elemente in der Schleife verändern
  • Example#101 - 1-basierte Indizes
  • Example#102 - Ein Array befüllen
  • Example#103 - Ein Array sortieren
  • Example#104 - Rekursive und mehrdimensionale Arrays
  • Example#105 - Callback function examples
  • Example#106 - Callback example using a Closure
  • Example#107 - Callback function examples
  • Example#108 - Vorgabewerte uninitialisierter Variablen
  • Example#109 - Die Verwendung von global
  • Example#110 - Die Verwendung von $GLOBALS statt global
  • Example#111 - Beispiel zur Demonstration von Superglobalen und Bereich
  • Example#112 - Beispiel, das die Notwendigkeit von statischen Variablen demonstriert
  • Example#113 - Beispiel zur Verwendung statischer Variablen
  • Example#114 - Statische Variablen in rekursiven Funktionen
  • Example#115 - Statische Variablen deklarieren
  • Example#116 - Ein einfaches HTML-Formular
  • Example#117 - Zugriff auf die Daten von einem einfachen POST HTML-Formular
  • Example#118 - Komplexere Formular-Variablen
  • Example#119 - Ein setcookie-Beispiel
  • Example#120 - Gültige und ungültige Namen für Konstanten
  • Example#121 - Definiton von Konstanten
  • Example#122 - Definition von Konstanten unter Verwendung des const-Keywords
  • Example#123 - Arithmetrische Operationen an Zeichenvariablen
  • Example#124 - Logische Operatoren dargestellt
  • Example#125 - Array-Vergleiche
  • Example#126 - switch Anweisung
  • Example#127 - switch gestattet die Verwendung von Strings
  • Example#128 - Tick Nutzungsbeispiel
  • Example#129 - Tick Nutzungsbeispiel
  • Example#130 - Das Encoding eines Skripts deklarieren.
  • Example#131 - Grundlegendes include-Beispiel
  • Example#132 - Include in Funktionen
  • Example#133 - include über HTTP
  • Example#134 - Vergleichen des Rückgabewerts von include
  • Example#135 - include und return
  • Example#136 - Nutzung des Ausgabepuffers um eine Datei "in einen String" einzubinden
  • Example#137 - include_once mit einem case-insensitive Betriebssystem und PHP 4
  • Example#138 - goto-Beispiel
  • Example#139 - goto Schleifenbeispiel
  • Example#140 - Das wird nicht funktionieren
  • Example#141 - Pseudocode zur Demonstration der Nutzung von Funktionen
  • Example#142 - Bedingte Funktionen
  • Example#143 - Funktionen innerhalb von Funktionen
  • Example#144 - Rekursive Funktionen
  • Example#145 - Arrays an Funktionen übergeben
  • Example#146 - Übergeben von Funktionsparametern als Verweis
  • Example#147 - Einsatz von Vorgabeparametern in Funktionen
  • Example#148 - Nichtskalare Typen als Vorgabewert
  • Example#149 - Ungültige Anwendung von Vorgabewerten
  • Example#150 - Richtiger Einsatz von Vorgabewerten
  • Example#151 -
  • Example#152 - Grundlegende Klassen-Typdeklaration
  • Example#153 - Gundlegende Interface-Typdeklaration
  • Example#154 - Nullable Typdeklaration
  • Example#155 - Strenge Typisierung
  • Example#156 - Schwache Typisierung
  • Example#157 - Abfangen von TypeError
  • Example#158 - Verwendung von ... für den Zugriff auf variable Parameter
  • Example#159 - Verwendung von ... zur Übergabe einer Parameterliste
  • Example#160 - Variable Paramter mit Vorgabe des Typs
  • Example#161 - Zugriff auf variable Parameter in PHP 5.5 und davor
  • Example#162 - Einsatz von return
  • Example#163 - Rückgabe mehrerer Werte als Array
  • Example#164 - Rückgabe von Referenzen aus Funktionen
  • Example#165 - Grundlegende Rückgabe-Typdeklaration
  • Example#166 - Einsatz des strengen Typisierungsmodus
  • Example#167 - Rückgabe eines Objekts
  • Example#168 - Beispiel für Variablenfunktionen
  • Example#169 - Variable Methode
  • Example#170 - Beispiel für variable Methoden mit statischen Eigenschaften
  • Example#171 - Komplexe Callables
  • Example#172 - Beispiel für eine anonyme Funktion
  • Example#173 - Beispiel für die Zuweisung einer anonymen Funktion
  • Example#174 - Erben von Variablen aus dem Eltern-Scope
  • Example#175 - Closures und Gültigkeitsbereiche
  • Example#176 - Automatisches Binden von $this
  • Example#177 - Versuch der Verwendung von $this innerhalb einer statischen anonymen Funktion
  • Example#178 - Versuch ein Objekt an eine statische anonyme Funktion zu binden
  • Example#179 - Definition einer einfachen Klasse
  • Example#180 - Einige Beispiele für die $this-Pseudovariable
  • Example#181 - Eine Instanz erzeugen
  • Example#182 - Objektzuweisung
  • Example#183 - Erzeugen neuer Objekte
  • Example#184 - Einfache Vererbung
  • Example#185 - Auflösung von Klassennamen
  • Example#186 - Deklaration von Eigenschaften
  • Example#187 - Beispiel für ein nowdoc zur Initialisierung einer Eigenschaft
  • Example#188 - Eine Konstante definieren und benutzen
  • Example#189 - Beispiel für statische Daten
  • Example#190 - Beispiel mit konstanten Ausdrücken
  • Example#191 - Sichtbarkeitsmodifizierer von Klassenkonstanten
  • Example#192 - Autoload Beispiel
  • Example#193 - Weiteres Autoload Beispiel
  • Example#194 - Autoloading mit Ausnahmebehandlung für 5.3.0+
  • Example#195 - Autoloading mit Ausnahmebehandlung für 5.3.0+ mit fehlender eigener Exception
  • Example#196 - Die neuen, vereinheitlichten Konstruktoren verwenden
  • Example#197 - Konstruktoren in Klassen in Namespaces
  • Example#198 - Destruktor Beispiel
  • Example#199 - Eigenschaftendeklaration
  • Example#200 - Methodendeklaration
  • Example#201 - Zugriff auf als private markierte Member des gleichen Objekttyps
  • Example#202 - Beispiel für Vererbung
  • Example#203 - :: außerhalb der Klassendefinition
  • Example#204 - :: innerhalb der Klassendefinition
  • Example#205 - Eine Vatermethode aufrufen
  • Example#206 - Statisches Methoden-Beispiel
  • Example#207 - Beispiel für statische Eigenschaften
  • Example#208 - Beispiel für abstrakte Klasse
  • Example#209 - Abstract class example
  • Example#210 - Interface-Beispiel
  • Example#211 - Interface-Vererbung
  • Example#212 - Interface-Mehrfachvererbung
  • Example#213 - Interfaces mit Konstanten
  • Example#214 - Trait Beispiel
  • Example#215 - Rangfolge Beispiel
  • Example#216 - Weiteres Beispiel für Rangfolge
  • Example#217 - Verwendung mehrerer Traits
  • Example#218 - Konfliktauflösung
  • Example#219 - Veränderung der Sichtbarkeit von Methoden
  • Example#220 - Trait-Zusammensetzung aus Traits
  • Example#221 - Ausdrücken von Anforderungen durch abstrakte Methoden
  • Example#222 - Statische Variablen
  • Example#223 - Statische Methoden
  • Example#224 - Attribute definieren
  • Example#225 - Konfliktauflösung
  • Example#226 - Überladung von Eigenschaften mit den Methoden __get, __set, __isset und __unset
  • Example#227 - Überladung von Methoden mit den methoden __call und __callStatic
  • Example#228 - Einfache Objektiteration
  • Example#229 - Objektiteration mit implementiertem Iterator
  • Example#230 - Objektiteration mit implementiertem IteratorAggregate
  • Example#231 - Sleep- und Wakeup-Beispiel
  • Example#232 - Einfaches Beispiel
  • Example#233 - Nutzung von __invoke()
  • Example#234 - Verwendung von __set_state() (seit PHP 5.1.0)
  • Example#235 - Verwendung von __debugInfo()
  • Example#236 - Beispiel für final-Methoden
  • Example#237 - Beispiel für final-Klassen
  • Example#238 - Ein Objekt klonen
  • Example#239 - Beispiel für Objektvergleiche in PHP 5
  • Example#240 - Nutzung von self::
  • Example#241 - Einfache Nutzung von static::
  • Example#242 - Nutzung von static:: außerhalb eines statischen Kontexts
  • Example#243 - Weitergegebene und nicht weitergegebene Aufrufe
  • Example#244 - Referenzen und Objekte
  • Example#245 - Beispiel für Namespace-Syntax
  • Example#246 - Einen einzelnen Namespace deklarieren
  • Example#247 - Einen einzelnen Namespace deklarieren
  • Example#248 - Einen einzelnen Namespace mit einer Hierarchie deklarieren
  • Example#249 - Mehrere Namespaces definieren, einfache Kombinationssyntax
  • Example#250 - Mehrere Namespaces definieren, geklammerte Syntax
  • Example#251 - Mehrere Namespaces und Code ohne Namespace deklarieren
  • Example#252 - Mehrere Namespaces und Code ohne Namespace deklarieren
  • Example#253 - Zugriff auf globale Klassen, Funktionen und Konstanten aus einem Namespace
  • Example#254 - Dynamischer Zugriff auf Elemente
  • Example#255 - Dynamischer Zugriff auf Elemente mit Namespace
  • Example#256 - __NAMESPACE__-Beispiel, Code mit Namespace
  • Example#257 - __NAMESPACE__-Beispiel, globaler Code
  • Example#258 - __NAMESPACE__ zur dynamischen Namenszusammensetzung verwenden
  • Example#259 - Der namespace-Operator, innerhalb eines Namespace
  • Example#260 - Der namespace-Operator, in globalem Code
  • Example#261 - Aliase/Importieren mit dem use-Operator
  • Example#262 - Aliase/Importieren mit dem use-Operator, mehrere use-Ausdrücke kombiniert
  • Example#263 - Importieren und dynamische Namen
  • Example#264 - Importieren und vollständig qualifizierte Namen
  • Example#265 - Ungültige Importregel
  • Example#266 - Verwenden der Spezifikation des gloablen Namensraumes
  • Example#267 - Zugriff auf globale Klasse innerhalb eines Namespace
  • Example#268 - Rückgriff auf globale Funktionen/Konstanten innerhalb eines Namespace
  • Example#269 - Illustration der Namensauflösung
  • Example#270 - Zugriff auf globale Klassen außerhalb eines Namespace
  • Example#271 - Zugriff auf globale Klassen außerhalb eines Namespace
  • Example#272 - Zugriff auf interne Klassen in Namespaces
  • Example#273 - Zugriff auf interne Klassen, Funktionen oder Konstanten in Namespaces
  • Example#274 - Vollständig qualifizierte Namen
  • Example#275 - Qualifizierte Namen
  • Example#276 - Unqualifizierter Klassennamen
  • Example#277 - Unqualifizierte Funktions- oder Konstantennamen
  • Example#278 - Gefahren von Namespacenamen in Strings mit doppelten Anführungszeichen
  • Example#279 - Undefinierte Konstanten
  • Example#280 - Spezielle Konstanten
  • Example#281 - Die eingebaute Exceptionklasse
  • Example#282 - Die Exceptionklasse erweitern (PHP 5.3.0+)
  • Example#283 - Eine Exception werfen
  • Example#284 - Exceptionbehandlung mit einem finally-Block
  • Example#285 - Verschachtelte Exceptions
  • Example#286 - Implementierung von range als Generator
  • Example#287 - Ein einfaches Beispiel zum liefern (yielding) von Werten
  • Example#288 - Produzieren eines Schlüssel/Wert-Paares
  • Example#289 - Produzieren von NULLs
  • Example#290 - Produzieren von Werten als Referenz
  • Example#291 - yield from mit iterator_to_array
  • Example#292 - Grundlegende Verwendung von yield from
  • Example#293 - yield from und Rückgabewerte
  • Example#294 - Referenzen mit undefinierten Variablen benutzen
  • Example#295 - Globale Variablen innerhalb einer Funktion referenzieren
  • Example#296 - Referenzen und die foreach-Anweisung
  • Example#297 - $GLOBALS-Beispiel
  • Example#298 - $_SERVER-Beispiel
  • Example#299 - $_GET-Beispiel
  • Example#300 - $_POST-Beispiel
  • Example#301 - $_ENV-Beispiel
  • Example#302 - $_COOKIE-Beispiel
  • Example#303 - $php_errormsg-Beispiel
  • Example#304 - $http_response_header-Beispiel
  • Example#305 - $argc-Beispiel
  • Example#306 - $argv-Beispiel
  • Example#307 - Exception::getMessage-Beispiel
  • Example#308 - Exception::getPrevious Beispiel
  • Example#309 - Exception::getCode-Beispiel
  • Example#310 - Exception::getFile-Beispiel
  • Example#311 - Exception::getLine-Beispiel
  • Example#312 - Exception::getTrace-Beispiel
  • Example#313 - Exception::getTraceAsString-Beispiel
  • Example#314 - Exception::__toString-Beispiel
  • Example#315 - Verwenden von set_error_handler zum Verändern von Fehlermeldungen innerhalb ErrorException.
  • Example#316 - ErrorException::getSeverity-Beispiel
  • Example#317 - Basisnutzung
  • Example#318 - Basisnutzung
  • Example#319 - Basisnutzung
  • Example#320 - ArrayAccess::offsetExists-Beispiel
  • Example#321 - Basisnutzung
  • Example#322 - Closure::bind example
  • Example#323 - Closure::bindTo example
  • Example#324 - Closure::call example
  • Example#325 - Generator::getReturn example
  • Example#326 - Generator::key example
  • Example#327 - Using Generator::send to inject values
  • Example#328 - Throwing an exception into a generator
  • Example#329 - Basic bindto usage example
  • Example#330 - Fetch a page and send POST data
  • Example#331 - Fetch a page and send POST data
  • Example#332 - Detecting which URL we ended up on after redirects
  • Example#333 - php://temp/maxmemory
  • Example#334 - php://filter/resource=<stream to be filtered>
  • Example#335 - php://filter/read=<filter list to apply to read chain>
  • Example#336 - php://filter/write=<filter list to apply to write chain>
  • Example#337 - php://memory and php://temp are not reusable
  • Example#338 - Print data:// contents
  • Example#339 - Fetch the media type
  • Example#340 - Basic usage
  • Example#341 - Opening a stream from an active connection
  • Example#342 - This $session variable must be kept available!
  • Example#343 - Traversing a RAR archive
  • Example#344 - Opening an encrypted file (header encryption)
  • Example#345 - Schlechte Variablenprüfung führt zu....
  • Example#346 - ... Ein Angriff auf das Dateisystem
  • Example#347 - Etwas sicherere Prüfung des Dateinamens
  • Example#348 - Sicherere Dateinamensprüfung
  • Example#349 - Skript mit Nullbyte-Verwundbarkeit
  • Example#350 - Korrekte Validierung der Eingabe
  • Example#351 - Verwenden eines hashed Passwortfeldes
  • Example#352 - Die Ergebnisliste in mehrere Seiten aufsplitten ... und Superuser anlegen (PostgreSQL and MySQL)
  • Example#353 - Artikel auflisten ... und ein paar Passwörter (irgendein Datenbankserver)
  • Example#354 - Vom Zurücksetzen eines Passwortes ... zum Erlangen von mehr Rechten (irgendein Datenbankserver)
  • Example#355 - Angriff auf das Betriebssystem des Datenbank Hosts (MSSQL Server)
  • Example#356 - Ein sicherer Weg, eine Abfrage zu erstellen
  • Example#357 - Variablen mit einer eigenen HTML-Seite angreifen
  • Example#358 - Ausnutzen von gebräuchlichen Debugging-Variablen
  • Example#359 - Gefährliche Variablen mit E_ALL finden
  • Example#360 - Example misuse with register_globals = on
  • Example#361 - Example use of sessions with register_globals on or off
  • Example#362 - Detecting simple variable poisoning
  • Example#363 - Gefährliche Verwendung von Variablen
  • Example#364 - Disabling magic quotes server side
  • Example#365 - Disabling magic quotes at runtime
  • Example#366 - PHP als andere Sprache ausgeben
  • Example#367 - Verwenden von unbekannten Typen für PHP-Dateierweiterungen
  • Example#368 - Verwenden von HTML-Typen für PHP-Dateierweiterungen
  • Example#369 - Beispiel: Basic-HTTP-Authentifizierung
  • Example#370 - Beispiel: Digest-HTTP-Authentifizierung
  • Example#371 - HTTP-Authentifizierung, mit erneuter Anforderung von Name/Passwort
  • Example#372 - Ein einfaches XForms-Suchformular
  • Example#373 - XForm verwenden, um $_POST zu bestücken
  • Example#374 - Formular zum Hochladen von Dateien
  • Example#375 - Dateiuploads prüfen
  • Example#376 - Hochladen eines Arrays von Dateien
  • Example#377 - Upload mehrerer Dateien
  • Example#378 - Speichern von HTTP PUT Dateien
  • Example#379 - Den Titel einer entfernten Seite auslesen
  • Example#380 - Daten auf einen entfernten Server speichern
  • Example#381 - Beispiel, welches den Unterschied zu der CGI SAPI verdeutlicht:
  • Example#382 -
  • Example#383 - Ausgabe des geladenen PHP und Zend Module
  • Example#384 - Syntax Fehler beim Verwenden von doppelten Anführungszeichen
  • Example#385 - Nutzung von einfachen Anführungszeichen ein Ersetzen der Variablen zu verhindern
  • Example#386 - Nutzung der -B, -R und -E Optionen, um die Anzahl der Zeilen in einem Projekt zu zählen.
  • Example#387 - Nutzung von -v, um den SAPI Namen, sowie die PHP und Zend Version zu bestimmen
  • Example#388 - --ini example
  • Example#389 - Einfache --rf Nutzung
  • Example#390 - --rc Beispiel
  • Example#391 - --re Beispiel
  • Example#392 - --ri Beispiel
  • Example#393 - PHP als Shellskript ausführen
  • Example#394 - Ein Skript, das von der Kommandozeile aus ausgeführt werden soll (script.php)
  • Example#395 - Batchdatei zur Ausführung eines Kommandozeilen-Skripts in PHP (script.bat)
  • Example#396 - Ausführung von Code auf der interaktiven Shell
  • Example#397 - Tab-Autovervollständigung
  • Example#398 - Setzen von php.ini Optionen in der interaktiven Shell
  • Example#399 - Starten des Webservers
  • Example#400 - Starten mit einem expliziten Document Root
  • Example#401 - Nutzung eines Router-Skripts
  • Example#402 - Prüfung auf die Verwendung des CLI Webservers
  • Example#403 - Behandlung nicht unterstützter Dateitypen
  • Example#404 - Zugriff auf den CLI Webserver von Remote-Computern
  • Example#405 - Creating a new zval container
  • Example#406 - Displaying zval information
  • Example#407 - Increasing refcount of a zval
  • Example#408 - Decreasing zval refcount
  • Example#409 - Creating a array zval
  • Example#410 - Adding already existing element to an array
  • Example#411 - Removing an element from an array
  • Example#412 - Adding the array itself as an element of it self
  • Example#413 - Unsetting $a
  • Example#414 - Memory usage example
  • Example#415 - GC performance influences
  • Example#416 - Running the above script
  • Example#417 - Recompiling PHP to enable GC benchmarking
  • Example#418 - GC statistics
  • Example#419 - all_probes.d for tracing all PHP Static Probes with DTrace
  • Example#420 - all_probes.stp for tracing all PHP Static Probes with SystemTap
  • Example#421 - An apc.rfc1867 example
  • Example#422 - A apc_add example
  • Example#423 - apc_bin_load example
  • Example#424 - A apc_cache_info example
  • Example#425 - apc_cas example
  • Example#426 - apc_dec example
  • Example#427 - apc_define_constants example
  • Example#428 - apc_delete_file example
  • Example#429 - A apc_delete example
  • Example#430 - apc_exists example
  • Example#431 - A apc_fetch example
  • Example#432 - apc_inc example
  • Example#433 - apc_load_constants example
  • Example#434 - A apc_sma_info example
  • Example#435 - A apc_store example
  • Example#436 - A APCIterator::__construct example
  • Example#437 - An apc.rfc1867 example
  • Example#438 - A apcu_add example
  • Example#439 - A apcu_cache_info example
  • Example#440 - apcu_cas example
  • Example#441 - apcu_dec example
  • Example#442 - A apcu_delete example
  • Example#443 - An apcu_entry example
  • Example#444 - apcu_exists example
  • Example#445 - A apcu_fetch example
  • Example#446 - apcu_inc example
  • Example#447 - A apcu_sma_info example
  • Example#448 - A apcu_store example
  • Example#449 - A APCUIterator::__construct example
  • Example#450 - Typical session using tcplisten
  • Example#451 - apd_callstack example
  • Example#452 - apd_clunk example
  • Example#453 - apd_continue example
  • Example#454 - apd_croak example
  • Example#455 - apd_dump_function_table example
  • Example#456 - apd_dump_persistent_resources example
  • Example#457 - apd_dump_regular_resources example
  • Example#458 - apd_echo example
  • Example#459 - apd_get_active_symbols example
  • Example#460 - apd_set_pprof_trace example
  • Example#461 - apd_set_session_trace_socket example
  • Example#462 - apd_set_session_trace example
  • Example#463 - apd_set_session example
  • Example#464 - override_function example
  • Example#465 - rename_function example
  • Example#466 - bcompiler_load_exe example
  • Example#467 - bcompiler_load example
  • Example#468 - bcompiler_parse_class example
  • Example#469 - bcompiler_read example
  • Example#470 - bcompiler_write_class example
  • Example#471 - bcompiler_write_constant example
  • Example#472 - bcompiler_write_exe_footer example
  • Example#473 - bcompiler_write_file example
  • Example#474 - bcompiler_write_footer example
  • Example#475 - bcompiler_write_function example
  • Example#476 - bcompiler_write_functions_from_file example
  • Example#477 - bcompiler_write_header example
  • Example#478 - blenc_encrypt example
  • Example#479 - Fehlerbehandlung in einem Script
  • Example#480 - debug_backtrace-Beispiel
  • Example#481 - debug_print_backtrace Beispiel
  • Example#482 - An error_clear_last example
  • Example#483 - error_get_last-Beispiel
  • Example#484 - error_log-Beispiele
  • Example#485 - error_reporting Beispiel
  • Example#486 - restore_error_handler Beispiel
  • Example#487 - restore_exception_handler Beispiel
  • Example#488 - Fehlerbehandlung mit set_error_handler und trigger_error
  • Example#489 - set_exception_handler Beispiel
  • Example#490 - trigger_error Beispiel
  • Example#491 - Getting the data within the PHP application itself (function)
  • Example#492 - Example use of gengraph.php
  • Example#493 - Listing data via inclued dumps (configuration)
  • Example#494 - inclued_get_data Beispiel
  • Example#495 - Creating large array in a function
  • Example#496 - Output-Control-Beispiel
  • Example#497 - ob_end_clean Beispiel
  • Example#498 - ob_end_clean-Beispiel
  • Example#499 - A simple ob_get_clean example
  • Example#500 - Einfaches ob_get_contents-Beispiel
  • Example#501 - ob_get_flush example
  • Example#502 - A simple ob_get_length example
  • Example#503 - ob_gzhandler example
  • Example#504 - ob_list_handlers example
  • Example#505 - Beispiel einer benutzerkonfigurierten Callbackfunktion
  • Example#506 - Creating an uneraseable output buffer in a way compatible with both PHP 5.3 and 5.4
  • Example#507 - output_add_rewrite_var Beispiel
  • Example#508 - output_reset_rewrite_vars example
  • Example#509 - assert_options Beispiel
  • Example#510 - Überprüfung mit benutzerdefinierter Funktion
  • Example#511 - Verwendung eines benutzerdefinierten Handlers um eine Beschreibung anzuzeigen
  • Example#512 - Annahmen ohne benutzerdefinierte Exception
  • Example#513 - Annahmen mit einer benutzerdefinierten Exception
  • Example#514 - cli_get_process_title example
  • Example#515 - cli_set_process_title example
  • Example#516 - dl Beispiel
  • Example#517 - extension_loaded Beispiel
  • Example#518 - A gc_enabled example
  • Example#519 - get_current_user-Beispiel
  • Example#520 - get_defined_constants Example
  • Example#521 - Gibt alle XML Funktionen aus
  • Example#522 - get_include_path example
  • Example#523 - get_included_filesBeispiel
  • Example#524 - get_loaded_extensions Beispiele
  • Example#525 - Unfiltered get_resources
  • Example#526 - Filtered get_resources
  • Example#527 - getenv-Beispiel
  • Example#528 - getlastmod Beispiel
  • Example#529 - getopt example: The basics
  • Example#530 - getopt example: Introducing long options
  • Example#531 - getopt example: Passing multiple options as one
  • Example#532 - getopt example: Using optind
  • Example#533 - getrusage Beispiel
  • Example#534 - ini_get_all examples
  • Example#535 - Disabling details
  • Example#536 - A few ini_get examples
  • Example#537 - ini_restore example
  • Example#538 - Setting an ini option
  • Example#539 - A memory_get_usage example
  • Example#540 - php_ini_loaded_file example
  • Example#541 - Ein einfaches Beispiel um zurückgegebene ini-Dateien aufzulisten
  • Example#542 - php_logo_guid-Beispiel
  • Example#543 - php_sapi_name Beispiel
  • Example#544 - Some php_uname examples
  • Example#545 - A few OS related constant examples
  • Example#546 - Prints the general credits
  • Example#547 - Prints the core developers and the documentation group
  • Example#548 - Printing all the credits
  • Example#549 - phpinfo-Beispiel
  • Example#550 - phpversion-Beispiel
  • Example#551 - Setzen einer Umgebungsvariablen
  • Example#552 - restore_include_path example
  • Example#553 - set_include_path example
  • Example#554 - Adding to the include path
  • Example#555 - sys_get_temp_dir example
  • Example#556 - version_compare-Beispiele
  • Example#557 - zend_logo_guid Beispiel
  • Example#558 - zend_thread_id-Beispiel
  • Example#559 - zend_version Beispiel
  • Example#560 - Custom Superglobals with runkit.superglobal=_FOO,_BAR in php.ini
  • Example#561 - Instantiating a restricted sandbox
  • Example#562 - Working with variables in a sandbox
  • Example#563 - Calling sandbox functions
  • Example#564 - Passing arguments to sandbox functions
  • Example#565 - Working with variables in a sandbox
  • Example#566 - Accessing parental variables
  • Example#567 - A runkit_class_adopt example
  • Example#568 - A runkit_class_emancipate example
  • Example#569 - A runkit_function_add example
  • Example#570 - A runkit_function_copy example
  • Example#571 - A runkit_function_redefine example
  • Example#572 - runkit_import example
  • Example#573 - runkit_method_add example
  • Example#574 - runkit_method_copy example
  • Example#575 - runkit_method_redefine example
  • Example#576 - runkit_method_remove example
  • Example#577 - runkit_method_rename example
  • Example#578 - runkit_return_value_used example
  • Example#579 - Feeding output to a variable
  • Example#580 - Enabling and disabling scream at runtime
  • Example#581 - uopz_backup example
  • Example#582 - uopz_compose example
  • Example#583 - uopz_copy example
  • Example#584 - uopz_delete example
  • Example#585 - uopz_delete class example
  • Example#586 - uopz_extend example
  • Example#587 - uopz_flags example
  • Example#588 - uopz_function example
  • Example#589 - uopz_function class example
  • Example#590 - uopz_implement example
  • Example#591 - uopz_overload example
  • Example#592 - uopz_redefine example
  • Example#593 - uopz_rename example
  • Example#594 - uopz_rename class example
  • Example#595 - uopz_restore example
  • Example#596 - uopz_undefine example
  • Example#597 - Weakref usage example
  • Example#598 - WeakRef usage example
  • Example#599 - Weakref::acquire example
  • Example#600 - Nested acquire/release example
  • Example#601 - Weakref::__construct example
  • Example#602 - Weakref::release example
  • Example#603 - Weakmap usage example
  • Example#604 - wincache.ignorelist example
  • Example#605 - Authentication configuration for wincache.php
  • Example#606 - Enabling WinCache session handler
  • Example#607 - Enabling WinCache functions reroutes
  • Example#608 - Reroute.ini file content
  • Example#609 - A wincache_fcache_fileinfo example
  • Example#610 - A wincache_fcache_meminfo example
  • Example#611 - Using wincache_lock
  • Example#612 - A wincache_ocache_fileinfo example
  • Example#613 - A wincache_ocache_meminfo example
  • Example#614 - A wincache_refresh_if_changed example
  • Example#615 - A wincache_rplist_fileinfo example
  • Example#616 - A wincache_rplist_meminfo example
  • Example#617 - A wincache_scache_info example
  • Example#618 - A wincache_scache_meminfo example
  • Example#619 - wincache_ucache_add with key as a string
  • Example#620 - wincache_ucache_add with key as an array
  • Example#621 - Using wincache_ucache_cas
  • Example#622 - using wincache_ucache_clear
  • Example#623 - Using wincache_ucache_dec
  • Example#624 - Using wincache_ucache_delete with key as a string
  • Example#625 - Usingwincache_ucache_delete with key as an array
  • Example#626 - Using wincache_ucache_delete with key as an array where some elements cannot be deleted
  • Example#627 - Using wincache_ucache_exists
  • Example#628 - wincache_ucache_get with key as a string
  • Example#629 - wincache_ucache_get with key as an array
  • Example#630 - Using wincache_ucache_inc
  • Example#631 - Using wincache_ucache_info
  • Example#632 - A wincache_ucache_meminfo example
  • Example#633 - wincache_ucache_set with key as a string
  • Example#634 - wincache_ucache_set with key as an array
  • Example#635 - Using wincache_unlock
  • Example#636 - Xhprof example with the optional GUI
  • Example#637 - xhprof_disable example
  • Example#638 - xhprof_enable examples
  • Example#639 - xhprof_sample_disable example
  • Example#640 - id3_get_frame_long_name Beispiel
  • Example#641 - id3_get_frame_short_name example
  • Example#642 - id3_get_genre_id Beispiel
  • Example#643 - id3_get_genre_list Beispiel
  • Example#644 - id3_get_genre_name Beispiel
  • Example#645 - id3_get_tag Beispiel
  • Example#646 - id3_get_tag Beispiel
  • Example#647 - id3_get_version Beispiel
  • Example#648 - id3_remove_tag Beispiel
  • Example#649 - id3_set_tag Beispiel
  • Example#650 - Opens a new MP3 file and read the title
  • Example#651 - Reading an OGG/Vorbis file
  • Example#652 - Encode an audio file to OGG/Vorbis
  • Example#653 - KADM5 extension overview example
  • Example#654 - Example of changing principal's password
  • Example#655 - Example of principal's creation
  • Example#656 - kadm5_delete_principal example
  • Example#657 - kadm5_get_policies example
  • Example#658 - kadm5_get_principal example
  • Example#659 - kadm5_get_principals example
  • Example#660 - KADM5 initialization example
  • Example#661 - Example of modifying principal
  • Example#662 - Using CHAP passwords
  • Example#663 - radius_acct_open example
  • Example#664 - radius_add_server example
  • Example#665 - radius_auth_open example
  • Example#666 - radius_create_request example
  • Example#667 - radius_cvt_addr example
  • Example#668 - radius_cvt_int example
  • Example#669 - radius_cvt_string example
  • Example#670 - radius_get_attr example
  • Example#671 - radius_get_tagged_attr_data example
  • Example#672 - radius_get_tagged_attr_tag example
  • Example#673 - radius_get_vendor_attr example
  • Example#674 - radius_put_attr example
  • Example#675 - radius_put_int example
  • Example#676 - radius_put_string example
  • Example#677 - radius_put_vendor_attr example
  • Example#678 - Writing a string with a specified color to the screen
  • Example#679 - ncurses_getmouse example
  • Example#680 - Writing a string with a specified color to the screen
  • Example#681 - Writing a string with a specified color to the screen
  • Example#682 - ncurses_mousemask example
  • Example#683 - Writing a string with a specified color to the screen
  • Example#684 - Newt Usage Example
  • Example#685 - A newt_button example
  • Example#686 - A newt_draw_root_text example
  • Example#687 - A newt_form_add_component example
  • Example#688 - A newt_form_add_components example
  • Example#689 - A newt_form example
  • Example#690 - A newt_get_screen_size example
  • Example#691 - A newt_win_entries example
  • Example#692 - Readline-Callback-Interface-Beispiel
  • Example#693 - readline-Beispiel
  • Example#694 - Ein kleines bzip2-Beispiel
  • Example#695 - Komprimierung von Daten
  • Example#696 - Dekomprimieren einer Zeichenkette
  • Example#697 - bzerror-Beispiel
  • Example#698 - bzopen-Beispiel
  • Example#699 - bzread-Beispiel
  • Example#700 - bzwrite-Beispiel
  • Example#701 - Using an external file
  • Example#702 - Using a file within a phar archive
  • Example#703 - Converting a phar archive from phar to tar file format
  • Example#704 - phar.extract_list usage example
  • Example#705 - phar.cache_list usage example
  • Example#706 - A Phar::addEmptyDir example
  • Example#707 - A Phar::addFile example
  • Example#708 - A Phar::addFromString example
  • Example#709 - A Phar::apiVersion example
  • Example#710 - A Phar::buildFromDirectory example
  • Example#711 - A Phar::buildFromIterator with SplFileInfo
  • Example#712 - A Phar::buildFromIterator with other iterators
  • Example#713 - A Phar::canCompress example
  • Example#714 - A Phar::canWrite example
  • Example#715 - A Phar::compress example
  • Example#716 - A Phar::compressAllFilesBZIP2 example
  • Example#717 - A Phar::compressAllFilesGZ example
  • Example#718 - A Phar::compressFiles example
  • Example#719 - A Phar::__construct example
  • Example#720 - A Phar::convertToData example
  • Example#721 - A Phar::convertToExecutable example
  • Example#722 - A Phar::copy example
  • Example#723 - A Phar::count example
  • Example#724 - A Phar::createDefaultStub example
  • Example#725 - A Phar::decompress example
  • Example#726 - A Phar::decompressFiles example
  • Example#727 - A Phar::delMetaData example
  • Example#728 - A Phar::delete example
  • Example#729 - A Phar::extractTo example
  • Example#730 - A Phar::getMetadata example
  • Example#731 - A Phar::getStub example
  • Example#732 - A Phar::hasMetadata example
  • Example#733 - A Phar::interceptFileFuncs example
  • Example#734 - A Phar::interceptFileFuncs example
  • Example#735 - A Phar::isBuffering example
  • Example#736 - A Phar::isCompressed example
  • Example#737 - A Phar::loadPhar example
  • Example#738 - A Phar::mapPhar example
  • Example#739 - A Phar::mount example
  • Example#740 - A Phar::mungServer example
  • Example#741 - A Phar::offsetExists example
  • Example#742 - Phar::offsetGet example
  • Example#743 - A Phar::offsetSet example
  • Example#744 - A Phar::offsetUnset example
  • Example#745 - A Phar::running example
  • Example#746 - A Phar::setAlias example
  • Example#747 - A Phar::setDefaultStub example
  • Example#748 - A Phar::setMetadata example
  • Example#749 - A Phar::setStub example
  • Example#750 - A Phar::startBuffering example
  • Example#751 - A Phar::stopBuffering example
  • Example#752 - A Phar::uncompressAllFiles example
  • Example#753 - A Phar::unlinkArchive example
  • Example#754 - A Phar::webPhar example
  • Example#755 - A PharData::addEmptyDir example
  • Example#756 - A PharData::addFile example
  • Example#757 - A PharData::addFromString example
  • Example#758 - A PharData::buildFromDirectory example
  • Example#759 - A PharData::buildFromIterator with SplFileInfo
  • Example#760 - A PharData::buildFromIterator with other iterators
  • Example#761 - A PharData::compress example
  • Example#762 - A PharData::compressFiles example
  • Example#763 - A PharData::__construct example
  • Example#764 - A PharData::convertToData example
  • Example#765 - A PharData::convertToExecutable example
  • Example#766 - A PharData::copy example
  • Example#767 - A PharData::decompress example
  • Example#768 - A PharData::decompressFiles example
  • Example#769 - A PharData::delMetaData example
  • Example#770 - A PharData::delete example
  • Example#771 - A PharData::extractTo example
  • Example#772 - A PharData::offsetSet example
  • Example#773 - A PharData::offsetUnset example
  • Example#774 - A Phar::setMetadata example
  • Example#775 - A PharFileInfo::chmod example
  • Example#776 - A PharFileInfo::compress example
  • Example#777 - A PharFileInfo::__construct example
  • Example#778 - A PharFileInfo::decompress example
  • Example#779 - A PharFileInfo::delMetaData example
  • Example#780 - A PharFileInfo::getCRC32 example
  • Example#781 - A PharFileInfo::getCompressedSize example
  • Example#782 - A PharFileInfo::getMetadata example
  • Example#783 - A PharFileInfo::getPharFlags example
  • Example#784 - A PharFileInfo::isCRCChecked example
  • Example#785 - A PharFileInfo::isCompressed example
  • Example#786 - A PharFileInfo::isCompressedBZIP2 example
  • Example#787 - A PharFileInfo::isCompressedGZ example
  • Example#788 - A PharFileInfo::setCompressedBZIP2 example
  • Example#789 - A PharFileInfo::setCompressedGZ example
  • Example#790 - A PharFileInfo::setMetadata example
  • Example#791 - A PharFileInfo::setUncompressed example
  • Example#792 - Rar Installation
  • Example#793 - On-the-fly decompression
  • Example#794 - RAR extension filesystem extraction example
  • Example#795 - Objektorientierter Stil
  • Example#796 - Prozeduraler Stil
  • Example#797 - Objektorientierter Stil
  • Example#798 - Prozeduraler Stil
  • Example#799 - Objektorientierter Stil
  • Example#800 - Prozeduraler Stil
  • Example#801 - Objektorientierter Stil
  • Example#802 - Prozeduraler Stil
  • Example#803 - Objektorientierter Stil
  • Example#804 - Prozeduraler Stil
  • Example#805 - Objektorientierter Stil
  • Example#806 - Prozeduraler Stil
  • Example#807 - Objektorientierter Stil
  • Example#808 - Prozeduraler Stil
  • Example#809 - Volume Callback
  • Example#810 - Objektorientierter Stil
  • Example#811 - Prozeduraler Stil
  • Example#812 - RarArchive::__toString example
  • Example#813 - RarEntry::extract example
  • Example#814 - How to extract all files in archive:
  • Example#815 - RarEntry::getAttr example
  • Example#816 - RarEntry::getHostOs example (version >= 2.0.0)
  • Example#817 - RarEntry::getHostOs example (version <= 1.0.0)
  • Example#818 - RarEntry::getMethod example
  • Example#819 - RarEntry::getName example
  • Example#820 - RarEntry::getPackedSize example
  • Example#821 - RarEntry::getStream example
  • Example#822 - RarEntry::getUnpackedSize example
  • Example#823 - RarEntry::getVersion example
  • Example#824 - RarException::isUsingExceptions example
  • Example#825 - RarException::setUsingExceptions example
  • Example#826 - Erstellen eines Zip-Archivs
  • Example#827 - Ausgabe eines detailierten Archivlistings
  • Example#828 - Zip Stream Wrapper, Auslesen von OpenOffice Metainformationen
  • Example#829 - Zip Beispiel
  • Example#830 - Erstellt ein neues Verzeichnis im Archiv
  • Example#831 - Öffnen und hinzufügen
  • Example#832 - Einen Eintrag zu einem neuen Archiv hinzufügen
  • Example#833 - Eine Datei zu einem Verzeichnis innerhalb eines Archivs hinzufügen
  • Example#834 - ZipArchive::addGlob example
  • Example#835 - ZipArchive::addPattern example
  • Example#836 - Löschen einer Datei aus dem Archiv unter Verwendung ihres Index
  • Example#837 - Eine Datei und ein Verzeichnis unter Verwendung ihrer Namen aus einem Archiv löschen
  • Example#838 - Alle Einträge extrahieren
  • Example#839 - Zwei Einträge extrahieren
  • Example#840 - Einen Archivkommentar ausgeben
  • Example#841 - Einen Eintragskommentar ausgeben
  • Example#842 - Einen Eintragskommentar ausgeben
  • Example#843 - Extract all entries with Unix rights
  • Example#844 - Den Dateiinhalt auslesen
  • Example#845 - Den Dateiinhalt auslesen
  • Example#846 - Ein Bild aus einem ZIP-Eintrag konvertieren
  • Example#847 - ZipArchive::getNameIndex Beispiel
  • Example#848 - Den Eintragsinhalt mit fread holen und speichern
  • Example#849 - Das gleiche wie im vorigen Beispiel aber mit fopen und dem ZIP-Streamwrapper
  • Example#850 - Streamwrapper und Bild, kann ebenfalls mit der XML-Funktion verwendet werden
  • Example#851 - Ein Archiv erstellen und es mit locateName verwenden
  • Example#852 - Öffnen und extrahieren
  • Example#853 - Ein Archiv erstellen
  • Example#854 - Einen Eintrag umbenennen
  • Example#855 - Einen Eintrag umbenennen
  • Example#856 - Ein Archiv erstellen und einen Kommentar hinzufügen
  • Example#857 - Ein Archiv öffnen und für einen Eintrag einen Kommentar hinzufügen
  • Example#858 - Ein Archiv öffnen und für einen Eintrag einen Kommentar hinzufügen
  • Example#859 - Add files with different compression methods to an archive
  • Example#860 - Add files with different compression methods to an archive
  • Example#861 - Archive a file, with its Unix rights
  • Example#862 - Die Statusinformation eines Eintrags ausgeben
  • Example#863 - Die Statusinformation eines Eintrags ausgeben
  • Example#864 - Ein kleines Beispiel zu Zlib
  • Example#865 - Arbeiten mit dem inkrementellen Kompriemierungs- und Dekomprimierungs-API ab PHP 7.0.0
  • Example#866 - gzclose Beispiel
  • Example#867 - gzcompress Beispiel
  • Example#868 - gzdeflate Beispiel
  • Example#869 - Creating a gzip file
  • Example#870 - gzeof Beispiel
  • Example#871 - gzfile example
  • Example#872 - gzgetc Beispiel
  • Example#873 - gzgets example
  • Example#874 - gzgetss Beispiel
  • Example#875 - gzinflate Beispiel
  • Example#876 - gzopen Beispiel
  • Example#877 - gzpassthru example
  • Example#878 - gzread Beispiel
  • Example#879 - gzseek Beispiel
  • Example#880 - gzuncompress Beispiel
  • Example#881 - gzwrite Beispiel
  • Example#882 - zlib_encode Beispiel
  • Example#883 - CrackLib Beispiel
  • Example#884 - random_bytes example
  • Example#885 - random_int example
  • Example#886 - hash_algos-Beispiel
  • Example#887 - hash_copy-Beispiel
  • Example#888 - example
  • Example#889 - hash_file-Beispiel
  • Example#890 - hash_final-Beispiel
  • Example#891 - hash_hmac_file-Beispiel
  • Example#892 - hash_hmac-Beispiel
  • Example#893 - Beispiel für schrittweises Hashing
  • Example#894 - hash_pbkdf2 example, basic usage
  • Example#895 - hash_update_stream-Beispiel
  • Example#896 - hash-Beispiel
  • Example#897 - Ermitteln von Prä-PHP 5.4 tiger Hashes mit PHP 5.4 und höher
  • Example#898 - Verschlüsselt einen übergebenen Wert mit AES mit einem 256-bit Schlüssel unter 2.4.x und höher im Modus CBC
  • Example#899 - mcrypt_create_iv Example
  • Example#900 - mcrypt_enc_get_algorithms_name example
  • Example#901 - mcrypt_enc_get_modes_name example
  • Example#902 - mcrypt_enc_get_supported_key_sizes example
  • Example#903 - mcrypt_encrypt Example
  • Example#904 - mcrypt_get_block_size example
  • Example#905 - mcrypt_get_cipher_name Example
  • Example#906 - mcrypt_get_iv_size Example
  • Example#907 - mcrypt_get_key_size Example
  • Example#908 - mcrypt_list_algorithms Example
  • Example#909 - mcrypt_list_modes Example
  • Example#910 - mcrypt_module_open Examples
  • Example#911 - Using mcrypt_module_open in encryption
  • Example#912 - mcrypt_module_self_test example
  • Example#913 - mdecrypt_generic Example
  • Example#914 - Computes the MD5 digest and hmac and print it out as hex
  • Example#915 - Alle Hashes durchlaufen
  • Example#916 - mhash_get_hash_name-Beispiel
  • Example#917 - openssl_cipher_iv_length example
  • Example#918 - Erzeugen eines selbstsignierten Zertifikats
  • Example#919 - openssl_csr_sign example - signing a CSR (how to implement your own CA)
  • Example#920 - openssl_error_string Beispiel
  • Example#921 - openssl_get_cert_locations example
  • Example#922 - openssl_get_cipher_methods example
  • Example#923 - openssl_get_md_methods example
  • Example#924 - openssl_open Beispiel
  • Example#925 - openssl_pkcs7_decrypt Beispiel
  • Example#926 - openssl_pkcs7_encrypt Beispiel
  • Example#927 - openssl_pkcs7_sign Beispiel
  • Example#928 - openssl_random_pseudo_bytes example
  • Example#929 - openssl_seal example
  • Example#930 - openssl_sign example
  • Example#931 - openssl_spki_export_challenge example
  • Example#932 - openssl_spki_export_challenge example from <keygen>
  • Example#933 - openssl_spki_export example
  • Example#934 - openssl_spki_export example from <keygen>
  • Example#935 - openssl_spki_new example
  • Example#936 - openssl_spki_verify example
  • Example#937 - openssl_spki_verify example from <keygen>
  • Example#938 - openssl_verify example
  • Example#939 - openssl_verify Beispiel
  • Example#940 - password_hash example
  • Example#941 - password_hash example setting cost manually
  • Example#942 - password_hash example setting salt manually
  • Example#943 - password_hash example finding a good cost
  • Example#944 - password_verify-Beispiel
  • Example#945 - DBA Beispiel
  • Example#946 - Durchlaufen einer Datenbank
  • Example#947 - dba_handlers-Beispiel
  • Example#948 - dbx_close-Beispiel
  • Example#949 - dbx_compare-Beispiel
  • Example#950 - dbx_connect-Beispiel
  • Example#951 - dbx_error-Beispiel
  • Example#952 - dbx_escape_string-Beispiel
  • Example#953 - Den Rückgabewert richtig verarbeiten
  • Example#954 - Wie mit dem gelieferten Wert umgegangen wird
  • Example#955 - Auflistung von Name und Typ jedes Feldes
  • Example#956 - Ausgabe des Inhaltes der data Eigenschaft in eine HTML Tabelle
  • Example#957 - dbx_sort-Beispiel
  • Example#958 - odbc_fetch_into-Beispiele
  • Example#959 - odbc_next_result
  • Example#960 - odbc.setoption Beispiele
  • Example#961 - using PDO::ATTR_DRIVER_NAME
  • Example#962 - Mit MySQL verbinden
  • Example#963 - Verbindungsfehler behandeln
  • Example#964 - Eine Verbindung schließen
  • Example#965 - Persistente Verbindungen
  • Example#966 - Mehrere Abfragen in einer Transaktion
  • Example#967 - Wiederholte Inserts mit Prepared Statements
  • Example#968 - Wiederholte Inserts mit Prepared Statements
  • Example#969 - Abfragen von Daten mit Prepared Statements
  • Example#970 - Eine Stored Procedure mit einem Ausgabeparameter aufrufen
  • Example#971 - Eine Stored Procedure mit einem Eingabe-/Ausgabe-Parameter aufrufen
  • Example#972 - Ungültige Verwendung von Platzhaltern
  • Example#973 - Eine PDO Instanz erstellen und den Error Mode setzen
  • Example#974 - Erzeugen eines PDO Exemplars und setzen des Fehlermodus per Konstruktor
  • Example#975 - Ein Bild aus einer Datenbank anzeigen
  • Example#976 - Ein Bild in eine Datenbank einfügen
  • Example#977 - Ein Bild in eine Datenbank einfügen: Oracle
  • Example#978 - Roll back a transaction
  • Example#979 - Committing a basic transaction
  • Example#980 - Committing a DDL transaction
  • Example#981 - Create a PDO instance via driver invocation
  • Example#982 - Create a PDO instance via URI invocation
  • Example#983 - Create a PDO instance using an alias
  • Example#984 - Retrieving an SQLSTATE code
  • Example#985 - Displaying errorInfo() fields for a PDO_ODBC connection to a DB2 database
  • Example#986 - Ein DELETE Statement ausführen
  • Example#987 - Retrieving database connection attributes
  • Example#988 - A PDO::getAvailableDrivers example
  • Example#989 - Prepare an SQL statement with named parameters
  • Example#990 - Prepare an SQL statement with question mark parameters
  • Example#991 - Demonstrate PDO::query
  • Example#992 - Quoting a normal string
  • Example#993 - Quoting a dangerous string
  • Example#994 - Quoting a complex string
  • Example#995 - Roll back a transaction
  • Example#996 - Binding result set output to PHP variables
  • Example#997 - Execute a prepared statement with named placeholders
  • Example#998 - Execute a prepared statement with question mark placeholders
  • Example#999 - Call a stored procedure with an INOUT parameter
  • Example#1000 - Execute a prepared statement with named placeholders
  • Example#1001 - Execute a prepared statement with question mark placeholders
  • Example#1002 - A PDOStatement::closeCursor example
  • Example#1003 - Counting columns
  • Example#1004 - PDOStatement::debugDumpParams example with named parameters
  • Example#1005 - PDOStatement::debugDumpParams example with unnamed parameters
  • Example#1006 - Retrieving an SQLSTATE code
  • Example#1007 - Displaying errorInfo() fields for a PDO_ODBC connection to a DB2 database
  • Example#1008 - Execute a prepared statement with a bound variable and value
  • Example#1009 - Execute a prepared statement with an array of insert values (named parameters)
  • Example#1010 - Execute a prepared statement with an array of insert values (placeholders)
  • Example#1011 - Execute a prepared statement with question mark placeholders
  • Example#1012 - Execute a prepared statement using array for IN clause
  • Example#1013 - Fetching rows using different fetch styles
  • Example#1014 - Fetching rows with a scrollable cursor
  • Example#1015 - Construction order
  • Example#1016 - Fetch all remaining rows in a result set
  • Example#1017 - Fetching all values of a single column from a result set
  • Example#1018 - Grouping all values by a single column
  • Example#1019 - Instantiating a class for each result
  • Example#1020 - Calling a function for each result
  • Example#1021 - Return first column of the next row
  • Example#1022 - Retrieving column metadata
  • Example#1023 - Fetching multiple rowsets returned from a stored procedure
  • Example#1024 - Return the number of deleted rows
  • Example#1025 - Counting rows returned by a SELECT statement
  • Example#1026 - Setting the fetch mode
  • Example#1027 - Insert LOBs in CUBRID PDO
  • Example#1028 - Fetch LOBs in CUBRID PDO
  • Example#1029 - Insert set in CUBRID PDO with default data type.
  • Example#1030 - Specify data type when insert set in CUBRID PDO
  • Example#1031 - PDO_CUBRID DSN examples
  • Example#1032 - A PDO::cubrid_schema example
  • Example#1033 - PDO_DBLIB DSN examples
  • Example#1034 - PDO_FIREBIRD DSN example with path
  • Example#1035 - PDO_FIREBIRD DSN example with port and path
  • Example#1036 - PDO_FIREBIRD DSN example with localhost and path to employee.fdb on Debian system
  • Example#1037 - PDO_IBM DSN example using db2cli.ini
  • Example#1038 - PDO_IBM DSN example using a connection string
  • Example#1039 - PDO_INFORMIX DSN example using odbc.ini
  • Example#1040 - PDO_INFORMIX DSN example using a connection string
  • Example#1041 - Forcing queries to be buffered in mysql
  • Example#1042 - Setting the connection character set to UTF-8 prior to PHP 5.3.6
  • Example#1043 - PDO_MYSQL DSN examples
  • Example#1044 - PDO_SQLSRV DSN examples
  • Example#1045 - PDO_OCI DSN examples
  • Example#1046 - PDO_ODBC DSN example (ODBC driver manager)
  • Example#1047 - PDO_ODBC DSN example (IBM DB2 uncataloged connection)
  • Example#1048 - PDO_ODBC DSN example (Microsoft Access uncataloged connection)
  • Example#1049 - PDO_PGSQL DSN examples
  • Example#1050 - A PDO::pgsqlLOBCreate example
  • Example#1051 - A PDO::pgsqlLOBOpen example
  • Example#1052 - A PDO::pgsqlLOBUnlink example
  • Example#1053 - PDO_SQLITE DSN Beispiele
  • Example#1054 - max_length aggregation function example
  • Example#1055 - PDO::sqliteCreateCollation example
  • Example#1056 - PDO::sqliteCreateFunction example
  • Example#1057 - DSN examples for PDO_4D
  • Example#1058 - Basic example with PDO_4D
  • Example#1059 - Accessing 4D language from pdo_4d
  • Example#1060 - Escaping 4D table names
  • Example#1061 - Example of Data Retrieval
  • Example#1062 - Example of Data Insertion
  • Example#1063 - cubrid_bind example
  • Example#1064 - cubrid_bind BLOB/CLOB example
  • Example#1065 - cubrid_bind BLOB/CLOB example
  • Example#1066 - cubrid_close_prepare example
  • Example#1067 - cubrid_close_request example
  • Example#1068 - cubrid_col_get example
  • Example#1069 - cubrid_col_size example
  • Example#1070 - cubrid_column_names example
  • Example#1071 - cubrid_column_types example
  • Example#1072 - cubrid_commit example
  • Example#1073 - cubrid_connect_with_url url without properties example
  • Example#1074 - cubrid_connect_with_url url with properties example
  • Example#1075 - cubrid_connect example
  • Example#1076 - cubrid_current_oid example
  • Example#1077 - cubrid_disconnect example
  • Example#1078 - cubrid_drop example
  • Example#1079 - cubrid_error_code_facility example
  • Example#1080 - cubrid_error_code example
  • Example#1081 - cubrid_error_msg example
  • Example#1082 - cubrid_execute example
  • Example#1083 - cubrid_fetch example
  • Example#1084 - cubrid_free_result example
  • Example#1085 - cubrid_get_charset example
  • Example#1086 - cubrid_get_class_name example
  • Example#1087 - cubrid_get_client_info example
  • Example#1088 - cubrid_get_db_parameter example
  • Example#1089 - cubrid_get_query_timeout example
  • Example#1090 - cubrid_get_server_info example
  • Example#1091 - cubrid_get example
  • Example#1092 - cubrid_insert_id example
  • Example#1093 - cubrid_is_instance example
  • Example#1094 - cubrid_lob_close example
  • Example#1095 - cubrid_lob_export example
  • Example#1096 - cubrid_lob_get example
  • Example#1097 - cubrid_lob_send example
  • Example#1098 - cubrid_lob_size example
  • Example#1099 - cubrid_lob2_bind example
  • Example#1100 - cubrid_lob2_export example
  • Example#1101 - cubrid_lob2_export example
  • Example#1102 - cubrid_lob2_read example 1
  • Example#1103 - cubrid_lob2_read example 2
  • Example#1104 - cubrid_lob2_seek64 example
  • Example#1105 - cubrid_lob2_seek example
  • Example#1106 - cubrid_lob2_write example 1
  • Example#1107 - cubrid_lob2_write example 2
  • Example#1108 - cubrid_lock_read example
  • Example#1109 - cubrid_lock_write example
  • Example#1110 - cubrid_move_cursor example
  • Example#1111 - cubrid_next_result example
  • Example#1112 - cubrid_num_cols example
  • Example#1113 - cubrid_num_rows example
  • Example#1114 - cubrid_pconnect_with_url url without properties example
  • Example#1115 - cubrid_pconnect_with_url url with properties example
  • Example#1116 - cubrid_connect example
  • Example#1117 - cubrid_prepare example
  • Example#1118 - cubrid_put example
  • Example#1119 - cubrid_rollback example
  • Example#1120 - cubrid_schema example
  • Example#1121 - cubrid_seq_drop example
  • Example#1122 - cubrid_seq_insert example
  • Example#1123 - cubrid_seq_put example
  • Example#1124 - cubrid_set_add example
  • Example#1125 - cubrid_get_db_parameter example
  • Example#1126 - cubrid_set_drop example
  • Example#1127 - cubrid_version example
  • Example#1128 - cubrid_affected_rows example
  • Example#1129 - cubrid_client_encoding example
  • Example#1130 - cubrid_close example
  • Example#1131 - cubrid_data_seek example
  • Example#1132 - cubrid_db_name example
  • Example#1133 - cubrid_errno example
  • Example#1134 - cubrid_error example
  • Example#1135 - cubrid_fetch_array example
  • Example#1136 - cubrid_fetch_assoc example
  • Example#1137 - cubrid_fetch_field example
  • Example#1138 - cubrid_fetch_lengths example
  • Example#1139 - cubrid_fetch_object example
  • Example#1140 - cubrid_fetch_row example
  • Example#1141 - cubrid_field_flags example
  • Example#1142 - cubrid_field_len example
  • Example#1143 - cubrid_field_name example
  • Example#1144 - cubrid_field_seek example
  • Example#1145 - cubrid_field_table example
  • Example#1146 - cubrid_field_type example
  • Example#1147 - cubrid_list_dbs example
  • Example#1148 - cubrid_num_fields example
  • Example#1149 - cubrid_ping example
  • Example#1150 - Invalid Query
  • Example#1151 - Valid Query
  • Example#1152 - cubrid_real_escape_string example
  • Example#1153 - cubrid_result example
  • Example#1154 - cubrid_unbuffered_query example
  • Example#1155 - cubrid_load_from_glo example
  • Example#1156 - cubrid_new_glo example
  • Example#1157 - cubrid_save_to_glo example
  • Example#1158 - cubrid_send_glo example
  • Example#1159 - Einen Datensatz in eine dBase-Datenbank einfügen
  • Example#1160 - Schließen einer dBase-Datenbankdatei
  • Example#1161 - Erzeugen einer dBase-Datenbankdatei
  • Example#1162 - Anzeigen der Informationen des Dateikopfs einer dBase-Datenbankdatei
  • Example#1163 - Liste aller in der Datenbank eingetragener Mitglieder
  • Example#1164 - dbase_numfields-Beispiel
  • Example#1165 - Eine Schleife über alle Datensätze der Datenbank ausführen
  • Example#1166 - Öffnen einer dBase-Datenbankdatei
  • Example#1167 - Leeren einer dBase-Datenbank
  • Example#1168 - Aktualisieren eines Datensatzes in der Datenbank
  • Example#1169 - ibase_blob_get example
  • Example#1170 - ibase_blob_import example
  • Example#1171 - ibase_connect-Beispiel:
  • Example#1172 - ibase_execute Beispiel
  • Example#1173 - ibase_field_info example
  • Example#1174 - ibase_name_result example
  • Example#1175 - ibase_num_fields Beispiel
  • Example#1176 - ibase_query example
  • Example#1177 - ibase_set_event_handler example
  • Example#1178 - fbsql_close Beispiel
  • Example#1179 - fbsql_connect-Beispiel:
  • Example#1180 - fbsql_create_blob example
  • Example#1181 - fbsql_create_clob example
  • Example#1182 - fbsql_create_db Beispiel
  • Example#1183 - fbsql_data_seek Beispiel
  • Example#1184 - fbsql_create_clob example
  • Example#1185 - fbsql_errno Beispiel
  • Example#1186 - fbsql_error Beispiel
  • Example#1187 - fbsql_fetch_array example
  • Example#1188 - fbsql_fetch_assoc example
  • Example#1189 - fbsql_fetch_field Beispiel
  • Example#1190 - fbsql_fetch_object example
  • Example#1191 - fbsql_field_name Beispiel
  • Example#1192 - fbsql_field_type Beispiel
  • Example#1193 - fbsql_list_dbs example
  • Example#1194 - fbsql_list_fields example
  • Example#1195 - fbsql_next_result Beispiel
  • Example#1196 - fbsql_num_rows Beispiel
  • Example#1197 - fbsql_query Beispiel
  • Example#1198 - fbsql_query Beispiel
  • Example#1199 - fbsql_read_blob example
  • Example#1200 - fbsql_read_clob example
  • Example#1201 - fbsql_tablename Beispiel
  • Example#1202 - Retrieving the AUTOCOMMIT value for a connection
  • Example#1203 - Setting the AUTOCOMMIT value for a connection
  • Example#1204 - Binding PHP variables to a prepared statement
  • Example#1205 - Calling stored procedures with IN and OUT parameters
  • Example#1206 - Inserting a binary large object (BLOB) directly from a file
  • Example#1207 - A db2_client_info example
  • Example#1208 - Closing a connection
  • Example#1209 - Retrieving an SQLSTATE value for a failed connection attempt
  • Example#1210 - Retrieving the error message returned by a failed connection attempt
  • Example#1211 - Creating a cataloged connection
  • Example#1212 - Creating an uncataloged connection
  • Example#1213 - Creating a connection with autocommit off by default
  • Example#1214 - i5/OS best performance
  • Example#1215 - Using trusted context
  • Example#1216 - A db2_escape_string example
  • Example#1217 - Creating a table with db2_exec
  • Example#1218 - Executing a SELECT statement with a scrollable cursor
  • Example#1219 - Returning XML data as an SQL ResultSet
  • Example#1220 - Performing a "JOIN" with XML data
  • Example#1221 - Returning SQL data as part of a larger XML document
  • Example#1222 - Preparing and executing an SQL statement with parameter markers
  • Example#1223 - Calling a stored procedure with an OUT parameter
  • Example#1224 - Returning XML data as an SQL ResultSet
  • Example#1225 - Performing a "JOIN" with XML data
  • Example#1226 - Returning SQL data as part of a larger XML document
  • Example#1227 - Iterating through a forward-only cursor
  • Example#1228 - Retrieving specific rows with db2_fetch_array from a scrollable cursor
  • Example#1229 - Iterating through a forward-only cursor
  • Example#1230 - Retrieving specific rows with db2_fetch_assoc from a scrollable cursor
  • Example#1231 - Iterating through a forward-only cursor
  • Example#1232 - Retrieving specific rows with db2_fetch_both from a scrollable cursor
  • Example#1233 - A db2_fetch_object example
  • Example#1234 - Iterating through a result set
  • Example#1235 - i5/OS recommended alternatives to db2_fetch_row/db2_result
  • Example#1236 - Setting and retrieving parameters through a connection resource
  • Example#1237 - A db2_last_insert_id example
  • Example#1238 - Iterating through different types of data
  • Example#1239 - Calling a stored procedure that returns multiple result sets
  • Example#1240 - Retrieving the number of fields in a result set
  • Example#1241 - Closing a persistent connection
  • Example#1242 - A db2_pconnect example
  • Example#1243 - Using trusted context
  • Example#1244 - Preparing and executing an SQL statement with parameter markers
  • Example#1245 - A db2_result example
  • Example#1246 - Rolling back a DELETE statement
  • Example#1247 - A db2_server_info example
  • Example#1248 - Setting one parameter with a connection resource
  • Example#1249 - Setting multiple parameters with a connection resource
  • Example#1250 - Setting multiple parameters with an invalid key
  • Example#1251 - Setting multiple parameters with an invalid value
  • Example#1252 - Setting multiple parameters with a connection resource and the wrong type
  • Example#1253 - Setting multiple parameters with the wrong resource
  • Example#1254 - Putting it all together
  • Example#1255 - i5/OS cursors are read-only
  • Example#1256 - Informix affected rows
  • Example#1257 - Eine Informix Verbindung schließen
  • Example#1258 - Zu einer Informix Datenbank verbinden
  • Example#1259 - ifx_errormsg Beispiel
  • Example#1260 - Informix fetch rows
  • Example#1261 - Informix SQL Feldeigenschaften
  • Example#1262 - Feldnamen und SQL Feldtypen
  • Example#1263 - Informix sqlca.sqlerrd[x] Werte ermitteln
  • Example#1264 - Informix Ergebnisse als HTML Tabellen
  • Example#1265 - Gibt alle Zeilen der "orders"-Tabelle als HTML-Tabelle zurück
  • Example#1266 - Ein paar Werte in die "catalog"-Tabelle einfügen
  • Example#1267 - Verwendungsbeispiel für PassEnv für Ingres
  • Example#1268 - Einfaches Beispiel mit Ingres
  • Example#1269 - ingres_charset-Beispiel
  • Example#1270 - ingres_connect-Beispiel
  • Example#1271 - ingres_cursor-Beispiel
  • Example#1272 - ingres_errno-Beispiel
  • Example#1273 - ingres_error-Beispiel
  • Example#1274 - ingres_errsqlstate-Beispiel
  • Example#1275 - Bestimmte Sonderzeichen in einer Abfrage werden maskiert
  • Example#1276 - Eine Ergebniszeile in ein Array einlesen
  • Example#1277 - Fetch a row into an associative array
  • Example#1278 - Eine Zeile in ein Objekt einlesen
  • Example#1279 - Holt den Rückgabewert eines Prozeduraufrufs
  • Example#1280 - Eine Ergebniszeile in ein numerisches Array einlesen
  • Example#1281 - Den Speicherplatz eines Ergebnisses freigeben
  • Example#1282 - Ein einfaches SELECT-Kommando senden
  • Example#1283 - Abfrage-Parameter an ingres_query übergeben
  • Example#1284 - Ein BLOB mit Parameter-Typen einfügen
  • Example#1285 - Positioniere den Cursor auf die dritte Zeile
  • Example#1286 - Datumsformat auf ISO4 setzen
  • Example#1287 - Die Zeitzone auf HONG-KONG setzen
  • Example#1288 - Ein einfaches ungepuffertes SELECT-Kommando senden
  • Example#1289 - Abfrageparameter an ingres_unbuffered_query übergeben
  • Example#1290 - Ein BLOB mit Parameter-Typen einfügen
  • Example#1291 - MaxDB extension overview example
  • Example#1292 - Example for use of SELECT INTO statements
  • Example#1293 - Example fore using database procedures
  • Example#1294 - Objektorientierter Stil
  • Example#1295 - Prozeduraler Stil
  • Example#1296 - Objektorientierter Stil
  • Example#1297 - Prozeduraler Stil
  • Example#1298 - Objektorientierter Stil
  • Example#1299 - Prozeduraler Stil
  • Example#1300 - Objektorientierter Stil
  • Example#1301 - Prozeduraler Stil
  • Example#1302 - Objektorientierter Stil
  • Example#1303 - Prozeduraler Stil
  • Example#1304 - maxdb_connect_errno sample
  • Example#1305 - maxdb_connect_error sample
  • Example#1306 - Objektorientierter Stil
  • Example#1307 - Prozeduraler Stil
  • Example#1308 - Objektorientierter Stil
  • Example#1309 - Prozeduraler Stil
  • Example#1310 - Prozeduraler Stil
  • Example#1311 - Objektorientierter Stil
  • Example#1312 - Prozeduraler Stil
  • Example#1313 - Objektorientierter Stil
  • Example#1314 - Prozeduraler Stil
  • Example#1315 - Objektorientierter Stil
  • Example#1316 - Prozeduraler Stil
  • Example#1317 - Objektorientierter Stil
  • Example#1318 - Prozeduraler Stil
  • Example#1319 - Objektorientierter Stil
  • Example#1320 - Prozeduraler Stil
  • Example#1321 - Objektorientierter Stil
  • Example#1322 - Prozeduraler Stil
  • Example#1323 - Objektorientierter Stil
  • Example#1324 - Prozeduraler Stil
  • Example#1325 - Objektorientierter Stil
  • Example#1326 - Prozeduraler Stil
  • Example#1327 - Objektorientierter Stil
  • Example#1328 - Prozeduraler Stil
  • Example#1329 - Objektorientierter Stil
  • Example#1330 - Prozeduraler Stil
  • Example#1331 - Objektorientierter Stil
  • Example#1332 - Prozeduraler Stil
  • Example#1333 - Objektorientierter Stil
  • Example#1334 - Prozeduraler Stil
  • Example#1335 - Objektorientierter Stil
  • Example#1336 - Prozeduraler Stil
  • Example#1337 - maxdb_get_client_info
  • Example#1338 - maxdb_get_client_version
  • Example#1339 - Objektorientierter Stil
  • Example#1340 - Prozeduraler Stil
  • Example#1341 - Objektorientierter Stil
  • Example#1342 - Prozeduraler Stil
  • Example#1343 - Objektorientierter Stil
  • Example#1344 - Prozeduraler Stil
  • Example#1345 - Objektorientierter Stil
  • Example#1346 - Prozeduraler Stil
  • Example#1347 - Objektorientierter Stil
  • Example#1348 - Prozeduraler Stil
  • Example#1349 - Objektorientierter Stil
  • Example#1350 - Prozeduraler Stil
  • Example#1351 - Objektorientierter Stil
  • Example#1352 - Prozeduraler Stil
  • Example#1353 - Objektorientierter Stil
  • Example#1354 - Prozeduraler Stil
  • Example#1355 - Objektorientierter Stil
  • Example#1356 - Prozeduraler Stil
  • Example#1357 - Objektorientierter Stil
  • Example#1358 - Prozeduraler Stil
  • Example#1359 - Objektorientierter Stil
  • Example#1360 - Prozeduraler Stil
  • Example#1361 - Objektorientierter Stil
  • Example#1362 - Prozeduraler Stil
  • Example#1363 - Objektorientierter Stil
  • Example#1364 - Prozeduraler Stil
  • Example#1365 - Objektorientierter Stil
  • Example#1366 - Prozeduraler Stil
  • Example#1367 - Objektorientierter Stil
  • Example#1368 - Prozeduraler Stil
  • Example#1369 - Prozeduraler Stil
  • Example#1370 - Objektorientierter Stil
  • Example#1371 - Prozeduraler Stil
  • Example#1372 - Objektorientierter Stil
  • Example#1373 - Prozeduraler Stil
  • Example#1374 - Objektorientierter Stil
  • Example#1375 - Prozeduraler Stil
  • Example#1376 - Objektorientierter Stil
  • Example#1377 - Prozeduraler Stil
  • Example#1378 - Objektorientierter Stil
  • Example#1379 - Prozeduraler Stil
  • Example#1380 - Objektorientierter Stil
  • Example#1381 - Prozeduraler Stil
  • Example#1382 - Prozeduraler Stil (SELECT INTO)
  • Example#1383 - Prozeduraler Stil (DB procedure)
  • Example#1384 - Objektorientierter Stil (extended syntax)
  • Example#1385 - Objektorientierter Stil
  • Example#1386 - Prozeduraler Stil
  • Example#1387 - Objektorientierter Stil
  • Example#1388 - Prozeduraler Stil
  • Example#1389 - Objektorientierter Stil
  • Example#1390 - Prozeduraler Stil
  • Example#1391 - Objektorientierter Stil
  • Example#1392 - Prozeduraler Stil
  • Example#1393 - Objektorientierter Stil
  • Example#1394 - Prozeduraler Stil
  • Example#1395 - Objektorientierter Stil
  • Example#1396 - Prozeduraler Stil
  • Example#1397 - Objektorientierter Stil
  • Example#1398 - Prozeduraler Stil
  • Example#1399 - Objektorientierter Stil
  • Example#1400 - Prozeduraler Stil
  • Example#1401 - Objektorientierter Stil
  • Example#1402 - Prozeduraler Stil
  • Example#1403 - Objektorientierter Stil
  • Example#1404 - Prozeduraler Stil
  • Example#1405 - Objektorientierter Stil
  • Example#1406 - Prozeduraler Stil
  • Example#1407 - Objektorientierter Stil
  • Example#1408 - Prozeduraler Stil
  • Example#1409 - Objektorientierter Stil
  • Example#1410 - Prozeduraler Stil
  • Example#1411 - Objektorientierter Stil
  • Example#1412 - Prozeduraler Stil
  • Example#1413 - Objektorientierter Stil
  • Example#1414 - Prozeduraler Stil
  • Example#1415 -
  • Example#1416 -
  • Example#1417 -
  • Example#1418 -
  • Example#1419 -
  • Example#1420 -
  • Example#1421 -
  • Example#1422 -
  • Example#1423 -
  • Example#1424 -
  • Example#1425 -
  • Example#1426 -
  • Example#1427 -
  • Example#1428 -
  • Example#1429 -
  • Example#1430 - Connection URI read preferences with query string syntax
  • Example#1431 - Setting read preferences with array syntax for tag sets
  • Example#1432 - Passing a WriteConcern to a write operation
  • Example#1433 - Connection string WriteConcerns
  • Example#1434 - MongoDB::setWriteConcern and MongoCollection::setWriteConcern
  • Example#1435 - Unacknowledged WriteConcern, followed with Acknowledged Write
  • Example#1436 - Acknowledged Writes
  • Example#1437 - Majority Acknowledged Write
  • Example#1438 - Acknowledged and Journaled Write
  • Example#1439 - Connect to MongoDB Instance with SSL Encryption
  • Example#1440 - Connect to MongoDB Instance with SSL Encryption, verifying it is who we think it is
  • Example#1441 - Connect to MongoDB Instance that Requires Client Certificates
  • Example#1442 - Authenticating with X.509 certificates
  • Example#1443 - Authenticating against the "admin" database
  • Example#1444 - Authenticating against normal databases
  • Example#1445 - ReplicaSet seed list
  • Example#1446 - Wrong replica set name duplication
  • Example#1447 - Correct use of two replica set names
  • Example#1448 -
  • Example#1449 -
  • Example#1450 -
  • Example#1451 -
  • Example#1452 -
  • Example#1453 -
  • Example#1454 - Inheriting read preferences from the database level down to the cursor
  • Example#1455 -
  • Example#1456 -
  • Example#1457 -
  • Example#1458 -
  • Example#1459 -
  • Example#1460 -
  • Example#1461 -
  • Example#1462 - MongoClient basic usage
  • Example#1463 - MongoClient::close example
  • Example#1464 - MongoClient::__construct replica set example
  • Example#1465 - Connecting to a domain socket
  • Example#1466 - MongoClient::__construct authentication example
  • Example#1467 - MongoClient::__construct read preference example
  • Example#1468 - MongoClient::__construct options example
  • Example#1469 - MongoClient::__construct read preference example
  • Example#1470 - MongoClient::getConnections example
  • Example#1471 - MongoClient::getReadPreference return value example
  • Example#1472 - MongoClient::getWriteConcern return value example
  • Example#1473 - MongoClient::killCursor example
  • Example#1474 - MongoClient::listDBs example
  • Example#1475 - MongoClient::selectCollection example
  • Example#1476 - MongoClient::setReadPreference tag set array syntax example
  • Example#1477 - MongoClient::setWriteConcern example
  • Example#1478 - Selecting a database
  • Example#1479 - MongoDB::command "distinct" example
  • Example#1480 - MongoDB::command "distinct" example
  • Example#1481 - MongoDB::command MapReduce example
  • Example#1482 - MongoDB::command "geoNear" example
  • Example#1483 - MongoDB::createCollection capped collection example
  • Example#1484 - MongoDB::createDBRef example
  • Example#1485 - MongoDB::createDBRef example
  • Example#1486 - MongoDB::drop example
  • Example#1487 - Simple MongoDB::execute example
  • Example#1488 - Parameter MongoDB::execute example
  • Example#1489 - Scope example
  • Example#1490 - MongoDB::getCollectionInfo example
  • Example#1491 - MongoDB::getCollectionNames example
  • Example#1492 - MongoDB::getDBRef example
  • Example#1493 - MongoDB::getGridFS example
  • Example#1494 - MongoDB::getReadPreference return value example
  • Example#1495 - MongoDB::getWriteConcern return value example
  • Example#1496 - MongoDB::lastError NULL error example
  • Example#1497 - MongoDB::lastError duplicate key example
  • Example#1498 - MongoDB::listCollections example
  • Example#1499 - MongoDB::repair example
  • Example#1500 - MongoDB::setReadPreference tag set array syntax example
  • Example#1501 - MongoDB::setWriteConcern example
  • Example#1502 - MongoCollection::aggregate example
  • Example#1503 - MongoCollection::aggregate example
  • Example#1504 - MongoCollection::aggregate example
  • Example#1505 - MongoCollection::aggregate with command options
  • Example#1506 - MongoCollection::aggregateCursor example
  • Example#1507 - MongoCollection::aggregateCursor example with different initial batch size
  • Example#1508 - MongoCollection::batchInsert example
  • Example#1509 - MongoCollection::batchInsert example with ignoring errors
  • Example#1510 - MongoCollection::count example
  • Example#1511 - MongoCollection::createDBRef example
  • Example#1512 - MongoCollection::createIndex example
  • Example#1513 - Geospatial Indexing
  • Example#1514 - Drop duplicates example
  • Example#1515 - MongoCollection::deleteIndex example
  • Example#1516 - MongoCollection::deleteIndexes example
  • Example#1517 - MongoCollection::distinct example
  • Example#1518 - MongoCollection::distinct example on a embedded document
  • Example#1519 - MongoCollection::drop example
  • Example#1520 - MongoCollection::ensureIndex example
  • Example#1521 - Geospatial Indexing
  • Example#1522 - Drop duplicates example
  • Example#1523 - MongoCollection::find example
  • Example#1524 - MongoCollection::find example
  • Example#1525 - MongoCollection::find example using $where
  • Example#1526 - MongoCollection::find example using $in
  • Example#1527 - Getting results as an array
  • Example#1528 - MongoCollection::findAndModify example
  • Example#1529 - MongoCollection::findAndModify error handling
  • Example#1530 - MongoCollection::findOne document by its id.
  • Example#1531 - MongoCollection::findOne document by some condition.
  • Example#1532 - MongoCollection::getDBRef example
  • Example#1533 - MongoCollection::getIndexInfo example
  • Example#1534 - MongoCollection::getName example
  • Example#1535 - MongoCollection::getReadPreference return value example
  • Example#1536 - MongoCollection::getWriteConcern return value example
  • Example#1537 - MongoCollection::group example
  • Example#1538 - MongoCollection::group example
  • Example#1539 - Passing a keys function
  • Example#1540 - MongoCollection::insert _id example
  • Example#1541 - MongoCollection::insert acknowledged write example
  • Example#1542 - MongoCollection::parallelCollectionScan example
  • Example#1543 - MongoCollection::remove with justOne example
  • Example#1544 - MongoCollection::save example
  • Example#1545 - MongoCollection::setReadPreference tag set array syntax example
  • Example#1546 - MongoDB::setWriteConcern example
  • Example#1547 - MongoCollection::toIndexString example
  • Example#1548 - MongoCollection::__toString example
  • Example#1549 - MongoCollection::update
  • Example#1550 - MongoCollection::update upsert examples
  • Example#1551 - MongoCollection::update multiple example
  • Example#1552 - MongoCursor basic usage
  • Example#1553 - Iterating over MongoCursor
  • Example#1554 - Adding options to MongoCursor
  • Example#1555 - Adding a comment with MongoCursor::addOption example
  • Example#1556 - MongoCursor::addOption example
  • Example#1557 - MongoCursor::awaitData example
  • Example#1558 - MongoCursor::batchSize and combinations with MongoCursor::limit
  • Example#1559 - MongoCursor::count example
  • Example#1560 - MongoCursor::doQuery example
  • Example#1561 - MongoCursor::explain example
  • Example#1562 - MongoCursor::getReadPreference return value example
  • Example#1563 - MongoCursor::info example
  • Example#1564 - MongoCursor::maxTimeMS example
  • Example#1565 - MongoCursor::setFlag example
  • Example#1566 - MongoCursor::setReadPreference tag set array syntax example
  • Example#1567 - MongoCursor::slaveOkay example
  • Example#1568 - MongoCursor::sort example
  • Example#1569 - MongoCursor::tailable example
  • Example#1570 - MongoCursor::timeout example
  • Example#1571 - Adding options to MongoCommandCursor
  • Example#1572 - MongoCommandCursor::batchSize
  • Example#1573 - MongoCommandCursor example
  • Example#1574 - MongoCommandCursor::createFromDocument
  • Example#1575 - MongoCommandCursor::getReadPreference return value example
  • Example#1576 - MongoCommandCursor::info example
  • Example#1577 - MongoCommandCursor::rewind
  • Example#1578 - MongoCommandCursor::setReadPreference tag set array syntax example
  • Example#1579 - MongoCommandCursor::timeout example
  • Example#1580 - MongoId::__construct example
  • Example#1581 - Parameter example
  • Example#1582 - MongoId::__toString example
  • Example#1583 - MongoCode::__construct example
  • Example#1584 - Using MongoCode with $where
  • Example#1585 - MongoCode::__toString example
  • Example#1586 - Storing dates with MongoDate
  • Example#1587 - MongoDate::__construct example
  • Example#1588 - MongoDate::toDateTime example
  • Example#1589 - Regular expression pattern
  • Example#1590 - MongoRegex::__construct example
  • Example#1591 - MongoRegex::__toString example
  • Example#1592 -
  • Example#1593 - Linking documents
  • Example#1594 - Creating MongoDBRef links
  • Example#1595 - MongoDBRef::create example
  • Example#1596 - MongoCollection::createDBRef example
  • Example#1597 - MongoGridFS::findOne example
  • Example#1598 - MongoGridFS::storeBytes with additional metadata
  • Example#1599 - MongoGridFS::storeFile with additional metadata
  • Example#1600 - MongoGridFS::storeUpload HTML form example
  • Example#1601 - MongoGridFSFile::getBytes example
  • Example#1602 - MongoGridFSFile::getResource example
  • Example#1603 - MongoGridFSFile::write example
  • Example#1604 - MongoWriteBatch example
  • Example#1605 - MongoWriteBatch::add example
  • Example#1606 - MongoWriteBatch::add example
  • Example#1607 - MongoWriteBatch::add example
  • Example#1608 - MongoWriteBatch::add example
  • Example#1609 - MongoWriteBatch::add example
  • Example#1610 - MongoWriteBatch::add example
  • Example#1611 - MongoLog::setCallback example
  • Example#1612 - Changing pool size
  • Example#1613 - Mongo::setPoolSize example
  • Example#1614 - Changing pool size
  • Example#1615 - Mongo::setPoolSize example
  • Example#1616 - MongoResultException::getDocument example
  • Example#1617 - Catching MongoDuplicateKeyException
  • Example#1618 - Catching MongoProtocolException
  • Example#1619 - MongoDB\Driver\Manager::__construct basic example
  • Example#1620 - MongoDB\Driver\Manager::__construct basic examples
  • Example#1621 - MongoDB\Driver\Manager::executeBulkWrite example
  • Example#1622 - MongoDB\Driver\Manager::executeCommand with a command returning a single result document
  • Example#1623 - MongoDB\Driver\Manager::executeCommand with a command returning a cursor
  • Example#1624 - MongoDB\Driver\Manager::executeQuery example
  • Example#1625 - MongoDB\Driver\Manager::getReadConcern example
  • Example#1626 - MongoDB\Driver\Manager::getReadPreference example
  • Example#1627 - MongoDB\Driver\Manager::getServers example
  • Example#1628 - MongoDB\Driver\Manager::getWriteConcern example
  • Example#1629 - Composing MongoDB\Driver\Command to provide a helper to create collections
  • Example#1630 - MongoDB\Driver\Command::__construct example
  • Example#1631 - MongoDB\Driver\Query::__construct example
  • Example#1632 - Mixed write operations are grouped by type
  • Example#1633 - Ordered write operations causing an error
  • Example#1634 - MongoDB\Driver\BulkWrite::__construct example
  • Example#1635 - MongoDB\Driver\BulkWrite::count example
  • Example#1636 - MongoDB\Driver\BulkWrite::delete example
  • Example#1637 - MongoDB\Driver\BulkWrite::insert example
  • Example#1638 - MongoDB\Driver\BulkWrite::update example
  • Example#1639 - MongoDB\Driver\WriteConcern::bsonSerialize with majority write concern
  • Example#1640 - MongoDB\Driver\WriteConcern::bsonSerialize with wtimeout and journal
  • Example#1641 - MongoDB\Driver\WriteConcern::__construct example
  • Example#1642 - MongoDB\Driver\WriteConcern::getJournal example
  • Example#1643 - MongoDB\Driver\WriteConcern::getW example
  • Example#1644 - MongoDB\Driver\WriteConcern::getWtimeout example
  • Example#1645 - MongoDB\Driver\ReadPreference::bsonSerialize with primary read preference
  • Example#1646 - MongoDB\Driver\ReadPreference::bsonSerialize with secondary read preference and tag sets
  • Example#1647 - MongoDB\Driver\ReadPreference::bsonSerialize with secondary read preference and max staleness
  • Example#1648 - MongoDB\Driver\ReadPreference::__construct example
  • Example#1649 - MongoDB\Driver\ReadPreference::getMaxStalenessSeconds example
  • Example#1650 - MongoDB\Driver\ReadPreference::getMode example
  • Example#1651 - MongoDB\Driver\ReadPreference::getTagSets example
  • Example#1652 - MongoDB\Driver\ReadConcern::bsonSerialize with empty read concern
  • Example#1653 - MongoDB\Driver\ReadConcern::bsonSerialize with local read concern
  • Example#1654 - MongoDB\Driver\ReadConcern::__construct example
  • Example#1655 - MongoDB\Driver\ReadConcern::getLevel example
  • Example#1656 - MongoDB\Driver\Cursor::getId example
  • Example#1657 - MongoDB\Driver\Cursor::getServer example
  • Example#1658 - MongoDB\Driver\Cursor::isDead example
  • Example#1659 - MongoDB\Driver\Cursor::setTypeMap example
  • Example#1660 - MongoDB\Driver\Cursor::toArray example
  • Example#1661 - MongoDB\Driver\CursorId::__toString example
  • Example#1662 - MongoDB\Driver\Server::getHost example
  • Example#1663 - MongoDB\Driver\Server::getInfo example
  • Example#1664 - MongoDB\Driver\Server::getLatency example
  • Example#1665 - MongoDB\Driver\Server::getPort example
  • Example#1666 - MongoDB\Driver\WriteConcernError::getCode example
  • Example#1667 - MongoDB\Driver\WriteConcernError::getInfo example
  • Example#1668 - MongoDB\Driver\WriteConcernError::getMessage example
  • Example#1669 - MongoDB\Driver\WriteError::getCode example
  • Example#1670 - MongoDB\Driver\WriteError::getIndex example
  • Example#1671 - MongoDB\Driver\WriteError::getMessage example
  • Example#1672 - MongoDB\Driver\WriteResult::getDeletedCount example
  • Example#1673 - MongoDB\Driver\WriteResult::getInsertedCount example
  • Example#1674 - MongoDB\Driver\WriteResult::getMatchedCount example
  • Example#1675 - MongoDB\Driver\WriteResult::getModifiedCount example
  • Example#1676 - MongoDB\Driver\WriteResult::getServer example
  • Example#1677 - MongoDB\Driver\WriteResult::getUpsertedCount example
  • Example#1678 - MongoDB\Driver\WriteResult::getUpsertedIds example
  • Example#1679 - MongoDB\Driver\WriteResult::getWriteConcernError example
  • Example#1680 - MongoDB\Driver\WriteResult::getWriteErrors with a single error
  • Example#1681 - MongoDB\Driver\WriteResult::getWriteErrors with multiple errors
  • Example#1682 - MongoDB\Driver\WriteResult::isAcknowledged with acknowledged write concern
  • Example#1683 - MongoDB\Driver\WriteResult::isAcknowledged with unacknowledged write concern
  • Example#1684 - MongoDB\BSON\fromJSON example
  • Example#1685 - MongoDB\BSON\fromPHP example
  • Example#1686 - MongoDB\BSON\toJSON example
  • Example#1687 - MongoDB\BSON\toPHP example
  • Example#1688 - MongoDB\BSON\Binary::__construct example
  • Example#1689 - MongoDB\BSON\Binary::getData example
  • Example#1690 - MongoDB\BSON\Binary::getType example
  • Example#1691 - MongoDB\BSON\Binary::__toString example
  • Example#1692 - MongoDB\BSON\Decimal128::__construct example
  • Example#1693 - MongoDB\BSON\Decimal128::__toString example
  • Example#1694 - MongoDB\BSON\Javascript::__construct example
  • Example#1695 - MongoDB\BSON\Javascript::getCode example
  • Example#1696 - MongoDB\BSON\Javascript::getScope example
  • Example#1697 - MongoDB\BSON\Javascript::__toString example
  • Example#1698 - MongoDB\BSON\MaxKey::__construct example
  • Example#1699 - MongoDB\BSON\MinKey::__construct example
  • Example#1700 - MongoDB\BSON\ObjectID::__construct example
  • Example#1701 - MongoDB\BSON\ObjectID::getTimestamp example
  • Example#1702 - MongoDB\BSON\ObjectID::__toString example
  • Example#1703 - MongoDB\BSON\Regex::__construct example
  • Example#1704 - MongoDB\BSON\Regex::getFlags example
  • Example#1705 - MongoDB\BSON\Regex::getPattern example
  • Example#1706 - MongoDB\BSON\Regex::__toString example
  • Example#1707 - MongoDB\BSON\Timestamp::__construct example
  • Example#1708 - MongoDB\BSON\Timestamp::__toString example
  • Example#1709 - MongoDB\BSON\UTCDateTime::__construct example
  • Example#1710 - MongoDB\BSON\UTCDatetime::toDateTime example
  • Example#1711 - MongoDB\BSON\UTCDateTime::__toString example
  • Example#1712 - MongoDB\BSON\Serializable::bsonSerialize returning an associative array for root document
  • Example#1713 - MongoDB\BSON\Serializable::bsonSerialize returning a sequential array for root document
  • Example#1714 - MongoDB\BSON\Serializable::bsonSerialize returning an associative array for document field
  • Example#1715 - MongoDB\BSON\Serializable::bsonSerialize returning a sequential array for document field
  • Example#1716 - MongoDB\BSON\Unserializable::bsonUnserialize example
  • Example#1717 - MongoDB\Driver\Exception\WriteException::getWriteResult example
  • Example#1718 - Eine Abfrage ausführen
  • Example#1719 - msql_fetch_array Beispiel
  • Example#1720 - msql_fetch_object-Beispiel
  • Example#1721 - msql_fetch_row-Beispiel
  • Example#1722 - msql_query-Beispiel
  • Example#1723 - mssql_bind-Beispiel
  • Example#1724 - mssql_close-Beispiel
  • Example#1725 - mssql_connect-Beispiel
  • Example#1726 - mssql_data_seek-Beispiel
  • Example#1727 - mssql_execute-Beispiel
  • Example#1728 - mssql_fetch_array-Beispiel
  • Example#1729 - mssql_fetch_assoc-Beispiel
  • Example#1730 - mssql_fetch_batch-Beispiel
  • Example#1731 - mssql_fetch_field-Beispiel
  • Example#1732 - mssql_fetch_object-Beispiel
  • Example#1733 - mssql_fetch_row-Beispiel
  • Example#1734 - mssql_field_length-Beispiel
  • Example#1735 - mssql_field_name-Beispiel
  • Example#1736 - Die Verwendung von mssql_field_seek im Beispiel für mssql_fetch_field
  • Example#1737 - mssql_field_type-Beispiel
  • Example#1738 - mssql_free_result-Beispiel
  • Example#1739 - mssql_free_statement-Beispiel
  • Example#1740 - mssql_get_last_message-Beispiel
  • Example#1741 - mssql_guid_string-Beispiel
  • Example#1742 - mssql_init-Beispiel
  • Example#1743 - mssql_min_error_severity-Beispiel
  • Example#1744 - mssql_min_message_severity-Beispiel
  • Example#1745 - mssql_next_result-Beispiel
  • Example#1746 - mssql_num_fields-Beispiel
  • Example#1747 - mssql_num_rows-Beispiel
  • Example#1748 - mssql_pconnect mit Verwendung des Parameters new_link
  • Example#1749 - mssql_query-Beispiel
  • Example#1750 - mssql_result-Beispiel
  • Example#1751 - Die schnellere Alternative zu obigem Beispiel
  • Example#1752 - mssql_rows_affected-Beispiel
  • Example#1753 - mssql_select_db-Beispiel
  • Example#1754 - Maskieren des Datenbanknamens mit eckigen Klammern
  • Example#1755 - Comparing the three MySQL APIs
  • Example#1756 - Configure commands for using mysqlnd or libmysqlclient
  • Example#1757 - Unbuffered query example: mysqli
  • Example#1758 - Unbuffered query example: pdo_mysql
  • Example#1759 - Unbuffered query example: mysql
  • Example#1760 - Problems with setting the character set with SQL
  • Example#1761 - Setting the character set example: mysqli
  • Example#1762 - Setting the character set example: pdo_mysql
  • Example#1763 - Setting the character set example: mysql
  • Example#1764 - Easy migration from the old mysql extension
  • Example#1765 - Object-oriented and procedural interface
  • Example#1766 - Bad coding style
  • Example#1767 - Special meaning of localhost
  • Example#1768 - Setting defaults
  • Example#1769 - Connecting to MySQL
  • Example#1770 - Navigation through buffered results
  • Example#1771 - Navigation through unbuffered results
  • Example#1772 - Text protocol returns strings by default
  • Example#1773 - Native data types with mysqlnd and connection option
  • Example#1774 - First stage: prepare
  • Example#1775 - Second stage: bind and execute
  • Example#1776 - INSERT prepared once, executed multiple times
  • Example#1777 - Less round trips using multi-INSERT SQL
  • Example#1778 - Native datatypes
  • Example#1779 - Output variable binding
  • Example#1780 - Using mysqli_result to fetch results
  • Example#1781 - Buffered result set for flexible read out
  • Example#1782 - Calling a stored procedure
  • Example#1783 - Using session variables
  • Example#1784 - Fetching results from stored procedures
  • Example#1785 - Stored Procedures and Prepared Statements
  • Example#1786 - Stored Procedures and Prepared Statements using bind API
  • Example#1787 - Multiple Statements
  • Example#1788 - SQL Injection
  • Example#1789 - Setting auto commit mode with SQL and through the API
  • Example#1790 - Commit and rollback
  • Example#1791 - Accessing result set meta data
  • Example#1792 - Prepared statements metadata
  • Example#1793 - MySQLi extension overview example
  • Example#1794 - $mysqli->affected_rows example
  • Example#1795 - mysqli::autocommit Beispiel
  • Example#1796 - $mysqli->begin_transaction example
  • Example#1797 - mysqli::change_user example
  • Example#1798 - mysqli::character_set_name example
  • Example#1799 - mysqli_get_client_info
  • Example#1800 - mysqli_get_client_version
  • Example#1801 - mysqli::commit example
  • Example#1802 - $mysqli->connect_errno example
  • Example#1803 - $mysqli->connect_error example
  • Example#1804 - mysqli::__construct example
  • Example#1805 - Generating a Trace File
  • Example#1806 - $mysqli->errno example
  • Example#1807 - $mysqli->error_list example
  • Example#1808 - $mysqli->error example
  • Example#1809 - $mysqli->field_count example
  • Example#1810 - mysqli::get_charset example
  • Example#1811 - mysqli_get_client_info
  • Example#1812 - A mysqli_get_client_stats example
  • Example#1813 - mysqli_get_client_version
  • Example#1814 - A mysqli_get_connection_stats example
  • Example#1815 - $mysqli->host_info example
  • Example#1816 - $mysqli->protocol_version example
  • Example#1817 - $mysqli->server_info example
  • Example#1818 - $mysqli->server_version example
  • Example#1819 - $mysqli->info example
  • Example#1820 - $mysqli->insert_id example
  • Example#1821 - mysqli::kill example
  • Example#1822 - mysqli::multi_query example
  • Example#1823 - mysqli::ping example
  • Example#1824 - A mysqli_poll example
  • Example#1825 - mysqli::prepare example
  • Example#1826 - mysqli::query example
  • Example#1827 - mysqli::real_connect example
  • Example#1828 - mysqli::real_escape_string example
  • Example#1829 - mysqli::rollback example
  • Example#1830 - mysqli::select_db example
  • Example#1831 - mysqli::set_charset example
  • Example#1832 - mysqli::set_local_infile_handler example
  • Example#1833 - $mysqli->sqlstate example
  • Example#1834 - mysqli::stat Beispiel
  • Example#1835 - $mysqli->thread_id example
  • Example#1836 - mysqli::use_result example
  • Example#1837 - $mysqli->warning_count Beispiel
  • Example#1838 - Objektorientierter Stil
  • Example#1839 - Prozeduraler Stil
  • Example#1840 - Objektorientierter Stil
  • Example#1841 - Prozeduraler Stil
  • Example#1842 - Objektorientierter Stil
  • Example#1843 - Prozeduraler Stil
  • Example#1844 - Objektorientierter Stil
  • Example#1845 - Prozeduraler Stil
  • Example#1846 - Objektorientierter Stil
  • Example#1847 - Prozeduraler Stil
  • Example#1848 - Objektorientierter Stil
  • Example#1849 - Prozeduraler Stil
  • Example#1850 - Objektorientierter Stil
  • Example#1851 - Prozeduraler Stil
  • Example#1852 - Objektorientierter Stil
  • Example#1853 - Prozeduraler Stil
  • Example#1854 - Objektorientierter Stil
  • Example#1855 - Prozeduraler Stil
  • Example#1856 - Objektorientierter Stil
  • Example#1857 - Prozeduraler Stil
  • Example#1858 - Objektorientierter Stil
  • Example#1859 - Prozeduraler Stil
  • Example#1860 - Objektorientierter Stil
  • Example#1861 - Prozeduraler Stil
  • Example#1862 - Objektorientierter Stil
  • Example#1863 - Prozeduraler Stil
  • Example#1864 - Objektorientierter Stil
  • Example#1865 - Prozeduraler Stil
  • Example#1866 - Objektorientierter Stil
  • Example#1867 - Objektorientierter Stil
  • Example#1868 - Prozeduraler Stil
  • Example#1869 - Objektorientierter Stil
  • Example#1870 - Prozeduraler Stil
  • Example#1871 - Objektorientierter Stil
  • Example#1872 - Prozeduraler Stil
  • Example#1873 - Objektorientierter Stil
  • Example#1874 - Prozeduraler Stil
  • Example#1875 - Objektorientierter Stil
  • Example#1876 - Prozeduraler Stil
  • Example#1877 - Objektorientierter Stil
  • Example#1878 - Prozeduraler Stil
  • Example#1879 - A mysqli_result example comparing iterator usage
  • Example#1880 - Objektorientierter Stil
  • Example#1881 - Prozeduraler Stil
  • Example#1882 - Objektorientierter Stil
  • Example#1883 - Prozeduraler Stil
  • Example#1884 - Objektorientierter Stil
  • Example#1885 - Prozeduraler Stil
  • Example#1886 - Objektorientierter Stil
  • Example#1887 - Prozeduraler Stil
  • Example#1888 - Objektorientierter Stil
  • Example#1889 - Prozeduraler Stil
  • Example#1890 - Objektorientierter Stil
  • Example#1891 - Prozeduraler Stil
  • Example#1892 - Objektorientierter Stil
  • Example#1893 - Prozeduraler Stil
  • Example#1894 - Objektorientierter Stil
  • Example#1895 - Prozeduraler Stil
  • Example#1896 - Objektorientierter Stil
  • Example#1897 - Prozeduraler Stil
  • Example#1898 - Objektorientierter Stil
  • Example#1899 - Prozeduraler Stil
  • Example#1900 - MySQL-Erweiterung: ein Überblicks-Beispiel
  • Example#1901 - mysql_affected_rows Beispiel
  • Example#1902 - mysql_affected_rows Beispiel mit Transaktionen
  • Example#1903 - mysql_client_encoding Beispiel
  • Example#1904 - mysql_close example
  • Example#1905 - mysql_connect Beispiel
  • Example#1906 - mysql_connect Beispiel unter Nutzung der hostname:port Syntax
  • Example#1907 - mysql_connect Beispiel unter Nutzung der ":/path/to/socket" Syntax
  • Example#1908 - mysql_create_db Alternativbeispiel
  • Example#1909 - mysql_data_seek Beispiel
  • Example#1910 - mysql_db_name Beispiel
  • Example#1911 - mysql_db_query Alternativbeispiel
  • Example#1912 - mysql_drop_db Alternativbeispiel
  • Example#1913 - mysql_errno example
  • Example#1914 - mysql_error Beispiel
  • Example#1915 - mysql_escape_string Beispiel
  • Example#1916 - Abfrage mit alias für identische Feldnamen
  • Example#1917 - mysql_fetch_array mit MYSQL_NUM
  • Example#1918 - mysql_fetch_array mit MYSQL_ASSOC
  • Example#1919 - mysql_fetch_array mit MYSQL_BOTH
  • Example#1920 - Ein ausführliches mysql_fetch_assoc Beispiel
  • Example#1921 - mysql_fetch_field Beispiel
  • Example#1922 - Ein mysql_fetch_lengths Beispiel
  • Example#1923 - mysql_fetch_object-Beispiel
  • Example#1924 - mysql_fetch_object-Beispiel
  • Example#1925 - Eine Zeile mit mysql_fetch_row holen
  • Example#1926 - Ein mysql_field_flags Beispiel
  • Example#1927 - mysql_field_len Beispiel
  • Example#1928 - mysql_field_name Beispiel
  • Example#1929 - Ein mysql_field_table Beispiel
  • Example#1930 - mysql_field_type Beispiel
  • Example#1931 - Ein mysql_free_result Beispiel
  • Example#1932 - mysql_get_client_info Bespiel
  • Example#1933 - mysql_get_host_info Beispiel
  • Example#1934 - mysql_get_proto_info Beispiel
  • Example#1935 - mysql_get_server_info Beispiel
  • Example#1936 - Relevante MySQL Anweisungen
  • Example#1937 - mysql_insert_id Beispiel
  • Example#1938 - mysql_list_dbs Beispiel
  • Example#1939 - Alternative zum veraltetenmysql_list_fields
  • Example#1940 - mysql_list_processes Beispiel
  • Example#1941 - mysql_list_tables Alternativbeispiel
  • Example#1942 - A mysql_num_fields Beispiel
  • Example#1943 - mysql_num_rows Beispiel
  • Example#1944 - mysql_ping Beispiel
  • Example#1945 - Ungültige Anfrage
  • Example#1946 - Gültige Anfrage
  • Example#1947 - Einfaches mysql_real_escape_string-Beispiel
  • Example#1948 - Ein beispielhafter SQL Injection Angriff
  • Example#1949 - mysql_result Beispiel
  • Example#1950 - mysql_select_db Beispiel
  • Example#1951 - mysql_stat Beispiel
  • Example#1952 - Alternatives mysql_stat Beispiel
  • Example#1953 - mysql_tablename-Beispiel
  • Example#1954 - mysql_thread_id Beispiel
  • Example#1955 - Enabling the plugin (php.ini)
  • Example#1956 - Minimal plugin-specific configuration file (mysqlnd_ms_plugin.ini)
  • Example#1957 - Recommended minimal plugin-specific config (mysqlnd_ms_plugin.ini)
  • Example#1958 - Using one server as a master and as a slave (testing only!)
  • Example#1959 - Plugin specific configuration file (mysqlnd_ms_plugin.ini)
  • Example#1960 - Opening a load balanced connection
  • Example#1961 - Executing statements
  • Example#1962 - Plugin config with one slave and one master
  • Example#1963 - Pitfall: connection state and SQL user variables
  • Example#1964 - Plugin config with one slave and one master
  • Example#1965 - SQL hints to prevent connection switches
  • Example#1966 - Fighting replication lag
  • Example#1967 - Table creation on a slave
  • Example#1968 - Plugin config with one slave and one master
  • Example#1969 - Using SQL hints for transactions
  • Example#1970 - Transaction aware load balancing: trx_stickiness setting
  • Example#1971 - Transaction aware
  • Example#1972 - General pattern for XA transactions
  • Example#1973 - Local and global transactions are mutually exclusive
  • Example#1974 - Transaction coordinator state store
  • Example#1975 - Session consistency: read your writes
  • Example#1976 - Requesting session consistency
  • Example#1977 - Maximum age/slave lag
  • Example#1978 - Limiting slave lag
  • Example#1979 - Fail over not set
  • Example#1980 - No slave within time limit
  • Example#1981 - Create counter table on master
  • Example#1982 - Plugin config: SQL for client-side GTID injection
  • Example#1983 - Transparent global transaction ID injection
  • Example#1984 - Plugin config: SQL for fetching GTID
  • Example#1985 - Obtaining GTID after injection
  • Example#1986 - Plugin config: Checking for a certain GTID
  • Example#1987 - Session consistency service level and GTID combined
  • Example#1988 - Plugin config: using MySQL 5.6.5-m8 built-in GTID feature
  • Example#1989 - Recap: quality of service to request read your writes
  • Example#1990 - Plugin config: no special entries for caching
  • Example#1991 - Caching a slave request
  • Example#1992 - Read your writes and caching combined
  • Example#1993 - Manual failover, automatic optional
  • Example#1994 - Manual failover
  • Example#1995 - Cluster node groups
  • Example#1996 - Manual partitioning using SQL hints
  • Example#1997 - Plugin config: Fabric hosts instead of MySQL servers
  • Example#1998 - Manual partitioning using SQL hints
  • Example#1999 - Provoking a connection error
  • Example#2000 - Connection error on query execution
  • Example#2001 - Provoking a connection error
  • Example#2002 - Most basic failover
  • Example#2003 - Provoking a transient error
  • Example#2004 - Transient error retry loop
  • Example#2005 - Enabling the plugin (php.ini)
  • Example#2006 - Basic plugin configuration (mysqlnd_ms_plugin.ini) for MySQL Replication
  • Example#2007 - Multiple primaries - multi master (php.ini)
  • Example#2008 - Primary copy with multiple primaries and paritioning
  • Example#2009 - Multiple primaries - multi master (php.ini)
  • Example#2010 - Synchronous update anywhere cluster
  • Example#2011 - General pattern for XA transactions
  • Example#2012 - Converting a PHP array (hash) into JSON format
  • Example#2013 - Using section names example
  • Example#2014 - List of anonymous slaves
  • Example#2015 - Master list using symbolic names
  • Example#2016 - Keywords to configure a server
  • Example#2017 - New roundrobin filter, old functionality
  • Example#2018 - The user filter replaces mysqlnd_ms_set_user_pick_server
  • Example#2019 - Common error message in case of configuration file issues (upto version 1.5.0)
  • Example#2020 - Improved configuration file validation since 1.5.0
  • Example#2021 - Possibly more precise error due to mysqlnd_ms.force_config_usage=1
  • Example#2022 - Minimum pluging configuration for use with MySQL Fabric
  • Example#2023 - Optional timeout for communication with Fabric
  • Example#2024 - Warnings about the violation of transaction boundaries
  • Example#2025 - Invalid filter sequence
  • Example#2026 - Random load balancing with random filter
  • Example#2027 - Random once load balancing with random filter
  • Example#2028 - Referencing error
  • Example#2029 - Assigning a weight for load balancing
  • Example#2030 - roundrobin filter
  • Example#2031 - Setting a callback
  • Example#2032 - Using a callback
  • Example#2033 - Returning random masters and slaves
  • Example#2034 - Manual partitioning
  • Example#2035 - Global limit on slave lag
  • Example#2036 - Optional master failover when failing to connect to slave (PECL/mysqlnd_ms < 1.4.0)
  • Example#2037 - New syntax since 1.4.0
  • Example#2038 - Disabling lazy connection
  • Example#2039 - String escaping on a lazy connection handle
  • Example#2040 - Master on write for consistent reads
  • Example#2041 - Using master to execute transactions
  • Example#2042 - No automatic failover, error handling pitfall
  • Example#2043 - Retry loop for transient errors
  • Example#2044 - SQL definition for the MySQL state store transaction table
  • Example#2045 - SQL definition for the MySQL state store transaction table
  • Example#2046 - SQL definition for the MySQL state store garbage collection table
  • Example#2047 - Using section names example
  • Example#2048 - List-like syntax
  • Example#2049 - Verify plugin activity in a non-threaded deployment model
  • Example#2050 - Recording statistics during shutdown
  • Example#2051 - Example demonstrating the usage of mysqlnd_ms constants
  • Example#2052 - mysqlnd_ms_dump_servers example
  • Example#2053 - mysqlnd_ms_get_last_gtid example
  • Example#2054 - mysqlnd_ms_get_last_used_connection example
  • Example#2055 - mysqlnd_ms_get_stats example
  • Example#2056 - mysqlnd_ms_match_wild example
  • Example#2057 - mysqlnd_ms_query_is_select example
  • Example#2058 - mysqlnd_ms_set_qos example
  • Example#2059 - mysqlnd_ms_set_user_pick_server example
  • Example#2060 - Enabling the plugin (php.ini)
  • Example#2061 - Using the MYSQLND_QC_ENABLE_SWITCH SQL hint
  • Example#2062 - Using the MYSQLND_QC_DISABLE_SWITCH SQL hint
  • Example#2063 - Example showing which type of statements are not cached
  • Example#2064 - Enabling caching for all statements using the mysqlnd_qc.cache_no_table ini setting
  • Example#2065 - Setting the TTL with the mysqlnd_qc.ttl ini setting
  • Example#2066 - Setting TTL with SQL hints
  • Example#2067 - Setting a callback with mysqlnd_qc_set_is_select
  • Example#2068 - Enabling the slam defense mechanism
  • Example#2069 - Collecting a query trace
  • Example#2070 - Setting the backtrace depth with the mysqlnd_qc.query_trace_bt_depth ini setting
  • Example#2071 - Collecting statistics data with the mysqlnd_qc.time_statistics ini setting
  • Example#2072 - Example mysqlnd_qc_get_cache_info usage
  • Example#2073 - Example mysqlnd_qc_get_normalized_query_trace_log usage
  • Example#2074 - Using a user-defined storage handler
  • Example#2075 - Using SQL hint constants
  • Example#2076 - Example mysqlnd_qc_set_cache_condition usage
  • Example#2077 - mysqlnd_qc_get_available_handlers example
  • Example#2078 - mysqlnd_qc_get_cache_info example
  • Example#2079 - mysqlnd_qc_get_core_stats example
  • Example#2080 - mysqlnd_qc_get_normalized_query_trace_log example
  • Example#2081 - mysqlnd_qc_get_query_trace_log example
  • Example#2082 - mysqlnd_qc_set_cache_condition example
  • Example#2083 - mysqlnd_qc_set_is_select example
  • Example#2084 - mysqlnd_qc_set_storage_handler example
  • Example#2085 - Enabling the plugin (php.ini)
  • Example#2086 - Pseudo-code: what a built-in class does
  • Example#2087 - Installing a proxy
  • Example#2088 - Proxy registration, mysqlnd_uh.enable=1
  • Example#2089 - Proxy installation disabled
  • Example#2090 - Connection proxy
  • Example#2091 - Prepared statement proxy
  • Example#2092 - Basic Monitoring
  • Example#2093 - MysqlndUhConnection::changeUser example
  • Example#2094 - MysqlndUhConnection::charsetName example
  • Example#2095 - MysqlndUhConnection::close example
  • Example#2096 - MysqlndUhConnection::connect example
  • Example#2097 - MysqlndUhConnection::endPSession example
  • Example#2098 - MysqlndUhConnection::escapeString example
  • Example#2099 - MysqlndUhConnection::getAffectedRows example
  • Example#2100 - MysqlndUhConnection::getErrorNumber example
  • Example#2101 - MysqlndUhConnection::getErrorString example
  • Example#2102 - MysqlndUhConnection::getFieldCount example
  • Example#2103 - MysqlndUhConnection::getHostInformation example
  • Example#2104 - MysqlndUhConnection::getLastInsertId example
  • Example#2105 - MysqlndUhConnection::getLastMessage example
  • Example#2106 - MysqlndUhConnection::getProtocolInformation example
  • Example#2107 - MysqlndUhConnection::getServerInformation example
  • Example#2108 - MysqlndUhConnection::getServerStatistics example
  • Example#2109 - MysqlndUhConnection::getServerVersion example
  • Example#2110 - MysqlndUhConnection::getSqlstate example
  • Example#2111 - MysqlndUhConnection::getStatistics example
  • Example#2112 - MysqlndUhConnection::getThreadId example
  • Example#2113 - MysqlndUhConnection::getWarningCount example
  • Example#2114 - MysqlndUhConnection::init example
  • Example#2115 - MysqlndUhConnection::kill example
  • Example#2116 - MysqlndUhConnection::listFields example
  • Example#2117 - MysqlndUhConnection::listMethod example
  • Example#2118 - MysqlndUhConnection::moreResults example
  • Example#2119 - MysqlndUhConnection::nextResult example
  • Example#2120 - MysqlndUhConnection::ping example
  • Example#2121 - MysqlndUhConnection::query example
  • Example#2122 - MysqlndUhConnection::queryReadResultsetHeader example
  • Example#2123 - MysqlndUhConnection::reapQuery example
  • Example#2124 - MysqlndUhConnection::refreshServer example
  • Example#2125 - MysqlndUhConnection::restartPSession example
  • Example#2126 - MysqlndUhConnection::selectDb example
  • Example#2127 - MysqlndUhConnection::sendClose example
  • Example#2128 - MysqlndUhConnection::sendQuery example
  • Example#2129 - MysqlndUhConnection::serverDumpDebugInformation example
  • Example#2130 - MysqlndUhConnection::setAutocommit example
  • Example#2131 - MysqlndUhConnection::setCharset example
  • Example#2132 - MysqlndUhConnection::setClientOption example
  • Example#2133 - MysqlndUhConnection::setServerOption example
  • Example#2134 - MysqlndUhConnection::simpleCommand example
  • Example#2135 - MysqlndUhConnection::simpleCommandHandleResponse example
  • Example#2136 - MysqlndUhConnection::sslSet example
  • Example#2137 - MysqlndUhConnection::stmtInit example
  • Example#2138 - MysqlndUhConnection::storeResult example
  • Example#2139 - MysqlndUhConnection::txCommit example
  • Example#2140 - MysqlndUhConnection::txRollback example
  • Example#2141 - MysqlndUhConnection::useResult example
  • Example#2142 - MysqlndUhPreparedStatement::execute example
  • Example#2143 - MysqlndUhPreparedStatement::prepare example
  • Example#2144 - mysqlnd_uh_convert_to_mysqlnd example
  • Example#2145 - mysqlnd_uh_set_connection_proxy example
  • Example#2146 - Enabling the plugin (php.ini)
  • Example#2147 - SQL table used for the Quickstart
  • Example#2148 - Basic example.
  • Example#2149 - mysqlnd_memcache_get_config example
  • Example#2150 - mysqlnd_memcache_set example with var_dump as a simple debugging callback.
  • Example#2151 - Basic query
  • Example#2152 - Inserting with bind variables
  • Example#2153 - Binding in the WHERE clause of a query
  • Example#2154 - Inserting and fetching a CLOB
  • Example#2155 - Using a PL/SQL stored function
  • Example#2156 - Using a PL/SQL stored procedure
  • Example#2157 - Calling a PL/SQL function that returns a REF CURSOR
  • Example#2158 - user_oci8_probes.d for tracing all user-level PHP OCI8 Static Probes with DTrace
  • Example#2159 - oci_bind_array_by_name Beispiel
  • Example#2160 - oci_bind_by_name-Beispiel
  • Example#2161 - oci_bind_by_name-Beispiel
  • Example#2162 - oci_bind_by_name-Beispiel
  • Example#2163 - oci_client_version example
  • Example#2164 - Schließen einer Verbindung
  • Example#2165 - Datenbankverbindungen werden nicht geschlossen, bevor alle Referenzen geschlossen wurden
  • Example#2166 - Schließen einer Verbindung, die mehr als einmal geöffnet wurde
  • Example#2167 - Verbindungen werden geschlossen, wenn die Variablen den Geltungsbereich verlassen
  • Example#2168 - oci_commit example
  • Example#2169 - Basic oci_connect using Easy Connect syntax
  • Example#2170 - Basic oci_connect using a Network Connect name
  • Example#2171 - oci_connect with an explicit character set
  • Example#2172 - Using multiple calls to oci_connect
  • Example#2173 - oci_define_by_name example
  • Example#2174 - oci_define_by_name with case sensitive column names
  • Example#2175 - oci_define_by_name with LOB columns
  • Example#2176 - oci_define_by_name with an explicit type
  • Example#2177 - Zeigt die Oracle-Fehlermeldung nach einem Verbindungsfehler an
  • Example#2178 - Zeigt die Oracle-Fehlermeldung nach einem Parse-Error an
  • Example#2179 - Zeigt die Oracle-Fehlermeldung und das problematische Statement nach einem Ausführungsfehler
  • Example#2180 - oci_execute for queries
  • Example#2181 - oci_execute without specifying a mode example
  • Example#2182 - oci_execute with OCI_NO_AUTO_COMMIT example
  • Example#2183 - oci_execute with different commit modes example
  • Example#2184 - oci_execute with OCI_DESCRIBE_ONLY example
  • Example#2185 - oci_fetch_all Beispiel
  • Example#2186 - oci_fetch_array mit OCI_BOTH-Beispiel
  • Example#2187 - oci_fetch_array mit OCI_NUM-Beispiel
  • Example#2188 - oci_fetch_array mit OCI_ASSOC-Beispiel
  • Example#2189 - oci_fetch_array mit OCI_RETURN_LOBS-Beispiel
  • Example#2190 - oci_field_name example
  • Example#2191 - oci_field_name example
  • Example#2192 - oci_field_precision Example
  • Example#2193 - oci_field_scale Example
  • Example#2194 - oci_field_size example
  • Example#2195 - oci_field_type_raw Example
  • Example#2196 - oci_field_type example
  • Example#2197 - Fetching Implicit Result Sets in a loop
  • Example#2198 - Getting child statement handles individually
  • Example#2199 - Explicitly setting the Prefetch Count
  • Example#2200 - Implicit Result Set example without using oci_get_implicit_resultset
  • Example#2201 - oci_new_connect example
  • Example#2202 - Binding a REF CURSOR in an Oracle stored procedure call
  • Example#2203 - oci_new_descriptor example
  • Example#2204 - oci_new_descriptor example
  • Example#2205 - oci_num_fields example
  • Example#2206 - oci_num_rows example
  • Example#2207 - oci_parse example for SQL statements
  • Example#2208 - oci_parse example for PL/SQL statements
  • Example#2209 - oci_password_change example changing the password of an already connected user
  • Example#2210 - oci_password_change example of connecting and changing the password in one step
  • Example#2211 - Basic oci_pconnect Example using Easy Connect syntax
  • Example#2212 - oci_fetch with oci_result
  • Example#2213 - oci_rollback example
  • Example#2214 - Rolling back to a SAVEPOINT example
  • Example#2215 - oci_server_version example
  • Example#2216 - Setting the action
  • Example#2217 - Setting the client identifier to the application user
  • Example#2218 - Setting the client information
  • Example#2219 - Two scripts can use different versions of myfunc() at the same time
  • Example#2220 - Setting the module name
  • Example#2221 - Changing the default prefetch value for a query
  • Example#2222 - Changing the default prefetch for a REF CURSOR fetch
  • Example#2223 - Setting the prefetch value when passing a REF CURSOR back to Oracle
  • Example#2224 - oci_statement_type example
  • Example#2225 - Creating a Paradox database with two fields
  • Example#2226 - Turn a paradox date into a human readable form
  • Example#2227 - Set the date/time fields in a paradox database to the current date/time
  • Example#2228 - Opening a Paradox database
  • Example#2229 - Opening a Paradox database
  • Example#2230 - Turn a paradox timestamp into a human readable form
  • Example#2231 - Beispiel für die Benutzung der PostgreSQL-Erweiterung
  • Example#2232 - pg_affected_rows-Beispiel
  • Example#2233 - pg_cancel_query Beispiel
  • Example#2234 - pg_client_encoding Beispiel
  • Example#2235 - pg_close-Beispiel
  • Example#2236 - pg_connect benutzen
  • Example#2237 - pg_connection_busy Beispiel
  • Example#2238 - pg_connection_reset Beispiel
  • Example#2239 - pg_connection_status Beispiel
  • Example#2240 - pg_convert Beispiel
  • Example#2241 - pg_copy_from Beispiel
  • Example#2242 - pg_copy_to Beispiel
  • Example#2243 - pg_dbname Beispiel
  • Example#2244 - pg_delete Beispiel
  • Example#2245 - pg_end_copy Beispiel
  • Example#2246 - pg_escape_bytea Beispiel
  • Example#2247 - pg_escape_identifier example
  • Example#2248 - pg_escape_literal example
  • Example#2249 - pg_escape_string Beispiel
  • Example#2250 - pg_execute benutzen:
  • Example#2251 - pg_fetch_all_columns-Beispiel
  • Example#2252 - PostgreSQL fetch all
  • Example#2253 - pg_fetch_array Beispiel
  • Example#2254 - pg_fetch_assoc Beispiel
  • Example#2255 - pg_fetch_object-Beispiel
  • Example#2256 - pg_fetch_result Beispiel
  • Example#2257 - pg_fetch_row Beispiel
  • Example#2258 - pg_field_is_null Beispiel
  • Example#2259 - Informationen über Felder abfragen
  • Example#2260 - Die Nummer eines Feldes ermitteln
  • Example#2261 - Informationen über Spalten ermitteln
  • Example#2262 - Informationen über Felder abfragen
  • Example#2263 - Informationen über Felder abfragen
  • Example#2264 - Informationen über Felder holen
  • Example#2265 - Informationen über Felder holen
  • Example#2266 - pg_free_result-Beispiel
  • Example#2267 - PostgreSQL NOTIFY-Nachricht
  • Example#2268 - PostgreSQL Prozess-ID
  • Example#2269 - pg_get_result Beispiel
  • Example#2270 - pg_host Beispiel
  • Example#2271 - pg_insert Beispiel
  • Example#2272 - pg_last_error Beispiel
  • Example#2273 - pg_last_notice Beispiel
  • Example#2274 - pg_last_oid Beispiel
  • Example#2275 - pg_lo_close Beispiel
  • Example#2276 - pg_lo_create Beispiel
  • Example#2277 - pg_lo_export Beispiel
  • Example#2278 - pg_lo_import Beispiel
  • Example#2279 - pg_lo_open Beispiel
  • Example#2280 - pg_lo_read_all Beispiel
  • Example#2281 - pg_lo_read Beispiel
  • Example#2282 - pg_lo_seek Beispiel
  • Example#2283 - pg_lo_tell Beispiel
  • Example#2284 - pg_lo_truncate example
  • Example#2285 - pg_lo_unlink Beispiel
  • Example#2286 - pg_lo_write-Beispiel
  • Example#2287 - Metadaten für eine Tabelle ermitteln
  • Example#2288 - pg_num_fields Beispiel
  • Example#2289 - pg_num_rows Beispiel
  • Example#2290 - pg_options Beispiel
  • Example#2291 - pg_parameter_status Beispiel
  • Example#2292 - pg_pconnect benutzen:
  • Example#2293 - pg_ping Beispiel
  • Example#2294 - pg_port Beispiel
  • Example#2295 - pg_prepare Beispiel
  • Example#2296 - pg_put_line Beispiel
  • Example#2297 - pg_query_params Beispiel
  • Example#2298 - pg_query Beispiel
  • Example#2299 - pg_query mit mehreren Anweisungen
  • Example#2300 - pg_result_error_field-Beispiel
  • Example#2301 - pg_result_error Beispiel
  • Example#2302 - pg_result_seek Beispiel
  • Example#2303 - pg_result_status Beispiel
  • Example#2304 - pg_select Beispiel
  • Example#2305 - pg_send_execute benutzen:
  • Example#2306 - pg_send_prepare Beispiel
  • Example#2307 - pg_send_query_params-Beispiel
  • Example#2308 - pg_send_query Beispiel
  • Example#2309 - pg_set_client_encoding Beispiel
  • Example#2310 - pg_set_error_verbosity Beispiel
  • Example#2311 - pg_trace Beispiel
  • Example#2312 - pg_transaction_status-Beispiel
  • Example#2313 - pg_tty Beispiel
  • Example#2314 - pg_unescape_bytea Beispiel
  • Example#2315 - pg_untrace Beipiel
  • Example#2316 - pg_update Beispiel
  • Example#2317 - pg_version Beispiel
  • Example#2318 - Prozeduraler Stil
  • Example#2319 - Objektorientierter Stil
  • Example#2320 - Prozeduraler Stil
  • Example#2321 - Objektorientierter Stil
  • Example#2322 - Prozeduraler Stil
  • Example#2323 - Objektorientierter Stil
  • Example#2324 - sqlite_close-Beispiel
  • Example#2325 - aggregierte max_length-Funktion
  • Example#2326 - sqlite_create_function-Beispiel
  • Example#2327 - Beispiel zur Nutzung einer beliebigen PHP-Funktion
  • Example#2328 - Prozedurales Beispiel
  • Example#2329 - Objektorientiertes Beispiel
  • Example#2330 - sqlite_factory Beispiel
  • Example#2331 - Prozedurales Beispiel
  • Example#2332 - Objektorientiertes Beispiel
  • Example#2333 - Beispiel zur prozduralen Notation
  • Example#2334 - Beispiel zur objektorientierten Notation
  • Example#2335 - Prozedurales Beispiel
  • Example#2336 - Objektorientiertes Beispiel
  • Example#2337 - Ein sqlite_fetch_single-Beispiel
  • Example#2338 - Prozedurales Beispiel
  • Example#2339 - Objektorientiertes Beispiel
  • Example#2340 - sqlite_open-Beispiel
  • Example#2341 - Beispiel für eine binärsichere max_length Summenfunktion
  • Example#2342 - SQLite3::changes-Beispiel
  • Example#2343 - SQLite3::close Beispiel
  • Example#2344 - SQLite3::__construct Beispiel
  • Example#2345 - SQLite3::createCollation example
  • Example#2346 - SQLite3::createFunction-Beispiel
  • Example#2347 - SQLite3::enableExceptions example
  • Example#2348 - SQLite3::exec-Beispiel
  • Example#2349 - SQLite3::loadExtension Beispiel
  • Example#2350 - SQLite3::open example
  • Example#2351 - SQLite3::openBlob example
  • Example#2352 - SQLite3::prepare Beispiel
  • Example#2353 - SQLite3::query-Beispiel
  • Example#2354 - SQLite3::querySingle example
  • Example#2355 - SQLite3::version example
  • Example#2356 - SQLite3Stmt::bindValue example
  • Example#2357 - sqlsrv_begin_transaction example
  • Example#2358 - sqlsrv_cancel example
  • Example#2359 - sqlsrv_client_info example
  • Example#2360 - sqlsrv_close example
  • Example#2361 - sqlsrv_commit example
  • Example#2362 - Connect using Windows Authentication.
  • Example#2363 - Connect by specifying a user name and password.
  • Example#2364 - Connect on a specifed port.
  • Example#2365 - functionname example
  • Example#2366 - sqlsrv_execute example
  • Example#2367 - Retrieving an associative array.
  • Example#2368 - Retrieving a numeric array.
  • Example#2369 - sqlsrv_fetch_object example
  • Example#2370 - sqlsrv_fetch example
  • Example#2371 - sqlsrv_field_metadata example
  • Example#2372 - sqlsrv_free_stmt example
  • Example#2373 - sqlsrv_get_field example
  • Example#2374 - sqlsrv_has_rows example
  • Example#2375 - sqlsrv_next_result example
  • Example#2376 - sqlsrv_num_fields example
  • Example#2377 - sqlsrv_num_rows example
  • Example#2378 - sqlsrv_prepare example
  • Example#2379 - sqlsrv_query example
  • Example#2380 - sqlsrv_rollback example
  • Example#2381 - sqlsrv_rows_affected example
  • Example#2382 - sqlsrv_send_stream_data example
  • Example#2383 - sqlsrv_server_info example
  • Example#2384 - Delete-Query
  • Example#2385 - sybase_connect example
  • Example#2386 - Identical fieldnames
  • Example#2387 - sybase_fetch_object return as Foo
  • Example#2388 - sybase_set_message_handler callback function
  • Example#2389 - sybase_set_message_handler callback to a class
  • Example#2390 - sybase_set_message_handler unhandled messages
  • Example#2391 - sybase_unbuffered_query example
  • Example#2392 - Putting and getting a key-value pair
  • Example#2393 - TokyoTyrant::add example
  • Example#2394 - TokyoTyrant::connect example
  • Example#2395 - TokyoTyrant::connectUri example
  • Example#2396 - TokyoTyrant::copy example
  • Example#2397 - TokyoTyrant::ext example
  • Example#2398 - TokyoTyrant::fwmKeys example
  • Example#2399 - TokyoTyrant::get example
  • Example#2400 - TokyoTyrant::getIterator example
  • Example#2401 - TokyoTyrant::num example
  • Example#2402 - TokyoTyrant::out example
  • Example#2403 - TokyoTyrant::put example
  • Example#2404 - TokyoTyrant::putCat example
  • Example#2405 - tokyotyrant::putKeep example
  • Example#2406 - TokyoTyrant::putNr example
  • Example#2407 - TokyoTyrant::putShl example
  • Example#2408 - TokyoTyrant::setMaster example
  • Example#2409 - TokyoTyrant::size example
  • Example#2410 - TokyoTyrant::stat example
  • Example#2411 - TokyoTyrant::vanish example
  • Example#2412 - TokyoTyrantTable::genUid example
  • Example#2413 - TokyoTyrantTable::get example
  • Example#2414 - TokyoTyrantTable::getIterator example
  • Example#2415 - TokyoTyrantTable::getQuery example
  • Example#2416 - TokyoTyrantTable::out example
  • Example#2417 - TokyoTyrantTable::put example
  • Example#2418 - TokyoTyrantTable::putCat example
  • Example#2419 - TokyoTyrantTable::putKeep example
  • Example#2420 - TokyoTyrantQuery::addCond example
  • Example#2421 - TokyoTyrantQuery::__construct example
  • Example#2422 - TokyoTyrantQuery::count example
  • Example#2423 - TokyoTyrantQuery iterator example
  • Example#2424 - TokyoTyrantQuery::hint example
  • Example#2425 - TokyoTyrantQuery iterator example
  • Example#2426 - TokyoTyrantQuery::metaSearch example
  • Example#2427 - TokyoTyrantQuery iterator example
  • Example#2428 - TokyoTyrantQuery::out example
  • Example#2429 - TokyoTyrantQuery iterator example
  • Example#2430 - TokyoTyrantQuery::search example
  • Example#2431 - TokyoTyrantQuery iterator example
  • Example#2432 - TokyoTyrantIterator::__construct example
  • Example#2433 - cal_days_in_month Beispiel
  • Example#2434 - cal_from_jd Beispiel
  • Example#2435 - cal_info Beispiel
  • Example#2436 - easter_date Beispiel
  • Example#2437 - easter_days Beispiel
  • Example#2438 - Caledar Funktionen
  • Example#2439 - jdtojewish-Beispiel
  • Example#2440 - DateTime::add/sub add intervals which cover elapsed time
  • Example#2441 - DateTime::modify and strtotime increment or decrement individual component values
  • Example#2442 - Adding or subtracting times can over- or underflow dates
  • Example#2443 - DateTime::add Beispiel
  • Example#2444 - Weitere DateTime::add Beispiele
  • Example#2445 - Vorsicht beim Addieren von Monaten
  • Example#2446 - DateTime::__construct example
  • Example#2447 - Intricacies of DateTime::__construct
  • Example#2448 - DateTime::createFromFormat example
  • Example#2449 - Intricacies of DateTime::createFromFormat
  • Example#2450 - Format string with literal characters
  • Example#2451 - DateTime::getLastErrors Beispiel
  • Example#2452 - DateTime::modify Beispiel
  • Example#2453 - Vorsicht beim Addieren oder Subtrahieren von Monaten
  • Example#2454 - DateTime::setDate example
  • Example#2455 - Values exceeding ranges are added to their parent values
  • Example#2456 - DateTime::setISODate example
  • Example#2457 - Values exceeding ranges are added to their parent values
  • Example#2458 - Finding the month a week is in
  • Example#2459 - DateTime::setTime example
  • Example#2460 - Values exceeding ranges are added to their parent values
  • Example#2461 - DateTime::setTimestamp Beispiel
  • Example#2462 - DateTime::setTimestamp Alternative in PHP 5.2
  • Example#2463 - DateTime::setTimeZone Beispiel
  • Example#2464 - DateTime::sub Beispiel
  • Example#2465 - Weitere DateTime::sub Beispiele
  • Example#2466 - Vorsicht beim Subtrahieren von Monaten
  • Example#2467 - Creating an immutable date time object
  • Example#2468 - DateTime::diff example
  • Example#2469 - DateTime object comparison
  • Example#2470 - DateTime::format example
  • Example#2471 - DateTime::getOffset example
  • Example#2472 - DateTime::getTimestamp example
  • Example#2473 - DateTime::getTimezone example
  • Example#2474 - Fehler beim Initialisieren von DateTimeZone abfangen
  • Example#2475 - DateTimeZone::getLocation example
  • Example#2476 - DateTimeZone::getOffset examples
  • Example#2477 - A timezone_transitions_get example
  • Example#2478 - A timezone_abbreviations_list example
  • Example#2479 - A timezone_identifiers_list example
  • Example#2480 - DateInterval Beispiel
  • Example#2481 - Parsen von gültigen Datum-Intervallen
  • Example#2482 - DateInterval example
  • Example#2483 - DateInterval and carry over points
  • Example#2484 - DateInterval and DateTime::diff with the %a and %d modifiers
  • Example#2485 - DatePeriod Beispiel
  • Example#2486 - DatePeriod Beispiel mit DatePeriod::EXCLUDE_START_DATE
  • Example#2487 - DatePeriod::getDateInterval example
  • Example#2488 - DatePeriod::getEndDate example
  • Example#2489 - DatePeriod::getEndDate without an end date
  • Example#2490 - DatePeriod::getStartDate example
  • Example#2491 - checkdate-Beispiel
  • Example#2492 - Getting the default timezone
  • Example#2493 - Getting the abbreviation of a timezone
  • Example#2494 - Ermittlung der Standard-Zeitzone
  • Example#2495 - date_parse_from_format example
  • Example#2496 - A date_parse example
  • Example#2497 - date_parse with relative formats
  • Example#2498 - A date_sun_info example
  • Example#2499 - date_sunrise example
  • Example#2500 - date_sunset example
  • Example#2501 - date-Beispiele
  • Example#2502 - Escaping von Zeichen in date
  • Example#2503 - date und mktime-Beispiele
  • Example#2504 - date-Formatierungen
  • Example#2505 - getdate-Beispiel
  • Example#2506 - gettimeofday-Beispiel
  • Example#2507 - gmdate-Beispiel
  • Example#2508 - Grundlegendes gmmktime Beispiel
  • Example#2509 - gmstrftime-Beispiel
  • Example#2510 - idate example
  • Example#2511 - localtime-Beispiel
  • Example#2512 - Zeitmessung einer Skriptausführung mit microtime
  • Example#2513 - Zeitmessung einer Skriptausführung in PHP 5
  • Example#2514 - microtime und REQUEST_TIME_FLOAT (ab PHP 5.4.0)
  • Example#2515 - Einfaches mktime-Beispiel
  • Example#2516 - mktime-Beispiel
  • Example#2517 - Letzter Tag eines Monats
  • Example#2518 - strftime locale Beispiel
  • Example#2519 - ISO 8601:1988 Wochennummer Beispiel
  • Example#2520 - strptime example
  • Example#2521 - Ein strtotime-Beispiel
  • Example#2522 - Test auf Fehler
  • Example#2523 - time-Beispiel
  • Example#2524 - Ein timezone_name_from_abbr-Beispiel
  • Example#2525 - Getting the timezonedb version
  • Example#2526 - Measure several code blocks execution and get the total
  • Example#2527 - Schließen eines geöffneten Dateideskriptors
  • Example#2528 - Setzen und Löschen einer Sperre
  • Example#2529 - Öffnen eines Dateideskriptors
  • Example#2530 - Positionieren in einer Datei
  • Example#2531 - Setting the baud rate on a serial port
  • Example#2532 - chdir Beispiel
  • Example#2533 - chroot Beispiel
  • Example#2534 - closedir Beispiel
  • Example#2535 - dir Beispiel
  • Example#2536 - getcwd Beispiel
  • Example#2537 - opendir Beispiel
  • Example#2538 - Alle Einträge eines Verzeichnisses auflisten
  • Example#2539 - Listet alle Einträge des aktuellen Verzeichnisses auf und blendet dabei . und .. aus.
  • Example#2540 - Ein einfaches scandir-Beispiel
  • Example#2541 - PHP 4-Alternativen zu scandir
  • Example#2542 - A finfo_buffer example
  • Example#2543 - Ein finfo_file Beispiel
  • Example#2544 - Objektorientierter Stil
  • Example#2545 - Prozeduraler Stil
  • Example#2546 - mime_content_type Example
  • Example#2547 - basename Beispiel
  • Example#2548 - Gruppe einer Datei ändern
  • Example#2549 - Einfache chown-Benutzung
  • Example#2550 - clearstatcache Beispiel
  • Example#2551 - copy Beispiel
  • Example#2552 - dirname Beispiel
  • Example#2553 - disk_free_space Beispiel
  • Example#2554 - disk_total_space Beispiel
  • Example#2555 - Ein einfaches fclose Beispiel
  • Example#2556 - Zeitüberschreitungen mit feof abhandeln
  • Example#2557 - feof Beispiel mit einem ungültigen Dateizeiger
  • Example#2558 - File write example using fflush
  • Example#2559 - Ein fgetc Beispiel
  • Example#2560 - Lies und gib den gesamten Inhalt einer CSV Datei aus
  • Example#2561 - Eine Datei Zeile für Zeile lesen
  • Example#2562 - Reading a PHP file line-by-line
  • Example#2563 - Prüfung, ob eine Datei existiert
  • Example#2564 - Holen und Ausgeben des Quelltextes der Startseite einer Webseite
  • Example#2565 - Suche im include_path
  • Example#2566 - Lesen einen Abschnitts einer Datei
  • Example#2567 - Nutzung von Stream-Contexten
  • Example#2568 - Einfaches Verwendungsbeispiel
  • Example#2569 - Verwendung der Flags
  • Example#2570 - file-Beispiel
  • Example#2571 - fileatime Beispiel
  • Example#2572 - Ein filectime Beispiel
  • Example#2573 - Finding the group of a file
  • Example#2574 - Vergleich des Inode einer Datei mit dem der derzeitigen Datei
  • Example#2575 - filemtime Beispiel
  • Example#2576 - Den besitzer einer Datei finden
  • Example#2577 - Zeige Rechte als Oktal-Wert an
  • Example#2578 - Zeige komplette Rechte an
  • Example#2579 - filesize Beispiel
  • Example#2580 - filetype Beispiel
  • Example#2581 - flock Beispiel
  • Example#2582 - flock Nutzung der LOCK_NB Option
  • Example#2583 - Checking a color name against a shell wildcard pattern
  • Example#2584 - fopen Beispiele
  • Example#2585 - Nutzung von fpassthru mit binären Dateien
  • Example#2586 - fputcsv example
  • Example#2587 - Ein einfaches fread-Beispiel
  • Example#2588 - Ein fread-Beispiel mit einer Binärdatei
  • Example#2589 - fread-Beispiele für entfernte Dateien
  • Example#2590 - fscanf Beispiel
  • Example#2591 - Inhalt der users.txt Datei
  • Example#2592 - fseek Beispiel
  • Example#2593 - fstat-Beispiel
  • Example#2594 - ftell Beispiel
  • Example#2595 - Dateikürzungsbeispiel
  • Example#2596 - Ein einfaches Beispiel für fwrite
  • Example#2597 - Einfacher Ersatz von opendir etc.
  • Example#2598 - is_dir-Beispiel
  • Example#2599 - is_executable-Beispiel
  • Example#2600 - is_file-Beispiel
  • Example#2601 - Erstelle und bestätige, dass eine Datei ein symbolischer Link ist
  • Example#2602 - is_readable-Beispiel
  • Example#2603 - is_uploaded_file-Beispiel
  • Example#2604 - is_writable-Beispiel
  • Example#2605 - Changing the group of a symbolic link
  • Example#2606 - Changing the owner of a symbolic link
  • Example#2607 - Erstellen eines harten Links
  • Example#2608 - linkinfo-Beispiel
  • Example#2609 - Vergleich von stat und lstat
  • Example#2610 - mkdir-Beispiel
  • Example#2611 - mkdir mit dem recursive-Parameter benutzen
  • Example#2612 - Hochladen mehrerer Dateien
  • Example#2613 - Inhalt der sample.ini
  • Example#2614 - parse_ini_file-Beispiel
  • Example#2615 - parse_ini_file parst eine php.ini
  • Example#2616 - pathinfo-Beispiel
  • Example#2617 - pathinfo-Beispiel für den Unterschied zwischen einer leeren und keiner Erweiterung
  • Example#2618 - pclose Beispiel
  • Example#2619 - popen Beispiel
  • Example#2620 - popen Beispiel
  • Example#2621 - Einen Download unter Verwendung von readfile erzwingen
  • Example#2622 - readlink example
  • Example#2623 - realpath_cache_get example
  • Example#2624 - realpath_cache_size example
  • Example#2625 - realpath
  • Example#2626 - realpath auf Windows
  • Example#2627 - Beispiel mit rename
  • Example#2628 - Beispiel zum Überschreiben mit rewind
  • Example#2629 - rmdir Beispiel
  • Example#2630 - stat-Beispiel
  • Example#2631 - Nutzung von stat-Informationen zusammen mit touch
  • Example#2632 - Einen symbolischen Link erzeugen
  • Example#2633 - tempnam-Beispiel
  • Example#2634 - tmpfile-Beispiel
  • Example#2635 - touch-Beispiel
  • Example#2636 - Nutzung von touch mit dem time-Parameter
  • Example#2637 - umask-Beispiel
  • Example#2638 - Einfache Nutzung von unlink
  • Example#2639 - Example usage of inotify
  • Example#2640 - Setting the path to magic.mime
  • Example#2641 - setproctitle example
  • Example#2642 - setthreadtitle example
  • Example#2643 - Checks if system administrator has signed the file
  • Example#2644 - Prints names of all extended attributes of file
  • Example#2645 - Removes all extended attributes of a file
  • Example#2646 - Sets extended attributes on .wav file
  • Example#2647 - xattr_supported example
  • Example#2648 - xdiff_file_bdiff_size example
  • Example#2649 - xdiff_file_bdiff example
  • Example#2650 - xdiff_file_bpatch example
  • Example#2651 - xdiff_file_diff_binary example
  • Example#2652 - xdiff_file_diff example
  • Example#2653 - xdiff_file_merge3 example
  • Example#2654 - xdiff_file_patch_binary example
  • Example#2655 - xdiff_file_patch example
  • Example#2656 - Patch reversing example
  • Example#2657 - xdiff_file_rabdiff example
  • Example#2658 - xdiff_string_bdiff_size example
  • Example#2659 - xdiff_string_diff example
  • Example#2660 - xdiff_string_patch example
  • Example#2661 - Enchant Usage Example
  • Example#2662 - List the backends provided by the given broker
  • Example#2663 - A enchant_broker_dict_exists example
  • Example#2664 - List all available dictionaries for one broker
  • Example#2665 - A enchant_broker_request_dict example
  • Example#2666 - Adding a word to a PWL
  • Example#2667 - A enchant_dict_describe example
  • Example#2668 - A enchant_dict_quick_check example
  • Example#2669 - A enchant_dict_suggest example
  • Example#2670 - Beispiel.
  • Example#2671 - Using Gender\Gender::country
  • Example#2672 - bindtextdomain-Beispiel
  • Example#2673 - gettext-Check
  • Example#2674 - ngettext-Beispiel
  • Example#2675 - Beispiel für iconv_get_encoding
  • Example#2676 - iconv_mime_decode_headers example
  • Example#2677 - iconv_mime_decode example
  • Example#2678 - iconv_mime_encode example
  • Example#2679 - iconv_set_encoding Beispiel:
  • Example#2680 - iconv-Beispiel:
  • Example#2681 - ob_iconv_handler-Beispiel:
  • Example#2682 - Example of using the procedural API
  • Example#2683 - Example of using the object-oriented API
  • Example#2684 - FRENCH_COLLATION rules
  • Example#2685 - ALTERNATE_HANDLING rules
  • Example#2686 - CASE_FIRST rules
  • Example#2687 - CASE_LEVEL rules
  • Example#2688 - collator_asortexample
  • Example#2689 - collator_compareexample
  • Example#2690 - Collator::__construct example
  • Example#2691 - collator_create example
  • Example#2692 - collator_get_attribute example
  • Example#2693 - collator_get_error_code example
  • Example#2694 - collator_get_error_message example
  • Example#2695 - collator_get_locale example
  • Example#2696 - collator_get_sort_keyexample
  • Example#2697 - collator_get_strength example
  • Example#2698 - collator_set_attribute example
  • Example#2699 - collator_set_strength example
  • Example#2700 - collator_sort_with_sort_keys example
  • Example#2701 - collator_sort example
  • Example#2702 - numfmt_create example
  • Example#2703 - NumberFormatter::create example
  • Example#2704 - numfmt_format_currency example
  • Example#2705 - OO example
  • Example#2706 - numfmt_format example
  • Example#2707 - OO example
  • Example#2708 - numfmt_get_attribute example
  • Example#2709 - OO example
  • Example#2710 - numfmt_get_error_code example
  • Example#2711 - OO example
  • Example#2712 - numfmt_get_error_message example
  • Example#2713 - OO example
  • Example#2714 - numfmt_get_locale example
  • Example#2715 - numfmt_get_pattern example
  • Example#2716 - OO example
  • Example#2717 - numfmt_get_symbol example
  • Example#2718 - OO example
  • Example#2719 - numfmt_get_text_attribute example
  • Example#2720 - OO example
  • Example#2721 - numfmt_parse_currency example
  • Example#2722 - OO example
  • Example#2723 - numfmt_parse example
  • Example#2724 - OO example
  • Example#2725 - numfmt_set_attribute example
  • Example#2726 - OO example
  • Example#2727 - numfmt_set_pattern example
  • Example#2728 - OO example
  • Example#2729 - numfmt_set_symbol example
  • Example#2730 - OO example
  • Example#2731 - numfmt_set_text_attribute example
  • Example#2732 - OO example
  • Example#2733 - locale_accept_from_http example
  • Example#2734 - OO example
  • Example#2735 - locale_compose example
  • Example#2736 - OO example
  • Example#2737 - locale_filter_matches example
  • Example#2738 - OO example
  • Example#2739 - locale_get_all_variants example
  • Example#2740 - OO example
  • Example#2741 - locale_get_default example
  • Example#2742 - OO example
  • Example#2743 - locale_get_display_language example
  • Example#2744 - OO example
  • Example#2745 - locale_get_display_name example
  • Example#2746 - OO example
  • Example#2747 - locale_get_display_region example
  • Example#2748 - OO example
  • Example#2749 - locale_get_display_script example
  • Example#2750 - OO example
  • Example#2751 - locale_get_display_variant example
  • Example#2752 - OO example
  • Example#2753 - locale_get_keywords example
  • Example#2754 - OO example
  • Example#2755 - locale_get_primary_language example
  • Example#2756 - OO example
  • Example#2757 - locale_get_region example
  • Example#2758 - OO example
  • Example#2759 - locale_get_script example
  • Example#2760 - OO example
  • Example#2761 - locale_lookup example
  • Example#2762 - OO example
  • Example#2763 - locale_parse example
  • Example#2764 - OO example
  • Example#2765 - locale_set_default example
  • Example#2766 - OO example
  • Example#2767 - normalizer_is_normalized example
  • Example#2768 - OO example
  • Example#2769 - normalizer_normalize example
  • Example#2770 - OO example
  • Example#2771 - msgfmt_create example
  • Example#2772 - OO example
  • Example#2773 - msgfmt_format_message example
  • Example#2774 - OO example
  • Example#2775 - msgfmt_format example
  • Example#2776 - OO example
  • Example#2777 - msgfmt_get_error_code example
  • Example#2778 - OO example
  • Example#2779 - msgfmt_get_error_message example
  • Example#2780 - OO example
  • Example#2781 - msgfmt_get_locale example
  • Example#2782 - OO example
  • Example#2783 - msgfmt_get_pattern example
  • Example#2784 - OO example
  • Example#2785 - msgfmt_parse_message example
  • Example#2786 - OO example
  • Example#2787 - msgfmt_parse example
  • Example#2788 - OO example
  • Example#2789 - msgfmt_set_pattern example
  • Example#2790 - OO example
  • Example#2791 - IntlCalendar::add
  • Example#2792 - IntlCalendar::after
  • Example#2793 - IntlCalendar::clear examples
  • Example#2794 - IntlCalendar::createInstance
  • Example#2795 - IntlCalendar::equals
  • Example#2796 - IntlCalendar::fieldDifference
  • Example#2797 - IntlCalendar::fromDateTime
  • Example#2798 - IntlCalendar::get
  • Example#2799 - IntlCalendar::getActualMaximum
  • Example#2800 - IntlCalendar::getAvailableLocales()
  • Example#2801 - IntlCalendar::getDayOfWeekType
  • Example#2802 - IntlCalendar::getErrorCode and IntlCalendar::getErrorMessage
  • Example#2803 - IntlCalendar::getErrorMessage
  • Example#2804 - IntlCalendar::getFirstDayOfWeek
  • Example#2805 - IntlCalendar::getKeyworkValuesForLocale
  • Example#2806 - Maxima examples
  • Example#2807 - IntlCalendar::getLocale
  • Example#2808 - IntlCalendar::getMinimalDaysInFirstWeek
  • Example#2809 - IntlCalendar::getNow
  • Example#2810 - IntlCalendar::getRepeatedWallTimeOption
  • Example#2811 - IntlCalendar::getSkippedWallTimeOption
  • Example#2812 - IntlCalendar::getTime
  • Example#2813 - IntlCalendar::getTimeZone
  • Example#2814 - IntlCalendar::getType
  • Example#2815 - IntlCalendar::inDaylightTime
  • Example#2816 - IntlCalendar::isEquivalentTo
  • Example#2817 - IntlCalendar::isLenient
  • Example#2818 - IntlCalendar::isWeekend
  • Example#2819 - IntlCalendar::roll
  • Example#2820 - IntlCalendar::set
  • Example#2821 - IntlCalendar::setFirstDayOfWeek
  • Example#2822 - IntlCalendar::setTime
  • Example#2823 - IntlCalendar::setTimeZone
  • Example#2824 - IntlCalendar::toDateTime
  • Example#2825 - datefmt_create example
  • Example#2826 - OO example
  • Example#2827 - datefmt_format example
  • Example#2828 - OO example
  • Example#2829 - With IntlCalendar object
  • Example#2830 - IntlDateFormatter::formatObject examples
  • Example#2831 - datefmt_get_calendar example
  • Example#2832 - OO example
  • Example#2833 - datefmt_get_datetype example
  • Example#2834 - OO example
  • Example#2835 - datefmt_get_error_code example
  • Example#2836 - OO example
  • Example#2837 - datefmt_get_error_message example
  • Example#2838 - OO example
  • Example#2839 - datefmt_get_locale example
  • Example#2840 - OO example
  • Example#2841 - datefmt_get_pattern example
  • Example#2842 - OO example
  • Example#2843 - datefmt_get_timetype example
  • Example#2844 - OO example
  • Example#2845 - datefmt_get_timezone_id example
  • Example#2846 - OO example
  • Example#2847 - IntlDateFormatter::getCalendarObject example
  • Example#2848 - IntlDateFormatter::getTimeZone examples
  • Example#2849 - datefmt_is_lenient example
  • Example#2850 - OO example
  • Example#2851 - datefmt_localtime example
  • Example#2852 - OO example
  • Example#2853 - OO example
  • Example#2854 - datefmt_parse example
  • Example#2855 - datefmt_set_calendar example
  • Example#2856 - OO example
  • Example#2857 - Example with IntlCalendar argument
  • Example#2858 - datefmt_set_lenient example
  • Example#2859 - OO example
  • Example#2860 - datefmt_set_pattern example
  • Example#2861 - OO example
  • Example#2862 - datefmt_set_timezone_id example
  • Example#2863 - OO example
  • Example#2864 - IntlDateFormatter::setTimeZone examples
  • Example#2865 - resourcebundle_count example
  • Example#2866 - OO example
  • Example#2867 - resourcebundle_create example
  • Example#2868 - ResourceBundle::create example
  • Example#2869 - resourcebundle_get_error_code example
  • Example#2870 - OO example
  • Example#2871 - resourcebundle_get_error_message example
  • Example#2872 - OO example
  • Example#2873 - resourcebundle_get example
  • Example#2874 - OO example
  • Example#2875 - resourcebundle_locales example
  • Example#2876 - OO example
  • Example#2877 - Spoofchecker::areConfusable example
  • Example#2878 - Spoofchecker::isSuspicious example
  • Example#2879 - Converting escaped UTF-16 code units
  • Example#2880 - grapheme_extract example
  • Example#2881 - grapheme_stripos example
  • Example#2882 - grapheme_stristr example
  • Example#2883 - grapheme_strlen example
  • Example#2884 - grapheme_strpos example
  • Example#2885 - grapheme_strripos example
  • Example#2886 - grapheme_strrpos example
  • Example#2887 - grapheme_strstr example
  • Example#2888 - grapheme_substr example
  • Example#2889 - idn_to_ascii example
  • Example#2890 - idn_to_utf8 example
  • Example#2891 - Testen unterschiedlicher Codepoints
  • Example#2892 - Testen unterschiedlicher Codepoints
  • Example#2893 - Testen unterschiedlicher Codepoints
  • Example#2894 - Testen unterschiedlicher Codepoints
  • Example#2895 - Testen unterschiedlicher Codepoints
  • Example#2896 - Testen unterschiedlicher Codepoints
  • Example#2897 - Testen unterschiedlicher Codepoints
  • Example#2898 - Testen unterschiedlicher Codepoints
  • Example#2899 - Testen unterschiedlicher Codepoints
  • Example#2900 - Enumerating over a sample range of code points
  • Example#2901 - Enumerating over a sample range of code points
  • Example#2902 - Testen unterschiedlicher Codepoints
  • Example#2903 - Testen unterschiedlicher Codepoints
  • Example#2904 - Testen unterschiedlicher Codepoints
  • Example#2905 - Testen unterschiedlicher Codepoints
  • Example#2906 - Testen unterschiedlicher Codepoints
  • Example#2907 - Testen unterschiedlicher Eigenschaften
  • Example#2908 - Testen unterschiedlicher Eigenschaften
  • Example#2909 - Testen unterschiedlicher Eigenschaften
  • Example#2910 - Testen unterschiedlicher Codepoints
  • Example#2911 - Testen unterschiedlicher Eigenschaften
  • Example#2912 - Testen unterschiedlicher Eigenschaften
  • Example#2913 - Testen unterschiedlicher Eigenschaften
  • Example#2914 - Testen unterschiedlicher Eigenschaften
  • Example#2915 - Testen unterschiedlicher Eigenschaften
  • Example#2916 - Testen unterschiedlicher Eigenschaften
  • Example#2917 - Testen unterschiedlicher Codepoints
  • Example#2918 - Testen unterschiedlicher Codepoints
  • Example#2919 - Testen unterschiedlicher Codepoints
  • Example#2920 - Testen unterschiedlicher Codepoints
  • Example#2921 - Testen unterschiedlicher Codepoints
  • Example#2922 - Testen unterschiedlicher Codepoints
  • Example#2923 - Testen unterschiedlicher Codepoints
  • Example#2924 - Testen unterschiedlicher Codepoints
  • Example#2925 - Testen unterschiedlicher Codepoints
  • Example#2926 - Testen unterschiedlicher Codepoints
  • Example#2927 - Testen unterschiedlicher Codepoints
  • Example#2928 - Testen unterschiedlicher Codepoints
  • Example#2929 - Testen unterschiedlicher Codepoints
  • Example#2930 - Testen unterschiedlicher Codepoints
  • Example#2931 - Testen unterschiedlicher Codepoints
  • Example#2932 - Testen unterschiedlicher Codepoints
  • Example#2933 - Testen unterschiedlicher Codepoints
  • Example#2934 - Testen unterschiedlicher Codepoints
  • Example#2935 - Testen unterschiedlicher Codepoints
  • Example#2936 - Testen unterschiedlicher Codepoints
  • Example#2937 - Testen unterschiedlicher Codepoints
  • Example#2938 - Testen unterschiedlicher Codepoints
  • Example#2939 - Testen unterschiedlicher Codepoints
  • Example#2940 - Testen unterschiedlicher Codepoints
  • Example#2941 - Testen unterschiedlicher Codepoints
  • Example#2942 - Testen unterschiedlicher Codepoints
  • Example#2943 - Testen unterschiedlicher Codepoints
  • Example#2944 - Testen unterschiedlicher Codepoints
  • Example#2945 - Testen unterschiedlicher Codepoints
  • Example#2946 - Testen unterschiedlicher Codepoints
  • Example#2947 - Testen unterschiedlicher Codepoints
  • Example#2948 - Testen unterschiedlicher Codepoints
  • Example#2949 - intl_error_name example
  • Example#2950 - intl_get_error_code example
  • Example#2951 - intl_get_error_message example
  • Example#2952 - intl_is_failure example
  • Example#2953 - php.ini setting examples
  • Example#2954 - php.ini setting for EUC-JP users
  • Example#2955 - php.ini setting for SJIS users
  • Example#2956 - Disable HTTP input conversion in php.ini
  • Example#2957 - php.ini setting example
  • Example#2958 - Script example
  • Example#2959 - mb_convert_case example
  • Example#2960 - mb_convert_case example with non-Latin UTF-8 text
  • Example#2961 - mb_convert_encoding example
  • Example#2962 - mb_convert_kana example
  • Example#2963 - mb_convert_variables example
  • Example#2964 - convmap example
  • Example#2965 - convmap example escapes JavaScript string
  • Example#2966 - mb_detect_encoding example
  • Example#2967 - mb_detect_order examples
  • Example#2968 - Example showing useless detect orders
  • Example#2969 - mb_encode_mimeheader example
  • Example#2970 - convmap example
  • Example#2971 - mb_encode_numericentity example
  • Example#2972 - mb_encoding_aliases example
  • Example#2973 - mb_ereg_replace_callback example
  • Example#2974 - mb_ereg_replace_callback using anonymous function supported in PHP 5.3.0 or later
  • Example#2975 - mb_internal_encoding example
  • Example#2976 - mb_list_encodings example
  • Example#2977 - mb_output_handler example
  • Example#2978 - mb_preferred_mime_name example
  • Example#2979 - mb_strimwidth example
  • Example#2980 - mb_strtolower example
  • Example#2981 - mb_strtolower example with non-Latin UTF-8 text
  • Example#2982 - mb_strtoupper example
  • Example#2983 - mb_strtoupper example with non-Latin UTF-8 text
  • Example#2984 - mb_substitute_character example
  • Example#2985 - mb_substr_count example
  • Example#2986 - pspell_add_to_personal-Beispiel
  • Example#2987 - pspell_check-Beispiel
  • Example#2988 - pspell_add_to_personal-Beispiel
  • Example#2989 - pspell_config_create-Beispiel
  • Example#2990 - pspell_config_ignore-Beispiel
  • Example#2991 - pspell_config_mode-Beispiel
  • Example#2992 - pspell_config_personal-Beispiel
  • Example#2993 - pspell_config_repl-Beispiel
  • Example#2994 - pspell_config_runtogether-Beispiel
  • Example#2995 - pspell_new_config-Beispiel
  • Example#2996 - pspell_new_personal-Beispiel
  • Example#2997 - pspell_new-Beispiel
  • Example#2998 - pspell_add_to_personal-Beispiel
  • Example#2999 - pspell_store_replacement-Beispiel
  • Example#3000 - pspell_suggest-Beispiel
  • Example#3001 - Einfaches recode_file-Beispiel
  • Example#3002 - Einfaches recode_string-Beispiel:
  • Example#3003 - Cairo Example
  • Example#3004 - cairo_create example
  • Example#3005 - cairo_font_face_get_type example
  • Example#3006 - cairo_font_face_status example
  • Example#3007 - cairo_font_options_create example
  • Example#3008 - cairo_font_options_equal example
  • Example#3009 - cairo_font_options_get_antialias example
  • Example#3010 - cairo_font_options_get_hint_metrics example
  • Example#3011 - cairo_font_options_get_hint_style example
  • Example#3012 - cairo_font_options_get_subpixel_order example
  • Example#3013 - cairo_font_options_hash example
  • Example#3014 - cairo_font_options_merge example
  • Example#3015 - cairo_font_options_set_antialias example
  • Example#3016 - cairo_font_options_set_hint_metrics example
  • Example#3017 - cairo_font_options_set_hint_style example
  • Example#3018 - cairo_font_options_set_subpixel_order example
  • Example#3019 - cairo_font_options_status example
  • Example#3020 - cairo_format_stride_for_width example
  • Example#3021 - cairo_image_surface_create_for_data example
  • Example#3022 - cairo_image_surface_create_from_png example
  • Example#3023 - cairo_image_surface_create example
  • Example#3024 - cairo_image_surface_get_data example
  • Example#3025 - cairo_image_surface_get_format example
  • Example#3026 - cairo_image_surface_get_height example
  • Example#3027 - cairo_image_surface_get_stride example
  • Example#3028 - cairo_image_surface_get_width example
  • Example#3029 - cairo_matrix_invert example
  • Example#3030 - cairo_matrix_multiply example
  • Example#3031 - cairo_matrix_rotate example
  • Example#3032 - cairo_matrix_transform_distance example
  • Example#3033 - cairo_matrix_transform_point example
  • Example#3034 - cairo_matrix_translate example
  • Example#3035 - cairo_pattern_add_color_stop_rgb example
  • Example#3036 - cairo_pattern_add_color_stop_rgba example
  • Example#3037 - cairo_pattern_create_for_surface example
  • Example#3038 - cairo_pattern_create_linear example
  • Example#3039 - cairo_pattern_create_radial example
  • Example#3040 - cairo_pattern_create_rgb example
  • Example#3041 - cairo_pattern_create_rgba example
  • Example#3042 - cairo_pattern_get_color_stop_count example
  • Example#3043 - cairo_pattern_get_color_stop_rgba example
  • Example#3044 - cairo_pattern_get_extend example
  • Example#3045 - cairo_pattern_get_filter example
  • Example#3046 - cairo_pattern_get_linear_points example
  • Example#3047 - cairo_pattern_get_matrix example
  • Example#3048 - cairo_pattern_get_radial_circles example
  • Example#3049 - cairo_pattern_get_rgba example
  • Example#3050 - cairo_pattern_get_surface example
  • Example#3051 - cairo_pattern_get_type example
  • Example#3052 - cairo_pattern_set_extend example
  • Example#3053 - cairo_pattern_set_filter example
  • Example#3054 - cairo_pattern_set_matrix example
  • Example#3055 - cairo_pattern_status example
  • Example#3056 - cairo_pdf_surface_create example
  • Example#3057 - cairo_pdf_surface_set_size example
  • Example#3058 - cairo_ps_get_levels example
  • Example#3059 - cairo_ps_level_to_string example
  • Example#3060 - cairo_ps_surface_create example
  • Example#3061 - cairo_ps_surface_dsc_begin_page_setup example
  • Example#3062 - cairo_ps_surface_dsc_begin_setup example
  • Example#3063 - cairo_ps_surface_dsc_comment example
  • Example#3064 - cairo_ps_surface_get_eps example
  • Example#3065 - cairo_ps_surface_restrict_to_level example
  • Example#3066 - cairo_ps_surface_set_eps example
  • Example#3067 - cairo_ps_surface_set_size example
  • Example#3068 - cairo_scaled_font_create example
  • Example#3069 - cairo_scaled_font_extents example
  • Example#3070 - cairo_scaled_font_get_ctm example
  • Example#3071 - cairo_scaled_font_get_font_face example
  • Example#3072 - cairo_scaled_font_get_font_matrix example
  • Example#3073 - cairo_scaled_font_get_font_options example
  • Example#3074 - cairo_scaled_font_get_scale_matrix example
  • Example#3075 - cairo_scaled_font_get_type example
  • Example#3076 - cairo_scaled_font_glyph_extents example
  • Example#3077 - cairo_scaled_font_status example
  • Example#3078 - cairo_scaled_font_text_extents example
  • Example#3079 - cairo_surface_copy_page example
  • Example#3080 - cairo_surface_create_similar example
  • Example#3081 - cairo_surface_finish example
  • Example#3082 - cairo_surface_flush example
  • Example#3083 - cairo_surface_get_content example
  • Example#3084 - cairo_surface_get_device_offset example
  • Example#3085 - cairo_surface_get_font_options example
  • Example#3086 - cairo_surface_get_type example
  • Example#3087 - cairo_surface_mark_dirty_rectangle example
  • Example#3088 - cairo_surface_mark_dirty example
  • Example#3089 - cairo_surface_set_device_offset example
  • Example#3090 - cairo_surface_set_fallback_resolution example
  • Example#3091 - cairo_surface_show_page example
  • Example#3092 - cairo_surface_status example
  • Example#3093 - cairo_surface_write_to_png example
  • Example#3094 - cairo_svg_surface_create example
  • Example#3095 - cairo_svg_surface_restrict_to_version example
  • Example#3096 - cairo_svg_version_to_string example
  • Example#3097 - Objektorientierter Stil
  • Example#3098 - Prozeduraler Stil
  • Example#3099 - Objektorientierter Stil
  • Example#3100 - Prozeduraler Stil
  • Example#3101 - Objektorientierter Stil
  • Example#3102 - Prozeduraler Stil
  • Example#3103 - Objektorientierter Stil
  • Example#3104 - Prozeduraler Stil
  • Example#3105 - Objektorientierter Stil
  • Example#3106 - Prozeduraler Stil
  • Example#3107 - Objektorientierter Stil
  • Example#3108 - Prozeduraler Stil
  • Example#3109 - Objektorientierter Stil
  • Example#3110 - Prozeduraler Stil
  • Example#3111 - Objektorientierter Stil
  • Example#3112 - Prozeduraler Stil
  • Example#3113 - Objektorientierter Stil
  • Example#3114 - Prozeduraler Stil
  • Example#3115 - Objektorientierter Stil
  • Example#3116 - Prozeduraler Stil
  • Example#3117 - Objektorientierter Stil
  • Example#3118 - Prozeduraler Stil
  • Example#3119 - Objektorientierter Stil
  • Example#3120 - Prozeduraler Stil
  • Example#3121 - Objektorientierter Stil
  • Example#3122 - Prozeduraler Stil
  • Example#3123 - CairoContext::__construct example
  • Example#3124 - Objektorientierter Stil
  • Example#3125 - Prozeduraler Stil
  • Example#3126 - Objektorientierter Stil
  • Example#3127 - Prozeduraler Stil
  • Example#3128 - Objektorientierter Stil
  • Example#3129 - Prozeduraler Stil
  • Example#3130 - Objektorientierter Stil
  • Example#3131 - Prozeduraler Stil
  • Example#3132 - Objektorientierter Stil
  • Example#3133 - Prozeduraler Stil
  • Example#3134 - Objektorientierter Stil
  • Example#3135 - Prozeduraler Stil
  • Example#3136 - Objektorientierter Stil
  • Example#3137 - Prozeduraler Stil
  • Example#3138 - Objektorientierter Stil
  • Example#3139 - Prozeduraler Stil
  • Example#3140 - Objektorientierter Stil
  • Example#3141 - Prozeduraler Stil
  • Example#3142 - Objektorientierter Stil
  • Example#3143 - Prozeduraler Stil
  • Example#3144 - Objektorientierter Stil
  • Example#3145 - Prozeduraler Stil
  • Example#3146 - Objektorientierter Stil
  • Example#3147 - Prozeduraler Stil
  • Example#3148 - Objektorientierter Stil
  • Example#3149 - Prozeduraler Stil
  • Example#3150 - Objektorientierter Stil
  • Example#3151 - Prozeduraler Stil
  • Example#3152 - Objektorientierter Stil
  • Example#3153 - Prozeduraler Stil
  • Example#3154 - Objektorientierter Stil
  • Example#3155 - Prozeduraler Stil
  • Example#3156 - Objektorientierter Stil
  • Example#3157 - Prozeduraler Stil
  • Example#3158 - Objektorientierter Stil
  • Example#3159 - Prozeduraler Stil
  • Example#3160 - Objektorientierter Stil
  • Example#3161 - Prozeduraler Stil
  • Example#3162 - Objektorientierter Stil
  • Example#3163 - Prozeduraler Stil
  • Example#3164 - Objektorientierter Stil
  • Example#3165 - Prozeduraler Stil
  • Example#3166 - Objektorientierter Stil
  • Example#3167 - Prozeduraler Stil
  • Example#3168 - Objektorientierter Stil
  • Example#3169 - Prozeduraler Stil
  • Example#3170 - Objektorientierter Stil
  • Example#3171 - Prozeduraler Stil
  • Example#3172 - Objektorientierter Stil
  • Example#3173 - Prozeduraler Stil
  • Example#3174 - Objektorientierter Stil
  • Example#3175 - Prozeduraler Stil
  • Example#3176 - Objektorientierter Stil
  • Example#3177 - Prozeduraler Stil
  • Example#3178 - Objektorientierter Stil
  • Example#3179 - Prozeduraler Stil
  • Example#3180 - Objektorientierter Stil
  • Example#3181 - Prozeduraler Stil
  • Example#3182 - Objektorientierter Stil
  • Example#3183 - Prozeduraler Stil
  • Example#3184 - Objektorientierter Stil
  • Example#3185 - Prozeduraler Stil
  • Example#3186 - Objektorientierter Stil
  • Example#3187 - Prozeduraler Stil
  • Example#3188 - Objektorientierter Stil
  • Example#3189 - Prozeduraler Stil
  • Example#3190 - Objektorientierter Stil
  • Example#3191 - Prozeduraler Stil
  • Example#3192 - Objektorientierter Stil
  • Example#3193 - Prozeduraler Stil
  • Example#3194 - Objektorientierter Stil
  • Example#3195 - Prozeduraler Stil
  • Example#3196 - Objektorientierter Stil
  • Example#3197 - Prozeduraler Stil
  • Example#3198 - Objektorientierter Stil
  • Example#3199 - Prozeduraler Stil
  • Example#3200 - Objektorientierter Stil
  • Example#3201 - Prozeduraler Stil
  • Example#3202 - Objektorientierter Stil
  • Example#3203 - Prozeduraler Stil
  • Example#3204 - Objektorientierter Stil
  • Example#3205 - Prozeduraler Stil
  • Example#3206 - Objektorientierter Stil
  • Example#3207 - Prozeduraler Stil
  • Example#3208 - Objektorientierter Stil
  • Example#3209 - Prozeduraler Stil
  • Example#3210 - Objektorientierter Stil
  • Example#3211 - Prozeduraler Stil
  • Example#3212 - Objektorientierter Stil
  • Example#3213 - Prozeduraler Stil
  • Example#3214 - Objektorientierter Stil
  • Example#3215 - Prozeduraler Stil
  • Example#3216 - Objektorientierter Stil
  • Example#3217 - Prozeduraler Stil
  • Example#3218 - Objektorientierter Stil
  • Example#3219 - Prozeduraler Stil
  • Example#3220 - Objektorientierter Stil
  • Example#3221 - Prozeduraler Stil
  • Example#3222 - Objektorientierter Stil
  • Example#3223 - Prozeduraler Stil
  • Example#3224 - Objektorientierter Stil
  • Example#3225 - Prozeduraler Stil
  • Example#3226 - Objektorientierter Stil
  • Example#3227 - Prozeduraler Stil
  • Example#3228 - Objektorientierter Stil
  • Example#3229 - Prozeduraler Stil
  • Example#3230 - Objektorientierter Stil
  • Example#3231 - Prozeduraler Stil
  • Example#3232 - Objektorientierter Stil
  • Example#3233 - Prozeduraler Stil
  • Example#3234 - Objektorientierter Stil
  • Example#3235 - Prozeduraler Stil
  • Example#3236 - Objektorientierter Stil
  • Example#3237 - Prozeduraler Stil
  • Example#3238 - Objektorientierter Stil
  • Example#3239 - Prozeduraler Stil
  • Example#3240 - Objektorientierter Stil
  • Example#3241 - Prozeduraler Stil
  • Example#3242 - Objektorientierter Stil
  • Example#3243 - Prozeduraler Stil
  • Example#3244 - Objektorientierter Stil
  • Example#3245 - Prozeduraler Stil
  • Example#3246 - Objektorientierter Stil
  • Example#3247 - Prozeduraler Stil
  • Example#3248 - Objektorientierter Stil
  • Example#3249 - Prozeduraler Stil
  • Example#3250 - Objektorientierter Stil
  • Example#3251 - Prozeduraler Stil
  • Example#3252 - Objektorientierter Stil
  • Example#3253 - Prozeduraler Stil
  • Example#3254 - Objektorientierter Stil
  • Example#3255 - Prozeduraler Stil
  • Example#3256 - Objektorientierter Stil
  • Example#3257 - Prozeduraler Stil
  • Example#3258 - Objektorientierter Stil
  • Example#3259 - Prozeduraler Stil
  • Example#3260 - Objektorientierter Stil
  • Example#3261 - Prozeduraler Stil
  • Example#3262 - Objektorientierter Stil
  • Example#3263 - Prozeduraler Stil
  • Example#3264 - Objektorientierter Stil
  • Example#3265 - Prozeduraler Stil
  • Example#3266 - Objektorientierter Stil
  • Example#3267 - Prozeduraler Stil
  • Example#3268 - Objektorientierter Stil
  • Example#3269 - Prozeduraler Stil
  • Example#3270 - Objektorientierter Stil
  • Example#3271 - Prozeduraler Stil
  • Example#3272 - Objektorientierter Stil
  • Example#3273 - Prozeduraler Stil
  • Example#3274 - Objektorientierter Stil
  • Example#3275 - Prozeduraler Stil
  • Example#3276 - Objektorientierter Stil
  • Example#3277 - Prozeduraler Stil
  • Example#3278 - Objektorientierter Stil
  • Example#3279 - Prozeduraler Stil
  • Example#3280 - Objektorientierter Stil
  • Example#3281 - Prozeduraler Stil
  • Example#3282 - Objektorientierter Stil
  • Example#3283 - Prozeduraler Stil
  • Example#3284 - Objektorientierter Stil
  • Example#3285 - Prozeduraler Stil
  • Example#3286 - Objektorientierter Stil
  • Example#3287 - Prozeduraler Stil
  • Example#3288 - Objektorientierter Stil
  • Example#3289 - Prozeduraler Stil
  • Example#3290 - Objektorientierter Stil
  • Example#3291 - Prozeduraler Stil
  • Example#3292 - Objektorientierter Stil
  • Example#3293 - Prozeduraler Stil
  • Example#3294 - Objektorientierter Stil
  • Example#3295 - Prozeduraler Stil
  • Example#3296 - Objektorientierter Stil
  • Example#3297 - Prozeduraler Stil
  • Example#3298 - CairoSurface::createSimilar example
  • Example#3299 - CairoSurface::finish example
  • Example#3300 - CairoSurface::flush example
  • Example#3301 - CairoSurface::getContent example
  • Example#3302 - CairoSurface::getDeviceOffset example
  • Example#3303 - Objektorientierter Stil
  • Example#3304 - Prozeduraler Stil
  • Example#3305 - CairoSurface::getType example
  • Example#3306 - CairoSurface::markDirty example
  • Example#3307 - CairoSurface::markDirtyRectangle example
  • Example#3308 - CairoSurface::setDeviceOffset example
  • Example#3309 - CairoSurface::setFallbackResolution example
  • Example#3310 - Objektorientierter Stil
  • Example#3311 - Prozeduraler Stil
  • Example#3312 - Objektorientierter Stil
  • Example#3313 - Prozeduraler Stil
  • Example#3314 - CairoSurface::writeToPng example
  • Example#3315 - CairoSvgSurface::__construct example
  • Example#3316 - CairoSvgSurface::getVersions example
  • Example#3317 - Prozeduraler Stil
  • Example#3318 - CairoSvgSurface::restrictToVersion example
  • Example#3319 - CairoSvgSurface::versionToString example
  • Example#3320 - CairoImageSurface::__construct example
  • Example#3321 - CairoImageSurface::createForData example
  • Example#3322 - CairoImageSurface::createFromPng example
  • Example#3323 - CairoImageSurface::getData example
  • Example#3324 - CairoImageSurface::getFormat example
  • Example#3325 - CairoImageSurface::getHeight example
  • Example#3326 - CairoImageSurface::getStride example
  • Example#3327 - CairoImageSurface::getWidth example
  • Example#3328 - CairoPdfSurface::__construct example
  • Example#3329 - CairoPdfSurface::setSize example
  • Example#3330 - CairoPsSurface::__construct example
  • Example#3331 - CairoPsSurface::dscBeginPageSetup example
  • Example#3332 - CairoPsSurface::dscBeginSetup example
  • Example#3333 - CairoPsSurface::dscComment example
  • Example#3334 - CairoPsSurface::getEps example
  • Example#3335 - CairoPsSurface::getLevels example
  • Example#3336 - CairoPsSurface::levelToString example
  • Example#3337 - CairoPsSurface::restrictToLevel example
  • Example#3338 - CairoPsSurface::setEps example
  • Example#3339 - CairoPsSurface::setSize example
  • Example#3340 - CairoFontFace::__construct example
  • Example#3341 - CairoFontFace::getType example
  • Example#3342 - Objektorientierter Stil
  • Example#3343 - Prozeduraler Stil
  • Example#3344 - CairoFontOptions::__construct example
  • Example#3345 - CairoFontOptions::equal example
  • Example#3346 - Objektorientierter Stil
  • Example#3347 - Prozeduraler Stil
  • Example#3348 - CairoFontOptions::getHintMetrics example
  • Example#3349 - CairoFontOptions::getHintStyle example
  • Example#3350 - CairoFontOptions::getSubpixelOrder example
  • Example#3351 - CairoFontOptions::hash example
  • Example#3352 - CairoFontOptions::merge example
  • Example#3353 - Objektorientierter Stil
  • Example#3354 - Prozeduraler Stil
  • Example#3355 - CairoFontOptions::setHintMetrics example
  • Example#3356 - CairoFontOptions::setHintStyle example
  • Example#3357 - CairoFontOptions::setSubpixelOrder example
  • Example#3358 - Objektorientierter Stil
  • Example#3359 - Prozeduraler Stil
  • Example#3360 - CairoScaledFont::__construct example
  • Example#3361 - CairoScaledFont::extents example
  • Example#3362 - CairoScaledFont::getCtm example
  • Example#3363 - Objektorientierter Stil
  • Example#3364 - Prozeduraler Stil
  • Example#3365 - Objektorientierter Stil
  • Example#3366 - Prozeduraler Stil
  • Example#3367 - Objektorientierter Stil
  • Example#3368 - Prozeduraler Stil
  • Example#3369 - CairoScaledFont::getScaleMatrix example
  • Example#3370 - CairoScaledFont::getType example
  • Example#3371 - CairoScaledFont::glyphExtents example
  • Example#3372 - Objektorientierter Stil
  • Example#3373 - Prozeduraler Stil
  • Example#3374 - Objektorientierter Stil
  • Example#3375 - Prozeduraler Stil
  • Example#3376 - CairoPattern::__construct example
  • Example#3377 - Objektorientierter Stil
  • Example#3378 - Prozeduraler Stil
  • Example#3379 - CairoPattern::getType example
  • Example#3380 - Objektorientierter Stil
  • Example#3381 - Prozeduraler Stil
  • Example#3382 - Objektorientierter Stil
  • Example#3383 - Prozeduraler Stil
  • Example#3384 - CairoGradientPattern::addColorStopRgb example
  • Example#3385 - CairoGradientPattern::addColorStopRgba example
  • Example#3386 - CairoGradientPattern::getColorStopCount example
  • Example#3387 - CairoGradientPattern::getColorStopRgba example
  • Example#3388 - CairoGradientPattern::getExtend example
  • Example#3389 - CairoGradientPattern::setExtend example
  • Example#3390 - CairoSolidPattern::__construct example
  • Example#3391 - CairoSolidPattern::getRgba example
  • Example#3392 - CairoSurfacePattern::__construct example
  • Example#3393 - CairoSurfacePattern::getExtend example
  • Example#3394 - CairoSurfacePattern::getFilter example
  • Example#3395 - CairoSurfacePattern::getSurface example
  • Example#3396 - CairoSurfacePattern::setExtend example
  • Example#3397 - CairoSurfacePattern::setFilter example
  • Example#3398 - CairoLinearGradient::__construct example
  • Example#3399 - CairoLinearGradient::getPoints example
  • Example#3400 - CairoRadialGradient::__construct example
  • Example#3401 - CairoRadialGradient::getCircles example
  • Example#3402 - CairoFormat::strideForWidth example
  • Example#3403 - Objektorientierter Stil
  • Example#3404 - Prozeduraler Stil
  • Example#3405 - Objektorientierter Stil
  • Example#3406 - Prozeduraler Stil
  • Example#3407 - Objektorientierter Stil
  • Example#3408 - Prozeduraler Stil
  • Example#3409 - Objektorientierter Stil
  • Example#3410 - Prozeduraler Stil
  • Example#3411 - Objektorientierter Stil
  • Example#3412 - Prozeduraler Stil
  • Example#3413 - CairoMatrix::invert example
  • Example#3414 - CairoMatrix::multiply example
  • Example#3415 - Objektorientierter Stil
  • Example#3416 - Prozeduraler Stil
  • Example#3417 - Objektorientierter Stil
  • Example#3418 - Prozeduraler Stil
  • Example#3419 - CairoMatrix::transformDistance example
  • Example#3420 - CairoMatrix::transformPoint example
  • Example#3421 - Objektorientierter Stil
  • Example#3422 - Prozeduraler Stil
  • Example#3423 - exif_imagetype-Beispiel
  • Example#3424 - exif_read_data-Beispiel
  • Example#3425 - exif_thumbnail Beispiel
  • Example#3426 - PNG erzeugen mit PHP
  • Example#3427 - Wasserzeichen mit Hilfe von Alpha-Kanälen zufügen
  • Example#3428 - Erstellen eines transparenten Wasserzeichens mit imagecopymerge
  • Example#3429 - Benutztung von gd_info
  • Example#3430 - getimagesize() und MIME-Typ
  • Example#3431 - getimagesize-Beispiel
  • Example#3432 - getimagesize (URL)
  • Example#3433 - getimagesize() mit Rückgabe von IPTC
  • Example#3434 - getimagesizefromstring example
  • Example#3435 - image_type_to_extension example
  • Example#3436 - image_type_to_mime_type example
  • Example#3437 - image2wbmp example
  • Example#3438 - imageaffinematrixconcat example
  • Example#3439 - imageaffinematrixget example
  • Example#3440 - imagealphablending usage example
  • Example#3441 - A comparison of two lines, one with anti-aliasing switched on
  • Example#3442 - Zeichnen eines Kreises mittels imagearc
  • Example#3443 - Saving a BMP file
  • Example#3444 - imagechar-Beispiel
  • Example#3445 - Example of using imagecolorallocatealpha
  • Example#3446 - Search for a set of colors in an image
  • Example#3447 - Example of using imagecolorclosesthwb
  • Example#3448 - Get colors from the GD logo
  • Example#3449 - imagecolormatch example
  • Example#3450 - Using imagecoloresolvealpha to get colors from an image
  • Example#3451 - Embossing the PHP.net logo
  • Example#3452 - Gaussian blur
  • Example#3453 - Merging two copies of the PHP.net logo with 75% transparency
  • Example#3454 - imagecopymergegray usage
  • Example#3455 - Simple example
  • Example#3456 - Resampling an image proportionally
  • Example#3457 - Ein Bild skalieren
  • Example#3458 - Erzeugung eines neuen GD-Bild-Streams und Ausgabe des Bildes:
  • Example#3459 - Convert an BMP image to a PNG image using imagecreatefrombmp
  • Example#3460 - imagecreatefromgd2 example
  • Example#3461 - imagecreatefromgd2part example
  • Example#3462 - imagecreatefromgd example
  • Example#3463 - Beispiel zur Behandlung von Fehlern beim Einlesen einer GIF
  • Example#3464 - Beispiel, um die Handhabung eines Fehlers bei der Bilderzeugung zu sehen (Dank an vic@zymsys.com):
  • Example#3465 - Beispiel, um die Handhabung eines Fehlers bei der Bilderzeugung zu sehen (Dank an vic@zymsys.com):
  • Example#3466 - imagecreatefromstring example
  • Example#3467 - Example to handle an error during loading of a WBMP
  • Example#3468 - Convert an WebP image to a jpeg image using imagecreatefromwebp
  • Example#3469 - Convert an XBM image to a png image using imagecreatefromxbm
  • Example#3470 - Creating an image instance using imagecreatefromxpm
  • Example#3471 - Creating a new GD image stream and outputting an image.
  • Example#3472 - imagecrop example
  • Example#3473 - Proper handling of auto-cropping
  • Example#3474 - Verwendung von imagedestroy
  • Example#3475 - imageellipse example
  • Example#3476 - Creating a 3D looking pie
  • Example#3477 - imagefilledellipse example
  • Example#3478 - imagefilter grayscale example
  • Example#3479 - imagefilter brightness example
  • Example#3480 - imagefilter colorize example
  • Example#3481 - imagefilter negate example
  • Example#3482 - imagefilter pixelate example
  • Example#3483 - Flips an image vertically
  • Example#3484 - Flips the image horizontally
  • Example#3485 - imageftbbox example
  • Example#3486 - imagefttext example
  • Example#3487 - Outputting a GD2 image
  • Example#3488 - Saving a GD2 image
  • Example#3489 - Outputting a GD image
  • Example#3490 - Saving a GD image
  • Example#3491 - imagegetclip example
  • Example#3492 - Ein Bild mittels imagegif ausgeben
  • Example#3493 - Eine PNG-Datei mit imagegif in GIF konvertieren
  • Example#3494 - imagegrabscreen example
  • Example#3495 - imagegrabwindow example
  • Example#3496 - Simple detection of true color image instances using imageistruecolor
  • Example#3497 - Ein Bild an den Browser ausgeben
  • Example#3498 - Ein Bild in eine Datei speichern
  • Example#3499 - Das Bild mit 75% Qualität an den Browser ausgeben
  • Example#3500 - imagelayereffect example
  • Example#3501 - imageopenpolygon example
  • Example#3502 - imagepalettecopy example
  • Example#3503 - Converts any image resource to true color
  • Example#3504 - Setting and getting the resolution of an image
  • Example#3505 - Rotate an image 180 degrees
  • Example#3506 - imagesavealpha example
  • Example#3507 - imagesetbrush example
  • Example#3508 - imagesetinterpolation example
  • Example#3509 - imagesetstyle example
  • Example#3510 - imagesetthickness example
  • Example#3511 - imagesettile example
  • Example#3512 - Converting a true color image to a palette-based image
  • Example#3513 - ImageTTFText
  • Example#3514 - ImageTypes
  • Example#3515 - Outputting a WBMP image
  • Example#3516 - Saving the WBMP image
  • Example#3517 - Outputting the image with a different foreground
  • Example#3518 - Saving an WebP file
  • Example#3519 - Saving an XBM file
  • Example#3520 - Saving an XBM file with a different foreground color
  • Example#3521 - Embedding IPTC data into a JPEG
  • Example#3522 - iptcparse() used together with getimagesize
  • Example#3523 - jpeg2wbmp example
  • Example#3524 - png2wbmp example
  • Example#3525 - Gmagick Example
  • Example#3526 - Gmagick::despeckleimage example
  • Example#3527 - Gmagick::setCompressionQuality
  • Example#3528 - Creating a thumbnail in Imagick
  • Example#3529 - Make a thumbnail of all JPG files in a directory
  • Example#3530 - Creating a reflection of an image
  • Example#3531 - Filling text with gradient
  • Example#3532 - Read in GIF image and resize all frames
  • Example#3533 - Create a PHP logo
  • Example#3534 - Using Imagick::adaptiveBlurImage:
  • Example#3535 - Using Imagick::adaptiveResizeImage
  • Example#3536 - A Imagick::adaptiveSharpenImage example
  • Example#3537 - Imagick::adaptiveThresholdImage
  • Example#3538 - Imagick::addNoiseImage
  • Example#3539 - Imagick::affineTransformImage
  • Example#3540 - Using Imagick::annotateImage:
  • Example#3541 - Imagick::appendImages example
  • Example#3542 - Imagick::autoLevelImage
  • Example#3543 - Imagick::blackThresholdImage
  • Example#3544 - Imagick::blueShiftImage
  • Example#3545 - Using Imagick::blurImage:
  • Example#3546 - Imagick::borderImage
  • Example#3547 - Imagick::brightnessContrastImage
  • Example#3548 - Imagick::charcoalImage
  • Example#3549 - Using Imagick::chopImage:
  • Example#3550 - Imagick object cloning in different versions of imagick
  • Example#3551 - Using Imagick::clutImage:
  • Example#3552 - Imagick::colorizeImage
  • Example#3553 - Imagick::colorMatrixImage
  • Example#3554 - Using Imagick::commentImage:
  • Example#3555 - Using Imagick::compareImageLayers
  • Example#3556 - Using Imagick::compareImages:
  • Example#3557 - Using Imagick::compositeImage:
  • Example#3558 - Imagick::contrastImage
  • Example#3559 - Imagick::convolveImage
  • Example#3560 - Imagick::cropImage
  • Example#3561 - Imagick::deskewImage
  • Example#3562 - Imagick::despeckleImage
  • Example#3563 - Using Imagick::distortImage:
  • Example#3564 - Imagick::edgeImage
  • Example#3565 - Imagick::embossImage
  • Example#3566 - Imagick::enhanceImage
  • Example#3567 - Imagick::equalizeImage
  • Example#3568 - Using Imagick::evaluateImage
  • Example#3569 - Using Imagick::exportImagePixels
  • Example#3570 - Imagick::filter
  • Example#3571 - Imagick::flipImage
  • Example#3572 - Imagick::floodfillPaintImage example
  • Example#3573 - Imagick::flopImage
  • Example#3574 - Imagick::forwardFourierTransformImage
  • Example#3575 - Imagick::frameImage
  • Example#3576 - Create a sinusoidal gradient
  • Example#3577 - Create a gradient from the polynomial (4x^2 - 4x + 1)
  • Example#3578 - Create a complex gradient from the polynomial (4x^2 - 4x^2 + 1) modulated by a sinusoidal gradient
  • Example#3579 - Imagick::fxImage
  • Example#3580 - Imagick::gammaImage
  • Example#3581 - Imagick::gaussianBlurImage
  • Example#3582 - Imagick::getImageGeometry
  • Example#3583 - Generates Imagick::getImageHistogram
  • Example#3584 - Using Imagick::getImageLength:
  • Example#3585 - Using Imagick::getImageProperties:
  • Example#3586 - Using Imagick::getImageProperty:
  • Example#3587 - Using Imagick::getIteratorIndex:
  • Example#3588 - Imagick::getPixelIterator
  • Example#3589 - Imagick::getPixelRegionIterator example
  • Example#3590 - Imagick::haldClutImage
  • Example#3591 - Imagick::identifyFormat
  • Example#3592 - Example Result Format
  • Example#3593 - Imagick::implodeImage
  • Example#3594 - Imagick::importImagePixels example
  • Example#3595 - Imagick::levelImage
  • Example#3596 - Imagick::linearStretchImage
  • Example#3597 - Imagick::magnifyImage
  • Example#3598 - Imagick::medianFilterImage
  • Example#3599 - Imagick::mergeImageLayers
  • Example#3600 - Imagick::modulateImage
  • Example#3601 - Convolve Imagick::morphology
  • Example#3602 - Correlate Imagick::morphology
  • Example#3603 - Erode Imagick::morphology
  • Example#3604 - Erode Intensity Imagick::morphology
  • Example#3605 - Dilate Imagick::morphology
  • Example#3606 - Dilate intensity Imagick::morphology
  • Example#3607 - Distance with Chebyshev kernel Imagick::morphology
  • Example#3608 - Distance with Manhattan kernel Imagick::morphology
  • Example#3609 - Distance with ocatagonal kernel Imagick::morphology
  • Example#3610 - Distance with Euclidean kernel Imagick::morphology
  • Example#3611 - Edge Imagick::morphology
  • Example#3612 - Open Imagick::morphology
  • Example#3613 - Open intensity Imagick::morphology
  • Example#3614 - Close Imagick::morphology
  • Example#3615 - Close Intensity Imagick::morphology
  • Example#3616 - Smooth Imagick::morphology
  • Example#3617 - Edge in Imagick::morphology
  • Example#3618 - Edge out Imagick::morphology
  • Example#3619 - The 'TopHat' method, or more specifically 'White Top Hat', returns the pixels that were removed by a Opening of the shape, that is the pixels that were removed to round off the points, and the connecting bridged between shapes. Imagick::morphology
  • Example#3620 - The 'BottomHat' method, also known as 'Black TopHat' is the pixels that a Closing of the shape adds to the image. That is the the pixels that were used to fill in the 'holes', 'gaps', and 'bridges'. Imagick::morphology
  • Example#3621 - Hit and Miss Imagick::morphology
  • Example#3622 - Thinning Imagick::morphology
  • Example#3623 - Thicken Imagick::morphology
  • Example#3624 - Thick to generate a convex hull Imagick::morphology
  • Example#3625 - Iterative morphology Imagick::morphology
  • Example#3626 - Helper functon to get an image silhouette Imagick::morphology
  • Example#3627 - Imagick::motionBlurImage
  • Example#3628 - Imagick::negateImage
  • Example#3629 - Using Imagick::newImage:
  • Example#3630 - Imagick::newPseudoImage
  • Example#3631 - Imagick::normalizeImage
  • Example#3632 - Imagick::oilPaintImage
  • Example#3633 - Using Imagick::optimizeImageLayers
  • Example#3634 - Imagick::orderedPosterizeImage
  • Example#3635 - Using Imagick::pingImageBlob
  • Example#3636 - Using Imagick::pingImageFile
  • Example#3637 - A Imagick::polaroidImage example
  • Example#3638 - Imagick::posterizeImage
  • Example#3639 - Imagick::quantizeImage
  • Example#3640 - Using Imagick::queryFontMetrics:
  • Example#3641 - Imagick::queryFonts
  • Example#3642 - Imagick::queryFormats
  • Example#3643 - Imagick::radialBlurImage
  • Example#3644 - Imagick::raiseImage
  • Example#3645 - Imagick::randomThresholdImage
  • Example#3646 - Imagick::readImageBlob
  • Example#3647 - Imagick::recolorImage
  • Example#3648 - Imagick::reduceNoiseImage
  • Example#3649 - Imagick::resampleImage
  • Example#3650 - Imagick::resizeImage
  • Example#3651 - Imagick::rollImage
  • Example#3652 - Imagick::rotateImage
  • Example#3653 - Imagick::rotationalBlurImage
  • Example#3654 - Using Imagick::roundCorners:
  • Example#3655 - Imagick::scaleImage
  • Example#3656 - Imagick::segmentImage
  • Example#3657 - Imagick::selectiveBlurImage
  • Example#3658 - Imagick::separateImageChannel
  • Example#3659 - Imagick::sepiaToneImage
  • Example#3660 - Imagick::setCompressionQuality
  • Example#3661 - A Imagick::setFont example
  • Example#3662 - A Imagick::setImage example
  • Example#3663 - Imagick::setImageArtifact
  • Example#3664 - Imagick::setImageBias
  • Example#3665 - Imagick::setImageClipMask
  • Example#3666 - Imagick::setImageCompressionQuality
  • Example#3667 - Modify animated Gif with Imagick::setImageDelay
  • Example#3668 - Basic Imagick::setImageIterations usage
  • Example#3669 - A Imagick::setImageOpacity example
  • Example#3670 - Imagick::setImageOrientation
  • Example#3671 - Using Imagick::setImageProperty:
  • Example#3672 - Imagick::setImageResolution
  • Example#3673 - Modify animated Gif with Imagick::setImageTicksPerSecond
  • Example#3674 - Using Imagick::setIteratorIndex:
  • Example#3675 - Attempt to reach '$extent' sizeImagick::setOption
  • Example#3676 - Imagick::setOption
  • Example#3677 - Imagick::setOption
  • Example#3678 - A Imagick::setPointSize example
  • Example#3679 - Imagick::setProgressMonitor
  • Example#3680 - Imagick::setSamplingFactors
  • Example#3681 - Imagick::shadeImage
  • Example#3682 - Imagick::shadowImage
  • Example#3683 - Imagick::sharpenImage
  • Example#3684 - Imagick::shaveImage
  • Example#3685 - Imagick::shearImage
  • Example#3686 - Create a gradient image using Imagick::sigmoidalContrastImage suitable for blending two images together smoothly, with the blending defined by $contrast and $the midpoint
  • Example#3687 - Imagick::sketchImage
  • Example#3688 - Imagick::smushImages
  • Example#3689 - Imagick::solarizeImage
  • Example#3690 - SPARSECOLORMETHOD_BARYCENTRIC Imagick::sparseColorImage
  • Example#3691 - SPARSECOLORMETHOD_BILINEAR Imagick::sparseColorImage
  • Example#3692 - SPARSECOLORMETHOD_SPEPARDS Imagick::sparseColorImage
  • Example#3693 - SPARSECOLORMETHOD_VORONOI Imagick::sparseColorImage
  • Example#3694 - SPARSECOLORMETHOD_BARYCENTRIC Imagick::sparseColorImage
  • Example#3695 - createGradientImage is used by other examples. Imagick::sparseColorImage
  • Example#3696 - Imagick::spliceImage
  • Example#3697 - Imagick::spreadImage
  • Example#3698 - Imagick::statisticImage
  • Example#3699 - Imagick::subImageMatch
  • Example#3700 - Imagick::swirlImage
  • Example#3701 - Imagick::textureImage
  • Example#3702 - Imagick::thresholdImage
  • Example#3703 - Imagick::thumbnailImage
  • Example#3704 - Imagick::tintImage
  • Example#3705 - Using Imagick::transformImage:
  • Example#3706 - Imagick::transformImageColorspace example
  • Example#3707 - Imagick::transformImageColorspace
  • Example#3708 - Imagick::transparentPaintImage
  • Example#3709 - Imagick::transposeImage
  • Example#3710 - Imagick::transverseImage
  • Example#3711 - Using Imagick::trimImage:
  • Example#3712 - Imagick::uniqueImageColors
  • Example#3713 - Imagick::unsharpMaskImage
  • Example#3714 - Imagick::vignetteImage
  • Example#3715 - WaveImage can be quite slow Imagick::waveImage
  • Example#3716 - Imagick::whiteThresholdImage
  • Example#3717 - ImagickDraw::affine
  • Example#3718 - ImagickDraw::arc
  • Example#3719 - ImagickDraw::bezier
  • Example#3720 - ImagickDraw::circle
  • Example#3721 - ImagickDraw::composite
  • Example#3722 - ImagickDraw::ellipse
  • Example#3723 - ImagickDraw::line
  • Example#3724 - ImagickDraw::matte
  • Example#3725 - ImagickDraw::pathCurveToQuadraticBezierAbsolute
  • Example#3726 - ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute
  • Example#3727 - ImagickDraw::pathCurveToQuadraticBezierSmoothRelative
  • Example#3728 - ImagickDraw::pathStart
  • Example#3729 - ImagickDraw::point
  • Example#3730 - ImagickDraw::polygon
  • Example#3731 - ImagickDraw::polyline
  • Example#3732 - ImagickDraw::popDefs
  • Example#3733 - ImagickDraw::push
  • Example#3734 - ImagickDraw::pushPattern
  • Example#3735 - ImagickDraw::rectangle
  • Example#3736 - ImagickDraw::rotate
  • Example#3737 - ImagickDraw::roundRectangle
  • Example#3738 - ImagickDraw::scale
  • Example#3739 - ImagickDraw::setClipPath
  • Example#3740 - ImagickDraw::setClipRule
  • Example#3741 - ImagickDraw::setClipUnits
  • Example#3742 - ImagickDraw::setFillAlpha
  • Example#3743 - ImagickDraw::setFillColor
  • Example#3744 - ImagickDraw::setFillOpacity
  • Example#3745 - ImagickDraw::setFillRule
  • Example#3746 - ImagickDraw::setFont
  • Example#3747 - ImagickDraw::setFontFamily
  • Example#3748 - ImagickDraw::setFontSize
  • Example#3749 - ImagickDraw::setFontStretch
  • Example#3750 - ImagickDraw::setFontStyle
  • Example#3751 - ImagickDraw::setFontWeight
  • Example#3752 - ImagickDraw::setGravity
  • Example#3753 - ImagickDraw::setStrokeAlpha
  • Example#3754 - ImagickDraw::setStrokeAntialias
  • Example#3755 - ImagickDraw::setStrokeColor
  • Example#3756 - ImagickDraw::setStrokeDashArray
  • Example#3757 - ImagickDraw::setStrokeDashOffset
  • Example#3758 - ImagickDraw::setStrokeLineCap
  • Example#3759 - ImagickDraw::setStrokeLineJoin
  • Example#3760 - ImagickDraw::setStrokeMiterLimit
  • Example#3761 - ImagickDraw::setStrokeOpacity
  • Example#3762 - ImagickDraw::setStrokeWidth
  • Example#3763 - ImagickDraw::setTextAlignment
  • Example#3764 - ImagickDraw::setTextAntialias
  • Example#3765 - ImagickDraw::setTextDecoration
  • Example#3766 - ImagickDraw::setTextUnderColor
  • Example#3767 - ImagickDraw::setVectorGraphics
  • Example#3768 - ImagickDraw::setViewBox
  • Example#3769 - ImagickDraw::skewX
  • Example#3770 - ImagickDraw::skewY
  • Example#3771 - ImagickDraw::translate
  • Example#3772 - ImagickPixel::construct
  • Example#3773 - Basic Imagick::getColor usage
  • Example#3774 - Basic Imagick::getColorAsString usage
  • Example#3775 - ImagickPixel getColorCount
  • Example#3776 - Basic Imagick::getColorValue usage
  • Example#3777 - ImagickPixel::getColorValueQuantum
  • Example#3778 - Basic Imagick::getHSL example
  • Example#3779 - ImagickPixel::isSimilar
  • Example#3780 - ImagickPixel::setColor
  • Example#3781 - Basic Imagick::setColorValue usage
  • Example#3782 - ImagickPixel::setColorValueQuantum
  • Example#3783 - Use ImagickPixel::setHSL to modify a color
  • Example#3784 - ImagickPixelIterator::clear
  • Example#3785 - ImagickPixelIterator::construct
  • Example#3786 - ImagickPixelIterator::getNextIteratorRow
  • Example#3787 - ImagickPixelIterator::resetIterator
  • Example#3788 - ImagickPixelIterator::setIteratorRow
  • Example#3789 - ImagickKernel::addKernel
  • Example#3790 - ImagickKernel::addUnityKernel
  • Example#3791 - ImagickKernel::addUnityKernel
  • Example#3792 - ImagickKernel::fromBuiltin
  • Example#3793 - ImagickKernel::fromMatrix
  • Example#3794 - ImagickKernel::getMatrix
  • Example#3795 - ImagickKernel::scale
  • Example#3796 - ImagickKernel::separate
  • Example#3797 - imap_append Beispiel
  • Example#3798 - imap_check Beispiel
  • Example#3799 - imap_createmailbox Beispiel
  • Example#3800 - imap_delete Beispiel
  • Example#3801 - imap_fetch_overview-Beispiel
  • Example#3802 - imap_gc Beispiel
  • Example#3803 - imap_get_quota-Beispiel
  • Example#3804 - Beispiel für imap_get_quota ab 4.3 und aufwärts
  • Example#3805 - imap_get_quotaroot-Beispiel
  • Example#3806 - imap_getacl Beispiel
  • Example#3807 - imap_getmailboxes Beispiel
  • Example#3808 - imap_list Beispiel
  • Example#3809 - imap_mail_compose Beispiel
  • Example#3810 - imap_mailboxmsginfo Beispiel
  • Example#3811 - imap_mime_header_decode Beispiel
  • Example#3812 - Verschiedene imap_open Aufrufe
  • Example#3813 - imap_open Beispiel
  • Example#3814 - imap_ping Example
  • Example#3815 - imap_reopen Beispiel
  • Example#3816 - imap_rfc822_parse_adrlist Beispiel
  • Example#3817 - imap_rfc822_write_address Beispiel
  • Example#3818 - imap_set_quota Beispiel
  • Example#3819 - imap_setflag_full-Beispiel
  • Example#3820 - imap_status Beispiel
  • Example#3821 - imap_thread Example
  • Example#3822 - imap_timeout Beispiel
  • Example#3823 - Hash-Wert berechnen und einen Benutzer hinzufügen
  • Example#3824 - Verschicken einer E-Mail.
  • Example#3825 - Verschicken einer E-Mail mit zusätzlichen Headern.
  • Example#3826 - Verschicken einer E-Mail mit einem zusätzlichen Kommandozeilen-Parameter.
  • Example#3827 - Verschicken einer HTML-E-Mail.
  • Example#3828 - mailparse_determine_best_xfer_encoding example
  • Example#3829 - mailparse_rfc822_parse_addresses example
  • Example#3830 - mailparse_stream_encode example
  • Example#3831 - mailparse_uudecode_all example
  • Example#3832 - bcadd-Beispiel
  • Example#3833 - bccomp-Beispiel
  • Example#3834 - bcdiv-Beispiel
  • Example#3835 - bcmod-Beispiel
  • Example#3836 - bcmul-Beispiel
  • Example#3837 - bcpow-Beispiel
  • Example#3838 - bcpow Genauigkeitsbeispiel
  • Example#3839 - bcscale-Beispiel
  • Example#3840 - bcsqrt-Beispiel
  • Example#3841 - bcsub-Beispiel
  • Example#3842 - Fakultätsfunktion unter Verwendung von GMP
  • Example#3843 - gmp_abs example
  • Example#3844 - gmp_add example
  • Example#3845 - gmp_and example
  • Example#3846 - gmp_clrbit example
  • Example#3847 - gmp_cmp example
  • Example#3848 - gmp_com example
  • Example#3849 - gmp_div_q example
  • Example#3850 - Division of GMP numbers
  • Example#3851 - gmp_div_r example
  • Example#3852 - gmp_divexact example
  • Example#3853 - gmp_export example
  • Example#3854 - gmp_fact example
  • Example#3855 - gmp_gcd example
  • Example#3856 - Solving a linear Diophantine equation
  • Example#3857 - gmp_hamdist example
  • Example#3858 - gmp_import example
  • Example#3859 - Creating GMP number
  • Example#3860 - gmp_intval example
  • Example#3861 - gmp_invert example
  • Example#3862 - gmp_jacobi example
  • Example#3863 - gmp_legendre example
  • Example#3864 - gmp_mod example
  • Example#3865 - gmp_mul example
  • Example#3866 - gmp_neg example
  • Example#3867 - gmp_nextprime example
  • Example#3868 - gmp_or example
  • Example#3869 - gmp_perfect_square example
  • Example#3870 - gmp_popcount example
  • Example#3871 - gmp_pow example
  • Example#3872 - gmp_powm example
  • Example#3873 - gmp_prob_prime example
  • Example#3874 - gmp_random_bits example
  • Example#3875 - gmp_random_range example
  • Example#3876 - gmp_random_seed example
  • Example#3877 - gmp_random example
  • Example#3878 - gmp_scan0 example
  • Example#3879 - gmp_scan1 example
  • Example#3880 - gmp_setbit example - 0 index
  • Example#3881 - gmp_setbit example - 1 index
  • Example#3882 - gmp_setbit example - clearing a bit
  • Example#3883 - gmp_sign example
  • Example#3884 - gmp_sqrt example
  • Example#3885 - gmp_sqrtrem example
  • Example#3886 - Converting a GMP number to a string
  • Example#3887 - gmp_sub example
  • Example#3888 - gmp_testbit example
  • Example#3889 - gmp_xor example
  • Example#3890 - Using Lapack::eigenValues:
  • Example#3891 - Using Lapack::leastSquaresByFactorisation:
  • Example#3892 - Using Lapack::leastSquaresBySVD:
  • Example#3893 - Using Lapack::pseudoInverse:
  • Example#3894 - Using Lapack::singularValues:
  • Example#3895 - Using Lapack::singularValues:
  • Example#3896 - abs-Beispiel
  • Example#3897 - base_convert Beispiel
  • Example#3898 - bindec-Beispiel
  • Example#3899 - ceil-Beispiel
  • Example#3900 - cos Beispiel
  • Example#3901 - decbin Beispiel
  • Example#3902 - dechex Beispiel
  • Example#3903 - dechex-Beispiel mit großen Ganzzahlen
  • Example#3904 - decoct Beispiel
  • Example#3905 - deg2rad Beispiel
  • Example#3906 - exp Beispiel
  • Example#3907 - floor Beispiel
  • Example#3908 - fmod Beispiel
  • Example#3909 - hexdec Beispiel
  • Example#3910 - intdiv example
  • Example#3911 - is_nan-Beispiel
  • Example#3912 - Verwendungsbeispiel von max
  • Example#3913 - Verwendungsbeispiel von min
  • Example#3914 - Berechnung einer zufälligen Gleitkommazahl
  • Example#3915 - mt_rand-Beispiel
  • Example#3916 - mt_srand-Beispiel
  • Example#3917 - octdec Beispiel
  • Example#3918 - pi-Beispiel
  • Example#3919 - Einige pow-Beispiele
  • Example#3920 - rad2deg Beispiel
  • Example#3921 - rand Beispiel
  • Example#3922 - round-Beispiele
  • Example#3923 - mode-Beispiele
  • Example#3924 - sin Beispiel
  • Example#3925 - sqrt Beispiel
  • Example#3926 - srand Beispiel
  • Example#3927 - tan Beispiel
  • Example#3928 - Auswertung eines FDF_Dokuments
  • Example#3929 - JavaScript-Code zu einem FDF hinzufügen
  • Example#3930 - Füllen von Formularwerten in einem PDF Dokument
  • Example#3931 - Storing an uploaded file
  • Example#3932 - Alle Feldnamen in einem FDF ermitteln
  • Example#3933 - Accessing the form data
  • Example#3934 - Zugang zu den Formulardaten
  • Example#3935 - Retrieving FDF as a string
  • Example#3936 - FDF-Daten an ein zweites Formular übergeben
  • Example#3937 - gnupg clearsign example (procedural)
  • Example#3938 - gnupg clearsign example (OO)
  • Example#3939 - keylistiterator
  • Example#3940 - Verwendungsbeispiel gnupg_adddecryptkey
  • Example#3941 - OO gnupg_adddecryptkey Beispiel
  • Example#3942 - Prozedurales gnupg_addencryptkey Beispiel
  • Example#3943 - OO (objektorientiertes) gnupg_addencryptkey-Beispiel
  • Example#3944 - Prozedurales gnupg_addsignkey Beispiel
  • Example#3945 - OO (objektorientiertes) gnupg_addsignkey-Beispiel
  • Example#3946 - Prozedurales gnupg_cleardecryptkeys Beispiel
  • Example#3947 - OO (objektorientiertes) gnupg_cleardecryptkeys Beispiel
  • Example#3948 - Prozedurales gnupg_clearencryptkeys Beispiel
  • Example#3949 - OO (objektorientiertes) gnupg_clearencryptkeys Beispiel
  • Example#3950 - Prozedurales gnupg_clearsignkeys Beispiel
  • Example#3951 - OO (objektorientiertes) gnupg_clearsignkeys Beispiel
  • Example#3952 - Prozedurales gnupg_decrypt Beispiel
  • Example#3953 - OO (objektorientiertes)gnupg_encrypt Beispiel
  • Example#3954 - Prozedurales gnupg_decryptverify Beispiel
  • Example#3955 - OO (objektorientiertes) gnupg_decryptverify Beispiel
  • Example#3956 - Prozedurales gnupg_encrypt Beispiel
  • Example#3957 - OO (objektorientiertes) gnupg_encrypt Beispiele
  • Example#3958 - Prozedurales gnupg_encryptsign Beispiel
  • Example#3959 - OO (objektorientiertes) gnupg_encryptsign Beispiel
  • Example#3960 - Prozedurales gnupg_export Beispiel
  • Example#3961 - OO (objektorientiertes) gnupg_export Beispiel
  • Example#3962 - Prozedurales gnupg_geterror Beispiel
  • Example#3963 - OO (objektorientiertes) gnupg_geterror Beispiel
  • Example#3964 - Prozedurales gnupg_getprotocol Beispiel
  • Example#3965 - OO (objektorientiertes) gnupg_getprotocol Beispiel
  • Example#3966 - Prozedurales gnupg_import Beispiel
  • Example#3967 - OO (objektorientiertes) gnupg_import Beispiel
  • Example#3968 - Prozedurales gnupg_init Beispiel
  • Example#3969 - OO (objektorientiertes) gnupg_init Beispiel
  • Example#3970 - Prozedurales gnupg_keyinfo Beispiel
  • Example#3971 - OO (objektorientiertes) gnupg_keyinfo Beispiel
  • Example#3972 - Prozedurales gnupg_setarmor Beispiel
  • Example#3973 - OO (objektorientiertes) gnupg_setarmor Beispiel
  • Example#3974 - Procedurales gnupg_seterrormode Beispiel
  • Example#3975 - OO (objektorientiertes) gnupg_seterrormode Beispiel
  • Example#3976 - Prozedurales gnupg_setsignmode Beispiel
  • Example#3977 - OO gnupg_setsignmode Beispiel
  • Example#3978 - Prozedurales gnupg_sign Beispiel
  • Example#3979 - OO gnupg_sign Beispiel
  • Example#3980 - Prozedurales gnupg_verify Beispiel
  • Example#3981 - OO gnupg_verify Beispiel
  • Example#3982 - Fancy "Hello world"
  • Example#3983 - swfaction example
  • Example#3984 - swfaction example
  • Example#3985 - swfaction example
  • Example#3986 - swfsprite example
  • Example#3987 - ming_useswfversion example
  • Example#3988 - Importing a DBL file
  • Example#3989 - Using an alpha mask
  • Example#3990 - Usual interactions with buttons
  • Example#3991 - Drag example
  • Example#3992 - swfdisplayitem::multcolor example
  • Example#3993 - swfdisplayitem::rotateto example
  • Example#3994 - swfdisplayitem::setname example
  • Example#3995 - swfgradient example
  • Example#3996 - swfmorph example
  • Example#3997 - Displaying your $movie in a browser
  • Example#3998 - Streaming example
  • Example#3999 - SWFShape::addFill example
  • Example#4000 - swfshape example
  • Example#4001 - swfshape::setline example
  • Example#4002 - swftext example
  • Example#4003 - "Hallo Welt"-Beispiel der PDFlib-Distribution für PHP 4
  • Example#4004 - "Hallo Welt"-Beispiel der PDFlib-Distribution für PHP 5
  • Example#4005 - Creating and using a pattern
  • Example#4006 - Creating and using a template
  • Example#4007 - Hyphennate a text
  • Example#4008 - Drawing a rectangle
  • Example#4009 - Creating and using a spot color
  • Example#4010 - Rotation of the coordinate system
  • Example#4011 - Placing text at a given position
  • Example#4012 - Drawing a dashed line
  • Example#4013 - Translation of the coordinate system
  • Example#4014 - Basic RPMReader Example
  • Example#4015 - rpm_close example
  • Example#4016 - rpm_get_tag example
  • Example#4017 - rpm_is_valid example
  • Example#4018 - rpm_open example
  • Example#4019 - rpm_version example
  • Example#4020 - Incorrect requests
  • Example#4021 - Calling request from a request callback
  • Example#4022 - Calling request from a request callback
  • Example#4023 - Using eio with libevent
  • Example#4024 - Cancelling a request
  • Example#4025 - Calling eio_chmod
  • Example#4026 - Making a custom request
  • Example#4027 - Grouping requests
  • Example#4028 - Using eio with libevent extension
  • Example#4029 - Using eio with event extension
  • Example#4030 - eio_cancel example
  • Example#4031 - eio_custom example
  • Example#4032 - eio_event_loop example
  • Example#4033 - eio_lstat example
  • Example#4034 - Using eio with libevent
  • Example#4035 - Grouping requests
  • Example#4036 - eio_grp example
  • Example#4037 - eio_link example
  • Example#4038 - eio_lstat example
  • Example#4039 - eio_mkdir example
  • Example#4040 - eio_mknod example
  • Example#4041 - eio_nreqs example
  • Example#4042 - eio_open example
  • Example#4043 - eio_poll example
  • Example#4044 - eio_read example
  • Example#4045 - eio_readdir example
  • Example#4046 - eio_readlink example
  • Example#4047 - eio_realpath example
  • Example#4048 - eio_rename example
  • Example#4049 - eio_rmdir example
  • Example#4050 - eio_stat example
  • Example#4051 - eio_statvfs example
  • Example#4052 - eio_symlink example
  • Example#4053 - Simple timers
  • Example#4054 - Periodic timer. Tick each 10.5 seconds
  • Example#4055 - Periodic timer. Use reschedule callback
  • Example#4056 - Periodic timer. Tick every 10.5 seconds starting at now
  • Example#4057 - Wait until STDIN is readable
  • Example#4058 - Use some async I/O to access a socket
  • Example#4059 - Embedding one loop into another
  • Example#4060 - Embedding loop created with kqueue backend into the default loop
  • Example#4061 - Handle SIGTERM signal
  • Example#4062 - Monitor changes of /var/log/messages
  • Example#4063 - Monotor changes of /var/log/messages. Avoid missing updates by means of one second delay
  • Example#4064 - Process status changes
  • Example#4065 - Using reschedule callback
  • Example#4066 - Embedding loop created with kqueue backend into the default loop
  • Example#4067 - Embedding one loop into another
  • Example#4068 - Embedding loop created with kqueue backend into the default loop
  • Example#4069 - Embedding loop created with kqueue backend into the default loop
  • Example#4070 - Periodic timer. Use reschedule callback
  • Example#4071 - Periodic timer. Tick every 10.5 seconds starting at now
  • Example#4072 - Hourly watcher
  • Example#4073 - Handle SIGTERM signal
  • Example#4074 - Monitor changes of /var/log/messages
  • Example#4075 - Monitor changes of /var/log/messages
  • Example#4076 - Simple timers
  • Example#4077 - Monotor changes of /var/log/messages. Avoid missing updates by means of one second delay
  • Example#4078 - Register an I/O watcher for some UDP socket but do not keep the event loop from running just because of that watcher.
  • Example#4079 - Expect Usage Example
  • Example#4080 - Another Expect Usage Example
  • Example#4081 - expect_expectl example
  • Example#4082 - expect_popen example
  • Example#4083 - polling STDIN using basic API
  • Example#4084 - polling STDIN using buffered event API
  • Example#4085 - Prozesskontrollbeispiel
  • Example#4086 - pcntl_fork Beispiel
  • Example#4087 - pcntl_signal_dispatch example
  • Example#4088 - pcntl_signal_get_handler example
  • Example#4089 - pcntl_signal Beispiel
  • Example#4090 - pcntl_sigprocmask example
  • Example#4091 - pcntl_sigwaitinfo example
  • Example#4092 - posix_access-Beispiel
  • Example#4093 - posix_ctermid-Beispiel
  • Example#4094 - posix_get_last_error-Beispiel
  • Example#4095 - posix_getcwd-Beispiel
  • Example#4096 - posix_getegid-Beispiel
  • Example#4097 - posix_geteuid-Beispiel
  • Example#4098 - posix_getgid-Beispiel
  • Example#4099 - Beispiel zur Verwendung von posix_getgrgid
  • Example#4100 - Beispiel für die Verwendung von posix_getgrnam
  • Example#4101 - posix_getgroups-Beispiel
  • Example#4102 - posix_getlogin-Beispiel
  • Example#4103 - posix_getpgid-Beispiel
  • Example#4104 - posix_getpid-Beispiel
  • Example#4105 - posix_getppid-Beispiel
  • Example#4106 - posix_getpwnam-Beispiel
  • Example#4107 - posix_getpwuid-Beispiel
  • Example#4108 - posix_getrlimit-Beispiel
  • Example#4109 - posix_getsid-Beispiel
  • Example#4110 - posix_getuid-Beispiel
  • Example#4111 - posix_mknod-Beispiel
  • Example#4112 - posix_setegid-Beispiel
  • Example#4113 - posix_setgid-Beispiel
  • Example#4114 - posix_setuid-Beispiel
  • Example#4115 - posix_strerror-Beispiel
  • Example#4116 - posix_times-Beispiel
  • Example#4117 - posix_uname-Beispiel
  • Example#4118 - escapeshellarg Beispiel
  • Example#4119 - escapeshellcmd Beispiel
  • Example#4120 - Ein exec-Beispiel
  • Example#4121 - Verwendung von proc_open um die Prozesspriorität auf hoch zu setzen
  • Example#4122 - Ein proc_open-Beispiel
  • Example#4123 - Ein shell_exec-Beispiel
  • Example#4124 - system example
  • Example#4125 - Fetch a chunk of the property table
  • Example#4126 - Counting the properties of an object
  • Example#4127 - Runtime inheritance
  • Example#4128 - Thread safe objects from closures
  • Example#4129 - Detecting fatal errors in Threads
  • Example#4130 - Detect the state of the referenced object
  • Example#4131 - Detect the state of the referenced object
  • Example#4132 - Detect the state of the referenced object
  • Example#4133 - Locking Object Properties
  • Example#4134 - Merging into the property table of a threaded object
  • Example#4135 - Notifications and Waiting
  • Example#4136 - Popping the last item from the property table of a threaded object
  • Example#4137 - Shifting the first item from the property table of a threaded object
  • Example#4138 - Synchronizing
  • Example#4139 - Locking the property table of a threaded object
  • Example#4140 - Notifications and Waiting
  • Example#4141 - Return the identity of the Thread or Process that created the referenced Thread
  • Example#4142 - Return the currently executing Thread
  • Example#4143 - Return the identity of the currently executing Thread
  • Example#4144 - Return the identity of the referenced Thread
  • Example#4145 - Execute in the global scope
  • Example#4146 - Detect the state of the referenced Thread
  • Example#4147 - Tell if the referenced Thread was started
  • Example#4148 - Join with the referenced Thread
  • Example#4149 - Kill the referenced Thread
  • Example#4150 - Starting Threads
  • Example#4151 - A basic example of Worker::collect
  • Example#4152 - A basic example of Worker::getStacked
  • Example#4153 - Detect the state of a worker
  • Example#4154 - Detect the state of a Worker
  • Example#4155 - Shutdown the referenced worker
  • Example#4156 - Stacking a task for execution onto a worker
  • Example#4157 - Removing objects from the stack of Workers
  • Example#4158 - protected method example: protected methods can only be executed by one Thread at a time.
  • Example#4159 - private method example: private methods may only be executed by the Threaded object during execution
  • Example#4160 - A basic example of Pool::collect
  • Example#4161 - Creating Pools
  • Example#4162 - Shutting down a pool
  • Example#4163 - Submitting Tasks
  • Example#4164 - Submitting tasks to a specific worker
  • Example#4165 - Mutex Creation and Destruction
  • Example#4166 - Mutex Creation and Destruction
  • Example#4167 - Mutex Locking and Unlocking
  • Example#4168 - Mutex Locking and Unlocking
  • Example#4169 - Mutex Locking and Unlocking
  • Example#4170 - Condition Broadcasting
  • Example#4171 - Condition Creation and Destruction
  • Example#4172 - Condition Creation and Destruction
  • Example#4173 - Condition Signalling
  • Example#4174 - Waiting for Conditions
  • Example#4175 -
  • Example#4176 - Shared Memory Operationen - Übersicht
  • Example#4177 - Einen gemeinsamen Speicherblock schließen
  • Example#4178 - Einen gemeinsamen Speicherblock löschen
  • Example#4179 - Einen neuen gemeinsamen Speicherblock erstellen
  • Example#4180 - Aus dem gemeinsamen Speicher lesen
  • Example#4181 - Die Größe des gemeinsamen Speicherbereichs ermitteln
  • Example#4182 - In den gemeinsamen Speicher schreiben
  • Example#4183 - SyncMutex::__construct named mutex with lock timeout example
  • Example#4184 - SyncMutex::__construct unnamed mutex example
  • Example#4185 - SyncMutex::lock example
  • Example#4186 - SyncMutex::unlock example
  • Example#4187 - SyncSemaphore::__construct example
  • Example#4188 - SyncSemaphore::lock example
  • Example#4189 - SyncSemaphore::unlock example
  • Example#4190 - SyncEvent::__construct example
  • Example#4191 - SyncEvent::fire example
  • Example#4192 - SyncEvent::reset example
  • Example#4193 - SyncEvent::wait example
  • Example#4194 - SyncReaderWriter::__construct example
  • Example#4195 - SyncReaderWriter::readlock example
  • Example#4196 - SyncReaderWriter::readunlock example
  • Example#4197 - SyncReaderWriter::writelock example
  • Example#4198 - SyncReaderWriter::writeunlock example
  • Example#4199 - SyncSharedMemory::__construct example
  • Example#4200 - SyncSharedMemory::first example
  • Example#4201 - SyncSharedMemory::__construct example
  • Example#4202 - SyncSharedMemory::size example
  • Example#4203 - SyncSharedMemory::write example
  • Example#4204 - A geoip_asnum_by_name example
  • Example#4205 - A geoip_continent_code_by_name example
  • Example#4206 - A geoip_country_code_by_name example
  • Example#4207 - A geoip_country_code3_by_name example
  • Example#4208 - A geoip_country_name_by_name example
  • Example#4209 - A geoip_database_info example
  • Example#4210 - A geoip_db_avail example
  • Example#4211 - A geoip_db_filename example
  • Example#4212 - A geoip_db_get_all_info example
  • Example#4213 - A geoip_db_get_all_info example
  • Example#4214 - A geoip_domain_by_name example
  • Example#4215 - A geoip_id_by_name example
  • Example#4216 - A geoip_isp_by_name example
  • Example#4217 - A geoip_netspeedcell_by_name example
  • Example#4218 - A geoip_org_by_name example
  • Example#4219 - A geoip_record_by_name example
  • Example#4220 - A geoip_region_by_name example
  • Example#4221 - A geoip_region_name_by_code example using region code for US/Canada
  • Example#4222 - A geoip_region_name_by_code example using FIPS codes
  • Example#4223 - A geoip_setup_custom_directory example
  • Example#4224 - A geoip_time_zone_by_country_and_region example using region code for US/Canada
  • Example#4225 - A geoip_time_zone_by_country_and_region example using FIPS codes
  • Example#4226 - xor.data file
  • Example#4227 - Simple train
  • Example#4228 - Simple test
  • Example#4229 - fann_create_train_from_callback example
  • Example#4230 - fann_read_train_from_file example
  • Example#4231 - JsonSerializable::jsonSerialize Beispiel, das ein array zurückgibt.
  • Example#4232 - JsonSerializable::jsonSerialize Beispiel, das ein assoziatives array zurückgibt.
  • Example#4233 - JsonSerializable::jsonSerialize Beispiel, das einen integer zurückgibt.
  • Example#4234 - JsonSerializable::jsonSerialize Beispiel, das einen string zurückgibt
  • Example#4235 - json_decode-Beispiele
  • Example#4236 - Zugriff auf ungültige Objekteigenschaften
  • Example#4237 - Häufige Fehler bei der Verwendung von json_decode
  • Example#4238 - Fehler bei der Verwendung von depth
  • Example#4239 - json_decode von großen Ganzzahlen
  • Example#4240 - A json_encode example
  • Example#4241 - Ein json_encode-Beispiel, das den Einsatz einiger Optionen zeigt
  • Example#4242 - JSON_NUMERIC_CHECK-Option-Beispiel
  • Example#4243 - Beispiel für sequentielle und nicht sequentielle Arrays
  • Example#4244 - JSON_PRESERVE_ZERO_FRACTION-Option-Beispiel
  • Example#4245 - json_last_error-Beispiel
  • Example#4246 - json_last_error mit json_encode
  • Example#4247 - Judy array example
  • Example#4248 - Lua::assignexample
  • Example#4249 - Lua::callexample
  • Example#4250 - Lua::evalexample
  • Example#4251 - Lua::registerCallbackexample
  • Example#4252 - LuaClosure::__invokeexample
  • Example#4253 - constant-Beispiel
  • Example#4254 - Konstanten definieren
  • Example#4255 - Konstanten überprüfen
  • Example#4256 - eval Beispiel (einfache Texteinfügung)
  • Example#4257 - exit-Beispiel
  • Example#4258 - exit-Status-Beispiel
  • Example#4259 - Shutdown Funktionen und Destruktoren werden trotzdem aufgerufen
  • Example#4260 - Auflistung aller Informationen über den Browser des Benutzers
  • Example#4261 - Ein __halt_compiler-Beispiel
  • Example#4262 - highlight_string-Beispiel
  • Example#4263 - Ein ignore_user_abort-Beispiel
  • Example#4264 - pack-Beispiel
  • Example#4265 - php_strip_whitespace example
  • Example#4266 - sleep-Beispiel
  • Example#4267 - sys_getloadavg Beispiel
  • Example#4268 - time_nanosleep Beispiel
  • Example#4269 - Ein time_sleep_until-Beispiel
  • Example#4270 - uniqid-Beispiel
  • Example#4271 - unpack Beispiel
  • Example#4272 - unpack Beispiel mit Wiederholer
  • Example#4273 - unpack Beispiel mit unbenannten Schlüsseln
  • Example#4274 - usleep-Beispiel
  • Example#4275 - parsekit_compile_file example
  • Example#4276 - parsekit_compile_string example
  • Example#4277 - parsekit_func_arginfo example
  • Example#4278 - SplDoublyLinkedList::__construct example
  • Example#4279 - SplStack::__construct example
  • Example#4280 - SplQueue::__construct example
  • Example#4281 - Efficiently handling tasks with SplQueue
  • Example#4282 - SplFixedArray usage example
  • Example#4283 - SplFixedArray::__construct example
  • Example#4284 - SplFixedArray::count example
  • Example#4285 - SplFixedArray::fromArray example
  • Example#4286 - SplFixedArray::getSize example
  • Example#4287 - SplFixedArray::setSize example
  • Example#4288 - SplFixedArray::toArray example
  • Example#4289 - SplObjectStorage as a set
  • Example#4290 - SplObjectStorage as a map
  • Example#4291 - SplObjectStorage::addAll example
  • Example#4292 - SplObjectStorage::attach example
  • Example#4293 - SplObjectStorage::contains example
  • Example#4294 - SplObjectStorage::count example
  • Example#4295 - SplObjectStorage::current example
  • Example#4296 - SplObjectStorage::detach example
  • Example#4297 - SplObjectStorage::getHash example
  • Example#4298 - SplObjectStorage::getInfo example
  • Example#4299 - SplObjectStorage::key example
  • Example#4300 - SplObjectStorage::next example
  • Example#4301 - SplObjectStorage::offsetExists example
  • Example#4302 - SplObjectStorage::offsetGet example
  • Example#4303 - SplObjectStorage::offsetSet example
  • Example#4304 - SplObjectStorage::offsetUnset example
  • Example#4305 - SplObjectStorage::removeAll example
  • Example#4306 - SplObjectStorage::removeAllExcept example
  • Example#4307 - SplObjectStorage::rewind example
  • Example#4308 - SplObjectStorage::serialize example
  • Example#4309 - SplObjectStorage::setInfo example
  • Example#4310 - SplObjectStorage::unserialize example
  • Example#4311 - SplObjectStorage::valid example
  • Example#4312 - AppendIterator::append example
  • Example#4313 - Iterating AppendIterator with foreach
  • Example#4314 - Iterating AppendIterator with the AppendIterator API
  • Example#4315 - AppendIterator::getInnerIterator example
  • Example#4316 - AppendIterator.getIteratorIndex basic example
  • Example#4317 - AppendIterator::key basic example
  • Example#4318 - ArrayIterator::current example
  • Example#4319 - ArrayIterator::key example
  • Example#4320 - ArrayIterator::next example
  • Example#4321 - ArrayIterator::rewind example
  • Example#4322 - ArrayIterator::valid example
  • Example#4323 - CachingIterator::getCache example
  • Example#4324 - Available callback arguments
  • Example#4325 - Callback basic examples
  • Example#4326 - A DirectoryIterator::__construct example
  • Example#4327 - A DirectoryIterator::current example
  • Example#4328 - A DirectoryIterator::getATime example
  • Example#4329 - A DirectoryIterator::getBasename example
  • Example#4330 - DirectoryIterator::getCTime example
  • Example#4331 - DirectoryIterator::getExtension example
  • Example#4332 -
  • Example#4333 - A DirectoryIterator::getFilename example
  • Example#4334 - DirectoryIterator::getGroup example
  • Example#4335 - DirectoryIterator::getInode example
  • Example#4336 - A DirectoryIterator::getMTime example
  • Example#4337 - DirectoryIterator::getOwner example
  • Example#4338 - DirectoryIterator::getPath example
  • Example#4339 - DirectoryIterator::getPathname example
  • Example#4340 - DirectoryIterator::getPerms example
  • Example#4341 - DirectoryIterator::getSize example
  • Example#4342 - DirectoryIterator::getType example
  • Example#4343 - DirectoryIterator::isDir example
  • Example#4344 - A DirectoryIterator::isDot example
  • Example#4345 - DirectoryIterator::isExecutable example
  • Example#4346 - DirectoryIterator::isFile example
  • Example#4347 - A DirectoryIterator::isLink example
  • Example#4348 - DirectoryIterator::isReadable example
  • Example#4349 - DirectoryIterator::isWritable example
  • Example#4350 - A DirectoryIterator::key example
  • Example#4351 - DirectoryIterator::next example
  • Example#4352 - DirectoryIterator::rewind example
  • Example#4353 - DirectoryIterator::seek example
  • Example#4354 - A DirectoryIterator::__toString example
  • Example#4355 - A DirectoryIterator::valid example
  • Example#4356 - FilesystemIterator::__construct example
  • Example#4357 - FilesystemIterator::current example
  • Example#4358 - FilesystemIterator::key example
  • Example#4359 - FilesystemIterator::next example
  • Example#4360 - FilesystemIterator::rewind example
  • Example#4361 - FilesystemIterator::key example
  • Example#4362 - FilterIterator::accept example
  • Example#4363 - GlobIterator example
  • Example#4364 - GlobIterator::count example
  • Example#4365 - InfiniteIterator::__construct example
  • Example#4366 - LimitIterator usage example
  • Example#4367 - LimitIterator::__construct example
  • Example#4368 - LimitIterator::getPosition example
  • Example#4369 - Iterating a MultipleIterator
  • Example#4370 - NoRewindIterator::__construct example
  • Example#4371 - NoRewindIterator::rewind example
  • Example#4372 - RecursiveArrayIterator::getChildren example
  • Example#4373 - RecursiveArrayIterator::hasChildren example
  • Example#4374 - Available callback arguments
  • Example#4375 - Recursive callback basic example
  • Example#4376 - RecursiveCallbackFilterIterator::hasChildren basic usage
  • Example#4377 - RecursiveDirectoryIterator example
  • Example#4378 - Basic RecursiveFilterIterator example
  • Example#4379 - RecursiveFilterIterator example
  • Example#4380 - Iterating a RecursiveIteratorIterator
  • Example#4381 - RecursiveRegexIterator::__construct example
  • Example#4382 - RecursiveRegexIterator::getChildren example
  • Example#4383 - RecursiveRegexIterator::hasChildren example
  • Example#4384 - RegexIterator::accept example
  • Example#4385 - RegexIterator::__construct example
  • Example#4386 - RegexIterator::getFlags example
  • Example#4387 - RegexIterator::getMode example
  • Example#4388 - RegexIterator::getPregFlags example
  • Example#4389 - RegexIterator::setFlags example
  • Example#4390 - RegexIterator::setMode example
  • Example#4391 - RegexIterator::setPregFlags example
  • Example#4392 - Countable::count Beispiel
  • Example#4393 - Basic usage
  • Example#4394 - SeekableIterator::seek example
  • Example#4395 - class_implements example
  • Example#4396 - class_parents example
  • Example#4397 - class_uses example
  • Example#4398 - iterator_apply example
  • Example#4399 - iterator_count example
  • Example#4400 - iterator_count modifies position
  • Example#4401 - iterator_count in foreach loops
  • Example#4402 - iterator_to_array example
  • Example#4403 - spl_autoload_register as a replacement for an __autoload function
  • Example#4404 - spl_autoload_register example where the class is not loaded
  • Example#4405 - spl_classes example
  • Example#4406 - A spl_object_hash example
  • Example#4407 - SplFileInfo::__construct example
  • Example#4408 - SplFileInfo::getBasename example
  • Example#4409 - SplFileInfo::getCTime example
  • Example#4410 - SplFileInfo::getExtension example
  • Example#4411 -
  • Example#4412 - SplFileInfo::getFilename example
  • Example#4413 - SplFileInfo::getGroup example
  • Example#4414 - SplFileInfo::getLinkTarget example
  • Example#4415 - SplFileInfo::getOwner example
  • Example#4416 - SplFileInfo::getPath example
  • Example#4417 - SplFileInfo::getPathInfo example
  • Example#4418 - SplFileInfo::getPathname example
  • Example#4419 - SplFileInfo::getPerms example
  • Example#4420 - SplFileInfo::getRealPath example
  • Example#4421 - SplFileInfo::getType example
  • Example#4422 - SplFileInfo::isDir example
  • Example#4423 - SplFileInfo::isExecutable example
  • Example#4424 - SplFileInfo::isFile example
  • Example#4425 - SplFileInfo::isLink example
  • Example#4426 - SplFileInfo::isReadable example
  • Example#4427 - SplFileInfo::openFile example
  • Example#4428 - SplFileInfo::setFileClass example
  • Example#4429 - SplFileInfo::setFileClass example
  • Example#4430 - SplFileInfo::__toString example
  • Example#4431 - SplFileObject::__construct example
  • Example#4432 - SplFileObject::current example
  • Example#4433 - SplFileObject::eof example
  • Example#4434 - SplFileObject::fflush example
  • Example#4435 - SplFileObject::fgetc example
  • Example#4436 - SplFileObject::fgetcsv example
  • Example#4437 - SplFileObject::READ_CSV example
  • Example#4438 - SplFileObject::fgets example
  • Example#4439 - SplFileObject::fgetss example
  • Example#4440 - SplFileObject::flock example
  • Example#4441 - SplFileObject::fpassthru example
  • Example#4442 - SplFileObject::fputcsv example
  • Example#4443 - SplFileObject::fread example
  • Example#4444 - SplFileObject::fscanf example
  • Example#4445 - SplFileObject::fseek example
  • Example#4446 - SplFileObject::fstat example
  • Example#4447 - SplFileObject::ftell example
  • Example#4448 - SplFileObject::ftruncate example
  • Example#4449 - SplFileObject::fwrite example
  • Example#4450 - SplFileObject::getCsvControl example
  • Example#4451 - SplFileObject::getFlags example
  • Example#4452 - SplFileObject::getMaxLineLen example
  • Example#4453 - SplFileObject::key example
  • Example#4454 - SplFileObject::key example with SplFileObject::setMaxLineLen
  • Example#4455 - SplFileObject::next example
  • Example#4456 - SplFileObject::rewind example
  • Example#4457 - SplFileObject::seek example
  • Example#4458 - SplFileObject::setCsvControl example
  • Example#4459 - SplFileObject::setFlags example
  • Example#4460 - SplFileObject::setMaxLineLen example
  • Example#4461 - SplFileObject::valid example
  • Example#4462 - SplTempFileObject example
  • Example#4463 - ArrayObject::append example
  • Example#4464 - ArrayObject::asort example
  • Example#4465 - ArrayObject::__construct example
  • Example#4466 - ArrayObject::count example
  • Example#4467 - ArrayObject::exchangeArray example
  • Example#4468 - ArrayObject::getArrayCopy example
  • Example#4469 - ArrayObject::getFlags example
  • Example#4470 - ArrayObject::getIterator example
  • Example#4471 - ArrayObject::getIteratorClass example
  • Example#4472 - ArrayObject::ksort example
  • Example#4473 - ArrayObject::natcasesort example
  • Example#4474 - ArrayObject::natsort example
  • Example#4475 - ArrayObject::offsetExists example
  • Example#4476 - ArrayObject::offsetGet example
  • Example#4477 - ArrayObject::offsetSet example
  • Example#4478 - ArrayObject::offsetUnset example
  • Example#4479 - ArrayObject::serialize example
  • Example#4480 - ArrayObject::setFlags example
  • Example#4481 - ArrayObject::setIteratorClass example
  • Example#4482 - ArrayObject::uasort example
  • Example#4483 - ArrayObject::uksort example
  • Example#4484 - SplInt usage example
  • Example#4485 - SplFloat usage example
  • Example#4486 - SplEnum Verwendungsbeispiel
  • Example#4487 - SplEnum::getConstList example
  • Example#4488 - SplBool usage example
  • Example#4489 - SplString usage example
  • Example#4490 - Using file_get_contents to retrieve data from multiple sources
  • Example#4491 - Making a POST request to an https server
  • Example#4492 - Writing data to a compressed file
  • Example#4493 - A Stream for reading/writing global variables
  • Example#4494 - Listing files from tar archives
  • Example#4495 - stream_bucket_prepend examples
  • Example#4496 - Using stream_context_create
  • Example#4497 - Using stream_context_get_default
  • Example#4498 - stream_context_get_options example
  • Example#4499 - stream_context_get_params example
  • Example#4500 - stream_context_set_default example
  • Example#4501 - A stream_copy_to_stream example
  • Example#4502 - Controlling where filters are applied
  • Example#4503 - Filter for capitalizing characters on foo-bar.txt stream
  • Example#4504 - Registering a generic filter class to match multiple filter names.
  • Example#4505 - Dynamicly refiltering a stream
  • Example#4506 - stream_get_contents example
  • Example#4507 - Using stream_get_filters
  • Example#4508 - stream_get_meta_data example
  • Example#4509 - Using stream_get_transports
  • Example#4510 - stream_get_wrappers example
  • Example#4511 - Checking for the existence of a stream wrapper
  • Example#4512 - stream_is_local example
  • Example#4513 - stream_notification_callback example
  • Example#4514 - Simple progressbar for commandline download client
  • Example#4515 - stream_resolve_include_path example
  • Example#4516 - stream_select Example
  • Example#4517 - stream_set_timeout example
  • Example#4518 - stream_set_write_buffer example
  • Example#4519 - stream_socket_client example
  • Example#4520 - Using UDP connection
  • Example#4521 - stream_socket_enable_crypto example
  • Example#4522 - A stream_socket_pair example
  • Example#4523 - stream_socket_recvfrom example
  • Example#4524 - stream_socket_sendto Example
  • Example#4525 - Using TCP server sockets
  • Example#4526 - Using UDP server sockets
  • Example#4527 - A stream_socket_shutdown example
  • Example#4528 - How to register a stream wrapper
  • Example#4529 - Basic Tidy usage
  • Example#4530 - tidy::getBody example
  • Example#4531 - tidy::cleanrepair example
  • Example#4532 - tidy::__construct example
  • Example#4533 - tidy::diagnose example
  • Example#4534 - tidy_get_error_buffer example
  • Example#4535 - tidy::getConfig example
  • Example#4536 - tidy_getopt example
  • Example#4537 - Print all options along with their documentation and default value
  • Example#4538 - tidy::getStatus example
  • Example#4539 - tidy::head example
  • Example#4540 - tidy::html example
  • Example#4541 - tidy::parseFile example
  • Example#4542 - tidy::parseString example
  • Example#4543 - tidy::repairFile example
  • Example#4544 - tidy::repairString example
  • Example#4545 - tidy::root example
  • Example#4546 - tidyNode::hasChildren example
  • Example#4547 - tidyNode::hasChildren example
  • Example#4548 - tidyNode::hasSiblings example
  • Example#4549 - Extract ASP code from a mixed HTML document
  • Example#4550 - Extract comments from a mixed HTML document
  • Example#4551 - Extract HTML code from a mixed HTML document
  • Example#4552 - Extract JSTE code from a mixed HTML document
  • Example#4553 - Extract PHP code from a mixed HTML document
  • Example#4554 - Extract text from a mixed HTML document
  • Example#4555 - ob_tidyhandler example
  • Example#4556 - tidy_access_count example
  • Example#4557 - tidy_config_count example
  • Example#4558 - tidy_error_count example
  • Example#4559 - tidy_get_output example
  • Example#4560 - tidy_setopt example
  • Example#4561 - tidy_warning_count example
  • Example#4562 - Kommentare mit Hilfe des Tokenizers entfernen
  • Example#4563 - token_get_all Beispiele
  • Example#4564 - token_name Beispiele
  • Example#4565 - base64_decode-Beispiel
  • Example#4566 - base64_encode-Beispiel
  • Example#4567 - get_headers-Beispiel
  • Example#4568 - get_headers using HEAD example
  • Example#4569 - Was get_meta_tags parst
  • Example#4570 - Was get_meta_tags zurückgibt
  • Example#4571 - Einfache Verwendung von http_build_query
  • Example#4572 - http_build_query mit numerischen Index-Elementen.
  • Example#4573 - http_build_query mit verschachtelten Arrays
  • Example#4574 - Verwendung von http_build_query mit einem Objekt
  • Example#4575 - Ein parse_url-Beispiel
  • Example#4576 - Ein parse_url-Beispiel mit fehlendem Schema
  • Example#4577 - rawurldecode-Beispiel
  • Example#4578 - Übergeben eines Passworts in einem FTP-URL
  • Example#4579 - rawurlencode-Beispiel 2
  • Example#4580 - urldecode-Beispiel
  • Example#4581 - urlencode-Beispiel
  • Example#4582 - urlencode und htmlentities-Beispiel
  • Example#4583 - Einfache Ausführung von JavaScript
  • Example#4584 - Yaml Example
  • Example#4585 - Parse callback example
  • Example#4586 - Emit callback example
  • Example#4587 - yaml_emit example
  • Example#4588 - yaml_parse example
  • Example#4589 - A classic Application directory layout
  • Example#4590 - Entry
  • Example#4591 - Rewrite rule
  • Example#4592 - Application config
  • Example#4593 - Default controller
  • Example#4594 - Default view template
  • Example#4595 - Run the Applicatioin
  • Example#4596 - An PHP array example
  • Example#4597 - An ini file example
  • Example#4598 - A Bootstrapexample
  • Example#4599 - Yaf_Application::bootstrapexample
  • Example#4600 - Yaf_Application::clearLastErrorexample
  • Example#4601 - A ini config file example
  • Example#4602 - Yaf_Application::__constructexample
  • Example#4603 - Yaf_Application::__constructexample
  • Example#4604 - Yaf_Application::environexample
  • Example#4605 - Yaf_Application::executeexample
  • Example#4606 - Yaf_Application::getConfigexample
  • Example#4607 - Yaf_Application::getDispatcherexample
  • Example#4608 - Yaf_Application::getLastErrorMsgexample
  • Example#4609 - Yaf_Application::getLastErrorNoexample
  • Example#4610 - Yaf_Application::getModulesexample
  • Example#4611 - Bootstrap example
  • Example#4612 - Yaf_Dispatcher::autoRenderexample
  • Example#4613 - Yaf_Dispatcher::catchExceptionexample
  • Example#4614 - Yaf_Dispatcher::registerPluginexample
  • Example#4615 - A custom View engineexample
  • Example#4616 - Yaf_Dispatcher::setViewexample
  • Example#4617 - Yaf_Dispatcher::throwexceptionexample
  • Example#4618 - Yaf_Dispatcher::throwexceptionexample
  • Example#4619 - Yaf_Config_Iniexample
  • Example#4620 - define action in a separate file
  • Example#4621 - Dummy_action.php
  • Example#4622 - Yaf_Controller_Abstract::forwardexample
  • Example#4623 - Yaf_Action_Abstract::executeexample
  • Example#4624 - Yaf_Action_Abstract::executeexample
  • Example#4625 - Yaf_View_Simple::assignexample
  • Example#4626 - templateexample
  • Example#4627 - Yaf_View_Simple::assignRefexample
  • Example#4628 - templateexample
  • Example#4629 - Yaf_View_Simple::clearexample
  • Example#4630 - Yaf_View_Simple::__constructorexample
  • Example#4631 - Yaf_View_Simple::__setexample
  • Example#4632 - Config example
  • Example#4633 - Register localnamespace
  • Example#4634 - Load class example
  • Example#4635 - Load namespace class example
  • Example#4636 - MVC class loading example
  • Example#4637 - MVC class distinctions
  • Example#4638 - MVC loading example
  • Example#4639 - Yaf_Loader::registerLocalNamespaceexample
  • Example#4640 - Plugin example
  • Example#4641 - Yaf_Plugin_Abstract::routerShutdownexample
  • Example#4642 - Yaf_Response_Abstract::appendBodyexample
  • Example#4643 - Yaf_Response_Abstract::getBodyexample
  • Example#4644 - Yaf_Response_Abstract::prependBodyexample
  • Example#4645 - Yaf_Response_Abstract::responseexample
  • Example#4646 - Yaf_Response_Abstract::setBodyexample
  • Example#4647 - Yaf_Route_Map::assembleexample
  • Example#4648 - Yaf_Route_Mapexample
  • Example#4649 - Yaf_Route_Mapexample
  • Example#4650 - Yaf_Route_Mapexample
  • Example#4651 - Yaf_Route_Regex::assembleexample
  • Example#4652 - Yaf_Route_Regexexample
  • Example#4653 - Yaf_Route_Regex(as of 2.3.0)example
  • Example#4654 - Yaf_Route_Regex and named capture ground(as of 2.3.0)example
  • Example#4655 - Yaf_Route_Regexexample
  • Example#4656 - Yaf_Route_Rewrite::assembleexample
  • Example#4657 - Yaf_Route_Rewriteexample
  • Example#4658 - Yaf_Route_Rewriteexample
  • Example#4659 - Yaf_Route_Rewrite(as of 2.3.0)example
  • Example#4660 - Rewrite rule for Apache
  • Example#4661 - Rewrite rule for Apache
  • Example#4662 - Rewrite rule for Lighttpd
  • Example#4663 - Rewrite rule for Nginx
  • Example#4664 - Yaf_Route_Static(default route)example
  • Example#4665 - application.iniexample
  • Example#4666 - Yaf_Dispatcher::autoConfigexample
  • Example#4667 - Yaf_Dispatcher::autoRenderexample
  • Example#4668 - Register some routes in Bootstrap
  • Example#4669 - plugin Dummy.php (under application.directory/plugins)
  • Example#4670 - Yaf_Route_Simple::assembleexample
  • Example#4671 - Yaf_Route_Simple::routeexample
  • Example#4672 - Yaf_Route_Simple::routeexample
  • Example#4673 - Yaf_Route_Static::assembleexample
  • Example#4674 - Yaf_Route_Static::routeexample
  • Example#4675 - Yaf_Route_Supervar::assembleexample
  • Example#4676 - Yaf_Route_Supervarexample
  • Example#4677 - Taintexample
  • Example#4678 - Creating a chdb file
  • Example#4679 - Loading and looking up a chdb file
  • Example#4680 - chdb::get example
  • Example#4681 - chdb_create example
  • Example#4682 - Nutzung von PHPs cURL-Modul, um die Homepage von example.com herunterzuladen
  • Example#4683 - Initialisierung einer neuen cURL-Session und das abrufen einer Webseite
  • Example#4684 - cURL-Handle kopieren
  • Example#4685 - curl_errno-Beispiel
  • Example#4686 - curl_error-Beispiel
  • Example#4687 - curl_escape Beispiel
  • Example#4688 - Abrufen einer Webseite
  • Example#4689 - curl_getinfo-Beispiel
  • Example#4690 - curl_getinfo-Beispiel mit opt Parameter
  • Example#4691 - Abrufen einer Webseite
  • Example#4692 - curl_multi_add_handle-Beispiel
  • Example#4693 - curl_multi_close example
  • Example#4694 - curl_multi_exec-Beispiel
  • Example#4695 - Ein curl_multi_info_read-Beispiel
  • Example#4696 - curl_multi_init-Beispiel
  • Example#4697 - curl_multi_strerror Beispiel
  • Example#4698 - curl_reset example
  • Example#4699 - Initialisierung einer cURL-Session und holen einer Webseite
  • Example#4700 - Eine eigene Implementierung von curl_setopt_array
  • Example#4701 - Initialisierung einer neuen cURL-Session und das Abrufen einer Webseite
  • Example#4702 - Datei-Upload
  • Example#4703 - curl_share_setopt example
  • Example#4704 - curl_share_init example
  • Example#4705 - curl_share_setopt example
  • Example#4706 - curl_errno example
  • Example#4707 - curl_escape example
  • Example#4708 - Beispiel für curl_version
  • Example#4709 - CURLFile::__construct Beispiel
  • Example#4710 - Simple HTTP client
  • Example#4711 - HTTP client using asynchronous DNS resolver
  • Example#4712 - Echo server
  • Example#4713 - SSL echo server
  • Example#4714 - Signal handler
  • Example#4715 - Use libevent's loop to process requests of `eio' extension
  • Example#4716 - Miscellaneous
  • Example#4717 - Simple HTTP server
  • Example#4718 - Simple HTTPS server
  • Example#4719 - OpenSSL connection
  • Example#4720 - EventHttpConnection::makeRequest example
  • Example#4721 - Connection listener based on a UNIX domain socket
  • Example#4722 - Simple SMTP server
  • Example#4723 - Handling SIGTERM signal
  • Example#4724 - Event::addSignal example
  • Example#4725 - Event::addTimer example
  • Example#4726 - EventBase::getFeatures example
  • Example#4727 - EventBase::getMethod example
  • Example#4728 - EventBuffer::search example
  • Example#4729 - EventBufferEvent::connect example
  • Example#4730 - Connect to UNIX domain socket which presumably is served by a server, read response from the server and output it to the console
  • Example#4731 - EventBufferEvent::connectHost example
  • Example#4732 - Buffer event's read callback
  • Example#4733 - EventBufferEvent::getOutput example
  • Example#4734 - EventBufferEvent::sslError example
  • Example#4735 - Simple SMTP server
  • Example#4736 - EventConfig::avoidMethod example
  • Example#4737 - EventConfig::__construct example
  • Example#4738 - EventConfig::requireFeatures example
  • Example#4739 - EventHttp::accept example
  • Example#4740 - EventHttp::addServerAlias example
  • Example#4741 - EventHttp::bind example
  • Example#4742 - Simple HTTP server
  • Example#4743 - EventHttp::setCallback example
  • Example#4744 - EventHttp::setDefaultCallback example
  • Example#4745 - EventHttpConnection::makeRequest example
  • Example#4746 - EventHttpConnection::setCloseCallback example
  • Example#4747 - EventHttpRequest::__construct example
  • Example#4748 - EventHttpRequest::sendError example
  • Example#4749 - EventListener::__construct example
  • Example#4750 - EventSslContext::__construct example
  • Example#4751 - FTP-Beispiel
  • Example#4752 - ftp_alloc-Beispiel
  • Example#4753 - ftp_cdup-Beispiel
  • Example#4754 - ftp_chdir-Beispiel
  • Example#4755 - ftp_chmod-Beispiel
  • Example#4756 - ftp_close-Beispiel
  • Example#4757 - ftp_connect-Beispiel
  • Example#4758 - ftp_delete-Beispiel
  • Example#4759 - ftp_exec-Beispiel
  • Example#4760 - ftp_fget-Beispiel
  • Example#4761 - ftp_fput-Beispiel
  • Example#4762 - ftp_get_option-Beispiel
  • Example#4763 - ftp_get-Beispiel
  • Example#4764 - ftp_login-Beispiel
  • Example#4765 - ftp_mdtm-Beispiel
  • Example#4766 - ftp_mkdir-Beispiel
  • Example#4767 - ftp_nb_continue-Beispiel
  • Example#4768 - ftp_nb_fget-Beispiel
  • Example#4769 - ftp_nb_fput-Beispiel
  • Example#4770 - ftp_nb_get-Beispiel
  • Example#4771 - Einen Download mit ftp_nb_get fortsetzen
  • Example#4772 - Einen Download mit Hilfe von ftp_nb_get an Position 100 fortsetzen und in eine neue Datei schreiben
  • Example#4773 - ftp_nb_put-Beispiel
  • Example#4774 - Einen Upload mit ftp_nb_put wieder aufnehmen
  • Example#4775 - ftp_nlist-Beispiel
  • Example#4776 - ftp_pasv-Beispiel
  • Example#4777 - ftp_put-Beispiel
  • Example#4778 - ftp_pwd-Beispiel
  • Example#4779 - ftp_raw für den manuellen Login auf einem FTP-Server nutzen.
  • Example#4780 - ftp_rawlist-Beispiel
  • Example#4781 - ftp_rename-Beispiel
  • Example#4782 - ftp_rmdir-Beispiel
  • Example#4783 - ftp_set_option-Beispiel
  • Example#4784 - Sending a SITE command to an ftp server
  • Example#4785 - ftp_size example
  • Example#4786 - ftp_ssl_connect-Beispiel
  • Example#4787 - ftp_systype-Beispiel
  • Example#4788 - Basic Gearman client and worker
  • Example#4789 - Basic Gearman client and worker, background
  • Example#4790 - Basic Gearman client and worker, submitting tasks
  • Example#4791 - Adding two job servers
  • Example#4792 - Add two job servers
  • Example#4793 - Basic submission of two tasks
  • Example#4794 - Basic submission of two tasks with passing application context
  • Example#4795 - Two tasks, one background and one not
  • Example#4796 - A high priority task along with two normal tasks
  • Example#4797 - A low priority task along with two normal tasks
  • Example#4798 - Monitor completion of multiple background tasks
  • Example#4799 - Simple job submission with immediate return
  • Example#4800 - Submitting a job and retrieving incremental status
  • Example#4801 - Submit and monitor a background job
  • Example#4802 - Simple job submission with immediate return
  • Example#4803 - Submitting a job and retrieving incremental status
  • Example#4804 - Get the status of a long running job
  • Example#4805 - Monitor the status of a long running background job
  • Example#4806 - Simple worker making use of extra application context data
  • Example#4807 - Add alternate Gearman servers
  • Example#4808 - Add two job servers
  • Example#4809 - GearmanWorker::setId example
  • Example#4810 - A simple worker with a 5 second timeout
  • Example#4811 - Running worker in non-blocking mode
  • Example#4812 - GearmanWorker::work example
  • Example#4813 - Hypothetical output from gopher://gopher.example.com/
  • Example#4814 - Using gopher_parsedir
  • Example#4815 - Search for all UPnP devices and services.
  • Example#4816 - Implementing light server
  • Example#4817 - Implementing light client
  • Example#4818 - Create new UPnP context and get IP address of the host
  • Example#4819 - Create new UPnP context and get port number
  • Example#4820 - Create new UPnP context and set host path
  • Example#4821 - Create new UPnP context
  • Example#4822 - Create new UPnP context and set callback
  • Example#4823 - Create new UPnP context and start browsing
  • Example#4824 - Create new UPnP context and start browsing
  • Example#4825 - Create new UPnP context and get device info service
  • Example#4826 - Create new UPnP context and get device info service
  • Example#4827 - Retrieve an object
  • Example#4828 - LDAP Such-Beispiel
  • Example#4829 - Komplettes Beispiel mit authentifiziertem bind
  • Example#4830 - LDAP Bind verwenden
  • Example#4831 - Anonymes LDAP Bind
  • Example#4832 - Komplettes Beispiel einer Kennwort-Überprüfung
  • Example#4833 - Verbindung zu einem LDAP server.
  • Example#4834 - Sichere Verbindung zu einem LDAP server.
  • Example#4835 - LDAP pagination
  • Example#4836 - LDAP pagination
  • Example#4837 - Aufzählung aller LDAP Fehlermeldungen
  • Example#4838 - Erzeugen und Abfangen eines Fehlers
  • Example#4839 - Anzeigen der Liste der Merkmale für einen ausgewählten Verzeichnis-Eintrag
  • Example#4840 - Prüfen der Protokollversion
  • Example#4841 - Liste aller Werte des Merkmals "mail" für einen Verzeichnis- Eintrag
  • Example#4842 - Erzeugung einer Liste aller Organisationseinheiten einer Organisation
  • Example#4843 - Add a telephone number to a contact
  • Example#4844 - Rename a user
  • Example#4845 - Add two e-mail addresses to a user
  • Example#4846 - Change a user's password
  • Example#4847 - Change a user's password (Active Directory)
  • Example#4848 - LDAP Suche
  • Example#4849 - Setzen der Protokollversion
  • Example#4850 - Setzen der Server Kontrollen
  • Example#4851 - Memcache Beispiele
  • Example#4852 - Memcache als Session-Handler verwenden
  • Example#4853 - Memcache::add example
  • Example#4854 - Memcache::addServer example
  • Example#4855 - Memcache::close example
  • Example#4856 - Memcache::connect example
  • Example#4857 - Memcache::decrement example
  • Example#4858 - Memcache::delete example
  • Example#4859 - Memcache::flush example
  • Example#4860 - Memcache::get example
  • Example#4861 - Memcache::getExtendedStats example
  • Example#4862 - Memcache::getServerStatus example
  • Example#4863 - Memcache::getVersion example
  • Example#4864 - Memcache::increment example
  • Example#4865 - Memcache::pconnect example
  • Example#4866 - Memcache::replace example
  • Example#4867 - Memcache::set example
  • Example#4868 - Memcache::set example
  • Example#4869 - Memcache::setCompressThreshold example
  • Example#4870 - Memcache::setServerParams example
  • Example#4871 - Result callback example
  • Example#4872 - Read-through callback example
  • Example#4873 - Memcached::addServer example
  • Example#4874 - Memcached::addServers example
  • Example#4875 - Memcached::append example
  • Example#4876 - Memcached::cas example
  • Example#4877 - Creating a Memcached object
  • Example#4878 - Memcached::decrement example
  • Example#4879 - Memcached::delete example
  • Example#4880 - Memcached::fetch example
  • Example#4881 - Memcached::getDelayed example
  • Example#4882 - Memcached::flush example
  • Example#4883 - Memcached::get example #1
  • Example#4884 - Memcached::get example #2
  • Example#4885 - Memcached::getDelayed example
  • Example#4886 - Memcached::getMulti example
  • Example#4887 - Memcached::GET_PRESERVE_ORDER example
  • Example#4888 - Retrieving Memcached options
  • Example#4889 - Memcached::getResultCode example
  • Example#4890 - Memcached::getResultMessage example
  • Example#4891 - Memcached::getServerByKey example
  • Example#4892 - Memcached::getServerList example
  • Example#4893 - Memcached::getStats example
  • Example#4894 - Memcached::getVersion example
  • Example#4895 - Memcached::increment example
  • Example#4896 - Memcached::prepend example
  • Example#4897 - Memcached::set example
  • Example#4898 - Memcached::setByKey example
  • Example#4899 - Memcached::setMulti example
  • Example#4900 - Setting a Memcached option
  • Example#4901 - Setting Memcached options
  • Example#4902 - mqseries_back example
  • Example#4903 - mqseries_begin example
  • Example#4904 - mqseries_close example
  • Example#4905 - mqseries_cmit example
  • Example#4906 - mqseries_conn example
  • Example#4907 - mqseries_connx example
  • Example#4908 - mqseries_connx example using SSL connection & OCSP Responder URL
  • Example#4909 - mqseries_disc example
  • Example#4910 - mqseries_get example
  • Example#4911 - mqseries_inq example
  • Example#4912 - mqseries_open example
  • Example#4913 - mqseries_put example
  • Example#4914 - mqseries_strerror example
  • Example#4915 - define_syslog_variables-Beispiel
  • Example#4916 - Benutzung von dns_get_record
  • Example#4917 - Benutzung von dns_get_record und DNS_ANY
  • Example#4918 - fsockopen-Beispiel
  • Example#4919 - Eine UDP-Verbindung nutzen
  • Example#4920 - Ein einfaches gethostbyaddr-Beispiel
  • Example#4921 - Ein einfaches gethostbyname-Beispiel
  • Example#4922 - gethostbynamel example
  • Example#4923 - A simple gethostname example
  • Example#4924 - getprotobyname-Beispiel
  • Example#4925 - getservbyname-Beispiel
  • Example#4926 - header_register_callback example
  • Example#4927 - Unsetting specific header.
  • Example#4928 - Unsetting all previously set headers.
  • Example#4929 - Download-Dialog
  • Example#4930 - Caching-Direktiven
  • Example#4931 - Beispiele zur Verwendung von headers_list
  • Example#4932 - Beispiel zur Verwendung von headers_sent
  • Example#4933 - Using http_response_code in a web server environment
  • Example#4934 - Using http_response_code in a CLI environment
  • Example#4935 - inet_ntop-Beispiel
  • Example#4936 - inet_pton-Beispiel
  • Example#4937 - ip2long-Beispiel:
  • Example#4938 - Eine IP-Adresse anzeigen
  • Example#4939 - setcookie-Beispiele:
  • Example#4940 - setcookie-Beispiele zum Löschen
  • Example#4941 - setcookie und Arrays
  • Example#4942 - Die Verwendung von syslog:
  • Example#4943 - Procedural usage of rrd
  • Example#4944 - OO usage of rrd
  • Example#4945 - RRDGraph::setOptions example
  • Example#4946 - Set multiple color options
  • Example#4947 - RRDUpdater::update examples
  • Example#4948 - Creating a connection and connecting to a remote WebSphere MQSeries Messaging Server
  • Example#4949 - Creating a connection and connecting to a remote WebSphere Application Server
  • Example#4950 - Creating a connection and connecting to an MQTT server
  • Example#4951 - Creating a message with a simple text body
  • Example#4952 - Setting a text format property using the default syntax
  • Example#4953 - Setting a property using a type hint
  • Example#4954 - Retrieving a property from a message header
  • Example#4955 - Adding a message to a queue and receiving a response
  • Example#4956 - Creating a durable subscription to a topic
  • Example#4957 - Subscribing to a topic using a WebSphere Platform Messaging (WPM) server
  • Example#4958 - Receiving published data using a durable subscription
  • Example#4959 - Deleting a durable subscription to a topic
  • Example#4960 - Handling an error from a method that returns no result
  • Example#4961 - Handling an error from a method that returns a result
  • Example#4962 - Committing the current unit of work
  • Example#4963 - Creating a connection to a Messaging Server using the IBM MQSeries protocol (WMQ)
  • Example#4964 - Creating a connection with application transaction control and default host and port values
  • Example#4965 - Creating a connection to a Messaging Server using the IBM WebSphere Platform Messaging protocol (WPM)
  • Example#4966 - Creating a connection object and connecting to a Messaging Server
  • Example#4967 - Disconnecting from a Messaging Server
  • Example#4968 - Using the error number and description properties
  • Example#4969 - Using the error number and description properties
  • Example#4970 - Checking whether there us a connection to a Messaging Server
  • Example#4971 - Retrieve the next message from a queue without removing it
  • Example#4972 - Retrieve a specific message from a queue without removing it from the queue
  • Example#4973 - Retrieve all messages in a queue without removing them
  • Example#4974 - Retrieve all messages from a queue with a matching correlation id
  • Example#4975 - Receiving a message from a queue
  • Example#4976 - Receiving a message from a queue with options
  • Example#4977 - Receiving a message from a subscription
  • Example#4978 - Removing a message from a queue by message id
  • Example#4979 - Cancelling an in-flight unit of work
  • Example#4980 - Send a message to a queue
  • Example#4981 - Publish a message to a topic
  • Example#4982 - Send a request and receive a response
  • Example#4983 - Turn on debugging output
  • Example#4984 - Turn off debugging output
  • Example#4985 - Subscribe to a topic
  • Example#4986 - Delete a subscription
  • Example#4987 - Setting a text string into the body of a message
  • Example#4988 - Creating a message
  • Example#4989 - Creating a message with a simple text payload
  • Example#4990 - Setting a text format property using the default syntax
  • Example#4991 - Setting a text format property using a type hint
  • Example#4992 - Setting properties as the sender of a message
  • Example#4993 - Retreiving property values from a message
  • Example#4994 - Using snmp_get_valueretrieval
  • Example#4995 - Using snmp_read_mib
  • Example#4996 - Using snmp_set_enum_print
  • Example#4997 - Using snmprealwalk
  • Example#4998 - Using snmp_set_valueretrieval
  • Example#4999 - Using snmp2_get
  • Example#5000 - Using snmp2_get_next
  • Example#5001 - Using snmp2_real_walk
  • Example#5002 - Using snmp2_set
  • Example#5003 - Using snmp2_set for setting BITS SNMP object id
  • Example#5004 - snm2_pwalk Example
  • Example#5005 - Using snmp3_get
  • Example#5006 - Using snmp3_getnext
  • Example#5007 - Using snmp3_real_walk
  • Example#5008 - Using snmp3_set
  • Example#5009 - Using snmp3_set for setting BITS SNMP object id
  • Example#5010 - snmp3_walk Example
  • Example#5011 - Using snmpgetnext
  • Example#5012 - Using snmprealwalk
  • Example#5013 - SNMP::close example
  • Example#5014 - Fetching sysLocation
  • Example#5015 - Single SNMP object
  • Example#5016 - Multiple SNMP objects
  • Example#5017 - SNMP::getErrno example
  • Example#5018 - SNMP::getError example
  • Example#5019 - Single SNMP object
  • Example#5020 - Miltiple SNMP objects
  • Example#5021 - Set single SNMP object id
  • Example#5022 - Set multiple values using single SNMP::set call
  • Example#5023 - Using SNMP::set for setting BITS SNMP object id
  • Example#5024 - SNMP::setSecurity example
  • Example#5025 - SNMP::walk example
  • Example#5026 - suffix_as_key example
  • Example#5027 - Socket-Beispiel: Einfacher TCP/IP-Server
  • Example#5028 - Socket-Beispiel: Einfacher TCP/IP-Client
  • Example#5029 - Beispiel: Quell-Adresse setzen mit socket_bind:
  • Example#5030 - socket_create_pair-Beispiel
  • Example#5031 - socket_create_pair-IPC-Beispiel
  • Example#5032 - socket_set_option-Beispiel
  • Example#5033 - socket_import_stream example
  • Example#5034 - socket_last_error example
  • Example#5035 - socket_recv Beispiel
  • Example#5036 - socket_recvfrom Beispiel
  • Example#5037 - NULL mit socket_select benutzen:
  • Example#5038 - Rückgaben von socket_select verstehen
  • Example#5039 - socket_select-Beispiel
  • Example#5040 - socket_sendto-Beispiel
  • Example#5041 - socket_set_block Beispiel
  • Example#5042 - socket_set_nonblock Beispiel
  • Example#5043 - socket_set_option Beispiel
  • Example#5044 - socket_strerror Beispiel
  • Example#5045 - Authenticating with a ssh agent
  • Example#5046 - Authentication using a public hostkey
  • Example#5047 - Retrieving a list of authentication methods
  • Example#5048 - Authenticating with a password
  • Example#5049 - Authentication using a public key
  • Example#5050 - ssh2_connect example
  • Example#5051 - Executing a command
  • Example#5052 - Opening a shell and retrieving the stderr stream associated with it
  • Example#5053 - Checking the fingerprint against a known value
  • Example#5054 - Determining what methods were negotiated
  • Example#5055 - Adding a publickey with ssh2_publickey_add
  • Example#5056 - Listing authorized keys with ssh2_publickey_list
  • Example#5057 - Downloading a file via SCP
  • Example#5058 - Uploading a file via SCP
  • Example#5059 - Changing the mode of a file on a remote server
  • Example#5060 - Stating a symbolic link via SFTP
  • Example#5061 - Creating a directory on a remote server
  • Example#5062 - Reading a symbolic link
  • Example#5063 - Resolving a pathname
  • Example#5064 - Renaming a file via sftp
  • Example#5065 - Removing a directory on a remote server
  • Example#5066 - Stating a file via SFTP
  • Example#5067 - Creating a symbolic link
  • Example#5068 - Deleting a file
  • Example#5069 - Opening a file via SFTP
  • Example#5070 - Requesting an interactive shell
  • Example#5071 - Opening a tunnel to an arbitrary host
  • Example#5072 - Objektorientierter Stil
  • Example#5073 - Prozeduraler Stil
  • Example#5074 - stomp_connect_error example
  • Example#5075 - stomp_version example
  • Example#5076 - Objektorientierter Stil
  • Example#5077 - Prozeduraler Stil
  • Example#5078 - Objektorientierter Stil
  • Example#5079 - Prozeduraler Stil
  • Example#5080 - Objektorientierter Stil
  • Example#5081 - Prozeduraler Stil
  • Example#5082 - Objektorientierter Stil
  • Example#5083 - Prozeduraler Stil
  • Example#5084 - Objektorientierter Stil
  • Example#5085 - Prozeduraler Stil
  • Example#5086 - Objektorientierter Stil
  • Example#5087 - Prozeduraler Stil
  • Example#5088 - Objektorientierter Stil
  • Example#5089 - Prozeduraler Stil
  • Example#5090 - Objektorientierter Stil
  • Example#5091 - Prozeduraler Stil
  • Example#5092 - Objektorientierter Stil
  • Example#5093 - Prozeduraler Stil
  • Example#5094 - Train from array
  • Example#5095 - Train from a file
  • Example#5096 - svn_add example
  • Example#5097 - Default authentication example
  • Example#5098 - svn_blame example
  • Example#5099 - Basic example
  • Example#5100 - Basic example
  • Example#5101 - Basic example
  • Example#5102 - Basic example
  • Example#5103 - Basic example
  • Example#5104 - Basic example
  • Example#5105 - Diffing two revisions of a repository path
  • Example#5106 - Portably diffing two local files
  • Example#5107 - svn_export example
  • Example#5108 - Basic example
  • Example#5109 - svn_log example
  • Example#5110 - svn_ls example
  • Example#5111 - Basic example
  • Example#5112 - Basic example
  • Example#5113 - Deny all connections from localhost
  • Example#5114 - Ban an URL
  • Example#5115 - Get statistic snapshot
  • Example#5116 - Read varnish shared memory log
  • Example#5117 - VarnishAdmin::__construct example
  • Example#5118 - Parallel searching using Yaz
  • Example#5119 - CCL configuration
  • Example#5120 - CCL Parsing
  • Example#5121 - Record Update
  • Example#5122 - Array for GRS-1 record
  • Example#5123 - Working with MARCXML
  • Example#5124 - PHP function that scans titles
  • Example#5125 - Query Examples
  • Example#5126 - Sort Criterias
  • Example#5127 - Example for NIS errors
  • Example#5128 - Beispiel für den ersten NIS-Eintrag
  • Example#5129 - Beispiel für die voreingestellte Domäne
  • Example#5130 - Beispiel für den NIS Master
  • Example#5131 - Beispiel für den übereinstimmenden NIS-Eintrag
  • Example#5132 - Beispiel für den nächsten NIS-Eintrag
  • Example#5133 - Beispiel für die NIS Reihenfolge
  • Example#5134 - A ZMQContext example
  • Example#5135 - A ZMQContext example
  • Example#5136 - A ZMQContext example
  • Example#5137 - A ZMQSocket example
  • Example#5138 - A send/recv example
  • Example#5139 - A ZMQPoll example
  • Example#5140 - Zookeeper::addAuth example
  • Example#5141 - Zookeeper::create example
  • Example#5142 - Zookeeper::delete example
  • Example#5143 - Zookeeper::exists example
  • Example#5144 - Zookeeper::get example
  • Example#5145 - Zookeeper::getAcl example
  • Example#5146 - Zookeeper::set example
  • Example#5147 - Zookeeper::setAcl example
  • Example#5148 - Zookeeper::setDebugLevel example
  • Example#5149 - Spezifiziert den Pfad zu der aktuellen Kategorie in folgendem Format: '> Root > Sport > Auto > Ferrari'
  • Example#5150 - udm_load_ispell_data Beispiel
  • Example#5151 - udm_load_ispell_data Beispiel
  • Example#5152 - solr_get_version example
  • Example#5153 - Contents of the BootStrap file
  • Example#5154 - Adding a document to the index
  • Example#5155 - Merging one document into another document
  • Example#5156 - Searching for documents - SolrObject responses
  • Example#5157 - Searching for documents - SolrDocument responses
  • Example#5158 - Simple TermsComponent example - basic
  • Example#5159 - Simple TermsComponent example - using a prefix
  • Example#5160 - Simple TermsComponent example - specifying a minimum frequency
  • Example#5161 - Simple Facet Example
  • Example#5162 - Simple Facet Example - with optional field override for mincount
  • Example#5163 - Facet Date Example
  • Example#5164 - Connecting to SSL-Enabled Server
  • Example#5165 - Collapsing a SolrQuery
  • Example#5166 - Solr Real Time Get (RTG) example SolrClient::getById
  • Example#5167 - SolrInputDocument::addChildDocument example
  • Example#5168 - SolrInputDocument::addChildDocuments example
  • Example#5169 - SolrDocument::toArray example
  • Example#5170 - SolrObject::__construct example
  • Example#5171 - SolrObject::offsetUnset example
  • Example#5172 - SolrClient::addDocument example
  • Example#5173 - SolrClient::addDocument example 2
  • Example#5174 - SolrClient::addDocuments example
  • Example#5175 - SolrClient::__construct example
  • Example#5176 - SolrQuery::deleteByQuery example
  • Example#5177 - SolrClient::getById example
  • Example#5178 - SolrClient::getByIds example
  • Example#5179 - SolrClient::ping example
  • Example#5180 - SolrClient::query example
  • Example#5181 - SolrClient::request example
  • Example#5182 - SolrClient::setResponseWriter example
  • Example#5183 - SolrParams::setParam example
  • Example#5184 - SolrQuery::addFacetField example
  • Example#5185 - SolrQuery::addFacetField example
  • Example#5186 - SolrQuery::addFilterQuery example
  • Example#5187 - SolrQuery::addGroupSortField example
  • Example#5188 - SolrQuery::collapse example
  • Example#5189 - SolrQuery::setExpand example
  • Example#5190 - SolrDisMaxQuery::addBigramPhraseField example
  • Example#5191 - SolrDisMaxQuery::addBoostQuery example
  • Example#5192 - SolrDisMaxQuery::addPhraseField example
  • Example#5193 - SolrDisMaxQuery::addQueryField example
  • Example#5194 - SolrDisMaxQuery::addTrigramPhraseField example
  • Example#5195 - SolrDisMaxQuery::addUserField example
  • Example#5196 - SolrDisMaxQuery::__construct example
  • Example#5197 - SolrDisMaxQuery::removeBigramPhraseField example
  • Example#5198 - SolrDisMaxQuery::removeBoostQuery example
  • Example#5199 - SolrDisMaxQuery::removePhraseField example
  • Example#5200 - SolrDisMaxQuery::removeQueryField example
  • Example#5201 - SolrDisMaxQuery::removeTrigramPhraseField example
  • Example#5202 - SolrDisMaxQuery::removeUserField example
  • Example#5203 - SolrDisMaxQuery::setBigramPhraseFields example
  • Example#5204 - SolrDisMaxQuery::setBigramPhraseSlop example
  • Example#5205 - SolrDisMaxQuery::setBoostFunction example
  • Example#5206 - SolrDisMaxQuery::setBoostQuery example
  • Example#5207 - SolrDisMaxQuery::setMinimumMatch example
  • Example#5208 - SolrDisMaxQuery::setPhraseFields example
  • Example#5209 - SolrDisMaxQuery::setPhraseSlop example
  • Example#5210 - SolrDisMaxQuery::setQueryAlt example
  • Example#5211 - SolrDisMaxQuery::setQueryPhraseSlop example
  • Example#5212 - SolrDisMaxQuery::setTieBreaker example
  • Example#5213 - SolrDisMaxQuery::setTrigramPhraseFields example
  • Example#5214 - SolrDisMaxQuery::setTrigramPhraseSlop example
  • Example#5215 - SolrDisMaxQuery::setUserFields example
  • Example#5216 - SolrDisMaxQuery::useDisMaxQueryParser example
  • Example#5217 - SolrDisMaxQuery::useEDisMaxQueryParser example
  • Example#5218 - SolrCollapseFunction::__construct example
  • Example#5219 - SolrCollapseFunction::setHint example
  • Example#5220 - SolrCollapseFunction::setMax example
  • Example#5221 - Basic usage example
  • Example#5222 - Basic search query
  • Example#5223 - A Swish::__construct example
  • Example#5224 - Basic Swish::getMetaList example
  • Example#5225 - Basic Swish::getPropertyList example
  • Example#5226 - Basic Swish::prepare example
  • Example#5227 - Basic Swish::query example
  • Example#5228 - Basic SwishResult::stem example
  • Example#5229 - Basic SwishResults::getParsedWords example
  • Example#5230 - Basic SwishResults::nextResult example
  • Example#5231 - Basic SwishResults::seekResult example
  • Example#5232 - Basic SwishSearch::execute example
  • Example#5233 - Basic SwishSearch::resetLimit example
  • Example#5234 - Basic SwishSearch::setLimit example
  • Example#5235 - Basic SwishSearch::setPhraseDelimiter example
  • Example#5236 - Basic SwishSearch::setSort example
  • Example#5237 - Basic SwishSearch::setStructure example
  • Example#5238 - Parsen von PHP für ein Verzeichnis ausschalten mittels .htaccess
  • Example#5239 - apache_get_modules-Beispiel
  • Example#5240 - apache_get_version-Beispiel
  • Example#5241 - apache_getenv-Beispiel
  • Example#5242 - apache_lookup_uri-Beispiel
  • Example#5243 - Übergeben von Informationen zwischen PHP und Perl
  • Example#5244 - Werte in access.log loggen
  • Example#5245 - apache_request_headers-Beispiel
  • Example#5246 - apache_response_headers-Beispiel
  • Example#5247 - Eine Apache-Umgebungsvariable mit apache_setenv setzen
  • Example#5248 - getallheaders-Beispiel
  • Example#5249 - nsapi_request_headers example
  • Example#5250 - Registrierung einer Variablen mit $_SESSION.
  • Example#5251 - Aufheben der Registrierung einer Variablen mit $_SESSION.
  • Example#5252 - Zählen der Seitenaufrufe eines einzelnen Benutzers
  • Example#5253 - Beispiel-Informationen
  • Example#5254 - session_cache_expire Beispiel
  • Example#5255 - session_cache_limiter Beispiel
  • Example#5256 - session_create_id example with session_regenerate_id
  • Example#5257 - Löschen einer Session mit $_SESSION
  • Example#5258 - session_gc example for task managers like cron
  • Example#5259 - session_gc example for user accessible script
  • Example#5260 - session_name-Beispiel
  • Example#5261 - Ein session_regenerate_id-Beispiel
  • Example#5262 - session_set_save_handler Beispiel
  • Example#5263 - session_set_save_handler mit Verwendung von SessionHandler
  • Example#5264 - Ein Session-Beispiel: seite1.php
  • Example#5265 - Ein Session-Beispiel: seite2.php
  • Example#5266 - Using SessionHandler to add encryption to internal PHP save handlers.
  • Example#5267 - Example using SessionHandlerInterface
  • Example#5268 - bbcode_add_smiley Beispiel
  • Example#5269 - bbcode_create Beispiel
  • Example#5270 - bbcode_set_arg_parser usage example
  • Example#5271 - bbcode_set_flags usage example
  • Example#5272 - Beispiele gültiger Suchmuster
  • Example#5273 - Beispiele ungültiger Suchmuster
  • Example#5274 - Beispiel zum Vergleich von preg_filter und preg_replace
  • Example#5275 - preg_grep-Beispiel
  • Example#5276 - preg_last_error Beispiel
  • Example#5277 - Alle Telefonnummern aus einem Text holen.
  • Example#5278 - Zusammengehörende HTML-Tags finden (gierig)
  • Example#5279 - Benannte Teilsuchmuster (named subpatterns)
  • Example#5280 - Die Zeichenkette "php" finden
  • Example#5281 - Die Zeichenkette "web" finden
  • Example#5282 - Den Domänen-Namen aus einer URL holen
  • Example#5283 - Benannte Teilsuchmuster (named subpatterns)
  • Example#5284 - preg_quote-Beispiel
  • Example#5285 - Kursivdruck eines Wortes in einem Text
  • Example#5286 - preg_replace_callback_array example
  • Example#5287 - preg_replace_callback und Anonyme Funktion
  • Example#5288 - preg_replace_callback Beispiel
  • Example#5289 - preg_replace_callback unter Verwendung einer rekursiven Struktur um gekapselten BB-Code zu verarbeiten
  • Example#5290 - Die Verwendung von Rückreferenzierungen mit darauf folgenden numerischen Literalen
  • Example#5291 - Die Verwendung von preg_replace mit indizierten Arrays
  • Example#5292 - Ersetzen mehrerer Werte
  • Example#5293 - Leerzeichen entfernen
  • Example#5294 - Die Verwendung des Parameters count
  • Example#5295 - preg_split Beispiel: Eine Zeichenkette in ihre Bestandteile zerlegen
  • Example#5296 - Eine Zeichenkette in einzelne Zeichen zerlegen
  • Example#5297 - Eine Zeichenkette in Übereinstimmungen mit dem Suchmuster und deren Versatz zerlegen
  • Example#5298 - Beispiele regulärer Ausdrücke
  • Example#5299 - ereg_replace-Beispiel
  • Example#5300 - ereg_replace-Beispiel
  • Example#5301 - Ersetzen von URLs durch Links
  • Example#5302 - ereg-Beispiel
  • Example#5303 - Suchergebnisse hervorheben
  • Example#5304 - eregi-Beispiel
  • Example#5305 - split-Beispiel
  • Example#5306 - split-Beispiel
  • Example#5307 - spliti-Beispiel
  • Example#5308 - sql_regcase-Beispiel
  • Example#5309 - addcslashes-Beispiel
  • Example#5310 - Ein addslashes-Beispiel
  • Example#5311 - chr-Beispiel
  • Example#5312 - chunk_split-Beispiel
  • Example#5313 - convert_uudecode-Beispiel
  • Example#5314 - convert_uuencode-Beispiel
  • Example#5315 - count_chars-Beispiel
  • Example#5316 - Anzeigen einer CRC32-Prüfsumme
  • Example#5317 - crypt-Beispiele
  • Example#5318 - Verwendung von crypt für htpasswd
  • Example#5319 - Verwendung von crypt mit verschiedenen Hasharten
  • Example#5320 - echo-Beispiele
  • Example#5321 - explode-Beispiele
  • Example#5322 - explode Rückgabe Beispiel
  • Example#5323 - limit-Parameterbeispiele
  • Example#5324 - fprintf: Integer mit vorangestellten Nullen
  • Example#5325 - fprintf: Formatieren einer Währung
  • Example#5326 - Umwandlungs-Tabellen-Beispiel
  • Example#5327 - hex2bin Beispiel
  • Example#5328 - Dekodieren benannter HTML-Zeichen
  • Example#5329 - Ein htmlentities-Beispiel
  • Example#5330 - Nutzung von ENT_IGNORE
  • Example#5331 - Ein htmlspecialchars_decode-Beispiel
  • Example#5332 - htmlspecialchars-Beispiel
  • Example#5333 - implode-Beispiel
  • Example#5334 - lcfirst-Beispiel
  • Example#5335 - levenshtein-Beispiel
  • Example#5336 - localeconv-Beispiel
  • Example#5337 - Beispiel zur Verwendung von ltrim
  • Example#5338 - Anwendungsbeispiel für md5_file
  • Example#5339 - Ein md5-Beispiel
  • Example#5340 - metaphone einfaches Beispiel
  • Example#5341 - Nutzung des phonemes Parameters
  • Example#5342 - money_format Example
  • Example#5343 - Verwenden von nl2br
  • Example#5344 - Erstellen von validem HTML-Markup unter Verwendung des is_xhtml-Parameters
  • Example#5345 - Verschiedene Zeilentrenner
  • Example#5346 - number_format-Beispiel
  • Example#5347 - ord-Beispiel
  • Example#5348 - Der Gebrauch von parse_str
  • Example#5349 - print-Beispiele
  • Example#5350 - Beispiel zur Verwendung von rtrim
  • Example#5351 - setlocale-Beispiele
  • Example#5352 - setlocale-Beispiele for Windows
  • Example#5353 - sha1_file-Beispiel
  • Example#5354 - Ein sha1 Beispiel
  • Example#5355 - Soundex-Beispiele
  • Example#5356 - Argumente tauschen
  • Example#5357 - Argumente tauschen
  • Example#5358 - Argumente tauschen
  • Example#5359 - Argumente tauschen
  • Example#5360 - Angabe von Füllzeichen
  • Example#5361 - Positionstausch mit weiteren Spezifikatoren
  • Example#5362 - printf: Verschiedene Beispiele
  • Example#5363 - printf: Stringformatierung
  • Example#5364 - sprintf: Mit Nullen aufgefüllte Integer
  • Example#5365 - sprintf: Währungsformatierung
  • Example#5366 - sprintf: Wissenschaftliche Notation
  • Example#5367 - sscanf-Beispiel
  • Example#5368 - sscanf - Verwendung optionaler Parameter
  • Example#5369 - str_ireplace-Beispiel
  • Example#5370 - str_pad-Beispiel
  • Example#5371 - str_repeat-Beispiel
  • Example#5372 - Grundlegende str_replace-Beispiele
  • Example#5373 - Beispiele möglicher Probleme durch str_replace
  • Example#5374 - str_rot13-Beispiel
  • Example#5375 - str_shuffle-Beispiel
  • Example#5376 - Beispiel für die Verwendung von str_split
  • Example#5377 - Ein str_word_count-Beispiel
  • Example#5378 - strcasecmp-Beispiel
  • Example#5379 - strcmp Beispiel
  • Example#5380 - strcspn Beispiel
  • Example#5381 - strip_tags-Beispiel
  • Example#5382 - stripos-Beispiele
  • Example#5383 - Ein stripslashes-Beispiel
  • Example#5384 - Verwendung von stripslashes in einem Array
  • Example#5385 - stristr-Beispiel
  • Example#5386 - Prüfen, ob ein String gefunden wurde oder nicht
  • Example#5387 - Verwendung eines Wertes, der kein String ist
  • Example#5388 - Ein strlen-Beispiel
  • Example#5389 - strpbrk-Beispiel
  • Example#5390 - Verwendung von ===
  • Example#5391 - Verwendung von !==
  • Example#5392 - Verwendung eines Offsets
  • Example#5393 - strrchr-Beispiel
  • Example#5394 - Umkehren eines Strings mit strrev
  • Example#5395 - Ein einfaches strripos-Beispiel
  • Example#5396 - Prüfen ob needle in haystack vorkommt
  • Example#5397 - Mit Offsets suchen
  • Example#5398 - strspn-Beispiel
  • Example#5399 - strstr-Beispiel
  • Example#5400 - strtok-Beispiel
  • Example#5401 - Altes Verhalten von strtok
  • Example#5402 - Neues Verhalten von strtok
  • Example#5403 - strtolower-Beispiel
  • Example#5404 - strtoupper-Beispiel
  • Example#5405 - strtr-Beispiel
  • Example#5406 - strtr-Beispiel mit zwei Argumenten
  • Example#5407 - strtr Vergleich der Verhaltensweisen
  • Example#5408 - Ein substr_compare-Beispiel
  • Example#5409 - Ein substr_count Beispiel
  • Example#5410 - Einfache substr_replace-Beispiele
  • Example#5411 - Nutzung von substr_replace um mehrere Zeichenketten auf einmal zu ersetzen.
  • Example#5412 - Einen negativen start-Wert verwenden
  • Example#5413 - Negativen length-Wert verwenden
  • Example#5414 - Generelle Verwendung von substr
  • Example#5415 - substr Typumwandlungs Verhalten
  • Example#5416 -
  • Example#5417 - Beispiel zur Verwendung von trim
  • Example#5418 - Trimmen von Array-Werten mittels trim
  • Example#5419 - ucfirst-Beispiel
  • Example#5420 - ucwords-Beispiel
  • Example#5421 - ucwords-Beispiel mit Trenzeichen
  • Example#5422 - vfprintf: Integer-Werte mit führenden Nullen
  • Example#5423 - vprintf: mit Nullen aufgefüllte Ganzzahlen
  • Example#5424 - vsprintf: mit Nullen aufgefüllte Ganzzahlen
  • Example#5425 - wordwrap-Beispiel
  • Example#5426 - wordwrap-Beispiel
  • Example#5427 - wordwrap-Beispiel
  • Example#5428 - array_change_key_case-Beispiel
  • Example#5429 - array_chunk-Beispiel
  • Example#5430 - Get the column of first names from a recordset
  • Example#5431 - Get the column of last names from a recordset, indexed by the "id" column
  • Example#5432 - Get the column of usernames from the public "username" property of an object
  • Example#5433 - Get the column of names from the private "name" property of an object using the magic __get method.
  • Example#5434 - Ein einfaches array_combine-Beispiel
  • Example#5435 - array_count_values-Beispiel
  • Example#5436 - array_diff_assoc-Beispiel
  • Example#5437 - array_diff_assoc-Beispiel
  • Example#5438 - array_diff_key-Beispiel
  • Example#5439 - array_diff_uassoc-Beispiel
  • Example#5440 - array_diff_ukey-Beispiel
  • Example#5441 - array_diff-Beispiel
  • Example#5442 - array_fill_keys-Beispiel
  • Example#5443 - array_fill-Beispiel
  • Example#5444 - array_filter-Beispiel
  • Example#5445 - array_filter ohne callback
  • Example#5446 - array_filter mit flag
  • Example#5447 - array_flip-Beispiel
  • Example#5448 - array_flip-Beispiel: Kollision
  • Example#5449 - array_intersect_assoc Beispiel
  • Example#5450 - array_intersect_key-Beispiel
  • Example#5451 - array_intersect_uassoc-Beispiel
  • Example#5452 - array_intersect_ukey-Beispiel
  • Example#5453 - array_intersect-Beispiel
  • Example#5454 - array_key_exists-Beispiel
  • Example#5455 - array_key_exists vs. isset
  • Example#5456 - array_keys-Beispiel
  • Example#5457 - array_map-Beispiel
  • Example#5458 - array_map mit einer Lambda-Funktion (seit PHP 5.3.0)
  • Example#5459 - array_map - Verwendung mehrerer Arrays
  • Example#5460 - Erstellen eines Arrays mit Arrays
  • Example#5461 - array_map - mit String-Schlüsseln
  • Example#5462 - array_merge_recursive-Beispiel
  • Example#5463 - array_merge-Beispiel
  • Example#5464 - Ein einfaches array_merge-Beispiel
  • Example#5465 - array_merge mit nicht-Array-Typen
  • Example#5466 - Sortieren mehrerer Arrays
  • Example#5467 - Sortieren eines mehrdimensionalen Arrays
  • Example#5468 - Datenbankdaten sortieren
  • Example#5469 - Groß-/Kleinschreibung nicht-beachtende Sortierung
  • Example#5470 - array_pad-Beispiel
  • Example#5471 - array_pop-Beispiel
  • Example#5472 - array_product Beispiel
  • Example#5473 - array_push Beispiel
  • Example#5474 - array_rand-Beispiel
  • Example#5475 - array_reduce-Beispiel
  • Example#5476 - array_replace_recursive example
  • Example#5477 - array_replace_recursive and recursive behavior
  • Example#5478 - array_replace Beispiel
  • Example#5479 - array_reverse-Beispiel
  • Example#5480 - array_search-Beispiel
  • Example#5481 - array_shift-Beispiel
  • Example#5482 - array_slice-Beispiele
  • Example#5483 - array_splice-Beispiele
  • Example#5484 - array_splice-Beispiele
  • Example#5485 - array_sum
  • Example#5486 - array_udiff_assoc Beispiel
  • Example#5487 - array_udiff_uassoc Beispiel
  • Example#5488 - array_udiff Beispiel mit stdClass Objekten
  • Example#5489 - array_udiff Beispiel mit DateTime Objekten
  • Example#5490 - array_uintersect_assoc Beispiel
  • Example#5491 - array_uintersect_uassoc Beispiel
  • Example#5492 - array_uintersect Beispiel
  • Example#5493 - array_unique-Beispiel
  • Example#5494 - array_unique und Typen
  • Example#5495 - array_unshift Beispiel
  • Example#5496 - array_values-Beispiel
  • Example#5497 - array_walk_recursive Beispiel
  • Example#5498 - array_walk-Beispiel
  • Example#5499 - array-Beispiel
  • Example#5500 - Automatischer Index mit array
  • Example#5501 - 1-basierter Index mit array
  • Example#5502 - Auf ein Array innerhalb von doppelten Anführungszeichen zugreifen
  • Example#5503 - arsort-Beispiel
  • Example#5504 - asort-Beispiel
  • Example#5505 - compact Beispiel
  • Example#5506 - count-Beispiel
  • Example#5507 - Rekursives count-Beispiel
  • Example#5508 - Beispiel für die Verwendung von current und anderen
  • Example#5509 - each-Beispiele
  • Example#5510 - Durchgehen eines Arrays mit each
  • Example#5511 - end example
  • Example#5512 - extract-Beispiel
  • Example#5513 - in_array Beispiel
  • Example#5514 - in_array Beispiel mit 'strict'
  • Example#5515 - in_array mit Array als Suchwert
  • Example#5516 - key Beispiel
  • Example#5517 - krsort-Beispiel
  • Example#5518 - ksort-Beispiel
  • Example#5519 - list Beispiele
  • Example#5520 - Eine Beispielverwendung von list
  • Example#5521 - Verschachtelte list verwenden
  • Example#5522 - list mit Array Indizes verwenden
  • Example#5523 - list und die Reihenfolge der Index-Definitionen
  • Example#5524 - natcasesort Beispiel
  • Example#5525 - natsort Beispiele, die die grundlegende Verwendung demonstrieren
  • Example#5526 - natsort Beispiele, die potentielle Tücken demonstrieren
  • Example#5527 - Beispiel für die Verwendung von next und anderen
  • Example#5528 - Beispiel für die Verwendung von prev und anderen
  • Example#5529 - range Beispiele
  • Example#5530 - reset Beispiel
  • Example#5531 - rsort-Beispiel
  • Example#5532 - shuffle Beispiel
  • Example#5533 - sort-Beispiel
  • Example#5534 - sort-Beispiel mit natürlicher Sortierung ohne Beachtung der Groß- und Kleinschreibung
  • Example#5535 - Einfaches uasort-Beispiel
  • Example#5536 - uksort Beispiel
  • Example#5537 - usort-Beispiel
  • Example#5538 - usort-Beispiel für multidimensionale Arrays
  • Example#5539 - usort-Beispiel, das die Methode eines Objekts benutzt
  • Example#5540 - usort Beispiel zum Einsatz einer Closure zum Sortieren eines mehrdimensionalen Arrays
  • Example#5541 - classes.inc
  • Example#5542 - test_script.php
  • Example#5543 - call_user_method_array alternative
  • Example#5544 - call_user_function Alternative
  • Example#5545 - class_alias example
  • Example#5546 - class_exists Beispiel
  • Example#5547 - autoload Parameter Beispiel
  • Example#5548 - Using get_called_class
  • Example#5549 - get_class_methods Beispiel
  • Example#5550 - get_class_vars Beispiel
  • Example#5551 - get_class_vars und geltungsbereichsabhängiges Verhalten
  • Example#5552 - get_class-Beispiel
  • Example#5553 - Einsatz von get_class in einer Elternklasse
  • Example#5554 - get_declared_classes-Beispiel
  • Example#5555 - get_declared_interfaces Beispiel
  • Example#5556 - Nutzung der get_object_vars-Funktion
  • Example#5557 - Die Verwendung von get_parent_class
  • Example#5558 - interface_exists Beispiel
  • Example#5559 - is_a example
  • Example#5560 - Using the instanceof operator in PHP 5
  • Example#5561 - is_subclass_of Beispiel
  • Example#5562 - Verwendung von is_subclass_of mit einem Interface
  • Example#5563 - method_exists Beispiel
  • Example#5564 - Statisches method_exists Beispiel
  • Example#5565 - Ein property_exists Beispiel
  • Example#5566 - classkit_import example
  • Example#5567 - classkit_method_add example
  • Example#5568 - classkit_method_copy example
  • Example#5569 - classkit_method_redefine example
  • Example#5570 - classkit_method_remove example
  • Example#5571 - classkit_method_rename example
  • Example#5572 - ctype_alnum Beispiel (standard-locale vorausgesetzt)
  • Example#5573 - ctype_alpha-Beispiel (standard-locale vorausgesetzt)
  • Example#5574 - ctype_cntrl Beispiel
  • Example#5575 - ctype_digit Beispiel
  • Example#5576 - A ctype_digit example comparing strings with integers
  • Example#5577 - ctype_graph Beispiel
  • Example#5578 - ctype_lower Beispiel
  • Example#5579 - ctype_print Beispiel
  • Example#5580 - ctype_punct Beispiel
  • Example#5581 - ctype_space Beispiel
  • Example#5582 - ctype_upper Beispiel (using the default locale)
  • Example#5583 - ctype_xdigit Beispiel
  • Example#5584 - Vector
  • Example#5585 - Map
  • Example#5586 - Ds\Collection::clear example
  • Example#5587 - Ds\Collection::copy example
  • Example#5588 - Ds\Collection::isEmpty example
  • Example#5589 - Ds\Collection::toArray example
  • Example#5590 - Ds\Hashable::hash example
  • Example#5591 - Ds\Sequence::allocate example
  • Example#5592 - Ds\Sequence::apply example
  • Example#5593 - Ds\Sequence::capacity example
  • Example#5594 - Ds\Sequence::contains example
  • Example#5595 - Ds\Sequence::filter example using callback function
  • Example#5596 - Ds\Sequence::filter example without a callback function
  • Example#5597 - Ds\Sequence::find example
  • Example#5598 - Ds\Sequence::first example
  • Example#5599 - Ds\Sequence::get example
  • Example#5600 - Ds\Sequence::get example using array syntax
  • Example#5601 - Ds\Sequence::insert example
  • Example#5602 - Ds\Sequence::join example using a separator string
  • Example#5603 - Ds\Sequence::join example without a separator string
  • Example#5604 - Ds\Sequence::last example
  • Example#5605 - Ds\Sequence::map example
  • Example#5606 - Ds\Sequence::merge example
  • Example#5607 - Ds\Sequence::pop example
  • Example#5608 - Ds\Sequence::push example
  • Example#5609 - Ds\Sequence::reduce with initial value example
  • Example#5610 - Ds\Sequence::reduce without an initial value example
  • Example#5611 - Ds\Sequence::remove example
  • Example#5612 - Ds\Sequence::reverse example
  • Example#5613 - Ds\Sequence::reversed example
  • Example#5614 - Ds\Sequence::rotate example
  • Example#5615 - Ds\Sequence::set example
  • Example#5616 - Ds\Sequence::set example using array syntax
  • Example#5617 - Ds\Sequence::shift example
  • Example#5618 - Ds\Sequence::slice example
  • Example#5619 - Ds\Sequence::sort example
  • Example#5620 - Ds\Sequence::sort example using a comparator
  • Example#5621 - Ds\Sequence::sorted example
  • Example#5622 - Ds\Sequence::sorted example using a comparator
  • Example#5623 - Ds\Sequence::sum integer example
  • Example#5624 - Ds\Sequence::sum float example
  • Example#5625 - Ds\Sequence::unshift example
  • Example#5626 - Ds\Vector::allocate example
  • Example#5627 - Ds\Vector::apply example
  • Example#5628 - Ds\Vector::capacity example
  • Example#5629 - Ds\Vector::clear example
  • Example#5630 - Ds\Vector::__construct example
  • Example#5631 - Ds\Vector::contains example
  • Example#5632 - Ds\Vector::copy example
  • Example#5633 - Ds\Vector::filter example using callback function
  • Example#5634 - Ds\Vector::filter example without a callback function
  • Example#5635 - Ds\Vector::find example
  • Example#5636 - Ds\Vector::first example
  • Example#5637 - Ds\Vector::get example
  • Example#5638 - Ds\Vector::get example using array syntax
  • Example#5639 - Ds\Vector::insert example
  • Example#5640 - Ds\Vector::isEmpty example
  • Example#5641 - Ds\Vector::join example using a separator string
  • Example#5642 - Ds\Vector::join example without a separator string
  • Example#5643 - Ds\Vector::last example
  • Example#5644 - Ds\Vector::map example
  • Example#5645 - Ds\Vector::merge example
  • Example#5646 - Ds\Vector::pop example
  • Example#5647 - Ds\Vector::push example
  • Example#5648 - Ds\Vector::reduce with initial value example
  • Example#5649 - Ds\Vector::reduce without an initial value example
  • Example#5650 - Ds\Vector::remove example
  • Example#5651 - Ds\Vector::reverse example
  • Example#5652 - Ds\Vector::reversed example
  • Example#5653 - Ds\Vector::rotate example
  • Example#5654 - Ds\Vector::set example
  • Example#5655 - Ds\Vector::set example using array syntax
  • Example#5656 - Ds\Vector::shift example
  • Example#5657 - Ds\Vector::slice example
  • Example#5658 - Ds\Vector::sort example
  • Example#5659 - Ds\Vector::sort example using a comparator
  • Example#5660 - Ds\Vector::sorted example
  • Example#5661 - Ds\Vector::sorted example using a comparator
  • Example#5662 - Ds\Vector::sum integer example
  • Example#5663 - Ds\Vector::sum float example
  • Example#5664 - Ds\Vector::toArray example
  • Example#5665 - Ds\Vector::unshift example
  • Example#5666 - Ds\Deque::allocate example
  • Example#5667 - Ds\Deque::apply example
  • Example#5668 - Ds\Deque::capacity example
  • Example#5669 - Ds\Deque::clear example
  • Example#5670 - Ds\Deque::__construct example
  • Example#5671 - Ds\Deque::contains example
  • Example#5672 - Ds\Deque::copy example
  • Example#5673 - Ds\Deque::filter example using callback function
  • Example#5674 - Ds\Deque::filter example without a callback function
  • Example#5675 - Ds\Deque::find example
  • Example#5676 - Ds\Deque::first example
  • Example#5677 - Ds\Deque::get example
  • Example#5678 - Ds\Deque::get example using array syntax
  • Example#5679 - Ds\Deque::insert example
  • Example#5680 - Ds\Deque::isEmpty example
  • Example#5681 - Ds\Deque::join example using a separator string
  • Example#5682 - Ds\Deque::join example without a separator string
  • Example#5683 - Ds\Deque::last example
  • Example#5684 - Ds\Deque::map example
  • Example#5685 - Ds\Deque::merge example
  • Example#5686 - Ds\Deque::pop example
  • Example#5687 - Ds\Deque::push example
  • Example#5688 - Ds\Deque::reduce with initial value example
  • Example#5689 - Ds\Deque::reduce without an initial value example
  • Example#5690 - Ds\Deque::remove example
  • Example#5691 - Ds\Deque::reverse example
  • Example#5692 - Ds\Deque::reversed example
  • Example#5693 - Ds\Deque::rotate example
  • Example#5694 - Ds\Deque::set example
  • Example#5695 - Ds\Deque::set example using array syntax
  • Example#5696 - Ds\Deque::shift example
  • Example#5697 - Ds\Deque::slice example
  • Example#5698 - Ds\Deque::sort example
  • Example#5699 - Ds\Deque::sort example using a comparator
  • Example#5700 - Ds\Deque::sorted example
  • Example#5701 - Ds\Deque::sorted example using a comparator
  • Example#5702 - Ds\Deque::sum integer example
  • Example#5703 - Ds\Deque::sum float example
  • Example#5704 - Ds\Deque::toArray example
  • Example#5705 - Ds\Deque::unshift example
  • Example#5706 - Ds\Map::allocate example
  • Example#5707 - Ds\Map::apply example
  • Example#5708 - Ds\Map::capacity example
  • Example#5709 - Ds\Map::clear example
  • Example#5710 - Ds\Map::__construct example
  • Example#5711 - Ds\Map::copy example
  • Example#5712 - Ds\Map::diff example
  • Example#5713 - Ds\Map::filter example using callback function
  • Example#5714 - Ds\Map::filter example without a callback function
  • Example#5715 - Ds\Map::first example
  • Example#5716 - Ds\Map::get example
  • Example#5717 - Ds\Map::get example using array syntax
  • Example#5718 - Ds\Map::hasKey example
  • Example#5719 - Ds\Map::hasValue example
  • Example#5720 - Ds\Map::intersect example
  • Example#5721 - Ds\Map::isEmpty example
  • Example#5722 - Ds\Map::keys example
  • Example#5723 - Ds\Map::ksort example
  • Example#5724 - Ds\Map::ksort example using a comparator
  • Example#5725 - Ds\Map::ksorted example
  • Example#5726 - Ds\Map::ksorted example using a comparator
  • Example#5727 - Ds\Map::last example
  • Example#5728 - Ds\Map::map example
  • Example#5729 - Ds\Map::merge example
  • Example#5730 - Ds\Map::pairs example
  • Example#5731 - Ds\Map::put example
  • Example#5732 - Ds\Map::put example using objects as keys
  • Example#5733 - Ds\Map::putAll example
  • Example#5734 - Ds\Map::reduce with initial value example
  • Example#5735 - Ds\Map::reduce without an initial value example
  • Example#5736 - Ds\Map::remove example
  • Example#5737 - Ds\Map::reverse example
  • Example#5738 - Ds\Map::reversed example
  • Example#5739 - Ds\Map::skip example
  • Example#5740 - Ds\Map::slice example
  • Example#5741 - Ds\Map::sort example
  • Example#5742 - Ds\Map::sort example using a comparator
  • Example#5743 - Ds\Map::sort example
  • Example#5744 - Ds\Map::sort example using a comparator
  • Example#5745 - Ds\Map::sum integer example
  • Example#5746 - Ds\Map::sum float example
  • Example#5747 - Ds\Map::toArray example
  • Example#5748 - Ds\Map::union example
  • Example#5749 - Ds\Map::values example
  • Example#5750 - Ds\Map::xor example
  • Example#5751 - Ds\Pair::clear example
  • Example#5752 - Ds\Pair::copy example
  • Example#5753 - Ds\Pair::isEmpty example
  • Example#5754 - Ds\Pair::toArray example
  • Example#5755 - Ds\Set::add example using integers
  • Example#5756 - Ds\Set::add example using objects
  • Example#5757 - Ds\Set::allocate example
  • Example#5758 - Ds\Set::capacity example
  • Example#5759 - Ds\Set::clear example
  • Example#5760 - Ds\Set::__construct example
  • Example#5761 - Ds\Set::contains example
  • Example#5762 - Ds\Set::copy example
  • Example#5763 - Ds\Set::diff example
  • Example#5764 - Ds\Set::filter example using callback function
  • Example#5765 - Ds\Set::filter example without a callback function
  • Example#5766 - Ds\Set::first example
  • Example#5767 - Ds\Set::get example
  • Example#5768 - Ds\Set::get example using array syntax
  • Example#5769 - Ds\Set::intersect example
  • Example#5770 - Ds\Set::isEmpty example
  • Example#5771 - Ds\Set::join example using a separator string
  • Example#5772 - Ds\Set::join example without a separator string
  • Example#5773 - Ds\Set::last example
  • Example#5774 - Ds\Set::merge example
  • Example#5775 - Ds\Set::reduce with initial value example
  • Example#5776 - Ds\Set::reduce without an initial value example
  • Example#5777 - Ds\Set::remove example
  • Example#5778 - Ds\Set::reverse example
  • Example#5779 - Ds\Set::reversed example
  • Example#5780 - Ds\Set::slice example
  • Example#5781 - Ds\Set::sort example
  • Example#5782 - Ds\Set::sort example using a comparator
  • Example#5783 - Ds\Set::sorted example
  • Example#5784 - Ds\Set::sorted example using a comparator
  • Example#5785 - Ds\Set::sum integer example
  • Example#5786 - Ds\Set::sum float example
  • Example#5787 - Ds\Set::toArray example
  • Example#5788 - Ds\Set::union example
  • Example#5789 - Ds\Set::xor example
  • Example#5790 - Ds\Stack::clear example
  • Example#5791 - Ds\Stack::__construct example
  • Example#5792 - Ds\Stack::copy example
  • Example#5793 - Ds\Stack::isEmpty example
  • Example#5794 - Ds\Stack::peek example
  • Example#5795 - Ds\Stack::pop example
  • Example#5796 - Ds\Stack::push example
  • Example#5797 - Ds\Stack::toArray example
  • Example#5798 - Ds\Queue::allocate example
  • Example#5799 - Ds\Queue::capacity example
  • Example#5800 - Ds\Queue::clear example
  • Example#5801 - Ds\Queue::__construct example
  • Example#5802 - Ds\Queue::copy example
  • Example#5803 - Ds\Queue::isEmpty example
  • Example#5804 - Ds\Queue::peek example
  • Example#5805 - Ds\Queue::pop example
  • Example#5806 - Ds\Queue::push example
  • Example#5807 - Ds\Queue::toArray example
  • Example#5808 - Ds\PriorityQueue::allocate example
  • Example#5809 - Ds\PriorityQueue::capacity example
  • Example#5810 - Ds\PriorityQueue::clear example
  • Example#5811 - Ds\PriorityQueue::__construct example
  • Example#5812 - Ds\PriorityQueue::copy example
  • Example#5813 - Ds\PriorityQueue::isEmpty example
  • Example#5814 - Ds\PriorityQueue::peek example
  • Example#5815 - Ds\PriorityQueue::pop example
  • Example#5816 - Ds\PriorityQueue::push example
  • Example#5817 - Ds\PriorityQueue::toArray example
  • Example#5818 - Einstellen des Standardfilters, so dass er sich wie htmlspecialchars verhält
  • Example#5819 - Configuring the default filter to act like htmlspecialchars
  • Example#5820 - Validating email addresses with filter_var
  • Example#5821 - Validating IP addresses with filter_var
  • Example#5822 - Passing options to filter_var
  • Example#5823 - Sanitizing and validating email addresses
  • Example#5824 - Configuring a default filter
  • Example#5825 - filter_input_array Beispiel
  • Example#5826 - filter_input Beispiel
  • Example#5827 - filter_list Beispiel
  • Example#5828 - filter_var_array Beispiel
  • Example#5829 - filter_var-Beispiel
  • Example#5830 - call_user_func_array example
  • Example#5831 - call_user_func_array using namespace name
  • Example#5832 - Using lambda function
  • Example#5833 - Passing values by reference
  • Example#5834 - call_user_func-Beispiel und Referenzen
  • Example#5835 - call_user_func-Beispiel
  • Example#5836 - call_user_func mit Namespacenamen
  • Example#5837 - Verwenden einer Klassenmethode mit call_user_func
  • Example#5838 - Verwendung von Lambdafunktionen mit call_user_func
  • Example#5839 - Erzeugen einer anonymen Funktion per create_function
  • Example#5840 - Erzeugung einer generellen Bearbeitungsfunktion mit create_function
  • Example#5841 - Gebrauch der anonymen Funktionen als Callback-Funktion
  • Example#5842 - forward_static_call_array example
  • Example#5843 - forward_static_call example
  • Example#5844 - func_get_arg Beispiel
  • Example#5845 - func_get_arg Beispiel vor and nach PHP 5.3
  • Example#5846 - func_get_arg Beispiel zu byref und byval Argumenten
  • Example#5847 - func_get_args Beispiel
  • Example#5848 - func_num_args Beispiel
  • Example#5849 - function_exists-Beispiel
  • Example#5850 - get_defined_functions Beispiel
  • Example#5851 - register_shutdown_function Beispiel
  • Example#5852 - register_tick_function example
  • Example#5853 - Quickhash Example
  • Example#5854 - Quickhash ArrayAccess Example
  • Example#5855 - Quickhash Iterator Example
  • Example#5856 - Quickhash String Values Example
  • Example#5857 - QuickHashIntSet::add example
  • Example#5858 - QuickHashIntSet::__construct example
  • Example#5859 - QuickHashIntSet::delete example
  • Example#5860 - QuickHashIntSet::exists example
  • Example#5861 - QuickHashIntSet::getSize example
  • Example#5862 - QuickHashIntSet::loadFromFile example
  • Example#5863 - QuickHashIntSet::loadFromString example
  • Example#5864 - QuickHashIntSet::saveToFile example
  • Example#5865 - QuickHashIntSet::saveToString example
  • Example#5866 - QuickHashIntHash::add example
  • Example#5867 - QuickHashIntHash::__construct example
  • Example#5868 - QuickHashIntHash::delete example
  • Example#5869 - QuickHashIntHash::exists example
  • Example#5870 - QuickHashIntHash::get example
  • Example#5871 - QuickHashIntHash::getSize example
  • Example#5872 - QuickHash IntHash file format
  • Example#5873 - QuickHash IntHash file format
  • Example#5874 - QuickHashIntHash::loadFromFile example
  • Example#5875 - QuickHashIntHash::loadFromString example
  • Example#5876 - QuickHashIntHash::saveToFile example
  • Example#5877 - QuickHashIntHash::saveToString example
  • Example#5878 - QuickHashIntHash::set example
  • Example#5879 - QuickHashIntHash::update example
  • Example#5880 - QuickHashStringIntHash::add example
  • Example#5881 - QuickHashStringIntHash::__construct example
  • Example#5882 - QuickHashStringIntHash::delete example
  • Example#5883 - QuickHashStringIntHash::get example
  • Example#5884 - QuickHashStringIntHash::getSize example
  • Example#5885 - QuickHash StringIntHash file format
  • Example#5886 - QuickHash IntHash file format
  • Example#5887 - QuickHashStringIntHash::loadFromFile example
  • Example#5888 - QuickHashStringIntHash::loadFromString example
  • Example#5889 - QuickHashStringIntHash::saveToFile example
  • Example#5890 - QuickHashStringIntHash::saveToString example
  • Example#5891 - QuickHashStringIntHash::set example
  • Example#5892 - QuickHashStringIntHash::update example
  • Example#5893 - QuickHashIntStringHash::add example
  • Example#5894 - QuickHashIntStringHash::__construct example
  • Example#5895 - QuickHashIntStringHash::delete example
  • Example#5896 - QuickHashIntStringHash::get example
  • Example#5897 - QuickHashIntStringHash::getSize example
  • Example#5898 - QuickHash IntString file format
  • Example#5899 - QuickHash IntString file format
  • Example#5900 - QuickHashIntStringHash::loadFromFile example
  • Example#5901 - QuickHashIntStringHash::loadFromString example
  • Example#5902 - QuickHashIntStringHash::saveToFile example
  • Example#5903 - QuickHashIntStringHash::saveToString example
  • Example#5904 - QuickHashIntStringHash::set example
  • Example#5905 - QuickHashIntStringHash::update example
  • Example#5906 - Reflection Example from Shell (a Terminal)
  • Example#5907 - Extending the built-in classes
  • Example#5908 - Basic usage ReflectionClass
  • Example#5909 - Basic usage of ReflectionClass::export
  • Example#5910 - Basic usage of ReflectionClass::getConstructor
  • Example#5911 - ReflectionClass::getDefaultProperties example
  • Example#5912 - ReflectionClass::getDocComment example
  • Example#5913 - ReflectionClass::getEndLine example
  • Example#5914 - Basic usage of ReflectionClass::getExtension
  • Example#5915 - Basic usage of ReflectionClass::getExtensionName
  • Example#5916 - ReflectionClass::getInterfaceNames example
  • Example#5917 - ReflectionClass::getInterfaces example
  • Example#5918 - Basic usage of ReflectionClass::getMethod
  • Example#5919 - Basic usage of ReflectionClass::getMethods
  • Example#5920 - Filtering results from ReflectionClass::getMethods
  • Example#5921 - ReflectionClass::getName example
  • Example#5922 - ReflectionClass::getNamespaceName example
  • Example#5923 - ReflectionClass::getProperties filtering example
  • Example#5924 - Basic usage of ReflectionClass::getProperty
  • Example#5925 - ReflectionClass::getShortName example
  • Example#5926 - Basic usage of ReflectionClass::getStaticPropertyValue
  • Example#5927 - ReflectionClass::hasConstant example
  • Example#5928 - ReflectionClass::hasMethod example
  • Example#5929 - ReflectionClass::hasProperty example
  • Example#5930 - ReflectionClass::inNamespace example
  • Example#5931 - ReflectionClass::isAbstract example
  • Example#5932 - ReflectionClass::isAnonymous example
  • Example#5933 - Basic usage of ReflectionClass::isCloneable
  • Example#5934 - ReflectionClass::isFinal example
  • Example#5935 - ReflectionClass::isInstance related examples
  • Example#5936 - ReflectionClass::isInstantiable example
  • Example#5937 - Basic usage of ReflectionClass::isInterface
  • Example#5938 - Basic usage of ReflectionClass::isInternal
  • Example#5939 - ReflectionClass::isIterateable example
  • Example#5940 - Basic usage of ReflectionClass::newInstanceArgs
  • Example#5941 - ReflectionClass::__toString example
  • Example#5942 - ReflectionExtension example
  • Example#5943 - ReflectionExtension::getClasses example
  • Example#5944 - ReflectionExtension::getClassNames example
  • Example#5945 - ReflectionExtension::getConstants example
  • Example#5946 - ReflectionExtension::getDependencies example
  • Example#5947 - ReflectionExtension::getFunctions example
  • Example#5948 - ReflectionExtension::getINIEntries example
  • Example#5949 - ReflectionExtension::getName example
  • Example#5950 - ReflectionExtension::getVersion example
  • Example#5951 - ReflectionExtension::info example
  • Example#5952 - ReflectionFunction::__construct example
  • Example#5953 - ReflectionFunction::invoke example
  • Example#5954 - ReflectionFunction::invokeArgs example
  • Example#5955 - ReflectionFunction::invokeArgs with references example
  • Example#5956 - ReflectionFunction::__toString example
  • Example#5957 - ReflectionFunctionAbstract::getReturnType example
  • Example#5958 - Usage on built-in functions
  • Example#5959 - ReflectionFunctionAbstract::hasReturnType example
  • Example#5960 - Usage on built-in functions
  • Example#5961 - ReflectionFunctionAbstract::isClosure example
  • Example#5962 - ReflectionFunctionAbstract::isDeprecated example
  • Example#5963 - ReflectionMethod::__construct example
  • Example#5964 - ReflectionMethod::getDeclaringClass example
  • Example#5965 - ReflectionMethod::getModifiers example
  • Example#5966 - ReflectionMethod::getPrototype example
  • Example#5967 - ReflectionMethod::invoke example
  • Example#5968 - ReflectionMethod::invokeArgs example
  • Example#5969 - ReflectionMethod::__toString example
  • Example#5970 - Using the ReflectionParameter class
  • Example#5971 - Using the ReflectionParameter class
  • Example#5972 - Getting the class that declared the method
  • Example#5973 - Getting
  • Example#5974 - ReflectionParameter::getType example
  • Example#5975 - ReflectionParameter::hasType example
  • Example#5976 - ReflectionProperty::__construct example
  • Example#5977 - Getting value from private and protected properties using ReflectionProperty class
  • Example#5978 - ReflectionProperty::getDocComment example
  • Example#5979 - ReflectionProperty::getValue example
  • Example#5980 - ReflectionClass::isDefault example
  • Example#5981 - ReflectionProperty::setValue example
  • Example#5982 - ReflectionType::allowsNull example
  • Example#5983 - ReflectionType::isBuiltin example
  • Example#5984 - ReflectionType::__toString example
  • Example#5985 - ReflectionGenerator::__construct example
  • Example#5986 - ReflectionGenerator::getExecutingFile example
  • Example#5987 - ReflectionGenerator::getExecutingGenerator example
  • Example#5988 - ReflectionGenerator::getExecutingLine example
  • Example#5989 - ReflectionGenerator::getFunction example
  • Example#5990 - ReflectionGenerator::getThis example
  • Example#5991 - ReflectionGenerator::getTrace example
  • Example#5992 - boolval examples
  • Example#5993 - debug_zval_dump example
  • Example#5994 -
  • Example#5995 -
  • Example#5996 - Ein einfacher Vergleich von empty / isset
  • Example#5997 - empty und Zeichenketten-Offsets
  • Example#5998 - floatval-Beispiel
  • Example#5999 - floatval nichtnumerische Anfangszeichen Beispiel
  • Example#6000 - get_defined_vars-Beispiel
  • Example#6001 - get_resource_type Beispiel
  • Example#6002 - gettype-Beispiel
  • Example#6003 - import_request_variables example
  • Example#6004 - intval-Beispiele
  • Example#6005 - Überprüfen, ob die Variable ein Array ist
  • Example#6006 - is_bool-Beispiele
  • Example#6007 - is_callable Beispiel
  • Example#6008 - is_float-Beispiel
  • Example#6009 - is_int-Beispiel
  • Example#6010 - is_null-Beispiel
  • Example#6011 - is_numeric-Beispiele
  • Example#6012 - is_object-Beispiel
  • Example#6013 - is_resource-Beispiel
  • Example#6014 - is_scalar Example
  • Example#6015 - is_string-Beispiel
  • Example#6016 - isset-Beispiele
  • Example#6017 - isset und Zeichenketten-Offsets
  • Example#6018 - print_r-Beispiel
  • Example#6019 - return-Parameter-Beispiel
  • Example#6020 - serialize-Beispiel
  • Example#6021 - settype-Beispiel
  • Example#6022 - strval-Beispiel für die Verwendung der magischen __toString Methode
  • Example#6023 - unserialize-Beispiel
  • Example#6024 - unserialize_callback_func-Beispiel
  • Example#6025 - unset-Beispiel
  • Example#6026 - Verwendung von (unset) Casting
  • Example#6027 - var_dump-Beispiel
  • Example#6028 - var_export Beispiel
  • Example#6029 - Export von Klassen ab PHP 5.1.0
  • Example#6030 - Nutzung von __set_state (ab PHP 5.1.0)
  • Example#6031 -
  • Example#6032 - OAuth::fetch example
  • Example#6033 - OAuth::getAccessToken example
  • Example#6034 - OAuth::getRequestToken example
  • Example#6035 - OAuth::setRequestEngine example
  • Example#6036 - An OAuth::setRsaCertificate example
  • Example#6037 - OAuth::setToken example
  • Example#6038 - OAuthProvider::__construct example
  • Example#6039 - Example OAuthProvider::consumerHandler callback
  • Example#6040 - OAuthProvider::generateToken example
  • Example#6041 - OAuthProvider::is2LeggedEndpoint example
  • Example#6042 - Example OAuthProvider::timestampNonceHandler callback
  • Example#6043 - Example OAuthProvider::tokenHandler callback
  • Example#6044 - A sample SCA component
  • Example#6045 - The structure of an SCA for PHP component
  • Example#6046 - Obtaining a proxy for a local PHP class
  • Example#6047 - Obtaining a proxy for a web service
  • Example#6048 - Calling services
  • Example#6049 - Obtaining a proxy using getService
  • Example#6050 - Making calls on the proxy
  • Example#6051 - StockQuote Service
  • Example#6052 - Generated WSDL
  • Example#6053 - Generated WSDL
  • Example#6054 - location attribute
  • Example#6055 - method with two arguments
  • Example#6056 - types section illustrating named parameters
  • Example#6057 - A Component that uses Data Structures
  • Example#6058 - An SCA::getService example
  • Example#6059 - is_soap_fault-Beispiel
  • Example#6060 - Die SOAP-Standardmethode zur Fehlerbehandlung ist das Werfen von Exceptions.
  • Example#6061 - SoapClient::__doRequest-Beispiel
  • Example#6062 - SoapClient::__getFunctions-Beispiel
  • Example#6063 - SoapClient::__getLastRequest()-Beispiel
  • Example#6064 - SoapClient::__getLastRequestHeaders()-Beispiel
  • Example#6065 - SoapClient::__getLastResponse()-Beispiel
  • Example#6066 - SoapClient::__getLastResponse()-Beispiel
  • Example#6067 - SoapClient::__getTypes-Beispiel
  • Example#6068 - SoapClient::__setLocation-Beispiel
  • Example#6069 - SoapClient::__setSoapHeaders-Beispiel
  • Example#6070 - Mehrfachheader setzen
  • Example#6071 - SoapClient::__soapCall-Beispiel
  • Example#6072 - SoapClient::SoapClient-Beispiel
  • Example#6073 - SoapServer::addFunction Beispiel
  • Example#6074 - Beispiele
  • Example#6075 - SoapServer::getFunctions Beispiel
  • Example#6076 - Beispiele
  • Example#6077 - SoapServer::setPersistence Beispiel
  • Example#6078 - SoapServer::SoapServer example
  • Example#6079 - Some examples
  • Example#6080 - Some examples
  • Example#6081 - Beispiele
  • Example#6082 - SoapHeader::SoapHeader example
  • Example#6083 - Beispiele
  • Example#6084 - SoapParam::SoapParam example
  • Example#6085 - SoapVar::SoapVar-Beispiel
  • Example#6086 - Yar Server Example
  • Example#6087 - Access the server in borwser(GET request)
  • Example#6088 - Yar Client Example
  • Example#6089 - Yar Concurrent Client Example
  • Example#6090 - Yar_Server::__construct example
  • Example#6091 - Yar_Server::handle example
  • Example#6092 - Yar_Client::__call example
  • Example#6093 - Yar_Client::__construct example
  • Example#6094 - Yar_Client::setOpt example
  • Example#6095 - Yar_Concurrent_Client::call example
  • Example#6096 - Yar_Concurrent_Client::loop example
  • Example#6097 - Yar_Concurrent_Client::reset example
  • Example#6098 - Yar_Server_Exception::getType example
  • Example#6099 - Yar_Client_Exception::getType example
  • Example#6100 - XMLRPC client functions example
  • Example#6101 - XML-RPC type example
  • Example#6102 - A xmlrpc_set_type example
  • Example#6103 - For Each in ASP
  • Example#6104 - foreach in PHP
  • Example#6105 - COM example (1)
  • Example#6106 - COM example (2)
  • Example#6107 - DOTNET example
  • Example#6108 - Variant example, PHP 4.x style
  • Example#6109 - Variant example, PHP 5 style
  • Example#6110 - COM event sink example
  • Example#6111 - Statistics about the current PHP process
  • Example#6112 - Statistics about global memory utilization
  • Example#6113 - Registering a PHP script to run as a service
  • Example#6114 - Unregistering a service
  • Example#6115 - Running as a service
  • Example#6116 - A win32_create_service example
  • Example#6117 - A win32_delete_service example
  • Example#6118 - A win32_start_service_ctrl_dispatcher example
  • Example#6119 - book.xml
  • Example#6120 - Creating a new DOMAttr object
  • Example#6121 - DOMAttr::isId() Example
  • Example#6122 - Creating a new DOMCdataSection object
  • Example#6123 - Creating a new DOMComment
  • Example#6124 - Creating a new DOMDocument
  • Example#6125 - Creating a new element and inserting it as root
  • Example#6126 - Passing text containing an unescaped & as value
  • Example#6127 - Creating a new element and inserting it as root
  • Example#6128 - A namespace prefix example
  • Example#6129 - DOMDocument::getElementById() Example
  • Example#6130 - Basic Usage Example
  • Example#6131 - Get all the XInclude elements
  • Example#6132 - DOMDocument::importNode example
  • Example#6133 - Creating a Document
  • Example#6134 - Creating a Document
  • Example#6135 - Creating a Document
  • Example#6136 - Creating a Document
  • Example#6137 - Static invocation of loadXML
  • Example#6138 - Adding a new method to DOMElement to ease our code
  • Example#6139 - Retrieving elements as custom class
  • Example#6140 - Retrieving owner document
  • Example#6141 - Saving a DOM tree into a file
  • Example#6142 - Saving a HTML tree into a string
  • Example#6143 - Saving a HTML tree into a file
  • Example#6144 - Saving a DOM tree into a string
  • Example#6145 - Example of DTD validation
  • Example#6146 - DOMDocument::xinclude() example
  • Example#6147 - Appending XML data to your document
  • Example#6148 - Creating a new DOMElement
  • Example#6149 - Setting an attribute
  • Example#6150 - Creating a new DOMEntityReference
  • Example#6151 - Creating a document with an attached DTD
  • Example#6152 - Testing your DOM Implementation
  • Example#6153 - Adding a child
  • Example#6154 - DOMNode::getLineNo example
  • Example#6155 - DOMNode::getNodePath example
  • Example#6156 - Removing a child
  • Example#6157 - Traversing all the entries of the table
  • Example#6158 - Creating a new DOMProcessingInstruction object
  • Example#6159 - Creating a new DOMText
  • Example#6160 - Getting the count of all the english books
  • Example#6161 - Getting all the english books
  • Example#6162 - book.xml
  • Example#6163 - DOMXPath::registerPHPFunctions with php:functionString
  • Example#6164 - DOMXPath::registerPHPFunctions with php:function
  • Example#6165 - Importiert SimpleXML in DOM mit der Funktion dom_import_simplexml
  • Example#6166 - A libxml_get_errors example
  • Example#6167 - libxml_set_external_entity_loader example
  • Example#6168 - A libxml_set_streams_context example
  • Example#6169 - A libxml_use_internal_errors example
  • Example#6170 - Access via property name
  • Example#6171 - Access via property name as array index
  • Example#6172 - Data Object iteration
  • Example#6173 - Access many-valued property by name
  • Example#6174 - Many-valued element access
  • Example#6175 - Many-valued property iteration
  • Example#6176 - Chained property access
  • Example#6177 - XPath navigation
  • Example#6178 - XPath querying
  • Example#6179 - Creating child data objects
  • Example#6180 - Unset a primitive property
  • Example#6181 - Unset a data object
  • Example#6182 - Unset a referenced data object
  • Example#6183 - Access via property index
  • Example#6184 - Getting the SDO_Sequence interface
  • Example#6185 - Get/set sequence values
  • Example#6186 - Sequence iteration
  • Example#6187 - Sequence versus Data Object
  • Example#6188 - Adding to a sequence
  • Example#6189 - Removing from a sequence
  • Example#6190 - Reflecting on a Data Object
  • Example#6191 - Accessing the type information
  • Example#6192 - A SDO_DAS_DataFactory::addPropertyToType example
  • Example#6193 - A SDO_DAS_DataFactory::addType example
  • Example#6194 - Creating a data object
  • Example#6195 - Retrieving a data object
  • Example#6196 - Updating a data object
  • Example#6197 - Deleting a data object
  • Example#6198 - One company, one department - Create
  • Example#6199 - One company, one department - Retrieve and Update
  • Example#6200 - One company, two departments - Retrieve and Delete
  • Example#6201 - One company, one department, one employee - Create
  • Example#6202 - One company, one department, one employee - Retrieve and update
  • Example#6203 - One company, two departments, two employees - Retrieve and delete
  • Example#6204 - Retrieving a data object using executePreparedQuery
  • Example#6205 - Loading, altering, and saving an XML document
  • Example#6206 - Creating a new XML document
  • Example#6207 - Setting XML document properties
  • Example#6208 - Using an open type
  • Example#6209 - Finding out what you can from the document
  • Example#6210 - Printing the SDO model
  • Example#6211 - Einzubindende Datei example.php mit XML-String
  • Example#6212 - <plot> ermitteln
  • Example#6213 - Auf <line> zugreifen
  • Example#6214 - Auf nicht-eindeutige Elemente per SimpleXML zugreifen
  • Example#6215 - Attribute verwenden
  • Example#6216 - Vergleichen von Elementen und Attributen mit Text
  • Example#6217 - Zwei Elemente vergleichen
  • Example#6218 - XPath verwenden
  • Example#6219 - Werte setzen
  • Example#6220 - Elemente und Attribute hinzufügen
  • Example#6221 - DOM Interoperabilität
  • Example#6222 - Laden eines defekten XML-Strings
  • Example#6223 - Hinzufügen von Attributen und Kindern zu einem SimpleXML-Element
  • Example#6224 - Hinzufügen von Attributen und Kindern zu einem SimpleXML-Element
  • Example#6225 - XML erstellen
  • Example#6226 - Anwendung von asXML() auf SimpleXMLElement::xpath-Ergebnisse
  • Example#6227 - Einen XML-String auswerten
  • Example#6228 - Durch ein children() Pseudo-Array traversieren
  • Example#6229 - Erstellen eines SimpleXMLElement-Objekts
  • Example#6230 - Erstellen eines SimpleXMLElement-Objekts von einem URL
  • Example#6231 - Counting the number of children
  • Example#6232 - Ermitteln der Dokument-Namespaces
  • Example#6233 - Arbeiten mit multiplen Namespaces
  • Example#6234 - Ermitteln des XML-Element-Namens
  • Example#6235 - Verwendete Dokument-Namespaces zurückgeben
  • Example#6236 - Einen Namespace-Prefix zur Verwendung in einem XPath-Query setzen
  • Example#6237 - Get string content
  • Example#6238 - Xpath
  • Example#6239 - Return the current element
  • Example#6240 - Return the sub-elements of the current element
  • Example#6241 - Check whether the current element has sub-elements
  • Example#6242 - Get the current XML tag key
  • Example#6243 - Move to the next element
  • Example#6244 - Rewind to the first element
  • Example#6245 - Check whether the current element is valid
  • Example#6246 - DOM Import
  • Example#6247 - Ein XML-Dokument auswerten
  • Example#6248 - Einen XML-String auswerten
  • Example#6249 - Serializing a single value with WDDX
  • Example#6250 - Using incremental packets with WDDX
  • Example#6251 - wddx_serialize_vars-Beispiel
  • Example#6252 - Show XML Element Structure
  • Example#6253 - Map XML to HTML
  • Example#6254 - External Entity Example
  • Example#6255 - xmltest.xml
  • Example#6256 - xmltest2.xml
  • Example#6257 - xml_parse_into_struct example
  • Example#6258 - moldb.xml - small database of molecular information
  • Example#6259 - parsemoldb.php - parses moldb.xml into an array of molecular objects
  • Example#6260 - xml_set_object example
  • Example#6261 - Validierung von XML
  • Example#6262 - collection.xml
  • Example#6263 - collection.xsl
  • Example#6264 - fruits.xml
  • Example#6265 - fruits.xsl
  • Example#6266 - Sammel und ausgaben der Fehler
  • Example#6267 - Verwendung von XSLTProcessor
  • Example#6268 - Prüfen auf EXSLT-Unterstützung
  • Example#6269 - Einfacher Aufruf einer PHP-Funktion durch ein Stylesheet
  • Example#6270 - Ändern des Parameters "owner" vor der Transformation
  • Example#6271 - Ausgabe des Profilers
  • Example#6272 - Transformierung in ein DOMDocument
  • Example#6273 - Transformierung in eine HTML-Datei
  • Example#6274 - Transformierung in einen String
  • Example#6275 - Leak Detection in Action
  • Example#6276 - Accessor macros for per-module globals
  • Example#6277 - "counter"'s basic interface
  • Example#6278 - "counter"'s extended interface
  • Example#6279 - "counter"'s objective interface
  • Example#6280 - An example config.m4 file
  • Example#6281 - Sample configure output
  • Example#6282 - counter's config.m4 file
  • Example#6283 - An example config.w32 file
  • Example#6284 - counter's config.w32 file
  • Example#6285 - Files in the counter extension, in no particular order
  • Example#6286 - zend_module declaration in the counter extension
  • Example#6287 - zend_module definition in PHP 5.3
  • Example#6288 - Counter extension module definition
  • Example#6289 - The wrong way to store the basic counter interface's value
  • Example#6290 - The counter module's globals
  • Example#6291 - The counter module's global structure declaration
  • Example#6292 - Accessor macros for per-module globals
  • Example#6293 - The right way to store the basic counter interface's value
  • Example#6294 - counter's PHP_MINFO function
  • Example#6295 - Example macros for invoking pdo_SKEL_error
  • Example#6296 - Using pdo_parse_params
  • Example#6297 - Implementing preparer for drivers that don't support native prepared statements
  • Example#6298 - simple stream example that displays the PHP home page
  • Example#6299 - How to accept a stream as a parameter
  • Example#6300 - How to return a stream from a function
  • Example#6301 - The default config.m4.
  • Example#6302 - A simple extension.
  • Example#6303 - A test file for first_module.so.
  • Example#6304 - Internal declaration of zend_function_entry.
  • Example#6305 - Internal declaration of zend_module_entry.
  • Example#6306 - PHP's implementation of variable arguments in fsockopen().
  • Example#6307 - PHP/Zend zval type definition.
  • Example#6308 - Testing for referenced parameter passing.
  • Example#6309 - Creating variables with different scopes.
  • Example#6310 - Creation of a long.
  • Example#6311 - Adding an element to an associative array.
  • Example#6312 - Adding an element to an indexed array.
  • Example#6313 - Source code and screenshot for output in phpinfo.
  • Example#6314 - Printing execution information.
  • Example#6315 - Calling user functions.
  • Example#6316 - Ein verstecktes HTML-Formularelement
  • Example#6317 - Daten, die vom Benutzer bearbeitet werden sollen
  • Example#6318 - In einem URL
  • Example#6319 - JavaScript mit PHP generieren
  • Example#6320 - Register Globals emulieren
  • Example#6321 - In PHP Core
  • Example#6322 - Object Oriented Code in PHP Core
  • Example#6323 - In the bzip2 Extension
  • Example#6324 - In the datetime Extension
  • Example#6325 - In the dBase Extension
  • Example#6326 - In the mcrypt Extension
  • Example#6327 - In the oci8 Extension
  • Example#6328 - In the SPL Extension
  • Example#6329 - In the Semaphore (sysvmsg) extension
  • Example#6330 - A 5.2.1+ Zip Example
  • Example#6331 - strrpos and strripos now use the entire string as a needle
  • Example#6332 - An object with no properties is no longer considered "empty"
  • Example#6333 - In some cases classes must be declared before used
  • Example#6334 - Migrating Apache configuration files for PHP 5
  • Example#6335 - Migrating Apache configuration files for PHP 5, CGI mode
  • Example#6336 - Aktiviere volle Fehlerausgaben im Browser für die dev. Domain
  • Example#6337 - Binde für ein zu sicherndes Verzeichnis ein Sicherheitsscript hinzu
  • Example#6338 - include_path unter Unix
  • Example#6339 - include_path unter Windows
  • Example#6340 - include_path unter Unix unter Verwendung der ${USER} Umgebungsvariablen
  • Example#6341 - string.rot13
  • Example#6342 - string.toupper
  • Example#6343 - string.tolower
  • Example#6344 - string.strip_tags
  • Example#6345 - convert.base64-encode & convert.base64-decode
  • Example#6346 - convert.quoted-printable-encode & convert.quoted-printable-decode
  • Example#6347 - zlib.deflate and zlib.inflate
  • Example#6348 - zlib.deflate simple
  • Example#6349 - bzip2.compress and bzip2.decompress
  • Example#6350 - Encrypting file output using 3DES
  • Example#6351 - Reading an encrypted file
Funktions- und Methodenverzeichnis
Changelog
Verzeichnis der Inhaltsverzeichnisse


Changelog

Folgende Änderungen wurden an den Funktionen der gebündelten Extensions vorgenommen.

Version | Function | Description
Seit 5.2.1 | mt_srand | Die Mersenne-Twister-Implementation in PHP verwendet jetzt einen neuen Seeding-Algorithmus von Richard Wagner. Identische Seeds erzeugen nicht länger dieselbe Sequenz von Werten, die in früheren Versionen erzeugt wurde. Es ist nicht abzusehen, dass eine solche Änderung noch einmal nötig wird, bedingungslos darauf vertrauen sollte man aber nicht.
Seit 4.1.0 | bindec | Die Funktion kann nun Werte, die zu groß für ein integer der jeweiligen Plattform ist, stattdessen als float zurückgeben.
Enter the version of change here | pcntl_signal_get_handler | Describe the change
7.2.0 | idn_to_ascii | INTL_IDNA_VARIANT_2003 has been deprecated; use INTL_IDNA_VARIANT_UTS46 instead.
 | idn_to_utf8 | INTL_IDNA_VARIANT_2003 has been deprecated; use INTL_IDNA_VARIANT_UTS46 instead.
 | imageantialias | imageantialias is now generally available. Formerly it was only available if PHP was compiled with the bundled version of the GD library.
 | imagegd | imagegd now allows to output truecolor images. Formerly, these have been implicitly converted to palette.
 | imagelayereffect | Added IMG_EFFECT_MULTIPLY (requires system libgd >= 2.1.1 or the bundled libgd).
 | proc_nice | Diese Funktion steht nun unter Windows zur Verfügung.
7.1.0 | file_get_contents | Unterstützung für negative offsets wurde hinzugefügt.
 | getimagesize | Unterstützung für WebP hinzugefügt.
 | getopt | Added the optind parameter.
 | grapheme_extract | Support for negative starts has been added.
 | grapheme_stripos | Support for negative offsets has been added.
 | grapheme_strpos | Support for negative offsets has been added.
 | iconv_strpos | Support for negative offsets has been added.
 | mb_ereg | mb_ereg will now set regs to an empty array, if nothing matched. Formerly, regs was not modified in that case.
 | mb_ereg_replace | The e modifier has been deprecated.
 | mb_ereg_search_setpos | Support for negative positions has been added.
 | mb_eregi | mb_eregi will now set regs to an empty array, if nothing matched. Formerly, regs was not modified in that case.
 | mb_eregi_replace | The e modifier has been deprecated.
 | mb_strimwidth | Support for negative starts and widths has been added.
 | mb_stripos | Support for negative offsets has been added.
 | mb_strpos | Support for negative offsets has been added.
 | openssl_decrypt | The tag and aad parameters were added.
 | output_reset_rewrite_vars | Before PHP 7.1.0, rewrite vars set by output_add_rewrite_var use the same Session module trans sid output buffer. Since PHP 7.1.0, dedicated output buffer is used and output_reset_rewrite_vars only removes rewrite vars defined by output_add_rewrite_var.
7.0.11 | iconv_substr | If str is equal to offset characters long, an empty string will be returned. Prior to this version, FALSE was returned in this case.
7.0.0 | array_column | Added the ability for the input parameter to be an array of objects.
 | assert | assert ist nun ein Sprachkonstrukt und keine Funktion mehr. assertion kann nun ein Ausdruck sein. Der zweite Parameter wird nun entweder als exception interpretiert (wenn ein Throwable Objekt übergeben wird), oder als description, was ab PHP 5.4.8 unterstützt wird.
 | define | array Werte sind erlaubt.
 | dirname | Der optionale Parameter levels wurde hinzugefügt.
 | gmmktime | Der Parameter is_dst wurde entfernt.
 | is_numeric | Zeichenketten in hexadezimaler Notation (z.B. 0xf4c3b00c) werden nicht länger als numerische Zeichenketten angesehen, d.h. is_numeric gibt nun FALSE zurück.
 | list | Zeichenketten können nicht mehr entpackt werden.
 | list | list Ausdrücke dürfen nicht mehr vollständig leer sein.
 | list | Die Reihenfolge, in der die Zuweisungsoperationen durchgeführt werden, wurde geändert.
 | mktime | Der Parameter is_dst wurde entfernt.
 | ob_start | Falls ob_start innerhalb eines bereits aktiven Callbacks aufgerufen wird, erzeugt diese Funktion nicht länger den Fehler E_ERROR sondern E_RECOVERABLE_ERROR. Dies erlaubt es eigenen Funktionen zur Fehlerbehandlung diesen Fehler zu verarbeiten.
 | parse_ini_file | Das Raute-Symbol (#) kann nicht mehr für Kommentare verwendet werden.
 | preg_replace | Die Unterstützung für den /e Modifikator wurde entfernt. Verwenden Sie statt dessen preg_replace_callback.
 | setlocale | Die Unterstützung für an den category Parameter übergebene Zeichenketten wurde entfernt. Nur LC_* Konstanten können ab dieser Version verwendet werden.
 | substr | Ist string start Zeichen lang, wird eine leere Zeichenkette zurückgegegben. Vor dieser Version, wurde in diesem Fall FALSE zurückgegeben.
 | unserialize | Der options Parameter wurde hinzugefügt.
 | IntlDateFormatter::setTimeZoneId | This function has been removed.
5.6.25, 7.0.10 | SplFileObject::getCsvControl | Added the escape character to the returned array.
5.6.16 | mysqli::real_connect | Added the MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT flag for MySQL Native Driver
5.6.12 | gd_info | WebP-Unterstützung hinzugefügt.
5.6.6 | json_encode | Die JSON_PRESERVE_ZERO_FRACTION option wurde hinzugefügt.
5.6.5 | crypt | Wird die Fehlerzeichenkette "*0" als salt angegeben, wird nun aus Konsistenz mit anderen Crypt-Implementierungen "*1" zurückgegeben. Vor dieser Version hat PHP 5.6 fälschlicherweise einen DES Hash zurückgegeben.
5.6.3 | pack | Die "q", "Q", "J" und "P" Codes wurden hinzugefügt, um die Arbeit mit 64-bit Zahlen zu ermöglichen.
5.6.1 | parse_ini_file | Neuen Modus INI_SCANNER_TYPED hinzugefügt.
 | sem_acquire | Der $nowait Parameter wurde hinzugefügt.
5.6.0 | array_fill | num kann nun 0 sein. Zuvor musste num größer als 0 sein.
 | array_filter | Der optionale Parameter flag und die Konstanten ARRAY_FILTER_USE_KEY und ARRAY_FILTER_USE_BOTH wurden hinzugefügt.
 | crypt | Erzeugt eine E_NOTICE Sicherheitswarnung, wenn salt ausgelassen wird.
 | curl_setopt | CURL_SAFE_UPLOAD ist nun per Voreinstellung TRUE.
 | curl_setopt | CURLOPT_CLOSEPOLICY und begleitende Werte wurden entfernt.
 | escapeshellcmd | Der Standardwert für den Parameter encoding wurde so angepasst, dass dieser Wert aus der Konfigurationseinstellung default_charset bezogen wird.
 | hash_algos | Unterstützung für gost-crypto hinzugefügt. Dieser implementiert die GOST Hash-Funktion unter Verwendung der CryptoPro S-box Tabellen wie unter RFC 4357, section 11.2 spezifiziert.
 | html_entity_decode | Der Standardwert für den Parameter encoding wurde so angepasst, dass dieser Wert aus der Konfigurationseinstellung default_charset bezogen wird.
 | htmlentities | Der Standardwert für den Parameter encoding wurde so angepasst, dass dieser Wert aus der Konfigurationseinstellung default_charset bezogen wird.
 | htmlspecialchars | Der Standardwert für den Parameter encoding wurde so angepasst, dass dieser Wert aus der Konfigurationseinstellung default_charset bezogen wird.
 | json_decode | Ungültige nicht kleingeschriebene Varianten von true, false und null literals sind nicht weiter gültige Eingaben und werden eine Warnung hervorrufen.
 | mb_regex_encoding | Default encoding is changed to UTF-8. It was EUC-JP Previously.
 | mcrypt_create_iv | MCRYPT_DEV_URANDOM is now the default value of source.
 | mcrypt_decrypt | Invalid key and iv sizes are no longer accepted. mcrypt_decrypt will now throw a warning and return FALSE if the inputs are invalid. Previously keys and IVs were padded with '\0' bytes to the next valid size.
 | mcrypt_encrypt | Invalid key and iv sizes are no longer accepted. mcrypt_encrypt will now throw a warning and return FALSE if the inputs are invalid. Previously keys and IVs were padded with '\0' bytes to the next valid size.
 | pg_connect | Unterstützung für die Übergabe der PGSQL_CONNECT_ASYNC Konstante als connect_type wurde hinzugefügt.
 | pg_convert | Nicht länger experimentell. Boolesche/NULL Datentypen werden unterstützt. Unbekannte/nicht unterstützte Datentypen werden ohne Gültigkeitsprüfung maskiert. pg_convert kann mit jedem Datentypen verwendet werden.
 | pg_delete | Nicht länger experimentell. Die PGSQL_DML_ESCAPE Konstante wurde hinzugefügt, wie auch Unterstützung für TRUE/FALSE und NULL Datentypen.
 | pg_insert | Nicht länger experimentell. Die PGSQL_DML_ESCAPE Konstante wurde hinzugefügt, wie auch Unterstützung für TRUE/FALSE und NULL Datentypen.
 | pg_lo_seek | Unterstützung für 64bit große Objekte von PostgreSQL 9.3 wurde hinzugefügt. Sowohl Client als auch Server müssen PostgreSQL 9.3 unterstützen, und PHP muss ein 64bit Build sein, um 64bit große Objekte verwenden zu können.
 | pg_lo_tell | Unterstützung für 64bit große Objekte von PostgreSQL 9.3 wurde hinzugefügt. Sowohl Client als auch Server müssen PostgreSQL 9.3 unterstützen, und PHP muss ein 64bit Build sein, um 64bit große Objekte verwenden zu können.
 | pg_lo_truncate | Added truncate function. It supports PostgreSQL 9.3's 64bit large object. Both client and server must support PostgreSQL 9.3 and PHP must be 64bit build to use 64bit large object.
 | pg_meta_data | Nicht länger experimentell. "is enum" wurde als Standardattribut hinzugefügt. extended Flag wurde hinzugefügt.
 | pg_select | Nicht länger experimentell. Die PGSQL_DML_ESCAPE Konstante wurde hinzugefügt, wie auch Unterstützung für TRUE/FALSE und NULL Datentypen.
 | pg_update | Nicht länger experimentell. Die PGSQL_DML_ESCAPE Konstante wurde hinzugefügt, wie auch Unterstützung für TRUE/FALSE und NULL Datentypen.
 | stream_socket_enable_crypto | Introduce STREAM_CRYPTO_METHOD_ANY_CLIENT, STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT, STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT, STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT, STREAM_CRYPTO_METHOD_ANY_SERVER, STREAM_CRYPTO_METHOD_TLSv1_0_SERVER, STREAM_CRYPTO_METHOD_TLSv1_1_SERVER, STREAM_CRYPTO_METHOD_TLSv1_2_SERVER.
 | stream_socket_enable_crypto | The crypto_type is now optional.
 | substr_compare | length kann nun 0 sein.
 | unserialize | Die Manipulation der serialisierten Daten durch das Ersetzen von C: mit O: um die Objektinstanziierung ohne Aufruf des Konstruktors zu erzwingen, schlägt nun fehl.
 | ReflectionClass::newInstanceWithoutConstructor | All internal classes can now be instantiated except for those declared final.
 | XMLReader::getAttributeNo | XMLReader::getAttributeNo gibt nun NULL zurück, wenn das Attribut nicht existiert.
 | XMLReader::getAttributeNs | XMLReader::getAttributeNS gibt nun NULL zurück, wenn das Attribut nicht existiert.
5.5.22, 5.6.6 | flock | Unterstützung für den wouldblock Parameter unter Windows hinzugefügt.
5.5.21, 5.6.5 | SplFileObject::fputcsv | Added the escape parameter.
5.5.21 | crypt | Wird die Fehlerzeichenkette "*0" als salt angegeben, wird nun aus Konsistenz mit anderen Crypt-Implementierungen "*1" zurückgegeben. Vor dieser Version hat PHP 5.5 fälschlicherweise einen DES Hash zurückgegeben.
5.5.19/5.6.3 | imagescale | The calculation of the height if new_height was negative or omitted was fixed; prior to these versions, the aspect ratio was not maintained correctly.
5.5.8 | DatePeriod::__construct | end Typ zu DateTimeImmutable geändert. Zuvor war es DateTime.
5.5.7 | apache_request_headers | Diese Funktion wurde im CLI Server verfügbar.
 | apache_response_headers | Diese Funktion wurde im CLI Server verfügbar.
 | getallheaders | Diese Funktion wurde im CLI Server verfügbar.
5.5.4 | fputcsv | The escape_char parameter was added
5.5.3/5.4.19 | pg_delete | Direkte SQL-Injection in table_name und indirekte SQL-Injection in Bezeichner wurden behoben.
 | pg_insert | Direkte SQL-Injection in table_name und indirekte SQL-Injection in Bezeichner wurden behoben.
 | pg_select | Direkte SQL-Injection in table_name und indirekte SQL-Injection in Bezeichner wurden behoben.
 | pg_update | Direkte SQL-Injection in table_name und indirekte SQL-Injection in Bezeichner wurden behoben.
5.5.2 | DOMDocument::schemaValidate | Added the flags parameter
 | DOMDocument::schemaValidateSource | Added the flags parameter
5.5.1 | hex2bin | Eine Warnung wird erzeugt, wenn der Eingabestring ein ungültiger hexadezimaler String ist.
 | pg_unescape_bytea | Eine Warnung wird erzeugt, wenn die Eingabezeichenkette ungültig ist.
5.5.0/PECL 3.0.0 | IntlDateFormatter::create | An IntlCalendar object is allowed for calendar. Objects of type IntlTimeZone and DateTimeZone are allowed for timezone. Invalid timezone identifiers (including empty strings) are no longer allowed for timezone. If NULL is given for timezone, the timezone identifier given by date_default_timezone_get will be used instead of ICU's default.
 | IntlDateFormatter::format | Support for providing IntlCalendar objects to the value parameter was added.
 | IntlDateFormatter::setCalendar | It became possible to pass an IntlCalendar object.
5.5.0 | DatePeriod::__construct | start Typ zu DateTimeImmutable geändert. Zuvor war es DateTime.
 | curl_getinfo | CURLINFO_RESPONSE_CODE, CURLINFO_HTTP_CONNECTCODE, CURLINFO_HTTPAUTH_AVAIL, CURLINFO_PROXYAUTH_AVAIL, CURLINFO_OS_ERRNO, CURLINFO_NUM_CONNECTS, CURLINFO_SSL_ENGINES, CURLINFO_COOKIELIST, CURLINFO_FTP_ENTRY_PATH, CURLINFO_APPCONNECT_TIME, CURLINFO_CONDITION_UNMET, CURLINFO_RTSP_CLIENT_CSEQ, CURLINFO_RTSP_CSEQ_RECV, CURLINFO_RTSP_SERVER_CSEQ und CURLINFO_RTSP_SESSION_ID eingeführt.
 | curl_setopt | CURLOPT_SHARE wurde eingeführt.
 | curl_setopt | Die cURL-Resource wurde als erstes Argument zum CURLOPT_PROGRESSFUNCTION Callback hinzugefügt.
 | empty | empty unterstützt nun Ausdrücke anstatt nur Variablen.
 | imagerotate | This function is now affected by the interpolation method set by the imagesetinterpolation function.
 | imagerotate | The ignore_transparent is now silently ignored.
 | iterator_to_array | iterator_to_array gained support for key types other than integer and string when the use_keys parameter is enabled.
 | json_encode | Der Parameter depth wurde hinzugefügt.
 | mysql_connect | Die Funktion erzeugt einen Fehler der Stufe E_DEPRECATED.
 | mysql_db_name | Die Funktion mysql_list_dbs ist veraltet und gibt einen Fehler der Stufe E_DEPRECATED aus.
 | mysql_pconnect | Die Funktion erzeugt einen Fehler der Stufe E_DEPRECATED.
 | mysql_tablename | Die Funktion mysql_tablename ist veraltet und ruft einen Fehler der Stufe E_DEPRECATED hervor.
 | pack | Der "Z" Code mit equivalenter Funktionsweise wie "a" wurde zwecks Perl-Kompatibilität hinzugefügt.
 | php_logo_guid | php_logo_guid wurde von PHP entfernt.
 | phpinfo | Die Logo-GUIDs wurden durch data URIs ersetzt, und daher hat das Abschalten von expose_php keine Auswirkung auf das Ergebnis von phpinfo(). Die Danksagungen sind nun ebenfalls direkt in der Ausgabe eingebettet anstatt verlinkt zu sein.
 | preg_replace | Der Modifikator /e ist veraltet und sollte nicht mehr verwendet werden. Verwenden Sie stattdessen preg_replace_callback. Für ergänzende Informationen über Sicherheitsrisiken siehe PREG_REPLACE_EVAL.
 | setcookie | Ein Max-Age Attribut ist nun im Set-Cookie Header, der an den Client gesendet wird, enthalten.
 | setrawcookie | Ein Max-Age Attribut ist nun im Set-Cookie Header, der an den Client gesendet wird, enthalten.
 | unpack | Änderungen wurden durchgeführt, um diese Funktion in Übereinstimmung mit Perl zu bringen: Der "a" Code erhält nun abschließende NULL Bytes. Der "A" Code entfernt nun alle abschließenden ASCII Whitespaces (Leerzeichen, Tabs, Zeilenvorschübe, Wagenrückläufe und NULL Bytes). Der "Z" Code wurde für mit NULL aufgefüllte Zeichenketten hinzugefügt, und entfernt abschließende NULL Bytes.
 | zend_logo_guid | zend_logo_guid wurde von PHP entfernt.
 | IntlDateFormatter::setTimeZoneId | This function has been deprecated.
 | mysqli::commit | Added flags and name parameters.
 | mysqli::options | The MYSQLI_SERVER_PUBLIC_KEY and MYSQLI_SERVER_PUBLIC_KEY options were added.
 | mysqli::rollback | Added flags and name parameters.
 | SoapClient::SoapClient | Neue ssl_method Option.
5.4.43, 5.5.27, 5.6.11 | escapeshellcmd | Ausrufezeichen werden durch Leerzeichen ersetzt.
5.4.32, 5.5.16 | ucwords | Parameter delimiters wurde hinzugefügt.
5.4.8 | assert | Der description Parameter wurde hinzugefügt. Die description wird nun ebenfalls zu einer Callbackfunktion im ASSERT_CALLBACK Modus als viertes Argument übergeben.
 | mb_strcut | Passing NULL as length extracts all bytes to the end of the string. Prior to this version NULL was treated the same as 0.
 | mb_substr | Passing NULL as length extracts all characters to the end of the string. Prior to this version NULL was treated the same as 0.
5.4.7 | curl_getinfo | CURLINFO_PRIMARY_IP, CURLINFO_PRIMARY_PORT, CURLINFO_LOCAL_IP und CURLINFO_LOCAL_PORT eingeführt.
 | parse_url | Host-Erkennung bei fehlendem Schema und führendem Komponententrenner korrigiert.
5.4.4 | hex2bin | Wenn die Länge des Eingabestrings ungerade ist, wird ein Fehler geworfen. In PHP 5.4.0 wurde ein String ungerader Länge akzeptiert, jedoch wurde das letzte Byte abgeschnitten.
5.4.0/PECL 2.0.0b1 | idn_to_ascii | Added the parameters variant and idna_info; UTS #46 support.
 | idn_to_utf8 | Added the parameters variant and idna_info; UTS #46 support.
5.4.0 | DOMDocument::loadHTML | Added options parameter.
 | DOMDocument::loadHTMLFile | Added options parameter.
 | apache_child_terminate | Diese Funktion wurde unter FastCGI verfügbar. Vorher wurde sie nur unterstützt, wenn PHP als Apache Modul installiert war.
 | apache_request_headers | Diese Funktion wurde unter FastCGI verfügbar. Vorher wurde sie nur unterstützt, wenn PHP als Apache Modul installiert war, oder durch das NSAPI Server-Module in Netscape/iPlanet/SunONE Webservern..
 | apache_response_headers | Diese Funktion wurde unter FastCGI verfügbar. Vorher wurde sie nur unterstützt, wenn PHP als Apache Modul installiert war, oder durch das NSAPI Server-Module in Netscape/iPlanet/SunONE Webservern.
 | array_combine | Vorherige Versionen warfen ein E_WARNING Fehler und gaben FALSE zurück, wenn zwei leere Arrays übergeben wurden.
 | array_multisort | SORT_NATURAL und SORT_FLAG_CASE wurden zu array1_sort_flags als mögliche Sortier-Flags hinzugefügt.
 | date_default_timezone_get | The TZ environment variable is no longer used to guess the timezone.
 | date_default_timezone_get | The timezone is no longer guessed from information available through the operating system as the guessed timezone can not be relied on.
 | define_syslog_variables | Die Funktion wurde aus PHP entfernt.
 | dns_get_record | raw Parameter hinzugefügt.
 | empty | Die Prüfung nicht numerischer Offsets von Zeichenketten gibt TRUE zurück.
 | filter_input_array | Der Paramter add_empty wurde hinzugefügt.
 | get_html_translation_table | Die Konstanten ENT_HTML401, ENT_XML1, ENT_XHTML und ENT_HTML5 wurden hinzugefügt.
 | get_html_translation_table | Der Standardwert für encoding wurde zu UTF-8 geändert.
 | getallheaders | Diese Funktion wurde unter FastCGI verfügbar. Vorher wurde sie nur unterstützt, wenn PHP als Apache Modul installiert war, oder durch das NSAPI Server-Module in Netscape/iPlanet/SunONE Webservern.
 | gzcompress | encoding Parameter hinzugefügt.
 | gzdeflate | encoding Parameter hinzugefügt.
 | gzencode | FORCE_DEFLATE now generates RFC 1950 compliant output.
 | hash | Der tiger Algorithmus verwendet nun Big-Endian-Bytereihenfolge. Vergleiche das Beispiel weiter unten.
 | hash_algos | Unterstützung für joaat, fnv132 und fnv164 hinzugefügt. Unterstützung für Salsa10 und Salsa20 entfernt.
 | html_entity_decode | Die Standardkodierung wurde von ISO-8859-1 auf UTF-8 geändert.
 | html_entity_decode | Die Optionen ENT_HTML401, ENT_XML1, ENT_XHTML und ENT_HTML5 wurden hinzugefügt.
 | htmlentities | Der Standardwert für encoding wurde zu UTF-8 geändert.
 | htmlentities | Die Konstanten ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_XML1, ENT_XHTML und ENT_HTML5 wurden hinzugefügt.
 | htmlspecialchars | Der Standardwert für encoding wurde zu UTF-8 geändert.
 | htmlspecialchars | Die Konstanten ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_XML1, ENT_XHTML und ENT_HTML5 wurden hinzugefügt.
 | htmlspecialchars_decode | Die Konstanten ENT_HTML401, ENT_XML1, ENT_XHTML und ENT_HTML5 wurden hinzugefügt.
 | http_build_query | enc_type-Parameter hinzugefügt.
 | iconv | Seit dieser Version gibt die Funktion FALSE bei nicht erlaubten Zeichen zurück, außer wenn //IGNORE im Ausgabe-Zeichensatz angegeben wurde. Vorher wurde eine partielle Ausgabezeichenkette zurück gegeben.
 | imagegd | Added support for passing a stream resource to to.
 | imagegd2 | Added support for passing a stream resource to to.
 | imagegif | Unterstützung für die Übergabe einer Stream-Ressource (resource) an to wurde hinzugefügt.
 | imagejpeg | Unterstützung für die Übergabe einer Stream-Ressource (resource) an to wurde hinzugefügt.
 | imagejpeg | Es kann kein leerer String mehr für filename übergeben werden, um diesen Parameter zu überspringen.
 | imagepng | Unterstützung für die Übergabe einer Stream-Ressource (resource) an to wurde hinzugefügt.
 | imagewbmp | Added support for passing a stream resource to to.
 | imagewebp | Added support for passing a stream resource to to.
 | isset | Die Prüfung nicht numerischer Zeichenketten-Offsets gibt nun FALSE zurück.
 | json_decode | Der Parameter options wurde hinzugefügt.
 | json_encode | JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, und JSON_UNESCAPED_UNICODE für options wurden hinzugefügt.
 | mb_encode_numericentity | Added is_hex parameter.
 | mysqli_get_cache_stats | The mysqli_get_cache_stats was removed.
 | number_format | In dec_point und thousands_sep werden nun auch mehrere Bytes unterstützt. In vorherigen Versionen wurde jeweils nur das erste Byte genutzt.
 | ob_start | A chunk size of 1 now results in chunks of 1 byte being sent to the output buffer.
 | ob_start | The third parameter of ob_start changed from a boolean parameter called erase (which, if set to FALSE, would prevent the output buffer from being deleted until the script finished executing) to an integer parameter calledflags. Unfortunately, this results in an API compatibility break for code written prior to PHP 5.4.0 that uses the third parameter. See the flags example for an example of how to handle this with code that needs to be compatible with both.
 | openssl_decrypt | The raw_output was changed to options.
 | openssl_encrypt | Der raw_output wurde geändert zu options.
 | preg_match_all | Der Parameter matches ist nun optional.
 | scandir | sorting_order Konstanten wurden hinzugefügt. Jeder Wert ungleich 0 bewirkte absteigende Reihenfolge in vorherigen Versionen. Also verwenden Sie 0 für aufsteigende und 1 für absteigende Reihenfolge für alle PHP Versionen. Eine Möglichkeit für das SCANDIR_SORT_NONE Verhalten gab es vor PHP 5.4.0 nicht.
 | session_set_save_handler | SessionHandlerInterface und SessionHandler zum Implementieren von benutzerdefinierten Session-Speicherfunktionen hinzugefügt.
 | snmp_set_valueretrieval | Constants SNMP_VALUE_PLAIN or SNMP_VALUE_LIBRARY may be combined with SNMP_VALUE_OBJECT resulting different way of representing contents of value array element in return value of GET-function. If no SNMP_VALUE_{PLAIN,LIBRARY} constant is accompanying SNMP_VALUE_OBJECT, SNMP_VALUE_LIBRARY is used. Prior to 5.4.0 SNMP_VALUE_OBJECT effecively meant SNMP_VALUE_OBJECT|SNMP_VALUE_PLAIN.
 | sort | Unterstützung für SORT_NATURAL und SORT_FLAG_CASE als sort_flags hinzugefügt
 | Phar::setStub | Added len parameter.
 | PharData::setStub | Added len parameter.
 | SoapClient::SoapClient | Neue keep_alive Option.
5.4 | grapheme_substr | If length is given and positive and the argument string is shorter than the specified length, all the rest of the string according to start parameter is returned. Previously, FALSE was returned.
5.3.19 | imagecreatefromxpm | imagecreatefromxpm is available on Windows.
5.3.9 | DateTime::createFromFormat | The + format specifier has been added.
 | is_a | Added allow_string parameter
 | is_subclass_of | allow_string Parameter hinzugefügt
5.3.7 | crypt | Die $2x$ und $2y$ Blowfish-Modi wurden hinzugefügt.
 | curl_getinfo | CURLINFO_REDIRECT_URL eingeführt.
 | is_subclass_of | class_name kann nun auch der Name eines Interfaces sein
5.3.6 | DateTime::modify | Absolute Datum/Uhrzeit-Anweisungen sind jetzt wirksam. Zuvor wurden nur relative Teile verwendet.
 | DOMDocument::saveHTML | The node parameter was added.
 | array_product | Das Produkt eines leeren Array ist nun 1, wohingegen diese Funktion zuvor 0 für ein leeres Array zurückgegeben hat.
 | preg_match | Gibt FALSE zurück, wenn offset größer als die Länge von subject ist.
 | preg_match_all | Gibt FALSE zurück, wenn offset größer als die Länge von subject ist.
 | PDO_MYSQL DSN | Prior to version 5.3.6, charset was ignored.
5.3.4 | copy | Der context Parameter wurde geändert, so dass er nun auch wirkt. Zuvor wurde jeglicher context ignoriert.
 | get_html_translation_table | Der encoding parameter wurde hinzugefügt.
 | mt_rand | Erzeugt eine E_WARNING und gibt FALSE zurück, wenn max < min.
 | rawurlencode | Tildezeichen werden nicht mehr kodiert, wenn rawurlencode mit EBCDIC-Strings verwendet wird.
 | sleep | Vor PHP 5.3.4, hat sleep auf Windows immer NULL zurückgegeben, unabhängig davon ob der Aufruf unterbrochen wurde oder nicht.
 | strip_tags | strip_tags entfernt nicht länger selbst-schließende XHTML Tags, außer wenn der selbst-schließende XHTML Tag ebenfalls im allowable_tags angegeben wird.
 | IntlDateFormatter::format | Support for providing DateTime objects to the value parameter was added.
 | mysqli_driver::$report_mode | Changing the reporting mode is now be per-request, rather than per-process.
5.3.3 | DOMXPath::evaluate | The registerNodeNS parameter was added.
 | DOMXPath::query | The registerNodeNS parameter was added.
 | json_encode | JSON_NUMERIC_CHECK für options wurde hinzugefügt.
 | ldap_sasl_bind | Support on Windows was added.
 | openssl_decrypt | The iv parameter was added.
 | openssl_encrypt | Der iv wurde hinzugefügt.
 | parse_url | E_WARNING für fehlerhafte URLs entfernt.
5.3.2 (PECL OCI8 1.4) | oci_set_prefetch | Before this release, rows must be >= 1.
5.3.2 | crypt | Blowfishs fehlerhaftes Verhalten wurde behoben, durch welches ein ungültiger Kostenparameter dazu führte, dass auf DES zurückgefallen wurde, anstatt einen Fehlerstring ("*0" or "*1") zurückzugeben.
 | crypt | SHA-256 und SHA-512 wurden hinzugefügt auf Basis von Ulrich Drepper's Implementierung.
 | flock | Das automatische Entsperren, wenn das Ressource handle der Datei geschlossen wurde, wurde entfernt. Entsperren muss nun immer manuell ausgeführt werden.
 | gmp_init | The base was extended from 2 to 36, to 2 to 62 and -2 to -36.
 | gmp_strval | The base was extended from 2 to 36, to 2 to 62 and -2 to -36.
 | imap_append | INTERNALDATE Unterstützung zu imag_append hinzugefügt.
5.3.1 | get_defined_constants | Windows only: Core constants are categorized under Core, previously mhash.
 | ibase_query | Im Erfolgsfall gibt die Funktion nun TRUE zurück, wenn keine Zeilen betroffen waren, wohingegen zuvor 0 (eine Null gefolgt von einem Leerzeichen) zurückgegeben wurde.
 | rename | rename kann nun unter Windows Dateien dateisystemübergreifend umbenennen.
5.3.0 (PECL OCI8 1.3.4) | oci_set_prefetch | Before this release, prefetching was limited to the lesser of rows rows and 1024 * rows bytes. The byte size restriction has now been removed.
5.3.0 | DateTime::__construct | If time contains an invalid date/time format, then an exception is now thrown. Previously an error was emitted.
 | DateTime::modify | Der Rückgabewert bei Erfolg wurde von NULL auf DateTime geändert.
 | DateTime::setDate | Der Rückgabewert bei Erfolg wurde von NULL auf DateTime geändert.
 | DateTime::setISODate | Der Rückgabewert bei Erfolg wurde von NULL auf DateTime geändert.
 | DateTime::setTime | Der Rückgabewert bei Erfolg wurde von NULL auf DateTime geändert.
 | DateTime::setTimezone | Der Rückgabewert bei Erfolg wurde von NULL auf DateTime geändert.
 | DateTimeZone::getTransitions | The optional timestamp_begin and timestamp_end were added.
 | DateTimeZone::listIdentifiers | Added the optional what and country parameters.
 | DirectoryIterator::__construct | Throws UnexpectedValueException if the path cannot be opened.
 | acosh | Die Funktion ist nun auf allen Plattformen verfügbar.
 | array_multisort | SORT_LOCALE_STRING wurde zu array1_sort_flags als mögliches Sortier-Flag hinzugefügt.
 | array_reduce | Der von initial akzeptierte Datentyp wurde zu Mixed geändert, vorher war dies Integer.
 | array_search | Wie alle internen PHP-Funktionen seit 5.4.0 gibt array_search den Wert NULL zurück, wenn ungültige Parameter übergeben wurden.
 | asinh | Die Funktion ist nun auf allen Plattformen verfügbar.
 | atanh | Die Funktion ist nun auf allen Plattformen verfügbar.
 | call_user_func | Die Interpretation von objektorientierten Schlüsselwörtern wie parent oder self hat sich geändert. In früheren Versionen hat ein Aufruf davon mit einem Doppel-Doppelpunkt eine Warnung der Stufe E_STRICT hervorgerufen, weil diese als statisch interpretiert wurden.
 | call_user_func_array | The interpretation of object oriented keywords like parent and self has changed. Previously, calling them using the double colon syntax would emit an E_STRICT warning because they were interpreted as static.
 | checkdnsrr | Die Funktion ist nun auch auf Windowsplattformen verfügbar.
 | clearstatcache | Added optional clear_realpath_cache and filename parameters.
 | copy | Context Ünterstützung wurde hinzugefügt.
 | crypt | PHP enthält jetzt eine eigene Implementation der MD5-Crypt, Standard DES, Extended DES und des Blowfish-Algorithmus und verwendet diese, wenn das System eine oder mehrere der Algorithmen nicht unterstützt.
 | curl_getinfo | CURLINFO_CERTINFO eingeführt.
 | curl_setopt | CURLOPT_PROGRESSFUNCTION wurde eingeführt.
 | date_default_timezone_set | Erzeugt nun E_WARNING anstatt E_STRICT.
 | define_syslog_variables | Die Funktion wirft jetzt eine E_DEPRECATED-Notice.
 | dns_get_record | Diese Funktion ist jetzt auf Windows Plattformen verfügbar.
 | dns_get_record | Bis zu diesesm Release wurde bei gegebenem authns Parameter auch der addtl Parameter benötigt
 | exif_imagetype | Unterstützung für ICO hinzugefügt.
 | expm1 | Die Funktion ist nun auf allen Plattformen verfügbar.
 | fgetcsv | Der escape Parameter wurde ergänzt
 | fnmatch | This function is now available on Windows platforms.
 | func_get_arg | Diese Funktion kann nun auch in Parameterlisten genutzt werden.
 | func_get_arg | Wird diese Funktion aus dem äußersten Geltungsbereich einer Datei aufgerufen, die durch den Aufruf von include oder require innerhalb einer Funktion in der aufrufenden Datei inkludiert wurde, wird nun eine Warnung generiert und FALSE zurückgegeben.
 | func_get_args | Diese Funktion kann nun auch in Parameterlisten genutzt werden.
 | func_num_args | Diese Funktion kann nun auch in Parameterlisten genutzt werden.
 | gd_info | JPG Support-Attribute umbenannt zu JPEG Support.
 | get_cfg_var | get_cfg_var kann nun auch "array" Konfigurationsvariablen zurückgeben.
 | get_class | NULL wurde der Standardwert von object, so dass nun die Übergabe von NULL an object das gleiche Ergebnis hat, wie keinen Wert zu übergeben.
 | get_defined_constants | Core constants are categorized under Core, previously internal. On Windows, the Core Constants are categorized under mhash.
 | get_object_vars | Diese Funktion gibt nun NULL zurück, wenn object kein Objekt ist. Zuvor wurde FALSE zurück gegeben.
 | getimagesize | Unterstützung für Icons hinzugefügt.
 | getmxrr | Diese Funktion ist jetzt auf Windowsplattformen verfügbar.
 | getopt | This function is no longer system dependent, and now works on Windows, too.
 | getopt | Parameter longopts is available on all systems.
 | getopt | Added support for optional values (specified with "::").
 | getopt | Added support for "=" as argument/value separator.
 | hash_algos | Unterstützung für md2, ripemd256, ripemd320, salsa10, salsa20, snefru256 und sha224 hinzugefügt.
 | htmlentities | Die Konstante ENT_IGNORE wurde hinzugefügt.
 | htmlspecialchars | Die Konstante ENT_IGNORE wurde hinzugefügt.
 | imagecolorclosesthwb | This function is now available on Windows
 | imagefilter | Pixelation support (IMG_FILTER_PIXELATE) was added.
 | inet_ntop | Die Funktion steht jetzt auch auf Windowsplattformen zur Verfügung.
 | inet_pton | Die Funktion steht jetzt auch auf Windowsplattformen zur Verfügung.
 | ini_get | Previously, the empty string was returned if the configuration option didn't exist. now, FALSE is returned instead.
 | ini_get_all | Added details.
 | is_a | This function is no longer deprecated, and will therefore no longer throw E_STRICT warnings.
 | json_decode | Der optionale Parameter depth wurde hinzugefügt. Die Standardrekursionstiefe wurde von 128 auf 512 heraufgesetzt.
 | json_encode | Der Parameter options wurde hinzugefügt.
 | link | Diese Funktion ist nun verfügbar unter Windows-Plattformen (Vista, Server 2008 or neuer).
 | linkinfo | Diese Funktion ist nun verfügbar unter Windows-Plattformen (Vista, Server 2008 or neuer).
 | log1p | Die Funktion ist nun auf allen Plattformen verfügbar.
 | mb_get_info | The entry "http_output_conv_mimetypes" was made available.
 | mcrypt_create_iv | It is no longer required to call srand first. This is now done automatically.
 | mcrypt_create_iv | MCRYPT_DEV_RANDOM and MCRYPT_DEV_URANDOM became available on Windows platforms.
 | mktime | mktime wirft nun eine E_DEPRECATED-Notice, wenn der is_dst verwendet wird.
 | mysql_db_query | Diese Funktion löst nun eine E_DEPRECATED Warnung aus.
 | mysql_escape_string | Diese Funktion löst nun eine E_DEPRECATED Notiz aus.
 | mysqli_get_cache_stats | The mysqli_get_cache_stats was added as stub.
 | nl2br | Der optionale is_xhtml-Parameter wurde hinzugefügt. Vor dieser Version wurde immer '<br />' eingefügt.
 | parse_ini_file | Der optionale Parameter scanner_mode wurde hinzugefügt. Einfache Anführungszeichen können nun um Variablenzuordnungen herum verwendet werden. Rautezeichen (# können nicht länger für Kommentare verwendet werden und bei Verwendung wird eine Warnung zur veralteten Benutzung ausgegeben.
 | pg_lo_create | Der optionale Parameter object_id wurde zugefügt.
 | pg_lo_import | Der optionale Parameter object_id wurde zugefügt.
 | preg_quote | Das Zeichen - wird nun maskiert.
 | property_exists | Die Funktion prüft auf die Existenz der Eigenschaft unabhängig von den Zugriffsberechtigungen.
 | rawurlencode | Entspricht nun RFC 3986.
 | readlink | Diese Funktion ist nun auf Windows-Systemen (Vista, Server 2008 oder höher) verfügbar.
 | realpath | Vor dieser Version schlug realpath auf BSD Systemen nicht fehl, wenn nur die letzte path Komponente nicht existierte. Jetzt schlägt realpath auch in diesem Fall fehl.
 | register_tick_function | Ticks are now supported on threaded web server modules.
 | round | Der Parameter mode wurde hinzugefügt.
 | session_start | Falls der Start der Session fehlschlägt, wird FALSE zurückgegeben. Vorher wurde TRUE zurückgegeben.
 | setlocale | Die Funktion wirft nun eine E_DEPRECATED-Notice, wenn ein String statt einer der LC_*-Konstanten an den Parameter category übergeben wird.
 | shm_attach | Diese Funktion gibt nun eine Ressource anstatt eines Integer zurück.
 | socket_create_pair | Diese Funktion wurde für Windows-Plattformen wieder reaktiviert.
 | spl_autoload_register | The prepend parameter was added.
 | spl_autoload_register | Namespaces support was introduced.
 | stream_context_create | Added the optional params argument.
 | stream_socket_pair | This function is now available on Windows platforms.
 | stristr | Der optionale Parameter before_needle wurde hinzugefügt.
 | strlen | Frühere Versionen behandelten Arrays als die Zeichenkette Array; sie gaben daher 5 als Zeichenkettenlänge zurück und lösten E_NOTICE Level Fehler aus.
 | strstr | Der optionale Parameter before_needle wurde hinzugefügt.
 | strtotime | Vor PHP 5.3.0 wurden relative Zeitformate wie this week, previous week, last week und next week, die dem time Argument von strtotime übergeben wurden, als 7-Tages-Zeitraum anstatt eines Wochenzeitraums von Monday bis Sunday interpretiert.
 | strtotime | Vor PHP 5.3.0 war 24:00 keine korrekte Formatierung, daher gab strtotime FALSE zurück.
 | sybase_connect | The new parameter was added.
 | symlink | Diese Funktion ist nun verfügbar auf Windows-Plattformen (Vista, Server 2008 oder neuer).
 | time_nanosleep | Diese Funktion ist nun auch unter Windows verfügbar.
 | time_sleep_until | Diese Funktion ist nun auch unter Windows verfügbar.
 | touch | Es wurde ermöglicht, die Modifikationszeit eines Verzeichnisses unter Windows zu ändern.
 | mysqli::__construct | Added the ability of persistent connections.
 | mysqli::options | The MYSQLI_OPT_INT_AND_FLOAT_NATIVE, MYSQLI_OPT_NET_CMD_BUFFER_SIZE, MYSQLI_OPT_NET_READ_BUFFER_SIZE, and MYSQLI_OPT_SSL_VERIFY_SERVER_CERT options were added.
 | mysqli::query | Added the ability of async queries.
 | ReflectionFunction::__construct | name can now be a closure.
 | SplFileObject::setCsvControl | Added the escape parameter.
 | SplObjectStorage::attach | Added the data parameter.
 | XMLReader::expand | Der Parameter basenode wurde hinzugefügt.
5.2.15 | mysqli_driver::$report_mode | Changing the reporting mode is now be per-request, rather than per-process.
5.2.11 | get_defined_constants | The categorize parameter now operates appropriately. Previously, the categorize parameter was interpreted as !is_null($categorize), making any value other than NULL force the constants to be categorized.
5.2.10 | array_rand | Das Ergebnisarray wird nicht mehr gemischt.
 | array_unique | Der Standardwert von sort_flags wurde auf SORT_STRING zurückgesetzt.
 | curl_setopt | Es wurden CURLOPT_PROTOCOLS und CURLOPT_REDIR_PROTOCOLS eingeführt.
 | ip2long | Vor dieser Version gab ip2long manchmal eine gültige Zahl zurück, selbst wenn ein Wert übergeben wurde der keine (IPv4) Internet-Protokoll-Adresse in Dezimalpunktschreibweise war.
 | natsort | Mit 0 aufgefüllte numerische Zeichenketten (z.B. '00005') ignorieren nun die 0-Füllung im Wesentlichen.
5.2.9 | array_unique | Der optionale Parameter sort_flags wurde mit dem Standardwert SORT_REGULAR hinzugefügt. Vor 5.2.9 wurde die Sortierung intern mit SORT_STRING durchgeführt.
5.2.8 | XSLTProcessor::importStylesheet | Erlaubt wieder die Übergabe von SimpleXMLElement (Defekt ab PHP 5.2.6)
5.2.7 | parse_ini_file | Bei einem Syntaxfehler gibt die Funktion nun FALSE statt eines leeren Array zurück.
 | round | Die interne Funktionsweise von round wurde angepasst, um dem C99 Standard zu entsprechen.
 | strtotime | Wird in PHP 5 vor Version 5.2.7 ein gegebenes Vorkommen eines angegebenen Wochentages eines Monats abgefragt, der der erste Tag des Monats ist, wird eine Woche zum zurückgegebenen Zeitstempel addiert. Dieser Fehler ist in Version 5.2.7 und später korrigiert.
5.2.6 | fopen | Die 'c' und 'c+' Optionen wurde hinzugefügt
 | fopen | Die 'c' und 'c+' Optionen wurden hinzugefügt.
5.2.5 | addcslashes | Die Escape-Sequenzen \v and \f wurden hinzugefügt.
 | imagefilter | Alpha support for IMG_FILTER_COLORIZE was added.
5.2.4 | array_slice | Der Standardwert des length Parameters wurde zu NULL geändert. Eine NULL length weist nun die Funktion an, die Länge des array zu verwenden. Vor dieser Version wurde eine NULL length als 0 interpretiert (nichts wird zurückgegeben).
 | checkdnsrr | TXT type hinzugefügt.
 | curl_getinfo | CURLINFO_PRIVATE eingeführt.
 | get_loaded_extensions | Der optionale Parameter zend_extensions wurde hinzugefügt.
 | parse_ini_file | Schlüssel und Gruppennamen mit Ziffern werden nun als Integer von PHP ausgewertet, weshalb Zahlen, die mit einer 0 beginnen, als Oktalzahlen und Zahlen, die mit 0x beginnen, als Hexadezimalzahlen verstanden werden.
 | stream_wrapper_register | Added the flags parameter.
5.2.3 | getimagesize | Lesefehler erzeugen eine E_NOTICE statt einer E_WARNING.
 | htmlentities | Der Parameter double_encode wurde hinzugefügt.
 | htmlspecialchars | Der Parameter double_encode wurde hinzugefügt.
 | json_decode | Die Verschachtelungsgrenze wurde von 20 auf 128 angehoben.
 | XMLWriter->writeElement | Der Parameter content wurde optional.
 | XMLWriter->writeElementNS | Der Parameter content wurde optional.
 | PDOStatement::getColumnMeta | table field
5.2.2 - 5.2.6 | substr | Wenn der start Parameter die Position einer negativen Trunkierung oder außerhalb bezeichnet, wird false zurückgegeben. Andere Versionen bekommen die Zeichenkette von start.
5.2.2 | DOMDocument::registerNodeClass | Prior to 5.2.2, a previously registered extendedclass had to be unregistered before being able to register a new class extending the same baseclass.
 | ftp_ssl_connect | Diese Funktion gibt nun FALSE zurück, wenn sie keine SSL-Verbindung aufbauen kann. Vorher gab es einen Fallback auf eine Nicht-SSL-Verbindung.
 | phpinfo | Die Information über die "Loaded Configuration File" wurde hinzugefügt, während vorher nur die Information "Configuration File (php.ini) Path" existierte.
 | preg_match | Benannte Teilsuchmuster akzeptieren nun sowohl die Syntaxen (?<name>) und (?'name') als auch (?P<name>). Vorherige Versionen akzeptierten nur (?P<name>).
 | preg_match_all | Benannte Teilsuchmuster (named subpatterns) akzeptieren nun die Syntaxen (?<name>) und (?'name') sowie (?P<name>). Vorherige Versionen akzeptierten nur (?P<name>).
 | proc_terminate | Ältere Versionen wurden verwendet, um das übergebene Prozesshandle resource zu zerstören.
 | token_get_all | Die Zeilennummer wird im dritten Element zurückgegeben
5.2.1 | iterator_to_array | The use_keys parameter was added.
 | json_decode | Unterstützung für JSON-Dekodierung der Basistypen wurde hinzugefügt.
 | memory_get_peak_usage | Compiling with --enable-memory-limit is no longer required for this function to exist.
 | memory_get_usage | Compiling with --enable-memory-limit is no longer required for this function to exist.
 | proc_open | Die Option bypass_shell wurde dem Parameter other_options hinzugefügt.
 | realpath | Vor dieser Version gab realpath FALSE zurück, wenn path eine leere Zeichenkette oder NULL ist.
5.2.0 | base64_decode | strict-Parameter hinzugefügt
 | curl_multi_info_read | msgs_in_queue wurde hinzugefügt.
 | imap_open | n_retries hinzugefügt
 | imap_reopen | n_retries hinzgefügt
 | mb_strrpos | Added the optional parameter offset.
 | memory_get_peak_usage | real_usage was added.
 | memory_get_usage | real_usage was added.
 | openssl_verify | Der Parameter signature_alg wurde hinzugefügt.
 | pathinfo | Die PATHINFO_FILENAME-Konstante wurde hinzugefügt.
 | pg_escape_bytea | Der Parameter connection wurde hinzugefügt.
 | pg_escape_string | Der Parameter connection wurde hinzugefügt.
 | session_get_cookie_params | Das Element "httponly" wurde im zurückgegebenen Array hinzugefügt.
 | session_set_cookie_params | Den Parameter httponly hinzugefügt.
 | setcookie | Der httponly-Parameter wurde hinzugefügt.
 | setrawcookie | Der Parameter httponly wurde hinzugefügt.
 | snmp_set_oid_numeric_print | Since PHP 5.2.0.
 | PDOStatement::execute | The keys from input_parameters must match the ones declared in the SQL. Before PHP 5.2.0 this was silently ignored.
 | SimpleXMLElement::children | Der optionale Parameter is_prefix wurde hinzugefügt.
 | SoapServer::SoapServer | Added the typemap option.
 | XMLReader::open | encoding und options wurden ergänzt.
 | XMLReader::XML | encoding und options wurden ergänzt.
5.1.3 | DirectoryIterator::__construct | Throws RuntimeException if the path is an empty string.
 | curl_getinfo | Konstante CURLINFO_HEADER_OUT eingeführt.
 | get_headers | Die Funktion verwendet nun den Standard-Streamkontext, der mittels stream_context_set_default gesetzt respektive verändert werden kann.
 | http_build_query | Eckige Klammern werden maskiert.
 | imagecolorallocatealpha | Returns FALSE if the allocation failed. Previously -1 was returned.
 | imagepng | Der filters-Parameter wurde hinzugefügt.
 | mb_get_info | The entries "mail_charset", "mail_header_encoding", and "mail_body_encoding" were made available.
 | SoapClient::__doRequest | Der Parameter one_way wurde hinzugefügt.
 | XMLReader::getAttribute | Es wird NULL zurückgegeben, wenn das Attribut nicht gefunden wurde. Vorher wurde ein leerer String zurückgegeben.
5.1.2 | date_default_timezone_set | Die Funktion begann den timezone_identifier Paramter zu prüfen.
 | header | Die Funktion unterbindet das gleichzeitige Versenden mehrerer Header zum Schutz gegen Header-Injection-Angriffe.
 | http_build_query | arg_separator-Parameter hinzugefügt.
 | imagepng | Der quality-Parameter wurde hinzugefügt.
 | parse_url | component-Parameter hinzugefügt
5.1.1 | date | Es gibt nützliche Konstanten von üblichen Datums-/Zeitformaten, die als Format-Parameter übergeben werden können.
 | gmdate | Es gibt nützliche Konstanten für Standard-Datums-/-Zeitformate, die verwendet werden können, um den format-Parameter zu spezifizieren.
5.1.0 | DirectoryIterator::__construct | Throws RuntimeException on error. Previously, threw Exception.
 | DOMDocument::save | Added the options parameter
 | DOMDocument::saveXML | Added the options parameter
 | class_implements | Added the option to pass the class parameter as a string. Added the autoload parameter.
 | class_parents | Added the option to pass the class parameter as a string. Added the autoload parameter.
 | ctype_digit | Vor PHP 5.1.0 gab die Funktion auch TRUE zurück wenn der Eingabestring komplett leer war.
 | curl_setopt | Es wurden CURLOPT_AUTOREFERER, CURLOPT_BINARYTRANSFER, CURLOPT_FTPSSLAUTH, CURLOPT_PROXYAUTH und CURLOPT_TIMECONDITION eingeführt.
 | date | Der gültige Bereich eines Timestamp liegt typischerweise zwischen Fri, 13 Dec 1901 20:45:54 GMT und Tue, 19 Jan 2038 03:14:07 GMT. (Das entspricht den minimalen und maximalen Werten für einen vorzeichenbehafteten 32-Bit Integer). Vor PHP 5.1.0 war dieser Bereich auf manchen Systemen (z.B. Windows) eingeschränkt auf 01.01.1971 bis 19.01.2038.
 | date | Erzeugt nun E_STRICT- und E_NOTICE-Zeitzonenfehler.
 | date_sunrise | Erzeugt nun E_STRICT- und E_NOTICE-Zeitzonenfehler.
 | date_sunset | Erzeugt nun E_STRICT- und E_NOTICE-Zeitzonenfehler.
 | explode | Die Unterstützung für negative limit-Werte wurde hinzugefügt.
 | fgetcsv | Der Parameter length ist nun optional. Standard ist 0, d.h. keine Längenbeschränkung.
 | file_get_contents | Die offset- und maxlen-Parameter wurden hinzugefügt.
 | file_put_contents | Unterstützung für LOCK_EX hinzugefügt und die Möglichkeit,eine Stream-Quelle als data-Parameter zu übergeben
 | get_parent_class | Falls die Funktion außerhalb eines Objekts ohne Parameter aufgerufen wurde, gab sie NULL und eine Warnung zurück. Jetzt gibt sie FALSE zurück.
 | gettimeofday | Der Parameter return_float wurde hinzugefügt.
 | glob | GLOB_ERR wurde hinzugefügt
 | gmdate | Der valide Bereich eines Timestamps ist typischerweise von Freitag, den 13. Dezember 1901 20:45:54 GMT bis Dienstag, den 19. Januar 2038 03:14:07 GMT. (Dies sind die Daten, die zum kleinsten und größten mögichen Wert für einen vorzeichenbehafteten 32-Bit Integer korrespondieren.) Vor PHP 5.1.0 war dieser Bereich auf einigen Systemen (z.B. Windows) limitiert auf den Zeitraum 01-01-1970 bis 19-01-2038.
 | gmmktime | Mit der Einführung von PHP 5.1.0 wird der Parameter is_dst als veraltet betrachtet. In der Folge sollten stattdessen die neuen Zeitzonenhandling-Features verwendet werden.
 | idate | Erzeugt nun E_STRICT- und E_NOTICE-Zeitzonenfehler.
 | imagerotate | ignore_transparent was added.
 | intval | Erzeugt eine Meldung vom Type E_NOTICE und gibt den Wert 1 zurück, wenn ein Objekt als Parameter var übergeben wird.
 | localtime | Erzeugt nun E_STRICT- und E_NOTICE-Zeitzonenfehler.
 | md5_file | Funktionsänderung, um die Streams API nutzen zu können. Das bedeutet, Sie können die Funktion mit Wrappern wie md5_file('http://example.com/..') verwenden.
 | mktime | Der Parameter is_dst wurde als veraltet markiert. Die Funktion gibt nun im Fehlerfall statt -1 FALSE zurück. Die Funktion wurde dahingehend gefixt, dass sie für Jahr, Monat und Tag auch den Wert 0 entgegennimmt.
 | mktime | Wenn ohne Argumente aufgerufen, wirft mktime eine E_STRICT-Notice. Verwenden Sie stattdessen die Funktion time.
 | mktime | Erzeugt nun E_STRICT- und E_NOTICE-Zeitzonenfehler.
 | mssql_connect | Den Parameter new_link hinzugefügt
 | openssl_pkcs7_verify | Der Parameter content wurde hinzugefügt.
 | preg_replace | Den Parameter count hinzugefügt
 | preg_replace_callback | Den Parameter count hinzugefügt
 | session_regenerate_id | Den Parameter delete_old_session hinzugefügt
 | sha1_file | Die Funktion verwendet jetzt die Streams API. Das bedeutet, dass Sie die Funktion mit Wrappern wie sha1_file('http://example.com/..') nutzen können.
 | str_word_count | charlist Parameter hinzugefügt
 | stream_copy_to_stream | Added the offset parameter
 | stream_filter_append | Prior to PHP 5.1.0, this function returns TRUE on success Im Fehlerfall wird FALSE zurückgegeben..
 | stream_filter_prepend | Prior to PHP 5.1.0, this function returns TRUE on success Im Fehlerfall wird FALSE zurückgegeben..
 | stream_get_contents | The offset was added.
 | strtotime | Im Fehlerfall wird FALSE statt -1 zurückgegeben.
 | strtotime | Erzeugt nun E_STRICT- und E_NOTICE-Zeitzonenfehler.
 | substr_compare | Die Möglichkeit, einen negativen Wert für offset festzulegen, wurde eingeführt.
 | substr_count | Hinzufügen der Parameter offset und length
 | var_export | Möglichkeit Klassen und Arrays die Klassen enthalten mit Hilfe der 'magischen' __set_state Methode zu exportieren.
 | XSLTProcessor::registerPHPFunctions | Der Parameter restrict wurde eingeführt.
5.0.5 | php_check_syntax | Diese Funktion wurde aus PHP entfernt.
5.0.4 | msql_fetch_array | Ein Fehler beim Auslesen von Spalten, die NULL enthielten, wurde behoben. Solche Spalten waren nicht im Ergebnisarray enthalten.
 | msql_fetch_object | Ein Fehler beim Auslesen von Spalten, die NULL enthielten, wurde behoben. Solche Spalten waren nicht im Ergebnisarray enthalten.
 | msql_fetch_row | Ein Fehler beim Auslesen von Spalten, die NULL enthielten, wurde behoben. Solche Spalten waren nicht im Ergebnisarray enthalten.
5.0.3 | get_class_vars | get_class_vars gibt nur diejenigen Eigenschaften zurück, auf die aus dem aktuellen Geltungsbereich zugegriffen werden kann.
 | is_subclass_of | Als object kann nun auch ein Klassenname anstelle einer Objektinstanz übergeben werden.
 | php_check_syntax | Aufrufen der exit Funktion nachdem php_check_syntax in einem Speicherzugriffsfehler endete.
5.0.2 | array_slice | Der optionale preserve_keys-Parameter wurde hinzugefügt.
 | class_exists | Die Funktion liefert nun nicht mehr TRUE für Interfaces. Nutzen Sie hierfür interface_exists.
 | get_class_vars | Der Aufruf von get_class_vars zeigt nun alle Eigenschaften als ein Array, im Gegensatz zu früherem Verhalten, wo geschützten und privaten Eigenschaften Null-Bytes vorangestellt waren.
 | sort | SORT_LOCALE_STRING hinzugefügt
 | strtotime | In PHP 5 bis 5.0.2 werden "now" und andere relative Zeitangaben fälschlicherweise ab dem Zeitpunkt des Datumswechsels berechnet. Dieses Verhalten unterscheidet sich von anderen Versionen, die diese Angaben in die korrekte aktuelle Zeit übersetzen.
5.0.1 | get_class_vars | Der Aufruf von get_class_vars liefert nun alle Eigenschaften, so wie wenn ein Objekt zu einem Array konvertiert wird.
 | php_check_syntax | error_message wird von "by reference" übergeben.
5.0.0 | apache_get_modules | Wurde verfügbar mit der Verwendung von Apache 1 oder mit der Apache 2 Filter-API von PHP. Davor war die Funktion nur verfügbar, wenn die Apache 2 Handler-API verwendet wurde.
 | curl_setopt | Es wurden CURLOPT_FTP_USE_EPRT, CURLOPT_NOSIGNAL, CURLOPT_UNRESTRICTED_AUTH, CURLOPT_BUFFERSIZE, CURLOPT_HTTPAUTH, CURLOPT_PROXYPORT, CURLOPT_PROXYTYPE, CURLOPT_SSLCERTTYPE und CURLOPT_HTTP200ALIASES eingeführt.
 | dirname | dirname ist nun "binary safe".
 | is_a | This function became deprecated in favour of the instanceof operator. Calling this function will result in an E_STRICT warning.
 | opendir | path unterstützt den ftp:// URL-Wrapper.
 | openssl_pkcs7_encrypt | Der Parameter cipherid wurde hinzugefügt.
 | openssl_sign | Der Parameter signature_alg wurde hinzugefügt.
 | parse_ini_file | In doppelten Anführungszeichen eingeschlossene Werte können nun Zeilenumbrüche enthalten.
 | rename | rename kann nun mit manchen URL-Wrappern benutzt werden. Siehe für eine Liste von Wrappern die rename unterstützen.
 | rmdir | Ab PHP 5.0.0 kann rmdir auch mit einigen URL Wrappern genutzt werden. Eine Liste von untersützten Wrappern kann unter eingesehen werden.
 | strip_tags | Die Funktion strip_tags ist jetzt Binary safe.
 | strrpos | needle kann nun aus mehr als einem Buchstaben bestehen.
 | strtotime | Die Angabe von Mikrosekunden ist erlaubt, wird aber ignoriert.
 | unlink | Seit PHP 5.0.0 kann unlink auch mit einigen URL-Wrappern genutzt werden. In der finden Sie eine Liste aller Wrapper, die unlink unterstützen.
Verzeichnis der Beispiele
Windows HTML-Hilfe
Appendices


Windows HTML-Hilfe

  • Über diese Ausgabe
  • Using PHP Manual CHM Edition
    • The HTML Help Toolbar
    • The Navigation Pane
    • Keyboard Shortcuts
  • The Full Text Search
    • General searching rules
    • Searching for words or phrases
    • Defining search terms
    • Using nested expressions when searching
  • Integrating the PHP Manual
Changelog
Über diese Ausgabe
PHP-Handbuch


Über diese Ausgabe

Die Version des Handbuchs im Windows-HTML-Hilfe-Format wendet sich an Entwickler, die das Handbuch inklusive der Kommentare immer griffbreit haben wollen und trotzdem nicht auf das Laden einer Webseite warten wollen. Diese Ausgabe bietet den kompletten Inhalt des Handbuchs, ergänzt um die Nutzer-Kommentare sowie einige nützliche Features, die das Anzeigeprogramm zur Verfügung stellt. Nur Erstellung nutzen wir Skripte, außerdem binden wir verschiedene "Skins" ein.

Diese Distribution des PHP Handbuchs enthält viele Dateien, unter anderem die Hauptdatei php_manual_de.chm. Um diese anzusehen, doppelklicken Sie darauf (vermutlich haben Sie das schon). Eventuell sehen Sie auch eine Datei php_manual_de.chw in diesem Verzeichnis. Diese Datei wird angelegt, wenn Sie das erste Mal den Index-Reiter öffnen; sie enthält einen Index der Handbuchseiten.

Für alle, die an den technischen Details der Microsoft-HTML-Hilfe interessiert sind, ist » http://www.helpware.net/ eine gute Quelle. Weitere Informationen und den Stand der Windows-HTML-Hilfe in den Microsoft-Hilfe-Formaten in der Vergangenheit finden Sie in einem » WinWriters-Artikel.

Windows HTML-Hilfe
Using PHP Manual CHM Edition
Windows HTML-Hilfe


Using PHP Manual CHM Edition

Inhaltsverzeichnis

  • The HTML Help Toolbar
  • The Navigation Pane
  • Keyboard Shortcuts

When you double click on a CHM, a HTML Help Viewer window opens with three panes. On the left side of the window is the Navigation pane. It contains four navigational tabs: the Contents, Index, Search and Favorites tabs. On the right side of the window is the Topic pane. It displays the selected help topic, or the default help topic on startup. The help pages are all separate HTML files, your Internet Explorer displays the pages in the Topic pane. The third pane is the toolbar, which is located below the help window title bar. You can adjust the horizontal layout with dragging the vertical border between the Navigation pane and the Topic pane.

Note, that when you open the CHM the first time, it may appear in a strange position and size. From then, Windows remembers the window position, size and the last opened tab. All these including your favorites are stored in a file named hh.dat. If you move your file to another directory, all these remembered settings will be lost (including your favorites listing!). If you replace your CHM file with a new one, with the same name, this is not a problem though. The file names and path values are stored in hh.dat.

Über diese Ausgabe
The HTML Help Toolbar
Windows HTML-Hilfe


The HTML Help Toolbar

The HTML Help Toolbar contains the following icons, when you view the PHP Manual:

  • Hide/Show - Hides/shows the navigation pane.
  • Locate - Locates a topic in the contents tab (in case you reached a topic with search, index or favorites, and would like to see where it is in the table of contents tree view).
  • Back - Goes back in the history.
  • Forward - Goes forward in the history.
  • Refresh - Reloads the current page.
  • Home - Opens the startup page of the CHM.
  • Print - Opens the print dialog box.
  • Options - Provides a dropdown with more options.
Using this toolbar is really easy, many of the toolbar icons are strongly related to their Internet Explorer equivalents.

Using PHP Manual CHM Edition
The Navigation Pane
Using PHP Manual CHM Edition


The Navigation Pane

The Navigation Pane contains four navigational tabs: the Contents, Index, Search and Favorites tabs. These all provide different methods to access a topic in the help file.

  • The contents tab reveals a tree like table of contents, where you can navigate to the desired topic by opening and closing parts of the tree. You can even access the deepest sections using this TOC. If you right click on an item here and choose "Print...", you'll have the option to print the selected topic or the selected topic and all subtopics. However printing is not the initial goal of this representation of the manual (the PDF version is suitable for printing).
  • The index tab lists a huge number of "keywords" (actually manual page titles). You can pick one, or start to type a keyword, see the list adjusting to your input, and then click on a topic, or press enter if the selected topic is the one you would like to see.
  • The search tab shows one of the most powerful features of the HTML Help Viewer, the full text search (also known as FTS). Here you can type in your search expression, optionally connecting words with AND/OR/NEAR/NOT. Before you click 'List topics', you can also set some options at the bottom. After the search results are displayed, you'll realize that manual text and user note results are separated. To sort out the two types, click on the 'Location' column header. Now from the search results list, you can pick a topic, and see it's page. The keywords you searched for are highlighted on the page.
  • The favorites tab enables you to store your most used topics in a list, easily accessible. Here you can see the list, add the current topic to it, remove one, or display a selected item. You can also specify your own title for the favorite, by typing it into the 'Current topic:' box. The user note page titles are prepended with a 'N:' string so you can distinguish them from normal manual pages in the favorites listing.

The HTML Help Toolbar
Keyboard Shortcuts
Using PHP Manual CHM Edition


Keyboard Shortcuts

There are many keyboard shortcuts you can use to increase your productivity. Many users find it more appropriate to use these keyboard shortcuts to access topics, instead of clicking.

General Help Viewer Shortcuts
To | Press
Close the Help Viewer | ALT+F4
Display the Options menu | ALT+O
Hide or show the Navigation pane | ALT+O, and then T
Print a topic | ALT+O, and then P
Move back to the previous topic | ALT+LEFT ARROW
Move forward to the next topic (provided you have viewed it just previously) | ALT+RIGHT ARROW
Turn on or off search highlighting. | ALT+O, and then O
Return to the help file home page | ALT+O, and then H
Switch between the Navigation pane and the Topic pane | F6
Scroll through all the links in a topic or through all the options on a Navigation pane tab | TAB
Display context (right click) menu | SHIFT+F10
Contents Tab Shortcuts
To | Press
Display the Contents tab | ALT+C
Open and close a book or folder | PLUS SIGN and MINUS SIGN, or LEFT ARROW and RIGHT ARROW
Select a topic | DOWN ARROW and UP ARROW
Display the selected topic | ENTER
Index Tab Shortcuts
To | Press
Display the Index tab | ALT+N
Type a keyword to search for | ALT+W, and then type the word
Select a keyword in the list | UP ARROW and DOWN ARROW
Display the associated topic | ENTER or ALT+D
Search Tab shortcuts
To | Press
Display the Search tab | ALT+S
Type a keyword to search for | ALT+W, and then type the word
Start a search | ALT+L
Select a topic in the results list | ALT+T, and then UP ARROW and DOWN ARROW
Display the selected topic | ENTER or ALT+D
Search for a keyword in the result list of a prior search | ALT+U
Search for words similar to the keyword. For example, to find words like "running" and "runs" for the keyword "run" | ALT+M
Only search through topic titles | ALT+R
Favorites Tab Shortcuts
To | Press
Display the Favorites tab | ALT+I
Add the currently displayed topic to the Favorites list | ALT+A
Select a topic in the Favorites list | ALT+P, and then UP ARROW and DOWN ARROW
Display the selected topic | ENTER or ALT+D
Remove the selected topic from the list | ALT+R
Topic Pane Shortcuts
To | Press
Index Lookup | Select the words you would like to look up and press F1
Find on page | CTRL+F, and then adjust options
Refresh page | F5

The Navigation Pane
The Full Text Search
Using PHP Manual CHM Edition


The Full Text Search

Inhaltsverzeichnis

  • General searching rules
  • Searching for words or phrases
  • Defining search terms
  • Using nested expressions when searching

This edition of the PHP Manual includes an advanced full text search possibility provided by the viewer application. This enables users to search through every word in the help file to find a match. For example, if a user does a full-text search on the word "Apache", every topic that contains the word "Apache" will be listed. Advanced full-text search allows a user to search using boolean, wildcard, and nested expressions. A user can also limit the search to previous results, match similar words, or search topic titles only.

The usage of the search feature is fairly straightforward. Click on the search tab, type in the desired words and press ENTER (or click on "List Topics"). Then you'll receive a list of matches from the PHP Manual (and the notes). You can use the button with a right arrow on it to add boolean operators to your search (or you can type them in). As you see the results, you can use the column headings (Title, Location and Rank) to sort the topic list. The default order is by Rank. You can also adjust some parameters at the bottom of this tab.

The words found are highlighted on the current page in the Topic pane by default. You can turn off this feature by choosing the "Search Highlight Off" menu item in the Options menu. To can get this feature back similarly. If you are viewing a long topic, only the first 500 instances of a search word or phrase will be highlighted, due to a limitation of the viewer.

Keyboard Shortcuts
General searching rules
Windows HTML-Hilfe


General searching rules

A basic search consists of the word or phrase you want to find. You can use wildcard expressions, nested expressions, boolean operators, similar word matches, a previous results list, or topic titles to further define your search.

The basic rules for formulating queries are as follows:

  • Searches are not case-sensitive, so you can type your search in uppercase or lowercase characters.
  • You may search for any combination of letters (a-z) and numbers (0-9). You cannot search for single letters (a, b, c, etc.) and common words, like: an, and, as, at, be, but, by, do, for, from, have, he, in, it, not, of, on, or, she, that, the, there, they, this, to, we, which, with, you.
  • Punctuation marks such as the period (.), colon (:), semicolon (;), comma (,), and hyphen (-) are ignored during a search.
  • Group the elements of your search using double quotes or parentheses to set apart each element. You cannot search for quotation marks.

Hinweis:

If you are searching for a file name with an extension, you should group the entire string in double quotes, ("filename.ext"). Otherwise, the period will break the file name into two separate terms. The default operation between terms is AND, so you will create the logical equivalent to "filename AND ext."

The Full Text Search
Searching for words or phrases
The Full Text Search


Searching for words or phrases

You can search for words or phrases and use wildcard expressions. Wildcard expressions allow you to search for one or more characters using a question mark or asterisk. The table below describes the results of these different kinds of searches.

Word and phrase searches
Search for | Example | Results
A single word | select | Topics that contain the word "select". (You will also find its grammatical variations, such as "selector" and "selection".)
A phrase | "new operator" or new operator | Topics that contain the literal phrase "new operator" and all its grammatical variations. Without the quotation marks, the query is equivalent to specifying "new AND operator," which will find topics containing both of the individual words, instead of the phrase.
Wildcard expressions | esc* or HT?? | Results for the first example include topics that contain the terms "ESC", "escape", "escalation", and so on. The asterisk cannot be the only character in the term. Results for the second example include topics that contain the terms "HTTP", "HTML" and so on. The question mark cannot be the only character in the term.

Hinweis:

Select the Match similar words check box to include minor grammatical variations for the phrase you search. This feature only locates variations of the word with common suffixes. For example, a search on the word "add" will find "added," but it will not find "additive". This option is independent of other options or syntax. If you do a titles-only search, variations in titles will be matched. If you use quotes (or any other query operator) any variation of the word can appear; for example, "stemmed search" will also match "stemming search".

General searching rules
Defining search terms
The Full Text Search


Defining search terms

The AND, OR, NOT, and NEAR operators enable you to precisely define your search by creating a relationship between search terms. The following table shows how you can use each of these operators. If no operator is specified, AND is used. For example, the query "server cgi security" is equivalent to "server AND cgi AND security".

Search operators
Search for | Example | Results
Both terms in the same topic | http AND apache | Topics containing both the words "http" and "apache".
Either term in a topic | ming OR swflib | Topics containing either the word "ming" or the word "swflib" or both.
The first term without the second term | xml NOT expat | Topics containing the word "xml" but not the word "expat".
Both terms in the same topic, close together | database NEAR security | Topics containing the word "database" within eight words of the word "security".

Hinweis:

The |, &, and ! characters can also be used in place of OR AND and NOT respectively. This may not work if you use a very old version of the viewer.

Searching for words or phrases
Using nested expressions when searching
The Full Text Search


Using nested expressions when searching

Nested expressions allow you to create complex searches for information. For example, "html AND ((smtp OR pop3) NEAR mail)" finds topics containing the word "html" along with the words "smtp" and "mail" close together, or containing "html" along with the words "pop3" and "mail" close together.

The basic rules for searching help topics using nested expressions are as follows:

  • You can use parentheses to nest expressions within a query. The expressions in parentheses are evaluated before the rest of the query.
  • If a query does not contain a nested expression, it is evaluated from left to right. For example: "mail NOT pop3 OR smtp" finds topics containing the word "mail" without the word "pop3" or topics containing the word "smtp". On the other hand, "mail NOT (pop3 OR smtp)" finds topics containing the word "mail" without either of the words "pop3" or "smtp".
  • You cannot nest expressions more than five levels deep.

Defining search terms
Integrating the PHP Manual
The Full Text Search


Integrating the PHP Manual

Hinweis:

The information provided here is mainly aimed at IDE authors, or advanced users who would like to integrate this CHM file to their favorite IDEs or other production environment components.

There are several editors out there with support for CHM integration, but you may need to know a few things about what the CHM contains to successfully integrate the manual into your environment.

The CHM is built using XSL style sheets from XML sources. This is unique currently in the PHP Manual family, as all other versions are generated using DSSSL style sheets. This also means, that non-intentional rendering differences may come up. A special conversion script is run on the XSLT output, adding several cute features, and packing up the manual with the preferences files and skin examples.

If you never worked with CHMs, you can think of them as compressed files with OS supported access for files inside and some added search and index support. However CHMs can only be viewed using the HTML Help Viewer, you can directly access files inside them using a special URL prefix, the CHM file name and the file you request from inside. As all the help content is stored in HTML files, you can show pages of the CHM in Internet Explorer.

Assume that you placed your php_manual_en.chm to c:\phpmanual the index file in the manual (which you see the first time) can be accessed with the following URL: mk:@MSITStore:C:\phpmanual\php_manual_en.chm::/_index.html. Here mk:@MSITStore: is the special "protocol", C:\phpmanual\php_manual_en.chm is the CHM with it's full path. The /_index.html part is the path to the index file inside the CHM and :: is just what you need to put between the CHM path and this file path.

Hinweis:

All files are in the root directory of the CHM, unlike the previous CHM versions which included a language directory. Images, style sheets and other supplemental files have names starting with an underscore (like the main index shown above), to avoid name collisions.

The names of generated files follow the same rules as the online manual, except that the extension is .html and not .php. The most important is that function documentation files are named function.FUNCNAME.html where FUNCNAME is the function name, with all underscores converted to hyphens. Some examples are function.echo.html, function.mysql-close.html, function.imagecopy.html.

Using all this information, you can show a manual page for a function requested by a user. A simple example is included in the distribution, named php_quickref.hta. This is a » HTML Application to demonstrate the simple process of showing a manual page for a function. The quickRef() function defined therein does the job.

If you would like to integrate the manual into an IDE without direct support for the PHP manual (actually the underscore to hyphen conversion), you can use the included _function.html file to access a function page. This file is simply a redirector, and can be parameterized via the URL, as _function.html#mysql_close. This page will redirect you to the mysql_close function page (function.mysql-close.html) automatically. You can provide the full path of this file if your IDE supports context sensitive help, and provide the IDE specified string as the parameter. An example for this is the UltraEdit 9 intergation (see the edition's website).

The index of the manual (accessible via the index tab on the navigation pane) can also be used for integrational purposes. All the HTML pages are included in the index with their titles as index terms (including function description pages).

If you are a desktop application developer and would like to tightly integrate the CHM into your program (such as displaying the TOC tree in your IDE's help box), you can find more information at » http://www.helpware.net/, as well as links to other useful resources. The official site for HTML Help is at » http://www.microsoft.com/download/en/details.aspx?id=21138.

Using nested expressions when searching
Windows HTML-Hilfe